From 58912f68c2489bcee787599837447e0d64dfd61a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 24 May 2017 21:03:56 +0200 Subject: New upstream version 1.0.27 --- ABOUT-NLS | 1282 ++ AUTHORS | 141 +- ChangeLog | 4618 +++- ChangeLog-1.0.0 | 4309 ---- ChangeLog-1.0.1 | 449 - ChangeLog-1.0.10 | 890 - ChangeLog-1.0.12 | 960 - ChangeLog-1.0.13 | 1349 -- ChangeLog-1.0.14 | 899 - ChangeLog-1.0.15 | 1027 - ChangeLog-1.0.16 | 944 - ChangeLog-1.0.17 | 1011 - ChangeLog-1.0.18 | 973 - ChangeLog-1.0.19 | 1161 - ChangeLog-1.0.2 | 563 - ChangeLog-1.0.20 | 2087 -- ChangeLog-1.0.21 | 887 - ChangeLog-1.0.22 | 536 - ChangeLog-1.0.23 | 694 - ChangeLog-1.0.3 | 791 - ChangeLog-1.0.4 | 729 - ChangeLog-1.0.5 | 1194 -- ChangeLog-1.0.6 | 667 - ChangeLog-1.0.7 | 856 - ChangeLog-1.0.8 | 1060 - ChangeLog-1.0.9 | 1148 - INSTALL | 4 +- Makefile.am | 22 +- Makefile.in | 71 +- NEWS | 37 + README | 14 +- README.linux | 126 - README.unixware7 | 2 +- acinclude.m4 | 156 +- aclocal.m4 | 101 + ar-lib | 270 + backend/Makefile.am | 78 +- backend/Makefile.in | 172 +- backend/agfafocus.c | 4 +- backend/apple.c | 4 +- backend/artec.c | 9 +- backend/artec_eplus48u.c | 18 +- backend/as6e.c | 4 +- backend/avision.c | 44 +- backend/avision.h | 1 + backend/bh.h | 2 +- backend/canon-sane.c | 19 +- backend/canon-scsi.c | 4 +- backend/canon.h | 6 - backend/canon630u-common.c | 10 +- backend/canon630u.c | 3 +- backend/canon_dr.c | 1655 +- backend/canon_dr.conf.in | 5 + backend/canon_dr.h | 58 +- backend/cardscan.c | 24 +- backend/cardscan.conf.in | 3 + backend/coolscan.c | 24 +- backend/coolscan2.c | 3 +- backend/coolscan3.c | 18 +- backend/dc210.c | 3 - backend/dc240.c | 21 +- backend/dc240.h | 6 - backend/dc25.c | 18 +- backend/dc25.h | 6 - backend/dell1600n_net.c | 17 +- backend/dll.c | 30 +- backend/dll.conf.in | 10 +- backend/dmc.c | 3 +- backend/epjitsu-cmd.h | 70 +- backend/epjitsu.c | 324 +- backend/epjitsu.conf.in | 15 +- backend/epjitsu.h | 16 +- backend/epson.c | 9 +- backend/epson2-io.c | 48 +- backend/epson2-ops.c | 17 - backend/epson2.h | 7 - backend/epson2_net.c | 4 +- backend/epson2_scsi.c | 2 +- backend/epsonds-cmd.c | 53 +- backend/epsonds-io.c | 35 +- backend/epsonds-io.h | 2 +- backend/epsonds-jpeg.c | 6 +- backend/epsonds-jpeg.h | 2 - backend/epsonds-net.c | 278 + backend/epsonds-net.h | 16 + backend/epsonds-ops.c | 23 +- backend/epsonds-ops.h | 4 +- backend/epsonds.c | 178 +- backend/epsonds.conf.in | 4 + backend/epsonds.h | 13 +- backend/fujitsu-scsi.h | 55 +- backend/fujitsu.c | 629 +- backend/fujitsu.conf.in | 110 +- backend/fujitsu.h | 10 +- backend/genesys.c | 104 +- backend/genesys.conf.in | 2 +- backend/genesys_conv.c | 30 +- backend/genesys_devices.c | 2428 +-- backend/genesys_gl124.c | 460 +- backend/genesys_gl124.h | 284 +- backend/genesys_gl646.c | 29 +- backend/genesys_gl646.h | 10 +- backend/genesys_gl841.c | 125 +- backend/genesys_gl841.h | 2 +- backend/genesys_gl843.c | 127 +- backend/genesys_gl843.h | 6 +- backend/genesys_gl846.c | 115 +- backend/genesys_gl846.h | 2 +- backend/genesys_gl847.c | 151 +- backend/genesys_gl847.h | 2 +- backend/genesys_low.c | 68 +- backend/genesys_low.h | 17 +- backend/gphoto2.c | 38 +- backend/gphoto2.h | 6 - backend/gt68xx.c | 2 +- backend/gt68xx_low.h | 5 +- backend/hp-accessor.c | 8 +- backend/hp-device.c | 2 - backend/hp-handle.c | 2 +- backend/hp-option.c | 94 +- backend/hp-scl.c | 10 +- backend/hp.c | 6 +- backend/hp.h | 6 - backend/hp3500.c | 836 +- backend/hp3900_sane.c | 2 +- backend/hp4200.c | 9 +- backend/hp5400.c | 3 + backend/hp5400_internal.c | 4 +- backend/hp5590.c | 59 +- backend/hp5590_cmds.c | 86 +- backend/hp5590_low.c | 106 +- backend/hpsj5s.c | 2 - backend/hs2p-saneopts.h | 2 +- backend/hs2p-scsi.c | 2 +- backend/kodak.c | 11 +- backend/kodakaio.c | 56 +- backend/kodakaio.h | 6 - backend/kvs1025.conf.in | 2 + backend/kvs20xx.c | 9 +- backend/kvs20xx.h | 6 + backend/kvs20xx_cmd.c | 27 +- backend/kvs20xx_cmd.h | 4 + backend/kvs20xx_opt.c | 1 + backend/kvs40xx.h | 15 + backend/kvs40xx_cmd.c | 26 +- backend/kvs40xx_opt.c | 53 +- backend/lexmark_low.c | 3 + backend/ma1509.c | 3 - backend/magicolor.c | 11 +- backend/magicolor.h | 7 - backend/microtek2.c | 40 +- backend/microtek2.h | 2 +- backend/mustek.c | 16 +- backend/mustek_pp.c | 2 +- backend/mustek_pp_cis.c | 4 +- backend/mustek_usb.c | 2 +- backend/mustek_usb2.c | 11 - backend/mustek_usb2_asic.c | 20 +- backend/mustek_usb2_high.c | 2 - backend/nec.c | 3 +- backend/net.c | 6 +- backend/niash.c | 2 +- backend/niash_core.c | 7 +- backend/p5_device.c | 24 +- backend/pie.c | 6 +- backend/pieusb.c | 89 +- backend/pieusb.conf.in | 19 +- backend/pieusb.h | 1 + backend/pieusb_buffer.c | 11 +- backend/pieusb_scancmd.c | 120 +- backend/pieusb_scancmd.h | 2 +- backend/pieusb_specific.c | 48 +- backend/pieusb_specific.h | 11 +- backend/pixma.c | 31 +- backend/pixma.conf.in | 15 +- backend/pixma.h | 12 +- backend/pixma_bjnp.c | 183 +- backend/pixma_bjnp.h | 7 +- backend/pixma_bjnp_private.h | 4 +- backend/pixma_common.c | 18 +- backend/pixma_common.h | 3 +- backend/pixma_imageclass.c | 170 +- backend/pixma_io.h | 4 +- backend/pixma_io_sanei.c | 2 +- backend/pixma_mp150.c | 46 +- backend/pixma_mp730.c | 56 +- backend/pixma_mp750.c | 2 +- backend/pixma_mp810.c | 9 +- backend/pixma_sane_options.c | 17 + backend/pixma_sane_options.h | 1 + backend/plustek.c | 10 +- backend/plustek_pp.c | 8 +- backend/pnm.c | 2 +- backend/rts8891.c | 12 +- backend/rts88xx_lib.c | 4 +- backend/sharp.c | 7 +- backend/sm3600.c | 9 +- backend/sm3840.c | 0 backend/sm3840.h | 0 backend/sm3840_lib.c | 32 +- backend/sm3840_lib.h | 0 backend/sm3840_scan.c | 70 +- backend/snapscan-mutex.c | 4 +- backend/snapscan-sources.c | 24 +- backend/snapscan.c | 20 +- backend/sp15c.c | 2 +- backend/stv680.conf.in | 0 backend/stv680.h | 0 backend/tamarack.c | 4 +- backend/test.c | 6 +- backend/u12-hw.c | 2 - backend/u12.c | 10 +- backend/umax.c | 14 +- backend/umax1220u.c | 3 +- backend/umax_pp.c | 8 +- backend/umax_pp.h | 9 +- backend/umax_pp_low.c | 123 +- backend/v4l.c | 18 +- backend/xerox_mfp-tcp.c | 132 +- backend/xerox_mfp-usb.c | 126 +- backend/xerox_mfp.c | 2236 +- backend/xerox_mfp.conf.in | 36 + backend/xerox_mfp.h | 215 +- config.guess | 148 +- config.rpath | 672 + config.sub | 55 +- configure | 30500 +++++++++++++++------------ configure.ac | 873 + configure.in | 902 - doc/Makefile.am | 126 +- doc/Makefile.in | 165 +- doc/backend-writing.txt | 33 +- doc/descriptions-external/brother.desc | 8 +- doc/descriptions-external/brother2.desc | 18 +- doc/descriptions-external/hpaio.desc | 0 doc/descriptions-external/mustek_a3p1.desc | 0 doc/descriptions-external/samsung.desc | 10 +- doc/descriptions-external/utsushi.desc | 458 + doc/descriptions/as6e.desc | 2 +- doc/descriptions/bh.desc | 2 +- doc/descriptions/canon630u.desc | 2 +- doc/descriptions/canon_dr.desc | 24 +- doc/descriptions/canon_pp.desc | 2 +- doc/descriptions/cardscan.desc | 12 +- doc/descriptions/coolscan.desc | 2 +- doc/descriptions/coolscan2.desc | 2 +- doc/descriptions/coolscan3.desc | 2 +- doc/descriptions/dc210.desc | 2 +- doc/descriptions/dc240.desc | 2 +- doc/descriptions/dc25.desc | 2 +- doc/descriptions/dell1600n_net.desc | 2 +- doc/descriptions/dll.desc | 2 +- doc/descriptions/epjitsu.desc | 31 +- doc/descriptions/epson.desc | 3 +- doc/descriptions/epson2.desc | 2 +- doc/descriptions/epsonds.desc | 4 +- doc/descriptions/fujitsu.desc | 200 +- doc/descriptions/genesys.desc | 2 +- doc/descriptions/gphoto2.desc | 2 +- doc/descriptions/gt68xx.desc | 2 +- doc/descriptions/hp3900.desc | 2 +- doc/descriptions/hp4200.desc | 2 +- doc/descriptions/hp5400.desc | 3 +- doc/descriptions/hpljm1005.desc | 2 +- doc/descriptions/hpsj5s.desc | 2 +- doc/descriptions/ibm.desc | 2 +- doc/descriptions/leo.desc | 2 +- doc/descriptions/lexmark.desc | 2 +- doc/descriptions/ma1509.desc | 2 +- doc/descriptions/magicolor.desc | 2 +- doc/descriptions/matsushita.desc | 2 +- doc/descriptions/microtek.desc | 2 +- doc/descriptions/mustek.desc | 2 +- doc/descriptions/mustek_pp.desc | 2 +- doc/descriptions/mustek_usb.desc | 2 +- doc/descriptions/mustek_usb2.desc | 2 +- doc/descriptions/nec.desc | 2 +- doc/descriptions/net.desc | 2 +- doc/descriptions/niash.desc | 2 +- doc/descriptions/p5.desc | 2 +- doc/descriptions/pie.desc | 2 +- doc/descriptions/pieusb.desc | 31 +- doc/descriptions/pixma.desc | 124 +- doc/descriptions/pnm.desc | 2 +- doc/descriptions/rts8891.desc | 2 +- doc/descriptions/sceptre.desc | 2 +- doc/descriptions/sharp.desc | 2 +- doc/descriptions/sm3600.desc | 2 +- doc/descriptions/sm3840.desc | 2 +- doc/descriptions/st400.desc | 2 +- doc/descriptions/stv680.desc | 2 +- doc/descriptions/teco1.desc | 2 +- doc/descriptions/teco2.desc | 2 +- doc/descriptions/teco3.desc | 2 +- doc/descriptions/test.desc | 2 +- doc/descriptions/umax.desc | 2 +- doc/descriptions/umax_pp.desc | 2 +- doc/descriptions/unsupported.desc | 24 + doc/descriptions/v4l.desc | 2 +- doc/descriptions/xerox_mfp.desc | 70 +- doc/figs/area.eps | 126 - doc/figs/flow.eps | 161 - doc/figs/hierarchy.eps | 209 - doc/figs/image-data.eps | 178 - doc/figs/xfer.eps | 117 - doc/html.sty | 232 - doc/releases.txt | 46 +- doc/sane-avision.man | 10 + doc/sane-epjitsu.man | 6 +- doc/sane-epson.man | 2 +- doc/sane-epson2.man | 2 +- doc/sane-epsonds.man | 2 +- doc/sane-fujitsu.man | 5 +- doc/sane-genesys.man | 9 +- doc/sane-mustek_usb.man | 1 + doc/sane-pixma.man | 84 +- doc/sane-xerox_mfp.man | 59 +- doc/sane.man | 9 +- doc/sane.tex | 22 +- doc/saned.man | 4 +- frontend/Makefile.am | 12 +- frontend/Makefile.in | 86 +- frontend/saned.c | 169 +- frontend/scanimage.c | 100 +- frontend/sicc.c | 67 + frontend/sicc.h | 19 + frontend/stiff.c | 99 +- include/Makefile.in | 43 +- include/sane/config.h.in | 57 +- include/sane/sanei.h | 11 + include/sane/sanei_backend.h | 24 +- include/sane/sanei_thread.h | 7 +- include/sane/sanei_udp.h | 3 + install-sh | 21 +- japi/Makefile.am | 14 +- japi/Makefile.in | 77 +- lib/Makefile.am | 12 +- lib/Makefile.in | 141 +- lib/md5.c | 4 +- lib/strcasestr.c | 0 ltmain.sh | 32 +- m4/gettext.m4 | 383 + m4/iconv.m4 | 214 + m4/intlmacosx.m4 | 51 + m4/lib-ld.m4 | 110 + m4/lib-link.m4 | 774 + m4/lib-prefix.m4 | 224 + m4/libtool.m4 | 85 +- m4/nls.m4 | 32 + m4/po.m4 | 449 + m4/progtest.m4 | 92 + missing | 4 +- po/LINGUAS | 2 + po/Makefile.am | 87 - po/Makefile.in | 552 - po/Makefile.in.in | 444 + po/Makevars | 45 + po/POTFILES | 111 - po/POTFILES.in | 111 + po/README | 70 - po/Rules-quot | 47 + po/bg.gmo | Bin 0 -> 74825 bytes po/bg.po | 3228 +-- po/boldquot.sed | 10 + po/cs.gmo | Bin 0 -> 55568 bytes po/cs.po | 3230 +-- po/da.gmo | Bin 0 -> 61999 bytes po/da.po | 3230 +-- po/de.gmo | Bin 0 -> 81438 bytes po/de.po | 3233 +-- po/en@boldquot.gmo | Bin 0 -> 97905 bytes po/en@boldquot.header | 25 + po/en@boldquot.po | 6506 ++++++ po/en@quot.gmo | Bin 0 -> 97677 bytes po/en@quot.header | 22 + po/en@quot.po | 6488 ++++++ po/en_GB.gmo | Bin 0 -> 70495 bytes po/en_GB.po | 3230 +-- po/eo.gmo | Bin 0 -> 72419 bytes po/eo.po | 3230 +-- po/es.gmo | Bin 0 -> 80626 bytes po/es.po | 3232 +-- po/fi.gmo | Bin 0 -> 55741 bytes po/fi.po | 3230 +-- po/fr.gmo | Bin 0 -> 82409 bytes po/fr.po | 3233 +-- po/gl.gmo | Bin 0 -> 79773 bytes po/gl.po | 3230 +-- po/hu.gmo | Bin 0 -> 9630 bytes po/hu.po | 3226 +-- po/insert-header.sin | 23 + po/it.gmo | Bin 0 -> 74285 bytes po/it.po | 3231 +-- po/ja.gmo | Bin 0 -> 53885 bytes po/ja.po | 3228 +-- po/nb.gmo | Bin 0 -> 12554 bytes po/nb.po | 3226 +-- po/nl.gmo | Bin 0 -> 103988 bytes po/nl.po | 3491 +-- po/pl.gmo | Bin 0 -> 80101 bytes po/pl.po | 3228 +-- po/pt.gmo | Bin 0 -> 19033 bytes po/pt.po | 3489 +-- po/quot.sed | 6 + po/remove-potcdate.sin | 19 + po/ru.gmo | Bin 0 -> 71734 bytes po/ru.po | 3232 +-- po/sane-backends.pot | 3181 +-- po/stamp-po | 1 + po/sv.gmo | Bin 0 -> 87940 bytes po/sv.po | 3507 +-- po/uk.gmo | Bin 0 -> 143725 bytes po/uk.po | 3297 +-- sanei/Makefile.am | 4 +- sanei/Makefile.in | 62 +- sanei/sanei_DomainOS.c | 0 sanei/sanei_DomainOS.h | 0 sanei/sanei_ab306.c | 12 +- sanei/sanei_init_debug.c | 2 +- sanei/sanei_ir.c | 3 +- sanei/sanei_magic.c | 2 +- sanei/sanei_pa4s2.c | 4 +- sanei/sanei_pp.c | 6 +- sanei/sanei_scsi.c | 8 +- sanei/sanei_tcp.c | 2 +- sanei/sanei_thread.c | 15 +- sanei/sanei_usb.c | 262 +- test-driver | 20 +- testsuite/Makefile.in | 43 +- testsuite/sanei/Makefile.am | 7 +- testsuite/sanei/Makefile.in | 66 +- testsuite/sanei/sanei_usb_test.c | 22 +- testsuite/sanei/test_wire.c | 2 +- testsuite/tools/Makefile.am | 9 +- testsuite/tools/Makefile.in | 52 +- tools/Makefile.am | 35 +- tools/Makefile.in | 170 +- tools/README | 8 +- tools/check-po.awk | 2 +- tools/check-usb-chip.c | 10 +- tools/sane-config.in | 2 +- tools/sane-find-scanner.c | 36 +- 442 files changed, 92194 insertions(+), 77085 deletions(-) create mode 100644 ABOUT-NLS delete mode 100644 ChangeLog-1.0.0 delete mode 100644 ChangeLog-1.0.1 delete mode 100644 ChangeLog-1.0.10 delete mode 100644 ChangeLog-1.0.12 delete mode 100644 ChangeLog-1.0.13 delete mode 100644 ChangeLog-1.0.14 delete mode 100644 ChangeLog-1.0.15 delete mode 100644 ChangeLog-1.0.16 delete mode 100644 ChangeLog-1.0.17 delete mode 100644 ChangeLog-1.0.18 delete mode 100644 ChangeLog-1.0.19 delete mode 100644 ChangeLog-1.0.2 delete mode 100644 ChangeLog-1.0.20 delete mode 100644 ChangeLog-1.0.21 delete mode 100644 ChangeLog-1.0.22 delete mode 100644 ChangeLog-1.0.23 delete mode 100644 ChangeLog-1.0.3 delete mode 100644 ChangeLog-1.0.4 delete mode 100644 ChangeLog-1.0.5 delete mode 100644 ChangeLog-1.0.6 delete mode 100644 ChangeLog-1.0.7 delete mode 100644 ChangeLog-1.0.8 delete mode 100644 ChangeLog-1.0.9 create mode 100755 ar-lib create mode 100644 backend/epsonds-net.c create mode 100644 backend/epsonds-net.h create mode 100644 backend/kvs1025.conf.in mode change 100755 => 100644 backend/sm3840.c mode change 100755 => 100644 backend/sm3840.h mode change 100755 => 100644 backend/sm3840_lib.c mode change 100755 => 100644 backend/sm3840_lib.h mode change 100755 => 100644 backend/sm3840_scan.c mode change 100755 => 100644 backend/stv680.conf.in mode change 100755 => 100644 backend/stv680.h mode change 100644 => 100755 config.guess create mode 100755 config.rpath mode change 100644 => 100755 config.sub create mode 100644 configure.ac delete mode 100644 configure.in mode change 100755 => 100644 doc/descriptions-external/hpaio.desc mode change 100755 => 100644 doc/descriptions-external/mustek_a3p1.desc create mode 100644 doc/descriptions-external/utsushi.desc delete mode 100644 doc/figs/area.eps delete mode 100644 doc/figs/flow.eps delete mode 100644 doc/figs/hierarchy.eps delete mode 100644 doc/figs/image-data.eps delete mode 100644 doc/figs/xfer.eps delete mode 100644 doc/html.sty create mode 100644 frontend/sicc.c create mode 100644 frontend/sicc.h mode change 100755 => 100644 lib/strcasestr.c create mode 100644 m4/gettext.m4 create mode 100644 m4/iconv.m4 create mode 100644 m4/intlmacosx.m4 create mode 100644 m4/lib-ld.m4 create mode 100644 m4/lib-link.m4 create mode 100644 m4/lib-prefix.m4 create mode 100644 m4/nls.m4 create mode 100644 m4/po.m4 create mode 100644 m4/progtest.m4 delete mode 100644 po/Makefile.am delete mode 100644 po/Makefile.in create mode 100644 po/Makefile.in.in create mode 100644 po/Makevars delete mode 100644 po/POTFILES create mode 100644 po/POTFILES.in delete mode 100644 po/README create mode 100644 po/Rules-quot create mode 100644 po/bg.gmo create mode 100644 po/boldquot.sed create mode 100644 po/cs.gmo create mode 100644 po/da.gmo create mode 100644 po/de.gmo create mode 100644 po/en@boldquot.gmo create mode 100644 po/en@boldquot.header create mode 100644 po/en@boldquot.po create mode 100644 po/en@quot.gmo create mode 100644 po/en@quot.header create mode 100644 po/en@quot.po create mode 100644 po/en_GB.gmo create mode 100644 po/eo.gmo create mode 100644 po/es.gmo create mode 100644 po/fi.gmo create mode 100644 po/fr.gmo create mode 100644 po/gl.gmo create mode 100644 po/hu.gmo create mode 100644 po/insert-header.sin create mode 100644 po/it.gmo create mode 100644 po/ja.gmo create mode 100644 po/nb.gmo create mode 100644 po/nl.gmo create mode 100644 po/pl.gmo create mode 100644 po/pt.gmo create mode 100644 po/quot.sed create mode 100644 po/remove-potcdate.sin create mode 100644 po/ru.gmo create mode 100644 po/stamp-po create mode 100644 po/sv.gmo create mode 100644 po/uk.gmo mode change 100755 => 100644 sanei/sanei_DomainOS.c mode change 100755 => 100644 sanei/sanei_DomainOS.h diff --git a/ABOUT-NLS b/ABOUT-NLS new file mode 100644 index 0000000..b1de1b6 --- /dev/null +++ b/ABOUT-NLS @@ -0,0 +1,1282 @@ +1 Notes on the Free Translation Project +*************************************** + +Free software is going international! The Free Translation Project is +a way to get maintainers of free software, translators, and users all +together, so that free software will gradually become able to speak many +languages. A few packages already provide translations for their +messages. + + If you found this `ABOUT-NLS' file inside a distribution, you may +assume that the distributed package does use GNU `gettext' internally, +itself available at your nearest GNU archive site. But you do _not_ +need to install GNU `gettext' prior to configuring, installing or using +this package with messages translated. + + Installers will find here some useful hints. These notes also +explain how users should proceed for getting the programs to use the +available translations. They tell how people wanting to contribute and +work on translations can contact the appropriate team. + +1.1 INSTALL Matters +=================== + +Some packages are "localizable" when properly installed; the programs +they contain can be made to speak your own native language. Most such +packages use GNU `gettext'. Other packages have their own ways to +internationalization, predating GNU `gettext'. + + By default, this package will be installed to allow translation of +messages. It will automatically detect whether the system already +provides the GNU `gettext' functions. Installers may use special +options at configuration time for changing the default behaviour. The +command: + + ./configure --disable-nls + +will _totally_ disable translation of messages. + + When you already have GNU `gettext' installed on your system and run +configure without an option for your new package, `configure' will +probably detect the previously built and installed `libintl' library +and will decide to use it. If not, you may have to to use the +`--with-libintl-prefix' option to tell `configure' where to look for it. + + Internationalized packages usually have many `po/LL.po' files, where +LL gives an ISO 639 two-letter code identifying the language. Unless +translations have been forbidden at `configure' time by using the +`--disable-nls' switch, all available translations are installed +together with the package. However, the environment variable `LINGUAS' +may be set, prior to configuration, to limit the installed set. +`LINGUAS' should then contain a space separated list of two-letter +codes, stating which languages are allowed. + +1.2 Using This Package +====================== + +As a user, if your language has been installed for this package, you +only have to set the `LANG' environment variable to the appropriate +`LL_CC' combination. If you happen to have the `LC_ALL' or some other +`LC_xxx' environment variables set, you should unset them before +setting `LANG', otherwise the setting of `LANG' will not have the +desired effect. Here `LL' is an ISO 639 two-letter language code, and +`CC' is an ISO 3166 two-letter country code. For example, let's +suppose that you speak German and live in Germany. At the shell +prompt, merely execute `setenv LANG de_DE' (in `csh'), +`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). +This can be done from your `.login' or `.profile' file, once and for +all. + + You might think that the country code specification is redundant. +But in fact, some languages have dialects in different countries. For +example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The +country code serves to distinguish the dialects. + + The locale naming convention of `LL_CC', with `LL' denoting the +language and `CC' denoting the country, is the one use on systems based +on GNU libc. On other systems, some variations of this scheme are +used, such as `LL' or `LL_CC.ENCODING'. You can get the list of +locales supported by your system for your language by running the +command `locale -a | grep '^LL''. + + Not all programs have translations for all languages. By default, an +English message is shown in place of a nonexistent translation. If you +understand other languages, you can set up a priority list of languages. +This is done through a different environment variable, called +`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' +for the purpose of message handling, but you still need to have `LANG' +set to the primary language; this is required by other parts of the +system libraries. For example, some Swedish users who would rather +read translations in German than English for when Swedish is not +available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. + + Special advice for Norwegian users: The language code for Norwegian +bokma*l changed from `no' to `nb' recently (in 2003). During the +transition period, while some message catalogs for this language are +installed under `nb' and some older ones under `no', it's recommended +for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and +older translations are used. + + In the `LANGUAGE' environment variable, but not in the `LANG' +environment variable, `LL_CC' combinations can be abbreviated as `LL' +to denote the language's main dialect. For example, `de' is equivalent +to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' +(Portuguese as spoken in Portugal) in this context. + +1.3 Translating Teams +===================== + +For the Free Translation Project to be a success, we need interested +people who like their own language and write it well, and who are also +able to synergize with other translators speaking the same language. +Each translation team has its own mailing list. The up-to-date list of +teams can be found at the Free Translation Project's homepage, +`http://translationproject.org/', in the "Teams" area. + + If you'd like to volunteer to _work_ at translating messages, you +should become a member of the translating team for your own language. +The subscribing address is _not_ the same as the list itself, it has +`-request' appended. For example, speakers of Swedish can send a +message to `sv-request@li.org', having this message body: + + subscribe + + Keep in mind that team members are expected to participate +_actively_ in translations, or at solving translational difficulties, +rather than merely lurking around. If your team does not exist yet and +you want to start one, or if you are unsure about what to do or how to +get started, please write to `coordinator@translationproject.org' to +reach the coordinator for all translator teams. + + The English team is special. It works at improving and uniformizing +the terminology in use. Proven linguistic skills are praised more than +programming skills, here. + +1.4 Available Packages +====================== + +Languages are not equally supported in all packages. The following +matrix shows the current state of internationalization, as of June +2010. The matrix shows, in regard of each package, for which languages +PO files have been submitted to translation coordination, with a +translation percentage of at least 50%. + + Ready PO files af am an ar as ast az be be@latin bg bn_IN bs ca + +--------------------------------------------------+ + a2ps | [] [] | + aegis | | + ant-phone | | + anubis | | + aspell | [] [] | + bash | | + bfd | | + bibshelf | [] | + binutils | | + bison | | + bison-runtime | [] | + bluez-pin | [] [] | + bombono-dvd | | + buzztard | | + cflow | | + clisp | | + coreutils | [] [] | + cpio | | + cppi | | + cpplib | [] | + cryptsetup | | + dfarc | | + dialog | [] [] | + dico | | + diffutils | [] | + dink | | + doodle | | + e2fsprogs | [] | + enscript | [] | + exif | | + fetchmail | [] | + findutils | [] | + flex | [] | + freedink | | + gas | | + gawk | [] [] | + gcal | [] | + gcc | | + gettext-examples | [] [] [] [] | + gettext-runtime | [] [] | + gettext-tools | [] [] | + gip | [] | + gjay | | + gliv | [] | + glunarclock | [] [] | + gnubiff | | + gnucash | [] | + gnuedu | | + gnulib | | + gnunet | | + gnunet-gtk | | + gnutls | | + gold | | + gpe-aerial | | + gpe-beam | | + gpe-bluetooth | | + gpe-calendar | | + gpe-clock | [] | + gpe-conf | | + gpe-contacts | | + gpe-edit | | + gpe-filemanager | | + gpe-go | | + gpe-login | | + gpe-ownerinfo | [] | + gpe-package | | + gpe-sketchbook | | + gpe-su | [] | + gpe-taskmanager | [] | + gpe-timesheet | [] | + gpe-today | [] | + gpe-todo | | + gphoto2 | | + gprof | [] | + gpsdrive | | + gramadoir | | + grep | | + grub | [] [] | + gsasl | | + gss | | + gst-plugins-bad | [] | + gst-plugins-base | [] | + gst-plugins-good | [] | + gst-plugins-ugly | [] | + gstreamer | [] [] [] | + gtick | | + gtkam | [] | + gtkorphan | [] | + gtkspell | [] [] [] | + gutenprint | | + hello | [] | + help2man | | + hylafax | | + idutils | | + indent | [] [] | + iso_15924 | | + iso_3166 | [] [] [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | | + iso_639 | [] [] [] [] | + iso_639_3 | | + jwhois | | + kbd | | + keytouch | [] | + keytouch-editor | | + keytouch-keyboa... | [] | + klavaro | [] | + latrine | | + ld | [] | + leafpad | [] [] | + libc | [] [] | + libexif | () | + libextractor | | + libgnutls | | + libgpewidget | | + libgpg-error | | + libgphoto2 | | + libgphoto2_port | | + libgsasl | | + libiconv | [] | + libidn | | + lifelines | | + liferea | [] [] | + lilypond | | + linkdr | [] | + lordsawar | | + lprng | | + lynx | [] | + m4 | | + mailfromd | | + mailutils | | + make | | + man-db | | + man-db-manpages | | + minicom | | + mkisofs | | + myserver | | + nano | [] [] | + opcodes | | + parted | | + pies | | + popt | | + psmisc | | + pspp | [] | + pwdutils | | + radius | [] | + recode | [] [] | + rosegarden | | + rpm | | + rush | | + sarg | | + screem | | + scrollkeeper | [] [] [] | + sed | [] [] | + sharutils | [] [] | + shishi | | + skencil | | + solfege | | + solfege-manual | | + soundtracker | | + sp | | + sysstat | | + tar | [] | + texinfo | | + tin | | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | [] | + vice | | + vmm | | + vorbis-tools | | + wastesedge | | + wdiff | | + wget | [] [] | + wyslij-po | | + xchat | [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] | + +--------------------------------------------------+ + af am an ar as ast az be be@latin bg bn_IN bs ca + 6 0 1 2 3 19 1 10 3 28 3 1 38 + + crh cs da de el en en_GB en_ZA eo es et eu fa + +-------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] | + aegis | [] [] [] | + ant-phone | [] () | + anubis | [] [] | + aspell | [] [] [] [] [] | + bash | [] [] [] | + bfd | [] | + bibshelf | [] [] [] | + binutils | [] | + bison | [] [] | + bison-runtime | [] [] [] [] | + bluez-pin | [] [] [] [] [] [] | + bombono-dvd | [] | + buzztard | [] [] [] | + cflow | [] [] | + clisp | [] [] [] [] | + coreutils | [] [] [] [] | + cpio | | + cppi | | + cpplib | [] [] [] | + cryptsetup | [] | + dfarc | [] [] [] | + dialog | [] [] [] [] [] | + dico | | + diffutils | [] [] [] [] [] [] | + dink | [] [] [] | + doodle | [] | + e2fsprogs | [] [] [] | + enscript | [] [] [] | + exif | () [] [] | + fetchmail | [] [] () [] [] [] | + findutils | [] [] [] | + flex | [] [] | + freedink | [] [] [] | + gas | [] | + gawk | [] [] [] | + gcal | [] | + gcc | [] [] | + gettext-examples | [] [] [] [] | + gettext-runtime | [] [] [] [] | + gettext-tools | [] [] [] | + gip | [] [] [] [] | + gjay | [] | + gliv | [] [] [] | + glunarclock | [] [] | + gnubiff | () | + gnucash | [] () () () () | + gnuedu | [] [] | + gnulib | [] [] | + gnunet | | + gnunet-gtk | [] | + gnutls | [] [] | + gold | [] | + gpe-aerial | [] [] [] [] | + gpe-beam | [] [] [] [] | + gpe-bluetooth | [] [] | + gpe-calendar | [] | + gpe-clock | [] [] [] [] | + gpe-conf | [] [] [] | + gpe-contacts | [] [] [] | + gpe-edit | [] [] | + gpe-filemanager | [] [] [] | + gpe-go | [] [] [] [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] [] [] | + gpe-package | [] [] [] | + gpe-sketchbook | [] [] [] [] | + gpe-su | [] [] [] [] | + gpe-taskmanager | [] [] [] [] | + gpe-timesheet | [] [] [] [] | + gpe-today | [] [] [] [] | + gpe-todo | [] [] [] | + gphoto2 | [] [] () [] [] [] | + gprof | [] [] [] | + gpsdrive | [] [] [] | + gramadoir | [] [] [] | + grep | [] | + grub | [] [] | + gsasl | [] | + gss | | + gst-plugins-bad | [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] () [] | + gtkam | [] [] () [] [] | + gtkorphan | [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] | + gutenprint | [] [] [] | + hello | [] [] [] [] | + help2man | [] | + hylafax | [] [] | + idutils | [] [] | + indent | [] [] [] [] [] [] [] | + iso_15924 | [] () [] [] | + iso_3166 | [] [] [] [] () [] [] [] () | + iso_3166_2 | () | + iso_4217 | [] [] [] () [] [] | + iso_639 | [] [] [] [] () [] [] | + iso_639_3 | [] | + jwhois | [] | + kbd | [] [] [] [] [] | + keytouch | [] [] | + keytouch-editor | [] [] | + keytouch-keyboa... | [] | + klavaro | [] [] [] [] | + latrine | [] () | + ld | [] [] | + leafpad | [] [] [] [] [] [] | + libc | [] [] [] [] | + libexif | [] [] () | + libextractor | | + libgnutls | [] | + libgpewidget | [] [] | + libgpg-error | [] [] | + libgphoto2 | [] () | + libgphoto2_port | [] () [] | + libgsasl | | + libiconv | [] [] [] [] [] | + libidn | [] [] [] | + lifelines | [] () | + liferea | [] [] [] [] [] | + lilypond | [] [] [] | + linkdr | [] [] [] | + lordsawar | [] | + lprng | | + lynx | [] [] [] [] | + m4 | [] [] [] [] | + mailfromd | | + mailutils | [] | + make | [] [] [] | + man-db | | + man-db-manpages | | + minicom | [] [] [] [] | + mkisofs | | + myserver | | + nano | [] [] [] | + opcodes | [] [] | + parted | [] [] | + pies | | + popt | [] [] [] [] [] | + psmisc | [] [] [] | + pspp | [] | + pwdutils | [] | + radius | [] | + recode | [] [] [] [] [] [] | + rosegarden | () () () | + rpm | [] [] [] | + rush | | + sarg | | + screem | | + scrollkeeper | [] [] [] [] [] | + sed | [] [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | | + skencil | [] () [] | + solfege | [] [] [] | + solfege-manual | [] [] | + soundtracker | [] [] [] | + sp | [] | + sysstat | [] [] [] | + tar | [] [] [] [] | + texinfo | [] [] [] | + tin | [] [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | [] [] [] [] | + vice | () () | + vmm | [] | + vorbis-tools | [] [] | + wastesedge | [] | + wdiff | [] [] | + wget | [] [] [] | + wyslij-po | | + xchat | [] [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] [] | + +-------------------------------------------------+ + crh cs da de el en en_GB en_ZA eo es et eu fa + 5 64 105 117 18 1 8 0 28 89 18 19 0 + + fi fr ga gl gu he hi hr hu hy id is it ja ka kn + +----------------------------------------------------+ + a2ps | [] [] [] [] | + aegis | [] [] | + ant-phone | [] [] | + anubis | [] [] [] [] | + aspell | [] [] [] [] | + bash | [] [] [] [] | + bfd | [] [] [] | + bibshelf | [] [] [] [] [] | + binutils | [] [] [] | + bison | [] [] [] [] | + bison-runtime | [] [] [] [] [] [] | + bluez-pin | [] [] [] [] [] [] [] [] | + bombono-dvd | [] | + buzztard | [] | + cflow | [] [] [] | + clisp | [] | + coreutils | [] [] [] [] [] | + cpio | [] [] [] [] | + cppi | [] [] | + cpplib | [] [] [] | + cryptsetup | [] [] [] | + dfarc | [] [] [] | + dialog | [] [] [] [] [] [] [] | + dico | | + diffutils | [] [] [] [] [] [] [] [] [] | + dink | [] | + doodle | [] [] | + e2fsprogs | [] [] | + enscript | [] [] [] [] | + exif | [] [] [] [] [] [] | + fetchmail | [] [] [] [] | + findutils | [] [] [] [] [] [] | + flex | [] [] [] | + freedink | [] [] [] | + gas | [] [] | + gawk | [] [] [] [] () [] | + gcal | [] | + gcc | [] | + gettext-examples | [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] | + gettext-tools | [] [] [] [] | + gip | [] [] [] [] [] [] | + gjay | [] | + gliv | [] () | + glunarclock | [] [] [] [] | + gnubiff | () [] () | + gnucash | () () () () () [] | + gnuedu | [] [] | + gnulib | [] [] [] [] [] [] | + gnunet | | + gnunet-gtk | [] | + gnutls | [] [] | + gold | [] [] | + gpe-aerial | [] [] [] | + gpe-beam | [] [] [] [] | + gpe-bluetooth | [] [] [] [] | + gpe-calendar | [] [] | + gpe-clock | [] [] [] [] [] | + gpe-conf | [] [] [] [] | + gpe-contacts | [] [] [] [] | + gpe-edit | [] [] [] | + gpe-filemanager | [] [] [] [] | + gpe-go | [] [] [] [] [] | + gpe-login | [] [] [] | + gpe-ownerinfo | [] [] [] [] [] | + gpe-package | [] [] [] | + gpe-sketchbook | [] [] [] [] | + gpe-su | [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] | + gpe-timesheet | [] [] [] [] [] | + gpe-today | [] [] [] [] [] [] [] | + gpe-todo | [] [] [] | + gphoto2 | [] [] [] [] [] [] | + gprof | [] [] [] [] | + gpsdrive | [] [] [] | + gramadoir | [] [] [] | + grep | [] [] | + grub | [] [] [] [] | + gsasl | [] [] [] [] [] | + gss | [] [] [] [] [] | + gst-plugins-bad | [] [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] [] [] [] [] | + gtkam | [] [] [] [] [] | + gtkorphan | [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] [] | + gutenprint | [] [] [] [] | + hello | [] [] [] | + help2man | [] [] | + hylafax | [] | + idutils | [] [] [] [] [] [] | + indent | [] [] [] [] [] [] [] [] | + iso_15924 | [] () [] [] | + iso_3166 | [] () [] [] [] [] [] [] [] [] [] [] | + iso_3166_2 | () [] [] [] | + iso_4217 | [] () [] [] [] [] | + iso_639 | [] () [] [] [] [] [] [] [] | + iso_639_3 | () [] [] | + jwhois | [] [] [] [] [] | + kbd | [] [] | + keytouch | [] [] [] [] [] [] | + keytouch-editor | [] [] [] [] [] | + keytouch-keyboa... | [] [] [] [] [] | + klavaro | [] [] | + latrine | [] [] [] | + ld | [] [] [] [] | + leafpad | [] [] [] [] [] [] [] () | + libc | [] [] [] [] [] | + libexif | [] | + libextractor | | + libgnutls | [] [] | + libgpewidget | [] [] [] [] | + libgpg-error | [] [] | + libgphoto2 | [] [] [] | + libgphoto2_port | [] [] [] | + libgsasl | [] [] [] [] [] | + libiconv | [] [] [] [] [] [] | + libidn | [] [] [] [] | + lifelines | () | + liferea | [] [] [] [] | + lilypond | [] [] | + linkdr | [] [] [] [] [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] [] [] | + m4 | [] [] [] [] [] [] | + mailfromd | | + mailutils | [] [] | + make | [] [] [] [] [] [] [] [] [] | + man-db | [] [] | + man-db-manpages | [] | + minicom | [] [] [] [] [] | + mkisofs | [] [] [] [] | + myserver | | + nano | [] [] [] [] [] [] | + opcodes | [] [] [] [] | + parted | [] [] [] [] | + pies | | + popt | [] [] [] [] [] [] [] [] [] | + psmisc | [] [] [] | + pspp | | + pwdutils | [] [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] [] | + rosegarden | () () () () () | + rpm | [] [] | + rush | | + sarg | [] | + screem | [] [] | + scrollkeeper | [] [] [] [] | + sed | [] [] [] [] [] [] [] [] | + sharutils | [] [] [] [] [] [] [] | + shishi | [] | + skencil | [] | + solfege | [] [] [] [] | + solfege-manual | [] [] | + soundtracker | [] [] | + sp | [] () | + sysstat | [] [] [] [] [] | + tar | [] [] [] [] [] [] [] | + texinfo | [] [] [] [] | + tin | [] | + unicode-han-tra... | | + unicode-transla... | [] [] | + util-linux-ng | [] [] [] [] [] [] | + vice | () () () | + vmm | [] | + vorbis-tools | [] | + wastesedge | () () | + wdiff | [] | + wget | [] [] [] [] [] [] [] [] | + wyslij-po | [] [] [] | + xchat | [] [] [] [] [] [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] | + +----------------------------------------------------+ + fi fr ga gl gu he hi hr hu hy id is it ja ka kn + 105 121 53 20 4 8 3 5 53 2 120 5 84 67 0 4 + + ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne + +-----------------------------------------------+ + a2ps | [] | + aegis | | + ant-phone | | + anubis | [] [] | + aspell | [] | + bash | | + bfd | | + bibshelf | [] [] | + binutils | | + bison | [] | + bison-runtime | [] [] [] [] [] | + bluez-pin | [] [] [] [] [] | + bombono-dvd | | + buzztard | | + cflow | | + clisp | | + coreutils | [] | + cpio | | + cppi | | + cpplib | | + cryptsetup | | + dfarc | [] | + dialog | [] [] [] [] [] | + dico | | + diffutils | [] [] | + dink | | + doodle | | + e2fsprogs | | + enscript | | + exif | [] | + fetchmail | | + findutils | | + flex | | + freedink | [] | + gas | | + gawk | | + gcal | | + gcc | | + gettext-examples | [] [] [] [] | + gettext-runtime | [] | + gettext-tools | [] | + gip | [] [] | + gjay | | + gliv | | + glunarclock | [] | + gnubiff | | + gnucash | () () () () | + gnuedu | | + gnulib | | + gnunet | | + gnunet-gtk | | + gnutls | [] | + gold | | + gpe-aerial | [] | + gpe-beam | [] | + gpe-bluetooth | [] [] | + gpe-calendar | [] | + gpe-clock | [] [] [] [] [] | + gpe-conf | [] [] | + gpe-contacts | [] [] | + gpe-edit | [] | + gpe-filemanager | [] [] | + gpe-go | [] [] [] | + gpe-login | [] | + gpe-ownerinfo | [] [] | + gpe-package | [] [] | + gpe-sketchbook | [] [] | + gpe-su | [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] [] | + gpe-timesheet | [] [] | + gpe-today | [] [] [] [] | + gpe-todo | [] [] | + gphoto2 | | + gprof | [] | + gpsdrive | | + gramadoir | | + grep | | + grub | | + gsasl | | + gss | | + gst-plugins-bad | [] [] [] [] | + gst-plugins-base | [] [] | + gst-plugins-good | [] [] | + gst-plugins-ugly | [] [] [] [] [] | + gstreamer | | + gtick | | + gtkam | [] | + gtkorphan | [] [] | + gtkspell | [] [] [] [] [] [] [] | + gutenprint | | + hello | [] [] [] | + help2man | | + hylafax | | + idutils | | + indent | | + iso_15924 | [] [] | + iso_3166 | [] [] () [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | [] [] | + iso_639 | [] [] | + iso_639_3 | [] | + jwhois | [] | + kbd | | + keytouch | [] | + keytouch-editor | [] | + keytouch-keyboa... | [] | + klavaro | [] | + latrine | [] | + ld | | + leafpad | [] [] [] | + libc | [] | + libexif | | + libextractor | | + libgnutls | [] | + libgpewidget | [] [] | + libgpg-error | | + libgphoto2 | | + libgphoto2_port | | + libgsasl | | + libiconv | | + libidn | | + lifelines | | + liferea | | + lilypond | | + linkdr | | + lordsawar | | + lprng | | + lynx | | + m4 | | + mailfromd | | + mailutils | | + make | [] | + man-db | | + man-db-manpages | | + minicom | [] | + mkisofs | | + myserver | | + nano | [] [] | + opcodes | | + parted | | + pies | | + popt | [] [] [] | + psmisc | | + pspp | | + pwdutils | | + radius | | + recode | | + rosegarden | | + rpm | | + rush | | + sarg | | + screem | | + scrollkeeper | [] [] | + sed | | + sharutils | | + shishi | | + skencil | | + solfege | [] | + solfege-manual | | + soundtracker | | + sp | | + sysstat | [] | + tar | [] | + texinfo | [] | + tin | | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | | + vice | | + vmm | | + vorbis-tools | | + wastesedge | | + wdiff | | + wget | [] | + wyslij-po | | + xchat | [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +-----------------------------------------------+ + ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne + 20 5 10 1 13 48 4 2 2 4 24 10 20 3 1 + + nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr + +---------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] [] | + aegis | [] [] [] | + ant-phone | [] [] | + anubis | [] [] [] | + aspell | [] [] [] [] [] | + bash | [] [] | + bfd | [] | + bibshelf | [] [] | + binutils | [] [] | + bison | [] [] [] | + bison-runtime | [] [] [] [] [] [] [] | + bluez-pin | [] [] [] [] [] [] [] [] | + bombono-dvd | [] () | + buzztard | [] [] | + cflow | [] | + clisp | [] [] | + coreutils | [] [] [] [] [] [] | + cpio | [] [] [] | + cppi | [] | + cpplib | [] | + cryptsetup | [] | + dfarc | [] | + dialog | [] [] [] [] | + dico | [] | + diffutils | [] [] [] [] [] [] | + dink | () | + doodle | [] [] | + e2fsprogs | [] [] | + enscript | [] [] [] [] [] | + exif | [] [] [] () [] | + fetchmail | [] [] [] [] | + findutils | [] [] [] [] [] | + flex | [] [] [] [] [] | + freedink | [] [] | + gas | | + gawk | [] [] [] [] | + gcal | | + gcc | [] | + gettext-examples | [] [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] [] [] [] | + gettext-tools | [] [] [] [] [] [] | + gip | [] [] [] [] [] | + gjay | | + gliv | [] [] [] [] [] [] | + glunarclock | [] [] [] [] [] | + gnubiff | [] () | + gnucash | [] () () () | + gnuedu | [] | + gnulib | [] [] [] [] | + gnunet | | + gnunet-gtk | | + gnutls | [] [] | + gold | | + gpe-aerial | [] [] [] [] [] [] [] | + gpe-beam | [] [] [] [] [] [] [] | + gpe-bluetooth | [] [] | + gpe-calendar | [] [] [] [] | + gpe-clock | [] [] [] [] [] [] [] [] | + gpe-conf | [] [] [] [] [] [] [] | + gpe-contacts | [] [] [] [] [] | + gpe-edit | [] [] [] | + gpe-filemanager | [] [] [] | + gpe-go | [] [] [] [] [] [] [] [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] [] [] [] [] [] [] | + gpe-package | [] [] | + gpe-sketchbook | [] [] [] [] [] [] [] | + gpe-su | [] [] [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] [] [] [] | + gpe-timesheet | [] [] [] [] [] [] [] [] | + gpe-today | [] [] [] [] [] [] [] [] | + gpe-todo | [] [] [] [] [] | + gphoto2 | [] [] [] [] [] [] [] [] | + gprof | [] [] [] | + gpsdrive | [] [] | + gramadoir | [] [] | + grep | [] [] [] [] | + grub | [] [] [] | + gsasl | [] [] [] [] | + gss | [] [] [] | + gst-plugins-bad | [] [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] [] [] | + gtkam | [] [] [] [] [] [] | + gtkorphan | [] | + gtkspell | [] [] [] [] [] [] [] [] [] [] | + gutenprint | [] [] | + hello | [] [] [] [] | + help2man | [] [] | + hylafax | [] | + idutils | [] [] [] [] [] | + indent | [] [] [] [] [] [] [] | + iso_15924 | [] [] [] [] | + iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] | + iso_3166_2 | [] [] [] | + iso_4217 | [] [] [] [] [] [] [] [] | + iso_639 | [] [] [] [] [] [] [] [] [] | + iso_639_3 | [] [] | + jwhois | [] [] [] [] | + kbd | [] [] [] | + keytouch | [] [] [] | + keytouch-editor | [] [] [] | + keytouch-keyboa... | [] [] [] | + klavaro | [] [] | + latrine | [] [] | + ld | | + leafpad | [] [] [] [] [] [] [] [] [] | + libc | [] [] [] [] | + libexif | [] [] () [] | + libextractor | | + libgnutls | [] [] | + libgpewidget | [] [] [] | + libgpg-error | [] [] | + libgphoto2 | [] [] | + libgphoto2_port | [] [] [] [] [] | + libgsasl | [] [] [] [] [] | + libiconv | [] [] [] [] [] | + libidn | [] [] | + lifelines | [] [] | + liferea | [] [] [] [] [] () () [] | + lilypond | [] | + linkdr | [] [] [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] | + m4 | [] [] [] [] [] | + mailfromd | [] | + mailutils | [] | + make | [] [] [] [] | + man-db | [] [] [] | + man-db-manpages | [] [] [] | + minicom | [] [] [] [] | + mkisofs | [] [] [] | + myserver | | + nano | [] [] [] [] | + opcodes | [] [] | + parted | [] [] [] [] | + pies | [] | + popt | [] [] [] [] | + psmisc | [] [] [] | + pspp | [] [] | + pwdutils | [] | + radius | [] [] [] | + recode | [] [] [] [] [] [] [] [] | + rosegarden | () () | + rpm | [] [] [] | + rush | [] [] | + sarg | | + screem | | + scrollkeeper | [] [] [] [] [] [] [] [] | + sed | [] [] [] [] [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | [] | + skencil | [] [] | + solfege | [] [] [] [] | + solfege-manual | [] [] [] | + soundtracker | [] | + sp | | + sysstat | [] [] [] [] | + tar | [] [] [] [] | + texinfo | [] [] [] [] | + tin | [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | [] [] [] [] [] | + vice | [] | + vmm | [] | + vorbis-tools | [] [] | + wastesedge | [] | + wdiff | [] [] | + wget | [] [] [] [] [] [] [] | + wyslij-po | [] [] [] | + xchat | [] [] [] [] [] [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +---------------------------------------------------+ + nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr + 135 10 4 7 105 1 29 62 47 91 3 54 46 9 37 + + sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW + +---------------------------------------------------+ + a2ps | [] [] [] [] [] | 27 + aegis | [] | 9 + ant-phone | [] [] [] [] | 9 + anubis | [] [] [] [] | 15 + aspell | [] [] [] | 20 + bash | [] [] [] | 12 + bfd | [] | 6 + bibshelf | [] [] [] | 16 + binutils | [] [] | 8 + bison | [] [] | 12 + bison-runtime | [] [] [] [] [] [] | 29 + bluez-pin | [] [] [] [] [] [] [] [] | 37 + bombono-dvd | [] | 4 + buzztard | [] | 7 + cflow | [] [] [] | 9 + clisp | | 10 + coreutils | [] [] [] [] | 22 + cpio | [] [] [] [] [] [] | 13 + cppi | [] [] | 5 + cpplib | [] [] [] [] [] [] | 14 + cryptsetup | [] [] | 7 + dfarc | [] | 9 + dialog | [] [] [] [] [] [] [] | 30 + dico | [] | 2 + diffutils | [] [] [] [] [] [] | 30 + dink | | 4 + doodle | [] [] | 7 + e2fsprogs | [] [] [] | 11 + enscript | [] [] [] [] | 17 + exif | [] [] [] | 16 + fetchmail | [] [] [] | 17 + findutils | [] [] [] [] [] | 20 + flex | [] [] [] [] | 15 + freedink | [] | 10 + gas | [] | 4 + gawk | [] [] [] [] | 18 + gcal | [] [] | 5 + gcc | [] [] [] | 7 + gettext-examples | [] [] [] [] [] [] [] | 34 + gettext-runtime | [] [] [] [] [] [] [] | 29 + gettext-tools | [] [] [] [] [] [] | 22 + gip | [] [] [] [] | 22 + gjay | [] | 3 + gliv | [] [] [] | 14 + glunarclock | [] [] [] [] [] | 19 + gnubiff | [] [] | 4 + gnucash | () [] () [] () | 10 + gnuedu | [] [] | 7 + gnulib | [] [] [] [] | 16 + gnunet | [] | 1 + gnunet-gtk | [] [] [] | 5 + gnutls | [] [] [] | 10 + gold | [] | 4 + gpe-aerial | [] [] [] | 18 + gpe-beam | [] [] [] | 19 + gpe-bluetooth | [] [] [] | 13 + gpe-calendar | [] [] [] [] | 12 + gpe-clock | [] [] [] [] [] | 28 + gpe-conf | [] [] [] [] | 20 + gpe-contacts | [] [] [] | 17 + gpe-edit | [] [] [] | 12 + gpe-filemanager | [] [] [] [] | 16 + gpe-go | [] [] [] [] [] | 25 + gpe-login | [] [] [] | 11 + gpe-ownerinfo | [] [] [] [] [] | 25 + gpe-package | [] [] [] | 13 + gpe-sketchbook | [] [] [] | 20 + gpe-su | [] [] [] [] [] | 30 + gpe-taskmanager | [] [] [] [] [] | 29 + gpe-timesheet | [] [] [] [] [] | 25 + gpe-today | [] [] [] [] [] [] | 30 + gpe-todo | [] [] [] [] | 17 + gphoto2 | [] [] [] [] [] | 24 + gprof | [] [] [] | 15 + gpsdrive | [] [] [] | 11 + gramadoir | [] [] [] | 11 + grep | [] [] [] | 10 + grub | [] [] [] | 14 + gsasl | [] [] [] [] | 14 + gss | [] [] [] | 11 + gst-plugins-bad | [] [] [] [] | 26 + gst-plugins-base | [] [] [] [] [] | 24 + gst-plugins-good | [] [] [] [] | 24 + gst-plugins-ugly | [] [] [] [] [] | 29 + gstreamer | [] [] [] [] | 22 + gtick | [] [] [] | 13 + gtkam | [] [] [] | 20 + gtkorphan | [] [] [] | 14 + gtkspell | [] [] [] [] [] [] [] [] [] | 45 + gutenprint | [] | 10 + hello | [] [] [] [] [] [] | 21 + help2man | [] [] | 7 + hylafax | [] | 5 + idutils | [] [] [] [] | 17 + indent | [] [] [] [] [] [] | 30 + iso_15924 | () [] () [] [] | 16 + iso_3166 | [] [] () [] [] () [] [] [] () | 53 + iso_3166_2 | () [] () [] | 9 + iso_4217 | [] () [] [] () [] [] | 26 + iso_639 | [] [] [] () [] () [] [] [] [] | 38 + iso_639_3 | [] () | 8 + jwhois | [] [] [] [] [] | 16 + kbd | [] [] [] [] [] | 15 + keytouch | [] [] [] | 16 + keytouch-editor | [] [] [] | 14 + keytouch-keyboa... | [] [] [] | 14 + klavaro | [] | 11 + latrine | [] [] [] | 10 + ld | [] [] [] [] | 11 + leafpad | [] [] [] [] [] [] | 33 + libc | [] [] [] [] [] | 21 + libexif | [] () | 7 + libextractor | [] | 1 + libgnutls | [] [] [] | 9 + libgpewidget | [] [] [] | 14 + libgpg-error | [] [] [] | 9 + libgphoto2 | [] [] | 8 + libgphoto2_port | [] [] [] [] | 14 + libgsasl | [] [] [] | 13 + libiconv | [] [] [] [] | 21 + libidn | () [] [] | 11 + lifelines | [] | 4 + liferea | [] [] [] | 21 + lilypond | [] | 7 + linkdr | [] [] [] [] [] | 17 + lordsawar | | 1 + lprng | [] | 3 + lynx | [] [] [] [] | 17 + m4 | [] [] [] [] | 19 + mailfromd | [] [] | 3 + mailutils | [] | 5 + make | [] [] [] [] | 21 + man-db | [] [] [] | 8 + man-db-manpages | | 4 + minicom | [] [] | 16 + mkisofs | [] [] | 9 + myserver | | 0 + nano | [] [] [] [] | 21 + opcodes | [] [] [] | 11 + parted | [] [] [] [] [] | 15 + pies | [] [] | 3 + popt | [] [] [] [] [] [] | 27 + psmisc | [] [] | 11 + pspp | | 4 + pwdutils | [] [] | 6 + radius | [] [] | 9 + recode | [] [] [] [] | 28 + rosegarden | () | 0 + rpm | [] [] [] | 11 + rush | [] [] | 4 + sarg | | 1 + screem | [] | 3 + scrollkeeper | [] [] [] [] [] | 27 + sed | [] [] [] [] [] | 30 + sharutils | [] [] [] [] [] | 22 + shishi | [] | 3 + skencil | [] [] | 7 + solfege | [] [] [] [] | 16 + solfege-manual | [] | 8 + soundtracker | [] [] [] | 9 + sp | [] | 3 + sysstat | [] [] | 15 + tar | [] [] [] [] [] [] | 23 + texinfo | [] [] [] [] [] | 17 + tin | | 4 + unicode-han-tra... | | 0 + unicode-transla... | | 2 + util-linux-ng | [] [] [] [] | 20 + vice | () () | 1 + vmm | [] | 4 + vorbis-tools | [] | 6 + wastesedge | | 2 + wdiff | [] [] | 7 + wget | [] [] [] [] [] | 26 + wyslij-po | [] [] | 8 + xchat | [] [] [] [] [] [] | 36 + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | 63 + xkeyboard-config | [] [] [] | 22 + +---------------------------------------------------+ + 85 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW + 178 domains 119 1 3 3 0 10 65 51 155 17 98 7 41 2618 + + Some counters in the preceding matrix are higher than the number of +visible blocks let us expect. This is because a few extra PO files are +used for implementing regional variants of languages, or language +dialects. + + For a PO file in the matrix above to be effective, the package to +which it applies should also have been internationalized and +distributed as such by its maintainer. There might be an observable +lag between the mere existence a PO file and its wide availability in a +distribution. + + If June 2010 seems to be old, you may fetch a more recent copy of +this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date +matrix with full percentage details can be found at +`http://translationproject.org/extra/matrix.html'. + +1.5 Using `gettext' in new packages +=================================== + +If you are writing a freely available program and want to +internationalize it you are welcome to use GNU `gettext' in your +package. Of course you have to respect the GNU Library General Public +License which covers the use of the GNU `gettext' library. This means +in particular that even non-free programs can use `libintl' as a shared +library, whereas only free software can use `libintl' as a static +library or use modified versions of `libintl'. + + Once the sources are changed appropriately and the setup can handle +the use of `gettext' the only thing missing are the translations. The +Free Translation Project is also available for packages which are not +developed inside the GNU project. Therefore the information given above +applies also for every other Free Software Project. Contact +`coordinator@translationproject.org' to make the `.pot' files available +to the translation teams. + diff --git a/AUTHORS b/AUTHORS index 53a0ba3..8e041b1 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2,10 +2,6 @@ Authors of the SANE standard: Andreas Beck and David Mosberger -Java API: - - Jeff Freedman - Backends: abaton: David Huggins-Daines @@ -14,132 +10,136 @@ Backends: artec: Chris Pinkham artec_eplus48u:Sergey Vlasov, Andreas Nowack, David Stevenson, and Michael Herder - as6e: Eugene S. Weiss (*) - avision: Meino Christian Cramer, Rene Rebe (*) + as6e: Eugene S. Weiss + avision: Meino Christian Cramer, René Rebe (*) bh: Tom Martone canon: Helmut Koeberle, Manuel Panea, and Markus Mertinat Mitsuru Okaniwa, Ulrich Deiters (*) - canon630u: Nathan Rutman (*) + canon630u: Nathan Rutman canon_dr: m. allan noah (*) - canon_pp: Matthew Duggan (*), Simon Krix - coolscan: Didier Carlier, Andreas Rick + canon_pp: Matthew Duggan, Simon Krix cardscan: m. allan noah (*) - coolscan2: Andras Major (*) - coolscan3: Alessandro Zummo (*) - dc25: Peter Fales (*) + coolscan: Didier Carlier, Andreas Rick + coolscan2: Andras Major + coolscan3: Alessandro Zummo + dc25: Peter Fales dc210: Brian J. Murrell - dc240: Peter Fales (*) - dell1600n_net: Jon Chambers (*) + dc240: Peter Fales + dell1600n_net: Jon Chambers dll: David Mosberger dmc: David F. Skoll epjitsu: m. allan noah (*) - epson: Karl Heinz Kremer (*) - epson2: Alessandro Zummo (*) - epsonds: Alessandro Zummo (*) - fujitsu: Randolph Bentson, Frederik Ramm, Oliver Schirrmeister (*), + epson: Karl Heinz Kremer + epson2: Alessandro Zummo + epsonds: Alessandro Zummo + fujitsu: Randolph Bentson, Frederik Ramm, Oliver Schirrmeister, m. allan noah (*) - gphoto2: Peter Fales (*) - genesys: Henning Geinitz (*), Gerhard Jaeger (*), Stéphane Voltz (*), - Pierre Willenbrock (*) + genesys: Henning Geinitz, Gerhard Jaeger (*), Stéphane Voltz, + Pierre Willenbrock + gphoto2: Peter Fales gt68xx: Sergey Vlasov, Andreas Nowack, David Stevenson, and - Henning Geinitz (*) + Henning Geinitz hp: Peter Kirchgessner (*) Geoffrey Dairiki - hpsj5s: Max Vorobiev hp3500: Troy Rollo (*) - hp3900: Jonathan Bravo Lopez (*) + hp3900: Jonathan Bravo Lopez hp4200: Adrian Perez Jorge, Andrew John Lewis, Arnar Mar Hrafnkelsson, - Frank Zago, Henning Geinitz (*) - hp5400: Martijn van Oosterhout, Thomas Soumarmon (*) + Frank Zago, Henning Geinitz + hp5400: Martijn van Oosterhout, Thomas Soumarmon hp5590: Ilia Sotnikov (*) hpljm1005: Philippe Rétornaz - hs2p: Jeremy Johnson - ibm: M.F., Henning Geinitz (*) + hpsj5s: Max Vorobiev + hs2p: Jeremy Johnson (*) + ibm: M.F., Henning Geinitz kodak: m. allan noah (*) - kodakaio: Paul Newall + kodakaio: Paul Newall (*) kvs1025: Tao Zhang, m. allan noah (*) kvs20xx: unknown, m. allan noah (*) kvs40xx: unknown, m. allan noah (*) - leo: Frank Zago (*) - lexmark: Fred Odendaal, Stéphane Voltz (*) - ma1509: Henning Geinitz (*) - magicolor: Reinhold Kainhofer (based on epson2 backend) - matsushita: Frank Zago (*) - microtek: Matthew Marjanovic (*) + leo: Frank Zago + lexmark: Fred Odendaal, Stéphane Voltz + ma1509: Henning Geinitz + magicolor: Reinhold Kainhofer(based on epson2 backend) + matsushita: Frank Zago + microtek: Matthew Marjanovic microtek2: Bernd Schroeder, Karsten Festag mustek: Andreas Bolsch, David Mosberger, Andreas Czechanowski, - Henning Geinitz (*), and James Perry. - mustek_pp: Jochen Eisinger (*), Eddy De Greef (*) - mustek_usb: Tom Wang and Henning Geinitz (*) - mustek_usb2: Roy Zhou, Jack Xu, Vinci Cen, and Henning Geinitz (*) - nec: Kazuya Fukuda (*) - net: Andreas Beck, David Mosberger, Julien Blache (*) - niash: Ullrich Sigwanz (*), Bertrik Sikken - p5: Stéphane Voltz (*) - pie: Simon Munton (*) - pieusb: Jan Vleeshouwers, Michael Rickmann, Klaus Kmpf + Henning Geinitz, and James Perry. + mustek_pp: Jochen Eisinger, Eddy De Greef + mustek_usb: Tom Wang and Henning Geinitz + mustek_usb2: Roy Zhou, Jack Xu, Vinci Cen, and Henning Geinitz + nec: Kazuya Fukuda + net: Andreas Beck, David Mosberger, Julien Blache + niash: Ullrich Sigwanz, Bertrik Sikken + p5: Stéphane Voltz + pie: Simon Munton + pieusb: Jan Vleeshouwers, Michael Rickmann, Klaus Kämpf pint: Gordon Matzigkeit - pixma: Wittawat Yamwong (*) - Nicolas Martin (*) + pixma: Wittawat Yamwong + Nicolas Martin Louis Lagendijk (*) Dennis Lou Rolf Bensch (*) plustek: Gerhard Jaeger (*) plustek_pp: Rick Bronson (former pp driver-code), Gerhard Jaeger (*) pnm: Andreas Beck, Gordon Matzigkeit, David Mosberger, Michael - Herder, and Henning Geinitz (*) + Herder, and Henning Geinitz qcam: Scott Laird (original driver), David Mosberger (SANE backend), despeckling filter by Patrick Reynolds, B&W fixes by Andrew Kuchling ricoh: Feico W. Dillema - rts8891: Stéphane Voltz (*) + rts8891: Stéphane Voltz s9036: Ingo Schneider - sceptre: Frank Zago (*) - sharp: Kazuya Fukuda (*) and Abel Deuring (*) - sm3600: Marian Eichholz (*) and Glenn Ramsey - sm3840: Earle F. Philhower III (*) + sceptre: Frank Zago + sharp: Kazuya Fukuda and Abel Deuring + sm3600: Marian Eichholz and Glenn Ramsey + sm3840: Earle F. Philhower III snapscan: Kevin Charter, Franck Schneider, Michel Roelofs, Sebastien Sable, Henrik Johansson, Chris Bagwell, and Oliver Schwartz (*) sp15c: Randolph Bentson st400: Ingo Wilken - stv680: Gerard Klaver (*) + stv680: Gerard Klaver tamarack: Rogier Wolff - teco1: Frank Zago (*) - teco2: Frank Zago, Gerard Klaver (*) - teco3: Frank Zago (*) - test: Henning Geinitz (*) + teco1: Frank Zago + teco2: Frank Zago, Gerard Klaver + teco3: Frank Zago + test: Henning Geinitz u12: Gerhard Jaeger (*) - umax: Oliver Rauch (*) and Michael K. Johnson - umax_pp: Stéphane Voltz (*) + umax: Oliver Rauch and Michael K. Johnson umax1220u: Marcio L. Teixeira, Patrick Lessard - v4l: Juergen G. Schimmer, and Henning Geinitz (*) + umax_pp: Stéphane Voltz + v4l: Juergen G. Schimmer, and Henning Geinitz xerox_mfp: Alex Belkin (*) Frontends: jscanimage: Jeff Freedman and Guido Muesch - saned: Andreas Beck, David Mosberger, Julien Blache (*) + saned: Andreas Beck, David Mosberger, Julien Blache scanimage: Andreas Beck, David Mosberger, Gordon Matzigkeit, - m. allan noah (*), Julien Blache (*), Stéphane Voltz (*) - tstbackend: Frank Zago (*) + m. allan noah (*), Julien Blache, Stéphane Voltz + tstbackend: Frank Zago Sanei internal code: Adrian Perez Jorge, Andreas Beck, Andreas Czechanowski, Christian Bucher, - David Mosberger-Tang, Frank Zago (*), Henning Geinitz (*), - Jeff Freedman, Jochen Eisinger (*), Marcio Teixeira, Yuri Dario, + David Mosberger-Tang, Frank Zago, Henning Geinitz, + Jeff Freedman, Jochen Eisinger, Marcio Teixeira, Yuri Dario, Gerhard Jaeger (*), m. allan noah (*) +Java API: + + Jeff Freedman + Miscellaneous coding: - Julien Blache (*), Mattias Ellert (*), Petter Reinholdtsen (*), - Chris Bagwell (*) + Julien Blache, Mattias Ellert, Petter Reinholdtsen, + Chris Bagwell, Olaf Meeuwissen (*) Translators: Giuseppe Sacco (*) -(*) Maintainer with CVS write access +(*) Maintainer with Git repository write access Please also read the file PROJECTS for projects that are planned or @@ -204,7 +204,7 @@ Karsten Festag Kazuhiro Sasayama Kazuya Fukuda Kevin Charter -Klaus Kmpf +Klaus Kämpf Louis Lagendijk M.F. Manuel Panea @@ -225,6 +225,7 @@ Milon Firikis Mitsuru Okaniwa Nathan Rutman Nicolas Martin +Olaf Meeuwissen Oliver Rauch Oliver Schirrmeister Oliver Schwartz diff --git a/ChangeLog b/ChangeLog index 06efddb..5197a3f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,507 +1,4111 @@ -****** Release of sane-backends 1.0.25. End of code freeze ****** - -2015-09-30 Rolf Bensch - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - Canon PIXMA MG5600 Series is working, reported by Gavin Falconer. - -2015-09-26 Rolf Bensch - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.23 - -2015-06-22 Louis Lagendijk - * doc/saned.man: updated to clarify systemd integration and - configuration for thecase where saned is compiled with systemd - glue. - -2015-09-18 Rolf Bensch - * backend/pixma_imageclass.c: for all adf scanners restrict maximum page - height at flatbed scans - -2015-09-16 Stphane Voltz - * backend/niash.c: merged pu/protect-niash-option-access-315132 and - ifdef'ed unused code - -2015-09-16 Stphane Voltz - * backend/pieusb.c: include sane/config.h first - -2015-09-14 Stphane Voltz - * backend/bh.c: replace mktemp by mkstemp #300134 - -2015-09-13 Paul Newall

- * backend/kodakaio.c: - redundant variable bitposn and redundant function kodakaio_rxflush - commented out. - -2015-09-09 Stphane Voltz - * doc/sane-genesys.man, doc/descriptions/genesys.desc: No LiDE 120 - support. - -2015-09-08 m. allan noah - * backend/artec_eplus48u.c: fix HOME env bug #315071 (from Jrg Frings-Frst) - -2015-09-03 Rolf Bensch - * backend/pixma_mp810.c: Canon Pixma MP990 needs specific reordering pixels - for 4800 dpi, patch from Guillaume Courtois. - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.22 - -2015-08-20 Rolf Bensch - * README.linux: add mandatory and optional development environment to - install description - * frontend/scanimage.c: remove atexit() function. In some cases atexit() - doesn't work with libusb-compat. - -2015-08-10 Rolf Bensch - * backend/pixma_io_sanei.c: EOF is a bjnp timeout error. - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.21 - -2015-08-10 Stphane Voltz - * backend/abaton.c, backend/agfafocus.c, backend/apple.c, - backend/bh.c, backend/coolscan.c, backend/dmc.c, backend/ricoh.c, - backend/s9036.c, backend/sp15c.[ch], backend/tamarack.c: - fix for memleak in sane_get_devices (bugs #300132 #300131 #300130 #300129 - #300127 #300126 #300124 #300122 #300121 #300120) - -2015-08-10 Klaus Kmpf - * backend/pieusb.c, doc/descriptions/pieusb.desc, doc/sane-pieusb.man, - backend/pieusb_buffer.c, backend/pieusb_scancmd.c, backend/pieusb_specific.c, - backend/pieusb_usb.c: - New scanners PIE PowerSlide 3600,3650,4000,5000 / Reflecta DigitDia 3600, - 4000, 5000, 6000; ProScan 7200; CrystalScan 7200. These scanners need - further testing. - -2015-08-08 Stphane Voltz - * backend/test.c: fix memleaks (#313553) - * configure.in, configure: don not harcode -I/usr/local/include - (#315060) - - open/close tests. -2015-08-07 Rolf Bensch - * README.linux: update development packages list. OpenSuse needs - libusb-compat-devel. Sane doesn't support libusb 1.0. - * backend/pixma_io_sanei.c: EOF isn't an usb timeout error; this fixes usb - communication problems, e.g. with OpenSuse. - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.20 - -2015-08-06 Stphane Voltz - * backend/genesys_devices.c, backend/genesys_gl841.c, backend/genesys_low.c: - fix GPIO setup for LiDE 33/40/50, add more usleep() for GL847 - scanning issues. Some GL841 LEDADD improvements. - -2015-07-31 Stphane Voltz - * frontend/tstbackend.c: add an option to do tests scans during - open/close tests. - * backend/genesys.c, backend/genesys_low.c: fixes for - - #315104 - - #315105 - And a timing issue on USB3 hardware debugged and tracked by John S. - Weber - -2015-07-29 Rolf Bensch - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - New scanner Canon PIXMA MG3600 Series. This scanner needs further testing. - * backend/pixma_mp150.c: Canon PIXMA MG7500 Series doesn't need special - image format post processing. - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - Canon PIXMA MG7500 Series is working, reported by Jonathan Anderson. - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.19 - -2015-07-24 Rolf Bensch - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - Canon PIXMA MX470 Series is working, bug #314894. - -2015-06-27 Louis Lagendijk - * backend/pixma_bjnp.c: added missing return in case of no error - -2015-06-27 Louis Lagendijk - * backend/pixma_bjnp.c Added backend version in bjnp debug output - -2015-06-11 Stphane Voltz - * backend/genesys.c backend/genesys_gl124.h: LiDE 120 support - improvement. - -2015-05-18 Rolf Bensch - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - New scanner Canon i-SENSYS MF8300 Series, reported by Florian Nierhaus. - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.18 - -2015-04-12 Stphane Voltz - * doc/sane-genesys.man backend/genesys.[ch] backend/genesys_low.c: - fix calibration cleared when calibration file loaded, - add expiration time option for cache. - -2015-04-07 Rolf Bensch - * backend/pixma_mp810.c: Canon Pixma MP990 TPU scan patch from Guillaume - Courtois. - * doc/descriptions/pixma.desc: remove unmaintained websites - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.17 - -2015-04-03 Rolf Bensch - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, - doc/sane-pixma.man: New Canon scanners i-SENSYS MF210 Series, MF220 Series, - MF5900 Series, MF6100 Series and imageCLASS MF810/820. All scanners need - further testing. - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.16 - * backend/pixma.[ch], backend/pixma_common.[ch], backend/pixma_imageclass.c, - backend/pixma_io_sanei.c, backend/pixma_mp150.c, backend/pixma_mp7[35]0.c, - backend/pixma_mp810.c: update copyright. - -2015-03-17 Stphane Voltz - * backend/genesys.c, backend/genesys.conf.in, - backend/genesys_devices.c, backend/genesys_gl124.c, - backend/genesys_gl124.h, backend/genesys_low.h, - doc/descriptions/genesys.desc, doc/sane-genesys.man: add support for - Canon LiDE 120 - -2015-03-14 René Rebe - * backend/avision.h backend/avision.c: - fixed 32-bit build regression due new feature_type and - reverted 4d38523bdacd18186857ee8a93daaa0f8721c89b - -2015-03-13 René Rebe - * doc/sane-avision.man, backend/avision.h, backend/avision.c: - fixed newer avision scanner duplex scanning, and removed unnecessary - feature_type2 clutter by using a uint64_t to share all bits - -2015-03-12 René Rebe - * doc/descriptions/avision.desc, backend/avision.c: - fixed multiple regressions (range initilaizer, clobbering - paper-length window bits, ...) introduced over the past years, added - support for newer ASIC gamma table size, added AV220D2+ ID -2015-03-04 Stphane Voltz - * doc/descriptions/genesys.desc: mark LiDE 120 as unsupported. - -2015-03-02 Stphane Voltz - * backend/genesys_low.c, backend/genesys_gl124.[ch]: - improve parking reliability for LiDE 210 - -2015-03-01 Stphane Voltz - * backend/genesys_devices.c, backend/genesys_gl124.c: - final tuning for Canon LiDE 220 - -2015-02-26 Stphane Voltz - * backend/genesys.c, backend/genesys.conf.in, - backend/genesys_devices.c, backend/genesys_gl124.c, - backend/genesys_gl124.h, backend/genesys_low.h, - doc/descriptions/genesys.desc, doc/sane-genesys.man: add support for - Canon LiDE 220 - -2015-02-21 Rolf Bensch - * backend/pixma_mp150.c: Canon PIXMA MG6400 Series doesn't need special - image format post processing. - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - Canon PIXMA MG6400 Series is working, reported by Christian Spielberger. - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - New scanners Canon PIXMA MX490 Series and E480 Series. All scanners need - further testing. - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.15 - -2015-02-09 Rolf Bensch - * doc/descriptions/pixma.desc: Canon PIXMA MX920 Series supports Ethernet - and WiFi interfaces. - -2015-02-06 Rolf Bensch - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - Canon PIXMA MG2500 Series is working, reported by Brenda Ruch. - -2015-01-20 Ilia Sotnikov - * backend/hp5590.c: - Invert pixels in case of TMA Negatives source has been selected. - Thanks for Will Kranz who reported this. - -2015-01-17 Rolf Bensch - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - Canon PIXMA MG2200 Series is working (bug #314944). - -2014-12-31 Paul Newall

- * backend/kodakaio.c: - connection to device moved from sane_open to sane_start - disconnection move from sane_close to sane_cancel - in order to fix bug where scanner disconnected after 30s idle. - -2014-12-19 Paul Newall

- * backend/kodakaio.c: - param.depth corrected for lineart mode, was 8 now 1 - sequence of modes changed to make the color mode the default. - -2014-12-16 m. allan noah - * sanei/sanei_usb.c: add calls to sanei_usb_set_altinterface in - sanei_usb_close and sanei_usb_clear_halt- hopefully work around - USB3/xhci problems in Linux. - -2014-11-18 Rolf Bensch - * backend/pixma_imageclass.c: - - Canon i-SENSYS MF8200C and MF8500C use generation 2 protocols. - - Also use has_paper() for generation 2 scanners. - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc: Canon i-SENSYS - MF8200C: ADF supports max. 300DPI. - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.14 - -2014-11-15 Rolf Bensch - * backend/avision.c: - - Remove firmware checking for HP5370c scanners. Launchpad bug #1080787, - reported by Night Train. - - Build version 297. - -2014-10-29 Rolf Bensch - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - New Canon scanners MAXIFY MB5000, MB5300, MB2000 and MB2300; - PIXMA MG7500, MG6600, MG5600, MG2900 and E460. All scanners need further - testing. - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.13 - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - Canon PIXMA MG2900 Series is working, reported by Yannick Dirou. - -2014-10-27 Rolf Bensch - * backend/pixma_mp150.c: Canon PIXMA MG3500 Series doesn't need special - image post processing. - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - Canon PIXMA MG3500 Series is working. - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.12 - -2014-10-20 Rolf Bensch - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, - doc/sane-pixma.man: New Scanner Canon imageCLASS D530. - * backend/pixma_mp150.c: - - increase calibration timeout - - calibration can finish with 0x01 or 0x02 - -2014-09-18 Rolf Bensch - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - Canon Pixma MG5500 Series is working, bug #314819. - -2014-09-16 Rolf Bensch - * doc/descriptions/pixma.desc, doc/sane-pixma.man: Canon Pixma MG2400 Series - is working, reported by Marcus Wellnitz. - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - Canon Pixma MX530 Series is working, reported by Stephen Weston. - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.11 - -2014-09-13 Paul Newall

- * backend/kodakaio.c, backend/kodakaio.h: - * Added lineart mode with threshold option. - -2014-09-07 Paul Newall

- * backend/kodakaio.c: - * Fixed error where the colour compensation curves did not have enough - elements and this caused speckles in areas of very low or high colour. - -2014-08-23 Louis Lagendijk - * backend/pixma_bjnp.c: - * Keep TCP-connection closed untill we really need it. This avoids - the scanner closing the TCP-connection when idle - * Add an explicit error message when we detect that the scanner - closed the TCP-connection - -2014-08-16 Rolf Bensch - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - New scanners Canon i-SENSYS MF8200C Series and MF8500C Series. MF8500C - Series need further testing. - * doc/sane-pixma.man: add up to now undocumented verbose debug-level - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.10 - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - Canon PIXMA MX720 Series scanner is working (bug #314787). - -2014-07-25 Rolf Bensch - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - New scanners Canon Pixma E400, E560, MX470 and MX530. All scanners need - further testing. - -2014-07-14 m. allan noah - * frontend/scanimage.c: batch-print option and exit value changes - from Jeff Breidenbach jeff@jab.org - -2014-07-01 Stphane Voltz - * testsuite/sanei/sanei_config_test.c: fix #314694 by exporting a - specific SANE_CONFIG_DIR env dir for tests - -2014-06-29 Stphane Voltz - * backend/genesys_gl646.c: fix regression in coarse gain calibration - -2014-06-05 Tom Callaway - * lib/snprintf.c: update to newer version from LPRng. The old version is - licensed under the Artistic License 1.0 which isn't compatible with the - GPL and arguably non-free. - -2014-06-02 Stphane Voltz - * backend/genesys_*.[ch]: add internal ini_scan_regs_api. Add proper - target speed for LiDE 110/210 grey mode motor tables. - -2014-05-29 Paul Newall - * backend/kodakaio.c: change to comment on ./configure parameters - -2014-05-26 Rolf Bensch - * backend/pixma_mp150.c: fix ADF paper empty @ start scanning for Canon - Pixma MP150 based ADF scanners - * backend/pixma_common.c: remove unused variable - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.9 - -2014-05-08 Rolf Bensch - * backend/pixma_mp150.c: fix MG7100 image data post processing @ high - resolutions > 600dpi. - * doc/descriptions/pixma.desc, doc/sane-pixma.man: Canon Pixma MG7100 - Series scanner is working, reported by Gert Cauwenberg. - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.8 - -2014-05-13 Stphane Voltz - * backend/genesys_gl646.[ch] backend/genesys.c backend/genesys_low.c: - fix bug #314663. Set gamma for gl646 devices only at scan time. Reset - endpoint each time before leaving. - -2014-05-08 Rolf Bensch - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.7 - * backend/pixma_mp150.c: - - all Canon Pixma MP150 based ADF scanners support 14" legal paper size - - fix ADF paper empty bug for Canon Pixma MP150 based ADF scanners - * doc/descriptions/pixma.desc: remove comments for Canon Pixma MP150 based - ADF scanners: adf empty buggy - * doc/sane-pixma.man: Canon Pixma MX360 shouldn't hang anymore (@ ADF paper - empty) - -2014-04-07 Rolf Bensch - * doc/descriptions/pixma.desc, doc/sane-pixma.man: Canon Pixma MX410 - is working, reported from Javier Gorostiza. - -2014-03-21 Rolf Bensch - * doc/descriptions/pixma.desc, doc/sane-pixma.man: Canon Pixma MG3200 - is working, reported in ubuntuforums.org/showthread.php?t=2072162. - * doc/descriptions/pixma.desc: rename WLAN to WiFi - * backend/pixma_mp150.c: - - Canon Pixma MX520 Series supports 14" legal paper size in ADF mode. - - MX520 has button support. - * backend/pixma_common.c: Clamp minimum image size to 16 px x 16 px. Some - new scanners need minimum 16 px height. - * doc/descriptions/pixma.desc, doc/sane-pixma.man: Canon Pixma MX520 Series - is working, reported by Trygve Flathen. - -2014-02-28 Rolf Bensch - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, - doc/sane-pixma.man: Rename Canon i-SENSYS MF4550d to Canon i-SENSYS MF4500 - Series. This fixes ethernet problems. Patch from chrysn. - -2014-02-24 Stphane Voltz - * doc/sane-genesys.man backend/genesys.[ch]: - avoid calibration file name collision in case of several identical - scanners - -2014-02-10 Louis Lagendijk - * backend/pixma_bjnp.c backend/pixma_bjnp.h backend/pixma_bjnp_private.h: - - Added support for Canon laser multi-functionals using the MFNP protocol over port 8610 - - Improved debug-logging to be more readable - -2014-02-08 Rolf Bensch - * backend/pixma_mp150.c: - - Canon Pixma MX510 Series supports 14" legal paper size in ADF mode. - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - - Canon Pixma MX510 Series is working, reported by sebastien_gd. - -2014-01-29 m. allan noah - * backend/umax-uc630.c: updates from Ondrej Zary - -2014-01-21 Stphane Voltz - * doc/descriptions/unsupported.desc doc/descriptions/genesys.desc: - update status of the HP Scanjet 4850C - -2014-01-17 Rolf Bensch - * doc/descriptions/pixma.desc: Update specification file for - Canon i-SENSYS MF4800 Series: - - Ethernet is buggy. - - ADF is working. - -2014-01-09 Gerhard Jaeger - * tools/sane-find-scanner.c tools/check-usb-chip.c: Add LM983x usb - chip detection when compiled for libusb-1.0. - -2014-01-02 Rolf Bensch - * doc/descriptions/pixma.desc: ADF is working for Canon i-SENSYS MF4800 - Series, reported by Yvan L. Glinas. - -2014-01-02 Rolf Bensch - * backend/pixma.[ch], backend/pixma_common.[ch], backend/pixma_imageclass.c, - backend/pixma_io_sanei.c, backend/pixma_mp150.c, backend/pixma_mp7[35]0.c, - backend/pixma_mp810.c: update copyright. - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, - doc/sane-pixma.man: bug #314411, Canon imageCLASS MF4570dw is working. - -2013-12-27 Rolf Bensch - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, - doc/sane-pixma.man: - - Canon i-SENSYS MF4800 Series has ADF and supports 14" legal paper size - in ADF mode. - - Canon i-SENSYS MF4800 Series is working, reported by Yvan L. Glinas. - -2013-12-23 Rolf Bensch - * backend/pixma_common.c: fix usb cmd transaction timeout - -2013-12-23 Stphane Voltz - * backend/genesys_devices.c backend/genesys.c backend/genesys_low.h - backend/genesys_gl841.[ch]: color calibration improvement for LiDE80, - working LEDADD for gl841 CIS scanners - -2013-12-16 Rolf Bensch - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, - doc/sane-pixma.man: - - rename Canon imageCLASS MF4770n to i-SENSYS MF4700 Series - - rename Canon i-SENSYS MF4890dw to MF4800 Series - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - - Canon MX920 reported as working; ADF is still buggy - - MX920 has 14" ADF paper length - - MX920 has button support - - fix vertical stripe shifting for MX920 - - tidy function calc_shifting() - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.6 - -2013-12-16 Stphane Voltz - * doc/descriptions/genesys.desc: update LiDE 80 - * backend/genesys_devices.c backend/genesys.c backend/genesys_low.h - backend/genesys_gl841.[ch]: basic support for LiDE 80 - -2013-12-10 m. allan noah - * backend/fujitsu*: fujitsu backend v118 - - support fi-7160, fi-7260, fi-7180 and fi-7280 - - remove unused var from do_scsi_cmd() - - added more request_sense options - - add adv_paper_protect option - - enable paper protection by default - - increase max_x_fb for fi-6240 and fi-6230 - -2013-12-09 m. allan noah - * backend/canon_dr*: canon_dr backend v42 - - initial DR-G1100 support - - add support for paper sensors (P-215 & P-208) - - add initial support for card reader (P-215) - - removed unused var from do_scsi_cmd() - -2013-11-21 Stphane Voltz - * testsuite/tools/Makefile.*: handle sane git version change in tests. - -2013-10-19 Stphane Voltz - * doc/descriptions/genesys.desc doc/Descriptions/unsupported.desc: - update LiDE 80 and HP2400 information - * backend/genesys_devices.c backend/genesys.conf.in backend/genesys.c - backend/genesys_low.h backend/genesys_gl841.[ch]: add first element of - LiDE 80 support. - -2013-10-15 Paul Newall - * configure.in: detection of cups was commented out. Avahi is now used - for autodetection in kodakaio so the detection of cups is no longer required. - -2013-10-14 Paul Newall - * backend/kodakaio.c: fix bug #314301, - Segfault when unexpected data returned by avahi auto discovery. - -2013-10-11 Rolf Bensch - * backend/pixma_imageclass.c: Use generation variable instead of single - defines of scanner pid's. Now new scanners should work without extensive - code editing. - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, - doc/sane-pixma.man: New scanner Canon i-SENSYS MF4890dw. This scanner needs - further testing. - * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.5 - -2013-10-02 Rolf Bensch - * README.linux: Update Installation description for 1.0.25git. - -2013-09-30 m. allan noah - * ChangeLog*, configure*, doc/releases.txt: - Various updates related to starting 1.0.25git - -Older entries can be found in ChangeLog-1.0.24. +commit 16f3060061a17cbc54f3415a7e2abc1c35f3fcd2 +Author: Rolf Bensch +Date: Sat May 20 14:13:19 2017 +0200 + + pixma: i-SENSYS MF240 Series is working + +commit ad5fd9edc83f2c6b6e27e9a366cd8ff5e00376b8 +Author: m. allan noah +Date: Fri May 19 20:24:14 2017 -0400 + + Updated NL translation from Martin Kho + +commit baf786742f0382bed3f1b58d9977229826e3df5f +Author: Olaf Meeuwissen +Date: Mon May 15 21:37:34 2017 +0900 + + po/*.po: sync with source code + +commit 05553c679fd02648fc5b6dd3a4abf75fe67e1d27 +Author: m. allan noah +Date: Sun May 14 21:34:36 2017 -0400 + + updated uk.po translation + + Update from Yuri Chornoivan + +commit 479ccaedddcb0a491b351e20cac22595196df02a +Author: Olaf Meeuwissen +Date: Sun May 14 19:48:41 2017 +0900 + + autotools: Sync derived files + + This was done by running + + autoreconf --force --install + + on Debian GNU/Linux 8.8 and reverting the removal of SANE specific + tweaks to ltmain.sh. + +commit 02037adb134a2b533bb3201833444aed7bedc8f6 +Author: Olaf Meeuwissen +Date: Sun May 14 19:47:31 2017 +0900 + + Fix unused parameter compiler warnings in check tools + +commit 85b91bcd248d2a40300b9fda76bdb88853fbcd0b +Author: Jörg Frings-Fürst +Date: Sat May 13 18:11:40 2017 +0900 + + doc: fix typos, formatting and stylistic issues + +commit 1808a63b0091f0e5562586278b13d7ae63184f43 +Author: Jörg Frings-Fürst +Date: Sat May 13 18:07:26 2017 +0900 + + Replace the startup gamma with the same from the standalone version + + Fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629470 + +commit 5c0812c51b6d48516acb9dd9efcfbe2b34f04a79 +Author: Jörg Frings-Fürst +Date: Sat May 13 18:05:43 2017 +0900 + + genesys.conf: fix comment typo + +commit e21bb28e5051d8fdd64df3c4ea2625b9f45538c8 +Author: Jörg Frings-Fürst +Date: Sat May 13 18:03:42 2017 +0900 + + Source code string typo fixes + +commit 09cf70563a1129116ab6888e944bfcb44fec8dd0 +Author: Olaf Meeuwissen +Date: Sat May 13 16:33:23 2017 +0900 + + configure.ac: Fix condition + +commit 9230e0c251f2351ce1c7b8d7fca08dc39c320925 +Author: Olaf Meeuwissen +Date: Sat May 13 13:12:06 2017 +0900 + + saned: Link against Avahi library + +commit da5ce7216cf63a454411fa781bc2ea30fa881974 +Author: Olaf Meeuwissen +Date: Sat May 13 13:09:25 2017 +0900 + + Add a header to dll.conf + + Document dll.conf in a header, point to the dll.d directory for external + backends and document the net backend w/ pointers to the manpages. + + Based on a patch by Julien BLACHE + +commit 77dcf26860b239dafb3094c863691aaef304805a +Author: Christopher James Halse Rogers +Date: Sat May 13 13:07:01 2017 +0900 + + Fix potential assert in avahi backend + + avahi_browser contains a reference to an AvahiClient, which may be + avahi_client. If it does, then freeing avahi_browser references avahi_client, + resulting in an assert() in Avahi's linked list macro. + + Fix this by freeing avahi_browser before avahi_client. + See https://bugs.launchpad.net/bugs/831867 + +commit e6711c377f266d33a3d8bc28d7a508e3c4c29c79 +Author: Rolf Bensch +Date: Wed May 10 19:10:26 2017 +0200 + + remove unused entry from ChangeLog + +commit 0cf531e44528a541d76c3571bca72f395b7892ae +Author: Klaus Kämpf +Date: Tue May 9 10:52:12 2017 +0200 + + Update pieusb.conf and pieusb.desc + +commit 135b4a3909e0fe0d14062dc009bfba8085ebf167 +Author: Rolf Bensch +Date: Wed May 10 11:51:35 2017 +0200 + + pixma.desc: fix version of backend + +commit 5b10b0b635157cdb9766197a5f2ea7f1d24a402a +Author: René Rebe +Date: Fri May 5 07:05:30 2017 +0200 + + epson2: fixed network transport for new scanners + + increased command buffer due memory overrun, and always read receive + status, even for zero length on network scanenrs, should fix #315552 + +commit 6ffeb9097386268e425ae2390ed2835853dbd439 +Author: Olaf Meeuwissen +Date: Sat May 6 20:40:25 2017 +0900 + + Fix test for API specification generation + + If none of the formats can be generated but API specs are requested, + bomb. The original test aimed to do so but was testing against "no", + a value that was never assigned. + +commit f3f8afb08c2098d9659757a8e7b8c212a09ddf79 +Author: Olaf Meeuwissen +Date: Sat May 6 12:24:13 2017 +0900 + + kvs20xx.c: don't assume sane_get_devices() has been called + + Nor that that function is called with a non-NULL argument. + This aligns the implementation with that of kvs40xx.c. + + Fixes 315625. + +commit 8995b1fc81e4378d2b5b0b6b0d354735403210ed +Author: Martin Husemann +Date: Tue Mar 15 18:07:00 2016 +0900 + + sanei_usb: fix number of bytes read for 64bit big-endian systems + + Fixes 315337. + +commit b1a2c6105443c5279684f0c6827c268594aa234d +Author: Louis Lagendijk +Date: Fri May 5 19:46:28 2017 +0200 + + pixma: backend version 0.17.37 + +commit 09c467deab5ca4301ab7da37241c3fc072b94399 +Author: Klaus Kaempf +Date: Wed May 3 17:52:15 2017 +0200 + + pieusb: Support ProScan 10T and Reflecta CrystalScan 3600 + + Neither of these scanner have an automated slide transport and fail on + respective SCSI commands. + + - Add flags parameter to control if automatic slide transport is available + - Reflect flags in pieusb.conf.in + - rename SLIDE_LAMP_ON to SLIDE_INIT + it fails on scanners without automatic slide transport, so it has + nothing to do with the lamp. + - run SLIDE_INIT only FLAG_SLIDE_TRANSPORT is set + - pieusb.conf.in: Add Reflecta CrystalScan 3600 + +commit 801558f959a03b5042d6df288cb1fd2c87035798 +Author: Aaron Muir Hamilton +Date: Mon May 1 20:15:23 2017 +0000 + + Write density (resolution) JFIF header information with JPEG files. + +commit b219bc2c73113fd9d8f7c5795bd662f03a8610ea +Merge: f624a9f 92e5979 +Author: Olaf Meeuwissen +Date: Thu May 4 18:26:55 2017 +0900 + + Merge branch 'icc-profiles' + +commit f624a9f72527fc2896562e338f9b7c07549af0f0 +Author: Olaf Meeuwissen +Date: Mon May 1 09:39:59 2017 +0900 + + utsushi.desc: sync with upstream + +commit 0ca2fc46136dbaa30da25f4b79b67871c7e2d39b +Author: Louis Lagendijk +Date: Wed May 3 13:52:06 2017 +0200 + + fix 1200 dpi scanning for MB5000 series + +commit ff5c11622dafe58d1025f34a3672c7a059e963a7 +Author: Louis Lagendijk +Date: Wed May 3 13:48:20 2017 +0200 + + Fix scanbutton detection for MB5000 series + +commit 6af0e32bd6bd9e2c1b2adc5cb2a0561902eef526 +Author: Paul Newall +Date: Mon May 1 19:49:41 2017 +0100 + + kodakaio.c patched to change avahi callback variable from global to local. Bug 315705 + +commit e0741f71e289b878f0efad6cbb56b15d73b49f4e +Author: Paul Newall +Date: Sun Apr 30 18:09:59 2017 +0100 + + deleted a line in configure.ac. This was a commented out line left from when the backend kodakaio used CUPS to autodetect printers. + +commit 92e59791d2e478484409f5f2e634196863d7dafb +Author: Olaf Meeuwissen +Date: Sun Apr 30 20:05:12 2017 +0900 + + Fix [-Werror=implicit-function-declaration] compiler error + + The fileno() is only available if its feature test macro passes. The + various symbols are defined appropriately in ../include/sane/config.h + during configuration of the build. + +commit adebd37b5cb3ec0cab3025300db5cdd03c2173cc +Author: Olaf Meeuwissen +Date: Sun Apr 30 20:00:28 2017 +0900 + + Fix [-Wpointer-arith] compiler warnings + +commit c3903cc476909884ace9fedbea5f69b3a4085b70 +Author: Aaron Muir Hamilton +Date: Mon Apr 17 12:07:40 2017 +0000 + + Avoid attaching grayscale ICC profiles to rgb images, or vice-versa. + + If the ICC profile added does not match the colour format of the + image, libpng will abort. This can leave the scanner motors in an + incorrect state and possibly cause permanent damage. + +commit a907b61bd58f00fd6b1d8468d9d28d6d39232c79 +Author: Aaron Muir Hamilton +Date: Mon Apr 17 12:07:39 2017 +0000 + + Add ICC profile embedding for PNG output. + +commit 2c653a926af83d7bb910307f441055a6d7603f0b +Author: Aaron Muir Hamilton +Date: Sun Apr 16 15:13:06 2017 +0000 + + Separate ICC profile loading into a separate file. + + This cuts out some duplicate code, and enables us to reuse this + logic for PNG, JPEG, and any other future output format. + sanei_load_icc_profile also allows us to know that an ICC profile + file is not long enough before we start to write it to the output; + this should prevent poorly-written software from overflowing into + image data when they read the bad profile based on its length. + +commit 611388db1d56b0ffd74af05c4a51fe518269c90d +Author: Rolf Bensch +Date: Thu Apr 27 21:59:24 2017 +0200 + + pixma.desc: fix usbid for PIXMA TS5000 Series + +commit 5389301a40d67ed627b1998e19a1af60da26e93f +Author: Olaf Meeuwissen +Date: Thu Apr 27 22:26:01 2017 +0900 + + utsushi.desc: PID 0156 is a ES-400 + + See Alioth issue 315695. + +commit a0321d2a92286afbc9557fa44e2de4f706cf2407 +Author: Aaron Muir Hamilton +Date: Sun Apr 16 09:06:48 2017 +0000 + + Include physical resolution (pHYs section) in PNG output. + +commit 469dc738aafe42b231ecae778e393263028ab1b9 +Author: Olaf Meeuwissen +Date: Thu Apr 27 21:17:34 2017 +0900 + + Only swap 16-bit PNG bytes on machines that are not big-endian + + The SANE API specifies that image bytes are in machine native order. + +commit 28eb09eec4c64d9070b5747c93c25134395cab53 +Author: Aaron Muir Hamilton +Date: Sun Apr 16 00:27:54 2017 +0000 + + Swap bytes in 16-bit PNGs, because PNG is big-endian. + +commit 5fa4be5ae4f9937d79f076f7004a4b48ba765e8a +Author: Rolf Bensch +Date: Wed Apr 26 11:06:00 2017 +0200 + + pixma: backend version 0.17.36 + +commit 879565cefcac61e371581d09696ef6d738c2a720 +Author: Rolf Bensch +Date: Wed Apr 26 11:43:30 2017 +0200 + + new scanners Canon i-SENSYS MF230 and MF240 Series + +commit ddccf956b44509fc21cdcd4c52b6750e2ddab37a +Author: Rolf Bensch +Date: Wed Apr 26 11:02:46 2017 +0200 + + pixma_mp150: MG5400 Series has button scan support + +commit f14285dba30404f23fc9de13d632e69f23f7cb75 +Author: Rolf Bensch +Date: Thu Apr 6 11:20:40 2017 +0200 + + pixma_mp150: MG5400 Series doesn't need special image format post processing @ high dpi + +commit 0960bf9c72d25a0f8686314fbe9a6a0f9002ea3c +Author: Olaf Meeuwissen +Date: Tue Apr 18 20:12:31 2017 +0900 + + utsushi.desc: sync with upstream + +commit dcddb9505c88485bda6cdcf77927d14008b449ee +Author: m. allan noah +Date: Tue Apr 11 21:22:05 2017 -0400 + + epjitsu backend v31 + + - hardware gray support for fi-60F/65F (disabled pending calibration) + - merge fi-60F/65F settings + - improve desc, conf and man files + +commit 34e4dbf6c35946ca52678f6a7a61ef002fddb1c2 +Author: Olaf Meeuwissen +Date: Mon Apr 10 20:23:03 2017 +0900 + + Bump Alpine and Fedora builder versions + +commit 9712e2aa2595f440252d40c26b680c3cf2b8ae30 +Author: m. allan noah +Date: Sat Apr 8 21:44:27 2017 -0400 + + fujitsu backend v133 2017-04-08, MAN + + - initial support for fi-7600/7700 + - autodetect various double feed capabilities using VPD + - call send_lut if we are using a downloaded gamma table + +commit 5edb87f9ac950473f8c3a57b4071c970887d8440 +Author: Olaf Meeuwissen +Date: Sat Apr 8 21:08:12 2017 +0900 + + genesys: Trigger reallocation of gamma tables on next sane_open() + + Fixes 315491. + +commit 6eb4a1f164ef116a3ed10ee42883a15c268ea01e +Author: Robert Ancell +Date: Tue Apr 4 11:36:05 2017 +1200 + + kodakaio: Fix crash when Avahi search fails + +commit ccb47215e653724f317f7d40138098762578a6f9 +Author: Olaf Meeuwissen +Date: Fri Apr 7 20:28:02 2017 +0900 + + Add missing double quote + + Accidently removed in 38ce7fc086a6ecbee94ef31901a6eb874fb611b1. + Thanks to Jon Nelson for pointing this out. + +commit 38ce7fc086a6ecbee94ef31901a6eb874fb611b1 +Author: Olaf Meeuwissen +Date: Wed Apr 5 18:29:41 2017 +0900 + + Update SANE developer and backend maintenance status + +commit cbcab6dffadffdb40f87ddffaf2aa7e1618bb72b +Author: Rolf Bensch +Date: Tue Apr 4 11:28:18 2017 +0200 + + pixma: backend version 0.17.35 + +commit 66ce95a5a1a716a92260701c76c0989abf4196bb +Author: Rolf Bensch +Date: Tue Apr 4 11:59:56 2017 +0200 + + new scanners Canon PIXMA G3000, E470, G3000, TS5000, TS6000, TS8000 and TS9000 [#315658] + +commit a2e26572729d62123b2f167fee9e671bf26b8987 +Author: Rolf Bensch +Date: Tue Apr 4 11:27:38 2017 +0200 + + pixma: signal scan cancel from the frontend with new parameter s->param->frontend_cancel + +commit c5bfbc5a3a43a81776841289cd164a584c2e8ec2 +Author: Rolf Bensch +Date: Tue Apr 4 11:25:53 2017 +0200 + + pixma: implement adf-wait for imageclass scanners + +commit 17f3899b1583971351ea7ac40e92660f6558268d +Author: Rolf Bensch +Date: Tue Apr 4 11:23:03 2017 +0200 + + pixma: new option adf-wait + +commit 3ef45ec3c3d56bfc60b339dac8a2f19543387ef3 +Author: Rolf Bensch +Date: Tue Apr 4 11:16:20 2017 +0200 + + pixma: update docs for MG5400 Series + +commit e6c8ea6f0bcb2c6b6f7004feadc7db6cbfc3ee2b +Author: m. allan noah +Date: Wed Mar 22 12:33:27 2017 -0400 + + epjitsu backend v30 again + + - typo in previous commit broke low resolution scans on fi-65F + +commit a7fde11e15e5604c7b37bc9553cbd08086c08e53 +Author: m. allan noah +Date: Tue Mar 21 21:35:59 2017 -0400 + + epjitsu backend v30 + + - bump build number + +commit 891e3984d0410fa8c698d99d79948df3237e258d +Author: m. allan noah +Date: Tue Mar 21 20:39:47 2017 -0400 + + epjitsu v30 + + - fix image truncation when using 150 DPI in Y direction + - add 200 and 400 DPI Y direction support for fi-60F/65F + +commit 42896939822b44f44ecd1b6d35afdfa4473ed35d +Author: Olaf Meeuwissen +Date: Sun Feb 19 16:45:45 2017 +0900 + + Address memory corruption and information leakage. + + Addresses CVE-2017-6318, Alioth#315576 and Debian's BTS#854804. + +commit eaa4d4407d96585b7cdbe194d8ac295eee3e6299 +Author: m. allan noah +Date: Sat Mar 18 19:15:03 2017 -0400 + + epjitsu backend v29 + + - fix infinite loop when scaling in Y direction + +commit 2f9ea038b157fc6d08ce882a1d9984d37b46d809 +Author: Olaf Meeuwissen +Date: Sat Mar 11 10:48:35 2017 +0900 + + Fix typo + + See http://lists.alioth.debian.org/pipermail/sane-devel/2017-March/035099.html + +commit 1e028b72cae0f4caaf48868504bd2cd1667d6da7 +Author: Olaf Meeuwissen +Date: Mon Mar 6 20:54:59 2017 +0900 + + pixma: updated status for MG5400 Series + + See http://lists.alioth.debian.org/pipermail/sane-devel/2017-March/035072.html + and http://lists.alioth.debian.org/pipermail/sane-devel/2017-March/035082.html + +commit 928b803ef1f1bc1007ca3fa83418f103c6a7bdd7 +Author: Olaf Meeuwissen +Date: Sun Mar 5 15:35:06 2017 +0900 + + utsushi.desc: sync with upstream + +commit f450049bccc1e331790cb2546c2c1440fa3d24c0 +Author: Olaf Meeuwissen +Date: Tue Feb 14 18:52:25 2017 +0900 + + utsushi.desc: sync with upstream + +commit e3ed043500e786724cc77fdd0565993e878a51fc +Author: Olaf Meeuwissen +Date: Mon Dec 26 08:13:33 2016 +0900 + + Update backend maintenance status + + Following the project member list cleanup, only backends that list + a project member with git write access in the AUTHORS file are now + considered maintained. + +commit 7a0e1126b3eebd38944b8b281e6a481b95a35bbd +Author: Louis Lagendijk +Date: Fri Jan 6 23:30:31 2017 +0100 + + Revert "pixma_mp150.c: Fix scanbutton detection for MB5000 series" + + This reverts commit 53aa78df3a6980791ce250c471d019c5c59b83ec. + +commit 306f8f16e78b52948a6e09fa0957b3e364e0189f +Author: Louis Lagendijk +Date: Fri Jan 6 23:29:59 2017 +0100 + + Revert "pixma_mp150.c: fix 1200 dpi scanning for MB5000 series" + + This reverts commit dfc5487571ed2915bda7bdedbd4c79015004361b. + +commit 9bc734042f6a2af159772eef412efe7c65ebb02f +Author: Louis Lagendijk +Date: Fri Jan 6 23:28:56 2017 +0100 + + Revert "pixma_mp150.c: scan param 0x26-0x29 should contain localtime HHMM, also for MB5000 series" + + This reverts commit eb712c6bd8ca6a42a1d3941583fa18b9981b8712. + +commit 6c439bce791522aa9cd3fc04cf62087bdd6c6875 +Author: Louis Lagendijk +Date: Fri Jan 6 23:28:31 2017 +0100 + + Revert "pixma_mp150.c: replace multiple if statements with case statement in handle_interrupt" + + This reverts commit 28dcd0aef4ac91b87527c17c8aa89e879f39f20d. + +commit 06b4b27ecfad1aa30c772fa0fac15d1c144c1e7a +Author: Louis Lagendijk +Date: Fri Jan 6 23:28:09 2017 +0100 + + Revert "pixma_mp150.c: fix parameter settings for MB5000 in send_scan_param" + + This reverts commit 1d2a40ec96aea0ba183415efea570301159d4159. + +commit 589e011992a21ae1edb4684eb89582350c47333f +Author: Louis Lagendijk +Date: Fri Jan 6 22:15:24 2017 +0100 + + Update the sane-pixma man-page for the new timout setting option. + +commit 1b442ce1ea7068bda1129c061071dc94bfd6a8d2 +Author: Louis Lagendijk +Date: Fri Jan 6 21:37:52 2017 +0100 + + Added examples for new bjnp timer settings in the pixma config file + +commit cfc7a069d2696942bfeac90e0ff7aa50f83d0ec1 +Author: Louis Lagendijk +Date: Sat Dec 31 17:56:06 2016 +0100 + + Added timeout options for the bjnp protocol + +commit c2898cb6021fac6e2a526c2ce4692783ca69b18d +Author: Louis Lagendijk +Date: Fri Dec 30 21:36:26 2016 +0100 + + Remove incorrect comment left from old version + +commit 526f642f6487cd348b39a6e138c2bffa9a88d0f6 +Merge: 32be261 68cd274 +Author: Louis Lagendijk +Date: Fri Dec 30 20:04:53 2016 +0100 + + Merge branch 'master' of ssh://git.debian.org/git/sane/sane-backends + +commit 68cd2744d1906ebf00b2bfdc90662992f8e5385c +Author: Olaf Meeuwissen +Date: Sun Dec 18 16:53:26 2016 +0900 + + Sort backends with LC_COLLATE=C + +commit d47957075ff0859f5bd52c683f5b6408c63d1e46 +Author: Olaf Meeuwissen +Date: Sat Dec 17 17:03:32 2016 +0900 + + Update git repositor write access info + +commit 078435eaf19d00e6b863a7802073863604c9e9dc +Author: Olaf Meeuwissen +Date: Mon Sep 12 19:58:42 2016 +0900 + + Fix typo + +commit 755e829caa23b9781863e4b1e1d24c3cfee9e8bf +Author: Dave Platt +Date: Thu Dec 15 23:12:07 2016 -0800 + + avision.c: abort "wait for light" loop if interrupted + + Adds a "cancelled" flag to the Avision device structure, cleared + in sane_start() and set in sane_cancel(). Test this flag in + wait_4_light() and bail out of the 90-second "wait for the + light to warm up" loop if the scan is cancelled. + +commit 28963459a4ac43100b8e377d65332d81a2660c0d +Author: Dave Platt +Date: Thu Dec 15 23:02:42 2016 -0800 + + avision.c: Recognize "backlight on" status + + Avision scanners can return an additional light-status value meaning + "Transparent Media Adapter back-light is on". Accept this as + equivalent to "on" during the lamp-warmup check prior to starting a + scan. Re-check the light status after sending the window command, as + the light selection might have been changed and a further warm-up + may be required. + +commit 6585b6f60d07a196e42c99b935e2754bbc80b3c8 +Author: Dave Platt +Date: Thu Dec 15 22:29:16 2016 -0800 + + avision.c: Add "skip-adf" option + + The code which tries aggressively to reset/initialize HP 82xx/83xx + Automatic Document Feeders doesn't work well if there's no ADF attached, + because the scanner reports a non-zero ADF model type in this case. + The retry code makes several attempts to initialize the ADF, and then + bails out with an "Operation not supported" error. + + Add a new "option skip-adf" which will cause the backend to believe + the "ADF not present" status if that's what the scanner reports. + + Fixes #313751 + +commit f58ce8f9201364bd0fe28ef736d4b1345f3f71b2 +Author: Troy Rollo +Date: Fri Dec 2 01:37:23 2016 +1100 + + HP3500: Always enable the second set of CCDs. This + prevents ghosting that occurs when only enabling the + first set of CCDs, even though at some resolutions + we will not get any data from the second set. + +commit 77986b1d14db5ba285d595ab7630748b3c6d9284 +Author: Troy Rollo +Date: Fri Dec 2 01:20:43 2016 +1100 + + HP3500: Move to scan area more quickly if it is a + long way from the home position + +commit b1f3815014f11bbadd74d255ee4343e16ffee6b8 +Author: Troy Rollo +Date: Tue Nov 29 21:11:06 2016 +1100 + + Add missing math library to HP3500 backend link flags + +commit fd7a3505f644573e832f417c7f0f62ca8ddeb7c8 +Author: Troy Rollo +Date: Tue Nov 29 20:47:59 2016 +1100 + + HP3500 backend: fix #314811, greatly improve + calibration, support harware calibration + in 120DPI and 400DPI, and add support for + hardware gamma correction. + +commit 6484ff8fc368db24b567e1d2fbb44cd86e0f9e43 +Author: Alex Belkin +Date: Sun Nov 6 23:03:23 2016 +0300 + + Forgoten comma in backends man pages list. + +commit 69a008830b84437701022cbd96a8863ac61d3ddf +Author: Alex Belkin +Date: Sun Nov 6 22:28:03 2016 +0300 + + Pre-create temporary file for Jpeg scanning. + + Jpeg mode (as submitted by Samsung developer) uses temporary file with + fixed name. This opens attacks on reading its content or overwriting any + other user-writable file (with symlink). This change pre-creates + temporary file with O_CREAT|O_EXCL and mode 0600. Assuming usual +t + permissions for tmp this should mitigate issue. + +commit 226c2b9deb2f4f4b1d7c51ad4bb83d181e5e31b5 +Author: Alex Belkin +Date: Sun Nov 6 21:50:06 2016 +0300 + + Update header and copyright statements for xerox_mfp. + +commit 58c1e43b83712899162030d83df3ecac151d69d3 +Author: Alex Belkin +Date: Sun Nov 6 21:38:47 2016 +0300 + + Indent of xerox_mfp-tcp.c and xerox_mfp-usb.c + + This is purely indent commit without any code changes, in + follow-up to 83bbcfe7d546b4d0cd28269b647fb558c6a1e00a. + + Indent command used: + astyle -A8 -U -H -k3 -W3 -o xerox_mfp-{usb,tcp}.c + + Proof that code is not changed: + git log -w -p xerox_mfp-{usb,tcp}.c + +commit 610533a9a66d7232a8a0ecd360871e3a6fa67980 +Author: Alex Belkin +Date: Sun Nov 6 21:24:38 2016 +0300 + + Update xerox_mfp man page. + +commit ba6a5710b508e73f4cb7152d034adc865f5201d7 +Author: Alex Belkin +Date: Sun Nov 6 21:00:58 2016 +0300 + + Update sane.man to index xerox_mfp backend. + +commit 83bbcfe7d546b4d0cd28269b647fb558c6a1e00a +Author: Alex Belkin +Date: Sun Nov 6 20:24:02 2016 +0300 + + Run indent: astyle -A8 -U -H -k3 -W3 -o xerox_mfp.[ch] + + This is purely indent commit w/o any code changes. + To prove run `git diff -w`. + +commit e4aed53a1e46b9d46a76f814d414ef8d2c2276e3 +Author: m. allan noah +Date: Sat Oct 8 19:32:43 2016 -0400 + + fujitsu backend v132 + + - remove ipc_mode option and variables + - set ipc mode based on other options + - cleanup inverted logic DTC options + - fixes threshold option reported in #315069 + +commit cfa98fd0d1271dd426ff2d6c565790d87cf3986d +Author: Rolf Bensch +Date: Sat Oct 8 14:25:33 2016 +0200 + + pixma: backend version 0.17.34 + +commit 7e20475c8b45249d05315d5a889551924210666d +Author: Rolf Bensch +Date: Sat Oct 8 14:24:53 2016 +0200 + + pixma: new scanner Canon PIXMA MG3000 Series + + see bug report #315521 + +commit 3b63fdab2b94f14765f8ba165546f6d69fc23ea9 +Author: Rolf Bensch +Date: Wed Oct 5 20:05:37 2016 +0200 + + pixma: backend version 0.17.33 + +commit c751a9ca22934ef93ca6b7afd3d0aaea4969c5fc +Author: Rolf Bensch +Date: Wed Oct 5 19:51:35 2016 +0200 + + fix ADF scanning for Canon MF57x0 devices + + - ignore result from calibrate(): don't interrupt @ PIXMA_STATUS_BUSY + - MF57x0 devices don't require abort_session() after the last page + - reported by Dmitry Deshevoy + +commit a9806de08ea65acb8a1109b480147a4a7ec76cb5 +Author: Olaf Meeuwissen +Date: Sun Sep 25 17:06:15 2016 +0900 + + AWARE: Treat compiler warnings as errors on debian-8-mini too! + +commit 490c4501c7ca59568bd9611665386c512163b51b +Author: Olaf Meeuwissen +Date: Sun Sep 25 17:04:23 2016 +0900 + + Sync autofoo + +commit da49686efe16bc5f7b4ddef18ea0dcb5f7c18d77 +Author: Olaf Meeuwissen +Date: Sun Sep 25 17:00:54 2016 +0900 + + sane-find-scanner: disable USB if not supported + + This fixes a [-Wpedantic] compiler warning about ISO C forbidding empty + translation units. The check-usb-chip.c file reduces to such a file in + the case USB support was explicitly disabled or no usable library found. + +commit 471e8ac0c1b565e5aea92f35ae173e167f3b61c7 +Author: Olaf Meeuwissen +Date: Sun Sep 25 16:28:11 2016 +0900 + + sanei_pp: fix [-Wcpp] compiler warning + + The `#warning` directive is turned into an error by `-Werror`. The + directive triggers is guaranteed to trigger with __GNUC__ when no + parallel support is available. This would prevent strict CI builds. + + Output a message with all compilers that understand the pragma. Those + that don't should ignore it, according to C99. + +commit 7d7030a40986d97d3cf7a5313bf889bce4af8131 +Author: Olaf Meeuwissen +Date: Sun Sep 25 15:53:46 2016 +0900 + + sanei_usb: : fix [-Wunused-parameter] compiler warnings + + These were issued in the absence of libusb. + +commit e6faafcdc94e253f7f4fe793fec6110ce37e8014 +Author: Olaf Meeuwissen +Date: Sun Sep 25 15:44:36 2016 +0900 + + xerox_mfp: fix [-Wunused-parameter] compiler warnings + + These are issued when libjpeg was not found during configuration. + +commit 32be261254a78d1f314b3ee86fd5e5b40ab91a86 +Merge: ec8bf64 97d2a3d +Author: Louis Lagendijk +Date: Wed Sep 21 22:35:10 2016 +0200 + + Merge branch 'master' of ssh://git.debian.org/git/sane/sane-backends + +commit 97d2a3d22d9c6a6d0a277de0066c73e9059abd92 +Author: Olaf Meeuwissen +Date: Wed Sep 21 22:11:09 2016 +0900 + + AWARE: Treat compiler warnings as errors on debian-8-full + + This build became compiler warning free in ee550e5d. Let's keep it + that way! + +commit 4119f05d5f400803a9c952896125e9feabb07393 +Author: Olaf Meeuwissen +Date: Wed Sep 21 21:54:39 2016 +0900 + + Fix USB ID typo + +commit ee550e5de8e636642b9895d54f6740aa38ee6ff8 +Author: Olaf Meeuwissen +Date: Mon Sep 19 12:52:31 2016 +0900 + + pieusb: fix [-Wunused-parameter] compiler warnings + + The functions that trigger these warnings were not used. + +commit bf088a6ed15733237df446a84d6659c4e0145c9a +Author: Olaf Meeuwissen +Date: Mon Sep 19 17:45:35 2016 +0900 + + Merge comments + + This gets rid of a missing :usbid warning. + +commit e01f574b19be74081650e9be9bcb16a3420068ef +Author: Olaf Meeuwissen +Date: Mon Sep 19 17:44:48 2016 +0900 + + Merge duplicate entry + +commit 1a328e412fb7bf3872de20fe6e57b00ab913a75d +Author: Olaf Meeuwissen +Date: Mon Sep 19 15:26:14 2016 +0900 + + Add missing USB IDs + + Taken from http://www.linux-usb.org/usb.ids + +commit dd940a1f612f56d2acb929afd54614ebc6dfb309 +Author: Olaf Meeuwissen +Date: Sat Sep 17 20:43:44 2016 +0900 + + utsushi.desc: sync with upstream + +commit fb0464d9e3e39a93306e98602ff879c43276de5c +Author: Olaf Meeuwissen +Date: Mon Sep 12 20:12:28 2016 +0900 + + niash: fix [-Wunused-but-set-variable] compiler warning + + This makes explicit what the compiler has effectively been doing all + along anyway since at least 727dd4ab (2004-08-03). + +commit 6f4b88b6173745f09e4ce1fa465db534eca85751 +Author: Olaf Meeuwissen +Date: Mon Sep 12 20:05:42 2016 +0900 + + epson2: fix [-Wunused-but-set-variable] compiler warning + + This makes explicit what the compiler has effectively been doing all + along anyway since at least 728e032a (2009-06-01). + +commit 4dce101c05515200a6cd337451da664c1978f115 +Author: Olaf Meeuwissen +Date: Mon Sep 19 10:04:35 2016 +0900 + + Keep generated *.eps and *.pdf files out of the repository + +commit 46bc0ff1c89a6759fd22f80fd1ceb9551268da4f +Author: Olaf Meeuwissen +Date: Sun Sep 18 21:41:03 2016 +0900 + + Sync autofoo + +commit 2b973d75fed73771664958ea6cb5b4b8fd7b1307 +Author: Olaf Meeuwissen +Date: Sun Sep 18 21:21:35 2016 +0900 + + Add fig2dev as prerequisite for API HTML docs + + The target for sane-html depends on sane.dvi which requires fig2dev. + + Thanks to: + - https://lists.debian.org/debian-user/2016/08/msg00484.html + - http://superuser.com/questions/1101439/error-building-sane-backend-on-debian + +commit db22a031d130d533f5fd41710ddabdc61280d313 +Author: Olaf Meeuwissen +Date: Sun Sep 18 21:19:12 2016 +0900 + + Fix typo introduced in fa41b180. Fixes 315435 + +commit 9d388c35937b75cf5f47410ead07ef2226ac8005 +Author: m. allan noah +Date: Sun Sep 11 19:03:23 2016 -0400 + + canon_dr v56 + + - add initial support for P-150M (and probably P-150) + +commit 39ceeae616a2e1638c2760d4364adcaa210a413b +Author: Olaf Meeuwissen +Date: Wed Sep 7 21:03:30 2016 +0900 + + md5: fix [-Wstrict-aliasing] compiler warnings + +commit 27a4da41b1761acba33e99aab4d782e726934c04 +Author: Olaf Meeuwissen +Date: Wed Sep 7 21:01:26 2016 +0900 + + Prefer *our* `include/` files + + This fixes discrepancies in build results for VPATH builds. + +commit 737977199ccd2419a51e120c472981b1a1263ab0 +Author: Olaf Meeuwissen +Date: Mon Sep 5 23:40:39 2016 +0900 + + umax_pp: fix [-Wunused-but-set-variable] compiler warning + +commit 50fa8efdcff0dd159d3ff51e219a3c08020ca54c +Author: Olaf Meeuwissen +Date: Sun Sep 4 14:39:52 2016 +0900 + + gphoto2: fix libgphoto2 logging integration + + In libgphoto2-2.5.0 (tagged for release on 2012-07-10) the GPLogFunc no + longer takes a va_list. Instead, it passes a formatted message. + +commit 23f052113b5567033da0d9c4679451d97c484220 +Author: Olaf Meeuwissen +Date: Sun Sep 4 12:50:19 2016 +0900 + + saned: fix [-Wunused-parameter] compiler warning + + The `__sane_unused__` attribute has been moved from sanei_backend.h to + sanei.h to make it generally useful instead of limited to backends. + +commit 0d527f6659e06175d855aaa1a70fc2be52aad1a7 +Author: Olaf Meeuwissen +Date: Sun Sep 4 12:13:16 2016 +0900 + + Drop build environments + + Adding them did not quite have the effect I thought it would. I had + thought it would allow for easy linking to build logs by environment + name. Alas, no such luck. + + This reverts commits: + - 9c44317289f1be0a72089ffd030be84caf75b58c + - 6209fecf3a11e90e2e5efc057cf650f4ab792b50 + +commit 74b4a34e82124621616c699ac0d5ba0d5e93b6a1 +Author: Olaf Meeuwissen +Date: Sun Sep 4 12:12:14 2016 +0900 + + dll: fix pedantic compiler warning + +commit 246673715d9abdbfbea349de4636322b242f9700 +Author: Olaf Meeuwissen +Date: Sat Sep 3 14:36:49 2016 +0900 + + utsushi.desc: sync with upstream + +commit a65e74fe83ae96d5d00af6a05c751086cdae8d38 +Author: Olaf Meeuwissen +Date: Sun Aug 28 15:49:44 2016 +0900 + + umax_pp: fix [-Werror=unused-but-set-parameter] compiler warnings + +commit 4eaefe43713036f73ab322e8d6b519589055540d +Author: Olaf Meeuwissen +Date: Sun Aug 28 15:27:50 2016 +0900 + + magicolor: fix [-Werror] compiler warning + + This casts away const-ness in the hope that libsnmp doesn't change + the session.peername. + +commit 31ac0db73672347732dc80cf8f2afe8e6f3d466b +Author: Olaf Meeuwissen +Date: Sun Aug 28 15:25:43 2016 +0900 + + magicolor: fix [-Werror=pointer-sign] compiler warnings + + The libsnmp API requires a u_char *session.community :-( + +commit c32d48ef5fd4a47a93933e6ffba5c8a93d26e43f +Author: Olaf Meeuwissen +Date: Sun Aug 28 14:18:48 2016 +0900 + + kodakaio: fix [-Weror=format=] compiler warning + +commit 0337514b8f0e484c11b668d8ca0e0af998d3dfbc +Author: Olaf Meeuwissen +Date: Sun Aug 28 14:18:00 2016 +0900 + + kodakaio: fix [-Werror=sign-compare] compiler warning + +commit 763816814bc072b19f1178e0d92031217d7f5f06 +Author: Olaf Meeuwissen +Date: Sun Aug 28 13:55:30 2016 +0900 + + hp5400: fix [-Werror=overflow] compiler warning + + This explicitly implements what gcc and clang assign. + +commit 9c44317289f1be0a72089ffd030be84caf75b58c +Author: Olaf Meeuwissen +Date: Sun Aug 28 13:24:17 2016 +0900 + + Fix environment name (periods are not allowed) + +commit 984fefd55173f30f4cde3ed7acb462d660c676eb +Author: Olaf Meeuwissen +Date: Sun Aug 28 13:21:11 2016 +0900 + + plustek_pp: fix [-Werror=sign-compare] compiler warning + +commit f0153bc7fe7fd79ef2b1b41d259adf3d20b9d641 +Author: Olaf Meeuwissen +Date: Sun Aug 28 12:57:17 2016 +0900 + + v4l: fix [-Werror=sign-compare] compiler warning + +commit 6209fecf3a11e90e2e5efc057cf650f4ab792b50 +Author: Olaf Meeuwissen +Date: Sun Aug 28 12:17:46 2016 +0900 + + Make referencing builds easier + +commit 235de98784897edb63d1ed1a32609b7786d799d0 +Author: Olaf Meeuwissen +Date: Sun Aug 28 11:58:16 2016 +0900 + + md5: fix [-Wpointer-arith] compiler warnings + + This reverts commits 9aecb00947e6bf7ef1cf412aff2ab41202617b30 and + cdad5961f3888f0a3c0c525d0efab33174c11a24 which fixed a different + compiler warning that seems to have disappeared (at least on the + debian-8-full builds). + +commit bf53c714348dbf4654de887ae7e649fbad6b2288 +Author: Olaf Meeuwissen +Date: Thu Aug 4 22:47:01 2016 +0900 + + Sync with upstream + +commit ffd93a9fad10ced31de037f2c6180f328a38b547 +Author: Olaf Meeuwissen +Date: Wed Aug 3 22:43:06 2016 +0900 + + Sync autofoo + +commit cb3090cb5472b63d5cdfb5110652f568bd9477ad +Author: Olaf Meeuwissen +Date: Wed Aug 3 22:16:26 2016 +0900 + + pixma: Fix include guard typo + + This was introduced in f573865 on 2008-10-18. + +commit 23cc2e1ba043ea8309923f5f1dcc5acaeee38a95 +Author: Olaf Meeuwissen +Date: Wed Aug 3 22:08:49 2016 +0900 + + Fix include guard typo + + This seems to have been present since the beginning of sanei/sanei_scsi.c. + +commit 63b55e2b591ba977a285a4c91fde0118c25246e7 +Author: Olaf Meeuwissen +Date: Wed Aug 3 22:05:03 2016 +0900 + + Drop check for sys/bitypes.h + + It was obsoleted in 70f3fdf on 2009-02-26. + +commit d263f25911a0b359b7edec0faa9320d5d13928da +Author: Olaf Meeuwissen +Date: Wed Aug 3 21:48:54 2016 +0900 + + Fix typo + + Appears to have been introduced in 0330a4d on 2009-02-02. There is no + evidence that a scdds.h file has ever existed. + +commit 970464f7332a1995bfd825de285425f0c957b1da +Author: Olaf Meeuwissen +Date: Wed Aug 3 20:53:06 2016 +0900 + + Drop unused CPP define + + The last reference to it was removed in 5dcf165 on 2007-06-21. + +commit 5389808029f0f81d204630f6e78abe11dfd61122 +Author: Olaf Meeuwissen +Date: Tue Aug 2 21:56:09 2016 +0900 + + Fix memory leak + +commit 1006445982877970d376c0f657e04fc1481e2459 +Author: Olaf Meeuwissen +Date: Tue Aug 2 21:38:43 2016 +0900 + + Use DIR_SEP instead of hard-coding ":" + + Fixes 313540 + +commit b021c3bee8e9edc7854050a3975cef003586b2e5 +Author: Troy Rollo +Date: Sun Jul 31 22:47:25 2016 +1000 + + Fix bug 314571 - hp3500 backend does not set correct size for string option. + +commit 1859803563f8baadeb6c0926610b2f782350d1e4 +Author: Olaf Meeuwissen +Date: Wed Jul 27 21:17:08 2016 +0900 + + Add a Fedora 24 Clang builder + +commit f6c8be1380c2f12080cdbd7a81eb2d5156eaa154 +Author: Olaf Meeuwissen +Date: Mon Jul 18 20:55:14 2016 +0900 + + kvs40xx: fix [-Wunused-function] compiler warning + + This rather unceremoniously removed the function. Note that a near copy + can be found in the kvs20xx backend code. + +commit effc26e4028f2d21a5bd9fec0458a78c0f6dc330 +Author: Olaf Meeuwissen +Date: Mon Jul 18 20:53:51 2016 +0900 + + kvs20xx: fix [-Wunused-function] compiler warning + + This rather unceremoniously removed the function. Note that a near copy + can be found in the kvs40xx backend code. + +commit 2d468852288b5d80e9e8b6831467081fe3ec874e +Author: Olaf Meeuwissen +Date: Mon Jul 18 17:32:21 2016 +0900 + + pnm: fix [-Wformat=] compiler warning + +commit 2f39c7227021e85b8fdde8161358858797bd7461 +Author: Olaf Meeuwissen +Date: Mon Jul 18 17:11:26 2016 +0900 + + v4l: fix [Wunused-parameter] compiler warnings + +commit 880992739020eee8cc0e005e6bdf853f2ff3572f +Author: Olaf Meeuwissen +Date: Mon Jul 18 17:10:56 2016 +0900 + + sm3600: fix [-Wunused-parameter] compiler warning + +commit 99c14f2d9503cd9a6c77d71d590e434e504052c6 +Author: Olaf Meeuwissen +Date: Mon Jul 18 16:51:08 2016 +0900 + + Use a single symbol to flag unused parameters + + The __sane_unused__ symbol was used slightly more often then UNUSEDARG + and, more importantly, defined in include/sane/sanei_backend.h. That + makes it readily available to virtually all backends. + +commit b73a6e5017f6d4d2d0ef7a61bf6e2113f848be94 +Author: Olaf Meeuwissen +Date: Mon Jul 18 16:14:20 2016 +0900 + + niash: fix [-Wunused-parameter] compiler warning + + The attribute needs to go before the pointer designation for it to have + any effect. + +commit 61719e0a131a6f0d4bf53aa98ecf510ce7081ca7 +Author: Olaf Meeuwissen +Date: Mon Jul 18 16:11:39 2016 +0900 + + dc240: fix [-Wunused-parameter] compiler warning + + The attribute needs to go before the pointer designation for it to have + any effect. + +commit ef8e258165526175c9ac2d262448f16b551d19e9 +Author: Olaf Meeuwissen +Date: Thu Jul 14 21:12:38 2016 +0900 + + Sync autofoo + +commit 57350969f6f46195c5fd5e255b3d1906df401d19 +Author: Olaf Meeuwissen +Date: Thu Jul 14 20:51:42 2016 +0900 + + sane.tex: mark up email as a URL + +commit 707baa0d160ff13331bed6063d2502b09f902f38 +Author: Olaf Meeuwissen +Date: Thu Jul 14 20:50:14 2016 +0900 + + doc/sane.tex: drop html.sty in favour of url.sty + + The latter is part of the core TeX Live distribution which is readily + available on all major operating systems. + +commit bfd1626c4b119404429a847aaa92df77ca3fbb40 +Author: Olaf Meeuwissen +Date: Wed Jul 13 23:44:26 2016 +0900 + + Sync autofoo + +commit 8598f81d0b9542b6f4928b8b870a26b50f440379 +Author: Olaf Meeuwissen +Date: Wed Jul 13 23:43:35 2016 +0900 + + Fix figure orientation + +commit 00bc3e9b451f8dfb89553305cce89172be520bb1 +Author: Olaf Meeuwissen +Date: Wed Jul 13 23:40:19 2016 +0900 + + Generate EPS figures too + + It's good to know how this is done so that we can modify any original + figure if need be. + +commit cc8f99b900d5ae44248677f6881f1b74d7885bfb +Author: Olaf Meeuwissen +Date: Wed Jul 13 23:24:29 2016 +0900 + + Generate PDF figures explicitly with fig2dev + + This utility has less dependencies and supports conversion to a pile of + other formats that may come in handy as well. + + Clean up of generated PDF figures has been moved to the clean target as + well. + +commit d7e1995d001b0d16b9920e751be923f6a8393bf1 +Author: Olaf Meeuwissen +Date: Wed Jul 13 22:37:44 2016 +0900 + + doc/sane.tex: Replace epsfig with graphicx + + The graphicx package allows for file specification without a hardcoded + extension. This provides more freedom in chosing how to prepare images + in *.eps and *.pdf formats. + + Moreover, epsfig is considered mostly obsolete in the TeX community and + graphicx is the "current 'preferred' solution" to embed figures. + See https://www.ctan.org/pkg/epsfig. + +commit 0aab12b934a9f9620fb1236e13dd2b71a7426000 +Author: Olaf Meeuwissen +Date: Mon Jul 11 20:41:54 2016 +0900 + + Bump standard minor version + + This is to acknowledge the SANE_STATUS_GOOD fixes in net.tex that were + committed in 4daf488 and 1100883. + +commit 1ed3b9fa86e6bc6875a72a9b347164a5879ffe8b +Author: Olaf Meeuwissen +Date: Mon Jul 11 20:37:08 2016 +0900 + + Reclassify doc/html.sty + + It is a package used by doc/sane.tex. + +commit 2481e1e98b02e927cdb9c2e6e404252ef9e49041 +Author: Olaf Meeuwissen +Date: Sun Jul 10 15:43:42 2016 +0900 + + Sync autofoo + +commit fa41b18001f74e8941813709f15a15cc9ea299e1 +Author: Olaf Meeuwissen +Date: Sun Jul 10 20:35:04 2016 +0900 + + Refactor API spec conversion support + + Unless explicitly asked to do without, all formats for which required + tools are found will be built. Checks cover PostScript, PDF and HTML. + + All logic and files involved are now collected in a single "section" + and grouped in such a way that their function should be clearer. + + fixup! Refactor API spec conversion support + +commit d7c69d141ffb4f456d659b443aa4c3d3be82793e +Author: Olaf Meeuwissen +Date: Sun Jul 10 19:40:04 2016 +0900 + + Add test for the TeX to HTML converter + +commit fe2fbe06e1b7db42ea2578e8d853cf83d7bb72a9 +Author: Olaf Meeuwissen +Date: Sun Jul 10 19:29:55 2016 +0900 + + Refactor TEXINPUTS handling + +commit f322cbc7f950b087e969ac115a5b4e14735881e4 +Author: Olaf Meeuwissen +Date: Sun Jul 10 15:41:08 2016 +0900 + + Add support for PDF API spec output + + Note that pdflatex internally uses epstopdf which in turn requires a + working ghostscript. + +commit 5a73fb24d1e7a5dcdd287ce7654050b1703cc9c6 +Author: Olaf Meeuwissen +Date: Sun Jul 10 14:48:43 2016 +0900 + + Be quiet but do not hide errors + +commit e0fd693bb170813f95241898a53ba3f9c261c22a +Author: Olaf Meeuwissen +Date: Sun Jul 10 13:32:22 2016 +0900 + + Fix API spec generation for VPATH builds + +commit cb04102a20bc5b1e9cbb990805de3586a0a940c0 +Author: Olaf Meeuwissen +Date: Sat Jul 9 15:10:00 2016 +0900 + + Add GitLab CI musl build job + +commit be7af6835741c18ea93babd421c083c377b1f88d +Author: Ruslan Nabioullin +Date: Sat Oct 29 20:27:47 2011 -0400 + + Fixed scanning status messages. Fixes 313411 + +commit d62d0a2e452e9ed1ae74cc20c01488543cda8ef9 +Author: Olaf Meeuwissen +Date: Wed Jul 6 20:23:12 2016 +0900 + + check-po.awk: fix awk invocation + + The awk utility has been moved to /usr/bin and the script relies on + features present in gawk but not in mawk. + +commit ddbdfd6206e30e513509720dd5137c26c9efc248 +Author: Olaf Meeuwissen +Date: Sun Jul 3 21:11:04 2016 +0900 + + Fix configure time test + +commit c17821e3609080309bcb8a3173cb071e1493a62c +Author: Olaf Meeuwissen +Date: Sat Jul 2 19:23:01 2016 +0900 + + Fix configure time warning during CI build + +commit c96236862635f74d8a1c01654430d93bed83f756 +Author: Olaf Meeuwissen +Date: Fri Jul 1 23:45:43 2016 +0900 + + Sync autofoo + +commit a9c813944e9aa0ceb6c153d06dff286ba855b90e +Author: Olaf Meeuwissen +Date: Fri Jul 1 23:37:49 2016 +0900 + + Make libusb-1.0 the default for USB support + + When libusb-1.0 is not found, libusb-0.1 will be tried. On BeOS and + OS2, nothing should have changed in terms of detection of USB support. + + On all systems the --enable-libusb* flags are now ignored. Instead, the + --with-usb and --without-usb flags now control support. When neither is + given USB support will be enable if possible and disabled otherwise. If + --with-usb is requested but not possible, ./configure will fail. There + is no support to prefer libusb-0.1 over libusb-1.0. + +commit 418fbb987d731ed2468f48a6fb162f47ea7da55e +Author: Olaf Meeuwissen +Date: Thu Jun 30 21:50:33 2016 +0900 + + Sync autofoo, once again ... + +commit 602182931dceeedddcc6be3b144cbc1423bd9b4a +Author: Olaf Meeuwissen +Date: Thu Jun 30 21:49:25 2016 +0900 + + Improve test shell builtin invocation portability + + Looks like I missed this when committing 309a8140. + +commit 828cd013e9a4411158af8816a63b133b6da19ed5 +Author: Olaf Meeuwissen +Date: Thu Jun 30 21:38:04 2016 +0900 + + Compile getopt replacement functions only if needed + + This ought to get rid of the last empty compilation unit warnings. This + merges libfelib.la with liblib.la. The former was always used together + with the latter. The latter was only ever used without the former when + linking backends and tools. + + Tools might want to use the getopt functions, backends might just want + to use MD5. + +commit 89dc05006ec93e8fd8a103504701db720814669a +Author: Olaf Meeuwissen +Date: Wed Jun 29 22:21:10 2016 +0900 + + Sync autofoo + + Looks like the sorting of the DIST_COMMON file list is not stable. + +commit a298bfe5a8c65236ac13130e891a93bf3cf58976 +Author: Olaf Meeuwissen +Date: Wed Jun 29 22:20:51 2016 +0900 + + Fix AS_IF condition + +commit f03f1f66d4a7704c20d221897665509d7f1a626a +Author: Olaf Meeuwissen +Date: Wed Jun 29 22:15:06 2016 +0900 + + Sync autofoo files + +commit 1c946f7c194869966f6d3af9df499184d3035c20 +Author: Olaf Meeuwissen +Date: Tue Jun 28 22:42:09 2016 +0900 + + Compile replacement functions only if needed + + This ought to get rid of most empty compilation warnings. + +commit 0c2b86ac0b56ee7cb8b962102c54855f05887b08 +Author: Olaf Meeuwissen +Date: Mon Jun 27 22:33:28 2016 +0900 + + Fix distcheck issues in tools/ + + Automake is smart enough these days to compile the *.lo files that are + used when linking. + + The umax_pp_CPPFLAGS are useless because backend/umax_pp_low.c undefines + BACKEND_NAME unconditionally and sets it to what was passed here ;-) + +commit 81f9557966ad335a76deff57a112607d9813ba7a +Author: Olaf Meeuwissen +Date: Mon Jun 27 22:08:20 2016 +0900 + + Clean up .gitignore file content + + Removes empty lines and duplicates (note that .gitignore patterns are + recursive unless anchored with a leading /). + +commit 61f3fec68e14944be7ecf219ec604e599141cbdf +Author: Olaf Meeuwissen +Date: Mon Jun 27 22:05:50 2016 +0900 + + Remove references to SANE CVS + + The references in in-file changelogs and the ChangeLog files have not + been modified. Only those references that refer to current practices + or locations. + +commit c23791cbd71d58b2627cfc65bbf2cb20aeb51bba +Author: Olaf Meeuwissen +Date: Mon Jun 27 21:51:43 2016 +0900 + + Sync AUTHORS content with current status + + We've been using git for a while ;-). Also updates the write access + info and fixes encoding issues. + +commit cb4924f210bf758558b583220a14ed5a62f178dc +Author: Olaf Meeuwissen +Date: Sun Jun 26 10:22:35 2016 +0900 + + Stop distclean from removing files willy-nilly + + The distclean target should only remove files that make creates. If + there are any that need taking care of, they should be added in on a + per file basis in the Makefile.am that creates it. + +commit 0065aaa1c8cb823d20b1e0ff32b3f6197e73db3f +Author: Olaf Meeuwissen +Date: Sun Jun 26 10:11:42 2016 +0900 + + Remove overly zealous ignore patterns + + Text editor backup and temporary files like *~ are a per developer + issue, add them to your global .gitignore. Other dot-files should + be ignored on a case-by-case basis. + +commit 8274a52eec3c20becf9901acaab4837b6b61c2f7 +Author: Olaf Meeuwissen +Date: Sun Jun 26 10:07:26 2016 +0900 + + Sort .gitignore files + +commit b25ef62c2bb163fffea56000ef25544a236d2096 +Author: Olaf Meeuwissen +Date: Sun Jun 26 10:05:12 2016 +0900 + + Fix sorting of ignore files + + We haven't been using CVS since ... 2009-05-04 :-| + +commit 0bc7b6aed7e3ac8ee78190f0e795ce9c62c3f36e +Author: Olaf Meeuwissen +Date: Sun Jun 26 09:16:54 2016 +0900 + + Sync *.po files with previous changes + + This changes the file/line references in all files (and picks up any + new messages as a side effect). + +commit bdade6bb07a0ec27e3930c0b3b86c28a5c2a5bd9 +Author: Olaf Meeuwissen +Date: Sun Jun 26 09:15:24 2016 +0900 + + Sync derived files with previous changes + +commit ec4fe7ec7200a881feba5b539256dc58ae1edbaf +Author: Olaf Meeuwissen +Date: Sun Jun 26 08:50:04 2016 +0900 + + Prefer gettext's --disable-nls option + +commit c676acbe472f2a57763d0ce198e50b048d37bbda +Author: Olaf Meeuwissen +Date: Sun Jun 26 08:49:14 2016 +0900 + + Switch to using the gettext build machinery + + This adds two automatically maintained English variants that handle + quote substitution in onrder to provide smart quotes. + +commit 0286bf46fc2992dfd2e9539fb939c243db13e91f +Author: Olaf Meeuwissen +Date: Sun Jun 26 08:30:45 2016 +0900 + + Add gettext build machinery files for I18N/L10N support + + These are courtesy of autopoint and target gettext-0.18.1 because that + is the version in Debian 7 (which is what Alioth is running). The one + warning this produces on autoreconf is fixed in gettext-0.18.2, BTW. + +commit eecee6d1014537cabe427d44168fce9ac9894301 +Author: Olaf Meeuwissen +Date: Sat Jun 25 15:23:05 2016 +0900 + + Fix VPATH build issue + + The source *.po files weren't found when you configured outside of the + top source directory. + +commit 00984cd1119bb9bb5b794bfc0f1ef77369978d68 +Author: Yurii Kolesnykov +Date: Sat Jun 25 03:34:12 2016 +0300 + + Fix compilation of saned.c under OS X + +commit ad176ba9fe1f7608d8ad8032407cf1f7dc66dad6 +Author: Alessandro Zummo +Date: Tue Jun 21 00:50:02 2016 +0200 + + epsonds: remove unused var + +commit 1dbabdce5d34e686608bb997245c49a823e19fb5 +Author: Alessandro Zummo +Date: Tue Jun 21 00:49:08 2016 +0200 + + epsonds: fix compilation + +commit 9b389a61c5e698e8bffb186bdbc005739128b427 +Author: Alessandro Zummo +Date: Tue Jun 21 00:43:39 2016 +0200 + + epsonds: added support for network scanners + +commit f13ca02b86a4d27951149723ca2ae81491991c18 +Author: Olaf Meeuwissen +Date: Mon Jun 20 21:42:56 2016 +0900 + + Fix variable name typo and other typographic nit-picks + +commit e7100e275d58d67b903e883e7a02e45d18f81ef7 +Author: Olaf Meeuwissen +Date: Wed Jun 15 20:47:28 2016 +0900 + + Update documentation to reflect recent changes + +commit 5695d01077c7e575808a37a66df37d1f9fafa637 +Author: Olaf Meeuwissen +Date: Wed Jun 15 20:23:33 2016 +0900 + + Silence overly verbose targets + + This only takes effect with silent rules enabled. + +commit 43cdc1056af899520797b09f3f78ba64703ed74d +Author: Olaf Meeuwissen +Date: Wed Jun 15 20:18:25 2016 +0900 + + Do not duplicate Warning on output + +commit 40bfec7a6b4a804201bad7f0517f16b0c6ae4110 +Author: Olaf Meeuwissen +Date: Wed Jun 15 20:17:29 2016 +0900 + + GitLab-CI: fix configure option + +commit f75e271853f40c6cb00ce59cbb4e9d62d083a1b2 +Author: Olaf Meeuwissen +Date: Tue Jun 14 21:24:53 2016 +0900 + + Tweak GitLab CI builds + + The idea is to build as much as possible for the *-full flavour build, + make compiler warnings stand out and muddle on after errors so that we + get all the problems in a single log. + +commit ef7deff36c759efa8d371251febef6d37d4eb94b +Author: Olaf Meeuwissen +Date: Tue Jun 14 21:20:48 2016 +0900 + + Add missing autofoo file + + This should have gone in with d853463e. + +commit d853463ef1b97082d657a0be32d1b27a04940ea2 +Author: Olaf Meeuwissen +Date: Tue Jun 14 06:30:48 2016 +0900 + + Sync derived files + + This was done with + + AUTOMAKE="automake --add-missing --copy" autoreconf --force + + on Debian GNU/Linux 8.5. + +commit 17d78ab7c326069c3a596f17ded6418ef42930bc +Author: Olaf Meeuwissen +Date: Fri Feb 12 21:09:32 2016 +0900 + + Fix warnings of "newer" automake versions + +commit a7376ffa6dd1796c1678b33bd03bf19766e227de +Author: Olaf Meeuwissen +Date: Fri Feb 12 20:52:57 2016 +0900 + + Fix libtoolize warning + +commit 7675cb7c3eb5b6e97fb87adc464b6bcc67cfd7dd +Author: Olaf Meeuwissen +Date: Thu Feb 11 17:43:14 2016 +0900 + + Drop Makefile.in from EXTRA_DIST + + Automake is smart enough to include this on its own. + +commit 7bfa818c57485310994650528124a7036894eb36 +Author: Olaf Meeuwissen +Date: Thu Jan 14 21:22:00 2016 +0900 + + Set up compiler and linker early and in one place + +commit f80cf1dbbdd85f2a0b595aef83cc63faa0c91c04 +Author: Olaf Meeuwissen +Date: Thu Jan 14 20:21:49 2016 +0900 + + Remove unused SANE_LINKER_RPATH macro + +commit e4ad1f58f31ec7110df716494b13cf96156b6a7c +Author: Olaf Meeuwissen +Date: Thu Jan 14 18:50:47 2016 +0900 + + Enable ISO C99 support for more compilers + +commit 444b572d1a559d93a6ad172f86bdcc9197377e75 +Author: Olaf Meeuwissen +Date: Sat Jan 9 18:43:36 2016 +0900 + + Use autoconf provided --docdir + +commit f1f4180e5b6f71bf3a674bbfcbf7932b401d7a96 +Author: Olaf Meeuwissen +Date: Sat Jan 9 18:24:20 2016 +0900 + + Collect autoconf bits in one place + +commit 35f1936aeba18b34628d35938529e0d2af0e58c7 +Author: Olaf Meeuwissen +Date: Sat Jan 9 18:11:53 2016 +0900 + + Determine version bits and release programmatically + +commit 16497dc13838e14784778883fb2837fbcf9e288e +Author: Olaf Meeuwissen +Date: Sat Jan 9 17:59:20 2016 +0900 + + Replace convenience variable by its expansion + +commit 9a52b5bc27c2a50e14161b4dcaba43f825cf91a4 +Author: Olaf Meeuwissen +Date: Sat Jan 9 17:48:27 2016 +0900 + + Fix variable name typo + +commit 79c623628a28b6c28321cad6518bf98cf7a705a4 +Author: Olaf Meeuwissen +Date: Sat Jan 9 17:48:03 2016 +0900 + + Fix new automake warnings + +commit 97fed76717367289a8e160dab4341d79586c1079 +Author: Olaf Meeuwissen +Date: Sat Jan 9 17:22:31 2016 +0900 + + Replace obsolescent macro with LT_INIT option + +commit c868a2e8d48e3c31051b6a8978c9b1df494bc36b +Author: Olaf Meeuwissen +Date: Sat Jan 9 17:22:07 2016 +0900 + + Remove commented out code + +commit 4894b1513d829957e109e5c49b812dc688fe78b3 +Author: Olaf Meeuwissen +Date: Sat Jan 9 17:11:19 2016 +0900 + + Drop a pile of unnecessary macro invocations + + These are already taken care of by other macros. + +commit ae89c8f98362a4e50d4b1a0ce8f3586b77a81989 +Author: Olaf Meeuwissen +Date: Sat Jan 9 15:59:35 2016 +0900 + + Update to automake-1.11.6 + + This turns on additional warnings and adds support for silent make + rules (so compiler warning really stand out ;-). + +commit 87e12bbf2e4312bf0bd18656afe579919c8788e1 +Author: Olaf Meeuwissen +Date: Mon Jun 13 22:24:21 2016 +0900 + + Sync derived files with autoreconf --force + + For the record, this was done on Debian GNU/Linux 8.5. + +commit 309a8140e7285f87d5fc5ee24b942f1713e80be8 +Author: Olaf Meeuwissen +Date: Wed Oct 28 21:59:42 2015 +0900 + + Improve test shell builtin invocation portability + + POSIX 2008 obsoletes the -a and -o operands (according to the autoconf + documentation). + +commit d9e2f441139c0514c3d388976d1f8fc78a04de95 +Author: Olaf Meeuwissen +Date: Wed Oct 28 20:59:22 2015 +0900 + + Double quote code passed to AC_LANG_PROGRAM + + Upon re-reading the autoconf documentation, this seemed the right thing + to do. The AC_LANG_PROGRAM macro does not quote its arguments so any + occurence of [ and ] will get stripped out if not double quoted. + + Current code snippets passed do not use them but it is better to use a + consistent quoting approach for such snippets. In other places in the + configure.ac file double quoting is used already. + +commit d3d5dc3da04cce842f7fa8d941676f2f5abc3bbd +Author: Olaf Meeuwissen +Date: Thu Oct 22 22:18:19 2015 +0900 + + Update to autoconf-2.69 + + This gets rid of a number of obsoleted macros and replaces RETSIGTYPE + with a void literal which can be assumed for C89 and later. + + This changeset was prepared using autoupdate and modified to get rid of + whitespace and doubled [] changes. Changes to acinclude.m4 were added + by hand. + +commit 2d6fad58b4c61d59bec3879dab9ccf0c1b88dd11 +Author: Olaf Meeuwissen +Date: Thu Oct 22 20:15:45 2015 +0900 + + Respect GNU Standards user variables + + Several variables are considered "user variables" by the GNU Standards. + This means that the user can pass these to their ./configure and make + invocations as they see fit. These variables include CPPFLAGS, CFLAGS + and LDFLAGS. + + This changeset pushes our use of these variables to the automake shadow + variables, AM_CPPFLAGS, AM_CFLAGS and AM_LDFLAGS, so that user variables + will no longer clobber flags required in order to build. + +commit 7a2b112d20e08337528128745bf7cc1d6096a1d8 +Author: Olaf Meeuwissen +Date: Wed Oct 21 22:33:53 2015 +0900 + + Prefer make variables over literal substitutions + + The AC_SUBST and PKG_CHECK_MODULE invocations in configure.ac as well as + acinclude.m4 are sufficient to trigger automake to insert initialization + logic for the variables these introduce. There is no need to do this by + hand. Wherever these values are needed, it is better to use a variable. + This allows for one-off overrides on the make command-line (without the + need to run ./configure) for one thing. + +commit 2745528b60617d737a7a597c4ee5397359a6ddfd +Author: Olaf Meeuwissen +Date: Mon Oct 19 21:52:47 2015 +0900 + + Fix non-POSIX automake file variable warning + + This addresses warnings about the use of the $(wildcard) function. + It has been replaced by a plain shell glob. There is one case where + this will result in an error, when there are no matches, but that is + when the targets that use it make no sense. It is probably good to + get an error in that case. + +commit d81836bd2332e42136a15a72961c0b9295d94b58 +Author: Olaf Meeuwissen +Date: Mon Oct 19 21:04:53 2015 +0900 + + Add automake subdir-objects option + + This addresses autoreconf output such as: + + tools/Makefile.am:37: warning: source file '../backend/sane_strstatus.c' is in a subdirectory, + tools/Makefile.am:37: but option 'subdir-objects' is disabled + + The option was introduced in automake version 1.9 and is slated for + unconditional activation with automake-2.0. + +commit d38a098ec6fce0aa18dd757677c5a07ff1a44163 +Author: Olaf Meeuwissen +Date: Mon Oct 19 20:20:56 2015 +0900 + + Rename configure.in to configure.ac + + This name has been preferred since autoconf-2.52 and automake-1.5. + Both were released in the summer of 2001. Support for configure.in + is slated for removal in automake-2.0. + + The configure.ac file itself requires autoconf-2.54 or later (and + does not care about the automake version). + +commit c9027378a12a6f67b22ee5fe203df1739486e3ad +Author: Olaf Meeuwissen +Date: Mon Jun 13 20:35:34 2016 +0900 + + xerox_mpf: Make JPEG support an option + +commit 359bb9c3d48c87324b2ead602de76e0e35daadba +Author: Olaf Meeuwissen +Date: Sun Jun 12 20:32:30 2016 +0900 + + Add CI support to test selected build scenarios + +commit 5ba37467e88ca8052973b37128ce8fd36ad5d61d +Author: m. allan noah +Date: Thu Jun 9 21:51:18 2016 -0400 + + fujitsu backend v131 + + - hide compression-arg option when jpeg disabled + - add Send/SC/GHS macros for recent scanners + - add initial support for fi-74x0 + - add initial support for fi-7030 + - set has_MS_lamp=0 for fi-71x0 + - add I18N macros to all option titles and descriptions + - add usb ids for many newer scanners + +commit ec8bf64396b394c4d483b811f9948871f12882b4 +Merge: 1d2a40e 1e01365 +Author: Louis Lagendijk +Date: Sat May 21 22:06:57 2016 +0200 + + Merge branch 'master' of ssh://git.debian.org/git/sane/sane-backends + +commit 1e013654cc3af09f4731ab9ec8d8324d03a7de4a +Author: Alessandro Zummo +Date: Mon May 9 11:10:35 2016 +0200 + + pieusb: mkostemp -> mkstemp + +commit 926bfade544de4a4fd5f1a8082b85a97e2443770 +Author: Alex Belkin +Date: Sat May 7 22:33:03 2016 +0300 + + Color scanning for Samsung models, which support JPEG Lossy compression. + + Patch is submitted by Laxmeesh Onkar Markod + + Patch to code is applied almost verbatim, except, insignificant + formatting fixes and making new functions static. + + Also, new USB ids added and scanner support is changed as reported. + +commit 1d2a40ec96aea0ba183415efea570301159d4159 +Author: Louis Lagendijk +Date: Sat Apr 30 15:32:55 2016 +0200 + + pixma_mp150.c: fix parameter settings for MB5000 in send_scan_param + +commit 28dcd0aef4ac91b87527c17c8aa89e879f39f20d +Author: Louis Lagendijk +Date: Wed Apr 27 18:45:22 2016 +0200 + + pixma_mp150.c: replace multiple if statements with case statement in handle_interrupt + +commit eb712c6bd8ca6a42a1d3941583fa18b9981b8712 +Author: Louis Lagendijk +Date: Wed Apr 27 17:55:52 2016 +0200 + + pixma_mp150.c: scan param 0x26-0x29 should contain localtime HHMM, also for MB5000 series + +commit c8169b1e656f7f95c67946298da5a0e1c143f8e8 +Author: Louis Lagendijk +Date: Fri Apr 22 23:58:23 2016 +0200 + + pixma.h: step version of the backend to 0.17.32 + sane-pixma.man pixma.desc: mark Maxify MB5000 as complete (but ADF does not work) + +commit dfc5487571ed2915bda7bdedbd4c79015004361b +Author: Louis Lagendijk +Date: Fri Apr 22 22:42:48 2016 +0200 + + pixma_mp150.c: fix 1200 dpi scanning for MB5000 series + +commit d5e1323738a4ed2edc96b566138c7cc6c55f3f5e +Author: Louis Lagendijk +Date: Fri Apr 22 21:05:40 2016 +0200 + + pixma.h: step pixma backend version to 0.17.31 + +commit c2985f0fd60279bca0dcfed3d3fb60cc33cfe4dc +Author: Louis Lagendijk +Date: Fri Apr 22 21:03:48 2016 +0200 + + pixma_bjnp_private.h: change minimum timeout value for the bjnp protocol to 1 sec + as 500 ms gives errors on scanimage -A (it workked for scanbd) + +commit 4b2f171a13248a8e3d79379e368c54fb71ed97e2 +Author: Louis Lagendijk +Date: Wed Apr 20 11:19:32 2016 +0200 + + pixma_bjnp.c pixma_bjnp_private.h: set minimum timeout for network operations to 500ms + +commit affe1ac821b17813188bd91045ced32fe4fcfe56 +Author: Louis Lagendijk +Date: Wed Apr 20 10:58:54 2016 +0200 + + pixma_bjnp.c pixma_bjnp_private.h: make bjnp protocol follow timeouts set by backend + +commit 53aa78df3a6980791ce250c471d019c5c59b83ec +Author: Louis Lagendijk +Date: Mon Apr 18 22:00:15 2016 +0200 + + pixma_mp150.c: Fix scanbutton detection for MB5000 series + +commit 1452cf2e0d9f56602a5ca9b07e52f8d8f6b9ec8a +Author: Louis Lagendijk +Date: Sat Apr 16 21:37:25 2016 +0200 + + pixma_bjnp: Remove dead code in polling + +commit 19c128a23e27c1ab5a030fa6ff74da1b740629bb +Author: Rolf Bensch +Date: Tue Apr 12 18:30:24 2016 +0200 + + README.linux: move installation description into new document INSTALL.linux + +commit 51943537c314c9060138df8b37307377c307ba3a +Author: Rolf Bensch +Date: Tue Apr 12 18:14:55 2016 +0200 + + pixma: backend version 0.17.30 + +commit 270a8cd3bebfb2a630a1b74d5abd0b6fe2fc2e5d +Author: Rolf Bensch +Date: Tue Apr 12 18:13:36 2016 +0200 + + pixma: Canon PIXMA MG7700 Series is working + +commit 2556ffc2c593c3408cc554ecc97e07db457c975d +Author: Rolf Bensch +Date: Thu Mar 31 11:21:27 2016 +0200 + + pixma_mp150: MG7700 Series doesn't need special image format post processing @ high dpi + +commit e6b6ad9d4847e86aed8be0837a19bfada881f52d +Author: m. allan noah +Date: Tue Apr 5 20:30:10 2016 -0400 + + canon_dr backend v55 + + fixed-width scanners were calculating left-side offset incorrectly in color + initial support for DR-F120 + rename all DUPLEX_INTERLACE_* to indicate start and end of line + +commit 41a416e4afcf6cada69193dc408ef184d0e5f678 +Author: Alessandro Zummo +Date: Mon Mar 21 18:59:47 2016 +0100 + + epsonds: fixed resolution setting bug, DS-60000 workaround is needed no more + +commit 52bc4d241c9587e99be2ae4566ad01469a3ecab9 +Author: Rolf Bensch +Date: Mon Mar 21 10:53:29 2016 +0100 + + pixma: backend version 0.17.29 + +commit bc1637bb39794b415a2e73ee990e4763c73be3f9 +Author: Rolf Bensch +Date: Tue Feb 16 16:20:58 2016 +0100 + + pixma_mp150: MG3600 Series doesn't need special image format post processing @ 1200dpi + +commit 23eb95582da718791103b83ea002e947caa0f5fc +Author: Rolf Bensch +Date: Fri Mar 4 13:38:12 2016 +0100 + + pixma: backend version 0.17.28 + +commit eba9c9e2391d59459e5fa3f362d8dc08d14c7b9c +Author: Rolf Bensch +Date: Fri Mar 4 13:36:08 2016 +0100 + + pixma_imageclass: software lineart for all imageCLASS, imageRUNNER, i-SENSYS and laserBase scanners, + supported by this sub-backend + + imageCLASS scanners: + D420, D480, D530, MF810/820, MF3240, MF4010, MF4150, MF4270, MF4320, MF4360, + MF4410, MF4570dw, MF4690, MF5630, MF6500, MF8030, MF8170c + + i-SENSYS scanners: + MF210, MF220, MF3010, MF4500, MF4700, MF4800, MF5880dn, MF5900, MF6100, + MF6680dn, MF8200C, MF8300, MF8500C + + imageRUNNER scanners: + iR1133 + + laserBase scanners: + MF5650 + +commit 38d6f1ba6dd48d8139b3ef504b4c7920d0e4736b +Author: Rolf Bensch +Date: Fri Mar 4 13:08:31 2016 +0100 + + pixma_imageclass: MF6100 Series document feeder does not have 600DPI capability + +commit 328e9b93d71d1f9b031c4066e4cba00893703c4a +Author: Stéphane Voltz +Date: Thu Mar 3 21:59:24 2016 +0100 + + raise build number + +commit 8ad2c60d82797cc3495f63f8230bdf6f999067a1 +Author: Stéphane Voltz +Date: Thu Mar 3 21:58:55 2016 +0100 + + use half step mode for LiDE 110 600 dpi scan + +commit 52ea420d44a26832f662c837bbbe4d2f7002875a +Author: Stéphane Voltz +Date: Thu Mar 3 21:46:43 2016 +0100 + + use half step for LiDE 210 600 dpi scans + +commit bd0b0cd218504868f32962a5558449956c8ce242 +Author: Stéphane Voltz +Date: Thu Mar 3 21:39:25 2016 +0100 + + use rewind instead of slow_back_home + + - if required by flags, do a rewind instead a slow_back_home that pollutes + shading settings + +commit 3dee0f8d48e26e3aceb0243d03199af5870f30e2 +Author: Stéphane Voltz +Date: Thu Mar 3 21:31:01 2016 +0100 + + implement rewind for gl847 and gl124 + +commit de635a32f9638f5fad5806ab5de9498f5fa47ca9 +Author: Stéphane Voltz +Date: Thu Mar 3 21:12:29 2016 +0100 + + add rewind function to command set + +commit 270d6a4242c95d6d376f442ca701e067e3fc74d1 +Author: Stéphane Voltz +Date: Mon Feb 29 21:14:30 2016 +0100 + + fix Lide 110 gray mode max speed + +commit 2f891c13bb5cb1728479ee08ba45b756f68a3287 +Author: Rolf Bensch +Date: Thu Mar 3 13:40:46 2016 +0100 + + pixma: backend version 0.17.27 + +commit bbd327f5e7c973db331f3f309788d852367bc79a +Author: Rolf Bensch +Date: Thu Mar 3 13:38:33 2016 +0100 + + pixma_imageclass: reduce timeout for failed first usb command to 2 seconds + +commit c41640f36433e646989665bac0ac5da460f2d9a9 +Author: Rolf Bensch +Date: Thu Mar 3 13:36:44 2016 +0100 + + pixma: new global parameter to set duration of receive timeout loop + + The default value for receive timeout loop duration has not been changed. + The loop still takes 8 seconds if a timeout occurs. + +commit 9897357727b65d13167b89cd1d1fe816f4d72563 +Author: Stéphane Voltz +Date: Sun Feb 28 21:26:27 2016 +0100 + + enable pixel averaging whne bleow 600 for all models + +commit d784dec60b096b8e8fe18f5f7b5c1921249d6ed2 +Author: Stéphane Voltz +Date: Sun Feb 28 12:26:12 2016 +0100 + + motor table fixes + + - add target speed for 600 dpi gray + - add slope table for 4800/2400 dpi, gray and color + +commit 759729331cc60a86d884518064b2dc92736f7abd +Author: Stéphane Voltz +Date: Sun Feb 28 12:18:56 2016 +0100 + + fix maximum speed compute in gray mode + +commit e1b1ba8aeecf2eefa2855ec8c77604a8070027ab +Author: Stéphane Voltz +Date: Fri Feb 26 05:57:35 2016 +0100 + + fix expiration time option reading + +commit 61d6f5c2140e6e659db20916937cc95c5c7256f3 +Author: Stéphane Voltz +Date: Thu Feb 25 21:37:55 2016 +0100 + + mode set fixes + +commit fa2c9dc9b216fa7b7f1baf013b7cbe8eb3df8597 +Author: Stéphane Voltz +Date: Thu Feb 25 21:37:00 2016 +0100 + + fix GPIO during scan + +commit c5117ed0f1b522eab10fd2248f140b2acad2a708 +Author: Stéphane Voltz +Date: Wed Feb 24 21:43:29 2016 +0100 + + doc and version update + +commit 747275a00f03e4ab643461448985ce20879e1d12 +Author: Stéphane Voltz +Date: Wed Feb 24 21:15:26 2016 +0100 + + add 1200 and 2400 dpi mode for LiDE 120 + +commit 2a18600792c00f9ca37ff5b52d2cc1c8202d8b4b +Author: Stéphane Voltz +Date: Wed Feb 24 06:35:46 2016 +0100 + + make 1200 dpi scan mode work for LiDE 120 + +commit b11a69d27572aa938cedff303ba7560ca9793943 +Author: Stéphane Voltz +Date: Wed Feb 24 06:17:50 2016 +0100 + + make 600 dpi mode work for LiDE 120 + + - add override for registers 0x16 and 0x70 since 120's sensor + is set differently according to resolution + +commit 15e203de89abe53f732aa431548645c5c9838237 +Author: m. allan noah +Date: Tue Feb 23 21:11:00 2016 -0500 + + Various copyright comment updates + +commit 1465543cc0dd9e4fb4b3706ca6793e90a35ce389 +Author: m. allan noah +Date: Tue Feb 23 21:07:06 2016 -0500 + + fujitsu backend v130 + + run init_model before init_ms so some scanners can override + set all M309x and M409x scanners s->broken_diag_serial = 1 + +commit 963de58dfc4498693aeeec35a9ff23363af6ac67 +Author: m. allan noah +Date: Tue Feb 23 20:42:52 2016 -0500 + + Enable padded read for DR-3080CII + +commit 1207ce5a40664c04b934bd0a6babbc1575361356 +Author: m. allan noah +Date: Tue Feb 23 20:36:32 2016 -0500 + + Support SANE_USB_WORKAROUND env var + + Here, we add a new env var (SANE_USB_WORKAROUND) to sanei_usb.c. + This allows end users to conditionally enable the workaround added + in commit 014b45d920f1fb630e1a31bb01f1da02ea2a6a87. The default is + to not enable the workaround, because more recent Linux kernels no + longer seem to need it. Some users have even reported failure with + the workaround enabled. + +commit 219198838be069d7e3d48b53762727f1bbfb93e5 +Author: Stéphane Voltz +Date: Tue Feb 23 21:39:22 2016 +0100 + + LiDE 120 working [75-300] dpi + + - fix sensor pixel number + - enable calibration + - default to 16 pixel DUMMY + +commit 4fd1d10228047a740f28b1cd25579b7c40c93b1f +Author: Stéphane Voltz +Date: Mon Feb 22 21:45:02 2016 +0100 + + tune scanarea geometry + +commit a74ebe551daf8750821b1ab57324e54141a84461 +Author: Stéphane Voltz +Date: Sun Feb 21 22:14:48 2016 +0100 + + first almost correct scan at 300 dpi + +commit 8f938f2d00d27070e826f88a77264ee36d0bbedf +Author: Stéphane Voltz +Date: Sun Feb 21 09:48:26 2016 +0100 + + GL124 DAC and SENSOR setup changes + +commit f56ffa63b99db4767b35d294fef96476b228f993 +Author: Stéphane Voltz +Date: Sun Feb 21 09:47:47 2016 +0100 + + doxygne fix + +commit 2e1102dc3ab1ee4d7bfec3e7cbf6e3a1527f5264 +Author: Stéphane Voltz +Date: Thu Feb 18 21:41:38 2016 +0100 + + add dedicated reference slope tables for LiDE 120 + +commit 214dfad1d5aa841b597187004747ec88c507cf06 +Author: Stéphane Voltz +Date: Wed Feb 17 21:43:05 2016 +0100 + + use dedicated LiDE120 GPIO + +commit 387cea7d6ce75af9441c5841221267bef7b7924c +Author: Stéphane Voltz +Date: Wed Feb 17 21:04:55 2016 +0100 + + define dedicated motor/sensor/gpio for LiDE 120 + +commit e90f8cb8a1e62f6865d9e237fd1f0e7f773e5094 +Author: Stéphane Voltz +Date: Fri Feb 12 08:11:20 2016 +0100 + + latin1 -> utf8 + +commit d74d3bcd887d2a3d59ee96e04eb68f15c0a3b882 +Author: Rolf Bensch +Date: Thu Feb 18 22:34:16 2016 +0100 + + README.linux: add some hints for individual SANE installations + +commit 926a7e67b6f81ffdb1b4f67a55bf84862efcf6b9 +Author: Rolf Bensch +Date: Wed Feb 17 21:24:18 2016 +0100 + + pixma: fix scanner names + +commit 235dc80b5f3faaf195eef1e177a1f38284ca3bee +Author: Rolf Bensch +Date: Wed Feb 17 21:10:44 2016 +0100 + + pixma: Canon i-SENSYS MF6100 Series is working + +commit 6d89f7ef25266cc9a53440bbf68ff2e1a37d4b86 +Author: Rolf Bensch +Date: Wed Feb 17 21:06:04 2016 +0100 + + pixma: backend version 0.17.26 + +commit 7a227dcaf2771b31feb852e6a83336976966a0ab +Author: Rolf Bensch +Date: Wed Feb 17 21:03:18 2016 +0100 + + pixma_imageclass: wait for 8sec to throw last page out of ADF feeder @ ADFDUP + +commit 23efb9f55f466179df86848912acbed1a94c10ff +Author: Rolf Bensch +Date: Wed Feb 17 21:01:48 2016 +0100 + + pixma_imageclass: PIXMA_ENO_PAPER check also for ADFDUP scans + +commit 29ceb0e377009cd6829d8f68c58a2197ac19a20d +Author: Rolf Bensch +Date: Wed Feb 17 20:59:32 2016 +0100 + + pixma_imageclass: fix for failed first usb command (timeout) + + Sometimes the first usb command to the scanner fails after a previous scan. + A workaround was to reconnect the usb cable. This fix simply resends the + failed command. + +commit 8f1202d6537568e56b4886ebe5d41d0210ffacd9 +Author: Rolf Bensch +Date: Wed Feb 17 20:55:49 2016 +0100 + + pixma_imageclass: fixes for MF6100 Series + + - special ADF settings + - the MF6100 Series is a Generation 2+ scanner, but uses the old read image command + +commit 02855737ee84e3c72bceff9ba06fddc5a5d99860 +Author: Rolf Bensch +Date: Wed Feb 17 20:32:00 2016 +0100 + + pixma: use usb timeout instead of sleep timer while waiting for usb response + +commit 4771fab9c16b477dc376bd2e5fdd8d0dc7f2c478 +Author: Rolf Bensch +Date: Wed Feb 17 20:30:47 2016 +0100 + + pixma: reduce global usb read and write timeouts to 1 sec + +commit 99f7e7872f2619c3ebec2590b91de3fb0ca28a1a +Author: Olaf Meeuwissen +Date: Sat Feb 13 17:37:34 2016 +0900 + + Disable use of pthreads if pthread.h cannot be found + +commit 04d5e4a0cf775f6483873a3f1e70a173587546b6 +Author: Olaf Meeuwissen +Date: Sat Feb 13 17:34:46 2016 +0900 + + Move #include to sanei_thread.h + + The sanei header file may need pthread_t. If it does, make sure it + is available. + +commit af35e9ba749cce6e735d685ec4495e8c8d85778c +Author: Rolf Bensch +Date: Thu Feb 11 12:06:34 2016 +0100 + + pixma: Canon Pixma MG3600 Series is working + + Reported by Rajib Bandopadhyay + +commit 7bd773ade5ff1bc4170d2a1773428efe759aaa75 +Author: Stéphane Voltz +Date: Tue Feb 9 09:55:26 2016 +0100 + + LiDE 120 support wip + +commit 056f590f2d147099554d97a89dd5e0ddfa8d6dda +Author: Alessandro Zummo +Date: Sat Jan 23 00:55:31 2016 +0100 + + epsonds: fixed comment + +commit cf2dfea0008d16cb70f8baeaae5a414e9bdafda3 +Author: Alessandro Zummo +Date: Fri Jan 22 20:44:36 2016 +0100 + + epsonds: extend the bug fix to all depths + +commit 8fd6151acd1a1b313b1c9fabb5e2691ba45de9d6 +Author: Alessandro Zummo +Date: Fri Jan 22 17:38:00 2016 +0100 + + epsonds: fix stripes on DS-60000 at 1bpp/300dpi + +commit 4fa7f4f6f8b69f41fd5d03abc12d16e0f2e876b3 +Author: Alessandro Zummo +Date: Fri Jan 22 17:01:57 2016 +0100 + + epsonds: clear endpoints on startup in order to fix some strange scanner / xhci combo + +commit f78e85cad666492fadd5612af77fa7c84e270a12 +Author: Rolf Bensch +Date: Fri Jan 8 18:35:20 2016 +0100 + + pixma: backend version 0.17.25 + +commit b08c324223732407d736a79ab8c59f01b3774736 +Author: Rolf Bensch +Date: Fri Jan 8 18:34:27 2016 +0100 + + pixma: Canon PIXMA MG5700 Series is working + + Reported by Andrew Reginato, bug #315244 + +commit 0f47b47b759908e7b11800404d269087d60d87ad +Author: Rolf Bensch +Date: Fri Jan 8 17:32:36 2016 +0100 + + pixma_mp[150|810]: disable send_time() + + The function send_time() makes trouble with a lot of scanners. + We send a warning to the debug output instead of sending the time. + + fix for [#315248] Canon MP250 with pixma backend is not working + +commit b040b150a08b0b5394ad3bc91a45966d97f58152 +Author: Rolf Bensch +Date: Fri Jan 8 16:54:30 2016 +0100 + + pixma: fix for [#315244] Add support for Canon PIXMA MG5700, MG6800, MG6900 and MG7700 + + These scanners are new and need further testing! + +commit 81c429082c3c139f8616de4a73733953cd5aa33f +Author: Rolf Bensch +Date: Fri Jan 8 16:43:46 2016 +0100 + + pixma: update copyright + +commit 9aecb00947e6bf7ef1cf412aff2ab41202617b30 +Author: Olaf Meeuwissen +Date: Fri Jan 8 21:26:31 2016 +0900 + + md5: Avoid the need for casting + + This also modifies the code slightly to follow the original array + access more closely. + +commit cdad5961f3888f0a3c0c525d0efab33174c11a24 +Author: Volker Diels-Grabsch +Date: Sun Dec 6 01:23:51 2015 +0100 + + Introduce md5_set_uint32 + + This fixes the following GCC warning: + + warning: dereferencing type-punned pointer will break strict-aliasing rules + +commit f3471c2ca6ea22846dd6619aff7913610722a6c0 +Author: Olaf Meeuwissen +Date: Sat Jan 2 17:50:34 2016 +0900 + + saned: Use system header IPv6 test macros if available + + This should fix [-Wstrict-aliasing] compiler warnings on those systems + where the IN6_IS_ADDR_LOOPBACK and IN6_IS_ADDR_V4MAPPED macros exist. + POSIX.1-2001 states that they shall be defined in netinit/in.h so most + systems will probably have them. + +commit 0de5416a9bafa1ade52722c509817276bbf87d8a +Author: Olaf Meeuwissen +Date: Sat Jan 2 16:06:34 2016 +0900 + + umax_pp: fix memory leak + + Found courtesy of [-Wunused-but-set-variable] compiler warning. + +commit 9d78ace3b7e60afa2b3cb829ac23e5f8b4ccdc07 +Author: Olaf Meeuwissen +Date: Sat Jan 2 16:06:00 2016 +0900 + + umax_pp: fix [-Wunused-but-set-variable] compiler warnings + +commit 3f0c3df2fcde8d0cf30ab68c70cb5cad984dda6f +Author: Olaf Meeuwissen +Date: Thu Dec 31 17:51:00 2015 +0900 + + kvs40xx: fix [-Wstrict-aliasing] compiler warnings + +commit b1f886a2e36555fb0b01c8eb22a0041aebe25795 +Author: Olaf Meeuwissen +Date: Thu Dec 31 17:47:40 2015 +0900 + + kvs20xx: fix [-Wstrict-aliasing] compiler warnings + +commit 0e3a5c4197fe36eae739a6086b484ff16b83d663 +Author: Olaf Meeuwissen +Date: Thu Dec 31 17:43:25 2015 +0900 + + kodakaio: fix [-Wformat=] compiler warnings + + This uses the ANSI C approach that is used in a lot of existing code + rather than what ISO C99 allows for consistency. + +commit cadb4b0fff00540159625320416e5601c4704627 +Author: Olaf Meeuwissen +Date: Sat Dec 26 17:45:56 2015 +0900 + + saned: fix [-Wmaybe-uninitialized] compiler warning + +commit 572e61d39a10ac7299d95005fa7543afe4957d80 +Author: Olaf Meeuwissen +Date: Sat Dec 26 14:56:12 2015 +0900 + + p5: fix [-Wunused-but-set-variable] compiler warnings + +commit f9e44963801be2940c71e49d7c76a4e59b28dfc7 +Author: Olaf Meeuwissen +Date: Sat Dec 26 14:51:21 2015 +0900 + + xerox_mfp: fix [-Wunused-but-set-variable] compiler warning + +commit f276e3e05503c5f44890df5a8105959ea07dbb6d +Author: Olaf Meeuwissen +Date: Sat Dec 26 14:49:25 2015 +0900 + + umax1220: fix [-Wunused-but-set-variable] compiler warning + +commit e28bdadae98f203188253c5b0a8825a284c8c066 +Author: Olaf Meeuwissen +Date: Sat Dec 26 13:27:47 2015 +0900 + + u12: fix [-Wunused-but-set-variable] compiler warning + +commit 70c9e1d13ce705249ddbbee2dad5e6307fe77ffa +Author: Olaf Meeuwissen +Date: Sat Dec 26 13:25:18 2015 +0900 + + sm3840: fix [-Wunused-but-set-variable] compiler warnings + +commit 9d4f2a72098436e4a65d2047a151ba3c0af82907 +Author: Olaf Meeuwissen +Date: Sat Dec 26 13:18:13 2015 +0900 + + sm3600: fix [-Wunused-but-set-variable] compiler warning + +commit 82720a2023d8e75480036a9e86f8a57d0bfe6a10 +Author: Olaf Meeuwissen +Date: Thu Dec 24 19:01:09 2015 +0900 + + sharp: fix [-Wunused-but-set-variable] compiler warning + +commit da010d6088a75ed85472c46e9a29ace18cd7eda9 +Author: Olaf Meeuwissen +Date: Thu Dec 24 17:44:04 2015 +0900 + + niash: fix [-Wunused-but-set-variable] compiler warning + +commit 86c5d6d7bd52dcb4208c7d5a1ba8844e8c8011e5 +Author: Olaf Meeuwissen +Date: Thu Dec 24 17:38:41 2015 +0900 + + nec: fix [-Wunused-but-set-variable] compiler warning + +commit 220429ff9ebc78e9869e431125ffd9a235efa93d +Author: Olaf Meeuwissen +Date: Wed Dec 23 22:27:47 2015 +0900 + + mustek_usb2: fix [-Wunused-but-set-variable] compiler warnings + +commit 7efb05627273266a8171d3f9244bbd7a433d6e44 +Author: Olaf Meeuwissen +Date: Wed Dec 23 22:19:01 2015 +0900 + + mustek_pp: fix [-Wunused-but-set-variable] compiler warning + +commit 664398cc311b85647a804bee0f8f230a0e3a3f49 +Author: Olaf Meeuwissen +Date: Wed Dec 23 22:12:07 2015 +0900 + + mustek: fix [-Wunused-but-sed-variable] compiler warnings + +commit 8b75c6d45002ffafae6cfbf2edd64b3de35d3b04 +Author: Olaf Meeuwissen +Date: Wed Dec 23 22:17:40 2015 +0900 + + microtek2: fix another [-Wunused-but-set-variable] compiler warning + + This allows for the fact that the backend may be compiled with and + without support for authorization. + +commit c1458770955b5476eedc89755bb424744b05b055 +Author: Olaf Meeuwissen +Date: Wed Dec 23 22:11:31 2015 +0900 + + microtek2: fix [-Wunused-but-set-variable] compiler warnings + +commit 26aa8b52f60adf7553b2872f54a85cfd7b20dd98 +Author: Olaf Meeuwissen +Date: Sat Dec 26 17:41:09 2015 +0900 + + magicolor: fix [-Wunused-function] compiler warning + + This function is only used when SNMP support is activated. + +commit 292dd42bb6585e2801623d1f33497581626d9d72 +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:50:42 2015 +0900 + + magicolor: fix [-Wunused-but-set-variable] compiler warning + +commit d0e85e9d5e775f143f3db98e762d72861f60a82b +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:48:09 2015 +0900 + + ma1509: fix [-Wunused-but-set-variable] compiler warning + +commit 7c0f5ec66c7fd673d27876b538e52440a897cc1f +Author: Olaf Meeuwissen +Date: Sat Dec 26 17:36:57 2015 +0900 + + lexmark: fix [-Wmaybe-uninitialized] compiler warning + + This adds a default handler to switch statement so low_get_start_loc() + bails before the start_600 variable is used. + +commit 068c3bb75d3972dd2218caa84a6de761c5ca0db8 +Author: Olaf Meeuwissen +Date: Sat Dec 26 17:28:34 2015 +0900 + + kodakaio: fix [-Wunused-function] compiler warning + + The function is only used when Avahi support is enabled and has been + put in a suitable compilation scope. + +commit 610dc9ceb4d9eb061209d935e2b1966dfca5a74c +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:38:08 2015 +0900 + + kodak: fix [-Wunused-but-set-variable] compiler warning + +commit 2724f85552def3fa0c92d88389854c283eac38d3 +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:36:54 2015 +0900 + + hpsj5s: fix [-Wunused-but-set-variable] compiler warning + +commit aabb63dbbfdfea9f444019a19171bdcace08b0dd +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:35:39 2015 +0900 + + hp4200: fix [-Wunused-but-set-variable] compiler warnings + +commit a82798d5e1d8352daa1d519d77a7a22771c8439e +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:33:40 2015 +0900 + + hp3500: fix [-Wunused-but-set-variable] compiler warning + +commit 51277aec4a6959f88d46d7ca14cfb94166c328eb +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:24:10 2015 +0900 + + hp: fix [-Wunused-but-set-variable] compiler warnings + +commit a97b1738dfcc16cd0a7fd68f95df8b013f3cb206 +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:19:46 2015 +0900 + + gphoto2: fix [-Wunused-but-set-variable] compiler warning + +commit cbeb98daeceb262b3a868c1b2ea2102b98760e61 +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:10:29 2015 +0900 + + epson: fix [-Wunused-but-set-variable] compiler warning + +commit cbc72a017123b81a21c6b69ffcb6f828cc810f03 +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:08:46 2015 +0900 + + dmc: fix [-Wunused-but-set-variable] compiler warning + +commit fb4147c4f13f7f39c00a807ecc327b5824df21f5 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:58:07 2015 +0900 + + dc240: fix [-Wunused-but-set-variable] compiler warning + +commit bcfa3f6591744e43a0aa7be228505423b25f7731 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:56:49 2015 +0900 + + dc210: fix [-Wunused-but-set-variable] compiler warning + +commit c31cf621062ae4ef69a80d51879d242978853859 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:55:36 2015 +0900 + + dc25: fix [-Wunused-but-set-variable] compiler warnings + +commit 43b296471bc5a902de470f57df681d0c04964b91 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:51:28 2015 +0900 + + coolscan: fix [-Wunused-but-set-variable] compiler warnings + +commit 50ca4bc97670fed1083a5677ddfa71f74bd495dc +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:49:17 2015 +0900 + + cardscan: fix [-Wunused-but-set-variable] compiler warning + +commit c2b7b1af748527dd8ba0fcabc4310fcac1bdf491 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:46:13 2015 +0900 + + canon636u: fix [-Wunused-but-set-variable] compiler warning + +commit e8818437456f36c721f12d311bdb65f3d45606c7 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:39:15 2015 +0900 + + canon: fix [-Wunused-but-set-variable] compiler warnings + +commit 592430016c97b4362314c63a1ac7c96f23d71e4d +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:30:02 2015 +0900 + + avision: fix [-Wunused-but-set-variable] compiler warning + + The variable seems to have been superseded by conv_out_size in the + else branch of set_calib_data(). + +commit 5b8fdd317f1bb4076b8fe661db78c230af21004b +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:27:20 2015 +0900 + + artec_eplus48u: fix [-Wunused-but-set-variable] compiler warning + + This leaves the sane_close() implementation just as broken as it has + been from the initial commit sometime in 2002. + +commit ec1936713e67b192d057b2f552a25622f88844a1 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:26:21 2015 +0900 + + artec_eplus48u: fix [-Wunused-but-set-variable] compiler warning + + The variable was only used to silence a [-Wunused-parameter] warning. + +commit 5b21a24312f2cf2ced5d5c70b0f7d2c1f0c58f35 +Author: Olaf Meeuwissen +Date: Wed Dec 23 19:57:13 2015 +0900 + + artec: fix [-Wunused-but-set-variable] compiler warning + + The variable is used to assign return values but is not referenced by + anything itself. + +commit 57ae115eafa5b52b84b8e2878982cdad7c1a9f13 +Author: Olaf Meeuwissen +Date: Sat Dec 26 17:12:41 2015 +0900 + + sanei_thread: fix [-Wmaybe-uninitialized] compiler warning + +commit cd3453948dd812aaa77d921b198351b340f8c748 +Author: Olaf Meeuwissen +Date: Wed Dec 23 18:53:06 2015 +0900 + + sanei_usb: const_cast data buffer + + The libusb_bulk_transfer() API caters to both reads and writes and + as a result of that will not take a const pointer. + +commit be084e0d7bb7933e1826e6e48b42f43bc3cb077a +Author: Olaf Meeuwissen +Date: Sat Dec 26 17:05:17 2015 +0900 + + sanei_usb: Move variable declarations to scope of usage + + Fixes an [-Wunused-variable] when compiling without libusb. + +commit 0d7882e34b5f5625261258a3a341a58a04beb304 +Author: Olaf Meeuwissen +Date: Sat Dec 26 16:51:44 2015 +0900 + + Change compile time warning policy + + The -Wall flag is now always enabled (when using gcc). The -Wextra + flag (previously known as -W) and -pedantic flags are, by default, + enabled during development but disabled for releases. + + All other flags have been removed. + +commit 5136e664b8608604f54a2cc1d466019922b311e6 +Author: Olaf Meeuwissen +Date: Sun Dec 20 21:58:45 2015 +0900 + + Document ChangeLog policy change + +commit 674b75fc913187415b4f151a52e4bc7004c5d5b0 +Author: Olaf Meeuwissen +Date: Sun Dec 20 17:33:55 2015 +0900 + + Improve readability of condition + + This also fixes the following GCC warning: + + warning: logical not is only applied to the left hand side of comparison + +commit 58052a7ce6b205e25a2fc85f31158595cad00258 +Author: Volker Diels-Grabsch +Date: Sat Dec 5 21:33:48 2015 +0100 + + Change GCC mode from ISO C90 to ISO C99 + + Add GCC flag "-std=c99". Also remove GCC flag "-ansi" which is an + alias for "-std=c90" and would make the flag "-std=c99" ineffective. + This fixes all occurrences of the following GCC warning: + + warning: ISO C90 does not support '__func__' predefined identifier + +commit baec5e039504de390cae41557b0b8323343721c3 +Author: Volker Diels-Grabsch +Date: Sat Dec 5 10:48:59 2015 +0100 + + Use consistently __func__ instead of __FUNCTION__ + + Some parts of SANE used __FUNCTION__ while other parts used __func__. + Now, __func__ is used consistently throughout the SANE sources. This + fixes all occurrences of the following GCC warning: + + warning: ISO C does not support '__FUNCTION__' predefined identifier + +commit 93298674d02b1127efdf4e726e92e797a0081c9e +Author: Volker Diels-Grabsch +Date: Sat Dec 5 20:44:14 2015 +0100 + + Merge all compatibility macros around __func__ and __FUNCTION__ + + Various parts of SANE introduced their own compatibility macros for + old compilers that don't support __func__. Most of these definitions + are identical or have minor differences. This patch replaces them + with a single instance in the central header file for backends. + +commit 7c8c8e29beed2c4e6f96db08031c12c9001ca784 +Author: Volker Diels-Grabsch +Date: Sun Dec 6 03:32:51 2015 +0100 + + Remove dead code due to unused variables + + This fixes some occurrences of the following GCC warning: + + warning: variable '...' set but not used + +commit aba87a4582d594cf953b4bda5b5d42e37e13f21c +Author: Volker Diels-Grabsch +Date: Sun Dec 6 01:30:30 2015 +0100 + + Mark internal function toupper_ascii as static + + This fixes the following GCC warning: + + warning: no previous prototype for 'toupper_ascii' + +commit 13b6faee2a0696eb02a61f22121b7f4854987f2e +Author: Volker Diels-Grabsch +Date: Sun Dec 6 03:03:06 2015 +0100 + + Fix interface of helper function write_many + + This fixes two occurrences of the following GCC warning: + + warning: cast discards 'const' qualifier from pointer target type + +commit badd7025b21b2207cfb95001aeb324597e24b301 +Author: Volker Diels-Grabsch +Date: Sun Dec 6 02:37:10 2015 +0100 + + Bugfix: On error, return the actual error code in sanei_magic_rotate + + Up to now, on failure the sanei_magic_rotate function returned a + success status. This fixes the following GCC warning: + + warning: variable 'ret' set but not used + +commit 6aced758f4a95fd858906f3e898ee967a9718641 +Author: Volker Diels-Grabsch +Date: Sun Nov 29 16:02:01 2015 +0100 + + Fix typos in comments + + While reading through the SANE sources I noticed some annoying typos + in the comments. This patch is my contribution to make the SANE + sources slightly more pleasant to read. + +commit 6d8b8d5aa6e8da2b24e1caa42b9ea75e9624b45d +Author: Alessandro Zummo +Date: Tue Dec 15 16:17:53 2015 +0100 + + epsonds: fix duplex w/ double feed detection + +commit e9b52639e8dca938b5569b1697c36796ab92174a +Author: m. allan noah +Date: Tue Dec 15 07:23:42 2015 -0500 + + Add note about changelogs + +commit 06d876f74e5d07cb82d02ca1222926a61a3e458b +Author: Stéphane Voltz +Date: Tue Dec 15 06:05:07 2015 +0100 + + fix for #315050 + + - handle case where linesel is rounded to 0 when scan y resolution is + below minimal scan resolution but higher than half of the minimum + +commit 753d123f36d08cdb8047adac7c89a9fe015c4b25 +Author: m. allan noah +Date: Sat Nov 28 08:34:58 2015 -0500 + + canon_dr desc update + + add note about mode switch on P-208 + +commit f1593204c72124f3077b0b29f3c128d30be415b5 +Author: Olaf Meeuwissen +Date: Fri Nov 27 21:26:46 2015 +0900 + + Drop execute permission + + Source code, description files and configuration templates should never + need to be executed. + +commit e094c5b43b6d8d8bec84bd5b1ab2c6009f38e14b +Author: Olaf Meeuwissen +Date: Fri Nov 13 22:06:30 2015 +0900 + + Invert sense of sanei_thread validity check + + Double negatives suck. + +commit fe12d31e6873f5c3de330f1de4c4fbc851df1e9f +Author: Olaf Meeuwissen +Date: Fri Nov 13 21:41:56 2015 +0900 + + Fix SANE_Pid related -Wsign-compare warnings + + This may fix threading related issues on WIN32 platforms, BTW. + +commit ed59056d40a143b3cf9243ea0068448a88ce3108 +Author: m. allan noah +Date: Mon Nov 23 21:26:09 2015 -0500 + + canon_dr backend v54 + + - br_x and br_y locked to page_width/height until changed + +commit d0ea697ab83360bf0ccddcd02565f85ea0f96b50 +Author: m. allan noah +Date: Mon Nov 23 21:08:30 2015 -0500 + + fujitsu backend v129 + + - br_x and br_y locked to page_width/height until changed + - add USB ID's for fi-6xxxLA and fi-6xxxZLA scanners + - add USB ID's for unsupported SP11xx scanners (genesys based) + +commit e6a249e0424f6854b7ed12f8272633a0edecfa90 +Author: m. allan noah +Date: Thu Nov 12 21:10:49 2015 -0500 + + revert mustek_usb2 backend upgrade + + Instead of 100+ revert commits, I've lumped everything into a + single commit. This removes all of dedf0ac30 through db7f038f1, + plus the parts of 497d59180 which were specific to mustek_usb2 + +commit 21c5f4d814f93a363377798635c7f1cbc1c79342 +Author: Olaf Meeuwissen +Date: Wed Nov 11 22:38:56 2015 +0900 + + Add missing #include for malloc() + +commit 7dc416b7ae3f0db7c5ce97b5bce0f05f869d877f +Author: Olaf Meeuwissen +Date: Wed Nov 11 22:38:32 2015 +0900 + + Remove unnecessary cast + +commit fff1c5962a94ab410dba4fed541312554c8edf8d +Author: Olaf Meeuwissen +Date: Wed Nov 11 22:35:34 2015 +0900 + + Fix "discards 'const' qualifier from pointer target type" warnings + + The line variable is not (and cannot be) declared 'const'. The string + variable points to a location in line, hence it is safe to cast away + 'const'ness of the sanei_config_skip_whitespace() return value. + +commit 38153b33e1657137e6956e63a9fcb76d665f86f2 +Author: Olaf Meeuwissen +Date: Wed Nov 11 22:33:34 2015 +0900 + + Fix "discards 'const' qualifier from pointer target type" warning + + The device2 variable is not modified so let's make that clear. + +commit d2576bbb948dd9d8e06f66dc4cede774c5518751 +Author: Olaf Meeuwissen +Date: Wed Nov 11 22:30:10 2015 +0900 + + Fix "discards 'const' qualifier from pointer target type" warnings + + The cs3_xfree() functions is really just a checked call to free() so its + signature has been changed to match that. The warnings that causes have + been fixed in the same way and on the same grounds as the previous commit. + +commit e65fd1b4cb5e9463d16a6fb4cd8eeb129ba58e63 +Author: Olaf Meeuwissen +Date: Wed Nov 11 22:28:17 2015 +0900 + + Fix "discards 'const' qualifier from pointer target type" warnings + + The resources pointed to have been acquired by the backend. It is safe + to cast away the 'const' qualifier when releasing these resources. + +commit 497d59180649a831691220aefcc8ec81d5f90960 +Author: m. allan noah +Date: Sun Nov 8 17:17:37 2015 -0500 + + automake for recent changes + + updates to mustek_usb2, canon_dr and umax_pp require automake run + +commit db7f038f108ca12966b947dd80f3772e2133495e +Author: Jan Hauffa +Date: Sat Jul 14 23:15:02 2012 +0200 + + Fix a bug introduced during refactoring that caused discolored stripes to appear at the left and right sides of the scan area. + +commit a64477bf1a381458e0500ef7c62da521d6c4d97f +Author: Jan Hauffa +Date: Sat Jul 14 16:44:28 2012 +0200 + + Remove USB 2.0 mode, as it causes horrible backtracking for resolutions > 300 dpi. + +commit 98248f6088850045579a1e46f2e8aa16302f9dd9 +Author: Jan Hauffa +Date: Sat Jun 30 22:37:21 2012 +0200 + + properly add new handle to linked list + +commit 3b48a6d10560e855cef815ca5c1ecbb50fd02d00 +Author: Jan Hauffa +Date: Sat Jun 30 00:04:06 2012 +0200 + + fix integer overflow bug in image data conversion + +commit d0ea79f00059a4a8c3a2ac710fd0443c8bbb3d3a +Author: Jan Hauffa +Date: Sun May 27 12:23:53 2012 +0200 + + Add model-specific functions for computing the number of motor steps. + +commit 15fbbf60a6d8c9956a6b6a874f2d0b734ab1b935 +Author: Jan Hauffa +Date: Sun May 15 22:42:17 2011 +0200 + + Split SetMotorSteps into a function that computes the number of steps for the various motor states and and a function that writes the step counts to the controller's registers. + +commit 70dcfa4cedf3619575d413126d3530b28e490fd3 +Author: Jan Hauffa +Date: Sun May 15 21:16:00 2011 +0200 + + Simplify SetMotorStepTable*. + +commit 27b636d294876c7aac0b53922bacac627ba873c9 +Author: Jan Hauffa +Date: Sun May 15 19:58:09 2011 +0200 + + Provide model-specific function for computing the motor current. + +commit 8f405f5a937fd05a67a7554138c047fb5abe5e2c +Author: Jan Hauffa +Date: Sun May 15 18:13:44 2011 +0200 + + Update motor table generation according to new dumps. + +commit 2fa054456e723d7741be4eeb09bb879b802fad9d +Author: Jan Hauffa +Date: Sun May 15 15:09:21 2011 +0200 + + Detect USB controller type. + +commit d8a203a69373bb6f207de9ddc9c30a60da4a2cc9 +Author: Jan Hauffa +Date: Sun May 15 14:35:06 2011 +0200 + + Add function to compute scan motor table for 4800H48U, rearrange code in Asic_SetWindow. + +commit ceb7d29690f2ce8f32576caa4b7197fc91b024c1 +Author: Jan Hauffa +Date: Sun May 8 17:39:31 2011 +0200 + + Fix some misuse of SENSOR_DPI constant. + +commit 30e39071560412b362e03a105e20996093074d81 +Author: Jan Hauffa +Date: Sun May 8 16:44:15 2011 +0200 + + Allow for model-specific parameters in mustek_usb2_high.c. + +commit 47c56e3f19b38c97db4f2d14f780343adca9024f +Author: Jan Hauffa +Date: Sun May 8 14:55:42 2011 +0200 + + Add some motor-related code for the Microtek 4800H48U. + +commit 7b26e0e3fa48742b66bd4632772d70d140058c70 +Author: Jan Hauffa +Date: Sun May 8 13:56:17 2011 +0200 + + Simplify SimpleMotorMove. + +commit 0a1125895b3f1ed0058729fcc29d6858ac6d5e56 +Author: Jan Hauffa +Date: Sat May 7 13:58:24 2011 +0200 + + Add some information about the values retrieved by GetChipStatus. + +commit c691b0224130763239966c1d7856e96810289238 +Author: Jan Hauffa +Date: Sat May 7 13:28:52 2011 +0200 + + Remove restriction to 8-bit color in negative mode. + + The only reason for that restriction was that the histogram stretching code, which has been removed earlier, could only handle 8-bit color. + +commit 4ced7a900a6463c460121eaed7583f4249ef74c2 +Author: Jan Hauffa +Date: Sat May 7 12:45:50 2011 +0200 + + Improve debug logging and fix a bug in TestDRAM. + +commit e1c00bd9ab9d3f4b568d5bb6d09e0812cbef7b7f +Author: Jan Hauffa +Date: Wed May 4 23:30:14 2011 +0200 + + Introduce SetMotorCurrentAndPhase for Microtek scanner, fix old bug in simplification of Mustek variant. + +commit 96b4950499d0cf44369fc8e50099925de2ac3c4f +Author: Jan Hauffa +Date: Mon Apr 25 20:25:02 2011 +0200 + + Register related fixes. + +commit 5d556cd5e65ba9d1df30e3a3beb0322549d040ff +Author: Jan Hauffa +Date: Mon Apr 25 19:26:32 2011 +0200 + + Introduce structure for specifying model-specific parameters on the ASIC level. + +commit 529b6a1d6dc3ff52945f8bf3323bf571596e8088 +Author: Jan Hauffa +Date: Sun Apr 24 21:01:10 2011 +0200 + + Fix bug in device list handling. + +commit 877f250b5c32f8403ab321d14fd76afd7e2c2d1d +Author: Jan Hauffa +Date: Sun Apr 24 20:54:19 2011 +0200 + + Resolve issue with debug logging. + +commit 272c1d6fdeb8af9d6d4b61f85b4a77ca2ebbb645 +Author: Jan Hauffa +Date: Sun Apr 24 20:30:19 2011 +0200 + + Add preliminary model entry for the Microtek 4800H48U. + +commit 7fda9bbf93f4565e1334ebafd0b6caf13d462de4 +Author: Jan Hauffa +Date: Sun Apr 24 20:21:41 2011 +0200 + + Introduce support for multiple scanners. + + Keep all state local and ensure that all resources are freed by sane_exit. Ensure that each function returns only those error codes that are valid according to the SANE standard. + +commit 6865eaf6edef0cc5ea30bcc0d72b52189132f4d6 +Author: Jan Hauffa +Date: Sun Apr 24 14:49:06 2011 +0200 + + Simplify sane_read, other fixes to mustek_usb2.c. + +commit 63793907e2c2120511603a504396f7053fdc5149 +Author: Jan Hauffa +Date: Sun Apr 24 14:15:59 2011 +0200 + + Minor fixes to image processing. + +commit bc203e8aa125f276ce84498091185482a22d3527 +Author: Jan Hauffa +Date: Sun Apr 24 13:55:35 2011 +0200 + + Sanitize option handling and add support for scanner buttons. + +commit b2b3cf767a9a91677b0ac13a6645ed918ca71d55 +Author: Jan Hauffa +Date: Sun Apr 24 00:59:19 2011 +0200 + + Use standard macros for byte swapping. + +commit 281f53aa1829a61286232efed7a9d6253cec32d4 +Author: Jan Hauffa +Date: Sun Apr 24 00:39:59 2011 +0200 + + Remaining endian safety fixes. + +commit 80b7249ebf9c57b60cbc0a25288cc04ba2302b56 +Author: Jan Hauffa +Date: Sat Apr 23 22:42:45 2011 +0200 + + Resolve minor thread safety problem. + +commit de84f51270f05ead6758d2811a2d36160c412cb1 +Author: Jan Hauffa +Date: Sat Apr 23 19:31:50 2011 +0200 + + Simplify row stride calculation in Asic_SetWindow(). + +commit 7cd88d41222c85bd262fbf681401ae8c2dab1bce +Author: Jan Hauffa +Date: Sat Apr 23 19:21:52 2011 +0200 + + Remove Scanner_ScanSuggest. + +commit 3f5592ef8e7eedc0a9ff52b8091f9b41b9c2d56f +Author: Jan Hauffa +Date: Sat Apr 23 19:04:31 2011 +0200 + + Move global state variables of mustek_usb2_high.c into scanner structure. + +commit 60a244ed1e1a4e4f8c4dbd83f12141c0c35202ab +Author: Jan Hauffa +Date: Sat Apr 23 18:08:28 2011 +0200 + + Store size of shading table in ASIC structure. + +commit ed1997b22f5f11ccc96262ed841f03b705982737 +Author: Jan Hauffa +Date: Sat Apr 23 17:22:15 2011 +0200 + + Do not test for NULL before calling free(). + +commit 35c6a52834271e41960030b0c24f8cda2245230d +Author: Jan Hauffa +Date: Sat Apr 23 15:28:26 2011 +0200 + + Fix error propagation in mustek_usb2_high.c and a layering violation. + +commit babee5168909c8c3b8d01c36ab509ea4f7092c4f +Author: Jan Hauffa +Date: Thu Apr 21 23:25:34 2011 +0200 + + Fix indentation of debug macros. + +commit c0e44738a41c2cd772125d0774772a541dbac7c5 +Author: Jan Hauffa +Date: Thu Apr 21 23:23:18 2011 +0200 + + Simplify debug output in mustek_usb2.c. + +commit c377a0245332df3f5e07c3cbd5ead889f18e0549 +Author: Jan Hauffa +Date: Thu Apr 21 23:10:08 2011 +0200 + + Simplify debug output in mustek_usb2_high.c. + +commit eebbe92c4e73922f1fa1368852a77697c23a1ad1 +Author: Jan Hauffa +Date: Thu Apr 21 22:45:21 2011 +0200 + + Simplify debug logging in mustek_usb2_asic.c. + +commit 2c712f27c90109e2106d7e8d2f5eeb5af6314260 +Author: Jan Hauffa +Date: Thu Apr 21 00:12:26 2011 +0200 + + Remove uninformative function name prefixes, move gamma table creation into separate function. + +commit c1dc16d709459e054f50604f86f1ee41c0e7177f +Author: Jan Hauffa +Date: Wed Apr 20 23:10:53 2011 +0200 + + Extensive changes to reduce the amount of global variables in mustek_usb2_high.c. + + Might have made MustScanner_SetupScan less readable, though. + +commit 9444bf1156f0ab52937d101ba6120ae8685b645b +Author: Jan Hauffa +Date: Sun Apr 17 22:54:14 2011 +0200 + + Reorganize some MustScanner_* functions. + +commit bd7107ca057b1f45313d96114c6376bb5ee7c200 +Author: Jan Hauffa +Date: Sun Apr 17 22:29:32 2011 +0200 + + Remove some unneeded global variables from mustek_usb2_high.c. + +commit 589d6e15eee356121582eae90d7a938ff094c1e6 +Author: Jan Hauffa +Date: Sun Apr 17 21:57:18 2011 +0200 + + Endian-safe macros; moved remaining ASIC state into structure. + +commit f89a7962deafc3b015700469bc2976ac1b931165 +Author: Jan Hauffa +Date: Sun Apr 17 21:00:26 2011 +0200 + + Fix indentation. + +commit df045634cb6a9667c625fb88ecb36bcb58310cda +Author: Jan Hauffa +Date: Sun Apr 17 19:14:53 2011 +0200 + + Misc fixes. + +commit 86f399bd21d7794ba07265b503fea39baa1bb859 +Author: Jan Hauffa +Date: Sun Apr 17 19:00:30 2011 +0200 + + Code in mustek_usb2.c should not use global state of mustek_usb2_high.c. + +commit 74effd61fd8c9663b994459e8f5a738cc95c4932 +Author: Jan Hauffa +Date: Sun Apr 17 18:25:00 2011 +0200 + + Remove histogram stretching for negative images. + +commit 4962b35abd7426b7b51a00d907a538a2a38dc859 +Author: Jan Hauffa +Date: Sun Apr 17 15:56:40 2011 +0200 + + Use prefix 'p' instead of 'lp', fix other style issues. + +commit 9e2aabc97690baae4dd5a7d79d5e7d18df2cf697 +Author: Jan Hauffa +Date: Sun Apr 17 15:27:14 2011 +0200 + + If g_isCanceled is true, the thread has already been canceled. + +commit a75bd3e8f789435ac5d86ef100dd04e8bd155f76 +Author: Jan Hauffa +Date: Sun Apr 17 15:18:58 2011 +0200 + + Improve error handling in mustek_usb2_high.c. + +commit 1d0f3ca42ee9d84bd4afc2f379e46bc6a376de96 +Author: Jan Hauffa +Date: Sun Apr 17 14:51:01 2011 +0200 + + Fix remaining comments. + +commit 9226162537706c982405a7469e7003c4d61808e0 +Author: Jan Hauffa +Date: Sun Apr 17 14:23:46 2011 +0200 + + Normalize naming of constants, structures, and enums. + +commit d7ebb1553b8e28a9291493aa94003737f0c87298 +Author: Jan Hauffa +Date: Sun Apr 17 13:48:45 2011 +0200 + + Remove USB host type enum. + +commit 41ac627e5f4dbd84c082d1756414ef9922c294e7 +Author: Jan Hauffa +Date: Sun Apr 17 13:45:42 2011 +0200 + + Get rid of unnecessary forward declarations. + +commit da64a1fc1efd8a2e8b8245d6101deb103eea1dc4 +Author: Jan Hauffa +Date: Sat Apr 16 21:37:20 2011 +0200 + + First hack to build mustek_usb2* source files separately. + +commit 3479acf538335e1290ca00a5e5fef3097a835579 +Author: Jan Hauffa +Date: Sat Apr 16 20:24:26 2011 +0200 + + Merge mustek_usb2_reflective/transparent.c into mustek_usb2_high.c. + +commit a45931dd11e5fd270d963c5d4e1b882fa3755c90 +Author: Jan Hauffa +Date: Fri Apr 15 20:12:28 2011 +0200 + + Remove MustScanner_GetScannerState. + +commit c9516d53656ed5a7e45dc63b1f2202c96269a7ef +Author: Jan Hauffa +Date: Wed Apr 13 00:22:06 2011 +0200 + + Merge Reflective_Reset, Transparent_Reset, and MustScanner_Prepare into new function MustScanner_Reset. + +commit b2f52afa321331bf5214cdfe00d15ef479b88651 +Author: Jan Hauffa +Date: Sun Apr 10 18:53:37 2011 +0200 + + Further cleanup of mustek_usb2.c. + +commit ccce2d4a9a9e2762f8802af051db3f9ed2922ac8 +Author: Jan Hauffa +Date: Sun Apr 10 18:42:05 2011 +0200 + + Further cleanup of mustek_usb2.c. + +commit 39141a4c0265d97fe4d77084a5a63eaaafd8b8c4 +Author: Jan Hauffa +Date: Wed Mar 30 20:57:54 2011 +0200 + + Return SANE_STATUS_UNSUPPORTED unconditionally in sane_set_io_mode and sane_get_select_fd. + +commit d9c1df0bb84bffb23ee54be2fbd977e2a18ff4ed +Author: Jan Hauffa +Date: Wed Mar 30 19:41:05 2011 +0200 + + Remove vestigial support for custom gamma tables. + +commit acf84e0c9474382d78ae85120c2671b5525bd079 +Author: Jan Hauffa +Date: Tue Mar 29 18:25:19 2011 +0200 + + Clean up function StopScan. + +commit 9158d10df92b7d96bda66d9e601f248c5474259f +Author: Jan Hauffa +Date: Sat Mar 19 14:55:33 2011 +0100 + + Further simplification of MustScanner_Get*Line functions. + +commit 1f6b405451fda5fe349df1653e3423e8fc360e3b +Author: Jan Hauffa +Date: Sat Mar 19 14:14:30 2011 +0100 + + First attempt at simplifying the Get*Line functions. + +commit a6b15f18ccc430db08c638510bcd603d569723ee +Author: Jan Hauffa +Date: Mon Mar 14 00:50:30 2011 +0100 + + Break remaining long lines. + +commit 25242ff9c85f06275ca190896fe37b6d8902e122 +Author: Jan Hauffa +Date: Mon Mar 14 00:21:44 2011 +0100 + + Clean up mustek_usb2_high.c. + +commit c8982a99392cb7c982f12201a978fb4ae5e9e15a +Author: Jan Hauffa +Date: Sun Mar 13 21:13:26 2011 +0100 + + Do not use prefix "by" for byte variable names. + +commit d7b4e02780acd916ebbdd1cf8a9cc99945ea1acd +Author: Jan Hauffa +Date: Sun Mar 13 21:07:55 2011 +0100 + + Use SANE_Status and SANE_TRUE/SANE_FALSE consistently. + +commit 8b3c78838ae099d0099b54fbd640c0db1bb3b88c +Author: Jan Hauffa +Date: Sun Mar 13 20:06:24 2011 +0100 + + Create common helper function for Asic_CarriageHome and Asic_MotorMove, remove MotorBackHome. + +commit ed5dc8a7cdfb7c32faff37e7ea23446b5de9fc41 +Author: Jan Hauffa +Date: Sun Mar 13 19:41:40 2011 +0100 + + Further refactoring of Asic_SetWindow. + +commit 82a40d5dca84990f41c15998ae89425eaa576ff6 +Author: Jan Hauffa +Date: Sun Mar 13 19:24:17 2011 +0100 + + Refactoring of Asic_SetWindow. + +commit 93a79af5d3322fd06369c59a7e72f6773f9bed52 +Author: Jan Hauffa +Date: Sun Mar 13 15:54:02 2011 +0100 + + Fix indentation. + +commit b43f0688dbb309b7841e89074aab00d4aa61c3a2 +Author: Jan Hauffa +Date: Sun Mar 13 15:15:47 2011 +0100 + + Use symbolic constants in more places. + +commit 3c87b646b5831b24e6d9d13f26f2a08ec83b6cff +Author: Jan Hauffa +Date: Sun Mar 13 14:48:40 2011 +0100 + + First attempt at merging Asic_SetCalibrate into Asic_SetWindow. + +commit 033ebe6d9b6db266fb8146a4ac17d82043b5636a +Author: Jan Hauffa +Date: Sat Mar 12 19:25:59 2011 +0100 + + Made error handling in mustek_usb2_asic.c more consistent. + +commit 96c6ee1dae3dffe2eae9cf3466a0d246d9e3317d +Author: Jan Hauffa +Date: Sat Mar 12 16:20:36 2011 +0100 + + Cleaned up firmware state handling. + +commit c1f22ef9a9a3be1db26fc03721156a72156870b5 +Author: Jan Hauffa +Date: Sat Mar 12 14:18:48 2011 +0100 + + Clean up Asic_SetCalibrate, make Asic_SetCalibrate and Asic_SetWindow more similar. + +commit 3cd05daccad6bb1e50cc4030c0b471ed00897367 +Author: Jan Hauffa +Date: Sat Mar 12 02:13:34 2011 +0100 + + Refactoring the smaller high level ASIC functions. + +commit de5b647c4a47938f186b4661615dfbbd3315636d +Author: Jan Hauffa +Date: Fri Mar 11 23:48:21 2011 +0100 + + Refactored medium level ASIC functions. + +commit 693da258ce3bbcaf5c8ea31b9a08b77af615c0f2 +Author: Jan Hauffa +Date: Fri Mar 11 18:36:07 2011 +0100 + + Move some definitions from mustek_usb2_asic.h to more appropriate headers. + +commit 2776b336d15b0e8094271c69dfda7055cd1d896b +Author: Jan Hauffa +Date: Fri Mar 11 18:17:54 2011 +0100 + + Simplify LLFSetMotorCurrentAndPhase. + +commit dea59ee824157d33c64df719869ee937749f5428 +Author: Jan Hauffa +Date: Fri Mar 11 17:44:11 2011 +0100 + + Refactored all low-level motor functions except LLFSetMotorCurrentAndPhase. + +commit e47fee8dcc88ef4fc3e68ed65def29aacb56d17d +Author: Jan Hauffa +Date: Fri Mar 11 16:27:03 2011 +0100 + + Simplified computation of motor current, removed a redundant register assignment. + +commit 5688a78ace501c9a0ca36cee5f67a5929d652e81 +Author: Jan Hauffa +Date: Fri Mar 11 16:08:35 2011 +0100 + + Simplify low-level ASIC functions, add missing error checks. + +commit 1d8a008856d049df910b1d68599a622986ce85c4 +Author: Jan Hauffa +Date: Fri Mar 11 14:25:09 2011 +0100 + + Simplify SetRWSize, use symbolic constants for registers whenever possible. + +commit 794b15ff9e1daf87b80898aade0dc401e1f597d8 +Author: Jan Hauffa +Date: Fri Mar 11 13:38:40 2011 +0100 + + Simplyfied Asic_SetShadingTable. + +commit 6d5a5123ea3c41ada76e984670b988f847de2145 +Author: Jan Hauffa +Date: Fri Mar 11 13:12:31 2011 +0100 + + Remove whitespace at the end of debug output lines. + +commit d418094b64ad7ae2558860568c3e1e28a5a6cbc7 +Author: Jan Hauffa +Date: Fri Mar 11 13:08:03 2011 +0100 + + Some motor table related fixes. + +commit 3d1b409a1b526025c52c314f143cedd4d2d5d05f +Author: Jan Hauffa +Date: Fri Mar 11 02:28:14 2011 +0100 + + Fix a few comments. + +commit 88cac5b4ade1ad4ace0da5be843c879e9256c71c +Author: Jan Hauffa +Date: Fri Mar 11 02:25:43 2011 +0100 + + Begin simplifying LLFSetMotorCurrentAndPhase, ensure all fields of LLF_MOTOR_CURRENT_AND_PHASE are initialized. + +commit fb55a9260404049e00f13e627d7e3c8e06b397b8 +Author: Jan Hauffa +Date: Fri Mar 11 02:08:46 2011 +0100 + + Remove even more unused code from mustek_usb2_asic.c. + +commit 77ea9b01c374833e061ecee271d81a37f38dad77 +Author: Jan Hauffa +Date: Fri Mar 11 00:07:43 2011 +0100 + + Improved readability of functions in mustek_usb2_high.c. + +commit ca1e0db16f6aeb5c92e2ddf08700981f6799fc4e +Author: Jan Hauffa +Date: Thu Mar 10 01:39:01 2011 +0100 + + Remove unused code and fix indentation in mustek_usb2_high.c. + +commit 3f7cf8a65f48447fbc70808229ef6d2f50c3e412 +Author: Jan Hauffa +Date: Wed Mar 9 01:56:04 2011 +0100 + + Remove DISABLE bit flag constants. + +commit 073fe96611477986de970ab0c444f73024ecea33 +Author: Jan Hauffa +Date: Wed Mar 9 01:26:09 2011 +0100 + + LLF_MOTOR_CURRENT_AND_PHASE: only first byte of arrays MotorCurrentTableA/B is ever used + +commit 4b242a71394221a2155379b8e89340610a8ed725 +Author: Jan Hauffa +Date: Wed Mar 9 01:18:10 2011 +0100 + + Remove unused parameter isOrderInvert from MustScanner_GetMono*Line. + +commit 78863d13deacf657ef15b6078d0926fadbd9991a +Author: Jan Hauffa +Date: Wed Mar 9 01:05:41 2011 +0100 + + Remove redundant typecasts. + +commit cf6c88bfd1debd288ca563b54120e8ff3903f634 +Author: Jan Hauffa +Date: Wed Mar 9 00:41:21 2011 +0100 + + Try to reduce differences between mustek_usb2_reflective.c and mustek_usb2_transparent.c, part 1. + +commit 972fc54793d767a6cd18c722ae36feb408f45f9f +Author: Jan Hauffa +Date: Wed Mar 9 00:02:06 2011 +0100 + + Move some code that was duplicated in mustek_usb2_transparent.c and mustek_usb2_reflective.c to mustek_usb2_high.c. + +commit db37c13bb337c153ddd83902b8c9ad0b4a445c2a +Author: Jan Hauffa +Date: Tue Mar 8 23:10:57 2011 +0100 + + Remove information-less comments, break long lines, fix indentation. + +commit fa8101e05e0432a385e782acd663ce56e0c00367 +Author: Jan Hauffa +Date: Tue Mar 8 18:37:55 2011 +0100 + + Remove unused enum FS_NULL. + +commit ccde6b063555892ae55ac6c7bfeb8a7d44e02a4e +Author: Jan Hauffa +Date: Tue Mar 8 18:29:13 2011 +0100 + + Remove unused fields of struct GETPARAMETERS. + +commit 2be2be76aec39dbef8bbe0501eabaaf0838b3cbc +Author: Jan Hauffa +Date: Tue Mar 8 18:26:32 2011 +0100 + + Unified style of struct and enum definitions. + +commit ce6d7010d3fc0bfc5a54cd3411660db43e382bac +Author: Jan Hauffa +Date: Tue Mar 8 18:15:30 2011 +0100 + + Pixel flavor is never PF_WhiteIs0, so the associated code can be removed. + +commit 76a23c3bc4c80f91f223f29ae8cc5c91a1a8e4f8 +Author: Jan Hauffa +Date: Sun Mar 6 20:31:48 2011 +0100 + + Remove dead "auto level" code, sanitize key handling. + +commit e7c44fe6799e5c1d4bce272b539927337b7a2aca +Author: Jan Hauffa +Date: Sun Mar 6 20:19:27 2011 +0100 + + Cleanup of Asic_SetWindow + +commit 16485d47da8b2d0a829e378afa1443c1ef4839f8 +Author: Jan Hauffa +Date: Sun Mar 6 19:37:25 2011 +0100 + + Optimize motor table calculation. + +commit 8821c2882f51d309a7832b362407c46ff11ccd4a +Author: Jan Hauffa +Date: Sun Mar 6 19:16:16 2011 +0100 + + First attempt at cleaning up mustek_usb2_asic.c. + +commit 30087b3f43f4e6f2dd83373145dbe0a533b27419 +Author: Jan Hauffa +Date: Sun Mar 6 17:06:14 2011 +0100 + + Avoid some unorthodox language constructs. + +commit 030c7fa122dccca2f47c949ca46a5972efca20b8 +Author: Jan Hauffa +Date: Sun Mar 6 16:55:39 2011 +0100 + + Remove redundant code from mustek_usb2_high.c. + +commit a554d61c17206e6b1585bacdfd41fe4aacea1a95 +Author: Jan Hauffa +Date: Sun Mar 6 16:18:18 2011 +0100 + + Remove redundant code from mustek_usb2_asic.c, add a missing error check. + +commit a49bff1a60386c88168d9aa8a94cdc0ccecac7fd +Author: Jan Hauffa +Date: Sun Mar 6 15:39:23 2011 +0100 + + Simplify DRAM test. + +commit bc9252c09464b7ed460bf726dcca3d67f97cd74d +Author: Jan Hauffa +Date: Sun Mar 6 15:27:19 2011 +0100 + + Remove bogus automatic warmup and power saving functions. + +commit 0f63d16121ea84f99f75331582c3bdd0cd0d4e1f +Author: Jan Hauffa +Date: Sun Mar 6 15:13:46 2011 +0100 + + Remove redundant code from mustek_usb2.c. + +commit 694a69dcab0dddf2ab12eebba49c66c7ac20fdad +Author: Jan Hauffa +Date: Sun Mar 6 14:48:40 2011 +0100 + + Remove unused definitions from mustek_usb2.h. + +commit 21be236e840be4f8ca4bead69844f7cd691a8353 +Author: Jan Hauffa +Date: Sun Mar 6 13:57:10 2011 +0100 + + Remove unused definitions from mustek_usb2_asic.h. + +commit 2404326ddeaf7552e094062b1ed57521e9a21cb4 +Author: Jan Hauffa +Date: Sun Mar 6 02:41:42 2011 +0100 + + Remove unused definitions from mustek_usb2_high.h and ensure that the remaining ones are used consistently. + +commit d1851a6512a113d1dc4f20beb86a8be29310b627 +Author: Jan Hauffa +Date: Sun Mar 6 01:50:53 2011 +0100 + + Remove some particularly pointless comments, reduce size of block comments. + +commit 047631050c262142a0f52ed4e1ecc053b03869ad +Author: Jan Hauffa +Date: Sun Mar 6 01:15:12 2011 +0100 + + Remove pointless indirection. + +commit dedf0ac30d341b9bcbab7fb32050ff953cc73eff +Author: Jan Hauffa +Date: Sun Mar 6 01:03:14 2011 +0100 + + Remove unused global variable g_pDeviceFile and associated logic. + +commit 3b73e1e8a3b0085ad5db38837f0bf44f5a5b8919 +Author: m. allan noah +Date: Sun Nov 8 09:24:37 2015 -0500 + + fujitsu backend v128 + + do not ask fi-4340 for serial number + +commit 72ecee97ce9db13f148aedf52eb46911212d58e4 +Author: Thomas Klausner +Date: Tue Oct 27 20:06:00 2015 +0900 + + Add DragonFly BSD support (fixes 315205) + +commit a4cc05f677f110c9361f3274fc5d15087a2f8906 +Author: Thomas Klausner +Date: Tue Oct 27 20:09:00 2015 +0900 + + Add DragonFly BSD support to sane-find-scanner (fixes 315206) + +commit 1baab222e418275ec6fd14afad91b64d0110fdbd +Author: Olaf Meeuwissen +Date: Sun Nov 8 18:49:58 2015 +0900 + + Add missing include (fixes 315207) + + Both Linux and NetBSD mention this header for use of setsocketopt(). + DragonFly BSD needs it for the SOL_SOCKET symbol. + +commit b0a99cb48938cae5a88c5f37a9a91b60589bad4e +Author: Olaf Meeuwissen +Date: Sun Nov 8 18:36:57 2015 +0900 + + Fix non-portable endian.h include issue (315209) + +commit d7516a11ebd6a8d96380c5ee256b171be1cb5e35 +Author: Olaf Meeuwissen +Date: Sun Nov 8 18:16:17 2015 +0900 + + Fix sane-desc testsuite logic + + This fixes test failures for release tarballs (pointed out by Mike + Frysinger), clamps down on wildcards and prints a failure message + when a test does not succeed. + +commit 358cbd7f319c64055cd76fedf62a92500b0c5cf5 +Author: m. allan noah +Date: Fri Nov 6 21:39:35 2015 -0500 + + canon_dr v53 continued + + reorder geometry group options + use bg_color to fill missing image data + +commit 398610336b6aadf1a0c37390a0a5e2bd926bdfdf +Author: m. allan noah +Date: Fri Nov 6 12:19:20 2015 -0500 + + canon_dr backend v53 + + add swskip option + +commit b4bc0eb518ce74ffbfdbe0ce1a14bb404804cd57 +Author: m. allan noah +Date: Fri Nov 6 11:46:17 2015 -0500 + + canon_dr backend v53 + + replace image processing methods with sanei_magic + +commit 666c9a74ff26fd530b40db28f03b447209cf419e +Author: m. allan noah +Date: Thu Nov 5 21:42:29 2015 -0500 + + canon_dr backend v52 + + improve dropout option handling + add software dropout implementation for downsampled modes + +commit 9dc79245291f6d4312c5656fff4232b07f70b673 +Author: m. allan noah +Date: Wed Nov 4 13:49:02 2015 -0500 + + canon_dr backend v52 + + add must_downsample and must_fully_buffer + +commit 01063a769d5431ca83069a9cf240894f893d01f0 +Author: m. allan noah +Date: Wed Nov 4 13:05:05 2015 -0500 + + canon_dr backend v52 + + set can_color=1 by default (recent models dont have 'C' in name) + enable jpeg for DR-6080 + +commit 0b822359b3e1798294e30a7ea9cfd6fd9a1e3e85 +Author: m. allan noah +Date: Wed Nov 4 13:00:10 2015 -0500 + + cardscan backend v3 + + add USB IDs for newer model 800c + +commit 33495ef9b42a783c8f5f2c056ac5699481d3cc7e +Author: Luiz Angelo Daros de Luca +Date: Thu Oct 15 12:35:00 2015 +0900 + + Add missing includes + +commit 4f803bff0872460433dae1ac2a2954ad1016b678 +Author: Olaf Meeuwissen +Date: Thu Oct 22 22:23:47 2015 +0900 + + Escape [] for configure help strings + +commit 471453d2b825a569d467d60160b0eaaf6746bf67 +Author: Olaf Meeuwissen +Date: Mon Oct 19 20:51:04 2015 +0900 + + Drop unused INCLUDES substitution variable + + This addresses the following autoreconf output: + + configure.ac:85: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') + + The INCLUDES variable is not referenced anywhere in configure.ac or + configure. In addition, none of the Makefile.am files use it. + +commit 32c25b8b8235762d9feb5dbd0e81496a56e15569 +Author: Olaf Meeuwissen +Date: Mon Oct 19 21:11:53 2015 +0900 + + Fix duplicate automake file variable initialization issue + + This was introduced in 74c00494. + +commit f8d35b8d2fdcacc9b664594d141102c2c80ac076 +Author: m. allan noah +Date: Mon Oct 26 08:34:17 2015 -0400 + + Update canon_dr.desc + + We had a few scanners that were reported by email or in tracker + tickets, which had not been updated in the desc file. + +commit 716340e7320e7f946329ad7a3cd911d676c92f6d +Author: Olaf Meeuwissen +Date: Sat Oct 17 13:55:17 2015 +0900 + + Include sys/types.h for u_long. Fixes compile on OS X + +commit 03d90ac2edf287bb0358044d7abdd9f6008dffc5 +Author: Alessandro Zummo +Date: Wed Oct 14 21:55:31 2015 +0200 + + epsonds: do not enable double feed detection by default + +commit a90d7c91b36b06bd002af890863c1d608dcdd7d4 +Author: Rolf Bensch +Date: Wed Oct 14 19:05:03 2015 +0200 + + changelog for recent work + +commit 4a83d9c8a4f4c396f5261d62bf7d2f9b8684eba9 +Author: Rolf Bensch +Date: Wed Oct 14 19:04:27 2015 +0200 + + Pixma backend version 0.17.24 + +commit 3095ab46c45e004163f5fb36efa00ce378770a9e +Author: Rolf Bensch +Date: Wed Oct 14 19:02:43 2015 +0200 + + new scanners Canon PIXUS MP5/SmartBase MPC190/imageCLASS MPC190 and Canon MP10/SmartBase MPC200/imageCLASS MPC200 + +commit 06b865cfd24f1e6c71506684d73ef79b43edc3cf +Author: Olaf Meeuwissen +Date: Wed Oct 14 20:39:39 2015 +0900 + + Prevent possible buffer overflows [-Wstrncat-size]. Fixes 315198 + +commit 18e4c4a08622e2ee4536dcb423d4548a4bc7a7e3 +Author: Olaf Meeuwissen +Date: Tue Oct 13 23:32:40 2015 +0900 + + Revert "Prevent use of uninitialized variable" + + This change introduces a variable that shadows the file scope one. + + This reverts commit 45e66aee952dcdada88293901580a111262fc1e9. + +commit 36876a83663832cf89fa945737d004ce9b46fb01 +Author: Olaf Meeuwissen +Date: Mon Oct 12 20:55:19 2015 +0900 + + saned: minor improvement of help message wording + +commit 32986192bd9ce14276e1ae144d71d42461e591b9 +Author: Olaf Meeuwissen +Date: Mon Oct 12 20:42:50 2015 +0900 + + fix: declaration-after-statement warning + +commit 42aa01e4e558e0019df00702579c928f9fd126e6 +Author: Olaf Meeuwissen +Date: Mon Oct 12 20:42:01 2015 +0900 + + fix: missing-field-initializers warning + +commit fa001c2193045844dd3318f9538b309e11089c9c +Author: Olaf Meeuwissen +Date: Mon Oct 12 20:49:07 2015 +0900 + + Follow getopt_long usage in scanimage.c + + This is on the off chance that getopt_long is not in the system's + standard library. + +commit 45e66aee952dcdada88293901580a111262fc1e9 +Author: Olaf Meeuwissen +Date: Mon Oct 12 20:47:43 2015 +0900 + + Prevent use of uninitialized variable + +commit eab8fd457d2b8f38f9425f87258cf4fe42dac15c +Author: Matteo Croce +Date: Sun Oct 11 19:50:04 2015 +0200 + + saned: add '-b' option to bind to a specific address + +commit fed2a2cf60511d87e413148f1b9063f9ea4e6917 +Author: Matteo Croce +Date: Sun Oct 11 19:50:03 2015 +0200 + + saned: use getopt_long() for option parsing + + The help message has been adjusted to match getopt_long conventions. + +commit 418d1ecea7571d10acd08df2edc7967a91e14b0d +Author: Matteo Croce +Date: Sun Sep 20 19:55:37 2015 +0200 + + saned: move help message to usage() function + +commit a79cd0abe7daed1a749c8ad2cd7e2a89cc6153e4 +Author: Matteo Croce +Date: Sun Sep 20 19:55:36 2015 +0200 + + saned: parse inetd args in main() + + move argument parsing logic from run_inetd() to main() + +commit 2c3cb206ce55a7ac9ff9b479de452a332ba2aa1a +Author: Matteo Croce +Date: Sun Sep 20 19:55:35 2015 +0200 + + saned: parse standalone args in main() + + move argument parsing logic from run_standalone() to main() + +commit 2239d2aaff16964a5d67293f5e4220d235e2c84d +Author: Alexander Hofmann +Date: Tue Oct 6 17:42:05 2015 +0200 + + Replace obsolete interface with standard include files + +commit 56e69f0998005db432b4f7dd38693a870f663520 +Author: m. allan noah +Date: Mon Oct 5 08:21:39 2015 -0400 + + added kvs1025.conf.in and utsushi.desc + +commit 69a9a3116eb18f8d0c618217e033a1c134215954 +Author: m. allan noah +Date: Sun Oct 4 21:25:08 2015 -0400 + + minor release doc update + +commit 5e1d45cad7d7933b7120646ae5174ccdc8a9b49f +Author: m. allan noah +Date: Sun Oct 4 21:13:39 2015 -0400 + + reopen sane-backends 1.0.26git diff --git a/ChangeLog-1.0.0 b/ChangeLog-1.0.0 deleted file mode 100644 index 0600ae1..0000000 --- a/ChangeLog-1.0.0 +++ /dev/null @@ -1,4309 +0,0 @@ -1998-11-21 David Mosberger-Tang - - * Version 1.0 released - - * From Brian J. Murrell: - - * backend/dll.conf: Mention dc210. - - * backend/cderror.h: New file. - * backend/jinclude.h: Ditto. - * backend/djpeg.c: Ditto. - * backend/dc210.desc: Ditto. - * backend/dc210.h: Ditto. - * backend/dc210.c: Ditto. - * backend/cdjpeg.h: Ditto. - - * doc/Makefile.in (SECT5): Mention sane-abaton.5. - * doc/sane-abaton.man: New file. - * backend/abaton.c: Ditto. - (wait_ready): Explicitly cost tv_sec member to (long) in order - to print it (avoids warning on platforms where tv_sec is not a long). - - * backend/abaton.h: Ditto. - * backend/abaton.conf: Ditto. - * backend/abaton.desc: Ditto. - * backend/dll.conf: Mention abaton. - - * Apollo/DomainOS fixes by Paul Walker: - * sanei/sanei_DomainOS.h: Add this missing file. - * sanei/sanei_config2.c: Include to get - u_char defined if necessary. - * sanei/sanei_DomainOS.c (upper_string): Delete. - (do_help): Ditto. - * include/sane/config.h.in: Add #undef HAVE_SYS_TIME_H. - - * lib/usleep.c [HAVE_SYS_TIME_H]: Include only if - we have it. - - * configure.in (CPPFLAGS): Check for sys/time.h. - - * frontend/gtkglue.c: Move include of in front - of include of . - - * config.sub: Apply patch to recognize -sys5.3. - - * backend/microtek.c: Applied Matto's latest patch to upgrade - backend from v0.9 to v0.10. - -1998-11-04 David Mosberger-Tang - - * backend/microtek2.desc: Mention ScanMaker X6 and Phantom 636. - - * backend/microtek2.c (check_inquiry): Mention Phantom 636 in - model string. - -1998-11-03 David Mosberger-Tang - - * backend/microtek2.c (check_inquiry): Added patch by Sebastian - Erdmann to recognize ScanMaker X6. - -1998-11-02 David Mosberger-Tang - - * backend/artec.c: Print size_t as recommended in backend/GUIDE. - -1998-11-02 Chris Pinkham - - * backend/artec.c: changes to correct bugs when using AT12. - (sense_handler): New function (by Dick Bruijn). - (wait_ready): Ditto (by Dick Bruijn). - (abort_scan): Ditto (by Dick Bruijn). - Support added to read capability data from scanner if the model. - Supports this command (by Dick Bruijn). - Added call to sanei_scsi_close() if detected scanner is not - a Artec/Ultima model (by Francois Ouellet). - Added Negative option. Added Halftone Pattern option. - Added Filter Type option for mono scans. - Added Quality Calibration option. - Moved test_unit_ready command till AFTER we check for ULTIMA scanner. - -1998-11-02 David Mosberger-Tang - - * config.guess: Upgrade to libtool v1.2. - * config.sub: Ditto. - * ltconfig: Ditto. - * ltmain.sh: Ditto. - -1998-10-29 David Mosberger-Tang - - * backend/mustek.c (encode_resolution): If MUSTEK_FLAG_DOUBLE_RES - is set, use resultion encoding reported by - - (attach): Set MUSTEK_FLAG_DOUBLE_RES for MSF-06000CZ. Do other - models need this, too? - (calibration): Declare NUM as size_t, not int. #ifdef out this - unused routine. - (reader_process): Print size_t values as %lu with explicit cast - to u_long. - - * backend/mustek.h (MUSTEK_FLAG_DOUBLE_RES): New flag. - - * backend/mustek.c (init_options): Initialize resolution with 18 - dpi, not 100dpi so that "scanimage" without options gives a - preview-quality image that doesn't take much space or time. - - * backend/mustek.c: Updated with Andreas Bolsch's version (adds - support for SE models). - * backend/mustek.h: Ditto. - * backend/mustek.spec: Ditto. - - * backend/pnm.c (sane_read): Replace C++ comment with C comment. - - * backend/microtek2.c: Updated with Bernd's v0.5. - * backend/microtek2.h: Ditto. - * backend/microtek2.conf: Ditto. - - * backend/umax.c: Updated with Oliver's latest version. - * backend/umax.h: Ditto. - * backend/umax-scsidef.h: Ditto. - * backend/umax-scanner.h: Ditto. - * backend/umax-uc630.h: Ditto. - * backend/umax-uc840.h: Ditto. - * backend/umax-ug630.h: Ditto. - * backend/umax-ug80.h: Ditto. - * backend/umax-uc1200s.h: Ditto. - * backend/umax-uc1200se.h: Ditto. - * backend/umax-uc1260.h: Ditto. - * backend/umax.conf: Ditto. - * include/sane/saneopts.h: Ditto. - * doc/sane-umax-doc.html: Ditto. - * doc/sane-umax-doc.tex: Ditto. - * doc/sane-umax.man: Ditto. - -1998-10-28 David Mosberger-Tang - - * doc/sane.tex (subsection{sane_control_option}): Clarify that - paramter "v" is ignored for SET_AUTO calls. - - * frontend/saned.c (init): Initialize w->version. - - * backend/net.c (connect_dev): Accept version code 2 and - set peer's version code in dev->wire.version. - - * include/sane/sanei_wire.h: New member "version". - - * sanei/sanei_net.c (sanei_w_control_option_req): Encode - option value only if peer_version is < 3 or if action is - not SANE_ACTION_SET_AUTO. - - * include/sane/sanei_net.h (SANEI_NET_PROTOCOL_VERSION): Up - protocol version to version 3. - - * sanei/sanei_net.c (sanei_w_control_option_req): Transcode - value_type, value_size, and value only if req->action != - SANE_ACTION_SET_AUTO. Reported by Petter Reinholdtsen. - - Patches by Petter Reinholdtsen : - - * backend/dmc.c (attach_one): Don't use C++-style comments. - - * backend/dc25.h (DEFAULT_TTY_BAUD): New macro. Move SPEEDS macro - to dc25.c. - - * backend/dc25.c: Initialize tty_baud to DEFAULT_TTY_BAUD. Use - B57600 and B115200 only if defined. - - * doc/saned.man: Mention that hostname matching no longer is case - significant. - - * configure.in - (lib/Makefile.in,lib/strcasecmp.c,frontend/saned.c): Use - strcasecmp() instead of strcmp to compare DNS hostnames. Case is - irrelevant when using DNS. - - * backend/dll.c: Add support for HP-UX 10.xx style shared - libs. - - * configure.in include/sane/config.h.in backends/dll.c: - Use dhl_load() family for DLL support on HP/UX. - - * backend/snapscan.c (sane_snapscan_open): Don't cast lvalue - (illegal according to ANSI C, I think). - - * backend/apple.c (init_options): Add explicit "break" after - "default:" to make HP-UX compiler happy (?). - (sane_read): Make stuff after #endif a comment. - - * backend/agfafocus.c: New file (by Karl Anders Oygard - ). - * backend/agfafocus.h: Ditto. - * doc/sane-agfafocus.man: Ditto. - - * doc/sane-net.man: Fix typo: network service is called "sane", - not "saned" (by Andreas Dilger ). - - * backend/hp-scl.c (sanei_hp_scsi_pipeout): Use SIGPWR only if its - defined (by Peter Kirchgessner). - - * frontend/Makefile.in (INCLUDES): Mention @GTK_CFLAGS@ as part of - INCLUDES macro instead of CFLAGS. Despite its name, @GTK_CFLAGS@ - is guaranteed to contain CPP include directives only. (Reported - by Kevin Dalley .) - -1998-10-27 David Mosberger-Tang - - * sanei/sanei_scsi.c (sanei_scsi_open): Return - SANE_STATUS_ACCESS_DENIED if open() fails with errno==EACCES. - - * backend/ricoh-scsi.c: #ifdef out unused code and print values of - type size_t as prescribed in the file backend/GUIDE. - - * backend/dll.conf: Mention Ricoh backend. - - * backend/ricoh.c: New file (by Ricoh Dillema). - * backend/ricoh.h: Ditto.. - * backend/ricoh-scsi.c: Ditto.. - - * backend/microtek.c: Apply Aug 7 patch by Matto Marjanovic. - - * backend/dc25.c: Apply patch by Peter Fales (v1.1). - * backend/dc25.desc: Ditto. - * doc/sane-dc25.man: Ditto. - - * backend/pnm.c: Applied patch by Goran Thyni - that allows scanning parts of a PNM image. - - * backend/GUIDE: Add Matto's comment on .desc files. - - * backend/hp.c: New file from Peter Kirch (formerly known as xhp). - * backend/hp.h: Ditto. - * backend/hp-accessor.h: Ditto. - * backend/hp-device.h: Ditto. - * backend/hp-handle.h: Ditto. - * backend/hp-option.h: Ditto. - * backend/hp-scl.h: Ditto. - * backend/hp-scsi.h: Ditto. - * backend/hp-accessor.c: Ditto. - * backend/hp-device.c: Ditto. - * backend/hp-handle.c: Ditto. - * backend/hp-hpmem.c: Ditto. - * backend/hp-option.c: Ditto. - * backend/hp-scl.c: Ditto. - * backend/Makefile.in (libsane-hp.la): Make libsane-hp.la - dependent upon hp-accessor.lo, hp-device.lo, hp-handle.lo, - hp-hpmem.lo, hp-option.lo, and hp-scl.lo. - -1998-10-22 David Mosberger-Tang - - * doc/sane-hp.man (Model): Mention HP6200 as per report by Tom - Martone . - -1998-07-30 David Mosberger-Tang - - * include/sane/config.h.in: Apply Cory Kempf's - FreeBSD CAM support patch. - * sanei/sanei_scsi.c: Ditto. - * tools/find-scanner.c: Ditto. - * configure.in: Ditto. - -1998-07-27 David Mosberger-Tang - - * Version 0.74 released. - - * configure.in (CPPFLAGS): Save old CPPFLAGS in saved_CPPFLAGS and - then set CPPFLAGS (not saved_CPPFLAGS!) to include GTK_CFLAGS. - This should get GIMP detected again. - - * frontend/xscanimage.c (init): Add missing newline. - - * backend/net.c (sane_init): Look for service "sane", not "saned". - - * configure.in (V_MINOR): Make it 74. - - * tools/sane-desc.el: Hack a bit so sane-backends.html can be - generated some place other than the working directory - (which may not be writable). - - * tools/sane-desc.el: New file by Matto. - - * doc/Makefile.in (sane-backends-html): New rule to generate - sane-backends.html. - - * backend/apple.desc: List sane-apple man page. - - * backend/umax.c: Updated with Oliver's latest version (with Irix - 4MB workaround). - - * backend/microtek.c: Updated with Matto's v0.9. - * backend/microtek.h: Ditto. - * backend/microtek.conf: Ditto. - * backend/microtek.desc: Ditto. - * doc/sane-microtek.man: Ditto. - - * backend/apple.h: Updated with Milon's v0.3. - * backend/apple.c: Ditto. - - * doc/sane-apple.man: New file (contributed by Milon Firirkis). - -1998-07-23 David Mosberger-Tang - - * backend/canon-scsi.c (reserve_unit): Don't compile unused - reserve_unit(). - - * sanei/sanei_scsi.c: Apply Yuri's patch to add - sanei_scsi_find_devices() support to OS/2. - - * sanei/sanei_pio.c: Include instead of - just so we pick up #define's for inb and - out. - - * include/sane/config.h.in: Mention HAVE_OS2_H and - HAVE_SYS_TYPES_H. - - * configure.in (AC_CHECK_HEADERS): Mention sys/hw.h and - sys/types.h. - (AC_CHECK_LIB): Check for syslog. - (AC_CHECK_FUNCS): Check for _portaccess. - (CPPFLAGS): Don't disable qcam backend if we have _portaccess. - These patches contributed by Yuri for the benefit of OS/2. - - * backend/qcam.c (qc_unlock) [!F_SETLK]: Fall back to convention - UNIX-style locking using O_EXCL (not ideal, but better than - nothing at all). - (qc_lock_wait): Ditto. - - * sanei/sanei_scsi.c (KillDomainServer): Add missing paren. - - * lib/usleep.c [HAVE_SYS_SELECT_H]: Include . - - * include/sane/sanei_backend.h: Define i/o-port access - compatibility macros (by Yuri Dario). - - * backend/Makefile.in (CONFIGS): Mention dummy saned.conf - (this really ought to go in frontend/Makefile, but I'm too lazy to - add a configuration-install rule there...). - - * backend/coolscan.c: Update with Didier's latest version. - (send_one_LUT): Merge in alloca() fix from 1998-04-04. - -1998-07-22 David Mosberger-Tang - - * backend/dll.conf: Mention artec backend. - - * backend/mustek.c (sane_start): Remove duplicate status test. - -1998-07-21 David Mosberger-Tang - - * frontend/saned.c (main): Look for service name "sane", not - "saned". - -1998-07-20 David Mosberger-Tang - - * backend/epson.c (epson_cmd): Add patch by Holger Frahm - to support GT9500. - - * backend/microtek.c: Update with latest version (v0.8). - - * backend/artec.c (PREFER_PIXEL_MODE): Apply Chris Pinkham's - 6/4/98 patch to add preliminary support for AT6 and AT12 scanner - models. - - * backend/epson.c: Apply Christian Bucher's patch. - - * backend/dc25.h: New file (by Peter Fales ) - * backend/dc25.c: Ditto. - * backend/dc25.conf: Ditto. - * doc/sane-dc25.man: Ditto. - - * backend/microtek2.c: Replace dynamically sized array with - alloca() to be ANSI C compliant. - - * backend/epson.c: Replace zero-sized byte arrays with 1 byte - arrays to be ANSI C compliant. - - * doc/sane-hp.man: Mention ScanJet 3P (reported by Patrick Debois - ). - - * backend/umax.c: Updated with Oliver's 5/7/98 patch. - -1998-07-20 Chris Pinkham - - * backend/artec.c: Added code to default to using millimeters - instead of pixels for measurements, can revert to pixels by - defining PREFER_PIXEL_MODE at compilation time. - - Added code to cause sane_read to block until data available to return, - also buffers as much data as possible before returning. - - Added code to cause sane_read to read as much data from scanner as - possible for each call, previously would read 1 line max from - scanner. - - Added code to attempt to detect scanner capabilities from scanner - if scanner supports this command, it not program has defaults - coded in for certain scanner models. - - Separated horizontal and vertical resolution settings with ability - to bind them together. This still has a bug, so the option is is - disabled by default until I can get it working correctly. - - Bug-fixes to get backend working properly with xscanimage. - Added preview mode option. - Added threshold option. - - * backend/artec.h: Added options codes to go along with options - added in artec.c file. - -1998-07-20 David Mosberger-Tang - - * backend/epson.c (scsi_write): Apply patch by Thomas Bogendoerfer - to get Epson backend to work for SCSI - scanners again. - -1998-06-05 David Mosberger-Tang - - * backend/mustek.c (attach): Move dev_wait_ready() after the check - for a Mustek scanner. This is to make sure we don't issue any - command other than INQUIRY to SCSI devices that are not known to - be Mustek scanners. - -1998-05-22 David Mosberger-Tang - - * backend/dmc.c: Updated with David Skoll's latest patch. - - * sanei/sanei_scsi.c (sanei_scsi_find_devices): Declare missing - findtype arg for dummy sanei_scsi_find_devices(). - -1998-05-16 David Mosberger-Tang - - * backend/hp.c (attach): Return right after INQUIRY if the device - doesn't look like an HP scanner. - -1998-05-15 David Mosberger-Tang - - * Version 0.73 released. - - * backend/mustek.c (attach): Initialize *devp to 0. - - * configure.in: Use AM_PATH_GTK to figure out if/how to compile - with gtk libs. - - * aclocal.m4: Include gtk.m4 from gtk-1.0.1 distribution. - - * backend/Makefile.in (install): Change install rule so there is - guaranteed to be a (symlink) of the form - libsane-$(BACKEND).so.$(V_MAJOR) pointing to the right version - of a dll. - - * backend/dll.c (load): Get rid of .la parsing non-sense. Instead, - always attempt to open libsane-$(BACKEND).so.$(V_MAJOR). - - * backend/mustek.c (sane_init): Make sure empty lines really - are ignored. - -1998-05-13 David Mosberger-Tang - - * backend/microtek2.conf: Add line "scsi * * Scanner". - * backend/microtek.conf: Ditto. - - * sanei/sanei_scsi.c (get_devicename): New function. - - * sanei/sanei_config2.c: New file. - - * sanei/Makefile.in (LIBSANEI_OBJS): Mention sanei_config2. - (LIBSANEI_LTOBJS): Ditto. - - * sanei/sanei_scsi.c (sanei_scsi_find_devices): New function - (comes in two flavors: one for Linux, one for the remaining - platforms). - - * include/sane/sanei_scsi.h: New function. - - * doc/sane-dll.man: Fix to make it work with man2html (use - \- instead of -). - * doc/sane-dmc.man: Ditto. - * doc/sane-epson.man: Ditto. - * doc/sane-hp.man: Ditto. - * doc/sane-microtek.man: Ditto. - * doc/sane-microtek2.man: Ditto. - * doc/sane-mustek.man: Ditto. - * doc/sane-pint.man: Ditto. - * doc/sane-scsi.man: Ditto. - * doc/sane-umax.man: Ditto. - * doc/saned.man: Ditto. - * doc/scanimage.man: Ditto. - * doc/xscanimage.man: Ditto. - - * doc/Makefile.in (MAN2HTML): New macro. - (html-man): New rule to generate HTML version of man-pages. - - * configure.in (V_MINOR): Up to 73. - - * backend/umax.conf: Add lines "scsi UMAX" and "scsi LinoHell - Office". - - * backend/microtek2.h: New file (by Bernd Schroeder - ). - * backend/microtek2.c: Ditto. - * backend/microtek2.conf: Ditto. - - * backend/dll.conf: Mention "microtek2". - - * backend/apple.conf: Add line "scsi APPLE". - * backend/mustek.conf: Add lines for "scsi MUSTEK" and "scsi - SCANNER". - - * backend/apple.c (attach_one): New function. - (sane_init): Use sanei_config_attach_matching_devices(). - * backend/artec.c: Like for apple.c. - * backend/canon.c: Ditto. - * backend/coolscan.c: Ditto. - * backend/dmc.c: Ditto. - * backend/epson.c: Ditto. - * backend/hp.c: Ditto. - * backend/microtek.c: Ditto. - * backend/mustek.c: Ditto. - * backend/s9036.c: Ditto. - * backend/snapscan.c: Ditto. - * backend/tamarack.c: Ditto. - -1998-05-11 David Mosberger-Tang - - * backend/snapscan.c (sane_snapscan_get_parameters): Always set - depth of 8. - - * configure.in: Check for gtk_tooltips_set_tips _after_ gtk - libraries have been located. (Patch by Jake E. Hamby - ). - -1998-05-09 David Mosberger-Tang - - * sanei/Makefile.in (.c.o): Patch by Kaz Sasayama - : invoke $(COMPILE) if libtool - doesn't give us a regular .o file. - * lib/Makefile.in (.c.o): Ditto. - - * frontend/preview.c (preview_update): Call update_selection() so - selection is updated when scanwindow geometry changes. The patch - from 1998/4/2 never worked satisfactorily (and indeed was never - enabled in any of the SANE releases). - -1998-05-06 David Mosberger-Tang - - * backend/mustek.c (sane_init): Use sanei_config_skip_whitespace() - to skip whitespace. - -1998-05-05 David Mosberger-Tang - - * frontend/xscanimage.c (init): Allow -g as an option. - - * sanei/sanei_config.c (sanei_config_get_string): New function. - (sanei_config_skip_whitespace): Ditto. - - * backend/umax.c: Updated with Oliver's latest patch. - - * Makefile.in (INSTALLED_INCLUDES): Mention sanei_readproc.h. - - * backend/microtek.h: Updated with Matto's 0.7 patch. - * doc/sane-microtek.man: Ditto. - * backend/microtek.c: Ditto. - Added precalibration code: tries to intelligently have scanner - run a calibration only once when necessary --- this shaves a solid - six seconds off every scan! - Added model code/vendor name for ScanMaker 600ZS. - Added model codes/vendor name for Agfa Arcus II, StudioScan, - StudioScan II. - Patched up 3-pass scanning (forgot to switch color planes). - Corrected IIHR to 600dpi base resolution. - Check so that 0x0 regions are recognized as invalid. - Fixed subtle buffering bug in color scans. - Fixed-up active/inactive dependencies among options. - Make sure shadow <= midtone <= highlight. - Let shadow/midtone/hightlight be active during LineArt and Halftone. - "Halftoning" option moved into Scan Mode Group (from Enhancement). - Removed some illegal "TEST_UNIT_READY" commands (during scan). - Removed "MODE_SENSE_1", since it didn't quite work anyway. - -1998-05-03 David Mosberger-Tang - - * frontend/xscanimage.c (scan_preview): Don't register - preview_window_destroyed as a delete_event handler. - -1998-05-02 David Mosberger-Tang - - * backend/Makefile.in: Remove unused LIBLIB macro. - -1998-04-30 David Mosberger-Tang - - Patches by Matto Marjanovic: - - * frontend/gtkglue.c (gsg_close_dialog_callback): Remove - client_data pointer arg. - - * frontend/xscanimage.c (scan_win_delete): Remove GdkEvent arg. - (preview_window_destroyed): Ditto. - (input_available): Include bad_depth handling code only if - HAVE_LIBGIMP_GIMP_H is defined. - (scan_dialog): Remove client_data pointer arg. - -1998-04-29 David Mosberger-Tang - - * frontend/gtkglue.c (gsg_get_filename): Use gtk_events_pending() - instead of gdk_events_pending(). - * frontend/preview.c (input_available): Ditto. - * frontend/xscanimage.c (quit_xscan): Ditto. - (input_available): Ditto. - -1998-04-08 David Mosberger-Tang - - * sanei/sanei_pio.c (sanei_pio_open): Fix prototype. - -1998-04-07 David Mosberger-Tang - - * Version 0.72 released. - - * backend/epson.c (sane_init): Fix up config file reading - to be more like that of other backends. - (PATH_MAX): Use PATH_MAX instead of FILENAME_MAX. - - * backend/canon.c (sane_init): Read & process canon.conf (patch by - Yuri Dario ). - -1998-04-06 David Mosberger-Tang - - * sanei/sanei_init_debug.c (sanei_init_debug): Move up #endif - so NULL-test works for OS/2, too. - - * frontend/saned.c: Include . - - * backend/snapscan.c: Don't include non-ANSI . - (sane_snapscan_start): Use INT_MAX instead of MAXINT. - (PATH_MAX): Define PATH_MAX as 1024 if not defined otherwise. - -1998-04-05 David Mosberger-Tang - - * backend/umax.c: Updated with Oliver's latest version - (0.72pre-a). - -1998-04-04 David Mosberger-Tang - - * backend/coolscan.c: Do lalloca.h spiel instead of including - alloca.h. - - * configure.in: Look for glib/include directory in /usr/local/lib - and /usr/lib. Add $C_SWITCH_X_SITE to CPPFLAGS, not DEFS. - - * doc/sane-mustek.man: Mention MFS-1200SP v1.07 as working as - reported by ehramm@dk3uz.hh.provi.de (Edmund H. Ramm). - -1998-04-03 David Mosberger-Tang - - * backend/canon-scsi.c (request_sense): ifdef out to quiet down - gcc. - - * backend/artec.c (read_data): Print size_t as (u_long) to make it - work right and without compiler warning both on 32 and 64 bit - platforms. - (artec_get_status): Ditto. - (init_and_start_scan): Ditto. - (sane_start): Ditto. - (sane_read): Ditto. - (artec_buffer_line_offset): Declare LEN as size_t. - * backend/epson.c (sane_read): Ditto. - - * sanei/sanei_pio.c (pio_wait): Initialize STAT with 0 to quiet - down gcc. - - * backend/Makefile.in (libsane-epson.la): Mention sanei_pio.lo. - (libsane-dll.la libsane.la): Ditto. - - * sanei/Makefile.in (LIBSANEI_OBJS): Mention sanei_pio.o. - (LIBSANEI_LTOBJS): Mention sanei_pio.lo. - - * frontend/xcam.c (input_available): Undo braindamage regarding - break out of scan loop (the SANE docs _do_ specify that in - blocking mode, *len==0 implies end of scan). - * frontend/xscanimage.c: Ditto. - - * doc/sane-dmc.man: New file by David Skoll. - - * sanei/sanei_DomainOS.c: New file by Paul Walker. - - * backend/snapscan.c (DL_INFO, DL_MAJOR_ERROR): Up error code to 1 - to avoid printing anything unless the user specifically asked - for this. - - * include/sane/sanei_debug.h (DBG_LEVEL): Define debug level - variable as macro DBG_LEVEL. - - * README.solaris (NOTE): Emphasize that generic scsi driver - needs to be installed before running configure. - - * backend/s9036.c: Don't depend on GNU C dynamically sized arrays. - - * backend/coolscan.c (send_one_LUT): Use alloca() instead of - depending on GNU C dynamically sized arrays. - Include . - - * frontend/xscanimage.c (input_available): Break out of the - loop only if LEN==0 _and_ we have a non-negative input tag. - * frontend/xcam.c (input_available): Ditto. - - * backend/microtek.c (parse_inquiry): Handle for ScanMaker 35t+. - (id_microtek): Ditto. - -1998-04-02 David Mosberger-Tang - - * configure.in (CPPFLAGS): Check for libXi. - - * frontend/gtkglue.c (panel_destroy): Clear dialog elements - after destroying the panel. - - Patches by Christian Bucher : - - * include/sane/sanei_pio.h: New file. - * sanei/sanei_pio.c: Ditto. - * backend/epson.c, backend/epson.h, backend/epson.conf: Updated - with Christian's version adds support for parallel port interface. - - * sanei/sanei_scsi.c (sanei_scsi_req_wait): Patch by Matto to let - sense-handler decide whether a non-zero sense_buffer[0] really - should be considered an error (needed for Microtek backend). - - * doc/sane.tex (\subsubsection{Option Value Unit}): Document new - unit SANE_UNIT_MICROSECOND. - - Patches by Oliver Rauch: - - * frontend/gtkglue.c (unit_string): Handle SANE_UNIT_MICROSECOND. - * frontend/scanimage.c (print_unit): Ditto. - (parse_scalar): Ditto. - - * include/sane/sane.h: Add SANE_UNIT_MICROSECOND. - - * Upgrade to Kevin's latest SnapScan backend (0.4). - - * doc/sane-hp.man: Mention ScanJet IIp C1790A as working (reported - by Ronald.Vogelaar@nl.origin-it.com). - - * frontend/xscanimage.c (init): Issue an error message when we see - option -g as this is most likely due to someone invoking - xscanimage through GIMP when GIMP support is missing. - (scan_done): Add sanity check. - (scan_start): Ditto. - - * Upgraded to Matto's latest Microtek backend (0.6). - - * Upgraded to Oliver's latest UMAX backend (0.71h). - - * frontend/preview.c (draw_selection): Fix so that selection is - updated when sliders are moved. Patch by Mikko Tyo"la"ja"rvi. - - * backend/snapscan.c (DL_INFO): Increase from 0 to 1. - (DL_MAJOR_ERROR): Ditto. This avoids printing error messages - unless the user specifically requests them. - - * frontend/gtkglue.c: Include . - - * include/sane/config.h.in: Ignore HAVE_USLEEP under Apollo - Domain. - - Patches by Paul Walker: - - * sanei/sanei_scsi.c: New Domain OS code. - - * tools/find-scanner.c: Include . - - * lib/usleep.c (usleep): Use time_$wait() to avoid broken usleep() - implementation in Domain Sys5.3 environment. - - * config.sub: Translate sys5.3 into sysv3 for the benefit - of Apollo Domain/OS. - - * sanei/sanei_init_debug.c (sanei_init_debug): Use DosScanEnv() - instead of getenv() under OS/2. (Patch by Yuri Dario - ) - -1998-03-02 David Mosberger-Tang - - * frontend/xcam.c (main): Remove obsolete call to - gdk_set_debug_level (0). - - * backend/mustek.c (attach): Print debug message when discovering - unknown model. - - * doc/sane-scsi.man: Mention Adaptec 1505. - - * tools/find-scanner.c (main): List FreeBSD specific device names. - - * tools/Makefile.in (LIBS): Define. - (find-scanner): Mention $(LIBS). - - * backend/epson.conf: New file. - - Patches by Yuri Dario : - - * backend/epson.c (sane_init): Support config file. - - * sanei/sanei_ab306.c (outb): Add missing parens. - - * backend/snapscan.c: Don't include - - * backend/net.c: Include netdb.h after in.h to appease OS/2. - Include . - - * sane-0.71.spec (%files): Mention sane-dmc.5. - * doc/Makefile.in (SECT5): Ditto. - - * backend/dmc.c, backend/dmc.h: Update with Feb 26 patch from - David Skoll. - * doc/dmc.man: New file by David Skoll. - -1998-02-25 David Mosberger-Tang - - * backend/dmc.c (DMCSetMode): Add missing field name (patch by - Martin Huber). - - * tools/find-scanner.c (main) [__sun]: Add missing command (patch - by Martin Huber. - - * sanei/sanei_scsi.c (sanei_scsi_cmd): Fix typo: fd_Info->fd_info - (patch by Jeff Freedman). - - * configure.os2: Update with patch by Jeff Freedman. - - * backend/snapscan.c (sane_snapscan_start): Replace non-standard - MAXINT by INT_MAX from . - (PATH_MAX): Define PATH_MAX as 1024 if not defined by headers. - -1998-02-23 David Mosberger-Tang - - * Version 0.71 released. - - * backend/dmc.c (DMCAttach): Close scsi fd before returning. - - * backend/microtek.c: Default to no_dump. - (sane_init): Change "nodump" into "dump" option. - * doc/sane-microtek.man: Document this change. - - * backend/snapscan.c: Include . - (sane_snapscan_init): Use sanei_config_open() instead of fopen(). - - * backend/snapscan.c: Upgrade to latest version (0.3 patch 7). - * backend/snapscan.h: Ditto. - - * configure.in (V_MINOR): Up version to 0.71. - - * sanei/sanei_scsi.c (scsi_cmd) [USE == SOLARIS_INTERFACE]: "or" - in lun instead of overwriting cdb[1] (patch by Martin Huber - ). - - * backend/snapscan.c: Replace with . - - * backend/mustek.c (fix_line_distance_mfs): Add back missing - multiplication by bpl (patch by Stefano Garavaglia - ). - - * backend/coolscan.c: Updated with Didier's latest version. - (COOLSCAN_CONFIG_FILE): Rename from PATH_COOLSCAN_CONFIG and - define as "coolscan.conf". Include . - (sanei_init): Use sanei_config_open() instead of fopen(). - - * backend/coolscan-scsidef.h: Ditto. - * backend/coolscan.h: Ditto. - - * backend/hp.c (sane_close): Change s to s->next (patch by David - Skoll ). - -1998-02-17 David Mosberger-Tang - - * backend/Makefile.in (PRELOADABLE_BACKENDS): Mention apple & - coolscan. - - * backend/coolscan.c: New file (by Didier Carlier - ).. - * backend/coolscan.h: Ditto. - * backend/coolscan-scsidef.h: Ditto. - - * backend/apple.c: Include - (APPLE_CONFIG_FILE): Rename from PATH_APPLE_CONFIG. - (sane_init): Use sanei_config_open(). - - * backend/apple.conf: New file. - - * backend/dll.conf: Mention apple & coolscan backends. - - * backend/apple.c: New file (by Milon Firikis - ). - * backend/apple.h: Ditto. - - * sane-0.70.spec: Make symlink for libsane.so.0. - - * doc/sane-epson.man: Mention GT-5500 scanner as working (as - reported by Umberto Zanatta ). - -1998-02-12 David Mosberger-Tang - - * sanei/sanei_scsi.c (DOMAINOS_INTERFACE): Define. Add - Apollo Domain/OS support contributed by Paul Walker. - - * configure.in (AC_CHECK_HEADERS): Mention apollo/scsi.h. - Add #undef of HAVE_APOLLO_SCSI_H. Add type checks for u_char, - u_int, u_long (DomainOS reportedly needs these). - - * sanei/sanei_scsi.c (sanei_scsi_req_wait) [USE == - LINUX_INTERFACE]: Always check for a non-zero error code in the - sense-buffer. The Linux sg driver guarantees that the sense - buffer is clear to zero when no sense code has been requested, so - this is safe. - -1998-01-28 David Mosberger-Tang - - * Version 0.7 released. - -1998-01-27 David Mosberger-Tang - - * frontend/xscanimage.c (quit_xscan): Exit with status 0, not 1. - - * tools/xerox (scale): Added improvements contributed by Joachim - Woll . - - * Upgrade to Oliver's latest UMAX backend. - - * include/Makefile.in (distclean): Add empty all rule. Add - distclean rule to delete Makefile. - - * Makefile.in (distclean): Delete japi/Makefile as well (this - command should be removed once japi gets added to SUBDIRS). - - * backend/Makefile.in (EXTRA): Remove ../lib/usleep.lo and - ../lib/strndup.lo. - (libsane.la): Make dependent on $(LIBOBJS). - - * frontend/xscanimage.c (preview_window_destroyed): Declare second - arg (added in some version of gtk?). - - * tools/find-scanner.c (main): Change __sgi__ to __sgi. - -1998-01-26 David Mosberger-Tang - - * backend/microtek.c: Don't declare strdup()---you're bound to get - it wrong for some platforms! - - * doc/sane-scsi.man: Say explicity that generic SCSI support needs - to be enabled. - - * doc/sane-hp.man (Problems): Document PhotoSmart problems - as reported Peter Kirchgessner . - - * backend/snapscan.c: Upgrade to v0.3 from - http://www.cs.ualberta.ca/~charter/snapscan.html. - * backend/snapscan.h: Ditto. - -1998-01-22 David Mosberger-Tang - - SnapScan backend by Franck Schnefra, Michel Roelofs and - Kevin Charter: - - * backend/snapscan.c: New file. - * backend/snapscan.h: Ditto. - * backend/snapscan.conf: Ditto. - - * backend/umax-scanner.h (scanner_str): Add missing comma. - - * sanei/sanei_scsi.c (sanei_scsi_cmd): Pass sense_handler_arg to - sense handler for BSD_INTERFACE, HPUX_INTERFACE, - OPENSTEP_INTERFACE, DECUNIX_INTERFACE, SCO_OS5_INTERFACE, - OS2_INTERFACE, IRIX_INTERFACE, AIX_GSC_INTERFACE, and - SOLARIS_INTERFACE. - - * include/sane/config.h.in: Add missing #undef of - HAVE_SYS_SCSI_TARGETS_SCGIO_H. - Ditto for HAVE_SYS_SCSI_SGDEFS_H. - -1998-01-20 David Mosberger-Tang - - * Version 0.69 released. - - * doc/sane-scsi.man: Limit ncr810 patch to kernel versions < - 2.0.33. - - * tools/xerox (HEIGHT): Add A4 paper size as comment. - -1998-01-19 David Mosberger-Tang - - * frontend/preview.c (make_preview_image_path): New function. - (preview_destroy): Save scan surface parameters as a comment - in the preview image. - (restore_preview_image): Read scan surface parameters from - preview image file and restore only if the parameters match - the currently selected surface. - (paint_image): Gracefully handle NULL image_data. - (event_handler): Don't call restore_preview_image(). - (preview_update): Detect if the scan surface changed. If so, - establish a new preview widget size, preview area size, and - restore a preview image, if available. - - * backend/mustek.c (sense_handler): Declare closure argument. - - * sanei/sanei_scsi.c (sanei_scsi_open): Fix typos. - - * backend/umax-scsi.c (umax_open_scanner): Pass us as sense_arg. - (umax_open_scanner): Ditto. - (umax_open_scanner): Ditto. - * backend/umax.c (sane_start): Ditto. - - * backend/canon.c (attach): Pass 0 as sense_arg to sanei_scsi_open(). - (sane_start): Ditto. - * backend/epson.c (attach): Ditto. - (sane_start): Ditto. - * backend/tamarack.c (sense_handler): Ditto. - * backend/s9036.c (sane_start): Ditto. - * backend/mustek.c (dev_open): Ditto. - * backend/hp.c (attach): Ditto. - (sane_start): Ditto. - * backend/mustek.c (dev_open): Ditto. - * tools/find-scanner.c (main): Ditto. - - * include/sane/sanei_scsi.h (SANEI_SCSI_Sense_Handler): Declare - closure arg. - (sanei_scsi_open): Ditto. - - * doc/sane-hp.man (Model): Remove obsolete comment regardign 5P. - -1998-01-17 David Mosberger-Tang - - * backend/mustek.c (dev_open): Fix debug message. - - * Solaris related patches by Martin Huber: - - * backend/umax-scsi.c (umax_wait_scanner): Sleep for 1 second - instead of 100ms on Sun platforms---the SCHILYscg driver prints a - warning message each time a device is busy. Duh. - (umax_get_data_buffer_status): Don't do - umax_get_data_buffer_status() on Sun's. This should be fixed... - - * sanei/sanei_scsi.c (sanei_scsi_open): Call unit_ready() towards - the end of this function. - (CCS_SENSE_LEN): Define as 18 if not defined - by any header files. - (sanei_scsi_cmd): Use sensebuffer to collect sense info. - (scsi_cmd): Better error handling when using SCHILYscg driver. - -1998-01-14 David Mosberger-Tang - - * frontend/xscanimage.c (scan_start): Turn off dialog sensitivity. - (scan_done): Restore dialog sensitivity. - - * backend/qcam.c (init_options): Turn on SANE_CAP_ALWAYS_SETTABLE. - - * frontend/preview.c (scan_done): Enable dialog sensitivity. - (scan_start): Disable dialog sensitivity. - - * include/sane/sane.h (SANE_CAP_ACTIVE_WHILE_SCANNING): New - manifest constant. - -1998-01-12 David Mosberger-Tang - - * frontend/gtkglue.c (panel_destroy): Call gtk_tooltips_unref() - instead of gtk_tooltips_destroy() as suggested by Ben Gertzfield - . - -1997-12-25 David Mosberger-Tang - - * backend/canon.c: New file by Helmut Koeberle - . - (sane_start): Print variables of type size_t as %lu and cast to - (u_long), to make it compile without warning on all platforms. - (attach): Remove extraneous semicolon. - - * backend/canon.h (canon_h): Ditto - * backend/canon-scsi.c: Ditto. - -1997-12-24 David Mosberger-Tang - - * sanei/sanei_ab306.c (sanei_ab306_cmd): Write the first - 6 bytes of a SCSI command only (suggested by Andreas, but - is this really correct??). - - * backend/mustek.c (gamma_correction): Add patch by Andreas - Czechanowski to - fix lineart scanning for Paragon II 600 N scanner. - -1997-12-23 David Mosberger-Tang - - * tools/find-scanner.c (scanner_identify_scanner): Print info on - all SCSI devices when --verbose is in effect. - (main): Add Sun device names. - - * include/sane/config.h.in: Define _POSIX_SOURCE and - __EXTENSIONS__ when compiling on a Sun with GCC. - - * configure.in (AC_CHECK_HEADERS): Mention sys/scsi/sgdefs.h and - sys/scsi/targets/scgio.h. - -1997-12-17 David Mosberger-Tang - - * frontend/xscanimage.c (device_dialog): Suggestion by Matt: set - window auto-shrink by calling gtk_window_set_policy(). - - * japi/ImageCanvas.java: Updated with Jeff's latest patch. - * japi/Jscanimage.java: Ditto. - * japi/Makefile.in: Ditto. - * japi/README.JAVA: Ditto. - * japi/ScanIt.java: Ditto. - * japi/ImageCanvasClient.java: New file. - -1997-12-16 David Mosberger-Tang - - * frontend/gtkglue.c (panel_build): Patch by Matt: a) For all - individual options flagged as "advanced", panel_build will only - display the option if the "Show advanced" button is toggled. - Group identifiers flagged as "advanced" are handled the same as - before. b) panel_rebuild is called whenever the "Show advanced" - button is toggled on or off. - - * doc/sane-scsi.man: Mention sane-epson(5) and sane-microtek(5). - * doc/scanimage.man: Ditto. - * doc/xscanimage.man: Ditto. - - * doc/sane-microtek.man: New file by Matt. - - * backend/microtek.c: Updated with Matt's version 0.4. - * backend/microtek.h: Ditto. - * backend/microtek.conf: Ditto. - - * doc/Makefile.in (SECT5): Mention sane-microtek.5. - -1997-12-15 Fred Hucht & Michael Staats <{fred|michael}@thp.Uni-Duisburg.DE> - - * Added support for generic SCSI under AIX 4.1.x using the device - driver gsc written by Matthew Jacob (nice piece - of work!). - Find this driver under - ftp://ftp.feral.com/pub/aix/gsc.tar.gz or - ftp://ftp.thp.Uni-Duisburg.DE/pub/source/gsc.tar.gz. - Changed files: sanei/sanei_scsi.c, include/sane/config.h.in, - configure.in. - - * Moved '#include ' to very beginning in all source - files as AIX needs it there. - - * Added define OUTFILENAME to frontend/xscanimage.c. - - * Fixed wrong environment reference in /doc/sane-scsi.man. - - * Several changes in tools/find-scanner.c to run using - above mentioned driver. - Fixed wrong IN_periph_devtype_cpu (was 1, should be 3). - -1997-12-14 David Mosberger-Tang - - * doc/sane-hp.man: Mention ScanJet 4P (reported to work by - Adam Sjoegren ). - -1997-12-09 David Mosberger-Tang - - * frontend/saned.c (check_host): Change len from size_t to int to - match getpeername() as per Single Unix Spec (as opposed to POSIX - drafts...). - (start_scan): Ditto for getsockname(). - * backend/net.c (sane_start): Ditto. - - * backend/tamarack.c (TAMARACK_CONFIG_FILE): Delete. - (TAMARACK_CONFIG_FILE): New macro. - Include . - (sane_init): Use sanei_config_open() instead of fopen(). - (read_data): Declare nbytes as size_t---makes a difference - on 64-bit platforms. - -1997-12-07 David Mosberger-Tang - - * backend/s9036.c (sane_init): Run through "indent -gnu". Use - sanei_config_open() instead of fopen(). Include - . - (read_more_data): Print size_t variables by casting them to - (u_long) and using %lu format (some platforms have size_t as - u_long, others as u_int, which does make a difference if - sizeof(long) > sizeof(int). - (sane_start): Ditto. - Add English translation for comments that were in German only. - - * backend/s9306.c: New file by Ingo Schneider. - * backend/s9306.h: New file by Ingo Schneider. - -1997-12-04 David Mosberger-Tang - - * backend/mustek.c (sane_cancel): Collect child process status - after killing it (avoids accumulating zombie processes). Reported - by Mike Sweet. - * backend/umax.c (sane_cancel): Ditto. - * backend/qcam.c (sane_close): Ditto. - (sane_cancel): Ditto. - -1997-12-03 David Mosberger-Tang - - * Version 0.68 released. - -1997-12-02 David Mosberger-Tang - - * frontend/scanimage.c (window_val_user): New variable. - (fetch_options): Don't overwrite window_val[i] if it's - user-specified. - (main): Set window_val_user[i] as necessary. - - * backend/mustek.c (send_gamma_table): New function. - (sane_start): Send gamma table both before and after start_scan(). - The MFS-06000CX is reported to need the gamma-table before - start_scan() and the Mustek docs do indeed indicate downloading - the gamma-table twice. - (init_options): Make --custom-gamma option active by default (since - gray-scale mode is the default mode). - -1997-11-30 David Mosberger-Tang - - * doc/sane-mustek.man: Mention MFC-08000CZ. - - * backend/mustek.c (attach): Reduce y_range.max for MFC-08000CZ - from 300 to 292mm as reported by Jeroen Steenblik - . Ditto for MFC-06000CZ. - -1997-11-28 David Mosberger-Tang - - * backend/umax-scanner.h (scanner_str): Add "Astra 610S". - (known_scanners): Increment from 13 to 14. - - PP fixes by Andreas Czechanowski: - * backend/mustek.c (EXTRA_SAVE_LINES): New macro. - (fix_line_distance_pp): Use EXTRA_SAVE_LINES instead of hardcoded - constant. Various fixes to make it actually work. - (reader_process): Initialize s->ld_ld_line to zero. - - * backend/mustek.h (struct Mustek_Scanner): Add member ld_line. - -1997-11-26 David Mosberger-Tang - - * tools/Makefile.in (.c.o): Add this rule. - - * tools/find-scanner.c: Include sanei_scsi.h and sanei_debug.h - via <> quotes (note ""). - -1997-11-25 David Mosberger-Tang - - * sanei/sanei_ab306.c (sanei_ab306_exit): Fix by Andreas - Czechanowski: output 0x00 at port[i].base + 1 instead. - -1997-11-22 David Mosberger-Tang - - * doc/sane-mustek.man (Model): Clarify that paralell port != printer - port. - - * backend/mustek.c (fix_line_distance_mfs): Add missing SANE_UNFIX() - calls for x_range.max and dpi_range.max. - (fix_line_distance_pp): Correct based on Andreas' feedback. - -1997-11-18 David Mosberger-Tang - - * configure.in (CFLAGS): Don't specify -ansi---with older libcs, - it's causing more problems than it's worth. - - * Patch by Jeff Freedman: - - * japi/Sane.c: Limit string length to option size. - - * japi/SaneOption.java: Fix indentation. - (unitString): New function. - - * japi/ImageCanvas.java: New file. - * japi/Jscanimage.java: Ditto. - * japi/ScanIt.java: Ditto. - - * japi/Makefile.in (CLASSES): Mention ScanIt.class and - ImageCanvas.class. - (all): Mention Jscanimage.class. - * japi/Scan.c: Include . - (String_length): New function. - -1997-11-16 David Mosberger-Tang - - * frontend/gtkglue.c (scale_update): In recent versions of GTK, - "value_changed" callbacks no longer return a value. Change this - function to type "void" accordingly. - - * sanei/sanei_scsi.c: Declare cam_fd only if USE == - DECUNIX_INTERFACE. - - * sanei/sanei_load_values.c (sanei_load_values): Detect errors - while reading the option name (first call to sanei_w_string()). - Reported by Geoffrey T. Dairiki. - - * sanei/sanei_ab306.c [HAVE_UNISTD_H]: Include . Fix by - Geoffrey T. Dairiki. - - * lib/alloca.c: Enclose in #ifndef HAVE_ALLOCA bracket. Fix by - Geoffrey T. Dairiki. - - * include/lalloca.h: Declare alloca() as returning void* when - __STDC__ is in effect so declaration matches definition in - lib/alloca.c. Reported by Geoffrey T. Dairiki. - - * frontend/preview.c (update_selection): Set coord[] values to - rounded-to-nearest-int of float values. This avoids the jumping - selection box effect. Fix by Geoffrey T. Dairiki. - - * frontend/gtkglue.c (scale_update): Patch by Geoffrey T. Dairiki - : emit value_changed signal if the - backend changed the value. - - * backend/umax.c: Upgraded to Oliver's latest UMAX version. - - * backend/mustek.c (sane_init): Ignore white space in front of an - option/device-name. - -1997-11-12 David Mosberger-Tang - - * sanei/sanei_ab306.c (sanei_ab306_get_io_privilege): - (struct port): Remove member HAVE_IO_PRIVS. - (sanei_ab306_get_io_privilege): Get ioperm()issions independent of - HAVE_IO_PRIVS. - - * backend/mustek.c (do_stop): Always send STOP command before - closing the device. - (dev_read_req_enter): For parallel-port scanner, set *idp to 0. - -1997-11-10 David Mosberger-Tang - - Bug reported by Matto Marjanovic : - - * frontend/gtkglue.c (panel_build): Create button only after we - know the option's value. - (button_new): Add VAL argument and initialize button state to - - correct value before connecting the toggled callback. - - Bugs reported by Petter Reinholdtsen : - - * sanei/sanei_config.c (sanei_config_open): Add missing cast to - (char *). - - * sanei/sanei_scsi.c (sanei_scsi_cmd) [USE == IRIX_INTERFACE]: Fix - (u_char) cast to (u_char *). - -1997-11-06 David Mosberger-Tang - - * backend/qcam.c (init_options): Set the type of OPT_NUM_OPTS to - SANE_TYPE_INT (suggested by Guido Muesch - ). - * backend/mustek.c (init_options): Ditto. - -1997-11-04 David Mosberger-Tang - - * frontend/xcam.c (xcam_exit): Protect against recursive - invocation. - (main): Turn on preferences.advanced as no graphical geometry - selection exists right now. - Include . - preferences: New variable. - (pref_toggle_advanced): New function. - (pref_toggle_tooltips): Ditto. - (build_preferences_menu): Add button to control advanced & tooltips - preferences. - - * doc/sane.tex (subsection{sanecontrol_option}): Make it illegal - for SANE_INFO_RELOAD_OPTIONS to be set needlessly. - - * backend/hp.c (sane_control_option): Only turn on RELOAD_PARAMS - when value changed. - - * backend/qcam.c (sane_control_option): Only turn on - RELOAD_PARAMS when value changed. - - * backend/mustek.c (sane_control_option): Only turn on - RELOAD_OPTIONS and/or RELOAD_PARAMS when value changes. - - * Integrate b&w quickcam fixes by Guido Muesch - : - - * backend/qcam.c (bw_x_range, odd_bw_x_range, bw_y_range, - odd_bw_y_range): New constants. - (sane_open): Disable despeckle, black-level, hue, saturation, - resolution & test options for b&w camera (either not useful or not - supported at this point). - (sane_start): Use QC_MONO_SET_CONTRAST instead of - QC_BW_SET_CONTRAST. - (sane_start): Call qc_reset() for b&w camera to avoid hangs (color - camera doesn't need this and is faster that way). - (sane_start): Multiply undecimated_width by s->val[OPT_DEPTH].w, - not 4. - - * backend/qcam.h: Remove obsolete QC_BW_SET_CONTRAST, - QC_BW_AUTO_ADJUST_OFFSET, QC_BW_GET_OFFSET, and QC_SET_CONTRAST - macros. - -1997-11-02 David Mosberger-Tang - - * doc/sane-hp.man (Model): Mention ScanJet IIcx. Johannes Geiger - reported it to work fine under OS/2 with - sane-0.66 - - * backend/umax.c: Apply patch by Oliver Rauch that avoid - umax hangs. - -1997-11-01 David Mosberger-Tang - - * Version 0.67 released. - - * sanei/sanei_ab306.c: New file. - - * backend/mustek.h (MUSTEK_FLAG_PP): New macro. - (struct Mustek_Scanner): Add members ld.index and ld.lmod3 - for parallel-port scanner line-distance correction. - - * backend/mustek.c (color_seq): Move to global level from - fix_line_distance_normal(). - (fix_line_distance_pp): New function. - (scsi_wait_ready): Renamed from wait_ready(). - (pp_wait_ready): New function. - (dev_wait_ready): Ditto. - (dev_open): Ditto. - (dev_cmd): Ditto. - (dev_req_wait): Ditto. - (dev_read_start): Ditto. - (dev_read_req_enter): Ditto. - (dev_close): Ditto. - (attach): Modify to use dev_open(). Set minimum scan resolution - to 51 dpi for parallel-port scanners. - (scan_area_and_windows): Call dev_cmd() instead of - sanei_scsi_cmd(). - (mode_select): Ditto. - (gamma_correction): Ditto. - (start_scan): Ditto. - (stop_scan): Ditto. - (line_distance): Ditto. - (get_image_status): Ditto. - (backtrack_and_adf): Ditto. - (gamma_correction): Return immediately if custom-gamma is turned - off or if not doing a multibit scan. Add support for sending all - three gamma tables with a single command. - (line_distance): Initialize additional line-distance correction - state needed by parallel-port scanner. - (read_req_enter): Remove. - (send_data): Modify to support parallel-port scanner line-distance - correction. - (reader_process): Require I/O-privilege if dealing with parallel - port scanner and call dev_read_start(). Use dev_read_req_enter() - instead of read_req_enter(), dev_req_wait() instead of - sanei_scsi_req_wait(). - (sane_start): For parallel-port scanner, send gamma table with - a single gamma_correction() call. - - * doc/sane-mustek.man: Update with info regarding parallel port - scanner. - - * backend/dll.c (add_backend): When a backend is present already, - move it to the head of the backend list, so pre-loaded backends - appear in the same order as if they had been loaded dynamically - - * backend/mustek.c (pp_mode_list): New constant. - - * backend/mustek.c (init_options): Use pp_mode_list for parallel - port type scanners (no color lineart/halftone modes). - - * sanei/sanei_codec_ascii.c (ascii_w_string): free(*s) only if *s - is non-NULL (reported by Geoffrey T. Dairiki - ). - - * backend/mustek.c (attach): Turn on MUSTEK_FLAG_LD_NONE for - MFS-12000SP with firmware 1.02 or newer. Reported by Henning - Busacker . - -1997-10-25 David Mosberger-Tang - - * doc/sane.tex (chapter{Contact Information}): Update mailing list - and home page address. - - * backend/dll.c: Include . Call - sanei_config_open() instead of fopen(). - * backend/hp.c: Ditto. - * backend/mustek.c: Ditto. - * backend/net.c: Ditto. - * backend/pint.c: Ditto. - * backend/qcam.c: Ditto. - * backend/umax.c: Ditto. - - * backend/Makefile.in (EXTRA): Mention ../sanei/sanei_config.lo. - - * doc/sane-dll.man: Document SANE_CONFIG_DIR. - * doc/sane-hp.man: Ditto. - * doc/sane-mustek.man: Ditto. - * doc/sane-net.man: Ditto. - * doc/sane-pint.man: Ditto. - * doc/sane-qcam.man: Ditto. - * doc/sane-scsi.man: Ditto. - * doc/sane-umax.man: Ditto. - * doc/saned.man: Ditto. - - * backend/microtek.c: Updated with v0.3 from Matt. - Include - (MICROTEK_CONFIG_FILE): Define as "microtek.conf". - (PATH_MICROTEK_CONFIG): Delete. - (sane_init): Replace fopen() with sanei_config_open(). - - * backend/microtek.h: Ditto. - -1997-10-24 David Mosberger-Tang - - * sanei/sanei_config.c (sanei_config_open): Add multiple-directory - support for SANE_CONFIG_DIR. - - * sanei/sanei_config.c: New file by Jeff Freedman. - * include/sane/sanei_config.h: Ditto. - -1997-10-23 David Mosberger-Tang - - * Fixes for OS/2 by Jeff Freedman: - * frontend/Makefile.in (SBINPROGS): Set to @SANED@. - * configure.os2 (LN_S): Add --sysconfdir=. - * configure.in: Set up SANED depending on . - * backend/Makefile.in (EXTRA): Mention usleep.lo and strndup.lo. - * backend/pnm.c (rgblength, rgbbuf, rgbleftover): Declare as - static. - * ltconfig: Upgrade to 1.0d. - * ltmain.sh: Ditto. - * sanei/sanei_constrain_value.c: Include . - -1997-10-22 David Mosberger-Tang - - * frontend/gtkglue.h (struct GSGDialog): Remove idle_id member. - - * frontend/gtkglue.c (idle_handler): Remove. GTK's reference - counting appears to have been fixed (?). - - * backend/umax_scanner.h: Update with Oliver's latest version. - * backend/umax-scsi.c: Ditto. - * backend/umax-scsidef.h: Ditto. - * backend/umax-struct.h: Ditto. - * backend/umax.c: Ditto. - * backend/umax.h: Ditto. - -1997-10-18 David Mosberger-Tang - - * sanei/sanei_scsi.c (sanei_scsi_req_enter): Set cdb.hdr.pack_id - to unique id number. - -1997-10-17 David Mosberger-Tang - - * japi/Makefile.in: New file (by Jeff Freedman ). - * japi/README.JAVA: Ditto. - * japi/Sane.c: Ditto. - * japi/Sane.java: Ditto. - * japi/SaneDevice.java: Ditto. - * japi/SaneOption.java: Ditto. - * japi/SaneParameters.java: Ditto. - * japi/SaneRange.java: Ditto. - * japi/Test.java: Ditto. - - * configure.in (AC_OUTPUT): Mention japi/Makefile. - - * sanei/sanei_scsi.c (sanei_scsi_cmd) [USE == IRIX_INTERFACE]: - Add data buffer alignment fix by Michael Sweet. - -1997-10-24 Jeff Freedman - - * sanei_open_config() added. Backends call it to open .conf files. - -1997-10-14 David Mosberger-Tang - - * Version 0.66 released. - - * README: Update with new URLs and latest GIMP/GTK info. - -1997-10-11 David Mosberger-Tang - - * include/sane/saneopts.h: Add #defines for TEN_BIT_MODE, WARMUP, - RGB_PREVIEW_PATCH, and START_SCAN_PATCH. - - * README: Remove umax-specific configure options (they're now - runtime options). - * configure.in (CPPFLAGS): Ditto. - * include/sane/config.h.in: Ditto. - - * backend/epson.c: Updated - -1997-10-09 David Mosberger-Tang - - * backend/umax.c (sane_exit): Remove bogus call to free() - (reported by Peter). - -Thu Oct 9 20:20:32 1997 Kazuhiro Sasayama - - * epson.c (sane_start): Fix lcount computation. - -Thu Oct 9 11:44:03 1997 Kazuhiro Sasayama - * epson.c (sane_start): Use byte-interleaved mode if available. - (sane_start): Set line counter for byte-interleaved mode. - (sane_read): Handle byte-interleaved mode. - (sane_init) [PACKAGE && VERSION]: Debug out PACKAGE and VERSION. - -Tue Oct 7 18:44:36 1997 Kazuhiro Sasayama - - * epson.c (set_lcount): New function. - (sane_start): Use block mode for monochrome if available. - (sane_read): Handle block mode. - - * epson.h (struct Epson_Scanner): Add block. - -Tue Oct 7 15:48:11 1997 Kazuhiro Sasayama - - * epson.c (set_speed): New function. - (sane_start): Use set_speed. - -Tue Oct 7 15:44:33 1997 Kazuhiro Sasayama - - * README: Add info about a mailing list. - - * Makefile.am (libsane_epsonx_la_LDFLAGS): Increment the revision. - - * epson.c (identify): Debug output the command level. - -1997-10-08 David Mosberger-Tang - - * backend/mustek.conf: Turn on linedistance-fix and lineart-fix by - default. - - * include/sane/config.h.in: Remove - NEED_MUSTEK_LINE_DISTANCE_WORKAROUND. - - * doc/sane-mustek.man (CONFIGURATION): Document option - linedistance-fix and lineart-fix. - - * configure.in: Remove test for --enable-ld-fix. - - * backend/mustek.h (MUSTEK_FLAG_LD_FIX): New flag. - (MUSTEK_FLAG_LINEART_FIX): Ditto. - - * backend/mustek.c (line_distance): Replace - NEED_MUSTEK_LINE_DISTANCE_WORKAROUND with runtime test for same. - (reader_process): If MUSTEK_FLAG_LINEART_FIX is on, delay 200ms - when scanning in lineart mode. - (sane_init): New variable. Add linedistance-fix and lineart-fix - support. - - * backend/Makefile.in (install): Fix install rule so all symlinks - necessary for libsane.so are installed. - - * backend/dll.c (load): Change from LIBNAME to LIBPATH (as per - libtool-1.0c documention). - - * sanei/sanei_scsi.c (issue): Declare `static'. - - * aclocal.m4: Update with contents of libtool.m4. - - * configure.in (AC_PROG_RANLIB): Remove (once again!). - - * config.guess: Update from libtool-1.0c. - * config.sub: Ditto. - * ltconfig: Ditto. - * ltmain.sh: Ditto. - - * backend/epson.c: Update with Kazuhiro's latest epson version - (1.1.6). - -1997-10-07 David Mosberger-Tang - - * frontend/gtkglue.c (panel_destroy): Clear elem->menu after - freeing it (reported by Kazuhiro Sasayama ). - -1997-10-06 David Mosberger-Tang - - * backend/epson.c: Updated with Kazuhiro Sasayama - latest version (1.1.5). - -1997-10-04 David Mosberger-Tang - - * Version 0.65 released. - - * sanei/sanei_scsi.c (close_aspi): Rename from sanei_close_aspi (static - functions don't need ugly sanei_ prefix...). - (open_aspi): Ditto. - - * configure.os2: New file (from Jeff's config.os2). - - * backend/umax-scsi.c: Mmove include of and - into !def UMAX_TO_SANE bracket. - - * backend/pnm.c (getparmfromfile): Open with mode "rb" to get - binary file on platforms where this is meaningful. - -1997-10-02 David Mosberger-Tang - - * doc/sane-epson.man: Mention that backend is known to work with - GT-5000. - -1997-10-01 David Mosberger-Tang - - * doc/sane-epson.man: New file (based on Kzuhiro's README file). - - * backend/Makefile.in (PRELOADABLE_BACKENDS): Mention epson. - (libsane-epson.la): Add dependencies for Epson backend. - - * backend/epson.c: New file by Kazuhiro Sasayama - . - * backend/epson.h: Ditto. - - * backend/microtek.c: Updated with latest version from - http://www.mir.com/mtek/ by Matt Marjanovic . - * backend/microtek.h: Ditto. - -1997-10-3 Jeff Freedman - - * sanei/sanei_scsi.c: Minor fixes for OS/2 support. - - * configure.in: Check for presence of sys/socket.h to set @NET@. - - * backend/Makefile.in: net -> @NET@ - -1997-09-30 David Mosberger-Tang - - * sanei/sanei_scsi.c: Integrate OS/2 support by Jeff Freedman: - (OS2_INTERFACE) Define. - (open_aspi,close_aspi): New OS/2-specific functions. - (sanei_scsi_open): Add OS/2 support. - [USE = OS2_INTERFACE]: OS/2 version of sanei_scsi_cmd(). - (sanei_scsi_cmd, sanei_scsi_req_wait) [STUBBED_INTERFACE]: - Return proper value. - - * include/sane/config.h.in (HAVE_STRNCASECMP, HAVE_OS2_H): Add - #undef. If !HAVE_STRNCASECMP, define strncasecmp macro as - alias for strnicmp. - - * configure.in (AC_CHECK_FUNCS): Check for strncasecmp(). - (AC_CHECK_HEADERS): Check for os2.h. - -1997-09-30 David Mosberger-Tang - - * sanei/sanei_scsi.c: Integrate OS/2 support by Jeff Freedman: - (OS2_INTERFACE) Define. - (open_aspi,close_aspi): New OS/2-specific functions. - (sanei_scsi_open): Add OS/2 support. - [USE = OS2_INTERFACE]: OS/2 version of sanei_scsi_cmd(). - (sanei_scsi_cmd, sanei_scsi_req_wait) [STUBBED_INTERFACE]: - Return proper value. - - * include/sane/config.h.in (HAVE_STRNCASECMP, HAVE_OS2_H): Add - #undef. If !HAVE_STRNCASECMP, define strncasecmp macro as - alias for strnicmp. - - * configure.in (AC_CHECK_FUNCS): Check for strncasecmp(). - (AC_CHECK_HEADERS): Check for os2.h. - -1997-09-24 David Mosberger-Tang - - * Version 0.64 released. - - * PROJECTS (Backend): Update microtek entry. - Add entry for sgivl. - - * backend/microtek.conf: New file. - - * backend/dll.conf: Mention microtek. - - * backend/Makefile.in (PRELOADABLE_BACKENDS): Mention microtek. - (libsane-microtek.la): Mention microtek dependencies. - - * backend/microtek.c: New file by Matthew Marjanovic. - * backend/microtek.h: Ditto. - -1997-09-23 David Mosberger-Tang - - * sanei/sanei_scsi.c (sanei_scsi_cmd): Integrate Michael Sweet's - latest Irix implementation of sanei_scsi_cmd(). - -Sat Sep 6 08:59:24 1997 David Mosberger-Tang - - * Version 0.63 released. - - * configure.in (V_MINOR): Bump up to 63. - - * configure.in (AM_PROG_RANLIB): Go back to AC_PROG_RANLIB. The - former causes a bad configure script. - -Fri Aug 29 16:08:05 1997 David Mosberger-Tang - - * doc/sane-umax.man: Change status of "Astra 1200S" to "all modes ok" - as Oliver tells me that this has been tested and is working now. - -Wed Aug 20 17:23:04 1997 David Mosberger-Tang - - * sane-0.63.lsm: Update email addresses etc. - - Integrate Oliver Rauch's UMAX improvements: - - * README: Document --enable-umax-preview-fix, - --enable-umax-start-scan-fix. - - * configure.in (UMAX_RGB_PREVIEW, UMAX_START_SCAN_PATCH): Define if - necessary. - - * include/sane/config.h.in (UMAX_RGB_PREVIEW, UMAX_START_SCAN_PATCH): - Add #undef. - - * include/sane/saneopts.h: Add manifest constants for options - resolution-bind, negative, quality-cal, threshold, analog-gamma, - analog-gamma-r, analog-gamma-g, analog-gamma-b, analog-gamma-bind, - smear, white-bind, black-bind. - - * AUTHORS (Frontends): Update email addresses of Oliver Rauch and - myself. - -1997-08-07 David Mosberger-Tang - - * backend/mustek.c (attach): Print Mustek scanner info at - debug level 2, not 3. - -1997-08-06 David Mosberger-Tang - - * frontend/preview.c (XSERVER_WITH_BUGGY_VISUALS): Make conditional - on #ifdef __alpha__ (Michael Sweet reports that the old code broke - SGI IRIX 6.3). - -1998-08-01 David Mosberger-Tang - - * include/sane/config.h.in (HAVE_SYS_SCSICMD_H, HAVE_SYS_DSREQ_H): - Undefine. - - * configure.in (AC_CHECK_HEADERS): Mention sys/scsicmd.h and - sys/dsreq.h. - - * sanei/sanei_scsi.c (SCO_OS55_INTERFACE, IRIX_INTERFACE, - SOLARIS_INTERFACE): Define. - -1997-07-27 David Mosberger-Tang - - * frontend/xscanimage.c (quit_xscan) [HAVE_LIBGIMP_GIMP_H]: When - running as a GIMP extension, call gimp_quit(). - (init) [HAVE_LIBGIMP_GIMP_H]: Set GDK's xshm flag based on GIMP's - flag. - - * doc/sane-mustek.man (SCSI ADAPTER TIPS): Try to make complete - sentences. - -1997-07-25 David Mosberger-Tang - - * Version 0.62 released. - - * configure.in (CPPFLAGS): Test for gtk_gamma_curve_new() to - see whether appropriate version of gtk is installed. - - * backend/mustek.c (sane_init): Add parsing support for option - `strip-height'. - (strip_height): New variable to limit scan strip height. - (reader_process): If strip_height is greater than 0.0, limit - lines_per_buffer so that no more than strip_height inches are - scanned with a single SCSI read command. - - * doc/sane-mustek.man (CONFIGURATION): Describe strip-height - option. - -1997-07-23 David Mosberger-Tang - - * doc/sane-hp.man (Model): Added ScanJet 3c info. - -1997-07-22 David Mosberger-Tang - - * frontend/scanimage.README: Remove file. - - * doc/sane-scsi.man: Add info on generic AM53C974 driver. - -1997-07-19 David Mosberger-Tang - - * sanei/sanei_scsi.c [USE == LINUX_INTERFACE]: Include - . - -1997-07-18 David Mosberger-Tang - - * sanei/sanei_scsi.c (sanei_scsi_req_flush_all) - [WE_HAVE_ASYNC_SCSI]: Implement stub. - - * scripts/xerox: New file (simple xeroxing script). - - * frontend/scanimage.c (main): When opening a device fails, also - print reason for failure. - - * frontend/preview.c (preview_new): Register expose_event handler. - (preview_destroy): Call scan_done() if called when preview - scanning in progress. - - * backend/mustek.c (attach): Add argument MAY_WAIT. If it's TRUE, - wait for scanner to become ready before sending inquiry command. - (do_cancel): Rename to do_stop. Ignore child's exist status - when we're really cancelling a scan. Issue stop_scan() command - only if the scan got cancelled and do a wait_ready() before - issueing the stop_scan(). - (read_data): Delete. - (sane_init): Call attach() with MAY_WAIT set to SANE_FALSE. - (sane_open): Call attach() with MAY_WAIT set to SANE_TRUE. - - * frontend/preview.c (display_partial_image): Use gtk_preview_put() - to update the preview window. Much faster than hiding/showing the - widget. - (expose_handler): New function. - - * frontend/progress.c (progress_new): Make "Cancel" button a - toggle-button so user can see when it was pressed down while - the backend cancels its operation. - - * backend/mustek.c (do_cancel): Call wait_ready() before - attempting to stop scanner. - (read_req_enter): New function. - (send_data): Ditto. - (sigterm_handler): New function. - (reader_process): Reimplement using asynchronous SCSI command - interface. - (wait_ready): Use gettimeofday() to implement timeout. The - scsi command itself may take a considerable amount of time - (1 second or more) so we can't just loop for a fixed number - of times. - - * include/sane/sanei_scsi.h: Declre sanei_scsi_req_enter, - sanei_scsi_req_wait, and sanei_scsi_req_flush_all. - - * sanei/sanei_scsi.c [WE_HAVE_ASYNC_SCSI]: Define. - (issue): New function. - (sanei_scsi_req_flush_all): New function. - (sanei_scsi_req_enter): Ditto. - (sanei_scsi_req_wait): Ditto. - (sanei_scsi_cmd): Reimplement in terms of enter/wait. - (sanei_scsi_req_enter) [!WE_HAVE_ASYNC_SCSI]: Stub that - simply calls sanei_scsi_cmd(). - (sanei_scsi_req_wait): Empty stub. - -1997-07-16 David Mosberger-Tang - - * doc/sane-scsi.man: Add Tekram DC390 info (contributed by - kawk@Home.Yo.COM (Kolja Waschk)) - -1997-07-15 David Mosberger-Tang - - * sanei/sanei_scsi.c (sanei_scsi_cmd) [USE==LINUX_INTERFACE]: - Return SANE_STATUS_NO_MEM if write() of SCSI command fails. - - * backend/mustek.c (do_cancel): If reader_process exited, use - exit status as return value. - (reader_process): Return SANE_STATUS_IO_ERROR instead of 1. - Return SANE_STATUS_NO_MEM instead of 2. Return STATUS instead - of 3. Return SANE_STATUS_GOOD instead of 0. - (sane_read): If do_cancel() returns anything but - SANE_STATUS_CANCELLED or SANE_STATUS_GOOD, something bad has - happened and the return status should be returned. - - * doc/sane-scsi.man: Fix typo: sg.h is in /usr/include/scsi, not - /usr/include. - - * PROBLEMS: Add warning about updating Linux kernel after increasing - SG_BIG_BUFF. - -1997-07-14 David Mosberger-Tang - - * frontend/xscanimage.c (quit_xscan): Destroy preview window before - quitting, so preview image gets saved if necessary. - - * frontend/Makefile.in (LIBX11): New macro. - (LIBGTK): Ditto. - (xscanimage): Use $(LIBGTK) instead of $(LIBS). - (xcam): Use $(LIBGTK) instead of $(LIBS). - - * configure.in (LIBX11): Define as all libraries necessary when - using X11. - (LIBGTK): Define as all libraries necessary when using GTK+. - - * backend/mustek.c (sane_start): Don't send gamma in lineart and - halftone mode! - - * doc/sane-scsi.man: Add info on how to setup BT958 card (contributed - by Jeremy ). - -1997-07-13 David Mosberger-Tang - - * doc/sane-scsi.man: Add info on FreeBSD. - -1997-07-12 David Mosberger-Tang - - * ltmain.sh: Installed libtool-1.0-nomode patch. - - * configure.in (AC_PROG_RANLIB): Change to AM_PROG_RANLIB. - -1997-07-11 David Mosberger-Tang - - * ltmain.sh: Upgrade to libtool-1.0. - * ltconfig: Ditto. - * config.guess: Ditto. - * config.sub: Ditto. - * aclocal.m4: Ditto. - -1997-07-08 David Mosberger-Tang - - * Version 0.61 released. - - * backend/Makefile.in (LIBLIB_FUNCS): Mention snprintf. - - * backend/umax-struct.h (LINEART, HALFTONE, GREYSCALE, RGB): Move - the pound sign to the beginning of the line. - * backend/umax-scsidef.h: Ditto for all indendent #defines in this - file. - * backend/umax-scsi.c: Ditto for all # directives in here. - - * frontend/saned.c [HAVE_LIBC_H]: Include . - -1997-07-07 David Mosberger-Tang - - * backend/net.c [HAVE_LIBC_H]: Include . - - * lib/usleep.c: New file (adapted from glibc). - - * lib/strndup.c: Move #ifndef HAVE_STRNDUP up so nothing - except gets included unless really needed. - Include to get size_t defined. - - * lib/snprintf.c (vsnprintf): Rename from vplp_snprintf. - (snprintf): Rename from plp_snprintf. - - * include/sane/config.h.in: Add #undef HAVE_USLEEP. Add #undef - HAVE_IO_CAM_CAM_H. - - * configure.in: Test ${ac_cv_prog_gcc} instead of $CC to find out - whether we're dealing with gcc. Test for io/cam/cam.h header. - (AC_C_INLINE): Add. - (AC_CHECK_FUNCS): Mention usleep. - Check for Xext after checking for X11 since on some platforms, - linking against Xext requires functions from X11. - - * backend/umax.c (PATH_MAX): Define as 1024 if undefined. - - * backend/Makefile.in (CONFIGS): Don't add $(srcdir) prefix. - (LIBLIB_FUNCS): Mention usleep. - (install): Invoke $(LIBTOOL) $(MINST) --finish $(libdir) in - a final step. Correct installation rule for config files. - -1997-07-06 David Mosberger-Tang - - * sanei/sanei_scsi.c (sanei_scsi_cmd): New variable RESULT. - -1997-07-05 David Mosberger-Tang - - * sanei/sanei_scsi.c (sanei_scsi_cmd): Improve BSD version based - on patch by Amancio Hasty . - (BSD_INTERFACE): Rename from NETBSD_INTERFACE (FreeBSD uses the - same interface). - - * configure.in (CPPFLAGS): Check for scsireq_enter in libscsi.a. - - * doc/Makefile.in (SECT5): Mention sane-scsi.5. - * doc/sane-scsi.man: New file. - - * doc/sane-umax.man: Add SEE ALSO section mentioning sane-scsi(5). - * doc/sane-mustek.man: Ditto. - - * doc/scanimage.man: Mention sane-umax(5). - * doc/xscanimage.man: Ditto. - * doc/saned.man: Ditto. - - * configure.in (AC_TYPE_PID_T): Add. - * include/sane/config.h.in: Add undef of pid_t. - -1997-07-04 David Mosberger-Tang - - * lib/sigprocmask.c (sigprocmask): Use hardcoded values instead - of SIG_BLOCK, SIG_UNBLOCK, and SIG_SETPROCMASK. - -1997-07-03 David Mosberger-Tang - - * configure.in (CPPFLAGS): Remove -D_POSIX_SOURCE. We can't define - it safely since it causes select() related typedefs and defines - to go away under FreeBSD, for example. - -1997-07-02 David Mosberger-Tang - - * configure.in (CPPFLAGS): Put -D_GNU_SOURCE and -D_POSIX_SOURCE - in CPPFLAGS, not CFLAGS. - - * doc/sane-umax.man: Change SG_BIG_BUFF example from 128KB to - 127.5KB. - * doc/sane-mustek.man: Ditto. Mention DTC3181E together with - DTCT436. - - * frontend/gtkglue.c (gsg_create_dialog): Initialize dialog->advanced - to TRUE so "dumb" frontends will show all options. - - * frontend/xscanimage.c (device_dialog): Turn off advanced options - by default. - - * configure.in (AC_CHECK_TYPE): Check for u_long and u_int. - Check for scsireq_t. - * sanei/sanei_scsi.c: Don't define scsireq_t here. - - * include/sane/config.h.in: Add undef of u_long, u_int, and - scsireq_t. - -1997-07-01 David Mosberger-Tang - - * frontend/xscanimage.c (quit_xscan): No longer call - preview_destroy() since that now gets called as part of - the "destroy" callback. - - * backend/hp.c (attach) [PREFER_DEVICEPIXEL]: Use device-pixel - unit commands instead of decipoint commands so things work on a 5p - as well (contributed by NOGAYA Shigeki - ). - (sane_start) [PREFER_DEVICEPIXEL]: Convert from mm to pixels. - - * frontend/preview.c (input_available): Break out of per-bit loop - when done with one line (fix contributed by NOGAYA Shigeki - ). - * frontend/xscanimage.c (input_available): Ditto. - - * doc/sane-umax.man: Rename SCSI id to Product id to reduce - confusion. - * doc/sane-hp.man: Ditto. - * doc/sane-mustek.man: Ditto. - - * backend/mustek.c (wait_ready): Ignore errors during wait_ready(). - With 3-pass scanners, ncr810 driver returns EIO while the scanner - is getting ready for pass 2 or 3. - -1997-06-30 David Mosberger-Tang - - * backend/mustek.c (sense_handler): Print debug info if we - find unknown sense result. - - * sanei/sanei_scsi.c (sanei_scsi_cmd): Consider sense_buffer[] - only when result != 0. - - * frontend/scanimage.c (sighandler): Change return value type - from void to RETSIGTYPE (from ). - - * doc/sane-mustek.man: Mention problems with MSFS-12000SP. - - * backend/umax.c (sane_start): Don't use C++ style line comments. - - * backend/umax-scsi.c (umax_do_scsi_cmd): Use sigemptyset() to clear - out signal set. Include . - - * frontend/saned.c [HAVE_SYS_SELECT_H]: Include . - * include/sane/config.h.in: Mention HAVE_SYS_SELECT_H. - -Thu Jun 26 10:19:50 1997 David Mosberger-Tang - - * README: Mention permissions on generic SCSI device. - -Tue Jun 24 17:35:52 1997 David Mosberger-Tang - - * doc/xscanimage.man: Fix spacing. - - * doc/sane-dll.man: Mention how list of pre-loaded backends - can be changed. - -Sun Jun 22 08:29:47 1997 David Mosberger-Tang - - * PROBLEMS: Add note on SCSI device names under OpenStep. - - * sanei/sanei_scsi.c (sanei_scsi_cmd): Fix various minor bugs. - (sanei_scsi_open): Add support for OpenStep. - - * backend/Makefile.in (install): Replace 'ln -f -s' with `rm -f', - `ln -s' sequence. OpenStep doesn't support the -f option at all. - -Fri Jun 20 07:30:18 1997 David Mosberger-Tang - - * doc/sane-qcam.man: Updated B&W status. - - * sanei/sanei_save_values.c [HAVE_LIBC_H]: Include . - * sanei/sanei_load_values.c: Ditto. - - * lib/sigprocmask.c: New file. - * lib/strdup.c: Ditto. - - * lib/Makefile.in (LIBLIB_OBJS): Mention strdup.o and sigprocmask.o. - (LIBLIB_LTOBJS): Mention strdup.lo and sigprocmask.lo. - (liblib.a): Use $(RANLIB) instead of -ranlib. - - * include/sane/sanei_backend.h [!HAVE_SIGPROCMASK]: Define - compatibility macros sigset_t, sigemptyset(), sigfillset(), - sigaddset(), sigdelset(), and sigaction(). - Define macro SIGACTION. - - * frontend/saned.c (HAVE_VARARG_MACROS): Don't define unless we - have at least gcc 2.6. - * include/sane/sanei_debug.h Ditto. Use HAVE_VARARG_MACROS - instead of __GNUC__. - * sanei/sanei_init_debug.c: Ditto. - - * configure.in (AC_PROG_RANLIB): Mention. - (CFLAGS): Move up near the beginning and add -D_POSIX_SOURCE. - (AC_CHECK_HEADERS): Test for libc.h. - (AC_TYPE_SIGNAL): Mention. - (AC_CHECK_FUNCS): Check for sigprocmask. - - * backend/net.c (sane_init): Honor SANE_NET_HOSTS even if - net.conf does not exist. - - * backend/mustek.c (sane_start): Use "struct SIGACTION" so it's - easier to make code work on platforms that don't support - sigprocmask(). - * backend/umax.c (sane_start): Ditto. - - * ltmain.sh: Upgrade to libtool-0.9h. - * ltconfig: Ditto. - * config.guess: Ditto. - * config.sub: Ditto. - * aclocal.m4: Ditto. - -Thu Jun 19 08:26:33 1997 David Mosberger-Tang - - * configure.in (V_MINOR): Update forgotten version number... - - * backend/qcam.c (reader_process): Scale 4 and 6 bpp to 8 bpp. - - * backend/mustek.h (MUSTEK_FLAG_LD_NONE): New flag. - * backend/mustek.c (attach): Turn on MUSTEK_FLAG_LD_NONE for - MSF-06000SP (this fixes the problems for Andreas Gaumann - ). - (attach): Print debug message when MUSTEK_FLAG_LD_NONE is on. - (line_distance): Fix up ld correction only if MUSTEK_FLAG_LD_NONE - is not on. - -Wed Jun 18 15:42:25 1997 David Mosberger-Tang - - * doc/sane.tex (section{Image Data Format}}): Clarify - what valid bit-depths are. - -Tue Jun 17 07:47:51 1997 David Mosberger-Tang - - * backend/qcam.c (sane_get_parameters): Test for != QC_COLOR - instead of == QC_MONO. Apparently, there are several versions - of the monochrome camera. - (qc_setscanmode): Ditto. - - * lib/snprintf.c: Update with latest version (also includes - license information now). - - * sane-0.6.lsm (Author): Update Tristan Tarrant's email address. - * AUTHORS: Ditto. - * frontend/xscanimage.c: Ditto. - -Sun Jun 15 10:08:44 1997 David Mosberger-Tang - - * doc/xscanimage.man: Add section on how to run xscanimage under - the GIMP. - - * frontend/xscanimage.c (init) [HAVE_LIBGIMP_GIMP_H]: Call - gtk_rc_parse() with gimp_gtk_rc() to get space-saving layout of - The GIMP. (Suggested by Sven Neumann.) - - * sanei/sanei_scsi.c (sanei_scsi_cmd): Add NeXTStep/OpenStep - implementation. - (sanei_scsi_cmd): Adjust NetBSD version to make it more like - NeXTStep/OpenStep version. - - * configure.in (AC_CHECK_HEADERS): Mention bsd/dev/scsireg.h. - -Thu Jun 19 15:19:38 1997 Gordon Matzigkeit - - * backend/umax-scsi.c: Parameterize slightly more so that the - build succeeds on non-Linux platforms. - - * Makefile.in, backend/Makefile.in, doc/Makefile.in, - frontend/Makefile.in (install): Fail immediately if any - installation fails. Use mkinstalldirs to create all installation - directories. - -Sat Jun 14 11:07:13 1997 David Mosberger-Tang - - * Version 0.6 released. - - * frontend/preview.c (preview_new): Connect "destroy" signal - so we notice if window manager closes our window. - (top_destroyed): New function. - - * frontend/xscanimage.c (scan_preview): Make it robust against - preview_new() returning NULL and connect "destroy" signal so we - notice when the window manager closes the preview window. - (preview_window_destroyed): New function. - - * LICENSE: New file. - - * backend/dll.c: Change license from GPL to relaxed GPL. - * backend/hp.c: Ditto. - * backend/hp.h: Ditto. - * backend/mustek.c: Ditto. - * backend/mustek.h: Ditto. - * backend/net.c: Ditto. - * backend/net.h: Ditto. - * backend/pint.c: Ditto. - * backend/pint.h: Ditto. - * backend/pnm.c: Ditto. - * backend/pnm.h: Ditto. - * backend/qcam.c: Ditto. - * backend/qcam.h: Ditto. - * sanei/sanei_codec_ascii.c: Ditto. - * sanei/sanei_codec_bin.c: Ditto. - * sanei/sanei_constrain_value.c: Ditto. - * sanei/sanei_init_debug.c: Ditto. - * sanei/sanei_load_values.c: Ditto. - * sanei/sanei_net.c: Ditto. - * sanei/sanei_save_valus.c: Ditto. - * sanei/sanei_scsi.c: Ditto. - * sanei/sanei_wire.c: Ditto. - -Fri Jun 13 18:35:47 1997 David Mosberger-Tang - - * lib/snprintf.c: New file (Patrick Powell). - - * frontend/xcam.c: Use guint32 and guint32 instead of u_int16_t - and u_int32_t (Tristan Tarrant). - - * doc/Makefile.in (SECT5): Mention sane-umax.5. - - * configure.in (PACKAGE_VERSION): Check for snprintf (Tristan - Tarrant). - - * backend/dll.conf: Mention umax. - - * backend/umax-scanner.h: New file (from umax-0.5.5). - * backend/umax-scsi.c: Ditto. - * backend/umax-scsidef.h: Ditto. - * backend/umax-struct.h: Ditto. - * backend/umax-uc630.h: Ditto. - * backend/umax-ug630.h: Ditto. - * backend/umax-umax.c: Ditto. - * backend/umax.conf: Ditto. - * backend/umax.h: Ditto. - * doc/sane-umax.5: Ditto. - - * backend/Makefile.in (PRELOADABLE_BACKENDS): Mention umax. - (libsane-umax.la): List dependencies for umax library. - - * COPYING: New file. - - * include/sane/config.h.in: Add #undef HAVE_SNPRINTF. - -Tue Jun 10 21:00:34 1997 David Mosberger-Tang - - * ltmain.sh: Upgrade to libtool-0.9g. - -Sun Jun 8 21:24:27 1997 David Mosberger-Tang - - * backend/dll.c (load): Also check SHLIB_PATH (HP-UX) and LIBPATH - (AIX). - - * include/sane/config.h.in: Remove HAVE_GTK_GTKCURVE_H. - -Sat Jun 7 11:19:57 1997 David Mosberger-Tang - - * frontend/xscanimage.c (pref_device_save): Call gsg_sync() before - saving the values. - - * backend/Makefile.in (libsane-%.la): Add -export-dynamic flag. - - * frontend/xscanimage.c (query): Rename "/Extensions/" to "/Xtns/" - to reflect gimp-0.99.10 changes. - (query): Don't put in separator---it confuses gimp. - (main): Temporarily install a null print handler so gimp_main() - doesn't produce any ugly messages when program gets invoked in - stand-alone mode. - - * ltconfig: Upgrade libtool to version 0.9f. - * ltmain.sh: Ditto. - * config.guess: Ditto. - * config.sub: Ditto. - - * frontend/Makefile.in (install): Define MKDIR as - $(top_srcdir)/mkinstallldirs. - Use $(MKDIR) instead of mkdir. - * backend/Makefile.in (install): Ditto. - * doc/Makefile.in (install): Ditto. - - * mkinstalldirs: New file (from maint-0.1g). - -Tue Jun 3 10:29:17 1997 David Mosberger-Tang - - * LEVEL2: New file. - -Sun Jun 1 13:26:40 1997 David Mosberger-Tang - - * doc/Makefile.in (LATEX, DLH): New macros. - (sane.ind): Prefix source filename with $(srcdir). - (ps): Ditto. - (html): Ditto. - - * doc/net.tex (subsection{SANE_NET_START}): Document member - byte_order. - - * sanei/sanei_net.c (sanei_w_start_reply): (De-)code BYTE_ORDER - member. - - * frontend/saned.c (byte_order): New union. - (process_request): Initialize byte_order member. - - * include/sane/sanei_net.h (SANE_Net_Byte_Order): New enum type. - (SANE_Start_Reply): New member BYTE_ORDER. - -Wed May 28 17:13:43 1997 David Mosberger-Tang - - * doc/Makefile.in (install): Create $(mandir)/man1 and - $(mandir)/man5 if necessary. - -Tue May 27 09:31:39 1997 David Mosberger-Tang - - * backend/hp.c: Remove s7_range and s1_range. - (attach): Add inquiry of min/max brightness/contrast and fill in - dev->brightness_range and dev->contrast_range accordingly. - (init_options): Use s->hw->brightness_range instead of s7_range. - Use s->hw->contrast_range instead of s7_range. Disable contrast - option if min value is same as max value. - - * backend/hp.h (struct HP_Device): Add members BRIGHTNESS_RANGE - and CONTRAST_RANGE. - - * sanei/sanei_scsi.c (sanei_scsi_open): Add more debug info. - -Mon May 26 10:43:51 1997 David Mosberger-Tang - - * sanei/Makefile.in: Add definitions for VPATH, srcdir, top_srcdir, - and top_builddir. - (INCLUDES): Move -I directives from CPPFLAGS to this macro. Also - search in $(srcdir), $(top_builddir)/include, and - $(top_srcdir)/include. - - * lib/Makefile.in: Add definitions for VPATH, srcdir, top_srcdir, - and top_builddir. - (INCLUDES): Move -I directives from CPPFLAGS to this macro. Also - search in $(srcdir), $(top_builddir)/include, and - $(top_srcdir)/include. - - * include/Makefile.in: New file. - - * frontend/Makefile.in: Add definitions for VPATH, srcdir, top_srcdir, - and top_builddir. - (INCLUDES): Also search in $(srcdir), $(top_builddir)/include, and - $(top_srcdir)/include. - (install): Add $(srcdir) prefix to sane-style.rc. - - * doc/Makefile.in: Add definitions for VPATH, srcdir, top_srcdir, - and top_builddir. - (%.1 %.5): Use $^ instead of $* so source file can be found even - when in a different directory. - - * configure.in (AC_OUTPUT): Create (dummy) include/Makefile to - ensure include directory exists in build tree. - - * backend/Makefile.in: Add definitions for VPATH, srcdir, - top_srcdir, and top_builddir. - (INCLUDES): Also search in $(srcdir), $(top_builddir)/include, and - $(top_srcdir)/include. - (CONFIGS): Add $(srcdir) prefix. - (%-s.c): Ditto. - - * Makefile.in (INSTALLED_INCLUDES): Mention include/sane/config.h. - Add definitions for VPATH, srcdir, top_srcdir, and top_builddir. - (INSTALLED_INCLUDES): Change include/sane to $(top_srcdir)/include/sane - and use "addprefix" function to add prefix. - -Thu May 15 07:26:06 1997 David Mosberger-Tang - - * doc/sane-mustek.man (Model): Add entry for MFC-600CD. - (Model): Mention AHA-2940. - - * frontend/xscanimage.c (scan_dialog): Move gsg_sync() to here - (from scan_start()). - - * backend/mustek.c (init_options): Disable brightness/contrast for - 1-pass scanners only (in color mode). - -Wed May 14 09:17:02 1997 David Mosberger-Tang - - * backend/mustek.c: Add ax_brightness_range, ax_contrast_range. - (init_options): Use ax_brightness_range/ax_contrast_range for - brightness/contrast option when using a 3-pass scanner. - (encode_percentage): Remove extraneous division by 100.0. - - * doc/sane-mustek.man (Model): Add MFS-12000CX entry. - -Mon May 12 07:58:34 1997 David Mosberger-Tang - - * frontend/scanimage.c (main): Shorten help string so it fits in - 80 characters. - - * frontend/preview.c (paint_image): Only increment height if - height < p->image_height. - -Sat May 10 14:43:05 1997 David Mosberger-Tang - - * Version 0.57 released. - - * backend/mustek.c (attach): Fix range to 220x300mm. - (init_options): Initialize OPT_PREVIEW and OPT_GRAY_PREVIEW. - (sane_control_option): Handle OPT_PREVIEW and OPT_GRAY_PREVIEW. - Do not allow OPT_NUM_OPTS to be set. - (sane_get_parameters): Except for s->params.format and - s->params.last_frame, do not change any parameters when scanning - is in progress. - (sane_start): Handle mono-chrome previewing. - - * backend/mustek.h (Mustek_Option): Add OPT_PREVIEW and - OPT_GRAY_PREVIEW. - - * frontend/progress.c (progress_new): Fix position of progress bar - window to (progress_x,progress_y). - - * frontend/gtkglue.c (panel_build): Skip Preview option. - -Thu May 8 19:39:48 1997 David Mosberger-Tang - - * doc/scanimage.man: New file. - - * doc/Makefile.in (SECT1): Mention scanimage.1. - - * backend/dll.conf: Add hp to dll.conf. - -Wed May 7 07:28:18 1997 David Mosberger-Tang - - * include/sane/sanei_scsi.h (SANEI_SCSI_Sense_Handler): New type. - (sanei_scsi_close): Add SENSE_HANDLER argument (NULL means no - special handler needed). - - * backend/hp.c (sane_start): Pass 0 as SENSE_HANDLER argument. - (attach): Ditto. - - * backend/mustek.c (sense_handler): Rename from request_sense and - simplify. - Remove all explicit request-sense calls. - - * sanei/sanei_scsi.c: Include . - (num_handlers_alloced): New variable. - (sense_handler): Ditto. - (sanei_scsi_open): Add SENSE_HANDLER argument. Stash it away in - SENSE_HANDLER array if non-NULL. - (sanei_scsi_cmd) [HAVE_SYS_SG]: Invoke SENSE_HANDLER[FD] if it - exists and is non-NULL and we have a valid sense-buffer. - (sanei_scsi_cmd) [HAVE_SYS_SCSI]: Ditto. - (sanei_scsi_close): Reset SENSE_HANDLER[FD] to NULL if it exists. - - * frontend/xcam.c: Include . - - * configure.in: Add a big fat warning that PROBLEMS should be - read before running any programs. - - * PROBLEMS: Add info on how to avoid damaging Mustek scanners. - -Mon May 5 07:06:54 1997 David Mosberger-Tang - - * doc/sane.tex (chapter{Contact Information}): Fix URL. - - * doc/net.tex: Add missing sections. Make into chapter. - - * backend/pint.README: Remove. - - * backend/dll.c (ASSERT_SPACE): Call malloc() when devlist is - NULL. SunOS realloc() returns NULL otherwise. - * backend/net.c (ASSERT_SPACE): Ditto. - -Sun May 4 09:21:48 1997 David Mosberger-Tang - - * frontend/saned.c (EXIT_SUCCESS): Define as 0 if not defined by - stdlib.h. - - * frontend/scanimage.c: Include . - - * backend/qcam.c: Define PATH_MAX as 1024 if limits.h doesn't - define it. - * backend/dll.c: Ditto. - * backend/hp.c: Ditto. - * backend/mustek.c: Ditto. - * backend/net.c: Ditto. - * backend/pint.c: Ditto. - * backend/qcam.c: Ditto. - * frontend/xscanimage.c: Ditto. - * frontend/xcam.c: Ditto. - * frontend/preview.c: Ditto. - - * sanei/sanei_wire.c: Include . - * sanei/sanei_net.c: Ditto. - * sanei/sanei_codec_ascii.c: Ditto. - * sanei/sanei_codec_bin.c: Ditto. - * sanei/sanei_save_values.c: Ditto. - * backend/net.c: Ditto. - * frontend/saned.c: Ditto. - - * configure.in (AC_CHECK_HEADERS): Mention - /usr/src/linux/include/scsi/sg.h. - - * include/sane/config.h.in: Add - #undef HAVE__USR_SRC_LINUX_INCLUDE_SCSI_SG_H. - - * sanei/sanei_scsi.c [HAVE__USR_SRC_LINUX_INCLUDE_SCSI_SG_H]: - Include "/usr/src/linux/include/scsi/sg. - (sanei_scsi_cmd): Use Linux version if either HAVE_SCSI_SG_H or - HAVE__USR_SRC_LINUX_INCLUDE_SCSI_SG_H are defined. - - * doc/xscanimage.man: Rename --no-shm to --no-xshm. - -Mon Apr 28 09:55:02 1997 David Mosberger-Tang - - * Version 0.56 released. - - * backend/qcam.c (sane_open): Move disabling of despeckle-filter - for b&w cameras to here (from init_options()). - - * frontend/preferences.c: Add missing default value for FILENAME. - - * backend/qcam.h: Add QC_BW_SET_CONTRAST, - QC_BW_AUTO_ADJUST_OFFSET, and QC_BW_GET_OFFSET. * backend/qcam.c - (sane_start): Use QC_BW_SET_CONTRAST when dealing with B&W camera. - Fix computation of QC_SET_NUM_H value. [Based on Guido Muensch's - patches.] - - * frontend/scanimage.c (advance): Move out-of-memory error message - from scan_it() to here. - (scan_it): When height is known a priori, allocate one extra line - to avoid realloc() when image has been filled. - - * backend/hp.c (BACKEND_NAME): Define as hp (reported by Henryk - Paluch). - - * backend/mustek.c (request_sense): Increase result size from 4 to - 16 bytes to shut up aha1542 driver (reported by Mathias Lautner). - - * frontend/scanimage.c (advance): Fix memory allocation logic - (bug reported by Matthias Lautner). - - * doc/sane-dll.man: Clarify that pre-loaded backends are not - affected by dll.conf. - - * doc/sane-pint.man: New file (contributed by Gordon Matzigkeit). - - * backend/dll.c (RTLD_NOW): Define as 0 if dlfcn.h doesn't define - it. - -Wed Apr 23 23:03:47 1997 Gordon Matzigkeit - - * backend/Makefile.in, frontend/Makefile.in: Specify full - filenames, rather than just the directory name for INSTALL - destinations. This Automakeism helps debugging when the target - directory doesn't exist. - - * include/sane/config.h.in (HAVE_SYS_SCANIO_H): Define, for PINT's - sake. - - * backend/pint.c: Prefix sane includes with . - - * backend/dll.c (RTLD_NOW): Paramaterize, so that RTLD_LAZY is - used if RTLD_NOW is not defined. - (load): Try looking up the symbol with a leading underscore, if we - can't find it the first time. - - Make dynamic loading conditional on HAVE_DLOPEN rather than the - library and header file. - - * configure.in (enable_dynamic): Disable dynamic loading if the - system doesn't have dlopen. - -Tue Apr 22 00:17:41 1997 David Mosberger-Tang - - * Version 0.55 released. - - * frontend/xscanimage.c (browse_filename_callback): Initialize - FILENAME before calling gsg_get_filename(). - - * doc/sane.tex: Change obsolete \driver{DVIps} into DVIps document - style option. - - * frontend/xscanimage.c (query): Update to new command name - length. - -Mon Apr 21 08:27:28 1997 David Mosberger-Tang - - * doc/Makefile.in (install): Add rule to install man-pages. - (%.1 %.5): Add rule to generate man-pages (by substituting - actual paths). - (SECT1): New variable. - (SECT5): Ditto. - (MANPAGES): Ditto. - - * doc/sane-pnm.man: New file. - * backend/pnm.README: Deleted. - - * doc/sane-hp.man: New file. - * backend/hp.README: Deleted. - - * doc/saned.man: New file. - * frontend/saned.README: Deleted. - - * doc/sane-qcam.man: New file. - * backend/qcam.README: Deleted. - - * doc/sane-mustek.man: New file. - * backend/mustek.README: Deleted. - - * doc/sane-net.man: New file. - * backend/net.README: Deleted. - - * doc/sane-dll.man: New file. - * backend/dll.README: Deleted. - - * doc/xscanimage.man: New file. - * frontend/xscanimage.README: Deleted. - - * frontend/preview.c (event_handler): Restore preview image only - if preferences.preserve_preview is TRUE. - - * frontend/xscanimage.c (preview_options_dialog): Add an option - to control whether the preview image should be preserved. - - * sanei/sanei_load_values.c (sanei_load_values): Copy string value - into temporary buffer that is opt->size bytes long. Then pass copy - to sane_control_option(). - - * AUTHORS (Backends): Updated according to recent changes. - - * doc/sane.tex (The SANE Application Programmer Interface (API)): - Fix typo: replace () by {}. - - * PROJECTS (Backend): Update PINT entry. - - * frontend/xscanimage.c (prog_name): New variable. - (input_available): Use prog_name instead of hardcoding "xscan". - (preview_options_ok_callback): Ditto. - (preview_options_dialog): Ditto. - (usage): Ditto. - (interface): Ditto. - (main): Initialize prog_name. - - * frontend/scanimage.c: Update for new name (scanimage instead of - scan). - - * frontend/Makefile.in (SCAN_OBJS): Rename sources to xscanimage.c - and scanimage.c as well. - -Sun Apr 20 09:09:06 1997 David Mosberger-Tang - - * Version 0.54 released. - - * sanei/Makefile.in (LIBSANEI_LTOBJS): Remove @LTALLOCA@. - (LIBSANEI_OBJS): Remove @ALLOCA@. - - * lib/Makefile.in: Invoke $(LIBTOOL) with --mode arg to avoid - depending on command names. Prefix $(LIBTOOL) invocation with - @-sign to reduce verbosity. - * frontend/Makefile.in: Ditto. - * backend/Makefile.in: Ditto. - * sanei/Makefile.in: Ditto. - - * frontend/saned.c (_PATH_HEQUIV): Define if not defined yet.. - - * configure.in: Check for libgimp/gimp.h instead of -lgimp since - -lgimp cannot be linked by itself (it has an unresolved reference - to PLUG_IN_INFO). - - * lib/strndup.c (strndup): Include . - - * frontend/xscanimage.README: Update. - - * sanei/sanei_scsi.c: Add missing "int" type in front of - sanei_scsi_max_request_size. - - * configure.in: Check for -lintl, -lsocket, and -lnsl for - braindamaged SVR4 systems. - - * frontend/scan.c (scan_it): Initialize min with 0xff, not ~0 - (Sun CC complains otherwise). - - * backend/Makefile.in: Use "ln -f -s", not "ln -sf", Solaris doesn't - like the former. Grrr... - - * lib/alloca.c: Don't use xmalloc(). - - * frontend/saned.c (store_reclen): Declare BUF as a pointer to - SANE_Byte (not char). - (do_scan): Ditto. - - * frontend/scan.c (fetch_options): Cast opt->name to (char *) - to suppress (spurious) warning. - - * backend/dll.c (sane_init): Skip preloaded backends with no name. - - * backend/hp.c (inquire): Cast BUF to (char *) to avoid warning. - (sane_read): Change type of NREAD to size_t (from ssize_t). - - * include/sane/sanei_backend.h (u_int16_t): Define u_int8_t, - u_int16_t, and u_int32_t if necessary. - - * include/sane/sane.h (sane_strstatus): Remove non-ANSI "const". - * backend/sane_strstatus.c (sane_strstatus): Ditto - - * include/sane/sanei_debug.h (DBG): Define alternate version for - non-GNU C compilers. - - * sanei/sanei_init_debug.c (sanei_debug) [!__GNUC__]: New function. - (max_level) [!__GNUC__]: New variable. - - * include/sane/sanei_wire.h: Fix typo in prototype for - sanei_w_value_type. - - * configure.in: Test for gtk_check_button_new() in libgtk. - - * lib/Makefile.in (CPPFLAGS): Add -I../include/sane. - - * frontend/scan.c (STRIP_HEIGHT): New macro. - (advance): Use above macro instead of hard-coding value. - (scan_it): Ditto. - (scan_it): Print error when out of memory. - - * frontend/sane-style.rc: Make the curve in the graph red. - - * frontend/preview.c (XSERVER_WITH_BUGGY_VISUALS): Define for now. - (preview_new): Avoid push_visual()/get_visual() since it seems to - cause problems with some XFree86 servers (and may be others as - well). - - * frontend/preferences.h: Add member ADVANCED. - * frontend/preferences.c: Initialize member ADVANCED and add - an option descriptor for it. - - * frontend/gtkglue.c (panel_build): Layout panel different: all - options are now in one column (advanced options are at the - bottom). The graph widget (if any), will be shown in a separate - column to the right of the options. Display a group only when - there is at least one option in it. Create graph widget if there - is at least one vector-valued option. - (gsg_sync): New function. - (gsg_set_advanced): Ditto. - (gsg_message_dialog_active): Rename from SHOWING_MESSAGE and make - global. - - * frontend/gtkglue.h (GSGDialog): Rename member NOTEBOOK to - MAIN_HBOX. Add members ADVANCED_VBOX and ADVANCED. - - * frontend/gtkglue.c (group_new): New function. - (curve_new): Ditto. - (vector_new): Ditto. - - * backend/mustek.c (init_options): Initialize OPT_CUSTOM_GAMMA. - (sane_control_option): Handle OPT_CUSTOM_GAMMA. - - * backend/mustek.h (OPT_CUSTOM_GAMMA): New option. - - * configure.in (AC_CONFIG_HEADER): Update for new location. - - * include/sane/config.h.in: Move to here from include/config.h. - * *.[ch]: Replace with (except for - files in lib. - - * frontend/saned.README: saned moved from bin/saned to sbin/saned. - - * configure.in (AC_CHECK_HEADERS): Check for gtk/gtkcurve.h. - - * backend/mustek.c (init_options): Undo changes of April 18th. - - * frontend/Makefile.in (install): Install $(BINPROGS) in $(bindir) - and $(SBINPROGS) in $(sbindir). - (SBINPROGS): New variable. - (BINPROGS): Ditto. - (PROGRAMS): Define as concatenation of the two vars above. - (install): Create $(bindir) and $(sbindir) if necessary. - -Sat Apr 19 18:21:02 1997 David Mosberger-Tang - - * frontend/Makefile.in (scanimage): Rename "scan" binary to - "scanimage" to avoid name-collision with MH's scan command. - - * backend/mustek.c (gamma_correction): Update according to new - gamma-table handling. - - * backend/mustek.h: Declare gamma_table as 4 arrays of 256 words - each. - - * backend/mustek.c (sane_control_option): Add missing return after - setting OPT_GAMMA_VECTOR. - - * frontend/progress.h: Protect against multiple inclusion using - macro progress_h, not __PROGRESS_H__ (names starting with - underscores are reserved for libc/system). - - * frontend/gtkglue.c: Remove include of . - * frontend/xcam.c: Ditto. - * frontend/xscan.c: Ditto. - - * frontend/gtkglue.h: Include instead of . - * frontend/progress.c: Ditto. - - * Makefile.in (install): Install headerfiles. - (INSTALLED_INCLUDES): List of header files that need to be - installed. - -Sat Apr 19 18:15:03 1997 Michael K. Johnson - - * */*.[ch]: Prefix sane-includes with . - include/sane*: Move to include/sane subdirectory. - -Sat Apr 19 08:25:36 1997 David Mosberger-Tang - - * frontend/gtkglue.c (set_option): Add missing return and use - snprintf instead of sprintf. - - * frontend/xscan.c (update_param): Multiply size by 3 if we're - dealing with a frame from a 3-pass image. - -Fri Apr 18 07:28:46 1997 David Mosberger-Tang - - * backend/mustek.c (init_options): Mark all vector options as - SANE_CAP_ADVANCED. - - * frontend/scan.c (scan_it): Fail if advance() fails. - -Thu Apr 17 08:59:00 1997 David Mosberger-Tang - - * backend/mustek.c (sane_read): Add debug statement. - (reader_process): Remove extraneous if-statement that had the - effect of not passing along any data in 3-pass mode. - -Wed Apr 16 09:16:01 1997 David Mosberger-Tang - - * frontend/preview.h: Add member CANCEL. - * frontend/preview.c (scan_start): Make p->cancel sensitive. - (scan_done): Make p->cancel insensitive. - (preview_new): Set p->cancel insensitive. - - * frontend/preferences.h (Preferences): Add member "filename". - * frontend/preferences.c: Initialize new member "filename". - Declare member "filename" as a string. - - * frontend/xscan.c (device_dialog): Rename "Files" to "File". - (quit_xscan): Call pref_xscan_save() before exiting. Replace - global variable filename by preferences.filename. - - * frontend/xcam.c (main): Ditto. - - * PROBLEMS: New file. - - * frontend/gtkglue.c (scale_new): Set the adjustment page size to - 0.0. Make horizontal scale 200 pixels wide. - - * frontend/xscan.c (device_dialog): Move gtk_widget_show - (ScanWin.shell) after pref_device_restore (0, 0). - (pref_device_restore): Make arg-less since callback arguments must - not be used. - (device_dialog): Remove dummy args from call to pref_device_restore(). - - * include/saneopts.h (SANE_TITLE_SCAN_TL_X, SANE_TITLE_SCAN_TL_Y, - SANE_TITLE_SCAN_BR_X, SANE_TITLE_SCAN_BR_Y): Shorten titles. - - * frontend/xcam.c (main): Move gtk_widget_show(win.shell) to end - of function. - - * backend/mustek.c (attach): Turn on MUSTEK_FLAG_USE_EIGHTS for - MFS-12000CX. - (sane_get_parameters): Must not depend on s->mode in this routine, - since s->mode is valid only once scanning has begun. - -Tue Apr 15 23:06:17 1997 David Mosberger-Tang - - * backend/mustek.c (sane_start): Issue SCAN_AREA and BACKTRACK - commands even during second and third pass. - (sane_get_parameters): Be sure to properly update the - params.format member during second and third pass. - -Sat Apr 12 11:40:52 1997 David Mosberger-Tang - - * frontend/scan.c (STRIP_HEIGHT): New macro. - (scan_it): Fix typo: test parm.lines instead of image.height. - - * backend/pnm.c (hand_scanner): New variable. - (sane_control_option): Handle setting/reading of HAND_SCANNER - option. - (getparmfromfile): Set parms.lines to -1 when simulating - hand-scanner. - (sod): Add hand-scanner option descriptor. - - * frontend/gtkglue.c (panel_build): Move gtk_widget_show - (notebook) to the very of this function. This works around the - notebook redrawing problems. Define WORKING_NOTEBOOK. - - * frontend/xscan.c (interface): Call quit_xscan() if - device_dialog() did not end up with a non-NULL dialog. - (quit_xscan): Add missing exit() call. - - * backend/mustek.c (attach): Print more debug info on detected - scanner (1 vs 3-pass, ADF & TA support). - (start_scan): Fix typo in code selecting the three-pass color filter. - -Sun Apr 13 23:53:02 1997 Gordon Matzigkeit - - * backend/pint.c, backend/pint.h, backend/pint.README: Added to - distribution. - -Fri Apr 11 22:04:17 1997 David Mosberger-Tang - - * Version 0.53 released. - - * frontend/xscan.c: Default to "out.pnm" instead of "out.ppm". - - * backend/mustek.c (get_image_status): Add debug message. - (sane_start): Only divide pixels_per_line by three if we're doing - a one-pass color scan. - (do_eof): New function. - (sane_read): Call do_eof() when done with a frame. - (do_cancel): Call do_eof(). - - * frontend/scan.c (write_pnm_header): New function. - (advance): Ditto. - (scan_it): Modify to support three-pass scanning and scanning of - images whose height is not known a priori (hand-held scanners). - -Wed Apr 9 14:39:59 1997 David Mosberger-Tang - - * frontend/xscan.c (ok_choose_dialog_callback): Make - argument-free. - (select_device_callback): Declare event as second argument and - call ok_choose_dialog_callback() if the callback was invoked - through a double-click. - (choose_device): Register select_device_callback() as - "button_press_event" handler instead of as "clicked" so we can - catch double-clicks. - -Tue Apr 8 10:31:47 1997 David Mosberger-Tang - - * frontend/xscan.c (init): Enable gtk_rc_parse() code (GTK-0.99.7 - requires patch for gtkstyle.c). - - * backend/hp.c (attach): Fix parenthization to shut up gcc. - -Mon Apr 7 13:08:45 1997 David Mosberger-Tang - - * frontend/xscan.c (preview_options_dialog): Rename "changed_text" - to "changed" to reflect latest GTK version. - (device_dialog): Ditto. - * frontend/gtkglue.c (text_entry_new): Ditto. - - * Version 0.52 released. - - * AUTHORS: Various updates. - - * backend/mustek.README: Add Adaptec info. - - * backend/mustek.c (sane_start): Call wait_ready() before any - other scanner command. - (wait_ready): New function. - (attach): Call wait_ready() instead of open-coding it. - - * doc/sane.tex (subsection{\code{sane\_strstatus}}): Include - net.tex. - * doc/net.tex: New file. - -Thu Apr 3 08:51:13 1997 David Mosberger-Tang - - * frontend/xscan.c (update_param): Change type of SIZE to u_long - (from long) since under NetBSD there seem to be some odd sign - problems otherwise (compiler bug?). - -Wed Apr 2 07:15:41 1997 David Mosberger-Tang - - * backend/mustek.c (sane_read): Always deliver EOF after reading - 0 bytes. - - * backend/qcam.c (reader_process): Fine-tune pixel interpolation. - (despeckle32): Ignore last red pixel in every line (it's always - black). Switch red and blue pixel location (the Connectix docs - are wrong). - - * backend/mustek.c (start_scan): Fix typo that caused start[4] to - be set incorrectly. - - * frontend/preview.c: Include to get PATH_MAX. - -Tue Apr 1 18:45:14 1997 David Mosberger-Tang - - * backend/qcam.c (despeckle): New function. - (despeckle32): Ditto. - (init_options): Initialize OPT_DESPECKLE. - (reader_process): Add despeckling support. - (sane_control_option): Ditto. - (sane_start): Initialize req.despeckle. - - * backend/qcam.h: New member DESPECKLE. - - * frontend/preview.c (restore_option): Fix typo: it should be - SANE_ACTION_SET_VALUE (not _get_). - - * backend/mustek.c (attach): Turn on MUSTEK_FLAG_USE_EIGHTS for - MFS-06000CX. - - * backend/hp.c (attach): Allow both TYPE_PROCESSOR (0x03) and - TYPE_SCANNER (0x06) as the first inquiry byte---some scanners use - the former, others the latter. - - * Version 0.51 released. - - * configure.in: Check for gtk_tooltips_new in libgtk. - -Mon Mar 31 14:42:56 1997 Gordon Matzigkeit - - * frontend/scan.c (main): Added full_optstring, to allow getopt to - do full parsing of the option arguments. - - * backend/pnm.c (getparmfromfile): Need to round up the number of - bytes per line when scanning bitmaps. - -Mon Mar 31 07:48:50 1997 David Mosberger-Tang - - * backend/qcam.c (attach): Send a dummy black-level command. The - first black-level command aftera camera reset doesn't appear to - "take." - - * lib/strndup.c: Correct typo: HAVE_STRDUP -> HAVE_STRNDUP. - - * frontend/xscan.c (pref_set_tooltips): New function. - (pref_build_menu): Build tooltip submenu. - - * frontend/preferences.h: New member TOOLTIPS_ENABLED. - * frontend/preferences.c: Add entry for TOOLTIPS_ENABLED. - - * frontend/gtkglue.h: Add members TOOLTIPS, TOOLTIPS_FG, and - TOOLTIPS_BG. - - * frontend/gtkglue.c (set_tooltip): New function. - (autobutton_new): Add argument TOOLTIPS and add button-description - via set_tooltip(). - (button_new): New args TOOLTIPS & DESC. Set DESC as tooltip help - string. - (scale_new): Ditto. - (option_menu_new): Ditto. - (text_entry_new): Ditto. - (panel_destroy): Destroy dialog tooltips as well. - (panel_build): Create tooltips and allocate colors for it; pass - new args to above functions. - (gsg_set_tooltips): New function. - - * Version 0.5 released. - - * backend/Makefile.in (install): Add missing double-quotes to - $(LIBS) and $(CONFIGS). Also create a symlink for libsane.a. - - * ltconfig: Revert back to version 0.9. - * ltmain.sh: Ditto. - - * frontend/scan.c (print_option): Substitute our own help string - for -x and -y options. - (main): Remove BROKEN_GETOPT code. - - * frontend/Makefile.in (CPPFLAGS): Undo yesterday's change. - * lib/getopt1.c: Ditto. - * lib/getopt.c: Ditto. - - * frontend/scan.c (main): Add some clever getopt () hackery to - work around multi-scan getopt () bug (patch by Gord Matzigkeit). - - * backend/qcam.README: Correct path of configuration file. - -Sun Mar 30 21:42:12 1997 David Mosberger-Tang - - * frontend/Makefile.in (CPPFLAGS): Add back -DBROKEN_GETOPT. - - * frontend/scan.c (main): Reinstantiate BROKEN_GETOPT code. - getopt_long() is _STILL_ broken. ;-( - - * lib/getopt.c: Use this code if __GNU_LIBRARY__ <= 6. Early - versions of glibc had a buggy getopt(). - * lib/getopt1.c: Ditto. - - * frontend/Makefile.in (xscan): Mention $(LIBSANEI). - - * frontend/xscan.c: Include , not . - - * Makefile.in (distclean): Mention libtool. - * configure.in (AC_CHECK_FUNCS): Ditto. - - * include/config.h.in: Add undef of STRSEP. - - * sanei/sane_strstatus.c: Move to backend directory to minimize - chance of confusing this with a SANE-internal routine. - - * sanei/Makefile.in (LIBSANEI_OBJS): Remove sane_strstatus.o. - (LIBSANEI_LTOBJS): Remove sane_strstatus.lo. - - * backend/Makefile.in (libsane-%.la): Mention sane_strstatus.lo - explicitly (every SANE backend library MUST define this function - so we can switch backends at will). - - * frontend/Makefile.in (SCAN_OBJS): Remove getopt.o, getopt1.o. - - * Makefile.in (SUBDIRS): Mention lib as first directory. - - * configure.in (AC_OUTPUT): Mention lib/Makefile. - - * lib/strsep.c: New file. - * lib/strndup.c: Ditto. - * lib/Makefile.in: Ditto. - - * sanei/test_wire.c (main): Initialize codecs through - sanei_w_init(). - - * sanei/sanei_codec_bin.c (sanei_codec_bin_init): Ditto. - - * sanei/sanei_codec_ascii.c (sanei_codec_ascii_init): Remove - w->buffer initalization---this function should be called through - sanei_w_init () only. - - * sanei/sanei_scsi.c: Rename _sanei_scsi_max_request_size to - sanei_scsi_max_request_size. - - * backend/mustek.c (reader_process): Rename macro - SANEI_SCSI_MAX_REQUEST_SIZE to variable - sanei_scsi_max_request_size. - - * include/sanei_scsi.h: Rename _sanei_scsi_max_request_size to - sanei_scsi_max_request_size (names with a leading underscore are - reserved for libc/system). - (SANEI_SCSI_MAX_REQUEST_SIZE): Remove macro. - - * frontend/scan.c (main): Add a brief description of the program. - - * frontend/getopt.c: Move to lib. - * frontend/getopt1.c: Ditto. - - * backend/pnm.c (enum ppm_type): Remove non-ANSI trailing comma. - Correct struct indentation. - - * include/lalloca.h: Isolate alloca cruft in this file. - * frontend/gtkglue.c: Include lalloca.h in place of alloca hack. - * frontend/dll.c: Ditto. - * frontend/scan.c: Ditto. - * sanei/sanei_load_values.c: Ditto. - * sanei/sanei_scsi.c: Ditto. - -Sat Mar 29 00:14:37 1997 Gordon Matzigkeit - - * backend/pnm.c (sane_read): Slurp in RGB files all at once, - rather than limping along three bytes at a time. - - * frontend/xscan.c (advance): Only define if HAVE_LIBGIMP. - - * backend/pnm.c (sane_read, sane_start, getparmfromfile): Handle - grayscale and monochrome bitmapped PNM files. - - * frontend/scan.c (main): Remove BROKEN_GETOPT workaround---the - new getopt() works properly when making multiple passes over the - argument list. - -Fri Mar 28 21:33:36 1997 Gordon Matzigkeit - - * configure.in: Make the QuickCam device conditional on whether or - not the ioperm function exists. - - * sanei/sanei_scsi.c: created a stubbed version of sanei_scsi_cmd. - - * frontend/scan.c (main): Only print error messages to stderr. - Use fputs or fputc when it is possible to avoid printf. - - * sanei/sanei_wire.c (sanei_w_array, sanei_w_ptr, sanei_w_init), - sanei/sanei_save_values.c (sanei_save_values), - sanei/sanei_codec_ascii.c (ascii_w_string): Return an error if - malloc fails. - - * sanei/test_wire.c (main): Added --readonly flag to help test - wire robustness. - - * backend/Makefile.in (LIBSANEI): Deleted the `EXTRA' variable, - and used the convenience library, ../sanei/libsanei.a. - -Sat Mar 29 10:19:58 1997 David Mosberger-Tang - - * doc/sane.tex: Change version from 0.42 to 0.5. - - * README: Add pointer to frontend & backend specific README files. - - * backend/net.c (connect_dev): Ensure dev->ctl gets closed and - reset to -1 in case of failure. - - * configure.in: Look for gtk_preview_new() in libgtk so we can - ignore old GTK versions against which we can't build. - - * (config.sub): Replace with version that comes with - autoconf-2.12. The version that came with libtool-0.9 - doesn't like i686-unknown-linux. - -Fri Mar 28 13:12:17 1997 David Mosberger-Tang - - * doc/sane.tex (subsection{sane_get_select_fd}): Remove extraneous - backslash. - - * backend/stubs.c (sane_cancel): Don't return anything. - - * include/sane.h: Remove trailing comma (for -pedantic). - - * frontend/xscan.c (interface): Complain when trying to call - a device that's unavailable. - (select_device_callback): Correct prototype. - - * frontend/xcam.c (main): Remove unused variable `label.' - - * backend/net.c (sane_cancel): Call SANE_NET_CANCEL. - (sane_start): Handle failure of SANE_NET_START. - - * frontend/saned.c (process_request): Implement SANE_NET_CANCEL. - - * frontend/gtkglue.h (GSGDialogElement): Remove member "label". - * frontend/gtkglue.c: Update accordingly. - (button_new): Use gtk_check_button_new_with_label () to simplify - this function. - - * frontend/gtkglue.c (unit_string): New function. - (panel_build): Append unit_string () to option's title if - the unit is not SANE_UNIT_NONE. Use "title" instead of opt->title - when creating widgets. - - * frontend/preview.c (preview_update): Compute width/height as - (max - min + eps) where eps is 1 for integer coordinates and - SANE_UNFIX(1) for fixed-point coordinates. - (display_partial_image): Support different scaling in x/y - direction. In the case where surface_unit == SANE_UNIT_PIXEL, - compute xscale/yscale based on the ratio between the _expected_ - width/height and the actual width/height. If they're not equal, - the backend must be doing some scaling (e.g., transfer-scale in - the qcam backend). - - * frontend/xscan.c (init): Disable gtk_rc_parse () calls for now - since gtk styles seem to be a bit buggy right now. - (scan_done): Remove input_tag if it is >= 0. - - * frontend/gtkglue.c: Include . - (panel_build): For fixed-point range-constraints scale min/max/quant - based on the preferred metric. - (scale_update): Ditto. - (gsg_update_scan_window): Ditto. - - * backend/mustek.c (sane_control_option): For OPT_GAMMA_VECTOR_* - options, fail with SANE_STATUS_INVAL if the vector has zero length - (i.e., hasn't been set yet). - - * frontend/progress.c (progress_new): Don't make Cancel the - default-button---it's too easy to cancel by mistake otherwise. - - * frontend/sane-style.rc: New file. - - * frontend/xscan.c (init): New function. Parse gtk_rc_parse () - on /usr/local/share/sane-style.rc and ~/.sane/sane-style.rc if - those files exist. - - * configure.in (CPPFLAGS): Add PATH_SANE_DATA_DIR. - - * frontend/gtkglue.c (gsg_warning): New function. - (gsg_message): New function. - (gsg_error): Implement in terms of gsg_message (). - -Thu Mar 27 16:52:27 1997 David Mosberger-Tang - - * frontend/gtkglue.c (gsg_make_path): Terminate buffer with '\0' - before attempting mkdir(). - - * frontend/xcam.c (main): Use gtk_menu_item_new_label () instead - of gtk_label_new ()/gtk_menu_item_new (). - - * frontend/preview.c (establish_selection): Invoke - param_change_callback only if non-NULL. - (preview_update): Convert scale range to inches if that's user's - preference. - - * frontend/xcam.c (delayed_switch): New function. - (device_activate_callback): Call delayed_switch() rather than - executing that code directly. Pete tells me GTK is not designed - to have a widget rebuilt while a submenu is active. - - * frontend/gtkglue.c (panel_build): Avoid using notebook widget - until GTK+ has been fixed. - (idle_handler): New function: rebuild dialog if dialog->rebuild is - set. - (set_option): Set dialog->rebuild to TRUE and schedule - idle_handler() rather than directly calling panel_rebuild(). Pete - tells me GTK is not designed to have a widget rebuilt while a - submenu is active. - (gsg_refresh_dialog): Ditto. - -Thu Mar 27 14:54:23 1997 Gordon Matzigkeit - - * backend/Makefile.in: Converted all for statements that might be - empty to use a temporary list variable. - - * frontend/Makefile.in (scan): Added getopt.o, getopt1.o to scan - dependencies. - - * frontend/getopt.c, frontend/getopt1.c, include/getopt.h: Added - to the distribution. - - * backend/net.c (connect_dev), frontend/saned.c (main): Don't use - TCP_NODELAY if it has not been defined. Look up tcp protocol - number if SOL_TCP is not defined. - - * sanei/test_wire.c (main): lseek after changing direction, or the - direction change ends up at the end of the output file. - Added option parsing, a usage message, and other cleanups. - - * sanei/sanei_codec_ascii.c (sanei_codec_ascii_init), - sanei/sanei_codec_bin.c (sanei_codec_bin_init): Initialize the - wire if it has a 0-length buffer. - - * sanei/sanei_wire.c (sanei_w_init): Only call the codec_init_func - if it is not NULL. - - * sanei/sanei_scsi.c: Parameterize inclusion of generic SCSI - headers based on HAVE_SCSI_SG_H, HAVE_SYS_SCSI_H, or - HAVE_SYS_SCSIIO_H. - - * configure.in (AC_CHECK_HEADERS): Check for scsi/sg.h, - sys/scsi.h, and sys/scsiio.h. - - * sanei/sanei_load_values.c, sanei/sanei_scsi.c, backend/dll.c: - Replaced unconditional alloca.h include with the cruft suggested - by the Autoconf manual. - - * sanei/alloca.c: Add to distribution. - - * sanei/Makefile.in: Eliminate GNU make dependencies, and use - @ALLOCA@ and @LTALLOCA@ as appropriate. - - * configure.in (AM_FUNC_ALLOCA): Use it. - - * aclocal.m4 (AM_FUNC_ALLOCA): Define it. - -Wed Mar 26 17:25:49 1997 David Mosberger-Tang - - * sanei/sanei_wire.c (sanei_w_status): Update *v only when decoding. - (sanei_w_bool): Ditto. - (sanei_w_constraint_type): Ditto. - (sanei_w_value_type): Ditto. - (sanei_w_unit): Ditto. - (sanei_w_action): Ditto. - (sanei_w_frame): Ditto. - - * frontend/xscan.c (quit_xscan): Always invoke gtk_main_quit() - (not just in standalone mode). - (quit_callback): Correct prototype. - - * backend/pnm.c (sod): Fix doc-string for option "three-pass". - - * frontend/xscan.c (advance): New function. - (input_available): Support 1 bpp frames. Call advance() instead - of open-coding it. Add RED/GREEN/BLUE frame support in GIMP mode. - Complain when encountering unknown depth. - (ScanWin): add member first_frame. - (scan_start): Initialize first_frame and frame_offset in - GIMP mode. - - * Integrate force unidirectional mode patch by Guido Muesch - : - * backend/qcam.c (attach): Force uni-directional mode if port - address starts with `u'. - (attach): Add debug statement to print QCam version. - - * Integrate 3-pass patches by Heiko - : - * backend/mustek.cb - (scan_area_and_windows): Use 1/8" mode when MUSTEK_FLAG_USE_EIGHTS - is on (instead of pixel unit). - (mode_select): Set bit 3 in mode byte only if - MUSTEK_FLAG_USE_EIGHTS is off. - (encode_resolution): Don't do funky encoding for 3-pass scanners - in 10% resolution mode. It seems the docs are wrong and the - actual scanners require a much simpler setup. - - * frontend/preview.h: Add include of . - -Sat Mar 22 16:37:34 1997 David Mosberger-Tang - - * frontend/xscan.c (input_available): Reset ScanWin.x to zero at - the end of each line. - (input_available): Reset tile_offset to zero after updating a - tile. - (scan_done): Call gimp_display_new() to display the newly acquired - image. Draw final few lines of image if image height is not a multiple - of the tile-height. - - * frontend/saned.c (process_request): quit when receiving - unexpected procedure number---ignoring is dangerous. - - * backend/dll.c (load): Fix off-by-one bug in allocation of - libname. - - * frontend/xcam.c (prompt_for_device_name): Move grab-default - call behind signal_connect since otherwise the default action - won't work. - - * frontend/xscan.c (choose_device): Let "Ok" button be the one - that gets activated by default (by hitting the Return key). - - * frontend/preview.c (preview_destroy): Rename save_preview_image - to preserve_preview_image. - * frontend/preview.h: Ditto. - - * frontend/preview.c (restore_preview_image): New function. - (preview_destroy): Save preview image if it exists. - (preview_scan): New parameter SELECTION_ONLY. If true, - preview-scanning is limited to the selected area. - - * frontend/xscan.c (scan_done): Call quit_xscan() to exit. - (quit_xscan): Destroy preview if ScanWin.preview is non-NULL. - - * frontend/preview.c (draw_selection): Don't draw if p->gc is - NULL (i.e., if windows aren't mapped yet). - - * frontend/xscan.c: Move HAVE_LIBGIMP-specific code further - down (past the type & global variable decls). - - * configure.in (CPPFLAGS): Make --disable-shared impy - --enable-preload. - - * include/config.h.in: Add HAVE_STRNDUP. - -Fri Mar 21 00:01:00 1997 David Mosberger-Tang - - * sanei/sanei_scsi.c (sanei_scsi_cmd): Implemented FreeBSD - version (untested). - - * sanei/sanei_load_values.c: Include - - * frontend/preview.c (update_selection): New function to set - selection based on current scan-area option values. - (preview_update): Call update_selection (). - - * sanei/sanei_save_values.c: Add copyright notice. - * sanei/sanei_load_values.c: Add copyright notice and explanation - of algorithm. - (BITS_PER_LONG): New macro. - (SET): Ditto. - (IS_SET): Ditto. - (sanei_load_values): Add variables caused_reload and keep_going to - keep track of what options caused a reload_option and whether - the whole option-value setting process should be repeated. - - * include/config.h.in: Add #undef HAVE_LIBGIMP. - * frontend/xscan.c: Put all GIMP-dependencies inside - #ifdef HAVE_LIBGIMP. - Include . - - * sanei/sanei_wire.c (sanei_w_init): Initialize status to 0. - (sanei_w_free): Preserve existing direction and do not flush i/o. - (sanei_w_space): Return EINVAL if reading 0 bytes. - -Thu Mar 20 09:11:21 1997 David Mosberger-Tang - - * frontend/gtkglue.h (dev_name): New member. - * frontend/gtkglue.c (gsg_destroy_dialog): free dialog->dev_name. - (gsg_create_dialog): Keep copy of device name in dev_name member. - - * include/sanei_backend.h: Move stubs into backend/stubs.c and - define redirection macros only if STUBS is not defined. - * backend/stubs.c: New file. - - * configure.in (AC_PROG_RANLIB): Removed. No longer needed with - libtool. - * (frontend/Makefile.in): Adapt to libtool. - * (backend/Makefile.in): Ditto. - * (sanei/Makefile.in): Ditto. - - * backend/mustek.c (attach): Check result[0] == 0x06 to find out - whether we're dealing with a scanner (rather than attemting to - find the string "SCANNER" ). - - * backend/hp.c (sane_read): Initialize nread with max_len, not - *len. - (sane_get_parameters): Add missing `== 0' comparison for strcmp() - calls. - (inquire): Generalize so we can inquire any quantity and improve - parsing. - (attach): Use reasonable default value if inquiry of a quantity - fails. - (sane_start): Report error if inquiry of a scan parameter fails. - -Wed Mar 19 18:03:38 1997 David Mosberger-Tang - - * frontend/xcam.c (prompt_for_device_name): grab default for OK - button (doesn't seem to work, though). - - * frontend/progress.c (progress_new): Connect progress_cancel() - via signal_connect(), not signal_connect_object() and pass P, not - P->SHELL. - (progress_cancel): Don't free progress structure (must be done by - app). - - * frontend/xscan.c (input_available): New function. - (scan_done): Ditto. - (scan_start): Ditto. - (progress_cancel): Simply call sane_cancel(). - (scan_dialog): Moved most of the code to above functions. - - * frontend/gtkglue.c (get_filename_button_clicked): New function. - (gsg_get_filename): Ditto. - - * frontend/xscan.c (scan_dialog): Do not quit xscan when in - standalone mode. - (scan_dialog): Prompt for output filename in standalone mode. - (filename): New variable. - - * backend/pnm.c (sane_control_option): Remove "pnm." prefix - in debug messages. - - * backend/qcam.c (sane_cancel): Remove "qcam." prefix in debug - messages. - - * backend/mustek.c: Remove "mustek." prefix in debug messages. - -Tue Mar 18 17:30:29 1997 David Mosberger-Tang - - * backend/mustek.c (sane_close): Remove superfluous "[mustek]" in - debug string. - - * sanei/sanei_scsi.c (sanei_scsi_cmd): Implement HP-UX version - of this function (untested). - - * backend/qcam.c (reader_process): Enable code to handle 4 bpp - and 6 bpp cases. - -Thu Mar 13 13:15:21 1997 David Mosberger-Tang - - * doc/sane.tex (subsection{Scan Area Options}): Attempt to - clarify the meaning of "top-left" corner. - -Tue Mar 11 07:12:53 1997 David Mosberger-Tang - - * frontend/gtkglue.c (panel_build): Fix typo in matching of - "resolution" option (missing == 0). - -Mon Mar 10 20:19:06 1997 David Mosberger-Tang - - * Announced pre0.5 snapshot. - - * backend/qcam.h: Make transfer-scale part of the "mode" group. - - * backend/qcam.c (sane_read): Moved return of SANE_STATUS_EOF - behind test for delivering EOF. - - * frontend/xscan.c (device_dialog): Relabel "Cancel" button to - "Quit". - - * backend/qcam.c (init_options): Set SANE_CAP_ADVANCED for geometry - group. - * backend/mustek.c (init_options): Ditto. - - * backend/pnm.c (pass, three_pass): New variables. - (sod): Add option "three-pass" to simulate a three-pass scanner. - (sane_control_option): Add support for three_pass option. - (getparmfromfile): In three-pass mode, set format and last_frame - based on `pass'. - (sane_start): If input file is open already, fail unless we're - scanning the next frame of a three-pass image. - (sane_read): Handle three-pass case. - -Sun Mar 9 13:20:19 1997 David Mosberger-Tang - - * frontend/gtkglue.c (text_entry_callback): Only call - gtk_entry_set_text() if the backend modified the string. Otherwise, - infinite recursion occurs on any change (since the change results - in a change...). - - * frontend/xcam.c (next_frame): Reset win.remaining to zero. - - * backend/qcam.c (init_options): Set size of "resolution" option - to sizeof("High"). - - * doc/sane.tex (subsection{Scan Area Options}): Allow word-list - as a constraint. - - * configure.in (CFLAGS): Add -D_GNU_SOURCE to CFLAGS since we - now depend on snprintf (). - - * frontend/xscan.c (device_dialog): Fix typo: PixelHeight should - be > 0, not == 0 in order for us to create the preview window. - (device_dialog): Ditto. - (device_dialog): Add ScanWin.preview to frame container. - -Sat Mar 8 10:19:41 1997 David Mosberger-Tang - - * doc/sane.tex (subsection{sane_get_select_fd}): Clarify what - must happen when the end of a frame has been reached. - - * frontend/xcam.c (input_available): Stop when sane_read() returns - 0 bytes. Fix typo: win.data needs to be set to dst, not src, on - exit. - - * backend/qcam.h (read_fd): New member. - * backend/qcam.c (sane_get_select_fd): Return read_fd instead of - from_child. - (sane_open): Initialize s->read_fd to -1. - (sane_close): Close s->select_fd if >= 0. - (sane_start): Make read_fd dup() of s->from_child. - (sane_cancel): Close s->read_fd if >= 0. - (sane_set_io_mode): Modify s->read_fd instead of s->from_child. - - * frontend/scan.c: Include for NELEMS macro. - * frontend/xcam.c: Ditto. - - * configure.in (CPPFLAGS): Add defines for V_MAJOR and V_MINOR. - (V_MAJOR, V_MINOR): New variables. - - * sanei/Makefile.in (SANEI_OBJS): Mention sanei_net.o. - - * include/sanei_net.h: New file (split from sanei_wire.h). - * sanei/sanei_net.c: New file (split from sanei_wire.c). - - * configure.in: Add -Wall to CFLAGS when using gcc. - - * frontend/Makefile.in (saned): List -lsanei before -lsane - so saned never depends on sanei_*-routines that may be present - in -lsane (the only dependencies for that library must be - on sane_* names). - - * backend/Makefile.in (LIBS): Remove -ldl (configure will add - it if available). - (SHLDFLAGS): Use -usanei_init instead of --whole-archive option. - (SHLDPOSTFLAGS): Remove --no-whole-archive. - - * backend/dll.c: Add include of . - (DYNAMIC): New macro. Defined it dynamic loading support is - available and enabled. - Include only when DYNAMIC is defined. - (load): Make no-op when DYNAMIC is not defined. - (sane_exit): Never call dlclose() if DYNAMIC is not defined. - - * include/sanei_scsi.h: Rename from genscsi.h and rename prefix - from `genscsi_' to `sanei_scsi_'. - * sanei/sanei_scsi.c: Ditto. - * backend/mustek.c: Rename `genscsi_' to `sanei_scsi_'. - - * configure.in: Check for availability of -ldl and . - -Fri Mar 7 15:21:38 1997 David Mosberger-Tang - - * sanei/sanei_wire.c: New file. - * sanei/sanei_codec_bin.c: Ditto. - * sanei/sanei_codec_ascii.c: Ditto. - - * backend/dll.c (sane_exit): Call dlclose() only if handle is - non-NULL. - (sane_init): Chain together preloaded backends. - - * backend/qcam.c (attach): Make static. - (sighandler): Ditto. - (qc_getstatus): Ditto. - * backend/mustek.c (attach): Ditto. - - * backend/dll.c (op_name): Remove `sane_' prefix. - - * sanei/sanei_init_debug.c (sanei_init_debug): Upcase backend - name when building environment variable name. - - * backend/genscsi.c: Make use of sanei_debug.h. - - * backend/mustek.c: Adapt to use sanei_backend.h. - * backend/net.c: Ditto. - * backend/pnm.c: Ditto. - * backend/qcam.c: Ditto. - - * backend/dll.c (sane_exit): Fix typo that resulted in the - last backend not being exited. - -Thu Mar 6 21:25:27 1997 David Mosberger-Tang - - * doc/sane.tex (subsection{\code{sane\_init}}): Allow - authorization callbacks during sane_start() but not during - sane_read(). - -Tue Mar 4 21:04:16 1997 David Mosberger-Tang - - * backend/mustek.c (sane_close): Print debug message when trying - to close an unknown handle. - -Thu Feb 27 18:10:20 1997 David Mosberger-Tang - - * doc/sane.tex (chapter{Contact Information}\label{chap:contact}): - Add `listserv.' to mailing list address---seems to be needed for - subscriptions etc. - -Sun Feb 9 12:54:20 1997 David Mosberger-Tang - - * backend/mustek.README: Add pointer to Ingmar's 53c400 patch. - -Sat Feb 8 11:49:24 1997 David Mosberger-Tang - - * backend/mustek.c (line_distance): Add more debug output. - -Fri Feb 7 19:21:36 1997 David Mosberger-Tang - - * backend/mustek.c (line_distance): Remove erroneous #ifdef - around FACTOR and COLOR. - - * doc/sane.tex (subsection{sane_init}): Make username/password - fixed length arrays so no malloc/free magic is needed. - (subsection{Preview Mode Option}): New section. - - * include/sane.h: Ditto. - - * include/sane.h (SANE_Char): New type. - -Tue Feb 4 18:47:52 1997 David Mosberger-Tang - - * backend/mustek.c (sane_get_parameters): Correct typo: replace - s->pass with s->params.format. - -Fri Jan 31 16:16:26 1997 David Mosberger-Tang - - * backend/mustek.c (attach): Print debug message when using - special line-distance algorithm. - Enable special line-distance algorithm only for firmware - revisions < 1.02. - Determine fw revision based on INQUIRY result. - -Thu Jan 30 21:22:38 1997 David Mosberger-Tang - - * doc/sane.tex (section{Attaching to a SANE backend}): Rename - metanet -> net, netproxy -> saned, metadl -> dll and update - hierarchy figure as well. Added autolum meta backend as a - filter example. - - * TODO: Rename metanet -> net, metadl -> dll. - - * AUTHORS (Frontends): Rename metanet -> net, metadl -> dll, - mention saned and xcam and sort entries alphabetically. - - * backend/net.c (sane_control_option): Replace all occurances of - metanet with net. - * backend/net.README: Ditto. - Rename env var METANETHOST to SANE_NET_HOST. - - * backend/dll.README: Replace all occurances of metadl with dll. - * backend/dll.c: Ditto. - - * backend/dll.conf: Comment out metanet since it's a bit of a - security risk (no authentication just yet). - - * backend/Makefile.in (CONFIGS): New macro (list of config files) - (install): Change install rule so existing configuration files - are not overwritten. - Replace all occurances of metanet with net. - - (V_MINOR): Bump up to 43. - -Tue Jan 28 08:17:18 1997 David Mosberger-Tang - - * frontend/Makefile (saned): Mention -lsanei before -lsane so - saned does not incorrectly depend on sanei_printf/sanei_scanf in - -lsane (if it happens to define those symbols). - - * backend/metanet.c (sane_init): Rename SANE_Authorization_Callback - to SANE_Auth_Callback. - * backend/mustek.c (sane_init): Ditto. - * backend/pnm.c (sane_init): Ditto. - * backend/metadl.c (sane_init): Ditto. - - * frontend/saned.c (main): Put output socket in TCP_NODELAY mode. - Include of - - * backend/metanet.c (openit): Ditto. - -Mon Jan 27 19:32:29 1997 David Mosberger-Tang - - - * doc/sane.tex (subsection{Device Descriptor Type}): Change vendor - name "None" to "Noname". - * backend/pnm.c (dev): Change vendor name from "noname" to "Noname". - - * include/sane.h (SANE_STATUS_ACCESS_DENIED): New status value. - * sanei/sane_strstatus.c (sane_strstatus): Return appropriate - status string. - - * frontend/xscan.c (scan_dialog): Don't depend on first_frame - when creating image---the old code didn't work for R/G/B-only - frames anyhow, so there is no point pretending. - - * include/sane.h (SANE_Parameters): Rename first_frame to - last_frame. - * backend/metanet.c (sane_get_parameters): Update accordingly. - * backend/qcam.c (sane_get_parameters): Ditto. - * frontend/saned.c (readcmd): Ditto. - * frontend/test.c (testsane): Ditto. - * backend/mustek.c (sane_get_parameters): Set last_frame unless - the current pass is acquiring a red- or green-only frame. - - * doc/sane.tex (subsection{sane_get_parameters)): Change - FIRST_FRAME into LAST_FRAME. - - * backend/metanet.c: Initialize PEER with -1. - (sane_get_select_fd): Return PEER and succeed if not negative. - - * include/netsane.h (ns_printf, ns_scanf, netfd_wr, netfd_rd): - Remove (obsolete). - - * frontend/saned.c: Increase STRBUF size to 32KB to get better - scan_read() throughput. - - * include/sane.h (SANE_Athorization_Callback): Return void - (instead of int) and make USERNAME and PASSWORD (pointers to) - return values. - - * frontend/saned.c (netsane_auth_callback): Update prototype. - - * backend/metanet.c (sane_init): Move assignments out of - if-conditional for clarity (and to avoid gcc warning). - - * sanei/sanei_printf.c: Include , . - - * backend/Makefile.in (libsane-mustek.a): Replace - ../sanei/sane_strstatus.o with appropriately defined EXTRA - macro. - - * backend/mustek.c (attach): Initialize ld.mode to MLD_NORMAL for - all scanners but MFS-12000SP. - (line_distance): In MD_MFS correction mode, do not issue LD - command. - (sane_close): Free s->ld.red_buf if non-NULL. - (fix_line_distance_mfs): New function. - (fix_line_distance_normal): Rename from fix_line_distance(). - (reader_process): In MLD_MFS line-distance mode, call the - mfs-specific routine, not the normal one. - - * backend/mustek.h (Mustek_Scanner): New members ld.red_buf, - ld.green_buf. - (MUSTEK_FLAG_LD_MFS): New flag to indicate when MFS-specific - line-distance correction is needed. - - * backend/metanet.c: Fix up some minor formatting problems due - to indent. - - * Merge in Andy's netsane diffs. - -Sun Jan 26 00:04:22 1997 David Mosberger-Tang - - * frontend/xscan.c (zoom_in_preview): Ignore selections of zero - or negative width/height. - (set_max_selection): Use SANE_UNFIX() instead of open coding. - Adapted to use gtkglue. - - * backend/metadl.c (sane_init): Grab authorization callback. - (authorization_callback): New variable. - (load): Pass authorization callback to init function. - - * frontend/gtkglue.h (gsg_destroy_dialog): Add param_callback. - -Sat Jan 25 17:35:52 1997 David Mosberger-Tang - - * frontend/Makefile.in (distclean): Mention $(TESTPROGRAMS). - - * backend/metanet.c (copy_opt): Fix constraint-length computation. - - * backend/metadl.c (sane_get_devices): Pass along LOCA_ONLY arg - to backend. - - * frontend/xcam.c (main): Remove extraneous calls to gtk_exit() - and sane_exit(). - - * frontend/scan.c (main): Install sane_exit() as atexit handler. - - * backend/metadl.c (sane_get_devices): Ignore NULL BE_LIST. - - * frontend/saned.c (quit): New function. - (main): catch SIGALRM, and SIGPIPE. - - * backend/metanet.c (sane_get_devices): Return empty list of - LOCAL_ONLY is TRUE. - - * frontend/saned.c (readcmd): Don't take LOCAL arg from - request---always pass SANE_TRUE! - - * doc/netprotocol.doc (sane_get_devices): Don't need LOCAL arg. - - * include/sanei.h: Include . - - * frontend/test.c (testsane): Print status message instead of - status code and make robust against failed calls. Use fprintf(stderr - instead of printf. - - * backend/qcam.c (reader_process): Remove extraneous arg. - (reader_process): Declare `static' to make setjmp() safe. - - * frontend/saned.c (readcmd): Delete unused variable schr_hlp. - (peerfp): New variable. - Rename ns_printf() to sanei_printf() and pass peerfp arg. - Rename ns_scanf() to sanei_scanf() and pass peerfp arg. - (say_helo): Make peerfp refer to fd 0. - - * backend/metanet.c (openit): Return FILE*, not socket. - (openit): Return 0, not -1 in case of failure. - (peerfp): New variable. - Rename ns_printf() to sanei_printf() and pass peerfp arg. - Rename ns_scanf() to sanei_scanf() and pass peerfp arg. - - * sanei/sane_strstatus.c: New file (in lieu of backend/sane.c) - * sanei/sanei_constrain_value.c: Ditto. - * sanei/sanei_init_debug.c: Ditto. - - * sanei/sanei_scanf.c (ns_scanf): New file (based on Andy's - ns_scanf). - Use int8_t for 'c', int32_t for 'd'. - Include . - - * sanei/sanei_printf.c (sanei_printf): New file (based on Andy's - ns_printf). - Use int8_t for 'c', int32_t for 'd'. - Include . - - * include/netsane.h (CMD_SANE_STRS): Remove. - - * backend/metanet.c: Include - (sane_strstatus): Remove. - - * backend/Makefile.in (BACKENDS): Mention libsane-metanet. - - * backend/metanet.c (openit): Use memcpy instead of bcopy. Use - inet_aton() instead of inet_addr(), don't prototype. - (sane_get_devices): Use strdup() instead of opencoding it. - (sane_get_devices): Don't append " (NS)" to modelname! Metanet - already prefixes the devicename with netsane, which is good - enough. - - * backend/sanei.h (IF_DBG): New macro. - - * PROJECTS (Backend): Mention saned, metanet, and autoadj. - (Frontend): New info. - - * AUTHORS: Update to reflect sanescan -> xscan namechange. - Credit Andy for netsane. - -Fri Jan 24 00:01:45 1997 David Mosberger-Tang - - * doc/sane.tex (subsection{\code{sane\_get\_option\_descriptor}}): - Define how long the returned option descriptor must remain valid. - - * frontend/gtkglue.c (autobutton_update): Check for - SANE_INFO_RELOAD_OPTIONS. - (button_update): Ditto. - - * frontend/xcam.c (main): Add device info label. - - * backend/mustek.c (init_options): Make OPT_BRIGHTNESS and - OPT_CONTRAST inactive by default. - - * frontend/xcam.c (exit_callback): Only call gsg_destroy_dialog() - if dialog is non-null. - -Thu Jan 23 00:17:46 1997 David Mosberger-Tang - - * backend/mustek.c (sane_control_option): Return - SANE_STATUS_DEVICE_BUSY when attempting to set option during - scanning. - (sane_close): Call do_cancel(), not sane_cancel(). - (sane_start): Ditto. - - * backend/pnm.c (sod): Rename "File" group to "Source Selection". - - * frontend/xcam.c (device_name_dialog_cancel): New function. - (device_name_dialog_ok): Ditto. - (prompt_for_device_name): Ditto. - (build_device_menu): Move "Rescan devices..." from build_files_menu() - to here. Add "Specify device name..." entry that invokes - prompt_for_device_name. - (play_stop_button): Ignore call if there is no device_dialog yet. - (main): Don't attempt to set preview size if there is no device - dialog yet. - - * frontend/gtkglue.c (text_entry_callback): Don't ignore tab - key---it's used to switch focus! - - * backend/qcam.c (qc_wait): Return read value so optimizer won't - be able to get rid of it easily. - (qc_lock_wait): Use same lockname as qcam-0.7d for - interoperability. - (reader_process): Explicitly do an enable_ports() in the reader - process. Linux/x86 doesn't inherit i/o port access rights. - - * frontend/xcam.c (stop_camera): New function. - (input_available): Use stop_camera(). - (next_frame): Ditto. - - * backend/genscsi.c (genscsi_open): Add missing DBG_INIT(GENSCSI). - (genscsi_cmd): Return SANE_STATUS_DEVICE_BUSY if EBUSY is - returned. - - * frontend/xcam.c (input_available): Fix line wrap for - SANE_FRAME_GRAY. - - * include/sane.h: Remove old SANE_STATUS_AGAIN. - * backend/sane.c (sane_strstatus): Ditto. - * backend/mustek.c (sane_read): Return SANE_STATUS_GOOD, not AGAIN - when no data available. - (sane_start): Add debug printing. - (sane_set_io_mode): Fix typo: return SANE_STATUS_GOOD on success. - - * backend/mustek.c (sane_control_option): Add support for - OPT_BACKTRACK. - (attach): Add lots of debug printing. - - * backend/qcam.README: New file. - - * backend/qcam.c (sane_control_option): Allow changing resolution - while scan is in progress, but set RELOAD_OPTIONS only if not - scanning already. - - * frontend/xcam.c (canvas_events): Get rid of old debug messages. - - * backend/qcam.c (sane_get_parameters): Update parameters only if - not scanning. This makes it possible to change certain options - (such as width/height while a scan is in progress). - (sane_control_option): Allow changing of image corners, - transfer-scale, and depth while scan is in progress. Set - RELOAD_PARAMS only if scan is not in progress. - (sane_start): Return DEVICE_BUSY if scan is in progress. - - * configure.in (PACKAGE_VERSION): Version 0.41 released. - - * backend/qcam.c (brightness_range): New variable. - (init_options): Use brightness_range instead of u8_range to - avoid going into bulb-mode accidentally. - -Wed Jan 22 09:16:21 1997 David Mosberger-Tang - - * backend/qcam.c (reader_process): Correct typo: it's buf, not - buffer that we want to write out in high-res mode. - (qc_reset): New function. - (reader_process): Send at least one byte of data after receiving a - signal. - (sighandler): New function. - (sane_cancel): If a read request is outstanding, cancel request by - (a) sending SIGINT to reader process, (b) reading one byte of data - in blocking mode, and then (c) reading whatever is left in the - pipe in non-blocking mode. - (sane_read): Return SANE_STATUS_CANCELLED if SCANNING is not set. - - * backend/qcam.h (QC_Scanner): Remove unused x/y fields. - - * backend/qcam.c (sane_close): Call disable_ports(). - (sane_init): Replace isblank() with isspace() (former is a GNU - extension). - (sane_control_option): Scale corner coordinates when switching - resolution and ensure they're always legal values. - (sane_close): Check for reader_pid >= 0 not != 0! - (sane_exit): Move disable_ports () from sane_close to here. - (sane_start): Keep track of when we're holding lock. - (sane_read): Release lock if s->holding_lock is TRUE and we - read a few bytes. - (sane_cancel): Release lock if it's being held. - - * backend/qcam.c: Clean up unused variables. - -Tue Jan 21 13:49:00 1997 David Mosberger-Tang - - * backend/qcam.c (sane_control_option): Keep track of changes to - option values. - (sane_get_select_fd): Implemented. - (sane_set_io_mode): Ditto. - (reader_process): New function. - (sane_start): Modify to use reader_process(). - - * backend/qcam.h: (struct QC_Scanner): New field value_changed. - -Mon Jan 20 22:11:11 1997 David Mosberger-Tang - - * backend/metadl.c (sane_open): Correctly handle case where - backend name is empty. - -Sun Jan 19 10:29:43 1997 David Mosberger-Tang - - * backend/qcam.c (attach): Add qc_wait() calls after each - write_lpcontrol() call to ensure reliable communication. - (attach): Add debug output in case of failure. - - * Version 0.4 released. - -Sat Jan 18 10:12:40 1997 David Mosberger-Tang - - * frontend/xscan.c (get_scan_size): Handle case where scan - width/height is of type SANE_TYPE_INT. - (get_scan_size): If width/height unit is pixels and the height is - less than 500 pixels, use a ratio of 1. - (device_dialog): Call update_complete_dialog() to ensure inactive - options do not show (there probably is a better solution to this). - - * frontend/scan.c (main): Compute bottom-right position as - top-left + width/height - 1 (the - 1 is new and necessary and - works both for fixed and integer values). - (print_option): Insert line-break when column >= 79 (not 80) to - leave last column blank (better when running inside Emacs, for - example). - (main): Fix typos: case 't': window[2] -> window[3], switch short - option names for top/left. - (print_option): Print current option values (except for vectors). - (fetch_options): Another off by one bug: width is br_x|y-tl_x|y+1. - -Thu Jan 16 20:26:29 1997 David Mosberger-Tang - - * backend/sane.c (sanei_constrain_value): Fix so it properly - handles strings that are longer than any of the strings in a - string list. - - * frontend/scan.c (main): Subtract value of top-left-x/top-left-y - from width/height, respectively after all options have been - read in. - (main): Print help message _after_ options have been processed. - (fetch_options): New function. - (set_option): Call fetch_options() if SANE_INFO_RELOAD_OPTIONS is - set. - (main): Call fetch_options() instead of open-coding same. - - * doc/sane.tex (subsection{Device Descriptor Type}): Add index - entry for device-name. - -Wed Jan 15 19:55:03 1997 David Mosberger-Tang - - * backend/metadl.c (sane_init): Call DBG_INIT() and declare - debug level variable with DBG_DECL. Added various debug - statements. - - * backend/pnm.c (sane_init): Ditto. - * backend/mustek.c (sane_init): Ditto. - - * frontend/scan.c (parse_scalar): Default to mm again (instead of - cm). Using `mm' as the default is counter-intuitive since the - help info is printed with `mm' as the unit. - - * frontend/xscan.c (main): Pass local_only==SANE_FALSE as second - argument to sane_get_devices(). - -Sun Jan 12 13:12:45 1997 David Mosberger-Tang - - * backend/sane.c (sanei_constrain_value): For string-lists, ignore - case and allow prefixes as long as they remain unique. - - * frontend/scan.c (print_option): Print "auto" as a legal option - value if the option has capability SANE_CAP_AUTOMATIC set. - (process_backend_option): If option has SANE_CAP_AUTOMATIC set, - let option value of "auto" turn on automatic mode. - -Wed Jan 8 19:55:31 1997 David Mosberger-Tang - - * backend/Makefile.in (install): Modify install rule so that - $(libdir) gets added to /etc/ld.so.conf if it isn't there - already. - (COMPILE): Use $(SHCFLAGS) instead of $(CFLAGS). - (LINK): Remove (unused). - -Wed Dec 25 20:21:39 1996 David Mosberger-Tang - - * backend/mustek.README: Add section "SCSI Adapter Tips". - -Fri Dec 13 20:02:03 1996 David Mosberger-Tang - - * backend/mustek.c (line_distance): Rename - LINE_DISTANCE_WORKAROUND to NEED_MUSTEK_LINE_DISTANCE_WORKAROUND. - Include . - -Thu Dec 12 20:19:26 1996 David Mosberger-Tang - - * backend/mustek.h (next): New member. Forms linked list of open - handles. * backend/mustek.c (first_handle): New variable. Root - of list of open handles. - (sane_open): Insert handle into list of open handles. - (sane_close): Remove handle from list of open handles. - -Wed Dec 4 18:37:45 1996 David Mosberger-Tang - - * backend/mustek.c (attach): Added back MFS-12000SP, MFS-08000SP, - and MFS-06000SP. At least the first one really does exist. I - don't know how the differ from the other scanners, but it looks as - if line-distance correction might be different. - -Tue Dec 3 21:22:54 1996 David Mosberger-Tang - - * backend/sane.c (sane_strstatus): Remove trailing dot from error - message. - -Mon Dec 2 19:12:53 1996 David Mosberger-Tang - - * backend/mustek.c (max_string_size): New function to determine - maximum size of a string constraint list. - (init_options): Use max_string_size () to initialize size of - string-valued options. - -Sun Dec 1 15:44:53 1996 David Mosberger-Tang - - * Version 0.1 released. - - * backend/mustek.c (attach): Fix mispelled/bad model names: - MFS-12000SP -> MSF-12000SP - MFS-08000SP -> MSF-08000SP - MFS-06000SP -> MSF-06000SP - MFS-08000CZ -> - MFS-06000CZ -> - -Tue Nov 26 19:11:18 1996 David Mosberger-Tang - - * frontend/scan.c (print_option): Separate option name from option - values by blank, not equal so the syntax is correct even for short - options. - (parse_scalar): Added missing newline to error message. - -Sat Nov 16 17:26:19 1996 David Mosberger-Tang - - * frontend/scan.c (main): Created (by Andy). - - * backend/pnm.c: Adapted from Andy's pnm.c (just minor updates). - - * backend/mustek.c: Created. - * backend/metadl.c: Ditto. diff --git a/ChangeLog-1.0.1 b/ChangeLog-1.0.1 deleted file mode 100644 index 3adfafc..0000000 --- a/ChangeLog-1.0.1 +++ /dev/null @@ -1,449 +0,0 @@ -1999-04-19 David Mosberger-Tang - - * Version 1.0.1 released. - - * backend/artec.c (attach): Applied patch by Petter to fix URL in - debug output. - - * backend/microtek2.c (chunky_proc_data): Apply Bernd's latest - patch to fix some color problems. - -1999-04-17 David Mosberger-Tang - - * Patch by Mikko Tyljrvi: - * sanei/sanei_scsi.c: Check for cam_devices[fd]==NULL, not !=NULL. - - * Patch from Petter: - * config.guess: Update to latest version. - * config.sub: Update to latest version. - * config.install-sh: Update to latest version. - * mkinstalldirs: Update to latest version. - -1999-04-12 David Mosberger-Tang - - * doc/sane-dc25.man: Apply fixes by Peter Fales - . - * backend/dc25.c: Apply patch by Peter Fales. - -1999-04-11 David Mosberger-Tang - - * include/sane/config.h.in: Declare return type of strdup(), - strndup(), and strsep() if these functions are not part of the - standard libc. This breaks the GNU convention of not declaring - standard C library functions but is required in these cases - because the functions return pointers. On a 64 bit platform, bad - code is generated if a function is (implicitly) declared to return - an "int" and then returns a pointer. To minimize the risk of - compile errors due to conflicting prototypes, we don't specify a - prototype though (just the return type). - - * backend/dll.conf: Comment out dc25 and dc210 backends as those - are VERY slow to initialize when no camera is attached. - - * backend/epson.desc: Add Epson GT-7000. - -1999-04-06 David Mosberger-Tang - - * backend/sharp.c (sane_read_shuffled): Declare as "static". - (sane_read_direct): Ditto. - Applied latest patch by Kazuya and Abel. - - * sanei/sanei_scsi.c [USE == FREEBSD_CAM_INTERFACE]: Fix bugs - (patch by Mikko Tyo"la"ja"rvi ). - - * backend/snapscan.c (start_reader): Don't redirect scanner file - descriptor to fd 0 (needlessly breaks FreeBSD and other platforms - that don't use real file descriptors for the scanner. - - * backend/microtek2.c: Apply Bernd's patch to fix "green-ness" - bug. - - * backend/umax.BUGS: Applied Oliver's latest patch. - * backend/umax.CHANGES: Ditto. - * backend/umax.FAQ: Ditto. - * backend/umax.TODO: Ditto. - * backend/umax.c: Ditto. - * backend/umax.desc: Ditto. - * doc/sane-umax-doc.html: Ditto. - * doc/sane-umax-doc.tex: Ditto. - * doc/sane-umax-doc.man: Ditto. - -1999-04-06 Petter Reinholdtsen - - * backend/snapscan.c (sane_exit sane_get_devices): Removed memory - leak. - (sane_open): Give more sensible error message when unable to open - temp file. Open temp file in /var/tmp, not in current directory. - (mini_inquiry add_device): Make sure to only match listed models. - Earlier, substrings would also match. - - * backend/snapscan.c (sane_snapscan_*): Changed API entries from - sane_snapscan_* to sane_*. - - * backend/snapscan.c (add_device init_options inquiry - sane_snapscan_get_parameters sane_snapscan_start - sane_snapscan_set_io_mode sane_snapscan_read) backend/snapscan.h - backend/snapscan.desc: Rewrote scanner detection code to loop over - array of supported SCSI names. Added AGFA SnapScan 1236s support. - It seems to be compatible with SnapScan 600. - Make sure to not add the same device more then once to the device - list. Bugfix in sane_snapscan_read() triggered on EOF. - -1999-04-04 David Mosberger-Tang - * PROBLEMS: Note that /proc/sys/kernel/sg-big-buff is available - since Linux kernel v2.2. - - * backend/agfafocus.desc: Changed status from "new" to "alpha". - * backend/hp.desc: Ditto. - - * backend/microtek2.desc: Increase version number to 0.6. - -1999-04-04 Petter Reinholdtsen - * PROBLEMS: Updated note on SG_BIG_BUF. - * tools/README: Corrected typo. Added some notes on - mustek600iin-off. - * tools/mustek600iin-off.c: Remove hardcoded path to mustek.conf. - -1999-04-03 David Mosberger-Tang - - * include/sane/sanei_debug.h: Define sanei_debug_BACKEND_NAME only - if STUBS is not defined. - - * backend/microtek2.h: #ifdef out do_dummy_scan. - - * backend/Makefile.in (V_REV): New variable. - - * configure.in (V_REV): New variable. - (VERSION): Include ${V_REV} in vesion number. - Substitute V_REV. - - * backend/umax.c (umax_do_request_sense): Make "static". - - * backend/canon.h: Move array "option_name"... - * backend/canon-sane.c: ...to here and make "static". - - * backend/pnm.c: Rolled back to version that shipped with - sane-0.74. The scan area options were not well implemented. If - someone wants to fix that code, the previous (unreliable) version - of the PNM backend is in backend/pnm.c-bad. - - * doc/sane.tex (subsection{Resolution Option}: Remove section - 4.5.5---it was a duplicate of section 4.5.2 (Scan Resolution - Option)! - - * backend/microtek2.c (chunky_proc_data): Merge in latest changes - from Bernd. - -1999-04-02 David Mosberger-Tang - - * backend/net.c (sane_control_option): Ignore the option size - of BUTTONs and GROUPs as required by section 4.2.9. (Bug - reported by Nick Lamb). - - * frontend/xscanimage.c (null_print_func): Declare MSG param - as "const" to match declaration of glib-1.2.1. - - * backend/ricoh.c (attach_one): return SANE_STATUS_GOOD. - - * backend/microtek2.c (do_dummy_scan): #ifdef out since it - seems to be used for debugging only. - - * backend/hp-option.c (_probe_int): Needed only if HP_EXPERIMENTAL - is defined. - - * backend/coolscan.c: Updated with Didier's latest patch. - - * backend/mustek.c: Applied Andreas's latest patch. - - * doc/sane.tex (subsection{Device Descriptor Type}): Add AGFA. - - * doc/net.tex (subsection{Primitive Data Types}): Clarify that - SANE_Char is encoded as ISO LATIN-1 and describe SANE_String - encoding (patch by Petter). - - * frontend/saned.c (DBG): Remove extraneous parens around "msg". - - * AUTHORS (Frontends): Update David Skoll's email address. - - * frontend/saned.c (get_free_handle): Check for out of memory - situations and initialize newly allocated memory. - (auth_callback): Fail when we can _not_ authorize (i.e., - !can_authorize), not the other way round. - (quit): Make sure quit() gets executed only once. - - * backend/microtek2.c: Updated with Bernd's latest version. - * backend/microtek2.h: Ditto. - - * backend/st400.desc: New file. - - * backend/epson.c (sane_open): Check for NULL or empty - dummy_dev.sane.name to avoid segfaults. (Suggested by Yuri - Dario). - - * sanei/sanei_scsi.c [USE = LINUX_INTERFACE]: Make "cdb" last - member in "struct req" and change size of "data" to 1 byte to - allow dynamic sizing of data buffer based on the value of - sanei_scsi_max_request_size. - (sanei_scsi_req_enter): Calculate size of request based on - sanei_scsi_max_request_size. A similar patch was proposed - by Petter Reinholdtsen. - -1999-03-13 Petter Reinholdtsen - - * doc/saned.man: More info on how to use tcp_wrapper for access - control. - -1999-03-08 David Mosberger-Tang - - * backend/microtek2.c (sane_get_select_fd): Remove bogus cast. - Reported by Petter Reinholdtsen. - - * sanei/sanei_config.c: Include . - - * frontend/saned.c: Include . - (MAXHOSTNAMELEN): Define MAXHOSTNAMELEN if necessary. - - * configure.os2 (LN_S): Updated with Yuri's latest version. - - * backend/Makefile.in (install): Use $(LN_S) instead of ln -s. - (libsane-dll.la): Make dependent on $(DLL_PRELOAD_EXTRAS). - (libsane-hp.la): Make dependent on sanei_pio.lo. - - * backend/hp.c (PATH_MAX): Define PATH_MAX if necessary. - - * backend/hp-scl.c (sanei_hp_scsi_pipeout): Add SIGXCPU, SIGXFSZ, - and SIGVTALRM only if defined. - - * backend/dc25.c (PATH_MAX): Define PATH_MAX if necessary. - (sane_init): Move up fclose(fp) to avoid segfault when fp==NULL. - * backend/dc210.c (sane_init): Ditto. - - * backend/pnm.c: Apply Oliver's 4-liner to make TLX, TLY, BRX, and - BRY advanced options. - - * backend/umax.c: Updated with Oliver's latest version. - - * doc/sane-sharp.man: New file (by Kazuya Fukuda). - * backend/sharp.c: Updated with Kazuya's latest version. - * backend/sharp.h: Ditto. - * backend/sharp.desc: Ditto. - -1999-03-04 David Mosberger-Tang - - * backend/canon.c (adjust_hilo_points): Print values of type - size_t as described in backend/GUIDE.. - - * backend/canon-scsi.c: Comment out unused code. - - * backend/canon.c: Updated with Manuel Panea latest version. - - * Irix patches from Michael Sweet: - - * sanei/sanei_scsi.c (sanei_scsi_find_devices): Update with - Michael's latest version. - * configure.in (CPPFLAGS): Don't check for libnsl or libsocket on - Irix. - (CPPFLAGS): Check for cfmakeraw. - * backend/sharp.h (mode_select_param): Remove double semicolon - (some compiler's don't grok those in structure declarations). - * backend/Makefile.in (libsane-abaton.la): Make dependent on - sanei_config2.lo. - * backend/dll.conf: Enable net backend, disable pnm backend by - default to lessen risk of confusing novice users. - * backend/abaton.c (sane_read): Change type of "size" from ssize_t - to size_t. - * backend/apple.c (sane_read): Ditto. - -1999-03-02 David Mosberger-Tang - - * backend/Makefile.in (EXTRA_dc210): New macro. - - * sanei/sanei_ab306.c: Apply usleep() patch by Andreas - Czechanowski. - - * backend/hp.c: Updated with Peter's latest version (v.082). - -1999-03-01 David Mosberger-Tang - - * include/sane/sanei_net.h: Changed copyright on this file (and - this file only!) to be public domain (same as sane.h). This helps - ensuring that independent network implementations remain - compatible. - -1999-02-28 David Mosberger-Tang - - * backend/sharp.c: New file by FUKUDA Kazuya - . - * backend/sharp.h: Ditto - * backend/sharp.conf: Ditto. - * backend/sharp.desc: Ditto. - - * include/sane/sanei_debug.h: Define sanei_debug_BACKEND_NAME - only if BACKEND_NAME is defined. - - * tools/find-scanner.c (main): Add NetBSD device names (patch by - Taniguchi Shinya ). - - * backend/epson.c (attach): Recognize Perfection636 scanner. - Suggested by Svend Daugaard Pedersen . - - * backend/abaton.c (attach_one): Move past attach() to avoid - forward-reference. - - * backend/umax.c (umax_do_request_sense): Make static. - - * backend/snapscan-310.c (rgb_buf_can_get_line): Make static. - (rgb_buf_init): Ditto. - (rgb_buf_clean): Ditto. - (rgb_buf_push_line): Ditto. - (rgb_buf_get_line): Ditto. - (rgb_buf_set_diff): Ditto. - (transfer_data_diff): Ditto. - - * backend/snapscan.c (gamma_8): Make static. - (start_reader): Ditto. - - * backend/microtek.c (do_precalibrate): Make static. - (finagle_precal): Ditto. - (pack_flat_data): Ditto. - (pack_goofyrgb_data): Ditto. - (pack_into_ring): Ditto. - (pack_into_dest): Ditto. - (pack_seqrgb_data): Ditto. - (ring_alloc): Ditto. - (ring_expand): Ditto. - (ring_free): Ditto. - (set_pass_parameters): Ditto. - - * backend/epson.c (epson_cmd): Make static. - - * backend/dc25.c (pp): Make static. - (tmpname): Ditto. - (tmpnamebuf): Ditto. - (tty_baud): Ditto. - - * backend/artec.c (artec_get_status): Make static. - (attach_one): Ditto. - (cap_data): Ditto. - - * backend/abaton.c (mode_update): Make mode_update() static. - * backend/apple.c (mode_update): Ditto. - (gamma_update): Make static. - (xquant): Ditto. - (yquant): Ditto. - - * backend/microtek2.c: Updated with Bernd's v0.6. - Add missing include of . - - * backend/microtek2.h: Ditto. - * backend/microtek2.conf: Ditto. - -1999-02-27 David Mosberger-Tang - - * frontend/preview.c (preview_scan): Fix dpi calculation by - replacing gwidth by gheight. Reported by Manuel Panea. - - * doc/sane-net.man: Change service name from "saned" to "sane". - - * sanei/sanei_scsi.c (MAX_DATA) [FREEDBSD_CAM_INTERFACE]: Change - MAX_DATA from MAXPHYS to (DFLTPHYS - PAGE_SIZE). Patch by - Parag Patel . - - * AUTHORS (Backends): Updated Peter's email address. - - * PROJECTS: Updated Peter's home page URL. - - * backend/snapscan.c (EXPECTED_MAJOR): Update EXPECTED_MAJOR to 1. - - * include/sane/sane.h (SANE_CURRENT_MAJOR): SANE_CURRENT_MAJOR and - V_MAJOR HAVE to be in sync, so I'm forced to fix SANE_CURRENT_MAJOR - now. Embarassing, but fortunately only the snapscan backend seems - affected by this change. - - * backend/dll.c (load): Use SANE_CURRENT_MAJOR, not V_MAJOR (the - latter is used for shared lib versioning). - - * tools/find-scanner.c (main): Make verbose output a bit - friendlier (patch by Petter). - - * backend/umax.c: Updated with Oliver's latest version (v1.0c). - - * Patch by Mike Sweet: * backend/Makefile.in (libsane-ricoh.la): - Make dependent on sanei_config2.lo. * sanei/sanei_scsi.c - (sanei_scsi_find_devices): New function. - (WE_HAVE_FIND_DEVICES): Define. * frontend/saned.c (check_host): - A "+" in saned.conf now matches any remote host (may be a bit - dangerous, so use this judiciously). * frontend/gtkglue.c: - Include . * backend/hp-accessor.c (hp_data_alloc): - Round size up to a multiple of sizeof(long) to avoid alignment - problems. * backend/abaton.h: Remove extraneous comma in enums. - * backend/artec.conf: Add "scsi ULTIMA" line. * - backend/abaton.conf: Add "scsi ABATON" line. * - backend/epson.conf: Add "scsi EPSON" line. * backend/ricoh.conf: - Add "scsi RICOH IS60" line. * backend/snapscan.conf: Add "scsi - AGFA" and "scsi COLOR" line. * backend/tamarack.conf: Add "scsi - TAMARACK" line. * backend/abaton.c (sane_init): Fix fall back - code to attach /dev/scanner when ABATON_CONFIG_FILE doesn't exist. - (sane_init): Use sanei_config_attach_matching_devices(). - (attach_one): New function. - * backend/hp-device.c (sanei_hp_device_probe): Mention model - 6250C. - - * backend/saned.conf: Remove the stale comments about hostname - matching being case-sensitive. - - * backend/microtek.h: Updated with Matto's v0.10.1. - - * backend/mustek.c (send_gamma_se): Apply patch by Wilco Oelen - to clip gamma values to range 0..255. - - * backend/artec.desc: Updated with Chris Pinkham's latest version. - - * backend/umax.c (PATH_MAX): Do conditional define of PATH_MAX - _after_ including all the headers to avoid "duplicate define" - warning message. - - * backend/ricoh.h: Include to get #define for - "inline" if necessary. - - * backend/dc210.c (init_dc210): To send break, use tcsendbreak() - if available or TCSBKRP or TCKSBRK ioctl() if available or fall - back to doing nothing if none of these are supported. This may - cause the backend to work incorrectly on platforms that do not - support one of the above methods for sending a break, but at least - it will compile that way. - -1998-12-12 David Mosberger-Tang - - * backend/hp.desc: Updated with Peter's latest version. - -1998-11-30 David Mosberger-Tang - - * LICENSE (terms): Add a pointer to backend/djpeg.README.gz. - - * backend/djpeg.README.gz: New file (required to comply with JPG - licensing restriction). - - * backend/snapscan.c (sane_snapscan_start): Use INT_MAX instead - of non-portable MAXINT. - Don't include Linux-specific . - -1998-11-26 David Mosberger-Tang - - * doc/sane.tex (subsection{Device Descriptor Type}): Consistently - use "Noname" (instead of None/Noname) to indicate the absence of - a vendor. - (subsection{sane_strstatus}): Define how long the returned string - is valid. - (section{Code Flow}): Clarify that sane_cancel() has to be called - even if read returns SANE_STATUS_EOF. - -1998-11-22 David Mosberger-Tang - - * backend/ricoh.h (_4btol): Replace "__inline" by "inline". - - * backend/abaton.c (sane_control_option): Assign word values to - s->val[foo].w not s->val[foo]. The latter compiles on gcc-2.7.2.3 - without warning but causes an error on other compilers (e.g., - egcs). - diff --git a/ChangeLog-1.0.10 b/ChangeLog-1.0.10 deleted file mode 100644 index 57dee9a..0000000 --- a/ChangeLog-1.0.10 +++ /dev/null @@ -1,890 +0,0 @@ -****** Release of sane-backends 1.0.10. End of code freeze ****** - -2003-02-01 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Artec AM12e+. - -2003-01-31 Henning Meier-Geinitz - - * configure configure.in: New version: 1.0.10. Disabled warnings for - release. - * doc/Makefile.in: Added plustek to list of directories. - -2003-01-31 Gerhard Jaeger - * doc/plustek/Plustek-USB.txt: Added comment about scanner.o - * backend/plustek.c backend/plustek-devs.c backend/plustek-usb.h - backend/plustek-usbshading.c: Fixed major bug, that avoid proper - shading on CCD-devices like HP 2200C. Fixed also CanoScan 1220 - settings, as the current ones didn't work - -2003-01-30 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Canon, Fijitsu and Prolink - scanners. - -2003-01-29 Henning Meier-Geinitz - - * frontend/saned.c: Fixed severe bug in saned that allowed a - remote frontend to crash saned (null pointer derefence) if no - scanners are connected. - ----- CODE FREEZE FOR SANE 1.0.10 --- --- snapshot 1.0.10-pre3 - -2003-01-26 Henning Meier-Geinitz - - * po/sane-backends.de.po po/sane-backends.es.po po/sane-backends.fr.po - po/sane-backends.pt.po po/sane-backends.ru.po po/sane-backends.sv.po: - Minor updates due to backend changes. - * TODO: Added icc problem. - * NEWS: Updated. - -2003-01-25 Jochen Eisinger - - * sanei/sanei_pa4s2.c: added some #ifdefs to make it compile with - the Intel C++ Compiler (icc). - * backend/mustek_pp.c: fixed some character encoding issues in - debug messages - * README.linux: added a note about the Intel C++ Compiler - -2003-01-24 Jochen Eisinger - - * backend/mustek_pp_ccd300.c: continued on the CCD low-level driver. - There is still some bug in it, that keeps it from actually scanning - something... - -2003-01-24 Jochen Eisinger - - * doc/descriptions/mustek_pp.desc: added supported scanners - -2003-01-24 Henning Meier-Geinitz - - * backend/bh.c backend/coolscan.c: Minor conversion fixes (from - Andrea Suatoni ). - * backend/test.c: Use "Color pattern" consistantly. - * acinclude.m4 aclocal.m4 configure configure.in - include/sane/config.h.in: Declare prototypes for all functions that - may miss on some platforms. - * doc/descriptions/unsupported.desc: Added Mustek parport scanners. - Added more information for Primascan Colorado 2600u. - * TODO: Updated Irix patches and desc section. - -2003-01-24 Gerhard Jaeger - * doc/plustek/Plustek-USB-TODO.txt - doc/plustek/Plustek-USB.txt - Documentation update - * doc/descriptions/plustek.desc: status updates - * backend/plustek.conf fixed options - * backend/plustek.c backend/plustek-devs.c backend/plustek-usb.c - backend/plustek-usbhw.c backend/plustek-usbimg.c - backend/plustek-usbscan.c backend/plustek-usbshading.c - backend/plustek.h backend/plustek-usb.h - Minor fixes and prototype description updates, code cleanup - -2003-01-23 Karl Heinz Kremer - - * doc/descriptions/epson.desc: Added Perfection 3200/GT-9800 - -2003-01-23 Andras Major - - * backend/doc/sane-coolscan2.man: added a .TP that mysteriously - vanished - -2003-01-23 Andras Major - - * backend/coolscan2.c: hack for IR readout with LS-4000. - -2003-01-23 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Primax/Visioneer Primascan - Colorado 2600u and UMAX Astra 4500. - -2003-01-22 Karl Heinz Kremer - - * doc/descriptions/epson.desc: Corrected syntax for GT-6000 entry - -2003-01-22 Henning Meier-Geinitz - - * sanei/Makefile.in: Fixed regeneration of libsanei.a when the object - files were changed. - * sanei/sanei_usb.c: Scanning for devices is now done in - sanei_usb_init instead of every time when sanei_usb_find_devices is - called. Also only devices that really exist are opened. These - changes fixe the slow detection of devices on systems using devfs or - old scanner drivers. - -2003-01-21 Karl Heinz Kremer - - * doc/descriptions/epson.desc: Added "SCSI" to GT-6000 entry - -2003-01-21 Eddy De Greef - - * backend/mustek_pp_cis.c: compile warning fix and minor debug - message fixes. - * doc/sane-mustek_pp.man: updated supported scanner list and - typo fixes. - -2003-01-21 Henning Meier-Geinitz - - * configure configure.in: Adjusted test for sparc64 to disable - SCSI generic v3. - -2003-01-20 Karl Heinz Kremer - - * doc/descriptions/epson.desc: Replace :new with :alpha - -2003-01-19 Karl Heinz Kremer - - * backend/epson_usb.c: Added USB product IDs for MFDs. - * doc/descriptions/epson.desc: Updated version number, added - entries for MFDs. - * doc/sane-epson.man: Added MFDs. - --- snapshot 1.0.10-pre2 - -2003-01-18 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Removed - wrong "untested" flag from Mustek AE USB and Lexmark X70/X73 - scanners. - * po/sane-backends.de.po po/sane-backends.es.po po/sane-backends.fr.po - po/sane-backends.pt.po po/sane-backends.ru.po po/sane-backends.sv.po: - Regenerated. - -2003-01-17 Henning Meier-Geinitz - - * configure configure.in include/sane/config.h.in sanei/sanei_scsi.c: - Disable the new Linux SG interface for sparc64 to work-around 32 bit - userland / 64 bit kernel problems. - * doc/descriptions/unsupported.desc: Added HP ScanJet 3500c, 3530c, - 3570c, 3570cxi, 5500C and Microtek ScanMaker 3800. Updated link for - ScanJet 4470C. - * TODO: Added links to hp4200 backend. Removed libusb entry, parport - compilation problems, SCSI on sparc64 issue, USB on BSD problems. - -2003-01-16 Frank Zago - - * backend/leo.c doc/descriptions/leo.desc doc/leo/leo.txt: Added - another scsi string for the fs-1130. - -2003-01-16 Henning Meier-Geinitz - - * backend/microtek2.c backend/microtek2.h: Bugfix for the X12USL - (solved problems >600dpi), one for lineart mode with a 6400XL - and one for Scanmaker 5 (crashes at sendgamma). From Karsten Festag - . - -2003-01-15 Henning Meier-Geinitz - - * sanei/sanei_usb.c: Don't call usb_clearhalt and usb_set_altinterface - to avoid errors on Mac OS X. - * doc/descriptions/unsupported.desc: Added HP 5490c. - -2003-01-14 Henning Meier-Geinitz - - * NEWS: Updated list of backends. - * doc/sane-usb.man: Added remark about old name of usbfs. - * doc/descriptions/unsupported.desc: Added Artec Ultima 2000 (0x4001 - model), Canon CanoScan D660U, Compaq S200, Epson Perfection 660, - HP ScanJet 4570C, Microtek ScanMaker 3630. Updated ScanJet 5400C and - 5470C URLs, Canon FB1210 information. - -2003-01-13 Jochen Eisinger - - * backend/mustek_pp*, backend/Makefile: merged all mustek_pp - related files into one compile unit and removed illegal symbols - -2003-01-13 Gerhard Jaeger - - * doc/descriptions/unsupported.desc: Added HP ScanJet 2300C and various chipset - information for the unsupported Plustek devices - * doc/descriptions/plustek.desc: cleanup - - ----- FEATURE FREEZE FOR SANE 1.0.10 --- --- snapshot 1.0.10-pre1 - -2003-01-12 Jochen Eisinger - - * doc/sane-mustek_pp.man, doc/descriptions/mustek_pp.desc, - backend/mustek_pp*: replaced the old mustek_pp backend with - version 12-alpha. This version fully supports CIS scanners but - removes support for 600dpi CCD scanners and the 300dpi CCD - support isn't yet working. In contrary to the old backend, this - version is based on information provided by Mustek. For now, - the backend exports lots of illegal symbols, this will be fixed - before code freeze. Also the .desc file is empty and will be updated - soon. - * AUTHORS: added Eddy De Greef who wrote the CIS hardware driver part - -2003-01-12 Abel Deuring - * backend/sharp.*: fixed a segfault, when the SCAN command returned - an error; optional "relaxed" handling of transparency unit errors. - -2003-01-12 Gerhard Jaeger - - * doc/descriptions/plustek.desc: Removed the unsupported stuff - * doc/descriptions/unsupported.desc: Removed OpticPro 16B. - -2003-01-12 Michael Herder - - * doc/descriptions/artec_eplus48u.desc: Added new - models. - -2002-01-11 Jochen Eisinger - - * sanei/sanei_pa4s2.h: prepared sanei for use with fork()ing - backends - -2003-01-11 Gerhard Jaeger - - * doc/descriptions/plustek.desc: Update to reflect the currently - supported decvices. - * doc/descriptions/unsupported.desc: Added some Plustek devices. - CanoScan N1220U is now supported by the Plustek backend. - * doc/plustek: Added this directory to store various Plustek - information files. - -2003-01-11 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc - doc/descriptions-external/primax.desc: Some Primax scanners (and - clones) are now supported by the primax backend. - * backend/microtek.c backend/microtek2.conf backend/microtek2.h: - OPT_THRESHOLD fix. Avoid using "_" in option names. Set more - options in microtek2.conf to on by default. From Karsten Festag - . - * tools/sane-desc.c: Fixed overwrite warnings. Minor DBG message fixes. - Fixed priority handling (backend and manpage were overwritten even if - a model had a lower priority). - * tools/README: Updated sane-find-scanner and sane-desc.el entries. - * doc/sane-gt68xx.man doc/sane-mustek_usb.man: Updated status for the - BSDs. - -2003-01-10 Henning Meier-Geinitz - - * po/sane-backends.pt.po: Even more Portuguese translations from - Pedro Morais . - * sanei/sanei_usb.c: Comment out resetep at sane_close. This - function sets th USB data toggle only on the host side. - * TODO: Removed microtek2 problem, updated Irix patch section and - Linux/Sparc section. - * NEWS: Updated for 1.0.10. - * backend/mustek.c: Removed hardcoded option size. - -2003-01-10 Gerhard Jaeger - - * TODO: Plustek backend now supports libusb, moved appropriate line - to done section. - -2003-01-10 Gerhard Jaeger - - * doc/sane-plustek.man: update to reflect version change - * doc/descriptions/plustek.desc: Added some Canon entries, status updates - * backend/plustek.conf updated options - * backend/plustek.c backend/plustek-devs.c backend/plustek-usb.c - backend/plustek-usbhw.c backend/plustek-pp.c - backend/plustek-usbmap.c backend/plustek-usbimg.c - backend/plustek-usbscan.c backend/plustek-usbshading.c - backend/plustek.h backend/plustek-share.h backend/plustek-usb.h - New version + support for libusb - -2003-01-09 Peter Fales - - * backend/dc210.c, backend/dc240.c: Fix compile failure - on OS/2. - -2003-01-09 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_high.c doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: - Updated manpage and .desc concerning Lexmark X70. Updated manpage - concerning kernel 2.4.21-pre3 containing the 1-endpoint fix. Fixed - A3 USB resolution setting. Updated A3 USB margins (Pedro Morais - ). Added detection of Genius Colorpage Vivid3x. - It's unknown if it works. Updated .desc file. Don't print calib line - warnings by default. - * doc/descriptions/microtek2.desc: Updated (From Karsten Festag - ). - * po/Makefile.in po/sane-backends.pt.po: Added Portuguese translation - for the gt68xx backend (from Pedro Morais ). - * po/sane-backends.de.po: Added some missing translations. Removed some - (wrong) fuzzy translations. - -2003-01-08 Oliver Schwartz - - * doc/descriptions/snapscan.desc: - Added entries for Acer/Benq 310U, 320U, 340U and - Mitsubishi Diamondview 650U - * backend/snapscan.c backend/snapscan.h backend/snapscan-scsi.c - backend/snapscan.conf: Backend version 1.4.18, added support for - Acer/Benq310U, fixed color correction for Agfa SnapScan 300 - -2003-01-08 Henning Meier-Geinitz - - * doc/descriptions/hpsj5s.desc doc/descriptions-external/hp4200.desc: - Use uniform model names for HP scanners. - * doc/descriptions/unsupported.desc: Added Canon CanoScan D1250U2 - and HP ScanJet 4400C. - * po/artec_eplus48u.de.po po/epson.de.po po/epson.ru.po - po/epson.sv.po po/gt68xx.de.po po/matsushita.fr.po - po/matsushita.ru.po po/mustek.de.po po/mustek.ru.po - po/mustek_usb.de.po po/mustek_usb.ru.po po/plustek.de.po - po/plustek.es.po po/plustek.ru.po po/pnm.de.po po/pnm.ru.po - po/sceptre.fr.po po/sceptre.ru.po po/snapscan.de.po - po/snapscan.ru.po po/teco1.fr.po po/teco1.ru.po po/umax.de.po - po/umax.fr.po po/umax_pp.de.po po/umax_pp.fr.po po/umax_pp.ru.po - po/umax.ru.po: Remove per-backend translations. The translations - are now in the per-language sane-backends.??.po files. - * po/saneopts.de.po po/saneopts.es.po po/saneopts.fr.po po/saneopts.ru.po - po/saneopts.sv.po: Remove global saneopts translations. The translations - are now in the per-language sane-backends.??.po files. - * TODO: Updated .desc file, mapages, sanei_usb and OS/2 entries. Removed - entry about po files. - * po/Makefile.in: Remove sane-backends.pot from list of distributed - files. Add microtek2 files. - * backend/microtek2.c backend/microtek2.h: Improved support for - Scanmaker X12USL. Alpha support for Scanmaker 9800XL. Some bugfixes. - (From Karsten Festag ). - * po/sane-backends.de.po: Added translation for microtek2 backend. - (From Karsten Festag ). - -2003-01-07 Peter Fales - - * TODO: Marked dc210/dc240 items as "done" - -2003-01-07 Oliver Rauch - * backend/umax.c: update to build 39 - -2003-01-07 Peter Fales - - * backend/dc210.c, backend/dc240.c: Use a more portable way - of sending "break" on serial ports. - -2003-01-07 Peter Kirchgessner - - * doc/descriptions/hp.desc: Change HP ScanJet to ScanJet - -2003-01-07 Stphane Voltz - - * doc/sane-umax_pp.man: updates and fixes - * doc/descriptions/umax_pp.desc: change model form HP3200C to - Scanjet 3200C - -2003-01-07 Matthew Duggan - - * backend/canon_pp-dev.c: Improve/fix detection logic. - * doc/descriptions/canon_pp.desc: Bump version number. - -2003-01-06 Peter Fales - - * doc/descriptions/dc25.desc, doc/descriptions/dc210.desc, - doc/descriptions/dc240.desc, doc/descriptions/gphoto2.desc: - Update author information - - * backend/dc25.c: Fix compiler warning - - * backend/dc210.c, backend/dc240.c, backend/dc210.conf, - backend/dc240.conf, backend/gphoto2.conf, backend/dc25.conf: - Irix fixes from mailing list - -2003-01-05 Peter Fales - - * backend/dc25.c: Mailing list fix. Change = to == - dc25/dc20 tests. - -2003-01-05 Henning Meier-Geinitz - - * TODO: Added link to Irix patches. Updated .desc section. - -2003-01-05 Stphane Voltz - - * backend/umax_pp_low.c: small image quality improvement - * backend/umax_pp.conf: ppdev device is now default option - -2003-01-04 Henning Meier-Geinitz - - * frontend/saned.c: Print version number. - * doc/descriptions/unsupported.desc: Added Genius HR7X Slim, - Visioneer 6200 and Onetouch 8920. - -2002-12-31 Karl Heinz Kremer - - * backend/epson.c: Removed one '//' comment. - -2002-12-31 Henning Meier-Geinitz - - * doc/descriptions-external/onetouch8600.desc: Added (from PROJECTS). - * doc/descriptions/unsupported.desc: Added list of (known) scanners - that are not supported by a SANE backend. There may be information - about them or even a standaalone program to which the entries point. - * PROJECTS: Removed projects that are now in the .desc files. - -2002-12-30 Henning Meier-Geinitz - - * Makefile.in: Removed configure.os2. - * PROJECTS: Removed HP 2200c project (now supported by plustek - backend). Added "NIASH" keyword to hp3300backend. - * README.darwin: Removed comment about dynamic loading. Added - sm3600 and fork problems. - * acinclude.m4 aclocal.m4 config.guess config.sub configure - configure.in ltmain.sh: Update to latest libtool (1.4.3), config.sub - and config.gues. This should fix the build problems on MacOS X - concerning dynamic loading. - * backend/Makefile.in: Backends shouldn't be linked to sanei_config2 if - they aren't also linked to sanei_scsi. sanei_config2 needs - sanei_scsi. - * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_gt6801.c - backend/gt68xx_gt6816.c backend/gt68xx_high.c backend/gt68xx_high.h - backend/gt68xx_low.h doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Updated ScanExpress 2400 USB values. Added - implementation of gt6801 lamp control for CCD scanners. Added flag for - SE 2400 USB, added some quirks in gt68xx_gt6801.c. Fixed gt68xx_gt6801 - -> lamp control. Adjusted Plustek 1248U geometry and afe values. CCD - gross calibration changed: start with the default value from module - struct. Is faster now for most cases. Only 2.5 mm of calibration for - GT-6801 scanners. Added "afe" option for gt68xx.conf for selecting - default afe values. Removed AFE and exposure SANE options. Added - documentation for afe option in gt68xx.conf. New version: 1.0-35. - * doc/descriptions-external/hp4200.desc - doc/descriptions-external/hpoj.desc: Use Hewlett-Packard consitantly - (instead of HP). - * doc/descriptions-external/scanwit.desc - doc/descriptions-external/viceo.desc: Added description files for - scanwit and viceo backends. - * doc/descriptions-external/tevion9693usb.desc: Removed (now included). - * backend/test.c doc/descriptions/test.desc: Make sure that frontend bugs - concerning the select fd are detected. - * doc/sane-scsi.man: Minor formatting change. - * sanei/sanei_usb.c: Explicitely set first configuration. When claiming - the interface, use the interface number from bInterfaceNumber. - Explicitely set the alternative setting. When closing, call clear_halt, - and reset_ep, and release_interface explicitley. On errors in - write/read, call clear_halt. - * TODO: Added sm3600 issue, htmla manpage issue, sanei_scsi stuff. - Updated desc file, sanei_usb, and MacOSX entries. Deleted sane.tex - stuff (now TODO for SANE2). - -2002-12-28 Karl Heinz Kremer - - * Added option to display short resolution list to. - -2002-12-07 Henning Meier-Geinitz - - * doc/sane-scsi.man: The "scsi ..." way of specifying devices is not - Linux-only. Some minor formatting updates. - * TODO: Added entries for "missing" scanners in desc files: snapscan - and epson. Added sanei_usb issues. Updated MacOS X and OS/2 porting - issues. - * README.darwin: Updated. - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_high.c backend/gt68xx_high.h backend/gt68xx_low.c - backend/gt68xx_low.h doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: - Coarse calibration for first scan only" is off by default now. Added gamma - table factor option (SANE_CAP_EMULATED). Setup gamma to 2.0 by default. - Fixed (hopefully) sigpipe when cancelling. No geometry quantization anymore - (not necessary). Plustek 1248U: do linemode for every resolution, fix color - correction. Added comments for every Model member in gt68xx_devices. - Added Plustek UT16B and Genius Vivid3x to .desc. Added implementation for - inverted offset for CCD scanners. Added Mustek ScanExpress 2400 USB. Well, - at least it's detected. Added NEW marker to .desc. - * doc/descriptions/artec_eplus48u.desc doc/descriptions/hpsj5s.desc - doc/descriptions/teco2.desc doc/descriptions/teco3.desc: - Updated NEW! markers. - -2002-12-07 Abel Deuring - * sanei/sanei_scsi.c: improved error handling - -2002-12-07 Karl Heinz Kremer - - * backend/epson.c: Fixed problem with dropout color - -2002-12-06 Peter Kirchgessner - - * backend/hp.h backend/hp.c backend/hp-scl.c backend/hp.conf - * doc/sane-hp.man doc/descriptions/hp.desc - Add option dumb-read to work - around problem with Buslogic SCSI driver - -2002-12-06 Henning Meier-Geinitz - - * configure aclocal.m4 acinclude.m4: Fixed MacOS X LD_FLAGS bug. - * doc/sane-scsi.man: Removed link to ACard problem. - * doc/sane.tex: Updated contact information. - * LEVEL2: Removed. Contents is either in the SANE2 standard or in - the SANE2 API TODO. - * Makefile.in doc/Makefile.in: Removed LEVEL2. - -2002-12-05 Henning Meier-Geinitz - - * doc/sane-mustek.man doc/sane-mustek_usb.man - doc/descriptions/mustek.desc doc/descriptions/mustek_usb.desc: - Updated links. - * backend/test.c po/sane-backends.de.po: Minor spelling and translation - fixes. - -2002-12-04 Henning Meier-Geinitz - - * backend/epson_scsi.c backend/sm3600.c: Move config.h include to the - top of the include list to avoid compilation errors on platforms - not defining u_char. Added AIX lalloca check. - * aclocal.m4 acinclude.m4 configure configure.in - include/sane/config.h.in: Cleanup. Added some missing quotes. Better - structure and comments. Tried to keep similar tests in one group. - Moved more complicated tests to acinclude.m4. Added explicit test for - build and host system type. When checking for programs, used $EXEEXT - (hopefully fixes OS/2 gettext misdetection). Removed obsolete - macros. Removed PTAL check. Used autoconf for asm/io.h check. - Shortened --enable-foo output and formatted it correctly. Trans- - lations were installed even if --disable-translations was set. Don't - test for msgcat anymore. Tell why translations aren't installed. Used - autoconf 2.5 syntax for AC_OUTPUT and AC_CONFIG_FILES. Make - sane-config executable. Print flags and installation directories - near the end of configure output. - * po/Makefile.in: Added autoconf comment, removed MSGCAT variable. - * backend/dll.c doc/sane-dll.man doc/descriptions/dll.desc: Ignore - comments that are in the same line as the backend entries. Minor - manpage fixes. Intented according GNU coding standards. - * configure.os2: Removed. No longer necessary. - -2002-12-04 Matthew Duggan - * backend/canon_pp-dev.c: Don't compare firmware version numbers - - multiple versions do actually exist. - * doc/descriptions/canon_pp.desc: Bump version number. - -2002-12-03 Peter Fales - - * backend/gphoto2.c: Don't display the "low resolution" option when - taking a picture, because it doesn't actually do anything. - -2002-12-02 Henning Meier-Geinitz - - * po/Makefile.in po/README sane-backends.de.po sane-backends.es.po - sane-backends.fr.po sane-backends.ru.po sane-backends.sv.po: - Use only one file of translated messages per language. Merged - all backend files. Uses UTF-8 everywhere. Updated all files - from the marked source code. - -2002-12-01 Stphane Voltz - - * backend/umax_pp.c: unmarked from SANE_I18N 2 options names - -2002-12-01 Rene Rebe - * backend/avision.h backend/avision.c backend/avision.conf - doc/descriptions/avision.desc: updated the Avision backend - - including auto-generated .desc file listing all devices - also present in the avision.c device-list. - * doc/descriptions/avision.desc: syntax fix - * doc/sane-avision.man: updated to reflect the current backend - development. - -2002-12-01 Henning Meier-Geinitz - - * configure configure.in backend/dll.c: Add dynamic loading support - for MacOS X/Darwin (from Peter O'Gorman ). - * TODO: Added sp15c inclusion and low-level buffer prints. Removed - avision warning, hpsj5s freeze, hp/libusb, and manpages issues. - Updated MacOS X list. - * configure configure.in backend/Makefile.in: Use libtool -module - when linking shared libs that will be loaded dynamically. - -2002-11-30 Henning Meier-Geinitz - - * po/Makefile.in po/epson.sv.po po/saneopts.sv.po: Added Swedish - translation (from Dennis Bjrklund ). - -2002-11-29 Henning Meier-Geinitz - - * configure configure.in backend/canon630u.c backend/dll.c - backend/gt68xx.c backend/mustek_usb.c backend/net.c backend/pnm.c - backend/test.c backend/umax1220u.c backend/v4l.c doc/Makefile.in - include/sane/config.h.in tools/sane-desc.c: Fixed PACKAGE_VERSION - breakage. PACKAGE_VERSION was redefined by autoconf 2.5 with a - different meaning. Use PACKAGE_STRING instead. - * backend/mustek.c doc/descriptions/mustek.desc - doc/mustek/mustek.CHANGES: PACKAGE_VERSION fix. Fixed debug message - in do_stop: really print exit status of reader process. - * doc/sane-usb.man: PACKAGEVERSION fix. Removed HP exception. Added - MacOS X. - * doc/gamma4scanimage.man doc/sane-artec_eplus48u.man - doc/sane-config.man doc/sane-find-scanner.man doc/sane-gt68xx.man - doc/sane-mustek.man doc/sane-mustek_usb.man doc/sane.man - doc/saned.man doc/scanimage.man: Added missing quotes around - PACKAGEVERSION - * doc/sane-abaton.man doc/sane-agfafocus.man doc/sane-apple.man - doc/sane-artec.man doc/sane-as6e.man doc/sane-avision.man - doc/sane-bh.man doc/sane-canon.man doc/sane-canon630u.man - doc/sane-canon_pp.man doc/sane-coolscan.man doc/sane-coolscan2.man - doc/sane-dc210.man doc/sane-dc240.man doc/sane-dc25.man - doc/sane-dll.man doc/sane-dmc.man doc/sane-epson.man - doc/sane-fujitsu.man doc/sane-gphoto2.man doc/sane-hp.man - doc/sane-hpsj5s.man doc/sane-leo.man doc/sane-matsushita.man - doc/sane-microtek.man doc/sane-microtek2.man doc/sane-mustek_pp.man - doc/sane-nec.man doc/sane-net.man doc/sane-pie.man doc/sane-pint.man - doc/sane-plustek.man doc/sane-pnm.man doc/sane-qcam.man - doc/sane-ricoh.man doc/sane-s9036.man doc/sane-sceptre.man - doc/sane-scsi.man doc/sane-sharp.man doc/sane-sm3600.man - doc/sane-snapscan.man doc/sane-sp15c.man doc/sane-st400.man - doc/sane-tamarack.man doc/sane-teco1.man doc/sane-teco2.man - doc/sane-teco3.man doc/sane-test.man doc/sane-umax.man - doc/sane-umax1220u.man doc/sane-umax_pp.man doc/sane-v4l.man: - Changed "-" to "\-" in .SH NAME section (required by man 7 man). - Added PACKAGEVERSION and "SANE Scanner Access Now Easy" to header. - -2002-11-29 Oliver Rauch - - * frontend/stiff.c: added fclose(icc_file) - -2002-11-25 Peter Kirchgessner - - * backend/hp-device.h backend/hp-accessor.c backend/hp-scl.c - backend/hp.c backend/hp-device.c backend/hp-option.c - backend/hp.h backend/hp.conf backend/Makefile.in - doc/sane-hp.man doc/descriptions/hp.desc - Added libusb support for hp-backend - -2002-11-25 Henning Meier-Geinitz - - * PROJECTS: Removed projects for scanners that are now supported - by the plustek backend. Removed lhii backend (dead?). Added more - details for other projects. Added 5400C / 5470C project. - -2002-11-23 Rene Rebe - - * backend/avision.h backend/avision.c backend/avision.conf - doc/sane-avision.man: updated the Avisin backend to my todays - snapshot. It know handles more scanners as well as ADF and A3 - size devices. - -2002-11-23 Max Vorobiev - * backend/hpsj5s.c: Removed default port probing. - -2002-11-22 Henning Meier-Geinitz - - * doc/sane.man: Formatting fixes. Updates some backend entries and - sane-find-scanner. Some clarifications. - * doc/scanimage.man: Use "--option arg" format for all options. - Other formatting fixes. - * doc/gamma4scanimage.man doc/sane-config.man doc/sane-find-scanner.man - doc/saned.man: Formatting updates. - -2002-11-22 Michael Herder - - Fixed header in artec_eplus48u.de.po. - *po/artec_eplus48u.de.po - -2002-11-21 Henning Meier-Geinitz - - * doc/descriptions/mustek_usb.desc doc/sane-mustek_usb.man - doc/mustek_usb/mustek_usb.CHANGES doc/mustek_usb/mustek_usb.TODO: - Minor manpage fixes. Added links to similar backends. More - information about non-Linux OS. - * doc/sane-mustek.man: Minor fixes. Added links to ther backends - providing support for Mustek scanners. - * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_gt6816.c - backend/gt68xx_low.c backend/gt68xx_low.h doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: - Changed 150 to 200 dpi for Mustek BearPaw 2400 TA. Fixed warnings - in gt68xx_low.c. Used DBG instead of XDBG ing gt68xx_low.c. - Minor manpage fixes. Added man page links to other backends. - gt68xx_low.h: Fixed __FUNCTION__ bug on non-gcc compilers. - Added more details about the BSDs in the manpage. Fixed color order - for ScanExpress A3 USB. - * TODO: Removed tevion9693usb and umax1220u warnings entries. Added - avsion warnings. Little bit of restructuring. - -2002-11-21 Michael Herder - - Added german translation for artec_eplus48u backend. - *po/artec_eplus48u.de.po - *po/Makefile.in - -2002-11-20 Henning Meier-Geinitz - - * doc/Makefile.in: Don't generate symlinks for libsane.so/.a, the files - are installed anyway. Fix symlink creation when only static libraries - are created. - -2002-11-20 Michael Herder - - Added artec_eplus48u backend for the scanner Artec E+ 48U and - re-badged models like Tevion/Medion MD 9693, Medion MD 9705 and - Trust Easy Webscan 19200. - * backend/Makefile.in backend/dll.conf backend/artec_eplus48u.c - backend/artec_eplus48u.conf backend/artec_eplus48u.h - * doc/.cvsignore doc/Makefile.in doc/sane-artec_eplus48u.man doc/sane.man - doc/descriptions/artec_eplus48u.desc - * AUTHORS: Updated concerning artec_eplus48u. - -2002-11-19 Henning Meier-Geinitz - - * doc/sane-usb.man: Added quick start section. New structure/order. - Added list of backends that don't use sanei_usb. Added headers - and fixed \- bug. - * doc/sane-find-scanner.man: Minor adjustments, added headers, fixed - \- bug. - -2002-11-18 Frank Zago - - * backend/umax-usb.c: the usb support for the umax 2200 wasn't - using the correct sanei USB API, which broke the support for that - scanner. Also fixed a couple warnings and a typo. - * backend/sceptre.c backend/teco1.c backend/teco3.c - backend/matsushita.c backend/leo.c: fixed hexdump() declaration. - * backend/dll.c: fixed some warnings. - -2002-11-07 Stphane Voltz - - * backend/umax_pp_low.c: disable test facility - -2002-11-17 Henning Meier-Geinitz - - * TODO: Added manpage issues and hpsj5s freeze problem. Removed canon.c - model problem. - * doc/Makefile.in: Added variable @PACKAGEVERSION@ for usage in - manpages. - -2002-11-14 Henning Meier-Geinitz - - * doc/sane-mustek_usb.man doc/sane-usb.man: Fixed wrong .TH headers. - -2002-11-13 Henning Meier-Geinitz - - * configure configure.in acinclude.m4 aclocal.m4 - include/sane/config.h.in: Fix compilation on Tru64 by readding - the sys/bitypes.h work-around. Minimum autoconf version is 2.50 now. - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_gt6801.c backend/gt68xx_gt6801.h doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES po/gt68xx.de.po: - Added basic support for Plustek OpticPro 1248U (from Gerhard Jaeger - ). Removed 50 and 1200 dpi from Lexmark X73. - Backend status is BETA now. - -2002-11-13 Ulrich Deiters - - * modified the Canon SCSI backend (now version 1.10): - * backend/canon.c, canon-scsi.c: Added support of focus control for - the FS2710 film scanner. - backend/canon-sane.c: Set handler_arg in sanei_scsi_open() calls - to zero to avoid crashes with Mandrake Linux 9.0 - -2002-11-12 Oliver Rauch - - * added several russion translations to directory po. - The translations have been created by - Vitaly Lipatov - -2002-11-07 Stphane Voltz - - * backend/umax_pp.c: revert a experimental change that went into - cvs by mistake. - * po/umax_pp.de.po: switch to iso-8858-1 - -2002-11-07 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_high.h - backend/gt68xx_low.h doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES po/Makefile.in po/gt68xx.de.po: Changed - option titles and descriptions to make them better readable. Added - translation markers for all options. Added German translation for - backend options. Updated manpage and .desc file concerning scanner - status. Added untested flag for Mustek ScanEpress A3 USB and Lexmark - X73. - * backend/mustek.c doc/sane-mustek.man doc/descriptions/mustek.desc - doc/mustek/mustek.CHANGES: Upload linear gamma table for Pro models - if custom gamma is off instead of uploading the composed gamma table. - That avoids applying gamm twice. Minor man page update. - -2002-11-05 Stphane Voltz - - * backend/umax_pp.c backend/umax_pp_mid.c : OS/2 compile fix, indent - correction - -2002-11-03 Karl Heinz Kremer - - * sanei/sanei_usb.c: Use endpoint address with direction information - instead of the pipe reference. This caused problems with Darwin - systems. - -2002-11-03 Karl Heinz Kremer - - * backend/epson.c: Full support for libusb - -2002-11-03 Henning Meier-Geinitz - - * README configure.in configure po/Makefile.in po/README: - Translations are now enabled by default if the gettext tools are - found. Use msgcat if available. Don't update the .po files - automatically. - * TODO: Added entries about canon.c model extraction bug, and sanei_usb - issue. Updated entries about MAcOS X support. Removed po files entry. - -2002-10-31 Henning Meier-Geinitz - - * configure configure.in: Print installation directories. - * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_high.c - backend/gt68xx_low.c backend/gt68xx_low.h doc/gt68xx/gt68xx.CHANGES: - Faster AFE calibration. Minor fixes. New version: 1.0-28. - -2002-10-31 Stphane Voltz - - * backend/umax_pp.c backend/umax_pp.h backend/umax_pp_low.h - backend/umax_pp_low.c tools/umax_pp.c: add UTA detection, - version number updates - - -2002-10-30 Henning Meier-Geinitz - - * backend/dll.conf: Removed commented out gt68xx entry. - * PROJECTS: Updated viceo entry. - -2002-10-27 Peter Fales - - * configure, acinclude.m4, aclocal.m4 - Remove checks for - specific version numbers of gphoto2 - that's not good for long - term maintenance, and the API has settled down enough that all - recent versions (both releases and CVS) are workable for SANE. - It is still necessary to specify --with-gphoto2 if you want to - use the gphoto2 backend. - -2002-10-27 Henning Meier-Geinitz - - * configure configure.in: Added a warning if sysconfdir is set to - /usr/etc. - * backend/test.c: Explicitely close the pipe and wait until - reader_process is killed. - -2002-10-25 Henning Meier-Geinitz - - * backend/Makefile.in backend/dll.conf backend/gt68xx.c - backend/gt68xx.conf backend/gt68xx.h backend/gt68xx_devices.c - backend/gt68xx_generic.c backend/gt68xx_generic.h - backend/gt68xx_gt6801.c backend/gt68xx_gt6801.h - backend/gt68xx_gt6816.c backend/gt68xx_gt6816.h backend/gt68xx_high.c - backend/gt68xx_high.h backend/gt68xx_low.c backend/gt68xx_low.h - backend/gt68xx_mid.c backend/gt68xx_mid.h - backend/gt68xx_shm_channel.c backend/gt68xx_shm_channel.h: - Added gt68xx backend for scanners based on the Grandtech GT-6801 - and GT-8616 chips like The Mustek BearPaw CU, and TA scanners - and some Artec Ultima 2000 clones. - * doc/.cvsignore doc/Makefile.in doc/sane-gt68xx.man doc/sane.man - doc/descriptions/gt68xx.desc doc/descriptions-external/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Added documentation for gt68xx backend. - * AUTHORS PROJECTS TODO: Updated concerning gt68xx. - * Makefile.in backend/Makefile.in doc/Makefile.in: Added some missing - files to DISTFILES. - -2002-10-24 Peter Fales - - * backend/gphoto2.c: Improve checks for values specified in config - file and generate errors when invalid values are specified. - -2002-10-24 Henning Meier-Geinitz - - * configure configure.in: Warnings enabled again. Used extra version - -cvs. - -Older entries can be found in ChangeLog-1.0.9. diff --git a/ChangeLog-1.0.12 b/ChangeLog-1.0.12 deleted file mode 100644 index ccc16e7..0000000 --- a/ChangeLog-1.0.12 +++ /dev/null @@ -1,960 +0,0 @@ -****** Release of sane-backends 1.0.12. End of code freeze ****** - -2003-05-25 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added DigitDia 3600. - * configure configure.in: New version: 1.0.12. - -2003-05-22 Henning Meier-Geinitz - - * doc/descriptions/mustek.desc: Primax Compact 4800 SCSI is - reported to work. - * doc/descriptions/unsupported.desc: Added more information for - Artec and Visioneer/Primax scanners. - * TODO: Added saned + configure issue. - -2003-05-21 Stphane Voltz - * backend/umax_pp_low.c: backed out clearing epp timeout. It prevented most - common settings to use the umax_pp backend. - -2003-05-18 Gerhard Jaeger - * doc/sane-plustek.man: Update. - * backend/plustek-devs.c backend/plustek-usbshading.c - backend/plustek-usb.h: - Fixed critical bug in CIS device calibration and settings which causes - the CanoScan 650, 1220 and 1240 not to work anymore - * TODO: removed line "check status of Umax 3450...". - ----- CODE FREEZE FOR SANE 1.0.12 --- --- snapshot 1.0.12-pre2 - -2003-05-18 Henning Meier-Geinitz - - * NEWS: Updated. - * doc/descriptions/unsupported.desc: Added Mustek ScanMagic 9636P. - * TODO: Added epson/saned/xsane problem. - * configure configure.in: Disabled compilation warnings. - * tools/Makefile.in: Added sane-po.awk to DISTFILES. - -2003-05-16 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Minor fix for Spot scanners. - -2003-05-15 Gerhard Jaeger - * TODO: status of UMAX 3450 is fixed now in .desc - * descriptions/plustek.desc: update - * doc/plustek/Plustek-USB-TODO.txt doc/plustek/Plustek-USB.txt - doc/plustek/Plustek.changes: update - * backend/plustek-devs.c backend/plustek-pp.c backend/plustek-usb.c - backend/plustek-usbhw.c backend/plustek-usbimg.c - backend/plustek-usbio.c backend/plustek-usbmap.c - backend/plustek-usbscan.c backend/plustek-usbshading.c - backend/plustek.c backend/plustek.h backend/plustek-share.h - backend/plustek-usb.h: - Major bugfix release, cancel should work now, calibration for - CIS devices is now fully functional - -2003-05-15 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Updates for Canon - scanners. Added Spot scanners. - * aclocal.m4 acinclude.m4 configure: Fixed MacOS X build (patch - from Mattias Ellert ). - * doc/sane-gt68xx.man: Fixed wrong example. - -2003-05-13 Henning Meier-Geinitz - - * backend/Makefile.in: Added missing $(DESTDIR). - * TODO: Minor updates. - -2003-05-12 Henning Meier-Geinitz - - * po/sane-backends.fr.po: Updated french translation (from Yann - E. MORIN ). - * frontends/saned.c: Replaces a strncmp() call by a macro detecting - V4-mapped address. This is a lot safer than the strncmp, and doesn't - break anything. Patch from Julien BLACHE . - -2003-05-11 Eddy De Greef - - * backend/mustek_pp.[ch]: Offset correction for Mustek 600CP and - added some debugging code. - -2003-05-09 Rene Rebe - - * doc/sane-avision.man: fix tiny typo - -2003-05-08 Rene Rebe - - * backend/avision.c doc/sane-avision.man - doc/descriptions/avision.desc: update to the latest avision - backend including the fix for segmentation fault when no config - file is present. - -2003-05-08 Henning Meier-Geinitz - - * acinclude.m4 aclocal.m4 configure include/sane/config.h.in: - Added missing HAVE_LIBIEEE1284 macro. The test was there, but - the macro wasn't set. - * po/sane-backends.de.po: Added some missing translations. - * po/sane-backends.es.po po/sane-backends.fr.po po/sane-backends.nl.po - po/sane-backends.no.po po/sane-backends.pt.po po/sane-backends.ru.po - po/sane-backends.sv.po: Updated for latest backend changes. - * backend/hp5400.c backend/hp5400.h backend/hp5400_internal.c - backend/hp5400_sanei.c backend/hp5400_xfer.h: Changed license to - GPL + SANE exception. - -2003-05-07 Henning Meier-Geinitz - - * po/Makefile.in po/sane-backends.no.po: Added Norwegian - translation (from Sigurd Stordal ). - -2003-05-06 Michael Herder - - * doc/descriptions/artec_eplus48u.desc: - Added comment about different product ID of MEM 48U - * backend/artec_eplus48u.conf: - Added new model Memorex MEM 48U - -2003-05-05 Oliver Rauch - * backend/umax.c: solved bug that broke compilation for OS2 - -2003-05-05 Henning Meier-Geinitz - - * po/sane-backends.fr.po: Updates for the French translation from - Yann E. MORIN . - * tools/check-po.awk: Added script to check the translations for - completeness (from Yann E. MORIN). - * tools/README: Added description of check-po.awk. Minor reordering. - ----- FEATURE FREEZE FOR SANE 1.0.12 --- --- snapshot 1.0.12-pre1 - -2003-05-04 Henning Meier-Geinitz - - * frontend/saned.c: Added implementation of poll() for systems - that don't provide it (patch from Julien BLACHE - ). - * TODO: Removed obsololete entries. - * NEWS: Updated for 1.0.12. - * backend/ibm.c backend/ibm-scsi.c: Only disable object position - command for Ricoh IS-420. - -2003-05-04 Oliver Rauch - - * backend/umax.c umax.h - applied changes that replace fork() by thread for OS2 - -2003-05-03 Henning Meier-Geinitz - - * include/md5.h: Set fixed alignment because otherwise the MacOS X - gcc doesn't like it. - * backend/ibm.c backend/ibm-scsi.c doc/descriptions/ibm.desc: - Disabled object_position. That should fix the Ricoh IS-420. - * frontend/saned.c: Try to get the correct port number when - /etc/services doesn't list "sane" by asking for "6566". Check - result of socket(). Print ip faimily and port. - * configure configure.in frontend/Makefile.in tools/Makefile.in: - Remove -all_load again and try to use the correct link order for - libraries. - -2003-05-02 Henning Meier-Geinitz - - * configure configure.in frontend/saned.c - include/sane/config.h.in: Test for poll() and disable IPV6 if - not found. - * include/lalloca.h: Remove test for MacOS X. That one breaks some - MacOS X systems. - * configure configure.in frontend/Makefile.in tools/Makefile.in: - Add -all_load to linker flags on MacOS X to avoid linker errors. - * backend/Makefile.in: Create directory for gt68xx firmware. - -2003-05-01 Oliver Rauch - - * backend/ - umax-scanner.c umax-scsidef.h umax-uc1200se.c umax-uc630.c - umax-ug630.c umax-usb.c umax.conf umax.h - umax-scanner.h umax-uc1200s.c umax-uc1260.c umax-uc840.c - umax-ug80.c umax.c umax.desc - doc/sane-umax.man doc/umax/* - - update of sane-umax backend - - -2003-04-30 Oliver Schwartz - - * backend/snapscan.c backend/snapscan.h backend/snapscan-options.c - backend/snapscan-scsi.c doc/descriptions/snapscan.desc: SnapScan - backend 1.4.26, added support for Agfa Arcus 1200, better support - for Benq 5000. - -2003-04-30 Henning Meier-Geinitz - - * lib/getopt.c: Removed #include again, breaks compilation on - OS/2. - * config.guess config.sub: New upstream versions. - * acinclude.m4 aclocal.m4 configure ltmain.sh: New libtool - upstream realease: 1.5. - * acinclude.m4 aclocal.m4 configure configure.in: Added support - for -framework option and check for IOKit for MacOS X. Check for - latex tools. Minimum autoconf version is 2.54. - * ltmain.sh: Add support for -framework option for MacOS X (from - Mattias Ellert ). - * sanei/sanei_scsi.c: Added SCSI support for MacOS X (from - Mattias Ellert ). - * include/sane/config.h.in: Added test for IOKit. - * README.darwin: Updated concerning SCSI support. - * backend/Makefile.in: Disable manual links for shared libraries. - This breaks MacOS X and doesn't seem to be necessary on other - platforms any more. - * include/lalloca.h: Don't use builtin alloca on MacOS X. - * tools/Makefile.in: Build sane-desc by default. - * tools/sane-desc.c: Fixed segfault. - * doc/Makefile.in: Only use latex if available. - * doc/descriptions/unsupported.desc: Updated info on Artec, Canon - and HP scanners. - -2003-04-27 Henning Meier-Geinitz - - * backend/hp5400_internal.c backend/canon630u-common.c - backend/epson_scsi.c: Minor compilation fixes for MacOS X and - OS/2. - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Added Genius 3x as working scanner, - removed testing flag. Added Artec 2000 e+ to manpage. Added - detection for the Plustek OpticPro U16B. - * doc/descriptions/unsupported.desc: Added more information for - the HP Scanjet 2300c. - * lib/getopt.c: Add missing includes. - * po/Makefile.in po/sane-backends.de.po po/sane-backends.es.po - po/sane-backends.fr.po po/sane-backends.nl.po - po/sane-backends.pt.po po/sane-backends.ru.po - po/sane-backends.sv.po: Added hp5400 backend. Updated po files. - * TODO: Added entry about MacOS X SCSI patches. - -2003-04-26 Henning Meier-Geinitz - - * README.netbsd: Some additions concerning uscanner driver. - * TODO: Removed hp4200 link. Added hp5400 GPL/SANE issue. Added - avision hpusbscsi documentation issue. Removed scanimage/OS/2 - problem. - * doc/sane-mustek.man: Added some more details for SCSI adapters. - * doc/descriptions/ibm.desc: Ricoh IS-420 doesn't seem to work - out-of-the-box. - * doc/descriptions/unsupported.desc: Added Visioneer OneTouch 4800 - USB. Added more information for the Genius ColorPage HR7X Slim - and Microtek Scanport 3000. - -2003-04-23 Frank Zago - - * backend/teco2.c backend/teco2.h doc/sane-teco2.man - doc/teco/teco2.txt descriptions/teco2.desc: new calibration - algorithm. - -2003-04-20 Henning Meier-Geinitz - - * README: Removed link to (non-working) anonymous CVS. Mention CVS - snapshots and beta releases instead. Rewrite the paragraph about - frontends. Mention that libusb is necessary for some backends. - Mention more operating systems. Added contact section (mostly - copying from sane(7)). Minor formatting updates. - * README.freebsd: Automatic SCSI detection does work, so this part - was removed. libusb is necessary for some backends. Some parport - scanners seem to work. - * README.linux: Minor updates. - * README.openbsd: libusb is necessary for some backends. - * Makefile.in doc/Makefile.in doc/sane.man: The lists of supported - devices are now generated and installed by default. - * NEWS: Updated for 1.0-12. - * doc/descriptions/unsupported.desc: Removed Epson Perfection 660 - (now supported by snapscan backend), Primax Jewel 4800 (teco2). - Added Enhans/E-Lux j-6121 and Visioneer OneTouch 5300 USB. - * sanei/sanei_usb.c: Removed Frank's memleak fix. The memory is - allocated only once in sanei_usb_init, not in sanei_usb_open. - So releasing it in sanei_usb_close breaks backends that open - devices more than once. - * po/sane-backends.nl.po: Updated Dutch translation (from Martin - Kho and Bertrik Sikken ). - -2003-04-18 Frank Zago - - * backend/teco2.c backend/teco2.conf backend/teco2.h - doc/sane-teco2.man doc/descriptions/teco2.desc: added support for - Relisys AVEC II S3 (VM3564) and Primax Jewel 4800 (VM356A). Patch - from Gerard Klaver. - * sanei/sanei_usb.c: fixed a memleak. - * sanei/sanei_pv8630.c: added some debug traces. - -2003-04-18 Stphane Voltz - - * configure configure.in include/sane/config.h.in: - added detection of dev/ppbus/ppi.h - -2003-04-18 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp.conf: - added support for /dev/ppi0 on *BSD, and a - * backend/umax_pp.c: configuration parsing fix - -2003-04-17 Henning Meier-Geinitz - - * AUTHORS backend/Makefile.in backend/dll.conf backend/hp5400.c - backend/hp5400.conf backend/hp5400.h backend/hp5400_internal.c - backend/hp5400_sanei.c backend/hp5400_xfer.h doc/.cvsignore - doc/Makefile.in doc/sane-hp5400.man doc/sane.man: - Added hp5400 backend from Martijn van Oosterhout - and Thomas Soumarmon - . Changed to use sanei_usb instead of direct - /dev/usb/scanner access. Added manual page. Fixed some - portablility issues and some warnings. Added SANE headers. - * doc/descriptions/hp5400.desc doc/descriptions-external/hp5400.desc: - Moved file as the backend is included now. Added new marker. - * doc/descriptions-external/lhii.desc: Removed. Website has been - dead for years. No response from author. - * doc/descriptions-external/onetouch8600.desc: Removed. Website is - dead. No response from author. - * doc/descriptions-external/hp4200.desc - doc/descriptions-external/hpoj.desc - doc/descriptions-external/niash.desc - doc/descriptions-external/primax.desc - doc/descriptions-external/scanwit.desc - doc/descriptions-external/v4l2.desc - doc/descriptions-external/viceo.desc: Added comments to explain - the reasons for not including these backends into SANE. - -2003-04-16 Henning Meier-Geinitz - - * doc/scanimage.man: Added EXAMPLES section. - * doc/descriptions/unsupported.desc: Added information about - Hewlett-Packard and Mustek scanners. - -2003-04-15 Henning Meier-Geinitz - - * AUTHORS backend/Makefile.in backend/dll.conf backend/ibm-scsi.c - backend/ibm.c backend/ibm.conf backend/ibm.h doc/Makefile.in - doc/sane.man doc/sane-ibm.man doc/.cvsignore - doc/descriptions/ibm.desc: Added IBM backend for the - IBM 2456, the Ricoh IS-420 and maybe the IS-410 and IS-430 from - mf . Added manual page, fixed some - warnings, Added detection for IS-410 and IS-430. - * doc/descriptions-external/ibm.desc: Removed, now included in - SANE distribution. - * include/md5.h: Don't use __attribute__ for compilers that don't - support it. - * doc/sane-ibm.man doc/descriptions/ibm.desc: Mention alpha - quality. Add maintainer address. - -2003-04-14 Henning Meier-Geinitz - - * tools/sane-desc.c: Fixed some HTML bugs. - * doc/desccriptions/unsupported.desc: Updated HP Scanjet 35XX, - Medion MD 6228, and Umax Astra 4700 entries. Added some Mustek - and Primax scanners. - -2003-04-14 Peter Kirchgessner - - * backend/hp.c, hp-option.c: Check pointers received in - sane_control_option(). Caused saned to crash on - scanimage --help -d net:localhost:hp:... - -2003-04-13 Henning Meier-Geinitz - - * doc/sane.man: Added SEE ALSO section. - * backend/Makefile.in: Fixed warning for dll-preload.c. - * bakend/dll.c: Add casts to function calls. Without this fix, the - dll backend didn't work on the m68k paltform because data and - addresses are stored in differnt registers so the return values - of the sane api functions were wrong. Patch from Dave Huang - . Fixed some compilation warnings. - -2003-04-11 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Updated - Mustek BearPaw 1200 CU Plus white strip value. Set Mustek - ScanExpress A3 USB to CCD. Black mark may be still wrong. Minor - formatting changes in the manpage. Decreased ScanExpress A3 USB - status to alpha because of CIS/CCD change. - * backend/ma1509.c: Remove test for multi-pass. - * doc/sane.man: Added information about #sane IRC - channel. Formatting changes. - * doc/descriptions/unsupported.desc: Added Mustek P 3600 A3 Pro. - * TODO: Removed license issue. Updated desc files and global - variables entries. Updated v4l entry. - * doc/scanimage.man: --batch format doesn't work, only --batch=format. - -2003-04-10 Henning Meier-Geinitz - - * backend/test.c backend/test.h doc/descriptions/test.desc: Added - support for OS/2 (from Franz Bakan ). - -2003-04-05 Nathan Rutman - - * backend/canon630u-common.c: Removed last change in offset/gain - calculation, which croaked for some cases. Give up early if we - can't talk on the USB. - * backend/canon630u.c: Added option to force scanner recalibration. - -2003-04-04 Henning Meier-Geinitz - - * backend/dll.c: Added some missing debug messages. Fixed a warning. - -2003-04-03 Eddy De Greef - - * TODO: removed mustek_pp entry (Check that global variables are - initialized propperly - -2003-04-03 Henning Meier-Geinitz - - * lib/Makefile.in: Recompile all targets if necessary. - * sanei/sanei_scsi.c: Fixed some warnings. - * include/md5.h: Declare md5_buffer. - * sanei/sanei_constrain_value.c: Removed unnecessary variable. - * backend/agfafocus.c: Fixed some warnings. - * backend/as6e.c: Fixed some warnings. - * backend/coolscan.c backend/coolscan-scsi.h: Fixed a bunch of - compilation warnings. - * backend/djpeg.c: Fixed some warnings. - * backend/dmc.c: Fixed some warnings. - -2003-04-03 Eddy De Greef - - * backend/mustek_pp.c: Fixed a potential crash bug that could be - triggered when calling sane_init/sane_get_devices/sane_exit - multiple times, and fixed some minor bugs to pass the - frontend/tstbackend.c tests. - -2003-04-03 Oliver Schwartz - - * backend/snapscan.c backend/snapscan.h backend/snapscan-scsi.c - backend/snapscan-options.c backend/snapscan.conf - doc/descriptions/snapscan.desc: - SnapScan backend 1.4.25 - added support for Epson Perfection 660, - enhanced support for Acer 5000 - -2003-04-02 Henning Meier-Geinitz - - * doc/sane-as6e.man: Added info about $PATH. Minor formatting fixes. - * doc/sane.man: Reorganization. Updated DEVELOPER'S DOCUMENTATION. - Rewrote PROBLEMS in a more user-centric way. Added "HOW CAN YOU - HELP" section. Added paragraph about SANE device lists. Updated - CONTACT section. Minor additions to the gt68xx and plustek - entries. Minor spelling fixes. - * backend/sm3600-color.c backend/sm3600-gray.c backend/sm3600-homerun.c - backend/sm3600-scanmtek.c backend/sm3600-scantool.h backend/sm3600-scanusb.c - backend/sm3600-scanutil.c backend/sm3600.c backend/sm3600.h: - Fixed comment headers. They were copied verbatim from the dll backend. - * AUTHORS backend/artec.c doc/sane-artec.man: Remove Chris Pinkham - as active maintainer because his primary email address bounces, - and he doesn't respond to mails to other addresses. Marked email - addresses and website as dead. Fixed AT3 misdectection that was - on the TODO list for some time. Initialize global variables in - sane_init. - * acinclude.m4 aclocal.m4 configure configure.in - include/sane/config.h.in frontend/saned.c: Added a switch to - disable libusb. Removed switch to enable ipv6 uncondinionally. - Check for sys/poll.h. - * sanei/sanei_usb.c: Added a function to print the buffer contents - for the read and write functions. Fixed some DBGs. Fixed a wrong - return value. - * TODO: Removed sm3600, artec and libusb configure switch entries. - Updated v4l, sanei buffer print and html manpages entries. - Added OS/2 crash entry. - * include/getopt.h lib/getopt.c lib/getopt1.c: Update to glibc - 2.3.1 version. This fixes a compilation warning. Further more, - the code is now LGPLed. - * include/md5.h lib/md5.c: Update to glibc 2.3.1 version. The code - is now LGPLed. Changed the K&R style and added prototypes to - avoid warnings. - -2003-03-31 Henning Meier-Geinitz - - * frontend/saned.c: Include poll.h only if new saned code is - used. Fixes compilation on OS/2. Patch from Julien BLACHE - . - -2003-03-30 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Medion MD 6228, Microtek - ScanPort 3000, and PIE Primefilm 1800u. - * acinclude.m4 aclocal.m4 configure configure.in backend/net.c - backend/net.h doc/sane-net.man doc/saned.man frontend/saned.c - include/sane/config.h.in: Added support for IPv6. Updated - manpages. Patch from Julien BLACHE . - * TODO: Updated net sections. Removed Irix pacht entry. Added - entry about libusb switch. - -2003-03-28 Oliver Schirrmeister - - * backend/fujitsu.c backend/fujitsu-scsi.h: - now really supports the fi-4120C - -2003-03-26 Karl Heinz Kremer - - * backend/epson.c: Added workaround for GT-8000 scanners, - fixed two warnings reported by der Mouse. - -2003-03-24 Rene Rebe - - * backend/Makefile.in backend/avision.c backend/avision.conf - backend/avision.h doc/descriptions/avision.desc: updated - avision backend to latest build. This includes user-space - USB support and OS/2 thread handling. - -2003-03-24 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Canon CanoScan FB620U. - Added more info for HP ScanJet 3500c. - -2003-03-24 Rene Rebe - - * include/sane/sanei_usb.h sanei/sanei_usb.c: support for - interrupt endpoint reads - -2003-03-23 Rene Rebe - - * doc/sane-usb.man fix typo - -2003-03-22 Ulrich Deiters - - * backend/canon.c: Modified the option "eject after each scan" - - Eject is suppressed for film scanners after preview scans. - -2003-03-20 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Canon LIDE 50, IBM - ADF Color Scanner, Plustek Spectra ADF. - -2003-03-17 Henning Meier-Geinitz - - * backend/as6e.c: Fixed segmentation fault when $PATH is not set. - -2003-03-16 Henning Meier-Geinitz - - * sanei/sanei_scsi.c: OS/2 specific changes: memory for SRB now is - allocated using _tcalloc() instead of allocating on stack to avoid - crossing 64k borders due to restrictions of 16-bit device-driver. - Cosmetic changes and some casts to reduce compiler-warnings. Patch - from Franz Bakan . - * sanei/sanei_thread.c: Increased stacksize for thread. Patch from - Franz Bakan . - -2003-03-10 Oliver Schirrmeister - - * backend/fujitsu.c backund/fujitsu-scsi.h backend/fujitsu.h - * patch from Ron Cemer - fixes the broken "ADF empty" detection on the Fujitsu scanners - when connected via USB. It also fixes a sense-request issues, - which were required in order to determine whether the ADF is - empty. It also eliminates some duplicate code blocks. - * renamed some functions - -2003-03-13 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_low.h - doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Added Packard Bell Diamond 1200 Plus to - .desc and manpage. New flag to avoid running stop_scan before doing - a scan. The Windows firmware of the BearPaw 1200 CU Plus doesn't - seem to like that. - * doc/descriptions/unsupported.desc: Added some Boeder, Brother, HP and - Trust scanners. - * TODO: Removed fujitsu and ma1509 entries. Updated .desc files and - global variables entry. - -2003-03-10 Oliver Schirrmeister - - * backend/fujitsu.c backund/fujitsu-scsi.h - displays the offending byte when something is wrong in the - window descriptor block. - -2003-03-09 Eddy De Greef - - * backend/mustek_pp_cis.c backend/mustek_pp_cis.h: Fixed two - calibration bugs: one occasionally caused overexposed images at - all resolutions; the other one occasionally caused color inbalances - when scanning narrow areas at high resolutions. - -2003-03-09 Henning Meier-Geinitz - - * sanei/sanei_scsi.c: Wait for the completion of all SCSI commands in - sanei_scsi_flush_all_extended (Linux). Without this fix, especially - long running commands and command queuing would cause memory - corruption if the buffer was invalid after the flush command. - * doc/descriptions/abaton.desc: Removed link to everex (timeout). - -2003-03-07 Henning Meier-Geinitz - - * backend/mustek.c doc/descriptions/mustek.desc - doc/mustek/mustek.CHANGES: Minor debug message updates. Fixed a - little bug in sane_control_option (gamma control). Removed the - signal blocking again. That only hides the segfault in sanei_scsi. - Check if there are documents in ADF for Paragon 2. Otherwise return - error. Fix some minor issues in reading the config file. - -2003-03-07 Peter Fales - - * doc/descriptions/dc210.desc, doc/descriptions/dc240.desc: - Fix broken URLs to the Kodak web pages - -2003-03-06 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_gt6801.c backend/gt68xx_gt6816.c - backend/gt68xx_low.c doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Small requests are done with a response - buffer of 8 bytes (instead of 64) now. Looks like GT-6816 based - scanners return 8 bytes if the firmware is loaded and 64 bytes if - it's not loaded. Changed GT-6816 firmware check to ignore errors - from above change. GT-6816 scanners work with the BSDs now (at least - once). Updated manpage concerning the BSDs. - -2003-03-05 Henning Meier-Geinitz - - * backend/apple.c: Added missing option size (avoids crash on network - scanning). Patch from Milon Firikis . - -2003-03-05 Oliver Schirrmeister - * backend/fujitsu.c, backend/fujitsu.h: renamed some variables - * backend/fujitsu.c: gray duplex scanning now works with the 4097D - when disconnect is enabled in the scsi-controller - * doc/descriptions/unsupported.desc: remove fujitsu fi4120C - * doc/descriptions/fujitsu.desc added fi4120C, ScanParter 93GX - -2003-03-04 Henning Meier-Geinitz - - * include/sane/sanei.h sanei/sanei_constrain_value.c: Added function - sanei_check_value in addition to the existing sanei_constrain_value. - It checks if the value of a sane option fits into the constraint but - doesn't try to do any fixing/rounding. - * doc/sane-scsi.man: Changed the example to use /dev/sg0 instead of - /dev/sge. - * doc/descriptions/unsupported.desc: Removed Umax AstraSlim (now - supported by artec_eplus48u backend). - -2003-03-03 Gerhard Jaeger - * doc/plustek/Plustek-USB-TODO.txt: update - * backend/plustek-devs.c backend/plustek-usb.c backend/plustek-usbhw.c - backend/plustek-usbimg.c backend/plustek-usbscan.c backend/plustek.c: - Fixed some bugs, that avoid proper function of Genius devices and - the HP2100c. Fixed also a problem, that causes permanent warmup cylces - on EPSON Photo devices. - -2003-03-02 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_gt6801.c - doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Make sure that the firmware for - plustek-like scanners is loaded. Didn't work for Genius vivid3xe. - Added both Genius scanners to man page. Removed warning from Genius - Vivid3xe. - -2003-03-02 Michael Herder - - * doc/descriptions/artec_eplus48u.desc: - * backend/artec_eplus48u.conf: - Added new model Umax AstraSlim SE - -2003-03-01 Henning Meier-Geinitz - - * doc/descriptions-external/ibm.desc: Added Ricoh IS-430. - * doc/descriptions/unsupported.desc: Updated Microtek scanners. Added - Umax AstraSlim SE. - -2003-02-28 Ulrich Deiters - - * backend/canon-sane.c: Adjusted to use the new sanei_constrain_value - function; made some cosmetic changes to reduce the number of compiler - warnings - -2003-02-27 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_low.c backend/gt68xx_low.h doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Added Genius Colorpage Vivid3xe. Added - request_type and request fields to the command set. Request is 0x01 - or 0x04. - * doc/descriptions/unsupported.desc: Added Compaq S4 100 and Microtek - Scanmaker 4800. - -2003-02-26 Henning Meier-Geinitz - - * doc/descriptions-external/hp5400.desc: Added description for hp5400 - backend. It supports the Hewlett-Packard 5400, 5470 and (maybe) 5490 - scanners. - * doc/descriptions-external/viceo.desc: Added Visioneer OneTouch 8600. - * doc/descriptions/unsupported.desc: Removed hp5400 series (now in - hp5400.conf). Added Lexmark, Medion and Primax scanners. - * doc/descriptions/ma1509.desc: Added :new token. - * sanei/sanei_constrain_value.c: Round a word list value to the nearest - entry (if necessary). Code was taken from canon backend. - -2003-02-26 Ulrich Deiters - - * modified the Canon SCSI backend (now version 1.12): - * backend/canon.c, canon-sane.c, canon.h: Added support for - the FB1200S flatbed scanner. - * backend/canon.c: Made the sense handler generate meaningful - status information for new scanner models (solved the Mandrake - crash problem). - * backend/canon.c, canon-sane.c, canon.h: Moved model-dependent - declarations and decisions to a common location. - * backend/canon-sane.c: Fixed the out-of-memory problem of - xscanimage when doing previews with scanners using hardware - scan resolutions only. - -2003-02-25 Henning Meier-Geinitz - - * po/sane-backends.fr.po: Updated French translation (from Yann E. - MORIN ). - -2003-02-23 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.c - backend/umax_pp_mid.h backend/umax_pp.c backend/umax_pp.h - backend/umax_pp.conf tools/umax_pp.c doc/sane-umax_pp.man: changed - highlight option to contrast, and gain to brightness. - -2003-02-24 Henning Meier-Geinitz - - * backend/Makefile.in backend/dll.conf backend/ma1509.c - backend/ma1509.conf backend/ma1509.h: Added new backend ma1509 for - Mustek BearPaw 1200F scanners. - * doc/Makefile.in doc/descriptions/ma1509.desc doc/sane-ma1509.man - doc/sane.man doc/.cvsignore: Added documentation for ma1509 backend. - * doc/descriptions-external/ma1509.desc: Removed. - * AUTHORS: Added ma1509. - * po/Makefile.in po/sane-backends.de.po po/sane-backends.es.po - po/sane-backends.fr.po po/sane-backends.nl.po po/sane-backends.pt.po - po/sane-backends.ru.po po/sane-backends.sv.po: Updated for ma1509. - * doc/backend-writing.txt: Some parts concerning PRJECTS/.desc files - are rewritten. Added information about initializing global variables - and sizeof (void *) != sizeof (int) (from Martijn van Oosterhout - ). - -2003-02-23 Simon Munton - * backend/pie.c: increment BUILD (was missed in last change) - -2003-02-23 Simon Munton - * backend/pie.c: fixed segmentation faults when sane_init/sane_exit is - run more than once. - -2003-02-23 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp_low.c: Added global vars reset. - Fixed a segmentation bug when using "" as opened device name. - -2003-02-22 Frank Zago - - * doc/sane.tex: added Relisys and Mitsubishi to the list of - vendors. Bumped the revision date. - - * frontend/tstbackend: added more sane_init/sane_exit tests. Added - Fujistu and Relisys to the list of valid vendor names. - -2003-02-22 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx.conf doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: - Added vid/pid 0x07b3/0x0400 to gt68xx.conf also. Added indormation - about Medion 4394. Mention ma1509 backend. Fix segfault when calling - sane_open with an empty device name. Explicitely initialize global - variables to avoid segfaults when calling sane_init/sane_exit more - than once. - * backend/net.c doc/descriptions/net.desc: Initialize global variables - in sane_init to avoid segmentation faults when sane_init/sane_exit is - run more than once. - * doc/descriptions-external/ibm.desc: Add Ricoh IS-420. - * sanei/sanei_usb.c: Call sanei_usb_init only once. - * backend/mustek_usb.c doc/descriptions/mustek_usb.desc - doc/mustek_usb/mustek_usb.CHANGES doc/sane-mustek_usb.man: Iniatialize - global variables explicitely. Mention ma1509. - * backend/mustek.c doc/mustek/mustek.CHANGES: Initialize global - variables in sane_init. - * TODO: Add ma1509 backend. Add segfault when running sane_init more - than once. Removed sanei_usb interface issue. - -2003-02-20 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Removed Fujitsu fi-4220C (now - supported by fujitsu backend). Added Syscan Travelscan 464. Updated - HP scanners. - -2003-02-20 Oliver Schirrmeister - * backend/fujitsu.c: make option RIF available for 3091 and 3092, bugfix - * backend/fujitsu.c: set availability of options THRESHOLD und VARIANCE - -2003-02-20 Oliver Schirrmeister - * backend/fujitsu.c, backend/fujitsu.h: patch from : - fi4220 support - USB support for scanners which send SCSI commands over usb - -2003-02-19 Henning Meier-Geinitz - - * doc/descriptions-external/ma1509.desc: Added description of the - ma1509 backend for Mustek BearPaw 1200F scanners. - * doc/descriptions/unsupported.desc: Added Avision, Brother, and Umax - scanners. Removed Mustek BearPaw 1200F. - * sanei/sanei_usb.c: Check all acceptable interfaces instead of using - the first one. - * tools/sane-find-scanner.c: Check all interfaces. Print a more - definite message when a scanner was found to avoid confusion. - -2003-02-18 Stphane Voltz - - * backend/umax_pp_low.c: icc compile fixes, and - EPP mode setting fix for direct hardware access - -2003-02-18 Henning Meier-Geinitz - - * po/sane-backends.fr.po: Added more French translations (from Yann E. - MORIN ). - * sanei/sanei_usb.c: usb_clear_halt should only be called in libusb - mode. - -2003-02-17 Henning Meier-Geinitz - - * backend/mustek.c doc/descriptions/mustek.desc - doc/mustek/mustek.CHANGES: Make sure that the result of the - reader_process is interpreted correctly. Block signals when waiting - for a SCSI request to finish. Otherwise we may get a segfault if the - reader_process is terminated while waiting. - -2003-02-16 Henning Meier-Geinitz - - * doc/doxygen-sanei.conf: Updated version. - * include/sane/sanei_usb.h: Fixed link to USB spec. - * doc/descriptions/unsupported.desc: Added Artec scanners. - * TODO: Updated desc file entry. - * backend/gt68xx.c backend/gt68xx_devices.c doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: - List BearPaw 2400 CS Plus as supported. Make fast preview the default - (otherwise BP 2400 TA Plus wouldn't work with 12/16 bits). Added - vid/pid 0x07b3/0x0400, that's another Plustek OpticPro 1248U. - -2003-02-16 Ren Rebe - - * backend/avision.h backend/avision.c doc/sane.man - doc/descriptions/avision.desc: update to the latest Avision - backend release. It includes feature and stability improvements - and bug fixes. The sane man-page now mentions that the avision - backend supports more than the AV 630 CS ... - -2003-02-15 Karl Heinz Kremer - - * backend/epson.c backend/epson_usb.[ch]: Fix problem with - "usb syntax in config file - - * backend/epson.c: Move sanei_init_usb() to sane_init(). Thanks - to Ron Cemer for the patch. - -2003-02-13 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Updated Canon, Fujitsu, and - Plustek entries. - * TODO: Added entries about v4l, fujitsu, snapscan. - -2003-02-11 Peter Fales - - * backend/dll.conf, doc/sane-gphoto2.man: Added a commented out - gphoto2 entry in dll.conf, and mentioned it in the man page. - - * backend/gphoto2.c: Bug fixes. Don't coredump if the - gphoto2.conf file is missing, and don't require a speed to - be set if the usb port is used. - -2003-02-11 Peter Kirchgessner - - * backend/hp-handle.c: Fix problem with ifdef/ifndef for threads - -2003-02-11 Henning Meier-Geinitz - - * aclocal.m4 acinclude.m4 configure configure.in: Check for MacOS X - native dynamic loading first before lookinf for libdl. - -2003-02-09 Henning Meier-Geinitz - - * frontend/saned.c sanei/sanei_codec_bin.c sanei/sanei_wire.c: Check - the IP address of the remote host before any communication occurs. - Check for a errors before trsuting values that came from remote. - Make sure that strings are 0-terminated. - * po/Makefile.in po/sane-backends.nl.po: Added dutch (nl) translations - for sane-backends (from Bertrik Sikken ). - * doc/saned.man: More warnings about security issues. Make more clear - that -s and -d can't be used in inetd mode. - * PROBLEMS: Moved "memory exhausted" and missing scsi headers problems - to README.linux. Removed SG_BIG_BUF problem. Rewrote Mustek "exceed - the physical scan area" problem as it applies to most flatbed - scanners. Added info about test backend. Added info about saned - security issues. - * README.linux: Moved "memory exhausted" and missing scsi headers - problems from PROBLEMS. - * TODO: Added saned info. Added artec at3 misdetection. - * configure configure.in NEWS: Updated version number. - -2003-02-09 Stphane Voltz - - * backend/umax_pp.c: fixed big bug related to color plane - synchronization, which gave blur effect at > 75 dpi - * tools/umax_pp.c: change version number - -2003-02-08 Peter Fales - * backend/dc210.c, backend/dc240.c: Fixes for Irix from - Andrea Suatoni. - -2003-02-06 Henning Meier-Geinitz - - * Makefile.in: Added ChangeLog-1.0.10 to DISTFILES. - * po/Makefile.in po/template.desc po/README: Don't generate po files - with every make. That avoids recreation just because of date changes. - Automatically create new languages on make update. Automatically - generate list of DISTFILES. Added template for header used in new - po files. Updated documentation. - * doc/descriptions/unsupported.desc: Added Genius Colorpage Vivid III. - Added more info for Plustek OpticPro 1212U and U12/UT12. - -2003-02-05 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_high.c - backend/gt68xx_high.h doc/descriptions/gt68xx.desc - doc/descriptions/unsupported.desc doc/gt68xx/gt68xx.CHANGES: - Fixed resolutions for BearPaw 1200 TA. Increase the lowest black - for CCD coarse calibration. Adjusted internal gamma correction. - CCD scanners use color mode for coarse+quality cal now. Preview isn't - always in 8 bit mode now (can be selected by option). Upper and lower - limits for coarse calibration are unified now. Added options for - adjusting gain and offset. - * po/sane-backends.de.po po/sane-backends.es.po po/sane-backends.fr.po - po/sane-backends.pt.po po/sane-backends.ru.po po/sane-backends.sv.po: - Adjusted for new gt68xx options. Updated German translation for - gt68xx. - -2003-02-04 Michael Herder - - * doc/descriptions/artec_eplus48u.desc: - Unified manufacturer names according to Hennings suggestion. - -2003-02-03 Henning Meier-Geinitz - - * doc/sane-backends.pt.po: Fixed UTF character. - -2003-02-02 Peter Kirchgessner - - * backend/hp.c backend/hp-handle.c: Add support for OS/2 - doc/descriptions/hp.desc: Version number changed - -2003-02-02 Jochen Eisinger - - * doc/descriptions/mustek_pp.desc: cleaned up the file a little - -2003-02-02 Henning Meier-Geinitz - - * doc/descriptions/gt68xx.desc doc/descriptions/unsupported.desc: - Unified manufacturer names. Minor bugfixes. - -2003-02-01 Henning Meier-Geinitz - - * configure configure.in: Warnings enabled again. Used extra version - -cvs. - -Older entries can be found in ChangeLog-1.0.10. diff --git a/ChangeLog-1.0.13 b/ChangeLog-1.0.13 deleted file mode 100644 index a3f2705..0000000 --- a/ChangeLog-1.0.13 +++ /dev/null @@ -1,1349 +0,0 @@ -****** Release of sane-backends 1.0.13. End of code freeze ****** - -2003-11-13 Henning Meier-Geinitz - - * configure configure.in: New version: 1.0.13. - -2003-11-20 Oliver Schwartz - - * doc/descriptions/snapscan.desc: Added model "SnapScan" - (Bugtrack #300286) - -2003-11-17 Henning Meier-Geinitz - - * po/sane-backends.sv.po: Updated Swedish translation (from - Mattias Ellert ). - -2003-11-16 Henning Meier-Geinitz - - * configure configure.in acinclude.m4 aclocal.m4: Changed check for - linux/videodev.h. If that file is not compilable, we don't build - the v4l backend. That's to avoid compilation errors if videov.h - from Linux kernel 2.6.* is used. Include all the headers we also - include in backend/v4l.c to make sure we find all problems. - * backend/v4l.c: Try to not include linux/videodev2.h to avoid - compilation errors. - --- snapshot 1.0.13-pre3 ----- CODE FREEZE FOR SANE 1.0.13 --- -2003-11-16 Henning Meier-Geinitz - - * NEWS: Updated. - * configure configure.in: Disabled warnings for release. - -2003-11-15 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Brother DCP 8020 and - UMAX Astra 3600. - -2003-11-14 Eddy De Greef - * doc/sane-mustek_pp.man: added the new libieee1284 style parport - names. - -2003-11-14 Gerhard Jaeger - * backend/plustek.c backend/plustek-usb.cal backend/plustek-usbshading.c - backend/plustek-usbhw.c: Endianess fixes. - -2003-11-13 Eddy De Greef - * backend/mustek_pp_cis.c: accept old style parport names to - ensure backward compatibility with existing mustek_pp.conf files. - -2003-11-13 Peter Fales - * backend/gphoto2.h: Line beginning with "static static" was breaking - compiles on some platforms. - -2003-11-10 Gerhard Jaeger - * backend/Makefile.in: Linking pie backend now against sanei_thread lib. - * backend/pie.c: Switched backend over to sanei_thread usage, to make it - also work with OS/2. - -2003-11-08 Oliver Schwartz - - * backend/snapscan-options.c backend/snapscan.c - Disabled quality calibration for Epson Perfection 1670 since it does - not work reliably yet - -2003-11-09 Henning Meier-Geinitz - - * doc/descriptions-external/lhii.desc: Added (back) the links to - the external lhii backend that supports old handscanners. - --- snapshot 1.0.13-pre2 - -2003-11-09 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Removed Epson Perfection - 1670. It's now supported by the snapscan backend. - -2003-11-08 Oliver Schwartz - - * backend/snapscan-options.c backend/snapscan-usb.c - Fix TPO range for Epson 1670, fix compiler warnings on gcc 3.3 - -2003-11-08 Oliver Schwartz - - * backend/snapscan-scsi.c backend/snapscan.c doc/descriptions/snapscan.desc: - Final bugfixes for Epson 1670 - -2003-11-07 Henning Meier-Geinitz - - * README.openbsd: Added info about setting permissions (Bug #300311). - * doc/descriptions/unsupported.desc: Added Genius and Lexmark scanners. - -2003-11-07 Oliver Schirrmeister - - * backend/fujitsu.c: Bugfix. If a scanner returned a color image - in format rr...r gg.g bb...b the reader process crashed. - * backend/fujitsu.[ch] Bugfix. The option gamma was enabled for - the fi-4120. The result was an 'invalid field in parm list'-error. - * doc/descriptions/fujitsu.desc: added model "fi-4530C" - -2003-11-06 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Microtek and Visioneer - scanners. - -2003-11-04 m. allan noah - - * doc/descriptions/fujitsu.desc: added model "fi-4110EOX2" - -2003-11-04 Gerhard Jaeger - * backend/Makefile.in: Linking coolscan now against sanei_thread lib. - * backend/coolscan.c backend/coolscan.h: Switched backend over to - sanei_thread usage, to make it work at least with OS/2. - * backend/plustek-pp_misc.c backend/plustek-pp_hwdefs.h: Fixed bug - in parport setup routine. - * sanei/sanei_pp.c: Fixed problem in sanei_pp_setmode(). - Fixed parport mode setting in direct mode. - -2003-11-02 Julien Blache - * frontend/saned.c: fixed endianness issues in - check_v{4,6}_in_range(), also fixed portability issues to other - UNIX platforms due to different representations of IPv6 addresses. - -2003-11-02 Gerhard Jaeger - * doc/descriptions/unsupported.desc: Added Plustek OpticSlim 2400. - * include/sanei/sanei_thread.h: Removed OS/2 porting section. - * sanei/sanei_pp.c include/sanei/sanei_pp.h: - Fixed udelay stuff, documentation update. - -2003-11-02 Henning Meier-Geinitz - - * backend/Makefile.in: sanei_pp must be linked if we preload - backends. - ----- FEATURE FREEZE FOR SANE 1.0.13 --- --- snapshot 1.0.13-pre1 - -2003-11-02 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added PIE Powerslide 3600. - * NEWS: Updated for 1.0.13. - -2003-10-30 Gerhard Jaeger - * sanei/lib/sanei_pp.c: Made sanei_pp_set_datadir work in no ieee1284 mode. - Fixed a minor bug in delay calculation. - * include/sanei/sanei_pp.h: Added some control-port definitions. - * backend/plustek_pp.c backend/plustek-pp*: - Made PS/2 bidirectional mode work. - * doc/plustek/PLUSTEK-PARPORT.txt: Update. - -2003-10-29 Henning Meier-Geinitz - - * backend/Makefile.in backend/mustek.c backend/mustek.h - doc/descriptions/mustek.desc doc/mustek/mustek.CHANGES: - Added support for sanei_thread. Removed OS/2 specific code. - Added more debug messages. - * doc/saned.man: Added more info about firewall trouble. - -2003-10-29 Gerhard Jaeger - * sanei/lib/sanei_pp.c include/sanei/sanei_pp.h: - Added functions sanei_pp_set_datadir() and sanei_pp_uses_directio(). - Added some documentation. - * doc/plustek/PLUSTEK-PARPORT.txt doc/plustek/PLUSTEK-PARPORT-TODO.txt - doc/plustek/PLUSTEK-USB-TODO.txt: Updates. - * backend/plustek_pp.c backend/plustek-pp_*: Made usage of the new - sanei_pp functions, made EPP modes work with libieee1284. Also some - cleanup work. - -2003-10-28 Henning Meier-Geinitz - - * doc/sane-scsi.man: Added hint for setting device permissions for - /dev/xpt0 for FreeBSD users. - * AUTHORS backend/artec.c backend/artec.h doc/sane-artec.man: - Fixed Chris Pinkham's email address. - * doc/descriptions/unsupported.desc: Added Microtek ScanMaker 4900. - -2003-10-28 Rene Rebe - * backend/avision.h backend/avision.c doc/descriptions/avision.desc - backend/avision.conf AUTHORS: merge of the current Subversion - revision of SANE/Avision. The fixes include: endianess fixes, - calibration code, ADF detection, correct lamp warmup, gamma table - for new ASICs, some workarounds for ASIC variations and the - convertion to use OPT_SOURCE instead of seperate OPT_ADF and - OPT_TRANS. Also fixed Bugs #300288 and #300196 and removed - the conflicting Option_Valu now present in sanei_backend.h - * doc/sane-avision.man: made requested clarifications (Bugs #300290, - #300291) - -2003-10-28 Gerhard Jaeger - * doc/sane-plustek.man backend/plustek.conf backend/plustek.c: - Changed configuration file back to remain compatible with the old format. - -2003-10-27 Karl Heinz Kremer - * backend/epson.c: Replaced all DBG(0, statements with - DBG(1, ... to avoid logging messages the user should - not see anyways. - -2003-10-27 Gerhard Jaeger - * sanei/lib/sanei_pp.c: Fixed OS/2 compilation problems. - * doc/descriptions/plustek_pp.desc: - Updated status of Primax Compact 4800 Direct 30bit. - -2003-10-26 Gerhard Jaeger - - * configure.in configure include/sanei/config.in.h: - Added check for limits.h - HAVE_LIMITS_H. - * sanei/lib/sanei_pp.c include /sanei/sanei_pp.h: - Added sanei_pp_init() and sanei_pp_udelay(). - * backend/plustek_pp.c backend/plustek-pp_misc.c backend/plustek-pp_scan.h: - Fixed compiler warnings, using now sanei_pp_udelay() and - made the backend work with libieee1284. - ----- BACKEND FREEZE FOR SANE 1.0.13 --- - -2003-10-24 Peter Kirchgessner - * backend/hp.c, backend/hp-handle.c, backend/Makefile.in: - second check-in: use new sanei_thread-interface for hp-backend - -2003-10-24 Henning Meier-Geinitz - - * doc/descriptions-external/hp_rts88xx.desc: Added description - file of new hp_rts88xx backend for HP 44x0 scanners (from - Johannes Hub ). - * doc/descriptions/unsupported.desc: Added Minolta DiMAGE Scan - Elite 5400. Removed HP 44x0 (now supported by hp_rts88xx - backend). Updated Epson Perfection 3170. Updated Plustek - S24/ST24. - * doc/descriptions/avision.desc doc/descriptions/canon.desc - doc/descriptions/sharp.desc: Updated to new status values. - Bugs: #300146, #300147, #300154. - * include/sane/sanei_thread.h: Updated doxygen documentation - for new sanei_thread interface. - -2003-10-23 Frank Zago - - * README.windows: added note about libusb port for cygwin. - -2003-10-23 Gerhard Jaeger - - * backend/plustek.c backend/plustek-usb.c: - fixed bug, that causes CanoScan devices to use the wrong calibration - functions, sanei_usb_get_vendor_product() fails. - * sanei/sanei_pp.c: - Added sanei_pp_getmode, fixed conditional compilation stuff. - * include/sanei/sanei_pp.h: - Added sanei_pp_getmode and SANEI_PP_MODE definitions. - * backend/plustek_pp.c backend/plustek-pp.h backend/plustek-pp_misc.c: - Added parport-mode detection. - -2003-10-22 Peter Kirchgessner - * backend/hp.c, backend/hp-handle.c, backend/Makefile.in: - use new sanei_thread-interface for hp-backend - -2003-10-22 Gerard Klaver - * doc/descriptions/teco2.desc backend/teco2.conf doc/sane-teco2.man: - Mustek ScanMagic 4830S added. - * doc/sane-teco2.man: maintainer Gerard Klaver added, text update. - * doc/teco/teco2.txt: data VM3564 Relisys AVEC II S3 added. - -2003-10-22 Julien Blache - * frontend/saned.c: replaced in_addr_t mask; by u_int32_t mask; in - check_v4_in_range(). in_addr_t doesn't seem to exist on OS/2, and - it's nothing more than an unsigned 32 bits integer. - -2003-10-22 Gerhard Jaeger - - * configure configure.in include/sane/config.in.h: added checks for iopl. - * sanei/sanei_pp.c sanei/Makefile.in - include/sanei/sanei_pp.h include/sanei/Makefile.in: added generic - parallel-port function lib. - * backend/plustek-pp* backend/plustek_pp.c: major update, sanei_pp - integration, compilation fixes. - * backend/plustek.c: fixed, the "generic disable" switch - -2003-10-21 Oliver Schwartz - - * backend/snapscan.h backend/snapscan.c backend/snapscan-option.c - backend/snapscan-scsi.c backend/snapscan.conf: Bugfixes, - hopefully better support for Epson 1670. - -2003-10-21 Henning Meier-Geinitz - - * doc/descriptions-external/epkowa.desc: Added Perfection 1670 as - "unsupported". Changes status of 1260 PHOTO to :basic because of - broken TPU support. Fixed missing quotation mark in Perfection - 1200S entry. - * AUTHORS: Oliver Schirrmeister has a CVS account now. - * doc/sane-mustek_usb.man: Added workaround for hardware bug. - -2003-10-21 Stphane Voltz - * doc/sane-umax_pp.man: added help for new configuration option - * tools/umax_pp.c: uppded version number - -2003-10-20 Frank Zago - * README.aix doc/sane-leo.man doc/sane-matsushita.man - doc/sane-sceptre.man doc/sane-teco1.man doc/sane-teco2.man - doc/sane-teco3.man doc/descriptions/leo.desc - doc/descriptions/matsushita.desc doc/descriptions/sceptre.desc - doc/descriptions/teco1.desc doc/descriptions/teco2.desc - doc/descriptions/teco3.desc doc/descriptions-external/hp4200.desc: - fixed urls. - -2003-10-19 m. allan noah - - * backend/fujitsu.c: reverse previous patch. Dont blindly trust - code from the backend maintainer :) - -2003-10-19 Julien Blache - * frontend/saned.c: added subnet support to saned ; added - check_v4_in_range and check_v6_in_range functions. - * backend/saned.conf: updated the config file. - * doc/saned.man: updated the manpage for saned. - -2003-10-18 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added HP ScanJet 3670. - * doc/descriptions-external/epkowa.desc: Added description file - for the external Epson Kowa backend. - -2003-10-17 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Reflecta iScan - 1800. Updated information for Epson Perfection 1670. - * README.linux: Added information about compilation problems when - Linux 2.6 is installed. - * tools/sane-desc.c: In error and warning messages print the name - of the description file. Print warning if the status is not set - for a device. - * backend/test.c: Reindented. - * AUTHORS: Nathan Ruthman has CVS access now. - -2003-10-17 Karl Heinz Kremer - - * doc/descriptions/epson.desc: Fixed bug #30149 (added :status information for all scanners) - -2003-10-17 Gerhard Jaeger - - * acinclude.m4 aclocal.m4 configure: Added -D_REENTRANT to compiler - flags, when using pthread support. - * sanei/sanei_thread.c: Added SIGPIPE handling, - when compiled for pthread support. - * backend/test.c: Removed blocking SIGPIPE, as this is now handled - in sanei_thread library. - * backend/plustek.h backend/plustek.c backend/plustek-usbhw.c: - Added checks for intervaltimer, to make it compile on OS/2. - -2003-10-16 m. allan noah - - * backend/fujitsu.c: memset the device struct and the scsi buff - when a new device is attached. Submitted by - Chris Chesney . - Initialized a couple vars in the 3091 init routines. - -2003-10-15 Henning Meier-Geinitz - - * AUTHORS: Marked maintainers that have CVS access with a - (*). Added m. allan noah to fujitsu backend. Added Julien Blache - and Petter Reinholdtsen to "Miscellaneous coding". Removed - Petter Reinholdtsen from "CVS repository maintainer". - * doc/sane-usb.man: sane-find-scanner is in section 1, not 5. - -2003-10-15 Gerhard Jaeger - - * include/sanei/config.h.in configure.in configure: - Added test for setitimer. - -2003-10-14 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Pentax, Sicos, Syscan, - and UMAX scanners. - -2003-10-13 Henning Meier-Geinitz - - * backend/gt68xx_low.c: Fixed compilation bug when debugging is - disabled. - * backend/test.c doc/descriptions/test.desc: Fixed cancelling when - threads are used. Only SIGPIPE is blocked now. Sleep indefinetly - after the reader_process has finished. Minor fixes of debug - messages. - -2003-10-13 Gerhard Jaeger - - * sanei/sanei_thread.c include/sane/sanei_thread.h: Fixed OS/2 compilation - * sanei/sanei_lm983x.c include/sane/sanei_lm983x.h: Copyright update - -2003-10-12 Gerhard Jaeger - - * sanei/sanei_thread.[ch]: Improved OS/2 support - * backend/test.c: removed OS/2 section - -2003-10-12 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Memorex, TCE and Optrox - scanners. - -2003-10-10 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Canon DR-2080C. Updated - some links. - * backend/mustek_pp_ccd.conf doc/sane-mustek_pp_ccd.man: Explained - that libieee1284 device names like "parport0" can also be used. - -2003-10-10 Gerhard Jaeger - - * sanei/sanei_thread.c: Fixed some compilation errors on Darwin and OS/2 - Fixed segfault condition in sanei_thread_waitpid - -2003-10-09 Peter Kirchgessner - - * backend/hp.c backend/hp-option.c backend/hp-scl.c: - Bug #300241: fix invers image on 3c/4c/6100C at 10 bit depth - Redo when TEST UNIT READY failed - Redo when read returns with 0 bytes (non-SCSI only) - * doc/sane-hp.man: Add environment SANE_HP_RDREDO, SANE_HOME_HP - -2003-10-09 Stphane Voltz - - * backend/umax_pp.c backend/umax_pp_low.h backend/umax_pp.h - backend/umax_pp_mid.c backend/umax_pp_low.c backend/umax_pp_mid.h - backend/umax_pp.conf: added automatic parallel port detection, - and special keyword in configuration file to use it. - -2003-10-08 Gerhard Jaeger - - * backend/Makefile.in : linking plustek_pp- and test-backend against - sanei_thread - * backend/test.[ch]: added sanei_thread support - * backend/test-picture.ch: fixed compiler warnings - * backend/plustek.[ch] backend/plustek_pp.c backend/plustek-pp.h: - changes due to the sanei_thread-lib work - * sanei/sanei_thread.c include/sane/sanei_thread.h: improved - support of pthreads, changed behaviour of sanei_thread_kill(), - added functions sanei_thread_sendsig() and sanei_thread_get_status() - changed behaviour of sanei_thread_waitpid(), changed parameters - of sanei_thread_begin() - -2003-10-08 Henning Meier-Geinitz - - * backend/canon630u.c: Workaround for bug in canon630u backend: - The backend assumes that the id it gets back from sanei_usb_open - is a file descriptor. It isn't. So sane_get_select_fd returns - just a random number. That breaks at least saned, other - frontends may not work either. This is a workaround for bug - #300257. - -2003-10-07 m. allan noah - - * backend/fujitsu.c: removed ~25 '_' from option names (#300139) - * backend/fujitsu.conf: added lines for known usb scanners - -2003-10-07 Oliver Schwartz - * backend/snapscan.h backend/snapscan-scsi.c - Updates for Epson Perfection 1670 - -2003-10-07 Oliver Schwartz - * backend/snapscan.h backend/snapscan.c backend/snapscan-option.c - Initial support for Epson Perfection 1670, minor bugfix - (#300247) - -2003-10-07 Henning Meier-Geinitz - - * acinclude.m4 aclocal.m4 configure.in configure - include/sane/config.h.in sanei/sanei_thread.c: More verbose help - messages for --enable-fork-process. Print message about pthread - support after all the tests. If libpthread isn't available, try if - libc supports pthreead_*. Use macro USE_PTHREAD to check if - threads are used in the code. - * backend/Makefile.in: Added sanei_pthread.lo to list of object - files needed for preloading. - -2003-10-07 Gerhard Jaeger - - * aclocal.m4 acinlcude.m4 configure configure.in: modified checks for - pthread support, added switch --enable-fork-process which toggles - between the usage of fork and pthread, set the default behaviour to - pthread usage on Darwin - * include/sane/config.h: added the HAVE_LIBPTHRAD stuff - * sanei/sanei_thread.c include/sane/sanei_thread.h: fixed compilation issue - on OS/2, added support for fork too, so that we can use sanei_thread - functions in any case. - * backend/plustek.[ch]: changes due to the sanei_thread-lib work - -2003-10-06 m. allan noah - - * backend/fujitsu.[ch]: Added support for color modes of fi-4x20C and - fi-4340C, maybe others as well. - -2003-10-06 Peter Kirchgessner - - * backend/hp.c, backend/hp-option.h: Bug #300248 fixed - (correct "Negatives" in option description to "Negative") - -2003-10-06 Henning Meier-Geinitz - - * doc/Makefile.in: Remove doxygen-sanei.conf in clean target. - * sanei/sanei_pa4s2.c: Made some internal functions static. - -2003-10-06 Thomas Soumarmon - - * backend/hp5400_*: fixed bug #300252 : added static to all non - SANE specific functions + changed #include into - #include "../include/sane/..." as mentioned in the - backend-writing.txt file - -2003-10-05 Gerhard Jaeger - - * aclocal.m4 configure configure.in: added checks for pthread.h and - added linker option -lpthread if pthread.h is found - * include/sane/config.in.h: added HAVE_PTHREAD_H - * sanei/sanei_thread.c include/sane/sanei_thread.h: added pthread_ - functions to library, so every backend is able to use either fork or - pthread for its reader-process - see plustek backend for example - * backend/plustek.h backend/plustek.c: added sanei_thread stuff to support - threading on MacOS X - * backend/plustek_pp*: some cleanup - -2003-10-05 Henning Meier-Geinitz - - * backend/microtek2.h backend/test.c include/sane/saneopts.h: - Fixed some missing or duplicated spaces in option descriptions. - * backend/canon630u.c: Option names shouldn't be translated. - * backend/mustek.c: Use the same title for brightness as in other - backends. - * po/sane-backends.de.po: Fixed minor bugs. - * po/sane-backends.sv.po: Updated (from Mattias Ellert - ). - * po/sane-backends.bg.po po/sane-backends.cs.po - po/sane-backends.es.po po/sane-backends.fr.po - po/sane-backends.it.po po/sane-backends.nl.po - po/sane-backends.no.po po/sane-backends.pt.po - po/sane-backends.ru.po: Regenerated. - * doc/descriptions/unsupported.desc: Added Epson Perfection 3170, - Packard Bell Diamond 1200, and Visioneer PaperPort - 3100b. Updated Epson Perfection 1670. - -2003-10-04 Karl Heinz Kremer - - * backend/epson.[ch]: Fixed bug 300246 - Use SANE_TITLE_SCAN_SPEED - (and DESC and NAME) from saneopts.h instead of my own strings. - Fixed typo in gamma correction description. - Start two descriptions with a capital character. - -2003-10-04 Henning Meier-Geinitz - - * AUTHORS configure configure.in backend/Makefile.in backend/dll.conf - backend/mustek_pp_ccd.c backend/mustek_pp_ccd.conf backend/mustek_pp_ccd.h - doc/Makefile.in doc/sane.man doc/sane-mustek_pp_ccd.man - doc/descriptions/mustek_pp_ccd.desc: Added back old mustek_pp - backend. That backend supports Mustek CCD scanners. The backend - was renamed to mustek_pp_ccd to avoid conflicts with the new - mustek_pp backend for CIS scanners. The code was taken from - sane-backends 1.0.9. This is only a temporary solution. The goal - is to incooperate CCD and CIS support into mustek_pp. - * doc/sane-mustek_pp.man doc/descriptions/mustek_pp.desc: Added - links to the mustek_pp_ccd backend. Removed scanners supported by - mustek_pp_ccd. - -2003-10-03 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Microtek ScanMaker - 5900. - * doc/descriptions/umax1220u.desc: Converted to new - format (bug #300155). Commented out unsupported UMAX Astra 2200U - to avoid confusion. - * doc/Makefile.in: Cleanup. Removed install target for - mostang.com. - * doc/descriptions/microtek2.desc: Converted to new - format (bug #300153). Commented out ScanMaker 9600XL (was - mentioned twice?). - * doc/descriptions/hpsj5s.desc: Converted to new format (bug - #300151). Added comment about only gray mode. - * doc/descriptions/fujitsu.desc: Converted to new format (bug - #300150). - * doc/descriptions/canon630u.desc: Converted to new format (bug - #300148). - -2003-10-03 Karl Heinz Kremer - - * doc/descriptions/epson.desc: Changed "status" information - -2003-10-02 Gerhard Jaeger - - * backend/plustek_pp* backend/plustek-usb*: fixed some OS/2 compiling issues - * doc/plustek: fixed module compilation stuff and increase version number - -2003-10-02 Peter Fales - * backend/gphoto2.c backend/gphoto2.h: Try to handle the case where - the camera has a corrupt file that can't be decoded as a JPEG - image. - -2003-10-01 Eddy De Greef - - * doc/sane-mustek_pp.man, doc/descriptions/mustek_pp.desc: - Added Mustek 96 CP to list of supported scanners. - -2003-09-30 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Fixed links to messages in - the mailing list archive. - * configure configure.in doc/Makefile.in doc/doxygen-sanei.conf - doc/doxygen-sanei.conf.in: Automatically update the version - number of SANE in the doxygen documentation. - * doc/backend-writing.txt doc/sane.man: Updated links to sanei - documentation. - * doc/.cvsignore include/sane/sanei.h include/sane/sanei_scsi.h: - Minor fixes for sanei documentation. - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_high.c doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Added detection of Genius Vivid 4x. - It won't work out-of-the-box, however. CCD coarse calib - shouldn't run into an endless loop anymore. Plustek 1248U - is much faster now. - -2003-09-30 Gerhard Jaeger - - * doc/descriptions/unsupported.desc: removed OpticSlim entry - * doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES - doc/sane-gt68xx.man backend/gt68xx.conf: added Plustek OpticSlim entry - * backend/gt68xx_devices.c: added settings for Plustek OpticSlim 1200 - -2003-09-29 Gerhard Jaeger - - * doc/sane-plustek.man: minor update - * backend/plustek.c: changed version number, cleanup - * backend/plustek-usb*.c: cleanup - * backend/plustek-pp.*: cleanup - * backend/plustek-share.h: removed, no longer needed - * backend/Makefile.in: removed reference to plustek-share.h - -2003-09-28 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Enhans, Genius and UMAX - scanners. - * backend/test.c doc/descriptions/test.desc: Some options had - wrong constraints or didn't match their descriptions (bug - #300235). - -2003-09-25 Frank Zago - - * README.windows: updated status of xscanimage and XSane. - -2003-09-25 Henning Meier-Geinitz - - * po/Makefile.in: Added plustek_pp.c. - * po/sane-backends.nl.po: Updated Dutch translation (from Martin - Kho ). - * po/sane-backends.bg.po po/sane-backends.cs.po po/sane-backends.de.po - po/sane-backends.es.po po/sane-backends.fr.po po/sane-backends.it.po - po/sane-backends.no.po po/sane-backends.pt.po po/sane-backends.ru.po - po/sane-backends.sv.po: Regenerated. - * doc/Makefile.in: Fixed link to image in HTML manpages. - -2003-09-24 Oliver Schwartz - - * backends/snapscan.c: check second argument of sanei_config_get_string - (Bug #300198) - -2003-09-24 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Changed links to point to - sane-project.org. - * TODO: Removed. Please use the bug tracking system at - http://www.sane-project.org/bugs.html instead. - * README README:os2 configure configure.in: Updated contact - information (website, mailing lists, bug tracker). Minor fixes. - * backend/mustek.c: Fixed sane-devel address. - * doc/backend-writing.txt doc/releases.txt: Updated contact - information. Spelling fixes. Minor updates. - * doc/sane.man: Updated contact information. Removed contributing - section (now on homepage). Spelling fixes, general updates. - * sane-abaton.man sane-agfafocus.man sane-apple.man sane-bh.man - sane-dc210.man sane-dc240.man sane-dc25.man sane-gphoto2.man - sane-hp.man sane-microtek2.man sane-microtek.man - sane-mustek.man sane-mustek_pp.man sane-pint.man - sane-st400.man sane-usb.man sane-v4l.man: Updated links to - sane-devel and SANE homepage. - * sane.tex: Changed homepage and sane-devel-request address. - * doc/Makefile.in: Added README.windows. - * doc/canon/canon.install2700F.txt: Updated links. - * include/sane/sanei.h include/sane/sanei_usb.h: Updated links. - * tools/sane-desc.c: Changed links to sane-project.org. Mentioned bug - tracker. Added contact link. Removed link to special USB and - Parport lists (now on static web pages). - * tools/sane-config.in: Updated links. - -2003-09-24 Gerhard Jaeger - - * doc/sane.man, AUTHORS: added plustek_pp information - * doc/backend-writing.txt: Updated CHECKLIST information - * doc/sane-plustek.man: removed parport sections - * doc/sane-plustek_pp.man: removed usb sections - * backend/plustek.c: changed version number - * backend/plustek-usb*.c: minor fixes, esp. CanoScan LiDE30 gray/color bug - * backend/plustek-pp.*: changed file headers and copyright info - applied some minor fixes - * doc/unsupported.desc: Added Plustek OpticPro S28 and S48 - * Makefile.in doc/Makefile.in: - removed TODO, as this file does no longer exist - * doc/plustek/*: changed links to www.sane-project.org (Bug #300215) - -2003-09-23 Frank Zago - - * Makefile.in NEWS configure configure.in backend/Makefile.in - backend/dll.c include/sane/config.h.in sanei/sanei_scsi.c - tools/sane-find-scanner.c: cygwin port. - -2003-09-23 Gerhard Jaeger - - * configure.in: added new backend plustek_pp - * doc/descriptions/plustek_pp.desc : added - * doc/plustek/*: added/updated various doc-files - * doc/sane-plustek_pp.man doc/Makefile.in : added new man page - * backend/dll.conf : added plustek_pp - * backend/Makefile.in : added plustek_pp files, updated plustek files - * backend/plustek-devs.c backend/pustek-pp.c : removed - * backend/plustek-usbcalfile.c backend/plustek-usbcal.c - backend/plustek-usbdevs.c: new files for the plustek usb backend - * backend/plustek_pp.c backend/plustek_pp.conf - * backend/plustek-pp.h backend/plustek-pp_dac.c backend/plustek-pp_dbg.h - backend/plustek-pp_detect.c backend/plustek-pp_genericio.c - backend/plustek-pp_hwdefs.h backend/plustek-pp_image.c - backend/plustek-pp_io.c backend/plustek-pp_map.c backend/plustek-pp_misc.c - backend/plustek-pp_models.c backend/plustek-pp_motor.c - backend/plustek-pp_p12.c backend/plustek-pp_p12ccd.c - backend/plustek-pp_p48xx.c backend/plustek-pp_p9636.c - backend/plustek-pp_procfs.c backend/plustek-pp_procs.h - backend/plustek-pp_ptdrv.c backend/plustek-pp_scale.c - backend/plustek-pp_scan.h backend/plustek-pp_scandata.h - backend/plustek-pp_sysdep.h backend/plustek-pp_tpa.c - backend/plustek-pp_types.h backend/plustek-pp_wrapper.c : - new added, contains all the code necessary for controlling various Plustek - ASIC 9600x/9800x based parallelport scanner - -2003-09-21 Henning Meier-Geinitz - - * tools/sane-desc.c: PATH_MAX is too small for long comments on - win32. Actually return 0 if there is no second quotation mark. - Patch from Frank Zago . Check - for !word everywhere to avoid segfaults when a quotation mark is - missing. - * sanei/sanei_config.c: Actually return 0 if there is no second - quotation mark. - * backend/ma1509.c backend/mustek.c backend/mustek_usb.c - backend/test.c doc/descriptions/ma1509.desc - doc/descriptions/mustek.desc doc/descriptions/mustek_usb.desc - doc/descriptions/test.desc doc/mustek/mustek.CHANGES - doc/mustek_usb/mustek_usb.CHANGES: Check if - sanei_config_get_string fails because of a single quotation mark - in the configuration file. Update version numbers. - -2003-09-19 Henning Meier-Geinitz - - * doc/descriptions/microtek.desc: Used new :status scheme. Added - Vobis Highscreen Realscan and Genius Colorpage-SP2. - * doc/descriptions/unsupported.desc: Added HP, Microtek and UMAX - scanners. - -2003-09-18 Stphane Voltz - - * backend/sane-umax_pp.c: fix default port address handling - (patch from Malcolm Parsons ) - * configure.in configure include/sane/config.h.in: added detection of - machine/cpufunc.h and i386_set_ioperm() for FreeBSD support. - - -2003-09-16 Stphane Voltz - - * doc/sane-umax_pp_low.man: updated man page - -2003-09-15 Simon Munton - - * doc/sane-pie.man doc/descriptions/pie.desc: Updated status of ScanAce - III to 'good' based on feedback from Brian Wood. - -2003-09-14 Karl Heinz Kremer - - * backend/epson.c: put Henning's #include change back in. - -2003-09-14 Stphane Voltz - - * backend/umax_pp_low.c: reworked inb/out functions. The backend now - works on FreeBSD. - -2003-09-12 Karl Heinz Kremer - - * backend/epson.c: Increment only once in loop to find USB scanners, - fix rounding error when calculating number of lines to scan. - -2003-09-12 Eddy De Greef - - * AUTHORS, backend/mustek_pp_cis.c, backend/mustek_pp_cis.h, - doc/sane-mustek_pp.man: Updated e-mail address. - -2003-09-12 Henning Meier-Geinitz - - * doc/.cvsignore sanei/.cvsignore: Added .libs. Sorted. - * doc/descriptions/unsupported.desc: Updated HP ScanJet 2300c - and 2400c. - * backend/abaton.c backend/abaton.h backend/agfafocus.c - backend/agfafocus.h backend/apple.c backend/apple.h - backend/artec.h backend/artec_eplus48u.h backend/as6e.c - backend/as6e.h backend/avision.h backend/bh.c backend/bh.h - backend/canon.c backend/canon.h backend/coolscan.h backend/dmc.c - backend/dmc.h backend/epson.c backend/epson.h backend/fujitsu.h - backend/gt68xx.c backend/gt68xx_high.h backend/ibm.c backend/ibm.h - backend/leo.h backend/ma1509.c backend/ma1509.h - backend/matsushita.h backend/microtek.c backend/microtek.h - backend/microtek2.c backend/microtek2.h backend/mustek.c - backend/mustek.h backend/mustek_pp.c backend/mustek_pp.h - backend/mustek_usb.c backend/mustek_usb_high.h backend/nec.c - backend/nec.h backend/pie.c backend/pint.c backend/pint.h - backend/plustek.h backend/qcam.c backend/qcam.h backend/ricoh.c - backend/ricoh.h backend/sceptre.h backend/sharp.c backend/sharp.h - backend/sm3600.c backend/sm3600.h backend/snapscan.c - backend/snapscan.h backend/tamarack.c backend/tamarack.h - backend/teco1.h backend/teco2.h backend/teco3.h backend/test.h - backend/umax.c backend/umax.h backend/umax_pp.c backend/umax_pp.h - backend/v4l.c backend/v4l.h include/sane/sanei_backend.h: - Moved union Option_Value from backend header files to - sanei_backend.h. No need to copy it over and over again. - Changed header inclusion order in backend files to include - backend.h after sanei_backend.h. Based on a patch from stef - . - -2003-09-09 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Canon Lide 80, updated - Canon and HP information. - -2003-08-27 Henning Meier-Geinitz - - * backend/gt68xx.c doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: - Added Mustek ScanMagic 1200 UB Plus. Minor bugfix. - * doc/descriptions/unsupported.desc: Added UMAX Astra 4450 and - Mustek BearPaw 2448 TA Pro. Updated Canon CanoScan 5000F. - -2003-08-22 Henning Meier-Geinitz - - * po/Makefile.in po/sane-backends.it.po: Added Italien translation - (from Luca Clemente ). - -2003-08-22 Karl Heinz Kremer - - * backend/epson*.[ch]: Fixed compile problem on Linux - Code cleanup to get rid of compiler warnings - -2003-08-21 Karl Heinz Kremer - - * backend/epson.c: Removed '//' comments - again ... - Added EPSON KOWA copyright - -2003-08-21 Henning Meier-Geinitz - - * README.darwin sanei/sanei_scsi.c: Added support for the - MacOS X IOKit SCSI Architecture Model API. Added support for - Firewire scanners. Patch from Guy Brooker . - * TODO: Added entries for mustek patch, sanei_usb devfs trouble, - and moving of Option_Value. Updated .desc file section. - * doc/descriptions/unsupported.desc: Updated sections about - Canon, Epson, HP, Medion, Microtek, Mustek, and Xerox scanners. - -2003-07-22 Oliver Schwartz - - * backend/snapscan.c backend/snapscan.h backend/snapscan-scsi.c - backend/snapscan-options.c backend/snapscan.conf: Backend version - 1.4.27 (ID cleanup, fix for firmware download of Acer 310/320, - new USB ID for Acer 310) - -2003-08-17 Stphane Voltz - - * backend/umax_pp.c backend/umax_pp.h: revert change for UTA - -2003-08-15 Karl Heinz Kremer - - * backend/epson.[ch]: Added support for GT-30000, with support for the - ADF in simplex mode (used some code from the EPSON Kowa IScan version - of the backend) - * backend/epson_scsi.c: Use sanei_scsi_cmd2() to send commands to fix a problem - with SBP-2 under FreeBSD - -2003-08-15 Stphane Voltz - - * backend/umax_pp.c backend/umax_pp.h: added a check of values passed - in gamma table. Fixed a bug which prevented custom gamm and UTA to be - active - -2003-08-14 Gerhard Jaeger - - * doc/sane-plustek.man: Added debug description - * backend/plustek.c backend/plustek-usbhw.c backend/plustek-usbshading.c - backend/plustek-usbscan.c backend/plustek-devs.c - Fixed warmup bug - Fixed EPSON12x0 and CanoScan hangs during init step - Some fine-tuning for the CanoScan devices - -2003-08-10 Gerhard Jaeger - - * doc/descriptions/plustek.desc: Update to new keywords, - added Genius Colorpage HR6X EPP - * TODO: moved Plustek topics to done section - -2003-08-07 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Plustek OpticSlim 1200. - Updated Mustek Paragon 600 II ED/EP information. - -2003-07-31 Peter Kirchgessner - - * doc/descriptions/hp.desc: Add status by model - -2003-07-31 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: All the unsupported entries - that pointed to .txt files have links to HTML pages now. - -2003-07-29 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Minolta and Visioneer - scanners. Updated Avision, Medion, and UMAX scanners. - * tools/check-usb-chip.c: Added test for Genesys Logig GL660 + - GL646 combination. Added some more messages about what's going - on. - * TODO: Added frontend linking issue and color management - discussion. Removed sanei_jpeg move and avision patch entries. - Updated global init issue and desc file entry. - * po/sane-backends.bg.po: Updated Bulgarian translation (from - Pavel Constantinov ). - -2003-07-29 Matthew Duggan - - * backend/canon_pp.c: Reset globals in sane_exit. - -2003-07-28 Andras Major - - * doc/descriptions/coolscan2.desc: changed IEEE1394 - to IEEE-1394 and changed to new status keyword scheme. - -2003-07-28 Henning Meier-Geinitz - - * po/Makefile.in po/sane-backends.bg.po: Added Bulgarian - translation (from Pavel Constantinov - ). - -2003-07-28 Thomas Soumarmon - * doc/descriptions/hp5400.desc : changed status to basic - -2003-07-28 Thomas Soumarmon - * backend/hp5400_* : moved constant initialization to sane_init - and sane_exit + removed some compilation warnings. - -2003-07-27 Henning Meier-Geinitz - - * Makefile.in backend/Makefile.in doc/Makefile.in - frontend/Makefile.in include/Makefile.in sanei/Makefile.in: Minor - cleanup from the jpeg move. Reverted frontend link order. - -2003-07-26 Oliver Schwartz - - * backend/snapscan-usb.c backend/snapscan-usb.h: - Changed license to GPL + SANE exception. - -2003-07-26 Peter Fales - * sanei/Makefile.in, backend/cderror.h, backend/jinclude.h, - backend/dc210.c, backend/dc240.c, backend/ gphoto2.c, - backend/djpeg.c, backend/cdjpeg.h, backend/Makefile.in, configure - configure.in, frontend/Makefile.in: Move jpeg support file - to sanei directofiles to include/sane, and associated - configure changes - -2003-07-26 Henning Meier-Geinitz - - * include/sane/sanei.h include/sane/sanei_codec_ascii.h - include/sane/sanei_codec_bin.h include/sane/saneopts.h: Changed - license to GPL + SANE exception. - * AUTHORS frontend/scanimage.c: Updated email address of Andreas - Beck. - * include/lalloca.h include/lassert.h: Changed - license to GPL + SANE exception. - * LICENSE: Clarify that not all backends us GPL + SANE exception. - Fixed pointer to README.djpeg. - * sanei/linux_sg3_err.h: Added GPL + SANE exception license. - -2003-07-25 Peter Fales - * include/sane/sanei_cderror.h, include/sane/sanei_jinclude.h - include/sane/sanei_jpeg.h sanei/sanei_jpeg.c: Install these - files as copies of the ones currently in backend. (The old - files will be deleted later) - * Moved backend/djpeg.README to README.djpeg and added usage info - -2003-07-25 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx.conf doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Added - Fujitsu 1200CUS to man page, .conf and .desc. Changed .conf file - to be more readable. Added RevScan 19200i to .conf file. Added - Plustek U16B to .desc and .conf, updated UT16B. - * po/sane-backends.de.po: Added some translations for the HP - backend. Minor header updates. - * po/sane-backends.cs.po po/sane-backends.es.po po/sane-backends.fr.po - po/sane-backends.nl.po po/sane-backends.no.po po/sane-backends.pt.po - po/sane-backends.ru.po po/sane-backends.sv.po: Regenerated to include - recent changes in the backends. - * include/sane/sanei_scsi.h include/sane/sanei_wire.h: Changed - license to GPL + SANE exception. - * TODO: Added canon630u SANE_I18N and include file license - problem. Updated .desc file section. - -2003-07-24 Peter Kirchgessner - - * backend/hp.c, backend/hp-option.h, backend/hp-option.c - po/Makefile.in: Add support for Internationalization for hp-backend. - -2003-07-24 Henning Meier-Geinitz - - * tools/check-usb-chip.c: Added support for detecting Genesys - Logic GL646. Fixed indentation. - -2003-07-23 Henning Meier-Geinitz - - * include/sane/sanei_thread.h include/sane/sanei_usb.h: Changed - license to GPL + SANE exception. - -2003-07-22 Henning Meier-Geinitz - - * doc/descriptions/mustek_pp.desc: Tag CCD scanners as unsupported - and mention that they work in 1.0.9 or earlier. - -2003-07-22 Oliver Schwartz - - * doc/descriptions/snapscan.desc: Updated to use new status values. - -2003-07-22 Matthew Duggan - - * doc/descriptions/canon_pp.desc: Updated to use new status values. - -2003-07-21 Henning Meier-Geinitz - - * TODO: Added mustek_pp CCD support and avision patch - entry. Updated .desc file section. - * doc/descriptions/unsupported.desc: Added more information for - Canon 9900F. - -2003-07-21 Stphane Voltz - - * doc/descriptions/umax_pp.desc: removed unwanted status line for - backend - -2003-07-20 Stphane Voltz - - * doc/descriptions/umax_pp.desc: updated forgotten status to use new - keyword. - -2003-07-20 Oliver Rauch - - * backend/umax.c: changes for Umax UC630 3pass color scan - * doc/descriptopns/umax.desc: changed status - -2003-07-19 Frank Zago - - * backend/teco2.c backend/teco2.h backend/teco2.conf: (from gerard - Klaver and Michael Holler) Better detection of the - scanner. Added white level. More work on some color resolutions. - * updated several backend descriptions file. - -2003-07-19 Peter Fales - - * doc/descriptions/gphoto2.c: Remove "status" (not used for - APIs) and correct typo in comment. - -2003-07-19 Henning Meier-Geinitz - - * doc/descriptions/as6e.desc doc/descriptions/bh.desc - doc/descriptions/coolscan.desc doc/descriptions/nec.desc - doc/descriptions/sm3600.desc doc/descriptions/st400.desc: - Converted to use new :status values. - * doc/descriptions/unsupported.desc: Sorted (more or less) - alphabetically. Added some Canon and Hewlett-Packard scanners. - * frontends/scanimage.c: When parsing string options whose - arguments are too short, don't overwrite the remaining command - line arguments. Print "[inactive]" after every inactive option. - * TODO: Added fujitsu patch, description file updates, - close_on_exec problem. Removed scanimage bugs. - -2003-07-18 Henning Meier-Geinitz - - * doc/sane-find-scanner.man tools/Makefile.in - tools/check-usb-chip.c tools/sane-find-scanner.c: Added support - for detecting USB chipsets to sane-find-scanner. - -2003-07-17 Abel Deuring - - * sanei/sanei_scsi.c: improved SCSI error handling in - sanei_scsi_cmd2 for FREEBSD_CAM_INTERFACE - -2003-07-17 Henning Meier-Geinitz - - * sanei/sanei_usb.c: Enable close_on_exec in sanei_usb_open. - -2003-07-16 Henning Meier-Geinitz - - * TODO: Added fujitsu option and libtool problem. Updated desc - file entries. - -2003-07-15 Stphane Voltz - - * doc/descriptions/umax_pp.desc: updated to use new :status - keyword. - -2003-07-10 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Corex and Relisys - scanners. Updated Canon and HP scanners. - * doc/descriptions-external/primax.desc: Fixed typo. - -2003-07-02 Thomas Soumarmon - - * backend/hp5400_internal.c: Added version string for v0.87 - which has been reported to work ok. Use of a list of versions - instead of several constants. - -2003-07-02 Peter Fales - - * backend/gphoto2.c: Suppress the "bad parameter" message printed - when a camera is not connected, by using Debug level 1 - -2003-07-01 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Memorex, Visioneer and - Xerox scanners. Updated information for Visioneer scanners. - -2003-06-28 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Visioneer OneTouch 5800 - USB. - * doc/doxygen-sanei.conf: Update version. - -2003-06-25 Henning Meier-Geinitz - - * README.darwin: Mention some more working scanners. - * doc/descriptions/unsupported.desc: Added Brother and Microtek - scanners. - -2003-06-20 Henning Meier-Geinitz - - * tools/sane-desc.c: Mention backend name in warnings and errors. - -2003-06-20 Michael Herder - - * doc/descriptions/artec_eplus48u.desc: Updated status fields - -2003-06-19 Peter Fales - - * doc/descriptions/dc25.desc, dc240.desc: Updated status fields - -2003-06-19 Simon Munton - - * doc/descriptions/pie.desc: Updated status fields - -2003-06-19 Eddy De Greef - - * doc/descriptions/mustek_pp.desc: Updated status fields of CIS type - scanners. - -2003-06-19 Henning Meier-Geinitz - - * doc/descriptions.txt: Changed unmaintained tag to lowercase. - * doc/descriptions/template.desc. - doc/descriptions-external/template.desc.: Updated according to - descriptions.txt. - * doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Added RevScan 19200i. Updated - device status entries. - * doc/descriptions/abaton.desc doc/descriptions/agfafocus.desc - doc/descriptions/apple.desc doc/descriptions/artec.desc - doc/descriptions/dc210.desc doc/descriptions/dll.desc - doc/descriptions/dmc.desc doc/descriptions/ibm.desc - doc/descriptions/ma1509.desc doc/descriptions/mustek.desc - doc/descriptions/mustek_usb.desc doc/descriptions/net.desc - doc/descriptions/pint.desc doc/descriptions/pnm.desc - doc/descriptions/qcam.desc doc/descriptions/ricoh.desc - doc/descriptions/s9036.desc doc/descriptions/sp15c.desc - doc/descriptions/tamarack.desc doc/descriptions/test.desc - doc/descriptions/v4l.desc: Updated to new status system. - Added "unmaintained" where appropriate. The status values are - sometimes guessed from the documentation. - * doc/descriptions/unsupported.desc: Added Benq parport scanners. - * doc/descriptions-external/hp4200.desc - doc/descriptions-external/hpoj.desc - doc/descriptions-external/niash.desc - doc/descriptions-external/primax.desc - doc/descriptions-external/scanwit.desc - doc/descriptions-external/v4l2.desc - doc/descriptions-external/viceo.desc: Updated to new status - system. The status values are sometimes guessed from the - documentation. - -2003-06-18 Henning Meier-Geinitz - - * tools/sane-desc.c: Changed to use the new status system for - devices: unsupported, untested, minimal, basic, good, complete. - The old backend and device statuses are translated. Removed - the option to generate one big table of backends (wasn't used - anyway). - * doc/descriptions.txt: Explained the new status values. Removed - reference to emacs-lisp code for generation of HTML - files. Explained unsupported.desc. - * tools/sane-desc.el.in tools/sane-desc-ext.el: Removed because - these emacs-lisp scripts haven't been used for some time now. - Use sane-desc.c instead. - * configure configure.in tools/.cvsignore tools/Makefile.in - tools/README: Removed references to sane-desc.el. - * Makefile.in: Added ChangeLog-1.0.12 to DISTFILES. - -2003-06-15 Henning Meier-Geinitz - - * README.darwin: Minor updates. - * TODO: Added v4l2 problem, desc file issues. Removed sm3600 - MacOS X problem + printing backends in configure. - * doc/descriptions/unsupported.desc: Added Canon D2400UF - and IS 12. - -2003-06-13 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added link for HP 5550c. - * doc/descriptions/hp5400.desc doc/descriptions/ma1509.desc: - Removed :new marker. - * doc/descriptions/tamarack.desc: Removed link to - www.tamarack.net. Hostname is no longer in DNS. - -2003-06-11 Oliver Schirrmeister - - * backend/fujitsu.c: fixed bug in that code when a scanner is - disconnected (anoah at pfeiffer dot edu) - -2003-06-10 Michael Herder - - * po/Makefile.in: Added Czech translation - * po/sane-backends.cs.po: Added Czech translation provided - by Josef - -2003-06-09 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Canon 8000F. More info - for Avision/Umax scanners. - -2003-05-27 Frank Zago - - * backend/teco2.c: fixed a bug regarding color shifting above X - max resolution. Added more working resolutions for the VM3575. - -2003-06-05 Thomas Soumarmon - * hp5400 backend : synchronized sourceforge CVS with SANE CVS, - details below - added : - backend/hp5400_debug.c - backend/hp5400_debug.h - backend/hp5400_sane.c - backend/hp5400_sanei.h - backend/hp5400_internal.h - modified : - backend/hp5400.c - backend/hp5400.h - backend/hp5400_internal.c - backend/hp5400_sanei.c - backend/hp5400_xfer.h - to compile and run (on linux 2.4.21) as SANE backend and - in the corresponding hp5400backend sourceforge project - -2003-06-06 Henning Meier-Geinitz - - * TODO: Removed saned issues. - * doc/descriptions/unsupported.desc: Added Microtek 336 CX. - * configure configure.in backend/Makefile.in: The list of backends - that are built is now in configure.in. Print backends that are - built. Allow manually setting the backends. - -2003-06-05 Jochen Eisinger - - * include/sane/sanei_pa4s2.h, sanei/sanei_pa4s2.c: New sanei_pa4s2 - version supporting both raw IO and libieee1284. If you don't - have libieee1284 installed, you need to enable raw IO when - running configure - -2003-06-06 Oliver Schirrmeister - - * backend/fujitsu.h backend/fujitsu.c doc/descriptions/fujitsu.desc: - remove SP15 code - sane_open actually opens the device you request - from (anoah at pfeiffer dot edu) - -2003-06-05 Henning Meier-Geinitz - - * backend/gt68xx.c doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Don't check if the firmware is - loaded. The check seems to confuse the USB system on some UHCI - chips. - -2003-06-04 Henning Meier-Geinitz - - * sanei/sanei_scsi.c: Fixed C++-like code for MacOS X (patch from - Mattias Ellert ). - * acinclude.m4 aclocal.m4 configure frontend/saned.c - include/sane/config.h.in: Check if ss_family or __ss_family is - in struct sockaddr_storage. Otherwise diasbale ipv6. Patch from - Julien BLACHE . - -2003-06-03 Oliver Schirrmeister - - * backend/fujitsu.c, backend/fujitsu.h: separated the 4x20 - into another model and color support for the 4x20 - -2003-06-03 Henning Meier-Geinitz - - * backend/Makefile.in: hp5400 doesn't need sanei_config2. - -2003-05-30 Henning Meier-Geinitz - - * po/sane-backends.fr.po: Fixed two wrong codings of accented - characters. - * backend/net.c: Fixed bug concerning hosts that have both IPv6 - and IPv4 addresses but only accept connections on IPv4. Patch - from Julien BLACHE . - * doc/descriptions/net.desc: Mention IPv6. Bump version number. - -2003-05-27 Frank Zago - - * PROJECTS: Changed entry for win32 SANE project. - -2003-05-28 Henning Meier-Geinitz - - * doc/descriptions/unsupported.html: Added link for Umax astra 4700. - -2003-05-27 Henning Meier-Geinitz - - * configure configure.in: Don't disable IPv6 if poll is not - found. - * frontend/saned.c: Use u_int_* instead of uint_*. That fixes - compilation for MacOS X (hopefully). - * doc/Makefile.in: Add option -nodepage to man2html to avoid - missing lines in the html output. - * doc/descriptions/unsupported.html: Added link for Spot scanners. - -2003-05-25 Henning Meier-Geinitz - - * configure configure.in: Warnings enabled again. Added -cvs to - version. - -Older entries can be found in ChangeLog-1.0.12. diff --git a/ChangeLog-1.0.14 b/ChangeLog-1.0.14 deleted file mode 100644 index d8150a9..0000000 --- a/ChangeLog-1.0.14 +++ /dev/null @@ -1,899 +0,0 @@ -****** Release of sane-backends 1.0.14. End of code freeze ****** - -2004-04-30 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added link to more info about - Microtek ScanMaker 3630. - * NEWS: Updated for release. - * backend/sm3600.h: Added last minute fix to avoid compilation - trouble with gcc 3.4. - * configure configure.in: New version: 1.0.14. - -2004-04-29 Oliver Schwartz - - * backend/snapscan.conf doc/descriptions/snapscan.desc - Added Benq 640BT, changed status of Epson 1670 to "good" - -2004-04-24 Henning Meier-Geinitz - - * po/sane-backends.sv.po: Updated Swedish translation (from - Mattias Ellert ). - ----- CODE FREEZE FOR SANE 1.0.14 --- --- snapshot 1.0.14-pre3 - -2004-04-24 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Lexmark X5130, UMAX - Astra 4000 and 4600. - * doc/descriptions-external/genesys.desc: Removed comments from - some scanners as the chipset is known now. - * configure configure.in: Disabled compilation warnings. - -2004-04-24 Jochen Eisinger - - * doc/sane-usb.man: added comment about devmode not working - with current (2.6.3-2.6.5) 2.6 kernels - -2004-04-23 Henning Meier-Geinitz - - * backend/dll.c: Fixed dynamic loading of backend libraries - on OS/2. Patch from Franz Bakan . - -2004-04-23 Gerhard Jaeger - - * doc/sane-u12.man doc/plustek/Plustek-USB.changes: updates. - -2004-04-19 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: - Minor fixes for Mustek BearPaw 2448 TA Plus. - * doc/descriptions/unsupported.desc: Added Canon IS-32. - -2004-04-17 Henning Meier-Geinitz - - * acinclude.m4 aclocal.m4 configure: Don't use -ansi on MacOS X. - -2004-04-17 Henning Meier-Geinitz - - * acinclude.m4 aclocal.m4 configure: If the test for gphoto2-config - fails, don't call it later. - --- snapshot 1.0.14-pre2 - -2004-04-17 Henning Meier-Geinitz - - * NEWS: Added some more updated backends and danish translation. - * tools/hotplug/libsane.usermap: Added Epson Stylus CX5400 and - Nikon Coolscan 5000 ED. Minor documentation updates. - -2004-04-15 Oliver Schwartz - - * backend/snapscan-mutex.c: Fixed compilation problem on OS/2 - (Thanks to Franz Bakan). - * configure.in configure: SnapScan backend now compiled in by - default on OS/2 - -2004-04-15 Marian Eichholz - - * backend/sm3600.h backend/sm3600-scanmtek.c - backend/sm3600-color.c backend/sm3600-gray.c - backend/sm3600-homerun.c: Many fixes for MacOS-X problems pointed - out by Mattias Ellert, thanks: Waiting longer for DoJog() command - completion, new function for transmitting the line gain correction - data with correct endianess, Chassis-Gray-Level lowered. - * backend/sm3600.c : Fixed off-by-one-error in p->lines - backend/sm3600-scanmtek: Fixed just broken UploadGainCorrection() - -2004-04-14 Karl Heinz Kremer - - * backend/epson.conf: Added "usb" entry for libusb - -2004-04-14 Rene Rebe - - * backend/avision.h, backend/avision.c: the current development state, - including cleanups, code refactoring, dynamic color and scan source - list creation, implemented ADF mirroring needed for some ASICs , - some scan window scaliing fixes for some ASICs, added 16bit gray - and color support, fixed a tiny big-endian issue, fixed command - error reporting for some ASICs, improved inquiry logging and some - tiny fixes for film-scanners. - -2004-04-14 Gerhard Jaeger - - * backend/plustek_pp.c backend/plustek-pp_sysdep.h - backend/plustek-pp_scan.h backend/plustek-pp_ptdrv.c - backend/plustek-pp_misc.c: Fixed Kernel 2.6 compilation problems. - * doc/plustek/Makefile.kernel24 doc/plustek/Makefile.kernel26 - doc/plustek/MakeModule.sh: added to make kernel-module - compilation easier. - * doc/plustek/BUILD doc/plustek/VERSION0 - doc/plustek/Plustek-PARPORT.txt doc/sane-plustek.man: update. - * backend/u12.c backend/u12-hw.c backend/u12-if.c: minor fixes. - * doc/u12/U12.changes doc/u12/U12.todo: update. - * doc/descriptions/u12.desc: added RevScan Orange R48Ti. - * sanei/sanei_thread.c: fixed some warning conditions. - -2004-04-14 Henning Meier-Geinitz - - * po/Makefile.in po/sane-backends.da.po: Added Danish translation - (from Mogens Jaeger ). - -2004-04-12 Henning Meier-Geinitz - - * README.windows: Mentioned C++ misdetection trouble. - * tools/Makefile.in: In make distclean also clean subdirectories. - -2004-04-11 Karl Heinz Kremer - - * backend/epson_usb.c: Added missing device IDs for current MFDs - ----- FEATURE FREEZE FOR SANE 1.0.14 --- --- snapshot 1.0.14-pre1 - -2004-04-10 Henning Meier-Geinitz - - * japi/.cvsignore: Updated. - * japi/Jscanimage.java japi/Sane.c: Fixes from David Neary - to make japi work with current jdks. More - work and documentation is still needed. - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Minor fixes for Mustek A3 USB, - Genius ColorPage Vivid4 and Mustek BearPaw 2448 CS/TA Plus. - * Makefile.in tools/Makefile.in: Added some missing files to - DISTFILES. - -2004-04-10 Jochen Eisinger - - * tools/sane-find-scanner.c, doc/sane-mustek_pp.man, - doc/sane-find-scanner.man: added support for detecting - mustek parallel port scanners. - -2004-04-09 Gerhard Jaeger - * backend/plustek.c: Fixes bug #300620. - * sanei_thread.c: Fixes bug-reports #300617 & #300618, - all reports and patches or patch-ideas by Mattias Ellert. - -2004-04-09 Oliver Schwartz - - * backend/snapscan-usb.c backend/snapscan-mutex.c - backend/Makefile.in: Use own file for mutex implementation - to allow for easier porting to other platforms - backend/snapscan-sources.c backend/snapscan.c: - Bugfixes for pthread implementation - -2004-04-08 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-sources.c - backend/snapscan.h backend/Makefile.in: - Use sanei_thread functions instead of forking - * backend/snapscan-options.c: Change title and description - for OPT_HIGHQUALITY to use existing i18n translations - * backend/snapscan-usb.c: Use urb counting - (thanks to Jose Alberto Reguero) - -2004-04-06 Gerard Klaver - - * backend/test.c changed some option group headers to advanced option - menu. - -2004-04-06 Jochen Eisinger - - * sanei/sanei_pa4s2.c include/sane/sanei_pa4s2.h, backend/mustek_pp.c: - fixed compiler warnings - -2004-04-04 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_mid.c doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: - Added BGR color order for pixel mode. Plustek OpticPro U16B works - in color mode now. Made 600 dpi mode for Mustek BearPaw 2400 TA - Plus a bit faster. Changed Mustek ScanExpress A3 linedistance - correction. Added detection of Visioneer Onetouch 7300. - * doc/descriptions/unsupported.desc: Removed Canon D660. Now - supported by plustek backend. - -2004-04-04 Gerhard Jaeger - * doc/descriptions/plustek.desc: added Canon D660U. - * doc/plustek/Plustek-USB.changes doc/plustek/Plustek-USB-TODO.txt - doc/plustek/Plustek-USB.txt: update - * po/sane-backends.*.po: new strings, as the plustek backend has changed. - * backend/plustek.[ch], plustek-usb.[ch], plustek-usb.cal.c, - plustek-usbdevs.c, plustek-usbhw.c, plustek-usbimg.c, - plustek-usbshading.c: added Canon D660U support, cleanup, bug-fixing. - * backend/plustek.conf: added red_lampoff, green_lampoff and blue_lampoff - parameters. - -2004-04-02 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-options.c - backend/snapscan-scsi.c: - Various bugfixes for gamma correction (Thanks to Robert Tsien) - * po/sane-backends.de.po: Fix translation for "gamma table" - -2004-04-02 Henning Meier-Geinitz - - * NEWS: Updated for sane-backends 1.0.14. - * README.linux: Added some hints about setting permissions with - libusb on Linux 2.6. Removed some obsolete paragraphs. - * config.guess config.sub: Updated from stable libtool. - * doc/descriptions/unsupported.desc: Added Relisys Episode scanner. - -2004-03-29 Henning Meier-Geinitz - - * sanei/sanei_scsi.c: Increased SCSI buffer size on MacOS X. - Patch from Mattias Ellert, bug #300601. - -2004-03-28 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c - backend/gt68xx_gt6801.c backend/gt68xx_gt6816.c - backend/gt68xx_high.c doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Plustek U16B: Added - GT68XX_FLAG_SE_2400. Fixed color order.Increased debug - level for setup_scan. Fixed CCD ocarse calibration. - * doc/descriptions/microtek.desc: Added Agfa Studiostar. - * doc/descriptions/unsupported.desc: Added Avigramm Minidoc, - Medion MD 41260, and Nikon LS 50 ED. Removed Genius Colorpage - Vivid III as it may work with the u12 backend. - -2004-03-27 Peter Kirchgessner - - * backend/hp.c, hp-scl.c, hp.h, doc/sane-hp.man, - doc-descriptions/hp.desc: Fix problem with USB-connections - on Linux 2.6.x. Add environment SANE_HP_KEPPOPEN... and - don't close connections for USB. - -2004-03-21 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Tevion MD 40420. Moved - Plustek OpticPro S(T)28 to genesys.desc. - * doc/descriptions-external/genesys.desc: Moved Plustek OpticPro - S(T)28 to genesys.desc. - -2004-03-22 Oliver Schwartz - - * backend/snapscan.h Added detection for Epson 660 by USB ID - since new models use new ID strings. - -2004-03-21 Henning Meier-Geinitz - - * backend/mustek.c doc/descriptions/mustek.desc - doc/mustek/mustek.CHANGES: Added detection of Mustek ScanExpress - 1200 FS. - * doc/descriptions/unsupported.desc: Added some Microtek and Agfa - scanners. - -2004-03-19 Karl Heinz Kremer - - * doc/descriptions/epson.desc: Added Perfection 4870 and CX-6400 - * doc/descriptions/unsupported.desc: Removed CX-6400 - -2004-03-19 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_high.c backend/gt68xx_low.h doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Genius - Vivid 4xe now has color order RGB. Removed 50 dpi for Mustek - BearPaw 2448 as that resolution doesn't work. Make sure that the - lamp of the Mustek A3 USB gets warmed up. It's a CIS scanner with - a lamp. That code is untested. Full scan starts scanning from the - start position of the white strip now. Added detection for Genius - Vivid 1200 EX. Fixed product id of Mustek BearPaw 2448 TA - Plus. Other minor updates. - -2004-03-15 Oliver Rauch - * backend/umax: bugfix for sense_handler and do_calibration - -2004-03-15 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.c - backend/umax_pp.c tools/umax_pp.c: Added ppdev support for 610P - detection. Fixed scan area overflow at >= 600 dpi. Fixed ppdev - data direction setting. Fixed direct hardware ECP mode for 1220P. - -2004-03-14 Henning Meier-Geinitz - - * tools/README tools/hotplug/README tools/hotplug/libsane.usermap - tools/hotplug/libusbscanner: Added scanner ids (from Marcel - Pol). Added more documentation. Added "chmod a+rw" alternative. - * doc/descriptions-external/genesys.desc: Added Plustek OpticPro - ST48. - * doc/descriptions/unsupported.desc: Added Mustek A3 EP. Removed - Plustek OpticPro ST48. - -2004-03-13 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Vantas 3000. Added some - links. - -2004-03-09 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.c - doc/sane-umax_pp.man doc/descriptions/umax_pp.desc tools/umax_pp.c: - finished ECP support for 1220P/2000P. Added scanner detection and - low-level communication for 610P. - -2004-03-08 Henning Meier-Geinitz - - * tools/check-usb-scanner.c: GL841 max packet size can be 512 - bytes on USB 2.0. - * doc/sane-usb.man: The Linux scanner module was removed. The - devmode trick in fstab doesn't work anymore. We now have a - hotplug script. - * doc/descriptions/unsupported.desc: Moved all scanners that may - be supported by the genesys backend to genesys.desc. Added Agfa - 1212 P. - * doc/descriptions-external/genesys.desc: Moved all scanners that may - be supported by the genesys backend to genesys.desc. Added links - to scanner pages. - -2004-03-04 Oliver Schirrmeister - * backend/fujitsu.c - enabled dropoutcolor for fi4x20C -2004-03-04 Oliver Schirrmeister - * backend/fujitsu.c - enabled dropoutcolor for fi4530C - -2004-03-03 Gerhard Jaeger - * doc/descriptions/unsupported.desc: Updated Plustek section. - * doc/descriptions-external/genesys.desc: updated list of scanners - that should be supported by the genesys backend. - -2004-03-03 Henning Meier-Geinitz - - * frontend/saned.c: Added checks for bad handles for - SANE_NET_CLOSE and SANE_NET_CANCEL. This is intended to stop - saned from segfaulting when a bad handle is used. - -2004-03-02 Karl Heinz Kremer - - * backend/epson.c: Added D8 function level for RX-500 - -2004-03-02 Henning Meier-Geinitz - - * backend/mustek_usb.c backend/mustek_usb_low.c - backend/mustek_usb_low.h doc/sane-mustek_usb.man - doc/mustek_usb/mustek_usb.CHANGES doc/mustek_usb/mustek_usb.TODO: - Added workaround for toggle = data0 chipset bug. - Fixes bug #300323. - * doc/descriptions/unsupported.desc: Added link for HP ScanJet - 8290. Added Logitec PageScan Color. - -2004-03-01 Frank Zago - - * doc/descriptions-external/genesys.desc: created list of scanners - that should be supported by the genesys backend. - * doc/leo/leo.txt: doc update. - -2004-03-01 Karl Heinz Kremer - - * doc/sane-epson.man: Corrected default function level from B5 to B3 - -2004-02-28 Frank Zago - - * tools/check-usb-chip.c: Added test for GL646 used in HP scanners. - -2004-02-28 Julien Blache - * tools/hotplug: added the hotplug script used by the Debian - package, with a quick README. - * tools/README: updated to mention the hotplug/ directory. - -2004-02-27 Matthew Duggan - - * backend/canon_pp.c: Add more debug output to help resolve bug #300524 - -2004-02-22 Henning Meier-Geinitz - - * doc/scanimage.man frontend/scanimage.c: Added support for asking - for pressing a key before scanning a page in a batch scan. Patch - from Dominik Fischer . - -2004-02-20 Oliver Schirrmeister - - * backend/fujitsu.c backend/fujitsu.h backend/fujitsu-scsi.h: - merged the 3092 and the 3091 functions - inverted the image in mode color and grayscale - jpg hardware compression support (fi-4530C) - - -2004-02-20 Stphane Voltz - - * backend/umax_pp_low.h backend/umax_pp_low.c backend/umax_pp.conf - backend/umax_pp.c tools/umax_pp.c: added initial ECP support for - scanner, laid groundwork for 610P support. - -2004-02-14 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added HP ScanJet 4670 and - Tamarack Artiscan 9600 pro 36. Removed Plustek OpticSlim 2400. - * doc/descriptions/umax1220u.desc: Added UMAX Astra 1600U as this - scanner is reported to work as "well" as the 2000U. - -2004-02-11 Frank Zago - * backend/matsushita.c backend/matsushita.conf - doc/sane-matsushita.man doc/descriptions/matsushita.desc: added - partial support for models KV-SS55EX, KV-S2025C, KV-S2045C and - KV-S2065L. - -2004-02-08 Karl Heinz Kremer - * backend/epson*.[ch]: Reformat source code to get rid of different coding styles - used over the years (and by different authors). - -2004-02-08 Frank Zago - * README.windows: added info about USB scanners. - - * backend/teco1.c backend/teco1.conf backend/teco1.h - doc/sane-teco1.man doc/descriptions/teco1.desc: added new - scanner Relisys RELI 4816, marked Relisys AVEC 2412 as tested. - -2004-02-08 Oliver Rauch - * backend/umax: bugfix for DOR mode, sane-umax-build-43 - * doc/umax/umax.CHANGES updated - -2004-02-07 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_high.c doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc: Added basic support for Plustek - OpticSlim 2400. Fixed calibration debug output. - -2004-02-07 Karl Heinz Kremer - - * backend/epson.h, backend/epson_usb.h: Increase timeout for lamp warmup - from 60 to 120 seconds - -2004-02-07 Eddy De Greef - - * backend/mustek_pp_cis.c: cleaned up debug code - * backend/mustek_pp_decl.h, backend/mustek_pp_drivers.h: bumped - version number. - * backend/mustek_pp.conf: fixed mistakes in examples - -2004-02-07 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Genius Colorpage Vivid - 1200EX and Mustek Paragon 800 II EP. - -2004-02-04 Henning Meier-Geinitz - - * sanei/sanei_usb.c: Fixed inconsistent error message (patch from - Mattias Ellert ). - -2004-02-01 Gerhard Jaeger - * sanei/sanei_thread.c: added Mattias Ellerts' patch to make - sanei_thread_kill work on MacOSX. - -2004-02-01 Karl Heinz Kremer - - * backend/epson.c: Added D7 function level as copy of D1 for CX-6400 - * backend/epson_usb.c: Added IDs for CX-6400 and Perfection 4870 - -2004-02-01 Oliver Schwartz - - * backend/snapscan-options.c: Remove non-working resolutions - for Epson Perfection 1670 - * doc/descriptions/snapscan.desc: Add Guillemot Maxi A4 36 bit - -2004-01-31 Matthew Duggan - - * backend/canon_pp.c: Remove more compile warnings. - -2004-01-30 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Mustek BearPaw 4800TA Pro II. - -2004-01-29 Henning Meier-Geinitz - - * backend/mustek_scsi_pp.c: Use gettimeofday() instead of - ftime(). Bug #300482. - -2004-01-21 Gerhard Jaeger - * backend/test.c: reader_process terminates now, when running as - thread. - * backend/u12.c backend/u12-hw.c backend/u12-if.c backend/u12-io.c - backend/u12-map.c backend/u12-motor.c backend/u12-shading.c - backend/u12-tpa.c backend/u12.h backend/u12.conf: major update, compilation - fixes. - -2004-01-19 Gerhard Jaeger - * doc/u12/U12.changes: update. - * doc/u12/U12.todo: initial checkin. - * backend/plustek-usb.c: cleanup. - * backend/u12.c backend/u12-ccd.c backend/u12-hw.c backend/u12-if.c - backend/u12-image.c backend/u12-io.c: activated cancel function, - added lamp off timer function, cleanup, stability fixes. - -2004-01-19 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Debug options are only enabled if the - debug level is 1 and higher. Added product id 0x0402 for Plustek U16B. - -2004-01-17 Henning Meier-Geinitz - - * doc/gamma4scanimage.man: scanimage is in section 1. - * doc/descriptions/unsupported.desc: Added Lexmark X74. - -2004-01-15 Eddy De Greef - - * backend/mustek_pp.c, backend/mustek_pp_cis.c: Bug fix: make sure - that the child process releases the parallel port under all - circumstances. Otherwise, the parent process may no longer be - able to control the scanner and the lamp stays on and doesn't - return home. - -2004-01-15 Gerard Klaver - - * include/sane/saneopts.h: Added options WHITE_LEVEL_R, WHITE_LEVEL_G, - and WHITE_LEVEL_B. - * doc/sane-teco2.man: changed --white-level to white-level-r, -g, -b - update text - * backend/teco2.c: changed WHITE_LEVEL to WHITE_LEVEL_R, _G and _B, - changed calibration part for the VM3564, VM356A and - VM3575 (subtract highest and lowest value and then - divide). - * backend/teco2.h: changed WHITE_LEVEL to WHITE_LEVEL_R, _G, _B. - -2004-01-14 Gerhard Jaeger - * backend/u12.c: Fixed preview bug. - -2004-01-14 Gerhard Jaeger - * descriptions/u12.desc: fixed wrong man-page reference, status updates. - * backend/u12.c backend/u12.h backend/u12-hwdef.h backend/u12-scanner.h - backend/u12-*.c: bump up version, fixed device autodetection and corrupted - pictures, improved model-detection. - -2004-01-13 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added several Canon, HP, - Plustek, and UMAX scanners. - * doc/descriptions-external/epkowa.desc: Epson 1670 is supported - by SnapScan backend now. - * doc/descriptions/gt68xx.desc doc/sane-gt68xx.man: Added Packard - Bell Diamond 2450. - -2004-01-13 Karl Heinz Kremer - * backend/epson-usb.c: Added product ID for RX-500 - -2004-01-13 Gerhard Jaeger - * doc/sane-plustek_pp.man: added missing explanation. Bug #300441. - * include/sane/sanei_thread.h: updated copyright info. - * sanei/sanei_thread.c: fixed return value handling for sanei_wait_pid(). - -2004-01-12 Karl Heinz Kremer - - * backend/epson.c: Fixed bug # 300444 - Changed OPT_CCT_( desc. string. - -2004-01-12 Oliver Rauch - * backend/umax backend/Makefile.in: repleaced fork routines by sanei_thread - * doc/umax/umax.CHANGES updated - -2004-01-12 Matthew Duggan - - * backend/canon_pp-dev.c backend/canon_pp-io.c backend/canon_pp.c - backend/canon_pp.h: Fix various compile warnings (Bug #300407). - Also fix bug in parsing config file. - * doc/descriptions/canon_pp.desc: Bump version number. - -2004-01-11 Henning Meier-Geinitz - - * tools/sane-desc.c: When generating HTML anchor names, make sure - they are unique. Bug #300439. - * doc/descriptions/qcam.desc doc/descriptions/unsupported.desc: - Fixed some broken links. - -2004-01-10 Julien BLACHE - * sanei/sanei_pa4s2.c: libieee1284 support for scsi_pp functions. - This is untested but should work. - -2004-01-10 Oliver Rauch - * doc/umax: corrected links in umax documentations - -2004-01-09 Henning Meier-Geinitz - - * doc/sane-config.man: Only one option can be used at the same - time. - * doc/descriptions/unsupported.desc: Added HP Scanjet 4600 and - Quato scanners. Updated Epson 1270. - -2004-01-09 Gerhard Jaeger - * doc/u12/U12.changes: initial checkin. - * doc/sane-u12.man doc/sane-plustek.man doc/sane-plustek_pp: added - ENVIRONMENT information and did some minor updates. - * descriptions/plustek_pp.desc descriptions/u12.desc: status updates. - * po/sane-backends.de.po: fixed wrong translation. - * doc/plustek/Plustek-USB.changes: update. - * doc/plustek/Plustek-PARPORT-TODO.txt: update. - * doc/Makefile.in: added u12 subdirectory. - * backend/plustek.[ch] backend/plustek-usb*.[ch]: copyright updates - and some changes concerning the CanoScan lamp calibration. - * backend/u12.[ch] backend/u12-*.[ch]: copyright updates. - * backend/plustek_pp.[ch] backend/plustek-pp*.[ch]: copyright updates - and minor fixes. - -2004-01-08 Oliver Rauch - * backend/umax.c: changed order of includes because of compilation error - -2004-01-07 Oliver Rauch - * backend/umax.c: disabled quality calibration for Astra 2200 SU via USB - -2004-01-05 Gerhard Jaeger - * configure configure.in: added new u12 backend. - * AUTHORS: added myself as u12 backend author. - * backend/Makefile.in: added new backend u12. - * backend/u12.c backend/u12.h backend/u12-scanner.h backend/u12-hwdef.h - backend/u12.conf backend/u12-shading.c backend/u12-tpa.c - backend/u12-ccd.c backend/u12-hw.c backend/u12-if.c backend/u12-image.c - backend/u12-io.c backend/u12-map.c backend/u12-motor.c: - initial checkin. - * backend/dll.conf: added u12 backend. - * doc/sane-u12.man: initial checkin. - * doc/sane.man doc/Makefile.in: added man-page for u12 backend. - * doc/descriptions/u12.desc: added descitpion for u12 backend. - * doc/descriptions/unsupported.desc: removed Plustek OpticPro U12, UT12, - 1212U, Genius Colorpage Vivid III, as they should be supported now. - -2004-01-05 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_gt6801.c doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Fixed a - bug in the stop scan function for Plustek U16b. Added support - for Genius Vivid4xe. - * doc/descriptions/unsupported.desc: Added Visioneer 8820 and TCE S450. - -2003-12-31 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added HP and Epson scanners. - -2003-12-29 Henning Meier-Geinitz - - * tools/check-usb-chip.c: Added test for Genesys Logic GL841. - -2003-12-27 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Updated/added several Medion - scanners. - * backend/as6e.c backend/coolscan.c backend/dll.c backend/ibm.c - backend/microtek2.c backend/mustek_scsi_pp.c - backend/mustek_usb_high.c backend/mustek_usb_low.c - backend/mustek_usb_mid.c backend/nec.c backend/net.c - backend/qcam.c backend/ricoh-scsi.c backend/s9036.c - backend/sp15c-scsi.h backend/sp15c.c backend/sp15c.h - backend/st400.c backend/tamarack.c backend/tamarack.h - sanei/sanei_scsi.c tools/check-usb-chip.c: Silenced some - compilation warnings. - -2003-12-26 Henning Meier-Geinitz - - * README.darwin: Mentioned libusb problems. Updated fork section. - -2003-12-25 Henning Meier-Geinitz - - * doc/descriptions-external/niash.desc: Added information that - this backend will be included soon. Fixed "Snapscan" to - "SnapScan" (bug #300394). - * backend/mustek_scsi_pp.c backend/mustek_scsi_pp.h - backend/Makefile.in backend/mustek.c - backend/mustek.conf backend/mustek.h doc/sane-mustek.man - doc/sane.man doc/descriptions/mustek.desc - include/sane/sanei_pa4s2.h sanei/sanei_pa4s2.c: Added support - for Mustek Paragon 600 II EP (SCSI-over-parallel port). This is - based on a patch from James Perry. Support for libiee1284 is - missing until now. Closes bug #300143. - * AUTHORS: Added James Perry. - * doc/descriptions/unsupported.desc: Removed Mustek Paragon 600 II - EP/ED. Added Genius Colorpage-EP. - * README: Updated concerning libieee1284. - -2003-12-23 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added more information about - the Benq Scanprisa 640P, Boder SmartSCan Office, and Trust - CombiScan 19200. - -2003-12-22 Gerard Klaver - - * tools/check-usb-chip.c: Added patch for test ICM532B. - -2003-12-20 Henning Meier-Geinitz - - * backend/test.c doc/descriptions/test.desc: Fixed initial value - for --fixed-constraint-range (bug #300388). - * include/sane/sanei_usb.h: Include stdlib.h for size_t. - * sanei/sanei_constrain_value.c: Fixed overflow (bug #300389). - * acinclude.m4 aclocal.m4 configure configure.in backend/v4l.c - backend/v4l.h doc/descriptions/v4l.desc: Don't include - linux/videodev.h kernel header anymore. Use own defines - instead. Fixes bug #300324. - -2003-12-18 Gerhard Jaeger - * doc/sane-plustek.man: new version, minor fixes - * doc/descriptions/plustek.desc: new backend version - * backend/plustek-pp*: cleanup work - * backend/plustek-usb*: new version 0.47, added support for model overide - when one manufacturer uses the same model-id for various devices. - -2003-12-16 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Canon 3200F. - * backend/gt68xx_gt6801.h: Made internal function static. - -2003-12-15 Oliver Schirrmeister - * backends/fujitsu.[hc]: Bugfix: The options pagewidth and - pageheight were disabled for the fi4530 - -2003-12-15 Eugene Weiss - * backend/as6e.c: fixed bugs 300123 and 300133. - -2003-12-15 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added some scanners. - * doc/sane-mustek_pp_ccd.man: Removed (now again in mustek_pp backend). - -2003-12-15 Oliver Schirrmeister - * backends/fujitsu.[hc]: - - Bugfix: set default threshold range to 0..255 There is a problem - with the M3093 when you are not allows to set the threshold to 0. - - Bugfix: set the allowable x- and y-DPI values from VPD. Scanning - with x=100 and y=100 dpi with an fi4120 resulted in an image - with 100,75 dpi. - - Bugfix: Set the default value of gamma to 0x80 for all scanners - that don't have build in gamma patterns. - - Bugfix: fi-4530 and fi-4210 don't support standard paper size - spezification. Disabled this option for these scanners. - -2003-12-14 Henning Meier-Geinitz - - * AUTHORS: Eugene S. Weiss has CVS write access now. - * doc/descriptions/unsupported.desc: Added and updated some - scanners. - * tools/sane-find-scanner.c: Actually use the number of the alt - setting when printing descriptors. Fixes bug #300383 found by - Gerard Klaver. - * backend/gt68xx.c backend/gt68xx_devices.c doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: - Updated code for Genius Vivid 4x and Mustek ScanExpress A3 USB. - Added Genius Colorpage Vivid3 V2 and Googlegear 2000 as - supported devices. - * backend/artec.c: Check for NULL before accessing a pointer. This - may fix a segmentation fault mentioned in bug #300339. Also a - compilation warning was fixed. - -2003-12-13 Julien BLACHE - * fronted/saned.c: use strcasecmp() instead of strcmp() when - matching IPv6 addresses. - -2003-12-12 Michael Herder - * backend/artec_eplus48u.c backend/artec_eplus48u.h - backend/artec_eplus48u.conf: added experimental - support for the Artec E+ Pro - fixed sane-Bugs-300261 (doesn't compile when - NDEBUG is defined) - -2003-12-09 Allan Noah - * doc/desc/{fujitsu|ma1509}.desc: move fujitsu fi-4110eox2 section - -2003-12-09 Allan Noah - * backend/fujitsu.c: count USB packets to prevent timeouts, perhaps - due to DATA0/1 toggle problems in certain scanners - -2003-12-07 Peter Fales - * acinclude.m4, aclocal.m4, configure: remove "enabling GPHOTO2" - messages printed by configure - -2003-12-07 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added some scanners. - -2003-12-06 Peter Fales - * acinclude.m4, aclocal.m4, configure: gphoto2 backend is now - enabled by default if gphoto2-config is found. Use - "--with-gphoto2=no" to disable it. - -2003-12-06 Henning Meier-Geinitz - - * configure configure.in include/sane/config.h.in - sanei/sanei_scsi.c: sanei_scsi.c should now compile with the new - and old SCSI API of MacOS X. Patch from Mattias Ellert - . - * doc/descriptions/unsupported.desc: Added several scanners. - * AUTHORS: Matthew Marjanovic and Marian Eichholz both have CVS - access now. - * sanei/sanei_usb.c: Check for /dev/uscanner* for NetBSD and - OpenBSD. Patch from bug tracker #300373. - -2003-12-01 Nathan Rutman - - * backend/canon630u.c: Change default scan size to full platen, - removed compiler warnings, made HMG's fix for bug #300257 - permament. - * doc/sane-canon630u.man: cleanup - -2003-12-01 Jochen Eisinger - - * backend/mustek_pp_ccd300.c: Fixed horizontal offset of scan area - and scaling for color scans - -2003-11-27 Karl Heinz Kremer - - * doc/descriptions/epson.desc: Changed status for CX3200 and - CX5200 from untested to good - -2003-11-28 Oliver Schwartz - - * backend/snapscan.c: Download gamma table twice for - Epson Perfection 1670 - -2003-11-27 Gerhard Jaeger - - * doc/plustek/Plustek.changes: moved to Plustek-USB.changes - * doc/plustek/Plustek-PARPORT.changes: added - * doc/plustek/Plustek-USB.txt doc/sane-plustek.man - doc/sane-plustek_pp.man: Update - -2003-11-26 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Epson CX6400. Removed - Packard Bell Diamond 1200. Updated HP ScanJet 8200. - * Makefile.in doc/descriptions/releases.txt: Generate md5 hash - when making the a release. - -2003-11-24 Henning Meier-Geinitz - - * AUTHORS: Michael Herder has CVS access now. - * doc/descriptions/unsupported.desc: Added Biolux 654. Updated HP - Photosmart entries. Removed Mustek BearPaw 2448 TA Plus (now - listed by gt68xx.desc). - -2003-11-23 Jochen Eisinger - - * backend/mustek_pp_ccd300.c: forgot parameters to wait_bank_change - * include/sane/sanei_pa4s2.h: fixed function prototype - -2003-11-23 Jochen Eisinger - - * doc/descriptions/mustek_pp.desc: changed :beta to :good - -2003-11-23 Jochen Eisinger - - * backend/mustek_pp.c, sanei/sanei_pa4s2.c: added support for auto - probing of the port - * configure{.in}, backend/mustek_pp_ccd.*, backend/Makefile.in, - backend/dll.conf, doc/sane-mustek_pp_ccd.man, doc/sane.man, - doc/Makefile.in, doc/descriptions/mustek_pp_ccd.desc: mustek_pp_ccd - backend removed - * backend/mustek_pp.conf, mustek_pp_ccd300.[ch], - doc/sane-mustek_pp.man, doc/descriptions/mustek_pp.desc: fixed CCD - support for mustek_pp backend - * backend/mustek_pp_null.c: beautified debug scanner name - -2003-11-23 Ren Rebe - - * backend/avision.c backend/avision.h: the current development state, - including cleanups, code refactoring and nearly complete HP - 53xx/75xx ADF support - -2003-11-23 Henning Meier-Geinitz - - * configure configure.in: Warnings enabled again. Added -cvs to - version. - * doc/releases.txt: Updated information about diffs. - * doc/descriptions/unsupported.desc: Added HP and Mustek scanners. - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_gt6801.c backend/gt68xx_gt6801.h backend/gt68xx_low.c - backend/gt68xx_low.h doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Added Mustek BearPaw 2448 TA - Plus. Added special command set for Plustek U16B. Added - Plug-n-Scan 2400 M(T) to list of devices. No positive report yet. - Used request for memory writes and reads instead of a fixed - value of 0x04. Set Genius Vivid4x to GT6816. Untested. All - changes have not been tested on their respective scanners yet. - New version: 1.0.50. - -Older entries can be found in ChangeLog-1.0.13. diff --git a/ChangeLog-1.0.15 b/ChangeLog-1.0.15 deleted file mode 100644 index 6c2c351..0000000 --- a/ChangeLog-1.0.15 +++ /dev/null @@ -1,1027 +0,0 @@ -****** Release of sane-backends 1.0.15. End of code freeze ****** - -2004-11-07 Henning Meier-Geinitz - - * doc/descriptions-external/brother.desc: One more report about a - working scanner. Added link. - * doc/descriptions/unsupported.desc: Added some scanners. - * configure configure.in: New version: 1.0.15. - -2004-11-07 Giuseppe Sacco - - * New italian translation update - -2004-11-01 Oliver Schwartz - - * doc/descriptions/snapscan.desc: Status update for Epson scanners - ----- CODE FREEZE FOR SANE 1.0.15 --- --- snapshot 1.0.15-pre2 - -2004-10-31 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_high.h doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Removed unused gain and offset - options. - * NEWS: Added (planned) release date. - * configure configure.in: Disabled compilation warnings. - -2004-10-31 Gerhard Jaeger - - * backend/plustek.c: Additional debug output. - * backend/plustek-usbscan.c: Fixed a warning condition. - -2004-10-30 Gerhard Jaeger - - * backend/plustek.c: Bumped release number. - * backend/plustek-usbscan.c: Fixed a bug in buffer calculation - for CIS devices. - * doc/plustek/Plustek-USB.changes: Update. - -2004-10-30 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc - doc/descriptions-external/hp_rts88xx.desc: Moved HP 35xx - scanners to hp_rts88x backend. Updated status settings and URL - (from johanneshub@foni.net). Updated link to Tamarack 9600 project. - * doc/descriptions-external/brother.desc: Seems to work in version - 0.0.12 at least for one scanner. - -2004-10-27 Ullrich Sigwanz - - * backend/niash_core.c backend/niash.c: moving critical timing - for backward movement to niash_core - -2004-10-24 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc - doc/descriptions-external/genesys.desc: Moved Plustek OpticFilm - 7200 to genesys.desc (GL841 chipset). Added UMAX Astra 3400 - (0x50 model). Added Xerox WorkCentre M15i. - -2004-10-23 Giuseppe Sacco - - * Updated italian translation. - -2004-10-21 Mattias Ellert - - * backend/gt68xx.c backend/mustek.c: Remove an extra "in". - * po/*.po: Fixing fuzzy translations (and some others). - -2004-10-21 Rene Rebe - - * backend/avision.h backend/avision.c: update of the scanner ID table, - wait_4_light bugfixes, fixed color packing, fixed 16bit modes - (especially for big-endian systems), avoid 16bit modes for default - modes, fixed gamma-table for some models as well as spelling on the - way - -2004-10-20 Rene Rebe - - * backend/avision.c doc/descriptions/avision.desc doc/sane-avision.man: - substituted my mail address and web-site to a new one - due to - leaving the rocklinux project - -2004-10-19 Gerhard Jaeger - - * backend/plustek.c: Using now the same strings for gain and offset - like the umax_pp backend (bug #300962). - * doc/plustek/Plustek-USB.changes: Update. - * po/*.po: Update due to changes in the Plustek backend. - * po/sane-backends.de.po: Fixed gain translation. - -2004-10-18 Henning Meier-Geinitz - - * tools/sane-find-scanner.c: When getting string descriptors, ask - for the length of the descriptor first (bug #301001). - -2004-10-18 Ullrich Sigwanz - - * backend/niash_core.c: - * backend/niash.c: correcting vertical scanning start - point for changed max. page height - -2004-10-17 Ullrich Sigwanz - - * backend/niash_core.c: using exact number of lines for a scan - ----- FEATURE FREEZE FOR SANE 1.0.15 --- --- snapshot 1.0.15-pre1 - -2004-10-17 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Olivetti Job-Jet M400. - -2004-10-17 Julien Blache - * tools/hotplug/libsane.usermap: Added Epson Perfection 2480. - -2004-10-16 Karl Heinz Kremer - - * backend/epson_usb.c: Added USB ID for Expression 10000XL - -2004-10-16 Mattias Ellert - - * ltmain.sh: backport -framework support from libtool 2.0 - * README.darwin: sane-find-scanner now works for SCSI, so removed - statement that said it didn't. More libusb info, and link to libusb - patch - -2004-10-16 Henning Meier-Geinitz - - * frontend/saned.c: Fixed NULL string crash. - * README.linux: Added some more details about hotplug and Gentoo - problems. - * NEWS: Updated for 1.0.15. - -2004-10-17 Ullrich Sigwanz - - * backend/niash_core.c: rewrote buffer portioning - * backend/niash_core.c (2): updated debug info - * backend/niash.c: Enabling support of full DIN A4 size - -2004-10-16 Oliver Rauch - - * backend/umax.c: added default options for Linotype OPAL2 - -2004-10-15 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added various scanners. - * po/sane-backends.da.po: Updated Danish translation (from Mogens - Jaeger ). - -2004-10-14 Henning Meier-Geinitz - - * include/sane/sanei_wire.h sanei/sanei_wire.c: Limit the total - amount of memory used for arrays and pointers while decoding the - wire to 1 MB (bug #300158). Run "make clean" before "make"! - -2004-10-14 Ullrich Sigwanz - - * backend/niash.c: removing a non-ANSI conform comma. - adapting the gammma conversion. - -2004-10-14 Gerhard Jaeger - - * sanei/sanei_thread.c: Added missing pthread_detach() so the - thread resources could be reused again. - -2004-10-13 Ullrich Sigwanz - - * backend/niash.c: Proper resource handling in sane_cancel. - -2004-10-12 Gerhard Jaeger - - * backend/plustek.c: Fixed warning condition. - * backend/plustek-usbhw.c: Cleanup. - -2004-10-12 Giuseppe Sacco - - * Updated italian translation. - * Added a "translators" section in AUTHORS - -2004-10-11 Henning Meier-Geinitz - - * acinclude.m4 config.guess config.sub configure ltmain.sh: Update - to libtool 1.5.10. - * doc/descriptions/unsupported.desc: Added link to - Microtek Filmscan 35. - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_high.c - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: - Fixed typos. Added Packard Bell Diamond 2450 to .conf and - changed status to "good". Avoid error message when closing - scanner. Don't print max_white warning when debugging is not - enabled. - * po/sane-backends.bg.po po/sane-backends.cs.po po/sane-backends.da.po - po/sane-backends.de.po po/sane-backends.es.po po/sane-backends.fi.po - po/sane-backends.fr.po po/sane-backends.it.po po/sane-backends.nl.po - po/sane-backends.no.po po/sane-backends.pt.po po/sane-backends.ru.po - po/sane-backends.sv.po: Recreated. Fixed - some fuzzy texts and added some translations to .de.po. - * tools/check-usb-chip.c: Workaround for GT6816 detection problem - on BSDs. - -2004-10-11 Oliver Schirrmeister (oschirr@abm.de) - - * backend/fujitsu.c: bugfix: 3091 did not work (15.12.2003) - M4099 supported (bw only) - enables brightness - -2004-10-10 Henning Meier-Geinitz - - * backend/test.c: Fixed typo. - * README.solaris: Added details on building SANE on Solaris/x86 - (from Tomasz Orlinski ). - -2004-10-10 Mattias Ellert - - * backend/Makefile.in: fix niash dependencies - -2004-10-08 Stphane Voltz - - * backend/umax_pp.c backend/umax_pp_low.c: 610P shading - calibration improvements. 1220P offset and gain fixes. - Code cleanups. - -2004-10-08 Ullrich Sigwanz - - * backend/niash.c: Added grayscale and lineart support - * backend/niash_core.c: corrected bug in line-weight in - function _UnScrambleLine - * doc/descriptions/niash.desc: changed status to complete - removed the color only comment - -2004-10-06 Gerhard Jaeger - - * backend/plustek.c backend/u12.c backend/plustek_pp.c: - Using now the well known MODE definitions. - * backend/plustek.h backend/plustek-usb.h: Cleanup. - * doc/plustek/Plustek-USB.changes - doc/plustek/Plustek-Parport.changes doc/u12/U12.changes: - Update. - * po/*.po: Update. - -2004-10-06 Henning Meier-Geinitz - - * backend/microtek2.h doc/descriptions/microtek2.desc: New - version: 0.96. Added Genius ColorPage-EP (from Karsten Festag - ). - * doc/descriptions/unsupported.desc: Added link to artiscan 9600 - project. Removed Genius ColorPage-EP. - * configure.in include/sane/config.h.in: Removed dangling - quotation mark. - * backend/sp15c.c: Don't eject medium twice after each page. - -2004-10-05 Henning Meier-Geinitz - - * tools/sane-find-scanner.c: Fixed compilation problem when - compiled without libusb support. Print sane-backends version - number. Print if built without libusb. - - * backend/microtek2.c backend/microtek2.h: Added backend version - 200410042220 from Karsten Festag . While - attaching devices only read attributes from source 0 (= - MD_SOURCE_FLATBED), others give wrong results. Better handling of - different shading depths. Including model ColorPage-EP. Workaround - for firmware bug for V300 (FW < 2.70). Workaround for firmware bug - with odd pixel numbers. Bugfix for lamp switching when using - LightLid35 Transparency Adaptor. - - * tools/check-usb-chip.c: Added test for interface 1 and - altsetting 2 for GT-8911. Unified ouitput. Formatting updates. - -2004-10-04 Henning Meier-Geinitz - - * doc/sane-find-scanner.man tools/check-usb-chip.c - tools/sane-find-scanner.c: sane-find-scanner can now load USB - descriptors from /proc/bus/usb/devices dumps (e.g. from the - unsupported scanner web pages). Minor modifications to some of - the chipset tests. - -2004-10-04 Peter Kirchgessner - - * backend/hp.h backend/hp.c backend/hp-scl.c: - Fixed bug #300973 (renamed global function hp_init_openfd - to sanei_hp_init_openfd - -2004-10-04 Gerhard Jaeger - - * backend/plustek.c: Fixed bug #300963. - * doc/plustek/Plustek-USB.changes: Update. - * po/*.po: Update. - -2004-10-03 Thomas Soumarmon - - * backend/hp5400_debug.c backend/hp5400_debug.h - backend/hp5400_internal.c backend/hp5400_sane.c: - removing more hp5400 compilation warnings - -2004-10-03 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Nikon LS-5000 ED (bug - #300972). - * include/sane/saneopts.h: Added option for turning off the - scanner's lamp on exit (bug #300963). - * backend/gt68xx.c backend/gt68xx_high.h: Used new lamp option - from saneopts.h (bug #300963). - * backend/net.c doc/descriptions/net.desc: Check for (size_t) -1 - doesn't work on 64 bit platforms as size_t is 64 bits there - while the length of a data block is defined as 32 bits in the - SANE network standard (bug #300837). - * backend/microtek2.c backend/microtek2.h: Fixed some warnings - (bug #300823). Fixed Microtek Phantom C6 scanning on big endian - platforms. Based on patch from Matijs van Zuijlen in Debian bug - tracking system (#274523). - * sanei/sanei_auth.c sanei/sanei_lm983x.c sanei/sanei_wire.c - backend/artec.c backend/artec_eplus48u.c backend/as6e.c - backend/avision.c backend/canon-sane.c backend/canon-scsi.c - backend/canon.c backend/canon630u-common.c backend/dc25.c - backend/epson.c backend/fujitsu.c backend/gt68xx_low.c - backend/hp5400_internal.c backend/hp5400_sanei.c - backend/ma1509.c backend/microtek.c backend/microtek2.c - backend/mustek.c backend/mustek_scsi_pp.c backend/nec.c - backend/net.c backend/pie.c backend/sharp.c - backend/snapscan-scsi.c backend/snapscan-sources.c - backend/snapscan-usb.c backend/snapscan.c backend/teco3.c - backend/test.c backend/umax-usb.c backend/umax1220u-common.c: - 64 bit platform fixes (bug #300799). - * backend/Makefile.in tools/Makefile.in: Fixed DESTFILES. - -2004-10-02 Thomas Soumarmon - - * backend/hp5400_internal.c backend/hp5400_internal.h - backend/hp5400_sanei.c backend/hp5400_sanei.h - backend/hp5400_sane.c: - removing some compilation warnings - -2004-10-02 Thomas Soumarmon - - * backend/hp5400_internal.c: hp5400 version mathing test - has been removed by default. - To enable it : - CFLAGS="-DSTRING_VERSION_MATCH" ./configure - -2004-10-02 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added several - scanners. Removed Genius Vivid 1200 XE (actually supported by - gt68xx backend). - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Updates of supported scanners. - -2004-10-01 Oliver Rauch - - * backend/umax-scanner.c, umax.conf and umax.desc: - added "LinoHell", "OPAL2 " as supported device - -2004-09-28 Mattias Ellert - - * po/sane-backends.sv.po: Updated Swedish translation file - -2004-09-27 Oliver Schwartz - - * doc/descriptions/unsupported.desc doc/descriptions/snapscan.desc: - Changed entry for Epson 2580 (should work with SnapScan backend). - -2004-09-21 Gerhard Jaeger - - * doc/descriptions/unsupported.desc: fixed Plustek entries. - -2004-09-19 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Compeye Simplex 1236C. - -2004-09-14 Karl Heinz Kremer - - * backend/epson_usb.c: add USB device ID for CX6400 back in - * backend/epson.c: disable "feed" command for Perfection 1640 w/ ADF - -2004-09-08 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * doc/descriptions/unsupported.desc: Added Microtek Scanmaker 5700, - ArtixScan 4000tf and Medion MD41985. - -2004-09-06 Henning Meier-Geinitz - - * configure: Regenerated. - * doc/descriptions/unsupported.desc - doc/descriptions-external/genesys.desc: Moved HP 35xx series to - unsupported.desc because these scanners use a RTS8801 chip (no - Genesys chipset). - -2004-09-06 Jochen Eisinger - - * backend/mustek_pp.c: clarify error message - * configure.in: only build the mustek_pp backend, if parallel - port support of any kind is present - -2004-09-06 Gerhard Jaeger - - * backend/plustek.c: Bumped build number. - * backend/plustek-usbdevs.c: Fixed bug #300913. - -2004-09-05 Julien Blache - - * More auth_callback() fixes, although they're not critical. - ->>>>>>> 1.2283 -2004-09-03 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Lexmark X1130, Dell - 1600n. Removed Canon LiDE 35 (now in genesys.desc) and Epson - Perfection 2480 (now in snapscan.desc). - * doc/descriptions-external/genesys.desc: Added Canon LiDE 35. - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_low.h backend/gt68xx_low.h - backend/gt68xx_shm_channel.c - doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Fixed firmware name for Mustek 1248 - UB. Changed status to basic. Removed "unsupported" warning. - Added workaround for shared memory compilation problem on - Windows. It's now possible to add a new vendor/product id line - to gt68xx.conf to test yet unsupported scanners without changing - the source code. - * frontend/.cvsignore: Added tstbackend. - -2004-09-02 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-scsi.c backend/snapscan-options.c - backend/snapscan.h backend/snapscan.conf doc/descriptions/snapscan.desc: - Added support for Epson 2480 - -2004-09-01 Julien Blache - - * frontend/saned.c: auth_callback(): arrays are passed as - pointers, declaring parameters as arrays of fixed size is - useless. memset() the correct length, not sizeof(pointer). - Caught while testing splint on the SANE sources. - -2004-08-30 Gerhard Jaeger - - * doc/descriptions/unsupported.desc: Added Canon LiDE35. - * sanei/sanei_usb.c: Fixed memory leak. - -2004-08-29 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Epson 2580 and Nikon - LS-50. - * doc/descriptions-external/brother.desc: Added more clear comments. - -2004-08-28 Stphane Voltz - - * backend/umax_pp.c: - option parsing fix - * backend/umax_pp_low.c: - minor 1220P calibration fixes - -2004-08-25 Stphane Voltz - - * tools/umax_pp.c backend/umax_pp.c backend/umax_pp.conf - backend/umax_pp.h backend/umax_pp_low.c backend/umax_pp_low.h - backend/umax_pp_mid.c backend/umax_pp_mid.h doc/sane-umax_pp.man: - rename 'contrast' to 'offset' and 'highlight' to 'gain'. Translations - will need to be updated. Beginning of 610/1220P codepath merge. - -2004-08-24 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Epson 2480 and Microtek - Filmscan 35. - -2004-08-23 Henning Meier-Geinitz - - * tools/sane-find-scanner.c: Worked around a cygwin libusb - compatibility problem (patch from Giuseppe Sacco eppesuig - at users.alioth.debian.org). - -2004-08-19 Henning Meier-Geinitz - - * doc/descriptions/gt68xx.desc doc/descriptions/unsupported.desc: - Updated. - -2004-08-18 Julien Blache - * tools/hotplug/libsane.usermap: committed patch from Aurlien - Jarno adding USB IDs for Epson Stylus CX6400 (and doing - s/EPSON/Epson/ on one entry to maintain consistency). - -2004-08-14 Frank Zago - - * frontend/tstbackend: fixed a couple bugs. - -2004-08-14 Henning Meier-Geinitz - - * po/Makefile.in po/sane-backends.fi.po: Added Finnish translation - (from Harri Jrvi ). - -2004-08-08 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES tools/hotplug/libsane.usermap: - Added Mustek ScanExpress 1248 UB and new version of Mustek - BearPaw 1200 CU Plus. - * doc/descriptions/unsupported.desc: Added Lexmark and Xerox scanners. - -2004-08-05 Gerard Klaver - - * backend/teco2.c backend/teco2.h: changed to SANE_VALUE_SCAN_MODE_LINEART, _GRAY, and _COLOR, - * backend/teco2.c: changed use of %d to %ld (when bytes values are displayed) - -2004-08-04 Julien Blache - * tools/hotplug/libsane.usermap: added HP ScanJet 5300C. - -2004-08-04 Gerard Klaver - - * AUTHORS: corrrection for teco2 - * doc/descriptions/teco2.desc: url and status change - * doc/sane-teco2.man: update info - * backend/teco2.c: - added for the VM6575 a WHITE_LEVEL_R, _G an _B - slider opion - -changed for the VM656A and VM6575 and VM6586 the calibration part - (subtract highest and lowest value and then divide). - -default SANE_TECO_CAL_ALGO value is now 1 for the VM3564 and - VM6575. - - preview value is now 75 dpi for the VM6575 - -2004-08-04 Oliver Rauch - * doc/umax/umax.FAQ: corrected bug about dtc3181e scsi controller - -2004-08-03 Henning Meier-Geinitz - - * aclocal.m4 configure include/sane/config.h.in: Regenerated to - include updates from niash and resource manager inclusion. - * doc/sane.man doc/sane-niash.man: Minor documentation updates. - * doc/descriptions-external/niash.desc: Removed (backend now included). - -2004-08-03 Gerhard Jaeger - - * AUTHORS: Added niash backend maintainer and author. - * configure.in: Added niash backend. - * backend/dll.conf: Added niash backend. - * backend/Makefile.in: Added niash backend files and target. - * backend/niash.c backend/niash_core.c backend/niash_core.h - backend/niash-xfer.c backend/niash-xfer.h backend/niash-types.h: - Niash backend files, initial checkin. - * doc/sane-niash.man, doc/descriptions/niash.desc, doc/niash/niash.TODO: - Initial checkin. - * doc/Makefile.in: Added niash documentation stuff. - * doc/sane-man: Added niash manpage. - * po/Makefile.in: Added niash source file. - * po/sane-backends.de.po: Updated and completed niash backend translation. - * po/sane-backends.*.po: Added niash strings. - * backend/plustek.c: Small cleanup. - -2004-07-31 Julien Blache - - * frontend/scanimage.c: Added the possibility to cleanly stop a - batch by pressing Ctrl+D when using --batch-prompt. - -2004-07-28 Gerard Klaver - - * doc/descriptions/unsupported.desc: Added Logitech PageScan USB and - Grandtek Scopecam - -2004-07-26 Gerhard Jaeger - - * sanei/sanei_usb.c sanei/sanei configure configure.in: Added - resource manager library support. - * backend/plustek.[ch] backend/plustek-usbdevs.c backend/plustek-usbhw.c - backend/plustek-usbshading.c backend/plustek.conf: Added speedup - parameters and TPA autodetection for UMAX3400/3450, added - disableSpeedup option. - * doc/plustek/Plustek-USB-TODO.txt doc/plustek/Plustek-USB.changes - doc/descriptions/plustek.desc: Updated. - -2004-07-21 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp.c tools/umax_pp.c: - fixed a 610P initialization bug that shown up when changing from color - to grey mode. Changed version numbers. - -2004-07-18 Karl Heinz Kremer - - * doc/descriptions/epson.desc: Added CX-5400, RX-500 and RX-600; updated version - * doc/descriptions/unsupported.desc: Removed RX-500 - -2004-07-16 Henning Meier-Geinitz - - * doc/descriptions-external/epkowa.desc: Added Epson Perfection - 3170 Photo as it's reported to work with that backend. - * doc/descriptions/unsupported.desc: Added some scanners. Removed - Epson Perfection 3170 (now in epkowa). - -2004-07-16 Gerhard Jaeger - - * doc/plustek/Makefile.module doc/plustek/BUILD - doc/plustek/VERSION0 doc/plustek/VERSION1: Removed, no longer needed. - * doc/plustek/Makefile.kernel2x doc/plustek/MakeModule.sh: - Getting version information now out of the backends main file. - * doc/plustek/Plustek_PARPORT.changes: Updated. - * doc/descriptions/plustek_pp.desc: Updated. - * doc/sane-plustek.man: Fixed typo. - * backend/plustek-pp.[ch], backend/plustek-pp_*.[ch]: - Added DevFS support for kernel 2.6, removed floating point - operations (Thanx to Rafal Rzepecki), bumped up build number, - cleanup work. - * doc/plustek/Plustek_USB.changes: Updated. - * backend/plustek.c: Bumped up build number - * backend/plustek-usbshading.c: Improved autowarmup, cleanup work. - * backend/plustek-usb.h backend/plustek-usbdevs.c - backend/plustek-usbhw.c backend/plustek-usnscan.c: Improved - fastforward stuff, cleanup work. - * sanei/sanei_lm983x.c: Cleanup work. - -2004-07-15 Rene Rebe - - * include/sane/sane.h: added extern "C" for compilation with a C++ - compiler - -2004-07-12 Henning Meier-Geinitz - - * doc/sane-coolscan2.man doc/sane-microtek2.man: Fixed - manual page problems. - -2004-07-10 Gerard Klaver - - * tools/check-usb-chip.c: Added check for the GT-8911. - -2004-07-10 Henning Meier-Geinitz - - * tools/check-usb-chip.c: Also check the number of interfaces for - the GT-6816 to avoid conflicts with other GT chips. - -2004-07-09 Henning Meier-Geinitz - - * doc/descriptions-external/brother.desc: New file. Added the - scanners listed on the brother backend page. Used "untested" - status as we don't have confirmation that the backend actually - works. - * tools/hotplug/libsane.usermap: Added Mustek ScanExpress 1248UB. - * tools/sane-desc.c: XML mode updates (patch from Jose Gato - ). - * doc/descriptions/ma1509.desc: Removed dead link. - -2004-07-05 Gerhard Jaeger - - * doc/descriptions/plustek.desc: Changed status of CanoScan D660U. - * doc/plustek/Plustek-USB*: Update. - * backend/plustek.c: Bumped up build number. - * backend/plustek-usb.[ch] backend/plustek-usbdevs.c - backend/plustek-usbhw.c backend/plustek-usbimg.c - backend/plustek-usbmap.c backend/plustek-usbscan.c: Added support - for binary scanning for the CanoScan D660U, cleanup work. - -2004-07-03 Peter Fales - - * acinclude.m4, aclocal.m4, configure, tools/sane-config.in: - When using pkg-config to get library flags for gphoto2, any - extra flags (such as -L) must be passed to sane-config.in so - that it can find the libraries in a non-standard location. - (Bug #300686) - -2004-07-02 Gerhard Jaeger - - * po/*.po: Updated according to changes in the plustek backend. - * backend/plustek.c backend/plustek-usb*: Major update, see - doc/plustek/Plustek-USB.changes. - * doc/sane-plustek.man: Update. - * doc/plustek/Plustek-USB.changes: Update. - * doc/descriptions/plustek.desc: Removed unsupported devices, - updated some states. - * doc/descriptions/plustek_pp.desc: URL update. - * doc/descriptions/u12.desc: URL update, changed state of backend. - * doc/sane-plustek_pp.man: URL update. - * doc/sane-u12.man: URL update. - -2004-06-30 Frank Zago - - * backend/leo.c doc/descriptions/leo.desc: added support for - Genius FS-1130 Colorpage Scanner. - -2004-06-30 Gerhard Jaeger - - * doc/plustek/Makefile.kernel26: fixed floating point issues - for SuSE kernels. - -2004-06-28 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Microtek and Xerox - scanners. - * tools/sane-desc.c: Added xml output (patch from - jose ). Other minor fixes. - -2004-06-28 m. allan noah - - * backend/fujitsu.c: use model code instead of string compare - submitted by: stan at saticed.me.uk - -2004-06-21 Gerhard Jaeger - - * doc/descriptions/unsupported.desc: removed Compac S4 100 - (supported by the Plustek backend), added various Plustek - devices, changed OpticPro m12 to OpticSlim M12 - -2004-06-22 Henning Meier-Geinitz - - * backend/microtek2.c: Fixed some (but not all) MIN related - compilation warnings (bug #300823). - * tools/sane-find-scanner.c: Look for NetBSD uscanner devices (bug - #300815). - -2004-06-22 Rene Rebe - - * backend/avision.c, backend/avision.h, doc/sane-avision.man: - Fixed compilation warning (Bug #300399) and added a force-a3 - option, needed for A3 scanner returning bogus scan area definitions - -2004-06-21 Gerhard Jaeger - - * po/*.po: Updated according to upcomming changes in the plustek backend. - -2004-06-20 Mattias Ellert - - * aclocal.m4, configure, sane/config.h.in, backend/Makefile.in, - backend/agfafocus.c, backend/artec_eplus48u.c, backend/avision.c, - backend/coolscan.c, backend/fujitsu.c, backend/pie.c, - backend/plustek.c, backend/plustek_pp.c, backend/sp15c.c, - backend/tamarack.c, backend/u12.c - * Fixing bug #300602 for the following backends: agfafocus, - artec_eplus48u, avision, coolscan, fujitsu, pie, plustek, - plustek_pp, sp15c, tamarack and u12 - * Migrating the avision backend to sanei_threads (bug #300631) - -2004-06-19 Mattias Ellert - - * backend/gt68xx.c po/sane-backends.bg.po po/sane-backends.cs.po - po/sane-backends.da.po po/sane-backends.de.po - po/sane-backends.es.po po/sane-backends.fr.po - po/sane-backends.it.po po/sane-backends.nl.po - po/sane-backends.no.po po/sane-backends.pt.po - po/sane-backends.ru.po po/sane-backends.sv.po - * Option names should not be tagged for localization - * Fixing some typos - * New localizable strings from the gt68xx backend (pofiles regenerated) - * Swedish translation updated - -2004-06-19 Mattias Ellert - - * sanei/sanei_scsi.c, tools/sane-find-scanner.c - * SCSI scanners can now be selected by LUN on MacOS X - * sane-find-scanner now finds SCSI scanners on MacOS X - * making some sanei_scsi internal functions static - -2004-05-30 Peter Fales - - * acinclude.m4, aclocal.m4, configure.in, configure - In addition to using pkg-config to find the gphoto2 library flags, - we should check to see whether it's actually possible to link - a program using those flags. - -2004-06-18 Henning Meier-Geinitz - - * doc/gt68xx/gt68xx.TODO: New file. Lots of bugs and missing - features for the gt68xx backend. - * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_generic.c - backend/gt68xx_gt6801.c backend/gt68xx_gt6801.h backend/gt68xx_gt6816.c - backend/gt68xx_high.c backend/gt68xx_high.h backend/gt68xx_low.c - backend/gt68xx_low.h backend/gt68xx_mid.c doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Updated to backend version 61. Lots - of fixes for coarse calibration, scanning speed and several - scanners. For details, see gt68xx.CHANGES. - -2004-06-17 Henning Meier-Geinitz - - * doc/.cvsignore: Added *.8. - -2004-06-17 Stphane Voltz - - * backend/umax_pp_low.c doc/descriptions/umax_pp.desc - doc/sane-umax_pp.man: - fixed overflows in 610P shading calibration coefficients, - minor man update, 610P status change from minimal to good - -2004-06-16 Oliver Schwartz - - * backend/snapscan.h backend/snapscan.c backend/snapscan-usb.c: - Don't enforce even number of URB packages on 1212u_2 since - it causes problems. See bug #300753. - -2004-06-15 Henning Meier-Geinitz - - * backend/snapscan.c: Only use __attribute__ if gcc is used for - compilation. Some other compilers don't know __attribute__ and - therefore can't compile sane-backends without this fix. See - bug #300803. - -2004-06-15 Stphane Voltz - - * backend/umax_pp_low.h backend/umax_pp_low.c backend/umax_pp_mid.c: - 610P gray level shading calibration fix. Added timer to let 610P - ASIC to settle down after probing. - -2004-06-13 Julien Blache - - * doc/Makefile.in: saned is in /usr/sbin, its manpage should go to - section 8. Fixed everything referring to saned(1) to refer to saned(8). - -2004-06-13 Mattias Ellert - - * doc/descriptions/unsupported.desc: Added NEC Petiscan as unsupported - -2004-06-13 Karl Heinz Kremer - - * backend/sane_usb.c: Added Perfection 1650 back in that was removed by - mistake and finally removed Perfection 1250. - -2004-06-12 Stphane Voltz - - * backend/umax_pp_low.c tools/umax_pp.c: final fixes for 610P color - scanning, parallel port autodetection for the umax_pp tool. - -2004-06-10 Henning Meier-Geinitz - - * doc/descriptions/mustek_usb.desc: Fixed version number. - -2004-06-08 Gerhard Jaeger - - * backend/plustek-pp_misc.c: fixed multiple parport problem for kernel 2.6.x. - * backend/plustek_pp.c: bumped up version number. - * doc/plustek/BUID: bumped up build number. - -2004-06-08 Henning Meier-Geinitz - - * tools/RenSaneDlls.cmd: Fixed newlines. - * README.netbsd: Mention SCSI buffer size problems and uk/ss files - issue. - * backend/mustek.c doc/descriptions/mustek.desc - doc/mustek/mustek.CHANGES: Reduced scan area of Mustek Paragon - 1200 A3 Pro. Removed warning message. Increased support level to - complete. - * tools/hotplug/libsane.usermap: Added another variant of a - Plustek OpticPro 1248U. - * doc/descriptions/unsupported.desc: Added Syscan TravelScan FS-531. - -2004-06-06 Karl Heinz Kremer - - * backend/epson_usb.c: remove product IDs for Perfection 1250 and 1260 - -2004-06-06 Oliver Schwartz - - * backend/snapscan-usb.c: Don't use shared memory on OS/2 and - when using pthreads. - -2004-06-06 Henning Meier-Geinitz - - * tools/hotplug/libsane.usermap: Added Mustek BearPaw 2448 Plus - and Plustek OpticPro U16B. - -2004-06-05 Henning Meier-Geinitz - - * tools/README tools/RenSaneDlls.cmd: Added REXX script to convert - backend-DLL-filenames according to 8.3 naming convention - necessary for DLLs on OS/2 (from Franz Bakan). - -2004-06-02 Henning Meier-Geinitz - - * backend/net.c doc/sane-net.man doc/saned.man frontend/saned.c: - Changed service name from "sane" to "sane-port". This is the - IANA registered service name for port 6566 (bug #300758). - -2004-06-02 Oliver Schirrmeister - - * fujitsu.c - bugfix: It is possible to read duplex color now. - -2004-05-31 Henning Meier-Geinitz - - * AUTHORS: Mattias Ellert has CVS write access now. - -2004-05-30 Peter Fales - * acinclude.m4, aclocal.m4, configure.in, configure - Use pkg-config rather than gphoto2-config to get gphoto - build parameters (bug #300686) - -2004-05-30 Henning Meier-Geinitz - - * backend/v4l.c: Used SANE_VALUE_SCAN_MODE_* constants. - * doc/descriptions-external/viceo.desc: Mention special kernel patch. - -2004-05-29 Henning Meier-Geinitz - - * backend/sp15c.c: Fixed the fix of the sanei_thread fix - (from Mattias Ellert). - -2004-05-28 Henning Meier-Geinitz - - * README.hp-ux: Mention trouble with higher optimization levels - (from Ulrich Deiters ). - * doc/descriptions/unsupported.desc: Added Dell A920, Microtek - 1850S and Plustek OpticPro m12. Removed HP,Scanjet 2300 (already - in genesys.desc). - * backend/sp15c.c: Fixed sanei_thread fix (bug #300634, by Mattias - Ellert). - -2004-05-27 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-usb.c: Use shared - memory for urb counters - -2004-05-24 Henning Meier-Geinitz - - * backend/dll.c doc/descriptions/dll.desc: Work around 8 char - limit for dynamic loading on OS/2 (patch from Franz Bakan - ). - -2004-05-24 m. allan noah - * backend/fujitsu.[ch]: apply Mattias Ellert's thread patch - split packet counter into r and w - -2004-05-23 Henning Meier-Geinitz - - * tools/check-usb-scanner.c: Detect GL660+GL646 on USB2 also. - Fixed Mustek MA1017 scanner freeze problem. - * backend/Makefile.in backend/agfafocus.c backend/agfafocus.h - backend/microtek2.c backend/microtek2.h backend/sp15c.c - backend/sp15c.h backend/tamarack.c backend/tamarack.h: - Use sanei_thread instead of fork() in the unmaintained backends. - Patches from Mattias Ellert (bugs: 300635, 300634, 300633, 300629). - -2004-05-21 Gerhard Jaeger - - * sanei/sanei_pp.c: fixed compilation problem on HP-UX. - -2004-05-21 Ulrich Deiters - - * backend/canon.c, canon-sane.c, canon.h: removed an option - (OPT_PAGE) that conflicted with some frontends - -2004-05-18 Ulrich Deiters - - * backend/canon.c, canon-sane.c: memory leak and bug fixed - in slide scanner code - -2004-05-18 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added more Canon cartridge - scanners. Updated Visioneer Paperport 3100b. - -2004-05-18 Michael Herder - - * backend/Makefile.in: - adjusted for use with sanei_thread and artec_eplus48u backend - (thanks Mattias Ellert) - -2004-05-16 Oliver Rauch - - * sanei/sanei_config.c: added DIR_SEP=";" and PATH_SEP="\\" - for windows (when windows.h) is available - - * backend/dll.c: added DIR_SEP definitions from sanei_config.c - and replaced relevant ":" by DIR_SEP - -2004-05-15 Gerhard Jaeger - - * doc/plustek/BUID: bumped up build number. - * doc/plustek/Plustek-PARPORT.changes: update - * backend/plustek-pp_misc.c: fixed kernel 2.6 issue. - fixed also Bug #300698. - -2004-05-15 Michael Herder - - * backend/artec_eplus48u.c backend/artec_eplus48u.h: - applied patch from Mattias Ellert (thanks), which adds support - for sanei_thread - -2004-05-15 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp.c tools/umax_pp.c: fixed - origin shift bug for 610P. Added on guard against configuration - that can put several 'port' option in conf file. - -2004-05-13 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp.c tools/umax_pp.c: fixed - data lines reordering for 610P - -2004-05-12 Henning Meier-Geinitz - - * sane-backends.lsm: Updated FTP server link to ftp.sane-project.org. - -2004-05-11 Henning Meier-Geinitz - - * Makefile.in: Remove autoconf temp files and some japi stuff in - distclean target. - -2004-05-10 Stphane Voltz - - * backend/umax_pp_low.c : fixed 300x600 dpi scans, direct - hardware access and timing issues for 610P - -2004-05-06 Jochen Eisinger - - * tools/hotplug/libusbscanner: latest hotplug doesn't set - DEVICE on 2.6.x kernels. Added a workaround - -2004-05-05 Matthew Duggan - - * include/sane/saneopts.h: Added SANE_VALUE_SCAN_MODE_* strings. - * backend/canon_pp.c: Used them. - -2004-05-01 Jochen Eisinger - - * tools/hotplug/libsane.usbmap: removed empty lines, latest - hotplug cannot cope with them - -2004-03-15 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.c - backend/umax_pp_mid.h backend/umax_pp.c backend/umax_pp.h - tools/umax_pp.c: added support for 610P - -2004-05-01 Henning Meier-Geinitz - - * configure configure.in: Warnings enabled again. Added -cvs to - version. - * Makefile.in: Added Changelog-1.0.14 to DISTFILES. - -Older entries can be found in ChangeLog-1.0.14. diff --git a/ChangeLog-1.0.16 b/ChangeLog-1.0.16 deleted file mode 100644 index 95329f4..0000000 --- a/ChangeLog-1.0.16 +++ /dev/null @@ -1,944 +0,0 @@ -****** Release of sane-backends 1.0.16. End of code freeze ****** - -2005-08-07 Henning Meier-Geinitz - - * configure configure.in: New version 1.0.16. - -2005-08-05 St�hane Voltz - - * backend/genesys.c: Fixed endianess issue in slope table - generation. Tested ok on x86 architecture. - -2005-08-02 Henning Meier-Geinitz - - * po/sane-backends.da.po: Updated Danish translation (from - Mogens Jaeger - - * po/sane-backends.sv.po: Update Swedish translation - -2005-08-01 Eddy De Greef - - * doc/sane-mustek_pp.man: updated URL for additional CIS driver info. - -2005-07-31 Henning Meier-Geinitz - - * NEWS: Updated. - ----- CODE FREEZE FOR SANE 1.0.16 --- - -2005-07-31 Henning Meier-Geinitz - - * configure configure.in: Disabled compilation warnings. - -2005-07-30 Karl Heinz Kremer - - * backend/epson_usb.c: Applied Olaf Meuwissen's patch to add - new device IDs. - -2005-07-30 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Xerox Workcentre - 470cx. Added link for Canon DR-2080C. - * backend/Makefile.in: libsane and documentation is installed - correctly again. - * acinclude.m4 configure configure.in: Avoid error messages in - locking test. Make sure that io/cam/cam.h header file will be - detected correctly. - -2005-07-29 Gerard Klaver - - * doc/sane-teco2.man: text update - doc/descriptions/teco2.desc: update status VM3564 - doc/teco/teco2.txt: text added - backend/teco2.c: removed teco_request_sens command for VM3564 (bug) - backend/teco2.h: text update - -2005-07-29 Julien Blache - * tools/hotplug/libsane.usermap: Added various Epson IDs from Olaf - Meeuwissen; reodered some misplaced Epson entries. - -2005-07-29 Julien Blache - * tools/hotplug/libsane.usermap: Added Visioneer OneTouch 7300 - (0x0444,0x0211), from Derek J Frye. - -2005-07-25 Gerhard Jaeger - - * doc/descriptions-external/epkowa.desc: Updated according to - the info provided by Olaf Meeuwissen - -2005-07-24 Henning Meier-Geinitz - - * doc/descriptions-external/brother2.desc: Brother DCP 7025 is - reported to work (bug #301960). - * doc/descriptions-external/hp_rts88xx.desc: Moved unsupported - devices to unsupported.desc. - * doc/descriptions-external/hp3770.desc - doc/descriptions-external/hp8200.desc: Added external hp3770 and - hp8200 backends. - * doc/descriptions/unsupported.desc: Added unsupported scanners - from hp_rts88xx.desc. Removed HP ScanJet 3770 (now in hp3770 - backend). Added Lexmark X75 PrinTrio. - -2005-07-22 Giuseppe Sacco - - * italian translation update - -2005-07-22 Julien Blache - * tools/hotplug/libsane.usermap: Added HP ScanJet 7400C (0x03f0, - 0x0801), from Thomas Nadolny. - -2005-07-21 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c: Bumped build number. - * backend/plustek-usbcal.c: Fixed lampsettings for CIS devices. - -2005-07-15 Oliver Schwartz - - * backend/snapscan-options.c: Change TPO range for Epson 2480/2580 to - 55x80mm^2 which is the working range for the 2580. Reenabled - 2400 DPI for 2480/2580. - -2005-07-15 Oliver Schwartz - - * backend/snapscan-mutex.c backend/snapscan-usb.c: Changes to support - SANE on ZETA. - * backend/snapscan-scsi.c: Fix compiler warnings. - ----- FEATURE FREEZE FOR SANE 1.0.16 --- - -2005-07-17 Henning Meier-Geinitz - - * Makefile.in backend/Makefile.in tools/Makefile.in: Make sure - that all the necessary files will be in the distribution .tar.gz - file. - * sanei/sanei_scsi.c: Removed "const" to make gcc on OS/2 happy. - * NEWS: Updated. - -2005-07-15 Henning Meier-Geinitz - - * backend/sp15c.c: Better 4->8 bit depth expansion algorithm (from - Mattias Ellert ). - * sanei/sanei_usb.c: Fixed comment (we still use 30 seconds USB - timeout by default). - * README.zeta configure configure.in Makefile.in backend/Makefile.in - backend/artec_eplus48u.h backend/dll.c backend/plustek-pp_scan.h - doc/Makefile.in frontend/saned.c include/sane/config.h.in - po/Makefile.in sanei/sanei_config.c sanei/sanei_config2.c - sanei/sanei_init_debug.c sanei/sanei_pio.c sanei/sanei_thread.c - sanei/sanei_usb.c: Changes to support SANE on ZETA. Not all - patches have been applied yet, but it's a start. The backends - are not installed as shared libs but as add-ons, which are shared libs - but in a specific folder in [/system|~]/config/add-ons/ named SANE/. - The install target has been changed to account for this, - Some files don't exist in BeOS/ZETA (ipc.h, ...). - Backend function names get a prefix, I suppose to avoid namespace clashes. - Though we do have a libdl to implement dl_open, the native way is prefered. - Added a --with-docdir= configure arg. - BeOS has a broken get[name|addr]info() from bind. This is fixed in ZETA R1. - libtool needs -no-undefined. Various VPATH fixes. - Check for , but not used yet. - No S_IFSOCK (sockets are fds to /dev/net/api). Stub pio code, untested. - Patch from Fran�is Revol . - -2005-07-15 Oliver Schwartz - - * doc/descriptions/snapscan.desc: - updated comments for Epson 1670, 2480 and 2580 - -2005-07-15 Rene Rebe - - * backend/avision.h, backend/avision.c, doc/sane-avision.man, - doc/descriptions/avision.desc: updated the Avision backend with the - latest off-site maintained version: fixed segmentation faults for - some modes, many many new devices, two different duplex modes - are supported, vast speedup of multi page batch scans, buttons as well - a 7-segment LED readout and some quirks for old scanners not filling - all fields - -2005-07-15 Rene Rebe - - * include/sane/sanei_usb.h sanei/sanei_usb.c: Added support to set - the USB timeout. - -2005-07-10 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c - backend/gt68xx_generic.c backend/gt68xx_high.c - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES - doc/gt68xx/gt68xx.TODO: Changed resolution from 75 to 100 dpi - and changed 16 bit/color to 12 based on a user report for the - Visioneer OneTouch 7300. Updated .desc. Moved check for stable - lamp to its own function. Mustek ScanExpress A3 USB: Use CIS - calibration. Use lamp warmup. Fixed CCD on GT6801 scanning (color - scanning was broken due to a change in motormode_2. - -2005-07-09 Henning Meier-Geinitz - - * po/Makefile.in po/sane-backends.bg.po po/sane-backends.cs.po - po/sane-backends.da.po po/sane-backends.de.po - po/sane-backends.es.po po/sane-backends.fi.po - po/sane-backends.fr.po po/sane-backends.it.po - po/sane-backends.nl.po po/sane-backends.no.po - po/sane-backends.pl.po po/sane-backends.pt.po - po/sane-backends.ru.po po/sane-backends.sv.po: Updated Danish - translation (from Mogens Jaeger ). Made - sure that no errors occur because xgettext/xmsgfmt think that - "%" is a C format string. Regenerated all po files. - - * configure configure.in include/sane/config.h.in: Make sure that - getopt is not built on OS/2 (from Franz Bakan ). - -2005-07-07 Frank Zago - - * AUTHORS backend/leo.c backend/leo.h backend/matsushita.c - backend/matsushita.h backend/sceptre.c backend/sceptre.h - backend/teco1.c backend/teco1.h backend/teco2.c backend/teco2.h - backend/teco3.c backend/teco3.h frontend/tstbackend.c: new - email address. - -2005-07-07 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c: Fixed scanarea calculation. - * backend/plustek-usbshading.c: Fixed fine-white calibration. - -2005-07-05 Gerhard Jaeger - - * doc/descriptions-external/epkowa.desc: Updated according to - the info provided by Olaf Meeuwissen - -2005-07-04 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.[ch] backend/plustek-usbscan.c - backend/plustek-usbshading.c backend/plustek-usbdevs.c - backend/plustek-usbdevs.c backend/plustek-usbimg.c - backend/plustek-usbmap.c backend/plustek-usbhw.c - backend/plustek-usbcal.c backend/plustek-usb.[ch]: - Added button support, did some cleanup, added IPC between - reader- and parent-process. - -2005-07-04 ULrich Deiters - - * inserted a definition for SSIZE_MAX in backend/canon.h - -2005-07-03 Henning Meier-Geinitz - - * backend/sm3600.c: Don't check the result of - usb_find_busses(). Based on patch from Julien BLACHE - . - * doc/descriptions/genesys.desc: Used - "Medion/Lifetec/Tevion/Cytron" as manufacturer as in the other - backends. Used "ScanJet 2300C" as model name as in other - backends. - * doc/descriptions/unsupported.desc: Added links to scanners with - GL646 and GL841 chipsets. Moved all unsupported scanners from - doc/descriptions-external/genesys.desc to unsupported.desc. Minor - fixes for other scanners. - * doc/descriptions-external/genesys.desc: Removed. Scanners have - been moved to doc/descriptions/genesys.desc and - doc/descriptions/unsupported.desc. - * doc/sane-genesys.man: Typo/formatting fixes. - * NEWS: Updated for sane-backends 1.0.16. - -2005-07-01 Ulrich Deiters - - * restored the actual version of the Canon-SCSI backend - (backend/canon.c, canon-sane.c canon-scsi.c canon.h) - -2005-06-30 St�hane Voltz - - * configure.in AUTHORS backend/dll.conf doc/sane.man doc/Makefile.in - po/Makefile.in : Fixed forgotten modifications when adding the - genesys backend - -2005-06-30 Gerhard Jaeger - - * tools/RenSaneDlls.cmd backend/dll.c: Fixed OS/2 restriction for - dlopening DLLs on OS/2, as it only works for 7.3 filenames for - some reason (patches by Franz Bakan . - -2005-06-27 St�hane Voltz - - * configure doc/sane-genesys.man doc/sane-genesys.man doc/Makefile.in - doc/descriptions/genesys.desc doc/descriptions/unsupported.desc - backend/genesys_low.h backend/genesys_devices.c - backend/genesys_gl841.c backend/genesys_gl646.c backend/genesys.h - backend/genesys.conf backend/genesys.c backend/Makefile.in - -2005-06-27 Gerhard Jaeger - - * backend/plustek.c: Fixed "double free" problem in sane_exit. - * doc/plustek/Plustek-USB.changes: Update. - -2005-06-26 Mattias Ellert - - * po/sane-backends.sv.po: Update Swedish translation - * tools/Makefile.in: link sane-desc to $(LIBLIB) - -2005-06-12 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Removed Samsung SCX-4216F - (supported by samsung backend). Dell 1600n has also network - connection. - * doc/descriptions-external/brother.desc: Removed misleading - comment. - * doc/descriptions-external/samsung.desc: Added several models, - updated others. - * doc/descriptions.txt: Added "Ethernet" to list of possible - interfaces. - -2005-06-12 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Canon CanoScan LiDE - 500F. - -2005-06-04 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Genius ColorPage-SF600. - * doc/descriptions-external/brother2.desc: New. Listed scanners - supported by the new external brother2 backend. - * doc/descriptions-external/brother.desc: Fixed comments. - -2005-05-30 Karl Heinz Kremer - - * doc/descriptions/epson.desc: Added CX-4600 - -2005-05-29 Henning Meier-Geinitz - - * doc/descriptions-external/samsung.desc: Status of Samsung - SCX-4100 is "good" asit's reported to work. - * doc/sane-usb.man doc/sane.man: Updated, mostly concerning kernel - scanner driver (deprecated). Minor fixes. - * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_high.c - backend/gt68xx_low.h doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES - doc/gt68xx/gt68xx.TODO: - Start exposure with the settings from the scanner entry. CIS - Calibration and exposure uses a broader spectrum now. Expsoure - limit is increased to 50 loops. Genius Vivid 4x is reported to - work so the UNTESTED label is removed now. Visioneer 7300 is - reported to work so the UNTESTED label is removed now. Genius - ColorPage Vivid 1200XE: Removed UNTESTED label. Fixed - resolutions. Adjusted margins. Fixed color order. Fixed - linedistance. Adjusted AFE. Mustek ScanExpress 1248 UB: Fixed - margins. Adjusted AFE. Adjusted exposure. Adjusted - gamma. Changed status to "complete". Mustek BearPaw 2400 CU - Plus: Adsusted exposure and AFE parameters. Hopefully stripes - and similar trouble are gone now. Mustek BearPaw 1200 CU: - Increased exposure to avoid vertical lines. Updated manual page. - -2005-05-28 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Avision DS310F. Added link - for the UMAX Astra 4000. Fixed missing link for Genius - ColorPage-Slim 1200 USB2. - -2005-05-26 Henning Meier-Geinitz - - * doc/net.tex doc/sane.tex: Mention RPC codes explicitely and - explain what request and reply means. based on patch from - Johannes Berg . - -2005-05-25 Jochen Eisinger - - * doc/descriptions/mustek_pp.desc: added scanner - -2005-05-23 Julien Blache - * doc/sane-find-scanner.man, doc/gamma4scanimage.man: spelling - fixes from A Costa. - -2005-05-22 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Konica Minolta Dimage - 5400 2. Fixed bus type for Mustek 800 II EP. - * doc/descriptions-external/genesys.desc: Changed status of Medion - MD 6471 to "basic". - -2005-05-22 Oliver Schwartz - - * backend/snapscan-options.c: - Disabled 2400 DPI for Epson 2480 due to user report of - broken scanner - -2005-05-20 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c - backend/gt68xx_generic.c backend/gt68xx_generic.h - backend/gt68xx_gt6801.c backend/gt68xx_gt6801.h - backend/gt68xx_gt6816.c backend/gt68xx_gt6816.h - backend/gt68xx_high.c backend/gt68xx_high.h backend/gt68xx_low.c - backend/gt68xx_low.h backend/gt68xx_mid.c - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES - doc/gt68xx/gt68xx.TODO: - Mustek BearPaw 1200 CU Plus model 0x21b works now. Fixed - firmware and offset settings. Calibration is not completely ok - yet, however. Code cleanup for setup_scan (only one function - for all chipsets). Simplified line mode/pixel mode setting - Updated TODO. Mustek BearPaw 2448 TA Plus is now only - "basic". Too much trouble for "good". Removed option "fast - preview". By default for preview mode 8 bits/pixel are used. - Fixed indentation. Full scan really scans from y=0 on gt6816 - scanners now. - * po/sane-backends.bg.po po/sane-backends.cs.po - po/sane-backends.da.po po/sane-backends.de.po - po/sane-backends.es.po po/sane-backends.fi.po - po/sane-backends.fr.po po/sane-backends.it.po - po/sane-backends.nl.po po/sane-backends.no.po - po/sane-backends.pl.po po/sane-backends.pt.po - po/sane-backends.ru.po po/sane-backends.sv.po: Regenerated - translation files. Updated German translation. - -2005-05-16 Henning Meier-Geinitz - - * doc/backend-writing.txt: Minor updates and line-wrap fixes. - * doc/descriptions/unsupported.desc: Added Kodak i30 and Minolta - Dual Scan IV. Updated link to Konica Minolta website. - -2005-05-15 frank - - * tools/Makefile.in: remove superflous libraries for sane-desc - * doc/descriptions/matsushita.desc: changed some scanner status from - good to minimal - * doc/descriptions/unsupported.desc: added a few Panasonic scanners. - -2005-05-13 Julien Blache - * tools/hotplug/libsane.usermap: Added Epson Stylus RX620 - (04b8/0811). From Mike Talbot. - -2005-05-11 Gerhard Jaeger - - * backend/plustek-pp_misc.c: Applied patch (see bug #301605). - * doc/plustek/Plustek-PARPORT.changes: Update. - * backend/plustek-pp.c: Bumped build number. - -2005-05-10 Gerhard Jaeger - - * sanei/sanei_access.c: Added PATH_MAX, in case it's not defined - by any header (i.e. OS/2). - -2005-05-07 Mattias Ellert - - * README.darwin: updated the section about libusb, since all known - bugs have now been fixed in the libusb CVS. - -2005-05-05 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES - doc/gt68xx/gt68xx.TODO: Plustek OpticSlim 2400: Fixed list of - resolutions. That fixed the preview. Removed "untested" - warning. Adjusted scan area. Updated gt68xx.TODO. Find firmwares - independent of capitalization (bug #301580). - -2005-05-07 Julien Blache - - * tools/hotplug/libsane.usermap: Added Microtek ScanMaker 3700 - (05da/40cb). From Ian Beckwith. - -2005-05-06 Gerard Klaver - - * backend/qcam.c -indent -gnu, bugreport 300128 free (devlist) added, - DEBUG output added and some small fixes. - -2005-05-05 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Dell 922. - * backend/mustek.c backend/mustek.h doc/descriptions/mustek.desc - doc/mustek/mustek.CHANGES: Added options to set the time after - which the lamp of the A3 Pro is shut off and to shut it off - immediately. - -2005-05-02 Peter Fales - - * backend/gphoto2.c: Fix core dump when no port is specified in - the gphoto2 config file. (bug #301552) - -2005-04-29 Henning Meier-Geinitz - - * doc/descriptions/sp15c.desc: Added ScanPartner 600C (bug - #301528). - * doc/descriptions/unsupported.desc: Removed several Brother - scanner which are supported by the brother backend now. - * doc/descriptions-external/brother.desc: Fixed link. - -2005-04-28 Julien Blache - - * backend/v4l.c: duplicate capability.name in attach() so that - each device is listed with its actual name, not with the name of - the last discovered device. Reported by Andreas Hartmann. - -2005-04-28 Mattias Ellert - - * frontend/scanimage.c: Added missing braces - -2005-04-27 Gerhard Jaeger - - * doc/descriptions/plustek.desc: Added UMAX Astranet ia101. - -2005-04-26 Julien Blache - - * tools/hotplug/libsane.usermap: Added Epson Stylus CX3650 - (04b8/080e), from Daniel Sobe. - -2005-04-25 Gerhard Jaeger - - * include/sane/sanei_pp.h, sanei/sanei_pp.c: Added outb_eppdata - functionality (thanks to Anderson Lizardo). - * backend/plustek-pp_procs.h, backend/plustek-pp_io.c, - backend/plustek-pp_misc.c: Fixed compilation problem for kernel - module with gcc-3.4 compiler. - * doc/plustek/Plustek-PARPORT.changes: Update. - * backend/plustek-pp.c: Bumped build number. - -2005-04-24 Henning Meier-Geinitz - - * tools/hotplug/libsane.usermap: Fixed Minolta Scan Dual III entry - (bug #301512). - * doc/descriptions/mustek.desc: Added Mustek TwainScan II SP (bug - #301217). - * doc/descriptions-external/viceo.desc: Added Primax Colorado 2200 - USB. - * doc/descriptions/unsupported.desc: Added Canon PIXMA MP110. - * AUTHORS: Marked Kazuya Fukuda as active. - -2005-04-23 Julien Blache - - * LICENSE: Add an FAQ section. - * tools/hotplug/libsane.usermap: Added Genius ColorPage Vivid3xe - (0458/2017), from Ramiro Aceves through Debian BTS. - -2005-04-18 Gerhard Jaeger - - * backend/plustek-usbhw.c, backend/plustek-usbscan.c: Fixed - problem, that has been reported in conjunction with backtracking - and sensor-speedup option. - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c: Bumped build number. - -2005-04-16 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc - doc/descriptions-external/genesys.desc: Added and updated - several scanners. - -2005-04-15 Gerard Klaver - - * sanei/sanei_usb.c More debug info for control and isochronous mode - Detection added for endpoints for configurations, interface and - altsetting numbers > 0 - Routine added for changing configuration, interface or altsetting - number - sanei_usb_set_configuration - sanei_usb_claim_interface - sanei_usb_release_interface - sanei_usb_set_altinterface - * include/sane/sanei_usb.h headers and text added for - sanei_usb_set_configuration - sanei_usb_claim_interface - sanei_usb_release_interface - sanei_usb_set_altinterface - * frontend/scanimage.c added -B option buf size - split up printf command to remove warning ISO C89 - patch for bugreport 300160, ranges for width and height are wrong - * doc/scanimage.man added text -B option buf size - -2005-04-13 Mattias Ellert - - * backend/hp-option.c: Add missing SANE_I18N - * po/sane-backends.*.po: Regenerate .po files accordingly - * po/sane-backends.sv.po: Update Swedish translations - -2005-04-12 Mattias Ellert - - * Various man page fixes: sane-agfafocus.man, sane-apple.man, - sane-artec.man, sane-artec_eplus48u.man, sane-avision.man, - sane-bh.man, sane-canon_pp.man, sane-coolscan.man, - sane-coolscan2.man, sane-dll.man, sane-epson.man, sane-fujitsu.man, - sane-hp.man, sane-leo.man, sane-matsushita.man, sane-microtek2.man, - sane-mustek.man, sane-mustek_pp.man, sane-mustek_usb.man, - sane-nec.man, sane-niash.man, sane-pie.man, sane-plustek.man, - sane-plustek_pp.man, sane-sceptre.man, sane-scsi.man, sane-sharp.man, - sane-sm3600.man, sane-sm3840.man, sane-sp15c.man, sane-teco1.man, - sane-teco2.man, sane-teco3.man, sane-test.man, sane-u12.man, - sane-umax.man, sane-umax1220u.man, sane-umax_pp.man, sane.man, - saned.man - -2005-04-11 Gerhard Jaeger - - * acinclude.m4, configure.in, configure: the locking feature will - now be disabled, when the selected group could not be set. - The configuration script should not fail any longer. - -2005-04-10 Julien Blache - - * backend/hp5400_xfer.h, backend/hp5400_sanei.c, backend/hp5400.c: - make non-SANE-standard functions static. - -2005-04-10 Jochen Eisinger - - * backend/mustek_pp.c, backend/mustek_pp.conf, sanei/sanei_pa4s2.c, - include/sane/sanei_pa4s2.h, doc/sane-mustek_pp.man: added global - option "no_epp" to work around a known bug in the linux parport - code. - -2005-04-02 Julien Blache - - * doc/sane.man: typo fix from A Costa. - -2005-04-01 Gerhard Jaeger - - * README: Added some info about the --enable-locking switch. - * doc/descriptions/unsupported.desc - doc/descriptions-external/genesys.desc: Moved some Plustek - devices over to the genesys descriptions. - * tools/hotplug/libsane.usermap: Added some Plustek devices. - * mkinstalldirs: Added -o and -g options for changing the - owner and group of an installed directory. - * acinclude.m4, configure.in, configure: Added --enable-locking - and --with-group to enable device locking via sanei_access-lib - and to specify the group of the locking directory. - * include/sane/config.h.in: ENABLE_LOCKING has been added - by automake/autoconf. - * backend/Makefile.in: Added installation of - $(localstatesanedir)/lock/sane, were the lockfile should go to. - Also added linking of sanei_access to the plustek backend. - * include/Makefile.in: Added sane/sanei_access.h. - * sanei/Makefile.in: Added sanei_access.c. - * include/sane/sanei_access.h sanei/sanei_access.c: Initial checkin. - -2005-03-31 Julien Blache - - * doc/scanimage.man: fix typos, patch from A Costa. - -2005-03-20 Earle F. Philhower III - - * backend/sm3840_scan.c: Big-endian graymode fix - -2005-03-17 Gerard Klaver - - * doc/descriptions-external/samsung.desc added - -2005-03-16 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Removed Microtek ScanMaker - 4800 (supported by sm3840 now). - -2005-03-16 Earle F. Philhower III - * backend/sm3840.c backend/sm3840_scan.c backend/sm3840.conf - backend/Makefile.in doc/descriptions/sm3840.desc - doc/sane-sm3840.man: Added ScanMaker 4800 USB ID and - documentation, fixed PPC endianness problems, fixed - Makefile dependencies for sm3840 driver - -2005-03-13 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc - doc/descriptions-external/genesys.desc: Added and updated - various scanners. - -2005-03-04 Gerard Klaver - - * doc/sane-teco2.man: text update - backends/teco2: use of __unused__ - -2005-03-03 Julien Blache - - * tools/hotplug-ng/libsane.hotplug: add missing quote in the grep line. - -2005-03-02 Julien Blache - - * tools/hotplug-ng/libsane.hotplug: allow for several spaces - between fields in the db file. - -2005-02-28 Julien Blache - - * tools/hotplug-ng/libsane.hotplug: replace \t by [[:space:]] when - grepping for the device in the db file. - -2005-02-21 Julien Blache - - * tools/hotplug-ng: added new hotplug/hotplug-ng hook, with - scripts and documentation. - -2005-02-20 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Removed Genius - ColorPage-Vivid Pro II, now in external backend. Added Visioneer - 9000. - * AUTHORS configure configure.in backend/Makefile.in - backend/dll.conf backend/sm3840.c backend/sm3840.conf - backend/sm3840.h backend/sm3840_lib.c backend/sm3840_lib.h - backend/sm3840_params.h backend/sm3840_scan.c doc/Makefile.in - doc/sane-sm3840.man doc/sane.man doc/descriptions/sm3840.desc: - Added sm3840 backend (from "Earle F. Philhower, III" - ). - * doc/descriptions-external/sm3840.desc: Removed (backend included - in SANE). - * NEWS: Updated. - -2005-02-14 Gerhard Jaeger - -* doc/descriptions-external: Added new external backend geniusvp2. - -2005-02-10 Karl Heinz Kremer - - * doc/descriptions/epson.desc: Added CX-3600 and 3650 - doc/sane-epson.man, backend/epson.conf: Added information about - GT-6500 (bug #301100) - -2005-02-08 Oliver Schwartz - - * backend/snapscan.h backend/snapscan.conf - Added IDs for Benq 5250C and 5000S - -2005-02-08 Gerhard Jaeger - - * sanei/sanei_pp.c: Cleanup, uses now static array for parport - management instead of dynamically allocated. Fixes at least a - potential memory leak. - -2005-02-06 Oliver Schwartz - - * doc/descriptions/unsupported.desc doc/descriptions/snapscan.desc: - Renamed "Benq" to "Benq (Acer)" for better access through the - scanner search engine. Fixes bug #301158 - -2005-02-06 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added several scanners. Minor - fixes. - * doc/descriptions-external/sm3840.desc: Added new external - backend sm3840. - * doc/descriptions-external/brother.desc: Updated status. - * po/Makefile.in po/sane-backends.pl.po: Added Polish translation - (from Jerzy Szczudlowski - ). See bug #301054. - -2005-02-04 Gerhard Jaeger - - * tools/hotplug/libsane.usermap: Added Epson CX6600 based on patch - submitted by Aurelien Jarno . - -2005-02-03 Ulrich Sigwanz - - * backend/niash_xfer.c: - * tools/hotplug/libsane.usermap: - added ID for Silitek-HP-ScanJet-3400c-Clone - -2005-01-19 Oliver Rauch - - * backend/coolscan.c: added initilization of dev->scanning = SANE_FALSE - -2005-01-18 Oliver Schwartz - - * backend/snapscan.h: Added ID for Benq 5250C - -2005-01-16 Karl Heinz Kremer - - * backend/epson_usb.c: Added IDs for RX-425 (from bug report #301114) - * doc/descriptsions/epson.desc: Added RX-425 - -2005-01-16 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added UMAX Astraslim - 6000. Added Trust SCSI Scan 19200 -Excellence Series-. Added - ColorPage-Vivid Pro II. - * tools/hotplug/libsane.usermap: Added Epson Stylus RX425 based on - bug report #301114. - * doc/sane-agfafocus.man doc/sane-artec.man: Fixed some macros - (patch from esr@thyrsus.com). - -2005-01-12 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Genius ColorPage-Slim - 1200 USB2. - * doc/descriptions-external/genesys.desc: Added Canon Lide 40. - * doc/descriptions-external/brother.desc: Added several scanners - and updated the status of others based on user comments. - -2005-01-12 Julien Blache - - * tools/hotplug/libusbscanner: use sysfs to get the device number, - instead of guessing (it ended up being wrong in a number of - cases...). Fix from Ubuntu, transmitted by Martin Pitt. - -2005-01-12 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c: Bumped build number. Copyright Update. - * backend/plustek-usbscan.c backend/plustek-usbshading.c: - Using now PhyDpi.y as selector for the motor MCLK setting. - Copyright Update. - * backend/plustek-usbdevs.c: - Tweaked motor settings for EPSON and CANON1200. Copyright Update. - * backend/plustek-*.[ch]: Copyright Update. - -2005-01-09 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Guillemot scanner. - -2005-01-09 Karl Heinz Kremer - - * backend/epson.c: "flaming hack to get USB scanners working without timeouts - under linux" submitted by "Steve" (in comment to bug #300830) - * doc/descriptions/epson.desc, doc/sane-epson.man: - Added SCSI version of GT-5000 to supported list. - -2004-12-29 Julien Blache - * tools/sane-find-scanner.c: Added a hint about switching the - scanner on and connecting it to the computer before doing - anything. - -2004-12-26 Gerard Klaver - - * doc/descriptions-external/hpaio.desc join two lines so html - conversion possible - doc/descriptions-external/stv680.desc added two webcams with - different usb vid and pid - -2004-12-26 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added several scanners. - -2004-12-18 Karl Heinz Kremer - - * backend/epson.c backend/epson_usb.c: Added USB IDs for - CX-3650 and CX-4600 and updated version number. - -2004-12-15 Gerard Klaver - - * doc/descriptions-external/hpaio.desc stv680.desc - Info new external backends - -2004-12-01 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-scsi.c backend/snapscan-options.c: - Added quality calibration for Epson 2480 (implementd by Simon Munton) - -2004-12-07 Henning Meier-Geinitz - - * backend/gt68xx_devices.c: Disabled stop_scan command for Mustek - BearPaw 2448 TA Plus. - -2004-12-05 Henning Meier-Geinitz - - * doc/sane-gphoto2.man doc/sane-microtek2.man: Fixed minor - glitches based on patch from Eric S. Raymond . - * doc/descriptions/unsupported.desc: Added Benq 320p. - -2004-12-04 Julien Blache - * tools/hotplug/libsane.usermap: Added Epson Perfection 4870 - Photo, vendor 0x04b8 product 0x0128. - -2004-12-01 Oliver Schwartz - - * backend/snapscan.c: Applied fix for allocation of gamma tables - (thanks to Simon Munton) - -2004-12-01 Oliver Schwartz - - * doc/descriptions/unsupported.desc: removed Epson Perfection 1270 - -2004-12-01 Oliver Schwartz - - * backend/snapscan.h backend/snapscan.c backend/snapscan-scsi.c - backend/snapscan-options.c doc/descriptions/snapscan.desc: - Added support for Epson Perfection 1270 - -2004-12-01 Henning Meier-Geinitz - - * doc/descriptions/umax1220u.desc doc/descriptions/unsupported.desc - doc/descriptions-external/genesys.desc: Added several scanners. Moved - UMAX 2100U to umax1220u.desc. Moved Plustek S(T)12 to unsupported.desc. - -2004-11-28 Henning Meier-Geinitz - - * doc/descriptions-external/brother.desc. Updated comments. 9160 works. - -2004-11-21 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Updated/added several scanners. - -2004-11-21 Gerhard Jaeger - - * backend/plustek-usb.c: Fixed problem, when builing supported - and connected device list. - -2004-11-19 Rene Rebe - - * sanei/sanei_usb.c configure.in: use usb_interrupt_read instead of - usb_bulk_read for sanei_usb_read_int. Fixes bug #300878. Added a - missing DBG output in sanei_usb_read_int. Check for - usb_interrupt_read to make sure, we have at least version 0.1.8. - -2004-11-19 Rene Rebe - - * backend/avison.c doc/descriptions/avision.desc - doc/descriptions/unsupported.desc: just added new IDs including - moving the HP 82xx to the avision backend - -2004-11-19 Gerhard Jaeger - - * backend/plustek.c backend/plustek-usb*: Major update, see - doc/plustek/Plustek-USB.changes. Esp. improved support for multiple - devices and autodetection. - * doc/plustek/Plustek-USB.changes: Update. - * doc/descriptions/plustek.desc: Updated release number. - -2004-04-15 St�hane Voltz - - * backend/umax_pp_low.c: non i386 linux compilation fix, - 1220P gray levels scan hang fix, 1220P color calibration tuning. - -2004-11-14 Oliver Schwartz - - * snapscan-sources.c: Applied patch by Julien Blache to change - ch_past_init from SANE_Int to SANE_Bool - -2004-11-14 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c - backend/gt68xx_gt6801.c backend/gt68xx_gt6816.c - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Fixed test - to move home sensor at the start of scan. Fixed gray mode - linemode test. That stopped e.g. the Plustek OpticPro U 16 B from - working in gray mode. - -2004-11-13 Frank Zago - - * include/sane/sanei_backend.h: Added compiler attribute __unused__ - for unused variables/functions. - - * backend/leo.c backend/teco3.c backend/matsushita.c - backend/sceptre.c backend/teco1.c: use __unused__ - * sanei/sanei_wire.c sanei/sanei_pa4s2.c sanei/sanei_scsi.c: - fixes for 64 bits platforms. - * backend/sp15c-scsi.h backend/sp15c.h backend/dc210.c backend/dc210.h: - fixes some warnings. - -2004-11-13 Henning Meier-Geinitz - - * backend/v4l.c: 64 bit fix from Frank Zago . - -2004-11-13 Julien Blache - - * tools/hotplug/libsane.usermap: Added Epson Stylus Photo RX500, - Epson Stylus Photo RX600 and Minolta Scan Dual II. - -2004-11-10 Oliver Schwartz - - * snapscan-sources.c: First implementation of deinterlacer for epson - scanners at high resolutions (thanks to Brad Johnson) - -2004-11-07 Henning Meier-Geinitz - - * configure configure.in: Updated version. Enabled compilation - warnings. - * doc/releases.txt: Updated according to current practice. - -Older entries can be found in ChangeLog-1.0.15. diff --git a/ChangeLog-1.0.17 b/ChangeLog-1.0.17 deleted file mode 100644 index 4cc0ed4..0000000 --- a/ChangeLog-1.0.17 +++ /dev/null @@ -1,1011 +0,0 @@ -****** Release of sane-backends 1.0.17. End of code freeze ****** - -2005-12-18 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added link to Lexmark X6170. - * doc/descriptions/gt68xx.desc: Added Trust Direct WebScan 19200 - (reported on sane-devel). - * backend/Makefile.in: Added missing genesys_conv.c and - genesys_conv_hlp.c to DISTFILES. Without this change the files - wouldn't be part of the archive. - * configure configure.in: Disabled compilation warnings. Increased - version number. - -2005-12-17 Karl Heinz Kremer - - * doc/descriptions/epson.desc: Added a few new scanners based on - messages to the sane-devel mailing list. - -2005-12-11 Henning Meier-Geinitz - - * NEWS: Updated for release. - ----- CODE FREEZE FOR SANE 1.0.17 --- - -2005-12-10 Henning Meier-Geinitz - - * doc/descriptions-external/hp3500.desc: Added .desc file for new - external backend hp3500 which provides support for the HP ScanJet - 3500 series (from Troy Rollo ). - * doc/descriptions/unsupported.desc: Removed HP 3500, 3530, and - 3570 (now in hp3500.desc). - -2005-12-09 Henning Meier-Geinitz - - * doc/descriptions-external/brother-mfc4600.desc: Added .desc file - for (older) external backend for Brother MFC 4600 (USB version). - * doc/descriptions/unsupported.desc: Added Lexmark X6170. Removed - Brother MFC 4600 USB. - * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_high.c - backend/gt68xx_low.c doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES doc/gt68xx/gt68xx.TODO: Silenced - non-fatal warnings/error messages. Several fixes for avoiding - freezes/timeouts after cancelling a scan. Several fixes for - warming up of lamp. Decreased scan width of Plustek OpticPro - 1248U. - -2005-12-08 Gerhard Jaeger - - * backend/plustek-pp_tpa.c backend/u12-tpa.c: Fixed nasty - compiler warnings. - -2005-12-07 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Brother - MFC-7300c. Removed Primax Colorado 2400U (now in - primascan.desc). - * doc/descriptions-external/primascan.desc: New external backend - for Primax Colorado 2400U. - -2005-12-07 Gerhard Jaeger - - * sanei/sanei_acces.c: Fixed problem, when the device name contains - one or more path-separators. These characters are now converted. - The problem occurs on 2.4 based installations as well as on OpenBSD. - -2005-12-06 Stephane Voltz - - * backend/genesys_gl646.c: removed forgotten left-over of - an experiment . - -2005-12-06 Stephane Voltz - - * backend/genesys_gl646.c: added AF init in powersave, fixed - long-standing bug related to a data read timeout between - distinct scanning sessions - -2005-12-06 Henning Meier-Geinitz - - * backend/genesys.conf: Enabled Canon LiDE 60 which was disabled - for safety reasons. Bugs are fixed now. - * doc/descriptions/genesys.desc: Changed status of Canon LiDE 50 - and 60 to "good". Added comment for untested LiDE 40 to report any - success/failure. - * AUTHORS: Marked Fred Odendaal as active maintainer. - * tools/hotplug/libsane.usermap: Added Epson Perfection 3490. - -2005-12-05 Rene Rebe - - * backend/avision.c backend/avision.conf doc/sane-avision.man: - fixed more typos in comments and debug output, removed obsolete - options from the parser, example avision.conf and manual page. - Fixed 12 Bit gray and color modes to actually work as well as - software CCD line-difference correction. Minimal scan resolutions - have been slightly adapted for some ASICs. - -2005-12-05 Pierre Willenbrock - - * backend/genesys.c: removed usage of current_setup in functions - where it is not necessarily initialized. Modified shading - calibration to not use fixed stripe sizes. Fixed memory - corruption while calculating shading data. Fixed read sizes to - be multiples of 256. Fixed stagger/line distance - correction. Fixed line shrinking to correctly update data - buffers. Bumped BUILD number. - * backend/genesys.c backend/genesys_conv.c: Added gray to lineart - conversion. - * backend/genesys.c backend/genesys_conv_hlp.c: Modified calling - parameters to stagger/line distance correction filter to better - describe its inner working. - * backend/genesys_devices.c: Slowed down motor timings for - LiDE 35/40/50/60. Removed untested message for LiDE 35/40/50/60. - * backend/genesys_gl646.c: Fixed bug for odd pixel count. Added - support for gray to lineart conversion. - * backend/genesys_gl841.c: Fixed words_per_line calculation. Added - support for gray to lineart conversion(not used). Fixed problem - with scanners not backtracking while scanning calibration area - leading to scanning part of document area. - -2005-12-05 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-scsi.c: small bugfix for Benq5150 - -2005-12-05 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Canon PIXMA MP170. - -2005-12-04 Rene Rebe - - * backend/avision.c backend/avision.h: updated the Avision backend - from BUILD 167 to 179, including support for HP 5370, AV600U, - AV210C2, AV220C2, et. al. The USB i/o paths got hardened, and a - lot of fixes as well es enhancements and optimizations where added - and a lot of typos, mostly in debug output and comments, got fixed. - The "Line Art" mode was renamed to "Lineart" to match the other - backends. - -2005-12-03 Karl Heinz Kremer - - * backend/epson_usb.c: Added id for CX4200 - -2005-12-04 Oliver Schwartz - - * backend/snapscan.h backend/snapscan.c backend/snapscan-scsi.c - backend/snapscan-options.c: Some fixes for Benq 5150 - -2005-12-03 Peter Fales - * backend/gphoto2.c: Cosmetic changes to debug messages - -2005-12-02 Oliver Schwartz - - * backend/snapscan-sources.c: Another fix for lineart mode for the - Epson 3490 @ 3200 DPI - this time tested - * backend/snapscan.c: Change version number to 1.4.50 - -2005-12-01 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added link for Corex Cardscan - 500. - -2005-11-30 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added UMAX Astra 4100. - * tools/hotplug/libsane.usermap: Added Epson Stylus CX4200. - -2005-11-28 Jochen Eisinger - - * sanei/sanei_pa4s2.c: incorrect test of a bit mask. - -2005-11-28 Stephane Voltz - - * backend/umax_pp_low.c: ifdef'ed forgottent debug statements - -2005-11-28 Stephane Voltz - - * backend/umax_pp_low.c: fixed 'blue tint' on scanning area border - by increasing shading coefficient on dark areas - -2005-11-26 Oliver Schwartz - - * backend/snapscan-sources.c: Fix lineart mode for Epson 3490 - * doc/descriptions/snapscan.desc: Update status for Benq 5000 - -2005-11-26 Oliver Schwartz - - * backend/snapscan-scsi.c: Fix for Benq 5000 - * backend/snapscan.conf: Replace esfw52.bin with dummy filename entry - -2005-11-25 Mattias Ellert - - * backend/artec_eplus48u.conf, backend/snapscan.conf: Use default - firmware dirs in config files - * doc/sane-artec_eplus48u.man, doc/sane-snapscan.man: Use default - firmare dirs in man pages - -2005-11-25 Ulrich Deiters - - * backend/canon-sane: fixed usage of an uninitialized variable - -2005-11-25 Henning Meier-Geinitz - - * po/sane-backends.da.po: Updated Danish translation (from Mogens - Jaeger ). - -2005-11-25 Oliver Schwartz - - * backend/snapscan-sources.c: Fix for grayscale / linart for Epson 3490 - at 3200 DPI - -2005-11-25 Mattias Ellert - - * po/sane-backends.ru.po: Fixing some fuzzies - -2005-11-24 Mattias Ellert - - * doc/gamma4scanimage.man, doc/sane-abaton.man, doc/sane-agfafocus.man, - doc/sane-apple.man, doc/sane-artec.man, doc/sane-avision.man, - doc/sane-bh.man, doc/sane-canon.man, doc/sane-canon630u.man, - doc/sane-config.man, doc/sane-coolscan.man, doc/sane-coolscan2.man, - doc/sane-dc210.man, doc/sane-dc240.man, doc/sane-dc25.man, - doc/sane-dmc.man, doc/sane-epson.man, doc/sane-find-scanner.man, - doc/sane-fujitsu.man, doc/sane-genesys.man, doc/sane-gphoto2.man, - doc/sane-gt68xx.man, doc/sane-hp.man, doc/sane-hp4200.man, - doc/sane-hp5400.man, doc/sane-ibm.man, doc/sane-leo.man, - doc/sane-lexmark.man, doc/sane-ma1509.man, doc/sane-matsushita.man, - doc/sane-microtek.man, doc/sane-microtek2.man, doc/sane-mustek.man, - doc/sane-mustek_pp.man, doc/sane-mustek_usb2.man, doc/sane-nec.man, - doc/sane-net.man, doc/sane-niash.man, doc/sane-pint.man, - doc/sane-plustek.man, doc/sane-plustek_pp.man, doc/sane-ricoh.man, - doc/sane-s9036.man, doc/sane-sceptre.man, doc/sane-sharp.man, - doc/sane-snapscan.man, doc/sane-sp15c.man, doc/sane-st400.man, - doc/sane-tamarack.man, doc/sane-teco1.man, doc/sane-teco2.man, - doc/sane-teco3.man, doc/sane-u12.man, doc/sane-umax1220u.man, - doc/sane-umax_pp.man, doc/sane-usb.man, doc/sane-v4l.man, - doc/sane.man, doc/saned.man, doc/scanimage.man: man page fixes - -2005-11-23 Oliver Schwartz - - * backend/snapscan-options.c: Disable bilevel colour / halftoning - for Epson 3490 - -2005-11-23 Mattias Ellert - - * backend/Makefile.in: added "artec_eplus48u" to FIRMWARE_DIRS - -2005-11-22 Mattias Ellert - - * po/sane-backends.sv.po: Updated Swedish translation - * sanei/sanei_scsi.c: Added some debugging. Fixed some varnings - ----- FEATURE FREEZE FOR SANE 1.0.17 --- - -2005-11-20 Henning Meier-Geinitz - - * backend/genesys.c backend/genesys_devices.c - backend/genesys.conf: Bumped build number. Changed scanner's - name to Canon LiDE 35/40/50. Added Canon LiDE LiDE 60. This scanner - is still commented out in genesys.conf. Removed comment sign for - Canon LiDE 35/40/50 in genesys.conf. - * doc/descriptions/genesys.desc: Added Canon LiDE 35, 40, 50, 60. - * doc/sane-genesys.man: Updated concerning gl841 scanners. - * doc/descriptions/unsupported.desc: Moved Canon LiDE 35/40/50/60 - to genesys.desc. Added Canon Pixma MP150, Tevion MD 90070 and - Primax Colorado 1200p. - * tools/hotplug/libsane.usermap: Added Plustek Opticslim 2400 ids - (from Jan Matousek). - * NEWS: Updated. - -2005-11-19 Pierre Willenbrock - - * backend/genesys_gl841.c backend/genesys_devices.c: - Added support for Canon LiDE 35/40/50 - * backend/genesys.c backend/genesys_low.h - backend/genesys_gl646.c: Reworked data conversion - process to convert CIS data, added new slope - generation variant - * backend/genesys_conv.c backend/genesys_conv_hlp.c: - Moved conversion filter functions out of - backend/genesys.c - -2005-11-18 Oliver Schwartz - - * backend/snapscan-options.c: Disable 2400 DPI for - Epson 3490, use 1600 DPI instead - -2005-11-17 Gerhard Jaeger - - * doc/plustek/Plustek-PARPORT.changes: Update. - * backend/plustek_pp.c backend/plustek-pp.h - backend/plustek-pp_ptdrv.c backend/plustek-pp_wrapper.c: - Fixed sizeof(long) issue for 64bit platforms, see - bugreport #302195. - * backend/plustek_pp.conf: Default config now only tries to - access parport using libieee1284. - -2005-11-15 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-options.c - backend/snapscan-scsi.c: Enabled quality calibration for the - Epson 3490 - * doc/descriptions/snapscan.desc: Changed status for Epson Perfection - 3490 (good) and 3590 (basic) - -2005-11-15 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added HP Scanjet 4890. Added - several Optrox scanners. - * doc/descriptions-external/brother.desc: Marked status of - MFC-9880 as "unsupported" based on a user's report. - -2005-11-13 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added IOmagic MobileScan - USB. Mentioned chips used in the Artec AM12E+. - * doc/descriptions-external/hp3770.desc - doc/descriptions-external/hp8200.desc: Added clarification - concerning status of these backends. - -2005-11-10 Oliver Schwartz - * backend/snapscan.c backend/snapscan-sources.c: Added - deinterlacing for Epson 3490 - * backend/Makefile.in: added "snapscan" to FIRMWARE_DIRS - -2005-11-07 m. allan noah - - * backend/fujitsu.c: M3091/2 lie about gamma dl capability - -2005-11-07 Henning Meier-Geinitz - - * doc/descriptions/microtek2.desc: Fixed "unmaintained" - marker. Added Microtek Scanmaker V6UPL (bug #302464). - * tools/check-usb-chip.c: Added detection of rts8822l-01h chipset - (patch from Jonathan Bravo Lopez ). - -2005-11-06 Henning Meier-Geinitz - - * doc/descriptions-external/epkowa.desc: Disabled man page link - (points to nowhere). Bug #302463. - * doc/descriptions/unsupported.desc: Added Canon PIXMA MP130. - * doc/sane-hp.man doc/sane-microtek2.man: Fixed links to ppscsi. - -2005-11-02 Oliver Schwartz - - * sanei/sanei_usb.c: Fixed output of transfer buffer for - usb_read_bulk in OS/2. - * backend/snapscan.c backend/snapscan-scsi.c: Fixes for Benq 5000 - * backend/snapscan-usb.c: Avoid recursive calls of usb_sense_handler - -2005-11-01 Henning Meier-Geinitz - - * sanei/sanei_usb.c: Added support for detecting vendor and - product id with FreeBSD kernel scanner driver (based on patch in - FreeBSD ports). - * README.freebsd: Updated information about USB scanners. - -2005-10-31 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-scsi.c backend/snapscan.h - backend/snapscan-options.c doc/descriptions/snapscan.desc: - Distinguish between 5000/5000E/5000U - * backend/snapscan-sources.c: Enable deinterlacer for 5000E/5000U - for 1200 DPI - * backend/snapscan.conf: Fix names for 5000/5000E/5000U - -2005-10-30 Giuseppe Sacco - - * po/*it.po: Updated italian translation - -2005-10-29 Henning Meier-Geinitz - - * backend/artec_eplus48u.conf - doc/descriptions/artec_eplus48u.desc: Added support for Trust - 240H Easy Webscan Gold to artec_eplus48u backend. - * Makefile.in acinclude.m4 configure configure.in - backend/Makefile.in frontend/Makefile.in lib/Makefile.in - sanei/Makefile.in tools/Makefile.in: - Run "makedepend" if it's available. This way "make" builds - backends correctly even if only included files (e.g. headers) are - changed. Don't be too verbose when running makedepend. - Create links libsane-*.so.1 to the real library files if the - links are not there. This fixes dynamic loading on OpenBSD. The - links are not created for MacOS X as they don't work there. - Remove any libsane.* links in /usr/local/lib/sane. Such links - are created by libtool. As they point to libsane-v4l.so, - scanimage -L doesn't find any scanner in case of ld.so - misconfigurations. - The install target is much quiter now and prints the libtool - message only once now. - * README.openbsd: Removed comment about broken library links. - -2005-10-28 Gerhard Jaeger - - * po/*.po: Updated po files, corrected/updated german translation. - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c backend/plustek.h: Added OPTION_SPEEDUP. - * backend/plustek-usbdevs.c: Changed high-speed setting for - UMAX 3400, due to bugreport #302317. - Fixed CanoScan N650U settings (bugreport #302433). - -2005-10-25 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c: Bumped build number. - * backend/plustek-usbdevs.c: Tweaked LiDE25 settings. - * backend/plustek-usb.c: Let CIS devices use green-channel - for gray scans. - * backend/plustek-usbcal.c: Fixed segfault condition in fine - calibration for gray scanmodes. - -2005-10-24 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-scsi.c backend/snapscan.h - backend/snapscan-options.c: Fix transparency range for Epson - 2480/2580, fix preview for Epson 2580. - -2005-10-24 Henning Meier-Geinitz - - * doc/descriptions/umax1220u.desc: Marked backend as - unmaintained. Used non-broken link. - -2005-10-23 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-scsi.c: Fixes for buffer - size in high-res modes by Simon Munton, small changes to delay - code. - -2005-10-23 Henning Meier-Geinitz - - * tools/hotplug/libsane.usermap: Added Epson Stylus DX3850 (from - niels_kalle ). - -2005-10-22 Eddy De Greef - - * backend/mustek_pp_cis.c: Decreased the maximum number of pixels - on a line for CIS scanners a bit to avoid border artifacts. - -2005-10-22 Eddy De Greef - - * backend/mustek_pp_cis.c backend/mustek_pp_cis.h - doc/sane-mustek_pp.man: Added an optional engine_delay parameter - to work around potential engine instability problems for CIS models. - -2005-10-21 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c: Bumped build number. - * backend/plustek-usbdevs.c: Fixed high-speed feature of - Canoscan D660U. - -2005-10-20 Oliver Schwartz - - * backend/snapscan-scsi.c: Fixes for 16 bit - quality calibration by Simon Munton - -2005-10-18 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added HP ScanJet 7650 and - UMAX Astra 2500. - * doc/descriptions-external/brother2.desc: MFC-210C is reported to - work. - * NEWS: Created entry for sane-backends 1.0.17. - -2005-10-17 Henning Meier-Geinitz - - * acinclude.m4 configure: Fixed check for libpthread functions. - * tools/hotplug/libsane.usermap: Added Brother MFC 210C (from - Benjamin Mirza ). - * doc/descriptions-external/epkowa.desc: Updated for iscan 1.17.0 - (patch from Olaf Meeuwissen ). Bug #302183. - -2005-10-16 Henning Meier-Geinitz - - * AUTHORS: Marked Michael Herder as not active. No activity since - some time, most email addresses bounce, no response to - pings. Changed contact address to the only one that doesn't - directly bounce. - * backend/artec_eplus48u.conf: Added support for UMAX AstraSlim - 1200 SE (from Harq al-Ada ). - * doc/descriptions/artec_eplus48u.desc: UMAX AstraSlim - 1200 SE is supported. Backend is unmaintained. - * doc/descriptions/unsupported.desc: Added HP ScanJet - 4850C. Removed UMAX AstraSlim 1200 SE. - * backend/gt68xx.c backend/gt68xx_generic.c - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Minor - modifications to sheet-fed scanner support. - * backend/mustek_usb2.c backend/mustek_usb2.h - backend/mustek_usb2_asic.c backend/mustek_usb2_asic.h - backend/mustek_usb2_high.c backend/mustek_usb2_high.h - backend/mustek_usb2_reflective.c backend/mustek_usb2_transparent.c - doc/descriptions/mustek_usb2.desc - doc/mustek_usb2/mustek_usb2.CHANGES: - Removed typedefs for DWORD, WORD and so on. Used int, unsigned - short, ... directly in the code. - * AUTHORS configure configure.in backend/Makefile.in - backend/dll.conf backend/lexmark-x1100.c backend/lexmark.c - backend/lexmark.conf backend/lexmark.h doc/Makefile.in - doc/sane-lexmark.man tools/hotplug/libsane.usermap: Added lexmark - backend (from Fred Odendaal ). - * frontend/tstbackend.c: Added vendor "Lexmark". - * doc/sane.tex: Added vendor "Lexmark". Used current date. - * doc/descriptions-external/lexmark.desc - doc/descriptions/lexmark.desc: Moved to doc/descriptions. Added - "new" marker. Added manpage link. Updated version. Marked X1180 - as "basic" according to man page. - * doc/sane.man: Added lexmark backend. - * backend/Makefile.in doc/Makefile.in tools/Makefile.in: Make - "make dist" work again. - * acinclude.m4 configure include/sane/config.h.in: Check for - pthread_cancel() and pthread_testcancel(). - -2005-10-15 Jochen Eisinger - - * doc/descriptions/mustek_pp.desc: add Medion MD9806 scanner as - supported - -2005-10-14 Oliver Schwartz - - * backend/snapscan-options.c backend/snapscan-scsi.c - backend/snapscan.c backend/snapscan-sources.c: - Fixes for 16 bit scan mode from Simon Munton - -2005-10-11 Oliver Schwartz - - * backend/snapscan-options.c backend/snapscan-scsi.c - backend/snapscan.c backend/snapscan-sources.c: - Fixes for Epson 3490/3590 and 16 bit scan mode - -2005-10-11 Stephane Voltz - - * backend/umax_pp.c: change sane_start semantic to allow for batch - scanning - -2005-10-08 Henning Meier-Geinitz - - * doc/descriptions-external/mustek_a3p1.desc: Downgraded status to - minimal. - * doc/descriptions/mustek_usb2.desc: Added "new" marker. - -2005-10-06 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added HP ScanJet 3800c. - * frontend/scanimage.c: Use correct size for fgets. Patch from - Antoine Jacoutot . - -2005-10-05 Mattias Ellert - - * backend/microtek2.c: Off-by-one error - -2005-10-03 Henning Meier-Geinitz - - * AUTHORS acinclude.m4 configure configure.in backend/Makefile.in - backend/dll.conf backend/mustek_usb2.c backend/mustek_usb2.h - backend/mustek_usb2_asic.c backend/mustek_usb2_asic.h - backend/mustek_usb2_high.c backend/mustek_usb2_high.h - backend/mustek_usb2_reflective.c backend/mustek_usb2_transparent.c - doc/Makefile.in doc/sane-mustek_usb2.man - doc/mustek_usb2/mustek_usb2.CHANGES - doc/mustek_usb2/mustek_usb2.TODO: - Added mustek_usb backend which supports the Mustek BearPaw 2448 - TA Pro. Changes of the code before inclusion to CVS can be found - in doc/mustek_usb2/mustek_usb2.CHANGES. - * doc/sane.man: Added mustek_usb2. Added description for u12 - backend. Added missing links to other backends. - * doc/descriptions/mustek_usb2.desc: Moved from - descriptions-external. Updated. - * PROJECTS: Removed link to BeOS (link goes to nowhere, SANE - website has links to projects). Removed link to wi32 port - (included in SANE). Removed link to SaneTwain (listed on SANE - website). - * doc/doxygen-sanei.conf.in: Updated to current doxygen - version. Output more C-friendly format. - * include/sane/sanei.h include/sane/sanei_backend.h - include/sane/sanei_debug.h include/sane/sanei_pp.h - include/sane/sanei_usb.h: Fixed some bugs in doxygen - documentation. Added some comments. - -2005-10-02 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c: Bumped build number. - * backend/plustek-usbdevs.c backend/plustek-usb.h: Updated motor - settings for Canoscan LiDE25, thanks to Stephan February - for providing these values. - -2005-10-02 Henning Meier-Geinitz - - * doc/descriptions/as6e.desc: Added Trust Easy Scan 9600 Plus (bug - #301000). - * backend/sharp.c: Fixed some compilation warnings (bug #300404). - * AUTHORS: Fixed Rene Rebe's email address. - * doc/descriptions/unsupported.desc: Removed Epson Perfection 4180 - (supported by epkowa backend). - -2005-10-01 Henning Meier-Geinitz - - * doc/descriptions-external/mustek_a3p1.desc - doc/descriptions/unsupported.desc: Added external mustek_a3p1 - backend that supports Mustek P 3600 A3 Pro. - * tools/Makefile.in: Added udev to list of directories that are - part of the distribution. - * doc/descriptions.txt: Yet another "itsself". - * backend/sp15c.c: Fixed some warnings (bug #302290). - -2005-10-01 Julien Blache - * doc/sane-find-scanner.man: Typo fix, s/itsself/itself/ from - Alfie Costa. - -2005-09-29 Eddy De Greef - - * backend/mustek_pp_cis.c: Minor bug fix: wrong model name was - reported for 1200CP+ driver. - -2005-09-29 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_generic.c backend/gt68xx_generic.h - backend/gt68xx_high.c backend/gt68xx_low.c backend/gt68xx_low.h - doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES doc/gt68xx/gt68xx.TODO: - Added support for Plustek OpticSlim M12 (untested). Based on patch - from Gerhard Jaeger . Fixed gt68xx homepage - links in man page. Changed minimum version of libusb to 0.1.8. - * doc/descriptions/unsupported.desc: Removed Plustek OpticSlim M12. - -2005-09-28 Oliver Schwartz - - * backend/snapscan-options.c backend/snapscan-scsi.c - backend/snapscan.c backend/snapscan.h: - Added 16 bit option for Epson scanners, untested. - Reenabled enhanced inquiry command for epson scanners. - -2005-09-28 Julien Blache - * tools/udev/convert-usermap.sh: Don't print 0x when matching VID - and PID. - -2005-09-28 Julien Blache - * tools/udev/convert-usermap.sh: Added script to convert - hotplug/libsane.usermap to a udev rules file. udev 070 + linux - 2.6.14 will deprecate hotplug. - * tools/README: updated. - -2005-09-28 Henning Meier-Geinitz - - * doc/descriptions-external/brother.desc: Removed duplicate entry. - * doc/descriptions/genesys.desc: Added link to genesys homepage. - -2005-09-26 Henning Meier-Geinitz - - * tools/sane-find-scanner.c: Print more clear output if no USB - scanners are found. Point to manual page. Warn if libusb support - hasn't been built. - -2005-09-25 Henning Meier-Geinitz - - * doc/descriptions-external/lexmark.desc - doc/descriptions/unsupported.desc: Added external lexmark - backend. Moved Lexmark X11?? devices to lexmark.desc. Based on - patch from Fred Odendaal . - -2005-09-25 Oliver Schwartz - - * backend/snapscan-scsi.c: Removed debugging code for - Epson scanners until a working solution has been found. - -2005-09-23 Henning Meier-Geinitz - - * README: Mention in addition to the listed libraries, their - header files are also neccessary. A missing usb.h is a common - problem when building SANE (--> no USB support). - * configure configure.in: Added warning message that's printed - when libusb or its header file is not available. - * frontend/scanimage.c doc/scanimage.man: Added progress indicator - to scanimage (based on patch from Mario Goppold - ). Updated copyright information, added - links to sane-devel mailing list. - * sanei/sanei_usb.c: Ignore EBUSY from usb_set_configuration. This - function fails, if a different interface of the same device is - claimed (e.g. by usblp). - -2005-09-22 Mattias Ellert - - * backend/hp4200.c backend/umax.c backend/umax1220u.c - include/sane/sanei_pv8630.h sanei/sanei_pv8630.c: - Fix SANE_DEBUG_SANEI_PV8630 - -2005-09-19 Frank Zago - - * backend/dc210.c backend/leo.c backend/matsushita.c - backend/sceptre.c backend/sp15c-scsi.h backend/sp15c.h - backend/teco1.c backend/teco2.c backend/teco3.c - include/sane/sanei_backend.h: Replaced __unused__ with - __sane_unused__ to avoid a namespace conflict. - -2005-09-18 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_high.c - doc/descriptions/gt68xx.descdoc/gt68xx/gt68xx.CHANGES - doc/gt68xx/gt68xx.TODO: Fixed segfault that may happen with - Mustek ScanExpress A3 USB. - * doc/backend-writing.txt: Added some hints about number of - files. - * backend/mustek.conf doc/sane-mustek.man - doc/descriptions/mustek.desc: Mustek Paragon 600 II EP - works. Mentioned "parport0". - * doc/descriptions/unsupported.desc: Added Canon PIXMA MP750. - -2005-09-17 Mattias Ellert - - * README.darwin: New date for good libusb from CVS - -2005-09-07 Mattias Ellert - - * acinclude.m4, configure: fix disabling of locking when the - locking user group does not exist - -2005-09-07 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Genius ColorPage Slim - 1200. - -2005-09-07 Oliver Schirrmeister - - * backend/fujitsu.c: enabled dropoutcolor for all fi-* scanners. - Applied patch from Mario Goppold: Bugfixes for the M3092DCd - -2005-09-05 Henning Meier-Geinitz - - * po/sane-backends.ru.po: Updated Russian translation (from Vitaly - Lipatov ). - -2005-09-03 Oliver Schwartz - - * backend/snapscan.h backend/snapscan-scsi.c: (Hopefully) fixed - some debugging code for Epson scanners that only works after - firmware upload. - -2005-09-02 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Epson Perfection 4490 - Photo. - * tools/hotplug/libsane.usermap: Added HP PSC 750. - -2005-09-01 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c - backend/gt68xx_generic.c backend/gt68xx_high.c - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Genius - ColorPage Vivid 1200 X is reported to work. Genius ColorPage Vivid - 4 XE seems to be the same as 4 X, it just doesn't have - buttons. Cleanup of .desc file. Fixed gain setting. Mustek - ScanExpress A3 USB 600 dpi color scanning works now. - * tools/check-usb-chip.c: Added detection for SQ113 chip - (e.g. Mustek BearPaw 2448 TA Pro). - -2005-08-31 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Removed Mustek 1800 A3 Pro - (this is actually a P3600 A3 Pro). - * doc/descriptions-external/mustek_usb2.desc: Mustek BearPaw 2448 - TA Pro has status "good" now. - -2005-08-30 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Removed Mustek BearPaw 2448 - TA Pro (now supported by external Mustek USB2 backend). Added - comments about that backend to some other scanners that may be - supported later. - * doc/descriptions-external/mustek_usb2.desc: New external Backend - for Mustek BearPaw 2448 TA Pro. - -2005-08-29 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Canon LiDE 60 is GL841 based. - -2005-08-28 Henning Meier-Geinitz - - * doc/descriptions/canon630u.desc: Changed status of Canon 636u - too "good". - -2005-08-27 Henning Meier-Geinitz - - * doc/descriptions-external/brother2.desc: Brother MFC-5440CN is - reported to work (bug #302105). - -2005-08-24 St~hane Voltz - - * backend/umax_pp.c backend/umax_pp_low.c tools/umax_pp.c: Added EPP - support for 610P, revision number changes - -2005-08-23 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Canon LiDE 60. Reflecta - Digitdia 3600 is not GL841-based. - -2005-08-22 St~hane Voltz - - * tools/check-usb-chip.c: Added rts8858c detection (Lexmark - X1100 series, Dell A920). - -2005-08-22 Henning Meier-Geinitz - - * tools/hotplug/libsane.usermap: Added some Genius scanners. Fixed - Visioneer Onetouch 7300 USB. Added Plustek OpticSlim 2400. - * README.openbsd: Mention problems with library names. - -2005-08-22 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c: Bumped build number. - * backend/plustek-usb.c backend/plustek-usbscan.c: Fixed problem, - when trying to scan at resolutions beyond the optical one - (sensor stops too early). - * tools/hotplug/libsane.usermap: Added USB ID for LiDE25. - -2005-08-21 Henning Meier-Geinitz - - * doc/descriptions/microtek2.desc - doc/descriptions/unsupported.desc: Marked microtek2 backend as - unsupported. Changed link to point to old website directly. Listed - Microtek ScanMaker 9800XL as supported (bug #301515). - -2005-08-21 Mattias Ellert - - * ltmain.sh acinclude.am configure: Updated from libtool 1.5.18. - -2005-08-20 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_low.h doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES doc/gt68xx/gt68xx.TODO: - Increased number limit of scanners that can work with this - backend to 50. Added support for Genius ColorPage Vivid 1200 X - (untested). - -2005-08-19 Henning Meier-Geinitz - - * configure configure.in: Fixed check for usbcalls.h on OS/2 - (patch from Paul Smedley ). - * backend/gt68xx.c backend/gt68xx_devices.c doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES: Enabled GT68XX_FLAG_NO_STOP for - Mustek BearPaw 2400 CU Plus. Some of these scanners don't seem - to like that command. - * doc/descriptions/artec_eplus48u.desc: Disabled link to backend - homepage which doesn't seem to contain anything sane-related. - -2005-08-19 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek-usb.h backend/plustek-usbdevs.c: Removed obsolete - _WAF_BLACKFINE. LiDE20 does not seem to have a reliable black - calibration area, so the devices now will switch off the lamp - for dark calibration. - * backend/plustek-usbcal.c backend/plustek-usbscan.c: Cleanup. - * backend/plustek-usbshading.c: Fixed line statistics and added - calibration data output. - * backend/plustek.c: Bumped build number. - -2005-08-18 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_low.c backend/gt68xx_low.h - doc/sane-gt68xx.man doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES doc/gt68xx/gt68xx.TODO: - Fixed the problem concerning scanning on *BSD. Scanning only - worked once (bug #300597). Fixed compilation warnings. - -2005-08-17 Henning Meier-Geinitz - - * README: Min. libusb version is 0.1.8. - -2005-08-17 Julien Blache - - * tools/hotplug/libsane.usermap: Added USB IDs for the - sm3600-supported scanners. If you know the exact model name - corresponding to the above IDs, please mail sane-devel: - 0x05da/0x40b3, 0x05da/0x40b8, - 0x05da/0x40ca, 0x05da/0x40dd, 0x05da/0x40ff - -2005-08-16 Oliver Schwartz - - * backend/snapscan-scsi.c: Make compileable ;-) - * backend/snapscan-options.c: Removed //-style comment - -2005-08-16 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Canon PIXMA MP780 and - Lexmark P6250. - * tools/sane-find-scanner.c: Don't print anything else but the - found messages in "-q" mode. - * tools/check-usb-chip.c: Added check for combination of a - PowerVision PV8630 (USB->parport bridge) and National - Semiconductor LM9830 as used in the HP 4200. Fixed compilation - warning. Added check for Toshiba M011 chips as used in Microtek - ScanMaker 3600, 3700, and 3750. - * configure configure.in backend/Makefile.in backend/sm3600-scanusb.c - backend/sm3600-scanutil.c backend/sm3600.c backend/sm3600.h - doc/sane-sm3600.man doc/sane-usb.man: - Removed direct dependence of sm3600 on libusb. Used sanei_usb - instead. Based on patch from Fran~is Revol . - Updated documentation accordingly. Fixed compilation warnings. - -2005-08-15 Oliver Schwartz - - * backend/snapscan.c: Bumped version number - * backend/snapscan-scsi.c: Added temporary debug code for 2480/2580 - distinction - -2005-08-15 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-options.c backend/snapscan-scsi.c - backend/snapscan.h doc/descriptions/snapscan.desc - backend/snapscan.conf: Added support for Epson Perfection 3490/3590 - (thanks to Matt Judge). - -2005-08-15 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * doc/descriptions/plustek.desc: Updated version number. - * backend/plustek.h. backend/plustek-usb.h backend/plustek-usbcalfile.c - backend/plustek-usbimg.c backend/plustek-usbmap.c - backend/plustek-usbdevs.c backend/plustek-usbscan.c: Cleanup. - * backend/plustek.c: Bumped version and build number. - Activated IPC between reader-process and parent. - * backend/plustek-usbio.c: usbio_DetectLM983x() now returns error if - register could not be red, usbio_ResetLM983x() checks for reg7 - value before writing. - * backend/plustek-usbhw.c: Added button support for Plustek/Genius - devices. Changed behaviour of usb_IsScannerReady(). - Added special misc I/O setup for CIS devices (usb_ResetRegisters). - * backend/plustek-usb.c: Minor fix for startup reset. - Removed unnecessary calls to usbio_ResetLM983x(). - * backend/plustek-usbshading.c: Readded kCIS670 to add 5% extra to - LiDE20 fine calibration. - * backend/plustek-usbcal.c: Tried to use the settings from SANE-1.0.13. - Added _TWEAK_GAIN to allow increasing GAIN during lamp coarse - calibration. Added call to speedtest function. - -2005-08-14 Henning Meier-Geinitz - - * Makefile.in: Added Changelog-1.0.16 to DISTFILES. - * backend/hp4200.c doc/sane-hp4200.man - doc/descriptions/hp4200.desc: Enabled backtracking by - default. This is slower but avois bumping the scan head at the end - of the scan area and also missing parts of the scanned - image. Increased safety margin for backtracking. This fixes the - "garbled image" bug. Set default gamma value to 2. Manpage - update. Status set to "basic". - * frontend/scanimage.c: Don't exit with error when trying to set - inactive options. This especially happens in connection with - geometry options and the v4l backend (bugs #300321, #301977). - -2005-08-13 Henning Meier-Geinitz - - * doc/descriptions/niash.desc doc/descriptions/sm3840.desc: - Removed ":new". - * AUTHORS configure configure.in backend/Makefile.in - backend/dll.conf backend/hp4200.c backend/hp4200.conf - backend/hp4200.h backend/hp4200_lm9830.c - backend/hp4200_lm9830.h doc/Makefile.in - doc/sane-hp4200.man doc/sane.man - doc/descriptions/hp4200.desc: Added hp4200 backend. Code from - Julien BLACHE's sane-backends-extras debian package, based on - Frank Zago's patches based on Adrian Perez Jorge's code. Fixed - compilation warnings. Fixed bug when no sane device was - given. Code indented by indent -gnu. Added man page. - * doc/descriptions-external/hp4200.desc: Removed (backend is now - included). - * configure configure.in: Moved CPPFLAGS definition down to avoid - problems with libtool tests for -fPIC. - -2005-08-10 Gerhard Jaeger - - * backend/plustek_pp.c: Bumped build number. - * backend/plustek_pp-genericio.c: Fixed bug, that causes ASIC96003/1 - based devices to move their sensors too fast in lineart mode at - 200 and 300dpi. - * doc/plustek/Plustek-PARPORT.changes: Update. - -2005-08-09 Henning Meier-Geinitz - - * sanei/sanei_usb.c: Minor fixes for usbcalls interface (patch - from Paul Smedley ). - * doc/descriptions/unsupported.desc: Added Hewlett-Packard Scanjet - 4370. - -2005-08-08 Gerhard Jaeger - - * acinclude.m4 configure: Locking feature will be disabled on OS/2 - per default (according to Paul Smedley ). - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c: Bumped build number. - * doc/plustek/Plustek-USB.txt doc/descriptions/plustek.desc - doc/sane-plustek.man backend/plustek-usb.c backend/plustek-usbdevs.c: - Added support for CanoScan LiDE25. - -2005-08-07 Oliver Schwartz - - * backend/snapscan.c: Use first known device if no explicit device name - is specified - -2005-08-07 Henning Meier-Geinitz - - * configure configure.in: Updated version. Enabled compilation - warnings. - * doc/releases.txt: Typo fix. - * config.guess config.sub: Updated from libtool 1.5.18. - * configure configure.in include/sane/config.h.in - sanei/sanei_usb.c: Added support for usb functionality on OS/2 - using the usbcalls interface (patch from Paul Smedley - ). - * sanei/sanei_usb.c: Fixed some compilation warnings. - -Older entries can be found in ChangeLog-1.0.16. diff --git a/ChangeLog-1.0.18 b/ChangeLog-1.0.18 deleted file mode 100644 index b224cf0..0000000 --- a/ChangeLog-1.0.18 +++ /dev/null @@ -1,973 +0,0 @@ -****** Release of sane-backends 1.0.18. End of code freeze ****** - -2006-07-03 Henning Meier-Geinitz - - * configure configure.in: Increased version number. - -2006-07-02 Gerhard Jaeger - - * backend/plustek.c: Fixed the fix (problem when trying to - select bit-depth). - -2006-07-01 Wittawat Yamwong - - * doc/sane-pixma.man doc/descriptions/pixma.desc: - Updated status of MP760 and MP780 - -2006-06-30 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update - * backend/plustek.c: Fixed problem when trying to select bit-depth. - -2006-06-29 Henning Meier-Geinitz - - * NEWS: Added dell1600n_net backend. - * doc/releases.txt: Typo fix. - * aclocal.m4 configure configure.in include/sane/config.h.in: - Disabled compilation warnings for release. - ----- CODE FREEZE FOR SANE-BACKENDS 1.0.18 --- - -2006-06-26 Henning Meier-Geinitz - - * NEWS: Updated for 1.0.18. - -2006-06-24 m. allan noah - - * backend/fujitsu.c: update to v1.0.33, add 5900 usb id - * doc/descriptions/fujitsu.desc: usb id and version update - -2006-06-22 Henning Meier-Geinitz - - * doc/descriptions/epson.desc: Fixed USB id of CX6600 (patch from - Olaf Meeuwissen ). - * doc/descriptions-external/epkowa.desc: Updated (patch from - Olaf Meeuwissen ). - * doc/descriptions/unsupported.desc: Added Xerox WorkCentre - PE120i. - -2006-06-19 Henning Meier-Geinitz - - * doc/sane-usb.man: Fixed typo (bug #303571). - -2006-06-19 Giuseppe Sacco - - * corrected sane-usb manual page. - -2006-06-15 Ulrich Deiters - - * backend/canon.c, canon.h, canon-scsi.c, canon-sane.c: - got rid of some compiler warnings - -2006-06-14 m. allan noah - - * backend/fujitsu.c: update to v1.0.32, add 4220c2 usb id - * doc/descriptions/fujitsu.desc: usb id and version update - -2006-06-14 Jon Chambers - * backend/dell1600n_net.c: working backend added - -2006-06-13 m. allan noah - - * backend/fujitsu.[ch]: update to v1.0.31, add 5220c usb id, - dont show ink level buttons if no imprinter, gather button - presses more frequently - * doc/descriptions/fujitsu.desc: usb id and version update - -2006-06-12 Jochen Eisinger - - * doc/descriptions/mustek_pp.desc: Added Micromaxx MM-0851 - ----- FEATURE FREEZE FOR SANE 1.0.18 --- - -2006-06-11 Henning Meier-Geinitz - - * backend/coolscan2.c doc/descriptions/coolscan2.desc: Added - (minimal) support for Nikon LS 50 ED, Coolscan V ED and - (probably) Super Coolscan LS-5000 ED (patch from Giuseppe Sacco - ). - * backend/pixma.h: Fixed compilation problem on *BSD (ENODATA not - defined). - * doc/descriptions/unsupported.desc: Added Canon 9950. Removed - Epson 4490 (supported by epkowa). Removed Nikon scanners - (supported by coolscan2 backend). Updated PLANon DocuPen R700. - -2006-06-11 Eddy De Greef - - * AUTHORS backend/mustek_pp_cis.c backend/mustek_pp_cis.h - doc/sane-mustek_pp.man: e-mail address update. - -2006-06-11 Henning Meier-Geinitz - (patch applied by Karl Heinz Kremer - - * doc/descriptions/epson.desc: Added CX-4800. Added Perfection - 4990 (bug #301795). - * backend/epson_usb.c: Added CX-4800 (bug #303341). - * backend/epson.c: Fixed segfault when a scanner isn't - recognized. Added "Flatbed" as the only possible source option for - MOD_SOURCE in this case (bug #303340). - Epson CX4800 and CX6400 were detected as "unknown model". This - changes request_identity2 to 0 in the EpsonCmdRec for the "D7" - level, which skips the call to get_identity2_information(). The - second bug was that the return status of - get_identity2_information() was not checked in attach(). This - actually allowed the scanner to be used but with inaccurate - parameters (e.g. "Unknown model", default color depth, etc) - because the scanner was already closed before probing for the rest - of the parameters (bug #301478, #303342). - The Epson Perfection 4990 photo/GT-X800 wrongly return 3200 dpi as - their maximum resolution. This workaround enables teh full 4800 - dpi (bug #302090, patch from Claus Boje ). - * backend/epson.conf.in: Detect some more epson SCSI scanners - (GT-6000, GT-9000) which report "EPSON SC" instead of "EPSON" as - SCSI manufacturer ID (bug #303269). - * sanei/sanei_pio.c: Don't do a busy loop when looking for - scanners. This froze the backend when the scanner was switched - off. Also CPU time is much reduced (bug #301926). - -2006-06-11 Gerard Klaver - - * include/Makefile.in font_6x11.h added - -2006-06-10 Wittawat Yamwong - - * backend/pixma_mp750.c doc/sane-pixma.man - /doc/descriptions/pixma.desc: - Removed experimental flag from MP750, MP760 and MP780. - -2006-06-09 Gerard Klaver - - * doc/sane-stv680.man update text - -2006-06-09 m. allan noah - - * frontend/scanimage.c: move sane_cancel() out of scan_it(). - more like scanadf. fixes issues with duplex adf scanning. - -2006-06-08 Wittawat Yamwong - - * backend/pixma.h: Upgraded to version 0.11.3 - * backend/pixma_common.c backend/pixma_common.h: - Added a work-around for the buffer underrun problem. - * backend/pixma_io_sanei.c: Set minimum timeout to 10ms. - * backend/pixma_mp150.c: Added 2 commands for MP800. - * backend/pixma_mp730.c: Added debug info. - * backend/pixma_mp750.c: Added support for buttons and a work-around - for the lockup problem. - * backend/pixma.c: Removed SANE_I18N from backend type string. - * doc/sane-pixma.man: Updated - * doc/descriptions/pixma.desc: Updated status of MP750. - -2006-06-08 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update - * backend/plustek.c backend/plustek-usbcal.c - backend/plustek-usbcalfile.c backend/plustek-usbhw.c: - Fixed calibration cache issues (coarse calibration for all modes, - correct fine calibration for sheetfed devices). - -2006-06-08 Mattias Ellert - - * po/sane-backends.*.po: updated with new translation keys from - genesys backend. - -2006-06-07 Pierre Willenbrock - - * backend/genesys.c backend/genesys.h backend/genesys_low.h: added - options for enabling/disabling horizontal interpolation at high - resolutions and selection of color filter in grayscale and - lineart modes. - * backend/genesys_gl841.c: implemented color filter selection. - -2006-06-07 Gerhard Jaeger - - * configure, configure.in, backend/Makefile.in - include/sane/sanei_access.h sanei/Makefile.in - sanei/sanei_access.c: Added patch created by - Vitaly Lipatov : - Add --with-lockdir to configure for set path to lock dir - Set PATH_SANE_LOCK_DIR really to lock dir (instead localstatedir) - * po/sane-backends.de.po: Update. - -2006-06-06 m. allan noah - - * backend/fujitsu.[ch]: update to v1.0.30, init more models, - M3091/2 duplex support, flatbed bug fixes, minor refactoring - * doc/descriptions/fujitsu.desc: status and version update - * doc/sane-fujitsu.man: remove note about broken M3091/2 duplex - -2006-06-06 Rene Rebe - - * backend/avision.c backend/avision.h backend/avision.conf.in - doc/descriptions/avision.desc doc/sane-avision.man: updated the - Avision backend (Build 182 -> 201), including a lot fixes, - some new features and support for a bunch of new devices and updates - to the status marks, including: control of the lamp power-save time, - retrieval of NVRAM data such as the scan counts and serial number, - correction of the quality vs. preview scan bit (was inverted), - fixes for the logic deciding whether the cached window parameters - are valid, yet another deinterlacing method (for new scanner - models), rewritten main loop to be able to read with larger - USB buffers for enhanced scan speed, fixes of BGR -> RGB mirroring - (was off-by-one), attaching without a config by probing all - known SCSI vendor/product IDs and some fixed typos on the way - -2006-06-06 Mattias Ellert - - * po/Makefile.in, po/sane-backends.*.po: updated with translation - keys from stv680 backend - * backend/Makefile.in: Fix stv680 dependencies - -2006-06-05 Gerard Klaver - - * backend/stv680.c backend/stv680.h backend/stv680.conf.in added - * doc/sane-stv680.man doc/descriptions/stv680.desc added - * AUTHORS: added stv680 Gerard Klaver - * configure configure.in doc/Makefile.in doc/sane.man - backend/Makefile.in backend/dll.conf.in: added stv680 backend - * doc/descriptions-external/stv680.desc: removed because the backend - is now a part of sane-backends. - -2006-06-04 m. allan noah - - * backend/fujitsu.[ch]: update to v 1.0.29, option cleanups, - M3091/2 color mode support, sloppy buffer supports saned/scanimage -T - * backend/fujitsu-scsi.c: proper casting in macro - * doc/descriptions/fujitsu.desc: status and version update - * doc/sane-fujitsu.man: remove note about broken M3091/2 color - -2006-06-03 Wittawat Yamwong - * backend/pixma_sane_options.c: Added SANE_I18N for "Flatbed" and "Color" - * backend/pixma_common.[ch] - backend/pixma_mp150.c backend/pixma_mp730.c - backend/pixma_mp750.c backend/pixma_rename.h - backend/pixma.h: Added pixma_get_device_status() - * backend/pixma.c: Fixed a bug in sane_open(). State wasn't initiallized - properly. - * doc/sane-pixma.man doc/descriptions/pixma.desc: Updated device status. - -2006-06-01 m. allan noah - - * backend/fujitsu.[ch]: update to v 1.0.28 - * doc/descriptions/fujitsu.desc: status and version update - -2006-05-30 m. allan noah - - * backend/fujitsu.c: DBG speedup from abel deuring, - duplex bugfix, split scsi/usb data into new DBG level, - stop including or calling sanei_thread - * doc/descriptions/fujitsu.desc: minor update - * doc/sane-fujitsu.man: minor text changes, note DBG levels - -2006-05-28 Gerhard Jaeger - - * doc/sane-plustek_pp.man: Fixed typo. - * doc/sane-plustek.man: Update. - * doc/descriptions/plustek.desc: Update. - * backend/plustek.c backend/plustek.h backend/plustek-usb.c - backend/plustek-usbcal.c backend/plustek-usbcalfile.c - backend/plustek-usbdevs.c backend/plustek-usb.h - backend/plustek-usbhw.c backend/plustek-usbimg.c - backend/plustek-usbio.c backend/plustek-usbmap.c - backend/plustek-usbscan.c backend/plustek-usbshading.c: - Added support for CIS-based sheetfed scanners, namely TravelScan662. - Added support for saving calibration data for CIS - devices - should speedup CanoScan devices. - -2006-05-28 Wittawat Yamwong - - * backend/pixma.h: Added #define ENODATA and EPROTO to let the - backend compiles under OS/2 with gcc 3.3.5. - -2006-05-27 Giuseppe Sacco - - * Updated italian translation - -2006-05-27 Mattias Ellert - - * tools/sane-desc.c: Added plist output - -2006-05-26 Mattias Ellert - - * po/Makefile.in, po/sane-backends.*.po: updated with translation - keys from pixma backend - -2006-05-26 Wittawat Yamwong - - * AUTHORS: added Wittawat Yamwong - * configure configure.in doc/Makefile.in doc/sane.man - doc/descriptions/pixma.desc backend/Makefile.in - backend/dll.conf.in backend/pixma*.[ch]: added pixma backend - * doc/descriptions-external/pixma.desc: removed because the backend - is now a part of sane-backends. - * sanei/sanei_usb.c: Modified sanei_read_int(): call - usb_clear_halt() if and only if the endpoint is halted. - -2006-05-24 Mattias Ellert - - * Updated Swedish translation - -2006-05-23 m. allan noah - - * backend/fujitsu.c: dont send scsi cmd F1 if unsupported. - * doc/descriptions/fujitsu.desc: update version number. - -2006-05-23 Gerhard Jaeger - - * doc/plustek/Makefile.kernel26: Fixed extraction of version string. - -2006-05-21 m. allan noah - - * backend/fujitsu.c backend/fujitsu.conf.in - doc/descriptions/fujitsu.desc: added usb ids for fi-5110EOX - -2006-05-21 Henning Meier-Geinitz - - * README.linux: Updated concerning USB permissions (really, this - time). - * doc/descriptions/unsupported.desc: Removed models that are now - in pixma.desc. Updated comment for Plustek OpticPro S24. - * doc/descriptions-external/hp_rts88xx.desc: Added reason for not - including the backend. - * backend/gt68xx.c backend/gt68xx_devices.c doc/gt68xx/gt68xx.CHANGES - doc/descriptions/gt68xx.desc: Added support for Plustek OpticPro - S24 (some models). Added .conf entry for Plustek OpticPro S12. - -2006-05-19 m. allan noah - - * backend/fujitsu*: use sanei_scsi_open_extended() - change config file var to "buffer-size", increase default - * doc/sane-fujitsu.man: buffer-size mentioned - -2006-05-18 Henning Meier-Geinitz - - * doc/descriptions-external/pixma.desc: Added some models (from - Wittawat Yamwong ). - -2006-05-14 m. allan noah - - * backend/fujitsu.c: sane_read() - only send EOF with len=0 - do_cmd() - simplify timeout handling - * backend/fujitsu-scsi.h: increase default timeoutes - -2006-05-15 Stephane Voltz - - * backend/genesys_devices.c backend/genesys_gl646.c: tuned HP 2300 - geometry description and added a safeguard against failed origin - detection - -2006-05-14 m. allan noah - - * backend/fujitsu*: rewritten backend, supports many more scanners - with much better usb support and less model-specific code. - * doc/sane-fujitsu.man: updated to match new backend. - -2006-05-12 m. allan noah - - * doc/descriptions/fujitsu.desc: updated with all known scanners - by fujitsu. Most now supported as 'basic'. - -2006-05-10 Henning Meier-Geinitz - - * tools/hotplug-ng/convert-usermap.sh - tools/udev/convert-usermap.sh: Removed. No longer needed as - hotplug-ng and udev files are generated by sane-desc now. - * tools/README tools/hotplug/README tools/hotplug-ng/README - doc/sane-usb.man: Updated documentation concerning udev. - * doc/descriptions/unsupported.desc: Added Epson Stylus CX-5800 - and some PLANon scanners. - -2006-05-06 Henning Meier-Geinitz - - * doc/descriptions/lexmark.desc: X1150 is reported to work. - * doc/descriptions-external/brother.desc: MFC-3820CN is reported - to work. - -2006-04-27 Henning Meier-Geinitz - - * doc/descriptions-external/brother.desc - doc/descriptions-external/brother2.desc: Network models are now - supported (bug #303386). - -2006-04-23 Pierre Willenbrock - - * backend/genesys_devices.c: Increase length of acceleration - slopes for Canon LiDE 35/40/50/60 - -2006-04-21 Stephane Voltz - - * backend/genesys.c: add workraound with issue related - to asic reset and data scan amount - -2006-04-20 Henning Meier-Geinitz - - * backend/artec_eplus48u.conf.in: Made config file more - readable. Instead of commenting every single line, the - explanations are given once at the top. Don't repeat options - that aren't changed anyway. - * doc/descriptions/unsupported.desc: Added Microtek Scanmaker - 3880. - -2006-04-18 Giuseppe Sacco - * Updated italian translation - -2006-04-18 Pierre Willenbrock - - * backend/genesys_gl841.c backend/genesys_gl646.c: Actually use - the endian converted slope table. - * backend/genesys_conv_hlp.c: Fix interpolation code to emit all - pixels of a line. - * doc/descriptions/unsupported.desc: Added missing scanners from - libsane.usermap. - -2006-04-18 Henning Meier-Geinitz - - * doc/descriptions/epson.desc doc/descriptions/fujitsu.desc - doc/descriptions/hp.desc doc/descriptions/u12.desc - doc/descriptions/umax.desc: Added most USB vendor and product - ids. Minor cleanup. - * doc/descriptions/avision.desc: Used avision-desc.sh to update - the .desc file to current SANE CVS avision.c code. Added USB - ids. - * doc/descriptions/plustek.desc: Added USB ids. Splitted some - entries which have two different USB ids. Clarified comment about - UMAX 3400. - * tools/hotplug/libsane.usermap: Removed. Will be created - automatically by sane-desc. - * tools/Makefile.in: Create libsane.usermap (for hotplug), - libsane.db (for hotplug-ng) and libsane.rules (for udev) - automatically with sane-desc based on the :usbid tokens in the - description files. - * doc/Makefile.in: Don't print warnings when creating the HTML - scanner tables. The warnings are already printed in the tools - directory. - * doc/descriptions-external/brother.desc - doc/descriptions-external/brother2.desc: Point to current lists - on Brother website. - * tools/hotplug/.cvsignore tools/hotplug-ng/.cvsignore - tools/udev/.cvsignore: Added. - -2006-04-17 Henning Meier-Geinitz - - * backend/umax1220u-common.c backend/umax1220u.c - doc/descriptions/umax1220u.desc doc/sane-umax1220u.man: Make - UMAX 2100U (and probably 1600U and 2000U) work. Code from Patrick - Lessard . Updated manual page and .desc - file. - * AUTHORS: Added Patrick Lessard and Pierre Willenbrock. - * doc/descriptions/unsupported.desc - doc/descriptions-external/pixma.desc: Moved scanners supported - by the external pixma backend to pixma.desc. Added Canon PIXMA - MP730. - * doc/sane-mustek_usb2.man: Removed description of non-existing - configuration file. - -2006-04-12 Julien Blache - * tools/sane-desc.c: Fix/optimize udev rules; tests on the same - line are ANDed together, not ORed together, causing the rules to - trigger more often than necessary. - -2006-04-09 Henning Meier-Geinitz - - * frontend/saned.c: If saned does not find any config file, it - calls fclose with a NULL FILE*. The code may also leak open file - descriptors and FILE's if multiple config files are found. (bug - #303339). Fixed possible segfault on close_handle() (bug - #303338). - * doc/descriptions/umax1220u.desc: Added links to Patrick - Lessard's patch. - * backend/qcam.c: Fixed undefined symbols in the qcam backend on - GNU/kFreeBSD (patch from Aurelien Jarno ). - * doc/descriptions/unsupported.desc: Added Lexmark X5150. - -2006-04-03 Henning Meier-Geinitz - - * doc/descriptions-external/brother2.desc: Added several scanners - from Brother website. - * doc/descriptions/unsupported.desc: Added C-Channel scanners. - * tools/hotplug/libsane.usermap: Added some scanners. - -2006-03-29 Henning Meier-Geinitz - - * backend/sp15c.c: Fixed ADF support. Patch from Andreas Degert - . - * doc/descriptions-external/cs3200f.desc: Listed new cs3200f - backend for Canon 3200F. - * doc/descriptions/unsupported.desc: Added Canon PIXMA760, Tevion - MD 90090, Microtek ScanMaker 4600, and Visioneer Onetouch - 9320. Removed Canon CanoScan 3200F (now in external backends). - -2006-03-27 Pierre Willenbrock - - * backend/genesys.c backend/genesys.h backend/genesys_low.h - backend/genesys_conv.c backend/genesys_gl841.c: Added extended - option "Threshold" for lineart mode(Thanks to Laurent Charpentier). - -2006-03-24 Julien Blache - * doc/*: Another batch of spelling fixes from A. Costa. - -2006-03-24 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Iris Iriscan and Xerox - Documate 510. - -2006-03-21 Julien Blache - - * doc/*.man: More spelling fixes from A. Costa (through Debian). - -2006-02-02 Oliver Schwartz - - * backend/snapscan-scsi.c: Limit inquiry length to 120 bytes if - firmware is not yet loaded - -2006-03-18 Julien Blache - - * doc/sane-apple.man: Applied patch from A Costa (through Debian); - english/spelling fixes for sane-apple(5). - -2006-03-16 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Microtek ScanMaker 4850 - II and Plustek OpticPro ST 64+. - -2006-03-12 Stephane Voltz - - * backend/genesys_gl646.c: removed now unneeded #ifdef in - gl646_send_gamma_table. - -2006-03-12 Pierre Willenbrock - - * backend/genesys_gl646.c: fixed silly thinko in - gl646_send_gamma_table. - -2006-03-12 Stephane Voltz - - * backend/genesys_gl646.c: fixed gl646_send_gamma_table after - endianess changes. Put again a little fix for power saving - -2006-03-11 Henning Meier-Geinitz - - * sanei/sanei_usb.c tools/sane-find-scanner.c: Added USB support - for DragonFlyBSD (bug #303183). - -2006-03-09 Pierre Willenbrock - - * backend/genesys.c backend/genesys_low.h: Removed little endian - conversions in slope table creation functions - * backend/genesys_gl646.c backend/genesys_gl841.c: Added little - endian conversions to gl*_send_slope_table functions - -2006-03-09 Pierre Willenbrock - - * backend/genesys.c: Some annotations about endianess of scanned - data - * backend/genesys_gl646.c: Convert gamma tables to little endian - -2006-03-06 Stephane Voltz - - * backend/genesys_gl646.c: power saving fixes - -2006-03-05 Henning Meier-Geinitz - - * doc/descriptions-external/samsung.desc: Added USB ids for - SCX-4100 (bug #303166). - * doc/descriptions/unsupported.desc: Added Brother MFC 9600, Canon - PIXMA MP450, and Plustek ScanCopy 115. - -2006-02-16 Gerhard Jaeger - - * doc/plustek/Plustek-PARPORT.changes: Update. - * backend/plustek_pp.c: Bumped build number. - * backend/plustek-pp_ptdrv.c backend/plustek-pp_detec.c: - Fixed bug, that prevents backend from working, when the device - is another parport than parport0 - spotted by Christoph Steinbruchel. - -2006-02-14 Gerhard Jaeger - - * doc/u12/U12.changes: Update. - * backend/u12.c: Bumped build number. - * backend/u12-hw.c: SoftwareReset is now disabled in - cancelSequence when the device is a Genius scanner. - -2006-02-13 Stephane Voltz - - * backend/genesys_gl646.c: disabled power saving for gl646. - -2006-02-12 Henning Meier-Geinitz - - * README.solaris: Added link to installation report. - * doc/descriptions/unsupported.desc: Removed HP ScanJet 8200 - (supported by Avision backend). Minor updates. - -2006-02-04 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Removed Trust Office Scan USB - 19200 (now in niash.desc), added Xerox 4800 One Touch. - * include/sane/sanei_usb.h sanei/sanei_usb.c: Workaround for - compilation problem on Windows/cygwin. - * backend/dll.c: With cygwin, use ":" as DIR_SEP (patch from - Philip Aston ). - -2006-02-04 Ullrich Sigwanz - - * backend/niash_xfer.c: Added Trust OfficeScan 19200 - * doc/descriptions/niash.desc: Added Trust OfficeScan 19200 - * backend/niash.c: Removed Reload on X,Y settings - -2006-02-02 Oliver Schwartz - - * backend/snapscan.h: Corrected USB ID for Benq 310 - -2006-01-31 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c: Bumped build number. - * backend/plustek-usbdevs.c: Fixed CanoScan N1220U settings. - -2006-01-29 Henning Meier-Geinitz - - * doc/descriptions-external/brother2.desc: Changed status of - Brother MFC-410CN to "basic" (bug #302961). - * doc/descriptions/unsupported.desc: Added Benq 7400UT and Genius - Colorpage CS. - -2006-01-26 Henning Meier-Geinitz - - * backend/snapscan-usb.c: Added #defines for SHM_R/W for cygwin - (patch from Philip Aston ). - * AUTHORS: Troy Rollo is now active. - -2006-01-22 Henning Meier-Geinitz - - * doc/descriptions-external/epkowa.desc: Updated to match - iscan-1.18.0. Added usb ids (patch from Olaf Meeuwissen - ). - * doc/descriptions/unsupported.desc: Added Scanshell 800N and - Canon Smartbase MP360. - * sanei/sanei_usb.c tools/sane-find-scanner.c: Added checks for - altsetting =! 0. - -2006-01-22 Mattias Ellert - - * backend/dll.c, backend/plustek-usbhw.c, backend/plustek-usbscan.c, - sanei/sanei_pio.c: Fixed warnings about C++ style comments. - * backend/hp5400_xfer.h: Fixed compilation warnings. - -2006-01-21 Mattias Ellert - - * backend/canon-sane.c: Fixed variable redeclaration. - -2006-01-05 Stephane Voltz - - * tools/hotplug/libsane.usermap: Added Dell A920 (rebranded X1100) - -2006-01-19 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c: Bumped build number. Fixed constraint_type for - OPT_BUTTON. - * backend/plustek-usbdevs.c: Added high-speed setting for HP2200. - Cleanup. - -2006-01-18 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c: Bumped build number. - * backend/plustek-usbdevs.c: Fixed CanoScan N670U settings, - see (bugreport #302738). - -2006-01-15 Henning Meier-Geinitz - - * doc/descriptions/canon630u.desc doc/descriptions/coolscan2.desc - doc/descriptions/hp5400.desc doc/descriptions/niash.desc - doc/descriptions/unsupported.desc: Added USB vendor and product - ids. Minor cleanup. - * backend/artec_eplus48u.conf.in doc/sane-artec_eplus48u.man - doc/descriptions/artec_eplus48u.desc: Added Yakumo Scan50. Minor - cleanup. - * doc/descriptions/gt68xx.desc: Added Mustek BearPaw 1248 CU. - * doc/descriptions/lexmark.desc: Added USB vendor and product - ids. Changed status of X1150 and X1170 according to reports on - sane-devel. - -2006-01-15 Ulrich Deiters - - * backend/canon-sane.c: fixed byte-swapping problem for little-endian - platforms (affects raw-mode scanning with FS2710 slide scanner) - -2006-01-14 Henning Meier-Geinitz - - * tools/check-usb-chip.c: Improved rts8822l-01h chipset - detection by adding check for descriptor.bcdUSB == 0x110 reported - by some scanners and accepting any value diferent to 0, read - from 0xfe11 register. Patch from Jonathan Bravo Lopez - . - * tools/sane-desc.c: Added "ignore" parameter to :usbid - token. Print warning if a backend defines USB models without - defining usbid. Print warning if a model doesn't have an - interface. - * doc/descriptions.txt: Added "ignore" parameter to :usbid - token. - * doc/descriptions-external/hpaio.desc doc/descriptions-external/hpoj.desc - doc/descriptions-external/samsung.desc: Updated comments. Added - usb ids or "ignore". - -2006-01-10 Oliver Schwartz - - * doc/descriptions/snapscan.desc: Changed entries for duplicate USB IDs, - added Epson Stylus CX-1500 - * backend/snapscan.c backend/snapscan-scsi.c: Added support for 12 bit - gamma tables for Epson CX-1500 - * backend/snapscan.conf.in: Added Epson Stylus CX-1500 - -2006-01-10 Gerard Klaver - - * doc/descriptions-external/stv680.desc: Added USB id. - added Creative webcam to list - -2006-01-10 Henning Meier-Geinitz - - * doc/descriptions-external/epkowa.desc: Film area guide mode of - 4990 not supported (bug #302728). - * doc/descriptions-external/brother-mfc4600.desc - doc/descriptions-external/brother.desc - doc/descriptions-external/brother2.desc - doc/descriptions-external/hp3770.desc - doc/descriptions-external/hp3900.desc - doc/descriptions-external/hp8200.desc - doc/descriptions-external/hp_rts88xx.desc - doc/descriptions-external/mustek_a3p1.desc - doc/descriptions-external/primascan.desc - doc/descriptions-external/template.desc. - doc/descriptions-external/viceo.desc: - Added several USB ids. Added some more scanners. General cleanup. - -2006-01-09 Henning Meier-Geinitz - - * doc/descriptions/gt68xx.desc: Added USB id. - * doc/descriptions/unsupported.desc: Added interfaces to Panasonic - scanners. - -2006-01-08 Oliver Schwartz - - * doc/descriptions/snapscan.desc: Added USB IDs - -2006-01-08 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Xerox 4800. - * doc/descriptions.txt tools/sane-desc.c: Added support for - keyword :usbid. All output modes now print the usb vendor and - product modes. Added usermap, db, and udev output modes for - generating USB vendor/product lists for hotplug (ng) and Linux - udev. Added version information to html modes. - * doc/descriptions/gt68xx.desc: Added vendor and product ids for - all scanners. - * doc/descriptions/artec_eplus48u.desc - doc/descriptions/genesys.desc doc/descriptions/hp3500.desc - doc/descriptions/hp4200.desc doc/descriptions/ma1509.desc - doc/descriptions/microtek2.desc doc/descriptions/mustek_usb.desc - doc/descriptions/mustek_usb2.desc doc/descriptions/sm3600.desc - doc/descriptions/sm3840.desc doc/descriptions/template.desc. - doc/descriptions/umax1220u.desc doc/descriptions/unsupported.desc - doc/descriptions-external/template.desc.: - Added USB vendor and product ids. Minor cleanups. - -2006-01-07 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Medion MD 85264 finger - print sensor and Trust Office Scan USB 19200. - * doc/descriptions-external/brother2.desc - tools/hotplug/libsane.usermap: Brother DCP-7010 is reported to - work (bug #302862). - * tools/check-usb-chip.c: Print version information when detecting - chip sets. - * sanei/sanei_usb.c: Added warning if libusb support is not built - in and some more debug messages. - * doc/descriptions-external/hp3900.desc: Status of HP ScanJet 4070 - Photosmart is now minimal. - * tools/sane-desc.c: Added new output mode: statistics. This mode - prints overal statistics about known devices. Added support for - more than one search directory. Removed support for deprecated - backend status ("alpha", "beta" ...). Ran indent -gnu. HTML - output (backends and mfgs) prints statitics now. Unify status - and device type strings. Simplified status and device type - string printing. Removed any remaining links of backend status. - -2006-01-06 Oliver Schwartz - - * backend/snapscan-scsi.c backend/snapscan-options.c backend/snapscan.c: - Some fixes for the Epson Stylus CX1500 - -2006-01-05 Stephane Voltz - - * backend/umax_pp_low.c: removed unused local variable - -2006-01-05 Henning Meier-Geinitz - - * backend/Makefile.in backend/abaton.conf backend/abaton.conf.in - backend/agfafocus.conf backend/agfafocus.conf.in - backend/apple.conf backend/apple.conf.in backend/artec.conf - backend/artec.conf.in backend/artec_eplus48u.conf - backend/artec_eplus48u.conf.in backend/avision.conf - backend/avision.conf.in backend/bh.conf backend/bh.conf.in - backend/canon.conf backend/canon.conf.in backend/canon630u.conf - backend/canon630u.conf.in backend/canon_pp.conf - backend/canon_pp.conf.in backend/coolscan.conf - backend/coolscan.conf.in backend/coolscan2.conf - backend/coolscan2.conf.in backend/dc210.conf - backend/dc210.conf.in backend/dc240.conf backend/dc240.conf.in - backend/dc25.conf backend/dc25.conf.in backend/dll.conf - backend/dll.conf.in backend/dmc.conf backend/dmc.conf.in - backend/epson.conf backend/epson.conf.in backend/fujitsu.conf - backend/fujitsu.conf.in backend/genesys.conf - backend/genesys.conf.in backend/gphoto2.conf - backend/gphoto2.conf.in backend/gt68xx.conf - backend/gt68xx.conf.in backend/hp.conf backend/hp.conf.in - backend/hp4200.conf backend/hp4200.conf.in backend/hp5400.conf - backend/hp5400.conf.in backend/hpsj5s.conf - backend/hpsj5s.conf.in backend/ibm.conf backend/ibm.conf.in - backend/leo.conf backend/leo.conf.in backend/lexmark.conf - backend/lexmark.conf.in backend/ma1509.conf - backend/ma1509.conf.in backend/matsushita.conf - backend/matsushita.conf.in backend/microtek.conf - backend/microtek.conf.in backend/microtek2.conf - backend/microtek2.conf.in backend/mustek.conf - backend/mustek.conf.in backend/mustek_pp.conf - backend/mustek_pp.conf.in backend/mustek_usb.conf - backend/mustek_usb.conf.in backend/nec.conf backend/nec.conf.in - backend/net.conf backend/net.conf.in backend/pie.conf - backend/pie.conf.in backend/plustek.conf backend/plustek.conf.in - backend/plustek_pp.conf backend/plustek_pp.conf.in - backend/qcam.conf backend/qcam.conf.in backend/ricoh.conf - backend/ricoh.conf.in backend/s9036.conf backend/s9036.conf.in - backend/saned.conf backend/saned.conf.in backend/sceptre.conf - backend/sceptre.conf.in backend/sharp.conf backend/sharp.conf.in - backend/sm3840.conf backend/sm3840.conf.in backend/snapscan.conf - backend/snapscan.conf.in backend/sp15c.conf - backend/sp15c.conf.in backend/st400.conf backend/st400.conf.in - backend/tamarack.conf backend/tamarack.conf.in - backend/teco1.conf backend/teco1.conf.in backend/teco2.conf - backend/teco2.conf.in backend/teco3.conf backend/teco3.conf.in - backend/test.conf backend/test.conf.in backend/u12.conf - backend/u12.conf.in backend/umax.conf backend/umax.conf.in - backend/umax1220u.conf backend/umax1220u.conf.in - backend/umax_pp.conf backend/umax_pp.conf.in backend/v4l.conf - backend/v4l.conf.in: - Renamed backend configuration files from *.conf to - *.conf.in. The configuration files are preprocessed by - backend/Makefile now and variables like @DATADIR@ are substituted - by the appropriate directories. This is especially useful for - firmware locations. For the firmware paths for the artec_eplus48u, - gt68xx, and snapscan backends variables were used. Bug #302590. - Regenerate .conf files only if .conf.in were changed. - * backend/.cvsignore: Added *.conf. - * README.linux: Mentioned udev. - * doc/backend-writing.txt: New chapters about the build system and - the files and directories of sane-backends. Fixed building - instructions for tstbackend. Mentioned that sane_* symbols - should be only used for API symbols. - * testsuite/Makefile.in testsuite/README testsuite/testfile.pnm: - Changed testsuite to use the test backend instead of the pnm - backend. This actually works with current sane-backends. - * PROBLEMS: Removed pnm problem description. It's not relevant for - normal users and explained in the sane-pnm man page anyway. - * backend/genesys.c: Fixed some compilation warnings. - * tools/hotplug/libsane.usermap: Added Hewlett-Packard PSC 1210. - -2006-01-03 Henning Meier-Geinitz - - * doc/sane.tex: Corrected formula for calculation of - bytes_per_line in chapter 4.3.8 sane_get_parameters. - New version: 1.04. - -2006-01-02 Henning Meier-Geinitz - - * backend/microtek2.c backend/microtek2.h: Fixed problem with - option "resolution" which exists twice at the same time. Bug - #302466. - * tools/hotplug/libsane.usermap: Added Canon LiDE 60 (bug - #302830). - * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c - backend/gt68xx_high.c doc/descriptions/gt68xx.desc - doc/gt68xx/gt68xx.CHANGES doc/gt68xx/gt68xx.TODO: Added Plustek - OpticPro S(T)12 (product id 0x040b). Mostly untested. Print - warmup message 5 seconds after starting the warm-up. - * doc/descriptions/unsupported.desc: Added Visioneer 9450 - USB. Updated comments for Plustek S(T)12. - * backend/test.c backend/test.conf backend/test.h - doc/sane-test.man doc/descriptions/test.desc: - Added option "source" which can be used to simulate an Automatic - Document Feeder (ADF). Added copyright header to test.h. - * frontend/scanimage.c: Don't create and delete a file in batch - mode if the document feeder is empty or if CTRL-D is pressed in - prompt mode. This change avoids deleting existing files. For an - explanation, see bug #302797. - -2006-01-01 Oliver Schwartz - - * backend/snapscan-data.c backend/snapscan-options.c backend/snapscan.c - doc/descriptions/snascan.desc: - Added (static) calibration data for Benq 5150 / 5250 - * backend/snapscan.h backend/snapscan.conf: - Added preliminary support for Epson Stylus CX 1500 - * backend/Makefile.in: Added snapscan-data.c - -2005-12-29 Henning Meier-Geinitz - - * doc/descriptions-external/scanwit.desc: Added "(Acer)" to - manufacturer name (bug #302801). - * doc/descriptions/unsupported.desc: Added/updated several old - Acer (Benq) and Agfa parport scanners. - -2005-12-28 Henning Meier-Geinitz - - * tools/hotplug/libsane.usermap: Added Brother MFC 8440. - * Makefile.in: make libcheck now also checks for non standard sane - symbols (sane_*). - * doc/descriptions/unsupported.desc: HP Scanjet 3690 uses GL646_HP - chipset. - -2005-12-27 Henning Meier-Geinitz - - * README.linux: Mention ld.so.conf issue. - * doc/descriptions/unsupported.desc - doc/descriptions-external/hp3900.desc: Added external hp3900 - backend. Moved (possibly) supported scanners from - unsupported.desc. - * doc/backend-writing.txt: Added some hints about what to do to add - a new backend to the existing sane-backends code. - -2005-12-24 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Lexmark X2330. - -2005-12-23 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added Canon Pixma MP500. - * README.openbsd: Added hint about CPPFLAGS. - * doc/descriptions/artec.desc: Changed status of Artec AT6 to - "good" as reported in bug #302749. - * tools/hotplug/libsane.usermap: Added Brother MFC-7420. - -2005-12-20 Henning Meier-Geinitz - - * backend/dll.c doc/descriptions/dll.desc: Fixed dynamic loading - on current HP/UX systems (bug #302732). - * AUTHORS ChangeLog configure configure.in backend/Makefile.in - backend/dll.conf backend/hp3500.c doc/Makefile.in - doc/sane-hp3500.man doc/sane.man doc/descriptions/hp3500.desc: - Added hp3500 backend which supports the HP ScanJet 3500 series, - including the 3500C, 3530C and 3570C (patch from Troy Rollo - ) (bug #302687). - * doc/descriptions-external/hp3500.desc: Deleted. - * doc/descriptions/hp4200.desc doc/descriptions/lexmark.desc - doc/descriptions/mustek_usb2.desc: Removed "NEW!" markers. - -2005-12-18 Henning Meier-Geinitz - - * Makefile.in: List ChangeLog-1.0.17 in DISTFILES. - * configure configure.in: Changed version to 1.0.17-cvs. Enabled - compilation warnings. - * doc/descriptions-external/brother2.desc: Added Brother MFC-215C. - -Older entries can be found in ChangeLog-1.0.17. diff --git a/ChangeLog-1.0.19 b/ChangeLog-1.0.19 deleted file mode 100644 index 2c4b8b2..0000000 --- a/ChangeLog-1.0.19 +++ /dev/null @@ -1,1161 +0,0 @@ -****** Release of sane-backends 1.0.19. End of code freeze ****** - -2008-02-10 m. allan noah - * Makefile.in: correct DISTFILES - * configure.in, configure: alpha sort backend names - * backend/Makefile.in: correct/sort DISTFILES and .la: targets - * include/Makefile.in: correct/sort SANE_INCLUDES - * doc/releases.txt: minor updates - -2008-02-10 m. allan noah - * config.guess, config.sub: updated to latest versions - * configure.in, configure: updated sane version number - * doc/releases.txt: minor updates - * sane-backends.lsm: updated maintainer and keyword info - * NEWS: added last 18+ months of updates to 1.0.19 section - -2008-02-09 m. allan noah - * backend/hpljm1005.c, doc/descriptions/hpljm1005.desc: - add usb ID for LaserJet M1120 - -2008-02-09 Rene Rebe - - * backend/avision.ch: fixed device list matching for entries - with partial matches on USB ID, but vendor / product string - matches as mostly only the HP5300 vs. HP5370, fixed non-color - calibration for devices not filling all RGB fields of calibration - format information, do not send 3x3 color matrix to older devices - (ASIC versions) as some HP53xx does not correctly handle it, - improved calibration accuracy and fixed transparency adapter - detection to not use non-zero as present, but just 1 (some - devices now set 0xff as (-1) - not present ... - -2008-02-07 m. allan noah - * backend/hpljm1005.c, doc/descriptions/hpljm1005.desc: - add usb ID for LaserJet M1120n - * doc/descriptions-external/brother2.desc: add usb ID for DCP-120C - -2008-02-03 m. allan noah - * backend/hpljm1005.c: better sane_cancel handling - * backend/agfafocus.c backend/coolscan.c, backend/coolscan2.c, - backend/hpljm1005.c, backend/ibm.c, backend/lexmark_low.c, - backend/microtek.c, backend/microtek2.c, backend/nec.c, backend/pie.c, - backend/ricoh.c, backend/s9036.c, backend/st400.c, backend/umax.c: - reduce gcc pedantic/ansi warnings from 690 to 280 lines, mostly - via casts in str*() calls. - -2008-02-03 Mattias Ellert - - * Makefile.in, */Makefile.in, tools/sane-config.in: - Fix warnings about ignored --datarootdir - * backend/hp5590_low.c: Fix incompatible pointer type warning - * backend/genesys_gl646.c: Fix incompatible pointer type warning - * backend/dc25.c, backend/coolscan2.c, backend/epson2.c, - backend/epson2-commands.c, backend/epson2-io.c, backend/epson2_net.c, - backend/genesys.c, backend/genesys_gl841.c, backend/hp3900_usb.c, - backend/lexmark_low.c, backend/plustek-usbhw.c, backend/sm3840.c: - Fix format warnings - * backend/pixma.c: Add missing #include - -2008-02-02 Mattias Ellert - - * configure, configure.in, include/sane/config.h.in, - backend/hp3900_debug.c: make tiffio.h optional - * backend/Makefile.in: remove sanei_config2 from epjitsu deps - * backend/epson2.c, backend/hpljm1005.c: add missing #includes - -2008-02-01 Gerhard Jaeger - - * po/sane-backends.no.po: renamed to sane-backends.nb.po - * po/Makefile.in: norwegian bokmål locale is nb and not no - -2008-01-30 Mattias Ellert - - * backend/pixma.c: Fix initialization of the reader taskid - -2008-01-30 m. allan noah - * backend/hpljm1005.c: call sane_get_devices if required - -2008-01-29 m. allan noah - * backend/snapscan.c: fix bug #310538 - * doc/descriptions/unsupported.desc: add Canon LiDE 600F - -2008-01-23 Alessandro Zummo - * doc/descriptions/epson2.desc: cloned from epson.desc with - minor modifications. - -2008-01-22 m. allan noah - * backend/hpljm1005.c, doc/descriptions-external/hpljm1005.desc: - Update backend with DBG macro calls, remove external .desc file, - from author- couriousous at mandriva dot org - * backend/fujitsu.c: disable compression option arg until sane 1.1.0 - * doc/descriptions/dell1600n_net|hp3500|pixma.desc: remove 'new' flag - -2008-01-17 m. allan noah - * backend/hpljm1005.c, doc/descriptions/hpljm1005.desc, - doc/sane-hpljm1005.man, AUTHORS, configure, configure.in, - backend/Makefile.in, backend/dll.conf.in, doc/Makefile.in, - doc/sane.man: add hpljm1005 backend, couriousous at mandriva dot org - - * tools/check-po.awk, po/sane-backends.fr.po: updates from - Yann E. MORIN - -2008-01-16 m. allan noah - * po/sane-backends.fr.po: updated translation from Yann E. MORIN - * backend/fujitsu.c, backend/fujitsu.conf.in, - doc/descriptions/fujitsu.desc: add usb id for S500M - -2008-01-16 Jonathan Bravo Lopez - * backend/hp3900_usb.c: fixed compilation warning related - to an argument type in Read_Bulk function. - -2008-01-14 m. allan noah - * tools/check-po.awk: support different use of 'fuzzy' - * po/sane-backends.fr.po: updated translation - both updates from Yann E. MORIN - -2008-01-09 Gerard Klaver - * backend/teco2.c changed routine teco_request_sens - add init value to size (bugreport - https://bugzilla.novell.com/show_bug.cgi?id=205451) - -2008-01-09 Alessandro Zummo - * changed functions prefix (esci_ for device commands, - e2_ for driver's functions), better handling of tpu area, - fixed tpu detection, changed freeing of line buffers, - fixed some XXXs. - -2008-01-09 Alessandro Zummo - * sanei_tcp.c, fix compilation with cygwin. - -2008-01-02 m. allan noah - * AUTHORS, configure, configure.in, backend/Makefile.in, - backend/dll.conf.in, backend/hs2p-saneopts.h, - backend/hs2p-scsi.c, backend/hs2p-scsi.h, backend/hs2p.c - backend/hs2p.conf.in, backend/hs2p.h doc/Makefile.in, - doc/sane-hs2p.man, doc/sane.man, doc/descriptions/hs2p.desc: - add hs2p backend for jazz_johnson a t verizon d o t net - -2007-12-29 m. allan noah - * backend/epjitsu.c: let io_error fall thru usb command function - * backend/epjitsu.conf.in: use @DATADIR@ for holding firmware - * backend/Makefile.in: add epjitsu to FIRMWARE_DIRS - -2007-12-29 m. allan noah - * include/sane/sane.h, frontend/scanimage.c, backend/fujitsu.[ch]: - commented/removed/deactivated all new SANE_FRAME code - -2007-12-26 Alessandro Zummo - * backend/epson2.c: added network scanner autodiscovery - -2007-12-26 Alessandro Zummo - * sanei/sanei_udp.c: added udp support functions - -2007-12-24 Julien Blache - * configure.in, configure: Do not build plustek_pp on Hurd. Patch - from Samuel Thibault . Add missing - closing paren to error message. - -2007-12-21 Jonathan Bravo Lopez - - * backend/hp3900.c, backend/hp3900_rts8822.c: Fixed bug which made - slide/negative scans unusable. - * backend/hp3900_config.c: Changed area constrains of slide/negative scans. - -2007-12-19 m. allan noah - * backend/epjitsu.c: backend v1.0.10, fix missing function - -2007-12-19 Jonathan Bravo Lopez - - * po/sane-backends.es.po: Updated translation. - * tools/check-usb-chip.c: fixed compilation warning and "RTS8822L-01H" - strings renamed to "RTS8822" - -2007-12-19 Mattias Ellert - - * po/Makefile.in, po/sane-backends.*.po: New translation keys for - hp3900 backend. Updated Swedish translation. - -2007-12-17 m. allan noah - * backend/epjitsu*, backend/Makefile.in, backend/dll.conf.in, - doc/sane-epjitsu.man, doc/Makefile.in, doc/sane.man, - doc/descriptions/epjitsu.desc, configure, configure.in, AUTHORS: - add backend for Epson-based Fujitsu scanners (fi-60F and S300) - -2007-12-17 Gerhard Jaeger - - * backend/plustek-usb.[ch] backend/plustek-usbcal.c backend/plustek-usbimg.c - backend/plustek-usbio.c backend/plustek-usbshading.c: Fixed ARM/Xscale - issues. - * backend/plustek.c: Bumped build number - * doc/plustek/Plustek-USB-TODO.txt doc/plustek/Plustek-USB.changes: Update - -2007-12-15 Alessandro Zummo - * backend/epson2.c: fixed model detection, - depth detection and removed some unused - variables. - -2007-12-13 Jonathan Bravo Lopez - * Added files for 'hp3900' backend which supports - HP Scanjet 3800/3970/4070/4370/G3010 - * doc/descriptions-external/hp3900.desc: moved to doc/descriptions - -2007-12-10 Alessandro Zummo - * backend/epson2.c: use epson2_model where possible, - fixed segmentation fault. - -2007-12-08 Giuseppe Sacco - - * Added esperanto translation, per Antonio Codazzi. - -2007-11-23 Gerhard Jaeger - - * po/sane-backends.*.po: Update - * backend/plustek-usb.[ch] backend/plustek-usbcal.c - backend/plustek-usbdevs.c backend/plustek.[ch]: - Tweaked TravelScan464 settings. Improved AFE gain calculation - for CIS devices. This should avoid stripes in the scanned images. - * doc/sane-plustek.man doc/plustek/Plustek-USB.changes: Update - -2007-11-22 Pierre Willenbrock - * backend/genesys.c, backend/genesys_devices.c, - backend/genesys_low.h, backend/genesys_gl646.c, - backend/genesys_gl841.c: add infrastructure for multiple motor - power modes - -2007-11-21 Pierre Willenbrock - * backend/genesys_gl841.c: add internal flag for disabling lamp - during scan(useful for black level calibration) - -2007-11-18 Mattias Ellert - - * backend/mustek.c: Add protection for a double free (#306775) - * backend/agfafocus.c, backend/artec_eplus48u.c, backend/avision.c, - backend/coolscan.c, backend/hp3500.c, backend/microtek2.c, - backend/mustek.c, backend/pie.c, backend/pixma.c, backend/plustek.c, - backend/plustek_pp.c, backend/snapscan.c, backend/sp15c.c, - backend/tamarack.c, backend/test.c, backend/u12.c, backend/umax.c: - Fix handling of valid "negative" PIDs. - -2007-11-18 Alessandro Zummo - - * backend/epson2.c: removed quick-format option. it's - the job of a frontend to provide such a commodity. - removed confusing parameters (preview-speed, speed). - when a preview is requested, the scanner will be - set to high speed (if possible). - removed references to the never implemented zoom function. - the function that shortened the list was actually - missing the first entry. - more resolutions addedd for networked scanners. - added support for Perfection 4990 (Claus Boje). - -2007-11-17 m. allan noah - * backend/fujitsu.c, backend/fujitsu.conf.in, - doc/descriptions/fujitsu.desc: add usb id for S510 - -2007-11-17 Rene Rebe - - * backend/avision.[ch]: - Implemented support for latest Avision ASICs and features, - including overscan, background raster, software scaling for - cheaper ASICs used in HP scanners. Changed types used to - more portable uint* ones, without underscore (_), removed - in-file ChangeLog history, as the files became big enough. - Implemented early calibration for easier handling of - Avision-based film scanners and implemented support for - 2-pass duplex scanners. - -2007-11-16 Mattias Ellert - - * include/sane/sanei_thread.h, include/sane/sanei_usb.h: - Fixing doxygen warnings. - -2007-11-16 Gerhard Jaeger - - * backend/plustek-usb.[ch] backend/plustek-usbcal.c - backend/plustek-usbdevs.c backend/plustek-usbshading.c - backend/plustek.[ch] backend/plustek.conf.in: - Tweaked TravelScan464 settings. Added possibility to disable - dark-calibration with lamp on (touches devices like CanoScan1220 etc.) - Use attribute packed for data access structs - - * doc/sane-plustek.man doc/plustek/Plustek-USB.changes: Update - - * include/sane/sanei_usb.h sanei/sanei_usb.c: Added function - sanei_usb_get_descriptor() to retrieve some infos about a connected - device - -2007-11-16 Mattias Ellert - - * backend/artec_eplus48u.c, backend/coolscan.c, backend/mustek.c, - backend/pie.c, backend/plustek.c, backend/plustek_pp.c, - backend/snapscan.c, backend/test.c, backend/u12.c, backend/umax.c: - Correct the test of the return value from sanei_thread_begin. - -2007-11-12 Julien Blache - * doc/descriptions-external/epkowa.desc: Update epkowa.desc for - iScan! 2.10.0. Patch provided by Olaf Meeuwissen. - -2007-11-11 Pierre Willenbrock - * backend/genesys_gl841.c: add check for low brightness - -2007-11-11 Pierre Willenbrock - * backend/genesys.c, backend/genesys_gl646.c, - backend/genesys_gl841.c, backend/genesys_low.h: change - bulk_write_register to take number of registers instead of - byte size of register set - -2007-05-08 Mattias Ellert - - * acinclude.m4: NSLinkModule is deprecated in favour of dlopen - - only look for NSLinkModule if dlopen is not available - * acinclude.m4, m4/libtool.m4: include libtool.m4 using m4_include - * ltmain.sh, m4/libtool.m4: newer versions. - * configure.in: move the byteorder test to after AC_GNU_SOURCE et al. - to avoid warnings when running autoconf, - add AC_SUBST(CROSS_COMPILING), - add a check for IOKit/scsi/SCSICommandOperationCodes.h, - add a check for SCSITaskSGElement (for darwin 64 bit support) - * doc/Makefile.in, tools/Makefile.in: disable things that need the - built binaries to run when doing cross-compilations - * sanei/sanei_scsi.c: IOKit/scsi-commands has moved to IOKit/scsi - - support both locations of headers, use SCSITaskSGElement if available - * aclocal.m4, config.guess, config.sub, configure, - include/sane/config.h.in: update autogenerated files - * backends/Makefile.in: remove sanei_config2 from cardscan deps - * backends/dll.c: add MacOS X naming convention for dlopen - * tools/sane-find-scanner.c: IOKit/scsi-commands has moved to - IOKit/scsi - support both locations of headers, fix some warnings - -2007-11-08 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes doc/sane-plustek.man: Update - * backend/plustek.c: Bumped build number - * doc/descriptions/unsupported.desc: Updated some entries - * backend/plustek-usb.c backend/plustek-usbimg.c backend/plustek-usbmap.c - backend/plustek-usbscan.c backend/plustek-usbshading.c: Fixed copyright - * backend/plustek-usb.h backend/plustek-usbdevs.c - doc/descriptions/plustek.desc: Added support for TravelScan464 - -2007-10-28 Julien Blache - * doc/descriptions/epson.desc: Added the Epson DX-6000 (04b8:082e) - based on user report. - -2007-10-27 Julien Blache - * backend/net.c: Fix IPv4 legacy code after last changes to the - net backend on 2007-10-24. - -2007-10-26 Julien Blache - * backend/abaton.c, backend/agfafocus.c, backend/apple.c, - backend/artec.c, backend/canon.c, backend/cardscan.c, - backend/coolscan.c, backend/epson.c, backend/epson2.c, - backend/fujitsu.c, backend/hp3500.c, backend/ibm.c, - backend/pint.c, backend/ricoh.c, backend/s9036.c, - backend/sm3600.c, backend/sp15c.c, backend/tamarack.c: - OPT_NUM_OPTS must be of type SANE_TYPE_INT. - -2007-10-25 Pierre Willenbrock - * backend/genesys.c: Removed some more hardcoded - sizeof(Genesys_Register_Set) - -2007-10-25 Julien Blache - * sanei/sanei_ab306.c: Fix boundary checking after the for() loop - in sanei_ab306_open(). From Johannes Meixner at SuSE. - * backend/as6e.c: Fix strncpy()/strncat() usage in - check_for_driver(). From Johannes Meixner at SuSE. - -2007-10-25 Pierre Willenbrock - * backend/genesys_gl841.c: Hopefully removed the remaining hardcoded - sizeof(Genesys_Register_Set) - -2007-10-25 Pierre Willenbrock - * backend/genesys_gl841.c: One more instance of - sizeof(Genesys_Register_Set) vs 2 - * backend/genesys.c: Add check for small register set in - sanei_genesys_get_address - -2007-10-24 Julien Blache - * backends/net.c: Add an optional connection timeout for the - initial connection to saned. Based on a patch from Ryan Duryea - . Bump net backend version to 1.0.14. - * backends/net.conf.in: Add the new connect_timeout option and - adjust comments accordingly. - * doc/sane-net.man: Document the connect_timeout option and the - SANE_NET_TIMEOUT environment variable. - -2007-10-19 Stephane Voltz - - * tools/check-usb-chip.c: added detection of rts8801 and - rts8891 ASICs - -2007-10-13 Pierre Willenbrock - - * backend/genesys_gl841.c backend/genesys_gl646.c: use - sizeof(Genesys_Register_Set) instead of 2 - -2007-10-07 Bertrik Sikken - * doc/descriptions/unsupported.desc: updated with info from - 'FormularDaten' e-mails up to 2007/9/29 - -2007-10-02 Julien Blache - * doc/descriptions-external/brother2.desc: add DCP-117C USB IDs - and mark support as good, based on user report. - -2007-10-01 Stephane Voltz - - * backend/lexmark.c backend/lexmark_low.c: - fixed compilation warnings - -2007-10-01 Stephane Voltz - - * doc/sane-lexmark.man doc/descriptions/lexmark.desc - backend/Makefile.in backend/lexmark.c backend/lexmark_low.c - backend/lexmark_sensors.c backend/lexmark_models.c - backend/lexmark.conf.in: - moved experimental version to current tree - -2007-10-01 Stephane Voltz - - * doc/sane-umax_pp.man doc/descriptions/umax_pp.desc: - added Genius ColorPage-Life Pro as supported scanner - by the umax_pp backend - -2007-09-28 Bertrik Sikken - * doc/descriptions/unsupported.desc: updated with info from - 'FormularDaten' e-mails from 2007/7/3 to 2007/7/30 - -2007-09-27 Julien Blache - * doc/backend-writing.txt: fix typos, patch from - . - -2007-09-26 Julien Blache - * doc/descriptions/unsupported.desc: Added pointer to - http://code.google.com/p/kvss905c/ for the Panasonic KV-SS905C and - Panasonic KV-S3105C scanners (note that the non-SANE driver at - that URL supports other scanners of the KV-SS905C family). - -2007-09-25 Bertrik Sikken - * doc/descriptions/unsupported.desc: updated with info from - 'FormularDaten' e-mails from 2007/5/1 to 2007/6/24 - -2007-09-23 Bertrik Sikken - - * doc/descriptions/unsupported.desc: updated with info from - 'FormularDaten' e-mails from 2007/2/11 to 2007/4/30 - -2007-09-17 Gerhard Jaeger - - * doc/descriptions/unsupported.desc: #305009 removed UMAX3400, as it is - supported by the Plustek backend - -2007-08-28 Giuseppe Sacco - - * Italian translation update - * Corrected a typo in backend/canon.c - -2007-08-27 Stephane Voltz - - * backend/genesys.h backend/genesys_gl841.c backend/genesys_low.h - backend/umax_pp.c backend/umax_pp.h backend/umax_pp_mid.c - backend/umax_pp.h AUTHORS doc/sane-umax_pp.man doc/sane-genesys.man: - mail address update, minor man update - -2007-08-26 Stephane Voltz - - * backend/genesys.c backend/genesys_gl646.c backend/genesys_devices.c: - HP2400 warmup fix by Luke - -2007-08-19 Henning Geinitz - - * backend/gt68xx.c backend/gt68xx.conf.in backend/gt68xx_devices.c - backend/gt68xx_generic.c backend/gt68xx_gt6801.c - backend/gt68xx_gt6816.c backend/gt68xx_high.c - backend/gt68xx_high.h backend/gt68xx_low.c backend/gt68xx_low.h - backend/gt68xx_mid.c doc/sane-gt68xx.man - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Added - Artec Ultima 2000 e+, Nortek Myscan 1200, NeatReceipts Scanalizer - Professional, Genius Colorpage Slim-1200. Name and email - address changes. - * AUTHORS: Name and email address change. - -2007-08-18 Julien Blache - * doc/descriptions/epson.desc: Added Stylus CX-5000 (04b8:082b). - * backend/epson_usb.c: Added various USB IDs for CX-6000, DX-5050, - DX-5000, CX-5000, DX-4050. - -2007-08-12 Henning Geinitz - * doc/descriptions-external/hpljm1005.desc: Added. - -2007-08-08 m. allan noah - * frontend/scanimage.c: bugfix: dont round up negative user values - * doc/descriptions/fujitsu.desc: add/consolidate new models - -2007-08-03 Julien Blache - * doc/descriptions/epson.desc: add the Epson Stylus Photo RX-700 - (04b8:0810), based on user report. Add the Epson Stylus CX-6600 - (04b8:0813), based on user report. - -2007-07-26 m. allan noah - * frontend/scanimage.c: add default: blocks to FRAME switch code - * backend/fujitsu.[ch]: update to version 1.0.52: - - remove unused jpeg function - - reactivate look-up-table based brightness and contrast options - - change range of hardware brightness/contrast to match LUT versions - - call send_lut() from sane_control_option instead of sane_start - -2007-07-31 Julien Blache - * doc/descriptions/epson.desc: add the Epson Stylys DX-5050 - (04b8:082b). - -2007-07-30 Julien Blache - * doc/descriptions/epson.desc: add the Epson Stylus DX-4050 - (04b8:082f), based on several reports. Add the Epson Stylus - DX-5000 (04b8:082b) on the same grounds. - * backend/canon.c: apply patch from Nils Philippsen, turning - 3 logical AND into bitwise AND (SANE bug #304363). - -2007-07-29 Julien Blache - * tools/sane-desc.c: Add a RUN rule to the udev rules to - automatically disable USB suspend for all known scanners. - Works only with kernels >= 2.6.22 where - /sys/bus/usb/devices/*/power/level exists. - -2007-07-26 m. allan noah - - * backend/fujitsu.c: update to version 1.0.51, fix bug in jpeg code - -2007-07-26 Julien Blache - * tools/sane-desc.c: revert my last commit and rework the one - before to produce a backward compatible udev rules file. Yay. - -2007-07-26 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update - * backend/plustek.c: Bumped build number - * backend/plustek-usbhw.c: Force output bit set on misc I/O, - when lamp is switched - * doc/descriptions/unsupported.desc: Updated some Plustek entries - -2007-07-25 Julien Blache - * tools/sane-desc.c: Update udev rules for use with Linux >= - 2.6.22 and CONFIG_USB_DEVICE_CLASS=n. - -2007-07-20 Wittawat Yamwong - - * backend/pixma.c backend/pixma.h backend/pixma_mp150.c - doc/sane-pixma.man doc/descriptions/pixma.desc: - upgraded to version 0.13.1 - added PIXMA MP960 - -2007-07-15 m. allan noah - - * doc/descriptions/fujitsu.desc, doc/sane-fujitsu.man: - update website and fi-60F status - * Authors, backend/dll.conf.in: added cardscan backend - -2007-07-14 m. allan noah - - * doc/sane-cardscan.man,doc/Makefile.in,doc/descriptions/cardscan.desc, - backend/cardscan.*,backend/Makefile.in,configure.in: - add new v1.0.0 backend for Corex CardScan 800c - -2007-07-14 m. allan noah - - * doc/sane-fujitsu.man: add more known models, fix bug #304450 - * backend/Makefile.in: libsane-fujitsu.la does not use sanei_thread.lo - -2007-07-11 Gerhard Jaeger - - * tools/check-usb-chip.c: Try to distinguish the various - GenesysLogic GeneScan ASICS - GL841, GL842 and GL843 - -2007-07-10 m. allan noah - - * backend/fujitsu.[ch], backend/fujitsu-scsi.h: update to v1.0.50, - add JPEG support, usb command sending and scan params cleanups - * include/sane/sane.h: add SANE_FRAME_JPEG - * frontend/scanimage.c: dont crash on unknown frame types - -2007-07-10 Gerhard Jaeger - - * doc/descriptions/plustek.desc: Fixed web entries - * backend/plustek-usb.h backend/plustek-usbdevs.c backend/plustek.c: - Added flag to allow only 1- and 8-bit scanmodes. The Q-Scan does - not seem to support 14-bit modes. - -2007-06-29 Gerhard Jaeger - - * backend/plustek-usb*.[ch] backend/plustek.[ch]: - Added sheetfed device Q-Scan USB001 from Portable Peripherals - Fixed Mustek Bearpaw and made some speedup (bugreports #304343 and - #301763) - Fixed calibration for senororders other that RGB - * doc/descriptions/plustek.desc: Bumped version and added Q-Scan - * doc/descriptions/unsupported.desc: Removed Q-Scan - * doc/sane-plustek.man doc/plustek/Plustek-USB.changes: Update - -2007-06-28 m. allan noah - - * backend/fujitsu.c: update to v1.0.49, fi-5750C usb ID and color mode - * backend/fujitsu.conf.in: add fi-5750C - * doc/descriptions/fujitsu.desc: bump version, add fi-5750C and S510 - -2007-06-21 Julien Blache - * sanei/sanei_scsi.c: Switch sanei_scsi to the SG_IO ioctl - interface, instead of the asynchronous SG3 read/write interface. - - Makes it possible to use SCSI scanners in 32/64bit mixed - environments, thanks to the ioctl 32bit compatibility layer, which - is NOT possible using the SG3 interface. - -2007-06-18 Gerhard Jaeger - - * doc/plustek/Plustek-PARPORT.changes: Update. - * backend/plustek_pp.c: Bumped build number. - * backend/plustek-pp_drv.c backend/plustek_pp_sysdep.h: - Make the Kernelmodule work with Kernels > 2.6.15 w/o DEVFS - -2007-06-12 Ilia Sotnikov - - * Use libtool instead of ar/ranlib, which correctly handles dependencies - (eg. for parallel makes) - -2007-05-08 Mattias Ellert - - * po/Makefile.in, po/sane-backends.*.po: New translation keys for - hp3500 and hp5590 backends. Updated Swedish translation. - * backend/hp5590.c: Do not localize option names - -2007-04-29 Ilia Sotnikov - - * backend/hp5590_low.c: don't use libusb structs directly, define - necessary of them by ourselves ('struct usb_ctrl_setup' -> 'struct - usb_in_usb_ctrl_setup') - * backend/hp5590_low.c: renamed 'struct usb_bulk_setup' to 'struct - usb_in_usb_bulk_setup' to show its internal usage - -2007-04-24 Ilia Sotnikov - - + configure: added check for header - + Added files for 'hp5590' backend which supports - HP ScanJet 5550/5590/7650 scanners - + tools/check-usb-chip.c: added HP ScanJet 5550/5590/7650 detection - routine - -2007-04-21 Troy Rollo - - * backend/hp3500.c: Improve speed and reduce noise of most - resolutions; deal with an escape code discovered in the scanner's - protocol; use hardware detailed calibrations for resolutions up to - 300; use improved software detailed calibration for other - resolutions; ddd more debug information; drop the 25dpi - resolution; make 200dpi the default (the same as the Windows - frontend; Add code (not used yet) to deal partially with grayscale - and lineart scanning; use I18N strings where appropriate. - -2007-04-21 Mattias Ellert - - * doc/descriptions-external/hp5590.desc, - doc/descriptions/unsupported.desc: - Added description for new external backend hp5590 - See: http://lists.alioth.debian.org/pipermail/sane-devel/ - 2007-April/018977.html - -2007-04-21 Julien Blache - * backend/epson.c: remove bogus check in - get_identity2_information(), causing the identification of various - Stylus CX5xxx models (among others) to fail. Olaf Meeuwissen from - Epson confirmed the check was bogus. - -2007-04-17 Julien Blache - - * backend/microtek.c: add missing braces. - * tools/sane-desc.c: use mode 0664 for usbfs device nodes; allows - lsusb to still work for everybody on the system. - -2007-04-13 m. allan noah - - * backend/fujitsu.c: update to v1.0.48, re-enable - brightness/contrast for models with built-in support - -2007-04-15 Wittawat Yamwong - - * doc/descriptions/unsupported.desc: Remove Canon PIXMA MP160 and - Canon PIXMA MP600 (now supported by pixma backend) - -2007-04-13 Mattias Ellert - - * doc/descriptions-external/hp3900.desc, - doc/descriptions/unsupported.desc: - Moved 3 scanners from unsupported to hp3900 - See: http://lists.alioth.debian.org/pipermail/sane-devel/ - 2007-April/018980.html - -2007-04-13 m. allan noah - - * backend/fujitsu.[ch]|fujitsu.conf.in: update to v1.0.47, - change gamma determination, add support/usbid for fi-5650C - * doc/descriptions/fujitsu.desc: version number update - * tools/hal/.cvsignore: ignore .fdi file - -2007-04-09 Wittawat Yamwong - - * backend/pixma*.[ch] doc/sane-pixma.man doc/descriptions/pixma.desc: - Updated to version 0.13.0 - Added MP160, MP180, MP460, MP510 and MP600 - Fixed a buffer-overflow bug in sane_read() - -2007-04-5 Jochen Eisinger - - * README.openbsd, tools/README, tools/openbsd/attach, - tools/openbsd/detach: add notes about device permissions on - OpenBSD and provide some example scripts for hotplugd(8). - -2007-03-02 m. allan noah - - * doc/sane.tex: update to 1.05, fix description of SANE_Parameters, - from - -2007-03-21 Julien Blache - * tools/Makefile.in: Remove leftovers from a previous experiment. - -2007-03-18 Julien Blache - * tools/hal: New directory. - * tools/Makefile.in: Add rules to build hal/10-libsane.fdi. - * tools/sane-desc.c: Add output mode 'hal', from David Zeuthen . - -2007-03-17 Oliver Rauch - * Bug #303752: Maybe faulty icc-profile-file length detection: - corrected icc profile length calculation - -2007-03-08 Earle F. Philhower, III - - * backend/sm3840*.[ch]: Add 1-bpp modes (lineart, halftone) - * doc/sane-sm3840.man: Add 1-bpp mode options - -2007-03-05 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: Update. - * backend/plustek.c: Bumped build number. - * backend/plustek-usb.c: Fixed typo. - * backend/plustek-usbdevs.c: Added CanoScan to all Canon - device strings, identified one more Plustek device as U24. - * backend/plustek-usbhw.c: Fixed button handling for Plustek/ - KYE devices and added some more debug messages. - -2007-02-24 Giuseppe Sacco - - * Italian translation update - * Second Italian translation update - -2007-02-11 Jochen Eisinger - - * doc/sane-mustek_pp.man: clean up markup, bug #304392 - -2007-02-11 Henning Meier-Geinitz - - * po/sane-backends.pl.po: Polish translation fix (from Jakub - Bogusz , bug #304410). - -2007-02-07 Gerhard Jaeger - - * sanei/sanei_scsi.c: Fixed retrieval of HZ. - -2007-01-28 Henning Meier-Geinitz - - * backend/gt68xx.c backend/gt68xx_devices.c - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Added - .conf entry for Pluste OpticPro S12 and S24. Updated .desc - file. - * doc/descriptions/unsupported.desc: Added UMAX Astra 2850. Added - Canon Imagerunner series. - -2007-01-28 m. allan noah - - * backend/fujitsu.[ch]: update to v1.0.45, - update overscan code to extend max scan area - * doc/descriptions/fujitsu.desc: version number update - -2007-01-27 oliver rauch - - * backend/umax.c - removed bug in highlight blue using green value - * doc/umax/umax.CHANGES - -2007-01-26 m. allan noah - - * AUTHORS, doc/sane-fujitsu.man, backend/fujitsu.conf.in, - backend/fujitsu.c: updated email address - * backend/fujitsu-scsi.h, backend/fujitsu.[ch]: update to v1.0.44, - set SANE_CAP_HARD_SELECT on all buttons/sensors. - disable sending gamma LUT, quality errors reported. - support MS overscan. - clamp the scan area to the pagesize on ADF. - * doc/descriptions/fujitsu.desc: version number update - -2006-01-21 Jochen Eisinger - - * doc/descriptions/mustek_pp.desc: Cybercom is a CIS scanner - -2007-01-20 Mattias Ellert - - * backend/canon.c, backend/canon-sane.c: - Fixed the "three-valued boolean" bug - -2007-01-20 Alessandro Zummo - - * sanei/sanei_tcp.c: added a missing include - * backend/epson2.c: fixed a bug while moving scanner data, - removed support for line mode (block or ext modes will be used). - -2007-01-20 Mattias Ellert - - * acinclude.m4, aclocal.m4, configure, include/sane/config.h.in: - Fix autogenerated files - * backend/canon.c, backend/epson.c, backend/epson2.c: - String harmonization - * po/Makefile.in, po/sane-backends.*.po: - New translation keys from canon and epson2 backends - Updated Swedish translation - * backend/dll.c, backend/microtek.c, backend/umax1220.c, - sanei/sanei_wire.c: Fixing compiler warnings - -2007-01-19 Mattias Ellert - - * doc/descriptions/unsupported.desc: Added Visioneer Strobe Pro USB - -2007-01-15 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added and updated several - scanners. - -2007-01-08 Julien Blache - * doc: fix man warnings. - * backend/microtek2.c: add missing return status check in - sane_start(), preventing an ugly segfault later on. - -2006-12-18 Alessandro Zummo - - * epson2: restructured code once more, splitted - in multiple files, added networking - support, added FS G extended handshaking mode, - make proper use of extended commands when possible - * sanei/sanei_tcp.c: read now wait until all - the requested data is available. - -2006-12-13 Alessandro Zummo - - * coolscan2: fixed coolscan2 infrared to work - as advertised in the man page. RGBA format - will come soon. - -2006-12-12 Alessandro Zummo - - * epson2: removed calls to alloca(), code reorganization - fixed a bug with request_extended_status (reply - length is 33 on older scanners). - * include/.cvsignore: added two more entries - -2006-12-10 Pierre Willenbrock - - * backend/genesys_devices.c: reduced height of calibration area - * backend/genesys_gl841.c: fixed bug in offset calibration(offset - values were not clamped to 0..255) - -2006-12-10 Ulrich Deiters - - * canon: disentangled some pointer arithmetics in canon-sane.c - -2006-12-07 Alessandro Zummo - - * epson2: reordered includes, replaced __FUNCTION__, - use the new byteorder macros - * moved acbyteorder.m4 to m4/byteorder.m4, - added m4/stdint.m4 - -2006-12-06 Alessandro Zummo - - * Added acbyteorder.m4 macro for endianness conversion - -2006-12-02 Pierre Willenbrock - - * backend/genesys_devices.c: fixed gamma settings(1.0 now) - * backend/genesys.c backend/genesys_gl841.c: improved calibration - for dark shades - -2006-12-02 Alessandro Zummo - - * Added missing bits for epson2 driver. - -2006-12-01 Alessandro Zummo - - * Added (experimental) epson2 driver. - -2006-12-01 Alessandro Zummo - - * Added sanei_tcp interface. - -2006-11-27 Henning Meier-Geinitz - - * doc/descriptions-external/samsung.desc: SCX-4200 is reported to work. - -2006-11-22 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: update. - * backend/plustek.c: bumped build number, fixed option - descriptors, see bug #303786. - -2006-11-22 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added several scanners, fixed - the USB id for Microtek 4850 (bug #304151). - * doc/descriptions/umax1220u.desc: Updated status of UMAX 2000. - * doc/descriptions-external/brother2.desc: Updated status of - Brother MFC-7420. - -2006-11-06 m. allan noah - - * doc/descriptions-external/epkowa.desc: backend v2.3.0 - -2006-10-31 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc: Added HP Photosmart C5100 and - ScanJet 8390. - * doc/descriptions-external/hpoj.desc: Project is unmaintained. - -2006-10-24 Henning Meier-Geinitz - - * po/sane-backends.pl.po: Major bugfix and few small changes - (noticed by Jaroslaw Gorny) (bug #303962). - * po/sane-backends.es.po: Updated (from Jonathan Bravo Lopez - ). - * doc/descriptions-external/hp3900.desc - doc/descriptions-external/samsung.desc: Updated based on - sane-devel information. - * doc/descriptions/unsupported.desc: Added Canon Canoscan 4400F, - LiDE 70, Corex Cardscan 700 C, Umax Astra 4900, Visioneer - Onetouch 7700. Updated other scanners. - -2006-10-03 Henning Meier-Geinitz - - * doc/descriptions-external/hp3900.desc: Changed status of HP - Scanjet 4370 to "minimal" (bug #303839). - * doc/scanimage.man frontend/scanimage.c: Added examples on how to - set the scan area in the manual page (bug #303802). Mention how - to separate parameters from options in --help and manpage (bug - #303819). - * doc/descriptions/unsupported.desc: Added EDT BizCardReader - 900C. Moved Genius ColorPage-SF600 to gt68xx.desc. Minor - updates. - * backend/gt68xx.c backend/gt68xx_devices.c - doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Added - Support for Genius Colorpage SF600. - -2006-09-24 Giuseppe Sacco - - * Updated italian translation - -2006-09-18 m. allan noah - - * backend/fujitsu.[ch], backend/fujitsu-scsi.h: update to v1.0.43, - add model-specific code to init_vpd for M3099, clean some noise - * doc/descriptions/fujitsu.desc: version number update - -2006-09-18 Stephane Voltz - - * backend/umax_pp.c backend/umax_pp_mid.c backend/umax_pp.c_low: - color calibration fix. Mail address update. - -2006-09-14 Henning Meier-Geinitz - - * doc/descriptions/unsupported.desc - doc/descriptions-external/samsung.desc - doc/descriptions-external/hpaio.desc: Added several scanners. - * po/sane-backends.pl.po: Updated Polish translation (from Jakub - Bogusz, bug #303769). - -2006-08-31 Oliver Schwartz - - * backend/snapscan-scsi.c: Bugfix for firmware download - from Paul Smedley - -2006-08-31 m. allan noah - - * backend/fujitsu.c: update to v1.0.42, - fix bug in get_hardware_status (#303798) - * doc/descriptions/fujitsu.desc: version number update - -2006-08-29 Gerhard Jaeger - - * doc/plustek/Plustek-PARPORT.changes: update. - * backend/plustek-pp.h backend/plustek-pp_ptdrv.c backend/plustek_pp.c: - fixed "not homing" problem, the sensor did not return when - the driver gets the _IOCTL_STOP command - fixed compilation issue for kernels > 2.6.15 - fixed compiler warning conditions - -2006-08-28 m. allan noah - - * backend/fujitsu.c backend/fujitsu-scsi.h: update to v1.0.41, - do_usb_cmd() returns io error on cmd/out/status/rs EOF, - fix bug in MS buffer/prepick scsi data block - * doc/descriptions/fujitsu.desc: version number update - -2006-08-28 Stephane Voltz - - * backend/genesys_gl646.c: changes in gl646_init_regs_for_warmup - to add support for HP2400 model. - -2006-08-27 Wittawat Yamwong - - * backend/pixma*.[ch]: update to 0.12.2, - use own error codes e.g. PIXMA_EPROTO instead of EPROTO, - add MP530, MP800R and MP360, - add grayscale mode for MP700 and MP730, - add work-around for lock-up ("hang") problem of MP760 and MP780, - fix line correction (color alignment) for MP760 - * doc/sane-pixma.man: update - * doc/descriptions/pixma.desc: add MP360,MP530 and MP800R product ID - * doc/descriptions/unsupported.desc: remove Smartbase MP360 (supported - by pixma backend) - -2006-08-26 m. allan noah - - * backend/fujitsu.[ch] backend/fujitsu-scsi.h: update to v1.0.40, - add 5530C usb id, rewrite brightness/contrast/gamma functions, - do_*_cmd functions handle short reads, updated init functions, - add MS buffer and prepick support for newer scanners - * doc/descriptions/fujitsu.desc backend/fujitsu.conf.in: - add 5530C usb id, version number update - * doc/descriptions/sane-fujitsu.man: - note support for newer scanner models - -2006-08-22 Karl Heinz Kremer - - * backend/epson_usb.c: Add product ID for CX3800/3810, V700/V750 - -2006-06-11 Eddy De Greef - - * doc/sane-mustek_pp.man: URL update. - -2006-08-21 Karl Heinz Kremer - - * backend/epson.c: Fix buffer overflow error (submitted by Johannes Meixner) - -2006-08-21 Jon Chambers - * TIFF tweaks for pickier libtiff under cygwin - * backend/Makefile.in: remove explicit $(srcdir) path from .conf - source paths to allow support for kdevelop-style build dirs. - * backend/dell1600n_net.c: fix compile warnings - -2006-08-12 Jon Chambers - - * backend/dell1600n_net.c: update for dell1600n_net.conf + reduce memory footprint - * backend/dell1600n_net.conf.in: added - * backend/dell1600n_net.c: update for dell1600n_net.conf.in - -2006-08-11 Gerhard Jaeger - - * doc/plustek/Plustek-USB.changes: update. - * backend/plustek.c: bumped build number. - * backend/plustek-usbdevs.c: lowered speed for LiDE20/30 when - using low resolutions. - * backend/plustek-usb.c: fixed warning condition. - -2006-08-09 Stephane Voltz - - * backend/genesys_gl646.c backend/genesys.c backend/genesys_devices.c: - improved sanei_genesys_search_reference_point to get more reliable - detection for HP2300 and MD6345. Slight tune up for HP2400 model. - -2006-08-09 Gerhard Jaeger - - * doc/plustek/Plustek-PARPORT.changes doc/plustek/Plustek-USB.changes - doc/u12/U12.changes: update. - * backend/artec_eplus48u.c backend/plustek.c backend/plustek_pp.c - backend/u12.c: changed sane.type to "flatbed scanner" only. - * backend/plustek-usbdevs.c: fixed LiDE20/30 motor settings - -2006-08-06 Stephane Voltz - - * backend/genesys_gl646.c backend/genesys.c: fix y scan area offset - detection for HP2300, one more fixe related to bug #303681. - -2006-08-01 Henning Meier-Geinitz - - * doc/descriptions-external/epkowa.desc: Updated info about - plugins and other comments (patch from Olaf Meeuwissen - ). - -2006-07-30 Pierre Willenbrock - - * backend/genesys_gl841.c: use an intermediate u_int8_t buffer - for register write (bug #303681). - -2006-07-30 Stephane Voltz - - * backend/genesys_gl646.c: use an intermediate char buffer - for register bulk write (bug #303681). - -2006-07-25 Henning Meier-Geinitz - - * tools/libtool-get-dll-ext: Fixed compilation problem with newer - tail programs which don't understand "-1" (bug #303630). - -2006-07-17 m. allan noah - - * backend/fujitsu.c: backend v1.0.39, rewrite contrast slope - code for readability, portability to other table widths - * doc/descriptions/fujitsu.desc: version number update - -2006-07-16 Julien Blache - * tools/sane-desc.c: split very long comment lines in the - generated udev rules file. Some comment lines very overly long, - and udev produced warning messages while loading the rules file. - -2006-07-15 m. allan noah - - * backend/fujitsu.c: backend v1.0.38, add 'useless noise' - debug level (35), for mode sense errors - * doc/sane-fujitsu.man: minor text changes, add new debug level - * doc/descriptions/fujitsu.desc: version number update - -2006-07-14 m. allan noah - - * backend/fujitsu.[ch] backend/fujitsu-scsi.h: backend v1.0.37, - add support for mode sense command, use it to detect various - page codes instead of hardcoding. add support for send cmd, - use it to enable 8 or 10 bit LUT for brightness/contrast. - minor global variable and option description cleanups. - * doc/descriptions/fujitsu.desc: version number/status update - -2006-07-06 m. allan noah - - * backend/fujitsu.[ch]: backend v1.0.36, less verbose debugging, - fi-5900 needs even number of bytes per scanline - * doc/descriptions/fujitsu.desc: version number update - -2006-07-05 m. allan noah - - * backend/fujitsu.[ch] backend/fujitsu-scsi.h: backend v1.0.35, - allow double feed detection, minor cleanups - * doc/descriptions/fujitsu.desc: version number update - -2006-07-04 m. allan noah - - * backend/fujitsu.[ch] backend/fujitsu-scsi.h: - update to v1.0.34, add S500 usb id, get more inq and vpd data, - allow background color setting for some scanners - * doc/descriptions/fujitsu.desc: version number update - -2006-07-03 Julien Blache - * tools/sane-desc.c: Fix a typo in the udev header. - -2006-07-03 Henning Meier-Geinitz - - * configure configure.in: Changed version to 1.0.18-cvs. Enabled - compilation warnings. - * Makefile.in: Added ChangeLog-1.0.18 to DISTFILES. - -Older entries can be found in ChangeLog-1.0.18. diff --git a/ChangeLog-1.0.2 b/ChangeLog-1.0.2 deleted file mode 100644 index beb0d28..0000000 --- a/ChangeLog-1.0.2 +++ /dev/null @@ -1,563 +0,0 @@ -2000-03-06 Petter Reinholdtsen - - * configure.in configure: New version is 1.0.2. - -2000-03-01 Abel Deuring - * doc/sane-scsi.man: fixed an ambiguity and a typo. - -2000-02-27 Petter Reinholdtsen - - * backend/v4l*.desc: Changed description from v4l to Video For - Linux. - - * backend/lhii.desc: Updated with URL to LHII drivers home page. - - * README.unixware7: Added compile information for SCO UnixWare 7 - from Jens Scheithauer. - -2000-02-26 Karl Heinz Kremer - - * doc/sane-epson.man: Updated documentation for EPSON - backend. - -2000-02-26 Chris Pinkham - - * backend/artec.desc: updated statuses, added link to a webpage for - AS6E parallel models, added manpage info. - -2000-02-26 Abel Deuring - * Sharp man page updated; man page added to doc/Makefile.in - -2000-02-26 Petter Reinholdtsen - - * configure.in: Don't use -ansi and -pedantic unless - --enable-warnings is used. Warnings are now disabled by default - to prepare for the next release. - -2000-02-24 Petter Reinholdtsen - - * tools/sane-desc.el: In backend web page, packends not included - in the distribution have the version number in parentheses. - -2000-02-20 Karl Heinz Kremer - - * sanei/sanei_scsi.c: Make sure the file is valid ANSI C. - - * configure: Regenerated based on current configure.in. - - * include/sane/sanei_backend.h: Typedef u_int{8,16,32}_t. - Defining them gave bogus code in on Irix 6.5. - - * backend/lhii.desc backend/musteka4s2.desc backend/nec.desc - backend/plustek.desc backend/sagitta.desc backend/st400.desc - backend/v4l.desc backend/v4l2.desc: Added info on existing - backends. Placed version number in () to indicate that these - backend are distributed separately. - - * backend/sharp.desc backend/pint.desc backend/canon.desc - backend/s9036.desc: Fixed typo and updated with more information. - - * AUTHORS: Marked active maintainers with '(*)'. - - * sanei/sanei_pio.c: Removed some warnings. - - * configure.in: New flag --enable-warnings to turn on or off more - GCC warnings. Default should be 'on' for development snapshots, - and 'off' for releases. - -2000-02-19 Karl Heinz Kremer - - * backend/epson.*: Updated desc file with new version number and - some more supported scanners. - Removed OPT_PREVIEW_RESOLUTION so that the frontend can handle - the preview resolution. - Changed the OPT_RESOLUTION data from a range to a word list, so - that the frontends can display the correct list of available - resolutions. - -2000-02-19 Chris Pinkham - - * backend/artec.c: Updated backend version to v0.5.13. Corrected - matrix of which features/enhancements should be active for each - scan mode. Fixed bug which causing Contrast to be INactive at - startup instead of Threshold. - * backend/artec.desc: updated backend version information. - -2000-02-19 Petter Reinholdtsen - - * sanei/sanei_thread.c include/sane/sanei_thread.h: These files - declares a _proposed_ internal SANE interface. It was proposed by - Yuri Dario to wrap UNIX functions fork(), kill(), waitpid() and - wait(), which are missing or not working on OS/2. - - * frontend/saned.c: OS/2 send socket on param list. Patch from - Yuri Dario. - - * sanei/os2_srb.h sanei/sanei_scsi.c: Include OS/2 SCSI header file. - - * include/sane/sanei_config.h sanei/sanei_config.c: New function - sanei_config_read(). Use this instead of fgets() when reading - config files to remove line ending chars on all known platforms. - Patch from Yuri Dario. - - * configure.os2: Updated configure param list from Yuri Dario. - -2000-02-19 Oliver Rauch - * updated umax backend to version 1.0 build 18 - for details read backend/umax.CHANGES - -2000-02-19 Oliver Rauch - * corrected spelling error in umax,c (devive -> device) - -2000-02-18 Abel Deuring - * sharp.c / sharp.h: Options for resolution now conform to - the Sane API; fixed and initialisation bug. Updated backend - version number in sharp.desc. - -2000-02-18 Oliver Rauch - * updated umax backend to 1.0 build 17 - (added support for sanei_scsi_open_extended) - for details take a look at backend/umax.CHANGES - -2000-02-15 Petter Reinholdtsen - - * backend/tamarack.desc: Updated info on request from Rogier - Wolff. - -2000-02-14 Petter Reinholdtsen - - * backend/m3096g-scsi.h backend/sp15c-scsi.h: Make lint_catcher - static to avoid link problems with duplicate symbols. - -2000-02-13 Petter Reinholdtsen - - * README.unixware2: Information from Wolfgang Rapp on how to build - SANE on UnixWare 2. - - * ltconfig ltmain.sh: Upgraded to libtool 1.3.4 and added Oliver - Rauch's soname patch. - - * backend/hp-accessor.c backend/hp-device.c backend/hp-handle.c - backend/hp-hpmem.c backend/hp-option.c backend/hp-option.h - backend/hp-scl.c backend/hp-scsi.h backend/hp.c backend/hp.desc - backend/hp.h doc/sane-hp.man: Updated HP backend to v0.86 from - Peter Kirchgessner. Enable scan depths > 8 and add option - enable-image-buffering to config file. - - * AUTHORS: Added author for backend s9036. - * backend/qcam.desc: Updated with more information. - -2000-02-11 Chris Pinkham - - * backend/artec.c backend/artec.h: Updated backend to version 0.5.11. - Removed mono_adjust function which handled bit offset in 1bpp modes, - this is now handled by forcing all scans to be wide enough to fill a - full byte. Reinserted code to set brightness on A6000C model as this - appears to be the only model that accepts that setting. Bug-fixes - for ADF & Transparency option settings. - * backend/artec.desc: updated backend version information. - -2000-02-11 Karl Heinz Kremer - * backend/epson.c - Fixed default scan source when option equipment - is installed. The default is now always "Flatbed". - -2000-02-08 Oliver Rauch - - * Added (again) missing file: doc/sane-logo2.jpg - -2000-02-08 Oliver Rauch - - * Added missing umax doc files: - - doc/sane-umax-old-scanners-doc.html - - doc/sane-umax-not-listed-doc.html - - doc/sane-umax-speed-doc.html - * Updated: - - doc/sane-umax-doc.html - - doc/sane-umax-scanners-doc.html - -2000-02-08 Matto Marjanovic - - * backend/microtek.c backend/microtek.h backend/microtek.conf - backend/microtek.desc doc/sane-microtek.man: Updated microtek - backend to v0.12.0. Changes: - - LUT entry size should match bit depth of scan. - - Free LUT's in sane_close(). - - Fixed really dumb type typos in microtek.h. - - Added all "mystery" model codes (and an auto-warning). - - Added all additional document size codes. - - Made function (description) of "scan speed" more obvious. - - Added entries for Color PageWiz. - - Added entries for Agfa DuoScan. - - A few miscellaneous cleanups to quiet gcc warnings. - -2000-02-07 Petter Reinholdtsen - - * frontend/saned.c sanei/sanei_pio.c sanei/sanei_scsi.c: Some OS/2 - patches from Yuri Dario. - - * frontend/scanimage.c: Avoid sprintf("%s", NULL). Bugreport and - fix from Yuri Dario. - -2000-02-06 Petter Reinholdtsen - - * configure: Regenerated based on current configure.in. - - doc/Makefile.in doc/sane-logo.gif doc/sane-logo.png doc/sane.gif - doc/sane.png: Convert .gif to .png. - - * backend/canon.c backend/snapscan-sources.c: Port to HP/UX. Stop - using GCC specific features. - -2000-02-05 Rene Rebe - * backedn/avision.? only minor updates and the new home-page - url ... - -2000-02-05 Abel Deuring - * fixed wrong buffer size handling for old Linux SG drivers - in sanei_scsi.c - * updated sane-scsi.man: How to change the buffer size, - if the new Linux SG driver is being used. - * fixed a type on sharp.c - -2000-02-03 Karl Heinz Kremer - * backend/epson.[ch] Reworked the gamma correction stuff - -2000-02-02 Karl Heinz Kremer - * backend/epson.[ch] Finally put the USB fix into the CVS - version. Removed version number from epson.h so that this - file does not need to be updated everytime epson.c changes. - -2000-02-01 Karl Heinz Kremer - * backend/epson.[ch] More changes in the attach function to - recognize USB scanners again. - * doc/sane-epson.man More updates to the man page. - -2000-01-29 Oliver Rauch - - * updated umax backend to version 1.0-build-16 - for details take a look at backend/umax.CHANGES - -2000-01-31 Petter Reinholdtsen - - * backend/hp-accessor.c backend/hp-accessor.h backend/hp-device.c - backend/hp-device.h backend/hp-handle.c backend/hp-hpmem.c - backend/hp-option.c backend/hp-option.h backend/hp-scl.c - backend/hp-scl.h backend/hp-scsi.h backend/hp.TODO backend/hp.c - backend/hp.desc doc/sane-hp.man: Updated to v0.85 from Peter - Kirchgessner. - -2000-01-30 Chris Pinkham - - * backend/artec.c backend/artec.h: (v0.5.9) changes to get lineart - and halftone modes working on AT12 and AM12S models. bugfixes to - eliminate hanging on some AT12 models. - * backend/artec.desc: version and model status updates - -2000-01-30 Oliver Rauch - * corrected missing "/" in include/sane/config.h.in line 251 - -2000-01-30 Rene Rebe - - * backend/avision.c fixed to compile on HP/UX - * backend/avision.desc fixed typo - * AUTHORS changed my eMail address - -2000-01-30 Petter Reinholdtsen - - * backend/dll.c backend/dll.aliases doc/sane-dll.man: Aliased and - hidden backend patch from Ingo Wilken. - - * config.sub configure.in include/sane/config.h.in sanei/sanei_scsi.c: - UnixWare 2.x and UnixWare 7 port by Wolfgang Rapp. - -2000-01-29 Karl Heinz Kremer - - * backend/epson.[ch] Moved gamma "stuff" from advanced to standard - options section to fix core dump in xscanimage - Removed pragma pack() to make it easier to compile on non-gcc - systems - -2000-01-29 Oliver Rauch - - * preview (xscanimage): added GDK_INPUT_EXCEPTION to gdk_input_add - * updated umax-backend to build 15 (for more see umax.CHANGES - * xscanimage: added GDK_INPUT_EXCEPTION to gdk_input_add - -2000-01-26 Karl Heinz Kremer - - * backend/epson.[ch] Bugfix for resolution selection via menu - Fixed coredump when no scanner found - merged Christian Bucher's newest version - - * AUTHORS ChangeLog - -2000-01-26 Petter Reinholdtsen - - * backend/m3096g-scsi.h backend/m3096g.c backend/m3096g.desc - backend/m3096g.h backend/sp15c-scsi.h backend/sp15c.c - backend/sp15c.desc backend/sp15c.h: Updated backends sp15c - (v1.12) and m3096g (v1.11) from Randolph Bentson. - -2000-01-25 Chris Pinkham - - * backend/artec.h backend/artec.c backend/artec.desc - installed new version (0.5.6) of artec backend with support - for Artec AM12S and Plustek 19200S models and numerous bugfixes. - * doc/sane-artec.man - updated manpage to reflect new list of supported models and - backend status. - - -2000-01-25 Abel Deuring - - * frontend/scanimage.c: minor modifications to the new batch mode - If an error occurs in batch mode, the corresponding output file - is now deleted. (Should make post-processing easier, because - otherwise we would have an empty output file every time the - ADF is empty or paper is jammed.) - -2000-01-25 Kazuya Fukuda and - Abel Deuring - * backend/sharp.c: Fix of possible segfault in sane_init - * backend/sharp.conf: contains now a complete sample configuration - -2000-01-25 Petter Reinholdtsen - - * frontend/scanimage.c: Return SANE_STATUS_NO_MEM if advance() - failes. Add return value to test_it(). - - * include/sane/sanei_debug.h: Add fflush() after fprintf() in - DBG macro. - - * AUTHORS backend/Makefile.in backend/m3096g.h backend/m3096g.c - backend/m3096g-scsi.h backend/m3096g.desc backend/m3096g.conf - backend/sp15c.h backend/sp15c.c backend/sp15c-scsi.h - backend/sp15c.conf backend/sp15c.desc backend/dll.conf - doc/Makefile.in doc/sane-fujitsu.man: Added backends sp15c (v1.11) - and m3096g (v1.10). - - All patches from Randolph Bentson. - -2000-01-24 Abel Deuring - - * backend/sharp.c, backend/sharp.h: update to version 0.30 - (sorry, forgot to make this note some days earlier) - -2000-01-24 Oliver Rauch - - * Added test for libcam to configure.in - it is needed by FreeBSD 3+ - -2000-01-21 Rene Rebe: - - * ChangeLog: updated (oversaw last time, sorry) - * backend/avision.c: fixed some compiling warnings - -2000-01-21 Petter Reinholdtsen - - * sanei/sanei_scsi.c: Bugfix: Added return type for dummy - sanei_scsi_open_extended() call. Bugreport for Solaris from - Martin Spott. - -2000-01-20 Petter Reinholdtsen - - * sanei/sanei_ab306.c: Removed compiler warnings. - - * frontend/scanimage.c: Adds a "batch mode" to the software, that - can be used in conjunction with an ADF device, so that one can - e.g. scan a complete document consting of multiple pages with just - one call to scanimage. This modification was created by Christian - Bucher so that his Epson scanner could use the ADF. Patch from - Karl Heinz Kremer. - -2000-01-19 Rene Rebe - - * backend/avision.*: added - the (very) basic avision backend - * backend/Makefile.in: updated for the avision backend - * AUTHORS: updated - -2000-01-18 Karl Heinz Kremer - * fixed typo in epson.desc and fixed the dates for - two of my earlier submissions in ChangeLog file - -2000-01-16 Karl Heinz Kremer - - * backend/epson.desc updated with URL - * backend/epson.c added support for Expression family - of scanners - * doc/sane-epson.man updated - -2000-01-10 Karl Heinz Kremer - - * backend/epson.desc fixed/updated. Now shows a link to - the alternative FilmScan 200 backend. - -2000-01-09 Karl Heinz Kremer - - * backend/epson.* updated. This is a new backend still based - on the origial Sane 1.0.1 version, but with lots of work - done: Support for ADF/TPU, more function levels (up to B9 - and initial work for F5), parallel scanner support and initial - support for USB scanners (don't use this yet, it still needs - a lot of work to be functional and usable). - -2000-01-05 Oliver Rauch - - * backend/umax* updated to backend version 1.0 build 14 - for detailled info take a look at umax.CHANGES - -2000-01-05 Petter Reinholdtsen - - * sanei/sanei_scsi.c include/sane/sanei_scsi.h configure.in - linux_sg3_err.h: Updated Linux SCSI Generic (SG) driver as - follows: - - new handling of sanei_scsi_max_request_size, if an SG - driver >= 2 is installed; - - SCSI command queueing on SG level for SG drivers >= 2.1.35; - - usage of the new interface in SG version 3, if available - - new configure option --enable-scsibuffersize=N - Patch from Abel Deuring . - -2000-01-02 Petter Reinholdtsen - - * configure.in tools/Makefile.in tools/sane-config.in: New script - sane-config to help frontend developers find the sane libraries. - -1999-12-29 Petter Reinholdtsen - - * configure.in: Add gcc options '-W -Wall -Wpointer-arith - -Wcast-qual' to at least get warnings on illegal C code which - would fail to compile on HP/UX native compiler. - -1999-12-20 Petter Reinholdtsen - - * include/sane/config.h.in backend/dc25.desc backend/dc25.c: - Updated DC-25 backend to v1.2 from Peter Fales - . - - Updated dc25.desc - - Retry capability for missing data or bad checksums in the data - from the camera. This has resulted in a dramatic reduction in - download failures. - - Include HAVE_CFMAKERAW in config.h.in and dc25.c. - - * backend/dc210.c: Corrected HAVE_cfmakeraw to HAVE_CFMAKERAW. - - * frontend/xscanimage.c: Change GIMP_EXTENSION to - SANE_GIMP_EXTENSION to avoid name conflict with gimp. Patch from - Stanislav Brabec . - -1999-12-12 Petter Reinholdtsen - - * backend/ricoh.h backend/ricoh.c: Add support for Ricoh IS50 - scanner. Limit IS50 resolution to 400 dpi. Reverse IS50 contrast - direction. Patch from Dick Streefland - . - - * backend/microtek.c backend/microtek.h backend/microtek.conf - backend/microtek.desc doc/sane-microtek.man: Updated Microtek - backend to v0.11.0 from Matthew Marjanovic . - - * backend/microtek2.c backend/microtek2.h: Updated Microtek2 - backend to v0.8 from Bernd Schroeder . - -1999-11-20 Oliver Rauch - - * ltmain.sh: - changed variable soname from "libsane-backendname.*" - to "libsane.*" by sed command. - * ltmain.sh: - changed again the sed command, forgot to remove "0-9" - -1999-11-14 Petter Reinholdtsen - - * backend/artec.c backend/artec.h backend/artec.desc - doc/sane-artec.5 doc/Makefile.in: Updated Artec backend to v0.5 - from Chris Pinkham . - -1999-11-11 Petter Reinholdtsen - - * backend/microtek2.c backend/microtek2.h backend/microtek2.desc: - Updated Microtek2 backend to vpre0.8.161099 from Bernd Schroeder - - - * backend/canon-* NEWS doc/canon.*: Updated Canon backend to - v991108 from Manuel Panea . - -1999-09-14 Oliver Rauch - - * removed sane-umax-*.gif and umaxlogo.gif, - the files were replaced by jpg format. - -1999-09-13 Oliver Rauch - - * backend/umax* and doc/sane-umax* updated to version 1.0-build-12 - for detailled info take a look at umax.CHANGES - -1999-09-12 Petter Reinholdtsen - - * include/sane/config.h.in: Add missing HAVE_SYS_SOCKET_H. - - * backend/hp-handle.c backend/hp-option.c backend/hp-option.h - backend/hp-scl.c backend/hp-scl.h backend/hp-scsi.h backend/hp.c - backend/hp.desc backend/hp.h doc/sane-hp.man: Updated backend to - v0.83 from Peter Kirchgessner . News: - - Reset scanner before downloading parameters (fixes problem with - sleep mode of scanner) - - Fix problem with coredump if non-scanner HP SCSI devices are - connected (CDR) - - Option scan-from-adf replaced by scantype - normal/adf/xpa. Transparency adapter scans (XPA) allow scanning - with internal light source switched off. - - PhotoScanner: Allow scanning of slides/negatives only at - multiple of 300 dpi. This fixes problem with preview which - scanned at arbitrary resolutions. - - (by Marian Szebenyi): close pipe (coredump on Digital UNIX) - - * backend/Makefile.in: Correct install target to also work on - platforms where dll endings isn't .so (like HP/UX). Extract - endings from libsane-dll.la. - -1999-09-07 Petter Reinholdtsen - - * tools/find-scanner.c: Checks (Linux only so far) for SCSI - Generic support in the OS kernel. If NOT present it tells the user - they may need SG drivers. Patch from Nick Lamb - . - - * sanei/sanei_scsi.c [sanei_scsi_cmd sanei_scsi_open]: Digital - UNIX 4.0D patches from Marian Szebenyi . - -1999-08-16 Petter Reinholdtsen - - * configure.in: Turn on more gcc warnings. - - * acinclude.m4 configure.in: Separate GTK_LIBS into LIBS and - LDFLAGS to get the X programs to link on HP/UX. - -1999-08-12 Petter Reinholdtsen - - * aclocal.m4 configure.in configure: Generate configure and - aclocal.m4 with autoconf 2.13. Adding AC_PROG_LD, trying to get - this compiling on CygWin32. Add AM_PROG_CC_STDC to get it to - compile out of the box on HP/UX. - - * lib/dll.c: Use calloc() instead of malloc() and memset(). Use - dlerror() instead of strerror() when dlopen fails - (bugfix from Ingo Wilkens). - -1999-08-11 Petter Reinholdtsen - - * config.guess config.sub: Updated to latest versions from FSF. - Better support for BeOS, WinNT and others. - -1999-08-09 Petter Reinholdtsen - - * Started CVS branch DEVEL_1_9. - - * install-sh ltconfig ltmain.sh mkinstalldirs: Updated from - automake 1.4 and libtool 1.3.3. - diff --git a/ChangeLog-1.0.20 b/ChangeLog-1.0.20 deleted file mode 100644 index fbaacaa..0000000 --- a/ChangeLog-1.0.20 +++ /dev/null @@ -1,2087 +0,0 @@ -2009-05-03 Chris Bagwell - * Makefile.in, aclocal.m4, configure, */Makefile.in: Regenerated - with newer automake. - * backend/Makefile.am, tools/sane-config.in: Add missing - $GPHOTO2_LDFLAGS so library can be found. - * tools/Makefile.am: Add mising $SCSI_LIBS to sane-find-scanner. - -****** Release of sane-backends 1.0.20. End of code freeze ****** - -2009-05-03 m. allan noah - * config.guess, config.sub: updated to latest versions - * NEWS, configure.in, configure: updated for 1.0.20 - * sane-backends.lsm, doc/releases.txt: minor tweaks - * doc/descriptions/coolscan3.desc, doc/descriptions/rts8891.desc: - add :new marker, correct manpage link - -2009-05-01 m. allan noah - * backend/fujitsu.c: copy_buffer() needs to count lines, or M309[12] - cannot scan in duplex - -2009-04-30 m. allan noah - * backend/fujitsu.c: ignore errors in scanner_control(), - M3091 has not worked since sane 1.0.19, due to this. - -2009-04-30 m. allan noah - * acinclude.m4, backend/gphoto2.c, configure, include/sane/config.h.in: - deal with upcoming gphoto2 interface change (patch by Chris Bagwell) - * po/sane-backends.nl.po: updates from Martin Kho - -2009-04-29 m. allan noah - * po/sane-backends.nl.po: updates from Martin Kho - * po/sane-backends.de.po: updates from Burkhard Luck - * po/Makefile.am, po/Makefile.in, po/sane-backends.en_GB.po: new - translation from Andrew Coles - * po/*.po: rebuilt with new strings - -2009-04-29 Stphane Voltz - * doc/sane-genesys.man doc/sane-rts8891.man: documentation updates and - cleanups - -2009-04-28 Julien Blache - * sanei/sanei_scsi.c: /proc/scsi is being deprecated in the Linux - kernel; use sysfs for SCSI device enumeration in - sanei_scsi_find_devices() by default, keep - sanei_proc_scsi_find_devices() as a fallback option. - -2009-04-27 Gerhard Jaeger - * backend/plustek-usbdevs.c: - Tweaked highspeed settings for Epson 1260 - -2009-04-27 Stphane Voltz - * backend/rts8891.c backend/rts8891.h backend/rts8891_devices.c - backend/rts8891_low.c backend/rts8891_low.h backend/rts88xx_lib.c - backend/rts88xx_lib.h: turn off scanner sharing option to off by default - to keep on the safe side, copyright and internal version updates. - -2009-04-27 Stphane Voltz - * backend/genesys.c backend/genesys_gl646.c backend/genesys_devices.c: - shading calibration fixes for HP2300 - -2009-04-25 Alessandro Zummo - * backend/epson2.c: fixed TPU warmup retry - -2009-04-23 Stphane Voltz - * backend/genesys.c backend/genesys_gl646.c backend/genesys_devices.c: - y scan position and shading calibration fixes for MD5345/MD6471 - -2009-04-23 m. allan noah - * doc/descriptions/fujitsu.desc: update S1500 status to complete - -2009-04-22 m. allan noah - * include/sane/sane.h: convert new frame and status to #define - -2009-04-21 Nicolas Martin - * doc/sane-pixma.man, doc/descriptions/pixma.desc, - backand/pixma_mp150.c: - Updated documentation for Pixma MP240, reported to work fine by Nik. - -2009-04-21 Alex Belkin - * backend/xerox_mfp.c: update version number. - -2009-04-20 m. allan noah - * backend/fujitsu.c, backend/fujitsu.conf.in, - doc/descriptions/fujitsu.desc: add S1500 usb ids and status - * backend/canon_dr.c: update credits - * doc/sane-fujitsu.man, doc/sane-canon_dr.man: update version numbers, - dates, credits and known issues - * doc/saned.man: remove section about uncontrolled data port range - -2009-04-20 Alessandro Zummo - * backend/coolscan3.c: temporarily disable infrared. - -2009-04-17 Nicolas Martin - * doc/sane-pixma.man, doc/descriptions/pixma.desc: - Updated documentation for Pixma MP540, reported to work fine by Rogge. - -2009-04-17 Pierre Willenbrock - * backend/genesys.c, backend/genesys_gl646.c, - backend/genesys_gl841.c, backend/genesys_low.h: Always do shading - calibration in color mode on gl841. - * backend/genesys.c, backend/genesys_gl841.c: Fix bugs introduced above. - -2009-04-16 Stphane Voltz - * backend/genesys.h backend/genesys.c backend/genesys_gl646.c - backend/genesys_devices.c: y scan position fixes - - added a 'clear calibration cache button' - -2009-04-15 Stphane Voltz - * backend/genesys.c backend/genesys_gl646.c: calibration cache - activation for gl646 based scanners - -2009-04-15 m. allan noah - * backend/fujitsu.c, doc/descriptions/fujitsu.desc: backend v93 - - return cmd status for reads of sensor options - * backend/canon_dr.c, doc/descriptions/canon_dr.desc: backend v26 - - return cmd status for reads of sensor options - - allow rs to adjust read length for all bad status responses - -2009-04-14 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl646.c: - shading calibration rework for GL646 based scanners - -2009-04-13 m. allan noah - * tools/sane-desc.c: fix double summing of untested column - -2009-04-13 Stphane Voltz - * backend/rts8891.c: minor version change to test commit scripts - -2009-04-13 Stphane Voltz - * backend/pnm.c: conditional handling of STATUS_HW_LOCKED - and STATUS_WARMING_UP - -2009-04-12 m. allan noah - * doc/doxygen-sanei.conf.in: update to recent version of doxygen - -2009-04-12 m. allan noah - * configure.in: change version to 1.0.20cvs - * configure: rebuild from configure.in - * include/sane/sane.h: hide API changes (minor, frame and status) - * backend/canon_dr.c, backend/fujitsu.c: SANE_FRAME_JPEG - * backend/coolscan3.c: SANE_FRAME_RGBI - * backend/genesys_gl646.c, backend/genesys_gl841.c: STATUS_HW_LOCKED - * backend/rts8891.c, frontend/scanimage.c: STATUS_WARMING_UP - * backend/pixma_io_sanei.c, backend/xerox_mfp.c, - backend/sane_strstatus.c: STATUS_HW_LOCKED & STATUS_WARMING_UP - * doc/releases.txt: minor updates for new build system - -2009-04-07 Nicolas Martin - * doc/sane-pixma.man, doc/descriptions/pixma.desc: - Updated documentation for i-SENSYS MF4018 support. - -2009-04-07 Julien Blache - * doc/descriptions-external/epkowa.desc: update for iScan 2.19.0, - from Olaf Meeuwissen. - -2009-04-05 Nicolas Martin - * backend/pixma_io.h, backend/pixma_io_sanei.c, doc/sane-pixma.man: - Increased timeouts for read bulk and write bulk operations to 10s - Changed minimum timeout for interrupt read to 100ms - For MAC OS X : added a wrapper to sanei_usb_read_int as darwin libusb - does not handle timeouts in interrupt reads. This disables button scan - for MAC OS X, updated man page with this info. - * backend/pixma_mp150.c: - Added 2 new Canon Pixma models but usb pid/vid yet unknown. - -2009-04-05 m. allan noah - * backend/canon_dr.[ch], backend/canon_dr.conf.in: backend v24 - - fix DR-2510C duplex deinterlacing code - - rewrite sane_read helpers to read until EOF - - update sane_start for scanners that dont use object_position - - dont call sanei_usb_clear_halt() if device is not open - - increase default buffer size to 4 megs - - set buffermode on by default - - hide modes and resolutions that DR-2510C lies about - - read_panel() logs front-end access to sensors instead of timing - - rewrite do_usb_cmd() to use remainder from RS info - * doc/desciptions/canon_dr.desc: backend v24, update DR-2510C comment - -2009-03-31 Louis Lagendijk - * backend/pixma_bjnp.c: - - silenced some debug statements during scanner detections - - increased timeouts to 20 seconds as 10 seconds is apparently - - not enough for the combination of a Mac and an MX850. - -2009-03-21 Alex Belkin - * backend/xerox_mfp.conf.in: add Xerox Phaser 6110MFP - * backend/xerox_mfp.c: compatibility with scanners w/o feeder. - -2009-03-28 Julien Blache - * backend/avision.c: fix typos in error messages in - sense_handler(). - -2009-03-27 m. allan noah - * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v23 - - rewrite all image data processing code - - handle more image interlacing formats - - re-enable binary mode on some scanners - - limit some machines to full-width scanning - * doc/desciptions/canon_dr.desc: v23, improved comments - -2009-03-25 m. allan noah - * backend/canon_dr.[ch]: backend v22 - - add deinterlacing code for DR-2510C in duplex and color - -2009-03-25 Pierre Willenbrock - * backend/genesys.c, backend/genesys_gl646.c, - backend/genesys_gl841.c, backend/genesys_low.h: Add calibration cache - -2009-03-24 m. allan noah - * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v21 - - correct rgb padding macro - - skip send_panel and ssm_df commands for DR-20xx scanners - * doc/desciptions/microtek2.desc: add ScanMaker 6400XL - -2009-03-24 Chris Bagwell - * doc/Makefile.am: Don't include any template.desc. into - generated HTML files. - -2009-03-23 m. allan noah - * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v20 - - improved macros for inquiry and set window - - shorten inquiry vpd length to match windows driver - - remove status-length config option - - add padded-read config option - - rewrite do_usb_cmd to pad reads and calloc/copy buffers - * backend/canon_dr.conf.in: s/status-length/padded-read/g - -2009-03-22 m. allan noah - * backend/canon_dr.[ch]: backend v19 - - pad gray deinterlacing area for DR-2510C - - override tl_x and br_x for fixed width scanners - * doc/descriptions/canon_dr.desc: backend v19, update comments - -2009-03-21 m. allan noah - * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v15 thru v18 - - add byte-oriented duplex interlace code - - add RRGGBB color interlace code - - add basic support for DR-2580C, DR-2050C, DR-2080C, DR-2510C - - add more unknown setwindow bits - - add support for 16 byte status packets - - clean do_usb_cmd error handling (call reset more often) - - set status packet size from config file - - rewrite config file parsing to reset options after each scanner - - add config options for vendor, model, version - - dont call inquiry if those 3 options are set - - remove default config file from code - - add initial gray deinterlacing code for DR-2510C - - rename do_usb_reset to do_usb_clear - * doc/descriptions/canon_dr.desc: backend v18, update model status - * backend/canon_dr.conf.in: added better comments and new options - -2009-03-21 Pierre Willenbrock - * backend/genesys_devices.c: Enable Motor again for combined - dark/bright calibration, fix calculation of pixel number used in - calibration - * backend/genesys_devices.c, backend/genesys_gl646.c, - backend/genesys_gl841.c, backend/genesys_low.h: Remove park_head - * backend/genesys_devices.c, backend/genesys_gl841.c: Calculate - shading coefficients using maximum input resolution available - -2009-03-21 m. allan noah - * backend/fujitsu.[ch]: backend v91 - - remove unused temp file code - -2009-03-20 m. allan noah - * backend/hpljm1005.c: use private function instead of round() - -2009-03-19 Pierre Willenbrock - * backend/genesys_devices.c, backend/genesys.conf.in: - Add basic support for Visioneer XP100 rev 3 and USB IDs for - Syscan DocketPort 465 - -2009-03-06 Louis Lagendijk - * backend/pixma_bjnp.c backend/pixma_bjnp.h - backend/pixma_bjnp_private.h backend/pixma_io_sanei.c: - Make bjnp protocol more resilient against packet loss and corruption - Changed timeout for all responses to be at least 10 seconds - Send all broadcasts for scanner detection 5 times - Made sure scanners are added to device list only once - Changed device-id for bjnp so it uses scanner hostname/ip-address - instead of mac address as this is more human friendly. - To make room, use scanner model instead of USB-id (which is bogus - for network scanners - -2009-03-17 m. allan noah - * doc/desc/gt68xx.desc, backend/gt68xx.conf.in: add NeatReceipts - Mobile Scanner (from Kelly Price) - -2009-03-13 m. allan noah - * frontend/scanimage.c, doc/scanimage.man: make -B (buffer-size) - selectable, and make long name consistent. (#309672 by Johannes Berg) - -2009-03-13 m. allan noah - * tools/sane-desc.c: remove 8859-1 chars from string cleaner, - enforce only printable ASCII on output - -2009-03-13 Ilia Sotnikov - * frontend/saned.c: - - Remove unnecessary 'res' variable assignment in check_host() - (AF-indep version) - -2009-03-13 Julien Blache - * doc/descriptions-external/epkowa.desc: update for iScan 2.18.0, - from Olaf Meeuwissen. - * frontend/saned.c: rework Ilia's changes in - check_host(). Explicitly bind IPv6 addresses first, introduce - do_bindings_family() split off of do_bindings(). - -2009-03-12 Ilia Sotnikov - * frontend/saned.c: - - Allow host checking to proceed if no local name was found - -2009-03-12 Ilia Sotnikov - * frontend/saned.c: - - Use hstrerror (h_errno) instead of strerror(errno) on gethostbyname() - errors - -2009-03-12 Nicolas Martin - * doc/sane-pixma.man, doc/descriptions/pixma.desc: - Added ImageClass MF4010 support in pixma backend docs. - * backend/pixma_imageclass.c: - Removed ADF capability to ImageClass models without ADF - * backend/pixma.h, backend/pixma_common.c, backend/pixma_io_sanei.c: - Added a PIXMA_EOF error return code - -2009-03-09 Stphane Voltz - * backend/genesys.c backend/genesys.h backend/genesys_devices.c - backend/genesys_gl646.c doc/descriptions/lexmark.desc: cleanups - for genesys backend. Change in document detection for gl646 - sheetfed scanners. - - lexmark backend description update - -2009-03-09 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl646.c: - 1200 dpi scan fix and head positionning fixes - - -2009-03-07 m. allan noah - * backend/canon_dr.c, backend/canon_dr.conf.in: backend version 14 - - remove HARD_SELECT from counter (Legitimate, but API violation) - - attach to CR-series scanners as well - -2009-03-06 Louis Lagendijk - * backend/pixma_bjnp_private.h: disabled experimental/incomplete - button handling for bjnp protocol as it seems to cause problems - with xsane preview - -2009-03-06 m. allan noah - * backend/canon_dr.c, backend/canon_dr.conf.in, - doc/descriptions/canon_dr.desc: backend version 13 - - new vendor ID for recent machines - - add usb ids for several new machines - - DR-4010C reported good - -2009-03-05 m. allan noah - * backend/umax1220u.c: set initial scan area dimensions to maximum - -2009-03-05 Chris Bagwell - * configure.in: Allow user to disable latex support; original - patch from Johnson Earls. - -2009-03-05 m. allan noah - * doc/descriptions-external/epkowa.desc: update all broken urls - -2009-03-04 m. allan noah - * doc/descriptions/coolscan3.desc, doc/sane-coolscan3.man, - doc/Makefile.in|am: add missing coolscan3 docs - * backend/dll.conf.in: # out epson and coolscan2, remove hpoj text - * doc/descriptions/epson2.desc: add Epson RX-620 - -2009-03-03 Pierre Willenbrock - * backend/genesys_gl841.c: Fix the generated generic gamma table. - -2009-02-28 Chris Bagwell - * tools/sane-config.in: Add space mistakenly removed during - last update. - -2009-03-03 Julien Blache - * doc/descriptions/epson.desc: add Epson RX-620 (0x04b8 0x0811), - reported by Heikki Kantola. - -2009-02-28 Chris Bagwell - * acinclude.m4, tools/sane-config.in: Add in missing libraries - to sane-config missed during fix to stop using LIBS to link everything. - Add back in code to move LDFLAGS out of $GPHOTO2_LIBS and into - GPHOTO2_LDFLAGS. - -2009-03-02 Stphane Voltz - * backend/genesys_devices.c, backend/genesys_gl646.c: fix 400, 1200 - and 2400 dpi scan modes for MD5345/MD6471 - -2009-03-02 Julien Blache - * frontend/saned.c: work around backends that can't keep their - dirty fingers off stdin/stdout/stderr when run through inetd, - breaking the network dialog and crashing the remote net backend. - -2009-02-28 Chris Bagwell - * m4/byteorder.m4: Delete temporary file in all cases. - * backend/Makefile.am, japi/Makefile.am: Use BUILT_SOURCES - instead of dependency so that files are not compiled - during "dist" target. - -2009-02-28 Pierre Willenbrock - * backend/genesys.conf.in, backend/genesys_devices.c, - backend/genesys_gl841.c, backend/genesys_low.h: Add support for - Ambir/Syscan DocketPORT 665 - * backend/genesys.conf.in, backend/genesys_devices.c, - backend/genesys_low.h: Add support for Visioneer Roadwarrior - * backend/genesys_gl841.c: Adjust gl841 part to recent changes - -2009-02-27 Stphane Voltz - * backend/genesys.c backend/genesys.conf.in backend/genesys.h - backend/genesys_devices.c backend/genesys_gl646.c backend/genesys_gl841.c - backend/genesys_low.h: rewrite of gl646 internals to enable easy - scanner addition and better calibration process. Untested support for - hp3670. Use of id in genesys_devices structures to have more robust - descriptions. - -2009-02-25 Chris Bagwell - * acinclude.m4, backend/*.[ch], tools/*.[ch], frontend/*.[ch]: - Global replace of u_int??_t with C9x standard based uintxx_t - in order to remove some tricky and overlapping portability logic - from acinclude.m4 and leave it in only m4/stdint.m4. - -2009-02-24 Chris Bagwell - * configure.in, m4/stdint.m4: Update to latest version to - get latest fixes and use logic to not recreate _stdint.h if - no changes (to prevent unneeded recompiles). - * m4/byteorder.m4: Added support to reuse existing byteorder.h if - no changes to prevent timestamp causing a recompile. - -2009-02-24 m. allan noah - * frontend/scanimage.c: improved comments, simplified x/y option code, - removed buggy -1/+1 x/y code (#311172), expose non-settable options, - check for invalid caps on options, handle option descs with \n - * doc/releases.txt: add note about cvs checkout on alioth. - -2009-02-24 m. allan noah - * backend/*.[ch]: more consistent #include "../include/sane/config.h" - -2009-02-24 m. allan noah - * backend/Makefile.am/in, backend/xerox_mfp.conf.in: should use conf.in - -2009-02-23 Chris Bagwell - * backend/Makefile.am: Add back in deletion of $(sanelibdir)/libsane.* - for buggy libtools. Add some minor documentation. - * doc/backend-writing.txt: Add minor document updates to reflect - conversions to automake. - -2009-02-23 m. allan noah - * backend/fujitsu.c, backend/fujitsu.conf.in, - doc/descriptions/fujitsu.desc, doc/sane-fujitsu.man: backend v90, - add S510M usb ID's, add fi-6010N to .desc - * backend/epjitsu.conf.in, doc/descriptions/epjitsu.desc, - doc/sane-epjitsu.man: add S300M usb ID's - -2009-02-23 Pierre Willenbrock - * backend/genesys_devices.c, backend/genesys_gl841.c, - backend/genesys_low.h: Add post_scan and eject_feed to struct - Genesys_Model - * backend/genesys.c, backend/genesys_gl646.c, - backend/genesys_gl841.c: Move sanei_genesys_{start,stop}_motor into - chip specific sources - backend/genesys_gl841.c: Make start/stop_(motor, now)action - actually work, various warning cleanups - -2009-02-23 Jonathan Bravo Lopez - backend/hp3900_config.c: Fix area of negative/slide scans for - HP ScanJet G3110. - -2009-02-22 Chris Bagwell - * japi/Makefile.am: Add back -version-number to java library but - also add V_REV. - * backend/Makefile.am: Use variables to add libraries to backends - instead of direct substitution. Easier to touch up variables on - problem platforms then substitution. Also, add back in creating - dll.d directory; missed during conversion. - * backend/genesys_gl841.c: Portablity fixes for strict - C compilers. - -2009-02-21 Chris Bagwell - * po/Makefile.am, configure.in: convert remaining directory, - po, to use automake. - * doc/Makefile.am: Get rid of unneeded gnu extensions to quieten - down autotools warnings. - * lib/getopt.c, lib/getopt1.c: Fix disabling getopt compile again. - -2009-02-20 m. allan noah - * backend/avision.c: backend v290, fix reader_pid and NVRAM option - issues, by Mattias Ellert. - * backend/fujitsu.c: backend v89, fi-4750 has no serial number support - * doc/descriptions/fujitsu.desc: backend v89, remove 'MAC/TWAIN' text - * doc/sane-fujitsu.man: backend v89 - * backend/.cvsignore: ignore *.loT - -2009-02-01 Mattias Ellert - * tools/Makefile.am: Add missing liblib dependencies - * frontend/scanimage.c: Restore alloca include order - -2009-02-19 Chris Bagwell - * configure.in, Makefile.am, backend/Makefile.am: Have - configure define configdir so all makefiles can use - it (fixes bug introduce with sanei converted to automake). - Enable running testsuite during distcheck. - * japa/Makefile.am: Convert japi to automake. - -2009-02-19 Julien Blache - * configure.in: add --enable-libusb_1_0 and check for libusb-1.0 - using pkg-config. - * sanei/sanei_usb.c: add support for libusb-1.0. - * tools/sane-find-scanner.c: add support for libusb-1.0. - * tools/check-usb-chip.c: compile as an empty file if libusb-1.0 - is used. - -2009-02-18 Chris Bagwell - * configure.in, tools/Makefile.am: convert tools to automake. - Add tools/openbsd to distribution package. - * include/Makefile.am: include files should have been installed - under sane/ directory when converted to automake. - * doc/Makefile.am: Cleanup. Use automake's built in support to - install docs within subdirectories. - * Makefile.am, testsuite: Convert testsuite to automake. Waiting - for test backend bugfix before enabling this to run during "distcheck". - -2009-02-18 Julien Blache - * configure.in, configure: raise avahi-client dependency to - 0.6.24, following a needed bugfix in this release. - * backend/net.c: do not lock the Avahi thread before stopping - it. It looks like it's no longer necessary to do so. - * frontend/saned.c: fix handling of Avahi server restart so it - actually works. - -2009-02-14 Chris Bagwell - * configure.in, doc/Makefile.am, frontend/Makefile.am, - include/Makefile.am, sanei/Makefile.am, tools/Makefile.am: - convert frontend, include, and sanei directories to use - automake. Only reference libsanei.la now. Use am_conditional - to compile sanei_jpeg.lo. distcheck now runs sanei/wire_test. - -2009-02-13 Chris Bagwell - * Makefile.am, configure.in, doc/Makefile.am: Convert - doc/Makefile to use automake. Main difference is that - no longer installs man pages for backends that are not - compiled. Moved install ownership of $top_srcdir docs - to $top_srcdir's Makefile. - -2009-02-06 Chris Bagwell - * configure.in, backend/Makefile.am: Add back change to - use -version-number even though its known not to work on - some platforms (OS/2). -version-info results in a variety of - version numbers in soname based on platform and would not - be easily mappable back to values currently return by - each backend's sane_init(). ltmain.sh will need to be - hand patched for any known issues. - -2009-02-08 Pierre Willenbrock - * backend/genesys_gl841.c: Remove "init device" usb request. - * backend/genesys_gl841.c, backend/genesys_devices.c, - backend/genesys_low.h: Add support for uncalibrated scans in all - modes for Visioneer Strobe XP300. Front- and backside are - side-by-side, backside mirrored horizontally. - * doc/descriptions/genesys.desc: Added XP300 to the genesys - desc file. - -2009-02-06 Chris Bagwell - * configure.in, backend/Makefile.am: Add back in support for - optionally linking in sanei_jpeg.lo under backend directory; - but using configure and not with GNU make extensions. - Move back to libtool's -version-info instead of -version-number - because the later has known bugs on platforms such as OS/2. - -2009-02-04 Chris Bagwell - * configure.in, acinclude.ac: Cleanup autoconf 2.63 warnings. - add cv_ prefix to cached variable. Remove AC_ARG_PROGRAM as - automake already invokes this. When prefered AC_USE_SYSTEM_EXTENSIONS - exists, use that instead of AC_GNU_SOURCE/AC_AIX/AC_MINUX. - Cleanup socket detection more by creating only a single - SOCKET_LIBS that contains list of all optional libraries - for any socket related funciton. Make sure that checks - for socket related functions use SOCKET_LIBS when searching. - Check for getopt_long() and getopt.h. Make OS/2 use - -no-undefined (same as windows). - * ltmain.sh, m4/libtool.m4: Upgrade to libtool 1.5.26. - * Makefile.am: Cleanups to match configure updates. - * frontend/scanimage.c, include/Makefile.in, lib/getopt.c - lib/getopt1.c, toosl/sane-desc.c, include/lgetopt.h: - Rename internal getopt.h to lgetopt.h to allow using - external getopt.h when it exists. This allows to go - back to optionally compiling getopt()/getopt_long() and its - prototypes and not have conflicts with external headers/symbols. - -2009-02-04 Nicolas Martin - * doc/sane-pixma.man doc/descriptions/pixma.desc: - Added ImageClass MF4120 support in pixma backend docs. - -2009-02-03 Julien Blache - * tools/sane-desc.c: filter out unsupported/unknown models from - output (udev/hal). - -2009-02-02 Nicolas Martin - * backend/pixma_common.c backend/pixma_common.h /backend/pixma_imageclass.c - backend/pixma_mp150.c backend/pixma_mp730.c backend/pixma_mp750.c: - Change ALIGN macro name to ALIGN_SUP for PPC compatibility. - Some cosmetic changes to source code alignment. - -2009-02-01 Alex Belkin - * backend/xerox_mfp.c backend/xerox_mfp.h: - Proper handling of parameters (to fix xsane crash). - * backend/xerox_mfp.conf doc/descriptions/xerox_mfp.desc: - Added Dell MFP 1815dn. - -2009-02-01 Chris Bagwell - * aclocalm4: fix prototype of internal strcasestr and usleep. - * configure.in: Group all USB logic together and all SCSI - logic together to aid understanding of whats no longer - valid. Allow sharing enable/disable options between all - USB drivers on multiple platforms. Combined CAM_LIBS and - SCSI_LIBS since they are mutually exclusive. - Skip some USB/SCSI checks when previous tests show it will always fail. - * backend/Makefile.am, tools/Makefile.in: Combine CAM_LIBS and - SCSI_LIBS. Add missing SOCKET_LIBS to epson2. Add USB_LIB. - * saned.c: Add limits.h for PATH_MAX. - -2009-02-01 Mattias Ellert - * acinclude.m4, backend/Makefile.am: Restore the removed - DYNAMIC_FLAG configuration. - * acinclude.m4, sanei/sanei_jpeg.c: Don't compile sanei_jpeg - if libjpeg is unavailable. - * backend/canon_dr.c, backend/hs2p-scsi.c, backend/xerox_mfp.c: - format fixes. - * backend/hs2p.c: fix missing return. - * backend/canon630u-common.c: avoid redefinition warning. - -2009-01-31 Chris Bagwell - * backend/Makefil.am: Add missing math library to coolscan2 - and coolscan3. - * acinclude.m4, configure.in: Define JPEG objects based on - existence of JPEG library and not on the dc* backends alone - since more backends then that use JPEG support. - -2009-01-30 Chris Bagwell - * frontend/saned.c: Replace usage of getgrouplist() with - getgrent() and friends. getgrouplist is not posix and not - on several platforms including cygwin. - * acinclude.m4, configure.in: Put all libraries into their - own *_LIB variables instead of $LIB so that we do not have to - link in the world to all executables. Modified SANE_CHECK_U_TYPES - to be a little more portable to platforms that use #define - for u_* types. Create SANE_CHECK_BACKENDS macro so that - PRELOADABLE_BACKENDS can also be valided. Auto-populated - PRELAODABLE_BACKENDS when detect dlopen() won't work. - Various protability cleanups. - * backend/dll.c: Make dll-preload.c a .h since its an include and - not compilable byitself. - * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, - lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, - tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la - for everyone to use and a libfelib.la for only frontend programs. - Make all internal programs be prefixed with sanei_ as not to conflict - with other programs libsane is linked in with that will also most - likely create similar internal utils on problem platforms. - * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile - and link in getopt_long() but prefix it with sanei_. Its - easier to always use internal version then try to figure out what - platforms support getopt_long() and what header files to use. - * backend/Makefile.am: Convert backend makefile to automake. - Initial version that is feature parity with original but uses - specific rules instead of wildcards and only links in libraries/objs - really required. Room for more cleanup of whats linked in once - all makefiles have been converted to automake. - -2009-01-29 Chris Bagwell - * backend/epson2.c backend/pixma_bjnp.c, include/sane/sanei_backend.h, - sanei/sanei_tcp.c, sanie/sanei_udp.c: Improve portablity by - removing usage of MSG_WAITALL since not all platforms support - that (cygwin). Default is to be blocking anyways. Changed - usage of MSG_NOTWAIT to use fcntl() function as needed as well. - * configure.in, lib/Makefile.in, lib/strcasestr.c: Add internal - strcasestr() for platforms missing it (cygwin). - * pixma_common.c: Make source match header prototype for picky - compilers (cygwin). - * backend/umax_pp_mid.c: Allow BACKEND_NAME to be filename - yet debug to be SANE_DEBUG_UMAX_PP to match man page. - -2009-01-28 Julien Blache - * doc/descriptions/epson.desc: added :scsi data for the GT-7000 - and Perfection1200S. Patch from Dieter Jurzitza. - -2009-01-27 Louis Lagendijk - * backend/pixma_bjnp.c: fixed bug that caused scanner discovery to - fail when it encountered a point to point link (check data returned - by getifaddrs() - -2009-01-26 Chris Bagwell - * configure.in: Add AM_MAINTAINER_MODE to disable regenerating - configure files. This was behavior of Makefiles before automake - and works around various timestamp issues. - -2009-01-25 Pierre Willenbrock - * backend/genesys_gl841.c: Change status code for locked head to - SANE_STATUS_HW_LOCKED - -2009-01-21 m. allan noah - * doc/descriptions/canon_dr.desc: correct version, status = new - * doc/descriptions/epjitsu.desc, doc/descriptions/fujitsu.desc: version - * doc/descriptions/umax1220u.desc: correct status of 1600U - * doc/descriptions/xerox_mfp.desc: status = new - -2009-01-23 Julien Blache - * doc/descriptions-external/epkowa.desc: Update for iScan 2.16.0, - from Olaf Meeuwissen. - -2009-01-22 Chris Bagwell - * Makefile.in: Submit Makefile.in from Makefile.am submitted - previously. - * backend/epson.c, backend/epson_scsi.c, backend/epson2_net.c, - backend/epson2_scsi.c, backend/genesys_gl646.c, - backend/genesys_gl841.c, backend/lexmark_low.c, backend/rts88xx_lib.c, - backend/umax_pp.c, backend/umax_pp_low.c, backend/umax_pp_mid.c, - doc/Makefile.in, doc/sane-epson.man, doc/sane-epson2.man: - Updated backends with EXTRA_* files to allow Makefile's - to always pass in BACKEND_NAME to be fixed to backend name - instead of filename; while still making sure that - SANE_DEBUG_${BACKEND}* exist as documented in man pages. - Add references to epson and epson2 man pages about - SANE_DEBUG_EPSONx_SCSI and _NET options. - Created an epson2 man page; based mostly on epson page. - * backend/stubs.c: Currently, compiling stubs.c requires its - own compile rule simply to pass in -DSTUBS. Since its always - required, just define it in stubs.c - -2009-01-22 Stphane Voltz - * doc/Makefile.in doc/descriptions/genesys.desc : added the rts8891 - man page to the generation and install . added XP200 to the genesys - desc file. - -2009-01-21 Chris Bagwell - * Makefile.am, lib/Makefile.in: Run all libcheck tests before - failure and look for both static and shared libraries. - Fixed $srcdir typo in lib/Makefile.in. - -2009-01-21 m. allan noah - * backend/canon_dr.[ch], backend/epjitsu.[ch], backend/fujitsu.[ch]: - - dont export private symbols - -2009-01-19 m. allan noah - * doc/descriptions-external/brother2.desc: add MFC-7840W - -2009-01-19 Nicolas Martin - * pixma_imageclass.c: - Fixed select_source message length, and typo bug in last update. - Set MP4600 series for inverted checksumming. - -2009-01-19 Stphane Voltz - * backend/genesys.c backend/genesys.conf.in backend/genesys.h - backend/genesys_devices.c backend/genesys_gl646.c - backend/genesys_gl841.c backend/genesys_low.h: add support for - uncalibrated scans in all modes for Visioneer Strobe XP200. Add - support for buttons for MD5345/HP2300 and XP200 - -2009-01-18 m. allan noah - * doc/descriptions/unsupported.desc: everything reported from - 2008-07 to 2009-01 - -2009-01-18 Pierre Willenbrock - * backend/genesys_low.h: Fix prototype of update_hardware_sensors. - Make half-ccd mode optional. - * backend/genesys_gl841.c: Make dpihw depend on sensor pixel count - instead of sensor resolution. Make some Canon LiDE 35 specific - gpio handling conditional, add missing SCANMOD shift. Make - half-ccd mode optional. Reenable clock register setup from sensor - struct, set SCANMOD. - * backend/genesys_devices.c: Make half-ccd mode optional. - Reenable clock register setup from sensor struct, set SCANMOD. - -2009-01-17 Nicolas Martin - * pixma_mp150.c: - Fixed "Busy mode" exit processing. - -2009-01-17 Julien Blache - * doc/descriptions/hp.desc: add SCSI identifiers for the ScanJet - IIc, from Daniel Golle (sane-devel, 20061105). - * frontend/scanimage.c: make batch mode create output files - atomically. Patch by Simon Matter . - -2009-01-16 Chris Bagwell - * .cvsignore, Makefile.in, aclocal.m4, config.sub, configure, - configure.in, backend/cvsignore, include/Makefile.in, - include/sane/config.h.in, INSTALL, Makefile.am, missing: - Convert top-level Makefile to be generated by automake. - "dist" target now includes m4 directory. Updated "libcheck" - target to look at dynamic libraries instead of static. - -2009-01-16 Chris Bagwell - * doc/Makefile.in, frontend/Makefile.in, include/Makefile.in, - japi/Makefile.in, lib/Makefile.in, po/Makefile.in, - sanei/Makefile.in, testsuite/Makefile.in, tools/Makefile.in, - backend/Makefile.in: - Updates to Makefiles to prepare for transition to automake. - Fix a few bugs with "all" and "uninstall" targets to work when - $(builddir) != $(srcdir). Added $(DESTDIR) to uninstall target. - Made $(distdir) related to current directory to match automake. - -2009-01-16 Pierre Willenbrock - * backend/genesys.c, backend/genesys.h, backend/genesys_devices.c, - backend/genesys_gl646.c, backend/genesys_gl841.c, - backend/genesys_low.h: Add support for buttons on - Canon LiDE 35/40/50. - -2009-01-15 Nicolas Martin - * doc/sane-pixma.man, doc/descriptions/pixma.desc, - pixma_mp150.c, AUTHORS: - Updated docs and comments in pixma backend. - Added Dennis Lou to pixma backend authors - -2009-01-13 Louis Lagendijk - * AUTHORS: added myself as co-responsible for pixma backend - -2009-01-15 Alessandro Zummo - * backend/epson2.c: do not use request_identity2 with - networked scanners, fixed generation of resolution - list. - -2009-01-13 Louis Lagendijk - * backend/pixma_bjnp.c: send broadcasts from bjnp port to make - firewalling easier - -2009-01-13 Julien Blache - * tools/sane-desc.c: replace opencoded device permissions and - ownership by proper definitions. Group USB devices by vendor in - the HAL FDI output. Replace obsolete SYSFS{} key by the newer - ATTR{} key in the udev output. Add a new :scsi keyword for SCSI - devices, add support for SCSI devices in the udev and HAL FDI - outputs. - * doc/descriptions/hp.desc, doc/descriptions/epson.desc: add :scsi - keyword to a handful of SCSI scanners known to advertise - themselves as type "Processor". - - All of the above based on a patch contributed by Dieter Jurzitza. - -2009-01-10 m. allan noah - * sanei/sanei_usb.c: rescan usb every time sanei_usb_init() is called - - remove missing devices, add new devices to global lists - - based on code from stef.dev@free.fr - -2009-01-10 m. allan noah - * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v11 - - send_panel() can disable too - - add cancel() to send d8 command - - call cancel() only after final read from scanner - - stop button reqests cancel - -2009-01-10 Jeremy Johnson - * backend/hs2p.c: replaced ulong with u_long, - added static keyword for SANE_Status update_hs2p_data() - -2009-01-06 Jonathan Bravo Lopez - * backend/hp3900_sane.c, backend/hp3900_config.c, - backend/hp3900_types.c, backend/hp3900.conf.in, doc/sane-hp3900.man, - doc/descriptions/hp3900.desc: - Added support for HP Scanjet G3110 scanner. - -2009-01-05 Jeremy Johnson - Added code to read_data() to pad image data to - requested length and to zero out any garbage using - information from sense data command. Added new - MAINTENANCE_DATA struct and options to display - scanner's maintenance/callibration statistics. - *backend/hs2p.h - - added enum CONNECTION_TYPES - - added HS2P_DATA struct - - added SENSE_DATA struct to struct HS2P_Device - - added SANE_String_Const orientation_list[] - - added macros isset_ILI() and isset_EOM() - *backend/hs2p-scsi.h - - replaced request_sense struct with SENSE_DATA struct - - added #define DATA_TYPE_EOL (va_list sentinel) - - added MAINTENANCE_DATA struct - *backend/hs2p-saneopts.h - - added OPT_ORIENTATION - - added MAINTENANCE_DATA options - *backend/hs2p.c - - added MAINTENANCE_DATA options - - added unused connType to attach() - - added update_hs2p_data() to fill in options - - added hs2p_open() and hs2p_close() - - added get_hs2p_data() to read scanner data - - added print_maintenance_data() - - modified sane_control_options() to - accomodate new maintenance options and to - handle Portrait/Landscape option - replaced adf_status macro with s->data.adf_status - - modified sane_read() to correctly zero out the - missing bytes on an incomplete read and to pad - to the requested length - *backend/hs2p-scsi.c - - replaced request_sense() with get_sense_data() - - added print_sense_data() - - added SENSE_DATA *sdp to sense_handler() - - modified read_data() to handler other data type codes/qualifiers - - read_adf_status() now is replaced with call to - read_data(fd,*buf,*bufsize,dtc,dtq) - -2009-01-04 Nicolas Martin - * doc/sane-pixma.man, doc/descriptions/pixma.desc: - Updated doc for pixma backend (ImageClass) - -2008-12-31 Stphane Voltz - * backend/genesys.c: restored warming up broken by a previuos commit - -2008-12-28 Nicolas Martin - * backend/pixma_imageclass.c: - Change to include different checksumming for MF41xx and MF42xx series - -2008-12-26 Alessandro Zummo - * backend/epson2.c: changed version code, - added protection from wrong settings. - -2008-12-21 m. allan noah - * backend/fujitsu.[ch]: backend v87 - - accept null pointer as empty device name - - track frontend reading sensor/button values to reload - - deactivate double feed options if df-action == default - -2008-12-21 Nicolas Martin - * doc/descriptions/pixma.desc, doc/sane-pixma.man, - backend/pixma_mp150.c: - MP800/MP800R: Fixed bug and color planes shift issues, added TPU support - for 48 bits images depth up to 1200 dpi. - MP980: following a user feedback, declared as working. - Doc and man pages updated. - -2008-12-18 m. allan noah - * backend/fujitsu.[ch]: backend v86 - - get_pixelsize() sets back window ID for back side scans - * doc/sane-fujitsu.man, doc/descriptions/fujitsu.desc: backend v86 - -2008-12-17 Julien Blache - * backend/v4l.c: unmap mapped buffer in sane_cancel(). Use libv4l1 - for v4l device access, buys us some support for v4l2 devices for - free thanks to libv4l1, libv4l2 and libv4lconvert. - * configure.in, configure: check for libv4l1 availability. - -2008-12-15 Alex Belkin - * AUTHORS, configure, configure.in, backend/Makefile.in, - backend/xerox_mfp.c, backend/xerox_mfp.h, doc/Makefile.in, - doc/descriptions/xerox_mfp.desc, doc/sane-xerox_mfp.man: - Initial commit ot xerox_mfp backed. - -2008-12-12 Julien Blache - * frontend/saned.c: add a data_portrange config file option to - saned to specify a port range for the data connection. Based on a - patch contributed by Oren Held. - * backend/saned.conf.in: add the data_portrange option to the - config file and rework the comments. - * doc/saned.man: document the data_portrange option. - -2008-12-11 Stphane Voltz - * backend/rts8891.c doc/sane-rts8891.man doc/descriptions/rts8891.desc: - scan register setting fix, documentation update - -2008-12-10 m. allan noah - * backend/fujitsu.[ch]: backend v85 - - round pixels_per_line down to arbitrary limits for fi-4990 & fi-4860 - - fi-4860 returns random garbage to serial number queries - - initialize *info to 0 in sane_control_option() - * doc/descriptions/fujitsu.desc: backend v85, improve status/comments - * frontend/scanimage.c: initialize *info, fix buffer overwalk - -2008-12-10 m. allan noah - * backend/canon_dr.c: backend v10 - - add all documented request sense codes to sense_handler() - - fix color jpeg (remove unneeded BGR to RGB swapping code) - - add macros for LUT data - * backend/canon_dr.conf.in: add DR-2080C usb ID - * doc/descriptions/canon_dr.desc: backend v10, add DR 3020 - -2008-12-08 m. allan noah - * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v9 - - add rollerdeskew and stapledetect options - - add rollerdeskew and stapledetect bits to ssm_df() - * doc/descriptions/canon_dr.desc: backend v9 - -2008-12-08 m. allan noah - * backend/avision.c: backend v289 - - fix sending SIGTERM when reader_pid == 0 - -2008-12-07 m. allan noah - * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v8 - - rename read/send_counter to read/send_panel - - enable control panel during init - - add options for all buttons - - call TUR twice in wait_scanner(), even if first succeeds - - disable rif - - enable brightness/contrast/threshold options - * doc/descriptions/canon_dr.desc, doc/sane-canon_dr.man: backend v8 - -2008-12-06 Louis Lagendijk - * backend/pixma_bjnp.c pixma_bjnp_private.h: - replaced getlogin/getenv by getpwuid(geteuid) - -2008-12-06 Louis Lagendijk - * backend/pixma_bjnp.c pixma_bjnp_private.h: - On Ubuntu getlogin() returns NULL. So we now first try getlogin() - and if that fails, we try getenv("USER") and if that fails we use - a default user string - -2008-12-03 Stphane Voltz - * backend/rts8891.c backend/rts8891_low.c: possible fix for - failed scan at 300 and 1200 dpi for HP4400, sensor type 2. - -2008-12-01 Julien Blache - * sanei/sanei_usb.c: fix assignment in if clause, reported on - sane-devel. - -2008-11-30 Nicolas Martin - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - MP620 supported by pixma backend confirmed, doc and man pages updated. - -2008-11-29 m. allan noah - * backend/canon_dr.[ch]: backend v7 - - jpeg support (size rounding and header overwrite) - - call object_position(load) between pages even if buffering is on - - use request sense info bytes on short scsi reads - - byte swap color BGR to RGB - - round image width down, not up - - round image height down to even # of lines - - always transfer even # of lines per block - - scsi and jpeg don't require reading extra lines to reach EOF - - rename buffer option to buffermode to avoid conflict with scanimage - - send ssm_do and ssm_df during sane_start - - improve sense_handler output - * doc/descriptions/canon_dr.desc: backend v7 - -2008-11-29 m. allan noah - * backend/canon_dr.[ch], backend/canon_dr-cmd.c: backend v6 - - fix adf simplex - - rename ssm_duplex to ssm_buffer - - add --buffer option - - reduce inter-page commands when buffering is enabled - - improve sense_handler output - - enable counter option - - drop unused code - * doc/descriptions/canon_dr.desc: backend v6 - -2008-11-26 m. allan noah - * backend/*.[ch]: nearly every backend used V_MAJOR - instead of SANE_CURRENT_MAJOR in sane_init() - * backend/snapscan.c: remove EXPECTED_VERSION check - since new SANE standard is forward compatible - -2008-11-25 m. allan noah - * backend/canon_dr.[ch], backend/canon_dr-cmd.c, - doc/descriptions/canon_dr.desc: backend v5 - - remove EOF ejection code - - add SSM and GSM commands - - add dropout, doublefeed, and jpeg compression options - - disable adf backside - - fix adf duplex - - read two extra lines (ignore errors) at end of image - - only send scan command at beginning of batch - - fix bug in hexdump with 0 length string - - DR-7580 support - -2008-11-25 Nicolas Martin - * backend/pixma.c: - Fixed regression bug at end of scan for all PIXMA, noticeable - in multipage ADF scan. - -2008-11-23 Nicolas Martin - * backend/pixma_mp150.c, sane-backends/po/sane-backends.fr.po, - doc/descriptions/pixma.desc, doc/sane-pixma.man: - Support for MP630 in pixma backend. - Updated docs for MP630, and network interface to various PIXMA models - in pixma.desc. - Fixed some typos in French translations. - -2008-11-20 Stphane Voltz - * backend/rts8891.c: fixes 'commit scan value' for HP4400. - -2008-11-20 Stphane Voltz - * backend/rts8891.c: calibration fixes for HP4400 sensor type 3. - -2008-11-18 Alessandro Zummo - * backend/epson2.c: fixed bug when an extended command - was used with D8 level scanners. bug reported - by Kare Sars - -2008-11-17 Gerhard Jaeger - * doc/descriptions-external/epkowa.desc: - iscan 2.14.0 updates on behalf of olaf.meeuwissen@avasys.jp - -2008-11-12 Stphane Voltz - * backend/rts8891.c: sensor detection fix. Lamp setting - change for HP4400 sensor type 3. - -2008-11-11 m. allan noah - * backend/canon_dr.c: backend v4 - - eject document when sane_read() returns EOF - -2008-11-09 m. allan noah - * backend/canon_dr.[ch], backend/canon_dr-cmd.h, doc/sane-canon_dr.man, - backend/canon_dr.conf.in, doc/descriptions/canon_dr.desc: - - New Canon DR-series backend v3 - - support all modes and resolutions of DR-9080C - - advanced options (MF detection, compression) not yet supported - - other larger models believed similar, smaller ones unknown - * doc/descriptions/unsupported.desc: remove Canon DR-series machines - -2008-11-07 m. allan noah - * backend/fujitsu.c: backend v84 - - round lines down to even number to get even # of total bytes - - round binary bpl and Bpl down to byte boundary - -2008-11-06 m. allan noah - * backend/fujitsu.c: backend v83 - - round binary bpl and Bpl up to byte boundary - - use s->params instead of user data in set_window() - - read_from_scanner() only grabs an even number of lines - -2008-10-31 Louis Lagendijk - * Pixma backend (pixma.c/pixma_common.c/pixma_io_sanei.c/pixma_bjnp.c): - bjnp tcp connection is now de-activated after initialization and - re-activated at start of scanning. If we do not do this, the scanner - closes its side of the connection after 30 secods of inactivity. - Added a maximum to the retry of slect calls when signals are - received - Added blocksize detection for tcp read_bulk call - -2008-11-04 m. allan noah - * sanei/sanei_usb.c, include/sane/sanei_usb.h: - - shorten debug lines to fit in 80 chars - - add sanei_usb_clear_halt() required by upcoming canon_dr backend - -2008-10-31 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h, - backend/fujitsu.conf.in, doc/descriptions/fujitsu.desc: backend v82 - - improved front-side endorser vpd detection - - send scanner_control_ric during sane_read of each side - - add fi-6770A and fi-6670A USB ID's - -2008-10-31 Louis Lagendijk - * backend/pixma_bjnp.c: corrected small typo - -2008-10-31 Louis Lagendijk - * backend/pixma_bjnp.c: - Added retry to select() calls when they get interrupted by a - signal. This solves problems in xsane after a first scan completed. - There is still an issue that scanner closes tcp connection after - 30 seconds of inactivity - backend/pixma_bjnp.c backend/bjnp_private.h - Marked local functions as static and removed them from ..private.h - -2008-10-31 Stphane Voltz - * backend/rts8891.c backend/rts8891_low.c backend/rts8891_low.h: - added 600 and 1200 dpi scan for HP4400 and HP4470 with 'xpa' - sensor. - -2008-10-25 Nicolas Martin - * backend/pixma_mp150.c, doc/sane-pixma.man doc/descriptions/pixma.desc: - Tweaks for TPU scan at 4800 dpi, and MP810 at 2400 dpi (now works). - Updated docs around that. - -2008-10-25 Louis Lagendijk - * Added configuration file support for pixma backend - Currently used only for configuration of network scanners. - -2008-10-22 Nicolas Martin - * backend/pixma.c, backend/pixma_io_sanei.c, backend/pixma_mp150.c: - TPU scanning in 48 bits mode now works fine on MP970, with Xsane or - scanimage. - Changed also minimum to 300 dpi for TPU scan, so that preview now works - in Xsane. - Added Legal paper dimensions (14") to ADF scan for MX850 and MX7600. - The rest is cosmetic only. - -2008-10-21 Louis Lagendijk - * Added #ifdef around defintions of MIN and MAX in pixma_common.h - - Re-enable includes in pixma_bjnp.c as they are needed on Freebsd - - Replaced getaddrinfo by gethostbyname in pixma_bjnp.c as this is - supported on OS/2 as well - -2008-10-21 m. allan noah - * doc/descriptions/fujitsu.desc: backend v81, fix fi-6240 usb id - -2008-10-20 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v81 - - increase USB timeouts - - enable get_pixelsize() to update scan params after set_window() - - remove even_scan_line hack - -2008-10-19 Nicolas Martin - * configure.in, configure, backend/pixma_bjnp.c, - backend/pixma_bjnp.h, backend/pixma_bjnp_private.h, - pixma.h, doc/descriptions/pixma.desc: - From Louis Lagendijk for bjnp protocol on pixma backend, add a header - check for ifaddrs.h (necessary on different platforms BeOS, OS/2, ...) - Increment pixma backend version number. - -2008-10-15 Stphane Voltz - * backend/rts8891.c: added 300 dpi scan for HP4400 - -2008-10-15 Stphane Voltz - * backend/rts8891.c: fixed HP4400 sensor detection, added 150 - dpi scan mode for HP4400 - -2008-10-14 Nicolas Martin - * backend/pixma*.c, backend/pixma*.h (all pixma backend files), - doc/sane-pixma.man, doc/description/pixma.desc, - backend/Makefile.in - Added 3 new files backend/pixma_bjnp.c, backend/pixma_bjnp.h, - backend/pixma_bjnp_private.h: - - Thanks to Louis Lagendijk, added an implementation of Canon's BJNP - network protocol to the pixma backend, for scanning with PIXMA devices - over a LAN network. - - Fix for ADF scan reset session when ADF is loaded with more pages - to scan than the frontend requests. - - Updated pixma backend documentation and file headers. - -2008-10-09 m. allan noah - * doc/descriptions/fujitsu.desc, doc/sane-fujitsu.man: backend v80 - -2008-10-08 m. allan noah - * backend/fujitsu.c: backend v80 - - front-side endorser uses data ID 0x80 - -2008-10-06 Stphane Voltz - * backend/rts8891.c backend/rts8891.h: fixed configuration option - bug - -2008-10-04 Nicolas Martin - * backend/pixma.c, backend/pixma.h, backend/pixma_common.c, - backend/pixma_io_sanei.c, backend/pixma_mp150.c, - doc/sane-pixma.man, doc/description/pixma.desc: - MP970 scanning improvements, up to 4800 dpi. On the way soon, - network BJNP protocol designed by Louis Lagendijk to be added to CVS. - MX7600 reported to work fine with the backend. - ADF scanning: - - improved for latest PIXMAs like MX850, MX310. - - bug fix in Sane_start, when scanning several pages with ADF. - ADF DUPLEX scanning: - - new code for ADF Duplex, (to be tested) based on a MX850 Snoop. Changes - might fit also MP830 (To be confirmed). - TPU scanning: - - MP970 TPU scanning: Protocol works, get scanned TPU images with 48 bits - to 24 bits conversion, full 48 bit version yet to be debugged. - -2008-10-03 m. allan noah - * backend/epjitsu.[ch]: backend v17: - - increase scan height ~1/2 inch due to head offset - - change page length autodetection condition - -2008-10-03 Stphane Voltz - * include/sane/sane.h: added a SANE_CURRENT_MINOR define - -2008-10-02 Stphane Voltz - * backend/rts8891.c backend/rts8891.h backend/rts8891_low.h: - add a 'sensornumber' option to override detected sensor model - -2008-10-02 m. allan noah - * doc/descriptions-external/epkowa.desc: - - iscan 2.12.0 updates from olaf.meeuwissen@avasys.jp - -2008-10-01 m. allan noah - * doc/descriptions/fujitsu.desc, backend/fujitsu.conf.in, - backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v79 - - add usb ids for several models - - print additional hardware capability bits - - detect front-side endorser - - disable endorser-side controls if only one side installed - - add quirks for fi-6x70 - -2008-10-01 m. allan noah - * backend/epjitsu.[ch]: backend v16: - - split fill_frontback_buffers_S300 into 3 functions - - enable threshold-curve option - - add 1-D dynamic binary thresholding code - - remove y-resolution option - - pad 225x200 data to 225x225 - -2008-10-01 Gerhard Jaeger - * doc/descriptions/plustek.desc: Added entry for UT12 devid 0x0013 - * doc/descriptions/unsupported.desc: Removed entry for UT12 devid 0x0013 - * doc/descriptions/gt68xx.desc: Added entry for OpticSlim 2400plus - * backends/gt68xx.conf.in: Added entry for OpticSlim 2400plus - -2008-09-26 Stphane Voltz - * backend/rts8891_low.c: fix HP4400 head parking - -2008-09-25 m. allan noah - * backend/epjitsu.[ch], backend/epjitsu-cmd.h: backend v 13, 14 and 15: - - add working page-height control - - add working brightness, contrast and threshold controls - - add disabled threshold curve and geometry controls - - move initialization code to sane_get_devices, for hotplugging - - support S300 on USB power - - support S300 225x200 and 600x600 scans - - support for automatic paper length detection (parm.lines = -1) - - expose hardware buttons/sensors as options for S300 - * doc/descriptions/epjitsu.desc: change S300 status to good - -2008-09-25 m. allan noah - * include/sane/saneopts.h: underscore not allowed in option names - * frontend/scanimage.c: fix broken unknown length (-1) binary scans, - fix invalid tiff height with unknown length scans, fix compiler warn - -2008-09-20 Stphane Voltz - * backend/rts8891.c: fix typo in HP4400 variant detection - -2008-09-20 Stphane Voltz - * backend/rts8891.c backend/rts8891_low.c backend/rts8891_low.h: more - fix for HP4400 head parking, 75 dpi support for another HP4400 sensor - variant, better variant detector and initial setting - -2008-09-13 Nicolas Martin - * backend/pixma_mp150.c, doc/sane-pixma.man, doc/description/pixma.desc: - Changes in pixma backend for PIXMA MP970 at 4800 dpi (to be continued). - Declare MX7600 but yet untested. - -2008-09-11 Stphane Voltz - * backend/rts8891.c backend/rts8891_low.c backend/rts8891_low.h: fix - parking for HP4400, tune dark calibration for HP4400 - -2008-09-07 Nicolas Martin - * backend/pixma_mp150.c backend/pixma_imageclass.c backend/pixma_common.h - doc/sane-pixma.man doc/descriptions/pixma.desc: - - Updated doc for MF4140, MF4150 and MP810 - - Remove white lines previously padded to image bottom for CCD sensors - - Modified scan area adjustments to enhance frontend area selection fit - but to be confirmed that it does not bring backward compatibility issues. - -2008-09-03 Stphane Voltz - * backend/rts8891.c backend/rts8891_low.c backend/rts8891_low.h - backend/rts88xx_lib.c: minor changes for hp4400 support - -2008-09-02 Nicolas Martin - * backend/pixma_mp150.c: - Some tweaks to have PIXMA MP810 supported by the pixma backend. - -2008-08-29 Stphane Voltz - * backend/genesys.c backend/genesys_gl646.c backend/genesys_devices.c: - - move to configuration framework - - fix GL646 GPO value usage - - HP2400/G2410 tidbits - - don't reset ASIC anymore - -2008-08-27 m. allan noah - * doc/descriptions/fujitsu.desc: mark fi-6230 and fi-6240 complete - -2008-08-26 m. allan noah - * backend/fujitsu.c, doc/descriptions/fujitsu.desc: backend v78 - - recent model names (fi-6xxx) dont end in 'C' - - simplify flatbed area overrides - - call scanner_control to change source during sane_start - -2008-08-26 m. allan noah - * backend/fujitsu.c, backend/fujitsu-scsi.h: backend v77 - - override flatbed maximum area for fi-6230C and fi-6240C - - set PF bit in all mode_select(6) CDB's - - set SANE_CAP_INACTIVE on all disabled options - - fix bug in mode_select page for sleep timer - -2008-08-25 Gerhard Jaeger - * backend/plustek-usb.c backend/plustek-usbdevs.c: - Added preliminary support for Visioneer XP100 - Tweaked entry for LM9831 version of Plustek UT12 - * backend/plustek.c: Bumped build number - * doc/sane-plustek.man doc/plustek/Plustek-USB.changes: Update - * doc/descriptions/plustek.desc: Added entry for Strobe XP100 - * doc/descriptions/unsupported.desc: Removed entry for Strobe XP100 - -2008-08-21 Stphane Voltz - * backend/rts8891.c: calibration updating and 75 dpi scan for hp400 - -2008-08-23 m. allan noah - * doc/descriptions/fujitsu.desc: set lots of scanners to complete :) - -2008-08-21 Stphane Voltz - * backend/rts8891.c backend/rts8891_devices.c backend/rts8891_low.c - backend/rts88xx_lib.c: add sensor type field and use it in geometry - detection. - -2008-08-14 Stphane Voltz - * backend/rts8891.c backend/rts88xx_lib.c: fix for hp4400 init - -2008-08-13 m. allan noah - * backend/fujitsu.[ch]: backend v76 - - add independent maximum area values for flatbed - - override said values for fi-4220C, fi-4220C2 and fi-5220C - * doc/descriptions/fujitsu.desc: bump version, add 2 untested scanners - -2008-08-07 Rene Rebe - * backend/fujitsu.c, backend/fujitsu.conf.in, - doc/descriptions/fujitsu.desc: backend v75 - - added fi-6230 ID, updated fi-6130, fi-6230 status - -2008-08-05 Julien Blache - * frontend/saned.c: initialize runas_{u,g}id to 0 instead of -1; - initialize ngroups to 0. - -2008-08-04 Julien Blache - * frontend/scanimage.c: fetch_options(), actually get option - descriptor 0 before attempting to get the value of option 0. - -2008-08-04 Stphane Voltz - * backend/umax_pp.c backend/umaxp_pp.h backend/umax_pp.conf.in: - use configuration framework - -2008-08-02 m. allan noah - * backend/fujitsu.c, backend/fujitsu-scsi.h: backend v74 - - replace global scsi blocks with local ones in each function - -2008-07-31 Julien Blache - * frontend/saned.c: set supplemental group list in addition to - setting euid and egid. Reported by Cameron Hutchison. - -2008-07-28 Julien Blache - * frontend/saned.c: call setegid() before seteuid(), aka while - we're still root. Patch from Nick Andrew . - -2008-07-27 m. allan noah - * backend/fujitsu.c, backend/fujitsu.conf.in, - doc/descriptions/fujitsu.desc: backend v73 - - add fi-6130 usb ID - - correct overscan dimension calculation - - provide correct overscan size overrides for fi-5110C and fi-4x20C2 - - fi-5750C can't handle 10 bit LUT via USB - -2008-07-25 m. allan noah - * AUTHORS: Earle has commit perms - * doc/descriptions/unsupported.desc: add Lexmark X7170 - * include/sane/sanei_config.h: remove typedef so doxygen will shutup - -2008-07-25 m. allan noah - * include/sane/saneopts.h: separate x-resolution from resolution - * backend/abaton.c, backend/artec.c, backend/canon-sane.c, - backend/epjitsu.c, backend/fujitsu.c, backend/microtek2.c, - backend/sp15c.c, backend/umax.c: use SANE_NAME_SCAN_RESOLUTION - instead of SANE_NAME_SCAN_X_RESOLUTION, to avoid ui change - -2008-07-20 Julien Blache - * backend/net.c: sane_control_option: when the frontend doesn't - care (info == NULL) and the remote backend asks for a reload, - perform the reload. Hopefully this brings the behaviour back in - line with standard backends. - -2008-07-15 Nicolas Martin - * backend/pixma_mp150.c: - Changed page scan end condition to handle correctly PIXMA ADF. - -2008-07-14 Julien Blache - * doc/*.man: Fix hyphen vs. minus sign issues in the manpages, - breaking copy/paste of command-lines and options in UTF-8 - environments. - -2008-07-13 m. allan noah - * backend/fujitsu.[ch]: backend v72, - - use mode_sense to determine background color support - - remove fi-5900 background color override - -2008-07-13 m. allan noah - * backend/fujitsu.[ch]: backend v71, - - disable overscan option if vpd does not tell overscan size - - fi-5110EOX crops scan area based on absolute maximum, not paper - - fi-5330C and fi-5650C can't handle 10 bit LUT via USB - - fi-5900 has background color, though it reports otherwise - -2008-07-10 Stphane Voltz - * sanei/sanei_config.c: handle cases where config or callback - function is NULL - * backend/rts8891.c: use new configuration parsing framework - -2008-07-10 Stphane Voltz - * include/sane/sanei_config.h: doxygen fix for new function - -2008-07-10 Stphane Voltz - * backend/sanei_constrain_value.c: add support for SANE_Bool - in sanei_check_value - * backend/Makefile.in: add sanei_constrain_value.lo to libsane -2008-07-10 Stphane Voltz - * backend/sanei_constrain_value.c: add support for SANE_Bool - in sanei_check_value - * backend/Makefile.in: add sanei_constrain_value.lo to libsane - dependencies - * sanei/Makefile.in: add makedepend for .lo files - * include/sane/sanei_config.h sanei/sanei_config.c: add configuration - parsing framework - -2008-07-05 m. allan noah - * backend/fujitsu.[ch]: backend v70, - - fix bug in sane_get_parameters (failed to copy values) - - autodetect jpeg duplex interlacing mode by inspecting scan width - -2008-07-05 Nicolas Martin - * backend/pixma.c: - Fix in sane_control_option () for PIXMA ADF scan. - Change malformed test conditions for ADF/Duplex scan source. - Updated PIXMA MX850 description. - -2008-07-03 m. allan noah - * backend/fujitsu.[ch]: backend v69, support hot-unplugging scanners - -2008-07-02 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v68, - - add halftone type and pattern options - - support M3097G with IPC and CMP options via modified VPD response - * doc/descriptions/fujitsu.desc, doc/sane-fujitsu.man: backend v68, - - manpage cleanup - -2008-07-01 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v67, - - add IPC/DTC/SDTC options - - call check_for_cancel() in sane_cancel, unless reading flag is set - -2008-06-28 Nicolas Martin - * backend/pixma_mp150.c: - Removed "experimental" flag for PIXMA MX850. - -2008-06-26 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v66, - - restructure double feed detection options for finer-grained control - - add endorser side option - - prevent init_interlace() from overriding init_model() - - simplify sane_start() and fix interlaced duplex jpeg support - - simplify sane_read() and add non-interlaced duplex jpeg support - - removed unused code - -2008-06-26 m. allan noah - * backend/test.[ch]: check for options being controlled before loading - -2008-06-25 Nicolas Martin - * backend/pixma_imageclass.c: - Patch from Sam Varshavchik to deal with libusb 64 read issue, - for ImageClass MFPs. - -2008-06-24 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h, - doc/descriptions/fujitsu.desc, doc/sane-fujitsu.man: - backend version 65, add endorser support, add quirks for fi-4990 - -2008-06-24 Julien Blache - * backend/net.c: do not reload options behind the frontend's back - in sane_control_option; rather return SANE_STATUS_INVAL and warn - that the frontend is buggy. Fetch option descriptors in - sane_open() so a GET_VALUE on option 0 can still work without - having to get option descriptor 0 beforehand. - * frontend/saned.c: rework error/exit path in process_request() - to properly terminate the Avahi thread when in debug mode. - -2008-06-22 Julien Blache - * frontend/saned.c: terminate child processes before exiting in - debug mode. - -2008-06-19 Ilia Sotnikov - * backend/hp5590.c: - Fixed segmentation fault on invalid option passed to - sane_get_option_descriptor(), sane_control_option() - (thanks to Albert Cervera i Areny) - -2008-06-19 Ilia Sotnikov - * backend/hp5590.c, backend/hp5590_cmds.c, backend/hp5590_cmds.h - * backend/hp5590_low.c, backend/hp5590_low.h - * doc/descriptions/hp5590.desc, doc/sane-hp5590.man: - Added support for HP ScanJet 4570c (thanks to Markham Thomas) - -2008-06-15 Nicolas Martin - * doc/sane-pixma.man, - * backend/pixma.c, backend/pixma_mp150.c, backend/pixma_sane_options.c - * sane-backends/po/sane-backends.??.po: - Remove "experimental" in pixma buttons options and text. - Fix some French translation typos, and update man page. - -2008-06-10 Stphane Voltz - * backend/sanei_constrain_value.c: add support for arrays of SANE_Word - in sanei_constrain_value - * backend/umax_pp.c: remove now unneede 'hand made' constrain on - gamma tables - -2008-06-09 Stphane Voltz - * backend/rts8891.c: fix for model with 'XPA' sensor - -2008-06-06 Julien Blache - * backend/net.c: lock the Avahi thread before stopping it and - tearing down the Avahi objects. - -2008-06-03 Stphane Voltz - * backend/genesys_gl646.c: fixed wrong offset for start - of scanarea for MD6471 scanner. - -2008-05-30 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h, - doc/descriptions/fujitsu.desc: backend version 64, - use model and serial to build sane.name (idea from Ryan Duryea), - allow both serial_name and device_name to sane_open scanner, - simulate missing VPD data for M3097G, probe scanner for color - interlacing mode instead of hardcoding, other minor cleanups - -2008-05-29 Nicolas Martin - * doc/sane-pixma.man: man update. - * backend/pixma_io_sanei.c: update status types, and take into - account new ones. - -2008-05-15 Mattias Ellert - * backend/hp3900_sane.c: Correct typos. - * po/Makefile.in: add backend/rts8891.c to localization. - * po/sane-backends.sv.po: update Swedish localization. - -2008-05-27 m. allan noah - * frontend/scanimage.c: add %n for newline to -f option - -2008-05-26 Jonathan Bravo Lopez - * po/sane-backends.es.po: added spanish translation about status strings - * po/Makefile.in: added backend/sane_strstatus.c to SRC_FILES section. - -2008-05-26 Rene Rebe - * backend/avision.{c,h}: merged latest upstream SVN changes, bug fixes - and device ID updates, including fixing uninitialized variables due - former defect merge and exposure control for film / dia scanners - -2008-05-26 Stphane Voltz - * backend/sane_strstatus.c: added new status and internationalization - support - * frontend/scanimage.c, frontend/tstbackend.c: added handling of status - SANE_STATUS_WARMING_UP - * backend/pnm.c: added 2 more virtual devices, one that is hardware - locked, and another that always do warming before scan. - -2008-05-26 Stphane Voltz - * backend/rts8891.[ch], backend/rts8891_low.[ch], - backend/rts88xx_lib.[ch]: renamed per frontend struct, made use of - new well-known option groups. Added warming-up handling in - sane_start(). - -2008-05-22 Stphane Voltz - * backend/genesys.c: - changed top of scan area detection for MD6228/MD6471 models - -2008-05-23 Jonathan Bravo Lopez - * backend/hp3900_sane.c: setting appropiate capabilities to some options. - -2008-05-22 Jonathan Bravo Lopez - * backend/hp3900_sane.c: use 1.1.0 well-known option group strings. - * backend/hp3900_config.c, backend/hp3900_debug.c, - backend/hp3900_rts8822.c, backend/hp3900_types.c, - backend/hp3900_usb.c: Fixed reference position detection for - HP3800/HPG2710 scanners. Code clean up. - -2008-05-22 Stphane Voltz - * backend/rts8891.c: - minor tweak for scanjet 4470cx - -2008-05-21 m. allan noah - * include/sane/saneopts.h: add sane 1.1.0 well-known button options - * backend/fujitsu.c: v1.0.63, use sane 1.1.0 well-known option - names for some buttons, remove 'button-' from others - -2008-05-20 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h: v1.0.62, - check for all supported scsi commands, use well-known option - group strings from saneopts.h, rename pagewidth to page-width - to meet sane 1.1.0 spec, same for height, add unused get_window() - * doc/descriptions/fujitsu.desc: increase version to 1.0.62. - -2008-05-20 m. allan noah - * include/sane/sane.h: add SANE_STATUS_WARMING_UP and - SANE_STATUS_HW_LOCKED, remove SANE_CAP_ALWAYS_SETTABLE, - add SANE_FRAME_XML, improve comments on other new frame types. - * include/sane/saneopts.h: add common option groups, add new - page-width and page-height well-known options - -2008-05-20 m. allan noah - * backend/qcam.c, backend/v4l.c, frontend/tstbackend.c: - remove undocumented and otherwise unused SANE_CAP_ALWAYS_SETTABLE - -2008-05-19 Stphane Voltz - * backend/rts8891.c: - 150/300 dpi shading calibration fixes for 'XPA' sensor HP4470 models - -2008-05-16 m. allan noah - * backend/fujitsu.c: inspect correct bool to enable prepick mode - -2008-05-15 m. allan noah - * doc/descriptions/cardscan.desc, doc/descriptions/epjitsu.desc, - doc/descriptions/hp3900.desc, doc/descriptions/hp5590.desc, - doc/descriptions/hpljm1005.desc, doc/descriptions/hs2p.desc: - remove 'new' tag from sane 1.0.19 backends - * doc/descriptions/fujitsu.desc, backend/fujitsu.conf.in: - add fi-5530C2 usb ID - * backend/cardscan.c: correct version number - * backend/epjitsu.conf.in: improved firmware directions - * backend/fujitsu.[ch]: update to backend v 1.0.61 - -2008-05-15 Mattias Ellert - * doc/sane-genesys.man, doc/sane-lexmark.man, doc/sane-microtek2.man, - doc/sane-mustek_pp.man, doc/sane-pixma.man, doc/sane-rts8891.man, - doc/sane-umax_pp.man: Man page fixes - * doc/descriptions-external/hp_rts88xx.desc: removed since its - successor rts8891 is now included in the SANE distribution - -2008-05-15 Mattias Ellert - * backend/agfafocus.h, backend/artec_eplus48u.c, - backend/artec_eplus48u.h, backend/avision.h, backend/coolscan.h, - backend/hp-handle.c, backend/hp3500.c, backend/microtek2.h, - backend/mustek.c, backend/mustek.h, backend/pie.c, backend/pixma.c, - backend/plustek-pp.h, backend/plustek.c, backend/plustek.h, - backend/plustek_pp.c, backend/snapscan.c, backend/snapscan.h, - backend/sp15c.h, backend/tamarack.h, backend/test.c, backend/test.h, - backend/u12.c, backend/u12.h, backend/umax.c, backend/umax.h, - include/sane/sanei_thread.h, sanei/sanei_thread.c: - Fix for bug #306751: sanei-thread with pthreads on 64 bit - -2008-05-12 Stphane Voltz - * backend/rts8891.c - 150/300 dpi mode fixes for 'XPA' sensor HP4470 models - -2008-05-08 Alessandro Zummo - * AUTHORS: added myself :) - -2008-05-07 Julien Blache - * doc/sane-config.man: Fix man warning. - * backend/dll.c: look for dll.conf snippets in - $configdir/dll.d; this is a facility for external backends - to automatically add their backends to the dll backend - configuration without mucking with dll.conf. - * backend/Makefile.in: create $configdir/dll.d. - -2008-05-07 Nicolas Martin - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc: - USB IDs updates in imageClass backend (pixma), by Dennis Lou. - -2008-05-07 Jochen Eisinger - * doc/sane-mustek_pp.man: fix catman warning. Reported by - Raymond Chen. - -2008-05-05 Earle Philhower - * doc/sane-sm3840.man: Add lineart and halftone options to page - * backend/sm3840*: Remove 64-bit compile warnings - -2008-04-05 Stphane Voltz - * backend/rts8891.c backend/rts8891_low.c - doc/descriptions/rts8891.desc: - 150 dpi mode fix for 'XPA' sensor HP4470 models, description - update - -2008-05-05 Nicolas Martin - * doc/sane-pixma.man, doc/descriptions/pixma.desc: - Description and man updates for PIXMA MX300. - -2008-05-04 Nicolas Martin - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc: - Code cleanup patch to imageClass backend (pixma) by Dennis Lou. - -2008-05-03 Julien Blache - * backend/epson2.c: initialize s->fd to -1 once the struct - Epson_Scanner is allocated and zeroed out in attach(). Otherwise - the backend sends inquiry data to fd 0, which it obviously - shouldn't do; this breaks scanning over saned. - * doc/net.tex: replace occurrences of SANE_STATUS_SUCCESS with - SANE_STATUS_GOOD, as SANE_STATUS_SUCCESS doesn't exist. - -2008-04-28 m. allan noah - * backend/epjitsu.[ch]: backend v1.0.12, fix double free bug - -2008-04-27 m. allan noah - * sanei/sanei_usb.c: allow sanei_usb_init() to run once per second - * backend/fujitsu.c: backend v1.0.60, relocate call to sanei_usb_init(), - free sane_devArray before calloc'ing a new one - -2008-04-22 m. allan noah - * backend/fujitsu.c, backend/fujitsu.conf.in: backend v1.0.59, - add fi-6140 PID, and fi-6x40 color mode - * doc/descriptions/fujitsu.desc: add fi-6140 PID, mark as 'good' - * doc/descriptions/epjitsu.desc: add S300M, mark as 'untested' - -2008-04-22 Nicolas Martin - * backend/pixma_mp150.c: - Updated pixma backend to have MP970 (tested), and probably other - CCD sensor MPs, working for Grayscale scan. - -2008-04-21 Nicolas Martin - * backend/pixma.c, backend/pixma_common.c, backend/pixma_rename.h - doc/sane-pixma.man, doc/descriptions/pixma.desc - (new) backend/pixma_imageclass.c, backend/Makefile.in: - Thanks to Dennis Lou, who adapted the pixma backend to add support - for Canon ImageCLASS series, fully tested for MF4270, and includes - PIDs declarations for other ImageCLASS devices, yet to be tested. - Fixes also a bug for ADF and ADF Duplex scan source selection. - -2008-04-20 m. allan noah - * backend/fujitsu.h: remove #define SANE_FRAME_JPEG - -2008-04-19 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v1.0.58, - rename page code 32 to 'unknown', compile if NDEBUG is set, - proper async sane_cancel support, re-enable JPEG support - various functions rewritten (shorter, more clear) - * doc/descriptions/fujitsu.desc: add new fi-6xxx machines - -2008-04-18 Alessandro Zummo - * backend/epson2.c: fixed attach() error path. - -2008-04-14 Nicolas Martin - * backend/pixma_mp150.c, backend/pixma.h, backend/pixma_mp150.c - doc/sane-pixma.man, doc/descriptions/pixma.desc: - With feedback from MP970 owner, updated pixma backend for MP970 - CCD sensor support (yet in color only), and more generally, - support for other CCD sensor PIXMA: MP800, MP810, MP830, MP960, - but yet untested, which produce shifted color planes - scanned images. Current trim based on sample images provided - in bug reports and other web pages, but might require some - few and simple final tweaks. - Also fixed a bug for MP220 at 1200 dpi, MP220 is now reported - to work fine. - -2008-04-13 Julien Blache - * frontend/saned.c: fix typo. - * backend/net.c: plug an information leak in the net backend. When - sending out a SANE_NET_CONTROL_OPTION RPC for the - SANE_ACTION_GET_VALUE action (and SANE_ACTION_SET_AUTO for the - network protocol versions < 3), the backend was not clearing the - memory area for the value argument before sending it over the - network, resulting in an information leak for the - SANE_ACTION_GET_VALUE case. - -2008-04-12 Mattias Ellert - * backend/rts8891.c, backend/rts88xx_lib.c: fix format warning - * doc/sane-rts8891.man: man page fixes - * AUTHORS: e-mail update - -2008-04-11 Julien Blache - * frontend/saned.c: announce the _sane-port._tcp service via mDNS - (Avahi) when running in standalone or debug mode. A separate - process is responsible for the announcement through Avahi. - * backend/net.c: look for _sane-port._tcp service announcements - via mDNS (Avahi). A separate thread listens to announcements - through Avahi. Start the thread as early as possible in - sane_init() so as to get as much data as possible until - sane_get_devices() is called. - * aclocal.m4, configure, configure.in, include/sane/config.h.in: - add autofoo stuff for Avahi support, disabled by default. - -2008-04-10 Julien Blache - * frontend/saned.c: do not use daemon(), as it's a 4.4BSD/glibc - function; OS/2 for instance does not have it. Use an open-coded - equivalent. Add a PID file. saned -a username now drops privileges -2008-04-22 Nicolas Martin - * backend/pixma.c, backend/pixma_common.c, backend/pixma_rename.h - doc/sane-pixma.man, doc/descriptions/pixma.desc - (new) backend/pixma_imageclass.c, backend/Makefile.in: - Thanks to Dennis Lou, who adapted the pixma backend to add support - for Canon ImageCLASS series, fully tested for MF4270, and includes - PIDs declarations for other ImageCLASS devices, yet to be tested. - Fixes also a bug for ADF and ADF Duplex scan source selection. - -2008-04-20 m. allan noah - * backend/fujitsu.h: remove #define SANE_FRAME_JPEG - -2008-04-19 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v1.0.58, - rename page code 32 to 'unknown', compile if NDEBUG is set, - proper async sane_cancel support, re-enable JPEG support - various functions rewritten (shorter, more clear) - * doc/descriptions/fujitsu.desc: add new fi-6xxx machines - -2008-04-18 Alessandro Zummo - * backend/epson2.c: fixed attach() error path. - -2008-04-14 Nicolas Martin - * backend/pixma_mp150.c, backend/pixma.h, backend/pixma_mp150.c - doc/sane-pixma.man, doc/descriptions/pixma.desc: - With feedback from MP970 owner, updated pixma backend for MP970 - CCD sensor support (yet in color only), and more generally, - support for other CCD sensor PIXMA: MP800, MP810, MP830, MP960, - but yet untested, which produce shifted color planes - scanned images. Current trim based on sample images provided - in bug reports and other web pages, but might require some - few and simple final tweaks. - Also fixed a bug for MP220 at 1200 dpi, MP220 is now reported - to work fine. - -2008-04-13 Julien Blache - * frontend/saned.c: fix typo. - * backend/net.c: plug an information leak in the net backend. When - sending out a SANE_NET_CONTROL_OPTION RPC for the - SANE_ACTION_GET_VALUE action (and SANE_ACTION_SET_AUTO for the - network protocol versions < 3), the backend was not clearing the - memory area for the value argument before sending it over the - network, resulting in an information leak for the - SANE_ACTION_GET_VALUE case. - -2008-04-12 Mattias Ellert - * backend/rts8891.c, backend/rts88xx_lib.c: fix format warning - * doc/sane-rts8891.man: man page fixes - * AUTHORS: e-mail update - -2008-04-11 Julien Blache - * frontend/saned.c: announce the _sane-port._tcp service via mDNS - (Avahi) when running in standalone or debug mode. A separate - process is responsible for the announcement through Avahi. - * backend/net.c: look for _sane-port._tcp service announcements - via mDNS (Avahi). A separate thread listens to announcements - through Avahi. Start the thread as early as possible in - sane_init() so as to get as much data as possible until - sane_get_devices() is called. - * aclocal.m4, configure, configure.in, include/sane/config.h.in: - add autofoo stuff for Avahi support, disabled by default. - -2008-04-10 Julien Blache - * frontend/saned.c: do not use daemon(), as it's a 4.4BSD/glibc - function; OS/2 for instance does not have it. Use an open-coded - equivalent. Add a PID file. saned -a username now drops privileges - and runs as the given user (and group). - * doc/saned.man: document -a username. - -2008-04-06 Nicolas Martin - * backend/pixma_mp150.c: - Modifications for PIXMA MP970, to manage the CCD sensor - with PIXMA generation 3 protocol. To be tested. - -2008-04-06 Julien Blache - * frontend/saned.c: add standalone daemon mode, building upon the - AF-indep/IPv6 debug mode. Reorganize code by splitting the main() - function into a series of functions. Factorize common code between - the old network code and the AF-indep code. There's now only one - version of main(). - * doc/saned.man: document new -a flag, reorganize manpage - sections (separate inetd configuration under the INETD - CONFIGURATION section). - -2008-04-05 Stphane Voltz - * backend/genesys.c backend/genesys.h backend/genesys_devices.c - backend/genesys_gl646.c backend/genesys_low.h: - Fixed double free problems, made OPT_COLOR_FILTER work for - GL646 scanners, added OPT_CUSTOM_GAMMA and OPT_GAMMA_VECTOR* - options, split sane_control_options to make it more readable, - fixed 'reset stream' problem for MD6471. - -2008-04-05 Stphane Voltz - * backend/rts8891.c: - split sane_control_option() to make it more readable - -2008-04-02 Nicolas Martin - * backend/pixma_mp150.c, backend/pixma.c, doc/sane-pixma.man, - doc/descriptions/pixma.desc: - Added a 10s tempo before "NO PAPER" fail message appears in ADF scan, - declared PIXMA MX850, moved MP970 to Generation 3 protocol, but yet - untested. - -2008-03-28 Julien Blache - * sanei/sanei_usb.c, include/sane/sanei_usb.h: add - sanei_usb_get_vendor_product_byname(). - * backend/snapscan-mutex.c: do not use ftok() in - snapscani_mutex_open(); ftok() will fail with anything for which - the devicename is not a filename. Construct an IPC key based on - the product ID, bus number and device number for libusb devices, - otherwise fallback to ftok() and check its return value. - * tools/sane-desc.c: HAL 0.5.11-rc2 does not support the info.bus - property anymore; superseded by info.subsystem. Unfortunately, - this is not backward-compatible, so add a new "hal-new" mode to - sane-desc. - -2008-03-28 m. allan noah - * backend/hp-scl.c: add usleep to improve usb performance, from - jim a t meyering d o t net - -2008-03-28 m. allan noah - * sanei/sanei_usb.c: add usb class 6 (imaging) to detected devices - * sanei/sanei_scsi.c: fix bug in sanei_scsi_find_devices() which - caused early return if attach callback returned error. - -2008-03-22 Stphane Voltz - * AUTHORS configure configure.in backend/dll.conf.in - backend/Makefile.in backend/rts8891.c backend/rts8891.conf.in - backend/rts8891_devices.c backend/rts8891.h backend/rts8891_low.c - backend/rts8891_low.h backend/rts88xx_lib.c backend/rts88xx_lib.h - doc/descriptions/rts8891.desc doc/descriptions/unsupported.desc - doc/sane-rts8891.man: - rts8891 backend inclusion - -2008-03-20 Julien Blache - * include/Makefile.in: remove _stdint.h and byteorder.h in - distclean target, autogenerated cruft. - * frontend/saned.c: fix debug messages around the getservbyname() - call in the IPv4 code as it still referred to the "sane" port - instead of "sane-port". - -2008-03-16 Nicolas Martin - * backend/pixma_mp150.c, backend/pixma.h, doc/sane-pixma.man, - doc/descriptions/pixma.desc: - Changes to have new Canon PIXMA MX700 working with pixma backend - Flatbed and ADF scan are supported. - -2008-03-15 Julien Blache - * include/sane/sanei_usb.h: typo fix. - -2008-03-02 Stphane Voltz - * doc/descriptions/lexmark.desc: added X1195 - * doc/descriptions/unsupported.desc: removed X11xx, X12xx and - Dell A920 which are to be handled by the lexmark backend - * backend/umax_pp.h backend/umax_pp.c backend/umax_pp_mid.h - backend/umax_pp_mid.c backend/umax_pp_low.h backend/umax_pp_low.c: - copyright notice update - -2008-03-01 Gerard klaver - * doc/descriptions/as6e.desc added Dexxa 4800 - -2008-02-26 Jonathan Bravo Lopez - * backend/hp3900_sane.c: Fixed optional grayscale emulation - * backend/hp3900_debug.c: Silence gcc warnings when tiffio.h - is not used - -2008-02-25 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h: - add mode sense for page code 32 (color interlacing?) - and more debug output in init_ms(), for fi-5900 - -2008-02-24 Nicolas Martin - * backend/pixma_mp150.c, doc/sane-pixma.man, - doc/descriptions/pixma.desc: - Changes to have Canon PIXMA MP140 now working with pixma backend - -2008-02-23 Pierre Willenbrock - * backend/genesys_gl841.c: Make LEDs go really dark when "lamp" is off - -2008-02-22 Nicolas Martin - * backend/pixma_mp150.c, backend/pixma_mp730.c, - doc/sane-pixma.man, doc/descriptions/pixma.desc: - Changed MP140 to experimental cause not working yet - Changed MP710 to non-ADF scanner - -2008-02-22 Pierre Willenbrock - * backend/genesys_gl841.c: Fix debugging output of - gl841_bulk_write_register - -2008-02-21 Pierre Willenbrock - * backend/genesys.c, backend/genesys_gl646.c, - backend/genesys_gl841.c, backend/genesys_low.h: Add LED exposure - control to gl841_set_lamp_power - -2008-02-20 Pierre Willenbrock - * backend/genesys_gl841.c: Send 32 registers at once instead of 1 - -2008-02-20 Mattias Ellert - * backend/Makefile.in, ltmain.sh: Library version definition fixes - * backend/coolscan3.c: Fix format warnings - -2008-02-18 Alessandro Zummo - * backend/coolscan3.c: added new coolscan3 backend - with improved stability and infrared support. - * configure.in, include/sanei.h: bumped version - number to 1.1.0 and enabled 1.1 frame types. - - doc/sane-pixma.man, doc/descriptions/pixma.desc, - doc/descriptions-external/canon_mfp.desc: - > New models changes: - - added: Pixma MP210, MP470, MP520, MP610, MP710 - - declared but untested: Pixma MP140, MP220, MP740 - - declared experimental and untested: MP970 - > Bugs and fixes - - multipage documents scan no more fails in non-ADF scan - - IO Fail bug when scanning large pages e.g. with Xsane - - implement send_time message form MP710, MP730 family - - run indent -gnu on all pixma_* source files. - -2008-02-14 m. allan noah - * backend/cardscan.c, backend/epjitsu.c, backend/fujitsu.c: - sanei_read_config has already cleaned string, fix bug #310597 - -2008-02-13 Pierre Willenbrock - Patch by Stefan Lucke - * backend/genesys_gl841.c: Fixes 3 possibilities for infinite - loops and adjusts loop threshold to given comments - -2008-02-13 Jonathan Bravo Lopez - * backend/hp3900.c, backend/hp3900_debug.c, backend/hp3900_rts8822.c, - backend/hp3900_usb.c, backend/hp3900_sane.c, backend/hp3900_types.c, - backend/hp3900_config.c, backend/hp3900.conf.in, /doc/sane-hp3900.man, - doc/descriptions/hp3900.desc: Minor changes and added support for - HP ScanJet G2710 scanner. - -2008-02-10 m. allan noah - - * configure, configure.in: Changed version to 1.0.19-cvs. Enabled - compilation warnings. - * Makefile.in: Added ChangeLog-1.0.19 to DISTFILES. - -Older entries can be found in ChangeLog-1.0.19. diff --git a/ChangeLog-1.0.21 b/ChangeLog-1.0.21 deleted file mode 100644 index 6c2ccd2..0000000 --- a/ChangeLog-1.0.21 +++ /dev/null @@ -1,887 +0,0 @@ -****** Release of sane-backends 1.0.21. End of code freeze ****** - -2010-04-25 Chris Bagwell - * tools/sane-config.in: Fix typo: REGMGR=RESMGR. - -2010-04-21 m. allan noah - * tools/.gitignore: add sane-backends.pc - * po/uk.po: updated translation from Yuri Chornoivan - * po/nl.po: updated translation from Martin Kho - -2010-04-20 Chris Bagwell - * doc/descriptions-external/epkowa.desc: Updated based - on values that will be in next release of iscan. - Updated 4 pre-existing SCSI models with commonly used - model names. This allows wider range of Epson SCSI scanners - to be correctly detected using auto-generated hal and udev - files. This benefits epkowa, epson2, and epson backends. - -2010-04-18 m. allan noah - * tools/sane-desc.c: Update the sane-devel contact suggestion - -2010-04-16 m. allan noah - * backend/kvs1025*, kvs1025.desc, sane-kvs1025.man: backend v3 - - invert usb status, add 0x to usbids, add missing KV-S1045 usbid - -2010-04-12 Nicolas Martin - * backend/pixma_mp150.c, backend/pixma_io_sanei.c, - doc/descriptions/pixma.desc, doc/sane-pixma.man: - pixma: added changes from Gernot Hassenpflug to fully support - Canoscan 8800F. - debug code clean-up in pixma_mp150.c - -2010-04-12 Chris Bagwell - * backend/p5.c, backend/p5_device.c, backend/p5.h: - Remove references to libc.h in p5.h. On OSX, it was including - socket.h and causing compile fail with conflicting connect() - functions. Since backend doesn't support network - connects, should be fine to use name connect. - -2010-04-07 Chris Bagwell - * acinclude.m4: cygwin and mingw is now hiding M_PI_2 - defines with -ansi flag. Remove to fix cygwin compile. - Mingw doesn't support fork() so default to pthreads. - Add u_short to complete definition of u_* types which - helps out ming when we define _BSDTYPES_DEFINED. - -2010-03-25 Stphane Voltz - * backend/p5.c backend/p5_device.[ch] backend/genesys_gl646.c: - replace u_int8_t and u_int16_t by uint8_t and uint16_t - -2010-04-06 Chris Bagwell - * configure.in, tools/sane-backends.pc.in: Add stub for future - pkg-config support to configure. This allows distributes - that are patching in pkg-config support to not rerun - autoconf and wipe out our custom libtool. - * tools/sane-config.in: Fix LDFLAGS bug related to GPHOTO2 - support. - -2010-04-02 Chris Bagwell - * acinclude.m4: Add --enable-rpath option to configure. - Ported from Fedora patches. - -2010-04-02 Chris Bagwell - * backend/kvs1024*: Remove includes of usb.h - directly into backend. Complete prototype - for sane_exit(). - -2010-04-02 Chris Bagwell - * po/Makefile.am: Remove unneeded distclean-local target. - -2010-03-25 Stphane Voltz - * backend/kvs1025.c: compile fix - -2010-03-25 m. allan noah - * backend/kvs1025*: convert backend from libusb to sanei_usb - * doc/descriptions/kvs1025.desc, doc/sane-kvs1025.man: update docs - * backend/dll.conf.in, configure, configure.in: enable kvs1025 backend - -2010-03-16 Stphane Voltz - * backend/rts8891.c: change register 0x11 settings for sensor type 1 - -2010-03-15 Nicolas Martin - * backend/pixma_mp150.c, doc/descriptions/pixma.desc: - pixma: fix color shifts for MP990 up to 2400 dpi - updated and reorderd descs for several models. - -2010-03-15 Stphane Voltz - * backend/genesys.[ch] backend/genesys_devices.c backend/genesys_low.h - backend/genesys_gl646.[ch] backend/genesys_gl841.c: full transparency - adaptor support for gl646 based scanners - -2010-03-11 Stphane Voltz - * backend/rts8891.c: further register tweaking for 600 dpi scans - -2010-03-11 Stphane Voltz - * backend/lexmark.c: minor bugfix when assigning possible dpi list - -2010-03-07 Stphane Voltz - * backend/rts8891.c: tweak register settings at 600 dpi for HP4470 - -2010-03-05 Stphane Voltz - * backend/rts8891.c: fix HP4470 sensor detection - -2010-03-04 Stphane Voltz - * backend/rts8891.c backend/rts8891.h: add debug traces for sensor - type handling - -2010-03-04 Stphane Voltz - * doc/desc/genesys.desc: fix HP2400/G2410 USB id, update HP3670 - status - -2010-03-01 Stphane Voltz - * doc/sane-p5.man doc/sane-umax_pp.man doc/sane-rts8891.man - doc/sane-lexmark.man: fix author name accentuation and capitalization - -2010-03-01 Stphane Voltz - * backend/genesys.c backend/genesys_gl646.c - backend/genesys_devices.h: enable warming up and calibration cache - for HP3670 - -2010-02-28 Stphane Voltz - * backend/genesys_devices.c backend/genesys_gl646.c - backend/genesys_gl646.h: tune HP2400/G2410 settings - -2010-02-27 Chris Bagwell - * Rerun autoconf/automake to align files to single version - of tools. - -2010-02-27 m. allan noah - * */Makefile.in: update with (unfortunately) slightly older automake - * po/*: standard gettext layout by Adi Roiban - * doc/descriptions/fujitsu.desc, backend/fujitsu.conf.in: - add S1500M entry by Harald Weis - * tools/sane-desc.c: Condense warnings about half-baked .desc files - -2010-02-27 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl646.c - backend/genesys_gl646.h: final work for HP3670 full support - -2010-02-25 Stphane Voltz - * backend/genesys_gl646.c: fix regression for gl646 CCD scanners due - to incorrect color filter setting. - -2010-02-23 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl646.c - backend/genesys_gl646.h: XP200 calibration rework. Some HP3670 - improvements. - -2010-02-22 m. allan noah - * backend/fujitsu.c: force enable flatbed for M3092, by Jochen Hepp - * doc/Makefile.*, doc/descriptions-external/kodak-twain: new backend - -2010-02-22 Julien Blache - * doc/descriptions-external/epkowa.desc: Updated for iscan 2.24.0. - -2010-02-16 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl646.c - backend/genesys_gl646.h backend/genesys_low.h: buttons and basic XPA - support for HP3670. - -2010-02-15 Stphane Voltz - * backend/p5.c backend/p5.h backend/p5_device.c backend/p5_device.h - backend/p5.conf.in doc/descriptions/p5.desc doc/sane-p5.man: add new p5 backend for - Primax PagePartner - * backend/dll.conf.in backend/Makefile.* configure* doc/Makefile.* - doc/sane.man: p5 backend integration changes - -2010-02-13 m. allan noah - * backend/avision.[ch]: updated settings for Visioneer 9450, - based on code from Andyz Smith - * doc/descriptions/avision.desc: added AV220-G and 6080E - -2010-02-12 m. allan noah - * backend/kvs1025*: add new backend from Panasonic Russia, Ltd. - * backend/Makefile.*, configure*, doc/Makefile.*, doc/sane.man: - backend integration changes - * doc/desciptions/kvs1025.desc, doc/sane-kvs1025.man: - the parts Panasonic forgot - -2010-02-12 m. allan noah - * backend/fujitsu.c: disable bg_color for S1500 - -2010-02-12 Stphane Voltz - * backend/genesys_gl646.c: fixed MD5345 calibration - -2010-02-12 Stphane Voltz - * doc/descriptions/genesys.desc backend/genesys.c - backend/genesys_devices.c backend/genesys_gl646.c - backend/genesys_gl646.h: added support for hp3670, uncalibrated scans - only - -2010-02-10 m. allan noah - * include/sane/saneopts.h: add three new SANE_VALUE macros - * backend/*.[ch]: use mode name macros from saneopts.h by Robert Ancell - -2010-02-10 m. allan noah - * doc/descriptions/hpaio.desc: updated from hplip v3.9.12 - * po/sane-backends.nl.po: updates from Armijn Hemel - -2010-02-10 m. allan noah - * backend/canon_dr.c, backend/cardscan.c, backend/epjitsu.c, - backend/fujitsu.c, backend/kodak.c, po/Makefile.*: - - enable translations of all static strings via SANE_I18N macro - - don't fail if sanei_scsi_open gives smaller buffer than asked for - * doc/descriptions/kodak.desc, doc/sane-canon_dr.man, - doc/sane-fujitsu.man, doc/sane-kodak.man: - - minor version number and text updates - -2010-02-10 m. allan noah - * acinclude.m4, configure: missing $ in variable expansion - * frontend/scanimage.c: exit with error if stdout isatty() - * doc/descriptions/unsupported.desc, doc/descriptions/lexmark.desc: - - add Dell A940 and correct manpage name - * backend/gt68xx_high.c: maximum exposure 245 not 248, see bug #312113 - * po/Makefile.*, po/sane-backends.ja.po: - - New Japanese translation from Hiroshi Miura - -2010-02-10 m. allan noah - * backend/cardscan.[ch], backend/cardscan.conf.in, - doc/descriptions/cardscan.desc, doc/sane-cardscan.man: - - add lines_per_block config option - - add has_cal_buffer config option - - basic support for 600C - - clean #include lines - * doc/sane.man: add missing backends - -2010-02-10 Stphane Voltz - * doc/descriptions/genesys.desc: added G2410 - -2010-02-10 m. allan noah - * backend/gt68xx_devices.c: add GT68XX_FLAG_NO_STOP to SF600 - * doc/.gitignore, doc/Makefile.am, doc/Makefile.in: - - added new targets for scanner search engine db - * doc/releases.txt: improved doc - * doc/saned.man: clean typos - * tools/sane-desc.c: removed NAME= from udev rules (deprecated) - -2010-02-09 m. allan noah - * backend/fujitsu.c, doc/descriptions/fujitsu.desc, - backend/canon_dr.c, doc/descriptions/canon_dr.desc, - backend/epjitsu.c, doc/descriptions/epjitsu.desc, - doc/sane-fujitsu.man, doc/sane-canon_dr.man, doc/sane-epjitsu.man, - backend/epjitsu.conf.in: - - cleanup #include lines, copyrights, manual, and supported scanners. - -2010-02-08 Stphane Voltz - * backend/genesys.c backend/genesys.h backend/genesys_conv.c - backend/genesys_devices.c backend/genesys_gl646.c - backend/genesys_gl646.h: working uncalibrated 150/300 dpi modes for - HP3670. Enable custom gamma for gl841 based scanners. Turned dynamic - line-art to be default. - -2010-02-03 Stphane Voltz - * backend/genesys_conv.c: add safeguards when doing gray normalization - -2010-02-02 Nicolas Martin - * doc/sane-pixma.man, doc/descriptions/pixma.desc: - pixma: updated docs for supported model ImageCLASS MF4350d. - -2010-01-31 Stphane Voltz - * backend/genesys_conv.c: normalize gray data when doing dynamic - lineart. - -2010-01-30 Stphane Voltz - * backend/genesys.conf.in backend/genesys_devices.c - doc/descriptions/genesys.desc doc/sane-genesys.man: add Xerox Travel - Scanner 100, work by Andrey Loginov - -2010-01-29 Nicolas Martin - * backend/pixma_io.h, backend/pixma_imageclass.c, - doc/sane-pixma.man, doc/descriptions/pixma.desc: - pixma: changed usb timeouts to 20 sec to support ImageClass MF3240. - updated source code comments and documentation. - -2010-01-28 Oliver Schwartz - * backend/snapscan-usb.c: Use hash of device string instead of parsing - it to create a semaphore id. The new code is less platform dependent - and should also work on FreeBSD 8.0. - -2010-01-27 Stphane Voltz - * backend/genesys.c backend/genesys.h backend/genesys_conv.c - backend/genesys_low.h backend/genesys_gl841.c: add dynamic lineart - scanning based on epjitsu code by m. allan noah. - -2010-01-19 Nicolas Martin - * backend/pixma.h, backend/pixma_mp150.c: - pixma: changes for cropped area enhancement, supplied by Christian Scholtz - for generation 3+ devices. - -2010-01-19 Stphane Voltz - * backend/genesys.c backend/genesys.conf.in backend/genesys.h - backend/genesys_conv.c backend/genesys_devices.c - backend/genesys_gl646.c backend/genesys_gl841.c backend/genesys_low.h - doc/descriptions/genesys.desc doc/sane-genesys.man: add Visioneer - OneTouch 7100 (patch by Jack McGill). Add software lineart option. - -2010-01-17 Stphane Voltz - * backend/genesys.c backend/genesys_gl646.c: gray shading calibration - fix for CCD GL646 based scanners. - -2010-01-17 Mattias Ellert - * po/sane-backends.sv.po: Updated Swedish translations. - -2010-01-16 Stphane Voltz - * backend/genesys.c backend/genesys_gl646.c: re-enable threshold - option, fix wpl computing for HP2400 - -2010-01-13 Stphane Voltz - * backend/genesys.c backend/genesys_low.c backend/genesys_gl646.c - backend/genesys_gl841.c doc/sane-genesys.man : add true gray scanning - for CIS based scanners - -2010-01-08 Nicolas Martin - * doc/sane-pixma.man, doc/descriptions/pixma.desc: - pixma: updated documentation for MP490 and MP550 (supported models). - -2009-12-30 Stphane Voltz - * backend/lexmark_low.c: improve init time debug messages - -2009-12-26 Nicolas Martin - * doc/sane-pixma.man, backend/pixma.c, backend/pixma_mp150.c: - pixma: some routine maintenance updates to backend and documentation. - -2009-12-24 Julien Blache - * frontend/saned.c: fix a bug in the standalone polling code. - -2009-12-05 Stphane Voltz - * backend/genesys.c backend/genesys_gl841.c backend/genesys_low.h: - fixed amount of bytes left to read at document end for gl841 based - sheetfed scanners - -2009-12-09 Nicolas Martin - * doc/descriptions/pixma.desc, doc/sane-pixma.man, - backend/pixma_imageclass.c, backend/pixma_mp150.c: - pixma: updated backend, docs and desc for support to MP560 and MF4330d/ADF - -2009-12-06 Nicolas Martin - * doc/descriptions/pixma.desc, doc/sane-pixma.man, - backend/pixma.h, backend/pixma.c, backend/pixma_mp150.c: - pixma: bumped version, added compilation type debug message. - updated doc and desc (support for MX330) - -2009-12-05 Stphane Voltz - * backend/genesys.c backend/genesys_gl841.c backend/genesys_devices.c - backend/genesys_low.h backend/genesys.conf.in - document/descriptions/genesys.desc: add full support for - Ambir/Syscan DS685. Use maximum height to handle the case when document - height isn't known before scan for sheetfed scanners - -2009-12-04 Nicolas Martin - * backend/pixma_mp150.c: - pixma: fix pixma backend bug for compilation with USE_PTHREAD/-lpthread - -2009-12-01 Stphane Voltz - * backend/genesys_gl841.c: take amount of data in scanner's buffer - into account when detecting end of document - -2009-11-30 Stphane Voltz - * backend/gt68xx.c backend/gt68xx_high.c backend/gt68xx_high.h - backend/gt68xx_low.h backend/gt68xx_gt6816.h backend/gt68xx_gt6816.c: - implement request '0x59' which detects document presence for 6816. Add - a sensor option to reports document presence, and test for document - before scan for 6816 sheetfed scanners. - -2009-11-29 Stphane Voltz - * backend/gt68xx.c backend/gt68xx_high.c backend/gt68xx_high.h: - added 'clear calibration' button option and 'need calibration' - sensor option. - -2009-11-28 Nicolas Martin - * backend/pixma.c, backend/pixma_mp1580.c, - doc/descriptions/pixma.desc, doc/sane-pixma.man: - pixma: fix pixma backend (end of scan), when compiled with USE_PTHREAD/-lpthread - set support to complete for MP990 in documentation, as reported by Jean-Michel Poure. - -2009-11-28 Stphane Voltz - * backend/gt68xx_generic.h backend/gt68xx_generic.c - backend/gt68xx_low.h backend/gt68xx_high.c backend/gt68xx_high.h - backend/gt68xx_devices.c backend/gt68xx.c - doc/descriptions/gt68xx.desc: added sheetfed calibration - -2009-11-25 Stphane Voltz - * backend/genesys_gl841.c: use only signed vars in - gl841_detect_document_end with a few more debug traces - -2009-11-25 Stphane Voltz - * backend/genesys.conf.in backend/genesys_gl841.c - backend/genesys_devices.c: added docketport 467 model and add - debug traces in gl841_detect_document_end - -2009-11-23 Stphane Voltz - * backend/gt68xx_generic.h backend/gt68xx_generic.c - backend/gt68xx.conf.in backend/gt68xx_low.h backend/gt68xx_high.c - backend/gt68xx_devices.c backend/gt68xx.c: fixed gt6816 based sheetfed - scanners positionning by implementing and using a move paper request. - Added Iriscan Express 2 model based on reports seen in sane-devel - list. - -2009-11-19 Nicolas Martin - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - pixma: updated Pixma MP250 status to supported. Changed desc status - from good to complete for well supported models. - -2009-11-16 Stphane Voltz - * backend/genesys.conf.in backend/genesys_gl841.c - doc/descriptions/genesys.desc : applied fixes and status update from - Jack McGill. - -2009-11-16 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl646.c - backend/genesys_gl841.c: add needed flags for DP485/487 and XP100 - scanners. Use different thresholds in strip detection function. Do - led, coarse and gain calibration at sensor's max resolution when doing - sheetfed calibration. - -2009-11-14 Julien Blache - * doc/descriptions/epson.desc: add the Perfection636 SCSI scanner, from - Frdric Brire . - -2009-11-06 Stphane Voltz - * backend/genesys.c backend/genesys.h backend/genesys_devices.c - backend/genesys_gl646.c backend/genesys_gl646.h backend/genesys_gl841.c - backend/genesys_low.h doc/descriptions/genesys.desc - doc/sane-genesys.man: - sheetfed calibration work merge. All genesys supported sheetfed - scanners can now be calibrated with a special sheet. - -2009-10-28 Nicolas Martin - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - pixma: declared Pixma MP550 (yet untested), updated docs. - -2009-10-22 Louis Lagendijk - * doc/sane-pixma.man: - Added networking details to doc/sane-pixma.man - -2009-10-21 Nicolas Martin - * backend/pixma_imageclass.c, doc/sane-pixma.man: - pixma: added I-SENSYS MF4320d and updated doc, for this model and MP390. - -2009-10-20 Louis Lagendijk - * backend/pixma_io_sanei.c: - Allow for ranges in model returned from device (allow -) - -2009-10-18 Nicolas Martin - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - pixma: updated doc to include support for MP270 and ImageClass MF3110 - -2009-10-18 Nicolas Martin - * backend/pixma_mp150.c, backend/pixma_imageclass.c, backend/pixma.h, - doc/descriptions/pixma.desc, doc/sane-pixma.man: - pixma: - - bumped backend version to 0.16.1 - - Some error condition fixes to Generation 4 (MP640, ...) XML code - - Added ImageClass MF4360dn-MF4390dn - -2009-10-18 Troy Rollo - * backend/hp3500.c: Stop backed from calling exit(), which is not - helpful when using threads instead of processes. - -2009-10-16 Nicolas Martin - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - pixma: Changes to include new XML dialog for new 2009 PIXMA models, - like MP270 or MP640. - -2009-10-03 Ilia Sotnikov - * backend/epjitsu.c: use own private function instead of roundf() - -2009-10-02 Stphane Voltz - * backend/genesys_gl646.c: honor GENESYS_NO_CALIBRATION device - flag when setting registers for final scan - -2009-10-01 Jonathan Bravo Lopez - * backend/hp3900_sane.c: - fix bug 311991: "Bad option sizes let frontend (e.g. xsane) crash" - -2009-10-01 Stphane Voltz - * backend/lexmark_low.c: fix a memleak in find_start_line(), - check success of memory allocation after calloc() - -2009-09-29 Chris Bagwell - * backend/Makefile.am, backend/Makefile.in: - Add missing sanei_pio to qcam backend. Fixes compile - error on embedded Linux boxes. Added new genesys_gl646.h - to backend's SOURCES so its included in tar file. - * doc/Makefile.am, doc/Makefile.in: - Remove manual deletion of $docdir. Modern automake cleans - up fine after itself and this fix is required for distcheck - target to pass on automake-1.11. - -2009-09-27 Nicolas Martin - * backend/pixma_bjnp.c, backend/pixma_mp730.c: - Print size_t values as %lu with cast to unsigned long - as prescribed in the file doc/backend_writing.txt, to avoid - compile warnings. - Removed unused debug code. - -2009-09-26 Julien Blache - * backend/genesys.c: add missing check when logging raw data, - patch by Tollef Fog Heen . - -2009-09-16 Nicolas Martin - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, - doc/sane-pixma.man: - pixma backend: Updated documentation for: - - Pixma MP260 support - - descriptions for recently added new models - -2009-09-14 m. allan noah - * sanei/sanei_usb.c: reset the libusb device handle after bus scan. - patch from Hans Petter Selasky - * backend/fujitsu.*, backend/Makefile.*: backend v97, - use sanei_magic to provide software deskew, autocrop and despeckle - * sanei/sanei_magic.c, include/sane/sanei_magic.h, Makefile.*: - new image processing lib for deskew, despeckle, autocrop. - -2009-09-13 Nicolas Martin - * backend/pixma_mp150.c, backend/pixma_mp730.c: - pixma backend: Declared new Pixma models MP250, MP490, MP560, MP640, - and MP990, all yet untested, and modified some debug code. - -2009-09-11 Mattias Ellert - * tools/sane-find-scanner.c: Fix false warning about USB not - supported when linking with libusb-1.0. - * po/sane-backends.sv.po: Updated Swedish translations. - -2009-09-07 Nicolas Martin - * backend/pixma_mp730.c: - pixma backend: added debug info for MF3110 and changed default params. - -2009-09-06 Nicolas Martin - * backend/pixma_mp730.c, backend/pixma_imageclass.c, backend/pixma_mp150.c, - doc/descriptions/pixma.desc, doc/sane-pixma.man: - pixma backend: - - Fix usb interrupt messages handling for MF3110 - - New support for ImageClass MF4660 - - Documentation updates - -2009-09-03 Nicolas Martin - * backend/pixma_mp730.c: - pixma backend: change for MF3110 image encoding. - -2009-08-29 Nicolas Martin - * backend/pixma_imageclass.c, backend/pixma_mp730.c: - pixma backend: moved MF3110 declaration to mp730 part of backend. - -2009-08-27 Nicolas Martin - * doc/descriptions/pixma.desc, backend/pixma_mp150.c: - - pixma backend: Updated description for MP830 reported to be fully supported. - -2009-08-13 m. allan noah - * tools/sane-desc.c: add closedir call to fix bug #311880, patch - from Johannes Meixner - -2009-08-08 Julien Blache - * frontend/saned.c: run_standalone(), explicitely check for errors - on fds. - -2009-08-07 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h: Backend v96 - - split sane_get_parameters into two functions - - remove unused code from get_pixelsize - - support hardware based auto length detection - * doc/descriptions/fujitsu.desc: various status and comment updates - -2009-08-07 Stphane Voltz - * backend/genesys_gl646.c backend/genesys_devices.c: - - small fixes for hp3670 support - -2009-08-05 Stphane Voltz - * backend/genesys.c: - - fixed shading calibration for hp2300 when dpi <= 300 - -2009-08-04 Stphane Voltz - * backend/genesys.c backend/genesys_gl646.c backend/genesys_devices.c: - - fixed document end detection for gl646 cis scanners - - disable color filter fro gray mode for gl646 cis scanners - -2009-08-03 Nicolas Martin - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - - pixma backend: few cosmetic documentation updates. - -2009-08-02 Stphane Voltz - * frontend/tstbackend.c: remove WARMING_UP_STATUS usage - -2009-07-30 Jonathan Bravo Lopez - * backend/hp3900_config.c: - - Fixed bug [#311856] possible for loop overflow - -2009-07-29 m. allan noah - * backend/canon_dr.[ch]: Backend v34 - - add simplified Hough transform based deskewing code - - add extremity detecting cropping code - - use per-model background color to fill corners after deskew - - request and chop extra scanlines instead of rounding down - - remove padding dumb scanners add to top of front side - - sane_get_params uses intermediate struct instead of user struct - - if scanner stops, clone the last line until the end of buffer - - reset some intermediate params between duplex sides - -2009-07-28 Nicolas Martin - * doc/descriptions/pixma.desc: - - Updated pixma backend desc for Pixma MX860 - -2009-07-25 Nicolas Martin - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - - Fix in declarations for Pixma MX320, MX330 and MX860, - - Updated docs for MX860, confirmed to be supported. - -2009-06-23 m. allan noah - * backend/canon_dr.[ch]: Backend v33 - - add software brightness/contrast for dumb scanners - - add blocking mode to allow full-page manipulation options to run - - add swdespeck option and support code - - add swdeskew and swcrop options (disabled) - -2009-06-22 m. allan noah - * backend/canon_dr.[ch]: Backend v32 - - crop/resample image data before buffering, not after - - shink image buffers to size of output image, not input - - correct some debug message - - better handling of EOF - - add intermediate param struct to existing user and scan versions - -2009-07-17 Alex Belkin - * backend/xerox_mfp.c: more sanity checking for debug mode. - -2009-07-15 Stphane Voltz - * backend/lexmark.h: disable deep debugging - -2009-07-10 Stphane Voltz - * backend/genesys.c backend/genesys_gl646.c backend/genesys_low.h - backend/genesys_gl646.h backend/genesys_gl841.c - backend/genesys_devices.c backend/genesys.h: - - add shading calibration for sheetfed scanners - - shading calibration fix for all gl646 based scanners - -2009-07-06 Stphane Voltz - * backend/lexmark.c backend/lexmark.h backend/lexmark_low.h: - do not use resolution higher than sensor resolution when doing - calibation. - -2009-07-02 Nicolas Martin - * backend/pixma.h, backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - - Declared new models (yet untested) Pixma MX330 and MX860, updated docs. - - Bump backend minor version number. - -2009-07-01 Alex Belkin - * backend/xerox_mfp.conf.in: usbid for Samsung SCX-4500W - -2009-06-29 m. allan noah - * po/Makefile.am, po/Makefile.in, po/sane-backends.uk.po: - - Ukrainian translation from yurchor@ukr.net - * backend/avision.c: set flag for Fujitsu SP620C - * doc/desciptions/unsupported.desc: minor updates to Canon scanners - * doc/descriptions/canon_dr.desc: set status complete on 5 machines - * backend/canon_dr.c: reduce default buffer size to 2 megs - -2009-06-26 Julien Blache - * po/Makefile.am, po/Makefile.in, po/sane-backends.gl.po: added - new gl (galician/galego) translation. - * po/sane-backends.es.po: update es translation. - Both translations courtesy of Miguel Bouzada - * po/README: update instructions for po file addition. - -2009-06-22 m. allan noah - * backend/kodak.*: new backend for big Kodak SCSI/Firewire scanners - * doc/desciptions/kodak.desc, doc/sane-kodak.man: docs for same - -2009-06-22 Nicolas Martin - * backend/pixma_imageclass.c, backend/pixma_mp730.c, doc/descriptions/pixma.desc: - - Added duplex ADF scan for Canon ImageCLASS D480. - - Fixed ImageCLASS MF5770 grayscale scanning. - - Moved ImageCLASS MF5730 and MF5750 to pixma_mp730.c (similarity with MF5770). - - Updated documentation. - -2009-06-20 Mattias Ellert - * po/sane-backends.sv.po: Updated Swedish translations. - * backend/hp5400_internal.h, backend/hp5590_cmds.c, - backend/hp5590_low.c, backend/net.c: Add missing includes. - -2009-06-20 Nicolas Martin - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - Added Canon imageCLASS D480 support to the pixma backend. - -2009-06-17 Stphane Voltz - * backend/lexmark_low.c: f3/f4 registers assignement cleanup - -2009-06-18 Nicolas Martin - * backend/pixma_mp150.c: - Fixed typo in pixma backend for MX320 declaration. - -2009-06-17 m. allan noah - * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v30 - - add fine cal support for machines with internal buffer (2050/2080) - - support fixed-width machines that require even bytes per scanline - - pad end of scan with gray if scanner stops prematurely - - better handling of errors during calibration - - cleanup canceling debug messages - - remove old cancel() prototype - - small sleep before clearing usb halt condition - -2009-06-17 Stphane Voltz - * backend/lexmark_low.c: cleanups, better logging in is_home_line() - and possible fix for bug #311862 by using f4 & f5 registers instead of - f3 & f4 - -2009-06-16 Nicolas Martin - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - Declared Pixma MX320 in the pixma backend. Yet untested. - -2009-06-16 Julien Blache - * frontend/saned.c: fix strict aliasing issues, now problematic - with gcc 4.4. - -2009-06-14 Nicolas Martin - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - Thanks to Vladimir Andreev patch, fix network scan for MP800R. - Documentation updates for latest MF5770 changes. - -2009-06-13 Alex Belkin - * backend/xerox_mfp.conf.in, doc/descriptions/xerox_mfp.desc: usbids - for some Samsung devices. - * backend/xerox_mfp.c: backend version increment. - -2009-06-09 Chris Bagwell - * sanei/sanie_tcp.c, backend/epson2_net.c: Update - sanei_tcp_read() to better simulate old behavior of - MSG_WAITALL. recv() tends to return MTU sized chunks - of data without that option. And at least cygwin doesn't - support MSG_WAITALL. Re-enable epson2 using that function - for big recieves. - * libgetopt.c, libgetopt1.c: Revert some logic meant to be used - only when we were always compiling internal getopt() functions. - Fix header filename. - -2009-06-09 Stphane Voltz - * backend/lexmark.h backend/lexmark.c backend/lexmark_low.c: - cleanups, better 'fake usb' and possible fix for bug #311862 - -2009-06-08 m. allan noah - * backend/canon_dr.c: backend v29 - - split coarse and fine cal to run independently - - add side option - - reset scan params to user request if calibration fails - - better handling of sane_cancel - - better handling of errors during sane_start and sane_read - -2009-06-08 Nicolas Martin - * backend/pixma_mp730.c, backend/pixma_imageclass.c: - Modifications to support Canon ImageClass MF5770 - -2009-06-04 Pierre Willenbrock - * backend/genesys_gl841.c: Make calibration steps always send - registers before trying to acquire a line. - -2009-05-29 Pierre Willenbrock - * doc/descriptions/genesys.desc: - Added description for Visioneer XP100r3, Visioneer Roadwarrior, - demoted DocketPort 465 to "untested" - -2009-05-28 m. allan noah - * backend/pnm.c: hide 'warming up' and 'hw locked' 'devices' - -2009-05-26 m. allan noah - * backend/canon.c: clamp film type to allowed range (bug #311685) - -2009-05-25 m. allan noah - * backend/fujitsu.[ch]: backend v94 - - add side option to show which duplex image is being transferred - - convert front and simplex buffers to use much less ram - - add lowmemory option which makes duplex back buffer small too - - refactor image handling code to track eof's instead of lengths - - do color deinterlacing after reading from scanner, before buffering - -2009-05-25 Nicolas Martin - * sanei/sanei_usb.c: - Adds debug verbosity to last sanei_usb.c patch. - -2009-05-23 Nicolas Martin - * doc/sane-pixma.man, doc/descriptions/pixma.desc: - Updated documentation for Pixma MultiPass MP730. - -2009-05-22 Alex Belkin - * backend/xerox_mfp.c: - - additional error check to (stop scanadf) + fix of it. - -2009-05-22 Nicolas Martin - * backend/pixma_imageclass.c, backend/pixma_mp730.c, sanei/sanei_usb.c: - - pixma_imageclass.c: supported devices list cleanup. - - pixma_mp730.c: fixed scan area width adjust and end of scan protocol for MP730. - - sanei/sanei_usb.c: in sanei_usb_open(), changed "endpoints seek loop" to - take into account only interfaces detected by sanei_usb_init() - Fixes Pixma MP730 usb wrong endpoints selection. - -2009-05-19 Pierre Willenbrock - * backend/genesys_devices.c, backend/genesys_low.h: - Add Pentax DSmobile 600, Syscan 485, DCT 487 - -2009-05-18 Stphane Voltz - * backend/genesys_gl646.h: fixed missing part of the include - -2009-05-13 Stphane Voltz - * backend/genesys_gl646.c backend/genesys_gl646.h: created a - genesys_gl646.h header file, moved all declarations from - genesys_gl646.c to this file. - -2009-05-13 Nicolas Martin - * backend/pixma_mp150.c: - Fixed Pixma MP600R for network scan. Changes apply to MP600R _and_ MP600, - to use now a strict clone of Canon's driver protocol. - -2009-05-09 Chris Bagwell - * */*.c: standardize including local sane include files. - -2009-05-09 Nicolas Martin - * backend/pixma_mp150.c, doc/descriptions/pixma.desc: - Fixed Pixma MP600 and MP600R for 2400 dpi scan, updated their descriptions. - -2009-05-08 m. allan noah - * backend/canon_dr*: backend v27 - - bug fix in read_panel() - - initialize vars in do_usb_cmd() - - set buffermode off by default - - clear page counter during init and sane_start() - - eject previous page during init and sane_start() - - improved SSM_BUFF macros - - moved set_window() to after ssm-*() - - add coarse calibration (AFE offset/gain & per-channel exposure) - - add fine calibration (per-cell offset/gain) - - free image and fine cal buffers in sane_close() - - compare page counter of small scanners only in non-buffered mode - - add back-side gray mirroring code for DR-2580C - -2009-05-06 Nicolas Martin - * doc/descriptions/pixma.desc: - Updated descriptions in pixma backend for ImageClass MF4010 and MF4018. - -2009-05-06 Ilia Sotnikov - - * doc/descriptions/unsupported.desc: - HP ScanJet 4500C/4570C/5500C is supported by the 'hp5590' backend. - * doc/descriptions/hp5590.desc: - Updated backend version, added HP ScanJet 4500C as completely supported, - added HP ScanJet 5500C as untested, HP ScanJet 4570C/5550C/5590/7650 - marked as completely supported - * tools/check-usb-chip.c: - Updated HP ScanJet model names displayed during the check_hp5590(). - * backend/hp5590.c, backend/hp5590_cmds.c, backend/hp5590_cmds.h, - backend/hp5590_low.c, backend/hp5590_low.h, doc/sane-hp5590.man: - Updated the list of supported devices (added HP 5500C which is similar - to 4570C, 5500C which is similar to 4500C) - only strings/comments, no - code was changed. Updated backend version. Updated man page. - -2009-05-06 Julien Blache - * tools/sane-desc.c: unbreak udev rules, use ATTRS instead of ATTR - for USB devices. - * frontend/saned.c: pass the network fds to saned_avahi() so the - Avahi process can close them. Fixes a hang possible hang of the - net backend when saned is run in debug mode. - -2009-05-05 Julien Blache - * doc/backend-writing.txt, doc/releases.txt: update for the switch - to git. - -2009-05-04 Chris Bagwell - * acinclude.m4: Rename --enable-fork-process to --enable-pthreads - to match internal usage. Stop linking in pthread when disabled. - * backend/Makefile.am: Add $PTHREAD_LIBS to all backends that - include sanei_thread. - * Makefile.am: Add new ChangeLog-1.0.20 to distribution list. - -2009-05-03 m. allan noah - * ChangeLog-1.0.20, Makefile.in: ChangeLog from 1.0.20 release - * configure, configure.in: version 1.0.21cvs - * doc/releases.txt: minor updates for new build system - * doc/descriptions/canon_dr.desc, doc/descriptions/coolscan3.desc, - doc/descriptions/rts8891.desc, doc/descriptions/xerox_mfp.desc: - remove :new tag - -2009-05-03 Chris Bagwell - * Makefile.in, aclocal.m4, configure, */Makefile.in: Regenerated - with newer automake. - * backend/Makefile.am, tools/sane-config.in: Add missing - $GPHOTO2_LDFLAGS so library can be found. - * tools/Makefile.am: Add mising $SCSI_LIBS to sane-find-scanner. - -Older entries can be found in ChangeLog-1.0.20. diff --git a/ChangeLog-1.0.22 b/ChangeLog-1.0.22 deleted file mode 100644 index 0af106e..0000000 --- a/ChangeLog-1.0.22 +++ /dev/null @@ -1,536 +0,0 @@ -****** Release of sane-backends 1.0.22. End of code freeze ****** - -2011-02-10 m. allan noah - * po/nl.po: updates from Martin Kho - * po/uk.po: updates from Yuri Chornoivan - -2011-02-04 Stphane Voltz - * backend/genesys.c: disable image processing options at 16 bits since - they can't handle it. - -2011-02-02 Stphane Voltz - * backend/genesys.c backend/genesys_low.c backend/genesys_gl843.c: - more asynchronous parking issues - -2011-01-31 Stphane Voltz - * backend/genesys.c backend/genesys_low.[ch]: don't return EOF too - early when applying image processing functions, handle writing of - lineart data, improve asynchronous head parking - -2011-01-31 m. allan noah - * backend/epjitsu.c, doc/descriptions/epjitsu.desc: - - comment changes - - added new models - * backend/fujitsu.c, doc/descriptions/fujitsu.desc, - doc/sane-fujitsu.man: fujitsu backend v106, - - added new models - - dont call mode_select with a page code the scanner does not support - -2011-01-28 Mike Kelly - * backends/avision.[ch]: - - Bumped build number to 294. - - Various minor code cleanups. - - Fixed initialization and duplexing for AV220-G - - Added ADF support for HP8200 series scanner (flipping duplexers). - - Return copied values in sane_get_parameters() - - Added paper-length option to prevent double feeds - - Added a Misc option group to hold misc features - -2011-01-26 m. allan noah - * backend/canon_dr.[ch], doc/descriptions/canon_dr.desc, - backend/canon_dr.conf.in, doc/sane-canon_dr.man: - canon_dr backend v37: - - don't center window when using flatbed - - improve request sense error messages - - enable flatbed for all known models - - ad usb ids for DR-6030C, CR-135i & CR-190i - * doc/descriptions/unsupported.desc: moved DR-2020U from canon_dr.desc - -2011-01-20 Stphane Voltz - * backend/genesys_devices.c backend/genesys_gl646.h: tune resolution - list and add internal values matching them - -2011-01-18 m. allan noah - * backend/canon_dr.[ch], doc/desc/canon_dr.desc, doc/sane-canon_dr.man: - canon_dr backend v36: - - initial support for DR-3080 and DR-5060 - - add code to clamp scan width to an arbitrary byte width boundary - - add code to prevent setting of brightness/threshold/contrast - - don't send dropout color command on non-color scanners - - initial support for DR-7090C - - update credits - * po/pl.po: updated translation from Jakub Bogusz - * po/de.po: updated translation from Matthias Mailander - * backend/canon.conf.in: improved detection of scsi scanners - -2011-01-17 Stphane Voltz - * doc/descriptions/genesys.desc: add DSmobile variant - -2011-01-15 Reinhold Kainhofer - * sanei/sanei_usb.c: Add function sanei_usb_set_endpoint to change the - endpoints for usb communications. - * backend/magicolor.c: Add new "magicolor" backend for KONICA MINOLTA - magicolor 1690MF devices - -2011-01-13 Stphane Voltz - * backend/genesys_devices.c backend/genesys_gl124.c backend/genesys_gl124.h - doc/descriptions/genesys.desc: add 2400 dpi mode for LiDE 110 and 210 - -2011-01-12 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl124.c - backend/genesys_gl124.h backend/genesys_low.c backend/genesys_low.h : - prepare 2400 dpi modes for LiDE 210/110, add a wait for head to park - function and use it in sane_start(). - -2011-01-06 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c - backend/genesys_gl847.c: fix lineart issue when yres is higher than - xres and dynamic lineart is enabled, make gl847 wait for head to - park between scans, wait for head ot park in sane_close() - -2011-01-05 Nicolas Martin - * backend/pixma_mp730.c: - pixma: Added patch proposed by Klaus Stengel for Canon imageRunner 1020/1024/1025 support. - -2011-01-04 Nicolas Martin - * backend/pixma_mp150.c, backend/pixma.c, backend/pixma.h - backend/pixma_common.c, backend/pixma_common.h: - pixma: several updates for MP830, MP990, memmove bug fix, and 64 bits image size. - -2011-01-04 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c - backend/genesys_gl124.c: fix 1200 dpi lineart issues for gl124, - reenable low resolutions for lineart for gl124, and geometry fine - tuning for LiDE 110/210 - -2011-01-03 Stphane Voltz - * backends/lexmark_low.c: fix compilation issue due to incorrect - place for a DBG statement. - -2011-01-03 Chris Bagwell - * backends/Makefile.am: Add SOCKET_LIBS to xerox_mfp - for platforms such as solaris since it uses sanei_tcp.k - * doc/sane.tex: removed reference to changelog package - since its not used and not installed by Macports (#312596) - * doc/Makefile.am: put quotes around TEXINPUTS in case - paths have spaces in name. This is so latex can find - html.sty package that is referenced by sane.tex. - -2011-01-01 Chris Bagwell - * */Makefile.in, configure, aclocal.m4: Generate from latest - autoconf (2.63 to 2.66). - * m4/*: Added new libtool helper files. - * ltmain.sh: updated to latest libtool and added back special - sane soname work around. - * po/Makefile.am: Allow "make dist" to work when translations - disabled. - * sanei/Makefile.am: allow "make check" to work on cygwin. - -2010-12-28 Stphane Voltz - * backend/genesys.conf.in backend/genesys_devices.c backend/genesys_gl646.c - backend/genesys_gl847.c backend/genesys_gl847.h: - fix HP2300 warming up problem, add LiDE 700F and 5600F to gl847 - devices, smooth DSmobile 600 moves. - -2010-12-27 Stphane Voltz - * backend/genesys.c backend/genesys.conf.in backend/genesys_devices.c - backend/genesys_gl841.c backend/genesys_low.h - doc/descriptions/genesys.desc doc/descriptions/unsupported.desc - doc/sane-genesys.man: add Plustek OpticBook 3600 support - by Chris Berry and Michael Rickmann - -2010-12-27 Stphane Voltz - * backend/genesys_devices.c backend/genesys_gl124.c backend/genesys.c - doc/descriptions/genesys.desc doc/sane-genesys.man: enable 16 bit gamma - for gl124 scanners, models and credits update. - -2010-12-24 Stphane Voltz - * backend/genesys_devices.c backend/genesys_gl124.c backend/genesys.c - doc/descriptions/genesys.desc: GL847 shading area size fix, GL124 - shading area tuning, descriptions update. - -2010-12-24 Stphane Voltz - * backend/lexmark*.[ch]: applied X74 support patch by Torsten Houwaart - - -2010-12-23 Mike Kelly - * backends/avision.[ch]: - - Bumped build number to 293. - - Removed "regularly tested" from various scanners. - - Fixed USB id for Avision FB2080E. - - Added support for the Avision AV210D2+ scanner. - - Moved device init code to sane_get_devices(). - - Rewrote indirect "adf_mode" code to be more direct. - - Fixed indentation. - - Changed AVISION_FILTER_* defines to use final values. - - Wrap duplicate USB id entries with ifdefs. - - Removed a duplicate entry for Avision AV210C2. - - Print out USB ids as four digit hex numbers. - - Enhanced sane_get_option_descriptor() debug message. - * doc/descriptions/avision.desc: - - (Re)generated from avision.c. - -2010-12-19 Stphane Voltz - * backend/genesys_gl124.h: LiDE 210 GPIO fix - -2010-12-16 Stphane Voltz - * backend/genesys.c backend/genesys.conf.in backend/genesys_devices.c - backend/genesys_gl124.h: - LiDE 210 support (GL124 based) - -2010-12-14 Stphane Voltz - * backend/genesys*.[ch] backend/genesys.conf.in backend/Makefile.am - backend/Makefile.in tools/check-usb-chip.c doc/desc/genesys.desc: - LiDE 110 support (GL124 based) - -2010-12-08 Mike Kelly - * doc/descriptions/avision.desc: - - (Re)generated from avision.c. - * doc/sane-avision.man: - - Added myself as maintainer. - * backends/avision.desc: - - Removed this obsolete file (again). - * backends/avision.c: - - Bumped version to 292. - - Added myself as maintainer. - - Added support for DocuMate262i. - - Added support entries for HP 8300 series. - * backends/avision.conf.in: - - Added myself as maintainer. - -2010-12-06 Julien Blache - * doc/descriptions/espon.desc, doc/descriptions/epson2.desc: add SCSI IDs - for the Perfection 3200 (GT-9800) connected through FireWire. Report - from Colin Kincaid Williams . Update Perfection 2450 - interface list. - -2010-12-02 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h: - Fujitsu backend version 105 - - backup and restore image params around image processing code - - cache software crop/deskew parameters for use on backside of duplex - - fi-6110 does not support bgcolor or prepick - -2010-11-29 Olaf Meeuwissen - * backend/epson2-ops.c: fix list of supported commands for levels D1 - and D2. - -2010-11-24 m. allan noah - * backend/fujitsu.c, backend/fujitsu.conf.in, - doc/descriptions/fujitsu.desc, doc/sane-fujitsu.man: - Fujitsu backend versions 103 and 104 - - remove compiled-in default config file - - initial support for new fi-6xxx machines - - never request more than s->buffer_size from scanner - - silence noisy set_window() calls from init_interlace() - -2010-11-19 Julien Blache - * doc/descriptions-external/epkowa.desc: update for iScan 2.26.1, - from Olaf Meeuwissen . - -2010-11-17 Stphane Voltz - * backend/genesys.c: don't write scan data unless specified by debug - level. - -2010-11-08 Marc Deslauriers - * backend/v4l.c: convert v4l1 BGR data to RGB; v4l1 always returns - BGR for RGB due to a coding error way back. - -2010-11-07 Marc Deslauriers - * backend/v4l.c: loop through the read buffers in the v4l backend so - we don't get stale frames. - -2010-11-06 Stphane Voltz - * frontend/scanimage.c doc/scanimage.man: add -A/--all-options to list - all control options exposed by a backend. - -2010-11-01 Stphane Voltz - * frontend/scanimage.c: don't print readonly device options since - they can't be set on command line - -2010-11-01 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl843.c - backend/genesys_gl843.h backend/genesys_gl847.c: up build number to 41, - rework head parking, - fixed clear-calibration option reading, - make calibration cache expire for non sheetfed gl847 scanners, - tuned KV-SS080 timings to improve image quality, - raised LiDE 100/200 defaukt gamma to 1.7 - -2010-10-31 Julien Blache - * doc/descriptions/hp.desc: add SCSI IDs for ScanJet 4c. - -2010-10-30 Julien Blache - * backend/xerox_mfp.conf.in, doc/descriptions/xerox_mfp.desc: add - Samsung SCX 4824 & 4825FN (Debian #601748). Resync desc file with - config file. - -2010-10-13 Stphane Voltz - * backend/genesys_devices.c backend/genesys_gl843.c - backend/genesys_gl843.h: added 100, 150, 400 and 600 dpi modes for - G4050 and G4010. Added 500 and 400 dpi modes for KV-SS080 - -2010-09-30 Alex Belkin - * Makefile.in backend/Makefile.am backend/Makefile.in backend/xerox_mfp-tcp.c - backend/xerox_mfp-usb.c backend/xerox_mfp.c backend/xerox_mfp.conf.in backend/xerox_mfp.h - doc/Makefile.in doc/descriptions/xerox_mfp.desc doc/sane-xerox_mfp.man frontend/Makefile.in - include/Makefile.in japi/Makefile.in lib/Makefile.in po/Makefile.in sanei/Makefile.in - testsuite/Makefile.in tools/Makefile.in: Added Samsung SCX-4500W scan over network support - for xerox_mfp backend (by Alexander Kuznetsov). autoconf and automake reconfigure - to support new files. - -2010-09-28 Stphane Voltz - * backend/genesys.c backend/genesys.conf.in backend/genesys_devices.c - backend/genesys_gl843.c backend/genesys_gl843.h: add minimal support - (200 and 300 dpi) for HP G4050. Add a device entry for G4010. - -2010-09-18 Reinhold Kainhofer - * include/sane/sanei_config.h sanei/sanei_config.c: Add - function sanei_config_get_paths to obtain all configuration pathes - (from env var SANE_CONFIG_DIR and default paths); fix pointers to - invalid/freed strings when SANE_CONFIG_DIR is set. - * backend/dll.c: When searching for the dll.d/ directory, - also use the SANE_CONFIG_DIR env variable. - -2010-07-12 Julien Blache - * doc/descriptions-external/epkowa.desc: update for iScan 2.26.0, - from Alesh Slovak . - -2010-09-17 Stphane Voltz - * backend/genesys.c backend/genesys_low.h sanei/sanei_magic.c - backend/genesys_devices.c backend/genesys_gl843.c: do asynchronous head - parking for flatbed scanners to save scan time. Fix a couple of - memory overwrites detected by valgrind. Optimize shading data - writing and fine tune scaneara for gl843. - -2010-09-16 Julien Blache - * frontend/saned.c: exit Avahi process on error and when the poll - loop terminates. - -2010-09-13 Stphane Voltz - * doc/descriptions/unsupported.desc: update status of scanners - now supported by the genesys backend. - -2010-09-13 Stphane Voltz - * doc/sane-genesys.man doc/descriptions/genesys.desc - backend/genesys.con.in: update HP3690 status to supported - -2010-09-12 Stphane Voltz - * backend/genesys_conv.c backend/genesys.c doc/sane-genesys.man - sanei/sanei_magic.c backend/genesys.h backend/genesys_low.h - backend/Makefile.in backend/Makefile.am: add software deskep, crop - and despeckle for the genesys backend. - -2010-09-08 Nicolas Martin - * backend/pixma_mp150.c, backend/pixma_mp730.c - doc/descriptions/pixma.desc, doc/sane-pixma.man: - pixma: several updates for MP375R, MP390, MP460 and docs by Gernot Hassenpflug. - -2010-09-07 Nicolas Martin - * backend/pixma_mp750.c: - pixma: fix for 2400 dpi striping on MP760/770/780/790 by Gernot Hassenpflug. - -2010-09-05 Nicolas Martin - * doc/sane-pixma.man: - pixma: man page update for devices as reported by Gernot Hassenpflug. - -2010-09-05 Stphane Voltz - * backend/genesys_gl841.c: end of document detection rework for - sheetfed scanners. - -2010-09-04 Stphane Voltz - * backend/genesys_devices.c backend/genesys.c backend/genesys_gl843.c: - 1200 dpi resolution support for KV-SS080. - -2010-09-01 Stphane Voltz - * backend/genesys_devices.c backend/genesys.c backend/genesys_gl843.c: - support for scan button, faster move to scan area and calibration fine - tuning. - -2010-09-01 Nicolas Martin - * backend/pixma.c, backend/pixma_mp730.c, backend/pixma_mp150.c - doc/descriptions/pixma.desc: - pixma: changes supplied by Gernot Hassenpflug for Lineart support - to some Pixma devices, and desc updates. - -2010-08-31 Stphane Voltz - * backend/genesys_devices.c backend/genesys.conf.in backend/genesys.c - backend/genesys_gl843.[ch] backend/Makefile.am backend/Makefile.in: - support for gl843 based scanners, starting with KV-SS080. - disable true gray for LIDE35/50 since it breaks scanning - -2010-08-02 Stphane Voltz - * backend/genesys_devices.c backend/genesys.conf.in: add a device - entry for the Canoscan 5600f. - -2010-07-25 Nicolas Martin - * backend/pixma.c, backend/pixma.h, backend/pixma_common.c, - backend/pixma_imageclass.c: - pixma: changes for future Lineart scan mode support. - some MF8030 settings, but device not yet supported. - -2010-07-22 Nicolas Martin - * backend/pixma_mp150.c, backend/pixma_imageclass.c, - doc/descriptions/pixma.desc, doc/sane-pixma.man: - pixma: add support for PIXMA MX870. - declared PIXMA MF8030, but not yet working. - -2010-07-14 Julien Blache - * doc/descriptions/epson.desc, doc/descriptions/epson2.desc: add :scsi - keyword for the Perfection 2450 connected through FireWire. Courtesy - of Brian Denheyer . - -2010-07-12 Julien Blache - * doc/descriptions-external/epkowa.desc: update for iScan 2.25.0, - from Alesh Slovak . - -2010-07-09 Julien Blache - * backend/dll.c: allow symlinks under SANE_CONFIG_DIR/dll.d. - -2010-07-04 Nicolas Martin - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - pixma: changes for PIXMA MX350 support, usb and ethernet. - -2010-07-03 Nicolas Martin - * doc/descriptions/pixma.desc, backend/pixma.c: - pixma: fix ImageClass MF6550 description. - fix end of line crop buffer size. - -2010-07-02 Nicolas Martin - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - pixma: update doc to include ImageClass MF6550 support. - -2010-07-02 m. allan noah - * backend/avision.c: patch for AV122-C2 from Ori Koren - -2010-07-01 Nicolas Martin - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - pixma: thanks to Dan McGee patch, add support for PIXMA MX340. - -2010-06-23 m. allan noah - * backend/fujitsu.c: Fix compilation bug when jpeg support is enabled. - -2010-06-23 Julien Blache - * various: corrected initialization, printing, etc. in many backends - -2010-06-21 Julien Blache - * tools/sane-desc.c: udev rules: set libsane_matched=yes for SCSI - devices too. Used by udev-acl later on. - -2010-06-21 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c - backend/genesys_low.h: improve scan quality by using double x - resolution internally at low resolution. Scan area geometry fine - tuning. - -2010-06-18 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c: - add 400, 200 and 100 dpi resolution to LiDE 100 and LiDE 200 . Disable - true gray until it really works. - -2010-06-15 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c - backend/genesys_gl847.h: - Canon LiDE 200 support up to 1200 DPI - -2010-06-15 m. allan noah - * doc/descriptions/xerox_mfp.desc, backend/xerox_mfp.conf.in: - Add Samsung SCX-4600 USB IDs - * backend/kvs20xx.h: use sys/param.h instead of endian.h - -2010-06-10 Stphane Voltz - * backend/genesys.c: - calibration file name double free fix - -2010-06-10 m. allan noah - * backend/niash.c: patch for HP3300 from Yves Jeanrenaud - * po/fr.po: updates from Yann E. MORIN - -2010-06-10 Stphane Voltz - * backend/genesys_devices.c backend/genesys_gl847.c: - LiDE 100 motor settings rework - -2010-06-09 m. allan noah - * backend/kvs20xx*, Makefiles, confs and docs: - - Add new kvs20xx backend from Panasonic, for KV-S202xC and KV-S204xC - -2010-06-09 m. allan noah - * backend/fujitsu.[ch]: backend v100: - - store more Request Sense data in scanner struct - - clear Request Sense data at start of every do_cmd() call - - track per-side ILI and global EOM flags - - set per-side EOF flag if ILI and EOM are set - -2010-06-09 m. allan noah - * backend/Makefile.{am|in}: add genesys_gl847 files - * po/Makefile.{am|in}: add LINGUAS POTFILES to EXTRA_DIST - * Makefile.am: add Changelog-1.0.21 to EXTRA_DIST - -2010-06-08 Nicolas Martin - * backend/pixma_imageclass.c: - pixma: set #1 of modifiations for ImageClass MF65xx series. - -2010-06-07 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c: - LiDE 100 motor fine tuning - -2010-06-03 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c - doc/descriptions/genesys.desc: - final bits for full LiDE 100 support - -2010-05-31 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c: - shading calibration is working and led calibration has been tuned - -2010-05-30 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c - backend/genesys_low.h: Canon LiDE 100 working without shading - calibration which is the final bit to fix - -2010-05-24 m. allan noah - * backend/avision.c, doc/descriptions/avision.desc: add Fujitsu fi-5015C - -2010-05-20 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c: - make led and shading calibration work for LiDE 100 - -2010-05-16 Chris Bagwell - * README.freebsd: Add suggested hint that configure needs - to be told location of external libraries installed through - Ports. - -2010-05-16 Stphane Voltz - * backend/genesys.[ch] backend/genesys_devices.c - backend/genesys.conf.in backend/genesys_gl847.[ch] - backend/Makefile.in: start of LiDE 100 and LIDE 200 support - -2010-05-16 Stphane Voltz - * sanei/sanei_usb.c include/sane/sanei_usb.h: add a sanei_usb_reset() - function. - -2010-05-15 m. allan noah - * backend/fujitsu.c: backend v99 - - sense_handler(): collect rs_info for any ILI, not just EOM - - do_usb_cmd(): use rs_info whenever set, not just EOF - - read_from_*(): better handling of EOF from lower level functions - - sane_read(): improve duplexing logic - -2010-05-03 Pierre Willenbrock - * Change status of CanoScan LiDE 40 from untested to good - -2010-04-27 m. allan noah - * po/Makefile.in: include POTFILES and LINGUAS in DIST - * doc/releases.txt: more git notes - -2010-04-25 Julien Blache - * tools/sane-backends.pc.in: syntax fixes. - -2010-04-25 m. allan noah - * ChangeLog-1.0.21, Makefile.in: ChangeLog for 1.0.21 release - * configure, configure.in: version 1.0.22git - * doc/descriptions/kodak.desc, doc/descriptions/kvs1025.desc, - doc/descriptions/p5.desc: remove :new tag - * doc/releases.txt: minor updates due to new git hooks - -Older entries can be found in ChangeLog-1.0.21. diff --git a/ChangeLog-1.0.23 b/ChangeLog-1.0.23 deleted file mode 100644 index 07d5e69..0000000 --- a/ChangeLog-1.0.23 +++ /dev/null @@ -1,694 +0,0 @@ -****** Release of sane-backends 1.0.23. End of code freeze ****** - -2012-08-18 Rolf Bensch - * po/nl.po: Updated Dutch translation from Martin Kho. - -2012-08-17 Chris Bagwell - * backend/kvs40xx*: Fix scan() symbol name that - was still conflicting the epjistu and snapscan backends. - -2012-08-16 Rolf Bensch - * backend/pixma.[ch], backend/pixma_common.[ch], - backend/pixma_imageclass.c, backend/pixma_mp*.c: - Copyright updated. - -2012-08-11 Rolf Bensch - * backend/pixma.c, backend/pixma_mp150.c, backend/pixma_mp810.c: - Lineart fix for generation 1+2 scanners. - -2012-08-09 Paul Newall - * /backend/kodakaio.c: - calling of poll tidied up, may fix problems with repeated scans. - -2012-07-30 Stphane Voltz - * doc/sane-genesys.man backend/genesys_low.h backend/genesys*.c: - rewrite lineart emulation du to bugs exhibited by the use of the - genesys backend through saned. Fixed an option delcartion that led - to saned crash and fixed batch scanning with sheet-fed scanners. - -2012-08-07 Chris Bagwell - * backend/kvs20xx*, backend/kvs40xx*: Fix duplicate symbols - caused by copy&pasting between related backends. This - allows prelinking of backends to work. - * backend/hp5590_low.c: Fix unresolved symbols error by - including byteorder.h header. - * backend/dll.c: Use correct function prototype for prelink - version of DLL backend. Helps some 64-bit compilers. - -2012-07-31 Rolf Bensch - * doc/descriptions/pixma.desc, doc/sane-pixma.man: - doc updates for all PIXMA scanners - * backend/pixma.h, doc/descriptions/pixma.desc, doc/sane-pixma.man: - - Pixma backend version 0.17.0 - - date updated in Pixma man page - -2012-07-30 m. allan noah - * backend/kvs1025.h: Increase max paper size (Matthew Wild) - * doc/*.man, doc/*.html: Typo fixes (Yuri Chornoivan) - -2012-07-30 Stphane Voltz - * backend/genesys.c backend/genesys_gl843.c backend/genesys_gl646.c: - fix batch scanning for gl646 scanners - -2012-07-29 Paul Newall - * /doc/descriptions/kodakaio.desc: - advent AW10 added. - -2012-07-28 Paul Newall - * /doc/descriptions/kodakaio.desc: - usbids added and version. - -2012-07-28 Rolf Bensch - * doc/descriptions/pixma.desc: scanners resorted by name - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, - doc/sane-pixma.man: new scanners reported by DMoeller - - Canon PIXMA MX410 as untested - - Canon PIXMA MX420 as complete - - Canon PIXMA E500, E600, MX370 Series, MX430 Series, MX710 Series - as untested and experimental - * backend/pixma_mp150.c, doc/descriptions/pixma.desc: capabilities updated - for Canon PIXMA MX510 and MX890 - * backend/pixma_mp150.c, doc/sane-pixma.man: all 2012 untested new devices - marked as experimental - -2012-07-26 Rolf Bensch - * README.linux: - New detailled description for the installation of SANE backend. - -2012-07-24 m. allan noah - * backend/kvs40xx_opt.c: Oops- it is new - * doc/descriptions/kvs40xx.desc: Fix typo (Yuri Chornoivan) - * po/uk.po: Updated (Yuri Chornoivan) - * tools/Makefile.am, tools/Makefile.in, tools/sane-config.in: - sane-config fixes (Ruediger Meier) - -2012-07-15 Ilia Sotnikov - * backend/hp5590.c, backend/hp5590_low.c: - Fix hp5590 backend on big-endian platforms provided by Nhan Ngo Dinh - - -2012-07-13 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl124.c - backend/genesys_gl646.c backend/p5.c backend/p5.h backend/p5_device.h - backend/rts8891.c backend/rts8891.h backend/rts8891_devices.c backend/rts8891_low.c - backend/rts8891_low.h backend/rts88xx_lib.c backend/rts88xx_lib.h - backend/umax_pp.c backend/umax_pp.h backend/umax_pp_low.c - backend/umax_pp_low.h backend/umax_pp_mid.c backend/umax_pp_mid.h - doc/sane-genesys.man sanei/sanei_magic.c : - misc cleanups and doc updates to prepare release - -2012-06-28 Paul Newall - * backend/kodakaio.c backend/kodakaio.conf.in backend/kodakaio.h - doc/sane-kodakaio.man doc/descriptions/kodakaio.desc - configure.in makefile.am dllconf.in doc/makefile.am: Added new backend kodakaio for - kodak ESP nnnn, Cnnn, hero AiOs, detection of cups added to configure - since cups is used for network auto detection. - -2012-06-27 Rolf Bensch - * backend/pixma.[ch], backend/pixma_sane_options.c, - doc/descriptions/pixma.desc: - - Pixma backend version 0.16.4 - - new scan modes for 48 bit flatbed scanners: - PIXMA_SCAN_MODE_COLOR_48, PIXMA_SCAN_MODE_GRAY_16, - enabled by capability PIXMA_CAP_48BIT - * backend/pixma_mp150.c: unused capability PIXMA_CAP_48BIT removed - * backend/pixma_mp810.c: - - new capability for CS9000F: PIXMA_CAP_48BIT - - functions for scan mode detection improved - - lowest resolution for 48 bit flatbed scan modes is 150 dpi - * po/de.po: German translations for new scan modes - -2012-06-04 Stphane Voltz - * backend/genesys.c backend/genesys.h backend/genesys_low.h - backend/genesys_devices.c backend/genesys_gl124.[ch] : LiDE 110/210 - led calibration improvements, add a 'lamp off during scan' option, - add 2400x4800 mode to LiDE 100, 110 and 210, improve remove/add - scanner detection. - -2012-06-01 Stphane Voltz - * backend/genesys.c backend/genesys_gl841.c: apply led calibration fix - -2012-06-01 Stphane Voltz - * backend/genesys.c: fix get_device to handle scanner plugging and - unplugging - -2012-05-31 Stphane Voltz - * doc/descriptions/genesys.desc doc/sane-genesys.man - doc/descriptions/unsupported.desc: updated Xerox onetouch 2400 status - to supported - -2012-05-30 Stphane Voltz - * backend/genesys.c backend/genesys_gl124.c backend/genesys_gl124.h: - align gl124 code on latest gl847 improvements - -2012-05-29 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c - backend/genesys_gl847.h doc/descriptions/genesys.desc: add 4800 dpi - for LiDE 700F - - improve fedd/move to scan area for gl847 based scanners - - remove non working 400 dpi mode - -2012-05-28 Stphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl124.c - backend/genesys_gl847.c backend/genesys_gl847.h backend/genesys_low.h - doc/descriptions/genesys.desc doc/sane-genesys.man: - add support for LiDE 700F up to 2400 dpi - -2012-05-10 m. allan noah - * backend/fujitsu.c: backend v111 - - call send_* and mode_select_* from sane_start - - split read payloads into new debug level - - add paper-protect, staple-detect and df-recovery options - -2012-05-09 m. allan noah - * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v110 - - correct max_y_fb for fi-62x0 series - - add must_fully_buffer helper routine - - add hwdeskewcrop option, with fallback to software versions - - add 'actual' param to get_pixelsize for post-scan - - add recent model VPD params - - only set params->lines = -1 when using ald without buffering - - fix bugs in background color when using software deskew - * sanei/sanei_magic.c: Update deskew algo - - allow paper to be +/- 1 inch from top of image - - correct integer overflow - - improve (disabled) debug logs - -2012-05-03 Rolf Bensch - * backend/pixma_io_sanei.c, backend/pixma_mp150.c, - doc/descriptions/pixma.desc, doc/sane-pixma.man: - Patch for Canon Pixma MP280 from Daniel Beer. - - PIXMA_EOF mapped to PIXMA_ETIMEDOUT. - - Maximum resolution reduced to 600dpi. - - Scanner added to doc files. - -2012-04-23 Rolf Bensch - * AUTHORS: Pixma backend and email addresses updates. - -2012-04-20 Rolf Bensch - * tools/sane-desc.c: tools/udev/libsane.rules supports scanner group - access to any scanner, with and without acl support. - -2012-04-17 Rolf Bensch - * backend/pixma.c, backend/pixma_sane_options.c, po/de.po: - New description for device specific option "source". - -2012-04-17 Rolf Bensch - * backend/pixma.c: select first entries of dynamic dpi list - and dynamic mode list as default values after changing the scan source - -2012-04-04 Rolf Bensch - * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: - New scanners Canon Pixma MX510 and Canon Pixma MX890. Both are untested. - -2012-04-04 Rolf Bensch - * backend/pixma.[ch], backend/pixma_mp810.c, po/de.po: color and grayscale - negatives scan in TPU mode, for CS8800F and CS9000F. - -2012-04-04 Rolf Bensch - * backend/pixma_mp810.c: cropping y and h to scanable area in TPU mode, - for CS8800F and CS9000F. - -2012-03-29 Stphane Voltz - * backend/genesys_gl124.c backend/genesys_devices.c: use feed earlier - at high resolution. Tune LiDE 110/210 geometry. - -2012-03-26 Stphane Voltz - * doc/descriptions/unsupported.desc: removed G4010/G4050, - patch by Martin Michlmayr . - -2012-03-25 Mike Kelly - * backends/avision.[ch]: - - Added Xerox Documate 632. - - Added firmware checking for HP5370c scanners. - - Reverted AV610 USB IDs and removed AV_INT_STATUS. - - Fixed warning about printf and size_t. - - Fixed bug using wrong enum in x/y range check. - -2012-03-22 Rolf Bensch - * po/de.po: New German translations for pixma backend. - -2012-03-21 Mike Kelly - * backends/avision.[ch]: - - Added Gray mode support for Kodak i30 and i40. - - Skip post-processing when caching flipping duplex. - - Moved a comment nearer its code. - - Added sane_reload_devices() to sane_init(). - - Corrected the logic to set lines = -1 for ADF mode. - - Fix calculations when flipping back of duplex page. - - Track the number of lines to flip as a negative number. - -2012-03-20 Stphane Voltz - * backend/genesys_*.[ch]: gl841 sheetfed scanners calibration - improvement, fix document end detection when doing dynamic lineart. - Copyrights updates. - -2012-03-19 Gerhard Jaeger - * backend/plustek.c: Fix batch scanning with Plustek backend - Patch submitted and tested by Elias Oltmanns - -2012-03-19 Stphane Voltz - * backend/genesys_devices.c backend/genesys_gl843.c: update HP4850 - geometry and fix initial state - -2012-03-06 Rolf Bensch - * backend/pixma_bjnp.c: Replace index() with strchr(). Bug #313563. - -2012-02-29 Rolf Bensch - * backend/pixma.[ch], backend/pixma_common.c, - backend/pixma_sane_options.[ch]: New device specific option - 'threshold-curve'. Can be used to optimize 1 bit B/W lineart scans. - -2012-02-27 Rolf Bensch - * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, - doc/sane-pixma.man: New scanner Canon imageCLASS MF4410 from - Vasiliy Olekhov. - -2012-02-16 Rolf Bensch - * backend/pixma.c, backend/pixma_sane_options.[ch]: - New device specific option 'gamma'. - -2012-02-09 Rolf Bensch - * backend/pixma.[ch], backend/pixma_common.[ch], - backend/pixma_sane_options.[ch], backend/pixma_mp{150,810}.c: - 1 bit B/W lineart for pixma_mp150 and pixma_810 subdrivers. - -2012-02-06 Rolf Bensch - * backend/pixma_mp150, doc/descriptions/pixma.desc, doc/sane-pixma.man: - New scanner Canon PIXMA MX360. - -2012-02-03 Rolf Bensch - * backend/pixma.h: set PIXMA_VERSION_{MAJOR,MINOR,BUILD} to 0.16.3. - -2012-02-03 Rolf Bensch - * backend/scripts/pixma_gen_options.py: script to generate - backend/pixma_sane_options.c and backend/pixma_sane_options.h - from pixma.c. Found in old pixma project archive file - http://home.arcor.de/wittawat/pixma/mp150-0.13.1.tar.bz2. - -2012-01-31 Rolf Bensch - * backend/pixma.[ch], backend/pixma_imageclass.c, backend/pixma_mp[17]50.c, - backend/pixma_mp730.c, backend/pixma_mp810.c: modify dpi_list dependent on - different scanner capabilities for normal (flatbed) and ADF/TPU modes. - -2012-01-23 Rolf Bensch - * backend/pixma_mp150, doc/descriptions/pixma.desc, doc/sane-pixma.man: - New scanner PIXMA MX880 Series. - -2012-01-21 Ruediger Meier - * backend/canon_dr.h, backend/cardscan.h, backend/dll.c, - backend/epjitsu.h, backend/fujitsu.h, backend/gt68xx.c, - backend/kodak.h, backend/microtek2.h, sanei/sanei_access.[hc]: fix and - cleanup portable PATH_SEP and DIR_PATH defines - * sanei/sanei_scsi.c, tools/sane-find-scanner.c, configure.in, - sane/config.h.in: use the right scsi header on win32. - -2012-01-17 Rolf Bensch - * backend/pixma_mp810.c: Flatbed mode supports max. 4800 dpi. - -2012-01-14 m. allan noah - * backend/Makefile.{am,in}, backend/pixma.[ch], - backend/pixma_common.c, backend/pixma_mp[17]50.c, - backend/pixma_mp810.c, backend/pixma_rename.h, - doc/descriptions/pixma.desc, doc/sane-pixma.man: - Updated Pixma backend from Gernot Hassenpflug. - -2012-01-03 Stphane Voltz - * backend/genesys_gl646.c backend/genesys_gl847.c - backend/genesys_gl43.[ch]: fixd scan line number for gl646 CCD - scanners, improved led calbration for gl847 CIS scanners and G4050 XPA - work progress. - -2011-12-30 Alex Belkin - * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: usb id - for Samsung SCX-3205W, reported by sane tester. - -2011-12-27 Chris Bagwell - * configure.in, configure, config.h.in, sanei_usb.c, - check-usb-chip.c, sane-find-scanner.c: Add check for - libusb-win32 which is API compatible with libusb-0.1 - but has different header file name to prevent conflicts - with Windows own usb.h. Since libusb-1.0 is scheduled to - support Windows (not a forked version), it will probably - work as-is if user has pkg-config installed under mingw. - -2011-12-20 m. allan noah - * backend/fujitsu*, doc/descriptions/fujitsu.desc: backend v109 - - added some MS and INQ information - - increased default buffer size for later machines in config file - - renamed new fi-6xx0Z models - -2011-12-18 Chris Bagwell - * doc/descriptions-external/epkowa.desc: update for new iScan - 2.28.1 release from Olaf Meeuwissen . - -2011-11-29 Stphane Voltz - * backend/genesys.c backend/genesys_low.h backend/genesys_devices.c - backend/genesys_gl847.c: genesys backend build 67, gl847 led and - shadingcalibration improvements. - -2011-11-21 m. allan noah - * backend/fujitsu.[ch]: backend v107 and v108 - - M3091 does not support scanner_control(adf) - - Correct buffer overflow in read_from_3091duplex() - - sane_read() now always calls read_from_*() - - read_from_*() are callable when there is no data, and read to eof - - sane_read() will keep alternate duplex reads to similar length - - Added debugging statements - - Corrected comments - - Updated Copyright - - merged x/y resolution options - - moved page width/height to start of geometry group - - use mode to pick resolution list v/s range - - improved M3091 resolution choices - -2011-11-20 Chris Bagwell - * epson2-commands.c: Include to resolve u_long. - * epson2.c, magicolor.c, xerox_mfp-tcp.c: Include - and to for anyone using setsockopt(). - * sanei_tcp.h: Include since ssize_t is referenced. - * sanei_usb.c: FreeBSD version checks. All changes in this - batch come from FreeBSD ports patches. Bug #312503. - -2011-11-20 Stphane Voltz - * backend/genesys_*.[ch] doc/descriptions/genesys.desc: build - 66. Add hp N6310 and 4850C devices. Fix gl847 calibration. - GL843 XPA support groundwork. - -2011-11-14 Chris Bagwell - * doc/descriptions-external/epkowa.desc: update for new iScan - release from Olaf Meeuwissen . - -2011-11-10 Chris Bagwell - * include/sane/sanei_thread.h, sanei/sanei_thread.c: - Make SANE_Pid map to pthread_t to be compilable - on platforms where pthread_t is not a integer; - namely mingw. - * configure, configure.in, include/sane/config.h.in, - lib/Makefile.am, lib/Makefile.in, lib/sleep.c: Add - a sleep() replacement function; mostly for mingw. - * backend/epson2-ops.c, backend/epson2.c, umax_pp_low.c: - Revert some broken sleep()->usleep() conversions. - -2011-11-09 Chris Bagwell - * configure, configure.in, acinclude.m4: - Convert enable_dynamic to "auto" behavior. Previous - attempt was resulting in it always defaulting to - "yes" and user had to use --disable-dynamic on - platforms that couldn't support it. - * backend/epson2-ops.c, backend/epson2.c, backend/epson2.h: - minor portability changes to epson2. #ifdef some optional - headers and use usleep() instead of sleep(). Switch to - sanei_udb_set_noblock(). - -2011-11-08 Chris Bagwell - * backend/Makefile.*: Finish preload linking fix. - dll.c was being linked in with convienence library. - If it needs to have two behaviors then we need to - create two libraries. Now preloading is working in - libsane.so again and disabled in libsane-dll.so. - * configure.in, configure, README, */Makefile.*: - Update README to describe use of BACKENDS and - PRELOADABLE_BACKENDS to limit backend compiles. - Also, mark those in configure.in as variables so - they show up in "configure --help". - Add back the useful --disable-dynamic and - --disable-preload that appear to have been removed - at some point but are documented in README. - * README.windows: Update info to include mingw - references. - -2011-11-07 Chris Bagwell - * ltmain.sh: Disable sane's soname libtool hack for - mingw platform so that DLL's will be created for - each backin built; just like on unix platforms. - * backend/Makefile.*: Add missing sanei_magic.lo to - libsane backend. - * sanei/sanei_tcp.c sanei/sanei_udp.c include/sane/sanei_udp.h: - Add WSAStartup()/WSACleanup() calls on mingw to get ws2_32 - working. Make util function to set sockets to nonblocking - and make work in unix and mingw platforms. - -2011-11-06 Chris Bagwell - * INSTALL, Makefile.am, */Makefile.in, compile, config.guess, - config.sub, configure, depcomp, include/sane/config.h.in, - install-sh, ltmain.sh, libtool.m4, ltversion.m4, missing, - mkinstalldirs: Update files using autoconf 2.68 and libtool 2.4. - * configure.in, frontend/scanimage.c, include/sane/sanei_tcp.h, - include/sane/sanei_udp.h, lib/inet_ntop.c, lib/inet_pton.c, - sanei/sanei_tcp.c, sanei/sanei_udp.c, tools/sane-find-scanner.c: - Add check for winsock2. Add ws2_32 library when found. Look - for getuid and getpass since not on mingw. - * lib/sigprocmask.c: Comment out logic on windows for now since - it doesn't work. At least it will compile. - * lib/syslog.c: Add a replacement syslog for at least mingw. - * testsuite/Makefile.*: Use $(EXEEXT) so that scanimage can - be ran on windows. - * backend/Makefile.*, backend/dll.c: Modify dll backend - so that libsane-dll does not reference preloaded backends - symbols since its not linking them in. Only libsane - references preloaded backend symbols and also links them - in now. - -2011-11-05 Chris Bagwell - * lib/vsyslog.c, frontend/scanimage.c, include/sane/sanei_tcp.h - include/sane/sanei_udp.h, lib/inet_ntop.c, lib/inet_pton.c, - sanei/sanie_init_debug.c, sanei/sanei_scsi.c, sanei/sanei_tcp.c, - sanei_udp.c, sanei_usb.c: mingw32 compile fixes. Mostly its - not including header files that windows doesn't have and - add winsock.h as needed. Also, do not use signals windows - doesn't have as well. - -2011-11-02 Stphane Voltz - * backend/genesys_*.[ch] backend/Makefile.am backend/Makefile.in: - genesys_gl841.h creation and genesys backend code cleanup - -2011-11-01 m. allan noah - * backend/canon_dr.[ch]: backend v39 - - DR-2580C pads the backside of duplex scans - -2011-11-01 Stphane Voltz - * backend/genesys_gl124.c backend/genesys_gl646.c - backend/genesys_gl841.c backend/genesys_gl843.c backend/genesys_gl847.c - backend/genesys_low.c backend/genesys_low.h: do include - in a clean way - -2011-10-30 Mattias Ellert - * backend/kvs40xx.h: Use portable endian macro from config.h - * backend/kodak.c: Use more precise path to internal headers - * backend/canon630u.c, backend/genesys_gl124.c, - backend/genesys_gl646.c, backend/genesys_gl841.c, - backend/genesys_gl843.c, backend/genesys_gl847.c, - backend/genesys_low.c, backend/hp3900_rts8822.c, - backend/rts88xx_lib.c, backend/xerox_mfp.c, sanei/sanei_pio.c: - Include for definition of u_long on MacOS X - * po/sv.po: Update Swedish translation - -2011-10-21 Stphane Voltz - * backend/genesys.c backend/genesys.h backend/genesys_devices.c - backend/genesys_gl*.c backend/genesys_gl843.h - backend/genesys_low.[ch], doc/sane.man doc/sane-genesys.man - doc/descriptions/genesys.desc: - 1200 and 2400 dpi support for G4010/G4050 - -2011-10-19 Alex Belkin - * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: usb id - for Samsung CLX 3185, reported by John Dignum. - -2011-10-01 Alex Belkin - * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: usb id - for Samsung SCX-4828FN or SCX-4x28 Series, reported by Patrice - Levesque. - -2011-09-16 Nils Philippsen - * doc/sane-hpljm1005.man doc/sane-p5.man: use groff escape sequences in - man pages - * AUTHORS NEWS doc/descriptions.txt doc/*/*.CHANGES - doc/plustek/Plustek-*.txt doc/u12/U12.* - doc/umax/sane-umax-parport-doc.html: encode to UTF-8 - * tools/sane-config.in: use pkg-config - * doc/descriptions/epson2.desc backend/epson_usb.c: add USB id for Epson - Stylus SX125 - -2011-09-07 Stphane Voltz - * backend/genesys_devices.c backend/genesys_low.h - backend/genesys_gl124.c: fix button mapping for LiDE 210 - -2011-08-25 Stphane Voltz - * backend/genesys_gl646.c backend/genesys_low.c backend/genesys_low.h - backend/genesys.c: add a no move during shading calibratiob flag, and - use it for MD5345 - -2011-08-23 Stphane Voltz - * backend/genesys_gl847.c backend/genesys_low.c backend/genesys_low.h - backend/genesys.c backend/genesys_gl124.c backend/genesys_gl843.c: - make sure to use the fatest speed when parking, use lowest sensor dpi - as default resolution - -2011-08-22 Stphane Voltz - * backend/genesys*.[ch]: enable calibration for G4050/G4010 and - minor code refactors - -2011-08-05 Stphane Voltz - * backend/genesys.c backend/genesys_low.c backend/genesys_conv.c: - fixed generic calibration cache for CCD case and when yres is higher - than sensor's maximum one. Fixed lineart data enlarging when yres is - higher than xres. - -2011-07-31 Stphane Voltz - * backend/genesys_gl646.c backend/genesys_gl841.c - backend/genesys_gl843.c backend/genesys_gl847.c backend/genesys_gl124.c - backend/genesys_low.[ch]: is_compatible cache refactor for gl843, - gl847 and gl124 - -2011-07-31 Stphane Voltz - * backend/genesys_gl124.[ch] backend/genesys_gl843.[ch]: - use sanei_genesys_compute_dpihw instead of specific function. - -2011-07-15 Stphane Voltz - * backend/genesys_devices.c backend/genesys_gl646.c - backend/genesys_gl847.c: re-tune scan area of MD5345/MD6228. - parking function clean up. - -2011-07-15 Stphane Voltz - * backend/lexmark.c backend/lexmark_low.c: increase tolerance when - detecting the 'home' dot. - -2011-07-07 Stphane Voltz - * backend/genesys.c: fixed incorrect image height for sheetfed - scanners - -2011-07-07 m. allan noah - * po/pt.po: updated translation from cncsolutions.com.br - -2011-07-06 m. allan noah - * backend/canon_dr.[ch]: backend version 38 - - initial support for DR-5020 - - use ppl_mod instead of Bpl_mod, apply to all modes - - invert logic of read_panel tracking - - add ability to disable read_panel() - - automatically disable read/send_panel if unsupported - * doc/descriptions/canon_dr.desc: status of DR-5020 - -2011-07-06 Stphane Voltz - * backend/genesys_low.h backend/genesys_gl847.c backend/genesys.c - backend/genesys_gl124.c backend/genesys_gl843.c backend/genesys_gl646.c - backend/genesys_gl841.c: improve 4800 dpi quality for LiDE 200 by - increasing the number of lines scan for shading - -2011-07-05 Stphane Voltz - * backend/genesys_low.h backend/genesys_gl847.c backend/genesys_devices.c - backend/genesys.c backend/genesys_gl124.c backend/genesys_gl843.c - backend/genesys_gl646.c backend/genesys_gl841.c: make 4800 pdi work - for Lide200. Calibration cache file leak fix. - -2011-06-30 Olaf Meeuwissen - * frontend/scanimage.c: plug a memory leak in batch mode. - -2011-06-24 Julien Blache - * tools/sane-desc.c: add a wildcard rule for Epson SCSI scanners - with a model string beginning with "SCANNER". Idea from Olaf - Meeuwissen. - -2011-06-21 Julien Blache - * doc/descriptions/epson2.desc: added SCSI IDs for the GT-10000+, - reported by Simon Becherer. - -2011-06-16 Alex Belkin - * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: usb id - for Samsung CLX-216x Series, tested with CLX-2160, reported by Malte - Starostik - -2011-06-15 Stphane Voltz - * backend/genesys.c backend/genesys_gl847.c: lineart fix - -2011-06-13 Stphane Voltz - * backend/genesys_devices.c backend/genesys_gl646.c - backend/genesys_gl646.h doc/descriptions/genesys.desc - doc/sane-genesys.man: add full HP2400 support thanks a patch from - Alexey Osipov - -2011-06-13 Stphane Voltz - * backend/genesys*.[ch] : rework of gl847 to reach 2400 dpi for - LiDE 100 and 4800 dpi for LiDE 200 - -2011-06-10 Stphane Voltz - * backend/lexmark_models.c: fix missing motor initialization - -2011-06-07 Stphane Voltz - * backend/genesys.c backend/genesys.h backend/genesys_conv.c: - add blank page skipping and rotation detection options - -2011-06-06 m. allan noah - * docs/*kvs40xx*, backend/kvs40xx*: New Panasonic KV-S40xx/70xx - backend, originally by Panasonic Russia. - * acinclude.m4, */Makefile.am, configure*: build new kvs40xx backend - * po/POTFILES: add kvs* backends - * po/.gitignore: ignore sane-backends.pot - * include/sane/sanei_magic.h, sanei/sanei_magic.c: - add new blank detection and rotation detection routines - * backend/kvs1025*, backend/Makefile*: add support for sanei_magic - -2011-06-02 Julien Blache - * tools/sane-desc.c: add udev+acl output mode, udev rules using ACLs - for the scanner group instead of making the device root:scanner 0664. - This is designed to help with MFPs and play nice with ConsoleKit. - -2011-04-20 Stphane Voltz - * backend/genesys_low.c backend/genesys_devices.c - backend/genesys.conf.in: add Xerox 2400 onetouch model and improve - big endian handling - -2011-03-19 Julien Blache - * tools/sane-desc.c: move away from using power/level for disabling - USB autosuspend/power management and use power/control if available. - -2011-03-18 Stphane Voltz - * backend/genesys_low.c backend/genesys.c : rewrite big endian fixes - for gl847/gl124 based scanners. Improve calibration cache file handling. - -2011-03-17 Stphane Voltz - * backend/genesys_low.c: big endian fixes for gl847/gl124 based - scanners. Patch by Olaf Zimmermann . - -2011-03-15 Stphane Voltz - * backend/Makefile.in backend/canon_dr.[ch]: fixes to allow full - static build under cygwin - -2011-03-12 Troy Rollo - * backend/hp3500.c: Remove interdependency between contrast and - brightness. - -2011-03-12 Julien Blache - * doc/scanimage.man: batch-start defaults to 1 if not specified, - not 0. Reported by Jakub Wilk . - -2011-03-12 Troy Rollo - * backend/hp3500.c: Add grayscale and line art scanning. Add contrast - and brightness controls which influence the calibration data provided - to the scanner. - -2011-03-06 Ilia Sotnikov - * backend/hp5590.c, backend/hp5590_cmds.{c,h}: in ADF modes the device can - scan up to 14", which is usually bigger than what scanner reports back - during initialization - * backend/hp5590.c, backend/hp5590_cmds.{c,h}, backend/hp5590_low.{c,h}: - fixed detection of HP4500 devices (tested) and HP5550 (untested) - these - devices need no reading USB-in-USB acknowledgement after each command. To - achieve that, proto_flags are passed down to low-level functions. These - flags are taken from device descriptions - * backend/hp5590_low.{c,h}: fixed up get_status command - index should - be 0x00, not 0x20 - * backend/hp5590.c: bump up the backend version - -2011-03-04 Julien Blache - * frontend/saned.c: define PATH_MAX if needed, fixes build on - HURD. Patch from Pino Toscano . - -2011-02-16 Julien Blache - * backend/v4l.c, backend/v4l.h: fix build with libv4l 0.8.3+. - -2011-02-13 m. allan noah - * doc/releases.txt: minor updates - -Older entries can be found in ChangeLog-1.0.22. diff --git a/ChangeLog-1.0.3 b/ChangeLog-1.0.3 deleted file mode 100644 index dad5f74..0000000 --- a/ChangeLog-1.0.3 +++ /dev/null @@ -1,791 +0,0 @@ -2000-08-12 Petter Reinholdtsen - - * configure.in aclocal.m4 configure NEWS: New version 1.0.3. - Updated release date and removed freeze markers. - -2000-08-12 Oliver Rauch - * changed tools/sane-desc.el sane.gif->sane.png - -2000-08-10 Henning Meier-Geinitz - * backend/avision.c: Changed // comment to /* */. This broke - compilation on AIX cc, Irix cc and Sun cc. - -2000-08-10 Rene Rebe - * backend/avision.h: some updates + cleanups - * backend/avision.c: use of DB () and sane_config_read () - general cleanups (sorry for the big commit - I used Emacs auto-ident - for some regions ...) - -2000-08-07 Henning Meier-Geinitz - - * README.irix: Removed text about library version problems. - * README.linux: Added comment about idescsi problems. - * ltmain.sh: Changed Irix library version system (from Oliver Rauch). - This should fix the library version problems under Irix. - * backend/Makefile.in: Added all files in lib/ to LIBLIB. This fixes - a bug concerning linking with external frontends. - -2000-08-06 Henning Meier-Geinitz - - * backend/plustek.c: Removed "const" from function header. This fixes - a compilation problem on aix/cc. - * configure configure.in: Additional warnings are now disabled by - default for the 1.0.3 realease. - -2000-08-06 Henning Meier-Geinitz - - * backend/hp4200.desc: Added description file for HP 4200 USB - scanner. - -2000-08-05 Henning Meier-Geinitz - - * AUTHORS: Added link to PROJECTS. - * PROJECTS: Removed frontends that are included in the SANE - distribution. Added frontends: sanecgi, scanadf. Removed backends - Kodak DS-20 (old camera, no specs available, not interested anymore), - Logitech (old handscanner, author not interested anymore). Added - backends as6e (Artec AS6E), bh (Bell and Howell Copiscan), lhii - (handheld scanner support), Mustek USB, nec (NEC PC-IN500/4C), - v4l2 (Video for Linux 2). Added/updated information about SANE - ports: BeOS, OS/2, win32. Added Information about WinSANE and - TWAIN interface for xsane-win32. Added link to AUTHORS and README. - Changed format. Added explanation for statuses. - * README: Added link to PROJECTS. - * README.irix: New file. Information about the library version and - jpeg library problems. - * backend/as6e.desc: New description file for the Artec AS6E. - * backend/bh.desc: New description file for Bell and Howell Copiscan - scanners. - -2000-08-03 Henning Meier-Geinitz - - * PROJECTS: Removed backends that are included in SANE. Updated - info for Primax. Added HP 4200. - -2000-08-02 Henning Meier-Geinitz - * NEWS: Updated backend versions. - * backend/hp*.c: Changed include statements from #include - to #include "sane/...". - -2000-08-02 Petter Reinholdtsen - - * backend/v4l.c: Check return value of ioctl() calls. Use DBG() - instead of syslog() report progress. Removed redundant check for - trailing newline in config file as we are now using - sanei_config_read(). Remove ioctl(VIDIOCSYNC), as it hangs on my - v4l2 device. - -2000-07-31 Henning Meier-Geinitz - * backend/mustek.*: Update to Mustek backend 1.0-96. Fixed Problem - with detecting some three-pass scanners. - -2000-07-31 Henning Meier-Geinitz - * doc/sane.tex: Chapter 4 said, that this was standard version - 0 (draft). Changed to 1 and removed "(draft)". - -2000-07-31 Henning Meier-Geinitz - * sanei/sanei_DomainOS.c sanei/sanei_ab306.c sanei/sanei_codec_ascii.c - sanei/sanei_codec_bin.c sanei/sanei_config.c sanei/sanei_config2.c - sanei/sanei_constrain_value.c sanei/sanei_init_debug.c - sanei/sanei_load_values.c sanei/sanei_net.c sanei/sanei_pa4s2.c - sanei/sanei_pio.c sanei/sanei_save_values.c sanei/sanei_scsi.c - sanei/sanei_thread.c sanei/sanei_wire.c sanei/test_wire.c: Changed - include statements from #include to #include "sane...". - * PROBLEMS: Updated Mustek entry. - * TODO: Updated some entries that are done. - * backend/avision.c backend/plustek.c: Changed include statements from - #include to #include "sane...". - -2000-07-30 Peter Kirchgessner - - * backend/hp.desc: Change Parallel to Parport in description - -2000-07-30 Oliver Rauch - * changed all to "config.h" in lib/*.c - -2000-07-30 Henning Meier-Geinitz - - * backend/mustek.*: Update to Mustek backend 1.0-95. Changed from - wait() to waitpid() and removed unused code. - * configure configure.in backend/m3096g.c backend/sp15c.c: Reverted - the V_REV patch. V_REV should not be used in backends. - -2000-07-30 Henning Meier-Geinitz - - * configure configure.in: Add V_REV to CPPFLAGS (only V_MAJOR and - V_MINOR were defined until now). - * doc/.cvsignore: Added sane-coolscan.5. - -2000-07-29 Henning Meier-Geinitz - - * backend/sp15c.c backend/m3096g.c: Replace fgets with - sanei_config_read, return V_REV as part of version_code string - (patch from Randolph Bentson). - -2000-07-29 Chris Pinkham - - * backend/artec.c: Changed include statements from #include - to #include "sane...". - -2000-07-29 Henning Meier-Geinitz - - * backend/GUIDE: Added some comments about portability and - documentation. - * backend/abaton.c backend/agfafocus.c backend/apple.c - backend/canon.c backend/coolscan.c backend/dc210.c backend/dc25.c - backend/dll.c backend/dmc.c backend/microtek.c backend/microtek2.c - backend/microtek2.c backend/mustek_pp.c backend/net.c backend/pint.c - backend/pnm.c backend/qcam.c backend/ricoh.c backend/s9036.c - backend/sane_strstatus.c backend/sharp.c backend/snapscan.c - backend/st400.c backend/stubs.c backend/tamarack.c backend/v4l.c: - Changed include statements from #include to - #include "sane...". - * backend/avision.c backend/dc25.c: Use DBG(0, ...) instead of - fprintf (stderr, ...) - * backend/avision.c backend/canon-sane.c backend/coolscan.c - backend/dc25.c backend/microtek.c backend/microtek2.c - backend/st400.c: Use sanei_config_read() instead of fgets(). - * backend/coolscan.desc backend/microtek.desc backend/microtek2.desc - backend/st400.desc: Added :interface and :manpage entries. - * backend/nec.desc: Status is beta now (was: new). Fixed typo. - * doc/canon.README: Removed, because the information is included in - the manpage now. - * doc/Makefile.in: Added sane-coolscan to list of mapages to install. - * README: Added Link to coolscan manpage. - * backend/mustek.*: Update to Mustek backend 1.0-94. Fixed the - #include bug. - -2000-07-29 Karl Heinz Kremer - - * backend/epson.c: Changed the include statements for SANE includes - from #include <...> to #include "..." - -2000-07-28 Chris Pinkham - - * backend/aretc.c: Corrected sane_close() bug. Converted to use - sanei_config_read() instead of fgets(). - * backend/artec.desc: Changed interface entry to "Parport" vs "Parallel" - -2000-07-28 Henning Meier-Geinitz - - * ltmain.sh: Added underscore to sed expression for removing - backendname from soname (needed for libsane-mustek_pp). - * sane.lsm: Added keywords for new backends. - * lib/isfdtype.c: Added implementation for platforms that lack - isfdtype() (mostly from Olly Betts). - * backend/v4l.desc: Activated man page entry. - * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend - 1.0-93. Fixed color scanning for Paragon 600 II N firmware 1.02. - Fixed possible segfault in sane_control_option() when info is 0. - Removed some compiler warnings. - * NEWS: Updated Mustek backend version, added Artec, fixed typo - * doc/Makefile.in doc/sane-snapscan.man doc/sane-canon.man README - backend/snapscan.desc backend/canon.desc backend/.cvsignore: - Added manpage for canon and snapscan backends. Added :interface - entry for canon. - * backend/canon-sane.c: Fixed possible segfault in - sane_control_option() when info is 0. - -2000-07-22 Petter Reinholdtsen - - * backend/v4l.c: Bugfix: Avoid crashing in - sane_control_option() when last param is NULL. - -2000-07-25 Chris Pinkham - - * backend/artec.c: Updated to v0.5.14. Added "Negative" mode as option - even when in color/greyscale modes. Fix sane_close() bug. Fixed bug - in sane_get_option_descriptor that allowed invalid option number. - Changed numerous int variables to size_t to eliminate warnings. - Changed various elements in ARTEC_Scanner structure to SANE_Int - instead of int. Replaced all fprintf() statements with DBG(). - * backend/artec.desc Added interface entries. - -2000-07-26 Karl Heinz Kremer - - * backend/epson.c: Fixed problem with Perfection610 scanner. - The variable s->color_shuffle_line was not correctly initialized. - * backend/epson.desc: Updated version number - -2000-07-26 Oliver Rauch - * added info about variable scsi buffer sizes defined by backends - umax, mustek, sharp (via sanei_scsi_open_extended()) to - man sane-scsi - -2000-07-25 Henning Meier-Geinitz - - * backend/snapscan.c: Use DBG(0, ...) instead of fprintf (stderr, ...) - * backend/abaton.c backend/agfafocus.c backend/apple.c backend/dc210.c - backend/dll.c backend/dmc.c backend/microtek2.c backend/pint.c - backend/qcam.c backend/ricoh.c backend/s9036.c backend/snapscan.c - backend/tamarack.c: Use sanei_config_read instead of fgets. - * backend/dc210.c backend/microtek.c backend/pnm.c: Added - #include . - * backend/dc25.c backend/m3096.c backend/m3096g.c backend/sp15.c - backend/st400.c: Moved #include to the beginning. - * AUTHORS: Changed agfa to agfafocus. - -2000-07-25 Peter Kirchgessner - - * backend/hp.c hp-scl.c hp-option.c hp-handle.c hp-accessor.c - remove inline stuff - -2000-07-25 Henning Meier-Geinitz - - * configure.in configure include/sane/config.h.in - include/sane/sanei_backend.h: Moved test for u_int* to configure. - * include/sane/sanei_debug.h: Remove #warning (Irix compiler doesn't - like this) - * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend - 1.0-92. Changed linedistance correction for MFS-8000SP. Fixed - margin positions and removed warning for MFS 6000CX. Warning is - printed in debug level 0 again. Removed test for gamma length. - Fixed (partly) ADF handling. Man page update. More details in - mustek.CHANGES. - * NEWS: updated for new Mustek backend version. - -2000-07-20 Peter Kirchgessner - * backend/hp.c: use sanei_config_read() instead of fgets - * backend/hp-scl.c: Dont write chars < 32 to DBG - -2000-07-20 Abel Deuring - * backend/sharp.c: removed fgets-call + minor bugfix - * backend/sharp.desc: added entry ":manpage" - * sanei/sanei_scsi.c: added missing dummy function - sanei_scsi_req_flush_all_extended - -2000-07-18 Henning Meier-Geinitz - - * configure.in configure: Fixed --enable-warnings to work as - advertised. - -2000-07-18 Petter Reinholdtsen - - * configure.in configure include/sane/config.h.in lib/Makefile.in - lib/getenv.c lib/isfdtype.c lib/vsyslog.c - sanei/sanei_init_debug.c: OS/2's getenv() is useless, OS/2, - Solaris and AIX is missing isfdtype() and AIX is missing - vsyslog(). Implement replacement functions. - -2000-07-17 Henning Meier-Geinitz - - * backend/snapscan.c backend/snapscan-scsi.c: Replace C++ comment - with C comment. - -2000-07-17 Henning Meier-Geinitz - - * include/sane/sanei_backend.h: Replace C++ comment with C comment. - -2000-07-17 Henning Meier-Geinitz - - * backend/musteka4s2.desc: Removed. Now that the mustek_pp - backend is part of SANE musteka4s2 is no longer neccessary. - If somebody really wants to use the old musteka4s2 sources - he will find a link on the mustek_pp WWW page. - -2000-07-16 Jochen Eisinger - - * backend/mustek_pp.c: Replaced fgets() with sanei_config_read() - -2000-07-16 Petter Reinholdtsen - - * include/sane/sanei_debug.h: Fix typo. - -2000-07-15 Karl Heinz Kremer - - * backend/epson.c: Replaced fprintf() with DBG() - - * backend/epson.desc: updated version number - -2000-07-15 Henning Meier-Geinitz - - * backend/dc210.c: Replaced fprintf (stderr, ...) by DBG (). - -2000-07-15 Henning Meier-Geinitz - - * doc/Makefile.in doc/sane-dc210.man doc/sane-v4l.man - doc/.cvsignore: Added manpages for dc210 and v4l. These - are just standard manpages. Please check and update them. - - * README: Added dc210, v4l and mustek_pp entries. - -2000-07-15 Henning Meier-Geinitz - - * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend - 1.0-90. Fixed linedistance-handling for Paragon 8000SP. Fixed - mustek.conf port entry. Updated man page (parallel port - scanners and 600 II N). - - * NEWS: Updated (mustek backend version 1.0-90) - - * backend/dll.conf: Commented out mustek_pp on behalf of the - maintainer - - * doc/.cvsignore: added sane-mustek_pp.5, sane-plustek.5 and - sane-st400.5 - -2000-07-15 Andreas Rick - - * backend/coolscan.c: added missing initialization in - coolscan_read_data_block() - -2000-07-13 Petter Reinholdtsen - - * AUTHORS backend/dll.conf backend/Makefile.in backend/mustek_pp.c - backend/mustek_pp.desc backend/mustek_pp.h backend/mustek_pp.conf - doc/Makefile.in doc/sane-mustek_pp.man: New backend for - ScanExpress 6000 P, ScanMagic 4800 P, 600 III EP Plus, ScanExpress - 600 SEP and MD9848 from Jochen Eisinger. - - * backend/snapscan-310.c backend/snapscan-scsi.c - backend/snapscan-sources.c backend/snapscan-sources.h - backend/snapscan-utils.c backend/snapscan.c backend/snapscan.desc - backend/snapscan.h: New snapscan backend version dated 20000514 - from Steve Underwood. - - * backend/microtek2.h backend/microtek2.c backend/microtek2.desc: - Add support for ScanMaker X6USB. Patch from Oliver Neukum. - - * README.os2 configure.os2 include/sane/sanei_backend.h - sanei/os2_srb.h sanei/sanei_init_debug.c backend/dll.c - backend/net.c frontend/saned.c : Some of the OS/2 patches from - Yuri Dario. - - * frontend/saned.c: Correct cancel handling in saned. Patch from - Jochen Eisinger. - -2000-07-12 Ingo Wilken - - * frontend/scanimage.c, doc/scanimage.man: Support for - environment variable SANE_DEFAULT_DEVICE. - -2000-07-11 Ingo Wilken - - * backend/st400.c, backend/st400.conf, backend/st400.h, - doc/sane-st400.man: new files - * backend/st400.desc: updated information - * README, backend/Makefile.in, doc/Makefile.in: added st400 backend - * AUTHORS: added myself as maintainer of st400 backend - -2000-07-09 Peter Kirchgessner - - * doc/sane-hp.man: Updated manual page (scantype --> scan source) - -2000-07-09 Peter Kirchgessner - - * backend/hp-handle.c, hp-scl.c, hp-scl.h, hp.c, hp.h, hp-option.c - hp-option.h: Add wait for front panel button - - * backend/hp.desc: Changed version to 0.88 - -2000-07-09 Andreas Rick - - * AUTHORS: added myself as maintainer of the coolscan backend - - * README: added Coolscan page link - - * doc/sane-coolscan.man: first version of Coolscan manpage - -2000-07-09 Gerhard Jaeger - - * AUTHORS: added myself as maintainer of the Plustek backend - - * README: added Plustek manpage entry - - * backend/plustek.desc: updated description - - * backend/plustek.c backend/plustek.h backend/plustek-share.h - backend/plustek.conf: added Plustek backend code - - * backend/Makefile.in doc/Makefile.in backend/dll.conf: - added plustek entries - - * doc/sane-plustek.man: added manpage for Plustek backend - -2000-07-09 Petter Reinholdtsen - - * sanei/sanei_thread.c: Add required include files to get this to - compile almost without warnings on Unix. - - * frontend/Makefile.in frontend/scanimage.c frontend/stiff.h - frontend/stiff.c doc/scanimage.man: Add 16 bit support and new - option --format to change file format. Makes it possible to save - uncompressed TIFF images. Patch from Peter Kirchgessner. - - * backend/microtek2.c: Add ScanMaker X6USB identifier. Patch from - Oliver Neukum. - -2000-07-07 Petter Reinholdtsen - - * acinclude.m4 configure.in aclocal.m4 configure: New autoconf - test SANE_V4L_VERSION. - - * AUTHORS: Added myself as CVS repository maintainer. - - * include/sane/sanei_debug.h sanei/sanei_init_debug.c: Send debug - messages to syslog if stderr is a socket. - -2000-07-06 Petter Reinholdtsen - - * configure configure.in: Change "you're" to "you are" to avoid - confusing emacs font-lock mode. Regenerated configure. - - * backend/v4l.c: Fix sane_close() bug. - -2000-07-02 Peter Kirchgessner - - * backend/hp.desc added interface entries - - * backend/hp.c, backend/hp-handle.c - ADF-support for ScanJet IIp - Return error SANE_STATUS_NO_DOCS if no paper in ADF - -2000-06-30 Henning Meier-Geinitz - - * backend/mustek.* Update to Mustek backend 1.0-89. Fixed "scan - slider doesn't return to start" bug. Details in - backend/mustek.CHANGES. - - * backend/nec.desc backend/dc25.desc backend/m3096g.desc: Added - :interface entries. Updated email adderess. - -2000-06-28 Karl Heinz Kremer - - * backend/epson.c Fixed sane_close() - when the scanner still had - data to deliver at the time the scanner was closed, it was impossible - to restart any frontend software. This also caused scanimge -T to - work just once. - -2000-06-28 Henning Meier-Geinitz - - * backend/mustek.* Update to Mustek backend 1.0-88. Small bugfixes. - Details in backend/mustek.CHANGES. - - * backend/sp15.desc backend/dc25.desc backend/m3096g.desc: Added - :interface entries. - -2000-06-28 Oliver Rauch - * Updated umax backend to version 1.0.21 - take a look at backend/umax.CHANGES for details - - updated umax.desc, umax manpage - -2000-06-28 Abel Deuring - * backend/sharp.esc: added "interface" entries - -2000-06-28 Henning Meier-Geinitz - - * backend/pint.c: fixed sane_close bug - - * backend/microtek.c: fixed compilation problem with NDEBUG - defined - -2000-06-27 Henning Meier-Geinitz - - * backend/lhii.desc: added :interface - * README.linux: added reference to Linux SCSI documentation (from - Abel Deuring) - -2000-06-26 Henning Meier-Geinitz - - * backend/musteka4s2.desc: Added all more scanners and - :interface entries - * backend/sagitta.desc: Removed on behalf of the author. Nobody - has showed interest in this very old (and rare) scanner over - the years. It's difficult to keep it up-to-date because a kernel - module is neccessary. Nobody volunteered to take over - maintainership. - * backend/tamarack.c: Changed all fprintf to DBG calls. - -2000-06-26 Abel Deuring - * sanei/sanei_scsi.c and include/sanei/sanei_scsi.h: - new functions sanei_scsi_cmd2 and sanei_scsi_req_enter2 - for proper handling of "unusual" SCSI commands lengths - * backend/canon-scsi.c: call sanei_scsi_cmd2, where necessary - -2000-06-25 Ren Rebe - * backend/avision.c: fixed sane_close () bug - * backend/avision.desc: added some more scanners - -2000-06-25 Henning Meier-Geinitz - - * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend - 1.0-87. Fixed gamma correction for 1200 A3 Pro. Fixed dependancy - of mustek.h on sane-backends.h. Fixed debug output bug in - fix_linedistance_se. Updated documentation and mustek.conf. - - * README: Added v4l and fixed typo. - -2000-06-25 Karl Heinz Kremer - - * backend/epson.desc - Changed Parallel to Parport - -2000-06-25 Henning Meier-Geinitz - - * doc/Makefile.in doc/sane-s9036.man doc/sane-tamarack.man - doc/sane-ricoh.man doc/sane-avision.man doc/xcam.man .cvsignore: - Added manpages for these backends and xcam. - - * frontend/xcam.README: removed because manpage now exists. - - * backend/plustek.desc backend/qcam.desc backend/ricoh.desc - backend/s9036.desc backend/tamarack.desc backend/avision.desc - backend/st400.desc: Updated :interface and :manpage information. - - * README: Updated information regarding documentation. - - * backend/tamarack.c: Changed printf(...) to fprintf(stderr,...) - on behalf of the maintainer. - -2000-06-25 Petter Reinholdtsen - - * backend/Makefile.in backend/v4l.desc backend/v4l.c: V4L backend - corrections. Corrected dependencies. Removed () in version - number, as this backend is now included in the distribution. More - debug info and use sanei_config_read() instead of fgets() in - backend. - -2000-06-23 Karl Heinz Kremer - - * backend/epson.desc - added :interface information - -2000-06-23 Petter Reinholdtsen - - * AUTHORS: Added Juergen G. Schimmer as author of the v4l backend. - - * configure.in backend/Makefile.in backend/dll.conf - backend/v4l-frequencies.h backend/v4l-grab.h backend/v4l.c - backend/v4l.conf backend/v4l.desc backend/v4l.h: Added Video4Linux - backend from Juergen G. Schimmer. - -2000-06-22 Henning Meier-Geinitz - - * include/sane/sanei_pa4s2.h sanei/sanei_pa4s2.c Makefile.in - backend/Makefile.in sanei/Makefile.in: Added interface for - Mustek parallel port scanners (from Jochen Eisinger - ). This will be used by the Mustek - parallel port backend mustek_pp (coming soon). - - * tools/sane-desc.el backend/template.desc.: Added support for - "interface" column in sane-desc.el. The new keyword is - ":interface", examples in "template.desc.". All maintainers - should update their *.desc files. - - * backend/mustek.desc abaton.desc agfafocus.desc apple.desc - dc210.desc dmc.desc qcam.desc ricoh.desc s9036.desc snapscan.desc - tamarack.desc: added interface entry for the Mustek and - unmaintained backends. - - * backend/abaton.c apple.c qcam.c tamarack.c: fixed sane_close () - bug for the unmaintained backends. - -2000-06-18 Henning Meier-Geinitz - - * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend - 1.0-86. Added support for Mustek Paragon 1200 A3 pro (1, 8, and 24 - bit/pixel; calibration doesn't work yet). Removed some remainings - of color lineart and halftone support. More debugging - output. Fixed bug in sane_control_option (option was not checked - for negative values). Fixed bug in sane_close. General code - cleanup. Details in backend/mustek.CHANGES. - -2000-06-13 Karl Heinz Kremer - * backend/epson.*: Invert image when scanning negative off the TPU. - Initialize optial_res to 0. Fix sane_close() bug. Make threshold - only active when halftoning is off and scan depth is 1. Make - film type only active when TPU is selected. Scanner based - color correction. More constraints for GUI. Cleanup in option - handling. - -2000-05-21 Henning Meier-Geinitz - - * backend/mustek.*: Update to Mustek backend 1.0-85. Added double - buffering. This may improve scan performance a bit. Removed - dead code (in dev_read_start). Changed linedistance correction - handling. Paragon 12000 SP color mode might work now with all - firmware versions. Details in backend/mustek.CHANGES. - -2000-05-27 Karl Heinz Kremer - * backend/epson.[ch] Support for multiple EPSON scanners added - Fixed Perfection 610 color problem - -2000-05-26 Abel Deuring - * sanei/sanei_scsi.c: Fixed a bug in the Linux queue handling, - as suggested by Simon Munton - -2000-05-22 Oliver Rauch - * ltconfig: Added option "-X" to ldconfig for linux-gnu - this solves the problem with link /usr/local/libs/sane/libsane.so.1 => libsane-umax.so.1 - -2000-05-21 Henning Meier-Geinitz - - * README: Added quick install. Removed list of supported platforms - because it is unknown how accurate it is at the moment. Added - description for --enable-scsibuffersize (partly from Abel - Deuring). Removed operating system specific information. See - README.* files instead. Added comment to read the PROBLEMS file. - Added/changed list of available documentation. Added comment on - possible causes for the frontends not detecting scanners. Added - comment on tools directory. Headings should be easier to find now. - - * README.aix: New file. Extracted from README. - - * README.hp-ux: New file. Extracted from README. - - * README.linux: New file. What is needed to get SCSI scanners to - work under Linux. Workaround for Adaptec 1542 users (from Abel - Deuring) - -2000-05-18 Henning Meier-Geinitz - - * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend - 1.0-82. Added shrinked image fix to ScanExpress 12000SP models - <= v2.0. Fixed remaining sane_cancel problems (in non_blocking - mode). Fixed color stripes and segmentation fault for Paragon - MFS-12000SP 1.00 (at least for me). Some minor debug output - additions and changes. Look at backend/mustek.CHANGES for more - details. - - * doc/.cvsignore: Added missing sane-sharp.5 - -2000-05-07 Henning Meier-Geinitz - - * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend - 1.0-81. Added transparency adapter (TA) support for all Mustek - scanners. Fixed shrinked image bug for the ScanExpress 6000SP. - Removed unused options (3-pass scanners and 600 II N). Scan - source selection now shows only the options currently available. - Fixed a bug concerning the ADF handling. sane_init () now uses - sanei_config_read () and sanei_config_get_string () instead of - its own functions. Man page and .desc update. Look at - backend/mustek.CHANGES for more details. - -2000-04-27 Karl Heinz Kremer - - * backend/epson.* Some code cleanup, added support for GRB - images and did some Gamma correction fixes for the Perfection - 610. - -2000-04-27 Petter Reinholdtsen - - * include/sane/sanei_debug.h: Bugfix. Make sure the source - compiles even if NDEBUG is defined. - -2000-04-23 Henning Meier-Geinitz - - * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend - 1.0-80. Adjusted scan areas for most scanners. Added transparency - adapter support for all Paragon legal size scanners. Fixed color - mode for the Paragon MFS-8000SP (gamma problems). New system to - set buffersize using sanei_scsi_open_extended. Removed (maybe - temporarily) support for SCSI queue. Fixed shrinked image bug with - the ScanExpress 12000SP. Fixed positional options detection - (from mustek.conf). Added option "buffersize". Adjusted - mustek.conf template to more reasonable defaults. Lots of - small fixes and more complete debugging output. Look at - backend/mustek.CHANGES for more details. - -2000-04-15 Andreas Rick - - * backend/coolscan.* Update coolscan backend to version 0.4.3. - This version includes support for the newer Nikon Coolscan - models LS-30 and LS-2000. Dustremoval is not yet included. - -2000-04-09 Henning Meier-Geinitz - - * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend - 1.0-79. Changed version system. Linedistance correction for - the 600 II N is fixed. Added output of scanning time. Rewrite - of the resolution encoding for the 3-pass scanners. Look at - backend/mustek.CHANGES for details. - -2000-04-05 Oliver Rauch - * Updated umax backend to version 1.0.2-build-20 - take a look at backend/umax.CHANGES for details - -2000-04-05 Henning Meier-Geinitz - - * frontend/xscanimage.c, frontend/preview.c: Fixed a small bug - concerning 3-pass scanners. gdk_input_add() was called three times - without a preceding gdk_input_remove(). - - * frontend/scanimage.c: Fixed a bug where the scan was cancelled - after a test for low mem even if enough memory is available. This - probably only affected 3-pass scanners. - -2000-04-02 Henning Meier-Geinitz - - * backend/mustek.*: Update to Mustek backend 0.78. Fixed several - small bugs and spelling errors. Adjusted scanner names to Mustek - style. Inquiry is even more verbose now. Look at - backend/mustek.CHANGES for details. - -2000-03-27 Karl Heinz Kremer - * backend/epson.c backend/epson.desc: Removed - status request for push button. This caused an - error on older scanners. Fixed a few typos in - the .desc file and added GT-9000 scanner. - -2000-03-23 Oliver Rauch - * updated umax backend to version 1.0 build 19 - for details read backend/umax.CHANGES - -2000-03-22 Karl Heinz Kremer - * backend/epson.*: Several fixes for minor problems. - Fixed function level A4 scanners (line mode instead - of byte mode). Removed unnecessary free() calls. - Use extended status for recognize warm up. This fixes - problems with TPU and occasional crashes during startup. - Added D1 level for Perfection 610. - Added first version of support for set threshold and set - zoom. - -2000-03-19 Henning Meier-Geinitz - - * backend/mustek.c: Updated backend to new version 0.76. Fixes for - 600 II N (color stripes, cancel handling), ScanExpress ("XC06" is - now recognized), MFS-1200SP (linedistance correction in high - resolutions, patch from Andreas Beck), STORE makros (patch from - Norbert Mueller), ADF (patch from Joerg Anders), firmware - identification (patch from Marco G. Salvagno), sane_cancel (scan - will now be cancelled immediately, no new sane_read necessary), - sane_get_option_descriptor (test for option < 0). Added a more - verbose inquiry output. Adjusted debug levels. Changed the model - names (sane.model) to reflect the real scanner names. Removed some - compiler warnings. Added new maintainer. - - * backend/mustek.desc: Added link to backend homepage. Added all - the different scanner names used for the same model. Added Trust - scanners known to work. Removed firmware versions and scanner ids. - - * backend/mustek.CHANGES: New file. More detailed changes for the - Mustek backend. - - * doc/sane-mustek.man: Documentation for the 600 II N linedistance - options. Added warning from PROBLEMS. Added link to backend homepage. - Changed supported scanners list (see mustek.desc). Added more bug - entries. - - * AUTHORS: Added new maintainer and email address - -2000-03-18 Petter Reinholdtsen - - * backend/Makefile.in tools/libtool-get-dll-ext: New script to - detect shared library endings without using 'rev' which is missing - on some platforms. - -2000-03-14 Petter Reinholdtsen - - * sanei/sanei_scsi.c: Test for 'USE == LINUX_INTERFACE' instead of - defined(__linux__). - -2000-03-14 Abel Deuring - - * new version of ths Sharp backend (0.31): added support for the - JX350 (Thanks to Shuhei Tomita for providing the patch) - -2000-03-07 Petter Reinholdtsen - - * Makefile.in (lsm) sane.lsm sane-1.0.1.lsm: New target to - generate Linux Software Map (LSM) entry from template. Remove old - file. - diff --git a/ChangeLog-1.0.4 b/ChangeLog-1.0.4 deleted file mode 100644 index 94a64aa..0000000 --- a/ChangeLog-1.0.4 +++ /dev/null @@ -1,729 +0,0 @@ -************************ Release of sane-backends 1.0.4 ********************** - -2000-12-22 Henning Meier-Geinitz - - * configure configure.in: Changed version to 1.0.4 and package to - sane-backends (from Oliver Rauch - - * TODO: Some points about OS/2 compilation problems. - -2000-12-17 Henning Meier-Geinitz - - * TODO: More details for net/saned problems. - -2000-12-16 Jochen Eisinger - - * TODO: removed entry about net.c seg-faulting when saned isn't - loaded or timed-out - -2000-12-16 Henning Meier-Geinitz - - * configure configure.in: Disable warnings by default for release. - * sanei/sanei_wire.c: Fixed typo. - -2000-12-16 Jochen Eisinger - - * sanei/sanei_wire.c: added test for negative parameter to memcpy() - -2000-12-15 Gerhard Jaeger - - * fixed wrong options in sane-plustek.man - -2000-12-12 Oliver Rauch - - * corrected backend version in umax.desc - -************************** Code freeze for SANE 1.0.4 ** ********************* - -2000-12-12 Henning Meier-Geinitz - - * NEWS: Updated/corrected version numbers of backends. - -2000-12-10 Henning Meier-Geinitz - - * doc/sane-scsi.man: Small changes/updates concerning Linux - 2.2. Updated entries about Adaptec cards, NCR53c400/Domex 3181 - cards, NCR 810 cards. Removed direct links to some backends. - * doc/sane-snapscan.man: Added link to new snapscan website. - -2000-12-10 Henning Meier-Geinitz - - * backend/mustek.c backend/mustek.desc backend/mustek.CHANGES: - Fixed wrong comment in encode_resolution. Added missing test for - return status in sane_start. Fixed wrong calculation of tlx and - tly for Pro series scanners. Increased version number. - -2000-12-09 Karl Heinz Kremer - - * backend/epson.c: Fixed user defined gamma curve for - inverted images. When scanning negatives the gamma curve - was applied incorrectly. Fixed debug output for user defined - gamma curves - no [epson] in between values anymore. - -2000-12-09 Peter Kirchgessner - - * doc/sane-hp.man, backend/hp.desc - Add HP ScanJet 6390C to list of supported scanners - -2000-12-07 Henning Meier-Geinitz - - * TODO: Updated. Removed entries about plustek comment problembelm - and libsane.la. Added entry about disabling local scanning. - -2000-12-07 Gerhard Jaeger - - * backend/plustek-share.h backend/plustek.h backend/plustek.c - removed warning conditions - fixed a bug that causes wrong frontend displays - fixed problem when driver returns error during read - -2000-12-05 Henning Meier-Geinitz - - * NEWS: Updated backend versions. Added point about compilation fixes - on Irix and FreeBSD. - * backend/mustek.c backend/mustek.desc backend/mustek.CHANGES: - Fixed problem with lamp control of SE scanners and reduced - length of scan area for Paragon 1200 SP PRO. Removed warning for - this scanner. Increased version number. - -2000-12-05 Henning Meier-Geinitz - - * TODO: Updated. Added point about plustek-share.h using c++ comment - and reminder to check config.in.h. Removed entriy about as6e.c stat - result check. - * backend/as6e.c backend/as63.h: Comitted patch from Eugene Weiss - . Fixes: Use only DBG (no printfs). Check result - of stat. Add GPL header. - -2000-12-05 Gerhard Jaeger - - * backend/plustek-share.h - cleanup - -2000-12-05 Peter Kirchgessner - - * backend/hp-handle.c - - Change SCL_UNLOAD to SCL_CHANGE_DOC (bug from copying code) - -2000-12-04 Henning Meier-Geinitz - - * TODO: Updated. Added entries about as6e stat problems and addition to - sanei_scsi.c from FreeBSD ports. - -************************* snapshot-2000-12-04 ******************************* - -2000-12-04 Peter Kirchgessner - - * backend/hp.c, hp-handle.c, hp.desc - - fix problem with ADF support on 6350C (and maybe others) - -2000-12-04 Oliver Rauch - - * removed usage of gettext, problem with -lintl should be solved: - - removed usage of gettext from lib/getopt.c - - removed test for libintl/gettext in configure[.in] - - removed intllib from frontend/Makfile.in - * updated umax.desc - -2000-12-03 Karl Heinz Kremer - - * backend/epson.*: Version 0.1.38 - Removed changes regarding 12/14 bit support because of SANE - feature freeze for 1.0.4. - The following fixes are in the software compared to the version - prior to the feature freeze: - - refresh UI after a change in the scan mode setting (was not updated - when going from Binary to Gray or vice versa) - - Read values for "line distance" from the scanner instead of using - hardcoded values. This makes sure the backend always uses the correct - values regardless of firmware version. - - Fixed an "off-by-one" error in the color reordering routine that - caused weird artifacts in some instances. - -2000-12-03 Karl Heinz Kremer - - * backend/epson.c: Fixed off-by-one in color reordering - -2000-12-02 Karl Heinz Kremer - - * backend/epson.*: Read information about optical resolution - and line distance from scanner instead of hardcoded values. - Add support for color depth > 8 bits per channel. - (can use 12, 14 and 16 bits per channel) - EPSON backend is now version 0.36 - -2000-11-30 Oliver Rauch - - * changed backend/Makefile.in: - wrong old installation of libsane.la - $(INSTALL_PROGRAM) libsane.la $(libdir)/libsane.la - to this: - $(LIBTOOL) $(MINST) $(INSTALL_PROGRAM) libsane.la $(libdir)/libsane.la - -2000-11-30 Henning Meier-Geinitz - - * README.irix: Removed. Problem with libjpeg is solved. - * TODO: Updated. Removed hpoj addition. Added snapscan link. Added - entry about net backend segfaulting if using net:localhost. Removed - artec O_SYNC problem. Removed Irix jpeg problem. Removed PTAL - addition. - * doc/saned.man: Added paragraph about xinetd (from Matt Mozur - ). Removed links to backends, added - sane-"backendname" instead. - * doc/sane-net.man: Added comment about segfaults if scanning - on localhost. - * sanei/sanei_scsi.c: Added missing DBG_INIT (from FreeBSD ports). - -2000-11-30 Gerhard Jaeger - - * backend/plustek.c backend/plustek.desc backend/plustek-share.h - backend/plustek.h doc/sane-plustek.man: - changed to version 0.38 - document update, minor bugfixes - -2000-11-30 Chris Pinkham - - * artec.c: removed O_SYNC for posix compatibility, converted variable - to unsigned char to get rid of overflow error. Changed version - to 0.5.15. - -2000-11-30 Oliver Rauch - - * changed sane-config.in again: - sane-config --libs has to print all libs - that the sane libs depend on. - This is not needed for shared libs and that - was the reason why I removed all libs but "-lsane". - But when linking against static sane libs we need - to know about all necessary libs. - -************************* snapshot-2000-11-28 ******************************* - -2000-11-28 Oliver Rauch - - * added SANE_CHECK_JPEG to aclocal.m4 and configure.in - (test routine by henning Meier Geinitz) - -************************* Feature freeze for SANE 1.0.4 ********************* - -2000-11-27 Peter Kirchgessner - - * NEWS: hp-backend version is 0.92 - -2000-11-27 Oliver Rauch - - * backend/umax.c: corrected wrong BUILD (25->24) - -2000-11-26 Henning Meier-Geinitz - - * AUTHORS: Added Karsten Festag as maintainer of microtek2. - * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend - 1.0-100. Added option fast-preview that tries to use the fastest - mode available for preview. This is supported for the 3-pass - scanners (was option "preview in gray") and some of the - ScanExpress scanners (6000 SP, 12000 SP Plus). Use #include - "../include/sane/...". Put option force-wait into mustek.conf - (disabled). Removed block mode for Paragon 6000 SP and 8000 SP. - Code cleanup. More debug output. Details in backend/mustek.CHANGES. - * doc/.cvsignore: Added sane-as6e.5 and sane-nec.5. - -2000-11-26 Peter Kirchgessner - - * backend/hp.desc, doc/sane-hp.man - Add descriptions for PTAL support - - * backend/hp.c - If PTAL-support requested, write warning about unsupported PTAL - with DBG(0,... instead of DBG(1,... - -2000-11-25 Henning Meier-Geinitz - - * configure configure.in acinclude.m4 aclocal.m4 - include/sane/config.h.in: Added test for PTAL library and headers - (patch from David Paschal ). Some reformating of - the output of configure --help. - - * backend/GUIDE: Updated entry about #include. - -2000-11-24 Henning Meier-Geinitz - - * AUTHORS: Removed authors of xscanimage and xcam (now in - sane-frontends). - * README.unixware2, README.unixware7: X-frontends are no longer - included. Removed comments and sourcecode of "rev" (not supported/used - in backends/Makefile anymore). - * sane.lsm: X-frontends are no longer included. Used blanks instead of - tabs. - * doc/scanimage.man: Removed links to backends, added generic link - instead. - * doc/.cvsignore frontend/.cvsignore: X-frontends are no longer included. - -2000-11-24 Oliver Rauch - - * changed configure.in, configure frontend/Makefile.in - and backend/Makfile.in: - The shared libraries required by the backends are linked to - the backends (they have been linked to the frontends before). - Only libintl is linked to the frontend. - * changed tool/sane-config.in, sane-config --libs => "-lsane", - all other libraries are linked to the backend libs now - -2000-11-24 Jochen Eisinger - - * doc/scanimage.man doc/saned.man: updated description of password - file - * sanei/sanei_auth.c frontend/saned.c frontend/scanimage.c: replaced - index() by strchr(). Changed style of password file - * backend/net.c: the net backend now prepends net:host: to the - resource before calling the auth_callback function - -2000-11-23 Oliver Rauch - - * removed doc/xcam.man, doc/xscanimage.man and - updated doc/Makefile.in - * changed configure.in and frontend/Makefile.in, - "-lintl" is not added to @LIBS@ any more, @INTLLIBS@ - is defined instead now, this is necessary because "-lintl" - has to be added to the frontends and not to a backend and - sane-config --libs must not list it. - * Added "Introduction" to README that tells about - the new X-frontend package - * removed gimp and gtk parts from include/sane/config.h.in - * removed gtk test from aclocal.m4 - * removed xcam.c xscanimage.c sane-style.rc progress.c progress.h - preview.c preview.h preferences.c preferences.h gtkglue.c gtkglue.h - from frontend/ - * removed parts for xcam and xscanimage from frontend/Makefile.in, - configure.in and updated confiugre - -2000-11-23 Henning Meier-Geinitz - - * NEWS: Updated for SANE 1.0.4. Please check. - * README.aix: Removed paragraph about shared libs not working. - * README.linux: Added paragraph about excessive warnings due to glibc - bug (from Peter Kirchgessner). - * TODO: Removed entry about shared libs not working on AIX. Added entry - about PTAL checks. Removed entry about DBG and microtek2. Added entry - about dc210 and jpeg functions. Added entry about using strchr() - instead of index(). - * sane.lsm: Added NEC. - * backend/microtek2.c: (from karsten.festag@t-online.de (Karsten - Festag)) Use DBG instead of printf/fprintf. Use - #include "../sane/include/..." instead of #include "sane/...". Fixed - warnings. - -2000-11-23 Karl Heinz Kremer - - * backend/epson.c: Display "Set Focus" control only for scanners that - can actually handle the command. - -2000-11-22 Oliver Rauch - - * changed configure and configure.in, removed test for sting.h/strings.h - this is not needed because we use strchr instead (always in string.h) - of index (sometimes in string.h, sometimes in strings.h) - - * changed ltconfig for aix4*, repleace -o $objdir/$soname by -o $lib, - the shared libraries are handled correct now - -2000-11-21 Abel Deuring - * backend/sharp.c, backend/sharp.desc, doc/sharp.man: Support - for JX320 added - -2000-11-21 Henning Meier-Geinitz - - * AUTHORS: Added FUKUDA Kazuya for the nec Backend. Used spaces instead - of tabs. - * PROJECTS: Removed entry about NEC. Added/updated entries about Mustek - USB scanners. - * README: Added link to sane-nec(5). - * TODO: Removed entries about sanei_authorize and plain text passwords. - * backend/Makefile.in backend/dll.conf backend/nec.conf backend/nec.c - backend/nec.desc backend/nec.h doc/Makefile.in doc/sane-nec.man: - Added nec backend for the NEC scanners PC-IN500/4C (from Kazuya Fukuda - ) - -2000-11-20 Henning Meier-Geinitz - - * AUTHORS: Added Eugene S. Weiss. - * PROJECTS: Removed Artec as6e backend. - * README: Added link to man sane-as6e.5. - * TODO: Removed as6e. - * doc/Makefile.in: Added generation of as6e manpage. - * backend/Makefile.in: Added entries for as6e. - * backend/dll.conf: Added as6e. - * backend/as6e.c backend/as6e.h backend/as6e.desc doc/sane-as6e.man: - Added backend for Artec AS6E parallel port scanner (from Eugene S. - Weiss ). - -2000-11-20 Jochen Eisinger - - * configure configure.in: Added test for /dev/urandom and - index() in string.h or strings.h - * backend/net.c: Fixed SANE_NET_AUTHORIZE call handling - * doc/net.tex: Clarified definition of SANE_NET_AUTHORIZE, added - definition of MD5 authorization - * doc/sane.tex: Upgraded to version 1.0.2, changed definition of - SANE_MAX_USERNAME_LEN & SANE_MAX_PASSWORD_LEN to 128 chars - * doc/saned.man: added description of SANE_CONFIG_DIR/saned.users - * doc/scanimage.man: added description of ~/.sane/pass and - --accept-md5-only - * frontend/saned.c: implemented user authorization on a per backend - basis - * frontend/scanimage.c: fixed bug (option -b wasn't present) - implemented auth_callback - * lib/md5.c include/md5.h: added md5 functions from GNU textutils - * include/sane/sane.h: changed definition of SANE_MAX_USERNAME_LEN & - SANE_MAX_PASSWORD_LEN to 128 chars - * include/sane/sanei_auth.h sanei/sanei_auth.c: implemented new - SANE interface for user authorization using MD5 digest - * lib/Makefile.in sanei/Makefile.in: updated Makefiles - -2000-11-19 Karl Heinz Kremer - - * backend/epson.c: Removed one debug output statement. - -2000-11-19 Karl Heinz Kremer - - * backend/epson.[ch]: Added support for "set focus position" command. This - command is necessary to scan via the TPU with the Expression1600. -2000-11-19 Henning Meier-Geinitz - - * TODO: Removed entry about stiff.*. Updated entry about testing - saned. - -2000-11-19 Jochen Eisinger - - * backend/mustek_pp.[ch]: replaced #include "sane/.." by - #include "../include/sane/.." - -2000-11-19 Peter Kirchgessner - - * frontend/stiff.c: Fix problem with writing Tag bits per sample - for color tiff files. - -2000-11-18 Jochen Eisinger - - * doc/sane-mustek_pp.man backend/mustek_pp.*: updated mustek_pp - backend to version 0.9-devel - -2000-11-15 Henning Meier-Geinitz - - * PROJECTS: Added entry about Visioneer OneTouch 8600. - * TODO: Added entries about net backend crashing after timeout, stiff.c - problems, and more details about Irix cc jpeg problems. - -2000-11-15 Rene Rebe - * backend/avision.[c,h]: some fixes for brightness and contrast via - the gamma-table. New config-option to force the backend to use DIN A4 - ("option force-a4"). Clean up. - -2000-11-14 Rene Rebe - * backend/avision.[h,c]: Added gamma table support in hardware. - Brightness and contrast emulation via the hardware gamma table. - Code cleanup. - * AUTHORS: Changed my e-mail address. - -2000-11-13 Henning Meier-Geinitz - - * Makefile.in: Install sane.h and saneopts.h only. - * PROJECTS: Removed sane-pie. - * TODO: Removed sane-pie. Added possible portability problem for - artec. Removed entry about installed headers. Added entry about - gettext and libdl. - * doc/.cvsignore: Added sane-pie.5. - -2000-11-13 Simon Munton - - * backend/pie.c backend/pie-scsidef.c backend/pie.conf backend/pie.desc - doc/sane-pie.man: Added Pacific Image Electronics backend for ScanAce - range of scanners (also supports DevCom BlackWidow scanners and ADLIB - JetScan scanners). - * README backend/Makefile.in backend/dll.conf doc/Makefile.in: Added pie - backend. - * sane.lsm: Added keywords for pie backend. - * AUTHORS: Added myself as maintainer of pie backend. - -2000-11-12 Henning Meier-Geinitz - - * doc/sane.tex: Fixed a typo. - * doc/.cvsignore: Added the files produced by make ps. - * README: Removed X-frontends. Point to sane-frontends and website. - Some reformatting. - * TODO: Updated concerning frontends split. - * PROJECTS: Removed entries about frontends (now in - sane-frontends/README) - * PROBLEMS: Removed entries about frontends (now in - sane-frontends/PROBLEMS) - -2000-11-10 Henning Meier-Geinitz - - * sanei/sanei_constrain_value.c: If constraint_type is - SANE_CONSTRAINT_RANGE and quantization is used, the results may - be outside the limits of the range because quantization uses the - orginal value. Fixed by doing quantization with the already - checked value. - -2000-11-10 Gerhard Jaeger - - * backend/plustek.c backend/plustek.desc backend/plustek-share.h - backend/plustek.h doc/sane-plustek.man: - updated to version 0.37 - support for xsane, new models - document update, minor bugfixes - -2000-11-08 Henning Meier-Geinitz - - * TODO: Updated. Added entries for viceo backend and addition to hp - backend. Updated entries about the include issue. Added point about - additional options for pnm backend, install problem of libsane.la, - and some build problems and the --without-x problem. Some more - details for detecting older SANE versions. - - * LEVEL2: Added entry about sending messages from backend to frontend. - Removed entry about image polarity. - - * backend/mustek.c backend/mustek.h backend/mustek.CHANGES - backend/mustek.desc: Update to Mustek backend 1.0-99. Better - transparency adapter support for ScanExpress scanners. Changed - color support for ScanExpress scanners (faster at some resolutions - now). Paragon 1200 SP color mode should work now without garbage at - the end of an image. Some bugfixes. Details in - backend/mustek.CHANGES. - -2000-11-08 Jochen Eisinger - - * include/sane/sanei_debug.h: fixed typo - -2000-10-30 Henning Meier-Geinitz - - * TODO: Updated. Added points about --without-x and the - #include stuff. Added xcam problem. Changed entry for - Relisys scanner. - -2000-10-30 Petter Reinholdtsen - - * frontend/xscanimage.c: Define GIMP_ENABLE_COMPAT_CRUFT when - including gimp.h to use the old API. Eventually we should convert - the frontends to use the new Gimp API. Patch from Kevin Dalley. - -2000-10-29 Henning Meier-Geinitz - - * TODO: Updated. - -2000-10-23 Peter Kirchgessner - - *backend/hp-accessor.c hp-device.c hp-handle.c hp-hpmem.c hp.h hp.c - hp-option.c hp-scl.c: Change sanei_debug-interface - Allocate accessors once (for fixed size accessors) - Close connection in some error conditions - -2000-10-23 Jochen Eisinger - - * backend/dll.c: added test for ``dll'' in dll.conf - -2000-10-23 Jochen Eisinger - - * sanei/sanei_init_debug.c include/sane/sanei_debug.h - frontend/saned.c: removed vararg macros - -2000-10-17 Henning Meier-Geinitz - - * doc/sane.tex: Added paragraph about image polarity as discussed - on sane-devel. This is the version from Nick Lamb. - -2000-10-15 Jochen Eisinger - - * include/sane/sanei_debug.h: sanei_debug_init was only declared - if VARARG macros are supported. Fixed this. - -2000-10-08 Jochen Eisinger - - * sanei/sanei_pa4s2.c: fixed all but one compiler warning - -2000-10-03 Henning Meier-Geinitz - - * tools/find-scanner.c: Explicitly state that find-scanner won't - find non-SCSI scanners. - * doc/scanimage.man: Add examples for SANE device names. - * frontend/scanimage.c: Output message when no devices are found. - Add example for devicename to --help message. Print warning - when a Unix devicename is used instead of a SANE device. Removed - compiler warning. - * TODO: Removed entries about the fgets and include issues in - umax. Removed entries about scanimage device name - documentation. Added a point about xscanimage problems with the - new GIMP API. - * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend - 1.0-98. Fixed segmentation fault in sane_init. Enabled double - buffering. Clear inquiry buffer before using. Paragon 1200 SP now - uses LD_BLOCK color correction. Removed LD MFS (wasn't used - anymore). Fix sane_cancel for Paragon series II scanners. Fix - halftone and grain for Paragon series II scanners. Backtracking is - used automaticly by all scanners now. Some safety checks, code - cleanup and more debug output. Details are in - backend/mustek.CHANGES. - -2000-10-02 Oliver Rauch - - * Updated umax backend to sane-umax-1.0.3-build-24 - take a look at backend/umax.CHANGES for details - -2000-10-02 Oliver Rauch - - * sanei/sanei_constrain_value.c: - if checked option is a range and the value is out of - range the value is now corrected to the minimum or maximum - allowed value and SANE_INFO_INEXACT is set. - The old version returned with an error. This caused problems - when the value was a little bit out of range because of rounding - errors. - -2000-09-30 Henning Meier-Geinitz - - * backend/pnm.c: Fixed three segfaults due to buffer overruns: - maximum length of filename wasn't checked; maximum length in - sane_read wasn't always checked; ppm_type wasn't always set in - getparmfromfile. Added some checks for safety and removal of - warnings. Added DBG lines for every SANE API call. - * TODO: Added entries about the backend:devicename issue. Add a - comment about fronends not to crash when length is -1. Added entry - about sane-pie. Added point about fronends not checking if too - much data is delivered with sane_read. - * PROJECTS: Added entry about sane-pie. - -2000-09-24 Henning Meier-Geinitz - - * backend/mustek.*: Update to Mustek backend 1.0-97. This is a - development version and is only tested for three-pass scanners. - Added support for Paragon 1200 SP Pro and ScanExpress A3 SP. - Removed detection of " C04" and " C12" (don't seem to exist). - Changed SCSI request scheme. Sane_read can read more than 4096 - bytes from pipe. Minimum dpi is 30 now. Fixed LD correction for - Paragon 1200SP 1.06 and 1.11. Read SCSI buffer into big block and - do LD after that for Paragon one-pass scanners. New option - "blocksize" in mustek.conf. Better detection of the scanner type - (three-pass, Paragon I, ...). Fixed possible segmentation faults - in Paragon 600 II N LD code, scsi_sense_wait_ready and - sense_handler. Decreased maximum scan size of Paragon 800 II - SP. For three-pass scanners: fixed stop_scan and speed code, scan - area is in pixels now, added RGB brightness and contrast, use - +-100% for brightness and contrast. Return SANE_STATUS_CANCELLED - when scan was cancelled. Option "force backtracking" is enabled by - default, "scan speed" is set to "fastest". Added option - "force-warn" for mustek.conf. Rewrote halftone mode. Better error - handling and more debug output. - * TODO: Clarified point about image data polarity. Moved point about - xscanimage not updating the progress bar for 3pass scanners to - frontend section. Removed umax entry in "frontends". Removed entry - about alpha channel (was added to LEVEL2 file). - * LEVEL2: Add point about image data polarity. - * frontend/scanimage.c: Removed some warnings. - -2000-09-19 Gerhard Jaeger - - * backend/plustek.desc doc/sane-plustek.man: - updated information about supported scanners - -2000-09-18 Henning Meier-Geinitz - - * README: Removed comment about xscanimage error message. Added - comment about find-scanner (may find scanners not supported by - SANE). - * tools/README: Added comment about find-scanner and some lines - about sane-desc.el and sane-config. - * tools/find-scanner.c: Added comment about scanners not supported - by SANE. Removed some warnings. - * TODO LEVEL2: Removed xscanimage error comment from TODO and moved - ideas for SANE 2.0 from TODO to LEVEL2. - -2000-09-18 Petter Reinholdtsen - - * backend/v4l.c: Remove X11 dependency. - -2000-09-17 Henning Meier-Geinitz - - * frontend/xscanimage.c: Fixed gtk_main_quit bug (based on patch - from ). An error message was printed when - no sane device was found. - -2000-09-17 Petter Reinholdtsen - - * config.guess config.sub : Upgraded to latest version from - . - - * doc/Makefile.in: New target 'install-docs' to install - documentation in $(prefix)/doc/sane-/. - - * japi/Makefile.in: Move javac and javah to make variables. - -2000-09-16 Henning Meier-Geinitz - - * TODO: Added xscanimage bug and information about versioning - problems. Some other minor changes. - -2000-09-15 Gerhard Jaeger - - * backend/plustek.c - added some code to support timing measurement in debug sessions - -2000-09-10 Peter Kirchgessner - - * backend/hp-handle.c - Special handling of sane_cancel for OfficeJet K series - -2000-09-09 Peter Kirchgessner - - * backend/hp.h hp-scsi.h hp-scl.h hp-option.h hp-option.c - hp-device.h hp-scl.c hp.c hp-device.c hp-handle.c - - David Paschal (paschal@rcsis.com) - Added support for flatbed HP OfficeJets. - fix problem with cancel preview - fix timing problem between killing child and writing to pipe - change fprintf(stderr,...) to DBG - change include to "sane.." in hp.h - change handling of options that have global effects. - i.e. if option scanmode is received (has global effect), - all options that "may change" are send to the scanner again. - This fixes a problem that --resolution specified infront of - --mode on command line of scanimage was ignored. - NOTE: This change does not allow to specify --depth 12 infront of - --mode color, because --depth is only enabled with --mode color. - add depth greater 8 bits for mode grayscale - add option for 8 bit output but 10/12 bit scanning - -2000-08-24 Gerhard Jaeger - - * Updated plustek backend to support multiple devices and 12bit color-depth - affected files: backend/plustek.c backend/plustek.h - backend/plustek-share.h backend/plustek.conf - * backend/plustek.desc: updated information about supported scanner - * doc/sane-plustek.man: updated manpage according to the changes - -2000-08-23 Abel Deuring - * sanei/sanei_scsi.c: Second attempt to fix the errno bug - in the Linux command queue handling. - -2000-08-19 Henning Meier-Geinitz - - * TODO: Included TODO file for 1.0.4. - * sanei/sanei_ab306.c: Removed some comiler warnings. - * doc/sane.tex: Set \date to the date of the last change (not - the date of running latex (\today)) - * frontend/xscanimage.c: Fixed image size overrun (>ca. 400 MB). - Removed some compiler warnings. - -2000-08-15 Henning Meier-Geinitz - - * configure configure.in: Default to --enable-warnings again. - -2000-08-15 Jochen Eisinger - - * backend/mustek_pp.c: fixed bug in config_ccd_1013 that prevents - ASIC 1013 scanners from working - diff --git a/ChangeLog-1.0.5 b/ChangeLog-1.0.5 deleted file mode 100644 index 9c0a992..0000000 --- a/ChangeLog-1.0.5 +++ /dev/null @@ -1,1194 +0,0 @@ -2001-07-01 Oliver Rauch -************************ end of code freeze *********************************** -************************ Release of sane-backends 1.0.5 ********************** - - -2001-06-30 Henning Meier-Geinitz - - * configure configure.in: Disabled warnings by default. - * NEWS: Updated version numbers, added dc25. - -2001-06-25 Oliver Rauch - - * configure.in/configure: changed version to 1.0.5 - -2001-06-25 ********** CODE FREEZE FOR SANE-1.0.5 - snapshot sane-backends-pre1-1.0.5 - planned release on 2001-07-01 - - -2001-06-24 Oliver Rauch - - * backend/umax*: bugfixes: - * bugfix for DOR: - - bottom-right edge keeps in position if possible when DOR is switched on - - * bugfix for Astra 610S color mode: - - scale_y is set to 0.5 if y_resolutions is smaller than optical_res/2 - this does fix the color scan problems for Astra 610S. - Not tested for Astra 600S. - -2001-06-20 Peter Fales - - * backend/dc25.c - Backed out the previously added mkdtemp() - patch, as mkdtemp is not available on all platforms. - * TODO: Removed entry about dc25 bug - -2001-06-20 Henning Meier-Geinitz - - * TODO: Updated documentation entries. Added compilation bug in dc25.c. - -2001-06-20 Stphane Voltz - - * doc/sane-umax_pp.man: corrections according to the TODO list - ---- cvs snapshot-2001-06-17 --- - -2001-06-17 Oliver Rauch - - * backend/umax*: bugfixes: - - removed "#include " from umax.c: assert() is never called - - bugfix for 3 pass scanning: - reposition_scanner is called in sane_start for 2nd and 3rd pass of 3 pass scan - - bugfix for UTA and DOR geometry offsets - -2001-06-14 Peter Fales - - * backend/dc25.c - Added a patch from Tim Waugh to use mkdtemp() - instead of mktemp(). Also cleaned up some compiler warnings. - -2001-06-14 Karl Heinz Kremer - - * doc/sane-epson.man: Removed reference to sane-devel list - -2001-06-14 Simon Munton - * doc/sane-pie.man: Fixed formatting problems - -2001-06-14 Gerhard Jaeger - - * doc/sane-plustek.man: - Corrected URL to Plustek mailing list - -2001-06-14 Henning Meier-Geinitz - - * TODO: Added link to libieee1284. - -2001-06-13 Karl Heinz Kremer - - * backend/epson.desc: Added GT-9500 (same scanner as Expression 636) - * backend/epson.c: Finally updated version # - -2001-06-13 Henning Meier-Geinitz - - * TODO: Updated the entries about documentation. - -2001-06-13 Oliver Rauch - - * sanei/sanei-scsi.c: Corrected bug in sanei_scsi_cmd2 for IRIX: - - scsi_req.ds_senselen has been set to sizeof pointer, is set - to 128 bytes now (1024 bytes does not work) - - sensebuf is cleared before scsi command is executed - - sensehandle always called when it exists and an error occurs - -2001-06-11 Henning Meier-Geinitz - - * tools/umax_pp.c: Also use sanei_umax_pp_SetLamp() (patch from - Tim Waugh ). - -2001-06-11 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.c: - make use of PPGETMODES only when available in ppdev.h. Corrected OS/2 - typo in Outb() and rename sanei_umax_pp_Lamp() to - sanei_umax_pp_SetLamp(). - - -2001-06-05 Peter Fales - - * backend/doc/sane-dc25.man, sane-dc210.man, sane-dc240.man - - Added reference to web page for information about sane - mailing list - -2001-06-10 Jochen Eisinger - * doc/sane-mustek_pp.man: added pointer and note to list - subscription page - ---- cvs snapshot-2001-06-10 --- - -2001-06-10 Henning Meier-Geinitz - - * doc/sane-artec.man doc/sane-coolscan.man doc/sane-umax.man: - Fixed whatis/apropos output (don't put an empty line after - the NAME section). Added SEE ALSO entry to sane(7). - * doc/sane-dll.man: Fixed output bug and added SEE ALSO entry. - * doc/sane-scsi.man: Rephrased the paragraphs about Linux sg - buffer to make it clear, that kernel changes are really only - necessary with older kernels. Fixed torque.net URL. Added comment, - that usually every SCSI adapter should work. Added paragraph about - problems with Acard adapters. Rephrased NCR810 entry. - * doc/sane-net.man: Updated BUGS section. Added SEE ALSO. - * doc/saned.man doc/sane-abaton.man doc/sane-agfafocus.man - doc/sane-apple.man doc/sane-as6e.man doc/sane-avision.man - doc/sane-bh.man doc/sane-dc210.man doc/sane-dc240.man - doc/sane-dc25.man doc/sane-dmc.man doc/sane-epson.man - doc/sane-fujitsu.man doc/sane-hp.man doc/sane-microtek.man - doc/sane-mustek_pp.man doc/sane-nec.man doc/sane-pie.man - doc/sane-pint.man doc/sane-plustek.man doc/sane-pnm.man - doc/sane-qcam.man doc/sane-ricoh.man doc/sane-s9036.man - doc/sane-sharp.man doc/sane-sm3600.man doc/sane-st400.man - doc/sane-tamarack.man doc/sane-umax_pp.man doc/sane-v4l.man: - Added SEE ALSO entry for sane(7). - * doc/sane-coolscan.man: Used @@ macros instead of fixed paths. - * doc/sane-dc210.man doc/sane-dc240.man doc/sane-dc25.man: - Used @@ macros instead of fixed paths. Fixed library paths. - * doc/Makefile.in doc/sane-coolscan.man doc/sane-dc210.man - doc/sane-dc240.man doc/sane-dc25.man: Set the correct library - path for all backends by changing @LIBDIR@ to $(libdir)/sane. - * doc/sane-as6e.man doc/sane-canon.man doc/sane-microtek.man - doc/sane-microtek2.man: Some minor formatting issues. - * doc/sane-mustek.man doc/sane-v4l.man: Added link to mostang mail - page. Fixed some formatting issues. - * doc/backend-writing.txt: Added paragraph about @LIBDIR@ and friends - in manual pages. - * TODO: Added several entries about manual pages. Removed entry about - sane(7). - -2001-06-09 Oliver Rauch - - * sanei/sanei_scsi.c: - applied patch by Douglas Gilbert - that solves compilation problem about: - storage size of `ssid' isn't known - -2001-06-09 Karl Heinz Kremer - - * backend/epson.c: Changed debug level for for an informational - message in the sense_handler from 0 to 2. - -2001-06-09 Henning Meier-Geinitz - - * README.os2: Added link to Franz Bakan's web page. - * configure configure.in backend/Makefile.in include/sane/config.h.in: - Check for sys/sem.h and disable snapscan if it isn't available. - Removed "//" (C++-style comment) from config.h.in. Link to djpeg - only once. - * TODO: Added comment on command line option for timeout in saned. - -2001-06-09 Petter Reinholdtsen - - * acinclude.m4 include/sane/config.h.in: Fix configure/compile - problem on Alpha/Tru64 Unix. - -2001-06-07 Stphane Voltz - - * backend/umax_pp_low.c: make use of PPGETMODES to get ppdev - capabilites. - -2001-06-05 Peter Fales - - * backend/dc240.c - Fixed bug where attempting to change the - "image number" in an empty camera causes a core dump. - -2001-06-06 Stphane Voltz - - * backend/umax_pp_low.c: OS/2 compile fixes (again). Backend - successfully built on Warp with EMX 0.9d. - -2001-06-06 Stphane Voltz - - * backend/umax_pp_low.c: OS/2 compile fixes - -2001-06-05 Oliver Rauch - - * changed my email address in sane-backends.lsm - - ---- feature freeze for sane-1.0.5 is active --- ---- cvs snapshot-2001-06-05 --- - -2001-06-04 Oliver Rauch - - * update of umax backend to version 1.0 buid 27 - -2001-06-04 Henning Meier-Geinitz - - * TODO: Updated the entries concerning net+saned. Removed the - exporting symbols entry. Added entry about lassert.h. - * include/lassert.h sanei/sanei_scsi.c: Use local assert.h file to - fix problems with AIX and shared libraries. - * frontend/test.c: Changed order of headers to get test.c compiling - on OS/2. - * frontend/.cvsignore: Added test. - * frontend/saned.c: Increase timeout to one hour. - * backend/coolscan.c: Declared all internal functions static. - * tools/Makefile.in: Fixed typo that prevented make from removing - mustek600iin-off. - * sanei/sanei_scsi.c: Fixed some small bugs concerning error reporting. - * frontend/scanimage.c: Fixed small bug in output for batch mode. - -2001-06-03 Peter Fales - - * backend/dc240.c - Batch scanning of multiple images with scanimage - was failing if subsequent images have a different size than - from the first image. - -2001-06-03 Karl Heinz Kremer - - * doc/sane-epson.man: Updated documentation - -2001-06-03 Stphane Voltz - - * backend/umax_pp_low.c: Fixed compile problem on archs that - have inb/outb and not insb/outsb. Cleaned up and simplified probing - code. - -2001-06-03 Peter Fales - - * backend/dc240.c - Add "auto increment" option to allow all - images to be downloaded with the --batch option to scanimage. - -2001-06-03 Henning Meier-Geinitz - - * backend/mustek.c: Added some debug messages. - * backend/net.c: Fixed yet another segfault. Added debug messages. - * frontend/scanimage.c doc/scanimage.man: Added more options for - batch-scanning (patch from Caskey Dickson - ). - -2001-06-02 Chris Pinkham - - * backend/artec.desc: updated version number to match artec.c. - -2001-06-02 Oliver Rauch - - * corrected umax version numver in umax.desc (1.0.24->1.0.26) - -2001-06-02 Henning Meier-Geinitz - - * NEWS: Updated concerning backend versions. - * TODO: Removed nec entries. Added entry about ADF extension to - scanimage. - * backend/qcam.c: Another occurence where struct flock must be defined - for OS/2. - * AUTHORS: Fixed Kazuya Fukuda's name and email address. - * backend/nec.c backend/nec.h backend/nec.desc: Update to backend - version 0.12 (from Kazuya Fukuda ). - Removed references to sharp backend (grep for "JX"). Check for - HAVE_SYS_SHM_H before including sys/shm.h and disable shared - memory support if necessary. Free devlist allocated in - sane_get_devices() in sane_exit() resolution setting bug fixed - (PC-IN500/4C 10dpi step). Removed resolution list. - -2001-06-02 Oliver Rauch - - * changed minimum scsi buffer size from 64KB to 32KB - - -2001-06-01 Henning Meier-Geinitz - - * backend/umax_pp_low.c: Fixed the FreeBSD problems by checking - /dev/io before accessing io ports (patch from Stphane Voltz - ). - * backend/snapscan.c: Fixed two bugs: pss->devname must be checked - for 0. Return total number of lines in sane_get_parameters (patch - from Ben Stanley ). - -2001-05-31 Henning Meier-Geinitz - - * backend/mustek.c: Updated some comments. - * TODO: Removed the entry about the config_line[len-1] bug. - * configure configure.in include/sane/config.h.in backend/qcam.c: - Check for struct flock and define it if necessary. - * tools/Makefile.in: Make sure that backend/umax_pp_low.o exists - when umax_pp.o is linked. - * backend/bh.c backend/m3096g.c backend/sp15c.c: Fixed - config_line[len-1] bug which could generate an access violation - if len==0. - * lib/alloca.c lib/getnev.c lib/getopt.c lib/getopt1.c - lib/isfdtype.c lib/md5.c lib sigprocmask.c lib/snprintf.c lib - strdup.c lib/strndup.c lib/strsep.c lib/usleep.c lib/vsyslog.c: - Used #include "../include/sane/config.h". - * sanei/sanei_scsi.c: Fixed compilation issue for OS/2 in - sanei_scsi_find_devices. - ---- cvs snapshot-2001-05-30 --- - -2001-05-30 Marian Eichholz - - * backend sm3600 with better gain calibration incorporated. - fixed a superfluceous export. - -2001-05-30 Oliver Rauch - - * Problem with SOLARIS_INTERFACE (change from 2001-05-27) - had an other reason than the scsi buffer size (MAX_DATA). - Changed scsi buffer size for solaris sg driver - (USE == SOLARIS_INTERFACE in sanei_scsi.c) again from 32 KB - to 128KB. - -2001-05-30 Henning Meier-Geinitz - - * tools/Makefile.in: Fixed umax_pp compilation problem with Solaris - and other operating systems. - -2001-05-29 Henning Meier-Geinitz - - * backend/canon.conf doc/sane-canon.man: Added config file and some - documentation for it. - * AUTHORS: Added Chris Bagwell and Oliver Schwartz for snapscan. - * TODO: Added entry about possible sanei_usb.*. - -2001-05-29 Peter Fales - - * backend/dc240.c - Fixed a fairly obscure problem that can result in - core dump. (Deleting pictures with gphoto, then launching - xscanimage without power cycling the camera left bad data in the - camera status table.) - -2001-05-29 Oliver Rauch - - * added entry about sanei_parport in TODO - -2001-05-27 Henning Meier-Geinitz - - * doc/releases.txt: Removed comment about net.* and dll.* version - updating. Added info about make install-mostang. - * TODO: Updated concerning backend bugs (export and config_line). - * backend/umax_pp_low.c: Fixed bus error with FreeBSD. - -2001-05-27 Oliver Rauch - - * changed scsi buffer size for solaris sg driver - (USE == SOLARIS_INTERFACE in sanei_scsi.c) to 32 KB - again because it does not work for at least one system - with 64KB. - -2001-05-27 Petter Reinholdtsen - - * doc/releases.txt: Added points on tagging the source and - generating a diff from the last release. - ---- cvs snapshot-2001-05-27 --- - -2001-05-27 Oliver Rauch - - * sanei/sanei_scsi.c: changed scsi buffer size (MAX_DATA) - to 128KB for: SOLARIS_INTERFACE, SOLARIS_SG_INTERFACE, - SOLARIS_USCSI_INTERFACE and IRIX_INTERFACE - (some scanners have problems with the predefined 32KB - buffer size, these systems should work with 128KB - but we need to test if no problems do occur). - -2001-05-27 Henning Meier-Geinitz - - * doc/sane-microtek2.man: Include updates from backend version 0.9 - (from karsten.festag@t-online.de (Karsten Festag)). - * backend/sm3600.c: setResolutions has only 5 instead of 6 resolutions. - -2001-05-26 Jochen Eisinger - - * backend/mustek_pp.c: declared function comp() static - * TODO: removed entry regarding this problem - -2001-05-26 Chris Pinkham - - * backend/artec.c: Added code in sane_exit() to free memory - malloced in sane_get_devices(). Declared several functions - 'static' so they are not exported. - * TODO: removed 'artec' backend from list mentioned in describing - above problems. - -2001-05-26 Petter Reinholdtsen - - * TODO: Updated entry on library search path, sanei API - documentation and sane_init() return value. - - * Makefile.in:New target 'libcheck' making sure libraries export - only sane_* and sanei_* symbols. - -2001-05-26 Henning Meier-Geinitz - - * TODO: Removed snapscan and microtek2 updates. Removed status change of - as6e. Removed True64 Unix and HP/UX compilation problems. Added entry - about exporting symbols. Reformatted some entries. - * backend/microtek2.c backend/microtek2.desc backend/microtek2.h: - Updated to version 0.9 (from Karsten Festag - ). - * doc/sane-snapscan.man: Added new scanners and authors. - * AUTHORS: Added Sebastien Sable and Henrik Johansson. - * backend/snapscan-scsi.c backend/snapscan-sources.c - backend/snapscan-sources.h backend/snapscan-usb.c - backend/snapscan-usb.h backend/snapscan.c backend/snapscan.conf - backend/snapscan.desc backend/snapscan.h: Updated snapscan backend to - version 1.2 (from Sebastien Sable ). - * doc/backend-writing.txt: Added "make libcheck" info. - * backend/sm3600-color.c backend/sm3600-gray.c backend/sm3600-homerun.c - backend/sm3600-scanmtek.c backend/sm3600-scanusb.c - backend/sm3600-scanutil.c backend/sm3600.c backend/sm3600.h: - Made all non-sane-api functions static. Fixed some warnings. - * backend/sm3600.desc: Changed status to new. - * backend/as6e.desc: Changed status to alpha because backend - isn't new any more. - * acinclude.m4 aclocal.m4 configure configure.in - include/sane/config.h.in: Fixed u_int* bug for Tru64 by - including sys/bitypes.h. - * PROJECTS: Added hpoj project. - -2001-05-25 Jochen Eisinger - - * doc/sane-mustek_pp.man, backend/mustek_pp.desc: Changed URL - of the homepage to home.nexgo.de/jochen.eisinger/sane/ - -2001-05-25 Karl Heinz Kremer - - * backend/epson.c: Allow more than 8 bit color depth even for - preview mode since Xsane can handle this. Some code cleanup. - Removed ancient code that was used to determine the resolution - back when the backend still had a slider for the resolution - selection. - * backend/epson.desc: Updated version number, added new scanners. - -2001-05-24 Henning Meier-Geinitz - - * sane-mustek.man: Removed some bug descriptions and addded - sane(7) to SEE ALSO. - * sane-find-scanner.man sane-scsi.man scanimage.man: Added - sane(7) to SEE ALSO. - * PROJECTS: Removed entry about Polaroid SprintScan 35LE (now in - microtek). - * TODO: Removed umax from lists of backends with sane_get_devices - and config_line bug. Removed entry about make uninstall and - sanei_wire.c bug. Removed entry about microtek update. Added point - about adding sane(7) to any manual page. - -2001-05-23 Matto Marjanovic - - * backend/microtek.c backend/microtek.h: - o Added support for Agfa StudioStar (weird pixel packing) - o A couple of small fixes (missing 'static' declarations) - o Upped version to 0.12.3 - -2001-05-23 Matto Marjanovic - - * backend/microtek.c backend/microtek.h: Small fixes: - o Use 'expanded contrast/exposure settings' inquiry data to - dynamically set ranges for those options. - o Patches for Polaroid SprintScan 35LE (from Dick Bruijn) - - added "Polaroid" vendor string - - screwed around with 'brightness' setting - - attached 'negative scan' button - o sane_exit() now frees the devlist allocated by sane_get_devices() - o upped version to 0.12.2 - -2001-05-23 Stphane Voltz - - * backend/umax_pp.c: changed option names to use lower case characters - and dashes instead of spaces. - - * backend/umax_pp_low.c: commented out a useless command sequence. - Added 55 AA pattern escaping in data block sending. - -2001-05-22 Karl Heinz Kremer - - * backend/epson.c: Added sense handler to support the GT-8000 scanner. - Also added experimental (and #ifdef protected) USB scanner probing - code - requires patch to USB scanner driver. - -2001-05-21 Henning Meier-Geinitz - - * README: Added "man sane" to quick install. Added paragraph about - old versions. Added paragraph about "make clean" and "make - distclean". Added section about removing SANE. - * Makefile.in backend/Makefile.in doc/Makefile.in lib/Makefile.in - sanei/Makefile.in tools/Makefile.in: Added target "uninstall". - -2001-05-20 Oliver Rauch - - * removed a bug in saned (patch by Matthias Trute ) - calculation of the reader buffer index was not correct: - if (reader >= sizeof (buf)) - - reader = 0; - + reader -= sizeof(buf); - -2001-05-19 Karl Heinz Kremer - - * backend/epson.c: fixed dates in change log entries - and finally fixed the TPU bug with older scanners - -2001-05-17 Oliver Rauch - - * removed bug in umax backend sane_exit - -2001-05-17 Henning Meier-Geinitz - - * include/lalloca.h: Used a more suitable comment. - * doc/backend-writing.txt: Reformated. Added point about headers - and libraries that are not available on every system and inclusion - of backends into CVS. Some minor fixes and clarifications. - * NEWS: Updated concerning sane man page and new backends. - -2001-05-17 Oliver Rauch - - * updated umax backend to version 1.0 build 26 - -2001-05-15 Peter Fales - - * backend/dc25.c, backend/dc240.c - Added DBG(1,..) to print - version string - -2001-05-16 Henning Meier-Geinitz - - * doc/.cvsignore: Added sane-sm3600.5. - - * PROJECTS: Removed sm3600. - - * TODO: Updates concerning memory leaks and access violations. - - * AUTHORS doc/Makefile.in: doc/sane-sm3600.man doc/sane.man: Updated - documentation concerning sm3600 backend and added man page (from - from Marian Eichholz ). - - * configure configure.in include/sane/config.h.in: Detect presence - of libusb and enable sm3600 backend. - - * backend/Makefile.in backend/dll.c backend/sm3600-color.c - backend/sm3600-homerun.c backend/sm3600-scantool.h - backend/sm3600-scanutil.c backend/sm3600.desc - backend/sm3600-gray.c backend/sm3600-scanmtek.c - backend/sm3600-scanusb.c backend/sm3600.c backend/sm3600.h: - Added sm3600 backend (from Marian Eichholz ). - -2001-05-16 Chris Pinkham - - * backend/artec.c: changed #include to use "../include/sane/config.h" - instead of "sane/config.h". - -2001-05-16 Stphane Voltz - - * backend/umax_pp.c: fix memory leak in sane_exit - - * backend/umax_pp_low.c backend/umax_pp_low.h : added /proc parsing - when available to get I/O addr. Added pauses in 610P probe - sequence. - -2001-05-14 Henning Meier-Geinitz - - * frontend/scanimage.c: scanimage_exit: use the handle (not its - address) for sane_close. Fixed yet another warning. - -2001-05-14 Gerhard Jaeger - * backend/plustek.c: - Free memory malloced in sane_get_devices() in sane_exit() - -2001-05-14 Petter Reinholdtsen - - * backend/lhii.desc: Updated with current version and contact - information. - - * frontend/scanimage.c tools/sane-find-scanner.c: Remove some - compiler warnings. - -2001-05-13 Peter Fales - * backend/dc25.c: Remove DBG(0,...) line that was getting printed - for non-dc25 users. - -2001-05-13 Karl Heinz Kremer - - * backend/epson.c: Removed check for '\n' before end of line - Free memory malloced in sane_get_devices() in sane_exit() again - Check first if the scanner does support the set film type - and set focus position before the GUI elements are displayed. - This caused problems with older (B4 level) scanners when a TPU - was connected. - -2001-05-13 Henning Meier-Geinitz - - * doc/sane.man: Added path to sane.ps. Added comments about - how somebody can help the SANE project. Added comments about - possible problems with old installaitions of SANE and - /etc/ld.so.conf. Added section "REPORTING BUGS". - * tools/Makefile.in tools/.cvsignore: Added mustek600iin-off. - * sanei/sanei_codec_ascii.c tools/mustek600iin-off.c - tools/sane-find-scanner.c frontend/stiff.c: Used #include - "../include/sane/...". - * backend/net.c backend/net.h backend/net.desc: Fixed some memory - leaks. A bit of reformating. Added more debug output. Used - #include "../include/sane/...". - * sanei_codec_bin.c sanei/sanei_net.c sanei/sanei_wire.c: Fixed - some memory leaks. Used #include "../include/sane/...". - * frontend/scanimage.c: Added exit handler to call sane_close - and sane_exit in any case and to free alloced memory. A bit of - reformating. Used #include "../include/sane/...". Fixed some - warnings. - * frontend/saned.c: Fixed some memory leaks. Fixed some warnings. - Some reformating. Used #include "../include/sane/...". - * README.hp-ux: Use gmake if make doesn't work. - * LEVEL2: Added point about sane_init results != SANE_STATUS_GOOD. - * TODO: Added entries about memory leaks, sane_init return values, and - HP-UX problems in isfdtype.c. - -2001-05-11 Jochen Eisinger - - * TODO, backend/mustek_pp.c: fixed line-end handling, removed entry - from TODO list - -2001-05-11 Henning Meier-Geinitz - - * TODO: Removed pie from lists of bugs. Removed sane manual page. - Added some context to the Tru64 problems. - -2001-05-09 Henning Meier-Geinitz - - * doc/.cvsignore: Added sane.7. - * README: Removed content that's now in the sane maual page. - Added reference to man sane. - * doc/Makefile.in doc/sane.man: Added SANE manual page. - * doc/sane.tex: Clarified the paragraph concerning sane_read. If - *len != 0 the status must be SANE_STATUS_GOOD. - -2001-05-08 Simon Munton - * backend/pie.c: Free devlist in sane_exit. Removed redundant check for - trailing newline in config file. - -2001-05-07 Peter Fales - * backend/dc25.[ch]: Cleaned up compiler warnings and fixed (very - minor) memory leak. - -2001-05-07 Oliver Rauch - * applied a patch by Douglas Gilbert to sanei_scsi.c - it solves the Problem that the scanner is not - found on linux systems when the order of the - scsi devices is not coverd by the order of - devices listed by /proc/scsi/scsi, it prefers - new kernel 2.4 methods when available - -2001-05-06 Henning Meier-Geinitz - - * backend/mustek.c doc/mustek/mustek.CHANGES: Free devlist - in sane_exit. - * TODO: Updated concerning config_line[len - 1] stuff. Added - some (most) backends to list of sane_get_devices leak. - * backend/dll.c backend/dll.desc: Removed access to uninitialized - memory. Increased version number. - * backend/net.c backend/net.desc: Removed access to uninitialized - memory. Changed htons to ntohs in DBG statement. Free devlist - in sane_exit. Use "../include/sane/...". Increased version number. - -2001-05-04 Gerhard Jaeger - * backend/plustek.c: Applied Petters' patch to avoid an - illegal memory access - -2001-05-04 Henning Meier-Geinitz - - * NEWS: Updated. - * PROJECTS: Removed umax_pp. Added Canon FB620S and FS2710 backend. - * TODO: Removed entry about umax_pp and comment about testing - for existing sane installations and plustek memory access violation. - Added Canon FB620S and FS2710 backend and entries about Tru64 - compilation problems and installation procedure for translations. - * doc/backend-writing.txt: Added entries about SANE_I18N() and - documentation directories. - -2001-05-03 Henning Meier-Geinitz - - * AUTHORS README: Updated concerning umax_pp. - - * doc/Makefile.in doc/sane-umax_pp.man .cvsignore: Added manpage for - umax_pp (patch from Stphane Voltz ). - - * tools/README tools/Makefile.in tools/umax_pp.c tools/.cvsignore: - Added umax_pp test program (patch from Stphane Voltz - ). - - * configure configure.in include/sane/config.h.in: Test for - linux/ppdev.h (for umax_pp backend). - - * backend/umax_pp.c backend/umax_pp.h backend/umax_pp_low.c - backend/umax_pp_low.h backend/umax_pp_mid.c backend/umax_pp_mid.h - backend/umax_pp.conf backend/umax_pp.desc backend/Makefile.in - dll.conf: Added umax_pp backend (patch from Stphane Voltz - ). - -2001-05-02 Henning Meier-Geinitz - - * configure configure.in: Don't use -ansi for Solaris. On some - Solaris installations compilation breaks with -ansi. - - * doc/Makefile.in tools/sane-desc.el doc/.cvsignore: Install - sane.ps and sane.dvi if latex/makeindex/dvips is available. - Generate sane-backends.html in doc/. New target: - install-mostang. Installs the sane standard - (.ps, .ps.gz and html), the html manpages, and sane-backends.html - on www.mostang.com. - -2001-05-01 Henning Meier-Geinitz - - * configure configure.in include/sane/config.h.in README.solaris - sanei/sanei_scsi.c: Added support for Solaris sgen SCSI driver - (patch from Juergen Keil ). - * acinclude.m4 aclocal.m4 configure: Added Irix to the list - of operating systems that can use -Wl,-rpath. - * doc/Makefile.in: Install all the READMEs and other available - documentation in $docdir. Print which manpage is generated. - Don't remove files/dirs that doesn't exist. Remove the html - manpages in distclean. Fixed spelling mistake in .PHONY. - * TODO: Added entries about possible segfaults and memory leaks. - Added entry about AIX problems. Removed entry about installing - documentation. - * PROJECTS: Added Canon FB330P, FP630P. - -2001-04-30 Jochen Eisinger - - * doc/sane-mustek_pp.man: Added information about CIS patches - by Eddy De Greef - -2001-04-29 Chris Pinkham - - * backend/artec.c: Fixed bug causing possible dereference of a NULL - pointer. - * backend/artec.desc: Modified Parport entry to say AS6E scanner - supported by SANE AS6E backend. - -2001-04-29 Petter Reinholdtsen - - * sanei/sanei_config.c sanei/sanei_codec_bin.c: Avoid reading - uninitialized memory. - * sanei/sanei_config.c: Fix memleak when using env - SANE_CONFIG_DIR. - * backend/net.c sanei/sanei_wire.c include/sane/sanei_wire.h: Make - sure net backend release all memory when finished. - * README: Added info about the CVS repository. - -2001-04-29 Henning Meier-Geinitz - - * sanei/sanei_wire.c: Don't free memory that's not alocced. - * sanei/sanei_config.c: Avoid reading uninitialized memory when - checking SANE_CONFIG_DIR. - * backend/mustek.c: Fixed several memory leaks. - * frontend/scanimage.c: Fixed memory leak. - * sanei/sanei_config2.c: Fixed memory leak: vendor wasn't freed. - * PROJECTS: Added entry for the Fujitsu M3091DCd. Updated my email - address. - * TODO: Added entry for the Fujitsu M3091DCd and a combined Fujitsu - backend. Clarified that "printf" also shouldn't be used. - * backend/dll.desc: Added my email as contact address. - * backend/m3091.desc: New file for the Fujitsu M3091DCd. - * doc/sane-mustek.man: Updated URL. - -2001-04-28 Henning Meier-Geinitz - - * backend/mustek.CHANGES backend/umax.CHANGES backend/umax.FAQ - backend/umax.TODO: Moved to doc/mustek respectively doc/umax. - * doc/canon.CHANGES doc/canon.install2700F.txt doc/canon: - Moved canon-specific documentation to doc/canon. - * doc/mustek: New subdirectory for mustek-specific documentation. - * doc/sane-umax*.html doc/sane-umax*.jpg doc/sane-umax-doc.tex - doc/sane-umax-doc.dvi doc/umax: Moved all the umax-specific - documentation to new subdirectory umax. - -2001-04-28 Peter Kirchgessner - - * backend/hp.desc, doc/sane-hp.man: Add support for new models - through PTAL-library - -2001-04-27 Henning Meier-Geinitz - - * backend/agfafogus.c: Moved PATH_MAX after sanei_backend.h include - to avoid warning. Changed printf to DBG. - * backend/mustek.c backend/mustek.CHANGES backend/mustek.desc: Added - support for translating options. Used only PACKAGE_VERSION for - output. Updated email address. New version: 1.0-107. - * include/sane/sanei_backend.h include/sane/saneopts.h: Added macro - SANE_I18N. It's used to mark strings that can be translated and - used by a frontend. Usually these are option titles and descriptions - as well as the contents of string lists. Used this macro to mark - the translatable strings in saneopts.h. More translation support - will follow. - -2001-04-22 Henning Meier-Geinitz - - * PROBLEMS: Point to pnm/saned security risks. - * TODO: Removed the entries about epson usb mis-detection and check - for installed sane versions. - * configure configure.in backend/Makefile.in: Added detection of older - versions of SANE. The pnm backend is now disabled by default. - * backend/dll.c backend/dll.desc: Fixed file descriptor leak (found by - Douglas Gilbert). New version: 1.0.2. - * backend/net.desc: Added Jochen Eisinger's email address as contact - for the net backend. - * doc/sane-pnm.man: Point to pnm/saned security risks. - -2001-04-21 Karl Heinz Kremer - - * backend/epson.conf: Commented out the usb config entry, this can - block other USB scanners from being recognized. - -2001-04-19 Henning Meier-Geinitz - - * AUTHORS: Added Michael Herder and me for pnm. Updated my email - address. - * TODO: Removed pnm entry about adding more options. Added entry about - epson backend freezing when trying to detect non-epson USB scanner. - Added entry about adding contact adresses to .desc files. Added - comment about me working on a sane man page. Removed entry about OS/2 - problems in sanei_scsi.c. - * configure configure.in: Removed a newline in --help message. - * backend/pnm.c: Added several options: gamma tables - (-> arrays), resolution option (word list), read only test option - (SANE_CAP_SOFT_DETECT), several options for returning status codes - in sane_read (all of this is from Michael Herder ). - Added build version info, print version information in sane_init. - Use ../include/sane/ for includes. Version is 1.0.1. - * backend/pnm.desc: Updated contact info and version. - -2001-04-19 Gerhard Jaeger - * backend/plustek.c: removed again that old fgets() call - sorry - -2001-04-19 Petter Reinholdtsen - - * tools/sane-config.in: Fix typo in previous commit. - -2001-04-17 Karl Heinz Kremer - - * doc/sane-epson.man: Fixed types, some reformatting and got rid - of a duplicate paragraph. - -2001-04-17 Henning Meier-Geinitz - - * backend/dc210.desc backend/dc240.desc backend/microtek2.desc: - Update contact information for backends. dc240 status is :NEW. - * TODO: added entries about as6e status shouldn't be :new, and - installing all documentation files. - -2001-04-16 Petter Reinholdtsen - - * Makefile.in: New target 'sort-cvsignore' to keep all .cvsignore - files sorted. - - * acinclude.m4 configure.in tools/sane-config.in: Try to guess how - to set runtime link path, and make it easier to extend. - - * acinclude.m4 configure.in: Clean up warning flag handling. - -2001-04-16 Henning Meier-Geinitz - - * README: Updated xsane link. - * configure configure.in backend/dll.c backend/dll.desc - backend/net.c backend/net.desc include/sane/config.h.in - Yet another change in the version system for dll and net. - For sane_init return the version of the package but use - own internal version number in the source (printed with - debugging enabled) and in *.desc. The internal versions - of both net and dll are set to 1.0.1. Please increase the - build number with every change on the source files. - * doc/realeases.txt -> doc/releases.txt. Fixed spelling error. - Added entries about sane-backends.html, sane.ps, man pages, - platforms page. - -2001-04-14 Gerhard Jaeger - * backend/plustek.c backend/plustek.desc backend/plustek.h - backend/plustek-share.h - minor fixes and additional scanner models - * doc/sane-plustek.man added info about slowIO switch - -2001-04-13 Oliver Rauch - * changed my email address in AUTHORS - -2001-04-13 Henning Meier-Geinitz - - * PROJECTS TODO: Added entry about E3 USB chipset. - * backend/dll.c backend/dll.desc: New version is 1.0.5. Version and - PACKAGE_VERSION is printed with debug level set to 1 or higher. - The version numbers of all backends that are loaded are printed - at debug level 3 or higher. Print error if backend with wrong - major version number is loaded. Some standardization changes - concerning the DBG messages. - * backend/net.c backend/net.desc: New version is 1.0.5. Version and - PACKAGE_VERSION is printed with debug level set to 1 or higher. - Some standardization changes concerning the DBG messages. - * backend/pnm.c: Return SANE_INFO_RELOAD_PARAMS even if the pnm - file doesn't exist or can't be loaded (from mh ). - * doc/backend-writing.txt: Added AUTHORS to the list of things that - should be updated when including a new backend. Added points about - avoiding printf and exit in backends. - * doc/releases.txt: New file. This text summarizes some points to - pay attention to when a new release of sane-backends is made. - Additions and corrections are appreciated. - * doc/scanimage.man: Add some more information about the -V option. - * frontend/scanimage.c: The option -V now also prints the version of - the backend (ususally dll). - -2001-04-11 Abel Deuring - * sanei/sanei_scsi.c: fixed a bug in error handling for the - Linux SG driver verison 3.x - * sanei/sanei_scsi.c, configure.in, configure: Usage of direct IO - disabled by default. - * README.linux: Added a note, how to enable direct IO - -2001-04-08 Henning Meier-Geinitz - - * backend/mustek.c backend/mustek.desc backend/mustek.CHANGES - Added detection of the TA for the Paragon 1200 SP Pro. Added - warning about not supported Trust scanners. Changed description - of contrast and brightness settings. Backend status is "stable" - now. New version: 1.0-106. - * acinclude.m4 aclocal.m4: Fixed comment concerning dc240. - * configure configure.in include/sane/config.h.in: Added test for - socklen_t in sys/socket.h. This fixes the compilation problem on - Irix. - * doc/sane-avision.man doc/sane-ricoh.man doc/sane-s9036.man - doc/sane-tamarack.man: find-scanner is now called - sane-find-scanner and installed on the system so it's not - necessary to point to the tools directory. - * frontend/scanimage.c: Fixed too long line in output. - * sane-config.in: Name is sane-config again (was sane-backends-config - due to the renaming of the package). - * TODO: Removed entry about net.c not compiling on Irix and - references to find-scanner in the man pages. Updated numbers of - the compilation warnings. Still too many, however. - -2001-04-07 Henning Meier-Geinitz - - * backend/sc240.c backend/dc240.h backend/dc240.conf - backend/dc240.desc backend/dll.conf doc/sane-dc240.man: - Added dc240 backend for the Kodak DC240 Digital camera (from - Peter Fales ). - * doc/Makefile.in: Added sane-dc240 in section 5. - * backend/Makefile.in: Added dc240. - * configure configure.in: If the jpeg libs are not available, - dc240 is also disabled. - * AUTHORS: Added entry for dc240 and updated email address of - Peter Fales. - * NEWS: First version of the news entry for 1.0.5. - * PROJECTS: Removed dc240. Added Microrec ScanMaker 3600. - * README: Added dc240. - * TODO: Removed dc240. Added entry about keep-alive mechanism in saned. - * sane-backends.lsm: Added dc240. - * testsuite/.cvsignore: New file. Added entry for Makefile. - -2001-03-31 Karl Heinz Kremer - - * backend/epson.*: Next attempt to get the reported number of - lines correct for the "color shuffling" part. - Added more comments. - -2001-03-31 Henning Meier-Geinitz - - * backend/mustek.c backend/mustek.desc backend/mustek.h - backend/mustek.CHANGES: Fixed grascale gamma for the 600 II N. - Fixed ADF problems when selecting windows smaller than the - whole scan area. Fixed linedistcnace corrections issues concerning - ADF and concerning 1200SP V 1.00. New version: 1.0-105. - -2001-03-31 Henning Meier-Geinitz - - * PROJECTS: Updated entry about Canon 1220U and Umax 1220P / HP3200C. - Added entry about Kodak DC-240. - * TODO: Added Umax 1200P/2000P & HP 320C + Kodak DC-240 as backends - to be included. Added net.c compilation problem. - -2001-03-10 Jochen Eisinger - - * frontend/saned.c: fixed bug that allowed access to a scanner - without being prompted for a password - -2001-03-04 Oliver Rauch - - * umack backend updated to version 1.0-build-25 - -2001-02-26 Abel Deuring - - * sanei/sanei_scsi.c: removed a possible null pointer - dereference in the Solaris/Schilling driver part. (Bug was - found and fixed by William L. Sebok) - - * backend/tamarack.c: inconsistent call to sanei_scsi_cmd fixed - -2001-02-22 Petter Reinholdtsen - - * TODO: Add comment on how link problems should really be fixed. - * TODO: List memleak problem for sane_get_devices(). - - * configure.in include/sane/config.h.in: Really move definition of - SCSIBUFFERSIZE from CFLAGS to config.h. - - * configure.in testsuite/*: Started on runtime test suite. - Currently only tests if PNM test scanning works. - - * sanei/sanei_constrain_value.c sanei/sanei_load_values.c - sanei/sanei_save_values.c: Include "sane/sanei.h" to make sure the - prototype match the function. - - * backend/pnm.c: Write more sensible error message when failing to - open PNM file. - - * include/sane/sanei_backend.h: Include before testing - for O_NONBLOCK and before testing for PATH_MAX to - increase the chances of getting the real value. - -2001-02-12 Petter Reinholdtsen - - * backend/dll.c backend/v4l.c: Get rid of small memory leak when - using 'scanimage -L'. - -2001-02-10 Tom Martone - - * backend/bh.c backend/bh.h doc/sane-bh.man - added support for Copiscan 8000 series by Mark Temple - added options deskew and rotation - inquiry compares product to COPISCAN rather than COPISCAN II - -2001-02-04 Peter Kirchgessner - - * hp-backend V0.94, backend/hp.c hp-handle.c hp-scl.h: - Switch off lamp after scan - -2001-01-31 Abel Deuring - - * sanei/linux_sg3_err.h: New version provided by Douglas Gilbert. - Does not longer #include and - #include - * sanei/sanei_scsi.c (Linux part): fixed some format errors in - debug output; added debug: system("cat /proc/scsi/sg/debug 1>&2"), - if debug level >= 255. (Suggestion by Douglas Gilbert) - -2001-01-23 Oliver Rauch - - * TODO: sane-config changes - -2001-01-21 Tom Martone - - * backend/dll.conf: Added bh - -2001-01-21 Henning Meier-Geinitz - - * AUTHORS: Added Tom Martone. - * PROJECTS: Removed bh (now included in sane). - * README: Added entry for sane-bh(5). - * TODO: Removed bh. Updated BearPaw entry. Added entry about v4l - problem. - * backend/v4l.c: Changed comment as v4l is part of the sane package. - -2001-01-20 Tom Martone - - * doc/.cvsignore: Added sane-bh.5. - -2001-01-20 Tom Martone - - * backend/bh.c backend/bh.conf backend/bh.h doc/sane-bh.man - Added new backend Bell and Howell Copiscan scanners - * backend/bh.desc - Updated version from (0.1) to 1.0-4 - Referenced manpage - * backend/Makefile.in - Added bh to PRELOADABLE_BACKENDS - Added libsane-bh.la dependencies - * doc/Makefile.in - Added sane-bh.5 to SECT5 - -2001-01-17 Henning Meier-Geinitz - - * backend/mustek.c backend/mustek.desc backend/mustek.h - backend/mustek.CHANGES doc/sane-mustek.man: - Added 36 bit mode for Pro models. Removed support for "special" - modes, used options instead. Code cleanup. Updated manpage - concerning sane-find-scanner. New version: 1.0-104. - * configure: regenerated from configure.in. - -2001-01-14 Petter Reinholdtsen - - * sanei/sanei_scsi.c: Make sure to initialize uninitialized - variable 'defined' to zero. - - * include/sane/sanei_wire.h: Add missing prototype for - sanei_w_ptr() and sanei_w_bool(). - - * configure.in include/sane/config.h.in: Move definition of - HAVE_DEV_URANDOM and SCSIBUFFERSIZE from CFLAGS to config.h. - -2001-01-07 Abel Deuring - - * sanei/sanei_scsi-c: (Linux part) timeout for SCSI commands - sent with the SG driver version increased; debug output of - device status, host status, driver status and sense buffer - added. - -2001-01-09 Henning Meier-Geinitz - - * PROJECTS TODO: Added/updated entries about backends for Mustek - BearPaw and 1200 UB scanners. - -2001-01-07 Abel Deuring - - * sanei/sanei_scsi-c: (Linux part) improved detection of - sanei_scsi_max_request_size. Setting SANE_SG_BUFFERSIZE for - low drivers which don't support scatter-gather should - no longer be necessary. - * sanei/sanei_scsi-c: (Linux part) Added support for the new - devfs in sanei_scsi_find_devices- - * backend/sharp.c: Test for existence of shm.h added. - * TODO: Removed entry about missing detection of shm.h in sharp - backend. - -2001-01-03 Henning Meier-Geinitz - - * PROJECTS: Added Umax 1220P / HP3200C. - -2000-12-31 Henning Meier-Geinitz - - * tools/find-scanner.c: Removed. Now called sane-find-scanner. - * tools/sane-find-scanner: New file (was find-scanner). - * tools/.cvsignore tools/Makefile.in tools/README: Updated because - of name change. sane-find-scanner is installed now. - * README README.linux: Updated because of sane-find-scanner. - * frontend/scanimage.man: Updated because of sane-find-scanner. - * doc/sane-find-scanner.man: New file. - * doc/.cvsignore doc/Makefile.in: Added sane-find-scanner(1). - * TODO: Updated concerning sane-find-scanner. Added entry about - qcam /tmp file handling. Some spelling corrections. - -2000-12-31 Henning Meier-Geinitz - - * backend/mustek.CHANGES backend/mustek.c backend/mustek.desc - backend/mustek.h doc/sane-mustek.man: Added calibration for Pro - scanners and the SE 12000 SP Plus. Added option to use the full - legal size of the Paragon 1200 LS scanner. Added fast preview for - Pro scanners. Bug fixes. New version: 1.0-103. - -2000-12-25 Karl Heinz Kremer - - * TODO: Removed entry about net/saned crashes. - * backend/net.c: Fixed segfault when using SANE_TYPE_STRING options - (e.g. scanimage on localhost). Added checks to prevent other - segfaults. Fixed some warnings. - * backend/snapscan.desc: Changed to use new homepage. - -2000-12-23 Henning Meier-Geinitz - - * NEWS: Added date of release. - * TODO: Removed entries about PATH_MAX, sanei_scsi_find_devices, and - shm.h. Added entry about the necessity to check HAVE_SYS_SHM_H. - * configure configure.in include/sane/config.h.in: Default to - --enable-warnings again. Don't set "-ansi" for OS/2. Test for - sys/shm.h. - * backend/GUIDE: Moved to doc/backend-writing.txt. - * doc/backend-writing.txt: New file (moved from backend/GUIDE). - Added comments about sanei-backend.h and PATH_MAX. - * include/sane/sanei_backend.h: Added define for PATH_MAX (if - necessary). - * sanei/sanei_scsi.c: Implemented sanei_scsi_find_devices for FreeBSD - (from ports@FreeBSD.org). - * tools/Makefile.in: Use INSTALL_SCRIPT instead of INSTALL_PROGRAM for - sane-config (from ports@FreeBSD.org). - diff --git a/ChangeLog-1.0.6 b/ChangeLog-1.0.6 deleted file mode 100644 index d8c007f..0000000 --- a/ChangeLog-1.0.6 +++ /dev/null @@ -1,667 +0,0 @@ -****** Release of sane-backends 1.0.6. End of code freeze ****** - -2001-11-04 Henning Meier-Geinitz - - * sane-backends.lsm: Added keyword gphoto. - -2001-10-31 Peter Fales - - * acinclude.m4, aclocal.m4, configure - Fix build failure due to - renaming of gphoto2 header files - -2001-10-30 Henning Meier-Geinitz - - * backend/apple.desc: Updated URL. - * backend/canon_pp.desc: Fixed two wrong scanner names (from - "Matthew Duggan" ). - * backend/m3091.desc backend/m3096.desc backend/sp15c.desc: - Updated URL. - -2001-10-29 Peter Fales - - * backend/dc25.desc - Update URLs - -2001-10-19 Oliver Rauch - - * set correct backend version number in backend/umax.desc - - -****** code freeze sane-1.0.6 / sane-pre1-1.0.6 ***** - - -2001-10-29 Henning Meier-Geinitz - - * backend/microtek2.desc: Added missing scanner descriptions (from - karsten.festag@t-online.de (Karsten Festag)). - * NEWS: Updated version numbers. Added release date. - * configure configure.in: New version: 1.0.6. Disabled warnings by - default. - -2001-10-28 Peter Fales - - * backend/gphoto2.c, backend/gphoto2.conf: the ghoto2 people - made some pretty radical changes to the API and broke - the gphoto2 backend. Made the changes to allow the - gphoto2 backend to work with the latest changes from the - gphoto2 library CVS. - -2001-10-28 Karl Heinz Kremer - - * backend/epson.c: Fixed bug in recognition of faulty Perfection 1650 - -2001-10-28 Henning Meier-Geinitz - - * TODO: Removed entry about @LIBDIR@ and @CONFIGDIR@ in man pages. - Added Entry about sanei_scsi return values and timeout. - * backend/microtek2.desc backend/microtek2.h doc/sane-microtek2.man: - Increased version number to 0.95. Updated man page. Patch from - karsten.festag@t-online.de (Karsten Festag). - -2001-10-27 Peter Kirchgessner - - *backend/hp-accessor.c hp-device.c hp-handle.c hp-hpmem.c hp-option.c - hp-scl.c: - Use ../include/lassert.h - -2001-10-17 Oliver Rauch - - * umax backend bugfixes (new version number: 1.0 build 31): - man page uses @LIBDIR@ and @CONFIGDIR@, - calibration fix for Supervista S-12 and compatible scanners - directory backend: - umax.c umax-scanner.c umax-scsidef.h - directory doc: - sane-umax.man /umax/sane-umax-advanced-options-doc.html - umax/sane-umax-standard-options-doc.html umax/umax.CHANGES - -2001-10-27 Oliver Schwartz - - * backend/Makefile.in backend/snapscan-usb.c - backend/snapscan-usb.h backend/snapscan.c - backend/snapscan.h - Check USB vendor ID to avoid USB hangup - Fix dither matrix computation bug - -****** snapshot 2001-10-27 ***** - -2001-10-26 Oliver Schwartz - - * backend/snapscan.conf - Make /dev/sga the default device to avoid USB hangup - -2001-10-26 Henning Meier-Geinitz - - * TODO: Removed net/saned cancel problem. Added entry about - clarifying sane_get_select_fd/sane_cancel in sane.tex. - Added entry about sanei_usb and control messages. - * sanei/sanei_usb.c: Fixed vendor/device detection for Linux - versions >= 2.4.13. - -2001-10-25 Oliver Schwartz - - * NEWS backend/snapscan.c backend/snapscan.desc - Change snapscan backend version number to 1.4.0 - -2001-10-24 Henning Meier-Geinitz - - * backend/microtek2.c backend/microtek2.desc backend/microtek2.h - doc/sane-microtek2.man: Updated microtek2 backend to build - 20011023 (from karsten.festag@t-online.de (Karsten Festag)). - Bugfix for scsi_read_image_status - supports now the old and the - new method. Improved backend-calibration supports brightness and - contrast settings and color balancing. Enable 12 bit per color - scanning with Scanmaker 9600XL (and other types that use the segreg - pixel transfer format and support 12 bit, untested). 10 bit does not - work yet. Make C6 USB work. - -2001-10-24 Oliver Schwartz - - * doc/sane-snapscan.man - Documentation update. - -2001-10-23 Oliver Schwartz - - * backend/snapscan-scsi.c - Limit number of scan lines for quality calibration to fit in - SCSI buffer. - -2001-10-21 Peter Kirchgessner - - * backend/hp.desc, doc/sane-hp.man - Add support for OfficeJet PSC 900 series - -2001-10-20 Karl Heinz Kremer - - * backend/epson.[ch]: Fix for older Perfection 1650 scanners - - their firmware only reports half of the vertical scanning - area and they need to swap two color channels. - -2001-10-19 Henning Meier-Geinitz - - * PROJECTS: Added Coolscan2 backend. - -2001-10-15 Peter Fales - - * backend/gphoto2.c, backend/gphoto2.h: Cosmetic cleanup - -****** Feature freeze for sane-1.0.6 is active ***** -****** snapshot 2001-10-15 ***** - -2001-10-15 Henning Meier-Geinitz - - * TODO: Removed some entries about net/saned. - * doc/saned.man: Clear up that a FQDN must be used in - saned.conf and that localhost is allways granted acces. - * NEWS: Updated. - -2001-10-14 Jochen Eisinger - - * backend/mustek_pp.conf: added comment about changes in - the naming of ports in 2.4.x - -2001-10-13 Oliver Rauch - - * backend/umax.c, bachend/umax-scanner.c, backend/umax.desc, - doc/umax/sane-umax-config-doc.html, doc/umax/umax.CHANGES, - doc/sane-umax.man: - update to sane-umax-1.0 build 30: - - added EDGE KTX-9600US as supported scanner - - Changing scansource does not change lower left selection - edge if not necessary - -2001-10-12 Oliver Schwartz - - * backend/snapscan-scsi.c backend/snapscan.h - backend/snapscan.c - Update to snapscan-20011012 - -2001-10-12 Henning Meier-Geinitz - - * sanei/sanei_wire.c: Added debug output (based on patch - from Jochen Eisinger ). - * backend/net.c backend/net.desc: Better and more debug output - (based on patch from Jochen Eisinger ). - Fixed some debug output and formatting issues of the byte order - patch. Increased version number to 1.0.5. - * frontend/saned.c: More debug output. Used DBG instead of - fprintf/perror. Fixed some formatting issues. - -2001-10-10 Jochen Eisinger - - * sanei/sanei_wire.c: replaced memcpy with memmove - -2001-10-10 Jochen Eisinger - - * PROJECTS: added URL to HP ScanJet 2200c project - -2001-10-10 Henning Meier-Geinitz - - * backend/m3096g-scsi.h backend/m3096g.c backend/m3096g.h - doc/sane-fujitsu.man: Update (from Oliver Schirrmeister - ). Added: Support for ipc2/3 and cmp2 options; - support for duplex-scanners m3093DG, m4097DG; constraint checking - for m3093; support EVPD (virtual product data); support ADF paper - size spezification. - * AUTHORS: Added Oliver Schirrmeister for m3096g, removed the active - sign (*) from Randolph Bentson. - -2001-10-09 Peter Fales - - * backend/dc210.c, backend/dc210.h: Fix compiler warnings - -2001-10-09 Oliver Schwartz - - * backend/snapscan-scsi.c backend/snapscan-usb.c - backend/snapscan.c - Fix compiler warnings - -2001-10-09 Peter Fales - - * backend/gphoto2.desc: Yet another try at getting a format that - generates the right web page. - -2001-10-09 Henning Meier-Geinitz - - * backend/ibm.desc: Removed old entry. - * backend/sm3600.desc: Changed status to :alpha. - * doc/sane-agfafocus.man: Fixed some small mistakes. - * doc/sane-apple.man: Fixed some small mistakes. Added link - to mostang.com mailing list archive. - * doc/sane-artec.man: Fixed spelling mistake and formatting issues. - * doc/sane-nec.man: Fixed problem with table. - * doc/sane-sharp.man: Fixed problem with table. - * backend/sharp.desc: Added link to sane-sharp manual page. - * doc/sane_mustek_pp.man: Removed link to sane-musteka4s2 (doesn't - exist). - * doc/sane-abaton.man doc/sane-agfafocus.man doc/sane-apple.man - doc/sane-bh.man doc/sane-microtek.man doc/sane-pint.man - doc/sane-st400.man: Added link to mostang.com mailing list page. - * backend/net.c backend/net.desc: Fixed byte order problems for 16 - bits per color image data (from mh ). - * TODO: Removed entries about .desc files, man pages and net.c - byte-order problem. - -2001-10-09 Oliver Schwartz - - * backend/snapscan-scsi.c backend/snapscan-sources.c - backend/snapscan-sources.h backend/snapscan-usb.c - backend/snapscan-usb.h backend/snapscan.c - backend/snapscan.conf backend/snapscan.desc - backend/snapscan.h - Update to snapscan-20011008 - -2001-10-08 Peter Fales - - * backend/gphoto2.desc: Another try at getting a format that - generates the right web page. - -2001-10-08 Henning Meier-Geinitz - - * backend/ibm.desc: New file. Backend for the IBM 2456 and the - Ricoh IS-410. - * PROJECTS: Added IBM backend. Removed gphoto2 (now included in - distribution). - -2001-10-07 Peter Fales - - * backend/gphoto2.desc: Cleaned up syntax errors - doc/sane.man: Added gphoto2 backend to digital camera section - AUTHORS: Added gphoto2 backend/author - -2001-10-07 Henning Meier-Geinitz - - * backend/mustek_usb.c backend/mustek_usb.conf backend/mustek_usb.desc - backend/mustek_usb_high.c backend/mustek_usb_high.h - backend/mustek_usb_low.c backend/mustek_usb_low.h - backend/mustek_usb_mid.c backend/mustek_usb_mid.h - doc/mustek_usb/mustek_usb.CHANGES: Fixed problem with 1200UB - sensor detection. Started work on 1200 USB. New version: - 1.0-7. - -2001-10-07 Oliver Rauch - - * created directory "po" - added files po/epson.de.po and po/umax.de.po - - we have to define how we will handle (include+install) - translations, in the moments the files are only added - to the directory structure without any function - - -2001-10-06 Henning Meier-Geinitz - - * backend/canon_pp.desc: New file (from Matthew Duggan - . - -2001-10-05 Henning Meier-Geinitz - - * TODO: Removed entries about hp and plustek backends. - * backend/microtek2.c backend/microtek2.h doc/sane-microtek2.man: - Updated Microtek2 backend to version 0.9 build 20010828 (from - Karsten Festag ). - * NEWS: Updated. - -2001-10-04 Peter Kirchgessner - - * backend/hp-accessor.c hp-device.c hp-handle.c hp-hpmem.c - hp-option.c hp-scl.c - Use include "../include/assert.h" - doc/sane-hp.man - Tell about subscribing to sane-devel - -2001-10-03 Henning Meier-Geinitz - - * README.hp-ux: Lots of new and updated information (from - Michael Piotrowski ). - -2001-10-02 Henning Meier-Geinitz - - * backend/dll.c backend/dll.desc: HP/UX uses .sl for shared libs. - Changed status to "stable". Increased version number. - * tools/sane-find-scanner.c: Check for __hpux instead of __hpux__. - -2001-10-01 Henning Meier-Geinitz - - * TODO: Added possible saned problem with (not) fully qualified - domain names. - -2001-09-29 Peter Fales - - * backend/gphoto2.c, backend/gphoto2.h, backend/gphoto2.desc: - Cosmetic cleanup and minor fixes. Added list of gphoto2 - supported cameras to gphoto2.desc, even though most of them - are not tested and probably not working yet. - -2001-09-24 Peter Fales - - * backend/gphoto2.c, backend/gphoto2.h, backend/gphoto2.conf: - Cosmetic cleanup and changes to reflect changes to the gphoto2 - API. - -2001-09-23 Henning Meier-Geinitz - - * TODO: Added SCSI problem with Linux/Sparc. - -2001-09-21 Henning Meier-Geinitz - - * sanei/sanei_scsi.c: Fixed detection of SCSI devices that return - device strings (vendor, product) consisting of spaces. - sanei_scsi_req_enter2 was changed to copy the CDB and data before - sending it to the device. Both patches are from Abel Deuring. - * sanei/sanei_config2.c: Removed some remainings of the USB merge. - -2001-09-18 Henning Meier-Geinitz - - * backend/umax1220u.desc: New file (from Marcio Luis Teixeira - ). - * PROJECTS: Updated Winsane address. - * TODO: Added net/saned and .desc file entries. Removed scanimage/adf - extention entry. - * backend/pnm.c backend/pnm.desc: Make sure that *length=0 in - sane_read(). Added more debug output. - -2001-09-18 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp.desc: - corrected compile problem when no ppdev available, - changed status from :new to :beta. - -2001-09-17 Peter Fales - - * backend/gphoto2.c: Converted from test code using pipes to - the command line program to using the camera API. Currently - only supportes cameras that natively generate jpeg files. - -2001-09-17 Tom Martone - * backend/bh.desc - changed status from :new to :beta - -2001-09-17 Simon Munton - * backend/pie.c backend/pie.conf: Changed ADLIB to AdLib as this is - what the scanner returns and the comparison is case sensitive - - * doc/sane-pie.man: Update the status of the AdLib JetScan 630 - -2001-09-17 Henning Meier-Geinitz - - * PROJECTS: Removed (very) old entries. Removed backends which - are included in the distribution now. Updated bearpaw and OS/2 - entries. - * NEWS: Created preliminary entry for 1.0.6. - -2001-09-16 Peter Fales - - * backend/dc240.desc: Change status from new to alpha - - acinclude.m4, aclocal.m4, configure: Cosmetic changes to - help text and change function used in gphoto2 lib check due - to API change - -2001-09-16 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp_mid.c - tools/umax_pp.c: - change ppdev support to compile and run on linux kernel - prior to 2.4.5 - -2001-09-13 Henning Meier-Geinitz - - * backend/mustek_usb.c backend/mustek_usb.desc - backend/mustek_usb_high.c backend/mustek_usb_high.h - backend/mustek_usb_mid.c backend/mustek_usb_mid.h - doc/sane-mustek_usb.man doc/mustek_usb/mustek_usb.CHANGES - doc/mustek_usb/mustek_usb.TODO: Update to mustek_usb backend - 1.0-6. Increased resolution to the maximum hardware supports. - No fixed resolution any more. Gamma table support. Bugfixes. - -2001-09-12 Peter Fales - - * acinclude.m4 aclocal.m4 configure configure.in: Changes to - start using gphoto2 libraries in gphoto2 backend - - backend/gphoto2.c backend/gphoto2.h: Use gphoto2 headers and - library functions for list management - -2001-09-12 Peter Fales - - * backend/doc/.cvsignore: Added gphoto2 man page to .cvsignore - -2001-09-11 Peter Fales - - * backend/doc/Makefile.in: Added man page for gphoto2 backend - -2001-09-11 Henning Meier-Geinitz - - * backend/Makefile.in: Added mustek_usb again. - -2001-09-10 Peter Fales - - * backend/gphoto2.c, backend/Makefile.in, configure.in, configure, - acinclude.m4, aclocal.m4: Add gphoto2 backend to Makefiles. - It's disable if the gphoto2 program is not present. - -2001-09-10 Henning Meier-Geinitz - - * backend/mustek.c backend/mustek.desc doc/mustek/mustek.CHANGES: - Fixed problem with gamma correction. New version: 1.0-113. - * backend/mustek_usb.c backend/mustek_usb.desc - backend/mustek_usb_high.c backend/mustek_usb_low.c - backend/mustek_usb_low.h backend/mustek_usb_mid.c - backend/mustek_usb_mid.h doc/mustek_usb/mustek_usb.CHANGES: - 200 dpi support for 600 CU. Some internal reorganizations. - New version: 1.0-5. - -2001-09-09 Henning Meier-Geinitz - - * backend/mustek_usb.c backend/mustek_usb.conf - backend/mustek_usb.desc backend/mustek_usb.h - backend/mustek_usb_high.c backend/mustek_usb_high.h - backend/mustek_usb_low.c backend/mustek_usb_low.h - backend/mustek_usb_mid.c backend/mustek_usb_mid.h: - Added backend mustek_usb for Mustek USB scanners. Currently the - 600 CU, 1200 CU, 1200 CU Plus and 1200 UB are supported. - * backend/Makefile.in dll.conf: Added entries for mustek_usb. - * doc/Makefile.in doc/mustek_usb/mustek_usb.CHANGES - doc/mustek_usb/mustek_usb.TODO doc/sane-mustek_usb.man: - Added mustek_usb documentation. - * doc/sane.man: Updated concerning mustek_usb. - * PROJECTS TODO: Updated concerning mustek_usb. - * doc/.cvsignore: Added sane-mustek_usb.5. - * AUTHORS: Added mustek_usb authors. - * backend/pnm.c: Fixed SANE-standard compliancy bug in sane_read: - length must be set to 0 if status != SANE_STATUS_GOOD. - -2001-09-08 Oliver Rauch - - * added information for device filesystem permissions - in doc/sane-scsi.man - -2001-09-06 Peter Fales - - * backend/gphoto2.c, backend/gphoto2.h, backend/gphoto2.conf, - backend/gphoto2.desc, doc/sane-gphoto2.man: Initial files - for gphoto2 backend (interface to cameras supported by the - gphoto2 commands/libraries). Makefile changes coming soon. - -2001-09-06 Stphane Voltz - - * backend/umax_pp_low.c: made CmdSetDataBuffer static - * backend/Makefile.in: removed sanei_config2 from - umax_pp depencies - -2001-09-05 Jochen Eisinger - - * backend/net.c: ignoring size of parameter value for - SANE_ACTION_SET_AUTO (as described in the SANE standard) - -2001-09-05 Henning Meier-Geinitz - - * sanei/sanei_ab306.c: Added FreeBSD support. - * include/sane/sanei_usb.h sanei/sanei_config2.c sanei/sanei_usb.c: - Moved the function to check the "usb VENDOR PRODUCT" config - lines to sanei_usb to avoid linking problems. - * backend/Makefile.in: Fixed spelling mistakes concerning st400. - * Makefile.in: make libcheck now also prints the name(s) of the - `illegal' functions. - -2001-09-04 Henning Meier-Geinitz - - * PROJECTS: Added m3096g updates and website. Added 600CU to list - of supported Mustek USB scanners. - -2001-09-04 Jochen Eisinger - - * backend/net.desc doc/saned.man doc/sane-net.man: added - pointer to new saned homepage - (http://home.nexgo.de/jochen.eisinger/saned/) - -2001-09-04 Peter Kirchgessner - - * backend/hp-device.[hc] hp-handle.c hp-scl.[hc] - hp-option.[hc] hp.[hc] hp.desc - doc/sane-hp.man: - Add support for active XPA - Check if paper in ADF for ADF scan - Add option lamp off - Remove some really unused parameters - -2001-09-04 Peter Fales - - * backend/PROJECTS: Added gphoto2 project to provide support - for some or all of the cameras supported by gphoto2. (See - http://www.gphoto.org) - -2001-09-03 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp_mid.c - backend/umax_pp_mid.h backend/umax_pp.c tools/umax_pp.c: - Make use of ppdev char device when available, so that - the backend does not require root priviledges anymore. - -2001-08-30 Henning Meier-Geinitz - - * backend/Makefile.in: Added sanei_usb dependency. - -2001-08-26 Henning Meier-Geinitz - - * backend/dll.c doc/sane.man frontend/scanimage.c sanei/sanei_usb.c - tools/sane-find-scanner.c : Fixed minor bugs in debug output and - documentation. - * backend/mustek.c backend/mustek.desc doc/sane-mustek.man - doc/mustek/mustek.CHANGES: Update to backend version 1.0-112. - Some minor fixes for returning the scan slider and OS/2. - -2001-08-26 Oliver Rauch - - * backend/umax.c backend/umax.desc doc/umax/umax.CHANGES: - umax scsi backend update to version 1.0 build 29 - -2001-08-19 Stphane Voltz - - * backend/umax_pp_low.c tools/umax_pp.c: - Finished probe code cleaning, increased version number - -2001-08-16 Henning Meier-Geinitz - - * configure configure.in: Fixed bug concerning libusb that - broke compilation on NetBSD. - * doc/sane-find-scanner.man doc/sane-usb.man sanei/sanei_usb.c - tools/sane-find-scanner.c: Added (limited) support for FreeBSD. - -2001-08-11 Henning Meier-Geinitz - - * include/sane/sanei_thread.h sanei/sanei_thread.c: Updated - sanei_thread functions (from Yuri Dario) and made clear that - they shouldn't be used directly. - * include/sane/sanei_usb.h sanei/Makefile.in sanei/sanei_usb.c - doc/Makefile.in doc/sane-usb.man: Added sane USB interface. - * include/sane/sanei_config.h sanei/sanei_config2.c: Added support - for searching USB devices ("usb vendor product"). - * doc/sane-find-scanner.man tools/Makefile.in - tools/sane-find-scanner.c: Added USB support. - * doc/sane.man: Added information for USB scanners. - * TODO: Removed USB entries. Removed entry about checking for - /etc/ld.so.conf, this shouldn't be necessary any longer. Removed - entry about saned freezing, no bug reports about this for a long - time. Removed entry about moving .desc files, this doesn't seem to - be necessary. Added proposal to include libieeee1284. - * doc/.cvsignore: Updated concerning sane-usb.5. - -2001-08-05 Peter Fales - - * backend/dc240.c - Previously, the backend always assumed that - the images were stored in the 100DC240 directory in the - camera. It now determines the directory automatically. If - multiple directories are present, it will eventually let you - pick the directory, but that feature hasn't been completed - yet. - -2001-08-05 Henning Meier-Geinitz - - * backend/mustek_usb.desc: New file. This backend supports - the Mustek 1200UB, 1200CU and 1200CU Plus. - - * PROJECTS TODO: Updated concerning mustek_usb backend. - -2001-08-01 Henning Meier-Geinitz - - * PROJECTS TODO: Added UMAX Astra 1220U backend. - -2001-08-01 Stphane Voltz - - * doc/sane-umax_pp.man backend/umax_pp_low.c: - One more step toward cleaner scanner probing. Added - message about EPP mode not being available. Slight man - update to emphasize EPP mode setting. - -2001-07-24 Stphane Voltz - - * backend/umax_pp.c backend/umax_pp_low.c: - Fixed higlight parsing bug in conf file. Fixed 'greenish' - looking scans bug. Started probe sequence rewrite/cleanup. - -2001-07-18 Henning Meier-Geinitz - - * sanei/sanei_init_debug.c: Use syslog.h instead of sys/syslog.h. - -2001-07-18 Henning Meier-Geinitz - - * backend/mustek.c backend/mustek.desc doc/mustek/mustek.CHANGES: - Call stop_scan only when scan was cancelled. Some more debug - messages. New version: 1.0-111. - -2001-07-11 Peter Fales - - * backend/dc240.c - Using scanimage with the "thumbnails" option - and attempting to connect to a powered off camera was causing - a core dump. - -2001-07-11 Henning Meier-Geinitz - - * backend/mustek.c backend/mustek.desc backend/mustek.h - doc/mustek/mustek.CHANGES: Fixed bug in fix_line_distance_block - that resulted in too much data transfered to the frontend. - New version: 1.0-110. - -2001-07-09 Henning Meier-Geinitz - - * backend/mustek.c backend/mustek.conf backend/mustek.desc - backend/mustek.h doc/sane-mustek.man doc/mustek/mustek.CHANGES: - Fixed problem with SCSI command queuing. Fixed problem that - resulted in black images on some Paragon 6000SP scanners. Added - option to disable backtracking. New version: 1.0-109. - -2001-07-07 Henning Meier-Geinitz - - * doc/Makefile.in: Use 6 lines as top/bottom margin for man2html - to avoid losing 2 lines at every page break. - * backend/mustek.c backend/mustek.conf backend/mustek.desc - doc/sane-mustek.man doc/mustek/mustek.CHANGES: Added option - for disabling double-buffering. Updated man page. New version: - 1.0-108. - -2001-07-02 Henning Meier-Geinitz - - * configure configure.in: Enabled warnings by default. - -Older entries can be found in ChangeLog-1.0.5. diff --git a/ChangeLog-1.0.7 b/ChangeLog-1.0.7 deleted file mode 100644 index d0cabcd..0000000 --- a/ChangeLog-1.0.7 +++ /dev/null @@ -1,856 +0,0 @@ -****** Release of sane-backends 1.0.7. End of code freeze ****** - -2002-02-03 Henning Meier-Geinitz - - * acinclude.m4 aclocal.m4 configure: Added a missing "test" command - in check for gphoto2. This fixes error messages while testing for - gphoto2 and a false positive result. - * TODO: Added entries about config.h, sane-backends.html, device file - types, the HPUX -ansi problem, and make distclean. - * backend/Makefile.in backend/coolscan2.desc: Added description file - for coolscan2 backend (from Major Andras - ). - * backend/gphoto2.desc: gphoto2 is no longer "NEW". - -2002-02-02 Henning Meier-Geinitz - - * PROJECTS: Added info about Canon N670U project. Added info about - Sceptre S1200 project. - * backend/sceptre.desc backend/Makefile.in: New file (from Frank Zago - ). - * backend/microtek2.desc doc/sane-microtek2.man: Updated microtek2 - documentation (from karsten.festag@t-online.de (Karsten Festag)). - * Makefile.in README.netbsd: New file. Information about problems - with shared libs. - * configure configure.in: Include and also - when checking for struct semun in . This fixes a - compilation problem on FreeBSD. - -2002-01-31 Peter Fales - - * configure, acinclude.m4, aclocal.m4 - Latest gphoto2 updates - changed the version number, breaking the gphoto2 backend. This - is a one line change to correct that. - -2002-01-31 Henning Meier-Geinitz - - * PROJECTS: Added info about GT-68xx backend. - -2002-01-29 Henning Meier-Geinitz - - * configure configure.in: New version: 1.0.7. Disabled extra version. - Disabled warnings by default. - * TODO: Added entry about adding well known types and manufacturers - to sane.tex. - ----- CODE FREEZE FOR SANE 1.0.7 --- ----- sane-backends-1.0.7-beta2 ---- - -2002-01-27 Gerhard Jaeger - - * backend/plustek-usbhw.c: Fixed LM9831 problem... - -2002-01-27 Henning Meier-Geinitz - - * backend/microtek.c backend/microtek2.h: Fixed undefined behaviour - problem and Scanmaker X12 problems. New version: 20020127. Code from - karsten.festag@t-online.de (Karsten Festag). - * lib/inet_ntop.c: Fixed problem with header include order on Irix. - * configure configure.in backend/snapscan-usb.c - include/sane/config.h.in: Only define union semun if not already - defined in . Fixes compilation bugs on Irix and FreeBSD. - -2002-01-26 Henning Meier-Geinitz - - * NEWS: Updated for sane-backends 1.0.7. - * TODO: Added point about sane-find-scanner. Added details about - NetBSD linking problem. - -2002-01-25 Karl Heinz Kremer - - * backend/epson.desc, doc/sane-epson.man: Added Perfection - 1650 and 2450 scanners to supported scanners list. - -2002-01-25 Abel Deuring - * frontend/scanimage.c: illegal placeholders in the -f format - string are now replaced by "%%". (Bug found by Peter Fales) - -2002-01-25 Gerhard Jaeger - - * backend/plustek-usb.h: changed according to avoid - some gcc-3 warnings - * docb/sane-plustek.man: Update - -2002-01-24 Henning Meier-Geinitz - - * po/Makefile.in: Added SHELL variable. Fixes po generation on OS/2. - * po/README: Added some comments on what the Makefile actually does. - * doc/backend-writing.txt doc/sane.man: Added note about doxygen - configuration for sanei. - -2002-01-24 Stphane Voltz - - * backend/umax_pp_low.c: corrected 2000P mis-detection by adding - pauses in epat wake-up. - -2002-01-23 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-scsi.c backend/snapscan.h - Fix recognition of Acer 320U, Fix for spaces in model ID strings, - Change snapscan version to 1.4.7 - -2002-01-23 Henning Meier-Geinitz - - * backend/mustek.c backend/mustek_usb.c doc/mustek/mustek.CHANGES - doc/mustek_usb/mustek_usb.CHANGES: Fixed undefined operation - warnings. - -2002-01-22 Oliver Schwartz - - * backend/snapscan.c: - Do not use quantization for scan areas - * backend/snapscan-scsi.c: - Add sense handling for sense code 0x0b to avoid infinite loops, - Change snapscan version to 1.4.6 - * backend/snapscan.conf - Use /dev/sg0 as default instead of the more uncommon /dev/sga - ----- sane-backends-1.0.7-beta1 ---- - -2002-01-21 Henning Meier-Geinitz - - * TODO: Made entry about TL_X < BR_X, jpeg->sanei, and sanei_scsi - more exact. Added entry about new version of libtool. Removed entry - about exit(). - * backend/Makefile.in po/Makefile.in: Added missing files to DISTFILES. - Fixed incompatibilities with older versions of gmake. - -2002-01-21 Oliver Rauch - - * doc/sane-umax.man, backend/umax.conf: - added new umax.conf options and explaination - -2002-01-20 Gerhard Jaeger - - * backend/plustek.c: change the options names to match SANE standard - * backend/plustek-usbhw.c backend/plustek-usbio.c - backend/plustek-usbscan.c: - Minor fixes, according to the National Sources - -2002-01-20 Abel Deuring - * sanei/sanei_scsi.c: set timeout value for all operating - systems to 1 minute. The timeout value is now derived from - the macro SANE_SCSICMD_TIMEOUT. - -2002-01-20 Henning Meier-Geinitz - - * backend/mustek.c backend/mustek.desc doc/mustek/mustek.CHANGES: - Fixed calibration bug for the 1200 Pro. New version: 1.0-118. - * include/sane/sanei_thread.h: Removed */. - * backend/tamarack.c: Used return SANE_STATUS_INVAL instead of exit. - -2002-01-19 Peter Fales - - * backend/gphoto2.c - Fixed a bug that can cause driver errors - following image capture, and bug that was incorrectly disabling - thumbail previews. - -2002-01-19 Oliver Rauch - - * updated umax.de.po - -2002-01-19 Henning Meier-Geinitz - - * TODO: Removed entries about kill(-1,...), wrong .desc links, - sanei documentation, added entries about exit(), and sanei - doxygen documentation. - * backend/mustek.c doc/mustek/mustek.CHANGES: Fixed some option - name issues. - * doc/sane-mustek-usb.man: Fixed typo. - * po/Makefile.in po/README po/epson.de.po po/mustek.de.po - po/mustek_usb.de.po po/plustek.de.po po/pnm.de.po po/saneopts.de.po - po/umax.de.po: Moved the options contained in saneopts.h into a - seperate file. So the backend po files are much smaller and easier to - read and the saneopts translations are consistent through backends. - * backend/microtek2.c backend/microtek2.h: Update to backend - 0.95-20020112 (from karsten.festag@t-online.de (Karsten Festag)). - * include/sane/sanei.h include/sane/sanei_config.h - include/sane/sanei_thread.h sanei/sanei_config.c: Made documentation - doxygen-compatible. Move comments from sanei_config.c to - sanei_config.h. - -2002-01-18 Karl Heinz Kremer - - * backend/epson.c: Also recognize the GT-xxxx scanners when connected via - SCSI or IEEE-1394 interface - -2002-01-17 Peter Fales - - * configure, acinclude.m4, aclocal.m4 - Update gphoto2 version check - * backend/gphoto2.c - Improved support for options not - supported by camera. Cosmetic cleanup. - -2002-01-18 Rene Rebe - - * docs/sane-avision.man: added the new disable-gamma-table option - to the sane-avision man-page. - -2002-01-18 Rene Rebe - - * backend/avision.h, backend/avision.c, backend/avision.conf: - many cleanups, fixed sane_cancel to not hang - but perform the - cancel, added a disable-gamma-table option and added the possible - options into the avision.conf file - -2002-01-18 Henning Meier-Geinitz - - * doc/Makefile.in: Added doxygen-sanei.conf to DIST_FILES. - -2002-01-17 Henning Meier-Geinitz - - * include/sanei/sanei_usb.h: Made documentation doxygen compatible. - -2002-01-17 Peter Fales - - * backend/gphoto2.c, doc/sane-gphoto2.man - Remove calls to exit() - Support cameras which store all files in top-level directory - -2002-01-17 Peter Fales - - * configure, acinclude.m4, aclocal.m4 - (Really) disable - gphoto2 backend unless specifically requested by the user (using - --with-gphoto2) and the right CVS version of gphoto2 is found - -2002-01-17 Rene Rebe - - * backend/avision.c removed to call exit in a debug case - -2002-01-17 Gerhard Jaeger - - * backend/plustek.c backend/plustek.h - Fixed conditional compilation problem - Updated localization strings - * doc/sane-plustek.man: Updated - * po/plustek.de.po: Updated - * doc/doxygen-sanei.conf: Added doxygen configuration file for - the sane libs - * include/sane/sanei.h include/sane/sanei_ab306.h - include/sane/sanei_lm983x.h sanei/sanei_lm983x.c: - Updated to support doxygen comments - -2002-01-17 Peter Fales - - * configure.in, configure, acinclude.m4, aclocal.m4 - Disable - gphoto2 backend unless specifically requested by the user (using - --with-gphoto2) and the right CVS version of gphoto2 is found - -2002-01-17 Rene Rebe - - * backend/avision.h backend/avision.c backend/avision.desc - doc/sane-avision.man: Merged the Avision v0.3.0 backend. It - includes overall cleanups, improved supported device detection, - memory-leak fixes, new config-options, initial USB device and - color calibration support. Also upadted the homepage-url and the - sane-avision man-page. - -2002-01-16 Henning Meier-Geinitz - - * backend/abaton.desc backend/dmc.desc backend/m3096g.desc - backend/mustek.c backend/sp15c.desc backend/v4l.desc: - Updated broken URLs for which I could find new ones. Commented out - all the others. - -2002-01-15 Peter Fales - - * backend/gphoto2.c: Following yet another gphoto2 API change - - converted gp_debug_printf to gp_log - - configure.in, configure, acinclude.m4, aclocal.m4 - Improvements - to the way gphoto2 is detected and used based on using - gphoto2-config. - -2002-01-15 Henning Meier-Geinitz - - * backend/pnm.c backend/pnm.desc po/pnm.de.po: Removed descripions - of options of type SANE_TYPE_GROUP. Fixed some translations. - Fixed header. New version: 1.0.4. - * backend/plustek.c backend/plustek.h po/Makefile.in po/plusetk.de.po: - Added German translation of Plustek backend options. Marked - translatable text in backend sources. - -2002-01-14 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-usb.c: - Added workaround for bug in semctl() on PPC; - backend version 1.4.5 - -2002-01-14 Peter Fales - * backend/gphoto2.c: Was requiring the device to have the - IMAGE_CAPTURE capability - changed this to a warning instead - of an error so the "Directory Browse" camera can be used. - Don't require a port to be specified for the "Directory - Browse" camera. Fixed a bug that can result in extra data - at the end of the iamge. Allow the returned image image to be - larger than the "estimate" specified in the configuration file. - -2002-01-14 Henning Meier-Geinitz - - * frontend/scanimage.c: Added help message for --formatted-device-list. - Added va_end() and #include . Used fprintf to print errors. - Fixed some typos. - -2002-01-13 Abel Deuring - * frontend/scanimage.c, doc/scaniamge.man: Added the option -f / - --formatted-device-list to allow arbirtarily formatted device - lists. Suggested by Klaas Freitag. - -2002-01-13 Henning Meier-Geinitz - - * acinclude.m4 aclocal.m4 configure: Included AC_PROG_LIBTOOL into - acinclude.m4 to avoid trouble with newer versions of libtool. - * backend/niash.desc: New file for the niash backend (from Bertrik - Sikken ). - -2002-01-12 Peter Fales - - * backend/gphoto2.c - Fixed breakage due to gphoto2 API changes - (Added context parameter to functions calls) - -2002-01-12 Gerhard Jaeger - - * doc/sane-plustek.man: Update - * backend/plustek-devs.c backend/plustek-usb.c backend/plustek-usbhw.c - backend/plustek-usbio.c backend/plustek-usbscan.c - backend/plustek-usbshading.c backend/plustek.c: - Updated to reflect the current feedback upon the code and - added some minor fixes - * backend/plustek.desc: Added Mustek and HP entry - -2002-01-12 Gerhard Jaeger - - * include/sane/sanei_lm983x.h sanei/sanei_lm983x.c: - added sanei_lm983x_init(), updated comments and fixed the u_long - * AUTHORS: Added myself to the list of sanei authors. - -2002-01-12 Henning Meier-Geinitz - - * doc/sane.man doc/scanimage.man: Added link to scanadf. - -2002-01-11 Henning Meier-Geinitz - - * backend/qcam.c: Create lockfile with O_EXCL even when using fcntl - locking. Remove it in any case after exiting. Log file handling - is still buggy but this has to be done by someone who has a qcam. - * sanei/sanei_lm983x.c: Added #include (OS/2 complains - otherwise). - * backend/pnm.c backend/pnm.desc po/pnm.de.po: hand_scanner and - three_pass options need SANE_INFO_RELOAD_PARAMETERS. All options - have a symbolic name now. Removed bogus translation from po. New - version: 1.0.3. - * frontend/saned.c: Check that the IP addresses of the peer are the - same for control and data connections. Exit, if this is not the - case. Changed some debug levels. - * PROJECTS: Updated some URLs. Removed m3096g and Mustek BearPaw - (both are included now in SANE). Added test backend and SaneTwain. - * TODO: Removed primax (not a backend), fixed viceo URL, updated - qcam entries, added entries about ipv6 support, removed saned - address validation entry. Added entry about scanimage + NLS. - * backend/mustek_usb.c backend/mustek_usb.desc - backend/mustek_usb_high.c backend/mustek_usb_high.h - backend/mustek_usb_mid.c backend/mustek_usb_mid.h - doc/mustek_usb/mustek_usb.CHANGES po/mustek_usb.de.po: - Removed some warnings. Fixed segfault while exiting. Using empty - devicename works now. New version: 1.0-10. - -2002-01-10 Tom Martone - * backend/bh.c - addressed security issue with tempfile - -2002-01-10 Oliver Schwartz - - * backend/snapscan.c backend/snapscan.h backend/snapscan.desc: - Update to snapscan-20020110 (Version 1.4.4) - - add support for SnapScan e42 - -2002-01-10 Gerhard Jaeger - - * include/sane/sanei_lm983x.h sanei/sanei_lm983x.c sanei/Makefile.in: - Added to support for the National Semiconductor LM9831/2/3 chipsets - (read/write functions) - * backend/plustek.desc: Updated, added missing, now supported devices - * backend/plustek.c backend/plustek-share.h backend/plustek.h - backend/plustek.conf backend/plustek-usb.c backend/plustek-devs.c - backend/plustek-pp.c backend/plustek-usbhw.c backend/plustek-usbimg.c - backend/plustek-usbio.c backend/plustek-usbmap.c - backend/plustek-usbscan.c backend/plustek-usbshading.c - backend/plustek-usb.h: - Major changes to use the new sanei_lm983x functions - Changed the configuration file to reflect all the possible config-options - * backend/Makefile.in: Changed to compile the Plustek backend - -2002-01-10 Henning Meier-Geinitz - - * po/pnm.de.po: Added German translation for pnm backend. - * po/mustek.de.po po/mustek_usb.de.po: Updated German translations. - They should be complete now. - * po/Makefile.in README: Made Makefile more intelligent. Targets - are only updated if necessary. No manual copying necessary. - Added pnm.de.po to DISTFILES. Added comment about DISTFILES. - * backend/mustek_usb.desc: New status: beta. - * README: Added description of --enable-translations. - * doc/sane.man: Added comment about translations. - * Makefile.in: Added Changelogs to DISTFILES. test/Makefile is - removed in make distclean now. - * doc/backend-writing.txt: Added paragraph about getting started. - Added comments about ANSI C, compilation warnings, testing and - keeping manpages up-to-date. - * backend/pnm.c: Added SANE_I18N() marks. - * TODO: Cleanup. Moved several entries to doc/backend-writing.txt. - Moved some entries to more appropriate paragraphs. Added entry about - missing or defective links in the .desc files. Removed entry about - translations. - * lib/inet_ntop.c: Changed order of includes for OS/2 compatibility. - * frontend/scanimage.c: Added output of bytes scanned in total. - Added warning that's printed if scanimage gets more data then - expected from the parameters. - * include/Makefile.in: Added sanei_lm983x.h to DISTFILES. - * backend/qcam.c: Actually close the lock file when unlocking. - -2002-01-09 Henning Meier-Geinitz - - * ChangeLog ChangeLog-1.0.0 ChangeLog-1.0.1 ChangeLog-1.0.2 - ChangeLog-1.0.3 ChangeLog-1.0.4 ChangeLog-1.0.5: Splitted - ChangeLog to limit filesize. Editing became slow on smaller systems. - -2002-01-08 Marcio Teixeira - - * backend/umax1220u.c: fixed compile warnings - * backend/umax1220u-common.c: fixed compile warnings - * backend/umax1220u.desc: added info about 2000U, 2200U, 2200US - -2002-01-08 Henning Meier-Geinitz - - * configure configure.in: Added V_EXTRA version number to mark - CVS versions (-cvs) and snapshots/betas (e.g. -beta1). - V_EXTRA=-pre1 would result in "sane-backends-1.0.7-pre1(.tar.gz)". - For release, V_EXTRA is empty. Added NUMBER_VERSION to avoid - confusing sane-config and frontends that rely on numbered versions. - * tools/sane-config.in: Use @NUMBER_VERSION@. - * sane-backends.lsm: Made more compatible with LSM standard. Fixed - mostang.com directory. Added OpenBSD. - * include/Makefile.in: Added targed "dist". Moved include targets from - root dir to this file. Added standard variables and .PHONY. - * backend/Makefile.in doc/Makefile.in frontend/Makefile.in - japi/Makefile.in lib/Makefile.in po/Makefile.in sanei/Makefile.in - testsuite/Makefile.in tools/Makefile.in: Added target "dist". - Fixed .PHONY. - * Makefile.in: Added targets "dist" and "sane-backends". make dist - creates sane-backends-x.y.z.tar.gz and make sane-backends also - creates the appropriate sane-x-y-z.lsm. Moved distclean to include/. - Fixed .PHONY. Made sane-backands-*.lsm look nicer. - * doc/backend-writing.txt: Point to po/README for the I18N details. - * doc/releases.txt: Added "make sane-backends" procedure. - * po/Makefile.in: make now creates all the files, make install does - nothing but installation. - * README: Updated. Fixed minor bugs. - * AUTHORS: Added sanei authors. - * doc/saned.man: Added info about data connection. - * po/mustek.de.po: Updated German translation for the Mustek SCSI - backend. - * frontend/.gdbinit: Removed unnecessary file. - -2002-01-08 Stphane Voltz - - * configure.in: added help text for --enable-parport-directio - -2002-01-07 Henning Meier-Geinitz - - * PROJECTS: Added link to backend for HP Scanjet 3300C / 3400C - and 4300C scanners. Removed umax1220u project (now included in - sane-backends). - * po/Makefile.in po/README: Added basic support for translating - option descriptions and titles of SANE backends. This is really - alpha! - * po/epson.de.po po/umax.de.po: Updated by make update-po. - * po/mustek.de.po mustek_usb.de.po: Added German translations - for Mustek SCSI and USB backends. Translations for well-known - options are missing. - * Makefile.in configure configure.in: Added option - --enable-translations to configure. I18N support is disabled by - default. - * po/.cvsignore: New file. - * doc/sane-mustek_usb.man doc/mustek_usb/mustek_usb.CHANGES: - Added info about BearPaw scanners and plustek backend. - * backend/mustek.c backend/mustek.desc doc/sane-mustek.man - doc/mustek/mustek.CHANGES: - Small fix for Paragon 1200 Pro. Added some test code for this - scanner. Added Trust Imagery 1200 to man page and .desc. New - version: 1.0-117. - * backend/Makefile.in backend/dll.conf backend/umax1220u-common.c - backend/umax1220u.c backend/umax1220u.conf backend/umax1220u.desc: - Added new backend umax1220u for UMAX Astra 1220U and 2000U - scanners (patch from Marcio Luis Teixeira - ). - * doc/Makefile.in doc/sane.man doc/sane-umax1220u.man: Added - documentation fo umax1220u backend (patch from from Marcio Luis - Teixeira ). - * AUTHORS: Added Marcio Luis Teixeira. - * TODO: Removed umax1220u project (now included in sane-backends). - Added HP Scanjet 3300C / 3400C and 4300C project. Added entry about - saned data port documentation. Removed saned race condition bug. - * doc/.cvsignore: Added sane-umax1220u.5. - -2002-01-06 Henning Meier-Geinitz - - * configure configure.in include/sane/config.h.in: Added check - for inet_ntop(). - * lib/inet_ntop.c lib/Makefile.in backend/Makefile.in: Added - implementation of inet_ntop() for platforms withouth this - function based on inet_ntoa. - * backend/saned.conf frontend/saned.c doc/saned.man: Changed access - control (function check host). Now IP addresses are used for - comparison, not host names as before. It's possible to put - hostnames, FQDNs and IP addresses into saned.conf. Limitations: - Only the first IP address in struct hostent is checked. IPv6 is - untested. The change is based on a patch by Petter Reinholdtsen - . - Return SANE_STATUS_ACCESS_DENIED if access was not granted instead - of SANE_STATUS_IO_ERROR. - Removed isfdtype to avoid compilation problems. - Added more debug output. Print function name in every DBG statement. - Updated manual pages and saned.conf. - * net.c: Return SANE_STATUS_ACCESS_DENIED if access was not granted - instead of SANE_STATUS_IO_ERROR. - -2001-01-06 Karl Heinz Kremer - - * backend/epson.c: Undefine TEST_IOCTL again, which was enabled - by accident. - -2002-01-06 Stphane Voltz - - * backend/umax_pp_low.c: improved warm up and color calibration - of much better quality now. Manual settings now work correctly. - Corrected parport mode being set before being claimed. - * backend/umax_pp.c: changed build number. - * tools/umax_pp.c: changed version. - - -2002-01-05 Oliver Rauch - * backend/umax-scanner.c, umax.c, umax.conf, umax.desc, umax.h: - update to backend version 1.0 build 32 - -2002-01-05 Karl Heinz Kremer - - * backend/epson.[ch]: Check for (and set) s->fd to -1 when - scanner is closed. Removed black gamma table - only RGB - is used, even for grayscale scans. Do not call access() - when running on OS/2 or when using a parallel port scanner. - -2002-01-05 Henning Meier-Geinitz - - * backend/net.c backend/net.desc: Fixed race condition between saned - sending NET_OPEN reply and net.c flushing the wire. New version: - 1.0.6. - * doc/saned.man frontend/saned.c: Changed debug handling. All debug - messages use DBG now. If in inetd mode or dameon mode with "-s", - the messages are printed to syslog as before. If option "-d" is used, - the mesages are printed to stderr. Updated manual page. - -2002-01-04 Henning Meier-Geinitz - - * sanei/sanei_wire.c: Added DBG message that warns if the read buffer - is going to be deleted (data loss). - -2002-01-03 Henning Meier-Geinitz - - * README.os2: Updated URL of Franz Bakan's web site. - * include/sane/sanei_usb.h sanei/sanei_usb.c: Added support for USB - control messages (patch from Marcio Luis Teixeira - ). - * doc/sane-usb.man: Updated concerning backends supporting sanei_usb - and OpenBSD. Other minor fixes. - * include/sane/sanei_pv8630.h sanei/sanei_pv8630.h sanei/Makefile.in: - Added support for the PowerVision 8630 chip, a USB to parallel - converter used in many scanners (patch from from Marcio Luis Teixeira - ). Fixed sanei_thread Makefile.in entry. - * TODO: Added entries about saned/net freezes and parport-directio doc. - Removed entries about sanei_usb control msg, sanei_pv8630 inclusion, - OS/2 libsocket problem, and splitting --enable-directio. - -2001-12-30 Henning Meier-Geinitz - - * frontend/scanimage.c: Fixed endless loop in sighandler. - * frontend/saned.c: Fixed sigpipe race in connection with - select_fd. Added debug output. - -2001-12-30 Gerhard Jaeger - - * backend/plustek_usbmap.c backend/plustek-usbimg.c - backend/plustek_usb.c backend/plustek_usb.h: - Fixed bug in lineart scaling and in brightness setting - -2001-12-29 Gerhard Jaeger - - * backend/plustek.c backend/plustek-share.h backend/plustek.h - backend/plustek.conf: - Changed to support the LM983x based USB scanner - * backend/plustek.desc: Updated, added missing, now supported devices - * backend/plustek-usb.c backend/plustek-devs.c backend/plustek-pp.c - backend/plustek-usbhw.c backend/plustek-usbimg.c - backend/plustek-usbio.c backend/plustek-usbmap.c - backend/plustek-usbscan.c backend/plustek-usbshading.c - backend/plustek-usb.h: New files - added to support the Plustek - USB devices (LM9831/2 based) and other devices based on this - chipset - * backend/Makefile.in: Changed to compile the Plustek backend - * doc/sane-plustek.man: Added some USB information - -2001-12-28 Henning Meier-Geinitz - - * configure configure.in: Changed order of tests for libsocket and - libsyslog to avoid problems with OS/2. Small spelling and format - fixes. - -2001-12-28 Abel Deuring - * configure.in, configure, sanei/sanei_scsi.c, umax_pp_low.c, - README.linux: replaced --enable-directio and ENABLE_DIRECTIO - with --enable-scsi-directio / --enable-parport-directio resp. - ENABLE_SCSI_DIRECTIO / ENABLE_PARPORT_DIRECTIO - -2001-12-27 Henning Meier-Geinitz - - * PROJECTS TODO: Updated info about "Relisys Scorpio Super 3 SCSI II". - -2001-12-25 Henning Meier-Geinitz - - * README.linux: Used "sane-find-scanner". Some minor changes. - * config.guess config.sub: Updated from - http://savannah.gnu.org/projects/config. - * TODO: New section: "platform-specific". Added some problems with - *BSD. Some minor fixes and additions. - * tools/sane-find-scanner.c: Added OpenBSD device files. - * README.openbsd: New file. Some information on how to get SANE - running on top of OpenBSD. - -2001-12-22 Henning Meier-Geinitz - - * backend/mustek_usb.c backend/mustek_usb.conf backend/mustek_usb.desc - backend/mustek_usb_low.c backend/mustek_usb_low.h - doc/sane-mustek_usb.man doc/mustek_usb/mustek_usb.CHANGES: - Made usb_low_read_rows more robust. Limited maximum block size and - added option for this. New version: 1.0-9. - -2001-12-21 Oliver Schwartz - - * backend/snapscan.c backend/snapscan.h - Remove tmpfname var - -2001-12-20 Peter Fales - - * backend/dc25.c - Fixed a potential security problem due to a - race condition involving temporary file creation. Also did some - cosmetic cleanup and removed some un-needed code. - -2001-12-19 Henning Meier-Geinitz - - * backend/dll.conf: Added (commented out) st400 entry. - -2001-12-18 Oliver Schwartz - - * backend/snapscan.c backend/snapscan.h - Remove temporary file - -2001-12-18 Ingo Wilken - - * backend/st400.c backend/st400.conf - Security fix: Dump inquiry data to $HOME/st400.dump instead - of /tmp/st400.dump. - -2001-12-17 Oliver Schwartz - - * backend/snapscan-scsi.c backend/snapscan.h - backend/snapscan-usb.h backend/snapscan-usb.c - backend/snapscan-sources.h backend/snapscan-sources.c - backend/snapscan.c backend/snapscan.desc - Update to snapscan-20011212 (snapscan backend 1.4.3): - - Use sense handler for USB scanners - - Correct color alignment for Snapscan 600 - - Fix dither matrix computation - - Add support for Snapscan e26 and e52 - - Guard for TL_X < BR_X and TL_Y < BR_Y - -2001-12-16 Peter Kirchgessner - * frontend/stiff.c - Add fillorder tag for b/w-TIFF-files - Include stiff.h to avoid warning "no previous prototype" - -2001-12-15 Henning Meier-Geinitz - - * backend/mustek.c backend/mustek.desc doc/mustek/mustek.CHANGES: - Fixed a possible segfault in sane_control_option. Added more - debug output for SCSI commands. New version: 1.0-116. - -2001-12-01 Henning Meier-Geinitz - - * sanei/sanei_ab306: Removed warning: `dev_io_fd' defined but not - used. Variable used only by FreeBSD. Added test for FreeBSD. - Patch from Stephen Torri . - -2001-11-30 Henning Meier-Geinitz - - * testsuite/Makefile.in testsuite/README: Added comment about - the need to enable pnm. Made output easier to read. - -2001-11-29 Henning Meier-Geinitz - - * backend/mustek.c backend/mustek.desc doc/mustek/mustek.CHANGES: - Added check for TL_X > BR_X or TL_Y > BR_Y. New version: 1.0-115. - * TODO: Added entry about TL_X < BR_X problems and semaphores for OS/2. - Removed entry about BearPaw scanners. - -2001-11-26 Abel Deuring - * backend/sharp.c: added an additional check to prevent OS/2 from - define "#define USE_FORK" - -2001-11-24 Abel Deuring - * backend/sharp.c: removed an unconditional "#define USE_FORK" - -2001-11-22 Stphane Voltz - - * backend/umax_pp_low.c: fixed color calibration bug. Scans are - of much better quality now. Manual settings now work correctly. - * tools/umax_pp.c: changed version. - - -2001-11-22 Henning Meier-Geinitz - - * config.guess config.sub: Fetched new versions from - http://savannah.gnu.org/projects/config. - * mkinstalldirs: Updated for OS/2 (from "Franz Bakan" - ). - * backend/mustek.c backend/mustek.desc backend/mustek.h - doc/mustek/mustek.CHANGES: Added OS/2 compatibility fixes - (from "Franz Bakan" ). New version: 1.0-114. - * sanei/sanei_scsi.c: OS/2 changes: Removed semaphore code and - increased MAX_DATA to 64k (from "Franz Bakan" ). - * tools/sane-config.in: Also return -ldl (necessary fo IA64?). - * TODO: Added entry about .exe and similar file extentions. - Removed sane-config.in -ldl issue. - -2001-11-22 Stphane Voltz - - * backend/umax_pp_low.c: fixed build problem on non i386 linux when - there is no . - -2001-11-21 Henning Meier-Geinitz - - * TODO: Added entries about the fork/kill(-1,...) issue, the inb/outb - problems, config.guess and sane-config.in. - * sanei/Makefile.in: Added sanei_thread for OS/2 portability. - -2001-11-20 Henning Meier-Geinitz - - * doc/scanimage.man frontend/scanimage.c: Use out%d.tif by default if - --format tiff was selected. Update documentation about default - formats. Fixed spelling mistakes. - * AUTHORS: I think this was planned in alphabetical order... - -2001-11-18 Karl Heinz Kremer - - * backend/epson.c: Fixed Wait for Button functionality. - Don't call access() for par port scanners. - -2001-11-18 Karl Heinz Kremer - - * backend/epson.h: Added missing defines for USB IOCTLs - -2001-11-18 Henning Meier-Geinitz - - * backend/mustek.desc doc/sane-mustek.man doc/mustek/mustek.CHANGES: - Added enries for Primax Compact 4800. - -2001-11-15 Henning Meier-Geinitz - - * backend/mustek_usb.c backend/mustek_usb.conf backend/mustek_usb.desc - backend/mustek_usb.h backend/mustek_usb_high.c - backend/mustek_usb_high.h backend/mustek_usb_low.c - backend/mustek_usb_low.h backend/mustek_usb_mid.c - backend/mustek_usb_mid.h doc/sane-mustek_usb.man - doc/mustek_usb/mustek_usb.CHANGES doc/mustek_usb/mustek_usb.TODO: - FreeBSD is supported to some degree now. Started 1200 USB support. - Documentation updates. New version: 1.0-8. - -2001-11-12 Peter Fales - - * gphoto2.c - Debug message was not getting printed because DBG_INIT - was not called first. - -2001-11-12 Henning Meier-Geinitz - - * doc/sane-scsi.man: More details and examples for the "scsi * ..." - directive for config files. Added information about debug level 255 - printing (Linux) kernel debug messages. Added link to sane-usb(5). - -2001-11-10 Stphane Voltz - - * backend/umax_pp_low.c: correct PPC compile problem by removing - buggy extra ifdef - -2001-11-11 Peter Fales - - * gphoto2.c - Number of images was not getting updated after - capturing a new image - -2001-11-11 Henning Meier-Geinitz - - * backend/dll.c backend/dll.desc doc/sane-dll.man: Added some debug - messages (e.g. if dll.conf isn't found). Some adjustments concerning - debug levels. Removed some compilation warnings. New version: 1.0.5. - -2001-11-11 Abel Deuring - * sanei/sanei_scsi.c (Linux part): - - improved handling of status codes returned by the SG driver. - Device status INTERMEDIATE GOOD and CONDITION MET are now mapped - to SANE_STATUS_GOOD; device status BUSY and a few driver status - codes are mapped to SANE_STATUS_DEVICE_BUSY - - On SCSI command completion, the (sometimes bogus) residual count - is no longer subtracted from *req->dstlen - * backend/sharp.c: if a READ command fails with SANE_STATUS_DEVICE_BUSY, - retry a few times. - -2001-11-10 Karl Heinz Kremer - - * backends/epson.[ch]: all strings tagged with I18N macro - Added support for scan button, scanner waits for button if the - option "wait-for-button" is activated. - -2001-11-10 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.c - backend/umax_pp_mid.h backend/umax_pp.c backend/umax_pp.h: - use ENABLE_DIRECTIO to compile in direct I/O. Corrected the long - standing scan area origin detection bug. Improved parport mode - negociation. - -2001-11-07 Henning Meier-Geinitz - - * sanei/sanei_usb.c: Fixed debug messages. - -2001-11-06 Peter Fales - - * dc240.c - fix a bug that causes the backend's internal directory - to get out of sync with the camera directory when a file is deleted - * gphoto2.c - include the gphoto2 port name as part of the SANE - device name and improve reliability when using the gphoto2 - serial port libs. - -2001-11-04 Henning Meier-Geinitz - - * configure configure.in: Enabled warnings by default. - * sane-backends.lsm: Made more compatible with template. - Added myself as maintainer to avoid problems when uploading - to tsx-11 and sunsite in future. - -Older entries can be found in ChangeLog-1.0.6. diff --git a/ChangeLog-1.0.8 b/ChangeLog-1.0.8 deleted file mode 100644 index 29517a9..0000000 --- a/ChangeLog-1.0.8 +++ /dev/null @@ -1,1060 +0,0 @@ -****** Release of sane-backends 1.0.8. End of code freeze ****** - -2002-05-27 Henning Meier-Geinitz - - * backend/plustek-usbscan.c: Critical bugfix to avoid bumping the - scan slider at the end of the scan. Commited on behalf of - g-jaeger@t-online.de (G. Jaeger). - -2002-05-26 Karl Heinz Kremer - - * doc/descriptions/epson.desc - doc/sane-epson.man - backend/epson.conf: Updated man page, added one more - comment to the conf file and adjusted the version in - the desc file. - -2002-05-26 Frank Zago - - * doc/descriptions-external/teco2.desc - doc/descriptions-external/teco3.desc: new backends descriptions. - * AUTHORS: changed my email address - * doc/descriptions/teco1.desc: added the mising connection type - for the vm3520 - -2002-05-26 Henning Meier-Geinitz - - * backend/Makefile.in: Added workaround for GNU make 3.79. This version - of make insisted on at least one argument for "basename" which broke - compilation. - * doc/descriptions/leo.desc doc/descriptions/teco1.desc: Changed - status to ":new" for release. - * doc/descriptions/umax1220u.desc: Changed status from :new to :alpha - as the baceknd was already in SANE 1.0.7. - -2002-05-25 Andras Major - - * doc/descriptions/coolscan2.desc: changed status to :new. - -2002-05-25 Matthew Duggan - - * doc/descriptions/canon_pp.desc: Changed status to :new. - -2002-05-25 Henning Meier-Geinitz - - * AUTHORS backend/microtek2.c doc/sane-microtek2.man - doc/descriptions/microtek2.desc: Updated Karsten Festag's email - address and website. - * NEWS: Added OPENSTEP to the list of portability fixes. - * doc/descriptions/test.desc: Changed status to :new. - * configure configure.in: Set version to 1.0.8. Disabled warnings - by default. - -2002-05-23 Oliver Rauch - - * doc/umax/sane-umax-powerlook-doc.html - * doc/descriptions/umax.desc update - ----- CODE FREEZE FOR SANE 1.0.8 --- ---- snapshot 1.0.8-pre1 - -2002-05-22 Henning Meier-Geinitz - - * sanei/sanei_scsi.c: Fixed sanei_scsi_cmd2() for OPENSTEP (from - Oliver Schirrmeister ). - -2002-05-21 Petter Reinholdtsen - - * include/Makefile.in (install): Make it possible to install when - building in a subdirectory. - -2002-05-14 Oliver Schwartz - - * backend/snapscan.conf: Added additional USB IDs for Acer 320U and - Acer 620U - -2002-05-09 Henning Meier-Geinitz - - * configure configure.in frontend/scanimage.c - include/sane/config.h.in: Fixed 16 bit pnm output. The byte-order - was wrong for little-endian systems. Based on code from Roland - Roberts . - * NEWS: Minor updates. - * TODO: Removed entry about 16 bit scanimage problem. Added entry about - scanimage and width/height ranges. - -2002-05-07 Frank Zago - - * doc/descriptions-external/tevion9693usb.desc: new backend, - from mh . - -2002-05-06 Andras Major - - * doc/sane.man: coolscan2 entry updated. - * doc/sane-usb.man: added coolscan2 to sanei_usb users' list. - -2002-05-05 Frank Zago - - * backend/umax-usb.c backend/teco1.c backend/matsushita.c - backend/matsushita.h backend/leo.c backend/sceptre.c: minor fixes. - -2002-05-05 Andras Major - - * backend/coolscan2.c: version number replaces "CVS" - * doc/coolscan2.man doc/descriptions/coolscan2.desc: added - man page for coolscan2. - -2002-05-05 Henning Meier-Geinitz - - * backend/test.c doc/descriptions/test.desc: Check return value - of waitpid. Don't evaluate status of children if waitpid wasn't - successful. - * backend/mustek.c doc/descriptions/mustek.desc: Check return value - of waitpid. Don't evaluate status of children if waitpid wasn't - successful. - * TODO doc/backend-writing.txt: Add an entry about the return value - of wait/waitpid. - ----- FEATURE FREEZE FOR SANE 1.0.8 --- - -2002-05-02 Oliver Schwartz - - * doc/description/snapscan.desc: Fix URL - -2002-05-02 Oliver Schwartz - - * backend/snapscan.c backend/snapscan-options.c - backend/snapscan-scsi.c backend/snapscan-usb.c po/snapscan.de.po: - Snapscan backend version 1.4.13 - - Support for ADF - - Fixed status handling after cancel - * doc/description/snapscan.desc: - - Add Guillemot Scan@home 1248 USB - - Fix vendor URLs - -2002-04-21 Oliver Rauch - - * sane-umax: updated umax.CHANGES - -2002-04-30 Jochen Eisinger - - * doc/saned.man doc/sane-net.man doc/descriptions/net.desc: - Updated URL of the sane-net homepage to - http://www.penguin-breeder.org/?page=sane-net - - * doc/sane-mustek_pp.man doc/descriptions/mustek_pp.desc: - Updated URL of the mustek_pp homepage to - http://www.penguin-breeder.org/?page=mustek_pp - - * TODO: - Added entry to saned section: - - Add support for IP ranges in saned.conf (like 10.0.0.0/8) - -2002-04-28 Frank Zago - - * tools/Makefile.in tools/sane-find-scanner.c: bug fixes, better - error reporting and display the inquiry in verbose mode. - -2002-04-29 Kazuya Fukuda - * backend/nec.c: fixed a compile problem for Dec Unix v4 - and probably other 64 bit platform. - * AUTHORS: Update email address for Kazuya Fukuda - -2002-04-27 Oliver Schwartz - - * backend/snapscan.c backend/snapscan.h backend/snapscan-options.c - backend/snapscan-scsi.c backend/snapscan-usb.c po/snapscan.de.po: - Snapscan backend version 1.4.12 - - Removed SCSI debug options - - Fixed option handling (errors found by tstbackend) - -2002-04-27 Henning Meier-Geinitz - - * frontend/scanimage.c: Fixed scanimage SANE_CAP_AUTOMATIC bug - (from David Paschal ). - -2002-04-26 Peter Fales - - * backend/dc240.c backend/gphoto2.c: Various minor bug fixes for - problems found by tstbackend. Fix a core dump when debugging - is enabled. - -2002-04-26 Jochen Eisinger - - * backend/mustek_pp.c: fixed a typo, thanks to Henning for - pointing this one out to me - -2002-04-26 Andras Major - - * backend/coolscan2.c doc/descriptions/coolscan2.desc: - update to release 0.1.5, various saned-related problems fixed. - -2002-04-25 Henning Meier-Geinitz - - * TODO: Updated backend list. Added entry for sanei_scsi/Mac OS X. - -2002-04-24 Henning Meier-Geinitz - - * backend/mustek.c backend/mustek.h doc/descriptions/mustek.desc - doc/mustek/mustek.CHANGES: Print usefull DBG messages for options - without a name. Undef MIN and MAX macros before defining them. - * backend/mustek_usb.c backend/mustek_usb_low.h - doc/descriptions/mustek_usb.desc doc/mustek_usb/mustek_usb.CHANGES: - Free devlist on exit. Undef MIN and MAX macros before defining them. - * backend/Makefile.in frontend/Makefile.in: Added missing files to - DISTFILES. - * config.guess: Updated from ftp.gnu.org. - -2002-04-24 Oliver Schwartz - - * backend/snapscan.c backend/snapscan.h backend/snapscan-options.c - backend/snapscan-scsi.c: Snapscan backend version 1.4.11 - - Improve scan area option setting - - Cleanup of DBG messages - - Improve config file reading - ----- BACKEND FREEZE FOR SANE 1.0.8 --- - -2002-04-23 Frank Zago - - * backend/coolscan2.c: Fixed the version reporting problem. - * backend/dll.conf: added coolscan2 entry. - -2002-04-23 Peter Fales - - * backend/dc240.c backend/gphoto2.c: Various minor bug fixes for - problems found by tstbackend - * AUTHORS: Upate email address for Peter Fales - -2002-04-22 Frank Zago - - * AUTHORS PROJECTS backend/Makefile.in backend/coolscan2.c - backend/coolscan2.conf doc/descriptions/coolscan2.conf - doc/sane.man: added coolscan2 backend - -2002-04-22 Abel Deuring - * backend/sharp.c: fixed a compile problem for Dec Unix v4 - and probably other 64 bit platform. - -2002-04-22 Henning Meier-Geinitz - - * doc/backend-writing.txt: More details for the exported symbols - issue. Used test.c instead of pnm.c as example. Fixed paths for - .desc files. - * doc/sane.man: Added paragraph about testing with the test backend. - * TODO: Removed several avision bug entries. - * NEWS: First version of entry for 1.0.8. - -2002-04-21 Frank Zago - - * backend/teco1.c doc/descriptions/teco1.desc: updates. - -2002-04-21 Frank Zago - - * backend/sceptre.c doc/descriptions/sceptre.desc: updates. - -2002-04-21 Frank Zago - - * AUTHORS PROJECT backend/Makefile.in backend/leo.c backend/leo.h - backend/leo.conf doc/sane.man doc/sane-leo.man - doc/descriptions/leo.desc doc/Makefile.in: added leo backend - -2002-04-22 Rene Rebe - - * backend/avision.c next backend version, several new scsi id's, - and bug fixes - -2002-04-22 Karl Heinz Kremer - - * backend/epson.c: Declare close_scanner() and open_scanner() before - they are used - -2002-04-21 Oliver Rauch - - * sane-umax backend update to version 1.0 build 34 - -2002-04-21 Henning Meier-Geinitz - - * backend/test.c doc/descriptions/test.desc: Check if sane_init was - called before any other SANE function. - * backend/dll.c doc/descriptions/dll.desc: Don't call sane_exit twice. - Call sane_init after sane_exit. Try to load from $LD_LIBRARY_PATH - ($SHLIB_PATH, $LIBPATH) first and only check LIBDIR if opening - failed. New version: 1.0.6. - * backend/v4l.c: Fixed some warnings. - * backend/artec.c: Don't export cap_data. - * backend/canon.h: Don't export option_name. - * TODO: Updated entries about compilation warnings for various - backends. Removed entries about canon update and dll sane_exit - problems. - * PROJECTS: Removed canon update. - -2002-04-21 Abel Deuring - * backend/sharp.c: added a "free(devlist)" call to sane_exit - -2002-04-21 Abel Deuring - * backend/canon-sane.c, backend/canon-scsi.c, backend/canon.c, - backend/canon.h, doc/sane-canon.man, - doc/descriptions/canon.desc: added support for FB620S and - and FS2700, by Mitsuru Okaniwa - and Ulrich Deiters - -2002-04-19 Frank Zago - - * AUTHORS: fixed typos, formatting and added the tstbackend frontend. - * frontend/Makefile.in frontend/tstbackend.c: a frontend to test - backends - * doc/backend-writing.txt: added info about tstbackend - -2002-04-19 Henning Meier-Geinitz - - * backend/test.c doc/descriptions/test.desc: Added missing include. - -2002-04-18 Henning Meier-Geinitz - - * backend/net.c doc/descriptions/net.desc: Fixed bug in sane_read that - cause garbled data to be sent to the frontend. Fixed some long lines. - -2002-04-18 Marian Eichholz - * backend/sm3600.c : compiles without warnings now. - * backend/sm3600.h : FakeCalibration prototype conditionalised, too. - -2002-04-17 Frank Zago - - * TODO: changed Relisys Scorpio Super 3 contact info. - -2002-04-17 Marian Eichholz - * doc/descriptions/sm3600.desc : specific models listed - * doc/sane-sm3600.man : warning for libusb-versions. - * backend/sm3600-homerun.c : FakeCalibration() conditionalised. - * backend/sm3600.c : Improved portability, less warnings - -2002-04-17 Henning Meier-Geinitz - - * backend/fujitsu-scsi.h backend/fujitsu.c backend/fujitsu.conf - backend/fujitsu.h doc/sane-fujitsu.man - doc/descriptions/fujitsu.desc: Added new fujitsu backend (from - Oliver Schirrmeister ). This backend supersedes the - m3096g backend and also includes the m3091 backend. - * backend/m3096g.c backend/m3096g.h backend/m3096g.conf - backend/m3096g-scsi.h: Removed, support is now in fujitsu-backend. - * backend/Makefile.in backend/dll.conf: Adjusted for new fujitsu - backend. - * doc/sane-sp15c.c: Added new manpage for sp15c. Extracted from the old - sane-fujitsu manpage. - * doc/.cvsignore doc/Makefile.in doc/sane.man: Adjusted for fujitsu - and sp15c manpages. - * AUTHORS: Updated for fujitsu backend. - * doc/descriptions-external/m3091.desc doc/descriptions/m3096g.desc: - Removed, now in doc/descriptions/fujitsu.desc. - * PROJECTS: Removed m3091 project. - * TODO: Added coolscan2 backend, bh and coolscan warnings, scanimage - 16 bit problem. Removed fujitsu m391 entries, sm3600 non-static - symbol, plustek-backend OS/2 problem. - -2002-04-15 Marian Eichholz - * sm3600 imported from sm3600.sf.net - featuring infrastructure for various models and the (new) SM 3750i. - backend/sm3600.h - backend/sm3600.c - backend/sm3600-color.c - backend/sm3600-homerun.c - backend/sm3600-scantool.h - backend/sm3600-scanutil.c - backend/sm3600-gray.c - backend/sm3600-scanmtek.c - backend/sm3600-scanusb.c - doc/sane-sm3600.man - -2002-04-15 Henning Meier-Geinitz - - * doc/descriptions/mustek_usb.desc: Commented out 1200 USB as it is not - really supported yet. - -2002-04-14 Gerhard Jaeger - - * backend/plustek.[ch], backend/plustek-usbhw.c, backend/plustek-usbio.c, - backend/plustek-usbscan.c, backend/plustek-usbshading.c - backend/plustek-usb.c, backend/plustek-devs.c backend/plustek-usb.h - backend/plustek-share.h: Code cleanup, fixed OS/2 compilation breakage - fixed problem that causes non LM983x based devices to crash, minor fixes - added CANON N650U device structure - -2002-04-13 Karl Heinz Kremer - - * backend/epson.[ch]: Added new product IDs for Perfection 1650 and - 2450. Check if scanner needs to be opened for the reset() call. - -2002-04-13 Henning Meier-Geinitz - - * backend/canon630u-common.c: Added #include to - fix compilation on OS/2. - * sanei/sanei_scsi.c: Use O_NONBLOCK when opening an sg device under - Linux. Return SANE_STATUS_DEVICE_BUSY if EBUSY. Check for buffer==0 - for OS/2. - * doc/sane-scsi.man: Added more information about NCR/Symbios 810 and - Tekram DC315 controllers under Linux. - * backend/Makefile.in backend/test.c backend/test.conf backend/test.h - backend/test-picture.c: Added new test backend. - * doc/Makefile.in: Added sane-test man page. Added teco doc directory. - * doc/sane.man doc/sane-test.man doc/.cvsignore: Added sane-test - manual page. - * doc/descriptions-external/test.desc doc/descriptions/test.desc: - Moved test.desc to doc/descriptions and updated this file. - * PROJECTS: Removed test backend. - * AUTHORS: Added myself for test backend. - * TODO: Added entries about SANE_CAP_ADVANCED in groups, a wip marker - for sorted sane-backends.html, and saneopts.??.po problem. - Removed backends from list of inclusion beacuse of lack of response: - v4l2, lhii, viceo (they stay in PROJECTS). Removed snapscan from - exported symbols bug list. Updated doxygen list. - -2002-04-12 Frank Zago - - * doc/descriptions-external/leo.desc PROJECTS: Added leo backend - info. - -2002-04-12 Matthew Duggan - - * backend/canon_pp-io.c: Updated for new libieee1284 interface - (version 0.1.5) - * acinclude.m4 aclocal.m4 configure configure.in: - Added check for libieee1284 > 0.1.5 - -2002-04-08 Rene Rebe - - * backend/avision.h backend/avision.c backend/avision.conf: bug- - fixes - -2002-04-11 Henning Meier-Geinitz - - * include/sane/sanei_pa4s2.h include/sane/sanei_scsi.h: Added/adjusted - documentation for doxygen. - -2002-04-11 Stphane Voltz - - * backend/umax_pp_low.c: fixed 8 bits I/O support - -2002-04-10 Oliver Schwartz - - * backend/snapscan-scsi.c - Removed illegal character - * backend/snapscan-usb.h - Removed declaration of bqelements - -2002-04-10 Oliver Schwartz - - * backend/snapscan-usb.c - make bqelements static - * backend/snapscan-scsi.c - disable send_diagnostic() for SnapScan 1236 - -2002-04-10 Henning Meier-Geinitz - - * backend/mustek_usb.c doc/descriptions/mustek_usb.desc - doc/mustek_usb/mustek_usb.CHANGES: Cleanup in sane_control_option, - sane_set_io_mode, sane_get_select_fd and sane_exit. New version: - 1.0-13. - * backend/mustek_usb.c backend/mustek_usb_high.c - backend/mustek_usb_high.h backend/mustek_usb_low.c - backend/mustek_usb_low.h backend/mustek_usb_mid.c - backend/mustek_usb_mid.h: Fixed coding-style. - * backend/pnm.c doc/descriptins/pnm.desc: sane_set_io_mode - checks for !non_blocking and scanning now. Fixed coding-style. - New version: 1.0.8. - * TODO: Added dll init/exit problem. Added non-static symbol problem. - Added info about missing definition of 1-bit modes in sane.tex. - Added entry about sane-find-scanner searching directories. - * backend/mustek.c backend/mustek.h doc/desacriptions/mustek.desc - doc/mustek/mustek.CHANGES: Set freed variables to 0 in sane_exit. - Fixed coding style. New version: 1.0-121. - -2002-04-09 Petter Reinholdtsen - - * sanei/sanei_pv8630.c (sanei_pv8630_bulkwrite): Avoid warning on - Solaris. Correct type of second argument to sanei_usb_write_bulk() - from (char*) to (SANE_Byte*). - -2002-04-08 Frank Zago - - * backend/teco1.c backend/teco1.conf backend/teco1.h - doc/sane-teco1.man doc/descriptions/teco1.desc doc/teco/teco1.txt - doc/.cvsignore doc/Makefile.in doc/sane.man po/Makefile.in - po/teco1.fr.po backend/Makefile.in backend/dll.conf - sane-backends/AUTHORS sane-backends/ChangeLog - sane-backends/PROJECTS: added teco1 backend - -2002-04-08 Rene Rebe -i - * doc/descriptions/avision.desc: fixed syntax - -2002-04-08 Henning Meier-Geinitz - - * Makefile.in: make libcheck now also checks for non-static variables. - * v4l.c: Some variables haven't been static. sane_set_io_mode must - return SANE_STATUS_GOOD if non_blocking == SANE_FALSE. - -2002-04-08 Rene Rebe - * backend/avision.c backend/avision.h doc/descriptions/avision.desc - doc/sane-avision.man: updated to Avision backend build 25. More - stable for HP usb scanners, suport for Misubishi scanners and - various cleanups. - And corrected the avision.desc location. - -2002-04-07 Henning Meier-Geinitz - - * backend/canon_pp.c backend/canon_pp-dev.c backend/canon_pp-io.c - backend/canon_pp-dev.h: Changed timeouts and added scanner sleeps - to improve reliability of 6x0P models. Also corrected typo which - caused full bed scans to fail. Disabled problematic detect for now, - will make detection slightly slower. Patch from Matthew Duggan - . - * doc/descriptions/canon_pp.desc: Added man page, incremented version. - Patch from Matthew Duggan . - * doc/sane-canon_pp.man: Added more hints on getting canon_pp driver - working. Patch from Matthew Duggan . - * backend/Makefile.in backend/canon630u-common.c backend/canon630u.c - backend/canon630u.conf backend/dll.conf backend/lm9830.h: Added - canon630u backend. This backend supports the CanoScan 630u and - CanoScan 636u (hopefully). Patch from Nathan Rutman - . - * doc/.cvsignore doc/Makefile.in doc/sane-canon630u.man - doc/descriptions/canon630u.desc: Added documentation and description - of canon630u backend. Patch from Nathan Rutman - . - * PROJECTS doc/sane.man: Updated for canon630u backend. - * AUTHORS: Updated for canon630u backend. - * doc/saned.man: The path in the xinetd example pinted to /usr/local - unconditionally. - * backend/canon630u-common.c: Fixed compilation on non-Linux systems. - * configure configure.in: Added work-around for asm/io.h problems. - -2002-04-06 Henning Meier-Geinitz - - * backend/mustek.c doc/descriptions/mustek.desc - doc/mustek/mustek.CHANGES: Fixed color three-pass scanning for some - scanners. - * PROJECTS: Added Hewlett-Packard ScanJet 2200c project. - * sanei/sabei_constrain_value.c: Check that a SANE_Bool variable - can only be SANE_TRUE or SANE_FALSE. - -2002-04-02 Peter Fales - - * configure, acinclude.m4, aclocal.m4 - Another tweak to the - allowed gphoto2 version numbers - -2002-04-02 Henning Meier-Geinitz - - * acinclude.m4 aclocal.m4 configure configure.in: Added checks for - libieee1284. Enable canon_pp backend if found. Patch from - "Matthew Duggan" . - * backend/Makefile.in backend/canon_pp-dev.c backend/canon_pp-dev.h - backend/canon_pp-io.c backend/canon_pp-io.h backend/canon_pp.c - backend/canon_pp.conf backend/canon_pp.h backend/dll.conf: - Added new canon_pp backend for the CanoScan FB330P, FB630P, N340P, - and N640P scanners. Patch from "Matthew Duggan" . - * AUTHORS doc/Makefile.in doc/sane-canon_pp.man doc/sane.man - doc/descriptions/canon_pp.desc: Updated for canon_pp backend. - Patch from "Matthew Duggan" . - * PROJECTS TODO: Removed canon_pp. - * doc/.cvsignore: Added sane-canon_pp.5. - * doc/descriptions-external/canon_pp.desc: Removed. - -2002-03-30 Henning Meier-Geinitz - - * doc/descriptions-external/test.desc: Added description of the test - backend. - * PROJECTS: Added homepage of the test backend. - -2002-03-29 Henning Meier-Geinitz - - * backend/pnm.c doc/descriptions/pnm.desc: Check if option is settable - when automatically setting it. New version: 1.0.7. - * backend/Makefile.in doc/Makefile.in frontend/Makefile.in - include/Makefile.in po/Makefile.in tools/Makefile.in: - Support for variable DESTDIR. If set, all files are installed to that - location. Also print the filename of the installed file, not only the - path. Both changes are mostly for package creators/maintainers. - * configure configure.in: Another try to get the DISTCLEAN_FILES - working. - -2002-03-28 Henning Meier-Geinitz - - * doc/sane-scsi.man: Updated info about SCSI-Howto and some SCSI - adapters. - -2002-03-27 Oliver Rauch - - * removed unused definitions in include/sane/saneopts.h: - SMEAR, TEN_BIT_MODE, TWELVE_BIT_MODE, RGB_PREVIEW_PATCH, - START_SCAN_PATCH - -2002-03-26 Henning Meier-Geinitz - - * PROJECTS: Updated canon_pp entry. Added Canon FB630U and Canon N650U - USB entries. Updated test backend entry. - -2002-03-26 Frank Zago - - * PROJECTS: Updated Relisys Scorpio Super 3 infos. - -2002-03-26 Gerhard Jaeger - - * AUTHORS, sanei_lm983x.[ch], entire Plustek backend: - Updated to new mail-address and backend URL - -2002-03-24 Oliver Schwartz - - * backend/snapscan.c: Fix segfault in sane_exit if no devices were - found. - -2002-03-24 Henning Meier-Geinitz - - * acinclude.m4 aclocal.m4 configure configure.in ltmain.sh: - Update to libtool 1.4.2. Included local changes: use soname "libsane" - for all os but AIX. Use "normal" shared libs (.so) instead of archives - on AIX. Use 1 instead of 2 as major number with Irix. - * Makefile.in ltconfig: Removed ltconfig as it is no longer used by - libtool. - * TODO: More status indicators for backends to include. Removed - entry about the grand Fujitsu reunification. Updated entry about the - DBG warnings. Removed entry about splitted sane-backends.html. - Removed entries about libtool problems. Added entry about plustek on - OS/2 problem. - * backend/pnm.c doc/descriptions/pnm.desc: If fread returns 0, check - for EOF and other errors and return appropriately. - * backend/mustek_usb_mid.h: Updated SANE header. - * backend/net.c doc/descriptions/net.desc: Fixed 16-bit byte-order - handling in sane_read() (patch from Michael Herder ). - New version: 1.0.7. - -2002-03-24 Oliver Schwartz - - * backend/snapscan-options.c: New file (option functions moved from - snapscan.c) - * backend/snapscan-utils.c: Removed file - * backend/Makefile.in: Added snapscan-options.c, removed snapscan-utils.c - * backend/snapscan.c backend/snapscan.h backend/snapscan-scsi.c - backend/snapscan-usb.c backend/snapscan.h backend/snapscan.conf: - Snapcan-backend ver. 1.4.9 - - Moved option functions to snapscan-options.c - - Autodetect USB scanners on Linux - - Better error reporting - -2002-03-21 Henning Meier-Geinitz - - * doc/backend-writing.txt: Updated concerning splitted .desc - directories. - * doc/Makefile.in: Updated install-mostang concerning splitted HTML - pages. - * configure configure.in README: Use only shared libraries by default. - Fixed file patterns for distclean targets. - * doc/Makefile.in: Remove backup etc. files also in subdirs when - using make distclean. - * backend/pnm.c doc/descriptions/pnm.desc: Don't allow to set options - that don't have SANE_CAP_SOFT_SELECT and don't allow read and write - for options that are inactive. New version: 1.0.5. - -2002-03-20 Henning Meier-Geinitz - - * sanei_wire.c: Set allocated memory to 0 to avoid delivering - garbage to the frontend. - * backend/mustek.c backend/mustek.desc backend/mustek.h - doc/mustek/mustek.CHANGES: Fixed halftone pattern handling. The - buffer was way too small. Option 0 has an empty name. Better debug - output for dev_cmd. Set size for group options to 0. Set size of - halftone pattern to non 0. - * backend/mustek_usb.c backend/mustek_usb.desc - doc/mustek_usb/mustek_usb.CHANGES: Option 0 has an empty name now. - Group options have size 0 now. Check also for SANE_ACTION_SET_AUTO. - Removed buggy output in sane_control_option. Added more debug output - in sane_control_option. - * backend/net.c backend/net.desc backend/net.h: Use copies of option - descriptors to make sure their addresses aren't changed until - sane_close. New version: 1.0.7. - * doc/descriptions/abaton.desc doc/descriptions/agfafocus.desc - doc/descriptions/apple.desc doc/descriptions/artec.desc - doc/descriptions/as6e.desc doc/descriptions/avision.desc - doc/descriptions/bh.desc doc/descriptions/canon.desc - doc/descriptions/coolscan.desc doc/descriptions/dc210.desc - doc/descriptions/dc240.desc doc/descriptions/dc25.desc - doc/descriptions/dll.desc doc/descriptions/dmc.desc - doc/descriptions/epson.desc doc/descriptions/gphoto2.desc - doc/descriptions/hp.desc doc/descriptions/m3096g.desc - doc/descriptions/matsushita.desc doc/descriptions/microtek2.desc - doc/descriptions/microtek.desc doc/descriptions/mustek.desc - doc/descriptions/mustek_pp.desc doc/descriptions/mustek_usb.desc - doc/descriptions/nec.desc doc/descriptions/net.desc - doc/descriptions/pie.desc doc/descriptions/pint.desc - doc/descriptions/plustek.desc doc/descriptions/pnm.desc - doc/descriptions/qcam.desc doc/descriptions/ricoh.desc - doc/descriptions/s9036.desc doc/descriptions/sceptre.desc - doc/descriptions/sharp.desc doc/descriptions/sm3600.desc - doc/descriptions/snapscan.desc doc/descriptions/sp15c.desc - doc/descriptions/st400.desc doc/descriptions/tamarack.desc - doc/descriptions/template.desc. doc/descriptions/umax1220u.desc - doc/descriptions/umax.desc doc/descriptions/umax_pp.desc - doc/descriptions/v4l.desc: - Moved descriptions of included backends from backend/*.desc. - * doc/descriptions-external/canon_pp.desc - doc/descriptions-external/coolscan2.desc - doc/descriptions-external/hp4200.desc - doc/descriptions-external/hpoj.desc - doc/descriptions-external/ibm.desc - doc/descriptions-external/lhii.desc - doc/descriptions-external/m3091.desc - doc/descriptions-external/niash.desc - doc/descriptions-external/teco.desc - doc/descriptions-external/v4l2.desc - doc/descriptions-external/template.desc.: - Moved descriptions of external backends from backend/*.desc. - * doc/Makefile.in: Updated for separated lists of backends. - * tools/Makefile.in tools/sane-desc.el.in tools/sane-desc-ext.el: - Updated for separated lists of backends. Use package version in - internal list. Don't use version and man page in external list. - * tools/sane-desc.el: Removed. - * configure configure.in: Added tools/sane-desc.el to output files. - * backend/Makefile.in: Updated DISTFILES. - * backend/*.desc backend/template.desc.: Removed (now in doc/). - * tools/.cvsignore: Added sane-desc.el. - -2002-03-19 Frank Zago - - * matsushita backend: updates and fixes. - * sceptre backend: updates and fixes. - -2002-03-19 Henning Meier-Geinitz - - * TODO: Marked backends that really should be included. Clearified - comment about sane-backends.html. Added comment about sort order - this list. Add comment about better linking of external libs. - -2002-03-17 Henning Meier-Geinitz - - * backend/hpoj.desc: New file (from David Paschal ). - * backend/mustek_usb.c backend/mustek_usb.desc backend/mustek_usb.h - backend/mustek_usb_high.c backend/mustek_usb_high.h - backend/mustek_usb_low.c backend/mustek_usb_low.h - backend/mustek_usb_mid.c doc/mustek_usb/mustek_usb.CHANGES: Fixed - segfault when opening device again after closing and possible - segfault when name="". Type for option 0 must be set to - SANE_TYPE_INT explicitely. Updated GPL/SANE headers. - * TODO: Added entry about auto-loading SCSI drivers. Removed entry - about new SANE types. Moved entry about config.guess to - doc/releases.txt. Added more info about libtool problems. - * doc/releases.txt: Added info about config.guess and config.sub. - * config.guess config.sub: Updated from upstream. - -2002-03-17 Peter Fales - - * backend/gphoto2.c - Minor bug fixes for problems found by tstbackend - -2002-03-16 Gerhard Jaeger - - * backend/plustek.[ch]: fixed a bug, that causes segfaulting the backend - when using the USB autodetection stuff - -2002-03-15 Stphane Voltz - - * backend/umax_pp_low.c: fixed 1200 dpi mode - * backend/umax_pp: changes for translations support - * po/Makefile.in po/umax_pp.fr.po: create french translations for - umax_pp backend - -2002-03-12 Frank Zago - - * PROJECTS backend/teco.desc: new project - -2002-03-11 Henning Meier-Geinitz - - * README: Some more information on where to find the config files and - a hint to make a backup. - * doc/sane.man: Updated mustek_usb and plustek backend entries. Added - FILES section. Minor fixes and updates. - -2002-03-10 Frank Zago - - * PROJECTS: removed matsushita project. - * backend/sceptre.desc backend/matsushita.desc: updated the backend - url. - -2002-03-10 Abel Deuring - * configure.in, configure: Added a second test for - HAVE_SG_TARGET_STATUS: check /usr/src/linux/include/scsi/sg.h; - added conditionals so that this test is done only for Linux - -2002-03-10 Gerhard Jaeger - - * doc/sane-plustek.man: Update - * backend/plustek-usbhw.c backend/plustek-usbimg.c backend/plustek-usbio.c - backend/plustek-usbmap.c backend/plustek-usbscan.c - backend/plustek-usbshading.c backend/plustek.c backend/plustek-devs.c - backend/plustek-pp.c backend/plustek.usb - backend/plustek.h backend/plustek-share.h backend/plustek-usb.h: - Added custom gamma tables, added patches to support EPSON1250, - UMAX3400 and HP2100C devices, added warmup and timed lamp-off features, - minor bug-fixes - * backend/plustek.desc: Added Umax entry - * backend/plustek.conf: Update - -2002-03-10 Abel Deuring - * configure.in, configure, include/sanei/config.h.in, - sanei/sanei_scsi.c: Added HAVE_SG_TARGET_STATUS for compatibility - with old Linux sg.h versions - -2002-03-10 Gerhard Jaeger - - * po/plustek.de.po: Update - * po/plustek.es.po, po/saneopts.es.po: Added spanish translation - thanks to Gustavo D. Vranjes - -2002-03-10 Stphane Voltz - - * backend/umax_pp_low.c: fast and adaptative scanner probe function. - Improved CCD calibration. - * tools/umax_pp.c: revision change - -2002-03-08 Oliver Rauch - - * backend/Makfile.in: added missing depenencies for - new umax backends - -2002-03-08 Henning Meier-Geinitz - - * doc/sane.tex: Added "multi-function peripheral" to list of types in - SANE standard. - -2002-03-07 Henning Meier-Geinitz - - * include/sane/config.h.in: Fix comment for HAVE_USB_H. - * TODO: Added entry about md5/getopt license issues. - -2002-03-07 Abel Deuring - * sanei/sanei_scsi.c: fixed a typo (Sg_scsi_id -> SG_scsi_id) - -2002-03-07 Oliver Rauch - - * updated umax backend to version 1.0.7-build-33 - new file: umax-usb.c (by Frank Zago) - -2002-03-06 Frank Zago - - * po/Makefile,in doc/sane.man doc/Makefile.in backend/matsushita.desc - backend/dll.conf backend/Makefile.in sane-backends.lsm AUTHORS - po/matsushita.fr.po doc/matsushita/matsushita.txt - doc/matsushita/matsushita10_trc.txt - doc/matsushita/matsushita11_trc.txt - doc/matsushita/matsushita12_trc.txt - doc/matsushita/matsushita13_trc.txt - doc/matsushita/matsushita14_trc.txt - doc/matsushita/matsushita1_trc.txt - doc/matsushita/matsushita2_trc.txt - doc/matsushita/matsushita3_trc.txt - doc/matsushita/matsushita4_trc.txt - doc/matsushita/matsushita5_trc.txt - doc/matsushita/matsushita6_trc.txt - doc/matsushita/matsushita7_trc.txt - doc/matsushita/matsushita8_trc.txt - doc/matsushita/matsushita9_trc.txt doc/sane-matsushita.man - backend/matsushita.h backend/matsushita.conf - backend/matsushita.c: Addition of the Matsushita / Panasonic backend - * doc/.cvsignore: added sane-matsushita.5 - -2002-03-03 Frank Zago - - * doc/.cvsignore: added sane-sceptre.5 - -2002-03-03 Frank Zago - - * doc/sane-sceptre.5: removed (auto-generated) - -2002-03-03 Frank Zago - - * doc/sceptre/s1200.txt: doc updates - * backend/sceptre.desc: increased version - * backend/sceptre.c backend/sceptre.h: fixed a gamma table bug, - fixed some color shifting problems, some cleanups. - * doc/sceptre.man: doc updates - -2002-02-24 Henning Meier-Geinitz - - * backend/Makefile.in: Removed getopt.o getopt1.o and md5.o from - LIBLIB_FUNCS as they are not needed in backends. - -2002-02-22 Henning Meier-Geinitz - - * PROJECTS: Added matsushita backend. - * backend/matsushita.desc: New file. Description for the matsushita - backend. - -2002-02-21 Henning Meier-Geinitz - - * backend/Makefile.in backend/dll.conf backend/sceptre.c - backend/sceptre.conf backend/sceptre.desc backend/sceptre.h: - Added sceptre backend for the Sceptre VividScan 1200 (patch from - Frank Zago ). - * doc/Makefile.in doc/sane-sceptre.5 doc/sane-sceptre.man doc/sane.man - doc/sceptre/preview_trace.txt doc/sceptre/s1200.txt - doc/sceptre/scan_trace.txt: Added documentation for sceptre backend - (patch from Frank Zago ). - * po/Makefile.in po/sceptre.fr.po: Added french translation for - sceptre backend (patch from Frank Zago ). - * AUTHORS PROJECTS sane-backends.lsm: Updated concerning sceptre - backend (patch from Frank Zago ). - -2002-02-20 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp.c: corrected few bugs - due to changing default model to 'none'. - * tools/umax_pp.c: fixed compile problem - -2002-02-19 Henning Meier-Geinitz - - * lib/inet_pton.c: Use u_int32_t instead of in in_addr_t which isn't - defined at least for OS/2. - * TODO: Added entry about DBG warnings. - * doc/sane.tex: Added some vendors (Abaton, Acer, Apple, Avision, - CANON, Fujitsu, IBM, NEC, Nikon, Plustek, Polaroid, Ricoh, Sharp, - Siemens, Tamarack) and device types (film scanner, sheetfed scanner) - to the SANE standard. Updated date. - * doc/Makefile.in: Remove sanei-html in make distclean. - * PROJECTS: Added Acer ScanWit 2720S. - * backend/template.desc.: Added explanation for backend version, fixed - typo. - -2002-02-16 Abel Deuring : - * frontend/scanimage.c / part for the "-f" command line option: - replaced the vprintf call with a loop of printf calls; fixed - a "too stingy" malloc - -2002-02-16 Peter Fales - - * backend/dc240.c - Fix mismatches between format and - parameters in debug statements - -2002-02-15 Henning Meier-Geinitz - - * include/sane/sanei.h include/sane/sanei_ab306.h - include/sane/sanei_auth.h include/sane/sanei_backend.h - include/sane/sanei_codec_ascii.h include/sane/sanei_codec_bin.h - include/sane/sanei_config.h include/sane/sanei_debug.h - include/sane/sanei_lm983x.h include/sane/sanei_thread.h - include/sane/sanei_usb.h: Added, fixed and updated documentation - for sanei using doxygen. - * doc/.cvsignore: Added sanei-html. - * TODO: Updated entry about missing sanei documentation. Removed - entry about make distclean issues. - -2002-02-15 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.h - backend/umax_pp_mid.c backend/umax_pp.c backend/umax_pp.h - backend/umax_pp.conf: added ppdev character device name passing - from conf file. Allow model overide from conf option. DBG macros - clean-up. Fixed color inversion for 1660P models. Fixed potential - crash when custom dump files could not be opened for writing. - * doc/sane-umax_pp.man: updates to match backned new parameter and - behaviour - * tools/umax_pp.c: added device name argument - -2002-02-14 Jochen Eisinger - - * sanei/sanei_auth.h: remove strange line-ending handling code - -2002-02-14 Henning Meier-Geinitz - - * configure configure.in include/sane/config.h.in lib/Makefile.in - lib/inet_pton.c: Added wrapper for inet_pton(). If this function - is not available, try first inet_aton() and then inet_addr(). - * frontend/saned.c: Use inet_pton() instead of inet_aton() to avoid - compilation errors on e.g. OS/2. - * include/Sane/sanei_debug.h: Added warnings for format problems - in DBG messages (from Frank Zago ). - * include/sane/sanei.h sanei/Makefile.in sanei/load_values.c - sanei/save_values.c: Removed load_values and save_values as they - are only used in sane_frontends. - * backend/mustek.c backend/mustek_usb_low.c backend/mustek_usb_high.c - backend/net.c doc/mustek/mustek.CHANGES - doc/mustek_usb/mustek_usb.CHANGES sanei/sanei_usb.c: Fixed some - DBG format warnings. - * lib/inet_ntop.c: Only use inet_ntoa if it's available. - -2002-02-13 Peter Fales - - * configure, acinclude.m4, aclocal.m4 - Another tweak to the - allowed gphoto2 version numbers - -2002-02-13 Henning Meier-Geinitz - - * configure configure.in Makefile.in backend/Makefile.in - doc/Makefile.in frontend/Makefile.in include/Makefile.in - japi/Makefile.in lib/Makefile.in sanei/Makefile.in - tools/Makefile.in testsuite/Makefile.in po/Makefile.in: Added global - list of file patterns for "make distclean". Some "make clean" - and "make distclean" cleanup and additions. - -2002-02-12 Henning Meier-Geinitz - - * tools/sane-config.in: Avoid printing "-I/usr/include" as this - changes the default include order (from Tim Waugh - ). Really check for entries in $cflags that - are also in $includedir. - * frontend/saned.c: DNS queries for remote hosts are only done if - necessary. It's now possible to use "+" without hosts/DNS entries - for the connecting host. - * TODO: Removed entries for config.h, OpenBSD shared libs, and -ansi - on HP-UX. Updated device type entry. - -2002-02-10 Henning Meier-Geinitz - - * configure configure.in: Link to functions in lib/ only - if they are not available on the system. Use AC_PROG_LIBTOOL - instead of the deprecated AM_PROG_LIBTOOL. - * backend/Makefile.in lib/Makefile.in: Link to functions in lib/ only - if they are not available on the system. Avoid duplicating list of - functions. - * sanei/sanei_usb.c: If get_vendor_product fails, don't try again for - every device file. - -2002-02-10 Oliver Schwartz - - * po/Makefile.in: Added snapscan.de.po to DISTFILES - -2002-02-09 Abel Deuring : - * sanei/sanei_scsi.c: Added checks to the Linux part of - sanei_scsi_open_extended, if an SG device file is being - opened - -2002-02-09 Oliver Schwartz - - * po/Makefile.in po/snapscan.de.po backend/snapscan.c: - Added language translation support for snapscan backend, - added german translations. - -2002-02-09 Henning Meier-Geinitz - - * po/Makefile.in po/saneopts.fr.po po/umax.fr.po: Added french - translation (from Frank Zago ). - -2002-02-08 Henning Meier-Geinitz - - * PROJECTS: Added info about HP Scanjet 5S. - * lib/inet_ntop.c: Removed OS/2 kludge: it's not necessary. - -2002-02-05 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.h - backend/umax_pp_mid.c backend/umax_pp.c backend/umax_pp.h: - tuned down duration of pauses in scanner ringing. Indent'ing all - files. Include header files according to HAVE_XXX_H defines in - config.h . - * tools/umax_pp.c: updated version and added printing of config - options - -2002-02-05 Henning Meier-Geinitz - - * configure configure.in: Version is 1.0.7-cvs. Enable warnings by - default. Don't use "-ansi" for HPUX. - * sanei/sanei_thread.c: Make sure that waitpid returns something - usefull on OS/2. Avoids the "Unknown SANE status code 128" errors. - -Older entries can be found in ChangeLog-1.0.7. diff --git a/ChangeLog-1.0.9 b/ChangeLog-1.0.9 deleted file mode 100644 index c20a918..0000000 --- a/ChangeLog-1.0.9 +++ /dev/null @@ -1,1148 +0,0 @@ -****** Release of sane-backends 1.0.9. End of code freeze ****** - -2002-10-23 Henning Meier-Geinitz - - * doc/descriptions-external/gt68xx.conf: Updated status of scanners. - * doc/doxygen.conf: Increased version to 1.0.9. - * configure configure.in: New version: 1.0.9. Disabled compilation - warnings. - -2002-10-23 Stphane Voltz - - * backend/umax_pp_low.c: added O_NONBLOCK to flags when opening ppdev - character device, to get around hangs with 2.4.19 linux kernels in - pure EPP mode. - -2002-10-20 Henning Meier-Geinitz - - * README.linux: Added comment about DEC cc on Linux Alpha. - -2002-10-19 Peter Fales - - * backend/dc25.c - Moved use of UNUSEDARG macro to fix - compilation failure on OS/X - -2002-10-19 Henning Meier-Geinitz - - * doc/descriptions-external/tevion9693usb.desc: Added Trust - Easy Webscan 19200. - ----- CODE FREEZE FOR SANE 1.0.9 --- --- snapshot 1.0.9-pre2 - -2002-10-17 Henning Meier-Geinitz - - * backend/dll.conf: Added commented out entries for hpoj and gt68xx. - * NEWS: Updated release date and backend list. - * TODO: Added scanimage short string-list options problem. - -2002-10-17 Gerhard Jaeger - - * backend/plustek.c: removed internationalization stuff - * backend/plustek-usb.c: removed obsolete definitions - * backend/plustek-usbhw.c: fixed typos - * backend/plustek-usnshading.c: fixed bug that produces - files > 700M in debug mode. Added some debug output. - -2002-10-16 Oliver Rauch - - * backend/umax.c, umax-scanner.c: added Power Look 2000 - as supported device, build 38 - -2002-10-15 Gerhard Jaeger - - * doc/sane-plustek.man: Major update - * doc/descriptions/plustek.desc: Added EPSON 1260 entry - * backend/plustek.conf updated options - * backend/plustek.c backend/plustek-devs.c backend/plustek-usb.c - backend/plustek-usbhw.c backend/plustek-pp.c - backend/plustek-usbmap.c backend/plustek-usbimg.c - backend/plustek-usbscan.c backend/plustek-usbshading.c - backend/plustek.h backend/plustek-share.h backend/plustek-usb.h - Bug fixes and workarounds - -2002-10-15 Henning Meier-Geinitz - - * doc/sane.tex: Backend behaviour is undefined if sane_init - doesn't return SANE_STATUS_GOOD. Added SANE_STATUS_INVAL to - return codes for sane_start. Description of sane_set_io_mode is - more precise. - * sanei/sanei_usb.c: Really check for bulk_out ep when writing. - * TODO: Added microtek2 problem. Updated sane.tex and desc sections. - Added scanimage width/height problem. Added possible solution to po - file mess. - * doc/Makefile.in doc/sane-config.man: Added man page for sane-config. - * doc/.cvsignore: Added sane-config.1. - -2002-10-15 Peter Kirchgessner - - * backend/hp.conf: Added comment for USB-scanner - -2002-10-14 Peter Fales - - * backend/dc240.h,backend/dc240.c: Use portable code for camera - structures that does not depend on gcc or little-endian byte order - -2002-10-14 Oliver Schwartz - - * backend/snapscan.h backend/snapscan.c backend/snapscan.conf - doc/descriptions/snapscan.desc: SnapScan backend 1.4.17 - - added ID string for SnapScan e10, added Mitsubishi Diamandview - 648UT in desc file. - -2002-10-11 Peter Fales - - * backend/dc240.h - Add message to #error as required by ANSI - -2002-10-11 Henning Meier-Geinitz - - * backend/mustek.c doc/mustek/mustek.CHANGES: Fixed shutting off - the lamp for the Paragon 1200 A3 Pro. - * doc/descriptions/mustek.desc: Updated version number and A3 Pro - information. - -2002-10-10 Petter Reinholdtsen - - * backend/canon630u-common.c: Change type of size parameter from - 'unsigned int' to 'size_t' for gl640WriteBulk() and - gl640ReadBulk() to avoid crash on platforms where - 'sizeof(size_t) > sizeof(int)'. - - * backend/coolscan.c: Remove semicolon at the end of functions. - -2002-10-09 Frank Zago - - * backend/teco1.c backend/teco1.conf doc/descriptions/teco1.desc: - Added entry for AVEC color 2412. - -2002-10-09 Henning Meier-Geinitz - - * doc/descriptions/microtek2.desc: Added per-scanner status (from - Karsten Festag ). - -2002-10-09 Stphane Voltz - - * backend/umax_pp.c: disable scanner protocol debug facility - -2002-10-08 Karl Heinz Kremer - - * backend/epson.c: force color channel re-order for GT-2200 scanner - -2002-10-08 Stphane Voltz - - * backend/umax_pp.c: use macros from saneopts.h to fix translations - problems - -2002-10-08 Gerhard Jaeger - - * po/plustek.de.po: Cleanup - -2002-10-08 Henning Meier-Geinitz - - * doc/saned.man doc/sane-net.man: Removed comment about saned port not - officially assigned. - * po/plustek.de.po po/umax_pp.fr.po: Fixed double msgids. - -2002-10-05 Karl Heinz Kremer - - * backend/epson.c: Fixed problem with incorrect response to - sane_get_parameters() in certain situations. - -2002-10-04 Jochen Eisinger - - * doc/descriptions/mustek_pp.desc: add :status tags to each - scanner - -2002-10-04 Gerhard Jaeger - - * backend/plustek.conf fixed option enableTPA - * po/plustek.de.po po/plustek.es.po removed "Negative" - * backend/plustek.c backend/plustek-devs.c backend/plustek-usb.c - backend/plustek-usbhw.c backend/plustek-usbimg.c - backend/plustek-usbmap.c backend/plustek-usbscan.c - backend/plustek-usbshading.c - Minor bug fixes - -2002-10-04 Karl Heinz Kremer - - * doc/sane-epson.man: Added quotes around halftoning options. - -2002-10-02 Henning Meier-Geinitz - - * TODO: Updated list of backends scheduled for inclusion. Updated - v4l bug list. Added entry about vendor/product ids for .desc. - Removed TL_X > BR_X (->TODO), dll ltdl rewrite, wait return - value (->TODO), sane.tex comment about 1 bit color mode, - sane-plustek.man issue. - -2002-10-02 Stphane Voltz - - * tools/umax_pp.c: changed version and added handling of 4 digits - port address - * po/umax_pp.de.po: removed redundant entry - * backend/umax_pp.conf: comment fixings - * backend/umax_pp_low.c backend/umax_pp.c: added handling of ppdev - ioctl return code, allow 4 digits port number - -2002-10-02 Matto Marjanovic - - * doc/descriptions/microtek.desc: Updated version number. - * backend/microtek.c: - Fixed bug in sane_read() [had failed to set return length to zero - in non-STATUS_GOOD conditions]. - Fixed bug in sane_set_io_mode() [had returned SANE_STATUS_UNSUPPORTED - if blocking mode was requested]. - Bumped version up to 0.13.1. - -2002-10-01 Henning Meier-Geinitz - - * doc/descriptions-external/gt68xx.desc: Added new scanners. Updated - status of supported scanners. - * doc/sane.tex: Added explanation of bit order for 1 bit modes. Added - comment about 1 bit color modes. Fixed missing \code command. New - version: 1.03. - * doc/backend-writing.txt: Added paragraph about checking geometry - (from TODO). - -2002-09-30 Peter Fales - - * configure, acinclude.m4, aclocal.m4 - Update the - allowed gphoto2 version numbers - -2002-09-30 Oliver Rauch - - * doc/descriptions/umax.desc: removed remark that Astra 2200U via USB - only works on linux (because need of USB control messages) - -2002-09-30 Matthew Duggan - * backend/canon_pp.c backend/canon_pp-dev.c backend/canon_pp-dev.h: - Finally fixed cancelling, which I broke some time ago in the quest - for speed. FB620P still doesn't abort nicely (firmware bug?). - * doc/sane-canon_pp.man: Added notes on FB620P problems. - * doc/descriptions/canon_pp.desc: Bumped version number. - -2002-09-30 Henning Meier-Geinitz - - * backend/test.c backend/test-picture.c doc/descriptions/test.desc: - Fixed bytes_per_line in 1 bit mode. Fixed 1 bit color three-pass - mode (grid). Changed bit order for 1 bit color to most significant - bit is first pixel. - -2002-09-29 Peter Fales - - * backend/dc25.[ch]: Fix compiler warnings, and correct - errors found by tstbackend. - ----- FEATURE FREEZE FOR SANE 1.0.9 --- --- snapshot 1.0.9-pre1 - -2002-09-29 Henning Meier-Geinitz - - * doc/descriptions/mustek_usb.desc: Added "ScanExpress" for all models - to avoid confusion with BearPaw models. - * Makefile.in: Added ChangeLog-1.0.6 ChangeLog-1.0.7 ChangeLog-1.0.8 - to DISTFILES. - -2002-09-29 Karl Heinz Kremer - - * doc/sane-epson.man: Updated information, cleanup - * doc/descriptions/epson.desc: Added 1660 and 2400 models - -2002-09-28 Oliver Rauch - - * backend/umax.c: - update to build 37 - -2002-09-28 Gerhard Jaeger - - * sanei/sanei_lm983x.c: cleanup in reset function - * doc/descriptions/plustek.desc: Update according to the new - entry definitions - * doc/sane-plustek.man: Fixed format and updated info - * backend/plustek.c backend/plustek-devs.c backend/plustek-pp.c - backend/plustek-share.h backend/plustek-usb.c backend/plustek-usb.h - backend/plustek-usbhw.c backend/plustek-usbimg.c - backend/plustek-usbmap.c backend/plustek-usbscan.c - backend/plustek-usbshading.c backend/plustek.conf: - Major update to support CIS based devices - Added register dump and raw picturue/calibration data dump - Added support for Canon N650U and N670U (currently 8-bit color mode only) - -2002-09-28 Andras Major - - * backends/coolscan2.c doc/descriptions/coolscan2.desc - doc/sane-coolscan2.man: update to 0.1.8 - -2002-09-26 Henning Meier-Geinitz - - * config.sub config.guess: Updated to current versions. - * doc/releases.txt: Added paragraph about the different freeze types - and a timetable. - -2002-09-26 Oliver Schwartz - - * doc/snapscan.desc backend/snapscan.c backend/snapscan.h - backend/snapscan.conf backend/snapscan-scsi.c: - SnapScan backend 1.4.16 (added support for Acer/Benq 5000) - -2002-09-24 Peter Fales - - * backend/dc25.c: Backend returning too much data for image size - -2002-09-24 Henning Meier-Geinitz - - * doc/descriptions-external/tevion9693usb.desc: Added MD9693, updated - Artec E+ 48U (from Michael Herder ). - -2002-09-23 Henning Meier-Geinitz - - * doc/descriptions/fujitsu.desc: Changed status to beta and added - URLs. - * doc/descriptions-external/gt68xx.desc: Added some untested scanners. - Updated Mustek entries. - * TODO: Removed hpsj5s .desc file problem. - -2002-09-22 Peter Fales - - * doc/sane-dc25.man, backend/dc25.c, backend/dc25.h, - backend/gphoto2.c, backend/gphoto2.h, backend/dc240.c, - backend/dc240.h: Update authors email address - -2002-09-19 Frank Zago - - * backend/leo.c backend/leo.conf doc/sane-leo.man - doc/descriptions/leo.desc: added support for the leoscan S3. - * backend/teco2.c backend/teco2.h: added some stuff. - -2002-09-18 Henning Meier-Geinitz - - * doc/descriptions/hpsj5s.desc: Used "Hewlett-Packard" instead - of "HP". - -2002-09-17 Henning Meier-Geinitz - - * doc/descriptions-external/gt68xx.desc: Updated Mustek - information. Added Plustek OpticPro 1248U. - * backend/mustek.c: Fixed version number. - * NEWS: Updated backend list. - -2002-09-17 Oliver Schirrmeister - * backend/fujitsu.c fujitsu.h fujitsu-scsi.h: - added m3092 support - * doc/descriptions/fujitsu doc/sane-fujitsu - added description - -2002-09-17 Matthew Duggan - * backend/canon_pp.c backend/canon_pp.h backend/canon_pp.conf: - Added init_mode option to conf file for faster starts. - * doc/sane-canon_pp.man : Added description of init_mode option. - -2002-09-16 Matthew Duggan - * backend/canon_pp-dev.c backend/canon_pp-dev.h backend/canon_pp-io.c - backend/canon_pp-io.h backend/canon_pp.c backend/canon_pp.h: - Fix init problem, add changes to facilitate configurable wakeup mode - (for faster starts on FB320P and FB620P). - * doc/sane-canon_pp.man doc/descriptions/canon_pp.desc: Updates - regarding FB310P and FB610P (rebadged Avisions) - -2002-09-16 Henning Meier-Geinitz - - * backend/.cvsignore frontend/.cvsignore tools/.cvsignore: Added .libs. - Patch from Sylvain Petreolle . - * TODO: Added gt68xx project and viceo.desc entry. - * PROJECTS doc/descriptions-external/gt68xx.desc: Added gt68xx - information. - -2002-09-15 Karl Heinz Kremer - - * doc/sane-epson.man: Fixed typo (PIP->PIO) - -2002-09-15 Henning Meier-Geinitz - - * tools/sane-find-scanner.c: Format of output for devices - supported by libusb and scanner module is the same now. Minor - output fixes. - * doc/sane-find-scanner.man: Updated -v description. - * doc/sane-usb.man: Added info about "unable to access minor data" - messages. - -2002-09-13 Oliver Rauch - - * backend/umax-scanner.c, backend/umax.conf - doc/descriptions/umax.desc: - added Linotype Hell SAPHIR3 as supported scanner - -2002-09-12 Henning Meier-Geinitz - - * README.beos Makefile.in doc/Makefile.in: Added BeOS platform - information. Updated Makefiles concerning READMEs. - -2002-09-11 Oliver Rauch - - * doc/descriptions/umax.desc: corrected some urls - -2002-09-11 Henning Meier-Geinitz - - * doc/descriptions/canon630u.desc: Added fb636u as unsupported. - Added status information. - * frontend/scanimage.c: Added option --dont-scan. Resorted usage - output. - * doc/scanimage.man: Reordered options. Added info about ICC profiles, - gamma4scanimage, and --dont-scan option. Fixed example. - * doc/gamma4scanimage.man: Formatting updates. Added default values. - Minor fixes. - * TODO: Updated backend list. Added comments for additions to sane.tex. - Updated .desc file bug list. Removed scanimage entries. Added - plustek man page issue. - -2002-09-10 Peter Kirchgessner - - * doc/sane-hp.man: Added hints about special USB device names - -2002-09-07 Frank Zago - - * backend/teco1.c backend/teco1.h teco1.desc: added threshold - option - -2002-09-07 Oliver Rauch - - * backend/umax.c, umax.h, umax-scanner.c, umax.conf - doc/descriptions/umax.desc - Update to sane-umax build 36 - -2002-09-07 Matthew Duggan - - * backend/canon_pp-dev.c backend/canon_pp-dev.h: - Changes to improve calibration quality on FB620P. - -2002-09-06 Frank Zago - - * README.aix: added mention of the AIX 5.1 version of the passthru - driver. - -2002-09-06 Henning Meier-Geinitz - - * tools/sane-config.in: Removed "function" keyword (bourne shell - compatibility). - -2002-09-03 Abel Deuring - * sanei/sanei_scci.c doc/sanei-scsi.man: - default timeout for SCSI commmands is now 120 seconds; added - the environment variable SANE_SCSICMD_TIMEOUT to override - the default value. - -2002-09-01 Matthew Duggan - - * doc/sane-canon_pp.man doc/descriptions/canon_pp.desc: - Added FB320P to supported scanners after report of successful test. - Added FB310P and FB610P to desc as specifically not supported yet. - -2002-09-01 Karl Henz Kremer - - * backend/epson_scsi.c: Fixed alloca compile problem. - -2002-09-01 Karl Henz Kremer - - * backend/epson.[ch] backend/epson_scsi.[ch] backend/epson_usb.[ch] - backend/Makefile.in: USB scanners are now using sanei_usb_ functions, - split out SCSI related functions to their own source/header file, - added source/header file for USB interface - -2002-09-01 Henning Meier-Geinitz - - * TODO: Updated desc and SANE standard sections. Removed ptal entry. - * doc/Makefile.in: Make sure that sane-desc is compiled when generating - HTML pages. Fixed typo. - * doc/sane-usb.man: Minor updates and fixes. - -2002-09-01 Peter Kirchgessner - - * configure.in, doc/sane-hp.man, doc/descriptions/hp.desc - applied patch by David Paschal to remove PTAL-support from hp-backend - -2002-09-01 Matthew Duggan - - * backend/canon_pp.c backend/canon_pp-dev.c backend/canon_pp-dev.h - backend/canon_pp-io.c: Support for FB620P. - * doc/sane-canon_pp.man doc/descriptions/canon_pp.desc: Added notes - on support of FB620P - -2002-08-31 Frank Zago - - * PROJECTS AUTHORS TODO NEWS backend/dll.conf backend/Makefile.in - backend/teco2.conf backend/teco2.c backend/teco2.h - doc/.cvsignore doc/sane.man doc/Makefile.in doc/sane-teco2.man - doc/teco/teco2.txt doc/descriptions-external/teco2.desc - doc/descriptions/teco2.desc: added teco2 backend. - -2002-08-30 Frank Zago - - * backend/teco1.c backend/teco1.h backend/teco1.conf - doc/descriptions/teco1.desc doc/teco/teco1.txt - doc/sane-teco1.man: Added support for another museum piece, the - Dextra DF-600P, a rebadged VM3510. - -2002-08-30 Rene Rebe - - * backend/avision.h backend/avision.c backend/avision.conf - doc/sane-avision.man descriptions/avision.desc: latest avision - backend - -2002-08-29 Henning Meier-Geinitz - - * backend/v4l.c backend/v4l.h doc/descriptions/v4l.desc: - Big clean up of Video for Linux backend. Removed old unused - stuff from qcam and others including unused options and variables - concerning direct port access. Removed wcam license (no - "substantial portions of code" are used any more). Removed - unuesed headers. Made lots of global variables local. Lots - of checks for null pointer dereferences and errors when opening - files or using ioctl/mmap. Added option to select grey or color - mode. Added support for different channels. Fixed lots of options. - Made sure ioctls are only used when necessary. - Used vendor == "Noname". Added ??? comments for suspicious code. - Lots of minor fixes and cleanup. Added version number: 1.0-2. - * backend/v4l-grab.h: Deleted (unused). - * backend/Makefile.in: Removed v4l-grab.h. - * AUTHORS: Added myself as active maintainer of v4l. - * doc/sane-v4l.man: Added warning about ALPHA software and bugs. - Minor updates. - * doc/descriptions/bh.desc doc/descriptions/canon630u.desc - doc/descriptions/dmc.desc doc/descriptions/sm3600.desc - doc/descriptions/umax1220u.desc: Minor fixes and updates for the new - .desc file format. - * TODO: Updated .desc and v4l section. Added entries for scanimage. - * NEWS: First draft for 1.0.9. - -2002-08-18 Oliver Rauch - - * frontend/scanimage.c, frontend/stiff.h, frontend/stiff.c: - Added option "-i filename"/"--icc-profile filename": - When image is saved in tiff format then this icc-profile is - added to the tiff file as tiff tag - -2002-08-25 Henning Meier-Geinitz - - * tools/Makefile.in: Fixed gamma4scanimage target for OS/2. - * backend/v4l.c: Fixed device list. Added more verbose error output. - Unified DBG messages. Fixed depth option. Reordered options in - init_options to reflect real order. Added some markers (/* ??? */) - for suspicious code. Used GNU indent style. - * backend/v4l.h backend/v4l-frequencies.h backend/v4l-grab.h: Used GNU - indent style. - -2002-08-22 Frank Zago - - * backend/ricoh.c backend/ricoh.h backend/apple.c - backend/agfafocus.c backend/abaton.c - sanei/sanei_pv8630.c: Fixed some warnings. - -2002-08-22 Frank Zago - - * doc/sane-teco1.man: Added Dextra scanner to the list of - untested, but potentialy supported, scanners. - * doc/teco/teco1.txt: Added RELI 4830 inquiry string. - * doc/descriptions/teco3.desc: Increased version number. - * backend/: teco3.c, teco3.h: Added threshold option for black & - white. - * doc/descriptions/teco1.desc: Added 3 new (untested) scanners. - * backend/teco1.conf: Fixed the scsi inquiry string for the - VM4542. - * backend/teco1.c backend/teco1.h: Enlarged the gamma table for - the VM4542 (1024 entries as opposed to 256 for the previous - scanners). - -2002-08-22 Andras Major - - * backend/coolscan2.c doc/descriptions/coolscan2.desc - doc/sane-coolscan2.man: updated to 0.1.7. - -2002-08-21 Henning Meier-Geinitz - - * doc/.cvsignore: Added gamma4scanimage.1 - -2002-08-20 Henning Meier-Geinitz - - * PROJECTS: Added Hewlett-Packard ScanJet 4470C project. - * tools/.cvsignore: Added gamma4scanimage. - * tools/MAkefile.in: Added gamma4scanimage.c to DISTFILES. - -2002-08-18 Oliver Rauch - * tools/gamma4scanimage.c: Bugfix (atof->atoi) - * tools/README: added gamma4scanimage - * doc/Makefile.in: added manpage for gamma4scanimage - * doc/gamma4scanimage.man: added manpage for gamma4scanimage - -2002-08-17 Karl Heinz Kremer - - * backend/epson.[ch]: Fixed typo in variable name. Fixed IEEE-1394 - problem with Perfection-2450. Fixed problem with older B3 level - SCSI scanners that do not support the extended status request. - -2002-08-17 Oliver Rauch - * tools/gamma4scanimage.c: NEW: tool to create gamma table for scanimage - * tools/Makefile.in: changed file to compile and install gamma4scanimage - -2002-08-16 Gerhard Jaeger - - * doc/descriptions/plustek.desc: Update according to the new - entry definitions - * po/saneopts.es.po: More complete spanish translation - (Thanks to Gustavo Vranjes) - * backend/plustek.c backend/plustek-devs.c backend/plustek-pp.c - backend/plustek-share.h backend/plustek-usb.c backend/plustek-usb.h - backend/plustek-usbhw.c backend/plustek-usbimg.c - backend/plustek-usbmap.c backend/plustek-usbscan.c - backend/plustek-usbshading.c backend/plustek.conf: - Major update to support better control of all LM983x based devices - HP2200C, Mustek Bearpaw 1200 and 2400 are now working correctly - -2002-08-15 Peter Fales - - * configure, acinclude.m4, aclocal.m4 - Another tweak to the - allowed gphoto2 version numbers - -2002-08-15 Stphane Voltz - - * tools/umax_pp.c: upped version number - * backend/umax_pp_low.c backend/umax_pp.c: corrected ppdev usage, - minor option fix - -2002-08-14 Henning Meier-Geinitz - - * AUTHORS: Made Ulrich Deiters the active maintainer of the canon - backend. - * TODO: Updated concerning HP backend and manufacturer names. - -2002-08-07 Matthew Duggan - - * backend/canon_pp.c backend/canon_pp-dev.c backend/caon_pp-io.c - backend/canon_pp-dev.h: Many changes: Bug fixes, less memory leaks - (none left now?), more reliable, faster. Biggest changes are - speculative reads (ask scanner to read more while data processing - occurs) and more reliable sending of commands. Slight performance - increase over previous version. - * doc/sane-canon_pp.man: Added discussion noting that scanning - greyscale in green is bad for colour. - -2002-08-07 Peter Kirchgessner - - * backend/hp.h: Add missing structure member got_connect_type - -2002-08-06 Peter Kirchgessner - - * doc/descriptions/hp.desc: Use Hewlett-Packard instead of HP - -2002-08-01 Matthew Duggan - - * backend/canon_pp-dev.c: Misc bug fixes for fast machines, more - useful debug messages, more reliable file reads/writes. - -2002-07_31 Peter Kirchgessner - - * backend/hp.c, backend/hp-scl.c: hp-backend V0.96 - Check device names to prevent USB-devices to be opened as SCSI. - -2002-07-30 Henning Meier-Geinitz - - * po/Makefile.in: Use awk to filter out duplicate .po file headers. - * po/umax_pp.de.po po/umax_pp.fr.po: Avoided including duplicate - msgids. Made sure that header is not marked fuzzy. - * Makefile.in doc/Makefile.in japi/Makefile.in tools/Makefile.in: - Minor DISTFILES and distclean updates. - * backend/mustek.c doc/descriptions/mustek.desc - doc/mustek/mustek.CHANGES: Fixed some warnings. - * TODO: Removed entries about "echo -e" and po problems. - -2002-07-28 Henning Meier-Geinitz - - * tools/sane-config.in: Avoid using "echo -e" for compatibility - reasons. - -2002-07-27 Henning Meier-Geinitz - - * sanei/sanei_usb.c: Made libusb_timeout static. - * TODO: Updated .desc entries. Removed entry about scanimage i18n - support. - -2002-07-25 Matthew Duggan - - * backend/canon_pp.c: Now always uses as much scanner buffer as - possible, then feeds data to frontend. Results in large speed - increase in ECP mode. Also fixed problems with saned compatibility. - * backend/canon_pp.h: Added bytes_sent to scanner data structure. - * doc/sane-canon_pp.man: Discuss hardware problems at high - resolutions. - -2002-07-25 Frank Zago - - * doc/sane.man doc/teco/teco3.txt doc/.cvsignore - doc/sane-teco3.man doc/Makefile.in - doc/descriptions-external/teco3.desc doc/descriptions/teco3.desc - backend/teco3.c backend/teco3.h backend/teco3.conf - backend/Makefile.in sane-backends/TODO sane-backends/AUTHORS - backend/dll.conf: teco3 integration - * sane-backends/Makefile.in: added an etags rule to create an - emacs tag file - * doc/backend-writing.txt: Enlarged the "SUBMITTING A NEW BACKEND" - section. - - -2002-07-25 Matthew Duggan - - * backend/canon_pp.c: Now uses mm instead of pixel measurements, better - behaved in xsane etc as a result. - * backend/canon_pp.h: Tweaked up max buffer size to size avaialable in - hardware. - * doc/descriptions/canon_pp.desc: increment version no. - -2002-07-24 Frank Zago - - * doc/backend-writing.txt: Added a SUBMITTING CHECKLIST section. - -2002-07-24 Henning Meier-Geinitz - - * frontend/stiff.c: Fixed 16 bit tiff output. - * backend/test.c backend/test.conf backend/test.h - backend/test-picture.c doc/descriptions/test.desc doc/sane-test.man: - Added option invert-endianess to test 16 bit modes. - -2002-07-24 Kazuya Fukuda - - * doc/descriptions/nec.desc: - Remove unsupported scanner and update url. - -2002-07-24 Matthew Duggan - - * src/canon_pp-io.c: Minor bugfix checking return of read - -2002-07-23 Henning Meier-Geinitz - - * TODO: Updated desc file entries. Removed entries about microtek - fprintf issue and fujitsu mem leak. - -2002-07-23 Simon Munton - * backend/pie.c: added consistency check for TL_X < BR_X and - TL_Y < BR_Y - -2002-07-23 Peter Fales - - * doc/descriptions/gphoto2.desc: Comment out :interface line - -2002-07-23 Stphane Voltz - - * doc/descriptions/umax_pp.desc: tagged 610P as unsupported - -2002-07-22 Frank Zago - - * TODO: scheduled teco2 and teco3 backends for 1.0.9 - -2002-07-22 Matto Marjanovic - - * doc/descriptions/microtek.desc: - Updated (status keywords, mostly). - * backend/microtek.c: - * backend/microtek.h: - Replaced fprintf()/printf() with various DBG() statements. - Removed #include ! - Eliminated a few "unused parameter" compiler warnings. - Updated the copyright date. - Bumped version up to lucky 0.13.0 - -2002-07-23 Matthew Duggan - - * doc/sane-canon_pp.man: Added N640Pex to the man page too.. - -2002-07-22 Chris Pinkham - - * doc/descriptions/artec.desc: Changed status of AT6 model to alpha. - Deleted entries for USB & parallel port scanners which are - unsupported. - -2002-07-23 Matthew Duggan - - * doc/descriptions/canon_pp.desc: Added "N640P ex" model to supported - scanners after report of successful test. Also, "EPP" really should - have been "ECP". - -2002-07-22 Henning Meier-Geinitz - - * frontend/scanimage.c: Fail if there are arguments without a preceding - option on the command line. Fixed indenting. - * TODO: Updated concerning .desc files. Added comment about USB - problems on *BSD. - -2002-07-21 Henning Meier-Geinitz - - * doc/descriptions/template.desc. - doc/descriptions-external/template.desc.: Updated and added more - examples. - -2002-07-19 Oliver Rauch - - * doc/descriptions/umax.desc: added per scanner status - -2002-07-17 Henning Meier-Geinitz - - * tools/sane-desc.c: Models are sorted alphanumerically now. Added - support for priorities if one model is mentioned by two backends. - Don't print tables when no suitable backend was found. - More comments. Fixed some warnings. Code cleanup. - * doc/Makefile.in: Added support for sane-desc.c. - * doc/backend-writing.txt: Updated concerning sane-desc.c. - * backend/mustek_usb.c backend/mustek_usb_high.h - backend/mustek_usb_low.c doc/descriptions/mustek_usb.desc - doc/mustek_usb/mustek_usb.CHANGES: Added manufacturer comment in - mustek_usb.desc. Changed brightness to threshold. Fixed some - warnings. Really check the status in usb_low_open. - * sanei/sanei_usb.c: Check if file is already closed. - -2013-07-15 Frank Zago - - * doc/descriptions/leo.desc doc/descriptions/sceptre.desc - doc/descriptions/teco1.desc doc/descriptions/matsushita.desc: - added new per backend status, added more scanners. - -2002-07-15 Henning Meier-Geinitz - - * README.darwin: New file. Added some basic information for - Darwin (Mac OS X) users. - * Makefile.in: Added the new README files to DISTFILES. - * tools/sane-find-scanner.c: Print USB descriptors (libusb) in - -v -v mode. Print vendor and product names (when available). - Rewrote libusb heuristics. - * backend/Makefile.in: Removed deleted files from DISFILES. - -2002-07-14 Henning Meier-Geinitz - - * include/sane/sanei_usb.h: Made buffer const SANE_Byte * in - sanei_usb_bulk_write(). Try to call usb_find_busses only once. - Make sure that already opened devices aren't opened again. Exit - libusb scan loop if one device is found. Make error values - more expressive. Check for missing config descriptors before - using them to avoid segfaults. - * README.openbsd: Updated concerning USB scanners. - * README.openbsd README.netbsd: New files. Added some information - about SCSI and USB problems. - * tools/sane-find-scanner.c: Made verbosity option more flexible and - added quiet option. In quiet mode, print only the devices we have - found. Don't check USB devices with SCSI functions and vice versa if - option force is not given. Don't do the libusb scan if an explicit - device name was given. - * doc/sane-usb.man: Updated supported platforms list. Minor wording - improvements. - * doc/sane-find-scanner.man: Documentation for the new options. - Splitted USB and SCSI parts. - * doc/descriptions/hpsj5s.desc: Added missing space in ":new :yes" - line. - * TODO: Added entry about desc files. Removed entries about - sane-backends.html, sanei_usb.c libusb support, and the OS/2 - strncasecmp problem. Updated entries about checking device file - types and OS X in sanei_scsi.c. - -2002-07-13 Simon Munton - * doc/descriptions/pie.desc: removed unsupported scanner types, - use :status :untested for untested models, added AdLib scanners - that are supported - -2002-07-13 Oliver Schwartz - - * backend/snapscan.c backend/snapscan.h - backend/snapscan-options.c backend/snapscan-usb.c - backend/snapscan-scsi.c backend/snapscan.conf: - Snapscan backend version 1.4.15 - - Improve support for Acer / Benq 5300 - - use usb_sanei_read_bulk() and usb_sanei_write_bulk() - - correct scan area for e52 with TPO - * doc/description/snapscan.desc: - - Adapted file to new syntax - - Mark most scanners as "stable" - -2002-07-12 Henning Meier-Geinitz - - * tools/sane-desc.c: Added backends mode with splitted tables. - Fixed HTML colors. Spelling and other minor fixes. - * doc/descriptions-external/hp4200.desc - doc/descriptions-external/hpoj.desc - doc/descriptions-external/ibm.desc - doc/descriptions-external/lhii.desc - doc/descriptions-external/niash.desc - doc/descriptions-external/teco2.desc - doc/descriptions-external/teco3.desc - doc/descriptions-external/tevion9693usb.desc - doc/descriptions-external/v4l2.desc: Minor fixes for the new - sane-desc.c. Commented out version numbers and manpages. Added - :status :untested if the comment suggests this. Fixed double - and bad device types. - * tools/sane-find-scanner.c: Added support for libusb. Made comments - better readable and positioned after the output of the devices. - Shorter output to fit into 80 chars. - -2002-07-08 Karl Heinz Kremer - * doc/descriptions/epson.desc: fixed typo in URL - added :status lines to the scanner entries - -2002-07-09 Abel Deuring - * doc/descriptions/sharp.desc: Added ":status" lines - to the scanner entries - -2002-07-08 Henning Meier-Geinitz - - * doc/descriptions/sp15c.desc: Added missing slash in URL. - * doc/descriptions/fujitsu.desc: Changed status to :beta. Added - some URLs. - * frontend/Makefile.in: Use LIBS = @LIBS@ to make sure that - -lsyslog and -lsocket are linked for OS/2. - * doc/descriptions/abaton.desc: Added :status :untested for - Scan 300/S. - * doc/descriptions/agfafocus.desc: Added status and comments (from - the manpage). - * doc/descriptions/ricoh.desc: Removed unused version and comment - tokens. - * doc/descriptions/s9036.desc: Changed :devicetype to :scanner. - I guess :vidcam is not appropriate for a flatbed scanner :-) - * doc/descriptions/net.desc doc/descriptions/test.desc: No bugs for - quite some time, changed status to stable (knocking on wood). - Updated comments. - * doc/descriptions.txt doc/descriptions/template.desc. - doc/descriptions-external/template.desc.: Updated concerning - model status. - * tools/sane-desc.c: Added support for :status :unsupported. - -2002-07-07 Henning Meier-Geinitz - - * tools/sane-desc.c: Added status per model. Added quicklist for - manufacturers. All manufacturer URLs are printed now. Code cleanup. - Added status column for non-hardware devices. Fixed legends. Minor - output fixes. - * backend/mustek.c doc/descriptions/mustek.desc - doc/mustek/mustek.CHANGES: Increased width and height of Paragon - 800 and 600. - * doc/descriptions/mustek_usb.desc: Changed status to stable - (knocking on wood...). Added more Mustek URLs, fixed the existing - one. Added per-model status. Added "compatible" comments. - * doc/descriptions/mustek.desc: Fixed Mustek URL. Added Trust comment - about similar names. Added comments about compatible scanners. - Fixed Primax URL. - * doc/descriptions/sp15c.desc: Fixed manpage link. Use "Fujitsu" - consistently. Updated manufacturer links. - -2002-07-06 Henning Meier-Geinitz - - * tools/sane-desc.c: Added
after backend name. Colors can be - changed by macros now. Centered entries. Code cleanup. Manufacturer - page split up into seperate tables. Added links and comment display - on the top of each table. Manufacturers are case-insensitive. - OS/2 fix. - * configure: Regenerated from configure.in. - * doc/sane-usb.man: Mentioned control messages, usbfs, and more - methods for permission adjustment. - * configure configure.in include/sane/config.h.in: Added define - for strcasecmp on OS/2. - -2002-07-06 Max Vorobiev - - * backend/hpsj5s.c: Rewrote to depend on libieee1284. - * backend/hpsj5s.h: Added register description defines - * backend/hpsj5s.conf: Default config setted for parport0 - * backend/hpsj5s_int.h: Removed. All important stuff moved to hpsj5s.h - * backend/Makefile.in: hpsj5s backend build depend on libieee1284 present - * doc/hpsj5s.man: Comments about libieee1284 added - * configure.in: hpsj5s backend will be compiled if libieee1284 detected - -2002-07-05 Henning Meier-Geinitz - - * tools/.cvsignore tools/Makefile.in rools/README tools/sane-desc.c: - Added new file sane-desc.c. sane-desc is inended as an replacement - for the Emacs Lisp file sane-desc.el. It can generate ASCI and HTML - lists from the backends' .desc files. - * doc/sane.man: Added security to the list of topics that can be - reported to me. - * doc/descripions/template.desc. - doc/descriptions-external/template.desc.: Updated concerning ":new". - -2002-07-03 Henning Meier-Geinitz - - * configure configure.in include/sane/config.h.in: Added HAVE_LIBUSB - #define. Check for usb_get_busses to make sure, we have at least - version 0.1.6. Added OS/2 substitution for strncasecmp. - * include/sane/sanei_usb.h sanei/sanei_usb.c: Added support for libusb. - * README.netbsd: Removed. Shared libraries are supported since 1.0.8. - * README.openbsd: Updated for libusb. - * README: Added section about libraries like libiee1284 and libusb. - * doc/doxygen-sanei.conf: Updated version number. - * include/sane/sanei_usb.h sanei/sanei_usb.c: Used dn (device number) - instead of fd (file descriptor) to avoid confusion. Updated doxygen - documentation. - * doc/sane-usb.man: Updated concerning libusb. Added tips for access - via the kernel scanner drivers. - -2002-06-29 Matthew Duggan - - * backend/canon_pp.c: Workaround for ppdev bug on <= Linux 2.4.19rc1. - * backend/canon_pp-io.c: Fixed reading on hardware with small buffers. - * doc/descriptions/canon_pp.desc: Status changed from new to alpha. - -2002-06-28 Henning Meier-Geinitz - - * tools/sane-find-scanner.c: For HP-UX, check the complete - /dev/rscsi/ directory for SCSI sscanners, not only the device - files for the first two host adapters. - * TODO: Added entries about sanei_usb/ibusb, config.h/OS/2, echo -e - in shell scrips, and japi. Updated dll entry. Removed entry about - sane-find-scanner. - -2002-06-27 Henning Meier-Geinitz - - * doc/sane-fujitsu.man doc/sane-tamarack.man: Added newline at - the end to keep Solaris' sed happy. - * sanei/sanei_scsi.c: Set buffer size to 64 kB for - SOLARIS_USCSI_INTERFACE (reported by Ed Randall - ). - -2002-06-25 Henning Meier-Geinitz - - * tools/sane-find-scanner.c: Added support for scanning whole - directories for SCSI and USB device files. Moved SCSI and USB - detection routines to their own functions. Renamed functions - related to SCSI for clarity. Fixed indentation. - -2002-06-21 Max Vorobiev - - * backend/hpsj5s.c: added fcntl.h include directive. - -2002-06-15 Andras Major - - * doc/sane-coolscan2.man: corrected stupid mistake. - -2002-06-14 Andras Major - - * backend/coolscan2.c doc/sane-coolscan2.man - doc/descriptions/coolscan2.desc: updated to 0.1.6. - -2002-06-11 Henning Meier-Geinitz q - - * README.solaris: Added comment about SCSI-only support. - * doc/sane-usb.man: Updated list of backends that use sanei_usb. - Fixed some minor spelling issues. Really used decimal numbers - in example. - -2002-06-09 Henning Meier-Geinitz - - * doc/descriptions.txt: New file. Specification of the format of - backend description files (*.desc). - * configure configure.in: Added some sanity checks. Configure - now stops if one of the essential headers isn't found. - * backend/dll.conf: Added entry for test backend (commented out). - * doc/backend-writing.txt: Mentioned descriptions.txt. - * bachend/test.c backend/test.conf backend/test.h - backend/test-picture.c doc/descriptions/test.desc doc/sane-test.man: - Added support for lineart mode with pixels_per_line not divisible by - 8. Added support for padded image formats. Added documentation for - all options. - -2002-06-07 Henning Meier-Geinitz - - * backend/mustek.c doc/descriptions/mustek.desc - doc/mustek/mustek.CHANGES: Fixed problem for Paragon 6000SP (color - and gray modes produced solid black images). Minor cleanups. - New version: 1.0-125. - * config.guess config.sub: Updated to latest versions (from - ftp://ftp.gnu.org/pub/gnu/config/). - * configure configure.in: Print CPPFLAGS, CFLAGS, LDFLAGS and LIBS - for easier debugging. Moved AC_SUBST to the variable definitions - they belong to. - -2002-06-05 Abel Deuring - * doc/descriptions/sharp.desc: added "interface" parameter - -2002-06-05 Stphane Voltz - - * backend/umax_pp.c: reverted a change in color reordering for 1600P - * po/Makefile.in po/umax_pp.de.po: added german translation courtesy - of Heiko Schaefer - - -2002-06-04 Rene Rebe - - * backend/avision.c backend/avision.h backend/avision.conf: next - backend version. Should work for the HP 5300 and HP 5370 now. - Serveral other minor fixes. - -2002-06-04 Stphane Voltz - - * backend/umax_pp_low.c: relaxed scanner detection not to fail on - some parports. - -2002-06-02 Henning Meier-Geinitz - - * configure configure.in backend/Makefile.in: Added option - --disable-local-backends to configure. Only net and dll will be - compiled if set. Also a warning is printed. - * TODO: Removed entries about config.h.in macros and disabling local - backends. - -2002-06-01 Henning Meier-Geinitz - - * backend/pnm.c-bad: Removed because it was out-of-date and buggy. - The features of this modified pnm backend are now in test.c. - -2002-05-30 Oliver Rauch - - * corrected wrong version number in umax.desc - -2002-05-30 Stphane Voltz - - * backend/umax_pp_mid.c backend/umax_pp.c: software lineart for real - this time. - -2002-05-30 Henning Meier-Geinitz - - * doc/saned.man: Added explicit path to tcpd example. - * sanei/sanei_usb.c: Explicitely initialize vendorID and productID. - * sanei/sanei_config.c sanei/sanei_config2.c: Fixed possible segfault. - -2002-05-30 Stphane Voltz - - * backend/umax_pp_low.c backend/umax_pp.c: fixed 1600P detection, - IRIX compile fixes, final bits of software lineart - -2002-05-29 Henning Meier-Geinitz - - * AUTHORS backend/Makefile.in backend/dll.conf backend/hpsj5s.c - backend/hpsj5s.conf backend/hpsj5s.h backend/hpsj5s_int.h - doc/sane-hpsj5s.man doc/descriptions/hpsj5s.desc doc/.cvsignore - doc/Makefile.in doc/sane.man: Added hpsj5s backend for the - Hewlett-Packard ScanJet 5S parport scanner (from Max Vorobiev - ). - * PROJECTS: Removed hpsj5s. - -2002-05-29 Frank Zago - - * configure.in: Added test for long long. Fixed declaration for - HAVE_ASM_IO_H - * configure include/sane/config.h.in: regenerated - * frontend/tstbackend: add test for long long. - -2002-05-28 Frank Zago - - * po/matsushita.fr.po po/saneopts.fr.po po/sceptre.fr.po - po/teco1.fr.po po/umax.fr.po backend/leo.c backend/leo.h - backend/matsushita.c backend/matsushita.h backend/sceptre.c - backend/sceptre.h backend/teco1.c backend/teco1.h - frontend/tstbackend.c: new email address. - -2002-05-28 Henning Meier-Geinitz - - * configure configure.in: Warnings enabled by default. - * sanei/sanei_scsi.c: Fixed request-sense handling for OpenStep - (from Oliver Schirrmeister ). - * backend/mustek.c doc/descriptions/mustek.desc - doc/mustek/mustek.CHANGES: Set X minimum value to 0 for Paragon - 6000SP. - -2002-05-27 Oliver Rauch - - * configure.in/configure: V_EXTRA=-cvs - -Older entries can be found in ChangeLog-1.0.8. diff --git a/INSTALL b/INSTALL index 007e939..2099840 100644 --- a/INSTALL +++ b/INSTALL @@ -12,8 +12,8 @@ without warranty of any kind. Basic Installation ================== - Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following + Briefly, the shell command `./configure && make && make install' +should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented diff --git a/Makefile.am b/Makefile.am index a638eec..ae02ee3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -12,20 +12,20 @@ dist_doc_DATA = AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS \ README.hp-ux README.linux README.netbsd README.openbsd README.os2 \ README.solaris README.unixware2 README.unixware7 README.windows \ README.zeta -EXTRA_DIST = ChangeLog-1.0.0 ChangeLog-1.0.1 ChangeLog-1.0.2 \ - ChangeLog-1.0.3 ChangeLog-1.0.4 ChangeLog-1.0.5 ChangeLog-1.0.6 \ - ChangeLog-1.0.7 ChangeLog-1.0.8 ChangeLog-1.0.9 ChangeLog-1.0.10 \ - ChangeLog-1.0.12 ChangeLog-1.0.13 ChangeLog-1.0.14 ChangeLog-1.0.15 \ - ChangeLog-1.0.16 ChangeLog-1.0.17 ChangeLog-1.0.18 ChangeLog-1.0.19 \ - ChangeLog-1.0.20 ChangeLog-1.0.21 ChangeLog-1.0.22 ChangeLog-1.0.23 \ - $(PACKAGE).lsm +EXTRA_DIST = $(PACKAGE).lsm # -# Keep the .cvsignore files sorted, and use this target to do it. +# Keep the .gitignore files sorted, and use this target to do it. +# Note that git's negated ignore patterns introduce order dependency +# and should therefor be sorted with much more care than we do here. +# Until that has been taken care of, such files are best left alone. # PERL=perl -sort-cvsignore: - for f in `find . -name .cvsignore`; do \ +sort-gitignore: + for f in `find . -name .gitignore`; do \ + if test -n "`sed -n '/^\!/p' $$f`"; then \ + echo "$$f: skipping file with negated pattern" >&2; \ + fi; \ $(PERL) -e 'print sort <>;' < $$f > $$f.tmptmp; \ mv $$f.tmptmp $$f; \ done @@ -92,3 +92,5 @@ clean-local: distclean-local: rm -f include/_stdint.h rm -f include/byteorder.h + +ACLOCAL_AMFLAGS = -I m4 diff --git a/Makefile.in b/Makefile.in index 141a15f..204f510 100644 --- a/Makefile.in +++ b/Makefile.in @@ -82,15 +82,20 @@ subdir = . DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \ $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) \ - $(top_srcdir)/include/sane/config.h.in mkinstalldirs \ - $(dist_doc_DATA) COPYING compile config.guess config.sub \ - depcomp install-sh missing ltmain.sh + $(top_srcdir)/include/sane/config.h.in mkinstalldirs ABOUT-NLS \ + $(dist_doc_DATA) COPYING ar-lib compile config.guess \ + config.rpath config.sub depcomp install-sh missing ltmain.sh ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ltoptions.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/byteorder.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/configure.in + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -228,7 +233,10 @@ distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ +AM_CPPFLAGS = @AM_CPPFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -249,7 +257,7 @@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISTCLEAN_FILES = @DISTCLEAN_FILES@ +DLH = @DLH@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DSYMUTIL = @DSYMUTIL@ @@ -262,34 +270,42 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIG2DEV = @FIG2DEV@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GREP = @GREP@ +GS = @GS@ HAVE_GPHOTO2 = @HAVE_GPHOTO2@ IEEE1284_LIBS = @IEEE1284_LIBS@ -INCLUDES = @INCLUDES@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JPEG_LIBS = @JPEG_LIBS@ LATEX = @LATEX@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LIBUSB_1_0_CFLAGS = @LIBUSB_1_0_CFLAGS@ -LIBUSB_1_0_LIBS = @LIBUSB_1_0_LIBS@ LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ LIBV4L_LIBS = @LIBV4L_LIBS@ -LINKER_RPATH = @LINKER_RPATH@ LIPO = @LIPO@ LN_S = @LN_S@ LOCKPATH_GROUP = @LOCKPATH_GROUP@ +LTALLOCA = @LTALLOCA@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINDEX = @MAKEINDEX@ @@ -298,10 +314,10 @@ MANIFEST_TOOL = @MANIFEST_TOOL@ MATH_LIB = @MATH_LIB@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ @@ -314,10 +330,13 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_LIBS = @PNG_LIBS@ +POSUB = @POSUB@ +PPMTOGIF = @PPMTOGIF@ PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -339,12 +358,16 @@ SYSLOG_LIBS = @SYSLOG_LIBS@ SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ SYSTEMD_LIBS = @SYSTEMD_LIBS@ TIFF_LIBS = @TIFF_LIBS@ +USB_CFLAGS = @USB_CFLAGS@ USB_LIBS = @USB_LIBS@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ V_MAJOR = @V_MAJOR@ V_MINOR = @V_MINOR@ V_REV = @V_REV@ XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -408,19 +431,16 @@ dist_doc_DATA = AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS \ README.solaris README.unixware2 README.unixware7 README.windows \ README.zeta -EXTRA_DIST = ChangeLog-1.0.0 ChangeLog-1.0.1 ChangeLog-1.0.2 \ - ChangeLog-1.0.3 ChangeLog-1.0.4 ChangeLog-1.0.5 ChangeLog-1.0.6 \ - ChangeLog-1.0.7 ChangeLog-1.0.8 ChangeLog-1.0.9 ChangeLog-1.0.10 \ - ChangeLog-1.0.12 ChangeLog-1.0.13 ChangeLog-1.0.14 ChangeLog-1.0.15 \ - ChangeLog-1.0.16 ChangeLog-1.0.17 ChangeLog-1.0.18 ChangeLog-1.0.19 \ - ChangeLog-1.0.20 ChangeLog-1.0.21 ChangeLog-1.0.22 ChangeLog-1.0.23 \ - $(PACKAGE).lsm - +EXTRA_DIST = $(PACKAGE).lsm # -# Keep the .cvsignore files sorted, and use this target to do it. +# Keep the .gitignore files sorted, and use this target to do it. +# Note that git's negated ignore patterns introduce order dependency +# and should therefor be sorted with much more care than we do here. +# Until that has been taken care of, such files are best left alone. # PERL = perl +ACLOCAL_AMFLAGS = -I m4 all: all-recursive .SUFFIXES: @@ -926,8 +946,11 @@ uninstall-am: uninstall-dist_docDATA mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-dist_docDATA -sort-cvsignore: - for f in `find . -name .cvsignore`; do \ +sort-gitignore: + for f in `find . -name .gitignore`; do \ + if test -n "`sed -n '/^\!/p' $$f`"; then \ + echo "$$f: skipping file with negated pattern" >&2; \ + fi; \ $(PERL) -e 'print sort <>;' < $$f > $$f.tmptmp; \ mv $$f.tmptmp $$f; \ done diff --git a/NEWS b/NEWS index 31b46ba..bf78d65 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,41 @@ -*-Mode: outline-*- +New with 1.0.27 (see Note 1), released 2017-05-22: + +* Significant enhancements to canon_dr, epjitsu, epsonds, fujitsu, + genesys, hp3500, pixma and xerox-mfp backends. +* Minor updates, bugfixes or scanners added in several backends. +* 30+ new scanner models supported. +* Made libusb-1.0 the default for USB support (see Note 2). +* Switched code from C90 to C99 (Thanks to Volker Diels-Grabsch). +* Updated Linux USB3 workaround (see Note 3). +* Documentation and translation updates. +* Bugfixes (Avahi, threading, USB, ICC/PNG/JPEG, etc). +* Reduced compiler warnings, improved code (see Note 4). + +Note 1: There is no 1.0.26 release of sane-backends. That number was +skipped so that our development version numbers would more clearly be +an extension of the prior release. This should make packaging a little +easier for our downstream users. + +Note 2: On all systems, the --enable-libusb* flags are now ignored. +Instead, the --with-usb and --without-usb flags now control support. +When neither is given, USB support will be enabled if possible and +disabled otherwise. If --with-usb is requested but not possible, +./configure will fail. There is no support to prefer libusb-0.1 over +libusb-1.0. When libusb-1.0 is not found, libusb-0.1 will be tried. + +Note 3: The Linux USB3 workaround which was added in version 1.0.25 is +now disabled by default. If you have difficulty using a scanner which +previously worked, or intermittent scanner availability, try setting +the new environment variable SANE_USB_WORKAROUND=1 before starting +your frontend. + +Note 4: A special thanks goes to Olaf Meeuwissen for picking up the +janitorial duties in sane-backends. He has found and fixed a large +number of long-standing bugs, curated our bug tracker, improved our +build scripts and docs, and provided user support. Thank you Olaf! + + New with 1.0.25, released 2015-10-03: * New backends: epsonds (Epson DS, PX and WF series), diff --git a/README b/README index 5841f3b..694165a 100644 --- a/README +++ b/README @@ -10,7 +10,7 @@ You always find the most recent version of SANE on: http://www.sane-project.org/ -At the same location there are also links to snapshots of the CVS server and +At the same location there are also links to snapshots of the Git server and sometimes beta releases of sane-backends. These are unstable development versions, so be careful when using them. Please report any problems to us. See contact section for details. @@ -36,8 +36,9 @@ In order to build SANE, the following tools and libraries are required: - GNU make: version 3.70 or newer - - ANSI C compiler: GNU C (gcc) is recommended for best performance, - but any ANSI-compliant compiler should do + - ISO C99 compiler: GNU C (gcc) is recommended for best results, + but any ISO C99 compliant compiler should do + Some more libraries are not strictly necessary to compile SANE, but some functionality may be lost if they are not available. Make sure that these @@ -46,7 +47,7 @@ configure. On some Linux distributions the header files are part of separate packages (e.g. usb.h in libusb-devel or libusb-dev). These must also be installed. - - libusb (>=0.1.8): Strongly recommended if you use a USB scanner. + - libusb: Strongly recommended if you use a USB scanner. Some backends won't work without libusb at all. - libjpeg (>=6B): For the dc210, dc240, and gphoto2 backends. @@ -110,11 +111,6 @@ configure options, there are the following SANE specific options: configuration file. Please refer to the backend's man pages for details. ---disable-translations - Disable installation of translated backend options. If you get - errors in the po/ directory during build, use this option. - See po/README for details. - --enable-locking Means, that some backends will use a lockfile for allowing multiple access to one scanner. This is useful, i.e. one frontend is scanning diff --git a/README.linux b/README.linux index 6f7aec0..f255c3b 100644 --- a/README.linux +++ b/README.linux @@ -45,132 +45,6 @@ Gentoo information: Gentoo users: If your USB scanner is not detected at all check that USE=usb is set when emerging. -Quick install: --------------- - -$ ./configure -$ make -$ make install - -Step by step install on Linux 2.6.* and 3.*, both with udev: ------------------------------------------------------------- - -1. Install with your preferred package manager: - (a) the development environment for your Linux distibution - - mandatory: gcc, make, kernel header files - - optional: git - (b) missing development packages - - libusb-dev or libusb-devel or libusb-compat-devel - -2. Get the latest SANE backend from git: - You can download "daily git snapshot" from here: - - http://www.sane-project.org/snapshots/ - - If you prefer to use git, you can fetch a read-only copy of the git tree - with this command: - - $ git clone git://git.debian.org/sane/sane-backends.git - - If you already are using a self compiled SANE backend and just fetched a - new copy of the git tree or if you patched some source files, there is no - need to follow the installation procedure again. You only need to make and - install libsane: - - $ make && sudo make install - -3. Configure, make and install latest SANE backend: - We install a new SANE dynamically linked shared object library in - /usr/local/lib beside your system's SANE library. - - $ ./configure - $ make && sudo make install - -3.1. SANE library: - Register new installed SANE dynamically linked shared object library. - - $ sudo ldconfig -v | grep libsane - libsane.so.1 -> libsane.so.1.0.25 - libsane.so.1 -> libsane.so.1.0.23 - - This example shows that the system first find version 1.0.25 and then 1.0.23. - This is the correct order. - - If your system first find the old version and then the new installed one, - then you must change the order for library paths in /etc/ld.so.conf or you - must create the new configuration file /etc/ld.so.conf.d/1-sane.conf. - - $ echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf.d/1-sane.conf - - Then you must repeat this step. - -3.2. Localization file: - - $ cd /usr/share/locale//LC_MESSAGES - $ sudo ln -sf /usr/local/share/locale//LC_MESSAGES/sane-backends.mo . - $ cd - - -3.3. udev rules file: - - $ sudo cp tools/udev/libsane.rules /etc/udev/rules.d - - Reconnect your scanner to the USB bus to activate the new rules file. - -3.4. Use the scanner with normal user rights: - - Your user must be a member of the group scanner. - - $ cat /etc/group | grep scanner - scanner:x:107: - - Create a new group scanner, if it doesn't exist. - - $ sudo addgroup scanner - - Add an existing user to group scanner. - - $ sudo adduser scanner - - After this you must logoff and login again. - -4. Test your scanner: - -4.1. Check the used backend version: - - The programs must use the installed SANE backend version, e.g. 1.0.25. - - $ scanimage -V - scanimage (sane-backends) 1.0.25git; backend version 1.0.25 - - This example shows that backend and scanimage are version 1.0.25. - - $ /usr/bin/scanimage -V - scanimage (sane-backends) 1.0.23; backend version 1.0.25 - - This example shows that an old scanimage (1.0.23) uses the backend 1.0.25. - - If you want to use xsane, start xsane and check the used version with - CTRL - i. - -4.2. Access scanner with normal user rights: - - $ scanimage -L - - If your scanner isn't recognised here, try this: - - $ sudo scanimage -L - - If this works, your user doesn't have the rights to access the scanner. - - However, please check and redo the installation described above. - If this doesn't help, you can ask the mailing list - for further support. - -4.3. Testscan: - - $ cd ~ - $ scanimage > test.pnm - Information about SCSI scanners: ================================ diff --git a/README.unixware7 b/README.unixware7 index dd75ebe..9e6d3cd 100644 --- a/README.unixware7 +++ b/README.unixware7 @@ -19,7 +19,7 @@ found here: However, please note that the SANE package that is available from the Skunkware server will most likely contain the latest stable version of SANE. Since SANE is continously being worked on, you might want to download -the latest source from the CVS repository and build the source yourself. +the latest source from the Git repository and build the source yourself. To build SANE on a UnixWare 7.1.X system the following packages are required: diff --git a/acinclude.m4 b/acinclude.m4 index 7a86a0b..476d536 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,16 +1,15 @@ dnl dnl Contains the following macros -dnl SANE_SET_CFLAGS(is_release) +dnl SANE_SET_AM_CFLAGS(is_release) dnl SANE_CHECK_MISSING_HEADERS -dnl SANE_SET_LDFLAGS +dnl SANE_SET_AM_LDFLAGS dnl SANE_CHECK_DLL_LIB dnl SANE_EXTRACT_LDFLAGS(LIBS, LDFLAGS) dnl SANE_CHECK_JPEG dnl SANE_CHECK_IEEE1284 dnl SANE_CHECK_PTHREAD dnl SANE_CHECK_LOCKING -dnl JAPHAR_GREP_CFLAGS(flag, cmd_if_missing, cmd_if_present) -dnl SANE_LINKER_RPATH +dnl JAPHAR_GREP_AM_CFLAGS(flag, cmd_if_missing, cmd_if_present) dnl SANE_CHECK_U_TYPES dnl SANE_CHECK_GPHOTO2 dnl SANE_CHECK_IPV6 @@ -19,61 +18,38 @@ dnl SANE_PROTOTYPES dnl AC_PROG_LIBTOOL dnl -# SANE_SET_CFLAGS(is_release) -# Set CFLAGS. Enable/disable compilation warnings if we gcc is used. -# Warnings are enabled by default when in development cycle but disabled -# when a release is made. The argument is_release is either yes or no. -AC_DEFUN([SANE_SET_CFLAGS], +# SANE_SET_AM_CFLAGS(is_release) +# Set default AM_CFLAGS if gcc is used. Enable/disable additional +# compilation warnings. The extra warnings are enabled by default +# during the development cycle but disabled for official releases. +# The argument is_release is either yes or no. +AC_DEFUN([SANE_SET_AM_CFLAGS], [ if test "${ac_cv_c_compiler_gnu}" = "yes"; then - NORMAL_CFLAGS="\ - -W \ + DEFAULT_CFLAGS="\ -Wall" - WARN_CFLAGS="\ - -W \ - -Wall \ - -Wcast-align \ - -Wcast-qual \ - -Wmissing-declarations \ - -Wmissing-prototypes \ - -Wpointer-arith \ - -Wreturn-type \ - -Wstrict-prototypes \ + EXTRA_WARNINGS="\ + -Wextra \ -pedantic" - # Some platforms are overly strict with -ansi enabled. Exclude those. - ANSI_FLAG=-ansi - case "${host_os}" in - solaris* | hpux* | os2* | darwin* | cygwin* | mingw*) - ANSI_FLAG= - ;; - esac - NORMAL_CFLAGS="${NORMAL_CFLAGS} ${ANSI_FLAG}" - WARN_CFLAGS="${WARN_CFLAGS} ${ANSI_FLAG}" + for flag in $DEFAULT_CFLAGS; do + JAPHAR_GREP_AM_CFLAGS($flag, [ AM_CFLAGS="$AM_CFLAGS $flag" ]) + done AC_ARG_ENABLE(warnings, - AC_HELP_STRING([--enable-warnings], + AS_HELP_STRING([--enable-warnings], [turn on tons of compiler warnings (GCC only)]), [ if eval "test x$enable_warnings = xyes"; then - for flag in $WARN_CFLAGS; do - JAPHAR_GREP_CFLAGS($flag, [ CFLAGS="$CFLAGS $flag" ]) - done - else - for flag in $NORMAL_CFLAGS; do - JAPHAR_GREP_CFLAGS($flag, [ CFLAGS="$CFLAGS $flag" ]) + for flag in $EXTRA_WARNINGS; do + JAPHAR_GREP_AM_CFLAGS($flag, [ AM_CFLAGS="$AM_CFLAGS $flag" ]) done fi ], [if test x$1 = xno; then # Warnings enabled by default (development) - for flag in $WARN_CFLAGS; do - JAPHAR_GREP_CFLAGS($flag, [ CFLAGS="$CFLAGS $flag" ]) - done - else - # Warnings disabled by default (release) - for flag in $NORMAL_CFLAGS; do - JAPHAR_GREP_CFLAGS($flag, [ CFLAGS="$CFLAGS $flag" ]) + for flag in $EXTRA_WARNINGS; do + JAPHAR_GREP_AM_CFLAGS($flag, [ AM_CFLAGS="$AM_CFLAGS $flag" ]) done fi]) fi # ac_cv_c_compiler_gnu @@ -106,9 +82,9 @@ AC_DEFUN([SANE_CHECK_MISSING_HEADERS], fi ]) -# SANE_SET_LDFLAGS -# Add special LDFLAGS -AC_DEFUN([SANE_SET_LDFLAGS], +# SANE_SET_AM_LDFLAGS +# Add special AM_LDFLAGS +AC_DEFUN([SANE_SET_AM_LDFLAGS], [ # Define stricter linking policy on GNU systems. This is not # added to global LDFLAGS because we may want to create convenience @@ -123,7 +99,7 @@ AC_DEFUN([SANE_SET_LDFLAGS], AC_SUBST(STRICT_LDFLAGS) case "${host_os}" in aix*) #enable .so libraries, disable archives - LDFLAGS="$LDFLAGS -Wl,-brtl" + AM_LDFLAGS="$AM_LDFLAGS -Wl,-brtl" ;; darwin*) #include frameworks LIBS="$LIBS -framework CoreFoundation -framework IOKit" @@ -203,10 +179,10 @@ AC_DEFUN([SANE_CHECK_IEEE1284], [ AC_CHECK_HEADER(ieee1284.h, [ AC_CACHE_CHECK([for libieee1284 >= 0.1.5], sane_cv_use_libieee1284, [ - AC_TRY_COMPILE([#include ], [ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ struct parport p; char *buf; ieee1284_nibble_read(&p, 0, buf, 1); - ], + ]])], [sane_cv_use_libieee1284="yes"; IEEE1284_LIBS="-lieee1284" ],[sane_cv_use_libieee1284="no"]) ],) @@ -236,7 +212,7 @@ AC_DEFUN([SANE_CHECK_PTHREAD], # the user AC_ARG_ENABLE([pthread], - AC_HELP_STRING([--enable-pthread], + AS_HELP_STRING([--enable-pthread], [use pthread instead of fork (default=yes for Linux/MacOS X/MINGW, no for everything else)]), [ if test $enableval = yes ; then @@ -256,7 +232,7 @@ AC_DEFUN([SANE_CHECK_PTHREAD], AC_CHECK_FUNCS([pthread_create pthread_kill pthread_join pthread_detach pthread_cancel pthread_testcancel], ,[ have_pthread=no; use_pthread=no ]) LIBS="$save_LIBS" - ],) + ],[ have_pthread=no; use_pthread=no ]) fi if test $use_pthread = yes ; then @@ -267,7 +243,7 @@ AC_DEFUN([SANE_CHECK_PTHREAD], PTHREAD_LIBS="" fi if test "$have_pthread" = "yes" ; then - CPPFLAGS="${CPPFLAGS} -D_REENTRANT" + AM_CPPFLAGS="${AM_CPPFLAGS} -D_REENTRANT" fi AC_SUBST(PTHREAD_LIBS) AC_MSG_CHECKING([whether to enable pthread support]) @@ -341,7 +317,7 @@ AC_DEFUN([SANE_CHECK_LOCKING], # # we check the user AC_ARG_ENABLE( [locking], - AC_HELP_STRING([--enable-locking], + AS_HELP_STRING([--enable-locking], [activate device locking (default=yes, but only used by some backends)]), [ if test $enableval = yes ; then @@ -352,7 +328,7 @@ AC_DEFUN([SANE_CHECK_LOCKING], ]) if test $use_locking = yes ; then AC_ARG_WITH([group], - AC_HELP_STRING([--with-group], + AS_HELP_STRING([--with-group], [use the specified group for lock dir @<:@default=uucp@:>@]), [LOCKPATH_GROUP="$withval"] ) @@ -384,12 +360,12 @@ AC_DEFUN([SANE_CHECK_LOCKING], ]) dnl -dnl JAPHAR_GREP_CFLAGS(flag, cmd_if_missing, cmd_if_present) +dnl JAPHAR_GREP_AM_CFLAGS(flag, cmd_if_missing, cmd_if_present) dnl dnl From Japhar. Report changes to japhar@hungry.com dnl -AC_DEFUN([JAPHAR_GREP_CFLAGS], -[case "$CFLAGS" in +AC_DEFUN([JAPHAR_GREP_AM_CFLAGS], +[case "$AM_CFLAGS" in "$1" | "$1 "* | *" $1" | *" $1 "* ) ifelse($#, 3, [$3], [:]) ;; @@ -399,42 +375,6 @@ AC_DEFUN([JAPHAR_GREP_CFLAGS], esac ]) -dnl -dnl SANE_LINKER_RPATH -dnl -dnl Detect how to set runtime link path (rpath). Set variable -dnl LINKER_RPATH. Typical content will be '-Wl,-rpath,' or '-R '. If -dnl set, add '${LINKER_RPATH}${libdir}' to $LDFLAGS -dnl - -AC_DEFUN([SANE_LINKER_RPATH], -[dnl AC_REQUIRE([AC_SUBST])dnl This line resulted in an empty AC_SUBST() !! - AC_MSG_CHECKING([whether runtime link path should be used]) - AC_ARG_ENABLE([rpath], - [AS_HELP_STRING([--enable-rpath], - [use runtime library search path @<:@default=yes@:>@])]) - - LINKER_RPATH= - AS_IF([test "x$enable_rpath" != xno], - AC_MSG_RESULT([yes]) - [AC_CACHE_CHECK([linker parameter to set runtime link path], my_cv_LINKER_RPATH, - [my_cv_LINKER_RPATH= - case "$host_os" in - linux* | freebsd* | netbsd* | openbsd* | irix*) - # I believe this only works with GNU ld [pere 2001-04-16] - my_cv_LINKER_RPATH="-Wl,-rpath," - ;; - solaris*) - my_cv_LINKER_RPATH="-R " - ;; - esac - ]) - LINKER_RPATH="$my_cv_LINKER_RPATH"], - [AC_MSG_RESULT([no]) - LINKER_RPATH=]) - AC_SUBST(LINKER_RPATH)dnl -]) - dnl dnl SANE_CHECK_U_TYPES dnl @@ -452,7 +392,7 @@ AC_CHECK_TYPES([u_char, u_short, u_int, u_long],,,) AC_DEFUN([SANE_CHECK_GPHOTO2], [ AC_ARG_WITH(gphoto2, - AC_HELP_STRING([--with-gphoto2], + AS_HELP_STRING([--with-gphoto2], [include the gphoto2 backend @<:@default=yes@:>@]), [# If --with-gphoto2=no or --without-gphoto2, disable backend # as "$with_gphoto2" will be set to "no"]) @@ -491,6 +431,10 @@ AC_DEFUN([SANE_CHECK_GPHOTO2], GPHOTO2_LIBS="" else SANE_EXTRACT_LDFLAGS(GPHOTO2_LIBS, GPHOTO2_LDFLAGS) + if pkg-config --atleast-version=2.5.0 libgphoto2; then + AC_DEFINE([GPLOGFUNC_NO_VARGS], [1], + [Define if GPLogFunc does not take a va_list.]) + fi fi fi fi @@ -506,7 +450,7 @@ AC_DEFUN([SANE_CHECK_IPV6], [ AC_MSG_CHECKING([whether to enable IPv6]) AC_ARG_ENABLE(ipv6, - AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]), + AS_HELP_STRING([--disable-ipv6],[disable IPv6 support]), [ if test "$enableval" = "no" ; then AC_MSG_RESULT([no, manually disabled]) ipv6=no @@ -514,16 +458,16 @@ AC_DEFUN([SANE_CHECK_IPV6], ]) if test "$ipv6" != "no" ; then - AC_TRY_COMPILE([ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #define INET6 #include - #include ], [ + #include ]], [[ /* AF_INET6 available check */ if (socket(AF_INET6, SOCK_STREAM, 0) < 0) exit(1); else exit(0); - ],[ + ]])],[ AC_MSG_RESULT(yes) AC_DEFINE([ENABLE_IPV6], 1, [Define to 1 if the system supports IPv6]) ipv6=yes @@ -535,27 +479,27 @@ AC_DEFUN([SANE_CHECK_IPV6], if test "$ipv6" != "no" ; then AC_MSG_CHECKING([whether struct sockaddr_storage has an ss_family member]) - AC_TRY_COMPILE([ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #define INET6 #include - #include ], [ + #include ]], [[ /* test if the ss_family member exists in struct sockaddr_storage */ struct sockaddr_storage ss; ss.ss_family = AF_INET; exit (0); - ], [ + ]])], [ AC_MSG_RESULT(yes) AC_DEFINE([HAS_SS_FAMILY], 1, [Define to 1 if struct sockaddr_storage has an ss_family member]) ], [ - AC_TRY_COMPILE([ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #define INET6 #include - #include ], [ + #include ]], [[ /* test if the __ss_family member exists in struct sockaddr_storage */ struct sockaddr_storage ss; ss.__ss_family = AF_INET; exit (0); - ], [ + ]])], [ AC_MSG_RESULT([no, but __ss_family exists]) AC_DEFINE([HAS___SS_FAMILY], 1, [Define to 1 if struct sockaddr_storage has __ss_family instead of ss_family]) ], [ @@ -627,7 +571,7 @@ for be in ${BACKENDS}; do gphoto2) if test "${HAVE_GPHOTO2}" != "true" \ - -o "${sane_cv_use_libjpeg}" != "yes"; then + || test "${sane_cv_use_libjpeg}" != "yes"; then echo "*** $be backend requires gphoto2 and JPEG libraries - $DISABLE_MSG" backend_supported="no" fi diff --git a/aclocal.m4 b/aclocal.m4 index 0b29a4c..e21d691 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -256,6 +256,66 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) +# Copyright (C) 2011-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_AR([ACT-IF-FAIL]) +# ------------------------- +# Try to determine the archiver interface, and trigger the ar-lib wrapper +# if it is needed. If the detection of archiver interface fails, run +# ACT-IF-FAIL (default is to abort configure with a proper error message). +AC_DEFUN([AM_PROG_AR], +[AC_BEFORE([$0], [LT_INIT])dnl +AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([ar-lib])dnl +AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) +: ${AR=ar} + +AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], + [AC_LANG_PUSH([C]) + am_cv_ar_interface=ar + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], + [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([am_ar_try]) + if test "$ac_status" -eq 0; then + am_cv_ar_interface=ar + else + am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([am_ar_try]) + if test "$ac_status" -eq 0; then + am_cv_ar_interface=lib + else + am_cv_ar_interface=unknown + fi + fi + rm -f conftest.lib libconftest.a + ]) + AC_LANG_POP([C])]) + +case $am_cv_ar_interface in +ar) + ;; +lib) + # Microsoft lib, so override with the ar-lib wrapper script. + # FIXME: It is wrong to rewrite AR. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__AR in this case, + # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something + # similar. + AR="$am_aux_dir/ar-lib $AR" + ;; +unknown) + m4_default([$1], + [AC_MSG_ERROR([could not determine $AR interface])]) + ;; +esac +AC_SUBST([AR])dnl +]) + # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. @@ -967,6 +1027,38 @@ else fi ]) +# Copyright (C) 2003-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check for 'mkdir -p'. +AC_DEFUN([AM_PROG_MKDIR_P], +[AC_PREREQ([2.60])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl FIXME we are no longer going to remove this! adjust warning +dnl FIXME message accordingly. +AC_DIAGNOSE([obsolete], +[$0: this macro is deprecated, and will soon be removed. +You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead, +and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.]) +dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, +dnl while keeping a definition of mkdir_p for backward compatibility. +dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P). +AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl +case $mkdir_p in + [[\\/$]]* | ?:[[\\/]]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac +]) + # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. @@ -1383,8 +1475,17 @@ AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([m4/gettext.m4]) +m4_include([m4/iconv.m4]) +m4_include([m4/intlmacosx.m4]) +m4_include([m4/lib-ld.m4]) +m4_include([m4/lib-link.m4]) +m4_include([m4/lib-prefix.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) m4_include([m4/ltversion.m4]) m4_include([m4/lt~obsolete.m4]) +m4_include([m4/nls.m4]) +m4_include([m4/po.m4]) +m4_include([m4/progtest.m4]) m4_include([acinclude.m4]) diff --git a/ar-lib b/ar-lib new file mode 100755 index 0000000..fe2301e --- /dev/null +++ b/ar-lib @@ -0,0 +1,270 @@ +#! /bin/sh +# Wrapper for Microsoft lib.exe + +me=ar-lib +scriptversion=2012-03-01.08; # UTC + +# Copyright (C) 2010-2013 Free Software Foundation, Inc. +# Written by Peter Rosin . +# +# 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, 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 . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + + +# func_error message +func_error () +{ + echo "$me: $1" 1>&2 + exit 1 +} + +file_conv= + +# func_file_conv build_file +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv in + mingw) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_at_file at_file operation archive +# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE +# for each of them. +# When interpreting the content of the @FILE, do NOT use func_file_conv, +# since the user would need to supply preconverted file names to +# binutils ar, at least for MinGW. +func_at_file () +{ + operation=$2 + archive=$3 + at_file_contents=`cat "$1"` + eval set x "$at_file_contents" + shift + + for member + do + $AR -NOLOGO $operation:"$member" "$archive" || exit $? + done +} + +case $1 in + '') + func_error "no command. Try '$0 --help' for more information." + ;; + -h | --h*) + cat <> $@; \ - done - echo "static struct backend preloaded_backends[] = {" >> $@ + done; \ + echo "static struct backend preloaded_backends[] = {" >> $@; \ sep=""; \ list="$(PRELOADABLE_BACKENDS)"; \ if test -z "$${list}"; then \ @@ -68,7 +44,7 @@ dll-preload.h: echo "$${sep}PRELOAD_DEFN($$be)" >> $@; \ sep=","; \ done; \ - fi + fi; \ echo "};" >> $@ # TODO: This really belongs together with the saned sources and @@ -86,6 +62,7 @@ BACKEND_CONFS= abaton.conf agfafocus.conf apple.conf artec.conf \ epson.conf epsonds.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 \ matsushita.conf microtek2.conf microtek.conf mustek.conf \ mustek_pp.conf mustek_usb.conf nec.conf net.conf \ @@ -351,7 +328,7 @@ libcanon_dr_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=canon_dr nodist_libsane_canon_dr_la_SOURCES = canon_dr-s.c libsane_canon_dr_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=canon_dr libsane_canon_dr_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_canon_dr_la_LIBADD = $(COMMON_LIBS) libcanon_dr.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(RESMGR_LIBS) +libsane_canon_dr_la_LIBADD = $(COMMON_LIBS) libcanon_dr.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_magic.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(RESMGR_LIBS) EXTRA_DIST += canon_dr.conf.in libcanon_pp_la_SOURCES = canon_pp.c canon_pp.h canon_pp-io.c canon_pp-io.h canon_pp-dev.c canon_pp-dev.h @@ -414,7 +391,7 @@ libdc210_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc210 nodist_libsane_dc210_la_SOURCES = dc210-s.c libsane_dc210_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc210 libsane_dc210_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_dc210_la_LIBADD = $(COMMON_LIBS) libdc210.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) +libsane_dc210_la_LIBADD = $(COMMON_LIBS) libdc210.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(SANEI_SANEI_JPEG_LO) $(JPEG_LIBS) EXTRA_DIST += dc210.conf.in libdc240_la_SOURCES = dc240.c dc240.h @@ -423,7 +400,7 @@ libdc240_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc240 nodist_libsane_dc240_la_SOURCES = dc240-s.c libsane_dc240_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc240 libsane_dc240_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_dc240_la_LIBADD = $(COMMON_LIBS) libdc240.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) +libsane_dc240_la_LIBADD = $(COMMON_LIBS) libdc240.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(SANEI_SANEI_JPEG_LO) $(JPEG_LIBS) EXTRA_DIST += dc240.conf.in libdell1600n_net_la_SOURCES = dell1600n_net.c @@ -472,7 +449,8 @@ libsane_epson2_la_LIBADD = $(COMMON_LIBS) libepson2.la ../sanei/sanei_init_debug EXTRA_DIST += epson2.conf.in libepsonds_la_SOURCES = epsonds.c epsonds.h epsonds-usb.c epsonds-usb.h epsonds-io.c epsonds-io.h \ - epsonds-cmd.c epsonds-cmd.h epsonds-ops.c epsonds-ops.h epsonds-jpeg.c epsonds-jpeg.h + epsonds-cmd.c epsonds-cmd.h epsonds-ops.c epsonds-ops.h epsonds-jpeg.c epsonds-jpeg.h \ + epsonds-net.c epsonds-net.h libepsonds_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epsonds nodist_libsane_epsonds_la_SOURCES = epsonds-s.c @@ -481,7 +459,8 @@ libsane_epsonds_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) libsane_epsonds_la_LIBADD = $(COMMON_LIBS) libepsonds.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo \ ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) $(USB_LIBS) $(MATH_LIB) $(RESMGR_LIBS) + ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo \ + $(SANEI_SANEI_JPEG_LO) $(JPEG_LIBS) $(USB_LIBS) $(MATH_LIB) $(RESMGR_LIBS) $(SOCKET_LIBS) EXTRA_DIST += epsonds.conf.in libfujitsu_la_SOURCES = fujitsu.c fujitsu.h fujitsu-scsi.h @@ -505,12 +484,12 @@ EXTRA_DIST += genesys.conf.in EXTRA_DIST += genesys_conv.c genesys_conv_hlp.c genesys_devices.c libgphoto2_i_la_SOURCES = gphoto2.c gphoto2.h -libgphoto2_i_la_CPPFLAGS = $(AM_CPPFLAGS) @GPHOTO2_CPPFLAGS@ -DBACKEND_NAME=gphoto2 +libgphoto2_i_la_CPPFLAGS = $(AM_CPPFLAGS) $(GPHOTO2_CPPFLAGS) -DBACKEND_NAME=gphoto2 nodist_libsane_gphoto2_la_SOURCES = gphoto2-s.c libsane_gphoto2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=gphoto2 libsane_gphoto2_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_gphoto2_la_LIBADD = $(GPHOTO2_LDFLAGS) $(COMMON_LIBS) libgphoto2_i.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo @SANEI_SANEI_JPEG_LO@ $(GPHOTO2_LIBS) $(JPEG_LIBS) +libsane_gphoto2_la_LIBADD = $(GPHOTO2_LDFLAGS) $(COMMON_LIBS) libgphoto2_i.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(SANEI_SANEI_JPEG_LO) $(GPHOTO2_LIBS) $(JPEG_LIBS) EXTRA_DIST += gphoto2.conf.in libgt68xx_la_SOURCES = gt68xx.c gt68xx.h @@ -541,7 +520,7 @@ libhp3500_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp3500 nodist_libsane_hp3500_la_SOURCES = hp3500-s.c libsane_hp3500_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp3500 libsane_hp3500_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_hp3500_la_LIBADD = $(COMMON_LIBS) libhp3500.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_hp3500_la_LIBADD = $(COMMON_LIBS) libhp3500.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) libhp3900_la_SOURCES = hp3900.c libhp3900_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp3900 @@ -651,6 +630,7 @@ nodist_libsane_kvs1025_la_SOURCES = kvs1025-s.c libsane_kvs1025_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=kvs1025 libsane_kvs1025_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) libsane_kvs1025_la_LIBADD = $(COMMON_LIBS) libkvs1025.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_magic.lo $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) +EXTRA_DIST += kvs1025.conf.in libkvs20xx_la_SOURCES = kvs20xx.c kvs20xx_cmd.c kvs20xx_opt.c \ kvs20xx_cmd.h kvs20xx.h @@ -788,10 +768,10 @@ libsane_nec_la_LIBADD = $(COMMON_LIBS) libnec.la ../sanei/sanei_init_debug.lo .. EXTRA_DIST += nec.conf.in libnet_la_SOURCES = net.c net.h -libnet_la_CPPFLAGS = $(AM_CPPFLAGS) @AVAHI_CFLAGS@ -DBACKEND_NAME=net +libnet_la_CPPFLAGS = $(AM_CPPFLAGS) $(AVAHI_CFLAGS) -DBACKEND_NAME=net nodist_libsane_net_la_SOURCES = net-s.c -libsane_net_la_CPPFLAGS = $(AM_CPPFLAGS) @AVAHI_CFLAGS@ -DBACKEND_NAME=net +libsane_net_la_CPPFLAGS = $(AM_CPPFLAGS) $(AVAHI_CFLAGS) -DBACKEND_NAME=net libsane_net_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) libsane_net_la_LIBADD = $(COMMON_LIBS) libnet.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo $(AVAHI_LIBS) $(SOCKET_LIBS) EXTRA_DIST += net.conf.in @@ -1088,7 +1068,7 @@ libsane_umax_pp_la_LIBADD = $(COMMON_LIBS) libumax_pp.la ../sanei/sanei_init_deb EXTRA_DIST += umax_pp.conf.in libv4l_la_SOURCES = v4l.c v4l.h v4l-frequencies.h -libv4l_la_CPPFLAGS = $(AM_CPPFLAGS) @LIBV4L_CFLAGS@ -DBACKEND_NAME=v4l +libv4l_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBV4L_CFLAGS) -DBACKEND_NAME=v4l nodist_libsane_v4l_la_SOURCES = v4l-s.c libsane_v4l_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=v4l @@ -1102,7 +1082,7 @@ libxerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp nodist_libsane_xerox_mfp_la_SOURCES = xerox_mfp-s.c libsane_xerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp libsane_xerox_mfp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_xerox_mfp_la_LIBADD = $(COMMON_LIBS) libxerox_mfp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(RESMGR_LIBS) +libsane_xerox_mfp_la_LIBADD = $(COMMON_LIBS) libxerox_mfp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(RESMGR_LIBS) EXTRA_DIST += xerox_mfp.conf.in libdll_preload_la_SOURCES = dll.c @@ -1142,7 +1122,7 @@ EXTRA_DIST += dll.aliases nodist_libsane_la_SOURCES = dll-s.c libsane_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll libsane_la_LDFLAGS = $(DIST_LIBS_LDFLAGS) -libsane_la_LIBADD = $(COMMON_LIBS) @PRELOADABLE_BACKENDS_ENABLED@ libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo $(DL_LIBS) $(LIBV4L_LIBS) $(MATH_LIB) $(IEEE1284_LIBS) $(TIFF_LIBS) $(JPEG_LIBS) $(GPHOTO2_LIBS) $(SOCKET_LIBS) $(USB_LIBS) $(AVAHI_LIBS) $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_la_LIBADD = $(COMMON_LIBS) $(PRELOADABLE_BACKENDS_ENABLED) libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo $(DL_LIBS) $(LIBV4L_LIBS) $(MATH_LIB) $(IEEE1284_LIBS) $(TIFF_LIBS) $(JPEG_LIBS) $(GPHOTO2_LIBS) $(SOCKET_LIBS) $(USB_LIBS) $(AVAHI_LIBS) $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) # WARNING: Automake is getting this wrong so have to do it ourselves. -libsane_la_DEPENDENCIES = $(COMMON_LIBS) @PRELOADABLE_BACKENDS_ENABLED@ libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo @SANEI_SANEI_JPEG_LO@ +libsane_la_DEPENDENCIES = $(COMMON_LIBS) $(PRELOADABLE_BACKENDS_ENABLED) libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo $(SANEI_SANEI_JPEG_LO) diff --git a/backend/Makefile.in b/backend/Makefile.in index 1860295..4e070f0 100644 --- a/backend/Makefile.in +++ b/backend/Makefile.in @@ -82,11 +82,16 @@ subdir = backend DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ltoptions.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/byteorder.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/configure.in + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -215,7 +220,7 @@ libepsonds_la_LIBADD = am_libepsonds_la_OBJECTS = libepsonds_la-epsonds.lo \ libepsonds_la-epsonds-usb.lo libepsonds_la-epsonds-io.lo \ libepsonds_la-epsonds-cmd.lo libepsonds_la-epsonds-ops.lo \ - libepsonds_la-epsonds-jpeg.lo + libepsonds_la-epsonds-jpeg.lo libepsonds_la-epsonds-net.lo libepsonds_la_OBJECTS = $(am_libepsonds_la_OBJECTS) libfujitsu_la_LIBADD = am_libfujitsu_la_OBJECTS = libfujitsu_la-fujitsu.lo @@ -491,8 +496,9 @@ libsane_canon_dr_la_DEPENDENCIES = $(COMMON_LIBS) libcanon_dr.la \ ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ + ../sanei/sanei_magic.lo $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) nodist_libsane_canon_dr_la_OBJECTS = \ libsane_canon_dr_la-canon_dr-s.lo libsane_canon_dr_la_OBJECTS = $(nodist_libsane_canon_dr_la_OBJECTS) @@ -567,7 +573,7 @@ libsane_coolscan3_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ libsane_dc210_la_DEPENDENCIES = $(COMMON_LIBS) libdc210.la \ ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ ../sanei/sanei_config.lo sane_strstatus.lo \ - $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) nodist_libsane_dc210_la_OBJECTS = libsane_dc210_la-dc210-s.lo libsane_dc210_la_OBJECTS = $(nodist_libsane_dc210_la_OBJECTS) libsane_dc210_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ @@ -577,7 +583,7 @@ libsane_dc210_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ libsane_dc240_la_DEPENDENCIES = $(COMMON_LIBS) libdc240.la \ ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ ../sanei/sanei_config.lo sane_strstatus.lo \ - $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) nodist_libsane_dc240_la_OBJECTS = libsane_dc240_la-dc240-s.lo libsane_dc240_la_OBJECTS = $(nodist_libsane_dc240_la_OBJECTS) libsane_dc240_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ @@ -669,6 +675,8 @@ libsane_epsonds_la_DEPENDENCIES = $(COMMON_LIBS) libepsonds.la \ ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ + ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) nodist_libsane_epsonds_la_OBJECTS = libsane_epsonds_la-epsonds-s.lo @@ -704,7 +712,8 @@ libsane_genesys_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ libsane_gphoto2_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(COMMON_LIBS) \ libgphoto2_i.la ../sanei/sanei_init_debug.lo \ ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo \ - sane_strstatus.lo $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + sane_strstatus.lo $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) nodist_libsane_gphoto2_la_OBJECTS = libsane_gphoto2_la-gphoto2-s.lo libsane_gphoto2_la_OBJECTS = $(nodist_libsane_gphoto2_la_OBJECTS) libsane_gphoto2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ @@ -739,7 +748,7 @@ libsane_hp3500_la_DEPENDENCIES = $(COMMON_LIBS) libhp3500.la \ ../sanei/sanei_config.lo sane_strstatus.lo \ ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) nodist_libsane_hp3500_la_OBJECTS = libsane_hp3500_la-hp3500-s.lo libsane_hp3500_la_OBJECTS = $(nodist_libsane_hp3500_la_OBJECTS) libsane_hp3500_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ @@ -1421,9 +1430,10 @@ libsane_v4l_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ libsane_xerox_mfp_la_DEPENDENCIES = $(COMMON_LIBS) libxerox_mfp.la \ ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo \ + $(am__DEPENDENCIES_1) ../sanei/sanei_usb.lo \ + ../sanei/sanei_tcp.lo $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) nodist_libsane_xerox_mfp_la_OBJECTS = \ libsane_xerox_mfp_la-xerox_mfp-s.lo libsane_xerox_mfp_la_OBJECTS = $(nodist_libsane_xerox_mfp_la_OBJECTS) @@ -1740,7 +1750,12 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ +AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(srcdir) -I$(top_builddir)/include \ + -I$(top_srcdir)/include $(USB_CFLAGS) \ + -DLIBDIR="\"$(libdir)/sane\"" AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ $(STRICT_LDFLAGS) AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -1761,9 +1776,9 @@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISTCLEAN_FILES = @DISTCLEAN_FILES@ +DLH = @DLH@ DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ +DL_LIBS = @DL_LIBS@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ DVIPS = @DVIPS@ @@ -1774,48 +1789,56 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIG2DEV = @FIG2DEV@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GREP = @GREP@ +GS = @GS@ HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INCLUDES = @INCLUDES@ +IEEE1284_LIBS = @IEEE1284_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -JPEG_LIBS = @JPEG_LIBS@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +JPEG_LIBS = @JPEG_LIBS@ LATEX = @LATEX@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ # LIBTOOL install is a little to noisy for my liking. LIBTOOL = @LIBTOOL@ --silent -LIBUSB_1_0_CFLAGS = @LIBUSB_1_0_CFLAGS@ -LIBUSB_1_0_LIBS = @LIBUSB_1_0_LIBS@ LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LINKER_RPATH = @LINKER_RPATH@ +LIBV4L_LIBS = @LIBV4L_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCKPATH_GROUP = @LOCKPATH_GROUP@ +LTALLOCA = @LTALLOCA@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINDEX = @MAKEINDEX@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ +MATH_LIB = @MATH_LIB@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ @@ -1828,10 +1851,13 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_LIBS = @PNG_LIBS@ +POSUB = @POSUB@ +PPMTOGIF = @PPMTOGIF@ PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -1846,19 +1872,23 @@ SHELL = @SHELL@ SNMP_CFLAGS = @SNMP_CFLAGS@ SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ +SOCKET_LIBS = @SOCKET_LIBS@ STRICT_LDFLAGS = @STRICT_LDFLAGS@ STRIP = @STRIP@ SYSLOG_LIBS = @SYSLOG_LIBS@ SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_LIBS = @USB_LIBS@ +TIFF_LIBS = @TIFF_LIBS@ +USB_CFLAGS = @USB_CFLAGS@ +USB_LIBS = @USB_LIBS@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ V_MAJOR = @V_MAJOR@ V_MINOR = @V_MINOR@ V_REV = @V_REV@ XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -1914,8 +1944,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include -DLIBDIR="\"$(libdir)/sane\"" -AM_LDFLAGS = @STRICT_LDFLAGS@ # The -rpath option is added because we are creating _LTLIBRARIES based # on configure substitution. This causes automake to not know the # correct $libdir and must be added here. @@ -1978,16 +2006,16 @@ EXTRA_DIST = sane_strstatus.c stubs.c saned.conf.in abaton.conf.in \ hp5590_cmds.c hp5590_cmds.h hp5590_low.c hp5590_low.h \ hpsj5s.conf.in hs2p.conf.in hs2p-scsi.c hs2p-scsi.h \ ibm.conf.in ibm-scsi.c kodak.conf.in kodakaio.conf.in \ - leo.conf.in lexmark.conf.in lexmark_models.c lexmark_sensors.c \ - ma1509.conf.in magicolor.conf.in matsushita.conf.in \ - microtek.conf.in microtek2.conf.in mustek.conf.in \ - mustek_scsi_pp.c mustek_scsi_pp.h mustek_pp.conf.in \ - mustek_pp_ccd300.c mustek_pp_ccd300.h mustek_pp_cis.c \ - mustek_pp_cis.h mustek_pp_null.c mustek_usb.conf.in \ - mustek_usb_high.c mustek_usb_high.h mustek_usb_low.c \ - mustek_usb_low.h mustek_usb_mid.c mustek_usb_mid.h \ - mustek_usb2_asic.c mustek_usb2_asic.h mustek_usb2_high.c \ - mustek_usb2_high.h mustek_usb2_reflective.c \ + kvs1025.conf.in leo.conf.in lexmark.conf.in lexmark_models.c \ + lexmark_sensors.c ma1509.conf.in magicolor.conf.in \ + matsushita.conf.in microtek.conf.in microtek2.conf.in \ + mustek.conf.in mustek_scsi_pp.c mustek_scsi_pp.h \ + mustek_pp.conf.in mustek_pp_ccd300.c mustek_pp_ccd300.h \ + mustek_pp_cis.c mustek_pp_cis.h mustek_pp_null.c \ + mustek_usb.conf.in mustek_usb_high.c mustek_usb_high.h \ + mustek_usb_low.c mustek_usb_low.h mustek_usb_mid.c \ + mustek_usb_mid.h mustek_usb2_asic.c mustek_usb2_asic.h \ + mustek_usb2_high.c mustek_usb2_high.h mustek_usb2_reflective.c \ mustek_usb2_transparent.c nec.conf.in net.conf.in niash_core.c \ niash_core.h niash_xfer.c niash_xfer.h pie.conf.in \ pieusb.conf.in p5.conf.in p5_device.c pixma.conf.in \ @@ -2035,6 +2063,7 @@ BACKEND_CONFS = abaton.conf agfafocus.conf apple.conf artec.conf \ epson.conf epsonds.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 \ matsushita.conf microtek2.conf microtek.conf mustek.conf \ mustek_pp.conf mustek_usb.conf nec.conf net.conf \ @@ -2213,7 +2242,7 @@ libcanon_dr_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=canon_dr nodist_libsane_canon_dr_la_SOURCES = canon_dr-s.c libsane_canon_dr_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=canon_dr libsane_canon_dr_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_canon_dr_la_LIBADD = $(COMMON_LIBS) libcanon_dr.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(RESMGR_LIBS) +libsane_canon_dr_la_LIBADD = $(COMMON_LIBS) libcanon_dr.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_magic.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(RESMGR_LIBS) libcanon_pp_la_SOURCES = canon_pp.c canon_pp.h canon_pp-io.c canon_pp-io.h canon_pp-dev.c canon_pp-dev.h libcanon_pp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=canon_pp nodist_libsane_canon_pp_la_SOURCES = canon_pp-s.c @@ -2255,13 +2284,13 @@ libdc210_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc210 nodist_libsane_dc210_la_SOURCES = dc210-s.c libsane_dc210_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc210 libsane_dc210_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_dc210_la_LIBADD = $(COMMON_LIBS) libdc210.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) +libsane_dc210_la_LIBADD = $(COMMON_LIBS) libdc210.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(SANEI_SANEI_JPEG_LO) $(JPEG_LIBS) libdc240_la_SOURCES = dc240.c dc240.h libdc240_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc240 nodist_libsane_dc240_la_SOURCES = dc240-s.c libsane_dc240_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc240 libsane_dc240_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_dc240_la_LIBADD = $(COMMON_LIBS) libdc240.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) +libsane_dc240_la_LIBADD = $(COMMON_LIBS) libdc240.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(SANEI_SANEI_JPEG_LO) $(JPEG_LIBS) libdell1600n_net_la_SOURCES = dell1600n_net.c libdell1600n_net_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dell1600n_net nodist_libsane_dell1600n_net_la_SOURCES = dell1600n_net-s.c @@ -2293,7 +2322,8 @@ libsane_epson2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epson2 libsane_epson2_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) libsane_epson2_la_LIBADD = $(COMMON_LIBS) libepson2.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo $(SCSI_LIBS) $(USB_LIBS) $(SOCKET_LIBS) $(MATH_LIB) $(RESMGR_LIBS) libepsonds_la_SOURCES = epsonds.c epsonds.h epsonds-usb.c epsonds-usb.h epsonds-io.c epsonds-io.h \ - epsonds-cmd.c epsonds-cmd.h epsonds-ops.c epsonds-ops.h epsonds-jpeg.c epsonds-jpeg.h + epsonds-cmd.c epsonds-cmd.h epsonds-ops.c epsonds-ops.h epsonds-jpeg.c epsonds-jpeg.h \ + epsonds-net.c epsonds-net.h libepsonds_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epsonds nodist_libsane_epsonds_la_SOURCES = epsonds-s.c @@ -2302,7 +2332,8 @@ libsane_epsonds_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) libsane_epsonds_la_LIBADD = $(COMMON_LIBS) libepsonds.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo \ ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) $(USB_LIBS) $(MATH_LIB) $(RESMGR_LIBS) + ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo \ + $(SANEI_SANEI_JPEG_LO) $(JPEG_LIBS) $(USB_LIBS) $(MATH_LIB) $(RESMGR_LIBS) $(SOCKET_LIBS) libfujitsu_la_SOURCES = fujitsu.c fujitsu.h fujitsu-scsi.h libfujitsu_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=fujitsu @@ -2317,11 +2348,11 @@ libsane_genesys_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=genesys libsane_genesys_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) libsane_genesys_la_LIBADD = $(COMMON_LIBS) libgenesys.la ../sanei/sanei_magic.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) libgphoto2_i_la_SOURCES = gphoto2.c gphoto2.h -libgphoto2_i_la_CPPFLAGS = $(AM_CPPFLAGS) @GPHOTO2_CPPFLAGS@ -DBACKEND_NAME=gphoto2 +libgphoto2_i_la_CPPFLAGS = $(AM_CPPFLAGS) $(GPHOTO2_CPPFLAGS) -DBACKEND_NAME=gphoto2 nodist_libsane_gphoto2_la_SOURCES = gphoto2-s.c libsane_gphoto2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=gphoto2 libsane_gphoto2_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_gphoto2_la_LIBADD = $(GPHOTO2_LDFLAGS) $(COMMON_LIBS) libgphoto2_i.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo @SANEI_SANEI_JPEG_LO@ $(GPHOTO2_LIBS) $(JPEG_LIBS) +libsane_gphoto2_la_LIBADD = $(GPHOTO2_LDFLAGS) $(COMMON_LIBS) libgphoto2_i.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(SANEI_SANEI_JPEG_LO) $(GPHOTO2_LIBS) $(JPEG_LIBS) libgt68xx_la_SOURCES = gt68xx.c gt68xx.h libgt68xx_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=gt68xx nodist_libsane_gt68xx_la_SOURCES = gt68xx-s.c @@ -2339,7 +2370,7 @@ libhp3500_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp3500 nodist_libsane_hp3500_la_SOURCES = hp3500-s.c libsane_hp3500_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp3500 libsane_hp3500_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_hp3500_la_LIBADD = $(COMMON_LIBS) libhp3500.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_hp3500_la_LIBADD = $(COMMON_LIBS) libhp3500.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) libhp3900_la_SOURCES = hp3900.c libhp3900_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp3900 nodist_libsane_hp3900_la_SOURCES = hp3900-s.c @@ -2497,9 +2528,9 @@ libsane_nec_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=nec libsane_nec_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) libsane_nec_la_LIBADD = $(COMMON_LIBS) libnec.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(RESMGR_LIBS) libnet_la_SOURCES = net.c net.h -libnet_la_CPPFLAGS = $(AM_CPPFLAGS) @AVAHI_CFLAGS@ -DBACKEND_NAME=net +libnet_la_CPPFLAGS = $(AM_CPPFLAGS) $(AVAHI_CFLAGS) -DBACKEND_NAME=net nodist_libsane_net_la_SOURCES = net-s.c -libsane_net_la_CPPFLAGS = $(AM_CPPFLAGS) @AVAHI_CFLAGS@ -DBACKEND_NAME=net +libsane_net_la_CPPFLAGS = $(AM_CPPFLAGS) $(AVAHI_CFLAGS) -DBACKEND_NAME=net libsane_net_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) libsane_net_la_LIBADD = $(COMMON_LIBS) libnet.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo $(AVAHI_LIBS) $(SOCKET_LIBS) libniash_la_SOURCES = niash.c @@ -2683,7 +2714,7 @@ libsane_umax_pp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=umax_pp libsane_umax_pp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) libsane_umax_pp_la_LIBADD = $(COMMON_LIBS) libumax_pp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(MATH_LIB) libv4l_la_SOURCES = v4l.c v4l.h v4l-frequencies.h -libv4l_la_CPPFLAGS = $(AM_CPPFLAGS) @LIBV4L_CFLAGS@ -DBACKEND_NAME=v4l +libv4l_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBV4L_CFLAGS) -DBACKEND_NAME=v4l nodist_libsane_v4l_la_SOURCES = v4l-s.c libsane_v4l_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=v4l libsane_v4l_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) @@ -2693,7 +2724,7 @@ libxerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp nodist_libsane_xerox_mfp_la_SOURCES = xerox_mfp-s.c libsane_xerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp libsane_xerox_mfp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_xerox_mfp_la_LIBADD = $(COMMON_LIBS) libxerox_mfp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(RESMGR_LIBS) +libsane_xerox_mfp_la_LIBADD = $(COMMON_LIBS) libxerox_mfp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(RESMGR_LIBS) libdll_preload_la_SOURCES = dll.c libdll_preload_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll -DENABLE_PRELOAD libdll_la_SOURCES = dll.c @@ -2726,10 +2757,10 @@ libsane_dll_la_LIBADD = $(COMMON_LIBS) libdll.la ../sanei/sanei_init_debug.lo .. nodist_libsane_la_SOURCES = dll-s.c libsane_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll libsane_la_LDFLAGS = $(DIST_LIBS_LDFLAGS) -libsane_la_LIBADD = $(COMMON_LIBS) @PRELOADABLE_BACKENDS_ENABLED@ libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo $(DL_LIBS) $(LIBV4L_LIBS) $(MATH_LIB) $(IEEE1284_LIBS) $(TIFF_LIBS) $(JPEG_LIBS) $(GPHOTO2_LIBS) $(SOCKET_LIBS) $(USB_LIBS) $(AVAHI_LIBS) $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_la_LIBADD = $(COMMON_LIBS) $(PRELOADABLE_BACKENDS_ENABLED) libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo $(DL_LIBS) $(LIBV4L_LIBS) $(MATH_LIB) $(IEEE1284_LIBS) $(TIFF_LIBS) $(JPEG_LIBS) $(GPHOTO2_LIBS) $(SOCKET_LIBS) $(USB_LIBS) $(AVAHI_LIBS) $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) # WARNING: Automake is getting this wrong so have to do it ourselves. -libsane_la_DEPENDENCIES = $(COMMON_LIBS) @PRELOADABLE_BACKENDS_ENABLED@ libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo @SANEI_SANEI_JPEG_LO@ +libsane_la_DEPENDENCIES = $(COMMON_LIBS) $(PRELOADABLE_BACKENDS_ENABLED) libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo $(SANEI_SANEI_JPEG_LO) all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am @@ -3428,6 +3459,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-cmd.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-io.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-jpeg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-net.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-ops.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-usb.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds.Plo@am__quote@ @@ -3626,22 +3658,25 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxerox_mfp_la-xerox_mfp.Plo@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< @@ -3947,6 +3982,13 @@ libepsonds_la-epsonds-jpeg.lo: epsonds-jpeg.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds-jpeg.lo `test -f 'epsonds-jpeg.c' || echo '$(srcdir)/'`epsonds-jpeg.c +libepsonds_la-epsonds-net.lo: epsonds-net.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds-net.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds-net.Tpo -c -o libepsonds_la-epsonds-net.lo `test -f 'epsonds-net.c' || echo '$(srcdir)/'`epsonds-net.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds-net.Tpo $(DEPDIR)/libepsonds_la-epsonds-net.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-net.c' object='libepsonds_la-epsonds-net.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds-net.lo `test -f 'epsonds-net.c' || echo '$(srcdir)/'`epsonds-net.c + libfujitsu_la-fujitsu.lo: fujitsu.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libfujitsu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libfujitsu_la-fujitsu.lo -MD -MP -MF $(DEPDIR)/libfujitsu_la-fujitsu.Tpo -c -o libfujitsu_la-fujitsu.lo `test -f 'fujitsu.c' || echo '$(srcdir)/'`fujitsu.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfujitsu_la-fujitsu.Tpo $(DEPDIR)/libfujitsu_la-fujitsu.Plo @@ -5526,15 +5568,15 @@ all: becfg # FIXME: % is a GNU extension... This is only thing left requiring # use to use GNU make. %-s.c: $(srcdir)/stubs.c - rm -f $@ - $(LN_S) $(srcdir)/stubs.c $@ + $(AM_V_at)rm -f $@ + $(AM_V_at)$(LN_S) $(srcdir)/stubs.c $@ dll-preload.h: - rm -f $@ - list="$(PRELOADABLE_BACKENDS)"; for be in $$list; do \ + $(AM_V_at)rm -f $@ + $(AM_V_at)list="$(PRELOADABLE_BACKENDS)"; for be in $$list; do \ echo "PRELOAD_DECL($$be)" >> $@; \ - done - echo "static struct backend preloaded_backends[] = {" >> $@ + done; \ + echo "static struct backend preloaded_backends[] = {" >> $@; \ sep=""; \ list="$(PRELOADABLE_BACKENDS)"; \ if test -z "$${list}"; then \ @@ -5544,7 +5586,7 @@ dll-preload.h: echo "$${sep}PRELOAD_DEFN($$be)" >> $@; \ sep=","; \ done; \ - fi + fi; \ echo "};" >> $@ becfg: $(BACKEND_CONFS) .conf.in.conf: diff --git a/backend/agfafocus.c b/backend/agfafocus.c index 45d103f..c2c5664 100644 --- a/backend/agfafocus.c +++ b/backend/agfafocus.c @@ -947,7 +947,7 @@ do_cancel (AgfaFocus_Scanner * s) do_eof (s); - if (s->reader_pid != -1) + if (sanei_thread_is_valid (s->reader_pid)) { int exit_status; @@ -2054,7 +2054,7 @@ sane_cancel (SANE_Handle handle) { AgfaFocus_Scanner *s = handle; - if (s->reader_pid != -1) + if (sanei_thread_is_valid (s->reader_pid)) sanei_thread_kill (s->reader_pid); s->scanning = SANE_FALSE; } diff --git a/backend/apple.c b/backend/apple.c index a8e9979..487d743 100644 --- a/backend/apple.c +++ b/backend/apple.c @@ -2634,7 +2634,7 @@ sane_cancel (SANE_Handle handle) if (s->AbortedByUser) { DBG (FLOW_CONTROL, - "sane_cancel: Allready Aborted. Please Wait...\n"); + "sane_cancel: Already Aborted. Please Wait...\n"); } else { @@ -2648,7 +2648,7 @@ sane_cancel (SANE_Handle handle) if (s->AbortedByUser) { DBG (FLOW_CONTROL, "sane_cancel: Scan has not been Initiated yet, " - "or it is allready aborted.\n"); + "or it is already aborted.\n"); s->AbortedByUser = SANE_FALSE; sanei_scsi_cmd (s->fd, test_unit_ready, sizeof (test_unit_ready), 0, 0); diff --git a/backend/artec.c b/backend/artec.c index 46aa8b6..2d564a5 100644 --- a/backend/artec.c +++ b/backend/artec.c @@ -1711,7 +1711,6 @@ static SANE_Status artec_get_cap_data (ARTEC_Device * dev, int fd) { int cap_model, loop; - SANE_Status status; u_char cap_buf[256]; /* buffer for cap data */ DBG (7, "artec_get_cap_data()\n"); @@ -1746,11 +1745,11 @@ artec_get_cap_data (ARTEC_Device * dev, int fd) dev->height = cap_data[cap_model].height; - status = artec_str_list_to_word_list (&dev->horz_resolution_list, - cap_data[cap_model].horz_resolution_str); + artec_str_list_to_word_list (&dev->horz_resolution_list, + cap_data[cap_model].horz_resolution_str); - status = artec_str_list_to_word_list (&dev->vert_resolution_list, - cap_data[cap_model].vert_resolution_str); + artec_str_list_to_word_list (&dev->vert_resolution_list, + cap_data[cap_model].vert_resolution_str); dev->contrast_range.min = 0; dev->contrast_range.max = 255; diff --git a/backend/artec_eplus48u.c b/backend/artec_eplus48u.c index bc3b2f8..f31bf5c 100644 --- a/backend/artec_eplus48u.c +++ b/backend/artec_eplus48u.c @@ -1785,14 +1785,14 @@ artec48u_device_read_prepare (Artec48U_Device * dev, size_t expected_count) return SANE_STATUS_GOOD; } -static RETSIGTYPE +static void reader_process_sigterm_handler (int signal) { XDBG ((1, "reader_process: terminated by signal %d\n", signal)); _exit (SANE_STATUS_GOOD); } -static RETSIGTYPE +static void usb_reader_process_sigterm_handler (int signal) { XDBG ((1, "reader_process (usb): terminated by signal %d\n", signal)); @@ -3372,12 +3372,10 @@ close_pipe (Artec48U_Scanner * s) } return SANE_STATUS_EOF; } -static RETSIGTYPE -sigalarm_handler (int signal) +static void +sigalarm_handler (int __sane_unused__ signal) { - int dummy; /*Henning doesn't like warnings :-) */ XDBG ((1, "ALARM!!!\n")); - dummy = signal; cancelRead = SANE_TRUE; } @@ -3483,7 +3481,7 @@ do_cancel (Artec48U_Scanner * s, SANE_Bool closepipe) s->scanning = SANE_FALSE; - if (s->reader_pid != -1) + if (sanei_thread_is_valid (s->reader_pid)) { /*parent */ XDBG ((1, "killing reader_process\n")); @@ -3906,17 +3904,15 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) void sane_close (SANE_Handle handle) { - Artec48U_Scanner *prev, *s; + Artec48U_Scanner *s; XDBG ((5, "sane_close: start\n")); /* remove handle from list of open handles: */ - prev = 0; for (s = first_handle; s; s = s->next) { if (s == handle) break; - prev = s; } if (!s) { @@ -4301,7 +4297,7 @@ sane_start (SANE_Handle handle) s->reader_pipe = fds[1]; s->reader_pid = sanei_thread_begin (reader_process, s); cancelRead = SANE_FALSE; - if (s->reader_pid == -1) + if (!sanei_thread_is_valid (s->reader_pid)) { s->scanning = SANE_FALSE; XDBG ((2, "sane_start: sanei_thread_begin failed (%s)\n", strerror (errno))); diff --git a/backend/as6e.c b/backend/as6e.c index 0fb9e31..76241fb 100644 --- a/backend/as6e.c +++ b/backend/as6e.c @@ -576,8 +576,8 @@ as6e_open (AS6E_Scan * s) execlp ("as6edriver", "as6edriver", "-s", inpipe_desc, outpipe_desc, datapipe_desc, (char *) 0); DBG (1, "The SANE backend was unable to start \"as6edriver\".\n"); - DBG (1, "This must be installed in a driectory in your PATH.\n"); - DBG (1, "To aquire the as6edriver program,\n"); + DBG (1, "This must be installed in a directory in your PATH.\n"); + DBG (1, "To acquire the as6edriver program,\n"); DBG (1, "go to http://as6edriver.sourceforge.net.\n"); write (ctlinpipe[WRITEPIPE], &exec_result, sizeof (exec_result)); exit (-1); diff --git a/backend/avision.c b/backend/avision.c index 146125c..61491a2 100644 --- a/backend/avision.c +++ b/backend/avision.c @@ -1277,6 +1277,9 @@ static SANE_Bool force_calibration = SANE_FALSE; static SANE_Bool force_a4 = SANE_FALSE; static SANE_Bool force_a3 = SANE_FALSE; +/* trust ADF-presence flag, even if ADF model is nonzero */ +static SANE_Bool skip_adf = SANE_FALSE; + /* hardware resolutions to interpolate from */ static const int hw_res_list_c5[] = { @@ -2736,7 +2739,7 @@ wait_4_light (Avision_Scanner* s) struct command_read rcmd; char* light_status[] = { "off", "on", "warming up", "needs warm up test", - "light check error", "RESERVED" }; + "light check error", "backlight on", "RESERVED" }; SANE_Status status; uint8_t result; @@ -2753,6 +2756,11 @@ wait_4_light (Avision_Scanner* s) set_triple (rcmd.transferlen, size); for (try = 0; try < 90; ++ try) { + + if (s->cancelled) { + DBG (3, "wait_4_light: cancelled\n"); + return SANE_STATUS_CANCELLED; + } DBG (5, "wait_4_light: read bytes %lu\n", (u_long) size); status = avision_cmd (&s->av_con, &rcmd, sizeof (rcmd), 0, 0, &result, &size); @@ -2762,10 +2770,10 @@ wait_4_light (Avision_Scanner* s) return status; } - DBG (3, "wait_4_light: command is %d. Result is %s\n", - status, light_status[(result>4)?5:result]); + DBG (3, "wait_4_light: command is %d. Result is %d (%s)\n", + status, result, light_status[(result>5)?6:result]); - if (result == 1) { + if (result == 1 || result == 5) { return SANE_STATUS_GOOD; } else if (dev->hw->feature_type & AV_LIGHT_CHECK_BOGUS) { @@ -3218,11 +3226,13 @@ get_accessories_info (Avision_Scanner* s) { dev->inquiry_duplex = 1; dev->inquiry_duplex_interlaced = 0; - } else if (result[0] == 0 && result[2] != 0) { + } else if (result[0] == 0 && result[2] != 0 && !skip_adf) { /* Sometimes the scanner will report that there is no ADF attached, yet * an ADF model number will still be reported. This happens on the * HP8200 series and possibly others. In this case we need to reset the - * the adf and try reading it again. + * the adf and try reading it again. Skip this if the configuration says + * to do so, so that we don't fail out the scanner as being broken and + * unsupported if there isn't actually an ADF present. */ DBG (3, "get_accessories_info: Found ADF model number but the ADF-present flag is not set. Trying to recover...\n"); status = adf_reset (s); @@ -4641,7 +4651,6 @@ set_calib_data (Avision_Scanner* s, struct calibration_format* format, struct command_send scmd; int i; - size_t out_size; DBG (3, "set_calib_data:\n"); @@ -4679,8 +4688,6 @@ set_calib_data (Avision_Scanner* s, struct calibration_format* format, } } - out_size = format->pixel_per_line * 2; - /* send data in one command? */ /* FR: HP5370 reports one-pass, but needs multi (or other format in single) */ if (format->channels == 1 || @@ -6215,8 +6222,9 @@ do_cancel (Avision_Scanner* s) s->prepared = s->scanning = SANE_FALSE; s->duplex_rear_valid = SANE_FALSE; s->page = 0; + s->cancelled = 1; - if (s->reader_pid != -1) { + if (sanei_thread_is_valid (s->reader_pid)) { int exit_status; /* ensure child knows it's time to stop: */ @@ -7630,6 +7638,11 @@ sane_reload_devices (void) linenumber); force_a3 = SANE_TRUE; } + else if (strcmp (word, "skip-adf") == 0) { + DBG (3, "sane_reload_devices: config file line %d: enabling skip-adf\n", + linenumber); + skip_adf = SANE_TRUE; + } else if (strcmp (word, "static-red-calib") == 0) { DBG (3, "sane_reload_devices: config file line %d: static red calibration\n", linenumber); @@ -8313,6 +8326,9 @@ sane_start (SANE_Handle handle) /* Make sure there is no scan running!!! */ if (s->scanning) return SANE_STATUS_DEVICE_BUSY; + + /* Clear cancellation status */ + s->cancelled = 0; /* Make sure we have a current parameter set. Some of the parameters will be overwritten below, but that's OK. */ @@ -8365,6 +8381,14 @@ sane_start (SANE_Handle handle) sane_strstatus (status)); goto stop_scanner_and_return; } + /* Re-check the light, as setting the window may have changed + * which light is to be turned on. */ + if (s->prepared == SANE_FALSE && dev->inquiry_light_control) { + status = wait_4_light (s); + if (status != SANE_STATUS_GOOD) { + return status; + } + } } #ifdef DEBUG_TEST diff --git a/backend/avision.h b/backend/avision.h index 2122e09..b26907f 100644 --- a/backend/avision.h +++ b/backend/avision.h @@ -444,6 +444,7 @@ typedef struct Avision_Scanner SANE_Bool prepared; /* first page marker */ SANE_Bool scanning; /* scan in progress */ unsigned int page; /* page counter, 0: uninitialized, 1: scanning 1st page, ... */ + int cancelled; SANE_Parameters params; /* scan window */ Avision_Dimensions avdimen; /* scan window - detailed internals */ diff --git a/backend/bh.h b/backend/bh.h index 62115c6..545ffb1 100644 --- a/backend/bh.h +++ b/backend/bh.h @@ -652,7 +652,7 @@ _4btol(SANE_Byte *bytes) #define SANE_NAME_BARCODE_HMIN "barcode-hmin" #define SANE_TITLE_BARCODE_HMIN "Barcode Minimum Height" -#define SANE_DESC_BARCODE_HMIN "Sets the Barcode Minimun Height (larger values increase recognition speed)" +#define SANE_DESC_BARCODE_HMIN "Sets the Barcode Minimum Height (larger values increase recognition speed)" #define SANE_NAME_BARCODE_SEARCH_MODE "barcode-search-mode" #define SANE_TITLE_BARCODE_SEARCH_MODE "Barcode Search Mode" diff --git a/backend/canon-sane.c b/backend/canon-sane.c index 79ce0ba..a8efc7a 100644 --- a/backend/canon-sane.c +++ b/backend/canon-sane.c @@ -1,5 +1,5 @@ SANE_Status -sane_init (SANE_Int * version_code, SANE_Auth_Callback UNUSEDARG authorize) +sane_init (SANE_Int * version_code, SANE_Auth_Callback __sane_unused__ authorize) { char devnam[PATH_MAX] = "/dev/scanner"; FILE *fp; @@ -107,7 +107,7 @@ sane_exit (void) SANE_Status sane_get_devices (const SANE_Device *** device_list, -SANE_Bool UNUSEDARG local_only) +SANE_Bool __sane_unused__ local_only) { static const SANE_Device **devlist = 0; CANON_Device *dev; @@ -1104,7 +1104,6 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters *params) SANE_Status sane_start (SANE_Handle handle) { - int mode; char *mode_str; CANON_Scanner *s = handle; SANE_Status status; @@ -1301,33 +1300,27 @@ sane_start (SANE_Handle handle) if (!strcmp (mode_str, SANE_VALUE_SCAN_MODE_LINEART)) { - mode = 4; s->image_composition = 0; } else if (!strcmp (mode_str, SANE_VALUE_SCAN_MODE_HALFTONE)) { - mode = 4; s->image_composition = 1; } else if (!strcmp (mode_str, SANE_VALUE_SCAN_MODE_GRAY)) { - mode = 5; s->image_composition = 2; } else if (!strcmp (mode_str, SANE_VALUE_SCAN_MODE_COLOR) || !strcmp (mode_str, SANE_I18N("Fine color"))) { - mode = 6; s->image_composition = 5; } else if (!strcmp (mode_str, SANE_I18N("Raw"))) { - mode = 6; s->image_composition = 5; } else { - mode = 6; s->image_composition = 5; } @@ -2206,8 +2199,8 @@ sane_cancel (SANE_Handle handle) /**************************************************************************/ SANE_Status -sane_set_io_mode (SANE_Handle UNUSEDARG handle, -SANE_Bool UNUSEDARG non_blocking) +sane_set_io_mode (SANE_Handle __sane_unused__ handle, +SANE_Bool __sane_unused__ non_blocking) { DBG (1, ">> sane_set_io_mode\n"); DBG (1, "<< sane_set_io_mode\n"); @@ -2217,8 +2210,8 @@ SANE_Bool UNUSEDARG non_blocking) /**************************************************************************/ SANE_Status -sane_get_select_fd (SANE_Handle UNUSEDARG handle, -SANE_Int UNUSEDARG * fd) +sane_get_select_fd (SANE_Handle __sane_unused__ handle, +SANE_Int __sane_unused__ * fd) { DBG (1, ">> sane_get_select_fd\n"); DBG (1, "<< sane_get_select_fd\n"); diff --git a/backend/canon-scsi.c b/backend/canon-scsi.c index 423a07e..a83e518 100644 --- a/backend/canon-scsi.c +++ b/backend/canon-scsi.c @@ -688,7 +688,7 @@ static SANE_Status set_parameters_fs2710 (SANE_Handle handle) { CANON_Scanner *s = handle; - int i, j, invert, shadow[4], hilite[4]; + int i, j, shadow[4], hilite[4]; double x, b, c; shadow[1] = s->ShadowR << 4; @@ -700,8 +700,6 @@ set_parameters_fs2710 (SANE_Handle handle) c = ((double) s->contrast) / 128.0; b = ((double) (s->brightness - 128)) / 128.0; - invert = strcmp (filmtype_list[1], s->val[OPT_NEGATIVE].s); - for (i = 1; i < 4; i++) { for (j = 0; j < 4096; j++) diff --git a/backend/canon.h b/backend/canon.h index 34f527b..c4dc9a8 100644 --- a/backend/canon.h +++ b/backend/canon.h @@ -46,12 +46,6 @@ #ifndef canon_h #define canon_h 1 -#ifdef __GNUC__ -#define UNUSEDARG __attribute__ ((unused)) -#else -#define UNUSEDARG -#endif - /* all the different possible model names. */ #define FB1200S "IX-12015E " #define FB620S "IX-06035E " diff --git a/backend/canon630u-common.c b/backend/canon630u-common.c index 4417141..a46424a 100644 --- a/backend/canon630u-common.c +++ b/backend/canon630u-common.c @@ -295,7 +295,7 @@ write_word (int fd, unsigned int addr, unsigned int data) /* write multiple bytes, one at a time (non-bulk) */ static SANE_Status -write_many (int fd, unsigned int addr, void *src, size_t count) +write_many (int fd, unsigned int addr, const byte *src, size_t count) { SANE_Status status; size_t i; @@ -303,8 +303,8 @@ write_many (int fd, unsigned int addr, void *src, size_t count) DBG (14, "multi write %lu\n", (u_long) count); for (i = 0; i < count; i++) { - DBG (15, " %04lx:%02x", (u_long) (addr + i), ((byte *) src)[i]); - status = write_byte (fd, addr + i, ((byte *) src)[i]); + DBG (15, " %04lx:%02x", (u_long) (addr + i), src[i]); + status = write_byte (fd, addr + i, src[i]); if (status != SANE_STATUS_GOOD) { DBG (15, "\n"); @@ -741,9 +741,9 @@ plugin_cal (CANON_Handle * s) /* parallel port setting */ write_byte (fd, PARALLEL_PORT, 0x06); - write_many (fd, 0x08, (byte *) seq002, sizeof (seq002)); + write_many (fd, 0x08, seq002, sizeof (seq002)); /* addr 0x28 isn't written */ - write_many (fd, 0x29, (byte *) seq003, sizeof (seq003)); + write_many (fd, 0x29, seq003, sizeof (seq003)); /* Verification */ buf = malloc (0x400); read_many (fd, 0x08, buf, sizeof (seq002)); diff --git a/backend/canon630u.c b/backend/canon630u.c index 6bd3431..5c1a711 100644 --- a/backend/canon630u.c +++ b/backend/canon630u.c @@ -873,7 +873,6 @@ void sane_close (SANE_Handle handle) { Canon_Scanner *prev, *scanner; - SANE_Status res; DBG (3, "sane_close\n"); @@ -906,7 +905,7 @@ sane_close (SANE_Handle handle) else first_handle = scanner->next; - res = CANON_close_device (&scanner->scan); + CANON_close_device (&scanner->scan); free (scanner); } diff --git a/backend/canon_dr.c b/backend/canon_dr.c index 381cfd6..3c058ab 100644 --- a/backend/canon_dr.c +++ b/backend/canon_dr.c @@ -3,7 +3,7 @@ This file is part of the SANE package, and implements a SANE backend for various Canon DR-series scanners. - Copyright (C) 2008-2010 m. allan noah + Copyright (C) 2008-2016 m. allan noah Yabarana Corp. www.yabarana.com provided significant funding EvriChart, Inc. www.evrichart.com provided funding and loaned equipment @@ -314,8 +314,27 @@ v50 2015-08-23, MAN - DR-C125 adds duplex padding on back side - initial support for DR-C225 - v51 2015-08-25, MAN + v51 2015-08-25, MAN (SANE 1.0.25) - DR-C125 does not invert_tly, does need sw_lut + v52 2015-11-03, MAN + - set can_color=1 by default (recent models dont have 'C' in name) + - enable jpeg for DR-6080 + - add must_downsample and must_fully_buffer + - improve dropout option handling + - add software dropout implementation for downsampled modes + v53 2015-11-06, MAN + - replace image processing methods with sanei_magic + - add swskip option + - reorder geometry group options + - use bg_color to fill missing image data + v54 2015-11-21, MAN + - br_x and br_y locked to page_width/height until changed + v55 2016-03-19, MAN + - fixed-width scanners were calculating left-side offset incorrectly in color + - initial support for DR-F120 + - rename all DUPLEX_INTERLACE_* to indicate start and end of line + v56 2016-08-23, MAN + - initial support for P-150 SANE FLOW DIAGRAM @@ -360,12 +379,13 @@ #include "../include/sane/sanei_usb.h" #include "../include/sane/saneopts.h" #include "../include/sane/sanei_config.h" +#include "../include/sane/sanei_magic.h" #include "canon_dr-cmd.h" #include "canon_dr.h" #define DEBUG 1 -#define BUILD 51 +#define BUILD 56 /* values for SANE_DEBUG_CANON_DR env var: - errors 5 @@ -618,7 +638,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) global_extra_status = buf; } - /* DUPLEXOFFSET: < 1200 */ + /* DUPLEXOFFSET: < 2400 */ else if (!strncmp (lp, "duplex-offset", 13) && isspace (lp[13])) { int buf; @@ -626,9 +646,9 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) lp = sanei_config_skip_whitespace (lp); buf = atoi (lp); - if (buf > 1200) { + if (buf > 2400) { DBG (5, "sane_get_devices: config option \"duplex-offset\" " - "(%d) is > 1200, ignoring!\n", buf); + "(%d) is > 2400, ignoring!\n", buf); continue; } @@ -1262,18 +1282,21 @@ init_model (struct scanner *s) s->max_x_fb = s->max_x; s->max_y_fb = s->max_y; - /* generic settings missing from vpd */ - if (strstr (s->model_name,"C")){ - s->can_color = 1; - } + /* missing from vpd- we will unset this for b&w machines below */ + s->can_color = 1; /* specific settings missing from vpd */ - if (strstr (s->model_name,"DR-9080") - || strstr (s->model_name,"DR-7580")){ + if (strstr (s->model_name,"DR-9080")){ s->has_comp_JPEG = 1; s->rgb_format = 2; } + else if (strstr (s->model_name,"DR-6080") + || strstr (s->model_name,"DR-7580")){ + s->has_comp_JPEG = 1; + s->can_color = 0; + } + else if (strstr (s->model_name,"DR-7090")){ s->has_flatbed = 1; } @@ -1318,7 +1341,7 @@ init_model (struct scanner *s) s->color_interlace[SIDE_FRONT] = COLOR_INTERLACE_RRGGBB; s->color_interlace[SIDE_BACK] = COLOR_INTERLACE_rRgGbB; s->gray_interlace[SIDE_BACK] = GRAY_INTERLACE_gG; - s->duplex_interlace = DUPLEX_INTERLACE_FBFB; + s->duplex_interlace = DUPLEX_INTERLACE_FBfb; s->need_ccal = 1; s->need_fcal = 1; /*s->duplex_offset = 432; now set in config file*/ @@ -1398,7 +1421,7 @@ init_model (struct scanner *s) s->even_Bpl = 1; s->color_interlace[SIDE_FRONT] = COLOR_INTERLACE_RRGGBB; s->color_interlace[SIDE_BACK] = COLOR_INTERLACE_RRGGBB; - s->duplex_interlace = DUPLEX_INTERLACE_FBFB; + s->duplex_interlace = DUPLEX_INTERLACE_FBfb; s->need_fcal_buffer = 1; s->bg_color = 0x08; /*s->duplex_offset = 840; now set in config file*/ @@ -1422,6 +1445,7 @@ init_model (struct scanner *s) s->ppl_mod = 32; s->reverse_by_mode[MODE_LINEART] = 0; s->reverse_by_mode[MODE_HALFTONE] = 0; + s->can_color = 0; } else if (strstr (s->model_name,"DR-5020")){ @@ -1432,16 +1456,33 @@ init_model (struct scanner *s) s->ppl_mod = 32; s->reverse_by_mode[MODE_LINEART] = 0; s->reverse_by_mode[MODE_HALFTONE] = 0; + s->can_color = 0; + } + + /* all copied from P-215 */ + else if (strstr (s->model_name, "P-150")) { + s->color_interlace[SIDE_FRONT] = COLOR_INTERLACE_rRgGbB; + s->color_interlace[SIDE_BACK] = COLOR_INTERLACE_RRGGBB; + s->gray_interlace[SIDE_FRONT] = GRAY_INTERLACE_gG; + s->duplex_interlace = DUPLEX_INTERLACE_FBfb; + s->need_ccal = 1; + s->invert_tly = 1; + s->unknown_byte2 = 0x88; + s->rgb_format = 1; + s->has_ssm_pay_head_len = 1; + s->ppl_mod = 8; + s->ccal_version = 3; + s->can_read_sensors = 1; + s->has_card = 1; } else if (strstr (s->model_name, "P-208")) { s->color_interlace[SIDE_FRONT] = COLOR_INTERLACE_RRGGBB; s->color_interlace[SIDE_BACK] = COLOR_INTERLACE_rRgGbB; s->gray_interlace[SIDE_BACK] = GRAY_INTERLACE_gG; - s->duplex_interlace = DUPLEX_INTERLACE_FBFB; + s->duplex_interlace = DUPLEX_INTERLACE_FBfb; s->need_ccal = 1; s->invert_tly = 1; - s->can_color = 1; s->unknown_byte2 = 0x88; s->rgb_format = 1; s->has_ssm_pay_head_len = 1; @@ -1454,10 +1495,9 @@ init_model (struct scanner *s) s->color_interlace[SIDE_FRONT] = COLOR_INTERLACE_rRgGbB; s->color_interlace[SIDE_BACK] = COLOR_INTERLACE_RRGGBB; s->gray_interlace[SIDE_FRONT] = GRAY_INTERLACE_gG; - s->duplex_interlace = DUPLEX_INTERLACE_FBFB; + s->duplex_interlace = DUPLEX_INTERLACE_FBfb; s->need_ccal = 1; s->invert_tly = 1; - s->can_color = 1; s->unknown_byte2 = 0x88; s->rgb_format = 1; s->has_ssm_pay_head_len = 1; @@ -1485,7 +1525,6 @@ init_model (struct scanner *s) s->has_comp_JPEG = 1; s->rgb_format = 1; - s->can_color = 1; s->has_df_ultra = 1; s->color_inter_by_res[DPI_100] = COLOR_INTERLACE_GBR; @@ -1500,7 +1539,7 @@ init_model (struct scanner *s) s->can_write_panel = 0; s->has_ssm = 0; s->has_ssm2 = 1; - s->duplex_interlace = DUPLEX_INTERLACE_FFBB; + s->duplex_interlace = DUPLEX_INTERLACE_FfBb; s->duplex_offset_side = SIDE_FRONT; /*lies*/ @@ -1526,7 +1565,6 @@ init_model (struct scanner *s) s->has_comp_JPEG = 1; s->rgb_format = 1; - s->can_color = 1; s->has_df_ultra = 1; s->color_inter_by_res[DPI_100] = COLOR_INTERLACE_GBR; @@ -1541,7 +1579,7 @@ init_model (struct scanner *s) s->can_write_panel = 0; s->has_ssm = 0; s->has_ssm2 = 1; - s->duplex_interlace = DUPLEX_INTERLACE_FFBB; + s->duplex_interlace = DUPLEX_INTERLACE_FfBb; s->duplex_offset_side = SIDE_BACK; /*lies*/ @@ -1563,7 +1601,6 @@ init_model (struct scanner *s) s->ccal_version = 3; s->need_fcal = 1; s->sw_lut = 1; - s->can_color = 1; s->rgb_format = 1; /*s->duplex_offset = 400; now set in config file*/ @@ -1585,14 +1622,13 @@ init_model (struct scanner *s) s->color_interlace[SIDE_FRONT] = COLOR_INTERLACE_RRGGBB; s->color_interlace[SIDE_BACK] = COLOR_INTERLACE_rRgGbB; s->gray_interlace[SIDE_BACK] = GRAY_INTERLACE_gG; - s->duplex_interlace = DUPLEX_INTERLACE_FBFB; + s->duplex_interlace = DUPLEX_INTERLACE_FBfb; s->unknown_byte2 = 0x88; s->need_ccal = 1; s->ccal_version = 3; s->need_fcal = 1; s->invert_tly = 1; - s->can_color = 1; s->rgb_format = 1; /*s->duplex_offset = 400; now set in config file*/ @@ -1609,6 +1645,51 @@ init_model (struct scanner *s) s->valid_x = 8.5 * 1200; } + else if (strstr (s->model_name,"DR-F120")){ + /* TODO items: + * * has_rif = 0 ? is this correct + * * has_comp_JPEG = 0 ? is this correct + * * need_ccal = need_fcal = need_fcal_buffer = ccal_version = 0 ? is this correct + */ + + /* Required for USB coms */ + s->has_ssm = 0; + s->has_ssm2 = 1; + + /*missing*/ + s->std_res_x[DPI_100] = 1; + s->std_res_y[DPI_100] = 1; + // DPI_150 not supported + s->std_res_x[DPI_200] = 1; + s->std_res_y[DPI_200] = 1; + s->std_res_x[DPI_300] = 1; + s->std_res_y[DPI_300] = 1; + // DPI_400 not supported + s->std_res_x[DPI_600]= 1; + s->std_res_y[DPI_600] = 1; + // DPI_1200 not supported + // NOTE: This scanner supports higher resolutions + // in the Y direction, but 600 is maximum in X + + // This is true however only the ADF is ever selected in hardware + // FIXME: What extra option is needed to select this in the USB comms + s->has_flatbed = 1; + + /* duplex */ + s->duplex_interlace = DUPLEX_INTERLACE_fFBb; + s->color_interlace[SIDE_FRONT] = COLOR_INTERLACE_GBR; + s->color_interlace[SIDE_BACK] = COLOR_INTERLACE_GBR; + s->color_inter_by_res[DPI_100] = COLOR_INTERLACE_RGB; + s->color_inter_by_res[DPI_600] = COLOR_INTERLACE_RGB; + s->duplex_offset_side = SIDE_BACK; + + /* weirdness */ + s->fixed_width = 1; + + /* lies */ + s->can_halftone = 0; + } + DBG (10, "init_model: finish\n"); return SANE_STATUS_GOOD; @@ -2239,7 +2320,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if (i > 1){ opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - if (s->u.mode != MODE_COLOR && s->u.mode != MODE_GRAYSCALE){ + if ( must_downsample(s) || s->s.mode < MODE_GRAYSCALE ){ opt->cap |= SANE_CAP_INACTIVE; } } @@ -2361,6 +2442,24 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->cap = SANE_CAP_INACTIVE; } + /* Software blank page skip */ + if(option==OPT_SWSKIP){ + + opt->name = "swskip"; + opt->title = SANE_I18N ("Software blank skip percentage"); + opt->desc = SANE_I18N("Request driver to discard pages with low percentage of dark pixels"); + opt->type = SANE_TYPE_FIXED; + opt->unit = SANE_UNIT_PERCENT; + opt->constraint_type = SANE_CONSTRAINT_RANGE; + opt->constraint.range = &s->swskip_range; + + s->swskip_range.quant=SANE_FIX(0.10001); + s->swskip_range.min=SANE_FIX(0); + s->swskip_range.max=SANE_FIX(100); + + opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; + } + /*staple detection*/ if(option==OPT_STAPLEDETECT){ opt->name = "stapledetect"; @@ -2751,12 +2850,16 @@ sane_control_option (SANE_Handle handle, SANE_Int option, *val_p = s->swcrop; return SANE_STATUS_GOOD; + case OPT_SWSKIP: + *val_p = SANE_FIX(s->swskip); + return SANE_STATUS_GOOD; + case OPT_STAPLEDETECT: *val_p = s->stapledetect; return SANE_STATUS_GOOD; case OPT_DROPOUT_COLOR_F: - switch (s->dropout_color_f) { + switch (s->dropout_color[SIDE_FRONT]) { case COLOR_NONE: strcpy (val, STRING_NONE); break; @@ -2782,7 +2885,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, return SANE_STATUS_GOOD; case OPT_DROPOUT_COLOR_B: - switch (s->dropout_color_b) { + switch (s->dropout_color[SIDE_BACK]) { case COLOR_NONE: strcpy (val, STRING_NONE); break; @@ -3003,6 +3106,14 @@ sane_control_option (SANE_Handle handle, SANE_Int option, if (s->u.page_x == FIXED_MM_TO_SCANNER_UNIT(val_c)) return SANE_STATUS_GOOD; + /* if full width image, and paper size is changed, + change the image size to match new paper */ + if (s->u.tl_x == 0 && s->u.br_x == s->u.page_x){ + DBG (20, "sane_control_option: br_x tracking page_width\n"); + s->u.br_x = FIXED_MM_TO_SCANNER_UNIT(val_c); + *info |= SANE_INFO_RELOAD_PARAMS; + } + s->u.page_x = FIXED_MM_TO_SCANNER_UNIT(val_c); *info |= SANE_INFO_RELOAD_OPTIONS; @@ -3012,6 +3123,14 @@ sane_control_option (SANE_Handle handle, SANE_Int option, if (s->u.page_y == FIXED_MM_TO_SCANNER_UNIT(val_c)) return SANE_STATUS_GOOD; + /* if full height image, and paper size is changed, + change the image size to match new paper */ + if (s->u.tl_y == 0 && s->u.br_y == s->u.page_y){ + DBG (20, "sane_control_option: br_y tracking page_height\n"); + s->u.br_y = FIXED_MM_TO_SCANNER_UNIT(val_c); + *info |= SANE_INFO_RELOAD_PARAMS; + } + s->u.page_y = FIXED_MM_TO_SCANNER_UNIT(val_c); *info |= SANE_INFO_RELOAD_OPTIONS; @@ -3072,42 +3191,46 @@ sane_control_option (SANE_Handle handle, SANE_Int option, s->swcrop = val_c; return SANE_STATUS_GOOD; + case OPT_SWSKIP: + s->swskip = SANE_UNFIX(val_c); + return SANE_STATUS_GOOD; + case OPT_STAPLEDETECT: s->stapledetect = val_c; return SANE_STATUS_GOOD; case OPT_DROPOUT_COLOR_F: if (!strcmp(val, STRING_NONE)) - s->dropout_color_f = COLOR_NONE; + s->dropout_color[SIDE_FRONT] = COLOR_NONE; else if (!strcmp(val, STRING_RED)) - s->dropout_color_f = COLOR_RED; + s->dropout_color[SIDE_FRONT] = COLOR_RED; else if (!strcmp(val, STRING_GREEN)) - s->dropout_color_f = COLOR_GREEN; + s->dropout_color[SIDE_FRONT] = COLOR_GREEN; else if (!strcmp(val, STRING_BLUE)) - s->dropout_color_f = COLOR_BLUE; + s->dropout_color[SIDE_FRONT] = COLOR_BLUE; else if (!strcmp(val, STRING_EN_RED)) - s->dropout_color_f = COLOR_EN_RED; + s->dropout_color[SIDE_FRONT] = COLOR_EN_RED; else if (!strcmp(val, STRING_EN_GREEN)) - s->dropout_color_f = COLOR_EN_GREEN; + s->dropout_color[SIDE_FRONT] = COLOR_EN_GREEN; else if (!strcmp(val, STRING_EN_BLUE)) - s->dropout_color_f = COLOR_EN_BLUE; + s->dropout_color[SIDE_FRONT] = COLOR_EN_BLUE; return SANE_STATUS_GOOD; case OPT_DROPOUT_COLOR_B: if (!strcmp(val, STRING_NONE)) - s->dropout_color_b = COLOR_NONE; + s->dropout_color[SIDE_BACK] = COLOR_NONE; else if (!strcmp(val, STRING_RED)) - s->dropout_color_b = COLOR_RED; + s->dropout_color[SIDE_BACK] = COLOR_RED; else if (!strcmp(val, STRING_GREEN)) - s->dropout_color_b = COLOR_GREEN; + s->dropout_color[SIDE_BACK] = COLOR_GREEN; else if (!strcmp(val, STRING_BLUE)) - s->dropout_color_b = COLOR_BLUE; + s->dropout_color[SIDE_BACK] = COLOR_BLUE; else if (!strcmp(val, STRING_EN_RED)) - s->dropout_color_b = COLOR_EN_RED; + s->dropout_color[SIDE_BACK] = COLOR_EN_RED; else if (!strcmp(val, STRING_EN_GREEN)) - s->dropout_color_b = COLOR_EN_GREEN; + s->dropout_color[SIDE_BACK] = COLOR_EN_GREEN; else if (!strcmp(val, STRING_EN_BLUE)) - s->dropout_color_b = COLOR_EN_BLUE; + s->dropout_color[SIDE_BACK] = COLOR_EN_BLUE; return SANE_STATUS_GOOD; case OPT_BUFFERMODE: @@ -3344,6 +3467,11 @@ ssm_do (struct scanner *s) return ret; } + if(s->s.mode == MODE_COLOR){ + DBG (10, "ssm_do: unneeded, finishing\n"); + return ret; + } + if(s->has_ssm){ unsigned char cmd[SET_SCAN_MODE_len]; @@ -3366,7 +3494,7 @@ ssm_do (struct scanner *s) set_SSM_DO_unk1(out, 0x03); - switch(s->dropout_color_f){ + switch(s->dropout_color[SIDE_FRONT]){ case COLOR_RED: set_SSM_DO_unk2(out, 0x05); set_SSM_DO_f_do(out,SSM_DO_red); @@ -3393,7 +3521,7 @@ ssm_do (struct scanner *s) break; } - switch(s->dropout_color_b){ + switch(s->dropout_color[SIDE_BACK]){ case COLOR_RED: set_SSM_DO_unk2(out, 0x05); set_SSM_DO_b_do(out,SSM_DO_red); @@ -3444,7 +3572,7 @@ ssm_do (struct scanner *s) memset(out,0,outLen); - switch(s->dropout_color_f){ + switch(s->dropout_color[SIDE_FRONT]){ case COLOR_RED: set_SSM2_DO_do(out,SSM_DO_red); break; @@ -4138,9 +4266,7 @@ sane_start (SANE_Handle handle) * tell the user the size of the image. the sane * API has no way to inform the frontend of this, * so we block and buffer. yuck */ - if( (s->swdeskew || s->swdespeck || s->swcrop) - && s->s.format != SANE_FRAME_JPEG - ){ + if(must_fully_buffer(s)){ /* get image */ while(!s->s.eof[s->side] && !ret){ @@ -4166,7 +4292,16 @@ sane_start (SANE_Handle handle) if(s->swdespeck){ buffer_despeck(s,s->side); } - + if(s->swskip){ + /* Skipping means throwing out this image. + * Pretend the user read the whole thing + * and call sane_start again. + * This assumes we are running in batch mode. */ + if(buffer_isblank(s,s->side)){ + s->u.eof[s->side] = 1; + return sane_start(handle); + } + } } ret = check_for_cancel(s); @@ -4752,23 +4887,7 @@ read_from_scanner(struct scanner *s, int side, int exact) /* this is non-jpeg data, fill remainder, change rx'd size */ else{ - - DBG (15, "read_from_scanner: eof: %d %d\n", s->i.bytes_tot[side], s->i.bytes_sent[side]); - - /* clone the last line repeatedly until the end */ - while(s->i.bytes_tot[side] > s->i.bytes_sent[side]){ - memcpy( - s->buffers[side]+s->i.bytes_sent[side]-s->i.Bpl, - s->buffers[side]+s->i.bytes_sent[side], - s->i.Bpl - ); - s->i.bytes_sent[side] += s->i.Bpl; - } - - DBG (15, "read_from_scanner: eof2: %d %d\n", s->i.bytes_tot[side], s->i.bytes_sent[side]); - - /* pretend we got all the data from scanner */ - s->s.bytes_sent[side] = s->s.bytes_tot[side]; + fill_image(s,side); } s->i.eof[side] = 1; @@ -4890,40 +5009,8 @@ read_from_scanner_duplex(struct scanner *s,int exact) /* this is non-jpeg data, fill remainder, change rx'd size */ else{ - - DBG (15, "read_from_scanner_duplex: eof: %d %d %d %d\n", - s->i.bytes_tot[SIDE_FRONT], s->i.bytes_sent[SIDE_FRONT], - s->i.bytes_tot[SIDE_BACK], s->i.bytes_sent[SIDE_BACK] - ); - - /* clone the last line repeatedly until the end */ - while(s->i.bytes_tot[SIDE_FRONT] > s->i.bytes_sent[SIDE_FRONT]){ - memcpy( - s->buffers[SIDE_FRONT]+s->i.bytes_sent[SIDE_FRONT]-s->i.Bpl, - s->buffers[SIDE_FRONT]+s->i.bytes_sent[SIDE_FRONT], - s->i.Bpl - ); - s->i.bytes_sent[SIDE_FRONT] += s->i.Bpl; - } - - /* clone the last line repeatedly until the end */ - while(s->i.bytes_tot[SIDE_BACK] > s->i.bytes_sent[SIDE_BACK]){ - memcpy( - s->buffers[SIDE_BACK]+s->i.bytes_sent[SIDE_BACK]-s->i.Bpl, - s->buffers[SIDE_BACK]+s->i.bytes_sent[SIDE_BACK], - s->i.Bpl - ); - s->i.bytes_sent[SIDE_BACK] += s->i.Bpl; - } - - DBG (15, "read_from_scanner_duplex: eof2: %d %d %d %d\n", - s->i.bytes_tot[SIDE_FRONT], s->i.bytes_sent[SIDE_FRONT], - s->i.bytes_tot[SIDE_BACK], s->i.bytes_sent[SIDE_BACK] - ); - - /* pretend we got all the data from scanner */ - s->s.bytes_sent[SIDE_FRONT] = s->s.bytes_tot[SIDE_FRONT]; - s->s.bytes_sent[SIDE_BACK] = s->s.bytes_tot[SIDE_BACK]; + fill_image(s,SIDE_FRONT); + fill_image(s,SIDE_BACK); } s->i.eof[SIDE_FRONT] = 1; @@ -5222,16 +5309,20 @@ copy_duplex(struct scanner *s, unsigned char * buf, int len) } /* full line of front, then full line of back */ - else if(s->duplex_interlace == DUPLEX_INTERLACE_FFBB){ + else if(s->duplex_interlace == DUPLEX_INTERLACE_FfBb || s->duplex_interlace == DUPLEX_INTERLACE_fFBb){ for(i=0; iduplex_interlace == DUPLEX_INTERLACE_FfBb){ + memcpy(front+flen,buf+i,bwidth); + }else{ + rmemcpy(front+flen,buf+i,bwidth,3); // only 24bit color is supported + } flen+=bwidth; memcpy(back+blen,buf+i+bwidth,bwidth); blen+=bwidth; } } - /*just alternating bytes, FBFBFB*/ + /*just alternating bytes, FBfb*/ else { for(i=0; is.mode) { case MODE_COLOR: - memcpy(line, buff, sbwidth); + if(must_downsample(s) && s->dropout_color[side]){ + switch(s->dropout_color[side]){ + case COLOR_RED: + for(i=0;ii.mode) { case MODE_COLOR: - memcpy(s->buffers[side]+s->i.bytes_sent[side], line+offset, ibwidth); + memcpy(s->buffers[side]+s->i.bytes_sent[side], line+(offset*3), ibwidth); s->i.bytes_sent[side] += ibwidth; break; @@ -5410,6 +5556,43 @@ read_from_buffer(struct scanner *s, SANE_Byte * buf, SANE_Int max_len, return ret; } +/* fill remainder of buffer with background if scanner stops early */ +static SANE_Status +fill_image(struct scanner *s,int side) +{ + SANE_Status ret=SANE_STATUS_GOOD; + + unsigned char bg_color = calc_bg_color(s); + int fill_bytes = s->i.bytes_tot[side]-s->i.bytes_sent[side]; + + if(!fill_bytes){ + return ret; + } + + DBG (15, "fill_image: side:%d bytes:%d bg_color:%02x\n", side, fill_bytes, bg_color); + + /* fill the rest with bg_color */ + memset(s->buffers[side]+s->i.bytes_sent[side],bg_color,fill_bytes); + + /* pretend we got all the data from scanner */ + s->i.bytes_sent[side] = s->i.bytes_tot[side]; + s->s.bytes_sent[side] = s->s.bytes_tot[side]; + + return ret; +} + +/* return the bg color based on scanner settings */ +static unsigned char +calc_bg_color(struct scanner *s) +{ + unsigned char bg_color = s->lut[s->bg_color]; + + if(s->u.mode <= MODE_HALFTONE) + bg_color = (bg_colorthreshold)?0xff:0x00; + + return bg_color; +} + /* * @@ Section 5 - calibration functions */ @@ -7144,18 +7327,20 @@ wait_scanner(struct scanner *s) NULL, 0, NULL, NULL ); - + + // some scanners (such as DR-F120) are OK but will not respond to commands + // when in sleep mode. By checking the sense it wakes them up. if (ret != SANE_STATUS_GOOD) { - DBG(5,"WARNING: Brain-dead scanner. Hitting with stick\n"); + DBG(5,"WARNING: Brain-dead scanner. Hitting with request sense.\n"); ret = do_cmd ( - s, 0, 1, + s, 1, 1, cmd, cmdLen, NULL, 0, NULL, NULL ); } if (ret != SANE_STATUS_GOOD) { - DBG(5,"WARNING: Brain-dead scanner. Hitting with stick again\n"); + DBG(5,"WARNING: Brain-dead scanner. Hitting with stick instead.\n"); ret = do_cmd ( s, 0, 1, cmd, cmdLen, @@ -7168,7 +7353,7 @@ wait_scanner(struct scanner *s) DBG (5, "wait_scanner: error '%s'\n", sane_strstatus (ret)); } - DBG (10, "wait_scanner: finish\n"); + DBG (10, "wait_scanner: finish (status=%d)\n", ret); return ret; } @@ -7350,102 +7535,40 @@ buffer_deskew(struct scanner *s, int side) { SANE_Status ret = SANE_STATUS_GOOD; - int pwidth = s->i.width; - int width = s->i.Bpl; - int height = s->i.height; - - double TSlope = 0; - int TXInter = 0; - int TYInter = 0; - double TSlopeHalf = 0; - int TOffsetHalf = 0; - - double LSlope = 0; - int LXInter = 0; - int LYInter = 0; - double LSlopeHalf = 0; - int LOffsetHalf = 0; - - int rotateX = 0; - int rotateY = 0; - - int * topBuf = NULL, * botBuf = NULL; + unsigned char bg_color = calc_bg_color(s); DBG (10, "buffer_deskew: start\n"); - /* get buffers for edge detection */ - topBuf = getTransitionsY(s,side,1); - if(!topBuf){ - DBG (5, "buffer_deskew: cant gTY\n"); - ret = SANE_STATUS_NO_MEM; - goto cleanup; - } - - if(0){ - int i; - for(i=0;i=0 && topBuf[i] < height) - s->buffers[side][topBuf[i]*width+i] = 0; - } - } + ret = sane_get_parameters((SANE_Handle) s, &s->s_params); - botBuf = getTransitionsY(s,side,0); - if(!botBuf){ - DBG (5, "buffer_deskew: cant gTY\n"); - ret = SANE_STATUS_NO_MEM; - goto cleanup; - } + /*only find skew on first image from a page, or if first image had error */ + if(s->side == SIDE_FRONT || s->u.source == SOURCE_ADF_BACK || s->deskew_stat){ - /* find best top line */ - ret = getEdgeIterate (pwidth, height, s->i.dpi_y, topBuf, - &TSlope, &TXInter, &TYInter); - if(ret){ - DBG(5,"buffer_deskew: gEI error: %d",ret); - goto cleanup; - } - DBG(15,"top: %04.04f %d %d\n",TSlope,TXInter,TYInter); + s->deskew_stat = sanei_magic_findSkew( + &s->s_params,s->buffers[side],s->u.dpi_x,s->u.dpi_y, + &s->deskew_vals[0],&s->deskew_vals[1],&s->deskew_slope); - /* slope is too shallow, don't want to divide by 0 */ - if(fabs(TSlope) < 0.0001){ - DBG(15,"buffer_deskew: slope too shallow: %0.08f\n",TSlope); - goto cleanup; + if(s->deskew_stat){ + DBG (5, "buffer_deskew: bad findSkew, bailing\n"); + goto cleanup; + } } - - /* find best left line, perpendicular to top line */ - LSlope = (double)-1/TSlope; - ret = getEdgeSlope (pwidth, height, topBuf, botBuf, LSlope, - &LXInter, &LYInter); - if(ret){ - DBG(5,"buffer_deskew: gES error: %d",ret); - goto cleanup; + /* backside images can use a 'flipped' version of frontside data */ + else{ + s->deskew_slope *= -1; + s->deskew_vals[0] = s->s_params.pixels_per_line - s->deskew_vals[0]; } - DBG(15,"buffer_deskew: left: %04.04f %d %d\n",LSlope,LXInter,LYInter); - - /* find point about which to rotate */ - TSlopeHalf = tan(atan(TSlope)/2); - TOffsetHalf = LYInter; - DBG(15,"buffer_deskew: top half: %04.04f %d\n",TSlopeHalf,TOffsetHalf); - - LSlopeHalf = tan((atan(LSlope) + ((LSlope < 0)?-M_PI_2:M_PI_2))/2); - LOffsetHalf = - LSlopeHalf * TXInter; - DBG(15,"buffer_deskew: left half: %04.04f %d\n",LSlopeHalf,LOffsetHalf); - rotateX = (LOffsetHalf-TOffsetHalf) / (TSlopeHalf-LSlopeHalf); - rotateY = TSlopeHalf * rotateX + TOffsetHalf; - DBG(15,"buffer_deskew: rotate: %d %d\n",rotateX,rotateY); + ret = sanei_magic_rotate(&s->s_params,s->buffers[side], + s->deskew_vals[0],s->deskew_vals[1],s->deskew_slope,bg_color); - ret = rotateOnCenter (s, side, rotateX, rotateY, TSlope); if(ret){ - DBG(5,"buffer_deskew: gES error: %d",ret); + DBG(5,"buffer_deskew: rotate error: %d",ret); + ret = SANE_STATUS_GOOD; goto cleanup; } cleanup: - if(topBuf) - free(topBuf); - if(botBuf) - free(botBuf); - DBG (10, "buffer_deskew: finish\n"); return ret; } @@ -7458,173 +7581,50 @@ buffer_crop(struct scanner *s, int side) { SANE_Status ret = SANE_STATUS_GOOD; - int bwidth = s->i.Bpl; - int width = s->i.width; - int height = s->i.height; - - int top = 0; - int bot = 0; - int left = width; - int right = 0; - - int * topBuf = NULL, * botBuf = NULL; - int * leftBuf = NULL, * rightBuf = NULL; - int leftCount = 0, rightCount = 0, botCount = 0; - int i; - DBG (10, "buffer_crop: start\n"); - /* get buffers to find sides and bottom */ - topBuf = getTransitionsY(s,side,1); - if(!topBuf){ - DBG (5, "buffer_crop: no topBuf\n"); - ret = SANE_STATUS_NO_MEM; - goto cleanup; - } - - botBuf = getTransitionsY(s,side,0); - if(!botBuf){ - DBG (5, "buffer_crop: no botBuf\n"); - ret = SANE_STATUS_NO_MEM; - goto cleanup; - } + ret = sane_get_parameters((SANE_Handle) s, &s->s_params); - leftBuf = getTransitionsX(s,side,1); - if(!leftBuf){ - DBG (5, "buffer_crop: no leftBuf\n"); - ret = SANE_STATUS_NO_MEM; - goto cleanup; - } + ret = sanei_magic_findEdges( + &s->s_params,s->buffers[side],s->u.dpi_x,s->u.dpi_y, + &s->crop_vals[0],&s->crop_vals[1],&s->crop_vals[2],&s->crop_vals[3]); - rightBuf = getTransitionsX(s,side,0); - if(!rightBuf){ - DBG (5, "buffer_crop: no rightBuf\n"); - ret = SANE_STATUS_NO_MEM; + if(ret){ + DBG (5, "buffer_crop: bad edges, bailing\n"); + ret = SANE_STATUS_GOOD; goto cleanup; } - /* loop thru top and bottom lists, look for l and r extremes */ - for(i=0; i topBuf[i]){ - if(left > i){ - left = i; - } - - leftCount++; - if(leftCount > 3){ - break; - } - } - else{ - leftCount = 0; - left = width; - } - } - - for(i=width-1; i>=0; i--){ - if(botBuf[i] > topBuf[i]){ - if(right < i){ - right = i; - } - - rightCount++; - if(rightCount > 3){ - break; - } - } - else{ - rightCount = 0; - right = -1; - } - } - - /* loop thru left and right lists, look for bottom extreme */ - for(i=height-1; i>=0; i--){ - if(rightBuf[i] > leftBuf[i]){ - if(bot < i){ - bot = i; - } + DBG (15, "buffer_crop: t:%d b:%d l:%d r:%d\n", + s->crop_vals[0],s->crop_vals[1],s->crop_vals[2],s->crop_vals[3]); - botCount++; - if(botCount > 3){ - break; - } - } - else{ - botCount = 0; - bot = -1; - } + /* if we will later binarize this image, make sure the width + * is a multiple of 8 pixels, by adjusting the right side */ + if ( must_downsample(s) && s->u.mode < MODE_GRAYSCALE ){ + s->crop_vals[3] -= (s->crop_vals[3]-s->crop_vals[2]) % 8; } - DBG (15, "buffer_crop: t:%d b:%d l:%d r:%d\n",top,bot,left,right); - /* now crop the image */ - /*FIXME: crop duplex backside at same time?*/ - if(left < right && top < bot){ - - int pixels = 0; - int bytes = 0; - unsigned char * line = NULL; - - /*convert left and right to bytes, figure new byte and pixel width */ - switch (s->i.mode) { - - case MODE_COLOR: - pixels = right-left; - bytes = pixels * 3; - left *= 3; - right *= 3; - break; - - case MODE_GRAYSCALE: - pixels = right-left; - bytes = right-left; - break; - - case MODE_LINEART: - case MODE_HALFTONE: - left /= 8; - right = (right+7)/8; - bytes = right-left; - pixels = bytes * 8; - break; - } - - DBG (15, "buffer_crop: l:%d r:%d p:%d b:%d\n",left,right,pixels,bytes); - - line = malloc(bytes); - if(!line){ - DBG (5, "buffer_crop: no line\n"); - ret = SANE_STATUS_NO_MEM; - goto cleanup; - } - - s->i.bytes_sent[side] = 0; - - for(i=top; ibuffers[side] + i*bwidth + left, bytes); - memcpy(s->buffers[side] + s->i.bytes_sent[side], line, bytes); - s->i.bytes_sent[side] += bytes; - } + ret = sanei_magic_crop(&s->s_params,s->buffers[side], + s->crop_vals[0],s->crop_vals[1],s->crop_vals[2],s->crop_vals[3]); - s->i.bytes_tot[side] = s->i.bytes_sent[side]; - s->i.width = pixels; - s->i.height = bot-top; - s->i.Bpl = bytes; - - free(line); + if(ret){ + DBG (5, "buffer_crop: bad crop, bailing\n"); + ret = SANE_STATUS_GOOD; + goto cleanup; } - cleanup: - if(topBuf) - free(topBuf); - if(botBuf) - free(botBuf); - if(leftBuf) - free(leftBuf); - if(rightBuf) - free(rightBuf); - + /* need to update user with new size */ + s->i.width = s->s_params.pixels_per_line; + s->i.height = s->s_params.lines; + s->i.Bpl = s->s_params.bytes_per_line; + + /* update image size counter to new, smaller size */ + s->i.bytes_tot[side] = s->s_params.lines * s->s_params.bytes_per_line; + s->i.bytes_sent[side] = s->i.bytes_tot[side]; + s->u.bytes_sent[side] = 0; + + cleanup: DBG (10, "buffer_crop: finish\n"); return ret; } @@ -7636,938 +7636,77 @@ static SANE_Status buffer_despeck(struct scanner *s, int side) { SANE_Status ret = SANE_STATUS_GOOD; - int i,j,k,l,n; - int w = s->i.Bpl; - int pw = s->i.width; - int h = s->i.height; - int t = w*h; - int d = s->swdespeck; DBG (10, "buffer_despeck: start\n"); - switch (s->i.mode){ + ret = sane_get_parameters((SANE_Handle) s, &s->s_params); - case MODE_COLOR: - for(i=w; ibuffers[side][i + j*3 + k*w + l*3 + n]; - } - - if(tmp < thresh) - thresh = tmp; - } - } + ret = sanei_magic_despeck(&s->s_params,s->buffers[side],s->swdespeck); + if(ret){ + DBG (5, "buffer_despeck: bad despeck, bailing\n"); + ret = SANE_STATUS_GOOD; + goto cleanup; + } - thresh = (thresh + 255*3 + 255*3)/3; - - /*loop over rows and columns around window */ - for(k=-1; kbuffers[side][i + j*3 + k*w + l*3 + n]; - outer[n] += tmp[n]; - } - if(tmp[0]+tmp[1]+tmp[2] < thresh){ - hits++; - break; - } - } - } +/* Look if image has too few dark pixels.*/ +static int +buffer_isblank(struct scanner *s, int side) +{ + SANE_Status ret = SANE_STATUS_GOOD; + int status = 0; - for(n=0; n<3; n++){ - outer[n] /= (4*d + 4); - } + DBG (10, "buffer_isblank: start\n"); - /*no hits, overwrite with avg surrounding color*/ - if(!hits){ - for(k=0; kbuffers[side][i + j*3 + k*w + l*3 + n] = outer[n]; - } - } - } - } + ret = sane_get_parameters((SANE_Handle) s, &s->s_params); - } - } - break; + ret = sanei_magic_isBlank2(&s->s_params, s->buffers[side], + s->u.dpi_x, s->u.dpi_y, s->swskip); - case MODE_GRAYSCALE: - for(i=w; ibuffers[side][i + j + k*w + l] < thresh) - thresh = s->buffers[side][i + j + k*w + l]; - } - } +/* certain options require the entire image to + * be collected from the scanner before we can + * tell the user the size of the image. */ +static int +must_fully_buffer(struct scanner *s) +{ - thresh = (thresh + 255 + 255)/3; - - /*loop over rows and columns around window */ - for(k=-1; kswdeskew || s->swdespeck || s->swcrop) + && s->s.format != SANE_FRAME_JPEG + ){ + return 1; + } - int tmp = 0; + return 0; +} - /* dont count pixels in the window */ - if(k != -1 && k != d && l != -1 && l != d) - continue; - - tmp = s->buffers[side][i + j + k*w + l]; - - if(tmp < thresh){ - hits++; - break; - } - - outer += tmp; - } - } - - outer /= (4*d + 4); - - /*no hits, overwrite with avg surrounding color*/ - if(!hits){ - for(k=0; kbuffers[side][i + j + k*w + l] = outer; - } - } - } - - } - } - break; - - case MODE_LINEART: - case MODE_HALFTONE: - for(i=w; ibuffers[side][i + k*w + (j+l)/8] >> (7-(j+l)%8) & 1; - } - } - - if(!curr) - continue; - - /*loop over rows and columns around window */ - for(k=-1; kbuffers[side][i + k*w + (j+l)/8] >> (7-(j+l)%8) & 1; - - if(hits) - break; - } - } - - /*no hits, overwrite with white*/ - if(!hits){ - for(k=0; kbuffers[side][i + k*w + (j+l)/8] &= ~(1 << (7-(j+l)%8)); - } - } - } - - } - } - break; - - default: - break; - } - - DBG (10, "buffer_despeck: finish\n"); - return ret; -} - -/* Loop thru the image width and look for first color change in each column. - * Return a malloc'd array. Caller is responsible for freeing. */ -int * -getTransitionsY (struct scanner *s, int side, int top) -{ - int * buff; - - int i, j, k; - int near, far; - int winLen = 9; - - int width = s->i.width; - int height = s->i.height; - int depth = 1; - - /* defaults for bottom-up */ - int firstLine = height-1; - int lastLine = -1; - int direction = -1; - - DBG (10, "getTransitionsY: start\n"); - - buff = calloc(width,sizeof(int)); - if(!buff){ - DBG (5, "getTransitionsY: no buff\n"); - return NULL; - } - - /* override for top-down */ - if(top){ - firstLine = 0; - lastLine = height; - direction = 1; - } - - /* load the buff array with y value for first color change from edge - * gray/color uses a different algo from binary/halftone */ - switch (s->i.mode) { - - case MODE_COLOR: - depth = 3; - - case MODE_GRAYSCALE: - - for(i=0; ibuffers[side][(firstLine*width+i) * depth + k]; - } - near *= winLen; - far = near; - - /* move windows, check delta */ - for(j=firstLine+direction; j!=lastLine; j+=direction){ - - int farLine = j-winLen*2*direction; - int nearLine = j-winLen*direction; - - if(farLine < 0 || farLine >= height){ - farLine = firstLine; - } - if(nearLine < 0 || nearLine >= height){ - nearLine = firstLine; - } - - for(k=0; kbuffers[side][(farLine*width+i)*depth+k]; - far += s->buffers[side][(nearLine*width+i)*depth+k]; - - near -= s->buffers[side][(nearLine*width+i)*depth+k]; - near += s->buffers[side][(j*width+i)*depth+k]; - } - - if(abs(near - far) > winLen*depth*9){ - buff[i] = j; - break; - } - } - } - break; - - case MODE_LINEART: - case MODE_HALFTONE: - for(i=0; ibuffers[side][(firstLine*width+i)/8] >> (7-(i%8)) & 1; - - /* move */ - for(j=firstLine+direction; j!=lastLine; j+=direction){ - if((s->buffers[side][(j*width+i)/8] >> (7-(i%8)) & 1) != near){ - buff[i] = j; - break; - } - } - } - break; - - } - - /* blast any stragglers with no neighbors within .5 inch */ - for(i=0;ii.dpi_y/2) - sum++; - } - if(sum < 2) - buff[i] = lastLine; - } - - DBG (10, "getTransitionsY: finish\n"); - - return buff; -} - -/* Loop thru the image height and look for first color change in each row. - * Return a malloc'd array. Caller is responsible for freeing. */ -int * -getTransitionsX (struct scanner *s, int side, int left) -{ - int * buff; - - int i, j, k; - int near, far; - int winLen = 9; - - int bwidth = s->i.Bpl; - int width = s->i.width; - int height = s->i.height; - int depth = 1; - - /* defaults for right-first */ - int firstCol = width-1; - int lastCol = -1; - int direction = -1; - - DBG (10, "getTransitionsX: start\n"); - - buff = calloc(height,sizeof(int)); - if(!buff){ - DBG (5, "getTransitionsY: no buff\n"); - return NULL; - } - - /* override for left-first*/ - if(left){ - firstCol = 0; - lastCol = width; - direction = 1; - } - - /* load the buff array with x value for first color change from edge - * gray/color uses a different algo from binary/halftone */ - switch (s->i.mode) { - - case MODE_COLOR: - depth = 3; - - case MODE_GRAYSCALE: - - for(i=0; ibuffers[side][i*bwidth + k]; - } - near *= winLen; - far = near; - - /* move windows, check delta */ - for(j=firstCol+direction; j!=lastCol; j+=direction){ - - int farCol = j-winLen*2*direction; - int nearCol = j-winLen*direction; - - if(farCol < 0 || farCol >= width){ - farCol = firstCol; - } - if(nearCol < 0 || nearCol >= width){ - nearCol = firstCol; - } - - for(k=0; kbuffers[side][i*bwidth + farCol*depth + k]; - far += s->buffers[side][i*bwidth + nearCol*depth + k]; - - near -= s->buffers[side][i*bwidth + nearCol*depth + k]; - near += s->buffers[side][i*bwidth + j*depth + k]; - } - - if(abs(near - far) > winLen*depth*9){ - buff[i] = j; - break; - } - } - } - break; - - case MODE_LINEART: - case MODE_HALFTONE: - for(i=0; ibuffers[side][i*bwidth + firstCol/8] >> (7-(firstCol%8)) & 1; - - /* move */ - for(j=firstCol+direction; j!=lastCol; j+=direction){ - if((s->buffers[side][i*bwidth + j/8] >> (7-(j%8)) & 1) != near){ - buff[i] = j; - break; - } - } - } - break; - - } - - /* blast any stragglers with no neighbors within .5 inch */ - for(i=0;ii.dpi_x/2) - sum++; - } - if(sum < 2) - buff[i] = lastCol; - } - - DBG (10, "getTransitionsX: finish\n"); - - return buff; -} - -/* Loop thru a getTransitions array, and use a simplified Hough transform - * to divide likely edges into a 2-d array of bins. Then weight each - * bin based on its angle and offset. Return the 'best' bin. */ -static SANE_Status -getLine (int height, int width, int * buff, - int slopes, double minSlope, double maxSlope, - int offsets, int minOffset, int maxOffset, - double * finSlope, int * finOffset, int * finDensity) -{ - SANE_Status ret = 0; - - int ** lines = NULL; - int i, j; - int rise, run; - double slope; - int offset; - int sIndex, oIndex; - int hWidth = width/2; - - double * slopeCenter = NULL; - int * slopeScale = NULL; - double * offsetCenter = NULL; - int * offsetScale = NULL; - - int maxDensity = 1; - double absMaxSlope = fabs(maxSlope); - double absMinSlope = fabs(minSlope); - int absMaxOffset = abs(maxOffset); - int absMinOffset = abs(minOffset); - - DBG(10,"getLine: start %+0.4f %+0.4f %d %d\n", - minSlope,maxSlope,minOffset,maxOffset); - - /*silence compiler*/ - height = height; - - if(absMaxSlope < absMinSlope) - absMaxSlope = absMinSlope; - - if(absMaxOffset < absMinOffset) - absMaxOffset = absMinOffset; - - /* build an array of pretty-print values for slope */ - slopeCenter = calloc(slopes,sizeof(double)); - if(!slopeCenter){ - DBG(5,"getLine: cant load slopeCenter\n"); - ret = SANE_STATUS_NO_MEM; - goto cleanup; - } - - /* build an array of scaling factors for slope */ - slopeScale = calloc(slopes,sizeof(int)); - if(!slopeScale){ - DBG(5,"getLine: cant load slopeScale\n"); - ret = SANE_STATUS_NO_MEM; - goto cleanup; - } - - for(j=0;j= maxSlope || slope < minSlope) - continue; - - /* offset in center of width, not y intercept! */ - offset = slope * hWidth + buff[i] - slope * i; - if(offset >= maxOffset || offset < minOffset) - continue; - - sIndex = (slope - minSlope) * slopes/(maxSlope-minSlope); - if(sIndex >= slopes) - continue; - - oIndex = (offset - minOffset) * offsets/(maxOffset-minOffset); - if(oIndex >= offsets) - continue; - - lines[sIndex][oIndex]++; - } - } - - /* go thru array, and find most dense line (highest number) */ - for(i=0;i maxDensity) - maxDensity = lines[i][j]; - } - } - - DBG(15,"getLine: maxDensity %d\n",maxDensity); - - *finSlope = 0; - *finOffset = 0; - *finDensity = 0; - - /* go thru array, and scale densities to % of maximum, plus adjust for - * prefered (smaller absolute value) slope and offset */ - for(i=0;i *finDensity){ - *finDensity = lines[i][j]; - *finSlope = slopeCenter[i]; - *finOffset = offsetCenter[j]; - } - } - } - - if(0){ - DBG(15,"offsetCenter: "); - for(j=0;j topDensity){ - topSlope = slope; - topOffset = offset; - topDensity = density; - } - } - } - - DBG(15,"getEdgeIterate: ok %+0.4f %d %d\n",topSlope,topOffset,topDensity); - - /* did not find anything promising on first pass, - * give up instead of fixating on some small, pointless feature */ - if(pass == 1 && topDensity < width/5){ - DBG(5,"getEdgeIterate: density too small %d %d\n",topDensity,width); - topOffset = 0; - topSlope = 0; - break; - } - - /* if slope can zoom in some more, do so. */ - if(sStep >= 0.0001){ - minSlope = topSlope - sStep; - maxSlope = topSlope + sStep; - go = 1; - } - - /* if offset can zoom in some more, do so. */ - if(oStep){ - minOffset = topOffset - oStep; - maxOffset = topOffset + oStep; - go = 1; - } - - /* cannot zoom in more, bail out */ - if(!go){ - break; - } - - DBG(15,"getEdgeIterate: zoom: %+0.4f %+0.4f %d %d\n", - minSlope,maxSlope,minOffset,maxOffset); - } - - /* topOffset is in the center of the image, - * convert to x and y intercept */ - if(topSlope != 0){ - *finYInter = topOffset - topSlope * width/2; - *finXInter = *finYInter / -topSlope; - *finSlope = topSlope; - } - else{ - *finYInter = 0; - *finXInter = 0; - *finSlope = 0; - } - - DBG(10,"getEdgeIterate: finish\n"); - - return 0; -} - -/* find the left side of paper by moving a line - * perpendicular to top slope across the image - * the 'left-most' point on the paper is the - * one with the smallest X intercept - * return x and y intercepts */ -SANE_Status -getEdgeSlope (int width, int height, int * top, int * bot, - double slope, int * finXInter, int * finYInter) -{ - - int i; - int topXInter, topYInter; - int botXInter, botYInter; - int leftCount; - - DBG(10,"getEdgeSlope: start\n"); - - topXInter = width; - topYInter = 0; - leftCount = 0; - - for(i=0;i txi){ - topXInter = txi; - topYInter = tyi; - } - - leftCount++; - if(leftCount > 5){ - break; - } - } - else{ - topXInter = width; - topYInter = 0; - leftCount = 0; - } - } - - botXInter = width; - botYInter = 0; - leftCount = 0; - - for(i=0;i -1){ - - int byi = bot[i] - (slope * i); - int bxi = byi/-slope; - - if(botXInter > bxi){ - botXInter = bxi; - botYInter = byi; - } - - leftCount++; - if(leftCount > 5){ - break; - } - } - else{ - botXInter = width; - botYInter = 0; - leftCount = 0; - } - } - - if(botXInter < topXInter){ - *finXInter = botXInter; - *finYInter = botYInter; - } - else{ - *finXInter = topXInter; - *finYInter = topYInter; - } - - DBG(10,"getEdgeSlope: finish\n"); - - return 0; -} - -/* function to do a simple rotation by a given slope, around - * a given point. The point can be outside of image to get - * proper edge alignment. Unused areas filled with bg color - * FIXME: Do in-place rotation to save memory */ -SANE_Status -rotateOnCenter (struct scanner *s, int side, - int centerX, int centerY, double slope) +/* certain scanners require the mode of the + * image to be changed in software. */ +static int +must_downsample(struct scanner *s) { - double slopeRad = -atan(slope); - double slopeSin = sin(slopeRad); - double slopeCos = cos(slopeRad); - - int bwidth = s->i.Bpl; - int pwidth = s->i.width; - int height = s->i.height; - int depth = 1; - int bg_color = s->lut[s->bg_color]; - - unsigned char * outbuf; - int i, j, k; - - DBG(10,"rotateOnCenter: start: %d %d\n",centerX,centerY); - - outbuf = malloc(s->i.bytes_tot[side]); - if(!outbuf){ - DBG(15,"rotateOnCenter: no outbuf\n"); - return SANE_STATUS_NO_MEM; - } - - switch (s->i.mode){ - - case MODE_COLOR: - depth = 3; - - case MODE_GRAYSCALE: - memset(outbuf,bg_color,s->i.bytes_tot[side]); - - for (i=0; i= pwidth) - continue; - - sourceY = centerY + (int)(-shiftY * slopeCos + shiftX * slopeSin); - if (sourceY < 0 || sourceY >= height) - continue; - - for (k=0; kbuffers[side][sourceY*bwidth+sourceX*depth+k]; - } - } - } - break; - - case MODE_LINEART: - case MODE_HALFTONE: - memset(outbuf,(bg_colorthreshold)?0xff:0x00,s->i.bytes_tot[side]); - - for (i=0; i= pwidth) - continue; - - sourceY = centerY + (int)(-shiftY * slopeCos + shiftX * slopeSin); - if (sourceY < 0 || sourceY >= height) - continue; - - /* wipe out old bit */ - outbuf[i*bwidth + j/8] &= ~(1 << (7-(j%8))); - - /* fill in new bit */ - outbuf[i*bwidth + j/8] |= - ((s->buffers[side][sourceY*bwidth + sourceX/8] - >> (7-(sourceX%8))) & 1) << (7-(j%8)); - } - } - break; + if(s->s.mode != s->i.mode + && s->compress != COMP_JPEG + ){ + return 1; } - memcpy(s->buffers[side],outbuf,s->i.bytes_tot[side]); - - free(outbuf); - - DBG(10,"rotateOnCenter: finish\n"); - return 0; } diff --git a/backend/canon_dr.conf.in b/backend/canon_dr.conf.in index 453065b..29b6db1 100644 --- a/backend/canon_dr.conf.in +++ b/backend/canon_dr.conf.in @@ -74,6 +74,7 @@ option duplex-offset 432 usb 0x04a9 0x1608 # DR-3080CII +option padded-read 1 usb 0x04a9 0x1609 # DR-2050C/SP (uses weird protocol) @@ -133,6 +134,9 @@ usb 0x1083 0x1626 # CR-190i usb 0x1083 0x162b +# P-150M +usb 0x1083 0x162c + # DR-6030C usb 0x1083 0x1638 @@ -186,6 +190,7 @@ usb 0x1083 0x1651 usb 0x1083 0x1652 # DR-F120 +option duplex-offset 1640 usb 0x1083 0x1654 # DR-M1060 diff --git a/backend/canon_dr.h b/backend/canon_dr.h index 4a19f55..d96fbba 100644 --- a/backend/canon_dr.h +++ b/backend/canon_dr.h @@ -21,12 +21,12 @@ enum scanner_Option OPT_RES, /*a range or a list*/ OPT_GEOMETRY_GROUP, + OPT_PAGE_WIDTH, + OPT_PAGE_HEIGHT, OPT_TL_X, OPT_TL_Y, OPT_BR_X, OPT_BR_Y, - OPT_PAGE_WIDTH, - OPT_PAGE_HEIGHT, OPT_ENHANCEMENT_GROUP, OPT_BRIGHTNESS, @@ -43,6 +43,7 @@ enum scanner_Option OPT_SWDESKEW, OPT_SWDESPECK, OPT_SWCROP, + OPT_SWSKIP, OPT_STAPLEDETECT, OPT_DROPOUT_COLOR_F, OPT_DROPOUT_COLOR_B, @@ -253,6 +254,7 @@ struct scanner SANE_String_Const compress_list[3]; SANE_Range compress_arg_range; SANE_Range swdespeck_range; + SANE_Range swskip_range; SANE_String_Const do_color_list[8]; /*sensor group*/ @@ -276,13 +278,13 @@ struct scanner int compress_arg; int df_length; int df_thickness; - int dropout_color_f; - int dropout_color_b; + int dropout_color[2]; int buffermode; int rollerdeskew; int swdeskew; int swdespeck; int swcrop; + int swskip; int stapledetect; /* --------------------------------------------------------------------- */ @@ -298,6 +300,24 @@ struct scanner /* the brightness/contrast LUT for dumb scanners */ unsigned char lut[256]; + /* --------------------------------------------------------------------- */ + /* values used by the software enhancment code (deskew, crop, etc) */ + SANE_Status deskew_stat; + int deskew_vals[2]; + double deskew_slope; + + int crop_vals[4]; + + /* this is defined in sane spec as a struct containing: + SANE_Frame format; + SANE_Bool last_frame; + SANE_Int lines; + SANE_Int depth; ( binary=1, gray=8, color=8 (!24) ) + SANE_Int pixels_per_line; + SANE_Int bytes_per_line; + */ + SANE_Parameters s_params; + /* --------------------------------------------------------------------- */ /* values which are set by calibration functions */ int c_res; @@ -429,9 +449,10 @@ enum { #define COLOR_INTERLACE_2510 7 #define DUPLEX_INTERLACE_NONE 0 -#define DUPLEX_INTERLACE_FFBB 1 -#define DUPLEX_INTERLACE_FBFB 2 +#define DUPLEX_INTERLACE_FfBb 1 +#define DUPLEX_INTERLACE_FBfb 2 #define DUPLEX_INTERLACE_2510 3 +#define DUPLEX_INTERLACE_fFBb 4 #define JPEG_INTERLACE_ALT 0 #define JPEG_INTERLACE_NONE 1 @@ -563,27 +584,16 @@ static SANE_Status read_from_scanner_duplex(struct scanner *s, int exact); static SANE_Status copy_simplex(struct scanner *s, unsigned char * buf, int len, int side); static SANE_Status copy_duplex(struct scanner *s, unsigned char * buf, int len); static SANE_Status copy_line(struct scanner *s, unsigned char * buf, int side); +static SANE_Status fill_image(struct scanner *s,int side); + +static int must_downsample (struct scanner *s); +static int must_fully_buffer (struct scanner *s); +static unsigned char calc_bg_color(struct scanner *s); static SANE_Status buffer_despeck(struct scanner *s, int side); static SANE_Status buffer_deskew(struct scanner *s, int side); static SANE_Status buffer_crop(struct scanner *s, int side); - -int * getTransitionsY (struct scanner *s, int side, int top); -int * getTransitionsX (struct scanner *s, int side, int top); - -SANE_Status getEdgeIterate (int width, int height, int resolution, - int * buff, double * finSlope, int * finXInter, int * finYInter); - -SANE_Status getEdgeSlope (int width, int height, int * top, int * bot, - double slope, int * finXInter, int * finYInter); - -SANE_Status rotateOnCenter (struct scanner *s, int side, - int centerX, int centerY, double slope); - -static SANE_Status getLine (int height, int width, int * buff, - int slopes, double minSlope, double maxSlope, - int offsets, int minOffset, int maxOffset, - double * finSlope, int * finOffset, int * finDensity); +static int buffer_isblank(struct scanner *s, int side); static SANE_Status load_lut (unsigned char * lut, int in_bits, int out_bits, int out_min, int out_max, int slope, int offset); @@ -606,4 +616,6 @@ static void default_globals (void); static size_t maxStringSize (const SANE_String_Const strings[]); +static void rmemcpy(void* dest, const void* src, size_t count, size_t stride); + #endif /* CANON_DR_H */ diff --git a/backend/cardscan.c b/backend/cardscan.c index 6442458..eab6500 100644 --- a/backend/cardscan.c +++ b/backend/cardscan.c @@ -3,7 +3,9 @@ This file is part of the SANE package, and implements a SANE backend for various Corex Cardscan scanners. - Copyright (C) 2007-2010 m. allan noah + Copyright (C) 2007-2015 m. allan noah + + -------------------------------------------------------------------------- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -43,8 +45,6 @@ -------------------------------------------------------------------------- - This file implements a SANE backend for the Corex Cardscan 800C - The source code is divided in sections which you can easily find by searching for the tag "@@". @@ -65,6 +65,8 @@ - add has_cal_buffer config option - basic support for 600c - clean #include lines + v3, 2015-11-04, MAN + - add USB IDs for newer model 800c ################################################## DATA FROM TRACE OF WINDOWS DRIVER: @@ -224,7 +226,7 @@ four times { #include "cardscan.h" #define DEBUG 1 -#define BUILD 2 +#define BUILD 3 /* values for SANE_DEBUG_CARDSCAN env var: - errors 5 @@ -490,6 +492,16 @@ attach_one (const char *device_name) s->product_name = "Unknown"; } } + else if(vid == 0x0451){ + s->vendor_name = "Sanford"; + if(pid == 0x6250){ + s->product_name = "800c"; + } + else{ + DBG (5, "Unknown product, using default settings\n"); + s->product_name = "Unknown"; + } + } else{ DBG (5, "Unknown vendor/product, using default settings\n"); s->vendor_name = "Unknown"; @@ -862,7 +874,6 @@ sane_control_option (SANE_Handle handle, SANE_Int option, } else if (action == SANE_ACTION_SET_VALUE) { int tmp; - SANE_Word val_c; SANE_Status status; DBG (20, "sane_control_option: set value for '%s' (%d)\n", s->opt[option].name,option); @@ -883,9 +894,6 @@ sane_control_option (SANE_Handle handle, SANE_Int option, return status; } - /* may have been changed by constrain, so dont copy until now */ - val_c = *(SANE_Word *)val; - /* * Note - for those options which can assume one of a list of * valid values, we can safely assume that they will have diff --git a/backend/cardscan.conf.in b/backend/cardscan.conf.in index 3c49f26..a978e0d 100644 --- a/backend/cardscan.conf.in +++ b/backend/cardscan.conf.in @@ -11,6 +11,9 @@ # Corex Cardscan 800c usb 0x08f0 0x0005 +# Sanford Cardscan 800c +usb 0x0451 0x6250 + # Corex Cardscan 600c has_cal_buffer 0 lines_per_block 1 diff --git a/backend/coolscan.c b/backend/coolscan.c index 6828a16..239b546 100644 --- a/backend/coolscan.c +++ b/backend/coolscan.c @@ -238,7 +238,7 @@ request_sense_parse (unsigned char *sensed_data) case 0x6: if ((0x29 == asc) && (0x0 == ascq)) - DBG (1, "\t%d/%d/%d: Power On, Reset, or Bus Device Reset Occured\n", sense, asc, ascq); + DBG (1, "\t%d/%d/%d: Power On, Reset, or Bus Device Reset Occurred\n", sense, asc, ascq); else if ((0x2a == asc) && (0x1 == ascq)) DBG (1, "\t%d/%d/%d: Mode Parameters Changed\n", sense, asc, ascq); else @@ -1465,21 +1465,20 @@ static int get_inquiery_part_LS30 (Coolscan_t * s, unsigned char part) { int size; - int ret; /* Get length of reponse */ inquiry.cmd[1]=0x01; inquiry.cmd[2]=part; size=4; set_inquiry_return_size (inquiry.cmd, size); - ret = do_scsi_cmd (s->sfd, inquiry.cmd, inquiry.size, - s->buffer, size); + do_scsi_cmd (s->sfd, inquiry.cmd, inquiry.size, + s->buffer, size); size=get_inquiry_length(s->buffer); size+=4; /* then get inquiry with actual size */ set_inquiry_return_size (inquiry.cmd, size); - ret = do_scsi_cmd (s->sfd, inquiry.cmd, inquiry.size, - s->buffer, size); + do_scsi_cmd (s->sfd, inquiry.cmd, inquiry.size, + s->buffer, size); return size; } @@ -1511,18 +1510,17 @@ get_inquiery_LS30 (Coolscan_t * s) { unsigned char part; unsigned char parts[5]; - int size; int i; /* Get vector of inquiery parts */ - size=get_inquiery_part_LS30(s, (unsigned char) 0); + get_inquiery_part_LS30(s, (unsigned char) 0); /* Get the parts of inquiery */ for(i=0;i<5;i++) { parts[i]=((unsigned char *)s->buffer)[4+11+i]; } for(i=0;i<5;i++) { part=parts[i]; - size=get_inquiery_part_LS30 (s, part); + get_inquiery_part_LS30 (s, part); switch(part) { case 0x0c1:/* max size and resolution */ s->adbits = 8; @@ -2029,7 +2027,7 @@ do_cancel (Coolscan_t * scanner) do_eof (scanner); /* close pipe and reposition scanner */ - if (scanner->reader_pid != -1) + if (sanei_thread_is_valid (scanner->reader_pid)) { int exit_status; @@ -2156,7 +2154,7 @@ attach_one (const char *devName) return attach_scanner(devName, 0); } -static RETSIGTYPE +static void sigterm_handler (int signal) { signal = signal; @@ -4093,7 +4091,7 @@ sane_start (SANE_Handle handle) scanner->pipe = fds[0]; scanner->reader_fds = fds[1]; scanner->reader_pid = sanei_thread_begin( reader_process, (void*)scanner ); - if (scanner->reader_pid == -1) + if (!sanei_thread_is_valid (scanner->reader_pid)) { DBG (1, "sane_start: sanei_thread_begin failed (%s)\n", strerror (errno)); @@ -4153,7 +4151,7 @@ sane_cancel (SANE_Handle handle) { Coolscan_t *s = handle; - if (s->reader_pid != -1) + if (sanei_thread_is_valid (s->reader_pid)) { sanei_thread_kill ( s->reader_pid ); sanei_thread_waitpid( s->reader_pid, NULL ); diff --git a/backend/coolscan2.c b/backend/coolscan2.c index 9f9efde..d54bf39 100644 --- a/backend/coolscan2.c +++ b/backend/coolscan2.c @@ -1755,7 +1755,8 @@ cs2_open (const char *device, cs2_interface_t interface, cs2_t ** sp) { SANE_Status status; cs2_t *s; - char *prefix = NULL, *line, *device2; + char *prefix = NULL, *line; + const char *device2; int i; int alloc_failed = 0; SANE_Device **device_list_new; diff --git a/backend/coolscan3.c b/backend/coolscan3.c index a1d6fe6..42814d1 100644 --- a/backend/coolscan3.c +++ b/backend/coolscan3.c @@ -290,7 +290,7 @@ static SANE_Status cs3_convert_options(cs3_t * s); static SANE_Status cs3_scan(cs3_t * s, cs3_scan_t type); static void *cs3_xmalloc(size_t size); static void *cs3_xrealloc(void *p, size_t size); -static void cs3_xfree(const void *p); +static void cs3_xfree(void *p); /* ========================================================================= */ @@ -332,9 +332,9 @@ sane_exit(void) DBG(10, "%s\n", __func__); for (i = 0; i < n_device_list; i++) { - cs3_xfree(device_list[i]->name); - cs3_xfree(device_list[i]->vendor); - cs3_xfree(device_list[i]->model); + cs3_xfree((void *)device_list[i]->name); + cs3_xfree((void *)device_list[i]->vendor); + cs3_xfree((void *)device_list[i]->model); cs3_xfree(device_list[i]); } cs3_xfree(device_list); @@ -1969,9 +1969,9 @@ cs3_open(const char *device, cs3_interface_t interface, cs3_t ** sp) device_list[n_device_list]->type = "film scanner"; if (alloc_failed) { - cs3_xfree(device_list[n_device_list]->name); - cs3_xfree(device_list[n_device_list]->vendor); - cs3_xfree(device_list[n_device_list]->model); + cs3_xfree((void *)device_list[n_device_list]->name); + cs3_xfree((void *)device_list[n_device_list]->vendor); + cs3_xfree((void *)device_list[n_device_list]->model); cs3_xfree(device_list[n_device_list]); } else n_device_list++; @@ -3181,8 +3181,8 @@ cs3_xrealloc(void *p, size_t size) } static void -cs3_xfree(const void *p) +cs3_xfree(void *p) { if (p) - free(p); + free(p); } diff --git a/backend/dc210.c b/backend/dc210.c index acfe99a..32da710 100644 --- a/backend/dc210.c +++ b/backend/dc210.c @@ -1232,7 +1232,6 @@ sane_start (SANE_Handle handle) my_src_ptr src; struct jpeg_error_mgr jerr; - int row_stride; pic_pck[3] = (unsigned char) Camera.current_picture_number - 1; @@ -1263,8 +1262,6 @@ sane_start (SANE_Handle handle) (void) jpeg_read_header (&cinfo, TRUE); dest_mgr = sanei_jpeg_jinit_write_ppm (&cinfo); (void) jpeg_start_decompress (&cinfo); - row_stride = cinfo.output_width * cinfo.output_components; - } Camera.scanning = SANE_TRUE; /* don't overlap scan requests */ diff --git a/backend/dc240.c b/backend/dc240.c index 001a937..74ab2e0 100644 --- a/backend/dc240.c +++ b/backend/dc240.c @@ -810,7 +810,7 @@ change_res (SANE_Int fd, SANE_Byte res) } SANE_Status -sane_init (SANE_Int * version_code, SANE_Auth_Callback UNUSEDARG authorize) +sane_init (SANE_Int * version_code, SANE_Auth_Callback __sane_unused__ authorize) { SANE_Char f[] = "sane_init"; @@ -962,7 +962,7 @@ static const SANE_Device *devlist[] = { SANE_Status sane_get_devices (const SANE_Device *** device_list, SANE_Bool - UNUSEDARG local_only) + __sane_unused__ local_only) { DBG (127, "sane_get_devices called\n"); @@ -1290,7 +1290,7 @@ my_source_mgr; typedef my_source_mgr *my_src_ptr; METHODDEF (void) -jpeg_init_source (j_decompress_ptr UNUSEDARG cinfo) +jpeg_init_source (j_decompress_ptr __sane_unused__ cinfo) { /* nothing to do */ } @@ -1336,7 +1336,7 @@ static SANE_Int linebuffer_index = 0; METHODDEF (void) -jpeg_term_source (j_decompress_ptr UNUSEDARG cinfo) +jpeg_term_source (j_decompress_ptr __sane_unused__ cinfo) { /* no work necessary here */ } @@ -1417,7 +1417,7 @@ sane_start (SANE_Handle handle) my_src_ptr src; struct jpeg_error_mgr jerr; - SANE_Int row_stride, n; + SANE_Int n; SANE_Char f[] = "sane_start"; SANE_Char path[256]; struct cam_dirlist *e; @@ -1476,7 +1476,6 @@ sane_start (SANE_Handle handle) (void) jpeg_read_header (&cinfo, TRUE); dest_mgr = sanei_jpeg_jinit_write_ppm (&cinfo); (void) jpeg_start_decompress (&cinfo); - row_stride = cinfo.output_width * cinfo.output_components; linebuffer_size = 0; linebuffer_index = 0; @@ -1488,7 +1487,7 @@ sane_start (SANE_Handle handle) } SANE_Status -sane_read (SANE_Handle UNUSEDARG handle, SANE_Byte * data, +sane_read (SANE_Handle __sane_unused__ handle, SANE_Byte * data, SANE_Int max_length, SANE_Int * length) { SANE_Int lines = 0; @@ -1582,7 +1581,7 @@ sane_read (SANE_Handle UNUSEDARG handle, SANE_Byte * data, } void -sane_cancel (SANE_Handle UNUSEDARG handle) +sane_cancel (SANE_Handle __sane_unused__ handle) { unsigned char cancel_byte[] = { 0xe4 }; @@ -1621,8 +1620,8 @@ sane_cancel (SANE_Handle UNUSEDARG handle) } SANE_Status -sane_set_io_mode (SANE_Handle UNUSEDARG handle, SANE_Bool - UNUSEDARG non_blocking) +sane_set_io_mode (SANE_Handle __sane_unused__ handle, SANE_Bool + __sane_unused__ non_blocking) { /* sane_set_io_mode() is only valid during a scan */ if (Camera.scanning) @@ -1644,7 +1643,7 @@ sane_set_io_mode (SANE_Handle UNUSEDARG handle, SANE_Bool } SANE_Status -sane_get_select_fd (SANE_Handle UNUSEDARG handle, SANE_Int * UNUSEDARG fd) +sane_get_select_fd (SANE_Handle __sane_unused__ handle, SANE_Int __sane_unused__ * fd) { return SANE_STATUS_UNSUPPORTED; } diff --git a/backend/dc240.h b/backend/dc240.h index 3323fed..fae3628 100644 --- a/backend/dc240.h +++ b/backend/dc240.h @@ -203,12 +203,6 @@ struct cam_dirent long size; }; -#ifdef __GNUC__ -#define UNUSEDARG __attribute__ ((unused)) -#else -#define UNUSEDARG -#endif - #ifdef OLD /* This is the layout of the directory in the camera - Unfortunately, diff --git a/backend/dc25.c b/backend/dc25.c index 2c9e78c..fd7a0db 100644 --- a/backend/dc25.c +++ b/backend/dc25.c @@ -1308,7 +1308,7 @@ convert_pic (char *base_name, int format) { FILE *ifp; unsigned char pic[MAX_IMAGE_SIZE]; - int res, image_size, image_width, net_width, camera_header, components; + int res, image_width, net_width, components; struct pixmap *pp2; DBG (127, "convert_pic() called\n"); @@ -1374,10 +1374,8 @@ convert_pic (char *base_name, int format) * Setup image size with resolution */ - image_size = IMAGE_SIZE (res); image_width = WIDTH (res); net_width = image_width - LEFT_MARGIN - RIGHT_MARGIN (res); - camera_header = CAMERA_HEADER (res); components = (format & SAVE_24BITS) ? 3 : 1; /* @@ -1833,7 +1831,7 @@ change_res (int fd, unsigned char res) } SANE_Status -sane_init (SANE_Int * version_code, SANE_Auth_Callback UNUSEDARG authorize) +sane_init (SANE_Int * version_code, SANE_Auth_Callback __sane_unused__ authorize) { char dev_name[PATH_MAX], *p; size_t len; @@ -1980,7 +1978,7 @@ static const SANE_Device dev[] = { SANE_Status sane_get_devices (const SANE_Device *** device_list, - SANE_Bool UNUSEDARG local_only) + SANE_Bool __sane_unused__ local_only) { static const SANE_Device *devlist[] = { dev + 0, 0 @@ -2555,7 +2553,7 @@ sane_start (SANE_Handle handle) SANE_Status -sane_read (SANE_Handle UNUSEDARG handle, SANE_Byte * data, +sane_read (SANE_Handle __sane_unused__ handle, SANE_Byte * data, SANE_Int max_length, SANE_Int * length) { DBG (127, "sane_read called, maxlen=%d\n", max_length); @@ -2724,15 +2722,15 @@ sane_read (SANE_Handle UNUSEDARG handle, SANE_Byte * data, } void -sane_cancel (SANE_Handle UNUSEDARG handle) +sane_cancel (SANE_Handle __sane_unused__ handle) { DBG (127, "sane_cancel() called\n"); started = SANE_FALSE; } SANE_Status -sane_set_io_mode (SANE_Handle UNUSEDARG handle, - SANE_Bool UNUSEDARG non_blocking) +sane_set_io_mode (SANE_Handle __sane_unused__ handle, + SANE_Bool __sane_unused__ non_blocking) { /* sane_set_io_mode() is only valid during a scan */ if (started) @@ -2754,7 +2752,7 @@ sane_set_io_mode (SANE_Handle UNUSEDARG handle, } SANE_Status -sane_get_select_fd (SANE_Handle UNUSEDARG handle, SANE_Int UNUSEDARG * fd) +sane_get_select_fd (SANE_Handle __sane_unused__ handle, SANE_Int __sane_unused__ * fd) { return SANE_STATUS_UNSUPPORTED; } diff --git a/backend/dc25.h b/backend/dc25.h index df95271..fe12f74 100644 --- a/backend/dc25.h +++ b/backend/dc25.h @@ -211,12 +211,6 @@ struct pixmap { unsigned char *planes; }; -#ifdef __GNUC__ -#define UNUSEDARG __attribute__ ((unused)) -#else -#define UNUSEDARG -#endif - /* * Rotations */ diff --git a/backend/dell1600n_net.c b/backend/dell1600n_net.c index d19059b..3586215 100644 --- a/backend/dell1600n_net.c +++ b/backend/dell1600n_net.c @@ -929,6 +929,7 @@ HexDump (int debugLevel, const unsigned char *buf, size_t bufSize) { unsigned int i, j; + size_t lineBufFree; char itemBuf[16] = { 0 }, lineBuf[256] = { 0 }; @@ -943,7 +944,8 @@ HexDump (int debugLevel, const unsigned char *buf, size_t bufSize) sprintf (itemBuf, "%02x ", (const unsigned int) buf[i]); - strncat (lineBuf, itemBuf, sizeof (lineBuf)); + lineBufFree = sizeof (lineBuf) - strlen (lineBuf) - 1; + strncat (lineBuf, itemBuf, lineBufFree); if ((i + 1) % 16) continue; @@ -960,7 +962,8 @@ HexDump (int debugLevel, const unsigned char *buf, size_t bufSize) { sprintf (itemBuf, "."); } - strncat (lineBuf, itemBuf, sizeof (lineBuf)); + lineBufFree = sizeof (lineBuf) - strlen (lineBuf) - 1; + strncat (lineBuf, itemBuf, lineBufFree); } /* for j */ @@ -974,7 +977,8 @@ HexDump (int debugLevel, const unsigned char *buf, size_t bufSize) for (j = (i % 16); j < 16; ++j) { - strncat (lineBuf, " ", sizeof (lineBuf)); + lineBufFree = sizeof (lineBuf) - strlen (lineBuf) - 1; + strncat (lineBuf, " ", lineBufFree); } for (j = 1 + i - ((i + 1) % 16); j < i; ++j) { @@ -986,7 +990,8 @@ HexDump (int debugLevel, const unsigned char *buf, size_t bufSize) { strcpy (itemBuf, "."); } - strncat (lineBuf, itemBuf, sizeof (lineBuf)); + lineBufFree = sizeof (lineBuf) - strlen (lineBuf) - 1; + strncat (lineBuf, itemBuf, lineBufFree); } DBG (debugLevel, "%s\n", lineBuf); } @@ -1335,7 +1340,7 @@ ProcessUdpResponse (unsigned char *pData, size_t size, { unsigned short messageSize, nameSize, valueSize; - unsigned char *pItem, *pEnd, *pValue; + unsigned char *pItem, *pEnd; char sockBuf[SOCK_BUF_SIZE], *pName; struct ComBuf tcpBuf; int nread; @@ -1376,8 +1381,6 @@ ProcessUdpResponse (unsigned char *pData, size_t size, valueSize = (((unsigned short) pItem[0]) << 8) | pItem[1]; pItem += 2; - pValue = pItem; - pItem += valueSize; /* process the item */ diff --git a/backend/dll.c b/backend/dll.c index 5264f11..5eaa046 100644 --- a/backend/dll.c +++ b/backend/dll.c @@ -69,6 +69,26 @@ #if defined(HAVE_DLOPEN) && defined(HAVE_DLFCN_H) # include + /* This works around a pedantic GCC compiler warning. The ISO C + standard says that the behaviour of converting an object pointer + like the void * returned by dlsym() to a function pointer like + void *(*)() is implementation defined. POSIX though guarantees + that this works fine. + + Workaround based on http://stackoverflow.com/a/36385690. Turns + off pedantic warnings for the duration of the definition only. + */ +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wpedantic" +typedef void *(*func_ptr)(void); + +func_ptr +posix_dlsym (void *handle, const char *func) +{ + return dlsym (handle, func); +} +# pragma GCC diagnostic pop + /* Older versions of dlopen() don't define RTLD_NOW and RTLD_LAZY. They all seem to use a mode of 1 to indicate RTLD_NOW and some do not support RTLD_LAZY at all. Hence, unless defined, we define @@ -430,15 +450,17 @@ load (struct backend *be) if (path) { - src_len = strlen (path) + strlen (LIBDIR) + 1 + 1; + src_len = strlen (path) + strlen (DIR_SEP) + strlen(LIBDIR) + 1; src = malloc (src_len); if (!src) { DBG (1, "load: malloc failed: %s\n", strerror (errno)); return SANE_STATUS_NO_MEM; } + if (orig_src) + free (orig_src); orig_src = src; - snprintf (src, src_len, "%s:%s", path, LIBDIR); + snprintf (src, src_len, "%s%s%s", path, DIR_SEP, LIBDIR); } else { @@ -534,7 +556,7 @@ load (struct backend *be) /* First try looking up the symbol without a leading underscore. */ #ifdef HAVE_DLOPEN - op = (void *(*)(void)) dlsym (be->handle, funcname + 1); + op = posix_dlsym (be->handle, funcname + 1); #elif defined(HAVE_SHL_LOAD) shl_findsym ((shl_t *) & (be->handle), funcname + 1, TYPE_UNDEFINED, &op); @@ -559,7 +581,7 @@ load (struct backend *be) { /* Try again, with an underscore prepended. */ #ifdef HAVE_DLOPEN - op = (void *(*)(void)) dlsym (be->handle, funcname); + op = posix_dlsym (be->handle, funcname); #elif defined(HAVE_SHL_LOAD) shl_findsym (be->handle, funcname, TYPE_UNDEFINED, &op); #elif defined(HAVE_NSLINKMODULE) diff --git a/backend/dll.conf.in b/backend/dll.conf.in index ee6f2f1..3ee5428 100644 --- a/backend/dll.conf.in +++ b/backend/dll.conf.in @@ -1,4 +1,12 @@ -# enable the next line if you want to allow access through the network: +# dll.conf - Configuration file for the SANE dynamic backend loader +# +# Backends can also be enabled by configuration snippets under the dll.d/ +# directory -- third party backends can drop their configuration file in +# this in this directory, named after the backend. +# +# The next line enables the network backend; comment it out if you don't +# need to use a remote SANE scanner over the network -- see sane-net(5) +# and saned(8) for details. net abaton agfafocus diff --git a/backend/dmc.c b/backend/dmc.c index 7fc2ae9..c5c57c4 100644 --- a/backend/dmc.c +++ b/backend/dmc.c @@ -1030,7 +1030,6 @@ sane_control_option(SANE_Handle handle, SANE_Int option, { DMC_Camera *c; SANE_Word cap; - SANE_Status status; int i; if (info) *info = 0; @@ -1069,7 +1068,7 @@ sane_control_option(SANE_Handle handle, SANE_Int option, case OPT_IMAGE_MODE: for (i=0; ival[OPT_IMAGE_MODE].s = (SANE_String) ValidModes[i]; if (info) *info |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; return SANE_STATUS_GOOD; diff --git a/backend/epjitsu-cmd.h b/backend/epjitsu-cmd.h index 77793df..40a5c1a 100644 --- a/backend/epjitsu-cmd.h +++ b/backend/epjitsu-cmd.h @@ -47,40 +47,36 @@ static unsigned char coarseCalData_S1100[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -/*************** fi-60F 150dpi *************/ -/* 1b d1 (set window) before coarse cal (read 1 line of 0x1c20 bytes) */ -static unsigned char setWindowCoarseCal_FI60F_150[] = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x2c, 0x01, 0x2c, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, -0x00, 0x05, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +/*************** fi-60F 300dpi gray *************/ +#if 0 +static unsigned char setWindowScan_FI60F_300_g[] = { +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x2c, 0x01, 0x2c, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x06, 0xd5, 0x00, 0x00, +0x00, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x80, 0x80, 0x01, 0x6c, 0x01, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -/* 1b d1 (set window) before fine cal (read 16 lines of 0x1c20 bytes) */ -static unsigned char setWindowFineCal_FI60F_150[] = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x2c, 0x03, 0x20, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x60, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, -0x00, 0x05, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x80, 0x80, 0x00, 0x10, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +/*************** fi-60F 400dpi gray *************/ +static unsigned char setWindowScan_FI60F_400_g[] = { +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x58, 0x01, 0x90, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x60, 0x00, 0x00, 0x09, 0x1c, 0x00, 0x00, +0x00, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x80, 0x80, 0x01, 0xca, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -/* 1b d1 (set window) before gain/offset tables (write 1 line of 0x3840 bytes) */ -static unsigned char setWindowSendCal_FI60F_150[] = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x2c, 0x03, 0x20, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x60, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, -0x00, 0x05, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +/*************** fi-60F 600dpi gray *************/ +static unsigned char setWindowScan_FI60F_600_g[] = { +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x58, 0x02, 0x58, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x60, 0x00, 0x00, 0x0d, 0xaa, 0x00, 0x00, +0x00, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x80, 0x80, 0x01, 0xca, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -/* 1b c3 (gain?) command header */ -static unsigned char sendCal1Header_FI60F_150[] = { /* plus 0x3840 data bytes */ -0x8c, 0x0f, 0x8c, 0x0f, 0x8c, 0x0f, 0x8c, 0x0f, 0x8c, 0x0f, 0x8c, 0x0f, 0x00, 0x04 -}; -/* 1b c4 (offset?) command header */ -static unsigned char sendCal2Header_FI60F_150[] = { -0x39, 0x3f, 0x39, 0x3f, 0x39, 0x3f, 0x07 -}; -/* 1b d1 (set window) before scan */ +#endif + +/*************** fi-60F 150dpi *************/ static unsigned char setWindowScan_FI60F_150[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x2c, 0x00, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x60, 0x00, 0x00, 0x03, 0x6b, 0x00, 0x00, @@ -89,6 +85,15 @@ static unsigned char setWindowScan_FI60F_150[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; +/*************** fi-60F 200dpi *************/ +static unsigned char setWindowScan_FI60F_200[] = { +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x2c, 0x00, 0xc8, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x60, 0x00, 0x00, 0x04, 0x8e, 0x00, 0x00, +0x00, 0x05, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x80, 0x80, 0x01, 0x48, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + /*************** fi-60F 300dpi *************/ /* 1b d1 (set window) before coarse cal (read 1 line of 0x1c20 bytes) */ static unsigned char setWindowCoarseCal_FI60F_300[] = { @@ -131,6 +136,15 @@ static unsigned char setWindowScan_FI60F_300[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; +/*************** fi-60F 400dpi *************/ +static unsigned char setWindowScan_FI60F_400[] = { +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x58, 0x01, 0x90, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x20, 0x00, 0x00, 0x09, 0x1c, 0x00, 0x00, +0x00, 0x05, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x80, 0x80, 0x01, 0x3d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + /*************** fi-60F 600dpi *************/ /* 1b d1 (set window) before coarse cal (read 1 line of 0x2160 bytes) */ static unsigned char setWindowCoarseCal_FI60F_600[] = { diff --git a/backend/epjitsu.c b/backend/epjitsu.c index 7d987dc..ce79a20 100644 --- a/backend/epjitsu.c +++ b/backend/epjitsu.c @@ -1,6 +1,14 @@ /* sane - Scanner Access Now Easy. - This file is part of the SANE package. + This file implements a SANE backend for the Fujitsu fi-60F, the + ScanSnap S300/S1300, and (hopefully) other Epson-based scanners. + + Copyright 2007-2015 by m. allan noah + Copyright 2009 by Richard Goedeken + + Development funded by Microdea, Inc., TrueCheck, Inc. and Archivista, GmbH + + -------------------------------------------------------------------------- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -40,16 +48,6 @@ -------------------------------------------------------------------------- - This file implements a SANE backend for the Fujitsu fi-60F, the - ScanSnap S300/S1300, and (hopefully) other Epson-based scanners. - - Copyright 2007-2010 by m. allan noah - Copyright 2009 by Richard Goedeken - - Development funded by Microdea, Inc., TrueCheck, Inc. and Archivista, GmbH - - -------------------------------------------------------------------------- - The source code is divided in sections which you can easily find by searching for the tag "@@". @@ -151,6 +149,14 @@ - call change_params after changing page_width v28 2015-03-23, MAN - call get_hardware_status before starting scan + v29 2017-03-18, MAN + - fix infinite loop when scaling in Y direction + v30 2017-03-21, MAN + - fix image truncation when using 150 DPI in Y direction + - add 200 and 400 DPI Y direction support for fi-60F/65F + v31 2017-04-09, MAN + - hardware gray support for fi-60F/65F (disabled pending calibration) + - merge fi-60F/65F settings SANE FLOW DIAGRAM @@ -199,7 +205,7 @@ #include "epjitsu-cmd.h" #define DEBUG 1 -#define BUILD 28 +#define BUILD 31 #ifndef MAX3 #define MAX3(a,b,c) ((a) > (b) ? ((a) > (c) ? a : c) : ((b) > (c) ? b : c)) @@ -1770,6 +1776,7 @@ update_transfer_totals(struct transfer * t) /* we hard-code the list (determined from usb snoops) here */ struct model_res { int model; + int mode; int x_res; int y_res; int usb_power; @@ -1802,141 +1809,153 @@ struct model_res { static struct model_res settings[] = { /*S300 AC*/ -/* model xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ - { MODEL_S300, 150, 150, 0, 1296, 32, 2662, 32, 4256*3, 1480*3, 1296, 41, 8512*3, 2960*3, 2592, +/* model mode xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ + { MODEL_S300, MODE_COLOR, 150, 150, 0, 1296, 32, 2662, 32, 4256*3, 1480*3, 1296, 41, 8512*3, 2960*3, 2592, setWindowCoarseCal_S300_150, setWindowFineCal_S300_150, setWindowSendCal_S300_150, sendCal1Header_S300_150, sendCal2Header_S300_150, setWindowScan_S300_150 }, - { MODEL_S300, 225, 200, 0, 1944, 32, 3993, 32, 6144*3, 2100*3, 1944, 28, 8192*3, 2800*3, 2592, + { MODEL_S300, MODE_COLOR, 225, 200, 0, 1944, 32, 3993, 32, 6144*3, 2100*3, 1944, 28, 8192*3, 2800*3, 2592, setWindowCoarseCal_S300_225, setWindowFineCal_S300_225, setWindowSendCal_S300_225, sendCal1Header_S300_225, sendCal2Header_S300_225, setWindowScan_S300_225 }, - { MODEL_S300, 300, 300, 0, 2592, 32, 5324, 32, 8192*3, 2800*3, 2592, 21, 8192*3, 2800*3, 2592, + { MODEL_S300, MODE_COLOR, 300, 300, 0, 2592, 32, 5324, 32, 8192*3, 2800*3, 2592, 21, 8192*3, 2800*3, 2592, setWindowCoarseCal_S300_300, setWindowFineCal_S300_300, setWindowSendCal_S300_300, sendCal1Header_S300_300, sendCal2Header_S300_300, setWindowScan_S300_300 }, - { MODEL_S300, 600, 600, 0, 5184, 32, 10648, 32, 16064*3, 5440*3, 5184, 10, 16064*3, 5440*3, 5184, + { MODEL_S300, MODE_COLOR, 600, 600, 0, 5184, 32, 10648, 32, 16064*3, 5440*3, 5184, 10, 16064*3, 5440*3, 5184, setWindowCoarseCal_S300_600, setWindowFineCal_S300_600, setWindowSendCal_S300_600, sendCal1Header_S300_600, sendCal2Header_S300_600, setWindowScan_S300_600 }, /*S300 USB*/ -/* model xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ - { MODEL_S300, 150, 150, 1, 1296, 32, 2662, 32, 7216*3, 2960*3, 1296, 24, 14432*3, 5920*3, 2592, +/* model mode xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ + { MODEL_S300, MODE_COLOR, 150, 150, 1, 1296, 32, 2662, 32, 7216*3, 2960*3, 1296, 24, 14432*3, 5920*3, 2592, setWindowCoarseCal_S300_150_U, setWindowFineCal_S300_150_U, setWindowSendCal_S300_150_U, sendCal1Header_S300_150_U, sendCal2Header_S300_150_U, setWindowScan_S300_150_U }, - { MODEL_S300, 225, 200, 1, 1944, 32, 3993, 32, 10584*3, 4320*3, 1944, 16, 14112*3, 5760*3, 2592, + { MODEL_S300, MODE_COLOR, 225, 200, 1, 1944, 32, 3993, 32, 10584*3, 4320*3, 1944, 16, 14112*3, 5760*3, 2592, setWindowCoarseCal_S300_225_U, setWindowFineCal_S300_225_U, setWindowSendCal_S300_225_U, sendCal1Header_S300_225_U, sendCal2Header_S300_225_U, setWindowScan_S300_225_U }, - { MODEL_S300, 300, 300, 1, 2592, 32, 5324, 32, 15872*3, 6640*3, 2592, 11, 15872*3, 6640*3, 2592, + { MODEL_S300, MODE_COLOR, 300, 300, 1, 2592, 32, 5324, 32, 15872*3, 6640*3, 2592, 11, 15872*3, 6640*3, 2592, setWindowCoarseCal_S300_300_U, setWindowFineCal_S300_300_U, setWindowSendCal_S300_300_U, sendCal1Header_S300_300_U, sendCal2Header_S300_300_U, setWindowScan_S300_300_U }, - { MODEL_S300, 600, 600, 1, 5184, 32, 10648, 32, 16064*3, 5440*3, 5184, 10, 16064*3, 5440*3, 5184, + { MODEL_S300, MODE_COLOR, 600, 600, 1, 5184, 32, 10648, 32, 16064*3, 5440*3, 5184, 10, 16064*3, 5440*3, 5184, setWindowCoarseCal_S300_600, setWindowFineCal_S300_600, setWindowSendCal_S300_600, sendCal1Header_S300_600, sendCal2Header_S300_600, setWindowScan_S300_600 }, /*S1300i AC*/ -/* model xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ - { MODEL_S1300i, 150, 150, 0, 1296, 32, 2662, 32, 4016*3, 1360*3, 1296, 43, 8032*3, 2720*3, 2592, +/* model mode xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ + { MODEL_S1300i, MODE_COLOR, 150, 150, 0, 1296, 32, 2662, 32, 4016*3, 1360*3, 1296, 43, 8032*3, 2720*3, 2592, setWindowCoarseCal_S1300i_150, setWindowFineCal_S1300i_150, setWindowSendCal_S1300i_150, sendCal1Header_S1300i_150, sendCal2Header_S1300i_150, setWindowScan_S1300i_150 }, - { MODEL_S1300i, 225, 200, 0, 1944, 32, 3993, 32, 6072*3, 2063*3, 1944, 28, 8096*3, 2752*3, 2592, + { MODEL_S1300i, MODE_COLOR, 225, 200, 0, 1944, 32, 3993, 32, 6072*3, 2063*3, 1944, 28, 8096*3, 2752*3, 2592, setWindowCoarseCal_S1300i_225, setWindowFineCal_S1300i_225, setWindowSendCal_S1300i_225, sendCal1Header_S1300i_225, sendCal2Header_S1300i_225, setWindowScan_S1300i_225 }, - { MODEL_S1300i, 300, 300, 0, 2592, 32, 5324, 32, 8096*3, 2751*3, 2592, 21, 8096*3, 2752*3, 2592, + { MODEL_S1300i, MODE_COLOR, 300, 300, 0, 2592, 32, 5324, 32, 8096*3, 2751*3, 2592, 21, 8096*3, 2752*3, 2592, setWindowCoarseCal_S1300i_300, setWindowFineCal_S1300i_300, setWindowSendCal_S1300i_300, sendCal1Header_S1300i_300, sendCal2Header_S1300i_300, setWindowScan_S1300i_300 }, /*NOTE: S1300i uses S300 data blocks for remainder*/ - { MODEL_S1300i, 600, 600, 0, 5184, 32, 10648, 32, 16064*3, 5440*3, 5184, 10, 16064*3, 5440*3, 5184, + { MODEL_S1300i, MODE_COLOR, 600, 600, 0, 5184, 32, 10648, 32, 16064*3, 5440*3, 5184, 10, 16064*3, 5440*3, 5184, setWindowCoarseCal_S300_600, setWindowFineCal_S300_600, setWindowSendCal_S300_600, sendCal1Header_S300_600, sendCal2Header_S300_600, setWindowScan_S300_600 }, /*S1300i USB*/ -/* model xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ - { MODEL_S1300i, 150, 150, 1, 1296, 32, 2662, 32, 7216*3, 2960*3, 1296, 24, 14432*3, 5920*3, 2592, +/* model mode xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ + { MODEL_S1300i, MODE_COLOR, 150, 150, 1, 1296, 32, 2662, 32, 7216*3, 2960*3, 1296, 24, 14432*3, 5920*3, 2592, setWindowCoarseCal_S300_150_U, setWindowFineCal_S300_150_U, setWindowSendCal_S300_150_U, sendCal1Header_S1300i_USB, sendCal2Header_S1300i_USB, setWindowScan_S300_150_U }, - { MODEL_S1300i, 225, 200, 1, 1944, 32, 3993, 32, 10584*3, 4320*3, 1944, 16, 14112*3, 5760*3, 2592, + { MODEL_S1300i, MODE_COLOR, 225, 200, 1, 1944, 32, 3993, 32, 10584*3, 4320*3, 1944, 16, 14112*3, 5760*3, 2592, setWindowCoarseCal_S300_225_U, setWindowFineCal_S300_225_U, setWindowSendCal_S300_225_U, sendCal1Header_S1300i_USB, sendCal2Header_S1300i_USB, setWindowScan_S300_225_U }, - { MODEL_S1300i, 300, 300, 1, 2592, 32, 5324, 32, 15872*3, 6640*3, 2592, 11, 15872*3, 6640*3, 2592, + { MODEL_S1300i, MODE_COLOR, 300, 300, 1, 2592, 32, 5324, 32, 15872*3, 6640*3, 2592, 11, 15872*3, 6640*3, 2592, setWindowCoarseCal_S300_300_U, setWindowFineCal_S300_300_U, setWindowSendCal_S300_300_U, sendCal1Header_S1300i_USB, sendCal2Header_S1300i_USB, setWindowScan_S300_300_U }, - { MODEL_S1300i, 600, 600, 1, 5184, 32, 10648, 32, 16064*3, 5440*3, 5184, 10, 16064*3, 5440*3, 5184, + { MODEL_S1300i, MODE_COLOR, 600, 600, 1, 5184, 32, 10648, 32, 16064*3, 5440*3, 5184, 10, 16064*3, 5440*3, 5184, setWindowCoarseCal_S300_600, setWindowFineCal_S300_600, setWindowSendCal_S300_600, sendCal1Header_S1300i_USB, sendCal2Header_S1300i_USB, setWindowScan_S300_600 }, - /*fi-60F*/ -/* model xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ - { MODEL_FI60F, 300, 150, 0, 1296, 32, 875, 32, 2400*3, 958*3, 432, 72, 2400*3, 958*3, 432, - setWindowCoarseCal_FI60F_150, setWindowFineCal_FI60F_150, - setWindowSendCal_FI60F_150, sendCal1Header_FI60F_150, - sendCal2Header_FI60F_150, setWindowScan_FI60F_150 }, - - { MODEL_FI60F, 300, 300, 0, 1296, 32, 1749, 32, 2400*3, 958*3, 432, 72, 2400*3, 958*3, 432, + /*fi-60F/65F GRAY */ +/* model mode xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ +/* disabled until calibration code supports grayscale + { MODEL_FI60F | MODEL_FI65F, MODE_GRAYSCALE, 300, 300, 0, 1296, 32, 1749, 32, 1440, 480, 432, 364, 2400*3, 958*3, 432, setWindowCoarseCal_FI60F_300, setWindowFineCal_FI60F_300, setWindowSendCal_FI60F_300, sendCal1Header_FI60F_300, - sendCal2Header_FI60F_300, setWindowScan_FI60F_300 }, + sendCal2Header_FI60F_300, setWindowScan_FI60F_300_g }, - { MODEL_FI60F, 600, 600, 0, 2592, 32, 3498, 32, 2848*3, 978*3, 864, 61, 2848*3, 978*3, 864, + { MODEL_FI60F | MODEL_FI65F, MODE_GRAYSCALE, 600, 400, 0, 2592, 32, 2332, 32, 2592, 864, 864, 202, 2848*3, 978*3, 864, setWindowCoarseCal_FI60F_600, setWindowFineCal_FI60F_600, setWindowSendCal_FI60F_600, sendCal1Header_FI60F_600, - sendCal2Header_FI60F_600, setWindowScan_FI60F_600 }, + sendCal2Header_FI60F_600, setWindowScan_FI60F_400_g }, - /*fi-65F*/ -/* model xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ - { MODEL_FI65F, 300, 150, 0, 1296, 32, 875, 32, 2400*3, 958*3, 432, 72, 2400*3, 958*3, 432, - setWindowCoarseCal_FI60F_150, setWindowFineCal_FI60F_150, - setWindowSendCal_FI60F_150, sendCal1Header_FI60F_150, - sendCal2Header_FI60F_150, setWindowScan_FI60F_150 }, + { MODEL_FI60F | MODEL_FI65F, MODE_GRAYSCALE, 600, 600, 0, 2592, 32, 3498, 32, 2592, 864, 864, 202, 2848*3, 978*3, 864, + setWindowCoarseCal_FI60F_600, setWindowFineCal_FI60F_600, + setWindowSendCal_FI60F_600, sendCal1Header_FI60F_600, + sendCal2Header_FI60F_600, setWindowScan_FI60F_600_g }, +*/ + + /*fi-60F/65F*/ +/* model mode xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ + { MODEL_FI60F | MODEL_FI65F, MODE_COLOR, 300, 150, 0, 1296, 32, 875, 32, 2400*3, 958*3, 432, 72, 2400*3, 958*3, 432, + setWindowCoarseCal_FI60F_300, setWindowFineCal_FI60F_300, + setWindowSendCal_FI60F_300, sendCal1Header_FI60F_300, + sendCal2Header_FI60F_300, setWindowScan_FI60F_150 }, - { MODEL_FI65F, 300, 300, 0, 1296, 32, 1749, 32, 2400*3, 958*3, 432, 72, 2400*3, 958*3, 432, + { MODEL_FI60F | MODEL_FI65F, MODE_COLOR, 300, 200, 0, 1296, 32, 1166, 32, 2400*3, 958*3, 432, 72, 2400*3, 958*3, 432, + setWindowCoarseCal_FI60F_300, setWindowFineCal_FI60F_300, + setWindowSendCal_FI60F_300, sendCal1Header_FI60F_300, + sendCal2Header_FI60F_300, setWindowScan_FI60F_200 }, + + { MODEL_FI60F | MODEL_FI65F, MODE_COLOR, 300, 300, 0, 1296, 32, 1749, 32, 2400*3, 958*3, 432, 72, 2400*3, 958*3, 432, setWindowCoarseCal_FI60F_300, setWindowFineCal_FI60F_300, setWindowSendCal_FI60F_300, sendCal1Header_FI60F_300, sendCal2Header_FI60F_300, setWindowScan_FI60F_300 }, - { MODEL_FI65F, 600, 600, 0, 2592, 32, 3498, 32, 2848*3, 978*3, 864, 61, 2848*3, 978*3, 864, + { MODEL_FI60F | MODEL_FI65F, MODE_COLOR, 600, 400, 0, 2592, 32, 2332, 32, 2848*3, 978*3, 864, 61, 2848*3, 978*3, 864, + setWindowCoarseCal_FI60F_600, setWindowFineCal_FI60F_600, + setWindowSendCal_FI60F_600, sendCal1Header_FI60F_600, + sendCal2Header_FI60F_600, setWindowScan_FI60F_400 }, + + { MODEL_FI60F | MODEL_FI65F, MODE_COLOR, 600, 600, 0, 2592, 32, 3498, 32, 2848*3, 978*3, 864, 61, 2848*3, 978*3, 864, setWindowCoarseCal_FI60F_600, setWindowFineCal_FI60F_600, setWindowSendCal_FI60F_600, sendCal1Header_FI60F_600, sendCal2Header_FI60F_600, setWindowScan_FI60F_600 }, /*S1100 USB*/ -/* model xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ - { MODEL_S1100, 300, 300, 1, 2592, 32, 5324, 32, 8912, 3160, 2592, 58, 8912, 3160, 2592, +/* model mode xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ + { MODEL_S1100, MODE_COLOR, 300, 300, 1, 2592, 32, 5324, 32, 8912, 3160, 2592, 58, 8912, 3160, 2592, setWindowCoarseCal_S1100_300_U, setWindowFineCal_S1100_300_U, setWindowSendCal_S1100_300_U, sendCal1Header_S1100_300_U, sendCal2Header_S1100_300_U, setWindowScan_S1100_300_U }, - { MODEL_S1100, 600, 600, 1, 5184, 32, 10648, 32, 15904, 5360, 5184, 32, 15904, 5360, 5184, + { MODEL_S1100, MODE_COLOR, 600, 600, 1, 5184, 32, 10648, 32, 15904, 5360, 5184, 32, 15904, 5360, 5184, setWindowCoarseCal_S1100_600_U, setWindowFineCal_S1100_600_U, setWindowSendCal_S1100_600_U, sendCal1Header_S1100_600_U, sendCal2Header_S1100_600_U, setWindowScan_S1100_600_U }, - { MODEL_NONE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + { MODEL_NONE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL }, }; @@ -1955,7 +1974,8 @@ change_params(struct scanner *s) DBG (10, "change_params: start\n"); do { - if(settings[i].model == s->model + if(settings[i].model & s->model + && settings[i].mode <= s->mode && settings[i].x_res >= s->resolution && settings[i].y_res >= s->resolution && settings[i].usb_power == s->usb_power @@ -2038,11 +2058,12 @@ change_params(struct scanner *s) s->br_x = (s->max_x + s->page_width)/2; /*=============================================================*/ - /* set up the calibration structs */ + /* set up the calibration scan structs */ /* generally full width, short height, full resolution */ s->cal_image.line_stride = settings[i].cal_line_stride; s->cal_image.plane_stride = settings[i].cal_plane_stride; s->cal_image.plane_width = settings[i].cal_plane_width; + s->cal_image.mode = MODE_COLOR; s->cal_image.x_res = settings[i].x_res; s->cal_image.y_res = settings[i].y_res; s->cal_image.raw_data = NULL; @@ -2052,38 +2073,19 @@ change_params(struct scanner *s) s->cal_data.line_stride = settings[i].cal_line_stride * 2; s->cal_data.plane_stride = settings[i].cal_plane_stride * 2; s->cal_data.plane_width = settings[i].cal_plane_width; + s->cal_data.mode = MODE_COLOR; s->cal_data.x_res = settings[i].x_res; s->cal_data.y_res = settings[i].y_res; s->cal_data.raw_data = NULL; s->cal_data.image = &s->sendcal; /*=============================================================*/ - /* set up the input scan structs */ - s->block_xfr.line_stride = settings[i].line_stride; - s->block_xfr.plane_stride = settings[i].plane_stride; - s->block_xfr.plane_width = settings[i].plane_width; - s->block_xfr.x_res = settings[i].x_res; - s->block_xfr.y_res = settings[i].y_res; - s->block_xfr.raw_data = NULL; - s->block_xfr.image = &s->block_img; - - /* set up the block image used during scanning operation */ - /* note that this is the same width/x_res as the final output image */ - /* but the height/y_res are the same as block_xfr */ - width = (s->block_xfr.plane_width*s->resolution/settings[i].x_res) * img_heads; - s->block_img.width_pix = width; - s->block_img.width_bytes = width * 3; - s->block_img.height = settings[i].block_height; - s->block_img.x_res = s->resolution; - s->block_img.y_res = settings[i].y_res; - s->block_img.pages = img_pages; - s->block_img.buffer = NULL; - /* set up the calibration image blocks */ width = s->cal_image.plane_width * img_heads; s->coarsecal.width_pix = s->darkcal.width_pix = s->lightcal.width_pix = width; s->coarsecal.width_bytes = s->darkcal.width_bytes = s->lightcal.width_bytes = width * 3; s->coarsecal.height = 1; + s->coarsecal.mode = MODE_COLOR; s->coarsecal.x_res = s->darkcal.x_res = s->lightcal.x_res = settings[i].x_res; s->coarsecal.y_res = s->darkcal.y_res = s->lightcal.y_res = settings[i].y_res; s->darkcal.height = s->lightcal.height = 16; @@ -2095,13 +2097,18 @@ change_params(struct scanner *s) s->sendcal.width_pix = width; s->sendcal.width_bytes = width * 6; /* 2 bytes of cal data per pixel component */ s->sendcal.height = 1; + s->sendcal.mode = MODE_COLOR; s->sendcal.x_res = settings[i].x_res; s->sendcal.y_res = settings[i].y_res; s->sendcal.pages = img_pages; s->sendcal.buffer = NULL; + /*=============================================================*/ /* set up the fullscan parameters */ - s->fullscan.width_bytes = s->block_xfr.line_stride; + /* this is bookkeeping for what we actually pull from the scanner */ + /* note that this has no image, just dimensions and counters */ + s->fullscan.width_bytes = settings[i].line_stride; + s->fullscan.mode = settings[i].mode; s->fullscan.x_res = settings[i].x_res; s->fullscan.y_res = settings[i].y_res; if(s->source == SOURCE_FLATBED || !s->page_height) @@ -2115,9 +2122,35 @@ change_params(struct scanner *s) s->fullscan.height = SCANNER_UNIT_TO_PIX((s->page_height + s->tl_y + s->adf_height_padding), s->fullscan.y_res); } + /*=============================================================*/ + /* set up the input block raw struct */ + /* this holds up to 512k of raw scan data */ + s->block_xfr.line_stride = settings[i].line_stride; + s->block_xfr.plane_stride = settings[i].plane_stride; + s->block_xfr.plane_width = settings[i].plane_width; + s->block_xfr.mode = settings[i].mode; + s->block_xfr.x_res = settings[i].x_res; + s->block_xfr.y_res = settings[i].y_res; + s->block_xfr.raw_data = NULL; + s->block_xfr.image = &s->block_img; + + /* set up the input block image struct */ + /* note that this is the same width/x_res as the final output image */ + /* but the mode, height and y_res are the same as block_xfr */ + width = (settings[i].max_x * s->resolution / settings[i].x_res); + s->block_img.width_pix = width; + s->block_img.width_bytes = width * (settings[i].mode == MODE_COLOR ? 3 : 1); + s->block_img.height = settings[i].block_height; + s->block_img.mode = settings[i].mode; + s->block_img.x_res = s->resolution; + s->block_img.y_res = settings[i].y_res; + s->block_img.pages = img_pages; + s->block_img.buffer = NULL; + /*=============================================================*/ /* set up the output image structs */ /* output image might be different from scan due to interpolation */ + s->front.mode = s->mode; s->front.x_res = s->resolution; s->front.y_res = s->resolution; if(s->source == SOURCE_FLATBED) @@ -2170,6 +2203,7 @@ change_params(struct scanner *s) /* back settings always same as front settings */ s->back.width_pix = s->front.width_pix; s->back.width_bytes = s->front.width_bytes; + s->back.mode = s->front.mode; s->back.x_res = s->front.x_res; s->back.y_res = s->front.y_res; s->back.height = s->front.height; @@ -2182,6 +2216,7 @@ change_params(struct scanner *s) /* dynamic threshold temp buffer, in gray */ s->dt.width_pix = s->front.width_pix; s->dt.width_bytes = s->front.width_pix; + s->dt.mode = MODE_GRAYSCALE; s->dt.x_res = s->front.x_res; s->dt.y_res = s->front.y_res; s->dt.height = 1; @@ -3955,7 +3990,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len { DBG (15, "sane_read: block buffer full\n"); - /* convert the raw data into normal packed pixel data */ + /* convert the raw color data into normal packed pixel data */ descramble_raw(s, &s->block_xfr); s->block_xfr.done = 0; @@ -4095,6 +4130,8 @@ six5 (struct scanner *s) /* de-scrambles the raw data from the scanner into the image buffer */ /* the output image might be lower dpi than input image, so we scale horizontally */ +/* if the input image is mirrored left to right, we do not correct it here */ +/* if the input image has padding (at the end or between heads), it is removed here */ static SANE_Status descramble_raw(struct scanner *s, struct transfer * tp) { @@ -4103,6 +4140,13 @@ descramble_raw(struct scanner *s, struct transfer * tp) int height = tp->total_bytes / tp->line_stride; int i, j, k; + /* raw gray data handled in another function */ + if(tp->mode == MODE_GRAYSCALE){ + return descramble_raw_gray(s, tp); + } + + DBG(15, "descramble_raw: start\n"); + if (s->model == MODEL_S300 || s->model == MODEL_S1300i) { for (i = 0; i < 2; i++){ /* page, front/back */ for (j = 0; j < height; j++){ /* row (y)*/ @@ -4233,6 +4277,47 @@ descramble_raw(struct scanner *s, struct transfer * tp) } } + DBG(15, "descramble_raw: finish %d\n", ret); + + return ret; +} + +/* de-scrambles the raw gray data from the scanner into the image buffer */ +/* the output image might be lower dpi than input image, so we scale horizontally */ +/* if the input image is mirrored left to right, we do not correct it here */ +/* if the input image has padding (at the end or between heads), it is removed here */ +static SANE_Status +descramble_raw_gray(struct scanner *s, struct transfer * tp) +{ + SANE_Status ret = SANE_STATUS_GOOD; + int height = tp->total_bytes / tp->line_stride; + int row, col_out; + + DBG(15, "descramble_raw_gray: start\n"); + + if (s->model == MODEL_FI60F || s->model == MODEL_FI65F) { + for (row = 0; row < height; row++){ + + unsigned char *p_in = tp->raw_data + row * tp->line_stride; + unsigned char *p_out = tp->image->buffer + row * tp->image->width_pix; + + for (col_out = 0; col_out < tp->image->width_pix; col_out++){ + int col_in = col_out * tp->x_res/tp->image->x_res; + int offset = col_in%tp->plane_width; + int step = col_in/tp->plane_width; + + *p_out = *(p_in + offset*3 + step); + p_out++; + } + } + } + + else{ + DBG(5, "internal error: descramble_raw_gray not supported\n"); + ret = SANE_STATUS_INVAL; + } + + DBG(15, "descramble_raw_gray: finish %d\n", ret); return ret; } @@ -4313,8 +4398,10 @@ read_from_scanner(struct scanner *s, struct transfer * tp) } /* copies block buffer into front or back image buffer */ -/* converts pixel data from RGB Color to the output format */ +/* converts pixel data from input mode (color/gray) to output mode (color/gray/binary) */ /* the output image might be lower dpi than input image, so we scale vertically */ +/* the input is already scaled horizontally and padding skipped if required */ +/* if the input is mirrored left to right, we fix it here */ static SANE_Status copy_block_to_page(struct scanner *s,int side) { @@ -4322,11 +4409,10 @@ copy_block_to_page(struct scanner *s,int side) struct transfer * block = &s->block_xfr; struct page * page = &s->pages[side]; int image_height = block->total_bytes / block->line_stride; - int page_height = SCANNER_UNIT_TO_PIX(s->page_height, s->resolution); int page_width = page->image->width_pix; int block_page_stride = block->image->width_bytes * block->image->height; int line_reverse = (side == SIDE_BACK) || (s->model == MODEL_FI60F) || (s->model == MODEL_FI65F); - int i,j,k=0,l=0; + int i,j,k=0; int curr_in_row = s->fullscan.rx_bytes/s->fullscan.width_bytes; int last_out_row = (page->bytes_scanned / page->image->width_bytes) - 1; @@ -4334,7 +4420,7 @@ copy_block_to_page(struct scanner *s,int side) DBG (10, "copy_block_to_page: start\n"); /* skip padding and tl_y */ - if (s->fullscan.rx_bytes + s->block_xfr.rx_bytes < block->line_stride * page->image->y_skip_offset) + if (s->fullscan.rx_bytes + s->block_xfr.rx_bytes <= block->line_stride * page->image->y_skip_offset) { DBG (10, "copy_block_to_page: before the start? %d\n", side); return ret; @@ -4345,25 +4431,8 @@ copy_block_to_page(struct scanner *s,int side) DBG (10, "copy_block_to_page: k start? %d\n", k); } - /* skip trailer */ - if (s->page_height) - { - DBG (10, "copy_block_to_page: ph %d\n", s->page_height); - if (s->fullscan.rx_bytes > block->line_stride * page->image->y_skip_offset + page_height * block->line_stride) - { - DBG (10, "copy_block_to_page: off the end? %d\n", side); - return ret; - } - else if (s->fullscan.rx_bytes + s->block_xfr.rx_bytes - > block->line_stride * page->image->y_skip_offset + page_height * block->line_stride) - { - l = (s->fullscan.rx_bytes + s->block_xfr.rx_bytes) / block->line_stride - - page_height - page->image->y_skip_offset; - } - } - /* loop over all the lines in the block */ - for (i = k; i < image_height-l; i++) + for (i = k; i < image_height; i++) { /* determine source and dest rows (dpi scaling) */ int this_in_row = curr_in_row + i; @@ -4389,13 +4458,15 @@ copy_block_to_page(struct scanner *s,int side) last_out_row = this_out_row; - /* reverse order for back side or FI-60F scanner */ - if (line_reverse) + if (block->mode == MODE_COLOR){ + + /* reverse order for back side or FI-60F scanner */ + if (line_reverse) p_in += (page_width - 1) * 3; - - /* convert all of the pixels in this row */ - for (j = 0; j < page_width; j++) - { + + /* convert all of the pixels in this row */ + for (j = 0; j < page_width; j++) + { unsigned char r, g, b; if (s->model == MODEL_S300 || s->model == MODEL_S1300i) { r = p_in[1]; g = p_in[2]; b = p_in[0]; } @@ -4413,12 +4484,41 @@ copy_block_to_page(struct scanner *s,int side) } else if (s->mode == MODE_LINEART) { - s->dt.buffer[j] = (r + g + b) / 3; /* stores dt temp image buffer and binarize afterword */ + s->dt.buffer[j] = (r + g + b) / 3; /* stores dt temp image buffer and binarize afterward */ } if (line_reverse) p_in -= 3; else p_in += 3; + } + } + + /* grayscale input */ + else{ + unsigned char * p_in = block->image->buffer + (side * block_page_stride) + + (i * block->image->width_bytes) + page->image->x_start_offset; + + /* reverse order for back side or FI-60F scanner */ + if (line_reverse) + p_in += (page_width - 1); + + //memcpy(p_out,p_in,page->image->width_bytes); + + for (j = 0; j < page_width; j++) + { + if (s->mode == MODE_GRAYSCALE) + { + *p_out++ = *p_in; + } + else if (s->mode == MODE_LINEART) + { + s->dt.buffer[j] = *p_in; /* stores dt temp image buffer and binarize afterward */ + } + if (line_reverse) + p_in--; + else + p_in++; + } } /* skip non-transfer pixels in block image buffer */ @@ -4576,13 +4676,13 @@ destroy(struct scanner *s) teardown_buffers(s); if(s->sane.name){ - free(s->sane.name); + free((void *) s->sane.name); } if(s->sane.vendor){ - free(s->sane.vendor); + free((void *) s->sane.vendor); } if(s->sane.model){ - free(s->sane.model); + free((void *) s->sane.model); } free(s); diff --git a/backend/epjitsu.conf.in b/backend/epjitsu.conf.in index 155befc..3ba1c15 100644 --- a/backend/epjitsu.conf.in +++ b/backend/epjitsu.conf.in @@ -61,14 +61,23 @@ usb 0x04c5 0x1156 firmware @DATADIR@/sane/epjitsu/300M_0C00.nal usb 0x04c5 0x117f -# Fujitsu S1100 -firmware @DATADIR@/sane/epjitsu/1100_0B00.nal -usb 0x04c5 0x1200 +# Fujitsu fi-65F +firmware @DATADIR@/sane/epjitsu/65f_0A01.nal +usb 0x04c5 0x11bd # Fujitsu S1300 firmware @DATADIR@/sane/epjitsu/1300_0C26.nal usb 0x04c5 0x11ed +# Fujitsu S1100 +firmware @DATADIR@/sane/epjitsu/1100_0B00.nal +usb 0x04c5 0x1200 + # Fujitsu S1300i firmware @DATADIR@/sane/epjitsu/1300i_0D12.nal usb 0x04c5 0x128d + +# Fujitsu S1100i +firmware @DATADIR@/sane/epjitsu/1100i_0A00.nal +usb 0x04c5 0x1447 + diff --git a/backend/epjitsu.h b/backend/epjitsu.h index 7bb1ccc..6dfaf67 100644 --- a/backend/epjitsu.h +++ b/backend/epjitsu.h @@ -55,6 +55,7 @@ struct image { int width_bytes; int height; int pages; + int mode; int x_res; int y_res; int x_start_offset; @@ -71,6 +72,7 @@ struct transfer { int total_bytes; int rx_bytes; int done; + int mode; int x_res; int y_res; @@ -216,6 +218,7 @@ struct scanner /* the scan struct holds these larger numbers, but image buffer is unused */ struct { int done; + int mode; int x_res; int y_res; int height; @@ -259,12 +262,12 @@ struct scanner int hw_sleep; }; -#define MODEL_NONE 0 -#define MODEL_S300 1 -#define MODEL_FI60F 2 -#define MODEL_S1100 3 -#define MODEL_S1300i 4 -#define MODEL_FI65F 5 +#define MODEL_NONE (1<<0) +#define MODEL_S300 (1<<1) +#define MODEL_FI60F (1<<2) +#define MODEL_S1100 (1<<3) +#define MODEL_S1300i (1<<4) +#define MODEL_FI65F (1<<5) #define USB_COMMAND_TIME 10000 #define USB_DATA_TIME 10000 @@ -378,6 +381,7 @@ static SANE_Status set_window(struct scanner *s, int window); static SANE_Status scan(struct scanner *s); static SANE_Status read_from_scanner(struct scanner *s, struct transfer *tp); +static SANE_Status descramble_raw_gray(struct scanner *s, struct transfer * tp); static SANE_Status descramble_raw(struct scanner *s, struct transfer * tp); static SANE_Status copy_block_to_page(struct scanner *s, int side); static SANE_Status binarize_line(struct scanner *s, unsigned char *lineOut, int width); diff --git a/backend/epson.c b/backend/epson.c index 6b111f2..3fc264f 100644 --- a/backend/epson.c +++ b/backend/epson.c @@ -4232,7 +4232,7 @@ SANE_Status sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) { Epson_Scanner *s = (Epson_Scanner *) handle; - int ndpi, max_x, max_y; + int ndpi; int bytes_per_pixel; DBG (5, "sane_get_parameters()\n"); @@ -4270,8 +4270,6 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) ndpi = s->val[OPT_RESOLUTION].w; - max_x = max_y = 0; - s->params.pixels_per_line = SANE_UNFIX (s->val[OPT_BR_X].w - s->val[OPT_TL_X].w) / 25.4 * ndpi + 0.5; s->params.lines = @@ -5271,7 +5269,6 @@ sane_read (SANE_Handle handle, SANE_Byte * data, SANE_Int max_length, int index = 0; SANE_Bool reorder = SANE_FALSE; SANE_Bool needStrangeReorder = SANE_FALSE; - int bytes_to_process = 0; START_READ: DBG (5, "sane_read: begin\n"); @@ -5447,9 +5444,7 @@ START_READ: reorder = SANE_TRUE; } - bytes_to_process = receive (s, s->buf, buf_len, &status); - - /* bytes_to_process = buf_len; */ + receive (s, s->buf, buf_len, &status); if (SANE_STATUS_GOOD != status) { diff --git a/backend/epson2-io.c b/backend/epson2-io.c index 4477963..9d23e2a 100644 --- a/backend/epson2-io.c +++ b/backend/epson2-io.c @@ -113,32 +113,37 @@ ssize_t e2_recv(Epson_Scanner *s, void *buf, ssize_t buf_size, SANE_Status *status) { - ssize_t n = 0; + ssize_t n = buf_size; /* network interface needs to read header back even data is 0.*/ DBG(15, "%s: size = %ld, buf = %p\n", __func__, (long) buf_size, buf); + *status = SANE_STATUS_GOOD; if (s->hw->connection == SANE_EPSON_NET) { n = sanei_epson_net_read(s, buf, buf_size, status); } else if (s->hw->connection == SANE_EPSON_SCSI) { - n = sanei_epson2_scsi_read(s->fd, buf, buf_size, status); + if (buf_size) + n = sanei_epson2_scsi_read(s->fd, buf, buf_size, status); } else if (s->hw->connection == SANE_EPSON_PIO) { - if (buf_size == - (n = sanei_pio_read(s->fd, buf, (size_t) buf_size))) - *status = SANE_STATUS_GOOD; - else - *status = SANE_STATUS_INVAL; + if (buf_size) { + if (buf_size == + (n = sanei_pio_read(s->fd, buf, (size_t) buf_size))) + *status = SANE_STATUS_GOOD; + else + *status = SANE_STATUS_INVAL; + } } else if (s->hw->connection == SANE_EPSON_USB) { /* !!! only report an error if we don't read anything */ - n = buf_size; /* buf_size gets overwritten */ - *status = - sanei_usb_read_bulk(s->fd, (SANE_Byte *) buf, - (size_t *) & n); - r_cmd_count += (n + 63) / 64; /* add # of packets, rounding up */ - DBG(20, "%s: cmd count, r = %d, w = %d\n", - __func__, r_cmd_count, w_cmd_count); - - if (n > 0) - *status = SANE_STATUS_GOOD; + if (n) { + *status = + sanei_usb_read_bulk(s->fd, (SANE_Byte *) buf, + (size_t *) & n); + r_cmd_count += (n + 63) / 64; /* add # of packets, rounding up */ + DBG(20, "%s: cmd count, r = %d, w = %d\n", + __func__, r_cmd_count, w_cmd_count); + + if (n > 0) + *status = SANE_STATUS_GOOD; + } } if (n < buf_size) { @@ -170,18 +175,23 @@ e2_txrx(Epson_Scanner * s, unsigned char *txbuf, size_t txlen, unsigned char *rxbuf, size_t rxlen) { SANE_Status status; + size_t done; - e2_send(s, txbuf, txlen, rxlen, &status); + done = e2_send(s, txbuf, txlen, rxlen, &status); if (status != SANE_STATUS_GOOD) { DBG(1, "%s: tx err, %s\n", __func__, sane_strstatus(status)); return status; } + if (done != txlen) { + DBG(1, "%s: tx err, short write\n", __func__); + return SANE_STATUS_IO_ERROR; + } e2_recv(s, rxbuf, rxlen, &status); if (status != SANE_STATUS_GOOD) { DBG(1, "%s: rx err, %s\n", __func__, sane_strstatus(status)); } - + DBG(1, "%s: eds_recv status, %s\n", __func__, sane_strstatus(status)); return status; } diff --git a/backend/epson2-ops.c b/backend/epson2-ops.c index eac01b0..1ba2292 100644 --- a/backend/epson2-ops.c +++ b/backend/epson2-ops.c @@ -2087,7 +2087,6 @@ e2_block_read(struct Epson_Scanner *s) { SANE_Status status; SANE_Bool reorder = SANE_FALSE; - SANE_Bool needStrangeReorder = SANE_FALSE; START_READ: DBG(18, "%s: begin\n", __func__); @@ -2149,22 +2148,6 @@ e2_block_read(struct Epson_Scanner *s) * are doing this here: */ - /* - * Some scanners (e.g. the Perfection 1640 and GT-2200) seem - * to have the R and G channels swapped. - * The GT-8700 is the Asian version of the Perfection 1640. - * If the scanner name is one of these and the scan mode is - * RGB then swap the colors. - */ - - /* never used, beta testers required */ - needStrangeReorder = - (strstr(s->hw->model, "GT-2200") || - ((strstr(s->hw->model, "1640") - && strstr(s->hw->model, "Perfection")) - || strstr(s->hw->model, "GT-8700"))) - && s->params.format == SANE_FRAME_RGB; - /* * Certain Perfection 1650 also need this re-ordering of the two * color channels. These scanners are identified by the problem diff --git a/backend/epson2.h b/backend/epson2.h index 8650f01..773c7de 100644 --- a/backend/epson2.h +++ b/backend/epson2.h @@ -45,13 +45,6 @@ #include "sane/sanei_backend.h" #include "sane/sanei_debug.h" -#ifdef __GNUC__ -#define __func__ __FUNCTION__ -#else -#define __func__ "(undef)" -/* I cast my vote for C99... :) */ -#endif - #define EPSON2_CONFIG_FILE "epson2.conf" #ifndef PATH_MAX diff --git a/backend/epson2_net.c b/backend/epson2_net.c index 911ce62..4b3e7e9 100644 --- a/backend/epson2_net.c +++ b/backend/epson2_net.c @@ -104,7 +104,7 @@ sanei_epson_net_read(Epson_Scanner *s, unsigned char *buf, ssize_t wanted, size = be32atoh(&header[6]); - DBG(23, "%s: wanted = %lu, available = %lu\n", __FUNCTION__, + DBG(23, "%s: wanted = %lu, available = %lu\n", __func__, (u_long) wanted, (u_long) size); *status = SANE_STATUS_GOOD; @@ -170,7 +170,7 @@ sanei_epson_net_write(Epson_Scanner *s, unsigned int cmd, const unsigned char *b } DBG(24, "%s: cmd = %04x, buf = %p, buf_size = %lu, reply_len = %lu\n", - __FUNCTION__, cmd, buf, (u_long) buf_size, (u_long) reply_len); + __func__, cmd, buf, (u_long) buf_size, (u_long) reply_len); memset(h1, 0x00, 12); memset(h2, 0x00, 8); diff --git a/backend/epson2_scsi.c b/backend/epson2_scsi.c index 89394cd..8e95c6f 100644 --- a/backend/epson2_scsi.c +++ b/backend/epson2_scsi.c @@ -32,7 +32,7 @@ sanei_epson2_scsi_sense_handler(int scsi_fd, if (result[0] && result[0] != 0x70) { DBG(2, "%s: sense code = 0x%02x\n", - __FUNCTION__, result[0]); + __func__, result[0]); return SANE_STATUS_IO_ERROR; } else { return SANE_STATUS_GOOD; diff --git a/backend/epsonds-cmd.c b/backend/epsonds-cmd.c index b91f3f1..9a4db30 100644 --- a/backend/epsonds-cmd.c +++ b/backend/epsonds-cmd.c @@ -21,6 +21,7 @@ #include "epsonds-io.h" #include "epsonds-cmd.h" #include "epsonds-ops.h" +#include "epsonds-net.h" static SANE_Status esci2_parse_block(char *buf, int len, void *userdata, SANE_Status (*cb)(void *userdata, char *token, int len)) @@ -132,49 +133,39 @@ static SANE_Status esci2_cmd(epsonds_scanner* s, { SANE_Status status; unsigned int more; - char rbuf[64]; + char header[13], rbuf[64]; /* add one more byte for header buffer to correct buffer overflow issue,*/ DBG(8, "%s: %4s len %lu, payload len: %lu\n", __func__, cmd, len, plen); - if (len < 12) { - DBG(1, "%s: command is too short (%lu)\n", __func__, len); + memset(header, 0x00, sizeof(header)); + memset(rbuf, 0x00, sizeof(rbuf)); + + // extra safety check, will not happen + if (len != 12) { + DBG(1, "%s: command has wrong size (%lu != 12)\n", __func__, len); return SANE_STATUS_INVAL; } - /* merge the payload size and send the RequestBlock */ - if (payload && plen) { - - sprintf(rbuf, "%4.4sx%07x", cmd, (unsigned int)plen); - - DBG(8, " %s (%lu)\n", rbuf, plen); - - eds_send(s, rbuf, 12, &status); - - } else { - eds_send(s, cmd, len, &status); - } + // merge ParameterBlock size + sprintf(header, "%4.4sx%07x", cmd, (unsigned int)plen); + // send RequestBlock, request immediate response if there's no payload + status = eds_txrx(s, header, len, rbuf, (plen > 0) ? 0 : 64); if (status != SANE_STATUS_GOOD) { return status; } - /* send ParameterBlock */ - if (payload && plen) { + /* send ParameterBlock, request response */ + if (plen) { + + DBG(8, " %12.12s (%lu)\n", header, plen); - eds_send(s, payload, plen, &status); + status = eds_txrx(s, payload, plen, rbuf, 64); if (status != SANE_STATUS_GOOD) { return status; } } - /* receive DataHeaderBlock */ - memset(rbuf, 0x00, sizeof(rbuf)); - - eds_recv(s, rbuf, 64, &status); - if (status != SANE_STATUS_GOOD) { - return status; - } - /* rxbuf holds the DataHeaderBlock, which should be * parsed to know if we need to read more data */ @@ -196,6 +187,10 @@ static SANE_Status esci2_cmd(epsonds_scanner* s, char *pbuf = malloc(more); if (pbuf) { + if (s->hw->connection == SANE_EPSONDS_NET) { + epsonds_net_request_read(s, more); + } + ssize_t read = eds_recv(s, pbuf, more, &status); if (read != more) { } @@ -853,7 +848,7 @@ esci2_img(struct epsonds_scanner *s, SANE_Int *length) return SANE_STATUS_CANCELLED; /* request image data */ - eds_send(s, "IMG x0000000", 12, &status); + eds_send(s, "IMG x0000000", 12, &status, 64); if (status != SANE_STATUS_GOOD) { return status; } @@ -882,6 +877,10 @@ esci2_img(struct epsonds_scanner *s, SANE_Int *length) } /* ALWAYS read image data */ + if (s->hw->connection == SANE_EPSONDS_NET) { + epsonds_net_request_read(s, more); + } + read = eds_recv(s, s->buf, more, &status); if (status != SANE_STATUS_GOOD) { return status; diff --git a/backend/epsonds-io.c b/backend/epsonds-io.c index 28bacfc..e153ad4 100644 --- a/backend/epsonds-io.c +++ b/backend/epsonds-io.c @@ -16,11 +16,19 @@ #include "sane/config.h" #include #include /* sleep */ +#ifdef HAVE_SYS_TYPES_H +#include +#endif #include "epsonds.h" #include "epsonds-io.h" +#include "epsonds-net.h" -size_t eds_send(epsonds_scanner *s, void *buf, size_t length, SANE_Status *status) +#ifdef HAVE_SYS_TYPES_H +#include +#endif + +size_t eds_send(epsonds_scanner *s, void *buf, size_t length, SANE_Status *status, size_t reply_len) { DBG(32, "%s: size = %lu\n", __func__, (u_long) length); @@ -36,7 +44,9 @@ size_t eds_send(epsonds_scanner *s, void *buf, size_t length, SANE_Status *statu } if (s->hw->connection == SANE_EPSONDS_NET) { - /* XXX */ + + return epsonds_net_write(s, 0x2000, buf, length, reply_len, status); + } else if (s->hw->connection == SANE_EPSONDS_USB) { size_t n = length; @@ -55,21 +65,23 @@ size_t eds_send(epsonds_scanner *s, void *buf, size_t length, SANE_Status *statu size_t eds_recv(epsonds_scanner *s, void *buf, size_t length, SANE_Status *status) { - size_t n = 0; + size_t n = length; /* network interface needs to read header back even data is 0.*/ DBG(30, "%s: size = %ld, buf = %p\n", __func__, (long) length, buf); + *status = SANE_STATUS_GOOD; + if (s->hw->connection == SANE_EPSONDS_NET) { - /* XXX */ + n = epsonds_net_read(s, buf, length, status); } else if (s->hw->connection == SANE_EPSONDS_USB) { /* !!! only report an error if we don't read anything */ - - n = length; - *status = sanei_usb_read_bulk(s->fd, (SANE_Byte *)buf, - (size_t *) &n); - if (n > 0) - *status = SANE_STATUS_GOOD; + if (n) { + *status = sanei_usb_read_bulk(s->fd, (SANE_Byte *)buf, + (size_t *) &n); + if (n > 0) + *status = SANE_STATUS_GOOD; + } } if (n < length) { @@ -90,7 +102,7 @@ SANE_Status eds_txrx(epsonds_scanner* s, char *txbuf, size_t txlen, SANE_Status status; size_t done; - done = eds_send(s, txbuf, txlen, &status); + done = eds_send(s, txbuf, txlen, &status, rxlen); if (status != SANE_STATUS_GOOD) { DBG(1, "%s: tx err, %s\n", __func__, sane_strstatus(status)); return status; @@ -147,6 +159,7 @@ SANE_Status eds_fsy(epsonds_scanner *s) SANE_Status eds_fsx(epsonds_scanner *s) { +// SANE_Status status = eds_control(s, "\x1CZ", 2); SANE_Status status = eds_control(s, "\x1CX", 2); if (status == SANE_STATUS_GOOD) { s->locked = 1; diff --git a/backend/epsonds-io.h b/backend/epsonds-io.h index 1a1b2b7..1bb67c6 100644 --- a/backend/epsonds-io.h +++ b/backend/epsonds-io.h @@ -17,7 +17,7 @@ #define USB_TIMEOUT (6 * 1000) #define USB_SHORT_TIMEOUT (1 * 800) -size_t eds_send(epsonds_scanner *s, void *buf, size_t length, SANE_Status *status); +size_t eds_send(epsonds_scanner *s, void *buf, size_t length, SANE_Status *status, size_t reply_len); size_t eds_recv(epsonds_scanner *s, void *buf, size_t length, SANE_Status *status); SANE_Status eds_txrx(epsonds_scanner *s, char *txbuf, size_t txlen, diff --git a/backend/epsonds-jpeg.c b/backend/epsonds-jpeg.c index 76a52cb..62e8bb5 100644 --- a/backend/epsonds-jpeg.c +++ b/backend/epsonds-jpeg.c @@ -13,6 +13,8 @@ #define DEBUG_DECLARE_ONLY +#include "sane/config.h" + #include #include "epsonds.h" @@ -35,12 +37,12 @@ typedef struct epsonds_src_mgr; METHODDEF(void) -jpeg_init_source(j_decompress_ptr UNUSEDARG cinfo) +jpeg_init_source(j_decompress_ptr __sane_unused__ cinfo) { } METHODDEF(void) -jpeg_term_source(j_decompress_ptr UNUSEDARG cinfo) +jpeg_term_source(j_decompress_ptr __sane_unused__ cinfo) { } diff --git a/backend/epsonds-jpeg.h b/backend/epsonds-jpeg.h index c54208e..a804dec 100644 --- a/backend/epsonds-jpeg.h +++ b/backend/epsonds-jpeg.h @@ -11,8 +11,6 @@ * published by the Free Software Foundation, version 2. */ -#define UNUSEDARG __attribute__ ((unused)) - SANE_Status eds_jpeg_start(epsonds_scanner *s); void eds_jpeg_finish(epsonds_scanner *s); SANE_Status eds_jpeg_read_header(epsonds_scanner *s); diff --git a/backend/epsonds-net.c b/backend/epsonds-net.c new file mode 100644 index 0000000..8ea236b --- /dev/null +++ b/backend/epsonds-net.c @@ -0,0 +1,278 @@ +/* + * epsonds-net.c - SANE library for Epson scanners. + * + * Copyright (C) 2006-2016 Tower Technologies + * Author: Alessandro Zummo + * + * 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, version 2. + */ + +#define DEBUG_DECLARE_ONLY + +#include "sane/config.h" + +#ifdef HAVE_SYS_SELECT_H +#include +#endif + +#include "sane/sane.h" +#include "sane/saneopts.h" +#include "sane/sanei_tcp.h" +#include "sane/sanei_config.h" +#include "sane/sanei_backend.h" + +#include "epsonds.h" +#include "epsonds-net.h" + +#include "byteorder.h" + +#include "sane/sanei_debug.h" + +static int +epsonds_net_read_raw(epsonds_scanner *s, unsigned char *buf, ssize_t wanted, + SANE_Status *status) +{ + int ready, read = -1; + fd_set readable; + struct timeval tv; + + tv.tv_sec = 10; + tv.tv_usec = 0; + + FD_ZERO(&readable); + FD_SET(s->fd, &readable); + + ready = select(s->fd + 1, &readable, NULL, NULL, &tv); + if (ready > 0) { + read = sanei_tcp_read(s->fd, buf, wanted); + } else { + DBG(15, "%s: select failed: %d\n", __func__, ready); + } + + *status = SANE_STATUS_GOOD; + + if (read < wanted) { + *status = SANE_STATUS_IO_ERROR; + } + + return read; +} + +int +epsonds_net_read(epsonds_scanner *s, unsigned char *buf, ssize_t wanted, + SANE_Status * status) +{ + ssize_t size; + ssize_t read = 0; + unsigned char header[12]; + + /* read from buffer, if available */ + if (wanted && s->netptr != s->netbuf) { + DBG(23, "reading %lu from buffer at %p, %lu available\n", + (u_long) wanted, s->netptr, (u_long) s->netlen); + + memcpy(buf, s->netptr, wanted); + read = wanted; + + s->netlen -= wanted; + + if (s->netlen == 0) { + DBG(23, "%s: freeing %p\n", __func__, s->netbuf); + free(s->netbuf); + s->netbuf = s->netptr = NULL; + s->netlen = 0; + } + + return read; + } + + /* receive net header */ + size = epsonds_net_read_raw(s, header, 12, status); + if (size != 12) { + return 0; + } + + if (header[0] != 'I' || header[1] != 'S') { + DBG(1, "header mismatch: %02X %02x\n", header[0], header[1]); + *status = SANE_STATUS_IO_ERROR; + return 0; + } + + // incoming payload size + size = be32atoh(&header[6]); + + DBG(23, "%s: wanted = %lu, available = %lu\n", __func__, + (u_long) wanted, (u_long) size); + + *status = SANE_STATUS_GOOD; + + if (size == wanted) { + + DBG(15, "%s: full read\n", __func__); + + if (size) { + read = epsonds_net_read_raw(s, buf, size, status); + } + + if (s->netbuf) { + free(s->netbuf); + s->netbuf = NULL; + s->netlen = 0; + } + + if (read < 0) { + return 0; + } + + } else if (wanted < size) { + + DBG(23, "%s: long tail\n", __func__); + + read = epsonds_net_read_raw(s, s->netbuf, size, status); + if (read != size) { + return 0; + } + + memcpy(buf, s->netbuf, wanted); + read = wanted; + + free(s->netbuf); + s->netbuf = NULL; + s->netlen = 0; + + } else { + + DBG(23, "%s: partial read\n", __func__); + + read = epsonds_net_read_raw(s, s->netbuf, size, status); + if (read != size) { + return 0; + } + + s->netlen = size - wanted; + s->netptr += wanted; + read = wanted; + + DBG(23, "0,4 %02x %02x\n", s->netbuf[0], s->netbuf[4]); + DBG(23, "storing %lu to buffer at %p, next read at %p, %lu bytes left\n", + (u_long) size, s->netbuf, s->netptr, (u_long) s->netlen); + + memcpy(buf, s->netbuf, wanted); + } + + return read; +} + +SANE_Status +epsonds_net_request_read(epsonds_scanner *s, size_t len) +{ + SANE_Status status; + epsonds_net_write(s, 0x2000, NULL, 0, len, &status); + return status; +} + +int +epsonds_net_write(epsonds_scanner *s, unsigned int cmd, const unsigned char *buf, + size_t buf_size, size_t reply_len, SANE_Status *status) +{ + unsigned char *h1, *h2; + unsigned char *packet = malloc(12 + 8); + + /* XXX check allocation failure */ + + h1 = packet; // packet header + h2 = packet + 12; // data header + + if (reply_len) { + s->netbuf = s->netptr = malloc(reply_len); + s->netlen = reply_len; + DBG(24, "allocated %lu bytes at %p\n", + (u_long) reply_len, s->netbuf); + } + + DBG(24, "%s: cmd = %04x, buf = %p, buf_size = %lu, reply_len = %lu\n", + __func__, cmd, buf, (u_long) buf_size, (u_long) reply_len); + + memset(h1, 0x00, 12); + memset(h2, 0x00, 8); + + h1[0] = 'I'; + h1[1] = 'S'; + + h1[2] = cmd >> 8; // packet type + h1[3] = cmd; // data type + + h1[4] = 0x00; + h1[5] = 0x0C; // data offset + + DBG(24, "H1[0]: %02x %02x %02x %02x\n", h1[0], h1[1], h1[2], h1[3]); + + // 0x20 passthru + // 0x21 job control + + if (buf_size) { + htobe32a(&h1[6], buf_size); + } + + if((cmd >> 8) == 0x20) { + + htobe32a(&h1[6], buf_size + 8); // data size (data header + payload) + + htobe32a(&h2[0], buf_size); // payload size + htobe32a(&h2[4], reply_len); // expected answer size + + DBG(24, "H1[6]: %02x %02x %02x %02x (%lu)\n", h1[6], h1[7], h1[8], h1[9], (u_long) (buf_size + 8)); + DBG(24, "H2[0]: %02x %02x %02x %02x (%lu)\n", h2[0], h2[1], h2[2], h2[3], (u_long) buf_size); + DBG(24, "H2[4]: %02x %02x %02x %02x (%lu)\n", h2[4], h2[5], h2[6], h2[7], (u_long) reply_len); + } + + if ((cmd >> 8) == 0x20 && (buf_size || reply_len)) { + + // send header + data header + sanei_tcp_write(s->fd, packet, 12 + 8); + + } else { + sanei_tcp_write(s->fd, packet, 12); + } + + // send payload + if (buf_size) + sanei_tcp_write(s->fd, buf, buf_size); + + free(packet); + + *status = SANE_STATUS_GOOD; + return buf_size; +} + +SANE_Status +epsonds_net_lock(struct epsonds_scanner *s) +{ + SANE_Status status; + unsigned char buf[7] = "\x01\xa0\x04\x00\x00\x01\x2c"; + + DBG(1, "%s\n", __func__); + + epsonds_net_write(s, 0x2100, buf, 7, 0, &status); + epsonds_net_read(s, buf, 1, &status); + + // buf[0] should be ACK, 0x06 + + return status; +} + +SANE_Status +epsonds_net_unlock(struct epsonds_scanner *s) +{ + SANE_Status status; + + DBG(1, "%s\n", __func__); + + epsonds_net_write(s, 0x2101, NULL, 0, 0, &status); +/* epsonds_net_read(s, buf, 1, &status); */ + return status; +} diff --git a/backend/epsonds-net.h b/backend/epsonds-net.h new file mode 100644 index 0000000..f7b173e --- /dev/null +++ b/backend/epsonds-net.h @@ -0,0 +1,16 @@ +#ifndef _EPSONDS_NET_H_ +#define _EPSONDS_NET_H_ + +#include +#include "../include/sane/sane.h" + +extern int epsonds_net_read(struct epsonds_scanner *s, unsigned char *buf, ssize_t buf_size, + SANE_Status *status); +extern int epsonds_net_write(struct epsonds_scanner *s, unsigned int cmd, const unsigned char *buf, + size_t buf_size, size_t reply_len, + SANE_Status *status); +extern SANE_Status epsonds_net_lock(struct epsonds_scanner *s); +extern SANE_Status epsonds_net_unlock(struct epsonds_scanner *s); +extern SANE_Status epsonds_net_request_read(epsonds_scanner *s, size_t len); + +#endif diff --git a/backend/epsonds-ops.c b/backend/epsonds-ops.c index 403cd58..f7a07fb 100644 --- a/backend/epsonds-ops.c +++ b/backend/epsonds-ops.c @@ -72,6 +72,18 @@ eds_dev_post_init(struct epsonds_device *dev) return SANE_STATUS_GOOD; } +SANE_Bool +eds_is_model(epsonds_device *dev, const char *model) +{ + if (dev->model == NULL) + return SANE_FALSE; + + if (strncmp(dev->model, model, strlen(model)) == 0) + return SANE_TRUE; + + return SANE_FALSE; +} + SANE_Status eds_add_resolution(epsonds_device *dev, int r) { @@ -199,6 +211,12 @@ eds_init_parameters(epsonds_scanner *s) s->dummy = 0; + /* setup depth according to our mode table */ + if (mode_params[s->val[OPT_MODE].w].depth == 1) + s->params.depth = 1; + else + s->params.depth = s->val[OPT_DEPTH].w; + dpi = s->val[OPT_RESOLUTION].w; if (SANE_UNFIX(s->val[OPT_BR_Y].w) == 0 || @@ -246,11 +264,6 @@ eds_init_parameters(epsonds_scanner *s) * The default color depth is stored in mode_params.depth: */ - if (mode_params[s->val[OPT_MODE].w].depth == 1) - s->params.depth = 1; - else - s->params.depth = s->val[OPT_DEPTH].w; - /* this works because it can only be set to 1, 8 or 16 */ bytes_per_pixel = s->params.depth / 8; if (s->params.depth % 8) { /* just in case ... */ diff --git a/backend/epsonds-ops.h b/backend/epsonds-ops.h index 3f45393..ac5e71b 100644 --- a/backend/epsonds-ops.h +++ b/backend/epsonds-ops.h @@ -11,11 +11,11 @@ * published by the Free Software Foundation, version 2. */ -#define e2_model(s,m) e2_dev_model((s)->hw,(m)) - extern void eds_dev_init(epsonds_device *dev); extern SANE_Status eds_dev_post_init(struct epsonds_device *dev); +extern SANE_Bool eds_is_model(epsonds_device *dev, const char *model); + extern SANE_Status eds_add_resolution(epsonds_device *dev, int r); extern SANE_Status eds_set_resolution_range(epsonds_device *dev, int min, int max); extern void eds_set_fbf_area(epsonds_device *dev, int x, int y, int unit); diff --git a/backend/epsonds.c b/backend/epsonds.c index 2f85312..218e08c 100644 --- a/backend/epsonds.c +++ b/backend/epsonds.c @@ -12,8 +12,8 @@ */ #define EPSONDS_VERSION 1 -#define EPSONDS_REVISION 0 -#define EPSONDS_BUILD 35 +#define EPSONDS_REVISION 1 +#define EPSONDS_BUILD 0 /* debugging levels: * @@ -41,9 +41,12 @@ #include "sane/config.h" #include +#include #include "sane/saneopts.h" #include "sane/sanei_config.h" +#include "sane/sanei_tcp.h" +#include "sane/sanei_udp.h" #include "epsonds.h" #include "epsonds-usb.h" @@ -51,6 +54,8 @@ #include "epsonds-cmd.h" #include "epsonds-ops.h" #include "epsonds-jpeg.h" +#include "epsonds-net.h" + /* * Definition of the mode_param struct, that is used to @@ -115,6 +120,7 @@ max_string_size(const SANE_String_Const strings[]) } static SANE_Status attach_one_usb(SANE_String_Const devname); +static SANE_Status attach_one_net(SANE_String_Const devname); static void print_params(const SANE_Parameters params) @@ -140,7 +146,10 @@ close_scanner(epsonds_scanner *s) esci2_fin(s); } - if (s->hw->connection == SANE_EPSONDS_USB) { + if (s->hw->connection == SANE_EPSONDS_NET) { + epsonds_net_unlock(s); + sanei_tcp_close(s->fd); + } else if (s->hw->connection == SANE_EPSONDS_USB) { sanei_usb_close(s->fd); } @@ -154,6 +163,49 @@ free: DBG(7, "%s: ZZZ\n", __func__); } +static void +e2_network_discovery(void) +{ + fd_set rfds; + int fd, len; + SANE_Status status; + + char *ip, *query = "EPSONP\x00\xff\x00\x00\x00\x00\x00\x00\x00"; + unsigned char buf[76]; + + struct timeval to; + + status = sanei_udp_open_broadcast(&fd); + if (status != SANE_STATUS_GOOD) + return; + + sanei_udp_write_broadcast(fd, 3289, (unsigned char *) query, 15); + + DBG(5, "%s, sent discovery packet\n", __func__); + + to.tv_sec = 1; + to.tv_usec = 0; + + FD_ZERO(&rfds); + FD_SET(fd, &rfds); + + sanei_udp_set_nonblock(fd, SANE_TRUE); + while (select(fd + 1, &rfds, NULL, NULL, &to) > 0) { + if ((len = sanei_udp_recvfrom(fd, buf, 76, &ip)) == 76) { + DBG(5, " response from %s\n", ip); + + /* minimal check, protocol unknown */ + if (strncmp((char *) buf, "EPSON", 5) == 0) + attach_one_net(ip); + } + } + + DBG(5, "%s, end\n", __func__); + + sanei_udp_close(fd); +} + + static SANE_Status open_scanner(epsonds_scanner *s) { @@ -166,10 +218,59 @@ open_scanner(epsonds_scanner *s) return SANE_STATUS_GOOD; /* no need to open the scanner */ } - if (s->hw->connection == SANE_EPSONDS_USB) { + if (s->hw->connection == SANE_EPSONDS_NET) { + unsigned char buf[5]; + + /* device name has the form net:ipaddr */ + status = sanei_tcp_open(&s->hw->sane.name[4], 1865, &s->fd); + if (status == SANE_STATUS_GOOD) { + + ssize_t read; + struct timeval tv; + + tv.tv_sec = 5; + tv.tv_usec = 0; + + setsockopt(s->fd, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof(tv)); + + s->netlen = 0; + + DBG(32, "awaiting welcome message\n"); + + /* the scanner sends a kind of welcome msg */ + // XXX check command type, answer to connect is 0x80 + read = eds_recv(s, buf, 3, &status); + if (read != 3) { + sanei_tcp_close(s->fd); + s->fd = -1; + return SANE_STATUS_IO_ERROR; + } + + DBG(32, "welcome message received, locking the scanner...\n"); + + /* lock the scanner for use by sane */ + status = epsonds_net_lock(s); + if (status != SANE_STATUS_GOOD) { + DBG(1, "%s cannot lock scanner: %s\n", s->hw->sane.name, + sane_strstatus(status)); + + sanei_tcp_close(s->fd); + s->fd = -1; + + return status; + } + + DBG(32, "scanner locked\n"); + } + + } else if (s->hw->connection == SANE_EPSONDS_USB) { status = sanei_usb_open(s->hw->sane.name, &s->fd); - sanei_usb_set_timeout(USB_TIMEOUT); + + if (status == SANE_STATUS_GOOD) { + sanei_usb_set_timeout(USB_TIMEOUT); + sanei_usb_clear_halt(s->fd); + } } else { DBG(1, "unknown connection type: %d\n", s->hw->connection); @@ -220,12 +321,20 @@ device_detect(const char *name, int type, SANE_Status *status) struct epsonds_scanner *s; struct epsonds_device *dev; - DBG(1, "%s\n", __func__); + DBG(1, "%s, %s, type: %d\n", __func__, name, type); /* try to find the device in our list */ for (dev = first_dev; dev; dev = dev->next) { + if (strcmp(dev->sane.name, name) == 0) { + DBG(1, " found cached device\n"); + + // the device might have been just probed, sleep a bit. + if (dev->connection == SANE_EPSONDS_NET) { + sleep(1); + } + return scanner_create(dev, status); } } @@ -250,8 +359,9 @@ device_detect(const char *name, int type, SANE_Status *status) dev->connection = type; dev->model = strdup("(undetermined)"); + dev->name = strdup(name); - dev->sane.name = name; + dev->sane.name = dev->name; dev->sane.vendor = "Epson"; dev->sane.model = dev->model; dev->sane.type = "ESC/I-2"; @@ -283,11 +393,11 @@ device_detect(const char *name, int type, SANE_Status *status) if (*status != SANE_STATUS_GOOD) goto close; - /* assume 1 and 8 bit are always supported */ + // assume 1 and 8 bit are always supported eds_add_depth(s->hw, 1); eds_add_depth(s->hw, 8); - /* setup area according to available options */ + // setup area according to available options if (s->hw->has_fb) { dev->x_range = &dev->fbf_x_range; @@ -349,6 +459,19 @@ attach_one_usb(const char *dev) return attach(dev, SANE_EPSONDS_USB); } +static SANE_Status +attach_one_net(const char *dev) +{ + char name[39 + 4]; + + DBG(7, "%s: dev = %s\n", __func__, dev); + + strcpy(name, "net:"); + strcat(name, dev); + return attach(name, SANE_EPSONDS_NET); +} + + static SANE_Status attach_one_config(SANEI_Config __sane_unused__ *config, const char *line) { @@ -380,6 +503,16 @@ attach_one_config(SANEI_Config __sane_unused__ *config, const char *line) epsonds_usb_product_ids[i], attach_one_usb); } + } else if (strncmp(line, "net", 3) == 0) { + + /* remove the "net" sub string */ + const char *name = sanei_config_skip_whitespace(line + 3); + + if (strncmp(name, "autodiscovery", 13) == 0) + e2_network_discovery(); + else + attach_one_net(name); + } else { DBG(0, "unable to parse config line: %s\n", line); } @@ -669,7 +802,11 @@ sane_open(SANE_String_Const name, SANE_Handle *handle) } else { - if (strncmp(name, "libusb:", 7) == 0) { + if (strncmp(name, "net:", 4) == 0) { + s = device_detect(name, SANE_EPSONDS_NET, &status); + if (s == NULL) + return status; + } else if (strncmp(name, "libusb:", 7) == 0) { s = device_detect(name, SANE_EPSONDS_USB, &status); if (s == NULL) return status; @@ -1041,7 +1178,7 @@ SANE_Status sane_start(SANE_Handle handle) { epsonds_scanner *s = (epsonds_scanner *)handle; - char buf[64]; + char buf[65]; /* add one more byte to correct buffer overflow issue */ char cmd[100]; /* take care not to overflow */ SANE_Status status = 0; @@ -1112,10 +1249,17 @@ sane_start(SANE_Handle handle) s->val[OPT_ADF_MODE].w ? "DPLX" : "", s->val[OPT_ADF_SKEW].w ? "SKEW" : ""); - if (s->hw->adf_has_dfd == 2) { - strcat(buf, "DFL2"); - } else if (s->hw->adf_has_dfd == 1) { - strcat(buf, "DFL1"); + /* it seems that DFL only works in duplex mode, but it's + * also required to be enabled or duplex will be rejected. + */ + + if (s->val[OPT_ADF_MODE].w) { + + if (s->hw->adf_has_dfd == 2) { + strcat(buf, "DFL2"); + } else if (s->hw->adf_has_dfd == 1) { + strcat(buf, "DFL1"); + } } } else if (strcmp(source_list[s->val[OPT_SOURCE].w], FBF_STR) == 0) { @@ -1148,9 +1292,9 @@ sane_start(SANE_Handle handle) /* resolution (RSMi not always supported) */ if (s->val[OPT_RESOLUTION].w > 999) { - sprintf(buf, "#RSMi%07d", s->val[OPT_RESOLUTION].w); + sprintf(buf, "#RSMi%07d#RSSi%07d", s->val[OPT_RESOLUTION].w, s->val[OPT_RESOLUTION].w); } else { - sprintf(buf, "#RSMd%03d", s->val[OPT_RESOLUTION].w); + sprintf(buf, "#RSMd%03d#RSSd%03d", s->val[OPT_RESOLUTION].w, s->val[OPT_RESOLUTION].w); } strcat(cmd, buf); diff --git a/backend/epsonds.conf.in b/backend/epsonds.conf.in index 23dc461..b8b3623 100644 --- a/backend/epsonds.conf.in +++ b/backend/epsonds.conf.in @@ -10,3 +10,7 @@ usb # e.g.: # usb 0x4b8 0x14c +# Network +# +# net 192.168.1.123 +net autodiscovery diff --git a/backend/epsonds.h b/backend/epsonds.h index 024773b..0427ef3 100644 --- a/backend/epsonds.h +++ b/backend/epsonds.h @@ -43,13 +43,6 @@ #include "sane/sanei_usb.h" #include "sane/sanei_jpeg.h" -#ifdef __GNUC__ -#define __func__ __FUNCTION__ -#else -#define __func__ "(undef)" -/* I cast my vote for C99... :) */ -#endif - #define EPSONDS_CONFIG_FILE "epsonds.conf" #ifndef PATH_MAX @@ -94,7 +87,7 @@ typedef enum { /* hardware connection to the scanner */ SANE_EPSONDS_NODEV, /* default, no HW specified yet */ SANE_EPSONDS_USB, /* USB interface */ - SANE_EPSONDS_NET /* network interface (unsupported)*/ + SANE_EPSONDS_NET /* network interface */ } epsonds_conn_type; /* hardware description */ @@ -180,6 +173,10 @@ struct epsonds_scanner struct jpeg_decompress_struct jpeg_cinfo; struct jpeg_error_mgr jpeg_err; SANE_Bool jpeg_header_seen; + + /* network buffers */ + unsigned char *netbuf, *netptr; + size_t netlen; }; typedef struct epsonds_scanner epsonds_scanner; diff --git a/backend/fujitsu-scsi.h b/backend/fujitsu-scsi.h index de6652c..42598cb 100644 --- a/backend/fujitsu-scsi.h +++ b/backend/fujitsu-scsi.h @@ -377,6 +377,10 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define get_IN_read_size(in) getbitfield(in+0x78, 1, 6) #define get_IN_start_end_ms(in) getbitfield(in+0x78, 1, 5) +#define get_IN_battery(in) getbitfield(in+0x79, 1, 7) +#define get_IN_battery_save(in) getbitfield(in+0x79, 1, 6) +#define get_IN_op_reverse(in) getbitfield(in+0x79, 1, 1) + #define get_IN_op_halt(in) getbitfield(in+0x7a, 1, 7) /* some scanners need evpd inquiry data manipulated */ @@ -616,12 +620,13 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define SEND_len 10 #define set_S_xfer_datatype(sb, val) sb[0x02] = (unsigned char)val -/*#define S_datatype_imagedatai 0x00 #define S_datatype_halftone_mask 0x02 -#define S_datatype_gamma_function 0x03*/ +#define S_datatype_gamma_function 0x03 #define S_datatype_lut_data 0x83 +#define S_datatype_lut_dropout 0x84 #define S_datatype_jpg_q_table 0x88 #define S_datatype_endorser_data 0x90 +#define S_datatype_sendto_name 0xa0 /*#define S_EX_datatype_lut 0x01 #define S_EX_datatype_shading_data 0xa0 #define S_user_reg_gamma 0xc0 @@ -747,6 +752,8 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define GHS_data_len 12 #define get_GHS_top(in) getbitfield(in+0x02, 1, 7) +#define get_GHS_fedalm(in) getbitfield(in+0x02, 1, 5) +#define get_GHS_adjalm(in) getbitfield(in+0x02, 1, 4) #define get_GHS_A3(in) getbitfield(in+0x02, 1, 3) #define get_GHS_B4(in) getbitfield(in+0x02, 1, 2) #define get_GHS_A4(in) getbitfield(in+0x02, 1, 1) @@ -762,12 +769,14 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define get_GHS_sleep(in) getbitfield(in+0x04, 1, 7) #define get_GHS_clean(in) getbitfield(in+0x04, 1, 6) +#define get_GHS_scan_sw_long(in) getbitfield(in+0x04, 1, 5) +#define get_GHS_hpos(in) getbitfield(in+0x04, 1, 4) #define get_GHS_send_sw(in) getbitfield(in+0x04, 1, 2) #define get_GHS_manual_feed(in) getbitfield(in+0x04, 1, 1) #define get_GHS_scan_sw(in) getbitfield(in+0x04, 1, 0) #define get_GHS_picalm(in) getbitfield(in+0x05, 1, 7) -#define get_GHS_fadalm(in) getbitfield(in+0x05, 1, 6) +#define get_GHS_padalm(in) getbitfield(in+0x05, 1, 6) #define get_GHS_brkalm(in) getbitfield(in+0x05, 1, 5) #define get_GHS_sepalm(in) getbitfield(in+0x05, 1, 4) #define get_GHS_function(in) getbitfield(in+0x05, 0x0f, 0) @@ -783,10 +792,34 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define get_GHS_error_code(in) in[0x07] -#define get_GHS_skew_angle(in) getnbyte(in+0x08, 2) +#define get_GHS_skew_angle(in) in[0x09] #define get_GHS_ink_remain(in) in[0x0a] +#define get_GHS_lang_code(in) getnbyte(in+0x0c, 2) + +#define get_GHS_adjalm_fed(in) getbitfield(in+0x0e, 1, 7) +#define get_GHS_non_sep(in) getbitfield(in+0x0e, 1, 4) +#define get_GHS_ext_sendto(in) getbitfield(in+0x0e, 1, 2) +#define get_GHS_rq_hldimg(in) getbitfield(in+0x0e, 1, 1) +#define get_GHS_pacnt(in) getbitfield(in+0x0e, 1, 0) + +#define get_GHS_wifi_sw(in) getbitfield(in+0x10, 1, 7) +#define get_GHS_w_use(in) getbitfield(in+0x10, 1, 6) +#define get_GHS_w_use2(in) getbitfield(in+0x10, 1, 5) +#define get_GHS_w_use3(in) getbitfield(in+0x10, 1, 4) +#define get_GHS_w_use4(in) getbitfield(in+0x10, 1, 3) + +#define get_GHS_battery(in) getbitfield(in+0x11, 1, 7) +#define get_GHS_btr_charge(in) getbitfield(in+0x11, 1, 6) +#define get_GHS_btr_chg_tmp_stp(in) getbitfield(in+0x11, 1, 5) +#define get_GHS_ibtr_ene_sav(in) getbitfield(in+0x11, 1, 4) +#define get_GHS_fngr_caut(in) getbitfield(in+0x11, 1, 2) +#define get_GHS_trnpg_l(in) getbitfield(in+0x11, 1, 1) +#define get_GHS_trnpg_r(in) getbitfield(in+0x11, 1, 0) + +#define get_GHS_btr_power(in) in[0x12] + /* ==================================================================== */ /* SCANNER_CONTROL */ #define SCANNER_CONTROL_code 0xf1 @@ -807,6 +840,12 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define SC_function_eject_complete 0x0a #define SC_function_manual_feed 0x0c +/* used with SC_function_panel */ +#define set_SC_led_eb(icb, val) setbitfield(icb + 5, 1, 7, val) +#define set_SC_led(icb, val) setbitfield(icb + 5, 1, 6, val) +#define set_SC_fcno_eb(icb, val) setbitfield(icb + 5, 1, 4, val) +#define set_SC_fcno(icb, val) setbitfield(icb + 5, 0xf, 0, val) + #define set_SC_ric_dtq(sb, val) sb[2] = val #define set_SC_ric_len(sb, val) putnbyte(sb + 0x06, val, 3) @@ -1024,12 +1063,12 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) /* DTC also called Auto-I mode?*/ /*warning: filtering uses inverse logic*/ -#define set_WD_filtering(sb, val) setbitfield(sb + 0x2f, 1, 7, val) -#define get_WD_filtering(sb) getbitfield(sb + 0x2f, 1, 7) +#define set_WD_filtering(sb, val) setbitfield(sb + 0x2f, 1, 7, !val) +#define get_WD_filtering(sb) !getbitfield(sb + 0x2f, 1, 7) /*warning: smoothing uses inverse logic*/ -#define set_WD_smoothing(sb, val) setbitfield(sb + 0x2f, 3, 5, val) -#define get_WD_smoothing(sb) getbitfield(sb + 0x2f, 3, 5) +#define set_WD_smoothing(sb, val) setbitfield(sb + 0x2f, 3, 5, !val) +#define get_WD_smoothing(sb) !getbitfield(sb + 0x2f, 3, 5) #define set_WD_gamma_curve(sb, val) setbitfield(sb + 0x2f, 3, 3, val) #define get_WD_gamma_curve(sb) getbitfield(sb + 0x2f, 3, 3) diff --git a/backend/fujitsu.c b/backend/fujitsu.c index 9fddb1c..433f75a 100644 --- a/backend/fujitsu.c +++ b/backend/fujitsu.c @@ -6,7 +6,7 @@ Copyright (C) 2000 Randolph Bentson Copyright (C) 2001 Frederik Ramm Copyright (C) 2001-2004 Oliver Schirrmeister - Copyright (C) 2003-2014 m. allan noah + Copyright (C) 2003-2016 m. allan noah JPEG output and low memory usage support funded by: Archivista GmbH, www.archivista.ch @@ -574,9 +574,32 @@ v126 2015-08-23, MAN - initial support for iX100 - add late_lut support for iX500/iX100 - v127 2015-08-25, MAN + v127 2015-08-25, MAN (SANE 1.0.25) - separate iX100 from iX500 settings - iX100 has gray and lineart + v128 2015-11-08, MAN + - do not ask fi-4340 for serial number + v129 2015-11-21, MAN + - br_x and br_y locked to page_width/height until changed + v130 2016-02-23, MAN + - run init_model before init_ms so some scanners can override + - set all M309x and M409x scanners s->broken_diag_serial = 1 + v131 2016-06-06, MAN + - hide compression-arg option when jpeg disabled + - add Send/SC/GHS macros for recent scanners + - add initial support for fi-74x0 + - add initial support for fi-7030 + - set has_MS_lamp=0 for fi-71x0 + - add I18N macros to all option titles and descriptions + v132 2016-10-07, MAN + - remove ipc_mode option and variables + - set ipc mode based on other options + - cleanup inverted logic DTC options + - fixes threshold option reported in #315069 + v133 2017-04-08, MAN + - initial support for fi-7600/7700 + - autodetect various double feed capabilities using VPD + - call send_lut if we are using a downloaded gamma table SANE FLOW DIAGRAM @@ -626,7 +649,7 @@ #include "fujitsu.h" #define DEBUG 1 -#define BUILD 127 +#define BUILD 133 /* values for SANE_DEBUG_FUJITSU env var: - errors 5 @@ -990,22 +1013,22 @@ attach_one (const char *device_name, int connType) return ret; } - /* see what mode pages device supports */ - ret = init_ms (s); + /* clean up the scanner struct based on model */ + /* this is the only piece of model specific code */ + ret = init_model (s); if (ret != SANE_STATUS_GOOD) { disconnect_fd(s); free (s); - DBG (5, "attach_one: ms failed\n"); + DBG (5, "attach_one: model failed\n"); return ret; } - /* clean up the scanner struct based on model */ - /* this is the only piece of model specific code */ - ret = init_model (s); + /* see what mode pages device supports */ + ret = init_ms (s); if (ret != SANE_STATUS_GOOD) { disconnect_fd(s); free (s); - DBG (5, "attach_one: model failed\n"); + DBG (5, "attach_one: ms failed\n"); return ret; } @@ -1682,6 +1705,9 @@ init_vpd (struct fujitsu *s) DBG (15, " skew check: %d\n", get_IN_skew_check(in)); DBG (15, " new feed roller: %d\n", get_IN_new_fd_roll(in)); + + s->has_adv_paper_prot = get_IN_paper_prot_2(in); + DBG (15, " paper protection: %d\n", s->has_adv_paper_prot); } if (get_IN_page_length (in) > 0x70-5) { @@ -1689,7 +1715,10 @@ init_vpd (struct fujitsu *s) DBG (15, " paper count: %d\n", get_IN_paper_count(in)); DBG (15, " paper number: %d\n", get_IN_paper_number(in)); DBG (15, " ext send to: %d\n", get_IN_ext_send_to(in)); - DBG (15, " staple det: %d\n", get_IN_staple_det(in)); + + s->has_staple_detect = get_IN_staple_det(in); + DBG (15, " staple det: %d\n", s->has_staple_detect); + DBG (15, " pause host: %d\n", get_IN_pause_host(in)); DBG (15, " pause panel: %d\n", get_IN_pause_panel(in)); DBG (15, " pause conf: %d\n", get_IN_pause_conf(in)); @@ -1701,7 +1730,9 @@ init_vpd (struct fujitsu *s) DBG (15, " imprint chk b: %d\n", get_IN_imprint_chk_b(in)); DBG (15, " imprint chk f: %d\n", get_IN_imprint_chk_f(in)); DBG (15, " force w bg: %d\n", get_IN_force_w_bg(in)); - DBG (15, " mf recover lvl: %d\n", get_IN_mf_recover_lvl(in)); + + s->has_df_recovery = get_IN_mf_recover_lvl(in); + DBG (15, " mf recover lvl: %d\n", s->has_df_recovery); DBG (15, " first read time: %d\n", get_IN_first_read_time(in)); DBG (15, " div scanning: %d\n", get_IN_div_scanning(in)); @@ -1720,7 +1751,7 @@ init_vpd (struct fujitsu *s) DBG (15, " sync next feed: %d\n", get_IN_sync_next_feed(in)); s->has_op_halt = get_IN_op_halt(in); - DBG (15, " object postion halt: %d\n", s->has_op_halt); + DBG (15, " object position halt: %d\n", s->has_op_halt); } ret = SANE_STATUS_GOOD; @@ -2014,19 +2045,12 @@ init_model (struct fujitsu *s) /* if scanner has built-in gamma tables, we use the first one (0) */ /* otherwise, we use the first downloaded one (0x80) */ - /* note that you may NOT need to send the table to use it? */ + /* note that you may NOT need to send the table to use it, */ + /* the scanner will fall back to the brightness/contrast LUT */ if (!s->num_internal_gamma && s->num_download_gamma){ s->window_gamma = 0x80; } - /* older scanners would enable their highest */ - /* IPC mode by default. Newer scanners don't, */ - /* so we go ahead and turn it on. */ - if (s->has_sdtc) - s->ipc_mode = WD_ipc_SDTC; - else if (s->has_dtc) - s->ipc_mode = WD_ipc_DTC; - /* endorser type tells string length (among other things) */ if(s->has_endorser_b){ /*old-style is 40 bytes*/ @@ -2141,6 +2165,9 @@ init_model (struct fujitsu *s) else if ( strstr (s->model_name, "M309") || strstr (s->model_name, "M409")){ + /* weirdness */ + s->broken_diag_serial = 1; + /* lies */ s->adbits = 8; } @@ -2160,7 +2187,8 @@ init_model (struct fujitsu *s) s->max_y_fb = 14032; } - else if (strstr (s->model_name, "fi-4750") ) { + else if (strstr (s->model_name,"fi-4340") + || strstr (s->model_name, "fi-4750") ) { /* weirdness */ s->broken_diag_serial = 1; } @@ -2265,10 +2293,8 @@ init_model (struct fujitsu *s) } else if (strstr (s->model_name,"fi-6800") - || strstr (s->model_name,"fi-5900")){ /* guessing this scanner too */ - /* missing from vpd */ - s->has_staple_detect=1; /* may not actually work? */ - s->has_df_recovery=1; + || strstr (s->model_name,"fi-5900")){ + /* do not need overrides */ } else if (strstr (s->model_name,"iX500")){ @@ -2316,6 +2342,8 @@ init_model (struct fujitsu *s) else if (strstr (s->model_name,"fi-7180") || strstr (s->model_name,"fi-7160")){ + /* locks up scanner if we try to auto detect */ + s->has_MS_lamp = 0; /* weirdness */ /* these machines have longer max paper at lower res */ @@ -2325,10 +2353,6 @@ init_model (struct fujitsu *s) s->max_y_by_res[2].len = 260268; s->max_y_by_res[3].res = 200; s->max_y_by_res[3].len = 266268; - - /* missing from vpd */ - s->has_df_recovery=1; - s->has_adv_paper_prot=1; } else if (strstr (s->model_name,"fi-7280") @@ -2344,12 +2368,48 @@ init_model (struct fujitsu *s) s->max_y_by_res[3].len = 266268; /* missing from vpd */ - s->has_df_recovery=1; - s->has_adv_paper_prot=1; s->max_x_fb = 10764; s->max_y_fb = 14032; /* some scanners can be slightly more? */ } + else if (strstr (s->model_name,"fi-7480") + || strstr (s->model_name,"fi-7460")){ + + /* weirdness */ + /* these machines have longer max paper at lower res */ + s->max_y_by_res[1].res = 400; + s->max_y_by_res[1].len = 194268; + s->max_y_by_res[2].res = 300; + s->max_y_by_res[2].len = 260268; + s->max_y_by_res[3].res = 200; + s->max_y_by_res[3].len = 266268; + } + + else if (strstr (s->model_name,"fi-7030")){ + + /* weirdness */ + /* these machines have longer max paper at lower res */ + s->max_y_by_res[1].res = 400; + s->max_y_by_res[1].len = 192000; + s->max_y_by_res[2].res = 300; + s->max_y_by_res[2].len = 258000; + s->max_y_by_res[3].res = 200; + s->max_y_by_res[3].len = 264000; + } + + else if (strstr (s->model_name,"fi-7700") + || strstr (s->model_name,"fi-7600")){ + + /* weirdness */ + /* these machines have longer max paper at lower res */ + s->max_y_by_res[1].res = 400; + s->max_y_by_res[1].len = 192000; + s->max_y_by_res[2].res = 300; + s->max_y_by_res[2].len = 258000; + s->max_y_by_res[3].res = 200; + s->max_y_by_res[3].len = 264000; + } + DBG (10, "init_model: finish\n"); return SANE_STATUS_GOOD; @@ -2439,11 +2499,6 @@ init_user (struct fujitsu *s) s->u_endorser_dir=DIR_TTB; strcpy((char *)s->u_endorser_string,"%05ud"); - /* inverted logic ipc settings */ - s->noise_removal = 1; - s->bp_filter = 1; - s->smoothing = 1; - /* more recent machines default to this being 'on', * * which causes the scanner to ingest multiple pages * * even when the user only wants one */ @@ -3039,8 +3094,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /* gamma */ if(option==OPT_GAMMA){ opt->name = "gamma"; - opt->title = "Gamma function exponent"; - opt->desc = "Changes intensity of midtones"; + opt->title = SANE_I18N ("Gamma function exponent"); + opt->desc = SANE_I18N ("Changes intensity of midtones"); opt->type = SANE_TYPE_FIXED; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_RANGE; @@ -3089,8 +3144,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /* =============== common ipc params ================================ */ if(option==OPT_RIF){ opt->name = "rif"; - opt->title = "RIF"; - opt->desc = "Reverse image format"; + opt->title = SANE_I18N ("RIF"); + opt->desc = SANE_I18N ("Reverse image format"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_rif) @@ -3107,8 +3162,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->ht_type_list[i]=NULL; opt->name = "ht-type"; - opt->title = "Halftone type"; - opt->desc = "Control type of halftone filter"; + opt->title = SANE_I18N ("Halftone type"); + opt->desc = SANE_I18N ("Control type of halftone filter"); opt->type = SANE_TYPE_STRING; opt->unit = SANE_UNIT_NONE; @@ -3128,8 +3183,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_HT_PATTERN){ opt->name = "ht-pattern"; - opt->title = "Halftone pattern"; - opt->desc = "Control pattern of halftone filter"; + opt->title = SANE_I18N ("Halftone pattern"); + opt->desc = SANE_I18N ("Control pattern of halftone filter"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; @@ -3151,8 +3206,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_OUTLINE){ opt->name = "outline"; - opt->title = "Outline"; - opt->desc = "Perform outline extraction"; + opt->title = SANE_I18N ("Outline"); + opt->desc = SANE_I18N ("Perform outline extraction"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_outline) @@ -3163,8 +3218,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_EMPHASIS){ opt->name = "emphasis"; - opt->title = "Emphasis"; - opt->desc = "Negative to smooth or positive to sharpen image"; + opt->title = SANE_I18N ("Emphasis"); + opt->desc = SANE_I18N ("Negative to smooth or positive to sharpen image"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; @@ -3182,8 +3237,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_SEPARATION){ opt->name = "separation"; - opt->title = "Separation"; - opt->desc = "Enable automatic separation of image and text"; + opt->title = SANE_I18N ("Separation"); + opt->desc = SANE_I18N ("Enable automatic separation of image and text"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_autosep) @@ -3194,8 +3249,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_MIRRORING){ opt->name = "mirroring"; - opt->title = "Mirroring"; - opt->desc = "Reflect output image horizontally"; + opt->title = SANE_I18N ("Mirroring"); + opt->desc = SANE_I18N ("Reflect output image horizontally"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_mirroring) @@ -3212,8 +3267,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->wl_follow_list[i]=NULL; opt->name = "wl-follow"; - opt->title = "White level follower"; - opt->desc = "Control white level follower"; + opt->title = SANE_I18N ("White level follower"); + opt->desc = SANE_I18N ("Control white level follower"); opt->type = SANE_TYPE_STRING; opt->unit = SANE_UNIT_NONE; @@ -3227,50 +3282,18 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->cap = SANE_CAP_INACTIVE; } - if(option==OPT_IPC_MODE){ - i=0; - s->ipc_mode_list[i++]=STRING_DEFAULT; - if(s->has_dtc){ - s->ipc_mode_list[i++]=STRING_DTC; - } - if(s->has_sdtc){ - s->ipc_mode_list[i++]=STRING_SDTC; - } - s->ipc_mode_list[i]=NULL; - - opt->name = "ipc-mode"; - opt->title = "IPC mode"; - opt->desc = "Image processing mode, enables additional options"; - opt->type = SANE_TYPE_STRING; - opt->unit = SANE_UNIT_NONE; - - opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; - opt->constraint.string_list = s->ipc_mode_list; - opt->size = maxStringSize (opt->constraint.string_list); - - if ( i > 2 ){ - opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - if(s->s_mode != MODE_HALFTONE && s->s_mode != MODE_LINEART){ - opt->cap |= SANE_CAP_INACTIVE; - } - } - else - opt->cap = SANE_CAP_INACTIVE; - } - /* =============== DTC params ================================ */ /* enabled when in dtc mode (manually or by default) */ if(option==OPT_BP_FILTER){ opt->name = "bp-filter"; - opt->title = "BP filter"; - opt->desc = "Improves quality of high resolution ball-point pen text"; + opt->title = SANE_I18N ("BP filter"); + opt->desc = SANE_I18N ("Improves quality of high resolution ball-point pen text"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if ( s->has_dtc ){ opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - if(s->ipc_mode == WD_ipc_SDTC - || (s->has_sdtc && s->ipc_mode == WD_ipc_DEFAULT)){ + if(get_ipc_mode(s) == WD_ipc_SDTC){ opt->cap |= SANE_CAP_INACTIVE; } } @@ -3280,15 +3303,14 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_SMOOTHING){ opt->name = "smoothing"; - opt->title = "Smoothing"; - opt->desc = "Enable smoothing for improved OCR"; + opt->title = SANE_I18N ("Smoothing"); + opt->desc = SANE_I18N ("Enable smoothing for improved OCR"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if ( s->has_dtc ){ opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - if(s->ipc_mode == WD_ipc_SDTC - || (s->has_sdtc && s->ipc_mode == WD_ipc_DEFAULT)){ + if(get_ipc_mode(s) == WD_ipc_SDTC){ opt->cap |= SANE_CAP_INACTIVE; } } @@ -3298,9 +3320,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_GAMMA_CURVE){ opt->name = "gamma-curve"; - opt->title = "Gamma curve"; - opt->desc = "Gamma curve"; - opt->desc = "Gamma curve, from light to dark, but upper two may not work"; + opt->title = SANE_I18N ("Gamma curve"); + opt->desc = SANE_I18N ("Gamma curve, from light to dark, but upper two may not work"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; @@ -3312,8 +3333,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if ( s->has_dtc ){ opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - if(s->ipc_mode == WD_ipc_SDTC - || (s->has_sdtc && s->ipc_mode == WD_ipc_DEFAULT)){ + if(get_ipc_mode(s) == WD_ipc_SDTC){ opt->cap |= SANE_CAP_INACTIVE; } } @@ -3323,8 +3343,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_THRESHOLD_CURVE){ opt->name = "threshold-curve"; - opt->title = "Threshold curve"; - opt->desc = "Threshold curve, from light to dark, but upper two may not be linear"; + opt->title = SANE_I18N ("Threshold curve"); + opt->desc = SANE_I18N ("Threshold curve, from light to dark, but upper two may not be linear"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; @@ -3336,8 +3356,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if ( s->has_dtc ){ opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - if(s->ipc_mode == WD_ipc_SDTC - || (s->has_sdtc && s->ipc_mode == WD_ipc_DEFAULT)){ + if(get_ipc_mode(s) == WD_ipc_SDTC){ opt->cap |= SANE_CAP_INACTIVE; } } @@ -3347,15 +3366,14 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_THRESHOLD_WHITE){ opt->name = "threshold-white"; - opt->title = "Threshold white"; - opt->desc = "Set pixels equal to threshold to white instead of black"; + opt->title = SANE_I18N ("Threshold white"); + opt->desc = SANE_I18N ("Set pixels equal to threshold to white instead of black"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if ( s->has_dtc ){ opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - if(s->ipc_mode == WD_ipc_SDTC - || (s->has_sdtc && s->ipc_mode == WD_ipc_DEFAULT)){ + if(get_ipc_mode(s) == WD_ipc_SDTC){ opt->cap |= SANE_CAP_INACTIVE; } } @@ -3365,15 +3383,14 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_NOISE_REMOVAL){ opt->name = "noise-removal"; - opt->title = "Noise removal"; - opt->desc = "Noise removal"; + opt->title = SANE_I18N ("Noise removal"); + opt->desc = SANE_I18N ("Noise removal"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if ( s->has_dtc ){ opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - if(s->ipc_mode == WD_ipc_SDTC - || (s->has_sdtc && s->ipc_mode == WD_ipc_DEFAULT)){ + if(get_ipc_mode(s) == WD_ipc_SDTC){ opt->cap |= SANE_CAP_INACTIVE; } } @@ -3383,16 +3400,14 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_MATRIX_5){ opt->name = "matrix-5x5"; - opt->title = "Matrix 5x5"; - opt->desc = "Remove 5 pixel square noise"; + opt->title = SANE_I18N ("Matrix 5x5"); + opt->desc = SANE_I18N ("Remove 5 pixel square noise"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if ( s->has_dtc ){ opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - if( !s->noise_removal - || s->ipc_mode == WD_ipc_SDTC - || (s->has_sdtc && s->ipc_mode == WD_ipc_DEFAULT)){ + if(!s->noise_removal){ opt->cap |= SANE_CAP_INACTIVE; } } @@ -3402,16 +3417,14 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_MATRIX_4){ opt->name = "matrix-4x4"; - opt->title = "Matrix 4x4"; - opt->desc = "Remove 4 pixel square noise"; + opt->title = SANE_I18N ("Matrix 4x4"); + opt->desc = SANE_I18N ("Remove 4 pixel square noise"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if ( s->has_dtc ){ opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - if( !s->noise_removal - || s->ipc_mode == WD_ipc_SDTC - || (s->has_sdtc && s->ipc_mode == WD_ipc_DEFAULT)){ + if(!s->noise_removal){ opt->cap |= SANE_CAP_INACTIVE; } } @@ -3421,16 +3434,14 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_MATRIX_3){ opt->name = "matrix-3x3"; - opt->title = "Matrix 3x3"; - opt->desc = "Remove 3 pixel square noise"; + opt->title = SANE_I18N ("Matrix 3x3"); + opt->desc = SANE_I18N ("Remove 3 pixel square noise"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if ( s->has_dtc ){ opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - if( !s->noise_removal - || s->ipc_mode == WD_ipc_SDTC - || (s->has_sdtc && s->ipc_mode == WD_ipc_DEFAULT)){ + if(!s->noise_removal){ opt->cap |= SANE_CAP_INACTIVE; } } @@ -3440,16 +3451,14 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_MATRIX_2){ opt->name = "matrix-2x2"; - opt->title = "Matrix 2x2"; - opt->desc = "Remove 2 pixel square noise"; + opt->title = SANE_I18N ("Matrix 2x2"); + opt->desc = SANE_I18N ("Remove 2 pixel square noise"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if ( s->has_dtc ){ opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - if( !s->noise_removal - || s->ipc_mode == WD_ipc_SDTC - || (s->has_sdtc && s->ipc_mode == WD_ipc_DEFAULT)){ + if(!s->noise_removal){ opt->cap |= SANE_CAP_INACTIVE; } } @@ -3462,8 +3471,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /* called variance with ipc2, sensitivity with ipc3 */ if(option==OPT_VARIANCE){ opt->name = "variance"; - opt->title = "Variance"; - opt->desc = "Set SDTC variance rate (sensitivity), 0 equals 127"; + opt->title = SANE_I18N ("Variance"); + opt->desc = SANE_I18N ("Set SDTC variance rate (sensitivity), 0 equals 127"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; @@ -3475,7 +3484,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if ( s->has_sdtc ){ opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - if (s->ipc_mode == WD_ipc_DTC){ + if(get_ipc_mode(s) == WD_ipc_DTC){ opt->cap |= SANE_CAP_INACTIVE; } } @@ -3496,8 +3505,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_AWD){ opt->name = "awd"; - opt->title = "Auto width detection"; - opt->desc = "Scanner detects paper sides. May reduce scanning speed."; + opt->title = SANE_I18N ("Auto width detection"); + opt->desc = SANE_I18N ("Scanner detects paper sides. May reduce scanning speed."); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_NONE; @@ -3514,8 +3523,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_ALD){ opt->name = "ald"; - opt->title = "Auto length detection"; - opt->desc = "Scanner detects paper lower edge. May confuse some frontends."; + opt->title = SANE_I18N ("Auto length detection"); + opt->desc = SANE_I18N ("Scanner detects paper lower edge. May confuse some frontends."); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_NONE; @@ -3541,8 +3550,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->compress_list[i]=NULL; opt->name = "compression"; - opt->title = "Compression"; - opt->desc = "Enable compressed data. May crash your front-end program"; + opt->title = SANE_I18N ("Compression"); + opt->desc = SANE_I18N ("Enable compressed data. May crash your front-end program"); opt->type = SANE_TYPE_STRING; opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; opt->constraint.string_list = s->compress_list; @@ -3562,8 +3571,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_COMPRESS_ARG){ opt->name = "compression-arg"; - opt->title = "Compression argument"; - opt->desc = "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) is same as 4"; + opt->title = SANE_I18N ("Compression argument"); + opt->desc = SANE_I18N ("Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) is same as 4"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_RANGE; @@ -3573,7 +3582,9 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(s->has_comp_JPG1){ s->compress_arg_range.min=0; s->compress_arg_range.max=7; +#ifndef SANE_JPEG_DISABLED opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; +#endif if(s->compress != COMP_JPEG){ opt->cap |= SANE_CAP_INACTIVE; @@ -3591,8 +3602,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->df_action_list[3] = NULL; opt->name = "df-action"; - opt->title = "DF action"; - opt->desc = "Action following double feed error"; + opt->title = SANE_I18N ("DF action"); + opt->desc = SANE_I18N ("Action following double feed error"); opt->type = SANE_TYPE_STRING; opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; opt->constraint.string_list = s->df_action_list; @@ -3608,8 +3619,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_DF_SKEW){ opt->name = "df-skew"; - opt->title = "DF skew"; - opt->desc = "Enable double feed error due to skew"; + opt->title = SANE_I18N ("DF skew"); + opt->desc = SANE_I18N ("Enable double feed error due to skew"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_NONE; @@ -3627,8 +3638,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_DF_THICKNESS){ opt->name = "df-thickness"; - opt->title = "DF thickness"; - opt->desc = "Enable double feed error due to paper thickness"; + opt->title = SANE_I18N ("DF thickness"); + opt->desc = SANE_I18N ("Enable double feed error due to paper thickness"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_NONE; @@ -3646,8 +3657,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_DF_LENGTH){ opt->name = "df-length"; - opt->title = "DF length"; - opt->desc = "Enable double feed error due to paper length"; + opt->title = SANE_I18N ("DF length"); + opt->desc = SANE_I18N ("Enable double feed error due to paper length"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_NONE; @@ -3670,8 +3681,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->df_diff_list[4] = NULL; opt->name = "df-diff"; - opt->title = "DF length difference"; - opt->desc = "Difference in page length to trigger double feed error"; + opt->title = SANE_I18N ("DF length difference"); + opt->desc = SANE_I18N ("Difference in page length to trigger double feed error"); opt->type = SANE_TYPE_STRING; opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; opt->constraint.string_list = s->df_diff_list; @@ -3694,8 +3705,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->df_recovery_list[3] = NULL; opt->name = "df-recovery"; - opt->title = "DF recovery mode"; - opt->desc = "Request scanner to reverse feed on paper jam"; + opt->title = SANE_I18N ("DF recovery mode"); + opt->desc = SANE_I18N ("Request scanner to reverse feed on paper jam"); opt->type = SANE_TYPE_STRING; opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; opt->constraint.string_list = s->df_recovery_list; @@ -3714,8 +3725,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->paper_protect_list[3] = NULL; opt->name = "paper-protect"; - opt->title = "Paper protection"; - opt->desc = "Request scanner to predict jams in the ADF"; + opt->title = SANE_I18N ("Paper protection"); + opt->desc = SANE_I18N ("Request scanner to predict jams in the ADF"); opt->type = SANE_TYPE_STRING; opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; opt->constraint.string_list = s->paper_protect_list; @@ -3734,8 +3745,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->adv_paper_prot_list[3] = NULL; opt->name = "adv-paper-protect"; - opt->title = "Advanced paper protection"; - opt->desc = "Request scanner to predict jams in the ADF using improved sensors"; + opt->title = SANE_I18N ("Advanced paper protection"); + opt->desc = SANE_I18N ("Request scanner to predict jams in the ADF using improved sensors"); opt->type = SANE_TYPE_STRING; opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; opt->constraint.string_list = s->adv_paper_prot_list; @@ -3754,8 +3765,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->staple_detect_list[3] = NULL; opt->name = "staple-detect"; - opt->title = "Staple detection"; - opt->desc = "Request scanner to detect jams in the ADF caused by staples"; + opt->title = SANE_I18N ("Staple detection"); + opt->desc = SANE_I18N ("Request scanner to detect jams in the ADF caused by staples"); opt->type = SANE_TYPE_STRING; opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; opt->constraint.string_list = s->staple_detect_list; @@ -3774,8 +3785,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->bg_color_list[3] = NULL; opt->name = "bgcolor"; - opt->title = "Background color"; - opt->desc = "Set color of background for scans. May conflict with overscan option"; + opt->title = SANE_I18N ("Background color"); + opt->desc = SANE_I18N ("Set color of background for scans. May conflict with overscan option"); opt->type = SANE_TYPE_STRING; opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; opt->constraint.string_list = s->bg_color_list; @@ -3795,8 +3806,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->do_color_list[4] = NULL; opt->name = "dropoutcolor"; - opt->title = "Dropout color"; - opt->desc = "One-pass scanners use only one color during gray or binary scanning, useful for colored paper or ink"; + opt->title = SANE_I18N ("Dropout color"); + opt->desc = SANE_I18N ("One-pass scanners use only one color during gray or binary scanning, useful for colored paper or ink"); opt->type = SANE_TYPE_STRING; opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; opt->constraint.string_list = s->do_color_list; @@ -3819,8 +3830,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->buff_mode_list[3] = NULL; opt->name = "buffermode"; - opt->title = "Buffer mode"; - opt->desc = "Request scanner to read pages quickly from ADF into internal memory"; + opt->title = SANE_I18N ("Buffer mode"); + opt->desc = SANE_I18N ("Request scanner to read pages quickly from ADF into internal memory"); opt->type = SANE_TYPE_STRING; opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; opt->constraint.string_list = s->buff_mode_list; @@ -3839,8 +3850,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->prepick_list[3] = NULL; opt->name = "prepick"; - opt->title = "Prepick"; - opt->desc = "Request scanner to grab next page from ADF"; + opt->title = SANE_I18N ("Prepick"); + opt->desc = SANE_I18N ("Request scanner to grab next page from ADF"); opt->type = SANE_TYPE_STRING; opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; opt->constraint.string_list = s->prepick_list; @@ -3859,8 +3870,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->overscan_list[3] = NULL; opt->name = "overscan"; - opt->title = "Overscan"; - opt->desc = "Collect a few mm of background on top side of scan, before paper enters ADF, and increase maximum scan area beyond paper size, to allow collection on remaining sides. May conflict with bgcolor option"; + opt->title = SANE_I18N ("Overscan"); + opt->desc = SANE_I18N ("Collect a few mm of background on top side of scan, before paper enters ADF, and increase maximum scan area beyond paper size, to allow collection on remaining sides. May conflict with bgcolor option"); opt->type = SANE_TYPE_STRING; opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; opt->constraint.string_list = s->overscan_list; @@ -3878,8 +3889,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->sleep_time_range.quant = 1; opt->name = "sleeptimer"; - opt->title = "Sleep timer"; - opt->desc = "Time in minutes until the internal power supply switches to sleep mode"; + opt->title = SANE_I18N ("Sleep timer"); + opt->desc = SANE_I18N ("Time in minutes until the internal power supply switches to sleep mode"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_RANGE; @@ -3897,8 +3908,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->off_time_range.quant = 1; opt->name = "offtimer"; - opt->title = "Off timer"; - opt->desc = "Time in minutes until the internal power supply switches the scanner off. Will be rounded to nearest 15 minutes. Zero means never power off."; + opt->title = SANE_I18N ("Off timer"); + opt->desc = SANE_I18N ("Time in minutes until the internal power supply switches the scanner off. Will be rounded to nearest 15 minutes. Zero means never power off."); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_RANGE; @@ -3916,8 +3927,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->duplex_offset_range.quant = 1; opt->name = "duplexoffset"; - opt->title = "Duplex offset"; - opt->desc = "Adjust front/back offset"; + opt->title = SANE_I18N ("Duplex offset"); + opt->desc = SANE_I18N ("Adjust front/back offset"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_RANGE; @@ -3934,8 +3945,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->green_offset_range.quant = 1; opt->name = "greenoffset"; - opt->title = "Green offset"; - opt->desc = "Adjust green/red offset"; + opt->title = SANE_I18N ("Green offset"); + opt->desc = SANE_I18N ("Adjust green/red offset"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_RANGE; @@ -3952,8 +3963,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->blue_offset_range.quant = 1; opt->name = "blueoffset"; - opt->title = "Blue offset"; - opt->desc = "Adjust blue/red offset"; + opt->title = SANE_I18N ("Blue offset"); + opt->desc = SANE_I18N ("Adjust blue/red offset"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_RANGE; @@ -3966,8 +3977,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_LOW_MEM){ opt->name = "lowmemory"; - opt->title = "Low Memory"; - opt->desc = "Limit driver memory usage for use in embedded systems. Causes some duplex transfers to alternate sides on each call to sane_read. Value of option 'side' can be used to determine correct image. This option should only be used with custom front-end software."; + opt->title = SANE_I18N ("Low Memory"); + opt->desc = SANE_I18N ("Limit driver memory usage for use in embedded systems. Causes some duplex transfers to alternate sides on each call to sane_read. Value of option 'side' can be used to determine correct image. This option should only be used with custom front-end software."); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; opt->size = sizeof(SANE_Word); @@ -3982,8 +3993,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_SIDE){ opt->name = "side"; - opt->title = "Duplex side"; - opt->desc = "Tells which side (0=front, 1=back) of a duplex scan the next call to sane_read will return."; + opt->title = SANE_I18N ("Duplex side"); + opt->desc = SANE_I18N ("Tells which side (0=front, 1=back) of a duplex scan the next call to sane_read will return."); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; opt->size = sizeof(SANE_Word); @@ -3994,8 +4005,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /*deskew and crop by hardware*/ if(option==OPT_HWDESKEWCROP){ opt->name = "hwdeskewcrop"; - opt->title = "Hardware deskew and crop"; - opt->desc = "Request scanner to rotate and crop pages digitally."; + opt->title = SANE_I18N ("Hardware deskew and crop"); + opt->desc = SANE_I18N ("Request scanner to rotate and crop pages digitally."); opt->type = SANE_TYPE_BOOL; if (s->has_hybrid_crop_deskew) opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; @@ -4006,8 +4017,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /*deskew by software*/ if(option==OPT_SWDESKEW){ opt->name = "swdeskew"; - opt->title = "Software deskew"; - opt->desc = "Request driver to rotate skewed pages digitally."; + opt->title = SANE_I18N ("Software deskew"); + opt->desc = SANE_I18N ("Request driver to rotate skewed pages digitally."); opt->type = SANE_TYPE_BOOL; if (1) opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; @@ -4019,8 +4030,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_SWDESPECK){ opt->name = "swdespeck"; - opt->title = "Software despeckle diameter"; - opt->desc = "Maximum diameter of lone dots to remove from scan."; + opt->title = SANE_I18N ("Software despeckle diameter"); + opt->desc = SANE_I18N ("Maximum diameter of lone dots to remove from scan."); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_RANGE; @@ -4039,8 +4050,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /*crop by software*/ if(option==OPT_SWCROP){ opt->name = "swcrop"; - opt->title = "Software crop"; - opt->desc = "Request driver to remove border from pages digitally."; + opt->title = SANE_I18N ("Software crop"); + opt->desc = SANE_I18N ("Request driver to remove border from pages digitally."); opt->type = SANE_TYPE_BOOL; if (1) opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; @@ -4069,8 +4080,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /*halt scanner feeder when cancelling*/ if(option==OPT_HALT_ON_CANCEL){ opt->name = "halt-on-cancel"; - opt->title = "Halt on Cancel"; - opt->desc = "Request driver to halt the paper feed instead of eject during a cancel."; + opt->title = SANE_I18N ("Halt on Cancel"); + opt->desc = SANE_I18N ("Request driver to halt the paper feed instead of eject during a cancel."); opt->type = SANE_TYPE_BOOL; if (s->has_op_halt) opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; @@ -4081,8 +4092,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /* "Endorser" group ------------------------------------------------------ */ if(option==OPT_ENDORSER_GROUP){ opt->name = "endorser-options"; - opt->title = "Endorser Options"; - opt->desc = "Controls for endorser unit"; + opt->title = SANE_I18N ("Endorser Options"); + opt->desc = SANE_I18N ("Controls for endorser unit"); opt->type = SANE_TYPE_GROUP; opt->constraint_type = SANE_CONSTRAINT_NONE; @@ -4093,8 +4104,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_ENDORSER){ opt->name = "endorser"; - opt->title = "Endorser"; - opt->desc = "Enable endorser unit"; + opt->title = SANE_I18N ("Endorser"); + opt->desc = SANE_I18N ("Enable endorser unit"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; opt->size = sizeof(SANE_Word); @@ -4109,8 +4120,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_ENDORSER_BITS){ opt->name = "endorser-bits"; - opt->title = "Endorser bits"; - opt->desc = "Determines maximum endorser counter value."; + opt->title = SANE_I18N ("Endorser bits"); + opt->desc = SANE_I18N ("Determines maximum endorser counter value."); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; opt->size = sizeof(SANE_Word); @@ -4135,8 +4146,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_ENDORSER_VAL){ opt->name = "endorser-val"; - opt->title = "Endorser value"; - opt->desc = "Initial endorser counter value."; + opt->title = SANE_I18N ("Endorser value"); + opt->desc = SANE_I18N ("Initial endorser counter value."); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; opt->size = sizeof(SANE_Word); @@ -4159,8 +4170,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_ENDORSER_STEP){ opt->name = "endorser-step"; - opt->title = "Endorser step"; - opt->desc = "Change endorser counter value by this much for each page."; + opt->title = SANE_I18N ("Endorser step"); + opt->desc = SANE_I18N ("Change endorser counter value by this much for each page."); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; opt->size = sizeof(SANE_Word); @@ -4183,8 +4194,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_ENDORSER_Y){ opt->name = "endorser-y"; - opt->title = "Endorser Y"; - opt->desc = "Endorser print offset from top of paper."; + opt->title = SANE_I18N ("Endorser Y"); + opt->desc = SANE_I18N ("Endorser print offset from top of paper."); opt->type = SANE_TYPE_FIXED; opt->unit = SANE_UNIT_MM; opt->size = sizeof(SANE_Word); @@ -4209,8 +4220,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_ENDORSER_FONT){ opt->name = "endorser-font"; - opt->title = "Endorser font"; - opt->desc = "Endorser printing font."; + opt->title = SANE_I18N ("Endorser font"); + opt->desc = SANE_I18N ("Endorser printing font."); opt->type = SANE_TYPE_STRING; opt->unit = SANE_UNIT_NONE; @@ -4239,8 +4250,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_ENDORSER_DIR){ opt->name = "endorser-dir"; - opt->title = "Endorser direction"; - opt->desc = "Endorser printing direction."; + opt->title = SANE_I18N ("Endorser direction"); + opt->desc = SANE_I18N ("Endorser printing direction."); opt->type = SANE_TYPE_STRING; opt->unit = SANE_UNIT_NONE; @@ -4264,8 +4275,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_ENDORSER_SIDE){ opt->name = "endorser-side"; - opt->title = "Endorser side"; - opt->desc = "Endorser printing side, requires hardware support to change"; + opt->title = SANE_I18N ("Endorser side"); + opt->desc = SANE_I18N ("Endorser printing side, requires hardware support to change"); opt->type = SANE_TYPE_STRING; opt->unit = SANE_UNIT_NONE; @@ -4290,8 +4301,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_ENDORSER_STRING){ opt->name = "endorser-string"; - opt->title = "Endorser string"; - opt->desc = "Endorser alphanumeric print format. %05ud or %08ud at the end will be replaced by counter value."; + opt->title = SANE_I18N ("Endorser string"); + opt->desc = SANE_I18N ("Endorser alphanumeric print format. %05ud or %08ud at the end will be replaced by counter value."); opt->type = SANE_TYPE_STRING; opt->unit = SANE_UNIT_NONE; opt->size = s->endorser_string_len + 1; @@ -4318,8 +4329,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_TOP){ opt->name = "top-edge"; - opt->title = "Top edge"; - opt->desc = "Paper is pulled partly into adf"; + opt->title = SANE_I18N ("Top edge"); + opt->desc = SANE_I18N ("Paper is pulled partly into adf"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status || s->ghs_in_rs) @@ -4330,8 +4341,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_A3){ opt->name = "a3-paper"; - opt->title = "A3 paper"; - opt->desc = "A3 paper detected"; + opt->title = SANE_I18N ("A3 paper"); + opt->desc = SANE_I18N ("A3 paper detected"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) @@ -4342,8 +4353,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_B4){ opt->name = "b4-paper"; - opt->title = "B4 paper"; - opt->desc = "B4 paper detected"; + opt->title = SANE_I18N ("B4 paper"); + opt->desc = SANE_I18N ("B4 paper detected"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) @@ -4354,8 +4365,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_A4){ opt->name = "a4-paper"; - opt->title = "A4 paper"; - opt->desc = "A4 paper detected"; + opt->title = SANE_I18N ("A4 paper"); + opt->desc = SANE_I18N ("A4 paper detected"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) @@ -4366,8 +4377,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_B5){ opt->name = "b5-paper"; - opt->title = "B5 paper"; - opt->desc = "B5 paper detected"; + opt->title = SANE_I18N ("B5 paper"); + opt->desc = SANE_I18N ("B5 paper detected"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) @@ -4390,8 +4401,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_OMR){ opt->name = "omr-df"; - opt->title = "OMR or DF"; - opt->desc = "OMR or double feed detected"; + opt->title = SANE_I18N ("OMR or DF"); + opt->desc = SANE_I18N ("OMR or double feed detected"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) @@ -4414,8 +4425,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_SLEEP){ opt->name = "power-save"; - opt->title = "Power saving"; - opt->desc = "Scanner in power saving mode"; + opt->title = SANE_I18N ("Power saving"); + opt->desc = SANE_I18N ("Scanner in power saving mode"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) @@ -4438,8 +4449,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_MANUAL_FEED){ opt->name = "manual-feed"; - opt->title = "Manual feed"; - opt->desc = "Manual feed selected"; + opt->title = SANE_I18N ("Manual feed"); + opt->desc = SANE_I18N ("Manual feed selected"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) @@ -4462,8 +4473,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_FUNCTION){ opt->name = "function"; - opt->title = "Function"; - opt->desc = "Function character on screen"; + opt->title = SANE_I18N ("Function"); + opt->desc = SANE_I18N ("Function character on screen"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status || s->ghs_in_rs) @@ -4474,8 +4485,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_INK_EMPTY){ opt->name = "ink-low"; - opt->title = "Ink low"; - opt->desc = "Imprinter ink running low"; + opt->title = SANE_I18N ("Ink low"); + opt->desc = SANE_I18N ("Imprinter ink running low"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status && (s->has_endorser_f || s->has_endorser_b)) @@ -4486,8 +4497,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_DOUBLE_FEED){ opt->name = "double-feed"; - opt->title = "Double feed"; - opt->desc = "Double feed detected"; + opt->title = SANE_I18N ("Double feed"); + opt->desc = SANE_I18N ("Double feed detected"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status || s->ghs_in_rs) @@ -4498,8 +4509,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_ERROR_CODE){ opt->name = "error-code"; - opt->title = "Error code"; - opt->desc = "Hardware error code"; + opt->title = SANE_I18N ("Error code"); + opt->desc = SANE_I18N ("Hardware error code"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) @@ -4510,8 +4521,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_SKEW_ANGLE){ opt->name = "skew-angle"; - opt->title = "Skew angle"; - opt->desc = "Requires black background for scanning"; + opt->title = SANE_I18N ("Skew angle"); + opt->desc = SANE_I18N ("Requires black background for scanning"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) @@ -4522,8 +4533,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_INK_REMAIN){ opt->name = "ink-remain"; - opt->title = "Ink remaining"; - opt->desc = "Imprinter ink level"; + opt->title = SANE_I18N ("Ink remaining"); + opt->desc = SANE_I18N ("Imprinter ink level"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status && (s->has_endorser_f || s->has_endorser_b)) @@ -4534,8 +4545,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_DENSITY_SW){ opt->name = "density"; - opt->title = "Density"; - opt->desc = "Density dial"; + opt->title = SANE_I18N ("Density"); + opt->desc = SANE_I18N ("Density dial"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; if (s->ghs_in_rs) @@ -4546,8 +4557,8 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_DUPLEX_SW){ opt->name = "duplex"; - opt->title = "Duplex switch"; - opt->desc = "Duplex switch"; + opt->title = SANE_I18N ("Duplex switch"); + opt->desc = SANE_I18N ("Duplex switch"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->ghs_in_rs) @@ -4749,18 +4760,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, } return SANE_STATUS_GOOD; - case OPT_IPC_MODE: - if(s->ipc_mode == WD_ipc_DEFAULT){ - strcpy (val, STRING_DEFAULT); - } - else if(s->ipc_mode == WD_ipc_DTC){ - strcpy (val, STRING_DTC); - } - else if(s->ipc_mode == WD_ipc_SDTC){ - strcpy (val, STRING_SDTC); - } - return SANE_STATUS_GOOD; - + /* DTC params*/ case OPT_BP_FILTER: *val_p = s->bp_filter; return SANE_STATUS_GOOD; @@ -4801,6 +4801,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, *val_p = s->matrix_2; return SANE_STATUS_GOOD; + /* SDTC params*/ case OPT_VARIANCE: *val_p = s->variance; return SANE_STATUS_GOOD; @@ -5357,6 +5358,14 @@ sane_control_option (SANE_Handle handle, SANE_Int option, if (s->page_width == FIXED_MM_TO_SCANNER_UNIT(val_c)) return SANE_STATUS_GOOD; + /* if full width image, and paper size is changed, + change the image size to match new paper */ + if (s->tl_x == 0 && s->br_x == s->page_width){ + DBG (20, "sane_control_option: br_x tracking page_width\n"); + s->br_x = FIXED_MM_TO_SCANNER_UNIT(val_c); + *info |= SANE_INFO_RELOAD_PARAMS; + } + s->page_width = FIXED_MM_TO_SCANNER_UNIT(val_c); *info |= SANE_INFO_RELOAD_OPTIONS; return SANE_STATUS_GOOD; @@ -5365,6 +5374,14 @@ sane_control_option (SANE_Handle handle, SANE_Int option, if (s->page_height == FIXED_MM_TO_SCANNER_UNIT(val_c)) return SANE_STATUS_GOOD; + /* if full height image, and paper size is changed, + change the image size to match new paper */ + if (s->tl_y == 0 && s->br_y == s->page_height){ + DBG (20, "sane_control_option: br_y tracking page_height\n"); + s->br_y = FIXED_MM_TO_SCANNER_UNIT(val_c); + *info |= SANE_INFO_RELOAD_PARAMS; + } + s->page_height = FIXED_MM_TO_SCANNER_UNIT(val_c); *info |= SANE_INFO_RELOAD_OPTIONS; return SANE_STATUS_GOOD; @@ -5429,48 +5446,35 @@ sane_control_option (SANE_Handle handle, SANE_Int option, s->wl_follow = WD_wl_follow_OFF; return SANE_STATUS_GOOD; - case OPT_IPC_MODE: - if (!strcmp (val, STRING_DEFAULT)) { - tmp = WD_ipc_DEFAULT; - } - else if (!strcmp (val, STRING_DTC)) { - tmp = WD_ipc_DTC; - } - else { - tmp = WD_ipc_SDTC; - } - - if (tmp != s->ipc_mode) - *info |= SANE_INFO_RELOAD_OPTIONS; - - s->ipc_mode = tmp; - return SANE_STATUS_GOOD; - + /* DTC params*/ case OPT_BP_FILTER: s->bp_filter = val_c; + *info |= SANE_INFO_RELOAD_OPTIONS; return SANE_STATUS_GOOD; case OPT_SMOOTHING: s->smoothing = val_c; + *info |= SANE_INFO_RELOAD_OPTIONS; return SANE_STATUS_GOOD; case OPT_GAMMA_CURVE: s->gamma_curve = val_c; + *info |= SANE_INFO_RELOAD_OPTIONS; return SANE_STATUS_GOOD; case OPT_THRESHOLD_CURVE: s->threshold_curve = val_c; + *info |= SANE_INFO_RELOAD_OPTIONS; return SANE_STATUS_GOOD; case OPT_THRESHOLD_WHITE: s->threshold_white = val_c; + *info |= SANE_INFO_RELOAD_OPTIONS; return SANE_STATUS_GOOD; case OPT_NOISE_REMOVAL: - if (val_c != s->noise_removal) - *info |= SANE_INFO_RELOAD_OPTIONS; - s->noise_removal = val_c; + *info |= SANE_INFO_RELOAD_OPTIONS; return SANE_STATUS_GOOD; case OPT_MATRIX_5: @@ -5489,8 +5493,10 @@ sane_control_option (SANE_Handle handle, SANE_Int option, s->matrix_2 = val_c; return SANE_STATUS_GOOD; + /* SDTC params*/ case OPT_VARIANCE: s->variance = val_c; + *info |= SANE_INFO_RELOAD_OPTIONS; return SANE_STATUS_GOOD; /* Advanced Group */ @@ -6681,7 +6687,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) return ret; } -/* set s_param and u_param data based on user settings +/* set s_params and u_params data based on user settings * and scanner capabilities. */ SANE_Status update_params (struct fujitsu * s) @@ -6926,8 +6932,9 @@ sane_start (SANE_Handle handle) if (ret != SANE_STATUS_GOOD) DBG (5, "sane_start: WARNING: cannot send_endorser %d\n", ret); - /* send lut if scanner has no hardware brightness/contrast */ - if (!s->late_lut && (!s->brightness_steps || !s->contrast_steps)){ + /* send lut if scanner has no hardware brightness/contrast, + * or we are going to ask it to use a downloaded gamma table */ + if (!s->late_lut && (!s->brightness_steps || !s->contrast_steps || s->window_gamma & 0x80)){ ret = send_lut(s); if (ret != SANE_STATUS_GOOD) DBG (5, "sane_start: WARNING: cannot early send_lut %d\n", ret); @@ -6940,8 +6947,9 @@ sane_start (SANE_Handle handle) goto errors; } - /* send lut if scanner has no hardware brightness/contrast */ - if (s->late_lut && (!s->brightness_steps || !s->contrast_steps)){ + /* send lut if scanner has no hardware brightness/contrast, + * or we are going to ask it to use a downloaded gamma table */ + if (s->late_lut && (!s->brightness_steps || !s->contrast_steps || s->window_gamma & 0x80)){ ret = send_lut(s); if (ret != SANE_STATUS_GOOD) DBG (5, "sane_start: WARNING: cannot late send_lut %d\n", ret); @@ -7573,15 +7581,15 @@ set_window (struct fujitsu *s) set_WD_separation(desc1,s->separation); set_WD_mirroring(desc1,s->mirroring); - if (s->has_sdtc && s->ipc_mode != WD_ipc_DTC) + if (get_ipc_mode(s) == WD_ipc_SDTC) set_WD_variance(desc1,s->variance); - if ((s->has_dtc && !s->has_sdtc) || s->ipc_mode == WD_ipc_DTC){ - set_WD_filtering(desc1,!s->bp_filter); - set_WD_smoothing(desc1,!s->smoothing); + else if (get_ipc_mode(s) == WD_ipc_DTC){ + set_WD_filtering(desc1,s->bp_filter); + set_WD_smoothing(desc1,s->smoothing); set_WD_gamma_curve(desc1,s->gamma_curve); set_WD_threshold_curve(desc1,s->threshold_curve); - set_WD_noise_removal(desc1,!s->noise_removal); + set_WD_noise_removal(desc1,s->noise_removal); if(s->noise_removal){ set_WD_matrix5x5(desc1,s->matrix_5); set_WD_matrix4x4(desc1,s->matrix_4); @@ -7593,7 +7601,7 @@ set_window (struct fujitsu *s) set_WD_wl_follow(desc1,s->wl_follow); set_WD_subwindow_list(desc1,0); - set_WD_ipc_mode(desc1,s->ipc_mode); + set_WD_ipc_mode(desc1,get_ipc_mode(s)); } else{ @@ -7691,8 +7699,8 @@ get_pixelsize(struct fujitsu *s, int actual) /* when we are called post-scan, the scanner may give * more accurate data in other fields */ if(actual && !s->has_short_pixelsize && get_PSIZE_paper_w(in)){ + DBG(5,"get_pixelsize: Actual width %d -> %d\n", s->s_params.pixels_per_line, get_PSIZE_paper_w(in)); s->s_params.pixels_per_line = get_PSIZE_paper_w(in); - DBG(5,"get_pixelsize: Actual width\n"); } else{ s->s_params.pixels_per_line = get_PSIZE_num_x(in); @@ -7707,8 +7715,8 @@ get_pixelsize(struct fujitsu *s, int actual) /* when we are called post-scan, the scanner may give * more accurate data in other fields */ else if(actual && !s->has_short_pixelsize && get_PSIZE_paper_l(in)){ + DBG(5,"get_pixelsize: Actual length %d -> %d\n", s->s_params.lines, get_PSIZE_paper_l(in)); s->s_params.lines = get_PSIZE_paper_l(in); - DBG(5,"get_pixelsize: Actual length\n"); } else{ s->s_params.lines = get_PSIZE_num_y(in); @@ -9867,6 +9875,43 @@ get_page_height(struct fujitsu *s) return height; } +/* scanners have two different possible IPC + * modes, which enable a different series of + * subordinate options. Rather than provide + * the user with an option to pick the IPC + * mode, we show them the subordinate ones, + * and pick the right mode to match. + */ +static int +get_ipc_mode(struct fujitsu *s) +{ + if ( s->bp_filter + || s->smoothing + || s->gamma_curve + || s->threshold_curve + || s->threshold_white + || s->noise_removal + || s->matrix_5 + || s->matrix_4 + || s->matrix_3 + || s->matrix_2 + ) + return WD_ipc_DTC; + + if(s->variance) + return WD_ipc_SDTC; + + /* special case: 0 threshold should activate IPC */ + if(!s->threshold){ + if(s->has_sdtc) + return WD_ipc_SDTC; + if(s->has_dtc) + return WD_ipc_DTC; + } + + return WD_ipc_DEFAULT; +} + /* s->max_y gives the maximum height of paper which can be scanned * this actually varies by resolution, so a helper to change it */ static int diff --git a/backend/fujitsu.conf.in b/backend/fujitsu.conf.in index b3895ea..5fa0003 100644 --- a/backend/fujitsu.conf.in +++ b/backend/fujitsu.conf.in @@ -121,7 +121,13 @@ usb 0x04c5 0x119e #S1500 & S1500M usb 0x04c5 0x11a2 -#fi-6140Z +#fi-6125 +usb 0x04c5 0x11ee + +#fi-6225 +usb 0x04c5 0x11ef + +#fi-6140Z/fi-6160ZLA usb 0x04c5 0x11f1 #fi-6240Z @@ -157,6 +163,108 @@ usb 0x04c5 0x132e #fi-7260 usb 0x04c5 0x132f +#ScanSnap iX500EE +usb 0x04c5 0x13f3 + #ScanSnap iX100 usb 0x04c5 0x13f4 +#ScanPartner SP25 +usb 0x04c5 0x1409 + +#ScanPartner SP30 +usb 0x04c5 0x140a + +#ScanPartner SP30F +usb 0x04c5 0x140c + +#fi-6140ZLA +usb 0x04c5 0x145f + +#fi-6240ZLA +usb 0x04c5 0x1460 + +#fi-6130ZLA +usb 0x04c5 0x1461 + +#fi-6230ZLA +usb 0x04c5 0x1462 + +#fi-6125ZLA +usb 0x04c5 0x1463 + +#fi-6225ZLA +usb 0x04c5 0x1464 + +#fi-6135ZLA +usb 0x04c5 0x146b + +#fi-6235ZLA +usb 0x04c5 0x146c + +#fi-6120ZLA +usb 0x04c5 0x146d + +#fi-6220ZLA +usb 0x04c5 0x146e + +#N7100 +usb 0x04c5 0x146f + +#fi-6400 +usb 0x04c5 0x14ac + +#fi-7480 +usb 0x04c5 0x14b8 + +#fi-6420 +usb 0x04c5 0x14bd + +#fi-7460 +usb 0x04c5 0x14be + +#fi-7140 +usb 0x04c5 0x14df + +#fi-7240 +usb 0x04c5 0x14e0 + +#fi-7135 +usb 0x04c5 0x14e1 + +#fi-7235 +usb 0x04c5 0x14e2 + +#fi-7130 +usb 0x04c5 0x14e3 + +#fi-7230 +usb 0x04c5 0x14e4 + +#fi-7125 +usb 0x04c5 0x14e5 + +#fi-7225 +usb 0x04c5 0x14e6 + +#fi-7120 +usb 0x04c5 0x14e7 + +#fi-7220 +usb 0x04c5 0x14e8 + +#fi-400F +usb 0x04c5 0x151e + +#fi-7030 +usb 0x04c5 0x151f + +#fi-7700 +usb 0x04c5 0x1520 + +#fi-7600 +usb 0x04c5 0x1521 + +#fi-7700S +usb 0x04c5 0x1522 + diff --git a/backend/fujitsu.h b/backend/fujitsu.h index 6ce1a56..916f069 100644 --- a/backend/fujitsu.h +++ b/backend/fujitsu.h @@ -43,7 +43,6 @@ enum fujitsu_Option OPT_SEPARATION, OPT_MIRRORING, OPT_WL_FOLLOW, - OPT_IPC_MODE, /*IPC/DTC*/ OPT_BP_FILTER, @@ -386,7 +385,6 @@ struct fujitsu SANE_Range ht_pattern_range; SANE_Range emphasis_range; SANE_String_Const wl_follow_list[4]; - SANE_String_Const ipc_mode_list[4]; SANE_Range gamma_curve_range; SANE_Range threshold_curve_range; SANE_Range variance_range; @@ -456,7 +454,6 @@ struct fujitsu int separation; int mirroring; int wl_follow; - int ipc_mode; /* ipc_mode=DTC */ int bp_filter; @@ -534,12 +531,6 @@ struct fujitsu SANE_Parameters u_params; SANE_Parameters s_params; - /* also keep a backup copy, in case the software enhancement code overwrites*/ - /* - SANE_Parameters u_params_bk; - SANE_Parameters s_params_bk; - */ - /* --------------------------------------------------------------------- */ /* values which are set by scanning functions to keep track of pages, etc */ int started; @@ -821,6 +812,7 @@ static int must_downsample (struct fujitsu *s); static int must_fully_buffer (struct fujitsu *s); static int get_page_width (struct fujitsu *s); static int get_page_height (struct fujitsu *s); +static int get_ipc_mode (struct fujitsu *s); static int set_max_y (struct fujitsu *s); static SANE_Status send_lut (struct fujitsu *s); diff --git a/backend/genesys.c b/backend/genesys.c index 984cead..db0a2b2 100644 --- a/backend/genesys.c +++ b/backend/genesys.c @@ -2,7 +2,7 @@ Copyright (C) 2003, 2004 Henning Meier-Geinitz Copyright (C) 2004, 2005 Gerhard Jaeger - Copyright (C) 2004-2015 Stphane Voltz + Copyright (C) 2004-2016 Stphane Voltz Copyright (C) 2005-2009 Pierre Willenbrock Copyright (C) 2006 Laurent Charpentier Copyright (C) 2007 Luke @@ -58,7 +58,7 @@ * SANE backend for Genesys Logic GL646/GL841/GL842/GL843/GL846/GL847/GL124 based scanners */ -#define BUILD 2508 +#define BUILD 2511 #define BACKEND_NAME genesys #include "genesys.h" @@ -387,7 +387,7 @@ sanei_genesys_create_slope_table3 (Genesys_Device * dev, DBG (DBG_proc, "%s: step_type = %d, " - "exposure_time = %d, yres = %g, power_mode = %d\n", __FUNCTION__, step_type, + "exposure_time = %d, yres = %g, power_mode = %d\n", __func__, step_type, exposure_time, yres, power_mode); /* final speed */ @@ -792,7 +792,7 @@ sanei_genesys_exposure_time2 (Genesys_Device * dev, float ydpi, exposure = exposure_by_led; DBG (DBG_info, "%s: ydpi=%d, step=%d, endpixel=%d led=%d, power=%d => exposure=%d\n", - __FUNCTION__, (int)ydpi, step_type, endpixel, exposure_by_led, power_mode, exposure); + __func__, (int)ydpi, step_type, endpixel, exposure_by_led, power_mode, exposure); return exposure; } @@ -928,7 +928,7 @@ genesys_send_offset_and_shading (Genesys_Device * dev, uint8_t * data, int start_address; SANE_Status status; - DBG (DBG_proc, "%s: (size = %d)\n", __FUNCTION__, size); + DBG (DBG_proc, "%s: (size = %d)\n", __func__, size); /* ASIC higher than gl843 doesn't have register 2A/2B, so we route to * a per ASIC shading data loading function if available. @@ -978,7 +978,7 @@ genesys_send_offset_and_shading (Genesys_Device * dev, uint8_t * data, status = sanei_genesys_set_buffer_address (dev, start_address); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to set buffer address: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus (status)); return status; } @@ -986,7 +986,7 @@ genesys_send_offset_and_shading (Genesys_Device * dev, uint8_t * data, status = dev->model->cmd_set->bulk_write_data (dev, 0x3c, data, size); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to send shading table: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to send shading table: %s\n", __func__, sane_strstatus (status)); return status; } @@ -1046,7 +1046,7 @@ sanei_genesys_init_shading_data (Genesys_Device * dev, int pixels_per_line) free (shading_data); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to send shading data: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to send shading data: %s\n", __func__, sane_strstatus (status)); } @@ -1489,7 +1489,7 @@ genesys_coarse_calibration (Genesys_Device * dev) status = dev->model->cmd_set->set_fe (dev, AFE_INIT); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to set frontend: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus (status)); free(all_data); free(calibration_data); @@ -2069,9 +2069,12 @@ genesys_white_shading_calibration (Genesys_Device * dev) /* turn on motor and lamp power */ dev->model->cmd_set->set_lamp_power (dev, dev->calib_reg, SANE_TRUE); dev->model->cmd_set->set_motor_power (dev->calib_reg, motor); - if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) + + /* if needed, go back before doin next scan, by using rewind, registers and + * slopes table are kept intact from previous scan */ + if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK && dev->model->cmd_set->rewind) { - status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE); + status = dev->model->cmd_set->rewind (dev); } status = @@ -2180,7 +2183,7 @@ genesys_dark_white_shading_calibration (Genesys_Device * dev) SANE_Bool motor; - DBG (DBG_proc, "%s: (lines = %d)\n", __FUNCTION__, (unsigned int)dev->calib_lines); + DBG (DBG_proc, "%s: (lines = %d)\n", __func__, (unsigned int)dev->calib_lines); pixels_per_line = dev->calib_pixels; channels = dev->calib_channels; @@ -2193,7 +2196,7 @@ genesys_dark_white_shading_calibration (Genesys_Device * dev) dev->white_average_data = malloc (dev->average_size); if (!dev->white_average_data) { - DBG (DBG_error, "%s: failed to allocate white average memory\n", __FUNCTION__); + DBG (DBG_error, "%s: failed to allocate white average memory\n", __func__); return SANE_STATUS_NO_MEM; } @@ -2203,7 +2206,7 @@ genesys_dark_white_shading_calibration (Genesys_Device * dev) dev->dark_average_data = malloc (channels * 2 * pixels_per_line); if (!dev->dark_average_data) { - DBG (DBG_error, "%s: failed to allocate dark average memory\n", __FUNCTION__); + DBG (DBG_error, "%s: failed to allocate dark average memory\n", __func__); return SANE_STATUS_NO_MEM; } @@ -2212,7 +2215,7 @@ genesys_dark_white_shading_calibration (Genesys_Device * dev) calibration_data = malloc (size); if (!calibration_data) { - DBG (DBG_error, "%s: failed to allocate calibration memory\n", __FUNCTION__); + DBG (DBG_error, "%s: failed to allocate calibration memory\n", __func__); return SANE_STATUS_NO_MEM; } @@ -2233,7 +2236,7 @@ genesys_dark_white_shading_calibration (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { free (calibration_data); - DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus (status)); return status; } @@ -2243,7 +2246,7 @@ genesys_dark_white_shading_calibration (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { free (calibration_data); - DBG (DBG_error, "%s: failed to begin scan: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus (status)); return status; } @@ -2252,7 +2255,7 @@ genesys_dark_white_shading_calibration (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { free (calibration_data); - DBG (DBG_error, "%s: failed to read data: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus (status)); return status; } @@ -2261,7 +2264,7 @@ genesys_dark_white_shading_calibration (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { free (calibration_data); - DBG (DBG_error, "%s: Failed to end scan: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: Failed to end scan: %s\n", __func__, sane_strstatus (status)); return status; } @@ -2434,7 +2437,7 @@ compute_averaged_planar (Genesys_Device * dev, unsigned int x, i, j, br, dk, res, avgpixels, basepixels, val; unsigned int fill,factor; - DBG (DBG_info, "%s: pixels=%d, offset=%d\n", __FUNCTION__, pixels_per_line, o); + DBG (DBG_info, "%s: pixels=%d, offset=%d\n", __func__, pixels_per_line, o); /* initialize result */ memset (shading_data, 0xff, words_per_color * 3 * 2); @@ -2504,9 +2507,9 @@ compute_averaged_planar (Genesys_Device * dev, fill=1; } - DBG (DBG_info, "%s: averaging over %d pixels\n", __FUNCTION__, avgpixels); - DBG (DBG_info, "%s: packing factor is %d\n", __FUNCTION__, factor); - DBG (DBG_info, "%s: fill length is %d\n", __FUNCTION__, fill); + DBG (DBG_info, "%s: averaging over %d pixels\n", __func__, avgpixels); + DBG (DBG_info, "%s: packing factor is %d\n", __func__, factor); + DBG (DBG_info, "%s: fill length is %d\n", __func__, fill); for (x = 0; x <= pixels_per_line - avgpixels; x += avgpixels) { @@ -2903,7 +2906,7 @@ genesys_send_shading_coefficient (Genesys_Device * dev) shading_data = malloc (length); if (!shading_data) { - DBG (DBG_error, "%s: failed to allocate memory\n", __FUNCTION__); + DBG (DBG_error, "%s: failed to allocate memory\n", __func__); return SANE_STATUS_NO_MEM; } memset (shading_data, 0, length); @@ -3071,7 +3074,7 @@ genesys_send_shading_coefficient (Genesys_Device * dev) shading_data = malloc (length); if (!shading_data) { - DBG (DBG_error, "%s: failed to allocate memory\n", __FUNCTION__); + DBG (DBG_error, "%s: failed to allocate memory\n", __func__); return SANE_STATUS_NO_MEM; } memset (shading_data, 0, length); @@ -3121,7 +3124,7 @@ genesys_send_shading_coefficient (Genesys_Device * dev) 256); /* patch_size: contigous extent */ break; default: - DBG (DBG_error, "%s: sensor %d not supported\n", __FUNCTION__, dev->model->ccd_type); + DBG (DBG_error, "%s: sensor %d not supported\n", __func__, dev->model->ccd_type); return SANE_STATUS_UNSUPPORTED; break; } @@ -3131,7 +3134,7 @@ genesys_send_shading_coefficient (Genesys_Device * dev) free (shading_data); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to send shading data: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to send shading data: %s\n", __func__, sane_strstatus (status)); } @@ -3689,7 +3692,7 @@ genesys_sheetfed_calibration (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { dev->model->cmd_set->eject_document (dev); - DBG (DBG_error, "%s: failed eject target: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed eject target: %s\n", __func__, sane_strstatus (status)); return status; } @@ -3821,7 +3824,7 @@ genesys_warmup_lamp (Genesys_Device * dev) /* check if the current chipset implements warmup */ if(dev->model->cmd_set->init_regs_for_warmup==NULL) { - DBG (DBG_error, "%s: init_regs_for_warmup not implemented\n", __FUNCTION__); + DBG (DBG_error, "%s: init_regs_for_warmup not implemented\n", __func__); return status; } @@ -4346,7 +4349,7 @@ genesys_fill_line_interp_buffer (Genesys_Device * dev, uint8_t *work_buffer_dst, if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read %lu bytes (%s)\n", __FUNCTION__, + "%s: failed to read %lu bytes (%s)\n", __func__, (u_long) dev->oe_buffer.size, sane_strstatus (status)); return SANE_STATUS_IO_ERROR; } @@ -4383,7 +4386,7 @@ genesys_fill_line_interp_buffer (Genesys_Device * dev, uint8_t *work_buffer_dst, if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read %lu bytes (%s)\n", __FUNCTION__, + "%s: failed to read %lu bytes (%s)\n", __func__, (u_long) dev->oe_buffer.size, sane_strstatus (status)); return SANE_STATUS_IO_ERROR; } @@ -4417,7 +4420,7 @@ genesys_fill_segmented_buffer (Genesys_Device * dev, uint8_t *work_buffer_dst, s if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read %lu bytes (%s)\n", __FUNCTION__, + "%s: failed to read %lu bytes (%s)\n", __func__, (u_long) dev->oe_buffer.size, sane_strstatus (status)); return SANE_STATUS_IO_ERROR; } @@ -4508,7 +4511,7 @@ genesys_fill_segmented_buffer (Genesys_Device * dev, uint8_t *work_buffer_dst, s if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read %lu bytes (%s)\n", __FUNCTION__, + "%s: failed to read %lu bytes (%s)\n", __func__, (u_long) dev->oe_buffer.size, sane_strstatus (status)); return SANE_STATUS_IO_ERROR; } @@ -5496,7 +5499,7 @@ GENESYS_STATIC char *calibration_filename(Genesys_Device *currdev) snprintf (tmpstr, PATH_MAX, "%s%c.sane%c%s", ptr, PATH_SEP, PATH_SEP, filename); } - DBG (DBG_info, "%s: calibration filename >%s<\n", __FUNCTION__, tmpstr); + DBG (DBG_info, "%s: calibration filename >%s<\n", __func__, tmpstr); return tmpstr; } @@ -5893,7 +5896,7 @@ init_options (Genesys_Scanner * s) DISABLE (OPT_COLOR_FILTER); } - /* calibration stor file name */ + /* calibration store file name */ s->opt[OPT_CALIBRATION_FILE].name = "calibration-file"; s->opt[OPT_CALIBRATION_FILE].title = SANE_I18N ("Calibration file"); s->opt[OPT_CALIBRATION_FILE].desc = SANE_I18N ("Specify the calibration file to use"); @@ -6330,7 +6333,7 @@ probe_genesys_devices (void) free (new_dev); } - DBG(DBG_info, "%s: %d devices currently attached\n", __FUNCTION__, num_devices); + DBG(DBG_info, "%s: %d devices currently attached\n", __func__, num_devices); DBGCOMPLETED; @@ -6545,7 +6548,7 @@ genesys_buffer_image(Genesys_Scanner *s) lines = (SANE_UNFIX (dev->model->y_size) * dev->settings.yres) / MM_PER_INCH; } - DBG (DBG_info, "%s: buffering %d lines of %d bytes\n", __FUNCTION__, lines, + DBG (DBG_info, "%s: buffering %d lines of %d bytes\n", __func__, lines, s->params.bytes_per_line); /* maximum bytes to read */ @@ -6568,7 +6571,7 @@ genesys_buffer_image(Genesys_Scanner *s) { DBG (DBG_error, "%s: digital processing requires too much memory.\nConsider disabling it\n", - __FUNCTION__); + __func__); return SANE_STATUS_NO_MEM; } @@ -6585,7 +6588,7 @@ genesys_buffer_image(Genesys_Scanner *s) if (status != SANE_STATUS_EOF && status != SANE_STATUS_GOOD) { free (s->dev->img_buffer); - DBG (DBG_error, "%s: %s buffering failed\n", __FUNCTION__, + DBG (DBG_error, "%s: %s buffering failed\n", __func__, sane_strstatus (status)); return status; } @@ -6600,7 +6603,7 @@ genesys_buffer_image(Genesys_Scanner *s) { DBG (DBG_error0, "%s: digital processing requires too much memory.\nConsider disabling it\n", - __FUNCTION__); + __func__); return SANE_STATUS_NO_MEM; } } @@ -6627,7 +6630,7 @@ genesys_buffer_image(Genesys_Scanner *s) { DBG (DBG_error0, "%s: digital processing requires too much memory.\nConsider disabling it\n", - __FUNCTION__); + __func__); return SANE_STATUS_NO_MEM; } genesys_gray_lineart (dev, @@ -6669,10 +6672,10 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) DBG_INIT (); DBG (DBG_init, "SANE Genesys backend version %d.%d build %d from %s\n", SANE_CURRENT_MAJOR, V_MINOR, BUILD, PACKAGE_STRING); -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB DBG (DBG_init, "SANE Genesys backend built with libusb-1.0\n"); #endif -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY DBG (DBG_init, "SANE Genesys backend built with libusb\n"); #endif @@ -6942,8 +6945,8 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) tmpstr=calibration_filename(s->dev); s->val[OPT_CALIBRATION_FILE].s = strdup (tmpstr); s->dev->calib_file = strdup (tmpstr); - DBG (DBG_info, "%s: Calibration filename set to:\n", __FUNCTION__); - DBG (DBG_info, "%s: >%s<\n", __FUNCTION__, s->dev->calib_file); + DBG (DBG_info, "%s: Calibration filename set to:\n", __func__); + DBG (DBG_info, "%s: >%s<\n", __func__, s->dev->calib_file); free(tmpstr); /* now open file, fetch calibration records */ @@ -7033,7 +7036,9 @@ sane_close (SANE_Handle handle) FREE_IFNOT_NULL (s->dev->sensor.gamma_table[1]); FREE_IFNOT_NULL (s->dev->sensor.gamma_table[2]); - /* for an handful of bytes .. */ + s->dev->already_initialized = SANE_FALSE; + + /* for an handful of bytes .. */ free ((void *)(size_t)s->opt[OPT_RESOLUTION].constraint.word_list); free (s->val[OPT_SOURCE].s); free (s->val[OPT_MODE].s); @@ -7125,6 +7130,7 @@ get_option_value (Genesys_Scanner * s, int option, void *val) case OPT_DESPECK: case OPT_CONTRAST: case OPT_BRIGHTNESS: + case OPT_EXPIRATION_TIME: *(SANE_Word *) val = s->val[option].w; break; case OPT_CUSTOM_GAMMA: @@ -7245,8 +7251,8 @@ static SANE_Status set_calibration_value (Genesys_Scanner * s, int option, void if (tmp) free (tmp); dev->calib_file = strdup (val); - DBG (DBG_info, "%s: Calibration filename set to:\n", __FUNCTION__); - DBG (DBG_info, "%s: >%s<\n", __FUNCTION__, s->dev->calib_file); + DBG (DBG_info, "%s: Calibration filename set to:\n", __func__); + DBG (DBG_info, "%s: >%s<\n", __func__, s->dev->calib_file); DBGCOMPLETED; return SANE_STATUS_GOOD; @@ -7536,7 +7542,7 @@ set_option_value (Genesys_Scanner * s, int option, void *val, { DBG (DBG_error, "%s: failed to disable power saving mode: %s\n", - __FUNCTION__, sane_strstatus (status)); + __func__, sane_strstatus (status)); } else status = genesys_scanner_calibration (s->dev); diff --git a/backend/genesys.conf.in b/backend/genesys.conf.in index 7899455..5273d51 100644 --- a/backend/genesys.conf.in +++ b/backend/genesys.conf.in @@ -2,7 +2,7 @@ # # scanners that are not yet supported -# uncomment them only for developpment purpose +# uncomment them only for development purpose # # UMAX Astra 4500 and Avision iVina 1600 diff --git a/backend/genesys_conv.c b/backend/genesys_conv.c index 0346ad6..61f466e 100644 --- a/backend/genesys_conv.c +++ b/backend/genesys_conv.c @@ -1,7 +1,7 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2005, 2006 Pierre Willenbrock - Copyright (C) 2010-2013 Stphane Voltz + Copyright (C) 2010-2013 Stéphane Voltz This file is part of the SANE package. @@ -295,7 +295,7 @@ genesys_shrink_lines_1 ( else { /* TODO: since depth is 1, we must interpolate bit within bytes */ - DBG (DBG_warn, "%s: inaccurate bit expansion!\n", __FUNCTION__); + DBG (DBG_warn, "%s: inaccurate bit expansion!\n", __func__); cnt = dst_pixels / 2; dst_x = 0; for (src_x = 0; src_x < src_pixels; src_x++) @@ -332,7 +332,7 @@ genesys_crop(Genesys_Scanner *s) int left = 0; int right = 0; - DBG (DBG_proc, "%s: start\n", __FUNCTION__); + DBG (DBG_proc, "%s: start\n", __func__); /* first find edges if any */ status = sanei_magic_findEdges (&s->params, @@ -345,10 +345,10 @@ genesys_crop(Genesys_Scanner *s) &right); if (status != SANE_STATUS_GOOD) { - DBG (DBG_info, "%s: bad or no edges, bailing\n", __FUNCTION__); + DBG (DBG_info, "%s: bad or no edges, bailing\n", __func__); goto cleanup; } - DBG (DBG_io, "%s: t:%d b:%d l:%d r:%d\n", __FUNCTION__, top, bottom, left, + DBG (DBG_io, "%s: t:%d b:%d l:%d r:%d\n", __func__, top, bottom, left, right); /* now crop the image */ @@ -356,7 +356,7 @@ genesys_crop(Genesys_Scanner *s) sanei_magic_crop (&(s->params), dev->img_buffer, top, bottom, left, right); if (status) { - DBG (DBG_warn, "%s: failed to crop\n", __FUNCTION__); + DBG (DBG_warn, "%s: failed to crop\n", __func__); goto cleanup; } @@ -364,7 +364,7 @@ genesys_crop(Genesys_Scanner *s) dev->total_bytes_to_read = s->params.bytes_per_line * s->params.lines; cleanup: - DBG (DBG_proc, "%s: completed\n", __FUNCTION__); + DBG (DBG_proc, "%s: completed\n", __func__); return SANE_STATUS_GOOD; } @@ -382,7 +382,7 @@ genesys_deskew(Genesys_Scanner *s) int x = 0, y = 0, bg; double slope = 0; - DBG (DBG_proc, "%s: start\n", __FUNCTION__); + DBG (DBG_proc, "%s: start\n", __func__); bg=0; if(s->params.format==SANE_FRAME_GRAY && s->params.depth == 1) @@ -398,10 +398,10 @@ genesys_deskew(Genesys_Scanner *s) &slope); if (status!=SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: bad findSkew, bailing\n", __FUNCTION__); + DBG (DBG_error, "%s: bad findSkew, bailing\n", __func__); return SANE_STATUS_GOOD; } - DBG(DBG_info, "%s: slope=%f => %f\n",__FUNCTION__,slope, (slope/M_PI_2)*90); + DBG(DBG_info, "%s: slope=%f => %f\n",__func__,slope, (slope/M_PI_2)*90); /* rotate image slope is in [-PI/2,PI/2] * positive values rotate trigonometric direction wise */ status = sanei_magic_rotate (&s->params, @@ -412,10 +412,10 @@ genesys_deskew(Genesys_Scanner *s) bg); if (status!=SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: rotate error: %s", __FUNCTION__, sane_strstatus(status)); + DBG (DBG_error, "%s: rotate error: %s", __func__, sane_strstatus(status)); } - DBG (DBG_proc, "%s: completed\n", __FUNCTION__); + DBG (DBG_proc, "%s: completed\n", __func__); return SANE_STATUS_GOOD; } @@ -430,7 +430,7 @@ genesys_despeck(Genesys_Scanner *s) s->dev->img_buffer, s->val[OPT_DESPECK].w)!=SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: bad despeck, bailing\n",__FUNCTION__); + DBG (DBG_error, "%s: bad despeck, bailing\n",__func__); } return SANE_STATUS_GOOD; @@ -454,7 +454,7 @@ genesys_derotate (Genesys_Scanner * s) if (status) { - DBG (DBG_warn, "%s: failed : %d\n", __FUNCTION__, status); + DBG (DBG_warn, "%s: failed : %d\n", __func__, status); DBGCOMPLETED; return SANE_STATUS_GOOD; } @@ -463,7 +463,7 @@ genesys_derotate (Genesys_Scanner * s) status = sanei_magic_turn (&s->params, s->dev->img_buffer, angle); if (status) { - DBG (DBG_warn, "%s: failed : %d\n", __FUNCTION__, status); + DBG (DBG_warn, "%s: failed : %d\n", __func__, status); DBGCOMPLETED; return SANE_STATUS_GOOD; } diff --git a/backend/genesys_devices.c b/backend/genesys_devices.c index 775ffb6..11f2579 100644 --- a/backend/genesys_devices.c +++ b/backend/genesys_devices.c @@ -3,12 +3,12 @@ Copyright (C) 2003 Oliver Rauch Copyright (C) 2003-2005 Henning Meier-Geinitz Copyright (C) 2004, 2005 Gerhard Jaeger - Copyright (C) 2004-2013 Stphane Voltz + Copyright (C) 2004-2013 Stéphane Voltz Copyright (C) 2005-2009 Pierre Willenbrock Copyright (C) 2007 Luke Copyright (C) 2010 Jack McGill Copyright (C) 2010 Andrey Loginov , - xerox travelscan device entry + xerox travelscan device entry Copyright (C) 2010 Chris Berry and Michael Rickmann for Plustek Opticbook 3600 support @@ -64,28 +64,28 @@ static Genesys_Frontend Wolfson[] = { , {0x02, 0x02, 0x02} , {0x00, 0x00, 0x00} } - , /* 0: UMAX */ + , /* 0: UMAX */ {DAC_WOLFSON_ST12, {0x00, 0x03, 0x05, 0x03} , {0x00, 0x00, 0x00} , {0xc8, 0xc8, 0xc8} , {0x04, 0x04, 0x04} , {0x00, 0x00, 0x00} } - , /* 1: ST12 */ + , /* 1: ST12 */ {DAC_WOLFSON_ST24,{0x00, 0x03, 0x05, 0x21} , {0x00, 0x00, 0x00} , {0xc8, 0xc8, 0xc8} , {0x06, 0x06, 0x06} , {0x00, 0x00, 0x00} } - , /* 2: ST24 */ + , /* 2: ST24 */ {DAC_WOLFSON_5345,{0x00, 0x03, 0x05, 0x12} , {0x00, 0x00, 0x00} , {0xb8, 0xb8, 0xb8} , {0x04, 0x04, 0x04} , {0x00, 0x00, 0x00} } - , /* 3: MD6228/MD6471 */ + , /* 3: MD6228/MD6471 */ {DAC_WOLFSON_HP2400, /* reg0 reg1 reg2 reg3 */ {0x00, 0x03, 0x05, 0x02} /* reg3=0x02 for 50-600 dpi, 0x32 (0x12 also works well) at 1200 */ @@ -94,7 +94,7 @@ static Genesys_Frontend Wolfson[] = { , {0x06, 0x09, 0x08} , {0x00, 0x00, 0x00} } - , /* 4: HP2400c */ + , /* 4: HP2400c */ {DAC_WOLFSON_HP2300, {0x00, 0x03, 0x04, 0x02} , {0x00, 0x00, 0x00} @@ -102,16 +102,16 @@ static Genesys_Frontend Wolfson[] = { , {0x04, 0x04, 0x04} , {0x00, 0x00, 0x00} } - , /* 5: HP2300c */ + , /* 5: HP2300c */ {DAC_CANONLIDE35,{0x00, 0x3d, 0x08, 0x00} , {0x00, 0x00, 0x00} , {0xe1, 0xe1, 0xe1} , {0x93, 0x93, 0x93} , {0x00, 0x19, 0x06} } - , /* 6: CANONLIDE35 */ + , /* 6: CANONLIDE35 */ {DAC_AD_XP200, - {0x58, 0x80, 0x00, 0x00} /* reg1=0x80 ? */ + {0x58, 0x80, 0x00, 0x00} /* reg1=0x80 ? */ , {0x00, 0x00, 0x00} , {0x09, 0x09, 0x09} , {0x09, 0x09, 0x09} @@ -124,7 +124,7 @@ static Genesys_Frontend Wolfson[] = { , {0x93, 0x93, 0x93} , {0x07, 0x00, 0x00} } - , /* 8: HP3670 */ + , /* 8: HP3670 */ {DAC_WOLFSON_HP3670, /* reg0 reg1 reg2 reg3 */ {0x00, 0x03, 0x05, 0x32} /* reg3=0x32 for 100-300 dpi, 0x12 at 1200 */ @@ -156,7 +156,7 @@ static Genesys_Frontend Wolfson[] = { , {0x2f, 0x04, 0x00} , {0x00, 0x00, 0x00} } - , /* KV-SS080 */ + , /* KV-SS080 */ {DAC_KVSS080, {0x00, 0x23, 0x24, 0x0f} , {0x00, 0x00, 0x00} @@ -168,7 +168,7 @@ static Genesys_Frontend Wolfson[] = { {DAC_G4050, {0x00, 0x23, 0x24, 0x1f} , {0x00, 0x00, 0x00} - , {0x45, 0x45, 0x45} /* 0x20, 0x21, 0x22 */ + , {0x45, 0x45, 0x45} /* 0x20, 0x21, 0x22 */ , {0x4b, 0x4b, 0x4b} /* 0x28, 0x29, 0x2a */ , {0x00,0x00,0x00} } @@ -181,6 +181,22 @@ static Genesys_Frontend Wolfson[] = { , {0x00, 0x00, 0x00} } , + /** @brief GL124 special case + * for GL124 based scanners, this struct is "abused" + * in fact the fields are map like below to AFE registers + * (from Texas Instrument or alike ?) + */ + {DAC_CANONLIDE120, + {0x80, + /* 0001 0002 0003 */ + 0xa3, 0x2b, 0x4c} + /* 0005 0006 0007 */ + , {0x00, 0xca, 0x95} + , {0x00, 0x00, 0x00} + , {0x00, 0x00, 0x00} + , {0x00, 0x00, 0x00} + } + , {DAC_PLUSTEK_3600, {0x70, 0x80, 0x00, 0x00} , {0x00, 0x00, 0x00} @@ -192,7 +208,7 @@ static Genesys_Frontend Wolfson[] = { {DAC_CS8400F, {0x00, 0x23, 0x24, 0x0f} , {0x00, 0x00, 0x00} - , {0x60, 0x5c, 0x6c} /* 0x20, 0x21, 0x22 */ + , {0x60, 0x5c, 0x6c} /* 0x20, 0x21, 0x22 */ , {0x8a, 0x9f, 0xc2} /* 0x28, 0x29, 0x2a */ , {0x00, 0x00, 0x00} } @@ -200,7 +216,7 @@ static Genesys_Frontend Wolfson[] = { {DAC_IMG101, {0x78, 0xf0, 0x00, 0x00} , {0x00, 0x00, 0x00} - , {0x00, 0x00, 0x00} /* 0x20, 0x21, 0x22 */ + , {0x00, 0x00, 0x00} /* 0x20, 0x21, 0x22 */ , {0x00, 0x00, 0x00} /* 0x28, 0x29, 0x2a */ , {0x00, 0x00, 0x00} } @@ -208,7 +224,7 @@ static Genesys_Frontend Wolfson[] = { {DAC_PLUSTEK3800, {0x78, 0xf0, 0x00, 0x00} , {0x00, 0x00, 0x00} - , {0x00, 0x00, 0x00} /* 0x20, 0x21, 0x22 */ + , {0x00, 0x00, 0x00} /* 0x20, 0x21, 0x22 */ , {0x00, 0x00, 0x00} /* 0x28, 0x29, 0x2a */ , {0x00, 0x00, 0x00} }, @@ -296,7 +312,7 @@ static Genesys_Sensor Sensor[] = { {CCD_HP2300, 600, 48, - 20, 0, 5368, 180, 180, /* 5376 */ + 20, 0, 5368, 180, 180, /* 5376 */ {0x16, 0x00, 0x01, 0x03} , {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x0a, 0x20, 0x2a, 0x6a, 0x8a, 0x00, 0x05} , {0x0f, 0x13, 0x17, 0x03, 0x07, 0x0b, 0x83, 0x00, 0xc1, 0x06, 0x0b, 0x10, 0x16} , @@ -307,21 +323,21 @@ static Genesys_Sensor Sensor[] = { /* CANOLIDE35 */ {CCD_CANONLIDE35, 1200, - 87, /* (black) */ - 87, /* (dummy) */ - 0, /* (startxoffset) */ - 10400, /* sensor_pixels */ + 87, /* (black) */ + 87, /* (dummy) */ + 0, /* (startxoffset) */ + 10400, /* sensor_pixels */ 0, 0, {0x00, 0x00, 0x00, 0x00}, {0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x50, - 0x00, 0x00, 0x00, 0x02 /* TODO(these do no harm, but may be neccessery for CCD) */ + 0x00, 0x00, 0x00, 0x02 /* TODO(these do no harm, but may be neccessery for CCD) */ }, {0x05, 0x07, - 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ + 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ 0x3a, 0x03, - 0x40, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x00 /*TODO (these do no harm, but may be neccessery for CCD) */ + 0x40, /*TODO: bit7 */ + 0x00, 0x00, 0x00, 0x00 /*TODO (these do no harm, but may be neccessery for CCD) */ } , {1.0, 1.0, 1.0}, @@ -353,10 +369,10 @@ static Genesys_Sensor Sensor[] = { , /* Syscan DP 665 */ {CCD_DP665, 600, - 27, /*(black) */ - 27, /* (dummy) */ - 0, /* (startxoffset) */ - 2496, /*sensor_pixels */ + 27, /*(black) */ + 27, /* (dummy) */ + 0, /* (startxoffset) */ + 2496, /*sensor_pixels */ 210, 200, {0x00, 0x00, 0x00, 0x00}, @@ -364,10 +380,10 @@ static Genesys_Sensor Sensor[] = { 0x10, 0x00, 0x20, 0x02 }, {0x04, 0x05, - 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ + 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ 0x54, 0x03, - 0x00, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ + 0x00, /*TODO: bit7 */ + 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ } , {1.0, 1.0, 1.0}, @@ -376,10 +392,10 @@ static Genesys_Sensor Sensor[] = { , /* Visioneer Roadwarrior */ {CCD_ROADWARRIOR, 600, - 27, /*(black) */ - 27, /* (dummy) */ - 0, /* (startxoffset) */ - 5200, /*sensor_pixels */ + 27, /*(black) */ + 27, /* (dummy) */ + 0, /* (startxoffset) */ + 5200, /*sensor_pixels */ 210, 200, {0x00, 0x00, 0x00, 0x00}, @@ -387,10 +403,10 @@ static Genesys_Sensor Sensor[] = { 0x10, 0x00, 0x20, 0x02 }, {0x04, 0x05, - 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ + 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ 0x54, 0x03, - 0x00, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ + 0x00, /*TODO: bit7 */ + 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ } , {1.0, 1.0, 1.0}, @@ -399,10 +415,10 @@ static Genesys_Sensor Sensor[] = { , /* Pentax DS Mobile 600 */ {CCD_DSMOBILE600, 600, - 28, /*(black) */ - 28, /* (dummy) */ - 0, /* (startxoffset) */ - 5200, /*sensor_pixels */ + 28, /*(black) */ + 28, /* (dummy) */ + 0, /* (startxoffset) */ + 5200, /*sensor_pixels */ 210, 200, {0x00, 0x00, 0x00, 0x00}, @@ -410,10 +426,10 @@ static Genesys_Sensor Sensor[] = { 0x10, 0x00, 0x20, 0x02 }, {0x04, 0x05, - 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ + 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ 0x54, 0x03, - 0x00, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ + 0x00, /*TODO: bit7 */ + 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ } , {1.0, 1.0, 1.0}, @@ -422,10 +438,10 @@ static Genesys_Sensor Sensor[] = { , /* 13: Strobe XP300 */ {CCD_XP300, 600, - 27, /*(black) */ - 27, /* (dummy) */ - 0, /* (startxoffset) */ - 10240, /*sensor_pixels */ + 27, /*(black) */ + 27, /* (dummy) */ + 0, /* (startxoffset) */ + 10240, /*sensor_pixels */ 210, 200, {0x00, 0x00, 0x00, 0x00}, @@ -433,10 +449,10 @@ static Genesys_Sensor Sensor[] = { 0x10, 0x00, 0x20, 0x02 }, {0x04, 0x05, - 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ + 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ 0x54, 0x03, - 0x00, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ + 0x00, /*TODO: bit7 */ + 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ } , {1.0, 1.0, 1.0}, @@ -445,10 +461,10 @@ static Genesys_Sensor Sensor[] = { , /* 13: Strobe XP300 */ {CCD_DP685, 600, - 27, /*(black) */ - 27, /* (dummy) */ - 0, /* (startxoffset) */ - 5020, /*sensor_pixels */ + 27, /*(black) */ + 27, /* (dummy) */ + 0, /* (startxoffset) */ + 5020, /*sensor_pixels */ 210, 200, {0x00, 0x00, 0x00, 0x00}, @@ -456,10 +472,10 @@ static Genesys_Sensor Sensor[] = { 0x10, 0x00, 0x20, 0x02 }, {0x04, 0x05, - 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ + 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ 0x54, 0x03, - 0x00, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ + 0x00, /*TODO: bit7 */ + 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ } , {1.0, 1.0, 1.0}, @@ -468,10 +484,10 @@ static Genesys_Sensor Sensor[] = { , /* CANONLIDE200 */ {CIS_CANONLIDE200, - 4800, /* optical resolution */ - 87*4, /* black pixels */ - 16*4, /* dummy pixels */ - 320*8, /* CCD_startx_offset 323 */ + 4800, /* optical resolution */ + 87*4, /* black pixels */ + 16*4, /* dummy pixels */ + 320*8, /* CCD_startx_offset 323 */ 5136*8, 210, 200, @@ -494,11 +510,11 @@ static Genesys_Sensor Sensor[] = { , /* CANONLIDE700 */ {CIS_CANONLIDE700, - 4800, /* optical resolution */ - 73*8, /* black pixels 73 at 600 dpi */ - 16*8, /* dummy pixels */ - 384*8, /* CCD_startx_offset 384 at 600 dpi */ - 5188*8, /* 8x5570 segments , 5187+1 for rounding */ + 4800, /* optical resolution */ + 73*8, /* black pixels 73 at 600 dpi */ + 16*8, /* dummy pixels */ + 384*8, /* CCD_startx_offset 384 at 600 dpi */ + 5188*8, /* 8x5570 segments , 5187+1 for rounding */ 210, 200, {0x00, 0x00, 0x00, 0x00}, @@ -520,10 +536,10 @@ static Genesys_Sensor Sensor[] = { , /* CANONLIDE100 */ {CIS_CANONLIDE100, - 2400, /* optical resolution */ - 87*4, /* black pixels */ - 16*4, /* dummy pixels 16 */ - 320*4, /* 323 */ + 2400, /* optical resolution */ + 87*4, /* black pixels */ + 16*4, /* dummy pixels 16 */ + 320*4, /* 323 */ 5136*4, /* 10272 */ 210, 200, @@ -565,8 +581,8 @@ static Genesys_Sensor Sensor[] = { , {CCD_G4050, 4800, - 50*8, /* black_pixels */ - 58, /* 31 at 600 dpi dummy_pixels 58 at 1200 */ + 50*8, /* black_pixels */ + 58, /* 31 at 600 dpi dummy_pixels 58 at 1200 */ 152, 5360*8, /* 5360 max at 600 dpi */ 160, @@ -583,8 +599,8 @@ static Genesys_Sensor Sensor[] = { , {CCD_CS4400F, 4800, - 50*8, /* black_pixels */ - 20, /* 31 at 600 dpi dummy_pixels 58 at 1200 */ + 50*8, /* black_pixels */ + 20, /* 31 at 600 dpi dummy_pixels 58 at 1200 */ 152, 5360*8, /* 5360 max at 600 dpi */ 160, @@ -601,8 +617,8 @@ static Genesys_Sensor Sensor[] = { , {CCD_CS8400F, 4800, - 50*8, /* black_pixels */ - 20, /* 31 at 600 dpi dummy_pixels 58 at 1200 */ + 50*8, /* black_pixels */ + 20, /* 31 at 600 dpi dummy_pixels 58 at 1200 */ 152, 5360*8, /* 5360 max at 600 dpi */ 160, @@ -639,11 +655,11 @@ static Genesys_Sensor Sensor[] = { /* CANONLIDE110 */ {CIS_CANONLIDE110, - 2400, /* optical resolution */ - 87, /* black pixels */ - 16, /* dummy pixels 16 */ - 303, /* 303 */ - 5168*4, /* total pixels */ + 2400, /* optical resolution */ + 87, /* black pixels */ + 16, /* dummy pixels 16 */ + 303, /* 303 */ + 5168*4, /* total pixels */ 210, 200, {0x00, 0x00, 0x00, 0x00}, @@ -663,22 +679,25 @@ static Genesys_Sensor Sensor[] = { /* CANONLIDE120 */ {CIS_CANONLIDE120, - 2400, /* optical resolution */ - 87, /* black pixels */ - 16, /* dummy pixels 16 */ - 303, /* 303 */ - 5168*4, /* total pixels */ + 2400, /* optical resolution */ + 87, /* black pixels */ + 16, /* dummy pixels 16 */ + 303, + /* SEGCNT at 600 DPI by number of segments */ + 5104*4, /* total pixels */ 210, 200, {0x00, 0x00, 0x00, 0x00}, /* reg 0x10 - 0x15 : EXPR, EXPG and EXPB */ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* reg 0x16 - 0x1d */ - 0x10, 0x04, 0x00, 0x01, 0x30, 0x00, 0x02, 0x01 }, + 0x15, 0x04, 0x00, 0x01, 0x30, 0x00, 0x02, 0x01 }, /* reg 0x52 - 0x5e */ { - 0x00, 0x02, 0x04, 0x06, 0x04, 0x04, 0x04, 0x04, - 0x1a, 0x00, 0xc0, 0x00, 0x00 + /* 52 53 54 55 56 57 58 59 */ + 0x04, 0x06, 0x00, 0x02, 0x04, 0x04, 0x04, 0x04, + /* 5a 5b 5c 5d 5e */ + 0x3a, 0x00, 0x00, 0x00, 0x1f } , {2.1, 2.1, 2.1}, @@ -686,11 +705,11 @@ static Genesys_Sensor Sensor[] = { , /* CANON LIDE 210 sensor */ {CIS_CANONLIDE210, - 2400, /* optical resolution */ - 87, /* black pixels */ - 16, /* dummy pixels 16 */ - 303, /* 303 */ - 5168*4, /* total pixels */ + 2400, /* optical resolution */ + 87, /* black pixels */ + 16, /* dummy pixels 16 */ + 303, /* 303 */ + 5168*4, /* total pixels */ 210, 200, {0x00, 0x00, 0x00, 0x00}, @@ -709,11 +728,11 @@ static Genesys_Sensor Sensor[] = { , /* CANON LIDE 220 sensor */ {CIS_CANONLIDE220, - 2400, /* optical resolution */ - 87, /* black pixels */ - 16, /* dummy pixels 16 */ - 303, /* 303 */ - 5168*4, /* total pixels */ + 2400, /* optical resolution */ + 87, /* black pixels */ + 16, /* dummy pixels 16 */ + 303, /* 303 */ + 5168*4, /* total pixels */ 210, 200, {0x00, 0x00, 0x00, 0x00}, @@ -732,21 +751,21 @@ static Genesys_Sensor Sensor[] = { , {CCD_PLUSTEK_3600, 1200, - 87, /*(black) */ - 87, /* (dummy) */ - 0, /* (startxoffset) */ - 10100, /*sensor_pixels */ + 87, /*(black) */ + 87, /* (dummy) */ + 0, /* (startxoffset) */ + 10100, /*sensor_pixels */ 210, 230, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x0b, 0x11, 0x2a, - 0x00, 0x00, 0x00, 0xc4 /* TODO(these do no harm, but may be neccessery for CCD) */ + 0x00, 0x00, 0x00, 0xc4 /* TODO(these do no harm, but may be neccessery for CCD) */ }, {0x07, 0x0a, - 0x0c, 0x00, 0x02, 0x06, /*[GB](HI|LOW) not needed for cis */ + 0x0c, 0x00, 0x02, 0x06, /*[GB](HI|LOW) not needed for cis */ 0x22, 0x69, - 0x40, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x02 /*TODO (these do no harm, but may be neccessery for CCD) */ + 0x40, /*TODO: bit7 */ + 0x00, 0x00, 0x00, 0x02 /*TODO (these do no harm, but may be neccessery for CCD) */ } , {1.0, 1.0, 1.0}, @@ -754,7 +773,7 @@ static Genesys_Sensor Sensor[] = { , /* Canon Image formula 101 */ {CCD_IMG101, - 1200, /* optical resolution */ + 1200, /* optical resolution */ 31, 31, 0, @@ -781,7 +800,7 @@ static Genesys_Sensor Sensor[] = { , /* Plustek OpticBook 3800 */ {CCD_PLUSTEK3800, - 1200, /* optical resolution */ + 1200, /* optical resolution */ 31, 31, 0, @@ -857,7 +876,7 @@ static Genesys_Gpo Gpo[] = { /* MD5345/MD6471 */ {GPO_5345, {0x30, 0x18} - , /* bits 11-12 are for bipolar V-ref input voltage */ + , /* bits 11-12 are for bipolar V-ref input voltage */ {0xa0, 0x18} , } @@ -921,7 +940,7 @@ static Genesys_Gpo Gpo[] = { }, /* CANONLIDE200 */ {GPO_CANONLIDE200, - {0xfb, 0x20}, /* 0xfb when idle , 0xf9/0xe9 (1200) when scanning */ + {0xfb, 0x20}, /* 0xfb when idle , 0xf9/0xe9 (1200) when scanning */ {0xff, 0x00}, }, /* CANONLIDE700 */ @@ -951,6 +970,12 @@ static Genesys_Gpo Gpo[] = { {0xff, 0x00}, } , + /* CANONLIDE120 */ + {GPO_CANONLIDE120, + {0xfb, 0x20}, + {0xff, 0x00}, + } + , /* CANONLIDE210 */ {GPO_CANONLIDE210, {0xfb, 0x20}, @@ -997,15 +1022,15 @@ static Genesys_Gpo Gpo[] = { static Genesys_Motor Motor[] = { /* UMAX */ {MOTOR_UMAX, - 1200, /* motor base steps */ - 2400, /* maximum motor resolution */ - 1, /* maximum step mode */ + 1200, /* motor base steps */ + 2400, /* maximum motor resolution */ + 1, /* maximum step mode */ 1, /* number of power modes*/ {{{ - 11000, /* maximum start speed */ - 3000, /* maximum end speed */ - 128, /* step count */ - 1.0, /* nonlinearity */ + 11000, /* maximum start speed */ + 3000, /* maximum end speed */ + 128, /* step count */ + 1.0, /* nonlinearity */ }, { 11000, @@ -1014,7 +1039,7 @@ static Genesys_Motor Motor[] = { 1.0, },},}, }, - {MOTOR_5345, /* MD5345/6228/6471 */ + {MOTOR_5345, /* MD5345/6228/6471 */ 1200, 2400, 1, @@ -1032,7 +1057,7 @@ static Genesys_Motor Motor[] = { 0.5, },},}, }, - {MOTOR_ST24, /* ST24 */ + {MOTOR_ST24, /* ST24 */ 2400, 2400, 1, @@ -1050,15 +1075,15 @@ static Genesys_Motor Motor[] = { 0.3, },},}, }, - {MOTOR_HP3670, /* HP 3670 */ + {MOTOR_HP3670, /* HP 3670 */ 1200, 2400, 1, 1, {{{ - 11000, /* start speed */ - 3000, /* max speed */ - 128, /* min steps */ + 11000, /* start speed */ + 3000, /* max speed */ + 128, /* min steps */ 0.25, }, { @@ -1068,15 +1093,15 @@ static Genesys_Motor Motor[] = { 0.5, },},}, }, - {MOTOR_HP2400, /* HP 2400c */ + {MOTOR_HP2400, /* HP 2400c */ 1200, 1200, 1, 1, {{{ - 11000, /* start speed */ - 3000, /* max speed */ - 128, /* min steps */ + 11000, /* start speed */ + 3000, /* max speed */ + 128, /* min steps */ 0.25, }, { @@ -1086,7 +1111,7 @@ static Genesys_Motor Motor[] = { 0.5, },},}, }, - {MOTOR_HP2300, /* HP 2300c */ + {MOTOR_HP2300, /* HP 2300c */ 600, /* 600/1200 */ 1200, 1, @@ -1104,7 +1129,7 @@ static Genesys_Motor Motor[] = { 0.5, },},}, }, - {MOTOR_CANONLIDE35, /* Canon LiDE 35 */ + {MOTOR_CANONLIDE35, /* Canon LiDE 35 */ 1200, 2400, 1, @@ -1112,7 +1137,7 @@ static Genesys_Motor Motor[] = { {{{ 3500, 1300, 60, 0.8, }, { 3500, 1400, 60, 0.8, },},}, }, - {MOTOR_XP200, /* Strobe XP200 */ + {MOTOR_XP200, /* Strobe XP200 */ 600, 600, 1, @@ -1130,7 +1155,7 @@ static Genesys_Motor Motor[] = { 0.5, },},}, }, - {MOTOR_XP300, /* 7: Visioneer Strobe XP300 */ + {MOTOR_XP300, /* 7: Visioneer Strobe XP300 */ 300, 600, 1, @@ -1148,7 +1173,7 @@ static Genesys_Motor Motor[] = { 0.8, },},}, }, - {MOTOR_DP665, /* Syscan DP 665 */ + {MOTOR_DP665, /* Syscan DP 665 */ 750, 1500, 1, @@ -1166,7 +1191,7 @@ static Genesys_Motor Motor[] = { 0.8, },},}, }, - {MOTOR_ROADWARRIOR, /* Visioneer Roadwarrior */ + {MOTOR_ROADWARRIOR, /* Visioneer Roadwarrior */ 750, 1500, 1, @@ -1184,7 +1209,7 @@ static Genesys_Motor Motor[] = { 0.8, },},}, }, - {MOTOR_DSMOBILE_600, /* Pentax DSmobile 600 */ + {MOTOR_DSMOBILE_600, /* Pentax DSmobile 600 */ 750, 1500, 2, @@ -1202,7 +1227,7 @@ static Genesys_Motor Motor[] = { 0.8, },},}, }, - {MOTOR_CANONLIDE100, /* Canon LiDE 100 */ + {MOTOR_CANONLIDE100, /* Canon LiDE 100 */ 1200, 6400, 2, /* maximum step type count */ @@ -1210,12 +1235,12 @@ static Genesys_Motor Motor[] = { { /* motor slopes */ { /* power mode 0 */ { 3000, 1000, 127, 0.50}, /* full step */ - { 3000, 1500, 127, 0.50}, /* half step */ - { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ + { 3000, 1500, 127, 0.50}, /* half step */ + { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ }, }, }, - {MOTOR_CANONLIDE200, /* Canon LiDE 200 */ + {MOTOR_CANONLIDE200, /* Canon LiDE 200 */ 1200, 6400, 2, @@ -1223,12 +1248,12 @@ static Genesys_Motor Motor[] = { { /* motor slopes */ { /* power mode 0 */ { 3000, 1000, 127, 0.50}, /* full step */ - { 3000, 1500, 127, 0.50}, /* half step */ - { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ + { 3000, 1500, 127, 0.50}, /* half step */ + { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ }, }, }, - {MOTOR_CANONLIDE700, /* Canon LiDE 700 */ + {MOTOR_CANONLIDE700, /* Canon LiDE 700 */ 1200, 6400, 2, @@ -1236,8 +1261,8 @@ static Genesys_Motor Motor[] = { { /* motor slopes */ { /* power mode 0 */ { 3000, 1000, 127, 0.50}, /* full step */ - { 3000, 1500, 127, 0.50}, /* half step */ - { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ + { 3000, 1500, 127, 0.50}, /* half step */ + { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ }, }, }, @@ -1248,10 +1273,10 @@ static Genesys_Motor Motor[] = { 1, { /* motor slopes */ { /* power mode 0 */ - { 22222, 500, 246, 0.5 }, /* max speed / dpi * base dpi => exposure */ - { 22222, 500, 246, 0.5 }, - { 22222, 500, 246, 0.5 }, - }, + { 22222, 500, 246, 0.5 }, /* max speed / dpi * base dpi => exposure */ + { 22222, 500, 246, 0.5 }, + { 22222, 500, 246, 0.5 }, + }, }, }, {MOTOR_G4050, @@ -1261,10 +1286,10 @@ static Genesys_Motor Motor[] = { 1, { /* motor slopes */ { /* power mode 0 */ - { 3961, 240, 246, 0.8 }, /* full step */ - { 3961, 240, 246, 0.8 }, /* half step */ - { 3961, 240, 246, 0.8 }, /* quarter step */ - }, + { 3961, 240, 246, 0.8 }, /* full step */ + { 3961, 240, 246, 0.8 }, /* half step */ + { 3961, 240, 246, 0.8 }, /* quarter step */ + }, }, }, {MOTOR_CS8400F, @@ -1274,13 +1299,13 @@ static Genesys_Motor Motor[] = { 1, { /* motor slopes */ { /* power mode 0 */ - { 3961, 240, 246, 0.8 }, /* full step */ - { 3961, 240, 246, 0.8 }, /* half step */ - { 3961, 240, 246, 0.8 }, /* quarter step */ - }, + { 3961, 240, 246, 0.8 }, /* full step */ + { 3961, 240, 246, 0.8 }, /* half step */ + { 3961, 240, 246, 0.8 }, /* quarter step */ + }, }, }, - {MOTOR_CANONLIDE110, /* Canon LiDE 110 */ + {MOTOR_CANONLIDE110, /* Canon LiDE 110 */ 4800, 9600, 1, /* maximum step type count */ @@ -1291,7 +1316,7 @@ static Genesys_Motor Motor[] = { }, }, }, - {MOTOR_CANONLIDE210, /* Canon LiDE 210 */ + {MOTOR_CANONLIDE120, /* Canon LiDE 120 */ 4800, 9600, 1, /* maximum step type count */ @@ -1302,7 +1327,18 @@ static Genesys_Motor Motor[] = { }, }, }, - {MOTOR_PLUSTEK_3600, /* PLUSTEK 3600 */ + {MOTOR_CANONLIDE210, /* Canon LiDE 210 */ + 4800, + 9600, + 1, /* maximum step type count */ + 1, /* maximum power modes count */ + { /* motor slopes */ + { /* power mode 0 */ + { 3000, 1000, 256, 0.50}, /* full step */ + }, + }, + }, + {MOTOR_PLUSTEK_3600, /* PLUSTEK 3600 */ 1200, 2400, 1, @@ -1313,7 +1349,7 @@ static Genesys_Motor Motor[] = { { 3500, 3250, 60, 0.8 }, }, },}, - {MOTOR_IMG101, /* Canon Image Formula 101 */ + {MOTOR_IMG101, /* Canon Image Formula 101 */ 600, 1200, 1, @@ -1324,7 +1360,7 @@ static Genesys_Motor Motor[] = { { 3500, 3250, 60, 0.8 }, }, },}, - {MOTOR_PLUSTEK3800, /* Plustek OpticBook 3800 */ + {MOTOR_PLUSTEK3800, /* Plustek OpticBook 3800 */ 600, 1200, 1, @@ -1338,8 +1374,8 @@ static Genesys_Motor Motor[] = { {MOTOR_CANONLIDE80, 2400, /* 2400 ???? */ 4800, /* 9600 ???? */ - 1, /* max step type */ - 1, /* power mode count */ + 1, /* max step type */ + 1, /* power mode count */ { { /* start speed, max end speed, step number */ /* maximum speed (second field) is used to compute exposure as seen by motor */ @@ -1355,48 +1391,48 @@ static Genesys_Motor Motor[] = { /* here we have the various device settings... */ static Genesys_Model umax_astra_4500_model = { - "umax-astra-4500", /* Name */ - "UMAX", /* Device vendor string */ - "Astra 4500", /* Device model name */ + "umax-astra-4500", /* Name */ + "UMAX", /* Device vendor string */ + "Astra 4500", /* Device model name */ GENESYS_GL646, NULL, - {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (3.5), /* Start of scan area in mm (x) */ - SANE_FIX (7.5), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ + SANE_FIX (3.5), /* Start of scan area in mm (x) */ + SANE_FIX (7.5), /* Start of scan area in mm (y) */ + SANE_FIX (218.0), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (1.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ + 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ + COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_UMAX, DAC_WOLFSON_UMAX, GPO_UMAX, MOTOR_UMAX, - GENESYS_FLAG_UNTESTED, /* Which flags are needed for this scanner? */ + GENESYS_FLAG_UNTESTED, /* Which flags are needed for this scanner? */ /* untested, values set by hmg */ GENESYS_HAS_NO_BUTTONS, /* no buttons supported */ 20, @@ -1404,48 +1440,48 @@ static Genesys_Model umax_astra_4500_model = { }; static Genesys_Model canon_lide_50_model = { - "canon-lide-50", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 35/40/50", /* Device model name */ + "canon-lide-50", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 35/40/50", /* Device model name */ GENESYS_GL841, NULL, - { 1200, 600, 400, 300, 240, 200, 150, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 240, 200, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + { 1200, 600, 400, 300, 240, 200, 150, 75, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 400, 300, 240, 200, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.42), /* Start of scan area in mm (x) */ - SANE_FIX (7.9), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ + SANE_FIX (0.42), /* Start of scan area in mm (x) */ + SANE_FIX (7.9), /* Start of scan area in mm (y) */ + SANE_FIX (218.0), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ - SANE_FIX (6.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (6.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_CANONLIDE35, DAC_CANONLIDE35, GPO_CANONLIDE35, MOTOR_CANONLIDE35, - GENESYS_FLAG_LAZY_INIT | /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT | /* Which flags are needed for this scanner? */ GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_DARK_WHITE_CALIBRATION | @@ -1460,43 +1496,43 @@ static Genesys_Model canon_lide_50_model = { }; static Genesys_Model panasonic_kvss080_model = { - "panasonic-kv-ss080", /* Name */ - "Panasonic", /* Device vendor string */ - "KV-SS080", /* Device model name */ + "panasonic-kv-ss080", /* Name */ + "Panasonic", /* Device vendor string */ + "KV-SS080", /* Device model name */ GENESYS_GL843, NULL, - { 600, /* 500, 400,*/ 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - { 1200, 600, /* 500, 400, */ 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + { 600, /* 500, 400,*/ 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ + { 1200, 600, /* 500, 400, */ 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (7.2), /* Start of scan area in mm (x) */ - SANE_FIX (14.7), /* Start of scan area in mm (y) */ - SANE_FIX (217.7), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ + SANE_FIX (7.2), /* Start of scan area in mm (x) */ + SANE_FIX (14.7), /* Start of scan area in mm (y) */ + SANE_FIX (217.7), /* Size of scan area in mm (x) */ + SANE_FIX (300.0), /* Size of scan area in mm (y) */ - SANE_FIX (9.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (9.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ + 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_KVSS080, DAC_KVSS080, GPO_KVSS080, @@ -1511,45 +1547,45 @@ static Genesys_Model panasonic_kvss080_model = { }; static Genesys_Model hp4850c_model = { - "hewlett-packard-scanjet-4850c", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet 4850C", /* Device model name */ + "hewlett-packard-scanjet-4850c", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet 4850C", /* Device model name */ GENESYS_GL843, NULL, {2400, 1200, 600, 400, 300, 200, 150, 100, 0}, {2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ SANE_FIX (7.9), /* Start of scan area in mm (x) */ SANE_FIX (5.9), /* Start of scan area in mm (y) */ SANE_FIX (219.6), /* Size of scan area in mm (x) */ SANE_FIX (314.5), /* Size of scan area in mm (y) */ - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ + 0, 24, 48, /* RGB CCD Line-distance correction in line number */ + /* 0 38 76 OK 1200/2400 */ + /* 0 24 48 OK [100,600] dpi */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_G4050, DAC_G4050, GPO_G4050, @@ -1566,45 +1602,45 @@ static Genesys_Model hp4850c_model = { }; static Genesys_Model hpg4010_model = { - "hewlett-packard-scanjet-g4010", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet G4010", /* Device model name */ + "hewlett-packard-scanjet-g4010", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet G4010", /* Device model name */ GENESYS_GL843, NULL, { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (8.0), /* Start of scan area in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (315.0), /* Size of scan area in mm (y) */ + SANE_FIX (8.0), /* Start of scan area in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ + SANE_FIX (315.0), /* Size of scan area in mm (y) */ - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ + 0, 24, 48, /* RGB CCD Line-distance correction in line number */ + /* 0 38 76 OK 1200/2400 */ + /* 0 24 48 OK [100,600] dpi */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_G4050, DAC_G4050, GPO_G4050, @@ -1621,45 +1657,45 @@ static Genesys_Model hpg4010_model = { }; static Genesys_Model hpg4050_model = { - "hewlett-packard-scanjet-g4050", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet G4050", /* Device model name */ + "hewlett-packard-scanjet-g4050", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet G4050", /* Device model name */ GENESYS_GL843, NULL, { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (8.0), /* Start of scan area in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (315.0), /* Size of scan area in mm (y) */ + SANE_FIX (8.0), /* Start of scan area in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ + SANE_FIX (315.0), /* Size of scan area in mm (y) */ - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ + 0, 24, 48, /* RGB CCD Line-distance correction in line number */ + /* 0 38 76 OK 1200/2400 */ + /* 0 24 48 OK [100,600] dpi */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_G4050, DAC_G4050, GPO_G4050, @@ -1677,45 +1713,45 @@ static Genesys_Model hpg4050_model = { static Genesys_Model canon_4400f_model = { - "canon-canoscan-4400f", /* Name */ - "Canon", /* Device vendor string */ - "Canoscan 4400f", /* Device model name */ + "canon-canoscan-4400f", /* Name */ + "Canon", /* Device vendor string */ + "Canoscan 4400f", /* Device model name */ GENESYS_GL843, NULL, { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (6.0), /* Start of scan area in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (315.0), /* Size of scan area in mm (y) */ + SANE_FIX (6.0), /* Start of scan area in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ + SANE_FIX (315.0), /* Size of scan area in mm (y) */ - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ + 0, 24, 48, /* RGB CCD Line-distance correction in line number */ + /* 0 38 76 OK 1200/2400 */ + /* 0 24 48 OK [100,600] dpi */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_CS4400F, DAC_G4050, GPO_CS4400F, @@ -1727,7 +1763,7 @@ static Genesys_Model canon_4400f_model = { GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_DARK_CALIBRATION | GENESYS_FLAG_FULL_HWDPI_MODE | - GENESYS_FLAG_HALF_CCD_MODE | /* actually quarter CCD mode ... */ + GENESYS_FLAG_HALF_CCD_MODE | /* actually quarter CCD mode ... */ GENESYS_FLAG_CUSTOM_GAMMA, GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, 100, @@ -1736,45 +1772,45 @@ static Genesys_Model canon_4400f_model = { static Genesys_Model canon_8400f_model = { - "canon-canoscan-8400f", /* Name */ - "Canon", /* Device vendor string */ - "Canoscan 8400f", /* Device model name */ + "canon-canoscan-8400f", /* Name */ + "Canon", /* Device vendor string */ + "Canoscan 8400f", /* Device model name */ GENESYS_GL843, NULL, { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (4.0), /* Start of scan area in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (315.0), /* Size of scan area in mm (y) */ + SANE_FIX (4.0), /* Start of scan area in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ + SANE_FIX (315.0), /* Size of scan area in mm (y) */ - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ + 0, 24, 48, /* RGB CCD Line-distance correction in line number */ + /* 0 38 76 OK 1200/2400 */ + /* 0 24 48 OK [100,600] dpi */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_CS8400F, DAC_CS8400F, GPO_CS8400F, @@ -1795,43 +1831,43 @@ static Genesys_Model canon_8400f_model = { static Genesys_Model canon_lide_100_model = { - "canon-lide-100", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 100", /* Device model name */ + "canon-lide-100", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 100", /* Device model name */ GENESYS_GL847, NULL, - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (1.1), /* Start of scan area in mm (x) */ - SANE_FIX (8.3), /* Start of scan area in mm (y) */ - SANE_FIX (216.07), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ + SANE_FIX (1.1), /* Start of scan area in mm (x) */ + SANE_FIX (8.3), /* Start of scan area in mm (y) */ + SANE_FIX (216.07), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ - SANE_FIX (1.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (1.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CIS_CANONLIDE100, DAC_CANONLIDE200, GPO_CANONLIDE200, @@ -1849,43 +1885,43 @@ static Genesys_Model canon_lide_100_model = { }; static Genesys_Model canon_lide_110_model = { - "canon-lide-110", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 110", /* Device model name */ + "canon-lide-110", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 110", /* Device model name */ GENESYS_GL124, NULL, - {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (2.2), /* Start of scan area in mm (x) */ - SANE_FIX (9.0), /* Start of scan area in mm (y) */ - SANE_FIX (216.70), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ + SANE_FIX (2.2), /* Start of scan area in mm (x) */ + SANE_FIX (9.0), /* Start of scan area in mm (y) */ + SANE_FIX (216.70), /* Size of scan area in mm (x) */ + SANE_FIX (300.0), /* Size of scan area in mm (y) */ - SANE_FIX (1.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (1.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CIS_CANONLIDE110, DAC_CANONLIDE110, GPO_CANONLIDE110, @@ -1902,47 +1938,47 @@ static Genesys_Model canon_lide_110_model = { }; static Genesys_Model canon_lide_120_model = { - "canon-lide-120", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 120", /* Device model name */ + "canon-lide-120", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 120", /* Device model name */ GENESYS_GL124, NULL, - {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (2.2), /* Start of scan area in mm (x) */ - SANE_FIX (9.0), /* Start of scan area in mm (y) */ - SANE_FIX (216.70), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (8.0), /* Start of scan area in mm (y) */ + SANE_FIX (216.0), /* Size of scan area in mm (x) */ + SANE_FIX (300.0), /* Size of scan area in mm (y) */ - SANE_FIX (1.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (1.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CIS_CANONLIDE120, - DAC_CANONLIDE110, - GPO_CANONLIDE110, - MOTOR_CANONLIDE110, + DAC_CANONLIDE120, + GPO_CANONLIDE120, + MOTOR_CANONLIDE120, GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_DARK_CALIBRATION @@ -1956,43 +1992,43 @@ static Genesys_Model canon_lide_120_model = { static Genesys_Model canon_lide_210_model = { - "canon-lide-210", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 210", /* Device model name */ + "canon-lide-210", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 210", /* Device model name */ GENESYS_GL124, NULL, - {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (2.2), /* Start of scan area in mm (x) */ - SANE_FIX (8.7), /* Start of scan area in mm (y) */ - SANE_FIX (216.70), /* Size of scan area in mm (x) */ - SANE_FIX (297.5), /* Size of scan area in mm (y) */ + SANE_FIX (2.2), /* Start of scan area in mm (x) */ + SANE_FIX (8.7), /* Start of scan area in mm (y) */ + SANE_FIX (216.70), /* Size of scan area in mm (x) */ + SANE_FIX (297.5), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CIS_CANONLIDE210, DAC_CANONLIDE110, GPO_CANONLIDE210, @@ -2009,43 +2045,43 @@ static Genesys_Model canon_lide_210_model = { }; static Genesys_Model canon_lide_220_model = { - "canon-lide-220", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 220", /* Device model name */ + "canon-lide-220", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 220", /* Device model name */ GENESYS_GL124, /* or a compatible one */ NULL, - {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (2.2), /* Start of scan area in mm (x) */ - SANE_FIX (8.7), /* Start of scan area in mm (y) */ - SANE_FIX (216.70), /* Size of scan area in mm (x) */ - SANE_FIX (297.5), /* Size of scan area in mm (y) */ + SANE_FIX (2.2), /* Start of scan area in mm (x) */ + SANE_FIX (8.7), /* Start of scan area in mm (y) */ + SANE_FIX (216.70), /* Size of scan area in mm (x) */ + SANE_FIX (297.5), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CIS_CANONLIDE220, DAC_CANONLIDE110, GPO_CANONLIDE210, @@ -2062,48 +2098,48 @@ static Genesys_Model canon_lide_220_model = { }; static Genesys_Model canon_5600f_model = { - "canon-5600f", /* Name */ - "Canon", /* Device vendor string */ - "5600F", /* Device model name */ + "canon-5600f", /* Name */ + "Canon", /* Device vendor string */ + "5600F", /* Device model name */ GENESYS_GL847, NULL, - {1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ + {1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (1.1), /* Start of scan area in mm (x) */ - SANE_FIX (8.3), /* Start of scan area in mm (y) */ - SANE_FIX (216.07), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ + SANE_FIX (1.1), /* Start of scan area in mm (x) */ + SANE_FIX (8.3), /* Start of scan area in mm (y) */ + SANE_FIX (216.07), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CIS_CANONLIDE200, DAC_CANONLIDE200, GPO_CANONLIDE200, MOTOR_CANONLIDE200, - GENESYS_FLAG_UNTESTED /* not working yet */ + GENESYS_FLAG_UNTESTED /* not working yet */ | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_SIS_SENSOR | GENESYS_FLAG_DARK_CALIBRATION @@ -2115,43 +2151,43 @@ static Genesys_Model canon_5600f_model = { }; static Genesys_Model canon_lide_700f_model = { - "canon-lide-700f", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 700F", /* Device model name */ + "canon-lide-700f", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 700F", /* Device model name */ GENESYS_GL847, NULL, - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (3.1), /* Start of scan area in mm (x) */ - SANE_FIX (8.1), /* Start of scan area in mm (y) */ - SANE_FIX (216.07), /* Size of scan area in mm (x) */ - SANE_FIX (297.0), /* Size of scan area in mm (y) */ + SANE_FIX (3.1), /* Start of scan area in mm (x) */ + SANE_FIX (8.1), /* Start of scan area in mm (y) */ + SANE_FIX (216.07), /* Size of scan area in mm (x) */ + SANE_FIX (297.0), /* Size of scan area in mm (y) */ - SANE_FIX (1.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (1.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CIS_CANONLIDE700, DAC_CANONLIDE700, GPO_CANONLIDE700, @@ -2170,43 +2206,43 @@ static Genesys_Model canon_lide_700f_model = { static Genesys_Model canon_lide_200_model = { - "canon-lide-200", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 200", /* Device model name */ + "canon-lide-200", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 200", /* Device model name */ GENESYS_GL847, NULL, - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (1.1), /* Start of scan area in mm (x) */ - SANE_FIX (8.3), /* Start of scan area in mm (y) */ - SANE_FIX (216.07), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ + SANE_FIX (1.1), /* Start of scan area in mm (x) */ + SANE_FIX (8.3), /* Start of scan area in mm (y) */ + SANE_FIX (216.07), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CIS_CANONLIDE200, DAC_CANONLIDE200, GPO_CANONLIDE200, @@ -2224,48 +2260,48 @@ static Genesys_Model canon_lide_200_model = { static Genesys_Model canon_lide_60_model = { - "canon-lide-60", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 60", /* Device model name */ + "canon-lide-60", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 60", /* Device model name */ GENESYS_GL841, NULL, - {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.42), /* Start of scan area in mm (x) */ - SANE_FIX (7.9), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ + SANE_FIX (0.42), /* Start of scan area in mm (x) */ + SANE_FIX (7.9), /* Start of scan area in mm (y) */ + SANE_FIX (218.0), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ - SANE_FIX (6.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (6.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_CANONLIDE35, DAC_CANONLIDE35, GPO_CANONLIDE35, MOTOR_CANONLIDE35, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_DARK_WHITE_CALIBRATION @@ -2275,50 +2311,50 @@ static Genesys_Model canon_lide_60_model = { GENESYS_HAS_NO_BUTTONS, /* no buttons supported */ 300, 400 -}; /* this is completely untested -- hmg */ +}; /* this is completely untested -- hmg */ static Genesys_Model canon_lide_80_model = { - "canon-lide-80", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 80", /* Device model name */ + "canon-lide-80", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 80", /* Device model name */ GENESYS_GL841, NULL, - { 1200, 600, 400, 300, 240, 150, 100, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 240, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.42), /* Start of scan area in mm (x) 0.42 */ - SANE_FIX (7.90), /* Start of scan area in mm (y) 7.90 */ - SANE_FIX (216.07), /* Size of scan area in mm (x) 218.00 */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ + { 1200, 600, 400, 300, 240, 150, 100, 75, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 400, 300, 240, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + SANE_FIX (0.42), /* Start of scan area in mm (x) 0.42 */ + SANE_FIX (7.90), /* Start of scan area in mm (y) 7.90 */ + SANE_FIX (216.07), /* Size of scan area in mm (x) 218.00 */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ - SANE_FIX (4.5), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (4.5), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CIS_CANONLIDE80, DAC_CANONLIDE80, GPO_CANONLIDE80, MOTOR_CANONLIDE80, - GENESYS_FLAG_LAZY_INIT | /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT | /* Which flags are needed for this scanner? */ GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_DARK_WHITE_CALIBRATION | @@ -2334,43 +2370,43 @@ static Genesys_Model canon_lide_80_model = { static Genesys_Model hp2300c_model = { - "hewlett-packard-scanjet-2300c", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet 2300c", /* Device model name */ + "hewlett-packard-scanjet-2300c", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet 2300c", /* Device model name */ GENESYS_GL646, NULL, - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions, motor can go up to 1200 dpi */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions, motor can go up to 1200 dpi */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (2.0), /* Start of scan area in mm (x_offset) */ - SANE_FIX (7.5), /* Start of scan area in mm (y_offset) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (295.0), /* Size of scan area in mm (y) */ + SANE_FIX (2.0), /* Start of scan area in mm (x_offset) */ + SANE_FIX (7.5), /* Start of scan area in mm (y_offset) */ + SANE_FIX (215.9), /* Size of scan area in mm (x) */ + SANE_FIX (295.0), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (1.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 16, 8, 0, /* RGB CCD Line-distance correction in pixel */ + 16, 8, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_HP2300, DAC_WOLFSON_HP2300, GPO_HP2300, @@ -2390,43 +2426,43 @@ static Genesys_Model hp2300c_model = { static Genesys_Model hp2400c_model = { - "hewlett-packard-scanjet-2400c", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet 2400c", /* Device model name */ + "hewlett-packard-scanjet-2400c", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet 2400c", /* Device model name */ GENESYS_GL646, NULL, - {1200, 600, 300, 150, 100, 50, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 100, 50, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {1200, 600, 300, 150, 100, 50, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 100, 50, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (6.5), /* Start of scan area in mm (x) */ - SANE_FIX (2.5), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (297.2), /* Size of scan area in mm (y) */ + SANE_FIX (6.5), /* Start of scan area in mm (x) */ + SANE_FIX (2.5), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (297.2), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (1.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ + 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_HP2400, DAC_WOLFSON_HP2400, GPO_HP2400, @@ -2445,45 +2481,45 @@ Genesys_Model hp2400c_model = { static Genesys_Model visioneer_xp200_model = { - "visioneer-strobe-xp200", /* Name */ - "Visioneer", /* Device vendor string */ - "Strobe XP200", /* Device model name */ + "visioneer-strobe-xp200", /* Name */ + "Visioneer", /* Device vendor string */ + "Strobe XP200", /* Device model name */ GENESYS_GL646, NULL, - {600, 300, 200, 100, 75, 0}, /* possible x-resolutions */ - {600, 300, 200, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 200, 100, 75, 0}, /* possible x-resolutions */ + {600, 300, 200, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.5), /* Start of scan area in mm (x) */ - SANE_FIX (16.0), /* Start of scan area in mm (y) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (297.2), /* Size of scan area in mm (y) */ + SANE_FIX (0.5), /* Start of scan area in mm (x) */ + SANE_FIX (16.0), /* Start of scan area in mm (y) */ + SANE_FIX (215.9), /* Size of scan area in mm (x) */ + SANE_FIX (297.2), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ CIS_XP200, - DAC_AD_XP200, /* Analog Device frontend */ + DAC_AD_XP200, /* Analog Device frontend */ GPO_XP200, MOTOR_XP200, GENESYS_FLAG_14BIT_GAMMA @@ -2498,43 +2534,43 @@ Genesys_Model visioneer_xp200_model = { }; static Genesys_Model hp3670c_model = { - "hewlett-packard-scanjet-3670c", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet 3670c", /* Device model name */ + "hewlett-packard-scanjet-3670c", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet 3670c", /* Device model name */ GENESYS_GL646, NULL, - {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (8.5), /* Start of scan area in mm (x) */ - SANE_FIX (11.0), /* Start of scan area in mm (y) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ + SANE_FIX (8.5), /* Start of scan area in mm (x) */ + SANE_FIX (11.0), /* Start of scan area in mm (y) */ + SANE_FIX (215.9), /* Size of scan area in mm (x) */ + SANE_FIX (300.0), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (1.0), /* Start of black mark in mm (x) */ - SANE_FIX (104.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (55.6), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (25.6), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (78.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (104.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (55.6), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (25.6), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (78.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (76.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (76.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ + 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_HP3670, DAC_WOLFSON_HP3670, GPO_HP3670, @@ -2552,91 +2588,91 @@ static Genesys_Model hp3670c_model = { }; static Genesys_Model plustek_st12_model = { - "plustek-opticpro-st12", /* Name */ - "Plustek", /* Device vendor string */ - "OpticPro ST12", /* Device model name */ + "plustek-opticpro-st12", /* Name */ + "Plustek", /* Device vendor string */ + "OpticPro ST12", /* Device model name */ GENESYS_GL646, NULL, - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (3.5), /* Start of scan area in mm (x) */ - SANE_FIX (7.5), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ + SANE_FIX (3.5), /* Start of scan area in mm (x) */ + SANE_FIX (7.5), /* Start of scan area in mm (y) */ + SANE_FIX (218.0), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (1.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ + 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ + COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_ST12, DAC_WOLFSON_ST12, GPO_ST12, MOTOR_UMAX, - GENESYS_FLAG_UNTESTED | GENESYS_FLAG_14BIT_GAMMA, /* Which flags are needed for this scanner? */ + GENESYS_FLAG_UNTESTED | GENESYS_FLAG_14BIT_GAMMA, /* Which flags are needed for this scanner? */ GENESYS_HAS_NO_BUTTONS, /* no buttons supported */ 20, 200 }; static Genesys_Model plustek_st24_model = { - "plustek-opticpro-st24", /* Name */ - "Plustek", /* Device vendor string */ - "OpticPro ST24", /* Device model name */ + "plustek-opticpro-st24", /* Name */ + "Plustek", /* Device vendor string */ + "OpticPro ST24", /* Device model name */ GENESYS_GL646, NULL, - {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (3.5), /* Start of scan area in mm (x) */ - SANE_FIX (7.5), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ + SANE_FIX (3.5), /* Start of scan area in mm (x) */ + SANE_FIX (7.5), /* Start of scan area in mm (y) */ + SANE_FIX (218.0), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (1.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ + 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ + COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_ST24, DAC_WOLFSON_ST24, GPO_ST24, @@ -2653,42 +2689,42 @@ static Genesys_Model plustek_st24_model = { }; static Genesys_Model medion_md5345_model = { - "medion-md5345-model", /* Name */ - "Medion", /* Device vendor string */ - "MD5345/MD6228/MD6471", /* Device model name */ + "medion-md5345-model", /* Name */ + "Medion", /* Device vendor string */ + "MD5345/MD6228/MD6471", /* Device model name */ GENESYS_GL646, NULL, - {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX ( 0.30), /* Start of scan area in mm (x) */ - SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (296.4), /* Size of scan area in mm (y) */ + SANE_FIX ( 0.30), /* Start of scan area in mm (x) */ + SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (296.4), /* Size of scan area in mm (y) */ - SANE_FIX (0.00), /* Start of white strip in mm (y) */ - SANE_FIX (0.00), /* Start of black mark in mm (x) */ + SANE_FIX (0.00), /* Start of white strip in mm (y) */ + SANE_FIX (0.00), /* Start of black mark in mm (x) */ - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_5345, DAC_WOLFSON_5345, GPO_5345, @@ -2708,49 +2744,49 @@ static Genesys_Model medion_md5345_model = { }; static Genesys_Model visioneer_xp300_model = { - "visioneer-strobe-xp300", /* Name */ - "Visioneer", /* Device vendor string */ - "Strobe XP300", /* Device model name */ + "visioneer-strobe-xp300", /* Name */ + "Visioneer", /* Device vendor string */ + "Strobe XP300", /* Device model name */ GENESYS_GL841, NULL, - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (1.0), /* Start of scan area in mm (y) */ - SANE_FIX (435.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (1.0), /* Start of scan area in mm (y) */ + SANE_FIX (435.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (26.5), /* Size of scan area after paper sensor stops + SANE_FIX (26.5), /* Size of scan area after paper sensor stops sensing document in mm */ /* this is larger than needed -- accounts for second sensor head, which is a calibration item */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ CCD_XP300, DAC_WOLFSON_XP300, GPO_XP300, MOTOR_XP300, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_DARK_CALIBRATION @@ -2761,48 +2797,48 @@ static Genesys_Model visioneer_xp300_model = { }; static Genesys_Model syscan_docketport_665_model = { - "syscan-docketport-665", /* Name */ - "Syscan/Ambir", /* Device vendor string */ - "DocketPORT 665", /* Device model name */ + "syscan-docketport-665", /* Name */ + "Syscan/Ambir", /* Device vendor string */ + "DocketPORT 665", /* Device model name */ GENESYS_GL841, NULL, - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (108.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (108.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (17.5), /* Size of scan area after paper sensor stops + SANE_FIX (17.5), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ CCD_DP665, DAC_WOLFSON_XP300, GPO_DP665, MOTOR_DP665, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_DARK_CALIBRATION @@ -2813,48 +2849,48 @@ static Genesys_Model syscan_docketport_665_model = { }; static Genesys_Model visioneer_roadwarrior_model = { - "visioneer-roadwarrior", /* Name */ - "Visioneer", /* Device vendor string */ - "Readwarrior", /* Device model name */ + "visioneer-roadwarrior", /* Name */ + "Visioneer", /* Device vendor string */ + "Readwarrior", /* Device model name */ GENESYS_GL841, NULL, - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (16.0), /* Size of scan area after paper sensor stops + SANE_FIX (16.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ CCD_ROADWARRIOR, DAC_WOLFSON_XP300, GPO_DP665, MOTOR_ROADWARRIOR, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_CUSTOM_GAMMA @@ -2865,48 +2901,48 @@ static Genesys_Model visioneer_roadwarrior_model = { }; static Genesys_Model syscan_docketport_465_model = { - "syscan-docketport-465", /* Name */ - "Syscan", /* Device vendor string */ - "DocketPORT 465", /* Device model name */ + "syscan-docketport-465", /* Name */ + "Syscan", /* Device vendor string */ + "DocketPORT 465", /* Device model name */ GENESYS_GL841, NULL, - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (16.0), /* Size of scan area after paper sensor stops + SANE_FIX (16.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ CCD_ROADWARRIOR, DAC_WOLFSON_XP300, GPO_DP665, MOTOR_ROADWARRIOR, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_NO_CALIBRATION | GENESYS_FLAG_CUSTOM_GAMMA @@ -2917,48 +2953,48 @@ static Genesys_Model syscan_docketport_465_model = { }; static Genesys_Model visioneer_xp100_r3_model = { - "visioneer-xp100-revision3", /* Name */ - "Visioneer", /* Device vendor string */ - "XP100 Revision 3", /* Device model name */ + "visioneer-xp100-revision3", /* Name */ + "Visioneer", /* Device vendor string */ + "XP100 Revision 3", /* Device model name */ GENESYS_GL841, NULL, - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (16.0), /* Size of scan area after paper sensor stops + SANE_FIX (16.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ CCD_ROADWARRIOR, DAC_WOLFSON_XP300, GPO_DP665, MOTOR_ROADWARRIOR, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_CUSTOM_GAMMA @@ -2969,48 +3005,48 @@ static Genesys_Model visioneer_xp100_r3_model = { }; static Genesys_Model pentax_dsmobile_600_model = { - "pentax-dsmobile-600", /* Name */ - "Pentax", /* Device vendor string */ - "DSmobile 600", /* Device model name */ + "pentax-dsmobile-600", /* Name */ + "Pentax", /* Device vendor string */ + "DSmobile 600", /* Device model name */ GENESYS_GL841, NULL, - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (16.0), /* Size of scan area after paper sensor stops + SANE_FIX (16.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ CCD_DSMOBILE600, DAC_WOLFSON_DSM600, GPO_DP665, MOTOR_DSMOBILE_600, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_CUSTOM_GAMMA @@ -3021,48 +3057,48 @@ static Genesys_Model pentax_dsmobile_600_model = { }; static Genesys_Model syscan_docketport_467_model = { - "syscan-docketport-467", /* Name */ - "Syscan", /* Device vendor string */ - "DocketPORT 467", /* Device model name */ + "syscan-docketport-467", /* Name */ + "Syscan", /* Device vendor string */ + "DocketPORT 467", /* Device model name */ GENESYS_GL841, NULL, - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (16.0), /* Size of scan area after paper sensor stops + SANE_FIX (16.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ CCD_DSMOBILE600, DAC_WOLFSON_DSM600, GPO_DP665, MOTOR_DSMOBILE_600, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_CUSTOM_GAMMA @@ -3073,49 +3109,49 @@ static Genesys_Model syscan_docketport_467_model = { }; static Genesys_Model syscan_docketport_685_model = { - "syscan-docketport-685", /* Name */ - "Syscan/Ambir", /* Device vendor string */ - "DocketPORT 685", /* Device model name */ + "syscan-docketport-685", /* Name */ + "Syscan/Ambir", /* Device vendor string */ + "DocketPORT 685", /* Device model name */ GENESYS_GL841, NULL, - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (1.0), /* Start of scan area in mm (y) */ - SANE_FIX (212.0), /* Size of scan area in mm (x) */ - SANE_FIX (500), /* Size of scan area in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (1.0), /* Start of scan area in mm (y) */ + SANE_FIX (212.0), /* Size of scan area in mm (x) */ + SANE_FIX (500), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (26.5), /* Size of scan area after paper sensor stops + SANE_FIX (26.5), /* Size of scan area after paper sensor stops sensing document in mm */ /* this is larger than needed -- accounts for second sensor head, which is a calibration item */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ CCD_DP685, DAC_WOLFSON_DSM600, GPO_DP685, MOTOR_XP300, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_CUSTOM_GAMMA @@ -3126,49 +3162,49 @@ static Genesys_Model syscan_docketport_685_model = { }; static Genesys_Model syscan_docketport_485_model = { - "syscan-docketport-485", /* Name */ - "Syscan/Ambir", /* Device vendor string */ - "DocketPORT 485", /* Device model name */ + "syscan-docketport-485", /* Name */ + "Syscan/Ambir", /* Device vendor string */ + "DocketPORT 485", /* Device model name */ GENESYS_GL841, NULL, - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (1.0), /* Start of scan area in mm (y) */ - SANE_FIX (435.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (1.0), /* Start of scan area in mm (y) */ + SANE_FIX (435.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (26.5), /* Size of scan area after paper sensor stops + SANE_FIX (26.5), /* Size of scan area after paper sensor stops sensing document in mm */ /* this is larger than needed -- accounts for second sensor head, which is a calibration item */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ CCD_XP300, DAC_WOLFSON_XP300, GPO_XP300, MOTOR_XP300, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_CUSTOM_GAMMA @@ -3179,49 +3215,49 @@ static Genesys_Model syscan_docketport_485_model = { }; static Genesys_Model dct_docketport_487_model = { - "dct-docketport-487", /* Name */ - "DCT", /* Device vendor string */ - "DocketPORT 487", /* Device model name */ + "dct-docketport-487", /* Name */ + "DCT", /* Device vendor string */ + "DocketPORT 487", /* Device model name */ GENESYS_GL841, NULL, - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (1.0), /* Start of scan area in mm (y) */ - SANE_FIX (435.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (1.0), /* Start of scan area in mm (y) */ + SANE_FIX (435.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (26.5), /* Size of scan area after paper sensor stops + SANE_FIX (26.5), /* Size of scan area after paper sensor stops sensing document in mm */ /* this is larger than needed -- accounts for second sensor head, which is a calibration item */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ CCD_XP300, DAC_WOLFSON_XP300, GPO_XP300, MOTOR_XP300, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_DARK_CALIBRATION @@ -3233,43 +3269,43 @@ static Genesys_Model dct_docketport_487_model = { }; static Genesys_Model visioneer_7100_model = { - "visioneer-7100-model", /* Name */ - "Visioneer", /* Device vendor string */ - "OneTouch 7100", /* Device model name */ + "visioneer-7100-model", /* Name */ + "Visioneer", /* Device vendor string */ + "OneTouch 7100", /* Device model name */ GENESYS_GL646, NULL, - {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX ( 4.00), /* Start of scan area in mm (x) */ - SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (296.4), /* Size of scan area in mm (y) */ + SANE_FIX ( 4.00), /* Start of scan area in mm (x) */ + SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ + SANE_FIX (215.9), /* Size of scan area in mm (x) */ + SANE_FIX (296.4), /* Size of scan area in mm (y) */ - SANE_FIX (0.00), /* Start of white strip in mm (y) */ - SANE_FIX (0.00), /* Start of black mark in mm (x) */ + SANE_FIX (0.00), /* Start of white strip in mm (y) */ + SANE_FIX (0.00), /* Start of black mark in mm (x) */ - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ + 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ /* 48, 24, 0, */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_5345, DAC_WOLFSON_5345, GPO_5345, @@ -3288,43 +3324,43 @@ static Genesys_Model visioneer_7100_model = { }; static Genesys_Model xerox_2400_model = { - "xerox-2400-model", /* Name */ - "Xerox", /* Device vendor string */ - "OneTouch 2400", /* Device model name */ + "xerox-2400-model", /* Name */ + "Xerox", /* Device vendor string */ + "OneTouch 2400", /* Device model name */ GENESYS_GL646, NULL, - {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX ( 4.00), /* Start of scan area in mm (x) */ - SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (296.4), /* Size of scan area in mm (y) */ + SANE_FIX ( 4.00), /* Start of scan area in mm (x) */ + SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ + SANE_FIX (215.9), /* Size of scan area in mm (x) */ + SANE_FIX (296.4), /* Size of scan area in mm (y) */ - SANE_FIX (0.00), /* Start of white strip in mm (y) */ - SANE_FIX (0.00), /* Start of black mark in mm (x) */ + SANE_FIX (0.00), /* Start of white strip in mm (y) */ + SANE_FIX (0.00), /* Start of black mark in mm (x) */ - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ + 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ /* 48, 24, 0, */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_5345, DAC_WOLFSON_5345, GPO_5345, @@ -3344,48 +3380,48 @@ static Genesys_Model xerox_2400_model = { static Genesys_Model xerox_travelscanner_model = { - "xerox-travelscanner", /* Name */ - "Xerox", /* Device vendor string */ - "Travelscanner 100", /* Device model name */ + "xerox-travelscanner", /* Name */ + "Xerox", /* Device vendor string */ + "Travelscanner 100", /* Device model name */ GENESYS_GL841, NULL, - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (4.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ + SANE_FIX (4.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (16.0), /* Size of scan area after paper sensor stops + SANE_FIX (16.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ CCD_ROADWARRIOR, DAC_WOLFSON_XP300, GPO_DP665, MOTOR_ROADWARRIOR, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_CUSTOM_GAMMA @@ -3396,53 +3432,53 @@ static Genesys_Model xerox_travelscanner_model = { }; static Genesys_Model plustek_3600_model = { - "plustek-opticbook-3600", /* Name */ - "PLUSTEK", /* Device vendor string */ - "OpticBook 3600", /* Device model name */ + "plustek-opticbook-3600", /* Name */ + "PLUSTEK", /* Device vendor string */ + "OpticBook 3600", /* Device model name */ GENESYS_GL841, NULL, - {/*1200,*/ 600, 400, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {/*2400,*/ 1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {/*1200,*/ 600, 400, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ + {/*2400,*/ 1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.42),/*SANE_FIX (0.42), Start of scan area in mm (x) */ - SANE_FIX (6.75),/*SANE_FIX (7.9), Start of scan area in mm (y) */ - SANE_FIX (216.0),/*SANE_FIX (216.0), Size of scan area in mm (x) */ - SANE_FIX (297.0),/*SANE_FIX (297.0), Size of scan area in mm (y) */ + SANE_FIX (0.42),/*SANE_FIX (0.42), Start of scan area in mm (x) */ + SANE_FIX (6.75),/*SANE_FIX (7.9), Start of scan area in mm (y) */ + SANE_FIX (216.0),/*SANE_FIX (216.0), Size of scan area in mm (x) */ + SANE_FIX (297.0),/*SANE_FIX (297.0), Size of scan area in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ + 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_PLUSTEK_3600, DAC_PLUSTEK_3600, GPO_PLUSTEK_3600, MOTOR_PLUSTEK_3600, - GENESYS_FLAG_UNTESTED /* not fully working yet */ + GENESYS_FLAG_UNTESTED /* not fully working yet */ | GENESYS_FLAG_CUSTOM_GAMMA | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_DARK_CALIBRATION | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_HALF_CCD_MODE,/* + | GENESYS_FLAG_LAZY_INIT + | GENESYS_FLAG_HALF_CCD_MODE,/* | GENESYS_FLAG_NO_CALIBRATION,*/ GENESYS_HAS_NO_BUTTONS, 7, @@ -3450,49 +3486,49 @@ static Genesys_Model plustek_3600_model = { }; static Genesys_Model hpn6310_model = { - "hewlett-packard-scanjet-N6310", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet N6310", /* Device model name */ + "hewlett-packard-scanjet-N6310", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet N6310", /* Device model name */ GENESYS_GL847, NULL, { 2400, 1200, 600, 400, 300, 200, 150, 100, 75, 0}, { 2400, 1200, 600, 400, 300, 200, 150, 100, 75, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (6), /* Start of scan area in mm (x) */ - SANE_FIX (2), /* Start of scan area in mm (y) */ - SANE_FIX (216), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (511), /* Size of scan area in mm (y) */ + SANE_FIX (6), /* Start of scan area in mm (x) */ + SANE_FIX (2), /* Start of scan area in mm (y) */ + SANE_FIX (216), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ + SANE_FIX (511), /* Size of scan area in mm (y) */ - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0), /* Size of scan area after paper sensor stops + SANE_FIX (0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0), /* Amount of feeding needed to eject document + SANE_FIX (0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_HP_N6310, DAC_CANONLIDE200, /*Not defined yet for N6310 */ GPO_HP_N6310, MOTOR_CANONLIDE200, /*Not defined yet for N6310 */ - GENESYS_FLAG_UNTESTED /* not fully working yet */ + GENESYS_FLAG_UNTESTED /* not fully working yet */ | GENESYS_FLAG_LAZY_INIT | GENESYS_FLAG_14BIT_GAMMA | GENESYS_FLAG_DARK_CALIBRATION @@ -3509,43 +3545,43 @@ static Genesys_Model hpn6310_model = { static Genesys_Model plustek_3800_model = { - "plustek-opticbook-3800", /* Name */ - "PLUSTEK", /* Device vendor string */ - "OpticBook 3800", /* Device model name */ + "plustek-opticbook-3800", /* Name */ + "PLUSTEK", /* Device vendor string */ + "OpticBook 3800", /* Device model name */ GENESYS_GL845, NULL, - {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (7.2), /* Start of scan area in mm (x) */ - SANE_FIX (14.7), /* Start of scan area in mm (y) */ - SANE_FIX (217.7), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ + SANE_FIX (7.2), /* Start of scan area in mm (x) */ + SANE_FIX (14.7), /* Start of scan area in mm (y) */ + SANE_FIX (217.7), /* Size of scan area in mm (x) */ + SANE_FIX (300.0), /* Size of scan area in mm (y) */ - SANE_FIX (9.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (9.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ + 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_PLUSTEK3800, DAC_PLUSTEK3800, GPO_PLUSTEK3800, @@ -3554,50 +3590,50 @@ static Genesys_Model plustek_3800_model = { GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_NO_BUTTONS, /* TODO there are 4 buttons to support */ + GENESYS_HAS_NO_BUTTONS, /* TODO there are 4 buttons to support */ 100, 100 }; static Genesys_Model canon_formula101_model = { - "canon-image-formula-101", /* Name */ - "Canon", /* Device vendor string */ - "Image Formula 101", /* Device model name */ + "canon-image-formula-101", /* Name */ + "Canon", /* Device vendor string */ + "Image Formula 101", /* Device model name */ GENESYS_GL846, NULL, - {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ + {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (7.2), /* Start of scan area in mm (x) */ - SANE_FIX (14.7), /* Start of scan area in mm (y) */ - SANE_FIX (217.7), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ + SANE_FIX (7.2), /* Start of scan area in mm (x) */ + SANE_FIX (14.7), /* Start of scan area in mm (y) */ + SANE_FIX (217.7), /* Size of scan area in mm (x) */ + SANE_FIX (300.0), /* Size of scan area in mm (y) */ - SANE_FIX (9.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ + SANE_FIX (9.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area after paper sensor stops + SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document + SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ + 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_IMG101, DAC_IMG101, GPO_IMG101, diff --git a/backend/genesys_gl124.c b/backend/genesys_gl124.c index eaac873..a98d3d4 100644 --- a/backend/genesys_gl124.c +++ b/backend/genesys_gl124.c @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2010-2013 Stphane Voltz + Copyright (C) 2010-2016 Stéphane Voltz This file is part of the SANE package. @@ -112,7 +112,7 @@ gl124_bulk_read_data (Genesys_Device * dev, uint8_t addr, if (status != SANE_STATUS_GOOD) { DBG (DBG_error, "%s failed while writing command: %s\n", - __FUNCTION__, sane_strstatus (status)); + __func__, sane_strstatus (status)); return status; } @@ -154,7 +154,7 @@ gl124_bulk_read_data (Genesys_Device * dev, uint8_t addr, } } - DBG (DBG_io2, "%s: read %lu bytes, %lu remaining\n", __FUNCTION__, + DBG (DBG_io2, "%s: read %lu bytes, %lu remaining\n", __func__, (u_long) size, (u_long) (target - size)); target -= size; @@ -294,7 +294,7 @@ static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi, int half_ccd /* default fallback */ if(idx<0) { - DBG (DBG_warn,"%s: using default sensor profile\n",__FUNCTION__); + DBG (DBG_warn,"%s: using default sensor profile\n",__func__); idx=0; } @@ -356,10 +356,18 @@ gl124_init_registers (Genesys_Device * dev) SETREG (0x01,0xa2); /* + REG01_SHDAREA */ SETREG (0x02,0x90); SETREG (0x03,0x50); - SETREG (0x03,0x50 & ~REG03_AVEENB); SETREG (0x04,0x03); SETREG (0x05,0x00); - SETREG (0x06,0x50 | REG06_GAIN4); + if(dev->model->ccd_type==CIS_CANONLIDE120) + { + SETREG (0x06,0x50); + SETREG (0x07,0x00); + } + else + { + SETREG (0x03,0x50 & ~REG03_AVEENB); + SETREG (0x06,0x50 | REG06_GAIN4); + } SETREG (0x09,0x00); SETREG (0x0a,0xc0); SETREG (0x0b,0x2a); @@ -381,7 +389,14 @@ gl124_init_registers (Genesys_Device * dev) SETREG (0x1f,0x00); SETREG (0x20,0x15); SETREG (0x21,0x00); - SETREG (0x22,0x02); + if(dev->model->ccd_type!=CIS_CANONLIDE120) + { + SETREG (0x22,0x02); + } + else + { + SETREG (0x22,0x14); + } SETREG (0x23,0x00); SETREG (0x24,0x00); SETREG (0x25,0x00); @@ -434,11 +449,19 @@ gl124_init_registers (Genesys_Device * dev) SETREG (0x6a,0x00); SETREG (0x6b,0x00); SETREG (0x6c,0x00); - SETREG (0x6d,0xd0); SETREG (0x6e,0x00); SETREG (0x6f,0x00); - SETREG (0x70,0x06); - SETREG (0x71,0x08); + if(dev->model->ccd_type!=CIS_CANONLIDE120) + { + SETREG (0x6d,0xd0); + SETREG (0x71,0x08); + } + else + { + SETREG (0x6d,0x00); + SETREG (0x71,0x1f); + } + SETREG (0x70,0x00); SETREG (0x72,0x08); SETREG (0x73,0x0a); @@ -456,8 +479,16 @@ gl124_init_registers (Genesys_Device * dev) SETREG (0x7d,0x00); SETREG (0x7e,0x08); SETREG (0x7f,0x58); - SETREG (0x80,0x00); - SETREG (0x81,0x14); + if(dev->model->ccd_type!=CIS_CANONLIDE120) + { + SETREG (0x80,0x00); + SETREG (0x81,0x14); + } + else + { + SETREG (0x80,0x00); + SETREG (0x81,0x10); + } /* STRPIXEL */ SETREG (0x82,0x00); @@ -536,6 +567,15 @@ gl124_init_registers (Genesys_Device * dev) SETREG (0xcd,0x00); SETREG (0xce,0x00); */ + if(dev->model->ccd_type==CIS_CANONLIDE120) + { + SETREG (0xc5,0x20); + SETREG (0xc6,0xeb); + SETREG (0xc7,0x20); + SETREG (0xc8,0xeb); + SETREG (0xc9,0x20); + SETREG (0xca,0xeb); + } /* memory layout SETREG (0xd0,0x0a); @@ -624,13 +664,13 @@ gl124_send_slope_table (Genesys_Device * dev, int table_nr, int i; char msg[10000]; - DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __FUNCTION__, + DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, table_nr, steps); /* sanity check */ if(table_nr<0 || table_nr>4) { - DBG (DBG_error, "%s: invalid table number %d!\n", __FUNCTION__, table_nr); + DBG (DBG_error, "%s: invalid table number %d!\n", __func__, table_nr); return SANE_STATUS_INVAL; } @@ -648,7 +688,7 @@ gl124_send_slope_table (Genesys_Device * dev, int table_nr, { sprintf (msg+strlen(msg), ",%d", slope_table[i]); } - DBG (DBG_io, "%s: %s\n", __FUNCTION__, msg); + DBG (DBG_io, "%s: %s\n", __func__, msg); } /* slope table addresses are fixed */ @@ -658,7 +698,7 @@ gl124_send_slope_table (Genesys_Device * dev, int table_nr, { DBG (DBG_error, "%s: write to AHB failed writing slope table %d (%s)\n", - __FUNCTION__, table_nr, sane_strstatus (status)); + __func__, table_nr, sane_strstatus (status)); } free (table); @@ -666,8 +706,11 @@ gl124_send_slope_table (Genesys_Device * dev, int table_nr, return status; } -/** - * Set register values of 'special' type frontend +/** @brief * Set register values of 'special' ti type frontend + * Registers value are taken from the frontend register data + * set. + * @param dev device owning the AFE + * @param set flag AFE_INIT to specify the AFE must be reset before writing data * */ static SANE_Status gl124_set_ti_fe (Genesys_Device * dev, uint8_t set) @@ -679,8 +722,7 @@ gl124_set_ti_fe (Genesys_Device * dev, uint8_t set) DBGSTART; if (set == AFE_INIT) { - DBG (DBG_proc, "%s: setting DAC %u\n", __FUNCTION__, - dev->model->dac_type); + DBG (DBG_proc, "%s: setting DAC %u\n", __func__, dev->model->dac_type); /* sets to default values */ sanei_genesys_init_fe (dev); @@ -690,7 +732,7 @@ gl124_set_ti_fe (Genesys_Device * dev, uint8_t set) status = sanei_genesys_fe_write_data (dev, 0x00, 0x80); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to write reg0: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to write reg0: %s\n", __func__, sane_strstatus (status)); return status; } @@ -703,7 +745,7 @@ gl124_set_ti_fe (Genesys_Device * dev, uint8_t set) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to write reg %d: %s\n", __FUNCTION__, i, + "%s: failed to write reg %d: %s\n", __func__, i, sane_strstatus (status)); return status; } @@ -712,12 +754,12 @@ gl124_set_ti_fe (Genesys_Device * dev, uint8_t set) status = sanei_genesys_fe_write_data (dev, 0x04, 0x00); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to write reg4: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to write reg4: %s\n", __func__, sane_strstatus (status)); return status; } - /* these are not really sign */ + /* these are not really sign for this AFE */ for (i = 0; i < 3; i++) { val = dev->frontend.sign[i]; @@ -725,17 +767,24 @@ gl124_set_ti_fe (Genesys_Device * dev, uint8_t set) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to write reg %d: %s\n", __FUNCTION__, i+5, + "%s: failed to write reg %d: %s\n", __func__, i+5, sane_strstatus (status)); return status; } } /* close writing to DAC */ - status = sanei_genesys_fe_write_data (dev, 0x00, 0x11); + if(dev->model->dac_type == DAC_CANONLIDE120) + { + status = sanei_genesys_fe_write_data (dev, 0x00, 0x01); + } + else + { + status = sanei_genesys_fe_write_data (dev, 0x00, 0x11); + } if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to write reg0: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to write reg0: %s\n", __func__, sane_strstatus (status)); return status; } @@ -781,7 +830,7 @@ gl124_set_fe (Genesys_Device * dev, uint8_t set) case 1: case 2: default: - DBG (DBG_error, "%s: unsupported analog FE 0x%02x\n",__FUNCTION__,val); + DBG (DBG_error, "%s: unsupported analog FE 0x%02x\n",__func__,val); status=SANE_STATUS_INVAL; break; } @@ -852,10 +901,17 @@ gl124_init_motor_regs_scan (Genesys_Device * dev, } else { - min_speed = 900; - if(dev->model->ccd_type==MOTOR_CANONLIDE110) + switch(dev->model->motor_type) { - min_speed = 300; + case MOTOR_CANONLIDE110: + min_speed = 600; + break; + case MOTOR_CANONLIDE120: + min_speed = 900; + break; + default: + min_speed = 900; + break; } } @@ -864,6 +920,12 @@ gl124_init_motor_regs_scan (Genesys_Device * dev, { yres=min_speed; linesel=yres/scan_yres-1; + /* limit case, we need a linesel > 0 */ + if(linesel==0) + { + linesel=1; + yres=scan_yres*2; + } } else { @@ -871,11 +933,11 @@ gl124_init_motor_regs_scan (Genesys_Device * dev, linesel=0; } - DBG (DBG_io2, "%s: linesel=%d\n", __FUNCTION__, linesel); + DBG (DBG_io2, "%s: final yres=%f, linesel=%d\n", __func__, yres, linesel); lincnt=scan_lines*(linesel+1); sanei_genesys_set_triple(reg,REG_LINCNT,lincnt); - DBG (DBG_io, "%s: lincnt=%d\n", __FUNCTION__, lincnt); + DBG (DBG_io, "%s: lincnt=%d\n", __func__, lincnt); /* compute register 02 value */ r = sanei_genesys_get_address (reg, REG02); @@ -954,7 +1016,7 @@ gl124_init_motor_regs_scan (Genesys_Device * dev, { dist += fast_steps*2; } - DBG (DBG_io2, "%s: acceleration distance=%d\n", __FUNCTION__, dist); + DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); /* get sure we don't use insane value */ if(distvalue = dev->sensor.regs_0x10_0x1d[i]; + { + r->value = dev->sensor.regs_0x10_0x1d[i]; + } } + /* skip writing 5d,5e which is AFE address because + * they are not deifned in register set */ for (i = 0; i < 11; i++) { r = sanei_genesys_get_address (regs, 0x52 + i); if (r) - r->value = dev->sensor.regs_0x52_0x5e[i]; + { + r->value = dev->sensor.regs_0x52_0x5e[i]; + } } /* set EXPDUMMY and CKxMAP */ @@ -1054,6 +1127,23 @@ gl124_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi, r->value = sensor->reg98; } + if(sensor->reg16!=0) + { + r = sanei_genesys_get_address (regs, 0x16); + if (r) + { + r->value = sensor->reg16; + } + } + if(sensor->reg70!=0) + { + r = sanei_genesys_get_address (regs, 0x70); + if (r) + { + r->value = sensor->reg70; + } + } + sanei_genesys_set_triple(regs,REG_SEGCNT,sensor->segcnt); sanei_genesys_set_double(regs,REG_TG0CNT,sensor->tg0cnt); sanei_genesys_set_double(regs,REG_EXPDMY,sensor->expdummy); @@ -1131,19 +1221,19 @@ gl124_init_optical_regs_scan (Genesys_Device * dev, DBG (DBG_proc, "%s : exposure_time=%d, " "used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " - "half_ccd=%d, flags=%x\n", __FUNCTION__, exposure_time, + "half_ccd=%d, flags=%x\n", __func__, exposure_time, used_res, start, pixels, channels, depth, half_ccd, flags); /* resolution is divided according to CKSEL */ r = sanei_genesys_get_address (reg, REG18); cksel= (r->value & REG18_CKSEL)+1; - DBG (DBG_io2, "%s: cksel=%d\n", __FUNCTION__, cksel); + DBG (DBG_io2, "%s: cksel=%d\n", __func__, cksel); /* to manage high resolution device while keeping good * low resolution scanning speed, we make hardware dpi vary */ dpihw=sanei_genesys_compute_dpihw(dev, used_res * cksel); factor=dev->sensor.optical_res/dpihw; - DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __FUNCTION__, dpihw, factor); + DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); /* sensor parameters */ gl124_setup_sensor (dev, reg, dpihw, half_ccd); @@ -1163,7 +1253,7 @@ gl124_init_optical_regs_scan (Genesys_Device * dev, status = gl124_set_fe (dev, AFE_SET); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to set frontend: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus (status)); return status; } @@ -1183,7 +1273,16 @@ gl124_init_optical_regs_scan (Genesys_Device * dev, r->value &= ~REG01_SCAN; r = sanei_genesys_get_address (reg, REG03); - r->value &= ~REG03_AVEENB; + if((dev->model->ccd_type!=CIS_CANONLIDE120)&&(used_res>=600)) + { + r->value &= ~REG03_AVEENB; + DBG (DBG_io, "%s: disabling AVEENB\n", __func__); + } + else + { + r->value |= ~REG03_AVEENB; + DBG (DBG_io, "%s: enabling AVEENB\n", __func__); + } if (flags & OPTICAL_FLAG_DISABLE_LAMP) r->value &= ~REG03_LAMPPWR; @@ -1217,13 +1316,13 @@ gl124_init_optical_regs_scan (Genesys_Device * dev, switch (color_filter) { case 0: - r->value |= 0x10; /* red filter */ + r->value |= 0x10; /* red filter */ break; case 2: - r->value |= 0x30; /* blue filter */ + r->value |= 0x30; /* blue filter */ break; default: - r->value |= 0x20; /* green filter */ + r->value |= 0x20; /* green filter */ break; } } @@ -1258,12 +1357,12 @@ gl124_init_optical_regs_scan (Genesys_Device * dev, if(half_ccd) { sanei_genesys_set_double(reg,REG_DPISET,dpiset*2); - DBG (DBG_io2, "%s: dpiset used=%d\n", __FUNCTION__, dpiset*2); + DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset*2); } else { sanei_genesys_set_double(reg,REG_DPISET,dpiset); - DBG (DBG_io2, "%s: dpiset used=%d\n", __FUNCTION__, dpiset); + DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); } r = sanei_genesys_get_address (reg, REG06); @@ -1310,14 +1409,14 @@ gl124_init_optical_regs_scan (Genesys_Device * dev, segnb = r->value & 0x0f; sanei_genesys_set_triple(reg,REG_STRPIXEL,startx/segnb); - DBG (DBG_io2, "%s: strpixel used=%d\n", __FUNCTION__, startx/segnb); + DBG (DBG_io2, "%s: strpixel used=%d\n", __func__, startx/segnb); sanei_genesys_get_triple(reg,REG_SEGCNT,&segcnt); if(endx/segnb==segcnt) { endx=0; } sanei_genesys_set_triple(reg,REG_ENDPIXEL,endx/segnb); - DBG (DBG_io2, "%s: endpixel used=%d\n", __FUNCTION__, endx/segnb); + DBG (DBG_io2, "%s: endpixel used=%d\n", __func__, endx/segnb); /* words(16bit) before gamma, conversion to 8 bit or lineart */ words_per_line = (used_pixels * dpiset) / dpihw; @@ -1340,13 +1439,13 @@ gl124_init_optical_regs_scan (Genesys_Device * dev, dev->line_count = 0; dev->line_interp = 0; - DBG (DBG_io2, "%s: used_pixels =%d\n", __FUNCTION__, used_pixels); - DBG (DBG_io2, "%s: pixels =%d\n", __FUNCTION__, pixels); - DBG (DBG_io2, "%s: depth =%d\n", __FUNCTION__, depth); - DBG (DBG_io2, "%s: dev->bpl =%lu\n", __FUNCTION__, (unsigned long)dev->bpl); - DBG (DBG_io2, "%s: dev->len =%lu\n", __FUNCTION__, (unsigned long)dev->len); - DBG (DBG_io2, "%s: dev->dist =%lu\n", __FUNCTION__, (unsigned long)dev->dist); - DBG (DBG_io2, "%s: dev->line_interp=%lu\n", __FUNCTION__, (unsigned long)dev->line_interp); + DBG (DBG_io2, "%s: used_pixels =%d\n", __func__, used_pixels); + DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); + DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); + DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long)dev->bpl); + DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); + DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); + DBG (DBG_io2, "%s: dev->line_interp=%lu\n", __func__, (unsigned long)dev->line_interp); words_per_line *= channels; dev->wpl = words_per_line; @@ -1360,10 +1459,10 @@ gl124_init_optical_regs_scan (Genesys_Device * dev, /* MAXWD is expressed in 2 words unit */ sanei_genesys_set_triple(reg,REG_MAXWD,(words_per_line)); - DBG (DBG_io2, "%s: words_per_line used=%d\n", __FUNCTION__, words_per_line); + DBG (DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); sanei_genesys_set_triple(reg,REG_LPERIOD,exposure_time); - DBG (DBG_io2, "%s: exposure_time used=%d\n", __FUNCTION__, exposure_time); + DBG (DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); sanei_genesys_set_double(reg,REG_DUMMY,dev->sensor.dummy_pixel); @@ -1371,7 +1470,7 @@ gl124_init_optical_regs_scan (Genesys_Device * dev, return SANE_STATUS_GOOD; } -/* set up registers for an actual scan +/** set up registers for an actual scan * * this function sets up the scanner to scan in normal or single line mode */ @@ -1379,10 +1478,10 @@ GENESYS_STATIC SANE_Status gl124_init_scan_regs (Genesys_Device * dev, Genesys_Register_Set * reg, - float xres, /*dpi */ - float yres, /*dpi */ - float startx, /*optical_res, from dummy_pixel+1 */ - float starty, /*base_ydpi, from home! */ + float xres, /*dpi */ + float yres, /*dpi */ + float startx, /*optical_res, from dummy_pixel+1 */ + float starty, /*base_ydpi, from home! */ float pixels, float lines, unsigned int depth, @@ -1407,7 +1506,7 @@ gl124_init_scan_regs (Genesys_Device * dev, int max_shift; size_t requested_buffer_size, read_buffer_size; - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ + SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ int optical_res; SANE_Status status; @@ -1427,7 +1526,7 @@ gl124_init_scan_regs (Genesys_Device * dev, optical_res = dev->sensor.optical_res; if (half_ccd) optical_res /= 2; - DBG (DBG_info, "%s: optical_res=%d\n", __FUNCTION__, optical_res); + DBG (DBG_info, "%s: optical_res=%d\n", __func__, optical_res); /* stagger */ if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) @@ -1463,7 +1562,7 @@ gl124_init_scan_regs (Genesys_Device * dev, /* compute correct pixels number */ used_pixels = (pixels * optical_res) / xres; - DBG (DBG_info, "%s: used_pixels=%d\n", __FUNCTION__, used_pixels); + DBG (DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); /* round up pixels number if needed */ if (used_pixels * xres < pixels * optical_res) @@ -1607,7 +1706,7 @@ gl124_init_scan_regs (Genesys_Device * dev, dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - DBG (DBG_info, "%s: current_setup.pixels=%d\n", __FUNCTION__, dev->current_setup.pixels); + DBG (DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); dev->current_setup.lines = lincnt; dev->current_setup.depth = depth; dev->current_setup.channels = channels; @@ -1642,9 +1741,9 @@ gl124_calculate_current_setup (Genesys_Device * dev) int depth; int start; - float xres; /*dpi */ - float yres; /*dpi */ - float startx; /*optical_res, from dummy_pixel+1 */ + float xres; /*dpi */ + float yres; /*dpi */ + float startx; /*optical_res, from dummy_pixel+1 */ float pixels; float lines; @@ -1672,7 +1771,7 @@ gl124_calculate_current_setup (Genesys_Device * dev) dev->settings.tl_x, dev->settings.tl_y, dev->settings.scan_mode); /* channels */ - if (dev->settings.scan_mode == 4) /* single pass color */ + if (dev->settings.scan_mode == 4) /* single pass color */ channels = 3; else channels = 1; @@ -1720,11 +1819,11 @@ gl124_calculate_current_setup (Genesys_Device * dev) /* compute correct pixels number */ used_pixels = (pixels * optical_res) / xres; - DBG (DBG_info, "%s: used_pixels=%d\n", __FUNCTION__, used_pixels); + DBG (DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); /* exposure */ exposure_time = gl124_compute_exposure (dev, xres, half_ccd); - DBG (DBG_info, "%s : exposure_time=%d pixels\n", __FUNCTION__, exposure_time); + DBG (DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); /* max_shift */ max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,0); @@ -1740,13 +1839,13 @@ gl124_calculate_current_setup (Genesys_Device * dev) stagger = (4 * yres) / dev->motor.base_ydpi; else stagger = 0; - DBG (DBG_info, "%s: stagger=%d lines\n", __FUNCTION__, stagger); + DBG (DBG_info, "%s: stagger=%d lines\n", __func__, stagger); /* lincnt */ lincnt = lines + max_shift + stagger; dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - DBG (DBG_info, "%s: current_setup.pixels=%d\n", __FUNCTION__, dev->current_setup.pixels); + DBG (DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); dev->current_setup.lines = lincnt; dev->current_setup.depth = depth; dev->current_setup.channels = channels; @@ -1878,7 +1977,7 @@ gl124_stop_action (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read reg100: %s\n", __FUNCTION__, + "%s: failed to read reg100: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; @@ -1887,7 +1986,7 @@ gl124_stop_action (Genesys_Device * dev) /* only stop action if needed */ if (!(val40 & REG100_DATAENB) && !(val40 & REG100_MOTMFLG)) { - DBG (DBG_info, "%s: already stopped\n", __FUNCTION__); + DBG (DBG_info, "%s: already stopped\n", __func__); DBGCOMPLETED; return SANE_STATUS_GOOD; } @@ -1900,7 +1999,7 @@ gl124_stop_action (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to write register 01: %s\n", __FUNCTION__, + "%s: failed to write register 01: %s\n", __func__, sane_strstatus (status)); return status; } @@ -1918,7 +2017,7 @@ gl124_stop_action (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __FUNCTION__, + "%s: failed to read home sensor: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; @@ -1941,6 +2040,13 @@ gl124_stop_action (Genesys_Device * dev) } +/** @brief setup GPIOs for scan + * Setup GPIO values to drive motor (or light) needed for the + * target resolution + * @param *dev device to set up + * @param resolution dpi of the target scan + * @return SANE_STATUS_GOOD unless REG32 cannot be read + */ static SANE_Status gl124_setup_scan_gpio(Genesys_Device *dev, int resolution) { @@ -1949,17 +2055,43 @@ uint8_t val; DBGSTART; RIE (sanei_genesys_read_register (dev, REG32, &val)); - if(resolution>=dev->motor.base_ydpi/2) - { - val &= 0xf7; - } - else if(resolution>=dev->motor.base_ydpi/4) + + /* LiDE 110, 210 and 220 cases */ + if(dev->model->gpo_type != GPO_CANONLIDE120) { - val &= 0xef; + if(resolution>=dev->motor.base_ydpi/2) + { + val &= 0xf7; + } + else if(resolution>=dev->motor.base_ydpi/4) + { + val &= 0xef; + } + else + { + val |= 0x10; + } } + /* 120 : <=300 => 0x53 */ else - { - val |= 0x10; + { /* base_ydpi is 4800 */ + if(resolution<=300) + { + val &= 0xf7; + } + else if(resolution<=600) + { + val |= 0x08; + } + else if(resolution<=1200) + { + val &= 0xef; + val |= 0x08; + } + else + { + val &= 0xf7; + } } val |= 0x02; RIE (sanei_genesys_write_register (dev, REG32, val)); @@ -2026,7 +2158,7 @@ gl124_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, { status = SANE_STATUS_GOOD; } - else /* flat bed scanners */ + else /* flat bed scanners */ { status = gl124_stop_action (dev); if (status != SANE_STATUS_GOOD) @@ -2043,12 +2175,51 @@ gl124_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, } -/** @brief Moves the slider to the home (top) position slowly - * */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status +/** rewind scan + * Move back by the same amount of distance than previous scan. + * @param dev device to rewind + * @returns SANE_STATUS_GOOD on success + */ +GENESYS_STATIC +SANE_Status gl124_rewind(Genesys_Device * dev) +{ + SANE_Status status; + uint8_t byte; + + DBGSTART; + + /* set motor reverse */ + RIE (sanei_genesys_read_register (dev, 0x02, &byte)); + byte |= 0x04; + RIE (sanei_genesys_write_register(dev, 0x02, byte)); + + /* and start scan, then wait completion */ + RIE (gl124_begin_scan (dev, dev->reg, SANE_TRUE)); + do + { + usleep(100*1000); + RIE (sanei_genesys_read_register (dev, REG100, &byte)); + } + while(byte & REG100_MOTMFLG); + RIE (gl124_end_scan (dev, dev->reg, SANE_TRUE)); + + /* restore direction */ + RIE (sanei_genesys_read_register (dev, 0x02, &byte)); + byte &= 0xfb; + RIE (sanei_genesys_write_register(dev, 0x02, byte)); + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/** Park head + * Moves the slider to the home (top) position slowly + * @param dev device to park + * @param wait_until_home true to make the function waiting for head + * to be home before returning, if fals returne immediately + * @returns SANE_STATUS_GOO on success */ +GENESYS_STATIC +SANE_Status gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) { Genesys_Register_Set local_reg[GENESYS_GL124_MAX_REGS]; @@ -2083,7 +2254,7 @@ gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) { sanei_genesys_print_status (val); } - usleep (100000); /* sleep 100 ms */ + usleep (100000); /* sleep 100 ms */ /* second is reliable */ status = sanei_genesys_get_status (dev, &val); @@ -2102,7 +2273,7 @@ gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) /* is sensor at home? */ if (val & HOMESNR) { - DBG (DBG_info, "%s: already at home, completed\n", __FUNCTION__); + DBG (DBG_info, "%s: already at home, completed\n", __func__); dev->scanhead_position_in_steps = 0; DBGCOMPLETED; return SANE_STATUS_GOOD; @@ -2114,7 +2285,7 @@ gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) status = gl124_feed (dev, 20, SANE_TRUE); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to do initial feed: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to do initial feed: %s\n", __func__, sane_strstatus (status)); return status; } } @@ -2176,7 +2347,7 @@ gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) if (wait_until_home) { - while (loop < 300) /* do not wait longer then 30 seconds */ + while (loop < 300) /* do not wait longer then 30 seconds */ { status = sanei_genesys_get_status (dev, &val); if (status != SANE_STATUS_GOOD) @@ -2187,14 +2358,14 @@ gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) return status; } - if (val & HOMESNR) /* home sensor */ + if (val & HOMESNR) /* home sensor */ { DBG (DBG_info, "gl124_slow_back_home: reached home position\n"); DBGCOMPLETED; dev->scanhead_position_in_steps = 0; return SANE_STATUS_GOOD; } - usleep (100000); /* sleep 100 ms */ + usleep (100000); /* sleep 100 ms */ ++loop; } @@ -2228,7 +2399,7 @@ gl124_feed (Genesys_Device * dev, unsigned int steps, int reverse) uint8_t val; DBGSTART; - DBG (DBG_io, "%s: steps=%d\n", __FUNCTION__, steps); + DBG (DBG_io, "%s: steps=%d\n", __func__, steps); /* prepare local registers */ memcpy (local_reg, dev->reg, GENESYS_GL124_MAX_REGS * sizeof (Genesys_Register_Set)); @@ -2254,7 +2425,7 @@ gl124_feed (Genesys_Device * dev, unsigned int steps, int reverse) SCAN_FLAG_IGNORE_LINE_DISTANCE); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to set up registers: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; } @@ -2273,7 +2444,7 @@ gl124_feed (Genesys_Device * dev, unsigned int steps, int reverse) r->value &= ~REG01_SCAN; /* set up for reverse if needed */ - if(reverse) + if(reverse) { r = sanei_genesys_get_address (local_reg, REG02); r->value |= REG02_MTRREV; @@ -2285,7 +2456,7 @@ gl124_feed (Genesys_Device * dev, unsigned int steps, int reverse) status = gl124_start_action (dev); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to start motor: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus (status)); gl124_stop_action (dev); /* restore original registers */ @@ -2336,14 +2507,14 @@ gl124_search_start_position (Genesys_Device * dev) dpi, dpi, 0, - 0, /*we should give a small offset here~60 steps */ + 0, /*we should give a small offset here~60 steps */ 600, dev->model->search_lines, 8, 1, dev->settings.scan_method, SCAN_MODE_GRAY, - 1, /*green */ + 1, /*green */ SCAN_FLAG_DISABLE_SHADING | SCAN_FLAG_DISABLE_GAMMA | SCAN_FLAG_IGNORE_LINE_DISTANCE | @@ -2351,7 +2522,7 @@ gl124_search_start_position (Genesys_Device * dev) if (status!=SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to init scan registers: %s\n", __FUNCTION__, + "%s: failed to init scan registers: %s\n", __func__, sane_strstatus (status)); return status; } @@ -2448,10 +2619,10 @@ gl124_init_regs_for_coarse_calibration (Genesys_Device * dev) uint8_t cksel; DBGSTART; - cksel = (dev->calib_reg[reg_0x18].value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ + cksel = (dev->calib_reg[reg_0x18].value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ /* set line size */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ + if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ channels = 3; else channels = 1; @@ -2540,7 +2711,7 @@ gl124_init_regs_for_shading (Genesys_Device * dev) move = SANE_UNFIX (dev->model->y_offset_calib); move = (move * (dev->motor.base_ydpi/4)) / MM_PER_INCH; } - DBG (DBG_io, "%s: move=%d steps\n", __FUNCTION__, move); + DBG (DBG_io, "%s: move=%d steps\n", __func__, move); status = gl124_init_scan_regs (dev, dev->calib_reg, @@ -2563,7 +2734,7 @@ gl124_init_regs_for_shading (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); return status; } @@ -2574,7 +2745,7 @@ gl124_init_regs_for_shading (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to bulk write registers: %s\n", __FUNCTION__, + "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus (status)); return status; } @@ -2613,14 +2784,14 @@ gl124_init_regs_for_scan (Genesys_Device * dev) status = sanei_genesys_get_status (dev, &val); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to read status: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; } status = sanei_genesys_read_register (dev, REG100, &val40); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to read reg100: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to read reg100: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; } @@ -2632,14 +2803,14 @@ gl124_init_regs_for_scan (Genesys_Device * dev) status = sanei_genesys_get_status (dev, &val); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to read status: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; } status = sanei_genesys_read_register (dev, REG100, &val40); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to read reg100: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to read reg100: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; } @@ -2666,14 +2837,14 @@ gl124_init_regs_for_scan (Genesys_Device * dev) move = SANE_UNFIX (dev->model->y_offset); move += dev->settings.tl_y; move = (move * move_dpi) / MM_PER_INCH; - DBG (DBG_info, "%s: move=%f steps\n", __FUNCTION__, move); + DBG (DBG_info, "%s: move=%f steps\n", __func__, move); if(channels*dev->settings.yres>=600 && move>700) { status = gl124_feed (dev, move-500, SANE_FALSE); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to move to scan area\n",__FUNCTION__); + DBG (DBG_error, "%s: failed to move to scan area\n",__func__); return status; } move=500; @@ -2737,7 +2908,7 @@ gl124_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) uint8_t val,*buffer,*ptr,*src; DBGSTART; - DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__FUNCTION__,size); + DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__func__,size); /* logical size of a color as seen by generic code of the frontend */ length = (uint32_t) (size / 3); @@ -2748,13 +2919,13 @@ gl124_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) { endpixel=segcnt; } - DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, SEGCNT=%d\n",__FUNCTION__,strpixel,endpixel,endpixel-strpixel,segcnt); + DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, SEGCNT=%d\n",__func__,strpixel,endpixel,endpixel-strpixel,segcnt); /* compute deletion factor */ sanei_genesys_get_double(dev->reg,REG_DPISET,&dpiset); dpihw=sanei_genesys_compute_dpihw(dev,dpiset); factor=dpihw/dpiset; - DBG( DBG_io2, "%s: factor=%d\n",__FUNCTION__,factor); + DBG( DBG_io2, "%s: factor=%d\n",__func__,factor); /* binary data logging */ if(DBG_LEVEL>=DBG_data) @@ -2774,7 +2945,7 @@ gl124_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) segcnt*=2*2; pixels=endpixel-strpixel; - DBG( DBG_io2, "%s: using chunks of %d bytes (%d shading data pixels)\n",__FUNCTION__,length, length/4); + DBG( DBG_io2, "%s: using chunks of %d bytes (%d shading data pixels)\n",__func__,length, length/4); buffer=(uint8_t *)malloc(pixels*dev->segnb); memset(buffer,0,pixels*dev->segnb); @@ -2892,7 +3063,7 @@ move_to_calibration_area (Genesys_Device * dev) SCAN_FLAG_IGNORE_LINE_DISTANCE); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); return status; } @@ -2904,7 +3075,7 @@ move_to_calibration_area (Genesys_Device * dev) /* write registers and scan data */ RIEF (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL124_MAX_REGS), line); - DBG (DBG_info, "%s: starting line reading\n", __FUNCTION__); + DBG (DBG_info, "%s: starting line reading\n", __func__); RIEF (gl124_begin_scan (dev, dev->calib_reg, SANE_TRUE), line); RIEF (sanei_genesys_read_data_from_scanner (dev, line, size), line); @@ -2992,11 +3163,11 @@ gl124_led_calibration (Genesys_Device * dev) SCAN_FLAG_IGNORE_LINE_DISTANCE); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); return status; } - total_size = num_pixels * channels * (depth/8) * 1; /* colors * bytes_per_color * scan lines */ + total_size = num_pixels * channels * (depth/8) * 1; /* colors * bytes_per_color * scan lines */ line = malloc (total_size); if (!line) return SANE_STATUS_NO_MEM; @@ -3190,7 +3361,7 @@ gl124_offset_calibration (Genesys_Device * dev) gl124_set_motor_power (dev->calib_reg, SANE_FALSE); /* allocate memory for scans */ - total_size = pixels * channels * lines * (bpp/8); /* colors * bytes_per_color * scan lines */ + total_size = pixels * channels * lines * (bpp/8); /* colors * bytes_per_color * scan lines */ first_line = malloc (total_size); if (!first_line) @@ -3503,7 +3674,7 @@ gl124_init_regs_for_warmup (Genesys_Device * dev, num_pixels = dev->current_setup.pixels; - *total_size = num_pixels * 3 * 1; /* colors * bytes_per_color * scan lines */ + *total_size = num_pixels * 3 * 1; /* colors * bytes_per_color * scan lines */ gl124_set_motor_power (reg, SANE_FALSE); RIE (dev->model->cmd_set->bulk_write_register (dev, reg, GENESYS_GL124_MAX_REGS)); @@ -3512,12 +3683,10 @@ gl124_init_regs_for_warmup (Genesys_Device * dev, return SANE_STATUS_GOOD; } -/** +/** @brief default GPIO values * set up GPIO/GPOE for idle state -WRITE GPIO[17-21]= GPIO19 -WRITE GPOE[17-21]= GPOE21 GPOE20 GPOE19 GPOE18 -genesys_write_register(0xa8,0x3e) -GPIO(0xa8)=0x3e + * @param dev device to set up + * @return SANE_STATUS_GOOD unless a GPIO register cannot be written */ static SANE_Status gl124_init_gpio (Genesys_Device * dev) @@ -3528,13 +3697,16 @@ gl124_init_gpio (Genesys_Device * dev) DBGSTART; /* per model GPIO layout */ - if ((strcmp (dev->model->name, "canon-lide-110") == 0) - ||(strcmp (dev->model->name, "canon-lide-120") == 0)) + if (strcmp (dev->model->name, "canon-lide-110") == 0) { idx = 0; } + else if (strcmp (dev->model->name, "canon-lide-110") == 0) + { + idx = 2; + } else - { /* canon LiDE 210 and 220 case */ + { /* canon LiDE 210 and 220 case */ idx = 1; } @@ -3568,7 +3740,7 @@ gl124_init_memory_layout (Genesys_Device * dev) idx = 0; } else - { /* canon LiDE 210 and 220 case */ + { /* canon LiDE 210 and 220 case */ idx = 1; } @@ -3587,18 +3759,18 @@ gl124_init_memory_layout (Genesys_Device * dev) /* size for each buffer is 0x16d*1k word */ sanei_genesys_write_register (dev, 0xe0, layouts[idx].re0); sanei_genesys_write_register (dev, 0xe1, layouts[idx].re1); -/* R-Channel ODD image buffer end-address 0x0291->0x148800 => size=0xB6800*/ + /* R-Channel ODD image buffer end-address 0x0291->0x148800 => size=0xB6800*/ sanei_genesys_write_register (dev, 0xe2, layouts[idx].re2); sanei_genesys_write_register (dev, 0xe3, layouts[idx].re3); /* R-Channel EVEN image buffer 0x0292 */ sanei_genesys_write_register (dev, 0xe4, layouts[idx].re4); sanei_genesys_write_register (dev, 0xe5, layouts[idx].re5); -/* R-Channel EVEN image buffer end-address 0x03ff*/ + /* R-Channel EVEN image buffer end-address 0x03ff*/ sanei_genesys_write_register (dev, 0xe6, layouts[idx].re6); sanei_genesys_write_register (dev, 0xe7, layouts[idx].re7); -/* same for green, since CIS, same addresses */ + /* same for green, since CIS, same addresses */ sanei_genesys_write_register (dev, 0xe8, layouts[idx].re0); sanei_genesys_write_register (dev, 0xe9, layouts[idx].re1); sanei_genesys_write_register (dev, 0xea, layouts[idx].re2); @@ -3725,7 +3897,8 @@ gl124_update_hardware_sensors (Genesys_Scanner * s) * add another per scanner button profile struct to avoid growing * hard-coded button mapping here. */ - if(s->dev->model->gpo_type == GPO_CANONLIDE110) + if((s->dev->model->gpo_type == GPO_CANONLIDE110) + ||(s->dev->model->gpo_type == GPO_CANONLIDE120)) { if (s->val[OPT_SCAN_SW].b == s->last_val[OPT_SCAN_SW].b) s->val[OPT_SCAN_SW].b = (val & 0x01) == 0; @@ -3755,7 +3928,7 @@ gl124_update_hardware_sensors (Genesys_Scanner * s) /** the gl124 command set */ static Genesys_Command_Set gl124_cmd_set = { - "gl124-generic", /* the name of this set */ + "gl124-generic", /* the name of this set */ gl124_init, gl124_init_regs_for_warmup, @@ -3792,6 +3965,7 @@ static Genesys_Command_Set gl124_cmd_set = { gl124_led_calibration, gl124_slow_back_home, + gl124_rewind, sanei_genesys_bulk_write_register, NULL, diff --git a/backend/genesys_gl124.h b/backend/genesys_gl124.h index 25f99c3..9ca6afd 100644 --- a/backend/genesys_gl124.h +++ b/backend/genesys_gl124.h @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2010-2013 Stphane Voltz + Copyright (C) 2010-2016 Stéphane Voltz This file is part of the SANE package. @@ -44,71 +44,71 @@ #include "genesys.h" #define REG01 0x01 -#define REG01_CISSET 0x80 -#define REG01_DOGENB 0x40 -#define REG01_DVDSET 0x20 +#define REG01_CISSET 0x80 +#define REG01_DOGENB 0x40 +#define REG01_DVDSET 0x20 #define REG01_STAGGER 0x10 -#define REG01_COMPENB 0x08 +#define REG01_COMPENB 0x08 #define REG01_TRUEGRAY 0x04 -#define REG01_SHDAREA 0x02 -#define REG01_SCAN 0x01 - -#define REG02 0x02 -#define REG02_NOTHOME 0x80 -#define REG02_ACDCDIS 0x40 -#define REG02_AGOHOME 0x20 -#define REG02_MTRPWR 0x10 -#define REG02_FASTFED 0x08 -#define REG02_MTRREV 0x04 -#define REG02_HOMENEG 0x02 -#define REG02_LONGCURV 0x01 +#define REG01_SHDAREA 0x02 +#define REG01_SCAN 0x01 + +#define REG02 0x02 +#define REG02_NOTHOME 0x80 +#define REG02_ACDCDIS 0x40 +#define REG02_AGOHOME 0x20 +#define REG02_MTRPWR 0x10 +#define REG02_FASTFED 0x08 +#define REG02_MTRREV 0x04 +#define REG02_HOMENEG 0x02 +#define REG02_LONGCURV 0x01 #define REG03 0x03 -#define REG03_LAMPDOG 0x80 -#define REG03_AVEENB 0x40 -#define REG03_XPASEL 0x20 -#define REG03_LAMPPWR 0x10 -#define REG03_LAMPTIM 0x0f - -#define REG04 0x04 -#define REG04_LINEART 0x80 -#define REG04_BITSET 0x40 -#define REG04_FILTER 0x30 +#define REG03_LAMPDOG 0x80 +#define REG03_AVEENB 0x40 +#define REG03_XPASEL 0x20 +#define REG03_LAMPPWR 0x10 +#define REG03_LAMPTIM 0x0f + +#define REG04 0x04 +#define REG04_LINEART 0x80 +#define REG04_BITSET 0x40 +#define REG04_FILTER 0x30 #define REG04_AFEMOD 0x07 -#define REG05 0x05 -#define REG05_DPIHW 0xc0 -#define REG05_DPIHW_600 0x00 -#define REG05_DPIHW_1200 0x40 -#define REG05_DPIHW_2400 0x80 -#define REG05_DPIHW_4800 0xc0 -#define REG05_MTLLAMP 0x30 -#define REG05_GMMENB 0x08 -#define REG05_ENB20M 0x04 -#define REG05_MTLBASE 0x03 - -#define REG06 0x06 -#define REG06_SCANMOD 0xe0 -#define REG06S_SCANMOD 5 -#define REG06_PWRBIT 0x10 -#define REG06_GAIN4 0x08 -#define REG06_OPTEST 0x07 - -#define REG07_LAMPSIM 0x80 - -#define REG08_DRAM2X 0x80 +#define REG05 0x05 +#define REG05_DPIHW 0xc0 +#define REG05_DPIHW_600 0x00 +#define REG05_DPIHW_1200 0x40 +#define REG05_DPIHW_2400 0x80 +#define REG05_DPIHW_4800 0xc0 +#define REG05_MTLLAMP 0x30 +#define REG05_GMMENB 0x08 +#define REG05_ENB20M 0x04 +#define REG05_MTLBASE 0x03 + +#define REG06 0x06 +#define REG06_SCANMOD 0xe0 +#define REG06S_SCANMOD 5 +#define REG06_PWRBIT 0x10 +#define REG06_GAIN4 0x08 +#define REG06_OPTEST 0x07 + +#define REG07_LAMPSIM 0x80 + +#define REG08_DRAM2X 0x80 #define REG08_MPENB 0x20 #define REG08_CIS_LINE 0x10 #define REG08_IR2_ENB 0x08 #define REG08_IR1_ENB 0x04 #define REG08_ENB24M 0x01 -#define REG09_MCNTSET 0xc0 +#define REG09_MCNTSET 0xc0 #define REG09_EVEN1ST 0x20 #define REG09_BLINE1ST 0x10 -#define REG09_BACKSCAN 0x08 -#define REG09_OUTINV 0x04 -#define REG09_SHORTTG 0x02 +#define REG09_BACKSCAN 0x08 +#define REG09_OUTINV 0x04 +#define REG09_SHORTTG 0x02 #define REG09S_MCNTSET 6 #define REG09S_CLKSET 4 @@ -136,55 +136,55 @@ #define REG0B_48MHZ 0x60 #define REG0B_60MHZ 0x80 -#define REG0D 0x0d +#define REG0D 0x0d #define REG0D_MTRP_RDY 0x80 #define REG0D_FULLSTP 0x10 #define REG0D_CLRMCNT 0x04 #define REG0D_CLRDOCJM 0x02 -#define REG0D_CLRLNCNT 0x01 - -#define REG0F 0x0f - -#define REG16_CTRLHI 0x80 -#define REG16_TOSHIBA 0x40 -#define REG16_TGINV 0x20 -#define REG16_CK1INV 0x10 -#define REG16_CK2INV 0x08 -#define REG16_CTRLINV 0x04 -#define REG16_CKDIS 0x02 -#define REG16_CTRLDIS 0x01 - -#define REG17_TGMODE 0xc0 -#define REG17_SNRSYN 0x0f - -#define REG18 0x18 -#define REG18_CNSET 0x80 -#define REG18_DCKSEL 0x60 -#define REG18_CKTOGGLE 0x10 -#define REG18_CKDELAY 0x0c -#define REG18_CKSEL 0x03 - -#define REG1A_SW2SET 0x80 -#define REG1A_SW1SET 0x40 -#define REG1A_MANUAL3 0x02 -#define REG1A_MANUAL1 0x01 -#define REG1A_CK4INV 0x08 -#define REG1A_CK3INV 0x04 -#define REG1A_LINECLP 0x02 +#define REG0D_CLRLNCNT 0x01 + +#define REG0F 0x0f + +#define REG16_CTRLHI 0x80 +#define REG16_TOSHIBA 0x40 +#define REG16_TGINV 0x20 +#define REG16_CK1INV 0x10 +#define REG16_CK2INV 0x08 +#define REG16_CTRLINV 0x04 +#define REG16_CKDIS 0x02 +#define REG16_CTRLDIS 0x01 + +#define REG17_TGMODE 0xc0 +#define REG17_SNRSYN 0x0f + +#define REG18 0x18 +#define REG18_CNSET 0x80 +#define REG18_DCKSEL 0x60 +#define REG18_CKTOGGLE 0x10 +#define REG18_CKDELAY 0x0c +#define REG18_CKSEL 0x03 + +#define REG1A_SW2SET 0x80 +#define REG1A_SW1SET 0x40 +#define REG1A_MANUAL3 0x02 +#define REG1A_MANUAL1 0x01 +#define REG1A_CK4INV 0x08 +#define REG1A_CK3INV 0x04 +#define REG1A_LINECLP 0x02 #define REG1C_TBTIME 0x07 -#define REG1D 0x1d -#define REG1D_CK4LOW 0x80 -#define REG1D_CK3LOW 0x40 -#define REG1D_CK1LOW 0x20 -#define REG1D_LINESEL 0x1f +#define REG1D 0x1d +#define REG1D_CK4LOW 0x80 +#define REG1D_CK3LOW 0x40 +#define REG1D_CK1LOW 0x20 +#define REG1D_LINESEL 0x1f #define REG1DS_LINESEL 0 #define REG1E 0x1e -#define REG1E_WDTIME 0xf0 +#define REG1E_WDTIME 0xf0 #define REG1ES_WDTIME 4 -#define REG1E_WDTIME 0xf0 +#define REG1E_WDTIME 0xf0 #define REG30 0x30 #define REG31 0x31 @@ -243,18 +243,18 @@ #define REGB1 0xb1 #define REGB2 0xb2 -#define REGB2_Z1MOD 0x1f +#define REGB2_Z1MOD 0x1f #define REGB3 0xb3 -#define REGB3_Z1MOD 0xff +#define REGB3_Z1MOD 0xff #define REGB4 0xb4 -#define REGB4_Z1MOD 0xff +#define REGB4_Z1MOD 0xff #define REGB5 0xb5 -#define REGB5_Z2MOD 0x1f +#define REGB5_Z2MOD 0x1f #define REGB6 0xb6 -#define REGB6_Z2MOD 0xff +#define REGB6_Z2MOD 0xff #define REGB7 0xb7 -#define REGB7_Z2MOD 0xff +#define REGB7_Z2MOD 0xff #define REG100 0x100 #define REG100_DOCSNR 0x80 @@ -537,6 +537,7 @@ typedef struct /** @brief gpio layout * describes initial gpio settings for a given model + * registers 0x31 to 0x38 */ static Gpio_layout gpios[]={ /* LiDE 110 */ @@ -547,6 +548,10 @@ static Gpio_layout gpios[]={ { 0x9f, 0x59, 0x01, 0x80, 0x5f, 0x01, 0x00 }, + /* LiDE 120 */ + { + 0x9f, 0x53, 0x01, 0x80, 0x5f, 0x01, 0x00 + }, }; typedef struct @@ -565,12 +570,13 @@ typedef struct } Memory_layout; static Memory_layout layouts[]={ - /* LIDE 110 */ - { + /* LIDE 110, 120 */ + { /* 0xd0 0xd1 0xd2 */ 0x0a, 0x15, 0x20, + /* 0xe0 0xe1 0xe2 0xe3 0xe4 0xe5 0xe6 0xe7 */ 0x00, 0xac, 0x08, 0x55, 0x08, 0x56, 0x0f, 0xff }, - /* LIDE 210 */ + /* LIDE 210, 220 */ { 0x0a, 0x1f, 0x34, 0x01, 0x24, 0x08, 0x91, 0x08, 0x92, 0x0f, 0xff @@ -590,8 +596,8 @@ typedef struct { int half_ccd; /**> half ccd mode */ int exposure; /**> exposure */ int ck1map; /**> CK1MAP */ - int ck3map; /**> CK2MAP */ - int ck4map; /**> CK3MAP */ + int ck3map; /**> CK3MAP */ + int ck4map; /**> CK4MAP */ int segcnt; /**> SEGCNT */ int tg0cnt; /**> TG0CNT */ int expdummy; /**> exposure dummy */ @@ -603,6 +609,8 @@ typedef struct { uint8_t reg20; /**> register 0x20 value */ uint8_t reg61; /**> register 0x61 value */ uint8_t reg98; /**> register 0x98 value */ + uint8_t reg16; /**> register 0x16 value */ + uint8_t reg70; /**> register 0x70 value */ } Sensor_Profile; static size_t order_01[]={0,1}; @@ -610,58 +618,68 @@ static size_t order_0213[]={0,2,1,3}; /* *INDENT-OFF* */ -/** - * database of sensor profiles +/** @brief database of sensor profiles + * database of sensor profiles giving for each sensor and a given resolution, the period, and timings + * to setup the sensor for the scan. */ static Sensor_Profile sensors[]={ /* LiDE 110 */ - {CIS_CANONLIDE110, 600, 1, 2768, 0x1e, 0x9f, 0x55, 2584, 154, 101, 388, 574, 393, NULL , 0x00, 0x0c, 0x20, 0x21}, - {CIS_CANONLIDE110, 600, 0, 5360, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, NULL , 0x00, 0x0a, 0x20, 0x21}, - {CIS_CANONLIDE110, 1200, 0, 10528, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22}, - {CIS_CANONLIDE110, 2400, 0, 20864, 0x1e, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24}, + {CIS_CANONLIDE110, 600, 1, 2768, 0x1e, 0x9f, 0x55, 2584, 154, 101, 388, 574, 393, NULL , 0x00, 0x0c, 0x20, 0x21, 0x00, 0x00}, + {CIS_CANONLIDE110, 600, 0, 5360, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, NULL , 0x00, 0x0a, 0x20, 0x21, 0x00, 0x00}, + {CIS_CANONLIDE110, 1200, 0, 10528, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22, 0x00, 0x00}, + {CIS_CANONLIDE110, 2400, 0, 20864, 0x1e, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24, 0x00, 0x00}, - /* LiDE 120 */ - {CIS_CANONLIDE120, 600, 1, 2768, 0x0f, 0x9f, 0x55, 2552, 112, 94, 388, 574, 393, NULL , 0x00, 0x02, 0x20, 0x21}, - {CIS_CANONLIDE120, 600, 0, 5360, 0x0f, 0x9f, 0x55, 5168, 163, 94, 388, 574, 393, NULL , 0x00, 0x0a, 0x20, 0x21}, - {CIS_CANONLIDE120, 1200, 0, 10528, 0x0f, 0x9f, 0x55, 5168, 163, 94, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22}, - {CIS_CANONLIDE120, 2400, 0, 20864, 0x0f, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24}, + /* LiDE 120 */ + {CIS_CANONLIDE120, 600, 1, 4608, 0x0f, 0x00, 0x55, 2552, 112, 94, 894, 1044, 994, NULL , 0x00, 0x02, 0x20, 0x21, 0x15, 0x00}, + {CIS_CANONLIDE120, 600, 0, 5360, 0x0f, 0x00, 0x55, 5104, 139, 94, 1644, 1994, 1844, NULL , 0x00, 0x02, 0x20, 0x21, 0x11, 0x1f}, + {CIS_CANONLIDE120, 1200, 0, 10528, 0x0f, 0x00, 0x55,10208, 192, 94, 3194, 3794, 3594, NULL , 0x00, 0x02, 0x20, 0x21, 0x15, 0x1f}, + {CIS_CANONLIDE120, 2400, 0, 20864, 0x0f, 0x00, 0x55,20416, 298, 94, 6244, 7544, 7094, NULL , 0x00, 0x02, 0x20, 0x21, 0x11, 0x00}, /* LiDE 210 */ - {CIS_CANONLIDE210, 600, 1, 2768, 0x1e, 0x9f, 0x55, 2584, 154, 101, 388, 574, 393, NULL , 0x00, 0x0c, 0x20, 0x21}, - {CIS_CANONLIDE210, 600, 0, 5360, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, NULL , 0x00, 0x0a, 0x20, 0x21}, - {CIS_CANONLIDE210, 1200, 0, 10528, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22}, - {CIS_CANONLIDE210, 2400, 0, 20864, 0x1e, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24}, + {CIS_CANONLIDE210, 600, 1, 2768, 0x1e, 0x9f, 0x55, 2584, 154, 101, 388, 574, 393, NULL , 0x00, 0x0c, 0x20, 0x21, 0x00, 0x00}, + {CIS_CANONLIDE210, 600, 0, 5360, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, NULL , 0x00, 0x0a, 0x20, 0x21, 0x00, 0x00}, + {CIS_CANONLIDE210, 1200, 0, 10528, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22, 0x00, 0x00}, + {CIS_CANONLIDE210, 2400, 0, 20864, 0x1e, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24, 0x00, 0x00}, /* LiDE 220 */ - {CIS_CANONLIDE220, 600, 1, 2768, 0x0f, 0x9f, 0x55, 2584, 154, 101, 388, 574, 393, NULL , 0x00, 0x0c, 0x20, 0x21}, - {CIS_CANONLIDE220, 600, 0, 5360, 0x0f, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, NULL , 0x00, 0x0a, 0x20, 0x21}, - {CIS_CANONLIDE220, 1200, 0, 10528, 0x0f, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22}, - {CIS_CANONLIDE220, 2400, 0, 20864, 0x0f, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24}, + {CIS_CANONLIDE220, 600, 1, 2768, 0x0f, 0x9f, 0x55, 2584, 154, 101, 388, 574, 393, NULL , 0x00, 0x0c, 0x20, 0x21, 0x00, 0x00}, + {CIS_CANONLIDE220, 600, 0, 5360, 0x0f, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, NULL , 0x00, 0x0a, 0x20, 0x21, 0x00, 0x00}, + {CIS_CANONLIDE220, 1200, 0, 10528, 0x0f, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22, 0x00, 0x00}, + {CIS_CANONLIDE220, 2400, 0, 20864, 0x0f, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24, 0x00, 0x00}, }; #define MOVE_DPI 200 #define MOVE_EXPOSURE 2304 - +/** @brief reference slope tables + * slope table directly extracted from USB logs, with a 'termination' value of 0. + */ static uint32_t lide210_fast[] = { 62496, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2051, 1432, 1372, 1323, 1280, 1246, 1216, 1188, 1163, 1142, 1121, 1101, 1084, 1068, 1051, 1036, 1020, 1007, 995, 983, 971, 959, 949, 938, 929, 917, 908, 900, 891, 882, 874, 866, 857, 849, 843, 835, 829, 821, 816, 808, 802, 795, 789, 784, 778, 773, 765, 760, 755, 749, 744, 739, 734, 731, 726, 721, 716, 711, 707, 702, 698, 693, 690, 685, 682, 677, 672, 669, 665, 662, 657, 654, 650, 647, 644, 639, 637, 632, 629, 626, 622, 619, 617, 614, 610, 607, 604, 601, 599, 595, 592, 589, 587, 584, 581, 579, 576, 572, 570, 567, 564, 562, 559, 557, 554, 552, 549, 547, 544, 542, 539, 538, 536, 533, 531, 529, 526, 524, 522, 519, 518, 516, 513, 511, 509, 506, 505, 503, 501, 498, 497, 495, 493, 491, 490, 487, 485, 483, 482, 480, 477, 476, 474, 472, 470, 469, 467, 465, 464, 462, 460, 458, 456, 455, 453, 451, 450, 448, 447, 445, 444, 442, 440, 439, 437, 436, 434, 433, 431, 430, 428, 427, 425, 423, 422, 420, 419, 417, 417, 415, 414, 413, 411, 410, 408, 407, 405, 404, 402, 401, 400, 399, 398, 396, 395, 393, 392, 391, 390, 389, 387, 386, 385, 383, 382, 381, 380, 379, 377, 376, 375, 374, 373, 371, 370, 369, 368, 367, 366, 364, 363, 363, 361, 360, 359, 358, 357, 356, 355, 353, 352, 352, 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, 335, 335, 0}; -static uint32_t lide110_ok[] = { 62496, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2051, 1961, 1901, 1852, 1809, 1775, 1745, 1717, 1692, 1671, 1650, 1630, 1613, 1597,1580,1565,1549,1536,1524,1512,1500,1488,1478,1467,1458,1446,1437,1429,1420,1411,1403,1395,1386,1378,1372,1364,1358,1350,1345,1337,1331,1324,1318,1313,1307,1302,1294,1289,1284,1278,1273,1268,1263,1260,1255,1250,1245,1240,1236,1231,1227,1222,1219,1214,1211,1206,1201,1198,1194,1191,1186,1183,1179,1176,1173,1168,1166,1161,1158,1155,1151,1148,1146,1143,1139,1136,1133,1130,1128,1124,1121,1118,1116,1113,1110,1108,1105,1101,1099,1096,1093,1091,1088,1086,1083,1081,1078,1076,1073,1071,1068,1067,1065,1062,1060,1058,1055,1053,1051,1048,1047,1045,1042,1040,1038,1035,1034,1032,1030,1027,1026,1024,1022,1020,1019,1016,1014,1012,1011,1009,1006,1005,1003,1001,999,998,996,994,993,991,989,987,985,984,982,980,979,977,976,974,973,971,969,968,966,965,963,962,960,959,957,956,954,952,951,949,948,946,946,944,943,942,940,939,937,936,934,933,931,930,929,928,927,925,924,922,921,920,919,918,916,915,914,912,911,910,909,908,906,905,904,903,902,900,899,898,897,896,895,893,892,892,890,889,888,887,886,885,884,882,881,881,879,878,877,876,875,874,873,872,871,870,869,868,867,864,857, 849, 843, 835, 829, 821, 816, 808, 802, 795, 789, 784, 778, 773, 765, 760, 755, 749, 744, 739, 734, 731, 726, 721, 716, 711, 707, 702, 698, 693, 690, 685, 682, 677, 672, 669, 665, 662, 657, 654, 650, 647, 644, 639, 637, 632, 629, 626, 622, 619, 617, 614, 610, 607, 604, 601, 599, 595, 592, 589, 587, 584, 581, 579, 576, 572, 570, 567, 564, 562, 559, 557, 554, 552, 549, 547, 544, 542, 539, 538, 536, 533, 531, 529, 526, 524, 522, 519, 518, 516, 513, 511, 509, 506, 505, 503, 501, 498, 497, 495, 493, 491, 490, 487, 485, 483, 482, 480, 477, 476, 474, 472, 470, 469, 467, 465, 464, 462, 460, 458, 456, 455, 453, 451, 450, 448, 447, 445, 444, 442, 440, 439, 437, 436, 434, 433, 431, 430, 428, 427, 425, 423, 422, 420, 419, 417, 417, 415, 414, 413, 411, 410, 408, 407, 405, 404, 402, 401, 400, 399, 398, 396, 395, 393, 392, 391, 390, 389, 387, 386, 385, 383, 382, 381, 380, 379, 377, 376, 375, 374, 373, 371, 370, 369, 368, 367, 366, 364, 363, 363, 361, 360, 359, 358, 357, 356, 355, 353, 352, 352, 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, 335, 335, 0}; +static uint32_t lide110_ok[] = { 62496, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2051, 1961, 1901, 1852, 1809, 1775, 1745, 1717, 1692, 1671, 1650, 1630, 1613, 1597, 1580, 1565, 1549, 1536, 1524, 1512, 1500, 1488, 1478, 1467, 1458, 1446, 1437, 1429, 1420, 1411, 1403, 1395, 1386, 1378, 1372, 1364, 1358, 1350, 1345, 1337, 1331, 1324, 1318, 1313, 1307, 1302, 1294, 1289, 1284, 1278, 1273, 1268, 1263, 1260, 1255, 1250, 1245, 1240, 1236, 1231, 1227, 1222, 1219, 1214, 1211, 1206, 1201, 1198, 1194, 1191, 1186, 1183, 1179, 1176, 1173, 1168, 1166, 1161, 1158, 1155, 1151, 1148, 1146, 1143, 1139, 1136, 1133, 1130, 1128, 1124, 1121, 1118, 1116, 1113, 1110, 1108, 1105, 1101, 1099, 1096, 1093, 1091, 1088, 1086, 1083, 1081, 1078, 1076, 1073, 1071, 1068, 1067, 1065, 1062, 1060, 1058, 1055, 1053, 1051, 1048, 1047, 1045, 1042, 1040, 1038, 1035, 1034, 1032, 1030, 1027, 1026, 1024, 1022, 1020, 1019, 1016, 1014, 1012, 1011, 1009, 1006, 1005, 1003, 1001, 999, 998, 996, 994, 993, 991, 989, 987, 985, 984, 982, 980, 979, 977, 976, 974, 973, 971, 969, 968, 966, 965, 963, 962, 960, 959, 957, 956, 954, 952, 951, 949, 948, 946, 946, 944, 943, 942, 940, 939, 937, 936, 934, 933, 931, 930, 929, 928, 927, 925, 924, 922, 921, 920, 919, 918, 916, 915, 914, 912, 911, 910, 909, 908, 906, 905, 904, 903, 902, 900, 899, 898, 897, 896, 895, 893, 892, 892, 890, 889, 888, 887, 886, 885, 884, 882, 881, 881, 879, 878, 877, 876, 875, 874, 873, 872, 871, 870, 869, 868, 867, 864, 857, 849, 843, 835, 829, 821, 816, 808, 802, 795, 789, 784, 778, 773, 765, 760, 755, 749, 744, 739, 734, 731, 726, 721, 716, 711, 707, 702, 698, 693, 690, 685, 682, 677, 672, 669, 665, 662, 657, 654, 650, 647, 644, 639, 637, 632, 629, 626, 622, 619, 617, 614, 610, 607, 604, 601, 599, 595, 592, 589, 587, 584, 581, 579, 576, 572, 570, 567, 564, 562, 559, 557, 554, 552, 549, 547, 544, 542, 539, 538, 536, 533, 531, 529, 526, 524, 522, 519, 518, 516, 513, 511, 509, 506, 505, 503, 501, 498, 497, 495, 493, 491, 490, 487, 485, 483, 482, 480, 477, 476, 474, 472, 470, 469, 467, 465, 464, 462, 460, 458, 456, 455, 453, 451, 450, 448, 447, 445, 444, 442, 440, 439, 437, 436, 434, 433, 431, 430, 428, 427, 425, 423, 422, 420, 419, 417, 417, 415, 414, 413, 411, 410, 408, 407, 405, 404, 402, 401, 400, 399, 398, 396, 395, 393, 392, 391, 390, 389, 387, 386, 385, 383, 382, 381, 380, 379, 377, 376, 375, 374, 373, 371, 370, 369, 368, 367, 366, 364, 363, 363, 361, 360, 359, 358, 357, 356, 355, 353, 352, 352, 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, 335, 335, 0}; +static uint32_t lide120_fast[] = { 62496, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 1957, 1845, 1768, 1710, 1665, 1624, 1588, 1557, 1529, 1504, 1481, 1458, 1440, 1420, 1403, 1386, 1370, 1356, 1343, 1329, 1316, 1303, 1293, 1280, 1270, 1260, 1250, 1241, 1231, 1222, 1214, 1206, 1197, 1189, 1182, 1174, 1167, 1160, 1153, 1147, 1140, 1133, 1128, 1121, 1116, 1110, 1104, 1099, 1093, 1088, 1082, 1077, 1072, 1067, 1062, 1058, 1053, 1049, 1045, 1040, 1035, 1032, 1027, 1023, 1020, 1015, 1012, 1008, 1004, 1000, 997, 993, 989, 985, 982, 979, 975, 972, 969, 966, 963, 959, 956, 953, 950, 947, 945, 942, 939, 936, 933, 930, 928, 925, 922, 920, 917, 914, 911, 909, 907, 904, 902, 899, 897, 895, 892, 890, 888, 886, 883, 881, 879, 876, 874, 872, 870, 864, 864, 0}; +static uint32_t lide120_ok[] = { 62496, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2286, 2264, 2248, 2232, 2221, 2211, 2205, 2195, 2190, 2180, 2175, 2170, 2160, 2155, 2150, 2145, 2140, 2135, 2130, 2125, 2121, 2116, 2111, 2106, 2106, 2102, 2097, 2092, 2087, 2087, 2083, 2078, 2074, 2074, 2069, 2064, 2064, 2060, 2055, 2055, 2051, 2051, 2046, 2042, 2042, 2038, 2038, 2033, 2029, 2029, 2024, 2024, 2020, 2010, 2010, 670*2, 0}; static uint32_t lide110_slow[] = { 62496, 7896, 2632, 0}; +static uint32_t lide120_slow[] = { 62464, 7896, 2632, 0}; static uint32_t lide110_max[] = { 62496, 31296, 10432, 0}; +static uint32_t lide120_max[] = { 62592, 62592, 41728, 31296, 10432, 0}; static uint32_t lide210_max[] = { 62496, 31296, 20864, 10432, 0}; -/** - * database of motor profiles - */ - - /* NEXT LPERIOD=PREVIOUS*2-192 */ +/** @brief database of motor profiles + * database of motor profiles, for each exposure deigned for the sensor, gives the reference slope table to use + * for scan. + */ static Motor_Profile motors[]={ {MOTOR_CANONLIDE110, 2768, 0, lide210_fast}, - {MOTOR_CANONLIDE110, 5360, 0, lide110_ok}, + {MOTOR_CANONLIDE110, 5360, 1, lide110_ok}, {MOTOR_CANONLIDE110, 10528, 1, lide110_slow}, {MOTOR_CANONLIDE110, 20864, 2, lide110_max}, + {MOTOR_CANONLIDE120, 4608, 0, lide120_fast}, + {MOTOR_CANONLIDE120, 5360, 1, lide120_ok}, + {MOTOR_CANONLIDE120, 10528, 2, lide120_slow}, + {MOTOR_CANONLIDE120, 20864, 2, lide120_max}, {MOTOR_CANONLIDE210, 2768, 0, lide210_fast}, - {MOTOR_CANONLIDE210, 5360, 0, lide110_ok}, + {MOTOR_CANONLIDE210, 5360, 1, lide110_ok}, {MOTOR_CANONLIDE210, 10528, 1, lide110_slow}, {MOTOR_CANONLIDE210, 20864, 2, lide210_max}, {0, 0, 0, NULL}, @@ -670,10 +688,10 @@ static Motor_Profile motors[]={ GENESYS_STATIC SANE_Status gl124_init_scan_regs (Genesys_Device * dev, Genesys_Register_Set * reg, - float xres, /*dpi */ - float yres, /*dpi */ - float startx, /*optical_res, from dummy_pixel+1 */ - float starty, /*base_ydpi, from home! */ + float xres, /*dpi */ + float yres, /*dpi */ + float startx, /*optical_res, from dummy_pixel+1 */ + float starty, /*base_ydpi, from home! */ float pixels, float lines, unsigned int depth, diff --git a/backend/genesys_gl646.c b/backend/genesys_gl646.c index 19b4585..58952fb 100644 --- a/backend/genesys_gl646.c +++ b/backend/genesys_gl646.c @@ -3,7 +3,7 @@ Copyright (C) 2003 Oliver Rauch Copyright (C) 2003, 2004 Henning Meier-Geinitz Copyright (C) 2004 Gerhard Jaeger - Copyright (C) 2004-2013 Stphane Voltz + Copyright (C) 2004-2013 Stéphane Voltz Copyright (C) 2005-2009 Pierre Willenbrock Copyright (C) 2007 Luke Copyright (C) 2011 Alexey Osipov for HP2400 description @@ -1999,7 +1999,7 @@ gl646_set_fe (Genesys_Device * dev, uint8_t set, int dpi) /* Wolfson type frontend */ if ((dev->reg[reg_0x04].value & REG04_FESET) != 0x03) { - DBG (DBG_proc, "gl646_set_fe(): unspported frontend type %d\n", + DBG (DBG_proc, "gl646_set_fe(): unsupported frontend type %d\n", dev->reg[reg_0x04].value & REG04_FESET); return SANE_STATUS_UNSUPPORTED; } @@ -3066,7 +3066,7 @@ gl646_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to setup for scan: %s\n", __FUNCTION__, + "%s: failed to setup for scan: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; @@ -3082,7 +3082,7 @@ gl646_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to set frontend: %s\n", __FUNCTION__, + "%s: failed to set frontend: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; @@ -3429,7 +3429,7 @@ setup_for_scan (Genesys_Device * dev, DBG (DBG_info, "%s settings:\nResolution: %ux%uDPI\n" "Lines : %u\nPixels : %u\nStartpos : %.3f/%.3f\nScan mode : %d\nScan method: %s\n\n", - __FUNCTION__, + __func__, settings.xres, settings.yres, settings.lines, settings.pixels, settings.tl_x, settings.tl_y, settings.scan_mode, settings.scan_method == SCAN_METHOD_FLATBED ? "flatbed" : "XPA"); @@ -3482,16 +3482,16 @@ setup_for_scan (Genesys_Device * dev, move += (settings.tl_y * dev->motor.optical_ydpi) / MM_PER_INCH; } - DBG (DBG_info, "%s: move=%d steps\n", __FUNCTION__, move); + DBG (DBG_info, "%s: move=%d steps\n", __func__, move); /* security check */ if (move < 0) { - DBG (DBG_error, "%s: overriding negative move value %d\n", __FUNCTION__, move); + DBG (DBG_error, "%s: overriding negative move value %d\n", __func__, move); move = 0; } } - DBG (DBG_info, "%s: move=%d steps\n", __FUNCTION__, move); + DBG (DBG_info, "%s: move=%d steps\n", __func__, move); /* pixels are allways given at full CCD optical resolution */ /* use detected left margin and fixed value */ @@ -3550,7 +3550,7 @@ setup_for_scan (Genesys_Device * dev, depth); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed setup registers: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed setup registers: %s\n", __func__, sane_strstatus (status)); return status; } @@ -3585,7 +3585,7 @@ setup_for_scan (Genesys_Device * dev, sanei_genesys_read_reg_from_set (regs, 0x21)); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to send slope table 0: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to send slope table 0: %s\n", __func__, sane_strstatus (status)); return status; } @@ -3594,7 +3594,7 @@ setup_for_scan (Genesys_Device * dev, sanei_genesys_read_reg_from_set (regs, 0x6b)); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to send slope table 1: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to send slope table 1: %s\n", __func__, sane_strstatus (status)); return status; } @@ -4414,7 +4414,7 @@ gl646_coarse_gain_calibration (Genesys_Device * dev, int dpi) if (status != SANE_STATUS_GOOD) { free(line); - DBG (DBG_error, "%s: failed to scan first line\n", __FUNCTION__); + DBG (DBG_error, "%s: failed to scan first line\n", __func__); return status; } @@ -4472,7 +4472,7 @@ gl646_coarse_gain_calibration (Genesys_Device * dev, int dpi) dev->frontend.gain[k]++; DBG (DBG_proc, - "%s: channel %d, average = %.2f, gain = %d\n", __FUNCTION__, + "%s: channel %d, average = %.2f, gain = %d\n", __func__, k, average[k], dev->frontend.gain[k]); } free (line); @@ -4484,7 +4484,7 @@ gl646_coarse_gain_calibration (Genesys_Device * dev, int dpi) dev->frontend.gain[2] = dev->frontend.gain[0]; } - DBG (DBG_info, "%s: gains=(%d,%d,%d)\n", __FUNCTION__, + DBG (DBG_info, "%s: gains=(%d,%d,%d)\n", __func__, dev->frontend.gain[0], dev->frontend.gain[1], dev->frontend.gain[2]); DBGCOMPLETED; return status; @@ -5767,6 +5767,7 @@ static Genesys_Command_Set gl646_cmd_set = { gl646_led_calibration, gl646_slow_back_home, + NULL, gl646_bulk_write_register, gl646_bulk_write_data, diff --git a/backend/genesys_gl646.h b/backend/genesys_gl646.h index 9e328c5..4c47d03 100644 --- a/backend/genesys_gl646.h +++ b/backend/genesys_gl646.h @@ -2,7 +2,7 @@ Copyright (C) 2003-2004 Henning Meier-Geinitz Copyright (C) 2004-2005 Gerhard Jaeger - Copyright (C) 2004-2013 Stphane Voltz + Copyright (C) 2004-2013 Stéphane Voltz Copyright (C) 2005-2009 Pierre Willenbrock This file is part of the SANE package. @@ -276,10 +276,10 @@ gl646_move_to_ta (Genesys_Device * dev); /** * sets up the scanner for a scan, registers, gamma tables, shading tables * and slope tables, based on the parameter struct. - * @param device device to set up - * @param regs registers to set up - * @param settings settings of the scan - * @param split true if move before scan has to be done + * @param dev device to set up + * @param regs registers to set up + * @param settings settings of the scan + * @param split true if move before scan has to be done * @param xcorrection true if scanner's X geometry must be taken into account to * compute X, ie add left margins * @param ycorrection true if scanner's Y geometry must be taken into account to diff --git a/backend/genesys_gl841.c b/backend/genesys_gl841.c index 2b16c67..43c01ff 100644 --- a/backend/genesys_gl841.c +++ b/backend/genesys_gl841.c @@ -3,7 +3,7 @@ Copyright (C) 2003 Oliver Rauch Copyright (C) 2003, 2004 Henning Meier-Geinitz Copyright (C) 2004 Gerhard Jaeger - Copyright (C) 2004-2013 Stphane Voltz + Copyright (C) 2004-2013 Stéphane Voltz Copyright (C) 2005 Philipp Schmid Copyright (C) 2005-2009 Pierre Willenbrock Copyright (C) 2006 Laurent Charpentier @@ -204,7 +204,7 @@ printtime(char *p) { gettimeofday(&t,NULL); dif = t.tv_sec - start_time.tv_sec; dif = dif*1000000 + t.tv_usec - start_time.tv_usec; - fprintf(stderr,"%s %llus\n",p,dif); + fprintf(stderr,"%s %lluµs\n",p,dif); } */ @@ -1158,7 +1158,7 @@ gl841_send_slope_table (Genesys_Device * dev, int table_nr, { sprintf (msg+strlen(msg), ",%d", slope_table[i]); } - DBG (DBG_io, "%s: %s\n", __FUNCTION__, msg); + DBG (DBG_io, "%s: %s\n", __func__, msg); } status = @@ -1204,7 +1204,7 @@ gl841_set_lide80_fe (Genesys_Device * dev, uint8_t set) if (set == AFE_INIT) { - DBG (DBG_proc, "%s(): setting DAC %u\n", __FUNCTION__, + DBG (DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); /* sets to default values */ @@ -1214,21 +1214,21 @@ gl841_set_lide80_fe (Genesys_Device * dev, uint8_t set) status = sanei_genesys_fe_write_data (dev, 0x00, dev->frontend.reg[0]); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: writing reg 0x00 failed: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: writing reg 0x00 failed: %s\n", __func__, sane_strstatus (status)); return status; } status = sanei_genesys_fe_write_data (dev, 0x03, dev->frontend.reg[1]); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: writing reg 0x03 failed: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: writing reg 0x03 failed: %s\n", __func__, sane_strstatus (status)); return status; } status = sanei_genesys_fe_write_data (dev, 0x06, dev->frontend.reg[2]); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: writing reg 0x06 failed: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: writing reg 0x06 failed: %s\n", __func__, sane_strstatus (status)); return status; } @@ -1239,21 +1239,21 @@ gl841_set_lide80_fe (Genesys_Device * dev, uint8_t set) status = sanei_genesys_fe_write_data (dev, 0x00, dev->frontend.reg[0]); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: writing reg 0x00 failed: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: writing reg 0x00 failed: %s\n", __func__, sane_strstatus (status)); return status; } status = sanei_genesys_fe_write_data (dev, 0x06, dev->frontend.offset[0]); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: writing offset failed: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: writing offset failed: %s\n", __func__, sane_strstatus (status)); return status; } status = sanei_genesys_fe_write_data (dev, 0x03, dev->frontend.gain[0]); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: writing gain failed: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: writing gain failed: %s\n", __func__, sane_strstatus (status)); return status; } @@ -1734,7 +1734,7 @@ gl841_init_motor_regs(Genesys_Device * dev, 0, 0, &scan_power_mode); - DBG (DBG_info, "%s : fast_exposure=%d pixels\n", __FUNCTION__, fast_exposure); + DBG (DBG_info, "%s : fast_exposure=%d pixels\n", __func__, fast_exposure); } if (action == MOTOR_ACTION_HOME_FREE) { @@ -1911,7 +1911,7 @@ gl841_init_motor_regs_scan(Genesys_Device * dev, 0, &dummy_power_mode); - DBG (DBG_info, "%s : fast_exposure=%d pixels\n", __FUNCTION__, fast_exposure); + DBG (DBG_info, "%s : fast_exposure=%d pixels\n", __func__, fast_exposure); memset(slow_slope_table,0xff,512); @@ -2453,7 +2453,7 @@ gl841_init_optical_regs_scan(Genesys_Device * dev, sanei_genesys_set_double(reg, REG_DPISET, dpiset); sanei_genesys_set_double(reg, REG_STRPIXEL, start); sanei_genesys_set_double(reg, REG_ENDPIXEL, end); - DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d\n",__FUNCTION__,start,end); + DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d\n",__func__,start,end); /* words(16bit) before gamma, conversion to 8 bit or lineart*/ words_per_line = (pixels * dpiset) / gl841_get_dpihw(dev); @@ -2794,7 +2794,7 @@ dummy \ scanned lines start, used_pixels, &scan_power_mode); - DBG (DBG_info, "%s : exposure_time=%d pixels\n", __FUNCTION__, exposure_time); + DBG (DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); /*** optical parameters ***/ /* in case of dynamic lineart, we use an internal 8 bit gray scan @@ -3160,7 +3160,7 @@ dummy \ scanned lines start, used_pixels, &scan_power_mode); - DBG (DBG_info, "%s : exposure_time=%d pixels\n", __FUNCTION__, exposure_time); + DBG (DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); /* scanned area must be enlarged by max color shift needed */ max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,0); @@ -3451,7 +3451,7 @@ gl841_stop_action (Genesys_Device * dev) uint8_t val40, val; unsigned int loop; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); status = sanei_genesys_get_status (dev, &val); if (DBG_LEVEL >= DBG_io) @@ -3463,7 +3463,7 @@ gl841_stop_action (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read home sensor: %s\n",__FUNCTION__, + "%s: failed to read home sensor: %s\n",__func__, sane_strstatus (status)); DBGCOMPLETED; return status; @@ -3472,7 +3472,7 @@ gl841_stop_action (Genesys_Device * dev) /* only stop action if needed */ if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) { - DBG (DBG_info, "%s: already stopped\n", __FUNCTION__); + DBG (DBG_info, "%s: already stopped\n", __func__); DBGCOMPLETED; return SANE_STATUS_GOOD; } @@ -3485,7 +3485,7 @@ gl841_stop_action (Genesys_Device * dev) status = gl841_bulk_write_register (dev, local_reg, GENESYS_GL841_MAX_REGS); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus (status)); return status; } @@ -3505,7 +3505,7 @@ gl841_stop_action (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read home sensor: %s\n",__FUNCTION__, + "%s: failed to read home sensor: %s\n",__func__, sane_strstatus (status)); DBGCOMPLETED; return status; @@ -3557,7 +3557,7 @@ gl841_eject_document (Genesys_Device * dev) DBG (DBG_proc, "gl841_eject_document\n"); - if (!dev->model->is_sheetfed == SANE_TRUE) + if (dev->model->is_sheetfed == SANE_FALSE) { DBG (DBG_proc, "gl841_eject_document: there is no \"eject sheet\"-concept for non sheet fed\n"); DBG (DBG_proc, "gl841_eject_document: finished\n"); @@ -3762,14 +3762,14 @@ gl841_detect_document_end (Genesys_Device * dev) uint8_t val; size_t total_bytes_to_read; - DBG (DBG_proc, "%s: begin\n", __FUNCTION__); + DBG (DBG_proc, "%s: begin\n", __func__); RIE (gl841_get_paper_sensor (dev, &paper_loaded)); /* sheetfed scanner uses home sensor as paper present */ if ((dev->document == SANE_TRUE) && !paper_loaded) { - DBG (DBG_info, "%s: no more document\n", __FUNCTION__); + DBG (DBG_info, "%s: no more document\n", __func__); dev->document = SANE_FALSE; /* we can't rely on total_bytes_to_read since the frontend @@ -3781,14 +3781,14 @@ gl841_detect_document_end (Genesys_Device * dev) { dev->total_bytes_to_read = dev->total_bytes_read; dev->read_bytes_left = 0; - DBG (DBG_proc, "%s: finished\n", __FUNCTION__); + DBG (DBG_proc, "%s: finished\n", __func__); return SANE_STATUS_GOOD; } if (dev->settings.scan_mode == SCAN_MODE_COLOR && dev->model->is_cis) { scancnt/=3; } - DBG (DBG_io, "%s: scancnt=%u lines\n",__FUNCTION__, scancnt); + DBG (DBG_io, "%s: scancnt=%u lines\n",__func__, scancnt); RIE(sanei_genesys_read_register(dev, 0x25, &val)); lincnt=65536*val; @@ -3796,26 +3796,26 @@ gl841_detect_document_end (Genesys_Device * dev) lincnt+=256*val; RIE(sanei_genesys_read_register(dev, 0x27, &val)); lincnt+=val; - DBG (DBG_io, "%s: lincnt=%u lines\n",__FUNCTION__, lincnt); + DBG (DBG_io, "%s: lincnt=%u lines\n",__func__, lincnt); postcnt=(SANE_UNFIX(dev->model->post_scan)/MM_PER_INCH)*dev->settings.yres; - DBG (DBG_io, "%s: postcnt=%u lines\n",__FUNCTION__, postcnt); + DBG (DBG_io, "%s: postcnt=%u lines\n",__func__, postcnt); /* the current scancnt is also the final one, so we use it to * compute total bytes to read. We also add the line count to eject document */ total_bytes_to_read=(scancnt+postcnt)*dev->wpl; - DBG (DBG_io, "%s: old total_bytes_to_read=%u\n",__FUNCTION__,(unsigned int)dev->total_bytes_to_read); - DBG (DBG_io, "%s: new total_bytes_to_read=%u\n",__FUNCTION__,(unsigned int)total_bytes_to_read); + DBG (DBG_io, "%s: old total_bytes_to_read=%u\n",__func__,(unsigned int)dev->total_bytes_to_read); + DBG (DBG_io, "%s: new total_bytes_to_read=%u\n",__func__,(unsigned int)total_bytes_to_read); /* assign new end value */ if(dev->total_bytes_to_read>total_bytes_to_read) { - DBG (DBG_io, "%s: scan shorten\n",__FUNCTION__); + DBG (DBG_io, "%s: scan shorten\n",__func__); dev->total_bytes_to_read=total_bytes_to_read; } } - DBG (DBG_proc, "%s: finished\n", __FUNCTION__); + DBG (DBG_proc, "%s: finished\n", __func__); return SANE_STATUS_GOOD; } @@ -4184,7 +4184,7 @@ gl841_search_start_position (Genesys_Device * dev) SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE); if(status!=SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to init scan registers: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to init scan registers: %s\n", __func__, sane_strstatus (status)); return status; } @@ -4194,7 +4194,7 @@ gl841_search_start_position (Genesys_Device * dev) gl841_bulk_write_register (dev, local_reg, GENESYS_GL841_MAX_REGS); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus (status)); return status; } @@ -4346,7 +4346,7 @@ gl841_init_regs_for_shading (Genesys_Device * dev) float starty=0; DBGSTART; - DBG (DBG_proc, "%s: lines = %d\n", __FUNCTION__, (int)(dev->calib_lines)); + DBG (DBG_proc, "%s: lines = %d\n", __func__, (int)(dev->calib_lines)); /* initial calibration reg values */ memcpy (dev->calib_reg, dev->reg, GENESYS_GL841_MAX_REGS * sizeof (Genesys_Register_Set)); @@ -4383,7 +4383,7 @@ gl841_init_regs_for_shading (Genesys_Device * dev) SCAN_FLAG_IGNORE_LINE_DISTANCE); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); return status; } @@ -4393,7 +4393,7 @@ gl841_init_regs_for_shading (Genesys_Device * dev) status = gl841_bulk_write_register (dev, dev->calib_reg, GENESYS_GL841_MAX_REGS); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus (status)); return status; } @@ -4491,7 +4491,7 @@ gl841_init_regs_for_scan (Genesys_Device * dev) if(dev->model->is_cis && dev->settings.true_gray && dev->settings.scan_mode != SCAN_MODE_COLOR) { - DBG (DBG_io, "%s: activating LEDADD\n", __FUNCTION__); + DBG (DBG_io, "%s: activating LEDADD\n", __func__); flags |= SCAN_FLAG_ENABLE_LEDADD; } @@ -4610,11 +4610,11 @@ gl841_led_calibration (Genesys_Device * dev) { move = SANE_UNFIX (dev->model->y_offset_calib); move = (move * (dev->motor.base_ydpi)) / MM_PER_INCH; - DBG (DBG_io, "%s: move=%d lines\n", __FUNCTION__, move); + DBG (DBG_io, "%s: move=%d lines\n", __func__, move); status = gl841_feed(dev, move); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to feed: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to feed: %s\n", __func__, sane_strstatus (status)); return status; } @@ -4644,7 +4644,7 @@ gl841_led_calibration (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to setup scan: %s\n", __FUNCTION__, + "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); return status; } @@ -4694,7 +4694,7 @@ gl841_led_calibration (Genesys_Device * dev) RIE (gl841_bulk_write_register (dev, dev->calib_reg, GENESYS_GL841_MAX_REGS)); - DBG (DBG_info, "%s: starting line reading\n", __FUNCTION__); + DBG (DBG_info, "%s: starting line reading\n", __func__); RIE (gl841_begin_scan (dev, dev->calib_reg, SANE_TRUE)); RIE (sanei_genesys_read_data_from_scanner (dev, line, total_size)); @@ -4727,7 +4727,7 @@ gl841_led_calibration (Genesys_Device * dev) avg[j] /= num_pixels; } - DBG(DBG_info,"%s: average: %d,%d,%d\n", __FUNCTION__, avg[0], avg[1], avg[2]); + DBG(DBG_info,"%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); acceptable = SANE_TRUE; @@ -4798,7 +4798,7 @@ gl841_led_calibration (Genesys_Device * dev) } while (!acceptable && turn < 100); - DBG(DBG_info,"%s: acceptable exposure: %d,%d,%d\n", __FUNCTION__, exp[0],exp[1],exp[2]); + DBG(DBG_info,"%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0],exp[1],exp[2]); /* cleanup before return */ free (line); @@ -4891,7 +4891,7 @@ ad_fe_offset_calibration (Genesys_Device * dev) dev->frontend.offset[2] = (top+bottom)/2; /* scan line */ - DBG (DBG_info, "%s: starting line reading\n",__FUNCTION__); + DBG (DBG_info, "%s: starting line reading\n",__func__); gl841_bulk_write_register (dev, dev->calib_reg, GENESYS_GL841_MAX_REGS); gl841_set_fe(dev, AFE_SET); gl841_begin_scan (dev, dev->calib_reg, SANE_TRUE); @@ -4909,7 +4909,7 @@ ad_fe_offset_calibration (Genesys_Device * dev) average+=line[i]; } average/=total_size; - DBG (DBG_data, "%s: average=%d\n", __FUNCTION__, average); + DBG (DBG_data, "%s: average=%d\n", __func__, average); /* if min value is above target, the current value becomes the new top * else it is the new bottom */ @@ -4928,7 +4928,7 @@ ad_fe_offset_calibration (Genesys_Device * dev) dev->frontend.offset[1]=0; dev->frontend.offset[2]=0; free(line); - DBG (DBG_info, "%s: offset=(%d,%d,%d)\n", __FUNCTION__, + DBG (DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, dev->frontend.offset[0], dev->frontend.offset[1], dev->frontend.offset[2]); @@ -5374,18 +5374,18 @@ gl841_coarse_gain_calibration (Genesys_Device * dev, int dpi) int lines=1; int move; - DBG (DBG_proc, "%s: dpi=%d\n", __FUNCTION__, dpi); + DBG (DBG_proc, "%s: dpi=%d\n", __func__, dpi); /* feed to white strip if needed */ if (dev->model->y_offset_calib>0) { move = SANE_UNFIX (dev->model->y_offset_calib); move = (move * (dev->motor.base_ydpi)) / MM_PER_INCH; - DBG (DBG_io, "%s: move=%d lines\n", __FUNCTION__, move); + DBG (DBG_io, "%s: move=%d lines\n", __func__, move); status = gl841_feed(dev, move); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to feed: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to feed: %s\n", __func__, sane_strstatus (status)); return status; } @@ -5414,7 +5414,7 @@ gl841_coarse_gain_calibration (Genesys_Device * dev, int dpi) if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); return status; } @@ -5475,7 +5475,7 @@ gl841_coarse_gain_calibration (Genesys_Device * dev, int dpi) dev->frontend.gain[j] = gain[j]*12; } - DBG (DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __FUNCTION__, + DBG (DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], gain[j],dev->frontend.gain[j]); } @@ -5516,7 +5516,7 @@ gl841_coarse_gain_calibration (Genesys_Device * dev, int dpi) } free (line); - DBG (DBG_info, "%s: gain=(%d,%d,%d)\n", __FUNCTION__, + DBG (DBG_info, "%s: gain=(%d,%d,%d)\n", __func__, dev->frontend.gain[0], dev->frontend.gain[1], dev->frontend.gain[2]); @@ -5663,7 +5663,7 @@ gl841_is_compatible_calibration (Genesys_Device * dev, if ((time.tv_sec - cache->last_calibration > 30 * 60) && (dev->model->is_sheetfed == SANE_FALSE)) { - DBG (DBG_proc, "%s: expired entry, non compatible cache\n",__FUNCTION__); + DBG (DBG_proc, "%s: expired entry, non compatible cache\n",__func__); return SANE_STATUS_UNSUPPORTED; } } @@ -5969,7 +5969,7 @@ gl841_search_strip (Genesys_Device * dev, SANE_Bool forward, SANE_Bool black) if (status != SANE_STATUS_GOOD) { free(data); - DBG (DBG_error, "%s: failed to setup for scan: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to setup for scan: %s\n", __func__, sane_strstatus (status)); return status; } @@ -6208,7 +6208,7 @@ gl841_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) uint8_t *buffer,*ptr,*src; DBGSTART; - DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__FUNCTION__,size); + DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__func__,size); /* old method if no SHDAREA */ if((dev->reg[reg_0x01].value & REG01_SHDAREA) == 0) @@ -6217,7 +6217,7 @@ gl841_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) status = sanei_genesys_set_buffer_address (dev, 0x0000); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to set buffer address: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus (status)); return status; } @@ -6226,7 +6226,7 @@ gl841_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) status = dev->model->cmd_set->bulk_write_data (dev, 0x3c, data, size); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to send shading table: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to send shading table: %s\n", __func__, sane_strstatus (status)); return status; } @@ -6238,14 +6238,14 @@ gl841_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) length = (uint32_t) (size / 3); sanei_genesys_get_double(dev->reg,REG_STRPIXEL,&strpixel); sanei_genesys_get_double(dev->reg,REG_ENDPIXEL,&endpixel); - DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d\n",__FUNCTION__,strpixel,endpixel,endpixel-strpixel); + DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d\n",__func__,strpixel,endpixel,endpixel-strpixel); /* compute deletion/average factor */ sanei_genesys_get_double(dev->reg,REG_DPISET,&dpiset); dpihw = gl841_get_dpihw(dev); half=dev->current_setup.half_ccd+1; factor=dpihw/dpiset; - DBG( DBG_io2, "%s: dpihw=%d, dpiset=%d, half_ccd=%d, factor=%d\n",__FUNCTION__,dpihw,dpiset,half-1,factor); + DBG( DBG_io2, "%s: dpihw=%d, dpiset=%d, half_ccd=%d, factor=%d\n",__func__,dpihw,dpiset,half-1,factor); /* binary data logging */ if(DBG_LEVEL>=DBG_data) @@ -6269,11 +6269,11 @@ gl841_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) */ beginpixel = dev->sensor.CCD_start_xoffset / half; beginpixel += dev->sensor.dummy_pixel + 1; - DBG(DBG_io2, "%s: ORIGIN PIXEL=%d\n", __FUNCTION__, beginpixel); + DBG(DBG_io2, "%s: ORIGIN PIXEL=%d\n", __func__, beginpixel); beginpixel = (strpixel-beginpixel*2*2)/factor; - DBG(DBG_io2, "%s: BEGIN PIXEL=%d\n",__FUNCTION__,beginpixel/4); + DBG(DBG_io2, "%s: BEGIN PIXEL=%d\n",__func__,beginpixel/4); - DBG(DBG_io2, "%s: using chunks of %d bytes (%d shading data pixels)\n",__FUNCTION__,length, length/4); + DBG(DBG_io2, "%s: using chunks of %d bytes (%d shading data pixels)\n",__func__,length, length/4); buffer=(uint8_t *)malloc(pixels); memset(buffer,0,pixels); @@ -6352,6 +6352,7 @@ static Genesys_Command_Set gl841_cmd_set = { gl841_led_calibration, gl841_slow_back_home, + NULL, gl841_bulk_write_register, gl841_bulk_write_data, diff --git a/backend/genesys_gl841.h b/backend/genesys_gl841.h index bbb79f1..d1bd07e 100644 --- a/backend/genesys_gl841.h +++ b/backend/genesys_gl841.h @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2011-2013 Stphane Voltz + Copyright (C) 2011-2013 Stéphane Voltz This file is part of the SANE package. diff --git a/backend/genesys_gl843.c b/backend/genesys_gl843.c index 2b0d8fa..b47fb7e 100644 --- a/backend/genesys_gl843.c +++ b/backend/genesys_gl843.c @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2010-2013 Stphane Voltz + Copyright (C) 2010-2013 Stéphane Voltz This file is part of the SANE package. @@ -376,7 +376,7 @@ gl843_get_step_multiplier (Genesys_Register_Set * regs) value = 1; } } - DBG (DBG_io, "%s: step multiplier is %d\n", __FUNCTION__, value); + DBG (DBG_io, "%s: step multiplier is %d\n", __func__, value); return value; } @@ -452,7 +452,7 @@ static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi, int flags) /* default fallback */ if(idx<0) { - DBG (DBG_warn,"%s: using default sensor profile\n",__FUNCTION__); + DBG (DBG_warn,"%s: using default sensor profile\n",__func__); idx=0; } @@ -790,7 +790,7 @@ gl843_send_slope_table (Genesys_Device * dev, int table_nr, int i; char msg[10000]; - DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __FUNCTION__, + DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, table_nr, steps); table = (uint8_t *) malloc (steps * 2); @@ -807,7 +807,7 @@ gl843_send_slope_table (Genesys_Device * dev, int table_nr, { sprintf (msg+strlen(msg), "%d", slope_table[i]); } - DBG (DBG_io, "%s: %s\n", __FUNCTION__, msg); + DBG (DBG_io, "%s: %s\n", __func__, msg); } @@ -818,7 +818,7 @@ gl843_send_slope_table (Genesys_Device * dev, int table_nr, { DBG (DBG_error, "%s: write data failed writing slope table %d (%s)\n", - __FUNCTION__, table_nr, sane_strstatus (status)); + __func__, table_nr, sane_strstatus (status)); } free (table); @@ -957,7 +957,7 @@ gl843_init_motor_regs_scan (Genesys_Device * dev, lincnt=scan_lines; sanei_genesys_set_triple(reg,REG_LINCNT,lincnt); - DBG (DBG_io, "%s: lincnt=%d\n", __FUNCTION__, lincnt); + DBG (DBG_io, "%s: lincnt=%d\n", __func__, lincnt); /* compute register 02 value */ r = sanei_genesys_get_address (reg, REG02); @@ -1036,7 +1036,7 @@ gl843_init_motor_regs_scan (Genesys_Device * dev, { dist += fast_steps*2; } - DBG (DBG_io2, "%s: acceleration distance=%d\n", __FUNCTION__, dist); + DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); /* get sure when don't insane value : XXX STEF XXX in this case we should * fall back to single table move */ @@ -1046,7 +1046,7 @@ gl843_init_motor_regs_scan (Genesys_Device * dev, feedl = 1; sanei_genesys_set_triple(reg,REG_FEEDL,feedl); - DBG (DBG_io, "%s: feedl=%d\n", __FUNCTION__, feedl); + DBG (DBG_io, "%s: feedl=%d\n", __func__, feedl); /* doesn't seem to matter that much */ sanei_genesys_calculate_zmode2 (use_fast_fed, @@ -1179,13 +1179,13 @@ gl843_init_optical_regs_scan (Genesys_Device * dev, { tgtime=2; } - DBG (DBG_io2, "%s: tgtime=%d\n", __FUNCTION__, tgtime); + DBG (DBG_io2, "%s: tgtime=%d\n", __func__, tgtime); /* to manage high resolution device while keeping good * low resolution scanning speed, we make hardware dpi vary */ dpihw=sanei_genesys_compute_dpihw(dev, used_res); factor=dev->sensor.optical_res/dpihw; - DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __FUNCTION__, dpihw, factor); + DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); /* sensor parameters */ gl843_setup_sensor (dev, reg, dpihw, flags); @@ -1193,7 +1193,7 @@ gl843_init_optical_regs_scan (Genesys_Device * dev, /* resolution is divided according to CKSEL which is known once sensor is set up */ r = sanei_genesys_get_address (reg, REG18); cksel= (r->value & REG18_CKSEL)+1; - DBG (DBG_io2, "%s: cksel=%d\n", __FUNCTION__, cksel); + DBG (DBG_io2, "%s: cksel=%d\n", __func__, cksel); dpiset = used_res * cksel; /* start and end coordinate in optical dpi coordinates */ @@ -1218,7 +1218,7 @@ gl843_init_optical_regs_scan (Genesys_Device * dev, status = gl843_set_fe (dev, AFE_SET); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to set frontend: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus (status)); return status; } @@ -1329,12 +1329,12 @@ gl843_init_optical_regs_scan (Genesys_Device * dev, if(half_ccd) { sanei_genesys_set_double(reg,REG_DPISET,dpiset*4); - DBG (DBG_io2, "%s: dpiset used=%d\n", __FUNCTION__, dpiset*4); + DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset*4); } else { sanei_genesys_set_double(reg,REG_DPISET,dpiset); - DBG (DBG_io2, "%s: dpiset used=%d\n", __FUNCTION__, dpiset); + DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); } sanei_genesys_set_double(reg,REG_STRPIXEL,startx/tgtime); @@ -1355,22 +1355,22 @@ gl843_init_optical_regs_scan (Genesys_Device * dev, dev->wpl = words_per_line; dev->bpl = words_per_line; - DBG (DBG_io2, "%s: used_pixels=%d\n", __FUNCTION__, used_pixels); - DBG (DBG_io2, "%s: pixels =%d\n", __FUNCTION__, pixels); - DBG (DBG_io2, "%s: depth =%d\n", __FUNCTION__, depth); - DBG (DBG_io2, "%s: dev->bpl =%lu\n", __FUNCTION__, (unsigned long) dev->bpl); - DBG (DBG_io2, "%s: dev->len =%lu\n", __FUNCTION__, (unsigned long)dev->len); - DBG (DBG_io2, "%s: dev->dist =%lu\n", __FUNCTION__, (unsigned long)dev->dist); + DBG (DBG_io2, "%s: used_pixels=%d\n", __func__, used_pixels); + DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); + DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); + DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long) dev->bpl); + DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); + DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); words_per_line *= channels; /* MAXWD is expressed in 2 words unit */ /* nousedspace = (mem_bank_range * 1024 / 256 -1 ) * 4; */ sanei_genesys_set_triple(reg,REG_MAXWD,(words_per_line)>>1); - DBG (DBG_io2, "%s: words_per_line used=%d\n", __FUNCTION__, words_per_line); + DBG (DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); sanei_genesys_set_double(reg,REG_LPERIOD,exposure/tgtime); - DBG (DBG_io2, "%s: exposure used=%d\n", __FUNCTION__, exposure/tgtime); + DBG (DBG_io2, "%s: exposure used=%d\n", __func__, exposure/tgtime); r = sanei_genesys_get_address (reg, REG_DUMMY); r->value = dev->sensor.dummy_pixel * tgtime; @@ -1456,7 +1456,7 @@ gl843_init_scan_regs (Genesys_Device * dev, { stagger = (4 * yres) / dev->motor.base_ydpi; } - DBG (DBG_info, "%s : stagger=%d lines\n", __FUNCTION__, stagger); + DBG (DBG_info, "%s : stagger=%d lines\n", __func__, stagger); /* we enable true gray for cis scanners only, and just when doing * scan since color calibration is OK for this mode @@ -1498,7 +1498,7 @@ gl843_init_scan_regs (Genesys_Device * dev, /* compute correct pixels number */ used_pixels = (pixels * optical_res) / xres; - DBG (DBG_info, "%s: used_pixels=%d\n", __FUNCTION__, used_pixels); + DBG (DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); /* round up pixels number if needed */ if (used_pixels * xres < pixels * optical_res) @@ -1531,8 +1531,8 @@ gl843_init_scan_regs (Genesys_Device * dev, scan_step_type = sanei_genesys_compute_step_type(gl843_motors, dev->model->motor_type, exposure); } - DBG (DBG_info, "%s : exposure=%d pixels\n", __FUNCTION__, exposure); - DBG (DBG_info, "%s : scan_step_type=%d\n", __FUNCTION__, scan_step_type); + DBG (DBG_info, "%s : exposure=%d pixels\n", __func__, exposure); + DBG (DBG_info, "%s : scan_step_type=%d\n", __func__, scan_step_type); /*** optical parameters ***/ /* in case of dynamic lineart, we use an internal 8 bit gray scan @@ -1652,7 +1652,7 @@ gl843_init_scan_regs (Genesys_Device * dev, dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - DBG (DBG_info, "%s: current_setup.pixels=%d\n", __FUNCTION__, dev->current_setup.pixels); + DBG (DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); dev->current_setup.lines = lincnt; dev->current_setup.depth = depth; dev->current_setup.channels = channels; @@ -1777,7 +1777,7 @@ gl843_calculate_current_setup (Genesys_Device * dev) stagger = (4 * yres) / dev->motor.base_ydpi; else stagger = 0; - DBG (DBG_info, "%s: stagger=%d lines\n", __FUNCTION__, stagger); + DBG (DBG_info, "%s: stagger=%d lines\n", __func__, stagger); if(xres<=optical_res) used_res = xres; @@ -1790,11 +1790,11 @@ gl843_calculate_current_setup (Genesys_Device * dev) /* compute correct pixels number */ used_pixels = (pixels * optical_res) / xres; - DBG (DBG_info, "%s: used_pixels=%d\n", __FUNCTION__, used_pixels); + DBG (DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); /* exposure */ exposure = gl843_compute_exposure (dev, used_res, oflags); - DBG (DBG_info, "%s : exposure=%d pixels\n", __FUNCTION__, exposure); + DBG (DBG_info, "%s : exposure=%d pixels\n", __func__, exposure); /* it seems base_dpi of the G4050 motor is changed above 600 dpi*/ if (dev->model->motor_type == MOTOR_G4050 && yres>600) @@ -1817,7 +1817,7 @@ gl843_calculate_current_setup (Genesys_Device * dev) lincnt = lines + max_shift + stagger; dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - DBG (DBG_info, "%s: current_setup.pixels=%d\n", __FUNCTION__, dev->current_setup.pixels); + DBG (DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); dev->current_setup.lines = lincnt; dev->current_setup.depth = depth; dev->current_setup.channels = channels; @@ -1944,7 +1944,7 @@ gl843_stop_action (Genesys_Device * dev) uint8_t val40, val; unsigned int loop; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); status = sanei_genesys_get_status (dev, &val); if (DBG_LEVEL >= DBG_io) @@ -1957,17 +1957,17 @@ gl843_stop_action (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __FUNCTION__, + "%s: failed to read home sensor: %s\n", __func__, sane_strstatus (status)); - DBG (DBG_proc, "%s: completed\n", __FUNCTION__); + DBG (DBG_proc, "%s: completed\n", __func__); return status; } /* only stop action if needed */ if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) { - DBG (DBG_info, "%s: already stopped\n", __FUNCTION__); - DBG (DBG_proc, "%s: completed\n", __FUNCTION__); + DBG (DBG_info, "%s: already stopped\n", __func__); + DBG (DBG_proc, "%s: completed\n", __func__); return SANE_STATUS_GOOD; } @@ -1978,7 +1978,7 @@ gl843_stop_action (Genesys_Device * dev) status = sanei_genesys_write_register (dev, REG01, val); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to write register 01: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to write register 01: %s\n", __func__, sane_strstatus (status)); return status; } @@ -1997,7 +1997,7 @@ gl843_stop_action (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __FUNCTION__, + "%s: failed to read home sensor: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; @@ -2042,7 +2042,7 @@ gl843_get_paper_sensor (Genesys_Device * dev, SANE_Bool * paper_loaded) static SANE_Status gl843_eject_document (Genesys_Device * dev) { - DBG (DBG_proc, "%s: not implemented \n", __FUNCTION__); + DBG (DBG_proc, "%s: not implemented \n", __func__); if (dev == NULL) return SANE_STATUS_INVAL; return SANE_STATUS_GOOD; @@ -2052,7 +2052,7 @@ gl843_eject_document (Genesys_Device * dev) static SANE_Status gl843_load_document (Genesys_Device * dev) { - DBG (DBG_proc, "%s: not implemented \n", __FUNCTION__); + DBG (DBG_proc, "%s: not implemented \n", __func__); if (dev == NULL) return SANE_STATUS_INVAL; return SANE_STATUS_GOOD; @@ -2071,14 +2071,14 @@ gl843_detect_document_end (Genesys_Device * dev) unsigned int scancnt = 0; int flines, channels, depth, bytes_remain, sublines, bytes_to_flush, lines, sub_bytes, tmp, read_bytes_left; - DBG (DBG_proc, "%s: begin\n", __FUNCTION__); + DBG (DBG_proc, "%s: begin\n", __func__); RIE (gl843_get_paper_sensor (dev, &paper_loaded)); /* sheetfed scanner uses home sensor as paper present */ if ((dev->document == SANE_TRUE) && !paper_loaded) { - DBG (DBG_info, "%s: no more document\n", __FUNCTION__); + DBG (DBG_info, "%s: no more document\n", __func__); dev->document = SANE_FALSE; channels = dev->current_setup.channels; @@ -2193,7 +2193,7 @@ gl843_detect_document_end (Genesys_Device * dev) } } - DBG (DBG_proc, "%s: finished\n", __FUNCTION__); + DBG (DBG_proc, "%s: finished\n", __func__); return SANE_STATUS_GOOD; } @@ -2483,7 +2483,7 @@ static SANE_Status gl843_park_xpa_lamp (Genesys_Device * dev) status = gl843_start_action (dev); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to start motor: %s\n",__FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to start motor: %s\n",__func__, sane_strstatus (status)); gl843_stop_action (dev); /* restore original registers */ dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL843_MAX_REGS); @@ -2496,7 +2496,7 @@ static SANE_Status gl843_park_xpa_lamp (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read home sensor: %s\n",__FUNCTION__, + "%s: failed to read home sensor: %s\n",__func__, sane_strstatus (status)); return status; } @@ -2507,8 +2507,8 @@ static SANE_Status gl843_park_xpa_lamp (Genesys_Device * dev) if (val & REG41_HOMESNR) /* home sensor */ { - DBG (DBG_info, "%s: reached home position\n",__FUNCTION__); - DBG (DBG_proc, "%s: finished\n",__FUNCTION__); + DBG (DBG_info, "%s: reached home position\n",__func__); + DBG (DBG_proc, "%s: finished\n",__func__); /* clear GPOADF to avoid reparking again */ sanei_genesys_read_register (dev, REG6B, &val); @@ -2524,7 +2524,7 @@ static SANE_Status gl843_park_xpa_lamp (Genesys_Device * dev) } /* we are not parked here.... should we fail ? */ - DBG (DBG_info, "%s: XPA lamp is not parked\n", __FUNCTION__); + DBG (DBG_info, "%s: XPA lamp is not parked\n", __func__); DBGCOMPLETED; return SANE_STATUS_GOOD; } @@ -2564,7 +2564,7 @@ gl843_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) status = sanei_genesys_get_status (dev, &val); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to read home sensor: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus (status)); return status; } usleep (100000); /* sleep 100 ms */ @@ -2674,7 +2674,7 @@ gl843_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) return SANE_STATUS_IO_ERROR; } - DBG (DBG_info, "%s: scanhead is still moving\n", __FUNCTION__); + DBG (DBG_info, "%s: scanhead is still moving\n", __func__); DBGCOMPLETED; return SANE_STATUS_GOOD; } @@ -2926,7 +2926,7 @@ gl843_feed (Genesys_Device * dev, unsigned int steps) status = gl843_start_action (dev); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to start motor: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus (status)); gl843_stop_action (dev); /* restore original registers */ @@ -3000,7 +3000,7 @@ gl843_init_regs_for_shading (Genesys_Device * dev) dev->scanhead_position_in_steps += dev->calib_lines + move; sanei_genesys_get_double(dev->calib_reg,REG_STRPIXEL,&strpixel); - DBG (DBG_info, "%s: STRPIXEL=%d\n", __FUNCTION__, strpixel); + DBG (DBG_info, "%s: STRPIXEL=%d\n", __func__, strpixel); status = dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL843_MAX_REGS); if (status != SANE_STATUS_GOOD) @@ -3380,9 +3380,9 @@ dark_average_channel (uint8_t * data, unsigned int pixels, unsigned int lines, } if (count) avg[k] /= count; - DBG (DBG_info, "%s: avg[%d] = %d\n", __FUNCTION__, k, avg[k]); + DBG (DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); } - DBG (DBG_info, "%s: average = %d\n", __FUNCTION__, avg[channel]); + DBG (DBG_info, "%s: average = %d\n", __func__, avg[channel]); return avg[channel]; } @@ -3786,7 +3786,7 @@ gl843_init_regs_for_warmup (Genesys_Device * dev, if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); return status; } @@ -3875,7 +3875,7 @@ gl843_boot (Genesys_Device * dev, SANE_Bool cold) { RIE (sanei_genesys_read_register (dev, 0x00, &val)); DBG (DBG_info, - "%s: reported version for genesys chip is 0x%02x\n", __FUNCTION__, + "%s: reported version for genesys chip is 0x%02x\n", __func__, val); } @@ -3998,7 +3998,7 @@ SANE_Status gl843_move_to_ta (Genesys_Device * dev) status = gl843_feed (dev, feed); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to move to XPA calibration area\n", __FUNCTION__); + DBG (DBG_error, "%s: failed to move to XPA calibration area\n", __func__); return status; } @@ -4357,16 +4357,16 @@ gl843_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) /* 16 bit words, 2 words per color, 3 color channels */ offset=(strpixel-startx)*2*2*3; length=(endpixel-strpixel)*2*2*3; - DBG (DBG_info, "%s: STRPIXEL=%d, ENDPIXEL=%d, startx=%d\n", __FUNCTION__, strpixel, endpixel, startx); + DBG (DBG_info, "%s: STRPIXEL=%d, ENDPIXEL=%d, startx=%d\n", __func__, strpixel, endpixel, startx); } /* compute and allocate size for final data */ final_size = ((length+251) / 252) * 256; - DBG (DBG_io, "%s: final shading size=%04x (length=%d)\n", __FUNCTION__, final_size, length); + DBG (DBG_io, "%s: final shading size=%04x (length=%d)\n", __func__, final_size, length); final_data = (uint8_t *) malloc (final_size); if(final_data==NULL) { - DBG (DBG_error, "%s: failed to allocate memory for shading data\n", __FUNCTION__); + DBG (DBG_error, "%s: failed to allocate memory for shading data\n", __func__); return SANE_STATUS_NO_MEM; } memset(final_data,0x00,final_size); @@ -4390,7 +4390,7 @@ gl843_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) status = sanei_genesys_set_buffer_address (dev, 0); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to set buffer address: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus (status)); free(final_data); return status; } @@ -4398,7 +4398,7 @@ gl843_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) status = dev->model->cmd_set->bulk_write_data (dev, 0x3c, final_data, count); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to send shading table: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to send shading table: %s\n", __func__, sane_strstatus (status)); } free(final_data); @@ -4446,6 +4446,7 @@ static Genesys_Command_Set gl843_cmd_set = { gl843_led_calibration, gl843_slow_back_home, + NULL, sanei_genesys_bulk_write_register, gl843_bulk_write_data, diff --git a/backend/genesys_gl843.h b/backend/genesys_gl843.h index f31f0ee..4be46cc 100644 --- a/backend/genesys_gl843.h +++ b/backend/genesys_gl843.h @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2010-2013 Stphane Voltz + Copyright (C) 2010-2013 Stéphane Voltz This file is part of the SANE package. @@ -73,8 +73,8 @@ SANE_Status gl843_xpa_motor_off (Genesys_Device * dev); SANE_Status gl843_move_to_ta (Genesys_Device * dev); #endif -#define DBGSTART DBG (DBG_proc, "%s start\n", __FUNCTION__); -#define DBGCOMPLETED DBG (DBG_proc, "%s completed\n", __FUNCTION__); +#define DBGSTART DBG (DBG_proc, "%s start\n", __func__); +#define DBGCOMPLETED DBG (DBG_proc, "%s completed\n", __func__); #define REG01 0x01 #define REG01_CISSET 0x80 diff --git a/backend/genesys_gl846.c b/backend/genesys_gl846.c index 3991693..0716c17 100644 --- a/backend/genesys_gl846.c +++ b/backend/genesys_gl846.c @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2012-2013 Stphane Voltz + Copyright (C) 2012-2013 Stéphane Voltz This file is part of the SANE package. @@ -117,7 +117,7 @@ gl846_bulk_read_data (Genesys_Device * dev, uint8_t addr, if (status != SANE_STATUS_GOOD) { DBG (DBG_error, "%s failed while writing command: %s\n", - __FUNCTION__, sane_strstatus (status)); + __func__, sane_strstatus (status)); return status; } @@ -162,7 +162,7 @@ gl846_bulk_read_data (Genesys_Device * dev, uint8_t addr, DBG (DBG_io2, "gl846_bulk_read_data: %lu bytes of data read\n", (u_long) done); } - DBG (DBG_io2, "%s: read %lu bytes, %lu remaining\n", __FUNCTION__, + DBG (DBG_io2, "%s: read %lu bytes, %lu remaining\n", __func__, (u_long) size, (u_long) (target - size)); target -= size; @@ -269,7 +269,7 @@ gl846_get_step_multiplier (Genesys_Register_Set * regs) value = (r->value & 0x0f)>>1; value = 1 << value; } - DBG (DBG_io, "%s: step multiplier is %d\n", __FUNCTION__, value); + DBG (DBG_io, "%s: step multiplier is %d\n", __func__, value); return value; } @@ -317,7 +317,7 @@ static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi) /* default fallback */ if(idx<0) { - DBG (DBG_warn,"%s: using default sensor profile\n",__FUNCTION__); + DBG (DBG_warn,"%s: using default sensor profile\n",__func__); idx=0; } @@ -577,13 +577,13 @@ gl846_send_slope_table (Genesys_Device * dev, int table_nr, int i; char msg[10000]; - DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __FUNCTION__, + DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, table_nr, steps); /* sanity check */ if(table_nr<0 || table_nr>4) { - DBG (DBG_error, "%s: invalid table number %d!\n", __FUNCTION__, table_nr); + DBG (DBG_error, "%s: invalid table number %d!\n", __func__, table_nr); return SANE_STATUS_INVAL; } @@ -601,7 +601,7 @@ gl846_send_slope_table (Genesys_Device * dev, int table_nr, { sprintf (msg+strlen(msg), "%d", slope_table[i]); } - DBG (DBG_io, "%s: %s\n", __FUNCTION__, msg); + DBG (DBG_io, "%s: %s\n", __func__, msg); } /* slope table addresses are fixed */ @@ -610,7 +610,7 @@ gl846_send_slope_table (Genesys_Device * dev, int table_nr, { DBG (DBG_error, "%s: write to AHB failed writing slope table %d (%s)\n", - __FUNCTION__, table_nr, sane_strstatus (status)); + __func__, table_nr, sane_strstatus (status)); } free (table); @@ -641,7 +641,7 @@ gl846_set_adi_fe (Genesys_Device * dev, uint8_t set) if (set == AFE_INIT) { - DBG (DBG_proc, "%s(): setting DAC %u\n", __FUNCTION__, dev->model->dac_type); + DBG (DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); /* sets to default values */ sanei_genesys_init_fe (dev); @@ -652,7 +652,7 @@ gl846_set_adi_fe (Genesys_Device * dev, uint8_t set) status = sanei_genesys_fe_write_data (dev, 0x00, val); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to write reg0: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to write reg0: %s\n", __func__, sane_strstatus (status)); return status; } @@ -660,7 +660,7 @@ gl846_set_adi_fe (Genesys_Device * dev, uint8_t set) status = sanei_genesys_fe_write_data (dev, 0x01, val); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to write reg1: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to write reg1: %s\n", __func__, sane_strstatus (status)); return status; } @@ -672,7 +672,7 @@ gl846_set_adi_fe (Genesys_Device * dev, uint8_t set) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to write gain %d: %s\n", __FUNCTION__, i, + "%s: failed to write gain %d: %s\n", __func__, i, sane_strstatus (status)); return status; } @@ -684,7 +684,7 @@ gl846_set_adi_fe (Genesys_Device * dev, uint8_t set) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to write offset %d: %s\n", __FUNCTION__, i, + "%s: failed to write offset %d: %s\n", __func__, i, sane_strstatus (status)); return status; } @@ -781,10 +781,10 @@ gl846_init_motor_regs_scan (Genesys_Device * dev, { use_fast_fed=1; } - DBG (DBG_io, "%s: use_fast_fed=%d\n", __FUNCTION__, use_fast_fed); + DBG (DBG_io, "%s: use_fast_fed=%d\n", __func__, use_fast_fed); sanei_genesys_set_triple(reg, REG_LINCNT, scan_lines); - DBG (DBG_io, "%s: lincnt=%d\n", __FUNCTION__, scan_lines); + DBG (DBG_io, "%s: lincnt=%d\n", __func__, scan_lines); /* compute register 02 value */ r = sanei_genesys_get_address (reg, REG02); @@ -863,8 +863,8 @@ gl846_init_motor_regs_scan (Genesys_Device * dev, if (flags & MOTOR_FLAG_FEED) dist *=2; } - DBG (DBG_io2, "%s: scan steps=%d\n", __FUNCTION__, scan_steps); - DBG (DBG_io2, "%s: acceleration distance=%d\n", __FUNCTION__, dist); + DBG (DBG_io2, "%s: scan steps=%d\n", __func__, scan_steps); + DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); /* check for overflow */ if(distvalue & REG0C_CCDLMT)+1; @@ -1024,13 +1024,13 @@ gl846_init_optical_regs_scan (Genesys_Device * dev, /* resolution is divided according to CKSEL */ r = sanei_genesys_get_address (reg, REG18); cksel= (r->value & REG18_CKSEL)+1; - DBG (DBG_io2, "%s: cksel=%d\n", __FUNCTION__, cksel); + DBG (DBG_io2, "%s: cksel=%d\n", __func__, cksel); /* to manage high resolution device while keeping good * low resolution scanning speed, we make hardware dpi vary */ dpihw=sanei_genesys_compute_dpihw(dev, used_res * cksel); factor=dev->sensor.optical_res/dpihw; - DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __FUNCTION__, dpihw, factor); + DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); /* sensor parameters */ sensor=get_sensor_profile(dev->model->ccd_type, dpihw); @@ -1215,20 +1215,20 @@ gl846_init_optical_regs_scan (Genesys_Device * dev, dev->line_interp = 0; sanei_genesys_set_double(reg,REG_DPISET,dpiset); - DBG (DBG_io2, "%s: dpiset used=%d\n", __FUNCTION__, dpiset); + DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); sanei_genesys_set_double(reg,REG_STRPIXEL,startx); sanei_genesys_set_double(reg,REG_ENDPIXEL,endx); - DBG (DBG_io2, "%s: startx=%d\n", __FUNCTION__, startx); - DBG (DBG_io2, "%s: endx =%d\n", __FUNCTION__, endx); + DBG (DBG_io2, "%s: startx=%d\n", __func__, startx); + DBG (DBG_io2, "%s: endx =%d\n", __func__, endx); - DBG (DBG_io2, "%s: used_pixels=%d\n", __FUNCTION__, used_pixels); - DBG (DBG_io2, "%s: pixels =%d\n", __FUNCTION__, pixels); - DBG (DBG_io2, "%s: depth =%d\n", __FUNCTION__, depth); - DBG (DBG_io2, "%s: dev->bpl =%lu\n", __FUNCTION__, (unsigned long)dev->bpl); - DBG (DBG_io2, "%s: dev->len =%lu\n", __FUNCTION__, (unsigned long)dev->len); - DBG (DBG_io2, "%s: dev->dist =%lu\n", __FUNCTION__, (unsigned long)dev->dist); - DBG (DBG_io2, "%s: dev->segnb =%lu\n", __FUNCTION__, (unsigned long)dev->segnb); + DBG (DBG_io2, "%s: used_pixels=%d\n", __func__, used_pixels); + DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); + DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); + DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long)dev->bpl); + DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); + DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); + DBG (DBG_io2, "%s: dev->segnb =%lu\n", __func__, (unsigned long)dev->segnb); words_per_line *= channels; dev->wpl = words_per_line; @@ -1241,10 +1241,10 @@ gl846_init_optical_regs_scan (Genesys_Device * dev, /* MAXWD is expressed in 4 words unit */ sanei_genesys_set_triple(reg, REG_MAXWD, (words_per_line >> 2)); - DBG (DBG_io2, "%s: words_per_line used=%d\n", __FUNCTION__, words_per_line); + DBG (DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); sanei_genesys_set_double(reg, REG_LPERIOD, exposure_time); - DBG (DBG_io2, "%s: exposure_time used=%d\n", __FUNCTION__, exposure_time); + DBG (DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); r = sanei_genesys_get_address (reg, 0x34); r->value = dev->sensor.dummy_pixel; @@ -1645,7 +1645,7 @@ gl846_calculate_current_setup (Genesys_Device * dev) slope_dpi = slope_dpi * (1 + dummy); exposure_time = gl846_compute_exposure (dev, used_res); - DBG (DBG_info, "%s : exposure_time=%d pixels\n", __FUNCTION__, exposure_time); + DBG (DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); /* max_shift */ max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,0); @@ -1761,7 +1761,7 @@ gl846_stop_action (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __FUNCTION__, + "%s: failed to read home sensor: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; @@ -1770,7 +1770,7 @@ gl846_stop_action (Genesys_Device * dev) /* only stop action if needed */ if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) { - DBG (DBG_info, "%s: already stopped\n", __FUNCTION__); + DBG (DBG_info, "%s: already stopped\n", __func__); DBGCOMPLETED; return SANE_STATUS_GOOD; } @@ -1783,7 +1783,7 @@ gl846_stop_action (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to write register 01: %s\n", __FUNCTION__, + "%s: failed to write register 01: %s\n", __func__, sane_strstatus (status)); return status; } @@ -1801,7 +1801,7 @@ gl846_stop_action (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __FUNCTION__, + "%s: failed to read home sensor: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; @@ -1962,7 +1962,7 @@ gl846_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) /* is sensor at home? */ if (val & HOMESNR) { - DBG (DBG_info, "%s: already at home, completed\n", __FUNCTION__); + DBG (DBG_info, "%s: already at home, completed\n", __func__); dev->scanhead_position_in_steps = 0; DBGCOMPLETED; return SANE_STATUS_GOOD; @@ -2257,7 +2257,7 @@ gl846_feed (Genesys_Device * dev, unsigned int steps) uint8_t val; DBGSTART; - DBG (DBG_io, "%s: steps=%d\n", __FUNCTION__, steps); + DBG (DBG_io, "%s: steps=%d\n", __func__, steps); /* prepare local registers */ memcpy (local_reg, dev->reg, GENESYS_GL846_MAX_REGS * sizeof (Genesys_Register_Set)); @@ -2306,7 +2306,7 @@ gl846_feed (Genesys_Device * dev, unsigned int steps) status = gl846_start_action (dev); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to start motor: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus (status)); gl846_stop_action (dev); /* restore original registers */ @@ -2348,8 +2348,8 @@ gl846_init_regs_for_shading (Genesys_Device * dev) if(dev->calib_resolution==4800) dev->calib_lines *= 2; dev->calib_pixels = (dev->sensor.sensor_pixels*dev->calib_resolution)/dev->sensor.optical_res; - DBG (DBG_io, "%s: calib_lines = %d\n", __FUNCTION__, (unsigned int)dev->calib_lines); - DBG (DBG_io, "%s: calib_pixels = %d\n", __FUNCTION__, (unsigned int)dev->calib_pixels); + DBG (DBG_io, "%s: calib_lines = %d\n", __func__, (unsigned int)dev->calib_lines); + DBG (DBG_io, "%s: calib_pixels = %d\n", __func__, (unsigned int)dev->calib_pixels); /* this is aworkaround insufficent distance for slope * motor acceleration TODO special motor slope for shading */ @@ -2377,14 +2377,14 @@ gl846_init_regs_for_shading (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); return status; } status = dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL846_MAX_REGS); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus (status)); return status; } @@ -2452,7 +2452,7 @@ gl846_init_regs_for_scan (Genesys_Device * dev) move += dev->settings.tl_y; move = (move * move_dpi) / MM_PER_INCH; move -= dev->scanhead_position_in_steps; - DBG (DBG_info, "%s: move=%f steps\n",__FUNCTION__, move); + DBG (DBG_info, "%s: move=%f steps\n",__func__, move); /* fast move to scan area */ /* we don't move fast the whole distance since it would involve @@ -2464,14 +2464,14 @@ gl846_init_regs_for_scan (Genesys_Device * dev) status = gl846_feed (dev, move-500); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to move to scan area\n",__FUNCTION__); + DBG (DBG_error, "%s: failed to move to scan area\n",__func__); return status; } move=500; } DBG (DBG_info, "gl846_init_regs_for_scan: move=%f steps\n", move); - DBG (DBG_info, "%s: move=%f steps\n", __FUNCTION__, move); + DBG (DBG_info, "%s: move=%f steps\n", __func__, move); /* start */ start = SANE_UNFIX (dev->model->x_offset); @@ -2526,7 +2526,7 @@ gl846_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) uint8_t val,*buffer,*ptr,*src; DBGSTART; - DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__FUNCTION__,size); + DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__func__,size); /* shading data is plit in 3 (up to 5 with IR) areas write(0x10014000,0x00000dd8) @@ -2543,10 +2543,10 @@ gl846_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) /* compute deletion factor */ sanei_genesys_get_double(dev->reg,REG_DPISET,&tempo); dpiset=tempo; - DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, DPISET=%d\n",__FUNCTION__,strpixel,endpixel,endpixel-strpixel,dpiset); + DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, DPISET=%d\n",__func__,strpixel,endpixel,endpixel-strpixel,dpiset); dpihw=sanei_genesys_compute_dpihw(dev,dpiset); factor=dpihw/dpiset; - DBG( DBG_io2, "%s: factor=%d\n",__FUNCTION__,factor); + DBG( DBG_io2, "%s: factor=%d\n",__func__,factor); if(DBG_LEVEL>=DBG_data) { @@ -2571,7 +2571,7 @@ gl846_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) /* allocate temporary buffer */ buffer=(uint8_t *)malloc(pixels); memset(buffer,0,pixels); - DBG( DBG_io2, "%s: using chunks of %d (0x%04x) bytes\n",__FUNCTION__,pixels,pixels); + DBG( DBG_io2, "%s: using chunks of %d (0x%04x) bytes\n",__func__,pixels,pixels); /* base addr of data has been written in reg D0-D4 in 4K word, so AHB address * is 8192*reg value */ @@ -2649,7 +2649,7 @@ gl846_led_calibration (Genesys_Device * dev) { RIE(gl846_feed (dev, move)); } - DBG (DBG_io, "%s: move=%f steps\n", __FUNCTION__, move); + DBG (DBG_io, "%s: move=%f steps\n", __func__, move); /* offset calibration is always done in color mode */ channels = 3; @@ -2679,7 +2679,7 @@ gl846_led_calibration (Genesys_Device * dev) SCAN_FLAG_IGNORE_LINE_DISTANCE); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); return status; } @@ -2816,7 +2816,7 @@ gl846_init_gpio (Genesys_Device * dev) } if(gpios[idx].sensor_id==0) { - DBG (DBG_error, "%s: failed to find GPIO profile for sensor_id=%d\n", __FUNCTION__, dev->model->ccd_type); + DBG (DBG_error, "%s: failed to find GPIO profile for sensor_id=%d\n", __func__, dev->model->ccd_type); return SANE_STATUS_INVAL; } @@ -2857,7 +2857,7 @@ gl846_init_memory_layout (Genesys_Device * dev) } if(layouts[idx].model==NULL) { - DBG(DBG_error, "%s: failed to find memory layout for model %s!\n", __FUNCTION__, dev->model->name); + DBG(DBG_error, "%s: failed to find memory layout for model %s!\n", __func__, dev->model->name); return SANE_STATUS_INVAL; } @@ -2915,7 +2915,7 @@ gl846_boot (Genesys_Device * dev, SANE_Bool cold) if (val & REG40_CHKVER) { RIE (sanei_genesys_read_register (dev, 0x00, &val)); - DBG (DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __FUNCTION__, val); + DBG (DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); } /* Set default values for registers */ @@ -3680,6 +3680,7 @@ static Genesys_Command_Set gl846_cmd_set = { gl846_led_calibration, gl846_slow_back_home, + NULL, sanei_genesys_bulk_write_register, NULL, diff --git a/backend/genesys_gl846.h b/backend/genesys_gl846.h index d57f149..e1dc711 100644 --- a/backend/genesys_gl846.h +++ b/backend/genesys_gl846.h @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2012-2013 Stphane Voltz + Copyright (C) 2012-2013 Stéphane Voltz This file is part of the SANE package. diff --git a/backend/genesys_gl847.c b/backend/genesys_gl847.c index 7c4d19c..a3b35a2 100644 --- a/backend/genesys_gl847.c +++ b/backend/genesys_gl847.c @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2010-2013 Stphane Voltz + Copyright (C) 2010-2013 Stéphane Voltz This file is part of the SANE package. @@ -113,7 +113,7 @@ gl847_bulk_read_data (Genesys_Device * dev, uint8_t addr, if (status != SANE_STATUS_GOOD) { DBG (DBG_error, "%s failed while writing command: %s\n", - __FUNCTION__, sane_strstatus (status)); + __func__, sane_strstatus (status)); return status; } @@ -158,7 +158,7 @@ gl847_bulk_read_data (Genesys_Device * dev, uint8_t addr, DBG (DBG_io2, "gl847_bulk_read_data: %lu bytes of data read\n", (u_long) done); } - DBG (DBG_io2, "%s: read %lu bytes, %lu remaining\n", __FUNCTION__, + DBG (DBG_io2, "%s: read %lu bytes, %lu remaining\n", __func__, (u_long) size, (u_long) (target - size)); target -= size; @@ -265,7 +265,7 @@ gl847_get_step_multiplier (Genesys_Register_Set * regs) value = (r->value & 0x0f)>>1; value = 1 << value; } - DBG (DBG_io, "%s: step multiplier is %d\n", __FUNCTION__, value); + DBG (DBG_io, "%s: step multiplier is %d\n", __func__, value); return value; } @@ -313,7 +313,7 @@ static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi) /* default fallback */ if(idx<0) { - DBG (DBG_warn,"%s: using default sensor profile\n",__FUNCTION__); + DBG (DBG_warn,"%s: using default sensor profile\n",__func__); idx=0; } @@ -600,13 +600,13 @@ gl847_send_slope_table (Genesys_Device * dev, int table_nr, int i; char msg[10000]; - DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __FUNCTION__, + DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, table_nr, steps); /* sanity check */ if(table_nr<0 || table_nr>4) { - DBG (DBG_error, "%s: invalid table number %d!\n", __FUNCTION__, table_nr); + DBG (DBG_error, "%s: invalid table number %d!\n", __func__, table_nr); return SANE_STATUS_INVAL; } @@ -624,7 +624,7 @@ gl847_send_slope_table (Genesys_Device * dev, int table_nr, { sprintf (msg+strlen(msg), "%d", slope_table[i]); } - DBG (DBG_io, "%s: %s\n", __FUNCTION__, msg); + DBG (DBG_io, "%s: %s\n", __func__, msg); } /* slope table addresses are fixed */ @@ -634,7 +634,7 @@ gl847_send_slope_table (Genesys_Device * dev, int table_nr, { DBG (DBG_error, "%s: write to AHB failed writing slope table %d (%s)\n", - __FUNCTION__, table_nr, sane_strstatus (status)); + __func__, table_nr, sane_strstatus (status)); } free (table); @@ -824,10 +824,10 @@ gl847_init_motor_regs_scan (Genesys_Device * dev, { use_fast_fed=1; } - DBG (DBG_io, "%s: use_fast_fed=%d\n", __FUNCTION__, use_fast_fed); + DBG (DBG_io, "%s: use_fast_fed=%d\n", __func__, use_fast_fed); sanei_genesys_set_triple(reg, REG_LINCNT, scan_lines); - DBG (DBG_io, "%s: lincnt=%d\n", __FUNCTION__, scan_lines); + DBG (DBG_io, "%s: lincnt=%d\n", __func__, scan_lines); /* compute register 02 value */ r = sanei_genesys_get_address (reg, REG02); @@ -906,8 +906,8 @@ gl847_init_motor_regs_scan (Genesys_Device * dev, if (flags & MOTOR_FLAG_FEED) dist *=2; } - DBG (DBG_io2, "%s: scan steps=%d\n", __FUNCTION__, scan_steps); - DBG (DBG_io2, "%s: acceleration distance=%d\n", __FUNCTION__, dist); + DBG (DBG_io2, "%s: scan steps=%d\n", __func__, scan_steps); + DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); /* check for overflow */ if(distvalue & REG0C_CCDLMT)+1; @@ -1048,13 +1048,13 @@ gl847_init_optical_regs_scan (Genesys_Device * dev, /* resolution is divided according to CKSEL */ r = sanei_genesys_get_address (reg, REG18); cksel= (r->value & REG18_CKSEL)+1; - DBG (DBG_io2, "%s: cksel=%d\n", __FUNCTION__, cksel); + DBG (DBG_io2, "%s: cksel=%d\n", __func__, cksel); /* to manage high resolution device while keeping good * low resolution scanning speed, we make hardware dpi vary */ dpihw=sanei_genesys_compute_dpihw(dev, used_res * cksel); factor=dev->sensor.optical_res/dpihw; - DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __FUNCTION__, dpihw, factor); + DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); /* sensor parameters */ sensor=get_sensor_profile(dev->model->ccd_type, dpihw); @@ -1239,20 +1239,20 @@ gl847_init_optical_regs_scan (Genesys_Device * dev, dev->line_interp = 0; sanei_genesys_set_double(reg,REG_DPISET,dpiset); - DBG (DBG_io2, "%s: dpiset used=%d\n", __FUNCTION__, dpiset); + DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); sanei_genesys_set_double(reg,REG_STRPIXEL,startx); sanei_genesys_set_double(reg,REG_ENDPIXEL,endx); - DBG (DBG_io2, "%s: startx=%d\n", __FUNCTION__, startx); - DBG (DBG_io2, "%s: endx =%d\n", __FUNCTION__, endx); + DBG (DBG_io2, "%s: startx=%d\n", __func__, startx); + DBG (DBG_io2, "%s: endx =%d\n", __func__, endx); - DBG (DBG_io2, "%s: used_pixels=%d\n", __FUNCTION__, used_pixels); - DBG (DBG_io2, "%s: pixels =%d\n", __FUNCTION__, pixels); - DBG (DBG_io2, "%s: depth =%d\n", __FUNCTION__, depth); - DBG (DBG_io2, "%s: dev->bpl =%lu\n", __FUNCTION__, (unsigned long)dev->bpl); - DBG (DBG_io2, "%s: dev->len =%lu\n", __FUNCTION__, (unsigned long)dev->len); - DBG (DBG_io2, "%s: dev->dist =%lu\n", __FUNCTION__, (unsigned long)dev->dist); - DBG (DBG_io2, "%s: dev->segnb =%lu\n", __FUNCTION__, (unsigned long)dev->segnb); + DBG (DBG_io2, "%s: used_pixels=%d\n", __func__, used_pixels); + DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); + DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); + DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long)dev->bpl); + DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); + DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); + DBG (DBG_io2, "%s: dev->segnb =%lu\n", __func__, (unsigned long)dev->segnb); words_per_line *= channels; dev->wpl = words_per_line; @@ -1265,10 +1265,10 @@ gl847_init_optical_regs_scan (Genesys_Device * dev, /* MAXWD is expressed in 4 words unit */ sanei_genesys_set_triple(reg, REG_MAXWD, (words_per_line >> 2)); - DBG (DBG_io2, "%s: words_per_line used=%d\n", __FUNCTION__, words_per_line); + DBG (DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); sanei_genesys_set_double(reg, REG_LPERIOD, exposure_time); - DBG (DBG_io2, "%s: exposure_time used=%d\n", __FUNCTION__, exposure_time); + DBG (DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); r = sanei_genesys_get_address (reg, 0x34); r->value = dev->sensor.dummy_pixel; @@ -1669,7 +1669,7 @@ gl847_calculate_current_setup (Genesys_Device * dev) slope_dpi = slope_dpi * (1 + dummy); exposure_time = gl847_compute_exposure (dev, used_res); - DBG (DBG_info, "%s : exposure_time=%d pixels\n", __FUNCTION__, exposure_time); + DBG (DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); /* max_shift */ max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,0); @@ -1785,7 +1785,7 @@ gl847_stop_action (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __FUNCTION__, + "%s: failed to read home sensor: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; @@ -1794,7 +1794,7 @@ gl847_stop_action (Genesys_Device * dev) /* only stop action if needed */ if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) { - DBG (DBG_info, "%s: already stopped\n", __FUNCTION__); + DBG (DBG_info, "%s: already stopped\n", __func__); DBGCOMPLETED; return SANE_STATUS_GOOD; } @@ -1807,7 +1807,7 @@ gl847_stop_action (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to write register 01: %s\n", __FUNCTION__, + "%s: failed to write register 01: %s\n", __func__, sane_strstatus (status)); return status; } @@ -1825,7 +1825,7 @@ gl847_stop_action (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __FUNCTION__, + "%s: failed to read home sensor: %s\n", __func__, sane_strstatus (status)); DBGCOMPLETED; return status; @@ -1929,10 +1929,50 @@ gl847_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, return status; } -/* Moves the slider to the home (top) postion slowly */ -#ifndef UNIT_TESTING -static -#endif +/** rewind scan + * Move back by the same amount of distance than previous scan. + * @param dev device to rewind + * @returns SANE_STATUS_GOOD on success + */ +GENESYS_STATIC +SANE_Status gl847_rewind(Genesys_Device * dev) +{ + SANE_Status status; + uint8_t byte; + + DBGSTART; + + /* set motor reverse */ + RIE (sanei_genesys_read_register (dev, 0x02, &byte)); + byte |= 0x04; + RIE (sanei_genesys_write_register(dev, 0x02, byte)); + + /* and start scan, then wait completion */ + RIE (gl847_begin_scan (dev, dev->reg, SANE_TRUE)); + do + { + usleep(100*1000); + RIE (sanei_genesys_read_register (dev, REG40, &byte)); + } + while(byte & REG40_MOTMFLG); + RIE (gl847_end_scan (dev, dev->reg, SANE_TRUE)); + + /* restore direction */ + RIE (sanei_genesys_read_register (dev, 0x02, &byte)); + byte &= 0xfb; + RIE (sanei_genesys_write_register(dev, 0x02, byte)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** Park head + * Moves the slider to the home (top) position slowly + * @param dev device to park + * @param wait_until_home true to make the function waiting for head + * to be home before returning, if fals returne immediately + * @returns SANE_STATUS_GOO on success */ +GENESYS_STATIC SANE_Status gl847_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) { @@ -1982,7 +2022,7 @@ gl847_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) /* is sensor at home? */ if (val & HOMESNR) { - DBG (DBG_info, "%s: already at home, completed\n", __FUNCTION__); + DBG (DBG_info, "%s: already at home, completed\n", __func__); dev->scanhead_position_in_steps = 0; DBGCOMPLETED; return SANE_STATUS_GOOD; @@ -2279,7 +2319,7 @@ gl847_feed (Genesys_Device * dev, unsigned int steps) uint8_t val; DBGSTART; - DBG (DBG_io, "%s: steps=%d\n", __FUNCTION__, steps); + DBG (DBG_io, "%s: steps=%d\n", __func__, steps); /* prepare local registers */ memcpy (local_reg, dev->reg, GENESYS_GL847_MAX_REGS * sizeof (Genesys_Register_Set)); @@ -2328,7 +2368,7 @@ gl847_feed (Genesys_Device * dev, unsigned int steps) status = gl847_start_action (dev); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to start motor: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus (status)); gl847_stop_action (dev); /* restore original registers */ @@ -2370,8 +2410,8 @@ gl847_init_regs_for_shading (Genesys_Device * dev) if(dev->calib_resolution==4800) dev->calib_lines *= 2; dev->calib_pixels = (dev->sensor.sensor_pixels*dev->calib_resolution)/dev->sensor.optical_res; - DBG (DBG_io, "%s: calib_lines = %d\n", __FUNCTION__, (int)dev->calib_lines); - DBG (DBG_io, "%s: calib_pixels = %d\n", __FUNCTION__, (int)dev->calib_pixels); + DBG (DBG_io, "%s: calib_lines = %d\n", __func__, (int)dev->calib_lines); + DBG (DBG_io, "%s: calib_pixels = %d\n", __func__, (int)dev->calib_pixels); /* this is aworkaround insufficent distance for slope * motor acceleration TODO special motor slope for shading */ @@ -2399,14 +2439,14 @@ gl847_init_regs_for_shading (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); return status; } status = dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL847_MAX_REGS); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus (status)); return status; } @@ -2474,7 +2514,7 @@ gl847_init_regs_for_scan (Genesys_Device * dev) move += dev->settings.tl_y; move = (move * move_dpi) / MM_PER_INCH; move -= dev->scanhead_position_in_steps; - DBG (DBG_info, "%s: move=%f steps\n",__FUNCTION__, move); + DBG (DBG_info, "%s: move=%f steps\n",__func__, move); /* fast move to scan area */ /* we don't move fast the whole distance since it would involve @@ -2486,14 +2526,14 @@ gl847_init_regs_for_scan (Genesys_Device * dev) status = gl847_feed (dev, move-500); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to move to scan area\n",__FUNCTION__); + DBG (DBG_error, "%s: failed to move to scan area\n",__func__); return status; } move=500; } DBG (DBG_info, "gl124_init_regs_for_scan: move=%f steps\n", move); - DBG (DBG_info, "%s: move=%f steps\n", __FUNCTION__, move); + DBG (DBG_info, "%s: move=%f steps\n", __func__, move); /* start */ start = SANE_UNFIX (dev->model->x_offset); @@ -2548,7 +2588,7 @@ gl847_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) uint8_t val,*buffer,*ptr,*src; DBGSTART; - DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__FUNCTION__,size); + DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__func__,size); /* shading data is plit in 3 (up to 5 with IR) areas write(0x10014000,0x00000dd8) @@ -2565,10 +2605,10 @@ gl847_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) /* compute deletion factor */ sanei_genesys_get_double(dev->reg,REG_DPISET,&tempo); dpiset=tempo; - DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, DPISET=%d\n",__FUNCTION__,strpixel,endpixel,endpixel-strpixel,dpiset); + DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, DPISET=%d\n",__func__,strpixel,endpixel,endpixel-strpixel,dpiset); dpihw=sanei_genesys_compute_dpihw(dev,dpiset); factor=dpihw/dpiset; - DBG( DBG_io2, "%s: factor=%d\n",__FUNCTION__,factor); + DBG( DBG_io2, "%s: factor=%d\n",__func__,factor); if(DBG_LEVEL>=DBG_data) { @@ -2593,7 +2633,7 @@ gl847_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) /* allocate temporary buffer */ buffer=(uint8_t *)malloc(pixels); memset(buffer,0,pixels); - DBG( DBG_io2, "%s: using chunks of %d (0x%04x) bytes\n",__FUNCTION__,pixels,pixels); + DBG( DBG_io2, "%s: using chunks of %d (0x%04x) bytes\n",__func__,pixels,pixels); /* base addr of data has been written in reg D0-D4 in 4K word, so AHB address * is 8192*reg value */ @@ -2670,7 +2710,7 @@ gl847_led_calibration (Genesys_Device * dev) { RIE(gl847_feed (dev, move)); } - DBG (DBG_io, "%s: move=%f steps\n", __FUNCTION__, move); + DBG (DBG_io, "%s: move=%f steps\n", __func__, move); /* offset calibration is always done in color mode */ channels = 3; @@ -2700,7 +2740,7 @@ gl847_led_calibration (Genesys_Device * dev) SCAN_FLAG_IGNORE_LINE_DISTANCE); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __FUNCTION__, sane_strstatus (status)); + DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); return status; } @@ -2837,7 +2877,7 @@ gl847_init_gpio (Genesys_Device * dev) } if(gpios[idx].sensor_id==0) { - DBG (DBG_error, "%s: failed to find GPIO profile for sensor_id=%d\n", __FUNCTION__, dev->model->ccd_type); + DBG (DBG_error, "%s: failed to find GPIO profile for sensor_id=%d\n", __func__, dev->model->ccd_type); return SANE_STATUS_INVAL; } @@ -2972,7 +3012,7 @@ gl847_boot (Genesys_Device * dev, SANE_Bool cold) if (val & REG40_CHKVER) { RIE (sanei_genesys_read_register (dev, 0x00, &val)); - DBG (DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __FUNCTION__, val); + DBG (DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); } /* Set default values for registers */ @@ -3753,6 +3793,7 @@ static Genesys_Command_Set gl847_cmd_set = { gl847_led_calibration, gl847_slow_back_home, + gl847_rewind, sanei_genesys_bulk_write_register, NULL, diff --git a/backend/genesys_gl847.h b/backend/genesys_gl847.h index 9901e23..1da2065 100644 --- a/backend/genesys_gl847.h +++ b/backend/genesys_gl847.h @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2010-2013 Stphane Voltz + Copyright (C) 2010-2013 Stéphane Voltz This file is part of the SANE package. diff --git a/backend/genesys_low.c b/backend/genesys_low.c index f28b72c..4cbd75d 100644 --- a/backend/genesys_low.c +++ b/backend/genesys_low.c @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2010-2013 Stphane Voltz + Copyright (C) 2010-2013 Stéphane Voltz This file is part of the SANE package. @@ -516,7 +516,7 @@ sanei_genesys_set_buffer_address (Genesys_Device * dev, uint32_t addr) return status; } -/** read data for analog frontend +/**@brief read data from analog frontend (AFE) * @param dev device owning the AFE * @param addr register address to read * @param data placeholder for the result @@ -558,7 +558,13 @@ sanei_genesys_fe_read_data (Genesys_Device * dev, uint8_t addr, return status; } -/* Write data for analog frontend */ +/*@brief write data to analog frontend + * writes data to analog frontend to set it up accordingly + * to the sensor settings (exposure, timings, color, bit depth, ...) + * @param dev devie owning the AFE to write to + * @param addr AFE rister address + * @param data value to write to AFE register + **/ SANE_Status sanei_genesys_fe_write_data (Genesys_Device * dev, uint8_t addr, uint16_t data) @@ -737,7 +743,7 @@ sanei_genesys_read_valid_words (Genesys_Device * dev, unsigned int *words) *words += ((value & 0x0f) * 256 * 256); } - DBG (DBG_proc, "%s: %d words\n", __FUNCTION__, *words); + DBG (DBG_proc, "%s: %d words\n", __func__, *words); DBGCOMPLETED; return SANE_STATUS_GOOD; } @@ -1098,7 +1104,7 @@ sanei_genesys_bulk_write_register (Genesys_Device * dev, } } - DBG (DBG_io, "%s: wrote %lu registers\n", __FUNCTION__, (u_long) elems); + DBG (DBG_io, "%s: wrote %lu registers\n", __func__, (u_long) elems); return status; } @@ -1136,8 +1142,8 @@ sanei_genesys_write_ahb (SANE_Int dn, int usb_mode, uint32_t addr, uint32_t size { sprintf (msg+strlen(msg), " 0x%02x", outdata[i]); } - DBG (DBG_io, "%s: write(0x%08x,0x%08x)\n", __FUNCTION__, addr,size); - DBG (DBG_io, "%s: %s\n", __FUNCTION__, msg); + DBG (DBG_io, "%s: write(0x%08x,0x%08x)\n", __func__, addr,size); + DBG (DBG_io, "%s: %s\n", __func__, msg); } /* no effective write if fake USB */ @@ -1315,7 +1321,7 @@ sanei_genesys_send_gamma_table (Genesys_Device * dev) { free (gamma); DBG (DBG_error, - "%s: write to AHB failed writing table %d (%s)\n", __FUNCTION__, + "%s: write to AHB failed writing table %d (%s)\n", __func__, i, sane_strstatus (status)); } } @@ -1352,12 +1358,12 @@ sanei_genesys_asic_init (Genesys_Device * dev, int max_regs) status = sanei_usb_control_msg (dev->dn, REQUEST_TYPE_IN, REQUEST_REGISTER, VALUE_GET_REGISTER, 0x00, 1, &val); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: request register failed %s\n", __FUNCTION__, + DBG (DBG_error, "%s: request register failed %s\n", __func__, sane_strstatus (status)); return status; } - DBG (DBG_io2, "%s: value=0x%02x\n", __FUNCTION__, val); - DBG (DBG_info, "%s: device is %s\n", __FUNCTION__, (val & 0x08) ? "USB 1.0" : "USB2.0"); + DBG (DBG_io2, "%s: value=0x%02x\n", __func__, val); + DBG (DBG_info, "%s: device is %s\n", __func__, (val & 0x08) ? "USB 1.0" : "USB2.0"); if (val & 0x08) { dev->usb_mode = 1; @@ -1377,7 +1383,7 @@ sanei_genesys_asic_init (Genesys_Device * dev, int max_regs) if (dev->sensor.gamma_table[i] == NULL) { DBG (DBG_error, "%s: could not allocate memory for gamma table %d\n", - __FUNCTION__, i); + __func__, i); return SANE_STATUS_NO_MEM; } sanei_genesys_create_gamma_table (dev->sensor.gamma_table[i], @@ -1397,13 +1403,13 @@ sanei_genesys_asic_init (Genesys_Device * dev, int max_regs) { cold = SANE_FALSE; } - DBG (DBG_info, "%s: device is %s\n", __FUNCTION__, cold ? "cold" : "warm"); + DBG (DBG_info, "%s: device is %s\n", __func__, cold ? "cold" : "warm"); /* don't do anything if backend is initialized and hardware hasn't been * replug */ if (dev->already_initialized && !cold) { - DBG (DBG_info, "%s: already initialized, nothing to do\n", __FUNCTION__); + DBG (DBG_info, "%s: already initialized, nothing to do\n", __func__); return SANE_STATUS_GOOD; } @@ -1459,7 +1465,7 @@ sanei_genesys_wait_for_home (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __FUNCTION__, + "%s: failed to read home sensor: %s\n", __func__, sane_strstatus (status)); return status; } @@ -1468,7 +1474,7 @@ sanei_genesys_wait_for_home (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __FUNCTION__, + "%s: failed to read home sensor: %s\n", __func__, sane_strstatus (status)); return status; } @@ -1477,7 +1483,7 @@ sanei_genesys_wait_for_home (Genesys_Device * dev) if(val & HOMESNR) { DBG (DBG_info, - "%s: already at home\n", __FUNCTION__); + "%s: already at home\n", __func__); return status; } @@ -1491,7 +1497,7 @@ sanei_genesys_wait_for_home (Genesys_Device * dev) if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __FUNCTION__, + "%s: failed to read home sensor: %s\n", __func__, sane_strstatus (status)); return status; } @@ -1506,7 +1512,7 @@ sanei_genesys_wait_for_home (Genesys_Device * dev) /* if after the timeout, head is still not parked, error out */ if(loop >= max && !(val & HOMESNR) && status == SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to reach park position %ds\n", __FUNCTION__, max/10); + DBG (DBG_error, "%s: failed to reach park position %ds\n", __func__, max/10); return SANE_STATUS_IO_ERROR; } @@ -1597,7 +1603,7 @@ Motor_Profile *sanei_genesys_get_motor_profile(Motor_Profile *motors, int motor_ /* default fallback */ if(idx<0) { - DBG (DBG_warn,"%s: using default motor profile\n",__FUNCTION__); + DBG (DBG_warn,"%s: using default motor profile\n",__func__); idx=0; } @@ -1654,7 +1660,7 @@ Motor_Profile *profile; /* required speed */ target=((exposure * dpi) / base_dpi)>>step_type; - DBG (DBG_io2, "%s: exposure=%d, dpi=%d, target=%d\n", __FUNCTION__, exposure, dpi, target); + DBG (DBG_io2, "%s: exposure=%d, dpi=%d, target=%d\n", __func__, exposure, dpi, target); /* fill result with target speed */ for(i=0;itable[i]==0 && DBG_LEVEL >= DBG_warn && current>target) { - DBG (DBG_warn,"%s: short slope table, failed to reach %d. target too low ?\n",__FUNCTION__,target); + DBG (DBG_warn,"%s: short slope table, failed to reach %d. target too low ?\n",__func__,target); } if(i<3 && DBG_LEVEL >= DBG_warn) { - DBG (DBG_warn,"%s: short slope table, failed to reach %d. target too high ?\n",__FUNCTION__,target); + DBG (DBG_warn,"%s: short slope table, failed to reach %d. target too high ?\n",__func__,target); } /* align on factor */ @@ -1791,20 +1797,20 @@ sanei_genesys_is_compatible_calibration (Genesys_Device * dev, if(dev->model->cmd_set->calculate_current_setup==NULL) { - DBG (DBG_proc, "%s: no calculate_setup, non compatible cache\n", __FUNCTION__); + DBG (DBG_proc, "%s: no calculate_setup, non compatible cache\n", __func__); return SANE_STATUS_UNSUPPORTED; } status = dev->model->cmd_set->calculate_current_setup (dev); if (status != SANE_STATUS_GOOD) { - DBG (DBG_error, "%s: failed to calculate current setup: %s\n", __FUNCTION__, + DBG (DBG_error, "%s: failed to calculate current setup: %s\n", __func__, sane_strstatus (status)); return status; } dev->current_setup.scan_method = dev->settings.scan_method; - DBG (DBG_proc, "%s: checking\n", __FUNCTION__); + DBG (DBG_proc, "%s: checking\n", __func__); /* a calibration cache is compatible if color mode and x dpi match the user * requested scan. In the case of CIS scanners, dpi isn't a criteria */ @@ -1822,22 +1828,22 @@ sanei_genesys_is_compatible_calibration (Genesys_Device * dev, resolution=sanei_genesys_compute_dpihw(dev,dev->settings.xres); compatible = (resolution == ((int) sanei_genesys_compute_dpihw(dev,cache->used_setup.xres))); } - DBG (DBG_io, "%s: after resolution check current compatible=%d\n", __FUNCTION__, compatible); + DBG (DBG_io, "%s: after resolution check current compatible=%d\n", __func__, compatible); if (dev->current_setup.half_ccd != cache->used_setup.half_ccd) { - DBG (DBG_io, "%s: half_ccd=%d, used=%d\n", __FUNCTION__, + DBG (DBG_io, "%s: half_ccd=%d, used=%d\n", __func__, dev->current_setup.half_ccd, cache->used_setup.half_ccd); compatible = 0; } if (dev->current_setup.scan_method != cache->used_setup.scan_method) { - DBG (DBG_io, "%s: current method=%d, used=%d\n", __FUNCTION__, + DBG (DBG_io, "%s: current method=%d, used=%d\n", __func__, dev->current_setup.scan_method, cache->used_setup.scan_method); compatible = 0; } if (!compatible) { - DBG (DBG_proc, "%s: completed, non compatible cache\n", __FUNCTION__); + DBG (DBG_proc, "%s: completed, non compatible cache\n", __func__); return SANE_STATUS_UNSUPPORTED; } @@ -1851,7 +1857,7 @@ sanei_genesys_is_compatible_calibration (Genesys_Device * dev, && (dev->model->is_sheetfed == SANE_FALSE) && (dev->settings.scan_method == SCAN_METHOD_FLATBED)) { - DBG (DBG_proc, "%s: expired entry, non compatible cache\n", __FUNCTION__); + DBG (DBG_proc, "%s: expired entry, non compatible cache\n", __func__); return SANE_STATUS_UNSUPPORTED; } } diff --git a/backend/genesys_low.h b/backend/genesys_low.h index b5a0a8f..56627b4 100644 --- a/backend/genesys_low.h +++ b/backend/genesys_low.h @@ -3,7 +3,7 @@ Copyright (C) 2003 Oliver Rauch Copyright (C) 2003, 2004 Henning Meier-Geinitz Copyright (C) 2004, 2005 Gerhard Jaeger - Copyright (C) 2004-2013 Stphane Voltz + Copyright (C) 2004-2013 Stéphane Voltz Copyright (C) 2005-2009 Pierre Willenbrock Copyright (C) 2006 Laurent Charpentier Parts of the structs have been taken from the gt68xx backend by @@ -104,7 +104,7 @@ do { status = function; \ if (status != SANE_STATUS_GOOD) \ { \ - DBG(DBG_error, "%s: %s\n", __FUNCTION__, sane_strstatus (status)); \ + DBG(DBG_error, "%s: %s\n", __func__, sane_strstatus (status)); \ return status; \ } \ } while (SANE_FALSE) @@ -114,7 +114,7 @@ if (status != SANE_STATUS_GOOD) \ { \ free(mem); \ - DBG(DBG_error, "%s: %s\n", __FUNCTION__, sane_strstatus (status)); \ + DBG(DBG_error, "%s: %s\n", __func__, sane_strstatus (status)); \ return status; \ } \ } while (SANE_FALSE) @@ -129,8 +129,8 @@ } \ } while (SANE_FALSE) -#define DBGSTART DBG (DBG_proc, "%s start\n", __FUNCTION__); -#define DBGCOMPLETED DBG (DBG_proc, "%s completed\n", __FUNCTION__); +#define DBGSTART DBG (DBG_proc, "%s start\n", __func__); +#define DBGCOMPLETED DBG (DBG_proc, "%s completed\n", __func__); #define FREE_IFNOT_NULL(x) if(x!=NULL) { free(x); x=NULL;} @@ -352,6 +352,7 @@ Genesys_Color_Order; #define DAC_IMG101 18 #define DAC_PLUSTEK3800 19 #define DAC_CANONLIDE80 20 +#define DAC_CANONLIDE120 21 #define CCD_UMAX 0 #define CCD_ST12 1 /* SONY ILX548: 5340 Pixel ??? */ @@ -410,6 +411,7 @@ Genesys_Color_Order; #define GPO_IMG101 22 #define GPO_PLUSTEK3800 23 #define GPO_CANONLIDE80 24 +#define GPO_CANONLIDE120 25 #define MOTOR_UMAX 0 #define MOTOR_5345 1 @@ -435,6 +437,7 @@ Genesys_Color_Order; #define MOTOR_PLUSTEK3800 22 #define MOTOR_CANONLIDE210 23 #define MOTOR_CANONLIDE80 24 +#define MOTOR_CANONLIDE120 25 /* Forward typedefs */ @@ -506,8 +509,8 @@ typedef struct Genesys_Command_Set SANE_Status (*coarse_gain_calibration) (Genesys_Device * dev, int dpi); SANE_Status (*led_calibration) (Genesys_Device * dev); - SANE_Status (*slow_back_home) (Genesys_Device * dev, - SANE_Bool wait_until_home); + SANE_Status (*slow_back_home) (Genesys_Device * dev, SANE_Bool wait_until_home); + SANE_Status (*rewind) (Genesys_Device * dev); SANE_Status (*bulk_write_register) (Genesys_Device * dev, Genesys_Register_Set * reg, diff --git a/backend/gphoto2.c b/backend/gphoto2.c index 7b297c4..c8af306 100644 --- a/backend/gphoto2.c +++ b/backend/gphoto2.c @@ -353,14 +353,23 @@ static const SANE_Device *devlist[] = { * debug_func - called for gphoto2 debugging output (if enabled) */ static void +#ifdef GPLOGFUNC_NO_VARGS +debug_func (GPLogLevel level, const char *domain, const char *message, + void __sane_unused__ * data) +#else debug_func (GPLogLevel level, const char *domain, const char *format, - va_list args, void UNUSEDARG * data) + va_list args, void __sane_unused__ * data) +#endif { if (level == GP_LOG_ERROR) DBG (0, "%s(ERROR): ", domain); else DBG (0, "%s(%i): ", domain, level); +#ifdef GPLOGFUNC_NO_VARGS + DBG (0, "%s", message); +#else sanei_debug_msg (0, DBG_LEVEL, STRINGIFY (BACKEND_NAME), format, args); +#endif DBG (0, "\n"); } @@ -650,7 +659,7 @@ change_res (SANE_Byte res) * is present, and initialize gphoto2 */ SANE_Status -sane_init (SANE_Int * version_code, SANE_Auth_Callback UNUSEDARG authorize) +sane_init (SANE_Int * version_code, SANE_Auth_Callback __sane_unused__ authorize) { SANE_Int n, entries; SANE_Char f[] = "sane_init"; @@ -940,7 +949,7 @@ sane_exit (void) */ SANE_Status sane_get_devices (const SANE_Device *** device_list, SANE_Bool - UNUSEDARG local_only) + __sane_unused__ local_only) { DBG (127, "sane_get_devices called\n"); @@ -1314,7 +1323,7 @@ my_source_mgr; typedef my_source_mgr *my_src_ptr; METHODDEF (void) -jpeg_init_source (j_decompress_ptr UNUSEDARG cinfo) +jpeg_init_source (j_decompress_ptr __sane_unused__ cinfo) { /* nothing to do */ } @@ -1361,7 +1370,7 @@ METHODDEF (void) jpeg_skip_input_data (j_decompress_ptr cinfo, long num_bytes) } METHODDEF (void) -jpeg_term_source (j_decompress_ptr UNUSEDARG cinfo) +jpeg_term_source (j_decompress_ptr __sane_unused__ cinfo) { /* no work necessary here */ } @@ -1476,7 +1485,7 @@ sane_start (SANE_Handle handle) * sane_read() - From SANE API */ SANE_Status -sane_read (SANE_Handle UNUSEDARG handle, SANE_Byte * data, +sane_read (SANE_Handle __sane_unused__ handle, SANE_Byte * data, SANE_Int max_length, SANE_Int * length) { if (Cam_data.scanning == SANE_FALSE) @@ -1530,7 +1539,7 @@ sane_read (SANE_Handle UNUSEDARG handle, SANE_Byte * data, * sane_cancel() - From SANE API */ void -sane_cancel (SANE_Handle UNUSEDARG handle) +sane_cancel (SANE_Handle __sane_unused__ handle) { if (Cam_data.scanning) { @@ -1544,8 +1553,8 @@ sane_cancel (SANE_Handle UNUSEDARG handle) * sane_set_io_mode() - From SANE API */ SANE_Status -sane_set_io_mode (SANE_Handle UNUSEDARG handle, SANE_Bool - UNUSEDARG non_blocking) +sane_set_io_mode (SANE_Handle __sane_unused__ handle, SANE_Bool + __sane_unused__ non_blocking) { /* sane_set_io_mode() is only valid during a scan */ if (Cam_data.scanning) @@ -1570,7 +1579,7 @@ sane_set_io_mode (SANE_Handle UNUSEDARG handle, SANE_Bool * sane_get_select_fd() - From SANE API */ SANE_Status -sane_get_select_fd (SANE_Handle UNUSEDARG handle, SANE_Int UNUSEDARG * fd) +sane_get_select_fd (SANE_Handle __sane_unused__ handle, SANE_Int __sane_unused__ * fd) { return SANE_STATUS_UNSUPPORTED; } @@ -1738,13 +1747,13 @@ read_dir (SANE_String dir, SANE_Bool read_files) { if (gp_list_free (dir_list) < 0) { - DBG (0, "%s: errror: gp_list_free failed\n", f); + DBG (0, "%s: error: gp_list_free failed\n", f); } dir_list = NULL; } if (gp_list_new (&dir_list) < 0) { - DBG (0, "%s: errror: gp_list_new failed\n", f); + DBG (0, "%s: error: gp_list_new failed\n", f); } if (read_files) @@ -1783,7 +1792,7 @@ read_info (SANE_String_Const fname) * set_res - set picture size depending on resolution settings */ static void -set_res (SANE_Int UNUSEDARG lowres) +set_res (SANE_Int __sane_unused__ lowres) { if (gphoto2_opt_thumbnails) { @@ -1943,7 +1952,6 @@ converter_scan_complete (void) static SANE_Status converter_init (SANE_Handle handle) { - SANE_Int row_stride; struct jpeg_error_mgr jerr; my_src_ptr src; @@ -1982,8 +1990,6 @@ exit(1); dest_mgr = sanei_jpeg_jinit_write_ppm (&cinfo); (void) jpeg_start_decompress (&cinfo); - row_stride = cinfo.output_width * cinfo.output_components; - parms.bytes_per_line = cinfo.output_width * 3; /* 3 colors */ parms.pixels_per_line = cinfo.output_width; parms.lines = cinfo.output_height; diff --git a/backend/gphoto2.h b/backend/gphoto2.h index 4ef953b..60591cf 100644 --- a/backend/gphoto2.h +++ b/backend/gphoto2.h @@ -155,12 +155,6 @@ struct cam_dirent long size; }; -#ifdef __GNUC__ -#define UNUSEDARG __attribute__ ((unused)) -#else -#define UNUSEDARG -#endif - struct cam_dirlist { SANE_Char name[48]; diff --git a/backend/gt68xx.c b/backend/gt68xx.c index ea71d91..13efe91 100644 --- a/backend/gt68xx.c +++ b/backend/gt68xx.c @@ -2346,7 +2346,7 @@ sane_cancel (SANE_Handle handle) else { DBG (4, "sane_cancel: scan has not been initiated yet, " - "or it is allready aborted\n"); + "or it is already aborted\n"); } DBG (5, "sane_cancel: exit\n"); diff --git a/backend/gt68xx_low.h b/backend/gt68xx_low.h index 68cd7c5..0743230 100644 --- a/backend/gt68xx_low.h +++ b/backend/gt68xx_low.h @@ -73,9 +73,6 @@ /* return if an error occured while the function was called */ #ifdef MAX_DEBUG -# ifndef __FUNCTION__ -# define __FUNCTION__ "somewhere" -# endif # define RIE(function) \ do \ @@ -83,7 +80,7 @@ status = function; \ if (status != SANE_STATUS_GOOD) \ { \ - DBG (7, "%s: %s: %s\n", __FUNCTION__, STRINGIFY(function), \ + DBG (7, "%s: %s: %s\n", __func__, STRINGIFY(function), \ sane_strstatus (status)); \ return status; \ } \ diff --git a/backend/hp-accessor.c b/backend/hp-accessor.c index b1acd7c..8b79ad4 100644 --- a/backend/hp-accessor.c +++ b/backend/hp-accessor.c @@ -687,20 +687,20 @@ sanei_hp_accessor_vector_new (HpData data, unsigned length, unsigned depth) } static unsigned short -_gamma_vector_unscale (HpAccessorVector UNUSEDARG this, SANE_Fixed fval) +_gamma_vector_unscale (HpAccessorVector __sane_unused__ this, SANE_Fixed fval) { unsigned short unscaled = fval / SANE_FIX(1.0); if (unscaled > 255) unscaled = 255; - unscaled = 255 - unscaled; /* Dont know why. But this is how it works */ + unscaled = 255 - unscaled; /* Don't know why. But this is how it works. */ return unscaled; } static SANE_Fixed -_gamma_vector_scale (HpAccessorVector UNUSEDARG this, unsigned short val) +_gamma_vector_scale (HpAccessorVector __sane_unused__ this, unsigned short val) { SANE_Fixed scaled; - val = 255-val; /* Dont know why. But this is how it works */ + val = 255-val; /* Don't know why. But this is how it works. */ scaled = val * SANE_FIX(1.0); return scaled; diff --git a/backend/hp-device.c b/backend/hp-device.c index 2b96ad6..6a50f84 100644 --- a/backend/hp-device.c +++ b/backend/hp-device.c @@ -249,7 +249,6 @@ sanei_hp_device_probe_model (enum hp_device_compat_e *compat, HpScsi scsi, }; int i; char buf[8]; - size_t len; SANE_Status status; static char *last_device = NULL; static enum hp_device_compat_e last_compat; @@ -279,7 +278,6 @@ sanei_hp_device_probe_model (enum hp_device_compat_e *compat, HpScsi scsi, { DBG(1,"probing %s\n",probes[i].model); - len = sizeof(buf); if (!FAILED( status = sanei_hp_scl_upload(scsi, probes[i].cmd, buf, sizeof(buf)) )) { diff --git a/backend/hp-handle.c b/backend/hp-handle.c index d9be2d5..ec8adbc 100644 --- a/backend/hp-handle.c +++ b/backend/hp-handle.c @@ -192,7 +192,7 @@ hp_handle_startReader (HpHandle this, HpScsi scsi) this->pipe_write_fd = -1; } - if (this->reader_pid == -1) /* Creating child failed ? Clean up pipe */ + if (!sanei_thread_is_valid (this->reader_pid)) { if ( !this->child_forked ) { diff --git a/backend/hp-option.c b/backend/hp-option.c index 10bcb3e..ba799b7 100644 --- a/backend/hp-option.c +++ b/backend/hp-option.c @@ -114,7 +114,7 @@ static SANE_Status hp_probe_parameter_support_table (enum hp_device_compat_e #define HP_EOL -9999 -/* Dont need requiries for commands that are probed */ +/* Don't need requiries for commands that are probed */ #define HP_PROBE_SCL_COMMAND 1 /* Scale factor for vectors (gtk seems not to like vectors/curves @@ -298,15 +298,15 @@ sanei_hp_choice_isEnabled (HpChoice this, HpOptSet optset, HpData data, } static hp_bool_t -_cenable_incolor (HpChoice UNUSEDARG this, HpOptSet optset, HpData data, - const HpDeviceInfo UNUSEDARG *info) +_cenable_incolor (HpChoice __sane_unused__ this, HpOptSet optset, HpData data, + const HpDeviceInfo __sane_unused__ *info) { return sanei_hp_optset_scanmode(optset, data) == HP_SCANMODE_COLOR; } static hp_bool_t -_cenable_notcolor (HpChoice UNUSEDARG this, HpOptSet optset, HpData data, - const HpDeviceInfo UNUSEDARG *info) +_cenable_notcolor (HpChoice __sane_unused__ this, HpOptSet optset, HpData data, + const HpDeviceInfo __sane_unused__ *info) { return sanei_hp_optset_scanmode(optset, data) != HP_SCANMODE_COLOR; } @@ -744,7 +744,7 @@ _set_size (HpOption opt, HpData data, SANE_Int size) /* #ifdef HP_EXPERIMENTAL */ static SANE_Status -_probe_int (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, HpData data) +_probe_int (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { HpScl scl = this->descriptor->scl_command; int minval, maxval; @@ -770,7 +770,7 @@ _probe_int (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, HpData data) /* #endif */ static SANE_Status -_probe_int_brightness (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_probe_int_brightness (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { HpScl scl = this->descriptor->scl_command; @@ -811,7 +811,7 @@ _probe_int_brightness (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, } static SANE_Status -_probe_resolution (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_probe_resolution (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { int minval, maxval, min2, max2; @@ -868,7 +868,7 @@ _probe_resolution (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, } static SANE_Status -_probe_bool (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_probe_bool (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { HpScl scl = this->descriptor->scl_command; @@ -891,7 +891,7 @@ _probe_bool (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, static SANE_Status -_probe_change_doc (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_probe_change_doc (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) {SANE_Status status; @@ -927,7 +927,7 @@ _probe_change_doc (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, * _probe_change_doc(), to hide the unnecessary "Unload" button on * non-ADF OfficeJets. */ static SANE_Status -_probe_unload (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_probe_unload (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) {SANE_Status status; @@ -959,7 +959,7 @@ _probe_unload (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, } static SANE_Status -_probe_calibrate (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_probe_calibrate (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { int val = 0; /* Always false */ @@ -1144,7 +1144,7 @@ _probe_choice (_HpOption this, HpScsi scsi, HpOptSet optset, HpData data) } static SANE_Status -_probe_each_choice (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_probe_each_choice (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { HpScl scl = this->descriptor->scl_command; @@ -1194,7 +1194,7 @@ _probe_each_choice (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, /* pseudo probe for exposure times in Photosmart */ static SANE_Status -_probe_ps_exposure_time (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_probe_ps_exposure_time (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { int minval = 0, maxval = 9, val = 0; @@ -1229,7 +1229,7 @@ _probe_ps_exposure_time (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, /* probe scan type (normal, adf, xpa) */ static SANE_Status -_probe_scan_type (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_probe_scan_type (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { int val; @@ -1300,7 +1300,7 @@ _probe_scan_type (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, } static SANE_Status -_probe_mirror_horiz (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_probe_mirror_horiz (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { HpScl scl = this->descriptor->scl_command; @@ -1345,7 +1345,7 @@ _probe_mirror_horiz (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, } static SANE_Status -_probe_mirror_vert (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_probe_mirror_vert (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { int minval = HP_MIRROR_VERT_OFF, @@ -1390,7 +1390,7 @@ _probe_mirror_vert (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, static SANE_Status _probe_front_button(_HpOption this, HpScsi scsi, - HpOptSet UNUSEDARG optset, HpData data) + HpOptSet __sane_unused__ optset, HpData data) { int val = 0; @@ -1501,7 +1501,7 @@ _probe_download_type (HpScl scl, HpScsi scsi) } static SANE_Status -_probe_custom_gamma (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_probe_custom_gamma (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { HpScl scl = this->descriptor->scl_command; @@ -1694,8 +1694,8 @@ _probe_matrix (_HpOption this, HpScsi scsi, HpOptSet optset, HpData data) } static SANE_Status -_probe_num_options (_HpOption this, HpScsi UNUSEDARG scsi, - HpOptSet UNUSEDARG optset, HpData data) +_probe_num_options (_HpOption this, HpScsi __sane_unused__ scsi, + HpOptSet __sane_unused__ optset, HpData data) { /* If we dont have an accessor, get one */ if (!this->data_acsr) @@ -1708,7 +1708,7 @@ _probe_num_options (_HpOption this, HpScsi UNUSEDARG scsi, } static SANE_Status -_probe_devpix (_HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_probe_devpix (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { HpScl scl = this->descriptor->scl_command; @@ -2102,7 +2102,7 @@ _program_matrix (HpOption this, HpScsi scsi, HpOptSet optset, HpData data) } static SANE_Status -_program_resolution (HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_program_resolution (HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { @@ -2326,7 +2326,7 @@ _program_media (HpOption this, HpScsi scsi, HpOptSet optset, HpData data) static SANE_Status _program_unload_after_scan (HpOption this, HpScsi scsi, - HpOptSet UNUSEDARG optset, HpData data) + HpOptSet __sane_unused__ optset, HpData data) { HpDeviceInfo *info; info = sanei_hp_device_info_get ( sanei_hp_scsi_devicename (scsi) ); @@ -2340,8 +2340,8 @@ _program_unload_after_scan (HpOption this, HpScsi scsi, } static SANE_Status -_program_lamp_off (HpOption UNUSEDARG this, HpScsi scsi, - HpOptSet UNUSEDARG optset, HpData UNUSEDARG data) +_program_lamp_off (HpOption __sane_unused__ this, HpScsi scsi, + HpOptSet __sane_unused__ optset, HpData __sane_unused__ data) { DBG(3,"program_lamp_off: shut off lamp\n"); @@ -2436,8 +2436,8 @@ _program_scan_type (HpOption this, HpScsi scsi, HpOptSet optset, HpData data) } static SANE_Status -_program_change_doc (HpOption UNUSEDARG this, HpScsi scsi, - HpOptSet UNUSEDARG optset, HpData UNUSEDARG data) +_program_change_doc (HpOption __sane_unused__ this, HpScsi scsi, + HpOptSet __sane_unused__ optset, HpData __sane_unused__ data) { int istat; @@ -2492,8 +2492,8 @@ _program_unload (HpOption this, HpScsi scsi, HpOptSet optset, HpData data) } static SANE_Status -_program_calibrate (HpOption UNUSEDARG this, HpScsi scsi, - HpOptSet UNUSEDARG optset, HpData UNUSEDARG data) +_program_calibrate (HpOption __sane_unused__ this, HpScsi scsi, + HpOptSet __sane_unused__ optset, HpData __sane_unused__ data) { struct passwd *pw; SANE_Status status = SANE_STATUS_GOOD; @@ -2525,7 +2525,7 @@ _program_calibrate (HpOption UNUSEDARG this, HpScsi scsi, * speed for higher exposure times */ static SANE_Status _program_ps_exposure_time (HpOption this, HpScsi scsi, - HpOptSet UNUSEDARG optset, HpData data) + HpOptSet __sane_unused__ optset, HpData data) { SANE_Status status = SANE_STATUS_GOOD; size_t calib_size = 0; @@ -2650,7 +2650,7 @@ _program_scanmode (HpOption this, HpScsi scsi, HpOptSet optset, HpData data) } static SANE_Status -_program_mirror_horiz (HpOption this, HpScsi scsi, HpOptSet UNUSEDARG optset, +_program_mirror_horiz (HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, HpData data) { int sec_dir, mirror = hp_option_getint(this, data); @@ -2695,8 +2695,8 @@ _enable_rgb_maps (HpOption this, HpOptSet optset, HpData data, #endif static hp_bool_t -_enable_mono_map (HpOption UNUSEDARG this, HpOptSet optset, HpData data, - const HpDeviceInfo UNUSEDARG *info) +_enable_mono_map (HpOption __sane_unused__ this, HpOptSet optset, HpData data, + const HpDeviceInfo __sane_unused__ *info) { HpOption cgam = hp_optset_get(optset, CUSTOM_GAMMA); @@ -2706,8 +2706,8 @@ _enable_mono_map (HpOption UNUSEDARG this, HpOptSet optset, HpData data, } static hp_bool_t -_enable_rgb_matrix (HpOption UNUSEDARG this, HpOptSet optset, HpData data, - const HpDeviceInfo UNUSEDARG *info) +_enable_rgb_matrix (HpOption __sane_unused__ this, HpOptSet optset, HpData data, + const HpDeviceInfo __sane_unused__ *info) { HpOption type = hp_optset_get(optset, MATRIX_TYPE); @@ -2746,8 +2746,8 @@ _enable_brightness (HpOption this, HpOptSet optset, HpData data, } static hp_bool_t -_enable_autoback (HpOption UNUSEDARG this, HpOptSet optset, HpData data, - const HpDeviceInfo UNUSEDARG *info) +_enable_autoback (HpOption __sane_unused__ this, HpOptSet optset, HpData data, + const HpDeviceInfo __sane_unused__ *info) { return sanei_hp_optset_scanmode(optset, data) == HP_SCANMODE_LINEART; } @@ -2788,15 +2788,15 @@ _enable_custom_gamma (HpOption this, HpOptSet optset, HpData data, } static hp_bool_t -_enable_halftone (HpOption UNUSEDARG this, HpOptSet optset, HpData data, - const HpDeviceInfo UNUSEDARG *info) +_enable_halftone (HpOption __sane_unused__ this, HpOptSet optset, HpData data, + const HpDeviceInfo __sane_unused__ *info) { return sanei_hp_optset_scanmode(optset, data) == HP_SCANMODE_HALFTONE; } static hp_bool_t -_enable_halftonevec (HpOption UNUSEDARG this, HpOptSet optset, HpData data, - const HpDeviceInfo UNUSEDARG *info) +_enable_halftonevec (HpOption __sane_unused__ this, HpOptSet optset, HpData data, + const HpDeviceInfo __sane_unused__ *info) { if (sanei_hp_optset_scanmode(optset, data) == HP_SCANMODE_HALFTONE) { @@ -2808,8 +2808,8 @@ _enable_halftonevec (HpOption UNUSEDARG this, HpOptSet optset, HpData data, } static hp_bool_t -_enable_data_width (HpOption UNUSEDARG this, HpOptSet optset, HpData data, - const HpDeviceInfo UNUSEDARG *info) +_enable_data_width (HpOption __sane_unused__ this, HpOptSet optset, HpData data, + const HpDeviceInfo __sane_unused__ *info) {enum hp_scanmode_e mode; mode = sanei_hp_optset_scanmode (optset, data); @@ -2817,7 +2817,7 @@ _enable_data_width (HpOption UNUSEDARG this, HpOptSet optset, HpData data, } static hp_bool_t -_enable_out8 (HpOption UNUSEDARG this, HpOptSet optset, HpData data, +_enable_out8 (HpOption __sane_unused__ this, HpOptSet optset, HpData data, const HpDeviceInfo *info) { if (hp_optset_isEnabled (optset, data, SANE_NAME_BIT_DEPTH, info)) @@ -2829,8 +2829,8 @@ _enable_out8 (HpOption UNUSEDARG this, HpOptSet optset, HpData data, } static hp_bool_t -_enable_calibrate (HpOption UNUSEDARG this, HpOptSet optset, HpData data, - const HpDeviceInfo UNUSEDARG *info) +_enable_calibrate (HpOption __sane_unused__ this, HpOptSet optset, HpData data, + const HpDeviceInfo __sane_unused__ *info) { HpOption media = hp_optset_get(optset, MEDIA); diff --git a/backend/hp-scl.c b/backend/hp-scl.c index e58508b..f1813c7 100644 --- a/backend/hp-scl.c +++ b/backend/hp-scl.c @@ -339,7 +339,7 @@ hp_nonscsi_write (HpScsi this, hp_byte_t *data, size_t len, HpConnect connect) static SANE_Status hp_nonscsi_read (HpScsi this, hp_byte_t *data, size_t *len, HpConnect connect, - int UNUSEDARG isResponse) + int __sane_unused__ isResponse) {int n = -1; static int retries = -1; @@ -905,7 +905,7 @@ hp_scsi_scl(HpScsi this, HpScl scl, int val) RETURN_IF_FAIL( hp_scsi_need(this, 10) ); - /* Dont try to optimize SCL-commands like using *a1b0c5T */ + /* Don't try to optimize SCL-commands like using *a1b0c5T */ /* Some scanners have problems with it (e.g. HP Photosmart Photoscanner */ /* with window position/extent, resolution) */ count = sprintf((char *)this->bufp, "\033*%c%d%c", group, val, param); @@ -1011,7 +1011,7 @@ hp_scsi_read (HpScsi this, void * dest, size_t *len, int isResponse) static int signal_caught = 0; -static RETSIGTYPE +static void signal_catcher (int sig) { DBG(1,"signal_catcher(sig=%d): old signal_caught=%d\n",sig,signal_caught); @@ -1338,13 +1338,11 @@ static SANE_Status process_data (PROCDATA_HANDLE *ph, unsigned char *read_ptr, int nread) {int bytes_left; - HpProcessData *procdata; if (nread <= 0) return SANE_STATUS_GOOD; if (ph == NULL) return SANE_STATUS_INVAL; - procdata = &(ph->procdata); if ( ph->tmp_buf_len > 0 ) /* Something left ? */ { bytes_left = ph->tmp_buf_size - ph->tmp_buf_len; @@ -2083,7 +2081,7 @@ hp_scl_strerror (int errnum) case 1024: return "ADF Paper Jam"; case 1025: return "Home Position Missing"; case 1026: return "Paper Not Loaded"; - default: return "??Unkown Error??"; + default: return "??Unknown Error??"; } } diff --git a/backend/hp.c b/backend/hp.c index c85e40c..f00b82d 100644 --- a/backend/hp.c +++ b/backend/hp.c @@ -468,13 +468,11 @@ static void hp_device_info_remove (void) { HpDeviceInfoList next, infolistelement = global.infolist; - HpDeviceInfo *info; if (!global.is_up) return; while (infolistelement) { - info = &(infolistelement->info); next = infolistelement->next; sanei_hp_free (infolistelement); infolistelement = next; @@ -811,7 +809,7 @@ hp_update_devlist (void) */ SANE_Status -sane_init (SANE_Int *version_code, SANE_Auth_Callback UNUSEDARG authorize) +sane_init (SANE_Int *version_code, SANE_Auth_Callback __sane_unused__ authorize) {SANE_Status status; DBG_INIT(); @@ -839,7 +837,7 @@ sane_exit (void) SANE_Status sane_get_devices (const SANE_Device ***device_list, - SANE_Bool UNUSEDARG local_only) + SANE_Bool __sane_unused__ local_only) { DBG(3, "sane_get_devices called\n"); diff --git a/backend/hp.h b/backend/hp.h index b86ee04..42b3be5 100644 --- a/backend/hp.h +++ b/backend/hp.h @@ -53,12 +53,6 @@ #define DEBUG_NOT_STATIC #include "../include/sane/sanei_debug.h" -#ifdef __GNUC__ -#define UNUSEDARG __attribute__ ((unused)) -#else -#define UNUSEDARG -#endif - /* FIXME: these should be options? */ #undef ENABLE_7x12_TONEMAPS #define ENABLE_16x16_DITHERS diff --git a/backend/hp3500.c b/backend/hp3500.c index 48a8035..26fe071 100644 --- a/backend/hp3500.c +++ b/backend/hp3500.c @@ -84,6 +84,7 @@ #include #include #include +#include #include #include @@ -145,6 +146,7 @@ enum hp3500_option OPT_MODE, OPT_BRIGHTNESS, OPT_CONTRAST, + OPT_GAMMA, NUM_OPTIONS }; @@ -189,6 +191,8 @@ struct hp3500_data int brightness; int contrast; + double gamma; + SANE_Option_Descriptor opt[NUM_OPTIONS]; SANE_Device sane; }; @@ -218,6 +222,8 @@ static const SANE_Range range_brightness = { 0, 255, 0 }; static const SANE_Range range_contrast = { 0, 255, 0 }; +static const SANE_Range range_gamma = + { SANE_FIX (0.2), SANE_FIX(4.0), SANE_FIX(0.01) }; #define HP3500_COLOR_SCAN 0 @@ -233,6 +239,7 @@ static int reader_process (void *); static void calculateDerivedValues (struct hp3500_data *scanner); static void do_reset (struct hp3500_data *scanner); static void do_cancel (struct hp3500_data *scanner); +static size_t max_string_size(char const **); /* * used by sane_get_devices @@ -382,6 +389,7 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) scanner->mode = 0; scanner->brightness = 128; scanner->contrast = 64; + scanner->gamma = 2.2; calculateDerivedValues (scanner); return SANE_STATUS_GOOD; @@ -536,6 +544,10 @@ sane_control_option (SANE_Handle handle, SANE_Int option, *(SANE_Word *) val = scanner->contrast; return SANE_STATUS_GOOD; + case OPT_GAMMA: + *(SANE_Word *) val = SANE_FIX(scanner->gamma); + return SANE_STATUS_GOOD; + case OPT_BRIGHTNESS: *(SANE_Word *) val = scanner->brightness; return SANE_STATUS_GOOD; @@ -649,6 +661,10 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_CONTRAST: scanner->contrast = *(SANE_Word *) val; return SANE_STATUS_GOOD; + + case OPT_GAMMA: + scanner->gamma = SANE_UNFIX(*(SANE_Word *) val); + return SANE_STATUS_GOOD; } /* switch */ } /* else */ return SANE_STATUS_INVAL; @@ -703,7 +719,7 @@ sane_start (SANE_Handle handle) scanner->reader_pid = sanei_thread_begin (reader_process, scanner); time (&scanner->last_scan); - if (scanner->reader_pid == -1) + if (!sanei_thread_is_valid (scanner->reader_pid)) { DBG (MSG_ERR, "cannot fork reader process.\n"); DBG (MSG_ERR, "%s", strerror (errno)); @@ -952,7 +968,7 @@ attachScanner (const char *devicename) dev->devicename = strdup (devicename); dev->sfd = -1; dev->last_scan = 0; - dev->reader_pid = -1; + dev->reader_pid = (SANE_Pid) -1; dev->pipe_r = dev->pipe_w = -1; dev->sane.name = dev->devicename; @@ -1064,8 +1080,9 @@ init_options (struct hp3500_data *scanner) opt->title = SANE_TITLE_SCAN_MODE; opt->desc = SANE_DESC_SCAN_MODE; opt->type = SANE_TYPE_STRING; + opt->size = max_string_size(scan_mode_list); opt->constraint_type = SANE_CONSTRAINT_STRING_LIST; - opt->constraint.string_list = scan_mode_list; + opt->constraint.string_list = (SANE_String_Const *) scan_mode_list; opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; opt = scanner->opt + OPT_BRIGHTNESS; @@ -1086,6 +1103,16 @@ init_options (struct hp3500_data *scanner) opt->constraint.range = &range_contrast; opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; + opt = scanner->opt + OPT_GAMMA; + opt->name = SANE_NAME_ANALOG_GAMMA; + opt->title = SANE_TITLE_ANALOG_GAMMA; + opt->desc = SANE_DESC_ANALOG_GAMMA; + opt->type = SANE_TYPE_FIXED; + opt->unit = SANE_UNIT_NONE; + opt->constraint_type = SANE_CONSTRAINT_RANGE; + opt->constraint.range = &range_gamma; + opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; + return SANE_STATUS_GOOD; } @@ -1098,7 +1125,7 @@ do_reset (struct hp3500_data *scanner) static void do_cancel (struct hp3500_data *scanner) { - if (scanner->reader_pid != -1) + if (sanei_thread_is_valid (scanner->reader_pid)) { if (sanei_thread_kill (scanner->reader_pid) == 0) @@ -1749,14 +1776,14 @@ rt_set_basic_calibration (unsigned char *regs, int greengain, int blueoffset1, int blueoffset2, int bluegain) { - regs[0x05] = redoffset1; - regs[0x02] = redoffset2; + regs[0x02] = redoffset1; + regs[0x05] = redoffset2; regs[0x08] = redgain; - regs[0x06] = greenoffset1; - regs[0x03] = greenoffset2; + regs[0x03] = greenoffset1; + regs[0x06] = greenoffset2; regs[0x09] = greengain; - regs[0x07] = blueoffset1; - regs[0x04] = blueoffset2; + regs[0x04] = blueoffset1; + regs[0x07] = blueoffset2; regs[0x0a] = bluegain; return 0; } @@ -1765,13 +1792,36 @@ static int rt_set_calibration_addresses (unsigned char *regs, unsigned redaddr, unsigned greenaddr, - unsigned blueaddr, unsigned endaddr) + unsigned blueaddr, + unsigned endaddr, + unsigned width) { + unsigned endpage = (endaddr + 31) / 32; + unsigned scanline_pages = ((width + 1) * 3 + 31) / 32; + + /* Red, green and blue detailed calibration addresses */ + regs[0x84] = redaddr; regs[0x8e] = (regs[0x8e] & 0x0f) | ((redaddr >> 4) & 0xf0); rt_set_value_lsbfirst (regs, 0x85, 2, greenaddr); rt_set_value_lsbfirst (regs, 0x87, 2, blueaddr); - rt_set_value_lsbfirst (regs, 0x89, 2, (endaddr + 31) / 32); + + /* I don't know what the next three are used for, but each buffer commencing + * at 0x80 and 0x82 needs to hold a full scan line. + */ + + rt_set_value_lsbfirst (regs, 0x80, 2, endpage); + rt_set_value_lsbfirst (regs, 0x82, 2, endpage + scanline_pages); + rt_set_value_lsbfirst (regs, 0x89, 2, endpage + scanline_pages * 2); + + /* I don't know what this is, but it seems to be a number of pages that can hold + * 16 complete scan lines, but not calculated as an offset from any other page + */ + + rt_set_value_lsbfirst (regs, 0x51, 2, (48 * (width + 1) + 31) / 32); + + /* I don't know what this is either, but this is what the Windows driver does */ + rt_set_value_lsbfirst (regs, 0x8f, 2, 0x1c00); return 0; } @@ -1797,6 +1847,13 @@ rt_set_data_feed_on (unsigned char *regs) return 0; } +static int +rt_set_data_feed_off (unsigned char *regs) +{ + regs[0xb2] |= 0x04; + return 0; +} + static int rt_enable_ccd (unsigned char *regs, int enable) { @@ -2245,10 +2302,14 @@ rt_nvram_read (int block, int location, unsigned char *data, int bytes) return 0; } +/* This is what we want as the initial registers, not what they + * are at power on time. In particular 13 bytes at 0x10 are + * different, and the byte at 0x94 is different. + */ static unsigned char initial_regs[] = { /* 0x00 */ 0xf5, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08 */ 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, - /* 0x10 */ 0xe1, 0xfc, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfc, + /* 0x10 */ 0x81, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, /* 0x18 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x20 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x19, @@ -2264,7 +2325,7 @@ static unsigned char initial_regs[] = { /* 0x78 */ 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80 */ 0x0f, 0x02, 0x4b, 0x02, 0x00, 0xec, 0x19, 0xd8, /* 0x88 */ 0x2d, 0x87, 0x02, 0xff, 0x3f, 0x78, 0x60, 0x00, - /* 0x90 */ 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* 0x90 */ 0x1c, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, /* 0x98 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0 */ 0x00, 0x00, 0x00, 0x0c, 0x27, 0x64, 0x00, 0x00, /* 0xa8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2363,14 +2424,14 @@ static struct resolution_parameters resparms[] = { /* My values - all work */ /*res r39 rC3 rC6 freq cph0s rgo gbo intra mmcm d3 tg stepsz */ {1200, 3, 6, 4, 2, 1, 22, 22, 4, 2, 1, RT_NORMAL_TG, 0x157b}, - {600, 15, 6, 4, 1, 0, 9, 10, 0, 2, 1, RT_NORMAL_TG, 0x055e}, + {600, 15, 6, 4, 1, 1, 9, 10, 0, 2, 1, RT_NORMAL_TG, 0x055e}, {400, 3, 1, 4, 1, 1, 6, 6, 1, 2, 1, RT_NORMAL_TG, 0x157b}, - {300, 15, 3, 4, 1, 0, 5, 4, 0, 2, 1, RT_NORMAL_TG, 0x02af}, - {200, 7, 1, 4, 1, 0, 3, 3, 0, 2, 1, RT_NORMAL_TG, 0x055e}, - {150, 15, 3, 1, 1, 0, 2, 2, 0, 2, 1, RT_NORMAL_TG, 0x02af}, - {100, 3, 1, 3, 1, 0, 1, 1, 0, 2, 1, RT_NORMAL_TG, 0x0abd}, - {75, 15, 3, 3, 1, 0, 1, 1, 0, 2, 1, RT_NORMAL_TG, 0x02af}, - {50, 15, 1, 1, 1, 0, 0, 0, 0, 2, 1, RT_NORMAL_TG, 0x055e}, + {300, 15, 3, 4, 1, 1, 5, 4, 0, 2, 1, RT_NORMAL_TG, 0x02af}, + {200, 7, 1, 4, 1, 1, 3, 3, 0, 2, 1, RT_NORMAL_TG, 0x055e}, + {150, 15, 3, 1, 1, 1, 2, 2, 0, 2, 1, RT_NORMAL_TG, 0x02af}, + {100, 3, 1, 3, 1, 1, 1, 1, 0, 2, 1, RT_NORMAL_TG, 0x0abd}, + {75, 15, 3, 3, 1, 1, 1, 1, 0, 2, 1, RT_NORMAL_TG, 0x02af}, + {50, 15, 1, 1, 1, 1, 0, 0, 0, 2, 1, RT_NORMAL_TG, 0x055e}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }; @@ -2597,6 +2658,90 @@ constrain (int val, int min, int max) return val; } +#if 0 +static void +sram_dump_byte(FILE *fp, + unsigned char const *left, + unsigned leftstart, + unsigned leftlimit, + unsigned char const *right, + unsigned rightstart, + unsigned rightlimit, + unsigned idx) +{ + unsigned ridx = rightstart + idx; + unsigned lidx = leftstart + idx; + + putc(' ', fp); + if (rightstart < rightlimit && leftstart < leftlimit && left[lidx] != right[ridx]) + fputs("", fp); + if (leftstart < leftlimit) + fprintf(fp, "%02x", left[lidx]); + else + fputs(" ", fp); + if (rightstart < rightlimit && leftstart < leftlimit && left[lidx] != right[ridx]) + fputs("", fp); +} + +static void +dump_sram_to_file(char const *fname, + unsigned char const *expected, + unsigned end_calibration_offset) +{ + FILE *fp = fopen(fname, "w"); + rt_set_sram_page(0); + + if (fp) + { + unsigned char buf[1024]; + unsigned loc = 0; + + fprintf(fp, "

\n");
+      while (loc < end_calibration_offset)
+        {
+          unsigned byte = 0;
+
+          rt_read_sram(1024, buf);
+
+          while (byte < 1024)
+            {
+              unsigned idx = 0;
+
+              fprintf(fp, "%06x:", loc);
+              do
+                {
+		  sram_dump_byte(fp, buf, byte, 1024, expected, loc, end_calibration_offset, idx);
+                } while (++idx & 0x7);
+              fprintf(fp, " -");
+              do
+                {
+		  sram_dump_byte(fp, buf, byte, 1024, expected, loc, end_calibration_offset, idx);
+                } while (++idx & 0x7);
+
+              idx = 0;
+              fputs("     ", fp);
+
+              do
+                {
+                  sram_dump_byte(fp, expected, loc, end_calibration_offset, buf, byte, 1024, idx);
+                } while (++idx & 0x7);
+              fprintf(fp, " -");
+              do
+                {
+                  sram_dump_byte(fp, expected, loc, end_calibration_offset, buf, byte, 1024, idx);
+                } while (++idx & 0x7);
+
+
+              fputs("\n", fp);
+              byte += 16;
+              loc += 16;
+            }
+        }
+      fprintf(fp, "
"); + fclose(fp); + } +} +#endif static int rts8801_doscan (unsigned width, @@ -2610,13 +2755,13 @@ rts8801_doscan (unsigned width, int oddfirst, unsigned char const *calib_info, int merged_channels, - detailed_calibration_data const *detailed_calib_data) + double *postprocess_offsets, + double *postprocess_gains) { unsigned rowbytes = 0; unsigned output_rowbytes = 0; unsigned channels = 0; unsigned total_rows = 0; - unsigned bytesperchannel; unsigned char *row_buffer; unsigned char *output_buffer; unsigned buffered_rows; @@ -2638,7 +2783,7 @@ rts8801_doscan (unsigned width, channels = 3; rowbytes = width * 3; - bytesperchannel = width; + switch (colour) { case HP3500_GRAY_SCAN: @@ -2710,32 +2855,27 @@ rts8801_doscan (unsigned width, if (!rows_to_begin || !--rows_to_begin) { unsigned char *outnow = output_buffer; + unsigned x; - for (i = 0; - i < (merged_channels ? rowbytes : width); - i += merged_channels ? channels : 1) + for (i = x = 0; + x < width; + ++x, i += merged_channels ? channels : 1) { for (j = 0; j < channels; ++j) { unsigned pix = (unsigned char) channel_data[j][i & 1][i]; - if (detailed_calib_data) - { - unsigned char const *calib_start = - detailed_calib_data->channeldata[j] + - 2 * - detailed_calib_data-> - resolution_divisor * i / - (merged_channels ? channels : 1); - pix = - constrain ((int) pix - - (int) calib_start[0], 0, - 255); - pix = - constrain (pix * calib_start[1] / - 0x40, 0, 255); - } + if (postprocess_gains && postprocess_offsets) + { + int ppidx = j * width + x; + + pix = constrain ( pix + * postprocess_gains[ppidx] + - postprocess_offsets[ppidx], + 0, + 255); + } *outnow++ = pix; } } @@ -2818,6 +2958,9 @@ static unsigned local_sram_size; static unsigned char r93setting; #define RTS8801_F_SUPPRESS_MOVEMENT 1 +#define RTS8801_F_LAMP_OFF 2 +#define RTS8801_F_NO_DISPLACEMENTS 4 +#define RTS8801_F_ODDX 8 static int find_resolution_index (unsigned resolution) @@ -2848,7 +2991,8 @@ rts8801_fullscan (unsigned x, int green_calib_offset, int blue_calib_offset, int end_calib_offset, - detailed_calibration_data const *detailed_calib_data) + double *postprocess_offsets, + double *postprocess_gains) { int ires, jres; int tg_setting; @@ -2856,6 +3000,10 @@ rts8801_fullscan (unsigned x, unsigned char offdutytime; int result; int scan_frequency; + unsigned intra_channel_offset; + unsigned red_green_offset; + unsigned green_blue_offset; + unsigned total_offsets; ires = find_resolution_index (xresolution); jres = find_resolution_index (yresolution); @@ -2889,47 +3037,32 @@ rts8801_fullscan (unsigned x, rt_set_movement_pattern (regs, 0x800000); - - tg_setting = resparms[jres].tg; - rt_set_ccd_shift_clock_multiplier (regs, tg_info[tg_setting].tg_cph0p); - rt_set_ccd_clock_reset_interval (regs, tg_info[tg_setting].tg_crsp); - rt_set_ccd_clamp_clock_multiplier (regs, tg_info[tg_setting].tg_cclpp); - - - rt_set_one_register (0xc6, 0); - rt_set_one_register (0xc6, 0); - - rt_set_step_size (regs, resparms[jres].step_size); - rt_set_direction_forwards (regs); - rt_set_stop_when_rewound (regs, 0); - rt_set_data_feed_on (regs); - rt_set_calibration_addresses (regs, 0, 0, 0, 0); + rt_set_calibration_addresses (regs, 0, 0, 0, 0, 0); rt_set_basic_calibration (regs, calib_info[0], calib_info[1], calib_info[2], calib_info[3], calib_info[4], calib_info[5], calib_info[6], calib_info[7], calib_info[8]); regs[0x0b] = 0x70; /* If set to 0x71, the alternative, all values are low */ + regs[0x40] &= 0xc0; if (red_calib_offset >= 0 && green_calib_offset >= 0 - && blue_calib_offset >= 0 && - yresolution < 400) + && blue_calib_offset >= 0) { rt_set_calibration_addresses (regs, red_calib_offset, green_calib_offset, blue_calib_offset, - end_calib_offset); + end_calib_offset, + w); regs[0x40] |= 0x2f; - detailed_calib_data = 0; } else if (end_calib_offset >= 0) { rt_set_calibration_addresses (regs, 0x600, 0x600, 0x600, - end_calib_offset); - regs[0x40] &= 0xc0; + end_calib_offset, w); } rt_set_channel (regs, RT_CHANNEL_ALL); @@ -2937,23 +3070,9 @@ rts8801_fullscan (unsigned x, rt_set_merge_channels (regs, 1); rt_set_colour_mode (regs, 1); - rt_set_motor_movement_clock_multiplier (regs, - resparms[jres]. - motor_movement_clock_multiplier); - - rt_set_cdss (regs, tg_info[tg_setting].tg_cdss1, - tg_info[tg_setting].tg_cdss2); - rt_set_cdsc (regs, tg_info[tg_setting].tg_cdsc1, - tg_info[tg_setting].tg_cdsc2); - rt_update_after_setting_cdss2 (regs); - rt_set_last_sram_page (regs, (local_sram_size - 1) >> 5); - regs[0x39] = resparms[jres].reg_39_value; - regs[0xc3] = (regs[0xc3] & 0xf8) | resparms[jres].reg_c3_value; - regs[0xc6] = (regs[0xc6] & 0xf8) | resparms[jres].reg_c6_value; scan_frequency = resparms[jres].scan_frequency; - rt_set_scan_frequency (regs, scan_frequency); rt_set_cph0s (regs, resparms[ires].cph0s); if (resparms[ires].d3_bit_3_value) regs[0xd3] |= 0x08; @@ -2962,15 +3081,10 @@ rts8801_fullscan (unsigned x, if (flags & RTS8801_F_SUPPRESS_MOVEMENT) regs[0xc3] &= 0x7f; - rt_set_horizontal_resolution (regs, xresolution); - rt_set_noscan_distance (regs, y * scan_frequency - 1); - rt_set_total_distance (regs, scan_frequency * - (y + - h + - resparms[jres].red_green_offset + - resparms[jres].green_blue_offset + - resparms[jres].intra_channel_offset) - 1); + regs[0xb2] &= 0xf7; + + rt_set_horizontal_resolution (regs, xresolution); rt_set_scanline_start (regs, x * (1200 / xresolution) / @@ -2982,6 +3096,118 @@ rts8801_fullscan (unsigned x, (resparms[ires].cph0s ? 1 : 2) / (resparms[ires].d3_bit_3_value ? 1 : 2)); + if (flags & RTS8801_F_NO_DISPLACEMENTS) + { + red_green_offset = green_blue_offset = intra_channel_offset = 0; + } + else + { + red_green_offset = resparms[jres].red_green_offset; + green_blue_offset = resparms[jres].green_blue_offset; + intra_channel_offset = resparms[jres].intra_channel_offset; + } + total_offsets = red_green_offset + green_blue_offset + intra_channel_offset; + if (y > total_offsets + 2) + y -= total_offsets; + h += total_offsets; + + if (yresolution > 75 && !(flags & RTS8801_F_SUPPRESS_MOVEMENT)) + { + int rmres = find_resolution_index (50); + + if (rmres >= 0) + { + int factor = yresolution / 50; + int fastres = y / factor; + int remainder = y % factor; + + while (remainder < 2) + { + --fastres; + remainder += factor; + } + + if (fastres >= 3) + { + y = remainder; + + rt_set_noscan_distance(regs, fastres * resparms[rmres].scan_frequency - 2); + rt_set_total_distance(regs, fastres * resparms[rmres].scan_frequency - 1); + + rt_set_scan_frequency(regs, 1); + + tg_setting = resparms[rmres].tg; + rt_set_ccd_shift_clock_multiplier (regs, tg_info[tg_setting].tg_cph0p); + rt_set_ccd_clock_reset_interval (regs, tg_info[tg_setting].tg_crsp); + rt_set_ccd_clamp_clock_multiplier (regs, tg_info[tg_setting].tg_cclpp); + + rt_set_one_register (0xc6, 0); + rt_set_one_register (0xc6, 0); + + rt_set_step_size (regs, resparms[rmres].step_size); + + rt_set_motor_movement_clock_multiplier (regs, + resparms[rmres]. + motor_movement_clock_multiplier); + + rt_set_cdss (regs, tg_info[tg_setting].tg_cdss1, + tg_info[tg_setting].tg_cdss2); + rt_set_cdsc (regs, tg_info[tg_setting].tg_cdsc1, + tg_info[tg_setting].tg_cdsc2); + rt_update_after_setting_cdss2 (regs); + + regs[0x39] = resparms[rmres].reg_39_value; + regs[0xc3] = (regs[0xc3] & 0xf8) | resparms[rmres].reg_c3_value; + regs[0xc6] = (regs[0xc6] & 0xf8) | resparms[rmres].reg_c6_value; + + rt_set_data_feed_off (regs); + + rt_set_all_registers (regs); + + rt_set_one_register (0x2c, regs[0x2c]); + + if (DBG_LEVEL >= 5) + dump_registers (regs); + + rt_start_moving (); + while (rt_is_moving ()); + } + } + } + + + rt_set_noscan_distance (regs, y * scan_frequency - 1); + rt_set_total_distance (regs, scan_frequency * (y + h) - 1); + + rt_set_scan_frequency (regs, scan_frequency); + + tg_setting = resparms[jres].tg; + + rt_set_ccd_shift_clock_multiplier (regs, tg_info[tg_setting].tg_cph0p); + rt_set_ccd_clock_reset_interval (regs, tg_info[tg_setting].tg_crsp); + rt_set_ccd_clamp_clock_multiplier (regs, tg_info[tg_setting].tg_cclpp); + + rt_set_one_register (0xc6, 0); + rt_set_one_register (0xc6, 0); + + rt_set_step_size (regs, resparms[jres].step_size); + + rt_set_motor_movement_clock_multiplier (regs, + resparms[jres]. + motor_movement_clock_multiplier); + + rt_set_cdss (regs, tg_info[tg_setting].tg_cdss1, + tg_info[tg_setting].tg_cdss2); + rt_set_cdsc (regs, tg_info[tg_setting].tg_cdsc1, + tg_info[tg_setting].tg_cdsc2); + rt_update_after_setting_cdss2 (regs); + + regs[0x39] = resparms[jres].reg_39_value; + regs[0xc3] = (regs[0xc3] & 0xf8) | resparms[jres].reg_c3_value; + regs[0xc6] = (regs[0xc6] & 0xf8) | resparms[jres].reg_c6_value; + + rt_set_data_feed_on (regs); + rt_set_all_registers (regs); rt_set_one_register (0x2c, regs[0x2c]); @@ -2992,12 +3218,13 @@ rts8801_fullscan (unsigned x, result = rts8801_doscan (w, h, colour, - resparms[jres].red_green_offset, - resparms[jres].green_blue_offset, - resparms[jres].intra_channel_offset, + red_green_offset, + green_blue_offset, + intra_channel_offset, cbfunc, param, (x & 1), calib_info, - (regs[0x2f] & 0x04) != 0, detailed_calib_data); - + (regs[0x2f] & 0x04) != 0, + postprocess_offsets, + postprocess_gains); return result; } @@ -3080,6 +3307,11 @@ sum_channel (unsigned char *p, int n, int bytwo) static int do_warmup = 1; +#define DETAILED_PASS_COUNT 3 +#define DETAILED_PASS_OFFSETS 0 +#define DETAILED_PASS_GAINS_FIRSTPASS 1 +#define DETAILED_PASS_GAINS_SECONDPASS 2 + static int rts8801_scan (unsigned x, unsigned y, @@ -3090,26 +3322,22 @@ rts8801_scan (unsigned x, unsigned brightness, unsigned contrast, rts8801_callback cbfunc, - void *param) + void *param, + double gamma) { unsigned char calib_info[9]; unsigned char calibbuf[2400]; struct dcalibdata dcd; struct calibdata cd; unsigned char *detail_buffer = 0; - int iCalibOffset; - int iCalibX; int iCalibY; - int iCalibWidth; int iCalibTarget; - int iCalibPixels; int iMoveFlags = 0; - unsigned int aiLow[3] = { 0, 0, 0 }; - unsigned int aiHigh[3] = { 256, 256, 256 }; - unsigned aiBestOffset[3]; + unsigned aiBestOffset[6]; + int aiPassed[6]; int i; unsigned j; - int anychanged; + int k; int calibration_size; unsigned char *pDetailedCalib; int red_calibration_offset; @@ -3121,7 +3349,13 @@ rts8801_scan (unsigned x, int resolution_index; int detailed_calibration_rows = 50; unsigned char *tdetail_buffer; - detailed_calibration_data detailed_calib_data; + int pass; + int onechanged; + double *postprocess_gains; + double *postprocess_offsets; + int needs_postprocessed_calibration = 0; + double contrast_adjust = (double) contrast / 64; + int brightness_adjust = brightness - 0x80; /* Initialise and power up */ @@ -3150,99 +3384,101 @@ rts8801_scan (unsigned x, calib_info[2] = calib_info[5] = calib_info[8] = 1; - calib_info[0] = calib_info[1] = calib_info[3] = calib_info[4] = - calib_info[6] = calib_info[7] = 0xb4; - - iCalibOffset = 0; /* Note that horizontal resolution is always 600dpi for calibration. 330 is 110 dots in (for R,G,B channels) */ - iCalibX = 1; - iCalibPixels = 50; - iCalibY = (resolution == 25) ? 1 : 2; /* Was 1200 / resolution, which would take us past the calibration area for 50dpi */ - iCalibWidth = 100; + iCalibY = (resolution == 25) ? 1 : 2; iCalibTarget = 550; + + rt_turn_off_lamp(); - for (i = 0; i < 3; ++i) - aiBestOffset[i] = 0xb4; - + for (i = 0; i < 6; ++i) + { + aiBestOffset[i] = 0xbf; + aiPassed[i] = 0; + } + do { DBG (30, "Initial calibration pass commences\n"); - anychanged = 0; - - for (i = 0; i < 3; ++i) - { - aiBestOffset[i] = (aiHigh[i] + aiLow[i] + 1) / 2; - } + onechanged = 0; for (i = 0; i < 3; ++i) - calib_info[i * 3] = calib_info[i * 3 + 1] = aiBestOffset[i]; - + { + calib_info[i * 3] = aiBestOffset[i]; + calib_info[i * 3 + 1] = aiBestOffset[i + 3]; + } + cd.buffer = calibbuf; cd.space = sizeof (calibbuf); DBG (30, "Commencing scan for initial calibration pass\n"); - rts8801_fullscan (iCalibX, iCalibY, iCalibWidth, 2, 600, resolution, + rts8801_fullscan (1401, iCalibY, 100, 2, 400, resolution, HP3500_COLOR_SCAN, (rts8801_callback) storefunc, &cd, - calib_info, iMoveFlags, -1, -1, -1, -1, 0); + calib_info, iMoveFlags, -1, -1, -1, -1, 0, 0); DBG (30, "Completed scan for initial calibration pass\n"); - iMoveFlags = RTS8801_F_SUPPRESS_MOVEMENT; + iMoveFlags = RTS8801_F_SUPPRESS_MOVEMENT | RTS8801_F_NO_DISPLACEMENTS; + iCalibY = 2; - for (i = 0; i < 3; ++i) + for (i = 0; i < 6; ++i) { int sum; - if (aiBestOffset[i] >= 255) + if (aiBestOffset[i] >= 255 || aiPassed[i] > 2) continue; - sum = sum_channel (calibbuf + iCalibOffset + i, iCalibPixels, 0); + sum = sum_channel (calibbuf + i, 50, 1); DBG (20, "channel[%d] sum = %d (target %d)\n", i, sum, iCalibTarget); - if (sum >= iCalibTarget) - aiHigh[i] = aiBestOffset[i]; - else - aiLow[i] = aiBestOffset[i]; + if (sum < iCalibTarget) + { + onechanged = 1; + ++aiBestOffset[i]; + } + else + { + ++aiPassed[i]; + } } DBG (30, "Initial calibration pass completed\n"); } - while (aiLow[0] < aiHigh[0] - 1 && aiLow[1] < aiHigh[1] - 1 - && aiLow[1] < aiHigh[1] + 1); + while (onechanged); DBG (20, "Offsets calculated\n"); - cd.buffer = calibbuf; - cd.space = sizeof (calibbuf); - DBG (20, "Scanning for part 2 of initial calibration\n"); - rts8801_fullscan (iCalibX + 2100, iCalibY, iCalibWidth, 2, 600, resolution, - HP3500_COLOR_SCAN, (rts8801_callback) storefunc, &cd, - calib_info, RTS8801_F_SUPPRESS_MOVEMENT, -1, -1, -1, -1, - 0); - DBG (20, "Scan for part 2 of initial calibration completed\n"); - DBG (20, "Initial calibration completed\n"); + rt_turn_on_lamp(); + usleep(500000); tdetail_buffer = (unsigned char *) malloc (w * 3 * detailed_calibration_rows); - aiLow[0] = aiLow[1] = aiLow[2] = 1; - aiHigh[0] = aiHigh[1] = aiHigh[2] = 64; + for (i = 0; i < 3; ++i) + { + calib_info[i * 3 + 2] = 1; + aiPassed[i] = 0; + } + do { struct dcalibdata dcdt; - for (i = 0; i < 3; ++i) - calib_info[i * 3 + 2] = (aiLow[i] + aiHigh[i]) / 2; - dcdt.buffers[0] = tdetail_buffer; dcdt.buffers[1] = (tdetail_buffer + w * detailed_calibration_rows); dcdt.buffers[2] = (dcdt.buffers[1] + w * detailed_calibration_rows); dcdt.pixelsperrow = w; dcdt.pixelnow = dcdt.channelnow = dcdt.firstrowdone = 0; + DBG (20, "Scanning for part 2 of initial calibration\n"); rts8801_fullscan (x, 4, w, detailed_calibration_rows + 1, resolution, resolution, HP3500_COLOR_SCAN, (rts8801_callback) accumfunc, &dcdt, calib_info, - RTS8801_F_SUPPRESS_MOVEMENT, -1, -1, -1, -1, 0); + RTS8801_F_SUPPRESS_MOVEMENT | RTS8801_F_NO_DISPLACEMENTS, -1, -1, -1, -1, 0, 0); + DBG (20, "Scan for part 2 of initial calibration completed\n"); + + onechanged = 0; for (i = 0; i < 3; ++i) { int largest = 1; - for (j = 0; j < w; ++j) + if (aiPassed[i] > 2 || calib_info[i * 3 + 2] >= 63) + continue; + + for (j = 0; j < w; ++j) { int val = calcmedian (dcdt.buffers[i], j, w, detailed_calibration_rows); @@ -3252,16 +3488,17 @@ rts8801_scan (unsigned x, } if (largest < 0xe0) - aiLow[i] = calib_info[i * 3 + 2]; - else - aiHigh[i] = calib_info[i * 3 + 2]; + { + ++calib_info[i * 3 + 2]; + onechanged = 1; + } + else + { + ++aiPassed[i]; + } } } - while (aiLow[0] < aiHigh[0] - 1 && aiLow[1] < aiHigh[1] - 1 - && aiLow[1] < aiHigh[1] + 1); - - for (i = 0; i < 3; ++i) - calib_info[i * 3 + 2] = aiLow[i]; + while (onechanged); for (i = 0; i < 3; ++i) { @@ -3282,15 +3519,7 @@ rts8801_scan (unsigned x, dcd.buffers[1] = (detail_buffer + w * detailed_calibration_rows); dcd.buffers[2] = (dcd.buffers[1] + w * detailed_calibration_rows); dcd.pixelsperrow = w; - dcd.pixelnow = dcd.channelnow = dcd.firstrowdone = 0; - - DBG (10, "Performing detailed calibration scan\n"); - rts8801_fullscan (x, iCalibY, w, detailed_calibration_rows + 1, - resolution, resolution, HP3500_COLOR_SCAN, - (rts8801_callback) accumfunc, &dcd, calib_info, - RTS8801_F_SUPPRESS_MOVEMENT, -1, -1, -1, -1, 0); - DBG (10, "Detailed calibration scan completed\n"); /* And now for the detailed calibration */ resolution_index = find_resolution_index (resolution); @@ -3301,101 +3530,221 @@ rts8801_scan (unsigned x, base_resolution *= 2; resolution_divisor = base_resolution / resolution; - calibration_size = w * resolution_divisor * 6 + 1536; - red_calibration_offset = 1536; - blue_calibration_offset = - red_calibration_offset + w * resolution_divisor * 2; + calibration_size = w * resolution_divisor * 6 + 1568 + 96; + red_calibration_offset = 0x600; green_calibration_offset = - blue_calibration_offset + w * resolution_divisor * 2; - end_calibration_offset = + red_calibration_offset + w * resolution_divisor * 2; + blue_calibration_offset = green_calibration_offset + w * resolution_divisor * 2; + end_calibration_offset = + blue_calibration_offset + w * resolution_divisor * 2; pDetailedCalib = (unsigned char *) malloc (calibration_size); memset (pDetailedCalib, 0, calibration_size); + for (i = 0; i < 3; ++i) { int idx = - (i == 0) ? red_calibration_offset : (i == - 1) ? green_calibration_offset : - blue_calibration_offset; - double g = calib_info[i * 3 + 2]; + (i == 0) ? red_calibration_offset : + (i == 1) ? green_calibration_offset : + blue_calibration_offset; for (j = 0; j < 256; j++) - { - int val = j; - - if (val < 0) - val = 0; - if (val > 255) - val = 255; - pDetailedCalib[i * 512 + j * 2] = val; - pDetailedCalib[i * 512 + j * 2 + 1] = val; - } + { + /* Gamma table - appears to be 256 byte pairs for each input + * range (so the first entry cover inputs in the range 0 to 1, + * the second 1 to 2, and so on), mapping that input range + * (including the fractional parts within it) to an output + * range. + */ + pDetailedCalib[i * 512 + j * 2] = j; + pDetailedCalib[i * 512 + j * 2 + 1] = j; + } for (j = 0; j < w; ++j) - { - int multnow; - int offnow; - - /* This seems to be the approach for reg 0x40 & 0x3f == 0x27, which allows detailed - * calibration to return either higher or lower values. - */ - int k; - - { - double denom1 = - calcmedian (dcd.buffers[i], j, w, detailed_calibration_rows); - double f = 0xff / (denom1 - 2 * g); - double contrast_adjust = (double) (contrast + 1) / 64; - - multnow = f * 64 * contrast_adjust; - offnow = 4 * g + 128 - brightness; - } - if (multnow < 0) - multnow = 0; - if (multnow > 255) - multnow = 255; - if (offnow < 0) - offnow = 0; - if (offnow > 255) - offnow = 255; - - for (k = 0; k < resolution_divisor; ++k) - { - /*multnow = j * resolution_divisor + k; */ - pDetailedCalib[idx++] = offnow; /* Subtract this value from the result */ - pDetailedCalib[idx++] = multnow; /* Then multiply by this value divided by 0x40 */ - } - } + { + for (k = 0; k < resolution_divisor; ++k) + { + pDetailedCalib[idx++] = 0; + pDetailedCalib[idx++] = 0x80; + } + } } - DBG (10, "\n"); - rt_set_sram_page (0); rt_set_one_register (0x93, r93setting); rt_write_sram (calibration_size, pDetailedCalib); - /* And finally, perform the scan */ + postprocess_gains = (double *) malloc(sizeof(double) * 3 * w); + postprocess_offsets = (double *) malloc(sizeof(double) * 3 * w); + + for (pass = 0; pass < DETAILED_PASS_COUNT; ++pass) + { + int ppidx = 0; + + DBG (10, "Performing detailed calibration scan %d\n", pass); + + switch (pass) + { + case DETAILED_PASS_OFFSETS: + rt_turn_off_lamp(); + usleep(500000); /* To be sure it has gone off */ + break; + + case DETAILED_PASS_GAINS_FIRSTPASS: + rt_turn_on_lamp(); + usleep(500000); /* Give the lamp time to settle */ + break; + } + + dcd.pixelnow = dcd.channelnow = dcd.firstrowdone = 0; + rts8801_fullscan (x, iCalibY, w, detailed_calibration_rows + 1, + resolution, resolution, HP3500_COLOR_SCAN, + (rts8801_callback) accumfunc, &dcd, + calib_info, + RTS8801_F_SUPPRESS_MOVEMENT | RTS8801_F_NO_DISPLACEMENTS, + red_calibration_offset, + green_calibration_offset, + blue_calibration_offset, + end_calibration_offset, + 0, 0); + + DBG (10, " Detailed calibration scan %d completed\n", pass); + + for (i = 0; i < 3; ++i) + { + int idx = + (i == 0) ? red_calibration_offset : + (i == 1) ? green_calibration_offset : + blue_calibration_offset; + + for (j = 0; j < w; ++j) + { + double multnow = 0x80; + int offnow = 0; + + /* This seems to be the approach for reg 0x40 & 0x3f == 0x27, which allows detailed + * calibration to return either higher or lower values. + */ + + { + double denom1 = + calcmedian (dcd.buffers[i], j, w, detailed_calibration_rows); + + switch (pass) + { + case DETAILED_PASS_OFFSETS: + /* The offset is the number needed to be subtracted from "black" at detailed gain = 0x80, + * which is the value we started with. For the next round, pull the gain down to 0x20. Our + * next scan is a test scan to confirm the offset works. + */ + multnow = 0x20; + offnow = denom1; + break; + + case DETAILED_PASS_GAINS_FIRSTPASS: + multnow = 128.0 / denom1 * 0x20; /* Then bring it up to whatever we need to hit 192 */ + if (multnow > 255) + multnow = 255; + offnow = pDetailedCalib[idx]; + break; + + case DETAILED_PASS_GAINS_SECONDPASS: + multnow = 255.0 / denom1 * contrast_adjust * pDetailedCalib[idx+1]; /* And finally to 255 */ + offnow = pDetailedCalib[idx] - brightness_adjust * 0x80 / multnow; + + if (offnow < 0) + { + postprocess_offsets[ppidx] = multnow * offnow / 0x80; + offnow = 0; + needs_postprocessed_calibration = 1; + } + else if (offnow > 255) + { + postprocess_offsets[ppidx] = multnow * (offnow - 255) / 0x80; + offnow = 255; + needs_postprocessed_calibration = 1; + } + else + { + postprocess_offsets[ppidx] = 0; + } + if (multnow > 255) + { + postprocess_gains[ppidx] = multnow / 255; + multnow = 255; + needs_postprocessed_calibration = 1; + } + else + { + postprocess_gains[ppidx] = 1.0; + } + break; + } + } + if (offnow > 255) + offnow = 255; + + for (k = 0; k < resolution_divisor; ++k) + { + pDetailedCalib[idx++] = offnow; /* Subtract this value from the result at gains = 0x80*/ + pDetailedCalib[idx++] = multnow; /* Then multiply by this value divided by 0x80 */ + } + ++ppidx; + } + } + + if (pass == DETAILED_PASS_GAINS_SECONDPASS) + { + /* Build gamma table */ + unsigned char *redgamma = pDetailedCalib; + unsigned char *greengamma = redgamma + 512; + unsigned char *bluegamma = greengamma + 512; + double val; + double invgamma = 1.0l / gamma; + + *redgamma++ = *bluegamma++ = *greengamma++ = 0; + + /* The windows driver does a linear interpolation for the next 19 boundaries */ + val = pow (20.0l / 255, invgamma) * 255; + + for (j = 1; j <= 20; ++j) + { + *redgamma++ = *bluegamma++ = *greengamma++ = val * j / 20 + 0.5; + *redgamma++ = *bluegamma++ = *greengamma++ = val * j / 20 + 0.5; + } + + for (; j <= 255; ++j) + { + val = pow((double) j / 255, invgamma) * 255; + + *redgamma++ = *bluegamma++ = *greengamma++ = val + 0.5; + *redgamma++ = *bluegamma++ = *greengamma++ = val + 0.5; + } + *redgamma++ = *bluegamma++ = *greengamma++ = 255; + } + + DBG (10, "\n"); + + rt_set_sram_page (0); + rt_set_one_register (0x93, r93setting); + rt_write_sram (calibration_size, pDetailedCalib); + } + /* And finally, perform the scan */ DBG (10, "Scanning\n"); rts8801_rewind (); - detailed_calib_data.channeldata[0] = - pDetailedCalib + red_calibration_offset; - detailed_calib_data.channeldata[1] = - pDetailedCalib + green_calibration_offset; - detailed_calib_data.channeldata[2] = - pDetailedCalib + blue_calibration_offset; - detailed_calib_data.resolution_divisor = resolution_divisor; - rts8801_fullscan (x, y, w, h, resolution, resolution, colour, cbfunc, param, calib_info, 0, red_calibration_offset, green_calibration_offset, blue_calibration_offset, end_calibration_offset, - &detailed_calib_data); + needs_postprocessed_calibration ? postprocess_offsets : 0, + needs_postprocessed_calibration ? postprocess_gains : 0); rt_turn_off_lamp (); + rts8801_rewind (); rt_set_powersave_mode (1); @@ -3403,6 +3752,12 @@ rts8801_scan (unsigned x, free (pDetailedCalib); if (detail_buffer) free (detail_buffer); + if (tdetail_buffer) + free(tdetail_buffer); + if (postprocess_gains) + free(postprocess_gains); + if (postprocess_offsets) + free(postprocess_offsets); return 0; } @@ -3466,7 +3821,6 @@ reader_process (void *pv) sigaction (SIGTERM, &act, 0); } - /* Warm up the lamp again if our last scan ended more than 5 minutes ago. */ time (&t); do_warmup = (t - scanner->last_scan) > 300; @@ -3498,9 +3852,25 @@ reader_process (void *pv) scanner->actres_pixels.right - scanner->actres_pixels.left, scanner->actres_pixels.bottom - scanner->actres_pixels.top, scanner->resolution, scanner->mode, scanner->brightness, - scanner->contrast, (rts8801_callback) writefunc, &winfo) >= 0) + scanner->contrast, (rts8801_callback) writefunc, &winfo, + scanner->gamma) >= 0) status = SANE_STATUS_GOOD; status = SANE_STATUS_IO_ERROR; close (scanner->pipe_w); return status; } + +static size_t +max_string_size (char const **strings) +{ + size_t size, max_size = 0; + SANE_Int i; + + for (i = 0; strings[i]; ++i) + { + size = strlen (strings[i]) + 1; + if (size > max_size) + max_size = size; + } + return max_size; +} diff --git a/backend/hp3900_sane.c b/backend/hp3900_sane.c index b815572..410e35e 100644 --- a/backend/hp3900_sane.c +++ b/backend/hp3900_sane.c @@ -1159,7 +1159,7 @@ options_init (TScanner * scanner) TOptionValue *pVal; /* set gamma */ - gamma_create (scanner, 2.2); + gamma_create (scanner, 1.0); /* color convertion */ scanner->cnv.colormode = -1; diff --git a/backend/hp4200.c b/backend/hp4200.c index a069be6..589157d 100644 --- a/backend/hp4200.c +++ b/backend/hp4200.c @@ -698,7 +698,6 @@ compute_first_gain_offset (int target, int max, int min, int *gain, static int write_gamma (HP4200_Scanner * s) { - SANE_Status status; int color; int i; unsigned char gamma[1024]; @@ -728,7 +727,7 @@ write_gamma (HP4200_Scanner * s) sanei_pv8630_write_byte (s->fd, PV8630_REPPADDRESS, 0x06); sanei_pv8630_prep_bulkread (s->fd, sizeof (read_gamma)); to_read = sizeof (read_gamma); - status = sanei_usb_read_bulk (s->fd, read_gamma, &to_read); + sanei_usb_read_bulk (s->fd, read_gamma, &to_read); retval = memcmp (read_gamma, gamma, sizeof (read_gamma)); if (retval != 0) { @@ -1047,7 +1046,6 @@ do_coarse_calibration (HP4200_Scanner * s, struct coarse_t *coarse) int step_size; int ff_step_size; char steps_to_reverse; - char hdpi_div; char line_rate_color; int vdpi; /* vertical dots per inch */ int hdpi_code; @@ -1085,7 +1083,6 @@ do_coarse_calibration (HP4200_Scanner * s, struct coarse_t *coarse) vdpi = 150; hdpi_code = 0; - hdpi_div = hdpi_mapping[hdpi_code]; active_pixels_start = 0x40; line_end = 0x2ee0; s->mclk_div = 2; @@ -1395,7 +1392,6 @@ do_fine_calibration (HP4200_Scanner * s, struct coarse_t *coarse) int vdpi; /* vertical dots per inch */ int hdpi_code; int calibrated; - int first_time; int lines_to_process; static char me[] = "do_fine_calibration"; @@ -1495,7 +1491,6 @@ do_fine_calibration (HP4200_Scanner * s, struct coarse_t *coarse) cache_write (s); calibrated = 0; - first_time = 1; cal_line = malloc (cal_line_size + 1024); average = malloc (sizeof (int) * line_length * 3); memset (average, 0, sizeof (int) * line_length * 3); @@ -2437,7 +2432,7 @@ sane_exit (void) } if (device->dev.name) { - free (device->dev.name); + free ((void *) device->dev.name); } free (device); } diff --git a/backend/hp5400.c b/backend/hp5400.c index 61de3db..cfa2dc9 100644 --- a/backend/hp5400.c +++ b/backend/hp5400.c @@ -67,6 +67,9 @@ #include /* malloc, free */ #include /* memcpy */ #include +#ifdef HAVE_SYS_TYPES_H +#include +#endif #define HP5400_CONFIG_FILE "hp5400.conf" diff --git a/backend/hp5400_internal.c b/backend/hp5400_internal.c index d7e2325..65a434f 100644 --- a/backend/hp5400_internal.c +++ b/backend/hp5400_internal.c @@ -282,7 +282,9 @@ SetCalibration (int iHandle, int numPixels, unsigned int *low_vals[3], cmd[3] = 0x00; cmd[4] = 0x54; cmd[5] = 0x02; - cmd[6] = 0x80; + cmd[6] = -128; // 0x80; fixes compiler warning (for + // signed char implementations), see + // also comment above cmd[7] = 0x00; hp5400_bulk_command_write (iHandle, 0xE603, cmd, 8, calSize, calSize, diff --git a/backend/hp5590.c b/backend/hp5590.c index 7b1cd60..fabf40a 100644 --- a/backend/hp5590.c +++ b/backend/hp5590.c @@ -48,6 +48,9 @@ #include #include #include +#ifdef HAVE_SYS_TYPES_H +#include +#endif #include "../include/sane/sane.h" #define BACKEND_NAME hp5590 @@ -168,7 +171,7 @@ calc_image_params (struct hp5590_scanner *scanner, unsigned int _image_size; float var; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); if (!scanner) return SANE_STATUS_INVAL; @@ -196,7 +199,7 @@ calc_image_params (struct hp5590_scanner *scanner, DBG (DBG_verbose, "%s: pixel_bits: %u, pixels_per_line: %u, " "bytes_per_line: %u, lines: %u, image_size: %u\n", - __FUNCTION__, + __func__, _pixel_bits, _pixels_per_line, _bytes_per_line, _lines, _image_size); if (pixel_bits) @@ -229,10 +232,10 @@ attach_usb_device (SANE_String_Const devname, SANE_Status ret; const struct hp5590_model *hp5590_model; - DBG (DBG_proc, "%s: Opening USB device\n", __FUNCTION__); + DBG (DBG_proc, "%s: Opening USB device\n", __func__); if (sanei_usb_open (devname, &dn) != SANE_STATUS_GOOD) return SANE_STATUS_IO_ERROR; - DBG (DBG_proc, "%s: USB device opened\n", __FUNCTION__); + DBG (DBG_proc, "%s: USB device opened\n", __func__); ret = hp5590_model_def (hp_scanner_type, &hp5590_model); if (ret != SANE_STATUS_GOOD) @@ -243,19 +246,19 @@ attach_usb_device (SANE_String_Const devname, return SANE_STATUS_IO_ERROR; DBG (1, "%s: found HP%s scanner at '%s'\n", - __FUNCTION__, info->model, devname); + __func__, info->model, devname); - DBG (DBG_verbose, "%s: Reading max scan count\n", __FUNCTION__); + DBG (DBG_verbose, "%s: Reading max scan count\n", __func__); if (hp5590_read_max_scan_count (dn, hp5590_model->proto_flags, &max_count) != 0) return SANE_STATUS_IO_ERROR; - DBG (DBG_verbose, "%s: Max Scanning count %u\n", __FUNCTION__, max_count); + DBG (DBG_verbose, "%s: Max Scanning count %u\n", __func__, max_count); - DBG (DBG_verbose, "%s: Reading scan count\n", __FUNCTION__); + DBG (DBG_verbose, "%s: Reading scan count\n", __func__); if (hp5590_read_scan_count (dn, hp5590_model->proto_flags, &count) != 0) return SANE_STATUS_IO_ERROR; - DBG (DBG_verbose, "%s: Scanning count %u\n", __FUNCTION__, count); + DBG (DBG_verbose, "%s: Scanning count %u\n", __func__, count); ret = hp5590_read_part_number (dn, hp5590_model->proto_flags); if (ret != SANE_STATUS_GOOD) @@ -381,7 +384,7 @@ void sane_exit (void) { struct hp5590_scanner *ptr, *pnext; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); for (ptr = scanners_list; ptr; ptr = pnext) { @@ -399,7 +402,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) struct hp5590_scanner *ptr; unsigned int found, i; - DBG (DBG_proc, "%s, local only: %u\n", __FUNCTION__, local_only); + DBG (DBG_proc, "%s, local only: %u\n", __func__, local_only); if (!device_list) return SANE_STATUS_INVAL; @@ -431,7 +434,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) SANE_String_Const *sources_list; unsigned int source_idx; - DBG (DBG_proc, "%s: device name: %s\n", __FUNCTION__, devicename); + DBG (DBG_proc, "%s: device name: %s\n", __func__, devicename); if (!handle) return SANE_STATUS_INVAL; @@ -623,7 +626,7 @@ sane_close (SANE_Handle handle) { struct hp5590_scanner *scanner = handle; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); sanei_usb_close (scanner->dn); scanner->dn = -1; @@ -635,7 +638,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) { struct hp5590_scanner *scanner = handle; - DBG (DBG_proc, "%s, option: %u\n", __FUNCTION__, option); + DBG (DBG_proc, "%s, option: %u\n", __func__, option); if (option >= HP5590_OPT_LAST) return NULL; @@ -664,7 +667,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, { if (option == HP5590_OPT_NUM) { - DBG(3, "%s: get total number of options - %u\n", __FUNCTION__, HP5590_OPT_LAST); + DBG(3, "%s: get total number of options - %u\n", __func__, HP5590_OPT_LAST); *((SANE_Int *) value) = HP5590_OPT_LAST; return SANE_STATUS_GOOD; } @@ -672,7 +675,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, if (!scanner->opts) return SANE_STATUS_INVAL; - DBG (DBG_proc, "%s: get option '%s' value\n", __FUNCTION__, scanner->opts[option].name); + DBG (DBG_proc, "%s: get option '%s' value\n", __func__, scanner->opts[option].name); if (option == HP5590_OPT_BR_X) { @@ -923,7 +926,7 @@ SANE_Status sane_get_parameters (SANE_Handle handle, SANE_Status ret; unsigned int pixel_bits; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); if (!params) return SANE_STATUS_INVAL; @@ -961,7 +964,7 @@ SANE_Status sane_get_parameters (SANE_Handle handle, params->format = SANE_FRAME_RGB; break; default: - DBG(0, "%s: Unknown depth\n", __FUNCTION__); + DBG(0, "%s: Unknown depth\n", __func__); return SANE_STATUS_INVAL; } @@ -983,7 +986,7 @@ sane_start (SANE_Handle handle) SANE_Status ret; unsigned int bytes_per_line; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); if (!scanner) return SANE_STATUS_INVAL; @@ -993,11 +996,11 @@ sane_start (SANE_Handle handle) || scanner->source == SOURCE_ADF_DUPLEX)) { DBG (DBG_verbose, "%s: Scanner is scanning, check if more data is available\n", - __FUNCTION__); + __func__); ret = hp5590_is_data_available (scanner->dn, scanner->proto_flags); if (ret == SANE_STATUS_GOOD) { - DBG (DBG_verbose, "%s: More data is available\n", __FUNCTION__); + DBG (DBG_verbose, "%s: More data is available\n", __func__); scanner->transferred_image_size = scanner->image_size; return SANE_STATUS_GOOD; } @@ -1147,7 +1150,7 @@ convert_lineart (struct hp5590_scanner *scanner, SANE_Byte *data, SANE_Int size) { SANE_Int i; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_assert (scanner != NULL); hp5590_assert (data != NULL); @@ -1182,7 +1185,7 @@ convert_to_rgb (struct hp5590_scanner *scanner, SANE_Byte *data, SANE_Int size) || scanner->depth == DEPTH_GRAY) return SANE_STATUS_GOOD; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); #ifndef HAS_WORKING_COLOR_48 if (scanner->depth == DEPTH_COLOR_48) @@ -1263,7 +1266,7 @@ sane_read (SANE_Handle handle, SANE_Byte * data, SANE_Status ret; DBG (DBG_proc, "%s, length %u, left %u\n", - __FUNCTION__, + __func__, max_length, scanner->transferred_image_size); @@ -1282,7 +1285,7 @@ sane_read (SANE_Handle handle, SANE_Byte * data, if (ret != SANE_STATUS_GOOD) return ret; - /* Dont free bulk read state, some bytes could be left + /* Don't free bulk read state, some bytes could be left * for the next images from ADF */ return SANE_STATUS_EOF; @@ -1350,7 +1353,7 @@ sane_cancel (SANE_Handle handle) struct hp5590_scanner *scanner = handle; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); scanner->scanning = SANE_FALSE; @@ -1370,7 +1373,7 @@ SANE_Status sane_set_io_mode (SANE_Handle __sane_unused__ handle, SANE_Bool __sane_unused__ non_blocking) { - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); return SANE_STATUS_UNSUPPORTED; } @@ -1380,7 +1383,7 @@ SANE_Status sane_get_select_fd (SANE_Handle __sane_unused__ handle, SANE_Int __sane_unused__ * fd) { - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); return SANE_STATUS_UNSUPPORTED; } diff --git a/backend/hp5590_cmds.c b/backend/hp5590_cmds.c index 894101b..06fd91a 100644 --- a/backend/hp5590_cmds.c +++ b/backend/hp5590_cmds.c @@ -483,7 +483,7 @@ hp5590_init_scanner (SANE_Int dn, * 09 60 4F B0 6D E0 00 00 00 00 00 00 00 00 00 64 ..O.m..........d * 03 E8 .. */ - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (init_resp) == 50); @@ -512,7 +512,7 @@ hp5590_init_scanner (SANE_Int dn, { DBG (DBG_err, "%s: Vendor id mismatch for scanner HP%s - " "required '%s', got '%s'\n", - __FUNCTION__, + __func__, hp5590_models[i].model, hp5590_models[i].vendor_id, id_buf); return SANE_STATUS_INVAL; @@ -593,10 +593,10 @@ hp5590_init_scanner (SANE_Int dn, if (ret != SANE_STATUS_GOOD) { DBG (DBG_err, "%s: scanner reports non-zero status: %s\n", - __FUNCTION__, sane_strstatus (ret)); + __func__, sane_strstatus (ret)); return ret; } - DBG (DBG_cmds, "%s: scanner status OK\n", __FUNCTION__); + DBG (DBG_cmds, "%s: scanner status OK\n", __func__); return SANE_STATUS_GOOD; } @@ -614,7 +614,7 @@ hp5590_read_eeprom (SANE_Int dn, hp5590_cmds_assert (data != NULL); hp5590_cmds_assert (sizeof (eeprom_addr) == 1); - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); DBG (DBG_proc, "Reading EEPROM: addr %04x, size %u\n", addr, size); ret = hp5590_cmd (dn, @@ -649,7 +649,7 @@ hp5590_write_eeprom (SANE_Int dn, hp5590_cmds_assert (data != NULL); hp5590_cmds_assert (sizeof (eeprom_addr) == 1); - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); DBG (DBG_proc, "Writing EEPROM: addr %04x, size: %u\n", addr, size); ret = hp5590_cmd (dn, @@ -683,7 +683,7 @@ hp5590_read_scan_count (SANE_Int dn, hp5590_cmds_assert (count != NULL); hp5590_cmds_assert (sizeof (scan_count) == 4); - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); DBG (DBG_proc, "Reading scan count\n"); ret = hp5590_read_eeprom (dn, @@ -713,7 +713,7 @@ hp5590_inc_scan_count (SANE_Int dn, unsigned int new_count; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (scan_count) == 4); ret = hp5590_read_scan_count (dn, proto_flags, &count); @@ -756,7 +756,7 @@ hp5590_read_max_scan_count (SANE_Int dn, hp5590_cmds_assert (max_count != NULL); hp5590_cmds_assert (sizeof (max_scan_count) == 3); - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); DBG (DBG_proc, "Reading max scan count\n"); ret = hp5590_read_eeprom (dn, @@ -811,7 +811,7 @@ hp5590_read_eeprom_all_cmd (SANE_Int dn, uint8_t eeprom[255]; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); ret = hp5590_read_eeprom (dn, proto_flags, @@ -835,7 +835,7 @@ hp5590_read_part_number (SANE_Int dn, unsigned char part_number[PART_NUMBER_LEN + 1]; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); memset (part_number, 0, sizeof (part_number)); ret = hp5590_read_eeprom (dn, @@ -859,7 +859,7 @@ hp5590_is_data_available (SANE_Int dn, SANE_Status ret; SANE_Bool data_available; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (data_status) == 1); data_available = SANE_FALSE; @@ -873,13 +873,13 @@ hp5590_is_data_available (SANE_Int dn, if (ret != SANE_STATUS_GOOD) return ret; - DBG (DBG_cmds, "%s: Data status: %02x\n", __FUNCTION__, data_status); + DBG (DBG_cmds, "%s: Data status: %02x\n", __func__, data_status); if (data_status == 0x40) data_available = SANE_TRUE; DBG (DBG_cmds, "%s: Data is %s\n", - __FUNCTION__, + __func__, data_available == SANE_TRUE ? "available" : "not available"); return data_available == SANE_TRUE ? SANE_STATUS_GOOD : SANE_STATUS_NO_DOCS; @@ -893,7 +893,7 @@ hp5590_stop_scan (SANE_Int dn, uint8_t reg_011b = 0x40; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (reg_011b) == 1); @@ -920,7 +920,7 @@ hp5590_turnon_lamp (SANE_Int dn, struct lamp_state lamp_state; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (lamp_state) == 4); @@ -930,7 +930,7 @@ hp5590_turnon_lamp (SANE_Int dn, lamp_state.unk1 = 0x02; lamp_state.flag = 0x01; lamp_state.turnoff_time = htons (0x0a0a); - DBG (DBG_cmds, "%s: turning lamp on\n", __FUNCTION__); + DBG (DBG_cmds, "%s: turning lamp on\n", __func__); } if (state == LAMP_STATE_TURNOFF) @@ -939,7 +939,7 @@ hp5590_turnon_lamp (SANE_Int dn, lamp_state.unk1 = 0x02; lamp_state.flag = 0x02; lamp_state.turnoff_time = htons (0x0a0a); - DBG (DBG_cmds, "%s: turning lamp off\n", __FUNCTION__); + DBG (DBG_cmds, "%s: turning lamp off\n", __func__); } if (state == LAMP_STATE_SET_TURNOFF_TIME) @@ -948,7 +948,7 @@ hp5590_turnon_lamp (SANE_Int dn, lamp_state.unk1 = 0x02; lamp_state.flag = 0x03; lamp_state.turnoff_time = htons (0x0336); - DBG (DBG_cmds, "%s: setting turnoff time\n", __FUNCTION__); + DBG (DBG_cmds, "%s: setting turnoff time\n", __func__); } if (state == LAMP_STATE_SET_TURNOFF_TIME_LONG) @@ -957,7 +957,7 @@ hp5590_turnon_lamp (SANE_Int dn, lamp_state.unk1 = 0x02; lamp_state.flag = 0x03; lamp_state.turnoff_time = htons (0x0f36); - DBG (DBG_cmds, "%s: setting long turnoff time\n", __FUNCTION__); + DBG (DBG_cmds, "%s: setting long turnoff time\n", __func__); } ret = hp5590_cmd (dn, @@ -987,7 +987,7 @@ hp5590_power_status (SANE_Int dn, struct power_resp power_resp; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (power_resp) == 3); @@ -1023,7 +1023,7 @@ hp5590_read_error_code (SANE_Int dn, struct reg_03 reg_03; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (reg_03) == 3); hp5590_cmds_assert (adf_flags != NULL); @@ -1040,9 +1040,9 @@ hp5590_read_error_code (SANE_Int dn, if (ret != SANE_STATUS_GOOD) return ret; - DBG (DBG_cmds, "%s: adf_flags: %04x\n", __FUNCTION__, reg_03.adf_flags); - DBG (DBG_cmds, "%s: unk1 : %04x\n", __FUNCTION__, reg_03.unk1); - DBG (DBG_cmds, "%s: unk2 : %04x\n", __FUNCTION__, reg_03.unk2); + DBG (DBG_cmds, "%s: adf_flags: %04x\n", __func__, reg_03.adf_flags); + DBG (DBG_cmds, "%s: unk1 : %04x\n", __func__, reg_03.unk1); + DBG (DBG_cmds, "%s: unk2 : %04x\n", __func__, reg_03.unk2); *adf_flags = reg_03.adf_flags; @@ -1056,7 +1056,7 @@ hp5590_reset_scan_head (SANE_Int dn, { SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); ret = hp5590_turnon_lamp (dn, proto_flags, LAMP_STATE_TURNOFF); if (ret != SANE_STATUS_GOOD) @@ -1082,7 +1082,7 @@ hp5590_select_source_and_wakeup (SANE_Int dn, SANE_Status ret; unsigned int adf_flags; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (reg_d6) == 1); @@ -1161,7 +1161,7 @@ hp5590_lock_unlock_scanner (SANE_Int dn, unsigned int adf_flags; unsigned int waiting; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (reg_00) == 1); for (waiting = 0; waiting < WAKEUP_TIMEOUT; waiting++, sleep (1)) @@ -1206,7 +1206,7 @@ hp5590_set_base_dpi (SANE_Int dn, uint16_t _base_dpi; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (scanner_info != NULL); hp5590_cmds_assert (base_dpi != 0); @@ -1246,7 +1246,7 @@ hp5590_set_color_map (SANE_Int dn, struct color_map color_map; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (color_map) == 18); hp5590_cmds_assert (base_dpi != 0); @@ -1301,7 +1301,7 @@ static SANE_Status calc_base_dpi (unsigned int dpi, unsigned int *base_dpi) { - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (base_dpi != NULL); hp5590_cmds_assert (dpi != 0); @@ -1346,7 +1346,7 @@ calc_base_dpi (unsigned int dpi, unsigned int *base_dpi) static SANE_Status calc_scanner_dpi (unsigned int dpi, unsigned int *scanner_dpi) { - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (scanner_dpi != NULL); hp5590_cmds_assert (dpi != 0); @@ -1399,7 +1399,7 @@ hp5590_calc_pixel_bits (unsigned int dpi, enum color_depths color_depth, unsigned int scanner_dpi; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (pixel_bits != NULL); hp5590_cmds_assert (dpi != 0); @@ -1465,7 +1465,7 @@ hp5590_set_scan_area (SANE_Int dn, unsigned int pixels_y; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (scan_params) == 37); hp5590_cmds_assert (dpi != 0); @@ -1579,14 +1579,14 @@ hp5590_set_scan_area (SANE_Int dn, if (top_x + pixels_x > max_pixels_x_current_dpi) { - DBG (DBG_err, "Top X (%u) + pixels X (%u) exceedes max X %u\n", + DBG (DBG_err, "Top X (%u) + pixels X (%u) exceeds max X %u\n", top_x, pixels_x, max_pixels_x_current_dpi); return SANE_STATUS_INVAL; } if (top_y + pixels_y > max_pixels_y_current_dpi) { - DBG (DBG_err, "Top Y (%u) + pixels Y (%u) exceedes max Y %u\n", + DBG (DBG_err, "Top Y (%u) + pixels Y (%u) exceeds max Y %u\n", top_y, pixels_y, max_pixels_y_current_dpi); return SANE_STATUS_INVAL; } @@ -1628,7 +1628,7 @@ hp5590_read_image_params (SANE_Int dn, struct image_params image_params; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (image_params) == 16); @@ -1676,7 +1676,7 @@ hp5590_set_scan_params (SANE_Int dn, unsigned int base_dpi; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (scanner_info != NULL); hp5590_cmds_assert (dpi != 0); @@ -1754,7 +1754,7 @@ hp5590_send_reverse_calibration_map (SANE_Int dn, unsigned int len; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); DBG (DBG_proc, "Preparing reverse calibration map\n"); val = 0xffff; len = reverse_map_size / 4; @@ -1805,7 +1805,7 @@ hp5590_send_forward_calibration_maps (SANE_Int dn, unsigned int i; uint16_t val; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); DBG (DBG_proc, "Preparing forward calibration map\n"); val = 0x0000; for (i = 0; i < forward_map_size; i++) @@ -1852,7 +1852,7 @@ hp5590_read (SANE_Int dn, { SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (bytes != NULL); hp5590_cmds_assert (state != NULL); @@ -1872,7 +1872,7 @@ hp5590_start_scan (SANE_Int dn, uint8_t reg_051b = 0x40; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (reg_051b) == 1); @@ -1897,7 +1897,7 @@ hp5590_read_buttons (SANE_Int dn, uint16_t button_status; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (status != NULL); hp5590_cmds_assert (sizeof (button_status) == 2); diff --git a/backend/hp5590_low.c b/backend/hp5590_low.c index 51da01a..4961fd7 100644 --- a/backend/hp5590_low.c +++ b/backend/hp5590_low.c @@ -143,7 +143,7 @@ hp5590_get_ack (SANE_Int dn, if (proto_flags & PF_NO_USB_IN_USB_ACK) return SANE_STATUS_GOOD; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); /* Check if USB-in-USB operation was accepted */ ret = sanei_usb_control_msg (dn, USB_DIR_IN | USB_TYPE_VENDOR, @@ -152,17 +152,17 @@ hp5590_get_ack (SANE_Int dn, if (ret != SANE_STATUS_GOOD) { DBG (DBG_err, "%s: USB-in-USB: error getting acknowledge\n", - __FUNCTION__); + __func__); return ret; } - DBG (DBG_usb, "%s: USB-in-USB: accepted\n", __FUNCTION__); + DBG (DBG_usb, "%s: USB-in-USB: accepted\n", __func__); /* Check if we received correct acknowledgement */ if (status != 0x01) { DBG (DBG_err, "%s: USB-in-USB: not accepted (status %u)\n", - __FUNCTION__, status); + __func__, status); return SANE_STATUS_DEVICE_BUSY; } @@ -186,7 +186,7 @@ hp5590_get_status (SANE_Int dn, uint8_t status; SANE_Status ret; - DBG (DBG_proc, "%s\n", __FUNCTION__); + DBG (DBG_proc, "%s\n", __func__); ret = sanei_usb_control_msg (dn, USB_DIR_IN | USB_TYPE_VENDOR, 0x0c, 0x8e, 0x00, @@ -194,7 +194,7 @@ hp5590_get_status (SANE_Int dn, if (ret != SANE_STATUS_GOOD) { DBG (DBG_err, "%s: USB-in-USB: error getting device status\n", - __FUNCTION__); + __func__); return ret; } @@ -202,7 +202,7 @@ hp5590_get_status (SANE_Int dn, if (status != 0x00) { DBG (DBG_err, "%s: USB-in-USB: got non-zero device status (status %u)\n", - __FUNCTION__, status); + __func__, status); return SANE_STATUS_DEVICE_BUSY; } @@ -244,7 +244,7 @@ hp5590_control_msg (SANE_Int dn, unsigned int needed_response; DBG (DBG_proc, "%s: USB-in-USB: core data: %s\n", - __FUNCTION__, core_flags & CORE_DATA ? "yes" : "no"); + __func__, core_flags & CORE_DATA ? "yes" : "no"); hp5590_low_assert (bytes != NULL); @@ -259,7 +259,7 @@ hp5590_control_msg (SANE_Int dn, ctrl.wIndex = htons (index); ctrl.wLength = htole16 (size); - DBG (DBG_usb, "%s: USB-in-USB: sending control msg\n", __FUNCTION__); + DBG (DBG_usb, "%s: USB-in-USB: sending control msg\n", __func__); /* Send USB-in-USB control message */ ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, 0x04, 0x8f, 0x00, @@ -267,7 +267,7 @@ hp5590_control_msg (SANE_Int dn, if (ret != SANE_STATUS_GOOD) { DBG (DBG_err, "%s: USB-in-USB: error sending control message\n", - __FUNCTION__); + __func__); return ret; } @@ -292,7 +292,7 @@ hp5590_control_msg (SANE_Int dn, 0x90, 0x00, next_packet_size, ptr); if (ret != SANE_STATUS_GOOD) { - DBG (DBG_err, "%s: USB-in-USB: error reading data\n", __FUNCTION__); + DBG (DBG_err, "%s: USB-in-USB: error reading data\n", __func__); return ret; } @@ -308,7 +308,7 @@ hp5590_control_msg (SANE_Int dn, if (ret != SANE_STATUS_GOOD) { DBG (DBG_err, "%s: USB-in-USB: error confirming data reception\n", - __FUNCTION__); + __func__); return -1; } @@ -329,7 +329,7 @@ hp5590_control_msg (SANE_Int dn, ctrl.wIndex = htons (index); ctrl.wLength = htole16 (size); - DBG (DBG_usb, "%s: USB-in-USB: sending control msg\n", __FUNCTION__); + DBG (DBG_usb, "%s: USB-in-USB: sending control msg\n", __func__); /* Send USB-in-USB control message */ ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, 0x04, 0x8f, 0x00, @@ -337,7 +337,7 @@ hp5590_control_msg (SANE_Int dn, if (ret != SANE_STATUS_GOOD) { DBG (DBG_err, "%s: USB-in-USB: error sending control message\n", - __FUNCTION__); + __func__); return ret; } @@ -362,7 +362,7 @@ hp5590_control_msg (SANE_Int dn, 0x8f, 0x00, next_packet_size, ptr); if (ret != SANE_STATUS_GOOD) { - DBG (DBG_err, "%s: USB-in-USB: error sending data\n", __FUNCTION__); + DBG (DBG_err, "%s: USB-in-USB: error sending data\n", __func__); return ret; } @@ -389,13 +389,13 @@ hp5590_control_msg (SANE_Int dn, } /* Getting response after data transmission */ - DBG (DBG_usb, "%s: USB-in-USB: getting response\n", __FUNCTION__); + DBG (DBG_usb, "%s: USB-in-USB: getting response\n", __func__); ret = sanei_usb_control_msg (dn, USB_DIR_IN | USB_TYPE_VENDOR, 0x0c, 0x90, 0x00, sizeof (response), &response); if (ret != SANE_STATUS_GOOD) { - DBG (DBG_err, "%s: USB-in-USB: error getting response\n", __FUNCTION__); + DBG (DBG_err, "%s: USB-in-USB: error getting response\n", __func__); return ret; } @@ -405,14 +405,14 @@ hp5590_control_msg (SANE_Int dn, needed_response = core_flags & CORE_BULK_OUT ? 0x24 : 0x00; if (response == needed_response) DBG (DBG_usb, "%s: USB-in-USB: got correct response\n", - __FUNCTION__); + __func__); if (response != needed_response) { DBG (DBG_err, "%s: USB-in-USB: invalid response received " "(needed %04x, got %04x)\n", - __FUNCTION__, needed_response, response); + __func__, needed_response, response); return SANE_STATUS_IO_ERROR; } @@ -421,7 +421,7 @@ hp5590_control_msg (SANE_Int dn, { uint8_t bulk_flags = 0x24; DBG (DBG_usb, "%s: USB-in-USB: sending bulk flags\n", - __FUNCTION__); + __func__); ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, 0x0c, 0x83, 0x00, @@ -429,7 +429,7 @@ hp5590_control_msg (SANE_Int dn, if (ret != SANE_STATUS_GOOD) { DBG (DBG_err, "%s: USB-in-USB: error sending bulk flags\n", - __FUNCTION__); + __func__); return ret; } @@ -467,7 +467,7 @@ hp5590_verify_last_cmd (SANE_Int dn, SANE_Status ret; DBG (3, "%s: USB-in-USB: command verification requested\n", - __FUNCTION__); + __func__); /* Read last command along with CORE status */ ret = hp5590_control_msg (dn, @@ -489,17 +489,17 @@ hp5590_verify_last_cmd (SANE_Int dn, /* Verify last command */ DBG (DBG_usb, "%s: USB-in-USB: command verification %04x, " "last command: %04x, core status: %04x\n", - __FUNCTION__, verify_cmd, last_cmd, core_status); + __func__, verify_cmd, last_cmd, core_status); if ((cmd & 0x00ff) != last_cmd) { DBG (DBG_err, "%s: USB-in-USB: command verification failed: " "expected 0x%04x, got 0x%04x\n", - __FUNCTION__, cmd, last_cmd); + __func__, cmd, last_cmd); return SANE_STATUS_IO_ERROR; } DBG (DBG_usb, "%s: USB-in-USB: command verified successfully\n", - __FUNCTION__); + __func__); /* Return value depends on CORE status */ return core_status & CORE_FLAG_NOT_READY ? @@ -534,7 +534,7 @@ hp5590_cmd (SANE_Int dn, { SANE_Status ret; - DBG (3, "%s: USB-in-USB: command : %04x\n", __FUNCTION__, cmd); + DBG (3, "%s: USB-in-USB: command : %04x\n", __func__, cmd); ret = hp5590_control_msg (dn, proto_flags, @@ -568,7 +568,7 @@ hp5590_low_init_bulk_read_state (void **state) { struct bulk_read_state *bulk_read_state; - DBG (3, "%s: USB-in-USB: initializing bulk read state\n", __FUNCTION__); + DBG (3, "%s: USB-in-USB: initializing bulk read state\n", __func__); hp5590_low_assert (state != NULL); @@ -582,7 +582,7 @@ hp5590_low_init_bulk_read_state (void **state) if (!bulk_read_state->buffer) { DBG (DBG_err, "%s: Memory allocation failed for %u bytes\n", - __FUNCTION__, ALLOCATE_BULK_READ_PAGES * BULK_READ_PAGE_SIZE); + __func__, ALLOCATE_BULK_READ_PAGES * BULK_READ_PAGE_SIZE); return SANE_STATUS_NO_MEM; } bulk_read_state->buffer_size = ALLOCATE_BULK_READ_PAGES @@ -613,7 +613,7 @@ hp5590_low_free_bulk_read_state (void **state) { struct bulk_read_state *bulk_read_state; - DBG (3, "%s\n", __FUNCTION__); + DBG (3, "%s\n", __func__); hp5590_low_assert (state != NULL); /* Just return if NULL bulk read state was given */ @@ -622,7 +622,7 @@ hp5590_low_free_bulk_read_state (void **state) bulk_read_state = *state; - DBG (3, "%s: USB-in-USB: freeing bulk read state\n", __FUNCTION__); + DBG (3, "%s: USB-in-USB: freeing bulk read state\n", __func__); free (bulk_read_state->buffer); bulk_read_state->buffer = NULL; @@ -656,7 +656,7 @@ hp5590_bulk_read (SANE_Int dn, struct bulk_read_state *bulk_read_state; unsigned int bytes_until_buffer_end; - DBG (3, "%s\n", __FUNCTION__); + DBG (3, "%s\n", __func__); hp5590_low_assert (state != NULL); hp5590_low_assert (bytes != NULL); @@ -665,7 +665,7 @@ hp5590_bulk_read (SANE_Int dn, if (bulk_read_state->initialized == 0) { DBG (DBG_err, "%s: USB-in-USB: bulk read state not initialized\n", - __FUNCTION__); + __func__); return SANE_STATUS_INVAL; } @@ -685,7 +685,7 @@ hp5590_bulk_read (SANE_Int dn, { DBG (DBG_usb, "%s: USB-in-USB: not enough data in buffer available " "(available: %u, requested: %u)\n", - __FUNCTION__, bulk_read_state->bytes_available, size); + __func__, bulk_read_state->bytes_available, size); /* IMPORTANT! 'next_pages' means 'request and receive next_pages pages in * one bulk transfer request '. Windows driver uses 4 pages between each @@ -703,7 +703,7 @@ hp5590_bulk_read (SANE_Int dn, */ bulk_read_state->total_pages++; DBG (DBG_usb, "%s: USB-in-USB: total pages done: %u\n", - __FUNCTION__, bulk_read_state->total_pages); + __func__, bulk_read_state->total_pages); /* Send another bulk request for 'next_pages' before first * page or next necessary one @@ -713,7 +713,7 @@ hp5590_bulk_read (SANE_Int dn, { /* Send bulk flags */ DBG (DBG_usb, "%s: USB-in-USB: sending USB-in-USB bulk flags\n", - __FUNCTION__); + __func__); bulk_flags = 0x24; ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, 0x0c, 0x83, 0x00, @@ -721,7 +721,7 @@ hp5590_bulk_read (SANE_Int dn, if (ret != SANE_STATUS_GOOD) { DBG (DBG_err, "%s: USB-in-USB: error sending bulk flags\n", - __FUNCTION__); + __func__); return ret; } @@ -738,7 +738,7 @@ hp5590_bulk_read (SANE_Int dn, /* Send bulk read request */ DBG (DBG_usb, "%s: USB-in-USB: sending control msg for bulk\n", - __FUNCTION__); + __func__); ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, 0x04, 0x82, 0x00, sizeof (ctrl), @@ -746,7 +746,7 @@ hp5590_bulk_read (SANE_Int dn, if (ret != SANE_STATUS_GOOD) { DBG (DBG_err, "%s: USB-in-USB: error sending control msg\n", - __FUNCTION__); + __func__); return ret; } @@ -761,13 +761,13 @@ hp5590_bulk_read (SANE_Int dn, if (bulk_read_state->buffer_size - bulk_read_state->bytes_available < next_portion) { - DBG (DBG_err, "%s: USB-in-USB: buffer too small\n", __FUNCTION__); + DBG (DBG_err, "%s: USB-in-USB: buffer too small\n", __func__); return SANE_STATUS_NO_MEM; } /* Bulk read next page */ DBG (DBG_usb, "%s: USB-in-USB: bulk reading %lu bytes\n", - __FUNCTION__, (u_long) next_portion); + __func__, (u_long) next_portion); ret = sanei_usb_read_bulk (dn, bulk_read_state->buffer_in_ptr, &next_portion); @@ -776,7 +776,7 @@ hp5590_bulk_read (SANE_Int dn, if (ret == SANE_STATUS_EOF) return ret; DBG (DBG_err, "%s: USB-in-USB: error during bulk read: %s\n", - __FUNCTION__, sane_strstatus (ret)); + __func__, sane_strstatus (ret)); return ret; } @@ -785,7 +785,7 @@ hp5590_bulk_read (SANE_Int dn, { DBG (DBG_err, "%s: USB-in-USB: incomplete bulk read " "(requested %u bytes, got %lu bytes)\n", - __FUNCTION__, BULK_READ_PAGE_SIZE, (u_long) next_portion); + __func__, BULK_READ_PAGE_SIZE, (u_long) next_portion); return SANE_STATUS_IO_ERROR; } @@ -798,7 +798,7 @@ hp5590_bulk_read (SANE_Int dn, DBG (DBG_err, "%s: USB-in-USB: attempted to access over the end of buffer " "(in_ptr: %p, end_ptr: %p, ptr: %p, buffer size: %u\n", - __FUNCTION__, bulk_read_state->buffer_in_ptr, + __func__, bulk_read_state->buffer_in_ptr, bulk_read_state->buffer_end_ptr, bulk_read_state->buffer, bulk_read_state->buffer_size); return SANE_STATUS_NO_MEM; @@ -808,7 +808,7 @@ hp5590_bulk_read (SANE_Int dn, if (bulk_read_state->buffer_in_ptr == bulk_read_state->buffer_end_ptr) { DBG (DBG_usb, "%s: USB-in-USB: buffer wrapped while writing\n", - __FUNCTION__); + __func__); bulk_read_state->buffer_in_ptr = bulk_read_state->buffer; } @@ -819,7 +819,7 @@ hp5590_bulk_read (SANE_Int dn, /* Transfer requested amount of data to the caller */ DBG (DBG_usb, "%s: USB-in-USB: data in bulk buffer is available " "(requested %u bytes, available %u bytes)\n", - __FUNCTION__, size, bulk_read_state->bytes_available); + __func__, size, bulk_read_state->bytes_available); /* Check for buffer pointer wrapping */ bytes_until_buffer_end = bulk_read_state->buffer_end_ptr @@ -827,13 +827,13 @@ hp5590_bulk_read (SANE_Int dn, if (bytes_until_buffer_end <= size) { /* First buffer part */ - DBG (DBG_usb, "%s: USB-in-USB: reached bulk read buffer end\n", __FUNCTION__); + DBG (DBG_usb, "%s: USB-in-USB: reached bulk read buffer end\n", __func__); memcpy (bytes, bulk_read_state->buffer_out_ptr, bytes_until_buffer_end); bulk_read_state->buffer_out_ptr = bulk_read_state->buffer; /* And second part (if any) */ if (bytes_until_buffer_end < size) { - DBG (DBG_usb, "%s: USB-in-USB: giving 2nd buffer part\n", __FUNCTION__); + DBG (DBG_usb, "%s: USB-in-USB: giving 2nd buffer part\n", __func__); memcpy (bytes + bytes_until_buffer_end, bulk_read_state->buffer_out_ptr, size - bytes_until_buffer_end); @@ -848,7 +848,7 @@ hp5590_bulk_read (SANE_Int dn, if (bulk_read_state->buffer_out_ptr == bulk_read_state->buffer_end_ptr) { DBG (DBG_usb, "%s: USB-in-USB: buffer wrapped while reading\n", - __FUNCTION__); + __func__); bulk_read_state->buffer_out_ptr = bulk_read_state->buffer; } } @@ -886,7 +886,7 @@ hp5590_bulk_write (SANE_Int dn, unsigned char *ptr; size_t next_portion; - DBG (3, "%s: USB-in-USB: command: %04x, size %u\n", __FUNCTION__, cmd, + DBG (3, "%s: USB-in-USB: command: %04x, size %u\n", __func__, cmd, size); hp5590_low_assert (bytes != NULL); @@ -898,7 +898,7 @@ hp5590_bulk_write (SANE_Int dn, /* Send bulk write request */ DBG (3, "%s: USB-in-USB: total %u pages (each of %u bytes)\n", - __FUNCTION__, bulk_size.size, BULK_WRITE_PAGE_SIZE); + __func__, bulk_size.size, BULK_WRITE_PAGE_SIZE); ret = hp5590_control_msg (dn, proto_flags, USB_DIR_OUT, @@ -919,7 +919,7 @@ hp5590_bulk_write (SANE_Int dn, next_portion = len; DBG (3, "%s: USB-in-USB: next portion %lu bytes\n", - __FUNCTION__, (u_long) next_portion); + __func__, (u_long) next_portion); /* Prepare bulk write request */ memset (&ctrl, 0, sizeof (ctrl)); @@ -941,7 +941,7 @@ hp5590_bulk_write (SANE_Int dn, /* Write bulk data */ DBG (3, "%s: USB-in-USB: bulk writing %lu bytes\n", - __FUNCTION__, (u_long) next_portion); + __func__, (u_long) next_portion); ret = sanei_usb_write_bulk (dn, ptr, &next_portion); if (ret != SANE_STATUS_GOOD) { @@ -949,7 +949,7 @@ hp5590_bulk_write (SANE_Int dn, if (ret == SANE_STATUS_EOF) break; DBG (DBG_err, "%s: USB-in-USB: error during bulk write: %s\n", - __FUNCTION__, sane_strstatus (ret)); + __func__, sane_strstatus (ret)); return ret; } diff --git a/backend/hpsj5s.c b/backend/hpsj5s.c index 75f3526..9c6ad79 100644 --- a/backend/hpsj5s.c +++ b/backend/hpsj5s.c @@ -161,7 +161,6 @@ SANE_Status sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) { char line[PATH_MAX]; /*Line from config file */ - int len; /*Length of string from config file */ FILE *config_file; /*Handle to config file of this backend */ DBG_INIT (); @@ -189,7 +188,6 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) { if ((line[0] == '#') || (line[0] == '\0')) /*comment line or empty line */ continue; - len = strlen (line); /*sanei_config_read guaranty, it's not more then PATH_MAX-1 */ strcpy (scanner_path, line); /*so, we choose last in file (uncommented) */ } diff --git a/backend/hs2p-saneopts.h b/backend/hs2p-saneopts.h index 7ea50c2..0e712a3 100644 --- a/backend/hs2p-saneopts.h +++ b/backend/hs2p-saneopts.h @@ -110,7 +110,7 @@ #define SANE_NAME_BARCODE_HMIN "barcode-hmin" #define SANE_TITLE_BARCODE_HMIN "Barcode Minimum Height" -#define SANE_DESC_BARCODE_HMIN "Sets the Barcode Minimun Height (larger values increase recognition speed)" +#define SANE_DESC_BARCODE_HMIN "Sets the Barcode Minimum Height (larger values increase recognition speed)" #define SANE_NAME_BARCODE_SEARCH_MODE "barcode-search-mode" #define SANE_TITLE_BARCODE_SEARCH_MODE "Barcode Search Mode" diff --git a/backend/hs2p-scsi.c b/backend/hs2p-scsi.c index a14e6cb..431ba9d 100644 --- a/backend/hs2p-scsi.c +++ b/backend/hs2p-scsi.c @@ -373,7 +373,7 @@ print_sense_data (int dbg_level, SENSE_DATA * data) (data->sense_key & 0x0F)); DBG (dbg_level, "Information Byte = %lu\n", _4btol (data->information)); DBG (dbg_level, "Additional Sense Length = %d\n", data->sense_length); - DBG (dbg_level, "Command Specific Infomation = %lu\n", + DBG (dbg_level, "Command Specific Information = %lu\n", _4btol (data->command_specific_information)); DBG (dbg_level, "Additional Sense Code = %#x\n", data->sense_code); DBG (dbg_level, "Additional Sense Code Qualifier = %#x\n", diff --git a/backend/kodak.c b/backend/kodak.c index 80a5700..73243db 100644 --- a/backend/kodak.c +++ b/backend/kodak.c @@ -1,5 +1,12 @@ /* sane - Scanner Access Now Easy. + This file is part of the SANE package, and implements a SANE backend + for various large Kodak scanners. + + Copyright (C) 2008-2010 m. allan noah + + -------------------------------------------------------------------------- + This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -40,8 +47,6 @@ -------------------------------------------------------------------------- - This file implements a SANE backend for various large Kodak scanners. - The source code is divided in sections which you can easily find by searching for the tag "@@". @@ -2749,7 +2754,6 @@ do_cmd(struct scanner *s, int runRS, int shortTime, ) { SANE_Status ret = SANE_STATUS_GOOD; - size_t actLen = 0; /*shut up compiler*/ runRS=runRS; @@ -2766,7 +2770,6 @@ do_cmd(struct scanner *s, int runRS, int shortTime, } if (inBuff && inLen){ DBG(25, "in: reading %d bytes\n", (int)*inLen); - actLen = *inLen; } ret = sanei_scsi_cmd2(s->fd, cmdBuff, cmdLen, outBuff, outLen, inBuff, inLen); diff --git a/backend/kodakaio.c b/backend/kodakaio.c index 42b59a5..a9bec7b 100644 --- a/backend/kodakaio.c +++ b/backend/kodakaio.c @@ -1,7 +1,7 @@ /* * kodakaio.c - SANE library for Kodak ESP Aio scanners. * - * Copyright (C) 2011-2015 Paul Newall + * Copyright (C) 2011-2017 Paul Newall * * Based on the Magicolor sane backend: * Based on the epson2 sane backend: @@ -19,6 +19,7 @@ * 01/01/13 Now with adf, the scan can be padded to make up the full page length, * or the page can terminate at the end of the paper. This is a selectable option. * 25/11/12 Using avahi now for net autodiscovery. Use configure option --enable-avahi + * 1/5/17 patched to use local pointer for avahi callback */ /* @@ -31,13 +32,13 @@ convenient lines to paste export SANE_DEBUG_KODAKAIO=20 for ubuntu prior to 12.10 -./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-avahi --disable-latex BACKENDS="kodakaio test" +./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-avahi --without-api-spec BACKENDS="kodakaio test" for ubuntu 12.10 -./configure --prefix=/usr --libdir=/usr/lib/i386-linux-gnu --sysconfdir=/etc --localstatedir=/var --enable-avahi --disable-latex BACKENDS="kodakaio test" +./configure --prefix=/usr --libdir=/usr/lib/i386-linux-gnu --sysconfdir=/etc --localstatedir=/var --enable-avahi --without-api-spec BACKENDS="kodakaio test" -for ubuntu 14.10 -./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --sysconfdir=/etc --localstatedir=/var --enable-avahi --disable-latex BACKENDS="kodakaio test" +for ubuntu 14.10 up to at least 17.04 +./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --sysconfdir=/etc --localstatedir=/var --enable-avahi --without-api-spec BACKENDS="kodakaio test" If you want to use the test backend, for example with sane-troubleshoot, you should enable it in /etc/sane.d/dll.conf @@ -153,7 +154,7 @@ If you want to use the test backend, for example with sane-troubleshoot, you sho #define KODAKAIO_VERSION 02 #define KODAKAIO_REVISION 7 -#define KODAKAIO_BUILD 2 +#define KODAKAIO_BUILD 3 /* for usb (but also used for net though it's not required). */ #define MAX_BLOCK_SIZE 32768 @@ -207,6 +208,7 @@ normal levels. This system is a plan rather than a reality #include #include #include +#include #if WITH_AVAHI /* used for auto detecting network printers */ @@ -216,9 +218,6 @@ normal levels. This system is a plan rather than a reality #include #include #include - -static AvahiSimplePoll *simple_poll = NULL; /* global because called by several functions */ - #endif #include "../include/sane/saneopts.h" @@ -639,8 +638,10 @@ static SANE_Status attach_one_usb(SANE_String_Const devname); static SANE_Status attach_one_net(SANE_String_Const devname, unsigned int device); void kodakaio_com_str(unsigned char *buf, char *fmt_buf); int cmparray (unsigned char *array1, unsigned char *array2, size_t len); +#if WITH_AVAHI static struct KodakaioCap *get_device_from_identification (const char *ident, const char *vid, const char *pid); void ProcessAvahiDevice(const char *device_id, const char *vid, const char *pid, const char *ip_addr); +#endif /* Some utility functions */ @@ -731,7 +732,7 @@ That is probably if the scanner disconnected the network connection if (read == 0) *status = SANE_STATUS_IO_ERROR; - DBG(32, "net read %d bytes:%x,%x,%x,%x,%x,%x,%x,%x\n",read,buf[0],buf[1],buf[2],buf[3],buf[4],buf[5],buf[6],buf[7]); + DBG(32, "net read %lu bytes:%x,%x,%x,%x,%x,%x,%x,%x\n",(unsigned long)read,buf[0],buf[1],buf[2],buf[3],buf[4],buf[5],buf[6],buf[7]); return read; } @@ -881,7 +882,7 @@ In NET mode the timeout is in kodakaio_net_read time(&time_start); DBG(min(16,DBG_READ), "[%ld] %s: net req size = %ld ", (long) time_start, __func__, (long) buf_size); n = kodakaio_net_read(s, buf, buf_size, status); - DBG(min(16,DBG_READ), "returned %d\n", n); + DBG(min(16,DBG_READ), "returned %lu\n", (unsigned long)n); if (*status != SANE_STATUS_GOOD) { DBG(1, "%s: err returned from kodakaio_net_read, %s\n", __func__, sane_strstatus(*status)); } @@ -1109,7 +1110,7 @@ cmd_start_scan (SANE_Handle handle, size_t expect_total) return SANE_STATUS_IO_ERROR; } - DBG(20, "starting the scan, expected total bytes %d\n",expect_total); + DBG(20, "starting the scan, expected total bytes %lu\n",(unsigned long)expect_total); k_send(s, KodakEsp_Go, 8, &status); if (status != SANE_STATUS_GOOD) @@ -1365,25 +1366,25 @@ But it seems that the scanner takes care of that, and gives you the ack as a sep /* only compare 4 bytes because we sometimes get escSS02.. or escSS00.. is 4 the right number ? */ if (cmparray(Last8,KodakEsp_Ack,4) == 0) { - DBG(min(10,DBG_READ), "%s: found KodakEsp_Ack at %d bytes of %d\n", __func__, bytecount, *len); + DBG(min(10,DBG_READ), "%s: found KodakEsp_Ack at %lu bytes of %lu\n", __func__, (unsigned long) bytecount, (unsigned long) *len); s->ack = SANE_TRUE; *len = bytecount - 8; /* discard the Ack response */ s->bytes_unread -= *len; /* return a short block */ } else { /* a not full buffer is returned usb does this */ - DBG(min(10,DBG_READ), "%s: buffer not full, got %d bytes of %d\n", __func__, bytecount, *len); + DBG(min(10,DBG_READ), "%s: buffer not full, got %lu bytes of %lu\n", __func__, (unsigned long) bytecount, (unsigned long) *len); *len = bytecount; s->bytes_unread -= bytecount; } } else { - DBG(min(1,DBG_READ), "%s: tiny read, got %d bytes of %d\n", __func__, (int) bytecount, *len); + DBG(min(1,DBG_READ), "%s: tiny read, got %lu bytes of %lu\n", __func__, (unsigned long) bytecount, (unsigned long) *len); return SANE_STATUS_IO_ERROR; } - if (*len > s->params.bytes_per_line) { + lines = *len / s->params.bytes_per_line; + if (lines > 1) { /* store average colour as background. That's not the ideal method but it's easy to implement. What's it used for? */ - lines = *len / s->params.bytes_per_line; s->background[0] = 0; s->background[1] = 0; s->background[2] = 0; @@ -1934,17 +1935,18 @@ you don't know how many blocks there will be in advance because their size may b * SANE API implementation (high-level functions) */ +#if WITH_AVAHI static struct KodakaioCap * get_device_from_identification (const char *ident, const char *vid, const char *pid) { int n; SANE_Word pidnum, vidnum; - if(sscanf(vid, "%x", &vidnum) == EOF) { + if(sscanf(vid, "%x", (unsigned int *)&vidnum) == EOF) { DBG(5, "could not convert hex vid <%s>\n", vid); return NULL; } - if(sscanf(pid, "%x", &pidnum) == EOF) { + if(sscanf(pid, "%x", (unsigned int *)&pidnum) == EOF) { DBG(5, "could not convert hex pid <%s>\n", pid); return NULL; } @@ -1965,6 +1967,7 @@ get_device_from_identification (const char *ident, const char *vid, const char * } return NULL; } +#endif /* WITH_AVAHI */ /* * close_scanner() @@ -2359,9 +2362,9 @@ static void browse_callback( const char *domain, AVAHI_GCC_UNUSED AvahiLookupResultFlags flags, void* userdata) { + AvahiSimplePoll *simple_poll = userdata; - AvahiClient *c = userdata; - assert(b); + AvahiClient *c = avahi_service_browser_get_client (b); /* Called whenever a new services becomes available on the LAN or is removed from the LAN */ switch (event) { @@ -2395,7 +2398,8 @@ static void browse_callback( } } -static void client_callback(AvahiClient *c, AvahiClientState state, AVAHI_GCC_UNUSED void * userdata) { +static void client_callback(AvahiClient *c, AvahiClientState state, void * userdata) { + AvahiSimplePoll *simple_poll = userdata; assert(c); /* Called whenever the client or server state changes */ @@ -2412,6 +2416,7 @@ kodak_network_discovery(const char*host) /* If host = NULL do autodiscovery. If host != NULL try to verify the model First version only does autodiscovery */ { + AvahiSimplePoll *simple_poll; AvahiClient *client = NULL; AvahiServiceBrowser *sb = NULL; int error; @@ -2427,7 +2432,7 @@ First version only does autodiscovery */ } /* Allocate a new client */ - client = avahi_client_new(avahi_simple_poll_get(simple_poll), 0, client_callback, NULL, &error); + client = avahi_client_new(avahi_simple_poll_get(simple_poll), 0, client_callback, simple_poll, &error); /* Check wether creating the client object succeeded */ if (!client) { @@ -2436,14 +2441,15 @@ First version only does autodiscovery */ } /* Create the service browser */ - if (!(sb = avahi_service_browser_new(client, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, "_scanner._tcp", NULL, 0, browse_callback, client))) { + if (!(sb = avahi_service_browser_new(client, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, "_scanner._tcp", NULL, 0, browse_callback, simple_poll))) { DBG(min(1,DBG_AUTO), "Failed to create service browser: %s\n", avahi_strerror(avahi_client_errno(client))); goto fail; } /* Run the main loop */ for(i=1;iname, devname)) diff --git a/backend/kvs20xx.h b/backend/kvs20xx.h index 9bc833d..442f1c7 100644 --- a/backend/kvs20xx.h +++ b/backend/kvs20xx.h @@ -168,6 +168,12 @@ swap_bytes32 (u32 x) (x & (u32) 0x0000ff00UL) << 8 | (x & (u32) 0x00ff0000UL) >> 8; } +static inline void +copy16 (u8 * p, u16 x) +{ + memcpy (p, (u8 *) &x, sizeof (x)); +} + #if __BYTE_ORDER == __BIG_ENDIAN static inline void set24 (u8 * p, u32 x) diff --git a/backend/kvs20xx_cmd.c b/backend/kvs20xx_cmd.c index 7579701..d0f18ee 100644 --- a/backend/kvs20xx_cmd.c +++ b/backend/kvs20xx_cmd.c @@ -187,7 +187,7 @@ kvs20xx_set_timeout (struct scanner * s, int timeout) }; c.cmd[0] = SET_TIMEOUT; c.cmd[2] = 0x8d; - *((u16 *) (c.cmd + 7)) = cpu2be16 (sizeof (t)); + copy16 (c.cmd + 7, cpu2be16 (sizeof (t))); c.data = &t; c.data_size = sizeof (t); @@ -210,7 +210,7 @@ kvs20xx_set_window (struct scanner * s, int wnd_id) CMD_OUT }; c.cmd[0] = SET_WINDOW; - *((u16 *) (c.cmd + 7)) = cpu2be16 (sizeof (wnd)); + copy16 (c.cmd + 7, cpu2be16 (sizeof (wnd))); c.data = &wnd; c.data_size = sizeof (wnd); @@ -301,29 +301,6 @@ kvs20xx_read_picture_element (struct scanner * s, unsigned side, return SANE_STATUS_GOOD; } -static SANE_Status -get_buffer_status (struct scanner * s, unsigned *data_avalible) -{ - SANE_Status status; - struct cmd c = { - {0}, - 10, - 0, - 12, - CMD_IN - }; - u32 *data; - c.cmd[0] = GET_BUFFER_STATUS; - c.cmd[7] = 12; - - status = send_command (s, &c); - if (status) - return status; - data = (u32 *) c.data; - *data_avalible = be2cpu32 (data[3]); - return SANE_STATUS_GOOD; -} - SANE_Status kvs20xx_read_image_data (struct scanner * s, unsigned page, unsigned side, void *buf, unsigned max_size, unsigned *size) diff --git a/backend/kvs20xx_cmd.h b/backend/kvs20xx_cmd.h index c18b754..4acaf62 100644 --- a/backend/kvs20xx_cmd.h +++ b/backend/kvs20xx_cmd.h @@ -9,6 +9,10 @@ Panasonic KV-S20xx USB-SCSI scanners. */ +#ifdef HAVE_SYS_TYPES_H +#include +#endif + #define COMMAND_BLOCK 1 #define DATA_BLOCK 2 #define RESPONSE_BLOCK 3 diff --git a/backend/kvs20xx_opt.c b/backend/kvs20xx_opt.c index 83d3385..94c4133 100644 --- a/backend/kvs20xx_opt.c +++ b/backend/kvs20xx_opt.c @@ -23,6 +23,7 @@ #include "kvs20xx.h" #include "kvs20xx_cmd.h" +#include static size_t max_string_size (SANE_String_Const strings[]) diff --git a/backend/kvs40xx.h b/backend/kvs40xx.h index fa17163..7fdebe6 100644 --- a/backend/kvs40xx.h +++ b/backend/kvs40xx.h @@ -10,6 +10,9 @@ #include "../include/sane/config.h" #include +#ifdef HAVE_SYS_TYPES_H +#include +#endif #undef BACKEND_NAME #define BACKEND_NAME kvs40xx @@ -225,6 +228,18 @@ swap_bytes32 (u32 x) (x & (u32) 0x0000ff00UL) << 8 | (x & (u32) 0x00ff0000UL) >> 8; } +static inline void +copy16 (u8 * p, u16 x) +{ + memcpy (p, (u8 *) &x, sizeof (x)); +} + +static inline void +copy32 (u8 * p, u32 x) +{ + memcpy (p, (u8 *) &x, sizeof (x)); +} + #if WORDS_BIGENDIAN static inline void set24 (u8 * p, u32 x) diff --git a/backend/kvs40xx_cmd.c b/backend/kvs40xx_cmd.c index ade2014..52ccc38 100644 --- a/backend/kvs40xx_cmd.c +++ b/backend/kvs40xx_cmd.c @@ -360,7 +360,7 @@ kvs40xx_set_timeout (struct scanner * s, int timeout) c.data_size = sizeof (t); c.cmd[0] = SET_TIMEOUT; c.cmd[2] = 0x8d; - *((u16 *) (c.cmd + 7)) = cpu2be16 (sizeof (t)); + copy16 (c.cmd + 7, cpu2be16 (sizeof (t))); if (s->bus == USB) sanei_usb_set_timeout (timeout * 1000); @@ -379,7 +379,7 @@ kvs40xx_set_window (struct scanner * s, int wnd_id) c.data = &wnd; c.data_size = sizeof (wnd); c.cmd[0] = SET_WINDOW; - *((u16 *) (c.cmd + 7)) = cpu2be16 (sizeof (wnd)); + copy16 (c.cmd + 7, cpu2be16 (sizeof (wnd))); kvs40xx_init_window (s, &wnd, wnd_id); return send_command (s, &c); @@ -534,28 +534,6 @@ kvs40xx_read_image_data (struct scanner * s, unsigned page, unsigned side, return status; } -static SANE_Status -get_adjust_data (struct scanner * s, unsigned *dummy_length) -{ - SANE_Status status; - struct cmd c = { - {0}, 10, - NULL, 40, - CMD_IN - }; - u16 *data; - - c.cmd[0] = GET_ADJUST_DATA; - c.cmd[2] = 0x9b; - c.cmd[8] = 40; - status = send_command (s, &c); - if (status) - return status; - data = (u16 *) c.data; - *dummy_length = be2cpu16 (data[0]); - return SANE_STATUS_GOOD; -} - SANE_Status read_support_info (struct scanner * s, struct support_info * inf) { diff --git a/backend/kvs40xx_opt.c b/backend/kvs40xx_opt.c index c4f478b..bd9d85e 100644 --- a/backend/kvs40xx_opt.c +++ b/backend/kvs40xx_opt.c @@ -22,6 +22,7 @@ #include "../include/sane/sanei_debug.h" +#include static inline unsigned mm2scanner_units (unsigned mm) @@ -1271,41 +1272,45 @@ kvs40xx_init_window (struct scanner *s, struct window *wnd, int wnd_id) { int paper = str_index (paper_list, s->val[PAPER_SIZE].s), i; memset (wnd, 0, sizeof (struct window)); - *(u16 *) wnd->window_descriptor_block_length = cpu2be16 (66); + copy16 (wnd->window_descriptor_block_length, cpu2be16 (66)); wnd->window_identifier = wnd_id; - *(u16 *) wnd->x_resolution = cpu2be16 (s->val[RESOLUTION].w); - *(u16 *) wnd->y_resolution = cpu2be16 (s->val[RESOLUTION].w); + copy16 (wnd->x_resolution, cpu2be16 (s->val[RESOLUTION].w)); + copy16 (wnd->y_resolution, cpu2be16 (s->val[RESOLUTION].w)); if (!paper) { - *(u32 *) wnd->upper_left_x = - cpu2be32 (mm2scanner_units (s->val[TL_X].w)); - *(u32 *) wnd->upper_left_y = - cpu2be32 (mm2scanner_units (s->val[TL_Y].w)); - *(u32 *) wnd->document_width = - cpu2be32 (mm2scanner_units (s->val[BR_X].w)); - *(u32 *) wnd->width = - cpu2be32 (mm2scanner_units (s->val[BR_X].w - s->val[TL_X].w)); - *(u32 *) wnd->document_length = cpu2be32 (mm2scanner_units - (s->val[BR_Y].w)); - *(u32 *) wnd->length = - cpu2be32 (mm2scanner_units (s->val[BR_Y].w - s->val[TL_Y].w)); + copy32 (wnd->upper_left_x, + cpu2be32 (mm2scanner_units (s->val[TL_X].w))); + copy32 (wnd->upper_left_y, + cpu2be32 (mm2scanner_units (s->val[TL_Y].w))); + copy32 (wnd->document_width, + cpu2be32 (mm2scanner_units (s->val[BR_X].w))); + copy32 (wnd->width, + cpu2be32 (mm2scanner_units (s->val[BR_X].w - s->val[TL_X].w))); + copy32 (wnd->document_length, cpu2be32 (mm2scanner_units + (s->val[BR_Y].w))); + copy32 (wnd->length, + cpu2be32 (mm2scanner_units (s->val[BR_Y].w - s->val[TL_Y].w))); } else { u32 w = cpu2be32 (mm2scanner_units (paper_sizes[paper].width)); u32 h = cpu2be32 (mm2scanner_units (paper_sizes[paper].height)); - *(u32 *) wnd->upper_left_x = cpu2be32 (mm2scanner_units (0)); - *(u32 *) wnd->upper_left_y = cpu2be32 (mm2scanner_units (0)); + copy32 (wnd->upper_left_x, cpu2be32 (mm2scanner_units (0))); + copy32 (wnd->upper_left_y, cpu2be32 (mm2scanner_units (0))); if (!s->val[LANDSCAPE].b) { - *(u32 *) wnd->document_width = *(u32 *) wnd->width = w; - *(u32 *) wnd->document_length = *(u32 *) wnd->length = h; + copy32 (wnd->width, w); + copy32 (wnd->length, h); + copy32 (wnd->document_width, w); + copy32 (wnd->document_length, h); } else { - *(u32 *) wnd->document_width = *(u32 *) wnd->width = h; - *(u32 *) wnd->document_length = *(u32 *) wnd->length = w; + copy32 (wnd->width, h); + copy32 (wnd->length, w); + copy32 (wnd->document_width, h); + copy32 (wnd->document_length, w); } } wnd->brightness = s->val[BRIGHTNESS].w; @@ -1314,11 +1319,11 @@ kvs40xx_init_window (struct scanner *s, struct window *wnd, int wnd_id) wnd->image_composition = mode_val[str_index (mode_list, s->val[MODE].s)]; wnd->bit_per_pixel = bps_val[str_index (mode_list, s->val[MODE].s)]; - *(u16 *) wnd->halftone_pattern = - cpu2be16 (str_index (halftone_pattern, s->val[HALFTONE_PATTERN].s)); + copy16 (wnd->halftone_pattern, + cpu2be16 (str_index (halftone_pattern, s->val[HALFTONE_PATTERN].s))); wnd->rif_padding = s->val[INVERSE].b << 7; - *(u16 *) wnd->bit_ordering = cpu2be16 (BIT_ORDERING); + copy16 (wnd->bit_ordering, cpu2be16 (BIT_ORDERING)); wnd->compression_type = s->val[COMPRESSION].b ? 0x81 : 0; wnd->compression_argument = s->val[COMPRESSION_PAR].w; diff --git a/backend/lexmark_low.c b/backend/lexmark_low.c index 821b621..fe20e89 100644 --- a/backend/lexmark_low.c +++ b/backend/lexmark_low.c @@ -2369,6 +2369,9 @@ low_get_start_loc (SANE_Int resolution, SANE_Int * vert_start, return SANE_STATUS_INVAL; } break; + default: + /* If we're here we have an unknown dev->model.sensor_type */ + return SANE_STATUS_INVAL; } /* Calculate vertical start distance at 600dpi */ switch (resolution) diff --git a/backend/ma1509.c b/backend/ma1509.c index 5fccd1c..e38ddc5 100644 --- a/backend/ma1509.c +++ b/backend/ma1509.c @@ -1738,7 +1738,6 @@ sane_start (SANE_Handle handle) { Ma1509_Scanner *s = handle; SANE_Status status; - SANE_String_Const mode; struct timeval start; if (!s) @@ -1778,8 +1777,6 @@ sane_start (SANE_Handle handle) /* save start time */ gettimeofday (&start, 0); s->start_time = start.tv_sec; - /* translate options into s->mode for convenient access: */ - mode = s->val[OPT_MODE].s; status = set_window (s); if (status != SANE_STATUS_GOOD) diff --git a/backend/magicolor.c b/backend/magicolor.c index 660f517..d3af142 100644 --- a/backend/magicolor.c +++ b/backend/magicolor.c @@ -1385,7 +1385,6 @@ static SANE_Status mc_init_parameters(Magicolor_Scanner * s) { int dpi, optres; - struct mode_param *mparam; DBG(5, "%s\n", __func__); @@ -1394,8 +1393,6 @@ mc_init_parameters(Magicolor_Scanner * s) dpi = s->val[OPT_RESOLUTION].w; optres = s->hw->cap->optical_res; - mparam = &mode_params[s->val[OPT_MODE].w]; - if (SANE_UNFIX(s->val[OPT_BR_Y].w) == 0 || SANE_UNFIX(s->val[OPT_BR_X].w) == 0) return SANE_STATUS_INVAL; @@ -1521,6 +1518,7 @@ mc_read(struct Magicolor_Scanner *s) ****************************************************************************/ +#if HAVE_LIBSNMP static struct MagicolorCap * mc_get_device_from_identification (const char*ident) { @@ -1531,6 +1529,7 @@ mc_get_device_from_identification (const char*ident) } return NULL; } +#endif /* @@ -1970,10 +1969,10 @@ mc_network_discovery(const char*host) init_snmp("sane-magicolor-backend"); snmp_sess_init (&session); session.version = SNMP_VERSION_2c; - session.community = "public"; - session.community_len = strlen (session.community); + session.community = (u_char *) "public"; + session.community_len = strlen ((char *)session.community); if (host) { - session.peername = host; + session.peername = (char *) host; } else { /* Do a network discovery via a broadcast */ session.peername = "255.255.255.255"; diff --git a/backend/magicolor.h b/backend/magicolor.h index 7ea1e1e..b1195a0 100644 --- a/backend/magicolor.h +++ b/backend/magicolor.h @@ -44,13 +44,6 @@ #include "../include/sane/sanei_debug.h" #include "../include/sane/sanei_backend.h" -#ifdef __GNUC__ -#define __func__ __FUNCTION__ -#else -#define __func__ "(undef)" -/* I cast my vote for C99... :) */ -#endif - /* Silence the compiler for unused arguments */ #define NOT_USED(x) ( (void)(x) ) diff --git a/backend/microtek2.c b/backend/microtek2.c index 8fdf497..dccd707 100644 --- a/backend/microtek2.c +++ b/backend/microtek2.c @@ -443,12 +443,14 @@ sane_get_select_fd (SANE_Handle handle, SANE_Int *fd) /*---------- sane_init() -----------------------------------------------------*/ SANE_Status +#ifdef HAVE_AUTHORIZATION sane_init(SANE_Int *version_code, SANE_Auth_Callback authorize) +#else +sane_init(SANE_Int *version_code, SANE_Auth_Callback __sane_unused__ authorize) +#endif { Microtek2_Device *md; FILE *fp; - int match; - SANE_Auth_Callback trash; DBG_INIT(); @@ -460,13 +462,10 @@ sane_init(SANE_Int *version_code, SANE_Auth_Callback authorize) #ifdef HAVE_AUTHORIZATION auth_callback = authorize; -#else - trash = authorize; /* prevents compiler warning "unused variable" */ #endif sanei_thread_init(); - match = 0; fp = sanei_config_open(MICROTEK2_CONFIG_FILE); if ( fp == NULL ) DBG(10, "sane_init: file not opened: '%s'\n", MICROTEK2_CONFIG_FILE); @@ -909,7 +908,7 @@ cancel_scan(Microtek2_Scanner *ms) of material on a feeder, then pid may be already -1 and kill(-1, SIGTERM), i.e. killing all our processes, is not likely what we really want - --mj, 2001/Nov/19 */ - if (ms->pid != -1) + if (sanei_thread_is_valid (ms->pid)) { sanei_thread_kill(ms->pid); sanei_thread_waitpid(ms->pid, NULL); @@ -1346,14 +1345,10 @@ check_inquiry(Microtek2_Device *md, SANE_String *model_string) static void cleanup_scanner(Microtek2_Scanner *ms) { - SANE_Status status; - Microtek2_Device *md; - md = ms->dev; - DBG(30, "cleanup_scanner: ms=%p, ms->sfd=%d\n", (void *) ms, ms->sfd); if ( ms->scanning == SANE_TRUE ) - status=cancel_scan(ms); + cancel_scan(ms); if ( ms->sfd != -1 ) sanei_scsi_close(ms->sfd); @@ -1616,10 +1611,9 @@ dump_area2(uint8_t *area, int len, char *info) #define BPL 16 /* bytes per line to print */ - int i, linelength; + int i; char outputline[100]; char *outbuf; - linelength = BPL * 3; if ( ! info[0] ) info = "No additional info available"; @@ -1991,7 +1985,7 @@ parse_config_file(FILE *fp, Config_Temp **ct) /*---------- signal_handler() ------------------------------------------------*/ -static RETSIGTYPE +static void signal_handler (int signal) { if ( signal == SIGTERM ) @@ -4466,15 +4460,12 @@ scsi_read_attributes(Microtek2_Info *pmi, char *device, uint8_t scan_source) static SANE_Status scsi_read_control_bits(Microtek2_Scanner *ms) { - Microtek2_Device *md; SANE_Status status; uint8_t cmd[RCB_CMD_L]; uint32_t byte; int bit; int count_1s; - md = ms->dev; - DBG(30, "scsi_read_control_bits: ms=%p, fd=%d\n", (void *) ms, ms->sfd); DBG(30, "ms->control_bytes = %p\n", ms->control_bytes); @@ -4795,7 +4786,6 @@ scsi_read_image_status(Microtek2_Scanner *ms) static SANE_Status scsi_read_shading(Microtek2_Scanner *ms, uint8_t *buffer, uint32_t length) { - Microtek2_Device *md; uint8_t cmd[RSI_CMD_L]; SANE_Bool endiantype; SANE_Status status = SANE_STATUS_GOOD; @@ -4804,8 +4794,6 @@ scsi_read_shading(Microtek2_Scanner *ms, uint8_t *buffer, uint32_t length) DBG(30, "scsi_read_shading: pos=%p, size=%d, word=%d, color=%d, dark=%d\n", buffer, length, ms->word, ms->current_color, ms->dark); - md = ms->dev; - size = length; RSI_SET_CMD(cmd); @@ -5080,7 +5068,6 @@ scsi_sense_handler (int fd, u_char *sense, void *arg) { int as_info_length; uint8_t sense_key; - uint8_t asl; uint8_t asc; uint8_t ascq; @@ -5090,7 +5077,6 @@ scsi_sense_handler (int fd, u_char *sense, void *arg) dump_area(sense, RQS_LENGTH(sense), "SenseBuffer"); sense_key = RQS_SENSEKEY(sense); - asl = RQS_ASL(sense); asc = RQS_ASC(sense); ascq = RQS_ASCQ(sense); @@ -5152,7 +5138,7 @@ scsi_sense_handler (int fd, u_char *sense, void *arg) else if ( asc == 0x3d && ascq == 0x00) DBG(5, "scsi_sense_handler: Invalid bit in IDENTIFY\n"); else if ( asc == 0x2c && ascq == 0x02 ) -/* Ok */ DBG(5, "scsi_sense_handler: Invalid comb. of windows specfied\n"); +/* Ok */ DBG(5, "scsi_sense_handler: Invalid comb. of windows specified\n"); else if ( asc == 0x20 && ascq == 0x00 ) /* Ok */ DBG(5, "scsi_sense_handler: Invalid command opcode\n"); else if ( asc == 0x24 && ascq == 0x00 ) @@ -5503,7 +5489,7 @@ sane_start(SANE_Handle handle) /* create reader routine as new thread or process */ ms->pid = sanei_thread_begin( reader_process,(void*) ms); - if ( ms->pid == -1 ) + if ( !sanei_thread_is_valid (ms->pid) ) { DBG(1, "sane_start: fork failed\n"); status = SANE_STATUS_IO_ERROR; @@ -7279,7 +7265,6 @@ chunky_proc_data(Microtek2_Scanner *ms) { SANE_Status status; Microtek2_Device *md; - Microtek2_Info *mi; uint32_t line; uint8_t *from; int pad; @@ -7292,7 +7277,6 @@ chunky_proc_data(Microtek2_Scanner *ms) DBG(30, "chunky_proc_data: ms=%p\n", (void *) ms); md = ms->dev; - mi = &md->info[md->scan_source]; bits_pp_in = ms->bits_per_pixel_in; bits_pp_out = ms->bits_per_pixel_out; pad = (int) ceil( (double) (ms->ppl * bits_pp_in) / 8.0 ) % 2; @@ -7410,7 +7394,6 @@ segreg_proc_data(Microtek2_Scanner *ms) int color; int save_current_src; int frame; - int right_to_left; DBG(30, "segreg_proc_data: ms=%p\n", (void *) ms); @@ -7420,7 +7403,6 @@ segreg_proc_data(Microtek2_Scanner *ms) pad = (int) ceil( (double) (ms->ppl * ms->bits_per_pixel_in) / 8.0 ) % 2; bpp = ms->bits_per_pixel_out / 8; /* bits_per_pixel_out is either 8 or 16 */ bpf = ms->bpl / 3; - right_to_left = mi->direction & MI_DATSEQ_RTOL; DBG(30, "segreg_proc_data: lines=%d, bpl=%d, ppl=%d, bpf=%d, bpp=%d,\n" "depth=%d, pad=%d, freelines=%d, calib_backend=%d\n", @@ -7688,7 +7670,6 @@ lplconcat_proc_data(Microtek2_Scanner *ms) uint8_t *save_from[3]; int color; int bpp; - int pad; int gamma_by_backend; int right_to_left; /* 0=left to right, 1=right to left */ @@ -7701,7 +7682,6 @@ lplconcat_proc_data(Microtek2_Scanner *ms) mi = &md->info[md->scan_source]; bpp = ms->bits_per_pixel_out / 8; /* ms->bits_per_pixel_out is 8 or 16 */ - pad = (ms->ppl * bpp) % 2; right_to_left = mi->direction & MI_DATSEQ_RTOL; gamma_by_backend = md->model_flags & MD_NO_GAMMA ? 1 : 0; diff --git a/backend/microtek2.h b/backend/microtek2.h index 4100fad..2a1f697 100644 --- a/backend/microtek2.h +++ b/backend/microtek2.h @@ -1307,7 +1307,7 @@ set_option_dependencies(Microtek2_Scanner *, static SANE_Status shading_function(Microtek2_Scanner *, uint8_t *); -static RETSIGTYPE +static void signal_handler (int); static SANE_Status diff --git a/backend/mustek.c b/backend/mustek.c index 7f0db8c..8426dfe 100644 --- a/backend/mustek.c +++ b/backend/mustek.c @@ -1669,7 +1669,7 @@ attach (SANE_String_Const devname, Mustek_Device ** devp, SANE_Bool may_wait) DBG (0, "WARNING: Your scanner was detected by the SANE Mustek backend, " "but\n it is not fully tested. It may or may not work. Be " - "carefull and read\n the PROBLEMS file in the sane directory. " + "careful and read\n the PROBLEMS file in the sane directory. " "Please set the debug level of this\n backend to maximum " "(export SANE_DEBUG_MUSTEK=255) and send the output of\n " "scanimage -L to the SANE mailing list sane-devel@lists.alioth.debian.org. " @@ -2335,16 +2335,14 @@ send_calibration_lines_se (Mustek_Scanner * s, SANE_Word color) SANE_Byte *cmd; size_t buf_size; SANE_Word column; - SANE_Word lines, bytes_per_color; + SANE_Word bytes_per_color; if (s->mode == MUSTEK_MODE_COLOR) { - lines = s->hw->cal.lines * 3; bytes_per_color = s->hw->cal.bytes / 3; } else { - lines = s->hw->cal.lines; bytes_per_color = s->hw->cal.bytes; } @@ -2952,7 +2950,7 @@ do_stop (Mustek_Scanner * s) s->scanning = SANE_FALSE; s->pass = 0; - if (s->reader_pid != -1) + if (sanei_thread_is_valid (s->reader_pid)) { SANE_Int exit_status; struct timeval now; @@ -2983,7 +2981,7 @@ do_stop (Mustek_Scanner * s) sanei_thread_kill (s->reader_pid); pid = sanei_thread_waitpid (s->reader_pid, &exit_status); - if (pid == -1) + if (!sanei_thread_is_valid (pid)) { DBG (1, "do_stop: sanei_thread_waitpid failed, already terminated? (%s)\n", @@ -4826,7 +4824,7 @@ output_data (Mustek_Scanner * s, FILE * fp, DBG (5, "output_data: end\n"); } -static RETSIGTYPE +static void sigterm_handler (int signal) { DBG (4, @@ -6565,7 +6563,7 @@ sane_start (SANE_Handle handle) /* create reader routine as new process or thread */ s->reader_pid = sanei_thread_begin (reader_process, (void *) s); - if (s->reader_pid == -1) + if (!sanei_thread_is_valid (s->reader_pid)) { DBG (1, "sane_start: sanei_thread_begin failed (%s)\n", strerror (errno)); @@ -6593,7 +6591,6 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, { Mustek_Scanner *s = handle; SANE_Status status; - ssize_t ntotal; ssize_t nread; @@ -6617,7 +6614,6 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, DBG (5, "sane_read\n"); *len = 0; - ntotal = 0; if (s->cancelled) { diff --git a/backend/mustek_pp.c b/backend/mustek_pp.c index cd86bb9..9c9a533 100644 --- a/backend/mustek_pp.c +++ b/backend/mustek_pp.c @@ -237,7 +237,7 @@ do_stop(Mustek_pp_Handle *hndl) */ static int fd_to_release = 0; /*ARGSUSED*/ -static RETSIGTYPE +static void sigterm_handler (int signal __UNUSED__) { sanei_pa4s2_enable(fd_to_release, SANE_FALSE); diff --git a/backend/mustek_pp_cis.c b/backend/mustek_pp_cis.c index d5ef86d..96e89f1 100644 --- a/backend/mustek_pp_cis.c +++ b/backend/mustek_pp_cis.c @@ -1526,7 +1526,7 @@ static void cis_get_next_line (Mustek_PP_CIS_dev * dev, SANE_Byte * buf) { SANE_Byte *dest, *tmpbuf = dev->tmpbuf; - int ctr, channel, first, last, stride, ignore, step = dev->CIS.line_step; + int ctr, channel, first, last, stride, step = dev->CIS.line_step; SANE_Byte gotline; if (dev->desc->mode == MODE_COLOR) @@ -1534,14 +1534,12 @@ cis_get_next_line (Mustek_PP_CIS_dev * dev, SANE_Byte * buf) first = MUSTEK_PP_CIS_CHANNEL_RED; last = MUSTEK_PP_CIS_CHANNEL_BLUE; stride = 3; - ignore = 1; /* 1 * 3 channels */ } else { first = MUSTEK_PP_CIS_CHANNEL_GRAY; last = MUSTEK_PP_CIS_CHANNEL_GRAY; stride = 1; - ignore = 3; /* 3 * 1 channel */ } gotline = SANE_FALSE; diff --git a/backend/mustek_usb.c b/backend/mustek_usb.c index 66b1813..58dcc58 100644 --- a/backend/mustek_usb.c +++ b/backend/mustek_usb.c @@ -1572,7 +1572,7 @@ sane_cancel (SANE_Handle handle) else { DBG (4, "sane_cancel: scan has not been initiated yet, " - "or it is allready aborted\n"); + "or it is already aborted\n"); } DBG (5, "sane_cancel: exit\n"); return; diff --git a/backend/mustek_usb2.c b/backend/mustek_usb2.c index 25b8464..58d9e9e 100644 --- a/backend/mustek_usb2.c +++ b/backend/mustek_usb2.c @@ -1270,14 +1270,12 @@ AutoLevel (SANE_Byte *lpSource, SCANMODE scanMode, unsigned short ScanLines, unsigned short R, G, B, max_R, max_G, max_B, min_R, min_G, min_B; float fmax_R, fmax_G, fmax_B; unsigned int sum_R = 0, sum_G = 0, sum_B = 0; - float mean_R, mean_G, mean_B; unsigned int hisgram_R[256], hisgram_G[256], hisgram_B[256]; unsigned int iWidth = BytesPerLine / 3; unsigned int iHeight = ScanLines; SANE_Byte *pbmpdata = (SANE_Byte *) lpSource; - unsigned int tmp = 0; unsigned short imin_threshold[3]; unsigned short imax_threshold[3]; @@ -1350,10 +1348,6 @@ AutoLevel (SANE_Byte *lpSource, SCANMODE scanMode, unsigned short ScanLines, DBG (DBG_INFO, "AutoLevel: Find min , max is over!\n"); - mean_R = (float) (sum_R / TotalImgSize); - mean_G = (float) (sum_G / TotalImgSize); - mean_B = (float) (sum_B / TotalImgSize); - imin_threshold[0] = 0; imin_threshold[1] = 0; @@ -1372,7 +1366,6 @@ AutoLevel (SANE_Byte *lpSource, SCANMODE scanMode, unsigned short ScanLines, } } - tmp = 0; for (ii = 255; ii >= 0; ii--) { if (hisgram_R[ii] > 0) @@ -1383,7 +1376,6 @@ AutoLevel (SANE_Byte *lpSource, SCANMODE scanMode, unsigned short ScanLines, } } - tmp = 0; for (ii = 0; ii < 256; ii++) { if (hisgram_G[ii] > 0) @@ -1394,7 +1386,6 @@ AutoLevel (SANE_Byte *lpSource, SCANMODE scanMode, unsigned short ScanLines, } } - tmp = 0; for (ii = 255; ii >= 0; ii--) { if (hisgram_G[ii] > 0) @@ -1405,7 +1396,6 @@ AutoLevel (SANE_Byte *lpSource, SCANMODE scanMode, unsigned short ScanLines, } } - tmp = 0; for (ii = 0; ii < 256; ii++) { if (hisgram_B[ii] > 0) @@ -1416,7 +1406,6 @@ AutoLevel (SANE_Byte *lpSource, SCANMODE scanMode, unsigned short ScanLines, } } - tmp = 0; for (ii = 255; ii >= 0; ii--) { if (hisgram_B[ii] > 0) diff --git a/backend/mustek_usb2_asic.c b/backend/mustek_usb2_asic.c index 3019e5e..d9b1a28 100644 --- a/backend/mustek_usb2_asic.c +++ b/backend/mustek_usb2_asic.c @@ -1607,7 +1607,6 @@ LLFMotorMove (PAsic chip, LLF_MOTORMOVE * LLF_MotorMove) STATUS status = STATUS_GOOD; unsigned int motor_steps; SANE_Byte temp_motor_action; - SANE_Byte temp_status; DBG (DBG_ASIC, "LLFMotorMove:Enter\n"); @@ -1727,7 +1726,6 @@ LLFMotorMove (PAsic chip, LLF_MOTORMOVE * LLF_MotorMove) SCAN_BACK_TRACKING_DISABLE | temp_motor_action); Mustek_SendData (chip, ES01_F4_ActiveTriger, ACTION_TRIGER_ENABLE); - temp_status = 0; if (LLF_MotorMove->WaitOrNoWait == 1) { if (LLF_MotorMove->ActionType == ACTION_TYPE_BACKTOHOME) @@ -3020,10 +3018,8 @@ SetPackAddress (PAsic chip, unsigned short wXResolution, unsigned short wWidth, { STATUS status = STATUS_GOOD; - unsigned short LineTotalOverlapPixel; SANE_Byte OverLapPixel; SANE_Byte TotalLineShift; - SANE_Byte InvalidPixelNumberBackup; unsigned short SegmentTotalPixel; unsigned int dwLineTotalPixel; unsigned short ValidPixelNumber = *PValidPixelNumber; @@ -3038,7 +3034,6 @@ SetPackAddress (PAsic chip, unsigned short wXResolution, unsigned short wWidth, DBG (DBG_ASIC, "SetPackAddress:Enter\n"); - LineTotalOverlapPixel = 0; OverLapPixel = 0; TotalLineShift = 1; PackAreaUseLine = TotalLineShift + 1; @@ -3067,7 +3062,6 @@ SetPackAddress (PAsic chip, unsigned short wXResolution, unsigned short wWidth, Mustek_SendData (chip, ES01_2C0_VALID_PIXEL_PARAMETER_OF_SEGMENT1 + i, 0); } - LineTotalOverlapPixel = OverLapPixel * 16; FinalLinePixelPerSegment = ValidPixelNumber + OverLapPixel * 2; @@ -3080,8 +3074,6 @@ SetPackAddress (PAsic chip, unsigned short wXResolution, unsigned short wWidth, InValidPixelNumber = 0; } - InvalidPixelNumberBackup = InValidPixelNumber; - Mustek_SendData (chip, ES01_1B0_SEGMENT_PIXEL_NUMBER_LB, LOBYTE (ValidPixelNumber)); Mustek_SendData (chip, ES01_1B1_SEGMENT_PIXEL_NUMBER_HB, @@ -3823,9 +3815,7 @@ Asic_SetWindow (PAsic chip, SANE_Byte bScanBits, unsigned short ValidPixelNumber; - unsigned short wPerLineNeedBufferSize = 0; unsigned short BytePerPixel = 0; - unsigned int dwTotal_PerLineNeedBufferSize = 0; unsigned int dwTotalLineTheBufferNeed = 0; unsigned short dwTotal_CCDResolution = 1200; unsigned short wThinkCCDResolution = 0; @@ -3890,31 +3880,26 @@ Asic_SetWindow (PAsic chip, SANE_Byte bScanBits, /* calculate byte per line */ if (bScanBits > 24) { - wPerLineNeedBufferSize = wWidth * 6; BytePerPixel = 6; chip->dwBytesCountPerRow = (unsigned int) (wWidth) * 6; } else if (bScanBits == 24) { - wPerLineNeedBufferSize = wWidth * 3; BytePerPixel = 3; chip->dwBytesCountPerRow = (unsigned int) (wWidth) * 3; } else if ((bScanBits > 8) && (bScanBits <= 16)) { - wPerLineNeedBufferSize = wWidth * 2; BytePerPixel = 2; chip->dwBytesCountPerRow = (unsigned int) (wWidth) * 2; } else if ((bScanBits == 8)) { - wPerLineNeedBufferSize = wWidth; BytePerPixel = 1; chip->dwBytesCountPerRow = (unsigned int) (wWidth); } else if ((bScanBits < 8)) { - wPerLineNeedBufferSize = wWidth >> 3; BytePerPixel = 1; chip->dwBytesCountPerRow = (unsigned int) (wWidth); } @@ -3983,7 +3968,6 @@ Asic_SetWindow (PAsic chip, SANE_Byte bScanBits, } } - dwTotal_PerLineNeedBufferSize = wPerLineNeedBufferSize; dwTotalLineTheBufferNeed = wLength; chip->Scan.Dpi = wXResolution; @@ -4318,7 +4302,7 @@ Asic_SetSource (PAsic chip, LIGHTSOURCE lsLightSource) DBG (DBG_ASIC, "Asic_SetSource: Source is Reflect\n"); break; case 2: - DBG (DBG_ASIC, "Asic_SetSource: Source is Postion\n"); + DBG (DBG_ASIC, "Asic_SetSource: Source is Position\n"); break; case 4: DBG (DBG_ASIC, "Asic_SetSource: Source is Negtive\n"); @@ -4848,7 +4832,6 @@ Asic_SetCalibrate (PAsic chip, SANE_Byte bScanBits, unsigned short wXResolution, unsigned short wPerLineNeedBufferSize = 0; unsigned short BytePerPixel = 0; - unsigned int dwTotal_PerLineNeedBufferSize = 0; unsigned int dwTotalLineTheBufferNeed = 0; unsigned short dwTotal_CCDResolution = 0; unsigned short wThinkCCDResolution = 0; @@ -4952,7 +4935,6 @@ Asic_SetCalibrate (PAsic chip, SANE_Byte bScanBits, unsigned short wXResolution, wPerLineNeedBufferSize, BytePerPixel, chip->dwBytesCountPerRow); - dwTotal_PerLineNeedBufferSize = wPerLineNeedBufferSize; dwTotalLineTheBufferNeed = wLength; DBG (DBG_ASIC, "wPerLineNeedBufferSize=%d,wLength=%d\n", wPerLineNeedBufferSize, wLength); diff --git a/backend/mustek_usb2_high.c b/backend/mustek_usb2_high.c index a10dbc7..664528e 100644 --- a/backend/mustek_usb2_high.c +++ b/backend/mustek_usb2_high.c @@ -1696,7 +1696,6 @@ static SANE_Bool MustScanner_GetRgb24BitLine1200DPI (SANE_Byte * lpLine, SANE_Bool isOrderInvert, unsigned short * wLinesCount) { - SANE_Byte *lpTemp; unsigned short wWantedTotalLines; unsigned short TotalXferLines; unsigned short wRLinePosOdd = 0; @@ -1717,7 +1716,6 @@ MustScanner_GetRgb24BitLine1200DPI (SANE_Byte * lpLine, SANE_Bool isOrderInvert, g_isScanning = TRUE; TotalXferLines = 0; wWantedTotalLines = *wLinesCount; - lpTemp = lpLine; if (g_bFirstReadImage) { diff --git a/backend/nec.c b/backend/nec.c index c7af955..d5179d3 100644 --- a/backend/nec.c +++ b/backend/nec.c @@ -2823,7 +2823,7 @@ send_threshold_data(NEC_Scanner *s) SANE_Status sane_start (SANE_Handle handle) { - char *mode, *halftone, *paper, *gamma, *edge, *lightcolor, *adf_fsu; + char *mode, *halftone, *gamma, *edge, *lightcolor, *adf_fsu; NEC_Scanner *s = handle; SANE_Status status; size_t buf_size; @@ -2953,7 +2953,6 @@ sane_start (SANE_Handle handle) mode = s->val[OPT_MODE].s; halftone = s->val[OPT_HALFTONE].s; - paper = s->val[OPT_PAPER].s; gamma = s->val[OPT_GAMMA].s; edge = s->val[OPT_EDGE_EMPHASIS].s; lightcolor = s->val[OPT_LIGHTCOLOR].s; diff --git a/backend/net.c b/backend/net.c index 4beb45d..57889a2 100644 --- a/backend/net.c +++ b/backend/net.c @@ -846,15 +846,15 @@ net_avahi_callback (AvahiClient *c, AvahiClientState state, void * userdata) if (error == AVAHI_ERR_DISCONNECTED) { /* Server disappeared - try to reconnect */ - avahi_client_free (avahi_client); - avahi_client = NULL; - if (avahi_browser) { avahi_service_browser_free (avahi_browser); avahi_browser = NULL; } + avahi_client_free (avahi_client); + avahi_client = NULL; + avahi_client = avahi_client_new (avahi_threaded_poll_get (avahi_thread), AVAHI_CLIENT_NO_FAIL, net_avahi_callback, NULL, &error); if (avahi_client == NULL) { diff --git a/backend/niash.c b/backend/niash.c index 950df21..bbc90d3 100644 --- a/backend/niash.c +++ b/backend/niash.c @@ -1491,7 +1491,7 @@ sane_set_io_mode (SANE_Handle __sane_unused__ h, SANE_Bool m) SANE_Status -sane_get_select_fd (SANE_Handle __sane_unused__ h, SANE_Int * __sane_unused__ fd) +sane_get_select_fd (SANE_Handle __sane_unused__ h, SANE_Int __sane_unused__ * fd) { DBG (DBG_MSG, "sane_select_fd\n"); return SANE_STATUS_UNSUPPORTED; diff --git a/backend/niash_core.c b/backend/niash_core.c index e3ae2b8..b87f4f6 100644 --- a/backend/niash_core.c +++ b/backend/niash_core.c @@ -645,9 +645,6 @@ InitScan (TScanParams * pParams, THWParams * pHWParams) int iHeight; int iExpTime; TScanParams Params; - int iHandle; - - iHandle = pHWParams->iXferHandle; /* check validity of scanparameters */ switch (pParams->iDpi) @@ -1228,7 +1225,7 @@ SimpleCalibExt (THWParams * pHWPar, unsigned char *pabCalibTable, SANE_Bool iReversedHead; int startWhiteY, endWhiteY; int startBlackY, endBlackY; - int startBlackX, endBlackX; + int endBlackX; iHandle = pHWPar->iXferHandle; iReversedHead = pHWPar->iReversedHead; @@ -1265,7 +1262,6 @@ SimpleCalibExt (THWParams * pHWPar, unsigned char *pabCalibTable, endWhiteY = 15; startBlackY = 16; endBlackY = 135; - startBlackX = 0; endBlackX = HW_PIXELS; } else @@ -1274,7 +1270,6 @@ SimpleCalibExt (THWParams * pHWPar, unsigned char *pabCalibTable, endWhiteY = 70; startBlackY = 86; endBlackY = 135; - startBlackX = 1666; endBlackX = 3374; } diff --git a/backend/p5_device.c b/backend/p5_device.c index c065ca2..924144e 100644 --- a/backend/p5_device.c +++ b/backend/p5_device.c @@ -214,19 +214,19 @@ read_data (int fd, uint8_t * data, int length) static void index_write_data (int fd, uint8_t index, uint8_t * data, int length) { - int mode, rc; + int mode; unsigned char bval; bval = index; mode = IEEE1284_MODE_EPP | IEEE1284_ADDR; - rc = ioctl (fd, PPSETMODE, &mode); - rc = write (fd, &bval, 1); + ioctl (fd, PPSETMODE, &mode); + write (fd, &bval, 1); mode = IEEE1284_MODE_EPP | IEEE1284_DATA; - rc = ioctl (fd, PPSETMODE, &mode); + ioctl (fd, PPSETMODE, &mode); mode = 0; /* data forward */ - rc = ioctl (fd, PPDATADIR, &mode); - rc = write (fd, data, length); + ioctl (fd, PPDATADIR, &mode); + write (fd, data, length); return; } @@ -469,7 +469,7 @@ setadresses (int fd, uint16_t start, uint16_t end) static int open_pp (const char *devicename) { - int fd, rc, mode = 0; + int fd, mode = 0; char *name; DBG (DBG_proc, "open_pp: start, devicename=%s\n", devicename); @@ -512,8 +512,8 @@ open_pp (const char *devicename) free(name); /* claim device and set it to EPP */ - rc = ioctl (fd, PPCLAIM); - rc = ioctl (fd, PPGETMODES, &mode); + ioctl (fd, PPCLAIM); + ioctl (fd, PPGETMODES, &mode); if (mode & PARPORT_MODE_PCSPP) DBG (DBG_io, "PARPORT_MODE_PCSPP\n"); if (mode & PARPORT_MODE_TRISTATE) @@ -546,12 +546,12 @@ open_pp (const char *devicename) if (mode == -1) { DBG (DBG_error, "open_pp: no EPP mode, giving up ...\n"); - rc = ioctl (fd, PPRELEASE); + ioctl (fd, PPRELEASE); close (fd); return -1; } - rc = ioctl (fd, PPNEGOT, &mode); - rc = ioctl (fd, PPSETMODE, &mode); + ioctl (fd, PPNEGOT, &mode); + ioctl (fd, PPSETMODE, &mode); DBG (DBG_proc, "open_pp: exit\n"); return fd; } diff --git a/backend/pie.c b/backend/pie.c index 941ed62..76cbb47 100644 --- a/backend/pie.c +++ b/backend/pie.c @@ -2781,7 +2781,7 @@ pie_reader_process (Pie_Scanner * scanner, FILE * fp) /* --------------------------------- READER PROCESS SIGTERM HANDLER ------------ */ -static RETSIGTYPE +static void reader_process_sigterm_handler (int signal) { DBG (DBG_sane_info, "reader_process: terminated by signal %d\n", signal); @@ -2896,7 +2896,7 @@ do_cancel (Pie_Scanner * scanner) scanner->scanning = SANE_FALSE; - if (scanner->reader_pid != -1) + if (sanei_thread_is_valid (scanner->reader_pid)) { DBG (DBG_sane_info, "killing reader_process\n"); sanei_thread_kill (scanner->reader_pid); @@ -3703,7 +3703,7 @@ sane_start (SANE_Handle handle) scanner->reader_fds = fds[1]; scanner->reader_pid = sanei_thread_begin( reader_process, (void*)scanner ); - if (scanner->reader_pid == -1) + if (!sanei_thread_is_valid (scanner->reader_pid)) { DBG (1, "sane_start: sanei_thread_begin failed (%s)\n", strerror (errno)); diff --git a/backend/pieusb.c b/backend/pieusb.c index 4b07304..9730888 100644 --- a/backend/pieusb.c +++ b/backend/pieusb.c @@ -109,6 +109,10 @@ extern void write_tiff_rgbi_header (FILE *fptr, int width, int height, int depth #define DBG_info_scan 11 /* information scanner commands */ #define DBG_info_usb 13 /* information usb level functions */ +/* device flags */ + +#define FLAG_SLIDE_TRANSPORT 0x01 + /* -------------------------------------------------------------------------- * * SUPPORTED DEVICES SPECIFICS @@ -150,7 +154,8 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback __sane_unused__ authorize char config_line[PATH_MAX]; SANE_Word vendor_id; SANE_Word product_id; - SANE_Word model_number; + SANE_Int model_number; + SANE_Int flags; SANE_Status status; int i; @@ -183,18 +188,22 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback __sane_unused__ authorize pieusb_supported_usb_device_list[0].vendor = 0x05e3; pieusb_supported_usb_device_list[0].product = 0x0145; pieusb_supported_usb_device_list[0].model = 0x30; + pieusb_supported_usb_device_list[0].flags = 0; /* Reflecta ProScan 7200, model number 0x36 */ pieusb_supported_usb_device_list[1].vendor = 0x05e3; pieusb_supported_usb_device_list[1].product = 0x0145; pieusb_supported_usb_device_list[1].model = 0x36; - /* Reflecta 6000 Multiple Slide Scanner */ + pieusb_supported_usb_device_list[1].flags = 0; + /* Reflecta 6000 Multiple Slide Scanner, model number 0x3a */ pieusb_supported_usb_device_list[2].vendor = 0x05e3; pieusb_supported_usb_device_list[2].product = 0x0142; pieusb_supported_usb_device_list[2].model = 0x3a; + pieusb_supported_usb_device_list[2].flags = FLAG_SLIDE_TRANSPORT; /* end of list */ pieusb_supported_usb_device_list[3].vendor = 0; pieusb_supported_usb_device_list[3].product = 0; pieusb_supported_usb_device_list[3].model = 0; + pieusb_supported_usb_device_list[3].flags = 0; /* Add entries from config file */ fp = sanei_config_open (PIEUSB_CONFIG_FILE); @@ -209,14 +218,14 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback __sane_unused__ authorize if (strncmp (config_line, "usb ", 4) != 0) continue; /* Parse vendor-id, product-id and model number and add to list */ DBG (DBG_info_sane, "sane_init() config file parsing %s\n", config_line); - status = sanei_pieusb_parse_config_line(config_line, &vendor_id, &product_id, &model_number); + status = sanei_pieusb_parse_config_line(config_line, &vendor_id, &product_id, &model_number, &flags); if (status == SANE_STATUS_GOOD) { - DBG (DBG_info_sane, "sane_init() config file lists device %04x %04x %02x\n",vendor_id, product_id, model_number); - if (!sanei_pieusb_supported_device_list_contains(vendor_id, product_id, model_number)) { - DBG (DBG_info_sane, "sane_init() adding device %04x %04x %02x\n",vendor_id, product_id, model_number); - sanei_pieusb_supported_device_list_add(vendor_id, product_id, model_number); + DBG (DBG_info_sane, "sane_init() config file lists device %04x %04x %02x %02x\n",vendor_id, product_id, model_number, flags); + if (!sanei_pieusb_supported_device_list_contains(vendor_id, product_id, model_number, flags)) { + DBG (DBG_info_sane, "sane_init() adding device %04x %04x %02x %02x\n",vendor_id, product_id, model_number, flags); + sanei_pieusb_supported_device_list_add(vendor_id, product_id, model_number, flags); } else { - DBG (DBG_info_sane, "sane_init() list already contains %04x %04x %02x\n", vendor_id, product_id, model_number); + DBG (DBG_info_sane, "sane_init() list already contains %04x %04x %02x %02x\n", vendor_id, product_id, model_number, flags); } } else { DBG (DBG_info_sane, "sane_init() config file parsing %s: error\n", config_line); @@ -235,8 +244,13 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback __sane_unused__ authorize pieusb_supported_usb_device.vendor = pieusb_supported_usb_device_list[i].vendor; pieusb_supported_usb_device.product = pieusb_supported_usb_device_list[i].product; pieusb_supported_usb_device.model = pieusb_supported_usb_device_list[i].model; + pieusb_supported_usb_device.flags = pieusb_supported_usb_device_list[i].flags; pieusb_supported_usb_device.device_number = -1; /* No device number (yet) */ - DBG( DBG_info_sane, "sane_init() looking for Reflecta scanner %04x %04x model %02x\n", pieusb_supported_usb_device.vendor, pieusb_supported_usb_device.product, pieusb_supported_usb_device.model); + DBG( DBG_info_sane, "sane_init() looking for scanner %04x %04x model %02x, flags %02x\n", + pieusb_supported_usb_device.vendor, + pieusb_supported_usb_device.product, + pieusb_supported_usb_device.model, + pieusb_supported_usb_device.flags); sanei_usb_find_devices (pieusb_supported_usb_device.vendor, pieusb_supported_usb_device.product, sanei_pieusb_find_device_callback); i++; } @@ -354,6 +368,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) pieusb_supported_usb_device.vendor = vendor; pieusb_supported_usb_device.product = product; pieusb_supported_usb_device.model = pieusb_supported_usb_device_list[i].model; + pieusb_supported_usb_device.flags = pieusb_supported_usb_device_list[i].flags; pieusb_supported_usb_device.device_number = -1; sanei_usb_find_devices (vendor, product, sanei_pieusb_find_device_callback); if (pieusb_supported_usb_device.device_number == -1) { @@ -994,17 +1009,18 @@ sane_start (SANE_Handle handle) * * ---------------------------------------------------------------------- */ - sanei_pieusb_cmd_17 (scanner->device_number, 1, &status); - if (status.pieusb_status != PIEUSB_STATUS_GOOD) { - DBG (DBG_error, "sane_start(): sanei_pieusb_cmd_17 failed: %d\n", status.pieusb_status); - return SANE_STATUS_IO_ERROR; - } - st = sanei_pieusb_wait_ready (scanner, 0); - if (st != SANE_STATUS_GOOD) { - DBG (DBG_error, "sane_start(): scanner not ready after sanei_pieusb_cmd_17: %d\n", st); - return st; + if (scanner->device->flags & FLAG_SLIDE_TRANSPORT) { + sanei_pieusb_cmd_17 (scanner->device_number, 1, &status); + if (status.pieusb_status != PIEUSB_STATUS_GOOD) { + DBG (DBG_error, "sane_start(): sanei_pieusb_cmd_17 failed: %d\n", status.pieusb_status); + return SANE_STATUS_IO_ERROR; + } + st = sanei_pieusb_wait_ready (scanner, 0); + if (st != SANE_STATUS_GOOD) { + DBG (DBG_error, "sane_start(): scanner not ready after sanei_pieusb_cmd_17: %d\n", st); + return st; + } } - /* ---------------------------------------------------------------------- * * Get & set initial gains and offsets @@ -1039,20 +1055,21 @@ sane_start (SANE_Handle handle) /* ---------------------------------------------------------------------- * - * Lamp on + * Init slide transport * * ---------------------------------------------------------------------- */ - sanei_pieusb_cmd_slide (scanner->device_number, SLIDE_LAMP_ON, &status); - if (status.pieusb_status != PIEUSB_STATUS_GOOD) { - DBG (DBG_error, "sane_start(): sanei_pieusb_cmd_slide failed: %d\n", status.pieusb_status); - return SANE_STATUS_IO_ERROR; - } - st = sanei_pieusb_wait_ready (scanner, 0); - if (st != SANE_STATUS_GOOD) { - DBG (DBG_error, "sane_start: scanner not ready %d\n", st); - return st; + if (scanner->device->flags & FLAG_SLIDE_TRANSPORT) { + sanei_pieusb_cmd_slide (scanner->device_number, SLIDE_INIT, &status); + if (status.pieusb_status != PIEUSB_STATUS_GOOD) { + DBG (DBG_error, "sane_start(): sanei_pieusb_cmd_slide failed: %d\n", status.pieusb_status); + return SANE_STATUS_IO_ERROR; + } + st = sanei_pieusb_wait_ready (scanner, 0); + if (st != SANE_STATUS_GOOD) { + DBG (DBG_error, "sane_start: scanner not ready %d\n", st); + return st; + } } - /* Enter SCAN phase 1 */ DBG (DBG_info_sane, "sane_start(): scan phase 1\n"); @@ -1200,12 +1217,14 @@ sane_start (SANE_Handle handle) * Advance to next slide (except for preview) * * ---------------------------------------------------------------------- */ - if (scanner->val[OPT_ADVANCE_SLIDE].b && !scanner->val[OPT_PREVIEW].b) { - sanei_pieusb_cmd_slide (scanner->device_number, SLIDE_NEXT, &status); - if (status.pieusb_status != PIEUSB_STATUS_GOOD) { - DBG (DBG_error, "sane_start(): sanei_pieusb_cmd_slide failed: %d\n", status.pieusb_status); - } + if (scanner->device->flags & FLAG_SLIDE_TRANSPORT) { + if (scanner->val[OPT_ADVANCE_SLIDE].b && !scanner->val[OPT_PREVIEW].b) { + sanei_pieusb_cmd_slide (scanner->device_number, SLIDE_NEXT, &status); + if (status.pieusb_status != PIEUSB_STATUS_GOOD) { + DBG (DBG_error, "sane_start(): sanei_pieusb_cmd_slide failed: %d\n", status.pieusb_status); + } + } } /* ---------------------------------------------------------------------- diff --git a/backend/pieusb.conf.in b/backend/pieusb.conf.in index ec5ba7e..8904d3d 100644 --- a/backend/pieusb.conf.in +++ b/backend/pieusb.conf.in @@ -1,9 +1,20 @@ # pieusb.conf: Configuration file for PIE/Reflecta USB scanner # Read man sane-pieusb for documentation -# Autodetect -# Reflecta 6000 Multiple Slide Scanner -usb 0x05e3 0x0142 +# Format +# usb +# +# Autodetect (built-in) +# Reflecta DigitDia 6000 Multiple Slide Scanner +# usb 0x05e3 0x0142 0x3a 0x01 # Reflecta CrystalScan 7200 +# usb 0x05e3 0x0145 0x30 0x00 # Reflecta ProScan 7200 -usb 0x05e3 0x0145 +# usb 0x05e3 0x0145 0x36 0x00 + +# Reflecta ProScan 10T +usb 0x05e3 0x0145 0x47 0x00 +# Reflecta CrystalScan 3600 +usb 0x05e3 0x0145 0x2e 0x00 +# Reflecta DigitDia 4000 +usb 0x05e3 0x0142 0x2f 0x00 diff --git a/backend/pieusb.h b/backend/pieusb.h index 10ce106..dc4cda7 100644 --- a/backend/pieusb.h +++ b/backend/pieusb.h @@ -80,6 +80,7 @@ struct Pieusb_USB_Device_Entry SANE_Word product; /* USB product identifier */ SANE_Word model; /* USB model number */ SANE_Int device_number; /* USB device number if the device is present */ + SANE_Int flags; /* flags */ }; extern struct Pieusb_USB_Device_Entry* pieusb_supported_usb_device_list; diff --git a/backend/pieusb_buffer.c b/backend/pieusb_buffer.c index 53bd867..8c67a65 100644 --- a/backend/pieusb_buffer.c +++ b/backend/pieusb_buffer.c @@ -100,15 +100,8 @@ #include #include #include -#include -/* When creating the release backend, make complains about unresolved external - * le16toh, although it finds the include */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - #define le16toh(x) (x) -#else - #define le16toh(x) __bswap_16 (x) -#endif +#include "byteorder.h" static void buffer_update_read_index(struct Pieusb_Read_Buffer* buffer, int increment); @@ -163,7 +156,7 @@ sanei_pieusb_buffer_create(struct Pieusb_Read_Buffer* buffer, SANE_Int width, SA snprintf(buffer->buffer_name, L_tmpnam, "/tmp/sane.XXXXXX"); if (buffer->data_file != 0) /* might still be open from previous invocation */ close(buffer->data_file); - buffer->data_file = mkostemp(buffer->buffer_name, O_RDWR | O_CREAT | O_EXCL | O_TRUNC); + buffer->data_file = mkstemp(buffer->buffer_name); if (buffer->data_file == -1) { buffer->data_file = 0; buffer->data = NULL; diff --git a/backend/pieusb_scancmd.c b/backend/pieusb_scancmd.c index a86f8fe..672716f 100644 --- a/backend/pieusb_scancmd.c +++ b/backend/pieusb_scancmd.c @@ -212,7 +212,7 @@ sanei_pieusb_cmd_test_unit_ready(SANE_Int device_number, struct Pieusb_Command_S /** * slide action - * @param action SLIDE_NEXT, SLIDE_PREV, SLIDE_LAMP_ON, SLIDE_RELOAD + * @param action SLIDE_NEXT, SLIDE_PREV, SLIDE_INIT, SLIDE_RELOAD * @return Pieusb_Command_Status */ @@ -294,57 +294,6 @@ sanei_pieusb_cmd_get_sense(SANE_Int device_number, struct Pieusb_Sense* sense, s free(sd); } -/** - * Read the halftone pattern with the specified index. This requires two - * commands, one to ask the device to prepare the pattern, and one to read it. - * - * @param device_number Device number - * @param index index of halftone pattern - * @param pattern Halftone pattern (not implemented) - * @return Pieusb_Command_Status - * @see Pieusb_Halftone_Pattern - */ -void -sanei_pieusb_cmd_get_halftone_pattern(SANE_Int device_number, SANE_Int index, struct Pieusb_Halftone_Pattern* pattern, struct Pieusb_Command_Status *status) -{ - SANE_Byte command[SCSI_COMMAND_LEN]; -#define PATTERN_SIZE 256 /* Assumed maximum pattern size */ - SANE_Int size = PATTERN_SIZE; - SANE_Byte data[PATTERN_SIZE]; - int psize; - SANE_Char* desc; - PIEUSB_Status st; - - DBG (DBG_info_scan, "sanei_pieusb_cmd_get_halftone_pattern()\n"); - - /* Ask scanner to prepare the pattern with the given index. Only SCSI_COMMAND_LEN bytes of data. */ - _prep_scsi_cmd(command, SCSI_WRITE, SCSI_COMMAND_LEN); - memset(data, '\0', SCSI_COMMAND_LEN); - data[0] = SCSI_HALFTONE_PATTERN | 0x80; /* set bit 7 means prepare read */ - data[4] = index; - - st = sanei_pieusb_command(device_number, command, data, SCSI_COMMAND_LEN); - if (st != PIEUSB_STATUS_GOOD) { - status->pieusb_status = st; - /* FIXME */ - return; - } - - /* Read pattern */ - _prep_scsi_cmd(command, SCSI_READ, size); - - memset(data, '\0', size); - status->pieusb_status = sanei_pieusb_command (device_number, command, data, size); - - /*FIXME: analyse */ - fprintf(stderr, "Halftone pattern %d:\n", index); - psize = (data[3]<<8) + data[2]; - desc = (SANE_Char*)(data + 4 + psize); - data[4 + psize + 16] = '\0'; - fprintf(stderr,"Descr. offset from byte 4 = %d, %16s, index = %d, size = %dx%d\n", psize, desc, data[4]&0x7F, data[6], data[7]); -#undef PATTERN_SIZE -} - /** * Read the scan frame with the specified index. This requires two * commands, one to ask the device to prepare the pattern, and one to read it. @@ -425,38 +374,6 @@ sanei_pieusb_cmd_17(SANE_Int device_number, SANE_Int value, struct Pieusb_Comman } } -/** - * Read the relative exposure time for the specified colorbits. This requires two - * commands, one to ask the device to prepare the value, and one to read it. - * - * @param device_number Device number - * @param time Relative exposure time(s) - * @return Pieusb_Command_Status - * @see Pieusb_Exposure_Time - */ -void -sanei_pieusb_cmd_get_exposure_time(SANE_Int device_number, SANE_Int colorbits, struct Pieusb_Exposure_Time* time, struct Pieusb_Command_Status *status) -{ - DBG (DBG_info_scan, "sanei_pieusb_cmd_get_exposure_time(): not implemented\n"); - status->pieusb_status = PIEUSB_STATUS_INVAL; -} - -/** - * Read the highlight and shadow levels with the specified colorbits. This requires two - * commands, one to ask the device to prepare the value, and one to read it. - * - * @param device_number Device number - * @param hgltshdw Highlight and shadow level(s) - * @return Pieusb_Command_Status - * @see Pieusb_Highlight_Shadow - */ -void -sanei_pieusb_cmd_get_highlight_shadow(SANE_Int device_number, SANE_Int colorbits, struct Pieusb_Highlight_Shadow* hgltshdw, struct Pieusb_Command_Status *status) -{ - DBG (DBG_info_scan, "sanei_pieusb_cmd_get_highlight_shadow(): not implemented\n"); - status->pieusb_status = PIEUSB_STATUS_INVAL; -} - /** * Read the shading data parameters. This requires two * commands, one to ask the device to prepare the value, and one to read it. @@ -551,23 +468,6 @@ sanei_pieusb_cmd_get_scanned_lines(SANE_Int device_number, SANE_Byte* data, SANE status->pieusb_status = sanei_pieusb_command (device_number, command, data, size); } -/** - * Set the halftone pattern with the given index to the specified pattern. The - * command is a SCSI WRITE command (code 0x0A, write code 0x11). - * - * @param device_number Device number - * @param index Pattern index (0-7) - * @param pattern Halftone pattern (not implemented) - * @return Pieusb_Command_Status - * @see Pieusb_Halftone_Pattern - */ -void -sanei_pieusb_cmd_set_halftone_pattern(SANE_Int device_number, SANE_Int index, struct Pieusb_Halftone_Pattern* pattern, struct Pieusb_Command_Status *status) -{ - DBG (DBG_info_scan, "sanei_pieusb_cmd_set_halftone_pattern(): not implemented\n"); - status->pieusb_status = PIEUSB_STATUS_INVAL; -} - /** * Set the scan frame with the given index to the frame. The command is a SCSI * WRITE command (code SCSI_WRITE, write code SCSI_SCAN_FRAME). @@ -682,24 +582,6 @@ sanei_pieusb_cmd_set_highlight_shadow(SANE_Int device_number, struct Pieusb_High #undef HIGHLIGHT_SHADOW_SIZE } -/** - * Set the CCD-mask for the colors set in the given color bit mask. The mask - * array must contain mask_size. The command is a SCSI WRITE command - * (code 0x0A, write code 0x16). - * (The command is able to handle more masks at once, but that is not implemented.) - * - * @param device_number Device number - * @param colorbits 0000RGB0 color bit mask; at least one color bit must be set - * @param mask CCD mask to use - * @return Pieusb_Command_Status - */ -void -sanei_pieusb_cmd_set_ccd_mask(SANE_Int device_number, SANE_Byte colorbits, SANE_Byte* mask, SANE_Int mask_size, struct Pieusb_Command_Status *status) -{ - DBG (DBG_info_scan, "sanei_pieusb_cmd_set_ccd_mask(): not implemented\n"); - status->pieusb_status = PIEUSB_STATUS_INVAL; -} - /* SCSI PARAM, code 0x0F */ /** * Get the parameters of an executed scan, such as width, lines and bytes, which diff --git a/backend/pieusb_scancmd.h b/backend/pieusb_scancmd.h index 0dee646..5eefa55 100644 --- a/backend/pieusb_scancmd.h +++ b/backend/pieusb_scancmd.h @@ -318,7 +318,7 @@ struct Pieusb_Command_Status { typedef struct Pieusb_Scanner_Properties Pieusb_Scanner_Properties; typedef enum { - SLIDE_NEXT = 0x04, SLIDE_PREV = 0x05, SLIDE_LAMP_ON = 0x10, SLIDE_RELOAD = 0x40 + SLIDE_NEXT = 0x04, SLIDE_PREV = 0x05, SLIDE_INIT = 0x10, SLIDE_RELOAD = 0x40 } slide_action; void sanei_pieusb_cmd_slide(SANE_Int device_number, slide_action action, struct Pieusb_Command_Status *status); diff --git a/backend/pieusb_specific.c b/backend/pieusb_specific.c index 8231075..ce107cf 100644 --- a/backend/pieusb_specific.c +++ b/backend/pieusb_specific.c @@ -292,6 +292,8 @@ sanei_pieusb_find_device_callback (const char *devicename) return SANE_STATUS_INVAL; } + dev->flags = pieusb_supported_usb_device.flags; + /* Found a supported scanner, put it in the definitions list*/ DBG (DBG_info_proc, "sanei_pieusb_find_device_callback: success\n"); dev->next = pieusb_definition_list_head; @@ -996,18 +998,23 @@ sanei_pieusb_init_options (Pieusb_Scanner* scanner) } /** - * Parse line from config file into a vendor id, product id and a model number + * Parse line from config file into a vendor id, product id, model number, and flags * * @param config_line Text to parse * @param vendor_id * @param product_id * @param model_number + * @param flags * @return SANE_STATUS_GOOD, or SANE_STATUS_INVAL in case of a parse error */ SANE_Status -sanei_pieusb_parse_config_line(const char* config_line, SANE_Word* vendor_id, SANE_Word* product_id, SANE_Word* model_number) +sanei_pieusb_parse_config_line(const char* config_line, + SANE_Word* vendor_id, + SANE_Word* product_id, + SANE_Int* model_number, + SANE_Int* flags) { - char *vendor_id_string, *product_id_string, *model_number_string; + char *vendor_id_string, *product_id_string, *model_number_string, *flags_string; if (strncmp (config_line, "usb ", 4) != 0) { return SANE_STATUS_INVAL; @@ -1041,12 +1048,12 @@ sanei_pieusb_parse_config_line(const char* config_line, SANE_Word* vendor_id, SA } else { return SANE_STATUS_INVAL; } - /* Detect product-id */ + /* Detect model number */ config_line = sanei_config_skip_whitespace (config_line); if (*config_line) { config_line = sanei_config_get_string (config_line, &model_number_string); if (model_number_string) { - *model_number = strtol (model_number_string, 0, 0); + *model_number = (SANE_Int) strtol (model_number_string, 0, 0); free (model_number_string); } else { return SANE_STATUS_INVAL; @@ -1055,6 +1062,16 @@ sanei_pieusb_parse_config_line(const char* config_line, SANE_Word* vendor_id, SA } else { return SANE_STATUS_INVAL; } + /* Detect (optional) flags */ + *flags = 0; + config_line = sanei_config_skip_whitespace (config_line); + if (*config_line) { + config_line = sanei_config_get_string (config_line, &flags_string); + if (flags_string) { + *flags = (SANE_Int) strtol (flags_string, 0, 0); + free (flags_string); + } + } return SANE_STATUS_GOOD; } @@ -1064,16 +1081,18 @@ sanei_pieusb_parse_config_line(const char* config_line, SANE_Word* vendor_id, SA * @param vendor_id * @param product_id * @param model_number + * @param flags * @return */ SANE_Bool -sanei_pieusb_supported_device_list_contains(SANE_Word vendor_id, SANE_Word product_id, SANE_Word model_number) +sanei_pieusb_supported_device_list_contains(SANE_Word vendor_id, SANE_Word product_id, SANE_Int model_number, SANE_Int flags) { int i = 0; while (pieusb_supported_usb_device_list[i].vendor != 0) { if (pieusb_supported_usb_device_list[i].vendor == vendor_id && pieusb_supported_usb_device_list[i].product == product_id - && pieusb_supported_usb_device_list[i].model == model_number) { + && pieusb_supported_usb_device_list[i].model == model_number + && pieusb_supported_usb_device_list[i].flags == flags) { return SANE_TRUE; } i++; @@ -1086,10 +1105,11 @@ sanei_pieusb_supported_device_list_contains(SANE_Word vendor_id, SANE_Word produ * @param vendor_id * @param product_id * @param model_number + * @param flags * @return */ SANE_Status -sanei_pieusb_supported_device_list_add(SANE_Word vendor_id, SANE_Word product_id, SANE_Word model_number) +sanei_pieusb_supported_device_list_add(SANE_Word vendor_id, SANE_Word product_id, SANE_Int model_number, SANE_Int flags) { int i = 0, k; struct Pieusb_USB_Device_Entry* dl; @@ -1099,10 +1119,11 @@ sanei_pieusb_supported_device_list_add(SANE_Word vendor_id, SANE_Word product_id } /* i is index of last entry */ for (k=0; k<=i; k++) { - DBG(DBG_info_proc,"sanei_pieusb_supported_device_list_add(): current %03d: %04x %04x %02x\n", i, + DBG(DBG_info_proc,"sanei_pieusb_supported_device_list_add(): current %03d: %04x %04x %02x %02x\n", i, pieusb_supported_usb_device_list[k].vendor, pieusb_supported_usb_device_list[k].product, - pieusb_supported_usb_device_list[k].model); + pieusb_supported_usb_device_list[k].model, + pieusb_supported_usb_device_list[k].flags); } dl = realloc(pieusb_supported_usb_device_list,(i+2)*sizeof(struct Pieusb_USB_Device_Entry)); /* Add one entry to list */ @@ -1114,14 +1135,17 @@ sanei_pieusb_supported_device_list_add(SANE_Word vendor_id, SANE_Word product_id pieusb_supported_usb_device_list[i].vendor = vendor_id; pieusb_supported_usb_device_list[i].product = product_id; pieusb_supported_usb_device_list[i].model = model_number; + pieusb_supported_usb_device_list[i].flags = flags; pieusb_supported_usb_device_list[i+1].vendor = 0; pieusb_supported_usb_device_list[i+1].product = 0; pieusb_supported_usb_device_list[i+1].model = 0; + pieusb_supported_usb_device_list[i+1].flags = 0; for (k=0; k<=i+1; k++) { - DBG(DBG_info_proc,"sanei_pieusb_supported_device_list_add() add: %03d: %04x %04x %02x\n", i, + DBG(DBG_info_proc,"sanei_pieusb_supported_device_list_add() add: %03d: %04x %04x %02x %02x\n", i, pieusb_supported_usb_device_list[k].vendor, pieusb_supported_usb_device_list[k].product, - pieusb_supported_usb_device_list[k].model); + pieusb_supported_usb_device_list[k].model, + pieusb_supported_usb_device_list[k].flags); } return SANE_STATUS_GOOD; } diff --git a/backend/pieusb_specific.h b/backend/pieusb_specific.h index 3928adf..f516960 100644 --- a/backend/pieusb_specific.h +++ b/backend/pieusb_specific.h @@ -193,6 +193,7 @@ struct Pieusb_Device_Definition /* USB id's like 0x05e3 0x0145, see pieusb.conf */ SANE_String version; /* INQUIRY productRevision */ SANE_Byte model; /* INQUIRY model */ + SANE_Byte flags; /* pieusb.conf flags */ /* Ranges for various quantities */ SANE_Range dpi_range; @@ -315,7 +316,11 @@ struct Pieusb_Scanner typedef struct Pieusb_Scanner Pieusb_Scanner; -SANE_Status sanei_pieusb_parse_config_line(const char* config_line, SANE_Word* vendor_id, SANE_Word* product_id, SANE_Word* model_number); +SANE_Status sanei_pieusb_parse_config_line(const char* config_line, + SANE_Word* vendor_id, + SANE_Word* product_id, + SANE_Int* model_number, + SANE_Int* flags); /* sub to sane_start() */ SANE_Status sanei_pieusb_post (Pieusb_Scanner *scanner, uint16_t **in_img, int planes); void sanei_pieusb_correct_shading(struct Pieusb_Scanner *scanner, struct Pieusb_Read_Buffer *buffer); @@ -329,8 +334,8 @@ SANE_Status sanei_pieusb_set_frame_from_options(Pieusb_Scanner * scanner); void sanei_pieusb_print_options(struct Pieusb_Scanner *scanner); /* sub to sane_control_option() and sane_start() */ int sanei_pieusb_analyse_options(struct Pieusb_Scanner *scanner); -SANE_Bool sanei_pieusb_supported_device_list_contains(SANE_Word vendor_id, SANE_Word product_id, SANE_Word model_number); -SANE_Status sanei_pieusb_supported_device_list_add(SANE_Word vendor_id, SANE_Word product_id, SANE_Word model_number); +SANE_Bool sanei_pieusb_supported_device_list_contains(SANE_Word vendor_id, SANE_Word product_id, SANE_Int model_number, SANE_Int flags); +SANE_Status sanei_pieusb_supported_device_list_add(SANE_Word vendor_id, SANE_Word product_id, SANE_Int model_number, SANE_Int flags); /* sub to sane_init() and sane_open() */ SANE_Status sanei_pieusb_find_device_callback (const char *devicename); /* sub to sane_open() */ diff --git a/backend/pixma.c b/backend/pixma.c index 3396155..d50e4ca 100644 --- a/backend/pixma.c +++ b/backend/pixma.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2015 Rolf Bensch + Copyright (C) 2011-2016 Rolf Bensch Copyright (C) 2007-2008 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -782,6 +782,14 @@ control_option (pixma_sane_t * ss, SANE_Int n, enable_option (ss, opt_threshold, SANE_FALSE); enable_option (ss, opt_threshold_curve, SANE_FALSE); } + if (cfg->cap & (PIXMA_CAP_ADF_WAIT)) + { /* adf-wait */ + enable_option (ss, opt_adf_wait, SANE_TRUE); + } + else + { /* disable adf-wait */ + enable_option (ss, opt_adf_wait, SANE_FALSE); + } *info |= SANE_INFO_RELOAD_OPTIONS; } break; @@ -801,6 +809,7 @@ print_scan_param (int level, const pixma_scan_param_t * sp) sp->xdpi, sp->ydpi, sp->x, sp->y, sp->w, sp->h); pixma_dbg (level, " gamma_table=%p source=%d\n", sp->gamma_table, sp->source); + pixma_dbg (level, " adf-wait=%d\n", sp->adf_wait); } #endif @@ -850,6 +859,7 @@ calc_scan_param (pixma_sane_t * ss, pixma_scan_param_t * sp) sp->adf_pageid = ss->page_count; sp->threshold = 2.55 * OVAL (opt_threshold).w; sp->threshold_curve = OVAL (opt_threshold_curve).w; + sp->adf_wait = OVAL (opt_adf_wait).w; error = pixma_check_scan_param (ss->s, sp); if (error < 0) @@ -928,7 +938,7 @@ init_option_descriptors (pixma_sane_t * ss) /* Writing to reader_ss outside reader_process() is a BUG! */ static pixma_sane_t *reader_ss = NULL; -static RETSIGTYPE +static void reader_signal_handler (int sig) { if (reader_ss) @@ -1083,7 +1093,7 @@ terminate_reader_task (pixma_sane_t * ss, int *exit_code) int status = 0; pid = ss->reader_taskid; - if (pid == -1) + if (!sanei_thread_is_valid (pid)) return -1; if (sanei_thread_is_forked ()) { @@ -1129,7 +1139,7 @@ start_reader_task (pixma_sane_t * ss) ss->rpipe = -1; ss->wpipe = -1; } - if (ss->reader_taskid != -1) + if (sanei_thread_is_valid (ss->reader_taskid)) { PDBG (pixma_dbg (1, "BUG:reader_taskid(%ld) != -1\n", (long) ss->reader_taskid)); @@ -1159,7 +1169,7 @@ start_reader_task (pixma_sane_t * ss) { pid = sanei_thread_begin (reader_thread, ss); } - if (pid == -1) + if (!sanei_thread_is_valid (pid)) { close (ss->wpipe); close (ss->rpipe); @@ -1227,7 +1237,7 @@ read_image (pixma_sane_t * ss, void *buf, unsigned size, int *readlen) ss->image_bytes_read, ss->sp.image_size)); close (ss->rpipe); ss->rpipe = -1; - if (terminate_reader_task (ss, &status) != -1 + if (sanei_thread_is_valid (terminate_reader_task (ss, &status)) && status != SANE_STATUS_GOOD) { return status; @@ -1371,6 +1381,7 @@ sane_open (SANE_String_Const name, SANE_Handle * h) ss->rpipe = -1; ss->idle = SANE_TRUE; ss->scanning = SANE_FALSE; + ss->sp.frontend_cancel = SANE_FALSE; for (j=0; j < BUTTON_GROUP_SIZE; j++) ss->button_option_is_cached[j] = 0; error = pixma_open (i, &ss->s); @@ -1620,6 +1631,7 @@ sane_cancel (SANE_Handle h) if (!ss) return; ss->cancel = SANE_TRUE; + ss->sp.frontend_cancel = SANE_TRUE; if (ss->idle) return; close (ss->rpipe); @@ -1812,6 +1824,13 @@ type int threshold-curve desc Dynamic threshold curve, from light to dark, normally 50-65 cap soft_select soft_detect automatic inactive +type int adf-wait + default 0 + constraint (0,3600,1) + title ADF Waiting Time + desc When set, the scanner searches the waiting time in seconds for a new document inserted into the automatic document feeder. + cap soft_select soft_detect automatic inactive + rem ------------------------------------------- END SANE_Option_Descriptor */ diff --git a/backend/pixma.conf.in b/backend/pixma.conf.in index a275b03..3f5c61a 100644 --- a/backend/pixma.conf.in +++ b/backend/pixma.conf.in @@ -1,5 +1,11 @@ # pixma.conf configuration for the sane pixma backend # +# bjnp-timeout=5000 +# Specify the timeout (in ms) to be used for all the folllowing +# scanners. +# May be specified multiple times. +# The last value (if any) will be used for auto-detection +# # define URI's of scanners (one per line) # This is only used for network scanners. # normally scanners will be detected by sending a broadcast @@ -8,7 +14,12 @@ # # method must be bjnp # port number can normally be left out, port 8612 is used as default +# The timeout parameter sets a timeout value for the scanner on +# the same line # Example: -# bjnp://myscanner.my.domain:8612 -# bjnp://printer-1.pheasant.org +# bjnp://myscanner.my.domain:8612 // uses the default 1000ms timeout +# bjnp-timeout=5000 +# bjnp://printer-1.pheasant.org // will use the 5000 ms timeout +# bjnp://scanner.bad-network.org/timeout=1500 // timeout set to 1500 ms +# bjnp-timeout=3000 // will be used for auto-detected scanners # diff --git a/backend/pixma.h b/backend/pixma.h index 620f038..6d723fb 100644 --- a/backend/pixma.h +++ b/backend/pixma.h @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2015 Rolf Bensch + Copyright (C) 2011-2016 Rolf Bensch Copyright (C) 2007-2008 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -110,11 +110,14 @@ typedef uint32_t uint32_t; /** \addtogroup API * @{ */ +/** Don't forget to update the backend version in the SANE Backend specification + * file: doc/descriptions/pixma.desc !!! + */ /** \name Version of the driver */ /**@{*/ #define PIXMA_VERSION_MAJOR 0 #define PIXMA_VERSION_MINOR 17 -#define PIXMA_VERSION_BUILD 23 +#define PIXMA_VERSION_BUILD 37 /**@}*/ /** \name Error codes */ @@ -150,6 +153,7 @@ typedef uint32_t uint32_t; #define PIXMA_CAP_LINEART (1 << 9) #define PIXMA_CAP_NEGATIVE (1 << 10) #define PIXMA_CAP_TPUIR ((1 << 11) | PIXMA_CAP_TPU) +#define PIXMA_CAP_ADF_WAIT (1 << 12) #define PIXMA_CAP_EXPERIMENT (1 << 31) /**@}*/ @@ -337,6 +341,10 @@ struct pixma_scan_param_t /** The current page # in the same ADF scan session, 0 in non ADF */ unsigned adf_pageid; + + /** adf-wait */ + unsigned adf_wait; + unsigned frontend_cancel; }; /** PIXMA model information */ diff --git a/backend/pixma_bjnp.c b/backend/pixma_bjnp.c index 7d2d541..fc4c501 100644 --- a/backend/pixma_bjnp.c +++ b/backend/pixma_bjnp.c @@ -85,7 +85,7 @@ #ifdef HAVE_IFADDRS_H #include #endif -#ifdef HAVE_SYS_SELSECT_H +#ifdef HAVE_SYS_SELECT_H #include #endif #ifdef HAVE_PWD_H @@ -395,18 +395,19 @@ determine_scanner_serial (const char *hostname, const char * mac_address, char * /* if we only have a literal ipv6 address, we use the mac-address */ strcpy(copy, hostname); - while (strlen (copy) >= SHORT_HOSTNAME_MAX) + if (strlen (copy) >= SERIAL_MAX) { + /* make the string fit into the serial */ /* if this is a FQDN, not an ip-address, remove domain part of the name */ if ((dot = strchr (copy, '.')) != NULL) { *dot = '\0'; } - else - { - strcpy(copy, mac_address); - break; - } + } + /* check if name is still to long. If so use the mac-address */ + if (strlen(copy) >= SERIAL_MAX) + { + strcpy(copy, mac_address); } strcpy( serial, copy ); return serial; @@ -566,6 +567,7 @@ split_uri (const char *devname, char *method, char *host, char *port, return -1; } strcpy(port, start); + start = end_of_port + 1; } /* @@ -613,7 +615,6 @@ set_cmd_for_dev (int devno, struct BJNP_command *cmd, char cmd_code, int payload /* * Set command buffer with command code, session_id and length of payload * Returns: sequence number of command - * If devno < 0, then use devno as negativ index into bjnp_protocol_defs */ strncpy (cmd->BJNP_id, device[devno].protocol_string, sizeof (cmd->BJNP_id)); @@ -706,8 +707,8 @@ udp_command (const int dev_no, char *command, int cmd_len, char *response, FD_ZERO (&fdset); FD_SET (sockfd, &fdset); - timeout.tv_sec = BJNP_TIMEOUT_UDP; - timeout.tv_usec = 0; + timeout.tv_sec = device[dev_no].bjnp_timeout /1000; + timeout.tv_usec = device[dev_no].bjnp_timeout %1000; } while (((result = select (sockfd + 1, &fdset, NULL, NULL, &timeout)) <= 0) @@ -737,7 +738,7 @@ udp_command (const int dev_no, char *command, int cmd_len, char *response, close(sockfd); PDBG (bjnp_dbg - (LOG_CRIT, "udp_command: ERROR - no data received\n" ) ); + (LOG_CRIT, "udp_command: ERROR - no data received (timeout = %d)\n", device[dev_no].bjnp_timeout ) ); return -1; } @@ -807,7 +808,7 @@ get_scanner_name(const bjnp_sockaddr_t *scanner_sa, char *host) { /* * Parse identify command responses to ip-address - * and hostname + * and hostname. Return qulity of the address */ struct addrinfo *results; @@ -1423,8 +1424,8 @@ bjnp_recv_header (int devno, size_t *payload_size ) FD_ZERO (&input); FD_SET (fd, &input); - timeout.tv_sec = BJNP_TIMEOUT_TCP; - timeout.tv_usec = 0; + timeout.tv_sec = device[devno].bjnp_timeout /1000; + timeout.tv_usec = device[devno].bjnp_timeout %1000; } while ( ( (result = select (fd + 1, &input, NULL, NULL, &timeout)) <= 0) && (errno == EINTR) && (attempt++ < BJNP_MAX_SELECT_ATTEMPTS)); @@ -1442,7 +1443,8 @@ bjnp_recv_header (int devno, size_t *payload_size ) { terrno = errno; PDBG (bjnp_dbg (LOG_CRIT, - "bjnp_recv_header: ERROR - could not read response header (select timed out)!\n" ) ); + "bjnp_recv_header: ERROR - could not read response header (select timed out after %d ms)!\n", + device[devno].bjnp_timeout ) ); errno = terrno; return SANE_STATUS_IO_ERROR; } @@ -1502,7 +1504,7 @@ bjnp_recv_header (int devno, size_t *payload_size ) } static int -bjnp_init_device_structure(int dn, bjnp_sockaddr_t *sa, bjnp_protocol_defs_t *protocol_defs) +bjnp_init_device_structure(int dn, bjnp_sockaddr_t *sa, bjnp_protocol_defs_t *protocol_defs, int min_timeout) { /* initialize device structure */ @@ -1524,7 +1526,8 @@ bjnp_init_device_structure(int dn, bjnp_sockaddr_t *sa, bjnp_protocol_defs_t *pr device[dn].address_level = get_scanner_name(sa, name); device[dn].session_id = 0; device[dn].serial = -1; - device[dn].bjnp_timeout = 0; + device[dn].bjnp_timeout = min_timeout; + device[dn].bjnp_min_timeout = min_timeout; device[dn].scanner_data_left = 0; device[dn].last_cmd = 0; device[dn].blocksize = BJNP_BLOCKSIZE_START; @@ -1597,8 +1600,8 @@ bjnp_recv_data (int devno, SANE_Byte * buffer, size_t start_pos, size_t * len) /* wait for data to be received, retry on a signal being received */ FD_ZERO (&input); FD_SET (fd, &input); - timeout.tv_sec = BJNP_TIMEOUT_TCP; - timeout.tv_usec = 0; + timeout.tv_sec = device[devno].bjnp_timeout /1000; + timeout.tv_usec = device[devno].bjnp_timeout %1000; } while (((result = select (fd + 1, &input, NULL, NULL, &timeout)) <= 0) && (errno == EINTR) && (attempt++ < BJNP_MAX_SELECT_ATTEMPTS)); @@ -1617,7 +1620,8 @@ bjnp_recv_data (int devno, SANE_Byte * buffer, size_t start_pos, size_t * len) { terrno = errno; PDBG (bjnp_dbg (LOG_CRIT, - "bjnp_recv_data: ERROR - could not read response payload (select timed out)!\n") ); + "bjnp_recv_data: ERROR - could not read response payload (select timed out after %d ms)!\n", + device[devno].bjnp_timeout) ); errno = terrno; *len = 0; return SANE_STATUS_IO_ERROR; @@ -1643,7 +1647,7 @@ bjnp_recv_data (int devno, SANE_Byte * buffer, size_t start_pos, size_t * len) static BJNP_Status bjnp_allocate_device (SANE_String_Const devname, - SANE_Int * dn, char *res_host) + SANE_Int * dn, char *resulting_host) { char method[BJNP_METHOD_MAX]; char host[BJNP_HOST_MAX]; @@ -1654,6 +1658,7 @@ bjnp_allocate_device (SANE_String_Const devname, struct addrinfo hints; int result; int i; + int min_timeout = BJNP_TIMEOUT_DEFAULT; PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_allocate_device(%s) %d\n", devname, bjnp_no_devices)); @@ -1662,20 +1667,29 @@ bjnp_allocate_device (SANE_String_Const devname, return BJNP_STATUS_INVAL; } - if (strlen (args) != 0) + if (strlen (args) > 0) { - PDBG (bjnp_dbg - (LOG_CRIT, - "bjnp_allocate_device: ERROR - URI may not contain userid, password or aguments: %s\n", - devname)); + /* get device specific timeout if any */ + + if (strncmp(args, "timeout=", strlen("timeout=")) == 0) + { + min_timeout = atoi(args + strlen("timeout=")); + if (min_timeout < BJNP_TIMEOUT_DEFAULT) + min_timeout = BJNP_TIMEOUT_DEFAULT; + } else { + PDBG (bjnp_dbg + (LOG_CRIT, + "bjnp_allocate_device: ERROR - Unrecognized argument: %s\n", + devname)); return BJNP_STATUS_INVAL; + } } if ( (protocol_defs = get_protocol_by_method(method)) == NULL) { PDBG (bjnp_dbg - (LOG_CRIT, "bjnp_allocate_device: ERROR - URI %s contains invalid method: %s\n", devname, - method)); + (LOG_CRIT, "bjnp_allocate_device: ERROR - URI %s contains invalid method: %s\n", + devname, method)); return BJNP_STATUS_INVAL; } @@ -1715,24 +1729,26 @@ bjnp_allocate_device (SANE_String_Const devname, { PDBG (bjnp_dbg (LOG_CRIT, - "bjnp_allocate_device: WARNING - Too many devices, ran out of device structures, can not add %s\n", + "bjnp_allocate_device: WARNING - Too many devices, ran out of device structures, cannot add %s\n", devname)); freeaddrinfo(res); return BJNP_STATUS_INVAL; } if (bjnp_init_device_structure( bjnp_no_devices, (bjnp_sockaddr_t *)cur -> ai_addr, - protocol_defs) != 0) + protocol_defs, min_timeout) != 0) { /* giving up on this address, try next one if any */ break; } for (i = 0; i < bjnp_no_devices; i++) { - /* we check for matching addresses as wel as matching mac_addresses as */ - /* an IPv6 host can have multiple adresses */ - if ( (sa_is_equal( device[i].addr, (bjnp_sockaddr_t *)cur -> ai_addr) ) || - ( strcmp( device[i].mac_address, device[bjnp_no_devices].mac_address ) == 0 ) ) + /* Check if found the scanner before, if so we use the best address + * but still make sure the scanner is listed only once. + * We check for matching addresses as wel as matching mac_addresses as + * an IPv6 host can have multiple adresses */ + + if ( strcmp( device[i].mac_address, device[bjnp_no_devices].mac_address ) == 0 ) { if ( device[i].address_level < device[bjnp_no_devices].address_level ) { @@ -1742,6 +1758,16 @@ bjnp_allocate_device (SANE_String_Const devname, device[bjnp_no_devices].addr = NULL; device[i].address_level = device[bjnp_no_devices].address_level; } + + /* check if new timeout value was defined (e.g. from sanei_bjnp_device_open) + * if so, use new timout value */ + + if (device[i].bjnp_min_timeout < device[bjnp_no_devices].bjnp_min_timeout) + { + /* use the longer timeout as requested */ + device[i].bjnp_timeout = device[bjnp_no_devices].bjnp_min_timeout; + device[i].bjnp_min_timeout = device[bjnp_no_devices].bjnp_min_timeout; + } freeaddrinfo(res); *dn = i; bjnp_free_device_structure( bjnp_no_devices); @@ -1754,17 +1780,17 @@ bjnp_allocate_device (SANE_String_Const devname, PDBG (bjnp_dbg (LOG_INFO, "bjnp_allocate_device: Scanner not yet in our list, added it: %s:%s\n", host, port)); - /* return hostname if required */ + /* Commit new device structure */ - if (res_host != NULL) - { - strcpy (res_host, host); - } *dn = bjnp_no_devices; + bjnp_no_devices++; - /* Commit new device structure */ + /* return hostname if required */ - bjnp_no_devices++; + if (resulting_host != NULL) + { + strcpy (resulting_host, host); + } return BJNP_STATUS_GOOD; } @@ -1800,10 +1826,11 @@ static void add_scanner(SANE_Int *dev_no, */ determine_scanner_serial (scanner_host, device[*dev_no].mac_address, serial); + attach_bjnp (uri, makemodel, serial, pixma_devices); - PDBG (bjnp_dbg (LOG_NOTICE, "add_scanner: New scanner at %s added!\n", - uri)); + PDBG (bjnp_dbg (LOG_NOTICE, "add_scanner: New scanner added: %s, serial %s, mac addres: %s.\n", + uri, serial, device[*dev_no].mac_address)); } break; case BJNP_STATUS_ALREADY_ALLOCATED: @@ -1818,6 +1845,34 @@ static void add_scanner(SANE_Int *dev_no, } } +int rewrite_uri(char *uri, int timeout, int max_len) +{ + char method[BJNP_METHOD_MAX]; + char host[BJNP_HOST_MAX]; + char port_str[BJNP_PORT_MAX]; + char args[BJNP_HOST_MAX]; + int port; + + if (split_uri(uri, method, host, port_str, args ) != 0) + { + return -1; + } + + port = atoi(port_str); + if (port == 0) + { + port = 8612; + } + + if (strstr(args, "timeout=") == NULL) + { + sprintf(args, "timeout=%d", timeout); + } + + snprintf(uri, max_len -1, "bjnp://%s:%d/%s", host, port, args); + return 0; +} + /* * Public functions @@ -1870,6 +1925,7 @@ sanei_bjnp_find_devices (const char **conf_devices, char uri[256]; int dev_no; int port; + int timeout_default = BJNP_TIMEOUT_DEFAULT; bjnp_sockaddr_t broadcast_addr[BJNP_SOCK_MAX]; bjnp_sockaddr_t scanner_sa; socklen_t socklen; @@ -1885,16 +1941,30 @@ sanei_bjnp_find_devices (const char **conf_devices, { socket_fd[i] = -1; } - /* First add devices from config file */ + + /* Add devices from config file */ if (conf_devices[0] == NULL) PDBG (bjnp_dbg( LOG_DEBUG, "sanei_bjnp_find_devices: No devices specified in configuration file.\n" ) ); for (i = 0; conf_devices[i] != NULL; i++) { + if (strncmp(conf_devices[i], "bjnp-timeout=", strlen("bjnp-timeout="))== 0) + { + timeout_default = atoi(conf_devices[i] + strlen("bjnp-timeout=") ); + if (timeout_default < BJNP_TIMEOUT_DEFAULT) + { + timeout_default = BJNP_TIMEOUT_DEFAULT; + } + PDBG ( bjnp_dbg + (LOG_DEBUG, "Set new default timeout value: %d ms.", timeout_default)); + continue; + } PDBG (bjnp_dbg (LOG_DEBUG, "sanei_bjnp_find_devices: Adding scanner from pixma.conf: %s\n", conf_devices[i])); - add_scanner(&dev_no, conf_devices[i], attach_bjnp, pixma_devices); + strncpy(uri, conf_devices[i], sizeof(uri)); + rewrite_uri(uri, timeout_default, sizeof(uri)); + add_scanner(&dev_no, uri, attach_bjnp, pixma_devices); } PDBG (bjnp_dbg (LOG_DEBUG, @@ -2062,8 +2132,8 @@ sanei_bjnp_find_devices (const char **conf_devices, get_scanner_name( &scanner_sa, scanner_host); /* construct URI */ - sprintf (uri, "%s://%s:%d", protocol_defs->method_string, scanner_host, - port); + sprintf (uri, "%s://%s:%d/timeout=%d", protocol_defs->method_string, scanner_host, + port, timeout_default); add_scanner( &dev_no, uri, attach_bjnp, pixma_devices); @@ -2182,8 +2252,15 @@ sanei_bjnp_deactivate (SANE_Int dn) extern void sanei_bjnp_set_timeout (SANE_Int devno, SANE_Int timeout) { - PDBG (bjnp_dbg (LOG_INFO, "bjnp_set_timeout to %d\n", + if (timeout < device[devno].bjnp_min_timeout) + { + PDBG (bjnp_dbg (LOG_INFO, "bjnp_set_timeout to %d, but using minimum value %d\n", + timeout, device[devno].bjnp_min_timeout)); + timeout = device[devno].bjnp_min_timeout; + } else { + PDBG (bjnp_dbg (LOG_INFO, "bjnp_set_timeout to %d\n", timeout)); + } device[devno].bjnp_timeout = timeout; } @@ -2460,16 +2537,6 @@ sanei_bjnp_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) if ( resp_len > 0 ) { device[dn].polling_status = BJNP_POLL_STATUS_RECEIVED; - - /* this is a bit of a hack, but the scanner does not like */ - /* us to continue using the existing tcp socket */ - - /* No longer required? Does not work anymore now we moved code from sanei_bjnp_activate/sanei_bjnp_deactivate - to the isanei_bjnp_open and sanei_bjnp_close - sanei_bjnp_deactivate(dn); - sanei_bjnp_activate(dn); - */ - return SANE_STATUS_GOOD; } seconds = timeout > 2 ? 2 : timeout; diff --git a/backend/pixma_bjnp.h b/backend/pixma_bjnp.h index 3770bfd..998c331 100644 --- a/backend/pixma_bjnp.h +++ b/backend/pixma_bjnp.h @@ -65,9 +65,10 @@ extern void sanei_bjnp_init (void); /** Find scanners responding to a BJNP broadcast. * - * The function attach is called for every device which has been found. + * The function sanei_bjnp_attach is called for every device which has + * been found. * Serial is the address of the scanner in human readable form of max - * SHORT_HOSTNAME_MAX characters + * SERIAL_MAX characters * @param conf_devices list of pre-configures device URI's to attach * @param attach attach function * @param pixma_devices device informatio needed by attach function @@ -75,7 +76,7 @@ extern void sanei_bjnp_init (void); * @return SANE_STATUS_GOOD - on success (even if no scanner was found) */ -#define SHORT_HOSTNAME_MAX 16 +#define SERIAL_MAX 16 extern SANE_Status sanei_bjnp_find_devices (const char **conf_devices, diff --git a/backend/pixma_bjnp_private.h b/backend/pixma_bjnp_private.h index 1902c7a..9ecc6ae 100644 --- a/backend/pixma_bjnp_private.h +++ b/backend/pixma_bjnp_private.h @@ -80,8 +80,7 @@ /* timers */ #define BJNP_BROADCAST_INTERVAL 10 /* ms between broadcasts */ #define BJNP_BC_RESPONSE_TIMEOUT 500 /* waiting time for broadc. responses */ -#define BJNP_TIMEOUT_UDP 4 /* standard UDP timeout in seconds */ -#define BJNP_TIMEOUT_TCP 4 /* standard TCP timeout in seconds */ +#define BJNP_TIMEOUT_DEFAULT 1000 /* minimum tiemout value for network operations */ #define BJNP_USLEEP_MS 1000 /* sleep for 1 msec */ /* retries */ @@ -371,6 +370,7 @@ typedef struct device_s bjnp_sockaddr_t * addr; /* ip-address of the scanner */ int address_level; /* link local, public or has a FQDN */ int bjnp_timeout; /* timeout (msec) for next poll command */ + int bjnp_min_timeout; /* device specific min timeout */ #ifdef PIXMA_BJNP_USE_STATUS /* polling state information */ diff --git a/backend/pixma_common.c b/backend/pixma_common.c index 9d41f7a..2882453 100644 --- a/backend/pixma_common.c +++ b/backend/pixma_common.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2015 Rolf Bensch + Copyright (C) 2011-2016 Rolf Bensch Copyright (C) 2007-2008 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -57,6 +57,8 @@ #include "pixma_common.h" #include "pixma_io.h" +#include "../include/sane/sanei_usb.h" + #ifdef __GNUC__ # define UNUSED(v) (void) v @@ -649,15 +651,21 @@ pixma_cmd_transaction (pixma_t * s, const void *cmd, unsigned cmdlen, immediatly answer with PIXMA_STATUS_BUSY. Is 8 seconds timeout enough? This affects ALL commands that use - pixma_cmd_transaction(). */ - tmo = 8; + pixma_cmd_transaction(). Default value set in pixma_open(). */ + tmo = s->rec_tmo; do { error = pixma_read (s->io, data, expected_len); if (error == PIXMA_ETIMEDOUT) { PDBG (pixma_dbg (2, "No response yet. Timed out in %d sec.\n", tmo)); - pixma_sleep (1000000); /* 1s timeout */ + +#ifndef HAVE_SANEI_USB_SET_TIMEOUT + /* 1s timeout + Only needed, if sanei_usb_set_timeout() isn't available. + pixma_read() has an internal timeout of 1 sec. */ + pixma_sleep (1000000); +#endif } } while (error == PIXMA_ETIMEDOUT && --tmo != 0); @@ -761,6 +769,7 @@ pixma_open (unsigned devnr, pixma_t ** handle) first_pixma = s; s->cfg = cfg; + s->rec_tmo = 8; /* set receive timeout to 8 seconds */ error = pixma_connect (devnr, &s->io); if (error < 0) { @@ -839,6 +848,7 @@ pixma_scan (pixma_t * s, pixma_scan_param_t * sp) sp->xdpi, sp->ydpi, sp->x, sp->y, sp->w, sp->h); pixma_dbg (3, " gamma_table=%p source=%d\n", sp->gamma_table, sp->source); pixma_dbg (3, " threshold=%d threshold_curve=%d\n", sp->threshold, sp->threshold_curve); + pixma_dbg (3, " adf-wait=%d\n", sp->adf_wait); pixma_dbg (3, " ADF page count: %d\n", sp->adf_pageid); #endif diff --git a/backend/pixma_common.h b/backend/pixma_common.h index dbaa23f..6c55c71 100644 --- a/backend/pixma_common.h +++ b/backend/pixma_common.h @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2015 Rolf Bensch + Copyright (C) 2011-2016 Rolf Bensch Copyright (C) 2006-2007 Wittawat Yamwong This file is part of the SANE package. @@ -118,6 +118,7 @@ struct pixma_t int cancel; /* NOTE: It can be set in a signal handler. */ uint32_t events; void *subdriver; /* can be used by model driver. */ + int rec_tmo; /* receive timeout [s] */ /* private */ uint64_t cur_image_size; diff --git a/backend/pixma_imageclass.c b/backend/pixma_imageclass.c index b2d45ee..8ad0083 100644 --- a/backend/pixma_imageclass.c +++ b/backend/pixma_imageclass.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2015 Rolf Bensch + Copyright (C) 2011-2016 Rolf Bensch Copyright (C) 2007-2009 Nicolas Martin, Copyright (C) 2008 Dennis Lou, dlou 99 at yahoo dot com @@ -103,6 +103,8 @@ #define MF820_PID 0x27a6 #define MF220_PID 0x27a8 #define MF210_PID 0x27a9 +#define MF230_PID 0x27d1 +#define MF240_PID 0x27d2 enum iclass_state_t @@ -140,9 +142,22 @@ typedef struct iclass_t unsigned last_block; uint8_t generation; /* New multifunctionals are (generation == 2) */ + + uint8_t adf_state; /* handle adf scanning */ } iclass_t; +static int is_scanning_from_adf (pixma_t * s) +{ + return (s->param->source == PIXMA_SOURCE_ADF + || s->param->source == PIXMA_SOURCE_ADFDUP); +} + +static int is_scanning_from_adfdup (pixma_t * s) +{ + return (s->param->source == PIXMA_SOURCE_ADFDUP); +} + static void iclass_finish_scan (pixma_t * s); /* checksumming is sometimes different than pixmas */ @@ -163,7 +178,8 @@ static int has_paper (pixma_t * s) { iclass_t *mf = (iclass_t *) s->subdriver; - return ((mf->current_status[1] & 0x0f) == 0); /* allow 0x10 as ADF paper OK */ + return ((mf->current_status[1] & 0x0f) == 0 /* allow 0x10 as ADF paper OK */ + || mf->current_status[1] == 81); /* allow 0x51 as ADF paper OK */ } static int @@ -185,9 +201,9 @@ query_status (pixma_t * s) if (error >= 0) { memcpy (mf->current_status, data, 12); - DBG (3, "Current status: paper=%u cal=%u lamp=%u\n", - data[1], data[8], data[7]); - PDBG (pixma_dbg (3, "Current status: paper=%u cal=%u lamp=%u\n", + /*DBG (3, "Current status: paper=0x%02x cal=%u lamp=%u\n", + data[1], data[8], data[7]);*/ + PDBG (pixma_dbg (3, "Current status: paper=0x%02x cal=%u lamp=%u\n", data[1], data[8], data[7])); } return error; @@ -229,9 +245,9 @@ select_source (pixma_t * s) { iclass_t *mf = (iclass_t *) s->subdriver; uint8_t *data = pixma_newcmd (&mf->cb, cmd_select_source, 10, 0); - data[0] = (s->param->source == PIXMA_SOURCE_ADF || - s->param->source == PIXMA_SOURCE_ADFDUP) ? 2 : 1; - data[5] = (s->param->source == PIXMA_SOURCE_ADFDUP) ? 3 : 0; + data[0] = (is_scanning_from_adf(s)) ? 2 : 1; + /* special settings for MF6100 */ + data[5] = is_scanning_from_adfdup(s) ? 3 : ((s->cfg->pid == MF6100_PID && s->param->source == PIXMA_SOURCE_ADF) ? 1 : 0); switch (s->cfg->pid) { case MF4200_PID: @@ -263,7 +279,7 @@ send_scan_param (pixma_t * s) pixma_set_be32 (mf->raw_width, data + 0x10); pixma_set_be32 (s->param->h, data + 0x14); data[0x18] = (s->param->channels == 1) ? 0x04 : 0x08; - data[0x19] = s->param->channels * s->param->depth; /* bits per pixel */ + data[0x19] = s->param->channels * ((s->param->depth == 1) ? 8 : s->param->depth); /* bits per pixel */ data[0x1f] = 0x7f; data[0x20] = 0xff; data[0x23] = 0x81; @@ -294,7 +310,10 @@ request_image_block (pixma_t * s, unsigned flag, uint8_t * info, const int hlen = 2 + 6; memset (mf->cb.buf, 0, 11); - pixma_set_be16 (((mf->generation >= 2) ? cmd_read_image2 : cmd_read_image), mf->cb.buf); + /* generation 2 scanners use cmd_read_image2. + * MF6100, ... are exceptions */ + pixma_set_be16 (((mf->generation >= 2 + && s->cfg->pid != MF6100_PID) ? cmd_read_image2 : cmd_read_image), mf->cb.buf); mf->cb.buf[8] = flag; mf->cb.buf[10] = 0x06; expected_len = (mf->generation >= 2 || @@ -419,13 +438,46 @@ static int step1 (pixma_t * s) { int error; + int rec_tmo; iclass_t *mf = (iclass_t *) s->subdriver; + /* don't wait full timeout for 1st command */ + rec_tmo = s->rec_tmo; /* save globel timeout */ + s->rec_tmo = 2; /* set timeout to 2 seconds */ error = query_status (s); + s->rec_tmo = rec_tmo; /* restore global timeout */ + if (error < 0) + { + PDBG (pixma_dbg (1, "WARNING: Resend first USB command after timeout!\n")); + error = query_status (s); + } if (error < 0) return error; - if (s->param->source == PIXMA_SOURCE_ADF && !has_paper (s)) + + /* wait for inserted paper */ + if (s->param->adf_wait != 0 && is_scanning_from_adf(s)) + { + int tmo = s->param->adf_wait; + + while (!has_paper (s) && --tmo >= 0 && !s->param->frontend_cancel) + { + if ((error = query_status (s)) < 0) + return error; + pixma_sleep (1000000); + PDBG (pixma_dbg(2, "No paper in ADF. Timed out in %d sec.\n", tmo)); + } + /* canceled from frontend */ + if (s->param->frontend_cancel) + { + return PIXMA_ECANCELED; + } + } + /* no paper inserted + * => abort session */ + if (is_scanning_from_adf(s) && !has_paper (s)) + { return PIXMA_ENO_PAPER; + } /* activate only seen for generation 1 scanners */ if (mf->generation == 1) { @@ -484,6 +536,9 @@ iclass_open (pixma_t * s) mf->cb.cmd_header_len = 10; mf->cb.cmd_len_field_ofs = 7; + /* adf scanning */ + mf->adf_state = state_idle; + /* set generation = 2 for new multifunctionals */ mf->generation = (s->cfg->pid >= MF8030_PID) ? 2 : 1; PDBG (pixma_dbg (3, "*iclass_open***** This is a generation %d scanner. *****\n", mf->generation)); @@ -513,8 +568,34 @@ iclass_check_param (pixma_t * s, pixma_scan_param_t * sp) { UNUSED (s); + /* PDBG (pixma_dbg (4, "*iclass_check_param***** Initially: channels=%u, depth=%u, x=%u, y=%u, w=%u, line_size=%" PRIu64 " , h=%u*****\n", + sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->line_size, sp->h)); */ + sp->depth = 8; - sp->line_size = ALIGN_SUP (sp->w, 32) * sp->channels; + sp->software_lineart = 0; + if (sp->mode == PIXMA_SCAN_MODE_LINEART) + { + sp->software_lineart = 1; + sp->channels = 1; + sp->depth = 1; + } + + if (sp->software_lineart == 1) + { + unsigned w_max; + + /* for software lineart line_size and w must be a multiple of 8 */ + sp->line_size = ALIGN_SUP (sp->w, 8) * sp->channels; + sp->w = ALIGN_SUP (sp->w, 8); + + /* do not exceed the scanner capability */ + w_max = s->cfg->width * s->cfg->xdpi / 75; + w_max -= w_max % 32; + if (sp->w > w_max) + sp->w = w_max; + } + else + sp->line_size = ALIGN_SUP (sp->w, 32) * sp->channels; /* Some exceptions here for particular devices */ /* Those devices can scan up to Legal 14" with ADF, but A4 11.7" in flatbed */ @@ -522,6 +603,9 @@ iclass_check_param (pixma_t * s, pixma_scan_param_t * sp) if ((s->cfg->cap & PIXMA_CAP_ADF) && sp->source == PIXMA_SOURCE_FLATBED) sp->h = MIN (sp->h, 877 * sp->xdpi / 75); + /* PDBG (pixma_dbg (4, "*iclass_check_param***** Finally: channels=%u, depth=%u, x=%u, y=%u, w=%u, line_size=%" PRIu64 " , h=%u*****\n", + sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->line_size, sp->h)); */ + return 0; } @@ -559,7 +643,8 @@ iclass_scan (pixma_t * s) mf->blk_len = 0; error = step1 (s); - if (error >= 0 && (s->param->adf_pageid == 0 || mf->generation == 1)) + if (error >= 0 + && (s->param->adf_pageid == 0 || mf->generation == 1 || mf->adf_state == state_idle)) { /* single sheet or first sheet from ADF */ PDBG (pixma_dbg (3, "*iclass_scan***** start scanning *****\n")); error = start_session (s); @@ -583,6 +668,10 @@ iclass_scan (pixma_t * s) return error; } mf->last_block = 0; + + /* ADF scanning active */ + if (is_scanning_from_adf (s)) + mf->adf_state = state_scanning; return 0; } @@ -592,7 +681,7 @@ iclass_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) { int error, n; iclass_t *mf = (iclass_t *) s->subdriver; - unsigned block_size, lines_size, first_block_size; + unsigned block_size, lines_size, lineart_lines_size, first_block_size; uint8_t info; /* @@ -652,10 +741,33 @@ iclass_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) /* add current block to remainder of previous */ mf->blk_len += block_size; /* n = number of full lines (rows) we have in the buffer. */ - n = mf->blk_len / s->param->line_size; + n = mf->blk_len / ((s->param->mode == PIXMA_SCAN_MODE_LINEART) ? mf->raw_width : s->param->line_size); if (n != 0) { - if (s->param->channels != 1 && + /* PDBG (pixma_dbg (4, "*iclass_fill_buffer***** Processing with n=%d, w=%i, line_size=%" PRIu64 ", raw_width=%u ***** \n", + n, s->param->w, s->param->line_size, mf->raw_width)); */ + /* PDBG (pixma_dbg (4, "*iclass_fill_buffer***** scan_mode=%d, lineptr=%" PRIu64 ", blkptr=%" PRIu64 " \n", + s->param->mode, (uint64_t)mf->lineptr, (uint64_t)mf->blkptr)); */ + + /* gray to lineart convert + * mf->lineptr : image line + * mf->blkptr : scanned image block as grayscale + * s->param->w : image width + * s->param->line_size : scanned image width */ + if (s->param->mode == PIXMA_SCAN_MODE_LINEART) + { + int i; + uint8_t *sptr, *dptr; + + /* PDBG (pixma_dbg (4, "*iclass_fill_buffer***** Processing lineart *****\n")); */ + + /* process ALL lines */ + sptr = mf->blkptr; + dptr = mf->lineptr; + for (i = 0; i < n; i++, sptr += mf->raw_width) + dptr = pixma_binarize_line (s->param, dptr, sptr, s->param->line_size, 1); + } + else if (s->param->channels != 1 && mf->generation == 1 && s->cfg->pid != MF4600_PID && s->cfg->pid != MF6500_PID && @@ -669,17 +781,22 @@ iclass_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) /* grayscale */ memcpy (mf->lineptr, mf->blkptr, n * s->param->line_size); } - lines_size = n * s->param->line_size; /* cull remainder and shift left */ + lineart_lines_size = n * s->param->line_size / 8; + lines_size = n * ((s->param->mode == PIXMA_SCAN_MODE_LINEART) ? mf->raw_width : s->param->line_size); mf->blk_len -= lines_size; memcpy (mf->blkptr, mf->blkptr + lines_size, mf->blk_len); } } while (n == 0); - /* output full lines, keep partial lines for next block */ + /* output full lines, keep partial lines for next block + * ib->rptr : start of image buffer + * ib->rend : end of image buffer */ ib->rptr = mf->lineptr; - ib->rend = mf->lineptr + lines_size; + ib->rend = mf->lineptr + (s->param->mode == PIXMA_SCAN_MODE_LINEART ? lineart_lines_size : lines_size); + /* PDBG (pixma_dbg (4, "*iclass_fill_buffer***** rptr=%" PRIu64 ", rend=%" PRIu64 ", diff=%ld \n", + (uint64_t)ib->rptr, (uint64_t)ib->rend, ib->rend - ib->rptr)); */ return ib->rend - ib->rptr; } @@ -718,8 +835,17 @@ iclass_finish_scan (pixma_t * s) || (mf->generation == 1 && mf->last_block == 0x28) /* generation 1 scanner last block */ || (mf->generation >= 2 && !has_paper(s))) /* check status: no paper in ADF */ { + /* ADFDUP scan: wait for 8sec to throw last page out of ADF feeder */ + if (is_scanning_from_adfdup(s)) + { + PDBG (pixma_dbg (4, "*iclass_finish_scan***** sleep for 8s *****\n")); + pixma_sleep(8000000); /* sleep for 8s */ + query_status (s); + } PDBG (pixma_dbg (3, "*iclass_finish_scan***** abort session *****\n")); abort_session (s); + mf->adf_state = state_idle; + mf->last_block = 0; } else PDBG (pixma_dbg (3, "*iclass_finish_scan***** wait for next page from ADF *****\n")); @@ -777,6 +903,8 @@ static const pixma_scan_ops_t pixma_iclass_ops = { adftpu_max_dpi, /* adftpu_max_dpi */ \ 0, 0, /* tpuir_min_dpi & tpuir_max_dpi not used in this subdriver */ \ w, h, /* width, height */ \ + PIXMA_CAP_LINEART| /* all scanners have software lineart */ \ + PIXMA_CAP_ADF_WAIT| /* adf wait for all ADF and ADFDUP scanners */ \ PIXMA_CAP_GRAY|PIXMA_CAP_EVENTS|cap \ } const pixma_config_t pixma_iclass_devices[] = { @@ -809,9 +937,11 @@ const pixma_config_t pixma_iclass_devices[] = { DEV ("Canon imageRUNNER 1133", "iR1133", IR1133_PID, 600, 0, 637, 877, PIXMA_CAP_ADFDUP), DEV ("Canon i-SENSYS MF5900 Series", "MF5900", MF5900_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), DEV ("Canon i-SENSYS MF8500C Series", "MF8500C", MF8500_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon i-SENSYS MF6100 Series", "MF6100", MF6100_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF6100 Series", "MF6100", MF6100_PID, 600, 300, 640, 1050, PIXMA_CAP_ADFDUP), DEV ("Canon imageClass MF810/820", "MF810/820", MF820_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), DEV ("Canon i-SENSYS MF220 Series", "MF220", MF220_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), DEV ("Canon i-SENSYS MF210 Series", "MF210", MF210_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), + DEV ("Canon i-SENSYS MF230 Series", "MF230", MF230_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), + DEV ("Canon i-SENSYS MF240 Series", "MF240", MF240_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), DEV (NULL, NULL, 0, 0, 0, 0, 0, 0) }; diff --git a/backend/pixma_io.h b/backend/pixma_io.h index 004e008..9dc1afb 100644 --- a/backend/pixma_io.h +++ b/backend/pixma_io.h @@ -57,9 +57,9 @@ */ /** Timeout for pixma_read() in milliseconds */ -#define PIXMA_BULKIN_TIMEOUT 20000 +#define PIXMA_BULKIN_TIMEOUT 1000 /** Timeout for pixma_write() in milliseconds */ -#define PIXMA_BULKOUT_TIMEOUT 20000 +#define PIXMA_BULKOUT_TIMEOUT 1000 struct pixma_io_t; diff --git a/backend/pixma_io_sanei.c b/backend/pixma_io_sanei.c index 9e4a2fa..8eec883 100644 --- a/backend/pixma_io_sanei.c +++ b/backend/pixma_io_sanei.c @@ -1,7 +1,7 @@ /* SANE - Scanner Access Now Easy. * For limitations, see function sanei_usb_get_vendor_product(). - Copyright (C) 2011-2015 Rolf Bensch + Copyright (C) 2011-2016 Rolf Bensch Copyright (C) 2006-2007 Wittawat Yamwong This file is part of the SANE package. diff --git a/backend/pixma_mp150.c b/backend/pixma_mp150.c index 4f8b232..dca0965 100644 --- a/backend/pixma_mp150.c +++ b/backend/pixma_mp150.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2015 Rolf Bensch + Copyright (C) 2011-2016 Rolf Bensch Copyright (C) 2007-2009 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -228,7 +228,19 @@ #define MX490_PID 0x1787 #define E480_PID 0x1789 #define MG3600_PID 0x178a - +#define MG7700_PID 0x178b +#define MG6900_PID 0x178c +#define MG6800_PID 0x178d +#define MG5700_PID 0x178e + +/* 2016 new devices (untested) */ +#define TS9000_PID 0x179f +#define TS8000_PID 0x1800 +#define TS6000_PID 0x1801 +#define TS5000_PID 0x1802 +#define MG3000_PID 0x180b +#define E470_PID 0x180c +#define G3000_PID 0x181d /* Generation 4 XML messages that encapsulates the Pixma protocol messages */ #define XML_START_1 \ @@ -824,6 +836,7 @@ query_status (pixma_t * s) return error; } +#if 0 static int send_time (pixma_t * s) { @@ -843,6 +856,7 @@ send_time (pixma_t * s) PDBG (pixma_dbg (3, "Sending time: '%s'\n", (char *) data)); return pixma_exec (s, &mp->cb); } +#endif /* TODO: Simplify this function. Read the whole data packet in one shot. */ static int @@ -945,11 +959,13 @@ handle_interrupt (pixma_t * s, int timeout) * tt: target * rr: scan resolution * poll event with 'scanimage -A' */ - if (s->cfg->pid == MG6200_PID + if (s->cfg->pid == MG5400_PID + || s->cfg->pid == MG6200_PID || s->cfg->pid == MG6300_PID || s->cfg->pid == MX520_PID || s->cfg->pid == MX720_PID - || s->cfg->pid == MX920_PID) + || s->cfg->pid == MX920_PID + || s->cfg->pid == MB5000_PID) /* button no. in buf[7] * size in buf[10] 01=A4; 02=Letter; 08=10x15; 09=13x18; 0b=auto * format in buf[11] 01=JPEG; 02=TIFF; 03=PDF; 04=Kompakt-PDF @@ -968,7 +984,10 @@ handle_interrupt (pixma_t * s, int timeout) { /* More than one event can be reported at the same time. */ if (buf[3] & 1) + /* FIXME: This function makes trouble with a lot of scanners send_time (s); + */ + PDBG (pixma_dbg (1, "WARNING:send_time() disabled!\n")); if (buf[9] & 2) query_status (s); if (buf[0] & 2) @@ -1150,13 +1169,17 @@ post_process_image_data (pixma_t * s, pixma_imagebuf_t * ib) && s->cfg->pid != MX920_PID && s->cfg->pid != MG3100_PID && s->cfg->pid != MG3500_PID + && s->cfg->pid != MG3600_PID && s->cfg->pid != MG2100_PID && s->cfg->pid != MG5300_PID + && s->cfg->pid != MG5400_PID && s->cfg->pid != MG5500_PID && s->cfg->pid != MG6300_PID && s->cfg->pid != MG6400_PID && s->cfg->pid != MG7100_PID - && s->cfg->pid != MG7500_PID) + && s->cfg->pid != MG7500_PID + && s->cfg->pid != MG7700_PID + && s->cfg->pid != MB5000_PID) reorder_pixels (mp->linebuf, sptr, c, n, m, s->param->wx, line_size); /* Crop line to selected borders */ @@ -1828,6 +1851,19 @@ const pixma_config_t pixma_mp150_devices[] = { DEVICE ("Canon PIXMA MX490 Series", "MX490", MX490_PID, 600, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), DEVICE ("Canon PIXMA E480 Series", "E480", E480_PID, 600, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), DEVICE ("Canon PIXMA MG3600 Series", "MG3600", MG3600_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG7700 Series", "MG7700", MG7700_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG6900 Series", "MG6900", MG6900_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG6800 Series", "MG6800", MG6800_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG5700 Series", "MG5700", MG5700_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2016) Generation 4 CIS */ + DEVICE ("Canon PIXMA TS9000 Series", "TS9000", TS9000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS8000 Series", "TS8000", TS8000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6000 Series", "TS6000", TS6000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS5000 Series", "TS5000", TS5000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG3000 Series", "MG3000", MG3000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA E470 Series", "E470", E470_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA G4000 Series", "G3000", G3000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), END_OF_DEVICE_LIST }; diff --git a/backend/pixma_mp730.c b/backend/pixma_mp730.c index 2184ff7..6bf3f42 100644 --- a/backend/pixma_mp730.c +++ b/backend/pixma_mp730.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2015 Rolf Bensch + Copyright (C) 2011-2016 Rolf Bensch Copyright (C) 2007-2008 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -63,13 +63,17 @@ #define IMAGE_BLOCK_SIZE (0xc000) #define CMDBUF_SIZE 512 +#define MP10_PID 0x261f + #define MP730_PID 0x262f #define MP700_PID 0x2630 +#define MP5_PID 0x2635 /* untested */ + #define MP360_PID 0x263c #define MP370_PID 0x263d #define MP390_PID 0x263e -#define MP375R_PID 0x263f /* untested */ +#define MP375R_PID 0x263f /* untested */ #define MP740_PID 0x264c /* Untested */ #define MP710_PID 0x264d @@ -341,6 +345,8 @@ handle_interrupt (pixma_t * s, int timeout) s->events = PIXMA_EV_BUTTON1; /* color scan */ break; + case MP5_PID: + case MP10_PID: case MP700_PID: case MP730_PID: case MP710_PID: @@ -453,6 +459,10 @@ step1 (pixma_t * s) default: break; } + + // ignore result from calibrate() + // don't interrupt @ PIXMA_STATUS_BUSY + error = 0; } if (error >= 0) error = activate (s, 0); @@ -537,7 +547,9 @@ calc_raw_width (pixma_t * s, const pixma_scan_param_t * sp) { if (sp->depth == 8) /* grayscale */ { - if (s->cfg->pid == MP700_PID || + if (s->cfg->pid == MP5_PID || + s->cfg->pid == MP10_PID || + s->cfg->pid == MP700_PID || s->cfg->pid == MP730_PID || s->cfg->pid == MP360_PID || s->cfg->pid == MP370_PID || @@ -566,8 +578,10 @@ mp730_check_param (pixma_t * s, pixma_scan_param_t * sp) { sp->depth=8; } - /* for MP360/370, MP700/730 in grayscale & lineart modes, max scan res is 600 dpi */ - if (s->cfg->pid == MP700_PID || + /* for MP5, MP10, MP360/370, MP700/730 in grayscale & lineart modes, max scan res is 600 dpi */ + if (s->cfg->pid == MP5_PID || + s->cfg->pid == MP10_PID || + s->cfg->pid == MP700_PID || s->cfg->pid == MP730_PID || s->cfg->pid == MP360_PID || s->cfg->pid == MP370_PID || @@ -737,19 +751,23 @@ mp730_finish_scan (pixma_t * s) query_status (s); activate (s, 0); - if (! aborted && s->cfg->pid == IR1020_PID) - { - error = abort_session (s); - if (error < 0) - { - PDBG (pixma_dbg - (1, "WARNING:abort_session() failed %s\n", - pixma_strerror (error))); - query_status (s); - query_status (s); - activate (s, 0); - } - } + // MF57x0 devices don't require abort_session() after the last page + if (!aborted && + (s->param->source == PIXMA_SOURCE_ADF || + s->param->source == PIXMA_SOURCE_ADFDUP) && + has_paper (s) && + (s->cfg->pid == MF5730_PID || + s->cfg->pid == MF5750_PID || + s->cfg->pid == MF5770_PID || + s->cfg->pid == IR1020_PID)) + { + error = abort_session (s); + if (error < 0) + PDBG (pixma_dbg + (1, "WARNING:abort_session() failed %s\n", + pixma_strerror (error))); + } + mp->buf = mp->lbuf = mp->imgbuf = NULL; mp->state = state_idle; /* fall through */ @@ -808,6 +826,8 @@ static const pixma_scan_ops_t pixma_mp730_ops = { } const pixma_config_t pixma_mp730_devices[] = { /* TODO: check area limits */ + DEVICE ("PIXUS MP5/SmartBase MPC190/imageCLASS MPC190","MP5", MP5_PID, 600, 636, 868, PIXMA_CAP_LINEART),/* color scan can do 600x1200 */ + DEVICE ("PIXUS MP10/SmartBase MPC200/imageCLASS MPC200","MP10", MP10_PID, 600, 636, 868, PIXMA_CAP_LINEART),/* color scan can do 600x1200 */ DEVICE ("PIXMA MP360", "MP360", MP360_PID, 1200, 636, 868, PIXMA_CAP_LINEART), DEVICE ("PIXMA MP370", "MP370", MP370_PID, 1200, 636, 868, PIXMA_CAP_LINEART), DEVICE ("PIXMA MP375R", "MP375R", MP375R_PID, 1200, 636, 868, PIXMA_CAP_LINEART), diff --git a/backend/pixma_mp750.c b/backend/pixma_mp750.c index 8d2d94c..c5ac335 100644 --- a/backend/pixma_mp750.c +++ b/backend/pixma_mp750.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2015 Rolf Bensch + Copyright (C) 2011-2016 Rolf Bensch Copyright (C) 2006-2007 Wittawat Yamwong This file is part of the SANE package. diff --git a/backend/pixma_mp810.c b/backend/pixma_mp810.c index 5f9043e..b03bebc 100644 --- a/backend/pixma_mp810.c +++ b/backend/pixma_mp810.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2015 Rolf Bensch + Copyright (C) 2011-2016 Rolf Bensch Copyright (C) 2007-2009 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -1009,6 +1009,7 @@ static int query_status (pixma_t * s) return error; } +#if 0 static int send_time (pixma_t * s) { /* Why does a scanner need a time? */ @@ -1025,6 +1026,7 @@ static int send_time (pixma_t * s) PDBG(pixma_dbg (3, "Sending time: '%s'\n", (char *) data)); return pixma_exec (s, &mp->cb); } +#endif /* TODO: Simplify this function. Read the whole data packet in one shot. */ static int read_image_block (pixma_t * s, uint8_t * header, uint8_t * data) @@ -1157,7 +1159,10 @@ static int handle_interrupt (pixma_t * s, int timeout) { /* More than one event can be reported at the same time. */ if (buf[3] & 1) - send_time (s); /* FIXME: some scanners hang here */ + /* FIXME: This function makes trouble with a lot of scanners + send_time (s); + */ + PDBG (pixma_dbg (1, "WARNING:send_time() disabled!\n")); if (buf[9] & 2) query_status (s); diff --git a/backend/pixma_sane_options.c b/backend/pixma_sane_options.c index 890b3ff..2e4a054 100644 --- a/backend/pixma_sane_options.c +++ b/backend/pixma_sane_options.c @@ -7,6 +7,8 @@ static const SANE_Range constraint_threshold = { 0,100,1 }; static const SANE_Range constraint_threshold_curve = { 0,127,1 }; +static const SANE_Range constraint_adf_wait = + { 0,3600,1 }; static @@ -340,6 +342,21 @@ int build_option_descriptors(struct pixma_sane_t *ss) sod->constraint.range = &constraint_threshold_curve; OPT_IN_CTX[opt_threshold_curve].info = 0; + opt = &(OPT_IN_CTX[opt_adf_wait]); + sod = &opt->sod; + sod->type = SANE_TYPE_INT; + sod->title = SANE_I18N("ADF Waiting Time"); + sod->desc = SANE_I18N("When set, the scanner searches the waiting time in seconds for a new document inserted into the automatic document feeder."); + sod->name = "adf-wait"; + sod->unit = SANE_UNIT_NONE; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE; + sod->constraint_type = SANE_CONSTRAINT_RANGE; + sod->constraint.range = &constraint_adf_wait; + OPT_IN_CTX[opt_adf_wait].info = 0; + opt->def.w = 0; + opt->val.w = 0; + return 0; } diff --git a/backend/pixma_sane_options.h b/backend/pixma_sane_options.h index ccc9e34..669a234 100644 --- a/backend/pixma_sane_options.h +++ b/backend/pixma_sane_options.h @@ -35,6 +35,7 @@ typedef enum { opt__group_5, opt_threshold, opt_threshold_curve, + opt_adf_wait, opt_last } option_t; diff --git a/backend/plustek.c b/backend/plustek.c index cd83c26..062df37 100644 --- a/backend/plustek.c +++ b/backend/plustek.c @@ -416,21 +416,21 @@ sig_chldhandler( int signo ) /** signal handler to kill the child process */ -static RETSIGTYPE +static void reader_process_sigterm_handler( int signo ) { DBG( _DBG_PROC, "(SIG) reader_process: terminated by signal %d\n", signo ); _exit( SANE_STATUS_GOOD ); } -static RETSIGTYPE +static void usb_reader_process_sigterm_handler( int signo ) { DBG( _DBG_PROC, "(SIG) reader_process: terminated by signal %d\n", signo ); cancelRead = SANE_TRUE; } -static RETSIGTYPE +static void sigalarm_handler( int signo ) { _VAR_NOT_USED( signo ); @@ -572,7 +572,7 @@ do_cancel( Plustek_Scanner *scanner, SANE_Bool closepipe ) DBG( _DBG_PROC,"do_cancel\n" ); scanner->scanning = SANE_FALSE; - if( scanner->reader_pid != -1 ) { + if( sanei_thread_is_valid (scanner->reader_pid) ) { DBG( _DBG_PROC, ">>>>>>>> killing reader_process <<<<<<<<\n" ); @@ -2629,7 +2629,7 @@ sane_start( SANE_Handle handle ) cancelRead = SANE_FALSE; - if( s->reader_pid == -1 ) { + if( !sanei_thread_is_valid (s->reader_pid) ) { DBG( _DBG_ERROR, "ERROR: could not start reader task\n" ); s->scanning = SANE_FALSE; usbDev_close( dev ); diff --git a/backend/plustek_pp.c b/backend/plustek_pp.c index bf4c0d0..f48c3dc 100644 --- a/backend/plustek_pp.c +++ b/backend/plustek_pp.c @@ -348,13 +348,13 @@ static void sig_chldhandler( int signo ) /** signal handler to kill the child process */ -static RETSIGTYPE reader_process_sigterm_handler( int signo ) +static void reader_process_sigterm_handler( int signo ) { DBG( _DBG_PROC, "reader_process: terminated by signal %d\n", signo ); _exit( SANE_STATUS_GOOD ); } -static RETSIGTYPE sigalarm_handler( int signo ) +static void sigalarm_handler( int signo ) { _VAR_NOT_USED( signo ); DBG( _DBG_PROC, "ALARM!!!\n" ); @@ -471,7 +471,7 @@ static SANE_Status do_cancel( Plustek_Scanner *scanner, SANE_Bool closepipe ) scanner->scanning = SANE_FALSE; - if( scanner->reader_pid != -1 ) { + if( sanei_thread_is_valid( scanner->reader_pid )) { DBG( _DBG_PROC, ">>>>>>>> killing reader_process <<<<<<<<\n" ); @@ -2014,7 +2014,7 @@ SANE_Status sane_start( SANE_Handle handle ) s->w_pipe = fds[1]; s->reader_pid = sanei_thread_begin( reader_process, s ); - if( s->reader_pid == -1 ) { + if(!sanei_thread_is_valid( s->reader_pid )) { DBG( _DBG_ERROR, "ERROR: could not create child process\n" ); s->scanning = SANE_FALSE; s->hw->close( s->hw ); diff --git a/backend/pnm.c b/backend/pnm.c index b8d3192..ff4e2f2 100644 --- a/backend/pnm.c +++ b/backend/pnm.c @@ -649,7 +649,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, v = 75; DBG (2, "sane_control_option: handle=%p, opt=%d, act=%d, val=%p, info=%p\n", - handle, option, action, value, info); + handle, option, action, value, (void *) info); if (handle != MAGIC || !is_open) { diff --git a/backend/rts8891.c b/backend/rts8891.c index bdb4011..0eaff7b 100644 --- a/backend/rts8891.c +++ b/backend/rts8891.c @@ -617,7 +617,7 @@ set_automatic_value (Rts8891_Session * s, int option, SANE_Int * myinfo) { SANE_Status status = SANE_STATUS_GOOD; SANE_Int i, min; - SANE_Word *dpi_list; + const SANE_Word *dpi_list; switch (option) { @@ -639,7 +639,7 @@ set_automatic_value (Rts8891_Session * s, int option, SANE_Int * myinfo) break; case OPT_RESOLUTION: /* we set up to the lowest available dpi value */ - dpi_list = (SANE_Word *) s->opt[OPT_RESOLUTION].constraint.word_list; + dpi_list = s->opt[OPT_RESOLUTION].constraint.word_list; min = 65536; for (i = 1; i < dpi_list[0]; i++) { @@ -2233,11 +2233,11 @@ sane_close (SANE_Handle handle) if (session->dev->model->gamma != session->val[OPT_GAMMA_VECTOR_B].wa) free (session->val[OPT_GAMMA_VECTOR_B].wa); free (session->val[OPT_MODE].s); - free (session->opt[OPT_RESOLUTION].constraint.word_list); + free ((void *) session->opt[OPT_RESOLUTION].constraint.word_list); for (i = OPT_BUTTON_1; i <= OPT_BUTTON_11; i++) { - free (session->opt[i].name); - free (session->opt[i].title); + free ((void *) session->opt[i].name); + free ((void *) session->opt[i].title); } free (session); @@ -7702,7 +7702,7 @@ park_head (struct Rts8891_Device *dev, SANE_Bool wait) sanei_rts88xx_read_reg (dev->devnum, CONTROLER_REG, ®); if (reg != 0x20) { - DBG (DBG_warn, "park_head: unexpected controler value 0x%02x\n", reg); + DBG (DBG_warn, "park_head: unexpected controller value 0x%02x\n", reg); } /* head parking */ diff --git a/backend/rts88xx_lib.c b/backend/rts88xx_lib.c index bbbc83a..8e921f2 100644 --- a/backend/rts88xx_lib.c +++ b/backend/rts88xx_lib.c @@ -686,7 +686,7 @@ sanei_rts88xx_setup_nvram (SANE_Int devnum, SANE_Int length, if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "sanei_rts88xx_setup_nvram : controler register write failed\n"); + "sanei_rts88xx_setup_nvram : controller register write failed\n"); return status; } reg = 1; @@ -694,7 +694,7 @@ sanei_rts88xx_setup_nvram (SANE_Int devnum, SANE_Int length, if (status != SANE_STATUS_GOOD) { DBG (DBG_error, - "sanei_rts88xx_setup_nvram : controler register write failed\n"); + "sanei_rts88xx_setup_nvram : controller register write failed\n"); return status; } return status; diff --git a/backend/sharp.c b/backend/sharp.c index 1225a57..69f5000 100644 --- a/backend/sharp.c +++ b/backend/sharp.c @@ -370,7 +370,7 @@ sense_handler(int __sane_unused__ fd, u_char *sense_buffer, void *s) DBG(10, "error: invalid field in parameter list\n"); return SANE_STATUS_IO_ERROR; case 0x29: - DBG(10, "note: reset occured\n"); + DBG(10, "note: reset occurred\n"); return SANE_STATUS_GOOD; case 0x2a: DBG(10, "note: mode parameter change\n"); @@ -495,7 +495,7 @@ sense_handler(int __sane_unused__ fd, u_char *sense_buffer, void *s) switch (add_sense_code) { case 0x29: - DBG(5, "unit attention: reset occured\n"); + DBG(5, "unit attention: reset occurred\n"); return SANE_STATUS_GOOD; case 0x2a: DBG(5, "unit attention: parameter changed by " @@ -3299,7 +3299,7 @@ send_threshold_data(SHARP_Scanner *s) SANE_Status sane_start (SANE_Handle handle) { - char *mode, *halftone, *paper, *gamma, *edge, *lightcolor, *adf_fsu; + char *mode, *halftone, *gamma, *edge, *lightcolor, *adf_fsu; SHARP_Scanner *s = handle; SANE_Status status; size_t buf_size; @@ -3436,7 +3436,6 @@ sane_start (SANE_Handle handle) mode = s->val[OPT_MODE].s; halftone = s->val[OPT_HALFTONE].s; - paper = s->val[OPT_PAPER].s; gamma = s->val[OPT_GAMMA].s; edge = s->val[OPT_EDGE_EMPHASIS].s; lightcolor = s->val[OPT_LIGHTCOLOR].s; diff --git a/backend/sm3600.c b/backend/sm3600.c index dd1f31f..908e8be 100644 --- a/backend/sm3600.c +++ b/backend/sm3600.c @@ -73,7 +73,7 @@ Start: 2.4.2001 #include "../include/sane/saneopts.h" #include "../include/sane/sanei_usb.h" -#undef HAVE_LIBUSB +#undef HAVE_LIBUSB_LEGACY /* prevent inclusion of scantool.h */ #define SCANTOOL_H @@ -431,13 +431,11 @@ sane_exit (void) SANE_Status sane_get_devices (const SANE_Device *** device_list, - SANE_Bool local_only) + SANE_Bool __sane_unused__ local_only) { TDevice *dev; int i; - local_only = TRUE; /* Avoid compile warning */ - if (devlist) free (devlist); devlist = malloc ((num_devices + 1) * sizeof (devlist[0])); @@ -458,7 +456,6 @@ sane_open (SANE_String_Const devicename, SANE_Handle *handle) { TDevice *pdev; TInstance *this; - SANE_Status rc; DBG(DEBUG_VERBOSE,"opening %s\n",devicename); if (devicename[0]) /* selected */ { @@ -488,8 +485,6 @@ DBG(DEBUG_VERBOSE,"%s<>%s\n",devicename, pdev->sane.name); if (sanei_usb_open (devicename, &this->hScanner) != SANE_STATUS_GOOD) return SetError (this, SANE_STATUS_IO_ERROR, "cannot open scanner device"); - rc = SANE_STATUS_GOOD; - this->quality=fast; return InitOptions(this); } diff --git a/backend/sm3840.c b/backend/sm3840.c old mode 100755 new mode 100644 diff --git a/backend/sm3840.h b/backend/sm3840.h old mode 100755 new mode 100644 diff --git a/backend/sm3840_lib.c b/backend/sm3840_lib.c old mode 100755 new mode 100644 index 485003c..163b356 --- a/backend/sm3840_lib.c +++ b/backend/sm3840_lib.c @@ -191,12 +191,12 @@ find_device (unsigned int idVendor, unsigned int idProduct) static void idle_ab (p_usb_dev_handle udev) { - int len, i; + int i; unsigned char buff[8] = { 0x64, 0x65, 0x16, 0x17, 0x64, 0x65, 0x44, 0x45 }; for (i = 0; i < 8; i++) { - len = usb_control_msg (udev, 0x40, 0x0c, 0x0090, 0x0000, buff + i, - 0x0001, wr_timeout); + usb_control_msg (udev, 0x40, 0x0c, 0x0090, 0x0000, buff + i, + 0x0001, wr_timeout); } } @@ -208,7 +208,7 @@ write_regs (p_usb_dev_handle udev, int regs, unsigned char reg1, { unsigned char buff[512]; va_list marker; - int len, i; + int i; va_start (marker, val1); buff[0] = reg1; @@ -220,8 +220,8 @@ write_regs (p_usb_dev_handle udev, int regs, unsigned char reg1, } va_end (marker); - len = usb_control_msg (udev, 0x40, 0x04, 0x00b0, 0x0000, buff, - regs * 2, wr_timeout); + usb_control_msg (udev, 0x40, 0x04, 0x00b0, 0x0000, buff, + regs * 2, wr_timeout); } static int @@ -297,7 +297,6 @@ record_line (int reset, unsigned char **save_dpi1200_remap, unsigned char **save_color_remap) { - int len; unsigned char *scan_line, *dpi1200_remap; unsigned char *color_remap; int i; @@ -374,7 +373,7 @@ record_line (int reset, while (1) { /* We'll exit inside the loop... */ - len = usb_bulk_read (udev, 1, scan_line, linelen, rd_timeout); + usb_bulk_read (udev, 1, scan_line, linelen, rd_timeout); if (dpi == 1200) { ptrcur = dpi1200_remap + (linelen * (i % DPI1200SHUFFLE)); @@ -886,7 +885,6 @@ download_lut8 (p_usb_dev_handle udev, int dpi, int incolor) 4.40306800664567E-31 }; unsigned char *lut; - int len; DBG (2, "+download_lut8\n"); switch (dpi) @@ -904,7 +902,7 @@ download_lut8 (p_usb_dev_handle udev, int dpi, int incolor) write_regs (udev, 6, 0xb0, 0x00, 0xb1, 0x20, 0xb2, 0x07, 0xb3, 0xff, 0xb4, 0x2f, 0xb5, 0x07); write_vctl (udev, 0x0c, 0x0002, 0x1000, 0x00); - len = usb_bulk_write (udev, 2, lut, 4096, wr_timeout); + usb_bulk_write (udev, 2, lut, 4096, wr_timeout); } else { @@ -912,15 +910,15 @@ download_lut8 (p_usb_dev_handle udev, int dpi, int incolor) write_regs (udev, 6, 0xb0, 0x00, 0xb1, 0x10, 0xb2, 0x07, 0xb3, 0xff, 0xb4, 0x1f, 0xb5, 0x07); write_vctl (udev, 0x0c, 0x0002, 0x1000, 0x00); - len = usb_bulk_write (udev, 2, lut, 4096, wr_timeout); + usb_bulk_write (udev, 2, lut, 4096, wr_timeout); write_regs (udev, 6, 0xb0, 0x00, 0xb1, 0x20, 0xb2, 0x07, 0xb3, 0xff, 0xb4, 0x2f, 0xb5, 0x07); write_vctl (udev, 0x0c, 0x0002, 0x1000, 0x00); - len = usb_bulk_write (udev, 2, lut, 4096, wr_timeout); + usb_bulk_write (udev, 2, lut, 4096, wr_timeout); write_regs (udev, 6, 0xb0, 0x00, 0xb1, 0x30, 0xb2, 0x07, 0xb3, 0xff, 0xb4, 0x3f, 0xb5, 0x07); write_vctl (udev, 0x0c, 0x0002, 0x1000, 0x00); - len = usb_bulk_write (udev, 2, lut, 4096, wr_timeout); + usb_bulk_write (udev, 2, lut, 4096, wr_timeout); } break; @@ -936,7 +934,7 @@ download_lut8 (p_usb_dev_handle udev, int dpi, int incolor) write_regs (udev, 6, 0xb0, 0x00, 0xb1, 0x40, 0xb2, 0x06, 0xb3, 0xff, 0xb4, 0x5f, 0xb5, 0x06); write_vctl (udev, 0x0c, 0x0002, 0x2000, 0x00); - len = usb_bulk_write (udev, 2, lut, 8192, wr_timeout); + usb_bulk_write (udev, 2, lut, 8192, wr_timeout); } else { @@ -944,15 +942,15 @@ download_lut8 (p_usb_dev_handle udev, int dpi, int incolor) write_regs (udev, 6, 0xb0, 0x00, 0xb1, 0x20, 0xb2, 0x06, 0xb3, 0xff, 0xb4, 0x3f, 0xb5, 0x06); write_vctl (udev, 0x0c, 0x0002, 0x2000, 0x00); - len = usb_bulk_write (udev, 2, lut, 8192, wr_timeout); + usb_bulk_write (udev, 2, lut, 8192, wr_timeout); write_regs (udev, 6, 0xb0, 0x00, 0xb1, 0x40, 0xb2, 0x06, 0xb3, 0xff, 0xb4, 0x5f, 0xb5, 0x06); write_vctl (udev, 0x0c, 0x0002, 0x2000, 0x00); - len = usb_bulk_write (udev, 2, lut, 8192, wr_timeout); + usb_bulk_write (udev, 2, lut, 8192, wr_timeout); write_regs (udev, 6, 0xb0, 0x00, 0xb1, 0x60, 0xb2, 0x06, 0xb3, 0xff, 0xb4, 0x7f, 0xb5, 0x06); write_vctl (udev, 0x0c, 0x0002, 0x2000, 0x00); - len = usb_bulk_write (udev, 2, lut, 8192, wr_timeout); + usb_bulk_write (udev, 2, lut, 8192, wr_timeout); } break; } diff --git a/backend/sm3840_lib.h b/backend/sm3840_lib.h old mode 100755 new mode 100644 diff --git a/backend/sm3840_scan.c b/backend/sm3840_scan.c old mode 100755 new mode 100644 index e9442a7..148e37b --- a/backend/sm3840_scan.c +++ b/backend/sm3840_scan.c @@ -158,7 +158,6 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) int scanlines = p->scanlines; int leftpix = p->leftpix; int scanpix = p->scanpix; - int len; unsigned char hello[2] = { 0x55, 0xaa }; unsigned char howdy[3]; unsigned short *whitebalance; @@ -182,11 +181,11 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) char fname[64]; char head[128]; - len = usb_set_configuration (udev, 1); - len = usb_claim_interface (udev, 0); - len = usb_clear_halt (udev, 1); - len = usb_clear_halt (udev, 2); - len = usb_clear_halt (udev, 3); + usb_set_configuration (udev, 1); + usb_claim_interface (udev, 0); + usb_clear_halt (udev, 1); + usb_clear_halt (udev, 2); + usb_clear_halt (udev, 3); #endif DBG (2, "params.gray = %d;\n", p->gray); DBG (2, "params.dpi = %d\n", p->dpi); @@ -255,12 +254,12 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) write_regs (udev, 1, 0xb1, 0x00); write_regs (udev, 1, 0xb2, 0x00); write_vctl (udev, 0x0c, 0x0002, 0x0002, 0x00); - len = usb_bulk_write (udev, 2, hello, 2, wr_timeout); + usb_bulk_write (udev, 2, hello, 2, wr_timeout); write_regs (udev, 1, 0xb0, 0x00); write_regs (udev, 1, 0xb1, 0x00); write_regs (udev, 1, 0xb2, 0x00); write_vctl (udev, 0x0c, 0x0003, 0x0003, 0x00); - len = usb_bulk_read (udev, 1, howdy, 3, rd_timeout); + usb_bulk_read (udev, 1, howdy, 3, rd_timeout); write_regs (udev, 4, 0x83, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0x97, 0x0a); write_vctl (udev, 0x0c, 0x0004, 0x008b, 0x00); read_vctl (udev, 0x0c, 0x0007, 0x0000, &rd_byte); @@ -318,9 +317,8 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) write_regs (udev, 6, 0xb0, 0x00, 0xb1, 0x40, 0xb2, 0x07, 0xb3, 0xff, 0xb4, 0x7f, 0xb5, 0x07); write_vctl (udev, 0x0c, 0x0002, whitemapsize, 0x00); - len = - usb_bulk_write (udev, 2, (unsigned char *) whitemap, whitemapsize, - wr_timeout); + usb_bulk_write (udev, 2, (unsigned char *) whitemap, whitemapsize, + wr_timeout); set_lightmap_white (whitemap, dpi, 1); if (dpi == 1200) @@ -330,9 +328,8 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) write_regs (udev, 6, 0xb0, 0x00, 0xb1, 0x80, 0xb2, 0x07, 0xb3, 0xff, 0xb4, 0xbf, 0xb5, 0x07); write_vctl (udev, 0x0c, 0x0002, whitemapsize, 0x00); - len = - usb_bulk_write (udev, 2, (unsigned char *) whitemap, whitemapsize, - wr_timeout); + usb_bulk_write (udev, 2, (unsigned char *) whitemap, whitemapsize, + wr_timeout); set_lightmap_white (whitemap, dpi, 2); if (dpi == 1200) @@ -342,9 +339,8 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) write_regs (udev, 6, 0xb0, 0x00, 0xb1, 0xc0, 0xb2, 0x07, 0xb3, 0xff, 0xb4, 0xff, 0xb5, 0x07); write_vctl (udev, 0x0c, 0x0002, whitemapsize, 0x00); - len = - usb_bulk_write (udev, 2, (unsigned char *) whitemap, whitemapsize, - wr_timeout); + usb_bulk_write (udev, 2, (unsigned char *) whitemap, whitemapsize, + wr_timeout); free (whitemap); @@ -391,11 +387,10 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) write_regs (udev, 1, 0xbe, 0x0d); write_vctl (udev, 0x0c, 0x0003, 0x0001, 0x00); whitebalance = (unsigned short *) malloc (whitebalancesize); - len = usb_bulk_read (udev, 1, &rd_byte, 1, rd_timeout); + usb_bulk_read (udev, 1, &rd_byte, 1, rd_timeout); write_vctl (udev, 0x0c, 0x0001, 0x0000, 0x00); - len = - usb_bulk_read (udev, 1, (unsigned char *) whitebalance, whitebalancesize, - rd_timeout); + usb_bulk_read (udev, 1, (unsigned char *) whitebalance, whitebalancesize, + rd_timeout); write_regs (udev, 2, 0xbe, 0x00, 0x84, 0x00); write_vctl (udev, 0x0c, 0x00c0, 0x8406, 0x00); write_vctl (udev, 0x0c, 0x00c0, 0x0406, 0x00); @@ -419,11 +414,10 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) 0xbf, 0x00, 0x90, 0x40, 0x91, 0x00, 0x83, 0x82); write_regs (udev, 1, 0xbe, 0x0d); write_vctl (udev, 0x0c, 0x0003, 0x0001, 0x00); - len = usb_bulk_read (udev, 1, &rd_byte, 1, rd_timeout); + usb_bulk_read (udev, 1, &rd_byte, 1, rd_timeout); write_vctl (udev, 0x0c, 0x0001, 0x0000, 0x00); - len = - usb_bulk_read (udev, 1, (unsigned char *) whitebalance, - whitebalancesize, rd_timeout); + usb_bulk_read (udev, 1, (unsigned char *) whitebalance, + whitebalancesize, rd_timeout); fix_endian_short (whitebalance, whitebalancesize/2); if (!donered) { @@ -485,11 +479,10 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) 0xbf, 0x00, 0x90, 0x40, 0x91, 0x00, 0x83, 0x82); write_regs (udev, 1, 0xbe, 0x0d); write_vctl (udev, 0x0c, 0x0003, 0x0001, 0x00); - len = usb_bulk_read (udev, 1, &rd_byte, 1, rd_timeout); + usb_bulk_read (udev, 1, &rd_byte, 1, rd_timeout); write_vctl (udev, 0x0c, 0x0001, 0x0000, 0x00); - len = - usb_bulk_read (udev, 1, (unsigned char *) whitebalance, - whitebalancesize, rd_timeout); + usb_bulk_read (udev, 1, (unsigned char *) whitebalance, + whitebalancesize, rd_timeout); fix_endian_short (whitebalance, whitebalancesize/2); if (!donered) { @@ -601,7 +594,7 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) 0x00, 0x90, 0x40, 0x91, 0x00, 0x83, 0x82); write_regs (udev, 1, 0xbe, 0x1d); write_vctl (udev, 0x0c, 0x0003, 0x0001, 0x00); - len = usb_bulk_read (udev, 1, &rd_byte, 1, rd_timeout); + usb_bulk_read (udev, 1, &rd_byte, 1, rd_timeout); write_vctl (udev, 0x0c, 0x0001, 0x0000, 0x00); record_mem (udev, (unsigned char **) (void *)&whitescan, (5632 * 2 * 3 * (dpi == 1200 ? 2 : 1)) * 4); @@ -756,9 +749,8 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) write_regs (udev, 6, 0xb0, 0x00, 0xb1, 0x40, 0xb2, 0x07, 0xb3, 0xff, 0xb4, 0x7f, 0xb5, 0x07); write_vctl (udev, 0x0c, 0x0002, whitemapsize, 0x00); - len = - usb_bulk_write (udev, 2, (unsigned char *) lightmap, whitemapsize, - wr_timeout); + usb_bulk_write (udev, 2, (unsigned char *) lightmap, whitemapsize, + wr_timeout); calc_lightmap (whitescan, lightmap, 1, dpi, gain, offset); if (dpi == 1200) @@ -772,9 +764,8 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) if (gray) for (i = 0; i < whitemapsize / 2; i++) lightmap[i] |= GRAYMASK; - len = - usb_bulk_write (udev, 2, (unsigned char *) lightmap, whitemapsize, - wr_timeout); + usb_bulk_write (udev, 2, (unsigned char *) lightmap, whitemapsize, + wr_timeout); calc_lightmap (whitescan, lightmap, 2, dpi, gain, offset); if (dpi == 1200) @@ -784,9 +775,8 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) write_regs (udev, 6, 0xb0, 0x00, 0xb1, 0xc0, 0xb2, 0x07, 0xb3, 0xff, 0xb4, 0xff, 0xb5, 0x07); write_vctl (udev, 0x0c, 0x0002, whitemapsize, 0x00); - len = - usb_bulk_write (udev, 2, (unsigned char *) lightmap, whitemapsize, - wr_timeout); + usb_bulk_write (udev, 2, (unsigned char *) lightmap, whitemapsize, + wr_timeout); free (whitescan); free (lightmap); @@ -922,7 +912,7 @@ setup_scan (p_usb_dev_handle udev, SM3840_Params * p) else write_regs (udev, 1, 0xbe, 0x0d); write_vctl (udev, 0x0c, 0x0003, 0x0001, 0x00); - len = usb_bulk_read (udev, 1, &rd_byte, 1, rd_timeout); + usb_bulk_read (udev, 1, &rd_byte, 1, rd_timeout); write_vctl (udev, 0x0c, 0x0001, 0x0000, 0x00); #ifndef BACKENDNAME diff --git a/backend/snapscan-mutex.c b/backend/snapscan-mutex.c index 0321741..ad0538a 100644 --- a/backend/snapscan-mutex.c +++ b/backend/snapscan-mutex.c @@ -44,7 +44,7 @@ #include #define snapscan_mutex_t sem_id -static int snapscani_mutex_open(snapscan_mutex_t* a_sem, const char* dev UNUSEDARG) +static int snapscani_mutex_open(snapscan_mutex_t* a_sem, const char* dev __sane_unused__) { *a_sem = create_sem(1, "snapscan_mutex"); return 1; @@ -72,7 +72,7 @@ static void snapscani_mutex_unlock(snapscan_mutex_t* a_sem) #include #define snapscan_mutex_t pthread_mutex_t -static int snapscani_mutex_open(snapscan_mutex_t* sem_id, const char* dev UNUSEDARG) +static int snapscani_mutex_open(snapscan_mutex_t* sem_id, const char* dev __sane_unused__) { pthread_mutex_init(sem_id, NULL); return 1; diff --git a/backend/snapscan-sources.c b/backend/snapscan-sources.c index 63eadb2..dc78394 100644 --- a/backend/snapscan-sources.c +++ b/backend/snapscan-sources.c @@ -105,10 +105,6 @@ I hope this makes sense to you (and I got the right idea of the original author' intention). ***********************************************************************************/ -#ifndef __FUNCTION__ -#define __FUNCTION__ "(undef)" -#endif - static SANE_Status Source_init (Source *pself, SnapScan_Scanner *pss, SourceRemaining remaining, @@ -266,13 +262,13 @@ static SANE_Status FDSource_get (Source *pself, SANE_Byte *pbuf, SANE_Int *plen) } /* It's an IO error */ DBG (DL_MAJOR_ERROR, "%s: read failed: %s\n", - __FUNCTION__, strerror(errno)); + __func__, strerror(errno)); status = SANE_STATUS_IO_ERROR; } else if (bytes_read == 0) { /* EOF of current reading */ - DBG(DL_DATA_TRACE, "%s: EOF\n",__FUNCTION__); + DBG(DL_DATA_TRACE, "%s: EOF\n",__func__); break; } ps->bytes_remaining -= bytes_read; @@ -623,7 +619,7 @@ static SANE_Status Expander_init (Expander *pself, { DBG (DL_MAJOR_ERROR, "%s: couldn't allocate channel buffer.\n", - __FUNCTION__); + __func__); status = SANE_STATUS_NO_MEM; } else @@ -654,7 +650,7 @@ static SANE_Status create_Expander (SnapScan_Scanner *pss, { DBG (DL_MAJOR_ERROR, "%s: failed to allocate Expander.\n", - __FUNCTION__); + __func__); status = SANE_STATUS_NO_MEM; } else @@ -871,7 +867,7 @@ static SANE_Status Deinterlacer_init (Deinterlacer *pself, { DBG (DL_MAJOR_ERROR, "%s: couldn't allocate channel buffer.\n", - __FUNCTION__); + __func__); status = SANE_STATUS_NO_MEM; } else @@ -901,7 +897,7 @@ static SANE_Status create_Deinterlacer (SnapScan_Scanner *pss, { DBG (DL_MAJOR_ERROR, "%s: failed to allocate Deinterlacer.\n", - __FUNCTION__); + __func__); status = SANE_STATUS_NO_MEM; } else @@ -1106,7 +1102,7 @@ static SANE_Status RGBRouter_init (RGBRouter *pself, { DBG (DL_MAJOR_ERROR, "%s: failed to allocate circular buffer.\n", - __FUNCTION__); + __func__); status = SANE_STATUS_NO_MEM; } else @@ -1141,7 +1137,7 @@ static SANE_Status create_RGBRouter (SnapScan_Scanner *pss, if (*pps == NULL) { DBG (DL_MAJOR_ERROR, "%s: failed to allocate RGBRouter.\n", - __FUNCTION__); + __func__); status = SANE_STATUS_NO_MEM; } else @@ -1193,7 +1189,7 @@ static SANE_Status create_Inverter (SnapScan_Scanner *pss, if (*pps == NULL) { DBG (DL_MAJOR_ERROR, "%s: failed to allocate Inverter.\n", - __FUNCTION__); + __func__); status = SANE_STATUS_NO_MEM; } else @@ -1256,7 +1252,7 @@ static SANE_Status create_source_chain (SnapScan_Scanner *pss, break; default: DBG (DL_MAJOR_ERROR, "%s: bad mode value %d (internal error)\n", - __FUNCTION__, mode); + __func__, mode); status = SANE_STATUS_INVAL; break; } diff --git a/backend/snapscan.c b/backend/snapscan.c index 3c0fb81..c88537b 100644 --- a/backend/snapscan.c +++ b/backend/snapscan.c @@ -82,12 +82,6 @@ #define BUILD 53 #define BACKEND_NAME snapscan -#ifdef __GNUC__ -#define UNUSEDARG __attribute__ ((unused)) -#else -#define UNUSEDARG -#endif - #include "../include/sane/sanei_backend.h" #include "../include/sane/saneopts.h" @@ -1217,13 +1211,13 @@ static void reader (SnapScan_Scanner *pss) /** signal handler to kill the child process */ -static RETSIGTYPE usb_reader_process_sigterm_handler( int signo ) +static void usb_reader_process_sigterm_handler( int signo ) { DBG( DL_INFO, "(SIG) reader_process: terminated by signal %d\n", signo ); cancelRead = SANE_TRUE; } -static RETSIGTYPE sigalarm_handler( int signo UNUSEDARG) +static void sigalarm_handler( int signo __sane_unused__) { DBG( DL_INFO, "ALARM!!!\n" ); } @@ -1301,7 +1295,7 @@ static SANE_Status start_reader (SnapScan_Scanner *pss) cancelRead = SANE_FALSE; - if (pss->child == -1) + if (!sanei_thread_is_valid (pss->child)) { /* we'll have to read in blocking mode */ DBG (DL_MAJOR_ERROR, @@ -1815,7 +1809,7 @@ SANE_Status sane_read (SANE_Handle h, if (pss->psrc == NULL || pss->psrc->remaining(pss->psrc) == 0) { - if (pss->child != -1) + if (sanei_thread_is_valid (pss->child)) { sanei_thread_waitpid (pss->child, 0); /* ensure no zombies */ pss->child = -1; @@ -1875,7 +1869,7 @@ void sane_cancel (SANE_Handle h) /* signal a cancellation has occurred */ pss->state = ST_CANCEL_INIT; /* signal the reader, if any */ - if (pss->child != -1) + if (sanei_thread_is_valid (pss->child)) { DBG( DL_INFO, ">>>>>>>> killing reader_process <<<<<<<<\n" ); @@ -1941,7 +1935,7 @@ SANE_Status sane_set_io_mode (SANE_Handle h, SANE_Bool m) if (m) { - if (pss->child == -1) + if (!sanei_thread_is_valid (pss->child)) { DBG (DL_MINOR_INFO, "%s: no reader child; must use blocking mode.\n", @@ -1971,7 +1965,7 @@ SANE_Status sane_get_select_fd (SANE_Handle h, SANE_Int * fd) if (pss->state != ST_SCAN_INIT) return SANE_STATUS_INVAL; - if (pss->child == -1) + if (!sanei_thread_is_valid (pss->child)) { DBG (DL_MINOR_INFO, "%s: no reader child; cannot provide select file descriptor.\n", diff --git a/backend/sp15c.c b/backend/sp15c.c index 3937a30..0cabed8 100644 --- a/backend/sp15c.c +++ b/backend/sp15c.c @@ -1762,7 +1762,7 @@ do_cancel (struct sp15c *scanner) do_eof (scanner); /* close pipe and reposition scanner */ - if (scanner->reader_pid != -1) + if (sanei_thread_is_valid (scanner->reader_pid)) { int exit_status; DBG (10, "do_cancel: kill reader_process\n"); diff --git a/backend/stv680.conf.in b/backend/stv680.conf.in old mode 100755 new mode 100644 diff --git a/backend/stv680.h b/backend/stv680.h old mode 100755 new mode 100644 diff --git a/backend/tamarack.c b/backend/tamarack.c index e7073af..6fc259f 100644 --- a/backend/tamarack.c +++ b/backend/tamarack.c @@ -470,7 +470,7 @@ do_cancel (Tamarack_Scanner *s) do_eof (s); - if (s->reader_pid != -1) + if (sanei_thread_is_valid (s->reader_pid)) { int exit_status; @@ -1442,7 +1442,7 @@ sane_cancel (SANE_Handle handle) { Tamarack_Scanner *s = handle; - if (s->reader_pid != -1) + if (sanei_thread_is_valid (s->reader_pid)) sanei_thread_kill (s->reader_pid); s->scanning = SANE_FALSE; } diff --git a/backend/test.c b/backend/test.c index d5b7365..2ca5b3b 100644 --- a/backend/test.c +++ b/backend/test.c @@ -1355,7 +1355,7 @@ finish_pass (Test_Device * test_device) DBG (2, "finish_pass: pipe closed\n"); test_device->pipe = -1; } - if (test_device->reader_pid != -1) + if (sanei_thread_is_valid (test_device->reader_pid)) { int status; SANE_Pid pid; @@ -1364,7 +1364,7 @@ finish_pass (Test_Device * test_device) (long) test_device->reader_pid); sanei_thread_kill (test_device->reader_pid); pid = sanei_thread_waitpid (test_device->reader_pid, &status); - if (pid == -1) + if (!sanei_thread_is_valid (pid)) { DBG (1, "finish_pass: sanei_thread_waitpid failed, already terminated? (%s)\n", @@ -2568,7 +2568,7 @@ sane_start (SANE_Handle handle) test_device->reader_pid = sanei_thread_begin (reader_task, (void *) test_device); - if (test_device->reader_pid == -1) + if (!sanei_thread_is_valid (test_device->reader_pid)) { DBG (1, "sane_start: sanei_thread_begin failed (%s)\n", strerror (errno)); diff --git a/backend/u12-hw.c b/backend/u12-hw.c index 89f37be..e21c78a 100644 --- a/backend/u12-hw.c +++ b/backend/u12-hw.c @@ -338,7 +338,6 @@ static void u12hw_SetGeneralRegister( U12_Device *dev ) static void u12hw_SetupPreviewCondition( U12_Device *dev ) { int i, c; - u_long channel; SANE_Byte rb[100]; DBG( _DBG_INFO, "u12_SetupPreviewCondition()\n" ); @@ -389,7 +388,6 @@ static void u12hw_SetupPreviewCondition( U12_Device *dev ) else dev->scan.bFifoSelect = REG_GFIFOOFFSET; - channel = _BLUE_FULLSIZE << 16; dev->regs.RD_BufFullSize = _SIZE_BLUEFIFO; dev->regs.RD_LineControl = _LOBYTE(dev->shade.wExposure); diff --git a/backend/u12.c b/backend/u12.c index 8401a9f..083d9f3 100644 --- a/backend/u12.c +++ b/backend/u12.c @@ -278,19 +278,19 @@ static void sig_chldhandler( int signo ) /** signal handler to kill the child process */ -static RETSIGTYPE reader_process_sigterm_handler( int signo ) +static void reader_process_sigterm_handler( int signo ) { DBG( _DBG_PROC, "(SIG) reader_process: terminated by signal %d\n", signo ); _exit( SANE_STATUS_GOOD ); } -static RETSIGTYPE usb_reader_process_sigterm_handler( int signo ) +static void usb_reader_process_sigterm_handler( int signo ) { DBG( _DBG_PROC, "(SIG) reader_process: terminated by signal %d\n", signo ); cancelRead = SANE_TRUE; } -static RETSIGTYPE sigalarm_handler( int signo ) +static void sigalarm_handler( int signo ) { _VAR_NOT_USED( signo ); DBG( _DBG_PROC, "ALARM!!!\n" ); @@ -391,7 +391,7 @@ static SANE_Status do_cancel( U12_Scanner *scanner, SANE_Bool closepipe ) scanner->scanning = SANE_FALSE; - if( scanner->reader_pid != -1 ) { + if( sanei_thread_is_valid (scanner->reader_pid) ) { DBG( _DBG_PROC, ">>>>>>>> killing reader_process <<<<<<<<\n" ); @@ -1731,7 +1731,7 @@ SANE_Status sane_start( SANE_Handle handle ) cancelRead = SANE_FALSE; - if( s->reader_pid == -1 ) { + if( !sanei_thread_is_valid (s->reader_pid) ) { DBG( _DBG_ERROR, "ERROR: could not start reader task\n" ); s->scanning = SANE_FALSE; u12if_close( dev ); diff --git a/backend/umax.c b/backend/umax.c index 0d8ddba..22fa2d3 100644 --- a/backend/umax.c +++ b/backend/umax.c @@ -399,7 +399,7 @@ static void umax_print_inquiry(Umax_Device *dev) DBG_inq_nz(" - relative address\n", get_inquiry_scsi_reladr(inquiry_block)); DBG_inq_nz(" - wide bus 32 bit\n", get_inquiry_scsi_wbus32(inquiry_block)); DBG_inq_nz(" - wide bus 16 bit\n", get_inquiry_scsi_wbus16(inquiry_block)); - DBG_inq_nz(" - syncronous neg.\n", get_inquiry_scsi_sync(inquiry_block)); + DBG_inq_nz(" - synchronous neg.\n", get_inquiry_scsi_sync(inquiry_block)); DBG_inq_nz(" - linked commands\n", get_inquiry_scsi_linked(inquiry_block)); DBG_inq_nz(" - (reserved)\n", get_inquiry_scsi_R(inquiry_block)); DBG_inq_nz(" - command queueing\n", get_inquiry_scsi_cmdqueue(inquiry_block)); @@ -526,7 +526,7 @@ static void umax_print_inquiry(Umax_Device *dev) DBG_inq_nz(" + ADF: no paper\n", get_inquiry_ADF_no_paper(inquiry_block)); DBG_inq_nz(" + ADF: cover open\n", get_inquiry_ADF_cover_open(inquiry_block)); DBG_inq_nz(" + ADF: paper jam\n", get_inquiry_ADF_paper_jam(inquiry_block)); - DBG_inq_nz(" - unknwon flag; 0x63 bit 3\n", get_inquiry_0x63_bit3(inquiry_block)); + DBG_inq_nz(" - unknown flag; 0x63 bit 3\n", get_inquiry_0x63_bit3(inquiry_block)); DBG_inq_nz(" - unknown lfag: 0x63 bit 4\n", get_inquiry_0x63_bit4(inquiry_block)); DBG_inq_nz(" - lens calib in doc pos\n", get_inquiry_lens_cal_in_doc_pos(inquiry_block)); DBG_inq_nz(" - manual focus\n", get_inquiry_manual_focus(inquiry_block)); @@ -4670,14 +4670,14 @@ static SANE_Status do_cancel(Umax_Scanner *scanner) scanner->scanning = SANE_FALSE; - if (scanner->reader_pid != -1) + if (sanei_thread_is_valid (scanner->reader_pid)) { DBG(DBG_sane_info,"killing reader_process\n"); sanei_thread_kill(scanner->reader_pid); pid = sanei_thread_waitpid(scanner->reader_pid, &status); - if (pid == -1) + if (!sanei_thread_is_valid (pid)) { DBG(DBG_sane_info, "do_cancel: sanei_thread_waitpid failed, already terminated ? (%s)\n", strerror(errno)); } @@ -4928,7 +4928,7 @@ static SANE_Status attach_scanner(const char *devicename, Umax_Device **devp, in /* ------------------------------------------------------------ READER PROCESS SIGTERM HANDLER ------------ */ -static RETSIGTYPE reader_process_sigterm_handler(int signal) +static void reader_process_sigterm_handler(int signal) { DBG(DBG_sane_info,"reader_process: terminated by signal %d\n", signal); @@ -7624,7 +7624,7 @@ SANE_Status sane_start(SANE_Handle handle) /* of the x-origin defined by the scanner`s inquiry */ if (scanner->device->dor != 0) /* dor mode active */ { - DBG(DBG_info,"substracting DOR x-origin-offset from upper left x\n"); + DBG(DBG_info,"subtracting DOR x-origin-offset from upper left x\n"); scanner->device->upper_left_x -= scanner->device->inquiry_dor_x_off * scanner->device->x_coordinate_base; /* correct DOR x-origin */ if (scanner->device->upper_left_x < 0) /* rounding errors may create a negative value */ @@ -7996,7 +7996,7 @@ SANE_Status sane_start(SANE_Handle handle) /* start reader_process, deponds on OS if fork() or threads are used */ scanner->reader_pid = sanei_thread_begin(reader_process, (void *) scanner); - if (scanner->reader_pid == -1) + if (!sanei_thread_is_valid (scanner->reader_pid)) { DBG(DBG_error, "ERROR: sanei_thread_begin failed (%s)\n", strerror(errno)); scanner->scanning = SANE_FALSE; diff --git a/backend/umax1220u.c b/backend/umax1220u.c index e04d908..79b8c92 100644 --- a/backend/umax1220u.c +++ b/backend/umax1220u.c @@ -742,7 +742,6 @@ void sane_close (SANE_Handle handle) { Umax_Scanner *prev, *scanner; - SANE_Status res; DBG (3, "sane_close\n"); @@ -775,7 +774,7 @@ sane_close (SANE_Handle handle) else first_handle = scanner->next; - res = UMAX_close_device (&scanner->scan); + UMAX_close_device (&scanner->scan); free (scanner); } diff --git a/backend/umax_pp.c b/backend/umax_pp.c index 90cd486..0f7ce4e 100644 --- a/backend/umax_pp.c +++ b/backend/umax_pp.c @@ -388,7 +388,7 @@ umax_pp_try_ports (SANEI_Config * config, char **ports) ports[i]); else DBG (3, - "umax_pp_try_ports: attach to port `%s' successfull\n", + "umax_pp_try_ports: attach to port `%s' successful\n", ports[i]); } free (ports[i]); @@ -1001,9 +1001,9 @@ sane_exit (void) for (i = 0; i < num_devices; i++) { free (devlist[i].port); - free (devlist[i].sane.name); - free (devlist[i].sane.model); - free (devlist[i].sane.vendor); + free ((void *) devlist[i].sane.name); + free ((void *) devlist[i].sane.model); + free ((void *) devlist[i].sane.vendor); } if (devlist != NULL) diff --git a/backend/umax_pp.h b/backend/umax_pp.h index 27ee95e..dbedab8 100644 --- a/backend/umax_pp.h +++ b/backend/umax_pp.h @@ -193,15 +193,8 @@ enum Umax_PP_Configure_Option NUM_CFG_OPTIONS }; -#if (!defined __GNUC__ || __GNUC__ < 2 || \ - __GNUC_MINOR__ < (defined __cplusplus ? 6 : 4)) - -#define __PRETTY_FUNCTION__ "umax_pp" - -#endif - #define DEBUG() DBG(4, "%s(v%d.%d.%d-%s): line %d: debug exception\n", \ - __PRETTY_FUNCTION__, SANE_CURRENT_MAJOR, V_MINOR, \ + __func__, SANE_CURRENT_MAJOR, V_MINOR, \ UMAX_PP_BUILD, UMAX_PP_STATE, __LINE__) #endif /* umax_pp_h */ diff --git a/backend/umax_pp_low.c b/backend/umax_pp_low.c index c5f58a7..1e38aba 100644 --- a/backend/umax_pp_low.c +++ b/backend/umax_pp_low.c @@ -65,6 +65,7 @@ #include #endif #include "../include/sane/sanei_debug.h" +#include "../include/sane/sanei_backend.h" #include #ifdef HAVE_DEV_PPBUS_PPI_H @@ -406,75 +407,51 @@ sanei_outsl (unsigned int port, const void *addr, unsigned long count) #ifndef ENABLE_PARPORT_DIRECTIO #define SANE_INB 0 static int -sanei_ioperm (int start, int length, int enable) +sanei_ioperm (__sane_unused__ int start, __sane_unused__ int length, + __sane_unused__ int enable) { - /* make compilers happy */ - enable = start + length; - /* returns failure */ return -1; } static unsigned char -sanei_inb (unsigned int port) +sanei_inb (__sane_unused__ unsigned int port) { - /* makes compilers happy */ - port = 0; return 255; } static void -sanei_outb (unsigned int port, unsigned char value) +sanei_outb (__sane_unused__ unsigned int port, + __sane_unused__ unsigned char value) { - /* makes compilers happy */ - port = 0; - value = 0; } static void -sanei_insb (unsigned int port, unsigned char *addr, unsigned long count) +sanei_insb (__sane_unused__ unsigned int port, + __sane_unused__ unsigned char *addr, + __sane_unused__ unsigned long count) { - /* makes compilers happy */ - if (addr) - { - port = 0; - count = 0; - } } static void -sanei_insl (unsigned int port, unsigned char *addr, unsigned long count) +sanei_insl (__sane_unused__ unsigned int port, + __sane_unused__ unsigned char *addr, + __sane_unused__ unsigned long count) { - /* makes compilers happy */ - if (addr) - { - port = 0; - count = 0; - } } static void -sanei_outsb (unsigned int port, const unsigned char *addr, - unsigned long count) +sanei_outsb (__sane_unused__ unsigned int port, + __sane_unused__ const unsigned char *addr, + __sane_unused__ unsigned long count) { - /* makes compilers happy */ - if (addr) - { - port = 0; - count = 0; - } } static void -sanei_outsl (unsigned int port, const unsigned char *addr, - unsigned long count) +sanei_outsl (__sane_unused__ unsigned int port, + __sane_unused__ const unsigned char *addr, + __sane_unused__ unsigned long count) { - /* makes compilers happy */ - if (addr) - { - port = 0; - count = 0; - } } #endif /* ENABLE_PARPORT_DIRECTIO is not defined */ @@ -862,7 +839,7 @@ sanei_parport_find_device (void) i = 0; while (devices[i] != NULL) { - DBG (16, "Controling %s: ", devices[i]); + DBG (16, "Controlling %s: ", devices[i]); file = open (devices[i], O_RDWR); if (file < 0) { @@ -950,7 +927,7 @@ int sanei_umax_pp_initPort (int port, char *name) { int fd, ectr; - int found = 0, ecp = 1; + int found = 0; #if ((defined HAVE_IOPERM)||(defined HAVE_MACHINE_CPUFUNC_H)||(defined HAVE_LINUX_PPDEV_H)) int mode, modes, rc; #endif @@ -1095,7 +1072,7 @@ sanei_umax_pp_initPort (int port, char *name) if (rc) { DBG (16, - "umax_pp: ppdev couldn't negociate mode IEEE1284_MODE_EPP for '%s' (ignored)\n", + "umax_pp: ppdev couldn't negotiate mode IEEE1284_MODE_EPP for '%s' (ignored)\n", name); } if (ioctl (fd, PPSETMODE, &mode)) @@ -1121,7 +1098,7 @@ sanei_umax_pp_initPort (int port, char *name) if (rc) { DBG (16, - "umax_pp: ppdev couldn't negociate mode IEEE1284_MODE_ECP for '%s' (ignored)\n", + "umax_pp: ppdev couldn't negotiate mode IEEE1284_MODE_ECP for '%s' (ignored)\n", name); } if (ioctl (fd, PPSETMODE, &mode)) @@ -1234,7 +1211,6 @@ sanei_umax_pp_initPort (int port, char *name) { DBG (1, "iopl could not raise IO permission to level 3\n"); DBG (1, "*NO* ECP support\n"); - ecp = 0; } else @@ -1247,8 +1223,6 @@ sanei_umax_pp_initPort (int port, char *name) } } -#else - ecp = 0; #endif @@ -2126,8 +2100,6 @@ sendCommand (int cmd) int tmp; int val; int i; - int gbufferRead[256]; /* read buffer for command 0x10 */ - if (g674 != 0) { @@ -2216,7 +2188,7 @@ sendCommand (int cmd) tmp = (tmp & 0x1E) | 0x1; Outb (CONTROL, tmp); Outb (CONTROL, tmp); - gbufferRead[i] = Inb (STATUS); + Inb (STATUS); tmp = tmp & 0x1E; Outb (CONTROL, tmp); Outb (CONTROL, tmp); @@ -2721,7 +2693,7 @@ init002 (int arg) static int ECPconnect (void) { - int ret, control, data; + int ret, control; /* these 3 lines set to 'inital mode' */ byteMode (); /*Outb (ECR, 0x20); */ @@ -2735,7 +2707,7 @@ ECPconnect (void) gData = Inb (DATA); gControl = Inb (CONTROL); - data = Inb (DATA); + Inb (DATA); control = Inb (CONTROL); Outb (CONTROL, control & 0x1F); control = Inb (CONTROL); @@ -3224,7 +3196,6 @@ static void ECPSetBuffer (int size) { static int last = 0; - unsigned char breg; /* routine XX */ compatMode (); @@ -3244,7 +3215,7 @@ ECPSetBuffer (int size) __FILE__, __LINE__); return; } - breg = Inb (ECR); + Inb (ECR); Outb (DATA, 0x0E); if (waitFifoEmpty () == 0) @@ -3253,7 +3224,7 @@ ECPSetBuffer (int size) __FILE__, __LINE__); return; } - breg = Inb (ECR); + Inb (ECR); Outb (ECPDATA, 0x0B); /* R0E=0x0B */ if (waitFifoEmpty () == 0) @@ -3262,7 +3233,7 @@ ECPSetBuffer (int size) __FILE__, __LINE__); return; } - breg = Inb (ECR); + Inb (ECR); Outb (DATA, 0x0F); /* R0F=size MSB */ if (waitFifoEmpty () == 0) @@ -3271,7 +3242,7 @@ ECPSetBuffer (int size) __FILE__, __LINE__); return; } - breg = Inb (ECR); + Inb (ECR); Outb (ECPDATA, size / 256); if (waitFifoEmpty () == 0) @@ -3280,7 +3251,7 @@ ECPSetBuffer (int size) __FILE__, __LINE__); return; } - breg = Inb (ECR); + Inb (ECR); Outb (DATA, 0x0B); /* R0B=size LSB */ if (waitFifoEmpty () == 0) @@ -3289,7 +3260,7 @@ ECPSetBuffer (int size) __FILE__, __LINE__); return; } - breg = Inb (ECR); + Inb (ECR); Outb (ECPDATA, size % 256); if (waitFifoEmpty () == 0) @@ -3298,7 +3269,7 @@ ECPSetBuffer (int size) __FILE__, __LINE__); return; } - breg = Inb (ECR); + Inb (ECR); DBG (16, "ECPSetBuffer(%d) passed ...\n", size); } @@ -3307,14 +3278,14 @@ ECPSetBuffer (int size) static int ECPbufferRead (int size, unsigned char *dest) { - int breg, n, idx, remain; + int n, idx, remain; idx = 0; n = size / 16; remain = size - 16 * n; /* block transfer */ - breg = Inb (ECR); /* 0x15,0x75 expected: fifo empty */ + Inb (ECR); /* 0x15,0x75 expected: fifo empty */ byteMode (); /*Outb (ECR, 0x20); byte mode */ Outb (CONTROL, 0x04); @@ -3326,7 +3297,7 @@ ECPbufferRead (int size, unsigned char *dest) __FILE__, __LINE__); return idx; } - breg = Inb (ECR); + Inb (ECR); Outb (DATA, 0x80); if (waitFifoEmpty () == 0) @@ -3335,7 +3306,7 @@ ECPbufferRead (int size, unsigned char *dest) __FILE__, __LINE__); return idx; } - breg = Inb (ECR); /* 0x75 expected */ + Inb (ECR); /* 0x75 expected */ byteMode (); /*Outb (ECR, 0x20); byte mode */ Outb (CONTROL, 0x20); /* data reverse */ @@ -4066,13 +4037,12 @@ static int EPPconnect (void) { int control; - int data; /* initial values, don't hardcode */ Outb (DATA, 0x04); Outb (CONTROL, 0x0C); - data = Inb (DATA); + Inb (DATA); control = Inb (CONTROL); Outb (CONTROL, control & 0x1F); control = Inb (CONTROL); @@ -8968,7 +8938,7 @@ cmdGetBuffer610p (int cmd, int len, unsigned char *buffer) static int cmdGetBuffer (int cmd, int len, unsigned char *buffer) { - int reg, tmp, i; + int reg, tmp; int word[5], read; int needed; @@ -8995,7 +8965,6 @@ cmdGetBuffer (int cmd, int len, unsigned char *buffer) REGISTERWRITE (0x0E, 0x0D); REGISTERWRITE (0x0F, 0x00); - i = 0; reg = registerRead (0x19) & 0xF8; /* wait if busy */ @@ -9108,7 +9077,7 @@ cmdGetBuffer (int cmd, int len, unsigned char *buffer) static int cmdGetBuffer32 (int cmd, int len, unsigned char *buffer) { - int reg, tmp, i; + int reg, tmp; int word[5], read; /* compute word */ @@ -9138,7 +9107,6 @@ cmdGetBuffer32 (int cmd, int len, unsigned char *buffer) REGISTERWRITE (0x0E, 0x0D); REGISTERWRITE (0x0F, 0x00); - i = 0; reg = registerRead (0x19) & 0xF8; /* wait if busy */ @@ -9255,7 +9223,7 @@ cmdGetBlockBuffer (int cmd, int len, int window, unsigned char *buffer) struct timeval td, tf; float elapsed; #endif - int reg, i; + int reg; int word[5], read; /* compute word */ @@ -9292,8 +9260,6 @@ cmdGetBlockBuffer (int cmd, int len, int window, unsigned char *buffer) REGISTERWRITE (0x0E, 0x0D); REGISTERWRITE (0x0F, 0x00); - i = 0; - /* init counter */ read = 0; @@ -10975,7 +10941,6 @@ sanei_umax_pp_startScan (int x, int y, int width, int height, int dpi, int *rtw, int *rth) { unsigned char *buffer; - int *dest = NULL; int rc = 0; int calibration[3 * 5100 + 768 + 2 + 1]; int xdpi, ydpi, h; @@ -11107,8 +11072,6 @@ sanei_umax_pp_startScan (int x, int y, int width, int height, int dpi, } DBG (16, "inquire() passed ... (%s:%d)\n", __FILE__, __LINE__); - dest = (int *) malloc (65536 * sizeof (int)); - rc = loadDefaultTables (); if (rc == 0) { @@ -11936,7 +11899,6 @@ offsetCalibration1220p (int color, int *offRed, int *offGreen, int *offBlue) int i, val; int commit[9] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, -1 }; int opsc04[9] = { 0x06, 0xF4, 0xFF, 0x81, 0x1B, 0x00, 0x00, 0x00, -1 }; - int opsc10[9] = { 0x06, 0xF4, 0xFF, 0x81, 0x1B, 0x00, 0x08, 0x00, -1 }; int opsc38[37] = { 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x40, 0x01, 0x00, 0x00, 0x04, 0x00, 0x6E, 0x18, 0x10, 0x03, 0x06, 0x00, 0x00, 0x00, @@ -11963,11 +11925,6 @@ offsetCalibration1220p (int color, int *offRed, int *offGreen, int *offBlue) opsc04[4] = 0x1B; opsc04[7] = 0x20; - opsc10[0] = 0x19; - opsc10[1] = 0xD5; - opsc10[4] = 0x1B; - opsc10[7] = 0x20; - opsc48[8] = 0x2B; opsc48[11] = 0x20; opsc48[12] = 0x08; diff --git a/backend/v4l.c b/backend/v4l.c index 519bf01..1e032c7 100644 --- a/backend/v4l.c +++ b/backend/v4l.c @@ -495,13 +495,12 @@ sane_exit (void) } SANE_Status -sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) +sane_get_devices (const SANE_Device *** device_list, SANE_Bool __sane_unused__ local_only) { V4L_Device *dev; int i; DBG (5, "sane_get_devices\n"); - local_only = SANE_TRUE; /* Avoid compile warning */ if (devlist) free (devlist); @@ -962,7 +961,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) SANE_Status sane_start (SANE_Handle handle) { - int len, loop; + int len; V4L_Scanner *s; char data; @@ -998,6 +997,7 @@ sane_start (SANE_Handle handle) } else { + int loop; s->is_mmap = SANE_TRUE; DBG (3, "sane_start: mmap frame, buffersize: %d bytes, buffers: %d, offset 0 %d\n", @@ -1046,6 +1046,7 @@ sane_start (SANE_Handle handle) /* v4l1 actually returns BGR when we ask for RGB, so convert it */ if (s->pict.palette == VIDEO_PALETTE_RGB24) { + __u32 loop; DBG (3, "sane_start: converting from BGR to RGB\n"); for (loop = 0; loop < (s->window.width * s->window.height * 3); loop += 3) { @@ -1130,22 +1131,15 @@ sane_cancel (SANE_Handle handle) SANE_Status -sane_set_io_mode (SANE_Handle handle, SANE_Bool non_blocking) +sane_set_io_mode (SANE_Handle __sane_unused__ handle, SANE_Bool non_blocking) { - /* Avoid compile warning */ - handle = 0; - if (non_blocking == SANE_FALSE) return SANE_STATUS_GOOD; return SANE_STATUS_UNSUPPORTED; } SANE_Status -sane_get_select_fd (SANE_Handle handle, SANE_Int * fd) +sane_get_select_fd (SANE_Handle __sane_unused__ handle, SANE_Int __sane_unused__ * fd) { - /* Avoid compile warning */ - handle = 0; - fd = 0; - return SANE_STATUS_UNSUPPORTED; } diff --git a/backend/xerox_mfp-tcp.c b/backend/xerox_mfp-tcp.c index 2addb0d..845ab7e 100644 --- a/backend/xerox_mfp-tcp.c +++ b/backend/xerox_mfp-tcp.c @@ -47,9 +47,9 @@ #define RECV_TIMEOUT 1 /* seconds */ extern int sanei_debug_xerox_mfp; -int tcp_dev_request (struct device *dev, - SANE_Byte *cmd, size_t cmdlen, - SANE_Byte *resp, size_t *resplen) +int tcp_dev_request(struct device *dev, + SANE_Byte *cmd, size_t cmdlen, + SANE_Byte *resp, size_t *resplen) { size_t bytes_recv = 0; ssize_t rc = 1; @@ -58,46 +58,46 @@ int tcp_dev_request (struct device *dev, /* Send request, if any */ if (cmd && cmdlen) { - len = (size_t)sanei_tcp_write(dev->dn, cmd, cmdlen); - if (len != cmdlen) { - DBG (1, "%s: sent only %lu bytes of %lu\n", - __FUNCTION__, (u_long)len, (u_long)cmdlen); - return SANE_STATUS_IO_ERROR; - } + len = (size_t)sanei_tcp_write(dev->dn, cmd, cmdlen); + if (len != cmdlen) { + DBG(1, "%s: sent only %lu bytes of %lu\n", + __func__, (u_long)len, (u_long)cmdlen); + return SANE_STATUS_IO_ERROR; + } } /* Receive response, if expected */ if (resp && resplen) { - DBG (3, "%s: wait for %i bytes\n", __FUNCTION__, (int)*resplen); - - while (bytes_recv < *resplen && rc > 0) { - rc = recv(dev->dn, resp+bytes_recv, *resplen-bytes_recv, 0); - - if (rc > 0) bytes_recv += rc; - else { - DBG(1, "%s: error %s, bytes requested: %i, bytes read: %i\n", - __FUNCTION__, strerror(errno), (int)*resplen, (int)bytes_recv); - *resplen = bytes_recv; -/* - TODO: - do something smarter than that! -*/ - return SANE_STATUS_GOOD; - return SANE_STATUS_IO_ERROR; - } - } + DBG(3, "%s: wait for %i bytes\n", __func__, (int)*resplen); + + while (bytes_recv < *resplen && rc > 0) { + rc = recv(dev->dn, resp+bytes_recv, *resplen-bytes_recv, 0); + + if (rc > 0) bytes_recv += rc; + else { + DBG(1, "%s: error %s, bytes requested: %i, bytes read: %i\n", + __func__, strerror(errno), (int)*resplen, (int)bytes_recv); + *resplen = bytes_recv; + /* + TODO: + do something smarter than that! + */ + return SANE_STATUS_GOOD; + return SANE_STATUS_IO_ERROR; + } + } } *resplen = bytes_recv; - return SANE_STATUS_GOOD; + return SANE_STATUS_GOOD; } -SANE_Status tcp_dev_open (struct device *dev) +SANE_Status tcp_dev_open(struct device *dev) { SANE_Status status; - char* strhost; - char* strport; + char *strhost; + char *strport; int port; struct servent *sp; struct timeval tv; @@ -105,60 +105,60 @@ SANE_Status tcp_dev_open (struct device *dev) devname = dev->sane.name; - DBG (3, "%s: open %s\n", __FUNCTION__, devname); + DBG(3, "%s: open %s\n", __func__, devname); - if (strncmp (devname, "tcp", 3) != 0) return SANE_STATUS_INVAL; + if (strncmp(devname, "tcp", 3) != 0) return SANE_STATUS_INVAL; devname += 3; - devname = sanei_config_skip_whitespace (devname); + devname = sanei_config_skip_whitespace(devname); if (!*devname) return SANE_STATUS_INVAL; - devname = sanei_config_get_string (devname, &strhost); - devname = sanei_config_skip_whitespace (devname); + devname = sanei_config_get_string(devname, &strhost); + devname = sanei_config_skip_whitespace(devname); if (*devname) - devname = sanei_config_get_string (devname, &strport); + devname = sanei_config_get_string(devname, &strport); else - strport = "9400"; + strport = "9400"; if (isdigit(*strport)) { - port = atoi(strport); + port = atoi(strport); } else { - if ((sp = getservbyname(strport, "tcp"))) { - port = ntohs(sp->s_port); - } else { - DBG (1, "%s: unknown TCP service %s\n", __FUNCTION__, strport); - return SANE_STATUS_IO_ERROR; - } + if ((sp = getservbyname(strport, "tcp"))) { + port = ntohs(sp->s_port); + } else { + DBG(1, "%s: unknown TCP service %s\n", __func__, strport); + return SANE_STATUS_IO_ERROR; + } } status = sanei_tcp_open(strhost, port, &dev->dn); if (status == SANE_STATUS_GOOD) { - tv.tv_sec = RECV_TIMEOUT; - tv.tv_usec = 0; - if (setsockopt (dev->dn, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof tv) < 0) { - DBG(1, "%s: setsockopts %s", __FUNCTION__, strerror(errno)); - } + tv.tv_sec = RECV_TIMEOUT; + tv.tv_usec = 0; + if (setsockopt(dev->dn, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof tv) < 0) { + DBG(1, "%s: setsockopts %s", __func__, strerror(errno)); + } } return status; } void -tcp_dev_close (struct device *dev) +tcp_dev_close(struct device *dev) { if (!dev) return; - DBG (3, "%s: closing dev %p\n", __FUNCTION__, (void *)dev); + DBG(3, "%s: closing dev %p\n", __func__, (void *)dev); /* finish all operations */ if (dev->scanning) { - dev->cancel = 1; - /* flush READ_IMAGE data */ - if (dev->reading) sane_read(dev, NULL, 1, NULL); - /* send cancel if not sent before */ - if (dev->state != SANE_STATUS_CANCELLED) - ret_cancel(dev, 0); + dev->cancel = 1; + /* flush READ_IMAGE data */ + if (dev->reading) sane_read(dev, NULL, 1, NULL); + /* send cancel if not sent before */ + if (dev->state != SANE_STATUS_CANCELLED) + ret_cancel(dev, 0); } sanei_tcp_close(dev->dn); @@ -167,15 +167,15 @@ tcp_dev_close (struct device *dev) SANE_Status -tcp_configure_device (const char *devname, SANE_Status (*list_one)(SANE_String_Const devname)) +tcp_configure_device(const char *devname, SANE_Status(*list_one)(SANE_String_Const devname)) { -/* - TODO: LAN scanners multicast discovery. - devname would contain "tcp auto" - - We find new devnames and feed them to - `list_one_device' one by one -*/ + /* + TODO: LAN scanners multicast discovery. + devname would contain "tcp auto" + + We find new devnames and feed them to + `list_one_device' one by one + */ return list_one(devname); } diff --git a/backend/xerox_mfp-usb.c b/backend/xerox_mfp-usb.c index b9b56d8..6ef1eea 100644 --- a/backend/xerox_mfp-usb.c +++ b/backend/xerox_mfp-usb.c @@ -22,90 +22,90 @@ extern int sanei_debug_xerox_mfp; int -usb_dev_request (struct device *dev, - SANE_Byte *cmd, size_t cmdlen, - SANE_Byte *resp, size_t *resplen) +usb_dev_request(struct device *dev, + SANE_Byte *cmd, size_t cmdlen, + SANE_Byte *resp, size_t *resplen) { - SANE_Status status; - size_t len = cmdlen; - - if (cmd && cmdlen) { - status = sanei_usb_write_bulk (dev->dn, cmd, &cmdlen); - if (status != SANE_STATUS_GOOD) { - DBG (1, "%s: sanei_usb_write_bulk: %s\n", __FUNCTION__, - sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; + SANE_Status status; + size_t len = cmdlen; + + if (cmd && cmdlen) { + status = sanei_usb_write_bulk(dev->dn, cmd, &cmdlen); + if (status != SANE_STATUS_GOOD) { + DBG(1, "%s: sanei_usb_write_bulk: %s\n", __func__, + sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + + if (cmdlen != len) { + DBG(1, "%s: sanei_usb_write_bulk: wanted %lu bytes, wrote %lu bytes\n", + __func__, (size_t)len, (size_t)cmdlen); + return SANE_STATUS_IO_ERROR; + } } - if (cmdlen != len) { - DBG (1, "%s: sanei_usb_write_bulk: wanted %lu bytes, wrote %lu bytes\n", - __FUNCTION__, (size_t)len, (size_t)cmdlen); - return SANE_STATUS_IO_ERROR; - } - } - - if (resp && resplen) { - status = sanei_usb_read_bulk (dev->dn, resp, resplen); - if (status != SANE_STATUS_GOOD) { - DBG (1, "%s: sanei_usb_read_bulk: %s\n", __FUNCTION__, - sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; + if (resp && resplen) { + status = sanei_usb_read_bulk(dev->dn, resp, resplen); + if (status != SANE_STATUS_GOOD) { + DBG(1, "%s: sanei_usb_read_bulk: %s\n", __func__, + sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } } - } - return SANE_STATUS_GOOD; + return SANE_STATUS_GOOD; } SANE_Status -usb_dev_open (struct device *dev) +usb_dev_open(struct device *dev) { - SANE_Status status; - - DBG (3, "%s: open %p\n", __FUNCTION__, (void *)dev); - status = sanei_usb_open (dev->sane.name, &dev->dn); - if (status != SANE_STATUS_GOOD) { - DBG (1, "%s: sanei_usb_open(%s): %s\n", __FUNCTION__, - dev->sane.name, sane_strstatus (status)); - dev->dn = -1; - return status; + SANE_Status status; + + DBG(3, "%s: open %p\n", __func__, (void *)dev); + status = sanei_usb_open(dev->sane.name, &dev->dn); + if (status != SANE_STATUS_GOOD) { + DBG(1, "%s: sanei_usb_open(%s): %s\n", __func__, + dev->sane.name, sane_strstatus(status)); + dev->dn = -1; + return status; } - sanei_usb_clear_halt (dev->dn); - return SANE_STATUS_GOOD; + sanei_usb_clear_halt(dev->dn); + return SANE_STATUS_GOOD; } void -usb_dev_close (struct device *dev) +usb_dev_close(struct device *dev) { - if (!dev) - return; - DBG (3, "%s: closing dev %p\n", __FUNCTION__, (void *)dev); - - /* finish all operations */ - if (dev->scanning) { - dev->cancel = 1; - /* flush READ_IMAGE data */ - if (dev->reading) - sane_read(dev, NULL, 1, NULL); - /* send cancel if not sent before */ - if (dev->state != SANE_STATUS_CANCELLED) - ret_cancel(dev, 0); - } - - sanei_usb_clear_halt (dev->dn); /* unstall for next users */ - sanei_usb_close (dev->dn); - dev->dn = -1; + if (!dev) + return; + DBG(3, "%s: closing dev %p\n", __func__, (void *)dev); + + /* finish all operations */ + if (dev->scanning) { + dev->cancel = 1; + /* flush READ_IMAGE data */ + if (dev->reading) + sane_read(dev, NULL, 1, NULL); + /* send cancel if not sent before */ + if (dev->state != SANE_STATUS_CANCELLED) + ret_cancel(dev, 0); + } + + sanei_usb_clear_halt(dev->dn); /* unstall for next users */ + sanei_usb_close(dev->dn); + dev->dn = -1; } /* SANE API ignores return code of this callback */ SANE_Status -usb_configure_device (const char *devname, SANE_Status (*attach) (const char *dev)) +usb_configure_device(const char *devname, SANE_Status(*attach)(const char *dev)) { - sanei_usb_set_timeout (1000); - sanei_usb_attach_matching_devices (devname, attach); - sanei_usb_set_timeout (30000); - return SANE_STATUS_GOOD; + sanei_usb_set_timeout(1000); + sanei_usb_attach_matching_devices(devname, attach); + sanei_usb_set_timeout(30000); + return SANE_STATUS_GOOD; } diff --git a/backend/xerox_mfp.c b/backend/xerox_mfp.c index 2ef7078..8b8c895 100644 --- a/backend/xerox_mfp.c +++ b/backend/xerox_mfp.c @@ -1,9 +1,12 @@ /* - * SANE backend for Xerox Phaser 3200MFP - * Copyright 2008 ABC + * SANE backend for Xerox Phaser 3200MFP et al. + * Copyright 2008-2016 ABC * - * Network Scanners Support - * Copyright 2010 Alexander Kuznetsov + * Network Scanners Support + * Copyright 2010 Alexander Kuznetsov + * + * Color scanning on Samsung M2870 model and Xerox Cognac 3215 & 3225 + * models by Laxmeesh Onkar Markod * * This program is licensed under GPL + SANE exception. * More info at http://www.sane-project.org/license.html @@ -30,6 +33,9 @@ #include "../include/sane/sanei_usb.h" #include "../include/sane/sanei_config.h" #include "../include/sane/sanei_backend.h" +#ifdef HAVE_LIBJPEG +#include +#endif #include "xerox_mfp.h" #define BACKEND_BUILD 13 @@ -46,34 +52,34 @@ transport available_transports[TRANSPORTS_MAX] = { static int resolv_state(int state) { - if (state & STATE_DOCUMENT_JAM) - return SANE_STATUS_JAMMED; - if (state & STATE_NO_DOCUMENT) - return SANE_STATUS_NO_DOCS; - if (state & STATE_COVER_OPEN) - return SANE_STATUS_COVER_OPEN; - if (state & STATE_INVALID_AREA) - return SANE_STATUS_INVAL; /* sane_start: implies SANE_INFO_RELOAD_OPTIONS */ - if (state & STATE_WARMING) + if (state & STATE_DOCUMENT_JAM) + return SANE_STATUS_JAMMED; + if (state & STATE_NO_DOCUMENT) + return SANE_STATUS_NO_DOCS; + if (state & STATE_COVER_OPEN) + return SANE_STATUS_COVER_OPEN; + if (state & STATE_INVALID_AREA) + return SANE_STATUS_INVAL; /* sane_start: implies SANE_INFO_RELOAD_OPTIONS */ + if (state & STATE_WARMING) #ifdef SANE_STATUS_WARMING_UP - return SANE_STATUS_WARMING_UP; + return SANE_STATUS_WARMING_UP; #else - return SANE_STATUS_DEVICE_BUSY; + return SANE_STATUS_DEVICE_BUSY; #endif - if (state & STATE_LOCKING) + if (state & STATE_LOCKING) #ifdef SANE_STATUS_HW_LOCKED - return SANE_STATUS_HW_LOCKED; + return SANE_STATUS_HW_LOCKED; #else - return SANE_STATUS_JAMMED; + return SANE_STATUS_JAMMED; #endif - if (state & ~STATE_NO_ERROR) - return SANE_STATUS_DEVICE_BUSY; - return 0; + if (state & ~STATE_NO_ERROR) + return SANE_STATUS_DEVICE_BUSY; + return 0; } static char *str_cmd(int cmd) { - switch (cmd) { + switch (cmd) { case CMD_ABORT: return "ABORT"; case CMD_INQUIRY: return "INQUIRY"; case CMD_RESERVE_UNIT: return "RESERVE_UNIT"; @@ -82,1262 +88,1442 @@ static char *str_cmd(int cmd) case CMD_READ: return "READ"; case CMD_READ_IMAGE: return "READ_IMAGE"; case CMD_OBJECT_POSITION: return "OBJECT_POSITION"; - } - return "unknown"; + } + return "unknown"; } #define MAX_DUMP 70 +const char *encTmpFileName = "/tmp/stmp_enc.tmp"; + +static int decompress(struct device __sane_unused__ *dev, + const char __sane_unused__ *infilename) +{ +#ifdef HAVE_LIBJPEG + int rc; + int row_stride, width, height, pixel_size; + struct jpeg_decompress_struct cinfo; + struct jpeg_error_mgr jerr; + unsigned long bmp_size = 0; + FILE *pInfile = NULL; + JSAMPARRAY buffer; + + if ((pInfile = fopen(infilename, "rb")) == NULL) { + fprintf(stderr, "can't open %s\n", infilename); + return -1; + } + + cinfo.err = jpeg_std_error(&jerr); + + jpeg_create_decompress(&cinfo); + + jpeg_stdio_src(&cinfo, pInfile); + + rc = jpeg_read_header(&cinfo, TRUE); + if (rc != 1) { + jpeg_destroy_decompress(&cinfo); + fclose(pInfile); + return -1; + } + + jpeg_start_decompress(&cinfo); + + width = cinfo.output_width; + height = cinfo.output_height; + pixel_size = cinfo.output_components; + bmp_size = width * height * pixel_size; + dev->decDataSize = bmp_size; + + row_stride = width * pixel_size; + + buffer = (*cinfo.mem->alloc_sarray) + ((j_common_ptr) &cinfo, JPOOL_IMAGE, row_stride, 1); + + while (cinfo.output_scanline < cinfo.output_height) { + buffer[0] = dev->decData + \ + (cinfo.output_scanline) * row_stride; + jpeg_read_scanlines(&cinfo, buffer, 1); + } + jpeg_finish_decompress(&cinfo); + jpeg_destroy_decompress(&cinfo); + fclose(pInfile); + return 0; +#else + return -1; +#endif +} + +static int copy_decompress_data(struct device *dev, unsigned char *pDest, int maxlen, int *destLen) +{ + int data_size = 0; + size_t result = 0, retVal = 0; + + + if (0 == dev->decDataSize) { + *destLen = 0; + return retVal; + } + data_size = dev->decDataSize - dev->currentDecDataIndex; + if (data_size > maxlen) { + data_size = maxlen; + } + memcpy(pDest, dev->decData+dev->currentDecDataIndex, data_size); + result = data_size; + *destLen = result; + dev->currentDecDataIndex += result; + retVal = result; + + if (dev->decDataSize == dev->currentDecDataIndex) { + dev->currentDecDataIndex = 0; + dev->decDataSize = 0; + } + + return retVal; +} + +static int decompress_tempfile(struct device *dev) +{ + decompress(dev, encTmpFileName); + remove(encTmpFileName); + return 0; +} + +static int dump_to_tmp_file(struct device *dev) +{ + unsigned char *pSrc = dev->data; + int srcLen = dev->datalen; + FILE *pInfile; + if ((pInfile = fopen(encTmpFileName, "a")) == NULL) { + fprintf(stderr, "can't open %s\n", encTmpFileName); + return 0; + } + + fwrite(pSrc, 1, srcLen, pInfile); + fclose(pInfile); + return srcLen; +} + +static int isSupportedDevice(struct device __sane_unused__ *dev) +{ +#ifdef HAVE_LIBJPEG + /* Checking device which supports JPEG Lossy compression for color scanning*/ + if (dev->compressionTypes & (1 << 6)) + return 1; + else + return 0; +#else + return 0; +#endif +} + static void dbg_dump(struct device *dev) { - int i; - char dbuf[MAX_DUMP * 3 + 1], *dptr = dbuf; - int nzlen = dev->reslen; - int dlen = MIN(dev->reslen, MAX_DUMP); + int i; + char dbuf[MAX_DUMP * 3 + 1], *dptr = dbuf; + int nzlen = dev->reslen; + int dlen = MIN(dev->reslen, MAX_DUMP); - for (i = dev->reslen - 1; i >= 0; i--, nzlen--) - if (dev->res[i] != 0) - break; + for (i = dev->reslen - 1; i >= 0; i--, nzlen--) + if (dev->res[i] != 0) + break; - dlen = MIN(dlen, nzlen + 1); + dlen = MIN(dlen, nzlen + 1); - for (i = 0; i < dlen; i++, dptr += 3) - sprintf(dptr, " %02x", dev->res[i]); + for (i = 0; i < dlen; i++, dptr += 3) + sprintf(dptr, " %02x", dev->res[i]); - DBG (5, "[%lu]%s%s\n", (u_long)dev->reslen, dbuf, - (dlen < (int)dev->reslen)? "..." : ""); + DBG(5, "[%lu]%s%s\n", (u_long)dev->reslen, dbuf, + (dlen < (int)dev->reslen)? "..." : ""); } /* one command to device */ /* return 0: on error, 1: success */ -static int dev_command (struct device *dev, SANE_Byte * cmd, size_t reqlen) +static int dev_command(struct device *dev, SANE_Byte *cmd, size_t reqlen) { - SANE_Status status; - size_t sendlen = cmd[3] + 4; - SANE_Byte *res = dev->res; - - - assert (reqlen <= sizeof (dev->res)); /* requested len */ - dev->reslen = sizeof (dev->res); /* doing full buffer to flush stalled commands */ - - if (cmd[2] == CMD_SET_WINDOW) { - /* Set Window have wrong packet length, huh. */ - sendlen = 25; - } - - if (cmd[2] == CMD_READ_IMAGE) { - /* Read Image is raw data, don't need to read response */ - res = NULL; - } - - dev->state = 0; - DBG (4, ":: dev_command(%s[%#x], %lu)\n", str_cmd(cmd[2]), cmd[2], - (u_long)reqlen); - status = dev->io->dev_request(dev, cmd, sendlen, res, &dev->reslen); - if (status != SANE_STATUS_GOOD) { - DBG (1, "%s: dev_request: %s\n", __FUNCTION__, sane_strstatus (status)); - dev->state = SANE_STATUS_IO_ERROR; - return 0; - } + SANE_Status status; + size_t sendlen = cmd[3] + 4; + SANE_Byte *res = dev->res; - if (!res) { - /* if not need response just return success */ - return 1; - } - /* normal command reply, some sanity checking */ - if (dev->reslen < reqlen) { - DBG (1, "%s: illegal response len %lu, need %lu\n", - __FUNCTION__, (u_long)dev->reslen, (u_long)reqlen); - dev->state = SANE_STATUS_IO_ERROR; - return 0; - } else { - size_t pktlen; /* len specified in packet */ + assert(reqlen <= sizeof(dev->res)); /* requested len */ + dev->reslen = sizeof(dev->res); /* doing full buffer to flush stalled commands */ - if (DBG_LEVEL > 3) - dbg_dump(dev); + if (cmd[2] == CMD_SET_WINDOW) { + /* Set Window have wrong packet length, huh. */ + sendlen = 25; + } - if (dev->res[0] != RES_CODE) { - DBG (2, "%s: illegal data header %02x\n", __FUNCTION__, dev->res[0]); - dev->state = SANE_STATUS_IO_ERROR; - return 0; + if (cmd[2] == CMD_READ_IMAGE) { + /* Read Image is raw data, don't need to read response */ + res = NULL; } - pktlen = dev->res[2] + 3; - if (dev->reslen != pktlen) { - DBG (2, "%s: illegal response len %lu, should be %lu\n", - __FUNCTION__, (u_long)pktlen, (u_long)dev->reslen); - dev->state = SANE_STATUS_IO_ERROR; - return 0; + + dev->state = 0; + DBG(4, ":: dev_command(%s[%#x], %lu)\n", str_cmd(cmd[2]), cmd[2], + (u_long)reqlen); + status = dev->io->dev_request(dev, cmd, sendlen, res, &dev->reslen); + if (status != SANE_STATUS_GOOD) { + DBG(1, "%s: dev_request: %s\n", __func__, sane_strstatus(status)); + dev->state = SANE_STATUS_IO_ERROR; + return 0; } - if (dev->reslen > reqlen) - DBG (2, "%s: too big packet len %lu, need %lu\n", - __FUNCTION__, (u_long)dev->reslen, (u_long)reqlen); - } - - dev->state = 0; - if (cmd[2] == CMD_SET_WINDOW || - cmd[2] == CMD_OBJECT_POSITION || - cmd[2] == CMD_READ || - cmd[2] == CMD_RESERVE_UNIT) { - if (dev->res[1] == STATUS_BUSY) - dev->state = SANE_STATUS_DEVICE_BUSY; - else if (dev->res[1] == STATUS_CANCEL) - dev->state = SANE_STATUS_CANCELLED; - else if (dev->res[1] == STATUS_CHECK) - dev->state = resolv_state((cmd[2] == CMD_READ)? - (dev->res[12] << 8 | dev->res[13]) : - (dev->res[4] << 8 | dev->res[5])); - - if (dev->state) - DBG (3, "%s(%s[%#x]): => %d: %s\n", - __FUNCTION__, str_cmd(cmd[2]), cmd[2], - dev->state, sane_strstatus(dev->state)); - } - - return 1; + + if (!res) { + /* if not need response just return success */ + return 1; + } + + /* normal command reply, some sanity checking */ + if (dev->reslen < reqlen) { + DBG(1, "%s: illegal response len %lu, need %lu\n", + __func__, (u_long)dev->reslen, (u_long)reqlen); + dev->state = SANE_STATUS_IO_ERROR; + return 0; + } else { + size_t pktlen; /* len specified in packet */ + + if (DBG_LEVEL > 3) + dbg_dump(dev); + + if (dev->res[0] != RES_CODE) { + DBG(2, "%s: illegal data header %02x\n", __func__, dev->res[0]); + dev->state = SANE_STATUS_IO_ERROR; + return 0; + } + pktlen = dev->res[2] + 3; + if (dev->reslen != pktlen) { + DBG(2, "%s: illegal response len %lu, should be %lu\n", + __func__, (u_long)pktlen, (u_long)dev->reslen); + dev->state = SANE_STATUS_IO_ERROR; + return 0; + } + if (dev->reslen > reqlen) + DBG(2, "%s: too big packet len %lu, need %lu\n", + __func__, (u_long)dev->reslen, (u_long)reqlen); + } + + dev->state = 0; + if (cmd[2] == CMD_SET_WINDOW || + cmd[2] == CMD_OBJECT_POSITION || + cmd[2] == CMD_READ || + cmd[2] == CMD_RESERVE_UNIT) { + if (dev->res[1] == STATUS_BUSY) + dev->state = SANE_STATUS_DEVICE_BUSY; + else if (dev->res[1] == STATUS_CANCEL) + dev->state = SANE_STATUS_CANCELLED; + else if (dev->res[1] == STATUS_CHECK) + dev->state = resolv_state((cmd[2] == CMD_READ)? + (dev->res[12] << 8 | dev->res[13]) : + (dev->res[4] << 8 | dev->res[5])); + + if (dev->state) + DBG(3, "%s(%s[%#x]): => %d: %s\n", + __func__, str_cmd(cmd[2]), cmd[2], + dev->state, sane_strstatus(dev->state)); + } + + return 1; } /* one short command to device */ -static int dev_cmd (struct device *dev, SANE_Byte command) +static int dev_cmd(struct device *dev, SANE_Byte command) { - SANE_Byte cmd[4] = { REQ_CODE_A, REQ_CODE_B }; - cmd[2] = command; - return dev_command (dev, cmd, (command == CMD_INQUIRY)? 70 : 32); + SANE_Byte cmd[4] = { REQ_CODE_A, REQ_CODE_B }; + cmd[2] = command; + return dev_command(dev, cmd, (command == CMD_INQUIRY)? 70 : 32); } /* stop scanning operation. return previous status */ static SANE_Status dev_stop(struct device *dev) { - int state = dev->state; - - DBG (3, "%s: %p, scanning %d, reserved %d\n", __FUNCTION__, - (void *)dev, dev->scanning, dev->reserved); - dev->scanning = 0; - - /* release */ - if (!dev->reserved) - return state; - dev->reserved = 0; - dev_cmd(dev, CMD_RELEASE_UNIT); - DBG (3, "total image %d*%d size %d (win %d*%d), %d*%d %d data: %d, out %d bytes\n", - dev->para.pixels_per_line, dev->para.lines, - dev->total_img_size, - dev->win_width, dev->win_len, - dev->pixels_per_line, dev->ulines, dev->blocks, - dev->total_data_size, dev->total_out_size); - dev->state = state; - return state; + int state = dev->state; + + DBG(3, "%s: %p, scanning %d, reserved %d\n", __func__, + (void *)dev, dev->scanning, dev->reserved); + dev->scanning = 0; + + /* release */ + if (!dev->reserved) + return state; + dev->reserved = 0; + dev_cmd(dev, CMD_RELEASE_UNIT); + DBG(3, "total image %d*%d size %d (win %d*%d), %d*%d %d data: %d, out %d bytes\n", + dev->para.pixels_per_line, dev->para.lines, + dev->total_img_size, + dev->win_width, dev->win_len, + dev->pixels_per_line, dev->ulines, dev->blocks, + dev->total_data_size, dev->total_out_size); + dev->state = state; + return state; } SANE_Status ret_cancel(struct device *dev, SANE_Status ret) { - dev_cmd(dev, CMD_ABORT); - if (dev->scanning) { - dev_stop(dev); - dev->state = SANE_STATUS_CANCELLED; - } - return ret; + dev_cmd(dev, CMD_ABORT); + if (dev->scanning) { + dev_stop(dev); + dev->state = SANE_STATUS_CANCELLED; + } + return ret; } static int cancelled(struct device *dev) { - if (dev->cancel) - return ret_cancel(dev, 1); - return 0; + if (dev->cancel) + return ret_cancel(dev, 1); + return 0; } /* issue command and wait until scanner is not busy */ /* return 0 on error/blocking, 1 is ok and ready */ static int dev_cmd_wait(struct device *dev, int cmd) { - int sleeptime = 10; - - do { - if (cancelled(dev)) - return 0; - if (!dev_cmd(dev, cmd)) { - dev->state = SANE_STATUS_IO_ERROR; - return 0; - } else if (dev->state) { - if (dev->state != SANE_STATUS_DEVICE_BUSY) - return 0; - else { - if (dev->non_blocking) { - dev->state = SANE_STATUS_GOOD; - return 0; - } else { - if (sleeptime > 1000) - sleeptime = 1000; - DBG (4, "(%s) sleeping(%d ms).. [%x %x]\n", - str_cmd(cmd), sleeptime, dev->res[4], dev->res[5]); - usleep(sleeptime * 1000); - if (sleeptime < 1000) - sleeptime *= (sleeptime < 100)? 10 : 2; - } - } /* BUSY */ - } - } while (dev->state == SANE_STATUS_DEVICE_BUSY); + int sleeptime = 10; + + do { + if (cancelled(dev)) + return 0; + if (!dev_cmd(dev, cmd)) { + dev->state = SANE_STATUS_IO_ERROR; + return 0; + } else if (dev->state) { + if (dev->state != SANE_STATUS_DEVICE_BUSY) + return 0; + else { + if (dev->non_blocking) { + dev->state = SANE_STATUS_GOOD; + return 0; + } else { + if (sleeptime > 1000) + sleeptime = 1000; + DBG(4, "(%s) sleeping(%d ms).. [%x %x]\n", + str_cmd(cmd), sleeptime, dev->res[4], dev->res[5]); + usleep(sleeptime * 1000); + if (sleeptime < 1000) + sleeptime *= (sleeptime < 100)? 10 : 2; + } + } /* BUSY */ + } + } while (dev->state == SANE_STATUS_DEVICE_BUSY); - return 1; + return 1; } static int inq_dpi_bits[] = { - 75, 150, 0, 0, - 200, 300, 0, 0, - 600, 0, 0, 1200, - 100, 0, 0, 2400, - 0, 4800, 0, 9600 + 75, 150, 0, 0, + 200, 300, 0, 0, + 600, 0, 0, 1200, + 100, 0, 0, 2400, + 0, 4800, 0, 9600 }; static int res_dpi_codes[] = { - 75, 0, 150, 0, - 0, 300, 0, 600, - 1200, 200, 100, 2400, - 4800, 9600 + 75, 0, 150, 0, + 0, 300, 0, 600, + 1200, 200, 100, 2400, + 4800, 9600 }; -static int SANE_Word_sort(const void * a, const void * b) +static int SANE_Word_sort(const void *a, const void *b) { - return *(const SANE_Word *)a - *(const SANE_Word *)b; + return *(const SANE_Word *)a - *(const SANE_Word *)b; } /* resolve inquired dpi list to dpi_list array */ static void resolv_inq_dpi(struct device *dev) { - unsigned int i; - int res = dev->resolutions; - - assert(sizeof(inq_dpi_bits) < sizeof(dev->dpi_list)); - for (i = 0; i < sizeof(inq_dpi_bits) / sizeof(int); i++) - if (inq_dpi_bits[i] && (res & (1 << i))) - dev->dpi_list[++dev->dpi_list[0]] = inq_dpi_bits[i]; - qsort(&dev->dpi_list[1], dev->dpi_list[0], sizeof(SANE_Word), SANE_Word_sort); + unsigned int i; + int res = dev->resolutions; + + assert(sizeof(inq_dpi_bits) < sizeof(dev->dpi_list)); + for (i = 0; i < sizeof(inq_dpi_bits) / sizeof(int); i++) + if (inq_dpi_bits[i] && (res & (1 << i))) + dev->dpi_list[++dev->dpi_list[0]] = inq_dpi_bits[i]; + qsort(&dev->dpi_list[1], dev->dpi_list[0], sizeof(SANE_Word), SANE_Word_sort); } static unsigned int dpi_to_code(int dpi) { - unsigned int i; + unsigned int i; - for (i = 0; i < sizeof(res_dpi_codes) / sizeof(int); i++) { - if (dpi == res_dpi_codes[i]) - return i; - } - return 0; + for (i = 0; i < sizeof(res_dpi_codes) / sizeof(int); i++) { + if (dpi == res_dpi_codes[i]) + return i; + } + return 0; } static int string_match_index(const SANE_String_Const s[], SANE_String m) { - int i; - - for (i = 0; *s; i++) { - SANE_String_Const x = *s++; - if (strcasecmp(x, m) == 0) - return i; - } - return 0; + int i; + + for (i = 0; *s; i++) { + SANE_String_Const x = *s++; + if (strcasecmp(x, m) == 0) + return i; + } + return 0; } static SANE_String string_match(const SANE_String_Const s[], SANE_String m) { - return UNCONST(s[string_match_index(s, m)]); + return UNCONST(s[string_match_index(s, m)]); } -static size_t max_string_size (SANE_String_Const s[]) +static size_t max_string_size(SANE_String_Const s[]) { - size_t max = 0; - - while (*s) { - size_t size = strlen(*s++) + 1; - if (size > max) - max = size; - } - return max; + size_t max = 0; + + while (*s) { + size_t size = strlen(*s++) + 1; + if (size > max) + max = size; + } + return max; } static SANE_String_Const doc_sources[] = { - "Flatbed", "ADF", "Auto", NULL + "Flatbed", "ADF", "Auto", NULL }; static int doc_source_to_code[] = { - 0x40, 0x20, 0x80 + 0x40, 0x20, 0x80 }; static SANE_String_Const scan_modes[] = { - SANE_VALUE_SCAN_MODE_LINEART, - SANE_VALUE_SCAN_MODE_HALFTONE, - SANE_VALUE_SCAN_MODE_GRAY, - SANE_VALUE_SCAN_MODE_COLOR, - NULL + SANE_VALUE_SCAN_MODE_LINEART, + SANE_VALUE_SCAN_MODE_HALFTONE, + SANE_VALUE_SCAN_MODE_GRAY, + SANE_VALUE_SCAN_MODE_COLOR, + NULL }; static int scan_mode_to_code[] = { - 0x00, 0x01, 0x03, 0x05 + 0x00, 0x01, 0x03, 0x05 }; static SANE_Range threshold = { - SANE_FIX(30), SANE_FIX(70), SANE_FIX(10) + SANE_FIX(30), SANE_FIX(70), SANE_FIX(10) }; static void reset_options(struct device *dev) { - dev->val[OPT_RESOLUTION].w = 150; - dev->val[OPT_MODE].s = string_match(scan_modes, SANE_VALUE_SCAN_MODE_COLOR); - - /* if docs loaded in adf use it as default source, flatbed oterwise */ - dev->val[OPT_SOURCE].s = UNCONST(doc_sources[(dev->doc_loaded)? 1 : 0]); - - dev->val[OPT_THRESHOLD].w = SANE_FIX(50); - - /* this is reported maximum window size, will be fixed later */ - dev->win_x_range.min = SANE_FIX(0); - dev->win_x_range.max = SANE_FIX((double)dev->max_win_width / PNT_PER_MM); - dev->win_x_range.quant = SANE_FIX(1); - dev->win_y_range.min = SANE_FIX(0); - dev->win_y_range.max = SANE_FIX((double)dev->max_win_len / PNT_PER_MM); - dev->win_y_range.quant = SANE_FIX(1); - dev->val[OPT_SCAN_TL_X].w = dev->win_x_range.min; - dev->val[OPT_SCAN_TL_Y].w = dev->win_y_range.min; - dev->val[OPT_SCAN_BR_X].w = dev->win_x_range.max; - dev->val[OPT_SCAN_BR_Y].w = dev->win_y_range.max; + dev->val[OPT_RESOLUTION].w = 150; + dev->val[OPT_MODE].s = string_match(scan_modes, SANE_VALUE_SCAN_MODE_COLOR); + + /* if docs loaded in adf use it as default source, flatbed oterwise */ + dev->val[OPT_SOURCE].s = UNCONST(doc_sources[(dev->doc_loaded)? 1 : 0]); + + dev->val[OPT_THRESHOLD].w = SANE_FIX(50); + + /* this is reported maximum window size, will be fixed later */ + dev->win_x_range.min = SANE_FIX(0); + dev->win_x_range.max = SANE_FIX((double)dev->max_win_width / PNT_PER_MM); + dev->win_x_range.quant = SANE_FIX(1); + dev->win_y_range.min = SANE_FIX(0); + dev->win_y_range.max = SANE_FIX((double)dev->max_win_len / PNT_PER_MM); + dev->win_y_range.quant = SANE_FIX(1); + dev->val[OPT_SCAN_TL_X].w = dev->win_x_range.min; + dev->val[OPT_SCAN_TL_Y].w = dev->win_y_range.min; + dev->val[OPT_SCAN_BR_X].w = dev->win_x_range.max; + dev->val[OPT_SCAN_BR_Y].w = dev->win_y_range.max; } static void init_options(struct device *dev) { - int i; - - for (i = 0; i < NUM_OPTIONS; i++) { - dev->opt[i].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - dev->opt[i].size = sizeof(SANE_Word); - dev->opt[i].type = SANE_TYPE_FIXED; - dev->val[i].s = NULL; - } - - dev->opt[OPT_NUMOPTIONS].name = SANE_NAME_NUM_OPTIONS; - dev->opt[OPT_NUMOPTIONS].title = SANE_TITLE_NUM_OPTIONS; - dev->opt[OPT_NUMOPTIONS].desc = SANE_DESC_NUM_OPTIONS; - dev->opt[OPT_NUMOPTIONS].type = SANE_TYPE_INT; - dev->opt[OPT_NUMOPTIONS].cap = SANE_CAP_SOFT_DETECT; - dev->val[OPT_NUMOPTIONS].w = NUM_OPTIONS; - - dev->opt[OPT_GROUP_STD].name = SANE_NAME_STANDARD; - dev->opt[OPT_GROUP_STD].title = SANE_TITLE_STANDARD; - dev->opt[OPT_GROUP_STD].desc = SANE_DESC_STANDARD; - dev->opt[OPT_GROUP_STD].type = SANE_TYPE_GROUP; - dev->opt[OPT_GROUP_STD].cap = 0; - - dev->opt[OPT_RESOLUTION].name = SANE_NAME_SCAN_RESOLUTION; - dev->opt[OPT_RESOLUTION].title = SANE_TITLE_SCAN_RESOLUTION; - dev->opt[OPT_RESOLUTION].desc = SANE_DESC_SCAN_RESOLUTION; - dev->opt[OPT_RESOLUTION].type = SANE_TYPE_INT; - dev->opt[OPT_RESOLUTION].cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT; - dev->opt[OPT_RESOLUTION].unit = SANE_UNIT_DPI; - dev->opt[OPT_RESOLUTION].constraint_type = SANE_CONSTRAINT_WORD_LIST; - dev->opt[OPT_RESOLUTION].constraint.word_list = dev->dpi_list; - - dev->opt[OPT_MODE].name = SANE_NAME_SCAN_MODE; - dev->opt[OPT_MODE].title = SANE_TITLE_SCAN_MODE; - dev->opt[OPT_MODE].desc = SANE_DESC_SCAN_MODE; - dev->opt[OPT_MODE].type = SANE_TYPE_STRING; - dev->opt[OPT_MODE].size = max_string_size(scan_modes); - dev->opt[OPT_MODE].cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT; - dev->opt[OPT_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST; - dev->opt[OPT_MODE].constraint.string_list = scan_modes; - - dev->opt[OPT_THRESHOLD].name = SANE_NAME_HIGHLIGHT; - dev->opt[OPT_THRESHOLD].title = SANE_TITLE_THRESHOLD; - dev->opt[OPT_THRESHOLD].desc = SANE_DESC_THRESHOLD; - dev->opt[OPT_THRESHOLD].unit = SANE_UNIT_PERCENT; - dev->opt[OPT_THRESHOLD].cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT; - dev->opt[OPT_THRESHOLD].constraint_type = SANE_CONSTRAINT_RANGE; - dev->opt[OPT_THRESHOLD].constraint.range = &threshold; - - dev->opt[OPT_SOURCE].name = SANE_NAME_SCAN_SOURCE; - dev->opt[OPT_SOURCE].title = SANE_TITLE_SCAN_SOURCE; - dev->opt[OPT_SOURCE].desc = SANE_DESC_SCAN_SOURCE; - dev->opt[OPT_SOURCE].type = SANE_TYPE_STRING; - dev->opt[OPT_SOURCE].size = max_string_size(doc_sources); - dev->opt[OPT_SOURCE].cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT; - dev->opt[OPT_SOURCE].constraint_type = SANE_CONSTRAINT_STRING_LIST; - dev->opt[OPT_SOURCE].constraint.string_list = doc_sources; - - dev->opt[OPT_GROUP_GEO].name = SANE_NAME_GEOMETRY; - dev->opt[OPT_GROUP_GEO].title = SANE_TITLE_GEOMETRY; - dev->opt[OPT_GROUP_GEO].desc = SANE_DESC_GEOMETRY; - dev->opt[OPT_GROUP_GEO].type = SANE_TYPE_GROUP; - dev->opt[OPT_GROUP_GEO].cap = 0; - - dev->opt[OPT_SCAN_TL_X].name = SANE_NAME_SCAN_TL_X; - dev->opt[OPT_SCAN_TL_X].title = SANE_TITLE_SCAN_TL_X; - dev->opt[OPT_SCAN_TL_X].desc = SANE_DESC_SCAN_TL_X; - dev->opt[OPT_SCAN_TL_X].unit = SANE_UNIT_MM; - dev->opt[OPT_SCAN_TL_X].constraint_type = SANE_CONSTRAINT_RANGE; - dev->opt[OPT_SCAN_TL_X].constraint.range = &dev->win_x_range; - - dev->opt[OPT_SCAN_TL_Y].name = SANE_NAME_SCAN_TL_Y; - dev->opt[OPT_SCAN_TL_Y].title = SANE_TITLE_SCAN_TL_Y; - dev->opt[OPT_SCAN_TL_Y].desc = SANE_DESC_SCAN_TL_Y; - dev->opt[OPT_SCAN_TL_Y].unit = SANE_UNIT_MM; - dev->opt[OPT_SCAN_TL_Y].constraint_type = SANE_CONSTRAINT_RANGE; - dev->opt[OPT_SCAN_TL_Y].constraint.range = &dev->win_y_range; - - dev->opt[OPT_SCAN_BR_X].name = SANE_NAME_SCAN_BR_X; - dev->opt[OPT_SCAN_BR_X].title = SANE_TITLE_SCAN_BR_X; - dev->opt[OPT_SCAN_BR_X].desc = SANE_DESC_SCAN_BR_X; - dev->opt[OPT_SCAN_BR_X].unit = SANE_UNIT_MM; - dev->opt[OPT_SCAN_BR_X].constraint_type = SANE_CONSTRAINT_RANGE; - dev->opt[OPT_SCAN_BR_X].constraint.range = &dev->win_x_range; - - dev->opt[OPT_SCAN_BR_Y].name = SANE_NAME_SCAN_BR_Y; - dev->opt[OPT_SCAN_BR_Y].title = SANE_TITLE_SCAN_BR_Y; - dev->opt[OPT_SCAN_BR_Y].desc = SANE_DESC_SCAN_BR_Y; - dev->opt[OPT_SCAN_BR_Y].unit = SANE_UNIT_MM; - dev->opt[OPT_SCAN_BR_Y].constraint_type = SANE_CONSTRAINT_RANGE; - dev->opt[OPT_SCAN_BR_Y].constraint.range = &dev->win_y_range; + int i; + + for (i = 0; i < NUM_OPTIONS; i++) { + dev->opt[i].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; + dev->opt[i].size = sizeof(SANE_Word); + dev->opt[i].type = SANE_TYPE_FIXED; + dev->val[i].s = NULL; + } + + dev->opt[OPT_NUMOPTIONS].name = SANE_NAME_NUM_OPTIONS; + dev->opt[OPT_NUMOPTIONS].title = SANE_TITLE_NUM_OPTIONS; + dev->opt[OPT_NUMOPTIONS].desc = SANE_DESC_NUM_OPTIONS; + dev->opt[OPT_NUMOPTIONS].type = SANE_TYPE_INT; + dev->opt[OPT_NUMOPTIONS].cap = SANE_CAP_SOFT_DETECT; + dev->val[OPT_NUMOPTIONS].w = NUM_OPTIONS; + + dev->opt[OPT_GROUP_STD].name = SANE_NAME_STANDARD; + dev->opt[OPT_GROUP_STD].title = SANE_TITLE_STANDARD; + dev->opt[OPT_GROUP_STD].desc = SANE_DESC_STANDARD; + dev->opt[OPT_GROUP_STD].type = SANE_TYPE_GROUP; + dev->opt[OPT_GROUP_STD].cap = 0; + + dev->opt[OPT_RESOLUTION].name = SANE_NAME_SCAN_RESOLUTION; + dev->opt[OPT_RESOLUTION].title = SANE_TITLE_SCAN_RESOLUTION; + dev->opt[OPT_RESOLUTION].desc = SANE_DESC_SCAN_RESOLUTION; + dev->opt[OPT_RESOLUTION].type = SANE_TYPE_INT; + dev->opt[OPT_RESOLUTION].cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT; + dev->opt[OPT_RESOLUTION].unit = SANE_UNIT_DPI; + dev->opt[OPT_RESOLUTION].constraint_type = SANE_CONSTRAINT_WORD_LIST; + dev->opt[OPT_RESOLUTION].constraint.word_list = dev->dpi_list; + + dev->opt[OPT_MODE].name = SANE_NAME_SCAN_MODE; + dev->opt[OPT_MODE].title = SANE_TITLE_SCAN_MODE; + dev->opt[OPT_MODE].desc = SANE_DESC_SCAN_MODE; + dev->opt[OPT_MODE].type = SANE_TYPE_STRING; + dev->opt[OPT_MODE].size = max_string_size(scan_modes); + dev->opt[OPT_MODE].cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT; + dev->opt[OPT_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST; + dev->opt[OPT_MODE].constraint.string_list = scan_modes; + + dev->opt[OPT_THRESHOLD].name = SANE_NAME_HIGHLIGHT; + dev->opt[OPT_THRESHOLD].title = SANE_TITLE_THRESHOLD; + dev->opt[OPT_THRESHOLD].desc = SANE_DESC_THRESHOLD; + dev->opt[OPT_THRESHOLD].unit = SANE_UNIT_PERCENT; + dev->opt[OPT_THRESHOLD].cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT; + dev->opt[OPT_THRESHOLD].constraint_type = SANE_CONSTRAINT_RANGE; + dev->opt[OPT_THRESHOLD].constraint.range = &threshold; + + dev->opt[OPT_SOURCE].name = SANE_NAME_SCAN_SOURCE; + dev->opt[OPT_SOURCE].title = SANE_TITLE_SCAN_SOURCE; + dev->opt[OPT_SOURCE].desc = SANE_DESC_SCAN_SOURCE; + dev->opt[OPT_SOURCE].type = SANE_TYPE_STRING; + dev->opt[OPT_SOURCE].size = max_string_size(doc_sources); + dev->opt[OPT_SOURCE].cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT; + dev->opt[OPT_SOURCE].constraint_type = SANE_CONSTRAINT_STRING_LIST; + dev->opt[OPT_SOURCE].constraint.string_list = doc_sources; + + dev->opt[OPT_GROUP_GEO].name = SANE_NAME_GEOMETRY; + dev->opt[OPT_GROUP_GEO].title = SANE_TITLE_GEOMETRY; + dev->opt[OPT_GROUP_GEO].desc = SANE_DESC_GEOMETRY; + dev->opt[OPT_GROUP_GEO].type = SANE_TYPE_GROUP; + dev->opt[OPT_GROUP_GEO].cap = 0; + + dev->opt[OPT_SCAN_TL_X].name = SANE_NAME_SCAN_TL_X; + dev->opt[OPT_SCAN_TL_X].title = SANE_TITLE_SCAN_TL_X; + dev->opt[OPT_SCAN_TL_X].desc = SANE_DESC_SCAN_TL_X; + dev->opt[OPT_SCAN_TL_X].unit = SANE_UNIT_MM; + dev->opt[OPT_SCAN_TL_X].constraint_type = SANE_CONSTRAINT_RANGE; + dev->opt[OPT_SCAN_TL_X].constraint.range = &dev->win_x_range; + + dev->opt[OPT_SCAN_TL_Y].name = SANE_NAME_SCAN_TL_Y; + dev->opt[OPT_SCAN_TL_Y].title = SANE_TITLE_SCAN_TL_Y; + dev->opt[OPT_SCAN_TL_Y].desc = SANE_DESC_SCAN_TL_Y; + dev->opt[OPT_SCAN_TL_Y].unit = SANE_UNIT_MM; + dev->opt[OPT_SCAN_TL_Y].constraint_type = SANE_CONSTRAINT_RANGE; + dev->opt[OPT_SCAN_TL_Y].constraint.range = &dev->win_y_range; + + dev->opt[OPT_SCAN_BR_X].name = SANE_NAME_SCAN_BR_X; + dev->opt[OPT_SCAN_BR_X].title = SANE_TITLE_SCAN_BR_X; + dev->opt[OPT_SCAN_BR_X].desc = SANE_DESC_SCAN_BR_X; + dev->opt[OPT_SCAN_BR_X].unit = SANE_UNIT_MM; + dev->opt[OPT_SCAN_BR_X].constraint_type = SANE_CONSTRAINT_RANGE; + dev->opt[OPT_SCAN_BR_X].constraint.range = &dev->win_x_range; + + dev->opt[OPT_SCAN_BR_Y].name = SANE_NAME_SCAN_BR_Y; + dev->opt[OPT_SCAN_BR_Y].title = SANE_TITLE_SCAN_BR_Y; + dev->opt[OPT_SCAN_BR_Y].desc = SANE_DESC_SCAN_BR_Y; + dev->opt[OPT_SCAN_BR_Y].unit = SANE_UNIT_MM; + dev->opt[OPT_SCAN_BR_Y].constraint_type = SANE_CONSTRAINT_RANGE; + dev->opt[OPT_SCAN_BR_Y].constraint.range = &dev->win_y_range; } /* fill parameters from options */ static void set_parameters(struct device *dev) { - double px_to_len; + double px_to_len; - dev->para.last_frame = SANE_TRUE; - dev->para.lines = -1; - px_to_len = 1200.0 / dev->val[OPT_RESOLUTION].w; + dev->para.last_frame = SANE_TRUE; + dev->para.lines = -1; + px_to_len = 1200.0 / dev->val[OPT_RESOLUTION].w; #define BETTER_BASEDPI 1 - /* tests prove that 1200dpi base is very inexact - * so I calculated better values for each axis */ -#if BETTER_BASEDPI - px_to_len = 1180.0 / dev->val[OPT_RESOLUTION].w; -#endif - dev->para.pixels_per_line = dev->win_width / px_to_len; - dev->para.bytes_per_line = dev->para.pixels_per_line; + /* tests prove that 1200dpi base is very inexact + * so I calculated better values for each axis */ #if BETTER_BASEDPI - px_to_len = 1213.9 / dev->val[OPT_RESOLUTION].w; + px_to_len = 1180.0 / dev->val[OPT_RESOLUTION].w; #endif - dev->para.lines = dev->win_len / px_to_len; - if (dev->composition == MODE_LINEART || - dev->composition == MODE_HALFTONE) { - dev->para.format = SANE_FRAME_GRAY; - dev->para.depth = 1; - dev->para.bytes_per_line = (dev->para.pixels_per_line + 7) / 8; - } else if (dev->composition == MODE_GRAY8) { - dev->para.format = SANE_FRAME_GRAY; - dev->para.depth = 8; + dev->para.pixels_per_line = dev->win_width / px_to_len; dev->para.bytes_per_line = dev->para.pixels_per_line; - } else if (dev->composition == MODE_RGB24) { - dev->para.format = SANE_FRAME_RGB; - dev->para.depth = 8; - dev->para.bytes_per_line *= 3; - } else { - /* this will never happen */ - DBG (1, "%s: impossible image composition %d\n", - __FUNCTION__, dev->composition); - dev->para.format = SANE_FRAME_GRAY; - dev->para.depth = 8; - } + + if (!isSupportedDevice(dev)) { +#if BETTER_BASEDPI + px_to_len = 1213.9 / dev->val[OPT_RESOLUTION].w; +#endif + } + dev->para.lines = dev->win_len / px_to_len; + if (dev->composition == MODE_LINEART || + dev->composition == MODE_HALFTONE) { + dev->para.format = SANE_FRAME_GRAY; + dev->para.depth = 1; + dev->para.bytes_per_line = (dev->para.pixels_per_line + 7) / 8; + } else if (dev->composition == MODE_GRAY8) { + dev->para.format = SANE_FRAME_GRAY; + dev->para.depth = 8; + dev->para.bytes_per_line = dev->para.pixels_per_line; + } else if (dev->composition == MODE_RGB24) { + dev->para.format = SANE_FRAME_RGB; + dev->para.depth = 8; + dev->para.bytes_per_line *= 3; + } else { + /* this will never happen */ + DBG(1, "%s: impossible image composition %d\n", + __func__, dev->composition); + dev->para.format = SANE_FRAME_GRAY; + dev->para.depth = 8; + } } /* resolve all options related to scan window */ /* called after option changed and in set_window */ static int fix_window(struct device *dev) { - double win_width_mm, win_len_mm; - int i; - int threshold = SANE_UNFIX(dev->val[OPT_THRESHOLD].w); - - dev->resolution = dpi_to_code(dev->val[OPT_RESOLUTION].w); - dev->composition = scan_mode_to_code[string_match_index(scan_modes, dev->val[OPT_MODE].s)]; - - if (dev->composition == MODE_LINEART || - dev->composition == MODE_HALFTONE) { - dev->opt[OPT_THRESHOLD].cap &= ~SANE_CAP_INACTIVE; - } else { - dev->opt[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE; - } - if (threshold < 30) { - dev->val[OPT_THRESHOLD].w = SANE_FIX(30); - } else if (threshold > 70) { - dev->val[OPT_THRESHOLD].w = SANE_FIX(70); - } - threshold = SANE_UNFIX(dev->val[OPT_THRESHOLD].w); - dev->threshold = (threshold - 30) / 10; - dev->val[OPT_THRESHOLD].w = SANE_FIX(dev->threshold * 10 + 30); - - dev->doc_source = doc_source_to_code[string_match_index(doc_sources, dev->val[OPT_SOURCE].s)]; - - /* max window len is dependent of document source */ - if (dev->doc_source == DOC_FLATBED || - (dev->doc_source == DOC_AUTO && !dev->doc_loaded)) - dev->max_len = dev->max_len_fb; - else - dev->max_len = dev->max_len_adf; - - /* parameters */ - dev->win_y_range.max = SANE_FIX((double)dev->max_len / PNT_PER_MM); - - /* window sanity checking */ - for (i = OPT_SCAN_TL_X; i <= OPT_SCAN_BR_Y; i++) { - if (dev->val[i].w < dev->opt[i].constraint.range->min) - dev->val[i].w = dev->opt[i].constraint.range->min; - if (dev->val[i].w > dev->opt[i].constraint.range->max) - dev->val[i].w = dev->opt[i].constraint.range->max; - } - - if (dev->val[OPT_SCAN_TL_X].w > dev->val[OPT_SCAN_BR_X].w) - SWAP_Word(dev->val[OPT_SCAN_TL_X].w, dev->val[OPT_SCAN_BR_X].w); - if (dev->val[OPT_SCAN_TL_Y].w > dev->val[OPT_SCAN_BR_Y].w) - SWAP_Word(dev->val[OPT_SCAN_TL_Y].w, dev->val[OPT_SCAN_BR_Y].w); - - /* recalculate millimeters to inches */ - dev->win_off_x = SANE_UNFIX(dev->val[OPT_SCAN_TL_X].w) / MM_PER_INCH; - dev->win_off_y = SANE_UNFIX(dev->val[OPT_SCAN_TL_Y].w) / MM_PER_INCH; - - /* calc win size in mm */ - win_width_mm = SANE_UNFIX(dev->val[OPT_SCAN_BR_X].w) - - SANE_UNFIX(dev->val[OPT_SCAN_TL_X].w); - win_len_mm = SANE_UNFIX(dev->val[OPT_SCAN_BR_Y].w) - - SANE_UNFIX(dev->val[OPT_SCAN_TL_Y].w); - /* convert mm to 1200 dpi points */ - dev->win_width = (int)(win_width_mm * PNT_PER_MM); - dev->win_len = (int)(win_len_mm * PNT_PER_MM); - - /* don't scan if window is zero size */ - if (!dev->win_width || !dev->win_len) { - /* "The scan cannot be started with the current set of options." */ - dev->state = SANE_STATUS_INVAL; - return 0; - } + double win_width_mm, win_len_mm; + int i; + int threshold = SANE_UNFIX(dev->val[OPT_THRESHOLD].w); - return 1; -} + dev->resolution = dpi_to_code(dev->val[OPT_RESOLUTION].w); + dev->composition = scan_mode_to_code[string_match_index(scan_modes, dev->val[OPT_MODE].s)]; -static int dev_set_window (struct device *dev) -{ - SANE_Byte cmd[0x19] = { - REQ_CODE_A, REQ_CODE_B, CMD_SET_WINDOW, 0x13, MSG_SCANNING_PARAM - }; + if (dev->composition == MODE_LINEART || + dev->composition == MODE_HALFTONE) { + dev->opt[OPT_THRESHOLD].cap &= ~SANE_CAP_INACTIVE; + } else { + dev->opt[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE; + } + if (threshold < 30) { + dev->val[OPT_THRESHOLD].w = SANE_FIX(30); + } else if (threshold > 70) { + dev->val[OPT_THRESHOLD].w = SANE_FIX(70); + } + threshold = SANE_UNFIX(dev->val[OPT_THRESHOLD].w); + dev->threshold = (threshold - 30) / 10; + dev->val[OPT_THRESHOLD].w = SANE_FIX(dev->threshold * 10 + 30); - if (!fix_window(dev)) - return 0; + dev->doc_source = doc_source_to_code[string_match_index(doc_sources, dev->val[OPT_SOURCE].s)]; + + /* max window len is dependent of document source */ + if (dev->doc_source == DOC_FLATBED || + (dev->doc_source == DOC_AUTO && !dev->doc_loaded)) + dev->max_len = dev->max_len_fb; + else + dev->max_len = dev->max_len_adf; + + /* parameters */ + dev->win_y_range.max = SANE_FIX((double)dev->max_len / PNT_PER_MM); + + /* window sanity checking */ + for (i = OPT_SCAN_TL_X; i <= OPT_SCAN_BR_Y; i++) { + if (dev->val[i].w < dev->opt[i].constraint.range->min) + dev->val[i].w = dev->opt[i].constraint.range->min; + if (dev->val[i].w > dev->opt[i].constraint.range->max) + dev->val[i].w = dev->opt[i].constraint.range->max; + } + + if (dev->val[OPT_SCAN_TL_X].w > dev->val[OPT_SCAN_BR_X].w) + SWAP_Word(dev->val[OPT_SCAN_TL_X].w, dev->val[OPT_SCAN_BR_X].w); + if (dev->val[OPT_SCAN_TL_Y].w > dev->val[OPT_SCAN_BR_Y].w) + SWAP_Word(dev->val[OPT_SCAN_TL_Y].w, dev->val[OPT_SCAN_BR_Y].w); + + /* recalculate millimeters to inches */ + dev->win_off_x = SANE_UNFIX(dev->val[OPT_SCAN_TL_X].w) / MM_PER_INCH; + dev->win_off_y = SANE_UNFIX(dev->val[OPT_SCAN_TL_Y].w) / MM_PER_INCH; + + /* calc win size in mm */ + win_width_mm = SANE_UNFIX(dev->val[OPT_SCAN_BR_X].w) - + SANE_UNFIX(dev->val[OPT_SCAN_TL_X].w); + win_len_mm = SANE_UNFIX(dev->val[OPT_SCAN_BR_Y].w) - + SANE_UNFIX(dev->val[OPT_SCAN_TL_Y].w); + /* convert mm to 1200 dpi points */ + dev->win_width = (int)(win_width_mm * PNT_PER_MM); + dev->win_len = (int)(win_len_mm * PNT_PER_MM); + + /* don't scan if window is zero size */ + if (!dev->win_width || !dev->win_len) { + /* "The scan cannot be started with the current set of options." */ + dev->state = SANE_STATUS_INVAL; + return 0; + } - cmd[0x05] = dev->win_width >> 24; - cmd[0x06] = dev->win_width >> 16; - cmd[0x07] = dev->win_width >> 8; - cmd[0x08] = dev->win_width; - cmd[0x09] = dev->win_len >> 24; - cmd[0x0a] = dev->win_len >> 16; - cmd[0x0b] = dev->win_len >> 8; - cmd[0x0c] = dev->win_len; - cmd[0x0d] = dev->resolution; /* x */ - cmd[0x0e] = dev->resolution; /* y */ - cmd[0x0f] = (SANE_Byte)floor(dev->win_off_x); - cmd[0x10] = (SANE_Byte)((dev->win_off_x - floor(dev->win_off_x)) * 100); - cmd[0x11] = (SANE_Byte)floor(dev->win_off_y); - cmd[0x12] = (SANE_Byte)((dev->win_off_y - floor(dev->win_off_y)) * 100); - cmd[0x13] = dev->composition; - cmd[0x16] = dev->threshold; - cmd[0x17] = dev->doc_source; - - DBG (5, "OFF xi: %02x%02x yi: %02x%02x," - " WIN xp: %02x%02x%02x%02x yp %02x%02x%02x%02x," - " MAX %08x %08x\n", - cmd[0x0f], cmd[0x10], cmd[0x11], cmd[0x12], - cmd[0x05], cmd[0x06], cmd[0x07], cmd[0x08], - cmd[0x09], cmd[0x0a], cmd[0x0b], cmd[0x0c], - dev->max_win_width, dev->max_win_len); - - return dev_command (dev, cmd, 32); + return 1; +} + +static int dev_set_window(struct device *dev) +{ + SANE_Byte cmd[0x19] = { + REQ_CODE_A, REQ_CODE_B, CMD_SET_WINDOW, 0x13, MSG_SCANNING_PARAM + }; + + if (!fix_window(dev)) + return 0; + + cmd[0x05] = dev->win_width >> 24; + cmd[0x06] = dev->win_width >> 16; + cmd[0x07] = dev->win_width >> 8; + cmd[0x08] = dev->win_width; + cmd[0x09] = dev->win_len >> 24; + cmd[0x0a] = dev->win_len >> 16; + cmd[0x0b] = dev->win_len >> 8; + cmd[0x0c] = dev->win_len; + cmd[0x0d] = dev->resolution; /* x */ + cmd[0x0e] = dev->resolution; /* y */ + cmd[0x0f] = (SANE_Byte)floor(dev->win_off_x); + cmd[0x10] = (SANE_Byte)((dev->win_off_x - floor(dev->win_off_x)) * 100); + cmd[0x11] = (SANE_Byte)floor(dev->win_off_y); + cmd[0x12] = (SANE_Byte)((dev->win_off_y - floor(dev->win_off_y)) * 100); + cmd[0x13] = dev->composition; + /* Set to JPEG Lossy Compression, if mode is color (only for supported model)... + * else go with Uncompressed (For backard compatibility with old models )*/ + if (dev->composition == MODE_RGB24) { + if (isSupportedDevice(dev)) { + cmd[0x14] = 0x6; + } + } + cmd[0x16] = dev->threshold; + cmd[0x17] = dev->doc_source; + + DBG(5, "OFF xi: %02x%02x yi: %02x%02x," + " WIN xp: %02x%02x%02x%02x yp %02x%02x%02x%02x," + " MAX %08x %08x\n", + cmd[0x0f], cmd[0x10], cmd[0x11], cmd[0x12], + cmd[0x05], cmd[0x06], cmd[0x07], cmd[0x08], + cmd[0x09], cmd[0x0a], cmd[0x0b], cmd[0x0c], + dev->max_win_width, dev->max_win_len); + + return dev_command(dev, cmd, 32); } static SANE_Status -dev_inquiry (struct device *dev) +dev_inquiry(struct device *dev) { - SANE_Byte *ptr; - SANE_Char *optr, *xptr; - - if (!dev_cmd (dev, CMD_INQUIRY)) - return SANE_STATUS_IO_ERROR; - ptr = dev->res; - if (ptr[3] != MSG_PRODUCT_INFO) { - DBG (1, "%s: illegal INQUIRY response %02x\n", __FUNCTION__, ptr[3]); - return SANE_STATUS_IO_ERROR; - } - - /* parse reported manufacturer/product names */ - dev->sane.vendor = optr = (SANE_Char *) malloc (33); - for (ptr += 4; ptr < &dev->res[0x24] && *ptr && *ptr != ' ';) - *optr++ = *ptr++; - *optr++ = 0; - - for (; ptr < &dev->res[0x24] && (!*ptr || *ptr == ' '); ptr++) - /* skip spaces */; - - dev->sane.model = optr = (SANE_Char *) malloc (33); - xptr = optr; /* is last non space character + 1 */ - for (; ptr < &dev->res[0x24] && *ptr;) { - if (*ptr != ' ') - xptr = optr + 1; - *optr++ = *ptr++; - } - *optr++ = 0; - *xptr = 0; - - DBG (1, "%s: found %s/%s\n", __FUNCTION__, dev->sane.vendor, dev->sane.model); - dev->sane.type = strdup ("multi-function peripheral"); - - dev->resolutions = dev->res[0x37] << 16 | - dev->res[0x24] << 8 | - dev->res[0x25]; - dev->compositions = dev->res[0x27]; - dev->max_win_width = dev->res[0x28] << 24 | - dev->res[0x29] << 16 | - dev->res[0x2a] << 8 | - dev->res[0x2b]; - dev->max_win_len = dev->res[0x2c] << 24 | - dev->res[0x2d] << 16 | - dev->res[0x2e] << 8 | - dev->res[0x2f]; - dev->max_len_adf = dev->res[0x38] << 24 | - dev->res[0x39] << 16 | - dev->res[0x3a] << 8 | - dev->res[0x3b]; - dev->max_len_fb = dev->res[0x3c] << 24 | - dev->res[0x3d] << 16 | - dev->res[0x3e] << 8 | - dev->res[0x3f]; - dev->line_order = dev->res[0x31]; - dev->doc_loaded = (dev->res[0x35] == 0x02) && - (dev->res[0x26] & 0x03); - - init_options(dev); - reset_options(dev); - fix_window(dev); - set_parameters(dev); - resolv_inq_dpi(dev); - - return SANE_STATUS_GOOD; + SANE_Byte *ptr; + SANE_Char *optr, *xptr; + + if (!dev_cmd(dev, CMD_INQUIRY)) + return SANE_STATUS_IO_ERROR; + ptr = dev->res; + if (ptr[3] != MSG_PRODUCT_INFO) { + DBG(1, "%s: illegal INQUIRY response %02x\n", __func__, ptr[3]); + return SANE_STATUS_IO_ERROR; + } + + /* parse reported manufacturer/product names */ + dev->sane.vendor = optr = (SANE_Char *) malloc(33); + for (ptr += 4; ptr < &dev->res[0x24] && *ptr && *ptr != ' ';) + *optr++ = *ptr++; + *optr++ = 0; + + for (; ptr < &dev->res[0x24] && (!*ptr || *ptr == ' '); ptr++) + /* skip spaces */; + + dev->sane.model = optr = (SANE_Char *) malloc(33); + xptr = optr; /* is last non space character + 1 */ + for (; ptr < &dev->res[0x24] && *ptr;) { + if (*ptr != ' ') + xptr = optr + 1; + *optr++ = *ptr++; + } + *optr++ = 0; + *xptr = 0; + + DBG(1, "%s: found %s/%s\n", __func__, dev->sane.vendor, dev->sane.model); + dev->sane.type = strdup("multi-function peripheral"); + + dev->resolutions = dev->res[0x37] << 16 | + dev->res[0x24] << 8 | + dev->res[0x25]; + dev->compositions = dev->res[0x27]; + dev->max_win_width = dev->res[0x28] << 24 | + dev->res[0x29] << 16 | + dev->res[0x2a] << 8 | + dev->res[0x2b]; + dev->max_win_len = dev->res[0x2c] << 24 | + dev->res[0x2d] << 16 | + dev->res[0x2e] << 8 | + dev->res[0x2f]; + dev->max_len_adf = dev->res[0x38] << 24 | + dev->res[0x39] << 16 | + dev->res[0x3a] << 8 | + dev->res[0x3b]; + dev->max_len_fb = dev->res[0x3c] << 24 | + dev->res[0x3d] << 16 | + dev->res[0x3e] << 8 | + dev->res[0x3f]; + dev->line_order = dev->res[0x31]; + dev->compressionTypes = dev->res[0x32]; + dev->doc_loaded = (dev->res[0x35] == 0x02) && + (dev->res[0x26] & 0x03); + + init_options(dev); + reset_options(dev); + fix_window(dev); + set_parameters(dev); + resolv_inq_dpi(dev); + + return SANE_STATUS_GOOD; } const SANE_Option_Descriptor * -sane_get_option_descriptor (SANE_Handle h, SANE_Int opt) +sane_get_option_descriptor(SANE_Handle h, SANE_Int opt) { - struct device *dev = h; + struct device *dev = h; - DBG (3, "%s: %p, %d\n", __FUNCTION__, h, opt); - if (opt >= NUM_OPTIONS || opt < 0) - return NULL; - return &dev->opt[opt]; + DBG(3, "%s: %p, %d\n", __func__, h, opt); + if (opt >= NUM_OPTIONS || opt < 0) + return NULL; + return &dev->opt[opt]; } SANE_Status -sane_control_option (SANE_Handle h, SANE_Int opt, SANE_Action act, - void *val, SANE_Word * info) +sane_control_option(SANE_Handle h, SANE_Int opt, SANE_Action act, + void *val, SANE_Word *info) { - struct device *dev = h; - - DBG (3, "%s: %p, %d, <%d>, %p, %p\n", __FUNCTION__, h, opt, act, val, (void *)info); - if (!dev || opt >= NUM_OPTIONS || opt < 0) - return SANE_STATUS_INVAL; - - if (info) - *info = 0; - - if (act == SANE_ACTION_GET_VALUE) { /* GET */ - if (dev->opt[opt].type == SANE_TYPE_STRING) - strcpy(val, dev->val[opt].s); - else - *(SANE_Word *)val = dev->val[opt].w; - } else if (act == SANE_ACTION_SET_VALUE) { /* SET */ - SANE_Parameters xpara = dev->para; - SANE_Option_Descriptor xopt[NUM_OPTIONS]; - Option_Value xval[NUM_OPTIONS]; - int i; - - if (dev->opt[opt].constraint_type == SANE_CONSTRAINT_STRING_LIST) { - dev->val[opt].s = string_match(dev->opt[opt].constraint.string_list, val); - if (info && strcasecmp(dev->val[opt].s, val)) - *info |= SANE_INFO_INEXACT; - } else if (opt == OPT_RESOLUTION) - dev->val[opt].w = res_dpi_codes[dpi_to_code(*(SANE_Word *)val)]; - else - dev->val[opt].w = *(SANE_Word *)val; - - memcpy(&xopt, &dev->opt, sizeof(xopt)); - memcpy(&xval, &dev->val, sizeof(xval)); - fix_window(dev); - set_parameters(dev); - - /* check for side effects */ - if (info) { - if (memcmp(&xpara, &dev->para, sizeof(xpara))) - *info |= SANE_INFO_RELOAD_PARAMS; - if (memcmp(&xopt, &dev->opt, sizeof(xopt))) - *info |= SANE_INFO_RELOAD_OPTIONS; - for (i = 0; i < NUM_OPTIONS; i++) - if (xval[i].w != dev->val[i].w) { - if (i == opt) - *info |= SANE_INFO_INEXACT; - else - *info |= SANE_INFO_RELOAD_OPTIONS; - } + struct device *dev = h; + + DBG(3, "%s: %p, %d, <%d>, %p, %p\n", __func__, h, opt, act, val, (void *)info); + if (!dev || opt >= NUM_OPTIONS || opt < 0) + return SANE_STATUS_INVAL; + + if (info) + *info = 0; + + if (act == SANE_ACTION_GET_VALUE) { /* GET */ + if (dev->opt[opt].type == SANE_TYPE_STRING) + strcpy(val, dev->val[opt].s); + else + *(SANE_Word *)val = dev->val[opt].w; + } else if (act == SANE_ACTION_SET_VALUE) { /* SET */ + SANE_Parameters xpara = dev->para; + SANE_Option_Descriptor xopt[NUM_OPTIONS]; + Option_Value xval[NUM_OPTIONS]; + int i; + + if (dev->opt[opt].constraint_type == SANE_CONSTRAINT_STRING_LIST) { + dev->val[opt].s = string_match(dev->opt[opt].constraint.string_list, val); + if (info && strcasecmp(dev->val[opt].s, val)) + *info |= SANE_INFO_INEXACT; + } else if (opt == OPT_RESOLUTION) + dev->val[opt].w = res_dpi_codes[dpi_to_code(*(SANE_Word *)val)]; + else + dev->val[opt].w = *(SANE_Word *)val; + + memcpy(&xopt, &dev->opt, sizeof(xopt)); + memcpy(&xval, &dev->val, sizeof(xval)); + fix_window(dev); + set_parameters(dev); + + /* check for side effects */ + if (info) { + if (memcmp(&xpara, &dev->para, sizeof(xpara))) + *info |= SANE_INFO_RELOAD_PARAMS; + if (memcmp(&xopt, &dev->opt, sizeof(xopt))) + *info |= SANE_INFO_RELOAD_OPTIONS; + for (i = 0; i < NUM_OPTIONS; i++) + if (xval[i].w != dev->val[i].w) { + if (i == opt) + *info |= SANE_INFO_INEXACT; + else + *info |= SANE_INFO_RELOAD_OPTIONS; + } + } } - } - DBG (4, "%s: %d, <%d> => %08x, %x\n", __FUNCTION__, opt, act, - val? *(SANE_Word *)val : 0, info? *info : 0); - return SANE_STATUS_GOOD; + DBG(4, "%s: %d, <%d> => %08x, %x\n", __func__, opt, act, + val? *(SANE_Word *)val : 0, info? *info : 0); + return SANE_STATUS_GOOD; } static void -dev_free (struct device *dev) +dev_free(struct device *dev) { - if (!dev) - return; - - if (dev->sane.name) - free (UNCONST(dev->sane.name)); - if (dev->sane.vendor) - free (UNCONST(dev->sane.vendor)); - if (dev->sane.model) - free (UNCONST(dev->sane.model)); - if (dev->sane.type) - free (UNCONST(dev->sane.type)); - if (dev->data) - free(dev->data); - memset (dev, 0, sizeof (*dev)); - free (dev); + if (!dev) + return; + + if (dev->sane.name) + free(UNCONST(dev->sane.name)); + if (dev->sane.vendor) + free(UNCONST(dev->sane.vendor)); + if (dev->sane.model) + free(UNCONST(dev->sane.model)); + if (dev->sane.type) + free(UNCONST(dev->sane.type)); + if (dev->data) + free(dev->data); + if (dev->decData) { + free(dev->decData); + dev->decData = NULL; + } + memset(dev, 0, sizeof(*dev)); + free(dev); } static void -free_devices (void) +free_devices(void) { - int i; - struct device *next; - struct device *dev; - - if (devlist) { - free (devlist); - devlist = NULL; - } - for (i = 0, dev = devices_head; dev; dev = next) { - next = dev->next; - dev_free (dev); - } - devices_head = NULL; + struct device *next; + struct device *dev; + + if (devlist) { + free(devlist); + devlist = NULL; + } + for (dev = devices_head; dev; dev = next) { + next = dev->next; + dev_free(dev); + } + devices_head = NULL; } static transport *tr_from_devname(SANE_String_Const devname) { - if (strncmp("tcp", devname, 3) == 0) - return &available_transports[TRANSPORT_TCP]; - return &available_transports[TRANSPORT_USB]; + if (strncmp("tcp", devname, 3) == 0) + return &available_transports[TRANSPORT_TCP]; + return &available_transports[TRANSPORT_USB]; } static SANE_Status -list_one_device (SANE_String_Const devname) +list_one_device(SANE_String_Const devname) { - struct device *dev; - SANE_Status status; - transport *tr; - - DBG (4, "%s: %s\n", __FUNCTION__, devname); - - for (dev = devices_head; dev; dev = dev->next) { - if (strcmp (dev->sane.name, devname) == 0) - return SANE_STATUS_GOOD; - } - - tr = tr_from_devname(devname); - - dev = calloc (1, sizeof (struct device)); - if (dev == NULL) - return SANE_STATUS_NO_MEM; - - dev->sane.name = strdup (devname); - dev->io = tr; - status = tr->dev_open (dev); - if (status != SANE_STATUS_GOOD) { - dev_free (dev); - return status; - } - -/* status = dev_cmd (dev, CMD_ABORT);*/ - status = dev_inquiry (dev); - tr->dev_close (dev); - if (status != SANE_STATUS_GOOD) { - DBG (1, "%s: dev_inquiry(%s): %s\n", __FUNCTION__, - dev->sane.name, sane_strstatus (status)); - dev_free (dev); - return status; - } - - /* good device, add it to list */ - dev->next = devices_head; - devices_head = dev; - return SANE_STATUS_GOOD; + struct device *dev; + SANE_Status status; + transport *tr; + + DBG(4, "%s: %s\n", __func__, devname); + + for (dev = devices_head; dev; dev = dev->next) { + if (strcmp(dev->sane.name, devname) == 0) + return SANE_STATUS_GOOD; + } + + tr = tr_from_devname(devname); + + dev = calloc(1, sizeof(struct device)); + if (dev == NULL) + return SANE_STATUS_NO_MEM; + + dev->sane.name = strdup(devname); + dev->io = tr; + status = tr->dev_open(dev); + if (status != SANE_STATUS_GOOD) { + dev_free(dev); + return status; + } + + /* status = dev_cmd (dev, CMD_ABORT);*/ + status = dev_inquiry(dev); + tr->dev_close(dev); + if (status != SANE_STATUS_GOOD) { + DBG(1, "%s: dev_inquiry(%s): %s\n", __func__, + dev->sane.name, sane_strstatus(status)); + dev_free(dev); + return status; + } + + /* good device, add it to list */ + dev->next = devices_head; + devices_head = dev; + return SANE_STATUS_GOOD; } /* SANE API ignores return code of this callback */ static SANE_Status -list_conf_devices (UNUSED (SANEI_Config * config), const char *devname) +list_conf_devices(UNUSED(SANEI_Config *config), const char *devname) { - return tr_from_devname(devname)->configure_device(devname, list_one_device); + return tr_from_devname(devname)->configure_device(devname, list_one_device); } SANE_Status -sane_init (SANE_Int * version_code, SANE_Auth_Callback cb) +sane_init(SANE_Int *version_code, SANE_Auth_Callback cb) { - DBG_INIT (); - DBG (2, "sane_init: Xerox backend (build %d), version %s null, authorize %s null\n", BACKEND_BUILD, - (version_code) ? "!=" : "==", (cb) ? "!=" : "=="); + DBG_INIT(); + DBG(2, "sane_init: Xerox backend (build %d), version %s null, authorize %s null\n", BACKEND_BUILD, + (version_code) ? "!=" : "==", (cb) ? "!=" : "=="); - if (version_code) - *version_code = SANE_VERSION_CODE (V_MAJOR, V_MINOR, BACKEND_BUILD); + if (version_code) + *version_code = SANE_VERSION_CODE(V_MAJOR, V_MINOR, BACKEND_BUILD); - sanei_usb_init (); - return SANE_STATUS_GOOD; + sanei_usb_init(); + return SANE_STATUS_GOOD; } void -sane_exit (void) +sane_exit(void) { - struct device *dev; + struct device *dev; + + for (dev = devices_head; dev; dev = dev->next) + if (dev->dn != -1) + sane_close(dev); /* implies flush */ - for (dev = devices_head; dev; dev = dev->next) - if (dev->dn != -1) - sane_close(dev); /* implies flush */ - - free_devices (); + free_devices(); } SANE_Status -sane_get_devices (const SANE_Device *** device_list, SANE_Bool local) +sane_get_devices(const SANE_Device *** device_list, SANE_Bool local) { - SANEI_Config config; - struct device *dev; - int dev_count; - int i; + SANEI_Config config; + struct device *dev; + int dev_count; + int i; - DBG (3, "%s: %p, %d\n", __FUNCTION__, (const void *)device_list, local); + DBG(3, "%s: %p, %d\n", __func__, (const void *)device_list, local); - if (devlist) { - if (device_list) - *device_list = devlist; - return SANE_STATUS_GOOD; - } + if (devlist) { + if (device_list) + *device_list = devlist; + return SANE_STATUS_GOOD; + } - free_devices (); + free_devices(); - config.count = 0; - config.descriptors = NULL; - config.values = NULL; - sanei_configure_attach (XEROX_CONFIG_FILE, &config, list_conf_devices); + config.count = 0; + config.descriptors = NULL; + config.values = NULL; + sanei_configure_attach(XEROX_CONFIG_FILE, &config, list_conf_devices); - for (dev_count = 0, dev = devices_head; dev; dev = dev->next) - dev_count++; + for (dev_count = 0, dev = devices_head; dev; dev = dev->next) + dev_count++; - devlist = malloc ((dev_count + 1) * sizeof (*devlist)); - if (!devlist) - { - DBG (1, "%s: malloc: no memory\n", __FUNCTION__); - return SANE_STATUS_NO_MEM; + devlist = malloc((dev_count + 1) * sizeof(*devlist)); + if (!devlist) { + DBG(1, "%s: malloc: no memory\n", __func__); + return SANE_STATUS_NO_MEM; } - for (i = 0, dev = devices_head; dev; dev = dev->next) - devlist[i++] = &dev->sane; - devlist[i++] = NULL; + for (i = 0, dev = devices_head; dev; dev = dev->next) + devlist[i++] = &dev->sane; + devlist[i++] = NULL; - if (device_list) - *device_list = devlist; - return SANE_STATUS_GOOD; + if (device_list) + *device_list = devlist; + return SANE_STATUS_GOOD; } void -sane_close (SANE_Handle h) +sane_close(SANE_Handle h) { - struct device *dev = h; + struct device *dev = h; - if (!dev) - return; + if (!dev) + return; - DBG (3, "%s: %p (%s)\n", __FUNCTION__, (void *)dev, dev->sane.name); - dev->io->dev_close(dev); + DBG(3, "%s: %p (%s)\n", __func__, (void *)dev, dev->sane.name); + dev->io->dev_close(dev); } SANE_Status -sane_open (SANE_String_Const name, SANE_Handle * h) +sane_open(SANE_String_Const name, SANE_Handle *h) { - struct device *dev; - - DBG (3, "%s: '%s'\n", __FUNCTION__, name); - - if (!devlist) - sane_get_devices (NULL, SANE_TRUE); - - if (!name || !*name) { - /* special case of empty name: open first available device */ - for (dev = devices_head; dev; dev = dev->next) { - if (dev->dn != -1) { - if (sane_open (dev->sane.name, h) == SANE_STATUS_GOOD) - return SANE_STATUS_GOOD; - } + struct device *dev; + + DBG(3, "%s: '%s'\n", __func__, name); + + if (!devlist) + sane_get_devices(NULL, SANE_TRUE); + + if (!name || !*name) { + /* special case of empty name: open first available device */ + for (dev = devices_head; dev; dev = dev->next) { + if (dev->dn != -1) { + if (sane_open(dev->sane.name, h) == SANE_STATUS_GOOD) + return SANE_STATUS_GOOD; + } + } + } else { + for (dev = devices_head; dev; dev = dev->next) { + if (strcmp(name, dev->sane.name) == 0) { + *h = dev; + return dev->io->dev_open(dev); + } + } } - } else { - for (dev = devices_head; dev; dev = dev->next) { - if (strcmp(name, dev->sane.name) == 0) { - *h = dev; - return dev->io->dev_open(dev); - } - } - } - return SANE_STATUS_INVAL; + return SANE_STATUS_INVAL; } SANE_Status -sane_get_parameters (SANE_Handle h, SANE_Parameters * para) +sane_get_parameters(SANE_Handle h, SANE_Parameters *para) { - struct device *dev = h; + struct device *dev = h; - DBG (3, "%s: %p, %p\n", __FUNCTION__, h, (void *)para); - if (!para) - return SANE_STATUS_INVAL; + DBG(3, "%s: %p, %p\n", __func__, h, (void *)para); + if (!para) + return SANE_STATUS_INVAL; - *para = dev->para; - return SANE_STATUS_GOOD; + *para = dev->para; + return SANE_STATUS_GOOD; } /* check if image data is ready, and wait if not */ /* 1: image is acquired, 0: error or non_blocking mode */ static int dev_acquire(struct device *dev) { - if (!dev_cmd_wait(dev, CMD_READ)) - return dev->state; - - dev->state = SANE_STATUS_GOOD; - dev->vertical = dev->res[0x08] << 8 | dev->res[0x09]; - dev->horizontal = dev->res[0x0a] << 8 | dev->res[0x0b]; - dev->blocklen = dev->res[4] << 24 | - dev->res[5] << 16 | - dev->res[6] << 8 | - dev->res[7]; - dev->final_block = (dev->res[3] == MSG_END_BLOCK)? 1 : 0; - - dev->pixels_per_line = dev->horizontal; - dev->bytes_per_line = dev->horizontal; - - if (dev->composition == MODE_RGB24) - dev->bytes_per_line *= 3; - else if (dev->composition == MODE_LINEART || - dev->composition == MODE_HALFTONE) - dev->pixels_per_line *= 8; - - DBG (4, "acquiring, size per band v: %d, h: %d, %sblock: %d, slack: %d\n", - dev->vertical, dev->horizontal, dev->final_block? "last " : "", - dev->blocklen, dev->blocklen - (dev->vertical * dev->bytes_per_line)); - - if (dev->bytes_per_line > DATASIZE) { - DBG (1, "%s: unsupported line size: %d bytes > %d\n", - __FUNCTION__, dev->bytes_per_line, DATASIZE); - return ret_cancel(dev, SANE_STATUS_NO_MEM); - } - - dev->reading = 0; /* need to issue READ_IMAGE */ - - dev->dataindex = 0; - dev->datalen = 0; - dev->dataoff = 0; - - return 1; + if (!dev_cmd_wait(dev, CMD_READ)) + return dev->state; + + dev->state = SANE_STATUS_GOOD; + dev->vertical = dev->res[0x08] << 8 | dev->res[0x09]; + dev->horizontal = dev->res[0x0a] << 8 | dev->res[0x0b]; + dev->blocklen = dev->res[4] << 24 | + dev->res[5] << 16 | + dev->res[6] << 8 | + dev->res[7]; + dev->final_block = (dev->res[3] == MSG_END_BLOCK)? 1 : 0; + + dev->pixels_per_line = dev->horizontal; + dev->bytes_per_line = dev->horizontal; + + if (dev->composition == MODE_RGB24) + dev->bytes_per_line *= 3; + else if (dev->composition == MODE_LINEART || + dev->composition == MODE_HALFTONE) + dev->pixels_per_line *= 8; + + DBG(4, "acquiring, size per band v: %d, h: %d, %sblock: %d, slack: %d\n", + dev->vertical, dev->horizontal, dev->final_block? "last " : "", + dev->blocklen, dev->blocklen - (dev->vertical * dev->bytes_per_line)); + + if (dev->bytes_per_line > DATASIZE) { + DBG(1, "%s: unsupported line size: %d bytes > %d\n", + __func__, dev->bytes_per_line, DATASIZE); + return ret_cancel(dev, SANE_STATUS_NO_MEM); + } + + dev->reading = 0; /* need to issue READ_IMAGE */ + + dev->dataindex = 0; + dev->datalen = 0; + dev->dataoff = 0; + + return 1; } static int fill_slack(struct device *dev, SANE_Byte *buf, int maxlen) { - const int slack = dev->total_img_size - dev->total_out_size; - const int havelen = MIN(slack, maxlen); - int j; - - if (havelen <= 0) - return 0; - for (j = 0; j < havelen; j++) - buf[j] = 255; - return havelen; + const int slack = dev->total_img_size - dev->total_out_size; + const int havelen = MIN(slack, maxlen); + int j; + + if (havelen <= 0) + return 0; + for (j = 0; j < havelen; j++) + buf[j] = 255; + return havelen; } static int copy_plain_trim(struct device *dev, SANE_Byte *buf, int maxlen, int *olenp) { - int j; - const int linesize = dev->bytes_per_line; - int k = dev->dataindex; - *olenp = 0; - for (j = 0; j < dev->datalen && *olenp < maxlen; j++, k++) { - const int x = k % linesize; - const int y = k / linesize; - if (y >= dev->vertical) - break; /* slack */ - if (x < dev->para.bytes_per_line && - (y + dev->y_off) < dev->para.lines) { - *buf++ = dev->data[(dev->dataoff + j) & DATAMASK]; - (*olenp)++; + int j; + const int linesize = dev->bytes_per_line; + int k = dev->dataindex; + *olenp = 0; + for (j = 0; j < dev->datalen && *olenp < maxlen; j++, k++) { + const int x = k % linesize; + const int y = k / linesize; + if (y >= dev->vertical) + break; /* slack */ + if (x < dev->para.bytes_per_line && + (y + dev->y_off) < dev->para.lines) { + *buf++ = dev->data[(dev->dataoff + j) & DATAMASK]; + (*olenp)++; + } } - } - dev->dataindex = k; - return j; + dev->dataindex = k; + return j; } /* return: how much data could be freed from cyclic buffer */ /* convert from RRGGBB to RGBRGB */ -static int copy_mix_bands_trim(struct device *dev, SANE_Byte *buf, int maxlen, int *olenp) { - int j; +static int copy_mix_bands_trim(struct device *dev, SANE_Byte *buf, int maxlen, int *olenp) +{ + int j; - const int linesize = dev->bytes_per_line; /* caching real line size */ + const int linesize = dev->bytes_per_line; /* caching real line size */ - /* line number of the head of input buffer, - * input buffer is always aligned to whole line */ - const int y_off = dev->dataindex / linesize; + /* line number of the head of input buffer, + * input buffer is always aligned to whole line */ + const int y_off = dev->dataindex / linesize; - int k = dev->dataindex; /* caching current index of input buffer */ + int k = dev->dataindex; /* caching current index of input buffer */ - /* can only copy as much as full lines we have */ - int havelen = dev->datalen / linesize * linesize - k % linesize; + /* can only copy as much as full lines we have */ + int havelen = dev->datalen / linesize * linesize - k % linesize; - const int bands = 3; - *olenp = 0; + const int bands = 3; + *olenp = 0; - /* while we have data && they can receive */ - for (j = 0; j < havelen && *olenp < maxlen; j++, k++) { - const int band = (k % bands) * dev->horizontal; - const int x = k % linesize / bands; - const int y = k / linesize - y_off; /* y relative to buffer head */ - const int y_rly = y + y_off + dev->y_off; /* global y */ + /* while we have data && they can receive */ + for (j = 0; j < havelen && *olenp < maxlen; j++, k++) { + const int band = (k % bands) * dev->horizontal; + const int x = k % linesize / bands; + const int y = k / linesize - y_off; /* y relative to buffer head */ + const int y_rly = y + y_off + dev->y_off; /* global y */ - if (x < dev->para.pixels_per_line && - y_rly < dev->para.lines) { - *buf++ = dev->data[(dev->dataoff + band + x + y * linesize) & DATAMASK]; - (*olenp)++; + if (x < dev->para.pixels_per_line && + y_rly < dev->para.lines) { + *buf++ = dev->data[(dev->dataoff + band + x + y * linesize) & DATAMASK]; + (*olenp)++; + } } - } - dev->dataindex = k; + dev->dataindex = k; - /* how much full lines are finished */ - return (k / linesize - y_off) * linesize; + /* how much full lines are finished */ + return (k / linesize - y_off) * linesize; } SANE_Status -sane_read (SANE_Handle h, SANE_Byte * buf, SANE_Int maxlen, SANE_Int * lenp) +sane_read(SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) { - SANE_Status status; - struct device *dev = h; + SANE_Status status; + struct device *dev = h; + + DBG(3, "%s: %p, %p, %d, %p\n", __func__, h, buf, maxlen, (void *)lenp); + + if (lenp) + *lenp = 0; + if (!dev) + return SANE_STATUS_INVAL; + + if (!dev->scanning) + return SANE_STATUS_EOF; + + /* if there is no data to read or output from buffer */ + if (!dev->blocklen && dev->datalen <= PADDING_SIZE) { + + /* copying uncompressed data */ + if (dev->composition == MODE_RGB24 && + isSupportedDevice(dev) && + dev->decDataSize > 0) { + int diff = dev->total_img_size - dev->total_out_size; + int bufLen = (diff < maxlen) ? diff : maxlen; + if (0 < diff && + 0 < copy_decompress_data(dev, buf, bufLen, lenp)) { + dev->total_out_size += *lenp; + return SANE_STATUS_GOOD; + } + } + + /* and we don't need to acquire next block */ + if (dev->final_block) { + int slack = dev->total_img_size - dev->total_out_size; + + /* but we may need to fill slack */ + if (buf && lenp && slack > 0) { + *lenp = fill_slack(dev, buf, maxlen); + dev->total_out_size += *lenp; + DBG(9, "<> slack: %d, filled: %d, maxlen %d\n", + slack, *lenp, maxlen); + return SANE_STATUS_GOOD; + } else if (slack < 0) { + /* this will never happen */ + DBG(1, "image overflow %d bytes\n", dev->total_img_size - dev->total_out_size); + } + if (isSupportedDevice(dev) && + dev->composition == MODE_RGB24) { + remove(encTmpFileName); + } + /* that's all */ + dev_stop(dev); + return SANE_STATUS_EOF; + } + + /* queue next image block */ + if (!dev_acquire(dev)) + return dev->state; + } + + if (!dev->reading) { + if (cancelled(dev)) + return dev->state; + DBG(5, "READ_IMAGE\n"); + if (!dev_cmd(dev, CMD_READ_IMAGE)) + return SANE_STATUS_IO_ERROR; + dev->reading++; + dev->ulines += dev->vertical; + dev->y_off = dev->ulines - dev->vertical; + dev->total_data_size += dev->blocklen; + dev->blocks++; + } - DBG (3, "%s: %p, %p, %d, %p\n", __FUNCTION__, h, buf, maxlen, (void *)lenp); + do { + size_t datalen; + int clrlen; /* cleared lines len */ + int olen; /* output len */ + + /* read as much data into the buffer */ + datalen = DATAROOM(dev) & USB_BLOCK_MASK; + while (datalen && dev->blocklen) { + SANE_Byte *rbuf = dev->data + DATATAIL(dev); + + DBG(9, "<> request len: %lu, [%d, %d; %d]\n", + (u_long)datalen, dev->dataoff, DATATAIL(dev), dev->datalen); + if ((status = dev->io->dev_request(dev, NULL, 0, rbuf, &datalen)) != + SANE_STATUS_GOOD) + return status; + dev->datalen += datalen; + dev->blocklen -= datalen; + DBG(9, "<> got %lu, [%d, %d; %d]\n", + (u_long)datalen, dev->dataoff, DATATAIL(dev), dev->datalen); + if (dev->blocklen < 0) + return ret_cancel(dev, SANE_STATUS_IO_ERROR); + + datalen = DATAROOM(dev) & USB_BLOCK_MASK; + } + + if (buf && lenp) { /* read mode */ + /* copy will do minimal of valid data */ + if (dev->para.format == SANE_FRAME_RGB && dev->line_order) { + if (isSupportedDevice(dev)) { + clrlen = dump_to_tmp_file(dev); + /* decompress after reading entire block data*/ + if (0 == dev->blocklen) { + decompress_tempfile(dev); + } + copy_decompress_data(dev, buf, maxlen, &olen); + } else { + clrlen = copy_mix_bands_trim(dev, buf, maxlen, &olen); + } + } else + clrlen = copy_plain_trim(dev, buf, maxlen, &olen); + + dev->datalen -= clrlen; + dev->dataoff = (dev->dataoff + clrlen) & DATAMASK; + buf += olen; + maxlen -= olen; + *lenp += olen; + dev->total_out_size += olen; + + DBG(9, "<> olen: %d, clrlen: %d, blocklen: %d/%d, maxlen %d (%d %d %d)\n", + olen, clrlen, dev->blocklen, dev->datalen, maxlen, + dev->dataindex / dev->bytes_per_line + dev->y_off, + dev->y_off, dev->para.lines); + + /* slack beyond last line */ + if (dev->dataindex / dev->bytes_per_line + dev->y_off >= dev->para.lines) { + dev->datalen = 0; + dev->dataoff = 0; + } + + if (!clrlen || maxlen <= 0) + break; + } else { /* flush mode */ + dev->datalen = 0; + dev->dataoff = 0; + } + + } while (dev->blocklen); + + if (lenp) + DBG(9, " ==> %d\n", *lenp); - if (lenp) - *lenp = 0; - if (!dev) - return SANE_STATUS_INVAL; + return SANE_STATUS_GOOD; +} - if (!dev->scanning) - return SANE_STATUS_EOF; - - /* if there is no data to read or output from buffer */ - if (!dev->blocklen && dev->datalen <= PADDING_SIZE) { - - /* and we don't need to acquire next block */ - if (dev->final_block) { - int slack = dev->total_img_size - dev->total_out_size; - - /* but we may need to fill slack */ - if (buf && lenp && slack > 0) { - *lenp = fill_slack(dev, buf, maxlen); - dev->total_out_size += *lenp; - DBG (9, "<> slack: %d, filled: %d, maxlen %d\n", - slack, *lenp, maxlen); - return SANE_STATUS_GOOD; - } else if (slack < 0) { - /* this will never happen */ - DBG(1, "image overflow %d bytes\n", dev->total_img_size - dev->total_out_size); - } - - /* that's all */ - dev_stop(dev); - return SANE_STATUS_EOF; +SANE_Status +sane_start(SANE_Handle h) +{ + struct device *dev = h; + + DBG(3, "%s: %p\n", __func__, h); + + dev->cancel = 0; + dev->scanning = 0; + dev->total_img_size = 0; + dev->total_out_size = 0; + dev->total_data_size = 0; + dev->blocks = 0; + + if (!dev->reserved) { + if (!dev_cmd_wait(dev, CMD_RESERVE_UNIT)) + return dev->state; + dev->reserved++; } - /* queue next image block */ + if (!dev_set_window(dev) || + (dev->state && dev->state != SANE_STATUS_DEVICE_BUSY)) + return dev_stop(dev); + + if (!dev_cmd_wait(dev, CMD_OBJECT_POSITION)) + return dev_stop(dev); + + if (!dev_cmd(dev, CMD_READ) || + (dev->state && dev->state != SANE_STATUS_DEVICE_BUSY)) + return dev_stop(dev); + + dev->scanning = 1; + dev->final_block = 0; + dev->blocklen = 0; + dev->pixels_per_line = 0; + dev->bytes_per_line = 0; + dev->ulines = 0; + + set_parameters(dev); + + if (!dev->data && !(dev->data = malloc(DATASIZE))) + return ret_cancel(dev, SANE_STATUS_NO_MEM); + + if (!dev->decData && !(dev->decData = malloc(POST_DATASIZE))) + return ret_cancel(dev, SANE_STATUS_NO_MEM); + if (!dev_acquire(dev)) - return dev->state; - } - - if (!dev->reading) { - if (cancelled(dev)) - return dev->state; - DBG (5, "READ_IMAGE\n"); - if (!dev_cmd(dev, CMD_READ_IMAGE)) - return SANE_STATUS_IO_ERROR; - dev->reading++; - dev->ulines += dev->vertical; - dev->y_off = dev->ulines - dev->vertical; - dev->total_data_size += dev->blocklen; - dev->blocks++; - } - - do { - size_t datalen; - int clrlen; /* cleared lines len */ - int olen; /* output len */ - - /* read as much data into the buffer */ - datalen = DATAROOM(dev) & USB_BLOCK_MASK; - while (datalen && dev->blocklen) { - SANE_Byte *rbuf = dev->data + DATATAIL(dev); - - DBG (9, "<> request len: %lu, [%d, %d; %d]\n", - (u_long)datalen, dev->dataoff, DATATAIL(dev), dev->datalen); - if ((status = dev->io->dev_request(dev, NULL, 0, rbuf, &datalen)) != - SANE_STATUS_GOOD) - return status; - dev->datalen += datalen; - dev->blocklen -= datalen; - DBG (9, "<> got %lu, [%d, %d; %d]\n", - (u_long)datalen, dev->dataoff, DATATAIL(dev), dev->datalen); - if (dev->blocklen < 0) - return ret_cancel(dev, SANE_STATUS_IO_ERROR); - - datalen = DATAROOM(dev) & USB_BLOCK_MASK; - } + return dev->state; - if (buf && lenp) { /* read mode */ - /* copy will do minimal of valid data */ - if (dev->para.format == SANE_FRAME_RGB && dev->line_order) - clrlen = copy_mix_bands_trim(dev, buf, maxlen, &olen); - else - clrlen = copy_plain_trim(dev, buf, maxlen, &olen); - - dev->datalen -= clrlen; - dev->dataoff = (dev->dataoff + clrlen) & DATAMASK; - buf += olen; - maxlen -= olen; - *lenp += olen; - dev->total_out_size += olen; - - DBG (9, "<> olen: %d, clrlen: %d, blocklen: %d/%d, maxlen %d (%d %d %d)\n", - olen, clrlen, dev->blocklen, dev->datalen, maxlen, - dev->dataindex / dev->bytes_per_line + dev->y_off, - dev->y_off, dev->para.lines); - - /* slack beyond last line */ - if (dev->dataindex / dev->bytes_per_line + dev->y_off >= dev->para.lines) { - dev->datalen = 0; - dev->dataoff = 0; - } - - if (!clrlen || maxlen <= 0) - break; - } else { /* flush mode */ - dev->datalen = 0; - dev->dataoff = 0; + /* make sure to have dev->para <= of real size */ + if (dev->para.pixels_per_line > dev->pixels_per_line) { + dev->para.pixels_per_line = dev->pixels_per_line; + dev->para.bytes_per_line = dev->pixels_per_line; } - } while (dev->blocklen); - - if (lenp) - DBG (9, " ==> %d\n", *lenp); + if (dev->composition == MODE_RGB24) + dev->para.bytes_per_line = dev->para.pixels_per_line * 3; + else if (dev->composition == MODE_LINEART || + dev->composition == MODE_HALFTONE) { + dev->para.bytes_per_line = (dev->para.pixels_per_line + 7) / 8; + dev->para.pixels_per_line = dev->para.bytes_per_line * 8; + } else { + dev->para.bytes_per_line = dev->para.pixels_per_line; + } - return SANE_STATUS_GOOD; -} + dev->total_img_size = dev->para.bytes_per_line * dev->para.lines; -SANE_Status -sane_start (SANE_Handle h) -{ - struct device *dev = h; - - DBG (3, "%s: %p\n", __FUNCTION__, h); - - dev->cancel = 0; - dev->scanning = 0; - dev->total_img_size = 0; - dev->total_out_size = 0; - dev->total_data_size = 0; - dev->blocks = 0; - - if (!dev->reserved) { - if (!dev_cmd_wait(dev, CMD_RESERVE_UNIT)) - return dev->state; - dev->reserved++; - } - - if (!dev_set_window(dev) || - (dev->state && dev->state != SANE_STATUS_DEVICE_BUSY)) - return dev_stop(dev); - - if (!dev_cmd_wait(dev, CMD_OBJECT_POSITION)) - return dev_stop(dev); - - if (!dev_cmd(dev, CMD_READ) || - (dev->state && dev->state != SANE_STATUS_DEVICE_BUSY)) - return dev_stop(dev); - - dev->scanning = 1; - dev->final_block = 0; - dev->blocklen = 0; - dev->pixels_per_line = 0; - dev->bytes_per_line = 0; - dev->ulines = 0; - - set_parameters(dev); - - if (!dev->data && !(dev->data = malloc(DATASIZE))) - return ret_cancel(dev, SANE_STATUS_NO_MEM); - - if (!dev_acquire(dev)) - return dev->state; - - /* make sure to have dev->para <= of real size */ - if (dev->para.pixels_per_line > dev->pixels_per_line) { - dev->para.pixels_per_line = dev->pixels_per_line; - dev->para.bytes_per_line = dev->pixels_per_line; - } - - if (dev->composition == MODE_RGB24) - dev->para.bytes_per_line = dev->para.pixels_per_line * 3; - else if (dev->composition == MODE_LINEART || - dev->composition == MODE_HALFTONE) { - dev->para.bytes_per_line = (dev->para.pixels_per_line + 7) / 8; - dev->para.pixels_per_line = dev->para.bytes_per_line * 8; - } else { - dev->para.bytes_per_line = dev->para.pixels_per_line; - } + if (isSupportedDevice(dev) && + dev->composition == MODE_RGB24) { + int fd; + remove(encTmpFileName); - dev->total_img_size = dev->para.bytes_per_line * dev->para.lines; + /* Precreate temporary file in exclusive mode. */ + fd = open(encTmpFileName, O_CREAT|O_EXCL, 0600); + if (fd == -1) { + DBG(3, "%s: %p, can't create temporary file %s: %s\n", __func__, + (void *)dev, encTmpFileName, strerror(errno)); + return ret_cancel(dev, SANE_STATUS_ACCESS_DENIED); + } + close(fd); + } + dev->currentDecDataIndex = 0; - return SANE_STATUS_GOOD; + return SANE_STATUS_GOOD; } -SANE_Status sane_set_io_mode (SANE_Handle h, SANE_Bool non_blocking) +SANE_Status sane_set_io_mode(SANE_Handle h, SANE_Bool non_blocking) { - struct device *dev = h; + struct device *dev = h; - DBG (3, "%s: %p, %d\n", __FUNCTION__, h, non_blocking); + DBG(3, "%s: %p, %d\n", __func__, h, non_blocking); - if (non_blocking) - return SANE_STATUS_UNSUPPORTED; + if (non_blocking) + return SANE_STATUS_UNSUPPORTED; - dev->non_blocking = non_blocking; - return SANE_STATUS_GOOD; + dev->non_blocking = non_blocking; + return SANE_STATUS_GOOD; } -SANE_Status sane_get_select_fd (SANE_Handle h, SANE_Int * fdp) +SANE_Status sane_get_select_fd(SANE_Handle h, SANE_Int *fdp) { - DBG (3, "%s: %p, %p\n", __FUNCTION__, h, (void *)fdp); - /* supporting of this will require thread creation */ - return SANE_STATUS_UNSUPPORTED; + DBG(3, "%s: %p, %p\n", __func__, h, (void *)fdp); + /* supporting of this will require thread creation */ + return SANE_STATUS_UNSUPPORTED; } -void sane_cancel (SANE_Handle h) +void sane_cancel(SANE_Handle h) { - struct device *dev = h; + struct device *dev = h; - DBG (3, "%s: %p\n", __FUNCTION__, h); - dev->cancel = 1; + DBG(3, "%s: %p\n", __func__, h); + dev->cancel = 1; } /* xerox_mfp.c */ diff --git a/backend/xerox_mfp.conf.in b/backend/xerox_mfp.conf.in index e0f78ea..b17c7d7 100644 --- a/backend/xerox_mfp.conf.in +++ b/backend/xerox_mfp.conf.in @@ -5,6 +5,24 @@ ### Samsung Models ### ###################### +#Samsung X4300 Series +usb 0x04e8 0x3324 + +#Samsung K4350 Series +usb 0x04e8 0x3325 + +#Samsung X7600 Series +usb 0x04e8 0x3326 + +#Samsung K7600 Series +usb 0x04e8 0x3327 + +#Samsung K703 Series +usb 0x04e8 0x3331 + +#Samsung X703 Series +usb 0x04e8 0x3332 + #Samsung SCX-4x16 Series usb 0x04e8 0x3409 @@ -178,6 +196,24 @@ usb 0x04e8 0x3466 #Samsung C460 Series usb 0x04e8 0x3468 +#Samsung M458x Series +usb 0x04e8 0x346f + +#Samsung M4370 5370 Series +usb 0x04e8 0x3471 + +#Samsung X401 Series +usb 0x04e8 0x3477 + +#Samsung K401 Series +usb 0x04e8 0x3478 + +#Samsung K3250 Series +usb 0x04e8 0x3481 + +#Samsung X3220 Series +usb 0x04e8 0x3482 + #################### ### Xerox Models ### #################### diff --git a/backend/xerox_mfp.h b/backend/xerox_mfp.h index 500dd26..3d93f06 100644 --- a/backend/xerox_mfp.h +++ b/backend/xerox_mfp.h @@ -1,9 +1,12 @@ /* - * SANE backend for Xerox Phaser 3200MFP - * Copyright 2008 ABC + * SANE backend for Xerox Phaser 3200MFP et al. + * Copyright 2008-2016 ABC * - * Network scanners support - * Copyright 2010 Alexander Kuznetsov + * Network Scanners Support + * Copyright 2010 Alexander Kuznetsov + * + * Color scanning on Samsung M2870 model and Xerox Cognac 3215 & 3225 + * models by Laxmeesh Onkar Markod * * This program is licensed under GPL + SANE exception. * More info at http://www.sane-project.org/license.html @@ -29,130 +32,136 @@ #define SWAP_Word(x, y) { SANE_Word z = x; x = y; y = z; } enum options { - OPT_NUMOPTIONS, - OPT_GROUP_STD, - OPT_RESOLUTION, /* dpi*/ - OPT_MODE, /* color */ - OPT_THRESHOLD, /* brightness */ - OPT_SOURCE, /* affects max window size */ - OPT_GROUP_GEO, - OPT_SCAN_TL_X, /* for (OPT_SCAN_TL_X to OPT_SCAN_BR_Y) */ - OPT_SCAN_TL_Y, - OPT_SCAN_BR_X, - OPT_SCAN_BR_Y, - NUM_OPTIONS + OPT_NUMOPTIONS, + OPT_GROUP_STD, + OPT_RESOLUTION, /* dpi*/ + OPT_MODE, /* color */ + OPT_THRESHOLD, /* brightness */ + OPT_SOURCE, /* affects max window size */ + OPT_GROUP_GEO, + OPT_SCAN_TL_X, /* for (OPT_SCAN_TL_X to OPT_SCAN_BR_Y) */ + OPT_SCAN_TL_Y, + OPT_SCAN_BR_X, + OPT_SCAN_BR_Y, + NUM_OPTIONS }; typedef struct transport transport; struct device { - struct device *next; - SANE_Device sane; - int dn; /* usb file descriptor */ - SANE_Byte res[1024]; /* buffer for responses */ - size_t reslen; /* response len */ - SANE_Option_Descriptor opt[NUM_OPTIONS]; - Option_Value val[NUM_OPTIONS]; - SANE_Parameters para; - SANE_Bool non_blocking; - int scanning; /* scanning is started */ - int cancel; /* cancel flag */ - int state; /* current state */ - int reserved; /* CMD_RESERVE_UNIT */ - int reading; /* READ_IMAGE is sent */ - - SANE_Byte *data; /* postprocessing cyclic buffer 64k */ - int datalen; /* how data in buffer */ - int dataoff; /* offset of data */ - int dataindex; /* sequental number */ + struct device *next; + SANE_Device sane; + int dn; /* usb file descriptor */ + SANE_Byte res[1024]; /* buffer for responses */ + size_t reslen; /* response len */ + SANE_Option_Descriptor opt[NUM_OPTIONS]; + Option_Value val[NUM_OPTIONS]; + SANE_Parameters para; + SANE_Bool non_blocking; + int scanning; /* scanning is started */ + int cancel; /* cancel flag */ + int state; /* current state */ + int reserved; /* CMD_RESERVE_UNIT */ + int reading; /* READ_IMAGE is sent */ + + SANE_Byte *data; /* postprocessing cyclic buffer 64k */ + int datalen; /* how data in buffer */ + int dataoff; /* offset of data */ + int dataindex; /* sequental number */ #define DATAMASK 0xffff /* mask of data buffer */ #define DATASIZE (DATAMASK + 1) /* size of data buffer */ - /* 64K will be enough to hold whole line of 2400 dpi of 23cm */ + /* 64K will be enough to hold whole line of 2400 dpi of 23cm */ #define DATATAIL(dev) ((dev->dataoff + dev->datalen) & DATAMASK) #define DATAROOM(dev) dataroom(dev) - /* data from CMD_INQUIRY: */ - int resolutions; /* supported resolution bitmask */ - int compositions; /* supported image compositions bitmask */ - int max_len; /* effective max len for current doc source */ - int max_win_width; - int max_win_len; - int max_len_adf; - int max_len_fb; - int line_order; /* if need post processing */ - SANE_Word dpi_list[30]; /* allowed resolutions */ - int doc_loaded; - - SANE_Range win_x_range; - SANE_Range win_y_range; - - /* CMD_SET_WINDOW parameters we set: */ - int win_width; /* in 1200dpi points */ - int win_len; - double win_off_x; /* in inches (byte.byte) */ - double win_off_y; - int resolution; /* dpi indexed values */ - int composition; /* MODE_ */ - int doc_source; /* document source */ - int threshold; /* brightness */ - - /* CMD_READ data. It is per block only, image could be in many blocks */ - int blocklen; /* image data block len (padding incl.) */ - int vertical; /* lines in block (padded) */ - int horizontal; /* b/w: bytes, gray/color: pixels (padded) */ - int final_block; - int pixels_per_line; - int bytes_per_line; - int ulines; /* up to this block including */ - int y_off; /* up to this block excluding*/ - int blocks; - - /* stat */ - int total_img_size; /* predicted image size */ - int total_out_size; /* total we sent to user */ - int total_data_size; /* total of what scanner sent us */ - - /* transport to use */ - transport *io; +#define POST_DATASIZE 0xFFFFFF + SANE_Byte *decData; + int decDataSize; + int currentDecDataIndex; + /* data from CMD_INQUIRY: */ + int resolutions; /* supported resolution bitmask */ + int compositions; /* supported image compositions bitmask */ + int max_len; /* effective max len for current doc source */ + int max_win_width; + int max_win_len; + int max_len_adf; + int max_len_fb; + int line_order; /* if need post processing */ + SANE_Word dpi_list[30]; /* allowed resolutions */ + int doc_loaded; + + SANE_Range win_x_range; + SANE_Range win_y_range; + + /* CMD_SET_WINDOW parameters we set: */ + int win_width; /* in 1200dpi points */ + int win_len; + double win_off_x; /* in inches (byte.byte) */ + double win_off_y; + int resolution; /* dpi indexed values */ + int composition; /* MODE_ */ + int doc_source; /* document source */ + int threshold; /* brightness */ + int compressionTypes; + + /* CMD_READ data. It is per block only, image could be in many blocks */ + int blocklen; /* image data block len (padding incl.) */ + int vertical; /* lines in block (padded) */ + int horizontal; /* b/w: bytes, gray/color: pixels (padded) */ + int final_block; + int pixels_per_line; + int bytes_per_line; + int ulines; /* up to this block including */ + int y_off; /* up to this block excluding*/ + int blocks; + + /* stat */ + int total_img_size; /* predicted image size */ + int total_out_size; /* total we sent to user */ + int total_data_size; /* total of what scanner sent us */ + + /* transport to use */ + transport *io; }; /* Transport abstract layer */ struct transport { - char* ttype; - - int (*dev_request) (struct device *dev, - SANE_Byte *cmd, size_t cmdlen, - SANE_Byte *resp, size_t *resplen); - SANE_Status (*dev_open) (struct device *dev); - void (*dev_close) (struct device *dev); - SANE_Status (*configure_device) (const char *devname, SANE_Status (*cb)(SANE_String_Const devname)); + char *ttype; + + int (*dev_request)(struct device *dev, + SANE_Byte *cmd, size_t cmdlen, + SANE_Byte *resp, size_t *resplen); + SANE_Status(*dev_open)(struct device *dev); + void (*dev_close)(struct device *dev); + SANE_Status(*configure_device)(const char *devname, SANE_Status(*cb)(SANE_String_Const devname)); }; /* USB transport */ -int usb_dev_request (struct device *dev, SANE_Byte *cmd, size_t cmdlen, SANE_Byte *resp, size_t *resplen); -SANE_Status usb_dev_open (struct device *dev); -void usb_dev_close (struct device *dev); -SANE_Status usb_configure_device (const char *devname, SANE_Status (*cb)(SANE_String_Const devname)); +int usb_dev_request(struct device *dev, SANE_Byte *cmd, size_t cmdlen, SANE_Byte *resp, size_t *resplen); +SANE_Status usb_dev_open(struct device *dev); +void usb_dev_close(struct device *dev); +SANE_Status usb_configure_device(const char *devname, SANE_Status(*cb)(SANE_String_Const devname)); /* TCP unicast */ -int tcp_dev_request (struct device *dev, SANE_Byte *cmd, size_t cmdlen, SANE_Byte *resp, size_t *resplen); -SANE_Status tcp_dev_open (struct device *dev); -void tcp_dev_close (struct device *dev); -SANE_Status tcp_configure_device (const char *devname, SANE_Status (*cb)(SANE_String_Const devname)); +int tcp_dev_request(struct device *dev, SANE_Byte *cmd, size_t cmdlen, SANE_Byte *resp, size_t *resplen); +SANE_Status tcp_dev_open(struct device *dev); +void tcp_dev_close(struct device *dev); +SANE_Status tcp_configure_device(const char *devname, SANE_Status(*cb)(SANE_String_Const devname)); /* device wants transfer buffer to be multiple of 512 */ #define USB_BLOCK_SIZE 512 #define USB_BLOCK_MASK ~(USB_BLOCK_SIZE - 1) -static inline int dataroom(struct device *dev) { - int tail = DATATAIL(dev); - if (tail < dev->dataoff) - return dev->dataoff - tail; - else if (dev->datalen == DATASIZE) { - return 0; - } else - return DATASIZE - tail; +static inline int dataroom(struct device *dev) +{ + int tail = DATATAIL(dev); + if (tail < dev->dataoff) + return dev->dataoff - tail; + else if (dev->datalen == DATASIZE) { + return 0; + } else + return DATASIZE - tail; } /* Functions from original xerox_mfp.c, used in -usb.c and -tcp.c */ diff --git a/config.guess b/config.guess old mode 100644 new mode 100755 index 3c022c5..faa63aa --- a/config.guess +++ b/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2015 Free Software Foundation, Inc. +# Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2015-09-14' +timestamp='2017-05-11' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -27,7 +27,7 @@ timestamp='2015-09-14' # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to . @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2015 Free Software Foundation, Inc. +Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -186,9 +186,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. + # to ELF recently (or will in the future) and ABI. case "${UNAME_MACHINE_ARCH}" in - arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ @@ -237,6 +240,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} + exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; @@ -268,42 +275,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; + UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; + UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; + UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; + UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; + UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; + UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; + UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; + UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; + UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 @@ -376,16 +383,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build - SUN_ARCH="i386" + SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then - SUN_ARCH="x86_64" + SUN_ARCH=x86_64 fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` @@ -410,7 +417,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} @@ -635,13 +642,13 @@ EOF sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi @@ -680,11 +687,11 @@ EOF exit (0); } EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = "hppa2.0w" ] + if [ ${HP_ARCH} = hppa2.0w ] then eval $set_cc_for_build @@ -697,12 +704,12 @@ EOF # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then - HP_ARCH="hppa2.0w" + HP_ARCH=hppa2.0w else - HP_ARCH="hppa64" + HP_ARCH=hppa64 fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} @@ -807,14 +814,14 @@ EOF echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) @@ -830,10 +837,11 @@ EOF UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; esac + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin @@ -896,7 +904,7 @@ EOF exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix @@ -919,7 +927,7 @@ EOF EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) @@ -993,6 +1001,9 @@ EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; + mips64el:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-${LIBC} exit ;; @@ -1025,6 +1036,9 @@ EOF ppcle:Linux:*:*) echo powerpcle-unknown-linux-${LIBC} exit ;; + riscv32:Linux:*:* | riscv64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; @@ -1123,7 +1137,7 @@ EOF # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that + # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; @@ -1272,6 +1286,9 @@ EOF SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; @@ -1285,9 +1302,9 @@ EOF UNAME_PROCESSOR=powerpc fi if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in @@ -1309,7 +1326,7 @@ EOF exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then + if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi @@ -1318,15 +1335,18 @@ EOF *:QNX:*:4*) echo i386-pc-qnx exit ;; - NEO-?:NONSTOP_KERNEL:*:*) + NEO-*:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; - NSR-?:NONSTOP_KERNEL:*:*) + NSR-*:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk${UNAME_RELEASE} + exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; @@ -1340,7 +1360,7 @@ EOF # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. - if test "$cputype" = "386"; then + if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" @@ -1382,7 +1402,7 @@ EOF echo i386-pc-xenix exit ;; i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos @@ -1393,23 +1413,25 @@ EOF x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs + exit ;; esac cat >&2 < in order to provide the needed -information to handle your system. +If $0 has already been updated, send the following data and any +information you think might be pertinent to config-patches@gnu.org to +provide the necessary information to handle your system. config.guess timestamp = $timestamp diff --git a/config.rpath b/config.rpath new file mode 100755 index 0000000..17298f2 --- /dev/null +++ b/config.rpath @@ -0,0 +1,672 @@ +#! /bin/sh +# Output a system dependent set of variables, describing how to set the +# run time search path of shared libraries in an executable. +# +# Copyright 1996-2010 Free Software Foundation, Inc. +# Taken from GNU libtool, 2001 +# Originally by Gordon Matzigkeit , 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# The first argument passed to this file is the canonical host specification, +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld +# should be set by the caller. +# +# The set of defined variables is at the end of this script. + +# Known limitations: +# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer +# than 256 bytes, otherwise the compiler driver will dump core. The only +# known workaround is to choose shorter directory names for the build +# directory and/or the installation directory. + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +shrext=.so + +host="$1" +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + +# Code taken from libtool.m4's _LT_CC_BASENAME. + +for cc_temp in $CC""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` + +# Code taken from libtool.m4's _LT_COMPILER_PIC. + +wl= +if test "$GCC" = yes; then + wl='-Wl,' +else + case "$host_os" in + aix*) + wl='-Wl,' + ;; + darwin*) + case $cc_basename in + xlc*) + wl='-Wl,' + ;; + esac + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' + ;; + irix5* | irix6* | nonstopux*) + wl='-Wl,' + ;; + newsos6) + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + ecc*) + wl='-Wl,' + ;; + icc* | ifort*) + wl='-Wl,' + ;; + lf95*) + wl='-Wl,' + ;; + pgcc | pgf77 | pgf90) + wl='-Wl,' + ;; + ccc*) + wl='-Wl,' + ;; + como) + wl='-lopt=' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + wl='-Wl,' + ;; + esac + ;; + esac + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; + rdos*) + ;; + solaris*) + wl='-Wl,' + ;; + sunos4*) + wl='-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3*) + wl='-Wl,' + ;; + sysv4*MP*) + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + wl='-Wl,' + ;; + unicos*) + wl='-Wl,' + ;; + uts4*) + ;; + esac +fi + +# Code taken from libtool.m4's _LT_LINKER_SHLIBS. + +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no + +case "$host_os" in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + # Unlike libtool, we use -rpath here, not --rpath, since the documented + # option of GNU ld is called -rpath, not --rpath. + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + case "$host_os" in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we cannot use + # them. + ld_shlibs=no + ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + cygwin* | mingw* | pw32* | cegcc*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + interix[3-9]*) + hardcode_direct=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + netbsd*) + ;; + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + else + ld_shlibs=no + fi + ;; + esac + ;; + sunos4*) + hardcode_direct=yes + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = no; then + hardcode_libdir_flag_spec= + fi +else + case "$host_os" in + aix3*) + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + fi + hardcode_direct=yes + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. + echo 'int main () { return 0; }' > conftest.c + ${CC} ${LDFLAGS} conftest.c -o conftest + aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + fi + if test -z "$aix_libpath"; then + aix_libpath="/usr/lib:/lib" + fi + rm -f conftest.c conftest + # End _LT_AC_SYS_LIBPATH_AIX. + if test "$aix_use_runtimelinking" = yes; then + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + fi + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + bsdi[45]*) + ;; + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + libext=lib + ;; + darwin* | rhapsody*) + hardcode_direct=no + if test "$GCC" = yes ; then + : + else + case $cc_basename in + xlc*) + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + dgux*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + freebsd1*) + ld_shlibs=no + ;; + freebsd2.2*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + freebsd2*) + hardcode_direct=yes + hardcode_minus_L=yes + ;; + freebsd* | dragonfly*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + hpux9*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + hpux10*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + hpux11*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + ;; + *) + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + netbsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + newsos6) + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + osf3*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) + if test "$GCC" = yes; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + solaris*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + ;; + sysv4) + case $host_vendor in + sni) + hardcode_direct=yes # is this really true??? + ;; + siemens) + hardcode_direct=no + ;; + motorola) + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + ;; + sysv4.3*) + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=yes + fi + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + ;; + sysv5* | sco3.2v5* | sco5v6*) + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + *) + ld_shlibs=no + ;; + esac +fi + +# Check dynamic linker characteristics +# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. +# Unlike libtool.m4, here we don't care about _all_ names of the library, but +# only about the one the linker finds when passed -lNAME. This is the last +# element of library_names_spec in libtool.m4, or possibly two of them if the +# linker has special search rules. +library_names_spec= # the last element of library_names_spec in libtool.m4 +libname_spec='lib$name' +case "$host_os" in + aix3*) + library_names_spec='$libname.a' + ;; + aix[4-9]*) + library_names_spec='$libname$shrext' + ;; + amigaos*) + library_names_spec='$libname.a' + ;; + beos*) + library_names_spec='$libname$shrext' + ;; + bsdi[45]*) + library_names_spec='$libname$shrext' + ;; + cygwin* | mingw* | pw32* | cegcc*) + shrext=.dll + library_names_spec='$libname.dll.a $libname.lib' + ;; + darwin* | rhapsody*) + shrext=.dylib + library_names_spec='$libname$shrext' + ;; + dgux*) + library_names_spec='$libname$shrext' + ;; + freebsd1*) + ;; + freebsd* | dragonfly*) + case "$host_os" in + freebsd[123]*) + library_names_spec='$libname$shrext$versuffix' ;; + *) + library_names_spec='$libname$shrext' ;; + esac + ;; + gnu*) + library_names_spec='$libname$shrext' + ;; + hpux9* | hpux10* | hpux11*) + case $host_cpu in + ia64*) + shrext=.so + ;; + hppa*64*) + shrext=.sl + ;; + *) + shrext=.sl + ;; + esac + library_names_spec='$libname$shrext' + ;; + interix[3-9]*) + library_names_spec='$libname$shrext' + ;; + irix5* | irix6* | nonstopux*) + library_names_spec='$libname$shrext' + case "$host_os" in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; + *) libsuff= shlibsuff= ;; + esac + ;; + esac + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux* | k*bsd*-gnu) + library_names_spec='$libname$shrext' + ;; + knetbsd*-gnu) + library_names_spec='$libname$shrext' + ;; + netbsd*) + library_names_spec='$libname$shrext' + ;; + newsos6) + library_names_spec='$libname$shrext' + ;; + nto-qnx*) + library_names_spec='$libname$shrext' + ;; + openbsd*) + library_names_spec='$libname$shrext$versuffix' + ;; + os2*) + libname_spec='$name' + shrext=.dll + library_names_spec='$libname.a' + ;; + osf3* | osf4* | osf5*) + library_names_spec='$libname$shrext' + ;; + rdos*) + ;; + solaris*) + library_names_spec='$libname$shrext' + ;; + sunos4*) + library_names_spec='$libname$shrext$versuffix' + ;; + sysv4 | sysv4.3*) + library_names_spec='$libname$shrext' + ;; + sysv4*MP*) + library_names_spec='$libname$shrext' + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + library_names_spec='$libname$shrext' + ;; + uts4*) + library_names_spec='$libname$shrext' + ;; +esac + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +shlibext=`echo "$shrext" | sed -e 's,^\.,,'` +escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + +LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sane-backends' PACKAGE_TARNAME='sane-backends' -PACKAGE_VERSION='1.0.25' -PACKAGE_STRING='sane-backends 1.0.25' +PACKAGE_VERSION='1.0.27' +PACKAGE_STRING='sane-backends 1.0.27' PACKAGE_BUGREPORT='sane-devel@lists.alioth.debian.org' PACKAGE_URL='' @@ -631,15 +631,29 @@ ac_includes_default="\ # include #endif" +gt_needs= +ac_config_libobj_dir=lib ac_header_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS -DISTCLEAN_FILES -USE_LATEX_FALSE -USE_LATEX_TRUE -ENABLE_TRANSLATIONS_FALSE -ENABLE_TRANSLATIONS_TRUE +AM_LDFLAGS +AM_CFLAGS +AM_CPPFLAGS +WITH_API_HTML_FALSE +WITH_API_HTML_TRUE +WITH_API_PDF_FALSE +WITH_API_PDF_TRUE +WITH_API_PS_FALSE +WITH_API_PS_TRUE +PPMTOGIF +DLH +GS +FIG2DEV +PDFLATEX +LATEX +DVIPS +MAKEINDEX BACKEND_MANS_ENABLED BACKEND_CONFS_ENABLED PRELOADABLE_BACKENDS_ENABLED @@ -655,35 +669,17 @@ COMPILE_SANED_FALSE COMPILE_SANED_TRUE configdir locksanedir -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -ac_ct_AR -AR -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -LIBTOOL -OBJDUMP -DLLTOOL -AS SCSI_LIBS +have_usblib_FALSE +have_usblib_TRUE USB_LIBS -LIBUSB_1_0_LIBS -LIBUSB_1_0_CFLAGS +USB_CFLAGS SYSTEMD_LIBS SYSTEMD_CFLAGS -ALLOCA -LIBOBJS SOCKET_LIBS +LTALLOCA +LIBOBJS +ALLOCA RESMGR_LIBS SNMP_CFLAGS SNMP_LIBS @@ -708,21 +704,58 @@ MATH_LIB DYNAMIC_FLAG DL_LIBS effective_target -LINKER_RPATH STRICT_LDFLAGS -INCLUDES CROSS_COMPILING_FALSE CROSS_COMPILING_TRUE PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG -MAKEINDEX -DVIPS -LATEX +SANE_CONFIG_PATH +POSUB +LTLIBINTL +LIBINTL +INTLLIBS +LTLIBICONV +LIBICONV +INTL_MACOSX_LIBS +XGETTEXT_EXTRA_OPTIONS MSGMERGE +XGETTEXT_015 XGETTEXT +GMSGFMT_015 +MSGFMT_015 +GMSGFMT MSGFMT -SANE_CONFIG_PATH +GETTEXT_MACRO_VERSION +USE_NLS +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +RANLIB +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +SED +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +LIBTOOL +OBJDUMP +DLLTOOL +AS +ac_ct_AR +AR EGREP GREP CPP @@ -743,15 +776,6 @@ CPPFLAGS LDFLAGS CFLAGS CC -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -NUMBER_VERSION V_REV V_MINOR V_MAJOR @@ -828,10 +852,19 @@ ac_user_opts=' enable_option_checking enable_silent_rules enable_maintainer_mode -with_docdir enable_dependency_tracking -enable_warnings +enable_static +enable_shared +with_pic +enable_fast_install +with_gnu_ld +with_sysroot +enable_libtool_lock +enable_nls enable_rpath +with_libiconv_prefix +with_libintl_prefix +enable_warnings enable_dynamic enable_pthread enable_locking @@ -841,25 +874,16 @@ with_v4l enable_avahi with_snmp with_systemd -enable_libusb_1_0 -enable_libusb +with_usb enable_scsibuffersize enable_scsi_directio enable_ipv6 enable_preload -enable_static -enable_shared -with_pic -enable_fast_install -with_gnu_ld -with_sysroot -enable_libtool_lock with_lockdir enable_local_backends enable_pnm_backend enable_parport_directio -enable_translations -enable_latex +with_api_spec ' ac_precious_vars='build_alias host_alias @@ -879,8 +903,8 @@ AVAHI_CFLAGS AVAHI_LIBS SYSTEMD_CFLAGS SYSTEMD_LIBS -LIBUSB_1_0_CFLAGS -LIBUSB_1_0_LIBS +USB_CFLAGS +USB_LIBS BACKENDS PRELOADABLE_BACKENDS' @@ -1423,7 +1447,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sane-backends 1.0.25 to adapt to many kinds of systems. +\`configure' configures sane-backends 1.0.27 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1493,7 +1517,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sane-backends 1.0.25:";; + short | recursive ) echo "Configuration of sane-backends 1.0.27:";; esac cat <<\_ACEOF @@ -1510,28 +1534,27 @@ Optional Features: do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build + --enable-static[=PKGS] build static libraries [default=no] + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --disable-nls do not use Native Language Support + --disable-rpath do not hardcode runtime library paths --enable-warnings turn on tons of compiler warnings (GCC only) - --enable-rpath use runtime library search path [default=yes] --disable-dynamic Disable dynamic loading of backends --enable-pthread use pthread instead of fork (default=yes for Linux/MacOS X/MINGW, no for everything else) --enable-locking activate device locking (default=yes, but only used by some backends) --enable-avahi enable Avahi support for saned and the net backend - --enable-libusb_1_0 enable libusb-1.0 support if available - --disable-libusb disable support for USB in SANE --enable-scsibuffersize=N specify the default size in bytes of the buffer for - SCSI commands [[default=131072]] + SCSI commands [default=131072] --enable-scsi-directio enable SCSI direct IO (Linux only, dangerous, see README.linux) --disable-ipv6 disable IPv6 support --disable-preload Disable preloading of backends - --enable-static[=PKGS] build static libraries [default=no] - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) --disable-local-backends turn off compilation of all backends but net --enable-pnm-backend enable the pnm backend for testing frontends @@ -1539,25 +1562,29 @@ Optional Features: --enable-parport-directio enable direct hardware access to the parallel port, so frontends will require special permission level - --disable-translations don't install translations of backend options - --disable-latex disable use of latex, et.al., to generate - documentation Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-docdir=DIR documentation [PREFIX/doc/sane-VERSION] - --with-group use the specified group for lock dir [default=uucp] - --with-gphoto2 include the gphoto2 backend [default=yes] - --with-v4l include the v4l backend [default=yes] - --with-snmp enable SNMP support [default=yes] - --with-systemd enable systemd support [default=yes] --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot=DIR Search for dependent libraries within DIR (or the compiler's sysroot if not specified). + --with-gnu-ld assume the C compiler uses GNU ld default=no + --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib + --without-libiconv-prefix don't search for libiconv in includedir and libdir + --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib + --without-libintl-prefix don't search for libintl in includedir and libdir + --with-group use the specified group for lock dir [default=uucp] + --with-gphoto2 include the gphoto2 backend [default=yes] + --with-v4l include the v4l backend [default=yes] + --with-snmp enable SNMP support [default=yes] + --with-systemd enable systemd support [default=yes] + --with-usb enable USB support [default=check] --with-lockdir=DIR set SANE lockdir [localstatedir/lock/sane] + --with-api-spec convert API spec to supported output formats + [default=check] Some influential environment variables: CC C compiler command @@ -1583,10 +1610,8 @@ Some influential environment variables: C compiler flags for SYSTEMD, overriding pkg-config SYSTEMD_LIBS linker flags for SYSTEMD, overriding pkg-config - LIBUSB_1_0_CFLAGS - C compiler flags for LIBUSB_1_0, overriding pkg-config - LIBUSB_1_0_LIBS - linker flags for LIBUSB_1_0, overriding pkg-config + USB_CFLAGS C compiler flags for USB, overriding pkg-config + USB_LIBS linker flags for USB, overriding pkg-config BACKENDS list of backends to compile PRELOADABLE_BACKENDS list of backends to preload into single DLL @@ -1657,7 +1682,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sane-backends configure 1.0.25 +sane-backends configure 1.0.27 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1956,6 +1981,73 @@ fi } # ac_fn_c_try_link +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache @@ -2192,78 +2284,11 @@ rm -f conftest.val as_fn_set_status $ac_retval } # ac_fn_c_compute_int - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sane-backends $as_me 1.0.25, which was +It was created by sane-backends $as_me 1.0.27, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2543,6 +2568,7 @@ $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi +gt_needs="$gt_needs " as_fn_append ac_header_list " stdlib.h" as_fn_append ac_header_list " unistd.h" as_fn_append ac_header_list " sys/param.h" @@ -2614,11 +2640,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -V_MAJOR=1 -V_MINOR=0 -V_REV=25 -is_release=yes +ac_config_headers="$ac_config_headers include/sane/config.h" am__api_version='1.14' @@ -3136,7 +3159,7 @@ fi # Define the identity of the package. PACKAGE='sane-backends' - VERSION='1.0.25' + VERSION='1.0.27' cat >>confdefs.h <<_ACEOF @@ -3228,21 +3251,60 @@ END as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 -$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } - # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then : - enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval -else - USE_MAINTAINER_MODE=no +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 -$as_echo "$USE_MAINTAINER_MODE" >&6; } - if test $USE_MAINTAINER_MODE = yes; then - MAINTAINER_MODE_TRUE= - MAINTAINER_MODE_FALSE='#' +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 +$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then : + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 +$as_echo "$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= @@ -3252,21 +3314,58 @@ fi -ac_config_headers="$ac_config_headers include/sane/config.h" - +if test x = "x$AWK"; then : + for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS -PACKAGE=sane-backends -VERSION=1.0.25 -NUMBER_VERSION=${V_MAJOR}.${V_MINOR}.${V_REV} +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF + test -n "$AWK" && break +done -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF +fi +if test x = "x`echo $VERSION | sed 's/[.0-9]//g'`"; then : + is_release=yes +else + is_release=no +fi +V_MAJOR=`echo $VERSION | $AWK -F. '{print $1}'` +V_MINOR=`echo $VERSION | $AWK -F. '{print $2}'` +V_REV=`echo $VERSION | $AWK -F. '{print $3}' | sed 's/[^0-9]//g'`; cat >>confdefs.h <<_ACEOF @@ -3287,93 +3386,6 @@ _ACEOF - - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - - - -# Check whether --with-docdir was given. -if test "${with_docdir+set}" = set; then : - withval=$with_docdir; - docdir="${withval}" - -else - - docdir='${prefix}/doc/sane-${VERSION}' - -fi - - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4414,79 +4426,246 @@ fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : +sane_save_CC=$CC + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 +$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } +if ${ac_cv_prog_cc_c99+:} false; then : $as_echo_n "(cached) " >&6 else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __STDC__ -# include +#include +#include +#include +#include +#include + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +#define debug(...) fprintf (stderr, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + your preprocessor is broken; +#endif +#if BIG_OK #else -# include + your preprocessor is broken; #endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; -else - # Broken: fails on valid input. -continue +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\0'; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static void +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str; + int number; + float fnumber; + + while (*format) + { + switch (*format++) + { + case 's': // string + str = va_arg (args_copy, const char *); + break; + case 'd': // int + number = va_arg (args_copy, int); + break; + case 'f': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); +} + +int +main () +{ + + // Check bool. + _Bool success = false; + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + test_varargs ("s, d' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' + || dynamic_array[ni.number - 1] != 543); + + ; + return 0; +} +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c99" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c99" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c99" != xno; then : + +fi + + if test xno != "x$ac_cv_prog_cc_c99"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $sane_save_CC option for ISO C99 w/o extensions" >&5 +$as_echo_n "checking for $sane_save_CC option for ISO C99 w/o extensions... " >&6; } + case $ac_cv_prog_cc_c99 in #( + -std=gnu99) : + sane_prog_cc_c99="-std=c99" ;; #( + -qlanglvl=extc99) : + sane_prog_cc_c99="-qlanglvl=stdc99" ;; #( + *) : + ;; +esac + if test "x$ac_cv_prog_cc_c99" = "x$sane_prog_cc_c99"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_99" >&5 +$as_echo "$ac_cv_prog_cc_99" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $sane_prog_cc_c99" >&5 +$as_echo "$sane_prog_cc_c99" >&6; } + CC="$sane_save_CC $sane_prog_cc_c99" +fi + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue fi rm -f conftest.err conftest.i conftest.$ac_ext @@ -4584,7 +4763,6 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : @@ -4757,231 +4935,217 @@ $as_echo "$ac_cv_prog_gcc_traditional" >&6; } fi fi -# Extract the first word of "sane-config", so it can be a program name with args. -set dummy sane-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SANE_CONFIG_PATH+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else - case $SANE_CONFIG_PATH in - [\\/]* | ?:[\\/]*) - ac_cv_path_SANE_CONFIG_PATH="$SANE_CONFIG_PATH" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_SANE_CONFIG_PATH="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include - test -z "$ac_cv_path_SANE_CONFIG_PATH" && ac_cv_path_SANE_CONFIG_PATH="no" - ;; -esac -fi -SANE_CONFIG_PATH=$ac_cv_path_SANE_CONFIG_PATH -if test -n "$SANE_CONFIG_PATH"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SANE_CONFIG_PATH" >&5 -$as_echo "$SANE_CONFIG_PATH" >&6; } +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + ac_cv_header_stdc=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -# Extract the first word of "msgfmt$EXEEXT", so it can be a program name with args. -set dummy msgfmt$EXEEXT; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MSGFMT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MSGFMT in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" - ;; -esac -fi -MSGFMT=$ac_cv_path_MSGFMT -if test -n "$MSGFMT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 -$as_echo "$MSGFMT" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + ac_cv_header_stdc=no fi +rm -f conftest* +fi -# Extract the first word of "xgettext$EXEEXT", so it can be a program name with args. -set dummy xgettext$EXEEXT; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_XGETTEXT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $XGETTEXT in - [\\/]* | ?:[\\/]*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT="no" - ;; -esac -fi -XGETTEXT=$ac_cv_path_XGETTEXT -if test -n "$XGETTEXT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 -$as_echo "$XGETTEXT" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + ac_cv_header_stdc=no fi +rm -f conftest* +fi -# Extract the first word of "msgmerge$EXEEXT", so it can be a program name with args. -set dummy msgmerge$EXEEXT; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MSGMERGE+:} false; then : - $as_echo_n "(cached) " >&6 +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : else - case $MSGMERGE in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif - test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE="no" - ;; -esac +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no fi -MSGMERGE=$ac_cv_path_MSGMERGE -if test -n "$MSGMERGE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 -$as_echo "$MSGMERGE" >&6; } +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" +if test "x$ac_cv_header_minix_config_h" = xyes; then : + MINIX=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + MINIX= fi -# Extract the first word of "latex$EXEEXT", so it can be a program name with args. -set dummy latex$EXEEXT; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_LATEX+:} false; then : + if test "$MINIX" = yes; then + +$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h + + +$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h + + +$as_echo "#define _MINIX 1" >>confdefs.h + + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 +$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } +if ${ac_cv_safe_to_define___extensions__+:} false; then : $as_echo_n "(cached) " >&6 else - case $LATEX in - [\\/]* | ?:[\\/]*) - ac_cv_path_LATEX="$LATEX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_LATEX="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - test -z "$ac_cv_path_LATEX" && ac_cv_path_LATEX="no" - ;; -esac -fi -LATEX=$ac_cv_path_LATEX -if test -n "$LATEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LATEX" >&5 -$as_echo "$LATEX" >&6; } +# define __EXTENSIONS__ 1 + $ac_includes_default +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_safe_to_define___extensions__=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + ac_cv_safe_to_define___extensions__=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 +$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } + test $ac_cv_safe_to_define___extensions__ = yes && + $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h + + $as_echo "#define _ALL_SOURCE 1" >>confdefs.h + + $as_echo "#define _GNU_SOURCE 1" >>confdefs.h + + $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h + + $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h -# Extract the first word of "dvips$EXEEXT", so it can be a program name with args. -set dummy dvips$EXEEXT; ac_word=$2 +if test -n "$ac_tool_prefix"; then + for ac_prog in ar lib "link -lib" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_DVIPS+:} false; then : +if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else - case $DVIPS in - [\\/]* | ?:[\\/]*) - ac_cv_path_DVIPS="$DVIPS" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_DVIPS="$as_dir/$ac_word$ac_exec_ext" + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -4989,40 +5153,43 @@ done done IFS=$as_save_IFS - test -z "$ac_cv_path_DVIPS" && ac_cv_path_DVIPS="no" - ;; -esac fi -DVIPS=$ac_cv_path_DVIPS -if test -n "$DVIPS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DVIPS" >&5 -$as_echo "$DVIPS" >&6; } +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -# Extract the first word of "makeindex$EXEEXT", so it can be a program name with args. -set dummy makeindex$EXEEXT; ac_word=$2 + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar lib "link -lib" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MAKEINDEX+:} false; then : +if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else - case $MAKEINDEX in - [\\/]* | ?:[\\/]*) - ac_cv_path_MAKEINDEX="$MAKEINDEX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_MAKEINDEX="$as_dir/$ac_word$ac_exec_ext" + ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -5030,2676 +5197,2255 @@ done done IFS=$as_save_IFS - test -z "$ac_cv_path_MAKEINDEX" && ac_cv_path_MAKEINDEX="no" - ;; -esac fi -MAKEINDEX=$ac_cv_path_MAKEINDEX -if test -n "$MAKEINDEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKEINDEX" >&5 -$as_echo "$MAKEINDEX" >&6; } +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi + test -n "$ac_ct_AR" && break +done + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi +: ${AR=ar} - - - - - - - - - - - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 +$as_echo_n "checking the archiver ($AR) interface... " >&6; } +if ${am_cv_ar_interface+:} false; then : $as_echo_n "(cached) " >&6 else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + am_cv_ar_interface=ar + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int some_variable = 0; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 + (eval $am_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -eq 0; then + am_cv_ar_interface=ar + else + am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 + (eval $am_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -eq 0; then + am_cv_ar_interface=lib + else + am_cv_ar_interface=unknown + fi + fi + rm -f conftest.lib libconftest.a +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 +$as_echo "$am_cv_ar_interface" >&6; } +case $am_cv_ar_interface in +ar) + ;; +lib) + # Microsoft lib, so override with the ar-lib wrapper script. + # FIXME: It is wrong to rewrite AR. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__AR in this case, + # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something + # similar. + AR="$am_aux_dir/ar-lib $AR" + ;; +unknown) + as_fn_error $? "could not determine $AR interface" "$LINENO" 5 ;; esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; +case `pwd` in + *\ * | *\ *) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi - -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - PKG_CONFIG="" - fi -fi - - if test x$cross_compiling = xyes; then - CROSS_COMPILING_TRUE= - CROSS_COMPILING_FALSE='#' -else - CROSS_COMPILING_TRUE='#' - CROSS_COMPILING_FALSE= -fi +macro_version='2.4.2' +macro_revision='1.3337' -if test "${ac_cv_c_compiler_gnu}" = "yes"; then - NORMAL_CFLAGS="\ - -W \ - -Wall" - WARN_CFLAGS="\ - -W \ - -Wall \ - -Wcast-align \ - -Wcast-qual \ - -Wmissing-declarations \ - -Wmissing-prototypes \ - -Wpointer-arith \ - -Wreturn-type \ - -Wstrict-prototypes \ - -pedantic" - # Some platforms are overly strict with -ansi enabled. Exclude those. - ANSI_FLAG=-ansi - case "${host_os}" in - solaris* | hpux* | os2* | darwin* | cygwin* | mingw*) - ANSI_FLAG= - ;; - esac - NORMAL_CFLAGS="${NORMAL_CFLAGS} ${ANSI_FLAG}" - WARN_CFLAGS="${WARN_CFLAGS} ${ANSI_FLAG}" - # Check whether --enable-warnings was given. -if test "${enable_warnings+set}" = set; then : - enableval=$enable_warnings; - if eval "test x$enable_warnings = xyes"; then - for flag in $WARN_CFLAGS; do - case "$CFLAGS" in -"$flag" | "$flag "* | *" $flag" | *" $flag "* ) - : - ;; -*) - CFLAGS="$CFLAGS $flag" - ;; -esac - done - else - for flag in $NORMAL_CFLAGS; do - case "$CFLAGS" in -"$flag" | "$flag "* | *" $flag" | *" $flag "* ) - : - ;; -*) - CFLAGS="$CFLAGS $flag" - ;; -esac - done - fi -else - if test x$is_release = xno; then - # Warnings enabled by default (development) - for flag in $WARN_CFLAGS; do - case "$CFLAGS" in -"$flag" | "$flag "* | *" $flag" | *" $flag "* ) - : - ;; -*) - CFLAGS="$CFLAGS $flag" - ;; -esac - done - else - # Warnings disabled by default (release) - for flag in $NORMAL_CFLAGS; do - case "$CFLAGS" in -"$flag" | "$flag "* | *" $flag" | *" $flag "* ) - : - ;; -*) - CFLAGS="$CFLAGS $flag" - ;; -esac - done - fi -fi -fi # ac_cv_c_compiler_gnu - # Define stricter linking policy on GNU systems. This is not - # added to global LDFLAGS because we may want to create convenience - # libraries that don't require such strick linking. - if test "$GCC" = yes; then - case ${host_os} in - linux* | solaris*) - STRICT_LDFLAGS="-Wl,-z,defs" - ;; - esac - fi - case "${host_os}" in - aix*) #enable .so libraries, disable archives - LDFLAGS="$LDFLAGS -Wl,-brtl" - ;; - darwin*) #include frameworks - LIBS="$LIBS -framework CoreFoundation -framework IOKit" - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether runtime link path should be used" >&5 -$as_echo_n "checking whether runtime link path should be used... " >&6; } - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; -fi +ltmain="$ac_aux_dir/ltmain.sh" +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - LINKER_RPATH= - if test "x$enable_rpath" != xno; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker parameter to set runtime link path" >&5 -$as_echo_n "checking linker parameter to set runtime link path... " >&6; } -if ${my_cv_LINKER_RPATH+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else - my_cv_LINKER_RPATH= - case "$host_os" in - linux* | freebsd* | netbsd* | openbsd* | irix*) - # I believe this only works with GNU ld [pere 2001-04-16] - my_cv_LINKER_RPATH="-Wl,-rpath," - ;; - solaris*) - my_cv_LINKER_RPATH="-R " - ;; - esac + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $my_cv_LINKER_RPATH" >&5 -$as_echo "$my_cv_LINKER_RPATH" >&6; } - LINKER_RPATH="$my_cv_LINKER_RPATH" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - LINKER_RPATH= -fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build else - ac_cv_header_stdc=no + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : -else - ac_cv_header_stdc=no -fi -rm -f conftest* +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -fi +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' -else - ac_cv_header_stdc=no -fi -rm -f conftest* +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' -fi +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () { - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; + $ECHO "" } -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +case "$ECHO" in + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; +esac -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then -$as_echo "#define STDC_HEADERS 1" >>confdefs.h -fi -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -fi -done - ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = xyes; then : - MINIX=yes + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 else - MINIX= + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed - if test "$MINIX" = yes; then +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" -$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h -$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h -$as_echo "#define _MINIX 1" >>confdefs.h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if ${ac_cv_safe_to_define___extensions__+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -# define __EXTENSIONS__ 1 - $ac_includes_default -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_safe_to_define___extensions__=yes + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; then : + $as_echo_n "(cached) " >&6 else - ac_cv_safe_to_define___extensions__=no + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" - $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - $as_echo "#define _GNU_SOURCE 1" >>confdefs.h +test -z "$GREP" && GREP=grep - $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 -$as_echo_n "checking for library containing strerror... " >&6; } -if ${ac_cv_search_strerror+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char strerror (); -int -main () -{ -return strerror (); - ; - return 0; -} -_ACEOF -for ac_lib in '' cposix; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_strerror=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_strerror+:} false; then : - break + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no fi -done -if ${ac_cv_search_strerror+:} false; then : +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } else - ac_cv_search_strerror=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$ac_cv_search_strerror" >&6; } -ac_res=$ac_cv_search_strerror -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" +LD="$lt_cv_path_LD" +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld -ac_byteorder_h=`echo include/byteorder.h` -ac_dir=`echo $ac_byteorder_h|sed 's%/[^/][^/]*$%%'` -if test "$ac_dir" != "$ac_byteorder" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" -fi -# We're only interested in the target CPU, but it's not always set -effective_target="$target" -if test "x$effective_target" = xNONE -o "x$effective_target" = x ; then - effective_target="$host" -fi -ac_byteorder=_byteorder.tmp -cat > "$ac_byteorder" << EOF -/* This file is generated automatically by configure */ -/* It is valid only for the system type ${effective_target} */ -#ifndef __BYTEORDER_H -#define __BYTEORDER_H -EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done + + test -n "$DUMPBIN" && break + done fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif + test -n "$ac_ct_DUMPBIN" && break +done - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +test -z "$NM" && NM=nm -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -#ifndef _BIG_ENDIAN - not big endian - #endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; - -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : + $as_echo_n "(cached) " >&6 else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) - -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - ;; #( - *) - as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for le32toh in machine/endian.h" >&5 -$as_echo_n "checking for le32toh in machine/endian.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef le32toh - symbol is present -#endif +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -HAVE_LE32TOH=1 - cat >> "$ac_byteorder" << EOF -/* extended byte swapping macros are already available */ -#include - -EOF - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ntohl in arpa/inet.h" >&5 -$as_echo_n "checking for ntohl in arpa/inet.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; then : + $as_echo_n "(cached) " >&6 +else + i=0 + teststring="ABCD" -#include -#ifdef ntohl - symbol is present -#endif + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -cat >> "$ac_byteorder" << EOF -/* ntohl and relatives live here */ -#include + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; -EOF + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ntohl in netinet/in.h" >&5 -$as_echo_n "checking for ntohl in netinet/in.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; -#include -#ifdef ntohl - symbol is present -#endif + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -cat >> "$ac_byteorder" << EOF -/* ntohl and relatives live here */ -#include + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; -EOF + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -true + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac fi -rm -f conftest* - +if test -n $lt_cv_sys_max_cmd_len ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } fi -rm -f conftest* +max_cmd_len=$lt_cv_sys_max_cmd_len -fi -rm -f conftest* +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for swap32 in machine/endian.h" >&5 -$as_echo_n "checking for swap32 in machine/endian.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 +$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,b/c, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 +$as_echo "$xsi_shell" >&6; } -#include -#ifdef swap32 - symbol is present -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -cat >> "$ac_byteorder" << EOF -/* swap32 and swap16 are defined in machine/endian.h */ +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 +$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } +lt_shell_append=no +( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 +$as_echo "$lt_shell_append" >&6; } -EOF +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - + lt_unset=false +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bswap_32 in byteswap.h" >&5 -$as_echo_n "checking for bswap_32 in byteswap.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef bswap_32 - symbol is present -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -cat >> "$ac_byteorder" << EOF -/* Define generic byte swapping functions */ -#include -#define swap16(x) bswap_16(x) -#define swap32(x) bswap_32(x) -#define swap64(x) bswap_64(x) -EOF -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bswap32 in machine/endian.h" >&5 -$as_echo_n "checking for bswap32 in machine/endian.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef bswap32 - symbol is present -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - cat >> "$ac_byteorder" << EOF -/* Define generic byte swapping functions */ -EOF - if test "$HAVE_LE32TOH" != "1"; then - echo '#include '>> "$ac_byteorder" - fi -cat >> "$ac_byteorder" << EOF -#define swap16(x) bswap16(x) -#define swap32(x) bswap32(x) -#define swap64(x) bswap64(x) -EOF -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __byte_swap_long in sys/types.h" >&5 -$as_echo_n "checking for __byte_swap_long in sys/types.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef __byte_swap_long - symbol is present -#endif +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\<__byte_swap_long\>" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -cat >> "$ac_byteorder" << EOF -/* Define generic byte swapping functions */ -#include -#define swap16(x) __byte_swap_word(x) -#define swap32(x) __byte_swap_long(x) -/* No optimized 64 bit byte swapping macro is available */ -#define swap64(x) ((uint64_t)(((uint64_t)(x) << 56) & 0xff00000000000000ULL | \\ - ((uint64_t)(x) << 40) & 0x00ff000000000000ULL | \\ - ((uint64_t)(x) << 24) & 0x0000ff0000000000ULL | \\ - ((uint64_t)(x) << 8) & 0x000000ff00000000ULL | \\ - ((x) >> 8) & 0x00000000ff000000ULL | \\ - ((x) >> 24) & 0x0000000000ff0000ULL | \\ - ((x) >> 40) & 0x000000000000ff00ULL | \\ - ((x) >> 56) & 0x00000000000000ffULL)) +fi -EOF +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for NXSwapLong in machine/byte_order.h" >&5 -$as_echo_n "checking for NXSwapLong in machine/byte_order.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef NXSwapLong - symbol is present -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -cat >> "$ac_byteorder" << EOF -/* Define generic byte swapping functions */ -#include -#define swap16(x) NXSwapShort(x) -#define swap32(x) NXSwapLong(x) -#define swap64(x) NXSwapLongLong(x) +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac -EOF +fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - if test $ac_cv_c_bigendian = yes; then - cat >> "$ac_byteorder" << EOF -/* No other byte swapping functions are available on this big-endian system */ -#define swap16(x) ((uint16_t)(((x) << 8) | ((uint16_t)(x) >> 8))) -#define swap32(x) ((uint32_t)(((uint32_t)(x) << 24) & 0xff000000UL | \\ - ((uint32_t)(x) << 8) & 0x00ff0000UL | \\ - ((x) >> 8) & 0x0000ff00UL | \\ - ((x) >> 24) & 0x000000ffUL)) -#define swap64(x) ((uint64_t)(((uint64_t)(x) << 56) & 0xff00000000000000ULL | \\ - ((uint64_t)(x) << 40) & 0x00ff000000000000ULL | \\ - ((uint64_t)(x) << 24) & 0x0000ff0000000000ULL | \\ - ((uint64_t)(x) << 8) & 0x000000ff00000000ULL | \\ - ((x) >> 8) & 0x00000000ff000000ULL | \\ - ((x) >> 24) & 0x0000000000ff0000ULL | \\ - ((x) >> 40) & 0x000000000000ff00ULL | \\ - ((x) >> 56) & 0x00000000000000ffULL)) -EOF - else - cat >> "$ac_byteorder" << EOF -/* Use these as generic byteswapping macros on this little endian system */ -#define swap16(x) ntohs(x) -#define swap32(x) ntohl(x) -/* No optimized 64 bit byte swapping macro is available */ -#define swap64(x) ((uint64_t)(((uint64_t)(x) << 56) & 0xff00000000000000ULL | \\ - ((uint64_t)(x) << 40) & 0x00ff000000000000ULL | \\ - ((uint64_t)(x) << 24) & 0x0000ff0000000000ULL | \\ - ((uint64_t)(x) << 8) & 0x000000ff00000000ULL | \\ - ((x) >> 8) & 0x00000000ff000000ULL | \\ - ((x) >> 24) & 0x0000000000ff0000ULL | \\ - ((x) >> 40) & 0x000000000000ff00ULL | \\ - ((x) >> 56) & 0x00000000000000ffULL)) -EOF - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_reload_flag='-r' fi -rm -f conftest* +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test "$GCC" != yes; then + reload_cmds=false + fi + ;; + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac -fi -rm -f conftest* -fi -rm -f conftest* -fi -rm -f conftest* +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi fi -rm -f conftest* +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi +test -z "$OBJDUMP" && OBJDUMP=objdump -if test "$HAVE_LE32TOH" != "1"; then - cat >> "$ac_byteorder" << EOF -/* The byte swapping macros have the form: */ -/* EENN[a]toh or htoEENN[a] where EE is be (big endian) or */ -/* le (little-endian), NN is 16 or 32 (number of bits) and a, */ -/* if present, indicates that the endian side is a pointer to an */ -/* array of uint8_t bytes instead of an integer of the specified length. */ -/* h refers to the host's ordering method. */ -/* So, to convert a 32-bit integer stored in a buffer in little-endian */ -/* format into a uint32_t usable on this machine, you could use: */ -/* uint32_t value = le32atoh(&buf[3]); */ -/* To put that value back into the buffer, you could use: */ -/* htole32a(&buf[3], value); */ -/* Define aliases for the standard byte swapping macros */ -/* Arguments to these macros must be properly aligned on natural word */ -/* boundaries in order to work properly on all architectures */ -#ifndef htobe16 -#define htobe16(x) htons(x) -#endif -#ifndef htobe32 -#define htobe32(x) htonl(x) -#endif -#ifndef be16toh -#define be16toh(x) ntohs(x) -#endif -#ifndef be32toh -#define be32toh(x) ntohl(x) -#endif -#define HTOBE16(x) (x) = htobe16(x) -#define HTOBE32(x) (x) = htobe32(x) -#define BE32TOH(x) (x) = be32toh(x) -#define BE16TOH(x) (x) = be16toh(x) -EOF - if test $ac_cv_c_bigendian = yes; then - cat >> "$ac_byteorder" << EOF -/* Define our own extended byte swapping macros for big-endian machines */ -#ifndef htole16 -#define htole16(x) swap16(x) -#endif -#ifndef htole32 -#define htole32(x) swap32(x) -#endif -#ifndef le16toh -#define le16toh(x) swap16(x) -#endif -#ifndef le32toh -#define le32toh(x) swap32(x) -#endif +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. -#ifndef htobe64 -#define htobe64(x) (x) -#endif -#ifndef be64toh -#define be64toh(x) (x) -#endif - -#define HTOLE16(x) (x) = htole16(x) -#define HTOLE32(x) (x) = htole32(x) -#define LE16TOH(x) (x) = le16toh(x) -#define LE32TOH(x) (x) = le32toh(x) +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; -#define HTOBE64(x) (void) (x) -#define BE64TOH(x) (void) (x) +beos*) + lt_cv_deplibs_check_method=pass_all + ;; -EOF - else - cat >> "$ac_byteorder" << EOF -/* On little endian machines, these macros are null */ -#ifndef htole16 -#define htole16(x) (x) -#endif -#ifndef htole32 -#define htole32(x) (x) -#endif -#ifndef htole64 -#define htole64(x) (x) -#endif -#ifndef le16toh -#define le16toh(x) (x) -#endif -#ifndef le32toh -#define le32toh(x) (x) -#endif -#ifndef le64toh -#define le64toh(x) (x) -#endif +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; -#define HTOLE16(x) (void) (x) -#define HTOLE32(x) (void) (x) -#define HTOLE64(x) (void) (x) -#define LE16TOH(x) (void) (x) -#define LE32TOH(x) (void) (x) -#define LE64TOH(x) (void) (x) +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; -/* These don't have standard aliases */ -#ifndef htobe64 -#define htobe64(x) swap64(x) -#endif -#ifndef be64toh -#define be64toh(x) swap64(x) -#endif +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. + if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; -#define HTOBE64(x) (x) = htobe64(x) -#define BE64TOH(x) (x) = be64toh(x) +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; -EOF - fi -fi +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; -cat >> "$ac_byteorder" << EOF -/* Define the C99 standard length-specific integer types */ -#include <_stdint.h> +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; -EOF +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; -case "${effective_target}" in - i[3456]86-*) - cat >> "$ac_byteorder" << EOF -/* Here are some macros to create integers from a byte array */ -/* These are used to get and put integers from/into a uint8_t array */ -/* with a specific endianness. This is the most portable way to generate */ -/* and read messages to a network or serial device. Each member of a */ -/* packet structure must be handled separately. */ +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; -/* The i386 and compatibles can handle unaligned memory access, */ -/* so use the optimized macros above to do this job */ -#define be16atoh(x) be16toh(*(uint16_t*)(x)) -#define be32atoh(x) be32toh(*(uint32_t*)(x)) -#define be64atoh(x) be64toh(*(uint64_t*)(x)) -#define le16atoh(x) le16toh(*(uint16_t*)(x)) -#define le32atoh(x) le32toh(*(uint32_t*)(x)) -#define le64atoh(x) le64toh(*(uint64_t*)(x)) +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; -#define htobe16a(a,x) *(uint16_t*)(a) = htobe16(x) -#define htobe32a(a,x) *(uint32_t*)(a) = htobe32(x) -#define htobe64a(a,x) *(uint64_t*)(a) = htobe64(x) -#define htole16a(a,x) *(uint16_t*)(a) = htole16(x) -#define htole32a(a,x) *(uint32_t*)(a) = htole32(x) -#define htole64a(a,x) *(uint64_t*)(a) = htole64(x) +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; -EOF +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all ;; - *) - cat >> "$ac_byteorder" << EOF -/* Here are some macros to create integers from a byte array */ -/* These are used to get and put integers from/into a uint8_t array */ -/* with a specific endianness. This is the most portable way to generate */ -/* and read messages to a network or serial device. Each member of a */ -/* packet structure must be handled separately. */ +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; -/* Non-optimized but portable macros */ -#define be16atoh(x) ((uint16_t)(((x)[0]<<8)|(x)[1])) -#define be32atoh(x) ((uint32_t)(((x)[0]<<24)|((x)[1]<<16)|((x)[2]<<8)|(x)[3])) -#define be64atoh(x) ((uint64_t)(((x)[0]<<56)|((x)[1]<<48)|((x)[2]<<40)| \\ - ((x)[3]<<32)|((x)[4]<<24)|((x)[5]<<16)|((x)[6]<<8)|(x)[7])) -#define le16atoh(x) ((uint16_t)(((x)[1]<<8)|(x)[0])) -#define le32atoh(x) ((uint32_t)(((x)[3]<<24)|((x)[2]<<16)|((x)[1]<<8)|(x)[0])) -#define le64atoh(x) ((uint64_t)(((x)[7]<<56)|((x)[6]<<48)|((x)[5]<<40)| \\ - ((x)[4]<<32)|((x)[3]<<24)|((x)[2]<<16)|((x)[1]<<8)|(x)[0])) +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; -#define htobe16a(a,x) (a)[0]=(uint8_t)((x)>>8), (a)[1]=(uint8_t)(x) -#define htobe32a(a,x) (a)[0]=(uint8_t)((x)>>24), (a)[1]=(uint8_t)((x)>>16), \\ - (a)[2]=(uint8_t)((x)>>8), (a)[3]=(uint8_t)(x) -#define htobe64a(a,x) (a)[0]=(uint8_t)((x)>>56), (a)[1]=(uint8_t)((x)>>48), \\ - (a)[2]=(uint8_t)((x)>>40), (a)[3]=(uint8_t)((x)>>32), \\ - (a)[4]=(uint8_t)((x)>>24), (a)[5]=(uint8_t)((x)>>16), \\ - (a)[6]=(uint8_t)((x)>>8), (a)[7]=(uint8_t)(x) -#define htole16a(a,x) (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x) -#define htole32a(a,x) (a)[3]=(uint8_t)((x)>>24), (a)[2]=(uint8_t)((x)>>16), \\ - (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x) -#define htole64a(a,x) (a)[7]=(uint8_t)((x)>>56), (a)[6]=(uint8_t)((x)>>48), \\ - (a)[5]=(uint8_t)((x)>>40), (a)[4]=(uint8_t)((x)>>32), \\ - (a)[3]=(uint8_t)((x)>>24), (a)[2]=(uint8_t)((x)>>16), \\ - (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x) +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; -EOF +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi ;; -esac +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; -cat >> "$ac_byteorder" << EOF -#endif /*__BYTEORDER_H*/ -EOF +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; -if cmp -s $ac_byteorder_h $ac_byteorder 2>/dev/null; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_byteorder_h is unchanged" >&5 -$as_echo "$as_me: $ac_byteorder_h is unchanged" >&6;} - rm $ac_byteorder -else - rm -f $ac_byteorder_h - mv $ac_byteorder $ac_byteorder_h -fi +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; -# ------ AX CREATE STDINT H ------------------------------------- -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint types" >&5 -$as_echo_n "checking for stdint types... " >&6; } -ac_stdint_h=`echo include/_stdint.h` -# try to shortcircuit - if the default include path of the compiler -# can find a "stdint.h" header then we assume that all compilers can. -if ${ac_cv_header_stdint_t+:} false; then : - $as_echo_n "(cached) " >&6 -else +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac -old_CXXFLAGS="$CXXFLAGS" ; CXXFLAGS="" -old_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS="" -old_CFLAGS="$CFLAGS" ; CFLAGS="" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int_least32_t v = 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_stdint_result="(assuming C99 compatible system)" - ac_cv_header_stdint_t="stdint.h"; -else - ac_cv_header_stdint_t="" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -if test "$GCC" = "yes" && test ".$ac_cv_header_stdint_t" = "."; then -CFLAGS="-std=c99" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int_least32_t v = 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: your GCC compiler has a defunct stdint.h for its default-mode" >&5 -$as_echo "$as_me: WARNING: your GCC compiler has a defunct stdint.h for its default-mode" >&2;} -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -CXXFLAGS="$old_CXXFLAGS" -CPPFLAGS="$old_CPPFLAGS" -CFLAGS="$old_CFLAGS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac fi +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown -v="... $ac_cv_header_stdint_h" -if test "$ac_stdint_h" = "stdint.h" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (are you sure you want them in ./stdint.h?)" >&5 -$as_echo "(are you sure you want them in ./stdint.h?)" >&6; } -elif test "$ac_stdint_h" = "inttypes.h" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (are you sure you want them in ./inttypes.h?)" >&5 -$as_echo "(are you sure you want them in ./inttypes.h?)" >&6; } -elif test "_$ac_cv_header_stdint_t" = "_" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (putting them into $ac_stdint_h)$v" >&5 -$as_echo "(putting them into $ac_stdint_h)$v" >&6; } -else - ac_cv_header_stdint="$ac_cv_header_stdint_t" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint (shortcircuit)" >&5 -$as_echo "$ac_cv_header_stdint (shortcircuit)" >&6; } -fi -if test "_$ac_cv_header_stdint_t" = "_" ; then # can not shortcircuit.. -inttype_headers=`echo | sed -e 's/,/ /g'` -ac_cv_stdint_result="(no helpful system typedefs seen)" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uintptr_t" >&5 -$as_echo_n "checking for stdint uintptr_t... " >&6; } -if ${ac_cv_header_stdint_x+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_header_stdint_x="" # the 1997 typedefs (inttypes.h) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 -$as_echo "(..)" >&6; } - for i in stdint.h inttypes.h sys/inttypes.h $inttype_headers - do - unset ac_cv_type_uintptr_t - unset ac_cv_type_uint64_t - ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <$i> -" -if test "x$ac_cv_type_uintptr_t" = xyes; then : - ac_cv_header_stdint_x=$i -else - continue -fi - ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include<$i> -" -if test "x$ac_cv_type_uint64_t" = xyes; then : - and64="/uint64_t" -else - and64="" -fi - stdint.h inttypes.h sys/inttypes.h $inttype_headers - break - done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uintptr_t" >&5 -$as_echo_n "checking for stdint uintptr_t... " >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_x" >&5 -$as_echo "$ac_cv_header_stdint_x" >&6; } -if test "_$ac_cv_header_stdint_x" = "_" ; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uint32_t" >&5 -$as_echo_n "checking for stdint uint32_t... " >&6; } -if ${ac_cv_header_stdint_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_header_stdint_o="" # the 1995 typedefs (sys/inttypes.h) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 -$as_echo "(..)" >&6; } - for i in inttypes.h sys/inttypes.h stdint.h $inttype_headers - do - unset ac_cv_type_uint32_t - unset ac_cv_type_uint64_t - ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "#include <$i> -" -if test "x$ac_cv_type_uint32_t" = xyes; then : - ac_cv_header_stdint_o=$i -else - continue -fi - ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include<$i> -" -if test "x$ac_cv_type_uint64_t" = xyes; then : - and64="/uint64_t" -else - and64="" -fi - inttypes.h sys/inttypes.h stdint.h $inttype_headers - break - break; - done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uint32_t" >&5 -$as_echo_n "checking for stdint uint32_t... " >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_o" >&5 -$as_echo "$ac_cv_header_stdint_o" >&6; } -fi -if test "_$ac_cv_header_stdint_x" = "_" ; then -if test "_$ac_cv_header_stdint_o" = "_" ; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint u_int32_t" >&5 -$as_echo_n "checking for stdint u_int32_t... " >&6; } -if ${ac_cv_header_stdint_u+:} false; then : + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else - - ac_cv_header_stdint_u="" # the BSD typedefs (sys/types.h) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 -$as_echo "(..)" >&6; } - for i in sys/types.h inttypes.h sys/inttypes.h $inttype_headers ; do - unset ac_cv_type_u_int32_t - unset ac_cv_type_u_int64_t - ac_fn_c_check_type "$LINENO" "u_int32_t" "ac_cv_type_u_int32_t" "#include <$i> -" -if test "x$ac_cv_type_u_int32_t" = xyes; then : - ac_cv_header_stdint_u=$i + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else - continue -fi +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - ac_fn_c_check_type "$LINENO" "u_int64_t" "ac_cv_type_u_int64_t" "#include<$i> -" -if test "x$ac_cv_type_u_int64_t" = xyes; then : - and64="/u_int64_t" +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } else - and64="" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - sys/types.h inttypes.h sys/inttypes.h $inttype_headers - break - break; - done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint u_int32_t" >&5 -$as_echo_n "checking for stdint u_int32_t... " >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_u" >&5 -$as_echo "$ac_cv_header_stdint_u" >&6; } - -fi fi - -if test "_$ac_cv_header_stdint_x" = "_" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint datatype model" >&5 -$as_echo_n "checking for stdint datatype model... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 -$as_echo "(..)" >&6; } - - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5 -$as_echo_n "checking size of char... " >&6; } -if ${ac_cv_sizeof_char+:} false; then : +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then : + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } else - if test "$ac_cv_type_char" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (char) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_char=0 - fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5 -$as_echo "$ac_cv_sizeof_char" >&6; } +test -z "$DLLTOOL" && DLLTOOL=dlltool -cat >>confdefs.h <<_ACEOF -#define SIZEOF_CHAR $ac_cv_sizeof_char -_ACEOF - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 -$as_echo_n "checking size of short... " >&6; } -if ${ac_cv_sizeof_short+:} false; then : + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : $as_echo_n "(cached) " >&6 else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : + lt_cv_sharedlib_from_linklib_cmd='unknown' -else - if test "$ac_cv_type_short" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (short) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_short=0 - fi -fi +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd="$ECHO" + ;; +esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 -$as_echo "$ac_cv_sizeof_short" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO -cat >>confdefs.h <<_ACEOF -#define SIZEOF_SHORT $ac_cv_sizeof_short -_ACEOF - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 -$as_echo_n "checking size of int... " >&6; } -if ${ac_cv_sizeof_int+:} false; then : + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : - + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. else - if test "$ac_cv_type_int" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (int) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_int=0 - fi -fi +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 -$as_echo "$ac_cv_sizeof_int" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_INT $ac_cv_sizeof_int -_ACEOF +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 -$as_echo_n "checking size of long... " >&6; } -if ${ac_cv_sizeof_long+:} false; then : + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } else - if test "$ac_cv_type_long" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (long) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_long=0 - fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 -$as_echo "$ac_cv_sizeof_long" >&6; } +: ${AR=ar} +: ${AR_FLAGS=cru} -cat >>confdefs.h <<_ACEOF -#define SIZEOF_LONG $ac_cv_sizeof_long -_ACEOF - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void*" >&5 -$as_echo_n "checking size of void*... " >&6; } -if ${ac_cv_sizeof_voidp+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void*))" "ac_cv_sizeof_voidp" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_voidp" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (void*) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_voidp=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_voidp" >&5 -$as_echo "$ac_cv_sizeof_voidp" >&6; } -cat >>confdefs.h <<_ACEOF -#define SIZEOF_VOIDP $ac_cv_sizeof_voidp -_ACEOF - ac_cv_char_data_model="" - ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_char" - ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_short" - ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_int" - ac_cv_long_data_model="" - ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_int" - ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_long" - ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_voidp" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking data model" >&5 -$as_echo_n "checking data model... " >&6; } - case "$ac_cv_char_data_model/$ac_cv_long_data_model" in - 122/242) ac_cv_data_model="IP16" ; n="standard 16bit machine" ;; - 122/244) ac_cv_data_model="LP32" ; n="standard 32bit machine" ;; - 122/*) ac_cv_data_model="i16" ; n="unusual int16 model" ;; - 124/444) ac_cv_data_model="ILP32" ; n="standard 32bit unixish" ;; - 124/488) ac_cv_data_model="LP64" ; n="standard 64bit unixish" ;; - 124/448) ac_cv_data_model="LLP64" ; n="unusual 64bit unixish" ;; - 124/*) ac_cv_data_model="i32" ; n="unusual int32 model" ;; - 128/888) ac_cv_data_model="ILP64" ; n="unusual 64bit numeric" ;; - 128/*) ac_cv_data_model="i64" ; n="unusual int64 model" ;; - 222/*2) ac_cv_data_model="DSP16" ; n="strict 16bit dsptype" ;; - 333/*3) ac_cv_data_model="DSP24" ; n="strict 24bit dsptype" ;; - 444/*4) ac_cv_data_model="DSP32" ; n="strict 32bit dsptype" ;; - 666/*6) ac_cv_data_model="DSP48" ; n="strict 48bit dsptype" ;; - 888/*8) ac_cv_data_model="DSP64" ; n="strict 64bit dsptype" ;; - 222/*|333/*|444/*|666/*|888/*) : - ac_cv_data_model="iDSP" ; n="unusual dsptype" ;; - *) ac_cv_data_model="none" ; n="very unusual model" ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_data_model ($ac_cv_long_data_model, $n)" >&5 -$as_echo "$ac_cv_data_model ($ac_cv_long_data_model, $n)" >&6; } -fi -if test "_$ac_cv_header_stdint_x" != "_" ; then - ac_cv_header_stdint="$ac_cv_header_stdint_x" -elif test "_$ac_cv_header_stdint_o" != "_" ; then - ac_cv_header_stdint="$ac_cv_header_stdint_o" -elif test "_$ac_cv_header_stdint_u" != "_" ; then - ac_cv_header_stdint="$ac_cv_header_stdint_u" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : + $as_echo_n "(cached) " >&6 else - ac_cv_header_stdint="stddef.h" -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra inttypes in chosen header" >&5 -$as_echo_n "checking for extra inttypes in chosen header... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ($ac_cv_header_stdint)" >&5 -$as_echo "($ac_cv_header_stdint)" >&6; } -unset ac_cv_type_int_least32_t -unset ac_cv_type_int_fast32_t -ac_fn_c_check_type "$LINENO" "int_least32_t" "ac_cv_type_int_least32_t" "#include <$ac_cv_header_stdint> -" -if test "x$ac_cv_type_int_least32_t" = xyes; then : + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -fi +int +main () +{ -ac_fn_c_check_type "$LINENO" "int_fast32_t" "ac_cv_type_int_fast32_t" "#include<$ac_cv_header_stdint> -" -if test "x$ac_cv_type_int_fast32_t" = xyes; then : + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -eq 0; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -ne 0; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a fi - -ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "#include <$ac_cv_header_stdint> -" -if test "x$ac_cv_type_intmax_t" = xyes; then : +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } - -fi # shortcircut to system "stdint.h" -# ------------------ PREPARE VARIABLES ------------------------------ -if test "$GCC" = "yes" ; then -ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1` +if test "x$lt_cv_ar_at_file" = xno; then + archiver_list_spec= else -ac_cv_stdint_message="using $CC" + archiver_list_spec=$lt_cv_ar_at_file fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&5 -$as_echo "make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&6; } -# ----------------- DONE inttypes.h checks START header ------------- -ac_config_commands="$ac_config_commands $ac_stdint_h" -# Check whether --enable-dynamic was given. -if test "${enable_dynamic+set}" = set; then : - enableval=$enable_dynamic; enable_dynamic=$enableval -else - enable_dynamic=auto -fi - DL_LIBS="" - if test "${enable_dynamic}" = "auto"; then - # default to disabled unless library found. - enable_dynamic=no - # dlopen - for ac_header in dlfcn.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - DL_LIBS=-ldl fi - - saved_LIBS="${LIBS}" - LIBS="${LIBS} ${DL_LIBS}" - for ac_func in dlopen -do : - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLOPEN 1 -_ACEOF - enable_dynamic=yes +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -done - LIBS="${saved_LIBS}" fi - -done - - # HP/UX DLL handling - for ac_header in dl.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "dl.h" "ac_cv_header_dl_h" "$ac_includes_default" -if test "x$ac_cv_header_dl_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DL_H 1 -_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - DL_LIBS=-ldld -fi - - saved_LIBS="${LIBS}" - LIBS="${LIBS} ${DL_LIBS}" - for ac_func in shl_load -do : - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SHL_LOAD 1 -_ACEOF - enable_dynamic=yes -fi +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi done - - LIBS="${saved_LIBS}" + done +IFS=$as_save_IFS fi - -done - - if test -z "$DL_LIBS" ; then - # old Mac OS X/Darwin (without dlopen) - for ac_header in mach-o/dyld.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "mach-o/dyld.h" "ac_cv_header_mach_o_dyld_h" "$ac_includes_default" -if test "x$ac_cv_header_mach_o_dyld_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MACH_O_DYLD_H 1 -_ACEOF - for ac_func in NSLinkModule -do : - ac_fn_c_check_func "$LINENO" "NSLinkModule" "ac_cv_func_NSLinkModule" -if test "x$ac_cv_func_NSLinkModule" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NSLINKMODULE 1 -_ACEOF - enable_dynamic=yes fi -done - +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" fi -done +test -z "$STRIP" && STRIP=: - fi - fi - DYNAMIC_FLAG= - if test "${enable_dynamic}" = yes ; then - DYNAMIC_FLAG=-module - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrt in -lm" >&5 -$as_echo_n "checking for sqrt in -lm... " >&6; } -if ${ac_cv_lib_m_sqrt+:} false; then : + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lm $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char sqrt (); -int -main () -{ -return sqrt (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_m_sqrt=yes + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else - ac_cv_lib_m_sqrt=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sqrt" >&5 -$as_echo "$ac_cv_lib_m_sqrt" >&6; } -if test "x$ac_cv_lib_m_sqrt" = xyes; then : - MATH_LIB="-lm" +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -case ${host_os} in - os2*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sylog in -lsyslog" >&5 -$as_echo_n "checking for sylog in -lsyslog... " >&6; } -if ${ac_cv_lib_syslog_sylog+:} false; then : +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsyslog $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char sylog (); -int -main () -{ -return sylog (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_syslog_sylog=yes + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else - ac_cv_lib_syslog_sylog=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_syslog_sylog" >&5 -$as_echo "$ac_cv_lib_syslog_sylog" >&6; } -if test "x$ac_cv_lib_syslog_sylog" = xyes; then : - SYSLOG_LIBS="-lsyslog" +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - ;; - beos*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syslog in -lbe" >&5 -$as_echo_n "checking for syslog in -lbe... " >&6; } -if ${ac_cv_lib_be_syslog+:} false; then : - $as_echo_n "(cached) " >&6 + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbe $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char syslog (); -int -main () -{ -return syslog (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_be_syslog=yes -else - ac_cv_lib_be_syslog=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_be_syslog" >&5 -$as_echo "$ac_cv_lib_be_syslog" >&6; } -if test "x$ac_cv_lib_be_syslog" = xyes; then : - SYSLOG_LIBS="-lbe" -fi - - ;; -esac + RANLIB="$ac_cv_prog_RANLIB" +fi +test -z "$RANLIB" && RANLIB=: - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_start_decompress in -ljpeg" >&5 -$as_echo_n "checking for jpeg_start_decompress in -ljpeg... " >&6; } -if ${ac_cv_lib_jpeg_jpeg_start_decompress+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ljpeg $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char jpeg_start_decompress (); -int -main () -{ -return jpeg_start_decompress (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_jpeg_jpeg_start_decompress=yes -else - ac_cv_lib_jpeg_jpeg_start_decompress=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_start_decompress" >&5 -$as_echo "$ac_cv_lib_jpeg_jpeg_start_decompress" >&6; } -if test "x$ac_cv_lib_jpeg_jpeg_start_decompress" = xyes; then : - ac_fn_c_check_header_mongrel "$LINENO" "jconfig.h" "ac_cv_header_jconfig_h" "$ac_includes_default" -if test "x$ac_cv_header_jconfig_h" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeglib - version >= 61 (6a)" >&5 -$as_echo_n "checking for jpeglib - version >= 61 (6a)... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - #include - #if JPEG_LIB_VERSION >= 61 - sane_correct_jpeg_lib_version_found - #endif +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sane_correct_jpeg_lib_version_found" >/dev/null 2>&1; then : - sane_cv_use_libjpeg="yes"; JPEG_LIBS="-ljpeg"; - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi -rm -f conftest* +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac -fi -fi - if test "$sane_cv_use_libjpeg" = "yes" ; then -$as_echo "#define HAVE_LIBJPEG 1" >>confdefs.h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIFFFdOpen in -ltiff" >&5 -$as_echo_n "checking for TIFFFdOpen in -ltiff... " >&6; } -if ${ac_cv_lib_tiff_TIFFFdOpen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltiff $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char TIFFFdOpen (); -int -main () -{ -return TIFFFdOpen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_tiff_TIFFFdOpen=yes -else - ac_cv_lib_tiff_TIFFFdOpen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tiff_TIFFFdOpen" >&5 -$as_echo "$ac_cv_lib_tiff_TIFFFdOpen" >&6; } -if test "x$ac_cv_lib_tiff_TIFFFdOpen" = xyes; then : - ac_fn_c_check_header_mongrel "$LINENO" "tiffio.h" "ac_cv_header_tiffio_h" "$ac_includes_default" -if test "x$ac_cv_header_tiffio_h" = xyes; then : - sane_cv_use_libtiff="yes"; TIFF_LIBS="-ltiff" -fi -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for png_init_io in -lpng" >&5 -$as_echo_n "checking for png_init_io in -lpng... " >&6; } -if ${ac_cv_lib_png_png_init_io+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpng $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char png_init_io (); -int -main () -{ -return png_init_io (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_png_png_init_io=yes -else - ac_cv_lib_png_png_init_io=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_png_png_init_io" >&5 -$as_echo "$ac_cv_lib_png_png_init_io" >&6; } -if test "x$ac_cv_lib_png_png_init_io" = xyes; then : - ac_fn_c_check_header_mongrel "$LINENO" "png.h" "ac_cv_header_png_h" "$ac_includes_default" -if test "x$ac_cv_header_png_h" = xyes; then : - sane_cv_use_libpng="yes"; PNG_LIBS="-lpng" -fi -fi - if test "$sane_cv_use_libpng" = "yes" ; then -$as_echo "#define HAVE_LIBPNG 1" >>confdefs.h - fi - ac_fn_c_check_header_mongrel "$LINENO" "ieee1284.h" "ac_cv_header_ieee1284_h" "$ac_includes_default" -if test "x$ac_cv_header_ieee1284_h" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libieee1284 >= 0.1.5" >&5 -$as_echo_n "checking for libieee1284 >= 0.1.5... " >&6; } -if ${sane_cv_use_libieee1284+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ - struct parport p; char *buf; - ieee1284_nibble_read(&p, 0, buf, 1); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - sane_cv_use_libieee1284="yes"; IEEE1284_LIBS="-lieee1284" -else - sane_cv_use_libieee1284="no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sane_cv_use_libieee1284" >&5 -$as_echo "$sane_cv_use_libieee1284" >&6; } -fi - if test "$sane_cv_use_libieee1284" = "yes" ; then +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} -$as_echo "#define HAVE_LIBIEEE1284 1" >>confdefs.h +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - fi +# Allow CC to be a program name with arguments. +compiler=$CC +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : + $as_echo_n "(cached) " >&6 +else +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] - case "${host_os}" in - linux* | darwin* | mingw*) # enabled by default on Linux, MacOS X and MINGW - use_pthread=yes - ;; - *) - use_pthread=no - esac - have_pthread=no +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' - # - # now that we have the systems preferences, we check - # the user - - # Check whether --enable-pthread was given. -if test "${enable_pthread+set}" = set; then : - enableval=$enable_pthread; - if test $enableval = yes ; then - use_pthread=yes - else - use_pthread=no - fi - -fi - - - if test $use_pthread = yes ; then - for ac_header in pthread.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" -if test "x$ac_cv_header_pthread_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_PTHREAD_H 1 -_ACEOF - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 -$as_echo_n "checking for pthread_create in -lpthread... " >&6; } -if ${ac_cv_lib_pthread_pthread_create+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpthread $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_create (); -int -main () -{ -return pthread_create (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_pthread_pthread_create=yes -else - ac_cv_lib_pthread_pthread_create=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5 -$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } -if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then : - PTHREAD_LIBS="-lpthread" -fi - - have_pthread=yes - save_LIBS="$LIBS" - LIBS="$LIBS $PTHREAD_LIBS" - for ac_func in pthread_create pthread_kill pthread_join pthread_detach pthread_cancel pthread_testcancel -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' -else - have_pthread=no; use_pthread=no -fi -done +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac - LIBS="$save_LIBS" +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac -fi +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" -done +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - fi +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac - if test $use_pthread = yes ; then +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do -cat >>confdefs.h <<_ACEOF -#define USE_PTHREAD "$use_pthread" -_ACEOF + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" else - PTHREAD_LIBS="" - fi - if test "$have_pthread" = "yes" ; then - CPPFLAGS="${CPPFLAGS} -D_REENTRANT" + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable pthread support" >&5 -$as_echo_n "checking whether to enable pthread support... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_pthread" >&5 -$as_echo "$have_pthread" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use pthread instead of fork" >&5 -$as_echo_n "checking whether to use pthread instead of fork... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_pthread" >&5 -$as_echo "$use_pthread" >&6; } - + # Check to see that the pipe works correctly. + pipe_works=no - LOCKPATH_GROUP=uucp - use_locking=yes - case "${host_os}" in - os2* ) - use_locking=no - ;; - esac + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF - # - # we check the user - # Check whether --enable-locking was given. -if test "${enable_locking+set}" = set; then : - enableval=$enable_locking; - if test $enableval = yes ; then - use_locking=yes + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" else - use_locking=no + rm -f "$nlist"T fi -fi + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined(__osf__) +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif - if test $use_locking = yes ; then +#ifdef __cplusplus +extern "C" { +#endif -# Check whether --with-group was given. -if test "${with_group+set}" = set; then : - withval=$with_group; LOCKPATH_GROUP="$withval" +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' -fi + cat <<_LT_EOF >> conftest.$ac_ext - # check if the group does exist - lasterror="" - touch sanetest.file - chgrp $LOCKPATH_GROUP sanetest.file 2>/dev/null || lasterror=$? - rm -f sanetest.file - if test ! -z "$lasterror"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Group $LOCKPATH_GROUP does not exist on this system." >&5 -$as_echo "$as_me: WARNING: Group $LOCKPATH_GROUP does not exist on this system." >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Locking feature will be disabled." >&5 -$as_echo "$as_me: WARNING: Locking feature will be disabled." >&2;} - use_locking=no - fi - fi - if test $use_locking = yes ; then - INSTALL_LOCKPATH=install-lockpath +/* The mapping between symbol names and symbols. */ +LT_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; -$as_echo "#define ENABLE_LOCKING 1" >>confdefs.h +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi else - INSTALL_LOCKPATH= - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable device locking" >&5 -$as_echo_n "checking whether to enable device locking... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_locking" >&5 -$as_echo "$use_locking" >&6; } - if test $use_locking = yes ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Setting lockdir group to $LOCKPATH_GROUP" >&5 -$as_echo "$as_me: Setting lockdir group to $LOCKPATH_GROUP" >&6;} + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 fi + rm -rf conftest* conftst* - - - - -# Check whether --with-gphoto2 was given. -if test "${with_gphoto2+set}" = set; then : - withval=$with_gphoto2; # If --with-gphoto2=no or --without-gphoto2, disable backend - # as "$with_gphoto2" will be set to "no" -fi - - - # If --with-gphoto2=yes (or not supplied), first check if - # pkg-config exists, then use it to check if libgphoto2 is - # present. If all that works, then see if we can actually link - # a program. And, if that works, then add the -l flags to - # GPHOTO2_LIBS and any other flags to GPHOTO2_LDFLAGS to pass to - # sane-config. - if test "$with_gphoto2" != "no" ; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_HAVE_GPHOTO2+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$HAVE_GPHOTO2"; then - ac_cv_prog_HAVE_GPHOTO2="$HAVE_GPHOTO2" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_HAVE_GPHOTO2="${ac_tool_prefix}pkg-config" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= fi done - done -IFS=$as_save_IFS fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= fi -HAVE_GPHOTO2=$ac_cv_prog_HAVE_GPHOTO2 -if test -n "$HAVE_GPHOTO2"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_GPHOTO2" >&5 -$as_echo "$HAVE_GPHOTO2" >&6; } +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } fi - +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' fi -if test -z "$ac_cv_prog_HAVE_GPHOTO2"; then - ac_ct_HAVE_GPHOTO2=$HAVE_GPHOTO2 - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_HAVE_GPHOTO2+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_HAVE_GPHOTO2"; then - ac_cv_prog_ac_ct_HAVE_GPHOTO2="$ac_ct_HAVE_GPHOTO2" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_HAVE_GPHOTO2="pkg-config" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_HAVE_GPHOTO2=$ac_cv_prog_ac_ct_HAVE_GPHOTO2 -if test -n "$ac_ct_HAVE_GPHOTO2"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_HAVE_GPHOTO2" >&5 -$as_echo "$ac_ct_HAVE_GPHOTO2" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_HAVE_GPHOTO2" = x; then - HAVE_GPHOTO2="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - HAVE_GPHOTO2=$ac_ct_HAVE_GPHOTO2 - fi -else - HAVE_GPHOTO2="$ac_cv_prog_HAVE_GPHOTO2" -fi - if test ${HAVE_GPHOTO2} != "false" ; then - if pkg-config --exists libgphoto2 ; then - with_gphoto2="`pkg-config --modversion libgphoto2`" - GPHOTO2_CPPFLAGS="`pkg-config --cflags libgphoto2`" - GPHOTO2_LIBS="`pkg-config --libs libgphoto2`" - saved_CPPFLAGS="${CPPFLAGS}" - CPPFLAGS="${GPHOTO2_CPPFLAGS}" - saved_LIBS="${LIBS}" - LIBS="${LIBS} ${GPHOTO2_LIBS}" - # Make sure we an really use the library - for ac_func in gp_camera_init -do : - ac_fn_c_check_func "$LINENO" "gp_camera_init" "ac_cv_func_gp_camera_init" -if test "x$ac_cv_func_gp_camera_init" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GP_CAMERA_INIT 1 -_ACEOF - HAVE_GPHOTO2=true -else - HAVE_GPHOTO2=false -fi -done - if test "${HAVE_GPHOTO2}" = "true"; then - for ac_func in gp_port_info_get_path -do : - ac_fn_c_check_func "$LINENO" "gp_port_info_get_path" "ac_cv_func_gp_port_info_get_path" -if test "x$ac_cv_func_gp_port_info_get_path" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GP_PORT_INFO_GET_PATH 1 -_ACEOF -fi -done - fi - CPPFLAGS="${saved_CPPFLAGS}" - LIBS="${saved_LIBS}" - else - HAVE_GPHOTO2=false - fi - if test "${HAVE_GPHOTO2}" = "false"; then - GPHOTO2_CPPFLAGS="" - GPHOTO2_LIBS="" - else - tmp_LIBS="" - for param in ${GPHOTO2_LIBS}; do - case "${param}" in - -l*) - tmp_LIBS="${tmp_LIBS} ${param}" - ;; - *) - GPHOTO2_LDFLAGS="${GPHOTO2_LDFLAGS} ${param}" - ;; - esac - done - GPHOTO2_LIBS="${tmp_LIBS}" - unset tmp_LIBS - unset param - fi - fi - fi @@ -7707,1601 +7453,1475 @@ done -# Check whether --with-v4l was given. -if test "${with_v4l+set}" = set; then : - withval=$with_v4l; # If --with-v4l=no or --without-v4l, disable backend - # as "$with_v4l" will be set to "no" -fi -if test "$with_v4l" != "no" ; then -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBV4L" >&5 -$as_echo_n "checking for LIBV4L... " >&6; } - -if test -n "$LIBV4L_CFLAGS"; then - pkg_cv_LIBV4L_CFLAGS="$LIBV4L_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libv4l1\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libv4l1") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBV4L_CFLAGS=`$PKG_CONFIG --cflags "libv4l1" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$LIBV4L_LIBS"; then - pkg_cv_LIBV4L_LIBS="$LIBV4L_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libv4l1\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libv4l1") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBV4L_LIBS=`$PKG_CONFIG --libs "libv4l1" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - LIBV4L_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libv4l1" 2>&1` - else - LIBV4L_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libv4l1" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$LIBV4L_PKG_ERRORS" >&5 - - have_libv4l1=no -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_libv4l1=no -else - LIBV4L_CFLAGS=$pkg_cv_LIBV4L_CFLAGS - LIBV4L_LIBS=$pkg_cv_LIBV4L_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_libv4l1=yes -fi -fi - -# Check whether --enable-avahi was given. -if test "${enable_avahi+set}" = set; then : - enableval=$enable_avahi; enable_avahi=$enableval -else - enable_avahi=no -fi -if test "$enable_avahi" = "yes"; then -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVAHI" >&5 -$as_echo_n "checking for AVAHI... " >&6; } -if test -n "$AVAHI_CFLAGS"; then - pkg_cv_AVAHI_CFLAGS="$AVAHI_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" avahi-client >= 0.6.24 \""; } >&5 - ($PKG_CONFIG --exists --print-errors " avahi-client >= 0.6.24 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_AVAHI_CFLAGS=`$PKG_CONFIG --cflags " avahi-client >= 0.6.24 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$AVAHI_LIBS"; then - pkg_cv_AVAHI_LIBS="$AVAHI_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" avahi-client >= 0.6.24 \""; } >&5 - ($PKG_CONFIG --exists --print-errors " avahi-client >= 0.6.24 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_AVAHI_LIBS=`$PKG_CONFIG --libs " avahi-client >= 0.6.24 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes +# Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; else - _pkg_short_errors_supported=no + with_sysroot=no fi - if test $_pkg_short_errors_supported = yes; then - AVAHI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " avahi-client >= 0.6.24 " 2>&1` - else - AVAHI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " avahi-client >= 0.6.24 " 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$AVAHI_PKG_ERRORS" >&5 - - enable_avahi=no -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - enable_avahi=no -else - AVAHI_CFLAGS=$pkg_cv_AVAHI_CFLAGS - AVAHI_LIBS=$pkg_cv_AVAHI_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -$as_echo "#define WITH_AVAHI 1" >>confdefs.h - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sane_init in -lsane" >&5 -$as_echo_n "checking for sane_init in -lsane... " >&6; } -if ${ac_cv_lib_sane_sane_init+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsane $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +lt_sysroot= +case ${with_sysroot} in #( + yes) + if test "$GCC" = yes; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 +$as_echo "${with_sysroot}" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char sane_init (); -int -main () -{ -return sane_init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_sane_sane_init=yes -else - ac_cv_lib_sane_sane_init=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sane_sane_init" >&5 -$as_echo "$ac_cv_lib_sane_sane_init" >&6; } -if test "x$ac_cv_lib_sane_sane_init" = xyes; then : - LIBSANE_EXISTS="yes" -fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } -# Check whether --with-snmp was given. -if test "${with_snmp+set}" = set; then : - withval=$with_snmp; +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; fi +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes -if test "$with_snmp" = "no"; then - echo "Not including SNMP support" -else - # Extract the first word of "net-snmp-config", so it can be a program name with args. -set dummy net-snmp-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SNMP_CONFIG_PATH+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $SNMP_CONFIG_PATH in - [\\/]* | ?:[\\/]*) - ac_cv_path_SNMP_CONFIG_PATH="$SNMP_CONFIG_PATH" # Let the user override the test with a path. +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_SNMP_CONFIG_PATH="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 +*-*-irix6*) + # Find out which ABI we are using. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_SNMP_CONFIG_PATH" && ac_cv_path_SNMP_CONFIG_PATH=""no"" + rm -rf conftest* ;; -esac -fi -SNMP_CONFIG_PATH=$ac_cv_path_SNMP_CONFIG_PATH -if test -n "$SNMP_CONFIG_PATH"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SNMP_CONFIG_PATH" >&5 -$as_echo "$SNMP_CONFIG_PATH" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for snmp_timeout in -lnetsnmp" >&5 -$as_echo_n "checking for snmp_timeout in -lnetsnmp... " >&6; } -if ${ac_cv_lib_netsnmp_snmp_timeout+:} false; then : +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnetsnmp $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char snmp_timeout (); int main () { -return snmp_timeout (); + ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_netsnmp_snmp_timeout=yes + lt_cv_cc_needs_belf=yes else - ac_cv_lib_netsnmp_snmp_timeout=no + lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_netsnmp_snmp_timeout" >&5 -$as_echo "$ac_cv_lib_netsnmp_snmp_timeout" >&6; } -if test "x$ac_cv_lib_netsnmp_snmp_timeout" = xyes; then : - LIBSNMP_EXISTS="yes" -fi + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for proper SNMP version" >&5 -$as_echo_n "checking for proper SNMP version... " >&6; } - if test "$SNMP_CONFIG_PATH" != "no" ; then - snmp_version=`$SNMP_CONFIG_PATH --version 2>/dev/null` - vers=`echo $snmp_version | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2);}'` - if test -n "$vers" && test "$vers" -ge 5006; then - SNMP_LIBS=`$SNMP_CONFIG_PATH --libs` - SNMP_CFLAGS=`$SNMP_CONFIG_PATH --cflags` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - with_snmp="yes" - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You need at least net-snmp 5.6, your version is $snmp_version" >&5 -$as_echo "$as_me: WARNING: You need at least net-snmp 5.6, your version is $snmp_version" >&2;} - with_snmp="no" - fi - else - with_snmp="no" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac -if test "$with_snmp" = "yes" -a "${LIBSNMP_EXISTS}x" = "yesx"; then - - +need_locks="$enable_libtool_lock" -$as_echo "#define HAVE_LIBSNMP 1" >>confdefs.h +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Warning: net-snmp library disabled, autodetecting network scanners will not be supported." >&5 -$as_echo "$as_me: WARNING: *** Warning: net-snmp library disabled, autodetecting network scanners will not be supported." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } else - ac_cv_header_stdc=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi else - ac_cv_header_stdc=no + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi -rm -f conftest* +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test "x$lt_cv_path_mainfest_tool" != xyes; then + MANIFEST_TOOL=: fi -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : -else - ac_cv_header_stdc=no -fi -rm -f conftest* -fi -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -for ac_header in fcntl.h unistd.h libc.h sys/dsreq.h sys/select.h \ - sys/time.h sys/shm.h sys/ipc.h sys/signal.h sys/scanio.h os2.h \ - sys/socket.h sys/io.h sys/hw.h sys/types.h linux/ppdev.h \ - dev/ppbus/ppi.h machine/cpufunc.h sys/bitypes.h sys/sem.h sys/poll.h \ - windows.h be/kernel/OS.h limits.h sys/ioctl.h asm/types.h\ - netinet/in.h tiffio.h ifaddrs.h pwd.h getopt.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF fi - +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi done + done +IFS=$as_save_IFS -for ac_header in asm/io.h -do : - ac_fn_c_check_header_compile "$LINENO" "asm/io.h" "ac_cv_header_asm_io_h" "#include -" -if test "x$ac_cv_header_asm_io_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ASM_IO_H 1 -_ACEOF - +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -done + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi - - - MISSING_HEADERS= - if test "${ac_cv_header_fcntl_h}" != "yes" ; then - MISSING_HEADERS="${MISSING_HEADERS}\"fcntl.h\" " - fi - if test "${ac_cv_header_sys_time_h}" != "yes" ; then - MISSING_HEADERS="${MISSING_HEADERS}\"sys/time.h\" " - fi - if test "${ac_cv_header_unistd_h}" != "yes" ; then - MISSING_HEADERS="${MISSING_HEADERS}\"unistd.h\" " - fi - if test "${ac_cv_header_stdc}" != "yes" ; then - MISSING_HEADERS="${MISSING_HEADERS}\"ANSI C headers\" " - fi - if test "${MISSING_HEADERS}" != "" ; then - echo "*** The following essential header files couldn't be found:" - echo "*** ${MISSING_HEADERS}" - echo "*** Maybe the compiler isn't ANSI C compliant or not properly installed?" - echo "*** For details on what went wrong see config.log." - as_fn_error $? "Exiting now." "$LINENO" 5 - fi - - -for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF - SOCKET_LIB="-lws2_32" -fi - -done - - -ac_fn_c_check_header_mongrel "$LINENO" "resmgr.h" "ac_cv_header_resmgr_h" "$ac_includes_default" -if test "x$ac_cv_header_resmgr_h" = xyes; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rsm_open_device in -lresmgr" >&5 -$as_echo_n "checking for rsm_open_device in -lresmgr... " >&6; } -if ${ac_cv_lib_resmgr_rsm_open_device+:} false; then : + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lresmgr $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char rsm_open_device (); -int -main () -{ -return rsm_open_device (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_resmgr_rsm_open_device=yes + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else - ac_cv_lib_resmgr_rsm_open_device=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resmgr_rsm_open_device" >&5 -$as_echo "$ac_cv_lib_resmgr_rsm_open_device" >&6; } -if test "x$ac_cv_lib_resmgr_rsm_open_device" = xyes; then : - - -$as_echo "#define HAVE_RESMGR 1" >>confdefs.h - - RESMGR_LIBS="-lresmgr" - - +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi fi - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 -$as_echo_n "checking return type of signal handlers... " >&6; } -if ${ac_cv_type_signal+:} false; then : +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main () -{ -return *(signal (0, 0)) (0) == 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_type_signal=int + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else - ac_cv_type_signal=void +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5 -$as_echo "$ac_cv_type_signal" >&6; } - -cat >>confdefs.h <<_ACEOF -#define RETSIGTYPE $ac_cv_type_signal -_ACEOF - - -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : - +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" -if test "x$ac_cv_type_pid_t" = xyes; then : - + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi else - -cat >>confdefs.h <<_ACEOF -#define pid_t int -_ACEOF - + NMEDIT="$ac_cv_prog_NMEDIT" fi -ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" -if test "x$ac_cv_type_ssize_t" = xyes; then : - + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 else - -cat >>confdefs.h <<_ACEOF -#define ssize_t long -_ACEOF + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS fi - - -ac_fn_c_check_type "$LINENO" "u_char" "ac_cv_type_u_char" "$ac_includes_default" -if test "x$ac_cv_type_u_char" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_U_CHAR 1 -_ACEOF - - fi -ac_fn_c_check_type "$LINENO" "u_short" "ac_cv_type_u_short" "$ac_includes_default" -if test "x$ac_cv_type_u_short" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_U_SHORT 1 -_ACEOF - - +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -ac_fn_c_check_type "$LINENO" "u_int" "ac_cv_type_u_int" "$ac_includes_default" -if test "x$ac_cv_type_u_int" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_U_INT 1 -_ACEOF fi -ac_fn_c_check_type "$LINENO" "u_long" "ac_cv_type_u_long" "$ac_includes_default" -if test "x$ac_cv_type_u_long" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_U_LONG 1 -_ACEOF - +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS fi - - - -# from Python, check for "long long" type -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long support" >&5 -$as_echo_n "checking for long long support... " >&6; } -have_long_long=no -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -long long x; x = (long long)0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -$as_echo "#define HAVE_LONG_LONG 1" >>confdefs.h - have_long_long=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_long_long" >&5 -$as_echo "$have_long_long" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t in " >&5 -$as_echo_n "checking for socklen_t in ... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include - -int -main () -{ -socklen_t len - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; }; -$as_echo "#define socklen_t int" >>confdefs.h - +$as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for union semun in " >&5 -$as_echo_n "checking for union semun in ... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include - -int -main () -{ -union semun test_semun - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; }; + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi -$as_echo "#define HAVE_UNION_SEMUN 1" >>confdefs.h + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct flock in fcntl.h" >&5 -$as_echo_n "checking for struct flock in fcntl.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "struct flock" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } ; -$as_echo "#define HAVE_STRUCT_FLOCK 1" >>confdefs.h +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -rm -f conftest* - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux ioctl defines" >&5 -$as_echo_n "checking for Linux ioctl defines... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -int -main () -{ - -__u32 houba = _IOR('v',14, unsigned long); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; }; -have_linux_ioctl_defines="yes"; + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + OTOOL="$ac_cv_prog_OTOOL" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } else - ac_cv_c_bigendian=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include int main () { -#ifndef _BIG_ENDIAN - not big endian - #endif ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_ld_exported_symbols_list=yes else - ac_cv_c_bigendian=no + lt_cv_ld_exported_symbols_list=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : + $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR cru libconftest.a conftest.o" >&5 + $AR cru libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[012]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac - ; - return 0; -} +for ac_header in dlfcn.h +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 1 _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no -else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) - -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - ;; #( - *) - as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac +done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if ${ac_cv_c_const+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ -#ifndef __cplusplus - /* Ultrix mips cc rejects this sort of thing. */ - typedef int charset[2]; - const charset cs = { 0, 0 }; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this sort of thing. */ - char tx; - char *t = &tx; - char const *s = 0 ? (char *) 0 : (char const *) 0; - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; } bx; - struct s *b = &bx; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_const=yes +# Set options +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else - ac_cv_c_const=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + enable_static=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then -$as_echo "#define const /**/" >>confdefs.h -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if ${ac_cv_c_inline+:} false; then : + + + + +enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. +set dummy ${ac_tool_prefix}as; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AS+:} false; then : $as_echo_n "(cached) " >&6 else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_inline=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break + if test -n "$AS"; then + ac_cv_prog_AS="$AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AS="${ac_tool_prefix}as" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi done + done +IFS=$as_save_IFS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 -$as_echo "$ac_cv_c_inline" >&6; } - -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac - - +fi +AS=$ac_cv_prog_AS +if test -n "$AS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 +$as_echo "$AS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi -ac_fn_c_check_func "$LINENO" "gethostbyaddr" "ac_cv_func_gethostbyaddr" -if test "x$ac_cv_func_gethostbyaddr" = xyes; then : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyaddr in -lbind" >&5 -$as_echo_n "checking for gethostbyaddr in -lbind... " >&6; } -if ${ac_cv_lib_bind_gethostbyaddr+:} false; then : +fi +if test -z "$ac_cv_prog_AS"; then + ac_ct_AS=$AS + # Extract the first word of "as", so it can be a program name with args. +set dummy as; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AS+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbind $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gethostbyaddr (); -int -main () -{ -return gethostbyaddr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_bind_gethostbyaddr=yes + if test -n "$ac_ct_AS"; then + ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. else - ac_cv_lib_bind_gethostbyaddr=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AS="as" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bind_gethostbyaddr" >&5 -$as_echo "$ac_cv_lib_bind_gethostbyaddr" >&6; } -if test "x$ac_cv_lib_bind_gethostbyaddr" = xyes; then : - BIND_LIB="-lbind" +ac_ct_AS=$ac_cv_prog_ac_ct_AS +if test -n "$ac_ct_AS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 +$as_echo "$ac_ct_AS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "x$ac_ct_AS" = x; then + AS="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AS=$ac_ct_AS + fi +else + AS="$ac_cv_prog_AS" fi -ac_fn_c_check_func "$LINENO" "gethostbyaddr" "ac_cv_func_gethostbyaddr" -if test "x$ac_cv_func_gethostbyaddr" = xyes; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyaddr in -lnsl" >&5 -$as_echo_n "checking for gethostbyaddr in -lnsl... " >&6; } -if ${ac_cv_lib_nsl_gethostbyaddr+:} false; then : + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnsl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gethostbyaddr (); -int -main () -{ -return gethostbyaddr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_nsl_gethostbyaddr=yes + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else - ac_cv_lib_nsl_gethostbyaddr=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyaddr" >&5 -$as_echo "$ac_cv_lib_nsl_gethostbyaddr" >&6; } -if test "x$ac_cv_lib_nsl_gethostbyaddr" = xyes; then : - NSL_LIB="-lnsl" fi - +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -ac_fn_c_check_func "$LINENO" "socket" "ac_cv_func_socket" -if test "x$ac_cv_func_socket" = xyes; then : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5 -$as_echo_n "checking for socket in -lsocket... " >&6; } -if ${ac_cv_lib_socket_socket+:} false; then : +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char socket (); -int -main () -{ -return socket (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_socket_socket=yes + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else - ac_cv_lib_socket_socket=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5 -$as_echo "$ac_cv_lib_socket_socket" >&6; } -if test "x$ac_cv_lib_socket_socket" = xyes; then : - SOCKET_LIB="-lsocket" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" fi -ac_fn_c_check_func "$LINENO" "inet_aton" "ac_cv_func_inet_aton" -if test "x$ac_cv_func_inet_aton" = xyes; then : + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_aton in -lresolv" >&5 -$as_echo_n "checking for inet_aton in -lresolv... " >&6; } -if ${ac_cv_lib_resolv_inet_aton+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lresolv $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char inet_aton (); -int -main () -{ -return inet_aton (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_resolv_inet_aton=yes + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else - ac_cv_lib_resolv_inet_aton=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_inet_aton" >&5 -$as_echo "$ac_cv_lib_resolv_inet_aton" >&6; } -if test "x$ac_cv_lib_resolv_inet_aton" = xyes; then : - RESOLV_LIB="-lresolv" +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" fi + ;; +esac -SOCKET_LIBS="$SOCKET_LIB $NSL_LIB $BIND_LIB $RESOLV_LIB" +test -z "$AS" && AS=as -save_LIBS="$LIBS" -LIBS="$LIBS $SOCKET_LIBS" -for ac_func in inet_addr inet_aton inet_ntoa -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -fi -done -ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop" -if test "x$ac_cv_func_inet_ntop" = xyes; then : - $as_echo "#define HAVE_INET_NTOP 1" >>confdefs.h -else - case " $LIBOBJS " in - *" inet_ntop.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS inet_ntop.$ac_objext" - ;; -esac +test -z "$DLLTOOL" && DLLTOOL=dlltool -fi -ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton" -if test "x$ac_cv_func_inet_pton" = xyes; then : - $as_echo "#define HAVE_INET_PTON 1" >>confdefs.h -else - case " $LIBOBJS " in - *" inet_pton.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS inet_pton.$ac_objext" - ;; -esac -fi +test -z "$OBJDUMP" && OBJDUMP=objdump -LIBS="$save_LIBS" -if test "$ac_cv_header_be_kernel_OS_h" = "yes" ; then - ac_cv_func_getaddrinfo=no - ac_cv_func_getnameinfo=no -fi -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 -$as_echo_n "checking for working alloca.h... " >&6; } -if ${ac_cv_working_alloca_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -char *p = (char *) alloca (2 * sizeof (int)); - if (p) return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_working_alloca_h=yes + + + + + enable_dlopen=no + + + + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else - ac_cv_working_alloca_h=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + enable_shared=yes fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 -$as_echo "$ac_cv_working_alloca_h" >&6; } -if test $ac_cv_working_alloca_h = yes; then -$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 -$as_echo_n "checking for alloca... " >&6; } -if ${ac_cv_func_alloca_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __GNUC__ -# define alloca __builtin_alloca -#else -# ifdef _MSC_VER -# include -# define alloca _alloca -# else -# ifdef HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -void *alloca (size_t); -# endif -# endif -# endif -# endif -#endif -int -main () -{ -char *p = (char *) alloca (1); - if (p) return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_func_alloca_works=yes + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else - ac_cv_func_alloca_works=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + pic_mode=default fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 -$as_echo "$ac_cv_func_alloca_works" >&6; } -if test $ac_cv_func_alloca_works = yes; then -$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h +test -z "$pic_mode" && pic_mode=default -else - # The SVR3 libPW and SVR4 libucb both contain incompatible functions -# that cause trouble. Some versions do not even contain alloca or -# contain a buggy version. If you still want to use their alloca, -# use ar to extract alloca.o from them instead of compiling alloca.c. -ALLOCA=\${LIBOBJDIR}alloca.$ac_objext -$as_echo "#define C_ALLOCA 1" >>confdefs.h -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 -$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if ${ac_cv_os_cray+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined CRAY && ! defined CRAY2 -webecray -#else -wenotbecray -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "webecray" >/dev/null 2>&1; then : - ac_cv_os_cray=yes + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else - ac_cv_os_cray=no + enable_fast_install=yes fi -rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 -$as_echo "$ac_cv_os_cray" >&6; } -if test $ac_cv_os_cray = yes; then - for ac_func in _getb67 GETB67 getb67; do - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : -cat >>confdefs.h <<_ACEOF -#define CRAY_STACKSEG_END $ac_func -_ACEOF - break -fi - done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 -$as_echo_n "checking stack direction for C alloca... " >&6; } -if ${ac_cv_c_stack_direction+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_c_stack_direction=0 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -find_stack_direction (int *addr, int depth) -{ - int dir, dummy = 0; - if (! addr) - addr = &dummy; - *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; - dir = depth ? find_stack_direction (addr, depth - 1) : 0; - return dir + dummy; -} -int -main (int argc, char **argv) -{ - return find_stack_direction (0, argc + !argv + 20) < 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_stack_direction=1 -else - ac_cv_c_stack_direction=-1 -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 -$as_echo "$ac_cv_c_stack_direction" >&6; } -cat >>confdefs.h <<_ACEOF -#define STACK_DIRECTION $ac_cv_c_stack_direction -_ACEOF -fi +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' - for ac_header in $ac_header_list -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -fi -done @@ -9310,1719 +8930,2193 @@ done -for ac_func in getpagesize -do : - ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" -if test "x$ac_cv_func_getpagesize" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETPAGESIZE 1 -_ACEOF -fi -done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 -$as_echo_n "checking for working mmap... " >&6; } -if ${ac_cv_func_mmap_fixed_mapped+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_mmap_fixed_mapped=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -/* malloc might have been renamed as rpl_malloc. */ -#undef malloc -/* Thanks to Mike Haertel and Jim Avera for this test. - Here is a matrix of mmap possibilities: - mmap private not fixed - mmap private fixed at somewhere currently unmapped - mmap private fixed at somewhere already mapped - mmap shared not fixed - mmap shared fixed at somewhere currently unmapped - mmap shared fixed at somewhere already mapped - For private mappings, we should verify that changes cannot be read() - back from the file, nor mmap's back from the file at a different - address. (There have been systems where private was not correctly - implemented like the infamous i386 svr4.0, and systems where the - VM page cache was not coherent with the file system buffer cache - like early versions of FreeBSD and possibly contemporary NetBSD.) - For shared mappings, we should conversely verify that changes get - propagated back to all the places they're supposed to be. - Grep wants private fixed already mapped. - The main things grep needs to know about mmap are: - * does it exist and is it safe to write into the mmap'd area - * how to use it (BSD variants) */ -#include -#include -#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H -char *malloc (); -#endif -/* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ -int -main () -{ - char *data, *data2, *data3; - const char *cdata2; - int i, pagesize; - int fd, fd2; - pagesize = getpagesize (); - /* First, make a file with some known garbage in it. */ - data = (char *) malloc (pagesize); - if (!data) - return 1; - for (i = 0; i < pagesize; ++i) - *(data + i) = rand (); - umask (0); - fd = creat ("conftest.mmap", 0600); - if (fd < 0) - return 2; - if (write (fd, data, pagesize) != pagesize) - return 3; - close (fd); - /* Next, check that the tail of a page is zero-filled. File must have - non-zero length, otherwise we risk SIGBUS for entire page. */ - fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); - if (fd2 < 0) - return 4; - cdata2 = ""; - if (write (fd2, cdata2, 1) != 1) - return 5; - data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); - if (data2 == MAP_FAILED) - return 6; - for (i = 0; i < pagesize; ++i) - if (*(data2 + i)) - return 7; - close (fd2); - if (munmap (data2, pagesize)) - return 8; - /* Next, try to mmap the file at a fixed address which already has - something else allocated at it. If we can, also make sure that - we see the same garbage. */ - fd = open ("conftest.mmap", O_RDWR); - if (fd < 0) - return 9; - if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - return 10; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - return 11; - /* Finally, make sure that changes to the mapped area do not - percolate back to the file as seen by read(). (This is a bug on - some variants of i386 svr4.0.) */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = (char *) malloc (pagesize); - if (!data3) - return 12; - if (read (fd, data3, pagesize) != pagesize) - return 13; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - return 14; - close (fd); - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_mmap_fixed_mapped=yes -else - ac_cv_func_mmap_fixed_mapped=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 -$as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } -if test $ac_cv_func_mmap_fixed_mapped = yes; then -$as_echo "#define HAVE_MMAP 1" >>confdefs.h -fi -rm -f conftest.mmap conftest.txt -for ac_func in atexit ioperm i386_set_ioperm \ - mkdir strftime strstr strtod \ - cfmakeraw tcsendbreak strcasecmp strncasecmp _portaccess \ - getaddrinfo getnameinfo poll setitimer iopl getuid getpass -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -fi -done -ac_fn_c_check_func "$LINENO" "getenv" "ac_cv_func_getenv" -if test "x$ac_cv_func_getenv" = xyes; then : - $as_echo "#define HAVE_GETENV 1" >>confdefs.h +test -z "$LN_S" && LN_S="ln -s" -else - case " $LIBOBJS " in - *" getenv.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS getenv.$ac_objext" - ;; -esac -fi -ac_fn_c_check_func "$LINENO" "isfdtype" "ac_cv_func_isfdtype" -if test "x$ac_cv_func_isfdtype" = xyes; then : - $as_echo "#define HAVE_ISFDTYPE 1" >>confdefs.h -else - case " $LIBOBJS " in - *" isfdtype.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS isfdtype.$ac_objext" - ;; -esac -fi -ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask" -if test "x$ac_cv_func_sigprocmask" = xyes; then : - $as_echo "#define HAVE_SIGPROCMASK 1" >>confdefs.h -else - case " $LIBOBJS " in - *" sigprocmask.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS sigprocmask.$ac_objext" - ;; -esac -fi -ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" -if test "x$ac_cv_func_snprintf" = xyes; then : - $as_echo "#define HAVE_SNPRINTF 1" >>confdefs.h -else - case " $LIBOBJS " in - *" snprintf.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS snprintf.$ac_objext" - ;; -esac -fi -ac_fn_c_check_func "$LINENO" "strcasestr" "ac_cv_func_strcasestr" -if test "x$ac_cv_func_strcasestr" = xyes; then : - $as_echo "#define HAVE_STRCASESTR 1" >>confdefs.h -else - case " $LIBOBJS " in - *" strcasestr.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strcasestr.$ac_objext" - ;; -esac +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST fi -ac_fn_c_check_func "$LINENO" "strdup" "ac_cv_func_strdup" -if test "x$ac_cv_func_strdup" = xyes; then : - $as_echo "#define HAVE_STRDUP 1" >>confdefs.h - +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : + $as_echo_n "(cached) " >&6 else - case " $LIBOBJS " in - *" strdup.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strdup.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "strndup" "ac_cv_func_strndup" -if test "x$ac_cv_func_strndup" = xyes; then : - $as_echo "#define HAVE_STRNDUP 1" >>confdefs.h - + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs else - case " $LIBOBJS " in - *" strndup.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strndup.$ac_objext" - ;; -esac - + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir -ac_fn_c_check_func "$LINENO" "strsep" "ac_cv_func_strsep" -if test "x$ac_cv_func_strsep" = xyes; then : - $as_echo "#define HAVE_STRSEP 1" >>confdefs.h -else - case " $LIBOBJS " in - *" strsep.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strsep.$ac_objext" - ;; -esac -fi -ac_fn_c_check_func "$LINENO" "usleep" "ac_cv_func_usleep" -if test "x$ac_cv_func_usleep" = xyes; then : - $as_echo "#define HAVE_USLEEP 1" >>confdefs.h -else - case " $LIBOBJS " in - *" usleep.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS usleep.$ac_objext" - ;; -esac +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF -fi -ac_fn_c_check_func "$LINENO" "sleep" "ac_cv_func_sleep" -if test "x$ac_cv_func_sleep" = xyes; then : - $as_echo "#define HAVE_SLEEP 1" >>confdefs.h -else - case " $LIBOBJS " in - *" sleep.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS sleep.$ac_objext" - ;; + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; esac -fi +# Global variables: +ofile=libtool +can_build_shared=yes -ac_fn_c_check_func "$LINENO" "syslog" "ac_cv_func_syslog" -if test "x$ac_cv_func_syslog" = xyes; then : - $as_echo "#define HAVE_SYSLOG 1" >>confdefs.h +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a -else - case " $LIBOBJS " in - *" syslog.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS syslog.$ac_objext" - ;; -esac +with_gnu_ld="$lt_cv_prog_gnu_ld" -fi +old_CC="$CC" +old_CFLAGS="$CFLAGS" -ac_fn_c_check_func "$LINENO" "vsyslog" "ac_cv_func_vsyslog" -if test "x$ac_cv_func_vsyslog" = xyes; then : - $as_echo "#define HAVE_VSYSLOG 1" >>confdefs.h +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 else - case " $LIBOBJS " in - *" vsyslog.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS vsyslog.$ac_objext" - ;; + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; esac +fi +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -if test "${ac_cv_header_sys_io_h}" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inb,outb (provided by sys/io.h)" >&5 -$as_echo_n "checking for inb,outb (provided by sys/io.h)... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -inb(0);outb(0,0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - sane_cv_have_sys_io_h_with_inb_outb="yes" + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - sane_cv_have_sys_io_h_with_inb_outb="no" - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: sys/io.h does not provide inb,outb (non i386/x32/x86_64 arch?)" >&5 -$as_echo "$as_me: WARNING: sys/io.h does not provide inb,outb (non i386/x32/x86_64 arch?)" >&2;} fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$sane_cv_have_sys_io_h_with_inb_outb" = "yes"; then -$as_echo "#define SANE_HAVE_SYS_IO_H_WITH_INB_OUTB 1" >>confdefs.h + else + MAGIC_CMD=: fi -else - sane_cv_have_sys_io_h_with_inb_outb="no" fi + fi + ;; +esac +# Use C for the default configuration in the libtool script +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test "$ac_cv_header_os2_h" = "yes" ; then +# Source file extension for C test sources. +ac_ext=c -$as_echo "#define strncasecmp strnicmp" >>confdefs.h +# Object file extension for compiled C test sources. +objext=o +objext=$objext +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" -$as_echo "#define strcasecmp stricmp" >>confdefs.h +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' -fi -if test "$ac_cv_header_getopt_h" = "yes" ; then - for ac_func in getopt_long -do : - ac_fn_c_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long" -if test "x$ac_cv_func_getopt_long" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETOPT_LONG 1 -_ACEOF -fi -done -fi -if test -c /dev/urandom ; then -$as_echo "#define HAVE_DEV_URANDOM 1" >>confdefs.h -fi +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} +# Allow CC to be a program name with arguments. +compiler=$CC -# Check whether --with-systemd was given. -if test "${with_systemd+set}" = set; then : - withval=$with_systemd; -fi +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC -if test "x$with_systemd" != xno ; then +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5 -$as_echo_n "checking for SYSTEMD... " >&6; } +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* -if test -n "$SYSTEMD_CFLAGS"; then - pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$SYSTEMD_LIBS"; then - pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then +lt_prog_compiler_no_builtin_flag= -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +if test "$GCC" = yes; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd" 2>&1` - else - SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$SYSTEMD_PKG_ERRORS" >&5 + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* - have_systemd=no -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_systemd=no -else - SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS - SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_systemd=yes fi - if test "x$have_systemd" = xno; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5 -$as_echo_n "checking for SYSTEMD... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } -if test -n "$SYSTEMD_CFLAGS"; then - pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd-daemon" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$SYSTEMD_LIBS"; then - pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd-daemon" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else - pkg_failed=yes + : fi - else - pkg_failed=untried + fi -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd-daemon" 2>&1` - else - SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd-daemon" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$SYSTEMD_PKG_ERRORS" >&5 - have_systemd=no -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_systemd=no -else - SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS - SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_systemd=yes -fi - fi - if test "x$have_systemd" = xyes; then -$as_echo "#define HAVE_SYSTEMD 1" >>confdefs.h + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= - else - if test "x$with_systemd" = xyes; then - as_fn_error $? "Systemd support was requested but systemd was not found" "$LINENO" 5 - fi - fi -fi + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; -# Check whether --enable-libusb_1_0 was given. -if test "${enable_libusb_1_0+set}" = set; then : - enableval=$enable_libusb_1_0; enable_libusb_1_0=$enableval -else - enable_libusb_1_0=no -fi + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; -# Check whether --enable-libusb was given. -if test "${enable_libusb+set}" = set; then : - enableval=$enable_libusb; -else - enable_libusb=auto -fi + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; -HAVE_USB=no -if test "$enable_libusb" != "no"; then - case ${host_os} in - beos*) - for ac_header in be/drivers/USB_scanner.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "be/drivers/USB_scanner.h" "ac_cv_header_be_drivers_USB_scanner_h" "$ac_includes_default" -if test "x$ac_cv_header_be_drivers_USB_scanner_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_BE_DRIVERS_USB_SCANNER_H 1 -_ACEOF - HAVE_USB=yes -else - as_fn_error $? "USB_scanner.h is required on BeOS" "$LINENO" 5 -fi + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; -done + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; - ;; - os2*) - ac_fn_c_check_header_compile "$LINENO" "usbcalls.h" "ac_cv_header_usbcalls_h" "#include -#include + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; -" -if test "x$ac_cv_header_usbcalls_h" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for UsbQueryNumberDevices in -lusbcall" >&5 -$as_echo_n "checking for UsbQueryNumberDevices in -lusbcall... " >&6; } -if ${ac_cv_lib_usbcall_UsbQueryNumberDevices+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusbcall $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char UsbQueryNumberDevices (); -int -main () -{ -return UsbQueryNumberDevices (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usbcall_UsbQueryNumberDevices=yes -else - ac_cv_lib_usbcall_UsbQueryNumberDevices=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usbcall_UsbQueryNumberDevices" >&5 -$as_echo "$ac_cv_lib_usbcall_UsbQueryNumberDevices" >&6; } -if test "x$ac_cv_lib_usbcall_UsbQueryNumberDevices" = xyes; then : - USB_LIBS="$USB_LIBS -lusbcall" - HAVE_USB=yes -fi + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; -fi + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; - ;; - *) - have_libusb_1_0=no - if test "$enable_libusb_1_0" = "yes"; then + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUSB_1_0" >&5 -$as_echo_n "checking for LIBUSB_1_0... " >&6; } + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; -if test -n "$LIBUSB_1_0_CFLAGS"; then - pkg_cv_LIBUSB_1_0_CFLAGS="$LIBUSB_1_0_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libusb-1.0 >= 1.0.0 \""; } >&5 - ($PKG_CONFIG --exists --print-errors " libusb-1.0 >= 1.0.0 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBUSB_1_0_CFLAGS=`$PKG_CONFIG --cflags " libusb-1.0 >= 1.0.0 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$LIBUSB_1_0_LIBS"; then - pkg_cv_LIBUSB_1_0_LIBS="$LIBUSB_1_0_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libusb-1.0 >= 1.0.0 \""; } >&5 - ($PKG_CONFIG --exists --print-errors " libusb-1.0 >= 1.0.0 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBUSB_1_0_LIBS=`$PKG_CONFIG --libs " libusb-1.0 >= 1.0.0 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64 which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - LIBUSB_1_0_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libusb-1.0 >= 1.0.0 " 2>&1` - else - LIBUSB_1_0_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libusb-1.0 >= 1.0.0 " 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$LIBUSB_1_0_PKG_ERRORS" >&5 + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; - have_libusb_1_0=no -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_libusb_1_0=no -else - LIBUSB_1_0_CFLAGS=$pkg_cv_LIBUSB_1_0_CFLAGS - LIBUSB_1_0_LIBS=$pkg_cv_LIBUSB_1_0_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_libusb_1_0=yes -fi - if test "$have_libusb_1_0" = "yes"; then - CFLAGS="$CFLAGS $LIBUSB_1_0_CFLAGS" - USB_LIBS="$USB_LIBS $LIBUSB_1_0_LIBS" - HAVE_USB=yes - fi - fi + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; - if test "$have_libusb_1_0" = "no"; then - ac_fn_c_check_header_mongrel "$LINENO" "usb.h" "ac_cv_header_usb_h" "$ac_includes_default" -if test "x$ac_cv_header_usb_h" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 -$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } -if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusb $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char usb_interrupt_read (); -int -main () -{ -return usb_interrupt_read (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usb_usb_interrupt_read=yes -else - ac_cv_lib_usb_usb_interrupt_read=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 -$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } -if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : - USB_LIBS="$USB_LIBS -lusb" - HAVE_USB=yes -fi + rdos*) + lt_prog_compiler_static='-non_shared' + ;; -fi + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; - for ac_header in lusb0_usb.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "lusb0_usb.h" "ac_cv_header_lusb0_usb_h" "$ac_includes_default" -if test "x$ac_cv_header_lusb0_usb_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LUSB0_USB_H 1 -_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 -$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } -if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusb $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char usb_interrupt_read (); -int -main () -{ -return usb_interrupt_read (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usb_usb_interrupt_read=yes +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; then : + $as_echo_n "(cached) " >&6 else - ac_cv_lib_usb_usb_interrupt_read=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 -$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } -if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : - USB_LIBS="$USB_LIBS -lusb" - HAVE_USB=yes -fi + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } -done - - fi - ;; - esac +if test x"$lt_cv_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no fi -if test "$enable_libusb" = "yes" && test "$HAVE_USB" = "no"; then - as_fn_error $? "USB support requested but required libraries not found." "$LINENO" 5 + fi -if test "$HAVE_USB" = "yes"; then - case ${host_os} in - os2*) -$as_echo "#define HAVE_USBCALLS 1" >>confdefs.h - ;; - *) - if test "$have_libusb_1_0" = "yes"; then -$as_echo "#define HAVE_LIBUSB_1_0 1" >>confdefs.h - else -$as_echo "#define HAVE_LIBUSB 1" >>confdefs.h - fi - ;; - esac -fi -# Unset VERSION during the SCSI header check -sed "s!^#define VERSION .*!/* & */!" confdefs.h > confdefs.h.tmp -mv confdefs.h.tmp confdefs.h -for ac_header in IOKit/scsi/SCSITaskLib.h IOKit/cdb/IOSCSILib.h \ - IOKit/scsi/SCSICommandOperationCodes.h \ - IOKit/scsi-commands/SCSICommandOperationCodes.h scsi.h sys/scsi.h \ - sys/scsicmd.h sys/scsiio.h bsd/dev/scsireg.h scsi/sg.h \ - camlib.h scdds.h sys/scsi/scsi.h sys/scsi/sgdefs.h \ - sys/scsi/targets/scgio.h apollo/scsi.h sys/sdi_comm.h \ - sys/passthrudef.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } -done +if test x"$lt_cv_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi -# Restore VERSION -sed "s!/\* \(#define VERSION .*\) \*/!\1!" confdefs.h > confdefs.h.tmp -mv confdefs.h.tmp confdefs.h -for ac_header in io/cam/cam.h -do : - ac_fn_c_check_header_compile "$LINENO" "io/cam/cam.h" "ac_cv_header_io_cam_cam_h" "#include -" -if test "x$ac_cv_header_io_cam_cam_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_IO_CAM_CAM_H 1 -_ACEOF -fi -done -for ac_header in ntddscsi.h ddk/ntddscsi.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext -done + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } -if test "$ac_cv_header_sys_scsiio_h" = "yes" \ - -a "$ac_cv_header_scsi_h" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'scsireq_t' needs to be defined as 'struct scsireq'" >&5 -$as_echo_n "checking if 'scsireq_t' needs to be defined as 'struct scsireq'... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -scsireq_t req - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; }; -$as_echo "#define scsireq_t struct scsireq_t" >>confdefs.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for scsireq_enter in -lscsi" >&5 -$as_echo_n "checking for scsireq_enter in -lscsi... " >&6; } -if ${ac_cv_lib_scsi_scsireq_enter+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lscsi $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char scsireq_enter (); -int -main () -{ -return scsireq_enter (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_scsi_scsireq_enter=yes -else - ac_cv_lib_scsi_scsireq_enter=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_scsi_scsireq_enter" >&5 -$as_echo "$ac_cv_lib_scsi_scsireq_enter" >&6; } -if test "x$ac_cv_lib_scsi_scsireq_enter" = xyes; then : - SCSI_LIBS="-lscsi" fi - # FreeBSD needs this +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cam_open_device in -lcam" >&5 -$as_echo_n "checking for cam_open_device in -lcam... " >&6; } -if ${ac_cv_lib_cam_cam_open_device+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcam $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char cam_open_device (); -int -main () -{ -return cam_open_device (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_cam_cam_open_device=yes -else - ac_cv_lib_cam_cam_open_device=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cam_cam_open_device" >&5 -$as_echo "$ac_cv_lib_cam_cam_open_device" >&6; } -if test "x$ac_cv_lib_cam_cam_open_device" = xyes; then : - SCSI_LIBS="-lcam" -fi - # FreeBSD 3+ needs this -for ac_func in scsireq_enter -do : - ac_fn_c_check_func "$LINENO" "scsireq_enter" "ac_cv_func_scsireq_enter" -if test "x$ac_cv_func_scsireq_enter" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SCSIREQ_ENTER 1 -_ACEOF +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no fi -done -if test "$ac_cv_header_scsi_sg_h" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sg_header.target_status in " >&5 -$as_echo_n "checking for sg_header.target_status in ... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -int -main () -{ -struct sg_header hdr; -hdr.target_status = 1; -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; }; -$as_echo "#define HAVE_SG_TARGET_STATUS 1" >>confdefs.h - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -if test "$ac_cv_header_IOKit_scsi_SCSITaskLib_h" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SCSITaskSGElement in IOKit/scsi/SCSITaskLib.h" >&5 -$as_echo_n "checking for SCSITaskSGElement in IOKit/scsi/SCSITaskLib.h... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#undef VERSION -#include - -int -main () -{ - -SCSITaskSGElement range; -return 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; }; - -$as_echo "#define HAVE_SCSITASKSGELEMENT 1" >>confdefs.h - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -if sparc64 -q > /dev/null 2>&1 ; then - -$as_echo "#define DISABLE_LINUX_SG_IO 1" >>confdefs.h - -fi - -# Multiple platforms can set SCSI_LIBS so do substitution at end. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= -# Check whether --enable-scsibuffersize was given. -if test "${enable_scsibuffersize+set}" = set; then : - enableval=$enable_scsibuffersize; set_scsibuffersize="$enableval" -else - set_scsibuffersize=131072 -fi + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs=no + ;; + esac + ld_shlibs=yes -cat >>confdefs.h <<_ACEOF -#define SCSIBUFFERSIZE $set_scsibuffersize -_ACEOF + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test "$with_gnu_ld" = yes; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi -echo "scsi buffersize: $set_scsibuffersize" + if test "$lt_use_gnu_ld_interface" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' -# Check whether --enable-scsi-directio was given. -if test "${enable_scsi_directio+set}" = set; then : - enableval=$enable_scsi_directio; - if eval "test x$enable_scsi_directio = xyes"; then - CFLAGS="$CFLAGS -DENABLE_SCSI_DIRECTIO" + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac -fi - + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. -if test "$ac_cv_func_getnameinfo" = "yes" \ - && test "$ac_cv_func_getaddrinfo" = "yes" ; then +_LT_EOF + fi + ;; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable IPv6" >&5 -$as_echo_n "checking whether to enable IPv6... " >&6; } - # Check whether --enable-ipv6 was given. -if test "${enable_ipv6+set}" = set; then : - enableval=$enable_ipv6; if test "$enableval" = "no" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, manually disabled" >&5 -$as_echo "no, manually disabled" >&6; } - ipv6=no - fi + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; -fi + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='${wl}--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - if test "$ipv6" != "no" ; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; - #define INET6 - #include - #include -int -main () -{ + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; - /* AF_INET6 available check */ - if (socket(AF_INET6, SOCK_STREAM, 0) < 0) - exit(1); - else - exit(0); + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi -$as_echo "#define ENABLE_IPV6 1" >>confdefs.h + case $cc_basename in + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; - ipv6=yes + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; -else + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (couldn't compile test program)" >&5 -$as_echo "no (couldn't compile test program)" >&6; } - ipv6=no +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; - if test "$ipv6" != "no" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct sockaddr_storage has an ss_family member" >&5 -$as_echo_n "checking whether struct sockaddr_storage has an ss_family member... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 - #define INET6 - #include - #include -int -main () -{ +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. - /* test if the ss_family member exists in struct sockaddr_storage */ - struct sockaddr_storage ss; - ss.ss_family = AF_INET; - exit (0); +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac -$as_echo "#define HAS_SS_FAMILY 1" >>confdefs.h + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global + # defined symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no -else + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='${wl}-f,' + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + link_all_deplibs=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + export_dynamic_flag_spec='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - #define INET6 - #include - #include int main () { - /* test if the __ss_family member exists in struct sockaddr_storage */ - struct sockaddr_storage ss; - ss.__ss_family = AF_INET; - exit (0); - ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, but __ss_family exists" >&5 -$as_echo "no, but __ss_family exists" >&6; } - -$as_echo "#define HAS___SS_FAMILY 1" >>confdefs.h - - -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ipv6=no - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +if ac_fn_c_try_link "$LINENO"; then : + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_="/usr/lib:/lib" fi -else - ipv6="no" fi -# Check whether --enable-preload was given. -if test "${enable_preload+set}" = set; then : - enableval=$enable_preload; enable_preload=$enableval -else - enable_preload=auto + aix_libpath=$lt_cv_aix_libpath_ fi - -enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AS+:} false; then : - $as_echo_n "(cached) " >&6 + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # Let the user override the test. + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -$as_echo "$AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_="/usr/lib:/lib" fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" + aix_libpath=$lt_cv_aix_libpath_ fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test "$lt_cv_ld_force_load" = "yes"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL + whole_archive_flag_spec='' fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi + link_all_deplibs=yes + allow_undefined_flag="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 + else + ld_shlibs=no fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - - ;; -esac - -test -z "$AS" && AS=as - - - - - -test -z "$DLLTOOL" && DLLTOOL=dlltool + ;; + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; -test -z "$OBJDUMP" && OBJDUMP=objdump + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + hpux10*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + hpux11*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler__b=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } -# Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac +if test x"$lt_cv_prog_compiler__b" = xyes; then + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else - enable_static=no + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test "$lt_cv_irix_exported_symbol" = yes; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + fi + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + *nto* | *qnx*) + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; -macro_version='2.4.2' -macro_revision='1.3337' + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + solaris*) + no_undefined_flag=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + *) + ld_shlibs=no + ;; + esac -ltmain="$ac_aux_dir/ltmain.sh" + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='${wl}-Blargedynsym' + ;; + esac + fi + fi -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' +with_gnu_ld=$with_gnu_ld -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} -case "$ECHO" in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; esac @@ -11038,77 +11132,9 @@ esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" @@ -11120,74 +11146,10 @@ Xsed="$SED -e 1s/^X//" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" -test -z "$GREP" && GREP=grep @@ -11207,108 +11169,8 @@ test -z "$GREP" && GREP=grep -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld @@ -11318,413 +11180,50 @@ with_gnu_ld=$lt_cv_prog_gnu_ld -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - test -n "$ac_ct_DUMPBIN" && break -done - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring="ABCD" - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -fi -if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac @@ -11734,110 +11233,20 @@ esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -fi -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -fi -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test "$GCC" != yes; then - reload_cmds=false - fi - ;; - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - @@ -11846,442 +11255,772 @@ esac -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi -test -z "$OBJDUMP" && OBJDUMP=objdump -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; -beos*) - lt_cv_deplibs_check_method=pass_all - ;; -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. - if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; + *) lt_sed_strip_eq="s,=/,/,g" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's,/\([A-Za-z]:\),\1,g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' ;; -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi ;; -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file +amigaos*) case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH ;; -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs ;; -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='${libname}.dll.lib' -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec="$LIB" + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac -rdos*) - lt_cv_deplibs_check_method=pass_all + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH ;; -solaris*) - lt_cv_deplibs_check_method=pass_all +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH ;; -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes ;; - siemens) - lt_cv_deplibs_check_method=pass_all + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes ;; - pc) - lt_cv_deplibs_check_method=pass_all + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes ;; esac ;; -tpf*) - lt_cv_deplibs_check_method=pass_all +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' ;; esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir +fi + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; +rdos*) + dynamic_linker=no + ;; +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no fi -done - done -IFS=$as_save_IFS + need_version=yes + ;; -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac fi -done - done -IFS=$as_save_IFS + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi -test -z "$DLLTOOL" && DLLTOOL=dlltool @@ -12289,37 +12028,8 @@ test -z "$DLLTOOL" && DLLTOOL=dlltool -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO @@ -12327,108 +12037,14 @@ test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - test -n "$ac_ct_AR" && break -done - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi -: ${AR=ar} -: ${AR_FLAGS=cru} @@ -12440,57 +12056,11 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi @@ -12498,228 +12068,24 @@ fi -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi -test -z "$STRIP" && STRIP=: -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - @@ -12745,291 +12111,552 @@ esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test "X$hardcode_automatic" = "Xyes" ; then + # We can hardcode non-existent directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } +if test "$hardcode_action" = relink || + test "$inherit_rpath" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + mingw* | pw32* | cegcc*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + darwin*) + # if libdl is installed we need to link against it + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes -# Allow CC to be a program name with arguments. -compiler=$CC +fi + ;; -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + lt_cv_dlopen="shl_load" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" +else + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" +fi -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do +fi - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + enable_dlopen=no fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - # Check to see that the pipe works correctly. - pipe_works=no + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include #endif -#ifdef __cplusplus -extern "C" { +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif #endif -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif - cat <<_LT_EOF >> conftest.$ac_ext +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif -/* The mapping between symbol names and symbols. */ -LT_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = +int fnord () { return 42; } +int main () { - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); -#ifdef __cplusplus + return status; } -#endif _LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no fi -done - fi +rm -fr conftest* -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" +#if HAVE_DLFCN_H +#include +#endif +#include +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi @@ -13039,312 +12666,245 @@ fi - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -# Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 -$as_echo "${with_sysroot}" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac + +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - fi - rm -rf conftest* - ;; + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac +fi -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; + + + + + + + # Report which library types will actually be built + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + + + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac -need_locks="$enable_libtool_lock" -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 +$as_echo_n "checking whether NLS is requested... " >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then : + enableval=$enable_nls; USE_NLS=$enableval else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 + USE_NLS=yes +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + + + + + GETTEXT_MACRO_VERSION=0.18 + + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: fi -done - done -IFS=$as_save_IFS + rm -f conf$$.sh +fi +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" fi +rm -f conf$$.file + +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$MSGFMT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" + ;; +esac fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 +$as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : +if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -13352,519 +12912,1266 @@ done done IFS=$as_save_IFS + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 +$as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi + case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; + *) MSGFMT_015=$MSGFMT ;; + esac + + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; + *) GMSGFMT_015=$GMSGFMT ;; + esac +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +# Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : +if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi + case "$XGETTEXT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 +$as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi + rm -f messages.po + + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; + *) XGETTEXT_015=$XGETTEXT ;; + esac + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : +if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi + case "$MSGMERGE" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then + ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" + ;; +esac fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } +MSGMERGE="$ac_cv_path_MSGMERGE" +if test "$MSGMERGE" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 +$as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" + + test -n "$localedir" || localedir='${datadir}/locale' + + + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= + + + ac_config_commands="$ac_config_commands po-directories" + + + + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" + with_gnu_ld=no fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 +$as_echo_n "checking for ld used by GCC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${acl_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi done -IFS=$as_save_IFS - + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } + +LD="$acl_cv_path_LD" +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${acl_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$acl_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$acl_cv_prog_gnu_ld -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 +$as_echo_n "checking for shared library run path origin... " >&6; } +if ${acl_cv_rpath+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 +$as_echo "$acl_cv_rpath" >&6; } + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; : else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + enable_rpath=yes fi - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : + + + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 +$as_echo_n "checking for 64-bit host... " >&6; } +if ${gl_cv_solaris_64bit+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } +#ifdef _LP64 +sixtyfour bits +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "sixtyfour bits" >/dev/null 2>&1; then : + gl_cv_solaris_64bit=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + gl_cv_solaris_64bit=no fi +rm -f conftest* fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 +$as_echo "$gl_cv_solaris_64bit" >&6; } + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + + + + + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libiconv-prefix was given. +if test "${with_libiconv_prefix+set}" = set; then : + withval=$with_libiconv_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO + LIBICONV= + LTLIBICONV= + INCICONV= + LIBICONV_PREFIX= + HAVE_LIBICONV= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='iconv ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" + ;; + esac + done + fi + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" + done fi -else - LIPO="$ac_cv_prog_LIPO" -fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 +$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } +if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +CFPreferencesCopyAppValue(NULL, NULL) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFPreferencesCopyAppValue=yes else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - + gt_cv_func_CFPreferencesCopyAppValue=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 +$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then +$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 +$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } +if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +CFLocaleCopyCurrent(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFLocaleCopyCurrent=yes else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - + gt_cv_func_CFLocaleCopyCurrent=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 +$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + +$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : + + + + + + LIBINTL= + LTLIBINTL= + POSUB= + + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3 ;; + *" need-ngettext "*) gt_api_version=2 ;; + *) gt_api_version=1 ;; + esac + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" + + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + + + if test $gt_api_version -ge 3; then + gt_revision_test_code=' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +' + else + gt_revision_test_code= + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=' + * ngettext ("", "", 0)' + else + gt_expression_test_code= + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 +$as_echo_n "checking for GNU gettext in libc... " >&6; } +if eval \${$gt_func_gnugettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; +int +main () +{ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$gt_func_gnugettext_libc=yes" else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - + eval "$gt_func_gnugettext_libc=no" fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } +eval ac_res=\$$gt_func_gnugettext_libc + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + + + + + + am_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCICONV; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 +$as_echo_n "checking for iconv... " >&6; } +if ${am_cv_func_iconv+:} false; then : + $as_echo_n "(cached) " >&6 else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_lib_iconv=yes + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" + fi fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 +$as_echo "$am_cv_func_iconv" >&6; } + if test "$am_cv_func_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 +$as_echo_n "checking for working iconv... " >&6; } +if ${am_cv_func_iconv_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. + + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + if test "$cross_compiling" = yes; then : + case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int main () +{ + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + return 1; + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\263"; + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + return 1; + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + return 1; + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + if (/* Try standardized names. */ + iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) + /* Try IRIX, OSF/1 names. */ + && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) + /* Try AIX names. */ + && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) + /* Try HP-UX names. */ + && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) + return 1; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + am_cv_func_iconv_works=yes +else + am_cv_func_iconv_works=no fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + + LIBS="$am_save_LIBS" + fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 +$as_echo "$am_cv_func_iconv_works" >&6; } + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" +$as_echo "#define HAVE_ICONV 1" >>confdefs.h + + fi + if test "$am_cv_lib_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 +$as_echo_n "checking how to link with libiconv... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 +$as_echo "$LIBICONV" >&6; } else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi @@ -13876,270 +14183,677 @@ fi + use_additional=yes + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +# Check whether --with-libintl-prefix was given. +if test "${with_libintl_prefix+set}" = set; then : + withval=$with_libintl_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi +fi + LIBINTL= + LTLIBINTL= + INCINTL= + LIBINTL_PREFIX= + HAVE_LIBINTL= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='intl ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'intl'; then + LIBINTL_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'intl'; then + LIBINTL_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" + ;; + esac + done + fi + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" + done + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 +$as_echo_n "checking for GNU gettext in libintl... " >&6; } +if eval \${$gt_func_gnugettext_libintl+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - +#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); int main () { - +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes + eval "$gt_func_gnugettext_libintl=yes" else - lt_cv_ld_exported_symbols_list=no + eval "$gt_func_gnugettext_libintl=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +int +main () +{ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") + ; + return 0; +} _ACEOF +if ac_fn_c_try_link "$LINENO"; then : + LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" +fi +eval ac_res=\$$gt_func_gnugettext_libintl + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + fi -done - - - - + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + LIBINTL= + LTLIBINTL= + INCINTL= + fi -# Set options + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi - enable_dlopen=no + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then +$as_echo "#define ENABLE_NLS 1" >>confdefs.h + else + USE_NLS=no + fi + fi - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 +$as_echo_n "checking whether to use NLS... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + if test "$USE_NLS" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 +$as_echo_n "checking where the gettext function comes from... " >&6; } + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 +$as_echo "$gt_source" >&6; } + fi + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 +$as_echo_n "checking how to link with libintl... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 +$as_echo "$LIBINTL" >&6; } + + for element in $INCINTL; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + fi +$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h +$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h + fi + POSUB=po + fi -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for lt_pkg in $withval; do - IFS="$lt_save_ifs" - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - pic_mode=default -fi + INTLLIBS="$LIBINTL" -test -z "$pic_mode" && pic_mode=default +# Extract the first word of "sane-config", so it can be a program name with args. +set dummy sane-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_SANE_CONFIG_PATH+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $SANE_CONFIG_PATH in + [\\/]* | ?:[\\/]*) + ac_cv_path_SANE_CONFIG_PATH="$SANE_CONFIG_PATH" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_SANE_CONFIG_PATH="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac + test -z "$ac_cv_path_SANE_CONFIG_PATH" && ac_cv_path_SANE_CONFIG_PATH="no" + ;; +esac +fi +SANE_CONFIG_PATH=$ac_cv_path_SANE_CONFIG_PATH +if test -n "$SANE_CONFIG_PATH"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SANE_CONFIG_PATH" >&5 +$as_echo "$SANE_CONFIG_PATH" >&6; } else - enable_fast_install=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -14151,2310 +14865,2391 @@ fi +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + PKG_CONFIG="" + fi +fi + if test x$cross_compiling = xyes; then + CROSS_COMPILING_TRUE= + CROSS_COMPILING_FALSE='#' +else + CROSS_COMPILING_TRUE='#' + CROSS_COMPILING_FALSE= +fi -test -z "$LN_S" && LN_S="ln -s" +if test "${ac_cv_c_compiler_gnu}" = "yes"; then + DEFAULT_CFLAGS="\ + -Wall" + EXTRA_WARNINGS="\ + -Wextra \ + -pedantic" + for flag in $DEFAULT_CFLAGS; do + case "$AM_CFLAGS" in +"$flag" | "$flag "* | *" $flag" | *" $flag "* ) + : + ;; +*) + AM_CFLAGS="$AM_CFLAGS $flag" + ;; +esac + done + # Check whether --enable-warnings was given. +if test "${enable_warnings+set}" = set; then : + enableval=$enable_warnings; + if eval "test x$enable_warnings = xyes"; then + for flag in $EXTRA_WARNINGS; do + case "$AM_CFLAGS" in +"$flag" | "$flag "* | *" $flag" | *" $flag "* ) + : + ;; +*) + AM_CFLAGS="$AM_CFLAGS $flag" + ;; +esac + done + fi +else + if test x$is_release = xno; then + # Warnings enabled by default (development) + for flag in $EXTRA_WARNINGS; do + case "$AM_CFLAGS" in +"$flag" | "$flag "* | *" $flag" | *" $flag "* ) + : + ;; +*) + AM_CFLAGS="$AM_CFLAGS $flag" + ;; +esac + done + fi +fi +fi # ac_cv_c_compiler_gnu + # Define stricter linking policy on GNU systems. This is not + # added to global LDFLAGS because we may want to create convenience + # libraries that don't require such strick linking. + if test "$GCC" = yes; then + case ${host_os} in + linux* | solaris*) + STRICT_LDFLAGS="-Wl,-z,defs" + ;; + esac + fi + case "${host_os}" in + aix*) #enable .so libraries, disable archives + AM_LDFLAGS="$AM_LDFLAGS -Wl,-brtl" + ;; + darwin*) #include frameworks + LIBS="$LIBS -framework CoreFoundation -framework IOKit" + ;; + esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 +$as_echo_n "checking for library containing strerror... " >&6; } +if ${ac_cv_search_strerror+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char strerror (); +int +main () +{ +return strerror (); + ; + return 0; +} +_ACEOF +for ac_lib in '' cposix; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_strerror=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_strerror+:} false; then : + break fi +done +if ${ac_cv_search_strerror+:} false; then : -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs + ac_cv_search_strerror=no fi -rmdir .libs 2>/dev/null +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 +$as_echo "$ac_cv_search_strerror" >&6; } +ac_res=$ac_cv_search_strerror +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" +fi +ac_byteorder_h=`echo include/byteorder.h` +ac_dir=`echo $ac_byteorder_h|sed 's%/[^/][^/]*$%%'` +if test "$ac_dir" != "$ac_byteorder" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" +fi -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF +# We're only interested in the target CPU, but it's not always set +effective_target="$target" +if test "x$effective_target" = xNONE -o "x$effective_target" = x ; then + effective_target="$host" +fi +ac_byteorder=_byteorder.tmp +cat > "$ac_byteorder" << EOF +/* This file is generated automatically by configure */ +/* It is valid only for the system type ${effective_target} */ +#ifndef __BYTEORDER_H +#define __BYTEORDER_H -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` - +EOF -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac + ac_cv_c_bigendian=no fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC="$CC" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +#ifndef _BIG_ENDIAN + not big endian + #endif -# Source file extension for C test sources. -ac_ext=c + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; -# Object file extension for compiled C test sources. -objext=o -objext=$objext +int +main () +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_bigendian=no +else + ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h +;; #( + no) + ;; #( + universal) +$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + ;; #( + *) + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for le32toh in machine/endian.h" >&5 +$as_echo_n "checking for le32toh in machine/endian.h... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} +#include +#ifdef le32toh + symbol is present +#endif -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "symbol is present|\" >/dev/null 2>&1; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +HAVE_LE32TOH=1 + cat >> "$ac_byteorder" << EOF +/* extended byte swapping macros are already available */ +#include -# Allow CC to be a program name with arguments. -compiler=$CC +EOF -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ntohl in arpa/inet.h" >&5 +$as_echo_n "checking for ntohl in arpa/inet.h... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then +#include +#ifdef ntohl + symbol is present +#endif -lt_prog_compiler_no_builtin_flag= +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "symbol is present|\" >/dev/null 2>&1; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +cat >> "$ac_byteorder" << EOF +/* ntohl and relatives live here */ +#include -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac +EOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ntohl in netinet/in.h" >&5 +$as_echo_n "checking for ntohl in netinet/in.h... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi +#include +#ifdef ntohl + symbol is present +#endif -fi +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "symbol is present|\" >/dev/null 2>&1; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +cat >> "$ac_byteorder" << EOF +/* ntohl and relatives live here */ +#include +EOF +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +true +fi +rm -f conftest* +fi +rm -f conftest* - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' +fi +rm -f conftest* - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for swap32 in machine/endian.h" >&5 +$as_echo_n "checking for swap32 in machine/endian.h... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; +#include +#ifdef swap32 + symbol is present +#endif - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "symbol is present|\" >/dev/null 2>&1; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +cat >> "$ac_byteorder" << EOF +/* swap32 and swap16 are defined in machine/endian.h */ - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; +EOF - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bswap_32 in byteswap.h" >&5 +$as_echo_n "checking for bswap_32 in byteswap.h... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; +#include +#ifdef bswap_32 + symbol is present +#endif - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "symbol is present|\" >/dev/null 2>&1; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +cat >> "$ac_byteorder" << EOF +/* Define generic byte swapping functions */ +#include +#define swap16(x) bswap_16(x) +#define swap32(x) bswap_32(x) +#define swap64(x) bswap_64(x) - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; +EOF - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bswap32 in machine/endian.h" >&5 +$as_echo_n "checking for bswap32 in machine/endian.h... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; +#include +#ifdef bswap32 + symbol is present +#endif - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "symbol is present|\" >/dev/null 2>&1; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + cat >> "$ac_byteorder" << EOF +/* Define generic byte swapping functions */ +EOF + if test "$HAVE_LE32TOH" != "1"; then + echo '#include '>> "$ac_byteorder" + fi +cat >> "$ac_byteorder" << EOF +#define swap16(x) bswap16(x) +#define swap32(x) bswap32(x) +#define swap64(x) bswap64(x) - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; +EOF - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __byte_swap_long in sys/types.h" >&5 +$as_echo_n "checking for __byte_swap_long in sys/types.h... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; +#include +#ifdef __byte_swap_long + symbol is present +#endif - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "symbol is present|\<__byte_swap_long\>" >/dev/null 2>&1; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +cat >> "$ac_byteorder" << EOF +/* Define generic byte swapping functions */ +#include +#define swap16(x) __byte_swap_word(x) +#define swap32(x) __byte_swap_long(x) +/* No optimized 64 bit byte swapping macro is available */ +#define swap64(x) ((uint64_t)(((uint64_t)(x) << 56) & 0xff00000000000000ULL | \\ + ((uint64_t)(x) << 40) & 0x00ff000000000000ULL | \\ + ((uint64_t)(x) << 24) & 0x0000ff0000000000ULL | \\ + ((uint64_t)(x) << 8) & 0x000000ff00000000ULL | \\ + ((x) >> 8) & 0x00000000ff000000ULL | \\ + ((x) >> 24) & 0x0000000000ff0000ULL | \\ + ((x) >> 40) & 0x000000000000ff00ULL | \\ + ((x) >> 56) & 0x00000000000000ffULL)) - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; +EOF - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for NXSwapLong in machine/byte_order.h" >&5 +$as_echo_n "checking for NXSwapLong in machine/byte_order.h... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi +#include +#ifdef NXSwapLong + symbol is present +#endif -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "symbol is present|\" >/dev/null 2>&1; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +cat >> "$ac_byteorder" << EOF +/* Define generic byte swapping functions */ +#include +#define swap16(x) NXSwapShort(x) +#define swap32(x) NXSwapLong(x) +#define swap64(x) NXSwapLongLong(x) -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic +EOF -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + if test $ac_cv_c_bigendian = yes; then + cat >> "$ac_byteorder" << EOF +/* No other byte swapping functions are available on this big-endian system */ +#define swap16(x) ((uint16_t)(((x) << 8) | ((uint16_t)(x) >> 8))) +#define swap32(x) ((uint32_t)(((uint32_t)(x) << 24) & 0xff000000UL | \\ + ((uint32_t)(x) << 8) & 0x00ff0000UL | \\ + ((x) >> 8) & 0x0000ff00UL | \\ + ((x) >> 24) & 0x000000ffUL)) +#define swap64(x) ((uint64_t)(((uint64_t)(x) << 56) & 0xff00000000000000ULL | \\ + ((uint64_t)(x) << 40) & 0x00ff000000000000ULL | \\ + ((uint64_t)(x) << 24) & 0x0000ff0000000000ULL | \\ + ((uint64_t)(x) << 8) & 0x000000ff00000000ULL | \\ + ((x) >> 8) & 0x00000000ff000000ULL | \\ + ((x) >> 24) & 0x0000000000ff0000ULL | \\ + ((x) >> 40) & 0x000000000000ff00ULL | \\ + ((x) >> 56) & 0x00000000000000ffULL)) -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi +EOF + else + cat >> "$ac_byteorder" << EOF +/* Use these as generic byteswapping macros on this little endian system */ +#define swap16(x) ntohs(x) +#define swap32(x) ntohl(x) +/* No optimized 64 bit byte swapping macro is available */ +#define swap64(x) ((uint64_t)(((uint64_t)(x) << 56) & 0xff00000000000000ULL | \\ + ((uint64_t)(x) << 40) & 0x00ff000000000000ULL | \\ + ((uint64_t)(x) << 24) & 0x0000ff0000000000ULL | \\ + ((uint64_t)(x) << 8) & 0x000000ff00000000ULL | \\ + ((x) >> 8) & 0x00000000ff000000ULL | \\ + ((x) >> 24) & 0x0000000000ff0000ULL | \\ + ((x) >> 40) & 0x000000000000ff00ULL | \\ + ((x) >> 56) & 0x00000000000000ffULL)) +EOF + fi +fi +rm -f conftest* +fi +rm -f conftest* +fi +rm -f conftest* -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } +rm -f conftest* + + -if test x"$lt_cv_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= fi +rm -f conftest* +if test "$HAVE_LE32TOH" != "1"; then + cat >> "$ac_byteorder" << EOF +/* The byte swapping macros have the form: */ +/* EENN[a]toh or htoEENN[a] where EE is be (big endian) or */ +/* le (little-endian), NN is 16 or 32 (number of bits) and a, */ +/* if present, indicates that the endian side is a pointer to an */ +/* array of uint8_t bytes instead of an integer of the specified length. */ +/* h refers to the host's ordering method. */ +/* So, to convert a 32-bit integer stored in a buffer in little-endian */ +/* format into a uint32_t usable on this machine, you could use: */ +/* uint32_t value = le32atoh(&buf[3]); */ +/* To put that value back into the buffer, you could use: */ +/* htole32a(&buf[3], value); */ +/* Define aliases for the standard byte swapping macros */ +/* Arguments to these macros must be properly aligned on natural word */ +/* boundaries in order to work properly on all architectures */ +#ifndef htobe16 +#define htobe16(x) htons(x) +#endif +#ifndef htobe32 +#define htobe32(x) htonl(x) +#endif +#ifndef be16toh +#define be16toh(x) ntohs(x) +#endif +#ifndef be32toh +#define be32toh(x) ntohl(x) +#endif - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext +#define HTOBE16(x) (x) = htobe16(x) +#define HTOBE32(x) (x) = htobe32(x) +#define BE32TOH(x) (x) = be32toh(x) +#define BE16TOH(x) (x) = be16toh(x) - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* +EOF -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + if test $ac_cv_c_bigendian = yes; then + cat >> "$ac_byteorder" << EOF +/* Define our own extended byte swapping macros for big-endian machines */ +#ifndef htole16 +#define htole16(x) swap16(x) +#endif +#ifndef htole32 +#define htole32(x) swap32(x) +#endif +#ifndef le16toh +#define le16toh(x) swap16(x) +#endif +#ifndef le32toh +#define le32toh(x) swap32(x) +#endif +#ifndef htobe64 +#define htobe64(x) (x) +#endif +#ifndef be64toh +#define be64toh(x) (x) +#endif +#define HTOLE16(x) (x) = htole16(x) +#define HTOLE32(x) (x) = htole32(x) +#define LE16TOH(x) (x) = le16toh(x) +#define LE32TOH(x) (x) = le32toh(x) +#define HTOBE64(x) (void) (x) +#define BE64TOH(x) (void) (x) +EOF + else + cat >> "$ac_byteorder" << EOF +/* On little endian machines, these macros are null */ +#ifndef htole16 +#define htole16(x) (x) +#endif +#ifndef htole32 +#define htole32(x) (x) +#endif +#ifndef htole64 +#define htole64(x) (x) +#endif +#ifndef le16toh +#define le16toh(x) (x) +#endif +#ifndef le32toh +#define le32toh(x) (x) +#endif +#ifndef le64toh +#define le64toh(x) (x) +#endif +#define HTOLE16(x) (void) (x) +#define HTOLE32(x) (void) (x) +#define HTOLE64(x) (void) (x) +#define LE16TOH(x) (void) (x) +#define LE32TOH(x) (void) (x) +#define LE64TOH(x) (void) (x) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext +/* These don't have standard aliases */ +#ifndef htobe64 +#define htobe64(x) swap64(x) +#endif +#ifndef be64toh +#define be64toh(x) swap64(x) +#endif - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* +#define HTOBE64(x) (x) = htobe64(x) +#define BE64TOH(x) (x) = be64toh(x) +EOF + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } +cat >> "$ac_byteorder" << EOF +/* Define the C99 standard length-specific integer types */ +#include <_stdint.h> +EOF +case "${effective_target}" in + i[3456]86-*) + cat >> "$ac_byteorder" << EOF +/* Here are some macros to create integers from a byte array */ +/* These are used to get and put integers from/into a uint8_t array */ +/* with a specific endianness. This is the most portable way to generate */ +/* and read messages to a network or serial device. Each member of a */ +/* packet structure must be handled separately. */ -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi +/* The i386 and compatibles can handle unaligned memory access, */ +/* so use the optimized macros above to do this job */ +#define be16atoh(x) be16toh(*(uint16_t*)(x)) +#define be32atoh(x) be32toh(*(uint32_t*)(x)) +#define be64atoh(x) be64toh(*(uint64_t*)(x)) +#define le16atoh(x) le16toh(*(uint16_t*)(x)) +#define le32atoh(x) le32toh(*(uint32_t*)(x)) +#define le64atoh(x) le64toh(*(uint64_t*)(x)) +#define htobe16a(a,x) *(uint16_t*)(a) = htobe16(x) +#define htobe32a(a,x) *(uint32_t*)(a) = htobe32(x) +#define htobe64a(a,x) *(uint64_t*)(a) = htobe64(x) +#define htole16a(a,x) *(uint16_t*)(a) = htole16(x) +#define htole32a(a,x) *(uint32_t*)(a) = htole32(x) +#define htole64a(a,x) *(uint64_t*)(a) = htole64(x) +EOF + ;; + *) + cat >> "$ac_byteorder" << EOF +/* Here are some macros to create integers from a byte array */ +/* These are used to get and put integers from/into a uint8_t array */ +/* with a specific endianness. This is the most portable way to generate */ +/* and read messages to a network or serial device. Each member of a */ +/* packet structure must be handled separately. */ +/* Non-optimized but portable macros */ +#define be16atoh(x) ((uint16_t)(((x)[0]<<8)|(x)[1])) +#define be32atoh(x) ((uint32_t)(((x)[0]<<24)|((x)[1]<<16)|((x)[2]<<8)|(x)[3])) +#define be64atoh(x) ((uint64_t)(((x)[0]<<56)|((x)[1]<<48)|((x)[2]<<40)| \\ + ((x)[3]<<32)|((x)[4]<<24)|((x)[5]<<16)|((x)[6]<<8)|(x)[7])) +#define le16atoh(x) ((uint16_t)(((x)[1]<<8)|(x)[0])) +#define le32atoh(x) ((uint32_t)(((x)[3]<<24)|((x)[2]<<16)|((x)[1]<<8)|(x)[0])) +#define le64atoh(x) ((uint64_t)(((x)[7]<<56)|((x)[6]<<48)|((x)[5]<<40)| \\ + ((x)[4]<<32)|((x)[3]<<24)|((x)[2]<<16)|((x)[1]<<8)|(x)[0])) +#define htobe16a(a,x) (a)[0]=(uint8_t)((x)>>8), (a)[1]=(uint8_t)(x) +#define htobe32a(a,x) (a)[0]=(uint8_t)((x)>>24), (a)[1]=(uint8_t)((x)>>16), \\ + (a)[2]=(uint8_t)((x)>>8), (a)[3]=(uint8_t)(x) +#define htobe64a(a,x) (a)[0]=(uint8_t)((x)>>56), (a)[1]=(uint8_t)((x)>>48), \\ + (a)[2]=(uint8_t)((x)>>40), (a)[3]=(uint8_t)((x)>>32), \\ + (a)[4]=(uint8_t)((x)>>24), (a)[5]=(uint8_t)((x)>>16), \\ + (a)[6]=(uint8_t)((x)>>8), (a)[7]=(uint8_t)(x) +#define htole16a(a,x) (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x) +#define htole32a(a,x) (a)[3]=(uint8_t)((x)>>24), (a)[2]=(uint8_t)((x)>>16), \\ + (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x) +#define htole64a(a,x) (a)[7]=(uint8_t)((x)>>56), (a)[6]=(uint8_t)((x)>>48), \\ + (a)[5]=(uint8_t)((x)>>40), (a)[4]=(uint8_t)((x)>>32), \\ + (a)[3]=(uint8_t)((x)>>24), (a)[2]=(uint8_t)((x)>>16), \\ + (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } +EOF + ;; +esac - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac +cat >> "$ac_byteorder" << EOF +#endif /*__BYTEORDER_H*/ +EOF - ld_shlibs=yes +if cmp -s $ac_byteorder_h $ac_byteorder 2>/dev/null; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_byteorder_h is unchanged" >&5 +$as_echo "$as_me: $ac_byteorder_h is unchanged" >&6;} + rm $ac_byteorder +else + rm -f $ac_byteorder_h + mv $ac_byteorder $ac_byteorder_h +fi - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi +# ------ AX CREATE STDINT H ------------------------------------- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint types" >&5 +$as_echo_n "checking for stdint types... " >&6; } +ac_stdint_h=`echo include/_stdint.h` +# try to shortcircuit - if the default include path of the compiler +# can find a "stdint.h" header then we assume that all compilers can. +if ${ac_cv_header_stdint_t+:} false; then : + $as_echo_n "(cached) " >&6 +else - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' +old_CXXFLAGS="$CXXFLAGS" ; CXXFLAGS="" +old_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS="" +old_CFLAGS="$CFLAGS" ; CFLAGS="" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +int_least32_t v = 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_stdint_result="(assuming C99 compatible system)" + ac_cv_header_stdint_t="stdint.h"; +else + ac_cv_header_stdint_t="" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +if test "$GCC" = "yes" && test ".$ac_cv_header_stdint_t" = "."; then +CFLAGS="-std=c99" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +int_least32_t v = 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: your GCC compiler has a defunct stdint.h for its default-mode" >&5 +$as_echo "$as_me: WARNING: your GCC compiler has a defunct stdint.h for its default-mode" >&2;} +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +CXXFLAGS="$old_CXXFLAGS" +CPPFLAGS="$old_CPPFLAGS" +CFLAGS="$old_CFLAGS" +fi - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 +v="... $ac_cv_header_stdint_h" +if test "$ac_stdint_h" = "stdint.h" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (are you sure you want them in ./stdint.h?)" >&5 +$as_echo "(are you sure you want them in ./stdint.h?)" >&6; } +elif test "$ac_stdint_h" = "inttypes.h" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (are you sure you want them in ./inttypes.h?)" >&5 +$as_echo "(are you sure you want them in ./inttypes.h?)" >&6; } +elif test "_$ac_cv_header_stdint_t" = "_" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (putting them into $ac_stdint_h)$v" >&5 +$as_echo "(putting them into $ac_stdint_h)$v" >&6; } +else + ac_cv_header_stdint="$ac_cv_header_stdint_t" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint (shortcircuit)" >&5 +$as_echo "$ac_cv_header_stdint (shortcircuit)" >&6; } +fi -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. +if test "_$ac_cv_header_stdint_t" = "_" ; then # can not shortcircuit.. -_LT_EOF - fi - ;; - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; +inttype_headers=`echo | sed -e 's/,/ /g'` - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; +ac_cv_stdint_result="(no helpful system typedefs seen)" - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='${wl}--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uintptr_t" >&5 +$as_echo_n "checking for stdint uintptr_t... " >&6; } +if ${ac_cv_header_stdint_x+:} false; then : + $as_echo_n "(cached) " >&6 +else - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; + ac_cv_header_stdint_x="" # the 1997 typedefs (inttypes.h) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 +$as_echo "(..)" >&6; } + for i in stdint.h inttypes.h sys/inttypes.h $inttype_headers + do + unset ac_cv_type_uintptr_t + unset ac_cv_type_uint64_t + ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <$i> +" +if test "x$ac_cv_type_uintptr_t" = xyes; then : + ac_cv_header_stdint_x=$i +else + continue +fi - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; + ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include<$i> +" +if test "x$ac_cv_type_uint64_t" = xyes; then : + and64="/uint64_t" +else + and64="" +fi - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; + stdint.h inttypes.h sys/inttypes.h $inttype_headers + break + done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uintptr_t" >&5 +$as_echo_n "checking for stdint uintptr_t... " >&6; } - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_x" >&5 +$as_echo "$ac_cv_header_stdint_x" >&6; } - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; +if test "_$ac_cv_header_stdint_x" = "_" ; then - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uint32_t" >&5 +$as_echo_n "checking for stdint uint32_t... " >&6; } +if ${ac_cv_header_stdint_o+:} false; then : + $as_echo_n "(cached) " >&6 +else - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 + ac_cv_header_stdint_o="" # the 1995 typedefs (sys/inttypes.h) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 +$as_echo "(..)" >&6; } + for i in inttypes.h sys/inttypes.h stdint.h $inttype_headers + do + unset ac_cv_type_uint32_t + unset ac_cv_type_uint64_t + ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "#include <$i> +" +if test "x$ac_cv_type_uint32_t" = xyes; then : + ac_cv_header_stdint_o=$i +else + continue +fi -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. + ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include<$i> +" +if test "x$ac_cv_type_uint64_t" = xyes; then : + and64="/uint64_t" +else + and64="" +fi -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; + inttypes.h sys/inttypes.h stdint.h $inttype_headers + break + break; + done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uint32_t" >&5 +$as_echo_n "checking for stdint uint32_t... " >&6; } - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_o" >&5 +$as_echo "$ac_cv_header_stdint_o" >&6; } -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; +fi - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac +if test "_$ac_cv_header_stdint_x" = "_" ; then +if test "_$ac_cv_header_stdint_o" = "_" ; then - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint u_int32_t" >&5 +$as_echo_n "checking for stdint u_int32_t... " >&6; } +if ${ac_cv_header_stdint_u+:} false; then : + $as_echo_n "(cached) " >&6 +else - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no + ac_cv_header_stdint_u="" # the BSD typedefs (sys/types.h) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 +$as_echo "(..)" >&6; } + for i in sys/types.h inttypes.h sys/inttypes.h $inttype_headers ; do + unset ac_cv_type_u_int32_t + unset ac_cv_type_u_int64_t + ac_fn_c_check_type "$LINENO" "u_int32_t" "ac_cv_type_u_int32_t" "#include <$i> +" +if test "x$ac_cv_type_u_int32_t" = xyes; then : + ac_cv_header_stdint_u=$i +else + continue +fi - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac + ac_fn_c_check_type "$LINENO" "u_int64_t" "ac_cv_type_u_int64_t" "#include<$i> +" +if test "x$ac_cv_type_u_int64_t" = xyes; then : + and64="/u_int64_t" +else + and64="" +fi - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi + sys/types.h inttypes.h sys/inttypes.h $inttype_headers + break + break; + done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint u_int32_t" >&5 +$as_echo_n "checking for stdint u_int32_t... " >&6; } - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_u" >&5 +$as_echo "$ac_cv_header_stdint_u" >&6; } - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='${wl}-f,' +fi fi - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi +if test "_$ac_cv_header_stdint_x" = "_" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint datatype model" >&5 +$as_echo_n "checking for stdint datatype model... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 +$as_echo "(..)" >&6; } - export_dynamic_flag_spec='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5 +$as_echo_n "checking size of char... " >&6; } +if ${ac_cv_sizeof_char+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then : - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi +else + if test "$ac_cv_type_char" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (char) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_char=0 + fi fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5 +$as_echo "$ac_cv_sizeof_char" >&6; } - aix_libpath=$lt_cv_aix_libpath_ -fi - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_CHAR $ac_cv_sizeof_char +_ACEOF + + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 +$as_echo_n "checking size of short... " >&6; } +if ${ac_cv_sizeof_short+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : -int -main () -{ +else + if test "$ac_cv_type_short" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (short) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_short=0 + fi +fi - ; - return 0; -} +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 +$as_echo "$ac_cv_sizeof_short" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_SHORT $ac_cv_sizeof_short _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 +$as_echo_n "checking size of int... " >&6; } +if ${ac_cv_sizeof_int+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_int" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (int) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_int=0 + fi fi - aix_libpath=$lt_cv_aix_libpath_ fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +$as_echo "$ac_cv_sizeof_int" >&6; } - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; +cat >>confdefs.h <<_ACEOF +#define SIZEOF_INT $ac_cv_sizeof_int +_ACEOF - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - darwin* | rhapsody*) + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if ${ac_cv_sizeof_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : +else + if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi +fi - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - else - ld_shlibs=no - fi - ;; +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void*" >&5 +$as_echo_n "checking size of void*... " >&6; } +if ${ac_cv_sizeof_voidp+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void*))" "ac_cv_sizeof_voidp" "$ac_includes_default"; then : - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; +else + if test "$ac_cv_type_voidp" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (void*) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_voidp=0 + fi +fi - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_voidp" >&5 +$as_echo "$ac_cv_sizeof_voidp" >&6; } - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; +cat >>confdefs.h <<_ACEOF +#define SIZEOF_VOIDP $ac_cv_sizeof_voidp +_ACEOF - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" + ac_cv_char_data_model="" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_char" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_short" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_long" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_voidp" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking data model" >&5 +$as_echo_n "checking data model... " >&6; } + case "$ac_cv_char_data_model/$ac_cv_long_data_model" in + 122/242) ac_cv_data_model="IP16" ; n="standard 16bit machine" ;; + 122/244) ac_cv_data_model="LP32" ; n="standard 32bit machine" ;; + 122/*) ac_cv_data_model="i16" ; n="unusual int16 model" ;; + 124/444) ac_cv_data_model="ILP32" ; n="standard 32bit unixish" ;; + 124/488) ac_cv_data_model="LP64" ; n="standard 64bit unixish" ;; + 124/448) ac_cv_data_model="LLP64" ; n="unusual 64bit unixish" ;; + 124/*) ac_cv_data_model="i32" ; n="unusual int32 model" ;; + 128/888) ac_cv_data_model="ILP64" ; n="unusual 64bit numeric" ;; + 128/*) ac_cv_data_model="i64" ; n="unusual int64 model" ;; + 222/*2) ac_cv_data_model="DSP16" ; n="strict 16bit dsptype" ;; + 333/*3) ac_cv_data_model="DSP24" ; n="strict 24bit dsptype" ;; + 444/*4) ac_cv_data_model="DSP32" ; n="strict 32bit dsptype" ;; + 666/*6) ac_cv_data_model="DSP48" ; n="strict 48bit dsptype" ;; + 888/*8) ac_cv_data_model="DSP64" ; n="strict 64bit dsptype" ;; + 222/*|333/*|444/*|666/*|888/*) : + ac_cv_data_model="iDSP" ; n="unusual dsptype" ;; + *) ac_cv_data_model="none" ; n="very unusual model" ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_data_model ($ac_cv_long_data_model, $n)" >&5 +$as_echo "$ac_cv_data_model ($ac_cv_long_data_model, $n)" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } -if test x"$lt_cv_prog_compiler__b" = xyes; then - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_x" +elif test "_$ac_cv_header_stdint_o" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_o" +elif test "_$ac_cv_header_stdint_u" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_u" else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ac_cv_header_stdint="stddef.h" fi - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra inttypes in chosen header" >&5 +$as_echo_n "checking for extra inttypes in chosen header... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ($ac_cv_header_stdint)" >&5 +$as_echo "($ac_cv_header_stdint)" >&6; } +unset ac_cv_type_int_least32_t +unset ac_cv_type_int_fast32_t +ac_fn_c_check_type "$LINENO" "int_least32_t" "ac_cv_type_int_least32_t" "#include <$ac_cv_header_stdint> +" +if test "x$ac_cv_type_int_least32_t" = xyes; then : - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' +fi - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; +ac_fn_c_check_type "$LINENO" "int_fast32_t" "ac_cv_type_int_fast32_t" "#include<$ac_cv_header_stdint> +" +if test "x$ac_cv_type_int_fast32_t" = xyes; then : - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" + +ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "#include <$ac_cv_header_stdint> +" +if test "x$ac_cv_type_intmax_t" = xyes; then : + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test "$lt_cv_irix_exported_symbol" = yes; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; +fi # shortcircut to system "stdint.h" +# ------------------ PREPARE VARIABLES ------------------------------ +if test "$GCC" = "yes" ; then +ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1` +else +ac_cv_stdint_message="using $CC" +fi - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&5 +$as_echo "make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&6; } - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; +# ----------------- DONE inttypes.h checks START header ------------- +ac_config_commands="$ac_config_commands $ac_stdint_h" - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; +# Check whether --enable-dynamic was given. +if test "${enable_dynamic+set}" = set; then : + enableval=$enable_dynamic; enable_dynamic=$enableval +else + enable_dynamic=auto +fi - solaris*) - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; + DL_LIBS="" + if test "${enable_dynamic}" = "auto"; then + # default to disabled unless library found. + enable_dynamic=no + # dlopen + for ac_header in dlfcn.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 1 +_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + DL_LIBS=-ldl +fi - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; + saved_LIBS="${LIBS}" + LIBS="${LIBS} ${DL_LIBS}" + for ac_func in dlopen +do : + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLOPEN 1 +_ACEOF + enable_dynamic=yes +fi +done - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; + LIBS="${saved_LIBS}" - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' +fi - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; +done - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac + # HP/UX DLL handling + for ac_header in dl.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "dl.h" "ac_cv_header_dl_h" "$ac_includes_default" +if test "x$ac_cv_header_dl_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DL_H 1 +_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' - ;; - esac - fi - fi +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + DL_LIBS=-ldld +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no + saved_LIBS="${LIBS}" + LIBS="${LIBS} ${DL_LIBS}" + for ac_func in shl_load +do : + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SHL_LOAD 1 +_ACEOF + enable_dynamic=yes +fi +done -with_gnu_ld=$with_gnu_ld + LIBS="${saved_LIBS}" +fi +done + if test -z "$DL_LIBS" ; then + # old Mac OS X/Darwin (without dlopen) + for ac_header in mach-o/dyld.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "mach-o/dyld.h" "ac_cv_header_mach_o_dyld_h" "$ac_includes_default" +if test "x$ac_cv_header_mach_o_dyld_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_MACH_O_DYLD_H 1 +_ACEOF + for ac_func in NSLinkModule +do : + ac_fn_c_check_func "$LINENO" "NSLinkModule" "ac_cv_func_NSLinkModule" +if test "x$ac_cv_func_NSLinkModule" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_NSLINKMODULE 1 +_ACEOF + enable_dynamic=yes +fi +done +fi +done + fi + fi + DYNAMIC_FLAG= + if test "${enable_dynamic}" = yes ; then + DYNAMIC_FLAG=-module + fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrt in -lm" >&5 +$as_echo_n "checking for sqrt in -lm... " >&6; } +if ${ac_cv_lib_m_sqrt+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqrt (); +int +main () +{ +return sqrt (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_m_sqrt=yes +else + ac_cv_lib_m_sqrt=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sqrt" >&5 +$as_echo "$ac_cv_lib_m_sqrt" >&6; } +if test "x$ac_cv_lib_m_sqrt" = xyes; then : + MATH_LIB="-lm" +fi +case ${host_os} in + os2*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sylog in -lsyslog" >&5 +$as_echo_n "checking for sylog in -lsyslog... " >&6; } +if ${ac_cv_lib_syslog_sylog+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsyslog $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sylog (); +int +main () +{ +return sylog (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_syslog_sylog=yes +else + ac_cv_lib_syslog_sylog=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_syslog_sylog" >&5 +$as_echo "$ac_cv_lib_syslog_sylog" >&6; } +if test "x$ac_cv_lib_syslog_sylog" = xyes; then : + SYSLOG_LIBS="-lsyslog" +fi - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : + ;; + beos*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syslog in -lbe" >&5 +$as_echo_n "checking for syslog in -lbe... " >&6; } +if ${ac_cv_lib_be_syslog+:} false; then : $as_echo_n "(cached) " >&6 else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbe $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char syslog (); +int +main () +{ +return syslog (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_be_syslog=yes +else + ac_cv_lib_be_syslog=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_be_syslog" >&5 +$as_echo "$ac_cv_lib_be_syslog" >&6; } +if test "x$ac_cv_lib_be_syslog" = xyes; then : + SYSLOG_LIBS="-lbe" +fi + ;; esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_start_decompress in -ljpeg" >&5 +$as_echo_n "checking for jpeg_start_decompress in -ljpeg... " >&6; } +if ${ac_cv_lib_jpeg_jpeg_start_decompress+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ljpeg $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char jpeg_start_decompress (); +int +main () +{ +return jpeg_start_decompress (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_jpeg_jpeg_start_decompress=yes +else + ac_cv_lib_jpeg_jpeg_start_decompress=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_start_decompress" >&5 +$as_echo "$ac_cv_lib_jpeg_jpeg_start_decompress" >&6; } +if test "x$ac_cv_lib_jpeg_jpeg_start_decompress" = xyes; then : + ac_fn_c_check_header_mongrel "$LINENO" "jconfig.h" "ac_cv_header_jconfig_h" "$ac_includes_default" +if test "x$ac_cv_header_jconfig_h" = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeglib - version >= 61 (6a)" >&5 +$as_echo_n "checking for jpeglib - version >= 61 (6a)... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + #include + #if JPEG_LIB_VERSION >= 61 + sane_correct_jpeg_lib_version_found + #endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "sane_correct_jpeg_lib_version_found" >/dev/null 2>&1; then : + sane_cv_use_libjpeg="yes"; JPEG_LIBS="-ljpeg"; + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f conftest* +fi +fi + if test "$sane_cv_use_libjpeg" = "yes" ; then +$as_echo "#define HAVE_LIBJPEG 1" >>confdefs.h + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIFFFdOpen in -ltiff" >&5 +$as_echo_n "checking for TIFFFdOpen in -ltiff... " >&6; } +if ${ac_cv_lib_tiff_TIFFFdOpen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltiff $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char TIFFFdOpen (); +int +main () +{ +return TIFFFdOpen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_tiff_TIFFFdOpen=yes +else + ac_cv_lib_tiff_TIFFFdOpen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tiff_TIFFFdOpen" >&5 +$as_echo "$ac_cv_lib_tiff_TIFFFdOpen" >&6; } +if test "x$ac_cv_lib_tiff_TIFFFdOpen" = xyes; then : + ac_fn_c_check_header_mongrel "$LINENO" "tiffio.h" "ac_cv_header_tiffio_h" "$ac_includes_default" +if test "x$ac_cv_header_tiffio_h" = xyes; then : + sane_cv_use_libtiff="yes"; TIFF_LIBS="-ltiff" +fi +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for png_init_io in -lpng" >&5 +$as_echo_n "checking for png_init_io in -lpng... " >&6; } +if ${ac_cv_lib_png_png_init_io+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpng $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char png_init_io (); +int +main () +{ +return png_init_io (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_png_png_init_io=yes +else + ac_cv_lib_png_png_init_io=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_png_png_init_io" >&5 +$as_echo "$ac_cv_lib_png_png_init_io" >&6; } +if test "x$ac_cv_lib_png_png_init_io" = xyes; then : + ac_fn_c_check_header_mongrel "$LINENO" "png.h" "ac_cv_header_png_h" "$ac_includes_default" +if test "x$ac_cv_header_png_h" = xyes; then : + sane_cv_use_libpng="yes"; PNG_LIBS="-lpng" +fi +fi + if test "$sane_cv_use_libpng" = "yes" ; then +$as_echo "#define HAVE_LIBPNG 1" >>confdefs.h + fi + ac_fn_c_check_header_mongrel "$LINENO" "ieee1284.h" "ac_cv_header_ieee1284_h" "$ac_includes_default" +if test "x$ac_cv_header_ieee1284_h" = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libieee1284 >= 0.1.5" >&5 +$as_echo_n "checking for libieee1284 >= 0.1.5... " >&6; } +if ${sane_cv_use_libieee1284+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ + struct parport p; char *buf; + ieee1284_nibble_read(&p, 0, buf, 1); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + sane_cv_use_libieee1284="yes"; IEEE1284_LIBS="-lieee1284" +else + sane_cv_use_libieee1284="no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sane_cv_use_libieee1284" >&5 +$as_echo "$sane_cv_use_libieee1284" >&6; } +fi + if test "$sane_cv_use_libieee1284" = "yes" ; then +$as_echo "#define HAVE_LIBIEEE1284 1" >>confdefs.h + fi + case "${host_os}" in + linux* | darwin* | mingw*) # enabled by default on Linux, MacOS X and MINGW + use_pthread=yes + ;; + *) + use_pthread=no + esac + have_pthread=no + # + # now that we have the systems preferences, we check + # the user + # Check whether --enable-pthread was given. +if test "${enable_pthread+set}" = set; then : + enableval=$enable_pthread; + if test $enableval = yes ; then + use_pthread=yes + else + use_pthread=no + fi +fi + if test $use_pthread = yes ; then + for ac_header in pthread.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" +if test "x$ac_cv_header_pthread_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_PTHREAD_H 1 +_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 +$as_echo_n "checking for pthread_create in -lpthread... " >&6; } +if ${ac_cv_lib_pthread_pthread_create+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpthread $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_create (); +int +main () +{ +return pthread_create (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_pthread_pthread_create=yes +else + ac_cv_lib_pthread_pthread_create=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5 +$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } +if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then : + PTHREAD_LIBS="-lpthread" +fi + have_pthread=yes + save_LIBS="$LIBS" + LIBS="$LIBS $PTHREAD_LIBS" + for ac_func in pthread_create pthread_kill pthread_join pthread_detach pthread_cancel pthread_testcancel +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF +else + have_pthread=no; use_pthread=no +fi +done + LIBS="$save_LIBS" +else + have_pthread=no; use_pthread=no +fi +done + fi + if test $use_pthread = yes ; then +cat >>confdefs.h <<_ACEOF +#define USE_PTHREAD "$use_pthread" +_ACEOF + else + PTHREAD_LIBS="" + fi + if test "$have_pthread" = "yes" ; then + AM_CPPFLAGS="${AM_CPPFLAGS} -D_REENTRANT" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable pthread support" >&5 +$as_echo_n "checking whether to enable pthread support... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_pthread" >&5 +$as_echo "$have_pthread" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use pthread instead of fork" >&5 +$as_echo_n "checking whether to use pthread instead of fork... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_pthread" >&5 +$as_echo "$use_pthread" >&6; } + LOCKPATH_GROUP=uucp + use_locking=yes + case "${host_os}" in + os2* ) + use_locking=no + ;; + esac + # + # we check the user + # Check whether --enable-locking was given. +if test "${enable_locking+set}" = set; then : + enableval=$enable_locking; + if test $enableval = yes ; then + use_locking=yes + else + use_locking=no + fi +fi + if test $use_locking = yes ; then +# Check whether --with-group was given. +if test "${with_group+set}" = set; then : + withval=$with_group; LOCKPATH_GROUP="$withval" +fi + # check if the group does exist + lasterror="" + touch sanetest.file + chgrp $LOCKPATH_GROUP sanetest.file 2>/dev/null || lasterror=$? + rm -f sanetest.file + if test ! -z "$lasterror"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Group $LOCKPATH_GROUP does not exist on this system." >&5 +$as_echo "$as_me: WARNING: Group $LOCKPATH_GROUP does not exist on this system." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Locking feature will be disabled." >&5 +$as_echo "$as_me: WARNING: Locking feature will be disabled." >&2;} + use_locking=no + fi + fi + if test $use_locking = yes ; then + INSTALL_LOCKPATH=install-lockpath +$as_echo "#define ENABLE_LOCKING 1" >>confdefs.h + else + INSTALL_LOCKPATH= + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable device locking" >&5 +$as_echo_n "checking whether to enable device locking... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_locking" >&5 +$as_echo "$use_locking" >&6; } + if test $use_locking = yes ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Setting lockdir group to $LOCKPATH_GROUP" >&5 +$as_echo "$as_me: Setting lockdir group to $LOCKPATH_GROUP" >&6;} + fi +# Check whether --with-gphoto2 was given. +if test "${with_gphoto2+set}" = set; then : + withval=$with_gphoto2; # If --with-gphoto2=no or --without-gphoto2, disable backend + # as "$with_gphoto2" will be set to "no" +fi + # If --with-gphoto2=yes (or not supplied), first check if + # pkg-config exists, then use it to check if libgphoto2 is + # present. If all that works, then see if we can actually link + # a program. And, if that works, then add the -l flags to + # GPHOTO2_LIBS and any other flags to GPHOTO2_LDFLAGS to pass to + # sane-config. + if test "$with_gphoto2" != "no" ; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_HAVE_GPHOTO2+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$HAVE_GPHOTO2"; then + ac_cv_prog_HAVE_GPHOTO2="$HAVE_GPHOTO2" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_HAVE_GPHOTO2="${ac_tool_prefix}pkg-config" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +HAVE_GPHOTO2=$ac_cv_prog_HAVE_GPHOTO2 +if test -n "$HAVE_GPHOTO2"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_GPHOTO2" >&5 +$as_echo "$HAVE_GPHOTO2" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +fi +if test -z "$ac_cv_prog_HAVE_GPHOTO2"; then + ac_ct_HAVE_GPHOTO2=$HAVE_GPHOTO2 + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_HAVE_GPHOTO2+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_HAVE_GPHOTO2"; then + ac_cv_prog_ac_ct_HAVE_GPHOTO2="$ac_ct_HAVE_GPHOTO2" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_HAVE_GPHOTO2="pkg-config" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +ac_ct_HAVE_GPHOTO2=$ac_cv_prog_ac_ct_HAVE_GPHOTO2 +if test -n "$ac_ct_HAVE_GPHOTO2"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_HAVE_GPHOTO2" >&5 +$as_echo "$ac_ct_HAVE_GPHOTO2" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "x$ac_ct_HAVE_GPHOTO2" = x; then + HAVE_GPHOTO2="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + HAVE_GPHOTO2=$ac_ct_HAVE_GPHOTO2 + fi +else + HAVE_GPHOTO2="$ac_cv_prog_HAVE_GPHOTO2" +fi + if test ${HAVE_GPHOTO2} != "false" ; then + if pkg-config --exists libgphoto2 ; then + with_gphoto2="`pkg-config --modversion libgphoto2`" + GPHOTO2_CPPFLAGS="`pkg-config --cflags libgphoto2`" + GPHOTO2_LIBS="`pkg-config --libs libgphoto2`" + saved_CPPFLAGS="${CPPFLAGS}" + CPPFLAGS="${GPHOTO2_CPPFLAGS}" + saved_LIBS="${LIBS}" + LIBS="${LIBS} ${GPHOTO2_LIBS}" + # Make sure we an really use the library + for ac_func in gp_camera_init +do : + ac_fn_c_check_func "$LINENO" "gp_camera_init" "ac_cv_func_gp_camera_init" +if test "x$ac_cv_func_gp_camera_init" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GP_CAMERA_INIT 1 +_ACEOF + HAVE_GPHOTO2=true +else + HAVE_GPHOTO2=false +fi +done + if test "${HAVE_GPHOTO2}" = "true"; then + for ac_func in gp_port_info_get_path +do : + ac_fn_c_check_func "$LINENO" "gp_port_info_get_path" "ac_cv_func_gp_port_info_get_path" +if test "x$ac_cv_func_gp_port_info_get_path" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GP_PORT_INFO_GET_PATH 1 +_ACEOF +fi +done + fi + CPPFLAGS="${saved_CPPFLAGS}" + LIBS="${saved_LIBS}" + else + HAVE_GPHOTO2=false + fi + if test "${HAVE_GPHOTO2}" = "false"; then + GPHOTO2_CPPFLAGS="" + GPHOTO2_LIBS="" + else + tmp_LIBS="" + for param in ${GPHOTO2_LIBS}; do + case "${param}" in + -l*) + tmp_LIBS="${tmp_LIBS} ${param}" + ;; + *) + GPHOTO2_LDFLAGS="${GPHOTO2_LDFLAGS} ${param}" + ;; + esac + done + GPHOTO2_LIBS="${tmp_LIBS}" + unset tmp_LIBS + unset param + if pkg-config --atleast-version=2.5.0 libgphoto2; then +$as_echo "#define GPLOGFUNC_NO_VARGS 1" >>confdefs.h + fi + fi + fi + fi @@ -16462,3791 +17257,4645 @@ esac +# Check whether --with-v4l was given. +if test "${with_v4l+set}" = set; then : + withval=$with_v4l; # If --with-v4l=no or --without-v4l, disable backend + # as "$with_v4l" will be set to "no" +fi +if test "$with_v4l" != "no" ; then +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBV4L" >&5 +$as_echo_n "checking for LIBV4L... " >&6; } +if test -n "$LIBV4L_CFLAGS"; then + pkg_cv_LIBV4L_CFLAGS="$LIBV4L_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libv4l1\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libv4l1") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBV4L_CFLAGS=`$PKG_CONFIG --cflags "libv4l1" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$LIBV4L_LIBS"; then + pkg_cv_LIBV4L_LIBS="$LIBV4L_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libv4l1\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libv4l1") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBV4L_LIBS=`$PKG_CONFIG --libs "libv4l1" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBV4L_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libv4l1" 2>&1` + else + LIBV4L_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libv4l1" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBV4L_PKG_ERRORS" >&5 + have_libv4l1=no +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + have_libv4l1=no +else + LIBV4L_CFLAGS=$pkg_cv_LIBV4L_CFLAGS + LIBV4L_LIBS=$pkg_cv_LIBV4L_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_libv4l1=yes +fi +fi +# Check whether --enable-avahi was given. +if test "${enable_avahi+set}" = set; then : + enableval=$enable_avahi; enable_avahi=$enableval +else + enable_avahi=no +fi +if test "$enable_avahi" = "yes"; then +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVAHI" >&5 +$as_echo_n "checking for AVAHI... " >&6; } +if test -n "$AVAHI_CFLAGS"; then + pkg_cv_AVAHI_CFLAGS="$AVAHI_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" avahi-client >= 0.6.24 \""; } >&5 + ($PKG_CONFIG --exists --print-errors " avahi-client >= 0.6.24 ") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AVAHI_CFLAGS=`$PKG_CONFIG --cflags " avahi-client >= 0.6.24 " 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$AVAHI_LIBS"; then + pkg_cv_AVAHI_LIBS="$AVAHI_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" avahi-client >= 0.6.24 \""; } >&5 + ($PKG_CONFIG --exists --print-errors " avahi-client >= 0.6.24 ") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_AVAHI_LIBS=`$PKG_CONFIG --libs " avahi-client >= 0.6.24 " 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + AVAHI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " avahi-client >= 0.6.24 " 2>&1` + else + AVAHI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " avahi-client >= 0.6.24 " 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$AVAHI_PKG_ERRORS" >&5 + enable_avahi=no +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + enable_avahi=no +else + AVAHI_CFLAGS=$pkg_cv_AVAHI_CFLAGS + AVAHI_LIBS=$pkg_cv_AVAHI_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +$as_echo "#define WITH_AVAHI 1" >>confdefs.h +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sane_init in -lsane" >&5 +$as_echo_n "checking for sane_init in -lsane... " >&6; } +if ${ac_cv_lib_sane_sane_init+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsane $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sane_init (); +int +main () +{ +return sane_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_sane_sane_init=yes +else + ac_cv_lib_sane_sane_init=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sane_sane_init" >&5 +$as_echo "$ac_cv_lib_sane_sane_init" >&6; } +if test "x$ac_cv_lib_sane_sane_init" = xyes; then : + LIBSANE_EXISTS="yes" +fi +# Check whether --with-snmp was given. +if test "${with_snmp+set}" = set; then : + withval=$with_snmp; +fi +if test "$with_snmp" = "no"; then + echo "Not including SNMP support" +else + # Extract the first word of "net-snmp-config", so it can be a program name with args. +set dummy net-snmp-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_SNMP_CONFIG_PATH+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $SNMP_CONFIG_PATH in + [\\/]* | ?:[\\/]*) + ac_cv_path_SNMP_CONFIG_PATH="$SNMP_CONFIG_PATH" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_SNMP_CONFIG_PATH="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + test -z "$ac_cv_path_SNMP_CONFIG_PATH" && ac_cv_path_SNMP_CONFIG_PATH=""no"" + ;; +esac +fi +SNMP_CONFIG_PATH=$ac_cv_path_SNMP_CONFIG_PATH +if test -n "$SNMP_CONFIG_PATH"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SNMP_CONFIG_PATH" >&5 +$as_echo "$SNMP_CONFIG_PATH" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for snmp_timeout in -lnetsnmp" >&5 +$as_echo_n "checking for snmp_timeout in -lnetsnmp... " >&6; } +if ${ac_cv_lib_netsnmp_snmp_timeout+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lnetsnmp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([A-Za-z]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char snmp_timeout (); +int +main () +{ +return snmp_timeout (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_netsnmp_snmp_timeout=yes else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + ac_cv_lib_netsnmp_snmp_timeout=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_netsnmp_snmp_timeout" >&5 +$as_echo "$ac_cv_lib_netsnmp_snmp_timeout" >&6; } +if test "x$ac_cv_lib_netsnmp_snmp_timeout" = xyes; then : + LIBSNMP_EXISTS="yes" fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for proper SNMP version" >&5 +$as_echo_n "checking for proper SNMP version... " >&6; } + if test "$SNMP_CONFIG_PATH" != "no" ; then + snmp_version=`$SNMP_CONFIG_PATH --version 2>/dev/null` + vers=`echo $snmp_version | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2);}'` + if test -n "$vers" && test "$vers" -ge 5006; then + SNMP_LIBS=`$SNMP_CONFIG_PATH --libs` + SNMP_CFLAGS=`$SNMP_CONFIG_PATH --cflags` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + with_snmp="yes" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You need at least net-snmp 5.6, your version is $snmp_version" >&5 +$as_echo "$as_me: WARNING: You need at least net-snmp 5.6, your version is $snmp_version" >&2;} + with_snmp="no" + fi + else + with_snmp="no" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi +fi -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH +if test "$with_snmp" = "yes" && test "${LIBSNMP_EXISTS}x" = "yesx"; then - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; +$as_echo "#define HAVE_LIBSNMP 1" >>confdefs.h -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; +else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: net-snmp library disabled, autodetecting network scanners will not be supported." >&5 +$as_echo "$as_me: WARNING: net-snmp library disabled, autodetecting network scanners will not be supported." >&2;} +fi -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' +int +main () +{ - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +else + ac_cv_header_stdc=no +fi +rm -f conftest* - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; +fi -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : -gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; +else + ac_cv_header_stdc=no +fi +rm -f conftest* -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; +fi -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no +$as_echo "#define STDC_HEADERS 1" >>confdefs.h - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : +fi + +for ac_header in fcntl.h unistd.h libc.h sys/dsreq.h sys/select.h \ + sys/time.h sys/shm.h sys/ipc.h sys/signal.h sys/scanio.h os2.h \ + sys/socket.h sys/io.h sys/hw.h sys/types.h linux/ppdev.h \ + dev/ppbus/ppi.h machine/cpufunc.h sys/sem.h sys/poll.h \ + windows.h be/kernel/OS.h limits.h sys/ioctl.h asm/types.h\ + netinet/in.h tiffio.h ifaddrs.h pwd.h getopt.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in asm/io.h +do : + ac_fn_c_check_header_compile "$LINENO" "asm/io.h" "ac_cv_header_asm_io_h" "#include +" +if test "x$ac_cv_header_asm_io_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ASM_IO_H 1 +_ACEOF + +fi + +done + + + + MISSING_HEADERS= + if test "${ac_cv_header_fcntl_h}" != "yes" ; then + MISSING_HEADERS="${MISSING_HEADERS}\"fcntl.h\" " + fi + if test "${ac_cv_header_sys_time_h}" != "yes" ; then + MISSING_HEADERS="${MISSING_HEADERS}\"sys/time.h\" " + fi + if test "${ac_cv_header_unistd_h}" != "yes" ; then + MISSING_HEADERS="${MISSING_HEADERS}\"unistd.h\" " + fi + if test "${ac_cv_header_stdc}" != "yes" ; then + MISSING_HEADERS="${MISSING_HEADERS}\"ANSI C headers\" " + fi + if test "${MISSING_HEADERS}" != "" ; then + echo "*** The following essential header files couldn't be found:" + echo "*** ${MISSING_HEADERS}" + echo "*** Maybe the compiler isn't ANSI C compliant or not properly installed?" + echo "*** For details on what went wrong see config.log." + as_fn_error $? "Exiting now." "$LINENO" 5 + fi + + +for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WINSOCK2_H 1 +_ACEOF + SOCKET_LIB="-lws2_32" +fi + +done + + +ac_fn_c_check_header_mongrel "$LINENO" "resmgr.h" "ac_cv_header_resmgr_h" "$ac_includes_default" +if test "x$ac_cv_header_resmgr_h" = xyes; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rsm_open_device in -lresmgr" >&5 +$as_echo_n "checking for rsm_open_device in -lresmgr... " >&6; } +if ${ac_cv_lib_resmgr_rsm_open_device+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-lresmgr $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char rsm_open_device (); int main () { - +return rsm_open_device (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi + ac_cv_lib_resmgr_rsm_open_device=yes +else + ac_cv_lib_resmgr_rsm_open_device=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resmgr_rsm_open_device" >&5 +$as_echo "$ac_cv_lib_resmgr_rsm_open_device" >&6; } +if test "x$ac_cv_lib_resmgr_rsm_open_device" = xyes; then : + + +$as_echo "#define HAVE_RESMGR 1" >>confdefs.h + + RESMGR_LIBS="-lresmgr" + fi - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes +fi - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; +else -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; +fi -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; +ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" +if test "x$ac_cv_type_pid_t" = xyes; then : -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no +else -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi +cat >>confdefs.h <<_ACEOF +#define pid_t int +_ACEOF -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi +ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" +if test "x$ac_cv_type_ssize_t" = xyes; then : +else +cat >>confdefs.h <<_ACEOF +#define ssize_t int +_ACEOF +fi +ac_fn_c_check_type "$LINENO" "u_char" "ac_cv_type_u_char" "$ac_includes_default" +if test "x$ac_cv_type_u_char" = xyes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_U_CHAR 1 +_ACEOF +fi +ac_fn_c_check_type "$LINENO" "u_short" "ac_cv_type_u_short" "$ac_includes_default" +if test "x$ac_cv_type_u_short" = xyes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_U_SHORT 1 +_ACEOF +fi +ac_fn_c_check_type "$LINENO" "u_int" "ac_cv_type_u_int" "$ac_includes_default" +if test "x$ac_cv_type_u_int" = xyes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_U_INT 1 +_ACEOF +fi +ac_fn_c_check_type "$LINENO" "u_long" "ac_cv_type_u_long" "$ac_includes_default" +if test "x$ac_cv_type_u_long" = xyes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_U_LONG 1 +_ACEOF +fi +# from Python, check for "long long" type +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long support" >&5 +$as_echo_n "checking for long long support... " >&6; } +have_long_long=no +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int +main () +{ +long long x; x = (long long)0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : +$as_echo "#define HAVE_LONG_LONG 1" >>confdefs.h + have_long_long=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_long_long" >&5 +$as_echo "$have_long_long" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t in " >&5 +$as_echo_n "checking for socklen_t in ... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi +int +main () +{ +socklen_t len + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; }; +$as_echo "#define socklen_t int" >>confdefs.h -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - - - - - if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for union semun in " >&5 +$as_echo_n "checking for union semun in ... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); +#include +#include +#include + int main () { -return dlopen (); +union semun test_semun ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; }; + +$as_echo "#define HAVE_UNION_SEMUN 1" >>confdefs.h + else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct flock in fcntl.h" >&5 +$as_echo_n "checking for struct flock in fcntl.h... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -fi +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "struct flock" >/dev/null 2>&1; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ; - ;; +$as_echo "#define HAVE_STRUCT_FLOCK 1" >>confdefs.h - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f conftest* + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux ioctl defines" >&5 +$as_echo_n "checking for Linux ioctl defines... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); +#include +#include + int main () { -return shl_load (); + +__u32 houba = _IOR('v',14, unsigned long); + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; }; +have_linux_ioctl_defines="yes"; else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); int main () { -return dlopen (); +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include + #include -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); int main () { -return dlopen (); +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes else - ac_cv_lib_svld_dlopen=no + ac_cv_c_bigendian=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); int main () { -return dld_link (); +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +#ifndef _BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + ac_cv_c_bigendian=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; - +int +main () +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_bigendian=no +else + ac_cv_c_bigendian=yes fi - - +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - + fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h +;; #( + no) + ;; #( + universal) +$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h -fi + ;; #( + *) + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + esac - ;; - esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +if ${ac_cv_c_const+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi +int +main () +{ - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" +#ifndef __cplusplus + /* Ultrix mips cc rejects this sort of thing. */ + typedef int charset[2]; + const charset cs = { 0, 0 }; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; + char const *s = 0 ? (char *) 0 : (char const *) 0; - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_const=yes +else + ac_cv_c_const=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : +$as_echo "#define const /**/" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +$as_echo_n "checking for inline... " >&6; } +if ${ac_cv_c_inline+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } #endif -#include +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_inline=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +$as_echo "$ac_cv_c_inline" >&6; } -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val #endif +_ACEOF + ;; +esac -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - return status; +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 +$as_echo_n "checking for working alloca.h... " >&6; } +if ${ac_cv_working_alloca_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +char *p = (char *) alloca (2 * sizeof (int)); + if (p) return 0; + ; + return 0; } -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_working_alloca_h=yes +else + ac_cv_working_alloca_h=no fi -rm -fr conftest* +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 +$as_echo "$ac_cv_working_alloca_h" >&6; } +if test $ac_cv_working_alloca_h = yes; then +$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 +$as_echo_n "checking for alloca... " >&6; } +if ${ac_cv_func_alloca_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __GNUC__ +# define alloca __builtin_alloca #else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# ifdef HAVE_ALLOCA_H +# include # else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +void *alloca (size_t); # endif +# endif # endif +# endif #endif -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () +int +main () { - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; +char *p = (char *) alloca (1); + if (p) return 0; + ; + return 0; } -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_func_alloca_works=yes +else + ac_cv_func_alloca_works=no fi -rm -fr conftest* +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 +$as_echo "$ac_cv_func_alloca_works" >&6; } +if test $ac_cv_func_alloca_works = yes; then -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi +$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac +else + # The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac +ALLOCA=\${LIBOBJDIR}alloca.$ac_objext - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi +$as_echo "#define C_ALLOCA 1" >>confdefs.h +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 +$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } +if ${ac_cv_os_cray+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined CRAY && ! defined CRAY2 +webecray +#else +wenotbecray +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "webecray" >/dev/null 2>&1; then : + ac_cv_os_cray=yes +else + ac_cv_os_cray=no +fi +rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 +$as_echo "$ac_cv_os_cray" >&6; } +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; do + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : +cat >>confdefs.h <<_ACEOF +#define CRAY_STACKSEG_END $ac_func +_ACEOF + break +fi + done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 +$as_echo_n "checking stack direction for C alloca... " >&6; } +if ${ac_cv_c_stack_direction+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_c_stack_direction=0 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +find_stack_direction (int *addr, int depth) +{ + int dir, dummy = 0; + if (! addr) + addr = &dummy; + *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; + dir = depth ? find_stack_direction (addr, depth - 1) : 0; + return dir + dummy; +} +int +main (int argc, char **argv) +{ + return find_stack_direction (0, argc + !argv + 20) < 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_stack_direction=1 +else + ac_cv_c_stack_direction=-1 +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 +$as_echo "$ac_cv_c_stack_direction" >&6; } +cat >>confdefs.h <<_ACEOF +#define STACK_DIRECTION $ac_cv_c_stack_direction +_ACEOF +fi +ac_fn_c_check_func "$LINENO" "getenv" "ac_cv_func_getenv" +if test "x$ac_cv_func_getenv" = xyes; then : + $as_echo "#define HAVE_GETENV 1" >>confdefs.h +else + case " $LIBOBJS " in + *" getenv.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS getenv.$ac_objext" + ;; +esac +fi +ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop" +if test "x$ac_cv_func_inet_ntop" = xyes; then : + $as_echo "#define HAVE_INET_NTOP 1" >>confdefs.h -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - + case " $LIBOBJS " in + *" inet_ntop.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS inet_ntop.$ac_objext" + ;; +esac +fi - # Report which library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } +ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton" +if test "x$ac_cv_func_inet_pton" = xyes; then : + $as_echo "#define HAVE_INET_PTON 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no +else + case " $LIBOBJS " in + *" inet_pton.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS inet_pton.$ac_objext" + ;; +esac - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; +fi - aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } +ac_fn_c_check_func "$LINENO" "isfdtype" "ac_cv_func_isfdtype" +if test "x$ac_cv_func_isfdtype" = xyes; then : + $as_echo "#define HAVE_ISFDTYPE 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } +else + case " $LIBOBJS " in + *" isfdtype.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS isfdtype.$ac_objext" + ;; +esac +fi +ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask" +if test "x$ac_cv_func_sigprocmask" = xyes; then : + $as_echo "#define HAVE_SIGPROCMASK 1" >>confdefs.h +else + case " $LIBOBJS " in + *" sigprocmask.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS sigprocmask.$ac_objext" + ;; +esac fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -CC="$lt_save_CC" +ac_fn_c_check_func "$LINENO" "sleep" "ac_cv_func_sleep" +if test "x$ac_cv_func_sleep" = xyes; then : + $as_echo "#define HAVE_SLEEP 1" >>confdefs.h +else + case " $LIBOBJS " in + *" sleep.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS sleep.$ac_objext" + ;; +esac +fi +ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" +if test "x$ac_cv_func_snprintf" = xyes; then : + $as_echo "#define HAVE_SNPRINTF 1" >>confdefs.h +else + case " $LIBOBJS " in + *" snprintf.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS snprintf.$ac_objext" + ;; +esac +fi +ac_fn_c_check_func "$LINENO" "strcasestr" "ac_cv_func_strcasestr" +if test "x$ac_cv_func_strcasestr" = xyes; then : + $as_echo "#define HAVE_STRCASESTR 1" >>confdefs.h +else + case " $LIBOBJS " in + *" strcasestr.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS strcasestr.$ac_objext" + ;; +esac +fi +ac_fn_c_check_func "$LINENO" "strdup" "ac_cv_func_strdup" +if test "x$ac_cv_func_strdup" = xyes; then : + $as_echo "#define HAVE_STRDUP 1" >>confdefs.h +else + case " $LIBOBJS " in + *" strdup.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS strdup.$ac_objext" + ;; +esac +fi +ac_fn_c_check_func "$LINENO" "strndup" "ac_cv_func_strndup" +if test "x$ac_cv_func_strndup" = xyes; then : + $as_echo "#define HAVE_STRNDUP 1" >>confdefs.h +else + case " $LIBOBJS " in + *" strndup.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS strndup.$ac_objext" + ;; +esac +fi - ac_config_commands="$ac_config_commands libtool" +ac_fn_c_check_func "$LINENO" "strsep" "ac_cv_func_strsep" +if test "x$ac_cv_func_strsep" = xyes; then : + $as_echo "#define HAVE_STRSEP 1" >>confdefs.h +else + case " $LIBOBJS " in + *" strsep.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS strsep.$ac_objext" + ;; +esac +fi +ac_fn_c_check_func "$LINENO" "syslog" "ac_cv_func_syslog" +if test "x$ac_cv_func_syslog" = xyes; then : + $as_echo "#define HAVE_SYSLOG 1" >>confdefs.h -# Only expand once: +else + case " $LIBOBJS " in + *" syslog.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS syslog.$ac_objext" + ;; +esac +fi +ac_fn_c_check_func "$LINENO" "usleep" "ac_cv_func_usleep" +if test "x$ac_cv_func_usleep" = xyes; then : + $as_echo "#define HAVE_USLEEP 1" >>confdefs.h -case $host_os in - cygwin* | mingw* | beos* | os2*) - LDFLAGS="$LDFLAGS -no-undefined" +else + case " $LIBOBJS " in + *" usleep.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS usleep.$ac_objext" + ;; esac +fi +ac_fn_c_check_func "$LINENO" "vsyslog" "ac_cv_func_vsyslog" +if test "x$ac_cv_func_vsyslog" = xyes; then : + $as_echo "#define HAVE_VSYSLOG 1" >>confdefs.h -# Check whether --with-lockdir was given. -if test "${with_lockdir+set}" = set; then : - withval=$with_lockdir; locksanedir=$withval else - locksanedir=${localstatedir}/lock/sane -fi + case " $LIBOBJS " in + *" vsyslog.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS vsyslog.$ac_objext" + ;; +esac +fi -configdir="${sysconfdir}/sane.d" +if test x != x$ALLOCA; then : + LTALLOCA=`echo "$ALLOCA" | sed 's/\.o$//; s/\.obj$//'`.lo +fi +ac_fn_c_check_func "$LINENO" "gethostbyaddr" "ac_cv_func_gethostbyaddr" +if test "x$ac_cv_func_gethostbyaddr" = xyes; then : -CPPFLAGS="${CPPFLAGS} -DPATH_SANE_CONFIG_DIR=\$(configdir) \ - -DPATH_SANE_DATA_DIR=\$(datadir) \ - -DPATH_SANE_LOCK_DIR=\$(locksanedir) \ - -DV_MAJOR=${V_MAJOR} -DV_MINOR=${V_MINOR}" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyaddr in -lbind" >&5 +$as_echo_n "checking for gethostbyaddr in -lbind... " >&6; } +if ${ac_cv_lib_bind_gethostbyaddr+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbind $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -if test "${ac_cv_header_sys_socket_h}" = "no"; then - echo "*** disabling saned (sys/socket.h not found)" - SANED= +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyaddr (); +int +main () +{ +return gethostbyaddr (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_bind_gethostbyaddr=yes else - SANED=saned + ac_cv_lib_bind_gethostbyaddr=no fi - if test x$SANED = xsaned; then - COMPILE_SANED_TRUE= - COMPILE_SANED_FALSE='#' -else - COMPILE_SANED_TRUE='#' - COMPILE_SANED_FALSE= +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bind_gethostbyaddr" >&5 +$as_echo "$ac_cv_lib_bind_gethostbyaddr" >&6; } +if test "x$ac_cv_lib_bind_gethostbyaddr" = xyes; then : + BIND_LIB="-lbind" fi - - -# Check whether --enable-local-backends was given. -if test "${enable_local_backends+set}" = set; then : - enableval=$enable_local_backends; fi +ac_fn_c_check_func "$LINENO" "gethostbyaddr" "ac_cv_func_gethostbyaddr" +if test "x$ac_cv_func_gethostbyaddr" = xyes; then : -ALL_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e \ - avision bh canon canon630u canon_dr canon_pp cardscan \ - coolscan coolscan2 coolscan3 dc25 dc210 dc240 \ - dell1600n_net dmc epjitsu epson epson2 epsonds fujitsu genesys \ - gphoto2 gt68xx hp hp3500 hp3900 hp4200 hp5400 \ - hp5590 hpsj5s hpljm1005 hs2p ibm kodak kodakaio kvs1025 kvs20xx \ - kvs40xx leo lexmark ma1509 magicolor \ - matsushita microtek microtek2 mustek mustek_pp \ - mustek_usb mustek_usb2 nec net niash pie pieusb pint \ - pixma plustek plustek_pp qcam ricoh rts8891 s9036 \ - sceptre sharp sm3600 sm3840 snapscan sp15c st400 \ - stv680 tamarack teco1 teco2 teco3 test u12 umax - umax_pp umax1220u v4l xerox_mfp p5" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyaddr in -lnsl" >&5 +$as_echo_n "checking for gethostbyaddr in -lnsl... " >&6; } +if ${ac_cv_lib_nsl_gethostbyaddr+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lnsl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# If user specifies backends manually then cause configure -# to fail if its detected it can't be compiled. If we -# are in automatic mode then remove backend from list instead. -user_selected_backends="yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyaddr (); +int +main () +{ +return gethostbyaddr (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_nsl_gethostbyaddr=yes +else + ac_cv_lib_nsl_gethostbyaddr=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyaddr" >&5 +$as_echo "$ac_cv_lib_nsl_gethostbyaddr" >&6; } +if test "x$ac_cv_lib_nsl_gethostbyaddr" = xyes; then : + NSL_LIB="-lnsl" +fi + +fi +ac_fn_c_check_func "$LINENO" "socket" "ac_cv_func_socket" +if test "x$ac_cv_func_socket" = xyes; then : -if eval "test x$enable_local_backends = xno"; then - BACKENDS="net" else - if test "${BACKENDS}" != "" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Manually selected backends: ${BACKENDS}" >&5 -$as_echo "$as_me: Manually selected backends: ${BACKENDS}" >&6;} - else - BACKENDS="$ALL_BACKENDS" - user_selected_backends="no" - fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5 +$as_echo_n "checking for socket in -lsocket... " >&6; } +if ${ac_cv_lib_socket_socket+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsocket $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char socket (); +int +main () +{ +return socket (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_socket_socket=yes +else + ac_cv_lib_socket_socket=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5 +$as_echo "$ac_cv_lib_socket_socket" >&6; } +if test "x$ac_cv_lib_socket_socket" = xyes; then : + SOCKET_LIB="-lsocket" fi +fi + +ac_fn_c_check_func "$LINENO" "inet_aton" "ac_cv_func_inet_aton" +if test "x$ac_cv_func_inet_aton" = xyes; then : -if test "${user_selected_backends}" = "yes"; then - DISABLE_MSG="aborting" else - DISABLE_MSG="disabling" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_aton in -lresolv" >&5 +$as_echo_n "checking for inet_aton in -lresolv... " >&6; } +if ${ac_cv_lib_resolv_inet_aton+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lresolv $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inet_aton (); +int +main () +{ +return inet_aton (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_resolv_inet_aton=yes +else + ac_cv_lib_resolv_inet_aton=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_inet_aton" >&5 +$as_echo "$ac_cv_lib_resolv_inet_aton" >&6; } +if test "x$ac_cv_lib_resolv_inet_aton" = xyes; then : + RESOLV_LIB="-lresolv" fi -FILTERED_BACKENDS="" -for be in ${BACKENDS}; do - backend_supported="yes" - case $be in - plustek_pp) - case "$host_os" in - gnu*) - echo "*** $be backend not supported on GNU/Hurd - $DISABLE_MSG" - backend_supported="no" - ;; - esac - ;; +fi - dc210|dc240) - if test "${sane_cv_use_libjpeg}" != "yes"; then - echo "*** $be backend requires JPEG library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - canon_pp|hpsj5s) - if test "${sane_cv_use_libieee1284}" != "yes"; then - echo "*** $be backend requires libieee1284 library - $DISABLE_MSG" - backend_supported="no" - fi - ;; +SOCKET_LIBS="$SOCKET_LIB $NSL_LIB $BIND_LIB $RESOLV_LIB" - mustek_pp) - if test "${sane_cv_use_libieee1284}" != "yes" && test "${enable_parport_directio}" != "yes"; then - echo "*** $be backend requires libieee1284 or parport-directio libraries - $DISABLE_MSG" - backend_supported="no" - fi - ;; - dell1600n_net) - if test "${sane_cv_use_libjpeg}" != "yes" || test "${sane_cv_use_libtiff}" != "yes"; then - echo "*** $be backend requires JPEG and TIFF library - $DISABLE_MSG" - backend_supported="no" - fi - ;; +save_LIBS="$LIBS" +LIBS="$LIBS $SOCKET_LIBS" +for ac_func in inet_addr inet_aton inet_ntoa +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF - epsonds) - if test "${sane_cv_use_libjpeg}" != "yes"; then - echo "*** $be backend requires JPEG library - $DISABLE_MSG" - backend_supported="no" - fi - ;; +fi +done - gphoto2) - if test "${HAVE_GPHOTO2}" != "true" \ - -o "${sane_cv_use_libjpeg}" != "yes"; then - echo "*** $be backend requires gphoto2 and JPEG libraries - $DISABLE_MSG" - backend_supported="no" - fi - ;; +LIBS="$save_LIBS" - pint) - if test "${ac_cv_header_sys_scanio_h}" = "no"; then - echo "*** $be backend requires sys/scanio.h - $DISABLE_MSG" - backend_supported="no" - fi - ;; +if test "$ac_cv_header_be_kernel_OS_h" = "yes" ; then + ac_cv_func_getaddrinfo=no + ac_cv_func_getnameinfo=no +fi - qcam) - if ( test "${ac_cv_func_ioperm}" = "no" || test "${sane_cv_have_sys_io_h_with_inb_outb}" = "no" )\ - && test "${ac_cv_func__portaccess}" = "no"; then - echo "*** $be backend requires (ioperm, inb and outb) or portaccess functions - $DISABLE_MSG" - backend_supported="no" - fi - ;; - v4l) - if test "${have_linux_ioctl_defines}" != "yes" \ - || test "${have_libv4l1}" != "yes"; then - echo "*** $be backend requires v4l libraries - $DISABLE_MSG" - backend_supported="no" - fi - ;; - net) - if test "${ac_cv_header_sys_socket_h}" = "no"; then - echo "*** $be backend requires sys/socket.h - $DISABLE_MSG" - backend_supported="no" - fi - ;; - mustek_usb2|kvs40xx) - if test "${have_pthread}" != "yes"; then - echo "*** $be backend requires pthread library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - esac - if test "${backend_supported}" = "no"; then - if test "${user_selected_backends}" = "yes"; then - exit 1 - fi - else - FILTERED_BACKENDS="${FILTERED_BACKENDS} $be" - fi -done + for ac_header in $ac_header_list +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF +fi +done -if test "${sane_cv_use_libjpeg}" = "yes"; then - SANEI_SANEI_JPEG_LO="../sanei/sanei_jpeg.lo" -fi - if test x$sane_cv_use_libjpeg = xyes; then - HAVE_JPEG_TRUE= - HAVE_JPEG_FALSE='#' -else - HAVE_JPEG_TRUE='#' - HAVE_JPEG_FALSE= -fi -# Check whether --enable-pnm-backend was given. -if test "${enable_pnm_backend+set}" = set; then : - enableval=$enable_pnm_backend; FILTERED_BACKENDS="${FILTERED_BACKENDS} pnm" -else - echo "*** pnm backend not manually selected - disabling" -fi -BACKENDS="$FILTERED_BACKENDS" -BACKEND_LIBS_ENABLED="" -BACKEND_CONFS_ENABLED="" -BACKEND_MANS_ENABLED="" -for backend in ${BACKENDS} ; do - BACKEND_LIBS_ENABLED="${BACKEND_LIBS_ENABLED} libsane-${backend}.la" - BACKEND_CONFS_ENABLED="${BACKEND_CONFS_ENABLED} ${backend}.conf" - BACKEND_MANS_ENABLED="${BACKEND_MANS_ENABLED} sane-${backend}.5" - if test x$backend = xumax_pp; then - install_umax_pp_tools=yes - fi +for ac_func in getpagesize +do : + ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" +if test "x$ac_cv_func_getpagesize" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETPAGESIZE 1 +_ACEOF + +fi done - if test xyes = x$install_umax_pp_tools; then - INSTALL_UMAX_PP_TOOLS_TRUE= - INSTALL_UMAX_PP_TOOLS_FALSE='#' +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 +$as_echo_n "checking for working mmap... " >&6; } +if ${ac_cv_func_mmap_fixed_mapped+:} false; then : + $as_echo_n "(cached) " >&6 else - INSTALL_UMAX_PP_TOOLS_TRUE='#' - INSTALL_UMAX_PP_TOOLS_FALSE= -fi + if test "$cross_compiling" = yes; then : + ac_cv_func_mmap_fixed_mapped=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +/* malloc might have been renamed as rpl_malloc. */ +#undef malloc +/* Thanks to Mike Haertel and Jim Avera for this test. + Here is a matrix of mmap possibilities: + mmap private not fixed + mmap private fixed at somewhere currently unmapped + mmap private fixed at somewhere already mapped + mmap shared not fixed + mmap shared fixed at somewhere currently unmapped + mmap shared fixed at somewhere already mapped + For private mappings, we should verify that changes cannot be read() + back from the file, nor mmap's back from the file at a different + address. (There have been systems where private was not correctly + implemented like the infamous i386 svr4.0, and systems where the + VM page cache was not coherent with the file system buffer cache + like early versions of FreeBSD and possibly contemporary NetBSD.) + For shared mappings, we should conversely verify that changes get + propagated back to all the places they're supposed to be. + Grep wants private fixed already mapped. + The main things grep needs to know about mmap are: + * does it exist and is it safe to write into the mmap'd area + * how to use it (BSD variants) */ -if test "${enable_preload}" = "auto"; then - if test "${enable_shared}" = "no" || test "${enable_dynamic}" != "yes"; then - enable_preload=yes - fi -fi -if test "${enable_preload}" = "yes"; then - echo "preloading backends into DLL" +#include +#include - # If user specifies backends manually then cause configure - # to fail if its detected it can't be compiled. If we - # are in automatic mode then remove backend from list instead. - user_selected_backends="yes" +#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H +char *malloc (); +#endif - if eval "test x$enable_local_backends = xno"; then - PRELOADABLE_BACKENDS="net" - else - if test "${PRELOADABLE_BACKENDS}" != "" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Manually selected preloadable backends: ${PRELOADABLE_BACKENDS}" >&5 -$as_echo "$as_me: Manually selected preloadable backends: ${PRELOADABLE_BACKENDS}" >&6;} - else - PRELOADABLE_BACKENDS="$BACKENDS" - user_selected_backends="no" - fi - fi +/* This mess was copied from the GNU getpagesize.h. */ +#ifndef HAVE_GETPAGESIZE +# ifdef _SC_PAGESIZE +# define getpagesize() sysconf(_SC_PAGESIZE) +# else /* no _SC_PAGESIZE */ +# ifdef HAVE_SYS_PARAM_H +# include +# ifdef EXEC_PAGESIZE +# define getpagesize() EXEC_PAGESIZE +# else /* no EXEC_PAGESIZE */ +# ifdef NBPG +# define getpagesize() NBPG * CLSIZE +# ifndef CLSIZE +# define CLSIZE 1 +# endif /* no CLSIZE */ +# else /* no NBPG */ +# ifdef NBPC +# define getpagesize() NBPC +# else /* no NBPC */ +# ifdef PAGESIZE +# define getpagesize() PAGESIZE +# endif /* PAGESIZE */ +# endif /* no NBPC */ +# endif /* no NBPG */ +# endif /* no EXEC_PAGESIZE */ +# else /* no HAVE_SYS_PARAM_H */ +# define getpagesize() 8192 /* punt totally */ +# endif /* no HAVE_SYS_PARAM_H */ +# endif /* no _SC_PAGESIZE */ - saved_BACKENDS="$BACKENDS" - BACKENDS="${PRELOADABLE_BACKENDS}" +#endif /* no HAVE_GETPAGESIZE */ + +int +main () +{ + char *data, *data2, *data3; + const char *cdata2; + int i, pagesize; + int fd, fd2; + pagesize = getpagesize (); -if test "${user_selected_backends}" = "yes"; then - DISABLE_MSG="aborting" + /* First, make a file with some known garbage in it. */ + data = (char *) malloc (pagesize); + if (!data) + return 1; + for (i = 0; i < pagesize; ++i) + *(data + i) = rand (); + umask (0); + fd = creat ("conftest.mmap", 0600); + if (fd < 0) + return 2; + if (write (fd, data, pagesize) != pagesize) + return 3; + close (fd); + + /* Next, check that the tail of a page is zero-filled. File must have + non-zero length, otherwise we risk SIGBUS for entire page. */ + fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); + if (fd2 < 0) + return 4; + cdata2 = ""; + if (write (fd2, cdata2, 1) != 1) + return 5; + data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); + if (data2 == MAP_FAILED) + return 6; + for (i = 0; i < pagesize; ++i) + if (*(data2 + i)) + return 7; + close (fd2); + if (munmap (data2, pagesize)) + return 8; + + /* Next, try to mmap the file at a fixed address which already has + something else allocated at it. If we can, also make sure that + we see the same garbage. */ + fd = open ("conftest.mmap", O_RDWR); + if (fd < 0) + return 9; + if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_FIXED, fd, 0L)) + return 10; + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data2 + i)) + return 11; + + /* Finally, make sure that changes to the mapped area do not + percolate back to the file as seen by read(). (This is a bug on + some variants of i386 svr4.0.) */ + for (i = 0; i < pagesize; ++i) + *(data2 + i) = *(data2 + i) + 1; + data3 = (char *) malloc (pagesize); + if (!data3) + return 12; + if (read (fd, data3, pagesize) != pagesize) + return 13; + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data3 + i)) + return 14; + close (fd); + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_mmap_fixed_mapped=yes else - DISABLE_MSG="disabling" + ac_cv_func_mmap_fixed_mapped=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -FILTERED_BACKENDS="" -for be in ${BACKENDS}; do - backend_supported="yes" - case $be in - plustek_pp) - case "$host_os" in - gnu*) - echo "*** $be backend not supported on GNU/Hurd - $DISABLE_MSG" - backend_supported="no" - ;; - esac - ;; +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 +$as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } +if test $ac_cv_func_mmap_fixed_mapped = yes; then - dc210|dc240) - if test "${sane_cv_use_libjpeg}" != "yes"; then - echo "*** $be backend requires JPEG library - $DISABLE_MSG" - backend_supported="no" - fi - ;; +$as_echo "#define HAVE_MMAP 1" >>confdefs.h - canon_pp|hpsj5s) - if test "${sane_cv_use_libieee1284}" != "yes"; then - echo "*** $be backend requires libieee1284 library - $DISABLE_MSG" - backend_supported="no" - fi - ;; +fi +rm -f conftest.mmap conftest.txt - mustek_pp) - if test "${sane_cv_use_libieee1284}" != "yes" && test "${enable_parport_directio}" != "yes"; then - echo "*** $be backend requires libieee1284 or parport-directio libraries - $DISABLE_MSG" - backend_supported="no" - fi - ;; +for ac_func in atexit ioperm i386_set_ioperm \ + mkdir strftime strstr strtod \ + cfmakeraw tcsendbreak strcasecmp strncasecmp _portaccess \ + getaddrinfo getnameinfo poll setitimer iopl getuid getpass +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF - dell1600n_net) - if test "${sane_cv_use_libjpeg}" != "yes" || test "${sane_cv_use_libtiff}" != "yes"; then - echo "*** $be backend requires JPEG and TIFF library - $DISABLE_MSG" - backend_supported="no" - fi - ;; +fi +done - epsonds) - if test "${sane_cv_use_libjpeg}" != "yes"; then - echo "*** $be backend requires JPEG library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - gphoto2) - if test "${HAVE_GPHOTO2}" != "true" \ - -o "${sane_cv_use_libjpeg}" != "yes"; then - echo "*** $be backend requires gphoto2 and JPEG libraries - $DISABLE_MSG" - backend_supported="no" - fi - ;; +if test "${ac_cv_header_sys_io_h}" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inb,outb (provided by sys/io.h)" >&5 +$as_echo_n "checking for inb,outb (provided by sys/io.h)... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +inb(0);outb(0,0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + sane_cv_have_sys_io_h_with_inb_outb="yes" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + sane_cv_have_sys_io_h_with_inb_outb="no" + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: sys/io.h does not provide inb,outb (non i386/x32/x86_64 arch?)" >&5 +$as_echo "$as_me: WARNING: sys/io.h does not provide inb,outb (non i386/x32/x86_64 arch?)" >&2;} +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "$sane_cv_have_sys_io_h_with_inb_outb" = "yes"; then - pint) - if test "${ac_cv_header_sys_scanio_h}" = "no"; then - echo "*** $be backend requires sys/scanio.h - $DISABLE_MSG" - backend_supported="no" - fi - ;; +$as_echo "#define SANE_HAVE_SYS_IO_H_WITH_INB_OUTB 1" >>confdefs.h - qcam) - if ( test "${ac_cv_func_ioperm}" = "no" || test "${sane_cv_have_sys_io_h_with_inb_outb}" = "no" )\ - && test "${ac_cv_func__portaccess}" = "no"; then - echo "*** $be backend requires (ioperm, inb and outb) or portaccess functions - $DISABLE_MSG" - backend_supported="no" - fi - ;; + fi +else + sane_cv_have_sys_io_h_with_inb_outb="no" +fi - v4l) - if test "${have_linux_ioctl_defines}" != "yes" \ - || test "${have_libv4l1}" != "yes"; then - echo "*** $be backend requires v4l libraries - $DISABLE_MSG" - backend_supported="no" - fi - ;; - net) - if test "${ac_cv_header_sys_socket_h}" = "no"; then - echo "*** $be backend requires sys/socket.h - $DISABLE_MSG" - backend_supported="no" - fi - ;; - mustek_usb2|kvs40xx) - if test "${have_pthread}" != "yes"; then - echo "*** $be backend requires pthread library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - esac - if test "${backend_supported}" = "no"; then - if test "${user_selected_backends}" = "yes"; then - exit 1 - fi - else - FILTERED_BACKENDS="${FILTERED_BACKENDS} $be" - fi -done - PRELOADABLE_BACKENDS="$FILTERED_BACKENDS" - BACKENDS="$saved_BACKENDS" -else - PRELOADABLE_BACKENDS="" -fi -PRELOADABLE_BACKENDS_ENABLED="" -# Do not initialize BACKEND_CONFS_ENABLED so that its a combination -# of all backends. -for backend in ${PRELOADABLE_BACKENDS} ; do - BACKEND_CONFS_ENABLED="${BACKEND_CONFS_ENABLED} ${backend}.conf" - BACKEND_MANS_ENABLED="${BACKEND_MANS_ENABLED} sane-${backend}.5" - # Special hacks. Normally, we create a convenience library that - # matches the backend's name but in some cases that will conflict - # with an external library name that also matches backend name. - # Work around that here by renaming internal library. - if test "${backend}" = "gphoto2"; then - backend=gphoto2_i - fi - PRELOADABLE_BACKENDS_ENABLED="${PRELOADABLE_BACKENDS_ENABLED} lib${backend}.la" -done +if test "$ac_cv_header_os2_h" = "yes" ; then + +$as_echo "#define strncasecmp strnicmp" >>confdefs.h +$as_echo "#define strcasecmp stricmp" >>confdefs.h + +fi +if test "$ac_cv_header_getopt_h" = "yes" ; then + for ac_func in getopt_long +do : + ac_fn_c_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long" +if test "x$ac_cv_func_getopt_long" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETOPT_LONG 1 +_ACEOF +fi +done +fi -case $host_os in - beos*) - libdir='${exec_prefix}/add-ons' - ;; +# Slightly abuse the AC_LIBOBJ macro to mark files as replacement code +if test x$ac_cv_header_getopt_h != xyes \ + && test x$ac_cv_func_getopt_long != xyes; then : + case " $LIBOBJS " in + *" getopt.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS getopt.$ac_objext" + ;; esac -# Check whether --enable-parport-directio was given. -if test "${enable_parport_directio+set}" = set; then : - enableval=$enable_parport_directio; - if eval "test x$enable_parport_directio = xyes"; then - CFLAGS="$CFLAGS -DENABLE_PARPORT_DIRECTIO" - fi + case " $LIBOBJS " in + *" getopt1.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS getopt1.$ac_objext" + ;; +esac fi +if test -c /dev/urandom ; then -# Check whether --enable-translations was given. -if test "${enable_translations+set}" = set; then : - enableval=$enable_translations; -else - enable_translations=yes -fi +$as_echo "#define HAVE_DEV_URANDOM 1" >>confdefs.h -if eval "test x$enable_translations = xyes" ; then - if test x$MSGFMT = xno || test x$XGETTEXT = xno || test $MSGMERGE = no ; then - enable_translations=no - echo "disabling translations (missing msgfmt, xgettext or msgmerge)" - else - echo "enabling translations" - fi -else - echo "disabling translations" -fi - if test x$enable_translations = xyes; then - ENABLE_TRANSLATIONS_TRUE= - ENABLE_TRANSLATIONS_FALSE='#' -else - ENABLE_TRANSLATIONS_TRUE='#' - ENABLE_TRANSLATIONS_FALSE= fi -# Check whether --enable-latex was given. -if test "${enable_latex+set}" = set; then : - enableval=$enable_latex; -else - enable_latex=yes +# Check whether --with-systemd was given. +if test "${with_systemd+set}" = set; then : + withval=$with_systemd; fi -if test "x$enable_latex" = "xyes" ; then - if test "x$LATEX" = "xno" || test "x$DVIPS" = "xno" || test "x$MAKEINDEX" = "xno" ; then - enable_latex=no - echo "disabling latex (missing latex, dvips or makeindex)" - else - echo "enabling latex" - fi +if test "x$with_systemd" != xno ; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5 +$as_echo_n "checking for SYSTEMD... " >&6; } + +if test -n "$SYSTEMD_CFLAGS"; then + pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - echo "disabling latex" + pkg_failed=yes fi - if test x$enable_latex = xyes; then - USE_LATEX_TRUE= - USE_LATEX_FALSE='#' + else + pkg_failed=untried +fi +if test -n "$SYSTEMD_LIBS"; then + pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - USE_LATEX_TRUE='#' - USE_LATEX_FALSE= + pkg_failed=yes +fi + else + pkg_failed=untried fi -DISTCLEAN_FILES="*~ .*~ *.log *.bak *.old *.orig *.out *.rej \"\#\"* \".\\#\"*" - +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } -ac_config_files="$ac_config_files Makefile lib/Makefile sanei/Makefile frontend/Makefile japi/Makefile backend/Makefile include/Makefile doc/Makefile po/Makefile testsuite/Makefile testsuite/sanei/Makefile testsuite/tools/Makefile tools/Makefile doc/doxygen-sanei.conf doc/doxygen-genesys.conf" +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd" 2>&1` + else + SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$SYSTEMD_PKG_ERRORS" >&5 -ac_config_files="$ac_config_files tools/sane-config" + have_systemd=no +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + have_systemd=no +else + SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS + SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_systemd=yes +fi + if test "x$have_systemd" = xno; then -ac_config_files="$ac_config_files tools/sane-backends.pc" +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5 +$as_echo_n "checking for SYSTEMD... " >&6; } -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. +if test -n "$SYSTEMD_CFLAGS"; then + pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd-daemon" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$SYSTEMD_LIBS"; then + pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd-daemon" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi -_ACEOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no fi -rm -f confcache + if test $_pkg_short_errors_supported = yes; then + SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd-daemon" 2>&1` + else + SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd-daemon" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$SYSTEMD_PKG_ERRORS" >&5 -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + have_systemd=no +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + have_systemd=no +else + SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS + SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_systemd=yes +fi + fi + if test "x$have_systemd" = xyes; then -DEFS=-DHAVE_CONFIG_H +$as_echo "#define HAVE_SYSTEMD 1" >>confdefs.h -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs + else + if test "x$with_systemd" = xyes; then + as_fn_error $? "Systemd support was requested but systemd was not found" "$LINENO" 5 + fi + fi +fi -LTLIBOBJS=$ac_ltlibobjs -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' +# Check whether --with-usb was given. +if test "${with_usb+set}" = set; then : + withval=$with_usb; else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= + with_usb=check fi -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 +if test xno != "x$with_usb"; then : + have_usb=no + case x$host_os in #( + beos*) : + ac_fn_c_check_header_mongrel "$LINENO" "be/drivers/USB_scanner.h" "ac_cv_header_be_drivers_USB_scanner_h" "$ac_includes_default" +if test "x$ac_cv_header_be_drivers_USB_scanner_h" = xyes; then : + have_usb=yes fi -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 + + ;; #( + os2*) : + ac_fn_c_check_header_compile "$LINENO" "usbcalls.h" "ac_cv_header_usbcalls_h" "#include + #include + +" +if test "x$ac_cv_header_usbcalls_h" = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for UsbQueryNumberDevices in -lusbcall" >&5 +$as_echo_n "checking for UsbQueryNumberDevices in -lusbcall... " >&6; } +if ${ac_cv_lib_usbcall_UsbQueryNumberDevices+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lusbcall $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char UsbQueryNumberDevices (); +int +main () +{ +return UsbQueryNumberDevices (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_usbcall_UsbQueryNumberDevices=yes +else + ac_cv_lib_usbcall_UsbQueryNumberDevices=no fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if test -z "${CROSS_COMPILING_TRUE}" && test -z "${CROSS_COMPILING_FALSE}"; then - as_fn_error $? "conditional \"CROSS_COMPILING\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usbcall_UsbQueryNumberDevices" >&5 +$as_echo "$ac_cv_lib_usbcall_UsbQueryNumberDevices" >&6; } +if test "x$ac_cv_lib_usbcall_UsbQueryNumberDevices" = xyes; then : + USB_LIBS="-lusbcall" + have_usb=yes + +$as_echo "#define HAVE_USBCALLS 1" >>confdefs.h + + fi -if test -z "${COMPILE_SANED_TRUE}" && test -z "${COMPILE_SANED_FALSE}"; then - as_fn_error $? "conditional \"COMPILE_SANED\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${HAVE_JPEG_TRUE}" && test -z "${HAVE_JPEG_FALSE}"; then - as_fn_error $? "conditional \"HAVE_JPEG\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 + + + ;; #( + *) : + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for USB" >&5 +$as_echo_n "checking for USB... " >&6; } + +if test -n "$USB_CFLAGS"; then + pkg_cv_USB_CFLAGS="$USB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb-1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libusb-1.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_USB_CFLAGS=`$PKG_CONFIG --cflags "libusb-1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes fi -if test -z "${INSTALL_UMAX_PP_TOOLS_TRUE}" && test -z "${INSTALL_UMAX_PP_TOOLS_FALSE}"; then - as_fn_error $? "conditional \"INSTALL_UMAX_PP_TOOLS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 + else + pkg_failed=untried fi -if test -z "${ENABLE_TRANSLATIONS_TRUE}" && test -z "${ENABLE_TRANSLATIONS_FALSE}"; then - as_fn_error $? "conditional \"ENABLE_TRANSLATIONS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 +if test -n "$USB_LIBS"; then + pkg_cv_USB_LIBS="$USB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb-1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libusb-1.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_USB_LIBS=`$PKG_CONFIG --libs "libusb-1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes fi -if test -z "${USE_LATEX_TRUE}" && test -z "${USE_LATEX_FALSE}"; then - as_fn_error $? "conditional \"USE_LATEX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 + else + pkg_failed=untried fi -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac + _pkg_short_errors_supported=no fi + if test $_pkg_short_errors_supported = yes; then + USB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libusb-1.0" 2>&1` + else + USB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libusb-1.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$USB_PKG_ERRORS" >&5 -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for USB" >&5 +$as_echo_n "checking for USB... " >&6; } + +if test -n "$USB_CFLAGS"; then + pkg_cv_USB_CFLAGS="$USB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb >= 0.1.8\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libusb >= 0.1.8") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_USB_CFLAGS=`$PKG_CONFIG --cflags "libusb >= 0.1.8" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' + pkg_failed=yes fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } + else + pkg_failed=untried fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 +if test -n "$USB_LIBS"; then + pkg_cv_USB_LIBS="$USB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb >= 0.1.8\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libusb >= 0.1.8") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_USB_LIBS=`$PKG_CONFIG --libs "libusb >= 0.1.8" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 + else + pkg_failed=untried fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + USB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libusb >= 0.1.8" 2>&1` + else + USB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libusb >= 0.1.8" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$USB_PKG_ERRORS" >&5 -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () + ac_fn_c_check_header_mongrel "$LINENO" "usb.h" "ac_cv_header_usb_h" "$ac_includes_default" +if test "x$ac_cv_header_usb_h" = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 +$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } +if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lusb $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char usb_interrupt_read (); +int +main () { - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error +return usb_interrupt_read (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_usb_usb_interrupt_read=yes +else + ac_cv_lib_usb_usb_interrupt_read=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 +$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } +if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : + USB_LIBS="-lusb" + have_usb=yes +fi -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status +fi -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () + for ac_header in lusb0_usb.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "lusb0_usb.h" "ac_cv_header_lusb0_usb_h" "$ac_includes_default" +if test "x$ac_cv_header_lusb0_usb_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LUSB0_USB_H 1 +_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 +$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } +if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lusb $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char usb_interrupt_read (); +int +main () { - { eval $1=; unset $1;} +return usb_interrupt_read (); + ; + return 0; } -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_usb_usb_interrupt_read=yes else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append + ac_cv_lib_usb_usb_interrupt_read=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 +$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } +if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : + USB_LIBS="-lusb" + have_usb=yes -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith +fi +fi -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr +done + + +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ac_fn_c_check_header_mongrel "$LINENO" "usb.h" "ac_cv_header_usb_h" "$ac_includes_default" +if test "x$ac_cv_header_usb_h" = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 +$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } +if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : + $as_echo_n "(cached) " >&6 else - as_expr=false -fi + ac_check_lib_save_LIBS=$LIBS +LIBS="-lusb $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char usb_interrupt_read (); +int +main () +{ +return usb_interrupt_read (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_usb_usb_interrupt_read=yes else - as_basename=false + ac_cv_lib_usb_usb_interrupt_read=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 +$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } +if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : + USB_LIBS="-lusb" + have_usb=yes -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false fi -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` +fi -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac + for ac_header in lusb0_usb.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "lusb0_usb.h" "ac_cv_header_lusb0_usb_h" "$ac_includes_default" +if test "x$ac_cv_header_lusb0_usb_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LUSB0_USB_H 1 +_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 +$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } +if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lusb $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char usb_interrupt_read (); +int +main () +{ +return usb_interrupt_read (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_usb_usb_interrupt_read=yes else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null + ac_cv_lib_usb_usb_interrupt_read=no fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 +$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } +if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : + USB_LIBS="-lusb" + have_usb=yes + +fi + +fi + +done + + else - as_ln_s='cp -pR' + USB_CFLAGS=$pkg_cv_USB_CFLAGS + USB_LIBS=$pkg_cv_USB_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define HAVE_LIBUSB_LEGACY 1" >>confdefs.h + + have_usb=yes + fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for USB" >&5 +$as_echo_n "checking for USB... " >&6; } - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' +if test -n "$USB_CFLAGS"; then + pkg_cv_USB_CFLAGS="$USB_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb >= 0.1.8\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libusb >= 0.1.8") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_USB_CFLAGS=`$PKG_CONFIG --cflags "libusb >= 0.1.8" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else - test -d ./-p && rmdir ./-p - as_mkdir_p=false + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$USB_LIBS"; then + pkg_cv_USB_LIBS="$USB_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb >= 0.1.8\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libusb >= 0.1.8") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_USB_LIBS=`$PKG_CONFIG --libs "libusb >= 0.1.8" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried fi -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by sane-backends $as_me 1.0.25, which was -generated by GNU Autoconf 2.69. Invocation command line was +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + USB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libusb >= 0.1.8" 2>&1` + else + USB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libusb >= 0.1.8" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$USB_PKG_ERRORS" >&5 -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" + ac_fn_c_check_header_mongrel "$LINENO" "usb.h" "ac_cv_header_usb_h" "$ac_includes_default" +if test "x$ac_cv_header_usb_h" = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 +$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } +if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lusb $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char usb_interrupt_read (); +int +main () +{ +return usb_interrupt_read (); + ; + return 0; +} _ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_usb_usb_interrupt_read=yes +else + ac_cv_lib_usb_usb_interrupt_read=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 +$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } +if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : + USB_LIBS="-lusb" + have_usb=yes -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac +fi +fi -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" + for ac_header in lusb0_usb.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "lusb0_usb.h" "ac_cv_header_lusb0_usb_h" "$ac_includes_default" +if test "x$ac_cv_header_lusb0_usb_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LUSB0_USB_H 1 _ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 +$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } +if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lusb $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char usb_interrupt_read (); +int +main () +{ +return usb_interrupt_read (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_usb_usb_interrupt_read=yes +else + ac_cv_lib_usb_usb_interrupt_read=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 +$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } +if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : + USB_LIBS="-lusb" + have_usb=yes - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE +fi -Configuration files: -$config_files +fi -Configuration headers: -$config_headers +done -Configuration commands: -$config_commands -Report bugs to ." +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ac_fn_c_check_header_mongrel "$LINENO" "usb.h" "ac_cv_header_usb_h" "$ac_includes_default" +if test "x$ac_cv_header_usb_h" = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 +$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } +if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lusb $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char usb_interrupt_read (); +int +main () +{ +return usb_interrupt_read (); + ; + return 0; +} _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -sane-backends config.status 1.0.25 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_usb_usb_interrupt_read=yes +else + ac_cv_lib_usb_usb_interrupt_read=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 +$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } +if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : + USB_LIBS="-lusb" + have_usb=yes -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." +fi -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF +fi -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; + for ac_header in lusb0_usb.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "lusb0_usb.h" "ac_cv_header_lusb0_usb_h" "$ac_includes_default" +if test "x$ac_cv_header_lusb0_usb_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LUSB0_USB_H 1 +_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 +$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } +if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lusb $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char usb_interrupt_read (); +int +main () +{ +return usb_interrupt_read (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_usb_usb_interrupt_read=yes +else + ac_cv_lib_usb_usb_interrupt_read=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 +$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } +if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : + USB_LIBS="-lusb" + have_usb=yes - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; +fi + +fi - esac - shift done -ac_configure_extra_args= -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" +else + USB_CFLAGS=$pkg_cv_USB_CFLAGS + USB_LIBS=$pkg_cv_USB_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define HAVE_LIBUSB_LEGACY 1" >>confdefs.h + + have_usb=yes + +fi + +else + USB_CFLAGS=$pkg_cv_USB_CFLAGS + USB_LIBS=$pkg_cv_USB_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define HAVE_LIBUSB 1" >>confdefs.h + + have_usb=yes + +fi + ;; +esac + +fi +if test xyes = "x$with_usb" && test xyes != "x$have_usb"; then : + as_fn_error $? "USB support requested but required libraries not found." "$LINENO" 5 + +fi + if test x != "x$USB_LIBS"; then + have_usblib_TRUE= + have_usblib_FALSE='#' +else + have_usblib_TRUE='#' + have_usblib_FALSE= fi + + + +# Unset VERSION during the SCSI header check +sed "s!^#define VERSION .*!/* & */!" confdefs.h > confdefs.h.tmp +mv confdefs.h.tmp confdefs.h + +for ac_header in IOKit/scsi/SCSITaskLib.h IOKit/cdb/IOSCSILib.h \ + IOKit/scsi/SCSICommandOperationCodes.h \ + IOKit/scsi-commands/SCSICommandOperationCodes.h scsi.h sys/scsi.h \ + sys/scsicmd.h sys/scsiio.h bsd/dev/scsireg.h scsi/sg.h \ + camlib.h gscdds.h sys/scsi/scsi.h sys/scsi/sgdefs.h \ + sys/scsi/targets/scgio.h apollo/scsi.h sys/sdi_comm.h \ + sys/passthrudef.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" + fi +done + + +# Restore VERSION +sed "s!/\* \(#define VERSION .*\) \*/!\1!" confdefs.h > confdefs.h.tmp +mv confdefs.h.tmp confdefs.h + +for ac_header in io/cam/cam.h +do : + ac_fn_c_check_header_compile "$LINENO" "io/cam/cam.h" "ac_cv_header_io_cam_cam_h" "#include +" +if test "x$ac_cv_header_io_cam_cam_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_IO_CAM_CAM_H 1 _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 +fi + +done + +for ac_header in ntddscsi.h ddk/ntddscsi.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" -# variables for create stdint.h replacement -PACKAGE="$PACKAGE" -VERSION="$VERSION" -ac_stdint_h="$ac_stdint_h" -_ac_stdint_h=`$as_echo "_$PACKAGE-$ac_stdint_h" | $as_tr_cpp` -ac_cv_stdint_message="$ac_cv_stdint_message" -ac_cv_header_stdint_t="$ac_cv_header_stdint_t" -ac_cv_header_stdint_x="$ac_cv_header_stdint_x" -ac_cv_header_stdint_o="$ac_cv_header_stdint_o" -ac_cv_header_stdint_u="$ac_cv_header_stdint_u" -ac_cv_type_uint64_t="$ac_cv_type_uint64_t" -ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t" -ac_cv_char_data_model="$ac_cv_char_data_model" -ac_cv_long_data_model="$ac_cv_long_data_model" -ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t" -ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t" -ac_cv_type_intmax_t="$ac_cv_type_intmax_t" +fi +done -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' +if test "$ac_cv_header_sys_scsiio_h" = "yes" \ + && test "$ac_cv_header_scsi_h" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'scsireq_t' needs to be defined as 'struct scsireq'" >&5 +$as_echo_n "checking if 'scsireq_t' needs to be defined as 'struct scsireq'... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' +#include +#include -# A function that is used when there is no print builtin or printf. -func_fallback_echo () +int +main () { - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' +scsireq_t req + ; + return 0; } +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : -# Quote evaled strings. -for var in AS \ -DLLTOOL \ -OBJDUMP \ -SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -sharedlib_from_linklib_cmd \ -AR \ -AR_FLAGS \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -nm_file_list_spec \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; }; -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done +$as_echo "#define scsireq_t struct scsireq_t" >>confdefs.h -ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for scsireq_enter in -lscsi" >&5 +$as_echo_n "checking for scsireq_enter in -lscsi... " >&6; } +if ${ac_cv_lib_scsi_scsireq_enter+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lscsi $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char scsireq_enter (); +int +main () +{ +return scsireq_enter (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_scsi_scsireq_enter=yes +else + ac_cv_lib_scsi_scsireq_enter=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_scsi_scsireq_enter" >&5 +$as_echo "$ac_cv_lib_scsi_scsireq_enter" >&6; } +if test "x$ac_cv_lib_scsi_scsireq_enter" = xyes; then : + SCSI_LIBS="-lscsi" fi + # FreeBSD needs this +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cam_open_device in -lcam" >&5 +$as_echo_n "checking for cam_open_device in -lcam... " >&6; } +if ${ac_cv_lib_cam_cam_open_device+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcam $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile' +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char cam_open_device (); +int +main () +{ +return cam_open_device (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_cam_cam_open_device=yes +else + ac_cv_lib_cam_cam_open_device=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cam_cam_open_device" >&5 +$as_echo "$ac_cv_lib_cam_cam_open_device" >&6; } +if test "x$ac_cv_lib_cam_cam_open_device" = xyes; then : + SCSI_LIBS="-lcam" +fi + # FreeBSD 3+ needs this +for ac_func in scsireq_enter +do : + ac_fn_c_check_func "$LINENO" "scsireq_enter" "ac_cv_func_scsireq_enter" +if test "x$ac_cv_func_scsireq_enter" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SCSIREQ_ENTER 1 +_ACEOF +fi +done -_ACEOF +if test "$ac_cv_header_scsi_sg_h" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sg_header.target_status in " >&5 +$as_echo_n "checking for sg_header.target_status in ... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +#include +#include -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "include/sane/config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/sane/config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "$ac_stdint_h") CONFIG_COMMANDS="$CONFIG_COMMANDS $ac_stdint_h" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; - "sanei/Makefile") CONFIG_FILES="$CONFIG_FILES sanei/Makefile" ;; - "frontend/Makefile") CONFIG_FILES="$CONFIG_FILES frontend/Makefile" ;; - "japi/Makefile") CONFIG_FILES="$CONFIG_FILES japi/Makefile" ;; - "backend/Makefile") CONFIG_FILES="$CONFIG_FILES backend/Makefile" ;; - "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "po/Makefile") CONFIG_FILES="$CONFIG_FILES po/Makefile" ;; - "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; - "testsuite/sanei/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/sanei/Makefile" ;; - "testsuite/tools/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/tools/Makefile" ;; - "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; - "doc/doxygen-sanei.conf") CONFIG_FILES="$CONFIG_FILES doc/doxygen-sanei.conf" ;; - "doc/doxygen-genesys.conf") CONFIG_FILES="$CONFIG_FILES doc/doxygen-genesys.conf" ;; - "tools/sane-config") CONFIG_FILES="$CONFIG_FILES tools/sane-config" ;; - "tools/sane-backends.pc") CONFIG_FILES="$CONFIG_FILES tools/sane-backends.pc" ;; +int +main () +{ - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done +struct sg_header hdr; +hdr.target_status = 1; +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; }; -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +$as_echo "#define HAVE_SG_TARGET_STATUS 1" >>confdefs.h + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. +if test "$ac_cv_header_IOKit_scsi_SCSITaskLib_h" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SCSITaskSGElement in IOKit/scsi/SCSITaskLib.h" >&5 +$as_echo_n "checking for SCSITaskSGElement in IOKit/scsi/SCSITaskLib.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#undef VERSION +#include + +int +main () { - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then +SCSITaskSGElement range; +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; }; -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' +$as_echo "#define HAVE_SCSITASKSGELEMENT 1" >>confdefs.h + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +# Multiple platforms can set SCSI_LIBS so do substitution at end. + + +# Check whether --enable-scsibuffersize was given. +if test "${enable_scsibuffersize+set}" = set; then : + enableval=$enable_scsibuffersize; set_scsibuffersize="$enableval" else - ac_cs_awk_cr=$ac_cr + set_scsibuffersize=131072 fi -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && + +cat >>confdefs.h <<_ACEOF +#define SCSIBUFFERSIZE $set_scsibuffersize _ACEOF +echo "scsi buffersize: $set_scsibuffersize" -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +# Check whether --enable-scsi-directio was given. +if test "${enable_scsi_directio+set}" = set; then : + enableval=$enable_scsi_directio; + if eval "test x$enable_scsi_directio = xyes"; then + AM_CFLAGS="$AM_CFLAGS -DENABLE_SCSI_DIRECTIO" + fi - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh +fi -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - print line -} +if test "$ac_cv_func_getnameinfo" = "yes" \ + && test "$ac_cv_func_getaddrinfo" = "yes" ; then -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable IPv6" >&5 +$as_echo_n "checking whether to enable IPv6... " >&6; } + # Check whether --enable-ipv6 was given. +if test "${enable_ipv6+set}" = set; then : + enableval=$enable_ipv6; if test "$enableval" = "no" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, manually disabled" >&5 +$as_echo "no, manually disabled" >&6; } + ipv6=no + fi -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' fi -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { + if test "$ipv6" != "no" ; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #define INET6 + #include + #include +int +main () +{ + + /* AF_INET6 available check */ + if (socket(AF_INET6, SOCK_STREAM, 0) < 0) + exit(1); + else + exit(0); + + ; + return 0; +} _ACEOF +if ac_fn_c_try_compile "$LINENO"; then : -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " +$as_echo "#define ENABLE_IPV6 1" >>confdefs.h + + ipv6=yes + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (couldn't compile test program)" >&5 +$as_echo "no (couldn't compile test program)" >&6; } + ipv6=no + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -done -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. + if test "$ipv6" != "no" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct sockaddr_storage has an ss_family member" >&5 +$as_echo_n "checking whether struct sockaddr_storage has an ss_family member... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 + #define INET6 + #include + #include +int +main () +{ -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" + /* test if the ss_family member exists in struct sockaddr_storage */ + struct sockaddr_storage ss; + ss.ss_family = AF_INET; + exit (0); + + ; + return 0; } -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define HAS_SS_FAMILY 1" >>confdefs.h + + +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #define INET6 + #include + #include +int +main () +{ + + /* test if the __ss_family member exists in struct sockaddr_storage */ + struct sockaddr_storage ss; + ss.__ss_family = AF_INET; + exit (0); + + ; + return 0; } -{ print } -_ACAWK _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, but __ss_family exists" >&5 +$as_echo "no, but __ss_family exists" >&6; } -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift +$as_echo "#define HAS___SS_FAMILY 1" >>confdefs.h - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac +else - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ipv6=no - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +else + ipv6="no" +fi + +# Check whether --enable-preload was given. +if test "${enable_preload+set}" = set; then : + enableval=$enable_preload; enable_preload=$enableval +else + enable_preload=auto +fi + + +case $host_os in + cygwin* | mingw* | beos* | os2*) + AM_LDFLAGS="$AM_LDFLAGS -no-undefined" esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - case $ac_mode in - :F) - # - # CONFIG_FILE - # - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF +# Check whether --with-lockdir was given. +if test "${with_lockdir+set}" = set; then : + withval=$with_lockdir; locksanedir=$withval +else + locksanedir=${localstatedir}/lock/sane +fi -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} +configdir="${sysconfdir}/sane.d" - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi + + +AM_CPPFLAGS="${AM_CPPFLAGS} -DPATH_SANE_CONFIG_DIR=\$(configdir) \ + -DPATH_SANE_DATA_DIR=\$(datadir) \ + -DPATH_SANE_LOCK_DIR=\$(locksanedir) \ + -DV_MAJOR=${V_MAJOR} -DV_MINOR=${V_MINOR}" + +if test "${ac_cv_header_sys_socket_h}" = "no"; then + echo "*** disabling saned (sys/socket.h not found)" + SANED= +else + SANED=saned +fi + if test x$SANED = xsaned; then + COMPILE_SANED_TRUE= + COMPILE_SANED_FALSE='#' +else + COMPILE_SANED_TRUE='#' + COMPILE_SANED_FALSE= +fi + + + +# Check whether --enable-local-backends was given. +if test "${enable_local_backends+set}" = set; then : + enableval=$enable_local_backends; +fi + + +ALL_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e \ + avision bh canon canon630u canon_dr canon_pp cardscan \ + coolscan coolscan2 coolscan3 dc25 dc210 dc240 \ + dell1600n_net dmc epjitsu epson epson2 epsonds fujitsu genesys \ + gphoto2 gt68xx hp hp3500 hp3900 hp4200 hp5400 \ + hp5590 hpsj5s hpljm1005 hs2p ibm kodak kodakaio kvs1025 kvs20xx \ + kvs40xx leo lexmark ma1509 magicolor \ + matsushita microtek microtek2 mustek mustek_pp \ + mustek_usb mustek_usb2 nec net niash pie pieusb pint \ + pixma plustek plustek_pp qcam ricoh rts8891 s9036 \ + sceptre sharp sm3600 sm3840 snapscan sp15c st400 \ + stv680 tamarack teco1 teco2 teco3 test u12 umax + umax_pp umax1220u v4l xerox_mfp p5" + +# If user specifies backends manually then cause configure +# to fail if its detected it can't be compiled. If we +# are in automatic mode then remove backend from list instead. +user_selected_backends="yes" + + +if eval "test x$enable_local_backends = xno"; then + BACKENDS="net" +else + if test "${BACKENDS}" != "" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Manually selected backends: ${BACKENDS}" >&5 +$as_echo "$as_me: Manually selected backends: ${BACKENDS}" >&6;} else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 + BACKENDS="$ALL_BACKENDS" + user_selected_backends="no" fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; +fi - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac +if test "${user_selected_backends}" = "yes"; then + DISABLE_MSG="aborting" +else + DISABLE_MSG="disabling" +fi - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue +FILTERED_BACKENDS="" +for be in ${BACKENDS}; do + backend_supported="yes" + case $be in + plustek_pp) + case "$host_os" in + gnu*) + echo "*** $be backend not supported on GNU/Hurd - $DISABLE_MSG" + backend_supported="no" + ;; + esac + ;; + + dc210|dc240) + if test "${sane_cv_use_libjpeg}" != "yes"; then + echo "*** $be backend requires JPEG library - $DISABLE_MSG" + backend_supported="no" fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } + ;; + + canon_pp|hpsj5s) + if test "${sane_cv_use_libieee1284}" != "yes"; then + echo "*** $be backend requires libieee1284 library - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + mustek_pp) + if test "${sane_cv_use_libieee1284}" != "yes" && test "${enable_parport_directio}" != "yes"; then + echo "*** $be backend requires libieee1284 or parport-directio libraries - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + dell1600n_net) + if test "${sane_cv_use_libjpeg}" != "yes" || test "${sane_cv_use_libtiff}" != "yes"; then + echo "*** $be backend requires JPEG and TIFF library - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + epsonds) + if test "${sane_cv_use_libjpeg}" != "yes"; then + echo "*** $be backend requires JPEG library - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + gphoto2) + if test "${HAVE_GPHOTO2}" != "true" \ + || test "${sane_cv_use_libjpeg}" != "yes"; then + echo "*** $be backend requires gphoto2 and JPEG libraries - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + pint) + if test "${ac_cv_header_sys_scanio_h}" = "no"; then + echo "*** $be backend requires sys/scanio.h - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + qcam) + if ( test "${ac_cv_func_ioperm}" = "no" || test "${sane_cv_have_sys_io_h_with_inb_outb}" = "no" )\ + && test "${ac_cv_func__portaccess}" = "no"; then + echo "*** $be backend requires (ioperm, inb and outb) or portaccess functions - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + v4l) + if test "${have_linux_ioctl_defines}" != "yes" \ + || test "${have_libv4l1}" != "yes"; then + echo "*** $be backend requires v4l libraries - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + net) + if test "${ac_cv_header_sys_socket_h}" = "no"; then + echo "*** $be backend requires sys/socket.h - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + mustek_usb2|kvs40xx) + if test "${have_pthread}" != "yes"; then + echo "*** $be backend requires pthread library - $DISABLE_MSG" + backend_supported="no" + fi + ;; + esac + if test "${backend_supported}" = "no"; then + if test "${user_selected_backends}" = "yes"; then + exit 1 + fi + else + FILTERED_BACKENDS="${FILTERED_BACKENDS} $be" + fi +done + + +if test "${sane_cv_use_libjpeg}" = "yes"; then + SANEI_SANEI_JPEG_LO="../sanei/sanei_jpeg.lo" +fi + if test x$sane_cv_use_libjpeg = xyes; then + HAVE_JPEG_TRUE= + HAVE_JPEG_FALSE='#' +else + HAVE_JPEG_TRUE='#' + HAVE_JPEG_FALSE= +fi + + + +# Check whether --enable-pnm-backend was given. +if test "${enable_pnm_backend+set}" = set; then : + enableval=$enable_pnm_backend; FILTERED_BACKENDS="${FILTERED_BACKENDS} pnm" +else + echo "*** pnm backend not manually selected - disabling" +fi + + +BACKENDS="$FILTERED_BACKENDS" +BACKEND_LIBS_ENABLED="" +BACKEND_CONFS_ENABLED="" +BACKEND_MANS_ENABLED="" +for backend in ${BACKENDS} ; do + BACKEND_LIBS_ENABLED="${BACKEND_LIBS_ENABLED} libsane-${backend}.la" + BACKEND_CONFS_ENABLED="${BACKEND_CONFS_ENABLED} ${backend}.conf" + BACKEND_MANS_ENABLED="${BACKEND_MANS_ENABLED} sane-${backend}.5" + if test x$backend = xumax_pp; then + install_umax_pp_tools=yes + fi +done + + if test xyes = x$install_umax_pp_tools; then + INSTALL_UMAX_PP_TOOLS_TRUE= + INSTALL_UMAX_PP_TOOLS_FALSE='#' +else + INSTALL_UMAX_PP_TOOLS_TRUE='#' + INSTALL_UMAX_PP_TOOLS_FALSE= +fi + + + +if test "${enable_preload}" = "auto"; then + if test "${enable_shared}" = "no" || test "${enable_dynamic}" != "yes"; then + enable_preload=yes + fi +fi +if test "${enable_preload}" = "yes"; then + echo "preloading backends into DLL" + + # If user specifies backends manually then cause configure + # to fail if its detected it can't be compiled. If we + # are in automatic mode then remove backend from list instead. + user_selected_backends="yes" + + if eval "test x$enable_local_backends = xno"; then + PRELOADABLE_BACKENDS="net" + else + if test "${PRELOADABLE_BACKENDS}" != "" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Manually selected preloadable backends: ${PRELOADABLE_BACKENDS}" >&5 +$as_echo "$as_me: Manually selected preloadable backends: ${PRELOADABLE_BACKENDS}" >&6;} + else + PRELOADABLE_BACKENDS="$BACKENDS" + user_selected_backends="no" + fi + fi + + saved_BACKENDS="$BACKENDS" + BACKENDS="${PRELOADABLE_BACKENDS}" + + +if test "${user_selected_backends}" = "yes"; then + DISABLE_MSG="aborting" +else + DISABLE_MSG="disabling" +fi + +FILTERED_BACKENDS="" +for be in ${BACKENDS}; do + backend_supported="yes" + case $be in + plustek_pp) + case "$host_os" in + gnu*) + echo "*** $be backend not supported on GNU/Hurd - $DISABLE_MSG" + backend_supported="no" + ;; + esac + ;; + + dc210|dc240) + if test "${sane_cv_use_libjpeg}" != "yes"; then + echo "*** $be backend requires JPEG library - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + canon_pp|hpsj5s) + if test "${sane_cv_use_libieee1284}" != "yes"; then + echo "*** $be backend requires libieee1284 library - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + mustek_pp) + if test "${sane_cv_use_libieee1284}" != "yes" && test "${enable_parport_directio}" != "yes"; then + echo "*** $be backend requires libieee1284 or parport-directio libraries - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + dell1600n_net) + if test "${sane_cv_use_libjpeg}" != "yes" || test "${sane_cv_use_libtiff}" != "yes"; then + echo "*** $be backend requires JPEG and TIFF library - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + epsonds) + if test "${sane_cv_use_libjpeg}" != "yes"; then + echo "*** $be backend requires JPEG library - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + gphoto2) + if test "${HAVE_GPHOTO2}" != "true" \ + || test "${sane_cv_use_libjpeg}" != "yes"; then + echo "*** $be backend requires gphoto2 and JPEG libraries - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + pint) + if test "${ac_cv_header_sys_scanio_h}" = "no"; then + echo "*** $be backend requires sys/scanio.h - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + qcam) + if ( test "${ac_cv_func_ioperm}" = "no" || test "${sane_cv_have_sys_io_h_with_inb_outb}" = "no" )\ + && test "${ac_cv_func__portaccess}" = "no"; then + echo "*** $be backend requires (ioperm, inb and outb) or portaccess functions - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + v4l) + if test "${have_linux_ioctl_defines}" != "yes" \ + || test "${have_libv4l1}" != "yes"; then + echo "*** $be backend requires v4l libraries - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + net) + if test "${ac_cv_header_sys_socket_h}" = "no"; then + echo "*** $be backend requires sys/socket.h - $DISABLE_MSG" + backend_supported="no" + fi + ;; + + mustek_usb2|kvs40xx) + if test "${have_pthread}" != "yes"; then + echo "*** $be backend requires pthread library - $DISABLE_MSG" + backend_supported="no" + fi + ;; + esac + if test "${backend_supported}" = "no"; then + if test "${user_selected_backends}" = "yes"; then + exit 1 + fi + else + FILTERED_BACKENDS="${FILTERED_BACKENDS} $be" + fi +done + + + PRELOADABLE_BACKENDS="$FILTERED_BACKENDS" + BACKENDS="$saved_BACKENDS" +else + PRELOADABLE_BACKENDS="" +fi +PRELOADABLE_BACKENDS_ENABLED="" +# Do not initialize BACKEND_CONFS_ENABLED so that its a combination +# of all backends. +for backend in ${PRELOADABLE_BACKENDS} ; do + BACKEND_CONFS_ENABLED="${BACKEND_CONFS_ENABLED} ${backend}.conf" + BACKEND_MANS_ENABLED="${BACKEND_MANS_ENABLED} sane-${backend}.5" + # Special hacks. Normally, we create a convenience library that + # matches the backend's name but in some cases that will conflict + # with an external library name that also matches backend name. + # Work around that here by renaming internal library. + if test "${backend}" = "gphoto2"; then + backend=gphoto2_i + fi + PRELOADABLE_BACKENDS_ENABLED="${PRELOADABLE_BACKENDS_ENABLED} lib${backend}.la" +done + + + + + + +case $host_os in + beos*) + libdir='${exec_prefix}/add-ons' + ;; +esac + +# Check whether --enable-parport-directio was given. +if test "${enable_parport_directio+set}" = set; then : + enableval=$enable_parport_directio; + if eval "test x$enable_parport_directio = xyes"; then + AM_CFLAGS="$AM_CFLAGS -DENABLE_PARPORT_DIRECTIO" + fi + +fi + + + +# Check whether --with-api-spec was given. +if test "${with_api_spec+set}" = set; then : + withval=$with_api_spec; +else + with_api_spec=check +fi + +# Extract the first word of "makeindex", so it can be a program name with args. +set dummy makeindex; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MAKEINDEX+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAKEINDEX in + [\\/]* | ?:[\\/]*) + ac_cv_path_MAKEINDEX="$MAKEINDEX" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_MAKEINDEX="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_MAKEINDEX" && ac_cv_path_MAKEINDEX="no" + ;; +esac +fi +MAKEINDEX=$ac_cv_path_MAKEINDEX +if test -n "$MAKEINDEX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKEINDEX" >&5 +$as_echo "$MAKEINDEX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "dvips", so it can be a program name with args. +set dummy dvips; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_DVIPS+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $DVIPS in + [\\/]* | ?:[\\/]*) + ac_cv_path_DVIPS="$DVIPS" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_DVIPS="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_DVIPS" && ac_cv_path_DVIPS="no" + ;; +esac +fi +DVIPS=$ac_cv_path_DVIPS +if test -n "$DVIPS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DVIPS" >&5 +$as_echo "$DVIPS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "latex", so it can be a program name with args. +set dummy latex; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_LATEX+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $LATEX in + [\\/]* | ?:[\\/]*) + ac_cv_path_LATEX="$LATEX" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_LATEX="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_LATEX" && ac_cv_path_LATEX="no" + ;; +esac +fi +LATEX=$ac_cv_path_LATEX +if test -n "$LATEX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LATEX" >&5 +$as_echo "$LATEX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "pdflatex", so it can be a program name with args. +set dummy pdflatex; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PDFLATEX+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PDFLATEX in + [\\/]* | ?:[\\/]*) + ac_cv_path_PDFLATEX="$PDFLATEX" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PDFLATEX="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_PDFLATEX" && ac_cv_path_PDFLATEX="no" + ;; +esac +fi +PDFLATEX=$ac_cv_path_PDFLATEX +if test -n "$PDFLATEX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PDFLATEX" >&5 +$as_echo "$PDFLATEX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "fig2dev", so it can be a program name with args. +set dummy fig2dev; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_FIG2DEV+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $FIG2DEV in + [\\/]* | ?:[\\/]*) + ac_cv_path_FIG2DEV="$FIG2DEV" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_FIG2DEV="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_FIG2DEV" && ac_cv_path_FIG2DEV="no" + ;; +esac +fi +FIG2DEV=$ac_cv_path_FIG2DEV +if test -n "$FIG2DEV"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FIG2DEV" >&5 +$as_echo "$FIG2DEV" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "gs", so it can be a program name with args. +set dummy gs; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GS+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GS in + [\\/]* | ?:[\\/]*) + ac_cv_path_GS="$GS" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GS="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GS" && ac_cv_path_GS="no" + ;; +esac +fi +GS=$ac_cv_path_GS +if test -n "$GS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GS" >&5 +$as_echo "$GS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "dlh", so it can be a program name with args. +set dummy dlh; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_DLH+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $DLH in + [\\/]* | ?:[\\/]*) + ac_cv_path_DLH="$DLH" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_DLH="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_DLH" && ac_cv_path_DLH="no" + ;; +esac +fi +DLH=$ac_cv_path_DLH +if test -n "$DLH"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLH" >&5 +$as_echo "$DLH" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "ppmtogif", so it can be a program name with args. +set dummy ppmtogif; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PPMTOGIF+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PPMTOGIF in + [\\/]* | ?:[\\/]*) + ac_cv_path_PPMTOGIF="$PPMTOGIF" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PPMTOGIF="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_PPMTOGIF" && ac_cv_path_PPMTOGIF="no" + ;; +esac +fi +PPMTOGIF=$ac_cv_path_PPMTOGIF +if test -n "$PPMTOGIF"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PPMTOGIF" >&5 +$as_echo "$PPMTOGIF" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test xno != "x$with_api_spec"; then : + if test xno != "x$MAKEINDEX" \ + && test xno != "x$DVIPS" \ + && test xno != "x$FIG2DEV" \ + && test xno != "x$LATEX"; then : + with_api_ps=yes +fi + if test xno != "x$MAKEINDEX" \ + && test xno != "x$PDFLATEX" \ + && test xno != "x$FIG2DEV" \ + && test xno != "x$GS"; then : + with_api_pdf=yes +fi + if test xno != "x$MAKEINDEX" \ + && test xno != "x$DVIPS" \ + && test xno != "x$FIG2DEV" \ + && test xno != "x$DLH" \ + && test xno != "x$GS" \ + && test xno != "x$PPMTOFIG" ; then : + with_api_html=yes +fi + + if test xyes = "x$with_api_spec" \ + && test xyes != "x$with_api_ps" \ + && test xyes != "x$with_api_pdf" \ + && test xyes != "x$with_api_html"; then : + as_fn_error $? "tools to convert the API spec are missing" "$LINENO" 5 + +fi + +fi + if test x$with_api_ps = xyes; then + WITH_API_PS_TRUE= + WITH_API_PS_FALSE='#' +else + WITH_API_PS_TRUE='#' + WITH_API_PS_FALSE= +fi + + if test x$with_api_pdf = xyes; then + WITH_API_PDF_TRUE= + WITH_API_PDF_FALSE='#' +else + WITH_API_PDF_TRUE='#' + WITH_API_PDF_FALSE= +fi + + if test x$with_api_html = xyes; then + WITH_API_HTML_TRUE= + WITH_API_HTML_FALSE='#' +else + WITH_API_HTML_TRUE='#' + WITH_API_HTML_FALSE= +fi + + + + + + + +ac_config_files="$ac_config_files Makefile lib/Makefile sanei/Makefile frontend/Makefile japi/Makefile backend/Makefile include/Makefile doc/Makefile po/Makefile.in testsuite/Makefile testsuite/sanei/Makefile testsuite/tools/Makefile tools/Makefile doc/doxygen-sanei.conf doc/doxygen-genesys.conf" + +ac_config_files="$ac_config_files tools/sane-config" + +ac_config_files="$ac_config_files tools/sane-backends.pc" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${CROSS_COMPILING_TRUE}" && test -z "${CROSS_COMPILING_FALSE}"; then + as_fn_error $? "conditional \"CROSS_COMPILING\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + + +if test -z "${have_usblib_TRUE}" && test -z "${have_usblib_FALSE}"; then + as_fn_error $? "conditional \"have_usblib\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${COMPILE_SANED_TRUE}" && test -z "${COMPILE_SANED_FALSE}"; then + as_fn_error $? "conditional \"COMPILE_SANED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_JPEG_TRUE}" && test -z "${HAVE_JPEG_FALSE}"; then + as_fn_error $? "conditional \"HAVE_JPEG\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${INSTALL_UMAX_PP_TOOLS_TRUE}" && test -z "${INSTALL_UMAX_PP_TOOLS_FALSE}"; then + as_fn_error $? "conditional \"INSTALL_UMAX_PP_TOOLS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${WITH_API_PS_TRUE}" && test -z "${WITH_API_PS_FALSE}"; then + as_fn_error $? "conditional \"WITH_API_PS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${WITH_API_PDF_TRUE}" && test -z "${WITH_API_PDF_FALSE}"; then + as_fn_error $? "conditional \"WITH_API_PDF\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${WITH_API_HTML_TRUE}" && test -z "${WITH_API_HTML_FALSE}"; then + as_fn_error $? "conditional \"WITH_API_HTML\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } /^X\(\/\/\)$/{ s//\1/ q @@ -20256,455 +21905,1235 @@ $as_echo X"$file" | q } s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" + test -d "$as_dir" && break done - done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by sane-backends $as_me 1.0.27, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +sane-backends config.status 1.0.27 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' } - ;; - "$ac_stdint_h":C) -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_stdint_h : $_ac_stdint_h" >&5 -$as_echo "$as_me: creating $ac_stdint_h : $_ac_stdint_h" >&6;} -ac_stdint=$tmp/_stdint.h -echo "#ifndef" $_ac_stdint_h >$ac_stdint -echo "#define" $_ac_stdint_h "1" >>$ac_stdint -echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint -echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint -echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint -if test "_$ac_cv_header_stdint_t" != "_" ; then -echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint -echo "#include " >>$ac_stdint -echo "#endif" >>$ac_stdint -echo "#endif" >>$ac_stdint -else +# Quote evaled strings. +for var in AS \ +DLLTOOL \ +OBJDUMP \ +SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +sharedlib_from_linklib_cmd \ +AR \ +AR_FLAGS \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +nm_file_list_spec \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +sys_lib_dlsearch_path_spec; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' +xsi_shell='$xsi_shell' +lt_shell_append='$lt_shell_append' + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi -cat >>$ac_stdint < -#else -#include -/* .................... configured part ............................ */ -STDINT_EOF +# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake < 1.5. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" -echo "/* whether we have a C99 compatible stdint header file */" >>$ac_stdint -if test "_$ac_cv_header_stdint_x" != "_" ; then - ac_header="$ac_cv_header_stdint_x" - echo "#define _STDINT_HEADER_INTPTR" '"'"$ac_header"'"' >>$ac_stdint -else - echo "/* #undef _STDINT_HEADER_INTPTR */" >>$ac_stdint -fi +# variables for create stdint.h replacement +PACKAGE="$PACKAGE" +VERSION="$VERSION" +ac_stdint_h="$ac_stdint_h" +_ac_stdint_h=`$as_echo "_$PACKAGE-$ac_stdint_h" | $as_tr_cpp` +ac_cv_stdint_message="$ac_cv_stdint_message" +ac_cv_header_stdint_t="$ac_cv_header_stdint_t" +ac_cv_header_stdint_x="$ac_cv_header_stdint_x" +ac_cv_header_stdint_o="$ac_cv_header_stdint_o" +ac_cv_header_stdint_u="$ac_cv_header_stdint_u" +ac_cv_type_uint64_t="$ac_cv_type_uint64_t" +ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t" +ac_cv_char_data_model="$ac_cv_char_data_model" +ac_cv_long_data_model="$ac_cv_long_data_model" +ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t" +ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t" +ac_cv_type_intmax_t="$ac_cv_type_intmax_t" -echo "/* whether we have a C96 compatible inttypes header file */" >>$ac_stdint -if test "_$ac_cv_header_stdint_o" != "_" ; then - ac_header="$ac_cv_header_stdint_o" - echo "#define _STDINT_HEADER_UINT32" '"'"$ac_header"'"' >>$ac_stdint -else - echo "/* #undef _STDINT_HEADER_UINT32 */" >>$ac_stdint -fi -echo "/* whether we have a BSD compatible inet types header */" >>$ac_stdint -if test "_$ac_cv_header_stdint_u" != "_" ; then - ac_header="$ac_cv_header_stdint_u" - echo "#define _STDINT_HEADER_U_INT32" '"'"$ac_header"'"' >>$ac_stdint -else - echo "/* #undef _STDINT_HEADER_U_INT32 */" >>$ac_stdint -fi +_ACEOF -echo "" >>$ac_stdint +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if test "_$ac_header" != "_" ; then if test "$ac_header" != "stddef.h" ; then - echo "#include <$ac_header>" >>$ac_stdint - echo "" >>$ac_stdint -fi fi +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "include/sane/config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/sane/config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; + "$ac_stdint_h") CONFIG_COMMANDS="$CONFIG_COMMANDS $ac_stdint_h" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; + "sanei/Makefile") CONFIG_FILES="$CONFIG_FILES sanei/Makefile" ;; + "frontend/Makefile") CONFIG_FILES="$CONFIG_FILES frontend/Makefile" ;; + "japi/Makefile") CONFIG_FILES="$CONFIG_FILES japi/Makefile" ;; + "backend/Makefile") CONFIG_FILES="$CONFIG_FILES backend/Makefile" ;; + "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; + "testsuite/sanei/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/sanei/Makefile" ;; + "testsuite/tools/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/tools/Makefile" ;; + "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; + "doc/doxygen-sanei.conf") CONFIG_FILES="$CONFIG_FILES doc/doxygen-sanei.conf" ;; + "doc/doxygen-genesys.conf") CONFIG_FILES="$CONFIG_FILES doc/doxygen-genesys.conf" ;; + "tools/sane-config") CONFIG_FILES="$CONFIG_FILES tools/sane-config" ;; + "tools/sane-backends.pc") CONFIG_FILES="$CONFIG_FILES tools/sane-backends.pc" ;; -echo "/* which 64bit typedef has been found */" >>$ac_stdint -if test "$ac_cv_type_uint64_t" = "yes" ; then -echo "#define _STDINT_HAVE_UINT64_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_UINT64_T */" >>$ac_stdint -fi -if test "$ac_cv_type_u_int64_t" = "yes" ; then -echo "#define _STDINT_HAVE_U_INT64_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_U_INT64_T */" >>$ac_stdint -fi -echo "" >>$ac_stdint + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done -echo "/* which type model has been detected */" >>$ac_stdint -if test "_$ac_cv_char_data_model" != "_" ; then -echo "#define _STDINT_CHAR_MODEL" "$ac_cv_char_data_model" >>$ac_stdint -echo "#define _STDINT_LONG_MODEL" "$ac_cv_long_data_model" >>$ac_stdint -else -echo "/* #undef _STDINT_CHAR_MODEL // skipped */" >>$ac_stdint -echo "/* #undef _STDINT_LONG_MODEL // skipped */" >>$ac_stdint -fi -echo "" >>$ac_stdint -echo "/* whether int_least types were detected */" >>$ac_stdint -if test "$ac_cv_type_int_least32_t" = "yes"; then -echo "#define _STDINT_HAVE_INT_LEAST32_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_INT_LEAST32_T */" >>$ac_stdint -fi -echo "/* whether int_fast types were detected */" >>$ac_stdint -if test "$ac_cv_type_int_fast32_t" = "yes"; then -echo "#define _STDINT_HAVE_INT_FAST32_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_INT_FAST32_T */" >>$ac_stdint -fi -echo "/* whether intmax_t type was detected */" >>$ac_stdint -if test "$ac_cv_type_intmax_t" = "yes"; then -echo "#define _STDINT_HAVE_INTMAX_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_INTMAX_T */" >>$ac_stdint +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi -echo "" >>$ac_stdint - cat >>$ac_stdint </dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp -#ifdef _STDINT_HAVE_U_INT_TYPES -#undef _STDINT_NEED_INT_MODEL_T -#endif +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then -#ifdef _STDINT_CHAR_MODEL -#if _STDINT_CHAR_MODEL+0 == 122 || _STDINT_CHAR_MODEL+0 == 124 -#ifndef _STDINT_BYTE_MODEL -#define _STDINT_BYTE_MODEL 12 -#endif -#endif -#endif -#ifndef _STDINT_HAVE_INT_LEAST32_T -#define _STDINT_NEED_INT_LEAST_T -#endif +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi -#ifndef _STDINT_HAVE_INT_FAST32_T -#define _STDINT_NEED_INT_FAST_T -#endif +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF -#ifndef _STDINT_HEADER_INTPTR -#define _STDINT_NEED_INTPTR_T -#ifndef _STDINT_HAVE_INTMAX_T -#define _STDINT_NEED_INTMAX_T -#endif -#endif +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -/* .................... definition part ............................ */ + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" -/* some system headers have good uint64_t */ -#ifndef _HAVE_UINT64_T -#if defined _STDINT_HAVE_UINT64_T || defined HAVE_UINT64_T -#define _HAVE_UINT64_T -#elif defined _STDINT_HAVE_U_INT64_T || defined HAVE_U_INT64_T -#define _HAVE_UINT64_T -typedef u_int64_t uint64_t; -#endif -#endif +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } -#ifndef _HAVE_UINT64_T -/* .. here are some common heuristics using compiler runtime specifics */ -#if defined __STDC_VERSION__ && defined __STDC_VERSION__ >= 199901L -#define _HAVE_UINT64_T -#define _HAVE_LONGLONG_UINT64_T -typedef long long int64_t; -typedef unsigned long long uint64_t; + print line +} -#elif !defined __STRICT_ANSI__ -#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ -#define _HAVE_UINT64_T -typedef __int64 int64_t; -typedef unsigned __int64 uint64_t; +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF -#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__ -/* note: all ELF-systems seem to have loff-support which needs 64-bit */ -#if !defined _NO_LONGLONG -#define _HAVE_UINT64_T -#define _HAVE_LONGLONG_UINT64_T -typedef long long int64_t; -typedef unsigned long long uint64_t; -#endif +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi -#elif defined __alpha || (defined __mips && defined _ABIN32) -#if !defined _NO_LONGLONG -typedef long int64_t; -typedef unsigned long uint64_t; -#endif - /* compiler/cpu type to define int64_t */ -#endif -#endif -#endif +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" -#if defined _STDINT_HAVE_U_INT_TYPES -/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */ -typedef u_int8_t uint8_t; -typedef u_int16_t uint16_t; -typedef u_int32_t uint32_t; +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF -/* glibc compatibility */ -#ifndef __int8_t_defined -#define __int8_t_defined -#endif -#endif +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. -#ifdef _STDINT_NEED_INT_MODEL_T -/* we must guess all the basic types. Apart from byte-adressable system, */ -/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */ -/* (btw, those nibble-addressable systems are way off, or so we assume) */ +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. -#if defined _STDINT_BYTE_MODEL -#if _STDINT_LONG_MODEL+0 == 242 -/* 2:4:2 = IP16 = a normal 16-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned long uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef long int32_t; -#endif -#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444 -/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */ -/* 4:4:4 = ILP32 = a normal 32-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -#endif -#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488 -/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */ -/* 4:8:8 = LP64 = a normal 64-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -#endif -/* this system has a "long" of 64bit */ -#ifndef _HAVE_UINT64_T -#define _HAVE_UINT64_T -typedef unsigned long uint64_t; -typedef long int64_t; -#endif -#elif _STDINT_LONG_MODEL+0 == 448 -/* LLP64 a 64-bit system derived from a 32-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -#endif -/* assuming the system has a "long long" */ -#ifndef _HAVE_UINT64_T -#define _HAVE_UINT64_T -#define _HAVE_LONGLONG_UINT64_T -typedef unsigned long long uint64_t; -typedef long long int64_t; -#endif -#else -#define _STDINT_NO_INT32_T -#endif -#else -#define _STDINT_NO_INT8_T -#define _STDINT_NO_INT32_T -#endif -#endif +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 -/* - * quote from SunOS-5.8 sys/inttypes.h: - * Use at your own risk. As of February 1996, the committee is squarely - * behind the fixed sized types; the "least" and "fast" types are still being - * discussed. The probability that the "fast" types may be removed before - * the standard is finalized is high enough that they are not currently - * implemented. - */ +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" -#if defined _STDINT_NEED_INT_LEAST_T -typedef int8_t int_least8_t; -typedef int16_t int_least16_t; -typedef int32_t int_least32_t; -#ifdef _HAVE_UINT64_T -typedef int64_t int_least64_t; -#endif -typedef uint8_t uint_least8_t; -typedef uint16_t uint_least16_t; -typedef uint32_t uint_least32_t; -#ifdef _HAVE_UINT64_T -typedef uint64_t uint_least64_t; -#endif - /* least types */ -#endif +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift -#if defined _STDINT_NEED_INT_FAST_T -typedef int8_t int_fast8_t; -typedef int int_fast16_t; -typedef int32_t int_fast32_t; -#ifdef _HAVE_UINT64_T -typedef int64_t int_fast64_t; -#endif + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done -typedef uint8_t uint_fast8_t; -typedef unsigned uint_fast16_t; -typedef uint32_t uint_fast32_t; -#ifdef _HAVE_UINT64_T -typedef uint64_t uint_fast64_t; -#endif - /* fast types */ -#endif + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac -#ifdef _STDINT_NEED_INTMAX_T -#ifdef _HAVE_UINT64_T -typedef int64_t intmax_t; -typedef uint64_t uintmax_t; -#else -typedef long intmax_t; -typedef unsigned long uintmax_t; -#endif -#endif + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac -#ifdef _STDINT_NEED_INTPTR_T -#ifndef __intptr_t_defined -#define __intptr_t_defined -/* we encourage using "long" to store pointer values, never use "int" ! */ -#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 -typedef unsigned int uintptr_t; -typedef int intptr_t; -#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 -typedef unsigned long uintptr_t; -typedef long intptr_t; -#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T -typedef uint64_t uintptr_t; -typedef int64_t intptr_t; -#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */ -typedef unsigned long uintptr_t; -typedef long intptr_t; -#endif -#endif -#endif + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. -/* The ISO C99 standard specifies that in C++ implementations these - should only be defined if explicitly requested. */ -#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS -#ifndef UINT32_C +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -/* Signed. */ -# define INT8_C(c) c -# define INT16_C(c) c -# define INT32_C(c) c -# ifdef _HAVE_LONGLONG_UINT64_T -# define INT64_C(c) c ## L -# else -# define INT64_C(c) c ## LL -# endif -/* Unsigned. */ -# define UINT8_C(c) c ## U -# define UINT16_C(c) c ## U -# define UINT32_C(c) c ## U -# ifdef _HAVE_LONGLONG_UINT64_T -# define UINT64_C(c) c ## UL -# else -# define UINT64_C(c) c ## ULL -# endif + case $ac_mode in + :F) + # + # CONFIG_FILE + # -/* Maximal type. */ -# ifdef _HAVE_LONGLONG_UINT64_T -# define INTMAX_C(c) c ## L -# define UINTMAX_C(c) c ## UL -# else -# define INTMAX_C(c) c ## LL -# define UINTMAX_C(c) c ## ULL -# endif + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF - /* literalnumbers */ -#endif -#endif +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF -/* These limits are merily those of a two complement byte-oriented system */ +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -/* Minimum of signed integral types. */ -# define INT8_MIN (-128) -# define INT16_MIN (-32767-1) -# define INT32_MIN (-2147483647-1) -# define INT64_MIN (-__INT64_C(9223372036854775807)-1) -/* Maximum of signed integral types. */ -# define INT8_MAX (127) -# define INT16_MAX (32767) -# define INT32_MAX (2147483647) -# define INT64_MAX (__INT64_C(9223372036854775807)) +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} -/* Maximum of unsigned integral types. */ -# define UINT8_MAX (255) -# define UINT16_MAX (65535) -# define UINT32_MAX (4294967295U) -# define UINT64_MAX (__UINT64_C(18446744073709551615)) + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; -/* Minimum of signed integral types having a minimum size. */ -# define INT_LEAST8_MIN INT8_MIN -# define INT_LEAST16_MIN INT16_MIN -# define INT_LEAST32_MIN INT32_MIN -# define INT_LEAST64_MIN INT64_MIN -/* Maximum of signed integral types having a minimum size. */ -# define INT_LEAST8_MAX INT8_MAX -# define INT_LEAST16_MAX INT16_MAX -# define INT_LEAST32_MAX INT32_MAX -# define INT_LEAST64_MAX INT64_MAX + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac -/* Maximum of unsigned integral types having a minimum size. */ -# define UINT_LEAST8_MAX UINT8_MAX -# define UINT_LEAST16_MAX UINT16_MAX -# define UINT_LEAST32_MAX UINT32_MAX -# define UINT_LEAST64_MAX UINT64_MAX - /* shortcircuit*/ -#endif - /* once */ -#endif -#endif -STDINT_EOF -fi - if cmp -s $ac_stdint_h $ac_stdint 2>/dev/null; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_stdint_h is unchanged" >&5 -$as_echo "$as_me: $ac_stdint_h is unchanged" >&6;} + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named 'Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` else - ac_dir=`$as_dirname -- "$ac_stdint_h" || -$as_expr X"$ac_stdint_h" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_stdint_h" : 'X\(//\)[^/]' \| \ - X"$ac_stdint_h" : 'X\(//\)$' \| \ - X"$ac_stdint_h" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_stdint_h" | + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running 'make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "$am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -20722,10 +23151,12 @@ $as_echo X"$ac_stdint_h" | q } s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - rm -f $ac_stdint_h - mv $ac_stdint $ac_stdint_h - fi + as_dir=$dirpart/$fdir; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} ;; "libtool":C) @@ -20781,6 +23212,13 @@ available_tags="" # ### BEGIN LIBTOOL CONFIG +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build static libraries. +build_old_libs=$enable_static + # Assembler program. AS=$lt_AS @@ -20790,13 +23228,6 @@ DLLTOOL=$lt_DLLTOOL # Object dumper program. OBJDUMP=$lt_OBJDUMP -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - # Whether or not to build shared libraries. build_libtool_libs=$enable_shared @@ -21039,326 +23470,903 @@ striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# ### END LIBTOOL CONFIG + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain="$ac_aux_dir/ltmain.sh" + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + if test x"$xsi_shell" = xyes; then + sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ +func_dirname ()\ +{\ +\ case ${1} in\ +\ */*) func_dirname_result="${1%/*}${2}" ;;\ +\ * ) func_dirname_result="${3}" ;;\ +\ esac\ +} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_basename ()$/,/^} # func_basename /c\ +func_basename ()\ +{\ +\ func_basename_result="${1##*/}"\ +} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ +func_dirname_and_basename ()\ +{\ +\ case ${1} in\ +\ */*) func_dirname_result="${1%/*}${2}" ;;\ +\ * ) func_dirname_result="${3}" ;;\ +\ esac\ +\ func_basename_result="${1##*/}"\ +} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ +func_stripname ()\ +{\ +\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ +\ # positional parameters, so assign one to ordinary parameter first.\ +\ func_stripname_result=${3}\ +\ func_stripname_result=${func_stripname_result#"${1}"}\ +\ func_stripname_result=${func_stripname_result%"${2}"}\ +} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds -# A language specific compiler. -CC=$lt_compiler + sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ +func_split_long_opt ()\ +{\ +\ func_split_long_opt_name=${1%%=*}\ +\ func_split_long_opt_arg=${1#*=}\ +} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: -# Is the compiler the GNU compiler? -with_gcc=$GCC -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ +func_split_short_opt ()\ +{\ +\ func_split_short_opt_arg=${1#??}\ +\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ +} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl + sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ +func_lo2o ()\ +{\ +\ case ${1} in\ +\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ +\ *) func_lo2o_result=${1} ;;\ +\ esac\ +} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o + sed -e '/^func_xform ()$/,/^} # func_xform /c\ +func_xform ()\ +{\ + func_xform_result=${1%.*}.lo\ +} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + sed -e '/^func_arith ()$/,/^} # func_arith /c\ +func_arith ()\ +{\ + func_arith_result=$(( $* ))\ +} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec + sed -e '/^func_len ()$/,/^} # func_len /c\ +func_len ()\ +{\ + func_len_result=${#1}\ +} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object +fi -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds +if test x"$lt_shell_append" = xyes; then + sed -e '/^func_append ()$/,/^} # func_append /c\ +func_append ()\ +{\ + eval "${1}+=\\${2}"\ +} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds + sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ +func_append_quoted ()\ +{\ +\ func_quote_for_eval "${2}"\ +\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ +} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld + # Save a `func_append' function call where possible by direct use of '+=' + sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +else + # Save a `func_append' function call even when '+=' is not available + sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +fi -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag +if test x"$_lt_function_replace_fail" = x":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 +$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} +fi -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator + ;; + "po-directories":C) + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + # Treat a directory as a PO directory if and only if it has a + # POTFILES.in file. This allows packages to have multiple PO + # directories under different names or in different locations. + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done ;; + "$ac_stdint_h":C) +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_stdint_h : $_ac_stdint_h" >&5 +$as_echo "$as_me: creating $ac_stdint_h : $_ac_stdint_h" >&6;} +ac_stdint=$tmp/_stdint.h -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct +echo "#ifndef" $_ac_stdint_h >$ac_stdint +echo "#define" $_ac_stdint_h "1" >>$ac_stdint +echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint +echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint +echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint +if test "_$ac_cv_header_stdint_t" != "_" ; then +echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint +echo "#include " >>$ac_stdint +echo "#endif" >>$ac_stdint +echo "#endif" >>$ac_stdint +else -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute +cat >>$ac_stdint < +#else +#include -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic +/* .................... configured part ............................ */ -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath +STDINT_EOF -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs +echo "/* whether we have a C99 compatible stdint header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_header="$ac_cv_header_stdint_x" + echo "#define _STDINT_HEADER_INTPTR" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_INTPTR */" >>$ac_stdint +fi -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols +echo "/* whether we have a C96 compatible inttypes header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_o" != "_" ; then + ac_header="$ac_cv_header_stdint_o" + echo "#define _STDINT_HEADER_UINT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_UINT32 */" >>$ac_stdint +fi -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds +echo "/* whether we have a BSD compatible inet types header */" >>$ac_stdint +if test "_$ac_cv_header_stdint_u" != "_" ; then + ac_header="$ac_cv_header_stdint_u" + echo "#define _STDINT_HEADER_U_INT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_U_INT32 */" >>$ac_stdint +fi -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms +echo "" >>$ac_stdint -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms +if test "_$ac_header" != "_" ; then if test "$ac_header" != "stddef.h" ; then + echo "#include <$ac_header>" >>$ac_stdint + echo "" >>$ac_stdint +fi fi -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds +echo "/* which 64bit typedef has been found */" >>$ac_stdint +if test "$ac_cv_type_uint64_t" = "yes" ; then +echo "#define _STDINT_HAVE_UINT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_UINT64_T */" >>$ac_stdint +fi +if test "$ac_cv_type_u_int64_t" = "yes" ; then +echo "#define _STDINT_HAVE_U_INT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_U_INT64_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds +echo "/* which type model has been detected */" >>$ac_stdint +if test "_$ac_cv_char_data_model" != "_" ; then +echo "#define _STDINT_CHAR_MODEL" "$ac_cv_char_data_model" >>$ac_stdint +echo "#define _STDINT_LONG_MODEL" "$ac_cv_long_data_model" >>$ac_stdint +else +echo "/* #undef _STDINT_CHAR_MODEL // skipped */" >>$ac_stdint +echo "/* #undef _STDINT_LONG_MODEL // skipped */" >>$ac_stdint +fi +echo "" >>$ac_stdint -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec +echo "/* whether int_least types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_least32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_LEAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_LEAST32_T */" >>$ac_stdint +fi +echo "/* whether int_fast types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_fast32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_FAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_FAST32_T */" >>$ac_stdint +fi +echo "/* whether intmax_t type was detected */" >>$ac_stdint +if test "$ac_cv_type_intmax_t" = "yes"; then +echo "#define _STDINT_HAVE_INTMAX_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INTMAX_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action + cat >>$ac_stdint <> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac +#ifdef _STDINT_CHAR_MODEL +#if _STDINT_CHAR_MODEL+0 == 122 || _STDINT_CHAR_MODEL+0 == 124 +#ifndef _STDINT_BYTE_MODEL +#define _STDINT_BYTE_MODEL 12 +#endif +#endif +#endif +#ifndef _STDINT_HAVE_INT_LEAST32_T +#define _STDINT_NEED_INT_LEAST_T +#endif -ltmain="$ac_aux_dir/ltmain.sh" +#ifndef _STDINT_HAVE_INT_FAST32_T +#define _STDINT_NEED_INT_FAST_T +#endif +#ifndef _STDINT_HEADER_INTPTR +#define _STDINT_NEED_INTPTR_T +#ifndef _STDINT_HAVE_INTMAX_T +#define _STDINT_NEED_INTMAX_T +#endif +#endif - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - if test x"$xsi_shell" = xyes; then - sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ -func_dirname ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: +/* .................... definition part ............................ */ +/* some system headers have good uint64_t */ +#ifndef _HAVE_UINT64_T +#if defined _STDINT_HAVE_UINT64_T || defined HAVE_UINT64_T +#define _HAVE_UINT64_T +#elif defined _STDINT_HAVE_U_INT64_T || defined HAVE_U_INT64_T +#define _HAVE_UINT64_T +typedef u_int64_t uint64_t; +#endif +#endif - sed -e '/^func_basename ()$/,/^} # func_basename /c\ -func_basename ()\ -{\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: +#ifndef _HAVE_UINT64_T +/* .. here are some common heuristics using compiler runtime specifics */ +#if defined __STDC_VERSION__ && defined __STDC_VERSION__ >= 199901L +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; +#elif !defined __STRICT_ANSI__ +#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ +#define _HAVE_UINT64_T +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; - sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ -func_dirname_and_basename ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: +#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__ +/* note: all ELF-systems seem to have loff-support which needs 64-bit */ +#if !defined _NO_LONGLONG +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; +#endif +#elif defined __alpha || (defined __mips && defined _ABIN32) +#if !defined _NO_LONGLONG +typedef long int64_t; +typedef unsigned long uint64_t; +#endif + /* compiler/cpu type to define int64_t */ +#endif +#endif +#endif - sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ -func_stripname ()\ -{\ -\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ -\ # positional parameters, so assign one to ordinary parameter first.\ -\ func_stripname_result=${3}\ -\ func_stripname_result=${func_stripname_result#"${1}"}\ -\ func_stripname_result=${func_stripname_result%"${2}"}\ -} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: +#if defined _STDINT_HAVE_U_INT_TYPES +/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */ +typedef u_int8_t uint8_t; +typedef u_int16_t uint16_t; +typedef u_int32_t uint32_t; +/* glibc compatibility */ +#ifndef __int8_t_defined +#define __int8_t_defined +#endif +#endif - sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ -func_split_long_opt ()\ -{\ -\ func_split_long_opt_name=${1%%=*}\ -\ func_split_long_opt_arg=${1#*=}\ -} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: +#ifdef _STDINT_NEED_INT_MODEL_T +/* we must guess all the basic types. Apart from byte-adressable system, */ +/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */ +/* (btw, those nibble-addressable systems are way off, or so we assume) */ - sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ -func_split_short_opt ()\ -{\ -\ func_split_short_opt_arg=${1#??}\ -\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ -} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: +#if defined _STDINT_BYTE_MODEL +#if _STDINT_LONG_MODEL+0 == 242 +/* 2:4:2 = IP16 = a normal 16-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef long int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444 +/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */ +/* 4:4:4 = ILP32 = a normal 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488 +/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */ +/* 4:8:8 = LP64 = a normal 64-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* this system has a "long" of 64bit */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +typedef unsigned long uint64_t; +typedef long int64_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 448 +/* LLP64 a 64-bit system derived from a 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* assuming the system has a "long long" */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef unsigned long long uint64_t; +typedef long long int64_t; +#endif +#else +#define _STDINT_NO_INT32_T +#endif +#else +#define _STDINT_NO_INT8_T +#define _STDINT_NO_INT32_T +#endif +#endif +/* + * quote from SunOS-5.8 sys/inttypes.h: + * Use at your own risk. As of February 1996, the committee is squarely + * behind the fixed sized types; the "least" and "fast" types are still being + * discussed. The probability that the "fast" types may be removed before + * the standard is finalized is high enough that they are not currently + * implemented. + */ - sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ -func_lo2o ()\ -{\ -\ case ${1} in\ -\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ -\ *) func_lo2o_result=${1} ;;\ -\ esac\ -} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: +#if defined _STDINT_NEED_INT_LEAST_T +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_least64_t; +#endif +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_least64_t; +#endif + /* least types */ +#endif - sed -e '/^func_xform ()$/,/^} # func_xform /c\ -func_xform ()\ -{\ - func_xform_result=${1%.*}.lo\ -} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: +#if defined _STDINT_NEED_INT_FAST_T +typedef int8_t int_fast8_t; +typedef int int_fast16_t; +typedef int32_t int_fast32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_fast64_t; +#endif +typedef uint8_t uint_fast8_t; +typedef unsigned uint_fast16_t; +typedef uint32_t uint_fast32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_fast64_t; +#endif + /* fast types */ +#endif - sed -e '/^func_arith ()$/,/^} # func_arith /c\ -func_arith ()\ -{\ - func_arith_result=$(( $* ))\ -} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: +#ifdef _STDINT_NEED_INTMAX_T +#ifdef _HAVE_UINT64_T +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; +#else +typedef long intmax_t; +typedef unsigned long uintmax_t; +#endif +#endif +#ifdef _STDINT_NEED_INTPTR_T +#ifndef __intptr_t_defined +#define __intptr_t_defined +/* we encourage using "long" to store pointer values, never use "int" ! */ +#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 +typedef unsigned int uintptr_t; +typedef int intptr_t; +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 +typedef unsigned long uintptr_t; +typedef long intptr_t; +#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T +typedef uint64_t uintptr_t; +typedef int64_t intptr_t; +#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */ +typedef unsigned long uintptr_t; +typedef long intptr_t; +#endif +#endif +#endif - sed -e '/^func_len ()$/,/^} # func_len /c\ -func_len ()\ -{\ - func_len_result=${#1}\ -} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: +/* The ISO C99 standard specifies that in C++ implementations these + should only be defined if explicitly requested. */ +#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS +#ifndef UINT32_C -fi +/* Signed. */ +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c +# ifdef _HAVE_LONGLONG_UINT64_T +# define INT64_C(c) c ## L +# else +# define INT64_C(c) c ## LL +# endif -if test x"$lt_shell_append" = xyes; then - sed -e '/^func_append ()$/,/^} # func_append /c\ -func_append ()\ -{\ - eval "${1}+=\\${2}"\ -} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: +/* Unsigned. */ +# define UINT8_C(c) c ## U +# define UINT16_C(c) c ## U +# define UINT32_C(c) c ## U +# ifdef _HAVE_LONGLONG_UINT64_T +# define UINT64_C(c) c ## UL +# else +# define UINT64_C(c) c ## ULL +# endif +/* Maximal type. */ +# ifdef _HAVE_LONGLONG_UINT64_T +# define INTMAX_C(c) c ## L +# define UINTMAX_C(c) c ## UL +# else +# define INTMAX_C(c) c ## LL +# define UINTMAX_C(c) c ## ULL +# endif - sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ -func_append_quoted ()\ -{\ -\ func_quote_for_eval "${2}"\ -\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ -} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: + /* literalnumbers */ +#endif +#endif +/* These limits are merily those of a two complement byte-oriented system */ - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi +/* Minimum of signed integral types. */ +# define INT8_MIN (-128) +# define INT16_MIN (-32767-1) +# define INT32_MIN (-2147483647-1) +# define INT64_MIN (-__INT64_C(9223372036854775807)-1) +/* Maximum of signed integral types. */ +# define INT8_MAX (127) +# define INT16_MAX (32767) +# define INT32_MAX (2147483647) +# define INT64_MAX (__INT64_C(9223372036854775807)) -if test x"$_lt_function_replace_fail" = x":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 -$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} -fi +/* Maximum of unsigned integral types. */ +# define UINT8_MAX (255) +# define UINT16_MAX (65535) +# define UINT32_MAX (4294967295U) +# define UINT64_MAX (__UINT64_C(18446744073709551615)) +/* Minimum of signed integral types having a minimum size. */ +# define INT_LEAST8_MIN INT8_MIN +# define INT_LEAST16_MIN INT16_MIN +# define INT_LEAST32_MIN INT32_MIN +# define INT_LEAST64_MIN INT64_MIN +/* Maximum of signed integral types having a minimum size. */ +# define INT_LEAST8_MAX INT8_MAX +# define INT_LEAST16_MAX INT16_MAX +# define INT_LEAST32_MAX INT32_MAX +# define INT_LEAST64_MAX INT64_MAX - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" +/* Maximum of unsigned integral types having a minimum size. */ +# define UINT_LEAST8_MAX UINT8_MAX +# define UINT_LEAST16_MAX UINT16_MAX +# define UINT_LEAST32_MAX UINT32_MAX +# define UINT_LEAST64_MAX UINT64_MAX + /* shortcircuit*/ +#endif + /* once */ +#endif +#endif +STDINT_EOF +fi + if cmp -s $ac_stdint_h $ac_stdint 2>/dev/null; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_stdint_h is unchanged" >&5 +$as_echo "$as_me: $ac_stdint_h is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_stdint_h" || +$as_expr X"$ac_stdint_h" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_stdint_h" : 'X\(//\)[^/]' \| \ + X"$ac_stdint_h" : 'X\(//\)$' \| \ + X"$ac_stdint_h" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_stdint_h" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + rm -f $ac_stdint_h + mv $ac_stdint $ac_stdint_h + fi ;; "tools/sane-config":F) chmod a+x tools/sane-config ;; @@ -21402,9 +24410,9 @@ fi echo "-> Variables used for compilation/linking:" -echo CPPFLAGS=\"${CPPFLAGS}\" -echo CFLAGS=\"${CFLAGS}\" -echo LDFLAGS=\"${LDFLAGS}\" +echo AM_CPPFLAGS=\"${AM_CPPFLAGS}\" +echo AM_CFLAGS=\"${AM_CFLAGS}\" +echo AM_LDFLAGS=\"${AM_LDFLAGS}\" echo LIBS=\"${LIBS}\" echo "-> Installation directories:" echo "Configuration: `eval eval echo ${sysconfdir}`" @@ -21463,10 +24471,10 @@ if test "$SELECTED_BACKENDS" != "" ; then echo "*** connected to your local computer won't be supported. Only a network" echo "*** connection to a remote host is possible." fi -if test "$enable_libusb" != "no" && test "$HAVE_USB" != "yes" ; then - echo "*** Warning: sane-backends will be built without libusb support. There may" +if test "$with_usb" != "no" && test "$have_usb" != "yes" ; then + echo "*** Warning: sane-backends will be built without USB support. There may" echo "*** be valid reasons to do so, e.g. if you don't use USB scanners or on" - echo "*** platforms without libusb support but generally this means that you" + echo "*** platforms without USB support but generally this means that you" echo "*** can't use USB devices with SANE. The most probable cause is that" if test "${ac_cv_header_usb_h}" != "yes"; then echo "*** the libusb header file usb.h is not installed. If you use Linux" diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..fc6e8a2 --- /dev/null +++ b/configure.ac @@ -0,0 +1,873 @@ +dnl Process this file with autoconf to produce a configure script. + +dnl ****************************************************************** +dnl Set up autoconf and automake +dnl When preparing a release, modify the numeric version components +dnl and remove the git suffix. +dnl ****************************************************************** +AC_INIT([sane-backends],[1.0.27], + [sane-devel@lists.alioth.debian.org]) +AC_PREREQ(2.69) dnl minimum autoconf version required +AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_HEADERS([include/sane/config.h]) + +AM_INIT_AUTOMAKE([1.11.6 subdir-objects -Wall]) +AM_SILENT_RULES +dnl Turn off feature were automake will automatically run autoreconf. +dnl This is because we used to check in generated files into CVS which +dnl has known timestamp issues. +AM_MAINTAINER_MODE + +dnl ****************************************************************** +dnl Determine SANE version components and release status +dnl ****************************************************************** +AS_IF([test x = "x$AWK"],[AC_PROG_AWK]) +AS_IF([test x = "x`echo $VERSION | sed 's/[[.0-9]]//g'`"], + [is_release=yes], + [is_release=no]) +V_MAJOR=`echo $VERSION | $AWK -F. '{print $1}'` +V_MINOR=`echo $VERSION | $AWK -F. '{print $2}'` +V_REV=`echo $VERSION | $AWK -F. '{print $3}' | sed 's/[[^0-9]]//g'`; + +AC_DEFINE_UNQUOTED(SANE_DLL_V_MAJOR, $V_MAJOR, [SANE DLL major number]) +AC_DEFINE_UNQUOTED(SANE_DLL_V_MINOR, $V_MINOR, [SANE DLL minor number]) +AC_DEFINE_UNQUOTED(SANE_DLL_V_BUILD, $V_REV, [SANE DLL revision number]) +AC_SUBST(V_MAJOR) +AC_SUBST(V_MINOR) +AC_SUBST(V_REV) + +dnl ****************************************************************** +dnl Set up the compiler and linker +dnl ****************************************************************** +AC_PROG_CC +AM_PROG_CC_C_O +sane_save_CC=$CC +AC_PROG_CC_C99 dnl enables extensions to ISO C99 :-( +AS_IF([test xno != "x$ac_cv_prog_cc_c99"], + [AC_MSG_CHECKING([for $sane_save_CC option for ISO C99 w/o extensions]) + AS_CASE([$ac_cv_prog_cc_c99], + [-std=gnu99], [sane_prog_cc_c99="-std=c99"], + [-qlanglvl=extc99],[sane_prog_cc_c99="-qlanglvl=stdc99"]) + AS_IF([test "x$ac_cv_prog_cc_c99" = "x$sane_prog_cc_c99"], + [AC_MSG_RESULT([$ac_cv_prog_cc_99])], + [AC_MSG_RESULT([$sane_prog_cc_c99]) + CC="$sane_save_CC $sane_prog_cc_c99"]) + ]) +AC_PROG_GCC_TRADITIONAL +AC_USE_SYSTEM_EXTENSIONS dnl call before running the C compiler + +AM_PROG_AR +LT_INIT([disable-static win32-dll]) +LT_PREREQ([2.4.2]) + +dnl ***************************************************************** +dnl Set up I18N/L10N support +dnl ***************************************************************** +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION([0.18.1]) + +dnl *********************************************************************** +dnl Checks for programs. +dnl *********************************************************************** +AC_PATH_PROG(SANE_CONFIG_PATH, sane-config, no) + +dnl Call explicitely before using PKG_* +PKG_PROG_PKG_CONFIG + +AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes) + +dnl *********************************************************************** +dnl set compiler/linker flags +dnl *********************************************************************** +SANE_SET_AM_CFLAGS([$is_release]) +SANE_SET_AM_LDFLAGS + +dnl *********************************************************************** +dnl Checks for unix variants +dnl *********************************************************************** +AC_SEARCH_LIBS([strerror],[cposix]) + +AC_NEED_BYTEORDER_H([include/byteorder.h]) +AX_CREATE_STDINT_H([include/_stdint.h]) + +dnl *********************************************************************** +dnl Checks for libraries +dnl *********************************************************************** +AC_ARG_ENABLE(dynamic, + AS_HELP_STRING([--disable-dynamic], + [Disable dynamic loading of backends]), + [enable_dynamic=$enableval], [enable_dynamic=auto]) +SANE_CHECK_DLL_LIB +dnl Checks for Backend libraries. +AC_CHECK_LIB(m, sqrt, MATH_LIB="-lm") +AC_SUBST(MATH_LIB) +case ${host_os} in + os2*) + AC_CHECK_LIB(syslog, sylog, SYSLOG_LIBS="-lsyslog") + ;; + beos*) + AC_CHECK_LIB(be, syslog, SYSLOG_LIBS="-lbe") + ;; +esac +AC_SUBST(SYSLOG_LIBS) + +SANE_CHECK_JPEG +SANE_CHECK_TIFF +SANE_CHECK_PNG +SANE_CHECK_IEEE1284 +SANE_CHECK_PTHREAD +SANE_CHECK_LOCKING +SANE_CHECK_GPHOTO2 + + +AC_ARG_WITH(v4l, + AS_HELP_STRING([--with-v4l], + [include the v4l backend @<:@default=yes@:>@]), + [# If --with-v4l=no or --without-v4l, disable backend + # as "$with_v4l" will be set to "no"]) + +if test "$with_v4l" != "no" ; then + PKG_CHECK_MODULES(LIBV4L, libv4l1, have_libv4l1=yes, have_libv4l1=no) +fi + +AC_ARG_ENABLE(avahi, + AS_HELP_STRING([--enable-avahi], [enable Avahi support for saned and the net backend]), + [enable_avahi=$enableval], [enable_avahi=no]) + +if test "$enable_avahi" = "yes"; then + PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.24 ], + [AC_DEFINE(WITH_AVAHI, 1, [define if Avahi support is enabled for saned and the net backend])], enable_avahi=no) +fi + +dnl check sane to make sure we don't have two installations +AC_CHECK_LIB(sane, sane_init, LIBSANE_EXISTS="yes") + + +dnl ************************************************************** +dnl SNMP CHECKS +dnl ************************************************************** + +AC_ARG_WITH(snmp, + AS_HELP_STRING([--with-snmp], [enable SNMP support @<:@default=yes@:>@])) + +if test "$with_snmp" = "no"; then + echo "Not including SNMP support" +else + AC_PATH_PROG(SNMP_CONFIG_PATH, net-snmp-config, "no") + AC_CHECK_LIB([netsnmp], [snmp_timeout], LIBSNMP_EXISTS="yes") + AC_MSG_CHECKING(for proper SNMP version) + if test "$SNMP_CONFIG_PATH" != "no" ; then + snmp_version=`$SNMP_CONFIG_PATH --version 2>/dev/null` + vers=`echo $snmp_version | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2);}'` + if test -n "$vers" && test "$vers" -ge 5006; then + SNMP_LIBS=`$SNMP_CONFIG_PATH --libs` + SNMP_CFLAGS=`$SNMP_CONFIG_PATH --cflags` + AC_MSG_RESULT(yes) + with_snmp="yes" + else + AC_MSG_RESULT(no) + AC_MSG_WARN([You need at least net-snmp 5.6, your version is $snmp_version]) + with_snmp="no" + fi + else + with_snmp="no" + AC_MSG_RESULT(no) + fi +fi + +if test "$with_snmp" = "yes" && test "${LIBSNMP_EXISTS}x" = "yesx"; then + AC_SUBST(SNMP_LIBS) + AC_SUBST(SNMP_CFLAGS) + AC_DEFINE(HAVE_LIBSNMP, 1, [Define to 1 if you have the net-snmp library.]) +else + AC_MSG_WARN([net-snmp library disabled, autodetecting network scanners will not be supported.]) +fi + + + + + +dnl *********************************************************************** +dnl Checks for header files. +dnl *********************************************************************** +AC_HEADER_STDC +AC_CHECK_HEADERS(fcntl.h unistd.h libc.h sys/dsreq.h sys/select.h \ + sys/time.h sys/shm.h sys/ipc.h sys/signal.h sys/scanio.h os2.h \ + sys/socket.h sys/io.h sys/hw.h sys/types.h linux/ppdev.h \ + dev/ppbus/ppi.h machine/cpufunc.h sys/sem.h sys/poll.h \ + windows.h be/kernel/OS.h limits.h sys/ioctl.h asm/types.h\ + netinet/in.h tiffio.h ifaddrs.h pwd.h getopt.h) +AC_CHECK_HEADERS([asm/io.h],,,[#include ]) + +SANE_CHECK_MISSING_HEADERS + +AC_CHECK_HEADERS(winsock2.h, SOCKET_LIB="-lws2_32") + +AC_CHECK_HEADER(resmgr.h,[ + AC_CHECK_LIB( + resmgr, + rsm_open_device,[ + AC_DEFINE(HAVE_RESMGR,1,[define if you have the resmgr library]) + RESMGR_LIBS="-lresmgr" + ] + ) +]) +AC_SUBST(RESMGR_LIBS) + +dnl *********************************************************************** +dnl Checks for types and structures +dnl *********************************************************************** + +AC_TYPE_SIZE_T +AC_TYPE_PID_T +AC_TYPE_SSIZE_T +SANE_CHECK_U_TYPES + +# from Python, check for "long long" type +AC_MSG_CHECKING(for long long support) +have_long_long=no +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[long long x; x = (long long)0;]])],[AC_DEFINE(HAVE_LONG_LONG, 1, Define if the long long type is available.) have_long_long=yes],[]) +AC_MSG_RESULT($have_long_long) + +AC_MSG_CHECKING([for socklen_t in ]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include +]], [[socklen_t len]])],AC_MSG_RESULT(yes), +[AC_MSG_RESULT(no); AC_DEFINE(socklen_t,int, +[Define socklen_t as \'int\' if necessary.])]) + +AC_MSG_CHECKING([for union semun in ]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include +#include +#include +]], [[union semun test_semun]])],[AC_MSG_RESULT(yes); +AC_DEFINE(HAVE_UNION_SEMUN,1,[Define if union semun is available.])], +[AC_MSG_RESULT(no)]) + +AC_MSG_CHECKING([for struct flock in fcntl.h]) +AC_EGREP_HEADER([struct flock], fcntl.h, [AC_MSG_RESULT(yes) ; + AC_DEFINE(HAVE_STRUCT_FLOCK, 1, + [Define if struct flock is available.])], AC_MSG_RESULT(no)) + +AC_MSG_CHECKING([for Linux ioctl defines]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include +#include +]],[[ +__u32 houba = _IOR('v',14, unsigned long); +]])],[AC_MSG_RESULT(yes); +have_linux_ioctl_defines="yes";],AC_MSG_RESULT(no)) + +dnl *********************************************************************** +dnl Checks for compiler characteristics +dnl *********************************************************************** +AC_C_BIGENDIAN +AC_C_CONST +AC_C_INLINE + +dnl *********************************************************************** +dnl Checks for library functions +dnl *********************************************************************** + +dnl Functions for which we provide an implementation if missing +AC_CONFIG_LIBOBJ_DIR([lib]) +AC_FUNC_ALLOCA +AC_REPLACE_FUNCS([getenv inet_ntop inet_pton isfdtype sigprocmask \ + sleep snprintf strcasestr strdup strndup strsep syslog usleep \ + vsyslog]) +AS_IF([test x != x$ALLOCA], + [LTALLOCA=`echo "$ALLOCA" | sed 's/\.o$//; s/\.obj$//'`.lo]) +AC_SUBST(LTALLOCA) + +dnl Define SOCKET_LIB, NSL_LIB, BIND_LIB, and RESOLV_LIB when required +dnl for functions we use. +AC_CHECK_FUNC(gethostbyaddr,, [AC_CHECK_LIB(bind, gethostbyaddr, BIND_LIB="-lbind")]) +AC_CHECK_FUNC(gethostbyaddr,, [AC_CHECK_LIB(nsl, gethostbyaddr, NSL_LIB="-lnsl")]) +AC_CHECK_FUNC(socket,, [AC_CHECK_LIB(socket, socket, SOCKET_LIB="-lsocket")]) +AC_CHECK_FUNC(inet_aton,, [AC_CHECK_LIB(resolv, inet_aton, RESOLV_LIB="-lresolv")]) + +dnl Group related network libraries together so they can always be linked +dnl in. +SOCKET_LIBS="$SOCKET_LIB $NSL_LIB $BIND_LIB $RESOLV_LIB" +AC_SUBST(SOCKET_LIBS) + +dnl define HAVE_* values for network functions. This may require +dnl SOCKET_LIBS so set LIBS temporarily. +save_LIBS="$LIBS" +LIBS="$LIBS $SOCKET_LIBS" +AC_CHECK_FUNCS(inet_addr inet_aton inet_ntoa) +LIBS="$save_LIBS" + +if test "$ac_cv_header_be_kernel_OS_h" = "yes" ; then + dnl those are known to be broken in BeOS (BONE) + ac_cv_func_getaddrinfo=no + ac_cv_func_getnameinfo=no +fi + +AC_FUNC_MMAP +AC_CHECK_FUNCS(atexit ioperm i386_set_ioperm \ + mkdir strftime strstr strtod \ + cfmakeraw tcsendbreak strcasecmp strncasecmp _portaccess \ + getaddrinfo getnameinfo poll setitimer iopl getuid getpass) + +dnl sys/io.h might provide ioperm but not inb,outb (like for +dnl non i386/x32/x86_64 with musl libc) +if test "${ac_cv_header_sys_io_h}" = "yes"; then + AC_MSG_CHECKING([for inb,outb (provided by sys/io.h)]) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[#include ]], + [[inb(0);outb(0,0);]])], + [AC_MSG_RESULT([yes]) + sane_cv_have_sys_io_h_with_inb_outb="yes"], + [AC_MSG_RESULT([no]) + sane_cv_have_sys_io_h_with_inb_outb="no" + AC_MSG_WARN([sys/io.h does not provide inb,outb (non i386/x32/x86_64 arch?)])]) + if test "$sane_cv_have_sys_io_h_with_inb_outb" = "yes"; then + AC_DEFINE(SANE_HAVE_SYS_IO_H_WITH_INB_OUTB, 1, [Define to 1 if you have the providing inb,outb.]) + fi +else + sane_cv_have_sys_io_h_with_inb_outb="no" +fi + +SANE_PROTOTYPES + +if test "$ac_cv_header_os2_h" = "yes" ; then + AC_DEFINE(strncasecmp, strnicmp, [Define for OS/2 only]) + AC_DEFINE(strcasecmp, stricmp, [Define for OS/2 only]) +fi + +if test "$ac_cv_header_getopt_h" = "yes" ; then + AC_CHECK_FUNCS(getopt_long) +fi + +# Slightly abuse the AC_LIBOBJ macro to mark files as replacement code +AS_IF([test x$ac_cv_header_getopt_h != xyes \ + && test x$ac_cv_func_getopt_long != xyes], + [AC_LIBOBJ(getopt) + AC_LIBOBJ(getopt1)]) + +dnl *********************************************************************** +dnl checks for system services +dnl *********************************************************************** +if test -c /dev/urandom ; then + AC_DEFINE(HAVE_DEV_URANDOM, 1, [Is /dev/urandom available?]) +fi + +AC_ARG_WITH(systemd, + AS_HELP_STRING([--with-systemd], [enable systemd support @<:@default=yes@:>@])) +if test "x$with_systemd" != xno ; then + PKG_CHECK_MODULES(SYSTEMD, [libsystemd], have_systemd=yes, have_systemd=no) + if test "x$have_systemd" = xno; then + PKG_CHECK_MODULES(SYSTEMD, [libsystemd-daemon], have_systemd=yes, have_systemd=no) + fi + if test "x$have_systemd" = xyes; then + AC_DEFINE(HAVE_SYSTEMD, 1, [Is /usr/include/systemd/sd-daemon.h available?]) + else + if test "x$with_systemd" = xyes; then + AC_MSG_ERROR([Systemd support was requested but systemd was not found]) + fi + fi +fi + +dnl ****************************************************************** +dnl Check for USB support +dnl ****************************************************************** + +AC_ARG_WITH(usb, + AS_HELP_STRING([--with-usb], [enable USB support @<:@default=check@:>@]), + [], + [with_usb=check]) +AS_IF([test xno != "x$with_usb"], + [have_usb=no + AS_CASE(x$host_os, dnl odd-ball operating systems first + [beos*], + [AC_CHECK_HEADER(be/drivers/USB_scanner.h, [have_usb=yes])], + [os2*], + [AC_CHECK_HEADER(usbcalls.h, + [AC_CHECK_LIB(usbcall, UsbQueryNumberDevices, + [USB_LIBS="-lusbcall" + have_usb=yes + AC_DEFINE(HAVE_USBCALLS, [1], + [Define to 1 if you have usbcall.dll.]) + ]) + ], + [], + [#include + #include + ]) + ], + [dnl default to libusb-1.x, fall back to libusb-0.x if missing + PKG_CHECK_MODULES([USB], [libusb-1.0], + [AC_DEFINE([HAVE_LIBUSB], [1], + [Define to 1 if you have libusb-1.0]) + have_usb=yes + ], + [PKG_CHECK_MODULES([USB], [libusb >= 0.1.8], + [AC_DEFINE([HAVE_LIBUSB_LEGACY], [1], + [Define to 1 if you have libusb-0.1]) + have_usb=yes + ], + [dnl 10+ years old libusb or Windows version + AC_CHECK_HEADER(usb.h, + AC_CHECK_LIB(usb, usb_interrupt_read, + [USB_LIBS="-lusb" + have_usb=yes + ])) + AC_CHECK_HEADERS(lusb0_usb.h, + AC_CHECK_LIB(usb, usb_interrupt_read, + [USB_LIBS="-lusb" + have_usb=yes + ])) + ]) + ]) + ]) + ]) +AS_IF([test xyes = "x$with_usb" && test xyes != "x$have_usb"], + [AC_MSG_ERROR([USB support requested but required libraries not found.]) + ]) +AM_CONDITIONAL([have_usblib], [test x != "x$USB_LIBS"]) + +dnl ************ +dnl SCSI Support +dnl ************ + +dnl FIXME: These are a lot of header files to scan. We should +dnl scan for just one that is unique per platform and then do +dnl conditional scans for more specific only as needed. + +# Unset VERSION during the SCSI header check +sed "s!^#define VERSION .*!/* & */!" confdefs.h > confdefs.h.tmp +mv confdefs.h.tmp confdefs.h + +AC_CHECK_HEADERS(IOKit/scsi/SCSITaskLib.h IOKit/cdb/IOSCSILib.h \ + IOKit/scsi/SCSICommandOperationCodes.h \ + IOKit/scsi-commands/SCSICommandOperationCodes.h scsi.h sys/scsi.h \ + sys/scsicmd.h sys/scsiio.h bsd/dev/scsireg.h scsi/sg.h \ + camlib.h gscdds.h sys/scsi/scsi.h sys/scsi/sgdefs.h \ + sys/scsi/targets/scgio.h apollo/scsi.h sys/sdi_comm.h \ + sys/passthrudef.h) + +# Restore VERSION +sed "s!/\* \(#define VERSION .*\) \*/!\1!" confdefs.h > confdefs.h.tmp +mv confdefs.h.tmp confdefs.h + +AC_CHECK_HEADERS([io/cam/cam.h],,,[#include ]) +AC_CHECK_HEADERS([ntddscsi.h ddk/ntddscsi.h],,,[#include ]) + +dnl FreeBSD < 3 +if test "$ac_cv_header_sys_scsiio_h" = "yes" \ + && test "$ac_cv_header_scsi_h" = "yes"; then + AC_MSG_CHECKING([if 'scsireq_t' needs to be defined as 'struct scsireq']) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include +#include +]], [[scsireq_t req]])],, + [AC_MSG_RESULT(yes); + AC_DEFINE(scsireq_t, struct scsireq_t, + [Define scsireq_t as \'struct scsireq\' if necessary.])]) +fi +AC_CHECK_LIB(scsi, scsireq_enter, SCSI_LIBS="-lscsi") # FreeBSD needs this + +dnl FreeBSD >= 3 +AC_CHECK_LIB(cam, cam_open_device, SCSI_LIBS="-lcam") # FreeBSD 3+ needs this + +AC_CHECK_FUNCS(scsireq_enter) + +if test "$ac_cv_header_scsi_sg_h" = "yes"; then + AC_MSG_CHECKING([for sg_header.target_status in ]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include +#include +]],[[ +struct sg_header hdr; +hdr.target_status = 1; +return 0; +]])],[AC_MSG_RESULT(yes); + AC_DEFINE(HAVE_SG_TARGET_STATUS,1, + [Define if sg_header.target_status is available.])], + AC_MSG_RESULT(no)) +fi + +if test "$ac_cv_header_IOKit_scsi_SCSITaskLib_h" = "yes"; then + AC_MSG_CHECKING([for SCSITaskSGElement in IOKit/scsi/SCSITaskLib.h]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#undef VERSION +#include +]],[[ +SCSITaskSGElement range; +return 0; +]])],[AC_MSG_RESULT(yes); + AC_DEFINE(HAVE_SCSITASKSGELEMENT, 1, + [Define if SCSITaskSGElement is available.])], + AC_MSG_RESULT(no)) +fi + +# Multiple platforms can set SCSI_LIBS so do substitution at end. +AC_SUBST(SCSI_LIBS) + +AC_ARG_ENABLE(scsibuffersize, + AS_HELP_STRING([--enable-scsibuffersize=N], + [specify the default size in bytes of the buffer for SCSI + commands @<:@default=131072@:>@]), + [set_scsibuffersize="$enableval"], [set_scsibuffersize=131072]) +AC_DEFINE_UNQUOTED(SCSIBUFFERSIZE, $set_scsibuffersize, + [SCSI command buffer size]) +dnl FIXME: Move tihs to configuration printout area but probably +dnl but probably needs to be wrapped by what ever uses it so its +dnl only printed when used. +echo "scsi buffersize: $set_scsibuffersize" + +AC_ARG_ENABLE(scsi-directio, + AS_HELP_STRING([--enable-scsi-directio], + [enable SCSI direct IO (Linux only, dangerous, see + README.linux)]), + [ + if eval "test x$enable_scsi_directio = xyes"; then + AM_CFLAGS="$AM_CFLAGS -DENABLE_SCSI_DIRECTIO" + fi + ]) + +dnl **** +dnl IPv6 +dnl **** + +dnl check for IPv6 (can be overriden by --enable-ipv6) +if test "$ac_cv_func_getnameinfo" = "yes" \ + && test "$ac_cv_func_getaddrinfo" = "yes" ; then + SANE_CHECK_IPV6 +else + ipv6="no" +fi + +dnl *********************************************************************** +dnl initialize libtool +dnl *********************************************************************** +AC_ARG_ENABLE(preload, + AS_HELP_STRING([--disable-preload], + [Disable preloading of backends]), + [enable_preload=$enableval], [enable_preload=auto]) + +dnl Windows (cygwin/mingw), BeOS, and OS/2 need this. +case $host_os in + cygwin* | mingw* | beos* | os2*) + AM_LDFLAGS="$AM_LDFLAGS -no-undefined" +esac + +dnl Check for lock dir + +AC_ARG_WITH(lockdir, AS_HELP_STRING([--with-lockdir=DIR], + [set SANE lockdir @<:@localstatedir/lock/sane@:>@]), + [locksanedir=$withval],[locksanedir=${localstatedir}/lock/sane]) +AC_SUBST(locksanedir) + +configdir="${sysconfdir}/sane.d" +AC_SUBST(configdir) + +dnl *********************************************************************** +dnl enable/disable backends and features based on previous tests and user's +dnl choice +dnl *********************************************************************** + +AM_CPPFLAGS="${AM_CPPFLAGS} -DPATH_SANE_CONFIG_DIR=\$(configdir) \ + -DPATH_SANE_DATA_DIR=\$(datadir) \ + -DPATH_SANE_LOCK_DIR=\$(locksanedir) \ + -DV_MAJOR=${V_MAJOR} -DV_MINOR=${V_MINOR}" + +if test "${ac_cv_header_sys_socket_h}" = "no"; then + echo "*** disabling saned (sys/socket.h not found)" + SANED= +else + SANED=saned +fi +AM_CONDITIONAL(COMPILE_SANED, test x$SANED = xsaned) + +dnl These are the backends that are build in any case: + +AC_ARG_ENABLE(local-backends, + AS_HELP_STRING([--disable-local-backends], + [turn off compilation of all backends but net])) + +ALL_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e \ + avision bh canon canon630u canon_dr canon_pp cardscan \ + coolscan coolscan2 coolscan3 dc25 dc210 dc240 \ + dell1600n_net dmc epjitsu epson epson2 epsonds fujitsu genesys \ + gphoto2 gt68xx hp hp3500 hp3900 hp4200 hp5400 \ + hp5590 hpsj5s hpljm1005 hs2p ibm kodak kodakaio kvs1025 kvs20xx \ + kvs40xx leo lexmark ma1509 magicolor \ + matsushita microtek microtek2 mustek mustek_pp \ + mustek_usb mustek_usb2 nec net niash pie pieusb pint \ + pixma plustek plustek_pp qcam ricoh rts8891 s9036 \ + sceptre sharp sm3600 sm3840 snapscan sp15c st400 \ + stv680 tamarack teco1 teco2 teco3 test u12 umax + umax_pp umax1220u v4l xerox_mfp p5" + +# If user specifies backends manually then cause configure +# to fail if its detected it can't be compiled. If we +# are in automatic mode then remove backend from list instead. +user_selected_backends="yes" + +AC_ARG_VAR(BACKENDS, [list of backends to compile]) +if eval "test x$enable_local_backends = xno"; then + BACKENDS="net" +else + if test "${BACKENDS}" != "" ; then + AC_MSG_NOTICE([Manually selected backends: ${BACKENDS}]) + else + BACKENDS="$ALL_BACKENDS" + user_selected_backends="no" + fi +fi + +SANE_CHECK_BACKENDS + +if test "${sane_cv_use_libjpeg}" = "yes"; then + SANEI_SANEI_JPEG_LO="../sanei/sanei_jpeg.lo" +fi +AM_CONDITIONAL(HAVE_JPEG, test x$sane_cv_use_libjpeg = xyes) +AC_SUBST(SANEI_SANEI_JPEG_LO) + +AC_ARG_ENABLE(pnm-backend, + AS_HELP_STRING([--enable-pnm-backend], + [enable the pnm backend for testing frontends (possible security risk, see PROBLEMS file)]), + [FILTERED_BACKENDS="${FILTERED_BACKENDS} pnm"], + [echo "*** pnm backend not manually selected - disabling"]) + +BACKENDS="$FILTERED_BACKENDS" +BACKEND_LIBS_ENABLED="" +BACKEND_CONFS_ENABLED="" +BACKEND_MANS_ENABLED="" +for backend in ${BACKENDS} ; do + BACKEND_LIBS_ENABLED="${BACKEND_LIBS_ENABLED} libsane-${backend}.la" + BACKEND_CONFS_ENABLED="${BACKEND_CONFS_ENABLED} ${backend}.conf" + BACKEND_MANS_ENABLED="${BACKEND_MANS_ENABLED} sane-${backend}.5" + if test x$backend = xumax_pp; then + install_umax_pp_tools=yes + fi +done +AC_SUBST(BACKEND_LIBS_ENABLED) +AM_CONDITIONAL(INSTALL_UMAX_PP_TOOLS, test xyes = x$install_umax_pp_tools) + +AC_ARG_VAR(PRELOADABLE_BACKENDS, [list of backends to preload into single DLL]) +if test "${enable_preload}" = "auto"; then + if test "${enable_shared}" = "no" || test "${enable_dynamic}" != "yes"; then + enable_preload=yes + fi +fi +if test "${enable_preload}" = "yes"; then + echo "preloading backends into DLL" + + # If user specifies backends manually then cause configure + # to fail if its detected it can't be compiled. If we + # are in automatic mode then remove backend from list instead. + user_selected_backends="yes" + + if eval "test x$enable_local_backends = xno"; then + PRELOADABLE_BACKENDS="net" + else + if test "${PRELOADABLE_BACKENDS}" != "" ; then + AC_MSG_NOTICE([Manually selected preloadable backends: ${PRELOADABLE_BACKENDS}]) + else + PRELOADABLE_BACKENDS="$BACKENDS" + user_selected_backends="no" + fi + fi + + saved_BACKENDS="$BACKENDS" + BACKENDS="${PRELOADABLE_BACKENDS}" + + SANE_CHECK_BACKENDS + + PRELOADABLE_BACKENDS="$FILTERED_BACKENDS" + BACKENDS="$saved_BACKENDS" +else + PRELOADABLE_BACKENDS="" +fi +PRELOADABLE_BACKENDS_ENABLED="" +# Do not initialize BACKEND_CONFS_ENABLED so that its a combination +# of all backends. +for backend in ${PRELOADABLE_BACKENDS} ; do + BACKEND_CONFS_ENABLED="${BACKEND_CONFS_ENABLED} ${backend}.conf" + BACKEND_MANS_ENABLED="${BACKEND_MANS_ENABLED} sane-${backend}.5" + # Special hacks. Normally, we create a convenience library that + # matches the backend's name but in some cases that will conflict + # with an external library name that also matches backend name. + # Work around that here by renaming internal library. + if test "${backend}" = "gphoto2"; then + backend=gphoto2_i + fi + PRELOADABLE_BACKENDS_ENABLED="${PRELOADABLE_BACKENDS_ENABLED} lib${backend}.la" +done + +AC_SUBST(PRELOADABLE_BACKENDS) +AC_SUBST(PRELOADABLE_BACKENDS_ENABLED) +AC_SUBST(BACKEND_CONFS_ENABLED) +AC_SUBST(BACKEND_MANS_ENABLED) + +dnl in BeOS, backends are not installed in lib/sane, but add-ons/sane/ +dnl we account for both installing in /boot/beos and ~/config +case $host_os in + beos*) + libdir='${exec_prefix}/add-ons' + ;; +esac + +AC_ARG_ENABLE(parport-directio, + AS_HELP_STRING([--enable-parport-directio], + [enable direct hardware access to the parallel port, so + frontends will require special permission level]), + [ + if eval "test x$enable_parport_directio = xyes"; then + AM_CFLAGS="$AM_CFLAGS -DENABLE_PARPORT_DIRECTIO" + fi + ]) + +dnl ****************************************************************** +dnl SANE API specification format conversion support +dnl ****************************************************************** +AC_ARG_WITH(api-spec, + AS_HELP_STRING([--with-api-spec], + [convert API spec to supported output formats @<:@default=check@:>@]), + [], + [with_api_spec=check]) +dnl Test for all tools that may be involved. These tests are fast and +dnl running them allows for the Makefile targets to be formulated such +dnl that any non-requested formats can be made using a one-off without +dnl the need to reconfigure. +AC_PATH_PROG(MAKEINDEX, makeindex, no) +AC_PATH_PROG(DVIPS, dvips, no) +AC_PATH_PROG(LATEX, latex, no) +AC_PATH_PROG(PDFLATEX, pdflatex, no) +AC_PATH_PROG(FIG2DEV, fig2dev, no) +AC_PATH_PROG(GS, gs, no) +AC_PATH_PROG(DLH, dlh, no) +AC_PATH_PROG(PPMTOGIF, ppmtogif, no) +AS_IF([test xno != "x$with_api_spec"], + [dnl Flag formats for which all required tools have been found + AS_IF([ test xno != "x$MAKEINDEX" \ + && test xno != "x$DVIPS" \ + && test xno != "x$FIG2DEV" \ + && test xno != "x$LATEX"], [with_api_ps=yes]) + AS_IF([ test xno != "x$MAKEINDEX" \ + && test xno != "x$PDFLATEX" \ + && test xno != "x$FIG2DEV" \ + && test xno != "x$GS"], [with_api_pdf=yes]) + AS_IF([ test xno != "x$MAKEINDEX" \ + && test xno != "x$DVIPS" \ + && test xno != "x$FIG2DEV" \ + && test xno != "x$DLH" \ + && test xno != "x$GS" \ + && test xno != "x$PPMTOFIG" ], [with_api_html=yes]) + + AS_IF([test xyes = "x$with_api_spec" \ + && test xyes != "x$with_api_ps" \ + && test xyes != "x$with_api_pdf" \ + && test xyes != "x$with_api_html"], + [AC_MSG_ERROR([tools to convert the API spec are missing]) + ]) + ]) +AM_CONDITIONAL(WITH_API_PS, [test x$with_api_ps = xyes]) +AM_CONDITIONAL(WITH_API_PDF, [test x$with_api_pdf = xyes]) +AM_CONDITIONAL(WITH_API_HTML, [test x$with_api_html = xyes]) + +dnl *********************************************************************** +dnl Write output files +dnl *********************************************************************** + +AC_SUBST(AM_CPPFLAGS) +AC_SUBST(AM_CFLAGS) +AC_SUBST(AM_LDFLAGS) + +AC_CONFIG_FILES([Makefile lib/Makefile sanei/Makefile frontend/Makefile \ + japi/Makefile backend/Makefile include/Makefile doc/Makefile \ + po/Makefile.in testsuite/Makefile testsuite/sanei/Makefile testsuite/tools/Makefile \ + tools/Makefile doc/doxygen-sanei.conf doc/doxygen-genesys.conf]) +AC_CONFIG_FILES([tools/sane-config], [chmod a+x tools/sane-config]) +AC_CONFIG_FILES([tools/sane-backends.pc]) +AC_OUTPUT + +dnl *********************************************************************** +dnl print configuration information +dnl *********************************************************************** + +echo "-> Variables used for compilation/linking:" +echo AM_CPPFLAGS=\"${AM_CPPFLAGS}\" +echo AM_CFLAGS=\"${AM_CFLAGS}\" +echo AM_LDFLAGS=\"${AM_LDFLAGS}\" +echo LIBS=\"${LIBS}\" +echo "-> Installation directories:" +echo "Configuration: `eval eval echo ${sysconfdir}`" +echo "Libraries: `eval eval echo ${libdir}`" +echo "Binaries: `eval eval echo ${bindir}` and `eval eval echo ${sbindir}`" +echo "Manpages: `eval eval echo ${mandir}`" +echo "Documentation: `eval eval echo ${docdir}`" +if eval "test x$INSTALL_LOCKPATH = xinstall-lockpath" ; then + echo "Lockfiles: `eval eval echo ${locksanedir}`" +else + echo "Lockfiles: Feature is disabled!" +fi +echo "-> Network parameters:" +if test "${SANED}" = "saned" ; then + echo "Build saned: yes" +else + echo "Build saned: no" +fi +echo "IPv6 support: `eval eval echo ${ipv6}`" +echo "Avahi support: `eval eval echo ${enable_avahi}`" +echo "SNMP support: `eval eval echo ${with_snmp}`" +echo "-> The following backends will be built:" +for backend in ${BACKENDS} ; do + echo $ECHO_N "${backend} " +done +echo +echo +echo "-> The following preload backends will be built:" +for backend in ${PRELOADABLE_BACKENDS} ; do + echo $ECHO_N "${backend} " +done +echo + +if test "$SANE_CONFIG_PATH" != "no" ; then + SANE_INSTALLED_VERSION=`$SANE_CONFIG_PATH --version` + SANE_INSTALLED_PREFIX=`$SANE_CONFIG_PATH --prefix` + if test "$SANE_INSTALLED_PREFIX" != "$prefix" ; then + echo "*** WARNING: SANE is already installed (version $SANE_INSTALLED_VERSION). The old" + echo "*** installation is at $SANE_INSTALLED_PREFIX while SANE will now be installed" + echo "*** at $prefix. It is recommended to uninstall the old SANE version" + echo "*** before installing the new one to avoid problems." + fi +else + if test "$LIBSANE_EXISTS" = "yes" ; then + echo "*** Warning: An old version of SANE was detected but the sane-config program" + echo "*** couldn't be found. If you encounter any problems with SANE remove the old" + echo "*** SANE files and reinstall this version." + fi +fi +if eval "test x${sysconfdir} = x/usr/etc" ; then + echo "*** WARNING: Configuration files are stored in /usr/etc. If this is not" + echo "*** intended, use --sysconfdir to set another path (e.g. "/etc")." +fi +if test "$SELECTED_BACKENDS" != "" ; then + echo "*** Warning: Local backends have been disabled. This means that scanners" + echo "*** connected to your local computer won't be supported. Only a network" + echo "*** connection to a remote host is possible." +fi +if test "$with_usb" != "no" && test "$have_usb" != "yes" ; then + echo "*** Warning: sane-backends will be built without USB support. There may" + echo "*** be valid reasons to do so, e.g. if you don't use USB scanners or on" + echo "*** platforms without USB support but generally this means that you" + echo "*** can't use USB devices with SANE. The most probable cause is that" + if test "${ac_cv_header_usb_h}" != "yes"; then + echo "*** the libusb header file usb.h is not installed. If you use Linux" + echo "*** you may need a package called 'libusb-dev', 'libusb-devel' or similar." + else + echo "*** libusb is not installed at all or is too old. See README." + fi +fi + +echo "****************************************************************" +echo "* Please be sure to read file PROBLEMS in this directory *" +echo "* BEFORE running any of the SANE applications. Some devices *" +echo "* may be damaged by improper operation, so please do heed this *" +echo "* advice. *" +echo "****************************************************************" diff --git a/configure.in b/configure.in deleted file mode 100644 index 96a52e5..0000000 --- a/configure.in +++ /dev/null @@ -1,902 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -*-m4-*- - -dnl *********************************************************************** -dnl When preparing a release, increase the numeric and string version numbers, -dnl remove the "cvs" suffix, and set is_release=yes -AC_INIT([sane-backends],[1.0.25],[sane-devel@lists.alioth.debian.org]) -V_MAJOR=1 -V_MINOR=0 -V_REV=25 -is_release=yes -dnl *********************************************************************** - -m4_ifdef([AC_CONFIG_MACRO_DIR], [AC_CONFIG_MACRO_DIR([m4])]) - -AM_INIT_AUTOMAKE -dnl Turn off feature were automake will automatically run autoreconf. -dnl This is because we check in generated files into CVS which has -dnl known timestamp issues. -AM_MAINTAINER_MODE - -AC_CONFIG_HEADERS([include/sane/config.h]) -AC_PREREQ(2.54) dnl Minimum Autoconf version required. - -PACKAGE=AC_PACKAGE_NAME -VERSION=AC_PACKAGE_VERSION -NUMBER_VERSION=${V_MAJOR}.${V_MINOR}.${V_REV} -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", - [Define to the name of the distribution.]) -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", - [Define to the version of the distribution.]) -AC_DEFINE_UNQUOTED(SANE_DLL_V_MAJOR, $V_MAJOR, [SANE DLL major number]) -AC_DEFINE_UNQUOTED(SANE_DLL_V_MINOR, $V_MINOR, [SANE DLL minor number]) -AC_DEFINE_UNQUOTED(SANE_DLL_V_BUILD, $V_REV, [SANE DLL revision number]) -AC_SUBST(V_MAJOR) -AC_SUBST(V_MINOR) -AC_SUBST(V_REV) -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) -AC_SUBST(NUMBER_VERSION) -AC_CANONICAL_BUILD -AC_CANONICAL_HOST - -dnl no bloody way to have a decent --docdir... -AC_ARG_WITH(docdir, - AC_HELP_STRING([--with-docdir=DIR], - [documentation @<:@PREFIX/doc/sane-VERSION@:>@]), -[ - docdir="${withval}" - AC_SUBST([docdir])dnl -], [ - AC_SUBST([docdir], ['${prefix}/doc/sane-${VERSION}'])dnl -]) - -dnl *********************************************************************** -dnl Checks for programs. -dnl *********************************************************************** -AC_PROG_CC -AM_PROG_CC_C_O -AC_PROG_INSTALL -AC_PROG_MAKE_SET -AC_PROG_CPP -AC_PROG_GCC_TRADITIONAL -AC_PATH_PROG(SANE_CONFIG_PATH, sane-config, no) -AC_PATH_PROG(MSGFMT, msgfmt$EXEEXT, no) -AC_PATH_PROG(XGETTEXT, xgettext$EXEEXT, no) -AC_PATH_PROG(MSGMERGE, msgmerge$EXEEXT, no) -AC_PATH_PROG(LATEX, latex$EXEEXT, no) -AC_PATH_PROG(DVIPS, dvips$EXEEXT, no) -AC_PATH_PROG(MAKEINDEX, makeindex$EXEEXT, no) -AC_SUBST(MSGFMT) -AC_SUBST(XGETTEXT) -AC_SUBST(MSGMERGE) -AC_SUBST(LATEX) -AC_SUBST(DVIPS) -AC_SUBST(MAKEINDEX) - -dnl Call explicitely before using PKG_* -PKG_PROG_PKG_CONFIG - -AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes) - -dnl *********************************************************************** -dnl set compiler/linker flags -dnl *********************************************************************** -AC_SUBST(INCLUDES) -SANE_SET_CFLAGS([$is_release]) -SANE_SET_LDFLAGS -SANE_LINKER_RPATH - -dnl *********************************************************************** -dnl Checks for unix variants -dnl *********************************************************************** -m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [AC_USE_SYSTEM_EXTENSIONS]) -m4_ifndef([AC_USE_SYSTEM_EXTENSIONS],[AC_GNU_SOURCE]) -m4_ifndef([AC_USE_SYSTEM_EXTENSIONS],[AC_AIX]) -m4_ifndef([AC_USE_SYSTEM_EXTENSIONS],[AC_MINIX]) -AC_ISC_POSIX - -AC_NEED_BYTEORDER_H([include/byteorder.h]) -AX_CREATE_STDINT_H([include/_stdint.h]) - -dnl *********************************************************************** -dnl Checks for libraries -dnl *********************************************************************** -AC_ARG_ENABLE(dynamic, - AC_HELP_STRING([--disable-dynamic], - [Disable dynamic loading of backends]), - [enable_dynamic=$enableval], [enable_dynamic=auto]) -SANE_CHECK_DLL_LIB -dnl Checks for Backend libraries. -AC_CHECK_LIB(m, sqrt, MATH_LIB="-lm") -AC_SUBST(MATH_LIB) -case ${host_os} in - os2*) - AC_CHECK_LIB(syslog, sylog, SYSLOG_LIBS="-lsyslog") - ;; - beos*) - AC_CHECK_LIB(be, syslog, SYSLOG_LIBS="-lbe") - ;; -esac -AC_SUBST(SYSLOG_LIBS) - -SANE_CHECK_JPEG -SANE_CHECK_TIFF -SANE_CHECK_PNG -SANE_CHECK_IEEE1284 -SANE_CHECK_PTHREAD -SANE_CHECK_LOCKING -SANE_CHECK_GPHOTO2 - - -AC_ARG_WITH(v4l, - AC_HELP_STRING([--with-v4l], - [include the v4l backend @<:@default=yes@:>@]), - [# If --with-v4l=no or --without-v4l, disable backend - # as "$with_v4l" will be set to "no"]) - -if test "$with_v4l" != "no" ; then - PKG_CHECK_MODULES(LIBV4L, libv4l1, have_libv4l1=yes, have_libv4l1=no) -fi - -AC_ARG_ENABLE(avahi, - AC_HELP_STRING([--enable-avahi], [enable Avahi support for saned and the net backend]), - [enable_avahi=$enableval], [enable_avahi=no]) - -if test "$enable_avahi" = "yes"; then - PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.24 ], - [AC_DEFINE(WITH_AVAHI, 1, [define if Avahi support is enabled for saned and the net backend])], enable_avahi=no) -fi - -dnl check sane to make sure we don't have two installations -AC_CHECK_LIB(sane, sane_init, LIBSANE_EXISTS="yes") - - -dnl ************************************************************** -dnl SNMP CHECKS -dnl ************************************************************** - -AC_ARG_WITH(snmp, - AC_HELP_STRING([--with-snmp], [enable SNMP support @<:@default=yes@:>@])) - -if test "$with_snmp" = "no"; then - echo "Not including SNMP support" -else - AC_PATH_PROG(SNMP_CONFIG_PATH, net-snmp-config, "no") - AC_CHECK_LIB([netsnmp], [snmp_timeout], LIBSNMP_EXISTS="yes") - AC_MSG_CHECKING(for proper SNMP version) - if test "$SNMP_CONFIG_PATH" != "no" ; then - snmp_version=`$SNMP_CONFIG_PATH --version 2>/dev/null` - vers=`echo $snmp_version | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2);}'` - if test -n "$vers" && test "$vers" -ge 5006; then - SNMP_LIBS=`$SNMP_CONFIG_PATH --libs` - SNMP_CFLAGS=`$SNMP_CONFIG_PATH --cflags` - AC_MSG_RESULT(yes) - with_snmp="yes" - else - AC_MSG_RESULT(no) - AC_MSG_WARN([You need at least net-snmp 5.6, your version is $snmp_version]) - with_snmp="no" - fi - else - with_snmp="no" - AC_MSG_RESULT(no) - fi -fi - -if test "$with_snmp" = "yes" -a "${LIBSNMP_EXISTS}x" = "yesx"; then - AC_SUBST(SNMP_LIBS) - AC_SUBST(SNMP_CFLAGS) - AC_DEFINE(HAVE_LIBSNMP, 1, [Define to 1 if you have the net-snmp library.]) -else - AC_MSG_WARN([*** Warning: net-snmp library disabled, autodetecting network scanners will not be supported.]) -fi - - - - - -dnl *********************************************************************** -dnl Checks for header files. -dnl *********************************************************************** -AC_HEADER_STDC -AC_CHECK_HEADERS(fcntl.h unistd.h libc.h sys/dsreq.h sys/select.h \ - sys/time.h sys/shm.h sys/ipc.h sys/signal.h sys/scanio.h os2.h \ - sys/socket.h sys/io.h sys/hw.h sys/types.h linux/ppdev.h \ - dev/ppbus/ppi.h machine/cpufunc.h sys/bitypes.h sys/sem.h sys/poll.h \ - windows.h be/kernel/OS.h limits.h sys/ioctl.h asm/types.h\ - netinet/in.h tiffio.h ifaddrs.h pwd.h getopt.h) -AC_CHECK_HEADERS([asm/io.h],,,[#include ]) - -SANE_CHECK_MISSING_HEADERS - -AC_CHECK_HEADERS(winsock2.h, SOCKET_LIB="-lws2_32") - -AC_CHECK_HEADER(resmgr.h,[ - AC_CHECK_LIB( - resmgr, - rsm_open_device,[ - AC_DEFINE(HAVE_RESMGR,1,[define if you have the resmgr library]) - RESMGR_LIBS="-lresmgr" - ] - ) -]) -AC_SUBST(RESMGR_LIBS) - -dnl *********************************************************************** -dnl Checks for types and structures -dnl *********************************************************************** -AC_TYPE_SIGNAL -AC_TYPE_SIZE_T -AC_TYPE_PID_T -AC_CHECK_TYPE(ssize_t, long) -SANE_CHECK_U_TYPES - -# from Python, check for "long long" type -AC_MSG_CHECKING(for long long support) -have_long_long=no -AC_TRY_COMPILE([], [long long x; x = (long long)0;], AC_DEFINE(HAVE_LONG_LONG, 1, [Define if the long long type is available.]) have_long_long=yes) -AC_MSG_RESULT($have_long_long) - -AC_MSG_CHECKING([for socklen_t in ]) -AC_TRY_COMPILE([ -#include -],[socklen_t len],AC_MSG_RESULT(yes), -[AC_MSG_RESULT(no); AC_DEFINE(socklen_t,int, -[Define socklen_t as \'int\' if necessary.])]) - -AC_MSG_CHECKING([for union semun in ]) -AC_TRY_COMPILE([ -#include -#include -#include -],[union semun test_semun],[AC_MSG_RESULT(yes); -AC_DEFINE(HAVE_UNION_SEMUN,1,[Define if union semun is available.])], -AC_MSG_RESULT(no)) - -AC_MSG_CHECKING([for struct flock in fcntl.h]) -AC_EGREP_HEADER([struct flock], fcntl.h, [AC_MSG_RESULT(yes) ; - AC_DEFINE(HAVE_STRUCT_FLOCK, 1, - [Define if struct flock is available.])], AC_MSG_RESULT(no)) - -AC_MSG_CHECKING([for Linux ioctl defines]) -AC_TRY_COMPILE([ -#include -#include -],[ -__u32 houba = _IOR('v',14, unsigned long); -],[AC_MSG_RESULT(yes); -have_linux_ioctl_defines="yes";],AC_MSG_RESULT(no)) - -dnl *********************************************************************** -dnl Checks for compiler characteristics -dnl *********************************************************************** -AC_C_BIGENDIAN -AC_C_CONST -AC_C_INLINE - -dnl *********************************************************************** -dnl Checks for library functions -dnl *********************************************************************** - -dnl Define SOCKET_LIB, NSL_LIB, BIND_LIB, and RESOLV_LIB when required -dnl for functions we use. -AC_CHECK_FUNC(gethostbyaddr,, [AC_CHECK_LIB(bind, gethostbyaddr, BIND_LIB="-lbind")]) -AC_CHECK_FUNC(gethostbyaddr,, [AC_CHECK_LIB(nsl, gethostbyaddr, NSL_LIB="-lnsl")]) -AC_CHECK_FUNC(socket,, [AC_CHECK_LIB(socket, socket, SOCKET_LIB="-lsocket")]) -AC_CHECK_FUNC(inet_aton,, [AC_CHECK_LIB(resolv, inet_aton, RESOLV_LIB="-lresolv")]) - -dnl Group related network libraries together so they can always be linked -dnl in. -SOCKET_LIBS="$SOCKET_LIB $NSL_LIB $BIND_LIB $RESOLV_LIB" -AC_SUBST(SOCKET_LIBS) - -dnl define HAVE_* values for network functions. This may require -dnl SOCKET_LIBS so set LIBS temporarily. -save_LIBS="$LIBS" -LIBS="$LIBS $SOCKET_LIBS" -AC_CHECK_FUNCS(inet_addr inet_aton inet_ntoa) -AC_REPLACE_FUNCS(inet_ntop inet_pton) -LIBS="$save_LIBS" - -if test "$ac_cv_header_be_kernel_OS_h" = "yes" ; then - dnl those are known to be broken in BeOS (BONE) - ac_cv_func_getaddrinfo=no - ac_cv_func_getnameinfo=no -fi - -AC_FUNC_ALLOCA -AC_FUNC_MMAP -AC_CHECK_FUNCS(atexit ioperm i386_set_ioperm \ - mkdir strftime strstr strtod \ - cfmakeraw tcsendbreak strcasecmp strncasecmp _portaccess \ - getaddrinfo getnameinfo poll setitimer iopl getuid getpass) -AC_REPLACE_FUNCS(getenv isfdtype sigprocmask snprintf \ - strcasestr strdup strndup strsep usleep sleep syslog vsyslog) - -dnl sys/io.h might provide ioperm but not inb,outb (like for -dnl non i386/x32/x86_64 with musl libc) -if test "${ac_cv_header_sys_io_h}" = "yes"; then - AC_MSG_CHECKING([for inb,outb (provided by sys/io.h)]) - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[#include ]], - [[inb(0);outb(0,0);]])], - [AC_MSG_RESULT([yes]) - sane_cv_have_sys_io_h_with_inb_outb="yes"], - [AC_MSG_RESULT([no]) - sane_cv_have_sys_io_h_with_inb_outb="no" - AC_MSG_WARN([sys/io.h does not provide inb,outb (non i386/x32/x86_64 arch?)])]) - if test "$sane_cv_have_sys_io_h_with_inb_outb" = "yes"; then - AC_DEFINE(SANE_HAVE_SYS_IO_H_WITH_INB_OUTB, 1, [Define to 1 if you have the providing inb,outb.]) - fi -else - sane_cv_have_sys_io_h_with_inb_outb="no" -fi - -SANE_PROTOTYPES - -if test "$ac_cv_header_os2_h" = "yes" ; then - AC_DEFINE(strncasecmp, strnicmp, [Define for OS/2 only]) - AC_DEFINE(strcasecmp, stricmp, [Define for OS/2 only]) -fi - -if test "$ac_cv_header_getopt_h" = "yes" ; then - AC_CHECK_FUNCS(getopt_long) -fi - -dnl *********************************************************************** -dnl checks for system services -dnl *********************************************************************** -if test -c /dev/urandom ; then - AC_DEFINE(HAVE_DEV_URANDOM, 1, [Is /dev/urandom available?]) -fi - -dnl added by PN 3/2/12 to detect cups commented out 15/10/13 since avahi is now used instead -dnl $as_echo "checking for cups" -dnl if test -e /usr/include/cups/cups.h ; then -dnl AC_DEFINE(HAVE_CUPS, 1, [Is /usr/include/cups/cups.h available?]) -dnl with_cups="yes" -dnl LIBS="-lcups $LIBS" -dnl else -dnl $as_echo "cups.h not found, you may want to install a cups development package" -dnl $as_echo "in order to autodetect network scanners in kodakaio." -dnl with_cups="no" -dnl fi - -AC_ARG_WITH(systemd, - AC_HELP_STRING([--with-systemd], [enable systemd support @<:@default=yes@:>@])) -if test "x$with_systemd" != xno ; then - PKG_CHECK_MODULES(SYSTEMD, [libsystemd], have_systemd=yes, have_systemd=no) - if test "x$have_systemd" = xno; then - PKG_CHECK_MODULES(SYSTEMD, [libsystemd-daemon], have_systemd=yes, have_systemd=no) - fi - if test "x$have_systemd" = xyes; then - AC_DEFINE(HAVE_SYSTEMD, 1, [Is /usr/include/systemd/sd-daemon.h available?]) - AC_SUBST(SYSTEMD_LIBS) - else - if test "x$with_systemd" = xyes; then - AC_MSG_ERROR([Systemd support was requested but systemd was not found]) - fi - fi -fi - -dnl *********** -dnl USB Support -dnl *********** - -dnl Enable libusb-1.0, if available -AC_ARG_ENABLE(libusb_1_0, - AC_HELP_STRING([--enable-libusb_1_0], [enable libusb-1.0 support if available]), - [enable_libusb_1_0=$enableval], [enable_libusb_1_0=no]) - -dnl USB support enabled by default (if found). Note: Overloading libusb -dnl option right now to disable USB support on any platform; even -dnl if they use a different library name. -AC_ARG_ENABLE(libusb, - AC_HELP_STRING([--disable-libusb], [disable support for USB in SANE]),, - enable_libusb=auto) -HAVE_USB=no -if test "$enable_libusb" != "no"; then - case ${host_os} in - beos*) - AC_CHECK_HEADERS(be/drivers/USB_scanner.h, HAVE_USB=yes, AC_MSG_ERROR([USB_scanner.h is required on BeOS])) - ;; - os2*) - AC_CHECK_HEADER(usbcalls.h, - AC_CHECK_LIB(usbcall, UsbQueryNumberDevices, - [USB_LIBS="$USB_LIBS -lusbcall" - HAVE_USB=yes]),,[#include -#include -]) - ;; - *) - dnl If libusb-1.0 is enabled and available, prefer that to the old libusb - have_libusb_1_0=no - if test "$enable_libusb_1_0" = "yes"; then - PKG_CHECK_MODULES(LIBUSB_1_0, [ libusb-1.0 >= 1.0.0 ], have_libusb_1_0=yes, have_libusb_1_0=no) - if test "$have_libusb_1_0" = "yes"; then - CFLAGS="$CFLAGS $LIBUSB_1_0_CFLAGS" - USB_LIBS="$USB_LIBS $LIBUSB_1_0_LIBS" - HAVE_USB=yes - fi - fi - - if test "$have_libusb_1_0" = "no"; then - dnl Fallback to the old libusb - dnl libusb >= 0.1.8 is required, as we need usb_interrupt_read() - AC_CHECK_HEADER(usb.h, - AC_CHECK_LIB(usb, usb_interrupt_read, - [USB_LIBS="$USB_LIBS -lusb" - HAVE_USB=yes])) - AC_CHECK_HEADERS(lusb0_usb.h, - AC_CHECK_LIB(usb, usb_interrupt_read, - [USB_LIBS="$USB_LIBS -lusb" - HAVE_USB=yes])) - fi - ;; - esac -fi -dnl The following logic is useful for distributions. If they force -dnl USB support with --enable-libusb=yes then configure will fail -dnl when its detected that it can not be supported. Default is -dnl "auto" which means only enable if libraries are found and do -dnl not error out. -if test "$enable_libusb" = "yes" && test "$HAVE_USB" = "no"; then - AC_MSG_ERROR([USB support requested but required libraries not found.]) -fi -if test "$HAVE_USB" = "yes"; then - case ${host_os} in - os2*) - AC_DEFINE(HAVE_USBCALLS, 1, [Define to 1 if you have usbcall.dll.]) - ;; - *) - if test "$have_libusb_1_0" = "yes"; then - AC_DEFINE(HAVE_LIBUSB_1_0, 1, [Define to 1 if you have libusb-1.0.]) - else - AC_DEFINE(HAVE_LIBUSB, 1, [Define to 1 if you have libusb.]) - fi - ;; - esac -fi -AC_SUBST(USB_LIBS) - -dnl ************ -dnl SCSI Support -dnl ************ - -dnl FIXME: These are a lot of header files to scan. We should -dnl scan for just one that is unique per platform and then do -dnl conditional scans for more specific only as needed. - -# Unset VERSION during the SCSI header check -sed "s!^#define VERSION .*!/* & */!" confdefs.h > confdefs.h.tmp -mv confdefs.h.tmp confdefs.h - -AC_CHECK_HEADERS(IOKit/scsi/SCSITaskLib.h IOKit/cdb/IOSCSILib.h \ - IOKit/scsi/SCSICommandOperationCodes.h \ - IOKit/scsi-commands/SCSICommandOperationCodes.h scsi.h sys/scsi.h \ - sys/scsicmd.h sys/scsiio.h bsd/dev/scsireg.h scsi/sg.h \ - camlib.h scdds.h sys/scsi/scsi.h sys/scsi/sgdefs.h \ - sys/scsi/targets/scgio.h apollo/scsi.h sys/sdi_comm.h \ - sys/passthrudef.h) - -# Restore VERSION -sed "s!/\* \(#define VERSION .*\) \*/!\1!" confdefs.h > confdefs.h.tmp -mv confdefs.h.tmp confdefs.h - -AC_CHECK_HEADERS([io/cam/cam.h],,,[#include ]) -AC_CHECK_HEADERS([ntddscsi.h ddk/ntddscsi.h],,,[#include ]) - -dnl FreeBSD < 3 -if test "$ac_cv_header_sys_scsiio_h" = "yes" \ - -a "$ac_cv_header_scsi_h" = "yes"; then - AC_MSG_CHECKING([if 'scsireq_t' needs to be defined as 'struct scsireq']) - AC_TRY_COMPILE([ -#include -#include -],[scsireq_t req],, - [AC_MSG_RESULT(yes); - AC_DEFINE(scsireq_t, struct scsireq_t, - [Define scsireq_t as \'struct scsireq\' if necessary.])], - AC_MSG_RESULT(no)) -fi -AC_CHECK_LIB(scsi, scsireq_enter, SCSI_LIBS="-lscsi") # FreeBSD needs this - -dnl FreeBSD >= 3 -AC_CHECK_LIB(cam, cam_open_device, SCSI_LIBS="-lcam") # FreeBSD 3+ needs this - -AC_CHECK_FUNCS(scsireq_enter) - -if test "$ac_cv_header_scsi_sg_h" = "yes"; then - AC_MSG_CHECKING([for sg_header.target_status in ]) - AC_TRY_COMPILE([ -#include -#include -],[ -struct sg_header hdr; -hdr.target_status = 1; -return 0; -],[AC_MSG_RESULT(yes); - AC_DEFINE(HAVE_SG_TARGET_STATUS,1, - [Define if sg_header.target_status is available.])], - AC_MSG_RESULT(no)) -fi - -if test "$ac_cv_header_IOKit_scsi_SCSITaskLib_h" = "yes"; then - AC_MSG_CHECKING([for SCSITaskSGElement in IOKit/scsi/SCSITaskLib.h]) - AC_TRY_COMPILE([ -#undef VERSION -#include -],[ -SCSITaskSGElement range; -return 0; -],[AC_MSG_RESULT(yes); - AC_DEFINE(HAVE_SCSITASKSGELEMENT, 1, - [Define if SCSITaskSGElement is available.])], - AC_MSG_RESULT(no)) -fi - -dnl disable Linux SCSI generic version 3 to avoid 32/64 bit problems -if sparc64 -q > /dev/null 2>&1 ; then - AC_DEFINE(DISABLE_LINUX_SG_IO, 1, [Should we disable SCSI generic v3?]) -fi - -# Multiple platforms can set SCSI_LIBS so do substitution at end. -AC_SUBST(SCSI_LIBS) - -AC_ARG_ENABLE(scsibuffersize, - AC_HELP_STRING([--enable-scsibuffersize=N], - [specify the default size in bytes of the buffer for SCSI - commands [[default=131072]]]), - [set_scsibuffersize="$enableval"], [set_scsibuffersize=131072]) -AC_DEFINE_UNQUOTED(SCSIBUFFERSIZE, $set_scsibuffersize, - [SCSI command buffer size]) -dnl FIXME: Move tihs to configuration printout area but probably -dnl but probably needs to be wrapped by what ever uses it so its -dnl only printed when used. -echo "scsi buffersize: $set_scsibuffersize" - -AC_ARG_ENABLE(scsi-directio, - AC_HELP_STRING([--enable-scsi-directio], - [enable SCSI direct IO (Linux only, dangerous, see - README.linux)]), - [ - if eval "test x$enable_scsi_directio = xyes"; then - CFLAGS="$CFLAGS -DENABLE_SCSI_DIRECTIO" - fi - ]) - -dnl **** -dnl IPv6 -dnl **** - -dnl check for IPv6 (can be overriden by --enable-ipv6) -if test "$ac_cv_func_getnameinfo" = "yes" \ - && test "$ac_cv_func_getaddrinfo" = "yes" ; then - SANE_CHECK_IPV6 -else - ipv6="no" -fi - -dnl *********************************************************************** -dnl initialize libtool -dnl *********************************************************************** -AC_ARG_ENABLE(preload, - AC_HELP_STRING([--disable-preload], - [Disable preloading of backends]), - [enable_preload=$enableval], [enable_preload=auto]) - -AC_LIBTOOL_WIN32_DLL -AC_DISABLE_STATIC -AC_PROG_LIBTOOL - -dnl Windows (cygwin/mingw), BeOS, and OS/2 need this. -case $host_os in - cygwin* | mingw* | beos* | os2*) - LDFLAGS="$LDFLAGS -no-undefined" -esac - -dnl Check for lock dir - -AC_ARG_WITH(lockdir, AC_HELP_STRING([--with-lockdir=DIR], - [set SANE lockdir @<:@localstatedir/lock/sane@:>@]), - [locksanedir=$withval],[locksanedir=${localstatedir}/lock/sane]) -AC_SUBST(locksanedir) - -configdir="${sysconfdir}/sane.d" -AC_SUBST(configdir) - -dnl *********************************************************************** -dnl enable/disable backends and features based on previous tests and user's -dnl choice -dnl *********************************************************************** - -CPPFLAGS="${CPPFLAGS} -DPATH_SANE_CONFIG_DIR=\$(configdir) \ - -DPATH_SANE_DATA_DIR=\$(datadir) \ - -DPATH_SANE_LOCK_DIR=\$(locksanedir) \ - -DV_MAJOR=${V_MAJOR} -DV_MINOR=${V_MINOR}" - -if test "${ac_cv_header_sys_socket_h}" = "no"; then - echo "*** disabling saned (sys/socket.h not found)" - SANED= -else - SANED=saned -fi -AM_CONDITIONAL(COMPILE_SANED, test x$SANED = xsaned) - -dnl These are the backends that are build in any case: - -AC_ARG_ENABLE(local-backends, - AC_HELP_STRING([--disable-local-backends], - [turn off compilation of all backends but net])) - -ALL_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e \ - avision bh canon canon630u canon_dr canon_pp cardscan \ - coolscan coolscan2 coolscan3 dc25 dc210 dc240 \ - dell1600n_net dmc epjitsu epson epson2 epsonds fujitsu genesys \ - gphoto2 gt68xx hp hp3500 hp3900 hp4200 hp5400 \ - hp5590 hpsj5s hpljm1005 hs2p ibm kodak kodakaio kvs1025 kvs20xx \ - kvs40xx leo lexmark ma1509 magicolor \ - matsushita microtek microtek2 mustek mustek_pp \ - mustek_usb mustek_usb2 nec net niash pie pieusb pint \ - pixma plustek plustek_pp qcam ricoh rts8891 s9036 \ - sceptre sharp sm3600 sm3840 snapscan sp15c st400 \ - stv680 tamarack teco1 teco2 teco3 test u12 umax - umax_pp umax1220u v4l xerox_mfp p5" - -# If user specifies backends manually then cause configure -# to fail if its detected it can't be compiled. If we -# are in automatic mode then remove backend from list instead. -user_selected_backends="yes" - -AC_ARG_VAR(BACKENDS, [list of backends to compile]) -if eval "test x$enable_local_backends = xno"; then - BACKENDS="net" -else - if test "${BACKENDS}" != "" ; then - AC_MSG_NOTICE([Manually selected backends: ${BACKENDS}]) - else - BACKENDS="$ALL_BACKENDS" - user_selected_backends="no" - fi -fi - -SANE_CHECK_BACKENDS - -AC_SUBST(LIBV4L_LIBS) -AC_SUBST(LIBV4L_CFLAGS) - -if test "${sane_cv_use_libjpeg}" = "yes"; then - SANEI_SANEI_JPEG_LO="../sanei/sanei_jpeg.lo" -fi -AM_CONDITIONAL(HAVE_JPEG, test x$sane_cv_use_libjpeg = xyes) -AC_SUBST(SANEI_SANEI_JPEG_LO) - -AC_ARG_ENABLE(pnm-backend, - AC_HELP_STRING([--enable-pnm-backend], - [enable the pnm backend for testing frontends (possible security risk, see PROBLEMS file)]), - [FILTERED_BACKENDS="${FILTERED_BACKENDS} pnm"], - [echo "*** pnm backend not manually selected - disabling"]) - -BACKENDS="$FILTERED_BACKENDS" -BACKEND_LIBS_ENABLED="" -BACKEND_CONFS_ENABLED="" -BACKEND_MANS_ENABLED="" -for backend in ${BACKENDS} ; do - BACKEND_LIBS_ENABLED="${BACKEND_LIBS_ENABLED} libsane-${backend}.la" - BACKEND_CONFS_ENABLED="${BACKEND_CONFS_ENABLED} ${backend}.conf" - BACKEND_MANS_ENABLED="${BACKEND_MANS_ENABLED} sane-${backend}.5" - if test x$backend = xumax_pp; then - install_umax_pp_tools=yes - fi -done -AC_SUBST(BACKEND_LIBS_ENABLED) -AM_CONDITIONAL(INSTALL_UMAX_PP_TOOLS, test xyes = x$install_umax_pp_tools) - -AC_ARG_VAR(PRELOADABLE_BACKENDS, [list of backends to preload into single DLL]) -if test "${enable_preload}" = "auto"; then - if test "${enable_shared}" = "no" || test "${enable_dynamic}" != "yes"; then - enable_preload=yes - fi -fi -if test "${enable_preload}" = "yes"; then - echo "preloading backends into DLL" - - # If user specifies backends manually then cause configure - # to fail if its detected it can't be compiled. If we - # are in automatic mode then remove backend from list instead. - user_selected_backends="yes" - - if eval "test x$enable_local_backends = xno"; then - PRELOADABLE_BACKENDS="net" - else - if test "${PRELOADABLE_BACKENDS}" != "" ; then - AC_MSG_NOTICE([Manually selected preloadable backends: ${PRELOADABLE_BACKENDS}]) - else - PRELOADABLE_BACKENDS="$BACKENDS" - user_selected_backends="no" - fi - fi - - saved_BACKENDS="$BACKENDS" - BACKENDS="${PRELOADABLE_BACKENDS}" - - SANE_CHECK_BACKENDS - - PRELOADABLE_BACKENDS="$FILTERED_BACKENDS" - BACKENDS="$saved_BACKENDS" -else - PRELOADABLE_BACKENDS="" -fi -PRELOADABLE_BACKENDS_ENABLED="" -# Do not initialize BACKEND_CONFS_ENABLED so that its a combination -# of all backends. -for backend in ${PRELOADABLE_BACKENDS} ; do - BACKEND_CONFS_ENABLED="${BACKEND_CONFS_ENABLED} ${backend}.conf" - BACKEND_MANS_ENABLED="${BACKEND_MANS_ENABLED} sane-${backend}.5" - # Special hacks. Normally, we create a convenience library that - # matches the backend's name but in some cases that will conflict - # with an external library name that also matches backend name. - # Work around that here by renaming internal library. - if test "${backend}" = "gphoto2"; then - backend=gphoto2_i - fi - PRELOADABLE_BACKENDS_ENABLED="${PRELOADABLE_BACKENDS_ENABLED} lib${backend}.la" -done - -AC_SUBST(PRELOADABLE_BACKENDS) -AC_SUBST(PRELOADABLE_BACKENDS_ENABLED) -AC_SUBST(BACKEND_CONFS_ENABLED) -AC_SUBST(BACKEND_MANS_ENABLED) - -dnl in BeOS, backends are not installed in lib/sane, but add-ons/sane/ -dnl we account for both installing in /boot/beos and ~/config -case $host_os in - beos*) - libdir='${exec_prefix}/add-ons' - ;; -esac - -AC_ARG_ENABLE(parport-directio, - AC_HELP_STRING([--enable-parport-directio], - [enable direct hardware access to the parallel port, so - frontends will require special permission level]), - [ - if eval "test x$enable_parport_directio = xyes"; then - CFLAGS="$CFLAGS -DENABLE_PARPORT_DIRECTIO" - fi - ]) - -AC_ARG_ENABLE(translations, - AC_HELP_STRING([--disable-translations], - [don't install translations of backend options]),, - enable_translations=yes) -if eval "test x$enable_translations = xyes" ; then - if test x$MSGFMT = xno || test x$XGETTEXT = xno || test $MSGMERGE = no ; then - enable_translations=no - echo "disabling translations (missing msgfmt, xgettext or msgmerge)" - else - echo "enabling translations" - fi -else - echo "disabling translations" -fi -AM_CONDITIONAL(ENABLE_TRANSLATIONS, test x$enable_translations = xyes) - -AC_ARG_ENABLE(latex, - AC_HELP_STRING([--disable-latex], - [disable use of latex, et.al., to generate documentation]),, - enable_latex=yes) -if test "x$enable_latex" = "xyes" ; then - if test "x$LATEX" = "xno" || test "x$DVIPS" = "xno" || test "x$MAKEINDEX" = "xno" ; then - enable_latex=no - echo "disabling latex (missing latex, dvips or makeindex)" - else - echo "enabling latex" - fi -else - echo "disabling latex" -fi -AM_CONDITIONAL(USE_LATEX, test x$enable_latex = xyes) - -dnl *********************************************************************** -dnl Write output files -dnl *********************************************************************** - -DISTCLEAN_FILES="*~ .*~ *.log *.bak *.old *.orig *.out *.rej \"\#\"* \".\\#\"*" -AC_SUBST(DISTCLEAN_FILES) - -AC_CONFIG_FILES([Makefile lib/Makefile sanei/Makefile frontend/Makefile \ - japi/Makefile backend/Makefile include/Makefile doc/Makefile \ - po/Makefile testsuite/Makefile testsuite/sanei/Makefile testsuite/tools/Makefile \ - tools/Makefile doc/doxygen-sanei.conf doc/doxygen-genesys.conf]) -AC_CONFIG_FILES([tools/sane-config], [chmod a+x tools/sane-config]) -AC_CONFIG_FILES([tools/sane-backends.pc]) -AC_OUTPUT - -dnl *********************************************************************** -dnl print configuration information -dnl *********************************************************************** - -echo "-> Variables used for compilation/linking:" -echo CPPFLAGS=\"${CPPFLAGS}\" -echo CFLAGS=\"${CFLAGS}\" -echo LDFLAGS=\"${LDFLAGS}\" -echo LIBS=\"${LIBS}\" -echo "-> Installation directories:" -echo "Configuration: `eval eval echo ${sysconfdir}`" -echo "Libraries: `eval eval echo ${libdir}`" -echo "Binaries: `eval eval echo ${bindir}` and `eval eval echo ${sbindir}`" -echo "Manpages: `eval eval echo ${mandir}`" -echo "Documentation: `eval eval echo ${docdir}`" -if eval "test x$INSTALL_LOCKPATH = xinstall-lockpath" ; then - echo "Lockfiles: `eval eval echo ${locksanedir}`" -else - echo "Lockfiles: Feature is disabled!" -fi -echo "-> Network parameters:" -if test "${SANED}" = "saned" ; then - echo "Build saned: yes" -else - echo "Build saned: no" -fi -echo "IPv6 support: `eval eval echo ${ipv6}`" -echo "Avahi support: `eval eval echo ${enable_avahi}`" -echo "SNMP support: `eval eval echo ${with_snmp}`" -dnl echo "CUPS support: `eval eval echo ${with_cups}`" commented out 15/10/13 -echo "-> The following backends will be built:" -for backend in ${BACKENDS} ; do - echo $ECHO_N "${backend} " -done -echo -echo -echo "-> The following preload backends will be built:" -for backend in ${PRELOADABLE_BACKENDS} ; do - echo $ECHO_N "${backend} " -done -echo - -if test "$SANE_CONFIG_PATH" != "no" ; then - SANE_INSTALLED_VERSION=`$SANE_CONFIG_PATH --version` - SANE_INSTALLED_PREFIX=`$SANE_CONFIG_PATH --prefix` - if test "$SANE_INSTALLED_PREFIX" != "$prefix" ; then - echo "*** WARNING: SANE is already installed (version $SANE_INSTALLED_VERSION). The old" - echo "*** installation is at $SANE_INSTALLED_PREFIX while SANE will now be installed" - echo "*** at $prefix. It is recommended to uninstall the old SANE version" - echo "*** before installing the new one to avoid problems." - fi -else - if test "$LIBSANE_EXISTS" = "yes" ; then - echo "*** Warning: An old version of SANE was detected but the sane-config program" - echo "*** couldn't be found. If you encounter any problems with SANE remove the old" - echo "*** SANE files and reinstall this version." - fi -fi -if eval "test x${sysconfdir} = x/usr/etc" ; then - echo "*** WARNING: Configuration files are stored in /usr/etc. If this is not" - echo "*** intended, use --sysconfdir to set another path (e.g. "/etc")." -fi -if test "$SELECTED_BACKENDS" != "" ; then - echo "*** Warning: Local backends have been disabled. This means that scanners" - echo "*** connected to your local computer won't be supported. Only a network" - echo "*** connection to a remote host is possible." -fi -if test "$enable_libusb" != "no" && test "$HAVE_USB" != "yes" ; then - echo "*** Warning: sane-backends will be built without libusb support. There may" - echo "*** be valid reasons to do so, e.g. if you don't use USB scanners or on" - echo "*** platforms without libusb support but generally this means that you" - echo "*** can't use USB devices with SANE. The most probable cause is that" - if test "${ac_cv_header_usb_h}" != "yes"; then - echo "*** the libusb header file usb.h is not installed. If you use Linux" - echo "*** you may need a package called 'libusb-dev', 'libusb-devel' or similar." - else - echo "*** libusb is not installed at all or is too old. See README." - fi -fi - -echo "****************************************************************" -echo "* Please be sure to read file PROBLEMS in this directory *" -echo "* BEFORE running any of the SANE applications. Some devices *" -echo "* may be damaged by improper operation, so please do heed this *" -echo "* advice. *" -echo "****************************************************************" diff --git a/doc/Makefile.am b/doc/Makefile.am index a7e47af..162d01a 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -16,7 +16,7 @@ EXTRA_DIST = scanimage.man sane-config.man sane-find-scanner.man \ # Backend man pages bypass standard automake man5_MANS because there is not # a man page for every supported backend. We could get rid of # custom install/uninstall if we required man pages for every backend. -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ + BACKEND_5MANS = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 \ sane-dll.5 sane-dc25.5 sane-dmc.5 sane-epson.5 sane-epson2.5 sane-epsonds.5 \ sane-hp.5 sane-gphoto2.5 sane-leo.5 sane-lexmark.5 \ @@ -28,7 +28,7 @@ BACKEND_5MANS = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 \ sane-mustek_pp.5 sane-dc210.5 sane-v4l.5 sane-snapscan.5 \ sane-canon.5 sane-coolscan.5 sane-bh.5 sane-dc240.5 \ sane-umax_pp.5 sane-umax1220u.5 sane-sm3600.5 sane-usb.5 \ - sane-mustek_usb.5 sane-sceptre.5 sane-canon_pp.5 sane-canon630u.5 \ + sane-mustek_usb.5 sane-sceptre.5 sane-canon_pp.5 sane-canon630u.5 \ sane-teco1.5 sane-teco2.5 sane-teco3.5 sane-test.5 sane-sp15c.5 \ sane-coolscan2.5 sane-hpsj5s.5 sane-gt68xx.5 sane-artec_eplus48u.5 \ sane-ma1509.5 sane-ibm.5 sane-hp5400.5 sane-plustek_pp.5 sane-u12.5 \ @@ -51,7 +51,7 @@ EXTRA_DIST += sane-abaton.man sane-agfafocus.man sane-apple.man sane-as6e.man \ sane-mustek_pp.man sane-dc210.man sane-v4l.man sane-snapscan.man \ sane-canon.man sane-coolscan.man sane-bh.man sane-dc240.man \ sane-umax_pp.man sane-umax1220u.man sane-sm3600.man sane-usb.man \ - sane-mustek_usb.man sane-sceptre.man sane-canon_pp.man \ + sane-mustek_usb.man sane-sceptre.man sane-canon_pp.man \ sane-canon630u.man sane-teco1.man sane-teco2.man \ sane-teco3.man sane-test.man sane-sp15c.man sane-coolscan2.man \ sane-hpsj5s.man sane-gt68xx.man sane-artec_eplus48u.man \ @@ -80,25 +80,15 @@ HTML_PAGES = sane-backends.html sane-backends-external.html \ endif doc_DATA = $(HTML_PAGES) -if USE_LATEX -STANDARD = sane.ps -else -STANDARD = -endif - -all: bemans $(STANDARD) html-pages +all: bemans $(API_SPECS) html-pages dist_doc_DATA = backend-writing.txt nobase_dist_doc_DATA = $(BEDOCS) -doc_DATA += $(STANDARD) +doc_DATA += $(API_SPECS) EXTRA_DIST += descriptions.txt releases.txt sane-logo2.jpg sane-logo.png \ sane.png -LATEX = TEXINPUTS="$(srcdir):$$TEXINPUTS" @LATEX@ -DVIPS = @DVIPS@ -MAKEINDEX = @MAKEINDEX@ -DLH = TEXINPUTS="$(srcdir):$$TEXINPUTS" dlh -MAN2HTML= nroff -c -man |\ +MAN2HTML = nroff -c -man |\ man2html -compress -topm 6 -botm 6 -nodepage -title $${page} \ -cgiurl '$$title.$$section.html'|\ sed 's,,

,' @@ -156,8 +146,6 @@ BEDOCS += umax/negative-types.txt umax/sane-logo.jpg \ umax/sane-umax.jpg umax/umax.BUGS umax/umax.CHANGES umax/umax.FAQ \ umax/umax.TODO -EXTRA_DIST += sane.tex net.tex html.sty - DESC_FILES = descriptions/abaton.desc descriptions/agfafocus.desc \ descriptions/apple.desc descriptions/artec.desc \ descriptions/artec_eplus48u.desc descriptions/as6e.desc \ @@ -216,40 +204,98 @@ DESC_EXT_FILES = descriptions-external/brother2.desc \ descriptions-external/primax.desc \ descriptions-external/samsung.desc \ descriptions-external/scanwit.desc \ + descriptions-external/utsushi.desc \ descriptions-external/v4l2.desc \ descriptions-external/viceo.desc EXTRA_DIST += $(DESC_EXT_FILES) descriptions-external/template.desc. -EXTRA_DIST += figs/area.eps figs/area.fig figs/flow.eps figs/flow.fig \ - figs/hierarchy.eps figs/hierarchy.fig figs/image-data.eps \ - figs/image-data.fig figs/xfer.eps figs/xfer.fig - -EXTRA_DIST += icons/contents.gif icons/index.gif icons/next.gif \ - icons/next_gr.gif icons/previous.gif icons/previous_gr.gif \ - icons/references.gif icons/references_gr.gif icons/up.gif icons/up_gr.gif - install-data-local: install-beman5 uninstall-local: rm -rf $(DESTDIR)$(beman5dir)/sane-*.5 -sane.ind: $(srcdir)/sane.tex - @echo Generating index for sane.tex... +## SANE API specification format conversion support + +API_SPECS = +if WITH_API_PS +API_SPECS += sane.ps +endif +if WITH_API_PDF +API_SPECS += sane.pdf +endif +if WITH_API_HTML +API_SPECS += sane-html +endif + +API_SPEC_INPUTS = $(srcdir)/sane.tex +API_SPEC_INPUTS += $(srcdir)/net.tex +EXTRA_DIST += $(API_SPEC_INPUTS) + +API_SPEC_TEX_FIGS = +API_SPEC_TEX_FIGS += figs/area.fig +API_SPEC_TEX_FIGS += figs/flow.fig +API_SPEC_TEX_FIGS += figs/hierarchy.fig +API_SPEC_TEX_FIGS += figs/image-data.fig +API_SPEC_TEX_FIGS += figs/xfer.fig +EXTRA_DIST += $(API_SPEC_TEX_FIGS) + +API_SPEC_EPS_FIGS = +API_SPEC_EPS_FIGS += figs/area.eps +API_SPEC_EPS_FIGS += figs/flow.eps +API_SPEC_EPS_FIGS += figs/hierarchy.eps +API_SPEC_EPS_FIGS += figs/image-data.eps +API_SPEC_EPS_FIGS += figs/xfer.eps + +API_SPEC_PDF_FIGS = +API_SPEC_PDF_FIGS += figs/area.pdf +API_SPEC_PDF_FIGS += figs/flow.pdf +API_SPEC_PDF_FIGS += figs/hierarchy.pdf +API_SPEC_PDF_FIGS += figs/image-data.pdf +API_SPEC_PDF_FIGS += figs/xfer.pdf + +## These icons are referred to in the generated HTML output. +API_SPEC_HTML_ICONS = +API_SPEC_HTML_ICONS += icons/contents.gif +API_SPEC_HTML_ICONS += icons/index.gif +API_SPEC_HTML_ICONS += icons/next.gif icons/next_gr.gif +API_SPEC_HTML_ICONS += icons/previous.gif icons/previous_gr.gif +API_SPEC_HTML_ICONS += icons/references.gif icons/references_gr.gif +API_SPEC_HTML_ICONS += icons/up.gif icons/up_gr.gif +EXTRA_DIST += $(API_SPEC_HTML_ICONS) + +am_TEXINPUTS = TEXINPUTS="$(builddir):$(srcdir):$$TEXINPUTS" + +sane.ind: $(API_SPEC_INPUTS) + @echo Generating index for $<... @touch sane.ind - @$(LATEX) $(srcdir)/sane /dev/null && \ - $(MAKEINDEX) sane.idx 2>/dev/null && \ - $(LATEX) $(srcdir)/sane /dev/null + @$(am_TEXINPUTS) $(LATEX) $< /dev/null && \ + $(MAKEINDEX) -q sane.idx && \ + $(am_TEXINPUTS) $(LATEX) $< /dev/null -sane.dvi: sane.ind - @echo Generating sane.dvi from sane.tex... - @$(LATEX) $(srcdir)/sane /dev/null +.fig.eps: + @test -d $(@D) || $(MKDIR_P) $(@D) + $(FIG2DEV) -L eps $< $@ + +sane.dvi: $(API_SPEC_INPUTS) $(API_SPEC_EPS_FIGS) sane.ind + @echo Generating $@ from $<... + @$(am_TEXINPUTS) $(LATEX) $< /dev/null sane.ps: sane.dvi - @echo Generating sane.ps from sane.dvi... - @$(DVIPS) sane.dvi -o sane.ps 2>/dev/null + @echo Generating $@ from $<... + @$(am_TEXINPUTS) $(DVIPS) -q $< -o $@ + +.fig.pdf: + @test -d $(@D) || $(MKDIR_P) $(@D) + $(FIG2DEV) -L pdf $< $@ + +sane.pdf: $(API_SPEC_INPUTS) $(API_SPEC_PDF_FIGS) sane.ind + @echo Generating $@ from $<... + @$(am_TEXINPUTS) $(PDFLATEX) $< >/dev/null sane-html: sane.dvi - $(DLH) $(srcdir)/sane.tex + $(am_TEXINPUTS) $(DLH) $(srcdir)/sane.tex + +## ^^ html-man: $(MANPAGES) @for page in $(MANPAGES); do \ @@ -292,16 +338,18 @@ descriptions.db: $(DESC_FILES) ../tools/sane-desc @../tools/sane-desc -m ascii -s ${srcdir}/descriptions \ > descriptions.db -descriptions-external.db: $(DESC_FILES) ../tools/sane-desc +descriptions-external.db: $(DESC_EXT_FILES) ../tools/sane-desc @../tools/sane-desc -m ascii -s ${srcdir}/descriptions-external \ > descriptions-external.db html-pages: $(HTML_PAGES) -html: html-pages html-man sane-html +html-local: html-pages html-man sane-html clean-local: rm -f *.toc *.aux *.log *.cp *.fn *.tp *.vr *.pg *.ky *.blg *.idx *.cb rm -f *.ilg + rm -f $(API_SPEC_EPS_FIGS) $(API_SPEC_PDF_FIGS) + -rmdir figs distclean-local: rm -f $(MANPAGES) diff --git a/doc/Makefile.in b/doc/Makefile.in index ef83201..d678cf1 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -78,17 +78,25 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +@WITH_API_PS_TRUE@am__append_1 = sane.ps +@WITH_API_PDF_TRUE@am__append_2 = sane.pdf +@WITH_API_HTML_TRUE@am__append_3 = sane-html subdir = doc DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs $(srcdir)/doxygen-sanei.conf.in \ $(srcdir)/doxygen-genesys.conf.in $(dist_doc_DATA) \ $(nobase_dist_doc_DATA) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ltoptions.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/byteorder.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/configure.in + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -155,7 +163,10 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ +AM_CPPFLAGS = @AM_CPPFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -167,15 +178,6 @@ AWK = @AWK@ BACKENDS = @BACKENDS@ BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ - -# Create a list of man pages for only backends that are compiled in so -# that is all that gets installed. Also, build a complete list of all -# backend man pages. This allows a user to optionally generate all -# man pages in HTML form for things like posting to a web site. -# -# Backend man pages bypass standard automake man5_MANS because there is not -# a man page for every supported backend. We could get rid of -# custom install/uninstall if we required man pages for every backend. BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ @@ -185,7 +187,7 @@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISTCLEAN_FILES = @DISTCLEAN_FILES@ +DLH = @DLH@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DSYMUTIL = @DSYMUTIL@ @@ -198,34 +200,42 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIG2DEV = @FIG2DEV@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GREP = @GREP@ +GS = @GS@ HAVE_GPHOTO2 = @HAVE_GPHOTO2@ IEEE1284_LIBS = @IEEE1284_LIBS@ -INCLUDES = @INCLUDES@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JPEG_LIBS = @JPEG_LIBS@ -LATEX = TEXINPUTS="$(srcdir):$$TEXINPUTS" @LATEX@ +LATEX = @LATEX@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LIBUSB_1_0_CFLAGS = @LIBUSB_1_0_CFLAGS@ -LIBUSB_1_0_LIBS = @LIBUSB_1_0_LIBS@ LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ LIBV4L_LIBS = @LIBV4L_LIBS@ -LINKER_RPATH = @LINKER_RPATH@ LIPO = @LIPO@ LN_S = @LN_S@ LOCKPATH_GROUP = @LOCKPATH_GROUP@ +LTALLOCA = @LTALLOCA@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINDEX = @MAKEINDEX@ @@ -234,10 +244,10 @@ MANIFEST_TOOL = @MANIFEST_TOOL@ MATH_LIB = @MATH_LIB@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ @@ -250,10 +260,13 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_LIBS = @PNG_LIBS@ +POSUB = @POSUB@ +PPMTOGIF = @PPMTOGIF@ PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -275,12 +288,16 @@ SYSLOG_LIBS = @SYSLOG_LIBS@ SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ SYSTEMD_LIBS = @SYSTEMD_LIBS@ TIFF_LIBS = @TIFF_LIBS@ +USB_CFLAGS = @USB_CFLAGS@ USB_LIBS = @USB_LIBS@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ V_MAJOR = @V_MAJOR@ V_MINOR = @V_MINOR@ V_REV = @V_REV@ XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -366,16 +383,19 @@ EXTRA_DIST = scanimage.man sane-config.man sane-find-scanner.man \ sane-rts8891.man sane-coolscan3.man sane-kvs1025.man \ sane-kvs20xx.man sane-kvs40xx.man sane-p5.man \ sane-magicolor.man sane.man saned.man descriptions.txt \ - releases.txt sane-logo2.jpg sane-logo.png sane.png sane.tex \ - net.tex html.sty $(DESC_FILES) descriptions/template.desc. \ - $(DESC_EXT_FILES) descriptions-external/template.desc. \ - figs/area.eps figs/area.fig figs/flow.eps figs/flow.fig \ - figs/hierarchy.eps figs/hierarchy.fig figs/image-data.eps \ - figs/image-data.fig figs/xfer.eps figs/xfer.fig \ - icons/contents.gif icons/index.gif icons/next.gif \ - icons/next_gr.gif icons/previous.gif icons/previous_gr.gif \ - icons/references.gif icons/references_gr.gif icons/up.gif \ - icons/up_gr.gif + releases.txt sane-logo2.jpg sane-logo.png sane.png \ + $(DESC_FILES) descriptions/template.desc. $(DESC_EXT_FILES) \ + descriptions-external/template.desc. $(API_SPEC_INPUTS) \ + $(API_SPEC_TEX_FIGS) $(API_SPEC_HTML_ICONS) + +# Create a list of man pages for only backends that are compiled in so +# that is all that gets installed. Also, build a complete list of all +# backend man pages. This allows a user to optionally generate all +# man pages in HTML form for things like posting to a web site. +# +# Backend man pages bypass standard automake man5_MANS because there is not +# a man page for every supported backend. We could get rid of +# custom install/uninstall if we required man pages for every backend. BACKEND_5MANS = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 \ sane-dll.5 sane-dc25.5 sane-dmc.5 sane-epson.5 sane-epson2.5 sane-epsonds.5 \ sane-hp.5 sane-gphoto2.5 sane-leo.5 sane-lexmark.5 \ @@ -387,7 +407,7 @@ BACKEND_5MANS = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 \ sane-mustek_pp.5 sane-dc210.5 sane-v4l.5 sane-snapscan.5 \ sane-canon.5 sane-coolscan.5 sane-bh.5 sane-dc240.5 \ sane-umax_pp.5 sane-umax1220u.5 sane-sm3600.5 sane-usb.5 \ - sane-mustek_usb.5 sane-sceptre.5 sane-canon_pp.5 sane-canon630u.5 \ + sane-mustek_usb.5 sane-sceptre.5 sane-canon_pp.5 sane-canon630u.5 \ sane-teco1.5 sane-teco2.5 sane-teco3.5 sane-test.5 sane-sp15c.5 \ sane-coolscan2.5 sane-hpsj5s.5 sane-gt68xx.5 sane-artec_eplus48u.5 \ sane-ma1509.5 sane-ibm.5 sane-hp5400.5 sane-plustek_pp.5 sane-u12.5 \ @@ -405,12 +425,9 @@ MANPAGES = $(man1_MANS) $(BACKEND_5MANS) $(man7_MANS) $(man8_MANS) @CROSS_COMPILING_FALSE@ sane-mfgs.html sane-mfgs-external.html @CROSS_COMPILING_TRUE@HTML_PAGES = -doc_DATA = $(HTML_PAGES) $(STANDARD) -@USE_LATEX_FALSE@STANDARD = -@USE_LATEX_TRUE@STANDARD = sane.ps +doc_DATA = $(HTML_PAGES) $(API_SPECS) dist_doc_DATA = backend-writing.txt nobase_dist_doc_DATA = $(BEDOCS) -DLH = TEXINPUTS="$(srcdir):$$TEXINPUTS" dlh MAN2HTML = nroff -c -man |\ man2html -compress -topm 6 -botm 6 -nodepage -title $${page} \ -cgiurl '$$title.$$section.html'|\ @@ -502,12 +519,27 @@ DESC_EXT_FILES = descriptions-external/brother2.desc \ descriptions-external/primax.desc \ descriptions-external/samsung.desc \ descriptions-external/scanwit.desc \ + descriptions-external/utsushi.desc \ descriptions-external/v4l2.desc \ descriptions-external/viceo.desc +API_SPECS = $(am__append_1) $(am__append_2) $(am__append_3) +API_SPEC_INPUTS = $(srcdir)/sane.tex $(srcdir)/net.tex +API_SPEC_TEX_FIGS = figs/area.fig figs/flow.fig figs/hierarchy.fig \ + figs/image-data.fig figs/xfer.fig +API_SPEC_EPS_FIGS = figs/area.eps figs/flow.eps figs/hierarchy.eps \ + figs/image-data.eps figs/xfer.eps +API_SPEC_PDF_FIGS = figs/area.pdf figs/flow.pdf figs/hierarchy.pdf \ + figs/image-data.pdf figs/xfer.pdf +API_SPEC_HTML_ICONS = icons/contents.gif icons/index.gif \ + icons/next.gif icons/next_gr.gif icons/previous.gif \ + icons/previous_gr.gif icons/references.gif \ + icons/references_gr.gif icons/up.gif icons/up_gr.gif +am_TEXINPUTS = TEXINPUTS="$(builddir):$(srcdir):$$TEXINPUTS" all: all-am .SUFFIXES: +.SUFFIXES: .eps .fig .pdf $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -823,7 +855,9 @@ dvi: dvi-am dvi-am: -html-am: +html: html-am + +html-am: html-local info: info-am @@ -884,14 +918,15 @@ uninstall-man: uninstall-man1 uninstall-man7 uninstall-man8 .PHONY: all all-am check check-am clean clean-generic clean-libtool \ clean-local cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distclean-local distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-data-local install-dist_docDATA \ - install-docDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-man1 install-man7 \ - install-man8 install-nobase_dist_docDATA install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ + html-am html-local info info-am install install-am \ + install-data install-data-am install-data-local \ + install-dist_docDATA install-docDATA install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-man1 install-man7 install-man8 \ + install-nobase_dist_docDATA install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-dist_docDATA uninstall-docDATA \ @@ -899,7 +934,7 @@ uninstall-man: uninstall-man1 uninstall-man7 uninstall-man8 uninstall-man8 uninstall-nobase_dist_docDATA -all: bemans $(STANDARD) html-pages +all: bemans $(API_SPECS) html-pages %.1 %.5 %.7 %.8: %.man @echo "Generating manpage $@..."; @@ -926,23 +961,35 @@ install-data-local: install-beman5 uninstall-local: rm -rf $(DESTDIR)$(beman5dir)/sane-*.5 -sane.ind: $(srcdir)/sane.tex - @echo Generating index for sane.tex... +sane.ind: $(API_SPEC_INPUTS) + @echo Generating index for $<... @touch sane.ind - @$(LATEX) $(srcdir)/sane /dev/null && \ - $(MAKEINDEX) sane.idx 2>/dev/null && \ - $(LATEX) $(srcdir)/sane /dev/null + @$(am_TEXINPUTS) $(LATEX) $< /dev/null && \ + $(MAKEINDEX) -q sane.idx && \ + $(am_TEXINPUTS) $(LATEX) $< /dev/null + +.fig.eps: + @test -d $(@D) || $(MKDIR_P) $(@D) + $(FIG2DEV) -L eps $< $@ -sane.dvi: sane.ind - @echo Generating sane.dvi from sane.tex... - @$(LATEX) $(srcdir)/sane /dev/null +sane.dvi: $(API_SPEC_INPUTS) $(API_SPEC_EPS_FIGS) sane.ind + @echo Generating $@ from $<... + @$(am_TEXINPUTS) $(LATEX) $< /dev/null sane.ps: sane.dvi - @echo Generating sane.ps from sane.dvi... - @$(DVIPS) sane.dvi -o sane.ps 2>/dev/null + @echo Generating $@ from $<... + @$(am_TEXINPUTS) $(DVIPS) -q $< -o $@ + +.fig.pdf: + @test -d $(@D) || $(MKDIR_P) $(@D) + $(FIG2DEV) -L pdf $< $@ + +sane.pdf: $(API_SPEC_INPUTS) $(API_SPEC_PDF_FIGS) sane.ind + @echo Generating $@ from $<... + @$(am_TEXINPUTS) $(PDFLATEX) $< >/dev/null sane-html: sane.dvi - $(DLH) $(srcdir)/sane.tex + $(am_TEXINPUTS) $(DLH) $(srcdir)/sane.tex html-man: $(MANPAGES) @for page in $(MANPAGES); do \ @@ -985,16 +1032,18 @@ descriptions.db: $(DESC_FILES) ../tools/sane-desc @../tools/sane-desc -m ascii -s ${srcdir}/descriptions \ > descriptions.db -descriptions-external.db: $(DESC_FILES) ../tools/sane-desc +descriptions-external.db: $(DESC_EXT_FILES) ../tools/sane-desc @../tools/sane-desc -m ascii -s ${srcdir}/descriptions-external \ > descriptions-external.db html-pages: $(HTML_PAGES) -html: html-pages html-man sane-html +html-local: html-pages html-man sane-html clean-local: rm -f *.toc *.aux *.log *.cp *.fn *.tp *.vr *.pg *.ky *.blg *.idx *.cb rm -f *.ilg + rm -f $(API_SPEC_EPS_FIGS) $(API_SPEC_PDF_FIGS) + -rmdir figs distclean-local: rm -f $(MANPAGES) diff --git a/doc/backend-writing.txt b/doc/backend-writing.txt index 7b49041..7e34d6a 100644 --- a/doc/backend-writing.txt +++ b/doc/backend-writing.txt @@ -43,8 +43,8 @@ CONFIGURATION AND BUILD SYSTEM ------------------------------ Sane-backends uses the autoconf and automake tools. The configure script is -generated from configure.in and aclocal.m4 by running "autoreconf". -Simple checks (e.g. for headers) should be placed into configure.in while +generated from configure.ac and aclocal.m4 by running "autoreconf". +Simple checks (e.g. for headers) should be placed into configure.ac while for more complex stuff acinclude.m4 is the right file. After changes in one of these files, "autoreconf" should be called. This will then call a chain of autotools, such as autoconf to generate configure, autoheader @@ -77,14 +77,15 @@ sane-backends distribution. sane-backends/ * acinclude.m4 aclocal.m4 compile config.guess config.sub configure - configure.in depcomp install-sh ltmain.sh Makefile.am Makefile.in missing + configure.ac depcomp install-sh ltmain.sh Makefile.am Makefile.in missing mkinstalldirs: Part of the build system as explained above. * ChangeLog: - The ChangeLog contains all the changes made since the last stable release. - If anything is changed in git, it must be also mentioned in ChangeLog. - It's not enough to write just a git commit message, as users won't have - access to these messages. For more details on the format, see the SANE - git page on the website. + The ChangeLog contains all the changes made since the last stable release. + If anything is changed in git, write a decent commit message documenting + your work. This commit message will be included as is in the ChangeLog + file for the next stable release. Users of development code should refer + to the `git log` output or the on-line log. + For more details on the format, see the SANE git page on the website. * ChangeLog-1.0.0, ChangeLog-1.0.1 (...): These files contain the ChangeLogs of older releases. Once a new release has been made, the current ChangeLog renamed to ChangeLog-1.something.something @@ -153,7 +154,7 @@ sane-backends/doc/ Contains additional information about newbackend, e.g. READMEs or TODO files. General files: - * Makefile.in: + * Makefile.am: "sane-newbackend.5" must be added to variable BACKEND_5MANS and "sane-newbackend.man" to EXTRA_DIST. A backend documentation directory (if used) must be added to the BEDOCS variable. @@ -228,7 +229,7 @@ PROGRAMMING * To add the backend to the existing SANE code, the following must be done at least: - - add the backend name to ALL_BACKENDS in configure.in (and run autoreconf) + - add the backend name to ALL_BACKENDS in configure.ac (and run autoreconf) - Add new backend to BACKEND_CONFS, be_convenience_libs, be_dlopen_libs, and define _lib${backend}_la_SOURCES and nodist_libsane_${backend}_la_SOURCES; using an existing backend as @@ -254,20 +255,18 @@ PROGRAMMING * Please be courteous to programmer's with terminals that are 80 characters wide. It's not difficult to avoid long lines, so please - do so. Note that in ANSI C you can split long strings into pieces + do so. Note that in standard C you can split long strings into pieces separated by white space. For example, "this is an awfully long string" can be written as "this is an " "awfully long string". -* Use only ANSI C for your backend. C99 is not supported by the compilers of - some older platforms so please avoid using its features. +* Use only standard C for your backend. ISO C99 support will be enabled + if supported by the compiler detected by configure. * Please do not depend on compiler specific features or, if you do, make the dependency conditional so other compilers will still be able to compile the files. In particular: - - do not use C++ style comments (//-line comments) - - do not declare dynamically sized automatic arrays; instead, use alloca() after including "../include/lalloca.h". For example: @@ -295,7 +294,7 @@ PROGRAMMING compiler-dependent. * If you use headers or libraries that may not be available on all systems, - write a check for configure.in and include it conditionally. If your backend + write a check for configure.ac and include it conditionally. If your backend depends on these libraries or headers, compile the backend only if they are available (see pint for an example). @@ -476,7 +475,7 @@ In sane-backends/backend/ In sane-backends/doc/ * Add an entry for the man page in sane.man -* Add the man page file in doc/Makefile.in +* Add the man page file in doc/Makefile.am * Move the description file from descriptions-external/ to doc/descriptions/ * Check that the description file is correct: "cd doc; make html-pages" and check the html pages result with a browser. diff --git a/doc/descriptions-external/brother.desc b/doc/descriptions-external/brother.desc index e875a4c..a261712 100644 --- a/doc/descriptions-external/brother.desc +++ b/doc/descriptions-external/brother.desc @@ -202,12 +202,6 @@ :usbid "0x04f9" "0x0157" :comment "No report yet." -:model "MFC-3820CN" -:status :untested -:interface "USB network" -:usbid "0x04f9" "0x014b" -:comment "No report yet." - :model "MFC-3820J" :status :untested :interface "USB" @@ -217,7 +211,7 @@ :model "MFC-3820CN" :status :good :interface "USB network" -;:usbid "0x04f9" "0x014b" +:usbid "0x04f9" "0x014b" :comment "Network connection is reported to work." :model "MFC-4420C" diff --git a/doc/descriptions-external/brother2.desc b/doc/descriptions-external/brother2.desc index adda1e3..92b5450 100644 --- a/doc/descriptions-external/brother2.desc +++ b/doc/descriptions-external/brother2.desc @@ -43,7 +43,7 @@ :model "DCP-116C" :status :untested :interface "USB" -;:usbid "0x04f9" "0x018c" +:usbid "0x04f9" "0x018d" :comment "No report yet." :model "DCP-117C" @@ -65,7 +65,7 @@ :model "DCP-315CN" :status :untested :interface "USB network" -;:usbid "0x04f9" "" +:usbid "0x04f9" "0x0191" :comment "No report yet." :model "DCP-330C" @@ -77,7 +77,7 @@ :model "DCP-340CW" :status :untested :interface "USB" -;:usbid "0x04f9" "" +:usbid "0x04f9" "0x0192" :comment "No report yet." :model "DCP-7010" @@ -140,7 +140,7 @@ :model "MFC-425CN" :status :untested :interface "USB network" -;:usbid "0x04f9" "" +:usbid "0x04f9" "0x0194" :comment "No report yet." :model "MFC-5440CN" @@ -177,7 +177,7 @@ :model "MFC-640CW" :status :untested :interface "USB" -;:usbid "0x04f9" "" +:usbid "0x04f9" "0x0197" :comment "No report yet." :model "MFC-7220" @@ -213,23 +213,23 @@ :model "MFC-820CW" :status :untested :interface "USB" -;:usbid "0x04f9" "0x0180" +:usbid "0x04f9" "0x0195" :comment "No report yet." :model "MFC-8460N" :status :untested :interface "USB" -;:usbid "0x04f9" "0x0180" +:usbid "0x04f9" "0x01a5" :comment "No report yet." :model "MFC-8860DN" :status :untested :interface "USB" -;:usbid "0x04f9" "0x0180" +:usbid "0x04f9" "0x01a6" :comment "No report yet." :model "MFC-9420CN" :status :untested :interface "USB network" -;:usbid "0x04f9" "" +:usbid "0x04f9" "0x018a" :comment "No report yet." diff --git a/doc/descriptions-external/hpaio.desc b/doc/descriptions-external/hpaio.desc old mode 100755 new mode 100644 diff --git a/doc/descriptions-external/mustek_a3p1.desc b/doc/descriptions-external/mustek_a3p1.desc old mode 100755 new mode 100644 diff --git a/doc/descriptions-external/samsung.desc b/doc/descriptions-external/samsung.desc index 6bb2d0f..d784159 100644 --- a/doc/descriptions-external/samsung.desc +++ b/doc/descriptions-external/samsung.desc @@ -22,7 +22,7 @@ :mfg "Samsung" ; name a manufacturer :url "http://www.samsung.com/" -:comment "Multi Function Peripheral. External backend made by Samsung." +:comment "Multi Function Peripheral. External backend made by Samsung. Please check the Samsung website and/or contact us if you have a Samsung device not mentioned here." ; name models for above-specified mfg. :model "SCX-4016" @@ -78,11 +78,3 @@ :interface "Parport USB" :status :untested :comment "Please contact us if you use this device." - -:model "For models not mentioned here, check Samsung website" -:interface "USB" -:status :untested -:comment "Please contact us if you have a Samsung device not mentioned here."" - -; :comment and :url specifiers are optional after :mfg, :model, :desc, -; and at the top-level. diff --git a/doc/descriptions-external/utsushi.desc b/doc/descriptions-external/utsushi.desc new file mode 100644 index 0000000..d82ed18 --- /dev/null +++ b/doc/descriptions-external/utsushi.desc @@ -0,0 +1,458 @@ +;;; utsushi.desc -*- emacs-lisp -*- (sort of) +;;; Copyright (C) 2015, 2016 Meeuwissen +;;; +;;; License: GPL-3.0+ +;;; Author : Olaf Meeuwissen +;;; +;;; This file is part of the 'Utsushi' package. +;;; This package 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 3 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 ought to have received a copy of the GNU General Public License +;;; along with this package. If not, see . + +;; Backend data +;; +:backend "utsushi" +:url "https://github.com/utsushi/utsushi" + +;; Device and manufacturer information. +;; +:devicetype :scanner +:mfg "EPSON" +:url "http://www.epson.com/" + +;; List of EPSON scanners and all-in-ones. + +:model "DS-40" +:interface "USB" +:usbid "0x04b8" "0x0152" +:status :good + +:model "DS-510" +:interface "USB" +:usbid "0x04b8" "0x014c" +:status :good + +:model "DS-520" +:interface "USB" +:usbid "0x04b8" "0x0154" +:status :good + +:model "DS-560" +:interface "USB" +:usbid "0x04b8" "0x0150" +:status :good + +:model "DS-760" +:interface "USB" +:usbid "0x04b8" "0x014d" +:status :good + +:model "DS-780N" +:interface "USB" +:usbid "0x04b8" "0x0164" +:status :good + +:model "DS-860" +:interface "USB" +:usbid "0x04b8" "0x014d" +:status :good + +:model "DS-5500" +:interface "USB" +:usbid "0x04b8" "0x0145" +:status :good + +:model "DS-6500" +:interface "USB" +:usbid "0x04b8" "0x0145" +:status :good + +:model "DS-7500" +:interface "USB" +:usbid "0x04b8" "0x0145" +:status :good + +:model "DS-50000" +:interface "USB" +:usbid "0x04b8" "0x0146" +:status :good + +:model "DS-60000" +:interface "USB" +:usbid "0x04b8" "0x0146" +:status :good + +:model "DS-70000" +:interface "USB" +:usbid "0x04b8" "0x0146" +:status :good + +:model "EP-10VA" +:interface "USB" +:usbid "0x04b8" "0x1108" +:status :good + +:model "EP-808A" +:interface "USB" +:usbid "0x04b8" "0x110a" +:status :good + +:model "EP-978A3" +:interface "USB" +:usbid "0x04b8" "0x1109" +:status :good + +:model "ES-400" +:interface "USB" +:usbid "0x04b8" "0x0156" +:status :good + +:model "ET-2500" +:interface "USB" +:usbid "0x04b8" "0x1105" +:status :good + +:model "ET-2550" +:interface "USB" +:usbid "0x04b8" "0x1106" +:status :good + +:model "ET-4500" +:interface "USB" +:usbid "0x04b8" "0x1107" +:status :good + +:model "ET-4550" +:interface "USB" +:usbid "0x04b8" "0x1101" +:status :good + +:model "L220" +:interface "USB" +:usbid "0x04b8" "0x08d1" +:status :good + +:model "L360" +:interface "USB" +:usbid "0x04b8" "0x08d1" +:status :good + +:model "L365" +:interface "USB" +:usbid "0x04b8" "0x08d2" +:status :good + +:model "L366" +:interface "USB" +:usbid "0x04b8" "0x08d2" +:status :good + +:model "L455" +:interface "USB" +:usbid "0x04b8" "0x08c2" +:status :good + +:model "L565" +:interface "USB" +:usbid "0x04b8" "0x08d3" +:status :good + +:model "L566" +:interface "USB" +:usbid "0x04b8" "0x08d3" +:status :good + +:model "L655" +:interface "USB" +:usbid "0x04b8" "0x1101" +:status :good + +:model "PX-M7050" +:interface "USB" +:usbid "0x04b8" "0x08bc" +:status :good + +:model "PX-M7050FX" +:interface "USB" +:usbid "0x04b8" "0x08cc" +:status :good + +:model "PX-M840FX" +:interface "USB" +:usbid "0x04b8" "0x08cd" +:status :good + +:model "PX-M860F" +:interface "USB" +:usbid "0x04b8" "0x08ce" +:status :good + +:model "WF-6530" +:interface "USB" +:usbid "0x04b8" "0x08cd" +:status :good + +:model "WF-6590" +:interface "USB" +:usbid "0x04b8" "0x08cf" +:status :good + +:model "WF-8510" +:interface "USB" +:usbid "0x04b8" "0x08bc" +:status :good + +:model "WF-8590" +:interface "USB" +:usbid "0x04b8" "0x08bc" +:status :good + +:model "WF-R8590" +:interface "USB" +:usbid "0x04b8" "0x08cc" +:status :good + +:model "XP-220" +:interface "USB" +:usbid "0x04b8" "0x08c0" +:status :good + +:model "XP-230" +:interface "USB" +:usbid "0x04b8" "0x1102" +:status :good + +:model "XP-235" +:interface "USB" +:usbid "0x04b8" "0x1102" +:status :good + +:model "XP-322" +:interface "USB" +:usbid "0x04b8" "0x1103" +:status :good + +:model "XP-335" +:interface "USB" +:usbid "0x04b8" "0x1103" +:status :good + +:model "XP-430" +:interface "USB" +:usbid "0x04b8" "0x1104" +:status :good + +:model "XP-432" +:interface "USB" +:usbid "0x04b8" "0x1104" +:status :good + +:model "XP-435" +:interface "USB" +:usbid "0x04b8" "0x1104" +:status :good + +:model "XP-530" +:interface "USB" +:usbid "0x04b8" "0x110c" +:status :good + +:model "XP-830" +:interface "USB" +:usbid "0x04b8" "0x110b" +:status :good + +:model "XP-960" +:interface "USB" +:usbid "0x04b8" "0x1109" +:status :good + +; These are models for which we don't know the model name yet. +; Upstream releases have stopped providing the information we +; need to fill out the :model fields :-( + +:model "PID 0155" +:interface "USB" +:usbid "0x04b8" "0x0155" +:status :good + +:model "PID 0157" +:interface "USB" +:usbid "0x04b8" "0x0157" +:status :good + +:model "PID 0159" +:interface "USB" +:usbid "0x04b8" "0x0159" +:status :good + +:model "PID 015A" +:interface "USB" +:usbid "0x04b8" "0x015a" +:status :good + +:model "PID 015C" +:interface "USB" +:usbid "0x04b8" "0x015c" +:status :good + +:model "PID 015D" +:interface "USB" +:usbid "0x04b8" "0x015d" +:status :good + +:model "PID 015E" +:interface "USB" +:usbid "0x04b8" "0x015e" +:status :good + +:model "PID 015F" +:interface "USB" +:usbid "0x04b8" "0x015f" +:status :good + +:model "PID 0162" +:interface "USB" +:usbid "0x04b8" "0x0162" +:status :good + +:model "PID 0163" +:interface "USB" +:usbid "0x04b8" "0x0163" +:status :good + +:model "PID 110D" +:interface "USB" +:usbid "0x04b8" "0x110d" +:status :good + +:model "PID 110F" +:interface "USB" +:usbid "0x04b8" "0x110f" +:status :good + +:model "PID 1112" +:interface "USB" +:usbid "0x04b8" "0x1112" +:status :good + +:model "PID 1113" +:interface "USB" +:usbid "0x04b8" "0x1113" +:status :good + +:model "PID 1114" +:interface "USB" +:usbid "0x04b8" "0x1114" +:status :good + +:model "PID 1115" +:interface "USB" +:usbid "0x04b8" "0x1115" +:status :good + +:model "PID 1116" +:interface "USB" +:usbid "0x04b8" "0x1116" +:status :good + +:model "PID 1117" +:interface "USB" +:usbid "0x04b8" "0x1117" +:status :good + +:model "PID 1118" +:interface "USB" +:usbid "0x04b8" "0x1118" +:status :good + +:model "PID 1119" +:interface "USB" +:usbid "0x04b8" "0x1119" +:status :good + +:model "PID 111A" +:interface "USB" +:usbid "0x04b8" "0x111a" +:status :good + +:model "PID 111B" +:interface "USB" +:usbid "0x04b8" "0x111b" +:status :good +:comment "EP-879A?" + +:model "PID 111C" +:interface "USB" +:usbid "0x04b8" "0x111c" +:status :good + +:model "PID 111D" +:interface "USB" +:usbid "0x04b8" "0x111d" +:status :good + +:model "PID 111E" +:interface "USB" +:usbid "0x04b8" "0x111e" +:status :good + +:model "PID 111F" +:interface "USB" +:usbid "0x04b8" "0x111f" +:status :good + +:model "PID 1120" +:interface "USB" +:usbid "0x04b8" "0x1120" +:status :good + +:model "PID 1121" +:interface "USB" +:usbid "0x04b8" "0x1121" +:status :good + +:model "PID 1122" +:interface "USB" +:usbid "0x04b8" "0x1122" +:status :good + +:model "PID 1123" +:interface "USB" +:usbid "0x04b8" "0x1123" +:status :good +:comment "EP-30VA?" + +:model "PID 1125" +:interface "USB" +:usbid "0x04b8" "0x1125" +:status :good + +:model "PID 1126" +:interface "USB" +:usbid "0x04b8" "0x1126" +:status :good + +:model "PID 1127" +:interface "USB" +:usbid "0x04b8" "0x1127" +:status :good + +:model "PID 1128" +:interface "USB" +:usbid "0x04b8" "0x1128" +:status :good + +:model "PID 112B" +:interface "USB" +:usbid "0x04b8" "0x112b" +:status :good diff --git a/doc/descriptions/as6e.desc b/doc/descriptions/as6e.desc index 5270a80..e269807 100644 --- a/doc/descriptions/as6e.desc +++ b/doc/descriptions/as6e.desc @@ -9,7 +9,7 @@ ; :backend "as6e" ; name of backend -:version "0.5" ; version of backend +:version "0.5 (unmaintained)" ; version of backend :manpage "sane-as6e" ; name of manpage (if it exists) :url "http://as6edriver.sourceforge.net/" diff --git a/doc/descriptions/bh.desc b/doc/descriptions/bh.desc index d20715e..cea51d7 100644 --- a/doc/descriptions/bh.desc +++ b/doc/descriptions/bh.desc @@ -10,7 +10,7 @@ ; :backend "bh" ; name of backend -:version "1.0-4" ; version of backend +:version "1.0-4 (unmaintained)" ; version of backend :manpage "sane-bh" ; name of manpage (if it exists) :url "http://www.martoneconsulting.com/sane-bh.html" ; backend's web page :comment "Supports Copiscan II scanners with Remote SCSI Controller (RSC) interface" diff --git a/doc/descriptions/canon630u.desc b/doc/descriptions/canon630u.desc index b4fa418..c4c3026 100644 --- a/doc/descriptions/canon630u.desc +++ b/doc/descriptions/canon630u.desc @@ -11,7 +11,7 @@ :backend "canon630u" ; name of backend :manpage "sane-canon630u" -:version "0.1" ; version of backend +:version "0.1 (unmaintained)" ; version of backend ;:status :beta :url "http://canon-fb630u.sourceforge.net/" ; backend home page diff --git a/doc/descriptions/canon_dr.desc b/doc/descriptions/canon_dr.desc index 86a8507..8bf6964 100644 --- a/doc/descriptions/canon_dr.desc +++ b/doc/descriptions/canon_dr.desc @@ -90,8 +90,8 @@ :model "DR-2010M" :interface "USB" -:status :untested -:comment "Mac version of DR-2010C? Please test!" +:status :complete +:comment "DR-2010C with a different label, same USB IDs" :model "DR-2050C" :interface "USB" @@ -181,8 +181,8 @@ :model "DR-5010C" :interface "USB" :usbid "0x04a9" "0x1606" -:status :untested -:comment "Please test!" +:status :basic +:comment "ADF and Duplex work, needs more testing" :model "DR-5020" :interface "SCSI" @@ -289,7 +289,8 @@ :model "DR-F120" :interface "USB" :usbid "0x1083" "0x1654" -:status :untested +:status :basic +:comment "Flatbed not working. ADF working. Simplex+duplex, all resolutions <= 600, gray/color, calibration poor." :model "DR-G1100" :interface "USB" @@ -323,13 +324,14 @@ :model "P-150" :interface "USB" -;:usbid "0x1083" "0x" +;:usbid "0x1083" "0x162c" :status :untested +:comment "Same as P-150M?" :model "P-150M" :interface "USB" -;:usbid "0x1083" "0x" -:status :untested +:usbid "0x1083" "0x162c" +:status :good :model "P-201" :interface "USB" @@ -348,6 +350,12 @@ :status :basic :comment "All modes and resolutions working, but calibration is poor." +:model "P-208" +:interface "USB" +:usbid "0x1083" "0x164e" +:status :basic +:comment "This is the same device as the 0x164c P-208, but the mode switch on the scanner is in the wrong position, you must move the switch." + :model "DR-P208II" :interface "USB" :usbid "0x1083" "0x165d" diff --git a/doc/descriptions/canon_pp.desc b/doc/descriptions/canon_pp.desc index ddd7a46..6a3613a 100644 --- a/doc/descriptions/canon_pp.desc +++ b/doc/descriptions/canon_pp.desc @@ -10,7 +10,7 @@ :backend "canon_pp" ; name of backend :manpage "sane-canon_pp" -:version "0.33" ; version of backend +:version "0.33 (unmaintained)" ; version of backend :url "http://canon-fb330p.sourceforge.net" ; backend home page diff --git a/doc/descriptions/cardscan.desc b/doc/descriptions/cardscan.desc index a0a87db..df106de 100644 --- a/doc/descriptions/cardscan.desc +++ b/doc/descriptions/cardscan.desc @@ -11,14 +11,14 @@ :backend "cardscan" ; name of backend :url "http://www.thebility.com/cardscan/" -:version "2" ; version of backend +:version "3" ; version of backend :manpage "sane-cardscan" ; name of manpage (if it exists) :comment "Backend updated for SANE release 1.0.21, see sane-cardscan manpage" :devicetype :scanner ; start of a list of devices.... ; other types: :stillcam, :vidcam, ; :meta, :api -:mfg "Corex" ; name a manufacturer +:mfg "Corex/Dymo" ; name a manufacturer :url "http://www.cardscan.com/" :model "800c" @@ -33,3 +33,11 @@ :status :basic :comment "4 inch wide 8bit Gray or 24bit Color simplex card/receipt scanner" +:mfg "Sanford" ; name a manufacturer + +:model "800c" +:interface "USB" +:usbid "0x0451" "0x6250" +:status :good +:comment "4 inch wide 8bit Gray or 24bit Color simplex card/receipt scanner" + diff --git a/doc/descriptions/coolscan.desc b/doc/descriptions/coolscan.desc index 8d7b060..6ccb496 100644 --- a/doc/descriptions/coolscan.desc +++ b/doc/descriptions/coolscan.desc @@ -10,7 +10,7 @@ ; :backend "coolscan" ; name of backend -:version "0.4.3" ; version of backend +:version "0.4.3 (unmaintained)" ; version of backend :url "http://andreas.rick.free.fr/sane/" ; backend's web page :manpage "sane-coolscan" :devicetype :scanner ; start of a list of devices.... diff --git a/doc/descriptions/coolscan2.desc b/doc/descriptions/coolscan2.desc index e6c7359..7e34b33 100644 --- a/doc/descriptions/coolscan2.desc +++ b/doc/descriptions/coolscan2.desc @@ -10,7 +10,7 @@ ; :backend "coolscan2" -:version "0.1.8" +:version "0.1.8 (unmaintained)" :manpage "sane-coolscan2" :url "http://coolscan2.sourceforge.net/" diff --git a/doc/descriptions/coolscan3.desc b/doc/descriptions/coolscan3.desc index d8359bd..136d75f 100644 --- a/doc/descriptions/coolscan3.desc +++ b/doc/descriptions/coolscan3.desc @@ -10,7 +10,7 @@ ; :backend "coolscan3" -:version "1.0.0" +:version "1.0.0 (unmaintained)" :manpage "sane-coolscan3" :devicetype :scanner diff --git a/doc/descriptions/dc210.desc b/doc/descriptions/dc210.desc index e7dbced..1f6191e 100644 --- a/doc/descriptions/dc210.desc +++ b/doc/descriptions/dc210.desc @@ -1,7 +1,7 @@ ;Kodak DC210 backend .desc file by Brian J. Murrell :backend "dc210" ; name of backend -:version "0.0" ; version of backend +:version "0.0 (unmaintained)" ; version of backend :manpage "sane-dc210" ; name of manpage (if it exists) :url "mailto:peter@fales-lorenz.net" ; backend's web page diff --git a/doc/descriptions/dc240.desc b/doc/descriptions/dc240.desc index 5a0b52c..6250ce5 100644 --- a/doc/descriptions/dc240.desc +++ b/doc/descriptions/dc240.desc @@ -1,7 +1,7 @@ ;Kodak DC240 backend .desc file by Peter S. Fales :backend "dc240" ; name of backend -:version "0.0" ; version of backend +:version "0.0 (unmaintained)" ; version of backend :manpage "sane-dc240" ; name of manpage (if it exists) :url "mailto:peter@fales-lorenz.net" ; backend's web page diff --git a/doc/descriptions/dc25.desc b/doc/descriptions/dc25.desc index c6996ad..e270521 100644 --- a/doc/descriptions/dc25.desc +++ b/doc/descriptions/dc25.desc @@ -1,7 +1,7 @@ ;Kodak DC25 backend .desc file by Peter Fales :backend "dc25" ; name of backend -:version "1.2" ; version of backend +:version "1.2 (unmaintained)" ; version of backend :manpage "sane-dc25" ; name of manpage (if it exists) :url "mailto:peter@fales-lorenz.net"; :devicetype :stillcam ; start of a list of devices.... diff --git a/doc/descriptions/dell1600n_net.desc b/doc/descriptions/dell1600n_net.desc index 6aacf18..6759564 100644 --- a/doc/descriptions/dell1600n_net.desc +++ b/doc/descriptions/dell1600n_net.desc @@ -3,7 +3,7 @@ ; Jon Chambers , 2006-05-29 ; :backend "dell1600n_net" - +:version "unmaintained" :devicetype :scanner :mfg "Dell" diff --git a/doc/descriptions/dll.desc b/doc/descriptions/dll.desc index 4995873..721b7d4 100644 --- a/doc/descriptions/dll.desc +++ b/doc/descriptions/dll.desc @@ -1,5 +1,5 @@ :backend "dll" ; name of backend -:version "1.0.13" +:version "1.0.13 (unmaintained)" :manpage "sane-dll" :url "mailto:henning@meier-geinitz.de" diff --git a/doc/descriptions/epjitsu.desc b/doc/descriptions/epjitsu.desc index b11ee96..03bc8fb 100644 --- a/doc/descriptions/epjitsu.desc +++ b/doc/descriptions/epjitsu.desc @@ -10,8 +10,7 @@ ; :backend "epjitsu" ; name of backend -:url "http://www.thebility.com/epjitsu/" -:version "27" ; version of backend +:version "31" ; version of backend :manpage "sane-epjitsu" ; name of manpage (if it exists) :comment "Backend updated for SANE release 1.0.26, see sane-epjitsu manpage" :devicetype :scanner ; start of a list of devices.... @@ -24,15 +23,15 @@ ;================================================== :model "fi-60F" :interface "USB" -:status :basic +:status :good :usbid "0x04c5" "0x10c7" -:comment "A6-size flatbed, 300/600 dpi, color/gray/binary" +:comment "A6-size flatbed. Hardware provides 150/200/300/400/600 dpi in color. Software creates other resolutions, plus grayscale and binary modes. Hardware grayscale mode is not used due to poor calibration." :model "ScanSnap S300" :interface "USB" :status :good :usbid "0x04c5" "0x1156" -:comment "Duplex, 150/225/300/600 dpi, color/gray/binary, AC/USB power, buttons/sensors all supported. Scanner always scans in _triplex_ color, fast USB required." +:comment "Letter-size ADF. Hardware provides duplex, 150/225/300/600 dpi in color on AC or USB power. Software creates other resolutions, plus grayscale and binary modes. All buttons and sensors are exposed. Scanner always scans in _triplex_ color, fast USB required." :model "ScanSnap S300M" :interface "USB" @@ -40,11 +39,11 @@ :usbid "0x04c5" "0x117f" :comment "Same as S300, with different usb id" -:model "ScanSnap S1100" +:model "fi-65F" :interface "USB" :status :good -:usbid "0x04c5" "0x1200" -:comment "Hardware only supports 300 and 600 dpi simplex color. Backend manufactures gray and binary modes." +:usbid "0x04c5" "0x11bd" +:comment "Same as fi-60f, with different usb id. Button support untested." :model "ScanSnap S1300" :interface "USB" @@ -52,14 +51,20 @@ :usbid "0x04c5" "0x11ed" :comment "Same as S300, with different usb id" +:model "ScanSnap S1100" +:interface "USB" +:status :good +:usbid "0x04c5" "0x1200" +:comment "Letter-size ADF. Hardware provides simplex, 300/600 dpi in color on USB power. Software creates other resolutions, plus grayscale and binary modes. All buttons and sensors are exposed. Scanner always scans in _triplex_ color, fast USB required." + :model "ScanSnap S1300i" :interface "USB" :status :good :usbid "0x04c5" "0x128d" -:comment "Similar to S1300." +:comment "Same as S300, with different usb id" -:model "fi-65F" +:model "ScanSnap S1100i" :interface "USB" -:status :basic -;:usbid "0x04c5" "0x10c7" -:comment "A6-size flatbed, 300/600 dpi, color/gray/binary." +:status :good +:usbid "0x04c5" "0x1447" +:comment "Same as S1100, with different usb id" diff --git a/doc/descriptions/epson.desc b/doc/descriptions/epson.desc index 1c9d8a2..65f466f 100644 --- a/doc/descriptions/epson.desc +++ b/doc/descriptions/epson.desc @@ -10,8 +10,7 @@ ; :backend "epson" ; name of backend -;:version "0.2.42" ; version of backend -:version "unmaintained" ; version of backend +:version "0.2.42 (unmaintained)" ; version of backend :new :no :manpage "sane-epson" ; name of manpage (if it exists) :url "http://www.khk.net/sane" ; backend's web page diff --git a/doc/descriptions/epson2.desc b/doc/descriptions/epson2.desc index de61b76..772a77f 100644 --- a/doc/descriptions/epson2.desc +++ b/doc/descriptions/epson2.desc @@ -10,7 +10,7 @@ ; DO NOT EDIT - It's automatically generated. :backend "epson2" -:version "1.0.124" +:version "1.0.124 (unmaintained)" :new :no :manpage "sane-epson2" diff --git a/doc/descriptions/epsonds.desc b/doc/descriptions/epsonds.desc index 0b7c6c6..99121d1 100644 --- a/doc/descriptions/epsonds.desc +++ b/doc/descriptions/epsonds.desc @@ -6,8 +6,8 @@ ; :backend "epsonds" -:version "1.0.18" -:new :yes +:version "1.0.18 (unmaintained)" +:new :no :manpage "sane-epsonds" :devicetype :scanner diff --git a/doc/descriptions/fujitsu.desc b/doc/descriptions/fujitsu.desc index d4e232b..60f8c5b 100644 --- a/doc/descriptions/fujitsu.desc +++ b/doc/descriptions/fujitsu.desc @@ -12,9 +12,9 @@ :backend "fujitsu" ; name of backend :url "http://www.thebility.com/fujitsu/" -:version "127" ; version of backend +:version "133" ; version of backend :manpage "sane-fujitsu" ; name of manpage (if it exists) -:comment "Backend updated for SANE release 1.0.25, see sane-fujitsu manpage" +:comment "Backend updated for SANE release 1.0.26, see sane-fujitsu manpage" :devicetype :scanner ; start of a list of devices.... ; other types: :stillcam, :vidcam, ; :meta, :api @@ -131,6 +131,12 @@ :usbid "0x04c5" "0x116f" :comment "small, recent, discontinued" +:model "fi-6125" +:interface "USB" +:status :complete +:usbid "0x04c5" "0x11ee" +:comment "small, recent, discontinued" + :model "fi-6130" :interface "USB" :status :complete @@ -155,6 +161,42 @@ :usbid "0x04c5" "0x11f4" :comment "small, recent, discontinued" +:model "fi-6120ZLA" +:interface "SCSI USB" +:status :untested +:usbid "0x04c5" "0x146d" +:comment "small, recent, discontinued, expected to work" + +:model "fi-6220ZLA" +:interface "SCSI USB" +:status :untested +:usbid "0x04c5" "0x146e" +:comment "small, recent, discontinued, expected to work" + +:model "fi-6125ZLA" +:interface "SCSI USB" +:status :untested +:usbid "0x04c5" "0x1463" +:comment "small, recent, discontinued, expected to work" + +:model "fi-6225ZLA" +:interface "SCSI USB" +:status :untested +:usbid "0x04c5" "0x1464" +:comment "small, recent, discontinued, expected to work" + +:model "fi-6130ZLA" +:interface "SCSI USB" +:status :complete +:usbid "0x04c5" "0x1461" +:comment "small, recent, discontinued" + +:model "fi-6230ZLA" +:interface "SCSI USB" +:status :untested +:usbid "0x04c5" "0x1462" +:comment "small, recent, discontinued, expected to work" + :model "ScanSnap S1500" :interface "USB" :status :complete @@ -319,7 +361,7 @@ :usbid "0x04c5" "0x114e" :comment "medium, recent, discontinued" -:model "fi-6140Z" +:model "fi-6140Z/fi-6140ZLA" :interface "SCSI USB" :status :complete :usbid "0x04c5" "0x11f1" @@ -331,6 +373,30 @@ :usbid "0x04c5" "0x11f2" :comment "medium, recent, discontinued" +:model "fi-6135ZLA" +:interface "SCSI USB" +:status :untested +:usbid "0x04c5" "0x146b" +:comment "medium, recent, discontinued, expected to work" + +:model "fi-6235ZLA" +:interface "SCSI USB" +:status :untested +:usbid "0x04c5" "0x146c" +:comment "medium, recent, discontinued, expected to work" + +:model "fi-6140ZLA" +:interface "SCSI USB" +:status :untested +:usbid "0x04c5" "0x145f" +:comment "medium, recent, discontinued, expected to work" + +:model "fi-6240ZLA" +:interface "SCSI USB" +:status :untested +:usbid "0x04c5" "0x1460" +:comment "medium, recent, discontinued, expected to work" + ;================================================== ; CURRENT MODELS, MEDIUM @@ -486,5 +552,131 @@ :model "fi-6400" :interface "SCSI USB" +:status :good +:usbid "0x04c5" "0x14ac" + +;================================================== +; 2015/2016/2017 NEW MODELS, UNORDERED + +:model "fi-6420" +:interface "SCSI USB" +:status :untested +:usbid "0x04c5" "0x14bd" + +:model "fi-6225" +:interface "USB" +:status :untested +:usbid "0x04c5" "0x11ef" + +:model "ScanSnap iX500EE" +:interface "USB" +:status :untested +:usbid "0x04c5" "0x13f3" + +:model "ScanPartner SP25" +:interface "USB" +:status :unsupported +:usbid "0x04c5" "0x1409" +:comment "Possibly Genesys protocol?" + +:model "ScanPartner SP30" +:interface "USB" +:status :unsupported +:usbid "0x04c5" "0x140a" +:comment "Possibly Genesys protocol?" + +:model "ScanPartner SP30F" +:interface "USB" +:status :unsupported +:usbid "0x04c5" "0x140c" +:comment "Possibly Genesys protocol?" + +:model "N7100" +:interface "USB Ethernet" +:status :untested +:usbid "0x04c5" "0x146f" + +:model "fi-7480" +:interface "USB" +:status :good +:usbid "0x04c5" "0x14b8" + +:model "fi-7460" +:interface "USB" +:status :good +:usbid "0x04c5" "0x14be" + +:model "fi-7140" +:interface "USB" +:status :untested +:usbid "0x04c5" "0x14df" + +:model "fi-7240" +:interface "USB" +:status :untested +:usbid "0x04c5" "0x14e0" + +:model "fi-7135" +:interface "USB" +:status :untested +:usbid "0x04c5" "0x14e1" + +:model "fi-7235" +:interface "USB" +:status :untested +:usbid "0x04c5" "0x14e2" + +:model "fi-7130" +:interface "USB" +:status :untested +:usbid "0x04c5" "0x14e3" + +:model "fi-7230" +:interface "USB" +:status :untested +:usbid "0x04c5" "0x14e4" + +:model "fi-7125" +:interface "USB" +:status :untested +:usbid "0x04c5" "0x14e5" + +:model "fi-7225" +:interface "USB" +:status :untested +:usbid "0x04c5" "0x14e6" + +:model "fi-7120" +:interface "USB" +:status :untested +:usbid "0x04c5" "0x14e7" + +:model "fi-7220" +:interface "USB" +:status :untested +:usbid "0x04c5" "0x14e8" + +:model "fi-400F" +:interface "USB" +:status :untested +:usbid "0x04c5" "0x151e" + +:model "fi-7030" +:interface "USB" +:status :good +:usbid "0x04c5" "0x151f" + +:model "fi-7700" +:interface "USB" +:status :good +:usbid "0x04c5" "0x1520" + +:model "fi-7600" +:interface "USB" +:status :good +:usbid "0x04c5" "0x1521" + +:model "fi-7700S" +:interface "USB" :status :untested -;:usbid "0x04c5" "0x" +:usbid "0x04c5" "0x1522" diff --git a/doc/descriptions/genesys.desc b/doc/descriptions/genesys.desc index 6d400f2..f6fb8a3 100644 --- a/doc/descriptions/genesys.desc +++ b/doc/descriptions/genesys.desc @@ -148,7 +148,7 @@ :model "CanoScan LiDE 120" :interface "USB" :usbid "0x04a9" "0x190e" -:status :unsupported +:status :complete :comment "GL124+ based, resolution from 75 to 2400 dpi" :model "CanoScan LiDE 200" diff --git a/doc/descriptions/gphoto2.desc b/doc/descriptions/gphoto2.desc index 48dd8ee..f341649 100644 --- a/doc/descriptions/gphoto2.desc +++ b/doc/descriptions/gphoto2.desc @@ -1,7 +1,7 @@ ;gphoto2 backend .desc file by Peter S. Fales :backend "gphoto2" ; name of backend -:version "0.0" ; version of backend +:version "0.0 (unmaintained)" ; version of backend :manpage "sane-gphoto2" ; name of manpage (if it exists) :url "mailto:peter@fales-lorenz.net" ; backend's web page diff --git a/doc/descriptions/gt68xx.desc b/doc/descriptions/gt68xx.desc index 5bc8f0e..16e4af9 100644 --- a/doc/descriptions/gt68xx.desc +++ b/doc/descriptions/gt68xx.desc @@ -1,5 +1,5 @@ :backend "gt68xx" -:version "1.0-84" +:version "1.0-84 (unmaintained)" :manpage "sane-gt68xx" :url "http://www.meier-geinitz.de/sane/gt68xx-backend/" :comment "Only the USB scanners mentioned below are supported. For other Mustek BearPaws, look at the Plustek and the MA-1509 backend." diff --git a/doc/descriptions/hp3900.desc b/doc/descriptions/hp3900.desc index f2abaad..d1aa9a1 100644 --- a/doc/descriptions/hp3900.desc +++ b/doc/descriptions/hp3900.desc @@ -10,7 +10,7 @@ ; See doc/descriptions.txt for details. :backend "hp3900" -:version "0.12" +:version "0.12 (unmaintained)" :manpage "sane-hp3900" :url "http://sourceforge.net/projects/hp3900-series/" :comment "Still Beta" diff --git a/doc/descriptions/hp4200.desc b/doc/descriptions/hp4200.desc index 69f7e1d..6c25882 100644 --- a/doc/descriptions/hp4200.desc +++ b/doc/descriptions/hp4200.desc @@ -10,7 +10,7 @@ :backend "hp4200" ; name of backend -:version "1.0-2" ; version of backend +:version "1.0-2 (unmaintained)" ; version of backend :manpage "sane-hp4200" ; name of manpage (if it exists) :url "http://hp4200-backend.sourceforge.net" ; backend's web page diff --git a/doc/descriptions/hp5400.desc b/doc/descriptions/hp5400.desc index c4cb528..49d386f 100644 --- a/doc/descriptions/hp5400.desc +++ b/doc/descriptions/hp5400.desc @@ -10,7 +10,7 @@ ; :backend "hp5400" ; name of backend -:version "1.0-2" ; version of backend +:version "1.0-2 (unmaintained)" ; version of backend :manpage "sane-hp5400" ; name of manpage (if it exists) :url "http://sourceforge.net/projects/hp5400backend" ; backend's web page :comment "HP5400 and HP5470 scanners. Prototype backend available" @@ -37,6 +37,7 @@ :model "ScanJet 5490c" ; name models for above-specified mfg. :interface "USB" ; interface type of the device: +:usbid "0x03f0" "0x1105" :status :basic diff --git a/doc/descriptions/hpljm1005.desc b/doc/descriptions/hpljm1005.desc index 12876e4..d60142b 100644 --- a/doc/descriptions/hpljm1005.desc +++ b/doc/descriptions/hpljm1005.desc @@ -9,7 +9,7 @@ ; All other information is optional (but what good is the file without it?). :backend "hpljm1005" -:version "0" +:version "0 (unmaintained)" :manpage "sane-hpljm1005" :devicetype :scanner diff --git a/doc/descriptions/hpsj5s.desc b/doc/descriptions/hpsj5s.desc index 87057e6..c4bc100 100644 --- a/doc/descriptions/hpsj5s.desc +++ b/doc/descriptions/hpsj5s.desc @@ -10,7 +10,7 @@ ; :backend "hpsj5s" ; name of backend -:version "0.03" ; version of backend +:version "0.03 (unmaintained)" ; version of backend ;:status :alpha ; :alpha, :beta, :stable, :new :manpage "sane-hpsj5s" ; name of manpage (if it exists) :url "http://hpsj5s.sourceforge.net/" ; backend's web page diff --git a/doc/descriptions/ibm.desc b/doc/descriptions/ibm.desc index d3d5b06..c04fa31 100644 --- a/doc/descriptions/ibm.desc +++ b/doc/descriptions/ibm.desc @@ -10,7 +10,7 @@ :backend "ibm" ; name of backend :url "http://www.meier-geinitz.de/sane/ibm-backend/" -:version "1.0-4" ; version of backend +:version "1.0-4 (unmaintained)" ; version of backend ; :manpage "sane-ibm" ; name of manpage (if it exists) :comment "This backend has had only limited testing. It needs more work especially for the Ricoh scanners. Patches are welcome." diff --git a/doc/descriptions/leo.desc b/doc/descriptions/leo.desc index 279300c..cf0cec3 100644 --- a/doc/descriptions/leo.desc +++ b/doc/descriptions/leo.desc @@ -10,7 +10,7 @@ ; :backend "leo" ; name of backend -:version "1.0-10" ; version of backend +:version "1.0-10 (unmaintained)" ; version of backend :manpage "sane-leo" ; name of manpage (if it exists) :url "http://www.zago.net/sane/#leo" ; backend's web page diff --git a/doc/descriptions/lexmark.desc b/doc/descriptions/lexmark.desc index 2cc4de1..ac0b97c 100644 --- a/doc/descriptions/lexmark.desc +++ b/doc/descriptions/lexmark.desc @@ -10,7 +10,7 @@ :backend "lexmark" ; name of backend -:version "1.0-0" ; version of backend (or "unmaintained") +:version "1.0-0 (unmaintained)" ; version of backend (or "unmaintained") :manpage "sane-lexmark" ; name of manpage (if it exists) :url "http://stef.dev.free.fr/sane/lexmark" ; backend's web page diff --git a/doc/descriptions/ma1509.desc b/doc/descriptions/ma1509.desc index db78a55..d28aeed 100644 --- a/doc/descriptions/ma1509.desc +++ b/doc/descriptions/ma1509.desc @@ -9,7 +9,7 @@ ; :backend "ma1509" ; name of backend -:version "1.0-3" ; version of backend +:version "1.0-3 (unmaintained)" ; version of backend :manpage "sane-ma1509" ; name of manpage (if it exists) :url "http://www.meier-geinitz.de/sane/ma1509-backend/" ; backend's web page diff --git a/doc/descriptions/magicolor.desc b/doc/descriptions/magicolor.desc index be785e9..7f0c341 100644 --- a/doc/descriptions/magicolor.desc +++ b/doc/descriptions/magicolor.desc @@ -6,7 +6,7 @@ ; :backend "magicolor" -:version "1.0.0" +:version "1.0.0 (unmaintained)" :manpage "sane-magicolor" :url "http://wiki.kainhofer.com/hardware/magicolor_scan" diff --git a/doc/descriptions/matsushita.desc b/doc/descriptions/matsushita.desc index e7822f8..51f330f 100644 --- a/doc/descriptions/matsushita.desc +++ b/doc/descriptions/matsushita.desc @@ -10,7 +10,7 @@ ; :backend "matsushita" ; name of backend -:version "1.0-7" ; version of backend +:version "1.0-7 (unmaintained)" ; version of backend :manpage "sane-matsushita" ; name of manpage :url "http://www.zago.net/sane" ; backend's web page diff --git a/doc/descriptions/microtek.desc b/doc/descriptions/microtek.desc index 214bb9a..09203f5 100644 --- a/doc/descriptions/microtek.desc +++ b/doc/descriptions/microtek.desc @@ -1,5 +1,5 @@ :backend "microtek" -:version "0.13.1" +:version "0.13.1 (unmaintained)" :manpage "sane-microtek" :url "http://www.mir.com/mtek/" diff --git a/doc/descriptions/mustek.desc b/doc/descriptions/mustek.desc index cefea83..2ba44f1 100644 --- a/doc/descriptions/mustek.desc +++ b/doc/descriptions/mustek.desc @@ -9,7 +9,7 @@ ; :backend "mustek" ; name of backend -:version "1.0-138" ; version of backend +:version "1.0-138 (unmaintained)" ; version of backend :manpage "sane-mustek" ; name of manpage (if it exists) :url "http://www.meier-geinitz.de/sane/mustek-backend/" :comment "Most Mustek SCSI scanners are supported by this backend. For USB scanners, look at the mustek_usb backend." diff --git a/doc/descriptions/mustek_pp.desc b/doc/descriptions/mustek_pp.desc index 4a32988..1586b8b 100644 --- a/doc/descriptions/mustek_pp.desc +++ b/doc/descriptions/mustek_pp.desc @@ -10,7 +10,7 @@ ; :backend "mustek_pp" ; name of backend -:version "13" ; version of backend +:version "13 (unmaintained)" ; version of backend :manpage "sane-mustek_pp" ; name of manpage (if it exists) ; backend's web page :url "http://penguin-breeder.org/sane/mustek_pp/" diff --git a/doc/descriptions/mustek_usb.desc b/doc/descriptions/mustek_usb.desc index 5cee3d2..b03edbd 100644 --- a/doc/descriptions/mustek_usb.desc +++ b/doc/descriptions/mustek_usb.desc @@ -1,5 +1,5 @@ :backend "mustek_usb" -:version "1.0-18" +:version "1.0-18 (unmaintained)" :manpage "sane-mustek_usb" :url "http://www.meier-geinitz.de/sane/mustek_usb-backend/" :comment "Only the USB scanners mentioned below are supported. For BearPaws, look at the Plustek, MA-1509, and gt68xx backends." diff --git a/doc/descriptions/mustek_usb2.desc b/doc/descriptions/mustek_usb2.desc index 011cef9..ec5b967 100644 --- a/doc/descriptions/mustek_usb2.desc +++ b/doc/descriptions/mustek_usb2.desc @@ -1,5 +1,5 @@ :backend "mustek_usb2" -:version "1.0-10" +:version "1.0-10 (unmaintained)" :manpage "sane-mustek_usb2" :url "http://www.meier-geinitz.de/sane/mustek_usb2-backend/" :comment "Only BearPaw 2448TA Pro is supported at the moment" diff --git a/doc/descriptions/nec.desc b/doc/descriptions/nec.desc index e8ce961..3817089 100644 --- a/doc/descriptions/nec.desc +++ b/doc/descriptions/nec.desc @@ -1,5 +1,5 @@ :backend "nec" ; name of backend -:version "0.12" ; version of backend +:version "0.12 (unmaintained)" ; version of backend :url "http://www5a.biglobe.ne.jp/~saetaka/" ; backend's homepage :manpage "sane-nec" diff --git a/doc/descriptions/net.desc b/doc/descriptions/net.desc index 1807c49..cece232 100644 --- a/doc/descriptions/net.desc +++ b/doc/descriptions/net.desc @@ -1,5 +1,5 @@ :backend "net" ; name of backend -:version "1.0.14" +:version "1.0.14 (unmaintained)" :manpage "sane-net" :url "http://www.penguin-breeder.org/?page=sane-net" diff --git a/doc/descriptions/niash.desc b/doc/descriptions/niash.desc index 960468c..9be55f2 100644 --- a/doc/descriptions/niash.desc +++ b/doc/descriptions/niash.desc @@ -10,7 +10,7 @@ ; :backend "niash" -:version "0.3" +:version "0.3 (unmaintained)" :manpage "sane-niash" :url "http://sourceforge.net/projects/hp3300backend" diff --git a/doc/descriptions/p5.desc b/doc/descriptions/p5.desc index 70adf16..7548902 100644 --- a/doc/descriptions/p5.desc +++ b/doc/descriptions/p5.desc @@ -10,7 +10,7 @@ ; :backend "p5" ; name of backend -:version "1" ; version of backend +:version "1 (unmaintained)"; version of backend :manpage "sane-p5" ; name of manpage (if it exists) :comment "New backend for SANE release 1.0.21, see sane-p5 manpage" :url "http://www.sane-project.org/" ; backend's web page diff --git a/doc/descriptions/pie.desc b/doc/descriptions/pie.desc index 45abb8e..9d9177e 100644 --- a/doc/descriptions/pie.desc +++ b/doc/descriptions/pie.desc @@ -10,7 +10,7 @@ ; :backend "pie" ; name of backend -:version "1.0" ; version of backend +:version "1.0 (unmaintained)" ; version of backend :manpage "sane-pie" ; name of manpage (if it exists) :url "http://www.munton.demon.co.uk/sane" ; backend's web page diff --git a/doc/descriptions/pieusb.desc b/doc/descriptions/pieusb.desc index 102cd45..c0d17a9 100644 --- a/doc/descriptions/pieusb.desc +++ b/doc/descriptions/pieusb.desc @@ -10,8 +10,8 @@ ; :backend "pieusb" ; name of backend -:version "1.0" ; version of backend -:new :yes +:version "1.0 (unmaintained)" ; version of backend +:new :no :manpage "sane-pieusb" ; name of manpage (if it exists) :url "https://github.com/kkaempf/sane-backends" ; backend's web page @@ -24,33 +24,47 @@ :model "PowerSlide 3600" :interface "USB" +:usbid "0x05e3" "0x0142" :status :untested :comment "Identical to Reflecta DigitDia 3600" :model "PowerSlide 3650" :interface "USB" -:status :untested +:usbid "0x05e3" "0x0142" +:status :basic :comment "Identical to Reflecta DigitDia 4000" :model "PowerSlide 4000" :interface "USB" -:status :untested +:usbid "0x05e3" "0x0142" +:status :basic :comment "Identical to Reflecta DigitDia 5000" :model "PowerSlide 5000" :interface "USB" -:status :untested +:usbid "0x05e3" "0x0142" +:status :basic :comment "Identical to Reflecta DigitDia 6000" :mfg "Reflecta" :url "https://reflecta.de" -:model "Reflecta ProScan 7200" +:model "Reflecta ProScan 10T" :interface "USB" :usbid "0x05e3" "0x0145" :status :basic + +:model "Reflecta ProScan 7200" +:interface "USB" +:usbid "0x05e3" "0x0145" +:status :good :comment "Similar to PrimeFilm 7250 scanner from Pacific Image Electronics" +:model "CrystalScan 3600" +:interface "USB" +:usbid 0x05e3 0x0145 +:status :basic + :model "CrystalScan 7200" :interface "USB" :status :untested @@ -63,16 +77,19 @@ :model "DigitDia 3600" :interface "USB" +:usbid "0x05e3" "0x0142" :status :untested :comment "Identical to Pacific Image Electronics PowerSlide 3600 scanner" :model "DigitDia 4000" :interface "USB" -:status :untested +:usbid "0x05e3" "0x0142" +:status :basic :comment "Identical to Pacific Image Electronics PowerSlide 3650 scanner" :model "DigitDia 5000" :interface "USB" +:usbid "0x05e3" "0x0142" :status :untested :comment "Identical to Pacific Image Electronics PowerSlide 4000 scanner" diff --git a/doc/descriptions/pixma.desc b/doc/descriptions/pixma.desc index 84ddcd4..ad33faa 100644 --- a/doc/descriptions/pixma.desc +++ b/doc/descriptions/pixma.desc @@ -11,7 +11,7 @@ ; See doc/descriptions.txt for details. :backend "pixma" ; name of backend -:version "0.17.23" ; version of backend (or "unmaintained") +:version "0.17.37" ; version of backend (or "unmaintained") :manpage "sane-pixma" ; name of manpage (if it exists) ;:comment "Devices marked as experimantal are disabled by default. See the manual page for how to enable them." @@ -34,6 +34,12 @@ :status :untested :comment "Testers needed!" +:model "PIXMA E470 Series" +:interface "USB" +:usbid "0x04a9" "0x180c" +:status :untested +:comment "Testers needed!" + :model "PIXMA E480 Series" :interface "USB WiFi" :usbid "0x04a9" "0x1789" @@ -70,6 +76,12 @@ :status :untested :comment "Testers needed!" +:model "PIXMA G3000" +:interface "USB WIFI" +:usbid "0x04a9" "0x181d" +:status :untested +:comment "Testers needed!" + :model "PIXMA MG2100 Series" :interface "USB" :usbid "0x04a9" "0x1751" @@ -100,6 +112,12 @@ :status :complete :comment "All resolutions supported (up to 600DPI)." +:model "PIXMA MG3000 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x180b" +:status :untested +:comment "Testers needed!" + :model "PIXMA MG3100 Series" :interface "USB WiFi" :usbid "0x04a9" "0x1752" @@ -121,8 +139,8 @@ :model "PIXMA MG3600 Series" :interface "USB Ethernet WiFi" :usbid "0x04a9" "0x178a" -:status :untested -:comment "Testers needed!" +:status :complete +:comment "All resolutions supported (up to 1200DPI)." :model "PIXMA MG4100 Series" :interface "USB" @@ -155,10 +173,10 @@ :comment "All resolutions supported (up to 2400DPI)." :model "PIXMA MG5400 Series" -:interface "USB" +:interface "USB WiFi" :usbid "0x04a9" "0x1764" -:status :untested -:comment "Testers needed!" +:status :complete +:comment "All resolutions supported (up to 2400DPI)." :model "PIXMA MG5500 Series" :interface "USB WiFi" @@ -172,6 +190,12 @@ :status :complete :comment "All resolutions supported (up to 1200DPI)." +:model "PIXMA MG5700 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x178e" +:status :complete +:comment "All resolutions supported (up to 1200 DPI)." + :model "PIXMA MG6100 Series" :interface "USB" :usbid "0x04a9" "0x174a" @@ -208,6 +232,18 @@ :status :untested :comment "Testers needed!" +:model "PIXMA MG6800 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x178d" +:status :untested +:comment "Testers needed!" + +:model "PIXMA MG6900 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x178c" +:status :untested +:comment "Testers needed!" + :model "PIXMA MG7100 Series" :interface "USB" :usbid "0x04a9" "0x1772" @@ -220,6 +256,12 @@ :status :complete :comment "All resolutions supported (up to 2400DPI)." +:model "PIXMA MG7700 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x178b" +:status :complete +:comment "All resolutions supported (up to 2400DPI)." + :model "PIXMA MG8100 Series" :interface "USB" :usbid "0x04a9" "0x174b" @@ -232,6 +274,18 @@ :status :complete :comment "All resolutions supported (up to 4800DPI)." +:model "PIXUS MP5" +:interface "USB" +:usbid "0x04a9" "0x2635" +:status :untested +:comment "Testers needed! Identical with imageCLASS MPC190." + +:model "PIXUS MP10" +:interface "USB" +:usbid "0x04a9" "0x261f" +:status :complete +:comment "All resolutions supported (up to 600DPI). Identical with imageCLASS MPC200." + :model "PIXMA MP140" :interface "USB" :usbid "0x04a9" "0x172b" @@ -737,6 +791,30 @@ :status :complete :comment "Flatbed and ADF scan. All resolutions supported (up to 4800DPI)" +:model "PIXMA TS9000 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x179f" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS8000 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1800" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS6000 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1801" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS5000 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1802" +:status :untested +:comment "Testers needed!" + :model "imageCLASS D420" :interface "USB" :usbid "0x04a9" "0x26ef" @@ -767,6 +845,18 @@ :status :untested :comment "Testers needed!" +:model "i-SENSYS MF230 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x27d1" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI). WiFi only for w Types." + +:model "i-SENSYS MF240 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27d2" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI). ADF only 300DPI." + :model "i-SENSYS MF810/820" :interface "USB Ethernet" :usbid "0x04a9" "0x27a6" @@ -956,10 +1046,10 @@ :model "i-SENSYS MF6100 Series" :interface "USB Ethernet" :usbid "0x04a9" "0x278e" -:status :untested -:comment "Testers needed!" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI). Note: document feeder does not have 600DPI capability." -:model "imageCLASS MF6500 series" +:model "imageCLASS MF6500 Series" :interface "USB" :usbid "0x04a9" "0x2686" :status :complete @@ -1007,6 +1097,18 @@ :status :untested :comment "Same protocol as MF8200C Series? Testers needed!" +:model "imageCLASS MPC190" +:interface "USB" +:usbid "0x04a9" "0x2635" +:status :untested +:comment "Testers needed! Identical with SmartBase MPC190 and PIXUS MP5." + +:model "imageCLASS MPC200" +:interface "USB" +:usbid "0x04a9" "0x261f" +:status :complete +:comment "All resolutions supported (up to 600DPI). Identical with SmartBase MPC200 and PIXUS MP10." + :model "imageRUNNER 1020/1024/1025" :interface "USB" :usbid "0x04a9" "0x26e6" @@ -1034,8 +1136,8 @@ :model "MAXIFY MB5000 Series" :interface "USB" :usbid "0x04a9" "0x1776" -:status :untested -:comment "Testers needed!" +:status :complete +:comment "Flatbed works, All resolutions supported (up to 1200DPI), ADF does not work" :model "MAXIFY MB5300 Series" :interface "USB" diff --git a/doc/descriptions/pnm.desc b/doc/descriptions/pnm.desc index 7daeee1..9920b78 100644 --- a/doc/descriptions/pnm.desc +++ b/doc/descriptions/pnm.desc @@ -1,5 +1,5 @@ :backend "pnm" -:version "1.0.8" +:version "1.0.8 (unmaintained)" :manpage "sane-pnm" :url "mailto:henning@meier-geinitz.de" diff --git a/doc/descriptions/rts8891.desc b/doc/descriptions/rts8891.desc index 7e30ea4..e37f158 100644 --- a/doc/descriptions/rts8891.desc +++ b/doc/descriptions/rts8891.desc @@ -10,7 +10,7 @@ :backend "rts8891" ; name of backend -:version "1.0-0" ; version of backend (or "unmaintained") +:version "1.0-0 (unmaintained)" ; version of backend (or "unmaintained") :manpage "sane-rts8891" ; name of manpage (if it exists) :url "http://stef.dev.free.fr/sane/rts8891/index.html" ; backend's web page diff --git a/doc/descriptions/sceptre.desc b/doc/descriptions/sceptre.desc index e39559c..aa4f515 100644 --- a/doc/descriptions/sceptre.desc +++ b/doc/descriptions/sceptre.desc @@ -10,7 +10,7 @@ ; :backend "sceptre" -:version "1.0-10" ; version of backend +:version "1.0-10 (unmaintained)" ; version of backend :manpage "sane-sceptre" ; name of manpage :url "http://www.zago.net/sane/" ; backend's web page diff --git a/doc/descriptions/sharp.desc b/doc/descriptions/sharp.desc index 85fde0c..63000af 100644 --- a/doc/descriptions/sharp.desc +++ b/doc/descriptions/sharp.desc @@ -1,5 +1,5 @@ :backend "sharp" ; name of backend -:version "0.32" ; version of backend +:version "0.32 (unmaintained)" ; version of backend ;:status :beta ; :alpha, :beta, :stable, :new :url "http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html" ; backend's homepage diff --git a/doc/descriptions/sm3600.desc b/doc/descriptions/sm3600.desc index 760b4cf..56e31e1 100644 --- a/doc/descriptions/sm3600.desc +++ b/doc/descriptions/sm3600.desc @@ -7,7 +7,7 @@ ; :backend "sm3600" ; name of backend -:version "0.1" ; version of backend +:version "0.1 (unmaintained)" ; version of backend :manpage "sane-sm3600" ; name of manpage (if it exists) :url "http://sm3600.sourceforge.net/" ; backend's web page diff --git a/doc/descriptions/sm3840.desc b/doc/descriptions/sm3840.desc index 6d60ace..e40193f 100644 --- a/doc/descriptions/sm3840.desc +++ b/doc/descriptions/sm3840.desc @@ -11,7 +11,7 @@ ; See doc/descriptions.txt for details. :backend "sm3840" ; name of backend -:version "1.1" ; version of backend (or "unmaintained") +:version "1.1 (unmaintained)" ; version of backend (or "unmaintained") :manpage "sane-sm3840" ; name of manpage (if it exists) :url "http://www.ziplabel.com/sm3840/" ; backend's web page :comment "This reverse-engineered backend supports the USB ScanMaker 3840 model" diff --git a/doc/descriptions/st400.desc b/doc/descriptions/st400.desc index ca3de68..6cd3a08 100644 --- a/doc/descriptions/st400.desc +++ b/doc/descriptions/st400.desc @@ -1,7 +1,7 @@ ; ST400 backend .desc by Ingo Wilken :backend "st400" ; name of backend -:version "1.6" ; version number +:version "1.6 (unmaintained)" ; version number :manpage "sane-st400" ; name of manpage (if it exists) :url "http://www.informatik.uni-oldenburg.de/~ingo/sane/" ; backend's web page diff --git a/doc/descriptions/stv680.desc b/doc/descriptions/stv680.desc index fee96d7..d54e6be 100644 --- a/doc/descriptions/stv680.desc +++ b/doc/descriptions/stv680.desc @@ -10,7 +10,7 @@ ; :backend "stv680" ; name of backend -:version "1.0-1" ; version of backend +:version "1.0-1 (unmaintained)" ; version of backend :manpage "sane-stv680" :url "http://gkall.hobby.nl/stv680-aiptek.html" ; backend's web page :comment "This vidcam backend is for the stv0680 chipset, See the website for more info." diff --git a/doc/descriptions/teco1.desc b/doc/descriptions/teco1.desc index 89ac03f..e5b4132 100644 --- a/doc/descriptions/teco1.desc +++ b/doc/descriptions/teco1.desc @@ -10,7 +10,7 @@ ; :backend "teco1" ; name of backend -:version "1.0-10" ; version of backend +:version "1.0-10 (unmaintained)" ; version of backend :manpage "sane-teco1" ; name of manpage (if it exists) :url "http://www.zago.net/sane/#teco" ; backend's web page diff --git a/doc/descriptions/teco2.desc b/doc/descriptions/teco2.desc index 23479ab..ec0e686 100644 --- a/doc/descriptions/teco2.desc +++ b/doc/descriptions/teco2.desc @@ -10,7 +10,7 @@ ; :backend "teco2" ; name of backend -:version "1.0-9" ; version of backend +:version "1.0-9 (unmaintained)" ; version of backend :manpage "sane-teco2" :url "http://gkall.hobby.nl/teco2.html" ; backend's web page diff --git a/doc/descriptions/teco3.desc b/doc/descriptions/teco3.desc index f551309..a2f3e92 100644 --- a/doc/descriptions/teco3.desc +++ b/doc/descriptions/teco3.desc @@ -10,7 +10,7 @@ ; :backend "teco3" ; name of backend -:version "1.0-1" ; version of backend +:version "1.0-1 (unmaintained)" ; version of backend :manpage "sane-teco3" ; name of manpage (if it exists) :url "http://www.zago.net/sane/#teco3" ; backend's web page diff --git a/doc/descriptions/test.desc b/doc/descriptions/test.desc index cf27e87..657c2ea 100644 --- a/doc/descriptions/test.desc +++ b/doc/descriptions/test.desc @@ -10,7 +10,7 @@ ; :backend "test" ; name of backend -:version "1.0-28" ; version of backend +:version "1.0-28 (unmaintained)" ; version of backend :manpage "sane-test" ; name of manpage (if it exists) :url "http://www.meier-geinitz.de/sane/test-backend/" ; backend's web page diff --git a/doc/descriptions/umax.desc b/doc/descriptions/umax.desc index 73525a5..8f5a22b 100644 --- a/doc/descriptions/umax.desc +++ b/doc/descriptions/umax.desc @@ -10,7 +10,7 @@ ; :backend "umax" ; name of backend -:version "1.0-41" ; version of backend +:version "1.0-41 (unmaintained)" ; version of backend :manpage "sane-umax" ; name of manpage (if it exists) :url "http://www.rauch-domain.de/sane-umax/index.html" ; backend's web page diff --git a/doc/descriptions/umax_pp.desc b/doc/descriptions/umax_pp.desc index fb3bf3f..e07a4a0 100644 --- a/doc/descriptions/umax_pp.desc +++ b/doc/descriptions/umax_pp.desc @@ -10,7 +10,7 @@ ; :backend "umax_pp" ; name of backend -:version "1" ; version of backend +:version "1 (unmaintained)" ; version of backend :manpage "sane-umax_pp" ; name of manpage (if it exists) ; backend's web page :url "http://umax1220p.sourceforge.net/" diff --git a/doc/descriptions/unsupported.desc b/doc/descriptions/unsupported.desc index d7e4128..2217594 100644 --- a/doc/descriptions/unsupported.desc +++ b/doc/descriptions/unsupported.desc @@ -667,6 +667,28 @@ :status :unsupported :comment "Probably unsupported. " +;******************************************************************************************** +:mfg "Fujitsu" +:url "http://www.fujitsu.com/" + +:model "SP1120" +:interface "USB" +:usbid "0x04c5" "0x1473" +:status :unsupported +:comment "Genesys GL310 chipset, not supported by sane-genesys backend." + +:model "SP1125" +:interface "USB" +:usbid "0x04c5" "0x1475" +:status :unsupported +:comment "Genesys GL310 chipset, not supported by sane-genesys backend." + +:model "SP1130" +:interface "USB" +:usbid "0x04c5" "0x1476" +:status :unsupported +:comment "Genesys GL310 chipset, not supported by sane-genesys backend." + ;******************************************************************************************** :mfg "Genius" @@ -1939,6 +1961,7 @@ :model "DocuPen RC800" :interface "USB" +:usbid "0x18dd" "0x1000" :status :unsupported :comment "Probably not supported. No details known." @@ -2411,6 +2434,7 @@ :model "Astra 6700" :interface "USB" +:usbid "0x0638" "0x0a30" :status :unsupported :comment "Not supported. No chipset information available. Same as Avision iVina FB2400." diff --git a/doc/descriptions/v4l.desc b/doc/descriptions/v4l.desc index d585a94..711f453 100644 --- a/doc/descriptions/v4l.desc +++ b/doc/descriptions/v4l.desc @@ -10,7 +10,7 @@ ; :backend "v4l" ; name of backend -:version "1.0-3" ; version of backend +:version "1.0-3 (unmaintained)" ; version of backend :manpage "sane-v4l" ; name of manpage (if it exists) :url "mailto:henning@meier-geinitz.de" ; backend's web page diff --git a/doc/descriptions/xerox_mfp.desc b/doc/descriptions/xerox_mfp.desc index 59b56dd..dd9d283 100644 --- a/doc/descriptions/xerox_mfp.desc +++ b/doc/descriptions/xerox_mfp.desc @@ -53,6 +53,36 @@ :mfg "Samsung" :url "http://www.samsung.com" +:model "X4300 Series" +:interface "USB" +:usbid "0x04e8" "0x3324" +:status :untested + +:model "K4350 Series" +:interface "USB" +:usbid "0x04e8" "0x3325" +:status :untested + +:model "X7600 Series" +:interface "USB" +:usbid "0x04e8" "0x3326" +:status :untested + +:model "K7600 Series" +:interface "USB" +:usbid "0x04e8" "0x3327" +:status :untested + +:model "K703 Series" +:interface "USB" +:usbid "0x04e8" "0x3331" +:status :untested + +:model "X703 Series" +:interface "USB" +:usbid "0x04e8" "0x3332" +:status :untested + :model "SCX-4x16" :interface "USB" :usbid "0x04e8" "0x3409" @@ -290,7 +320,7 @@ :model "SCX-3405W" :interface "Ethernet" -:status :basic +:status :good :model "SCX-3400" :interface "USB" @@ -305,17 +335,17 @@ :model "SCX-4729FD" :interface "USB" :usbid "0x04e8" "0x3453" -:status :basic +:status :good :model "CLX-6260" :interface "USB" :usbid "0x04e8" "0x3455" -:status :minimal +:status :good :model "CLX-3300 Series" :interface "USB" :usbid "0x04e8" "0x3456" -:status :basic +:status :good :model "SCX-470x" :interface "USB" @@ -325,7 +355,7 @@ :model "CLX-4190" :interface "USB" :usbid "0x04e8" "0x345a" -:status :minimal +:status :good :model "SCX-4650 4x21S Series" :interface "USB" @@ -352,3 +382,33 @@ :usbid "0x04e8" "0x3468" :status :untested +:model "M458x Series" +:interface "USB" +:usbid "0x04e8" "0x346f" +:status :untested + +:model "M4370 5370 Series" +:interface "USB" +:usbid "0x04e8" "0x3471" +:status :untested + +:model "X401 Series" +:interface "USB" +:usbid "0x04e8" "0x3477" +:status :untested + +:model "K401 Series" +:interface "USB" +:usbid "0x04e8" "0x3478" +:status :untested + +:model "K3250 Series" +:interface "USB" +:usbid "0x04e8" "0x3481" +:status :untested + +:model "X3220 Series" +:interface "USB" +:usbid "0x04e8" "0x3482" +:status :untested + diff --git a/doc/figs/area.eps b/doc/figs/area.eps deleted file mode 100644 index 3613fa3..0000000 --- a/doc/figs/area.eps +++ /dev/null @@ -1,126 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: area.fig -%%Creator: fig2dev Version 3.1 Patchlevel 1 -%%CreationDate: Wed Dec 4 19:19:37 1996 -%%For: davidm@panda.mosberger (David Mosberger-Tang) -%%Orientation: Portrait -%%BoundingBox: 0 0 221 205 -%%Pages: 0 -%%BeginSetup -%%IncludeFeature: *PageSize Letter -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {} def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --59.0 231.0 translate -1 -1 scale - -/clp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/l {lineto} bind def -/m {moveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit - 0.06000 0.06000 sc -% Polyline -n 1725 1725 m 3375 1725 l 3375 2775 l 1725 2775 l clp gs col7 0.90 shd ef gr -/Helvetica findfont 180.00 scalefont setfont -2550 2302 m -gs 1 -1 sc (scan area) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -7.500 slw -% Polyline -n 1200 525 m 1200 3825 l gs col7 0.80 shd ef gr gs col-1 s gr -n 1230.00 3681.00 m 1200.00 3825.00 l 1170.00 3681.00 l 1200.50 3705.50 l 1230.00 3681.00 l clp gs 0.00 setgray ef gr gs col-1 s gr -% Polyline -n 1050 675 m 4650 675 l gs col7 0.80 shd ef gr gs col-1 s gr -n 4506.00 645.00 m 4650.00 675.00 l 4506.00 705.00 l 4530.50 675.50 l 4506.00 645.00 l clp gs 0.00 setgray ef gr gs col-1 s gr -/Helvetica findfont 180.00 scalefont setfont -3375 3150 m -gs 1 -1 sc (bottom-right) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -1725 1500 m -gs 1 -1 sc (top-left) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -2700 1050 m -gs 1 -1 sc (scan surface) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -1050 3600 m -gs 1 -1 sc (y) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -4425 525 m -gs 1 -1 sc (x) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -1080 585 m -gs 1 -1 sc (0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -% Polyline -n 1725 1650 m 1725 1800 l gs col-1 s gr -% Polyline -n 1650 1725 m 1800 1725 l gs col-1 s gr -% Polyline -n 3375 2700 m 3375 2850 l gs col-1 s gr -% Polyline -n 3300 2775 m 3450 2775 l gs col-1 s gr -15.000 slw -% Polyline -n 1200 675 m 4275 675 l 4275 3375 l 1200 3375 l clp gs col-1 s gr -$F2psEnd -restore diff --git a/doc/figs/flow.eps b/doc/figs/flow.eps deleted file mode 100644 index 55fd7d1..0000000 --- a/doc/figs/flow.eps +++ /dev/null @@ -1,161 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: flow.fig -%%Creator: fig2dev Version 3.1 Patchlevel 1 -%%CreationDate: Tue Dec 3 22:09:10 1996 -%%For: davidm@panda.mosberger (David Mosberger-Tang) -%%Orientation: Portrait -%%BoundingBox: 0 0 601 542 -%%Pages: 0 -%%BeginSetup -%%IncludeFeature: *PageSize Letter -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {} def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --161.0 577.0 translate -1 -1 scale - -/clp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/l {lineto} bind def -/m {moveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit - 0.06000 0.06000 sc -7.500 slw -% Polyline -n 2700 600 m 10200 600 l 10200 9600 l 2700 9600 l clp gs col7 0.95 shd ef gr gs col-1 s gr -% Polyline -n 3300 2400 m 10200 2400 l 10200 8925 l 3300 8925 l clp gs col7 0.90 shd ef gr gs col-1 s gr -% Polyline -n 3900 2925 m 10200 2925 l 10200 4650 l 3900 4650 l clp gs col7 0.85 shd ef gr gs col-1 s gr -% Polyline -n 3900 4800 m 10200 4800 l 10200 8250 l 3900 8250 l clp gs col7 0.85 shd ef gr gs col-1 s gr -% Polyline -n 10350 3000 m 10425 3075 l 10425 4500 l 10350 4575 l gs col-1 s gr -% Polyline -n 10350 4875 m 10425 4950 l 10425 8100 l 10350 8175 l gs col-1 s gr -/Helvetica-Oblique findfont 270.00 scalefont setfont -10575 6600 m -gs 1 -1 sc (image acquisition) col-1 show gr -/Helvetica-Oblique findfont 270.00 scalefont setfont -10575 3825 m -gs 1 -1 sc (device setup) col-1 show gr -/Helvetica-Oblique findfont 270.00 scalefont setfont -4200 7515 m -gs 1 -1 sc (- go back to) col-1 show gr -/Helvetica findfont 270.00 scalefont setfont -5775 7515 m -gs 1 -1 sc (sane_start\(\)) col-1 show gr -/Helvetica-Oblique findfont 270.00 scalefont setfont -7275 7515 m -gs 1 -1 sc (if more frames desired) col-1 show gr -/Helvetica-Oblique findfont 270.00 scalefont setfont -4200 3300 m -gs 1 -1 sc (- use:) col-1 show gr -/Helvetica findfont 270.00 scalefont setfont -4200 5100 m -gs 1 -1 sc (- sane_start\(\)) col-1 show gr -/Helvetica-Oblique findfont 270.00 scalefont setfont -4500 4500 m -gs 1 -1 sc (repeatedly to configure device as desired) col-1 show gr -/Helvetica findfont 270.00 scalefont setfont -5400 4080 m -gs 1 -1 sc (sane_control_option\(\)) col-1 show gr -/Helvetica findfont 270.00 scalefont setfont -5400 3600 m -gs 1 -1 sc (sane_get_option_descriptor\(\)) col-1 show gr -/Helvetica-Oblique findfont 270.00 scalefont setfont -4200 5700 m -gs 1 -1 sc (- use:) col-1 show gr -/Helvetica-Oblique findfont 270.00 scalefont setfont -4500 6900 m -gs 1 -1 sc (repeatedly until read returns EOF) col-1 show gr -/Helvetica findfont 270.00 scalefont setfont -5400 6000 m -gs 1 -1 sc (sane_get_parameters\(\)) col-1 show gr -/Helvetica findfont 270.00 scalefont setfont -5400 6450 m -gs 1 -1 sc (sane_read\(\)) col-1 show gr -/Helvetica findfont 270.00 scalefont setfont -4200 8100 m -gs 1 -1 sc (- sane_cancel\(\)) col-1 show gr -/Helvetica findfont 270.00 scalefont setfont -3000 1200 m -gs 1 -1 sc (- sane_init\(\)) col-1 show gr -/Helvetica findfont 270.00 scalefont setfont -3000 9300 m -gs 1 -1 sc (- sane_exit\(\)) col-1 show gr -/Helvetica-Oblique findfont 270.00 scalefont setfont -3600 1800 m -gs 1 -1 sc (- pick desired device, possibly by using) col-1 show gr -/Helvetica findfont 270.00 scalefont setfont -3600 2700 m -gs 1 -1 sc (- sane_open\(\)) col-1 show gr -/Helvetica findfont 270.00 scalefont setfont -3600 8700 m -gs 1 -1 sc (- sane_close\(\)) col-1 show gr -/Helvetica findfont 270.00 scalefont setfont -4800 2175 m -gs 1 -1 sc (sane_get_devices\(\)) col-1 show gr -$F2psEnd -restore diff --git a/doc/figs/hierarchy.eps b/doc/figs/hierarchy.eps deleted file mode 100644 index 978b3ab..0000000 --- a/doc/figs/hierarchy.eps +++ /dev/null @@ -1,209 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: hierarchy.fig -%%Creator: fig2dev Version 3.1 Patchlevel 2 -%%CreationDate: Thu Jan 30 22:02:12 1997 -%%For: davidm@panda.mosberger (David Mosberger-Tang) -%Magnification: 1.00 -%%Orientation: Landscape -%%BoundingBox: 0 0 355 722 -%%Pages: 0 -%%BeginSetup -%%IncludeFeature: *PageSize Letter -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --17.0 -17.0 translate - 90 rotate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n 0 612 m 0 0 l 792 0 l 792 612 l cp clip - 0.06000 0.06000 sc -% Polyline -n 5700 3825 m 300 3825 l 300 300 l 5700 300 l cp gs 0.90 setgray ef gr -% Polyline -n 12300 5550 m 7200 5550 l 7200 300 l 12300 300 l cp gs 0.90 setgray ef gr -15.000 slw -% Polyline -n 10650 4785 m 12150 4785 l 12150 5385 l 10650 5385 l cp gs col-1 s gr -/Helvetica ff 270.00 scf sf -11399 5182 m -gs 1 -1 sc (qcam) dup sw pop 2 div neg 0 rm col-1 sh gr -% Polyline -n 7350 4785 m 8850 4785 l 8850 5385 l 7350 5385 l cp gs col-1 s gr -/Helvetica ff 270.00 scf sf -8099 5182 m -gs 1 -1 sc (hp) dup sw pop 2 div neg 0 rm col-1 sh gr -% Polyline -n 2250 1185 m 3750 1185 l 3750 1785 l 2250 1785 l cp gs col-1 s gr -% Polyline -n 450 2985 m 1950 2985 l 1950 3585 l 450 3585 l cp gs col-1 s gr -% Polyline -n 2250 2985 m 3750 2985 l 3750 3585 l 2250 3585 l cp gs col-1 s gr -% Polyline -n 4050 2985 m 5550 2985 l 5550 3585 l 4050 3585 l cp gs col-1 s gr -% Polyline -n 8850 1185 m 10350 1185 l 10350 1785 l 8850 1785 l cp gs col-1 s gr -7.500 slw -% Polyline -n 2700 1800 m 1200 3000 l gs col-1 s gr -% Polyline -n 3000 1800 m 3000 3000 l gs col-1 s gr -% Polyline -n 3300 1800 m 4800 3000 l gs col-1 s gr -% Polyline -n 9600 1800 m 9600 2100 l gs col-1 s gr -% Polyline -n 9450 2700 m 8100 4800 l gs col-1 s gr -% Polyline -n 11400 4200 m 11400 4800 l gs col-1 s gr -% Polyline -n 1200 3600 m 1200 4200 l gs col-1 s gr -% Polyline -n 3000 3600 m 3000 4125 l gs col-1 s gr -% Polyline -n 7875 5400 m 7350 5850 l gs col-1 s gr -% Polyline -n 8250 5400 m 8775 5850 l gs col-1 s gr -% Polyline -n 11475 5400 m 11475 5850 l gs col-1 s gr -15.000 slw -% Polyline -n 8850 2100 m 10350 2100 l 10350 2700 l 8850 2700 l cp gs col-1 s gr -% Polyline -n 10650 3600 m 12150 3600 l 12150 4200 l 10650 4200 l cp gs col-1 s gr -7.500 slw -% Polyline -n 9750 2700 m 11400 3600 l gs col-1 s gr -% Interp Spline -gs n 4800 3600 m - 4390.2 4024.4 4259.0 4249.4 4275 4500 curveto - 4300.2 4894.5 4554.6 5418.2 5025 5475 curveto - 5575.9 5541.5 5962.1 4914.2 6150 4575 curveto - 6573.5 3810.6 5758.1 2145.7 6525 1350 curveto - 7224.0 624.7 8573.7 446.9 9450 900 curveto - 9524.5 938.5 9562.0 1013.5 9600 1200 curveto - gs col-1 s gr - gr - -/Helvetica ff 270.00 scf sf -1199 3382 m -gs 1 -1 sc (pnm) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica ff 270.00 scf sf -2999 3382 m -gs 1 -1 sc (mustek) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica-Oblique ff 210.00 scf sf -1200 4425 m -gs 1 -1 sc (pnm files) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica-Oblique ff 210.00 scf sf -3000 4380 m -gs 1 -1 sc (scanner) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica-Oblique ff 210.00 scf sf -7350 6165 m -gs 1 -1 sc (scanner 1) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica-Oblique ff 210.00 scf sf -8925 6165 m -gs 1 -1 sc (scanner 2) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica-Oblique ff 210.00 scf sf -11475 6135 m -gs 1 -1 sc (video camera) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica-Oblique ff 210.00 scf sf -3000 600 m -gs 1 -1 sc (machine A) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica-Oblique ff 210.00 scf sf -9600 630 m -gs 1 -1 sc (machine B) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica-Oblique ff 210.00 scf sf -4725 5850 m -gs 1 -1 sc (network connection) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica ff 270.00 scf sf -2999 1582 m -gs 1 -1 sc (dll) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica ff 270.00 scf sf -4799 3382 m -gs 1 -1 sc (net) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica ff 270.00 scf sf -9599 1582 m -gs 1 -1 sc (saned) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica ff 270.00 scf sf -9599 2482 m -gs 1 -1 sc (dll) dup sw pop 2 div neg 0 rm col-1 sh gr -/Helvetica ff 270.00 scf sf -11399 3982 m -gs 1 -1 sc (autolum) dup sw pop 2 div neg 0 rm col-1 sh gr -$F2psEnd -rs diff --git a/doc/figs/image-data.eps b/doc/figs/image-data.eps deleted file mode 100644 index 13e6b8a..0000000 --- a/doc/figs/image-data.eps +++ /dev/null @@ -1,178 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: image-data.fig -%%Creator: fig2dev Version 3.1 Patchlevel 1 -%%CreationDate: Fri Nov 22 08:53:36 1996 -%%For: davidm@panda.mosberger (David Mosberger-Tang) -%%Orientation: Portrait -%%BoundingBox: 0 0 521 93 -%%Pages: 0 -%%BeginSetup -%%IncludeFeature: *PageSize Letter -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {} def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --88.0 120.0 translate -1 -1 scale - -/clp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/l {lineto} bind def -/m {moveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit - 0.06000 0.06000 sc -7.500 slw -% Polyline -n 1800 1200 m 3150 1200 l 3150 1350 l 1800 1350 l clp gs col-1 s gr -/Helvetica findfont 180.00 scalefont setfont -1875 1125 m -gs 1 -1 sc (7 6 5 4 3 2 1 0) col-1 show gr -% Polyline -n 3150 1200 m 4500 1200 l 4500 1350 l 3150 1350 l clp gs col-1 s gr -/Helvetica findfont 180.00 scalefont setfont -3225 1125 m -gs 1 -1 sc (7 6 5 4 3 2 1 0) col-1 show gr -% Polyline -n 4500 1200 m 5850 1200 l 5850 1350 l 4500 1350 l clp gs col-1 s gr -/Helvetica findfont 180.00 scalefont setfont -4575 1125 m -gs 1 -1 sc (7 6 5 4 3 2 1 0) col-1 show gr -15.000 slw -% Polyline -n 1800 1200 m 5850 1200 l 5850 1350 l 1800 1350 l clp gs col-1 s gr -7.500 slw -% Polyline -n 1800 900 m 1950 825 l 3750 825 l 3825 750 l 3900 825 l 5700 825 l - 5850 900 l gs col-1 s gr -/Helvetica findfont 180.00 scalefont setfont -2475 1575 m -gs 1 -1 sc (r) col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -3825 1575 m -gs 1 -1 sc (g) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -5175 1575 m -gs 1 -1 sc (b) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -3825 600 m -gs 1 -1 sc (pixel 0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -% Polyline -n 5850 1200 m 7200 1200 l 7200 1350 l 5850 1350 l clp gs col-1 s gr -/Helvetica findfont 180.00 scalefont setfont -5925 1125 m -gs 1 -1 sc (7 6 5 4 3 2 1 0) col-1 show gr -% Polyline -n 7200 1200 m 8550 1200 l 8550 1350 l 7200 1350 l clp gs col-1 s gr -/Helvetica findfont 180.00 scalefont setfont -7275 1125 m -gs 1 -1 sc (7 6 5 4 3 2 1 0) col-1 show gr -% Polyline -n 8550 1200 m 9900 1200 l 9900 1350 l 8550 1350 l clp gs col-1 s gr -/Helvetica findfont 180.00 scalefont setfont -8625 1125 m -gs 1 -1 sc (7 6 5 4 3 2 1 0) col-1 show gr -15.000 slw -% Polyline -n 5850 1200 m 9900 1200 l 9900 1350 l 5850 1350 l clp gs col-1 s gr -7.500 slw -% Polyline -n 5850 900 m 6000 825 l 7800 825 l 7875 750 l 7950 825 l 9750 825 l - 9900 900 l gs col-1 s gr -/Helvetica findfont 180.00 scalefont setfont -6525 1575 m -gs 1 -1 sc (r) col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -7875 1575 m -gs 1 -1 sc (g) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -9225 1575 m -gs 1 -1 sc (b) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -7875 600 m -gs 1 -1 sc (pixel 1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -9225 1950 m -gs 1 -1 sc (byte 5) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -7875 1950 m -gs 1 -1 sc (byte 4) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -6525 1950 m -gs 1 -1 sc (byte 3) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -5175 1950 m -gs 1 -1 sc (byte 2) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -3825 1950 m -gs 1 -1 sc (byte1) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -2475 1950 m -gs 1 -1 sc (byte0) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -10050 1275 m -gs 1 -1 sc (....) dup stringwidth pop 2 div neg 0 rmoveto col-1 show gr -/Helvetica findfont 180.00 scalefont setfont -1725 1125 m -gs 1 -1 sc (bit:) dup stringwidth pop neg 0 rmoveto col-1 show gr -$F2psEnd -restore diff --git a/doc/figs/xfer.eps b/doc/figs/xfer.eps deleted file mode 100644 index 04abf91..0000000 --- a/doc/figs/xfer.eps +++ /dev/null @@ -1,117 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: xfer.fig -%%Creator: fig2dev Version 3.1 Patchlevel 1 -%%CreationDate: Fri Nov 22 08:53:30 1996 -%%For: davidm@panda.mosberger (David Mosberger-Tang) -%%Orientation: Portrait -%%BoundingBox: 0 0 362 182 -%%Pages: 0 -%%BeginSetup -%%IncludeFeature: *PageSize Letter -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {} def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --134.0 370.0 translate -1 -1 scale - -/clp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/l {lineto} bind def -/m {moveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit - 0.06000 0.06000 sc -15.000 slw -% Polyline -n 2400 3300 m 8100 3300 l gs col-1 s gr -n 7812.00 3240.00 m 8100.00 3300.00 l 7812.00 3360.00 l 7860.50 3300.50 l 7812.00 3240.00 l clp gs 0.00 setgray ef gr gs col-1 s gr -7.500 slw -% Polyline -n 8100 3375 m 2400 3675 l gs col-1 s gr -15.000 slw -n 2690.76 3719.78 m 2400.00 3675.00 l 2684.45 3599.95 l 2640.17 3662.89 l 2690.76 3719.78 l clp gs 0.00 setgray ef gr gs col-1 s gr -% Polyline -n 2400 3750 m 8100 3750 l gs col-1 s gr -n 7812.00 3690.00 m 8100.00 3750.00 l 7812.00 3810.00 l 7860.50 3750.50 l 7812.00 3690.00 l clp gs 0.00 setgray ef gr gs col-1 s gr -7.500 slw -% Polyline -n 8100 3825 m 2400 4125 l gs col-1 s gr -15.000 slw -n 2690.76 4169.78 m 2400.00 4125.00 l 2684.45 4049.95 l 2640.17 4112.89 l 2690.76 4169.78 l clp gs 0.00 setgray ef gr gs col-1 s gr -7.500 slw -% Polyline -n 2250 3150 m 8250 3150 l 8250 6150 l 2250 6150 l clp gs col-1 s gr -15.000 slw -% Polyline -n 2400 4200 m 8100 4200 l gs col-1 s gr -n 7812.00 4140.00 m 8100.00 4200.00 l 7812.00 4260.00 l 7860.50 4200.50 l 7812.00 4140.00 l clp gs 0.00 setgray ef gr gs col-1 s gr -7.500 slw -% Polyline -n 8100 4275 m 2400 4575 l gs col-1 s gr -15.000 slw -n 2690.76 4619.78 m 2400.00 4575.00 l 2684.45 4499.95 l 2640.17 4562.89 l 2690.76 4619.78 l clp gs 0.00 setgray ef gr gs col-1 s gr -% Polyline -n 2400 4650 m 8100 4650 l gs col-1 s gr -n 7812.00 4590.00 m 8100.00 4650.00 l 7812.00 4710.00 l 7860.50 4650.50 l 7812.00 4590.00 l clp gs 0.00 setgray ef gr gs col-1 s gr -$F2psEnd -restore diff --git a/doc/html.sty b/doc/html.sty deleted file mode 100644 index 5b55985..0000000 --- a/doc/html.sty +++ /dev/null @@ -1,232 +0,0 @@ -% LaTeX2HTML Version 95.1 : html.sty -% -% This file contains definitions of LaTeX commands which are -% processed in a special way by the translator. -% For example, there are commands for embedding external hypertext links, -% for cross-references between documents or for including -% raw HTML. -% This file includes the comments.sty file v2.0 by Victor Eijkhout -% In most cases these commands do nothing when processed by LaTeX. - -% Modifications: -% -% nd = Nikos Drakos -% jz = Jelle van Zeijl - -% jz 22-APR-94 - Added support for htmlref -% nd - Created - - - -% Exit if the style file is already loaded -% (suggested by Lee Shombert -\ifx \htmlstyloaded\relax \endinput\else\let\htmlstyloaded\relax\fi - -%%% LINKS TO EXTERNAL DOCUMENTS -% -% This can be used to provide links to arbitrary documents. -% The first argumment should be the text that is going to be -% highlighted and the second argument a URL. -% The hyperlink will appear as a hyperlink in the HTML -% document and as a footnote in the dvi or ps files. -% -\newcommand{\htmladdnormallinkfoot}[2]{#1\footnote{#2}} - -% This is an alternative definition of the command above which -% will ignore the URL in the dvi or ps files. -\newcommand{\htmladdnormallink}[2]{#1} - -% This command takes as argument a URL pointing to an image. -% The image will be embedded in the HTML document but will -% be ignored in the dvi and ps files. -% -\newcommand{\htmladdimg}[1]{} - -%%% CROSS-REFERENCES BETWEEN (LOCAL OR REMOTE) DOCUMENTS -% -% This can be used to refer to symbolic labels in other Latex -% documents that have already been processed by the translator. -% The arguments should be: -% #1 : the URL to the directory containing the external document -% #2 : the path to the labels.pl file of the external document. -% If the external document lives on a remote machine then labels.pl -% must be copied on the local machine. -% -%e.g. \externallabels{http://cbl.leeds.ac.uk/nikos/WWW/doc/tex2html/latex2html} -% {/usr/cblelca/nikos/tmp/labels.pl} -% The arguments are ignored in the dvi and ps files. -% -\newcommand{\externallabels}[2]{} - -% This complements the \externallabels command above. The argument -% should be a label defined in another latex document and will be -% ignored in the dvi and ps files. -% -\newcommand{\externalref}[1]{} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Comment.sty version 2.0, 19 June 1992 -% selectively in/exclude pieces of text: the user can define new -% comment versions, and each is controlled separately. -% This style can be used with plain TeX or LaTeX, and probably -% most other packages too. -% -% Examples of use in LaTeX and TeX follow \endinput -% -% Author -% Victor Eijkhout -% Department of Computer Science -% University Tennessee at Knoxville -% 104 Ayres Hall -% Knoxville, TN 37996 -% USA -% -% eijkhout@cs.utk.edu -% -% Usage: all text included in between -% \comment ... \endcomment -% or \begin{comment} ... \end{comment} -% is discarded. The closing command should appear on a line -% of its own. No starting spaces, nothing after it. -% This environment should work with arbitrary amounts -% of comment. -% -% Other 'comment' environments are defined by -% and are selected/deselected with -% \includecomment{versiona} -% \excludecoment{versionb} -% -% These environments are used as -% \versiona ... \endversiona -% or \begin{versiona} ... \end{versiona} -% with the closing command again on a line of its own. -% -% Basic approach: -% to comment something out, scoop up every line in verbatim mode -% as macro argument, then throw it away. -% For inclusions, both the opening and closing comands -% are defined as noop -% -% Changed \next to \html@next to prevent clashes with other sty files -% (mike@emn.fr) -% Changed \html@next to \htmlnext so the \makeatletter and -% \makeatother commands could be removed (they were causing other -% style files - changebar.sty - to crash) (nikos@cbl.leeds.ac.uk) -% Changed \htmlnext back to \html@next... - -\makeatletter -\def\makeinnocent#1{\catcode`#1=12 } -\def\csarg#1#2{\expandafter#1\csname#2\endcsname} - -\def\ThrowAwayComment#1{\begingroup - \def\CurrentComment{#1}% - \let\do\makeinnocent \dospecials - \makeinnocent\^^L% and whatever other special cases - \endlinechar`\^^M \catcode`\^^M=12 \xComment} -{\catcode`\^^M=12 \endlinechar=-1 % - \gdef\xComment#1^^M{\def\test{#1} - \csarg\ifx{PlainEnd\CurrentComment Test}\test - \let\html@next\endgroup - \else \csarg\ifx{LaLaEnd\CurrentComment Test}\test - \edef\html@next{\endgroup\noexpand\end{\CurrentComment}} - \else \let\html@next\xComment - \fi \fi \html@next} -} -\makeatother - -\def\includecomment - #1{\expandafter\def\csname#1\endcsname{}% - \expandafter\def\csname end#1\endcsname{}} -\def\excludecomment - #1{\expandafter\def\csname#1\endcsname{\ThrowAwayComment{#1}}% - {\escapechar=-1\relax - \csarg\xdef{PlainEnd#1Test}{\string\\end#1}% - \csarg\xdef{LaLaEnd#1Test}{\string\\end\string\{#1\string\}}% - }} - -\excludecomment{comment} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%% RAW HTML -% -% Enclose raw HTML between a \begin{rawhtml} and \end{rawhtml}. -% The html environment ignores its body -% -\excludecomment{rawhtml} - -%%% HTML ONLY -% -% Enclose LaTeX constructs which will only appear in the -% HTML output and will be ignored by LaTeX with -% \begin{htmlonly} and \end{htmlonly} -% -\excludecomment{htmlonly} -% Shorter version -\newcommand{\html}[1]{} - - -%%% LaTeX ONLY -% Enclose LaTeX constructs which will only appear in the -% DVI output and will be ignored by latex2html with -%\begin{latexonly} and \end{latexonly} -% -\newenvironment{latexonly}{}{} -% Shorter version -\newcommand{\latex}[1]{#1} - -%%% HYPERREF -% Suggested by Eric M. Carol -% Similar to \ref but accepts conditional text. -% The first argument is HTML text which will become ``hyperized'' -% (underlined). -% The second and third arguments are text which will appear only in the paper -% version (DVI file), enclosing the fourth argument which is a reference to a label. -% -%e.g. \hyperref{using the tracer}{using the tracer (see Section}{)}{trace} -% where there is a corresponding \label{trace} -% -\newcommand{\hyperref}[4]{#2\ref{#4}#3} - -%%% HTMLREF -% Reference in HTML version only. -% Mix between \htmladdnormallink and \hyperref. -% First arg is text for in both versions, second is label for use in HTML -% version. -\newcommand{\htmlref}[2]{#1} - -%%% HTMLIMAGE -% This command can be used inside any environment that is converted -% into an inlined image (eg a "figure" environment) in order to change -% the way the image will be translated. The argument of \htmlimage -% is really a string of options separated by commas ie -% [scale=],[external],[thumbnail= -% The scale option allows control over the size of the final image. -% The ``external'' option will cause the image not to be inlined -% (images are inlined by default). External images will be accessible -% via a hypertext link. -% The ``thumbnail'' option will cause a small inlined image to be -% placed in the caption. The size of the thumbnail depends on the -% reduction factor. The use of the ``thumbnail'' option implies -% the ``external'' option. -% -% Example: -% \htmlimage{scale=1.5,external,thumbnail=0.2} -% will cause a small thumbnail image 1/5th of the original size to be -% placed in the final document, pointing to an external image 1.5 -% times bigger than the original. -% -\newcommand{\htmlimage}[1]{} - -%%% HTMLADDTONAVIGATION -% This command appends its argument to the buttons in the navigation -% panel. It is ignored by LaTeX. -% -% Example: -% \htmladdtonavigation{\htmladdnormallink -% {\htmladdimg{http://server/path/to/gif}} -% {http://server/path}} -\newcommand{\htmladdtonavigation}[1]{} - -% typeset a url: -\newcommand{\url}[1]{\texttt{#1}} diff --git a/doc/releases.txt b/doc/releases.txt index a1b5478..1579b15 100644 --- a/doc/releases.txt +++ b/doc/releases.txt @@ -14,22 +14,26 @@ Day 35: Release Before the release: -* set :new :yes on any new backend .desc files +* set :new :yes on any new backend .desc files, by looking for added files: + + cd backend + ls | while read aa; do git log --follow --diff-filter=A --find-renames=40% --format="%ai $aa" "$aa"; done > foo.log + + Then inspect foo.log for any files added since the last release. * Make sure that config.guess and config.sub are up-to-date (get them from - savannah.gnu.org/projects/config) -* configure.in: increase version number -* configure.in: remove 'git' from textual version number -* configure.in: set is_release=yes -* OPTIONAL: aclocal.m4: recreate by running aclocal -* OPTIONAL: include/sane/config.h.in: recreate (autoheader in root of checkout) -* DONT run autoreconf, it will overwrite our custom ltmain.sh -* configure: recreate by running autoconf -* NEWS: update and enter date of release + savannah.gnu.org/projects/config) (git clone is easiest) +* configure.ac: remove 'git' from textual version number, and increment it +* run autoreconf --force but do *NOT* use the --install option as it will + overwrite our custom ltmain.sh +* ChangeLog: generate from git log, something like: + git log RELEASE_1_0_25..HEAD > ChangeLog +* NEWS: update and enter date of release, etc + Get list of heavily change backends via: git diff --stat RELEASE_1_0_25 + Get other things by reading ChangeLog * sane-backends.lsm: update -* ChangeLog: set release marker * git commit -a * tag git with release tag; e.g.: 'git tag -a RELEASE_1_0_15' -* probably DONT want to git push here, cause alioth will rebuild it's local +* probably DONT want to git push here, because alioth will rebuild it's local checkout needlessly Making the release: @@ -74,13 +78,17 @@ Announcing the release: After the release: -* move ChangeLog to ChangeLog-"version" -* start a new ChangeLog -* add ChangeLog-"version" to EXTRA_DIST in Makefile.in and Makefile.am -* configure.in: bump textual version & add 'git' suffix -* configure.in: bump V_REV -* configure.in: set is_release=no +#### consider not adding old changelogs to release package +* move ChangeLog to ChangeLogs/ChangeLog-"version" +* start a new ChangeLog, with the following message: + +This file is automatically generated at release time using git commit messages. + +For the latest changes please refer to the output of `git log` or see: +https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?p=sane/sane-backends.git;a=log + +* configure.ac: bump textual version & add 'git' suffix * configure: regenerate with autoconf * remove the ':new' tag from any new backends .desc files * git add new files and commit -* git push --tags +* git push && git push --tags (one of these might give an error 'remote: fatal: bad object 0000000000000000000000000000000000000000', try the other one) diff --git a/doc/sane-avision.man b/doc/sane-avision.man index 299bb72..6a991b6 100644 --- a/doc/sane-avision.man +++ b/doc/sane-avision.man @@ -36,6 +36,7 @@ a hash mark (#) are ignored. A sample configuration file is shown below: \ option force\-a4 option force\-a3 + option skip\-adf option disable\-gamma\-table option disable\-calibration \ @@ -61,6 +62,15 @@ known to return bogus data are marked in the backend so if you need this option please report this to the backend maintainer. USE WITH CARE! .TP +skip\-adf: +Forces the backend to ignore an inconsistent ADF +status returned by the scanner (ADF not present, but +ADF model number non-zero). Without this option, the +backend will make several attempts to reset the ADF +and retry the query in this situation, and will fail +with a "not supported" error if the ADF still doesn't +respond. +.TP disable\-gamma\-table: Disables the usage of the scanner's gamma-table. You might try this if your scans hang or only produces diff --git a/doc/sane-epjitsu.man b/doc/sane-epjitsu.man index 5d2a8ca..3552691 100644 --- a/doc/sane-epjitsu.man +++ b/doc/sane-epjitsu.man @@ -1,4 +1,4 @@ -.TH sane\-epjitsu 5 "12 Jun 2014" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" +.TH sane\-epjitsu 5 "11 Apr 2017" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" .IX sane\-epjitsu .SH NAME @@ -7,7 +7,7 @@ sane\-epjitsu \- SANE backend for Epson-based Fujitsu USB scanners. .SH DESCRIPTION The .B sane\-epjitsu -library implements a SANE (Scanner Access Now Easy) backend which provides basic access the Fujitsu fi\-60F/fi\-65F and ScanSnap S300/S1300/S1100 scanners. +library implements a SANE (Scanner Access Now Easy) backend which provides basic access the Fujitsu fi\-60F/fi\-65F and ScanSnap S300/S1300(i)/S1100(i) scanners. .SH HARDWARE SUPPORT These scanners are fairly limited, only supporting a couple of modes and resolutions, and always scanning full width. The backend supports missing modes (binary, grayscale) and intermediate resolutions in software, but provides only minimal scan area controls. See @@ -87,7 +87,7 @@ The backend uses a single environment variable, SANE_DEBUG_EPJITSU, which enable Only limited scan area options are exposed. .br .br -fi\-60F and fi\-65F hardware grayscale mode is not used. +fi\-60F and fi\-65F hardware grayscale mode is not used, because the calibration code is not finished. .RE .SH CREDITS diff --git a/doc/sane-epson.man b/doc/sane-epson.man index d474bb7..af2b3cf 100644 --- a/doc/sane-epson.man +++ b/doc/sane-epson.man @@ -77,7 +77,7 @@ The option selects the bit depth the scanner is using. This option is only available for scanners that support more than one bit depth. Older scanners will always transfer the image in 8bit mode. Newer scanners -allow to select either 8 bits, 12 or 14 bits per color channel. For a +allow one to select either 8 bits, 12 or 14 bits per color channel. For a color scan this means an effective color depth of 36 or 42 bits over all three channels. The valid choices depend on the scanner model. diff --git a/doc/sane-epson2.man b/doc/sane-epson2.man index 896b340..6d47eea 100644 --- a/doc/sane-epson2.man +++ b/doc/sane-epson2.man @@ -123,7 +123,7 @@ The option selects the bit depth the scanner is using. This option is only available for scanners that support more than one bit depth. Older scanners will always transfer the image in 8bit mode. Newer scanners -allow to select either 8 bits, 12 or 14 bits per color channel. For a +allow one to select either 8 bits, 12 or 14 bits per color channel. For a color scan this means an effective color depth of 36 or 42 bits over all three channels. The valid choices depend on the scanner model. diff --git a/doc/sane-epsonds.man b/doc/sane-epsonds.man index ea9bcbb..3324804 100644 --- a/doc/sane-epsonds.man +++ b/doc/sane-epsonds.man @@ -29,7 +29,7 @@ The option selects the bit depth the scanner is using. This option is only available for scanners that support more than one bit depth. Older scanners will always transfer the image in 8bit mode. Newer scanners -allow to select either 8 bits, 12 or 14 bits per color channel. For a +allow one to select either 8 bits, 12 or 14 bits per color channel. For a color scan this means an effective color depth of 36 or 42 bits over all three channels. The valid choices depend on the scanner model. diff --git a/doc/sane-fujitsu.man b/doc/sane-fujitsu.man index 29004d9..6bd5f73 100644 --- a/doc/sane-fujitsu.man +++ b/doc/sane-fujitsu.man @@ -1,4 +1,4 @@ -.TH sane\-fujitsu 5 "31 Aug 2015" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" +.TH sane\-fujitsu 5 "08 Apr 2017" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" .IX sane\-fujitsu .SH NAME @@ -10,7 +10,7 @@ The library implements a SANE (Scanner Access Now Easy) backend which provides access to most Fujitsu flatbed and ADF scanners. -This document describes backend version 127, which shipped with SANE 1.0.25. +This document describes backend version 133, which shipped with SANE 1.0.26. .SH SUPPORTED HARDWARE This version supports every known model which speaks the Fujitsu SCSI and @@ -42,6 +42,7 @@ SP\-Jr M3097E+/DE S300/S300M SP\-10/10C M3099A/EH/EX S1300/S1100 SP\-15C/300C fi\-60F SP\-600C/620C fi\-5015C + SP\-2x/3x .fi .ft R .RE diff --git a/doc/sane-genesys.man b/doc/sane-genesys.man index ee3e0af..cd00cc3 100644 --- a/doc/sane-genesys.man +++ b/doc/sane-genesys.man @@ -10,7 +10,7 @@ access to USB flatbed scanners based on the Genesys GL646, GL841, GL843, GL847 a At present, the following scanners are known to work with this backend: .PP .RS -Canon LiDE 35/40/50/60/100/110/200/210/220/700 +Canon LiDE 35/40/50/60/100/110/120/200/210/220/700 .br Hewlett-Packard HP2300C/HP2400/HP3670/HP3690/G4010/G4050 .br @@ -52,7 +52,7 @@ in the feeder then start calibration either by passing the \-\-calibrate option or by clicking on the available 'calibrate' button in the 'advanced options' in a graphical frontend. The result of the calibration is stored in a file in the home directory of the user doing it. If you plug the scanner in another machine or use it with another account, calibration -will have to be redone, unles you use the \-\-calibration\-file option. +will have to be redone, unless you use the \-\-calibration\-file option. If no home directory is defined, USERAPPPROFILE will be used, then TMPDIR or TMP. If none of these directories exist, the backend will try to write in the current working directory. Flatbed scanners also make use of the calibration file as a cache @@ -71,7 +71,7 @@ A value of -1 means forever, 0 means no cache. .B \-\-threshold percent .RS 0..100% (in steps of 1). Select minimum brightness to get a white point. Pixels -whith brightness below that value will be scanned as black. +with brightness below that value will be scanned as black. .RE .B \-\-brightness value @@ -285,6 +285,9 @@ Brian Paavo from Benthic Science Limited for donating a Canoscan LiDE 700F. .TP Dany Qumsiyeh for donating a Canoscan LiDE 210 and a LiDE 220. .br +.TP +Luc Verhaegen for donating a Canoscan LiDE 120. +.br .SH "SEE ALSO" .BR sane (7), diff --git a/doc/sane-mustek_usb.man b/doc/sane-mustek_usb.man index dfcb8eb..a934e8a 100644 --- a/doc/sane-mustek_usb.man +++ b/doc/sane-mustek_usb.man @@ -180,6 +180,7 @@ export SANE_DEBUG_MUSTEK_USB=4 .BR sane\-ma1509 (5) .br .IR @DOCDIR@/mustek_usb/mustek_usb.CHANGES , +.br .I @DOCDIR@/mustek_usb/mustek_usb.TODO .br .I http://www.meier\-geinitz.de/sane/mustek_usb\-backend/ diff --git a/doc/sane-pixma.man b/doc/sane-pixma.man index ca692cb..1058e92 100644 --- a/doc/sane-pixma.man +++ b/doc/sane-pixma.man @@ -1,4 +1,4 @@ -.TH "sane\-pixma" "5" "30 Sep 2015" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" +.TH "sane\-pixma" "5" "20 May 2017" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" .IX sane\-pixma .SH NAME sane\-pixma \- SANE backend for Canon Multi-Function Printers and CanoScan Scanners @@ -17,9 +17,11 @@ Currently, the following models work with this backend: .RS PIXMA MG2100, MG2200, MG2400, MG2500, MG2900, MG3100, MG3200 .br -PIXMA MG3500, MG4200, MG5100, MG5200, MG5300, MG5500, MG5600 +PIXMA MG3500, MG3600, MG4200, MG5100, MG5200, MG5300, MG5400 .br -PIXMA MG6100, MG6200, MG6300, MG6400, MG7100, MG7500, MG8200 +PIXMA MG5500, MG5600, MG5700, MG6100, MG6200, MG6300, MG6400 +.br +PIXMA MG7100, MG7500, MG7700, MG8200 .br PIXMA MP140, MP150, MP160, MP170, MP180, MP190 .br @@ -45,6 +47,8 @@ PIXMA MX410, MX420, MX470, MX510, MX520, MX530, MX700, MX720 .br PIXMA MX850, MX860, MX870, MX882, MX885, MX890, MX920, MX7600 .br +PIXUS MP10 +.br imageCLASS MF3110, MF3240, MF4010, MF4018 .br imageCLASS MF4120, MF4122, MF4140, MF4150 @@ -53,17 +57,17 @@ imageCLASS MF4270, MF4350d, MF4370dn, MF4380dn .br imageCLASS MF4410, MF4430, MF4570dw, MF4660, MF4690 .br -imageCLASS MF5730, MF5770, MF6550, D420, D480, D530 -.br -i-SENSYS MF3010, MF4320d, MF4330d, MF4500 Series +imageCLASS MF5730, MF5770, MF6550, MPC200, D420, D480, D530 .br -i-SENSYS MF4700 Series, MF4800 Series, MF8200C Series +i-SENSYS MF230, MF240, MF3010, MF4320d, MF4330d, MF4500, MF4700 .br -i-SENSYS MF8300 Series +i-SENSYS MF4800, MF6100, MF8200C, MF8300 .br imageRUNNER 1020/1024/1025 .br CanoScan 8800F, 9000F, 9000F Mark II +.br +MAXIFY MB5000 (ADF is not working) .RE .PP The following models are not well tested and/or the scanner sometimes hangs @@ -79,23 +83,29 @@ in the backend so that they get recognized and activated. Feedback in the sane\-devel mailing list welcome. .PP .RS -PIXMA E400, E460, E480, E500, E510, E560, E600, E610 +PIXMA E400, E460, E470, E480, E500, E510, E560, E600, E610 .br -PIXMA MG3600, MG4100, MG5400, MG6500, MG6600, MG8100 +PIXMA MG3000, MG4100, MG6500, MG6600, MG6800, MG6900, MG8100 .br PIXMA MP375R, MP493, MP495, MP740 .br PIXMA MX320, MX390, MX430, MX450, MX490, MX710 .br +PIXMA G3000 +.br +PIXMA TS9000, TS800, TS6000, TS5000 +.br +PIXUS MP5 +.br imageCLASS MF810/820, MF5630, MF5650, MF5750, MF8030, MF8170c .br -imageRUNNER 1133 +imageCLASS MPC190 .br -i-SENSYS MF210 Series, MF220 Series, MF5880dn, MF5900 Series +imageRUNNER 1133 .br -i-SENSYS MF6100 Series, MF6680dn, MF8500C Series +i-SENSYS MF210, MF220, MF5880dn, MF5900, MF6680dn, MF8500C .br -MAXIFY MB2000, MB2300, MB5000, MB5300 +MAXIFY MB2000, MB2300, MB5300 .RE .PP \#The following models may use partly the same Pixma protocol as other devices @@ -139,15 +149,21 @@ an up-to-date status at the project homepage. (See below). Users feedback is essential to help improve features and performances. .SH OPTIONS Besides "well-known" options (e.g. resolution, mode etc.) pixma backend also -provides the following -\#.B experimental -options for button handling, i.e. the options might change in the future. +provides the following options, i.e. the options might change in the future. .br The button status can be polled i.e. with 'scanimage \-A'. .br Button scan is disabled on MAC OS X due to darwin libusb not handling timeouts in usb interrupt reads, but may work when using the network protocol. .TP +.I adf\-wait +This option enables and sets the time in seconds waiting for a document +inserted into the +.BR Automatic +.BR Document +.BR Feeder . +The maximum allowed waiting time is 3600 sec (= 1 hour). +.TP .I button\-controlled This option can be used by applications (like .BR scanadf (1) @@ -209,21 +225,21 @@ support dynamic loading). .I @CONFIGDIR@/pixma.conf The backend configuration file (see also description of .B SANE_CONFIG_DIR -below). The files contains an optional list of networked scanners. Normally -only scanners that can not be auto-detected because they are on a different +below). The file contains an optional list of networked scanners. Normally +only scanners that cannot be auto-detected because they are on a different subnet shall be listed here. If your OS does not allow enumeration of -interfaces (i.e. it does not support the getifaddrs() function) you may need +interfaces (i.e. it does not support the getifaddrs() function) you also may need to add your scanner here as well. +.RS .PP -Scanners shall be listed as: +.I Scanners shall be listed in the configuraton file as follows: .PP .RS -.I ://[:port] +.I ://[:port][/timeout=] .RE -.RS .PP where method indicates the protocol used (bjnp is used for inkjet multi-functionals -and mfnp is used for laser multi-functionals). +and mfnp is used for laser multi-functionals). .PP host is the hostname or IP address of the scanner, e.g. bjnp://10.0.1.4 for IPv4, bjnp://[2001:888:118e:18e2:21e:8fff:fe36:b64a] for a literal @@ -232,7 +248,25 @@ IPv6-address or bjnp://myscanner.mydomain.org for a hostname. The port number is optional and in normally implied by the method. Port 8610 is the standard port for mfnp, 8612 for bjnp. .PP -Define each scanner on a new line. +A scanner specific timeout value for the network protocol can be set using the +bjnp-timeout parameter. The value is in ms. +.PP +Define scanners each on a new line. +.PP +More globally applicable tinmeouts can be set using the bjnp-timeout parameter as folllows: +.PP +.RS +.I bjnp-timeout= +.RE +.PP +A timeout defined using bjnp-timeout will apply to the following scanner definitions +in the file. If required the bjnp-timeout setting +can be defined multiple times, where each settng will apply only to the scanners that +follow the setting. The last setting is used for the auto discovered scanners. +If not explicitely set, the default 1000ms setting will apply. +.PP +Setting timeouts should only be required in exceptional cases. +.PP .SH USB SUPPORT USB scanners will be auto-detected and require no configuration. .SH NETWORKING SUPPORT diff --git a/doc/sane-xerox_mfp.man b/doc/sane-xerox_mfp.man index 0f896ce..0ffa3e8 100644 --- a/doc/sane-xerox_mfp.man +++ b/doc/sane-xerox_mfp.man @@ -1,47 +1,20 @@ .TH sane\-xerox_mfp 5 "15 Dec 2008" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" .IX sane\-xerox_mfp .SH NAME -sane\-xerox_mfp \- SANE backend for Xerox Phaser 3200MFP device +sane\-xerox_mfp \- SANE backend for Xerox Phaser 3200MFP device et al. .SH DESCRIPTION The .B sane\-xerox_mfp library implements a SANE (Scanner Access Now Easy) backend that provides -access to the following USB and network multifunction-peripheral: -.PP -.RS -Phaser 3200MFP -.br -Dell MFP Laser Printer 1815dn -.br -Xerox Phaser 6110MFP -.br -Samsung CLX-3170fn & CLX-3175FW -.br -Samsung SCX-4200 -.br -Samsung SCX-4300 -.br -Samsung SCX-4500 -.br -Samsung SCX-4500W -.br -Samsung SCX4725-FN -.br -Xerox WorkCentre 3119 Series -.RE -.PP -If you own a scanner other than the ones listed above that works with this -backend, please let us know this by sending the scanner's exact model name and -the USB vendor and device ids (e.g. from -.IR /proc/bus/usb/devices , -.I sane\-find\-scanner -or syslog) to us. Even if the scanner's name is only slightly different from -the models mentioned above, please let us know. +access to several Samsung-based Samsung, Xerox, and Dell scanners. +Please see full list of supported devices at +http://www.sane\-project.org/sane\-supported\-devices.html + .SH CONFIGURATION .I @CONFIGDIR@/xerox_mfp.conf USB scanners do not need any configuration. -For SCX-4500W in network mode you need to specify +For SCX\-4500W in network mode you need to specify .PP .RS .B tcp host_address [port] @@ -70,14 +43,24 @@ debug levels increase the verbosity of the output. Example: export SANE_DEBUG_XEROX_MFP=4 -.SH AUTHOR -Alex Belkin -Samsung SCX-4500W scan over network support -Alexander Kuznetsov -.SH BUGS: +.SH LIMITATIONS Multicast autoconfiguration for LAN scanners is not implemented yet. IPv6 addressing never been tested. +.SH BUGS AND SUPPORT +If you have found a bug or need support please follow open\-source way of acquiring support via +mail\-lists http://www.sane\-project.org/mailing\-lists.html or SANE bug tracker +http://www.sane\-project.org/bugs.html + +.SH AUTHORS +Alex Belkin +.br +Samsung SCX\-4500W scan over network support by +Alexander Kuznetsov +.br +Color scanning on Samsung M2870 model and Xerox Cognac 3215 & 3225 models by +Laxmeesh Onkar Markod + .SH "SEE ALSO" .BR sane (7), .BR sane\-usb (5) diff --git a/doc/sane.man b/doc/sane.man index 4fad9a9..3eadf42 100644 --- a/doc/sane.man +++ b/doc/sane.man @@ -524,6 +524,12 @@ The sane\-umax1220u backend supports the UMAX Astra 1220U (USB) flatbed scanner (and also the UMAX Astra 2000U, sort of). See .BR sane\-umax1220u (5) for details. +.TP +.B xerox_mfp +The sane\-xerox_mfp backend supports multiple Samsung-based Samsung, Xerox, and Dell +scanners. See +.BR sane\-xerox_mfp (5) +for details. .PP Also, have a look at the backend information page at .I http://www.sane\-project.org/sane\-supported\-devices.html @@ -917,7 +923,8 @@ for details). .BR sane\-umax (5), .BR sane\-umax_pp (5), .BR sane\-usb (5), -.BR sane\-v4l (5) +.BR sane\-v4l (5), +.BR sane\-xerox_mfp (5) .SH AUTHOR David Mosberger-Tang and many many more (see diff --git a/doc/sane.tex b/doc/sane.tex index 1132576..4611797 100644 --- a/doc/sane.tex +++ b/doc/sane.tex @@ -1,6 +1,6 @@ -\documentclass[11pt,DVIps]{report} +\documentclass[11pt]{report} -\usepackage{times,epsfig,html} +\usepackage{times,graphicx,url} % Not Currently using changebar package so comment out to reduce % external dependencies. %\usepackage{changebar} @@ -15,9 +15,9 @@ \setlength{\marginparsep}{0pt} \addtolength{\topmargin}{-0.75in} -\title{\huge SANE Standard Version 1.05} +\title{\huge SANE Standard Version 1.06} \author{} -\date{2006-04-02} +\date{2008-05-03} \makeindex @@ -196,7 +196,7 @@ platform dependent. Several possibilities exist: \begin{figure}[htbp] \begin{center} \leavevmode - \psfig{file=figs/hierarchy.eps,angle=270,width=\textwidth} + \includegraphics[width=\textwidth]{figs/hierarchy} \caption{Example SANE Hiearchy} \label{fig:hierarchy} \end{center} @@ -280,7 +280,7 @@ significant bit, and the rightmost pixel in the least significant bit. \begin{figure}[htbp] \begin{center} \leavevmode - \psfig{file=figs/xfer.eps,width=0.5\textwidth} + \includegraphics[width=0.5\textwidth]{figs/xfer} \caption{Transfer order of image data bytes} \label{fig:xfer} \end{center} @@ -304,7 +304,7 @@ fashion. \begin{figure}[htbp] \begin{center} \leavevmode - \psfig{file=figs/image-data.eps,width=0.8\textwidth} + \includegraphics[width=0.8\textwidth]{figs/image-data} \caption{Bit and byte order or image data} \label{fig:pixels} \end{center} @@ -1683,7 +1683,7 @@ exiting the backend. \begin{figure}[htb] \begin{center} \leavevmode - \psfig{file=figs/flow.eps,height=0.5\textheight} + \includegraphics[height=0.5\textheight]{figs/flow} \caption{Code flow} \label{fig:flow} \end{center} @@ -1826,7 +1826,7 @@ conversions. \begin{figure}[tbp] \begin{center} \leavevmode - \psfig{file=figs/area.eps,height=0.3\textheight} + \includegraphics[height=0.3\textheight]{figs/area} \caption{Scan area options} \label{fig:area} \end{center} @@ -1873,9 +1873,7 @@ The SANE standard is discussed and evolved via a mailing list. Anybody with email access to the Internet can automatically join and leave the discussion group by sending mail to the following address. \begin{quote}\index{mailing list} -\begin{verbatim} -sane-devel-request@lists.alioth.debian.org -\end{verbatim} +\url{sane-devel-request@lists.alioth.debian.org} \end{quote} To subscribe, send a mail with the body ``\verb|subscribe sane-devel|'' to the above address. diff --git a/doc/saned.man b/doc/saned.man index 5f7bc20..7b0fa4a 100644 --- a/doc/saned.man +++ b/doc/saned.man @@ -226,7 +226,7 @@ compiled in, but then logging of debug information is not supported. The systemd configuration is different for the 2 options, so both are described below. .SH Systemd configuration for saned with systemd support compiled in -for the systemd configuration we need to add 2 configuation files in +for the systemd configuration we need to add 2 configuration files in .I /etc/systemd/system. .PP The first file we need to add here is called @@ -301,7 +301,7 @@ forwarded to the system log. This configuration will also work when Saned is compiled WITH systemd integration support, but it does not allow debugging information to be logged. .PP -for systemd configuration for saned, we need to add 2 configuation files in +for systemd configuration for saned, we need to add 2 configuration files in .I /etc/systemd/system. .PP The first file we need to add here is called diff --git a/frontend/Makefile.am b/frontend/Makefile.am index 23061b3..525953f 100644 --- a/frontend/Makefile.am +++ b/frontend/Makefile.am @@ -14,21 +14,21 @@ else EXTRA_PROGRAMS += saned endif -AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include +AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include -scanimage_SOURCES = scanimage.c stiff.c stiff.h +scanimage_SOURCES = scanimage.c sicc.c sicc.h stiff.c stiff.h scanimage_LDADD = ../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la \ - ../lib/libfelib.la @PNG_LIBS@ @JPEG_LIBS@ + $(PNG_LIBS) $(JPEG_LIBS) saned_SOURCES = saned.c saned_LDADD = ../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la \ - ../lib/libfelib.la @SYSLOG_LIBS@ @SYSTEMD_LIBS@ + $(SYSLOG_LIBS) $(SYSTEMD_LIBS) $(AVAHI_LIBS) test_SOURCES = test.c -test_LDADD = ../lib/liblib.la ../lib/libfelib.la ../backend/libsane.la +test_LDADD = ../lib/liblib.la ../backend/libsane.la tstbackend_SOURCES = tstbackend.c -tstbackend_LDADD = ../lib/liblib.la ../lib/libfelib.la ../backend/libsane.la +tstbackend_LDADD = ../lib/liblib.la ../backend/libsane.la clean-local: rm -f test tstbackend diff --git a/frontend/Makefile.in b/frontend/Makefile.in index 2e36e0e..9ea467f 100644 --- a/frontend/Makefile.in +++ b/frontend/Makefile.in @@ -86,11 +86,16 @@ subdir = frontend DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ltoptions.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/byteorder.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/configure.in + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -102,24 +107,25 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" PROGRAMS = $(bin_PROGRAMS) $(sbin_PROGRAMS) am_saned_OBJECTS = saned.$(OBJEXT) saned_OBJECTS = $(am_saned_OBJECTS) +am__DEPENDENCIES_1 = saned_DEPENDENCIES = ../backend/libsane.la ../sanei/libsanei.la \ - ../lib/liblib.la ../lib/libfelib.la + ../lib/liblib.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = -am_scanimage_OBJECTS = scanimage.$(OBJEXT) stiff.$(OBJEXT) +am_scanimage_OBJECTS = scanimage.$(OBJEXT) sicc.$(OBJEXT) \ + stiff.$(OBJEXT) scanimage_OBJECTS = $(am_scanimage_OBJECTS) scanimage_DEPENDENCIES = ../backend/libsane.la ../sanei/libsanei.la \ - ../lib/liblib.la ../lib/libfelib.la + ../lib/liblib.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) am_test_OBJECTS = test.$(OBJEXT) test_OBJECTS = $(am_test_OBJECTS) -test_DEPENDENCIES = ../lib/liblib.la ../lib/libfelib.la \ - ../backend/libsane.la +test_DEPENDENCIES = ../lib/liblib.la ../backend/libsane.la am_tstbackend_OBJECTS = tstbackend.$(OBJEXT) tstbackend_OBJECTS = $(am_tstbackend_OBJECTS) -tstbackend_DEPENDENCIES = ../lib/liblib.la ../lib/libfelib.la \ - ../backend/libsane.la +tstbackend_DEPENDENCIES = ../lib/liblib.la ../backend/libsane.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -186,7 +192,11 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ +AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(srcdir) -I$(top_builddir)/include \ + -I$(top_srcdir)/include AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -207,7 +217,7 @@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISTCLEAN_FILES = @DISTCLEAN_FILES@ +DLH = @DLH@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DSYMUTIL = @DSYMUTIL@ @@ -220,34 +230,42 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIG2DEV = @FIG2DEV@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GREP = @GREP@ +GS = @GS@ HAVE_GPHOTO2 = @HAVE_GPHOTO2@ IEEE1284_LIBS = @IEEE1284_LIBS@ -INCLUDES = @INCLUDES@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JPEG_LIBS = @JPEG_LIBS@ LATEX = @LATEX@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LIBUSB_1_0_CFLAGS = @LIBUSB_1_0_CFLAGS@ -LIBUSB_1_0_LIBS = @LIBUSB_1_0_LIBS@ LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ LIBV4L_LIBS = @LIBV4L_LIBS@ -LINKER_RPATH = @LINKER_RPATH@ LIPO = @LIPO@ LN_S = @LN_S@ LOCKPATH_GROUP = @LOCKPATH_GROUP@ +LTALLOCA = @LTALLOCA@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINDEX = @MAKEINDEX@ @@ -256,10 +274,10 @@ MANIFEST_TOOL = @MANIFEST_TOOL@ MATH_LIB = @MATH_LIB@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ @@ -272,10 +290,13 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_LIBS = @PNG_LIBS@ +POSUB = @POSUB@ +PPMTOGIF = @PPMTOGIF@ PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -297,12 +318,16 @@ SYSLOG_LIBS = @SYSLOG_LIBS@ SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ SYSTEMD_LIBS = @SYSTEMD_LIBS@ TIFF_LIBS = @TIFF_LIBS@ +USB_CFLAGS = @USB_CFLAGS@ USB_LIBS = @USB_LIBS@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ V_MAJOR = @V_MAJOR@ V_MINOR = @V_MINOR@ V_REV = @V_REV@ XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -358,19 +383,18 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include -scanimage_SOURCES = scanimage.c stiff.c stiff.h +scanimage_SOURCES = scanimage.c sicc.c sicc.h stiff.c stiff.h scanimage_LDADD = ../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la \ - ../lib/libfelib.la @PNG_LIBS@ @JPEG_LIBS@ + $(PNG_LIBS) $(JPEG_LIBS) saned_SOURCES = saned.c saned_LDADD = ../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la \ - ../lib/libfelib.la @SYSLOG_LIBS@ @SYSTEMD_LIBS@ + $(SYSLOG_LIBS) $(SYSTEMD_LIBS) $(AVAHI_LIBS) test_SOURCES = test.c -test_LDADD = ../lib/liblib.la ../lib/libfelib.la ../backend/libsane.la +test_LDADD = ../lib/liblib.la ../backend/libsane.la tstbackend_SOURCES = tstbackend.c -tstbackend_LDADD = ../lib/liblib.la ../lib/libfelib.la ../backend/libsane.la +tstbackend_LDADD = ../lib/liblib.la ../backend/libsane.la all: all-am .SUFFIXES: @@ -528,27 +552,31 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/saned.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanimage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sicc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stiff.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tstbackend.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< diff --git a/frontend/saned.c b/frontend/saned.c index 108512d..3bb99bb 100644 --- a/frontend/saned.c +++ b/frontend/saned.c @@ -82,6 +82,8 @@ #include #include +#include "lgetopt.h" + #if defined(HAVE_SYS_POLL_H) && defined(HAVE_POLL) # include #else @@ -196,16 +198,19 @@ static AvahiEntryGroup *avahi_group = NULL; #endif #ifdef ENABLE_IPV6 -# define SANE_IN6_IS_ADDR_LOOPBACK(a) \ +# ifndef IN6_IS_ADDR_LOOPBACK +# define IN6_IS_ADDR_LOOPBACK(a) \ (((const uint32_t *) (a))[0] == 0 \ && ((const uint32_t *) (a))[1] == 0 \ && ((const uint32_t *) (a))[2] == 0 \ && ((const uint32_t *) (a))[3] == htonl (1)) - -#define SANE_IN6_IS_ADDR_V4MAPPED(a) \ +# endif +# ifndef IN6_IS_ADDR_V4MAPPED +# define IN6_IS_ADDR_V4MAPPED(a) \ ((((const uint32_t *) (a))[0] == 0) \ && (((const uint32_t *) (a))[1] == 0) \ && (((const uint32_t *) (a))[2] == htonl (0xffff))) +# endif #endif /* ENABLE_IPV6 */ #ifndef MAXHOSTNAMELEN @@ -247,6 +252,7 @@ static int num_handles; static int debug; static int run_mode; static Handle *handle; +static char *bind_addr; static union { int w; @@ -786,7 +792,7 @@ check_host (int fd) #ifdef ENABLE_IPV6 sin6 = &remote_address.sin6; - if (SANE_IN6_IS_ADDR_V4MAPPED (sin6->sin6_addr.s6_addr)) + if (IN6_IS_ADDR_V4MAPPED ((struct in6_addr *)sin6->sin6_addr.s6_addr)) { DBG (DBG_DBG, "check_host: detected an IPv4-mapped address\n"); remote_ipv4 = remote_ip + 7; @@ -843,7 +849,7 @@ check_host (int fd) break; #ifdef ENABLE_IPV6 case AF_INET6: - if (SANE_IN6_IS_ADDR_LOOPBACK (sin6->sin6_addr.s6_addr)) + if (IN6_IS_ADDR_LOOPBACK ((struct in6_addr *)sin6->sin6_addr.s6_addr)) { DBG (DBG_MSG, "check_host: remote host is IN6_LOOPBACK: access granted\n"); @@ -1428,7 +1434,7 @@ start_scan (Wire * w, int h, SANE_Start_Reply * reply) SANE_Handle be_handle; int fd, len; in_port_t data_port; - int ret; + int ret = -1; be_handle = handle[h].handle; @@ -1986,6 +1992,38 @@ process_request (Wire * w) return 1; } + /* Addresses CVE-2017-6318 (#315576, Debian BTS #853804) */ + /* This is done here (rather than in sanei/sanei_wire.c where + * it should be done) to minimize scope of impact and amount + * of code change. + */ + if (w->direction == WIRE_DECODE + && req.value_type == SANE_TYPE_STRING + && req.action == SANE_ACTION_GET_VALUE) + { + if (req.value) + { + /* FIXME: If req.value contains embedded NUL + * characters, this is wrong but we do not have + * access to the amount of memory allocated in + * sanei/sanei_wire.c at this point. + */ + w->allocated_memory -= (1 + strlen (req.value)); + free (req.value); + } + req.value = malloc (req.value_size); + if (!req.value) + { + w->status = ENOMEM; + DBG (DBG_ERR, + "process_request: (control_option) " + "h=%d (%s)\n", req.handle, strerror (w->status)); + return 1; + } + memset (req.value, 0, req.value_size); + w->allocated_memory += req.value_size; + } + can_authorize = 1; memset (&reply, 0, sizeof (reply)); /* avoid leaking bits */ @@ -2807,13 +2845,13 @@ do_bindings (int *nfds, struct pollfd **fds) hints.ai_flags = AI_PASSIVE; hints.ai_socktype = SOCK_STREAM; - err = getaddrinfo (NULL, SANED_SERVICE_NAME, &hints, &res); + err = getaddrinfo (bind_addr, SANED_SERVICE_NAME, &hints, &res); if (err) { DBG (DBG_WARN, "do_bindings: \" %s \" service unknown on your host; you should add\n", SANED_SERVICE_NAME); DBG (DBG_WARN, "do_bindings: %s %d/tcp saned # SANE network scanner daemon\n", SANED_SERVICE_NAME, SANED_SERVICE_PORT); DBG (DBG_WARN, "do_bindings: to your /etc/services file (or equivalent). Proceeding anyway.\n"); - err = getaddrinfo (NULL, SANED_SERVICE_PORT_S, &hints, &res); + err = getaddrinfo (bind_addr, SANED_SERVICE_PORT_S, &hints, &res); if (err) { DBG (DBG_ERR, "do_bindings: getaddrinfo() failed even with numeric port: %s\n", gai_strerror (err)); @@ -2891,7 +2929,10 @@ do_bindings (int *nfds, struct pollfd **fds) memset (&sin, 0, sizeof (sin)); sin.sin_family = AF_INET; - sin.sin_addr.s_addr = INADDR_ANY; + if(bind_addr) + sin.sin_addr.s_addr = inet_addr(bind_addr); + else + sin.sin_addr.s_addr = INADDR_ANY; sin.sin_port = port; DBG (DBG_DBG, "do_bindings: socket ()\n"); @@ -2923,7 +2964,7 @@ do_bindings (int *nfds, struct pollfd **fds) static void -run_standalone (int argc, char **argv) +run_standalone (char *user) { struct pollfd *fds = NULL; struct pollfd *fdp = NULL; @@ -2944,13 +2985,13 @@ run_standalone (int argc, char **argv) if (run_mode != SANED_RUN_DEBUG) { - if (argc > 2) + if (user) { - pwent = getpwnam(argv[2]); + pwent = getpwnam(user); if (pwent == NULL) { - DBG (DBG_ERR, "FATAL ERROR: user %s not found on system\n", argv[2]); + DBG (DBG_ERR, "FATAL ERROR: user %s not found on system\n", user); bail_out (1); } @@ -2981,7 +3022,7 @@ run_standalone (int argc, char **argv) while (grp->gr_mem[i]) { - if (strcmp(grp->gr_mem[i], argv[2]) == 0) + if (strcmp(grp->gr_mem[i], user) == 0) { int need_to_add = 1, j; @@ -3172,7 +3213,7 @@ run_standalone (int argc, char **argv) static void -run_inetd (int argc, char **argv) +run_inetd (char __sane_unused__ *sock) { int fd = -1; @@ -3238,18 +3279,13 @@ run_inetd (int argc, char **argv) close (dave_null); } -#ifndef HAVE_OS2_H - /* Unused in this function */ - argc = argc; - argv = argv; - -#else +#ifdef HAVE_OS2_H /* under OS/2, the socket handle is passed as argument on the command line; the socket handle is relative to IBM TCP/IP, so a call to impsockethandle() is required to add it to the EMX runtime */ - if (argc == 2) + if (sock) { - fd = _impsockhandle (atoi (argv[1]), 0); + fd = _impsockhandle (atoi (sock), 0); if (fd == -1) perror ("impsockhandle"); } @@ -3258,11 +3294,44 @@ run_inetd (int argc, char **argv) handle_connection(fd); } +static void usage(char *me, int err) +{ + fprintf (stderr, + "Usage: %s [OPTIONS]\n\n" + " Options:\n\n" + " -a, --alone[=user] run standalone and fork in background as `user'\n" + " -d, --debug[=level] run foreground with output to stdout\n" + " and debug level `level' (default is 2)\n" + " -s, --syslog[=level] run foreground with output to syslog\n" + " and debug level `level' (default is 2)\n" + " -b, --bind=addr bind address `addr'\n" + " -h, --help show this help message and exit\n", me); + + exit(err); +} + +static int debug; + +static struct option long_options[] = +{ +/* These options set a flag. */ + {"help", no_argument, 0, 'h'}, + {"alone", optional_argument, 0, 'a'}, + {"debug", optional_argument, 0, 'd'}, + {"syslog", optional_argument, 0, 's'}, + {"bind", required_argument, 0, 'b'}, + {0, 0, 0, 0 } +}; int main (int argc, char *argv[]) { char options[64] = ""; + char *user = NULL; + char *sock = NULL; + int c; + int long_index = 0; + debug = DBG_WARN; prog_name = strrchr (argv[0], '/'); @@ -3274,34 +3343,30 @@ main (int argc, char *argv[]) numchildren = 0; run_mode = SANED_RUN_INETD; - if (argc >= 2) + while((c = getopt_long(argc, argv,"ha::d::s::b:", long_options, &long_index )) != -1) { - if (strncmp (argv[1], "-a", 2) == 0) + switch(c) { + case 'a': run_mode = SANED_RUN_ALONE; - else if (strncmp (argv[1], "-d", 2) == 0) - { - run_mode = SANED_RUN_DEBUG; - log_to_syslog = SANE_FALSE; - } - else if (strncmp (argv[1], "-s", 2) == 0) + user = optarg; + break; + case 'd': + log_to_syslog = SANE_FALSE; + case 's': run_mode = SANED_RUN_DEBUG; - else - { - printf ("Usage: saned [ -a [ username ] | -d [ n ] | -s [ n ] ] | -h\n"); - if ((strncmp (argv[1], "-h", 2) == 0) || - (strncmp (argv[1], "--help", 6) == 0)) - exit (EXIT_SUCCESS); - else - exit (EXIT_FAILURE); - } - } - - if (run_mode == SANED_RUN_DEBUG) - { - if (argv[1][2]) - debug = atoi (argv[1] + 2); - - DBG (DBG_WARN, "main: starting debug mode (level %d)\n", debug); + if(optarg) + debug = atoi(optarg); + break; + case 'b': + bind_addr = optarg; + break; + case 'h': + usage(argv[0], EXIT_SUCCESS); + break; + default: + usage(argv[0], EXIT_FAILURE); + break; + } } if (log_to_syslog) @@ -3342,11 +3407,15 @@ main (int argc, char *argv[]) if ((run_mode == SANED_RUN_ALONE) || (run_mode == SANED_RUN_DEBUG)) { - run_standalone(argc, argv); + run_standalone(user); } else { - run_inetd(argc, argv); +#ifdef HAVE_OS2_H + if (argc == 2) + sock = argv[1]; +#endif + run_inetd(sock); } DBG (DBG_WARN, "saned exiting\n"); diff --git a/frontend/scanimage.c b/frontend/scanimage.c index 7f7c1f0..fe02750 100644 --- a/frontend/scanimage.c +++ b/frontend/scanimage.c @@ -56,6 +56,7 @@ #include "../include/sane/sanei.h" #include "../include/sane/saneopts.h" +#include "sicc.h" #include "stiff.h" #include "../include/md5.h" @@ -322,7 +323,7 @@ auth_callback (SANE_String_Const resource, } } -static RETSIGTYPE +static void sighandler (int signum) { static SANE_Bool first_time = SANE_TRUE; @@ -1165,9 +1166,14 @@ write_pnm_header (SANE_Frame format, int width, int height, int depth, FILE *ofp #ifdef HAVE_LIBPNG static void -write_png_header (SANE_Frame format, int width, int height, int depth, FILE *ofp, png_structp* png_ptr, png_infop* info_ptr) +write_png_header (SANE_Frame format, int width, int height, int depth, int dpi, const char * icc_profile, FILE *ofp, png_structp* png_ptr, png_infop* info_ptr) { int color_type; + /* PNG does not have imperial reference units, so we must convert to metric. */ + /* There are nominally 39.3700787401575 inches in a meter. */ + const double pixels_per_meter = dpi * 39.3700787401575; + size_t icc_size = 0; + void *icc_buffer; *png_ptr = png_create_write_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); @@ -1200,13 +1206,47 @@ write_png_header (SANE_Frame format, int width, int height, int depth, FILE *ofp depth, color_type, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); + png_set_pHYs(*png_ptr, *info_ptr, + pixels_per_meter, pixels_per_meter, + PNG_RESOLUTION_METER); + + if (icc_profile) + { + icc_buffer = sanei_load_icc_profile(icc_profile, &icc_size); + if (icc_size > 0) + { + /* libpng will abort if the profile and image colour spaces do not match*/ + /* The data colour space field is at bytes 16 to 20 in an ICC profile */ + /* see: ICC.1:2010 § 7.2.6 */ + int is_gray_profile = strncmp((char *) icc_buffer + 16, "GRAY", 4) == 0; + int is_rgb_profile = strncmp((char *) icc_buffer + 16, "RGB ", 4) == 0; + if ((is_gray_profile && color_type == PNG_COLOR_TYPE_GRAY) || + (is_rgb_profile && color_type == PNG_COLOR_TYPE_RGB)) + { + png_set_iCCP(*png_ptr, *info_ptr, basename(icc_profile), PNG_COMPRESSION_TYPE_BASE, icc_buffer, icc_size); + } + else + { + if (is_gray_profile) + { + fprintf(stderr, "Ignoring 'GRAY' space ICC profile because the image is RGB.\n"); + } + if (is_rgb_profile) + { + fprintf(stderr, "Ignoring 'RGB ' space ICC profile because the image is Grayscale.\n"); + } + } + free(icc_buffer); + } + } + png_write_info(*png_ptr, *info_ptr); } #endif #ifdef HAVE_LIBJPEG static void -write_jpeg_header (SANE_Frame format, int width, int height, FILE *ofp, struct jpeg_compress_struct *cinfo, struct jpeg_error_mgr *jerr) +write_jpeg_header (SANE_Frame format, int width, int height, int dpi, FILE *ofp, struct jpeg_compress_struct *cinfo, struct jpeg_error_mgr *jerr) { cinfo->err = jpeg_std_error(jerr); jpeg_create_compress(cinfo); @@ -1231,6 +1271,11 @@ write_jpeg_header (SANE_Frame format, int width, int height, FILE *ofp, struct j } jpeg_set_defaults(cinfo); + /* jpeg_set_defaults overrides density, be careful. */ + cinfo->density_unit = 1; /* Inches */ + cinfo->X_density = cinfo->Y_density = dpi; + cinfo->write_JFIF_header = TRUE; + jpeg_set_quality(cinfo, 75, TRUE); jpeg_start_compress(cinfo, TRUE); } @@ -1379,13 +1424,15 @@ scan_it (FILE *ofp) #ifdef HAVE_LIBPNG case OUTPUT_PNG: write_png_header (parm.format, parm.pixels_per_line, - parm.lines, parm.depth, ofp, &png_ptr, &info_ptr); + parm.lines, parm.depth, resolution_value, + icc_profile, ofp, &png_ptr, &info_ptr); break; #endif #ifdef HAVE_LIBJPEG case OUTPUT_JPEG: write_jpeg_header (parm.format, parm.pixels_per_line, - parm.lines, ofp, &cinfo, &jerr); + parm.lines, resolution_value, + ofp, &cinfo, &jerr); break; #endif } @@ -1529,6 +1576,21 @@ scan_it (FILE *ofp) for(j = 0; j < parm.bytes_per_line; j++) pngbuf[j] = ~pngbuf[j]; } +#ifndef WORDS_BIGENDIAN + /* SANE is endian-native, PNG is big-endian, */ + /* see: https://www.w3.org/TR/2003/REC-PNG-20031110/#7Integers-and-byte-order */ + if (parm.depth == 16) + { + int j; + for (j = 0; j < parm.bytes_per_line; j += 2) + { + SANE_Byte LSB; + LSB = pngbuf[j]; + pngbuf[j] = pngbuf[j + 1]; + pngbuf[j + 1] = LSB; + } + } +#endif png_write_row(png_ptr, pngbuf); i += parm.bytes_per_line - pngrow; left -= parm.bytes_per_line - pngrow; @@ -1635,13 +1697,15 @@ scan_it (FILE *ofp) #ifdef HAVE_LIBPNG case OUTPUT_PNG: write_png_header (parm.format, parm.pixels_per_line, - image.height, parm.depth, ofp, &png_ptr, &info_ptr); + image.height, parm.depth, resolution_value, + icc_profile, ofp, &png_ptr, &info_ptr); break; #endif #ifdef HAVE_LIBJPEG case OUTPUT_JPEG: write_jpeg_header (parm.format, parm.pixels_per_line, - parm.lines, ofp, &cinfo, &jerr); + parm.lines, resolution_value, + ofp, &cinfo, &jerr); break; #endif } @@ -2474,9 +2538,16 @@ List of available devices:", prog_name); ofp = stdout; if (batch) - fprintf (stderr, - "Scanning %d pages, incrementing by %d, numbering from %d\n", - batch_count, batch_increment, batch_start_at); + { + fputs("Scanning ", stderr); + if (batch_count == BATCH_COUNT_UNLIMITED) + fputs("infinity", stderr); + else + fprintf(stderr, "%d", batch_count); + fprintf (stderr, + " page%s, incrementing by %d, numbering from %d\n", + batch_count == 1 ? "" : "s", batch_increment, batch_start_at); + } else if(isatty(fileno(ofp))){ fprintf (stderr,"%s: output is not a file, exiting\n", prog_name); @@ -2509,8 +2580,6 @@ List of available devices:", prog_name); if (readbuf2 == NULL) { - fprintf (stderr, "Batch terminated, %d pages scanned\n", - (n - batch_increment)); if (ofp) { fclose (ofp); @@ -2612,6 +2681,13 @@ List of available devices:", prog_name); && (batch_count == BATCH_COUNT_UNLIMITED || --batch_count)) && SANE_STATUS_GOOD == status); + if (batch) + { + int num_pgs = (n - batch_start_at) / batch_increment; + fprintf (stderr, "Batch terminated, %d page%s scanned\n", + num_pgs, num_pgs == 1 ? "" : "s"); + } + if (batch && SANE_STATUS_NO_DOCS == status && (batch_count == BATCH_COUNT_UNLIMITED) diff --git a/frontend/sicc.c b/frontend/sicc.c new file mode 100644 index 0000000..c93e5c3 --- /dev/null +++ b/frontend/sicc.c @@ -0,0 +1,67 @@ +/* Load an ICC profile for embedding in an output file + Copyright (C) 2017 Aaron Muir Hamilton + + 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, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#include "../include/sane/config.h" + +#include +#include +#include + +void * +sanei_load_icc_profile (const char *path, size_t *size) +{ + FILE *fd = NULL; + size_t stated_size = 0; + void *profile = NULL; + struct stat s; + + fd = fopen(path, "r"); + + if (!fd) + { + fprintf(stderr, "Could not open ICC profile %s\n", path); + } + else + { + fstat(fileno(fd), &s); + stated_size = 16777216 * fgetc(fd) + 65536 * fgetc(fd) + 256 * fgetc(fd) + fgetc(fd); + rewind(fd); + + if (stated_size > (size_t) s.st_size) + { + fprintf(stderr, "Ignoring ICC profile because file %s is shorter than the profile\n", path); + } + else + { + profile = malloc(stated_size); + + if (fread(profile, stated_size, 1, fd) != 1) + { + fprintf(stderr, "Error reading ICC profile %s\n", path); + free(profile); + } + else + { + fclose(fd); + *size = stated_size; + return profile; + } + } + fclose(fd); + } + return NULL; +} diff --git a/frontend/sicc.h b/frontend/sicc.h new file mode 100644 index 0000000..5c225da --- /dev/null +++ b/frontend/sicc.h @@ -0,0 +1,19 @@ +/* Load an ICC profile for embedding in an output file + Copyright (C) 2017 Aaron Muir Hamilton + + 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, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +void * +sanei_load_icc_profile (const char *path, size_t *size); diff --git a/frontend/stiff.c b/frontend/stiff.c index 01d845b..c9153e5 100644 --- a/frontend/stiff.c +++ b/frontend/stiff.c @@ -1,6 +1,7 @@ /* Create SANE/tiff headers TIFF interfacing routines for SANE Copyright (C) 2000 Peter Kirchgessner Copyright (C) 2002 Oliver Rauch: added tiff ICC profile + Copyright (C) 2017 Aaron Muir Hamilton This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -20,6 +21,7 @@ 2000-11-19, PK: Color TIFF-header: write 3 values for bits per sample 2001-12-16, PK: Write fill order tag for b/w-images 2002-08-27, OR: Added tiff tag for ICC profile + 2017-04-16, AMH: Separate ICC profile loading into a separate file */ #ifdef _AIX # include "../include/lalloca.h" /* MUST come first for AIX! */ @@ -31,6 +33,7 @@ #include "../include/sane/config.h" #include "../include/sane/sane.h" +#include "sicc.h" #include "stiff.h" typedef struct { @@ -269,22 +272,12 @@ write_tiff_grey_header (FILE *fptr, int width, int height, int depth, int strip_bytecount; int ntags; int motorola, bps, maxsamplevalue; - FILE *icc_file = 0; - int icc_len = -1; + void *icc_buffer = NULL; + size_t icc_size = 0; if (icc_profile) { - icc_file = fopen(icc_profile, "r"); - - if (!icc_file) - { - fprintf(stderr, "Could not open ICC profile %s\n", icc_profile); - } - else - { - icc_len = 16777216 * fgetc(icc_file) + 65536 * fgetc(icc_file) + 256 * fgetc(icc_file) + fgetc(icc_file); - rewind(icc_file); - } + icc_buffer = sanei_load_icc_profile(icc_profile, &icc_size); } ifd = create_ifd (); @@ -302,10 +295,10 @@ write_tiff_grey_header (FILE *fptr, int width, int height, int depth, data_size += 2*4 + 2*4; } - if (icc_len > 0) /* if icc profile exists add memory for tag */ + if (icc_size > 0) /* if icc profile exists add memory for tag */ { ntags += 1; - data_size += icc_len; + data_size += icc_size; } ifd_size = 2 + ntags*12 + 4; @@ -355,10 +348,10 @@ write_tiff_grey_header (FILE *fptr, int width, int height, int depth, add_ifd_entry (ifd, 296, IFDE_TYP_SHORT, 1, 2); } - if (icc_len > 0) /* add ICC-profile TAG */ + if (icc_size > 0) /* add ICC-profile TAG */ { - add_ifd_entry(ifd, 34675, 7, icc_len, data_offset); - data_offset += icc_len; + add_ifd_entry(ifd, 34675, 7, (int) icc_size, data_offset); + data_offset += icc_size; } /* I prefer motorola format. Its human readable. But for 16 bit, */ @@ -383,33 +376,16 @@ write_tiff_grey_header (FILE *fptr, int width, int height, int depth, write_i4 (fptr, 1, motorola); } - /* Write ICC profile */ - if (icc_len > 0) + if (icc_size > 0) { - int i; - for (i=0; i 0) /* if icc profile exists add memory for tag */ + if (icc_size > 0) /* if icc profile exists add memory for tag */ { ntags += 1; - data_size += icc_len; + data_size += icc_size; } @@ -513,10 +479,10 @@ write_tiff_color_header (FILE *fptr, int width, int height, int depth, add_ifd_entry (ifd, 296, IFDE_TYP_SHORT, 1, 2); } - if (icc_len > 0) /* add ICC-profile TAG */ + if (icc_size > 0) /* add ICC-profile TAG */ { - add_ifd_entry(ifd, 34675, 7, icc_len, data_offset); - data_offset += icc_len; + add_ifd_entry(ifd, 34675, 7, (int) icc_size, data_offset); + data_offset += icc_size; } @@ -558,27 +524,12 @@ write_tiff_color_header (FILE *fptr, int width, int height, int depth, } /* Write ICC profile */ - if (icc_len > 0) + if (icc_size > 0) { - int i; - for (i=0; i header file. */ -#undef HAVE_BE_DRIVERS_USB_SCANNER_H - /* Define to 1 if you have the header file. */ #undef HAVE_BE_KERNEL_OS_H @@ -58,9 +59,21 @@ /* Define to 1 if you have the header file. */ #undef HAVE_CAMLIB_H +/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +#undef HAVE_CFLOCALECOPYCURRENT + /* Define to 1 if you have the `cfmakeraw' function. */ #undef HAVE_CFMAKERAW +/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +#undef HAVE_CFPREFERENCESCOPYAPPVALUE + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +#undef HAVE_DCGETTEXT + /* Define to 1 if you have the header file. */ #undef HAVE_DDK_NTDDSCSI_H @@ -103,6 +116,9 @@ /* Define to 1 if you have the `getpass' function. */ #undef HAVE_GETPASS +/* Define if the GNU gettext() function is already present or preinstalled. */ +#undef HAVE_GETTEXT + /* Define to 1 if you have the `getuid' function. */ #undef HAVE_GETUID @@ -112,9 +128,15 @@ /* Define to 1 if you have the `gp_port_info_get_path' function. */ #undef HAVE_GP_PORT_INFO_GET_PATH +/* Define to 1 if you have the header file. */ +#undef HAVE_GSCDDS_H + /* Define to 1 if you have the `i386_set_ioperm' function. */ #undef HAVE_I386_SET_IOPERM +/* Define if you have the iconv() function and it works. */ +#undef HAVE_ICONV + /* Define to 1 if you have the header file. */ #undef HAVE_IFADDRS_H @@ -177,11 +199,11 @@ /* Define to 1 if you have the net-snmp library. */ #undef HAVE_LIBSNMP -/* Define to 1 if you have libusb. */ +/* Define to 1 if you have libusb-1.0 */ #undef HAVE_LIBUSB -/* Define to 1 if you have libusb-1.0. */ -#undef HAVE_LIBUSB_1_0 +/* Define to 1 if you have libusb-0.1 */ +#undef HAVE_LIBUSB_LEGACY /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H @@ -252,9 +274,6 @@ /* define if you have the resmgr library */ #undef HAVE_RESMGR -/* Define to 1 if you have the header file. */ -#undef HAVE_SCDDS_H - /* Define to 1 if you have the `scsireq_enter' function. */ #undef HAVE_SCSIREQ_ENTER @@ -333,9 +352,6 @@ /* Is /usr/include/systemd/sd-daemon.h available? */ #undef HAVE_SYSTEMD -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_BITYPES_H - /* Define to 1 if you have the header file. */ #undef HAVE_SYS_DSREQ_H @@ -454,7 +470,7 @@ */ #undef LT_OBJDIR -/* Define to the name of the distribution. */ +/* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ @@ -475,9 +491,6 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION -/* Define as the return type of signal handlers (`int' or `void'). */ -#undef RETSIGTYPE - /* SANE DLL revision number */ #undef SANE_DLL_V_BUILD @@ -544,7 +557,7 @@ #endif -/* Define to the version of the distribution. */ +/* Version number of package */ #undef VERSION /* define if Avahi support is enabled for saned and the net backend */ @@ -593,7 +606,7 @@ /* Define socklen_t as \'int\' if necessary. */ #undef socklen_t -/* Define to `long' if does not define. */ +/* Define to `int' if does not define. */ #undef ssize_t /* Define for OS/2 only */ diff --git a/include/sane/sanei.h b/include/sane/sanei.h index ece1beb..9458f34 100644 --- a/include/sane/sanei.h +++ b/include/sane/sanei.h @@ -92,6 +92,9 @@ /** @name Public macros and functions * @{ */ +/** @def __sane_unused__ + * Mark parameters as potentially unused. + */ /** @def STRINGIFY(x) * Turn parameter into string. */ @@ -137,6 +140,14 @@ /* @} */ /* A few convenience macros: */ + +/** @hideinitializer */ +#ifdef __GNUC__ +#define __sane_unused__ __attribute__((unused)) +#else +#define __sane_unused__ +#endif + /** @hideinitializer */ #define NELEMS(a) ((int)(sizeof (a) / sizeof (a[0]))) diff --git a/include/sane/sanei_backend.h b/include/sane/sanei_backend.h index 1b5afe2..8273e88 100644 --- a/include/sane/sanei_backend.h +++ b/include/sane/sanei_backend.h @@ -9,25 +9,21 @@ */ -/* - * Compiler related options - */ - -/** Mark unused variables/parameters - * - * Tells the compiler a variable is unused, so the compiler doesn't spit a warning. - */ -#ifdef __GNUC__ -#define __sane_unused__ __attribute__((unused)) -#else -#define __sane_unused__ -#endif - /** @name Compatibility macros * @{ */ #include +#if __STDC_VERSION__ >= 199901L +/* __func__ is provided */ +#elif __GNUC__ >= 5 +/* __func__ is provided */ +#elif __GNUC__ >= 2 +# define __func__ __FUNCTION__ +#else +# define __func__ "(unknown)" +#endif + #ifdef HAVE_SYS_HW_H /* OS/2 i/o-port access compatibility macros: */ # define inb(p) _inp8 (p) diff --git a/include/sane/sanei_thread.h b/include/sane/sanei_thread.h index f152c93..fa72481 100644 --- a/include/sane/sanei_thread.h +++ b/include/sane/sanei_thread.h @@ -61,6 +61,7 @@ #include "../include/sane/config.h" #ifdef USE_PTHREAD +#include typedef pthread_t SANE_Pid; #else typedef int SANE_Pid; @@ -88,10 +89,10 @@ extern SANE_Bool sanei_thread_is_forked (void); * regardless of SANE_Pid's data type. * * @return - * - SANE_TRUE - if pid is not a valid process - * - SANE_FALSE - if pid is a valid process + * - SANE_TRUE - if pid is a valid process + * - SANE_FALSE - if pid is not a valid process */ -extern SANE_Bool sanei_thread_is_invalid (SANE_Pid pid); +extern SANE_Bool sanei_thread_is_valid (SANE_Pid pid); /** Spawn a new task. * diff --git a/include/sane/sanei_udp.h b/include/sane/sanei_udp.h index c44afdd..e32fc1a 100644 --- a/include/sane/sanei_udp.h +++ b/include/sane/sanei_udp.h @@ -27,6 +27,9 @@ #include #include #endif +#ifdef HAVE_SYS_TYPES_H +#include +#endif extern SANE_Status sanei_udp_open(const char *host, int port, int *fdp); extern SANE_Status sanei_udp_open_broadcast(int *fdp); diff --git a/install-sh b/install-sh index 377bb86..756420d 100755 --- a/install-sh +++ b/install-sh @@ -345,34 +345,41 @@ do # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) + # $RANDOM is not portable (e.g. dash); use it when possible to + # lower collision chance tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + # As "mkdir -p" follows symlinks and we work in /tmp possibly; so + # create the $tmpdir first (and fail if unsuccessful) to make sure + # that nobody tries to guess the $tmpdir name. if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi - rmdir "$tmpdir/d" "$tmpdir" + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null fi trap '' 0;; esac;; diff --git a/japi/Makefile.am b/japi/Makefile.am index 5d66e82..cc7ac4a 100644 --- a/japi/Makefile.am +++ b/japi/Makefile.am @@ -8,19 +8,15 @@ # Makefile for a Java project with native methods. # -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ - JAVAROOT=. -CLASSPATH_ENV=. -JAVAH=javah -jni -cp $(CLASSPATH_ENV) +MY_CLASSPATH=. +JAVAH=javah -jni -cp $(MY_CLASSPATH) # We'll need something in 'configure' for the Java includes. -AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include \ +AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include \ -I$(top_srcdir)/include -I${JDK_HOME}/include \ -I${JDK_HOME}/include/genunix -AM_LDFLAGS = @STRICT_LDFLAGS@ -version-number $(V_MAJOR):$(V_MINOR):$(VREV) +AM_LDFLAGS += $(STRICT_LDFLAGS) -version-number $(V_MAJOR):$(V_MINOR):$(V_REV) JAVA_SRC = SaneDevice.java SaneOption.java SaneRange.java\ Sane.java SaneParameters.java ScanIt.java \ @@ -31,7 +27,7 @@ dist_noinst_JAVA = $(JAVA_SRC) LIBSANE = ../backend/libsane.la -EXTRA_DIST = Makefile.in README.JAVA +EXTRA_DIST = README.JAVA lib_LTLIBRARIES = libsanej.la diff --git a/japi/Makefile.in b/japi/Makefile.in index fa5e6cb..4a42758 100644 --- a/japi/Makefile.in +++ b/japi/Makefile.in @@ -87,11 +87,16 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp \ $(dist_noinst_JAVA) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ltoptions.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/byteorder.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/configure.in + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -178,6 +183,7 @@ am__can_run_installinfo = \ *) (install-info --version) >/dev/null 2>&1;; \ esac JAVAC = javac +CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT)$${CLASSPATH:+":$$CLASSPATH"} am__java_sources = $(dist_noinst_JAVA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, @@ -202,7 +208,15 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ + +# We'll need something in 'configure' for the Java includes. +AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(srcdir) -I$(top_builddir)/include \ + -I$(top_srcdir)/include -I${JDK_HOME}/include \ + -I${JDK_HOME}/include/genunix AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ $(STRICT_LDFLAGS) -version-number \ + $(V_MAJOR):$(V_MINOR):$(V_REV) AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -223,7 +237,7 @@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISTCLEAN_FILES = @DISTCLEAN_FILES@ +DLH = @DLH@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DSYMUTIL = @DSYMUTIL@ @@ -236,34 +250,42 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIG2DEV = @FIG2DEV@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GREP = @GREP@ +GS = @GS@ HAVE_GPHOTO2 = @HAVE_GPHOTO2@ IEEE1284_LIBS = @IEEE1284_LIBS@ -INCLUDES = @INCLUDES@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JPEG_LIBS = @JPEG_LIBS@ LATEX = @LATEX@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LIBUSB_1_0_CFLAGS = @LIBUSB_1_0_CFLAGS@ -LIBUSB_1_0_LIBS = @LIBUSB_1_0_LIBS@ LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ LIBV4L_LIBS = @LIBV4L_LIBS@ -LINKER_RPATH = @LINKER_RPATH@ LIPO = @LIPO@ LN_S = @LN_S@ LOCKPATH_GROUP = @LOCKPATH_GROUP@ +LTALLOCA = @LTALLOCA@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINDEX = @MAKEINDEX@ @@ -272,10 +294,10 @@ MANIFEST_TOOL = @MANIFEST_TOOL@ MATH_LIB = @MATH_LIB@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ @@ -288,10 +310,13 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_LIBS = @PNG_LIBS@ +POSUB = @POSUB@ +PPMTOGIF = @PPMTOGIF@ PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -313,12 +338,16 @@ SYSLOG_LIBS = @SYSLOG_LIBS@ SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ SYSTEMD_LIBS = @SYSTEMD_LIBS@ TIFF_LIBS = @TIFF_LIBS@ +USB_CFLAGS = @USB_CFLAGS@ USB_LIBS = @USB_LIBS@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ V_MAJOR = @V_MAJOR@ V_MINOR = @V_MINOR@ V_REV = @V_REV@ XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -375,15 +404,8 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ JAVAROOT = . -CLASSPATH_ENV = . -JAVAH = javah -jni -cp $(CLASSPATH_ENV) - -# We'll need something in 'configure' for the Java includes. -AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include \ - -I$(top_srcdir)/include -I${JDK_HOME}/include \ - -I${JDK_HOME}/include/genunix - -AM_LDFLAGS = @STRICT_LDFLAGS@ -version-number $(V_MAJOR):$(V_MINOR):$(VREV) +MY_CLASSPATH = . +JAVAH = javah -jni -cp $(MY_CLASSPATH) JAVA_SRC = SaneDevice.java SaneOption.java SaneRange.java\ Sane.java SaneParameters.java ScanIt.java \ ImageCanvas.java ImageCanvasClient.java \ @@ -391,7 +413,7 @@ JAVA_SRC = SaneDevice.java SaneOption.java SaneRange.java\ dist_noinst_JAVA = $(JAVA_SRC) LIBSANE = ../backend/libsane.la -EXTRA_DIST = Makefile.in README.JAVA +EXTRA_DIST = README.JAVA lib_LTLIBRARIES = libsanej.la BUILT_SOURCES = Sane.h CLEANFILES = Sane.h @@ -481,22 +503,25 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Sane.Plo@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< diff --git a/lib/Makefile.am b/lib/Makefile.am index d6e2135..8fc2da8 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -3,12 +3,10 @@ ## ## This file is part of the "Sane" build infra-structure. See ## included LICENSE file for license information. -AM_CPPFLAGS = -I. -I$(top_builddir)/include -I$(top_srcdir)/include +AM_CPPFLAGS += -I. -I$(top_builddir)/include -I$(top_srcdir)/include -noinst_LTLIBRARIES = liblib.la libfelib.la +noinst_LTLIBRARIES = liblib.la -libfelib_la_SOURCES = getopt.c getopt1.c md5.c syslog.c vsyslog.c - -liblib_la_SOURCES = alloca.c getenv.c inet_ntop.c inet_pton.c \ - isfdtype.c sigprocmask.c sleep.c snprintf.c strcasestr.c \ - strdup.c strndup.c strsep.c usleep.c +liblib_la_SOURCES = md5.c +liblib_la_CPPFLAGS = -I$(top_srcdir)/include +liblib_la_LIBADD = $(LTALLOCA) $(LTLIBOBJS) diff --git a/lib/Makefile.in b/lib/Makefile.in index b0fea29..4246975 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -80,13 +80,21 @@ build_triplet = @build@ host_triplet = @host@ subdir = lib DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp + $(top_srcdir)/mkinstalldirs alloca.c getenv.c isfdtype.c \ + getopt1.c sleep.c strdup.c strsep.c syslog.c usleep.c getopt.c \ + inet_pton.c sigprocmask.c inet_ntop.c vsyslog.c strcasestr.c \ + snprintf.c strndup.c $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ltoptions.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/byteorder.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/configure.in + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -94,19 +102,13 @@ CONFIG_HEADER = $(top_builddir)/include/sane/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) -libfelib_la_LIBADD = -am_libfelib_la_OBJECTS = getopt.lo getopt1.lo md5.lo syslog.lo \ - vsyslog.lo -libfelib_la_OBJECTS = $(am_libfelib_la_OBJECTS) +liblib_la_DEPENDENCIES = $(LTALLOCA) $(LTLIBOBJS) +am_liblib_la_OBJECTS = liblib_la-md5.lo +liblib_la_OBJECTS = $(am_liblib_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = -liblib_la_LIBADD = -am_liblib_la_OBJECTS = alloca.lo getenv.lo inet_ntop.lo inet_pton.lo \ - isfdtype.lo sigprocmask.lo sleep.lo snprintf.lo strcasestr.lo \ - strdup.lo strndup.lo strsep.lo usleep.lo -liblib_la_OBJECTS = $(am_liblib_la_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -141,8 +143,8 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = $(libfelib_la_SOURCES) $(liblib_la_SOURCES) -DIST_SOURCES = $(libfelib_la_SOURCES) $(liblib_la_SOURCES) +SOURCES = $(liblib_la_SOURCES) +DIST_SOURCES = $(liblib_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -171,7 +173,11 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ +AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(top_builddir)/include \ + -I$(top_srcdir)/include AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -192,7 +198,7 @@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISTCLEAN_FILES = @DISTCLEAN_FILES@ +DLH = @DLH@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DSYMUTIL = @DSYMUTIL@ @@ -205,34 +211,42 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIG2DEV = @FIG2DEV@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GREP = @GREP@ +GS = @GS@ HAVE_GPHOTO2 = @HAVE_GPHOTO2@ IEEE1284_LIBS = @IEEE1284_LIBS@ -INCLUDES = @INCLUDES@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JPEG_LIBS = @JPEG_LIBS@ LATEX = @LATEX@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LIBUSB_1_0_CFLAGS = @LIBUSB_1_0_CFLAGS@ -LIBUSB_1_0_LIBS = @LIBUSB_1_0_LIBS@ LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ LIBV4L_LIBS = @LIBV4L_LIBS@ -LINKER_RPATH = @LINKER_RPATH@ LIPO = @LIPO@ LN_S = @LN_S@ LOCKPATH_GROUP = @LOCKPATH_GROUP@ +LTALLOCA = @LTALLOCA@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINDEX = @MAKEINDEX@ @@ -241,10 +255,10 @@ MANIFEST_TOOL = @MANIFEST_TOOL@ MATH_LIB = @MATH_LIB@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ @@ -257,10 +271,13 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_LIBS = @PNG_LIBS@ +POSUB = @POSUB@ +PPMTOGIF = @PPMTOGIF@ PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -282,12 +299,16 @@ SYSLOG_LIBS = @SYSLOG_LIBS@ SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ SYSTEMD_LIBS = @SYSTEMD_LIBS@ TIFF_LIBS = @TIFF_LIBS@ +USB_CFLAGS = @USB_CFLAGS@ USB_LIBS = @USB_LIBS@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ V_MAJOR = @V_MAJOR@ V_MINOR = @V_MINOR@ V_REV = @V_REV@ XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -343,13 +364,10 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AM_CPPFLAGS = -I. -I$(top_builddir)/include -I$(top_srcdir)/include -noinst_LTLIBRARIES = liblib.la libfelib.la -libfelib_la_SOURCES = getopt.c getopt1.c md5.c syslog.c vsyslog.c -liblib_la_SOURCES = alloca.c getenv.c inet_ntop.c inet_pton.c \ - isfdtype.c sigprocmask.c sleep.c snprintf.c strcasestr.c \ - strdup.c strndup.c strsep.c usleep.c - +noinst_LTLIBRARIES = liblib.la +liblib_la_SOURCES = md5.c +liblib_la_CPPFLAGS = -I$(top_srcdir)/include +liblib_la_LIBADD = $(LTALLOCA) $(LTLIBOBJS) all: all-am .SUFFIXES: @@ -396,9 +414,6 @@ clean-noinstLTLIBRARIES: rm -f $${locs}; \ } -libfelib.la: $(libfelib_la_OBJECTS) $(libfelib_la_DEPENDENCIES) $(EXTRA_libfelib_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libfelib_la_OBJECTS) $(libfelib_la_LIBADD) $(LIBS) - liblib.la: $(liblib_la_OBJECTS) $(liblib_la_DEPENDENCIES) $(EXTRA_liblib_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(liblib_la_OBJECTS) $(liblib_la_LIBADD) $(LIBS) @@ -408,46 +423,56 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getenv.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_ntop.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_pton.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isfdtype.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigprocmask.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcasestr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strndup.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strsep.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usleep.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vsyslog.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getenv.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt1.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/inet_ntop.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/inet_pton.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/isfdtype.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sigprocmask.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sleep.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snprintf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strcasestr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strdup.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strndup.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strsep.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/syslog.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/usleep.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/vsyslog.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblib_la-md5.Plo@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< +liblib_la-md5.lo: md5.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblib_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblib_la-md5.lo -MD -MP -MF $(DEPDIR)/liblib_la-md5.Tpo -c -o liblib_la-md5.lo `test -f 'md5.c' || echo '$(srcdir)/'`md5.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblib_la-md5.Tpo $(DEPDIR)/liblib_la-md5.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='md5.c' object='liblib_la-md5.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblib_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblib_la-md5.lo `test -f 'md5.c' || echo '$(srcdir)/'`md5.c + mostlyclean-libtool: -rm -f *.lo @@ -576,7 +601,7 @@ clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -622,7 +647,7 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic diff --git a/lib/md5.c b/lib/md5.c index fd53191..72b36f3 100644 --- a/lib/md5.c +++ b/lib/md5.c @@ -133,8 +133,8 @@ md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) memcpy (&ctx->buffer[bytes], fillbuf, pad); /* Put the 64-bit file length in *bits* at the end of the buffer. */ - *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] << 3); - *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) | + ((md5_uint32 *) ctx->buffer)[bytes + pad] = SWAP (ctx->total[0] << 3); + ((md5_uint32 *) ctx->buffer)[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); /* Process last bytes. */ diff --git a/lib/strcasestr.c b/lib/strcasestr.c old mode 100755 new mode 100644 diff --git a/ltmain.sh b/ltmain.sh index 99ee917..dd687a9 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -73,7 +73,7 @@ # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.4.2 +# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.11 # automake: $automake_version # autoconf: $autoconf_version # @@ -83,7 +83,7 @@ PROGRAM=libtool PACKAGE=libtool -VERSION=2.4.2 +VERSION="2.4.2 Debian-2.4.2-1.11" TIMESTAMP="" package_revision=1.3337 @@ -6127,7 +6127,10 @@ func_mode_link () case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then @@ -6447,19 +6450,19 @@ func_mode_link () # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps ; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done continue fi # $pass = conv @@ -7352,6 +7355,9 @@ func_mode_link () revision="$number_minor" lt_irix_increment=no ;; + *) + func_fatal_configuration "$modename: unknown library version type \`$version_type'" + ;; esac ;; no) diff --git a/m4/gettext.m4 b/m4/gettext.m4 new file mode 100644 index 0000000..f84e6a5 --- /dev/null +++ b/m4/gettext.m4 @@ -0,0 +1,383 @@ +# gettext.m4 serial 63 (gettext-0.18) +dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2006, 2008-2010. + +dnl Macro to add for using GNU gettext. + +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). +dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The +dnl default (if it is not specified or empty) is 'no-libtool'. +dnl INTLSYMBOL should be 'external' for packages with no intl directory, +dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl If INTLSYMBOL is 'use-libtool', then a libtool library +dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, +dnl depending on --{enable,disable}-{shared,static} and on the presence of +dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library +dnl $(top_builddir)/intl/libintl.a will be created. +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext +dnl implementations (in libc or libintl) without the ngettext() function +dnl will be ignored. If NEEDSYMBOL is specified and is +dnl 'need-formatstring-macros', then GNU gettext implementations that don't +dnl support the ISO C 99 formatstring macros will be ignored. +dnl INTLDIR is used to find the intl libraries. If empty, +dnl the value `$(top_builddir)/intl/' is used. +dnl +dnl The result of the configuration is one of three cases: +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled +dnl and used. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 2) GNU gettext has been found in the system's C library. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 3) No internationalization, always use English msgid. +dnl Catalog format: none +dnl Catalog extension: none +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. +dnl The use of .gmo is historical (it was needed to avoid overwriting the +dnl GNU format catalogs when building on a platform with an X/Open gettext), +dnl but we keep it in order not to force irrelevant filename changes on the +dnl maintainers. +dnl +AC_DEFUN([AM_GNU_GETTEXT], +[ + dnl Argument checking. + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT +])])])])]) + ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], + [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT +])])])]) + define([gt_included_intl], + ifelse([$1], [external], + ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), + [yes])) + define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) + gt_NEEDS_INIT + AM_GNU_GETTEXT_NEED([$2]) + + AC_REQUIRE([AM_PO_SUBDIRS])dnl + ifelse(gt_included_intl, yes, [ + AC_REQUIRE([AM_INTL_SUBDIR])dnl + ]) + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Sometimes libintl requires libiconv, so first search for libiconv. + dnl Ideally we would do this search only after the + dnl if test "$USE_NLS" = "yes"; then + dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT + dnl the configure script would need to contain the same shell code + dnl again, outside any 'if'. There are two solutions: + dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. + dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. + dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not + dnl documented, we avoid it. + ifelse(gt_included_intl, yes, , [ + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + ]) + + dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. + gt_INTL_MACOSX + + dnl Set USE_NLS. + AC_REQUIRE([AM_NLS]) + + ifelse(gt_included_intl, yes, [ + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + ]) + LIBINTL= + LTLIBINTL= + POSUB= + + dnl Add a version number to the cache macros. + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3 ;; + *" need-ngettext "*) gt_api_version=2 ;; + *) gt_api_version=1 ;; + esac + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + ifelse(gt_included_intl, yes, [ + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH([included-gettext], + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + ]) + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If GNU gettext is available we use this. Else we have + dnl to fall back to GNU NLS library. + + if test $gt_api_version -ge 3; then + gt_revision_test_code=' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +' + else + gt_revision_test_code= + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=' + * ngettext ("", "", 0)' + else + gt_expression_test_code= + fi + + AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], + [AC_TRY_LINK([#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings;], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], + [eval "$gt_func_gnugettext_libc=yes"], + [eval "$gt_func_gnugettext_libc=no"])]) + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl Sometimes libintl requires libiconv, so first search for libiconv. + ifelse(gt_included_intl, yes, , [ + AM_ICONV_LINK + ]) + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL + dnl even if libiconv doesn't exist. + AC_LIB_LINKFLAGS_BODY([intl]) + AC_CACHE_CHECK([for GNU gettext in libintl], + [$gt_func_gnugettext_libintl], + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libiconv. + AC_TRY_LINK([#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *);], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], + [eval "$gt_func_gnugettext_libintl=yes"], + [eval "$gt_func_gnugettext_libintl=no"]) + dnl Now see whether libintl exists and depends on libiconv. + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *);], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" + ]) + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS"]) + fi + + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + dnl Reset the values set by searching for libintl. + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on included GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + CATOBJEXT= + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions to use GNU gettext tools. + CATOBJEXT=.gmo + fi + ]) + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Some extra flags are needed during linking. + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + AC_DEFINE([ENABLE_NLS], [1], + [Define to 1 if translation of program messages to the user's native language + is requested.]) + else + USE_NLS=no + fi + fi + + AC_MSG_CHECKING([whether to use NLS]) + AC_MSG_RESULT([$USE_NLS]) + if test "$USE_NLS" = "yes"; then + AC_MSG_CHECKING([where the gettext function comes from]) + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + AC_MSG_RESULT([$gt_source]) + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + AC_MSG_CHECKING([how to link with libintl]) + AC_MSG_RESULT([$LIBINTL]) + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) + fi + + dnl For backward compatibility. Some packages may be using this. + AC_DEFINE([HAVE_GETTEXT], [1], + [Define if the GNU gettext() function is already present or preinstalled.]) + AC_DEFINE([HAVE_DCGETTEXT], [1], + [Define if the GNU dcgettext() function is already present or preinstalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + ifelse(gt_included_intl, yes, [ + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then + BUILD_INCLUDED_LIBINTL=yes + fi + + dnl Make all variables we use known to autoconf. + AC_SUBST([BUILD_INCLUDED_LIBINTL]) + AC_SUBST([USE_INCLUDED_LIBINTL]) + AC_SUBST([CATOBJEXT]) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST([DATADIRNAME]) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST([INSTOBJEXT]) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST([GENCAT]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLOBJS= + if test "$USE_INCLUDED_LIBINTL" = yes; then + INTLOBJS="\$(GETTOBJS)" + fi + AC_SUBST([INTLOBJS]) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix + AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) + ]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST([INTLLIBS]) + + dnl Make all documented variables known to autoconf. + AC_SUBST([LIBINTL]) + AC_SUBST([LTLIBINTL]) + AC_SUBST([POSUB]) +]) + + +dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. +m4_define([gt_NEEDS_INIT], +[ + m4_divert_text([DEFAULTS], [gt_needs=]) + m4_define([gt_NEEDS_INIT], []) +]) + + +dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) +AC_DEFUN([AM_GNU_GETTEXT_NEED], +[ + m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) +]) + + +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) diff --git a/m4/iconv.m4 b/m4/iconv.m4 new file mode 100644 index 0000000..e2041b9 --- /dev/null +++ b/m4/iconv.m4 @@ -0,0 +1,214 @@ +# iconv.m4 serial 11 (gettext-0.18.1) +dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + [am_cv_func_iconv=yes]) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + [am_cv_lib_iconv=yes] + [am_cv_func_iconv=yes]) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ + dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + AC_TRY_RUN([ +#include +#include +int main () +{ + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + return 1; + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\263"; + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + return 1; + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + return 1; + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + if (/* Try standardized names. */ + iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) + /* Try IRIX, OSF/1 names. */ + && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) + /* Try AIX names. */ + && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) + /* Try HP-UX names. */ + && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) + return 1; + return 0; +}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], + [case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac]) + LIBS="$am_save_LIBS" + ]) + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then + AC_DEFINE([HAVE_ICONV], [1], + [Define if you have the iconv() function and it works.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST([LIBICONV]) + AC_SUBST([LTLIBICONV]) +]) + +dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to +dnl avoid warnings like +dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". +dnl This is tricky because of the way 'aclocal' is implemented: +dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. +dnl Otherwise aclocal's initial scan pass would miss the macro definition. +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. +dnl Otherwise aclocal would emit many "Use of uninitialized value $1" +dnl warnings. +m4_define([gl_iconv_AC_DEFUN], + m4_version_prereq([2.64], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [[AC_DEFUN( + [$1], [$2])]])) +gl_iconv_AC_DEFUN([AM_ICONV], +[ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL([am_cv_proto_iconv], [ + AC_TRY_COMPILE([ +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([ + $am_cv_proto_iconv]) + AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], + [Define as const if the declaration of iconv() needs const.]) + fi +]) diff --git a/m4/intlmacosx.m4 b/m4/intlmacosx.m4 new file mode 100644 index 0000000..dd91025 --- /dev/null +++ b/m4/intlmacosx.m4 @@ -0,0 +1,51 @@ +# intlmacosx.m4 serial 3 (gettext-0.18) +dnl Copyright (C) 2004-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Checks for special options needed on MacOS X. +dnl Defines INTL_MACOSX_LIBS. +AC_DEFUN([gt_INTL_MACOSX], +[ + dnl Check for API introduced in MacOS X 10.2. + AC_CACHE_CHECK([for CFPreferencesCopyAppValue], + [gt_cv_func_CFPreferencesCopyAppValue], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_TRY_LINK([#include ], + [CFPreferencesCopyAppValue(NULL, NULL)], + [gt_cv_func_CFPreferencesCopyAppValue=yes], + [gt_cv_func_CFPreferencesCopyAppValue=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], + [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) + fi + dnl Check for API introduced in MacOS X 10.3. + AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], + [gt_cv_func_CFLocaleCopyCurrent=yes], + [gt_cv_func_CFLocaleCopyCurrent=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], + [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + AC_SUBST([INTL_MACOSX_LIBS]) +]) diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 new file mode 100644 index 0000000..ebb3052 --- /dev/null +++ b/m4/lib-ld.m4 @@ -0,0 +1,110 @@ +# lib-ld.m4 serial 4 (gettext-0.18) +dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Subroutines of libtool.m4, +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. + +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL([acl_cv_path_LD], +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT([$LD]) +else + AC_MSG_RESULT([no]) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +]) diff --git a/m4/lib-link.m4 b/m4/lib-link.m4 new file mode 100644 index 0000000..c73bd8e --- /dev/null +++ b/m4/lib-link.m4 @@ -0,0 +1,774 @@ +# lib-link.m4 serial 21 (gettext-0.18) +dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_PREREQ([2.54]) + +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and +dnl augments the CPPFLAGS variable. +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + pushdef([Name],[translit([$1],[./-], [___])]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" + ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" + LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + AC_SUBST([LIB]NAME[_PREFIX]) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes + popdef([NAME]) + popdef([Name]) +]) + +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) +dnl searches for libname and the libraries corresponding to explicit and +dnl implicit dependencies, together with the specified include files and +dnl the ability to compile and link the specified testcode. The missing-message +dnl defaults to 'no' and may contain additional hints for the user. +dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} +dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + pushdef([Name],[translit([$1],[./-], [___])]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, + dnl because if the user has installed lib[]Name and not disabled its use + dnl via --without-lib[]Name-prefix, he wants to use it. + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS="$LIBS" + dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, + dnl because these -l options might require -L options that are present in + dnl LIBS. -l options benefit only from the -L options listed before it. + dnl Otherwise, add it to the front of LIBS, because it may be a static + dnl library that depends on another static library that is present in LIBS. + dnl Static libraries benefit only from the static libraries listed after + dnl it. + case " $LIB[]NAME" in + *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; + *) LIBS="$LIB[]NAME $LIBS" ;; + esac + AC_TRY_LINK([$3], [$4], + [ac_cv_lib[]Name=yes], + [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" = yes; then + HAVE_LIB[]NAME=yes + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) + AC_MSG_CHECKING([how to link with lib[]$1]) + AC_MSG_RESULT([$LIB[]NAME]) + else + HAVE_LIB[]NAME=no + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= + LIB[]NAME[]_PREFIX= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + AC_SUBST([LIB]NAME[_PREFIX]) + popdef([NAME]) + popdef([Name]) +]) + +dnl Determine the platform dependent parameters needed to use rpath: +dnl acl_libext, +dnl acl_shlibext, +dnl acl_hardcode_libdir_flag_spec, +dnl acl_hardcode_libdir_separator, +dnl acl_hardcode_direct, +dnl acl_hardcode_minus_L. +AC_DEFUN([AC_LIB_RPATH], +[ + dnl Tell automake >= 1.10 to complain if config.rpath is missing. + m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE([rpath], + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) +]) + +dnl AC_LIB_FROMPACKAGE(name, package) +dnl declares that libname comes from the given package. The configure file +dnl will then not have a --with-libname-prefix option but a +dnl --with-package-prefix option. Several libraries can come from the same +dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar +dnl macro call that searches for libname. +AC_DEFUN([AC_LIB_FROMPACKAGE], +[ + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + define([acl_frompackage_]NAME, [$2]) + popdef([NAME]) + pushdef([PACK],[$2]) + pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + define([acl_libsinpackage_]PACKUP, + m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) + popdef([PACKUP]) + popdef([PACK]) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found +dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) + pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) + dnl Autoconf >= 2.61 supports dots in --with options. + pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_ARG_WITH(P_A_C_K[-prefix], +[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib + --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + LIB[]NAME[]_PREFIX= + dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been + dnl computed. So it has to be reset here. + HAVE_LIB[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + dnl The same code as in the loop below: + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$acl_hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi + popdef([P_A_C_K]) + popdef([PACKLIBS]) + popdef([PACKUP]) + popdef([PACK]) + popdef([NAME]) +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) + +dnl For those cases where a variable contains several -L and -l options +dnl referring to unknown libraries and directories, this macro determines the +dnl necessary additional linker options for the runtime path. +dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) +dnl sets LDADDVAR to linker options needed together with LIBSVALUE. +dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, +dnl otherwise linking without libtool is assumed. +AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], +[ + AC_REQUIRE([AC_LIB_RPATH]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + $1= + if test "$enable_rpath" != no; then + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode directories into the resulting + dnl binary. + rpathdirs= + next= + for opt in $2; do + if test -n "$next"; then + dir="$next" + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= + else + case $opt in + -L) next=yes ;; + -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= ;; + *) next= ;; + esac + fi + done + if test "X$rpathdirs" != "X"; then + if test -n ""$3""; then + dnl libtool is used for linking. Use -R options. + for dir in $rpathdirs; do + $1="${$1}${$1:+ }-R$dir" + done + else + dnl The linker is used for linking directly. + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user + dnl must pass all path elements in one option. + alldirs= + for dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="$flag" + else + dnl The -rpath options are cumulative. + for dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="${$1}${$1:+ }$flag" + done + fi + fi + fi + fi + fi + AC_SUBST([$1]) +]) diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4 new file mode 100644 index 0000000..1601cea --- /dev/null +++ b/m4/lib-prefix.m4 @@ -0,0 +1,224 @@ +# lib-prefix.m4 serial 7 (gettext-0.18) +dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_PREPARE_MULTILIB creates +dnl - a variable acl_libdirstem, containing the basename of the libdir, either +dnl "lib" or "lib64" or "lib/64", +dnl - a variable acl_libdirstem2, as a secondary possible value for +dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or +dnl "lib/amd64". +AC_DEFUN([AC_LIB_PREPARE_MULTILIB], +[ + dnl There is no formal standard regarding lib and lib64. + dnl On glibc systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine + dnl the compiler's default mode by looking at the compiler's library search + dnl path. If at least one of its elements ends in /lib64 or points to a + dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. + dnl Otherwise we use the default, namely "lib". + dnl On Solaris systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or + dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. + AC_REQUIRE([AC_CANONICAL_HOST]) + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment + dnl . + dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." + dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the + dnl symlink is missing, so we set acl_libdirstem2 too. + AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], + [AC_EGREP_CPP([sixtyfour bits], [ +#ifdef _LP64 +sixtyfour bits +#endif + ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) + ]) + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" +]) diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 56666f0..d7c043f 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -1312,7 +1312,7 @@ ia64-*-hpux*) rm -rf conftest* ;; -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext @@ -1324,9 +1324,19 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) - LD="${LD-ld} -m elf_i386" + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*) + LD="${LD-ld} -m elf32lppclinux" ;; - ppc64-*linux*|powerpc64-*linux*) + powerpc64-*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) @@ -1345,7 +1355,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; - ppc*-*linux*|powerpc*-*linux*) + powerpcle-*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) @@ -1688,7 +1701,8 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else @@ -2512,17 +2526,6 @@ freebsd* | dragonfly*) esac ;; -gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no @@ -2639,7 +2642,7 @@ linux*oldld* | linux*aout* | linux*coff*) ;; # This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no @@ -2669,14 +2672,10 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu) # before this can be enabled. hardcode_into_libs=yes - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -2688,6 +2687,18 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu) dynamic_linker='GNU/Linux ld.so' ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + netbsd*) version_type=sunos need_lib_prefix=no @@ -3247,10 +3258,6 @@ freebsd* | dragonfly*) fi ;; -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - haiku*) lt_cv_deplibs_check_method=pass_all ;; @@ -3289,11 +3296,11 @@ irix5* | irix6* | nonstopux*) ;; # This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; -netbsd*) +netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else @@ -4041,7 +4048,7 @@ m4_if([$1], [CXX], [ ;; esac ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # KAI C++ Compiler @@ -4105,7 +4112,7 @@ m4_if([$1], [CXX], [ ;; esac ;; - netbsd*) + netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise @@ -4340,7 +4347,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) @@ -4582,6 +4589,9 @@ m4_if([$1], [CXX], [ ;; esac ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; @@ -4644,6 +4654,9 @@ dnl Note also adjust exclude_expsyms for C++ above. openbsd*) with_gnu_ld=no ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes @@ -4865,7 +4878,7 @@ _LT_EOF fi ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= @@ -5042,6 +5055,7 @@ _LT_EOF if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi + _LT_TAGVAR(link_all_deplibs, $1)=no else # not using gcc if test "$host_cpu" = ia64; then @@ -5346,7 +5360,7 @@ _LT_EOF _LT_TAGVAR(link_all_deplibs, $1)=yes ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else @@ -6226,9 +6240,6 @@ if test "$_lt_caught_CXX_error" != yes; then _LT_TAGVAR(ld_shlibs, $1)=yes ;; - gnu*) - ;; - haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes @@ -6390,7 +6401,7 @@ if test "$_lt_caught_CXX_error" != yes; then _LT_TAGVAR(inherit_rpath, $1)=yes ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler diff --git a/m4/nls.m4 b/m4/nls.m4 new file mode 100644 index 0000000..003704c --- /dev/null +++ b/m4/nls.m4 @@ -0,0 +1,32 @@ +# nls.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, +dnl Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ([2.50]) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE([nls], + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT([$USE_NLS]) + AC_SUBST([USE_NLS]) +]) diff --git a/m4/po.m4 b/m4/po.m4 new file mode 100644 index 0000000..47f36a4 --- /dev/null +++ b/m4/po.m4 @@ -0,0 +1,449 @@ +# po.m4 serial 17 (gettext-0.18) +dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ([2.50]) + +dnl Checks for all prerequisites of the po subdirectory. +AC_DEFUN([AM_PO_SUBDIRS], +[ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake + AC_REQUIRE([AM_NLS])dnl + + dnl Release version of the gettext macros. This is used to ensure that + dnl the gettext macros and po/Makefile.in.in are in sync. + AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. + + dnl Search for GNU msgfmt in the PATH. + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. + dnl The second test excludes FreeBSD msgfmt. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) + + dnl Test whether it is GNU msgfmt >= 0.15. +changequote(,)dnl + case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; + *) MSGFMT_015=$MSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([MSGFMT_015]) +changequote(,)dnl + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; + *) GMSGFMT_015=$GMSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([GMSGFMT_015]) + + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + + dnl Test whether it is GNU xgettext >= 0.15. +changequote(,)dnl + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; + *) XGETTEXT_015=$XGETTEXT ;; + esac +changequote([,])dnl + AC_SUBST([XGETTEXT_015]) + + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) + + dnl Installation directories. + dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we + dnl have to define it here, so that it can be used in po/Makefile. + test -n "$localedir" || localedir='${datadir}/locale' + AC_SUBST([localedir]) + + dnl Support for AM_XGETTEXT_OPTION. + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= + AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) + + AC_CONFIG_COMMANDS([po-directories], [[ + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + # Treat a directory as a PO directory if and only if it has a + # POTFILES.in file. This allows packages to have multiple PO + # directories under different names or in different locations. + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done]], + [# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake < 1.5. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + ]) +]) + +dnl Postprocesses a Makefile in a directory containing PO files. +AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], +[ + # When this code is run, in config.status, two variables have already been + # set: + # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, + # - LINGUAS is the value of the environment variable LINGUAS at configure + # time. + +changequote(,)dnl + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + # Find a way to echo strings without interpreting backslash. + if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='echo' + else + if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='printf %s\n' + else + echo_func () { + cat < "$ac_file.tmp" + if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + cat >> "$ac_file.tmp" < /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` + cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. + +AC_PREREQ([2.50]) + +# Search path for a program which passes the given test. + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[ +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL([ac_cv_path_$1], +[case "[$]$1" in + [[\\/]]* | ?:[[\\/]]*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in ifelse([$5], , $PATH, [$5]); do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$][$1]) +else + AC_MSG_RESULT([no]) +fi +AC_SUBST([$1])dnl +]) diff --git a/missing b/missing index cdea514..db98974 100755 --- a/missing +++ b/missing @@ -1,7 +1,7 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2012-06-26.16; # UTC +scriptversion=2013-10-28.13; # UTC # Copyright (C) 1996-2013 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. @@ -160,7 +160,7 @@ give_advice () ;; autom4te*) echo "You might have modified some maintainer files that require" - echo "the 'automa4te' program to be rebuilt." + echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) diff --git a/po/LINGUAS b/po/LINGUAS index 1342011..904d332 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -4,6 +4,8 @@ bg cs da de +en@boldquot +en@quot en_GB eo es diff --git a/po/Makefile.am b/po/Makefile.am deleted file mode 100644 index d757b11..0000000 --- a/po/Makefile.am +++ /dev/null @@ -1,87 +0,0 @@ -## Makefile.am -- an automake template for Makefile.in file -## Copyright (C) 2009 Chris Bagwell and Sane Developers. -## -## This file is part of the "Sane" build infra-structure. See -## included LICENSE file for license information. - -# See po/README for documentation. - -MSGFMT = @MSGFMT@ -XGETTEXT = @XGETTEXT@ -MSGMERGE = @MSGMERGE@ -w75 - -GETTEXT_PACKAGE = @PACKAGE@ - -TMP_FILE_DIR = .tmp - -PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo ""; fi) -SRC_FILES=$(shell if test -r $(srcdir)/POTFILES; then grep -v "^\#" $(srcdir)/POTFILES; else echo ""; fi) - -PO_FILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) -MO_FILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.mo "; done) - -EXTRA_DIST = README LINGUAS POTFILES -EXTRA_DIST += $(PO_FILES) - - -if ENABLE_TRANSLATIONS -EXTRA_DIST += $(GETTEXT_PACKAGE).pot -INSTALL_TRANSLATIONS = install-translations -UNINSTALL_TRANSLATIONS = uninstall-translations -ALL = all-mos -else -INSTALL_TRANSLATIONS = -UNINSTALL_TRANSLATIONS = -ALL = -endif - -all: $(ALL) - -all-mos: $(MO_FILES) - -.po.mo: - @echo "generating $@ from $^" - @$(MSGFMT) -o $@ $^ - -install-translations: - @for lang in $(PO_LINGUAS) ; do \ - dir=$(localedir)/$${lang}/LC_MESSAGES ; \ - echo "installing sane-backends $${lang}.mo to $${dir}/$(GETTEXT_PACKAGE).mo..." ; \ - $(mkinstalldirs) $(DESTDIR)$${dir} && \ - $(INSTALL_DATA) $${lang}.mo $(DESTDIR)$${dir}/$(GETTEXT_PACKAGE).mo ; \ - done - -install-data-local: $(INSTALL_TRANSLATIONS) - -uninstall-translations: - @for lang in $(PO_LINGUAS) ; do \ - dir=$(localedir)/$${lang}/LC_MESSAGES ; \ - echo removing $${dir}/$(GETTEXT_PACKAGE).mo ; \ - rm -f $(DESTDIR)$${dir}/$(GETTEXT_PACKAGE).mo ; \ - done - -uninstall-local: $(UNINSTALL_TRANSLATIONS) - -clean-local: - rm -f *.mo - rm -f *.old - rm -f *.pot - -$(GETTEXT_PACKAGE).pot: $(SRC_FILES) - @echo "creating $@ from $^" - @$(XGETTEXT) -d$(GETTEXT_PACKAGE) -kSANE_I18N --flag=SANE_I18N:1:no-c-format -f $(srcdir)/POTFILES -D$(srcdir) - @mv $(GETTEXT_PACKAGE).po $(GETTEXT_PACKAGE).pot - -update: $(GETTEXT_PACKAGE).pot - @for lang in $(PO_LINGUAS) ; do \ - pofile=$${lang}.po ; \ - if test ! -f $${pofile} ; then \ - echo "creating $${pofile}" ; \ - cp template.po $${pofile} ; \ - fi ; \ - echo "updating $${pofile}" ; \ - cp $${pofile} $${pofile}.old ; \ - $(MSGMERGE) $${pofile}.old $< -o $${pofile} ; \ - rm -f $${pofile}.old template.po ; \ - done - diff --git a/po/Makefile.in b/po/Makefile.in deleted file mode 100644 index 5cfb684..0000000 --- a/po/Makefile.in +++ /dev/null @@ -1,552 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# See po/README for documentation. -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@ENABLE_TRANSLATIONS_TRUE@am__append_1 = $(GETTEXT_PACKAGE).pot -subdir = po -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/mkinstalldirs README -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/byteorder.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/sane/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AVAHI_CFLAGS = @AVAHI_CFLAGS@ -AVAHI_LIBS = @AVAHI_LIBS@ -AWK = @AWK@ -BACKENDS = @BACKENDS@ -BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ -BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DISTCLEAN_FILES = @DISTCLEAN_FILES@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVIPS = @DVIPS@ -DYNAMIC_FLAG = @DYNAMIC_FLAG@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ -GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ -GPHOTO2_LIBS = @GPHOTO2_LIBS@ -GREP = @GREP@ -HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INCLUDES = @INCLUDES@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -JPEG_LIBS = @JPEG_LIBS@ -LATEX = @LATEX@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBUSB_1_0_CFLAGS = @LIBUSB_1_0_CFLAGS@ -LIBUSB_1_0_LIBS = @LIBUSB_1_0_LIBS@ -LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LINKER_RPATH = @LINKER_RPATH@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOCKPATH_GROUP = @LOCKPATH_GROUP@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINDEX = @MAKEINDEX@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGMERGE = @MSGMERGE@ -w75 -NM = @NM@ -NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_LIBS = @PNG_LIBS@ -PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ -PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RESMGR_LIBS = @RESMGR_LIBS@ -SANEI_SANEI_JPEG_LO = @SANEI_SANEI_JPEG_LO@ -SANE_CONFIG_PATH = @SANE_CONFIG_PATH@ -SCSI_LIBS = @SCSI_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SNMP_CFLAGS = @SNMP_CFLAGS@ -SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ -SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ -STRICT_LDFLAGS = @STRICT_LDFLAGS@ -STRIP = @STRIP@ -SYSLOG_LIBS = @SYSLOG_LIBS@ -SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ -SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_LIBS = @USB_LIBS@ -VERSION = @VERSION@ -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ -XGETTEXT = @XGETTEXT@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -configdir = @configdir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -effective_target = @effective_target@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -locksanedir = @locksanedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -GETTEXT_PACKAGE = @PACKAGE@ -TMP_FILE_DIR = .tmp -PO_LINGUAS = $(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo ""; fi) -SRC_FILES = $(shell if test -r $(srcdir)/POTFILES; then grep -v "^\#" $(srcdir)/POTFILES; else echo ""; fi) -PO_FILES = $(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) -MO_FILES = $(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.mo "; done) -EXTRA_DIST = README LINGUAS POTFILES $(PO_FILES) $(am__append_1) -@ENABLE_TRANSLATIONS_FALSE@INSTALL_TRANSLATIONS = -@ENABLE_TRANSLATIONS_TRUE@INSTALL_TRANSLATIONS = install-translations -@ENABLE_TRANSLATIONS_FALSE@UNINSTALL_TRANSLATIONS = -@ENABLE_TRANSLATIONS_TRUE@UNINSTALL_TRANSLATIONS = uninstall-translations -@ENABLE_TRANSLATIONS_FALSE@ALL = -@ENABLE_TRANSLATIONS_TRUE@ALL = all-mos -all: all-am - -.SUFFIXES: -.SUFFIXES: .mo .po -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu po/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu po/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-data-local - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-local - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-data-local install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-local - - -all: $(ALL) - -all-mos: $(MO_FILES) - -.po.mo: - @echo "generating $@ from $^" - @$(MSGFMT) -o $@ $^ - -install-translations: - @for lang in $(PO_LINGUAS) ; do \ - dir=$(localedir)/$${lang}/LC_MESSAGES ; \ - echo "installing sane-backends $${lang}.mo to $${dir}/$(GETTEXT_PACKAGE).mo..." ; \ - $(mkinstalldirs) $(DESTDIR)$${dir} && \ - $(INSTALL_DATA) $${lang}.mo $(DESTDIR)$${dir}/$(GETTEXT_PACKAGE).mo ; \ - done - -install-data-local: $(INSTALL_TRANSLATIONS) - -uninstall-translations: - @for lang in $(PO_LINGUAS) ; do \ - dir=$(localedir)/$${lang}/LC_MESSAGES ; \ - echo removing $${dir}/$(GETTEXT_PACKAGE).mo ; \ - rm -f $(DESTDIR)$${dir}/$(GETTEXT_PACKAGE).mo ; \ - done - -uninstall-local: $(UNINSTALL_TRANSLATIONS) - -clean-local: - rm -f *.mo - rm -f *.old - rm -f *.pot - -$(GETTEXT_PACKAGE).pot: $(SRC_FILES) - @echo "creating $@ from $^" - @$(XGETTEXT) -d$(GETTEXT_PACKAGE) -kSANE_I18N --flag=SANE_I18N:1:no-c-format -f $(srcdir)/POTFILES -D$(srcdir) - @mv $(GETTEXT_PACKAGE).po $(GETTEXT_PACKAGE).pot - -update: $(GETTEXT_PACKAGE).pot - @for lang in $(PO_LINGUAS) ; do \ - pofile=$${lang}.po ; \ - if test ! -f $${pofile} ; then \ - echo "creating $${pofile}" ; \ - cp template.po $${pofile} ; \ - fi ; \ - echo "updating $${pofile}" ; \ - cp $${pofile} $${pofile}.old ; \ - $(MSGMERGE) $${pofile}.old $< -o $${pofile} ; \ - rm -f $${pofile}.old template.po ; \ - done - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/po/Makefile.in.in b/po/Makefile.in.in new file mode 100644 index 0000000..83d8838 --- /dev/null +++ b/po/Makefile.in.in @@ -0,0 +1,444 @@ +# Makefile for PO directory in any package using GNU gettext. +# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU General Public +# License but which still want to provide support for the GNU gettext +# functionality. +# Please note that the actual code of GNU gettext is covered by the GNU +# General Public License and is *not* in the public domain. +# +# Origin: gettext-0.18 +GETTEXT_MACRO_VERSION = 0.18 + +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ + +SHELL = /bin/sh +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +datadir = @datadir@ +localedir = @localedir@ +gettextsrcdir = $(datadir)/gettext/po + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +# We use $(mkdir_p). +# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as +# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, +# @install_sh@ does not start with $(SHELL), so we add it. +# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined +# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake +# versions, $(mkinstalldirs) and $(install_sh) are unused. +mkinstalldirs = $(SHELL) @install_sh@ -d +install_sh = $(SHELL) @install_sh@ +MKDIR_P = @MKDIR_P@ +mkdir_p = @mkdir_p@ + +GMSGFMT_ = @GMSGFMT@ +GMSGFMT_no = @GMSGFMT@ +GMSGFMT_yes = @GMSGFMT_015@ +GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) +MSGFMT_ = @MSGFMT@ +MSGFMT_no = @MSGFMT@ +MSGFMT_yes = @MSGFMT_015@ +MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) +XGETTEXT_ = @XGETTEXT@ +XGETTEXT_no = @XGETTEXT@ +XGETTEXT_yes = @XGETTEXT_015@ +XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +POFILES = @POFILES@ +GMOFILES = @GMOFILES@ +UPDATEPOFILES = @UPDATEPOFILES@ +DUMMYPOFILES = @DUMMYPOFILES@ +DISTFILES.common = Makefile.in.in remove-potcdate.sin \ +$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) +DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ +$(POFILES) $(GMOFILES) \ +$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) + +POTFILES = \ + +CATALOGS = @CATALOGS@ + +# Makevars gets inserted here. (Don't remove this line!) + +.SUFFIXES: +.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all: check-macro-version all-@USE_NLS@ + +all-yes: stamp-po +all-no: + +# Ensure that the gettext macros and this Makefile.in.in are in sync. +check-macro-version: + @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ + || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ + exit 1; \ + } + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed + if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}@PACKAGE@" \ + --package-version='@VERSION@' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install: install-exec install-data +install-exec: +install-data: install-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + for file in $(DISTFILES.common) Makevars.template; do \ + $(INSTALL_DATA) $(srcdir)/$$file \ + $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + for file in Makevars; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +install-data-no: all +install-data-yes: all + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +install-strip: install + +installdirs: installdirs-exec installdirs-data +installdirs-exec: +installdirs-data: installdirs-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + else \ + : ; \ + fi +installdirs-data-no: +installdirs-data-yes: + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: uninstall-exec uninstall-data +uninstall-exec: +uninstall-data: uninstall-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + for file in $(DISTFILES.common) Makevars.template; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +uninstall-data-no: +uninstall-data-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +check: all + +info dvi ps pdf html tags TAGS ctags CTAGS ID: + +mostlyclean: + rm -f remove-potcdate.sed + rm -f stamp-poT + rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo + +maintainer-clean: distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f stamp-po $(GMOFILES) + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) +dist distdir: + $(MAKE) update-po + @$(MAKE) dist2 +# This is a separate target because 'update-po' must be executed before. +dist2: stamp-po $(DISTFILES) + dists="$(DISTFILES)"; \ + if test "$(PACKAGE)" = "gettext-tools"; then \ + dists="$$dists Makevars.template"; \ + fi; \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + dists="$$dists $(DOMAIN).pot stamp-po"; \ + fi; \ + if test -f $(srcdir)/ChangeLog; then \ + dists="$$dists ChangeLog"; \ + fi; \ + for i in 0 1 2 3 4 5 6 7 8 9; do \ + if test -f $(srcdir)/ChangeLog.$$i; then \ + dists="$$dists ChangeLog.$$i"; \ + fi; \ + done; \ + if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ + for file in $$dists; do \ + if test -f $$file; then \ + cp -p $$file $(distdir) || exit 1; \ + else \ + cp -p $(srcdir)/$$file $(distdir) || exit 1; \ + fi; \ + done + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: + +# Recreate Makefile by invoking config.status. Explicitly invoke the shell, +# because execution permission bits may not work on the current file system. +# Use @SHELL@, which is the shell determined by autoconf for the use by its +# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. +Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ + cd $(top_builddir) \ + && @SHELL@ ./config.status $(subdir)/$@.in po-directories + +force: + +# Tell versions [3.59,3.63) of GNU make not to export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..bb5d203 --- /dev/null +++ b/po/Makevars @@ -0,0 +1,45 @@ +# Makevars -- snippet for inclusion in po/ -*- Makefile -*- +# Copyright (C) 2016 Olaf Meeuwissen and the SANE developers +# +# This file is part of the SANE build infra-structure. See the +# included LICENSE file for license information. + +# Message domain to use. +# Normally this is the same as the $(PACKAGE_TARNAME), but note that +# gettext does not support that variable (last checked for 0.18.1). +DOMAIN = $(PACKAGE) + +# Copyright holder for the messages in the $(DOMAIN).pot file. +# This is the (set of) copyright holder(s) of files listed in the +# POTFILES.in file (insofar they contributed translatable strings). +# The translators are expected to transfer the copyright for their +# translations to the $(COPYRIGHT_HOLDER)(s), or to disclaim their +# copyright thereby putting their strings in the public domain. +COPYRIGHT_HOLDER = The SANE developers + +# Where to report problems with translatable strings, that is, the +# strings in $(DOMAIN).pot or those that really should be in there. +MSGID_BUGS_ADDRESS = $(PACKAGE_BUGREPORT) + +# Directory locations. +# The $(top_builddir) should be relative to the directory that holds +# this Makevars file. The $(subdir) ought to be set such that a `cd +# $(top_builddir)/$(subdir)` has no effect (assuming no symlinks in +# the path). +top_builddir = .. +subdir = po + +# Options to pass to xgettext and other gettext utilities. +# Additional options may also by specified using AM_XGETTEXT_OPTION +# in `$(top_srcdir)/configure.ac`. See Makefile.in.in and Rules-* +# for variables available +XGETTEXT_OPTIONS = --keyword=SANE_I18N +XGETTEXT_OPTIONS += --flag=SANE_I18N:1:no-c-format +MSGMERGE_OPTIONS = --width=75 + +# Locale categories, in addition to LC_MESSAGES, for which message +# catalogs are to be used. +EXTRA_LOCALE_CATEGORIES = + +EXTRA_DIST = README +EXTRA_DIST += Rules-automake diff --git a/po/POTFILES b/po/POTFILES deleted file mode 100644 index e98d666..0000000 --- a/po/POTFILES +++ /dev/null @@ -1,111 +0,0 @@ -# List of source files containing translatable strings -# paths relative to po -../include/sane/saneopts.h -../backend/sane_strstatus.c - -../backend/artec_eplus48u.c - -../backend/avision.h - -../backend/canon630u.c -../backend/canon.c -../backend/canon-sane.c - -../backend/canon_dr.c -../backend/canon_dr.h - -../backend/cardscan.c -../backend/cardscan.h - -../backend/epjitsu.c -../backend/epjitsu.h - -../backend/epson.c -../backend/epson.h -../backend/epson2.c -../backend/epson2.h - -../backend/fujitsu.c -../backend/fujitsu.h - -../backend/genesys.c - -../backend/gt68xx.c -../backend/gt68xx_low.h - -../backend/hp3500.c -../backend/hp3900_sane.c -../backend/hp5400_sane.c -../backend/hp5590.c -../backend/hp-option.c -../backend/hp-option.h - -../backend/kodak.c -../backend/kodak.h - -../backend/kvs1025.h -../backend/kvs1025_opt.c -../backend/kvs20xx.c - -../backend/kvs20xx_opt.c - -../backend/kvs40xx.c -../backend/kvs40xx_opt.c - -../backend/leo.c -../backend/leo.h - -../backend/lexmark.c - -../backend/ma1509.c - -../backend/magicolor.c - -../backend/matsushita.c -../backend/matsushita.h - -../backend/microtek2.c -../backend/microtek2.h - -../backend/mustek.c -../backend/mustek_usb.c -../backend/mustek_usb2.c - -../backend/niash.c - -../backend/pixma.c -../backend/pixma_sane_options.c - -../backend/plustek.c -../backend/plustek_pp.c - -../backend/pnm.c - -../backend/rts8891.c - -../backend/sceptre.c -../backend/sceptre.h - -../backend/sm3840.c - -../backend/snapscan.c -../backend/snapscan-options.c - -../backend/stv680.c -../backend/stv680.h - -../backend/teco1.c -../backend/teco1.h -../backend/teco2.c -../backend/teco2.h -../backend/teco3.c -../backend/teco3.h - -../backend/test.c - -../backend/u12.c - -../backend/umax1220u.c -../backend/umax.c -../backend/umax_pp.c - diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..9988ff5 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,111 @@ +# List of source files containing translatable strings +# paths relative to the top source directory +include/sane/saneopts.h +backend/sane_strstatus.c + +backend/artec_eplus48u.c + +backend/avision.h + +backend/canon630u.c +backend/canon.c +backend/canon-sane.c + +backend/canon_dr.c +backend/canon_dr.h + +backend/cardscan.c +backend/cardscan.h + +backend/epjitsu.c +backend/epjitsu.h + +backend/epson.c +backend/epson.h +backend/epson2.c +backend/epson2.h + +backend/fujitsu.c +backend/fujitsu.h + +backend/genesys.c + +backend/gt68xx.c +backend/gt68xx_low.h + +backend/hp3500.c +backend/hp3900_sane.c +backend/hp5400_sane.c +backend/hp5590.c +backend/hp-option.c +backend/hp-option.h + +backend/kodak.c +backend/kodak.h + +backend/kvs1025.h +backend/kvs1025_opt.c +backend/kvs20xx.c + +backend/kvs20xx_opt.c + +backend/kvs40xx.c +backend/kvs40xx_opt.c + +backend/leo.c +backend/leo.h + +backend/lexmark.c + +backend/ma1509.c + +backend/magicolor.c + +backend/matsushita.c +backend/matsushita.h + +backend/microtek2.c +backend/microtek2.h + +backend/mustek.c +backend/mustek_usb.c +backend/mustek_usb2.c + +backend/niash.c + +backend/pixma.c +backend/pixma_sane_options.c + +backend/plustek.c +backend/plustek_pp.c + +backend/pnm.c + +backend/rts8891.c + +backend/sceptre.c +backend/sceptre.h + +backend/sm3840.c + +backend/snapscan.c +backend/snapscan-options.c + +backend/stv680.c +backend/stv680.h + +backend/teco1.c +backend/teco1.h +backend/teco2.c +backend/teco2.h +backend/teco3.c +backend/teco3.h + +backend/test.c + +backend/u12.c + +backend/umax1220u.c +backend/umax.c +backend/umax_pp.c + diff --git a/po/README b/po/README deleted file mode 100644 index ff0ad6a..0000000 --- a/po/README +++ /dev/null @@ -1,70 +0,0 @@ -2003-02-06 - -This directory contains translations for the options of the SANE backends. -They are only used if the gettext tools are found by configure. -You will need GNU gettext: xgettext, msgfmt and msgmerge. The translations -are used at least by the frontends XSane and quiteinsane. - - -Users: I want to just read the description of SANE options in my language -------------------------------------------------------------------------- - -Use XSane (>=0.90) or your favourite frontend that supports translations, read -the documentation and set the environment variable LANG to your local setting. -Example for German: export LANG=de_DE ; xsane - - -Translators: I want to update existing translations ---------------------------------------------------- - -* cd po ; make update -* Edit lang.po, add/change translations. (with lang = your - language, e.g. "de"). You need an editor that is capable of using the - encoding UTF8 (unicode). -* Add your name to the header. Update the "last translator" field. -* make ; make install - - -Translators: I want to add a new language ------------------------------------------ - -* Edit po/LINGUAS, add your language to ALL_LINGUAS. -* Run automake -OR- update po/Makefile.in accordingly by hand. -* ./configure -* Go ahead with "I want to update existing translations". - - -Backend developers: I want to add internationalization support for my backend ------------------------------------------------------------------------------ - -* Edit the source code of the backend and add SANE_I18N to the appropriate - strings. Mark the descriptions (desc) and titles of options with - SANE_I18N(). Do the same for string lists used in options. The name of - options must NOT be marked. Do NOT mark macros. Especially you don't need - to mark standard option strings like SANE_TITLE_NUM_OPTIONS as this is - already done in saneopts.h. - Examples: s->opt[5].title = SANE_I18N("Enhancement"); - #define STANDARD_FORMAT SANE_I18N("a4 Paper") -* Edit po/POTFILES. Add all source code files that contain strings marked - by SANE_I18N() to that file. -* If you want to also add a new language, see above. -* ./configure -* See "Update existing translations" or "Add a new language". - - -Frontend developers: I want to add internationalization support for my frontend -------------------------------------------------------------------------------- - -* The Makefile installs files called "sane-backends.mo" in the directory - "$(prefix)/share/locale/lang/LC_MESSAGES/", e.g.: - "/usr/local/share/locale/de/LC_MESSAGES/sane-backends.mo". For every - language exactly one .mo file is installed. Earlier releases of - sane-backends installed one file per backend, e.g. sane-umax.mo. For - backward compatibility, frontends may want to check for these files, also. -* As mentioned above, GNU gettext is used. -* With other NLS implementations, converting the mo files may work. - - - -Bugs: -- Using sed to include macros into *.pot isn't nice. diff --git a/po/Rules-quot b/po/Rules-quot new file mode 100644 index 0000000..af52487 --- /dev/null +++ b/po/Rules-quot @@ -0,0 +1,47 @@ +# Special Makefile rules for English message catalogs with quotation marks. + +DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot + +.SUFFIXES: .insert-header .po-update-en + +en@quot.po-create: + $(MAKE) en@quot.po-update +en@boldquot.po-create: + $(MAKE) en@boldquot.po-update + +en@quot.po-update: en@quot.po-update-en +en@boldquot.po-update: en@boldquot.po-update-en + +.insert-header.po-update-en: + @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ + if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + ll=`echo $$lang | sed -e 's/@.*//'`; \ + LC_ALL=C; export LC_ALL; \ + cd $(srcdir); \ + if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "creation of $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +en@quot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header + +en@boldquot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header + +mostlyclean: mostlyclean-quot +mostlyclean-quot: + rm -f *.insert-header diff --git a/po/bg.gmo b/po/bg.gmo new file mode 100644 index 0000000..755c8ff Binary files /dev/null and b/po/bg.gmo differ diff --git a/po/bg.po b/po/bg.po index 25a8401..0e83697 100644 --- a/po/bg.po +++ b/po/bg.po @@ -4,421 +4,415 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.11\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2007-12-17 22:59+0100\n" "Last-Translator: Pavel Constantinov \n" "Language-Team: <>\n" -"Language: \n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Брой опции" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Геометрия" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Повишение" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Разширено" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Превю" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Наложи монохромно превю" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Дълбочина на бита" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Режим на сканиране" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Скорост на сканиране" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Източник на сканиране" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Наложи връщане на главата" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Горен ляв x" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Горен ляв y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Долен десен x" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Долен десен y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Резолюция на сканиране" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "Резолюция по Х" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Резолюция по Y" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, fuzzy, no-c-format msgid "Page height" msgstr "Осветление" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Използвай лична гама-таблица" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Интензитет на образа" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Интензитет - червено" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Интензитет - зелено" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Интензитет - синьо" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Яркост" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Контраст" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Размер на зърното" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Полутон" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Степен на черното" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Степен на бялото" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Степен на бялото - червено" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Степен на бялото - зелено" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Степен на бялото - синьо" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Сянка" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Сянка - червено" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Сянка - зелено" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Сянка - синьо" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Осветление" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Осветление - червено" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Осветление - зелено" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Осветление - синьо" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Нюанс" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Наситеност" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Име на файла" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Размер на полутоновия десен" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Полутонов десен" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Вържи резолюцията по X и Y" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Негатив" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Калибрация на качеството" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Двойна оптическа резолюция" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Вържи RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Праг" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Корекция на аналоговата гама" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Аналогова гама - червено" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Аналогова гама - зелено" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Аналогова гама - синьо" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Вържи аналоговата гама" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Загрей лампата" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Нагласи време за експониране" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Нагласи време за експониране - червено" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Нагласи време за експониране - зелено" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Нагласи време за експониране - синьо" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Сканирай време за експониране" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Сканирай време за експониране - червено" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Сканирай време за експониране - зелено" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Сканирай време за експониране - синьо" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Установи време за експониране" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Нагласи плътността на лампата" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Сканирай плътността на лампата" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Установи плътността на лампата" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Изкл. лампа при изход" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -427,37 +421,37 @@ msgstr "" "Опция само за четене, която указва колко опции поддържа дадено " "устройство." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, fuzzy, no-c-format msgid "Source, mode and resolution options" msgstr "Кратък списък резолюции" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, fuzzy, no-c-format msgid "Image modification options" msgstr "Брой опции" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, fuzzy, no-c-format msgid "Hardware specific options" msgstr "Резолюция на сканиране" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Поискай сканиране за превю на качеството." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -469,7 +463,7 @@ msgstr "" "минаване намалява изискванията към паметта и времето за сканиране на " "превюто." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -478,81 +472,81 @@ msgstr "" "Брой битове на семпъл, типичните стойности са 1 за \"line-art\" и 8 за " "мултибитово сканиране." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "Избира режим на сканиране (lineart, монохромно или цветно)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Указва скоростта, с която ще се извърши сканирането." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Избира източника за сканирането (напр. фидер за документи)." -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Оттук можете да наложите връщане на главата." -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Горна лява x позиция на площта за сканиране." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Горна лява y позиция на площта за сканиране." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Долна дясна x позиция на площта за сканиране." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Долна дясна y позиция на площта за сканиране." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Наглася резолюцията на сканираното изображение." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Наглася хоризонталната резолюция на сканираното изображение." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Наглася вертикалната резолюция на сканираното изображение." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " "sheet-fed scans." msgstr "" -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, fuzzy, no-c-format msgid "Specifies the height of the media." msgstr "Наглася резолюцията на сканираното изображение." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." msgstr "" "Определя дали да се използва вградена или персонализирана гама-таблица." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -563,32 +557,32 @@ msgstr "" "червения, зеления и синия канал едновременно (т.е., това е таблица на " "гамата за интензитета)." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Таблица с гама-корекцията за червения сектор." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Таблица с гама-корекцията за зеления сектор." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Таблица с гама-корекцията на синия сектор." -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Настройва яркостта на полученото изображение." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Настройва контраста на полученото изображение." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -597,77 +591,77 @@ msgstr "" "Избира \" зърнеността\" на полученото изображение. По-ниските стойности " "дават по-изострени изображения." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" "Избира дали полученото изображение да бъде полутонизирано (dithered)." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "Избира кое ниво на осветеност се смята за \"черно\"." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "Избира кое ниво на осветеност се смята за \"бяло\"." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "Избира кое ниво на червена осветеност се смята за \"бяло\"." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "Избира кое ниво на зелена осветеност се смята за \"бяло\"." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "Избира кое ниво на синя осветеност се смята за \"бяло\"." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "Избира кое ниво на червена осветеност се смята за \"черно\"." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "Избира кое ниво на зелена осветеност се смята за \"черно\"." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "Избира кое ниво на синя осветеност се смята за \"черно\"." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Избира кое ниво на червена осветеност се смята за \"изцяло червено\"." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." msgstr "" "Избира кое ниво на зелена осветеност се смята за \"изцяло зелено\"." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." msgstr "Избира кое ниво на синя осветеност се смята за \"изцяло синьо\"." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Наглася оттенъка (в синьото ниво) на полученото изображение." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -677,12 +671,12 @@ msgstr "" "появява при добиването на изображение с фотоапарат. По-големите " "стойности причиняват повече blooming." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Файловото име на изображението, което ще се зареди." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -691,7 +685,7 @@ msgstr "" "Наглася размера на десена за полутонизиране (dithering), който ще се " "използва при сканирането на изображения с полутонове." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." @@ -699,287 +693,287 @@ msgstr "" "Определя десена за полутонизиране (dithering) при сканирането на " "изображения с полутонове." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Използвай еднакви стойности за X и Y резолюцията." -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Размени черно и бяло" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Извърши качествена бяла калибрация" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Използвай лещи, които удвояват оптичната резолюция" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "В RGB режим, използвай същите стойности за всеки цвят" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Избери минимална яркост за получаване на бяла точка" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Аналогова гама-корекция" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Аналогова гама-корекция за червено" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Аналогова гама-корекция за зелено" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Аналогова гама-корекция за синьо" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Загрей лампата преди сканиране" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Дефинирай времето на експонация за калибрация" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Дефинирай времето на експонация за калибрация на червено" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Дефинирай времето на експонация за калибрация на зелено" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Дефинирай времето на експонация за калибрация на синьо" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Дефинирай времето на експонация за сканиране" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Дефинирай времето на експонация за сканиране на червено" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Дефинирай времето на експонация за сканиране на зелено" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Дефинирай времето на експонация за сканиране на синьо" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Позволи избор на време за експонация" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Дефинирай плътността на лампата за калибрация" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Дефинирай плътността на лампата за сканирането" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Позволи избор на плътност на лампата" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Изключи лампата при излизане от програмата" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, fuzzy, no-c-format msgid "Scan button" msgstr "Резолюция на сканиране" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, fuzzy, no-c-format msgid "Email button" msgstr "Изчакай натискане на бутона" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, fuzzy, no-c-format msgid "Fax button" msgstr "Изчакай натискане на бутона" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, fuzzy, no-c-format msgid "Copy button" msgstr "Изчакай натискане на бутона" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, fuzzy, no-c-format msgid "Cover open" msgstr "Цветови десен" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Цвят" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Цветно Lineart" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Цветно с полутонове" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Сиво" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Полутон" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Lineart" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, fuzzy, no-c-format msgid "Operation not supported" msgstr "Няма поддръжка на полутонове" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, fuzzy, no-c-format msgid "Document feeder jammed" msgstr "Feeder за документи" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, fuzzy, no-c-format msgid "Document feeder out of documents" msgstr "Feeder за документи" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Висящи опции" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Нагласи висящи опции за повишителните контроли." -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Калибрация" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Калибрирай преди следващото сканиране" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -988,12 +982,12 @@ msgstr "" "Ако това е позволено, устройството ще се калибрира преди следващото " "сканиране. Иначе, калибрацията се прави само преди първото пускане." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Извърши само корекция на отсенките" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1005,1059 +999,1050 @@ msgstr "" "офсет и време на експонация - все едно вградени или от конфигурационния " "файл." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Номер на кадъра за сканиране" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Избира номера на кадъра за сканиране" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, fuzzy, no-c-format msgid "Duplex scan" msgstr "Дуплексно" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Калибрирай скенера" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Задължителна калибрация преди сканиране" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Сканиране в сива скала" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Направи сканиране в сива скала, не цветно" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Аналогово увеличение" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Повиши или намали аналоговото увеличение на CCD матрицата" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Корекция на гамата" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Избира кривата на коригираната гама" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, fuzzy, no-c-format msgid "No transparency correction" msgstr "Цветова корекция." -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, fuzzy, no-c-format msgid "Negatives" msgstr "Негатив" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, fuzzy, no-c-format msgid "Slides" msgstr "Солидно бяло" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Автоматично" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, fuzzy, no-c-format msgid "Normal speed" msgstr "Нормално" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, fuzzy, no-c-format msgid "1/2 normal speed" msgstr "2х2 нормално" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, fuzzy, no-c-format msgid "1/3 normal speed" msgstr "3х3 нормално" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, fuzzy, no-c-format msgid "rounded parameter" msgstr "Параметри за мъглявост" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, fuzzy, no-c-format msgid "ADF jam" msgstr "ADF" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Стойност на гамата" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, fuzzy, no-c-format msgid "transparency unit lamp failure" msgstr "Прозрачност" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, fuzzy, no-c-format msgid "transparency unit shading error" msgstr "Прозрачност" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, fuzzy, no-c-format msgid "film scanner" msgstr "flatbed скенер" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "flatbed скенер" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Тип екран (film)" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Негативен филм" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, fuzzy, no-c-format msgid "Selects the negative film type" msgstr "Избира картинка за тестване" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, fuzzy, no-c-format msgid "Hardware resolution" msgstr "Резолюция на сканиране" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, fuzzy, no-c-format msgid "Use only hardware resolutions" msgstr "Покажи кратък списък с резолюции" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, fuzzy, no-c-format msgid "Auto focus" msgstr "Авто изваждане" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, fuzzy, no-c-format msgid "Enable/disable auto focus" msgstr "Забрани предв. фокус" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, fuzzy, no-c-format msgid "Manual focus position" msgstr "Фиксирай позиция на фокуса" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Огледален образ" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, fuzzy, no-c-format msgid "Mirror the image horizontally" msgstr "Прави хоризонтален огледален образ." -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, fuzzy, no-c-format msgid "Auto exposure" msgstr "Установи време за експониране" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, fuzzy, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Позволи избор на време за експонация" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Калибрация" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Дефинирай режима на калибрация" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "скенер с sheetfeed" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, fuzzy, no-c-format msgid "Reset the scanner" msgstr "скенер с sheetfeed" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, fuzzy, no-c-format msgid "Eject film after each scan" msgstr "Извади документа след сканиране" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, fuzzy, no-c-format msgid "Document feeder extras" msgstr "Feeder за документи" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, fuzzy, no-c-format msgid "Flatbed only" msgstr "Flatbed" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, fuzzy, no-c-format msgid "Transparency unit" msgstr "Прозрачност" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, fuzzy, no-c-format msgid "Negative film" msgstr "Негативен филм" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Позитивен екран" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, fuzzy, no-c-format msgid "Transparency ratio" msgstr "Прозрачност" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, fuzzy, no-c-format msgid "Select film type" msgstr "Тип екран (film)" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, fuzzy, no-c-format msgid "Select the film type" msgstr "Избира полутона" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbed" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, fuzzy, no-c-format msgid "ADF Duplex" msgstr "Дуплексно" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Печат" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Дуплексно" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Червено" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Зелено" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Синьо" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Повишение" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Повишение" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Повишение" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Нищо" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Симплексно" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Дуплексно" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Прозрачност" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Автоматично подаване на документи" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Позитивен екран" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Негативен филм" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Фокус върху стъклото" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Фокус 2,5 мм над стъклото" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Полутон A (Твърд тон)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Полутон B (Мек тон)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Полутон C (Net Screen)" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Dither A (4x4 Bayer)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Dither B (4x4 Spiral)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Dither C (4x4 Net Screen)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Dither D (8x4 Net Screen)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Технология за оконтрастиране на текста" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Свали десен B" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Свали десен B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Без корекция" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "По потребителска дефиниция" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Матрични принтери" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Лазерни принтери" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Мастиленоструйни принтери" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "CRT монитори" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "По подразбиране" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Принтиране с висока гъстота" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Принтиране с ниска гъстота" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Принтиране с висок контраст" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "По потребителска дефиниция (Гама=1,0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "По потребителска дефиниция (Гама=1,8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 портрет" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 пейзаж" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Letter" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Макс." -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Режим на сканиране" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Избира полутона" -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Dropout" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Избира dropout-а." -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Избира яркостта." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Острота" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Цветова корекция." -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" "Наглася таблицата за цветова корекция на избраното изходно устройство." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Коефициенти на цветова корекция" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Матрично умножаване на RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Измести зелено към червено" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Измести зелено към синьо" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Измести червено към зелено" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Измести червено към синьо" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Измести синьо към зелено" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Измести синьо към червено" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Наглася степента на зелено" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Добавя към червеното според степента на зелено" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Добавя към синьото според степента на зелено" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Добавя към зеленото според степента на червено" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Наглася степента на червено" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Добавя към синьото според степента на червено" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Добавя към зеленото според степента на синьо" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Добавя към червеното според степента на синьо" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Наглася степента на синьо" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Направи огледален образ на изображението" -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Бързо превю" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Автоматична сегментация на площ" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Кратък списък резолюции" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Покажи кратък списък с резолюции" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Увеличение" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Определя фактора на увеличение за скенера" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Бързо форматиране" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Оборудване по избор" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Извади" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Извади листа от ADF" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Авто изваждане" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Извади документа след сканиране" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, fuzzy, no-c-format msgid "Bay" msgstr "Bay" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, fuzzy, no-c-format msgid "Select bay to scan" msgstr "Избор на bay за сканиране" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2067,24 +2052,24 @@ msgstr "" "или таблицата, определена от потребителя, която може да се свали на " "скенера." -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Позиция на фокуса" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "" "Наглася позицията на фокуса или върху стъклото, или 2,5 мм над него" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Изчакай натискане на бутона" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2093,366 +2078,1109 @@ msgstr "" "След изпращане на команда за сканиране, изчакай, докато бутонът на " "скенера не е натиснат, преди да започнеш самото сканиране." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, fuzzy, no-c-format msgid "Positive Slide" msgstr "Позитивен екран" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, fuzzy, no-c-format msgid "Negative Slide" msgstr "Негативен филм" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, fuzzy, no-c-format msgid "User defined CCT profile" msgstr "По потребителска дефиниция" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "Вкл." -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Изкл." -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Dither" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Разсейка на грешките" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "White" msgstr "Степен на бялото" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, fuzzy, no-c-format msgid "Black" msgstr "Степен на черното" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Continue" msgstr "Кондиционално" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Хоризонтално" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Хоризонтално" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Хоризонтално" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "8x8 вертикална черта" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "8x8 вертикална черта" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Front" msgstr "Печат" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Полутон" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Груба калибрация" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Подчертаване на образа" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Наситеност" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "Позволява автоматично определяне на прага за lineart сканиране." + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Огледален образ" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Прави хоризонтален огледален образ." + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Степен на бялото - синьо" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Наглася степента на червено" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Цветно Lineart" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Изглаждане" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Стойност на гамата" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, fuzzy, no-c-format +msgid "Threshold curve" +msgstr "Праг" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Праг" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Редуциране на шума" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Без корекция" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Без корекция" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "Режим на захранване" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Обнови опциите" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Без корекция" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Dropout" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "Режим на захранване" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Изкл. лампа" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Офсет - синьо" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Офсет - зелено" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Офсет - зелено" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Офсет - синьо" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Наглася офсета на синия канал" + +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Дуплексно" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Обнови опциите" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Редуциране на шума" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "От хартия" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "От хартия" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "От хартия" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "От хартия" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Ръчен предв. фокус" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Ръчен предв. фокус" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "Резолюция на сканиране" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Степен на бялото" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Интензитет - червено" + +#: backend/fujitsu.c:4549 +#, no-c-format +msgid "Density dial" +msgstr "" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Дуплексно" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, fuzzy, no-c-format msgid "Extras" msgstr "Екстра бързо" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, fuzzy, no-c-format -msgid "Threshold curve" -msgstr "Праг" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Забрани връщане на главата" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Цветно Lineart" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Калибрация" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Дефинирай режима на калибрация" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Режим калибрация" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, fuzzy, no-c-format msgid "Lamp off time" msgstr "Изкл. лампа" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Груба калибрация" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, fuzzy, no-c-format msgid "File button" msgstr "Изчакай натискане на бутона" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, fuzzy, no-c-format msgid "Power button" msgstr "Изчакай натискане на бутона" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Изчакай натискане на бутона" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Груба калибрация" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Задължителна калибрация преди сканиране" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Калибриране" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Започване на калибрацията." -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Груба калибрация" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Режим калибрация" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Адаптиране на прозрачността" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Опции за дебъг" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Автоматично загряване" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2461,12 +3189,12 @@ msgstr "" "Загрявай, докато яркостта на лампата е постоянна, вместо да настояваш за " "60 секундно загряване." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Цялостно сканиране" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2475,12 +3203,12 @@ msgstr "" "Сканирай цялата площ за сканиране, вкл. парчето за калибрация. " "Внимавайте. Не избирайте цялата височина. Тази опция е само за тестване." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Груба калибрация" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2491,12 +3219,12 @@ msgstr "" "опция е забранена, има опции за ръчната нагласа на аналоговите параметри " "на фронтенда. Тази опция е разрешена по подразбиране. Само за тестване." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Груба калибрация само за първото сканиране" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2507,12 +3235,12 @@ msgstr "" "скенери и пести време. Ако яркостта на изображението е различна при " "всяко сканиране, забранете тази опция. Само за тестване" -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, fuzzy, no-c-format msgid "Backtrack lines" msgstr "Наложи връщане на главата" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2521,83 +3249,83 @@ msgid "" "omitting lines." msgstr "" -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Стойност на гамата" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Наглася стойността на гамата за всички канали." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, fuzzy, no-c-format msgid "Geometry Group" msgstr "Геометрия" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, fuzzy, no-c-format msgid "Scan Mode Group" msgstr "Режим на сканиране" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Солидно бяло" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, fuzzy, no-c-format msgid "Scanner model" msgstr "Режим на сканиране" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, fuzzy, no-c-format msgid "Disable gamma correction" msgstr "Корекция на аналоговата гама" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, fuzzy, no-c-format msgid "Gamma correction will be disabled" msgstr "Корекция на гамата" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, fuzzy, no-c-format msgid "Disable white shading correction" msgstr "Извърши само корекция на отсенките" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2605,12 +3333,12 @@ msgid "" "avoids depth emulation." msgstr "" -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, fuzzy, no-c-format msgid "Emulate Grayscale" msgstr "В сива скала" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2618,368 +3346,362 @@ msgid "" "circumstances." msgstr "" -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " "analyze them." msgstr "" -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, fuzzy, no-c-format msgid "Reset chipset" msgstr "скенер с sheetfeed" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, fuzzy, no-c-format msgid "Information" msgstr "Игнорирай калибрацията" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, fuzzy, no-c-format msgid "Chipset name" msgstr "Име на файла" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "" -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, fuzzy, no-c-format msgid "Shows the chipset ID" msgstr "скенер с sheetfeed" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, fuzzy, no-c-format msgid "Scan counter" msgstr "Източник на сканиране" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, fuzzy, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Избира номера на кадъра за сканиране" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, fuzzy, no-c-format msgid "Update information" msgstr "Обнови опциите" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Изображение" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, fuzzy, no-c-format msgid "offset X" msgstr "Офсет" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, fuzzy, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Горна лява x позиция на площта за сканиране." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, fuzzy, no-c-format msgid "offset Y" msgstr "Офсет" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, fuzzy, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Горна лява x позиция на площта за сканиране." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Включва/изключва лампата." -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "" -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "ADF" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Солидно бяло" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Негатив" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Цвят 48" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Изкл. лампа" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Изчакай натискане на бутона" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, fuzzy, no-c-format msgid "Waits for button before scanning" msgstr "Загрей лампата преди сканиране" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, fuzzy, no-c-format msgid "Advanced Options" msgstr "Обнови опциите" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "8х8 грубо" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Име на файла" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "8х8 по избор" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Авто" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, fuzzy, no-c-format msgid "Pass-through" msgstr "Pass-through" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSC сиво" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "XPA сиво" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "По-бавно" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Нормално" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "По-бързо" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Екстра бързо" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2-пикселно" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4-пикселно" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8-пикселно" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Печат" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Тип филм" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "XPA" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Кондиционално" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, fuzzy, no-c-format msgid "Experiment" msgstr "Време за експонация" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Изостряне" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Нагласи стойността за изостряне." -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Автоматичен праг" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "Позволява автоматично определяне на прага за lineart сканиране." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Изглаждане" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Избира полутона" -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Отзареждане на медията след сканиране." -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Отзарежда медията след сканиране." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Смени документа" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Смени документа." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Отзареди" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Отзареди документа." -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Започване на калибрацията." -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Медия" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Нагласи типа медия." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Време за експонация" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -2992,462 +3714,461 @@ msgstr "" "слайдове и \"Негатив\" за негативен филм. За тъмни (подекспонирани) " "изображения можете да завишите тази стойност." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Цветна матрица" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Наглася цветната матрица на скенера." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Цветна матрица по избор." -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Едноцветна матрица" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Цветна матрица по избор за сканиране в сива скала." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Огледало хоризонтално" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Прави хоризонтален огледален образ." -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Огледало вертикално" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Прави вертикален огледален образ" -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Обнови опциите" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Обнови опциите." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "8-битово извеждане." -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" "Вътрешно използвай по-голяма дълбочина от осем бита, но извеждай само " "осем бита." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Изчакай бутона" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "Изчакай за натискане на бутона преди сканиране." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Изключи лампата" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Изключва лампата на скенера" -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Размер на хартията" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Автоматично разделение" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 пейзаж" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Ръчен предв. фокус" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Ръчен предв. фокус" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Позволи дупрексно (двустранно) сканиране" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Физически размер на хартията в ADF" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "Полутон" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Цвят" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "Кондиционално" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "Изкл." -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Полутон" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Полутон" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, fuzzy, no-c-format msgid "diffusion" msgstr "Разсейка на грешките" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Нормално" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Осветление" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "flatbed скенер" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "От хартия" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "По подразбиране" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Изглаждане" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "По-бавно" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Средно" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Червено" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Зелено" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Източник на сканиране" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Режим на захранване" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Наглася режима на захранване" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Забрани предв. фокус" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Забрани предв. фокус" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Наглася режима на захранване" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Наглася режима на захранване" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Автоматичен праг" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3456,515 +4177,502 @@ msgstr "" "Автоматично наглася яркостта, контраста, нивото на бяло, гамата, " "редукцията на шума и подчертаването на образа" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Редуциране на шума" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Намали изолирания точков шум" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Подчертаване на образа" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Наглася подчертаването на образа" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Гама" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Вкл. лампа" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Включва/изключва лампата." -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Прави вертикален огледален образ" -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Корекция на гамата" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "Принтиране с висока гъстота" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "Принтиране с ниска гъстота" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, fuzzy, no-c-format msgid "err_diffusion" msgstr "Разсейка на грешките" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Без корекция" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Нормално" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Повишение" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Автоматичен праг" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Автоматичен праг" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "Наглася поредността на фреймовете." -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Сянка - синьо" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Измести червено към синьо" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamond" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "8x8 груб Fatting" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "8x8 фин Fatting" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "8x8 Bayer" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 вертикална черта" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Увеличение" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Настройки по увеличение на цветните канали" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Увеличение - сиво" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Наглася увеличение на сивия канал" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Увеличение - червено" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Наглася увеличение на червения канал" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Увеличение - зелено" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Наглася увеличение на зеления канал" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Увеличение - синьо" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Наглася увеличение на синия канал" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Bayer Dither 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Bayer Dither 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Полутон Dot 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Полутон Dot 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Разсейка на грешките" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Режим 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Режим 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Режим 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "От бял" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Изглаждане" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Ниско" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Средно" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Високо" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "CRT" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Една страница" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Всички страници" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, fuzzy, no-c-format msgid "sheetfed scanner" msgstr "скенер с sheetfeed" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "Сива скала 4 бита" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "Сива скала 8 бита" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Сенки, полутонове, светли тонове, време за експониране" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Специални опции" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Цветови баланс" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Забрани връщане на главата" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "При отмятане, скенерът не връща главата обратно" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Превключи лампата на flatbed-а" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Превключва лампата на flatbed-а" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Калибрация от бекенда" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" @@ -3972,42 +4680,42 @@ msgstr "" "Ако отметнете тук, цветовата калибрация преди сканирането се прави от " "бекенда" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Използвай адаптера за 35мм светлинна капачка" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "Тази опция изключва лампата на flatbed-а по време на сканиране" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Качествено сканиране" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Най-високо качество, по-ниска скорост" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Бързо сканиране" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Най-висока скорост, по-ниско качество" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Автоматично пригаждане на прага" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4016,67 +4724,67 @@ msgstr "" "Ако отметнете тук, бекендът автоматично ще потърси оптимална стойноста " "за прага." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Избира режима за корекция на гамата." -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Вържи гамата" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Използва същите стойности за всички цветови канали." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Скаларна гама" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Избира стойност за скаларната гама-корекция." -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Скаларна гама - червено" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "Избира стойност за скаларната гама-корекция (червен канал)" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Скаларна гама - зелено" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "Избира стойност за скаларната гама-корекция (зелен канал)." -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Скаларна гама - синьо" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Избира стойност за скаларната гама-корекция (син канал)." -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Канал" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." @@ -4084,207 +4792,207 @@ msgstr "" "Избира цветовата лента. \"Master\" означава, че всички цветова са " "засегнати." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Полутон" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "Избира кое ниво на осветеност ще се смята за \"50 % сиво\"." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Полутон - червено" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Избира кое ниво на осветеност ще се смята за \"50 % червено\"." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Полутон - зелено" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "Избира кое ниво на осветеност ще се смята за \"50% зелено\"." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Полутон - синьо" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "Избира кое ниво на осветеност ще се счита за \"50 % синьо\"." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Баланс - червено" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "Фактор за балансиране на червеното. 100% означава без корекция." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Баланс - зелено" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "Фактор за балансиране на зеленото. 100% означава без корекция." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Баланс - синьо" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "Фактор за балансиране на синьото. 100% означава без корекция." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Баланс от фърмуера" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "Наглася за стойности на цветови баланс предвидените от firmware-а." -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Най-бавно" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "По-бавно" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "По-бързо" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Най-бързо" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8х8 грубо" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8х8 нормално" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8х8 фино" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8х8 много фино" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6х6 нормално" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5х5 грубо" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5х5 фино" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4х4 грубо" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4х4 нормално" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4х4 фино" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3х3 нормално" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2х2 нормално" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8х8 по избор" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6х6 по избор" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5х5 по избор" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4х4 по избор" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3х3 по избор" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2х2 по избор" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Бърз сив режим" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Сканирай в бърз сив режим (по-ниско качество)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4293,117 +5001,117 @@ msgstr "" "Поискай всички превюта да се правят в най-бърз (нискокачествен) режим. " "Това може да е безцветен режим или режим с ниска резолюция." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, fuzzy, no-c-format msgid "Lamp off time (minutes)" msgstr "Загрей лампата" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, fuzzy, no-c-format msgid "Turn lamp off" msgstr "Включва/изключва лампата" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, fuzzy, no-c-format msgid "Turns the lamp off immediately." msgstr "Превключва лампата на flatbed-а" -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Яркост - червено" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Наглася яркостта на червения канал на полученото изображение." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Яркост - зелено" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Наглася яркостта на зеления канал на полученото изображение." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Яркост - синьо" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Наглася яркостта на синия канал на полученото изображение." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Контраст - червен канал" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Наглася контраста на червения канал на полученото изображение." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Контраст - зелен канал" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Наглася контраста на зеления канал на полученото изображение." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Контраст - син канал" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Наглася контраста на синия канал на полученото изображение." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Цвят 48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Цвят 24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Сиво 16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Сиво 8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, fuzzy, no-c-format msgid "Positive" msgstr "Позитивен екран" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4412,39 +5120,39 @@ msgstr "" "Загрявай, докато яркостта на лампата е постоянна, вместо да настояваш за " "40 секундно загряване." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Негативен филм" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Негатив" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, no-c-format msgid "48 bits color" msgstr "" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4452,248 +5160,239 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: ../backend/pixma_sane_options.c:143 +#: backend/pixma_sane_options.c:232 #, no-c-format -msgid "Gamma function exponent" +msgid "Update button state" msgstr "" -#: ../backend/pixma_sane_options.c:144 +#: backend/pixma_sane_options.c:244 #, no-c-format -msgid "Changes intensity of midtones" +msgid "Button 1" msgstr "" -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:258 #, no-c-format -msgid "Update button state" +msgid "Button 2" msgstr "" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:272 #, no-c-format -msgid "Button 1" +msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:286 #, no-c-format -msgid "Button 2" +msgid "Target operation type" msgstr "" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:348 #, no-c-format -msgid "Type of original to scan" +msgid "ADF Waiting Time" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:349 #, no-c-format -msgid "Target operation type" +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Прозрачност" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "" -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, fuzzy, no-c-format msgid "Lamp off during dark calibration" msgstr "Груба калибрация" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, fuzzy, no-c-format msgid "Calibration data cache" msgstr "Режим калибрация" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "" -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, fuzzy, no-c-format msgid "Performs calibration" msgstr "Груба калибрация" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "" -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, fuzzy, no-c-format msgid "Warmup-time" msgstr "Загрей лампата" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, fuzzy, no-c-format msgid "Warmup-time in seconds." msgstr "Загрей лампата" -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, fuzzy, no-c-format msgid "Lampoff-time" msgstr "Изкл. лампа" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, fuzzy, no-c-format msgid "Lampoff-time in seconds." msgstr "Загрей лампата" -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, fuzzy, no-c-format msgid "Analog frontend" msgstr "Аналогова гама - червено" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Офсет - червено" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Офсет - зелено" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Офсет - синьо" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, fuzzy, no-c-format msgid "Red lamp off" msgstr "Включва/изключва лампата" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, fuzzy, no-c-format msgid "Green lamp off" msgstr "Включва/изключва лампата" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, fuzzy, no-c-format msgid "Blue lamp off" msgstr "Включва/изключва лампата" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "" -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Цвят 36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Направи произволно" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Избор на източник" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Подобрение на образа" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Посиви" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Зареди образа като сива скала." -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Симулация на тройно минаване" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4702,12 +5401,12 @@ msgstr "" "Симулира скенер с тройно минаване, като връща 3 отделни пъти. Първо " "връща зелено, после синьо, а накрая - червено." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Симулация на ръчен скенер" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4719,48 +5418,48 @@ msgstr "" "тази опция позволява да тествате дали фронтендът може да се справи " "правилно с това." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." msgstr "Нагласи висящите опции за подобрение (за яркостта и контраста)." -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Тест само за четене" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Да видим дали фронтендовете ще се справят с това" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Таблици за гамата" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Симулация на статус-код" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Не насилвай статус-код" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Не насилвай бекенда да връща статус-код" -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Върни SANE_STATUS_EOF" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4769,12 +5468,12 @@ msgstr "" "Накарай бекенда да върне статус-кода SANE_STATUS_EOF след повикването на " "sane_read()." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Върни SANE_STATUS_JAMMED" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4783,12 +5482,12 @@ msgstr "" "Накарай бекенда да върне статус-кода SANE_STATUS_JAMMED, след " "повикването на sane_read()." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Върни SANE_STATUS_NO_DOCS" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4797,12 +5496,12 @@ msgstr "" "Накарай бекенда да върне статус-кода SANE_STATUS_NO_DOCS след " "повикването на sane_read()." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Върни SANE_STATUS_COVER_OPEN" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4811,12 +5510,12 @@ msgstr "" "Накарай бекенда да върне статус-кода SANE_STATUS_COVER_OPEN след " "повикване на sane_read()." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Върни SANE_STATUS_IO_ERROR" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4825,12 +5524,12 @@ msgstr "" "Накарай бекенда да върне статус-кода SANE_STATUS_IO_ERROR след повикване " "на sane_read()." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Върни SANE_STATUS_NO_MEM" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4839,12 +5538,12 @@ msgstr "" "Накарай бекенда да върне статус-кода SANE_STATUS_NO_MEM след повикване " "на sane_read()." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Върни SANE_STATUS_ACCESS_DENIED" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4853,85 +5552,82 @@ msgstr "" "Накарай бекенда да върне статус-кода SANE_STATUS_ACCESS_DENIED след " "повикване на sane_read()." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "" -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Вкл. лампа" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Включи лампата на скенера" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Изкл. лампа" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Изключва лампата на скенера" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, fuzzy, no-c-format msgid "Lamp timeout" msgstr "Изкл. лампа" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Feeder за документи" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (инча)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8х10 (инча)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8,5х11 (инча)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Няма поддръжка на полутонове" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "DispersedDot8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "DispersedDot16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -4947,27 +5643,27 @@ msgstr "" "висок, X-базираните четци могат да спрат да отговарят на събитията по X " "и системата ви може да увисне." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Извади документа след сканиране" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Режим на превю" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -4976,12 +5672,12 @@ msgstr "" "Избира режима на превю. Превю по сива скала обикновено дава най-добро " "съотношение между скорост и детайлност." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Предефинирани настройки" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -4990,97 +5686,97 @@ msgstr "" "Осигурява стандартни площи за сканиране за снимки, принтирани страници и " "подобни." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "flatbed скенер" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, no-c-format msgid "Focus-mode" msgstr "" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Авто изваждане" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Позиция на фокуса" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Позиция на фокуса" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Цветни линии на четене" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Линии на четене по сива скала" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Цвят RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Цвят RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Цвят RGB TEXT" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Солидно черно" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Солидно бяло" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Цветови десен" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Решетка" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Първо въвеждане" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Второ въвеждане" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5089,12 +5785,12 @@ msgstr "" "Това е много дългото трето въвеждане. Може би фронтендът ще може да го " "покаже." -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Симулация на ръчен скенер" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5108,12 +5804,12 @@ msgstr "" "правилно да се справи с това. Също така, опцията позволява фиксирана " "ширина от 11 см." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Симулация на тройно минаване" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5121,35 +5817,35 @@ msgid "" msgstr "" "Симулира скенер с тройно минаване. В цветен режим се предават три фрейма." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Наглася поредността на фреймовете." -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "" "Наглася поредността на фреймовете в цветен режим при тройно минаване." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " "after 10 scans." msgstr "" -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Специални опции" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Избира картинка за тестване" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5167,12 +5863,12 @@ msgstr "" "Решетка: рисува черно-бяла решетка с широчина и височина от 10 мм на " "квадрат." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Смени endianness" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5184,24 +5880,24 @@ msgstr "" "фронтендовете, напр. дали фронтендът използва правилния endianness " "(метод за запазване на данни в паметта на компютъра." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Лимит на четене" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" "Ограничава количеството данни, предадени с всяко повикване на " "sane_read()." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Размер на лимита на четене" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." @@ -5209,33 +5905,33 @@ msgstr "" "(Максималното) количество данни, предадени с всяко повикване на " "sane_read()." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Забавяне при четене" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Забавяне на трансфера на данни по линията." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Продължителност на забавянето при четене" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "Колко дълго да се чака след предаването на всеки буфер данни." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Връщана стойност на sane_read" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5246,22 +5942,22 @@ msgstr "" "нормалната стойност за сканиране. Всички други статус-кодове са за " "тестване на това как се справя фронтенда с тях." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Загуба на пиксели на линия" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Броят пиксели, които се губят в края на всяка линия." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Параметри за мъглявост" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5270,23 +5966,23 @@ msgstr "" "Върни мъгляви линии и байтове на линия, когато sane_parameters() е " "извикано преди sane_start()." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Използвай неблокиращ IO" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Използва неблокиращ IO порт за sane_read(), ако фронтенда го поддържа." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Предложи select file descriptor" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5295,12 +5991,12 @@ msgstr "" "Предлага специален filedescriptor за детектване дали sane_read() ще " "върне данни." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Позволи тестови опции" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5310,27 +6006,27 @@ msgstr "" "способността на фронтендовете да виждат и модифицират всичките типове " "опции на SANE." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Принт на опциите" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Изважда разпечатка на всички опции." -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Булеви тестови опции" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) Булева мек избор мек детект" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5339,12 +6035,12 @@ msgstr "" "(1/6) Булева тестова опция с мек избор и мек детект (и разширени) " "възможности. Това е просто нормална булева опция." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Булева твърд избор и мек детект" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5356,12 +6052,12 @@ msgstr "" "фронтенда, а само от потребителя (напр. чрез натискане на бутон върху " "устройството)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Булева твърд избор" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5373,12 +6069,12 @@ msgstr "" "потребителя (напр. чрез натискане на бутон върху устройството) и " "фронтендът не може да я чете." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) Булева мек детект" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5387,12 +6083,12 @@ msgstr "" "(4/6) Булева тестова опция с мек детект (и разширени) възможности. Това " "означава, че опцията е само за четене (read-only)." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Булева мек избор мек детект емулирана" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5401,12 +6097,12 @@ msgstr "" "(5/6) Булева тестова опция с мек избор, мек детект и емулирани (и " "разширени възможности." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) Булева мек избор мек детект авто" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5417,27 +6113,27 @@ msgstr "" "разширени) възможности. Тази опция може автоматично да се нагласи от " "бекенда." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Int тестови опции" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Int" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "(1/6) Интегрална тестова опция без ограничения и единица." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Int ограничен обхват" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5446,24 +6142,24 @@ msgstr "" "(2/6) Интегрална тестова опция с единица пиксел и нагласен обхват на " "ограничение. Минимумът е 4, максимумът е 192, а стъпката е 2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) Int ограничен word list" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" "(3/6) Интегрална тестова опция с единица бит и нагласен ограничен word " "list." -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Int array" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " @@ -5472,12 +6168,12 @@ msgstr "" "(4/6) Интегрална тестова опция с единица мм; използва array без " "ограничения." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) Int array ограничен обхват" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5486,12 +6182,12 @@ msgstr "" "(5/6) Интегрална тестова опция с единица dpi; използва array с ограничен " "обхват. Минимумът е 4, максимумът е 192, а стъпката е 2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Int array ограничен word list" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5500,27 +6196,27 @@ msgstr "" "(6/6) Интегрална тестова опция с единица процент; използва array с " "ограничен word list." -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Фиксирани тестови опции" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Фиксирана" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "(1/3) Фиксирана тестова опция без нагласена единица и ограничения." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Фиксирана ограничение обхват" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5530,49 +6226,49 @@ msgstr "" "ограничен обхват. Минимумът е -42,17, максимумът 32767,9999, а стъпката " "е 2,0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) Фиксирана ограничен word list" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" "(3/3) Фиксирана тестова опция без нагласена единица и с ограничен word " "list." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "Стрингови тестови опции" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) String" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) Стрингова тестова опция без ограничение." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) String ограничен string list" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "(2/3) Стрингова тестова опция с ограничен string list." -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) String с ограничен long string list" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5581,156 +6277,160 @@ msgstr "" "(3/3) Стрингова тестова опция с ограничителен string list. Съдържа " "повече стойности..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Бутонни тестови опции" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Button" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Бутонна тестова опция. Извежда някакъв текст..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Цвят 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Използвай композицията на изображението." -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Черно и бяло в две нива (режим lineart)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Dither/полутон черно и бяло (режим полутон)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Черно и бяло в много нива (режим сива скала)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "RGB цветно в много нива (с едно минаване)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Игнорирай калибрацията" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Забрани предв. фокус" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Не калибрирай фокуса" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Ръчен предв. фокус" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Фиксирай позиция на фокуса" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Калибрация на лещата в позиция документ" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Калибрирай фокуса на лещата в позиция документ" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Позиция на holder фокуса 0мм" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Използвай 0мм позиция на holder фокуса, вместо 0,6мм" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Режим калибрация" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Дефинирай режима на калибрация" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Включва/изключва лампата" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "UTA вкл." -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Включва/изключва UTA" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Офсет" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Настройки по офсета на цветните канали" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Офсет - сиво" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Наглася офсета на сивия канал" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Наглася офсета на червения канал" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Наглася офсета на зеления канал" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Наглася офсета на синия канал" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Режим на превю" + #~ msgid "Grayscale" #~ msgstr "В сива скала" diff --git a/po/boldquot.sed b/po/boldquot.sed new file mode 100644 index 0000000..4b937aa --- /dev/null +++ b/po/boldquot.sed @@ -0,0 +1,10 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g +s/“/“/g +s/”/”/g +s/‘/‘/g +s/’/’/g diff --git a/po/cs.gmo b/po/cs.gmo new file mode 100644 index 0000000..0a2dae8 Binary files /dev/null and b/po/cs.gmo differ diff --git a/po/cs.po b/po/cs.po index c7c3e7c..0b350b6 100644 --- a/po/cs.po +++ b/po/cs.po @@ -4,422 +4,416 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends.cs\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2007-12-17 22:59+0100\n" "Last-Translator: Josef \n" "Language-Team: \n" -"Language: \n" +"Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 0.9.5\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Množství voleb" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometrie" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Vylepšení" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Pokročilé" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Náhled" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Vynutit monochromatický náhled" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Bitová hloubka" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Režim skenu" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Rychlost skenu" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Zdroj" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Skenovat při zpětném chodu" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Levý horní roh x" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Levý horní roh y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Pravý dolní roh x" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Pravý dolní roh y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Rozlišení" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "Rozlišení X" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Rozlišení Y" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, fuzzy, no-c-format msgid "Page height" msgstr "Světlé body" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Použít uživatelskou tabulku gama" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Intenzita obrázku" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Intenzita červené" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Intenzita zelené" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Intenzita modré" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Jas" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Kontrast" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Rozměr zrna" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Polotóny" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Úroveň černé" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Úroveň bílé" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Úroveň bílé červené" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Úroveň bílé zelené" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Úroveň bílé modré" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Stíny" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Stíny červené" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Stíny zelené" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Stíny modré" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Světlé body" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Světlé body červené" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Světlé body zelené" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Světlé body modré" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Odstín" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Sytost" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Jméno souboru" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Rozměr vzorku polotónu" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Vzorek polotónu" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Svázat rozlišení X a Y" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Kalibrace kvality" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Dvojnásobné optické rozlišení" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Svázat RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Prahová hodnota" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Analogová korekce gama" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Analogová korekce gama pro červenou" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Analogová korekce gama pro zelenou" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Analogová korekce gama pro modrou" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Svázat analogovou hodnotu gama" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Zahřát lampu" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Kalibr. expoziční čas" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Kalibr. expoziční čas pro červenou" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Kalibr. expoziční čas pro zelenou" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Kalibr. expoziční čas pro modrou" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Zjistit expoziční čas" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Zjistit expoziční čas pro červenou" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Zjistit expoziční čas pro zelenou" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Zjistit expoziční čas pro modrou" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Nastavit expoziční čas" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Kalibrovat svítivost (density) lampy" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Zjistit svítivost (density) lampy" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Nastavit svítivost (density) lampy" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Vypnout lampu při ukončení" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -428,37 +422,37 @@ msgstr "" "Hodnota pouze pro čtení, která udává, kolik voleb dané zařízení " "podporuje." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, fuzzy, no-c-format msgid "Source, mode and resolution options" msgstr "Zkrácený seznam rozlišení" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, fuzzy, no-c-format msgid "Image modification options" msgstr "Množství voleb" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, fuzzy, no-c-format msgid "Hardware specific options" msgstr "Rozlišení" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Požaduje sken v kvalitě náhledu." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -470,7 +464,7 @@ msgstr "" "jednoprůchodovém skeneru to snižuje paměťové nároky a čas skenování " "náhledu." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -479,74 +473,74 @@ msgstr "" "Počet bitů na vzorek, typicky je 1 pro \"perokresbu\" a 8 pro vícebitové " "skeny." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "Zvolí režim skenování (tj. perokresba, stupně šedé nebo barva)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Určuje, jakou rychlostí se skenuje." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Volí zdroj skenování (např. automatický podavač)." -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Nastavuje, zda je povolen ypětný průchod." -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Levý horní roh x skenované plochy." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Levý horní roh y skenované plochy." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Pravý dolní roh x skenované plochy." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Pravý dolní roh y skenované plochy." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Nastavuje rozlišení skenovaného obrázku." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Nastavuje horizontální rozlišení skenovaného obrázku." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Nastavuje vertikální rozlišení skenovaného obrázku." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " "sheet-fed scans." msgstr "" -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, fuzzy, no-c-format msgid "Specifies the height of the media." msgstr "Nastavuje rozlišení skenovaného obrázku." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." @@ -554,7 +548,7 @@ msgstr "" "Volí, zda má být použita vestavěná nebo uživatelem definovaná tabulka " "gama korekcí." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -564,32 +558,32 @@ msgstr "" "Tabluka gama korekcí. V barevném režimu ovlivňuje červený, zelený a " "modrý kanál současně (tj. jde o tabulku gama korekcí intenzity)." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Tabulka gama korekcí pro červené pásmo." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Tabulka gama korekcí pro zelené pásmo." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Tabulka gama korekcí pro modré pásmo." -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Ovládá jas naskenovaného obrázku." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Ovládá kontrast naskenovaného obrázku." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -598,79 +592,79 @@ msgstr "" "Ovládá \"zrnitost\" naskenovaného obrázku. Nižší hodnoty znamenají " "ostřejší obrázek." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" "Volí, zda naskenovaný obrázek má být převeden na černobílý pomocí " "rozptylu." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "Nastavuje, jaká úroveň jasu má být považována za \"černou\"." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "Nastavuje, jaká úroveň jasu má být považována za \"bílou\"." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "Nastavuje, jaká úroveň červené má být považována za \"bílou\"." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "Nastavuje, jaká úroveň zelené má být považována za \"bílou\"." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "Nastavuje, jaká úroveň modré má být považována za \"bílou\"." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "Nastavuje, jaká úroveň červené má být považována za \"černou\"." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "Nastavuje, jaká úroveň zelené má být považována za \"černou\"." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "Nastavuje, jaká úroveň modré má být považována za \"černou\"." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Nastavuje, jaká úroveň červené má být považována za \"zcela červenou\"." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." msgstr "" "Nastavuje, jaká úroveň zelené má být považována za \"zcela zelenou\"." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." msgstr "" "Nastavuje, jaká úroveň modré má být považována za \"zcela modrou\"." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Nastavuje \"odstín\" (úroveň modré) naskenovaného obrázku." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -679,12 +673,12 @@ msgstr "" "Úroveň nasycení ovládá úroveň \"sytosti\" barev, obzvláště patrné u " "fotografií. Vyšší hodnoty znamenají výraznější barvy." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Jméno souboru obrázku, který bude načten." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -693,294 +687,294 @@ msgstr "" "Nastaví rozměr polotónového (rozptylového) vzoru při skenování " "polotónových obrázků." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." msgstr "" "Definuje polotónový (rozptylový) vzor při skenování polotónových obrázků." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Použít shodné rozlišení pro osu X a Y" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Zaměnit černou a bílou" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Provést kvalitní kalibraci bílé" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Použít dvojité optické rozližení objektivu" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "V režimu RGB použít stejné hodnoty pro všechny barvy" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Zvolit minimální jas pro bílý bod" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Analogová korekce gama" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Analogová korekce gama pro červenou" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Analogová korekce gama pro zelenou" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Analogová korekce gama pro modrou" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Zahřát lampu před skenováním" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Nastavit expoziční dobu pro kalibraci" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Nastavit expoziční dobu pro kalibraci červené" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Nastavit expoziční dobu pro kalibraci zelené" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Nastavit expoziční dobu pro kalibraci modré" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Nastavit expoziční dobu pro sken" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Nastavit expoziční dobu pro sken červené" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Nastavit expoziční dobu pro sken zelené" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Nastavit expoziční dobu pro sken modré" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Povolit volbu expozičních časů" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Definovat svítivost (density) lampy pro kalibraci" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Definovat svítivost (density) lampy pro sken" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Povolit volbu svítivosti (density) lampy" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Vypnout lampu při ukončení programu" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, fuzzy, no-c-format msgid "Scan button" msgstr "Rozlišení" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, fuzzy, no-c-format msgid "Email button" msgstr "Čekat na tlačítko" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, fuzzy, no-c-format msgid "Fax button" msgstr "Čekat na tlačítko" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, fuzzy, no-c-format msgid "Copy button" msgstr "Čekat na tlačítko" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, fuzzy, no-c-format msgid "Cover open" msgstr "Barevný vzorek" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Barva" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Barevná perokresba" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Barevný polotón" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Šedá" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Polotóny" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Perokresba" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, fuzzy, no-c-format msgid "Operation not supported" msgstr "Polotón není podporován" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, fuzzy, no-c-format msgid "Document feeder jammed" msgstr "Podavač dokumentů" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, fuzzy, no-c-format msgid "Document feeder out of documents" msgstr "Podavač dokumentů" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Standardní nastavení" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Nastavit standardní hodnoty prvků pro vylepšení obrázku" -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Kalibrace" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Kalibrovat před dalším skenem" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -989,12 +983,12 @@ msgstr "" "Pokud je zvolena tato volba, je skener kalibrován před každým dalším " "skenem. Jinak se kalibruje pouze před prvním skenem." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Provést pouze korekci stínů" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1005,1058 +999,1049 @@ msgstr "" "stínů. Pro zisk, odstup a expozici jsou použity standardní hodnoty - buď " "vestavěné nebo z konfiguračního souboru." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Stav tlačítek" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Číslo políčka pro sken" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Zvolí číslo políčka, které bude naskenováno" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, fuzzy, no-c-format msgid "Duplex scan" msgstr "Oboustraně" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Kalibrovat skener" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Vynutit kalibraci skeneru před skenováním" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Stupně šedé" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Skenovat ve stupních šedé místo v barvě" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Analogový zisk" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Zvýšit nebo snížit analogový zisk CCD pole" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Korekce gama" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Nastaví gama korekci přenosové křivky" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, fuzzy, no-c-format msgid "No transparency correction" msgstr "Barevná korekce" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, fuzzy, no-c-format msgid "Negatives" msgstr "Negativ" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, fuzzy, no-c-format msgid "Slides" msgstr "Zcela bílá" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automaticky" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, fuzzy, no-c-format msgid "Normal speed" msgstr "Normální" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, fuzzy, no-c-format msgid "1/2 normal speed" msgstr "2x2 normální" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, fuzzy, no-c-format msgid "1/3 normal speed" msgstr "3x3 normální" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, fuzzy, no-c-format msgid "rounded parameter" msgstr "Nepřesné (fuzzy) parametry" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Hodnota gama" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, fuzzy, no-c-format msgid "transparency unit lamp failure" msgstr "Prosvětlovací jednotka" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, fuzzy, no-c-format msgid "transparency unit shading error" msgstr "Prosvětlovací jednotka" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, fuzzy, no-c-format msgid "film scanner" msgstr "Stolní skener" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "Stolní skener" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Typ filmu" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Negativní film" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, fuzzy, no-c-format msgid "Selects the negative film type" msgstr "Zvolit testovací obrázek" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, fuzzy, no-c-format msgid "Hardware resolution" msgstr "Rozlišení" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, fuzzy, no-c-format msgid "Use only hardware resolutions" msgstr "Zobrazí zkrácený seznam rozlišení" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, fuzzy, no-c-format msgid "Auto focus" msgstr "Automaticky vysunout" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, fuzzy, no-c-format msgid "Enable/disable auto focus" msgstr "Vyřadit předběžné zaostření" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, fuzzy, no-c-format msgid "Manual focus position" msgstr "Pozice pevného zaostření" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Zrcadlit obrázek" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, fuzzy, no-c-format msgid "Mirror the image horizontally" msgstr "Zrcadlit obrázek" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, fuzzy, no-c-format msgid "Auto exposure" msgstr "Nastavit expoziční čas" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, fuzzy, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Povolit volbu expozičních časů" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Kalibrace" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Definovat režim kalibrace" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "skener s podavačem" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, fuzzy, no-c-format msgid "Reset the scanner" msgstr "skener s podavačem" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, fuzzy, no-c-format msgid "Eject film after each scan" msgstr "Vysunout dokument po naskenování" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, fuzzy, no-c-format msgid "Document feeder extras" msgstr "Podavač dokumentů" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, fuzzy, no-c-format msgid "Flatbed only" msgstr "Stolní" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, fuzzy, no-c-format msgid "Transparency unit" msgstr "Prosvětlovací jednotka" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, fuzzy, no-c-format msgid "Negative film" msgstr "Negativní film" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Pozitivní film" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, fuzzy, no-c-format msgid "Transparency ratio" msgstr "Prosvětlovací jednotka" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, fuzzy, no-c-format msgid "Select film type" msgstr "Typ filmu" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, fuzzy, no-c-format msgid "Select the film type" msgstr "Zvolit polotóny" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Stolní" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, fuzzy, no-c-format msgid "ADF Duplex" msgstr "Oboustraně" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, no-c-format msgid "Card Front" msgstr "" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Oboustraně" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Červená" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Zelená" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Modrá" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Vylepšení" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Vylepšení" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Vylepšení" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Žádné" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Jednostraně" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Oboustraně" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Prosvětlovací jednotka" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatický podavač dokumentů" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Pozitivní film" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Negativní film" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Zaostření na sklo" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Zaostření 2,5 mm nad sklo" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Polotón A (ostrý)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Polotón B (měkký)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Polotón C (síť - \"Net Screen\")" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Rozptyl A (4x4 Bayer)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Rozptyl B (4x4 Spirálový)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Rozptyl C (4x4 Síťový)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Rozptyl D (8x4 Síťový)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Technika vylepšení textu" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Download vzor A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Download vzor B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Bez korekce" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Uživatelské nastavení" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Jehličkové tiskárny" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Teplocitlivé tiskárny" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Inkoustové tiskárny" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "CRT monitory" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Standard" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Tisk ve vysoké kvalitě" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Tisk v nízké kvalitě" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Tisk s vysokým kontrastem" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Uživatelsky definováno (Gama=1,0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Uživatelsky definováno (Gama=1,8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 na výšku" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 na šířku" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Letter" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Max" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Režim skenování" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Zvolit polotóny" -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Výpadek" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Nastaví výpadek." -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Nastaví jas." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Zaostření" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Barevná korekce" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "Nastaví tabulku barevných korekcí pro vybrané výstupní zařízení." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Koeficienty barevných korekcí" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Násobící matice RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Posun zelená-červená" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Posun zelená-modrá" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Posun červená-zelená" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Posun červená-modrá" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Posun modrá-zelená" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Posun modrá-červená" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Ovládá úroveň zelené" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Přidává červenou v závislosti na úrovni zelené" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Přidává modrou v závislosti na úrovni zelené" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Přidává zelenou v závislosti na úrovni červené" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Ovládá úroveň červené" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Přidává modrou v závislosti na úrovni červené" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Přidává zelenou v závislosti na úrovni modré" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Přidává červenou v závislosti na úrovni modré" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Ovládá úroveň modré" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Zrcadlí obrázek." -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Rychlý náhled" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Automatické rozložení plochy" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Zkrácený seznam rozlišení" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Zobrazí zkrácený seznam rozlišení" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Přiblížení" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Nastaví faktor přiblížení, který skener použije" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Rychlý formát" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Volitelné příslušenství" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Vysunout" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Vysunout papír z automatického podavače" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Automaticky vysunout" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Vysunout dokument po naskenování" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Pozice" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Zvolte pozici pro sken" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2065,23 +2050,23 @@ msgstr "" "Zvolit gama korekci ze seznamu předdefinovaných zařízení nebo " "uživatelské tabulky, kterou lze nahrát do skeneru" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Pozice zaostření" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "Nastaví pozici zaostření buď na sklo nebo 2,5 mm nad sklo" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Čekat na tlačítko" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2090,366 +2075,1109 @@ msgstr "" "Po odeslání příkazu ke skenování se s vlastním skenem čeká až na stisk " "tlačítka na skeneru." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, fuzzy, no-c-format msgid "Positive Slide" msgstr "Pozitivní film" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, fuzzy, no-c-format msgid "Negative Slide" msgstr "Negativní film" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, fuzzy, no-c-format msgid "User defined CCT profile" msgstr "Uživatelské nastavení" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Rozptyl" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Chybový rozptyl" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "White" msgstr "Úroveň bílé" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, fuzzy, no-c-format msgid "Black" msgstr "Úroveň černé" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, no-c-format msgid "Continue" msgstr "" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Horizontální" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Horizontální" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Horizontální" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Vertikální" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Vertikální" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, no-c-format msgid "Front" msgstr "" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Polotóny" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Hrubá kalibrace" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Zvýraznění obrázku" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Sytost" + +#: backend/fujitsu.c:3241 +#, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "" + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Zrcadlit obrázek" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Zrcadlit obrázek" + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Úroveň bílé modré" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Ovládá úroveň červené" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Barevná perokresba" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, fuzzy, no-c-format +msgid "Smoothing" +msgstr "Jemný" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Hodnota gama" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, fuzzy, no-c-format +msgid "Threshold curve" +msgstr "Prahová hodnota" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Prahová hodnota" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Redukce šumu" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Bez korekce" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Bez korekce" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "Režim podavače" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Zvláštní volby" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Bez korekce" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Výpadek" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "Režim podavače" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Vypnout lampu" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Odstup modré" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Odstup zelené" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Odstup zelené" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Odstup modré" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Nastavuje odstup modrého kanálu" + +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Oboustraně" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Zvláštní volby" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Redukce šumu" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "Z papíru" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "Z papíru" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "Z papíru" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "Z papíru" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Manuální předběžné zaostření" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Manuální předběžné zaostření" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "Rozlišení" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Úroveň bílé" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Intenzita červené" + +#: backend/fujitsu.c:4549 +#, no-c-format +msgid "Density dial" +msgstr "" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Oboustraně" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, fuzzy, no-c-format msgid "Extras" msgstr "Velmi rychlý" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, fuzzy, no-c-format -msgid "Threshold curve" -msgstr "Prahová hodnota" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Vyřadit zpětný chod" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Barevná perokresba" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrace" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definovat režim kalibrace" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Režim kalibrace" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, fuzzy, no-c-format msgid "Lamp off time" msgstr "Vypnout lampu" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Hrubá kalibrace" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, fuzzy, no-c-format msgid "File button" msgstr "Čekat na tlačítko" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, fuzzy, no-c-format msgid "Power button" msgstr "Čekat na tlačítko" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Čekat na tlačítko" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Hrubá kalibrace" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Vynutit kalibraci skeneru před skenováním" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, fuzzy, no-c-format msgid "Buttons" msgstr "Stav tlačítek" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrovat" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Hrubá kalibrace" -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Hrubá kalibrace" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Režim kalibrace" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Prosvětlovací adaptér" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Volby pro ladění" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automaticky zahřát" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2458,12 +3186,12 @@ msgstr "" "Zahřát lampu dokud její jas není konstantní namísto standardního 60ti " "sekundového zahřívání." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Plný sken" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2472,12 +3200,12 @@ msgstr "" "Naskenovat kompletní skenovací plochu včetně kalibračního proužku. " "Opatrně! Nenastavujte plnou výšku! Pouze pro testování!" -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Hrubá kalibrace" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2488,12 +3216,12 @@ msgstr "" "jsou zobrazeny ovádací prvky pro mauální nastavení. Tato volba je " "standardně zapnuta. Pouze pro testování!" -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Hrubá kalibrace pouze pro první sken" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2504,12 +3232,12 @@ msgstr "" "funguje a může zkrátit čas skenování. Pokud se obrázek s každým dalším " "skenem mění, vyřaďte tuto volbu. Pouze pro testování!" -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, fuzzy, no-c-format msgid "Backtrack lines" msgstr "Skenovat při zpětném chodu" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2518,83 +3246,83 @@ msgid "" "omitting lines." msgstr "" -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Hodnota gama" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Nastavuje hodnotu gama pro všechny kanály." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, fuzzy, no-c-format msgid "Geometry Group" msgstr "Geometrie" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, fuzzy, no-c-format msgid "Scan Mode Group" msgstr "Režim skenování" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, fuzzy, no-c-format msgid "Slide" msgstr "Zcela bílá" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, fuzzy, no-c-format msgid "Scanner model" msgstr "Režim skenu" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, fuzzy, no-c-format msgid "Disable gamma correction" msgstr "Analogová korekce gama" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, fuzzy, no-c-format msgid "Gamma correction will be disabled" msgstr "Korekce gama" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, fuzzy, no-c-format msgid "Disable white shading correction" msgstr "Provést pouze korekci stínů" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2602,12 +3330,12 @@ msgid "" "avoids depth emulation." msgstr "" -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, fuzzy, no-c-format msgid "Emulate Grayscale" msgstr "Stupně šedé" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2615,368 +3343,362 @@ msgid "" "circumstances." msgstr "" -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " "analyze them." msgstr "" -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, fuzzy, no-c-format msgid "Reset chipset" msgstr "skener s podavačem" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, fuzzy, no-c-format msgid "Information" msgstr "Ignorovat kalibraci" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, fuzzy, no-c-format msgid "Chipset name" msgstr "Jméno souboru" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "" -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, fuzzy, no-c-format msgid "Shows the chipset ID" msgstr "skener s podavačem" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, fuzzy, no-c-format msgid "Scan counter" msgstr "Zdroj" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, fuzzy, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Zvolí číslo políčka, které bude naskenováno" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, fuzzy, no-c-format msgid "Update information" msgstr "Zvláštní volby" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Obrázek" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Různé" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, fuzzy, no-c-format msgid "offset X" msgstr "Odstup" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, fuzzy, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Levý horní roh x skenované plochy." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, fuzzy, no-c-format msgid "offset Y" msgstr "Odstup" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, fuzzy, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Levý horní roh x skenované plochy." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Stav lampy" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Zapíná a vypíná lampu." -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Kalibruje úrovně černé a bílé." -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Zcela bílá" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Negativ" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Barva 48" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Vypnout lampu" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Čekat na tlačítko" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, fuzzy, no-c-format msgid "Waits for button before scanning" msgstr "Zahřát lampu před skenováním" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, fuzzy, no-c-format msgid "Advanced Options" msgstr "Zvláštní volby" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Hrubý" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Jemný" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Volitelný" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Automaticky" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSC šedá" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "XPA šedá" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Pomalý" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normální" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Rychlý" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Velmi rychlý" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, fuzzy, no-c-format msgid "Film-strip" msgstr "Typ filmu" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, fuzzy, no-c-format msgid "Experiment" msgstr "Expoziční čas" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, fuzzy, no-c-format msgid "Sharpening" msgstr "Zaostření" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "" -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Automatické nastavení prahových hodnot" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" -#: ../backend/hp-option.h:73 -#, fuzzy, no-c-format -msgid "Smoothing" -msgstr "Jemný" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, fuzzy, no-c-format msgid "Select smoothing filter." msgstr "Zvolit polotóny" -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, fuzzy, no-c-format msgid "Unloads the media after a scan." msgstr "Načíst obrázek v úrovních šedé." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, fuzzy, no-c-format msgid "Change document" msgstr "Vylepšení" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "" -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "" -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, fuzzy, no-c-format msgid "Start calibration process." msgstr "Hrubá kalibrace" -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, fuzzy, no-c-format msgid "Media" msgstr "Střední" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "" -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Expoziční čas" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -2985,460 +3707,459 @@ msgid "" "value." msgstr "" -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, fuzzy, no-c-format msgid "Color Matrix" msgstr "Barevný vzorek" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, fuzzy, no-c-format msgid "Set the scanners color matrix." msgstr "Nastavuje kontrast červeného kanálu" -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "" -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, fuzzy, no-c-format msgid "Mono Color Matrix" msgstr "Barevný vzorek" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "" -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, fuzzy, no-c-format msgid "Mirror horizontal" msgstr "Zrcadlit obrázek" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, fuzzy, no-c-format msgid "Mirror image horizontally." msgstr "Zrcadlit obrázek" -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, fuzzy, no-c-format msgid "Mirror vertical" msgstr "Zrcadlit obrázek" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, fuzzy, no-c-format msgid "Mirror image vertically." msgstr "Zrcadlit obrázek" -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, fuzzy, no-c-format msgid "Update options" msgstr "Zvláštní volby" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, fuzzy, no-c-format msgid "Update options." msgstr "Testovací volby s pevnou des. čárkou" -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "" -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Vypnout lampu" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Vypnout lampu skeneru." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Rozměr papíru" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Automatické oddělení" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 na šířku" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Manuální předběžné zaostření" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Manuální předběžné zaostření" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Zapnout oboustranné (duplexní) skenování" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Fyzická velikost papíru v automatikém podavači" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "Polotóny" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Barva" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" msgstr "" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, no-c-format msgid "off" msgstr "" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Polotóny" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Polotóny" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, fuzzy, no-c-format msgid "diffusion" msgstr "Chybový rozptyl" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normální" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Světlé body" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "Stolní skener" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Z papíru" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Standard" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Jemný" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Pomalý" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Střední" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Červená" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Zelená" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Zdroj" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Režim podavače" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Nastavuje režim podavače" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Vyřadit předběžné zaostření" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Vyřadit předběžné zaostření" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Nastavuje režim podavače" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Nastavuje režim podavače" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatické nastavení prahových hodnot" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3447,556 +4168,543 @@ msgstr "" "Automaticky nastaví jas, kontrast, úroveň bílé, gama korekci, redukci " "šumu a zvýraznění obrázku" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Redukce šumu" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Redukuje izolovaný bodový šum" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Zvýraznění obrázku" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Nastaví zvýraznění obrázku" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gama" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Zapnout lampu" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Zapíná a vypíná lampu." -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Zrcadlit obrázek" -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Korekce gama" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "Tisk ve vysoké kvalitě" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "Tisk v nízké kvalitě" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, fuzzy, no-c-format msgid "err_diffusion" msgstr "Chybový rozptyl" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Bez korekce" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Normální" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Vylepšení" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Automatické nastavení prahových hodnot" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Automatické nastavení prahových hodnot" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "Nastavit pořadí kanálů" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Stíny modré" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Posun červená-modrá" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamant" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "8x8 hrubé zvýraznění (fatting)" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "8x8 jemné zvýranění (fatting)" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "8x8 Bayer" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 vertikála" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Zisk" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Nastavení zisku barevných kanálů" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Zisk šedé" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Nastavuje zisk šedého kanálu" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Zisk červené" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Nastavuje zisk červeného kanálu" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Zisk zelené" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Nastavuje zisk zeleného kanálu" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Zisk modré" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Nastavuje zisk modrého kanálu" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Rozptyl 16 Bayer" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Rozptyl 64 Bayer" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Polotón - 32 bodů" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Polotón 64 bodů" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Chybový rozptyl" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Režim 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Režim 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Režim 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "Z bílého bodu" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Jemný" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Nízká" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Střední" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Vysoká" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "CRT" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Jedna strana" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Všechny strany" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "skener s podavačem" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "Stupně šedé 4 bity" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "Stupně šedé 8 bitů" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Stíny, polotóny, světlé body, expozice" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Zvláštní volby" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Barevné vyvážení" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Vyřadit zpětný chod" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "Pokud je zvoleno, skener neskenuje při zpětném průchodu." -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Vypnout lampu plochého skeneru" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Vypne lampu plochého skeneru" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Kalibrace backendem" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" msgstr "Pokud je zvoleno, kalibraci před skenováním provede backend" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Použít prosvětlovací adaptér pro film 35mm" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "Tato volba vypne během skenu lampu plochého skeneru" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Sken v plné kvalitě" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Vysoká kvalita ale nižší rychlost" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Rychlý sken" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Nejvyšší rychlost ale nižší kvalita" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Automatické nastavení prahových hodnot" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4004,67 +4712,67 @@ msgid "" msgstr "" "Pokud je zvoleno, optimální prahové hodnoty se pokusí nastavit backend." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Zvolí režim gama korekce." -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Svázat hodnoty gama" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Použít shodné hodnoty gama pro všechny čtyři barevné kanály." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Skalární gama" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Nastaví hodnotu skalární gama korekce." -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Skalární gama červené" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "Nastaví hodnotu skalární gama korekce pro červený kanál" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Skalární gama zelené" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "Nastaví hodnotu skalární gama korekce pro zelený kanál" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Skalární gama modré" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Nastaví hodnotu skalární gama korekce pro modrý kanál" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Kanál" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." @@ -4072,207 +4780,207 @@ msgstr "" "Nastaví barevné pásmo, \"Společné\" znamená, že jsou ovlivněny všechny " "barvy." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Polotóny" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "Nastaví, která úroveň jasu má být považována za \"50% šedou\"." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Polotóny pro červenou" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Nastaví, která úroveň jasu má být považována za \"50% červenou\"." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Polotóny pro zelenou" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "Nastaví, která úroveň jasu má být považována za \"50% zelenou\"." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Polotóny pro modrou" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "Nastaví, která úroveň jasu má být považována za \"50% modrou\"." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Vyvážení červené" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "Vyvážení červené. Hodnota 100% znamená bez korekce." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Vyvážení zelené" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "Vyvážení zelené. Hodnota 100% znamená bez korekce." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Vyvážení modré" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "Vyvážení modré. Hodnota 100% znamená bez korekce." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Vyvážení firmwarem" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "Nastaví barevné vyvážení na hodnoty poskytované firmwarem." -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Nejpomalejší" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Pomalejší" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Rychlejší" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Nejrychlejší" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 hrubý" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 normální" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 jemný" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 velmi jemný" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 normální" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 hrubý" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 jemný" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 hrubý" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 normální" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 jemný" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 normální" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 normální" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 volitelný" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 volitelný" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 volitelný" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 volitelný" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 volitelný" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 volitelný" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Stupně šedé - rychlý režim" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Skenuje se ve stupních šedé v rychlé režimu (nižší kvalitě)" -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4281,117 +4989,117 @@ msgstr "" "Požaduje, aby se všechny náhledy dělaly v nejrychleším režimu (s nízkou " "kvalitou). To může znamenat např. černobílý režim nebo nízké rozlišení." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, fuzzy, no-c-format msgid "Lamp off time (minutes)" msgstr "Zahřát lampu" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, fuzzy, no-c-format msgid "Turn lamp off" msgstr "Zapíná/vypíná lampu" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, fuzzy, no-c-format msgid "Turns the lamp off immediately." msgstr "Vypne lampu plochého skeneru" -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Jas červené" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Nastavuje jas červeného kanálu naskenovaného obrázku." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Jas zelené" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Nastavuje jas zeleného kanálu naskenovaného obrázku." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Jas modré" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Nastavuje jas modrého kanálu naskenovaného obrázku." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Kontrast červeného kanálu" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Nastavuje kontrast červeného kanálu naskenovaného obrázku." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Kontrast zeleného kanálu" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Nastavuje kontrast zeleného kanálu naskenovaného obrázku." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrast modrého kanálu" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Nastavuje kontrast modrého kanálu naskenovaného obrázku." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Barva 48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Barva 24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Šedá 16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Šedá 8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, fuzzy, no-c-format msgid "Positive" msgstr "Pozitivní film" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4400,39 +5108,39 @@ msgstr "" "Zahřát lampu dokud její jas není konstantní namísto standardního 40ti " "sekundového zahřívání." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negativní film" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativ" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, no-c-format msgid "48 bits color" msgstr "" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4440,248 +5148,239 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, fuzzy, no-c-format msgid "Update button state" msgstr "Stav tlačítek" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, fuzzy, no-c-format msgid "Button 1" msgstr "Stav tlačítek" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, fuzzy, no-c-format msgid "Button 2" msgstr "Stav tlačítek" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Průsvitná předloha" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "" -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, fuzzy, no-c-format msgid "Lamp off during dark calibration" msgstr "Hrubá kalibrace" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, fuzzy, no-c-format msgid "Calibration data cache" msgstr "Režim kalibrace" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "" -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, fuzzy, no-c-format msgid "Performs calibration" msgstr "Hrubá kalibrace" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "" -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, fuzzy, no-c-format msgid "Warmup-time" msgstr "Zahřát lampu" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, fuzzy, no-c-format msgid "Warmup-time in seconds." msgstr "Zahřát lampu" -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, fuzzy, no-c-format msgid "Lampoff-time" msgstr "Vypnout lampu" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, fuzzy, no-c-format msgid "Lampoff-time in seconds." msgstr "Zahřát lampu" -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, fuzzy, no-c-format msgid "Analog frontend" msgstr "Analogová korekce gama pro červenou" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Odstup červené" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Odstup zelené" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Odstup modré" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, fuzzy, no-c-format msgid "Red lamp off" msgstr "Zapíná/vypíná lampu" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, fuzzy, no-c-format msgid "Green lamp off" msgstr "Zapíná/vypíná lampu" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, fuzzy, no-c-format msgid "Blue lamp off" msgstr "Zapíná/vypíná lampu" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "" -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Barva 36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Rozptyl 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Rozptyl 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Náhodný" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Volba zdroje" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Vylepšení obrázku" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Převod do úrovní šedé" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Načíst obrázek v úrovních šedé." -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Simulace trojitého průchodu" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4690,12 +5389,12 @@ msgstr "" "Simuluje trojprůchodový skener tak, že vrací 3 oddělené obrázky. Pro ty " "pomalejší z vás to znamená zelený, modrý a pak červený." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Simulace ručního skeneru" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4706,49 +5405,49 @@ msgstr "" "předem. Proto vracejí výšku 1. Tato volba umožnuje otestovat, jestli se " "s tím frontend vyrovná." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." msgstr "" "Nastaví standardní hodnoty prvků vylepšení obrázku (jas a kontrast)" -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Volba testu pouhého čtení" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Uvidíme, jestli se s tím frontend vyrovná" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Tabulky gama" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Simulace stavových kódů" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Netlačit stavový kód" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Nenutit backend, aby vrátil stavový kód." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Vrátit SANE_STATUS_EOF" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4757,12 +5456,12 @@ msgstr "" "Přinutit backend, aby po volání sane_read() vrátil stavový kód " "SANE_STATUS_EOF." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Vrátit SANE_STATUS_JAMMED" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4771,12 +5470,12 @@ msgstr "" "Přinutit backend, aby po volání sane_read() vrátil stavový kód " "SANE_STATUS_JAMMED." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Vrátit SANE_STATUS_NO_DOCS" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4785,12 +5484,12 @@ msgstr "" "Přinutit backend, aby po volání sane_read() vrátil stavový kód " "SANE_STATUS_NO_DOCS." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Vrátit SANE_STATUS_COVER_OPEN" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4799,12 +5498,12 @@ msgstr "" "Přinutit backend, aby po volání sane_read() vrátil stavový kód " "SANE_STATUS_COVER_OPEN." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Vrátit SANE_STATUS_IO_ERROR" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4813,12 +5512,12 @@ msgstr "" "Přinutit backend, aby po volání sane_read() vrátil stavový kód " "SANE_STATUS_IO_ERROR." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Vrátit SANE_STATUS_NO_MEM" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4827,12 +5526,12 @@ msgstr "" "Přinutit backend, aby po volání sane_read() vrátil stavový kód " "SANE_STATUS_NO_MEM." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Vrátit SANE_STATUS_ACCESS_DENIED" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4841,85 +5540,82 @@ msgstr "" "Přinutit backend, aby po volání sane_read() vrátil stavový kód " "SANE_STATUS_ACCESS_DENIED." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "" -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Zapnout lampu" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Zapnout lampu skeneru" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Vypnout lampu" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Vypnout lampu skeneru" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, fuzzy, no-c-format msgid "Lamp timeout" msgstr "Vypnout lampu" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Podavač dokumentů" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "15 x 10 (cm)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "20x24 (cm)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "22x28 (cm)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Polotón není podporován" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "Bodový rozptyl 8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "Bodový rozptyl 16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -4934,27 +5630,27 @@ msgstr "" "skenování zastavovat, pokud je příliš vysoké, skenovací rozhraní v " "prostředí X mohou přestat reagovat a systém může zkolabovat." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Vysunout dokument po naskenování" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Režim náhledu" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -4963,12 +5659,12 @@ msgstr "" "Volí režim náhledu. Náhled ve stupních šedé obvykle nabízí nejlepší " "kombinaci rychlosti a detailu." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Přednastavené hodnoty" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -4977,97 +5673,97 @@ msgstr "" "Poskytuje standardní skenovací plochu pro fotografie, vytištěné stránky " "apod." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "Stolní skener" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, no-c-format msgid "Focus-mode" msgstr "" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Automaticky vysunout" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Pozice zaostření" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Pozice zaostření" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Počet barevných čar na jedno čtení" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Počet čar ve stupních šedi na jedno čtení" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Barva RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Barva RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Barva RGB TEXT" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Zcela černá" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Zcela bílá" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Barevný vzorek" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Mřížka" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "První položka" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Druhá položka" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5076,12 +5772,12 @@ msgstr "" "Toto je velice dlouhá třetí položka. Doufejme, že frontend tuší, jak ji " "správně zobrazit" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Simulace ručního skeneru" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5093,46 +5789,46 @@ msgstr "" "předem. Proto vracejí výšku 1. Tato volba umožnuje otestovat, jestli se " "s tím frontend vyrovná." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Simulace trojitého průchodu" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " "transmitted." msgstr "Simuluje trojprůchodový skener tak, že vrací 3 oddělené obrázky." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Nastavit pořadí kanálů" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "Nastavit pořadí kanálů v trojprůchodovém barevném režimu." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " "after 10 scans." msgstr "" -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Zvláštní volby" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Zvolit testovací obrázek" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5149,12 +5845,12 @@ msgstr "" "režimu.\n" "Mřížka: vykreslí černobílou mřížku o šířce a výšce 10 mm / čtvereček." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Převrátit endian (invert endianness)" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5165,55 +5861,55 @@ msgstr "" "volbu lze použít k testu 16-bitových režimů frontendů, např. zda " "frontend používá správný endian." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Limit čtení" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "Omezit množství dat, přenášených každým voláním sane_read()." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Velikost limitu čtení" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." msgstr "" "Maximální velikost dat, přenášených při kaýždém volání sane_read()." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Prodleva čtení" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Prodleva pro přenos dat do roury." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Doba prodlevy čtení" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "Jak dlouho se má čekat po přenesení každé dávky dat rourou." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Návratová hodnota sane_read" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5224,22 +5920,22 @@ msgstr "" "zpracování při skenování. Všechny ostatní stavové hodnoty jsou pro " "testování, jak si s nimi frontend poradí." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Ztráta bodů na řádku" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Počet bodů na konci každé řádky, které nejsou využity." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Nepřesné (fuzzy) parametry" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5248,23 +5944,23 @@ msgstr "" "Vrátit nepřesné (fuzzy) řádky bajty na řádku, pokud je volána funkce " "sane_parameters() před sane_start()" -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Použít neblokující V/V" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Použít neblokující V/V pro sane_read(), pokud to frontend podporuje." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Nabídnout select file descriptor" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5272,12 +5968,12 @@ msgid "" msgstr "" "Nabídnout select file descriptor pro detekci, zda sane_read() vrátí data." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Povolit testovací volby" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5286,27 +5982,27 @@ msgstr "" "Povoluje různé testovací volby. Je tu pro testování schopností frontendů " "zobrazit a změnit všechny možné typy voleb SANE." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Tisk voleb" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Vytisknout seznam všech voleb" -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Boolovské (ano/ne) testovací volby" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) Boolovská softwarová volba, softwarová detekce" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5315,12 +6011,12 @@ msgstr "" "(1/6) Boolovská volba, která umožňuje softwarovou volbu a softwarovou " "detekci (a pokročilejší). Je to v podstatě normální boolovská volba." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Boolovská s hardwarovým výběrem a softwarovou detekcí" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5331,12 +6027,12 @@ msgstr "" "detekci (a pokročilejší). To znamená, že volbu nelze nastavit frontendem " "ale je nastavena uživatelem (např. stisknutím tlačítka na zařízení)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Boolovská volba s hardwarovým výběrem" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5348,12 +6044,12 @@ msgstr "" "jen uživatelem (např. stiskem tlačítka na zařízení) a frontend ji nemůže " "ani načíst." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) Boolovská volba se softwarovou detekcí" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5362,12 +6058,12 @@ msgstr "" "(4/6) Boolovská testovací volba podporující softwarovou detekci (a " "pokročilejší). To znamená, že jde o volbu pouze ke čtení." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Boolovská volba s emulací softwarové volby" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5376,14 +6072,14 @@ msgstr "" "(5/6) Boolovská testovací volba, která podporuje softwarovou volbu, " "detekci a emulaci (plus pokročilejší)." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "" "(6/6) Boolovská volba se softwarovou volbou a automatickou softwarovou " "detekcí" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5394,28 +6090,28 @@ msgstr "" "softwarovou detekci (a pokročilejší). Tato volba může být automaticky " "nastavena backendem." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Celočíselné (Int) testovací volby" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Celočíselná" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "" "(1/6) Celočíselná testovací volba bez jednotek a nastavených omezení." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Celočíselná volba s omezením rozsahu" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5424,24 +6120,24 @@ msgstr "" "(2/6) Celočíselná testovací volba s jednotkou bod a omezením rozsahu. " "Minimum is 4, maximum 192, krok je 2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) Celočíselný seznam s omezením" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" "(3/6) Celočíselná testovací volba s jednokou bit a omezením množinou " "slov." -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Celočíselné pole" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " @@ -5449,12 +6145,12 @@ msgid "" msgstr "" "(4/6) Celočíselné testovací pole s jednotkou mm a polem bez omezení." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) Celočíselné pole s omezením rozsahu" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5463,12 +6159,12 @@ msgstr "" "(5/6) Celočíselné testovací pole s jednotkou dpi a omezením rozsahu. " "Minimum je 4, maximum 192, krok 2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Celočíselné pole s omezením množinou slov" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5477,28 +6173,28 @@ msgstr "" "(6/6) Celočíselné testovací pole s jednotkou procenta a omezením rozsahu " "pomocí množiny slov." -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Testovací volby s pevnou des. čárkou" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Číslo s pevnou des. čárkou" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "" "(1/3) Číslo s pevnou desetinnou čárkou, bez jednotek a bez omezení." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Číslo s pevnou des. čárkou a omezeným rozsahem" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5507,49 +6203,49 @@ msgstr "" "(2/3) Číslo s pevnou des. čárkou, jednotkou mikrosekundy a omezením " "rozsahu. Minimum je -42,17, maximum 32767,9999, krok 2,0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) Číslo s pevnou desetinnou čárkou s omezením seznamem slov" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" "(3/3) Číslo s pevnou desetinnou čárkou bez jednotky a s omezením " "seznamem slov." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "Testovací volby řetězcové" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) Řetězec" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) Řetězcová volba bez omezení." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) Řetězcová volba s omezením seznamem" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "(2/3) Řetězcová volba s omezením seznamem." -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) Řetězcová volba s omezením dlouhým seznamem" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5558,156 +6254,160 @@ msgstr "" "(3/3) Řetězcová volba s dlouhými řetězci s omezením seznamem. Obsahuje " "poněkud více položek..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Testovací volby tlačítkové" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Tlačítko" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Testovací tlačítková volba. Vytiskne nějaký text..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, fuzzy, no-c-format msgid "Color 36" msgstr "Barva 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Uživatelské nastavení obrázku" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Dvouúrovňová černobílá (perokresba)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Polotónová černobílá s rozptylem (polotón)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Víceúrovňová černobílá (úrovně šedé)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Víceúrovňová RGB barva (jednoprůchodová barva)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Ignorovat kalibraci" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Vyřadit předběžné zaostření" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Nekalibrovat zaostření" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Manuální předběžné zaostření" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Pozice pevného zaostření" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Kalibrace čočky na pozici dokumentu" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Kalibrovat zaostření čočky na pozici dokumentu" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Pozice zaostření podavače 0mm" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Použít pozici 0mm zaostření podavače místo 0,6mm" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Režim kalibrace" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Definovat režim kalibrace" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Zapíná/vypíná lampu" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "UTA zapnuto" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Zapíná/vypíná UTA" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Odstup" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Nastavení odstupu barevných kanálů" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Odstup šedé" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Nastavuje odstup šedého kanálu" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Nastavuje odstup červeného kanálu" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Nastavuje odstup zeleného kanálu" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Nastavuje odstup modrého kanálu" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Režim náhledu" + #~ msgid "Grayscale" #~ msgstr "Stupně šedé" diff --git a/po/da.gmo b/po/da.gmo new file mode 100644 index 0000000..f0e9386 Binary files /dev/null and b/po/da.gmo differ diff --git a/po/da.po b/po/da.po index 8d0a644..7113097 100644 --- a/po/da.po +++ b/po/da.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.17\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2007-12-17 22:59+0100\n" "Last-Translator: Mogens Jaeger \n" "Language-Team: Danish \n" @@ -20,411 +20,405 @@ msgstr "" "X-Poedit-Country: DENMARK\n" "X-Poedit-SourceCharset: utf-8\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Antal af indstillingsmuligheder" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Skanområde" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Forbedring" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Avanceret" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Smugkig" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Gennemtving monokrom smugkig" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Bit dybde" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Skannertilstand" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Skanningshastighed" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Skanningskilde" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Gennemtving bagudrettet sporing" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Øverst-venstre x" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Øverst-venstre y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Nederst-højre x" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Nederst-højre y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Skanningsopløsning" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "X-opløsning" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Y-opløsning" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, fuzzy, no-c-format msgid "Page height" msgstr "Højlys" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Brug tilpasset gammatabel" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Billedeintensitet" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Rød intensitet" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Grøn intensitet" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Blå intensitet" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Lyshed" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Kontrast" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Kornstørrelse" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Halvtone" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Sort niveau" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Hvid niveau" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Hvid niveau for rød" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Hvid niveau for grøn" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Hvid niveau for blå" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Skygge" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Skygge for rød" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Skygge for grøn" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Skygge for blå" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Højlys" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Højlys for rød" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Højlys for grøn" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Højlys for blå" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Farvetone" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Mætning" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Filnavn" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Halvtonemønster størrelse" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Halvtonemønster" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Sammenbind X- og Y-opløsning" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Kvalitetskalibrering" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Dobbelt optisk opløsning" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Sammenbind RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Tærskelværdi" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Analog gammakorrektion" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Analog gamma rød" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Analog gamma grøn" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Analog gamma blå" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Sammenbind analoge gammaværdier" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Varmer lampen op" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Kalibrér eksponeringstid" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Kalibrér eksponeringstid for rød" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Kalibrér eksponeringstid for grøn" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Kalibrér eksponeringstid for blå" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Eksponeringstid til skanning" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Eksponeringstid til skanning for rød" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Eksponeringstid til skanning for grøn" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Eksponeringstid til skanning for blå" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Fastsæt eksponeringstid" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Kalibrér lampe densitet" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Skanner lampe densitet" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Fastsæt lampe densitet" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Lampe slukkes ved afslutning" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -433,37 +427,37 @@ msgstr "" "Skrivebeskyttet indstilling der specificerer hvor mange indstillinger en " "bestemt enhed understøtter." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, fuzzy, no-c-format msgid "Source, mode and resolution options" msgstr "Kort opløsningsliste" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, fuzzy, no-c-format msgid "Image modification options" msgstr "Antal af indstillingsmuligheder" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, fuzzy, no-c-format msgid "Hardware specific options" msgstr "Skanningsopløsning" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Forlang et skan i smugkigkvalitet." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -474,7 +468,7 @@ msgstr "" "skanner, reduceres antal gennemløb til et, og på en en-gennemløbs " "skanner reducerer det hukommelsesforbruget og tidsforbruget." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -483,82 +477,82 @@ msgstr "" "Antal bit pr. farve, typisk bruges værdien 1 for \"stregtegning\" og 8 " "for multibit skanninger." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" "Vælger skanningstilstand (f.eks. stregtegning, monokrom eller farve)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Fastlægger hastigheden for skanningen." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Vælger skanningskilde (som f.eks. en dokument-føder)." -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Fastsætter om bagudrettet sporing er gennemtvunget." -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Øverste-venstre x position af skanområde." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Øverste-venstre y position af skanområde." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Nederste-højre x position af skanområde." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Nederste-højre y position af skanområde." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Fastsætter opløsningen af det skannede billede." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Fastsætter den vandrette opløsning af det skannede billede." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Fastsætter den lodrette opløsning af det skannede billede." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " "sheet-fed scans." msgstr "" -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, fuzzy, no-c-format msgid "Specifies the height of the media." msgstr "Fastsætter opløsningen af det skannede billede." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." msgstr "" "Fastlægger om en indbygget eller en tilpasset gamma-tabel skal bruges." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -568,32 +562,32 @@ msgstr "" "Gamma korrektionstabel. I farve tilstand påvirker denne indstilling de " "røde, blå og grønne kanaler ens (dvs., der er en intensitets gammatabel)." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Gamma korrektionstabel for rød kanal." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Gamma korrektionstabel for grøn kanal." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Gamma korrektionstabel for blå kanal." -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Fastsætter lyshed for det rekvirerede billede." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Fastsætter kontrast for det rekvirerede billede." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -602,77 +596,77 @@ msgstr "" "Vælger \"kornethed\" for det rekvirerede billede. Mindre værdier giver " "et skarpere billeder." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" "Vælger om det rekvirerede billede skal skannes i halvtoneindstilling " "(dithering)." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "Vælger hvilket glansniveau der skal anses for \"sort\"." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "Vælger hvilket glansniveau der skal anses for \"hvid\"." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "Vælger hvilket rødt glansniveau der skal anses for \"hvidt\"." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "Vælger hvilket grønt glansniveau der skal anses for \"hvidt\"." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "Vælger hvilket blåt glansniveau der skal anses for \"hvidt\"." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "Vælger hvilket rødt glansniveau der skal anses for \"sort\"." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "Vælger hvilket grønt glansniveau der skal anses for \"sort\"." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "Vælger hvilket blåt glansniveau der skal anses for \"sort\"." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "Vælger hvilket rødt glansniveau der skal anses for \"helt rødt\"." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." msgstr "" "Vælger hvilket grønt glansniveau der skal anses for \"helt grønt\"." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." msgstr "Vælger hvilket blåt glansniveau der skal anses for \"helt blåt\"." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Fastsætter farvetone (blåt niveau) for det rekvirerede billede." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -681,12 +675,12 @@ msgstr "" "Mætningsgraden styrer belysningen af ethvert enkeltbillede taget med et " "kamera. Højere værdier sørger for en stærkere belysning." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Filnavnet på det billede der skal hentes." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -695,7 +689,7 @@ msgstr "" "Fastsætter størrelsen på det halvtonegitter (dithering) der skal bruges " "ved skanning af halvtonebilleder." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." @@ -703,287 +697,287 @@ msgstr "" "Angiver det halvtonegitter (dithering) der skal anvendes ved skanning af " "halvtonebilleder." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Brug samme værdier for X og Y opløsning." -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Invertér farver, f.eks. byt om på sort og hvid." -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Foretag en kvalitets hvid-kalibrering." -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Brug linse, der fordobler den optiske opløsning." -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "Anvend samme værdi for hver farve i RGB indstilling." -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Vælg minimum-lyshed, der skal betragtes som hvidt." -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Analog gammakorrektion" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Analog gammakorrektion for rød" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Analog gammakorrektion for grøn" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Analog gammakorrektion for blå" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Varm lampen op før skanning" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Angiv belysningstid for kalibrering" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Angiv belysningstid for kalibrering af rød farvedel" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Angiv belysningstid for kalibrering af grøn farvedel" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Angiv belysningstid for kalibrering af blå farvedel" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Angiv belysningstid for skanning" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Angiv belysningstid for skanning af rød farvedel" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Angiv belysningstid for skanning af grøn farvedel" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Angiv belysningstid for skanning af blå farvedel" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Aktiver valg af belysningstid" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Angiv lampe densitet for kalibrering" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Angiv lampe densitet for skanning" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Aktiver valg af lampe densitet" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Slukker for skannerens lampe, når programmet stoppes." -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, fuzzy, no-c-format msgid "Scan button" msgstr "Skanningsopløsning" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, fuzzy, no-c-format msgid "Email button" msgstr "Vent på knap" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, fuzzy, no-c-format msgid "Fax button" msgstr "Vent på knap" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, fuzzy, no-c-format msgid "Copy button" msgstr "Vent på knap" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, fuzzy, no-c-format msgid "Cover open" msgstr "Farvemønster" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Farve" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Farve stregtegning" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Farve halvtone" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Gråtone" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Halvtone" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Stregtegning" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, fuzzy, no-c-format msgid "Operation not supported" msgstr "Halvtone er ikke understøttet" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, fuzzy, no-c-format msgid "Document feeder jammed" msgstr "Dokument føder" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, fuzzy, no-c-format msgid "Document feeder out of documents" msgstr "Dokument føder" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Standard" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Anvend standardværdier for forbedringskontroller." -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Kalibrering" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Kalibrér før næste skanning" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -992,12 +986,12 @@ msgstr "" "Hvis denne indstilling er sat til, vil enheden blive kalibreret før " "næste scanning. Ellers foretages kalibreringen kun før første skanning." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Udfør kun skyggekorrektion" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1009,1058 +1003,1049 @@ msgstr "" "eksponeringstid, enten indbygget eller fra konfigurationsfilen, bliver " "brugt." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Knap tilstand" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Billednummer der skal skannes" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Vælger nummeret på det billede der skal skannes" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "Duplex skan" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "Duplex skan, skanner begge sider af dokumentet" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Kalibrér skanner" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Gennemtving kalibrering før skanning" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Gråskalaskanning" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Udfør en gråskalaskanning fremfor en farveskanning" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Analog forstærkning" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Forøg eller formindsk CCD sensorens analoge forstærkning" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Gammakorrektion" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Vælger gammakorrigeret overføringskurve" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, fuzzy, no-c-format msgid "No transparency correction" msgstr "Farvekorrektion" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, fuzzy, no-c-format msgid "Negatives" msgstr "Negativ" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, fuzzy, no-c-format msgid "Slides" msgstr "Diapositiv" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automatisk" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, fuzzy, no-c-format msgid "Normal speed" msgstr "Normal" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, fuzzy, no-c-format msgid "1/2 normal speed" msgstr "2x2 normal" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, fuzzy, no-c-format msgid "1/3 normal speed" msgstr "3x3 normal" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, fuzzy, no-c-format msgid "rounded parameter" msgstr "Uklare parametre" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, fuzzy, no-c-format msgid "ADF jam" msgstr "ADF" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Gamma værdi" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, fuzzy, no-c-format msgid "transparency unit lamp failure" msgstr "Filmenhed" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, fuzzy, no-c-format msgid "transparency unit shading error" msgstr "Filmenhed" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, fuzzy, no-c-format msgid "film scanner" msgstr "Flatbed skanner" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "Flatbed skanner" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Filmtype" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Negativ film" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, fuzzy, no-c-format msgid "Selects the negative film type" msgstr "Vælg testbillede" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, fuzzy, no-c-format msgid "Hardware resolution" msgstr "Skanningsopløsning" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, fuzzy, no-c-format msgid "Use only hardware resolutions" msgstr "Vis kort liste med mulige opløsninger" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, fuzzy, no-c-format msgid "Auto focus" msgstr "Automatisk skub ud" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, fuzzy, no-c-format msgid "Enable/disable auto focus" msgstr "Deaktiver pre-fokusering" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, fuzzy, no-c-format msgid "Manual focus position" msgstr "Fast fokusposition" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Spejl billedet" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, fuzzy, no-c-format msgid "Mirror the image horizontally" msgstr "Spejlvend billedet vandret." -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, fuzzy, no-c-format msgid "Auto exposure" msgstr "Fastsæt eksponeringstid" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, fuzzy, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Aktiver valg af belysningstid" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Kalibrering" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Definer kalibreringstilstand" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "arkføder skanner" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, fuzzy, no-c-format msgid "Reset the scanner" msgstr "arkføder skanner" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, fuzzy, no-c-format msgid "Eject film after each scan" msgstr "Skub dokumentet ud efter skanning" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, fuzzy, no-c-format msgid "Document feeder extras" msgstr "Dokument føder" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, fuzzy, no-c-format msgid "Flatbed only" msgstr "Flatbed" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, fuzzy, no-c-format msgid "Transparency unit" msgstr "Filmenhed" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, fuzzy, no-c-format msgid "Negative film" msgstr "Negativ film" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Positiv film" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, fuzzy, no-c-format msgid "Transparency ratio" msgstr "Filmenhed" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, fuzzy, no-c-format msgid "Select film type" msgstr "Filmtype" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, fuzzy, no-c-format msgid "Select the film type" msgstr "Vælger halvtone." -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbed" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, fuzzy, no-c-format msgid "ADF Duplex" msgstr "Dobbeltsidet" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Print" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Dobbeltsidet" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Rød" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Grøn" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Blå" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Forbedring" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Forbedring" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Forbedring" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Ingen" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Enkeltsidet" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Dobbeltsidet" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Filmenhed" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatisk dokumentføder" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Positiv film" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Negativ film" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Fokusér på glaspladen" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Fokusér 2,5 mm over glaspladen" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Halvtone A (hård tone)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Halvtone B (blød tone)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Halvtone C (net/skærm)" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Dithering A (4x4 Bayer)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Dithering B (4x4 spiral)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Dithering C (4x4 net/skærm)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Dithering D (8x4 net/skærm)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Tekstforbedringsteknologi" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Hent mønster A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Hent mønster B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Ingen korrektion" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Brugerdefineret" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Matrix printere" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Termo printere" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Blæk printere" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "CRT skærme" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Standard" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Udskrift med høj opløsning" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Udskrift med lav opløsning" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Udskrift med høj kontrast" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Brugerdefineret (gamma=1,0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Brugerdefineret (gamma=1,8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 portræt" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 tværformat" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Letter" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Maks" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Skanner tilstand" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Vælger halvtone." -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Udfald" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Vælger udfaldet." -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Vælger lyshed." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Skarphed" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Farvekorrektion" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "Fastsætter farvekorrektiontabellen for den valgte uddataenhed." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Farvekorrektionskoefficienter" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Matrix multiplikation af RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Forskyder grøn mod rød" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Forskyder grøn mod blå" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Forskyder rød mod grøn" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Forskyder rød mod blå" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Forskyder blå mod grøn" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Forskyder blå mod rød" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Kontrollerer grønt niveau" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Øger det røde, baseret på grønt niveau" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Øger det blå, baseret på grønt niveau" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Øger det grønne, baseret på rødt niveau" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Fastsætter rødt niveau" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Øger det blå, baseret på rødt niveau" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Øger det grønne, baseret på blåt niveau" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Øger det røde, baseret på blåt niveau" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Fastsætter blåt niveau" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Spejlvend billedet." -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Hurtig forhåndsvisning" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Automatisk områdeopdeling" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Kort opløsningsliste" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Vis kort liste med mulige opløsninger" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Forstørrelse" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Angiver zoomfaktoren som skanneren skal bruge" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Hurtig format" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Tilvalgsudstyr" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Skub ud" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Skub arket i den automatiske arkføder ud" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Automatisk skub ud" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Skub dokumentet ud efter skanning" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "ADF-tilstand" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Vælger ADF tilstand (enkeltsidet/dobbeltsidet)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Skuffe" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Vælg fra hvilken skuffe der skal skannes" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2069,24 +2054,24 @@ msgstr "" "Vælger gammakorrektionsværdi fra en liste med foruddefinerede enheder " "eller en brugerdefineret tabel, som kan hentes til skanneren" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Fokuseringspunkt" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "" "Fastsætter fokuseringen enten på glaspladen eller 2,5 mm over denne" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Vent på knap" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2095,263 +2080,1010 @@ msgstr "" "Når skankommando er sendt, starter skanningen først når der er trykket " "på knappen på skanneren." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, fuzzy, no-c-format msgid "Positive Slide" msgstr "Positiv film" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, fuzzy, no-c-format msgid "Negative Slide" msgstr "Negativ film" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, fuzzy, no-c-format msgid "User defined CCT profile" msgstr "Brugerdefineret" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "Tændt" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Slukket" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Dither" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Fejlspredning" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "White" msgstr "Hvid niveau" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, fuzzy, no-c-format msgid "Black" msgstr "Sort niveau" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Continue" msgstr "Betinget" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Vandret" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Vandret" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Vandret" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Lodret" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Lodret" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Front" msgstr "Print" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Halvtone" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Grovkalibrering" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Billedbetoning" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Mætning" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "" +"Aktiver automatisk fastsættelse af tærskelværdi for " +"stregtegningsskanninger." + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Spejl billedet" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Spejlvend billedet vandret." + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Hvid niveau for blå" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Fastsætter rødt niveau" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Farve stregtegning" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Udglatning" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Gamma værdi" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, fuzzy, no-c-format +msgid "Threshold curve" +msgstr "Tærskelværdi" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Tærskelværdi" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Støjreduktion" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Ingen korrektion" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Ingen korrektion" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "Arkføder tilstand" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Avancerede indstillinger" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Ingen korrektion" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Udfald" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "Arkføder tilstand" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Sluk-lampe tid" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Blå forskydning" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Grøn forskydning" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Grøn forskydning" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Blå forskydning" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Indstillinger for blå-kanals forskydning" + +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Duplex skan" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Avancerede indstillinger" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Støjreduktion" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "Fra papir" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "Fra papir" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "Fra papir" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "Fra papir" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Manuel pre-fokus" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Manuel pre-fokus" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "Skanningsopløsning" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Hvid niveau" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Rød intensitet" + +#: backend/fujitsu.c:4549 +#, no-c-format +msgid "Density dial" +msgstr "" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Duplex skan" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Ekstra" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, fuzzy, no-c-format -msgid "Threshold curve" -msgstr "Tærskelværdi" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Deaktiver bagudrettet sporing" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Farve stregtegning" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrering" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definer kalibreringstilstand" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibreringsdatacache" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "Sluk-lampe tid" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2360,105 +3092,103 @@ msgstr "" "Lampen bliver slukket efter den angivne tid (i minutter). Værdien 0 " "bevirker, at lampen ikke bliver slukket." -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Grovkalibrering" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, fuzzy, no-c-format msgid "File button" msgstr "Vent på knap" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, fuzzy, no-c-format msgid "Power button" msgstr "Vent på knap" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Vent på knap" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Grovkalibrering" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Gennemtving kalibrering før skanning" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Knapper" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrering" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Begynd kalibreringsprocessen." -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Grovkalibrering" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Kalibreringsdatacache" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Filmadapter" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "Farve ved gråtone tilstand" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Vælger hvilken skan farve der bruges i gråtone tilstand (standard er " "grøn)." -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Fejlsøgningsindstillinger" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatisk opvarmning" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2467,12 +3197,12 @@ msgstr "" "Varm op indtil lampens lyshed er konstant, i stedet for at insistere på " "60 sekunders opvarmningstid." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Fuld skanning" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2481,12 +3211,12 @@ msgstr "" "Skan hele skanningsarealet inklsive kalibreringsstriben. Vær forsigtig. " "Vælg ikke fuld højde. Kun til test formål." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Grovkalibrering" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2497,12 +3227,12 @@ msgstr "" "er fravalgt, kan de analoge brugerfladeparametre manuelt indstilles. " "Denne indstilling er forvalgt. Kun til testformål." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Grovkalibrering kun for første skan." -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2513,12 +3243,12 @@ msgstr "" "skannere og kan spare skanningstid. Hvis billedets lyshed er forskellig " "for hvert skan, fravælg denne indstilling. Kun til testformål." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "Bagudrettede linier" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2531,83 +3261,83 @@ msgstr "" "modtage dataene. Små værdier giver hurtigere skanninger, men øger " "risikoen for at linier bliver sprunget over." -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gamma værdi" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Fastsætter gamma værdien for alle kanaler." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, fuzzy, no-c-format msgid "Geometry Group" msgstr "Skanområde" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, fuzzy, no-c-format msgid "Scan Mode Group" msgstr "Skanner tilstand" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Diapositiv" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, fuzzy, no-c-format msgid "Scanner model" msgstr "Skannertilstand" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, fuzzy, no-c-format msgid "Disable gamma correction" msgstr "Analog gammakorrektion" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, fuzzy, no-c-format msgid "Gamma correction will be disabled" msgstr "Gammakorrektion" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, fuzzy, no-c-format msgid "Disable white shading correction" msgstr "Udfør kun skyggekorrektion" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2615,12 +3345,12 @@ msgid "" "avoids depth emulation." msgstr "" -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, fuzzy, no-c-format msgid "Emulate Grayscale" msgstr "Gråskala" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2628,370 +3358,364 @@ msgid "" "circumstances." msgstr "" -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " "analyze them." msgstr "" -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, fuzzy, no-c-format msgid "Reset chipset" msgstr "arkføder skanner" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, fuzzy, no-c-format msgid "Information" msgstr "Ignorer kalibrering" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, fuzzy, no-c-format msgid "Chipset name" msgstr "Filnavn" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "" -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, fuzzy, no-c-format msgid "Shows the chipset ID" msgstr "arkføder skanner" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, fuzzy, no-c-format msgid "Scan counter" msgstr "Skanningskilde" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, fuzzy, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Vælger nummeret på det billede der skal skannes" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, fuzzy, no-c-format msgid "Update information" msgstr "Opdatér indstillinger" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, fuzzy, no-c-format msgid "This option reflects a front panel scanner button" msgstr "Denne indstilling reflekterer skannerknappernes status." -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Billede" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Diverse" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, fuzzy, no-c-format msgid "offset X" msgstr "Forskydning" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, fuzzy, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Øverste-venstre x position af skanområde." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, fuzzy, no-c-format msgid "offset Y" msgstr "Forskydning" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, fuzzy, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Øverste-venstre x position af skanområde." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Lampe status" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Tænder/slukker for lampen" -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Kalibrerer for sort og hvidt niveau." -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "ADF" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Diapositiv" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Negativ" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Farve 48" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Sluk-lampe tid" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Vent på knap" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, fuzzy, no-c-format msgid "Waits for button before scanning" msgstr "Varm lampen op før skanning" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "Avancerede indstillinger" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Grov" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Fin" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Tilpasset" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Automatisk" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "Uforandret" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSC grå" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "XPA Grå" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Langsom" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Hurtig" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Meget hurtig" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2-pixel" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4-pixel" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8-pixel" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Print" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Film-stribe" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "XPA" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Betinget" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "Eksperiment" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Gør skarpere" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Angiv niveau for skærpning" -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Automatisk tærskelværdi" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" "Aktiver automatisk fastsættelse af tærskelværdi for " "stregtegningsskanninger." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Udglatning" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Vælg udglatningsfilter." -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Skub mediet ud efter skanning" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Skubber mediet ud efter gennemført skanning." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Skift dokument" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Skift dokument." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Skub ud" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Skubber dokumentet ud." -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Begynd kalibreringsprocessen." -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Medie" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Vælg medietype." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Eksponeringstid" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -3003,460 +3727,459 @@ msgstr "" "brug er 175% for papirbilleder, 150% for diapositiver og \"Negativ\" for " "negativer. Ved mørke (undereksponerede) billeder, kan denne værdi øges." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Farve matrix" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Fastlægger skannerens farve matrix." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Tilpasset farve matrix." -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "En farve matrix" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Tilpasset farve matrix for gråtoneskanning." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Spejlvend vandret" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Spejlvend billedet vandret." -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Spejlvend lodret" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Spejlvend billedet lodret." -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Opdatér indstillinger" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Opdatér indstillinger." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "8 bit uddata" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "Brug bit dybde større end 8 internt, men uddata kun 8 bit." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Vent på frontknap" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "Vent med at begynde skanning, til frontknappen trykkes." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Sluk lampen" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Slukker for skannerens lampe." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Papirstørrelse" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Automatisk separering" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 tværformat" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Manuel pre-fokus" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Manuel pre-fokus" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Aktiver Duplex (dobbeltsidet) skanning" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Reel størrelse af papiret i ADF'en" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "Halvtone" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Farve" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "Betinget" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "Slukket" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Halvtone" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Halvtone" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, fuzzy, no-c-format msgid "diffusion" msgstr "Fejlspredning" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normal" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Højlys" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "Flatbed skanner" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Fra papir" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Standard" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Udglat" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Langsom" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Mellem" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Rød" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Grøn" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Skanningskilde" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Arkføder tilstand" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Fastætter fødningstilstanden" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Deaktiver pre-fokusering" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Deaktiver pre-fokusering" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Fastætter fødningstilstanden" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Fastætter fødningstilstanden" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatisk tærskelværdi" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3465,556 +4188,543 @@ msgstr "" "Automatisk indstilling af lyshed, kontrast, hvid balance, gamma, " "støjreduktion og billedbetoning" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Støjreduktion" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Reducer støj fra enkelt punkter" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Billedbetoning" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Fastsætter billedbetoning" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Lampe tændt" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Tænder/slukker for lampen" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Spejlvend billedet lodret." -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Gammakorrektion" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "Udskrift med høj opløsning" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "Udskrift med lav opløsning" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, fuzzy, no-c-format msgid "err_diffusion" msgstr "Fejlspredning" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Ingen korrektion" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Normal" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Forbedring" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Automatisk tærskelværdi" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Automatisk tærskelværdi" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "Fastsætter billedrammernes rækkefølge" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Skygge for blå" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Forskyder rød mod blå" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamant" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "8x8 grov fortykning" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "8x8 fin fortykning" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "8x8 Bayer" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 lodret linie" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Forstærk" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Farvekanalforstærkningsindstillinger" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Grå-forstærkning" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Fastsætter grå-kanals forstærkning" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Rød forstærkning" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Fastsætter rød-kanals forstærkning" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Grøn forstærkning" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Fastsætter grøn-kanals forstærkning" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Blå forstærkning" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Fastsætter blå-kanals forstærkning" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Bayer dither 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Bayer dither 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Halvtone punkt 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Halvtone punkt 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Fejlspredning" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Tilstand 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Tilstand 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Tilstand 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "Fra kalibreringsstriber" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Udglat" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Lav" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Mellem" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Høj" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "CRT skærm" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "En side" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Alle sider" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "arkføder skanner" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "4 bit gråskala" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "8 bit gråskala" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Skygge, mellemtone, højlys, eksponeringstid" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Specialindstillinger" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Farvebalance" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Deaktiver bagudrettet sporing" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "Hvis aktiveret udfører skanneren ikke en bagudrettet sporing." -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Tænd/sluk lampen" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Tænder/slukker lampen i flatbed'en" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Kalibrering ved bagende" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" msgstr "Hvis valgt, udføres farvekalibreringen før et skan af bagenden" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Anvend lightlid-35 mm-adapteren" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "Denne indstilling slukker lampen i flatbed'en under skanning" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Kvalitets skanning" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Højeste kvalitet men lavere hastighed" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Hurtig skanning" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Højeste hastighed men lavere kvalitet" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Automatisk justering af tærskelværdier" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4023,275 +4733,275 @@ msgstr "" "Hvis aktiveret prøver bagenden automatisk at bestemme en optimal " "tærskelværdi." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Vælger gammakorrektionstilstand." -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Fælles gamma" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Anvend samme gammaværdi for alle farvekanaler." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Skalær gamma" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Vælger værdi for skalær gammakorrektion." -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Skalær gamma rød" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "Vælger værdi for skalær gammakorrektion (rød kanal)" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Skalær gamma grøn" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "Vælger værdi for skalær gammakorrektion (grøn kanal)" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Skalær gamma blå" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Vælger værdi for skalær gammakorrektion (blå kanal)" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Kanal" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." msgstr "" "Vælger farvekanal, \"Master\" betyder at alle farvekanaler påvirkes." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Mellemtone" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "Vælger hvilket glansniveau der skal anses for \"50% grå\"." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Mellemtone for rød" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Vælger hvilket glansniveau der skal anses for \"50 % rød\"." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Mellemtone for grønt" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "Vælger hvilket glansniveau der skal anses for \"50% grøn\"." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Mellemtone for blå" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "Vælger hvilket glansniveau der skal anses for \"50% blå\"." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Rød balance" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "Balancefaktor for rød. 100 % giver ingen korrektion." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Grøn balance" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "Balancefaktor for grøn. 100% giver ingen korrektion." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Blå balance" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "Balancefaktor for blå. 100% giver ingen korrektion." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Fastprogram balance" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "" "Fastsætter farvebalanceværdierne til værdierne fra det faste program." -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Langsomste" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Langsommere" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Hurtigere" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Hurtigst" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 grov" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 normal" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 fin" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 meget fin" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 normal" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 grov" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 fin" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 grov" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 normal" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 fin" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 normal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 normal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 tilpasset" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 tilpasset" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 tilpasset" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 tilpasset" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 tilpasset" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 tilpasset" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Hurtig gråtonetilstand" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Skan i hurtig gråtonetilstand (lavere kvalitet)" -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4300,118 +5010,118 @@ msgstr "" "Forlang at alle forhåndsvisninger udføres i hurtigste (lav kvalitet) " "tilstand. Dette kan være gråtone, eller lav-opløsning." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Lampe slukkes efter (minutter)" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Angiv efter hvor lang tid (i minutter) lampen skal slukkes." -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "Sluk lampen" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Sluk lampen med det samme." -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Rød lyshed" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Fastsætter lysheden i den røde kanal i det rekvirerede billede." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Grøn lyshed" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Fastsætter lysheden i den grønne kanal i det rekvirerede billede." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Blå lyshed" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Fastsætter lysheden i den blå kanal i det rekvirerede billede." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Kontrast rød kanal" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Fastsætter kontrasten i den røde kanal i det rekvirerede billede." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Kontrast grøn kanal" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "" "Fastsætter kontrasten i den grønne kanal i det rekvirerede billede." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrast blå kanal" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Fastsætter kontrasten i den blå kanal i det rekvirerede billede." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Farve 48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Farve 24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Grå 16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Grå 8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, fuzzy, no-c-format msgid "Positive" msgstr "Positiv film" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4420,39 +5130,39 @@ msgstr "" "Varm op indtil lampens lyshed er konstant, i stedet for at insistere på " "40 sekunders opvarmningstid." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negativ film" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativ" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, no-c-format msgid "48 bits color" msgstr "" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4460,248 +5170,239 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, fuzzy, no-c-format msgid "Update button state" msgstr "Knap tilstand" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Knap 1" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Knap 2" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Film" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "Enhedsindstillinger" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "Lampe afbryder" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "Manuelt tænd/sluk for lampen(lamperne)." -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, fuzzy, no-c-format msgid "Lamp off during dark calibration" msgstr "Grovkalibrering" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "Kalibreringsdatacache" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "Aktivér eller deaktivér kalibreringsdatacache." -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, fuzzy, no-c-format msgid "Performs calibration" msgstr "Grovkalibrering" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "Hastighedsøgnings sensor" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "Til/fra for øgning af sensors hastighed." -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "Opvarmningstid" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "Opvarmningstid i sekunder." -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "Sluk lampe tid" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "Sluk lampe tid i sekunder." -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "Analog forende" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "Rød forstærkningsværdi for den analoge forende" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Rød forskydning" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "Rød forskydningsværdi for den analoge forende" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "Grøn forstærkningsværdi for den analoge forende" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Grøn forskydning" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "Grøn forskydningsværdi for den analoge forende" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "Blå forstærkningsværdi for den analoge forende" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Blå forskydning" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "Blå forskydningsværdi for den analoge forende" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "Rød lampe slukket" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "Fastsætter parametre for slukning af rød lampe" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "Grøn lampe slukket" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "Fastsætter parametre for slukning af grøn lampe" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "Blå lampe slukket" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "Fastsætter parametre for slukning af blå lampe" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "Denne indstilling reflekterer skannerknappernes status." -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Farve 36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Ditheringsmønster 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Ditheringsmønster 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Udvælge tilfældigt" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Kildevalg" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Billedforbedring" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Gøre grå" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Hent billedet som gråskala." -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Tre-gennemløbs simulering" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4710,12 +5411,12 @@ msgstr "" "Simuler en tre-gennemløbs skanner ved at returnere 3 separate " "billedrammer, én for hver grundfarve. Rækkefølgen er: grøn, blå og rød." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Håndskanner simulering" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4726,49 +5427,49 @@ msgstr "" "i forvejen. I stedet for returnerer de en højde på -1. Sættes denne " "indstilling tillades test af, om en forende kan håndtere dette korrekt." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." msgstr "" "Sæt standardværdier for forbedringskontroller (lyshed og kontrast)." -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Skrivebeskyttet test-indstilling" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Lad os se om forenderne kan håndtere dette rigtigt" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Gamma tabeller" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Status kode simulering" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Gennemtving ikke status kode" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Tving ikke bagenden til at returnere en status kode." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Returner SANE_STATUS_EOF" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4777,12 +5478,12 @@ msgstr "" "Tving bagenden til at returnere statuskoden SANE_STATUS_EOF efter " "sane_read() er blevet kaldt." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Returner SANE_STATUS_JAMMED" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4791,12 +5492,12 @@ msgstr "" "Tving bagenden til at returnere statuskoden SANE_STATUS_JAMMED efter " "sane_read() er blevet kaldt." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Returner SANE_STATUS_NO_DOCS" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4805,12 +5506,12 @@ msgstr "" "Tving bagenden til at returnere statuskoden SANE_STATUS_NO_DOCS efter " "sane_read() er blevet kaldt." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Returner SANE_STATUS_COVER_OPEN" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4819,12 +5520,12 @@ msgstr "" "Tving bagenden til at returnere statuskoden SANE_STATUS_COVER_OPEN efter " "sane_read() er blevet kaldt." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Returner SANE_STATUS_IO_ERROR" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4833,12 +5534,12 @@ msgstr "" "Tving bagenden til at returnere statuskoden SANE_STATUS_IO_ERROR efter " "sane_read() er blevet kaldt." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Returner SANE_STATUS_NO_MEM" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4847,12 +5548,12 @@ msgstr "" "Tving bagenden til at returnere statuskoden SANE_STATUS_NO_MEM efter " "sane_read() er blevet kaldt." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Returner SANE_STATUS_ACCESS_DENIED" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4861,85 +5562,82 @@ msgstr "" "Tving bagenden til at returnere statuskoden SANE_STATUS_ACCESS_DENIED " "efter sane_read() er blevet kaldt." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, fuzzy, no-c-format msgid "This option reflects the status of a scanner button." msgstr "Denne indstilling reflekterer skannerknappernes status." -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Lampe tændt" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Tænd for skannerlampen" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Sluk lampe" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Sluk for skannerens lampe" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, fuzzy, no-c-format msgid "Lamp timeout" msgstr "Sluk-lampe tid" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Dokument føder" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (tommer)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 (tommer)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 (tommer)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Halvtone er ikke understøttet" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "Spredte punkter 8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "Spredte punkter 16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -4955,27 +5653,27 @@ msgstr "" "baserede forender stoppe med at reagere på X begivenheder, og dit system " "går ned." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Skub dokumentet ud efter skanning" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Smugkigtilstand" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -4984,109 +5682,109 @@ msgstr "" "Vælg tilstand for forhåndsvisning. Gråskala smugkig er normalt det " "bedste kompromis mellem hastighed og detaljerigdom." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Foruddefinerede indstillinger" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " "like." msgstr "Giver standard skanområde for fotografier, tryk o.l." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "Flatbed skanner" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, no-c-format msgid "Focus-mode" msgstr "" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Automatisk skub ud" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Fokuseringspunkt" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Fokuseringspunkt" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Farvelinier pr. læsning" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Gråskalalinier pr. læsning" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Farve RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Farve RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Farve RGB TEKST" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Helt sort" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Helt hvidt" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Farvemønster" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Gitter" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Første angivelse" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Anden angivelse" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5095,12 +5793,12 @@ msgstr "" "Dette er den meget lange tredie angivelse. Måske har forenden en ide om " "hvordan det skal vises" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Håndskanner simulering" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5113,12 +5811,12 @@ msgstr "" "test af forenden, om den kan håndtere dette korrekt. Indstillingen giver " "også en fast bredde på 11 cm." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Tre-gennemløbs simulering" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5127,34 +5825,34 @@ msgstr "" "Simuler en tre-gennemløbs skanner. I farvetilstand overføres tre " "billedrammer." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Fastsætter billedrammernes rækkefølge" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "Fastsætter billedrammernes rækkefølge i tre-gennemløbs tilstand." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " "after 10 scans." msgstr "" -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Specialindstillinger" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Vælg testbillede" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5171,12 +5869,12 @@ msgstr "" "Gitter: tegner et sort/hvidt gitter med en bredde og højde af de enkelte " "felter på 10 mm." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Invertér endianness" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5187,44 +5885,44 @@ msgstr "" "indstilling kan bruges til at teste forendens 16 bit tilstand, d.v.s. om " "forenden anvender en korrekt endianness." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Læsebegrænsning" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "Begræns mængden af overført data ved hvert kald af sane_read()." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Størrelsen af læsebegrænsning" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." msgstr "" "Den (maksimale) mængde data overført, ved hvert kald af sane_read()." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Læseforsinkelse" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Forsink overførsel af data til røret." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Varighed af læseforsinkelse" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." @@ -5232,12 +5930,12 @@ msgstr "" "Fastlægger, hvor længe der skal ventes efter overførsel af hver " "databuffer gennem røret." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Retur værdi af sane_read" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5248,22 +5946,22 @@ msgstr "" "indstilling ved skanning. Alle andre returværdier er til for at teste " "hvordan forenden håndterer dem." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Tab af pixler pr. linie" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Antal pixler, der er ubenyttede ved enden af hver linie." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Uklare parametre" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5272,24 +5970,24 @@ msgstr "" "Returner uafklarede linier og bytes pr. linie når sane_parameters() " "kaldes før sane_start()." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Brug ikke blokerende IO" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Brug ikke blokerende IO for sane_read(), hvis det er understøttet af " "forenden." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Tilbyd en vælg fil beskriver" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5298,12 +5996,12 @@ msgstr "" "Tilbyd en vælg fil beskriver for at bestemme om sane_read() vil " "returnere data." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Aktivér testindstillinger" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5312,27 +6010,27 @@ msgstr "" "Aktivér forskellige testindstillinger. Dette er til at afprøve om " "forenderne kan vise og ændre alle de forskellige SANE indstillingstyper." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Udskriv indstillinger" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Udskriv en liste med alle indstillinger." -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Boolske testindstillinger" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) Boolsk soft select soft detect" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5342,12 +6040,12 @@ msgstr "" "\"soft detect\" (og \"avanceret\"). Dette er en normal boolsk " "indstilling." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Boolsk hard select soft detect" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5359,12 +6057,12 @@ msgstr "" "kan ændres fra forenden, men af brugeren (f.eks. ved at trykke på en " "knap på enheden)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Boolsk hard select" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5376,12 +6074,12 @@ msgstr "" "forenden, men af brugeren (f.eks. ved at trykke på en knap på enheden), " "og at det ikke kan læses af forenden." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) Boolsk soft detect" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5390,12 +6088,12 @@ msgstr "" "(4/6) Dette er en boolsk testindstilling, som er \"soft detect\" (og " "\"avanceret\"). Dette betyder, at indstillingen er skrivebeskyttet." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Boolsk soft select soft detect emulered" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5404,12 +6102,12 @@ msgstr "" "(5/6) Dette er en boolsk testindstilling, som er \"soft select\" ,\"soft " "detect\"og \"emulated\" (og \"avanceret\")." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) Boolsk soft select soft detect auto" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5420,27 +6118,27 @@ msgstr "" "detect\"og \"automatic\" (og \"avanceret\"). Denne indstilling kan " "sættes automatisk fra bagenden." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Heltalsindstillinger" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Heltal" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "(1/6) Heltal testindstilling uden enhed og uden begrænsninger." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Heltalsbegrænsningsområde" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5449,24 +6147,24 @@ msgstr "" "(2/6) Heltal testindstilling med enheden \"pixel\" og et " "begrænsningsområde. Minimum er 4, maksimum 192, og skridtlængden er 2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) Heltalsbegrænsningsordliste" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" "(3/6) Heltal testindstilling med enheden \"bit\" og en " "ordlistebegrænsning." -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Heltal tabel" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " @@ -5475,12 +6173,12 @@ msgstr "" "(4/6) Heltal testindstilling med enheden \"mm\" og en tabel uden " "indskrænkninger." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) Heltal tabel med begrænset område" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5489,12 +6187,12 @@ msgstr "" "(5/6) Heltal testindstilling med enheden \"dpi\" og en tabel med et " "begrænset område. minimum er 4, og maksimum 192, og skridtlængden er 2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Heltal tabel med begrænset ordliste" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5503,28 +6201,28 @@ msgstr "" "(6/6) Heltal testindstilling med enheden \"procent\" og en tabel med en " "begrænset ordliste." -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Faste testindstillinger" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Faste" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "" "(1/3) Faste testindstillinger uden enhed og ingen restriktioner sat." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Fast restriktionsområde" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5534,48 +6232,48 @@ msgstr "" "restriktionsområde sat. Minimalt er -42.17, og maksimalt 32767.9999, og " "mængde er 2.0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) Fast restriktions ordliste" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" "(3/3) Fast testindstilling uden enheder og restriktions ordliste sat." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "Streng testindstillinger" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) Streng" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) Streng testindstillinger uden restriktioner." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) Streng restriktioner strengliste" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "(2/3) Streng testindstillinger med strengliste restriktioner." -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) Streng restriktioner lang strengliste" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5584,156 +6282,160 @@ msgstr "" "(3/3) Streng testindstillinger med strengliste restriktioner. Indeholder " "nogle flere indgange..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Knap testindstillinger" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Knap" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Knap testindstilling. Udskriver noget tekst..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Farve 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Anvend billedkomposition" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "2 niveau sort/hvid (stregtegningstilstand)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Dithered/halvtone sort/hvid (halvtonetilstand)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Flerniveau sort/hvid (gråskalatilstand)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Flerniveau RGB farve (et-gennemløb farve)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Ignorer kalibrering" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Deaktiver pre-fokusering" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Kalibrér ikke fokus" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Manuel pre-fokus" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Fast fokusposition" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Linsekalibrering på dokumentposition" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Kalibrér linsefokus på dokumentposition" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Holder fokusposition 0mm" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Anvend 0mm holder fokusposition i stedet for 0,6mm" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Kalibreringstilstand" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Definer kalibreringstilstand" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Tænder/slukker for lampen" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "UTA tændt" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Tænder/slukker for UTA'en" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Forskydning" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Indstillinger for farvekanalernes forskydning" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Grå-forskydning" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Indstillinger for grå-kanals forskydning" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Indstillinger for rød-kanals forskydning" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Indstillinger for grøn-kanals forskydning" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Indstillinger for blå-kanals forskydning" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Smugkigtilstand" + #~ msgid "Grayscale" #~ msgstr "Gråskala" diff --git a/po/de.gmo b/po/de.gmo new file mode 100644 index 0000000..9ca0930 Binary files /dev/null and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po index 11be186..1d99f95 100644 --- a/po/de.po +++ b/po/de.po @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2010-08-06 17:17+0100\n" "Last-Translator: Rolf Bensch \n" "Language-Team: German \n" @@ -25,411 +25,405 @@ msgstr "" "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Anzahl der Optionen" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "Standard" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Scanbereich" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Farbverbesserung" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Erweitert" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "Sensoren" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Vorschau" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Vorschauscan in grau" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Bittiefe" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Scanmodus" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Scangeschwindigkeit" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Scanquelle" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Erzwinge Backtracking" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Links" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Oben" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Rechts" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Unten" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Scanauflösung" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "X-Auflösung" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Y-Auflösung" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "Seitenbreite" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, no-c-format msgid "Page height" msgstr "Seitenhöhe" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Verwende benutzerdefinierte Gammatabelle" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Bildintensität" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Intensität Rot" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Intensität Grün" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Intensität Blau" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Helligkeit" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Kontrast" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Korngröße" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Halbtonmodus" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Wert für Schwarz" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Weißwert" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Weißwert für Rot" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Weißwert für Grün" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Weißwert für Blau" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Schatten" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Schatten Rot" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Schatten Grün" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Schatten Blau" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Licht" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Licht Rot" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Licht Grün" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Licht Blau" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Farbton" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Sättigung" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Dateiname" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Größe der Halbton-Matrix" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Halbton-Matrix" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Verbinde X- und Y-Auflösung" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Qualitäts-Weißabgleich" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Verdoppelte optische Auflösung" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Verbinde RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Schwellwert" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Analoge Gammakorrektur" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Analoger Gammawert Rot" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Analoger Gammawert Grün" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Analoger Gammawert Blau" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Verbinde analoge Gammawerte" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Lampe aufwärmen" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Beleuchtungszeit zum Kalibrieren" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Beleuchtungszeit zum Kalibrieren von Rot" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Beleuchtungszeit zum Kalibrieren von Grün" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Beleuchtungszeit zum Kalibrieren von Blau" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Beleuchtungszeit zum Scannen" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Beleuchtungszeit zum Scannen von Rot" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Beleuchtungszeit zum Scannen von Grün" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Beleuchtungszeit zum Scannen von Blau" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Definiere Beleuchtungszeit" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Lichtwert für Kalibrierung" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Lichtwert beim Scannen" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Definiere Lichtwert" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Lampe beim Beenden ausschalten" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -438,37 +432,37 @@ msgstr "" "Nur-Lese-Option, die angibt, wieviele Optionen ein bestimmtes Gerät " "unterstützt." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, no-c-format msgid "Source, mode and resolution options" msgstr "Optionen für Zuführung, Modus und Auflösung" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "Optionen für den Scanbereich und für Medienformate" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, no-c-format msgid "Image modification options" msgstr "Optionen für Bildbearbeitung" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, no-c-format msgid "Hardware specific options" msgstr "Hardware-spezifische Optionen" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "Scanner-Sensoren und -Knöpfe" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Fordere einen Scan in Vorschauqualität an." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -480,7 +474,7 @@ msgstr "" "bei einem Single-Pass-Scanner wird der Speicherverbrauch und die " "Scanzeit verringert." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -489,62 +483,62 @@ msgstr "" "Anzahl der Bits pro Farbwert, typische Werte sind 1 für Lineart- und 8 " "für Multibit-Scans" -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "Wählt den Scanmodus aus (z.B. Strichzeichnung, Grau oder Farbe)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Legt die Scangeschwindigkeit fest." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Legt die Scanquelle fest (wie z.B. Dokumenteneinzug)." -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Legt fest, dass Backtracking verwendet wird." -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Linke Kante des zu scannenden Bereichs." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Obere Kante des zu scannenden Bereichs." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Rechte Kante des zu scannenden Bereichs." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Untere Kante des zu scannenden Bereichs." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Legt die Auflösung des Bildes fest." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Bestimmt die horizontale Auflösung des Bildes." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Bestimmt die vertikale Auflösung des Bildes." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " @@ -553,12 +547,12 @@ msgstr "" "Legt die Breite des Mediums fest. Erforderlich für die automatische " "Zentrierung bei Einzelblatt-Scans." -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, no-c-format msgid "Specifies the height of the media." msgstr "Legt die Höhe der Medien fest." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." @@ -566,7 +560,7 @@ msgstr "" "Bestimmt ob die scannerinterne oder eine benutzerdefinierte Gammatabelle " "verwendet wird." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -577,32 +571,32 @@ msgstr "" "rote, grüne und blaue Farbkomponente aus. Es ist also eine Helligkeits-" "Gammatabelle." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Gamma-Korrekturtabelle für die rote Komponente." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Gamma-Korrekturtabelle für die grüne Komponente." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Gamma-Korrekturtabelle für die blaue Komponente." -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Stellt die Helligkeit des Bildes ein." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Stellt den Kontrast des Bildes ein." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -611,72 +605,72 @@ msgstr "" "Legt die \"Körnigkeit\" des gescannten Bildes fest. Kleinere Werte " "ergeben schärfere Bilder." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "Legt fest, ob das Bild im Halbtonmodus (Dithering) gescannt wird." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "" "Bestimmt, welcher Helligkeitswert als Schwarz angesehen werden soll." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "Bestimmt, welcher Helligkeitswert als Weiß angesehen werden soll." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" "Bestimmt, welcher Helligkeitswert der roten Komponente als \"Weiß\" " "angesehen werden soll." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" "Bestimmt, welcher Helligkeitswert der grünen Komponente als \"Weiß\" " "angesehen werden soll." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" "Bestimmt, welcher Helligkeitswert der blauen Komponente als \"Weiß\" " "angesehen werden soll." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" "Bestimmt, welcher Helligkeitswert der roten Komponente als Schwarz " "angesehen werden soll." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" "Bestimmt, welcher Helligkeitswert der grünen Komponente als Schwarz " "angesehen werden soll." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" "Bestimmt, welcher Helligkeitswert der blauen Komponente als Schwarz " "angesehen werden soll." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Bestimmt, welcher Helligkeitswert der roten Komponente als Weiß " "angesehen werden soll." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." @@ -684,7 +678,7 @@ msgstr "" "Bestimmt, welcher Helligkeitswert der grünen Komponente als Weiß " "angesehen werden soll." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." @@ -692,12 +686,12 @@ msgstr "" "Bestimmt, welcher Helligkeitswert der blauen Komponente als Weiß " "angesehen werden soll." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Legt den Farbwert (Blauwert) des gescannten Bildes fest." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -706,12 +700,12 @@ msgstr "" "Der Sättigungsgrad steuert die Belichtung einesmit einer Kamera " "aufgenommenen Bildes. Höhere Werte sorgen für eine stärkere Belichtung." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Der Dateiname des zu ladenden Bildes." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -719,297 +713,297 @@ msgid "" msgstr "" "Legt die Größe der für den Scanvorgang verwendeten Halbtonmatrix fest." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." msgstr "Definiert die für den Scanvorgang zu verwendende Halbton-Matrix." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Benutze die gleichen Auflösungen für X und Y." -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Invertiere die Farben, z.B. tausche Schwarz gegen Weiß." -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Führe einen Qualitätsweißabgleich durch." -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Benutze die Linse, mit der die optische Auflösung verdoppelt wird." -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "Benutze die gleichen Wert für alle Farben im RGB Modus." -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "" "Wähle die minimale Helligkeit, die als Weiß betrachtet werden soll." -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Analoge Gammakorrektur." -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Analoge Gammakorrektur für Rot." -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Analoge Gammakorrektur für Grün." -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Analoge Gammakorrektur für Blau." -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Wärme die Lampe vor dem Scannen auf." -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Bestimmt die Beleuchtungszeit für die Kalibrierung." -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "" "Bestimmt die Beleuchtungszeit für die Kalibrierung der roten Komponente." -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "" "Bestimmt die Beleuchtungszeit für die Kalibrierung der grünen Komponente." -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "" "Bestimmt die Beleuchtungszeit für die Kalibrierung der blauen Komponente." -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Bestimmt die Beleuchtungszeit für den Scan." -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Bestimmt die Beleuchtungszeit für den Scan der roten Komponente." -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Bestimmt die Beleuchtungszeit für den Scan der grünen Komponente." -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Bestimmt die Beleuchtungszeit für den Scan der blauen Komponente." -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Ermögliche Einstellung der Beleuchtungszeiten." -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Definiere die Lichtwerte beim Kalibrieren." -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Definiere die Lichtwerte beim Scannen." -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Ermögliche Auswahl der Lichtwerte." -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Schalte Lampe beim Beenden des Programms aus" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, no-c-format msgid "Scan button" msgstr "Scanknopf" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, no-c-format msgid "Email button" msgstr "E-Mail-Knopf" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, no-c-format msgid "Fax button" msgstr "Fax-Knopf" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, no-c-format msgid "Copy button" msgstr "Kopieren-Knopf" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "PDF-Knopf" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "Abbrechen-Knopf" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "Seite geladen" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, no-c-format msgid "Cover open" msgstr "Abdeckung offen" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Farbe" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Farb-Strichzeichnung" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Farb-Halbton" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Graustufen" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Halbton" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Strichzeichnung" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "Erfolgreich" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, no-c-format msgid "Operation not supported" msgstr "Operation nicht unterstützt" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "Operation wurde abgebrochen" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "Gerät nicht bereit" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "Ungültiges Argument" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "Ende der Datei ist erreicht" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, no-c-format msgid "Document feeder jammed" msgstr "Automatischer Dokumenteinzug blockiert" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, no-c-format msgid "Document feeder out of documents" msgstr "Automatischer Dokumenteinzug leer" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "Die Abdeckung des Scanners ist offen" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "\tCopy text \tFehler während der Datenübermittlung des Geräts" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "Nicht genügend Speicher" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "Der Zugriff auf die Ressource wurde abgelehnt" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "Die Lampe ist nicht bereit, bitte wiederholen" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "Mechanik des Scanners für den Transport verriegelt" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Defaulteinstellungen" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Auf Voreinstellungen für Verbesserungen zurücksetzen." -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Kalibrierung" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Vor dem nächsten Scan kalibrieren" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -1019,12 +1013,12 @@ msgstr "" "Kalibrierung durchgeführt. Ansonsten findet die Kalibrierung nur vor dem " "ersten Scan statt." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Nur Shading-Korrektur durchführen" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1036,27 +1030,27 @@ msgstr "" "der Konfigurationsdatei oder aus den Voreinstellungen des Backends " "übernommen." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Schalter Status" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Nummer des zu scannenden Bildes" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Wählt die Nummer des zu scannenden Bildes aus" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "Duplexscan" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" @@ -1064,1035 +1058,1026 @@ msgstr "" "Duplex Scan ermöglicht das Scannen der Vorder- und Rückseite eines " "Dokuments." -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Scanner kalibrieren" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Erzwinge Scannerkalibrierung vor dem Scannen" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Graustufen-Scan" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Führe einen Graustufen-Scan statt eines Farb-Scans durch" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Analoge Verstärkung" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "" "Vergrößere oder verkleinere die analoge Verstärkung des CCD-Sensors" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Gammakorrektur" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Wählt die korrigierte Gammakurve aus." -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "Rohdaten" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Keine Transparenzkorrektur" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "Korrektur entsprechend des Filmtyps" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "Korrektur entsprechend des Seitenverhältnisses" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, no-c-format msgid "Negatives" msgstr "Negative" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, no-c-format msgid "Slides" msgstr "Dias" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automatik" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, no-c-format msgid "Normal speed" msgstr "Normalgeschwindigkeit" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "1/2 Normalgeschwindigkeit" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "1/3 Normalgeschwindigkeit" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "Gerundete Parameter" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "unbekannt" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "Papierstau im automatischem Einzug" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "Abdeckung des automatischen Einzuges offen" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, no-c-format msgid "lamp failure" msgstr "Lampenfehler" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "Fehler beim Positionieren des Scannerkopfes" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "Fehler bei der CPU-Überprüfung" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "Fehler bei der Arbeitsspeicher-Überprüfung" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "Fehler bei der ROM-Überprüfung" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "Hardwareüberprüfungsfehler" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "Lampe der Durchlichteinheit defekt" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "Positionsfehler der Durchlichteinheit beim Scankopf" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "Falsche Länge bei der Parameterliste" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "Ungültiger Befehlsausführungs-Code" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "Ungültiges Feld in CDB" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "LUN nicht unterstützt" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "Ungültiges Feld in der Parameterliste" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "Falsche Reihenfolge der Befehle" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "Zu viele Fenster angegeben" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "Kein Medium eingelegt" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "ungültiger Teil der IDENTIFY Nachricht" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "Option nicht verbunden" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "Netzschalter Reset / Bus-Gerät Reset" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "Parameter von einem anderen Initator geändert" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "keine zusätzliche Sinnesinformation" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "Wiederauswahlfehler" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "SCSI-Paritätsfehler" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "vom Initiator bemerkte Fehlermeldung empfangen" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "ungültige Fehlernachricht" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "Zeitüberschreitung" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "Durchlichtaufsatzabschattungsfehler" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "Lampe nicht stabilisiert" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "Filmscanner" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "Flachbettscanner" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Filmtyp" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Auswahl des Film-Typs (z. B. Negativ oder Dia)" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, no-c-format msgid "Negative film type" msgstr "Negativ Filmtyp" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "Wählt den Typ des Negativfilms" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "Hardwareauflösung" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "Nur Hardwareauflösungen verwenden" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "Fokus" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "Automatischer Fokus" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "Aktiviere/Deaktiviere automatischen Fokus\t\t" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "Automatischen Fokus nur einmal aktivieren" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Auto-Fokus nur einmal zwischen den Auswürfen" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "Manuelle Einstellung des Fokus" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" "Setzt die Fokusposition des optischen System von Hand (Standard: 128)." -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "Scan Seitenrand" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "Erweiterte Farbeinstellungen" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Bild spiegeln" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "Bild horizontal spiegeln" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "Automatische Belichtung" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Aktiviert/Deaktiviert die automatische Belichtung" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, no-c-format msgid "Calibration now" msgstr "Jetzt kalibrieren" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, no-c-format msgid "Execute calibration *now*" msgstr "Kalibrierung *jetzt* ausführen" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "Selbsttest" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Führt einen Selbsttest des Scanners durch" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, no-c-format msgid "Reset scanner" msgstr "Scanner zurücksetzen" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "Scanner zurücksetzen" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "Handhabung der Medien" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "Film nach jedem Scannen auswerfen" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Wirft den Film automatisch nach jedem Scannen aus dem Gerät aus" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "Film vor Beenden auswerfen" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" "Den Film automatisch aus dem Gerät auswerfen bevor das Programm schließt" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "Film jetzt auswerfen" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "Film *jetzt* auswerfen" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "Automatischer Dokumenteinzug" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "Nur Flachbett" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "Automatischen Dokumenteinzug abschalten und nur Flachbett benutzen" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "Durchlichtaufsatz" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Die Durchlichteinheit (FAU, film adapter unit) an/ausschalten" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, no-c-format msgid "Negative film" msgstr "Negativfilm" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, no-c-format msgid "Positive or negative film" msgstr "Positiv- oder Negativfilm" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "Dichte Einstellung" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "Dichte Einstellungsmodus setzen" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "Transparenzgrad" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "Filmtyp auswählen" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "Wählt den Filmtyp aus" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flachbett" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Automatischer Dokumenteneinzug vorne" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Automatischer Dokumenteneinzug hinten" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "ADF-Duplex" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Vorne" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, fuzzy, no-c-format msgid "Card Back" msgstr "Hinten" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Duplex" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Rot" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Grün" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Blau" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, no-c-format msgid "Enhance Red" msgstr "Rot verstärken" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, no-c-format msgid "Enhance Green" msgstr "Grün verstärken" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, no-c-format msgid "Enhance Blue" msgstr "Blau verstärken" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Kein" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Einseitig" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Duplex" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Durchlichtaufsatz" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Autom. Dokumenteneinzug" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Filmpositiv" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Filmnegativ" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Fokus auf dem Glas" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Fokus 2.5mm über dem Glas" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Halbton A (hart)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Halbton B (weich)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Halbton C" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Dithering A (4x4 Bayer)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Dithering B (4x4 Spiral)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Dithering C (4x4 Net Screen)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Dithering D (8x4 Net Screen)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Technik zur Textverbesserung" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Übertrage Muster A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Übertrage Muster B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Keine Korrektur" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Benutzerdefiniert" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Nadeldrucker" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Thermische Drucker" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Tintenstrahldrucker" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "CRT-Monitore" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Standardeinstellung" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Drucken mit hoher Auflösung" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Drucken mit geringer Auflösung" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Drucken mit hohem Kontrast" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Benutzerdefiniert (Gamma=1.0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Benutzerdefiniert (Gamma=1.8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 hoch" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 quer" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Letter" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Maximal" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Scanmodus" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Wählt den Halbton aus." -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Blindfarbe" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Wählt die Blindfarbe." -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Wählt die Helligkeit." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Schärfe" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Farbkorrektur" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "Setzt die Farbkorrekturtabelle für das ausgewählte Ausgabegerät" -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Farbkorrekturkoeffizienten" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Matritzenmultiplikation der RGB-Werte" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Verschiebt Grün nach Rot" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Verschiebt Grün nach Blau" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Verschiebt Rot nach Grün" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Verschiebt Rot nach Blau" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Verschiebt Blau nach Grün" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Verschiebt Blau nach Rot" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Legt den den Grünanteil fest" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Erhöhe den Rotanteil basierend auf dem Grünwert" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Erhöhe den Blauanteil basierend auf dem Grünwert" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Erhöhe den Grünanteil basierend auf dem Rotwert" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Legt den Rotanteil fest" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Erhöhe den Blauanteil basierend auf dem Rotwert" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Erhöhe den Grünanteil basierend auf dem Blauwert" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Erhöhe den Rotanteil basierend auf dem Blauwert" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Legt den Blauwert fest" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Das Bild spiegeln" -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Schnelle Vorschau" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Automatische Auswahl des Scanbereichs" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Kurze Auflösungsliste" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Zeige eine kurze Auflösungsliste an" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Vergrösserung" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Definiert den Vergrösserungsfaktor, der vom Scanner benutzt wird" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Schnellformat" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Optionales Zubehör" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "auswerfen" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Wirft das Blatt aus dem automatischen Dokumenteinzug aus" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Automatischer Auswurf" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Auswurf des Dokuments nach dem Scannen" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "ADF-Modus" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Wählt den ADF-Modus aus (einseitig/doppelseitig)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Schacht" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Wähle den Schacht zum Scannen aus" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2102,23 +2087,23 @@ msgstr "" "oder eine benutzerdefinierte Tabelle, die in den Scanner geladen werden " "kann" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Fokus Position" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "Setzt den Fokus entweder auf das Glas oder 2.5mm darüber" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Warte auf Knopfdruck" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2127,208 +2112,956 @@ msgstr "" "Beginne mit dem Scannen erst, wenn nach dem Senden des Scankommandos der " "Knopf am Scanner gedrückt wird." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "Infrarot" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" msgstr "Diapositiv" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, no-c-format msgid "Negative Slide" msgstr "Dianegativ" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "Eingebautes CCT-Profil" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, no-c-format msgid "User defined CCT profile" msgstr "Benutzerdefiniertes CCT-Profil" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "An" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Aus" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "DTC" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Halbton" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, no-c-format msgid "Diffusion" msgstr "Diffusion" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, no-c-format msgid "White" msgstr "Weiß" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, no-c-format msgid "Black" msgstr "Schwarz" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, no-c-format msgid "Continue" msgstr "Fortfahren" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "Stopp" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "10mm" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "15mm" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "20mm" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, no-c-format msgid "Horizontal bold" msgstr "horizontal breit" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, no-c-format msgid "Horizontal narrow" msgstr "horizontal schmal" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Vertikal" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, no-c-format msgid "Vertical bold" msgstr "vertikal breit" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "Oben nach unten" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "Unten nach oben" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, no-c-format msgid "Front" msgstr "Vorne" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "Hinten" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" +msgstr "Gamma-Exponent" + +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#, no-c-format +msgid "Changes intensity of midtones" +msgstr "Verändert die Intensität der mittleren Farbtöne" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3148 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Halbton" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Führt Kalibrierung durch" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Bildgewichtung" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Sättigung" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "" +"Schaltet die automatische Bestimmung des Schwellwerts für den Schwarz-" +"Weiß-Modus ein." + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Bild spiegeln" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Bild horizontal spiegeln." + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Weißwert für Blau" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Legt den Rotanteil fest" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Farbfilter" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Glätten" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Gammawert" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "Schwellwertkurve" + +#: backend/fujitsu.c:3347 +#, fuzzy, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" +"Dynamische Schwellwertkurve, von hell zu dunkel, nomalerweise 50-65" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Schwellwert" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Rauschunterdrückung" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Keine Korrektur" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Keine Korrektur" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "Abdeckung des automatischen Einzuges offen" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Erweiterte Optionen" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Keine Korrektur" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Blindfarbe" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "Einzugsmodus" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Lampenausschaltzeit" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Offset blauer Kanal" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Offset grüner Kanal" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Offset grüner Kanal" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Offset blauer Kanal" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Legt den Offset des blauen Kanals fest" + +#: backend/fujitsu.c:3980 +#, fuzzy, no-c-format +msgid "Low Memory" +msgstr "Nicht genügend Speicher" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Duplexscan" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Erweiterte Optionen" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Rauschunterdrückung" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "Vom Papier" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "Vom Papier" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "Vom Papier" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "Vom Papier" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, fuzzy, no-c-format +msgid "Scanner in power saving mode" +msgstr "Die Abdeckung des Scanners ist offen" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Manueller Pre-Focus" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Manueller Pre-Focus" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "Hardwareüberprüfungsfehler" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Weißwert" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Dichte Einstellung" + +#: backend/fujitsu.c:4549 +#, fuzzy, no-c-format +msgid "Density dial" +msgstr "Dichte Einstellung" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Duplexscan" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, no-c-format -msgid "Threshold curve" -msgstr "Schwellwertkurve" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" "Dynamische Schwellwertkurve, von hell zu dunkel, nomalerweise 50-65" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "dynamische Strichzeichnung abschalten" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, fuzzy, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " @@ -2337,12 +3070,12 @@ msgstr "" "Abschalten um einen Software angepassten Algorithmus zur Erstellung von " "Strichzeichnungen zu verwenden anstatt die Hardwarefunktion zu nutzen" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "Interpolation abschalten" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -2352,46 +3085,46 @@ msgstr "" "kleiner ist als die vertikale, schaltet dies die horizontale " "Interpolation aus" -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Farbfilter" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Wenn Graustufen oder Strichzeichnung verwendet wird, wählt diese Option " "die Farbe" -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrierung" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Kalibriermodus definieren" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibrierungsdatenspeicher" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "Lampenausschaltzeit" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2400,106 +3133,104 @@ msgstr "" "Die Lampe wird nach der angegebenen Zeit (in Minuten) ausgeschaltet. Ein " "Wert von 0 bedeutet, dass die Lampe nich ausgeschaltet wird." -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Lampe aus während Schwarzkalibrierung" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Anzahl der Minuten, bis die Lampe nach dem Scan ausgeschaltet wird" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, no-c-format msgid "File button" msgstr "Datei-Knopf" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "OCR-Knopf" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, no-c-format msgid "Power button" msgstr "Einschaltknopf" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "E-Mail-Knopf" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, no-c-format msgid "Need calibration" msgstr "benötigt Kalibirierung" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "" "Der Scanner benötigt eine Kalibrierung für die momentanen Einstellungen" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Knöpfe" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrierung" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, no-c-format msgid "Start calibration using special sheet" msgstr "Starte den Kalibrierungsprozess mit einem Spezialblatt" -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, no-c-format msgid "Clear calibration" msgstr "Kalibrierung zurücksetzen" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, no-c-format msgid "Clear calibration cache" msgstr "Löscht den Kalibrierungsspeicher" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Durchlichteinheit" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "Graustufen-Farbe" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Legt fest, welche SCanfarbe im Garustufen-Modus verwendet wird " "(Standardwert: Grün)." -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Optionen zur Fehlersuche" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatisches Aufwärmen" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2508,12 +3239,12 @@ msgstr "" "Warte solange, bis die Helligkeit der Lampe konstant ist anstatt einfach " "60 Sekunden zu warten." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Kompletter Scan" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2523,12 +3254,12 @@ msgstr "" "Kalibrierungsstreifens. Vorsicht, keine zu große Länge auswählen. Nur " "für Testzwecke." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Grobkalibrierung" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2540,12 +3271,12 @@ msgstr "" "manuell eingestellt werden. Diese Option is standardmäßig an. Nur für " "Testzwecke." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Grobkalibrierung nur für ersten Scan" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2557,12 +3288,12 @@ msgstr "" "sparen. Wenn die Helligkeit der Bilder von Scan zu Scan schwankt, sollte " "diese Option ausgeschaltet werden. Nur für Testzwecke." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "Backtrack-Zeilen" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2575,84 +3306,84 @@ msgstr "" "Computer die Daten aufnehmen kann. Niedrigere Werte sorgen für " "schnellere Scans, erhöhen jedoch das Risiko, Zeilen zu überspringen." -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gammawert" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Legt den Gammawert für alle Kanäle fest." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, no-c-format msgid "Geometry Group" msgstr "Geometrie" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format msgid "Scan Mode Group" msgstr "Scanmodus" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Dia" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, no-c-format msgid "Scanner model" msgstr "Scannermodell" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, fuzzy, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" "Erlaubt Geräteverhalten mit anderen unterstützten Modellen zu testen" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "Bildfarben werden invertiert" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, no-c-format msgid "Disable gamma correction" msgstr "Gammakorrektur abschalten" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, no-c-format msgid "Gamma correction will be disabled" msgstr "Die Gammakorrektur wird abgeschaltet" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, no-c-format msgid "Disable white shading correction" msgstr "Weißabgleichskorrektur abschalten" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "Weißabgleichkorrektur wird abgeschaltet" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "Aufwärmprozess überspringen" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "Der Aufwärmprozess wird überspungen" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "erzwinge echte Tiefe" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2663,12 +3394,12 @@ msgstr "" "ausgeführt und danach in die gewählte Farbtiefe umgewandelt, um die " "Bildqualität zu verbessern. Diese Option verhindert Farbtiefen-Emulation." -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, no-c-format msgid "Emulate Grayscale" msgstr "Graustufen emulieren" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2679,12 +3410,12 @@ msgstr "" "Software in Graustufen umgewandelt. Unter manchen Umständen verbessert " "dies die Bildqualität." -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "Debugging Bilder abspeichern" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " @@ -2693,358 +3424,352 @@ msgstr "" "Wenn aktiviert werden einige Bilder im Scanprozess gespeichert um sie zu " "analysieren." -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, no-c-format msgid "Reset chipset" msgstr "Chipsatz zurücksetzen" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "Setzt die Daten des Chipsatzes zurück" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, no-c-format msgid "Information" msgstr "Information" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, no-c-format msgid "Chipset name" msgstr "Name des Chipsatzes" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "Zeigt den im Gerät verwendeten Chipsatz an." -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "Unbekannt" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "Chipsatz-ID" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, no-c-format msgid "Shows the chipset ID" msgstr "Zeigt die ID des Chipsatzes an" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, no-c-format msgid "Scan counter" msgstr "Scanzähler" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Zeigt die Anzahl der Scans an" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, no-c-format msgid "Update information" msgstr "Information aktualisieren" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "Aktualisiert alle Informationnen über das Gerät" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "Diese Option spiegelt den vorderen Scannerknopf wieder" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Bild" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Verschiedenes" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "X-Abstand" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "hardwareinterne X-Position des Scanbereichs" -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "Y-Abstand" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "hardwareinterne Y-Position des Scanbereichs" -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Lampenstatus" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Schaltet die Lampe an oder aus" -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Kalibriert Schwarz- und Weisswert." -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "ADF" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, no-c-format msgid "TMA Slides" msgstr "TMA-Dias" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, no-c-format msgid "TMA Negatives" msgstr "TMA-Negative" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, no-c-format msgid "Color (48 bits)" msgstr "Farbe (48 Bit)" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, no-c-format msgid "Extend lamp timeout" msgstr "Lampenausschaltzeit verlängern" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Verländert die Lampenausschaltzeit (von 15 Minuten bis 1 Stunde)" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Warten auf Knopfdruck" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "Scannen beginnt erst mit Knopfdruck" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "Erweiterte Optionen" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Grob" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Fein" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Benutzerdefiniert" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Auto" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "Unverändert" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSC Grau" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "XPA Grau" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Langsam" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Schnell" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Besonders schnell" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2 Pixel" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4 Pixel" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8 Pixel" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Foto" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Film-Streifen" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "XPA" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Bedingt" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "Experiment" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Schärfe" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Legt den Wert für die Schärfe fest." -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Automatischer Schwellwert" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" "Schaltet die automatische Bestimmung des Schwellwerts für den Schwarz-" "Weiß-Modus ein." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Glätten" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Wählt den Glättungs-Filter aus." -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Medium nach dem Scannen auswerfen" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Wirft das Medium nach dem Scan aus." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Dokument wechseln" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Dokument wechseln." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Auswerfen" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Dokument auswerfen." -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Startet den Kalibrierungsprozess." -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Medium" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Legt den Typ des Mediums fest." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Belichtungszeit" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -3057,461 +3782,460 @@ msgstr "" "\"Negativ\" für Negativ-Filme. Für dunkle (unterentwickelte) Bilder kann " "dieser Wert vergrößert werden." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Farbmatrix" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Legt die Farbmatrix für den Scanner fest." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Benutzerdefinierte Farbmatrix." -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Graue Farbmatrix" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Benutzerdefinierte Farbmatrix für Graustufenscans." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Horizontal spiegeln" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Bild horizontal spiegeln." -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Vertikal spiegeln" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Bild vertikal spiegeln." -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Optionen aktualisieren" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Optionen aktualisieren." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "8-Bit-Ausgabe" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" "Benutze intern eine Frabtiefe von mehr als 8 Bit, extern aber nur 8 Bit." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Warten auf vorderen Knopf" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "Warte mit dem Scan aud das Drücken des vorderen Knopfes." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Lampe ausschalten" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Schalte Scannerlampe aus." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Papiergröße" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Automatische Trennung" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 quer" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Dichte Einstellungsmodus setzen" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Manueller Pre-Focus" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Manueller Pre-Focus" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Schalte Duplex- (zweiseitiges) Scannen ein" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Tatsächliche Größe des Papiers im ADF" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "Halbton" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Farbe" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "Fortfahren" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "Aus" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Halbton" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Halbton" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, fuzzy, no-c-format msgid "diffusion" msgstr "Diffusion" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normal" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Licht" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "Filmscanner" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Vom Papier" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Standardeinstellung" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Glatt" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Langsam" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Mittel" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Rot" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Grün" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Scanquelle" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Einzugsmodus" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Legt den Einzugsmodus fest" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Aktiviere/Deaktiviere automatischen Fokus\t\t" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Dichte Einstellungsmodus setzen" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Legt den Einzugsmodus fest" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Legt den Einzugsmodus fest" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatischer Schwellwert" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3520,517 +4244,504 @@ msgstr "" "Legt automatisch Helligkeit, Kontrast, Weißwert, Gamma, " "Rauschunterdrückung und Bildgewichtung fest" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Rauschunterdrückung" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Reduziert das Rauschen einzelner Punkte" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Bildgewichtung" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Wählt die Bildgewichtung." -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Lampe an" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Schaltet die Lampe an oder aus" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Bild vertikal spiegeln." -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Gammakorrektur" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "Drucken mit hoher Auflösung" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "Drucken mit geringer Auflösung" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, fuzzy, no-c-format msgid "err_diffusion" msgstr "Diffusion" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Keine Korrektur" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Normal" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Farbverbesserung" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Automatischer Schwellwert" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Automatischer Schwellwert" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "Legt die Reihenfolge der Frames fest" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Schatten Blau" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Verschiebt Rot nach Blau" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamant" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "8x8 Bayer" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 Vertikale Linie" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Verstärkung" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Farbkanal Verstärkungseinstellungen" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Verstärkung grauer Kanal" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Legt die Verstärkung des grauen Kanals fest" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Verstärkung roter Kanal" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Legt die Verstärkung des roten Kanals fest" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Verstärkung grüner Kanal" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Legt die Verstärkung des grünen Kanals fest" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Verstärkung blauer Kanal" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Legt die Verstärkung des blauen Kanals fest" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Bayer Halbton 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Bayer Halbton 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Halbton Punkt 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Halbton Punkt 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Fehlerstreuung" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Modus 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Modus 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Modus 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "Vom Kalibrierungstreifen" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Glatt" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Niedrig" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Mittel" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Hoch" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "Röhrenmonitor" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Eine Seite" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Alle Seiten" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "Einzugsscanner" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "4 Bit Graustufen" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "8 Bit Graustufen" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Lichtwerte" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Spezialoptionen" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Farbbalance" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "kein Backtracking" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "" "wenn aktiviert, erfolgt kein Rücklauf des Scankopfes während der " "Datenübertragung" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Lampe ein/ausschalten" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Schaltet die Lampe des Flachbettscanners ein bzw. aus" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Software - Kalibrierung" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" @@ -4038,12 +4749,12 @@ msgstr "" "einige Scanner benötigen eine Kalibrierung durch die Software, sonst " "entstehen senkrechte Streifen im Bild" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Benutzung des LIGHTLID 35" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "" @@ -4051,32 +4762,32 @@ msgstr "" "Scans die Flachbett - Lampe ausgeschaltet um besseren Kontrast zu " "erreichen" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Hohe Qualität" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Hohe Qualität bei geringer Geschwindigkeit" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Hohe Geschwindigkeit" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Hohe Geschwindigkeit bei geringerer Qualität" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Automatische schwarz/weiß - Schwelle" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4085,67 +4796,67 @@ msgstr "" "Bei einem Strichzeichnungsscan versucht die Software einen optimalen " "Wert für die schwarz/weiß- Schwelle zu bestimmen" -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Modus der Gammakorrektur." -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Verbinde Gammawerte" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Alle Farben benutzen dieselbe Gammakorrektur." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Gamma - Zahlenwert" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Gibt einen Gamma - Zahlenwert an" -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Gamma - Wert für Rot" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "Gamma - Wert für Rot" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Gamma - Wert für Grün" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "Gamma - Wert für Grün" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Gamma - Wert für Blau" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Gamma - Wert für Blau" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Farbkanal" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." @@ -4153,207 +4864,207 @@ msgstr "" "Wählt den Farbkanal; \"Master\" bedeutet, dass alle Farben beeinflusst " "werden" -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Mittelgrauwert" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "Bestimmt, welcher Helligkeitswert als 50% Grau angenommen wird" -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Mittelwert für Rot" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Bestimmt, welcher Helligkeitswert als 50% Rot angenommen wird" -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Mittelwert für Grün" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "Bestimmt, welcher Helligkeitswert als 50% Grün angenommen wird" -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Mittelwert für Blau" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "Bestimmt, welcher Helligkeitswert als 50% Blau angenommen wird" -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Rot - Balance" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "Farbbalance-Faktor für Rot: 100% bedeutet keine Farbkorrektur" -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Grün - Balance" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "Farbbalance-Faktor für Grün: 100% bedeutet keine Farbkorrektur" -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Blau - Balance" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "Farbbalance-Faktor für Blau: 100% bedeutet keine Farbkorrektur" -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Standard - Balance" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "Setzt die Farbbalance auf die vom Hersteller vorgegebenen Werte" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Sehr langsam" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Langsam" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Schnell" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Sehr schnell" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 grob" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 normal" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 fein" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 sehr fein" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 grob" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 grob" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 fein" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 grob" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 normal" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 fein" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 normal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 normal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 benutzerdefiniert" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 benutzerdefiniert" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 benutzerdefiniert" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 benutzerdefiniert" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 benutzerdefiniert" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 benutzerdefiniert" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Schneller Graumodus" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Scanne im schnellen Graumodus (geringere Bildqualität)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4363,124 +5074,124 @@ msgstr "" "Qualität) durchgeführt werden. Das kann ein Schwarzweißmodus oder ein " "Modus mit niedriger Auflösung sein." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Lampenausschaltzeit (Minuten)." -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" "Legt die Zeit (in Minuten) fest, nach der die Lampe ausgeschaltet wird." -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "Schalte die Lampe aus" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Schaltet die Lampe sofort aus." -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Helligkeit des Rotwerts" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "" "Stellt die Helligkeit der roten Komponente des gescannten Bildes ein." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Helligkeit des Grünwerts" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "" "Stellt die Helligkeit der grünen Komponente des gescannten Bildes ein." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Helligkeit des Blauwerts" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "" "Stellt die Helligkeit der blauen Komponente des gescannten Bildes ein." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Kontrast der grünen Komponente" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "" "Stellt den Kontrast der roten Komponente des gescannten Bildes ein." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Kontrast der grünen Komponente" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "" "Stellt den Kontrast der grünen Komponente des gescannten Bildes ein." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrast der blauen Komponente" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "" "Stellt den Kontrast der blauen Komponente des gescannten Bildes ein." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Farbe 48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Farbe 24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Grau 16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Grau 8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "Aufsicht" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "Positiv" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4489,27 +5200,27 @@ msgstr "" "Warte solange, bis die Helligkeit der Lampe konstant ist anstatt einfach " "40 Sekunden zu warten." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, no-c-format msgid "Negative color" msgstr "Negativfilm Farbe" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, no-c-format msgid "Negative gray" msgstr "Negativfilm Graustufen" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, no-c-format msgid "48 bits color" msgstr "48 Bit Farbe" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "16 Bit Graustufen" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " @@ -4519,12 +5230,12 @@ msgstr "" "muss vor Scanmodus und Scanauflösung ausgewählt werden. Setzt die " "Einstellungen für Scanmodus und Scanauflösung zurück." -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Scanen auf Knopfdruck" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4535,248 +5246,241 @@ msgstr "" "drücken Sie die Taste \"SCAN\" beim MP1500 oder \"COLOR\" bei anderen " "Modellen. Zum Abbrechen drücken Sie die Taste \"GRAY\"." -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "Gamma-Exponent" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "Verändert die Intensität der mittleren Farbtöne" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Knopfstatus aktualisieren" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Knopf 1" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Knopf 2" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "Vorlagentyp" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "Scanziel" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "ADF Wartezeit" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" +"Der Scanner sucht während der Wartezeit (in Sekunden) nach einem " +"Dokument, welches in den Scanschacht eingelegt wird." + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Durchlicht" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "Geräteeinstellungen" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "Lampenschalter" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "Lampe(n) ein-/ausschalten." -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, no-c-format msgid "Lamp off during dark calibration" msgstr "Lampe aus während Schwarzkalibrierung" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "Schaltet die Lampe immer während der Schwarzkalibrierung aus." -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "Kalibrierungsdatenspeicher" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "Schaltet Kalibrierungsdatenspeicher ein oder aus." -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, no-c-format msgid "Performs calibration" msgstr "Führt Kalibrierung durch" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "Sensorbeschleunigung" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "Schaltet Sensorbeschleunigung an oder ab." -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "Aufwärmzeit" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "Aufwärmzeit in Sekunden." -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "Lampenausschaltzeit" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "Lampenausschaltzeit in Sekunden." -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "Analog Frontend" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "Verstärkung roter Kanal des AD-Wandlers." -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Offset roter Kanal" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "Offset roter Kanal des AD-Wandlers." -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "Verstärkung grüner Kanal des AD-Wandlers." -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Offset grüner Kanal" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "Offset grüner Kanal des AD-Wandlers." -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "Verstärkung blauer Kanal des AD-Wandlers." -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Offset blauer Kanal" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "Offset blauer Kanal des AD-Wandlers." -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "Ausschaltzeitpunkt rote Lampe" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "Definiert den Ausschaltzeitpunkt der roten Lampe." -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "Ausschaltzeitpunkt grüne Lampe" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "Definiert den Ausschaltzeitpunkt der grünen Lampe." -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "Ausschaltzeitpunkt blaue Lampe" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "Definiert den Ausschaltzeitpunkt der blauen Lampe." -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "Diese Option spiegelt den Zustand der Scannerknöpfe wider." -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Farbe36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Halbtonmuster 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Halbtonmuster 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Zufallsmuster" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Dateiauswahl" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Bildkorrektur" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Graustufen" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Bild in Graustufen laden." -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Three-Pass Simulation" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4785,12 +5489,12 @@ msgstr "" "Simuliere einen Three-Pass Scanner, indem hintereinander je ein Frame " "für jede Grundfarbe übertragen wird. Die Reihenfolge ist grün-blau-rot." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Handscanner Simulation" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4802,7 +5506,7 @@ msgstr "" "-1 zurück. Mit dieser Option kann man prüfen, ob das Frontend damit " "richtig umgehen kann." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." @@ -4810,42 +5514,42 @@ msgstr "" "Stellt die Farbverbesserungseinstellungen (Helligkeit und Kontrast) auf " "Defaultwerte." -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Nur-Lese-Testoption" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Mal sehen, ob das Frontend damit umgehen kann." -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Gammatabellen" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Statuscode Simulation" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Keinen Statuscode erzwingen" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Zwinge das Backend nicht dazu, einen Statuscode zurückzuliefern." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Liefere SANE_STATUS_EOF zurück" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4854,12 +5558,12 @@ msgstr "" "Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " "Statuscode SANE_STATUS_EOF zurückzuliefern." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Liefere SANE_STATUS_JAMMED zurück" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4868,12 +5572,12 @@ msgstr "" "Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " "Statuscode SANE_STATUS_JAMMED zurückzuliefern." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Liefere SANE_STATUS_NO_DOCS zurück" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4882,12 +5586,12 @@ msgstr "" "Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " "Statuscode SANE_STATUS_NO_DOCS zurückzuliefern." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Liefere SANE_STATUS_COVER_OPEN zurück" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4896,12 +5600,12 @@ msgstr "" "Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " "Statuscode SANE_STATUS_COVER_OPEN zurückzuliefern." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Liefere SANE_STATUS_IO_ERROR zurück" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4910,12 +5614,12 @@ msgstr "" "Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " "Statuscode SANE_STATUS_IO_ERROR zurückzuliefern." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Liefere SANE_STATUS_NO_MEM zurück" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4924,12 +5628,12 @@ msgstr "" "Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " "Statuscode SANE_STATUS_NO_MEM zurückzuliefern." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Liefere SANE_STATUS_ACCESS_DENIED zurück" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4938,85 +5642,82 @@ msgstr "" "Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " "Statuscode SANE_STATUS_ACCESS_DENIED zurückzuliefern." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "Diese Option zeigt den Zustand eines Scannerknopfes an." -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Lampe an" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Schalte Scannerlampe ein" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Lampe aus" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Schalte Scannerlampe aus" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "Lampenausschaltzeit" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "Anzahl der Minuten, bis die Lampe nach dem Scan ausgeschaltet wird" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "Schwellenwert für den Strichzeichnungsmodus" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Automatischer Dokumenteinzug" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (Zoll)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 (Zoll)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 (Zoll)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Halbton nicht unterstützt" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "DispersedDot8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "DispersedDot16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -5033,27 +5734,27 @@ msgstr "" "reagiert die Scan-Anwendung möglicherweise nicht mehr auf Eingaben und " "das System kann unbenutzbar werden." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Auswurf des Dokuments nach dem Scannen" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Vorschaumodus" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -5062,12 +5763,12 @@ msgstr "" "Wählt den Scanmodus für die Vorschau aus. Vorschau in Graustufen ist " "normalerweise der beste Kompromiss aus Geschwindigkeit und Detailtreue." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Vordefinierte Einstellungen" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -5076,97 +5777,97 @@ msgstr "" "Stellt Standardgrößen für Fotographien, bedruckte Seiten etc. zur " "Verfügung." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "Flachbettscanner" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, fuzzy, no-c-format msgid "Focus-mode" msgstr "Fokus" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Automatischer Fokus" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Fokus Position" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Fokus Position" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Farbzeilen pro Lesevorgang" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Graustufenzeilen pro Lesevorgang" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "Webcam" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Farbe RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Farbe RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Farbe RGB TEXT" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Komplett schwarz" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Komplett weiß" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Farbmuster" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Gitter" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Erster Eintrag" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Zweiter Eintrag" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5175,12 +5876,12 @@ msgstr "" "Dies ist der sehr lange dritte Eintrag. Vielleicht weiß das Frontend, " "wie man ihn darstellen kann." -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Handscanner-Simulation" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5193,12 +5894,12 @@ msgstr "" "-1 zurück. Mit dieser Option kann man prüfen, ob das Frontend damit " "richtig umgehen kann." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Three-Pass-Simulation" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5207,17 +5908,17 @@ msgstr "" "Simuliere einen Three-Pass-Scanner. Im Farbmodus werden drei Frames " "übertragen." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Legt die Reihenfolge der Frames fest" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "Legt die Reihenfolge der Frames im Three-Pass-Modus fest." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " @@ -5226,17 +5927,17 @@ msgstr "" "Falls der automatische Vorlageneinzug ausgewählt ist, meldet der Einzug " "\"leer\" nach 10 Scans." -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Spezialoptionen" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Wählt das Testbild aus" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5254,12 +5955,12 @@ msgstr "" "Gitter: zeichnet ein Schwarz-Weiß-Gitter mit einer Höhe und Breite der " "einzelnen Felder von jeweils 10 mm." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Kehre Endianness um" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5271,24 +5972,24 @@ msgstr "" "testen, beispielsweise um festzustellen, ob das Frontend die richtige " "Endianness verwendet." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Lesebegrenzung" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" "Begrenzt die Menge an Daten, die mit jedem Aufruf von sane_read() " "übertragen wird." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Größe der Lesebegrenzung" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." @@ -5296,22 +5997,22 @@ msgstr "" "Die (maximale) Menge and Daten, die bei jedem Aufruf von sane_read() " "übertragen wird." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Leseverzögerung" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Verzögere die Datenübertragung durch die Pipe." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Dauer der Leseverzögerung." -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." @@ -5319,12 +6020,12 @@ msgstr "" "Legt fest, wie lange nach der Übertragung eines Datenpuffers durch die " "Pipe gewartet wird." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Rückgabewert von sane_read" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5335,22 +6036,22 @@ msgstr "" "Einstellung für's Scannen. Alle anderen Rückgabewerte dienen dazu, das " "Verhalten des Frontends festzustellen." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Pixelverlust pro Zeile" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Die Anzahl der Pixel, die am Ende der Zeile ungenutzt sind." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Ungenaue Parameter" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5359,24 +6060,24 @@ msgstr "" "Gebe ungenaue Werte für die Anzahl der Zeilen und die Bytes pro Zeile " "zurück, wenn sane_parameters() vor sane_start() aufgerufen wird." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Nichtblockierendes IO" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Verwende nichtblockierndes IO für sane_read(), wenn das durch das " "Frontend unterstützt wird." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Biete Select-Dateideskriptor an" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5385,12 +6086,12 @@ msgstr "" "Biete einen Select-Dateideskriptor an, damit das Frontend erkennen kann, " "ob sane_read() Daten zurückliefern würde." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Test-Optionen einschalten" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5400,27 +6101,27 @@ msgstr "" "Fähigkeit des Frontends feststellen, die verschiedenen Typen von SANE-" "Optionen darzustellen und zu ändern." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Gebe Optionen aus" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Gibt eine Liste aller Optionen aus." -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Bool-Testoptionen" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) Bool soft select soft detect" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5430,12 +6131,12 @@ msgstr "" "\" und \"soft detect\" (und \"advanced\") hat. Also eine ganz normale " "Bool-Option." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Bool hard select soft detect" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5447,12 +6148,12 @@ msgstr "" "Option nicht vom Frontend geändert werden kann, sondern vom Benutzer (z. " "B. indem er einen Knopf am Gerät drückt)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Bool hard select" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5465,12 +6166,12 @@ msgstr "" "werden kann, sondern vom Benutzer (z. B. indem er einen Knopf am " "Gerät drückt). Außerdem kann sie nicht vom Frontend gelesen werden." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) Bool soft detect" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5479,12 +6180,12 @@ msgstr "" "(4/6) Die ist eine Bool-Testoption, welche die Fähigkeiten \"soft detect" "\" (und \"advanced\") hat. Das heißt, dass dies eine Nur-Lese-Option ist." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Bool soft select soft detect emulated" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5493,12 +6194,12 @@ msgstr "" "(5/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"soft select" "\", \"soft detect\", und \"emulated\" (und \"advanced\") hat." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) Bool soft select soft detect auto" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5509,27 +6210,27 @@ msgstr "" "\", \"soft detect\", und \"automatic\" (und \"advanced\") hat. Diese " "Option kann vom Backend automatisch gesetzt werden." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Int-Testoptionen" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Int" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "(1/6) Int-Testoption ohne Einheit und Beschränkung." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Int constraint range" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5539,24 +6240,24 @@ msgstr "" "Bereichsbeschränkung. Das Minimum ist 4, das Maximum 192, und die " "Schrittweite ist 2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) Int constraint word list" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" "(3/6) Int-Testoption mit der Einheit \"Bits\" und einer Wortlisten-" "Beschränkung." -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Int array" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " @@ -5565,12 +6266,12 @@ msgstr "" "(4/6) Int-Testoption mit der Einheit \"mm\" und einem Feld ohne " "Beschränkung." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) Int array constraint range" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5580,12 +6281,12 @@ msgstr "" "Bereichsbeschränkung. Das Minimum ist 4, das Maximum 192, und die " "Schrittweite ist 2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Int array constraint word list" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5594,27 +6295,27 @@ msgstr "" "(6/6) Int-Testoption mit der Einheit \"Prozent\" und einem Feld mit " "einer Wort-Beschränkung." -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Fixed-Testoptionen" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Fixed" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "(1/3) Fixed-Testoption ohne Einheit und ohne Beschränkung." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Fixed constraint range" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5624,49 +6325,49 @@ msgstr "" "Bereichsbeschränkung. Das Minimum ist -42.17, das Maximum 32767.9999, " "und die Schrittweite ist 2.0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) Fixed constraint word list" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" "(3/3) Fixed-Testoption ohne Einheit und mit einer Wortlisten-" "Beschränkung." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "String-Testoptionen" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) String" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) String-Testoption ohne Beschränkung." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) String constraint string list" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "(2/3) String-Testoption mit einer Stringlisten-Beschränkung." -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) String constraint long string list" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5675,155 +6376,159 @@ msgstr "" "(3/3) String-Testoption mit einer Stringlisten-Beschränkung. Enthält ein " "paar mehr Einträge..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Button-Testoptionen" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Button" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Button-Testoption. Gibt etwas Text aus..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Farbe 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Benutze Bildzusammensetzung" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "2 Level schwarz/weiss (Strichzeichnungs Modus)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Halbton schwarz/weiss (Halbton Modus)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Multi-Level schwarz&weiss (Graustufen Modus)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Multi-Level RGB Farbe (ein-Pass-Farbe)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Kalibrierung ignorieren" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Pre-Focus ausschalten" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Focus nicht kalibrieren" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Manueller Pre-Focus" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Feste Focus-Position" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Linse auf Dokument kalibrieren" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Focus der Linse auf dem Dokument kalibrieren" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Halter Focus Position 0mm" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Benutze 0mm Halter Focus Position anstatt 0.6mm" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Kalibrierungs Modus" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Kalibriermodus definieren" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Schaltet die Lampe an/aus" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "UTA ein" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Schaltet den UTA ein/aus" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Offset" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Einstellungen des Offsets der Farbkanäle" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Offset grüner Kanal" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Legt den Offset des grauen Kanals fest" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Legt den Offset des roten Kanals fest" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Legt den Offset des grünen Kanals fest" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Legt den Offset des blauen Kanals fest" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Vorschaumodus" + #~ msgid "problem not analyzed (unknown SCSI class)" #~ msgstr "Problem nicht analysiert (unbekannte SCSI-Klasse)" diff --git a/po/en@boldquot.gmo b/po/en@boldquot.gmo new file mode 100644 index 0000000..0711598 Binary files /dev/null and b/po/en@boldquot.gmo differ diff --git a/po/en@boldquot.header b/po/en@boldquot.header new file mode 100644 index 0000000..fedb6a0 --- /dev/null +++ b/po/en@boldquot.header @@ -0,0 +1,25 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +# This catalog furthermore displays the text between the quotation marks in +# bold face, assuming the VT100/XTerm escape sequences. +# diff --git a/po/en@boldquot.po b/po/en@boldquot.po new file mode 100644 index 0000000..d22038d --- /dev/null +++ b/po/en@boldquot.po @@ -0,0 +1,6506 @@ +# English translations for sane-backends package. +# Copyright (C) 2017 The SANE developers +# This file is distributed under the same license as the sane-backends package. +# Automatically generated, 2017. +# +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +# This catalog furthermore displays the text between the quotation marks in +# bold face, assuming the VT100/XTerm escape sequences. +# +msgid "" +msgstr "" +"Project-Id-Version: sane-backends 1.0.27\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"PO-Revision-Date: 2017-05-22 11:18-0400\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: en@boldquot\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: include/sane/saneopts.h:154 +#, no-c-format +msgid "Number of options" +msgstr "Number of options" + +#: include/sane/saneopts.h:156 +#, no-c-format +msgid "Standard" +msgstr "Standard" + +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#, no-c-format +msgid "Geometry" +msgstr "Geometry" + +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#, no-c-format +msgid "Enhancement" +msgstr "Enhancement" + +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 +#, no-c-format +msgid "Advanced" +msgstr "Advanced" + +#: include/sane/saneopts.h:160 +#, no-c-format +msgid "Sensors" +msgstr "Sensors" + +#: include/sane/saneopts.h:162 +#, no-c-format +msgid "Preview" +msgstr "Preview" + +#: include/sane/saneopts.h:163 +#, no-c-format +msgid "Force monochrome preview" +msgstr "Force monochrome preview" + +#: include/sane/saneopts.h:164 +#, no-c-format +msgid "Bit depth" +msgstr "Bit depth" + +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 +#, no-c-format +msgid "Scan mode" +msgstr "Scan mode" + +#: include/sane/saneopts.h:166 +#, no-c-format +msgid "Scan speed" +msgstr "Scan speed" + +#: include/sane/saneopts.h:167 +#, no-c-format +msgid "Scan source" +msgstr "Scan source" + +#: include/sane/saneopts.h:168 +#, no-c-format +msgid "Force backtracking" +msgstr "Force backtracking" + +#: include/sane/saneopts.h:169 +#, no-c-format +msgid "Top-left x" +msgstr "Top-left x" + +#: include/sane/saneopts.h:170 +#, no-c-format +msgid "Top-left y" +msgstr "Top-left y" + +#: include/sane/saneopts.h:171 +#, no-c-format +msgid "Bottom-right x" +msgstr "Bottom-right x" + +#: include/sane/saneopts.h:172 +#, no-c-format +msgid "Bottom-right y" +msgstr "Bottom-right y" + +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 +#, no-c-format +msgid "Scan resolution" +msgstr "Scan resolution" + +#: include/sane/saneopts.h:174 +#, no-c-format +msgid "X-resolution" +msgstr "X-resolution" + +#: include/sane/saneopts.h:175 +#, no-c-format +msgid "Y-resolution" +msgstr "Y-resolution" + +#: include/sane/saneopts.h:176 +#, no-c-format +msgid "Page width" +msgstr "Page width" + +#: include/sane/saneopts.h:177 +#, no-c-format +msgid "Page height" +msgstr "Page height" + +#: include/sane/saneopts.h:178 +#, no-c-format +msgid "Use custom gamma table" +msgstr "Use custom gamma table" + +#: include/sane/saneopts.h:179 +#, no-c-format +msgid "Image intensity" +msgstr "Image intensity" + +#: include/sane/saneopts.h:180 +#, no-c-format +msgid "Red intensity" +msgstr "Red intensity" + +#: include/sane/saneopts.h:181 +#, no-c-format +msgid "Green intensity" +msgstr "Green intensity" + +#: include/sane/saneopts.h:182 +#, no-c-format +msgid "Blue intensity" +msgstr "Blue intensity" + +#: include/sane/saneopts.h:183 +#, no-c-format +msgid "Brightness" +msgstr "Brightness" + +#: include/sane/saneopts.h:184 +#, no-c-format +msgid "Contrast" +msgstr "Contrast" + +#: include/sane/saneopts.h:185 +#, no-c-format +msgid "Grain size" +msgstr "Grain size" + +#: include/sane/saneopts.h:186 +#, no-c-format +msgid "Halftoning" +msgstr "Halftoning" + +#: include/sane/saneopts.h:187 +#, no-c-format +msgid "Black level" +msgstr "Black level" + +#: include/sane/saneopts.h:188 +#, no-c-format +msgid "White level" +msgstr "White level" + +#: include/sane/saneopts.h:189 +#, no-c-format +msgid "White level for red" +msgstr "White level for red" + +#: include/sane/saneopts.h:190 +#, no-c-format +msgid "White level for green" +msgstr "White level for green" + +#: include/sane/saneopts.h:191 +#, no-c-format +msgid "White level for blue" +msgstr "White level for blue" + +#: include/sane/saneopts.h:192 +#, no-c-format +msgid "Shadow" +msgstr "Shadow" + +#: include/sane/saneopts.h:193 +#, no-c-format +msgid "Shadow for red" +msgstr "Shadow for red" + +#: include/sane/saneopts.h:194 +#, no-c-format +msgid "Shadow for green" +msgstr "Shadow for green" + +#: include/sane/saneopts.h:195 +#, no-c-format +msgid "Shadow for blue" +msgstr "Shadow for blue" + +#: include/sane/saneopts.h:196 +#, no-c-format +msgid "Highlight" +msgstr "Highlight" + +#: include/sane/saneopts.h:197 +#, no-c-format +msgid "Highlight for red" +msgstr "Highlight for red" + +#: include/sane/saneopts.h:198 +#, no-c-format +msgid "Highlight for green" +msgstr "Highlight for green" + +#: include/sane/saneopts.h:199 +#, no-c-format +msgid "Highlight for blue" +msgstr "Highlight for blue" + +#: include/sane/saneopts.h:200 +#, no-c-format +msgid "Hue" +msgstr "Hue" + +#: include/sane/saneopts.h:201 +#, no-c-format +msgid "Saturation" +msgstr "Saturation" + +#: include/sane/saneopts.h:202 +#, no-c-format +msgid "Filename" +msgstr "Filename" + +#: include/sane/saneopts.h:203 +#, no-c-format +msgid "Halftone pattern size" +msgstr "Halftone pattern size" + +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#, no-c-format +msgid "Halftone pattern" +msgstr "Halftone pattern" + +#: include/sane/saneopts.h:205 +#, no-c-format +msgid "Bind X and Y resolution" +msgstr "Bind X and Y resolution" + +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#, no-c-format +msgid "Negative" +msgstr "Negative" + +#: include/sane/saneopts.h:207 +#, no-c-format +msgid "Quality calibration" +msgstr "Quality calibration" + +#: include/sane/saneopts.h:208 +#, no-c-format +msgid "Double Optical Resolution" +msgstr "Double Optical Resolution" + +#: include/sane/saneopts.h:209 +#, no-c-format +msgid "Bind RGB" +msgstr "Bind RGB" + +#: include/sane/saneopts.h:210 backend/sm3840.c:770 +#, no-c-format +msgid "Threshold" +msgstr "Threshold" + +#: include/sane/saneopts.h:211 +#, no-c-format +msgid "Analog gamma correction" +msgstr "Analog gamma correction" + +#: include/sane/saneopts.h:212 +#, no-c-format +msgid "Analog gamma red" +msgstr "Analog gamma red" + +#: include/sane/saneopts.h:213 +#, no-c-format +msgid "Analog gamma green" +msgstr "Analog gamma green" + +#: include/sane/saneopts.h:214 +#, no-c-format +msgid "Analog gamma blue" +msgstr "Analog gamma blue" + +#: include/sane/saneopts.h:215 +#, no-c-format +msgid "Bind analog gamma" +msgstr "Bind analog gamma" + +#: include/sane/saneopts.h:216 +#, no-c-format +msgid "Warmup lamp" +msgstr "Warmup lamp" + +#: include/sane/saneopts.h:217 +#, no-c-format +msgid "Cal. exposure-time" +msgstr "Cal. exposure-time" + +#: include/sane/saneopts.h:218 +#, no-c-format +msgid "Cal. exposure-time for red" +msgstr "Cal. exposure-time for red" + +#: include/sane/saneopts.h:219 +#, no-c-format +msgid "Cal. exposure-time for green" +msgstr "Cal. exposure-time for green" + +#: include/sane/saneopts.h:221 +#, no-c-format +msgid "Cal. exposure-time for blue" +msgstr "Cal. exposure-time for blue" + +#: include/sane/saneopts.h:222 +#, no-c-format +msgid "Scan exposure-time" +msgstr "Scan exposure-time" + +#: include/sane/saneopts.h:223 +#, no-c-format +msgid "Scan exposure-time for red" +msgstr "Scan exposure-time for red" + +#: include/sane/saneopts.h:224 +#, no-c-format +msgid "Scan exposure-time for green" +msgstr "Scan exposure-time for green" + +#: include/sane/saneopts.h:226 +#, no-c-format +msgid "Scan exposure-time for blue" +msgstr "Scan exposure-time for blue" + +#: include/sane/saneopts.h:227 +#, no-c-format +msgid "Set exposure-time" +msgstr "Set exposure-time" + +#: include/sane/saneopts.h:228 +#, no-c-format +msgid "Cal. lamp density" +msgstr "Cal. lamp density" + +#: include/sane/saneopts.h:229 +#, no-c-format +msgid "Scan lamp density" +msgstr "Scan lamp density" + +#: include/sane/saneopts.h:230 +#, no-c-format +msgid "Set lamp density" +msgstr "Set lamp density" + +#: include/sane/saneopts.h:231 backend/umax.c:5829 +#, no-c-format +msgid "Lamp off at exit" +msgstr "Lamp off at exit" + +#: include/sane/saneopts.h:245 +#, no-c-format +msgid "" +"Read-only option that specifies how many options a specific devices " +"supports." +msgstr "" +"Read-only option that specifies how many options a specific devices " +"supports." + +#: include/sane/saneopts.h:248 +#, no-c-format +msgid "Source, mode and resolution options" +msgstr "Source, mode and resolution options" + +#: include/sane/saneopts.h:249 +#, no-c-format +msgid "Scan area and media size options" +msgstr "Scan area and media size options" + +#: include/sane/saneopts.h:250 +#, no-c-format +msgid "Image modification options" +msgstr "Image modification options" + +#: include/sane/saneopts.h:251 +#, no-c-format +msgid "Hardware specific options" +msgstr "Hardware specific options" + +#: include/sane/saneopts.h:252 +#, no-c-format +msgid "Scanner sensors and buttons" +msgstr "Scanner sensors and buttons" + +#: include/sane/saneopts.h:255 +#, no-c-format +msgid "Request a preview-quality scan." +msgstr "Request a preview-quality scan." + +#: include/sane/saneopts.h:258 +#, no-c-format +msgid "" +"Request that all previews are done in monochrome mode. On a three-pass " +"scanner this cuts down the number of passes to one and on a one-pass " +"scanner, it reduces the memory requirements and scan-time of the preview." +msgstr "" +"Request that all previews are done in monochrome mode. On a three-pass " +"scanner this cuts down the number of passes to one and on a one-pass " +"scanner, it reduces the memory requirements and scan-time of the preview." + +#: include/sane/saneopts.h:264 +#, no-c-format +msgid "" +"Number of bits per sample, typical values are 1 for \"line-art\" and 8 " +"for multibit scans." +msgstr "" +"Number of bits per sample, typical values are 1 for “line-art” and " +"8 for multibit scans." + +#: include/sane/saneopts.h:268 +#, no-c-format +msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." +msgstr "Selects the scan mode (e.g., lineart, monochrome, or color)." + +#: include/sane/saneopts.h:271 +#, no-c-format +msgid "Determines the speed at which the scan proceeds." +msgstr "Determines the speed at which the scan proceeds." + +#: include/sane/saneopts.h:274 +#, no-c-format +msgid "Selects the scan source (such as a document-feeder)." +msgstr "Selects the scan source (such as a document-feeder)." + +#: include/sane/saneopts.h:277 +#, no-c-format +msgid "Controls whether backtracking is forced." +msgstr "Controls whether backtracking is forced." + +#: include/sane/saneopts.h:280 +#, no-c-format +msgid "Top-left x position of scan area." +msgstr "Top-left x position of scan area." + +#: include/sane/saneopts.h:283 +#, no-c-format +msgid "Top-left y position of scan area." +msgstr "Top-left y position of scan area." + +#: include/sane/saneopts.h:286 +#, no-c-format +msgid "Bottom-right x position of scan area." +msgstr "Bottom-right x position of scan area." + +#: include/sane/saneopts.h:289 +#, no-c-format +msgid "Bottom-right y position of scan area." +msgstr "Bottom-right y position of scan area." + +#: include/sane/saneopts.h:292 +#, no-c-format +msgid "Sets the resolution of the scanned image." +msgstr "Sets the resolution of the scanned image." + +#: include/sane/saneopts.h:295 +#, no-c-format +msgid "Sets the horizontal resolution of the scanned image." +msgstr "Sets the horizontal resolution of the scanned image." + +#: include/sane/saneopts.h:298 +#, no-c-format +msgid "Sets the vertical resolution of the scanned image." +msgstr "Sets the vertical resolution of the scanned image." + +#: include/sane/saneopts.h:301 +#, no-c-format +msgid "" +"Specifies the width of the media. Required for automatic centering of " +"sheet-fed scans." +msgstr "" +"Specifies the width of the media. Required for automatic centering of " +"sheet-fed scans." + +#: include/sane/saneopts.h:305 +#, no-c-format +msgid "Specifies the height of the media." +msgstr "Specifies the height of the media." + +#: include/sane/saneopts.h:308 +#, no-c-format +msgid "" +"Determines whether a builtin or a custom gamma-table should be used." +msgstr "" +"Determines whether a builtin or a custom gamma-table should be used." + +#: include/sane/saneopts.h:312 +#, no-c-format +msgid "" +"Gamma-correction table. In color mode this option equally affects the " +"red, green, and blue channels simultaneously (i.e., it is an intensity " +"gamma table)." +msgstr "" +"Gamma-correction table. In color mode this option equally affects the " +"red, green, and blue channels simultaneously (i.e., it is an intensity " +"gamma table)." + +#: include/sane/saneopts.h:317 +#, no-c-format +msgid "Gamma-correction table for the red band." +msgstr "Gamma-correction table for the red band." + +#: include/sane/saneopts.h:320 +#, no-c-format +msgid "Gamma-correction table for the green band." +msgstr "Gamma-correction table for the green band." + +#: include/sane/saneopts.h:323 +#, no-c-format +msgid "Gamma-correction table for the blue band." +msgstr "Gamma-correction table for the blue band." + +#: include/sane/saneopts.h:326 +#, no-c-format +msgid "Controls the brightness of the acquired image." +msgstr "Controls the brightness of the acquired image." + +#: include/sane/saneopts.h:329 +#, no-c-format +msgid "Controls the contrast of the acquired image." +msgstr "Controls the contrast of the acquired image." + +#: include/sane/saneopts.h:332 +#, no-c-format +msgid "" +"Selects the \"graininess\" of the acquired image. Smaller values result " +"in sharper images." +msgstr "" +"Selects the “graininess” of the acquired image. Smaller values " +"result in sharper images." + +#: include/sane/saneopts.h:336 +#, no-c-format +msgid "Selects whether the acquired image should be halftoned (dithered)." +msgstr "Selects whether the acquired image should be halftoned (dithered)." + +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 +#, no-c-format +msgid "Selects what radiance level should be considered \"black\"." +msgstr "Selects what radiance level should be considered “black”." + +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 +#, no-c-format +msgid "Selects what radiance level should be considered \"white\"." +msgstr "Selects what radiance level should be considered “white”." + +#: include/sane/saneopts.h:345 +#, no-c-format +msgid "Selects what red radiance level should be considered \"white\"." +msgstr "" +"Selects what red radiance level should be considered “white”." + +#: include/sane/saneopts.h:348 +#, no-c-format +msgid "Selects what green radiance level should be considered \"white\"." +msgstr "" +"Selects what green radiance level should be considered “white”." + +#: include/sane/saneopts.h:351 +#, no-c-format +msgid "Selects what blue radiance level should be considered \"white\"." +msgstr "" +"Selects what blue radiance level should be considered “white”." + +#: include/sane/saneopts.h:356 +#, no-c-format +msgid "Selects what red radiance level should be considered \"black\"." +msgstr "" +"Selects what red radiance level should be considered “black”." + +#: include/sane/saneopts.h:358 +#, no-c-format +msgid "Selects what green radiance level should be considered \"black\"." +msgstr "" +"Selects what green radiance level should be considered “black”." + +#: include/sane/saneopts.h:360 +#, no-c-format +msgid "Selects what blue radiance level should be considered \"black\"." +msgstr "" +"Selects what blue radiance level should be considered “black”." + +#: include/sane/saneopts.h:365 +#, no-c-format +msgid "Selects what red radiance level should be considered \"full red\"." +msgstr "" +"Selects what red radiance level should be considered “full red”." + +#: include/sane/saneopts.h:367 +#, no-c-format +msgid "" +"Selects what green radiance level should be considered \"full green\"." +msgstr "" +"Selects what green radiance level should be considered “full " +"green”." + +#: include/sane/saneopts.h:370 +#, no-c-format +msgid "" +"Selects what blue radiance level should be considered \"full blue\"." +msgstr "" +"Selects what blue radiance level should be considered “full blue”." + +#: include/sane/saneopts.h:374 +#, no-c-format +msgid "Controls the \"hue\" (blue-level) of the acquired image." +msgstr "Controls the “hue” (blue-level) of the acquired image." + +#: include/sane/saneopts.h:377 +#, no-c-format +msgid "" +"The saturation level controls the amount of \"blooming\" that occurs " +"when acquiring an image with a camera. Larger values cause more blooming." +msgstr "" +"The saturation level controls the amount of “blooming” that occurs " +"when acquiring an image with a camera. Larger values cause more blooming." + +#: include/sane/saneopts.h:382 +#, no-c-format +msgid "The filename of the image to be loaded." +msgstr "The filename of the image to be loaded." + +#: include/sane/saneopts.h:385 +#, no-c-format +msgid "" +"Sets the size of the halftoning (dithering) pattern used when scanning " +"halftoned images." +msgstr "" +"Sets the size of the halftoning (dithering) pattern used when scanning " +"halftoned images." + +#: include/sane/saneopts.h:389 +#, no-c-format +msgid "" +"Defines the halftoning (dithering) pattern for scanning halftoned images." +msgstr "" +"Defines the halftoning (dithering) pattern for scanning halftoned images." + +#: include/sane/saneopts.h:393 +#, no-c-format +msgid "Use same values for X and Y resolution" +msgstr "Use same values for X and Y resolution" + +#: include/sane/saneopts.h:395 +#, no-c-format +msgid "Swap black and white" +msgstr "Swap black and white" + +#: include/sane/saneopts.h:397 +#, no-c-format +msgid "Do a quality white-calibration" +msgstr "Do a quality white-calibration" + +#: include/sane/saneopts.h:399 +#, no-c-format +msgid "Use lens that doubles optical resolution" +msgstr "Use lens that doubles optical resolution" + +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 +#, no-c-format +msgid "In RGB-mode use same values for each color" +msgstr "In RGB-mode use same values for each color" + +#: include/sane/saneopts.h:403 +#, no-c-format +msgid "Select minimum-brightness to get a white point" +msgstr "Select minimum-brightness to get a white point" + +#: include/sane/saneopts.h:405 +#, no-c-format +msgid "Analog gamma-correction" +msgstr "Analog gamma-correction" + +#: include/sane/saneopts.h:407 +#, no-c-format +msgid "Analog gamma-correction for red" +msgstr "Analog gamma-correction for red" + +#: include/sane/saneopts.h:409 +#, no-c-format +msgid "Analog gamma-correction for green" +msgstr "Analog gamma-correction for green" + +#: include/sane/saneopts.h:411 +#, no-c-format +msgid "Analog gamma-correction for blue" +msgstr "Analog gamma-correction for blue" + +#: include/sane/saneopts.h:415 +#, no-c-format +msgid "Warmup lamp before scanning" +msgstr "Warmup lamp before scanning" + +#: include/sane/saneopts.h:417 +#, no-c-format +msgid "Define exposure-time for calibration" +msgstr "Define exposure-time for calibration" + +#: include/sane/saneopts.h:419 +#, no-c-format +msgid "Define exposure-time for red calibration" +msgstr "Define exposure-time for red calibration" + +#: include/sane/saneopts.h:421 +#, no-c-format +msgid "Define exposure-time for green calibration" +msgstr "Define exposure-time for green calibration" + +#: include/sane/saneopts.h:423 +#, no-c-format +msgid "Define exposure-time for blue calibration" +msgstr "Define exposure-time for blue calibration" + +#: include/sane/saneopts.h:425 +#, no-c-format +msgid "Define exposure-time for scan" +msgstr "Define exposure-time for scan" + +#: include/sane/saneopts.h:427 +#, no-c-format +msgid "Define exposure-time for red scan" +msgstr "Define exposure-time for red scan" + +#: include/sane/saneopts.h:429 +#, no-c-format +msgid "Define exposure-time for green scan" +msgstr "Define exposure-time for green scan" + +#: include/sane/saneopts.h:431 +#, no-c-format +msgid "Define exposure-time for blue scan" +msgstr "Define exposure-time for blue scan" + +#: include/sane/saneopts.h:433 +#, no-c-format +msgid "Enable selection of exposure-time" +msgstr "Enable selection of exposure-time" + +#: include/sane/saneopts.h:435 +#, no-c-format +msgid "Define lamp density for calibration" +msgstr "Define lamp density for calibration" + +#: include/sane/saneopts.h:437 +#, no-c-format +msgid "Define lamp density for scan" +msgstr "Define lamp density for scan" + +#: include/sane/saneopts.h:439 +#, no-c-format +msgid "Enable selection of lamp density" +msgstr "Enable selection of lamp density" + +#: include/sane/saneopts.h:441 backend/umax.c:5830 +#, no-c-format +msgid "Turn off lamp when program exits" +msgstr "Turn off lamp when program exits" + +#: include/sane/saneopts.h:444 +#, no-c-format +msgid "Scan button" +msgstr "Scan button" + +#: include/sane/saneopts.h:445 +#, no-c-format +msgid "Email button" +msgstr "Email button" + +#: include/sane/saneopts.h:446 +#, no-c-format +msgid "Fax button" +msgstr "Fax button" + +#: include/sane/saneopts.h:447 +#, no-c-format +msgid "Copy button" +msgstr "Copy button" + +#: include/sane/saneopts.h:448 +#, no-c-format +msgid "PDF button" +msgstr "PDF button" + +#: include/sane/saneopts.h:449 +#, no-c-format +msgid "Cancel button" +msgstr "Cancel button" + +#: include/sane/saneopts.h:450 +#, no-c-format +msgid "Page loaded" +msgstr "Page loaded" + +#: include/sane/saneopts.h:451 +#, no-c-format +msgid "Cover open" +msgstr "Cover open" + +#: include/sane/saneopts.h:454 +#, no-c-format +msgid "Color" +msgstr "Color" + +#: include/sane/saneopts.h:455 +#, no-c-format +msgid "Color Lineart" +msgstr "Color Lineart" + +#: include/sane/saneopts.h:456 +#, no-c-format +msgid "Color Halftone" +msgstr "Color Halftone" + +#: include/sane/saneopts.h:457 +#, no-c-format +msgid "Gray" +msgstr "Gray" + +#: include/sane/saneopts.h:458 +#, no-c-format +msgid "Halftone" +msgstr "Halftone" + +#: include/sane/saneopts.h:459 +#, no-c-format +msgid "Lineart" +msgstr "Lineart" + +#: backend/sane_strstatus.c:59 +#, no-c-format +msgid "Success" +msgstr "Success" + +#: backend/sane_strstatus.c:62 +#, no-c-format +msgid "Operation not supported" +msgstr "Operation not supported" + +#: backend/sane_strstatus.c:65 +#, no-c-format +msgid "Operation was cancelled" +msgstr "Operation was cancelled" + +#: backend/sane_strstatus.c:68 +#, no-c-format +msgid "Device busy" +msgstr "Device busy" + +#: backend/sane_strstatus.c:71 +#, no-c-format +msgid "Invalid argument" +msgstr "Invalid argument" + +#: backend/sane_strstatus.c:74 +#, no-c-format +msgid "End of file reached" +msgstr "End of file reached" + +#: backend/sane_strstatus.c:77 +#, no-c-format +msgid "Document feeder jammed" +msgstr "Document feeder jammed" + +#: backend/sane_strstatus.c:80 +#, no-c-format +msgid "Document feeder out of documents" +msgstr "Document feeder out of documents" + +#: backend/sane_strstatus.c:83 +#, no-c-format +msgid "Scanner cover is open" +msgstr "Scanner cover is open" + +#: backend/sane_strstatus.c:86 +#, no-c-format +msgid "Error during device I/O" +msgstr "Error during device I/O" + +#: backend/sane_strstatus.c:89 +#, no-c-format +msgid "Out of memory" +msgstr "Out of memory" + +#: backend/sane_strstatus.c:92 +#, no-c-format +msgid "Access to resource has been denied" +msgstr "Access to resource has been denied" + +#: backend/sane_strstatus.c:96 +#, no-c-format +msgid "Lamp not ready, please retry" +msgstr "Lamp not ready, please retry" + +#: backend/sane_strstatus.c:101 +#, no-c-format +msgid "Scanner mechanism locked for transport" +msgstr "Scanner mechanism locked for transport" + +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 +#, no-c-format +msgid "Defaults" +msgstr "Defaults" + +#: backend/artec_eplus48u.c:2876 +#, no-c-format +msgid "Set default values for enhancement controls." +msgstr "Set default values for enhancement controls." + +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#, no-c-format +msgid "Calibration" +msgstr "Calibration" + +#: backend/artec_eplus48u.c:2941 +#, no-c-format +msgid "Calibrate before next scan" +msgstr "Calibrate before next scan" + +#: backend/artec_eplus48u.c:2943 +#, no-c-format +msgid "" +"If enabled, the device will be calibrated before the next scan. " +"Otherwise, calibration is performed only before the first start." +msgstr "" +"If enabled, the device will be calibrated before the next scan. " +"Otherwise, calibration is performed only before the first start." + +#: backend/artec_eplus48u.c:2954 +#, no-c-format +msgid "Only perform shading-correction" +msgstr "Only perform shading-correction" + +#: backend/artec_eplus48u.c:2956 +#, no-c-format +msgid "" +"If enabled, only the shading correction is performed during calibration. " +"The default values for gain, offset and exposure time, either build-in " +"or from the configuration file, are used." +msgstr "" +"If enabled, only the shading correction is performed during calibration. " +"The default values for gain, offset and exposure time, either build-in " +"or from the configuration file, are used." + +#: backend/artec_eplus48u.c:2967 +#, no-c-format +msgid "Button state" +msgstr "Button state" + +#: backend/avision.h:778 +#, no-c-format +msgid "Number of the frame to scan" +msgstr "Number of the frame to scan" + +#: backend/avision.h:779 +#, no-c-format +msgid "Selects the number of the frame to scan" +msgstr "Selects the number of the frame to scan" + +#: backend/avision.h:782 +#, no-c-format +msgid "Duplex scan" +msgstr "Duplex scan" + +#: backend/avision.h:783 +#, no-c-format +msgid "" +"Duplex scan provide a scan of the front and back side of the document" +msgstr "" +"Duplex scan provide a scan of the front and back side of the document" + +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Calibrate Scanner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Force scanner calibration before scan" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Grayscale scan" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Do a grayscale rather than color scan" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Analog Gain" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Increase or decrease the analog gain of the CCD array" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Gamma Correction" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Selects the gamma corrected transfer curve" + +#: backend/canon.c:149 backend/canon-sane.c:1318 +#, no-c-format +msgid "Raw" +msgstr "Raw" + +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 +#, no-c-format +msgid "Fine color" +msgstr "Fine color" + +#: backend/canon.c:169 +#, no-c-format +msgid "No transparency correction" +msgstr "No transparency correction" + +#: backend/canon.c:170 backend/canon-sane.c:680 +#, no-c-format +msgid "Correction according to film type" +msgstr "Correction according to film type" + +#: backend/canon.c:171 backend/canon-sane.c:674 +#, no-c-format +msgid "Correction according to transparency ratio" +msgstr "Correction according to transparency ratio" + +#: backend/canon.c:176 backend/canon-sane.c:776 +#, no-c-format +msgid "Negatives" +msgstr "Negatives" + +#: backend/canon.c:176 +#, no-c-format +msgid "Slides" +msgstr "Slides" + +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 +#, no-c-format +msgid "Automatic" +msgstr "Automatic" + +#: backend/canon.c:186 +#, no-c-format +msgid "Normal speed" +msgstr "Normal speed" + +#: backend/canon.c:187 +#, no-c-format +msgid "1/2 normal speed" +msgstr "1/2 normal speed" + +#: backend/canon.c:187 +#, no-c-format +msgid "1/3 normal speed" +msgstr "1/3 normal speed" + +#: backend/canon.c:365 +#, no-c-format +msgid "rounded parameter" +msgstr "rounded parameter" + +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#, no-c-format +msgid "unknown" +msgstr "unknown" + +#: backend/canon.c:378 +#, no-c-format +msgid "ADF jam" +msgstr "ADF jam" + +#: backend/canon.c:381 +#, no-c-format +msgid "ADF cover open" +msgstr "ADF cover open" + +#: backend/canon.c:394 +#, no-c-format +msgid "lamp failure" +msgstr "lamp failure" + +#: backend/canon.c:397 +#, no-c-format +msgid "scan head positioning error" +msgstr "scan head positioning error" + +#: backend/canon.c:400 +#, no-c-format +msgid "CPU check error" +msgstr "CPU check error" + +#: backend/canon.c:403 +#, no-c-format +msgid "RAM check error" +msgstr "RAM check error" + +#: backend/canon.c:406 +#, no-c-format +msgid "ROM check error" +msgstr "ROM check error" + +#: backend/canon.c:409 +#, no-c-format +msgid "hardware check error" +msgstr "hardware check error" + +#: backend/canon.c:412 +#, no-c-format +msgid "transparency unit lamp failure" +msgstr "transparency unit lamp failure" + +#: backend/canon.c:415 +#, no-c-format +msgid "transparency unit scan head positioning failure" +msgstr "transparency unit scan head positioning failure" + +#: backend/canon.c:429 +#, no-c-format +msgid "parameter list length error" +msgstr "parameter list length error" + +#: backend/canon.c:433 +#, no-c-format +msgid "invalid command operation code" +msgstr "invalid command operation code" + +#: backend/canon.c:437 +#, no-c-format +msgid "invalid field in CDB" +msgstr "invalid field in CDB" + +#: backend/canon.c:441 +#, no-c-format +msgid "unsupported LUN" +msgstr "unsupported LUN" + +#: backend/canon.c:445 +#, no-c-format +msgid "invalid field in parameter list" +msgstr "invalid field in parameter list" + +#: backend/canon.c:449 +#, no-c-format +msgid "command sequence error" +msgstr "command sequence error" + +#: backend/canon.c:453 +#, no-c-format +msgid "too many windows specified" +msgstr "too many windows specified" + +#: backend/canon.c:457 +#, no-c-format +msgid "medium not present" +msgstr "medium not present" + +#: backend/canon.c:461 +#, no-c-format +msgid "invalid bit IDENTIFY message" +msgstr "invalid bit IDENTIFY message" + +#: backend/canon.c:465 +#, no-c-format +msgid "option not connect" +msgstr "option not connect" + +#: backend/canon.c:479 +#, no-c-format +msgid "power on reset / bus device reset" +msgstr "power on reset / bus device reset" + +#: backend/canon.c:483 +#, no-c-format +msgid "parameter changed by another initiator" +msgstr "parameter changed by another initiator" + +#: backend/canon.c:497 +#, no-c-format +msgid "no additional sense information" +msgstr "no additional sense information" + +#: backend/canon.c:501 +#, no-c-format +msgid "reselect failure" +msgstr "reselect failure" + +#: backend/canon.c:505 +#, no-c-format +msgid "SCSI parity error" +msgstr "SCSI parity error" + +#: backend/canon.c:509 +#, no-c-format +msgid "initiator detected error message received" +msgstr "initiator detected error message received" + +#: backend/canon.c:514 +#, no-c-format +msgid "invalid message error" +msgstr "invalid message error" + +#: backend/canon.c:518 +#, no-c-format +msgid "timeout error" +msgstr "timeout error" + +#: backend/canon.c:522 +#, no-c-format +msgid "transparency unit shading error" +msgstr "transparency unit shading error" + +#: backend/canon.c:526 +#, no-c-format +msgid "lamp not stabilized" +msgstr "lamp not stabilized" + +#: backend/canon.c:852 backend/canon.c:867 +#, no-c-format +msgid "film scanner" +msgstr "film scanner" + +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 +#, no-c-format +msgid "flatbed scanner" +msgstr "flatbed scanner" + +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#, no-c-format +msgid "Film type" +msgstr "Film type" + +#: backend/canon.c:1184 +#, no-c-format +msgid "Selects the film type, i.e. negatives or slides" +msgstr "Selects the film type, i.e. negatives or slides" + +#: backend/canon.c:1196 +#, no-c-format +msgid "Negative film type" +msgstr "Negative film type" + +#: backend/canon.c:1197 +#, no-c-format +msgid "Selects the negative film type" +msgstr "Selects the negative film type" + +#: backend/canon.c:1236 +#, no-c-format +msgid "Hardware resolution" +msgstr "Hardware resolution" + +#: backend/canon.c:1237 +#, no-c-format +msgid "Use only hardware resolutions" +msgstr "Use only hardware resolutions" + +#: backend/canon.c:1318 +#, no-c-format +msgid "Focus" +msgstr "Focus" + +#: backend/canon.c:1328 +#, no-c-format +msgid "Auto focus" +msgstr "Auto focus" + +#: backend/canon.c:1329 +#, no-c-format +msgid "Enable/disable auto focus" +msgstr "Enable/disable auto focus" + +#: backend/canon.c:1336 +#, no-c-format +msgid "Auto focus only once" +msgstr "Auto focus only once" + +#: backend/canon.c:1337 +#, no-c-format +msgid "Do auto focus only once between ejects" +msgstr "Do auto focus only once between ejects" + +#: backend/canon.c:1345 +#, no-c-format +msgid "Manual focus position" +msgstr "Manual focus position" + +#: backend/canon.c:1346 +#, no-c-format +msgid "Set the optical system's focus position by hand (default: 128)." +msgstr "Set the optical system's focus position by hand (default: 128)." + +#: backend/canon.c:1356 +#, no-c-format +msgid "Scan margins" +msgstr "Scan margins" + +#: backend/canon.c:1403 +#, no-c-format +msgid "Extra color adjustments" +msgstr "Extra color adjustments" + +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 +#, no-c-format +msgid "Mirror image" +msgstr "Mirror image" + +#: backend/canon.c:1539 +#, no-c-format +msgid "Mirror the image horizontally" +msgstr "Mirror the image horizontally" + +#: backend/canon.c:1608 +#, no-c-format +msgid "Auto exposure" +msgstr "Auto exposure" + +#: backend/canon.c:1609 +#, no-c-format +msgid "Enable/disable the auto exposure feature" +msgstr "Enable/disable the auto exposure feature" + +#: backend/canon.c:1625 +#, no-c-format +msgid "Calibration now" +msgstr "Calibration now" + +#: backend/canon.c:1626 +#, no-c-format +msgid "Execute calibration *now*" +msgstr "Execute calibration *now*" + +#: backend/canon.c:1636 +#, no-c-format +msgid "Self diagnosis" +msgstr "Self diagnosis" + +#: backend/canon.c:1637 +#, no-c-format +msgid "Perform scanner self diagnosis" +msgstr "Perform scanner self diagnosis" + +#: backend/canon.c:1648 +#, no-c-format +msgid "Reset scanner" +msgstr "Reset scanner" + +#: backend/canon.c:1649 +#, no-c-format +msgid "Reset the scanner" +msgstr "Reset the scanner" + +#: backend/canon.c:1659 +#, no-c-format +msgid "Medium handling" +msgstr "Medium handling" + +#: backend/canon.c:1668 +#, no-c-format +msgid "Eject film after each scan" +msgstr "Eject film after each scan" + +#: backend/canon.c:1669 +#, no-c-format +msgid "Automatically eject the film from the device after each scan" +msgstr "Automatically eject the film from the device after each scan" + +#: backend/canon.c:1680 +#, no-c-format +msgid "Eject film before exit" +msgstr "Eject film before exit" + +#: backend/canon.c:1681 +#, no-c-format +msgid "" +"Automatically eject the film from the device before exiting the program" +msgstr "" +"Automatically eject the film from the device before exiting the program" + +#: backend/canon.c:1690 +#, no-c-format +msgid "Eject film now" +msgstr "Eject film now" + +#: backend/canon.c:1691 +#, no-c-format +msgid "Eject the film *now*" +msgstr "Eject the film *now*" + +#: backend/canon.c:1700 +#, no-c-format +msgid "Document feeder extras" +msgstr "Document feeder extras" + +#: backend/canon.c:1707 +#, no-c-format +msgid "Flatbed only" +msgstr "Flatbed only" + +#: backend/canon.c:1708 +#, no-c-format +msgid "Disable auto document feeder and use flatbed only" +msgstr "Disable auto document feeder and use flatbed only" + +#: backend/canon.c:1718 backend/canon.c:1728 +#, no-c-format +msgid "Transparency unit" +msgstr "Transparency unit" + +#: backend/canon.c:1729 +#, no-c-format +msgid "Switch on/off the transparency unit (FAU, film adapter unit)" +msgstr "Switch on/off the transparency unit (FAU, film adapter unit)" + +#: backend/canon.c:1739 +#, no-c-format +msgid "Negative film" +msgstr "Negative film" + +#: backend/canon.c:1740 +#, no-c-format +msgid "Positive or negative film" +msgstr "Positive or negative film" + +#: backend/canon.c:1749 +#, no-c-format +msgid "Density control" +msgstr "Density control" + +#: backend/canon.c:1750 +#, no-c-format +msgid "Set density control mode" +msgstr "Set density control mode" + +#: backend/canon.c:1761 +#, no-c-format +msgid "Transparency ratio" +msgstr "Transparency ratio" + +#: backend/canon.c:1775 +#, no-c-format +msgid "Select film type" +msgstr "Select film type" + +#: backend/canon.c:1776 +#, no-c-format +msgid "Select the film type" +msgstr "Select the film type" + +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 +#, no-c-format +msgid "Flatbed" +msgstr "Flatbed" + +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 +#, no-c-format +msgid "ADF Front" +msgstr "ADF Front" + +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 +#, no-c-format +msgid "ADF Back" +msgstr "ADF Back" + +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#, no-c-format +msgid "ADF Duplex" +msgstr "ADF Duplex" + +#: backend/canon_dr.c:412 +#, no-c-format +msgid "Card Front" +msgstr "Card Front" + +#: backend/canon_dr.c:413 +#, no-c-format +msgid "Card Back" +msgstr "Card Back" + +#: backend/canon_dr.c:414 +#, no-c-format +msgid "Card Duplex" +msgstr "Card Duplex" + +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#, no-c-format +msgid "Red" +msgstr "Red" + +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#, no-c-format +msgid "Green" +msgstr "Green" + +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#, no-c-format +msgid "Blue" +msgstr "Blue" + +#: backend/canon_dr.c:424 +#, no-c-format +msgid "Enhance Red" +msgstr "Enhance Red" + +#: backend/canon_dr.c:425 +#, no-c-format +msgid "Enhance Green" +msgstr "Enhance Green" + +#: backend/canon_dr.c:426 +#, no-c-format +msgid "Enhance Blue" +msgstr "Enhance Blue" + +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 +#, no-c-format +msgid "None" +msgstr "None" + +#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#, no-c-format +msgid "JPEG" +msgstr "JPEG" + +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "Software blank skip percentage" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "Request driver to discard pages with low percentage of dark pixels" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#, no-c-format +msgid "Simplex" +msgstr "Simplex" + +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 +#, no-c-format +msgid "Duplex" +msgstr "Duplex" + +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#, no-c-format +msgid "Transparency Unit" +msgstr "Transparency Unit" + +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 +#, no-c-format +msgid "Automatic Document Feeder" +msgstr "Automatic Document Feeder" + +#: backend/epson.c:523 backend/epson2.c:134 +#, no-c-format +msgid "Positive Film" +msgstr "Positive Film" + +#: backend/epson.c:524 backend/epson2.c:135 +#, no-c-format +msgid "Negative Film" +msgstr "Negative Film" + +#: backend/epson.c:529 backend/epson2.c:142 +#, no-c-format +msgid "Focus on glass" +msgstr "Focus on glass" + +#: backend/epson.c:530 backend/epson2.c:143 +#, no-c-format +msgid "Focus 2.5mm above glass" +msgstr "Focus 2.5mm above glass" + +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 +#, no-c-format +msgid "Halftone A (Hard Tone)" +msgstr "Halftone A (Hard Tone)" + +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 +#, no-c-format +msgid "Halftone B (Soft Tone)" +msgstr "Halftone B (Soft Tone)" + +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 +#, no-c-format +msgid "Halftone C (Net Screen)" +msgstr "Halftone C (Net Screen)" + +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 +#, no-c-format +msgid "Dither A (4x4 Bayer)" +msgstr "Dither A (4x4 Bayer)" + +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 +#, no-c-format +msgid "Dither B (4x4 Spiral)" +msgstr "Dither B (4x4 Spiral)" + +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 +#, no-c-format +msgid "Dither C (4x4 Net Screen)" +msgstr "Dither C (4x4 Net Screen)" + +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 +#, no-c-format +msgid "Dither D (8x4 Net Screen)" +msgstr "Dither D (8x4 Net Screen)" + +#: backend/epson.c:584 backend/epson2.c:193 +#, no-c-format +msgid "Text Enhanced Technology" +msgstr "Text Enhanced Technology" + +#: backend/epson.c:585 backend/epson2.c:194 +#, no-c-format +msgid "Download pattern A" +msgstr "Download pattern A" + +#: backend/epson.c:586 backend/epson2.c:195 +#, no-c-format +msgid "Download pattern B" +msgstr "Download pattern B" + +#: backend/epson.c:631 +#, no-c-format +msgid "No Correction" +msgstr "No Correction" + +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 +#, no-c-format +msgid "User defined" +msgstr "User defined" + +#: backend/epson.c:633 +#, no-c-format +msgid "Impact-dot printers" +msgstr "Impact-dot printers" + +#: backend/epson.c:634 +#, no-c-format +msgid "Thermal printers" +msgstr "Thermal printers" + +#: backend/epson.c:635 +#, no-c-format +msgid "Ink-jet printers" +msgstr "Ink-jet printers" + +#: backend/epson.c:636 +#, no-c-format +msgid "CRT monitors" +msgstr "CRT monitors" + +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 +#, no-c-format +msgid "Default" +msgstr "Default" + +#: backend/epson.c:658 backend/epson2.c:256 +#, no-c-format +msgid "High density printing" +msgstr "High density printing" + +#: backend/epson.c:659 backend/epson2.c:257 +#, no-c-format +msgid "Low density printing" +msgstr "Low density printing" + +#: backend/epson.c:660 backend/epson2.c:258 +#, no-c-format +msgid "High contrast printing" +msgstr "High contrast printing" + +#: backend/epson.c:678 backend/epson2.c:276 +#, no-c-format +msgid "User defined (Gamma=1.0)" +msgstr "User defined (Gamma=1.0)" + +#: backend/epson.c:679 backend/epson2.c:277 +#, no-c-format +msgid "User defined (Gamma=1.8)" +msgstr "User defined (Gamma=1.8)" + +#: backend/epson.c:757 +#, no-c-format +msgid "CD" +msgstr "CD" + +#: backend/epson.c:758 +#, no-c-format +msgid "A5 portrait" +msgstr "A5 portrait" + +#: backend/epson.c:759 +#, no-c-format +msgid "A5 landscape" +msgstr "A5 landscape" + +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 +#, no-c-format +msgid "Letter" +msgstr "Letter" + +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 +#, no-c-format +msgid "A4" +msgstr "A4" + +#: backend/epson.c:762 +#, no-c-format +msgid "Max" +msgstr "Max" + +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 +#, no-c-format +msgid "Scan Mode" +msgstr "Scan Mode" + +#: backend/epson.c:2845 backend/epson2.c:1012 +#, no-c-format +msgid "Selects the halftone." +msgstr "Selects the halftone." + +#: backend/epson.c:2867 backend/epson2.c:1033 +#, no-c-format +msgid "Dropout" +msgstr "Dropout" + +#: backend/epson.c:2868 backend/epson2.c:1034 +#, no-c-format +msgid "Selects the dropout." +msgstr "Selects the dropout." + +#: backend/epson.c:2880 backend/epson2.c:1046 +#, no-c-format +msgid "Selects the brightness." +msgstr "Selects the brightness." + +#: backend/epson.c:2895 backend/epson2.c:1059 +#, no-c-format +msgid "Sharpness" +msgstr "Sharpness" + +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#, no-c-format +msgid "Color correction" +msgstr "Color correction" + +#: backend/epson.c:3034 backend/epson2.c:1177 +#, no-c-format +msgid "Sets the color correction table for the selected output device." +msgstr "Sets the color correction table for the selected output device." + +#: backend/epson.c:3075 +#, no-c-format +msgid "Color correction coefficients" +msgstr "Color correction coefficients" + +#: backend/epson.c:3076 +#, no-c-format +msgid "Matrix multiplication of RGB" +msgstr "Matrix multiplication of RGB" + +#: backend/epson.c:3093 +#, no-c-format +msgid "Shift green to red" +msgstr "Shift green to red" + +#: backend/epson.c:3094 +#, no-c-format +msgid "Shift green to blue" +msgstr "Shift green to blue" + +#: backend/epson.c:3095 +#, no-c-format +msgid "Shift red to green" +msgstr "Shift red to green" + +#: backend/epson.c:3097 +#, no-c-format +msgid "Shift red to blue" +msgstr "Shift red to blue" + +#: backend/epson.c:3098 +#, no-c-format +msgid "Shift blue to green" +msgstr "Shift blue to green" + +#: backend/epson.c:3099 +#, no-c-format +msgid "Shift blue to red" +msgstr "Shift blue to red" + +#: backend/epson.c:3102 +#, no-c-format +msgid "Controls green level" +msgstr "Controls green level" + +#: backend/epson.c:3103 +#, no-c-format +msgid "Adds to red based on green level" +msgstr "Adds to red based on green level" + +#: backend/epson.c:3104 +#, no-c-format +msgid "Adds to blue based on green level" +msgstr "Adds to blue based on green level" + +#: backend/epson.c:3105 +#, no-c-format +msgid "Adds to green based on red level" +msgstr "Adds to green based on red level" + +#: backend/epson.c:3106 +#, no-c-format +msgid "Controls red level" +msgstr "Controls red level" + +#: backend/epson.c:3107 +#, no-c-format +msgid "Adds to blue based on red level" +msgstr "Adds to blue based on red level" + +#: backend/epson.c:3108 +#, no-c-format +msgid "Adds to green based on blue level" +msgstr "Adds to green based on blue level" + +#: backend/epson.c:3109 +#, no-c-format +msgid "Adds to red based on blue level" +msgstr "Adds to red based on blue level" + +#: backend/epson.c:3110 +#, no-c-format +msgid "Controls blue level" +msgstr "Controls blue level" + +#: backend/epson.c:3206 backend/epson2.c:1256 +#, no-c-format +msgid "Mirror the image." +msgstr "Mirror the image." + +#: backend/epson.c:3232 backend/mustek.c:4332 +#, no-c-format +msgid "Fast preview" +msgstr "Fast preview" + +#: backend/epson.c:3245 backend/epson2.c:1266 +#, no-c-format +msgid "Auto area segmentation" +msgstr "Auto area segmentation" + +#: backend/epson.c:3258 +#, no-c-format +msgid "Short resolution list" +msgstr "Short resolution list" + +#: backend/epson.c:3260 +#, no-c-format +msgid "Display short resolution list" +msgstr "Display short resolution list" + +#: backend/epson.c:3267 +#, no-c-format +msgid "Zoom" +msgstr "Zoom" + +#: backend/epson.c:3269 +#, no-c-format +msgid "Defines the zoom factor the scanner will use" +msgstr "Defines the zoom factor the scanner will use" + +#: backend/epson.c:3349 +#, no-c-format +msgid "Quick format" +msgstr "Quick format" + +#: backend/epson.c:3360 backend/epson2.c:1341 +#, no-c-format +msgid "Optional equipment" +msgstr "Optional equipment" + +#: backend/epson.c:3431 backend/epson2.c:1394 +#, no-c-format +msgid "Eject" +msgstr "Eject" + +#: backend/epson.c:3432 backend/epson2.c:1395 +#, no-c-format +msgid "Eject the sheet in the ADF" +msgstr "Eject the sheet in the ADF" + +#: backend/epson.c:3444 backend/epson2.c:1405 +#, no-c-format +msgid "Auto eject" +msgstr "Auto eject" + +#: backend/epson.c:3445 backend/epson2.c:1407 +#, no-c-format +msgid "Eject document after scanning" +msgstr "Eject document after scanning" + +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#, no-c-format +msgid "ADF Mode" +msgstr "ADF Mode" + +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#, no-c-format +msgid "Selects the ADF mode (simplex/duplex)" +msgstr "Selects the ADF mode (simplex/duplex)" + +#: backend/epson.c:3473 backend/epson2.c:1431 +#, no-c-format +msgid "Bay" +msgstr "Bay" + +#: backend/epson.c:3474 backend/epson2.c:1432 +#, no-c-format +msgid "Select bay to scan" +msgstr "Select bay to scan" + +#: backend/epson.h:69 backend/epson2.h:68 +#, no-c-format +msgid "" +"Selects the gamma correction value from a list of pre-defined devices or " +"the user defined table, which can be downloaded to the scanner" +msgstr "" +"Selects the gamma correction value from a list of pre-defined devices or " +"the user defined table, which can be downloaded to the scanner" + +#: backend/epson.h:72 backend/epson2.h:71 +#, no-c-format +msgid "Focus Position" +msgstr "Focus Position" + +#: backend/epson.h:73 backend/epson2.h:72 +#, no-c-format +msgid "" +"Sets the focus position to either the glass or 2.5mm above the glass" +msgstr "" +"Sets the focus position to either the glass or 2.5mm above the glass" + +#: backend/epson.h:75 backend/epson2.h:74 +#, no-c-format +msgid "Wait for Button" +msgstr "Wait for Button" + +#: backend/epson.h:76 backend/epson2.h:75 +#, no-c-format +msgid "" +"After sending the scan command, wait until the button on the scanner is " +"pressed to actually start the scan process." +msgstr "" +"After sending the scan command, wait until the button on the scanner is " +"pressed to actually start the scan process." + +#: backend/epson2.c:102 backend/pixma.c:390 +#, no-c-format +msgid "Infrared" +msgstr "Infrared" + +#: backend/epson2.c:117 +#, no-c-format +msgid "TPU8x10" +msgstr "TPU8x10" + +#: backend/epson2.c:136 +#, no-c-format +msgid "Positive Slide" +msgstr "Positive Slide" + +#: backend/epson2.c:137 +#, no-c-format +msgid "Negative Slide" +msgstr "Negative Slide" + +#: backend/epson2.c:215 +#, no-c-format +msgid "Built in CCT profile" +msgstr "Built in CCT profile" + +#: backend/epson2.c:216 +#, no-c-format +msgid "User defined CCT profile" +msgstr "User defined CCT profile" + +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#, no-c-format +msgid "On" +msgstr "On" + +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 +#, no-c-format +msgid "Off" +msgstr "Off" + +#: backend/fujitsu.c:686 +#, no-c-format +msgid "DTC" +msgstr "DTC" + +#: backend/fujitsu.c:687 +#, no-c-format +msgid "SDTC" +msgstr "SDTC" + +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 +#, no-c-format +msgid "Dither" +msgstr "Dither" + +#: backend/fujitsu.c:690 +#, no-c-format +msgid "Diffusion" +msgstr "Diffusion" + +#: backend/fujitsu.c:695 +#, no-c-format +msgid "White" +msgstr "White" + +#: backend/fujitsu.c:696 +#, no-c-format +msgid "Black" +msgstr "Black" + +#: backend/fujitsu.c:701 +#, no-c-format +msgid "Continue" +msgstr "Continue" + +#: backend/fujitsu.c:702 +#, no-c-format +msgid "Stop" +msgstr "Stop" + +#: backend/fujitsu.c:704 +#, no-c-format +msgid "10mm" +msgstr "10mm" + +#: backend/fujitsu.c:705 +#, no-c-format +msgid "15mm" +msgstr "15mm" + +#: backend/fujitsu.c:706 +#, no-c-format +msgid "20mm" +msgstr "20mm" + +#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#, no-c-format +msgid "Horizontal" +msgstr "Horizontal" + +#: backend/fujitsu.c:709 +#, no-c-format +msgid "Horizontal bold" +msgstr "Horizontal bold" + +#: backend/fujitsu.c:710 +#, no-c-format +msgid "Horizontal narrow" +msgstr "Horizontal narrow" + +#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#, no-c-format +msgid "Vertical" +msgstr "Vertical" + +#: backend/fujitsu.c:712 +#, no-c-format +msgid "Vertical bold" +msgstr "Vertical bold" + +#: backend/fujitsu.c:714 +#, no-c-format +msgid "Top to bottom" +msgstr "Top to bottom" + +#: backend/fujitsu.c:715 +#, no-c-format +msgid "Bottom to top" +msgstr "Bottom to top" + +#: backend/fujitsu.c:717 +#, no-c-format +msgid "Front" +msgstr "Front" + +#: backend/fujitsu.c:718 +#, no-c-format +msgid "Back" +msgstr "Back" + +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#, no-c-format +msgid "Gamma function exponent" +msgstr "Gamma function exponent" + +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#, no-c-format +msgid "Changes intensity of midtones" +msgstr "Changes intensity of midtones" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "RIF" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "Reverse image format" + +#: backend/fujitsu.c:3165 +#, no-c-format +msgid "Halftone type" +msgstr "Halftone type" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "Control type of halftone filter" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "Control pattern of halftone filter" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "Outline" + +#: backend/fujitsu.c:3210 +#, no-c-format +msgid "Perform outline extraction" +msgstr "Perform outline extraction" + +#: backend/fujitsu.c:3221 +#, no-c-format +msgid "Emphasis" +msgstr "Emphasis" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "Negative to smooth or positive to sharpen image" + +#: backend/fujitsu.c:3240 +#, no-c-format +msgid "Separation" +msgstr "Separation" + +#: backend/fujitsu.c:3241 +#, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "Enable automatic separation of image and text" + +#: backend/fujitsu.c:3252 +#, no-c-format +msgid "Mirroring" +msgstr "Mirroring" + +#: backend/fujitsu.c:3253 +#, no-c-format +msgid "Reflect output image horizontally" +msgstr "Reflect output image horizontally" + +#: backend/fujitsu.c:3270 +#, no-c-format +msgid "White level follower" +msgstr "White level follower" + +#: backend/fujitsu.c:3271 +#, no-c-format +msgid "Control white level follower" +msgstr "Control white level follower" + +#: backend/fujitsu.c:3289 +#, no-c-format +msgid "BP filter" +msgstr "BP filter" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "Improves quality of high resolution ball-point pen text" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Smoothing" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "Enable smoothing for improved OCR" + +#: backend/fujitsu.c:3323 +#, no-c-format +msgid "Gamma curve" +msgstr "Gamma curve" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "Gamma curve, from light to dark, but upper two may not work" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "Threshold curve" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" +"Threshold curve, from light to dark, but upper two may not be linear" + +#: backend/fujitsu.c:3369 +#, no-c-format +msgid "Threshold white" +msgstr "Threshold white" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "Set pixels equal to threshold to white instead of black" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, no-c-format +msgid "Noise removal" +msgstr "Noise removal" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "Matrix 5x5" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "Remove 5 pixel square noise" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "Matrix 4x4" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "Remove 4 pixel square noise" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "Matrix 3x3" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "Remove 3 pixel square noise" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "Matrix 2x2" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "Remove 2 pixel square noise" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "Variance" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "Set SDTC variance rate (sensitivity), 0 equals 127" + +#: backend/fujitsu.c:3508 +#, no-c-format +msgid "Auto width detection" +msgstr "Auto width detection" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "Scanner detects paper sides. May reduce scanning speed." + +#: backend/fujitsu.c:3526 +#, no-c-format +msgid "Auto length detection" +msgstr "Auto length detection" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "Scanner detects paper lower edge. May confuse some frontends." + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "Compression" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "Enable compressed data. May crash your front-end program" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "Compression argument" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "DF action" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "Action following double feed error" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "DF skew" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "Enable double feed error due to skew" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "DF thickness" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "Enable double feed error due to paper thickness" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "DF length" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "Enable double feed error due to paper length" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "DF length difference" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "Difference in page length to trigger double feed error" + +#: backend/fujitsu.c:3708 +#, no-c-format +msgid "DF recovery mode" +msgstr "DF recovery mode" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "Request scanner to reverse feed on paper jam" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "Paper protection" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "Request scanner to predict jams in the ADF" + +#: backend/fujitsu.c:3748 +#, no-c-format +msgid "Advanced paper protection" +msgstr "Advanced paper protection" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "Request scanner to predict jams in the ADF using improved sensors" + +#: backend/fujitsu.c:3768 +#, no-c-format +msgid "Staple detection" +msgstr "Staple detection" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "Request scanner to detect jams in the ADF caused by staples" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "Background color" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" +"Set color of background for scans. May conflict with overscan option" + +#: backend/fujitsu.c:3809 +#, no-c-format +msgid "Dropout color" +msgstr "Dropout color" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" + +#: backend/fujitsu.c:3833 +#, no-c-format +msgid "Buffer mode" +msgstr "Buffer mode" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" +"Request scanner to read pages quickly from ADF into internal memory" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "Prepick" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "Request scanner to grab next page from ADF" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "Overscan" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "Sleep timer" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" +"Time in minutes until the internal power supply switches to sleep mode" + +#: backend/fujitsu.c:3911 +#, no-c-format +msgid "Off timer" +msgstr "Off timer" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." + +#: backend/fujitsu.c:3930 +#, no-c-format +msgid "Duplex offset" +msgstr "Duplex offset" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "Adjust front/back offset" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Green offset" + +#: backend/fujitsu.c:3949 +#, no-c-format +msgid "Adjust green/red offset" +msgstr "Adjust green/red offset" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Blue offset" + +#: backend/fujitsu.c:3967 +#, no-c-format +msgid "Adjust blue/red offset" +msgstr "Adjust blue/red offset" + +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "Low Memory" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option ‘side’ can be used to determine correct image. This option " +"should only be used with custom front-end software." + +#: backend/fujitsu.c:3996 +#, no-c-format +msgid "Duplex side" +msgstr "Duplex side" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "Hardware deskew and crop" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "Request scanner to rotate and crop pages digitally." + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "Software deskew" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "Request driver to rotate skewed pages digitally." + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "Software despeckle diameter" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "Maximum diameter of lone dots to remove from scan." + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#, no-c-format +msgid "Software crop" +msgstr "Software crop" + +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "Request driver to remove border from pages digitally." + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "Halt on Cancel" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" +"Request driver to halt the paper feed instead of eject during a cancel." + +#: backend/fujitsu.c:4095 +#, no-c-format +msgid "Endorser Options" +msgstr "Endorser Options" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "Controls for endorser unit" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "Endorser" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "Enable endorser unit" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "Endorser bits" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "Determines maximum endorser counter value." + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "Endorser value" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "Initial endorser counter value." + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "Endorser step" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "Change endorser counter value by this much for each page." + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "Endorser Y" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "Endorser print offset from top of paper." + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "Endorser font" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "Endorser printing font." + +#: backend/fujitsu.c:4253 +#, no-c-format +msgid "Endorser direction" +msgstr "Endorser direction" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "Endorser printing direction." + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "Endorser side" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "Endorser printing side, requires hardware support to change" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "Endorser string" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "Top edge" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "Paper is pulled partly into adf" + +#: backend/fujitsu.c:4344 +#, no-c-format +msgid "A3 paper" +msgstr "A3 paper" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "A3 paper detected" + +#: backend/fujitsu.c:4356 +#, no-c-format +msgid "B4 paper" +msgstr "B4 paper" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "B4 paper detected" + +#: backend/fujitsu.c:4368 +#, no-c-format +msgid "A4 paper" +msgstr "A4 paper" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "A4 paper detected" + +#: backend/fujitsu.c:4380 +#, no-c-format +msgid "B5 paper" +msgstr "B5 paper" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "B5 paper detected" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "OMR or DF" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "OMR or double feed detected" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "Power saving" + +#: backend/fujitsu.c:4429 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "Scanner in power saving mode" + +#: backend/fujitsu.c:4452 +#, no-c-format +msgid "Manual feed" +msgstr "Manual feed" + +#: backend/fujitsu.c:4453 +#, no-c-format +msgid "Manual feed selected" +msgstr "Manual feed selected" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "Function" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "Function character on screen" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "Ink low" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "Imprinter ink running low" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "Double feed" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "Double feed detected" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "Error code" + +#: backend/fujitsu.c:4513 +#, no-c-format +msgid "Hardware error code" +msgstr "Hardware error code" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "Skew angle" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "Requires black background for scanning" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "Ink remaining" + +#: backend/fujitsu.c:4537 +#, no-c-format +msgid "Imprinter ink level" +msgstr "Imprinter ink level" + +#: backend/fujitsu.c:4548 +#, no-c-format +msgid "Density" +msgstr "Density" + +#: backend/fujitsu.c:4549 +#, no-c-format +msgid "Density dial" +msgstr "Density dial" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, no-c-format +msgid "Duplex switch" +msgstr "Duplex switch" + +#: backend/genesys.c:5761 +#, no-c-format +msgid "Request backend to remove border from pages digitally" +msgstr "Request backend to remove border from pages digitally" + +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#, no-c-format +msgid "Request driver to discard pages with low numbers of dark pixels" +msgstr "Request driver to discard pages with low numbers of dark pixels" + +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#, no-c-format +msgid "Software derotate" +msgstr "Software derotate" + +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#, no-c-format +msgid "Request driver to detect and correct 90 degree image rotation" +msgstr "Request driver to detect and correct 90 degree image rotation" + +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#, no-c-format +msgid "Extras" +msgstr "Extras" + +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#, no-c-format +msgid "Dynamic threshold curve, from light to dark, normally 50-65" +msgstr "Dynamic threshold curve, from light to dark, normally 50-65" + +#: backend/genesys.c:5842 +#, no-c-format +msgid "Disable dynamic lineart" +msgstr "Disable dynamic lineart" + +#: backend/genesys.c:5844 +#, no-c-format +msgid "" +"Disable use of a software adaptive algorithm to generate lineart relying " +"instead on hardware lineart." +msgstr "" +"Disable use of a software adaptive algorithm to generate lineart relying " +"instead on hardware lineart." + +#: backend/genesys.c:5860 +#, no-c-format +msgid "Disable interpolation" +msgstr "Disable interpolation" + +#: backend/genesys.c:5863 +#, no-c-format +msgid "" +"When using high resolutions where the horizontal resolution is smaller " +"than the vertical resolution this disables horizontal interpolation." +msgstr "" +"When using high resolutions where the horizontal resolution is smaller " +"than the vertical resolution this disables horizontal interpolation." + +#: backend/genesys.c:5872 +#, no-c-format +msgid "Color filter" +msgstr "Color filter" + +#: backend/genesys.c:5875 +#, no-c-format +msgid "When using gray or lineart this option selects the used color." +msgstr "When using gray or lineart this option selects the used color." + +#: backend/genesys.c:5901 +#, no-c-format +msgid "Calibration file" +msgstr "Calibration file" + +#: backend/genesys.c:5902 +#, no-c-format +msgid "Specify the calibration file to use" +msgstr "Specify the calibration file to use" + +#: backend/genesys.c:5919 +#, no-c-format +msgid "Calibration cache expiration time" +msgstr "Calibration cache expiration time" + +#: backend/genesys.c:5920 +#, no-c-format +msgid "" +"Time (in minutes) before a cached calibration expires. A value of 0 " +"means cache is not used. A negative value means cache never expires." +msgstr "" +"Time (in minutes) before a cached calibration expires. A value of 0 " +"means cache is not used. A negative value means cache never expires." + +#: backend/genesys.c:5930 +#, no-c-format +msgid "Lamp off time" +msgstr "Lamp off time" + +#: backend/genesys.c:5933 +#, no-c-format +msgid "" +"The lamp will be turned off after the given time (in minutes). A value " +"of 0 means, that the lamp won't be turned off." +msgstr "" +"The lamp will be turned off after the given time (in minutes). A value " +"of 0 means, that the lamp won't be turned off." + +#: backend/genesys.c:5943 +#, no-c-format +msgid "Lamp off during scan" +msgstr "Lamp off during scan" + +#: backend/genesys.c:5944 +#, no-c-format +msgid "The lamp will be turned off during scan. " +msgstr "The lamp will be turned off during scan. " + +#: backend/genesys.c:5972 backend/genesys.c:5973 +#, no-c-format +msgid "File button" +msgstr "File button" + +#: backend/genesys.c:6025 backend/genesys.c:6026 +#, no-c-format +msgid "OCR button" +msgstr "OCR button" + +#: backend/genesys.c:6039 backend/genesys.c:6040 +#, no-c-format +msgid "Power button" +msgstr "Power button" + +#: backend/genesys.c:6053 backend/genesys.c:6054 +#, no-c-format +msgid "Extra button" +msgstr "Extra button" + +#: backend/genesys.c:6067 backend/gt68xx.c:762 +#, no-c-format +msgid "Need calibration" +msgstr "Need calibration" + +#: backend/genesys.c:6068 backend/gt68xx.c:763 +#, no-c-format +msgid "The scanner needs calibration for the current settings" +msgstr "The scanner needs calibration for the current settings" + +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#, no-c-format +msgid "Buttons" +msgstr "Buttons" + +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#, no-c-format +msgid "Calibrate" +msgstr "Calibrate" + +#: backend/genesys.c:6091 backend/gt68xx.c:796 +#, no-c-format +msgid "Start calibration using special sheet" +msgstr "Start calibration using special sheet" + +#: backend/genesys.c:6105 backend/gt68xx.c:809 +#, no-c-format +msgid "Clear calibration" +msgstr "Clear calibration" + +#: backend/genesys.c:6106 backend/gt68xx.c:810 +#, no-c-format +msgid "Clear calibration cache" +msgstr "Clear calibration cache" + +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 +#, no-c-format +msgid "Transparency Adapter" +msgstr "Transparency Adapter" + +#: backend/gt68xx.c:477 +#, no-c-format +msgid "Gray mode color" +msgstr "Gray mode color" + +#: backend/gt68xx.c:479 +#, no-c-format +msgid "Selects which scan color is used gray mode (default: green)." +msgstr "Selects which scan color is used gray mode (default: green)." + +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 +#, no-c-format +msgid "Debugging Options" +msgstr "Debugging Options" + +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#, no-c-format +msgid "Automatic warmup" +msgstr "Automatic warmup" + +#: backend/gt68xx.c:573 +#, no-c-format +msgid "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"60 seconds warm-up time." +msgstr "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"60 seconds warm-up time." + +#: backend/gt68xx.c:585 +#, no-c-format +msgid "Full scan" +msgstr "Full scan" + +#: backend/gt68xx.c:587 +#, no-c-format +msgid "" +"Scan the complete scanning area including calibration strip. Be careful. " +"Don't select the full height. For testing only." +msgstr "" +"Scan the complete scanning area including calibration strip. Be careful. " +"Don't select the full height. For testing only." + +#: backend/gt68xx.c:598 +#, no-c-format +msgid "Coarse calibration" +msgstr "Coarse calibration" + +#: backend/gt68xx.c:600 +#, no-c-format +msgid "" +"Setup gain and offset for scanning automatically. If this option is " +"disabled, options for setting the analog frontend parameters manually " +"are provided. This option is enabled by default. For testing only." +msgstr "" +"Setup gain and offset for scanning automatically. If this option is " +"disabled, options for setting the analog frontend parameters manually " +"are provided. This option is enabled by default. For testing only." + +#: backend/gt68xx.c:619 +#, no-c-format +msgid "Coarse calibration for first scan only" +msgstr "Coarse calibration for first scan only" + +#: backend/gt68xx.c:621 +#, no-c-format +msgid "" +"Coarse calibration is only done for the first scan. Works with most " +"scanners and can save scanning time. If the image brightness is " +"different with each scan, disable this option. For testing only." +msgstr "" +"Coarse calibration is only done for the first scan. Works with most " +"scanners and can save scanning time. If the image brightness is " +"different with each scan, disable this option. For testing only." + +#: backend/gt68xx.c:654 +#, no-c-format +msgid "Backtrack lines" +msgstr "Backtrack lines" + +#: backend/gt68xx.c:656 +#, no-c-format +msgid "" +"Number of lines the scan slider moves back when backtracking occurs. " +"That happens when the scanner scans faster than the computer can receive " +"the data. Low values cause faster scans but increase the risk of " +"omitting lines." +msgstr "" +"Number of lines the scan slider moves back when backtracking occurs. " +"That happens when the scanner scans faster than the computer can receive " +"the data. Low values cause faster scans but increase the risk of " +"omitting lines." + +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#, no-c-format +msgid "Gamma value" +msgstr "Gamma value" + +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#, no-c-format +msgid "Sets the gamma value of all channels." +msgstr "Sets the gamma value of all channels." + +#: backend/hp3500.c:1020 +#, no-c-format +msgid "Geometry Group" +msgstr "Geometry Group" + +#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#, no-c-format +msgid "Scan Mode Group" +msgstr "Scan Mode Group" + +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 +#, no-c-format +msgid "Slide" +msgstr "Slide" + +#: backend/hp3900_sane.c:1405 +#, no-c-format +msgid "Scanner model" +msgstr "Scanner model" + +#: backend/hp3900_sane.c:1408 +#, no-c-format +msgid "Allows one to test device behaviour with other supported models" +msgstr "Allows one to test device behaviour with other supported models" + +#: backend/hp3900_sane.c:1422 +#, no-c-format +msgid "Image colours will be inverted" +msgstr "Image colours will be inverted" + +#: backend/hp3900_sane.c:1436 +#, no-c-format +msgid "Disable gamma correction" +msgstr "Disable gamma correction" + +#: backend/hp3900_sane.c:1437 +#, no-c-format +msgid "Gamma correction will be disabled" +msgstr "Gamma correction will be disabled" + +#: backend/hp3900_sane.c:1451 +#, no-c-format +msgid "Disable white shading correction" +msgstr "Disable white shading correction" + +#: backend/hp3900_sane.c:1453 +#, no-c-format +msgid "White shading correction will be disabled" +msgstr "White shading correction will be disabled" + +#: backend/hp3900_sane.c:1467 +#, no-c-format +msgid "Skip warmup process" +msgstr "Skip warmup process" + +#: backend/hp3900_sane.c:1468 +#, no-c-format +msgid "Warmup process will be disabled" +msgstr "Warmup process will be disabled" + +#: backend/hp3900_sane.c:1482 +#, no-c-format +msgid "Force real depth" +msgstr "Force real depth" + +#: backend/hp3900_sane.c:1485 +#, no-c-format +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." + +#: backend/hp3900_sane.c:1499 +#, no-c-format +msgid "Emulate Grayscale" +msgstr "Emulate Grayscale" + +#: backend/hp3900_sane.c:1502 +#, no-c-format +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." + +#: backend/hp3900_sane.c:1516 +#, no-c-format +msgid "Save debugging images" +msgstr "Save debugging images" + +#: backend/hp3900_sane.c:1519 +#, no-c-format +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." + +#: backend/hp3900_sane.c:1533 +#, no-c-format +msgid "Reset chipset" +msgstr "Reset chipset" + +#: backend/hp3900_sane.c:1534 +#, no-c-format +msgid "Resets chipset data" +msgstr "Resets chipset data" + +#: backend/hp3900_sane.c:1547 +#, no-c-format +msgid "Information" +msgstr "Information" + +#: backend/hp3900_sane.c:1560 +#, no-c-format +msgid "Chipset name" +msgstr "Chipset name" + +#: backend/hp3900_sane.c:1561 +#, no-c-format +msgid "Shows chipset name used in device." +msgstr "Shows chipset name used in device." + +#: backend/hp3900_sane.c:1565 +#, no-c-format +msgid "Unknown" +msgstr "Unknown" + +#: backend/hp3900_sane.c:1571 +#, no-c-format +msgid "Chipset ID" +msgstr "Chipset ID" + +#: backend/hp3900_sane.c:1572 +#, no-c-format +msgid "Shows the chipset ID" +msgstr "Shows the chipset ID" + +#: backend/hp3900_sane.c:1582 +#, no-c-format +msgid "Scan counter" +msgstr "Scan counter" + +#: backend/hp3900_sane.c:1584 +#, no-c-format +msgid "Shows the number of scans made by scanner" +msgstr "Shows the number of scans made by scanner" + +#: backend/hp3900_sane.c:1594 +#, no-c-format +msgid "Update information" +msgstr "Update information" + +#: backend/hp3900_sane.c:1595 +#, no-c-format +msgid "Updates information about device" +msgstr "Updates information about device" + +#: backend/hp3900_sane.c:1635 +#, no-c-format +msgid "This option reflects a front panel scanner button" +msgstr "This option reflects a front panel scanner button" + +#: backend/hp5400_sane.c:313 backend/niash.c:678 +#, no-c-format +msgid "Image" +msgstr "Image" + +#: backend/hp5400_sane.c:352 backend/niash.c:709 +#, no-c-format +msgid "Miscellaneous" +msgstr "Miscellaneous" + +#: backend/hp5400_sane.c:358 +#, no-c-format +msgid "offset X" +msgstr "offset X" + +#: backend/hp5400_sane.c:359 +#, no-c-format +msgid "Hardware internal X position of the scanning area." +msgstr "Hardware internal X position of the scanning area." + +#: backend/hp5400_sane.c:368 +#, no-c-format +msgid "offset Y" +msgstr "offset Y" + +#: backend/hp5400_sane.c:369 +#, no-c-format +msgid "Hardware internal Y position of the scanning area." +msgstr "Hardware internal Y position of the scanning area." + +#: backend/hp5400_sane.c:381 backend/niash.c:716 +#, no-c-format +msgid "Lamp status" +msgstr "Lamp status" + +#: backend/hp5400_sane.c:382 backend/niash.c:717 +#, no-c-format +msgid "Switches the lamp on or off." +msgstr "Switches the lamp on or off." + +#: backend/hp5400_sane.c:393 backend/niash.c:727 +#, no-c-format +msgid "Calibrates for black and white level." +msgstr "Calibrates for black and white level." + +#: backend/hp5590.c:86 backend/hp-option.c:3253 +#, no-c-format +msgid "ADF" +msgstr "ADF" + +#: backend/hp5590.c:88 +#, no-c-format +msgid "TMA Slides" +msgstr "TMA Slides" + +#: backend/hp5590.c:89 +#, no-c-format +msgid "TMA Negatives" +msgstr "TMA Negatives" + +#: backend/hp5590.c:92 +#, no-c-format +msgid "Color (48 bits)" +msgstr "Color (48 bits)" + +#: backend/hp5590.c:95 +#, no-c-format +msgid "Extend lamp timeout" +msgstr "Extend lamp timeout" + +#: backend/hp5590.c:96 +#, no-c-format +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Extends lamp timeout (from 15 minutes to 1 hour)" + +#: backend/hp5590.c:98 +#, no-c-format +msgid "Wait for button" +msgstr "Wait for button" + +#: backend/hp5590.c:99 +#, no-c-format +msgid "Waits for button before scanning" +msgstr "Waits for button before scanning" + +#: backend/hp-option.c:2984 +#, no-c-format +msgid "Advanced Options" +msgstr "Advanced Options" + +#: backend/hp-option.c:3041 +#, no-c-format +msgid "Coarse" +msgstr "Coarse" + +#: backend/hp-option.c:3042 +#, no-c-format +msgid "Fine" +msgstr "Fine" + +#: backend/hp-option.c:3043 +#, no-c-format +msgid "Bayer" +msgstr "Bayer" + +#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#, no-c-format +msgid "Custom" +msgstr "Custom" + +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 +#, no-c-format +msgid "Auto" +msgstr "Auto" + +#: backend/hp-option.c:3088 +#, no-c-format +msgid "NTSC RGB" +msgstr "NTSC RGB" + +#: backend/hp-option.c:3089 +#, no-c-format +msgid "XPA RGB" +msgstr "XPA RGB" + +#: backend/hp-option.c:3090 +#, no-c-format +msgid "Pass-through" +msgstr "Pass-through" + +#: backend/hp-option.c:3091 +#, no-c-format +msgid "NTSC Gray" +msgstr "NTSC Gray" + +#: backend/hp-option.c:3092 +#, no-c-format +msgid "XPA Gray" +msgstr "XPA Gray" + +#: backend/hp-option.c:3144 +#, no-c-format +msgid "Slow" +msgstr "Slow" + +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#, no-c-format +msgid "Normal" +msgstr "Normal" + +#: backend/hp-option.c:3146 +#, no-c-format +msgid "Fast" +msgstr "Fast" + +#: backend/hp-option.c:3147 +#, no-c-format +msgid "Extra Fast" +msgstr "Extra Fast" + +#: backend/hp-option.c:3160 +#, no-c-format +msgid "2-pixel" +msgstr "2-pixel" + +#: backend/hp-option.c:3161 +#, no-c-format +msgid "4-pixel" +msgstr "4-pixel" + +#: backend/hp-option.c:3162 +#, no-c-format +msgid "8-pixel" +msgstr "8-pixel" + +#: backend/hp-option.c:3173 +#, no-c-format +msgid "Print" +msgstr "Print" + +#: backend/hp-option.c:3175 +#, no-c-format +msgid "Film-strip" +msgstr "Film-strip" + +#: backend/hp-option.c:3254 +#, no-c-format +msgid "XPA" +msgstr "XPA" + +#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#, no-c-format +msgid "Conditional" +msgstr "Conditional" + +#: backend/hp-option.c:3414 +#, no-c-format +msgid "Experiment" +msgstr "Experiment" + +#: backend/hp-option.h:60 +#, no-c-format +msgid "Sharpening" +msgstr "Sharpening" + +#: backend/hp-option.h:61 +#, no-c-format +msgid "Set sharpening value." +msgstr "Set sharpening value." + +#: backend/hp-option.h:66 +#, no-c-format +msgid "Auto Threshold" +msgstr "Auto Threshold" + +#: backend/hp-option.h:68 +#, no-c-format +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "Enable automatic determination of threshold for line-art scans." + +#: backend/hp-option.h:74 +#, no-c-format +msgid "Select smoothing filter." +msgstr "Select smoothing filter." + +#: backend/hp-option.h:79 +#, no-c-format +msgid "Unload media after scan" +msgstr "Unload media after scan" + +#: backend/hp-option.h:80 +#, no-c-format +msgid "Unloads the media after a scan." +msgstr "Unloads the media after a scan." + +#: backend/hp-option.h:85 +#, no-c-format +msgid "Change document" +msgstr "Change document" + +#: backend/hp-option.h:86 +#, no-c-format +msgid "Change Document." +msgstr "Change Document." + +#: backend/hp-option.h:91 +#, no-c-format +msgid "Unload" +msgstr "Unload" + +#: backend/hp-option.h:92 +#, no-c-format +msgid "Unload Document." +msgstr "Unload Document." + +#: backend/hp-option.h:98 +#, no-c-format +msgid "Start calibration process." +msgstr "Start calibration process." + +#: backend/hp-option.h:103 +#, no-c-format +msgid "Media" +msgstr "Media" + +#: backend/hp-option.h:104 +#, no-c-format +msgid "Set type of media." +msgstr "Set type of media." + +#: backend/hp-option.h:109 +#, no-c-format +msgid "Exposure time" +msgstr "Exposure time" + +#: backend/hp-option.h:111 +#, no-c-format +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and “Negative” for " +"negative film. For dark (underexposed) images you can increase this " +"value." + +#: backend/hp-option.h:119 backend/hp-option.h:126 +#, no-c-format +msgid "Color Matrix" +msgstr "Color Matrix" + +#: backend/hp-option.h:121 +#, no-c-format +msgid "Set the scanners color matrix." +msgstr "Set the scanners color matrix." + +#: backend/hp-option.h:127 +#, no-c-format +msgid "Custom color matrix." +msgstr "Custom color matrix." + +#: backend/hp-option.h:132 +#, no-c-format +msgid "Mono Color Matrix" +msgstr "Mono Color Matrix" + +#: backend/hp-option.h:133 +#, no-c-format +msgid "Custom color matrix for grayscale scans." +msgstr "Custom color matrix for grayscale scans." + +#: backend/hp-option.h:138 +#, no-c-format +msgid "Mirror horizontal" +msgstr "Mirror horizontal" + +#: backend/hp-option.h:139 +#, no-c-format +msgid "Mirror image horizontally." +msgstr "Mirror image horizontally." + +#: backend/hp-option.h:144 +#, no-c-format +msgid "Mirror vertical" +msgstr "Mirror vertical" + +#: backend/hp-option.h:145 +#, no-c-format +msgid "Mirror image vertically." +msgstr "Mirror image vertically." + +#: backend/hp-option.h:150 +#, no-c-format +msgid "Update options" +msgstr "Update options" + +#: backend/hp-option.h:151 +#, no-c-format +msgid "Update options." +msgstr "Update options." + +#: backend/hp-option.h:156 +#, no-c-format +msgid "8 bit output" +msgstr "8 bit output" + +#: backend/hp-option.h:158 +#, no-c-format +msgid "Use bit depth greater eight internally, but output only eight bits." +msgstr "" +"Use bit depth greater eight internally, but output only eight bits." + +#: backend/hp-option.h:164 +#, no-c-format +msgid "Front button wait" +msgstr "Front button wait" + +#: backend/hp-option.h:165 +#, no-c-format +msgid "Wait to scan for front-panel button push." +msgstr "Wait to scan for front-panel button push." + +#: backend/hp-option.h:172 +#, no-c-format +msgid "Shut off lamp" +msgstr "Shut off lamp" + +#: backend/hp-option.h:173 +#, no-c-format +msgid "Shut off scanner lamp." +msgstr "Shut off scanner lamp." + +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#, no-c-format +msgid "Paper size" +msgstr "Paper size" + +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 +#, no-c-format +msgid "Automatic separation" +msgstr "Automatic separation" + +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 +#, no-c-format +msgid "Landscape" +msgstr "Landscape" + +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 +#, no-c-format +msgid "Inverse Image" +msgstr "Inverse Image" + +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 +#, no-c-format +msgid "Long paper mode" +msgstr "Long paper mode" + +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 +#, no-c-format +msgid "Length control mode" +msgstr "Length control mode" + +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 +#, no-c-format +msgid "Manual feed mode" +msgstr "Manual feed mode" + +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 +#, no-c-format +msgid "Manual feed timeout" +msgstr "Manual feed timeout" + +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 +#, no-c-format +msgid "Double feed detection" +msgstr "Double feed detection" + +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#, no-c-format +msgid "Enable Duplex (Dual-Sided) Scanning" +msgstr "Enable Duplex (Dual-Sided) Scanning" + +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#, no-c-format +msgid "Physical size of the paper in the ADF" +msgstr "Physical size of the paper in the ADF" + +#: backend/kvs1025_opt.c:39 +#, no-c-format +msgid "bw" +msgstr "bw" + +#: backend/kvs1025_opt.c:40 +#, no-c-format +msgid "halftone" +msgstr "halftone" + +#: backend/kvs1025_opt.c:41 +#, no-c-format +msgid "gray" +msgstr "gray" + +#: backend/kvs1025_opt.c:42 +#, no-c-format +msgid "color" +msgstr "color" + +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 +#, no-c-format +msgid "adf" +msgstr "adf" + +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 +#, no-c-format +msgid "fb" +msgstr "fb" + +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 +#, no-c-format +msgid "single" +msgstr "single" + +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 +#, no-c-format +msgid "continuous" +msgstr "continuous" + +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 +#, no-c-format +msgid "off" +msgstr "off" + +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 +#, no-c-format +msgid "wait_doc" +msgstr "wait_doc" + +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 +#, no-c-format +msgid "wait_key" +msgstr "wait_key" + +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 +#, no-c-format +msgid "user_def" +msgstr "user_def" + +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 +#, no-c-format +msgid "business_card" +msgstr "business_card" + +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 +#, no-c-format +msgid "Check" +msgstr "Check" + +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 +#, no-c-format +msgid "A5" +msgstr "A5" + +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 +#, no-c-format +msgid "A6" +msgstr "A6" + +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 +#, no-c-format +msgid "B5" +msgstr "B5" + +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 +#, no-c-format +msgid "B6" +msgstr "B6" + +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 +#, no-c-format +msgid "Legal" +msgstr "Legal" + +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#, no-c-format +msgid "bayer_64" +msgstr "bayer_64" + +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#, no-c-format +msgid "bayer_16" +msgstr "bayer_16" + +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#, no-c-format +msgid "halftone_32" +msgstr "halftone_32" + +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#, no-c-format +msgid "halftone_64" +msgstr "halftone_64" + +#: backend/kvs1025_opt.c:153 +#, no-c-format +msgid "diffusion" +msgstr "diffusion" + +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 +#, no-c-format +msgid "normal" +msgstr "normal" + +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#, no-c-format +msgid "light" +msgstr "light" + +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#, no-c-format +msgid "dark" +msgstr "dark" + +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#, no-c-format +msgid "From scanner" +msgstr "From scanner" + +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 +#, no-c-format +msgid "From paper" +msgstr "From paper" + +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#, no-c-format +msgid "default" +msgstr "default" + +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 +#, no-c-format +msgid "smooth" +msgstr "smooth" + +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 +#, no-c-format +msgid "none" +msgstr "none" + +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 +#, no-c-format +msgid "low" +msgstr "low" + +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 +#, no-c-format +msgid "medium" +msgstr "medium" + +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 +#, no-c-format +msgid "high" +msgstr "high" + +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 +#, no-c-format +msgid "crt" +msgstr "crt" + +#: backend/kvs1025_opt.c:230 +#, no-c-format +msgid "linier" +msgstr "linier" + +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 +#, no-c-format +msgid "red" +msgstr "red" + +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 +#, no-c-format +msgid "green" +msgstr "green" + +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 +#, no-c-format +msgid "blue" +msgstr "blue" + +#: backend/kvs1025_opt.c:562 +#, no-c-format +msgid "Sets the scan source" +msgstr "Sets the scan source" + +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 +#, no-c-format +msgid "Feeder mode" +msgstr "Feeder mode" + +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 +#, no-c-format +msgid "Sets the feeding mode" +msgstr "Sets the feeding mode" + +#: backend/kvs1025_opt.c:584 +#, no-c-format +msgid "Enable/Disable long paper mode" +msgstr "Enable/Disable long paper mode" + +#: backend/kvs1025_opt.c:593 +#, no-c-format +msgid "Enable/Disable length control mode" +msgstr "Enable/Disable length control mode" + +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 +#, no-c-format +msgid "Sets the manual feed mode" +msgstr "Sets the manual feed mode" + +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 +#, no-c-format +msgid "Sets the manual feed timeout in seconds" +msgstr "Sets the manual feed timeout in seconds" + +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 +#, no-c-format +msgid "Enable/Disable double feed detection" +msgstr "Enable/Disable double feed detection" + +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 +#, no-c-format +msgid "fit-to-page" +msgstr "fit-to-page" + +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 +#, no-c-format +msgid "Fit to page" +msgstr "Fit to page" + +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 +#, no-c-format +msgid "Scanner shrinks image to fit scanned page" +msgstr "Scanner shrinks image to fit scanned page" + +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 +#, no-c-format +msgid "Set paper position : true for landscape, false for portrait" +msgstr "Set paper position : true for landscape, false for portrait" + +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#, no-c-format +msgid "Automatic threshold" +msgstr "Automatic threshold" + +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#, no-c-format +msgid "" +"Automatically sets brightness, contrast, white level, gamma, noise " +"reduction and image emphasis" +msgstr "" +"Automatically sets brightness, contrast, white level, gamma, noise " +"reduction and image emphasis" + +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 +#, no-c-format +msgid "Noise reduction" +msgstr "Noise reduction" + +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 +#, no-c-format +msgid "Reduce the isolated dot noise" +msgstr "Reduce the isolated dot noise" + +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 +#, no-c-format +msgid "Image emphasis" +msgstr "Image emphasis" + +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 +#, no-c-format +msgid "Sets the image emphasis" +msgstr "Sets the image emphasis" + +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 +#, no-c-format +msgid "Gamma" +msgstr "Gamma" + +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 +#, no-c-format +msgid "Lamp color" +msgstr "Lamp color" + +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 +#, no-c-format +msgid "Sets the lamp color (color dropout)" +msgstr "Sets the lamp color (color dropout)" + +#: backend/kvs1025_opt.c:832 +#, no-c-format +msgid "Inverse image in B/W or halftone mode" +msgstr "Inverse image in B/W or halftone mode" + +#: backend/kvs1025_opt.c:840 +#, no-c-format +msgid "Mirror image (left/right flip)" +msgstr "Mirror image (left/right flip)" + +#: backend/kvs1025_opt.c:847 +#, no-c-format +msgid "jpeg compression" +msgstr "jpeg compression" + +#: backend/kvs1025_opt.c:850 +#, no-c-format +msgid "JPEG Image Compression with Q parameter, '0' - no compression" +msgstr "" +"JPEG Image Compression with Q parameter, ‘0’ - no compression" + +#: backend/kvs1025_opt.c:860 +#, no-c-format +msgid "Rotate image clockwise" +msgstr "Rotate image clockwise" + +#: backend/kvs1025_opt.c:862 +#, no-c-format +msgid "Request driver to rotate pages by a fixed amount" +msgstr "Request driver to rotate pages by a fixed amount" + +#: backend/kvs1025_opt.c:874 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally" +msgstr "Request driver to rotate skewed pages digitally" + +#: backend/kvs1025_opt.c:883 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan" +msgstr "Maximum diameter of lone dots to remove from scan" + +#: backend/kvs1025_opt.c:902 +#, no-c-format +msgid "Software automatic cropping" +msgstr "Software automatic cropping" + +#: backend/kvs1025_opt.c:904 +#, no-c-format +msgid "Request driver to remove border from pages digitally" +msgstr "Request driver to remove border from pages digitally" + +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode is a mode that the scanner reads up to the shorter " +"length of actual paper or logical document length." +msgstr "" +"Length Control Mode is a mode that the scanner reads up to the shorter " +"length of actual paper or logical document length." + +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 +#, no-c-format +msgid "Gamma correction" +msgstr "Gamma correction" + +#: backend/kvs40xx_opt.c:117 +#, no-c-format +msgid "wait_doc_hopper_up" +msgstr "wait_doc_hopper_up" + +#: backend/kvs40xx_opt.c:127 +#, no-c-format +msgid "A3" +msgstr "A3" + +#: backend/kvs40xx_opt.c:132 +#, no-c-format +msgid "Double letter 11x17 in" +msgstr "Double letter 11x17 in" + +#: backend/kvs40xx_opt.c:133 +#, no-c-format +msgid "B4" +msgstr "B4" + +#: backend/kvs40xx_opt.c:231 +#, no-c-format +msgid "High sensivity" +msgstr "High sensivity" + +#: backend/kvs40xx_opt.c:232 +#, no-c-format +msgid "Low sensivity" +msgstr "Low sensivity" + +#: backend/kvs40xx_opt.c:243 +#, no-c-format +msgid "err_diffusion" +msgstr "err_diffusion" + +#: backend/kvs40xx_opt.c:249 +#, no-c-format +msgid "No detection" +msgstr "No detection" + +#: backend/kvs40xx_opt.c:250 +#, no-c-format +msgid "Normal mode" +msgstr "Normal mode" + +#: backend/kvs40xx_opt.c:251 +#, no-c-format +msgid "Enhanced mode" +msgstr "Enhanced mode" + +#: backend/kvs40xx_opt.c:405 +#, no-c-format +msgid "" +"Long Paper Mode is a mode that the scanner reads the image after it " +"divides long paper by the length which is set in Document Size option." +msgstr "" +"Long Paper Mode is a mode that the scanner reads the image after it " +"divides long paper by the length which is set in Document Size option." + +#: backend/kvs40xx_opt.c:449 +#, no-c-format +msgid "Double feed detector sensitivity" +msgstr "Double feed detector sensitivity" + +#: backend/kvs40xx_opt.c:450 +#, no-c-format +msgid "Set the double feed detector sensitivity" +msgstr "Set the double feed detector sensitivity" + +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 +#, no-c-format +msgid "Do not stop after double feed detection" +msgstr "Do not stop after double feed detection" + +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 +#, no-c-format +msgid "Ignore left double feed sensor" +msgstr "Ignore left double feed sensor" + +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 +#, no-c-format +msgid "Ignore center double feed sensor" +msgstr "Ignore center double feed sensor" + +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 +#, no-c-format +msgid "Ignore right double feed sensor" +msgstr "Ignore right double feed sensor" + +#: backend/kvs40xx_opt.c:642 +#, no-c-format +msgid "Automatic threshold mode" +msgstr "Automatic threshold mode" + +#: backend/kvs40xx_opt.c:643 +#, no-c-format +msgid "Sets the automatic threshold mode" +msgstr "Sets the automatic threshold mode" + +#: backend/kvs40xx_opt.c:694 +#, no-c-format +msgid "Inverse image in B/W mode" +msgstr "Inverse image in B/W mode" + +#: backend/kvs40xx_opt.c:715 +#, no-c-format +msgid "JPEG compression" +msgstr "JPEG compression" + +#: backend/kvs40xx_opt.c:718 +#, no-c-format +msgid "JPEG compression (yours application must be able to uncompress)" +msgstr "JPEG compression (yours application must be able to uncompress)" + +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 +#, no-c-format +msgid "Detect stapled document" +msgstr "Detect stapled document" + +#: backend/kvs40xx_opt.c:776 +#, no-c-format +msgid "chroma of red" +msgstr "chroma of red" + +#: backend/kvs40xx_opt.c:777 +#, no-c-format +msgid "Set chroma of red" +msgstr "Set chroma of red" + +#: backend/kvs40xx_opt.c:787 +#, no-c-format +msgid "chroma of blue" +msgstr "chroma of blue" + +#: backend/kvs40xx_opt.c:788 +#, no-c-format +msgid "Set chroma of blue" +msgstr "Set chroma of blue" + +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 +#, no-c-format +msgid "Skew adjustment" +msgstr "Skew adjustment" + +#: backend/kvs40xx_opt.c:808 +#, no-c-format +msgid "Stop scanner when a paper have been skewed" +msgstr "Stop scanner when a paper have been skewed" + +#: backend/kvs40xx_opt.c:809 +#, no-c-format +msgid "Scanner will be stop when a paper have been skewed" +msgstr "Scanner will be stop when a paper have been skewed" + +#: backend/kvs40xx_opt.c:816 +#, no-c-format +msgid "Crop actual image area" +msgstr "Crop actual image area" + +#: backend/kvs40xx_opt.c:817 +#, no-c-format +msgid "Scanner automatically detect image area and crop it" +msgstr "Scanner automatically detect image area and crop it" + +#: backend/kvs40xx_opt.c:827 +#, no-c-format +msgid "It is right and left reversing" +msgstr "It is right and left reversing" + +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 +#, no-c-format +msgid "Addition of space in top position" +msgstr "Addition of space in top position" + +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 +#, no-c-format +msgid "Addition of space in bottom position" +msgstr "Addition of space in bottom position" + +#: backend/leo.c:110 +#, no-c-format +msgid "Diamond" +msgstr "Diamond" + +#: backend/leo.c:111 +#, no-c-format +msgid "8x8 Coarse Fatting" +msgstr "8x8 Coarse Fatting" + +#: backend/leo.c:112 +#, no-c-format +msgid "8x8 Fine Fatting" +msgstr "8x8 Fine Fatting" + +#: backend/leo.c:113 +#, no-c-format +msgid "8x8 Bayer" +msgstr "8x8 Bayer" + +#: backend/leo.c:114 +#, no-c-format +msgid "8x8 Vertical Line" +msgstr "8x8 Vertical Line" + +#: backend/lexmark.c:273 backend/umax_pp.c:715 +#, no-c-format +msgid "Gain" +msgstr "Gain" + +#: backend/lexmark.c:274 backend/umax_pp.c:716 +#, no-c-format +msgid "Color channels gain settings" +msgstr "Color channels gain settings" + +#: backend/lexmark.c:283 backend/umax_pp.c:723 +#, no-c-format +msgid "Gray gain" +msgstr "Gray gain" + +#: backend/lexmark.c:284 backend/umax_pp.c:724 +#, no-c-format +msgid "Sets gray channel gain" +msgstr "Sets gray channel gain" + +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#, no-c-format +msgid "Red gain" +msgstr "Red gain" + +#: backend/lexmark.c:298 backend/umax_pp.c:736 +#, no-c-format +msgid "Sets red channel gain" +msgstr "Sets red channel gain" + +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#, no-c-format +msgid "Green gain" +msgstr "Green gain" + +#: backend/lexmark.c:312 backend/umax_pp.c:748 +#, no-c-format +msgid "Sets green channel gain" +msgstr "Sets green channel gain" + +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#, no-c-format +msgid "Blue gain" +msgstr "Blue gain" + +#: backend/lexmark.c:326 backend/umax_pp.c:760 +#, no-c-format +msgid "Sets blue channel gain" +msgstr "Sets blue channel gain" + +#: backend/matsushita.c:139 +#, no-c-format +msgid "Bayer Dither 16" +msgstr "Bayer Dither 16" + +#: backend/matsushita.c:140 +#, no-c-format +msgid "Bayer Dither 64" +msgstr "Bayer Dither 64" + +#: backend/matsushita.c:141 +#, no-c-format +msgid "Halftone Dot 32" +msgstr "Halftone Dot 32" + +#: backend/matsushita.c:142 +#, no-c-format +msgid "Halftone Dot 64" +msgstr "Halftone Dot 64" + +#: backend/matsushita.c:143 +#, no-c-format +msgid "Error Diffusion" +msgstr "Error Diffusion" + +#: backend/matsushita.c:160 +#, no-c-format +msgid "Mode 1" +msgstr "Mode 1" + +#: backend/matsushita.c:161 +#, no-c-format +msgid "Mode 2" +msgstr "Mode 2" + +#: backend/matsushita.c:162 +#, no-c-format +msgid "Mode 3" +msgstr "Mode 3" + +#: backend/matsushita.c:176 +#, no-c-format +msgid "From white stick" +msgstr "From white stick" + +#: backend/matsushita.c:212 +#, no-c-format +msgid "Smooth" +msgstr "Smooth" + +#: backend/matsushita.c:214 backend/matsushita.c:229 +#, no-c-format +msgid "Low" +msgstr "Low" + +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 +#, no-c-format +msgid "Medium" +msgstr "Medium" + +#: backend/matsushita.c:216 backend/matsushita.c:231 +#, no-c-format +msgid "High" +msgstr "High" + +#: backend/matsushita.c:245 +#, no-c-format +msgid "CRT" +msgstr "CRT" + +#: backend/matsushita.c:257 +#, no-c-format +msgid "One page" +msgstr "One page" + +#: backend/matsushita.c:258 +#, no-c-format +msgid "All pages" +msgstr "All pages" + +#: backend/matsushita.c:1034 backend/plustek.c:1333 +#, no-c-format +msgid "sheetfed scanner" +msgstr "sheetfed scanner" + +#: backend/matsushita.h:209 +#, no-c-format +msgid "Grayscale 4 bits" +msgstr "Grayscale 4 bits" + +#: backend/matsushita.h:210 +#, no-c-format +msgid "Grayscale 8 bits" +msgstr "Grayscale 8 bits" + +#: backend/microtek2.h:601 +#, no-c-format +msgid "Shadow, midtone, highlight, exposure time" +msgstr "Shadow, midtone, highlight, exposure time" + +#: backend/microtek2.h:603 +#, no-c-format +msgid "Special options" +msgstr "Special options" + +#: backend/microtek2.h:604 +#, no-c-format +msgid "Color balance" +msgstr "Color balance" + +#: backend/microtek2.h:607 +#, no-c-format +msgid "Disable backtracking" +msgstr "Disable backtracking" + +#: backend/microtek2.h:608 +#, no-c-format +msgid "If checked the scanner does not perform backtracking" +msgstr "If checked the scanner does not perform backtracking" + +#: backend/microtek2.h:612 +#, no-c-format +msgid "Toggle lamp of flatbed" +msgstr "Toggle lamp of flatbed" + +#: backend/microtek2.h:613 +#, no-c-format +msgid "Toggles the lamp of the flatbed" +msgstr "Toggles the lamp of the flatbed" + +#: backend/microtek2.h:616 +#, no-c-format +msgid "Calibration by backend" +msgstr "Calibration by backend" + +#: backend/microtek2.h:617 +#, no-c-format +msgid "" +"If checked the color calibration before a scan is done by the backend" +msgstr "" +"If checked the color calibration before a scan is done by the backend" + +#: backend/microtek2.h:621 +#, no-c-format +msgid "Use the lightlid-35mm adapter" +msgstr "Use the lightlid-35mm adapter" + +#: backend/microtek2.h:622 +#, no-c-format +msgid "This option turns off the lamp of the flatbed during a scan" +msgstr "This option turns off the lamp of the flatbed during a scan" + +#: backend/microtek2.h:626 backend/snapscan-options.c:421 +#, no-c-format +msgid "Quality scan" +msgstr "Quality scan" + +#: backend/microtek2.h:627 backend/snapscan-options.c:422 +#, no-c-format +msgid "Highest quality but lower speed" +msgstr "Highest quality but lower speed" + +#: backend/microtek2.h:630 +#, no-c-format +msgid "Fast scan" +msgstr "Fast scan" + +#: backend/microtek2.h:631 +#, no-c-format +msgid "Highest speed but lower quality" +msgstr "Highest speed but lower quality" + +#: backend/microtek2.h:634 +#, no-c-format +msgid "Automatic adjustment of threshold" +msgstr "Automatic adjustment of threshold" + +#: backend/microtek2.h:635 +#, no-c-format +msgid "" +"If checked the backend automatically tries to determine an optimal value " +"for the threshold." +msgstr "" +"If checked the backend automatically tries to determine an optimal value " +"for the threshold." + +#: backend/microtek2.h:641 +#, no-c-format +msgid "Selects the gamma correction mode." +msgstr "Selects the gamma correction mode." + +#: backend/microtek2.h:644 +#, no-c-format +msgid "Bind gamma" +msgstr "Bind gamma" + +#: backend/microtek2.h:645 +#, no-c-format +msgid "Use same gamma values for all colour channels." +msgstr "Use same gamma values for all colour channels." + +#: backend/microtek2.h:649 +#, no-c-format +msgid "Scalar gamma" +msgstr "Scalar gamma" + +#: backend/microtek2.h:650 +#, no-c-format +msgid "Selects a value for scalar gamma correction." +msgstr "Selects a value for scalar gamma correction." + +#: backend/microtek2.h:654 +#, no-c-format +msgid "Scalar gamma red" +msgstr "Scalar gamma red" + +#: backend/microtek2.h:655 +#, no-c-format +msgid "Selects a value for scalar gamma correction (red channel)" +msgstr "Selects a value for scalar gamma correction (red channel)" + +#: backend/microtek2.h:659 +#, no-c-format +msgid "Scalar gamma green" +msgstr "Scalar gamma green" + +#: backend/microtek2.h:660 +#, no-c-format +msgid "Selects a value for scalar gamma correction (green channel)" +msgstr "Selects a value for scalar gamma correction (green channel)" + +#: backend/microtek2.h:664 +#, no-c-format +msgid "Scalar gamma blue" +msgstr "Scalar gamma blue" + +#: backend/microtek2.h:665 +#, no-c-format +msgid "Selects a value for scalar gamma correction (blue channel)" +msgstr "Selects a value for scalar gamma correction (blue channel)" + +#: backend/microtek2.h:669 +#, no-c-format +msgid "Channel" +msgstr "Channel" + +#: backend/microtek2.h:670 +#, no-c-format +msgid "" +"Selects the colour band, \"Master\" means that all colours are affected." +msgstr "" +"Selects the colour band, “Master” means that all colours are " +"affected." + +#: backend/microtek2.h:674 +#, no-c-format +msgid "Midtone" +msgstr "Midtone" + +#: backend/microtek2.h:675 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % gray\"." +msgstr "" +"Selects which radiance level should be considered “50 % gray”." + +#: backend/microtek2.h:679 +#, no-c-format +msgid "Midtone for red" +msgstr "Midtone for red" + +#: backend/microtek2.h:680 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % red\"." +msgstr "" +"Selects which radiance level should be considered “50 % red”." + +#: backend/microtek2.h:684 +#, no-c-format +msgid "Midtone for green" +msgstr "Midtone for green" + +#: backend/microtek2.h:685 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % green\"." +msgstr "" +"Selects which radiance level should be considered “50 % green”." + +#: backend/microtek2.h:689 +#, no-c-format +msgid "Midtone for blue" +msgstr "Midtone for blue" + +#: backend/microtek2.h:690 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % blue\"." +msgstr "" +"Selects which radiance level should be considered “50 % blue”." + +#: backend/microtek2.h:694 +#, no-c-format +msgid "Red balance" +msgstr "Red balance" + +#: backend/microtek2.h:695 +#, no-c-format +msgid "Balance factor for red. A value of 100% means no correction." +msgstr "Balance factor for red. A value of 100% means no correction." + +#: backend/microtek2.h:699 +#, no-c-format +msgid "Green balance" +msgstr "Green balance" + +#: backend/microtek2.h:700 +#, no-c-format +msgid "Balance factor for green. A value of 100% means no correction." +msgstr "Balance factor for green. A value of 100% means no correction." + +#: backend/microtek2.h:704 +#, no-c-format +msgid "Blue balance" +msgstr "Blue balance" + +#: backend/microtek2.h:705 +#, no-c-format +msgid "Balance factor for blue. A value of 100% means no correction." +msgstr "Balance factor for blue. A value of 100% means no correction." + +#: backend/microtek2.h:709 +#, no-c-format +msgid "Firmware balance" +msgstr "Firmware balance" + +#: backend/microtek2.h:710 +#, no-c-format +msgid "Sets the color balance values to the firmware provided values." +msgstr "Sets the color balance values to the firmware provided values." + +#: backend/mustek.c:149 +#, no-c-format +msgid "Slowest" +msgstr "Slowest" + +#: backend/mustek.c:149 +#, no-c-format +msgid "Slower" +msgstr "Slower" + +#: backend/mustek.c:150 +#, no-c-format +msgid "Faster" +msgstr "Faster" + +#: backend/mustek.c:150 +#, no-c-format +msgid "Fastest" +msgstr "Fastest" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 coarse" +msgstr "8x8 coarse" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 normal" +msgstr "8x8 normal" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 fine" +msgstr "8x8 fine" + +#: backend/mustek.c:178 +#, no-c-format +msgid "8x8 very fine" +msgstr "8x8 very fine" + +#: backend/mustek.c:178 +#, no-c-format +msgid "6x6 normal" +msgstr "6x6 normal" + +#: backend/mustek.c:179 +#, no-c-format +msgid "5x5 coarse" +msgstr "5x5 coarse" + +#: backend/mustek.c:179 +#, no-c-format +msgid "5x5 fine" +msgstr "5x5 fine" + +#: backend/mustek.c:179 +#, no-c-format +msgid "4x4 coarse" +msgstr "4x4 coarse" + +#: backend/mustek.c:180 +#, no-c-format +msgid "4x4 normal" +msgstr "4x4 normal" + +#: backend/mustek.c:180 +#, no-c-format +msgid "4x4 fine" +msgstr "4x4 fine" + +#: backend/mustek.c:180 +#, no-c-format +msgid "3x3 normal" +msgstr "3x3 normal" + +#: backend/mustek.c:181 +#, no-c-format +msgid "2x2 normal" +msgstr "2x2 normal" + +#: backend/mustek.c:181 +#, no-c-format +msgid "8x8 custom" +msgstr "8x8 custom" + +#: backend/mustek.c:182 +#, no-c-format +msgid "6x6 custom" +msgstr "6x6 custom" + +#: backend/mustek.c:183 +#, no-c-format +msgid "5x5 custom" +msgstr "5x5 custom" + +#: backend/mustek.c:183 +#, no-c-format +msgid "4x4 custom" +msgstr "4x4 custom" + +#: backend/mustek.c:184 +#, no-c-format +msgid "3x3 custom" +msgstr "3x3 custom" + +#: backend/mustek.c:185 +#, no-c-format +msgid "2x2 custom" +msgstr "2x2 custom" + +#: backend/mustek.c:4235 +#, no-c-format +msgid "Fast gray mode" +msgstr "Fast gray mode" + +#: backend/mustek.c:4236 +#, no-c-format +msgid "Scan in fast gray mode (lower quality)." +msgstr "Scan in fast gray mode (lower quality)." + +#: backend/mustek.c:4333 +#, no-c-format +msgid "" +"Request that all previews are done in the fastest (low-quality) mode. " +"This may be a non-color mode or a low resolution mode." +msgstr "" +"Request that all previews are done in the fastest (low-quality) mode. " +"This may be a non-color mode or a low resolution mode." + +#: backend/mustek.c:4341 +#, no-c-format +msgid "Lamp off time (minutes)" +msgstr "Lamp off time (minutes)" + +#: backend/mustek.c:4342 +#, no-c-format +msgid "Set the time (in minutes) after which the lamp is shut off." +msgstr "Set the time (in minutes) after which the lamp is shut off." + +#: backend/mustek.c:4353 +#, no-c-format +msgid "Turn lamp off" +msgstr "Turn lamp off" + +#: backend/mustek.c:4354 +#, no-c-format +msgid "Turns the lamp off immediately." +msgstr "Turns the lamp off immediately." + +#: backend/mustek.c:4431 +#, no-c-format +msgid "Red brightness" +msgstr "Red brightness" + +#: backend/mustek.c:4432 +#, no-c-format +msgid "Controls the brightness of the red channel of the acquired image." +msgstr "Controls the brightness of the red channel of the acquired image." + +#: backend/mustek.c:4444 +#, no-c-format +msgid "Green brightness" +msgstr "Green brightness" + +#: backend/mustek.c:4445 +#, no-c-format +msgid "Controls the brightness of the green channel of the acquired image." +msgstr "" +"Controls the brightness of the green channel of the acquired image." + +#: backend/mustek.c:4457 +#, no-c-format +msgid "Blue brightness" +msgstr "Blue brightness" + +#: backend/mustek.c:4458 +#, no-c-format +msgid "Controls the brightness of the blue channel of the acquired image." +msgstr "Controls the brightness of the blue channel of the acquired image." + +#: backend/mustek.c:4483 +#, no-c-format +msgid "Contrast red channel" +msgstr "Contrast red channel" + +#: backend/mustek.c:4484 +#, no-c-format +msgid "Controls the contrast of the red channel of the acquired image." +msgstr "Controls the contrast of the red channel of the acquired image." + +#: backend/mustek.c:4496 +#, no-c-format +msgid "Contrast green channel" +msgstr "Contrast green channel" + +#: backend/mustek.c:4497 +#, no-c-format +msgid "Controls the contrast of the green channel of the acquired image." +msgstr "Controls the contrast of the green channel of the acquired image." + +#: backend/mustek.c:4509 +#, no-c-format +msgid "Contrast blue channel" +msgstr "Contrast blue channel" + +#: backend/mustek.c:4510 +#, no-c-format +msgid "Controls the contrast of the blue channel of the acquired image." +msgstr "Controls the contrast of the blue channel of the acquired image." + +#: backend/mustek_usb2.c:105 +#, no-c-format +msgid "Color48" +msgstr "Color48" + +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 +#, no-c-format +msgid "Color24" +msgstr "Color24" + +#: backend/mustek_usb2.c:107 +#, no-c-format +msgid "Gray16" +msgstr "Gray16" + +#: backend/mustek_usb2.c:108 +#, no-c-format +msgid "Gray8" +msgstr "Gray8" + +#: backend/mustek_usb2.c:119 +#, no-c-format +msgid "Reflective" +msgstr "Reflective" + +#: backend/mustek_usb2.c:120 +#, no-c-format +msgid "Positive" +msgstr "Positive" + +#: backend/mustek_usb2.c:421 +#, no-c-format +msgid "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"40 seconds warm-up time." +msgstr "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"40 seconds warm-up time." + +#: backend/pixma.c:378 +#, no-c-format +msgid "Negative color" +msgstr "Negative color" + +#: backend/pixma.c:383 +#, no-c-format +msgid "Negative gray" +msgstr "Negative gray" + +#: backend/pixma.c:396 +#, no-c-format +msgid "48 bits color" +msgstr "48 bits color" + +#: backend/pixma.c:401 +#, no-c-format +msgid "16 bits gray" +msgstr "16 bits gray" + +#: backend/pixma_sane_options.c:84 +#, no-c-format +msgid "" +"Selects the scan source (such as a document-feeder). Set source before " +"mode and resolution. Resets mode and resolution to auto values." +msgstr "" +"Selects the scan source (such as a document-feeder). Set source before " +"mode and resolution. Resets mode and resolution to auto values." + +#: backend/pixma_sane_options.c:98 +#, no-c-format +msgid "Button-controlled scan" +msgstr "Button-controlled scan" + +#: backend/pixma_sane_options.c:99 +#, no-c-format +msgid "" +"When enabled, scan process will not start immediately. To proceed, press " +"\"SCAN\" button (for MP150) or \"COLOR\" button (for other models). To " +"cancel, press \"GRAY\" button." +msgstr "" +"When enabled, scan process will not start immediately. To proceed, press " +"“SCAN” button (for MP150) or “COLOR” button (for other " +"models). To cancel, press “GRAY” button." + +#: backend/pixma_sane_options.c:232 +#, no-c-format +msgid "Update button state" +msgstr "Update button state" + +#: backend/pixma_sane_options.c:244 +#, no-c-format +msgid "Button 1" +msgstr "Button 1" + +#: backend/pixma_sane_options.c:258 +#, no-c-format +msgid "Button 2" +msgstr "Button 2" + +#: backend/pixma_sane_options.c:272 +#, no-c-format +msgid "Type of original to scan" +msgstr "Type of original to scan" + +#: backend/pixma_sane_options.c:286 +#, no-c-format +msgid "Target operation type" +msgstr "Target operation type" + +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "ADF Waiting Time" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 +#, no-c-format +msgid "Transparency" +msgstr "Transparency" + +#: backend/plustek.c:913 +#, no-c-format +msgid "Device-Settings" +msgstr "Device-Settings" + +#: backend/plustek.c:920 +#, no-c-format +msgid "Lampswitch" +msgstr "Lampswitch" + +#: backend/plustek.c:921 +#, no-c-format +msgid "Manually switching the lamp(s)." +msgstr "Manually switching the lamp(s)." + +#: backend/plustek.c:926 +#, no-c-format +msgid "Lamp off during dark calibration" +msgstr "Lamp off during dark calibration" + +#: backend/plustek.c:927 +#, no-c-format +msgid "Always switches lamp off when doing dark calibration." +msgstr "Always switches lamp off when doing dark calibration." + +#: backend/plustek.c:935 +#, no-c-format +msgid "Calibration data cache" +msgstr "Calibration data cache" + +#: backend/plustek.c:936 +#, no-c-format +msgid "Enables or disables calibration data cache." +msgstr "Enables or disables calibration data cache." + +#: backend/plustek.c:942 +#, no-c-format +msgid "Performs calibration" +msgstr "Performs calibration" + +#: backend/plustek.c:959 +#, no-c-format +msgid "Speedup sensor" +msgstr "Speedup sensor" + +#: backend/plustek.c:960 +#, no-c-format +msgid "Enables or disables speeding up sensor movement." +msgstr "Enables or disables speeding up sensor movement." + +#: backend/plustek.c:974 +#, no-c-format +msgid "Warmup-time" +msgstr "Warmup-time" + +#: backend/plustek.c:975 +#, no-c-format +msgid "Warmup-time in seconds." +msgstr "Warmup-time in seconds." + +#: backend/plustek.c:987 +#, no-c-format +msgid "Lampoff-time" +msgstr "Lampoff-time" + +#: backend/plustek.c:988 +#, no-c-format +msgid "Lampoff-time in seconds." +msgstr "Lampoff-time in seconds." + +#: backend/plustek.c:995 +#, no-c-format +msgid "Analog frontend" +msgstr "Analog frontend" + +#: backend/plustek.c:1002 +#, no-c-format +msgid "Red gain value of the AFE" +msgstr "Red gain value of the AFE" + +#: backend/plustek.c:1009 backend/umax_pp.c:792 +#, no-c-format +msgid "Red offset" +msgstr "Red offset" + +#: backend/plustek.c:1010 +#, no-c-format +msgid "Red offset value of the AFE" +msgstr "Red offset value of the AFE" + +#: backend/plustek.c:1018 +#, no-c-format +msgid "Green gain value of the AFE" +msgstr "Green gain value of the AFE" + +#: backend/plustek.c:1026 +#, no-c-format +msgid "Green offset value of the AFE" +msgstr "Green offset value of the AFE" + +#: backend/plustek.c:1034 +#, no-c-format +msgid "Blue gain value of the AFE" +msgstr "Blue gain value of the AFE" + +#: backend/plustek.c:1042 +#, no-c-format +msgid "Blue offset value of the AFE" +msgstr "Blue offset value of the AFE" + +#: backend/plustek.c:1049 +#, no-c-format +msgid "Red lamp off" +msgstr "Red lamp off" + +#: backend/plustek.c:1050 +#, no-c-format +msgid "Defines red lamp off parameter" +msgstr "Defines red lamp off parameter" + +#: backend/plustek.c:1057 +#, no-c-format +msgid "Green lamp off" +msgstr "Green lamp off" + +#: backend/plustek.c:1058 +#, no-c-format +msgid "Defines green lamp off parameter" +msgstr "Defines green lamp off parameter" + +#: backend/plustek.c:1065 +#, no-c-format +msgid "Blue lamp off" +msgstr "Blue lamp off" + +#: backend/plustek.c:1066 +#, no-c-format +msgid "Defines blue lamp off parameter" +msgstr "Defines blue lamp off parameter" + +#: backend/plustek.c:1096 +#, no-c-format +msgid "This option reflects the status of the scanner buttons." +msgstr "This option reflects the status of the scanner buttons." + +#: backend/plustek_pp.c:197 +#, no-c-format +msgid "Color36" +msgstr "Color36" + +#: backend/plustek_pp.c:211 +#, no-c-format +msgid "Dithermap 1" +msgstr "Dithermap 1" + +#: backend/plustek_pp.c:212 +#, no-c-format +msgid "Dithermap 2" +msgstr "Dithermap 2" + +#: backend/plustek_pp.c:213 +#, no-c-format +msgid "Randomize" +msgstr "Randomize" + +#: backend/pnm.c:168 +#, no-c-format +msgid "Source Selection" +msgstr "Source Selection" + +#: backend/pnm.c:205 +#, no-c-format +msgid "Image Enhancement" +msgstr "Image Enhancement" + +#: backend/pnm.c:241 +#, no-c-format +msgid "Grayify" +msgstr "Grayify" + +#: backend/pnm.c:242 +#, no-c-format +msgid "Load the image as grayscale." +msgstr "Load the image as grayscale." + +#: backend/pnm.c:253 +#, no-c-format +msgid "Three-Pass Simulation" +msgstr "Three-Pass Simulation" + +#: backend/pnm.c:255 +#, no-c-format +msgid "" +"Simulate a three-pass scanner by returning 3 separate frames. For " +"kicks, it returns green, then blue, then red." +msgstr "" +"Simulate a three-pass scanner by returning 3 separate frames. For " +"kicks, it returns green, then blue, then red." + +#: backend/pnm.c:267 +#, no-c-format +msgid "Hand-Scanner Simulation" +msgstr "Hand-Scanner Simulation" + +#: backend/pnm.c:268 +#, no-c-format +msgid "" +"Simulate a hand-scanner. Hand-scanners often do not know the image " +"height a priori. Instead, they return a height of -1. Setting this " +"option allows one to test whether a frontend can handle this correctly." +msgstr "" +"Simulate a hand-scanner. Hand-scanners often do not know the image " +"height a priori. Instead, they return a height of -1. Setting this " +"option allows one to test whether a frontend can handle this correctly." + +#: backend/pnm.c:283 +#, no-c-format +msgid "" +"Set default values for enhancement controls (brightness & contrast)." +msgstr "" +"Set default values for enhancement controls (brightness & contrast)." + +#: backend/pnm.c:295 +#, no-c-format +msgid "Read only test-option" +msgstr "Read only test-option" + +#: backend/pnm.c:296 +#, no-c-format +msgid "Let's see whether frontends can treat this right" +msgstr "Let's see whether frontends can treat this right" + +#: backend/pnm.c:307 +#, no-c-format +msgid "Gamma Tables" +msgstr "Gamma Tables" + +#: backend/pnm.c:379 +#, no-c-format +msgid "Status Code Simulation" +msgstr "Status Code Simulation" + +#: backend/pnm.c:391 +#, no-c-format +msgid "Do not force status code" +msgstr "Do not force status code" + +#: backend/pnm.c:392 +#, no-c-format +msgid "Do not force the backend to return a status code." +msgstr "Do not force the backend to return a status code." + +#: backend/pnm.c:403 +#, no-c-format +msgid "Return SANE_STATUS_EOF" +msgstr "Return SANE_STATUS_EOF" + +#: backend/pnm.c:404 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_EOF after " +"sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_EOF after " +"sane_read() has been called." + +#: backend/pnm.c:416 +#, no-c-format +msgid "Return SANE_STATUS_JAMMED" +msgstr "Return SANE_STATUS_JAMMED" + +#: backend/pnm.c:418 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_JAMMED after " +"sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_JAMMED after " +"sane_read() has been called." + +#: backend/pnm.c:430 +#, no-c-format +msgid "Return SANE_STATUS_NO_DOCS" +msgstr "Return SANE_STATUS_NO_DOCS" + +#: backend/pnm.c:431 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_NO_DOCS after " +"sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_NO_DOCS after " +"sane_read() has been called." + +#: backend/pnm.c:443 +#, no-c-format +msgid "Return SANE_STATUS_COVER_OPEN" +msgstr "Return SANE_STATUS_COVER_OPEN" + +#: backend/pnm.c:444 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_COVER_OPEN after " +"sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_COVER_OPEN after " +"sane_read() has been called." + +#: backend/pnm.c:456 +#, no-c-format +msgid "Return SANE_STATUS_IO_ERROR" +msgstr "Return SANE_STATUS_IO_ERROR" + +#: backend/pnm.c:457 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_IO_ERROR after " +"sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_IO_ERROR after " +"sane_read() has been called." + +#: backend/pnm.c:469 +#, no-c-format +msgid "Return SANE_STATUS_NO_MEM" +msgstr "Return SANE_STATUS_NO_MEM" + +#: backend/pnm.c:471 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_NO_MEM after " +"sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_NO_MEM after " +"sane_read() has been called." + +#: backend/pnm.c:483 +#, no-c-format +msgid "Return SANE_STATUS_ACCESS_DENIED" +msgstr "Return SANE_STATUS_ACCESS_DENIED" + +#: backend/pnm.c:484 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " +"after sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " +"after sane_read() has been called." + +#: backend/rts8891.c:2809 +#, no-c-format +msgid "This option reflects the status of a scanner button." +msgstr "This option reflects the status of a scanner button." + +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#, no-c-format +msgid "Lamp on" +msgstr "Lamp on" + +#: backend/rts8891.c:2841 backend/umax.c:5796 +#, no-c-format +msgid "Turn on scanner lamp" +msgstr "Turn on scanner lamp" + +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#, no-c-format +msgid "Lamp off" +msgstr "Lamp off" + +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#, no-c-format +msgid "Turn off scanner lamp" +msgstr "Turn off scanner lamp" + +#: backend/sm3840.c:760 +#, no-c-format +msgid "Lamp timeout" +msgstr "Lamp timeout" + +#: backend/sm3840.c:762 +#, no-c-format +msgid "Minutes until lamp is turned off after scan" +msgstr "Minutes until lamp is turned off after scan" + +#: backend/sm3840.c:772 +#, no-c-format +msgid "Threshold value for lineart mode" +msgstr "Threshold value for lineart mode" + +#: backend/snapscan-options.c:88 +#, no-c-format +msgid "Document Feeder" +msgstr "Document Feeder" + +#: backend/snapscan-options.c:92 +#, no-c-format +msgid "6x4 (inch)" +msgstr "6x4 (inch)" + +#: backend/snapscan-options.c:93 +#, no-c-format +msgid "8x10 (inch)" +msgstr "8x10 (inch)" + +#: backend/snapscan-options.c:94 +#, no-c-format +msgid "8.5x11 (inch)" +msgstr "8.5x11 (inch)" + +#: backend/snapscan-options.c:97 +#, no-c-format +msgid "Halftoning Unsupported" +msgstr "Halftoning Unsupported" + +#: backend/snapscan-options.c:98 +#, no-c-format +msgid "DispersedDot8x8" +msgstr "DispersedDot8x8" + +#: backend/snapscan-options.c:99 +#, no-c-format +msgid "DispersedDot16x16" +msgstr "DispersedDot16x16" + +#: backend/snapscan-options.c:103 +#, no-c-format +msgid "" +"Number of scan lines to request in a SCSI read. Changing this parameter " +"allows you to tune the speed at which data is read from the scanner " +"during scans. If this is set too low, the scanner will have to stop " +"periodically in the middle of a scan; if it's set too high, X-based " +"frontends may stop responding to X events and your system could bog down." +msgstr "" +"Number of scan lines to request in a SCSI read. Changing this parameter " +"allows you to tune the speed at which data is read from the scanner " +"during scans. If this is set too low, the scanner will have to stop " +"periodically in the middle of a scan; if it's set too high, X-based " +"frontends may stop responding to X events and your system could bog down." + +#: backend/snapscan-options.c:111 +#, no-c-format +msgid "Frame number of media holder that should be scanned." +msgstr "Frame number of media holder that should be scanned." + +#: backend/snapscan-options.c:114 +#, no-c-format +msgid "Use manual or automatic selection of focus point." +msgstr "Use manual or automatic selection of focus point." + +#: backend/snapscan-options.c:117 +#, no-c-format +msgid "Focus point for scanning." +msgstr "Focus point for scanning." + +#: backend/snapscan-options.c:482 +#, no-c-format +msgid "Preview mode" +msgstr "Preview mode" + +#: backend/snapscan-options.c:484 +#, no-c-format +msgid "" +"Select the mode for previews. Greyscale previews usually give the best " +"combination of speed and detail." +msgstr "" +"Select the mode for previews. Greyscale previews usually give the best " +"combination of speed and detail." + +#: backend/snapscan-options.c:601 +#, no-c-format +msgid "Predefined settings" +msgstr "Predefined settings" + +#: backend/snapscan-options.c:603 +#, no-c-format +msgid "" +"Provides standard scanning areas for photographs, printed pages and the " +"like." +msgstr "" +"Provides standard scanning areas for photographs, printed pages and the " +"like." + +#: backend/snapscan-options.c:884 +#, no-c-format +msgid "Frame" +msgstr "Frame" + +#: backend/snapscan-options.c:885 +#, no-c-format +msgid "Frame to be scanned" +msgstr "Frame to be scanned" + +#: backend/snapscan-options.c:897 +#, no-c-format +msgid "Focus-mode" +msgstr "Focus-mode" + +#: backend/snapscan-options.c:898 +#, no-c-format +msgid "Auto or manual focus" +msgstr "Auto or manual focus" + +#: backend/snapscan-options.c:911 +#, no-c-format +msgid "Focus-point" +msgstr "Focus-point" + +#: backend/snapscan-options.c:912 +#, no-c-format +msgid "Focus point" +msgstr "Focus point" + +#: backend/snapscan-options.c:930 +#, no-c-format +msgid "Colour lines per read" +msgstr "Colour lines per read" + +#: backend/snapscan-options.c:942 +#, no-c-format +msgid "Greyscale lines per read" +msgstr "Greyscale lines per read" + +#: backend/stv680.c:974 +#, no-c-format +msgid "webcam" +msgstr "webcam" + +#: backend/stv680.h:115 +#, no-c-format +msgid "Color RAW" +msgstr "Color RAW" + +#: backend/stv680.h:116 +#, no-c-format +msgid "Color RGB" +msgstr "Color RGB" + +#: backend/stv680.h:117 +#, no-c-format +msgid "Color RGB TEXT" +msgstr "Color RGB TEXT" + +#: backend/test.c:137 +#, no-c-format +msgid "Solid black" +msgstr "Solid black" + +#: backend/test.c:137 +#, no-c-format +msgid "Solid white" +msgstr "Solid white" + +#: backend/test.c:138 +#, no-c-format +msgid "Color pattern" +msgstr "Color pattern" + +#: backend/test.c:138 +#, no-c-format +msgid "Grid" +msgstr "Grid" + +#: backend/test.c:163 backend/test.c:171 +#, no-c-format +msgid "First entry" +msgstr "First entry" + +#: backend/test.c:163 backend/test.c:171 +#, no-c-format +msgid "Second entry" +msgstr "Second entry" + +#: backend/test.c:165 +#, no-c-format +msgid "" +"This is the very long third entry. Maybe the frontend has an idea how to " +"display it" +msgstr "" +"This is the very long third entry. Maybe the frontend has an idea how to " +"display it" + +#: backend/test.c:348 +#, no-c-format +msgid "Hand-scanner simulation" +msgstr "Hand-scanner simulation" + +#: backend/test.c:349 +#, no-c-format +msgid "" +"Simulate a hand-scanner. Hand-scanners do not know the image height a " +"priori. Instead, they return a height of -1. Setting this option " +"allows one to test whether a frontend can handle this correctly. This " +"option also enables a fixed width of 11 cm." +msgstr "" +"Simulate a hand-scanner. Hand-scanners do not know the image height a " +"priori. Instead, they return a height of -1. Setting this option " +"allows one to test whether a frontend can handle this correctly. This " +"option also enables a fixed width of 11 cm." + +#: backend/test.c:366 +#, no-c-format +msgid "Three-pass simulation" +msgstr "Three-pass simulation" + +#: backend/test.c:367 +#, no-c-format +msgid "" +"Simulate a three-pass scanner. In color mode, three frames are " +"transmitted." +msgstr "" +"Simulate a three-pass scanner. In color mode, three frames are " +"transmitted." + +#: backend/test.c:382 +#, no-c-format +msgid "Set the order of frames" +msgstr "Set the order of frames" + +#: backend/test.c:383 +#, no-c-format +msgid "Set the order of frames in three-pass color mode." +msgstr "Set the order of frames in three-pass color mode." + +#: backend/test.c:416 +#, no-c-format +msgid "" +"If Automatic Document Feeder is selected, the feeder will be 'empty' " +"after 10 scans." +msgstr "" +"If Automatic Document Feeder is selected, the feeder will be " +"‘empty’ after 10 scans." + +#: backend/test.c:431 +#, no-c-format +msgid "Special Options" +msgstr "Special Options" + +#: backend/test.c:444 +#, no-c-format +msgid "Select the test picture" +msgstr "Select the test picture" + +#: backend/test.c:446 +#, no-c-format +msgid "" +"Select the kind of test picture. Available options:\n" +"Solid black: fills the whole scan with black.\n" +"Solid white: fills the whole scan with white.\n" +"Color pattern: draws various color test patterns depending on the mode.\n" +"Grid: draws a black/white grid with a width and height of 10 mm per " +"square." +msgstr "" +"Select the kind of test picture. Available options:\n" +"Solid black: fills the whole scan with black.\n" +"Solid white: fills the whole scan with white.\n" +"Color pattern: draws various color test patterns depending on the mode.\n" +"Grid: draws a black/white grid with a width and height of 10 mm per " +"square." + +#: backend/test.c:467 +#, no-c-format +msgid "Invert endianness" +msgstr "Invert endianness" + +#: backend/test.c:468 +#, no-c-format +msgid "" +"Exchange upper and lower byte of image data in 16 bit modes. This option " +"can be used to test the 16 bit modes of frontends, e.g. if the frontend " +"uses the correct endianness." +msgstr "" +"Exchange upper and lower byte of image data in 16 bit modes. This option " +"can be used to test the 16 bit modes of frontends, e.g. if the frontend " +"uses the correct endianness." + +#: backend/test.c:484 +#, no-c-format +msgid "Read limit" +msgstr "Read limit" + +#: backend/test.c:485 +#, no-c-format +msgid "Limit the amount of data transferred with each call to sane_read()." +msgstr "" +"Limit the amount of data transferred with each call to sane_read()." + +#: backend/test.c:498 +#, no-c-format +msgid "Size of read-limit" +msgstr "Size of read-limit" + +#: backend/test.c:499 +#, no-c-format +msgid "" +"The (maximum) amount of data transferred with each call to sane_read()." +msgstr "" +"The (maximum) amount of data transferred with each call to sane_read()." + +#: backend/test.c:514 +#, no-c-format +msgid "Read delay" +msgstr "Read delay" + +#: backend/test.c:515 +#, no-c-format +msgid "Delay the transfer of data to the pipe." +msgstr "Delay the transfer of data to the pipe." + +#: backend/test.c:527 +#, no-c-format +msgid "Duration of read-delay" +msgstr "Duration of read-delay" + +#: backend/test.c:528 +#, no-c-format +msgid "" +"How long to wait after transferring each buffer of data through the pipe." +msgstr "" +"How long to wait after transferring each buffer of data through the pipe." + +#: backend/test.c:543 +#, no-c-format +msgid "Return-value of sane_read" +msgstr "Return-value of sane_read" + +#: backend/test.c:545 +#, no-c-format +msgid "" +"Select the return-value of sane_read(). \"Default\" is the normal " +"handling for scanning. All other status codes are for testing how the " +"frontend handles them." +msgstr "" +"Select the return-value of sane_read(). “Default” is the normal " +"handling for scanning. All other status codes are for testing how the " +"frontend handles them." + +#: backend/test.c:562 +#, no-c-format +msgid "Loss of pixels per line" +msgstr "Loss of pixels per line" + +#: backend/test.c:564 +#, no-c-format +msgid "The number of pixels that are wasted at the end of each line." +msgstr "The number of pixels that are wasted at the end of each line." + +#: backend/test.c:577 +#, no-c-format +msgid "Fuzzy parameters" +msgstr "Fuzzy parameters" + +#: backend/test.c:578 +#, no-c-format +msgid "" +"Return fuzzy lines and bytes per line when sane_parameters() is called " +"before sane_start()." +msgstr "" +"Return fuzzy lines and bytes per line when sane_parameters() is called " +"before sane_start()." + +#: backend/test.c:591 +#, no-c-format +msgid "Use non-blocking IO" +msgstr "Use non-blocking IO" + +#: backend/test.c:592 +#, no-c-format +msgid "Use non-blocking IO for sane_read() if supported by the frontend." +msgstr "Use non-blocking IO for sane_read() if supported by the frontend." + +#: backend/test.c:605 +#, no-c-format +msgid "Offer select file descriptor" +msgstr "Offer select file descriptor" + +#: backend/test.c:606 +#, no-c-format +msgid "" +"Offer a select filedescriptor for detecting if sane_read() will return " +"data." +msgstr "" +"Offer a select filedescriptor for detecting if sane_read() will return " +"data." + +#: backend/test.c:619 +#, no-c-format +msgid "Enable test options" +msgstr "Enable test options" + +#: backend/test.c:620 +#, no-c-format +msgid "" +"Enable various test options. This is for testing the ability of " +"frontends to view and modify all the different SANE option types." +msgstr "" +"Enable various test options. This is for testing the ability of " +"frontends to view and modify all the different SANE option types." + +#: backend/test.c:634 +#, no-c-format +msgid "Print options" +msgstr "Print options" + +#: backend/test.c:635 +#, no-c-format +msgid "Print a list of all options." +msgstr "Print a list of all options." + +#: backend/test.c:712 +#, no-c-format +msgid "Bool test options" +msgstr "Bool test options" + +#: backend/test.c:725 +#, no-c-format +msgid "(1/6) Bool soft select soft detect" +msgstr "(1/6) Bool soft select soft detect" + +#: backend/test.c:727 +#, no-c-format +msgid "" +"(1/6) Bool test option that has soft select and soft detect (and " +"advanced) capabilities. That's just a normal bool option." +msgstr "" +"(1/6) Bool test option that has soft select and soft detect (and " +"advanced) capabilities. That's just a normal bool option." + +#: backend/test.c:743 +#, no-c-format +msgid "(2/6) Bool hard select soft detect" +msgstr "(2/6) Bool hard select soft detect" + +#: backend/test.c:745 +#, no-c-format +msgid "" +"(2/6) Bool test option that has hard select and soft detect (and " +"advanced) capabilities. That means the option can't be set by the " +"frontend but by the user (e.g. by pressing a button at the device)." +msgstr "" +"(2/6) Bool test option that has hard select and soft detect (and " +"advanced) capabilities. That means the option can't be set by the " +"frontend but by the user (e.g. by pressing a button at the device)." + +#: backend/test.c:762 +#, no-c-format +msgid "(3/6) Bool hard select" +msgstr "(3/6) Bool hard select" + +#: backend/test.c:763 +#, no-c-format +msgid "" +"(3/6) Bool test option that has hard select (and advanced) capabilities. " +"That means the option can't be set by the frontend but by the user (e.g. " +"by pressing a button at the device) and can't be read by the frontend." +msgstr "" +"(3/6) Bool test option that has hard select (and advanced) capabilities. " +"That means the option can't be set by the frontend but by the user (e.g. " +"by pressing a button at the device) and can't be read by the frontend." + +#: backend/test.c:781 +#, no-c-format +msgid "(4/6) Bool soft detect" +msgstr "(4/6) Bool soft detect" + +#: backend/test.c:782 +#, no-c-format +msgid "" +"(4/6) Bool test option that has soft detect (and advanced) capabilities. " +"That means the option is read-only." +msgstr "" +"(4/6) Bool test option that has soft detect (and advanced) capabilities. " +"That means the option is read-only." + +#: backend/test.c:798 +#, no-c-format +msgid "(5/6) Bool soft select soft detect emulated" +msgstr "(5/6) Bool soft select soft detect emulated" + +#: backend/test.c:799 +#, no-c-format +msgid "" +"(5/6) Bool test option that has soft select, soft detect, and emulated " +"(and advanced) capabilities." +msgstr "" +"(5/6) Bool test option that has soft select, soft detect, and emulated " +"(and advanced) capabilities." + +#: backend/test.c:815 +#, no-c-format +msgid "(6/6) Bool soft select soft detect auto" +msgstr "(6/6) Bool soft select soft detect auto" + +#: backend/test.c:816 +#, no-c-format +msgid "" +"(6/6) Bool test option that has soft select, soft detect, and automatic " +"(and advanced) capabilities. This option can be automatically set by the " +"backend." +msgstr "" +"(6/6) Bool test option that has soft select, soft detect, and automatic " +"(and advanced) capabilities. This option can be automatically set by the " +"backend." + +#: backend/test.c:833 +#, no-c-format +msgid "Int test options" +msgstr "Int test options" + +#: backend/test.c:846 +#, no-c-format +msgid "(1/6) Int" +msgstr "(1/6) Int" + +#: backend/test.c:847 +#, no-c-format +msgid "(1/6) Int test option with no unit and no constraint set." +msgstr "(1/6) Int test option with no unit and no constraint set." + +#: backend/test.c:862 +#, no-c-format +msgid "(2/6) Int constraint range" +msgstr "(2/6) Int constraint range" + +#: backend/test.c:863 +#, no-c-format +msgid "" +"(2/6) Int test option with unit pixel and constraint range set. Minimum " +"is 4, maximum 192, and quant is 2." +msgstr "" +"(2/6) Int test option with unit pixel and constraint range set. Minimum " +"is 4, maximum 192, and quant is 2." + +#: backend/test.c:879 +#, no-c-format +msgid "(3/6) Int constraint word list" +msgstr "(3/6) Int constraint word list" + +#: backend/test.c:880 +#, no-c-format +msgid "(3/6) Int test option with unit bits and constraint word list set." +msgstr "(3/6) Int test option with unit bits and constraint word list set." + +#: backend/test.c:895 +#, no-c-format +msgid "(4/6) Int array" +msgstr "(4/6) Int array" + +#: backend/test.c:896 +#, no-c-format +msgid "" +"(4/6) Int test option with unit mm and using an array without " +"constraints." +msgstr "" +"(4/6) Int test option with unit mm and using an array without " +"constraints." + +#: backend/test.c:911 +#, no-c-format +msgid "(5/6) Int array constraint range" +msgstr "(5/6) Int array constraint range" + +#: backend/test.c:912 +#, no-c-format +msgid "" +"(5/6) Int test option with unit dpi and using an array with a range " +"constraint. Minimum is 4, maximum 192, and quant is 2." +msgstr "" +"(5/6) Int test option with unit dpi and using an array with a range " +"constraint. Minimum is 4, maximum 192, and quant is 2." + +#: backend/test.c:929 +#, no-c-format +msgid "(6/6) Int array constraint word list" +msgstr "(6/6) Int array constraint word list" + +#: backend/test.c:930 +#, no-c-format +msgid "" +"(6/6) Int test option with unit percent and using an array with a word " +"list constraint." +msgstr "" +"(6/6) Int test option with unit percent and using an array with a word " +"list constraint." + +#: backend/test.c:946 +#, no-c-format +msgid "Fixed test options" +msgstr "Fixed test options" + +#: backend/test.c:959 +#, no-c-format +msgid "(1/3) Fixed" +msgstr "(1/3) Fixed" + +#: backend/test.c:960 +#, no-c-format +msgid "(1/3) Fixed test option with no unit and no constraint set." +msgstr "(1/3) Fixed test option with no unit and no constraint set." + +#: backend/test.c:975 +#, no-c-format +msgid "(2/3) Fixed constraint range" +msgstr "(2/3) Fixed constraint range" + +#: backend/test.c:976 +#, no-c-format +msgid "" +"(2/3) Fixed test option with unit microsecond and constraint range set. " +"Minimum is -42.17, maximum 32767.9999, and quant is 2.0." +msgstr "" +"(2/3) Fixed test option with unit microsecond and constraint range set. " +"Minimum is -42.17, maximum 32767.9999, and quant is 2.0." + +#: backend/test.c:992 +#, no-c-format +msgid "(3/3) Fixed constraint word list" +msgstr "(3/3) Fixed constraint word list" + +#: backend/test.c:993 +#, no-c-format +msgid "(3/3) Fixed test option with no unit and constraint word list set." +msgstr "(3/3) Fixed test option with no unit and constraint word list set." + +#: backend/test.c:1008 +#, no-c-format +msgid "String test options" +msgstr "String test options" + +#: backend/test.c:1021 +#, no-c-format +msgid "(1/3) String" +msgstr "(1/3) String" + +#: backend/test.c:1022 +#, no-c-format +msgid "(1/3) String test option without constraint." +msgstr "(1/3) String test option without constraint." + +#: backend/test.c:1039 +#, no-c-format +msgid "(2/3) String constraint string list" +msgstr "(2/3) String constraint string list" + +#: backend/test.c:1040 +#, no-c-format +msgid "(2/3) String test option with string list constraint." +msgstr "(2/3) String test option with string list constraint." + +#: backend/test.c:1059 +#, no-c-format +msgid "(3/3) String constraint long string list" +msgstr "(3/3) String constraint long string list" + +#: backend/test.c:1060 +#, no-c-format +msgid "" +"(3/3) String test option with string list constraint. Contains some more " +"entries..." +msgstr "" +"(3/3) String test option with string list constraint. Contains some more " +"entries..." + +#: backend/test.c:1080 +#, no-c-format +msgid "Button test options" +msgstr "Button test options" + +#: backend/test.c:1093 +#, no-c-format +msgid "(1/1) Button" +msgstr "(1/1) Button" + +#: backend/test.c:1094 +#, no-c-format +msgid "(1/1) Button test option. Prints some text..." +msgstr "(1/1) Button test option. Prints some text..." + +#: backend/u12.c:149 +#, no-c-format +msgid "Color 36" +msgstr "Color 36" + +#: backend/umax.c:235 +#, no-c-format +msgid "Use Image Composition" +msgstr "Use Image Composition" + +#: backend/umax.c:236 +#, no-c-format +msgid "Bi-level black and white (lineart mode)" +msgstr "Bi-level black and white (lineart mode)" + +#: backend/umax.c:237 +#, no-c-format +msgid "Dithered/halftone black & white (halftone mode)" +msgstr "Dithered/halftone black & white (halftone mode)" + +#: backend/umax.c:238 +#, no-c-format +msgid "Multi-level black & white (grayscale mode)" +msgstr "Multi-level black & white (grayscale mode)" + +#: backend/umax.c:239 +#, no-c-format +msgid "Multi-level RGB color (one pass color)" +msgstr "Multi-level RGB color (one pass color)" + +#: backend/umax.c:240 +#, no-c-format +msgid "Ignore calibration" +msgstr "Ignore calibration" + +#: backend/umax.c:5733 +#, no-c-format +msgid "Disable pre focus" +msgstr "Disable pre focus" + +#: backend/umax.c:5734 +#, no-c-format +msgid "Do not calibrate focus" +msgstr "Do not calibrate focus" + +#: backend/umax.c:5745 +#, no-c-format +msgid "Manual pre focus" +msgstr "Manual pre focus" + +#: backend/umax.c:5757 +#, no-c-format +msgid "Fix focus position" +msgstr "Fix focus position" + +#: backend/umax.c:5769 +#, no-c-format +msgid "Lens calibration in doc position" +msgstr "Lens calibration in doc position" + +#: backend/umax.c:5770 +#, no-c-format +msgid "Calibrate lens focus in document position" +msgstr "Calibrate lens focus in document position" + +#: backend/umax.c:5781 +#, no-c-format +msgid "Holder focus position 0mm" +msgstr "Holder focus position 0mm" + +#: backend/umax.c:5782 +#, no-c-format +msgid "Use 0mm holder focus position instead of 0.6mm" +msgstr "Use 0mm holder focus position instead of 0.6mm" + +#: backend/umax.c:5885 +#, no-c-format +msgid "Calibration mode" +msgstr "Calibration mode" + +#: backend/umax.c:5886 +#, no-c-format +msgid "Define calibration mode" +msgstr "Define calibration mode" + +#: backend/umax_pp.c:640 +#, no-c-format +msgid "Sets lamp on/off" +msgstr "Sets lamp on/off" + +#: backend/umax_pp.c:649 +#, no-c-format +msgid "UTA on" +msgstr "UTA on" + +#: backend/umax_pp.c:650 +#, no-c-format +msgid "Sets UTA on/off" +msgstr "Sets UTA on/off" + +#: backend/umax_pp.c:771 +#, no-c-format +msgid "Offset" +msgstr "Offset" + +#: backend/umax_pp.c:773 +#, no-c-format +msgid "Color channels offset settings" +msgstr "Color channels offset settings" + +#: backend/umax_pp.c:780 +#, no-c-format +msgid "Gray offset" +msgstr "Gray offset" + +#: backend/umax_pp.c:781 +#, no-c-format +msgid "Sets gray channel offset" +msgstr "Sets gray channel offset" + +#: backend/umax_pp.c:793 +#, no-c-format +msgid "Sets red channel offset" +msgstr "Sets red channel offset" + +#: backend/umax_pp.c:805 +#, no-c-format +msgid "Sets green channel offset" +msgstr "Sets green channel offset" + +#: backend/umax_pp.c:817 +#, no-c-format +msgid "Sets blue channel offset" +msgstr "Sets blue channel offset" diff --git a/po/en@quot.gmo b/po/en@quot.gmo new file mode 100644 index 0000000..b9bccd3 Binary files /dev/null and b/po/en@quot.gmo differ diff --git a/po/en@quot.header b/po/en@quot.header new file mode 100644 index 0000000..a9647fc --- /dev/null +++ b/po/en@quot.header @@ -0,0 +1,22 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# diff --git a/po/en@quot.po b/po/en@quot.po new file mode 100644 index 0000000..4fd95b5 --- /dev/null +++ b/po/en@quot.po @@ -0,0 +1,6488 @@ +# English translations for sane-backends package. +# Copyright (C) 2017 The SANE developers +# This file is distributed under the same license as the sane-backends package. +# Automatically generated, 2017. +# +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +msgid "" +msgstr "" +"Project-Id-Version: sane-backends 1.0.27\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"PO-Revision-Date: 2017-05-22 11:18-0400\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: en@quot\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: include/sane/saneopts.h:154 +#, no-c-format +msgid "Number of options" +msgstr "Number of options" + +#: include/sane/saneopts.h:156 +#, no-c-format +msgid "Standard" +msgstr "Standard" + +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#, no-c-format +msgid "Geometry" +msgstr "Geometry" + +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#, no-c-format +msgid "Enhancement" +msgstr "Enhancement" + +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 +#, no-c-format +msgid "Advanced" +msgstr "Advanced" + +#: include/sane/saneopts.h:160 +#, no-c-format +msgid "Sensors" +msgstr "Sensors" + +#: include/sane/saneopts.h:162 +#, no-c-format +msgid "Preview" +msgstr "Preview" + +#: include/sane/saneopts.h:163 +#, no-c-format +msgid "Force monochrome preview" +msgstr "Force monochrome preview" + +#: include/sane/saneopts.h:164 +#, no-c-format +msgid "Bit depth" +msgstr "Bit depth" + +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 +#, no-c-format +msgid "Scan mode" +msgstr "Scan mode" + +#: include/sane/saneopts.h:166 +#, no-c-format +msgid "Scan speed" +msgstr "Scan speed" + +#: include/sane/saneopts.h:167 +#, no-c-format +msgid "Scan source" +msgstr "Scan source" + +#: include/sane/saneopts.h:168 +#, no-c-format +msgid "Force backtracking" +msgstr "Force backtracking" + +#: include/sane/saneopts.h:169 +#, no-c-format +msgid "Top-left x" +msgstr "Top-left x" + +#: include/sane/saneopts.h:170 +#, no-c-format +msgid "Top-left y" +msgstr "Top-left y" + +#: include/sane/saneopts.h:171 +#, no-c-format +msgid "Bottom-right x" +msgstr "Bottom-right x" + +#: include/sane/saneopts.h:172 +#, no-c-format +msgid "Bottom-right y" +msgstr "Bottom-right y" + +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 +#, no-c-format +msgid "Scan resolution" +msgstr "Scan resolution" + +#: include/sane/saneopts.h:174 +#, no-c-format +msgid "X-resolution" +msgstr "X-resolution" + +#: include/sane/saneopts.h:175 +#, no-c-format +msgid "Y-resolution" +msgstr "Y-resolution" + +#: include/sane/saneopts.h:176 +#, no-c-format +msgid "Page width" +msgstr "Page width" + +#: include/sane/saneopts.h:177 +#, no-c-format +msgid "Page height" +msgstr "Page height" + +#: include/sane/saneopts.h:178 +#, no-c-format +msgid "Use custom gamma table" +msgstr "Use custom gamma table" + +#: include/sane/saneopts.h:179 +#, no-c-format +msgid "Image intensity" +msgstr "Image intensity" + +#: include/sane/saneopts.h:180 +#, no-c-format +msgid "Red intensity" +msgstr "Red intensity" + +#: include/sane/saneopts.h:181 +#, no-c-format +msgid "Green intensity" +msgstr "Green intensity" + +#: include/sane/saneopts.h:182 +#, no-c-format +msgid "Blue intensity" +msgstr "Blue intensity" + +#: include/sane/saneopts.h:183 +#, no-c-format +msgid "Brightness" +msgstr "Brightness" + +#: include/sane/saneopts.h:184 +#, no-c-format +msgid "Contrast" +msgstr "Contrast" + +#: include/sane/saneopts.h:185 +#, no-c-format +msgid "Grain size" +msgstr "Grain size" + +#: include/sane/saneopts.h:186 +#, no-c-format +msgid "Halftoning" +msgstr "Halftoning" + +#: include/sane/saneopts.h:187 +#, no-c-format +msgid "Black level" +msgstr "Black level" + +#: include/sane/saneopts.h:188 +#, no-c-format +msgid "White level" +msgstr "White level" + +#: include/sane/saneopts.h:189 +#, no-c-format +msgid "White level for red" +msgstr "White level for red" + +#: include/sane/saneopts.h:190 +#, no-c-format +msgid "White level for green" +msgstr "White level for green" + +#: include/sane/saneopts.h:191 +#, no-c-format +msgid "White level for blue" +msgstr "White level for blue" + +#: include/sane/saneopts.h:192 +#, no-c-format +msgid "Shadow" +msgstr "Shadow" + +#: include/sane/saneopts.h:193 +#, no-c-format +msgid "Shadow for red" +msgstr "Shadow for red" + +#: include/sane/saneopts.h:194 +#, no-c-format +msgid "Shadow for green" +msgstr "Shadow for green" + +#: include/sane/saneopts.h:195 +#, no-c-format +msgid "Shadow for blue" +msgstr "Shadow for blue" + +#: include/sane/saneopts.h:196 +#, no-c-format +msgid "Highlight" +msgstr "Highlight" + +#: include/sane/saneopts.h:197 +#, no-c-format +msgid "Highlight for red" +msgstr "Highlight for red" + +#: include/sane/saneopts.h:198 +#, no-c-format +msgid "Highlight for green" +msgstr "Highlight for green" + +#: include/sane/saneopts.h:199 +#, no-c-format +msgid "Highlight for blue" +msgstr "Highlight for blue" + +#: include/sane/saneopts.h:200 +#, no-c-format +msgid "Hue" +msgstr "Hue" + +#: include/sane/saneopts.h:201 +#, no-c-format +msgid "Saturation" +msgstr "Saturation" + +#: include/sane/saneopts.h:202 +#, no-c-format +msgid "Filename" +msgstr "Filename" + +#: include/sane/saneopts.h:203 +#, no-c-format +msgid "Halftone pattern size" +msgstr "Halftone pattern size" + +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#, no-c-format +msgid "Halftone pattern" +msgstr "Halftone pattern" + +#: include/sane/saneopts.h:205 +#, no-c-format +msgid "Bind X and Y resolution" +msgstr "Bind X and Y resolution" + +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#, no-c-format +msgid "Negative" +msgstr "Negative" + +#: include/sane/saneopts.h:207 +#, no-c-format +msgid "Quality calibration" +msgstr "Quality calibration" + +#: include/sane/saneopts.h:208 +#, no-c-format +msgid "Double Optical Resolution" +msgstr "Double Optical Resolution" + +#: include/sane/saneopts.h:209 +#, no-c-format +msgid "Bind RGB" +msgstr "Bind RGB" + +#: include/sane/saneopts.h:210 backend/sm3840.c:770 +#, no-c-format +msgid "Threshold" +msgstr "Threshold" + +#: include/sane/saneopts.h:211 +#, no-c-format +msgid "Analog gamma correction" +msgstr "Analog gamma correction" + +#: include/sane/saneopts.h:212 +#, no-c-format +msgid "Analog gamma red" +msgstr "Analog gamma red" + +#: include/sane/saneopts.h:213 +#, no-c-format +msgid "Analog gamma green" +msgstr "Analog gamma green" + +#: include/sane/saneopts.h:214 +#, no-c-format +msgid "Analog gamma blue" +msgstr "Analog gamma blue" + +#: include/sane/saneopts.h:215 +#, no-c-format +msgid "Bind analog gamma" +msgstr "Bind analog gamma" + +#: include/sane/saneopts.h:216 +#, no-c-format +msgid "Warmup lamp" +msgstr "Warmup lamp" + +#: include/sane/saneopts.h:217 +#, no-c-format +msgid "Cal. exposure-time" +msgstr "Cal. exposure-time" + +#: include/sane/saneopts.h:218 +#, no-c-format +msgid "Cal. exposure-time for red" +msgstr "Cal. exposure-time for red" + +#: include/sane/saneopts.h:219 +#, no-c-format +msgid "Cal. exposure-time for green" +msgstr "Cal. exposure-time for green" + +#: include/sane/saneopts.h:221 +#, no-c-format +msgid "Cal. exposure-time for blue" +msgstr "Cal. exposure-time for blue" + +#: include/sane/saneopts.h:222 +#, no-c-format +msgid "Scan exposure-time" +msgstr "Scan exposure-time" + +#: include/sane/saneopts.h:223 +#, no-c-format +msgid "Scan exposure-time for red" +msgstr "Scan exposure-time for red" + +#: include/sane/saneopts.h:224 +#, no-c-format +msgid "Scan exposure-time for green" +msgstr "Scan exposure-time for green" + +#: include/sane/saneopts.h:226 +#, no-c-format +msgid "Scan exposure-time for blue" +msgstr "Scan exposure-time for blue" + +#: include/sane/saneopts.h:227 +#, no-c-format +msgid "Set exposure-time" +msgstr "Set exposure-time" + +#: include/sane/saneopts.h:228 +#, no-c-format +msgid "Cal. lamp density" +msgstr "Cal. lamp density" + +#: include/sane/saneopts.h:229 +#, no-c-format +msgid "Scan lamp density" +msgstr "Scan lamp density" + +#: include/sane/saneopts.h:230 +#, no-c-format +msgid "Set lamp density" +msgstr "Set lamp density" + +#: include/sane/saneopts.h:231 backend/umax.c:5829 +#, no-c-format +msgid "Lamp off at exit" +msgstr "Lamp off at exit" + +#: include/sane/saneopts.h:245 +#, no-c-format +msgid "" +"Read-only option that specifies how many options a specific devices " +"supports." +msgstr "" +"Read-only option that specifies how many options a specific devices " +"supports." + +#: include/sane/saneopts.h:248 +#, no-c-format +msgid "Source, mode and resolution options" +msgstr "Source, mode and resolution options" + +#: include/sane/saneopts.h:249 +#, no-c-format +msgid "Scan area and media size options" +msgstr "Scan area and media size options" + +#: include/sane/saneopts.h:250 +#, no-c-format +msgid "Image modification options" +msgstr "Image modification options" + +#: include/sane/saneopts.h:251 +#, no-c-format +msgid "Hardware specific options" +msgstr "Hardware specific options" + +#: include/sane/saneopts.h:252 +#, no-c-format +msgid "Scanner sensors and buttons" +msgstr "Scanner sensors and buttons" + +#: include/sane/saneopts.h:255 +#, no-c-format +msgid "Request a preview-quality scan." +msgstr "Request a preview-quality scan." + +#: include/sane/saneopts.h:258 +#, no-c-format +msgid "" +"Request that all previews are done in monochrome mode. On a three-pass " +"scanner this cuts down the number of passes to one and on a one-pass " +"scanner, it reduces the memory requirements and scan-time of the preview." +msgstr "" +"Request that all previews are done in monochrome mode. On a three-pass " +"scanner this cuts down the number of passes to one and on a one-pass " +"scanner, it reduces the memory requirements and scan-time of the preview." + +#: include/sane/saneopts.h:264 +#, no-c-format +msgid "" +"Number of bits per sample, typical values are 1 for \"line-art\" and 8 " +"for multibit scans." +msgstr "" +"Number of bits per sample, typical values are 1 for “line-art” and 8 for " +"multibit scans." + +#: include/sane/saneopts.h:268 +#, no-c-format +msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." +msgstr "Selects the scan mode (e.g., lineart, monochrome, or color)." + +#: include/sane/saneopts.h:271 +#, no-c-format +msgid "Determines the speed at which the scan proceeds." +msgstr "Determines the speed at which the scan proceeds." + +#: include/sane/saneopts.h:274 +#, no-c-format +msgid "Selects the scan source (such as a document-feeder)." +msgstr "Selects the scan source (such as a document-feeder)." + +#: include/sane/saneopts.h:277 +#, no-c-format +msgid "Controls whether backtracking is forced." +msgstr "Controls whether backtracking is forced." + +#: include/sane/saneopts.h:280 +#, no-c-format +msgid "Top-left x position of scan area." +msgstr "Top-left x position of scan area." + +#: include/sane/saneopts.h:283 +#, no-c-format +msgid "Top-left y position of scan area." +msgstr "Top-left y position of scan area." + +#: include/sane/saneopts.h:286 +#, no-c-format +msgid "Bottom-right x position of scan area." +msgstr "Bottom-right x position of scan area." + +#: include/sane/saneopts.h:289 +#, no-c-format +msgid "Bottom-right y position of scan area." +msgstr "Bottom-right y position of scan area." + +#: include/sane/saneopts.h:292 +#, no-c-format +msgid "Sets the resolution of the scanned image." +msgstr "Sets the resolution of the scanned image." + +#: include/sane/saneopts.h:295 +#, no-c-format +msgid "Sets the horizontal resolution of the scanned image." +msgstr "Sets the horizontal resolution of the scanned image." + +#: include/sane/saneopts.h:298 +#, no-c-format +msgid "Sets the vertical resolution of the scanned image." +msgstr "Sets the vertical resolution of the scanned image." + +#: include/sane/saneopts.h:301 +#, no-c-format +msgid "" +"Specifies the width of the media. Required for automatic centering of " +"sheet-fed scans." +msgstr "" +"Specifies the width of the media. Required for automatic centering of " +"sheet-fed scans." + +#: include/sane/saneopts.h:305 +#, no-c-format +msgid "Specifies the height of the media." +msgstr "Specifies the height of the media." + +#: include/sane/saneopts.h:308 +#, no-c-format +msgid "" +"Determines whether a builtin or a custom gamma-table should be used." +msgstr "" +"Determines whether a builtin or a custom gamma-table should be used." + +#: include/sane/saneopts.h:312 +#, no-c-format +msgid "" +"Gamma-correction table. In color mode this option equally affects the " +"red, green, and blue channels simultaneously (i.e., it is an intensity " +"gamma table)." +msgstr "" +"Gamma-correction table. In color mode this option equally affects the " +"red, green, and blue channels simultaneously (i.e., it is an intensity " +"gamma table)." + +#: include/sane/saneopts.h:317 +#, no-c-format +msgid "Gamma-correction table for the red band." +msgstr "Gamma-correction table for the red band." + +#: include/sane/saneopts.h:320 +#, no-c-format +msgid "Gamma-correction table for the green band." +msgstr "Gamma-correction table for the green band." + +#: include/sane/saneopts.h:323 +#, no-c-format +msgid "Gamma-correction table for the blue band." +msgstr "Gamma-correction table for the blue band." + +#: include/sane/saneopts.h:326 +#, no-c-format +msgid "Controls the brightness of the acquired image." +msgstr "Controls the brightness of the acquired image." + +#: include/sane/saneopts.h:329 +#, no-c-format +msgid "Controls the contrast of the acquired image." +msgstr "Controls the contrast of the acquired image." + +#: include/sane/saneopts.h:332 +#, no-c-format +msgid "" +"Selects the \"graininess\" of the acquired image. Smaller values result " +"in sharper images." +msgstr "" +"Selects the “graininess” of the acquired image. Smaller values result " +"in sharper images." + +#: include/sane/saneopts.h:336 +#, no-c-format +msgid "Selects whether the acquired image should be halftoned (dithered)." +msgstr "Selects whether the acquired image should be halftoned (dithered)." + +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 +#, no-c-format +msgid "Selects what radiance level should be considered \"black\"." +msgstr "Selects what radiance level should be considered “black”." + +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 +#, no-c-format +msgid "Selects what radiance level should be considered \"white\"." +msgstr "Selects what radiance level should be considered “white”." + +#: include/sane/saneopts.h:345 +#, no-c-format +msgid "Selects what red radiance level should be considered \"white\"." +msgstr "Selects what red radiance level should be considered “white”." + +#: include/sane/saneopts.h:348 +#, no-c-format +msgid "Selects what green radiance level should be considered \"white\"." +msgstr "Selects what green radiance level should be considered “white”." + +#: include/sane/saneopts.h:351 +#, no-c-format +msgid "Selects what blue radiance level should be considered \"white\"." +msgstr "Selects what blue radiance level should be considered “white”." + +#: include/sane/saneopts.h:356 +#, no-c-format +msgid "Selects what red radiance level should be considered \"black\"." +msgstr "Selects what red radiance level should be considered “black”." + +#: include/sane/saneopts.h:358 +#, no-c-format +msgid "Selects what green radiance level should be considered \"black\"." +msgstr "Selects what green radiance level should be considered “black”." + +#: include/sane/saneopts.h:360 +#, no-c-format +msgid "Selects what blue radiance level should be considered \"black\"." +msgstr "Selects what blue radiance level should be considered “black”." + +#: include/sane/saneopts.h:365 +#, no-c-format +msgid "Selects what red radiance level should be considered \"full red\"." +msgstr "Selects what red radiance level should be considered “full red”." + +#: include/sane/saneopts.h:367 +#, no-c-format +msgid "" +"Selects what green radiance level should be considered \"full green\"." +msgstr "" +"Selects what green radiance level should be considered “full green”." + +#: include/sane/saneopts.h:370 +#, no-c-format +msgid "" +"Selects what blue radiance level should be considered \"full blue\"." +msgstr "Selects what blue radiance level should be considered “full blue”." + +#: include/sane/saneopts.h:374 +#, no-c-format +msgid "Controls the \"hue\" (blue-level) of the acquired image." +msgstr "Controls the “hue” (blue-level) of the acquired image." + +#: include/sane/saneopts.h:377 +#, no-c-format +msgid "" +"The saturation level controls the amount of \"blooming\" that occurs " +"when acquiring an image with a camera. Larger values cause more blooming." +msgstr "" +"The saturation level controls the amount of “blooming” that occurs when " +"acquiring an image with a camera. Larger values cause more blooming." + +#: include/sane/saneopts.h:382 +#, no-c-format +msgid "The filename of the image to be loaded." +msgstr "The filename of the image to be loaded." + +#: include/sane/saneopts.h:385 +#, no-c-format +msgid "" +"Sets the size of the halftoning (dithering) pattern used when scanning " +"halftoned images." +msgstr "" +"Sets the size of the halftoning (dithering) pattern used when scanning " +"halftoned images." + +#: include/sane/saneopts.h:389 +#, no-c-format +msgid "" +"Defines the halftoning (dithering) pattern for scanning halftoned images." +msgstr "" +"Defines the halftoning (dithering) pattern for scanning halftoned images." + +#: include/sane/saneopts.h:393 +#, no-c-format +msgid "Use same values for X and Y resolution" +msgstr "Use same values for X and Y resolution" + +#: include/sane/saneopts.h:395 +#, no-c-format +msgid "Swap black and white" +msgstr "Swap black and white" + +#: include/sane/saneopts.h:397 +#, no-c-format +msgid "Do a quality white-calibration" +msgstr "Do a quality white-calibration" + +#: include/sane/saneopts.h:399 +#, no-c-format +msgid "Use lens that doubles optical resolution" +msgstr "Use lens that doubles optical resolution" + +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 +#, no-c-format +msgid "In RGB-mode use same values for each color" +msgstr "In RGB-mode use same values for each color" + +#: include/sane/saneopts.h:403 +#, no-c-format +msgid "Select minimum-brightness to get a white point" +msgstr "Select minimum-brightness to get a white point" + +#: include/sane/saneopts.h:405 +#, no-c-format +msgid "Analog gamma-correction" +msgstr "Analog gamma-correction" + +#: include/sane/saneopts.h:407 +#, no-c-format +msgid "Analog gamma-correction for red" +msgstr "Analog gamma-correction for red" + +#: include/sane/saneopts.h:409 +#, no-c-format +msgid "Analog gamma-correction for green" +msgstr "Analog gamma-correction for green" + +#: include/sane/saneopts.h:411 +#, no-c-format +msgid "Analog gamma-correction for blue" +msgstr "Analog gamma-correction for blue" + +#: include/sane/saneopts.h:415 +#, no-c-format +msgid "Warmup lamp before scanning" +msgstr "Warmup lamp before scanning" + +#: include/sane/saneopts.h:417 +#, no-c-format +msgid "Define exposure-time for calibration" +msgstr "Define exposure-time for calibration" + +#: include/sane/saneopts.h:419 +#, no-c-format +msgid "Define exposure-time for red calibration" +msgstr "Define exposure-time for red calibration" + +#: include/sane/saneopts.h:421 +#, no-c-format +msgid "Define exposure-time for green calibration" +msgstr "Define exposure-time for green calibration" + +#: include/sane/saneopts.h:423 +#, no-c-format +msgid "Define exposure-time for blue calibration" +msgstr "Define exposure-time for blue calibration" + +#: include/sane/saneopts.h:425 +#, no-c-format +msgid "Define exposure-time for scan" +msgstr "Define exposure-time for scan" + +#: include/sane/saneopts.h:427 +#, no-c-format +msgid "Define exposure-time for red scan" +msgstr "Define exposure-time for red scan" + +#: include/sane/saneopts.h:429 +#, no-c-format +msgid "Define exposure-time for green scan" +msgstr "Define exposure-time for green scan" + +#: include/sane/saneopts.h:431 +#, no-c-format +msgid "Define exposure-time for blue scan" +msgstr "Define exposure-time for blue scan" + +#: include/sane/saneopts.h:433 +#, no-c-format +msgid "Enable selection of exposure-time" +msgstr "Enable selection of exposure-time" + +#: include/sane/saneopts.h:435 +#, no-c-format +msgid "Define lamp density for calibration" +msgstr "Define lamp density for calibration" + +#: include/sane/saneopts.h:437 +#, no-c-format +msgid "Define lamp density for scan" +msgstr "Define lamp density for scan" + +#: include/sane/saneopts.h:439 +#, no-c-format +msgid "Enable selection of lamp density" +msgstr "Enable selection of lamp density" + +#: include/sane/saneopts.h:441 backend/umax.c:5830 +#, no-c-format +msgid "Turn off lamp when program exits" +msgstr "Turn off lamp when program exits" + +#: include/sane/saneopts.h:444 +#, no-c-format +msgid "Scan button" +msgstr "Scan button" + +#: include/sane/saneopts.h:445 +#, no-c-format +msgid "Email button" +msgstr "Email button" + +#: include/sane/saneopts.h:446 +#, no-c-format +msgid "Fax button" +msgstr "Fax button" + +#: include/sane/saneopts.h:447 +#, no-c-format +msgid "Copy button" +msgstr "Copy button" + +#: include/sane/saneopts.h:448 +#, no-c-format +msgid "PDF button" +msgstr "PDF button" + +#: include/sane/saneopts.h:449 +#, no-c-format +msgid "Cancel button" +msgstr "Cancel button" + +#: include/sane/saneopts.h:450 +#, no-c-format +msgid "Page loaded" +msgstr "Page loaded" + +#: include/sane/saneopts.h:451 +#, no-c-format +msgid "Cover open" +msgstr "Cover open" + +#: include/sane/saneopts.h:454 +#, no-c-format +msgid "Color" +msgstr "Color" + +#: include/sane/saneopts.h:455 +#, no-c-format +msgid "Color Lineart" +msgstr "Color Lineart" + +#: include/sane/saneopts.h:456 +#, no-c-format +msgid "Color Halftone" +msgstr "Color Halftone" + +#: include/sane/saneopts.h:457 +#, no-c-format +msgid "Gray" +msgstr "Gray" + +#: include/sane/saneopts.h:458 +#, no-c-format +msgid "Halftone" +msgstr "Halftone" + +#: include/sane/saneopts.h:459 +#, no-c-format +msgid "Lineart" +msgstr "Lineart" + +#: backend/sane_strstatus.c:59 +#, no-c-format +msgid "Success" +msgstr "Success" + +#: backend/sane_strstatus.c:62 +#, no-c-format +msgid "Operation not supported" +msgstr "Operation not supported" + +#: backend/sane_strstatus.c:65 +#, no-c-format +msgid "Operation was cancelled" +msgstr "Operation was cancelled" + +#: backend/sane_strstatus.c:68 +#, no-c-format +msgid "Device busy" +msgstr "Device busy" + +#: backend/sane_strstatus.c:71 +#, no-c-format +msgid "Invalid argument" +msgstr "Invalid argument" + +#: backend/sane_strstatus.c:74 +#, no-c-format +msgid "End of file reached" +msgstr "End of file reached" + +#: backend/sane_strstatus.c:77 +#, no-c-format +msgid "Document feeder jammed" +msgstr "Document feeder jammed" + +#: backend/sane_strstatus.c:80 +#, no-c-format +msgid "Document feeder out of documents" +msgstr "Document feeder out of documents" + +#: backend/sane_strstatus.c:83 +#, no-c-format +msgid "Scanner cover is open" +msgstr "Scanner cover is open" + +#: backend/sane_strstatus.c:86 +#, no-c-format +msgid "Error during device I/O" +msgstr "Error during device I/O" + +#: backend/sane_strstatus.c:89 +#, no-c-format +msgid "Out of memory" +msgstr "Out of memory" + +#: backend/sane_strstatus.c:92 +#, no-c-format +msgid "Access to resource has been denied" +msgstr "Access to resource has been denied" + +#: backend/sane_strstatus.c:96 +#, no-c-format +msgid "Lamp not ready, please retry" +msgstr "Lamp not ready, please retry" + +#: backend/sane_strstatus.c:101 +#, no-c-format +msgid "Scanner mechanism locked for transport" +msgstr "Scanner mechanism locked for transport" + +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 +#, no-c-format +msgid "Defaults" +msgstr "Defaults" + +#: backend/artec_eplus48u.c:2876 +#, no-c-format +msgid "Set default values for enhancement controls." +msgstr "Set default values for enhancement controls." + +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#, no-c-format +msgid "Calibration" +msgstr "Calibration" + +#: backend/artec_eplus48u.c:2941 +#, no-c-format +msgid "Calibrate before next scan" +msgstr "Calibrate before next scan" + +#: backend/artec_eplus48u.c:2943 +#, no-c-format +msgid "" +"If enabled, the device will be calibrated before the next scan. " +"Otherwise, calibration is performed only before the first start." +msgstr "" +"If enabled, the device will be calibrated before the next scan. " +"Otherwise, calibration is performed only before the first start." + +#: backend/artec_eplus48u.c:2954 +#, no-c-format +msgid "Only perform shading-correction" +msgstr "Only perform shading-correction" + +#: backend/artec_eplus48u.c:2956 +#, no-c-format +msgid "" +"If enabled, only the shading correction is performed during calibration. " +"The default values for gain, offset and exposure time, either build-in " +"or from the configuration file, are used." +msgstr "" +"If enabled, only the shading correction is performed during calibration. " +"The default values for gain, offset and exposure time, either build-in " +"or from the configuration file, are used." + +#: backend/artec_eplus48u.c:2967 +#, no-c-format +msgid "Button state" +msgstr "Button state" + +#: backend/avision.h:778 +#, no-c-format +msgid "Number of the frame to scan" +msgstr "Number of the frame to scan" + +#: backend/avision.h:779 +#, no-c-format +msgid "Selects the number of the frame to scan" +msgstr "Selects the number of the frame to scan" + +#: backend/avision.h:782 +#, no-c-format +msgid "Duplex scan" +msgstr "Duplex scan" + +#: backend/avision.h:783 +#, no-c-format +msgid "" +"Duplex scan provide a scan of the front and back side of the document" +msgstr "" +"Duplex scan provide a scan of the front and back side of the document" + +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Calibrate Scanner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Force scanner calibration before scan" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Grayscale scan" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Do a grayscale rather than color scan" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Analog Gain" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Increase or decrease the analog gain of the CCD array" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Gamma Correction" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Selects the gamma corrected transfer curve" + +#: backend/canon.c:149 backend/canon-sane.c:1318 +#, no-c-format +msgid "Raw" +msgstr "Raw" + +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 +#, no-c-format +msgid "Fine color" +msgstr "Fine color" + +#: backend/canon.c:169 +#, no-c-format +msgid "No transparency correction" +msgstr "No transparency correction" + +#: backend/canon.c:170 backend/canon-sane.c:680 +#, no-c-format +msgid "Correction according to film type" +msgstr "Correction according to film type" + +#: backend/canon.c:171 backend/canon-sane.c:674 +#, no-c-format +msgid "Correction according to transparency ratio" +msgstr "Correction according to transparency ratio" + +#: backend/canon.c:176 backend/canon-sane.c:776 +#, no-c-format +msgid "Negatives" +msgstr "Negatives" + +#: backend/canon.c:176 +#, no-c-format +msgid "Slides" +msgstr "Slides" + +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 +#, no-c-format +msgid "Automatic" +msgstr "Automatic" + +#: backend/canon.c:186 +#, no-c-format +msgid "Normal speed" +msgstr "Normal speed" + +#: backend/canon.c:187 +#, no-c-format +msgid "1/2 normal speed" +msgstr "1/2 normal speed" + +#: backend/canon.c:187 +#, no-c-format +msgid "1/3 normal speed" +msgstr "1/3 normal speed" + +#: backend/canon.c:365 +#, no-c-format +msgid "rounded parameter" +msgstr "rounded parameter" + +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#, no-c-format +msgid "unknown" +msgstr "unknown" + +#: backend/canon.c:378 +#, no-c-format +msgid "ADF jam" +msgstr "ADF jam" + +#: backend/canon.c:381 +#, no-c-format +msgid "ADF cover open" +msgstr "ADF cover open" + +#: backend/canon.c:394 +#, no-c-format +msgid "lamp failure" +msgstr "lamp failure" + +#: backend/canon.c:397 +#, no-c-format +msgid "scan head positioning error" +msgstr "scan head positioning error" + +#: backend/canon.c:400 +#, no-c-format +msgid "CPU check error" +msgstr "CPU check error" + +#: backend/canon.c:403 +#, no-c-format +msgid "RAM check error" +msgstr "RAM check error" + +#: backend/canon.c:406 +#, no-c-format +msgid "ROM check error" +msgstr "ROM check error" + +#: backend/canon.c:409 +#, no-c-format +msgid "hardware check error" +msgstr "hardware check error" + +#: backend/canon.c:412 +#, no-c-format +msgid "transparency unit lamp failure" +msgstr "transparency unit lamp failure" + +#: backend/canon.c:415 +#, no-c-format +msgid "transparency unit scan head positioning failure" +msgstr "transparency unit scan head positioning failure" + +#: backend/canon.c:429 +#, no-c-format +msgid "parameter list length error" +msgstr "parameter list length error" + +#: backend/canon.c:433 +#, no-c-format +msgid "invalid command operation code" +msgstr "invalid command operation code" + +#: backend/canon.c:437 +#, no-c-format +msgid "invalid field in CDB" +msgstr "invalid field in CDB" + +#: backend/canon.c:441 +#, no-c-format +msgid "unsupported LUN" +msgstr "unsupported LUN" + +#: backend/canon.c:445 +#, no-c-format +msgid "invalid field in parameter list" +msgstr "invalid field in parameter list" + +#: backend/canon.c:449 +#, no-c-format +msgid "command sequence error" +msgstr "command sequence error" + +#: backend/canon.c:453 +#, no-c-format +msgid "too many windows specified" +msgstr "too many windows specified" + +#: backend/canon.c:457 +#, no-c-format +msgid "medium not present" +msgstr "medium not present" + +#: backend/canon.c:461 +#, no-c-format +msgid "invalid bit IDENTIFY message" +msgstr "invalid bit IDENTIFY message" + +#: backend/canon.c:465 +#, no-c-format +msgid "option not connect" +msgstr "option not connect" + +#: backend/canon.c:479 +#, no-c-format +msgid "power on reset / bus device reset" +msgstr "power on reset / bus device reset" + +#: backend/canon.c:483 +#, no-c-format +msgid "parameter changed by another initiator" +msgstr "parameter changed by another initiator" + +#: backend/canon.c:497 +#, no-c-format +msgid "no additional sense information" +msgstr "no additional sense information" + +#: backend/canon.c:501 +#, no-c-format +msgid "reselect failure" +msgstr "reselect failure" + +#: backend/canon.c:505 +#, no-c-format +msgid "SCSI parity error" +msgstr "SCSI parity error" + +#: backend/canon.c:509 +#, no-c-format +msgid "initiator detected error message received" +msgstr "initiator detected error message received" + +#: backend/canon.c:514 +#, no-c-format +msgid "invalid message error" +msgstr "invalid message error" + +#: backend/canon.c:518 +#, no-c-format +msgid "timeout error" +msgstr "timeout error" + +#: backend/canon.c:522 +#, no-c-format +msgid "transparency unit shading error" +msgstr "transparency unit shading error" + +#: backend/canon.c:526 +#, no-c-format +msgid "lamp not stabilized" +msgstr "lamp not stabilized" + +#: backend/canon.c:852 backend/canon.c:867 +#, no-c-format +msgid "film scanner" +msgstr "film scanner" + +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 +#, no-c-format +msgid "flatbed scanner" +msgstr "flatbed scanner" + +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#, no-c-format +msgid "Film type" +msgstr "Film type" + +#: backend/canon.c:1184 +#, no-c-format +msgid "Selects the film type, i.e. negatives or slides" +msgstr "Selects the film type, i.e. negatives or slides" + +#: backend/canon.c:1196 +#, no-c-format +msgid "Negative film type" +msgstr "Negative film type" + +#: backend/canon.c:1197 +#, no-c-format +msgid "Selects the negative film type" +msgstr "Selects the negative film type" + +#: backend/canon.c:1236 +#, no-c-format +msgid "Hardware resolution" +msgstr "Hardware resolution" + +#: backend/canon.c:1237 +#, no-c-format +msgid "Use only hardware resolutions" +msgstr "Use only hardware resolutions" + +#: backend/canon.c:1318 +#, no-c-format +msgid "Focus" +msgstr "Focus" + +#: backend/canon.c:1328 +#, no-c-format +msgid "Auto focus" +msgstr "Auto focus" + +#: backend/canon.c:1329 +#, no-c-format +msgid "Enable/disable auto focus" +msgstr "Enable/disable auto focus" + +#: backend/canon.c:1336 +#, no-c-format +msgid "Auto focus only once" +msgstr "Auto focus only once" + +#: backend/canon.c:1337 +#, no-c-format +msgid "Do auto focus only once between ejects" +msgstr "Do auto focus only once between ejects" + +#: backend/canon.c:1345 +#, no-c-format +msgid "Manual focus position" +msgstr "Manual focus position" + +#: backend/canon.c:1346 +#, no-c-format +msgid "Set the optical system's focus position by hand (default: 128)." +msgstr "Set the optical system's focus position by hand (default: 128)." + +#: backend/canon.c:1356 +#, no-c-format +msgid "Scan margins" +msgstr "Scan margins" + +#: backend/canon.c:1403 +#, no-c-format +msgid "Extra color adjustments" +msgstr "Extra color adjustments" + +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 +#, no-c-format +msgid "Mirror image" +msgstr "Mirror image" + +#: backend/canon.c:1539 +#, no-c-format +msgid "Mirror the image horizontally" +msgstr "Mirror the image horizontally" + +#: backend/canon.c:1608 +#, no-c-format +msgid "Auto exposure" +msgstr "Auto exposure" + +#: backend/canon.c:1609 +#, no-c-format +msgid "Enable/disable the auto exposure feature" +msgstr "Enable/disable the auto exposure feature" + +#: backend/canon.c:1625 +#, no-c-format +msgid "Calibration now" +msgstr "Calibration now" + +#: backend/canon.c:1626 +#, no-c-format +msgid "Execute calibration *now*" +msgstr "Execute calibration *now*" + +#: backend/canon.c:1636 +#, no-c-format +msgid "Self diagnosis" +msgstr "Self diagnosis" + +#: backend/canon.c:1637 +#, no-c-format +msgid "Perform scanner self diagnosis" +msgstr "Perform scanner self diagnosis" + +#: backend/canon.c:1648 +#, no-c-format +msgid "Reset scanner" +msgstr "Reset scanner" + +#: backend/canon.c:1649 +#, no-c-format +msgid "Reset the scanner" +msgstr "Reset the scanner" + +#: backend/canon.c:1659 +#, no-c-format +msgid "Medium handling" +msgstr "Medium handling" + +#: backend/canon.c:1668 +#, no-c-format +msgid "Eject film after each scan" +msgstr "Eject film after each scan" + +#: backend/canon.c:1669 +#, no-c-format +msgid "Automatically eject the film from the device after each scan" +msgstr "Automatically eject the film from the device after each scan" + +#: backend/canon.c:1680 +#, no-c-format +msgid "Eject film before exit" +msgstr "Eject film before exit" + +#: backend/canon.c:1681 +#, no-c-format +msgid "" +"Automatically eject the film from the device before exiting the program" +msgstr "" +"Automatically eject the film from the device before exiting the program" + +#: backend/canon.c:1690 +#, no-c-format +msgid "Eject film now" +msgstr "Eject film now" + +#: backend/canon.c:1691 +#, no-c-format +msgid "Eject the film *now*" +msgstr "Eject the film *now*" + +#: backend/canon.c:1700 +#, no-c-format +msgid "Document feeder extras" +msgstr "Document feeder extras" + +#: backend/canon.c:1707 +#, no-c-format +msgid "Flatbed only" +msgstr "Flatbed only" + +#: backend/canon.c:1708 +#, no-c-format +msgid "Disable auto document feeder and use flatbed only" +msgstr "Disable auto document feeder and use flatbed only" + +#: backend/canon.c:1718 backend/canon.c:1728 +#, no-c-format +msgid "Transparency unit" +msgstr "Transparency unit" + +#: backend/canon.c:1729 +#, no-c-format +msgid "Switch on/off the transparency unit (FAU, film adapter unit)" +msgstr "Switch on/off the transparency unit (FAU, film adapter unit)" + +#: backend/canon.c:1739 +#, no-c-format +msgid "Negative film" +msgstr "Negative film" + +#: backend/canon.c:1740 +#, no-c-format +msgid "Positive or negative film" +msgstr "Positive or negative film" + +#: backend/canon.c:1749 +#, no-c-format +msgid "Density control" +msgstr "Density control" + +#: backend/canon.c:1750 +#, no-c-format +msgid "Set density control mode" +msgstr "Set density control mode" + +#: backend/canon.c:1761 +#, no-c-format +msgid "Transparency ratio" +msgstr "Transparency ratio" + +#: backend/canon.c:1775 +#, no-c-format +msgid "Select film type" +msgstr "Select film type" + +#: backend/canon.c:1776 +#, no-c-format +msgid "Select the film type" +msgstr "Select the film type" + +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 +#, no-c-format +msgid "Flatbed" +msgstr "Flatbed" + +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 +#, no-c-format +msgid "ADF Front" +msgstr "ADF Front" + +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 +#, no-c-format +msgid "ADF Back" +msgstr "ADF Back" + +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#, no-c-format +msgid "ADF Duplex" +msgstr "ADF Duplex" + +#: backend/canon_dr.c:412 +#, no-c-format +msgid "Card Front" +msgstr "Card Front" + +#: backend/canon_dr.c:413 +#, no-c-format +msgid "Card Back" +msgstr "Card Back" + +#: backend/canon_dr.c:414 +#, no-c-format +msgid "Card Duplex" +msgstr "Card Duplex" + +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#, no-c-format +msgid "Red" +msgstr "Red" + +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#, no-c-format +msgid "Green" +msgstr "Green" + +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#, no-c-format +msgid "Blue" +msgstr "Blue" + +#: backend/canon_dr.c:424 +#, no-c-format +msgid "Enhance Red" +msgstr "Enhance Red" + +#: backend/canon_dr.c:425 +#, no-c-format +msgid "Enhance Green" +msgstr "Enhance Green" + +#: backend/canon_dr.c:426 +#, no-c-format +msgid "Enhance Blue" +msgstr "Enhance Blue" + +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 +#, no-c-format +msgid "None" +msgstr "None" + +#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#, no-c-format +msgid "JPEG" +msgstr "JPEG" + +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "Software blank skip percentage" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "Request driver to discard pages with low percentage of dark pixels" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#, no-c-format +msgid "Simplex" +msgstr "Simplex" + +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 +#, no-c-format +msgid "Duplex" +msgstr "Duplex" + +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#, no-c-format +msgid "Transparency Unit" +msgstr "Transparency Unit" + +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 +#, no-c-format +msgid "Automatic Document Feeder" +msgstr "Automatic Document Feeder" + +#: backend/epson.c:523 backend/epson2.c:134 +#, no-c-format +msgid "Positive Film" +msgstr "Positive Film" + +#: backend/epson.c:524 backend/epson2.c:135 +#, no-c-format +msgid "Negative Film" +msgstr "Negative Film" + +#: backend/epson.c:529 backend/epson2.c:142 +#, no-c-format +msgid "Focus on glass" +msgstr "Focus on glass" + +#: backend/epson.c:530 backend/epson2.c:143 +#, no-c-format +msgid "Focus 2.5mm above glass" +msgstr "Focus 2.5mm above glass" + +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 +#, no-c-format +msgid "Halftone A (Hard Tone)" +msgstr "Halftone A (Hard Tone)" + +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 +#, no-c-format +msgid "Halftone B (Soft Tone)" +msgstr "Halftone B (Soft Tone)" + +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 +#, no-c-format +msgid "Halftone C (Net Screen)" +msgstr "Halftone C (Net Screen)" + +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 +#, no-c-format +msgid "Dither A (4x4 Bayer)" +msgstr "Dither A (4x4 Bayer)" + +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 +#, no-c-format +msgid "Dither B (4x4 Spiral)" +msgstr "Dither B (4x4 Spiral)" + +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 +#, no-c-format +msgid "Dither C (4x4 Net Screen)" +msgstr "Dither C (4x4 Net Screen)" + +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 +#, no-c-format +msgid "Dither D (8x4 Net Screen)" +msgstr "Dither D (8x4 Net Screen)" + +#: backend/epson.c:584 backend/epson2.c:193 +#, no-c-format +msgid "Text Enhanced Technology" +msgstr "Text Enhanced Technology" + +#: backend/epson.c:585 backend/epson2.c:194 +#, no-c-format +msgid "Download pattern A" +msgstr "Download pattern A" + +#: backend/epson.c:586 backend/epson2.c:195 +#, no-c-format +msgid "Download pattern B" +msgstr "Download pattern B" + +#: backend/epson.c:631 +#, no-c-format +msgid "No Correction" +msgstr "No Correction" + +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 +#, no-c-format +msgid "User defined" +msgstr "User defined" + +#: backend/epson.c:633 +#, no-c-format +msgid "Impact-dot printers" +msgstr "Impact-dot printers" + +#: backend/epson.c:634 +#, no-c-format +msgid "Thermal printers" +msgstr "Thermal printers" + +#: backend/epson.c:635 +#, no-c-format +msgid "Ink-jet printers" +msgstr "Ink-jet printers" + +#: backend/epson.c:636 +#, no-c-format +msgid "CRT monitors" +msgstr "CRT monitors" + +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 +#, no-c-format +msgid "Default" +msgstr "Default" + +#: backend/epson.c:658 backend/epson2.c:256 +#, no-c-format +msgid "High density printing" +msgstr "High density printing" + +#: backend/epson.c:659 backend/epson2.c:257 +#, no-c-format +msgid "Low density printing" +msgstr "Low density printing" + +#: backend/epson.c:660 backend/epson2.c:258 +#, no-c-format +msgid "High contrast printing" +msgstr "High contrast printing" + +#: backend/epson.c:678 backend/epson2.c:276 +#, no-c-format +msgid "User defined (Gamma=1.0)" +msgstr "User defined (Gamma=1.0)" + +#: backend/epson.c:679 backend/epson2.c:277 +#, no-c-format +msgid "User defined (Gamma=1.8)" +msgstr "User defined (Gamma=1.8)" + +#: backend/epson.c:757 +#, no-c-format +msgid "CD" +msgstr "CD" + +#: backend/epson.c:758 +#, no-c-format +msgid "A5 portrait" +msgstr "A5 portrait" + +#: backend/epson.c:759 +#, no-c-format +msgid "A5 landscape" +msgstr "A5 landscape" + +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 +#, no-c-format +msgid "Letter" +msgstr "Letter" + +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 +#, no-c-format +msgid "A4" +msgstr "A4" + +#: backend/epson.c:762 +#, no-c-format +msgid "Max" +msgstr "Max" + +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 +#, no-c-format +msgid "Scan Mode" +msgstr "Scan Mode" + +#: backend/epson.c:2845 backend/epson2.c:1012 +#, no-c-format +msgid "Selects the halftone." +msgstr "Selects the halftone." + +#: backend/epson.c:2867 backend/epson2.c:1033 +#, no-c-format +msgid "Dropout" +msgstr "Dropout" + +#: backend/epson.c:2868 backend/epson2.c:1034 +#, no-c-format +msgid "Selects the dropout." +msgstr "Selects the dropout." + +#: backend/epson.c:2880 backend/epson2.c:1046 +#, no-c-format +msgid "Selects the brightness." +msgstr "Selects the brightness." + +#: backend/epson.c:2895 backend/epson2.c:1059 +#, no-c-format +msgid "Sharpness" +msgstr "Sharpness" + +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#, no-c-format +msgid "Color correction" +msgstr "Color correction" + +#: backend/epson.c:3034 backend/epson2.c:1177 +#, no-c-format +msgid "Sets the color correction table for the selected output device." +msgstr "Sets the color correction table for the selected output device." + +#: backend/epson.c:3075 +#, no-c-format +msgid "Color correction coefficients" +msgstr "Color correction coefficients" + +#: backend/epson.c:3076 +#, no-c-format +msgid "Matrix multiplication of RGB" +msgstr "Matrix multiplication of RGB" + +#: backend/epson.c:3093 +#, no-c-format +msgid "Shift green to red" +msgstr "Shift green to red" + +#: backend/epson.c:3094 +#, no-c-format +msgid "Shift green to blue" +msgstr "Shift green to blue" + +#: backend/epson.c:3095 +#, no-c-format +msgid "Shift red to green" +msgstr "Shift red to green" + +#: backend/epson.c:3097 +#, no-c-format +msgid "Shift red to blue" +msgstr "Shift red to blue" + +#: backend/epson.c:3098 +#, no-c-format +msgid "Shift blue to green" +msgstr "Shift blue to green" + +#: backend/epson.c:3099 +#, no-c-format +msgid "Shift blue to red" +msgstr "Shift blue to red" + +#: backend/epson.c:3102 +#, no-c-format +msgid "Controls green level" +msgstr "Controls green level" + +#: backend/epson.c:3103 +#, no-c-format +msgid "Adds to red based on green level" +msgstr "Adds to red based on green level" + +#: backend/epson.c:3104 +#, no-c-format +msgid "Adds to blue based on green level" +msgstr "Adds to blue based on green level" + +#: backend/epson.c:3105 +#, no-c-format +msgid "Adds to green based on red level" +msgstr "Adds to green based on red level" + +#: backend/epson.c:3106 +#, no-c-format +msgid "Controls red level" +msgstr "Controls red level" + +#: backend/epson.c:3107 +#, no-c-format +msgid "Adds to blue based on red level" +msgstr "Adds to blue based on red level" + +#: backend/epson.c:3108 +#, no-c-format +msgid "Adds to green based on blue level" +msgstr "Adds to green based on blue level" + +#: backend/epson.c:3109 +#, no-c-format +msgid "Adds to red based on blue level" +msgstr "Adds to red based on blue level" + +#: backend/epson.c:3110 +#, no-c-format +msgid "Controls blue level" +msgstr "Controls blue level" + +#: backend/epson.c:3206 backend/epson2.c:1256 +#, no-c-format +msgid "Mirror the image." +msgstr "Mirror the image." + +#: backend/epson.c:3232 backend/mustek.c:4332 +#, no-c-format +msgid "Fast preview" +msgstr "Fast preview" + +#: backend/epson.c:3245 backend/epson2.c:1266 +#, no-c-format +msgid "Auto area segmentation" +msgstr "Auto area segmentation" + +#: backend/epson.c:3258 +#, no-c-format +msgid "Short resolution list" +msgstr "Short resolution list" + +#: backend/epson.c:3260 +#, no-c-format +msgid "Display short resolution list" +msgstr "Display short resolution list" + +#: backend/epson.c:3267 +#, no-c-format +msgid "Zoom" +msgstr "Zoom" + +#: backend/epson.c:3269 +#, no-c-format +msgid "Defines the zoom factor the scanner will use" +msgstr "Defines the zoom factor the scanner will use" + +#: backend/epson.c:3349 +#, no-c-format +msgid "Quick format" +msgstr "Quick format" + +#: backend/epson.c:3360 backend/epson2.c:1341 +#, no-c-format +msgid "Optional equipment" +msgstr "Optional equipment" + +#: backend/epson.c:3431 backend/epson2.c:1394 +#, no-c-format +msgid "Eject" +msgstr "Eject" + +#: backend/epson.c:3432 backend/epson2.c:1395 +#, no-c-format +msgid "Eject the sheet in the ADF" +msgstr "Eject the sheet in the ADF" + +#: backend/epson.c:3444 backend/epson2.c:1405 +#, no-c-format +msgid "Auto eject" +msgstr "Auto eject" + +#: backend/epson.c:3445 backend/epson2.c:1407 +#, no-c-format +msgid "Eject document after scanning" +msgstr "Eject document after scanning" + +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#, no-c-format +msgid "ADF Mode" +msgstr "ADF Mode" + +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#, no-c-format +msgid "Selects the ADF mode (simplex/duplex)" +msgstr "Selects the ADF mode (simplex/duplex)" + +#: backend/epson.c:3473 backend/epson2.c:1431 +#, no-c-format +msgid "Bay" +msgstr "Bay" + +#: backend/epson.c:3474 backend/epson2.c:1432 +#, no-c-format +msgid "Select bay to scan" +msgstr "Select bay to scan" + +#: backend/epson.h:69 backend/epson2.h:68 +#, no-c-format +msgid "" +"Selects the gamma correction value from a list of pre-defined devices or " +"the user defined table, which can be downloaded to the scanner" +msgstr "" +"Selects the gamma correction value from a list of pre-defined devices or " +"the user defined table, which can be downloaded to the scanner" + +#: backend/epson.h:72 backend/epson2.h:71 +#, no-c-format +msgid "Focus Position" +msgstr "Focus Position" + +#: backend/epson.h:73 backend/epson2.h:72 +#, no-c-format +msgid "" +"Sets the focus position to either the glass or 2.5mm above the glass" +msgstr "" +"Sets the focus position to either the glass or 2.5mm above the glass" + +#: backend/epson.h:75 backend/epson2.h:74 +#, no-c-format +msgid "Wait for Button" +msgstr "Wait for Button" + +#: backend/epson.h:76 backend/epson2.h:75 +#, no-c-format +msgid "" +"After sending the scan command, wait until the button on the scanner is " +"pressed to actually start the scan process." +msgstr "" +"After sending the scan command, wait until the button on the scanner is " +"pressed to actually start the scan process." + +#: backend/epson2.c:102 backend/pixma.c:390 +#, no-c-format +msgid "Infrared" +msgstr "Infrared" + +#: backend/epson2.c:117 +#, no-c-format +msgid "TPU8x10" +msgstr "TPU8x10" + +#: backend/epson2.c:136 +#, no-c-format +msgid "Positive Slide" +msgstr "Positive Slide" + +#: backend/epson2.c:137 +#, no-c-format +msgid "Negative Slide" +msgstr "Negative Slide" + +#: backend/epson2.c:215 +#, no-c-format +msgid "Built in CCT profile" +msgstr "Built in CCT profile" + +#: backend/epson2.c:216 +#, no-c-format +msgid "User defined CCT profile" +msgstr "User defined CCT profile" + +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#, no-c-format +msgid "On" +msgstr "On" + +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 +#, no-c-format +msgid "Off" +msgstr "Off" + +#: backend/fujitsu.c:686 +#, no-c-format +msgid "DTC" +msgstr "DTC" + +#: backend/fujitsu.c:687 +#, no-c-format +msgid "SDTC" +msgstr "SDTC" + +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 +#, no-c-format +msgid "Dither" +msgstr "Dither" + +#: backend/fujitsu.c:690 +#, no-c-format +msgid "Diffusion" +msgstr "Diffusion" + +#: backend/fujitsu.c:695 +#, no-c-format +msgid "White" +msgstr "White" + +#: backend/fujitsu.c:696 +#, no-c-format +msgid "Black" +msgstr "Black" + +#: backend/fujitsu.c:701 +#, no-c-format +msgid "Continue" +msgstr "Continue" + +#: backend/fujitsu.c:702 +#, no-c-format +msgid "Stop" +msgstr "Stop" + +#: backend/fujitsu.c:704 +#, no-c-format +msgid "10mm" +msgstr "10mm" + +#: backend/fujitsu.c:705 +#, no-c-format +msgid "15mm" +msgstr "15mm" + +#: backend/fujitsu.c:706 +#, no-c-format +msgid "20mm" +msgstr "20mm" + +#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#, no-c-format +msgid "Horizontal" +msgstr "Horizontal" + +#: backend/fujitsu.c:709 +#, no-c-format +msgid "Horizontal bold" +msgstr "Horizontal bold" + +#: backend/fujitsu.c:710 +#, no-c-format +msgid "Horizontal narrow" +msgstr "Horizontal narrow" + +#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#, no-c-format +msgid "Vertical" +msgstr "Vertical" + +#: backend/fujitsu.c:712 +#, no-c-format +msgid "Vertical bold" +msgstr "Vertical bold" + +#: backend/fujitsu.c:714 +#, no-c-format +msgid "Top to bottom" +msgstr "Top to bottom" + +#: backend/fujitsu.c:715 +#, no-c-format +msgid "Bottom to top" +msgstr "Bottom to top" + +#: backend/fujitsu.c:717 +#, no-c-format +msgid "Front" +msgstr "Front" + +#: backend/fujitsu.c:718 +#, no-c-format +msgid "Back" +msgstr "Back" + +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#, no-c-format +msgid "Gamma function exponent" +msgstr "Gamma function exponent" + +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#, no-c-format +msgid "Changes intensity of midtones" +msgstr "Changes intensity of midtones" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "RIF" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "Reverse image format" + +#: backend/fujitsu.c:3165 +#, no-c-format +msgid "Halftone type" +msgstr "Halftone type" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "Control type of halftone filter" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "Control pattern of halftone filter" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "Outline" + +#: backend/fujitsu.c:3210 +#, no-c-format +msgid "Perform outline extraction" +msgstr "Perform outline extraction" + +#: backend/fujitsu.c:3221 +#, no-c-format +msgid "Emphasis" +msgstr "Emphasis" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "Negative to smooth or positive to sharpen image" + +#: backend/fujitsu.c:3240 +#, no-c-format +msgid "Separation" +msgstr "Separation" + +#: backend/fujitsu.c:3241 +#, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "Enable automatic separation of image and text" + +#: backend/fujitsu.c:3252 +#, no-c-format +msgid "Mirroring" +msgstr "Mirroring" + +#: backend/fujitsu.c:3253 +#, no-c-format +msgid "Reflect output image horizontally" +msgstr "Reflect output image horizontally" + +#: backend/fujitsu.c:3270 +#, no-c-format +msgid "White level follower" +msgstr "White level follower" + +#: backend/fujitsu.c:3271 +#, no-c-format +msgid "Control white level follower" +msgstr "Control white level follower" + +#: backend/fujitsu.c:3289 +#, no-c-format +msgid "BP filter" +msgstr "BP filter" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "Improves quality of high resolution ball-point pen text" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Smoothing" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "Enable smoothing for improved OCR" + +#: backend/fujitsu.c:3323 +#, no-c-format +msgid "Gamma curve" +msgstr "Gamma curve" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "Gamma curve, from light to dark, but upper two may not work" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "Threshold curve" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" +"Threshold curve, from light to dark, but upper two may not be linear" + +#: backend/fujitsu.c:3369 +#, no-c-format +msgid "Threshold white" +msgstr "Threshold white" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "Set pixels equal to threshold to white instead of black" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, no-c-format +msgid "Noise removal" +msgstr "Noise removal" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "Matrix 5x5" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "Remove 5 pixel square noise" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "Matrix 4x4" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "Remove 4 pixel square noise" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "Matrix 3x3" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "Remove 3 pixel square noise" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "Matrix 2x2" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "Remove 2 pixel square noise" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "Variance" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "Set SDTC variance rate (sensitivity), 0 equals 127" + +#: backend/fujitsu.c:3508 +#, no-c-format +msgid "Auto width detection" +msgstr "Auto width detection" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "Scanner detects paper sides. May reduce scanning speed." + +#: backend/fujitsu.c:3526 +#, no-c-format +msgid "Auto length detection" +msgstr "Auto length detection" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "Scanner detects paper lower edge. May confuse some frontends." + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "Compression" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "Enable compressed data. May crash your front-end program" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "Compression argument" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "DF action" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "Action following double feed error" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "DF skew" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "Enable double feed error due to skew" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "DF thickness" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "Enable double feed error due to paper thickness" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "DF length" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "Enable double feed error due to paper length" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "DF length difference" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "Difference in page length to trigger double feed error" + +#: backend/fujitsu.c:3708 +#, no-c-format +msgid "DF recovery mode" +msgstr "DF recovery mode" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "Request scanner to reverse feed on paper jam" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "Paper protection" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "Request scanner to predict jams in the ADF" + +#: backend/fujitsu.c:3748 +#, no-c-format +msgid "Advanced paper protection" +msgstr "Advanced paper protection" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "Request scanner to predict jams in the ADF using improved sensors" + +#: backend/fujitsu.c:3768 +#, no-c-format +msgid "Staple detection" +msgstr "Staple detection" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "Request scanner to detect jams in the ADF caused by staples" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "Background color" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" +"Set color of background for scans. May conflict with overscan option" + +#: backend/fujitsu.c:3809 +#, no-c-format +msgid "Dropout color" +msgstr "Dropout color" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" + +#: backend/fujitsu.c:3833 +#, no-c-format +msgid "Buffer mode" +msgstr "Buffer mode" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" +"Request scanner to read pages quickly from ADF into internal memory" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "Prepick" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "Request scanner to grab next page from ADF" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "Overscan" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "Sleep timer" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" +"Time in minutes until the internal power supply switches to sleep mode" + +#: backend/fujitsu.c:3911 +#, no-c-format +msgid "Off timer" +msgstr "Off timer" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." + +#: backend/fujitsu.c:3930 +#, no-c-format +msgid "Duplex offset" +msgstr "Duplex offset" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "Adjust front/back offset" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Green offset" + +#: backend/fujitsu.c:3949 +#, no-c-format +msgid "Adjust green/red offset" +msgstr "Adjust green/red offset" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Blue offset" + +#: backend/fujitsu.c:3967 +#, no-c-format +msgid "Adjust blue/red offset" +msgstr "Adjust blue/red offset" + +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "Low Memory" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option ‘side’ can be used to determine correct image. This option should " +"only be used with custom front-end software." + +#: backend/fujitsu.c:3996 +#, no-c-format +msgid "Duplex side" +msgstr "Duplex side" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "Hardware deskew and crop" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "Request scanner to rotate and crop pages digitally." + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "Software deskew" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "Request driver to rotate skewed pages digitally." + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "Software despeckle diameter" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "Maximum diameter of lone dots to remove from scan." + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#, no-c-format +msgid "Software crop" +msgstr "Software crop" + +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "Request driver to remove border from pages digitally." + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "Halt on Cancel" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" +"Request driver to halt the paper feed instead of eject during a cancel." + +#: backend/fujitsu.c:4095 +#, no-c-format +msgid "Endorser Options" +msgstr "Endorser Options" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "Controls for endorser unit" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "Endorser" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "Enable endorser unit" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "Endorser bits" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "Determines maximum endorser counter value." + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "Endorser value" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "Initial endorser counter value." + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "Endorser step" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "Change endorser counter value by this much for each page." + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "Endorser Y" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "Endorser print offset from top of paper." + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "Endorser font" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "Endorser printing font." + +#: backend/fujitsu.c:4253 +#, no-c-format +msgid "Endorser direction" +msgstr "Endorser direction" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "Endorser printing direction." + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "Endorser side" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "Endorser printing side, requires hardware support to change" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "Endorser string" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "Top edge" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "Paper is pulled partly into adf" + +#: backend/fujitsu.c:4344 +#, no-c-format +msgid "A3 paper" +msgstr "A3 paper" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "A3 paper detected" + +#: backend/fujitsu.c:4356 +#, no-c-format +msgid "B4 paper" +msgstr "B4 paper" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "B4 paper detected" + +#: backend/fujitsu.c:4368 +#, no-c-format +msgid "A4 paper" +msgstr "A4 paper" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "A4 paper detected" + +#: backend/fujitsu.c:4380 +#, no-c-format +msgid "B5 paper" +msgstr "B5 paper" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "B5 paper detected" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "OMR or DF" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "OMR or double feed detected" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "Power saving" + +#: backend/fujitsu.c:4429 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "Scanner in power saving mode" + +#: backend/fujitsu.c:4452 +#, no-c-format +msgid "Manual feed" +msgstr "Manual feed" + +#: backend/fujitsu.c:4453 +#, no-c-format +msgid "Manual feed selected" +msgstr "Manual feed selected" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "Function" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "Function character on screen" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "Ink low" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "Imprinter ink running low" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "Double feed" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "Double feed detected" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "Error code" + +#: backend/fujitsu.c:4513 +#, no-c-format +msgid "Hardware error code" +msgstr "Hardware error code" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "Skew angle" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "Requires black background for scanning" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "Ink remaining" + +#: backend/fujitsu.c:4537 +#, no-c-format +msgid "Imprinter ink level" +msgstr "Imprinter ink level" + +#: backend/fujitsu.c:4548 +#, no-c-format +msgid "Density" +msgstr "Density" + +#: backend/fujitsu.c:4549 +#, no-c-format +msgid "Density dial" +msgstr "Density dial" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, no-c-format +msgid "Duplex switch" +msgstr "Duplex switch" + +#: backend/genesys.c:5761 +#, no-c-format +msgid "Request backend to remove border from pages digitally" +msgstr "Request backend to remove border from pages digitally" + +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#, no-c-format +msgid "Request driver to discard pages with low numbers of dark pixels" +msgstr "Request driver to discard pages with low numbers of dark pixels" + +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#, no-c-format +msgid "Software derotate" +msgstr "Software derotate" + +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#, no-c-format +msgid "Request driver to detect and correct 90 degree image rotation" +msgstr "Request driver to detect and correct 90 degree image rotation" + +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#, no-c-format +msgid "Extras" +msgstr "Extras" + +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#, no-c-format +msgid "Dynamic threshold curve, from light to dark, normally 50-65" +msgstr "Dynamic threshold curve, from light to dark, normally 50-65" + +#: backend/genesys.c:5842 +#, no-c-format +msgid "Disable dynamic lineart" +msgstr "Disable dynamic lineart" + +#: backend/genesys.c:5844 +#, no-c-format +msgid "" +"Disable use of a software adaptive algorithm to generate lineart relying " +"instead on hardware lineart." +msgstr "" +"Disable use of a software adaptive algorithm to generate lineart relying " +"instead on hardware lineart." + +#: backend/genesys.c:5860 +#, no-c-format +msgid "Disable interpolation" +msgstr "Disable interpolation" + +#: backend/genesys.c:5863 +#, no-c-format +msgid "" +"When using high resolutions where the horizontal resolution is smaller " +"than the vertical resolution this disables horizontal interpolation." +msgstr "" +"When using high resolutions where the horizontal resolution is smaller " +"than the vertical resolution this disables horizontal interpolation." + +#: backend/genesys.c:5872 +#, no-c-format +msgid "Color filter" +msgstr "Color filter" + +#: backend/genesys.c:5875 +#, no-c-format +msgid "When using gray or lineart this option selects the used color." +msgstr "When using gray or lineart this option selects the used color." + +#: backend/genesys.c:5901 +#, no-c-format +msgid "Calibration file" +msgstr "Calibration file" + +#: backend/genesys.c:5902 +#, no-c-format +msgid "Specify the calibration file to use" +msgstr "Specify the calibration file to use" + +#: backend/genesys.c:5919 +#, no-c-format +msgid "Calibration cache expiration time" +msgstr "Calibration cache expiration time" + +#: backend/genesys.c:5920 +#, no-c-format +msgid "" +"Time (in minutes) before a cached calibration expires. A value of 0 " +"means cache is not used. A negative value means cache never expires." +msgstr "" +"Time (in minutes) before a cached calibration expires. A value of 0 " +"means cache is not used. A negative value means cache never expires." + +#: backend/genesys.c:5930 +#, no-c-format +msgid "Lamp off time" +msgstr "Lamp off time" + +#: backend/genesys.c:5933 +#, no-c-format +msgid "" +"The lamp will be turned off after the given time (in minutes). A value " +"of 0 means, that the lamp won't be turned off." +msgstr "" +"The lamp will be turned off after the given time (in minutes). A value " +"of 0 means, that the lamp won't be turned off." + +#: backend/genesys.c:5943 +#, no-c-format +msgid "Lamp off during scan" +msgstr "Lamp off during scan" + +#: backend/genesys.c:5944 +#, no-c-format +msgid "The lamp will be turned off during scan. " +msgstr "The lamp will be turned off during scan. " + +#: backend/genesys.c:5972 backend/genesys.c:5973 +#, no-c-format +msgid "File button" +msgstr "File button" + +#: backend/genesys.c:6025 backend/genesys.c:6026 +#, no-c-format +msgid "OCR button" +msgstr "OCR button" + +#: backend/genesys.c:6039 backend/genesys.c:6040 +#, no-c-format +msgid "Power button" +msgstr "Power button" + +#: backend/genesys.c:6053 backend/genesys.c:6054 +#, no-c-format +msgid "Extra button" +msgstr "Extra button" + +#: backend/genesys.c:6067 backend/gt68xx.c:762 +#, no-c-format +msgid "Need calibration" +msgstr "Need calibration" + +#: backend/genesys.c:6068 backend/gt68xx.c:763 +#, no-c-format +msgid "The scanner needs calibration for the current settings" +msgstr "The scanner needs calibration for the current settings" + +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#, no-c-format +msgid "Buttons" +msgstr "Buttons" + +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#, no-c-format +msgid "Calibrate" +msgstr "Calibrate" + +#: backend/genesys.c:6091 backend/gt68xx.c:796 +#, no-c-format +msgid "Start calibration using special sheet" +msgstr "Start calibration using special sheet" + +#: backend/genesys.c:6105 backend/gt68xx.c:809 +#, no-c-format +msgid "Clear calibration" +msgstr "Clear calibration" + +#: backend/genesys.c:6106 backend/gt68xx.c:810 +#, no-c-format +msgid "Clear calibration cache" +msgstr "Clear calibration cache" + +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 +#, no-c-format +msgid "Transparency Adapter" +msgstr "Transparency Adapter" + +#: backend/gt68xx.c:477 +#, no-c-format +msgid "Gray mode color" +msgstr "Gray mode color" + +#: backend/gt68xx.c:479 +#, no-c-format +msgid "Selects which scan color is used gray mode (default: green)." +msgstr "Selects which scan color is used gray mode (default: green)." + +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 +#, no-c-format +msgid "Debugging Options" +msgstr "Debugging Options" + +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#, no-c-format +msgid "Automatic warmup" +msgstr "Automatic warmup" + +#: backend/gt68xx.c:573 +#, no-c-format +msgid "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"60 seconds warm-up time." +msgstr "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"60 seconds warm-up time." + +#: backend/gt68xx.c:585 +#, no-c-format +msgid "Full scan" +msgstr "Full scan" + +#: backend/gt68xx.c:587 +#, no-c-format +msgid "" +"Scan the complete scanning area including calibration strip. Be careful. " +"Don't select the full height. For testing only." +msgstr "" +"Scan the complete scanning area including calibration strip. Be careful. " +"Don't select the full height. For testing only." + +#: backend/gt68xx.c:598 +#, no-c-format +msgid "Coarse calibration" +msgstr "Coarse calibration" + +#: backend/gt68xx.c:600 +#, no-c-format +msgid "" +"Setup gain and offset for scanning automatically. If this option is " +"disabled, options for setting the analog frontend parameters manually " +"are provided. This option is enabled by default. For testing only." +msgstr "" +"Setup gain and offset for scanning automatically. If this option is " +"disabled, options for setting the analog frontend parameters manually " +"are provided. This option is enabled by default. For testing only." + +#: backend/gt68xx.c:619 +#, no-c-format +msgid "Coarse calibration for first scan only" +msgstr "Coarse calibration for first scan only" + +#: backend/gt68xx.c:621 +#, no-c-format +msgid "" +"Coarse calibration is only done for the first scan. Works with most " +"scanners and can save scanning time. If the image brightness is " +"different with each scan, disable this option. For testing only." +msgstr "" +"Coarse calibration is only done for the first scan. Works with most " +"scanners and can save scanning time. If the image brightness is " +"different with each scan, disable this option. For testing only." + +#: backend/gt68xx.c:654 +#, no-c-format +msgid "Backtrack lines" +msgstr "Backtrack lines" + +#: backend/gt68xx.c:656 +#, no-c-format +msgid "" +"Number of lines the scan slider moves back when backtracking occurs. " +"That happens when the scanner scans faster than the computer can receive " +"the data. Low values cause faster scans but increase the risk of " +"omitting lines." +msgstr "" +"Number of lines the scan slider moves back when backtracking occurs. " +"That happens when the scanner scans faster than the computer can receive " +"the data. Low values cause faster scans but increase the risk of " +"omitting lines." + +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#, no-c-format +msgid "Gamma value" +msgstr "Gamma value" + +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#, no-c-format +msgid "Sets the gamma value of all channels." +msgstr "Sets the gamma value of all channels." + +#: backend/hp3500.c:1020 +#, no-c-format +msgid "Geometry Group" +msgstr "Geometry Group" + +#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#, no-c-format +msgid "Scan Mode Group" +msgstr "Scan Mode Group" + +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 +#, no-c-format +msgid "Slide" +msgstr "Slide" + +#: backend/hp3900_sane.c:1405 +#, no-c-format +msgid "Scanner model" +msgstr "Scanner model" + +#: backend/hp3900_sane.c:1408 +#, no-c-format +msgid "Allows one to test device behaviour with other supported models" +msgstr "Allows one to test device behaviour with other supported models" + +#: backend/hp3900_sane.c:1422 +#, no-c-format +msgid "Image colours will be inverted" +msgstr "Image colours will be inverted" + +#: backend/hp3900_sane.c:1436 +#, no-c-format +msgid "Disable gamma correction" +msgstr "Disable gamma correction" + +#: backend/hp3900_sane.c:1437 +#, no-c-format +msgid "Gamma correction will be disabled" +msgstr "Gamma correction will be disabled" + +#: backend/hp3900_sane.c:1451 +#, no-c-format +msgid "Disable white shading correction" +msgstr "Disable white shading correction" + +#: backend/hp3900_sane.c:1453 +#, no-c-format +msgid "White shading correction will be disabled" +msgstr "White shading correction will be disabled" + +#: backend/hp3900_sane.c:1467 +#, no-c-format +msgid "Skip warmup process" +msgstr "Skip warmup process" + +#: backend/hp3900_sane.c:1468 +#, no-c-format +msgid "Warmup process will be disabled" +msgstr "Warmup process will be disabled" + +#: backend/hp3900_sane.c:1482 +#, no-c-format +msgid "Force real depth" +msgstr "Force real depth" + +#: backend/hp3900_sane.c:1485 +#, no-c-format +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." + +#: backend/hp3900_sane.c:1499 +#, no-c-format +msgid "Emulate Grayscale" +msgstr "Emulate Grayscale" + +#: backend/hp3900_sane.c:1502 +#, no-c-format +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." + +#: backend/hp3900_sane.c:1516 +#, no-c-format +msgid "Save debugging images" +msgstr "Save debugging images" + +#: backend/hp3900_sane.c:1519 +#, no-c-format +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." + +#: backend/hp3900_sane.c:1533 +#, no-c-format +msgid "Reset chipset" +msgstr "Reset chipset" + +#: backend/hp3900_sane.c:1534 +#, no-c-format +msgid "Resets chipset data" +msgstr "Resets chipset data" + +#: backend/hp3900_sane.c:1547 +#, no-c-format +msgid "Information" +msgstr "Information" + +#: backend/hp3900_sane.c:1560 +#, no-c-format +msgid "Chipset name" +msgstr "Chipset name" + +#: backend/hp3900_sane.c:1561 +#, no-c-format +msgid "Shows chipset name used in device." +msgstr "Shows chipset name used in device." + +#: backend/hp3900_sane.c:1565 +#, no-c-format +msgid "Unknown" +msgstr "Unknown" + +#: backend/hp3900_sane.c:1571 +#, no-c-format +msgid "Chipset ID" +msgstr "Chipset ID" + +#: backend/hp3900_sane.c:1572 +#, no-c-format +msgid "Shows the chipset ID" +msgstr "Shows the chipset ID" + +#: backend/hp3900_sane.c:1582 +#, no-c-format +msgid "Scan counter" +msgstr "Scan counter" + +#: backend/hp3900_sane.c:1584 +#, no-c-format +msgid "Shows the number of scans made by scanner" +msgstr "Shows the number of scans made by scanner" + +#: backend/hp3900_sane.c:1594 +#, no-c-format +msgid "Update information" +msgstr "Update information" + +#: backend/hp3900_sane.c:1595 +#, no-c-format +msgid "Updates information about device" +msgstr "Updates information about device" + +#: backend/hp3900_sane.c:1635 +#, no-c-format +msgid "This option reflects a front panel scanner button" +msgstr "This option reflects a front panel scanner button" + +#: backend/hp5400_sane.c:313 backend/niash.c:678 +#, no-c-format +msgid "Image" +msgstr "Image" + +#: backend/hp5400_sane.c:352 backend/niash.c:709 +#, no-c-format +msgid "Miscellaneous" +msgstr "Miscellaneous" + +#: backend/hp5400_sane.c:358 +#, no-c-format +msgid "offset X" +msgstr "offset X" + +#: backend/hp5400_sane.c:359 +#, no-c-format +msgid "Hardware internal X position of the scanning area." +msgstr "Hardware internal X position of the scanning area." + +#: backend/hp5400_sane.c:368 +#, no-c-format +msgid "offset Y" +msgstr "offset Y" + +#: backend/hp5400_sane.c:369 +#, no-c-format +msgid "Hardware internal Y position of the scanning area." +msgstr "Hardware internal Y position of the scanning area." + +#: backend/hp5400_sane.c:381 backend/niash.c:716 +#, no-c-format +msgid "Lamp status" +msgstr "Lamp status" + +#: backend/hp5400_sane.c:382 backend/niash.c:717 +#, no-c-format +msgid "Switches the lamp on or off." +msgstr "Switches the lamp on or off." + +#: backend/hp5400_sane.c:393 backend/niash.c:727 +#, no-c-format +msgid "Calibrates for black and white level." +msgstr "Calibrates for black and white level." + +#: backend/hp5590.c:86 backend/hp-option.c:3253 +#, no-c-format +msgid "ADF" +msgstr "ADF" + +#: backend/hp5590.c:88 +#, no-c-format +msgid "TMA Slides" +msgstr "TMA Slides" + +#: backend/hp5590.c:89 +#, no-c-format +msgid "TMA Negatives" +msgstr "TMA Negatives" + +#: backend/hp5590.c:92 +#, no-c-format +msgid "Color (48 bits)" +msgstr "Color (48 bits)" + +#: backend/hp5590.c:95 +#, no-c-format +msgid "Extend lamp timeout" +msgstr "Extend lamp timeout" + +#: backend/hp5590.c:96 +#, no-c-format +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Extends lamp timeout (from 15 minutes to 1 hour)" + +#: backend/hp5590.c:98 +#, no-c-format +msgid "Wait for button" +msgstr "Wait for button" + +#: backend/hp5590.c:99 +#, no-c-format +msgid "Waits for button before scanning" +msgstr "Waits for button before scanning" + +#: backend/hp-option.c:2984 +#, no-c-format +msgid "Advanced Options" +msgstr "Advanced Options" + +#: backend/hp-option.c:3041 +#, no-c-format +msgid "Coarse" +msgstr "Coarse" + +#: backend/hp-option.c:3042 +#, no-c-format +msgid "Fine" +msgstr "Fine" + +#: backend/hp-option.c:3043 +#, no-c-format +msgid "Bayer" +msgstr "Bayer" + +#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#, no-c-format +msgid "Custom" +msgstr "Custom" + +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 +#, no-c-format +msgid "Auto" +msgstr "Auto" + +#: backend/hp-option.c:3088 +#, no-c-format +msgid "NTSC RGB" +msgstr "NTSC RGB" + +#: backend/hp-option.c:3089 +#, no-c-format +msgid "XPA RGB" +msgstr "XPA RGB" + +#: backend/hp-option.c:3090 +#, no-c-format +msgid "Pass-through" +msgstr "Pass-through" + +#: backend/hp-option.c:3091 +#, no-c-format +msgid "NTSC Gray" +msgstr "NTSC Gray" + +#: backend/hp-option.c:3092 +#, no-c-format +msgid "XPA Gray" +msgstr "XPA Gray" + +#: backend/hp-option.c:3144 +#, no-c-format +msgid "Slow" +msgstr "Slow" + +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#, no-c-format +msgid "Normal" +msgstr "Normal" + +#: backend/hp-option.c:3146 +#, no-c-format +msgid "Fast" +msgstr "Fast" + +#: backend/hp-option.c:3147 +#, no-c-format +msgid "Extra Fast" +msgstr "Extra Fast" + +#: backend/hp-option.c:3160 +#, no-c-format +msgid "2-pixel" +msgstr "2-pixel" + +#: backend/hp-option.c:3161 +#, no-c-format +msgid "4-pixel" +msgstr "4-pixel" + +#: backend/hp-option.c:3162 +#, no-c-format +msgid "8-pixel" +msgstr "8-pixel" + +#: backend/hp-option.c:3173 +#, no-c-format +msgid "Print" +msgstr "Print" + +#: backend/hp-option.c:3175 +#, no-c-format +msgid "Film-strip" +msgstr "Film-strip" + +#: backend/hp-option.c:3254 +#, no-c-format +msgid "XPA" +msgstr "XPA" + +#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#, no-c-format +msgid "Conditional" +msgstr "Conditional" + +#: backend/hp-option.c:3414 +#, no-c-format +msgid "Experiment" +msgstr "Experiment" + +#: backend/hp-option.h:60 +#, no-c-format +msgid "Sharpening" +msgstr "Sharpening" + +#: backend/hp-option.h:61 +#, no-c-format +msgid "Set sharpening value." +msgstr "Set sharpening value." + +#: backend/hp-option.h:66 +#, no-c-format +msgid "Auto Threshold" +msgstr "Auto Threshold" + +#: backend/hp-option.h:68 +#, no-c-format +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "Enable automatic determination of threshold for line-art scans." + +#: backend/hp-option.h:74 +#, no-c-format +msgid "Select smoothing filter." +msgstr "Select smoothing filter." + +#: backend/hp-option.h:79 +#, no-c-format +msgid "Unload media after scan" +msgstr "Unload media after scan" + +#: backend/hp-option.h:80 +#, no-c-format +msgid "Unloads the media after a scan." +msgstr "Unloads the media after a scan." + +#: backend/hp-option.h:85 +#, no-c-format +msgid "Change document" +msgstr "Change document" + +#: backend/hp-option.h:86 +#, no-c-format +msgid "Change Document." +msgstr "Change Document." + +#: backend/hp-option.h:91 +#, no-c-format +msgid "Unload" +msgstr "Unload" + +#: backend/hp-option.h:92 +#, no-c-format +msgid "Unload Document." +msgstr "Unload Document." + +#: backend/hp-option.h:98 +#, no-c-format +msgid "Start calibration process." +msgstr "Start calibration process." + +#: backend/hp-option.h:103 +#, no-c-format +msgid "Media" +msgstr "Media" + +#: backend/hp-option.h:104 +#, no-c-format +msgid "Set type of media." +msgstr "Set type of media." + +#: backend/hp-option.h:109 +#, no-c-format +msgid "Exposure time" +msgstr "Exposure time" + +#: backend/hp-option.h:111 +#, no-c-format +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and “Negative” for " +"negative film. For dark (underexposed) images you can increase this " +"value." + +#: backend/hp-option.h:119 backend/hp-option.h:126 +#, no-c-format +msgid "Color Matrix" +msgstr "Color Matrix" + +#: backend/hp-option.h:121 +#, no-c-format +msgid "Set the scanners color matrix." +msgstr "Set the scanners color matrix." + +#: backend/hp-option.h:127 +#, no-c-format +msgid "Custom color matrix." +msgstr "Custom color matrix." + +#: backend/hp-option.h:132 +#, no-c-format +msgid "Mono Color Matrix" +msgstr "Mono Color Matrix" + +#: backend/hp-option.h:133 +#, no-c-format +msgid "Custom color matrix for grayscale scans." +msgstr "Custom color matrix for grayscale scans." + +#: backend/hp-option.h:138 +#, no-c-format +msgid "Mirror horizontal" +msgstr "Mirror horizontal" + +#: backend/hp-option.h:139 +#, no-c-format +msgid "Mirror image horizontally." +msgstr "Mirror image horizontally." + +#: backend/hp-option.h:144 +#, no-c-format +msgid "Mirror vertical" +msgstr "Mirror vertical" + +#: backend/hp-option.h:145 +#, no-c-format +msgid "Mirror image vertically." +msgstr "Mirror image vertically." + +#: backend/hp-option.h:150 +#, no-c-format +msgid "Update options" +msgstr "Update options" + +#: backend/hp-option.h:151 +#, no-c-format +msgid "Update options." +msgstr "Update options." + +#: backend/hp-option.h:156 +#, no-c-format +msgid "8 bit output" +msgstr "8 bit output" + +#: backend/hp-option.h:158 +#, no-c-format +msgid "Use bit depth greater eight internally, but output only eight bits." +msgstr "" +"Use bit depth greater eight internally, but output only eight bits." + +#: backend/hp-option.h:164 +#, no-c-format +msgid "Front button wait" +msgstr "Front button wait" + +#: backend/hp-option.h:165 +#, no-c-format +msgid "Wait to scan for front-panel button push." +msgstr "Wait to scan for front-panel button push." + +#: backend/hp-option.h:172 +#, no-c-format +msgid "Shut off lamp" +msgstr "Shut off lamp" + +#: backend/hp-option.h:173 +#, no-c-format +msgid "Shut off scanner lamp." +msgstr "Shut off scanner lamp." + +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#, no-c-format +msgid "Paper size" +msgstr "Paper size" + +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 +#, no-c-format +msgid "Automatic separation" +msgstr "Automatic separation" + +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 +#, no-c-format +msgid "Landscape" +msgstr "Landscape" + +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 +#, no-c-format +msgid "Inverse Image" +msgstr "Inverse Image" + +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 +#, no-c-format +msgid "Long paper mode" +msgstr "Long paper mode" + +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 +#, no-c-format +msgid "Length control mode" +msgstr "Length control mode" + +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 +#, no-c-format +msgid "Manual feed mode" +msgstr "Manual feed mode" + +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 +#, no-c-format +msgid "Manual feed timeout" +msgstr "Manual feed timeout" + +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 +#, no-c-format +msgid "Double feed detection" +msgstr "Double feed detection" + +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#, no-c-format +msgid "Enable Duplex (Dual-Sided) Scanning" +msgstr "Enable Duplex (Dual-Sided) Scanning" + +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#, no-c-format +msgid "Physical size of the paper in the ADF" +msgstr "Physical size of the paper in the ADF" + +#: backend/kvs1025_opt.c:39 +#, no-c-format +msgid "bw" +msgstr "bw" + +#: backend/kvs1025_opt.c:40 +#, no-c-format +msgid "halftone" +msgstr "halftone" + +#: backend/kvs1025_opt.c:41 +#, no-c-format +msgid "gray" +msgstr "gray" + +#: backend/kvs1025_opt.c:42 +#, no-c-format +msgid "color" +msgstr "color" + +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 +#, no-c-format +msgid "adf" +msgstr "adf" + +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 +#, no-c-format +msgid "fb" +msgstr "fb" + +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 +#, no-c-format +msgid "single" +msgstr "single" + +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 +#, no-c-format +msgid "continuous" +msgstr "continuous" + +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 +#, no-c-format +msgid "off" +msgstr "off" + +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 +#, no-c-format +msgid "wait_doc" +msgstr "wait_doc" + +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 +#, no-c-format +msgid "wait_key" +msgstr "wait_key" + +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 +#, no-c-format +msgid "user_def" +msgstr "user_def" + +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 +#, no-c-format +msgid "business_card" +msgstr "business_card" + +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 +#, no-c-format +msgid "Check" +msgstr "Check" + +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 +#, no-c-format +msgid "A5" +msgstr "A5" + +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 +#, no-c-format +msgid "A6" +msgstr "A6" + +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 +#, no-c-format +msgid "B5" +msgstr "B5" + +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 +#, no-c-format +msgid "B6" +msgstr "B6" + +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 +#, no-c-format +msgid "Legal" +msgstr "Legal" + +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#, no-c-format +msgid "bayer_64" +msgstr "bayer_64" + +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#, no-c-format +msgid "bayer_16" +msgstr "bayer_16" + +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#, no-c-format +msgid "halftone_32" +msgstr "halftone_32" + +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#, no-c-format +msgid "halftone_64" +msgstr "halftone_64" + +#: backend/kvs1025_opt.c:153 +#, no-c-format +msgid "diffusion" +msgstr "diffusion" + +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 +#, no-c-format +msgid "normal" +msgstr "normal" + +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#, no-c-format +msgid "light" +msgstr "light" + +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#, no-c-format +msgid "dark" +msgstr "dark" + +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#, no-c-format +msgid "From scanner" +msgstr "From scanner" + +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 +#, no-c-format +msgid "From paper" +msgstr "From paper" + +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#, no-c-format +msgid "default" +msgstr "default" + +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 +#, no-c-format +msgid "smooth" +msgstr "smooth" + +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 +#, no-c-format +msgid "none" +msgstr "none" + +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 +#, no-c-format +msgid "low" +msgstr "low" + +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 +#, no-c-format +msgid "medium" +msgstr "medium" + +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 +#, no-c-format +msgid "high" +msgstr "high" + +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 +#, no-c-format +msgid "crt" +msgstr "crt" + +#: backend/kvs1025_opt.c:230 +#, no-c-format +msgid "linier" +msgstr "linier" + +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 +#, no-c-format +msgid "red" +msgstr "red" + +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 +#, no-c-format +msgid "green" +msgstr "green" + +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 +#, no-c-format +msgid "blue" +msgstr "blue" + +#: backend/kvs1025_opt.c:562 +#, no-c-format +msgid "Sets the scan source" +msgstr "Sets the scan source" + +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 +#, no-c-format +msgid "Feeder mode" +msgstr "Feeder mode" + +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 +#, no-c-format +msgid "Sets the feeding mode" +msgstr "Sets the feeding mode" + +#: backend/kvs1025_opt.c:584 +#, no-c-format +msgid "Enable/Disable long paper mode" +msgstr "Enable/Disable long paper mode" + +#: backend/kvs1025_opt.c:593 +#, no-c-format +msgid "Enable/Disable length control mode" +msgstr "Enable/Disable length control mode" + +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 +#, no-c-format +msgid "Sets the manual feed mode" +msgstr "Sets the manual feed mode" + +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 +#, no-c-format +msgid "Sets the manual feed timeout in seconds" +msgstr "Sets the manual feed timeout in seconds" + +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 +#, no-c-format +msgid "Enable/Disable double feed detection" +msgstr "Enable/Disable double feed detection" + +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 +#, no-c-format +msgid "fit-to-page" +msgstr "fit-to-page" + +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 +#, no-c-format +msgid "Fit to page" +msgstr "Fit to page" + +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 +#, no-c-format +msgid "Scanner shrinks image to fit scanned page" +msgstr "Scanner shrinks image to fit scanned page" + +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 +#, no-c-format +msgid "Set paper position : true for landscape, false for portrait" +msgstr "Set paper position : true for landscape, false for portrait" + +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#, no-c-format +msgid "Automatic threshold" +msgstr "Automatic threshold" + +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#, no-c-format +msgid "" +"Automatically sets brightness, contrast, white level, gamma, noise " +"reduction and image emphasis" +msgstr "" +"Automatically sets brightness, contrast, white level, gamma, noise " +"reduction and image emphasis" + +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 +#, no-c-format +msgid "Noise reduction" +msgstr "Noise reduction" + +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 +#, no-c-format +msgid "Reduce the isolated dot noise" +msgstr "Reduce the isolated dot noise" + +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 +#, no-c-format +msgid "Image emphasis" +msgstr "Image emphasis" + +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 +#, no-c-format +msgid "Sets the image emphasis" +msgstr "Sets the image emphasis" + +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 +#, no-c-format +msgid "Gamma" +msgstr "Gamma" + +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 +#, no-c-format +msgid "Lamp color" +msgstr "Lamp color" + +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 +#, no-c-format +msgid "Sets the lamp color (color dropout)" +msgstr "Sets the lamp color (color dropout)" + +#: backend/kvs1025_opt.c:832 +#, no-c-format +msgid "Inverse image in B/W or halftone mode" +msgstr "Inverse image in B/W or halftone mode" + +#: backend/kvs1025_opt.c:840 +#, no-c-format +msgid "Mirror image (left/right flip)" +msgstr "Mirror image (left/right flip)" + +#: backend/kvs1025_opt.c:847 +#, no-c-format +msgid "jpeg compression" +msgstr "jpeg compression" + +#: backend/kvs1025_opt.c:850 +#, no-c-format +msgid "JPEG Image Compression with Q parameter, '0' - no compression" +msgstr "JPEG Image Compression with Q parameter, ‘0’ - no compression" + +#: backend/kvs1025_opt.c:860 +#, no-c-format +msgid "Rotate image clockwise" +msgstr "Rotate image clockwise" + +#: backend/kvs1025_opt.c:862 +#, no-c-format +msgid "Request driver to rotate pages by a fixed amount" +msgstr "Request driver to rotate pages by a fixed amount" + +#: backend/kvs1025_opt.c:874 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally" +msgstr "Request driver to rotate skewed pages digitally" + +#: backend/kvs1025_opt.c:883 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan" +msgstr "Maximum diameter of lone dots to remove from scan" + +#: backend/kvs1025_opt.c:902 +#, no-c-format +msgid "Software automatic cropping" +msgstr "Software automatic cropping" + +#: backend/kvs1025_opt.c:904 +#, no-c-format +msgid "Request driver to remove border from pages digitally" +msgstr "Request driver to remove border from pages digitally" + +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode is a mode that the scanner reads up to the shorter " +"length of actual paper or logical document length." +msgstr "" +"Length Control Mode is a mode that the scanner reads up to the shorter " +"length of actual paper or logical document length." + +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 +#, no-c-format +msgid "Gamma correction" +msgstr "Gamma correction" + +#: backend/kvs40xx_opt.c:117 +#, no-c-format +msgid "wait_doc_hopper_up" +msgstr "wait_doc_hopper_up" + +#: backend/kvs40xx_opt.c:127 +#, no-c-format +msgid "A3" +msgstr "A3" + +#: backend/kvs40xx_opt.c:132 +#, no-c-format +msgid "Double letter 11x17 in" +msgstr "Double letter 11x17 in" + +#: backend/kvs40xx_opt.c:133 +#, no-c-format +msgid "B4" +msgstr "B4" + +#: backend/kvs40xx_opt.c:231 +#, no-c-format +msgid "High sensivity" +msgstr "High sensivity" + +#: backend/kvs40xx_opt.c:232 +#, no-c-format +msgid "Low sensivity" +msgstr "Low sensivity" + +#: backend/kvs40xx_opt.c:243 +#, no-c-format +msgid "err_diffusion" +msgstr "err_diffusion" + +#: backend/kvs40xx_opt.c:249 +#, no-c-format +msgid "No detection" +msgstr "No detection" + +#: backend/kvs40xx_opt.c:250 +#, no-c-format +msgid "Normal mode" +msgstr "Normal mode" + +#: backend/kvs40xx_opt.c:251 +#, no-c-format +msgid "Enhanced mode" +msgstr "Enhanced mode" + +#: backend/kvs40xx_opt.c:405 +#, no-c-format +msgid "" +"Long Paper Mode is a mode that the scanner reads the image after it " +"divides long paper by the length which is set in Document Size option." +msgstr "" +"Long Paper Mode is a mode that the scanner reads the image after it " +"divides long paper by the length which is set in Document Size option." + +#: backend/kvs40xx_opt.c:449 +#, no-c-format +msgid "Double feed detector sensitivity" +msgstr "Double feed detector sensitivity" + +#: backend/kvs40xx_opt.c:450 +#, no-c-format +msgid "Set the double feed detector sensitivity" +msgstr "Set the double feed detector sensitivity" + +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 +#, no-c-format +msgid "Do not stop after double feed detection" +msgstr "Do not stop after double feed detection" + +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 +#, no-c-format +msgid "Ignore left double feed sensor" +msgstr "Ignore left double feed sensor" + +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 +#, no-c-format +msgid "Ignore center double feed sensor" +msgstr "Ignore center double feed sensor" + +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 +#, no-c-format +msgid "Ignore right double feed sensor" +msgstr "Ignore right double feed sensor" + +#: backend/kvs40xx_opt.c:642 +#, no-c-format +msgid "Automatic threshold mode" +msgstr "Automatic threshold mode" + +#: backend/kvs40xx_opt.c:643 +#, no-c-format +msgid "Sets the automatic threshold mode" +msgstr "Sets the automatic threshold mode" + +#: backend/kvs40xx_opt.c:694 +#, no-c-format +msgid "Inverse image in B/W mode" +msgstr "Inverse image in B/W mode" + +#: backend/kvs40xx_opt.c:715 +#, no-c-format +msgid "JPEG compression" +msgstr "JPEG compression" + +#: backend/kvs40xx_opt.c:718 +#, no-c-format +msgid "JPEG compression (yours application must be able to uncompress)" +msgstr "JPEG compression (yours application must be able to uncompress)" + +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 +#, no-c-format +msgid "Detect stapled document" +msgstr "Detect stapled document" + +#: backend/kvs40xx_opt.c:776 +#, no-c-format +msgid "chroma of red" +msgstr "chroma of red" + +#: backend/kvs40xx_opt.c:777 +#, no-c-format +msgid "Set chroma of red" +msgstr "Set chroma of red" + +#: backend/kvs40xx_opt.c:787 +#, no-c-format +msgid "chroma of blue" +msgstr "chroma of blue" + +#: backend/kvs40xx_opt.c:788 +#, no-c-format +msgid "Set chroma of blue" +msgstr "Set chroma of blue" + +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 +#, no-c-format +msgid "Skew adjustment" +msgstr "Skew adjustment" + +#: backend/kvs40xx_opt.c:808 +#, no-c-format +msgid "Stop scanner when a paper have been skewed" +msgstr "Stop scanner when a paper have been skewed" + +#: backend/kvs40xx_opt.c:809 +#, no-c-format +msgid "Scanner will be stop when a paper have been skewed" +msgstr "Scanner will be stop when a paper have been skewed" + +#: backend/kvs40xx_opt.c:816 +#, no-c-format +msgid "Crop actual image area" +msgstr "Crop actual image area" + +#: backend/kvs40xx_opt.c:817 +#, no-c-format +msgid "Scanner automatically detect image area and crop it" +msgstr "Scanner automatically detect image area and crop it" + +#: backend/kvs40xx_opt.c:827 +#, no-c-format +msgid "It is right and left reversing" +msgstr "It is right and left reversing" + +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 +#, no-c-format +msgid "Addition of space in top position" +msgstr "Addition of space in top position" + +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 +#, no-c-format +msgid "Addition of space in bottom position" +msgstr "Addition of space in bottom position" + +#: backend/leo.c:110 +#, no-c-format +msgid "Diamond" +msgstr "Diamond" + +#: backend/leo.c:111 +#, no-c-format +msgid "8x8 Coarse Fatting" +msgstr "8x8 Coarse Fatting" + +#: backend/leo.c:112 +#, no-c-format +msgid "8x8 Fine Fatting" +msgstr "8x8 Fine Fatting" + +#: backend/leo.c:113 +#, no-c-format +msgid "8x8 Bayer" +msgstr "8x8 Bayer" + +#: backend/leo.c:114 +#, no-c-format +msgid "8x8 Vertical Line" +msgstr "8x8 Vertical Line" + +#: backend/lexmark.c:273 backend/umax_pp.c:715 +#, no-c-format +msgid "Gain" +msgstr "Gain" + +#: backend/lexmark.c:274 backend/umax_pp.c:716 +#, no-c-format +msgid "Color channels gain settings" +msgstr "Color channels gain settings" + +#: backend/lexmark.c:283 backend/umax_pp.c:723 +#, no-c-format +msgid "Gray gain" +msgstr "Gray gain" + +#: backend/lexmark.c:284 backend/umax_pp.c:724 +#, no-c-format +msgid "Sets gray channel gain" +msgstr "Sets gray channel gain" + +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#, no-c-format +msgid "Red gain" +msgstr "Red gain" + +#: backend/lexmark.c:298 backend/umax_pp.c:736 +#, no-c-format +msgid "Sets red channel gain" +msgstr "Sets red channel gain" + +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#, no-c-format +msgid "Green gain" +msgstr "Green gain" + +#: backend/lexmark.c:312 backend/umax_pp.c:748 +#, no-c-format +msgid "Sets green channel gain" +msgstr "Sets green channel gain" + +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#, no-c-format +msgid "Blue gain" +msgstr "Blue gain" + +#: backend/lexmark.c:326 backend/umax_pp.c:760 +#, no-c-format +msgid "Sets blue channel gain" +msgstr "Sets blue channel gain" + +#: backend/matsushita.c:139 +#, no-c-format +msgid "Bayer Dither 16" +msgstr "Bayer Dither 16" + +#: backend/matsushita.c:140 +#, no-c-format +msgid "Bayer Dither 64" +msgstr "Bayer Dither 64" + +#: backend/matsushita.c:141 +#, no-c-format +msgid "Halftone Dot 32" +msgstr "Halftone Dot 32" + +#: backend/matsushita.c:142 +#, no-c-format +msgid "Halftone Dot 64" +msgstr "Halftone Dot 64" + +#: backend/matsushita.c:143 +#, no-c-format +msgid "Error Diffusion" +msgstr "Error Diffusion" + +#: backend/matsushita.c:160 +#, no-c-format +msgid "Mode 1" +msgstr "Mode 1" + +#: backend/matsushita.c:161 +#, no-c-format +msgid "Mode 2" +msgstr "Mode 2" + +#: backend/matsushita.c:162 +#, no-c-format +msgid "Mode 3" +msgstr "Mode 3" + +#: backend/matsushita.c:176 +#, no-c-format +msgid "From white stick" +msgstr "From white stick" + +#: backend/matsushita.c:212 +#, no-c-format +msgid "Smooth" +msgstr "Smooth" + +#: backend/matsushita.c:214 backend/matsushita.c:229 +#, no-c-format +msgid "Low" +msgstr "Low" + +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 +#, no-c-format +msgid "Medium" +msgstr "Medium" + +#: backend/matsushita.c:216 backend/matsushita.c:231 +#, no-c-format +msgid "High" +msgstr "High" + +#: backend/matsushita.c:245 +#, no-c-format +msgid "CRT" +msgstr "CRT" + +#: backend/matsushita.c:257 +#, no-c-format +msgid "One page" +msgstr "One page" + +#: backend/matsushita.c:258 +#, no-c-format +msgid "All pages" +msgstr "All pages" + +#: backend/matsushita.c:1034 backend/plustek.c:1333 +#, no-c-format +msgid "sheetfed scanner" +msgstr "sheetfed scanner" + +#: backend/matsushita.h:209 +#, no-c-format +msgid "Grayscale 4 bits" +msgstr "Grayscale 4 bits" + +#: backend/matsushita.h:210 +#, no-c-format +msgid "Grayscale 8 bits" +msgstr "Grayscale 8 bits" + +#: backend/microtek2.h:601 +#, no-c-format +msgid "Shadow, midtone, highlight, exposure time" +msgstr "Shadow, midtone, highlight, exposure time" + +#: backend/microtek2.h:603 +#, no-c-format +msgid "Special options" +msgstr "Special options" + +#: backend/microtek2.h:604 +#, no-c-format +msgid "Color balance" +msgstr "Color balance" + +#: backend/microtek2.h:607 +#, no-c-format +msgid "Disable backtracking" +msgstr "Disable backtracking" + +#: backend/microtek2.h:608 +#, no-c-format +msgid "If checked the scanner does not perform backtracking" +msgstr "If checked the scanner does not perform backtracking" + +#: backend/microtek2.h:612 +#, no-c-format +msgid "Toggle lamp of flatbed" +msgstr "Toggle lamp of flatbed" + +#: backend/microtek2.h:613 +#, no-c-format +msgid "Toggles the lamp of the flatbed" +msgstr "Toggles the lamp of the flatbed" + +#: backend/microtek2.h:616 +#, no-c-format +msgid "Calibration by backend" +msgstr "Calibration by backend" + +#: backend/microtek2.h:617 +#, no-c-format +msgid "" +"If checked the color calibration before a scan is done by the backend" +msgstr "" +"If checked the color calibration before a scan is done by the backend" + +#: backend/microtek2.h:621 +#, no-c-format +msgid "Use the lightlid-35mm adapter" +msgstr "Use the lightlid-35mm adapter" + +#: backend/microtek2.h:622 +#, no-c-format +msgid "This option turns off the lamp of the flatbed during a scan" +msgstr "This option turns off the lamp of the flatbed during a scan" + +#: backend/microtek2.h:626 backend/snapscan-options.c:421 +#, no-c-format +msgid "Quality scan" +msgstr "Quality scan" + +#: backend/microtek2.h:627 backend/snapscan-options.c:422 +#, no-c-format +msgid "Highest quality but lower speed" +msgstr "Highest quality but lower speed" + +#: backend/microtek2.h:630 +#, no-c-format +msgid "Fast scan" +msgstr "Fast scan" + +#: backend/microtek2.h:631 +#, no-c-format +msgid "Highest speed but lower quality" +msgstr "Highest speed but lower quality" + +#: backend/microtek2.h:634 +#, no-c-format +msgid "Automatic adjustment of threshold" +msgstr "Automatic adjustment of threshold" + +#: backend/microtek2.h:635 +#, no-c-format +msgid "" +"If checked the backend automatically tries to determine an optimal value " +"for the threshold." +msgstr "" +"If checked the backend automatically tries to determine an optimal value " +"for the threshold." + +#: backend/microtek2.h:641 +#, no-c-format +msgid "Selects the gamma correction mode." +msgstr "Selects the gamma correction mode." + +#: backend/microtek2.h:644 +#, no-c-format +msgid "Bind gamma" +msgstr "Bind gamma" + +#: backend/microtek2.h:645 +#, no-c-format +msgid "Use same gamma values for all colour channels." +msgstr "Use same gamma values for all colour channels." + +#: backend/microtek2.h:649 +#, no-c-format +msgid "Scalar gamma" +msgstr "Scalar gamma" + +#: backend/microtek2.h:650 +#, no-c-format +msgid "Selects a value for scalar gamma correction." +msgstr "Selects a value for scalar gamma correction." + +#: backend/microtek2.h:654 +#, no-c-format +msgid "Scalar gamma red" +msgstr "Scalar gamma red" + +#: backend/microtek2.h:655 +#, no-c-format +msgid "Selects a value for scalar gamma correction (red channel)" +msgstr "Selects a value for scalar gamma correction (red channel)" + +#: backend/microtek2.h:659 +#, no-c-format +msgid "Scalar gamma green" +msgstr "Scalar gamma green" + +#: backend/microtek2.h:660 +#, no-c-format +msgid "Selects a value for scalar gamma correction (green channel)" +msgstr "Selects a value for scalar gamma correction (green channel)" + +#: backend/microtek2.h:664 +#, no-c-format +msgid "Scalar gamma blue" +msgstr "Scalar gamma blue" + +#: backend/microtek2.h:665 +#, no-c-format +msgid "Selects a value for scalar gamma correction (blue channel)" +msgstr "Selects a value for scalar gamma correction (blue channel)" + +#: backend/microtek2.h:669 +#, no-c-format +msgid "Channel" +msgstr "Channel" + +#: backend/microtek2.h:670 +#, no-c-format +msgid "" +"Selects the colour band, \"Master\" means that all colours are affected." +msgstr "" +"Selects the colour band, “Master” means that all colours are affected." + +#: backend/microtek2.h:674 +#, no-c-format +msgid "Midtone" +msgstr "Midtone" + +#: backend/microtek2.h:675 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % gray\"." +msgstr "Selects which radiance level should be considered “50 % gray”." + +#: backend/microtek2.h:679 +#, no-c-format +msgid "Midtone for red" +msgstr "Midtone for red" + +#: backend/microtek2.h:680 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % red\"." +msgstr "Selects which radiance level should be considered “50 % red”." + +#: backend/microtek2.h:684 +#, no-c-format +msgid "Midtone for green" +msgstr "Midtone for green" + +#: backend/microtek2.h:685 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % green\"." +msgstr "Selects which radiance level should be considered “50 % green”." + +#: backend/microtek2.h:689 +#, no-c-format +msgid "Midtone for blue" +msgstr "Midtone for blue" + +#: backend/microtek2.h:690 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % blue\"." +msgstr "Selects which radiance level should be considered “50 % blue”." + +#: backend/microtek2.h:694 +#, no-c-format +msgid "Red balance" +msgstr "Red balance" + +#: backend/microtek2.h:695 +#, no-c-format +msgid "Balance factor for red. A value of 100% means no correction." +msgstr "Balance factor for red. A value of 100% means no correction." + +#: backend/microtek2.h:699 +#, no-c-format +msgid "Green balance" +msgstr "Green balance" + +#: backend/microtek2.h:700 +#, no-c-format +msgid "Balance factor for green. A value of 100% means no correction." +msgstr "Balance factor for green. A value of 100% means no correction." + +#: backend/microtek2.h:704 +#, no-c-format +msgid "Blue balance" +msgstr "Blue balance" + +#: backend/microtek2.h:705 +#, no-c-format +msgid "Balance factor for blue. A value of 100% means no correction." +msgstr "Balance factor for blue. A value of 100% means no correction." + +#: backend/microtek2.h:709 +#, no-c-format +msgid "Firmware balance" +msgstr "Firmware balance" + +#: backend/microtek2.h:710 +#, no-c-format +msgid "Sets the color balance values to the firmware provided values." +msgstr "Sets the color balance values to the firmware provided values." + +#: backend/mustek.c:149 +#, no-c-format +msgid "Slowest" +msgstr "Slowest" + +#: backend/mustek.c:149 +#, no-c-format +msgid "Slower" +msgstr "Slower" + +#: backend/mustek.c:150 +#, no-c-format +msgid "Faster" +msgstr "Faster" + +#: backend/mustek.c:150 +#, no-c-format +msgid "Fastest" +msgstr "Fastest" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 coarse" +msgstr "8x8 coarse" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 normal" +msgstr "8x8 normal" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 fine" +msgstr "8x8 fine" + +#: backend/mustek.c:178 +#, no-c-format +msgid "8x8 very fine" +msgstr "8x8 very fine" + +#: backend/mustek.c:178 +#, no-c-format +msgid "6x6 normal" +msgstr "6x6 normal" + +#: backend/mustek.c:179 +#, no-c-format +msgid "5x5 coarse" +msgstr "5x5 coarse" + +#: backend/mustek.c:179 +#, no-c-format +msgid "5x5 fine" +msgstr "5x5 fine" + +#: backend/mustek.c:179 +#, no-c-format +msgid "4x4 coarse" +msgstr "4x4 coarse" + +#: backend/mustek.c:180 +#, no-c-format +msgid "4x4 normal" +msgstr "4x4 normal" + +#: backend/mustek.c:180 +#, no-c-format +msgid "4x4 fine" +msgstr "4x4 fine" + +#: backend/mustek.c:180 +#, no-c-format +msgid "3x3 normal" +msgstr "3x3 normal" + +#: backend/mustek.c:181 +#, no-c-format +msgid "2x2 normal" +msgstr "2x2 normal" + +#: backend/mustek.c:181 +#, no-c-format +msgid "8x8 custom" +msgstr "8x8 custom" + +#: backend/mustek.c:182 +#, no-c-format +msgid "6x6 custom" +msgstr "6x6 custom" + +#: backend/mustek.c:183 +#, no-c-format +msgid "5x5 custom" +msgstr "5x5 custom" + +#: backend/mustek.c:183 +#, no-c-format +msgid "4x4 custom" +msgstr "4x4 custom" + +#: backend/mustek.c:184 +#, no-c-format +msgid "3x3 custom" +msgstr "3x3 custom" + +#: backend/mustek.c:185 +#, no-c-format +msgid "2x2 custom" +msgstr "2x2 custom" + +#: backend/mustek.c:4235 +#, no-c-format +msgid "Fast gray mode" +msgstr "Fast gray mode" + +#: backend/mustek.c:4236 +#, no-c-format +msgid "Scan in fast gray mode (lower quality)." +msgstr "Scan in fast gray mode (lower quality)." + +#: backend/mustek.c:4333 +#, no-c-format +msgid "" +"Request that all previews are done in the fastest (low-quality) mode. " +"This may be a non-color mode or a low resolution mode." +msgstr "" +"Request that all previews are done in the fastest (low-quality) mode. " +"This may be a non-color mode or a low resolution mode." + +#: backend/mustek.c:4341 +#, no-c-format +msgid "Lamp off time (minutes)" +msgstr "Lamp off time (minutes)" + +#: backend/mustek.c:4342 +#, no-c-format +msgid "Set the time (in minutes) after which the lamp is shut off." +msgstr "Set the time (in minutes) after which the lamp is shut off." + +#: backend/mustek.c:4353 +#, no-c-format +msgid "Turn lamp off" +msgstr "Turn lamp off" + +#: backend/mustek.c:4354 +#, no-c-format +msgid "Turns the lamp off immediately." +msgstr "Turns the lamp off immediately." + +#: backend/mustek.c:4431 +#, no-c-format +msgid "Red brightness" +msgstr "Red brightness" + +#: backend/mustek.c:4432 +#, no-c-format +msgid "Controls the brightness of the red channel of the acquired image." +msgstr "Controls the brightness of the red channel of the acquired image." + +#: backend/mustek.c:4444 +#, no-c-format +msgid "Green brightness" +msgstr "Green brightness" + +#: backend/mustek.c:4445 +#, no-c-format +msgid "Controls the brightness of the green channel of the acquired image." +msgstr "" +"Controls the brightness of the green channel of the acquired image." + +#: backend/mustek.c:4457 +#, no-c-format +msgid "Blue brightness" +msgstr "Blue brightness" + +#: backend/mustek.c:4458 +#, no-c-format +msgid "Controls the brightness of the blue channel of the acquired image." +msgstr "Controls the brightness of the blue channel of the acquired image." + +#: backend/mustek.c:4483 +#, no-c-format +msgid "Contrast red channel" +msgstr "Contrast red channel" + +#: backend/mustek.c:4484 +#, no-c-format +msgid "Controls the contrast of the red channel of the acquired image." +msgstr "Controls the contrast of the red channel of the acquired image." + +#: backend/mustek.c:4496 +#, no-c-format +msgid "Contrast green channel" +msgstr "Contrast green channel" + +#: backend/mustek.c:4497 +#, no-c-format +msgid "Controls the contrast of the green channel of the acquired image." +msgstr "Controls the contrast of the green channel of the acquired image." + +#: backend/mustek.c:4509 +#, no-c-format +msgid "Contrast blue channel" +msgstr "Contrast blue channel" + +#: backend/mustek.c:4510 +#, no-c-format +msgid "Controls the contrast of the blue channel of the acquired image." +msgstr "Controls the contrast of the blue channel of the acquired image." + +#: backend/mustek_usb2.c:105 +#, no-c-format +msgid "Color48" +msgstr "Color48" + +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 +#, no-c-format +msgid "Color24" +msgstr "Color24" + +#: backend/mustek_usb2.c:107 +#, no-c-format +msgid "Gray16" +msgstr "Gray16" + +#: backend/mustek_usb2.c:108 +#, no-c-format +msgid "Gray8" +msgstr "Gray8" + +#: backend/mustek_usb2.c:119 +#, no-c-format +msgid "Reflective" +msgstr "Reflective" + +#: backend/mustek_usb2.c:120 +#, no-c-format +msgid "Positive" +msgstr "Positive" + +#: backend/mustek_usb2.c:421 +#, no-c-format +msgid "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"40 seconds warm-up time." +msgstr "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"40 seconds warm-up time." + +#: backend/pixma.c:378 +#, no-c-format +msgid "Negative color" +msgstr "Negative color" + +#: backend/pixma.c:383 +#, no-c-format +msgid "Negative gray" +msgstr "Negative gray" + +#: backend/pixma.c:396 +#, no-c-format +msgid "48 bits color" +msgstr "48 bits color" + +#: backend/pixma.c:401 +#, no-c-format +msgid "16 bits gray" +msgstr "16 bits gray" + +#: backend/pixma_sane_options.c:84 +#, no-c-format +msgid "" +"Selects the scan source (such as a document-feeder). Set source before " +"mode and resolution. Resets mode and resolution to auto values." +msgstr "" +"Selects the scan source (such as a document-feeder). Set source before " +"mode and resolution. Resets mode and resolution to auto values." + +#: backend/pixma_sane_options.c:98 +#, no-c-format +msgid "Button-controlled scan" +msgstr "Button-controlled scan" + +#: backend/pixma_sane_options.c:99 +#, no-c-format +msgid "" +"When enabled, scan process will not start immediately. To proceed, press " +"\"SCAN\" button (for MP150) or \"COLOR\" button (for other models). To " +"cancel, press \"GRAY\" button." +msgstr "" +"When enabled, scan process will not start immediately. To proceed, press " +"“SCAN” button (for MP150) or “COLOR” button (for other models). To " +"cancel, press “GRAY” button." + +#: backend/pixma_sane_options.c:232 +#, no-c-format +msgid "Update button state" +msgstr "Update button state" + +#: backend/pixma_sane_options.c:244 +#, no-c-format +msgid "Button 1" +msgstr "Button 1" + +#: backend/pixma_sane_options.c:258 +#, no-c-format +msgid "Button 2" +msgstr "Button 2" + +#: backend/pixma_sane_options.c:272 +#, no-c-format +msgid "Type of original to scan" +msgstr "Type of original to scan" + +#: backend/pixma_sane_options.c:286 +#, no-c-format +msgid "Target operation type" +msgstr "Target operation type" + +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "ADF Waiting Time" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 +#, no-c-format +msgid "Transparency" +msgstr "Transparency" + +#: backend/plustek.c:913 +#, no-c-format +msgid "Device-Settings" +msgstr "Device-Settings" + +#: backend/plustek.c:920 +#, no-c-format +msgid "Lampswitch" +msgstr "Lampswitch" + +#: backend/plustek.c:921 +#, no-c-format +msgid "Manually switching the lamp(s)." +msgstr "Manually switching the lamp(s)." + +#: backend/plustek.c:926 +#, no-c-format +msgid "Lamp off during dark calibration" +msgstr "Lamp off during dark calibration" + +#: backend/plustek.c:927 +#, no-c-format +msgid "Always switches lamp off when doing dark calibration." +msgstr "Always switches lamp off when doing dark calibration." + +#: backend/plustek.c:935 +#, no-c-format +msgid "Calibration data cache" +msgstr "Calibration data cache" + +#: backend/plustek.c:936 +#, no-c-format +msgid "Enables or disables calibration data cache." +msgstr "Enables or disables calibration data cache." + +#: backend/plustek.c:942 +#, no-c-format +msgid "Performs calibration" +msgstr "Performs calibration" + +#: backend/plustek.c:959 +#, no-c-format +msgid "Speedup sensor" +msgstr "Speedup sensor" + +#: backend/plustek.c:960 +#, no-c-format +msgid "Enables or disables speeding up sensor movement." +msgstr "Enables or disables speeding up sensor movement." + +#: backend/plustek.c:974 +#, no-c-format +msgid "Warmup-time" +msgstr "Warmup-time" + +#: backend/plustek.c:975 +#, no-c-format +msgid "Warmup-time in seconds." +msgstr "Warmup-time in seconds." + +#: backend/plustek.c:987 +#, no-c-format +msgid "Lampoff-time" +msgstr "Lampoff-time" + +#: backend/plustek.c:988 +#, no-c-format +msgid "Lampoff-time in seconds." +msgstr "Lampoff-time in seconds." + +#: backend/plustek.c:995 +#, no-c-format +msgid "Analog frontend" +msgstr "Analog frontend" + +#: backend/plustek.c:1002 +#, no-c-format +msgid "Red gain value of the AFE" +msgstr "Red gain value of the AFE" + +#: backend/plustek.c:1009 backend/umax_pp.c:792 +#, no-c-format +msgid "Red offset" +msgstr "Red offset" + +#: backend/plustek.c:1010 +#, no-c-format +msgid "Red offset value of the AFE" +msgstr "Red offset value of the AFE" + +#: backend/plustek.c:1018 +#, no-c-format +msgid "Green gain value of the AFE" +msgstr "Green gain value of the AFE" + +#: backend/plustek.c:1026 +#, no-c-format +msgid "Green offset value of the AFE" +msgstr "Green offset value of the AFE" + +#: backend/plustek.c:1034 +#, no-c-format +msgid "Blue gain value of the AFE" +msgstr "Blue gain value of the AFE" + +#: backend/plustek.c:1042 +#, no-c-format +msgid "Blue offset value of the AFE" +msgstr "Blue offset value of the AFE" + +#: backend/plustek.c:1049 +#, no-c-format +msgid "Red lamp off" +msgstr "Red lamp off" + +#: backend/plustek.c:1050 +#, no-c-format +msgid "Defines red lamp off parameter" +msgstr "Defines red lamp off parameter" + +#: backend/plustek.c:1057 +#, no-c-format +msgid "Green lamp off" +msgstr "Green lamp off" + +#: backend/plustek.c:1058 +#, no-c-format +msgid "Defines green lamp off parameter" +msgstr "Defines green lamp off parameter" + +#: backend/plustek.c:1065 +#, no-c-format +msgid "Blue lamp off" +msgstr "Blue lamp off" + +#: backend/plustek.c:1066 +#, no-c-format +msgid "Defines blue lamp off parameter" +msgstr "Defines blue lamp off parameter" + +#: backend/plustek.c:1096 +#, no-c-format +msgid "This option reflects the status of the scanner buttons." +msgstr "This option reflects the status of the scanner buttons." + +#: backend/plustek_pp.c:197 +#, no-c-format +msgid "Color36" +msgstr "Color36" + +#: backend/plustek_pp.c:211 +#, no-c-format +msgid "Dithermap 1" +msgstr "Dithermap 1" + +#: backend/plustek_pp.c:212 +#, no-c-format +msgid "Dithermap 2" +msgstr "Dithermap 2" + +#: backend/plustek_pp.c:213 +#, no-c-format +msgid "Randomize" +msgstr "Randomize" + +#: backend/pnm.c:168 +#, no-c-format +msgid "Source Selection" +msgstr "Source Selection" + +#: backend/pnm.c:205 +#, no-c-format +msgid "Image Enhancement" +msgstr "Image Enhancement" + +#: backend/pnm.c:241 +#, no-c-format +msgid "Grayify" +msgstr "Grayify" + +#: backend/pnm.c:242 +#, no-c-format +msgid "Load the image as grayscale." +msgstr "Load the image as grayscale." + +#: backend/pnm.c:253 +#, no-c-format +msgid "Three-Pass Simulation" +msgstr "Three-Pass Simulation" + +#: backend/pnm.c:255 +#, no-c-format +msgid "" +"Simulate a three-pass scanner by returning 3 separate frames. For " +"kicks, it returns green, then blue, then red." +msgstr "" +"Simulate a three-pass scanner by returning 3 separate frames. For " +"kicks, it returns green, then blue, then red." + +#: backend/pnm.c:267 +#, no-c-format +msgid "Hand-Scanner Simulation" +msgstr "Hand-Scanner Simulation" + +#: backend/pnm.c:268 +#, no-c-format +msgid "" +"Simulate a hand-scanner. Hand-scanners often do not know the image " +"height a priori. Instead, they return a height of -1. Setting this " +"option allows one to test whether a frontend can handle this correctly." +msgstr "" +"Simulate a hand-scanner. Hand-scanners often do not know the image " +"height a priori. Instead, they return a height of -1. Setting this " +"option allows one to test whether a frontend can handle this correctly." + +#: backend/pnm.c:283 +#, no-c-format +msgid "" +"Set default values for enhancement controls (brightness & contrast)." +msgstr "" +"Set default values for enhancement controls (brightness & contrast)." + +#: backend/pnm.c:295 +#, no-c-format +msgid "Read only test-option" +msgstr "Read only test-option" + +#: backend/pnm.c:296 +#, no-c-format +msgid "Let's see whether frontends can treat this right" +msgstr "Let's see whether frontends can treat this right" + +#: backend/pnm.c:307 +#, no-c-format +msgid "Gamma Tables" +msgstr "Gamma Tables" + +#: backend/pnm.c:379 +#, no-c-format +msgid "Status Code Simulation" +msgstr "Status Code Simulation" + +#: backend/pnm.c:391 +#, no-c-format +msgid "Do not force status code" +msgstr "Do not force status code" + +#: backend/pnm.c:392 +#, no-c-format +msgid "Do not force the backend to return a status code." +msgstr "Do not force the backend to return a status code." + +#: backend/pnm.c:403 +#, no-c-format +msgid "Return SANE_STATUS_EOF" +msgstr "Return SANE_STATUS_EOF" + +#: backend/pnm.c:404 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_EOF after " +"sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_EOF after " +"sane_read() has been called." + +#: backend/pnm.c:416 +#, no-c-format +msgid "Return SANE_STATUS_JAMMED" +msgstr "Return SANE_STATUS_JAMMED" + +#: backend/pnm.c:418 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_JAMMED after " +"sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_JAMMED after " +"sane_read() has been called." + +#: backend/pnm.c:430 +#, no-c-format +msgid "Return SANE_STATUS_NO_DOCS" +msgstr "Return SANE_STATUS_NO_DOCS" + +#: backend/pnm.c:431 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_NO_DOCS after " +"sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_NO_DOCS after " +"sane_read() has been called." + +#: backend/pnm.c:443 +#, no-c-format +msgid "Return SANE_STATUS_COVER_OPEN" +msgstr "Return SANE_STATUS_COVER_OPEN" + +#: backend/pnm.c:444 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_COVER_OPEN after " +"sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_COVER_OPEN after " +"sane_read() has been called." + +#: backend/pnm.c:456 +#, no-c-format +msgid "Return SANE_STATUS_IO_ERROR" +msgstr "Return SANE_STATUS_IO_ERROR" + +#: backend/pnm.c:457 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_IO_ERROR after " +"sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_IO_ERROR after " +"sane_read() has been called." + +#: backend/pnm.c:469 +#, no-c-format +msgid "Return SANE_STATUS_NO_MEM" +msgstr "Return SANE_STATUS_NO_MEM" + +#: backend/pnm.c:471 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_NO_MEM after " +"sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_NO_MEM after " +"sane_read() has been called." + +#: backend/pnm.c:483 +#, no-c-format +msgid "Return SANE_STATUS_ACCESS_DENIED" +msgstr "Return SANE_STATUS_ACCESS_DENIED" + +#: backend/pnm.c:484 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " +"after sane_read() has been called." +msgstr "" +"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " +"after sane_read() has been called." + +#: backend/rts8891.c:2809 +#, no-c-format +msgid "This option reflects the status of a scanner button." +msgstr "This option reflects the status of a scanner button." + +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#, no-c-format +msgid "Lamp on" +msgstr "Lamp on" + +#: backend/rts8891.c:2841 backend/umax.c:5796 +#, no-c-format +msgid "Turn on scanner lamp" +msgstr "Turn on scanner lamp" + +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#, no-c-format +msgid "Lamp off" +msgstr "Lamp off" + +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#, no-c-format +msgid "Turn off scanner lamp" +msgstr "Turn off scanner lamp" + +#: backend/sm3840.c:760 +#, no-c-format +msgid "Lamp timeout" +msgstr "Lamp timeout" + +#: backend/sm3840.c:762 +#, no-c-format +msgid "Minutes until lamp is turned off after scan" +msgstr "Minutes until lamp is turned off after scan" + +#: backend/sm3840.c:772 +#, no-c-format +msgid "Threshold value for lineart mode" +msgstr "Threshold value for lineart mode" + +#: backend/snapscan-options.c:88 +#, no-c-format +msgid "Document Feeder" +msgstr "Document Feeder" + +#: backend/snapscan-options.c:92 +#, no-c-format +msgid "6x4 (inch)" +msgstr "6x4 (inch)" + +#: backend/snapscan-options.c:93 +#, no-c-format +msgid "8x10 (inch)" +msgstr "8x10 (inch)" + +#: backend/snapscan-options.c:94 +#, no-c-format +msgid "8.5x11 (inch)" +msgstr "8.5x11 (inch)" + +#: backend/snapscan-options.c:97 +#, no-c-format +msgid "Halftoning Unsupported" +msgstr "Halftoning Unsupported" + +#: backend/snapscan-options.c:98 +#, no-c-format +msgid "DispersedDot8x8" +msgstr "DispersedDot8x8" + +#: backend/snapscan-options.c:99 +#, no-c-format +msgid "DispersedDot16x16" +msgstr "DispersedDot16x16" + +#: backend/snapscan-options.c:103 +#, no-c-format +msgid "" +"Number of scan lines to request in a SCSI read. Changing this parameter " +"allows you to tune the speed at which data is read from the scanner " +"during scans. If this is set too low, the scanner will have to stop " +"periodically in the middle of a scan; if it's set too high, X-based " +"frontends may stop responding to X events and your system could bog down." +msgstr "" +"Number of scan lines to request in a SCSI read. Changing this parameter " +"allows you to tune the speed at which data is read from the scanner " +"during scans. If this is set too low, the scanner will have to stop " +"periodically in the middle of a scan; if it's set too high, X-based " +"frontends may stop responding to X events and your system could bog down." + +#: backend/snapscan-options.c:111 +#, no-c-format +msgid "Frame number of media holder that should be scanned." +msgstr "Frame number of media holder that should be scanned." + +#: backend/snapscan-options.c:114 +#, no-c-format +msgid "Use manual or automatic selection of focus point." +msgstr "Use manual or automatic selection of focus point." + +#: backend/snapscan-options.c:117 +#, no-c-format +msgid "Focus point for scanning." +msgstr "Focus point for scanning." + +#: backend/snapscan-options.c:482 +#, no-c-format +msgid "Preview mode" +msgstr "Preview mode" + +#: backend/snapscan-options.c:484 +#, no-c-format +msgid "" +"Select the mode for previews. Greyscale previews usually give the best " +"combination of speed and detail." +msgstr "" +"Select the mode for previews. Greyscale previews usually give the best " +"combination of speed and detail." + +#: backend/snapscan-options.c:601 +#, no-c-format +msgid "Predefined settings" +msgstr "Predefined settings" + +#: backend/snapscan-options.c:603 +#, no-c-format +msgid "" +"Provides standard scanning areas for photographs, printed pages and the " +"like." +msgstr "" +"Provides standard scanning areas for photographs, printed pages and the " +"like." + +#: backend/snapscan-options.c:884 +#, no-c-format +msgid "Frame" +msgstr "Frame" + +#: backend/snapscan-options.c:885 +#, no-c-format +msgid "Frame to be scanned" +msgstr "Frame to be scanned" + +#: backend/snapscan-options.c:897 +#, no-c-format +msgid "Focus-mode" +msgstr "Focus-mode" + +#: backend/snapscan-options.c:898 +#, no-c-format +msgid "Auto or manual focus" +msgstr "Auto or manual focus" + +#: backend/snapscan-options.c:911 +#, no-c-format +msgid "Focus-point" +msgstr "Focus-point" + +#: backend/snapscan-options.c:912 +#, no-c-format +msgid "Focus point" +msgstr "Focus point" + +#: backend/snapscan-options.c:930 +#, no-c-format +msgid "Colour lines per read" +msgstr "Colour lines per read" + +#: backend/snapscan-options.c:942 +#, no-c-format +msgid "Greyscale lines per read" +msgstr "Greyscale lines per read" + +#: backend/stv680.c:974 +#, no-c-format +msgid "webcam" +msgstr "webcam" + +#: backend/stv680.h:115 +#, no-c-format +msgid "Color RAW" +msgstr "Color RAW" + +#: backend/stv680.h:116 +#, no-c-format +msgid "Color RGB" +msgstr "Color RGB" + +#: backend/stv680.h:117 +#, no-c-format +msgid "Color RGB TEXT" +msgstr "Color RGB TEXT" + +#: backend/test.c:137 +#, no-c-format +msgid "Solid black" +msgstr "Solid black" + +#: backend/test.c:137 +#, no-c-format +msgid "Solid white" +msgstr "Solid white" + +#: backend/test.c:138 +#, no-c-format +msgid "Color pattern" +msgstr "Color pattern" + +#: backend/test.c:138 +#, no-c-format +msgid "Grid" +msgstr "Grid" + +#: backend/test.c:163 backend/test.c:171 +#, no-c-format +msgid "First entry" +msgstr "First entry" + +#: backend/test.c:163 backend/test.c:171 +#, no-c-format +msgid "Second entry" +msgstr "Second entry" + +#: backend/test.c:165 +#, no-c-format +msgid "" +"This is the very long third entry. Maybe the frontend has an idea how to " +"display it" +msgstr "" +"This is the very long third entry. Maybe the frontend has an idea how to " +"display it" + +#: backend/test.c:348 +#, no-c-format +msgid "Hand-scanner simulation" +msgstr "Hand-scanner simulation" + +#: backend/test.c:349 +#, no-c-format +msgid "" +"Simulate a hand-scanner. Hand-scanners do not know the image height a " +"priori. Instead, they return a height of -1. Setting this option " +"allows one to test whether a frontend can handle this correctly. This " +"option also enables a fixed width of 11 cm." +msgstr "" +"Simulate a hand-scanner. Hand-scanners do not know the image height a " +"priori. Instead, they return a height of -1. Setting this option " +"allows one to test whether a frontend can handle this correctly. This " +"option also enables a fixed width of 11 cm." + +#: backend/test.c:366 +#, no-c-format +msgid "Three-pass simulation" +msgstr "Three-pass simulation" + +#: backend/test.c:367 +#, no-c-format +msgid "" +"Simulate a three-pass scanner. In color mode, three frames are " +"transmitted." +msgstr "" +"Simulate a three-pass scanner. In color mode, three frames are " +"transmitted." + +#: backend/test.c:382 +#, no-c-format +msgid "Set the order of frames" +msgstr "Set the order of frames" + +#: backend/test.c:383 +#, no-c-format +msgid "Set the order of frames in three-pass color mode." +msgstr "Set the order of frames in three-pass color mode." + +#: backend/test.c:416 +#, no-c-format +msgid "" +"If Automatic Document Feeder is selected, the feeder will be 'empty' " +"after 10 scans." +msgstr "" +"If Automatic Document Feeder is selected, the feeder will be ‘empty’ " +"after 10 scans." + +#: backend/test.c:431 +#, no-c-format +msgid "Special Options" +msgstr "Special Options" + +#: backend/test.c:444 +#, no-c-format +msgid "Select the test picture" +msgstr "Select the test picture" + +#: backend/test.c:446 +#, no-c-format +msgid "" +"Select the kind of test picture. Available options:\n" +"Solid black: fills the whole scan with black.\n" +"Solid white: fills the whole scan with white.\n" +"Color pattern: draws various color test patterns depending on the mode.\n" +"Grid: draws a black/white grid with a width and height of 10 mm per " +"square." +msgstr "" +"Select the kind of test picture. Available options:\n" +"Solid black: fills the whole scan with black.\n" +"Solid white: fills the whole scan with white.\n" +"Color pattern: draws various color test patterns depending on the mode.\n" +"Grid: draws a black/white grid with a width and height of 10 mm per " +"square." + +#: backend/test.c:467 +#, no-c-format +msgid "Invert endianness" +msgstr "Invert endianness" + +#: backend/test.c:468 +#, no-c-format +msgid "" +"Exchange upper and lower byte of image data in 16 bit modes. This option " +"can be used to test the 16 bit modes of frontends, e.g. if the frontend " +"uses the correct endianness." +msgstr "" +"Exchange upper and lower byte of image data in 16 bit modes. This option " +"can be used to test the 16 bit modes of frontends, e.g. if the frontend " +"uses the correct endianness." + +#: backend/test.c:484 +#, no-c-format +msgid "Read limit" +msgstr "Read limit" + +#: backend/test.c:485 +#, no-c-format +msgid "Limit the amount of data transferred with each call to sane_read()." +msgstr "" +"Limit the amount of data transferred with each call to sane_read()." + +#: backend/test.c:498 +#, no-c-format +msgid "Size of read-limit" +msgstr "Size of read-limit" + +#: backend/test.c:499 +#, no-c-format +msgid "" +"The (maximum) amount of data transferred with each call to sane_read()." +msgstr "" +"The (maximum) amount of data transferred with each call to sane_read()." + +#: backend/test.c:514 +#, no-c-format +msgid "Read delay" +msgstr "Read delay" + +#: backend/test.c:515 +#, no-c-format +msgid "Delay the transfer of data to the pipe." +msgstr "Delay the transfer of data to the pipe." + +#: backend/test.c:527 +#, no-c-format +msgid "Duration of read-delay" +msgstr "Duration of read-delay" + +#: backend/test.c:528 +#, no-c-format +msgid "" +"How long to wait after transferring each buffer of data through the pipe." +msgstr "" +"How long to wait after transferring each buffer of data through the pipe." + +#: backend/test.c:543 +#, no-c-format +msgid "Return-value of sane_read" +msgstr "Return-value of sane_read" + +#: backend/test.c:545 +#, no-c-format +msgid "" +"Select the return-value of sane_read(). \"Default\" is the normal " +"handling for scanning. All other status codes are for testing how the " +"frontend handles them." +msgstr "" +"Select the return-value of sane_read(). “Default” is the normal handling " +"for scanning. All other status codes are for testing how the frontend " +"handles them." + +#: backend/test.c:562 +#, no-c-format +msgid "Loss of pixels per line" +msgstr "Loss of pixels per line" + +#: backend/test.c:564 +#, no-c-format +msgid "The number of pixels that are wasted at the end of each line." +msgstr "The number of pixels that are wasted at the end of each line." + +#: backend/test.c:577 +#, no-c-format +msgid "Fuzzy parameters" +msgstr "Fuzzy parameters" + +#: backend/test.c:578 +#, no-c-format +msgid "" +"Return fuzzy lines and bytes per line when sane_parameters() is called " +"before sane_start()." +msgstr "" +"Return fuzzy lines and bytes per line when sane_parameters() is called " +"before sane_start()." + +#: backend/test.c:591 +#, no-c-format +msgid "Use non-blocking IO" +msgstr "Use non-blocking IO" + +#: backend/test.c:592 +#, no-c-format +msgid "Use non-blocking IO for sane_read() if supported by the frontend." +msgstr "Use non-blocking IO for sane_read() if supported by the frontend." + +#: backend/test.c:605 +#, no-c-format +msgid "Offer select file descriptor" +msgstr "Offer select file descriptor" + +#: backend/test.c:606 +#, no-c-format +msgid "" +"Offer a select filedescriptor for detecting if sane_read() will return " +"data." +msgstr "" +"Offer a select filedescriptor for detecting if sane_read() will return " +"data." + +#: backend/test.c:619 +#, no-c-format +msgid "Enable test options" +msgstr "Enable test options" + +#: backend/test.c:620 +#, no-c-format +msgid "" +"Enable various test options. This is for testing the ability of " +"frontends to view and modify all the different SANE option types." +msgstr "" +"Enable various test options. This is for testing the ability of " +"frontends to view and modify all the different SANE option types." + +#: backend/test.c:634 +#, no-c-format +msgid "Print options" +msgstr "Print options" + +#: backend/test.c:635 +#, no-c-format +msgid "Print a list of all options." +msgstr "Print a list of all options." + +#: backend/test.c:712 +#, no-c-format +msgid "Bool test options" +msgstr "Bool test options" + +#: backend/test.c:725 +#, no-c-format +msgid "(1/6) Bool soft select soft detect" +msgstr "(1/6) Bool soft select soft detect" + +#: backend/test.c:727 +#, no-c-format +msgid "" +"(1/6) Bool test option that has soft select and soft detect (and " +"advanced) capabilities. That's just a normal bool option." +msgstr "" +"(1/6) Bool test option that has soft select and soft detect (and " +"advanced) capabilities. That's just a normal bool option." + +#: backend/test.c:743 +#, no-c-format +msgid "(2/6) Bool hard select soft detect" +msgstr "(2/6) Bool hard select soft detect" + +#: backend/test.c:745 +#, no-c-format +msgid "" +"(2/6) Bool test option that has hard select and soft detect (and " +"advanced) capabilities. That means the option can't be set by the " +"frontend but by the user (e.g. by pressing a button at the device)." +msgstr "" +"(2/6) Bool test option that has hard select and soft detect (and " +"advanced) capabilities. That means the option can't be set by the " +"frontend but by the user (e.g. by pressing a button at the device)." + +#: backend/test.c:762 +#, no-c-format +msgid "(3/6) Bool hard select" +msgstr "(3/6) Bool hard select" + +#: backend/test.c:763 +#, no-c-format +msgid "" +"(3/6) Bool test option that has hard select (and advanced) capabilities. " +"That means the option can't be set by the frontend but by the user (e.g. " +"by pressing a button at the device) and can't be read by the frontend." +msgstr "" +"(3/6) Bool test option that has hard select (and advanced) capabilities. " +"That means the option can't be set by the frontend but by the user (e.g. " +"by pressing a button at the device) and can't be read by the frontend." + +#: backend/test.c:781 +#, no-c-format +msgid "(4/6) Bool soft detect" +msgstr "(4/6) Bool soft detect" + +#: backend/test.c:782 +#, no-c-format +msgid "" +"(4/6) Bool test option that has soft detect (and advanced) capabilities. " +"That means the option is read-only." +msgstr "" +"(4/6) Bool test option that has soft detect (and advanced) capabilities. " +"That means the option is read-only." + +#: backend/test.c:798 +#, no-c-format +msgid "(5/6) Bool soft select soft detect emulated" +msgstr "(5/6) Bool soft select soft detect emulated" + +#: backend/test.c:799 +#, no-c-format +msgid "" +"(5/6) Bool test option that has soft select, soft detect, and emulated " +"(and advanced) capabilities." +msgstr "" +"(5/6) Bool test option that has soft select, soft detect, and emulated " +"(and advanced) capabilities." + +#: backend/test.c:815 +#, no-c-format +msgid "(6/6) Bool soft select soft detect auto" +msgstr "(6/6) Bool soft select soft detect auto" + +#: backend/test.c:816 +#, no-c-format +msgid "" +"(6/6) Bool test option that has soft select, soft detect, and automatic " +"(and advanced) capabilities. This option can be automatically set by the " +"backend." +msgstr "" +"(6/6) Bool test option that has soft select, soft detect, and automatic " +"(and advanced) capabilities. This option can be automatically set by the " +"backend." + +#: backend/test.c:833 +#, no-c-format +msgid "Int test options" +msgstr "Int test options" + +#: backend/test.c:846 +#, no-c-format +msgid "(1/6) Int" +msgstr "(1/6) Int" + +#: backend/test.c:847 +#, no-c-format +msgid "(1/6) Int test option with no unit and no constraint set." +msgstr "(1/6) Int test option with no unit and no constraint set." + +#: backend/test.c:862 +#, no-c-format +msgid "(2/6) Int constraint range" +msgstr "(2/6) Int constraint range" + +#: backend/test.c:863 +#, no-c-format +msgid "" +"(2/6) Int test option with unit pixel and constraint range set. Minimum " +"is 4, maximum 192, and quant is 2." +msgstr "" +"(2/6) Int test option with unit pixel and constraint range set. Minimum " +"is 4, maximum 192, and quant is 2." + +#: backend/test.c:879 +#, no-c-format +msgid "(3/6) Int constraint word list" +msgstr "(3/6) Int constraint word list" + +#: backend/test.c:880 +#, no-c-format +msgid "(3/6) Int test option with unit bits and constraint word list set." +msgstr "(3/6) Int test option with unit bits and constraint word list set." + +#: backend/test.c:895 +#, no-c-format +msgid "(4/6) Int array" +msgstr "(4/6) Int array" + +#: backend/test.c:896 +#, no-c-format +msgid "" +"(4/6) Int test option with unit mm and using an array without " +"constraints." +msgstr "" +"(4/6) Int test option with unit mm and using an array without " +"constraints." + +#: backend/test.c:911 +#, no-c-format +msgid "(5/6) Int array constraint range" +msgstr "(5/6) Int array constraint range" + +#: backend/test.c:912 +#, no-c-format +msgid "" +"(5/6) Int test option with unit dpi and using an array with a range " +"constraint. Minimum is 4, maximum 192, and quant is 2." +msgstr "" +"(5/6) Int test option with unit dpi and using an array with a range " +"constraint. Minimum is 4, maximum 192, and quant is 2." + +#: backend/test.c:929 +#, no-c-format +msgid "(6/6) Int array constraint word list" +msgstr "(6/6) Int array constraint word list" + +#: backend/test.c:930 +#, no-c-format +msgid "" +"(6/6) Int test option with unit percent and using an array with a word " +"list constraint." +msgstr "" +"(6/6) Int test option with unit percent and using an array with a word " +"list constraint." + +#: backend/test.c:946 +#, no-c-format +msgid "Fixed test options" +msgstr "Fixed test options" + +#: backend/test.c:959 +#, no-c-format +msgid "(1/3) Fixed" +msgstr "(1/3) Fixed" + +#: backend/test.c:960 +#, no-c-format +msgid "(1/3) Fixed test option with no unit and no constraint set." +msgstr "(1/3) Fixed test option with no unit and no constraint set." + +#: backend/test.c:975 +#, no-c-format +msgid "(2/3) Fixed constraint range" +msgstr "(2/3) Fixed constraint range" + +#: backend/test.c:976 +#, no-c-format +msgid "" +"(2/3) Fixed test option with unit microsecond and constraint range set. " +"Minimum is -42.17, maximum 32767.9999, and quant is 2.0." +msgstr "" +"(2/3) Fixed test option with unit microsecond and constraint range set. " +"Minimum is -42.17, maximum 32767.9999, and quant is 2.0." + +#: backend/test.c:992 +#, no-c-format +msgid "(3/3) Fixed constraint word list" +msgstr "(3/3) Fixed constraint word list" + +#: backend/test.c:993 +#, no-c-format +msgid "(3/3) Fixed test option with no unit and constraint word list set." +msgstr "(3/3) Fixed test option with no unit and constraint word list set." + +#: backend/test.c:1008 +#, no-c-format +msgid "String test options" +msgstr "String test options" + +#: backend/test.c:1021 +#, no-c-format +msgid "(1/3) String" +msgstr "(1/3) String" + +#: backend/test.c:1022 +#, no-c-format +msgid "(1/3) String test option without constraint." +msgstr "(1/3) String test option without constraint." + +#: backend/test.c:1039 +#, no-c-format +msgid "(2/3) String constraint string list" +msgstr "(2/3) String constraint string list" + +#: backend/test.c:1040 +#, no-c-format +msgid "(2/3) String test option with string list constraint." +msgstr "(2/3) String test option with string list constraint." + +#: backend/test.c:1059 +#, no-c-format +msgid "(3/3) String constraint long string list" +msgstr "(3/3) String constraint long string list" + +#: backend/test.c:1060 +#, no-c-format +msgid "" +"(3/3) String test option with string list constraint. Contains some more " +"entries..." +msgstr "" +"(3/3) String test option with string list constraint. Contains some more " +"entries..." + +#: backend/test.c:1080 +#, no-c-format +msgid "Button test options" +msgstr "Button test options" + +#: backend/test.c:1093 +#, no-c-format +msgid "(1/1) Button" +msgstr "(1/1) Button" + +#: backend/test.c:1094 +#, no-c-format +msgid "(1/1) Button test option. Prints some text..." +msgstr "(1/1) Button test option. Prints some text..." + +#: backend/u12.c:149 +#, no-c-format +msgid "Color 36" +msgstr "Color 36" + +#: backend/umax.c:235 +#, no-c-format +msgid "Use Image Composition" +msgstr "Use Image Composition" + +#: backend/umax.c:236 +#, no-c-format +msgid "Bi-level black and white (lineart mode)" +msgstr "Bi-level black and white (lineart mode)" + +#: backend/umax.c:237 +#, no-c-format +msgid "Dithered/halftone black & white (halftone mode)" +msgstr "Dithered/halftone black & white (halftone mode)" + +#: backend/umax.c:238 +#, no-c-format +msgid "Multi-level black & white (grayscale mode)" +msgstr "Multi-level black & white (grayscale mode)" + +#: backend/umax.c:239 +#, no-c-format +msgid "Multi-level RGB color (one pass color)" +msgstr "Multi-level RGB color (one pass color)" + +#: backend/umax.c:240 +#, no-c-format +msgid "Ignore calibration" +msgstr "Ignore calibration" + +#: backend/umax.c:5733 +#, no-c-format +msgid "Disable pre focus" +msgstr "Disable pre focus" + +#: backend/umax.c:5734 +#, no-c-format +msgid "Do not calibrate focus" +msgstr "Do not calibrate focus" + +#: backend/umax.c:5745 +#, no-c-format +msgid "Manual pre focus" +msgstr "Manual pre focus" + +#: backend/umax.c:5757 +#, no-c-format +msgid "Fix focus position" +msgstr "Fix focus position" + +#: backend/umax.c:5769 +#, no-c-format +msgid "Lens calibration in doc position" +msgstr "Lens calibration in doc position" + +#: backend/umax.c:5770 +#, no-c-format +msgid "Calibrate lens focus in document position" +msgstr "Calibrate lens focus in document position" + +#: backend/umax.c:5781 +#, no-c-format +msgid "Holder focus position 0mm" +msgstr "Holder focus position 0mm" + +#: backend/umax.c:5782 +#, no-c-format +msgid "Use 0mm holder focus position instead of 0.6mm" +msgstr "Use 0mm holder focus position instead of 0.6mm" + +#: backend/umax.c:5885 +#, no-c-format +msgid "Calibration mode" +msgstr "Calibration mode" + +#: backend/umax.c:5886 +#, no-c-format +msgid "Define calibration mode" +msgstr "Define calibration mode" + +#: backend/umax_pp.c:640 +#, no-c-format +msgid "Sets lamp on/off" +msgstr "Sets lamp on/off" + +#: backend/umax_pp.c:649 +#, no-c-format +msgid "UTA on" +msgstr "UTA on" + +#: backend/umax_pp.c:650 +#, no-c-format +msgid "Sets UTA on/off" +msgstr "Sets UTA on/off" + +#: backend/umax_pp.c:771 +#, no-c-format +msgid "Offset" +msgstr "Offset" + +#: backend/umax_pp.c:773 +#, no-c-format +msgid "Color channels offset settings" +msgstr "Color channels offset settings" + +#: backend/umax_pp.c:780 +#, no-c-format +msgid "Gray offset" +msgstr "Gray offset" + +#: backend/umax_pp.c:781 +#, no-c-format +msgid "Sets gray channel offset" +msgstr "Sets gray channel offset" + +#: backend/umax_pp.c:793 +#, no-c-format +msgid "Sets red channel offset" +msgstr "Sets red channel offset" + +#: backend/umax_pp.c:805 +#, no-c-format +msgid "Sets green channel offset" +msgstr "Sets green channel offset" + +#: backend/umax_pp.c:817 +#, no-c-format +msgid "Sets blue channel offset" +msgstr "Sets blue channel offset" diff --git a/po/en_GB.gmo b/po/en_GB.gmo new file mode 100644 index 0000000..e6b77c1 Binary files /dev/null and b/po/en_GB.gmo differ diff --git a/po/en_GB.po b/po/en_GB.po index 1bb0a52..f683493 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -5,423 +5,417 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2009-04-25 00:19+0100\n" "Last-Translator: Andrew Coles \n" "Language-Team: British English \n" -"Language: \n" +"Language: en_GB\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Number of options" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometry" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Enhancement" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Advanced" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Preview" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Force monochrome preview" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Bit depth" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Scan mode" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Scan speed" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Scan source" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Force backtracking" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Top-left x" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Top-left y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Bottom-right x" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Bottom-right y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Scan resolution" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "X-resolution" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Y-resolution" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, fuzzy, no-c-format msgid "Page height" msgstr "Highlight" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Use custom gamma table" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Image intensity" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Red intensity" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Green intensity" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Blue intensity" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Brightness" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Contrast" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Grain size" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Halftoning" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Black level" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "White level" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "White level for red" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "White level for green" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "White level for blue" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Shadow" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Shadow for red" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Shadow for green" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Shadow for blue" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Highlight" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Highlight for red" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Highlight for green" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Highlight for blue" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Hue" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Saturation" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Filename" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Halftone pattern size" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Halftone pattern" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Bind X and Y resolution" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negative" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Quality calibration" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Double Optical Resolution" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Bind RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Threshold" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Analogue gamma correction" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Analogue gamma red" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Analogue gamma green" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Analogue gamma blue" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Bind analogue gamma" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Warmup lamp" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Cal. exposure-time" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Cal. exposure-time for red" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Cal. exposure-time for green" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Cal. exposure-time for blue" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Scan exposure-time" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Scan exposure-time for red" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Scan exposure-time for green" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Scan exposure-time for blue" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Set exposure-time" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Cal. lamp density" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Scan lamp density" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Set lamp density" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Lamp off at exit" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -430,37 +424,37 @@ msgstr "" "Read-only option that specifies how many options a specific devices " "supports." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, fuzzy, no-c-format msgid "Source, mode and resolution options" msgstr "Short resolution list" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, fuzzy, no-c-format msgid "Image modification options" msgstr "Number of options" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, fuzzy, no-c-format msgid "Hardware specific options" msgstr "Hardware resolution" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Request a preview-quality scan." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -471,7 +465,7 @@ msgstr "" "scanner this cuts down the number of passes to one and on a one-pass " "scanner, it reduces the memory requirements and scan-time of the preview." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -480,81 +474,81 @@ msgstr "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " "for multibit scans." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "Selects the scan mode (e.g., lineart, monochrome, or colour)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Determines the speed at which the scan proceeds." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Selects the scan source (such as a document-feeder)." -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Controls whether backtracking is forced." -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Top-left x position of scan area." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Top-left y position of scan area." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Bottom-right x position of scan area." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Bottom-right y position of scan area." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Sets the resolution of the scanned image." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Sets the horizontal resolution of the scanned image." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Sets the vertical resolution of the scanned image." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " "sheet-fed scans." msgstr "" -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, fuzzy, no-c-format msgid "Specifies the height of the media." msgstr "Sets the resolution of the scanned image." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." msgstr "" "Determines whether a builtin or a custom gamma-table should be used." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -565,32 +559,32 @@ msgstr "" "red, green, and blue channels simultaneously (i.e., it is an intensity " "gamma table)." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Gamma-correction table for the red band." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Gamma-correction table for the green band." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Gamma-correction table for the blue band." -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Controls the brightness of the acquired image." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Controls the contrast of the acquired image." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -599,76 +593,76 @@ msgstr "" "Selects the \"graininess\" of the acquired image. Smaller values result " "in sharper images." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "Selects whether the acquired image should be halftoned (dithered)." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "Selects what radiance level should be considered \"black\"." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "Selects what radiance level should be considered \"white\"." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "Selects what red radiance level should be considered \"white\"." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "Selects what green radiance level should be considered \"white\"." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr " " -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "Selects what red radiance level should be considered \"black\"." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "Selects what green radiance level should be considered \"black\"." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "Selects what blue radiance level should be considered \"black\"." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "Selects what red radiance level should be considered \"full red\"." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." msgstr "" "Selects what green radiance level should be considered \"full green\"." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." msgstr "" "Selects what blue radiance level should be considered \"full blue\"." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Controls the \"hue\" (blue-level) of the acquired image." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -677,12 +671,12 @@ msgstr "" "The saturation level controls the amount of \"blooming\" that occurs " "when acquiring an image with a camera. Larger values cause more blooming." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "The filename of the image to be loaded." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -691,294 +685,294 @@ msgstr "" "Sets the size of the halftoning (dithering) pattern used when scanning " "halftoned images." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." msgstr "" "Defines the halftoning (dithering) pattern for scanning halftoned images." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Use same values for X and Y resolution" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Swap black and white" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Do a quality white-calibration" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Use lens that doubles optical resolution" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "In RGB-mode use same values for each colour" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Select minimum-brightness to get a white point" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Analog gamma-correction" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Analog gamma-correction for red" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Analog gamma-correction for green" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Analog gamma-correction for blue" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Warmup lamp before scanning" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Define exposure-time for calibration" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Define exposure-time for red calibration" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Define exposure-time for green calibration" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Define exposure-time for blue calibration" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Define exposure-time for scan" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Define exposure-time for red scan" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Define exposure-time for green scan" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Define exposure-time for blue scan" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Enable selection of exposure-time" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Define lamp density for calibration" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Define lamp density for scan" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Enable selection of lamp density" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Turn off lamp when program exits" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, fuzzy, no-c-format msgid "Scan button" msgstr "Scan resolution" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, fuzzy, no-c-format msgid "Email button" msgstr "Wait for button" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, fuzzy, no-c-format msgid "Fax button" msgstr "Wait for button" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, fuzzy, no-c-format msgid "Copy button" msgstr "Wait for button" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, fuzzy, no-c-format msgid "Cover open" msgstr "ADF cover open" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Colour" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Colour Lineart" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Colour Halftone" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Grey" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Halftone" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Lineart" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, fuzzy, no-c-format msgid "Operation not supported" msgstr "Halftoning Unsupported" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, fuzzy, no-c-format msgid "Document feeder jammed" msgstr "Document feeder extras" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, fuzzy, no-c-format msgid "Document feeder out of documents" msgstr "Document feeder extras" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, fuzzy, no-c-format msgid "Scanner cover is open" msgstr "ADF cover open" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Defaults" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Set default values for enhancement controls." -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Calibration" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Calibrate before next scan" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -987,12 +981,12 @@ msgstr "" "If enabled, the device will be calibrated before the next scan. " "Otherwise, calibration is performed only before the first start." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Only perform shading-correction" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1003,1060 +997,1051 @@ msgstr "" "The default values for gain, offset and exposure time, either build-in " "or from the configuration file, are used." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Button state" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Number of the frame to scan" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Selects the number of the frame to scan" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "Duplex scan" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "" "Duplex scan provide a scan of the front and back side of the document" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Calibrate Scanner" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Force scanner calibration before scan" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Greyscale scan" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Do a greyscale rather than colour scan" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Analogue Gain" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Increase or decrease the analogue gain of the CCD array" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Gamma Correction" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Selects the gamma corrected transfer curve" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "Raw" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "Fine colour" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "No transparency correction" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "Correction according to film type" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "Correction according to transparency ratio" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, no-c-format msgid "Negatives" msgstr "Negatives" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, no-c-format msgid "Slides" msgstr "Slides" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automatic" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, no-c-format msgid "Normal speed" msgstr "Normal speed" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "1/2 normal speed" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "1/3 normal speed" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "rounded parameter" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "unknown" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "ADF jam" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "ADF cover open" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, no-c-format msgid "lamp failure" msgstr "lamp failure" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "scan head positioning error" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "CPU check error" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "RAM check error" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "ROM check error" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "hardware check error" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "transparency unit lamp failure" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "transparency unit scan head positioning failure" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "parameter list length error" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "invalid command operation code" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "invalid field in CDB" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "unsupported LUN" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "invalid field in parameter list" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "command sequence error" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "too many windows specified" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "medium not present" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "invalid bit IDENTIFY message" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "option not connect" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "power on reset / bus device reset" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "parameter changed by another initiator" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "no additional sense information" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "reselect failure" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "SCSI parity error" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "initiator detected error message received" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "invalid message error" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "timeout error" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "transparency unit shading error" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "lamp not stabilised" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "film scanner" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "flatbed scanner" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Film type" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Selects the film type, i.e. negatives or slides" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, no-c-format msgid "Negative film type" msgstr "Negative film type" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "Selects the negative film type" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "Hardware resolution" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "Use only hardware resolutions" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "Focus" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "Auto focus" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "Enable/disable auto focus" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "Auto focus only once" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Do auto focus only once between ejects" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "Manual focus position" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "Set the optical system's focus position by hand (default: 128)." -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "Scan margins" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "Extra colour adjustments" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Mirror image" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "Mirror the image horizontally" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "Auto exposure" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Enable/disable the auto exposure feature" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, no-c-format msgid "Calibration now" msgstr "Calibration now" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, no-c-format msgid "Execute calibration *now*" msgstr "Execute calibration *now*" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "Self diagnosis" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Perform scanner self diagnosis" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, no-c-format msgid "Reset scanner" msgstr "Reset scanner" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "Reset the scanner" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "Medium handling" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "Eject film after each scan" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Automatically eject the film from the device after each scan" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "Eject film before exit" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" "Automatically eject the film from the device before exiting the program" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "Eject film now" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "Eject the film *now*" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "Document feeder extras" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "Flatbed only" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "Disable auto document feeder and use flatbed only" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "Transparency unit" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Switch on/off the transparency unit (FAU, film adapter unit)" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, no-c-format msgid "Negative film" msgstr "Negative film" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, no-c-format msgid "Positive or negative film" msgstr "Positive or negative film" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "Density control" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "Set density control mode" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "Transparency ratio" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "Select film type" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "Select the film type" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbed" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, fuzzy, no-c-format msgid "ADF Front" msgstr "ADF cover open" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF jam" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "ADF Duplex" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Print" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Duplex" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Red" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Green" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Blue" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Enhancement" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Enhancement" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Enhancement" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "None" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Simplex" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Duplex" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Transparency Unit" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatic Document Feeder" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Positive Film" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Negative Film" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Focus on glass" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Focus 2.5mm above glass" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Halftone A (Hard Tone)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Halftone B (Soft Tone)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Halftone C (Net Screen)" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Dither A (4x4 Bayer)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Dither B (4x4 Spiral)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Dither C (4x4 Net Screen)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Dither D (8x4 Net Screen)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Text Enhanced Technology" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Download pattern A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Download pattern B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "No Correction" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "User defined" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Impact-dot printers" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Thermal printers" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Ink-jet printers" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "CRT monitors" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Default" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "High density printing" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Low density printing" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "High contrast printing" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "User defined (Gamma=1.0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "User defined (Gamma=1.8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 portrait" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 landscape" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Letter" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Max" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Scan Mode" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Selects the halftone." -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Dropout" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Selects the dropout." -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Selects the brightness." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Sharpness" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Colour correction" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "Sets the colour correction table for the selected output device." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Colour correction coefficients" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Matrix multiplication of RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Shift green to red" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Shift green to blue" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Shift red to green" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Shift red to blue" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Shift blue to green" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Shift blue to red" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Controls green level" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Adds to red based on green level" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Adds to blue based on green level" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Adds to green based on red level" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Controls red level" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Adds to blue based on red level" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Adds to green based on blue level" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Adds to red based on blue level" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Controls blue level" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Mirror the image." -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Fast preview" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Auto area segmentation" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Short resolution list" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Display short resolution list" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Zoom" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Defines the zoom factor the scanner will use" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Quick format" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Optional equipment" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Eject" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Eject the sheet in the ADF" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Auto eject" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Eject document after scanning" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "ADF Mode" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Selects the ADF mode (simplex/duplex)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Bay" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Select bay to scan" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2065,24 +2050,24 @@ msgstr "" "Selects the gamma correction value from a list of pre-defined devices or " "the user defined table, which can be downloaded to the scanner" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Focus Position" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "" "Sets the focus position to either the glass or 2.5mm above the glass" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Wait for Button" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2091,219 +2076,964 @@ msgstr "" "After sending the scan command, wait until the button on the scanner is " "pressed to actually start the scan process." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" msgstr "Positive Slide" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, no-c-format msgid "Negative Slide" msgstr "Negative Slide" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, fuzzy, no-c-format msgid "User defined CCT profile" msgstr "User defined" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "On" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Off" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Dither" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Error Diffusion" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "White" msgstr "White level" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, fuzzy, no-c-format msgid "Black" msgstr "Black level" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Continue" msgstr "Conditional" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Horizontal" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Horizontal" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Vertical" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Front" msgstr "Print" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Halftone" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Performs calibration" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Image emphasis" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Saturation" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "Enable automatic determination of threshold for line-art scans." + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Mirror image" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Mirror image horizontally." + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "White level for blue" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Controls red level" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Colour Filter" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Smoothing" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Gamma value" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, fuzzy, no-c-format +msgid "Threshold curve" +msgstr "Threshold" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Threshold" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Noise reduction" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "No Correction" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "No Correction" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "ADF cover open" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Advanced Options" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "No Correction" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Dropout" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "Feeder mode" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Lamp off time" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Blue offset" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Green offset" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Green offset" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Blue offset" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Sets blue channel offset" + +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Duplex scan" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Advanced Options" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Noise reduction" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "From paper" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "From paper" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "From paper" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "From paper" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, fuzzy, no-c-format +msgid "Scanner in power saving mode" +msgstr "ADF cover open" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr " " + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr " " + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "hardware check error" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "White level" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Density control" + +#: backend/fujitsu.c:4549 +#, fuzzy, no-c-format +msgid "Density dial" +msgstr "Density control" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Duplex scan" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, fuzzy, no-c-format -msgid "Threshold curve" -msgstr "Threshold" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "Disable interpolation" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -2312,44 +3042,44 @@ msgstr "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Colour Filter" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "When using grey or lineart this option selects the used colour." -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibration" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Define calibration mode" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Calibration data cache" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "Lamp off time" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2358,103 +3088,101 @@ msgstr "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Lamp off during dark calibration" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Minutes until lamp is turned off after scan" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, fuzzy, no-c-format msgid "File button" msgstr "Wait for button" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, fuzzy, no-c-format msgid "Power button" msgstr "Wait for button" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Wait for button" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Coarse calibration" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Force scanner calibration before scan" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Buttons" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibrate" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Start calibration process." -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Coarse calibration" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Calibration data cache" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Transparency Adapter" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "Grey mode colour" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "Selects which scan colour is used grey mode (default: green)." -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Debugging Options" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatic warmup" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2463,12 +3191,12 @@ msgstr "" "Warm-up until the lamp's brightness is constant instead of insisting on " "60 seconds warm-up time." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Full scan" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2477,12 +3205,12 @@ msgstr "" "Scan the complete scanning area including calibration strip. Be careful. " "Don't select the full height. For testing only." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Coarse calibration" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2493,12 +3221,12 @@ msgstr "" "disabled, options for setting the analog frontend parameters manually " "are provided. This option is enabled by default. For testing only." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Coarse calibration for first scan only" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2509,12 +3237,12 @@ msgstr "" "scanners and can save scanning time. If the image brightness is " "different with each scan, disable this option. For testing only." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "Backtrack lines" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2527,83 +3255,83 @@ msgstr "" "the data. Low values cause faster scans but increase the risk of " "omitting lines." -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gamma value" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Sets the gamma value of all channels." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, no-c-format msgid "Geometry Group" msgstr "Geometry Group" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format msgid "Scan Mode Group" msgstr "Scan Mode Group" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Slide" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, no-c-format msgid "Scanner model" msgstr "Scanner model" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, fuzzy, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "Allows to test device behaviour with other supported models" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "Image colours will be inverted" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, no-c-format msgid "Disable gamma correction" msgstr "Disable gamma correction" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, no-c-format msgid "Gamma correction will be disabled" msgstr "Gamma correction will be disabled" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, no-c-format msgid "Disable white shading correction" msgstr "Disable white shading correction" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "White shading correction will be disabled" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "Skip warmup process" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "Warmup process will be disabled" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "Force real depth" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2614,12 +3342,12 @@ msgstr "" "image quality and then converted to the selected depth. This option " "avoids depth emulation." -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, no-c-format msgid "Emulate Grayscale" msgstr "Emulate Greyscale" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2630,12 +3358,12 @@ msgstr "" "grayscele by software. This may improve image quality in some " "circumstances." -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "Save debugging images" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " @@ -2644,356 +3372,350 @@ msgstr "" "If enabled, some images involved in scanner processing are saved to " "analyse them." -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, no-c-format msgid "Reset chipset" msgstr "Reset chipset" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "Resets chipset data" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, no-c-format msgid "Information" msgstr "Information" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, no-c-format msgid "Chipset name" msgstr "Chipset name" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "Shows chipset name used in device." -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "Unknown" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "Chipset ID" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, no-c-format msgid "Shows the chipset ID" msgstr "Shows the chipset ID" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, no-c-format msgid "Scan counter" msgstr "Scan counter" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Shows the number of scans made by scanner" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, no-c-format msgid "Update information" msgstr "Update information" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "Updates information about device" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "This option reflects a front panel scanner button" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Image" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Miscellaneous" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "offset X" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Hardware internal X position of the scanning area." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "offset Y" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Hardware internal Y position of the scanning area." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Lamp status" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Switches the lamp on or off." -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr " " -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "ADF" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, no-c-format msgid "TMA Slides" msgstr "TMA Slides" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, no-c-format msgid "TMA Negatives" msgstr "TMA Negatives" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, no-c-format msgid "Color (48 bits)" msgstr "Colour (48 bits)" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, no-c-format msgid "Extend lamp timeout" msgstr "Extend lamp timeout" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Extends lamp timeout (from 15 minutes to 1 hour)" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Wait for button" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "Waits for button before scanning" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "Advanced Options" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Coarse" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Fine" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Custom" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Auto" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "Pass-through" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSC Grey" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "XPA Grey" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Slow" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Fast" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Extra Fast" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2-pixel" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4-pixel" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8-pixel" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Print" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Film-strip" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "XPA" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Conditional" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "Experiment" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Sharpening" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Set sharpening value." -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Auto Threshold" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "Enable automatic determination of threshold for line-art scans." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Smoothing" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr " " -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr " " -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Unloads the media after a scan." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr " " -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Change Document." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Unload" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Unload Document." -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Start calibration process." -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Media" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Set type of media." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Exposure time" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -3006,461 +3728,460 @@ msgstr "" "negative film. For dark (underexposed) images you can increase this " "value." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Colour Matrix" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Set the scanners colour matrix." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Custom colour matrix." -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Mono Colour Matrix" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Custom colour matrix for greyscale scans." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Mirror horizontal" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Mirror image horizontally." -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Mirror vertical" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Mirror image vertically." -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Update options" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Update options." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "8 bit output" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" "Use bit depth greater eight internally, but output only eight bits." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Front button wait" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "Wait to scan for front-panel button push." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Shut off lamp" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Shut off scanner lamp." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Paper size" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Automatic separation" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 landscape" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Set density control mode" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr " " -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr " " -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Enable Duplex (Dual-Sided) Scanning" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Physical size of the paper in the ADF" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "Halftone" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Colour" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "Conditional" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "Off" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Halftone" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Halftone" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, fuzzy, no-c-format msgid "diffusion" msgstr "Error Diffusion" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normal" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Highlight" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "film scanner" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "From paper" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Default" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Smooth" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Slow" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Medium" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Red" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Green" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Scan source" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Feeder mode" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Sets the feeding mode" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Enable/disable auto focus" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Set density control mode" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Sets the feeding mode" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Sets the feeding mode" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatic threshold" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3469,557 +4190,544 @@ msgstr "" "Automatically sets brightness, contrast, white level, gamma, noise " "reduction and image emphasis" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Noise reduction" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Reduce the isolated dot noise" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Image emphasis" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Sets the image emphasis" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Lamp on" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Switches the lamp on or off." -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Mirror image vertically." -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Gamma correction" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "High density printing" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "Low density printing" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, fuzzy, no-c-format msgid "err_diffusion" msgstr "Error Diffusion" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "No Correction" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Normal" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Enhancement" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Automatic threshold" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Automatic threshold" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "Set the order of frames" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Shadow for blue" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Shift red to blue" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamond" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "8x8 Coarse Fatting" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "8x8 Fine Fatting" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "8x8 Bayer" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 Vertical Line" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr " " -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Colour channels gain settings" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Grey gain" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Sets grey channel gain" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Red gain" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Sets red channel gain" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Green gain" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Sets green channel gain" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Blue gain" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Sets blue channel gain" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Bayer Dither 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Bayer Dither 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Halftone Dot 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Halftone Dot 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Error Diffusion" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Mode 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Mode 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Mode 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "From white stick" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Smooth" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Low" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Medium" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "High" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "CRT" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "One page" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "All pages" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "sheetfed scanner" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "Greyscale 4 bits" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "Greyscale 8 bits" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Shadow, midtone, highlight, exposure time" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Special options" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Colour balance" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Disable backtracking" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "If ticked the scanner does not perform backtracking" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Toggle lamp of flatbed" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Toggles the lamp of the flatbed" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Calibration by backend" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" msgstr "" "If ticked the colour calibration before a scan is done by the backend" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Use the lightlid-35mm adapter" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "This option turns off the lamp of the flatbed during a scan" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Quality scan" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Highest quality but lower speed" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Fast scan" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Highest speed but lower quality" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Automatic adjustment of threshold" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4028,274 +4736,274 @@ msgstr "" "If ticked the backend automatically tries to determine an optimal value " "for the threshold." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Selects the gamma correction mode." -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Bind gamma" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Use same gamma values for all colour channels." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Scalar gamma" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Selects a value for scalar gamma correction." -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Scalar gamma red" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "Selects a value for scalar gamma correction (red channel)" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Scalar gamma green" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "Selects a value for scalar gamma correction (green channel)" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Scalar gamma blue" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Selects a value for scalar gamma correction (blue channel)" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Channel" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." msgstr "" "Selects the colour band, \"Master\" means that all colours are affected." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Midtone" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "Selects which radiance level should be considered \"50 % grey\"." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Midtone for red" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Selects which radiance level should be considered \"50 % red\"." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Midtone for green" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "Selects which radiance level should be considered \"50 % green\"." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Midtone for blue" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "Selects which radiance level should be considered \"50 % blue\"." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Red balance" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "Balance factor for red. A value of 100% means no correction." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Green balance" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "Balance factor for green. A value of 100% means no correction." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Blue balance" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr " " -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr " " -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "Sets the colour balance values to the firmware provided values." -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Slowest" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Slower" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Faster" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Fastest" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 coarse" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 normal" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr " " -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 very fine" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 normal" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 coarse" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 fine" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 coarse" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr " " -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 fine" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 normal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 normal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr " " -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 custom" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 custom" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 custom" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr " " -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 custom" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Fast grey mode" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Scan in fast grey mode (lower quality)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4304,118 +5012,118 @@ msgstr "" "Request that all previews are done in the fastest (low-quality) mode. " "This may be a non-colour mode or a low resolution mode." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Lamp off time (minutes)" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Set the time (in minutes) after which the lamp is shut off." -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "Turn lamp off" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Turns the lamp off immediately." -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Red brightness" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Controls the brightness of the red channel of the acquired image." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Green brightness" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "" "Controls the brightness of the green channel of the acquired image." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Blue brightness" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Controls the brightness of the blue channel of the acquired image." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Contrast red channel" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Controls the contrast of the red channel of the acquired image." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Contrast green channel" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Controls the contrast of the green channel of the acquired image." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Contrast blue channel" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Controls the contrast of the blue channel of the acquired image." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Colour48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Colour24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Grey16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Grey8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "Reflective" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "Positive" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4424,39 +5132,39 @@ msgstr "" "Warm-up until the lamp's brightness is constant instead of insisting on " "40 seconds warm-up time." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negative film" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negative" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Fine colour" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, fuzzy, no-c-format msgid "Button-controlled scan" msgstr "Button-controlled scan (experimental)" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4467,248 +5175,239 @@ msgstr "" "\"SCAN\" button (for MP150) or \"COLOUR\" button (for other models). To " "cancel, press \"GREY\" button." -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Update button state" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Button 1" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Button 2" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Transparency" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "Device-Settings" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "Lampswitch" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "Manually switching the lamp(s)." -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, no-c-format msgid "Lamp off during dark calibration" msgstr "Lamp off during dark calibration" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "Always switches lamp off when doing dark calibration." -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "Calibration data cache" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "Enables or disables calibration data cache." -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, no-c-format msgid "Performs calibration" msgstr "Performs calibration" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "Speedup sensor" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "Enables or disables speeding up sensor movement." -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "Warmup-time" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "Warmup-time in seconds." -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "Lampoff-time" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "Lampoff-time in seconds." -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "Analogue frontend" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "Red gain value of the AFE" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Red offset" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "Red offset value of the AFE" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "Green gain value of the AFE" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Green offset" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "Green offset value of the AFE" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "Blue gain value of the AFE" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Blue offset" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "Blue offset value of the AFE" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "Red lamp off" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "Defines red lamp off parameter" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "Green lamp off" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "Defines green lamp off parameter" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "Blue lamp off" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "Defines blue lamp off parameter" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "This option reflects the status of the scanner buttons." -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Colour36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Dithermap 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Dithermap 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Randomise" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Source Selection" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Image Enhancement" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Greyify" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Load the image as greyscale." -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Three-Pass Simulation" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4717,12 +5416,12 @@ msgstr "" "Simulate a three-pass scanner by returning 3 separate frames. For " "kicks, it returns green, then blue, then red." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Hand-Scanner Simulation" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4733,49 +5432,49 @@ msgstr "" "height a priori. Instead, they return a height of -1. Setting this " "option allows one to test whether a frontend can handle this correctly." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." msgstr "" "Set default values for enhancement controls (brightness & contrast)." -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Read only test-option" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Let's see whether frontends can treat this right" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Gamma Tables" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Status Code Simulation" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Do not force status code" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Do not force the backend to return a status code." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Return SANE_STATUS_EOF" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4784,12 +5483,12 @@ msgstr "" "Force the backend to return the status code SANE_STATUS_EOF after " "sane_read() has been called." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Return SANE_STATUS_JAMMED" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4798,12 +5497,12 @@ msgstr "" "Force the backend to return the status code SANE_STATUS_JAMMED after " "sane_read() has been called." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Return SANE_STATUS_NO_DOCS" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4812,12 +5511,12 @@ msgstr "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " "sane_read() has been called." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Return SANE_STATUS_COVER_OPEN" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4826,12 +5525,12 @@ msgstr "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " "sane_read() has been called." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Return SANE_STATUS_IO_ERROR" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4840,12 +5539,12 @@ msgstr "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " "sane_read() has been called." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Return SANE_STATUS_NO_MEM" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4854,12 +5553,12 @@ msgstr "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " "sane_read() has been called." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Return SANE_STATUS_ACCESS_DENIED" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4868,85 +5567,82 @@ msgstr "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " "after sane_read() has been called." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, fuzzy, no-c-format msgid "This option reflects the status of a scanner button." msgstr "This option reflects the status of the scanner buttons." -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Lamp on" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Turn on scanner lamp" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Lamp off" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Turn off scanner lamp" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "Lamp timeout" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "Minutes until lamp is turned off after scan" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "Threshold value for lineart mode" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Document Feeder" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (inch)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 (inch)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 (inch)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Halftoning Unsupported" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "DispersedDot8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "DispersedDot16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -4961,27 +5657,27 @@ msgstr "" "periodically in the middle of a scan; if it's set too high, X-based " "frontends may stop responding to X events and your system could bog down." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Eject document after scanning" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Preview mode" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -4990,12 +5686,12 @@ msgstr "" "Select the mode for previews. Greyscale previews usually give the best " "combination of speed and detail." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Predefined settings" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -5004,97 +5700,97 @@ msgstr "" "Provides standard scanning areas for photographs, printed pages and the " "like." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "flatbed scanner" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, fuzzy, no-c-format msgid "Focus-mode" msgstr "Focus" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Auto focus" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Focus Position" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Focus Position" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Colour lines per read" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Greyscale lines per read" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "webcam" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Colour RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Colour RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Colour RGB TEXT" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Solid black" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Solid white" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Colour pattern" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Grid" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "First entry" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Second entry" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5103,12 +5799,12 @@ msgstr "" "This is the very long third entry. Maybe the frontend has an idea how to " "display it" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Hand-scanner simulation" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5121,12 +5817,12 @@ msgstr "" "allows one to test whether a frontend can handle this correctly. This " "option also enables a fixed width of 11 cm." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Three-pass simulation" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5135,17 +5831,17 @@ msgstr "" "Simulate a three-pass scanner. In colour mode, three frames are " "transmitted." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Set the order of frames" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "Set the order of frames in three-pass colour mode." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " @@ -5154,17 +5850,17 @@ msgstr "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " "after 10 scans." -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Special Options" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Select the test picture" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5182,12 +5878,12 @@ msgstr "" "Grid: draws a black/white grid with a width and height of 10 mm per " "square." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Invert endianness" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5198,57 +5894,57 @@ msgstr "" "can be used to test the 16 bit modes of frontends, e.g. if the frontend " "uses the correct endianness." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Read limit" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" "Limit the amount of data transferred with each call to sane_read()." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Size of read-limit" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." msgstr "" "The (maximum) amount of data transferred with each call to sane_read()." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Read delay" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Delay the transfer of data to the pipe." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Duration of read-delay" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "" "How long to wait after transferring each buffer of data through the pipe." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Return-value of sane_read" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5259,22 +5955,22 @@ msgstr "" "handling for scanning. All other status codes are for testing how the " "frontend handles them." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Loss of pixels per line" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "The number of pixels that are wasted at the end of each line." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Fuzzy parameters" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5283,22 +5979,22 @@ msgstr "" "Return fuzzy lines and bytes per line when sane_parameters() is called " "before sane_start()." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Use non-blocking IO" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "Use non-blocking IO for sane_read() if supported by the frontend." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Offer select file descriptor" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5307,12 +6003,12 @@ msgstr "" "Offer a select filedescriptor for detecting if sane_read() will return " "data." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Enable test options" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5321,27 +6017,27 @@ msgstr "" "Enable various test options. This is for testing the ability of " "frontends to view and modify all the different SANE option types." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Print options" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Print a list of all options." -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Bool test options" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) Bool soft select soft detect" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5350,12 +6046,12 @@ msgstr "" "(1/6) Bool test option that has soft select and soft detect (and " "advanced) capabilities. That's just a normal bool option." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Bool hard select soft detect" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5366,12 +6062,12 @@ msgstr "" "advanced) capabilities. That means the option can't be set by the " "frontend but by the user (e.g. by pressing a button at the device)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Bool hard select" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5382,12 +6078,12 @@ msgstr "" "That means the option can't be set by the frontend but by the user (e.g. " "by pressing a button at the device) and can't be read by the frontend." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) Bool soft detect" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5396,12 +6092,12 @@ msgstr "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " "That means the option is read-only." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Bool soft select soft detect emulated" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5410,12 +6106,12 @@ msgstr "" "(5/6) Bool test option that has soft select, soft detect, and emulated " "(and advanced) capabilities." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) Bool soft select soft detect auto" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5426,27 +6122,27 @@ msgstr "" "(and advanced) capabilities. This option can be automatically set by the " "backend." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Int test options" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Int" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "(1/6) Int test option with no unit and no constraint set." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Int constraint range" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5455,22 +6151,22 @@ msgstr "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " "is 4, maximum 192, and quant is 2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) Int constraint word list" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "(3/6) Int test option with unit bits and constraint word list set." -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Int array" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " @@ -5479,12 +6175,12 @@ msgstr "" "(4/6) Int test option with unit mm and using an array without " "constraints." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) Int array constraint range" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5493,12 +6189,12 @@ msgstr "" "(5/6) Int test option with unit dpi and using an array with a range " "constraint. Minimum is 4, maximum 192, and quant is 2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Int array constraint word list" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5507,27 +6203,27 @@ msgstr "" "(6/6) Int test option with unit percent and using an array with a word " "list constraint." -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Fixed test options" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Fixed" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "(1/3) Fixed test option with no unit and no constraint set." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Fixed constraint range" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5536,47 +6232,47 @@ msgstr "" "(2/3) Fixed test option with unit microsecond and constraint range set. " "Minimum is -42.17, maximum 32767.9999, and quant is 2.0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) Fixed constraint word list" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "(3/3) Fixed test option with no unit and constraint word list set." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "String test options" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) String" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) String test option without constraint." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) String constraint string list" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "(2/3) String test option with string list constraint." -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) String constraint long string list" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5585,156 +6281,160 @@ msgstr "" "(3/3) String test option with string list constraint. Contains some more " "entries..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Button test options" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Button" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Button test option. Prints some text..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Colour 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Use Image Composition" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Bi-level black and white (lineart mode)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Dithered/halftone black & white (halftone mode)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Multi-level black & white (greyscale mode)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Multi-level RGB colour (one pass colour)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Ignore calibration" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Disable pre focus" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Do not calibrate focus" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr " " -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Fix focus position" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Lens calibration in doc position" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Calibrate lens focus in document position" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Holder focus position 0mm" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Use 0mm holder focus position instead of 0.6mm" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Calibration mode" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Define calibration mode" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Sets lamp on/off" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "UTA on" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Sets UTA on/off" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Offset" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Colour channels offset settings" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Grey offset" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Sets grey channel offset" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Sets red channel offset" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Sets green channel offset" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Sets blue channel offset" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Preview mode" + #~ msgid "problem not analyzed (unknown SCSI class)" #~ msgstr "problem not analysed (unknown SCSI class)" diff --git a/po/eo.gmo b/po/eo.gmo new file mode 100644 index 0000000..bf15262 Binary files /dev/null and b/po/eo.gmo differ diff --git a/po/eo.po b/po/eo.po index aa0bcef..d4ea7a1 100644 --- a/po/eo.po +++ b/po/eo.po @@ -9,422 +9,416 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends.eo\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2007-12-08 13:28+0100\n" "Last-Translator: A.C.Codazzi\n" "Language-Team: \n" -"Language: \n" +"Language: eo\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0.2\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Nombro da opcioj" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometrio" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Plibonigo" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Avana" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Antaŭmontro" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Perfortu monokromatan antaŭmontron" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Profundeco en bitoj" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Moduso de skanado" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Rapideco de skanilo" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Fonto de skanilo" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Perfortu malavancon" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Supre-maldekstre X" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Supre-maldekstre Y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Sube-dekstre X" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Sube-dekstre Y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Difino de skanado" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "Distingo de X" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Distingo de Y" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, fuzzy, no-c-format msgid "Page height" msgstr "Lumbrilo" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Uzu personigitan tabelon de gama" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Intenso de bildo" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Intenso de ruĝo" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Intenso de verdo" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Intenso de bluo" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Heleco" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Kontrasto" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Grajno" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Meznuancoj" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Nivelo de nigro" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Nivelo de blanko" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Nivelo de blanko laŭ ruĝo" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Nivelo de blanko laŭ verdo" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Nivelo de blanko laŭ bluo" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Ombrumo" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Ombrumo laŭ ruĝo" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Ombrumo laŭ verdo" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Ombrumo laŭ bluo" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Lumbrilo" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Lumbrilo laŭ ruĝo" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Lumbrilo laŭ verdo" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Lumbrilo laŭ bluo" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Nuanco" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Saturado" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Dosiernomo" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Grado de modelo por meznuancoj" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Modelo por meznuanco" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Bindu distindon de X kaj Y" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Kvalito de kalibrigo" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Duobligu Optikan Distingon" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Bindu RGB-kanalojn" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Sojlo" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Korektado de analoga gama" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Ruĝo de analoga gama" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Verdo de analoga gama" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Bluo de analoga gama" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Bindu analogan gaman" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Varmigo de lampo" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Kal. ekspontempon" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Kal. ekspontempon por ruĝo" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Kal. ekspontempon por verdo" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Kal. ekspontempon por bluo" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Ekspontempo de skanado" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Ekspontempo de skanado por ruĝo" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Ekspontempo de skanado por verdo" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Ekspontempo de skanado por verdo" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Agordu ekspontempon" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Kal. potencon de lampo" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Potenco de lampo en skanado" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Agordu potencon de lampo" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Elŝaltu lampon kaj eliru" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -433,37 +427,37 @@ msgstr "" "Ĝi estas nurlega opcio kiu priskribas kiom da opcioj subtenas specifa " "aparato." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, fuzzy, no-c-format msgid "Source, mode and resolution options" msgstr "Listeto pri distingoj" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, fuzzy, no-c-format msgid "Image modification options" msgstr "Nombro da opcioj" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, fuzzy, no-c-format msgid "Hardware specific options" msgstr "Hardvara difino" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Ĝi mendas antaŭmontra-kvalitan skanadon." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -475,7 +469,7 @@ msgstr "" "kun 1-paso-skaniloĝi malpliigas la memoron kiu necesas kaj la tempo de " "skanado por la antaŭmontro." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -484,82 +478,82 @@ msgstr "" "Nombro da bitoj por specimeno, kutima valoro estas 1 por \"duuma\" kaj 8 " "por multbitaj skanadoj." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" "Ĝi elektas la moduson de skanado (ekz. duuma, monokromata aŭ koloro)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Ĝi determinas la rapidecon de skanado." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Ĝi elektas la fonton por la skanado (ekz. provizilo)" -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Kontrolu ke la malavanco estas perfortita." -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Supra-maldekstra posicio de X en areo de skanado." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Supra-maldekstra posicio de Y en areo de skanado." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Suba-dekstra posicio de X en areo de skanado.." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Suba-dekstra posicio de Y en areo de skanado." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Ĝi agordas la difinon de la skanita bildo." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Ĝi agordas la horizontalan difinon de la skanita bildo." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Ĝi agordas la vertikalan difinon de la skanita bildo." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " "sheet-fed scans." msgstr "" -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, fuzzy, no-c-format msgid "Specifies the height of the media." msgstr "Ĝi agordas la difinon de la skanita bildo." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." msgstr "" "Ĝi determinas uzi antaŭdifinitan tabelon de gama aŭ personigitan tabelon." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -570,32 +564,32 @@ msgstr "" "samtempe sur 3 kanaloj (ruĝo, verdo, bluo) kaj do ĝi estas gama-tabelo " "de intenseco. " -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Tabelo de gama-korektado laŭ ruĝo." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Tabelo de gama-korektado laŭ verdo." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Tabelo de gama-korektado laŭ bluo" -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Ĝi kontrolas la helecon de la akirita bildo." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Ĝi kontrolas la kontraston de la akirita bildo." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -604,66 +598,66 @@ msgstr "" "Ĝi elektas la \"grajneco\" de la akirita bildo. Malpli grandaj valoroj " "donas pli netajn bildojn." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" "Ĝi elektas se la akirita bildon devas esti neznuancigita (stompita)." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "Ĝi elektas la nivelon de heleco kiu estas konsiderenda \"nigro\"." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "Ĝi elektas la nivelon de heleco kiu estas konsiderenda \"blanko\"." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" "Ĝi elektas la nivelon de ruĝa heleco kiu estas konsiderenda \"blanko\"." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" "Ĝi elektas la nivelon de verda heleco kiu estas konsiderenda \"blanko\"." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" "Ĝi elektas la nivelon de blua heleco kiu estas konsiderenda \"blanko\"." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" "Ĝi elektas la nivelon de ruĝa heleco kiu estas konsiderenda \"nigro\"." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" "Ĝi elektas la nivelon de verda heleco kiu estas konsiderenda \"nigro\"." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" "Ĝi elektas la nivelon de blua heleco kiu estas konsiderenda \"nigro\"." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Ĝi elektas la nivelon de ruĝa heleco kiu estas konsiderenda \"tuta ruĝo" "\"." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." @@ -671,7 +665,7 @@ msgstr "" "Ĝi elektas la nivelon de verda heleco kiu estas konsiderenda \"tuta verdo" "\"." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." @@ -679,12 +673,12 @@ msgstr "" "Ĝi elektas la nivelon de blua heleco kiu estas konsiderenda \"tuta bluo" "\"." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Ĝi kontrolas la nuancon (nivelon de bluo) de la akirita bildo." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -694,12 +688,12 @@ msgstr "" "kiam oni akiras bildon per kamerao. Pli larĝaj valoroj kaŭzas pli " "floradon." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "La dosiernomo de la ŝargenda bildo." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -708,7 +702,7 @@ msgstr "" "Ĝi agordas la grandon de modelo por meznuanco (stompado/punktismo) uzata " "kun neznuancaj bildoj." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." @@ -716,287 +710,287 @@ msgstr "" "Ĝi agordas la modelon por meznuanco (stompado/punktismo) uzata kun " "neznuancaj bildoj." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Uzu la saman valoron por distingo de X kaj Y" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Interŝanĝu blankon kaj nigron" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Plenumu kvalitan kalibrigon laŭ blanko" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Uzu la lensojn kiuj duobligas optikan distingon" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "Uzu la samajn valorojn por ĉiu koloro en RGB-moduso" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Agordu minimuman helecon por havi blankan punkton" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Analoga korektado de gama" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Analoga korektado de gama por ruĝo" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Analoga korektado de gama por verdo" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Analoga korektado de gama por bluo" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Varmigu lampon antaŭ la skanado" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Difinu la ekspontempon por la kalibrigo" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Difinu la ekspontempon por la kalibrigo de ruĝo" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Difinu la ekspontempon por la kalibrigo de verdo" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Difinu la ekspontempon por la kalibrigo de bluo" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Difinu la ekspontempon por la skanado" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Difinu la ekspontempon por la skanado de ruĝo" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Difinu la ekspontempon por la skanado de verdo" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Difinu la ekspontempon por la skanado de bluo" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Ebligu la elektadon de ekspontempo" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Definu la intenson de la lampo por la kalibrigo" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Definu la intenson de la lampo por la skanado" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Ebligu la elektadon de la intenson de la lampo" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Elŝaltu la lampon elirante de la programo" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, fuzzy, no-c-format msgid "Scan button" msgstr "Difino de skanado" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, fuzzy, no-c-format msgid "Email button" msgstr "Atendu butonon" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, fuzzy, no-c-format msgid "Fax button" msgstr "Atendu butonon" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, fuzzy, no-c-format msgid "Copy button" msgstr "Atendu butonon" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, fuzzy, no-c-format msgid "Cover open" msgstr "Kovrilo de ADF estas malfermita" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Koloro" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Duuma Koloro" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Meznuanca Koloro" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Grizo" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Meznuancoj" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Duuma" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, fuzzy, no-c-format msgid "Operation not supported" msgstr "Mez-nuancoj Nesubtenitaj" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, fuzzy, no-c-format msgid "Document feeder jammed" msgstr "Aliaj agordoj pri provizilo de dokumentoj" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, fuzzy, no-c-format msgid "Document feeder out of documents" msgstr "Aliaj agordoj pri provizilo de dokumentoj" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, fuzzy, no-c-format msgid "Scanner cover is open" msgstr "Kovrilo de ADF estas malfermita" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Defaŭltaj valoroj" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Uzu la defaŭltajn valorojn por la regilojn de plibonigo." -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Kalibrigo" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Kalibrigu la skanilon antaŭ la venonta skanado" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -1005,12 +999,12 @@ msgstr "" "Se ĝi estas ebligita, la skanilo estos kalibrigita antaŭ la venonta " "skanado. Alie la kalibrigo plenumiĝos nur antaŭ la unua starto." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Plenumu nur korektadon de ombroj" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1021,1061 +1015,1052 @@ msgstr "" "kalibrigo. La defaŭltaj valoroj (aŭ tiuj en la agorddosiero) estos " "uzataj por gajno, deŝovo kaj ekspontempo." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Stato de butono" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Nombro da skanendaj filmeroj" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Elektu nombron da skanendaj filmeroj" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "Fronta-dorsa skanado" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "Ĝi plenumas frontan-dorsan skanadon de la dokumento" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Kalibrigu Skanilon" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Ĝi devigas kalibrigon de skanilon antaŭ la skanado" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Grizgama skanado" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Ĝi plenumas grizgaman anstataŭ kolora skanadon" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Analoga Gajno" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Ĝi pliigas aŭ malpliigas la analogan gajnon de la CCD-sentilo" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Korektado de Gama" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Ĝi elektas la kurbon de korektado de gama" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "Kruda" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "Fajna koloro" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Neniu korektado de diafaneco" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "Korektado rilata al la filmospeco" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "Korektado rilata al la rejŝo de diafaneco" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, no-c-format msgid "Negatives" msgstr "Negativoj" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, no-c-format msgid "Slides" msgstr "Lumbildoj" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Aŭtomata" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, no-c-format msgid "Normal speed" msgstr "Normala rapideco" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "Duono de la normala radipeco" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "Triono de la normala radipeco" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "rondigitaj parametroj" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "nekonata" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "ADF estas blokita" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "Kovrilo de ADF estas malfermita" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, no-c-format msgid "lamp failure" msgstr "lampo malfunkcias" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "eraro de lokiĝo de skan-kapeto" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "Eraro de kontrolo de CPU" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "Eraro de kontrolo de RAM" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "Eraro de kontrolo de ROM" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "Eraro de kontrolo de la aparataro" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "la lampo de diafanecoj malfunkcias" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "eraro de lokiĝo de la skan-kapeto por diafanecoj" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "eraro de longo de listo pri parametroj" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "nevalida kodo de komando" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "nevalida kampo en CDB" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "nesubtenita LUN" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "nevalida kampo en la listo pri parametroj" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "eraro en la vico de komandoj" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "la difinitaj fenestroj estas troaj" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "la aparato estas neĉeestanta" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "mesaĝo kun nevalida IDENTIFY-bito" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "opcio de ne-konektado" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "re-agordo de nutro / re-agordo de buso de aparatoj" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "parametro estis ŝanĝita de alia pravaloranto" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "neniu alia aldona informo pri «senso»" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "re-elektado malsukcesis" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "eraro de pareco de SCSI" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "oni ricevis mesaĝon pri eraro rekonita de pravaloranto" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "eraro de nevalida mesaĝo" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "eraro de tempofino" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "eraro de vualo de diafaneco" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "nestabiligita lampo" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "skanilo por negativoj" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "plata skanilo" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Filmo" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Ĝi elektas specon de filmo: negativoj aŭ lumbildoj" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, no-c-format msgid "Negative film type" msgstr "Speco de negativa filmo" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "Ĝi elektas la specon de negativa filmo" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "Hardvara difino" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "Uzu nur hardvarajn difinojn" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "Fokuso" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "Mem-fokusigo" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "Ĝi ebligas/malebligas aŭtomatan fokusigon" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "Memfokusigo nur unu-foje" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Ĝi plenumas memfokusigon nur unu-foje por ĉiu enigo de filmo" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "Lokado de mana fokusigo" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "Ĝi mane agordas lokadon de optika fokusigo (defaŭto: 128)." -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "Marĝenoj por skanado" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "Aliaj aranĝoj de koloro" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Spegula bildo" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "Ĝi reflektas bildon horizontale" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "Mem-ekspono" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Ĝi ebligas/malebligas aŭtomatan eksponon" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, no-c-format msgid "Calibration now" msgstr "Tuja kalibrigo" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, no-c-format msgid "Execute calibration *now*" msgstr "Ĝi plenumas kalibrigon tuj" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "Mem-diagnozo" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Ĝi plenumas aŭtomatajn kontrolojn" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, no-c-format msgid "Reset scanner" msgstr "Re-agordu skanilon" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "Ĝi ree agordas la skanilon" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "Mastrumado de aparato" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "Elpelu filmon post ĉiu skanado" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Ĝi aŭtomate elpelas filmon post ĉiu skanado" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "Elpelu filmon antaŭ eliri" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "Ĝi aŭtomate elpelas filmon antaŭ la eliro de la programo" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "Elpelu filmon nun" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "Ĝi elpelas filmon *nun*" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "Aliaj agordoj pri provizilo de dokumentoj" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "Nur fiksa ebeno" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "Ĝi malebligas provizilon de dokumentoj kaj uzas nur fiksan ebeno" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "Reguligilo de diafaneco" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" "Ĝi evligas/malebligas la reguligilon de diafaneco (FAU, «film adapter " "unit»)" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, no-c-format msgid "Negative film" msgstr "Negativa filmo" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, no-c-format msgid "Positive or negative film" msgstr "Pozitiva aŭ negativa filmo" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "Regilo de denseco" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "Ĝi ebligas moduson de la regado de denseco" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "Rejŝo de diafaneco" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "Elektu specon de filmo" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "Ĝi elektas specon de filmo" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Fiksa ebeno" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, fuzzy, no-c-format msgid "ADF Front" msgstr "Kovrilo de ADF estas malfermita" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF estas blokita" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "Fronta-dorsa ADF" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Presu" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Fronta-dorsa" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Ruĝo" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Verdo" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Bluo" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Plibonigo" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Plibonigo" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Plibonigo" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Nenio" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Unuopa" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Fronta-dorsa" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Reguligilo de Diafaneco" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Aŭtomata Provizilo de Dokumentoj" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Pozitiva filmo" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Negativa filmo" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Fokusigo sur la vitro" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Fokusigo je 2.5mm super la vitro" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Meznuanco A (Duraj tonoj)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Meznuanco B (Delikataj tonoj)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Meznuanco C (Reta ekrano)" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Punktismo A (4x4 Bayer)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Punktismo B (4x4 Spiralo)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Punktismo C (4x4 Reta ekrano)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Punktismo D (8x4 Reta ekrano)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Teknologio por Plibonigo de Teksto" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Elŝutu modelon A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Elŝutu modelon B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Neniu korektado" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Agordita de la uzanto" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Kontaktaj printiloj" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Termikaj printiloj" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Inkoŝprucaj printiloj" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "CRT ekranoj" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Defaŭlto" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Altdensa printado" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Malaltdensa printado" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Altkontrasta printado" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Agordita de la uzanto (Gama=1.0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Agordita de la uzanto (Gama=1.8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "KD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 verticala" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 horizontala" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Letero" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Maks" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Moduso de Skanado" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Elektu meznuancojn." -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Eskludado" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Ĝi elektas la eskludadon." -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Ĝi elektas la helecon." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Neteco" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Korektado de koloro" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" "Ĝi ebligas la tabelon de la korektado de koloro por la elektita aparato." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Koeficientoj de korektado de koloro" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Matrica multipliko de RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Ŝovu verdon al ruĝo" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Ŝovu verdon al bluo" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Ŝovu ruĝon al verdo" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Ŝovu ruĝon al bluo" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Ŝovu bluon al verdo" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Ŝovu bluon al ruĝo" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Mastrumu nivelon de verdo" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Aldonu ruĝon surbaze de nivelo de verdo" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Aldonu bluon surbaze de nivelo de verdo" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Aldonu verdon surbaze de nivelo de ruĝo" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Mastrumu nivelon de ruĝo" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Aldonu bluon surbaze de nivelo de ruĝo" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Aldonu verdon surbaze de nivelo de bluo" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Aldonu ruĝon surbaze de nivelo de bluo" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Mastrumu nivelon de bluo" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Spegulu bildon" -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Tuja antaŭmontro" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Aŭtomata segmentado de areo" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Listeto pri distingoj" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Vidigu etan liston pri disponeblaj distingoj" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Zomo" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Ĝi agordas la faktoron de zomo kiun la skanilo uzos" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Formato rapido" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Akcesora ekipaĵo" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Elpelo" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Ĝi elpelas la folion el aŭtomata provizilo" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Mem-elpelo" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Ĝi elpelas la dokumento post la skanado" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "Moduso por ADF" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Ĝi elektas la ADF-moduso (unuopa/fronta-dorsa)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Kesto" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Ĝi elektas la keston por skani" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2084,24 +2069,24 @@ msgstr "" "Ĝi elektas korektadon de gama el listo de antaŭdifinitaj aparatoj aŭ el " "la personigita tabelo, kiu esti alŝutebla en skanilon scanner" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Lokiĝo de Fokusigo" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "" "Ĝi agordas la lokiĝon de la fokusigo aŭ sur la vitro aŭ je 2,5mm super ĝi" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Atendu Butonon" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2110,219 +2095,964 @@ msgstr "" "Post la sendo de la skan-komando, ĝi atendas la premon de la butono de " "la skanilo por startigi la skanadon." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" msgstr "Pozitiva lumbildo" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, no-c-format msgid "Negative Slide" msgstr "Negativa lumbildo" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, fuzzy, no-c-format msgid "User defined CCT profile" msgstr "Agordita de la uzanto" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "Kondukta" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Elkluda" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Punktismo" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Difuzo de Eraro" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "White" msgstr "Nivelo de blanko" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, fuzzy, no-c-format msgid "Black" msgstr "Nivelo de nigro" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Continue" msgstr "Kondiĉa" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Horizontala" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Horizontala" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Horizontala" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Vertikala" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Vertikala" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Front" msgstr "Presu" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Meznuancoj" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Plenumu kalibrigon" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Emfazo de bildo" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Saturado" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "Ĝi elbligas aŭtomatan elekton de sojlo por duuma skanado." + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Spegula bildo" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Ĝi reflektas bildon horizontale." + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Nivelo de blanko laŭ bluo" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Mastrumu nivelon de ruĝo" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Filtrilo de Koloro" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Glatigo" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Valoro de Gama" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, fuzzy, no-c-format +msgid "Threshold curve" +msgstr "Sojlo" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Sojlo" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Redukto de bruo" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Neniu korektado" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Neniu korektado" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "Kovrilo de ADF estas malfermita" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Avanaj Opcioj" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Neniu korektado" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Eskludado" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "Moduso de provizilo" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Ripozo de lampo" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Deŝovo laŭ bluo" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Deŝovo laŭ verdo" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Deŝovo laŭ verdo" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Deŝovo laŭ bluo" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Ĝi agordas la deŝovon de la blua kanalo" + +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Fronta-dorsa skanado" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Avanaj Opcioj" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Redukto de bruo" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "El papero" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "El papero" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "El papero" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "El papero" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, fuzzy, no-c-format +msgid "Scanner in power saving mode" +msgstr "Kovrilo de ADF estas malfermita" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Mana prepara fokusigo" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Mana prepara fokusigo" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "Eraro de kontrolo de la aparataro" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Nivelo de blanko" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Regilo de denseco" + +#: backend/fujitsu.c:4549 +#, fuzzy, no-c-format +msgid "Density dial" +msgstr "Regilo de denseco" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Fronta-dorsa skanado" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Ekstraĵoj" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, fuzzy, no-c-format -msgid "Threshold curve" -msgstr "Sojlo" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "Malebligu interpoladon" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -2331,45 +3061,45 @@ msgstr "" "Kiam oni uzas altajn distingojn kun la horizontala malpli alta ol la " "verticala, la horizontala interpolado estas malebligata." -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtrilo de Koloro" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Kiam oni uzas grizan aŭ duuman kolorojn, tiu elektas uzatan koloron." -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrigo" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Difinu moduson de kalibrigo" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kaŝmemoro por kalibrigo" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "Ripozo de lampo" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2378,105 +3108,103 @@ msgstr "" "La lampo estos elŝaltata post la fiksita tempo (en minutoj). La valoro " "signifas ke la lampo neniam ripozos." -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Elŝaltita lampo dum kalibrigo de nigro" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" "Nombro da minutoj pasantaj inter la skanado kaj la elŝalto de la lampo" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, fuzzy, no-c-format msgid "File button" msgstr "Atendu butonon" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, fuzzy, no-c-format msgid "Power button" msgstr "Atendu butonon" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Atendu butonon" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Grajneca kalibrigo" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Ĝi devigas kalibrigon de skanilon antaŭ la skanado" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Butonoj" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrigu" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Startigu kalibrigadon." -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Grajneca kalibrigo" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Kaŝmemoro por kalibrigo" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "reguligilo de Diafaneco" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "Koloro por grizgamo" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Ĝi elektas la skan-koloron uzendan por la grizgamo (defaŭlto: verdo)." -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Opcioj de Sencimigo" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Aŭtomata varmigo" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2485,12 +3213,12 @@ msgstr "" "Ĝi varmigas la lampon tiel ke ĝia heleco estas sensanĝa anstataŭ ĉiufoja " "varmigo je 60 sekundoj." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Plena skanado" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2499,12 +3227,12 @@ msgstr "" "Ĝi skanas la tutan areon, do ĝi skanas ankaŭ la strion de kalibrigo. " "Atentu. Ne elektu plenan alton. Ĝi estas uzenda nur por testi." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Grajneca kalibrigo" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2515,12 +3243,12 @@ msgstr "" "malebligita, mane agordado de la parametroj estas ebligita. Tiu ĉi opcio " "estas defaŭlta. Ĝi estas uzenda nur por testi." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Grajneca kalibrigo nur por unua skanado" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2532,12 +3260,12 @@ msgstr "" "opcio se la heleco estas malsama en ĉiu skanita bildo. Ĝi estas uzenda " "nur por testi." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "Linioj de malavanco" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2550,83 +3278,83 @@ msgstr "" "Malaltaj valoroj ebligas pli rapidan skanadon sed pliigas la riskon pri " "mankantaj linioj." -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Valoro de Gama" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Ĝi agordas valoron de gama por ĉiuj kanaloj." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, no-c-format msgid "Geometry Group" msgstr "Geometria Grupo" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format msgid "Scan Mode Group" msgstr "Grupo de Moduso de Skanado" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Lumbildo" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, fuzzy, no-c-format msgid "Scanner model" msgstr "Moduso de skanado" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, fuzzy, no-c-format msgid "Disable gamma correction" msgstr "Korektado de analoga gama" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, fuzzy, no-c-format msgid "Gamma correction will be disabled" msgstr "Korektado de gama" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, fuzzy, no-c-format msgid "Disable white shading correction" msgstr "Plenumu nur korektadon de ombroj" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2634,12 +3362,12 @@ msgid "" "avoids depth emulation." msgstr "" -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, fuzzy, no-c-format msgid "Emulate Grayscale" msgstr "Grizgamo" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2647,370 +3375,364 @@ msgid "" "circumstances." msgstr "" -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " "analyze them." msgstr "" -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, fuzzy, no-c-format msgid "Reset chipset" msgstr "Re-agordu skanilon" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, fuzzy, no-c-format msgid "Information" msgstr "Ignoru kalibrigon" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, fuzzy, no-c-format msgid "Chipset name" msgstr "Dosiernomo" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "" -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, fuzzy, no-c-format msgid "Unknown" msgstr "nekonata" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, fuzzy, no-c-format msgid "Shows the chipset ID" msgstr "Re-agordu skanilon" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, fuzzy, no-c-format msgid "Scan counter" msgstr "Fonto de skanilo" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, fuzzy, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Elektu nombron da skanendaj filmeroj" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, fuzzy, no-c-format msgid "Update information" msgstr "Opcioj de ĝisdatigo" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, fuzzy, no-c-format msgid "This option reflects a front panel scanner button" msgstr "Tiuj ĉi opcioj agas sur la stato de la butonoj de la skanilo." -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Bildo" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Diversaĵoj" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "deŝovo X" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Hardvara interna pozicio de X en la skanada areo." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "deŝovo Y" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Hardvara interna pozicio de Y en la skanada areo." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Stato de la lampo" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Ŝaltu aŭ elŝaltu la lampon." -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Kalibrigu la nivelojn de nigro kaj blanko." -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "ADF" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, no-c-format msgid "TMA Slides" msgstr "TMA-Lumbildoj" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, no-c-format msgid "TMA Negatives" msgstr "TMA-Negativoj" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, no-c-format msgid "Color (48 bits)" msgstr "Koloro (48 bitoj)" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, no-c-format msgid "Extend lamp timeout" msgstr "Prokastu elŝalton de lampo" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Ĝi prokastas elŝalton de lampo (de 15 minutoj ĝis 1 horo)" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Atendu butonon" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "Ĝi atendas butonpremon antaŭ skanado" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "Avanaj Opcioj" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Grajna" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Fajna" # Bayer è il nome della persona che ha inventato questa matrice per il # dithering. -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Personigita" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Aŭtomata" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "Trapasanta" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSC-Grizo" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "XPA-Grizo" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Malrapida" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normala" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Rapida" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Tre Rapida" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2-bilderoj" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4-bilderoj" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8-bilderoj" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Presu" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Filmo" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "XPA" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Kondiĉa" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "Eksperimento" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Neteco" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Ĝi agordas la valoron de neteco." -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Aŭtomata Sojlo" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "Ĝi elbligas aŭtomatan elekton de sojlo por duuma skanado." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Glatigo" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Elektu filtrilon por glatigi." -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Elpelu bazon post skanado" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Ĝi elpelas la bazon post skanado." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Ŝangu dokumenton" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Ĝi ŝangas dokumenton." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Elpelu" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Elpelu Dokumenton." -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Startigu kalibrigadon." -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Bazo" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Agordu specon de bazo." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Ekspontempo" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -3023,464 +3745,463 @@ msgstr "" "kaj \"Negativo\" por filmoj. Por malhelaj bildoj (subeksponitaj) pliigu " "tiun ĉi valoro." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Matrico de Koloro" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Ĝi agordas matricon de koloro." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Personigita matrico de koloro." -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Matrico de Monokromata Koloro" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Personigita matrico de koloro por grizgamaj skanadoj." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Spegulu horizontale" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Ĝi reflektas bildon horizontale." -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Spegulu vertikale" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Ĝi reflektas bildon vertikale." -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Opcioj de ĝisdatigo" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Opcioj de ĝisdatigo." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "8-bita eligo" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "Uzu ene pli ol 8 bitoj de profundeco, sed eligu nur 8-bitojn." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Atendante frontan butonon" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "Ĝi atendas premon de la fronta butono de lo skanilo por skani." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Elŝaltu lampon" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Ĝi elŝaltas la lampon de la skanilo." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Grando de folio" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Mem-dividado" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 horizontala" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Ĝi ebligas moduson de la regado de denseco" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Mana prepara fokusigo" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Mana prepara fokusigo" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Ebligu frontan-dorsan skanado" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Grando de folio en provizilo" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "Meznuancoj" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Koloro" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "Kondiĉa" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "Elkluda" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" # Bayer è il nome della persona che ha inventato questa matrice per il # dithering. -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" # Bayer è il nome della persona che ha inventato questa matrice per il # dithering. -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Meznuancoj" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Meznuancoj" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, fuzzy, no-c-format msgid "diffusion" msgstr "Difuzo de Eraro" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normala" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Lumbrilo" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "skanilo por negativoj" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "El papero" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Defaŭlto" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Milda" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Malrapida" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Meza" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Ruĝo" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Verdo" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Fonto de skanilo" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Moduso de provizilo" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Agordu moduson de provizilo" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Ĝi ebligas/malebligas aŭtomatan fokusigon" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Ĝi ebligas moduson de la regado de denseco" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Agordu moduson de provizilo" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Agordu moduson de provizilo" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Aŭtomata sojlo" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3489,515 +4210,502 @@ msgstr "" "Heleco, kontrasto, nivelo de blanko, gama, redukto de bruo kaj emfazo de " "bildo estos aŭtomate agorditaj" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Redukto de bruo" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Ĝi reduktas bruon de izolitaj punktoj" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Emfazo de bildo" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Ĝiu ebligas emfazon de bildo" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gama" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Ŝaltu lampon" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Ŝaltu aŭ elŝaltu la lampon." -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Ĝi reflektas bildon vertikale." -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Korektado de gama" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "Altdensa printado" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "Malaltdensa printado" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, fuzzy, no-c-format msgid "err_diffusion" msgstr "Difuzo de Eraro" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Neniu korektado" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Normala" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Plibonigo" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Aŭtomata sojlo" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Aŭtomata sojlo" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "Agordu ordon por la bildoj" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Ombrumo laŭ bluo" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Ŝovu ruĝon al bluo" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamanto" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "8x8 grajna" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "8x8 fajna" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "8x8 Bayer" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 vertikal-linia" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Gajno" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Agordaĵoj pri la gajno de la kanaloj de koloro" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Gajno laŭ grizo" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Ĝi agordas la gajnon de la griza kanalo" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Gajno laŭ ruĝo" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Ĝi agordas la gajnon de la ruĝa kanalo" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Gajno laŭ verdo" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Ĝi agordas la gajnon de la verda kanalo" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Gajno laŭ bluo" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Ĝi agordas la gajnon de la blua kanalo" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Bayer-punktismo 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Bayer-punktismo 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Meznuanca punkto 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Meznuanca punkto 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Difuzo de Eraro" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Moduso 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Moduso 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Moduso 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "El blanka batoneto" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Milda" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Malalta" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Meza" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Alta" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "CRT" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Unu paĝo" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Ĉiuj paĝoj" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "skaner kun aŭtomata provizilo" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "Grizgamo je 4 bitoj" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "Grizgamo je 8 bitoj" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Ombroj, meznuancoj, kontrasto, ekspontempo" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Specialaj opcioj" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Ekvilibrigo de koloro" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Malebligu malavancon" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "Se ĝi estas ebligita, la skanilo ne plenumas malavancon" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Ŝanĝu staton de lampo de skanilo" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Ĝi ŝaltas aŭ elŝaltas la lampon de skanilo" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Mem-kalibrigo" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" @@ -4005,42 +4713,42 @@ msgstr "" "Se ĝi estas ebligita, la kalibrigo de koloro estas farita de " "internainterfaco" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Uzu adaptilon de lumbildoj je 35mm" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "Ĝi elŝaltas la lampon de la skanilo dum la skanado" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Kvalito de skanado" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Maks. kvalito sed min. rapideco" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Rapida skanado" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Maks. rapideco sed min. kvalito" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Mem-aranĝo de sojlo" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4049,67 +4757,67 @@ msgstr "" "Se ĝi estas markita, la interna interfaco aŭtomate provas determini " "optimuman valoron de sojlo." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Ĝi elektas la moduson de korektado de gama." -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Fiksa gama" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Ĝi uzas la saman valoron de gama por ĉiuj kanaloj." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Skalara gama" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Ĝi elektas valoron por korektado de skalara gama." -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Skalara gama laŭ ruĝo" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "Ĝi elektas valoron por korektado de skalara gama laŭ ruĝa kanalo" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Skalara gama laŭ verdo" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "Ĝi elektas valoron por korektado de skalara gama laŭ verda kanalo" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Skalara gama laŭ bluo" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Ĝi elektas valoron por korektado de skalara gama laŭ blua kanalo" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Kanalo" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." @@ -4117,211 +4825,211 @@ msgstr "" "Elektu bendon de koloro, \"Ĉefa\" signifas ke ĉiuj koloroj eltenas " "influon.saranno influenzati." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Meznuanco" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "" "Elektu nivelon de heleco kiu estus konsiderenda kiel \"50% grizo\"." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Meznuanco laŭ ruĝo" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Elektu nivelon de heleco kiu estus konsiderenda kiel \"50% ruĝo\"." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Meznuanco laŭ verdo" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "" "Elektu nivelon de heleco kiu estus konsiderenda kiel \"50% verdo\"." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Meznuanco laŭ bluo" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "Elektu nivelon de heleco kiu estus konsiderenda kiel \"50% bluo\"." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Ekvilibrigo de ruĝo" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "Faktoro de ekvilibriĝo leŭ ruĝo. 100% signifas neniun korekton." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Ekvilibrigo de verdo" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "Faktoro de ekvilibriĝo leŭ verdo. 100% signifas neniun korekton." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Ekvilibrigo de bluo" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "Faktoro de ekvilibriĝo leŭ bluo. 100% signifas neniun korekton." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Hardvardefaŭlta ekvilibrigo" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "" "Ĝi re-agordas la valorojn de ekvilibrigo per la defaŭtaj valoroj " "konservitaj en firmvaro" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Plej malrapida" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Pli malrapida" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Pli rapida" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Plej rapida" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 grajna" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 normala" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 fajna" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 tre fajna" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 normala" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 grajna" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 fajna" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 grajna" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 normala" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 fajna" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 normala" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 normala" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 personigita" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 personigita" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 personigita" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 personigita" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 personigita" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 personigita" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Rapida griza moduso" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Ĝi estas rapida skanado per grizgamo (malalta kvalito)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4330,117 +5038,117 @@ msgstr "" "Ĝi mendas ke ĉiuj antaŭmontroj estu skanitaj per la plej rapida moduso " "(malalta kvalito). Tiu ĉi povus esti sen koloroj aŭ kun malalta difino." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Ripozo de la lampo (en minutoj)" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Ĝi agordas la tempon (en minutoj) post kiu lampo estas elŝaltata." -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "Elŝaltu lampon" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Ĝi elŝaltas la lampon tuj." -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Heleco de ruĝo" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Ĝi mastrumas la helecon de la ruĝa kanalo de la akirita bildo." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Heleco de verdo" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Ĝi mastrumas la helecon de la verda kanalo de la akirita bildo." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Heleco de bluo" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Ĝi mastrumas la helecon de la blua kanalo de la akirita bildo." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Kontrasto de ruĝa kanalo" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Ĝi mastrumas la kontraston de la ruĝa kanalo de la akirita bildo." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Kontrasto de verda kanalo" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Ĝi mastrumas la kontraston de la verda kanalo de la akirita bildo." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrasto de blua kanalo" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Ĝi mastrumas la kontraston de la blua kanalo de la akirita bildo." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Koloro je 48 bitoj" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Koloro je 24 bitoj" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Grizo je 16 bitoj" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Grizo je 8 bitoj" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "Reflektita" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "Positiva filmo" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4449,39 +5157,39 @@ msgstr "" "Ĝi varmigas la lampon tiel ke ĝia heleco estas sensanĝa anstataŭ ĉiufoja " "varmigo je 40 sekundoj." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negativa filmo" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Fajna koloro" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Skanado mastrumita de butono" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4492,248 +5200,239 @@ msgstr "" "butonon \"SCAN\" (por ML150) aŭ \"COLOR\" (por aliaj modeloj). Por " "refuzi, premu la butonon \"GRAY\"." -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Ĝisdatigu staton de butono" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Butono 1" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Butono 2" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Diafaneco" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "Agordoj de aparato" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "Butono de lampo" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "Mane ŝalto de la lampo(j)." -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, no-c-format msgid "Lamp off during dark calibration" msgstr "Elŝaltita lampo dum kalibrigo de nigro" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "Ĝi ĉiam elŝaltas la lampon dum la kalibrigo de nigro." -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "Kaŝmemoro por kalibrigo" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "Ĝi ebligas aŭ malebligas kaŝmemoron por kalibrigo." -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, no-c-format msgid "Performs calibration" msgstr "Plenumu kalibrigon" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "Sentilo de akcelo" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "Ĝi ebligas aŭ malebligas movadon de la sentilo de akcelo." -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "Tempo de varmigo" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "Tempo en sekundoj por varmigi la lampon." -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "Ripoztempo de lampo" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "Tempo en sekundoj dum kiu la lampo restas elŝaltata." -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "Analoga fasado" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "Valoro de gajno laŭ ruĝo de la analoga fasado" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Deŝovo laŭ ruĝo" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "Valoro de deŝovo laŭ ruĝo de la analoga fasado" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "Valoro de gajno laŭ verdo de la analoga fasado" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Deŝovo laŭ verdo" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "Valoro de deŝovo laŭ verdo de la analoga fasado" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "Valoro de gajno laŭ bluo de la analoga fasado" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Deŝovo laŭ bluo" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "Valoro de deŝovo laŭ bluo de la analoga fasado" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "Ruĝa lampo elŝaltita" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "Ĝi agordas la parametron pri elŝaltado de la ruĝa lampo" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "Ruĝa lampo elŝaltita" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "Ĝi agordas la parametron pri elŝaltado de la verda lampo" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "Ruĝa lampo elŝaltita" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "Ĝi agordas la parametron pri elŝaltado de la blua lampo" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "Tiuj ĉi opcioj agas sur la stato de la butonoj de la skanilo." -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Koloro je 36 bitoj" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Punktismmapo 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Punktismmapo 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Aleatorigu" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Elekto de Fonto" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Plibonigo de Bildo" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Grizigu" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Ĝi ŝargas la bildon kiel grizgaman" -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Simulado de 3-pasa skanilo" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4742,12 +5441,12 @@ msgstr "" "Ĝi simulas akiradon en tri pasadoj per reveno de tri bildoj: unue la " "verda, poste la blua kaj fine la ruĝa." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Simulado de mana skanilo" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4758,49 +5457,49 @@ msgstr "" "la alton de la bildon apriore, do ili revenigas alton kun valoro -1. Per " "tiu ĉi opcio, oni povas testi ke la fasado estas ĝuste mastrumita." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." msgstr "" "Uzu defaŭltajn valorojn por regiloj de plibonigo (kontrasto kaj heleco)." -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Opcio por nurlega testado" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Ĝi kontrolas ke la fasado plenumas tion korekte aŭ ne." -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Tabeloj de Gama" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Simulado de valoro pri stato" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Ne perfortu la valoron pri stato" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Ne perfortu la internan interfacon revenigi valoron pri stato." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Revenigu SANE_STATUS_EOF" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4809,12 +5508,12 @@ msgstr "" "Ĝi perfortas la internan interfacon revenigi la valoron pri stato " "SANE_STATUS_EOF post la alvoko de la funkcio sane_read()." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Revenigu SANE_STATUS_JAMMED" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4823,12 +5522,12 @@ msgstr "" "Ĝi perfortas la internan interfacon revenigi la valoron pri stato " "SANE_STATUS_JAMMED post la alvoko de la funkcio sane_read()." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Revenigu SANE_STATUS_NO_DOCS" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4837,12 +5536,12 @@ msgstr "" "Ĝi perfortas la internan interfacon revenigi la valoron pri stato " "SANE_STATUS_NO_DOCS post la alvoko de la funkcio sane_read()." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Revenigu SANE_STATUS_COVER_OPEN" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4851,12 +5550,12 @@ msgstr "" "Ĝi perfortas la internan interfacon revenigi la valoron pri stato " "SANE_STATUS_COVER_OPEN post la alvoko de la funkcio sane_read()." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Revenigu SANE_STATUS_IO_ERROR" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4865,12 +5564,12 @@ msgstr "" "Ĝi perfortas la internan interfacon revenigi la valoron pri stato " "SANE_STATUS_IO_ERROR post la alvoko de la funkcio sane_read()." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Revenigu SANE_STATUS_NO_MEM" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4879,12 +5578,12 @@ msgstr "" "Ĝi perfortas la internan interfacon revenigi la valoron pri stato " "SANE_STATUS_NO_MEM post la alvoko de la funkcio sane_read()." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Revenigu SANE_STATUS_ACCESS_DENIED" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4893,86 +5592,83 @@ msgstr "" "Ĝi perfortas la internan interfacon revenigi la valoron pri stato " "SANE_STATUS_ACCESS_DENIED post la alvoko de la funkcio sane_read()." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, fuzzy, no-c-format msgid "This option reflects the status of a scanner button." msgstr "Tiuj ĉi opcioj agas sur la stato de la butonoj de la skanilo." -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Ŝaltu lampon" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Ĝi ŝaltas la lampon de la skanilo" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Elŝaltu lampon" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Ĝi elŝaltas la lampon de la skanilo" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "Tempo antaŭ la ripozo de la lampo" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "" "Nombro da minutoj pasantaj inter la skanado kaj la elŝalto de la lampo" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "Valoro de sojlo por duuma moduso" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Provizilo por dokumentoj" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 coloj (~15x10 cm)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 coloj (~20x25 cm)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 coloj (~21x28 cm)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Mez-nuancoj Nesubtenitaj" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "DispersedDot8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "DispersedDot16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -4988,27 +5684,27 @@ msgstr "" "estas tro alta, X-bazitaj fasadoj povus halti respondante al X-eventoj, " "kaj do tiu povus kraŝi aŭ bloki la sistemon." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Ĝi elpelas la dokumento post la skanado" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Moduso de antaŭmontro" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -5017,12 +5713,12 @@ msgstr "" "Ĝi elektas la moduson de la antaŭmontro: grizgama antaŭmontro kutime " "donas la plej bonan kompromison inter rapideco kaj detaleco." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Antaŭdeterminitaj valoroj" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -5030,97 +5726,97 @@ msgid "" msgstr "" "Ĝi havigas standartajn areojn de skanado por fotoj, presitaj paĝoj k.t.p." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "plata skanilo" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, fuzzy, no-c-format msgid "Focus-mode" msgstr "Fokuso" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Mem-fokusigo" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Lokiĝo de Fokusigo" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Lokiĝo de Fokusigo" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Koloraj linioj por ĉiu legado" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Ĝrizgamaj linioj por ĉiu legado" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "retkamerao" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "RAW-koloro" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "RGB-koloro" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Koloro RGB-TEKSTO" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Solida negro" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Solida blanko" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Ŝablono de koloro" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Krado" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Unua enigo" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Dua enigo" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5129,12 +5825,12 @@ msgstr "" "Tiu ĉi estas tre longa tria enigo. Eble la fasado havas ideon por " "kiamaniere montri ĝin." -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Simulado de mana skanilo" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5147,12 +5843,12 @@ msgstr "" "valoro -1. Per tiu ĉi opcio, oni povas testi ke la fasado estas ĝuste " "mastrumita. Tiu ĉi opcio ebligas ankaŭ fiksan alton je 11 cm." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Simulado de 3-pasa skanilo" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5161,19 +5857,19 @@ msgstr "" "Ĝi simulas akiradon (de 3-pasa skanilo) en tri pasadoj. En moduso de " "koloro, ĝi redonas tri bildojn." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Agordu ordon por la bildoj" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "" "Ĝi agordas la sinsekvon de la bildojn en moduso de koloro de 3-pasa " "skanado." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " @@ -5182,17 +5878,17 @@ msgstr "" "Se la aŭtomata provizilo por dokumentoj estas elektita, la provizilo " "estos malplena post 10 skanadoj." -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Specialaj Agordoj" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Elektu la bildon de testo" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5209,12 +5905,12 @@ msgstr "" "dependantaj de la moduso\n" "Krado: ĝi desegnas kradon per blankaj-nigraj fakoj je 10mm." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Inverigu la \"endianness\"" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5225,24 +5921,24 @@ msgstr "" "de 16 bitoj. Tiu ĉi opcio estas uzebla por testi la 16-bita moduson de " "la fasadoj, t.e. se la fasado korekte uzas la \"endianness\"." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Limo de legado" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" "Ĝi limigas la kvanton da datumoj transigitan kun ĉiu alvoko al " "sane_read()." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Grando de la legadlimo" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." @@ -5250,22 +5946,22 @@ msgstr "" "La (maksimuma) kvanto da datumoj transigita kun ĉiu alvoko al " "sane_read()." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Malfruo de legado" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Ĝi malfruigas la transigon de datumoj al la dukto." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Daŭro de legad-malfruo" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." @@ -5273,12 +5969,12 @@ msgstr "" "Kiom da tempo ĝi atendas poste ke oni transigis ĉiun bufron de datumoj " "tra la dukto." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Reven-valoro de sane_read" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5289,22 +5985,22 @@ msgstr "" "korekta mastrumo de la skanado. Ĉiuj aliaj stat-kodoj utilas por testi " "kiamaniere la fasado mastrumas ilin." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Bilderperdo por ĉiu linio" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Nombro da bilderoj fuŝuzitaj en la fino de ĉiu linio." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Svagaj parametroj" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5313,23 +6009,23 @@ msgstr "" "Ĝi revenigas svagajn liniojn kaj bitojn por ĉiu linio kiam " "sane_parameters() estas alvokata antaŭ sane_start()." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Uszi ne-blokantan eneligon" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Ĝi uzas ne-blokantan eneligon por sane_read() se la fasado subtenas ĝin." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Proponu la priskribilon de elektita dosiero" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5338,12 +6034,12 @@ msgstr "" "Ĝi proponas la priskribilon de dosiero por kontroli se sane_read() " "revenigos datumojn." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Ebligu opciojn por testi" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5353,27 +6049,27 @@ msgstr "" "kapablon de la fasado vidi kaj modifi ĉiujn diversajn specojn de opcio " "de SANE." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Presu la opciojn" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Ĝi presas la liston de ĉiuj opcioj." -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Buleaj opcioj por testi" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) Bulea, simbola elektado simbola rekonado" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5382,12 +6078,12 @@ msgstr "" "(1/6) Bulea test-opcio kiu havas simbola-elektantan kaj simbola-" "rekonantan (kaj avanajn) kapablojn. Ĝi estas ordinara bulea opcio." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Bulea, rekta elektado simbola rekonado" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5399,12 +6095,12 @@ msgstr "" "agordebla de la fasado, sed nur de la uzanto mem (t.e. per premo de " "butono sur la aparato).dispositivo)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Bulea, rekta elektado" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5416,12 +6112,12 @@ msgstr "" "nur de la uzanto mem (t.e. per premo de butono sur la aparato) kaj ĝi ne " "estas legebla de la fasado." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) Bulea, simbola rekonado" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5430,12 +6126,12 @@ msgstr "" "(4/6) Bulea test-opcio kiu havas simbola-rekonantan (kaj avanajn) " "kapablojn. Tio signifas ke la opcio estas nur-legebla." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Bulea, simbola elektado simbola rekonado emulado" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5444,12 +6140,12 @@ msgstr "" "Bulea test-opcio kiu havas simbola-rekonantan, simbola-elektantan kaj " "emulan (kaj avanajn) kapablojn." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) Bulea, simbola elektado simbola rekonado aŭtomata" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5460,27 +6156,27 @@ msgstr "" "kaj aŭtomatan kaj avanajn) kapablojn. Tiu ĉi opcio estas aŭtomate " "agordebla de la interna intefaco." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Entjeraj test-opcioj" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Entjero" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "(1/6) Entjera test-opcio sen mezurunito kaj trudoj." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Entjera kun intervalo" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5489,36 +6185,36 @@ msgstr "" "(2/6) Entjera test-opcio kun bilder-unito kaj trudo de intervalo. La " "minimuma valoro estas 4, la maksimuma estas 192, la paŝo estas 2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) Entjera kun listo" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" "(3/6) Entjera test-opcio kun bit-mezurunito kaj trudo de valor-listo." "lista." -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Entjera tabelo" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " "constraints." msgstr "(4/6) Entjera test-opcio kun mm kaj uzo de iu tabelo sen trudoj." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) Entjera tabelo kun intervalo" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5528,12 +6224,12 @@ msgstr "" "tabelo kiu havas trudon de intervalo. La minimuna valoro estas 4, la " "maksimuma estas 192 kaj la paŝo estas 2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Entjera tabelo kun listo" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5542,27 +6238,27 @@ msgstr "" "(6/6) Entjera test-opcio kun procenta mezurunito kaj tabelo kiu havas " "trudon de listo de valoroj." -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Test-opcioj laŭ fiksa komo" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Fiksa komo" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "(1/3) Laŭ fiksa komo testopcio sen mezurunito kaj sen trudoj." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Fiksa komo kun intervalo" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5572,49 +6268,49 @@ msgstr "" "de intervalo. La minimuma valoro estas -42,17, la maksimuma estas " "32767,9999 kaj la paŝo estas 2,0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3)Fiksa komo kun listo" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" "(3/3) Laŭ fiksa komo testopcio sen mezurunito kaj kun trudo de listo de " "valoroj." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "Ĉenaj test-opcioj" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) Ĉeno" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) Ĉena test-opcio sen trudoj." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) Ĉeno kun listo de ĉenoj" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "(2/3) Ĉena test-opcio kun trudo de listo de ĉenoj." -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) Ĉeno kun longa listo de ĉenoj" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5623,156 +6319,160 @@ msgstr "" "(3/3) Ĉena test-opcio kun trudo de listo de ĉenoj. Ĝi entenas pli enigoj " "ol la alia ĉena opcio kun listo..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Butonaj test-opcioj" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1)Butono" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Butona test-opcio. Ĝi presas tekston..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Koloro je 36 bitoj" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Uzu Kunmetadon de Bildoj" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Du-nivela nigro-blanko (duuma)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Puntkisma/meznuanca nigro-blanko (stompita meznuanco)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Plurnivela nigro-blanko (grizgamo)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Plur-nivela RGB-koloro (unu-pasa koloro)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Ignoru kalibrigon" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Malebligu preparan fokusigon" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Ne kalibrigu fokusigon" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Mana prepara fokusigo" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Pozicio de fiksa fokuso" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Kalibrigo de la lenso en la lokiĝo de la dokumento" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Kalibrigo de fokuso de la lenso en la lokiĝo de la dokumento" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Fokusigo je 0mm (sur la vitro)" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Uzu fokusiĝon je 0mm anstataŭ 0.6mm" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Moduso de kalibrigo" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Difinu moduson de kalibrigo" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Ĝi ŝaltas/elŝaltas la lampon" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "Ŝaltu UTA" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Ĝi ŝaltas/elŝaltas la reguligilon de diafaneco" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Deŝovo" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Agordoj de deŝovo laŭ kanaloj de koloro" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Deŝovo laŭ grizo" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Ĝi agordas la deŝovon de la griza kanalo" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Ĝi agordas la deŝovon de la ruĝa kanalo" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Ĝi agordas la deŝovon de la verda kanalo" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Ĝi agordas la deŝovon de la blua kanalo" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Moduso de antaŭmontro" + #~ msgid "problem not analyzed (unknown SCSI class)" #~ msgstr "la problemo ne estis analizita (nekonata SCSI-klaso)" diff --git a/po/es.gmo b/po/es.gmo new file mode 100644 index 0000000..7960492 Binary files /dev/null and b/po/es.gmo differ diff --git a/po/es.po b/po/es.po index 00339e2..6ecc019 100644 --- a/po/es.po +++ b/po/es.po @@ -5,12 +5,12 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2009-06-25 10:22+0100\n" "Last-Translator: Miguel Anxo Bouzada \n" "Language-Team: GALPon MiniNo \n" -"Language: \n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -19,411 +19,405 @@ msgstr "" "X-Poedit-Language: Spanish\n" "X-Poedit-Country: SPAIN\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Número de opciones" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "Estándar" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometría" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Mejora" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Avanzado" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "Sensores" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Previsualizar" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Forzar vista previa monocroma" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Bit de profundidad" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Modo de escaneo" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Velocidad de escaneo" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Origen de escaneo" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Forzar retroceso" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Arriba-izquierda X" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Arriba-izquierda Y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Abajo-derecha X" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Abajo-derecha Y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Resolución de escaneo" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "Resolución X" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Resolución Y" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "Ancho de página" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, no-c-format msgid "Page height" msgstr "Altura de página" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Usar tabla gamma personalizada" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Intensidad de imagen" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Intensidad de rojo" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Intensidad de verde" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Intensidad de azul" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Brillo" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Contraste" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Tamaño del grano" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Medios tonos" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Nivel de negro" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Nivel de blanco" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Nivel de blanco para rojo" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Nivel de blanco para verde" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Nivel de blanco para azul" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Sombra" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Sombra para rojo" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Sombra para verde" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Sombra para azul" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Resalte" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Resalte para rojo" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Resalte para verde" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Resalte para azul" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Matiz" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Saturación" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Nombre de archivo" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Tamaño del patrón de medios tonos" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Patrón de medios tonos" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Enlazar resoluciones X e Y" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Calibración de calidad" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Doble resolución óptica" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Enlazar RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Umbral" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Corrección gamma analógica" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Gamma analógico rojo" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Gamma analógico verde" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Gamma analógico azul" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Enlazar gamma analógico" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Calentamiento de lámpara" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Cal. tiempo de exposición" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Cal. tiempo de exposición para rojo" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Cal. tiempo de exposición para verde" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Cal. tiempo de exposición para azul" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Tiempo de exposición para escaneo" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Tiempo de exposición para rojo" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Tiempo de exposición para verde" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Tiempo de exposición para azul" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Ajustar tiempo de exposición" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Cal. densidad de lámpara" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Densidad de lámpara de escaneo" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Ajustar densidad de lámpara" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Apagar la lámpara al salir" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -432,37 +426,37 @@ msgstr "" "Opción de sólo lectura que establece cuantas opciones soporta un " "dispositivo específico." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, no-c-format msgid "Source, mode and resolution options" msgstr "Origen, opciones de modo y resolución" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "Opciones del área de escaneo y tamaño del soporte" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, no-c-format msgid "Image modification options" msgstr "Opciones de modificación de imagen" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, no-c-format msgid "Hardware specific options" msgstr "Opciones especificas de hardaware" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "Sensores y botones del escáner" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Solicitar una vista previa de calidad del escaneo." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -474,7 +468,7 @@ msgstr "" "un escáner de una pasada esto reduce los requisitos de memoria y el " "tiempo de escaneo de la vista previa." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -483,64 +477,64 @@ msgstr "" "Número de bits por muestra, valores típicos son 1 para «linea de arte» y " "8 para escaneos multibit." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" "Selecciona el modo de escaneo (ej. línea de arte, monocromo, ó color)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Determina la velocidad a la que se hace el escaneo." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "" "Selecciona el origen del escaneo (tal como un alimentador de documentos)." -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Controla si se fuerza el retroceso" -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Posición X arriba-izquierda del área de escaneo." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Posición Y arriba-izquierda del área de escaneo." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Posición X abajo-derecha del área de escaneo." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Posición Y abajo-derecha del área de escaneo." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Ajusta la resolución de la imagen escaneada." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Ajusta la resolución horizontal de la imagen escaneada." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Ajusta la resolución vertical de la imagen escaneada." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " @@ -549,18 +543,18 @@ msgstr "" "Especifica la anchura del soporte. Necesario para el centrado automático " "de hojas de escaneo." -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, no-c-format msgid "Specifies the height of the media." msgstr "Especifica la altura del soporte" -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." msgstr "Determina si debe usarse una tabla gamma interna ó personalizada." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -571,32 +565,32 @@ msgstr "" "los canales de rojo, verde y azul simultáneamente (ej. es una tabla de " "intensidad gamma)." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Tabla de corrección gamma para la gama roja." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Tabla de corrección gamma para la gama verde." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Tabla de corrección gama para la gamma azul." -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Controla el brillo de la imagen obtenida." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Controla el contraste de la imagen obtenida." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -605,67 +599,67 @@ msgstr "" "Selecciona el «granulado» de la imagen obtenida. Valores más pequeños " "dan como resultado imágenes mejor definidas." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" "Selecciona si la imagen obtenida debe ser convertida a medios tonos " "(punteado)." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "Selecciona que nivel de radiancia debe tenerse en cuenta «negro»." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "Selecciona que nivel de radiancia debe tenerse en cuenta «blanco»." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" "Selecciona que nivel de radiancia rojo debe tenerse en cuenta «blanco»." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" "Selecciona que nivel de radiancia verde debe tenerse en cuenta «blanco»." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" "Selecciona que nivel de radiancia azul debe tenerse en cuenta «blanco»." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" "Selecciona que nivel de radiancia rojo debe tenerse en cuenta «negro»." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" "Selecciona que nivel de radiancia verde debe tenerse en cuenta «negro»." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" "Selecciona que nivel de radiancia azul debe tenerse en cuenta «negro»." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Selecciona que nivel de radiancia rojo debe tenerse en cuenta «rojo " "total»." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." @@ -673,7 +667,7 @@ msgstr "" "Selecciona que nivel de radiancia verde debe tenerse en cuenta «verde " "total»." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." @@ -681,12 +675,12 @@ msgstr "" "Selecciona que nivel de radiancia azul debe tenerse en cuenta «azul " "total»." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Contola el «matiz» (nivel de azul) de la imagen obtenida." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -696,12 +690,12 @@ msgstr "" "que ocurre cuando se obtiene una imagen con una cámara. Valores más " "altos producen más florecimiento." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Nombre de archivo de la imagen a cargar." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -710,7 +704,7 @@ msgstr "" "Ajusta el tamaño del patrón de medios tonos (punteado) usado cuando se " "escanean imágenes de medios tonos." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." @@ -718,287 +712,287 @@ msgstr "" "Define el patrón de medios tonos (punteado) para escanear imágenes de " "medios tonos." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Usar los mismos valores para la resolución X e Y." -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Intercambiar blanco y negro" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Hacer una calibración de calidad de blancos " -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Usar lente que duplica la resolución óptica" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "En modo RGB usar los mismos valores para cada color" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Seleccionar el brillo mínimo para obtener un punto blanco" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Corrección gamma analógica" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Corrección gamma analógica para rojo" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Corrección gamma analógica para verde" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Corrección gamma analógica para azul" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Calentar la lámpara antes de escanear" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Definir tiempo de exposición para calibración" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Definir tiempo de exposición para calibración de rojo" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Definir tiempo de exposición para calibración de verde" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Definir tiempo de exposición para calibración de azul" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Definir tiempo de exposición para escaneo" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Definir tiempo de exposición para escaneo de rojo" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Definir tiempo de exposición para escaneo de verde" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Definir tiempo de exposición para escaneo de azul" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Activar selección del tiempo de exposición" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Definir densidad de la lámpara para calibración" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Definir densidad de la lámpara para escaneo" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Activar la selección de la densidad de la lámpara" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Apaga la lámpara al salir del programa" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, no-c-format msgid "Scan button" msgstr "Botón de control de escaneo" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, no-c-format msgid "Email button" msgstr "Botón de correo-e" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, no-c-format msgid "Fax button" msgstr "Botón de fax" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, no-c-format msgid "Copy button" msgstr "Botón de copia" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "Botón de PDF" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "Botón de cancelar" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "Página cargada" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, no-c-format msgid "Cover open" msgstr "La tapa está abierta" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Color" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Linea de arte a color" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Medios tonos a color" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Gris" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Medios tonos" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Línea de arte" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "Importación con éxito" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, no-c-format msgid "Operation not supported" msgstr "Operación no soportada" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "La operación va a ser cancelada" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "Dispositivo ocupado" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "Argumento incorrecto" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "Fin de archivo alcanzado" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, no-c-format msgid "Document feeder jammed" msgstr "Alimentador de documentos atascado" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, no-c-format msgid "Document feeder out of documents" msgstr "El alimentador de documentos está vacio" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "La tapa del escáner está abierta" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "Error en dispositivo de E/S" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "No queda memoria" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "Se ha denegado el acceso al recurso" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "La lámpara no está preparada, intentelo de nuevo" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "El escáner está bloqueado para transporte" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Predeterminados" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Ajustar valores predeterminados para los controles de mejora." -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Calibración" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Calibrar antes del siguiente escaneo" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -1008,12 +1002,12 @@ msgstr "" "En otro caso, la calibración se realizará únicamente antes del primer " "escaneo." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Realizar sólo correcciones de sombras" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1025,27 +1019,27 @@ msgstr "" "desplazamiento y tiempo de exposición, ya sean los que trae incorporados " "el programa o los del archivo de configuración." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Botón de estado" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Número de muestra a escanear" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Selecciona el número de muestra a escanear" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "Escaneo a dos caras" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" @@ -1053,433 +1047,430 @@ msgstr "" "El escaneo a dos caras proporciona un escaneo del anverso y el reverso " "del documento" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Calibrar el escáner" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Fuerza la calibración del escáner antes de realizar el escaneo" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Escaneo en escala de grises" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Escanea en escala de grises, no en color" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Ganancia analógica" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Aumenta o disminuye la ganancia analógica de la gama CCD" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Corrección gamma" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Selecciona la curva de transferencia de la corrección gamma" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "En bruto" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "Color fino" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Sin corrección de transparencia" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "Correción de acuerdo con el tipo de película" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "Corrección conforme con la tasa de transparencia" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, no-c-format msgid "Negatives" msgstr "Negativos" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, no-c-format msgid "Slides" msgstr "Diapositivas" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automático" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, no-c-format msgid "Normal speed" msgstr "Velocidad normal" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "1/2 de la velocidad normal" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "1/3 de la velocidad normal" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "parámetro redondeado" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "desconocido/a" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "atasco en el alimentador" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "la tapa del alimentador está abierta" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, no-c-format msgid "lamp failure" msgstr "fallo de lámpara" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "error en el posicionamiento del cabezal de escaneo" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "Error de verificación de CPU" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "Error de verificación de RAM" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "Error de verificación de ROM" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "error de verificación de hardware" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "fallo de la lámpara de unidad de transparencias" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" "fallo de posición del cabezal de escaneo de la unidad de transparencias" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "error en la longitud de la lista de parámetros" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "código de orden de operación incorrecto" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "campo incorrecto en CDB" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "LUN no soportado" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "campo incorrecto en la lista de parámetros" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "error en la secuencia de ordenes" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "se especificaron demasiadas ventanas" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "no se encuentra el soporte" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "mensaje de bit de IDENTIFICACIÓN incorrecto" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "la opción no conecta" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "reiniciar el encendido / reiniciar el bus del dispositivo" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "parámetro cambiado por otro iniciador" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "sin información adicional" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "fallo al volver a escoger" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "error de paridad SCSI" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "el iniciador detectó la recepción deun mensaje de error" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "mensaje de error incorrecto" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "error de límite de tiempo" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "error de sombreado en la unidad de transparencias" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "lámpara no estabilizada" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "escáner de películas" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "escáner plano" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Tipo de película" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Seleccionar el tipo de película, p.e. negativo o diapositiva" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, no-c-format msgid "Negative film type" msgstr "Tipo de película negativo" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "Selecciona el tipo de negativo de película" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "Resolución del hardware" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "Usar sólo resoluciones de hardware" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "Enfoque" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "Enfoque automático" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "Activar/desactivar enfoque automático" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "Enfoque automático solo una vez" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Hacer enfoque automático solo una vez entre expulsiones" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "Posición de foco manual" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" "Ajustar el sistema óptico de foco en la posición manual (predeterminado: " "128)." -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "Márgenes de escaneo" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "Ajustes de color extra" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Invertir imagen" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "Invierte la imagen horizontalmente" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "Exposición automática" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Activar/desactivar la característica de exposición automática" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, no-c-format msgid "Calibration now" msgstr "Calibrar ahora" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, no-c-format msgid "Execute calibration *now*" msgstr "Ejecutar calibración *ahora*" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "Autodiagnóstico" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Realizar autodiagnóstico del escáner" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, no-c-format msgid "Reset scanner" msgstr "Reiniciar escáner" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "Reiniciar el escáner" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "Manejar el soporte" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "Expulsar la película después de cada escaneo" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" "Expulsar automáticamente la película del dispositivo después de cada " "escaneo" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "Expulsar la película antes de salir" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" @@ -1487,610 +1478,604 @@ msgstr "" "Expulsar automáticamente la película del dispositivo antes de salir del " "programa" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "Expulsar película ahora" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "Expulsar la película *ahora*" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "Alimentador de documentos extras" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "Sólo plano" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" "Desactivar el alimentador automático de documentos y usar sólo el plano" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "Unidad de transparencias" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" "Activar/desactivar la unidad de transparencias (FAU, unidad adaptadora " "de película)" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, no-c-format msgid "Negative film" msgstr "Película en negativo" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, no-c-format msgid "Positive or negative film" msgstr "Película en positivo o en negativo" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "Control de densidad" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "Ajustar el modo de control de densidad" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "Tasa de transparencia" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "Seleccionar tipo de película" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "Seleccionar el tipo de película" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Plana" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, fuzzy, no-c-format msgid "ADF Front" msgstr "la tapa del alimentador está abierta" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "atasco en el alimentador" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "Alimentador a dos caras" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Imprimir" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Dos caras" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Rojo" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Verde" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Azul" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Mejora" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Mejora" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Mejora" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Ninguno" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Una cara" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Dos caras" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Unidad de transparencias" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Alimentador automático de documentos (ADF)" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Película en positivo" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Película en negativo" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Enfoque en el cristal" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Enfoque a 2.5mm sobre el cristal" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Medios tonos A (tonos duros)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Medios tonos B (tonos suaves)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Medios tonos C (matizado)" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Trama A (4x4 Bayer)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Trama B (4x4 espiral)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Trama C (4x4 matizado)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Trama D (8x4 matizado)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Tecnología de mejora de texto" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Descargar patrón A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Descargar patrón B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Sin corrección" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Definida por el usuario" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Impresoras matriciales" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Impresoras térmicas" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Impresoras de inyección de tinta" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "Monitores CRT" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Predeterminado" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Impresión de alta densidad" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Impresión de baja densidad" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Impresión de alto contraste" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Definido por el usuario (gamma=1.0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Definido por el usuario (gamma=1.8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 vertical" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 apaisado" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Carta" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Máx" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Modo de escaneo" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Selecciona medios tonos" -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Exclusión" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Seleccionar lo que se va a excluir." -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Selecciona el brillo." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Enfoque" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Corrección de color" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" "Ajusta la tabla de corrección del color para el dispositivo de salida " "seleccionado." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Coeficientes de corrección de color" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Matriz de multiplicación de RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Cambiar de verde a rojo" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Cambiar de verde a azul" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Cambiar de rojo a verde" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Cambiar de rojo a azul" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Cambiar de azul a verde" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Cambiar de azul a rojo" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Controla el nivel de verde" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Añade rojo basándose en el nivel de verde" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Añade azul basándose en el nivel de verde" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Añade verde basándose en el nivel de rojo" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Controla el nivel de rojo" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Añade azul basándose en el nivel de rojo" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Añade verde basándose en el nivel de azul" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Añade rojo basándose en el nivel de azul." -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Controla el nivel de azul" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Invertir la imagen." -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Vista previa rápida" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Segmentación automática de área" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Lista corta de resoluciones" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Mostrar lista corta de resoluciones" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Acercamiento" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Define el factor de zoom que usará el escáner" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Formato rápido" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Equipamiento opcional" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Expulsar" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Expulsar la hoja del alimentador" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Expulsión automática" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Expulsar el documento después del escaneo" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "Modo alimentador" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Seleccionar el modo del alimentador (una cara/dos caras)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Bahía" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Seleccione la bahía para escanear" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2100,12 +2085,12 @@ msgstr "" "predefinidos o de una tabla definida por el usuario, que puede ser " "descargada al escáner." -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Posición del foco" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" @@ -2113,12 +2098,12 @@ msgstr "" "Ajusta la posición del foco, ya sea al cristal o a 2.5mm por encima del " "cristal" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Esperar por el botón" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2127,219 +2112,966 @@ msgstr "" "Después de enviar la orden de escanear, esperar hasta que se presione el " "botón del escáner para empezar realmente el proceso de escaneo." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" msgstr "Diapositiva en positivo" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, no-c-format msgid "Negative Slide" msgstr "Diapositiva en negativo" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, fuzzy, no-c-format msgid "User defined CCT profile" msgstr "Definida por el usuario" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "Activo" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Apagado" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Difuminado" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Difusión de error" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "White" msgstr "Nivel de blanco" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, fuzzy, no-c-format msgid "Black" msgstr "Nivel de negro" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Continue" msgstr "Condicional" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Horizontal" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Horizontal" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Vertical" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Front" msgstr "Imprimir" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Medios tonos" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Calibración de precisión" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Resalte de imagen" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Saturación" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "" +"Activar la determinación automática de umbral para escaneos como línea " +"de arte." + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Invertir imagen" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Invertir la imagen horizontalmente." + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Nivel de blanco para azul" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Controla el nivel de rojo" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Filtro de color" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Suavizado" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Valor gamma" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, fuzzy, no-c-format +msgid "Threshold curve" +msgstr "Umbral" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Umbral" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Reducción de ruido" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Sin corrección" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Sin corrección" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "la tapa del alimentador está abierta" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Opciones avanzadas" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Sin corrección" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Exclusión" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "Modo de alimentación" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Tiempo de espera de la lámpara" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Desviación azul" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Desviación verde" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Desviación verde" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Desviación azul" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Ajusta el desplazamiento del canal de azul" + +#: backend/fujitsu.c:3980 +#, fuzzy, no-c-format +msgid "Low Memory" +msgstr "No queda memoria" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Escaneo a dos caras" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Opciones avanzadas" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Reducción de ruido" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "Del papel" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "Del papel" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "Del papel" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "Del papel" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, fuzzy, no-c-format +msgid "Scanner in power saving mode" +msgstr "La tapa del escáner está abierta" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Foco previo manual" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Foco previo manual" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "error de verificación de hardware" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Nivel de blanco" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Control de densidad" + +#: backend/fujitsu.c:4549 +#, fuzzy, no-c-format +msgid "Density dial" +msgstr "Control de densidad" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Escaneo a dos caras" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, fuzzy, no-c-format -msgid "Threshold curve" -msgstr "Umbral" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "Desactivar interpolación" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -2348,45 +3080,45 @@ msgstr "" "Cuando se usan altas resoluciones en las que la resolución horizontal es " "más pequeña que la vertical, esto desactiva la interpolación horizontal." -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtro de color" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Cuando se usa gris o línea de arte esta opción selecciona el color usado." -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibración" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Define el modo de calibración" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Caché de datos de calibración" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "Tiempo de espera de la lámpara" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2395,105 +3127,103 @@ msgstr "" "La lámpara será apagada después del tiempo dado (en minutos). Un valor " "de 0 significa que la lámpara no será apagada" -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Apagar la lámpara durante la calibración de oscuridad" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Minutos que tardará la lámpara en apagarse tras el escaneo" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, no-c-format msgid "File button" msgstr "Botón de archivo" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "Botón de OCR" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, no-c-format msgid "Power button" msgstr "Botón de energía" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Botón de correo-e" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Limpiar la calibración" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Fuerza la calibración del escáner antes de realizar el escaneo" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Botones" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibrar" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, no-c-format msgid "Start calibration using special sheet" msgstr "Iniciar calibración usando una hoja especial" -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, no-c-format msgid "Clear calibration" msgstr "Limpiar la calibración" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, no-c-format msgid "Clear calibration cache" msgstr "Limpiar la caché de datos de calibración" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptador de transparencias" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "Color en modo gris" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Selecciona qué color de escaneo se usará en modo gris (predefinido: " "verde)." -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Opciones de depuración" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Calentamiento automático" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2502,12 +3232,12 @@ msgstr "" "Calentar hasta que el brillo de la lámpara sea constante en vez de " "esperar por los 60 segundos de calentamiento." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Escaneo completo" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2516,12 +3246,12 @@ msgstr "" "Escanear todo el área de escaneado incluyendo la franja de calibración. " "Tenga cuidado. No seleccione la altura total. Sólo para pruebas." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Calibración tosca" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2533,12 +3263,12 @@ msgstr "" "opciones de ajuste de los parámetros de forma manual en la interfaz " "analógica. Esta opción está activada como predefinida. Solo para pruebas." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Calibración tosca sólo para el primer escaneo" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2550,12 +3280,12 @@ msgstr "" "de la imagen es diferente con cada escaneo, desactive esta opción. Sólo " "para pruebas." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "Lineas de vuelta atrás" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2567,85 +3297,85 @@ msgstr "" "lo que el equipo puede recibir datos. Valores bajos hacen que los " "escaneos sean más rápidos, pero aumentan los riesgos de omitir líneas." -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Valor gamma" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Ajusta el valor gamma para todos los canales." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, no-c-format msgid "Geometry Group" msgstr "Grupo de geometría" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format msgid "Scan Mode Group" msgstr "Grupo de modo de escaneo" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Diapositiva" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, no-c-format msgid "Scanner model" msgstr "Modelo de escáner" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, fuzzy, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" "Permite comprobar el comportamiento del dispositivo con otros modelos " "soportados" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "Las imágenes de color se invertirán" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, no-c-format msgid "Disable gamma correction" msgstr "Desactivar corrección gamma" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, no-c-format msgid "Gamma correction will be disabled" msgstr "La corrección gamma se desactivará" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, no-c-format msgid "Disable white shading correction" msgstr "Desactivar la corrección de sombra blanca" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "La corrección de sombra blanca se desactivará" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "Omitir proceso de calentamiento" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "El proceso de calentamiento se desactivará" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "Forzar profundidad real" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2656,12 +3386,12 @@ msgstr "" "para mejorar la calidad de la imagen y después convertirla a la " "profundidad seleccionada. Esta opción evita la emulación de profundidad." -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, no-c-format msgid "Emulate Grayscale" msgstr "Emular escala de grises" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2672,12 +3402,12 @@ msgstr "" "convertida a escala de grises por software. Esto puede mejorar la " "calidad de la imagen en algunas circunstancias." -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "Guardar imágenes de depuración" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " @@ -2686,359 +3416,353 @@ msgstr "" "Si se activa, algunas imágenes implicadas en el proceso de escaneo se " "guardarán para analizarlas." -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, no-c-format msgid "Reset chipset" msgstr "Reiniciar el chipset" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "Reiniciar los datos del chipset" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, no-c-format msgid "Information" msgstr "Información" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, no-c-format msgid "Chipset name" msgstr "Nombre del chipset" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "Muestra el nombre del chipset usado en el dispositivo." -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "Desconocido" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "ID del chipset" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, no-c-format msgid "Shows the chipset ID" msgstr "Mostrar la ID del chipset" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, no-c-format msgid "Scan counter" msgstr "Contador de escaneos" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Mostrar el número de escaneos hechas por el escáner" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, no-c-format msgid "Update information" msgstr "Actualizar información" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "Actualiza la información acerca del dispositivo" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "Esta opción refleja un botón del panel frontal del escáner" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Imagen" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Varios" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "posición X" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Posición X interna en el hardware de la zona de escaneo." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "posición Y" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Posición Y interna en el hardware de la zona de escaneo." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Estado de la lámpara" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Enciende o apaga la lámpara" -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Calibrar el nivel de blanco y negro." -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "Alimentador automático de documentos (ADF)" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, no-c-format msgid "TMA Slides" msgstr "Adaptador (TMA) para diapositivas" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, no-c-format msgid "TMA Negatives" msgstr "Adaptador (TMA) para negativos" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, no-c-format msgid "Color (48 bits)" msgstr "Color (48 bits)" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, no-c-format msgid "Extend lamp timeout" msgstr "Retardar el tiempo de apagado de la lámpara" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" "Retarda los tiempos de apagado de la lámpara (de 15 minutos a 1 hora)" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Esperando por el botón" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "Esperando por el botón antes de escanear" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "Opciones avanzadas" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Gruesa" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Fina" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Personalizado" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Auto" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "Adaptador de transparencias RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "A través" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSC Gris" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "Adaptador de transparencias gris" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Lento" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Rápido" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Muy rápido" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2-píxeles" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4-píxeles" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8-píxeles" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Imprimir" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Tira de película" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "Adaptador de transparencias (XPA)" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Condicional" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "Experimento" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Nitidez" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Ajustar el valor de nitidez." -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Umbral automático" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" "Activar la determinación automática de umbral para escaneos como línea " "de arte." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Suavizado" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Seleccionar filtro de suavizado." -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Descargar soporte después de escanear" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Descargar los soportes después de escanear." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Cambiar documento" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Cambiar documento." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Descargar" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Descargar documento" -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Iniciar proceso de calibración" -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Soporte" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Ajustar tipo de soporte." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Tiempo de exposición" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -3051,462 +3775,461 @@ msgstr "" "para película en negativo. Para imágenes oscuras (subexpuestas) puede " "incrementar este valor." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Matriz de color" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Ajustar la matriz de color del escáner." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Matriz de color personalizada." -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Matriz monocromo" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Matriz de color personalizada para escáneres en escala de grises." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Inversión horizontal" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Invertir la imagen horizontalmente." -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Inversión vertical" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Invertir la imagen verticalmente." -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Actualizar opciones" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Actualizar opciones." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "Salida de 8 bits" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" "Usar bit de profundidad mayor de ocho internamente, pero en la salida " "usar sólo ocho bits." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Esperar botón frontal" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "Esperar a que se presione en el botón frontal para escanear." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Apagar lámpara" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Apagar la lámpara del escáner." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Tamaño del papel" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Separación automática" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 apaisado" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Ajustar el modo de control de densidad" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Foco previo manual" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Foco previo manual" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Activa el escaneo por las dos caras" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Tamaño físico del papel en el alimentador" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "Medios tonos" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Color" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "Condicional" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "Apagado" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Medios tonos" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Medios tonos" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, fuzzy, no-c-format msgid "diffusion" msgstr "Difusión de error" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normal" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Resalte" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "escáner de películas" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Del papel" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Predeterminado" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Suave" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Lento" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Soporte" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Rojo" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Verde" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Origen de escaneo" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Modo de alimentación" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Ajusta el modo de alimentación" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Activar/desactivar enfoque automático" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Ajustar el modo de control de densidad" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Ajusta el modo de alimentación" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Ajusta el modo de alimentación" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Umbral automático" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3515,515 +4238,502 @@ msgstr "" "Ajusta automáticamente el brillo, contraste, niveles de blanco, gamma y " "reducción de intensidad del ruido de la imagen" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Reducción de ruido" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Reduce los puntos aislados de ruido" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Resalte de imagen" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Ajusta el resalte de la imagen" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Encender lámpara" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Enciende o apaga la lámpara" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Invertir la imagen verticalmente." -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Corrección gamma" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "Impresión de alta densidad" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "Impresión de baja densidad" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, fuzzy, no-c-format msgid "err_diffusion" msgstr "Difusión de error" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Sin corrección" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Normal" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Mejora" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Umbral automático" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Umbral automático" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "Ajustar el orden de las muestras" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Sombra para azul" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Cambiar de rojo a azul" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamante" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "8x8 «Engrasado» tosco" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "8x8 «Engrasado» fino" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "8x8 Bayer" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 Línea vertical" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Ganancia" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Ajustes de ganancia de los canales de color" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Ganancia de gris" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Ajusta la ganancia del canal de gris" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Ganancia de rojo" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Ajusta la ganancia del canal de rojo" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Ganancia de Verde" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Ajusta la ganancia del canal de verde" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Ganancia de Azul" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Ajusta la ganancia del canal de azul" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Trama Bayer 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Trama Bayer 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Medio tono punto 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Medio tono punto 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Difusión de error" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Modo 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Modo 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Modo 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "De palo blanco" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Suave" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Bajo" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Soporte" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Alto" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "CRT" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Una página" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Todas las páginas" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "escáner con cargador automático" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "Escala de grises de 4 bits" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "Escala de grises de 8 bits" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Sombras, medias tintas, resalte, tiempo de exposición" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Opciones especiales" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Balance de color" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Desactivar retroceso" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "Si se selecciona, el escáner no retrocede cuando pierde una línea" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Conmutar el estado de lámpara del plano" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Conmuta el estado de lámpara del plano" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Calibración por el motor" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" @@ -4031,42 +4741,42 @@ msgstr "" "Si se selecciona la calibración del color antes del escaneo la hace el " "motor" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Usar el adaptador de diapositivas de 35mm" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "Esta opción apaga la lámpara del plano durante el escaneo" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Escaneo de calidad" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "La mejor calidad, pero a velocidad lenta" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Escaneo rápido" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Más rápido, pero de peor calidad" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Ajuste automático de umbral" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4075,70 +4785,70 @@ msgstr "" "Si se selecciona, el motor intenta determinar automáticamente un valor " "óptimo para el umbral." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Selecciona el modo de corrección gamma" -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Asociar gamma" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Usar los mismos valores gamma para todos los canales de colores." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Gamma escalar" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Seleccionar un valor para la corrección gamma escalar." -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Gamma escalar rojo" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "" "Seleccionar un valor para la corrección gamma escalar (canal de rojo)" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Gamma escalar verde" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "" "Seleccionar un valor para la corrección gamma escalar (canal de verde)" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Gamma escalar azul" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "" "Seleccionar un valor para la corrección gamma escalar (canal de azul)" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Canal" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." @@ -4146,212 +4856,212 @@ msgstr "" "Selecciona la gama de color, «Master» significa que afecta a todos los " "colores." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Medias tintas" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "Selecciona que nivel de radiancia debe ser considerado «50% gris»." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Medias tintas para rojo" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Selecciona que nivel de radiancia debe ser considerado «50% rojo»." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Medias tintas para verde" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "" "Selecciona que nivel de radiancia debe ser considerado «50% verde»." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Medias tintas para azul" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "Selecciona que nivel de radiancia debe ser considerado «50% azul»." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Balance de rojo" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "" "Factor de balance para rojo. Un valor de 100% significa sin corrección." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Balance de verde" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "" "Factor de balance para verde. Un valor de 100% significa sin corrección." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Balance de azul" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "" "Factor de balance para azul. Un valor de 100% significa sin corrección." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Balance de firmware" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "" "Ajusta el balance de color a los valores facilitados por el firmware." -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "El más lento" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Más lento" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Más rápido" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "El más rápido" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 tosco" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 normal" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 fino" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 muy fino" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 normal" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 tosco" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 fino" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 tosco" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 normal" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 fino" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 normal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 normal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 personalizado" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 personalizado" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 personalizado" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 personalizado" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 personalizado" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 personalizado" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Modo gris rápido" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Escanear en modo gris rápido (menor calidad)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4360,117 +5070,117 @@ msgstr "" "Precisa que todas las vistas previas se hagan del modo más rápido (baja " "calidad). Este puede ser un modo sin color o un modo de baja resolución." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Tiempo de apagado de lámpara (minutos)" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Ajustar el tiempo (en minutos) tras el que se apagará la lámpara." -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "Apagar la lámpara" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Apaga la lámpara inmediatamente." -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Brillo de rojo" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Controla el brillo del canal de rojo de la imagen obtenida." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Brillo de verde" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Controla el brillo del canal de verde de la imagen obtenida." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Brillo de azul" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Controla el brillo del canal de azul de la imagen obtenida." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Contraste de canal de rojo" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Controla el contraste del canal de rojo de la imagen obtenida." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Contraste de canal de verde" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Controla el contraste del canal de verde de la imagen obtenida." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Contraste de canal de azul" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Controla el contraste del canal de azul de la imagen obtenida." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Color 48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Color 24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Gris 16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Gris 8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "Reflectantes" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "Positivo" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4479,39 +5189,39 @@ msgstr "" "Calentar hasta que el brillo de la lámpara sea constante en vez de " "esperar por los 40 segundos de calentamiento." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Película en negativo" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Color fino" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Botón de control de escaneo" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4522,248 +5232,239 @@ msgstr "" "proceder, haga clic en el botón \"SCAN\" (para MP150) o \"COLOR\" (para " "otros modelos). Para cancelar, haga clic en el botón \"GRAY\"." -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Actualizar estado del botón" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Botón 1" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Botón 2" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Transparencia" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "Ajustes del dispositivo" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "Interruptor de lámpara" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "Cambiar la(s) lámpara(s) manualmente." -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, no-c-format msgid "Lamp off during dark calibration" msgstr "Apagar la lámpara durante la calibración de oscuridad" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "Apagar siempre la lámpara cuando se calibra la oscuridad." -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "Caché de datos de calibración" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "Activa o desactiva la caché de datos de calibración" -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, no-c-format msgid "Performs calibration" msgstr "Calibración de precisión" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "Acelerar el sensor" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "Activa o desactiva la aceleración de movimiento del sensor." -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "Tiempo de calentamiento" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "Tiempo de calentamiento en segundos." -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "Tiempo de apagado de lámpara" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "Tiempo de apagado de lámpara en segundos." -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "Interfaz analógica (AFE)" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "Valor de ganancia de rojo en el AFE" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Desviación rojo" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "Valor de la desviación de rojo en el AFE" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "Valor de ganancia de verde en el AFE" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Desviación verde" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "Valor de la desviación de verde en el AFE" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "Valor de ganancia de azul en el AFE" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Desviación azul" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "Valor de la desviación de azul en el AFE" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "Apagar lámpara roja" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "Define los parámetros de apagado de lámpara roja" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "Apagar lámpara verde" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "Define los parámetros de apagado de lámpara verde" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "Apagar lámpara azul" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "Define los parámetros de apagado de lámpara azul" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "Esta opción refleja el estado de los botones del escáner" -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Color 36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Mapa de trama 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Mapa de trama 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Aleatorio" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Selección de origen" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Mejora de la Imagen" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Agrisar" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Cargar la imagen como escala de grises." -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Simulación de tres pasadas" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4772,12 +5473,12 @@ msgstr "" "Simula un escáner de tres pasadas devolviendo 3 muestras separadas. Por " "diversión, devuelve verde, después azul y finalmente rojo." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Simulación de escáner manual" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4789,7 +5490,7 @@ msgstr "" "retorno -1. Ajustando esta opción permite comprobar si una interfaz " "puede manejar esto correctamente." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." @@ -4797,42 +5498,42 @@ msgstr "" "Ajustar los valores predeterminados para los controles de mejora (brillo " "y contraste)" -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Opción de prueba de sólo lectura" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Veamos si la interfaz puede tratar esto correctamente" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Tablas gamma" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Simulación del código de estado" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "No forzar el código de estado" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "No forzar al motor a devolver un código de estado." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Devuelve SANE_STATUS_EOF" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4841,12 +5542,12 @@ msgstr "" "Forzar al motor a devolver el código de estado de SANE_STATUS_EOF " "después de haber sido llamado sane_read()." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Devuelve SANE_STATUS_JAMMED" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4855,12 +5556,12 @@ msgstr "" "Forzar al motor a devolver el código de estado de SANE_STATUS_JAMMED " "después de haber sido llamado sane_read()." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Devuelve SANE_STATUS_NO_DOCS" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4869,12 +5570,12 @@ msgstr "" "Forzar al motor a devolver el código de estado de SANE_STATUS_NO_DOCS " "después de haber sido llamado sane_read()." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Devuelve SANE_STATUS_COVER_OPEN" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4883,12 +5584,12 @@ msgstr "" "Forzar al motor a devolver el código de estado de SANE_STATUS_COVER_OPEN " "después de haber sido llamado sane_read()." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Devuelve SANE_STATUS_IO_ERROR" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4897,12 +5598,12 @@ msgstr "" "Forzar al motor a devolver el código de estado de SANE_STATUS_IO_ERROR " "después de haber sido llamado sane_read()." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Devuelve SANE_STATUS_NO_MEM" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4911,12 +5612,12 @@ msgstr "" "Forzar al motor a devolver el código de estado de SANE_STATUS_NO_MEM " "después de haber sido llamado sane_read()." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Devuelve SANE_STATUS_ACCESS_DENIED" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4925,85 +5626,82 @@ msgstr "" "Forzar al motor a devolver el código de estado de " "SANE_STATUS_ACCESS_DENIED después de haber sido llamado sane_read()." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "Esta opción refleja el estado de los botones del escáner" -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Encender lámpara" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Enciende la lámpara del escáner" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Apagar lámpara" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Apaga la lámpara del escáner" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "Límite de tiempo de lámpara" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "Minutos que tardará la lámpara en apagarse tras el escaneo" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "Valor de umbral para el modo de línea de arte" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Alimentador de documentos" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (pulg.)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 (pulg.)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 (pulg.)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Medios tonos no compatibles" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "Punto disperso 8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "Punto disperso 16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -5019,27 +5717,27 @@ msgstr "" "demasiado alto, basado en interfaces X puede dejar de responder a " "eventos de X y su sistema se podría atascar." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Expulsar el documento después del escaneo" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Modo de vista previa" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -5049,12 +5747,12 @@ msgstr "" "grises proporciona en general, la mejor relación entre velocidad y " "detalle." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Ajustes predefinidos" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -5063,97 +5761,97 @@ msgstr "" "Proporciona superficies de escaneo estándar para fotografías, páginas " "impresas, etc." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "escáner plano" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, fuzzy, no-c-format msgid "Focus-mode" msgstr "Enfoque" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Enfoque automático" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Posición del foco" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Posición del foco" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Color, líneas por lectura" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Escala de grises, líneas de por lectura" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "cámara web" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Color en BRUTO" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Color RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Color RGB TEXTO" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Negro sólido" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Blanco sólido" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Patrón de color" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Rejilla" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Primera entrada" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Segunda entrada" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5162,12 +5860,12 @@ msgstr "" "Esta tercera entrada es muy larga. Tal vez la interfaz tiene una idea de " "cómo mostrarlo" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Simulación de escaneo manual" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5181,12 +5879,12 @@ msgstr "" "puede manejar esto correctamente. Esta opción también permite un ancho " "de 11cm." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Simulación de tres pasadas" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5195,18 +5893,18 @@ msgstr "" "Simula un escaneo de tres pasadas. En el modo color, se generan tres " "muestras." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Ajustar el orden de las muestras" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "" "Ajustar el orden de las muestras en el modo de tres pasadas de color." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " @@ -5215,17 +5913,17 @@ msgstr "" "Si se selecciona el alimentador automático de documentos, el alimentador " "estará «vacío» tras 10 escaneos." -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Opciones especiales" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Seleccione la imagen de prueba" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5243,12 +5941,12 @@ msgstr "" "Rejilla: dibuja una rejilla en blanco y negro con un tamaño de 10mm por " "cuadrado." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Invertir el orden de los datos" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5259,45 +5957,45 @@ msgstr "" "modo de 16 bits. Esta opción puede utilizarse para la prueba de 16 bits " "de los modos de interfaz, p.ej. si la interfaz utiliza el orden correcto." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Límite de lectura" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" "Limita la cantidad de datos transferidos con cada llamada a sane_read()." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Tamaño del límite de lectura" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." msgstr "" "Cantidad de datos (máxima) transferida con cada llamada a sane_read()." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Retardo de lectura" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Retardar la transferencia de datos a la canalización." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Duración del retardo de lectura" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." @@ -5305,12 +6003,12 @@ msgstr "" "Cuanto tiempo se esperará después de transferir cada búfer de datos a " "través de la canalización." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Valor de retorno de sane_read" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5321,22 +6019,22 @@ msgstr "" "normal para hacer el escaneo. Todos los demás códigos de estado son para " "probar la forma en que la interfaz se encarga de ellos." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Pérdida de píxeles por línea" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Número de píxeles que se pierden en el extremo de cada línea." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Parámetros difusos" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5345,23 +6043,23 @@ msgstr "" "Devuelve líneas difusas y bytes por línea cuando se llama a sane_start() " "antes que a sane_parameters()." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Usar E/S no bloqueante" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Usar una E/S no bloqueante para sane_red() si lo permite la interfaz." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Proponer la selección de un descriptor de archivo" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5370,12 +6068,12 @@ msgstr "" "Proponer la selección un descriptor de archivo para detectar si " "sane_read () devolverá los datos." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Activar opciones de prueba" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5385,27 +6083,27 @@ msgstr "" "de las interfaces para ver y modificar los diferentes tipos de opciones " "de SANE." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Imprimir las opciones" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Imprimir una lista de todas las opciones" -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Opciones de prueba «Booleanas»" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) Booleana configurable y legible por software" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5414,12 +6112,12 @@ msgstr "" "(1/6) Opción de prueba booleana configurable y legible por el software. " "Esta es la opción booleana normal. " -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Booleana configurable por hardware legible por software" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5430,12 +6128,12 @@ msgstr "" "el software. Esta opción no puede ser ajustada por la interfaz, pero si " "por el usuario (p.ej. pulsando un botón en el dispositivo)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Booleana configurable por hardware" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5447,12 +6145,12 @@ msgstr "" "pulsando un botón en el dispositivo) tampoco puede ser leída por la " "interfaz ." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) Booleana lexible por software" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5461,12 +6159,12 @@ msgstr "" "(4/6) Opción de prueba booleana legible por el software Esta es una " "opción de sólo lectura." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Booleana configurable y legible por software, emulada" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5475,12 +6173,12 @@ msgstr "" "(5/6) Opción de prueba booleana configurable y legible por el software y " "emulada." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) Booleana configurable y legible por software, automática" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5490,29 +6188,29 @@ msgstr "" "(6/6) Opción de prueba booleana configurable y legible por el software y " "emulada. Esta opción puede ser ajustada automáticamente por el motor." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Opciones de prueba «Entero»" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Entero" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "" "(1/6) Opción de prueba de valor entero sin unidad ni conjunto de " "restricciones." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Entero con rango de restricciones" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5521,24 +6219,24 @@ msgstr "" "(2/6) Opción de prueba de valor entero con unidad de píxel y con " "conjunto de restricciones, El mínimo es 4, el máximo 192 y el salto 2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) Entero con restricción de lista de valores" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" "(3/6) Opción de prueba de valor entero con unidad bits y restricción de " "lista de valores" -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Matriz de enteros" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " @@ -5547,12 +6245,12 @@ msgstr "" "(4/6) Opción de prueba de valor entero con unidad mm usando una matriz " "con restricciones." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) Matriz de enteros con rango de restricciones" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5562,12 +6260,12 @@ msgstr "" "matriz con rango de restricciones. El mínimo es 4, el máximo 192, y el " "salto 2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Matriz de enteros con restricción de lista de valores" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5576,29 +6274,29 @@ msgstr "" "(6/6) Opción de prueba de valor entero con unidad % y usando una matriz " "con restricciones en una lista de valores," -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Opción de prueba «Real fijo»" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Real fijo" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "" "(1/3) Opción de prueba de valor real (coma fija) sin unidad ni conjunto " "de restricciones." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Real fijo con rango de restricción" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5608,50 +6306,50 @@ msgstr "" "microsegundo y rango de restricción. El mínimo es -42,17, el máximo " "32767,9999 y el salto 2,0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) Real fijo con restricción de lista de valores" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" "(3/3) Opción de prueba de valor real (coma fija) sin unidad y " "restringida por un conjunto de valores de una lista." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "Opciones de prueba de cadena" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) Cadena" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) Opciones de prueba de cadena sin restricciones." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) Cadena restringida a lista de cadenas" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "" "(2/3) Opción de prueba de cadena con restricción de lista de cadenas" -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) Restricción de cadenas lista larga de cadenas" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5660,156 +6358,160 @@ msgstr "" "(3/3) Opción de prueba de cadena con restricción de lista de cadenas. " "Contiene más entradas..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Opciones de botón de prueba" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Botón" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Botón de opción de prueba. Imprime algún texto..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Color 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Usar composición de imagen" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Dos niveles blanco y negro (modo de línea de arte)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Difuminado/medios tonos blanco y negro (modo medios tonos)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Multinivel blanco y negro (modo de escala de grises)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Multinivel color RGB (color de una pasada)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Ignorar calibración" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Desactivar foco previo" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "No calibrar foco" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Foco previo manual" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Fijar la posición de foco" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Calibración de lentes en la posición del documento" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Calibrar las lentes en la posición del documento" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Marcar la posición del foco a 0mm" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Usar la marca de posición de foco a 0mm en vez de a 0,6mm" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Modo de calibración" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Define el modo de calibración" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Enciende/apaga la lámpara" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "UTA Activado" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Ajusta el encendido/apagado UTA" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Desplazamiento" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Ajustes del desplazamiento de los canales de color" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Desplazamiento de gris" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Ajusta el desplazamiento del canal de gris" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Ajusta el desplazamiento del canal de rojo" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Ajusta el desplazamiento del canal de verde" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Ajusta el desplazamiento del canal de azul" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Modo de vista previa" + #~ msgid "problem not analyzed (unknown SCSI class)" #~ msgstr "problema no analizado (clase de SCSI desconocido)" diff --git a/po/fi.gmo b/po/fi.gmo new file mode 100644 index 0000000..a3616bd Binary files /dev/null and b/po/fi.gmo differ diff --git a/po/fi.po b/po/fi.po index 6d73c2f..7aeae26 100644 --- a/po/fi.po +++ b/po/fi.po @@ -5,459 +5,453 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.11\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2007-12-17 23:00+0100\n" "Last-Translator: Harri Järvi \n" "Language-Team: Debian l10n Finnish \n" -"Language: \n" +"Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Asetusten määrä" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometria" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Parannus" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Lisäasetukset" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Esikatselu" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Pakota yksiväriset esikatselut" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Bittisyvyys" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Lukutapa" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Kuvanlukunopeus" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Lähde" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Käytä jäljitystä" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Vasen yläkulma x" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Vasen yläkulma y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Oikea alakulma x" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Oikea alakulma y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Kuvanluvun tarkkuus" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "X-tarkkuus" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Y-tarkkuus" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, fuzzy, no-c-format msgid "Page height" msgstr "Korostus" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Käytä omaa gammataulukkoa" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Kuvan voimakkuus" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Punaisen voimakkuus" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Vihreän voimakkuus" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Sinisen voimakkuus" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Kirkkaus" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Kontrasti" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Hiukkaskoko" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Rasterointi" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Mustataso" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Valkotaso" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Punaisen valkotaso" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Vihreän valkotaso" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Sinisen valkotaso" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Varjo" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Punaisen varjo" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Vihreän varjo" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Sinisen varjo" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Korostus" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Punaisen korostus" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Vihreän korostus" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Sinisen korostus" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Sävy" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Kylläisyys" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Tiedostonimi" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Rasterikuvion koko" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Rasterikuvio" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Sido X- ja Y-tarkkuus" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negatiivi" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Laatukalibrointi" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Kaksinkertainen optinen tarkkuus" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Sido RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Kynnys" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Analoginen gammakorjaus" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Analoginen gamma (punainen)" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Analoginen gamma (vihreä)" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Analoginen gamma (sininen)" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Sido analoginen gamma" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Lämmitä lamppu" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Kal. valotusaika" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Kal. valotusaika punaiselle" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Kal. valotusaika vihreälle" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Kal. valotusaika siniselle" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Valotusaika" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Punaisen valotusaika" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Vihreän valotusaika" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Sinisen valotusaika" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Aseta valotusaika" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Kal. valomäärä" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Lampun valomäärä" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Aseta lampun valomäärä" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Valo pois lopetettaessa" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " "supports." msgstr "Asetus, joka määrää kuinka monta asetusta tietty laite tukee." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, fuzzy, no-c-format msgid "Source, mode and resolution options" msgstr "Lyhyt tarkkuuslista" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, fuzzy, no-c-format msgid "Image modification options" msgstr "Asetusten määrä" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, fuzzy, no-c-format msgid "Hardware specific options" msgstr "Kuvanluvun tarkkuus" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Pyydä laadukas esikatselukuva." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -469,7 +463,7 @@ msgstr "" "Yksivaihekuvanlukijalla, se vähentää muistinkulutusta ja esikatselun " "lukuaikaa." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -478,75 +472,75 @@ msgstr "" "Bittien määrä näytettä kohden. Tyypillisiä arvoja ovat 1 " "viivapiirrokselle ja 8 monibittikuville." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" "Valitsee kuvanlukutavan (esim. viivapiirros, mustavalkoinen tai väri)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Määrää kuvanlukunopeuden." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Määrää kuvanlukulähteen (kuten dokumentin syöttäjän)." -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Määrää käytetäänkö jäljitystä." -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Kuva-alueen vasemman yläkulman x-koordinaatti." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Kuva-alueen vasemman yläkulman y-koordinaatti." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Kuva-alueen oikean alakulman x-koordinaatti." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Kuva-alueen oikean alakulman y-koordinaatti." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Asettaa luettavan kuvan tarkkuus." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Asettaa luettavan kuvan vaakatarkkuuden." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Asettaa luettavan kuvan pystytarkkuuden." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " "sheet-fed scans." msgstr "" -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, fuzzy, no-c-format msgid "Specifies the height of the media." msgstr "Asettaa luettavan kuvan tarkkuus." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." @@ -554,7 +548,7 @@ msgstr "" "Päättää käytetäänkö sisäänrakennettua vai käyttäjän asettamaa " "gammataulukkoa." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -565,32 +559,32 @@ msgstr "" "punaiseen, vihreään ja siniseen kanavaan yhtä aikaa. Se on siis " "intensiteettigamma-taulukko." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Gamma-korjaustaulukko punaiselle kaistalle." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Gamma-korjaustaulukko vihreälle kaistalle." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Gamma-korjaus taulukko siniselle kaistalle." -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Asettaa luettavan kuvan kirkkauden" -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Asettaa luettavan kuvan kontrastin." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -599,77 +593,77 @@ msgstr "" "Asettaa kuvien \"rakeisuuden\". Pienemmät arvot tuottavat terävämpiä " "kuvia." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "Määrää, rasteroidaanko kuva." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "Asettaa kirkkaustason, joka tulkitaan \"mustaksi\"." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "Asettaa kirkkaustason, joka tulkitaan \"valkoiseksi\"." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "Asettaa punaisen kirkkaustason, joka tulkitaan \"valkoiseksi\"." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "Asettaa vihreän kirkkaustason, joka tulkitaan \"valkoiseksi\"." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "Asettaa sinisen kirkkaustason, joka tulkitaan \"valkoiseksi\"." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "Asettaa punaisen kirkkaustason, joka tulkitaan \"mustaksi\"." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "Asettaa vihreän kirkkaustason, joka tulkitaan \"mustaksi\"." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "Asettaa sinisen kirkkaustason, joka tulkitaan \"mustaksi\"." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Asettaa punaisen kirkkaustason, joka tulkitaan \"täysin punaiseksi\"." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." msgstr "" "Asettaa vihreän kirkkaustason, joka tulkitaan \"täysin vihreäksi\"." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." msgstr "" "Asettaa sinisen kirkkaustason, joka tulkitaan \"täysin siniseksi\"." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Määrää kuvan \"sävyä\" (sinistasoa)." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -678,305 +672,305 @@ msgstr "" "Kylläisyystaso vaikuttaa \"puhkipalamiseen\" kameralla kuvattaessa. " "Suuremmat arvot aiheuttavat enemmän puhkipalamista." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Ladattavan kuvan tiedostonimi." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " "halftoned images." msgstr "Asettaa rasterikuvion koon rasterikuvia luettaessa." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." msgstr "Asettaa rasterikuvion koon rasterikuvia luettaessa." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Käytä samoja arvoja X- ja Y-tarkkuudelle" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Vaihda musta ja valkoinen keskenään" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Tee tarkka valkokalibrointi" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Käytä linssiä joka tuplaa optisen tarkkuuden" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "RGB-tilassa käytä samoja arvoja joka värille" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Valitse valkoisen pisteen pienin kirkkaus" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Analoginen gamma-korjaus" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Analgoinen gamma-korjaus punaiselle" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Analoginen gamma-korjaus vihreälle" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Analoginen gamma-korjaus siniselle" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Lämmitä lamppu ennen kuvanlukua" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Aseta valotusaika kalibroinnille" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Aseta valotusaika punaisen kalibroinnille" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Aseta valotusaika vihreän kalibroinnille" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Aseta valotusaika sinisen kalibroinnille" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Aseta valotusaika kuvanluvulle" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Aseta valotusaika punaiselle kuvanluvulle" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Aseta valotusaika vihreälle kuvanluvulle" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Aseta valotusaika siniselle kuvanluvulle" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Valotusajan asettaminen" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Määritä valomäärä kalibrointia varten" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Määritä valomäärä kuvanlukua varten" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Valomäärän valinta" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Sammuttaa valon ohjelmasta poistuttaessa" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, fuzzy, no-c-format msgid "Scan button" msgstr "Kuvanluvun tarkkuus" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, fuzzy, no-c-format msgid "Email button" msgstr "Odota painiketta" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, fuzzy, no-c-format msgid "Fax button" msgstr "Odota painiketta" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, fuzzy, no-c-format msgid "Copy button" msgstr "Odota painiketta" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, fuzzy, no-c-format msgid "Cover open" msgstr "Värikuvio" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Väri" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Väriviivapiirros" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Värirasteri" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Harmaasävy" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Rasteri" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Viivapiirros" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, fuzzy, no-c-format msgid "Operation not supported" msgstr "Rasterointi ei ole tuettu" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, fuzzy, no-c-format msgid "Document feeder jammed" msgstr "Asiakirjan syöttäjä" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, fuzzy, no-c-format msgid "Document feeder out of documents" msgstr "Asiakirjan syöttäjä" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Oletukset" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Aseta oletusasetukset parantimille." -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Kalibrointi" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Kalibroi ennen seuraavaa kuvanlukua" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -985,12 +979,12 @@ msgstr "" "Jos asetus on päällä, laite kalibroidaan ennen seuraavaa kuvanlukua. " "Muuten kalibrointi suoritetaan vain ensimmäisellä kerralla." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Vain sävykorjaus" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1001,1058 +995,1049 @@ msgstr "" "Oletusasetukset vahvistukselle, siirtymälle ja valotusajalle, joko " "asetustiedostosta tai ohjelman sisäänrakennetuista asetuksista." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Painikkeen tila" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Luettavan kehyksen numero" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Valitsee luettavan kehyksen numeron" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, fuzzy, no-c-format msgid "Duplex scan" msgstr "Kaksipuolinen" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Kalibroi kuvanlukija" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Pakottaa kalibroinnin ennen kuvanlukua." -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Harmaasävy" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Lue harmaasävykuva värikuvan sijaan" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Analoginen vahvistus" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Kasvattaa tai vähentää analogista vahvistusta CCD-kennossa." -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Gamma-korjaus" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Valitsee gamma-korjauskäyrän" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, fuzzy, no-c-format msgid "No transparency correction" msgstr "Värikorjaus" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, fuzzy, no-c-format msgid "Negatives" msgstr "Negatiivi" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, fuzzy, no-c-format msgid "Slides" msgstr "Dia" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automaattinen" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, fuzzy, no-c-format msgid "Normal speed" msgstr "Normaali" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, fuzzy, no-c-format msgid "1/2 normal speed" msgstr "2x2 normaali" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, fuzzy, no-c-format msgid "1/3 normal speed" msgstr "3x3 normaali" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, fuzzy, no-c-format msgid "rounded parameter" msgstr "Epämääräiset parametrit" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, fuzzy, no-c-format msgid "ADF jam" msgstr "ADF" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Gamma" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, fuzzy, no-c-format msgid "transparency unit lamp failure" msgstr "Läpinäkyvyysyksikkö" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, fuzzy, no-c-format msgid "transparency unit shading error" msgstr "Läpinäkyvyysyksikkö" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, fuzzy, no-c-format msgid "film scanner" msgstr "Tasokuvanlukija" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "Tasokuvanlukija" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Filmin tyyppi" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Negatiivifilmi" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, fuzzy, no-c-format msgid "Selects the negative film type" msgstr "Valitse koekuva" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, fuzzy, no-c-format msgid "Hardware resolution" msgstr "Kuvanluvun tarkkuus" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, fuzzy, no-c-format msgid "Use only hardware resolutions" msgstr "Näyttää lyhyen tarkkuuslistan" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, fuzzy, no-c-format msgid "Auto focus" msgstr "Automaattinen poisto" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, fuzzy, no-c-format msgid "Enable/disable auto focus" msgstr "Poista esitarkennus" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, fuzzy, no-c-format msgid "Manual focus position" msgstr "Korjaa tarkennuspiste" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Peilikuva" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, fuzzy, no-c-format msgid "Mirror the image horizontally" msgstr "Peilaa kuvan vaakasuunnassa" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, fuzzy, no-c-format msgid "Auto exposure" msgstr "Aseta valotusaika" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, fuzzy, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Valotusajan asettaminen" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Kalibrointi" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Määrää kalibraatiotavan" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "arkkisyöttöinen" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, fuzzy, no-c-format msgid "Reset the scanner" msgstr "arkkisyöttöinen" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, fuzzy, no-c-format msgid "Eject film after each scan" msgstr "Poista kohde kuvanluvun jälkeen" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, fuzzy, no-c-format msgid "Document feeder extras" msgstr "Asiakirjan syöttäjä" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, fuzzy, no-c-format msgid "Flatbed only" msgstr "Taso" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, fuzzy, no-c-format msgid "Transparency unit" msgstr "Läpinäkyvyysyksikkö" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, fuzzy, no-c-format msgid "Negative film" msgstr "Negatiivifilmi" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Positiivifilmi" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, fuzzy, no-c-format msgid "Transparency ratio" msgstr "Läpinäkyvyysyksikkö" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, fuzzy, no-c-format msgid "Select film type" msgstr "Filmin tyyppi" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, fuzzy, no-c-format msgid "Select the film type" msgstr "Valitsee rasterin" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Taso" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, fuzzy, no-c-format msgid "ADF Duplex" msgstr "Kaksipuolinen" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Tulosta" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Kaksipuolinen" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Punainen" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Vihreä" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Sininen" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Parannus" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Parannus" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Parannus" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Ei mikään" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Yksipuolinen" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Kaksipuolinen" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Läpinäkyvyysyksikkö" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automaattinen syöttö" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Positiivifilmi" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Negatiivifilmi" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Kohdistus lasissa" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Kohdistus 2,5 mm lasin yläpuolella" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Rasteri A (Hard Tone)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Rasteri B (Soft Tone)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Rasteri C (Net Screen)" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Rasteri A (4x4 Bayer)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Rasteri B (4x4 Spiral)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Rasteri C (4x4 Net Screen)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Rasteri D (8x4 Net Screen)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Tekstin parannusmenetelmä" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Ladattu kuvio A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Ladattu kuvio B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Ei korjausta" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Käyttäjän määrittelemä" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Matriisikirjoittimet" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Lämpökirjoittimet" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Mustesuihkutulostimet" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "Loisteputkinäytöt" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Oletus" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Korkeatarkkuuksinen tulostus" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Matalatarkkuuksinen tulostus" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Suuri kontrastinen tulostus" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Käyttäjän määrittelemä (Gamma=1.0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Käyttäjän määrittelemä (Gamma=1.8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 pysty" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 vaaka" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "US-Letter" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Koko alue" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Lukutapa" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Valitsee rasterin" -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "" -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Valitsee kirkkauden." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Terävyys" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Värikorjaus" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "Valitsee värikorjaustaulukon valitulle tuloslaitteelle." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Värikorjauskertoimet" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Matriisikerroin RGB:lle" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Vihreän siirtymä punaiseen" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Vihreän siirtymä siniseen" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Punaisen siirtymä virheään" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Punaisen siirtymä siniseen" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Sinisen siirtymä vihreään" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Sinisen siirtymä punaiseen" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Määrää vihreän määrän" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Lisää punaista vihreän määrän perusteella" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Lisää sinistä vihreän määrän perusteella" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Lisää vihreää punaisen määrän perusteella" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Määrää punaisen määrän" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Lisää sinistä punaisen määrän perusteella" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Lisää vihreää sinisen määrän perusteella" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Lisää punaista sinisen määrän perusteella" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Määrää sinisen määrän" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Peilaa kuvan." -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Nopea esikatselu" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Automaattinen osittelu" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Lyhyt tarkkuuslista" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Näyttää lyhyen tarkkuuslistan" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Suurennus" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Määrää kuvanlukijan käyttämän zoom-kertoimen" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Nopea formaatti" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Lisävaruste" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Poista" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Poista kohde syöttölaitteesta" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Automaattinen poisto" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Poista kohde kuvanluvun jälkeen" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "Syötttapa" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Valitsee syöttötavan (yksi-/kaksipuolinen)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Taso" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Valitsee kuvanluvun tasolta" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2061,23 +2046,23 @@ msgstr "" "Valitsee gamma-korjauksen esiasetettujen laitteiden listalta tai " "käyttäjän määrämän taulukon, joka voidaan siirtää kuvanlukijaan" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Kohdistuspiste" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "Asettaa kohdistuspisteen joko lasiin tai 2,5 mm sen yläpuolelle" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Odota painiketta" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2086,366 +2071,1109 @@ msgstr "" "Kuvanlukukomennon lähettämisen jälkeen, odota kunnes kuvanlukijan " "painiketta todella painetaan, ennen kuvanluvun aloittamista." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, fuzzy, no-c-format msgid "Positive Slide" msgstr "Positiivifilmi" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, fuzzy, no-c-format msgid "Negative Slide" msgstr "Negatiivifilmi" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, fuzzy, no-c-format msgid "User defined CCT profile" msgstr "Käyttäjän määrittelemä" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "Päällä" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Poissa" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Rasteri" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, no-c-format msgid "Diffusion" msgstr "" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "White" msgstr "Valkotaso" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, fuzzy, no-c-format msgid "Black" msgstr "Mustataso" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Continue" msgstr "Ehdollinen" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Vaaka" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Vaaka" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Vaaka" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Pysty" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Pysty" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Front" msgstr "Tulosta" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Rasteri" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Raakakalibrointi" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Kuvan korostus" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Kylläisyys" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "Aseta automaattinen kynnysarvon päättely viivapiirrosta varten." + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Peilikuva" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Peilaa kuvan vaakasuunnassa" + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Sinisen valkotaso" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Määrää punaisen määrän" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Väriviivapiirros" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Pehmennys" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Gamma" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, fuzzy, no-c-format +msgid "Threshold curve" +msgstr "Kynnys" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Kynnys" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Kohinan poisto" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Ei korjausta" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Ei korjausta" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "Syöttötapa" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Päivitä asetukset" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Ei korjausta" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Valo päälle" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "Syöttötapa" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Valo pois" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Sinisen siirtymä" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Vihreän siirtymä" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Vihreän siirtymä" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Sinisen siirtymä" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Asettaa sinisen kanavan siirtymän" + +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Kaksipuolinen" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Päivitä asetukset" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Kohinan poisto" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "Paperilta" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "Paperilta" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "Paperilta" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "Paperilta" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Manuaalinen esitarkennus" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Manuaalinen esitarkennus" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "Kuvanluvun tarkkuus" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Valkotaso" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Punaisen voimakkuus" + +#: backend/fujitsu.c:4549 +#, no-c-format +msgid "Density dial" +msgstr "" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Kaksipuolinen" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, fuzzy, no-c-format msgid "Extras" msgstr "Hyvin nopea" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, fuzzy, no-c-format -msgid "Threshold curve" -msgstr "Kynnys" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Poista peruutus." -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Väriviivapiirros" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrointi" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Määrää kalibraatiotavan" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibrointitila" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, fuzzy, no-c-format msgid "Lamp off time" msgstr "Valo pois" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Raakakalibrointi" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, fuzzy, no-c-format msgid "File button" msgstr "Odota painiketta" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, fuzzy, no-c-format msgid "Power button" msgstr "Odota painiketta" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Odota painiketta" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Raakakalibrointi" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Pakottaa kalibroinnin ennen kuvanlukua." -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, fuzzy, no-c-format msgid "Buttons" msgstr "Painikkeen tila" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibroi" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Aloita kalibrointi." -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Raakakalibrointi" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Kalibrointitila" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Läpinäkyvyysyksikkö" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Debug-asetukset" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automaattinen lämmitys" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2454,12 +3182,12 @@ msgstr "" "Lämmittää kunnes lampun kirkkaus tasaantuu. Muuten lämmitetään 60 " "sekuntia." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Koko alue" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2468,12 +3196,12 @@ msgstr "" "Lukee koko alueen, mukaan lukien kalibrointinauha. Ole varovainen. Älä " "valitse täyttä korkeutta. Tämä asetus on vain testausta varten." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Raakakalibrointi" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2484,12 +3212,12 @@ msgstr "" "poissa, voit asettaa analogia-asetukset manuaalisesti. Asetus on " "oletuksena päällä. Tämä asetus on vain testausta varten." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Raakakalibrointi vain ensimmäisellä kuvanluvulla" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2501,12 +3229,12 @@ msgstr "" "kirkkaus on eri joka kerralla, poista tämä asetus. Tämä asetus on " "testausta varten." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, fuzzy, no-c-format msgid "Backtrack lines" msgstr "Käytä jäljitystä" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2515,83 +3243,83 @@ msgid "" "omitting lines." msgstr "" -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gamma" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Asettaa gamma-arvon kaikille kanaville." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, fuzzy, no-c-format msgid "Geometry Group" msgstr "Geometria" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, fuzzy, no-c-format msgid "Scan Mode Group" msgstr "Lukutapa" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Dia" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, fuzzy, no-c-format msgid "Scanner model" msgstr "Lukutapa" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, fuzzy, no-c-format msgid "Disable gamma correction" msgstr "Analoginen gammakorjaus" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, fuzzy, no-c-format msgid "Gamma correction will be disabled" msgstr "Gammakorjaus" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, fuzzy, no-c-format msgid "Disable white shading correction" msgstr "Vain sävykorjaus" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2599,12 +3327,12 @@ msgid "" "avoids depth emulation." msgstr "" -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, fuzzy, no-c-format msgid "Emulate Grayscale" msgstr "Harmaasävy" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2612,368 +3340,362 @@ msgid "" "circumstances." msgstr "" -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " "analyze them." msgstr "" -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, fuzzy, no-c-format msgid "Reset chipset" msgstr "arkkisyöttöinen" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, fuzzy, no-c-format msgid "Information" msgstr "Jätä kalibrointi huomiotta" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, fuzzy, no-c-format msgid "Chipset name" msgstr "Tiedostonimi" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "" -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, fuzzy, no-c-format msgid "Shows the chipset ID" msgstr "arkkisyöttöinen" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, fuzzy, no-c-format msgid "Scan counter" msgstr "Lähde" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, fuzzy, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Valitsee luettavan kehyksen numeron" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, fuzzy, no-c-format msgid "Update information" msgstr "Päivitä asetukset" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, fuzzy, no-c-format msgid "offset X" msgstr "Siirtymä" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, fuzzy, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Kuva-alueen vasemman yläkulman x-koordinaatti." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, fuzzy, no-c-format msgid "offset Y" msgstr "Siirtymä" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, fuzzy, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Kuva-alueen vasemman yläkulman x-koordinaatti." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, fuzzy, no-c-format msgid "Switches the lamp on or off." msgstr "Asettaa valon päälle/pois" -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "" -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "ADF" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Dia" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Negatiivi" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Väri 48" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Valo pois" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Odota painiketta" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, fuzzy, no-c-format msgid "Waits for button before scanning" msgstr "Lämmitä lamppu ennen kuvanlukua" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, fuzzy, no-c-format msgid "Advanced Options" msgstr "Päivitä asetukset" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Raaka" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Hieno" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Oma" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Automaattinen" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC-RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA-RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSC-harmaa" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "XPA-harmaa" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Hidas" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normaali" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Nopea" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Hyvin nopea" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2 pikseliä" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4 pikseliä" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8 pikseliä" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Tulosta" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Filmiliuska" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "XPA" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Ehdollinen" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, fuzzy, no-c-format msgid "Experiment" msgstr "Valotusaika" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Terävöinti" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Aseta terävöintiarvo." -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Automaatinen kynnys" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "Aseta automaattinen kynnysarvon päättely viivapiirrosta varten." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Pehmennys" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Valitse pehmennyssuodatin." -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Poista media kuvanluvun jälkeen" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Poistaa median kuvanluvun jälkeen." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Vaihda kohde" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Vaihda kohde." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Poista" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Poista kohde." -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Aloita kalibrointi." -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Media" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Valitse media" -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Valotusaika" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -2986,463 +3708,462 @@ msgstr "" "\" negatiivifilmeille. Tummille (alivalottuneille) kuville, voit " "kasvattaa tätä arvoa." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Värimatriisi" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Aseta kuvanlukijan värimatriisi." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Oma värimatriisi." -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Yksivärinen matriisi" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Oma värimatriisi harmaasävy lukua varten." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Peilaa vaakasuunnassa" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Peilaa kuvan vaakasuunnassa" -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Peilaa pystysuunnassa" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Peilaa kuvan pystysuunnassa." -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Päivitä asetukset" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Päivittää asetukset." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "8-bittinen tulos" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" "Käyttää sisäisesti kahdeksaa bittiä syvempää esitystä, mutta antaa " "tuloksen vain kahdeksanbittisenä." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Odota painiketta" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "" "Odottaa kuvanlukijan painikkeen painamista ennen kuvanluvun alkamista." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Sulje lamppu" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Sulkee kuvanlukijan lampun." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Paperin koko" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Automaattinen osiointi" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 vaaka" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Manuaalinen esitarkennus" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Manuaalinen esitarkennus" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Kaksipuolinen kuvanluku" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Paperin koko syöttölaitteessa" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "Rasteri" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Väri" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "Ehdollinen" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "Poissa" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Rasteri" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Rasteri" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, no-c-format msgid "diffusion" msgstr "" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normaali" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Korostus" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "Tasokuvanlukija" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Paperilta" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Oletus" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Pehmeä" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Hidas" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Keskitaso" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Punainen" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Vihreä" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Lähde" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Syöttötapa" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Asettaa syöttötavan" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Poista esitarkennus" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Poista esitarkennus" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Asettaa syöttötavan" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Asettaa syöttötavan" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automaattinen kynnys" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3451,556 +4172,543 @@ msgstr "" "Asettaa automaattisesti kirkkauden, kontrastin, valkotasapainon, gamman, " "kohinan poiston ja korostuksen" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Kohinan poisto" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Vähentää yksittäistä pistekohinaa" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Kuvan korostus" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Asettaa kuvan korostuksen" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Valo päälle" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Asettaa valon päälle/pois" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Peilaa kuvan pystysuunnassa." -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Gammakorjaus" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "Korkeatarkkuuksinen tulostus" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "Matalatarkkuuksinen tulostus" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, no-c-format msgid "err_diffusion" msgstr "" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Ei korjausta" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Normaali" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Parannus" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Automaattinen kynnys" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Automaattinen kynnys" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "Aseta kehysten järjestys" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Sinisen varjo" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Punaisen siirtymä siniseen" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Timantti" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "8x8 raaka lihavointi" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "8x8 hieno lihavointi" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "8x8 Bayer" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 pystyviiva" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Vahvistus" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Värikanavien vahvistus" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Harmaan vahvistus" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Asettaa harmaan kanavan vahvistusta" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Punaisen vahvistus" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Asettaa punaisen kanavan vahvistusta" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Vihreän vahvistus" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Asettaa vihreän kanavan vahvistusta" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Sinisen vahvistus" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Asettaa sinisen kanavan vahvistusta" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Bayer-rasteri 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Bayer-rasteri 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Taseteripiste 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Rasteripiste 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Tila 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Tila 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Tila 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Pehmeä" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Matala" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Keskitaso" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Korkea" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "Loisteputki" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Yksi sivu" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Kaikki sivut" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "arkkisyöttöinen" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "Harmaasävy 4 bittiä" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "Harmaasävy 8 bittiä" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Varjo, keskisävy, korostus, valotusaika" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Erikoisasetukset" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Väritasapaino" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Poista peruutus." -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "Kuvanlukija ei peruuta." -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Kuvanlukijan valo päälle/pois" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Asettaa kuvanlukijan valon päälle/pois" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Ajuri kalibroi" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" msgstr "Ajuri tekee värikalibroinnin." -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Käytä lightlid-35mm sovitinta" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "Tämä asetus sulkee kuvanlukijan lampun kuvanluvun ajaksi" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Paras laatu" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Paras laatu, mutta hitain" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Nopea" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Nopea, mutta huonolaatuinen" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Automaattinen kynnyksen asetus" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4008,273 +4716,273 @@ msgid "" msgstr "" "Jos valittu, ajuri yrittää automaattisesti selvittää parhaan kynnyksen." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Valitsee gammakorjaustilan." -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Sido gamma" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Käytä gamma-arvoja kaikille värikanaville." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Gamma" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Asettaa arvon gammakorjaukselle." -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Gamma punainen" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "Asettaa arvon gammakorjaukselle (punainen kanava)" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Gamma vihreä" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "Asettaa arvon gammakorjaukselle (vihreä kanava)" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Gamma sininen" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Asettaa arvon gammakorjaukselle (sininen kanava)" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Kanava" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." msgstr "Valitsee värikaistan, \"Master\" tarkoittaa kaikkia värejä." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Keskisävy" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "Asettaa kirkkaustason, joka tulkitaan \"50% vihreäksi\"." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Punaisen keskisävy" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Asettaa kirkkaustason, joka tulkitaan \"50% punaiseksi\"." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Vihreän keskisävy" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "Asettaa kirkkaustason, joka tulkitaan \"50% vihreäksi\"." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Sinisen keskisävy" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "Asettaa kirkkaustason, joka tulkitaan \"50% siniseksi\"." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Punatasapaino" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "Tasapainokerroin punaiselle. 100% tarkoittaa: ei korjausta." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Vihertasapaino" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "Tasapainokerroin vihreälle. 100% tarkoittaa: ei korjausta." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Sinitasapaino" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "Tasapainokerroin siniselle. 100% tarkoittaa: ei korjausta." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Firmware-tasapaino" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "Asettaa väritasapainot Firmwaressa oleviin arvoihin." -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Hitain" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Hitaampi" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Nopeampi" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Nopein" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 raaka" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 normaali" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 hieno" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 tosi hieno" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 normaali" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 raaka" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 hieno" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 raaka" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 normaali" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 hieno" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 normaali" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 normaali" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 oma" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 oma" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 oma" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 oma" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 oma" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 oma" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Nopea harmaa" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Lue nopeassa harmaassa tilassa (huonompi laatu)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4283,117 +4991,117 @@ msgstr "" "Kaikki esikatselut luetaan nopeimmalla tavalla (huonoimmalla laadulla). " "Tämä voi olla väritön matalatarkkuuksinen tila." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, fuzzy, no-c-format msgid "Lamp off time (minutes)" msgstr "Valo pois lopetettaessa" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, fuzzy, no-c-format msgid "Turn lamp off" msgstr "Asettaa valon päälle/pois" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, fuzzy, no-c-format msgid "Turns the lamp off immediately." msgstr "Asettaa kuvanlukijan valon päälle/pois" -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Punaisen kirkkaus" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Asettaa punaisen kanavan kirkkauden." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Vihreän kirkkaus" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Asettaa vihreän kanavan kirkkauden." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Sinisen kirkkaus" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Asettaa sinisen kanavan kirkkauden." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Punaisen kontrasti" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Asettaa punaisen kanavan kontrastin." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Vihreän kontrasti" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Asettaa vihreän kanavan kontrastin." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Sinisen kontrasti" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Asettaa sinisen kanavan kontrastin." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Väri 48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Väri 24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Harmaasävy 16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Harmaasävy 8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, fuzzy, no-c-format msgid "Positive" msgstr "Positiivifilmi" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4402,39 +5110,39 @@ msgstr "" "Lämmittää kunnes lampun kirkkaus tasaantuu. Muuten lämmitetään 40 " "sekuntia." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negatiivifilmi" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negatiivi" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, no-c-format msgid "48 bits color" msgstr "" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4442,248 +5150,239 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, fuzzy, no-c-format msgid "Update button state" msgstr "Painikkeen tila" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, fuzzy, no-c-format msgid "Button 1" msgstr "Painikkeen tila" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, fuzzy, no-c-format msgid "Button 2" msgstr "Painikkeen tila" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Läpinäkyvyys" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "" -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, fuzzy, no-c-format msgid "Lamp off during dark calibration" msgstr "Raakakalibrointi" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, fuzzy, no-c-format msgid "Calibration data cache" msgstr "Kalibrointitila" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "" -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, fuzzy, no-c-format msgid "Performs calibration" msgstr "Raakakalibrointi" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "" -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, fuzzy, no-c-format msgid "Warmup-time" msgstr "Lämmitä lamppu" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "" -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, fuzzy, no-c-format msgid "Lampoff-time" msgstr "Valo pois" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "" -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, fuzzy, no-c-format msgid "Analog frontend" msgstr "Analoginen gamma (punainen)" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Punaisen siirtymä" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Vihreän siirtymä" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Sinisen siirtymä" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, fuzzy, no-c-format msgid "Red lamp off" msgstr "Asettaa valon päälle/pois" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, fuzzy, no-c-format msgid "Green lamp off" msgstr "Asettaa valon päälle/pois" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, fuzzy, no-c-format msgid "Blue lamp off" msgstr "Asettaa valon päälle/pois" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "" -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Väri 36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Rasteri 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Rasteri 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Satunnaista" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Lähteen valinta" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Kuvan parannus" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Harmaannuta" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Lataa kuva harmaasävykuvana." -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Kolmivaihesimulaatio" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4692,12 +5391,12 @@ msgstr "" "Simuloi kolmivaiheskanneria palauttamalla kolme erillistä kehystä. Huvin " "vuoksi se palauttaa kehykset järjestyksessä: vihreä, sininen, punainen." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Käsikuvanlukijasimulaatio" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4708,48 +5407,48 @@ msgstr "" "etukäteen. Sen sijaan, ne palauttavat kuvan korkeudeksi -1. Tällä " "asetuksella voidaan kokeilla, selviääkö käyttöliittymä tästä oikein." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." msgstr "Asettaa oletusarvot parantimille (kirkkaus ja kontrasti)" -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Vain-luku kokeiluasetus" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Katsotaanko osaako käyttöliittymä käsitellä tämän oikein" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Gammataulukot" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Paluuarvosimulaatio" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Ei pakoteta paluuarvoa" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Ei pakoteta ajuria palauttamaan statuskoodia." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Palauta SANE_STATUS_EOF" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4758,12 +5457,12 @@ msgstr "" "Pakota ajuri palauttamaan paluuarvo SANE_STATUS_EOF, kun sane_read() on " "kutsuttu." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Palauta SANE_STATUS_JAMMED" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4772,12 +5471,12 @@ msgstr "" "Pakota ajuri palauttamaan paluuarvo SANE_STATUS_JAMMED, kun sane_read() " "on kutsuttu." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Palauta SANE_STATUS_NO_DOCS" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4786,12 +5485,12 @@ msgstr "" "Pakota ajuri palauttamaan paluuarvo SANE_STATUS_NO_DOCS, kun sane_read() " "on kutsuttu." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Palauta SANE_STATUS_COVER_OPEN" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4800,12 +5499,12 @@ msgstr "" "Pakota ajuri palauttamaan paluuarvo SANE_STATUS_COVER_OPEN, kun " "sane_read() on kutsuttu." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Palauta SANE_STATUS_IO_ERROR" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4814,12 +5513,12 @@ msgstr "" "Pakota ajuri palauttamaan paluuarvo SANE_STATUS_IO_ERROR, kun " "sane_read() on kutsuttu." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Palauta SANE_STATUS_NO_MEM" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4828,12 +5527,12 @@ msgstr "" "Pakota ajuri palauttamaan paluuarvo SANE_STATUS_NO_MEM, kun sane_read() " "on kutsuttu." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Palauta SANE_STATUS_ACCESS_DENIED" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4842,85 +5541,82 @@ msgstr "" "Pakota ajuri palauttamaan paluuarvo SANE_STATUS_ACCESS_DENIED, kun " "sane_read() on kutsuttu." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "" -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Valo päälle" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Laittaa kuvanlukijan valon päälle" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Valo pois" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Sammuttaa kuvanlukijan valon" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, fuzzy, no-c-format msgid "Lamp timeout" msgstr "Valo pois" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Asiakirjan syöttäjä" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (tuumaa)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 (tuumaa)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 (tuumaa)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Rasterointi ei ole tuettu" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "Hajapisteet 8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "Hajapisteet 16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -4936,27 +5632,27 @@ msgstr "" "käyttöliittymät voivat lakata vastaamasta X-tapahtumiin ja järjestelmä " "saattaa kaatua." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Poista kohde kuvanluvun jälkeen" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Esikatselutila" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -4965,12 +5661,12 @@ msgstr "" "Valitse esikatselutila. Harmaasävy antaa yleensä parhaan yhdistelmän " "nopeutta ja yksityiskohtia" -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Esimääritetyt asetukset" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -4978,97 +5674,97 @@ msgid "" msgstr "" "Tarjoaa vakioalueet valokuville ja tulostetuille sivuille ja vastaaville." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "Tasokuvanlukija" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, no-c-format msgid "Focus-mode" msgstr "" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Automaattinen poisto" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Kohdistuspiste" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Kohdistuspiste" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Väririvejä / luku" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Harmaasävyrivejä / luku" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Väri RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Väri RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Väri RGB TEKSTI" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Täysi musta" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Täysi valkoinen" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Värikuvio" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Ruudukko" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Ensimmäinen" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Toinen" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5077,12 +5773,12 @@ msgstr "" "Tämä on erittäin pitkä kolmas rivi. Ehkä käyttöliittymä keksii miten se " "näytetään" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Käsikuvanlukijasimulaatio" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5095,12 +5791,12 @@ msgstr "" "mahdollistaa osaako ohjelma käsitellä tätä tilannetta. Tämä asetus " "asettaa kuvan leveydeksi 11 cm." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Kolmivaihesimulaatio" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5108,34 +5804,34 @@ msgid "" msgstr "" "Simuloi kolmivaihekuvanlukijaa. Väritilassa, kolme kehystä lähetetään." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Aseta kehysten järjestys" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "Asettaa kehysten järjestyksen kolmivaihetilassa." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " "after 10 scans." msgstr "" -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Erikoisasetukset" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Valitse koekuva" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5151,12 +5847,12 @@ msgstr "" "Värikuvio: piirtää erilaisia värikuvioita tilasta riippuen.\n" "Ruudukko: piirtää mustavalkoruudukon 10 mm ruuduilla." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Käännä tavujärjestys" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5167,55 +5863,55 @@ msgstr "" "toiminnolla voidaan kokeilla 16-bittisiä tiloja käyttöliittymissä, esim. " "käyttääkö käyttöliittymä oikeaa tavujärjestystä." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Lukuraja" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" "Rajoittaa tiedon määrää, joka voidaan lukea yhdellä sane_read()-kutsulla." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Lukurajan koko" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." msgstr "Suurin tiedon määrä, joka välitetään yhdellä sane_read()-kutsulla." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Lukuviive" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Viivästää tiedon siirtoa." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Lukuviiveen kesto" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "Kuinka kauan odotetaan jokaisen lähetetyn puskurin jälkeen." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "sane_read() paluuarvo" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5226,22 +5922,22 @@ msgstr "" "kuvanluvun käsittely. Kaikki muut paluuarvot ovat käyttöliittymän " "testaamista varten." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Kadonneita pikseleitä / rivi" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Rivin lopusta puuttuvien pikselien määrä." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Epämääräiset parametrit" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5250,22 +5946,22 @@ msgstr "" "Palauttaa epämääräisiä rivejä ja tavuja, kun sane_parameters() kutsutaan " "ennen sane_start()." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Käytä non-blocking IO" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "sane_read käyttää non-blocking IO:ta." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Tarjoa select file descriptor" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5274,12 +5970,12 @@ msgstr "" "Tarjoaa select file descriptorin, jolla voidaan tarkistaa palauttaisiko " "sane_read() dataa." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Kokeiluasetukset päälle" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5288,27 +5984,27 @@ msgstr "" "Asettaa päälle useita kokeiluasetuksia. Asetuksilla voidaan tarkistaa " "käyttöliittymän kyky näyttää ja muokata kaikenlaisia SANE-asetuksia." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Tulostusasetukset" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Tulosta lista kaikista asetuksista" -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Boolen kokeiluasetukset" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) Boolen pehmovalinta pehmotunnistus" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5317,12 +6013,12 @@ msgstr "" "(1/6) Boolen kokeiluasetus, jolla on pehmovalinta- ja pehmotunnistus- " "ominaisuuksia. Se on vain tavallinen boolen asetus." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Boolen kovavalinta pehmotunnistus" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5333,12 +6029,12 @@ msgstr "" "tarkoittaa, että käyttöliittymä ei voi itse muttaa asetusta, mutta " "käyttäjä voi (esim. painamalla painiketta laitteessa)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Boolen kovavalinta" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5350,12 +6046,12 @@ msgstr "" "painamalla painiketta laitteessa), eikä käyttöliittymä voi lukea " "asetusta." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) Boolen pehmotunnistus" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5364,12 +6060,12 @@ msgstr "" "(4/6) Boolen kokeiluasetus, jolla on pehmotunnistus. Se tarkoittaa, että " "asetus voidaan vain lukea." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Boolen pehmovalinta ja pehmotunnistus emuloita" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5378,12 +6074,12 @@ msgstr "" "(5/6) Boolen kokeiluasetus, jolla on pehmovalinta, pehmotunnistus ja " "emulointi." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) Boolen pehmovalinta pehmotunnistus auto" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5393,27 +6089,27 @@ msgstr "" "(6/6) Boolen kokeiluasetus, jolla on pehmovalinta, pehmotunnitus ja " "automaattiominaisuudet. Ajuri voi säätää tätä asetusta automaattisesti." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Kokonaislukukokeiluasetukset" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Kokonaisluku" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "(1/6) Kokonaisluku ilman yksikköä ja rajoituksia." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Kokonaisluku aluerajoituksella" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5422,22 +6118,22 @@ msgstr "" "(2/6) Koknaisluku pikseli-yksiköllä ja aluerajoituksella. Minimi on 4, " "maksimi 192, ja askel on 2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) Kokonaisluku sanalistalla" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "(3/6) Kokonaisluku bitti-yksiköllä ja sanalistarajoituksella." -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Kokonaislukutaulukko" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " @@ -5445,12 +6141,12 @@ msgid "" msgstr "" "(4/6) Kokonaisluku mm-yksiköllä käyttäen taulukkoa ilman rajoituksia." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) Kokonaislukutaulukko aluerajoituksella" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5459,12 +6155,12 @@ msgstr "" "(5/6) Kokonaisluku dpi-yksiköllä ja taulukolla aluerajoituksella. Minimi " "on 4, maksimi 192, ja askel on 2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Kokonaislukutaulukko sanalistalla" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5473,27 +6169,27 @@ msgstr "" "(6/6) Kokonaisluku prosenttiyksiköllä ja taulukolla " "sanalistarajoituksella." -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Murtolukukokeiluasetukset" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Murtoluku" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "(1/3) Murtoluku kokeiluasetus ilman yksikköä ja rajoituksia." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Murtoluku aluerajoituksella" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5502,205 +6198,209 @@ msgstr "" "(2/3) Murtoluku kokeiluasetus mikrosekunti-yksiköllä ja " "aluerajoituksella. Minimi on -42,17, maksimi 32767,9999, ja askel on 2,0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) Murtoluku rajoituksella ja sanalistalla" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" "(3/3) Murtolukukokeiluasetus ilman yksikköä, rajoituksella ja " "sanalistalla." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "Merkkijonokokeiluasetukset" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) Merkkijono" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) Merkkijono ilman rajoituksia." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) Merkkijono sanalistalla" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "(2/3) Merkkijono sanalistarajoituksella" -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) Merkkijono pitkällä sanalistalla" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " "entries..." msgstr "(3/3) Merkkijono sanalistalla. Sanalista sisältää enemmän sanoja." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Painikekokeiluasetukset" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Painike" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Painike. Tulostaa tekstiä." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Väri 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Käytä kuvanasettelua" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Kaksitasoinen mustavalko (viivapiirros)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Rasteroitu mustavalko" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Harmaasävy" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Monitaso RGB-väri (yksivaihe)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Jätä kalibrointi huomiotta" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Poista esitarkennus" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Ei kalibroida tarkennusta" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Manuaalinen esitarkennus" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Korjaa tarkennuspiste" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Linssin tarkennus kohteeseen" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Tarkentaa linssin tarkennuksen kohteeseen" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Pidikkeen tarkennuspiste 0mm" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Käytä 0mm pidikkeen tarkennuspisteenä 0,6mm sijaan" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Kalibrointitila" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Määrää kalibraatiotavan" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Asettaa valon päälle/pois" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "UTA päällä" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Asettaa UTAN päälle/pois" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Siirtymä" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Värikanavien siirtymä" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Harmaan siirtymä" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Asettaa harmaan kanavan siirtymän" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Asettaa punaisen kanavan siirtymän" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Asettaa vihreän kanavan siirtymän" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Asettaa sinisen kanavan siirtymän" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Esikatselutila" + #~ msgid "Grayscale" #~ msgstr "Harmaasävy" diff --git a/po/fr.gmo b/po/fr.gmo new file mode 100644 index 0000000..ea03247 Binary files /dev/null and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index 80459bb..c921e70 100644 --- a/po/fr.po +++ b/po/fr.po @@ -43,423 +43,417 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.19\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2008-01-17 22:25+0100\n" "Last-Translator: Yann E. MORIN \n" "Language-Team:\n" -"Language: \n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 0.9.5\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Nombre d'options" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "Général" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Aire de numérisation" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Réglages fins" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Avancé" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "Capteurs" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Aperçu" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Force l'aperçu en noir et blanc" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Profondeur" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Mode de numérisation" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Vitesse de numérisation" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Source de numérisation" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Forcer l'utilisation du retour arrière" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "X haut-gauche" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Y haut-gauche" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "X bas-droit" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Y bas-droit" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Echantillonnage" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "Echantillonnage X" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Echantillonnage Y" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "Largeur de la page" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, no-c-format msgid "Page height" msgstr "Hauteur de la page" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Utiliser une table gamma personnalisée" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Intensité de l'image" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Intensité rouge" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Intensité verte" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Intensité bleue" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Luminosité" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Contraste" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Grain" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Demi-teinte" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Niveau noir" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Niveau blanc" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Niveau blanc des rouges" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Niveau blanc des verts" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Niveau blanc des bleus" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Ombré" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Ombré rouge" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Ombré vert" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Ombré bleu" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Contraste" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Contraste rouge" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Contraste vert" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Contraste bleu" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Teinte" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Saturation" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Nom de fichier" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Taille du motif demi-teinte" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Motif demi-teinte" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Lier les échantillonnage X et Y" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Négatif" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Calibration de la qualité" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Doubler la résolution optique" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Lier RVB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Seuil" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Correction gamma analogique" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Gamma analogique rouge" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Gamma analogique vert" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Gamma analogique bleu" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Lier les gamma analogiques RVB" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Préchauffage de la lampe" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Calibrer le temps d'exposition" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Calibrer le temps d'exposition pour le rouge" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Calibrer le temps d'exposition pour le vert" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Calibrer le temps d'exposition pour le bleu" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Temps d'exposition pendant numérisation" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Temps d'exposition pour le rouge pendant numérisation" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Temps d'exposition pour le vert pendant numérisation" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Temps d'exposition pour le bleu pendant numérisation" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Fixer le temps d'exposition" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Calibrer la puissance de la lampe" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Puissance de la lampe pendant la numérisation" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Fixer la puissance de la lampe" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Eteindre la lampe à la sortie" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -468,38 +462,38 @@ msgstr "" "Option, lecture seule, qui indique le nombre d'options supportées par un " "périphérique spécifique." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, no-c-format msgid "Source, mode and resolution options" msgstr "Options pour la source, le mode et la résolution" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "" "Options de la zone de numérisation et la taille de l'image à numériser" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, no-c-format msgid "Image modification options" msgstr "Options modifiant l'image" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, no-c-format msgid "Hardware specific options" msgstr "Options spécifiques au matériel" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "Capteurs et boutons du scanner" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Demande une numérisation de basse qualité" -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -511,7 +505,7 @@ msgstr "" "scanner à 1 passe, cela réduit l'espace mémoire nécessaire et le temps " "de numérisation de la prévisualisation." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -520,23 +514,23 @@ msgstr "" "Nombre de bits par échantillon. Les valeurs typiques sont de 1 pour " "\"Trait\" et de 8 pour les numérisation \"haute-résolution\"" -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" "Choisit le mode de numérisation (comme Trait, Monochrome ou Couleur)" -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Détermine la vitesse de numérisation." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Choisit la source de numérisation." -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "" @@ -544,42 +538,42 @@ msgstr "" "rapide, cette option ne permettra pas de reprendre la numérisation, et " "les données manquantes seront perdues." -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Position X en haut à gauche de l'aire de numérisation" -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Position Y en haut à gauche de l'aire de numérisation" -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Position X en bas à droite de l'aire de numérisation" -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Position Y en bas à droite de l'aire de numérisation" -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Choisit la résolution de l'image à numériser" -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Choisit la résolution horizontale de l'image à numériser" -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Choisit la résolution verticale de l'image à numériser" -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " @@ -588,12 +582,12 @@ msgstr "" "Spécifie la largeur de la source. Requis pour le centrage automatique " "des numérisations effectuées à partir du chargeur automatique." -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, no-c-format msgid "Specifies the height of the media." msgstr "Spécifie la hauteur de la source." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." @@ -601,7 +595,7 @@ msgstr "" "Détermine si une table gamma standard ou personnalisée doit être " "utilisée." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -612,32 +606,32 @@ msgstr "" "simultanément les bandes rouge, verte et bleue (c.-à-d. que c'est une " "table gamme d'intensité.)" -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Table de correction gamma pour le rouge." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Table de correction gamma pour le vert." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Table de correction gamma pour le bleu" -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Contrôle la brillance de l'image à numériser." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Contrôle le contraste de l'image à numériser." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -646,73 +640,73 @@ msgstr "" "Sélectionne le \"grain\" de l'image numérisée. De petites valeurs " "donnent des images plus nettes." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "Spécifie si l'image numérisée doit etre en demi-teinte (tramée)" -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "" "Spécifie quel niveau de luminosité est considéré comme étant \"noir\"." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "" "Spécifie quel niveau de luminosité est considéré comme étant \"blanc\"." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" "Spécifie quel niveau de luminosité rouge est considéré comme étant " "\"blanc\"." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" "Spécifie quel niveau de luminosité verte est considéré comme étant " "\"blanc\"." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" "Spécifie quel niveau de luminosité bleue est considéré comme étant " "\"blanc\"." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" "Spécifie quel niveau de luminosité rouge est considéré comme étant \"noir" "\"." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" "Spécifie quel niveau de luminosité verte est considéré comme étant \"noir" "\"." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" "Spécifie quel niveau de luminosité bleue est considéré comme étant \"noir" "\"." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Spécifie quel niveau de luminosité rouge est considéré comme étant " "\"rouge max.\"." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." @@ -720,7 +714,7 @@ msgstr "" "Spécifie quel niveau de luminosité verte est considéré comme étant " "\"vert max.\"." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." @@ -728,12 +722,12 @@ msgstr "" "Spécifie quel niveau de luminosité bleue est considéré comme étant " "\"bleu max.\"." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Contrôle la teinte (bleue) de l'image numérisée." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -743,12 +737,12 @@ msgstr "" "l'acquisition par un appareil-photo. Une valeur importante cause plus " "d'éclairage." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Le nom de fichier de l'image à charger." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -757,295 +751,295 @@ msgstr "" "Choisit la taille du motif de demi-ton utilisé pour numériser les images " "demi-ton." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." msgstr "" "Définit le motif de demi-ton utilisé pour numériser les images demi-ton." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Utilise la même résolution pour X et Y" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Inverse le noir et le blanc" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Faire une calibration de qualité pour les blancs" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Utilise une lentille qui double la résolution optique" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "Utilise les même paramètres pour chaque couleur en mode RVB" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Choisit la luminosité minimum pour avoir un point blanc" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Correction gamma analogique" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Correction gamma analogique pour le rouge" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Correction gamma analogique pour le vert" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Correction gamma analogique pour le bleu" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Préchauffer la lampe avant la numérisation" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Définit le temps d'exposition pour la calibration" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Définit le temps d'exposition pour la calibration du rouge" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Définit le temps d'exposition pour la calibration du vert" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Définit le temps d'exposition pour la calibration du bleu" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Définit le temps d'exposition pour la numérisation" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Définit le temps d'exposition pour la numérisation du rouge" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Définit le temps d'exposition pour la numérisation du vert" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Définit le temps d'exposition pour la numérisation du bleu" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Autorise la sélection du temps d'exposition" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Définit la puissance de la lampe pour la calibration" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Définit la puissance de la lampe pour la numérisation" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Autorise la sélection de la puissance de la lampe" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Eteindre la lampe à la sortie du programme" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, no-c-format msgid "Scan button" msgstr "Bouton 'numérisation'" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, no-c-format msgid "Email button" msgstr "Bouton 'courrier électronique'" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, no-c-format msgid "Fax button" msgstr "Bouton 'Fax'" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, no-c-format msgid "Copy button" msgstr "Bouton 'copie'" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "Bouton 'PDF'" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "Bouton 'annuler'" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "Page chargée" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, no-c-format msgid "Cover open" msgstr "Couvercle ouvert" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Couleur" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Trait couleur" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Demi-ton couleur" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Gris" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Demi-teinte" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Trait" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "Succès" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, no-c-format msgid "Operation not supported" msgstr "Opération non-supportée" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "Opération annulée" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "Périphérique occupé" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "Argument incorrect" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "Fin de fichier atteinte" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, no-c-format msgid "Document feeder jammed" msgstr "Bourrage dans le chargeur automatique de documents" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, no-c-format msgid "Document feeder out of documents" msgstr "Chargeur automatique de documents vide" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "Couvercle du scanner ouvert" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "Erreur d'entrée-sortie" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "A court de mémoire" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "L'accés à la ressource a été refusé" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "La lampe n'est pas prète, veuillez ré-essayer" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "" "Le méchanisme de blocage pour le transport du scanner est vérouillé" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Valeurs par défaut" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Valeurs par défaut pour les réglages fins." -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Calibration" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Calibrer avant la prochaine numérisation" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -1055,12 +1049,12 @@ msgstr "" "Sinon la calibration est effectuée seulement avant la première " "numérisation." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Effectuer uniquement la correction des ombres" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1072,27 +1066,27 @@ msgstr "" "d'exposition, internes ou lues dans le fichier de configuration, sont " "utilisées." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Etat du bouton" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Numéro de la trame à numériser" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Sélectionner le numéro de la trame à numériser" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "Numérisation recto-verso" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" @@ -1100,832 +1094,826 @@ msgstr "" "La numérisation recto-verso permet de numériser les deux cotés d'un " "document" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Calibrer le scanner" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Forcer la calibration du scanner avant la numérisation" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Niveaux de gris" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Effectue une numérisation en niveaux de gris plutôt qu'en couleurs" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Gain analogique" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Augmenter/diminuer le gain analogique du capteur CCD" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Correction gamma" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Sélectionne la courbe de correction gamma" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "Brut" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "Couleurs précises" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Pas de correction de transparence" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "Correction en fonction du support" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "Correction en fonction du rapport de transparence" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, no-c-format msgid "Negatives" msgstr "Négatifs" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, no-c-format msgid "Slides" msgstr "Diapositives" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automatique" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, no-c-format msgid "Normal speed" msgstr "Vitesse normale" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "Vitesse 1/2" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "Vitesse 1/3" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "Paramètres arrondis" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "inconnu(e)" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "Bourrage du chargeur automatique" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "Couvercle du chargeur automatique ouvert" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, no-c-format msgid "lamp failure" msgstr "lampe défectueuse" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "erreur de positionnement du capteur" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "erreur de test du processeur (CPU)" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "erreur de test de la mémoire RAM" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "erreur de test de la mémoire ROM" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "erreur de test du matériel" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "lampe de l'adaptateur de transparent défectueuse" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "erreur de positionnement du capteur pour transparents" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "longueur de la liste de paramètres incorrecte" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "code commande invalide" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "champ du bloc de description de commande (CDB) invalide" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "Numéro d'unité logique (LUN) non supporté" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "champ invalide dans la liste des paramètres" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "erreur dans la séquence de commandes" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "trop de fenêtres spécifiées" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "document absent" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "message d'identification (IDENTIFY) invalide" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "option non connectée" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "Réinitialisation au démarrage / du bus" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "paramètre modifié par un autre maître" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "pas d'information supplémentaire" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "échec de re-sélection" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "erreur de parité SCSI" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "message d'erreur détecté " -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "message d'erreur invalide" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "erreur de dépassement de temps" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "erreur de l'adaptateur pour transparents" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "lampe non stabilisée" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "numériseur de transparents" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "numériseur à plat" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Type de film" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Sélectionne le type de transparents (négatifs ou diapositives)" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, no-c-format msgid "Negative film type" msgstr "Film négatif" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "Sélectionne l'utilisation de film négatif" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "Echantillonnage matériel" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "Utilise seulement les valeurs d'échantillonnage matériel" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "Mise au point" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "Mise au point automatique" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "Activer/désactiver la mise au point automatique" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "Une seule mise au point automatique" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" "Effectuer la mise au point automatique une seule fois entre chaque " "éjection" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "Mise au point manuelle" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "Effectuer manuellement la mise au point (128 par défaut)" -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "Marges" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "Plus de réglages de couleur" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Image miroir" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "Image miroir horizontal" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "Temps d'exposition automatique" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Activer/désactiver le temps d'exposition automatique" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, no-c-format msgid "Calibration now" msgstr "Calibrer maintenant" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, no-c-format msgid "Execute calibration *now*" msgstr "Effectue la calibration *maintenant*" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "Diagnostic automatique" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Effectue le diagnostic automatique du scanner" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, no-c-format msgid "Reset scanner" msgstr "Réinitialiser le scanner" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "Réinitialiser le scanner" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "Maniement des documents" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "Ejecte le film après chaque numérisation" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Ejecte automatiquement le film après chaque numérisation" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "Ejecte le film avant de quitter" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "Ejecte automatiquement le film avant de quitter le programme" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "Ejecte le film maintenant" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "Ejecte le film *maintenant*" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "Chargeur automatique de document, options avancées" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "A plat seulement" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" "Ne pas utiliser le chargeur automatique, seulement le scanner à plat" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "Adaptateur pour transparents" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Allumer/éteindre l'adaptateur pour transparents" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, no-c-format msgid "Negative film" msgstr "Film négatif" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, no-c-format msgid "Positive or negative film" msgstr "Film positif ou négatif" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "Contrôle de densité" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "Positionne le mode de contrôle de la densité" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "Rapport de transparence" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "Type de film" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "Sélectionne le type de film" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "A plat" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Chargeur automatique de documents, recto" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Chargeur automatique de documents, verso" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "Chargeur automatique de documents, recto-verso" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Avant" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, fuzzy, no-c-format msgid "Card Back" msgstr "Arrière" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Recto-verso" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Rouge" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Vert" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Bleu" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, no-c-format msgid "Enhance Red" msgstr "Augmente le rouge" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, no-c-format msgid "Enhance Green" msgstr "Augmente le vert" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, no-c-format msgid "Enhance Blue" msgstr "Augmente le bleu" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Aucun(e)" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Recto" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Recto-verso" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Adaptateur pour transparents" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Chargeur automatique de document" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Positif" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Négatif" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Mettre au point sur la vitre" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Mettre au point 2,5 mm au-dessus de la vitre" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Motif demi-teinte A (teinte dure)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Motif demi-teinte B (teinte douce)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Motif demi-teinte C" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "/wiki/Filmstrip A (Bayer 4x4)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "'Dither' B (Spiral 4x4)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "'Dither' C ('Net Screen' 4x4)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "'Dither' C ('Net Screen' 4x4)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Technologie d'amélioration du texte" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Télécharger le motif A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Télécharger le motif B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Pas de correction" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Spécifié par l'utilisateur" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Imprimantes à impact" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Imprimantes thermiques" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Imprimantes à jet d'encre" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "Moniteurs à tube cathodique" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Valeur par défaut" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Impression haute définition" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Impression basse définition" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Impression avec contraste élevé" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Spécifié par l'utilisateur (gamma=1,0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Spécifié par l'utilisateur (gamma=1,8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 - portrait" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 - paysage" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Letter" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Max" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Mode de numérisation" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Sélectionne la demi-teinte." -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Exclusion" @@ -1933,209 +1921,206 @@ msgstr "Exclusion" # Dictionnary gives me 'marginal' for dropout. Sounds like # a part of the scan area is 'droped out', I mean excluded. # No, it is one of the colours that is excluded. -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Sélectionne le couleur exclu." -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Sélectionne la brillance." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Netteté" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Correction de couleur" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" "Remplit la table de correction de couleur pour le périphérique de " "destination sélectionné." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Coefficients de correction de couleur" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Matrice de multiplication RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Décalage vert -> rouge" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Décalage vert -> bleu" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Décalage rouge -> vert" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Décalage rouge -> bleu" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Décalage bleu -> vert" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Décalage bleu -> rouge" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Contrôle le niveau de vert" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Ajoute au rouge en fonction du niveau de vert" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Ajoute au bleu en fonction du niveau de vert" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Ajoute au vert en fonction du niveau de rouge" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Contrôle le niveau de rouge" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Ajoute au bleu en fonction du niveau de rouge" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Ajoute au vert en fonction du niveau de bleu" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Ajoute au rouge en fonction du niveau de bleu" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Contrôle le niveau de bleu" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Effectue une symétrie verticale de l'image." -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Aperçu rapide" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Séparation automatique" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Liste réduite de résolutions" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Affiche une liste réduite d'échantillonnage" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Zoom" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Définit le facteur de zoom utilisé par le scanner" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Format rapide" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Equipement optionnel" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Ejecter" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Ejecter la feuille du chargeur automatique" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Ejection automatique" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Ejecte le document après la numérisation" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "Mode du chargeur automatique de documents" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" "Sélectionne le mode du chargeur automatique de documents (recto/recto-" "verso)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Baie" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Sélectionne la baie contenant le document à numériser" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2145,23 +2130,23 @@ msgstr "" "pré-configurés ou de la table utilisateur, et qui sera téléchargée dans " "le scanner" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Mise-au-point" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "Effectue la mise-au-point soit sur la vitre, soit 2,5 mm au-dessus" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Attendre le bouton" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2170,208 +2155,956 @@ msgstr "" "Aprés avoir envoyé la commande de numérisation, attendre l'appui du " "bouton avant de commencer la numérisation." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "Infra-rouge" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" msgstr "Diapositive positive" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, no-c-format msgid "Negative Slide" msgstr "Diapositive négative" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "Profil de température de couleurs interne" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, no-c-format msgid "User defined CCT profile" msgstr "Profil de température de couleurs utilsateur" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "Activé" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Aucun" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "Seuil dynamique (DTC)" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "Seuil dynamique simplifié (SDTC)" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Tramage" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, no-c-format msgid "Diffusion" msgstr "Diffusion d'erreur" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, no-c-format msgid "White" msgstr "Blanc" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, no-c-format msgid "Black" msgstr "Noir" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, no-c-format msgid "Continue" msgstr "Continuer" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "Arréter" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "10mm" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "15mm" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "20mm" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, no-c-format msgid "Horizontal bold" msgstr "Horizontal large" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, no-c-format msgid "Horizontal narrow" msgstr "Horizontal étroit" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, no-c-format msgid "Vertical bold" msgstr "Vertical large" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "De haut en bas" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "De bas en haut" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, no-c-format msgid "Front" msgstr "Avant" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "Arrière" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Demi-teinte" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Effectue la calibration" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Accentuation de l'image" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Saturation" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "" +"Active la détection automatique du seuil pour la numérisation en mode " +"trait." + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Image miroir" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Renverse l'image horizontalement." + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Niveau blanc des bleus" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Contrôle le niveau de rouge" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Filtre de couleur" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Lissage" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Valeur de gamma" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "Courbe du seuil" + +#: backend/fujitsu.c:3347 +#, fuzzy, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" +"Courbe dynamique de seuil, de clair à foncé, normallement entre 50-65" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Seuil" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Réduction du bruit" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Pas de correction" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Pas de correction" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "Couvercle du chargeur automatique ouvert" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Options avancées" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Pas de correction" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Exclusion" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "Mode de chargement" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Temps avant extinction de la lampe" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Décalage des bleus" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Décalage des verts" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Décalage des verts" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Décalage des bleus" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Fixe le décalage pour le bleu" + +#: backend/fujitsu.c:3980 +#, fuzzy, no-c-format +msgid "Low Memory" +msgstr "A court de mémoire" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Numérisation recto-verso" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Options avancées" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Réduction du bruit" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "Avec du papier" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "Avec du papier" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "Avec du papier" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "Avec du papier" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, fuzzy, no-c-format +msgid "Scanner in power saving mode" +msgstr "Couvercle du scanner ouvert" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Mise au point manuelle" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Mise au point manuelle" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "erreur de test du matériel" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Niveau blanc" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Contrôle de densité" + +#: backend/fujitsu.c:4549 +#, fuzzy, no-c-format +msgid "Density dial" +msgstr "Contrôle de densité" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Numérisation recto-verso" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, no-c-format -msgid "Threshold curve" -msgstr "Courbe du seuil" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" "Courbe dynamique de seuil, de clair à foncé, normallement entre 50-65" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "Désactiver le mode Trait dynamique" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " @@ -2380,12 +3113,12 @@ msgstr "" "Utilise le mode Trait du matériel, au lieu d'utiliser un algorithme " "logiciel adaptatif." -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "Désactiver l'interpolation" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -2395,45 +3128,45 @@ msgstr "" "plus faible que la résolution verticale, ne pas faire d'interpolation " "horizontale." -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtre de couleur" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "En niveaux de gris ou en mode trait, sélectionne la couleur à utiliser." -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibration" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Définit le mode de calibration" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Cache des données de calibration" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "Temps avant extinction de la lampe" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2442,104 +3175,102 @@ msgstr "" "La lampe sera éteinte après ce laps de temps (en minutes). Entrer 0 pour " "ne pas éteindre la lampe automatiquement." -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Eteindre la lampe durant la calibration des noirs" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Délai en minutes avant d'éteindre la lampe après une numérisation." -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, no-c-format msgid "File button" msgstr "Bouton 'fichier'" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "Bouton 'reconnaissance de caractères (OCR)'" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, no-c-format msgid "Power button" msgstr "Bouton 'marche'" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Bouton 'courrier électronique'" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, no-c-format msgid "Need calibration" msgstr "Calibration requise" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Le scanner a besoin d'être calibré avec les paramètres actuels" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Boutons" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibration" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, no-c-format msgid "Start calibration using special sheet" msgstr "Démarrer la calibration avec la feuille spéciale" -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, no-c-format msgid "Clear calibration" msgstr "Effacer la calibration" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, no-c-format msgid "Clear calibration cache" msgstr "Efface le cache des données de calibration" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptateur pour transparents" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "Couleur du mode niveaux de gris" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Sélectionne la couleur à utiliser en niveaux de gris (défaut: vert)." -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Options de déboggage" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Préchauffage automatique" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2548,12 +3279,12 @@ msgstr "" "Préchauffer jusqu'à ce que l'intensité de la lampe soit constante, au " "lieu d'attendre 60 secondes." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Numérisation complète" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2563,12 +3294,12 @@ msgstr "" "calibration. ATTENTION! Ne pas sélectionner la hauteur complète. " "Seulement pour tester." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Calibration grossière" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2580,13 +3311,13 @@ msgstr "" "manuellement les paramètres gain et décalage dans l'application. Activée " "par défaut. Pour tester seulement." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "" "Utiliser la calibration grosière seulement à la première numérisation" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2598,12 +3329,12 @@ msgstr "" "gagner du temps. Si l'intensité de chaque image est différente, " "désactiver cette option. Seulement pour tester." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "Nombre de lignes de retour arrière" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2616,85 +3347,85 @@ msgstr "" "numérisation. Des valeurs petites permettent une numérisation plus " "rapide, au risque de perdre quelques lignes." -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Valeur de gamma" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Sélectionne la valeur de gamma pour tous les canaux." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, no-c-format msgid "Geometry Group" msgstr "Géométrie" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format msgid "Scan Mode Group" msgstr "Mode de numérisation" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Diapositive" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, no-c-format msgid "Scanner model" msgstr "Modèle de scanner" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, fuzzy, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" "Permet de tester le comportement du périphérique en l'utilisant comme un " "autre modèle compatible" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "Les couleurs de l'image seront inversées" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, no-c-format msgid "Disable gamma correction" msgstr "Désactiver la correction gamma" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, no-c-format msgid "Gamma correction will be disabled" msgstr "La correction gamma sera désactivée" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, no-c-format msgid "Disable white shading correction" msgstr "Désactiver la correction des ombres blanches" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "La correction des ombres blanches sera désactivée" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "Omettre le préchauffage" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "Le préchauffage sera désactivé" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "Forcer l'utilisation de la profondeur réelle" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2706,12 +3437,12 @@ msgstr "" "puis convertie dans la profondeur demandée. Cette option évite de " "simuler la profondeur." -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, no-c-format msgid "Emulate Grayscale" msgstr "Simuler en niveaux de gris" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2722,12 +3453,12 @@ msgstr "" "de gris par logiciel. Cela peut permettre d'améliorer la qualité de " "l'image dans certaines circonstances." -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "Sauver les images de déboggage" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " @@ -2736,360 +3467,354 @@ msgstr "" "Si activé, les images intermédiaires utilisées pendant la numérisation " "seront sauvegardées pour analyse." -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, no-c-format msgid "Reset chipset" msgstr "Réinitialiser la puce" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "Réinitialise les données de la puce" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, no-c-format msgid "Information" msgstr "Informations" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, no-c-format msgid "Chipset name" msgstr "Nom de la puce" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "Affiche le nom de la puce utilisée dans le périphérique" -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "Inconnu(e)" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "Identifiant de la puce" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, no-c-format msgid "Shows the chipset ID" msgstr "Affiche l'identifiant de la puce" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, no-c-format msgid "Scan counter" msgstr "Compteur de numérisations" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Affiche le nombre de numérisations effectuées par le scanner" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, no-c-format msgid "Update information" msgstr "Rafraîchir les informations" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "Rafraîchit les informations du périphérique" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "Cette option reflète l'état d'un bouton de la façade du scanner" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Image" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Divers" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "décalage en X" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Position X en haut à gauche de l'aire de numérisation" -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "décalage en Y" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Position Y en haut à gauche de l'aire de numérisation" -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Etat de la lampe" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Allume/éteint la lampe." -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Calibration des niveaux noir et blanc." -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "Chargeur automatique de documents" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, no-c-format msgid "TMA Slides" msgstr "Adaptateur pour transparents - diapositives" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, no-c-format msgid "TMA Negatives" msgstr "Adaptateur pour transparents - négatifs" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, no-c-format msgid "Color (48 bits)" msgstr "Couleur (48 bits)" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, no-c-format msgid "Extend lamp timeout" msgstr "Délai allongé avant extinction de la lampe" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" "Allonge le délai avant l'extinction de la lampe (de 15 minutes à une " "heure)." -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Attendre le bouton" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "Attend l'appui sur le bouton avant la numérisation" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "Options avancées" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Grossier" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Précis" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Personnalisé" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Automatique" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "RVB NTSC" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "RVB (pour transparents)" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "Direct" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "Gris NTSC" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "Gris (pour transparents)" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Lent" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Rapide" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Très rapide" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2 pixels" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4 pixels" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8 pixels" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Imprimer" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Film-strip" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "Adaptateur pour transparents" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Conditionnel" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "Essais" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Netteté" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Choisir la netteté" -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Seuil automatique" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" "Active la détection automatique du seuil pour la numérisation en mode " "trait." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Lissage" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Sélectionne le filtre de lissage." -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Ejecter le document après la numérisation" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Ejecte le document après la numérisation." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Changer de document" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Change de document." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Ejecter" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Ejecter le document." -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Démarrer la calibration." -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Document" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Sélectionne le type de document." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Temps d'exposition" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -3102,461 +3827,460 @@ msgstr "" "pour des diapositives normales, et \"Négatif\" pour des négatifs. Pour " "les images sombres (sous-exposées), vous pouvez augmenter cette valeur." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Matrice de couleurs" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Sélectionne la matrice de couleurs du scanner." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Matrice personnalisée." -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Matrice monochrome" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Matrice personnalisée pour numérisation en niveaux de gris." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Miroir horizontal" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Renverse l'image horizontalement." -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Miroir vertical" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Renverse l'image verticalement." -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Mettre les options à jour" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Mets à jour les options." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "Sortie en 8 bits" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" "Utilise plus de 8 bits de profondeur en interne, mais sort en 8 bits." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Attente de bouton avant" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "Attendre l'appui sur le bouton du scanner avant de numériser." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Eteindre la lampe" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Eteint la lampe du scanner." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Taille du papier" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Séparation automatique" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 - paysage" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Positionne le mode de contrôle de la densité" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Mise au point manuelle" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Mise au point manuelle" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Active la numérisation recto-verso" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Taille physique du papier dans le chargeur" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "Demi-teinte" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Couleur" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "Continuer" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "Aucun" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Demi-teinte" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Demi-teinte" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, fuzzy, no-c-format msgid "diffusion" msgstr "Diffusion d'erreur" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normal" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Contraste" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "numériseur de transparents" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Avec du papier" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Valeur par défaut" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Lisse" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Lent" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Moyen" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Rouge" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Vert" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Source de numérisation" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Mode de chargement" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Sélectionne le mode de chargement" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Activer/désactiver la mise au point automatique" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Positionne le mode de contrôle de la densité" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Sélectionne le mode de chargement" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Sélectionne le mode de chargement" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Seuil automatique" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3565,515 +4289,502 @@ msgstr "" "Fixe automatiquement la luminosité, le contraste, le niveau du blanc, le " "gamma, la réduction du bruit et l'accentuation de l'image" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Réduction du bruit" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Réduit le bruit isolé" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Accentuation de l'image" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Sélectionne l'accentuation de l'image" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Lampe allumée" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Allume/éteint la lampe." -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Renverse l'image verticalement." -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Correction gamma" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "Impression haute définition" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "Impression basse définition" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, fuzzy, no-c-format msgid "err_diffusion" msgstr "Diffusion d'erreur" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Pas de correction" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Normal" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Réglages fins" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Seuil automatique" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Seuil automatique" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "Fixe l'orde des trames" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Ombré bleu" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Décalage rouge -> bleu" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamant" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "\"Graissage\" grossier 8x8" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "\"Graissage\" fin 8x8" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "Bayer 8x8" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "Ligne verticale 8x8" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Gain" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Réglages de gain des couleurs" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Gain des gris" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Fixe le gain pour le gris" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Gain des rouges" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Fixe le gain pour le rouge" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Gain des verts" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Fixe le gain pour le vert" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Gain des bleus" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Fixe le gain pour le bleu" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "'Dither' Bayer 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "'Dither' Bayer 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Demi-ton 32 points" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Demi-ton 64 points" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Diffusion d'erreur" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Mode 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Mode 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Mode 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "Avec le batonnet blanc" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Lisse" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Bas" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Moyen" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Haut" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "Tube cathodique" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Une page" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Toutes les pages" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "scanner avec chargeur automatique" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "Niveau de gris 4 bits" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "Niveau de gris 8 bits" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Ombrage, teinte moyenne, contraste, temps d'exposition" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Options spéciales" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Balance des couleurs" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Ne pas utiliser de retour arrière" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "Si sélectionné, le scanner ne fera pas de retour arrière" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Allumer/éteindre la lampe du scanner" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Allumer/éteindre la lampe du scanner" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Calibration par le pilote" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" @@ -4081,43 +4792,43 @@ msgstr "" "Lorsque sélectionné, la calibration avant numérisation est effectuée par " "le pilote" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Utiliser l'adaptateur de diapositives" # flatbed is un-necessary here. Isn't it? -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "Cette option éteint la lampe pendant la numérisation" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Numérisation de qualité" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Qualité maximale, mais vitesse réduite" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Numérisation rapide" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Vitesse maximale, mais qualité réduite" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Seuil automatique" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4126,70 +4837,70 @@ msgstr "" "Lorsque sélectionné, le pilote détermine automatiquement la meilleure " "valeur du seuil." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Sélectionne le mode de correction gamma." -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Lier les valeurs gamma" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Utilise la même valeur gamma pour toutes les couleurs." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Valeur de gamma" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Sélectionne une valeur numérique pour la correction gamma" -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Valeur de gamma rouge" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "" "Sélectionne une valeur numérique pour la correction gamma (canal rouge)" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Valeur de gamma vert" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "" "Sélectionne une valeur numérique pour la correction gamma (canal vert)" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Valeur de gamma bleu" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "" "Sélectionne une valeur numérique pour la correction gamma (canal bleu)" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Canal" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." @@ -4197,207 +4908,207 @@ msgstr "" "Sélectionne la bande de couleur, \"Toutes\" signifie que toutes les " "couleurs sont affectées." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Teinte moyenne" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "Sélectionne le niveau de luminosité équivalant à \"50% gris\"." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Teinte moyenne rouge" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Sélectionne le niveau de luminosité équivalant à \"50% rouge\"." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Teinte moyenne verte" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "Sélectionne le niveau de luminosité équivalant à \"50% vert\"." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Teinte moyenne bleue" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "Sélectionne le niveau de luminosité équivalant à \"50% bleu\"." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Balance des rouges" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "Facteur de balance des rouges. 100% équivaut à pas de correction." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "balance des verts" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "Facteur de balance des verts. 100% équivaut à pas de correction." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "balance des bleus" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "Facteur de balance des bleus. 100% équivaut à pas de correction." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Balance (valeurs d'usines)" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "Règle les valeurs de balance avec les valeurs d'usine." -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Le plus lent" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Plus lent" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Plus rapide" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Le plus rapide" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 - Grossier" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 - Normal" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 - Précis" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 - Très précis" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 - Normal" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 - Grossier" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 - Précis" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 - Grossier" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 - Normal" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 - Précis" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 - Normal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 - Normal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 - Personnalisé" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 - Personnalisé" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 - Personnalisé" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 - Personnalisé" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 - Personnalisé" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 - Personnalisé" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Mode gris rapide" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Numérise rapidement en mode gris (qualité réduite)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4407,117 +5118,117 @@ msgstr "" "qualité). Ce peut etre en noir et blanc, et/ou dans une basse en " "résolution." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Temps avant extinction de la lampe (en minutes)" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Fixe le temps (en minutes) au-delà du quel la lampe est éteinte." -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "Eteint la lampe." -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Eteint la lampe du scanner maintenant" -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Luminosité des rouges" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Contrôle la brillance rouge de l'image à numériser." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Luminosité des verts" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Contrôle la brillance verte de l'image à numériser." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Luminosité des bleus" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Contrôle la brillance bleue de l'image à numériser." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Contraste - rouge" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Contrôle le contraste rouge de l'image à numériser." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Contraste - vert" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Contrôle le contraste vert de l'image à numériser." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Contraste - bleu" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Contrôle le contraste bleu de l'image à numériser." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Couleur 48 bits" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Couleur 24 bits" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Gris 16 bits" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Gris 8 bits" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "Réfléchissant" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "Positif" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4526,39 +5237,39 @@ msgstr "" "Préchauffer jusqu'à ce que l'intensité de la lampe soit constante, au " "lieu d'attendre 40 secondes." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Film négatif" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Négatif" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Couleurs précises" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Numérisation contrôlée par le bouton du scanner" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4569,248 +5280,239 @@ msgstr "" "\" (MP150), ou du bouton \"COLOR\" (autres modèles). Appuyez sur le " "bouton \"GRAY\" pour annuler la numérisation." -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Rafraîchir l'état du bouton" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Bouton 1" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Bouton 2" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Transparence" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "Paramètres du périphérique" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "Eteindre/allumer la (les) lampes" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "Eteindre/allumer la (les) lampes manuellement." -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, no-c-format msgid "Lamp off during dark calibration" msgstr "Eteindre la lampe durant la calibration des noirs" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "Toujours éteindre la lampe durant la calibration des noirs" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "Cache des données de calibration" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "Active/désactive le cache des données de calibration" -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, no-c-format msgid "Performs calibration" msgstr "Effectue la calibration" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "Accélérer le capteur" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "Active l'accélération du mouvement du capteur." -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "Temps de préchauffage" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "Temps de préchauffage en secondes." -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "Temps avant extinction de la lampe" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "Temps avant extinction de la lampe en secondes." -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "Frontal analogique (AFE)" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "Gain des rouges du frontal analogique (AFE)" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Décalage des rouges" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "Décalage des rouges du frontal analogique (AFE)" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "Gain des verts du frontal analogique (AFE)" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Décalage des verts" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "Décalage des verts du frontal analogique (AFE)" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "Gain des bleus du frontal analogique (AFE)" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Décalage des bleus" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "Décalage des bleus du frontal analogique (AFE)" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "Délai avant extinction de la lampe rouge." -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "Définit le délai avant extinction de la lampe rouge." -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "Délai avant extinction de la lampe verte." -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "Définit le délai avant extinction de la lampe verte." -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "Délai avant extinction de la lampe bleue." -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "Définit le délai avant extinction de la lampe bleue." -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "Cette option affiche l'état des boutons du scanner." -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Couleur 36 bits" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Carte de 'dither' 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Carte de 'dither' 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Aléatoire" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Sélection de la source" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Amélioration de l'image" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Griser" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Charger l'image en tant que niveaux de gris." -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Simulation d'une numérisation à trois passes" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4819,12 +5521,12 @@ msgstr "" "Simule une numérisation à trois passes, en renvoyant 3 trames séparées. " "Pour le fun, renvoie la trame verte, puis bleue, puis rouge." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Simulation de scanner à main." -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4836,7 +5538,7 @@ msgstr "" "renvoient une hauteur de -1. Sélectionner cette option permet de tester " "si une interface peut le supporter correctement." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." @@ -4844,42 +5546,42 @@ msgstr "" "Sélectionne les valeurs par défaut pour les contrles d'amélioration " "(luminosité et contraste)." -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Option de test de lecture seule" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Voyons si l'interface traite correctement ceci" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Tables de gamma" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Simulation du code d'état" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Ne pas forcer le code d'état" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Ne pas obliger le pilote à renvoyer un code d'état." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Renvoie SANE_STATUS_EOF" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4888,12 +5590,12 @@ msgstr "" "Oblige le pilote à renvoyer le code SANE_STATUS_EOF (fin de fichier) " "après un appel à sane_read()." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Renvoie SANE_STATUS_JAMMED" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4902,12 +5604,12 @@ msgstr "" "Oblige le pilote à renvoyer le code SANE_STATUS_JAMMED (bourrage) après " "un appel à sane_read()." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Renvoie SANE_STATUS_NO_DOCS" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4916,12 +5618,12 @@ msgstr "" "Oblige le pilote à renvoyer le code SANE_STATUS_NO_DOCS (pas de ) " "après un appel à sane_read()." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Renvoie SANE_STATUS_COVER_OPEN" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4930,12 +5632,12 @@ msgstr "" "Oblige le pilote à renvoyer le code SANE_STATUS_COVER_OPEN (couvercle " "soulevé) après un appel à sane_read()." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Renvoie SANE_SATUS_IO_ERROR" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4944,12 +5646,12 @@ msgstr "" "Oblige le pilote à renvoyer le code SANE_STATUS_IO_ERROR (erreur " "d'entrée/sortie après un appel à sane_read()." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Renvoie SANE_STATUS_NO_MEM" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4958,12 +5660,12 @@ msgstr "" "Oblige le pilote à renvoyer le code SANE_STATUS_NO_MEM (pas de mémoire) " "après un appel à sane_read()." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Renvoie SANE_STATUS_ACCESS_DENIED" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4972,85 +5674,82 @@ msgstr "" "Oblige le pilote à renvoyer le code SANE_STATUS_ACCESS_DENIED (acces " "refusé) après un appel à sane_read()." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "Cette option affiche l'état d'un bouton du scanner." -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Lampe allumée" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Allume la lampe du scanner" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Lampe éteinte" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Eteint la lampe du scanner" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "Délai avant extinction de la lampe" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "Délai en minutes avant d'éteindre la lampe après une numérisation." -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "Seuil pour le mode trait" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Chargeur automatique de document" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6\"x4\" (~15x10 cm)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8\"x10\" (~20x25 cm)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5\"x11\" (~21x28 cm)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Demi-teinte non-supportée" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "Points dispersés 8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "Points dispersés 16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -5066,27 +5765,27 @@ msgstr "" "pourrait empécher les applications Xwindow de traiter les évènements X, " "et votre système pourrait s'écrouler." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Ejecte le document après la numérisation" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Aperçu" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -5095,12 +5794,12 @@ msgstr "" "Sélectionne le mode de prévisualisation. Les aperçus en niveaux de gris " "donnent habituellement le meilleur compromis entre vitesse et détails." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Valeurs prédéfinies" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -5109,97 +5808,97 @@ msgstr "" "Fournit des emplacements standards pour la numérisation de photos, de " "pages imprimées, etc..." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "numériseur à plat" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, fuzzy, no-c-format msgid "Focus-mode" msgstr "Mise au point" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Mise au point automatique" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Mise-au-point" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Mise-au-point" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Nombre de lignes en couleurs par cycle de lecture" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Nombre de lignes en niveaux de gris par cycle de lecture" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "webcam" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Couleur RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Couleur RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Couleur RGB TEXTE" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Noir pur" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Blanc pur" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Motif couleur" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Grille" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Premier choix" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Second choix" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5208,12 +5907,12 @@ msgstr "" "Ceci est la troisième entrée, la plus longue. Peut-etre l'application " "sait-elle comment l'afficher..." -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Simulation de scanner à main" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5227,12 +5926,12 @@ msgstr "" "supporter correctement. Cette option fixe aussi la largeur de " "numérisation à 11 cm." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Simulation d'une numérisation à trois passes" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5240,17 +5939,17 @@ msgid "" msgstr "" "Simule une numérisation à trois passes, en renvoyant 3 trames séparées." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Fixe l'orde des trames" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "Fixe l'ordre des trames dans une numérisation à trois passes." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " @@ -5259,17 +5958,17 @@ msgstr "" "Si le chargeur de document est sélectionné, il sera 'vide' après 10 " "numérisations." -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Options spéciales" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Sélectionne l'image de test" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5289,14 +5988,14 @@ msgstr "" # YEM-20030211 : As foolish as it may appear, endian has been translated # into french as 'indien', although it has nothing to do with 'Indians'. -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Inversion petit/grand indien" # YEM-20030211 : As foolish as it may appear, endian has been translated # into french as 'indien', although it has nothing to do with 'Indians'. -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5307,57 +6006,57 @@ msgstr "" "à 1- bits. Ce peut-etre utile pour tester le support petit/grand indien " "d'une interface." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Limite de lecture" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" "Limite la quantité de données qui sont transmises à chaque appel à " "sane_read()" -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Taille de la limite de lecture" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." msgstr "" "La taille maximale des données transférées à chaque appel à sane_read()." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Délai à la lecture" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Retarde le transfert des données lues." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Durée du délai de lecture" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "Temps à attendre après avoir transféré les données lues." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Valeur de retour de sane_read()" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5368,22 +6067,22 @@ msgstr "" "fonctionnement normal pour la numérisation. Toute autre valeur permet de " "tester les applications." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Nombre de pixels perdus par ligne" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Le nombre de pixels perdus à la fin de chaque ligne lue." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Paramètres délirants" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5392,24 +6091,24 @@ msgstr "" "Renvoie des valeurs abhérantes pour le nombre de lignes et d'octets par " "ligne quand sane_parameters() est appelé avant sane_start()." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "E/S non bloquantes" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Utilise un méchanisme d'E/S non bloquantes pour sane_read(), si supporté " "par l'application." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Proposer un descripteur de fichier pour select(2)" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5418,12 +6117,12 @@ msgstr "" "Présente un descripteur de fichier de type select(2) pour tester si un " "appel a sane_read() renverra des données." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Active les options de test" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5432,27 +6131,27 @@ msgstr "" "Active diverses options de test. Pour tester la capacité des " "applications à obtenir et modifier tous les types d'options de SANE." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Liste des options" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Affiche une liste de toutes les options." -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Options test - booléens" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) Modification et lecture logicielles" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5461,12 +6160,12 @@ msgstr "" "(1/6) Option booléenne lisible et modifiable par l'application. C'est " "juste une option 'normale'." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Modification matérielle et lecture logicielle" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5476,12 +6175,12 @@ msgstr "" "(2/6) Option booléenne lisible par l'application et modifiable par le " "matériel (ex. un bouton sur le périphérique)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Option booléenne modifiable par le matériel." -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5491,12 +6190,12 @@ msgstr "" "(3/6) Option booléenne modifiable par le matériel (ex. un bouton sur le " "périphérique) et dont le status ne peut pas etre lu par l'application." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) Option booléenne lisible par logiciel" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5505,12 +6204,12 @@ msgstr "" "(4/6) Option booléenne lisible par le logiciel. Cette option est en " "lecture seule." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Option booléenne émulée" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5518,12 +6217,12 @@ msgid "" msgstr "" "(5/6) Options booléenne émulée, lisible et modifiable par le logiciel." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) Option booléenne automatique" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5533,27 +6232,27 @@ msgstr "" "(6/6) Option booléenne lisible et modifiable par le logiciel. Cette " "option peut être modifiée automatiquement par le pilote." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Options test - entiers" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Entier" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "(1/6) Option à valeur entière sans unité ni domaine de variations." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Entière avec domaine." -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5562,24 +6261,24 @@ msgstr "" "(2/6) Option à valeur entière avec domaine de variations. Unité: pixel. " "Min: 4. Max: 192. Pas: 2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) Entier listé" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" "(3/6) Option à valeur entière dont les valeurs possibles sont contenues " "dans une liste. Untié : bit." -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Tableau d'entiers" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " @@ -5588,12 +6287,12 @@ msgstr "" "(4/6) Tableau d'options à valeur entière sans domaine de variations. " "Unité : mm." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) Tableau d'entiers avec domaine" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5602,12 +6301,12 @@ msgstr "" "(5/6) Tableau d'options à valeur entière avec domaine de variations. " "Unité: dpi. Min: 4. Max: 192. Pas: 2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Tableau d'entiers à valeurs listées" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5617,29 +6316,29 @@ msgstr "" "contenues dans des listes. Unité : %." # YEM-20030216 : I understand that 'fixed' is to be opposed to 'float'. -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Options test - réels fixes" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Réel fixe" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "" "(1/3) Option à valeur réelle (virgule fixe) sans unité ni domaine de " "variations." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Réel fixe avec domaine" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5648,51 +6347,51 @@ msgstr "" "(2/3) Option à valeur réelle (virgule fixe) avec domaine de variations. " "Unité: µs. Min: -42,17. Max: 32767,9999. Pas: 2,0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) Réel fixe listé" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" "(3/3) Option à valeur réelle (vurgule fixe) sans unité et dont les " "valeurs possibles sont dans une liste." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "Options test - chaînes de caractères" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) Chaîne" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) Chaîne de caractères sans contrainte." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) Chaîne listée" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "" "(2/3) Chaîne de caractères dont les valeurs possibles sont dans une " "liste." -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) Chaine listée (longue)" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5701,156 +6400,160 @@ msgstr "" "(3/3) Chaine de caractères dont les valeurs possibles sont dans une " "liste. Plus de choix..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Options test - boutons" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Bouton" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Bouton de test. Affiche du texte..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Couleur 36 bits" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Utiliser la composition d'images" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Noir et blanc (mode trait)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Noir et blanc (mode tramé)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Niveaux de gris" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Couleur RVB (une passe)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Ignorer la calibration" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Désactiver la mise au point" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Ne calibre pas la mise au point" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Mise au point manuelle" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Mise au point fixe" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Calibration de la lentille en mode document" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Calibre la lentille en mode document." -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Mise au point au niveau de la vitre" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Effectue la mise au point à 0mm de la vitre au lieu de 0.6mm" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Mode de calibration" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Définit le mode de calibration" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Allume/éteint la lampe." -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "Activer l'UTA" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Activer/déactiver l'adaptateur universel de transparents (UTA)" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Décalage" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Réglages de décalage des couleurs" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Décalage des gris" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Fixe le décalage pour le gris" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Fixe le décalage pour le rouge" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Fixe le décalage pour le vert" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Fixe le décalage pour le bleu" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Aperçu" + #~ msgid "problem not analyzed (unknown SCSI class)" #~ msgstr "problème non traité (classe SCSI inconnue)" diff --git a/po/gl.gmo b/po/gl.gmo new file mode 100644 index 0000000..8c21b80 Binary files /dev/null and b/po/gl.gmo differ diff --git a/po/gl.po b/po/gl.po index c96487c..8ed8e5d 100644 --- a/po/gl.po +++ b/po/gl.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2009-06-25 10:22+0100\n" "Last-Translator: Miguel Anxo Bouzada \n" "Language-Team: Galician \n" @@ -20,411 +20,405 @@ msgstr "" "X-Poedit-Language: Galician\n" "X-Poedit-Country: SPAIN\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Número de opcións" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "Estándar" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Xeometría" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Optimización" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Avanzado" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "Sensores" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Vista previa" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Forzar vista previa monocroma" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Bit de profundidade" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Modo de escaneo" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Velocidade de escaneo" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Orixe de escaneo" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Forzar retroceso" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Arriba-esquerda X" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Arriba-esquerda Y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Abaixo-dereita X" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Abaixo-dereita Y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Resolución de escaneo" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "Resolución X" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Resolución Y" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "Ancho de páxina" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, no-c-format msgid "Page height" msgstr "Altura de páxina" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Usar táboa gamma personalizada" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Intensidade da imaxe" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Intensidade de vermello" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Intensidade de verde" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Intensidade de azul" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Brillo" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Contraste" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Tamaño do gran" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Medios tons" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Nivel do negro" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Nivel do branco" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Nivel do branco para vermello" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Nivel do branco para verde" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Nivel do branco para azul" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Sombra" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Sombra para vermello" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Sombra para verde" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Sombra para azul" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Resaltar" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Resalte para vermello" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Resalte para verde" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Resalte para azul" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Matiz" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Saturación" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Nome do ficheiro" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Tamaño do patrón de medios tons" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Patrón de medios tons" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Ligar resolucións X e Y" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Calibración da calidade" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Dobre resolución óptica" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Ligar RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Limiar" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Corrección gamma analóxica" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Gamma analóxica vermella" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Gamma analóxica verde" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Gamma analóxica azul" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Ligar gamma analógico" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Quecemento da lámpada" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Cal. tempo de exposición" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Cal. tempo de exposición para vermello" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Cal. tempo de exposición para verde" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Cal. tempo de exposición para azul" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Tempo de exposición para escaneo" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Tempo de exposición para vermello" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Tempo de exposición para verde" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Tempo de exposición para azul" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Axustar tempo de exposición" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Cal. densidade da lámpada" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Densidade da lámpada de escaneo" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Axustar a densidade da lámpada" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Apagar a lámpada ao saír" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -433,37 +427,37 @@ msgstr "" "Opción de só lectura que define cantas opcións soporta un dispositivo " "específico." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, no-c-format msgid "Source, mode and resolution options" msgstr "Orixe, opcións de modo e resolución" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "Opcións da área de escaneo e tamaño do soporte" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, no-c-format msgid "Image modification options" msgstr "Opcións de modificación de imaxe" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, no-c-format msgid "Hardware specific options" msgstr "Opcións especificas de hardaware" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "Sensores e botóns do escáner" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Solicitar unha vista previa de calidade d escaneo." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -475,7 +469,7 @@ msgstr "" "nun escáner dunha pasada isto reduce o requisitos de memoria e o tempo " "de escaneo da vista previa." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -484,65 +478,65 @@ msgstr "" "Número de bits por mostra, valores típicos son 1 para «liña de arte» e 8 " "para escaneos multibit." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" "Selecciona o modo de escaneo (ex. liña de arte, monocromo, ou cor)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Determina a velocidade á que se fai o escaneo." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "" "Selecciona a orixe do escaneo (como pode ser un alimentador de " "documentos)." -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Controla se se forza o retroceso" -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Posición X arriba-esquerda da área de escaneo." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Posición Y arriba-esquerda da área de escaneo." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Posición X abaixo-dereita da área de escaneo." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Posición Y abaixo-dereita da área de escaneo." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Axusta a resolución da imaxe escaneada." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Axusta a resolución horizontal da imaxe escaneada." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Axusta a resolución vertical da imaxe escaneada." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " @@ -551,19 +545,19 @@ msgstr "" "Especifica a anchura do soporte. É preciso para o centrado automático de " "follas de escaneo." -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, no-c-format msgid "Specifies the height of the media." msgstr "Especifica a altura do soporte" -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." msgstr "" "Determina se se debe usarse unha táboa gamma interna ou personalizada." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -574,32 +568,32 @@ msgstr "" "canles vermella, verde e azul de vez (ex. é unha táboa de intensidade " "gamma)." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Táboa de corrección gamma para a gama vermella." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Táboa de corrección gamma para a gama verde." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Táboa de corrección gamma para a gama azul." -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Controla o brillo da imaxe obtida." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Controla o contraste da imaxe obtida." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -608,71 +602,71 @@ msgstr "" "Escolle o «granulado» da imaxe obtida. Valores máis pequenos fornecen " "imaxes máis nitidas." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" "Define se a imaxe obtida debe ser convertida a medios tons (punteado)." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "" "Selecciona que nivel de radiancia debe ser tida en conta \"negro\"." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "" "Selecciona que nivel de radiancia debe ser tida en conta \"branco\"." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" "Selecciona que nivel de radiancia vermella debe ser tida en conta " "\"branco\"." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" "Selecciona que nivel de radiancia verde debe ser tida en conta \"branco" "\"." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" "Selecciona que nivel de radiancia azul debe ser tida en conta \"branco\"." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" "Selecciona que nivel de radiancia vermella debe ser tida en conta \"negro" "\"." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" "Selecciona que nivel de radiancia verde debe ser tida en conta \"negro\"." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" "Selecciona que nivel de radiancia azul debe ser tida en conta \"negro\"." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Selecciona que nivel de radiancia vermella debe ser tida en conta " "\"vermello total\"." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." @@ -680,7 +674,7 @@ msgstr "" "Selecciona que nivel de radiancia verde debe ser tida en conta \"verde " "total\"." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." @@ -688,12 +682,12 @@ msgstr "" "Selecciona que nivel de radiancia azul debe ser tida en conta \"azul " "total\"." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Controla o \"matiz\" (nivel de azul) da imaxe obtida." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -703,12 +697,12 @@ msgstr "" "ocorre cando se obtén unha imaxe cunha cámara. Valores máis altos " "producen máis florecemento." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Nome do ficheiro da imaxe a cargar." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -717,7 +711,7 @@ msgstr "" "Axusta o tamaño do patrón de medios tons (punteado) usado cando se " "escanean as imaxes de medios tons." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." @@ -725,287 +719,287 @@ msgstr "" "Define o patrón de medios tons (punteado) para escanear as imaxes de " "medios tons." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Usar os mesmos valores para a resolución X e Y." -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Intercambiar branco e negro" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Facer unha calibración de calidade dos brancos" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Usar lente que duplica a resolución óptica" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "En modo RGB usar os mesmos valores para cada cor" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Seleccionar o brillo mínimo para obter un punto branco" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Corrección gamma analóxica" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Corrección gamma analóxica para vermello" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Corrección gamma analóxica para verde" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Corrección gamma analóxica para azul" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Quecer a lámpada antes de escanear" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Definir tempo de exposición para a calibración" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Definir tempo de exposición para a calibración vermella" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Definir tempo de exposición para a calibración verde" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Definir tempo de exposición para a calibración azul" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Definir tempo de exposición para o escaneo" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Definir tempo de exposición para o escaneo vermello" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Definir tempo de exposición para o escaneo verde" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Definir tempo de exposición para o escaneo azul" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Activar selección do tempo de exposición" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Definir densidade da lámpada para a calibración" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Definir densidade da lámpada para o escaneo" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Activar a selección da densidade da lámpada" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Apaga a lámpada ao saír do programa" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, no-c-format msgid "Scan button" msgstr "Botón de control de escaneo" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, no-c-format msgid "Email button" msgstr "Botón de correo-e" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, no-c-format msgid "Fax button" msgstr "Botón de fax" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, no-c-format msgid "Copy button" msgstr "Botón de copia" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "Botón de PDF" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "Botón de cancelar" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "Páxina cargada" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, no-c-format msgid "Cover open" msgstr "A tapa está aberta" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Cor" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Liña de arte coloreada" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Medios tons coloreados" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Gris" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Medios tons" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Liña de arte" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "Éxito" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, no-c-format msgid "Operation not supported" msgstr "Operación non compatible" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "A operación vai ser cancelada" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "Dispositivo ocupado" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "Argumento incorrecto" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "Acadouse o fin do ficheiro" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, no-c-format msgid "Document feeder jammed" msgstr "Alimentador de documentos atrancado" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, no-c-format msgid "Document feeder out of documents" msgstr "O alimentador de documentos está baleiro" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "A tapa do escáner está aberta" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "Erro en dispositivo de E/S" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "Non queda memoria" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "Denegouse o acceso ao recurso" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "A lámpada non está preparada, tenteo de novo" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "O escáner está bloqueado para transporte" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Predeterminados" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Axustar valores predeterminados para os controis de optimización." -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Calibración" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Calibrar antes do seguinte escaneo" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -1014,12 +1008,12 @@ msgstr "" "Se se activa, o dispositivo hase calibrar antes do seguinte escaneo. " "Noutro caso, a calibración farase unicamente antes do primeiro escaneo." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Facer só correccións de sombras" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1031,1069 +1025,1060 @@ msgstr "" "desprazamento e tempo de exposición, xa sexan os que trae incorporados o " "programa ou os do ficheiro de configuración." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Botón de estado" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Número de mostra a escanear" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Escolle o número de mostra a escanear" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "Escaneo dúplex" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "" "O escaneo dúplex fornece un escaneo do anverso e o reverso do documento" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Calibrar o escáner" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Forza a calibrar o escáner antes de facer o escaneo" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Escaneo en escala de grises" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Escanea en escala de grises, non en cores" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Ganancia analóxica" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Aumenta o diminúe a ganancia analóxica da gama CCD" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Corrección gamma" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Selecciona a curva de transferencia da corrección gamma" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "En bruto" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "Cor fina" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Sen corrección de transparencia" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "Corrección conforme co tipo de filme" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "Corrección conforme coa taxa de transparencia" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, no-c-format msgid "Negatives" msgstr "Negativos" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, no-c-format msgid "Slides" msgstr "Diapositivas" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automático" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, no-c-format msgid "Normal speed" msgstr "Velocidade normal" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "1/2 da velocidade normal" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "1/3 da velocidade normal" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "parámetro redondeado" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "descoñecido" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "Atoamento no alimentador" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "A tapa do alimentador está aberta" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, no-c-format msgid "lamp failure" msgstr "fallo de lámpada" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "erro no posicionamento do cabezal de escaneo" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "erro de verificación de CPU" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "erro de verificación de RAM" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "erro de verificación de ROM" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "erro de verificación de hardware" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "fallo da lámpada da unidade de transparencias" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" "fallo de posición do cabezal de escaneo da unidade de transparencias" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "erro na lonxitude da lista de parámetros" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "código de orde de operación incorrecto" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "campo incorrecto en CDB" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "LUN non é compatíbel" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "campo incorrecto na lista de parámetros" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "erro na secuencia de ordes" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "especifícanse demasiadas xanelas" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "non se atopa o soporte" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "mensaxe de bit de IDENTIFICACIÓN incorrecta" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "a opción non conecta" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "reiniciar o acendido / reiniciar o bus do dispositivo" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "parámetro cambiado por outro iniciador" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "información sen senso adicional" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "Fallou a volta a escoller" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "erro de paridade SCSI" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "o iniciador detectou a recepción dunha mensaxe de erro" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "mensaxe de erro incorrecta" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "erro de límite de tempo" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "erro de sombreado na unidade de transparencias" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "lámpada non estabilizada" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "escáner de filmes" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "escáner plano" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Tipo de filme" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Escoller o tipo de filme, p.e. negativo ou diapositiva" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, no-c-format msgid "Negative film type" msgstr "Tipo de filme negativo" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "Selecciona o tipo de negativo de filme" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "Resolución do hardware" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "Usar só resolucións do hardware" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "Enfoque" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "Enfoque automático" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "Activar/desactivar enfoque automático" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "Enfoque automático só unha vez" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Facer enfoque automático só unha vez entre expulsións" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "Posición de foco manual" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" "Axustar o sistema óptico de foco na posición manual (predeterminado: " "128)." -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "Marxes de escaneo" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "Axustes de cor extra" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Reflectir a imaxe horizontalmente" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "Inverter a imaxe horizontalmente" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "Exposición automática" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Activar/desactivar a característica de exposición automática" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, no-c-format msgid "Calibration now" msgstr "Calibrar agora" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, no-c-format msgid "Execute calibration *now*" msgstr "Executar a calibración *agora*" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "Diagnose automatica" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Facer unha diagnose automatica do escáner" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, no-c-format msgid "Reset scanner" msgstr "Reiniciar o escáner" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "Reiniciar o escáner" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "Manexar o soporte" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "Expulsar o filme despois de cada escaneo" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" "Expulsar automaticamente o filme do dispositivo despois de cada escaneo" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "Expulsar o filme antes de saír" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" "Expulsar automaticamente o filme do dispositivo antes de saír do programa" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "Expulsar o filme agora" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "Expulsar o filme *agora*" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "Alimentador de documentos extras" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "Só plano" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" "Desactivar o alimentador automático de documentos e usar só o plano" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "Unidade de transparencias" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" "Activar/desactivar a unidade de transparencias (FAU, unidade adaptadora " "de filme)" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, no-c-format msgid "Negative film" msgstr "Filme en negativo" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, no-c-format msgid "Positive or negative film" msgstr "Filme en positivo ou en negativo" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "Control de densidade" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "Axustar o modo de control de densidade" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "Taxa de transparencia" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "Escoller tipo de filme" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "Escoller o tipo de filme" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Plano" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, fuzzy, no-c-format msgid "ADF Front" msgstr "A tapa do alimentador está aberta" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "Atoamento no alimentador" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "Alimentador dúplex" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Imprimir" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Duas caras" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Vermello" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Verde" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Azul" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Optimización" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Optimización" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Optimización" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Ningún" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Unha cara" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Duas caras" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Unidade de transparencias" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Alimentador automático de documentos (ADF)" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Filme en positivo" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Filme en negativo" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Enfoque no cristal" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Enfoque a 2.5mm sobre o cristal" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Medios tons A (tons duros)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Medios tons B (tons suaves)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Medios tons C (matizado)" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Trama A (4x4 Bayer)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Trama B (4x4 espiral)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Trama C (4x4 matizado)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Trama D (8x4 matizado)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Tecnoloxia de optimización de texto" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Descargar patrón A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Descargar patrón B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Sen corrección" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Definida polo usuario" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Impresoras matriciais" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Impresoras térmicas" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Impresoras de inxección de tinta" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "Monitores CRT" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Predeterminado" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Impresión de alta densidade" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Impresión de baixa densidade" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Impresión de alto contraste" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Definido polo usuario (gamma=1.0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Definido polo usuario (gamma=1.8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 vertical" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 apaisado" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Carta" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Máx" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Modo de escaneo" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Escolle o medios tons" -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Exclusión" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Escoller o que se vai a excluir" -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Escoller o brillo" -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Nitidez" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Corrección da cor" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" "Axusta a táboa de corrección da cor para o dispositivo de saída " "seleccionado." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Coeficientes de corrección da cor" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Matriz de multiplicación de RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Cambiar de verde a vermello" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Cambiar de verde a azul" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Cambiar de vermello a verde" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Cambiar de vermello a azul" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Cambiar de azul a verde" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Cambiar de azul a vermello" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Controla o nivel de verde" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Engade vermello baseándose no nivel de verde" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Engade azul baseándose no nivel de verde" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Engade verde baseándose no nivel de vermello" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Controla o nivel de vermello" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Engade azul baseándose no nivel de vermello" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Engade verde baseándose no nivel de azul" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Engade vermello baseándose no nivel de azul" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Controla o nivel de azul" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Reflectir a imaxe." -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Vista previa rápida" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Segmentación automática da área" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Lista curta de resolucións" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Amosar lista curta de resolucións" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Zoom" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Define o factor de zoom que vai usar o escáner" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Formato rápido" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Equipamento opcional" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Expulsar" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Expulsar a folla do alimentador" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Expulsión automática" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Expulsar o documento despois do escaneo" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "Modo alimentador" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Escoller o modo do alimentador (unha cara/duas caras)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Badía" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Escolla a badía para escanear" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2103,12 +2088,12 @@ msgstr "" "predefinidos ou dunha táboa definida polo usuario, que pode ser " "descargada ao escáner." -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Posición do foco" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" @@ -2116,12 +2101,12 @@ msgstr "" "Axusta a posición do foco, xa sexa ao cristal ou a 2.5mm por riba do " "cristal" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Agardar ao botón" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2130,219 +2115,966 @@ msgstr "" "Despois de enviar a orde de escaneo, agardar até que se prema no botón " "do escáner para comezar verdadeiramente o proceso de escaneo." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" msgstr "Diapositiva en positivo" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, no-c-format msgid "Negative Slide" msgstr "Diapositiva en negativo" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, fuzzy, no-c-format msgid "User defined CCT profile" msgstr "Definida polo usuario" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "Activado" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Desactivado" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Esfumado" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Difusión de erro" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "White" msgstr "Nivel do branco" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, fuzzy, no-c-format msgid "Black" msgstr "Nivel do negro" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Continue" msgstr "Condicional" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Horizontal" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Horizontal" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Vertical" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Front" msgstr "Imprimir" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Medios tons" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Calibración de precisión" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Destaque da imaxe" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Saturación" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "" +"Activar a determinación automática do limiar para escaneos como liña de " +"arte." + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Reflectir a imaxe horizontalmente" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Reflectir a imaxe en horizontal" + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Nivel do branco para azul" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Controla o nivel de vermello" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Filtro de cor" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Suavizado" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Valor gamma" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, fuzzy, no-c-format +msgid "Threshold curve" +msgstr "Limiar" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Limiar" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Redución de ruído" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Sen corrección" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Sen corrección" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "A tapa do alimentador está aberta" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Opcions avanzadas" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Sen corrección" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Exclusión" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "Modo de alimentación" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Tempo para apagado da lámpada" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Desviación azul" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Desviación verde" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Desviación verde" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Desviación azul" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Axusta o desprazamento da canle azul" + +#: backend/fujitsu.c:3980 +#, fuzzy, no-c-format +msgid "Low Memory" +msgstr "Non queda memoria" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Escaneo dúplex" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Opcions avanzadas" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Redución de ruído" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "De papel" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "De papel" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "De papel" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "De papel" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, fuzzy, no-c-format +msgid "Scanner in power saving mode" +msgstr "A tapa do escáner está aberta" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Foco previo manual" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Foco previo manual" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "erro de verificación de hardware" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Nivel do branco" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Control de densidade" + +#: backend/fujitsu.c:4549 +#, fuzzy, no-c-format +msgid "Density dial" +msgstr "Control de densidade" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Escaneo dúplex" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, fuzzy, no-c-format -msgid "Threshold curve" -msgstr "Limiar" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "Desactivar interpolación" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -2351,45 +3083,45 @@ msgstr "" "Cando se usan altas resolucións nas que a resolución horizontal é máis " "pequena que a vertical, isto desactiva a interpolación horizontal." -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtro de cor" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Cando se usa gris ou liña de arte esta opción selecciona a cor a usar." -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibración" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definir o modo de calibración" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Caché de datos de calibración" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "Tempo para apagado da lámpada" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2398,105 +3130,103 @@ msgstr "" "A lámpada vai ser apagada despois do tempo indicado (en minutos). Un " "valor de 0 significa que a lámpada no vai ser apagada." -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Apagar a lámpada durante a calibración de escuridade" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Minutos que tardará a lámpada en apagarse despois do escaneo" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, no-c-format msgid "File button" msgstr "Botón de ficheiro" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "Botón de OCR" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, no-c-format msgid "Power button" msgstr "Botón de enerxía" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Botón de correo-e" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Limpar a calibración" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Forza a calibrar o escáner antes de facer o escaneo" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Botóns" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibrar" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, no-c-format msgid "Start calibration using special sheet" msgstr "Iniciar a calibración usando unha folla especial" -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, no-c-format msgid "Clear calibration" msgstr "Limpar a calibración" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, no-c-format msgid "Clear calibration cache" msgstr "Limpar a caché de datos de calibración" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptador de transparencias" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "Cor en modo gris" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Escolle que cor de escaneo vai ser usada en modo gris (predefinido: " "verde)." -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Opcións de depuración" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Quecemento automático" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2505,12 +3235,12 @@ msgstr "" "Quecer até que o brillo da lámpada sexa constante no canto de agardar " "polos 60 segundos de quecemento." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Escaneo completo" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2519,12 +3249,12 @@ msgstr "" "Escanear toda a área de escaneo incluindo a franxa de calibración. Teña " "cuidado. Non seleccione a altura total. Só para probas." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Calibración grosa" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2536,12 +3266,12 @@ msgstr "" "parámetros de xeito manual na interface analóxica. Esta opción está " "activada como predefinida. Só para probas." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Calibración grosa só para o primeiro escaneo" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2553,12 +3283,12 @@ msgstr "" "imaxe é diferente con cada escaneo, desactive esta opción. Só para " "probas." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "Liñas de retroceso" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2573,38 +3303,38 @@ msgstr "" "recibir datos. Valores baixos fan que os escaneos sexan más rápidos, " "pero aumentan os riscos de omitir liñas." -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Valor gamma" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Axusta o valor gamma para todas as canles." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, no-c-format msgid "Geometry Group" msgstr "Grupo de xeometría" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format msgid "Scan Mode Group" msgstr "Grupo de modo de escaneo" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Diapositiva" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, no-c-format msgid "Scanner model" msgstr "Modelo de escáner" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, fuzzy, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" @@ -2612,47 +3342,47 @@ msgstr "" "compatíbeisPermite comprobar o comportamento do dispositivo con outros " "modelos compatíbeis" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "As imaxes a cor hanse inverter" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, no-c-format msgid "Disable gamma correction" msgstr "Desactivar a corrección gamma" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, no-c-format msgid "Gamma correction will be disabled" msgstr "A corrección gamma hase desactivar" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, no-c-format msgid "Disable white shading correction" msgstr "Desactivar a corrección de sombra branca" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "A corrección de sombra branca hase desactivar" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "Omitir proceso de quecemento" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "O proceso de quecemento hase desactivar" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "Forzar a profundidade real" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2663,12 +3393,12 @@ msgstr "" "para mellorar a calidade da imaxe e despois convertila á profundidade " "seleccionada. Esta opción evita a emulación da profundidade." -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, no-c-format msgid "Emulate Grayscale" msgstr "Emular escala de grises" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2679,12 +3409,12 @@ msgstr "" "convertida a escala de grises por software. Isto pode mellorar a " "calidade da imaxe nalgunhas circunstancias." -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "Gardar as imaxes de depuración" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " @@ -2693,358 +3423,352 @@ msgstr "" "Se se activa, algunhas imaxes implicadas no proceso de escaneo " "gardaranse para analizalas." -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, no-c-format msgid "Reset chipset" msgstr "Reiniciar o chipset" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "Reiniciar os datos do chipset" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, no-c-format msgid "Information" msgstr "Información" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, no-c-format msgid "Chipset name" msgstr "Nome do chipset" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "Amosa o nome do chipset usado no dispositivo." -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "Descoñecido" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "ID do chipset" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, no-c-format msgid "Shows the chipset ID" msgstr "Amosa o ID do chipset" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, no-c-format msgid "Scan counter" msgstr "Contador de escaneos" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Amosa o número de escaneos feitas polo escáner" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, no-c-format msgid "Update information" msgstr "Actualizar a información" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "Actualiza a información acerca do dispositivo" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "Esta opción reflicte un botón do panel frontal do escáner" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Imaxe" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Miscelánea" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "posición X" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Posición X interna no hardware da zona de escaneo." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "posición Y" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Posición Y interna no hardware da zona de escaneo." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Estado da lámpada" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Acende ou apaga a lámpada" -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Calibrar o nivel de branco e negro." -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "Alimentador automático de documentos (ADF)" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, no-c-format msgid "TMA Slides" msgstr "Adaptador (TMA) para diapositivas" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, no-c-format msgid "TMA Negatives" msgstr "Adaptador (TMA) para negativos" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, no-c-format msgid "Color (48 bits)" msgstr "Cor (48 bits)" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, no-c-format msgid "Extend lamp timeout" msgstr "Retardar o tempo de apagado da lámpada" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Retarda os tempos de apagado da lámpada (de 15 minutos a 1 hora)" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Agardando polo botón" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "Agardando polo botón antes de escanear" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "Opcions avanzadas" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Groso" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Fina" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Personalizado" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Automático" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "Adaptador de transparencias RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "A través" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSC Gris" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "Adaptador de transparencias gris" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Lento" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Rápido" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Moi rápido" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2-píxeles" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4-píxeles" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8-píxeles" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Imprimir" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Tira de filme" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "Adaptador de transparencias (XPA)" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Condicional" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "Experimento" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Nitidez" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Axustar o valor de nitidez." -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Limiar automático" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" "Activar a determinación automática do limiar para escaneos como liña de " "arte." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Suavizado" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Escoller filtro de suavizado." -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Descargar os soportes despois de escanear." -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Descargar as unidades despois de escanear." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Cambiar o documento" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Cambiar o documento." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Descargar" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Descargar o documento" -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Iniciar proceso de calibración" -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Soporte" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Axustar tipo de soporte." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Tempo de exposición" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -3057,462 +3781,461 @@ msgstr "" "«Negativo» para filme en negativo. Para imaxes escuras (subexpostas) " "pode incrementar este valor." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Matriz de cor" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Axustar a matriz de cor do escáner." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Matriz de cor personalizada." -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Matriz monocroma" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Matriz de cor personalizada para escáneres en escala de grises." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Espello horizontal" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Reflectir a imaxe en horizontal" -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Espello vertical" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Reflectir a imaxe en verticalv" -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Actualizar as opcións" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Actualizar as opcións." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "Saída de 8 bits" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" "Usar profundidade de bits maior de oito internamente, mais na saída usar " "só oito bits." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Agardar botón frontal" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "Agardar a que se prema no botón frontal para escanear." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Apagar lámpada" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Apagar a lámpada do escáner." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Tamaño do papel" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Separación automática" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 apaisado" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Axustar o modo de control de densidade" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Foco previo manual" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Foco previo manual" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Activa o escaneo polas dúas caras" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Tamaño físico do papel no alimentador" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "Medios tons" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Cor" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "Condicional" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "Desactivado" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Medios tons" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Medios tons" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, fuzzy, no-c-format msgid "diffusion" msgstr "Difusión de erro" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normal" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Resaltar" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "escáner de filmes" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "De papel" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Predeterminado" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Suave" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Lento" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Soporte" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Vermello" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Verde" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Orixe de escaneo" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Modo de alimentación" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Axusta o modo de alimentación" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Activar/desactivar enfoque automático" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Axustar o modo de control de densidade" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Axusta o modo de alimentación" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Axusta o modo de alimentación" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Limiar automático" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3521,557 +4244,544 @@ msgstr "" "Axusta automaticamente o brillo, contraste, niveis de branco, gamma e " "redución da intensidade do ruído da imaxe" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Redución de ruído" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Reduce os puntos illados de ruído" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Destaque da imaxe" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Axusta o destaque da imaxe" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Acender lámpada" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Acende ou apaga a lámpada" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Reflectir a imaxe en verticalv" -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Corrección gamma" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "Impresión de alta densidade" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "Impresión de baixa densidade" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, fuzzy, no-c-format msgid "err_diffusion" msgstr "Difusión de erro" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Sen corrección" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Normal" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Optimización" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Limiar automático" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Limiar automático" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "Axustar a orde das mostras" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Sombra para azul" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Cambiar de vermello a azul" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamante" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "8x8 «Engraxado» groso" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "8x8 «Engraxado» fino" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "8x8 Bayer" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 Liña vertical" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Ganancia" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Axustes de ganancia das canles de cor" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Ganancia de gris" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Axusta a ganancia da canle de gris" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Ganancia vermella" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Axustar a ganancia da canle vermella" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Ganancia verde" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Axusta a ganancia da canle verde" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Ganancia azul" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Axusta a ganancia da canle azul" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Trama Bayer 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Trama Bayer 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Medio ton punto 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Medio ton punto 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Difusión de erro" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Modo 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Modo 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Modo 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "De pau branco" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Suave" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Baixo" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Soporte" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Alta" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "CRT" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Unha páxina" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Todas as páxinas" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "escáner con cargador automático" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "Escala de grises de 4 bits" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "Escala de grises de 8 bits" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Sombras, medias tintas, destaque, tempo de exposición" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Opciós especiais" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Balance de cor" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Desactivar o retroceso" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "Se se activa, o escáner non retrocede cando perde unha liña" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Alternar o estado da lámpada do plano" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Alterna o estado da lámpada do plano" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Calibración polo motor" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" msgstr "" "Se se selecciona a calibración da cor antes do escaneo faina o motor" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Usar o adaptador de diapositivas de 35mm" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "Esta opción apaga a lámpada do plano durante o escaneo" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Escaneo de calidade" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "A mellor calidade, pero a velocidade lenta" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Escaneo rápido" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Máis rápido, pero de pior calidade" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Axuste automático de limiar" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4080,280 +4790,280 @@ msgstr "" "Se se selecciona, o motor tenta determinar automaticamente un valor " "óptimo para o limiar." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Selecciona o modo de corrección gamma" -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Conectar gamma" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Usar os mesmos valores gamma para todas as canles de cores." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Gamma escalar" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Escolle un valor para a corrección gamma escalar." -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Gamma escalar vermella" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "Escolle un valor para a corrección gamma escalar (canle vermella)" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Gamma escalar verde" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "Escolle un valor para a corrección gamma escalar (canle verde)" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Gamma escalar azul" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Escolle un valor para a corrección gamma escalar (canle azul)" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Canle" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." msgstr "" "Escolle a gama de cor, «Master» significa que afecta a todas as cores." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Medios tons" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "Selecciona o nivel de radiancia a ter en conta \"50% gris\"." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Medios tons para vermello" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Selecciona o nivel de radiancia a ter en conta \"50% vermello\"." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Medios tons para verde" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "Selecciona o nivel de radiancia a ter en conta \"50% verde\"." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Medios tons para azul" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "" "Selecciona o nivel de radiancia a ter en conta \"50% azul\".Selecciona o " "nivel de radiancia a ter en conta \"50% azul\"." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Balance de vermello" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "" "Factor de balance para vermello. Un valor de 100% significa sen " "corrección." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Balance de verde" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "" "Factor de balance para verde. Un valor de 100% significa sen corrección." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Balance de azul" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "" "Factor de balance para azul. Un valor de 100% significa sen corrección." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Balance de firmware" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "Axusta o balance de cor aos valores fornecidos polo firmware." -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "O máis lento" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Máis lento" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Máis rápido" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "O máis rápido" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 groso" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 normal" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 fino" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 moi fino" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 normal" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 groso" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 fino" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 groso" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 normal" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 fino" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 normal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 normal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 personalizado" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 personalizado" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 personalizado" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 personalizado" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 personalizado" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 personalizado" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Modo gris rápido" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Escanear en modo gris rápido (menor calidade)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4362,117 +5072,117 @@ msgstr "" "Precisa que todas as vistas previas se fagan do modo máis rápido (baixa " "calidade). Este pode ser un modo sen cor ou un modo de baixa resolución." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Tempo de apagado de lámpada (minutos)" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Axusta o tempo (en minutos) tras o que se apagará a lámpada." -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "Apagar a lámpada" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Apaga a lámpada inmediatamente." -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Brillo de vermello" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Controla o brillo da canle de vermello da imaxe obtida." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Brillo de verde" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Controla o brillo da canle de verde da imaxe obtida." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Brillo de azul" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Controla o brillo da canle de azul da imaxe obtida." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Contraste da canle vermella" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Controla o contraste da canle vermella da imaxe obtida." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Contraste da canle verde" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Controla o contraste da canle verde da imaxe obtida." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Contraste da canle azul" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Controla o contraste da canle azul da imaxe obtida." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Color48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Color24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Gris 16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Gris 8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "Reflectantes" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "Positivo" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4481,39 +5191,39 @@ msgstr "" "Quecer até que o brillo da lámpada sexa constante no canto de agardar " "polos 40 segundos de quecemento." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Filme en negativo" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Cor fina" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Botón de control de escaneo" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4524,248 +5234,239 @@ msgstr "" "proceder, faga clic no botón «SCAN» (para MP150) ou «COLOR» (para outros " "modelos). Para cancelar, prema no botón «GRAY»." -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Actualizar estado do botón" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Botón 1" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Botón 2" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Transparencia" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "Axustes do dispositivo" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "Interruptor de lámpada" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "Cambiar a(s) lámpada(s) manualmente." -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, no-c-format msgid "Lamp off during dark calibration" msgstr "Apagar a lámpada durante a calibración de escuridade" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "Apagar sempre a lámpada cando se calibra a escuridade." -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "Caché de datos de calibración" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "Activa ou desactiva a caché de datos de calibración" -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, no-c-format msgid "Performs calibration" msgstr "Calibración de precisión" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "Acelerar o sensor" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "Activa ou desactiva a aceleración de movimento do sensor." -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "Tempo de quecemento" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "Tempo de quecemento en segundos" -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "Tempo de apagado da lámpada" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "Tempo de apagado da lámpada en segundos" -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "Interface analóxica (AFE)" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "Valor de ganancia vermella no AFE" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Desviación vermella" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "Valor da desviación vermella no AFE" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "Valor de ganancia verde no AFE" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Desviación verde" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "Valor da desviación verde no AFE" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "Valor de ganancia azul no AFE" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Desviación azul" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "Valor da desviación azul no AFE" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "Apagar alámpada vermella" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "Define os parámetros de apagado da lámpada vermella" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "Apagar lámpada verde" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "Define os parámetros de apagado da lámpada verde" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "Apagar lámpada azul" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "Define os parámetros de apagado da lámpada azul" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "Esta opción reflicte o estado dos botóns do escáner" -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Color36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Mapa de trama 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Mapa de trama 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Aleatorio" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Escoller a orixe" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Optimización da imaxe" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Agrisar" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Cargar a imaxe como escala de grises." -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Simulación de tres pasadas" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4774,12 +5475,12 @@ msgstr "" "Semella un escáner de tres pasadas devolvendo 3 mostras separadas. Por " "diversión, devolve verde, despois azul y finalmente vermello." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Simulación de escáner de man" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4791,7 +5492,7 @@ msgstr "" "-1. Axustar esta opción permítelle comprobar se unha interface pode " "manexar isto correctamente." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." @@ -4799,42 +5500,42 @@ msgstr "" "Axustar os valores predeterminados para os controis de optimización " "(brillo e contraste)" -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Opción de proba de só lectura" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Vexamos se a interface pode tratar isto correctamente" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Táboas gamma" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Simulación do código de estado" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Non forzar o código de estado" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Non forzar o motor a devolver un código de estado." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Devolve SANE_STATUS_EOF" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4843,12 +5544,12 @@ msgstr "" "Forzar o motor a devolver o código de estado de SANE_STATUS_EOF despois " "de ter sido chamado sane_read()." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Devolve SANE_STATUS_JAMMED" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4857,12 +5558,12 @@ msgstr "" "Forzar o motor a devolver o código de estado de SANE_STATUS_JAMMED " "despois de ter sido chamado sane_read()." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Devolve SANE_STATUS_NO_DOCS" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4871,12 +5572,12 @@ msgstr "" "Forzar o motor a devolver o código de estado de SANE_STATUS_NO_DOCS " "despois de ter sido chamado sane_read()." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Devolve SANE_STATUS_COVER_OPEN" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4885,12 +5586,12 @@ msgstr "" "Forzar o motor a devolver o código de estado de SANE_STATUS_COVER_OPEN " "despois de ter sido chamado sane_read()." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Devolve SANE_STATUS_IO_ERROR" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4899,12 +5600,12 @@ msgstr "" "Forzar o motor a devolver o código de estado de SANE_STATUS_IO_ERROR " "despois de ter sido chamado sane_read()." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Devolve SANE_STATUS_NO_MEM" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4913,12 +5614,12 @@ msgstr "" "Forzar o motor a devolver o código de estado de SANE_STATUS_NO_MEM " "despois de ter sido chamado sane_read()." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Devolve SANE_STATUS_ACCESS_DENIED" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4927,85 +5628,82 @@ msgstr "" "Forzar o motor a devolver o código de estado de " "SANE_STATUS_ACCESS_DENIED despois de ter sido chamado sane_read()." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "Esta opción reflicte o estado dos botóns do escáner" -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Acender lámpada" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Acende a lámpada do escáner" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Apagar lámpada" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Apaga a lámpada do escáner" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "Límite de tempo da lámpada" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "Minutos que tardará a lámpada en apagarse despois do escaneo" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "Valor do limiar para o modo de liña de arte" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Alimentador de documentos" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (polg.)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 (polg.)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 (polg.)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Medios tons non compatíbeis" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "Punto disperso 8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "Punto disperso 16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -5021,27 +5719,27 @@ msgstr "" "demasiado alto, baseado en interfaces X pode deixar de responder a " "eventos de X e o seu sistema poderíase atoar." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Expulsar o documento despois do escaneo" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Modo de previsualización" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -5050,12 +5748,12 @@ msgstr "" "Escolle o modo para previsualización. A previsualización en escala de " "grises fornece en xeral, a mellor relación entre velocidade e detalle." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Axustes predefinidos" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -5064,97 +5762,97 @@ msgstr "" "Fornece superficies de escaneado estándar para fotografías, páxinas " "impresas, etc." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "escáner plano" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, fuzzy, no-c-format msgid "Focus-mode" msgstr "Enfoque" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Enfoque automático" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Posición do foco" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Posición do foco" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Cor, liñas por lectura" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Escala de grises, liñas por lectura" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "cámara web" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Cor de texto RGB" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Cor RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Cor RGB TEXTO" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Negro sólido" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Branco sólido" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Patrón de cor" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Grade" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Primeira entrada" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Segunda entrada" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5163,12 +5861,12 @@ msgstr "" "Esta terceira entrada é moi longa. Quizais a interface ten unha idea de " "como amosalo" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Simulación de escáner manual" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5181,12 +5879,12 @@ msgstr "" "-1. Axustar esta opción permítelle comprobar se unha interface pode " "manexar isto correctamente. Esta opción tamén permite un ancho de 11cm." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Simulación de tres pasadas" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5195,17 +5893,17 @@ msgstr "" "Semella un escáner de tres pasadas devolvendo 3 mostras separadas. Por " "diversión, devolve verde, despois azul e para rematar vermello." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Axustar a orde das mostras" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "Axustar a orde das mostras no modo de tres pasadas de cor." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " @@ -5214,17 +5912,17 @@ msgstr "" "Se escolle o alimentador automático de documentos, o alimentador estará " "\"baleiro\" despois de 10 escaneos." -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Opcións especiais" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Escolla a imaxe de proba" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5241,12 +5939,12 @@ msgstr "" "Grade: debuxa unha grade en branco e negro cun tamaño de 10mm por " "cadrado." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Inverter a orde dos datos" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5257,45 +5955,45 @@ msgstr "" "de 16 bits. Esta opción pode utilizarse para a proba de 16 bits dos " "modos de interface, p.ex. se a interface utiliza a orde correcta." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Límite de lectura" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" "Limita a cantidade de datos transferidos con cada chamada a sane_read()." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Tamaño do límite de lectura" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." msgstr "" "Cantidade de datos (máxima) transferida con cada chamada a sane_read()." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Retardo de lectura" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Retardar a transferencia de datos á canalización." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Duración do retardo de lectura" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." @@ -5303,12 +6001,12 @@ msgstr "" "Canto tempo se vai agardar despois de transferir cada búfer de datos a " "través da canalización." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Valor de retorno de sane_read" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5319,22 +6017,22 @@ msgstr "" "para facer o escaneo. Todos os demáis códigos de estado son para probar " "a forma en que a interface se fai cargo deles" -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Perda de píxeles por liña" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Número de píxeles que se perden no extremo de cada liña." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Parámetros dubidosos" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5343,23 +6041,23 @@ msgstr "" "Devolve liñas dubidosas e bytes por liña cando se chama a sane_start() " "antes que a sane_parameters()." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Usar E/S non bloqueante" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Usar unha E/S non bloqueante para sane_red() se o permite a interface." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Propor a selección dun descritor de ficheiro" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5368,12 +6066,12 @@ msgstr "" "Propor un descritor de fichero para detectar si sane_read () devolverá " "os datos." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Activar opcións de proba" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5382,27 +6080,27 @@ msgstr "" "Activa varias opcións de proba. Isto úsase para probar a capacidade das " "interfaces para ver e modificar os diferentes tipos de opcións de SANE." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Imprimir as opcións" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Imprimir unha lista de todas ls opcións" -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Opcións de proba booleanas" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) Booleana configurábel e lexíbel por software" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5411,12 +6109,12 @@ msgstr "" "(1/6) Opción de proba booleana configurábel e lexíbel por software. Esta " "é a opción booleana normal." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Booleana configurábel por hardware lexíbel por software" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5427,12 +6125,12 @@ msgstr "" "software. Esta opción non pode ser configurada pola interface, mais si " "polo usuario (p.ex. premendo un botón no dispositivo)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Booleana configurábel por hardware" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5443,12 +6141,12 @@ msgstr "" "non pode ser configurada pola interface, mais si polo usuario (p.ex. " "premendo un botón no dispositivo) tampouco pode ser lida pola interface." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) Booleana lexíbel por software" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5457,12 +6155,12 @@ msgstr "" "(4/6) Opción de proba booleana lexíbel por software. Esta é unha opción " "de só lectura." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Booleana configurábel e lexíbel por software, emulada" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5471,12 +6169,12 @@ msgstr "" "(5/6) Opción de proba booleana configurábel e lexíbel por software e " "emulada." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) Booleana configurábel e lexíbel por software, automática" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5486,29 +6184,29 @@ msgstr "" "(6/6) Opción de proba booleana configurábel e lexíbel por software e " "emulada. Esta opción pode ser configurada automaticamente polo motor." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Opción de proba «Enteiro»" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Enteiro" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "" "(1/6) Opción de proba de valor enteiro sen unidade nin conxunto de " "restricións." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Enteiro con rango de restricións" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5517,24 +6215,24 @@ msgstr "" "(2/6) Opción de proba de valor enteiro con unidade de píxel e con " "conxunto de restricións. O mínimo é 4, o máximo 192 e o salto 2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) Enteiro con restrición de lista de valores" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" "(3/6) Opción de proba de valor enteiro con unidade bits e restrición de " "lista de valores" -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Matriz de enteiros" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " @@ -5543,12 +6241,12 @@ msgstr "" "(4/6) Opción de proba de valor enteiro con unidade mm usando unha Matriz " "con restricións." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) Matriz de enteiros con rango de restriciónsv" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5558,12 +6256,12 @@ msgstr "" "matriz con intervalo de restricións. O mínimo é 4, o máximo 192, e o " "salto 2.v" -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Matriz de enteiros con restrición de lista de valores" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5572,29 +6270,29 @@ msgstr "" "(6/6) Opción de proba de valor enteiro con unidade e% e usando unha " "matriz con restricións nunha lista de valores." -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Opcións de proba «reais fixos»" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Real fixo" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "" "(1/3) Opción de proba de valor real (coma fixa) sen unidade nin conxunto " "de restricións." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Real fixo con intervalo de restrición" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5604,49 +6302,49 @@ msgstr "" "microsegundo e intervalo de restrición. O mínimo é -42,17, o máximo " "32767,9999 e o salto 2,0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) Real fixo con restrición de lista de valores" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" "(3/3) Opción de proba de valor real (coma fixa) sen unidade e " "restrinxida por un conxunto de valores dunha lista." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "Opcións de proba de cadea" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) Cadea" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) Opcións de proba de cadea sen restricións." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) Cadea restrinxida a lista de cadeas" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "(2/3) Opción de proba de cadea con restrición de lista de cadeas" -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) Restrición de cadeas lista longa de cadeas" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5655,156 +6353,160 @@ msgstr "" "(3/3) Opción de proba de cadea con restrición de lista de cadeas. Conten " "máis entradas..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Opcións de botón de proba" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Botón" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Botón de opción de proba. Imprime algún texto..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Color 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Usar composición de imaxe" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Dous niveis branco e negro (modo de liña de arte)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Esfumado/medios tons de branco e negro (modo de medios tons)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Multinivel de branco e negro (modo de escala de grises)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Multinivel de cor RGB (cor dunha pasada)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Ignorar calibración" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Desactivar foco previo" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Non calibrar o foco" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Foco previo manual" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Fixar a posición do foco" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Calibración de lentes na posición do documento" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Calibrar as lentes na posición do documento" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Marcar a posición do foco a 0mm" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Usar a marca de posición de foco a 0mm no canto de a 0,6mm" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Modo de calibración" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Definir o modo de calibración" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Acende/apaga a lámpada" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "UTA Activado" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Axusta o acendido/apagado UTA" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Desprazamento" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Axustes do desprazamento das canles de cor" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Desprazamento de gris" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Axusta o desprazamento da canle gris" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Axusta o desprazamento da canle vermello" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Axusta o desprazamento da canle verde" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Axusta o desprazamento da canle azul" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Modo de previsualización" + #~ msgid "problem not analyzed (unknown SCSI class)" #~ msgstr "problema sen analizar (clase de SCSI descoñecida)" diff --git a/po/hu.gmo b/po/hu.gmo new file mode 100644 index 0000000..7210ba6 Binary files /dev/null and b/po/hu.gmo differ diff --git a/po/hu.po b/po/hu.po index 5e63a72..5a67f0d 100644 --- a/po/hu.po +++ b/po/hu.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2011-04-06 19:50+0200\n" "Last-Translator: Németh Tamás \n" "Language-Team: Hungarian \n" @@ -16,448 +16,442 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "Általános" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometria" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Haladó" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Haladó" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "Szenzorok" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Előnézet" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Monokróm előnézet" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Színmélység" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Szkennelési üzemmód" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Szkennelési sebesség" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Bal-felső x" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Bal-felső y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Jobb-alsó x" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Jobb-alsó y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Szkennelés felbontása" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "X felbontás" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Y felbontás" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "Lapszélesség" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, no-c-format msgid "Page height" msgstr "Lapmagasság" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Vörös intenzitás" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Zöld intenzitás" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Kék intenzitás" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Fényerő" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Kontraszt" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Szemcseméret" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Feketeszint" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Fehérszint" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, fuzzy, no-c-format msgid "White level for red" msgstr "Fehérszint" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, fuzzy, no-c-format msgid "White level for green" msgstr "Fehérszint" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, fuzzy, no-c-format msgid "White level for blue" msgstr "Fehérszint" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Árnyék" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Kiemelés" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Árnyalat" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Telítettség" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Fájlnév" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negatív" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Precíz beállítás" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Küszöb" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " "supports." msgstr "" -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, fuzzy, no-c-format msgid "Source, mode and resolution options" msgstr "Szkennelés felbontása" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, no-c-format msgid "Image modification options" msgstr "" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, fuzzy, no-c-format msgid "Hardware specific options" msgstr "Speciális beállítások" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "" -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -465,87 +459,87 @@ msgid "" "scanner, it reduces the memory requirements and scan-time of the preview." msgstr "" -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " "for multibit scans." msgstr "" -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "" -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "" -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "" -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "A beolvasási terület bal-felső x pozíciója" -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "A beolvasási terület bal-felső y pozíciója" -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "A beolvasási terület jobb-alsó x pozíciója" -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "A beolvasási terület jobb-alsó y pozíciója" -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "" -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "" -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "" -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " "sheet-fed scans." msgstr "" -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, no-c-format msgid "Specifies the height of the media." msgstr "" -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." msgstr "" -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -553,423 +547,423 @@ msgid "" "gamma table)." msgstr "" -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "" -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "" -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "" -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "" -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "" -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " "in sharper images." msgstr "" -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." msgstr "" -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." msgstr "" -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "" -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " "when acquiring an image with a camera. Larger values cause more blooming." msgstr "" -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "" -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " "halftoned images." msgstr "" -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." msgstr "" -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "A fekete és fehér felcserélése" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, no-c-format msgid "Scan button" msgstr "Szkennel gomb" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, no-c-format msgid "Email button" msgstr "Email gomb" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, no-c-format msgid "Fax button" msgstr "Fax gomb" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, no-c-format msgid "Copy button" msgstr "Másol gomb" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "PDF gomb" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "Mégse gomb" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "Oldal betöltve" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, no-c-format msgid "Cover open" msgstr "Fedél nyitás" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Színes" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Szürke" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Vonalas" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, no-c-format msgid "Operation not supported" msgstr "A művelet nem támogatott" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "A művelet megszakítva" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, no-c-format msgid "Document feeder jammed" msgstr "" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, no-c-format msgid "Document feeder out of documents" msgstr "" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "Nincs elég memória" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Alapértelmezett" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "" -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Kalibráció" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Kalibrálás a következő szkennelés előtt" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " "Otherwise, calibration is performed only before the first start." msgstr "" -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -977,1471 +971,2205 @@ msgid "" "or from the configuration file, are used." msgstr "" -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, fuzzy, no-c-format msgid "Duplex scan" msgstr "Teljes szkennelés" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Szkenner kalibrálása" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Szürkeskálás szkennelés" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Analóg erősítés" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Gamma korrekció" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "Nyers" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, fuzzy, no-c-format msgid "No transparency correction" msgstr "Erősítés korrekció" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, fuzzy, no-c-format msgid "Negatives" msgstr "Negatív" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, fuzzy, no-c-format msgid "Slides" msgstr "Lassabb" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automata" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, fuzzy, no-c-format msgid "Normal speed" msgstr "Normál" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "ismeretlen" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, fuzzy, no-c-format msgid "ADF jam" msgstr "ADF" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Gamma érték" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, fuzzy, no-c-format msgid "film scanner" msgstr "lapolvasó" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "síkágyas lapolvasó" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Filmtípus" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Negatív film" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "Eszköz felbontása" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Kép tükrözése" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, fuzzy, no-c-format msgid "Mirror the image horizontally" msgstr "A kép vízszintes tükrözése." -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Kalibráció" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Precíz beállítás" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "lapolvasó" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, fuzzy, no-c-format msgid "Reset the scanner" msgstr "lapolvasó" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "Csak síkágyas" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, fuzzy, no-c-format msgid "Transparency unit" msgstr "Átlátszó" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, fuzzy, no-c-format msgid "Negative film" msgstr "Negatív film" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Pozitív film" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, fuzzy, no-c-format msgid "Transparency ratio" msgstr "Átlátszó" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, fuzzy, no-c-format msgid "Select film type" msgstr "Filmtípus" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Síkágyas" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Nyomtatás" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, no-c-format msgid "Card Duplex" msgstr "" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Vörös" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Zöld" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Kék" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Haladó" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Haladó" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Haladó" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Nincs" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatikus dokumentum adagoló" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Pozitív film" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Negatív film" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Fókusz az üvegen" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Fókusz 2,5mm-el az üveg felett" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Nincs korrekció" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Hőnyomtató" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Tintasugaras nyomtató" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "CRT monitor" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Alapértelmezett" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A% álló" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 fekvő" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Letter" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Max" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr " Szkennelési üzemmód " -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "" -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "" -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "" -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Színkorrekció" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, fuzzy, no-c-format msgid "Controls blue level" msgstr "A kék csatorna kontrasztja" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Kép tükrözése." -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Gyors előnézet" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Nagyítás" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " "the user defined table, which can be downloaded to the scanner" msgstr "" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " "pressed to actually start the scan process." msgstr "" -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, fuzzy, no-c-format msgid "Positive Slide" msgstr "Pozitív film" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, fuzzy, no-c-format msgid "Negative Slide" msgstr "Negatív film" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, no-c-format msgid "User defined CCT profile" msgstr "" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "Be" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Ki" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "DTC" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, no-c-format msgid "Diffusion" msgstr "" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "White" msgstr "Fehérszint" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, fuzzy, no-c-format msgid "Black" msgstr "Feketeszint" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, no-c-format msgid "Continue" msgstr "Folytatás" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "Megállít" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "10mm" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "15mm" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "20mm" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Vízszintes" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Vízszintes" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Vízszintes" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Függőleges" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Függőleges" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Front" msgstr "Nyomtatás" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, no-c-format +msgid "Halftone type" +msgstr "" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Finom beállítás" + +#: backend/fujitsu.c:3221 +#, no-c-format +msgid "Emphasis" +msgstr "" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Telítettség" + +#: backend/fujitsu.c:3241 +#, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "" + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Kép tükrözése" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "A kép vízszintes tükrözése." + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Fehérszint" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "A kék csatorna kontrasztja" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Színmátrix" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Gamma érték" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Küszöb" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Zajszűrés" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Nincs korrekció" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Nincs korrekció" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "Előnézeti mód" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Haladó" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Nincs korrekció" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, no-c-format +msgid "Dropout color" +msgstr "" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, no-c-format +msgid "Buffer mode" +msgstr "" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, no-c-format +msgid "Off timer" +msgstr "" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Teljes szkennelés" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "A zöld csatorna kontrasztja" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "A kék csatorna kontrasztja" + +#: backend/fujitsu.c:3980 +#, fuzzy, no-c-format +msgid "Low Memory" +msgstr "Nincs elég memória" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Teljes szkennelés" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Haladó" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Zajszűrés" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, no-c-format +msgid "A3 paper" +msgstr "" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, no-c-format +msgid "B4 paper" +msgstr "" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, no-c-format +msgid "A4 paper" +msgstr "" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, no-c-format +msgid "B5 paper" +msgstr "" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "" + +#: backend/fujitsu.c:4452 +#, no-c-format +msgid "Manual feed" +msgstr "" + +#: backend/fujitsu.c:4453 +#, no-c-format +msgid "Manual feed selected" +msgstr "" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "Eszköz felbontása" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Fehérszint" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Vörös intenzitás" + +#: backend/fujitsu.c:4549 +#, no-c-format +msgid "Density dial" +msgstr "" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Teljes szkennelés" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, fuzzy, no-c-format msgid "Extras" msgstr "Extra gyors" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, no-c-format -msgid "Threshold curve" -msgstr "" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Tesztbeállítások engedélyezése" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Színmátrix" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibráció" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Precíz beállítás" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibráció" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Finom beállítás" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, no-c-format msgid "File button" msgstr "Fájl gomb" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "OCR gomb" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, no-c-format msgid "Power button" msgstr "" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Email gomb" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Finom beállítás" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Gombok" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrálás" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Kalibrálási folyamat indítása." -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Finom beállítás" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Finom beállítás" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr " Nyomkövetési beállítások " -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " "60 seconds warm-up time." msgstr "" -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Teljes szkennelés" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " "Don't select the full height. For testing only." msgstr "" -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Finom beállítás" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2449,12 +3177,12 @@ msgid "" "are provided. This option is enabled by default. For testing only." msgstr "" -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Finom beállítás csak az első szkeneléskor" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2462,12 +3190,12 @@ msgid "" "different with each scan, disable this option. For testing only." msgstr "" -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2476,83 +3204,83 @@ msgid "" "omitting lines." msgstr "" -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gamma érték" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "" -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, fuzzy, no-c-format msgid "Geometry Group" msgstr "Geometria" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, fuzzy, no-c-format msgid "Scan Mode Group" msgstr " Szkennelési üzemmód " -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, fuzzy, no-c-format msgid "Scanner model" msgstr "Szkennelési üzemmód" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, fuzzy, no-c-format msgid "Disable gamma correction" msgstr "Gamma korrekció" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, fuzzy, no-c-format msgid "Gamma correction will be disabled" msgstr "Gamma korrekció" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, no-c-format msgid "Disable white shading correction" msgstr "" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2560,12 +3288,12 @@ msgid "" "avoids depth emulation." msgstr "" -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, fuzzy, no-c-format msgid "Emulate Grayscale" msgstr "Szürkeárnyalatos" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2573,368 +3301,362 @@ msgid "" "circumstances." msgstr "" -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " "analyze them." msgstr "" -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, no-c-format msgid "Reset chipset" msgstr "" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, no-c-format msgid "Information" msgstr "Információ" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, no-c-format msgid "Chipset name" msgstr "Chipset név" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "" -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "Ismeretlen" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, no-c-format msgid "Shows the chipset ID" msgstr "" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, fuzzy, no-c-format msgid "Scan counter" msgstr " Szkennelési üzemmód " -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, no-c-format msgid "Shows the number of scans made by scanner" msgstr "" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, no-c-format msgid "Update information" msgstr "" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Kép" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Egyéb" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, fuzzy, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "A beolvasási terület bal-felső x pozíciója" -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, fuzzy, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "A beolvasási terület bal-felső x pozíciója" -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "" -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "" -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "ADF" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, no-c-format msgid "TMA Slides" msgstr "" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Negatív" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Színes 42/48" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, no-c-format msgid "Extend lamp timeout" msgstr "" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, fuzzy, no-c-format msgid "Advanced Options" msgstr "Haladó" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Egyedi" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Automatikus" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Lassú" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normál" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Gyors" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Extra gyors" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2-pixel" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4-pixel" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8-pixel" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Nyomtatás" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "XPA" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "" -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "" -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "" -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "" -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "" -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Kalibrálási folyamat indítása." -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "" -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -2943,1445 +3665,1431 @@ msgid "" "value." msgstr "" -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Színmátrix" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "" -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Egyéni színmátrix." -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "" -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Vízszintes tükrözés" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "A kép vízszintes tükrözése." -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Függőleges tükrözés" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "A kép függőleges tükrözése." -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "" -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "" -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "" -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Papír mérete" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 fekvő" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, no-c-format msgid "Manual feed mode" msgstr "" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, no-c-format msgid "Manual feed timeout" msgstr "" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, no-c-format msgid "halftone" msgstr "" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Színes" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "Folytatás" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "Ki" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, no-c-format msgid "halftone_32" msgstr "" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, no-c-format msgid "halftone_64" msgstr "" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, no-c-format msgid "diffusion" msgstr "" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normál" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Kiemelés" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "lapolvasó" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Alapértelmezett" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, no-c-format msgid "smooth" msgstr "" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Lassú" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Közepes" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Vörös" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Zöld" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "lapolvasó" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, no-c-format msgid "Enable/Disable long paper mode" msgstr "" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, no-c-format msgid "Enable/Disable length control mode" msgstr "" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, no-c-format msgid "Sets the manual feed mode" msgstr "" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " "reduction and image emphasis" msgstr "" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Zajszűrés" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, no-c-format msgid "Lamp color" msgstr "" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "A kép függőleges tükrözése." -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Gamma korrekció" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, no-c-format msgid "High sensivity" msgstr "" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, no-c-format msgid "Low sensivity" msgstr "" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, no-c-format msgid "err_diffusion" msgstr "" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Nincs korrekció" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Normál" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Haladó" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, no-c-format msgid "Automatic threshold mode" msgstr "" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, no-c-format msgid "Sets the automatic threshold mode" msgstr "" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, no-c-format msgid "Set chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, no-c-format msgid "chroma of blue" msgstr "" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, no-c-format msgid "Set chroma of blue" msgstr "" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Gyémánt" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, fuzzy, no-c-format msgid "Gray gain" msgstr "Szürke" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, fuzzy, no-c-format msgid "Red gain" msgstr "Vörös balansz" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, fuzzy, no-c-format msgid "Sets red channel gain" msgstr "A vörös csatorna kontrasztja" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, fuzzy, no-c-format msgid "Green gain" msgstr "Zöld balansz" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, fuzzy, no-c-format msgid "Sets green channel gain" msgstr "A zöld csatorna kontrasztja" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, fuzzy, no-c-format msgid "Blue gain" msgstr "Kék balansz" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, fuzzy, no-c-format msgid "Sets blue channel gain" msgstr "A kék csatorna kontrasztja" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Mode 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Mode 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Mode 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Alacsony" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Közepes" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Magas" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "CRT" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Egy oldal" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Minden oldal" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Speciális beállítások" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" msgstr "" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Minőségi szkennelés" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Minőségi szkennelés alacsony sebességgel" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Gyors szkennelés" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Gyors sebesség alacsony minőséggel" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " "for the threshold." msgstr "" -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "" -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "" -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "" -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Csatorna" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." msgstr "" -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "" -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "" -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "" -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "" -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Vörös balansz" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "" -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Zöld balansz" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "" -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Kék balansz" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "" -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Lassabb" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Lassú" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Gyors" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Gyorsabb" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "" -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " "This may be a non-color mode or a low resolution mode." msgstr "" -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "" -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Vörös fényerő" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Zöld fényerő" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Kék fényerő" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "A vörös csatorna kontrasztja" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "A zöld csatorna kontrasztja" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "A kék csatorna kontrasztja" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "" -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, fuzzy, no-c-format msgid "Color48" msgstr "Színes" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, fuzzy, no-c-format msgid "Color24" msgstr "Színes" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, fuzzy, no-c-format msgid "Gray16" msgstr "Szürke" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, fuzzy, no-c-format msgid "Gray8" msgstr "Szürke" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "Pozitív" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " "40 seconds warm-up time." msgstr "" -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negatív film" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negatív" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, no-c-format msgid "48 bits color" msgstr "" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4389,260 +5097,251 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: ../backend/pixma_sane_options.c:143 +#: backend/pixma_sane_options.c:232 #, no-c-format -msgid "Gamma function exponent" +msgid "Update button state" msgstr "" -#: ../backend/pixma_sane_options.c:144 +#: backend/pixma_sane_options.c:244 #, no-c-format -msgid "Changes intensity of midtones" +msgid "Button 1" msgstr "" -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:258 #, no-c-format -msgid "Update button state" +msgid "Button 2" msgstr "" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:272 #, no-c-format -msgid "Button 1" +msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:286 #, no-c-format -msgid "Button 2" +msgid "Target operation type" msgstr "" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:348 #, no-c-format -msgid "Type of original to scan" +msgid "ADF Waiting Time" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:349 #, no-c-format -msgid "Target operation type" +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Átlátszó" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "" -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, fuzzy, no-c-format msgid "Lamp off during dark calibration" msgstr "Finom beállítás" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, fuzzy, no-c-format msgid "Calibration data cache" msgstr "Kalibráció" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "" -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, fuzzy, no-c-format msgid "Performs calibration" msgstr "Finom beállítás" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "" -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "" -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "" -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, fuzzy, no-c-format msgid "Analog frontend" msgstr "Analóg erősítés" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "" -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Forrás kijelölése" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "" -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " "kicks, it returns green, then blue, then red." msgstr "" -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4650,205 +5349,202 @@ msgid "" "option allows one to test whether a frontend can handle this correctly." msgstr "" -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." msgstr "" -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "" -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " "after sane_read() has been called." msgstr "" -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "" -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (inch)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 (inch)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 (inch)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -4858,148 +5554,148 @@ msgid "" "frontends may stop responding to X events and your system could bog down." msgstr "" -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, no-c-format msgid "Focus point for scanning." msgstr "" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Előnézeti mód" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " "combination of speed and detail." msgstr "" -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " "like." msgstr "" -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "síkágyas lapolvasó" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, no-c-format msgid "Focus-mode" msgstr "" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, no-c-format msgid "Auto or manual focus" msgstr "" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, no-c-format msgid "Focus-point" msgstr "" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Fókusz az üvegen" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, fuzzy, no-c-format msgid "Color RAW" msgstr "Színes" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, fuzzy, no-c-format msgid "Color RGB" msgstr "Színes" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Rács" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Első bejegyzés" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Második bejegyzés" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " "display it" msgstr "" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Kézi szkenner szimuláció" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5008,46 +5704,46 @@ msgid "" "option also enables a fixed width of 11 cm." msgstr "" -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " "transmitted." msgstr "" -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "" -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " "after 10 scans." msgstr "" -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Speciális beállítások" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5058,12 +5754,12 @@ msgid "" "square." msgstr "" -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5071,54 +5767,54 @@ msgid "" "uses the correct endianness." msgstr "" -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." msgstr "" -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "" -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "" -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5126,95 +5822,95 @@ msgid "" "frontend handles them." msgstr "" -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "" -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " "before sane_start()." msgstr "" -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " "data." msgstr "" -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Tesztbeállítások engedélyezése" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " "frontends to view and modify all the different SANE option types." msgstr "" -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Nyomtatási beállítások" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "" -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " "advanced) capabilities. That's just a normal bool option." msgstr "" -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5222,12 +5918,12 @@ msgid "" "frontend but by the user (e.g. by pressing a button at the device)." msgstr "" -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5235,36 +5931,36 @@ msgid "" "by pressing a button at the device) and can't be read by the frontend." msgstr "" -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " "That means the option is read-only." msgstr "" -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " "(and advanced) capabilities." msgstr "" -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5272,299 +5968,303 @@ msgid "" "backend." msgstr "" -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "" -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " "is 4, maximum 192, and quant is 2." msgstr "" -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " "constraints." msgstr "" -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " "constraint. Minimum is 4, maximum 192, and quant is 2." msgstr "" -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " "list constraint." msgstr "" -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "" -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " "Minimum is -42.17, maximum 32767.9999, and quant is 2.0." msgstr "" -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "" -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "" -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " "entries..." msgstr "" -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "" -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, fuzzy, no-c-format msgid "Color 36" msgstr "Színes" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, fuzzy, no-c-format msgid "Offset" msgstr "Ki" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, fuzzy, no-c-format msgid "Gray offset" msgstr "Szürke kontraszt" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, fuzzy, no-c-format msgid "Sets red channel offset" msgstr "A vörös csatorna kontrasztja" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, fuzzy, no-c-format msgid "Sets green channel offset" msgstr "A zöld csatorna kontrasztja" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, fuzzy, no-c-format msgid "Sets blue channel offset" msgstr "A kék csatorna kontrasztja" + +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Előnézeti mód" diff --git a/po/insert-header.sin b/po/insert-header.sin new file mode 100644 index 0000000..b26de01 --- /dev/null +++ b/po/insert-header.sin @@ -0,0 +1,23 @@ +# Sed script that inserts the file called HEADER before the header entry. +# +# At each occurrence of a line starting with "msgid ", we execute the following +# commands. At the first occurrence, insert the file. At the following +# occurrences, do nothing. The distinction between the first and the following +# occurrences is achieved by looking at the hold space. +/^msgid /{ +x +# Test if the hold space is empty. +s/m/m/ +ta +# Yes it was empty. First occurrence. Read the file. +r HEADER +# Output the file's contents by reading the next line. But don't lose the +# current line while doing this. +g +N +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/it.gmo b/po/it.gmo new file mode 100644 index 0000000..07d72d4 Binary files /dev/null and b/po/it.gmo differ diff --git a/po/it.po b/po/it.po index 316a4e5..6c083c7 100644 --- a/po/it.po +++ b/po/it.po @@ -5,421 +5,415 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.18\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2007-08-28 23:11+0200\n" "Last-Translator: Giuseppe Sacco \n" "Language-Team: italian translation project \n" -"Language: \n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Numero di opzioni" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometria" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Miglioramento" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Avanzato" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Anteprima" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Forza anteprima in bianco e nero" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Profondità in bit" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Modalità di scansione" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Velocità scanner" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Sorgente scanner" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Forza il backtracking" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "X in alto a sinistra" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Y in alto a sinistra" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "X in basso a destra" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Y in basso a destra" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Risoluzione della scansione" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "Risoluzione X" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Risoluzione Y" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, fuzzy, no-c-format msgid "Page height" msgstr "Contrasto" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Personalizzare la correzione gamma" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Intensità dell'immagine" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Intensità del rosso" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Intensità del verde" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Intensità del blu" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Brillantezza" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Contrasto" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Grana" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Mezzi-toni" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Livello nero" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Livello bianco" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Livello di bianco sul rosso" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Livello di bianco sul verde" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Livello di bianco sul blu" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Ombreggiatura" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Ombreggiatura per il rosso" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Ombreggiatura per il verde" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Ombreggiatura per il blu" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Contrasto" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Contrasto per il rosso" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Contrasto per il verde" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Contrasto per il blu" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Tonalità" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Saturazione" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Nome file" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Dimensione del modello mezzi-toni" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Modello mezzi-toni" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Lega la risoluzione X e Y" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Qualità della calibrazione" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Raddoppia la risoluzione ottica" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Lega i canali RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Soglia" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Correzione gamma analogica" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Correzione gamma del rosso analogica" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Correzione gamma del verde analogica" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Correzione gamma del blu analogica" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Lega i valori gamma RGB" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Preriscaldamento lampada" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Cal. tempo di esposizione" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Cal. tempo di esposizione per il rosso" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Cal. tempo di esposizione per il verde" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Cal. tempo di esposizione per il blu" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Tempo di esposizione in scansione" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Tempo di esposizione in scansione per il rosso" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Tempo di esposizione in scansione per il verde" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Tempo di esposizione in scansione per il blu" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Determinare il tempo di esposizione" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Cal. potenza della lampada" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Potenza della lampada in scansione" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Determina la potenza della lampada in scansione" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Lampada spenta in uscita" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -428,37 +422,37 @@ msgstr "" "Opzione che visualizza quante opzioni sono supportate da uno specifico " "dispositivo." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, fuzzy, no-c-format msgid "Source, mode and resolution options" msgstr "Lista ridotta delle risoluzioni disponibili" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, fuzzy, no-c-format msgid "Image modification options" msgstr "Numero di opzioni" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, fuzzy, no-c-format msgid "Hardware specific options" msgstr "Risoluzione hardware" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Richiede la qualità in anteprima di scansione." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -470,7 +464,7 @@ msgstr "" "sola, invece in quelli ad una passata riduce la memoria e il tempo " "richiesti per l'anteprima." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -479,78 +473,78 @@ msgstr "" "Numero di bit per campione, il valore usuale è 1 per \"Binario\" e 8 per " "le scansioni ad alta risoluzione." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" "Seleziona la modalità di scansione (ad esempio binaria, monocromatica o " "colore)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Determina la velocità di scansione" -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "" "Seleziona la sorgente per la scansione (come ad esempio il vassoio)" -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Verifica se il backtracking è stato impostato." -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Posizione X in alto a sinistra dell'area di scansione." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Posizione Y in alto a sinistra dell'area di scansione." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Posizione X in basso a destra dell'area di scansione." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Posizione Y in basso a destra dell'area di scansione." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Determina la risoluzione di acquisizione dell'immagine." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "" "Determina la risoluzione orizzontale di acquisizione dell'immagine." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Determina la risoluzione verticale di acquisizione dell'immagine." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " "sheet-fed scans." msgstr "" -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, fuzzy, no-c-format msgid "Specifies the height of the media." msgstr "Determina la risoluzione di acquisizione dell'immagine." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." @@ -558,7 +552,7 @@ msgstr "" "Determina se utilizzare per la correzione gamma dei valori predefiniti " "oppure quelli personalizzati dall'utente." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -569,32 +563,32 @@ msgstr "" "in modo simultaneo i 3 canali (rosso, verde, blu) ed è quindi una " "tabella gamma di intensità." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Tabella di correzione gamma per il colore rosso." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Tabella di correzione gamma per il colore verde." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Tabella di correzione gamma per il colore blu." -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Controlla la brillantezza dell'immagine acquisita." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Controlla il contrasto dell'immagine acquisita." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -603,74 +597,74 @@ msgstr "" "Seleziona la \"granulosità\" dell'immagine acquisita: valori minori " "determinano immagini più nitide." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" "Determina se l'immagine acquisita deve essere a mezzi-toni (sfumata)." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "" "Imposta quale livello di luminosità debba essere considerato \"nero\"." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "" "Imposta quale livello di luminosità debba essere considerato \"bianco\"." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" "Imposta quale livello di luminosità rossa debba essere considerato " "\"bianco\"." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" "Imposta quale livello di luminosità verde debba essere considerato " "\"bianco\"." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" "Imposta quale livello di luminosità blu debba essere considerato \"bianco" "\"." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" "Imposta quale livello di luminosità rossa debba essere considerato \"nero" "\"." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" "Imposta quale livello di luminosità verde debba essere considerato \"nero" "\"." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" "Imposta quale livello di luminosità blu debba essere considerato \"nero" "\"." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Imposta quale livello di luminosità rossa debba essere considerato " "\"rosso completo\"." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." @@ -678,7 +672,7 @@ msgstr "" "Imposta quale livello di luminosità verde debba essere considerato " "\"verde completo\"." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." @@ -686,12 +680,12 @@ msgstr "" "Imposta quale livello di luminosità blu debba essere considerato \"blu " "completo\"." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Controlla la tonalità (livello di blu) dell'immagine acquisita." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -701,12 +695,12 @@ msgstr "" "l'immagine venga acquisita con una fotocamera. Valori maggiori " "determinano una fioritura maggiore." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Il nome del file contenente l'immagine da caricare." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -715,7 +709,7 @@ msgstr "" "Determina la dimensione del modello mezzi-toni (sfumatura) utilizzato " "con immagini a mezzi-toni." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." @@ -723,287 +717,287 @@ msgstr "" "Definisce il modello mezzi-toni (sfumatura) utilizzato con immagini a " "mezzi-toni." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Usa lo stesso valore per la risoluzione X e Y" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Inverte bianco e nero" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Esegue una calibrazione qualitativa sul bianco" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Utilizzo della lente per duplicare la risoluzione ottica" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "Utilizza lo stesso valore per tutti i canali in modalità RGB" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Imposta la brillantezza minima corrispondente a un punto bianco" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Correzione gamma analogica" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Correzione gamma del rosso analogica" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Correzione gamma del verde analogica" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Correzione gamma del blu analogica" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Preriscaldamento della lampada prima della scansione" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Definisce il tempo di esposizione per la calibrazione" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Definisce il tempo di esposizione per la calibrazione del rosso" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Definisce il tempo di esposizione per la calibrazione del verde" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Definisce il tempo di esposizione per la calibrazione del blu" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Definisce il tempo di esposizione per la scansione" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Definisce il tempo di esposizione per la scansione del rosso" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Definisce il tempo di esposizione per la scansione del verde" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Definisce il tempo di esposizione per la scansione del blu" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Abilita la selezione del tempo di esposizione" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Determina l'intensità della lampada per la calibrazione" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Determina l'intensità della lampada in scansione" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Abilita la selezione dell'intensità della lampada" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Spegnere la lampada in uscita dal programma" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, fuzzy, no-c-format msgid "Scan button" msgstr "Risoluzione della scansione" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, fuzzy, no-c-format msgid "Email button" msgstr "Attendi il tasto" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, fuzzy, no-c-format msgid "Fax button" msgstr "Attendi il tasto" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, fuzzy, no-c-format msgid "Copy button" msgstr "Attendi il tasto" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, fuzzy, no-c-format msgid "Cover open" msgstr "Coperchio ADF aperto" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Colore" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Colore binario" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Mezzi-toni colore" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Grigio" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Mezzi toni" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Binario" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, fuzzy, no-c-format msgid "Operation not supported" msgstr "Mezzi-toni non supportati" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, fuzzy, no-c-format msgid "Document feeder jammed" msgstr "Opzioni dell'alimentatore automatico" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, fuzzy, no-c-format msgid "Document feeder out of documents" msgstr "Opzioni dell'alimentatore automatico" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, fuzzy, no-c-format msgid "Scanner cover is open" msgstr "Coperchio ADF aperto" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Predefiniti" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Imposta i valori predefiniti per i controlli del miglioramento" -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Calibrazione" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Calibrare lo scanner prima della prossima scansione" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -1013,12 +1007,12 @@ msgstr "" "se tale funzione sarrà abilitata, altrimenti la calibrazione verrà " "eseguita solamente alla prima scansione." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Esegue solamente la correzione delle ombre" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1030,1066 +1024,1057 @@ msgstr "" "verranno utilizzati i valori predefiniti o quelli presenti nel file di " "configurazione" -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Stato del pulsante" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Numero di fotogrammi da acquisire" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Selezionare il numero di fotogrammi da acquisire" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "Scansione Duplex" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "La scansione duplex è quella di entrambi i lati del documento" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Calibrare lo scanner" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Forza la calibrazione dello scanner prima della scansione" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Scansione in scala di grigi" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Effettuare una scansione in scala di grigi invece che a colori" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Guadagno analogico" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Aumenta o diminuisce il guadagno analogico del sensore CCD" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Correzione gamma" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Selezionare la curva di correzione gamma" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "Grezzo" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "Colore ad alta qualità" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Nessuna correzione della trasparenza" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "Correzione in base al tipo di pellicola" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "Correzione in base al rapporto di trasparenza" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, no-c-format msgid "Negatives" msgstr "Negativi" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, no-c-format msgid "Slides" msgstr "Diapositive" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automatico" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, no-c-format msgid "Normal speed" msgstr "Velocità normale" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "Velocità normale dimezzata" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "1/3 della velocità normale" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "parametri arrotondati" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "sconosciuto" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "ADF inceppato" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "Coperchio ADF aperto" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, no-c-format msgid "lamp failure" msgstr "lampada guasta" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "errore nel posizionamento della testa di scansione" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "Errore nel controllo della CPU" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "Error nel controllo della RAM" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "Errore nel controllo della ROM" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "errore nei controlli hardware" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "guasto della lampada dell'adattatore per trasparenze" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" "errore durante il posizionamento della testa di scansione per " "l'adatattore per trasparenze" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "errore nella lunghezza della lista di parametri" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "codice di comando non valido" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "campo non valido in CDB" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "LUN non supportato" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "campo non valido nella lista di parametri" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "errore nella sequenza di comandi" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "sono state specificate troppe finestre" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "supporto non presente" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "messaggio con bit IDENTIFY non valido" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "opzione non connesso" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "reset dell'alimentazione elettrica / reset del bus dei dispositivi" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "parametro cambiato da un altro iniziatore" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "nessun altra informazione aggiuntiva sul «sense»" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "errore durante la reselezione" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "errore di parità SCSI" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "ricevuto un messaggio di errore per rilevamento di iniziatore" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "errore di messaggio non valido" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "errore di timeout" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "errore nel mascheramento della unità per la trasparenza" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "lampada non stabilizzata" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "scanner da negativi" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "scanner piano" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Pellicola" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Imposta il tipo di pellicola: negativi o diapositive" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, no-c-format msgid "Negative film type" msgstr "Tipo di pellicola negativa" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "Seleziona il tipo di pellicola negativa" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "Risoluzione hardware" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "Mostra solo le risoluzioni hardware" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "Fuoco" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "Autofocus" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "Abilita/disabilita la messa a fuoco automatica" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "Autofocus unico" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Effettua l'autofocus una sola volta per ogni pellicola inserita" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "Posizione di messa a fuoco manuale" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" "Imposta manualmente la posizione del sistema di messa a fuoco " "(normalmente alla posizione 128)." -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "Margini di scansione" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "Altre impostazioni del colore" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Immagine riflessa" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "Riflette l'immagine orizzontalmente" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "Esposizione automatica" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Abilita/disabilita l'esposizione automatica" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, no-c-format msgid "Calibration now" msgstr "Calibrazione immediata" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, no-c-format msgid "Execute calibration *now*" msgstr "Esegue adesso la calibrazione" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "Auto diagnostica" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Effettua i controlli automatici" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, no-c-format msgid "Reset scanner" msgstr "Reimposta scanner" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "Reimposta lo scanner" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "Gestione del supporto" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "Espelle la pellicola dopo ogni scansione" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Espelle automaticamente la pellicola dopo ogni scansione" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "Espelle la pellicola all'uscita" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "Espelle automaticamente la pellicola alla chiusura del programma" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "Espulsione della pellicola immediata" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "Espelle la pellicola adesso" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "Opzioni dell'alimentatore automatico" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "Solo piano fisso" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "Disabilita l'alimentatore di fogli e usa solo il piano fisso" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "Adattatore per trasparenze" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" "Abilita/disabilita l'adattatore per le trasparenze (FAU, «film adapter " "unit»)" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, no-c-format msgid "Negative film" msgstr "Pellicola negativa" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, no-c-format msgid "Positive or negative film" msgstr "Pellicola positiva o negativa" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "Controllo della densità" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "Imposta la modalità di controllo della densità" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "Rapporto per trasparenze" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "Seleziona tipo pellicola" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "Seleziona il tipo di pellicola" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Piano fisso" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, fuzzy, no-c-format msgid "ADF Front" msgstr "Coperchio ADF aperto" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF inceppato" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "ADF Duplex" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Stampa" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Fronte e retro" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Rosso" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Verde" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Blu" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Miglioramento" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Miglioramento" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Miglioramento" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Nessuno" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Solo fronte" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Fronte e retro" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Adattatore per trasparenze" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Caricatore automatico fogli" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Pellicola positiva" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Pellicola negativa" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Messa a fuoco sul piano di vetro" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Messa a fuoco 2,5mm sopra piano di vetro" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Mezzi Toni A (hard tone)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Mezzi Toni B (soft tone)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Mezzi Toni C (net screen)" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Dither A (4x4 Bayer)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Dither B (4x4 Spiral)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Dither C (4x4 Net Screen)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Dither D (8x4 Net Screen)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Tecnologia di miglioramento del testo" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Scarica il modello A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Scarica il modello B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Nessuna correzione" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Definito dall'utente" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Stampanti a impatto" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Stampanti termiche" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Stampanti a getto d'inchiostro" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "Monitor CRT" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Default" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Stampa ad alta definizione" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Stampa a bassa definizione" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Stampa a contrasto elevato" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Definito dall'utente (gamma=1.0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Definito dall'utente (gamma=1.8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 verticale" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 orizzontale" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Letter" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Massimo" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Modalità di scansione" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Seleziona i mezzi toni" -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Esclusione" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Seleziona l'esclusione." -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Seleziona la brillantezza." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Nitidezza" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Correzione del colore" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" "Imposta la tabella di correzione dei colori per il dispositivo " "selezionato." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Coefficienti di correzione del colore" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Moltiplicazione matriciale dei valori RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Spostamento da verde a rosso" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Spostamento da verde a blu" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Spostamento da rosso a verde" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Spostamento da rosso a blu" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Spostamento da blu a verde" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Spostamento da blu a rosso" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Controlla il livello del verde" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Modula il rosso sulla base del livello del verde" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Modula il blu sulla base del livello del verde" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Modula il verde sulla base del livello del rosso" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Controlla il livello del rosso" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Modula il blu sulla base del livello del rosso" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Modula il verde sulla base del livello del blu" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Modula il rosso sulla base del livello del blu" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Controlla del livello del blu" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Effettua una riflessione dell'immagine lungo l'asse verticale" -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Anteprima veloce" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Sezionamento automatico dell'area" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Lista ridotta delle risoluzioni disponibili" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Mostra la lista ridotta delle risoluzioni disponibili" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Zoom" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Definisce il fattore di zoom usato dallo scanner" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Formato rapido" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Dispositivi opzionali" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Espulsione" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Espelle il foglio dall'alimentatore automatico" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Espulsione automatica" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Espelle il documento dopo la sua scansione" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "Modalità ADF" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Seleziona la modalità ADF (solo fronte/fronte-retro)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Cassetto" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Seleziona il cassetto per la scansione" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2099,24 +2084,24 @@ msgstr "" "oppure dalla tabella personalizzata, con la quale verrà configurato lo " "scanner" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Posizione della messa a fuoco" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "" "Seleziona la messa a fuoco sul piano di vetro o 2,5mm sopra lo stesso" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Attendi il tasto" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2126,219 +2111,965 @@ msgstr "" "premuto il tasto dello scanner per fare partire il processo di " "acquisizione." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" msgstr "Diapositiva positiva" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, no-c-format msgid "Negative Slide" msgstr "Diapositiva negativa" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, fuzzy, no-c-format msgid "User defined CCT profile" msgstr "Definito dall'utente" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "Attivo" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Disattivo" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Sfumatura" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Diffusione d'errore" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "White" msgstr "Livello bianco" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, fuzzy, no-c-format msgid "Black" msgstr "Livello nero" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Continue" msgstr "Condizionale" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Orizzontale" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Orizzontale" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Orizzontale" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Verticale" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Verticale" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Front" msgstr "Stampa" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Mezzi toni" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Effettua calibrazione" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Accentuazione dell'immagine" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Saturazione" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "" +"Abilita la valutazione automatica della soglia per la scansione binaria." + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Immagine riflessa" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Riflette l'immagine orizzontalmente." + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Livello di bianco sul blu" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Controlla il livello del rosso" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Filtro colore" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Ammorbidimento" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Valore gamma" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, fuzzy, no-c-format +msgid "Threshold curve" +msgstr "Soglia" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Soglia" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Riduzione del rumore" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Nessuna correzione" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Nessuna correzione" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "Coperchio ADF aperto" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Opzioni avanzate" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Nessuna correzione" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Esclusione" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "Modalità di caricamento" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Durata spegnimento lampada" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Scarto sul blu" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Scarto sul verde" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Scarto sul verde" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Scarto sul blu" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Imposta lo scarto sul blu" + +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Scansione Duplex" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Opzioni avanzate" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Riduzione del rumore" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "Da carta" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "Da carta" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "Da carta" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "Da carta" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, fuzzy, no-c-format +msgid "Scanner in power saving mode" +msgstr "Coperchio ADF aperto" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Messa a fuoco preliminare manuale" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Messa a fuoco preliminare manuale" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "errore nei controlli hardware" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Livello bianco" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Controllo della densità" + +#: backend/fujitsu.c:4549 +#, fuzzy, no-c-format +msgid "Density dial" +msgstr "Controllo della densità" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Scansione Duplex" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extra" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, fuzzy, no-c-format -msgid "Threshold curve" -msgstr "Soglia" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "Disattiva interpolazione" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -2347,46 +3078,46 @@ msgstr "" "Quando si usano alte risoluzione con quella orizzontale minore della " "verticale, l'interpolazione orizzontale viene disabilitata." -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtro colore" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Quando si usano i grigi o il binario questa opzione seleziona il colore " "usato." -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibrazione" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definire la modalità di calibrazione" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Cache per la calibrazione" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "Durata spegnimento lampada" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2395,106 +3126,104 @@ msgstr "" "La lampada verrà spenta allo scadere del tempo impostato (in minuti). Il " "valore 0 indica che la lampada non deve mai essere spenta." -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Calibrazione granulosa" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" "Numero di minuti prima che la lampada venga spenta dopo la scansione" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, fuzzy, no-c-format msgid "File button" msgstr "Attendi il tasto" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, fuzzy, no-c-format msgid "Power button" msgstr "Attendi il tasto" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Attendi il tasto" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Calibrazione granulosa" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Forza la calibrazione dello scanner prima della scansione" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Pulsanti" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibrazione" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Inizia la calibrazione." -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Calibrazione granulosa" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Cache per la calibrazione" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adattatore per trasparenza" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "Modalità a scala di grigi" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Seleziona il colore di scansione da usare per la scala di grigi " "(predefinito: verde)." -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Opzioni per il debugging" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Preriscaldamento automatico" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2503,12 +3232,12 @@ msgstr "" "Preriscalda fino a che la luminisità della lampada sia costante invece " "di attendere 60 secondi." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Scansione completa" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2518,12 +3247,12 @@ msgstr "" "calibrazione. Fare attenzione a non selezionare l'altezza completa. Da " "usare solo per effettuare test." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Calibrazione granulosa" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2535,12 +3264,12 @@ msgstr "" "opzioni per la parametrizzazione manuale analogica. Questa opzione è " "attiva in maniera predefinita. Da usare solo per effettuare test." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Calibrazione granulosa solo per la prima scansione" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2552,12 +3281,12 @@ msgstr "" "parecchio tempo. Disabilitarla se la brillantezza è diversa per ciascuna " "delle immagini da acquisire. Da usare solo per effettuare test." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "Linee del backtrack" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2570,83 +3299,83 @@ msgstr "" "computer durante la ricezione dei dati. Valori bassi permettono una " "scansione più veloce, ma aumentano il rischio di linee mancanti." -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Valore gamma" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Imposta il valore gamma per tutti i canali." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, fuzzy, no-c-format msgid "Geometry Group" msgstr "Geometria" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, fuzzy, no-c-format msgid "Scan Mode Group" msgstr "Modalità di scansione" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Diapositiva" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, fuzzy, no-c-format msgid "Scanner model" msgstr "Modalità di scansione" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, fuzzy, no-c-format msgid "Disable gamma correction" msgstr "Correzione gamma analogica" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, fuzzy, no-c-format msgid "Gamma correction will be disabled" msgstr "Correzione gamma" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, fuzzy, no-c-format msgid "Disable white shading correction" msgstr "Esegue solamente la correzione delle ombre" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2654,12 +3383,12 @@ msgid "" "avoids depth emulation." msgstr "" -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, fuzzy, no-c-format msgid "Emulate Grayscale" msgstr "Scala di grigi" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2667,371 +3396,365 @@ msgid "" "circumstances." msgstr "" -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " "analyze them." msgstr "" -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, fuzzy, no-c-format msgid "Reset chipset" msgstr "Reimposta scanner" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, fuzzy, no-c-format msgid "Information" msgstr "Ignora la calibrazione" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, fuzzy, no-c-format msgid "Chipset name" msgstr "Nome file" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "" -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, fuzzy, no-c-format msgid "Unknown" msgstr "sconosciuto" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, fuzzy, no-c-format msgid "Shows the chipset ID" msgstr "Reimposta scanner" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, fuzzy, no-c-format msgid "Scan counter" msgstr "Sorgente scanner" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, fuzzy, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Selezionare il numero di fotogrammi da acquisire" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, fuzzy, no-c-format msgid "Update information" msgstr "Opzioni di aggiornamento" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, fuzzy, no-c-format msgid "This option reflects a front panel scanner button" msgstr "Queste opzioni riflettono lo stato dei pulsanti dello scanner." -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Immagine" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Varie" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "Scarto X" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Posizione interna X dell'area di scansione." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "Scarto Y" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Posizione interna Y dell'area di scansione." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Stato della lampada" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Accendi o spegni la lampada" -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Calibrare i livelli del bianco e nero" -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "ADF" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Diapositive" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Negativi" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Colore a 48 bit" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Timeout della lampada" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, fuzzy, no-c-format msgid "Wait for button" msgstr "Attendi il tasto" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, fuzzy, no-c-format msgid "Waits for button before scanning" msgstr "Preriscaldamento della lampada prima della scansione" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "Opzioni avanzate" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Granuloso" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "A grana fine" # Bayer è il nome della persona che ha inventato questa matrice per il # dithering. -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Personalizzato" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Automatico" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "Passante" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "Grigio NTSC" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "XPA Grigio" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Lento" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normale" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Veloce" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Extra veloce" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2-pixel" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4-pixel" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8-pixel" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Stampa" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Pellicola" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "XPA" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Condizionale" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "Esperimento" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Nitidezza" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Imposta il valore di nitidezza." -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Soglia automatica" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" "Abilita la valutazione automatica della soglia per la scansione binaria." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Ammorbidimento" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Seleziona il filtro per l'ammorbidimento (smoothing)." -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Espelle il supporto dopo la scansione" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Estrae il supporto originale dopo aver effettuato la scansione." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Cambia il documento" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Cambia il documento." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Espulsione" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Espelle il documento." -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Inizia la calibrazione." -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Supporto" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Imposta il tipo di supporto." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Tempo di esposizione" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -3044,466 +3767,465 @@ msgstr "" "normali diapositive e \"Negativo\" per le pellicole. Per immagini scure " "(sottoesposte) si può aumentare questo valore." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Matrice del colore" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Imposta la matrice del colore." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Matrice personalizzata del colore." -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Matrice del colore mono" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Matrice personalizzata del colore per scansioni a scale di grigi." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Specchio orizzontale" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Riflette l'immagine orizzontalmente." -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Specchio verticale" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Riflette l'immagine verticalmente." -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Opzioni di aggiornamento" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Opzioni di aggiornamento." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "uscita a 8 bit" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "Usa internamente più di 8 bit, ma produce solo 8 bit." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Attesa del bottone frontale" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "" "Viene attesa la pressione del bottone frontale prima di effettuare la " "scansione." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Spegnimento della lampada" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Spegne la lampada dello scanner." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Dimensione del foglio" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Separazione automatica" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 orizzontale" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Imposta la modalità di controllo della densità" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Messa a fuoco preliminare manuale" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Messa a fuoco preliminare manuale" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Attiva la scansione fronte-retro" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Dimensione del foglio nel caricatore automatico" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "Mezzi toni" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Colore" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "Condizionale" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "Disattivo" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" # Bayer è il nome della persona che ha inventato questa matrice per il # dithering. -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" # Bayer è il nome della persona che ha inventato questa matrice per il # dithering. -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Mezzi toni" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Mezzi toni" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, fuzzy, no-c-format msgid "diffusion" msgstr "Diffusione d'errore" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normale" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Contrasto" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "scanner da negativi" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Da carta" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Default" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Morbido" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Lento" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Medio" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Rosso" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Verde" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Sorgente scanner" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Modalità di caricamento" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Selezionare la modalità di caricamento" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Abilita/disabilita la messa a fuoco automatica" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Imposta la modalità di controllo della densità" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Selezionare la modalità di caricamento" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Selezionare la modalità di caricamento" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Soglia automatica" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3513,515 +4235,502 @@ msgstr "" "del rumore e accentuazione dell'immagine vengono determinati " "automaticamente" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Riduzione del rumore" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Riduce il rumore dei punti isolati" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Accentuazione dell'immagine" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Imposta l'accentuazione dell'immagine" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Lampada accesa" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Accendi o spegni la lampada" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Riflette l'immagine verticalmente." -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Correzione gamma" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "Stampa ad alta definizione" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "Stampa a bassa definizione" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, fuzzy, no-c-format msgid "err_diffusion" msgstr "Diffusione d'errore" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Nessuna correzione" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Normale" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Miglioramento" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Soglia automatica" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Soglia automatica" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "Determina l'ordine delle immagini" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Ombreggiatura per il blu" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Spostamento da rosso a blu" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamante" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "8x8 grana grossa" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "8x8 grana fine" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "8x8 Bayer" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 linea verticale" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Guadagno" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Regolazione del guadagno sui canali di colore" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Guadagno sul grigio" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Imposta il guadagno sul canale grigio" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Guadagno sul rosso" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Imposta il guadagno sul canale rosso" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Guadagno sul verde" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Imposta il guadagno sul canale verde" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Guadagno sul blu" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Imposta il guadagno sul canale blu" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Dither Bayer 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Dither Bayer 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Halftone Dot 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Halftone Dot 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Diffusione d'errore" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Modo 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Modo 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Modo 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "Da bastoncino bianco" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Morbido" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Basso" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Medio" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Alto" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "CRT" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Pagina singola" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Tutte le pagine" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "Scanner con alimentatore automatico dei fogli" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "Scala di grigi a 4 bit" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "Scala di grigi a 8 bit" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Ombre, toni medi, contrasto, tempo di esposizione" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Opzioni speciali" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Bilanciamento del colore" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Disattiva backtracking" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "Se abilitato lo scanner non esegue il backtracking" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Commuta lo stato della lampada dello scanner" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Commuta lo stato della lampada dello scanner (accesa/spenta)" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Calibrazione automatica" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" @@ -4029,42 +4738,42 @@ msgstr "" "Se abilitato la calibrazione del colore viene eseguita automaticamente " "prima della scansione" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Utilizza l'adattatore per diapositive" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "Questa opzione spegne la lampada del piano durante la scansione" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Qualità di scansione" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Massima qualità/Bassa velocità" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Scansione rapida" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Massima velocità/Bassa qualità" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Determinazione automatica della soglia" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4073,67 +4782,67 @@ msgstr "" "Se abilitato viene determinato in maniera automatica il valore ottimale " "della soglia." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Selezionare la modalità di correzione gamma." -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Fissa il valore gamma" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Utilizza lo stesso valore di correzione gamma per tutti i canali." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Scalare gamma" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Selezionare il valore per la correzione gamma scalare." -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Valore gamma per il canale rosso" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "Selezionare il valore per la correzione gamma (canale rosso)" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Valore gamma per il canale verde" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "Selezionare il valore per la correzione gamma (canale verde)" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Valore gamma per il canale blu" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Selezionare il valore per la correzione gamma (canale blu)" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Canale" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." @@ -4141,212 +4850,212 @@ msgstr "" "Selezionare la banda di colore, \"Master\" significa che tutti i colori " "saranno influenzati." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Mezzi toni" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "Imposta il livello di luminosità da considerare \"50% grigio\"." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Mezzi toni rossi" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Imposta il livello di luminosità da considerare \"50 % rosso\"." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Mezzi toni verdi" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "Imposta il livello di luminosità da considerare \"50 % verde\"." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Mezzi toni blu" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "Selezionare il livello di luminosità da considerare \"50 % blu\"." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Bilanciamento del rosso" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "" "Fattore di bilanciamento per il rosso. 100% equivale a nessuna " "correzione." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Bilanciamento del verde" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "" "Fattore di bilanciamento per il verde. 100% equivale a nessuna " "correzione." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Bilanciamento del blu" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "" "Fattore di bilanciamento per il blu. 100% equivale a nessuna correzione." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Bilanciamento (valori preimpostati)" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "Resetta i valori di bilanciamento ai valori preimpostati" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Lentissimo" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Più lento" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Più veloce" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Velocissimo" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 di massima" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 normale" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 preciso" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 molto preciso" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 normale" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 di massima" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 preciso" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 di massima" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 normale" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 preciso" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 normale" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 normale" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 personalizzato" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 personalizzato" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 personalizzato" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 personalizzato" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 personalizzato" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 personalizzato" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Scala di grigi rapido" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Scansione rapida con scala di grigi (bassa qualità)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4356,117 +5065,117 @@ msgstr "" "possibile (a bassa qualità). Questa potrebbe essere senza i colori o a " "bassa risoluzione." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Durata in minuti dello spegnimento della lampada." -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Imposta il ritardo (in minuti) dopo il quale spegnere la lampada." -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "Spegne la lampada" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Spegne subito la lampada." -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Luminosità del rosso" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Controlla la luminosità del canale rosso dell'immagine acquisita." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Luminosità del verde" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Controlla la luminosità del canale verde dell'immagine acquisita." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Luminosità del blu" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Controlla la luminosità del canale blu dell'immagine acquisita." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Contrasto canale rosso" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Controlla il contrasto del canale rosso dell'immagine acquisita." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Contrasto canale verde" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Controlla il contrasto del canale verde dell'immagine acquisita." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Contrasto canale blu" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Controlla il contrasto del canale blu dell'immagine acquisita." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Colore a 48 bit" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Colore a 24 bit" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Grigio a 16 bit" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Grigio a 8 bit" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "Riflesso" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "Pellicola positiva" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4475,39 +5184,39 @@ msgstr "" "Preriscalda fino a che la luminisità della lampada sia costante invece " "di attendere 40 secondi." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Pellicola negativa" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Colore ad alta qualità" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Scansione controllata da pulsante" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4518,248 +5227,239 @@ msgstr "" "procedere premere il pulsante \"SCAN\" (per ML150) oppure \"COLOR\" (per " "altri modelli). Per annullare premere il pulsante \"GRAY\"." -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Aggiorna lo stato del pulsante" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Pulsante 1" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Pulsante 2" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Trasparenze" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "Impostazioni-dispositivo" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "Pulsante lampada" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "Accensione manuale della/e lampada/e." -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, fuzzy, no-c-format msgid "Lamp off during dark calibration" msgstr "Calibrazione granulosa" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "Cache per la calibrazione" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "Abilita o disabilita la cache per la calibrazione." -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, no-c-format msgid "Performs calibration" msgstr "Effettua calibrazione" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "Sensore di accelerazione" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "Abilita o disabilita il movimento del sensore di accelerazione." -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "Durata del preriscaldamento" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "Durata in secondi del preriscaldamento della lampada." -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "Durata spegnimento lampada" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "Durata in secondi dello spegnimento della lampada." -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "Frontend analogico" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "Valore del guadagno sul rosso per AFE (Analog FrontEnd)" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Scarto sul rosso" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "Valore dello scarto sul rosso per AFE (Analog FrontEnd)" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "Valore del guadagno sul verde per AFE (Analog FrontEnd)" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Scarto sul verde" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "Valore dello scarto sul verde per AFE (Analog FrontEnd)" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "Valore del guadagno sul blu per AFE (Analog FrontEnd)" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Scarto sul blu" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "Valore dello scarto sul blu per AFE (Analog FrontEnd)" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "Lampada rossa spenta" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "Imposta il parametro spegnimento della lampada rossa" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "Lampada verde spenta" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "Imposta il parametro spegnimento lampada verde" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "Lampada blu spenta" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "Imposta il parametro spegnimento lampada blu" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "Queste opzioni riflettono lo stato dei pulsanti dello scanner." -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Colore a 36 bit" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Mappa dither 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Mappa dither 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Aleatorizzato" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Selezione della sorgente" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Miglioramento dell'immagine" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Rendi grigio" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Caricare l'immagine con scala di grigi" -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Simulazione dell'acquisizione in 3 passate" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4768,12 +5468,12 @@ msgstr "" "Simula l'acquisizione in 3 passate e ritorna 3 diverse immagini. Per " "primo il verde, poi il blue e poi il rosso." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Simulazione di uno scanner manuale" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4785,7 +5485,7 @@ msgstr "" "quindi il valore -1. Impostando questa opzione sarà possibile " "verificare se il frontend funziona correttamente." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." @@ -4793,42 +5493,42 @@ msgstr "" "Imposta i valori predefiniti per il miglioramento della qualità " "dell'immagine (brillantezza e contrasto)." -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Opzione per il test di sola lettura" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Verifica se in questo caso il frontend funziona correttamente" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Tabelle gamma" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Simulazione del valore di ritorno" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Non forzare il valore di ritorno" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Non obbliga l'interfaccia a fornire un valore di ritorno." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Ritorna SANE_STATUS_EOF" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4837,12 +5537,12 @@ msgstr "" "Obbliga il programma a fornire il valore di ritorno SANE_STATUS_EOF dopo " "che sia stata chiamata la funzione sane_read()." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Ritorna SANE_STATUS_JAMMED" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4851,12 +5551,12 @@ msgstr "" "Obbliga il programma a fornire il valore di ritorno SANE_STATUS_JAMMED " "dopo che sia stata chiamata la funzione sane_read()." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Ritorna SANE_STATUS_NO_DOCS" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4865,12 +5565,12 @@ msgstr "" "Obbliga il programma a fornire il valore di ritorno SANE_STATUS_NO_DOCS " "dopo che sia stata chiamata la funzione sane_read()." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Ritorna SANE_STATUS_COVER_OPEN" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4880,12 +5580,12 @@ msgstr "" "SANE_STATUS_COVER_OPEN dopo che sia stata chiamata la funzione " "sane_read()." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Ritorna SANE_STATUS_IO_ERROR" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4894,12 +5594,12 @@ msgstr "" "Obbliga il programma a fornire il valore di ritorno SANE_STATUS_IO_ERROR " "dopo che sia stata chiamata la funzione sane_read()." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Ritorna SANE_STATUS_NO_MEM" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4908,12 +5608,12 @@ msgstr "" "Obbliga il programma a fornire il valore di ritorno SANE_STATUS_NO_MEM " "dopo che sia stata chiamata la funzione sane_read()." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Ritorna SANE_STATUS_ACCESS_DENIED" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4923,86 +5623,83 @@ msgstr "" "SANE_STATUS_ACCESS_DENIED dopo che sia stata chiamata la funzione " "sane_read()." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, fuzzy, no-c-format msgid "This option reflects the status of a scanner button." msgstr "Queste opzioni riflettono lo stato dei pulsanti dello scanner." -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Lampada accesa" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Accendere la lampada" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Lampada spenta" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Spegnere la lampada" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "Timeout della lampada" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "" "Numero di minuti prima che la lampada venga spenta dopo la scansione" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "Valore soglia per modalità binaria" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Alimentatore automatico dei fogli" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 pollici (~15x10 cm)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 pollici (~20x25 cm)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 pollici (~21x28 cm)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Mezzi-toni non supportati" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "DispersedDot8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "DispersedDot16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -5017,27 +5714,27 @@ msgstr "" "\"a scatti\" dello scanner, un valore troppo grande può bloccare le " "interfacce X-Window dal rispondere agli eventi X e bloccare il sistema." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Espelle il documento dopo la sua scansione" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Anteprima" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -5046,12 +5743,12 @@ msgstr "" "Determina come eseguire l'anteprima: un'anteprima con scala di grigi " "fornisce solitamente il miglior rapporto velocità/qualità." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Valori predefiniti" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -5060,97 +5757,97 @@ msgstr "" "Fornisce le aree di scansione standard per fotografie, pagine stampate, " "etc." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "scanner piano" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, fuzzy, no-c-format msgid "Focus-mode" msgstr "Fuoco" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Autofocus" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Posizione della messa a fuoco" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Posizione della messa a fuoco" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Numero di linee colore per ciclo di lettura" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Numero di linee in scala di grigi per ciclo di lettura" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "webcam" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Colore RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Colore RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Colore RGB TESTO" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Nero pieno" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Bianco pieno" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Modello di colori" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Griglia" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Prima scelta" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Seconda scelta" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5159,12 +5856,12 @@ msgstr "" "Questa è una terza scelta molto lunga. Il programma potrebbe riuscire a " "visualizzarla." -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Simulazione di uno scanner manuale" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5178,12 +5875,12 @@ msgstr "" "frontend funziona correttamente. Questa opzione imposta inoltre la " "larghezza al valore fisso di 11 cm." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Simulazione di una scansione a 3 passate" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5192,17 +5889,17 @@ msgstr "" "Simulazione di uno scanner a 3 passate. In modalità colore verranno " "trasmesse 3 immagini." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Determina l'ordine delle immagini" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "Determina l'ordine delle immagini in una scansione a 3 passate" -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " @@ -5211,17 +5908,17 @@ msgstr "" "Se viene selezionato il caricatore automatico di fogli, questo sarà " "vuoto dopo 10 scansioni." -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Opzioni speciali" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Seleziona l'immagine di prova" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5239,12 +5936,12 @@ msgstr "" "Griglia: disegna una griglia di quadrati bianchi e neri aventi larghezza " "e altezza uguali a 10 mm." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Inversione della «endianness»" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5255,22 +5952,22 @@ msgstr "" "essere utilizzata per verificare la modalità a 16 bit dei frontend, vale " "a dire per vedere se il frontend utilizza correttamente l'«endianness»." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Limiti in lettura" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "Limita i dati passati ad ogni chiamata della funzione sane_read()." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Dimensione del limite in lettura" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." @@ -5278,34 +5975,34 @@ msgstr "" "La quantità (massima) di dati passati ad ogni chiamata della funzione " "sane_read()." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Ritardo in lettura" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Ritarda il trasferimento dei dati" -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Durata del ritardo in lettura" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "" "Quanto attendere dopo avere tarsferito ogni singolo pacchetto di dati" -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Valore di ritorno della funzione sane_read()" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5317,22 +6014,22 @@ msgstr "" "valori di ritorno sono utilizzati per testare come vengono gestiti dal " "frontend." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Perdita di pixel per linea" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Numero di pixel sprecati alla fine di ogni linea" -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Parametri «fuzzy»" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5341,24 +6038,24 @@ msgstr "" "Restituisce dei valori «fuzzy» per il numero di linee e quello di byte " "per linea se sane_parameters() è chiamata prima di sane_start()." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Uso dell'I/O asincrono" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Usa la modalità non bloccante di I/O per sane_read() se il frontend la " "supporta." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Proponi «select file descriptor»" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5367,12 +6064,12 @@ msgstr "" "Propone «select file descriptor» per verificare se sane_read() " "restituisce dati." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Abilita le opzioni di test" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5381,27 +6078,27 @@ msgstr "" "Abilita le varie opzioni di test. Usabile per verificare la capacità dei " "frontend di vedere e modificare tutti i tipi di opzioni di SANE." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Stampa le opzioni" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Stampa un elenco di tutte le opzioni." -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Opzioni booleane di test" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) bool, soft select soft detect" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5410,12 +6107,12 @@ msgstr "" "(1/6) opzione booleana di test che ha capacità di soft select e soft " "detect (e oltre). Si tratta di una normale opzione booleana." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) bool, hard select soft detect" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5427,12 +6124,12 @@ msgstr "" "dal frontend, ma dall'utente (come, ad esempio, premendo un pulsante sul " "dispositivo)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) bool, hard select" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5444,12 +6141,12 @@ msgstr "" "(come, ad esempio, la pressione di un pulsante sul dispositivo) e non " "può essere letta dal frontend." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) bool, soft detect" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5458,12 +6155,12 @@ msgstr "" "(4/6) opzione booleana di test che ha la capacità di soft detect (e " "oltre). Vale a dire che l'opzione è di sola lettura." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) bool, soft select soft detect emulazione" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5472,12 +6169,12 @@ msgstr "" "opzione di test booleana che ha la capacità di soft select, soft detect " "e emulazione (e oltre)." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) bool, soft select soft detect auto" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5488,27 +6185,27 @@ msgstr "" "detect e automatica (e oltre). Questa opzione può essere automaticamente " "impostata dal backend." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Opzioni intere di test" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) intero" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "(1/6) opzione intera di test senza unità di misura e vincoli." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) intero con intervallo" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5517,24 +6214,24 @@ msgstr "" "(2/6) opzione intera di test che ha l'unità pixel e un vincolo di " "intervallo. Il minimo è 4, il massimo è 192, il passo è 2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) intero con valori da una lista" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" "(3/6) opzione intera con il bit come unità e il vincolo di valori da una " "lista." -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) array di interi" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " @@ -5543,12 +6240,12 @@ msgstr "" "(4/6) opzione intera di test con il mm come unità e un array senza " "limiti." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) array di interi con vincolo" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5557,12 +6254,12 @@ msgstr "" "(5/6) opzione intera di test con unità punti per pollice e un array con " "un vincolo di intervallo. Il minimo è 4, il massimo 192 e il passo 2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) array di interi con lista di valori" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5571,27 +6268,27 @@ msgstr "" "(6/6) opzione intera di test con unità percentuale e un array con una " "lista di valori come vincolo." -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Opzioni di test a virgola fissa" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) virgola fissa" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "Opzione a virgola fissa di test senza unità e vincoli." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) virgola fissa con vincolo di intervallo" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5601,49 +6298,49 @@ msgstr "" "vincolo di intervallo. Il minimo è -42,17, il massimo è 32767,9999 e il " "passo è 2,0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) virgola fissa con lista di valori" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" "(3/3) opzione a virgola fissa di test senza unità e con il vincolo lista " "di valori." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "Opzioni stringa di test" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) stringa" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) opzione stringa di test senza vincoli." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) stringa con lista di valori" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "(2/3) opzione stringa di test con vincolo lista di valori." -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) stringa con lunga lista di valori" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5652,158 +6349,162 @@ msgstr "" "(3/3) opzione stringa di test con vincolo lista di valori. Contiene più " "elementi..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Opzioni pulsanti di test" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) pulsante" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) opzione pulsante di test. Stampa un testo..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Colore a 36 bit" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Usa la composizione di immagini" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Bianco e nero (binario)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Bianco e nero (mezzi-toni sfumato)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Scala di grigi" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Colore RGB (singola passata)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Ignora la calibrazione" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Disabilita la messa a fuoco preliminare" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Non calibrare la messa a fuoco" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Messa a fuoco preliminare manuale" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Fissa la posizione di messa a fuoco" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Calibrazione della lente sul documento" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "" "Calibrazione della messa a fuoco della lente nella posizione del " "documento" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Messa a fuoco sul piano di vetro" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Messa a fuoco sul piano di vetro invece che 0,6mm sopra il piano" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Modalità di calibrazione" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Definire la modalità di calibrazione" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Commuta lo stato della lampada" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "Adattatore per trasparenze acceso" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Accendere/spegnere l'adattatore per trasparenze" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Scarto" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Impostazione dello scarto sui canali del colore" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Scarto sul grigio" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Imposta lo scarto sul grigio" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Imposta lo scarto sul rosso" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Imposta lo scarto sul verde" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Imposta lo scarto sul blu" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Anteprima" + #~ msgid "problem not analyzed (unknown SCSI class)" #~ msgstr "problema non analizzato (classe SCSI sconosciuta)" diff --git a/po/ja.gmo b/po/ja.gmo new file mode 100644 index 0000000..4cf6b91 Binary files /dev/null and b/po/ja.gmo differ diff --git a/po/ja.po b/po/ja.po index fcfe261..5c589f6 100644 --- a/po/ja.po +++ b/po/ja.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.20\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2009-10-31 10:30+0900\n" "Last-Translator: Hiroshi Miura \n" "Language-Team: Japanese \n" @@ -19,411 +19,405 @@ msgstr "" "X-Poedit-Country: JAPAN\n" "X-Poedit-SourceCharset: utf-8\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "オプション数" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "標準" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "配置" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "増強" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "上級" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "センサー" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "プレビュー" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "モノクロームプレビューを強制する" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "ビット深度" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "走査モード" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "走査速度" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "走査源" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "左上のx" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "左上のy" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "右下のx" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "右下のy" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "走査解像度" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "X解像度" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Y解像度" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "ページ幅" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, no-c-format msgid "Page height" msgstr "ページ高" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "カスタムガンマテーブルを使う" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "画像の明暗度" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "明暗度赤" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "明暗度緑" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "明暗度青" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "輝度" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "コントラスト" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "粒径" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "ハーフトーン処理" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "黒レベル" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "ホワイトレベル" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "ホワイトレベルの赤値" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "ホワイトレベルの緑値" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "ホワイトレベルの青値" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "最小輝度、影" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "赤の最小輝度" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "緑の最小輝度" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "青の最小輝度" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "ハイライト" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "赤のハイライト" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "緑のハイライト" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "青のハイライト" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "色相" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "彩度" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "ファイル名" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "ハーフトーンパターンの大きさ" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "ハーフトーンのパターン" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "XとY解像度を拘束" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "ネガ" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "品質較正" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "2倍光学解像度" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "RGB値を拘束" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "閾値" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "アナログガンマ補正" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "アナログガンマ赤" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "アナログガンマ緑" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "アナログガンマ青" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "アナログガンマ値を拘束" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "ランプの暖機" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "露出時間を較正" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "赤の露出時間を較正" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "緑の露出時間を較正" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "青の露出時間を較正" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "走査露出時間" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "赤の走査露出時間" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "緑の走査露出時間" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "青の走査露出時間" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "露出時間を設定" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "ランプ密度の校正" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "ランプ密度の走査" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "ランプ密度の設定" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "終了時にランプを停止する" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -432,37 +426,37 @@ msgstr "" "特定のデバイスがサポートするオプションがどれだけあるかを指定する読み取り" "のみオプション" -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, no-c-format msgid "Source, mode and resolution options" msgstr "入力元、モードと解像度のオプション" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "走査領域とメディアサイズのオプション" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, no-c-format msgid "Image modification options" msgstr "イメージ修正オプション" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, no-c-format msgid "Hardware specific options" msgstr "ハードウエア独自のオプション" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "スキャナーのセンサーやボタン" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "プレビュー品質の走査を要求する。" -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -470,87 +464,87 @@ msgid "" "scanner, it reduces the memory requirements and scan-time of the preview." msgstr "" -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " "for multibit scans." msgstr "" -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "" -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "" -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "" -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "走査エリアの左上の位置" -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "走査エリアの右上の位置" -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "走査エリアの右下のx位置" -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "走査エリアの右下の位置を決める。" -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "走査イメージの解像度を設定。" -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "走査したイメージの水平解像度を設定する。" -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "走査したイメージの垂直改造度を設定する。" -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " "sheet-fed scans." msgstr "" -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, no-c-format msgid "Specifies the height of the media." msgstr "媒体の高さを指定" -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." msgstr "" -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -558,411 +552,411 @@ msgid "" "gamma table)." msgstr "" -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "赤バンドのガンマ補正テーブル。" -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "緑バンドのガンマ補正テーブル。" -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "青バンドのガンマ補正テーブル。" -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "取得した画像の輝度を制御する。" -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "取得した画像のコントラストを制御する。" -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " "in sharper images." msgstr "" -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." msgstr "" -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." msgstr "" -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "" -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " "when acquiring an image with a camera. Larger values cause more blooming." msgstr "" -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "ロードされる画像のファイル名" -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " "halftoned images." msgstr "" -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." msgstr "" -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "黒と白を反転する" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "2倍光学解像度のレンズを使う" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "RGBモードにおいて各色に対して同じ値を使う" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "白の点を得るため、最小輝度を選択" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "アナログガンマ補正" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "赤のアナログガンマ補正" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "緑のアナログガンマ補正" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "青のアナログガンマ補正" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "走査前のランプの暖機" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "赤較正のための露出時間の定義" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "緑較正のための露出時間の定義" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "青較正のための露出時間の定義" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "走査の露出時間を設定" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "赤走査の露出時間を設定" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "緑スキャンの露出時間を設定" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "青スキャンの露出時間を設定" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "露出時間の選択を有効にする。" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "較正のランプ密度を定義" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "走査のランプ密度を定義" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "プログラム終了時にランプをオフにする" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, no-c-format msgid "Scan button" msgstr "スキャンボタン" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, no-c-format msgid "Email button" msgstr "電子メールボタン" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, no-c-format msgid "Fax button" msgstr "ファックスボタン" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, no-c-format msgid "Copy button" msgstr "コピーボタン" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "PDFボタン" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "キャンセルボタン" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "ページがロードされた" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, no-c-format msgid "Cover open" msgstr "カバーが開いている" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "カラー" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "グレー" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "網版" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "線画" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "成功" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, no-c-format msgid "Operation not supported" msgstr "操作はサポートされていません。" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "操作はキャンセルされました。" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "デバイスビジー" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "不正な引数" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "ファイルの最後に到達" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, no-c-format msgid "Document feeder jammed" msgstr "書類送りが詰まりました" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, no-c-format msgid "Document feeder out of documents" msgstr "書類送りが空になりました" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "スキャナーのカバーが開いています" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "デバイス入出力中にエラー" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "メモリ不足" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "資源へのアクセスは拒否されました。" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "ランプの準備が整いません。再度試してみてください。" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "移動のために、走査機構をロックする。" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "既定" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "増強制御の既定値を設定する" -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "校正" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "次の走査のまえに校正する" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -971,12 +965,12 @@ msgstr "" "有効にされると、デバイスは次の走査の前にかならず校正を行います。そうでな" "ければ、校正は最初の開始前の一度だけ行われます。" -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "シェーディング補正だけを行う" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -987,1082 +981,1073 @@ msgstr "" "フセットと露光時間の既定値は、組み込まれている値か、設定ファイルから読み" "込まれた値が使われます。" -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "ボタンの状態" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "走査するフレーム数" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "走査するフレームの数を選んでください。" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "両面スキャン" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "両面スキャンでは、文書の表面と裏面の走査が行われます。" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "スキャナーの校正" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "走査前にスキャナの校正を強制する" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "グレースケール走査" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "カラーの代わりに、グレースケールで走査します。" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "アナログ利得" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "CCD配列のアナログ利得を増加または減少" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "ガンマ校正" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "ガンマ補正された変換カーブを選択" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "無加工" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "高精彩" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "透明度補正は行わない" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "フィルムの種類に従った補正" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "透過率に従って、補正されます。" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, no-c-format msgid "Negatives" msgstr "ネガ画像" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, no-c-format msgid "Slides" msgstr "スライド" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "自動" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, no-c-format msgid "Normal speed" msgstr "普通の速度" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "半分の速度" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "3分の1の速度" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "丸められたパラメター値" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "不明" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "ADFが詰まりました" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "ADFのカバーが開いています" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, no-c-format msgid "lamp failure" msgstr "ランプ不良" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "走査ヘッドの位置エラー" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "CPUチェックエラー" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "RAMチェックエラー" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "ROMチェックエラー" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "ハードウエアチェックエラー" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "フィルムユニットのランプ不良" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "フィルムユニットのヘッド位置不良" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "パラメターリストの長さエラー" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "不正なコマンド操作コード" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "CDBに不正なフィールド" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "サポートされないLUN" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "パラメターリストに不正なフィールド" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "コマンドの順序エラー" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "指定されたウインドウが多すぎます" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "媒体が存在しません" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "IDENTIFYメッセージに不正なビット" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "オプションが正しくありません" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "電源ONリセット/バスデバイスリセット" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "ほかの初期化プログラムによってパラメターが変更されました" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "追加センサー情報はありません。" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "再選択失敗" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "SCSIパリティエラー" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "初期化ルーチンがエラーメッセージを受信しました。" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "不正なメッセージエラー" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "タイムアウトエラー" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "透過ユニットのシェーディングエラー" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "ランプが安定しません" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "フィルムスキャナー" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "フラットベッド(平台型)スキャナ" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "フィルムの種類" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "フィルムの種類を選択(例、ネガ、スライド)" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, no-c-format msgid "Negative film type" msgstr "ネガフィルム" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "ネガフィルムを選択" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "ハードウエア解像度" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "ハードウエア解像度だけを使用" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "焦点" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "自動焦点" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "自動焦点を有効/無効" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "自動焦点を一回だけ行う" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "排出している間に、一度だけ自動焦点補正を行います。" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "手動焦点位置" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "光学系の焦点位置を手動で設定します(既定値:128)" -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "走査の余白" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "追加色調整" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "鏡像画像" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "水平に画像の鏡像にする" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "自動露出" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "自動露光機能を有効/無効にする" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, no-c-format msgid "Calibration now" msgstr "校正中" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, no-c-format msgid "Execute calibration *now*" msgstr "較正を「すぐに」実行します" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "自己診断" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "スキャナーの自己診断を実行" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, no-c-format msgid "Reset scanner" msgstr "スキャナーのリセット" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "スキャナーをリセットする" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "媒体の扱い" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "各走査の後フィルムを排出する" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "自動的に、各走査の後、フィルムを装置から排出する。" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "終了前にフィルムを排出する" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "自動的に、プログラム終了前に装置からフィルムを排出する" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "フィルムを今排出" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "フィルムを今すぐ、排出する。" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "文書供給装置拡張" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "フラットベッドのみ" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "自動書類送りを無効にし、平台だけを使います" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "透過ユニット" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" "透過ユニットのオフ・オンを切り替えます。(FAU,フィルムアダプター装置)" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, no-c-format msgid "Negative film" msgstr "ネガフィルム" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, no-c-format msgid "Positive or negative film" msgstr "ポジあるいはネガフィルム" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "濃度制御" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "濃度制御モードを設定" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "透過率" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "フィルムの種類を選択" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "フィルムの種類を選ぶ" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "フラットベッド" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "ADF表面" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "ADF裏面" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "ADF両面" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "ADF表面" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, fuzzy, no-c-format msgid "Card Back" msgstr "ADF裏面" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "両面" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "赤" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "緑" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "青" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "増強" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "増強" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "増強" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr " なし" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "片面" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "両面" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "透過ユニット" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "自動原稿送り装置" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "ポジフィルム" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "ネガフィルム" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "ガラス表面に焦点を合わせる" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "ガラスから2.5mmの場所に焦点を合わせる" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "ハーフトーン A(ハードトーン)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "ハーフトーンB(ソフトトーン)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "ハーフトーンC(ネットトーン)" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "ディザーA(4x4バイエル)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "ディザーB(4x4スパイラル)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "ディザーC(4x4網スクリーン)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "ディザーD(8x4の網スクリーン)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "テキスト強調技術" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "パターンAのダウンロード" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "パターンBのダウンロード" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "補正をしない" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "ユーザ定義" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "ドットインパクトプリンタ" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "熱転写プリンタ" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "インクジェットプリンタ" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "CRTモニター" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "既定" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "高密度印刷" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "低密度印刷" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "高コントラスト印刷" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "ユーザ定義(ガンマ=1.0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "ユーザ定義(ガンマ=1.8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5縦" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5横" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "USレターサイズ" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "最大" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "走査モード" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "ハーフトーンを選択する。" -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "取り出し口" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "取り出し口の選択" -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "輝度の選択" -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "鮮鋭度" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "カラー補正" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "選択した出力デバイスのための色補正テーブルを設定する。" -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "RGBの倍率マトリックス" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "緑を赤にシフト" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "緑を青にシフト" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "赤を緑にシフト" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "赤を青にシフト" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "青を緑にシフト" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "青を赤にシフト" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "緑レベルの制御" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "緑レベルを基準に赤を増加" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "緑レベルを基準に青を増加" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "赤レベルを基準に緑を増加" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "赤レベルの制御" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "赤レベルを基準に青を増加" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "青レベルを基準として緑を増加" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "青レベルを基準として赤を増加" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "青レベルの制御" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "鏡像をとる。" -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "高速プレビュー" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "自動領域分割" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "短い解像度一覧" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "解像度のリストを短く表示" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "ズーム" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "スキャナーが使うべきズーム値を定義" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "簡易フォーマット" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "光学装置" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "排出" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "ADFの書類を排出する" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "自動排出" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "走査後、書類を排出" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "ADFモード" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "ADFモードの選択(片面、両面)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " "the user defined table, which can be downloaded to the scanner" msgstr "ガンマ補正値を事前定義のデバイスのリストから選択する。" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "焦点位置" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "焦点位置を、ガラス面ないしは、ガラス面から2.5mmの位置に設定" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "ボタンを待つ" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2071,219 +2056,964 @@ msgstr "" "スキャンコマンドを送信後、実際に走査処理が始まる、スキャナーのボタンが押" "されるのをまつ。" -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" msgstr "ポジスライド" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, no-c-format msgid "Negative Slide" msgstr "ネガスライド" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, fuzzy, no-c-format msgid "User defined CCT profile" msgstr "ユーザ定義" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "オン" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "オフ" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "ディザー" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, fuzzy, no-c-format msgid "Diffusion" msgstr "エラー拡散" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "White" msgstr "ホワイトレベル" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, fuzzy, no-c-format msgid "Black" msgstr "黒レベル" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Continue" msgstr "条件付き" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "水平の" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "水平の" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "水平の" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "垂直の" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "垂直の" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Front" msgstr "ADF表面" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, fuzzy, no-c-format msgid "Back" msgstr "ADF裏面" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "網版" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "較正の実行" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "画像強調" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "彩度" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "線画の走査で閾値の自動判定を有効にする" + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "鏡像画像" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "水平に鏡像をとる。" + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "ホワイトレベルの青値" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "赤レベルの制御" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "カラーフィルタ" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "スムージング" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "ガンマ値" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, fuzzy, no-c-format +msgid "Threshold curve" +msgstr "閾値" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "閾値" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "ノイズ除去" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "補正をしない" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "補正をしない" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "ADFのカバーが開いています" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "上級オプション" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "補正をしない" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "取り出し口" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "フィーダーモード" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "ランプをオフにする時間" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "赤オフセット" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "緑オフセット" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "緑オフセット" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "" + +#: backend/fujitsu.c:3967 +#, no-c-format +msgid "Adjust blue/red offset" +msgstr "" + +#: backend/fujitsu.c:3980 +#, fuzzy, no-c-format +msgid "Low Memory" +msgstr "メモリ不足" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "両面スキャン" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "上級オプション" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "ノイズ除去" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "紙から" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "紙から" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "紙から" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "紙から" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, fuzzy, no-c-format +msgid "Scanner in power saving mode" +msgstr "スキャナーのカバーが開いています" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "手動焦点位置" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "手動焦点位置" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "ハードウエアチェックエラー" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "ホワイトレベル" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "濃度制御" + +#: backend/fujitsu.c:4549 +#, fuzzy, no-c-format +msgid "Density dial" +msgstr "濃度制御" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "両面スキャン" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "追加" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, fuzzy, no-c-format -msgid "Threshold curve" -msgstr "閾値" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -2292,44 +3022,44 @@ msgstr "" "水平解像度が垂直解像度より低いような高解像度を使うときは、水平" "interpolationを無効にします。" -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "カラーフィルタ" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "校正" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "較正を「すぐに」実行します" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "較正データのキャッシュ" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "ランプをオフにする時間" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2338,103 +3068,101 @@ msgstr "" "ランプは指定された時間(分)が経過したらオフにされます。値が0のときは、" "この機能は働きません。" -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "ダーク補正時にランプをオフにする" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "走査した後、ランプがオフになるまでの時間(分)" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, no-c-format msgid "File button" msgstr "ファイルボタン" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "OCRボタン" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, no-c-format msgid "Power button" msgstr "電源ボタン" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "電子メールボタン" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "較正のクリア" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "走査前にスキャナの校正を強制する" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "ボタン" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "較正" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, no-c-format msgid "Start calibration using special sheet" msgstr "特殊シートを用いた補正を開始" -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, no-c-format msgid "Clear calibration" msgstr "較正のクリア" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, no-c-format msgid "Clear calibration cache" msgstr "校正キャッシュを消去する" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "透過アダプター" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "グレーモード色" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "どの色を用いてグレーモードを実現するかを選択(既定:緑)" -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "デバッグオプション" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "自動暖機" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2442,12 +3170,12 @@ msgid "" msgstr "" "60秒の暖機時間を使う代わりに、ランプの輝度が一定になるまで暖機します。" -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "全走査" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2456,12 +3184,12 @@ msgstr "" "補正領域を含めて、全領域を走査します。注意:全高を選択しないこと。これは" "テスト用です。" -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "粗校正" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2473,12 +3201,12 @@ msgstr "" "が必要です。このオプションは既定で有効にされています。テスト用途で存在す" "るオプションです。" -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "粗調整を最初の走査だけ行う" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2486,12 +3214,12 @@ msgid "" "different with each scan, disable this option. For testing only." msgstr "" -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2500,83 +3228,83 @@ msgid "" "omitting lines." msgstr "" -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "ガンマ値" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "すべてのチャネルのガンマ値を設定" -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, no-c-format msgid "Geometry Group" msgstr "配置グループ" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format msgid "Scan Mode Group" msgstr "スキャンモードグループ" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "スライド" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, no-c-format msgid "Scanner model" msgstr "スキャナーモデル" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "イメージカラーが反転されます" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, no-c-format msgid "Disable gamma correction" msgstr "ガンマ補正を無効" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, no-c-format msgid "Gamma correction will be disabled" msgstr "ガンマ補正は無効にされます" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, no-c-format msgid "Disable white shading correction" msgstr "ホワイト・シェーディング較正を無効" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "白シャドー補正は無効にされます。" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "暖機プロセスをスキップ" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "暖機プロセスが無効になります" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "真の深度を強制します。" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2587,12 +3315,12 @@ msgstr "" "行われます。それから、選択された色深度に変換されます。このオプションは、" "深度エミュレーションを回避します。" -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, no-c-format msgid "Emulate Grayscale" msgstr "グレースケールのエミュレート" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2603,12 +3331,12 @@ msgstr "" "によって変換されます。これは、一部の環境では、画像品質を高めることがあり" "ます。" -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "デバッグイメージの保存" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " @@ -2616,356 +3344,350 @@ msgid "" msgstr "" "有効になると、スキャナが処理する画像の一部が、分析のために保存されます。" -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, no-c-format msgid "Reset chipset" msgstr "チップセットのリセット" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "チップセットデータをリセット" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, no-c-format msgid "Information" msgstr "情報" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, no-c-format msgid "Chipset name" msgstr "チップセット名" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "装置に使われているチップセット名を表示する。" -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "不明" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "チップセットID" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, no-c-format msgid "Shows the chipset ID" msgstr "チップセットIDを表示" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, no-c-format msgid "Scan counter" msgstr "走査カウンター" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, no-c-format msgid "Shows the number of scans made by scanner" msgstr "スキャナーが行った走査回数を表示します。" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, no-c-format msgid "Update information" msgstr "情報更新" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "装置の情報を更新" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "画像" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "各種" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "オフセットX" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "走査領域のハードウエアの内部X位置" -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "オフセットY" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "走査領域のハードウエア内部Y位置" -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "ランプの状態" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "ランプのオフ/オンを切り替え" -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "白黒レベルを較正" -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "ADF" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, no-c-format msgid "TMA Slides" msgstr "TMAスライド" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, no-c-format msgid "TMA Negatives" msgstr "TMAネガ" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, no-c-format msgid "Color (48 bits)" msgstr "カラー(48ビット)" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, no-c-format msgid "Extend lamp timeout" msgstr "ランプタイムアウトの拡大" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "ボタン待ち" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "上級オプション" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "粗" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "密" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "バイエル" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "カスタム" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "自動" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC方式RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA方式RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "パススルー" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSCのグレー" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "XPAのグレー" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "遅い" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "普通" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "速い" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "超高速" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2ピクセル" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4ピクセル" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8ピクセル" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "印刷" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "フィルムの一片" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "XPA" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "条件付き" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "実験的" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "鮮鋭化" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "鮮鋭化値を設定" -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "自動閾値" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "線画の走査で閾値の自動判定を有効にする" -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "スムージング" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "スムージングフィルタを選択" -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "走査後、メディアを取り出す" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "走査後にメディアを取り出す。" -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "書類を換える。" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "書類を取り換える。" -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "取り出し" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "書類の取り出し" -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "校正プロセスを開始。" -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "メディア" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "メディアの種類を設定" -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "露出時間" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -2974,460 +3696,459 @@ msgid "" "value." msgstr "" -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "カラーマトリックス" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "スキャナーのカラーマトリックスを設定する。" -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "カスタムカラーマトリックス" -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "モノクロ・カラーマトリックス" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "グレースケール走査のカスタム・カラーマトリックス" -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "水平の鏡像" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "水平に鏡像をとる。" -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "垂直鏡像" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "垂直に鏡像をとる。" -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "オプションの更新" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "オプションを更新する。" -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "8ビット出力" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "前面ボタンを待つ" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "" -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "ランプの停止" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "スキャナーのランプを停止する。" -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "紙サイズ" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5横" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "濃度制御モードを設定" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, no-c-format msgid "Manual feed mode" msgstr "" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "手動焦点位置" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "両面走査を有効にする。" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "ADFにある紙の物理サイズ" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "網版" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "カラー" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "条件付き" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "オフ" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "バイエル" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "バイエル" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "網版" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "網版" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, fuzzy, no-c-format msgid "diffusion" msgstr "エラー拡散" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "普通" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "ハイライト" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "フィルムスキャナー" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "紙から" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "既定" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "スムース" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "遅い" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "中" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "赤" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "緑" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "走査源" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "フィーダーモード" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "シート送りモードの設定" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "自動焦点を有効/無効" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "濃度制御モードを設定" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "シート送りモードの設定" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "シート送りモードの設定" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "自動閾値" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3436,556 +4157,543 @@ msgstr "" "自動的に輝度、コントラスト、ホワイトレベル、ガンマ値、ノイズ低減とイメー" "ジ強調を設定する。" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "ノイズ除去" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "画像強調" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "イメージ強調を設定" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "ガンマ" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "ランプをオン" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "ランプのオフ/オンを切り替え" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "垂直に鏡像をとる。" -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "ガンマ補正" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "高密度印刷" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "低密度印刷" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, fuzzy, no-c-format msgid "err_diffusion" msgstr "エラー拡散" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "補正をしない" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "普通" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "増強" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "自動閾値" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "自動閾値" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "フレームの順序を設定" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "青の最小輝度" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "赤を青にシフト" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "ダイアモンド" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "8x8 粗Fatting" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "8x8 微細fatting" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "8x8 バイエル" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8縦の線" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "利得" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "カラーチャネルの利得設定" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "グレー利得" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "グレーチャネル利得を設定" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "赤利得" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "赤チャネル利得を設定" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "緑利得" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "緑チャネル利得を設定" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "青利得" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "青チャネル利得を設定" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "バイエルディザ 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "バイエルディザ 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "ハーフトーンドット32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "ハーフトーンドット64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "エラー拡散" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "モード1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "モード2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "モード3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "白サンプルから" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "スムース" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "低" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "中" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "高" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "CRT" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "1ページ" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "全ページ" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "シートフィーダスキャナー" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "グレースケール4ビット" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "グレースケール8ビット" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "シャドー、ミッドトーン、ハイライト、露光時間" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "特殊オプション" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "カラーバランス" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "バックトラッキングを無効" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "平台のランプ切り替え" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "平台のランプを切り替え" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "バックエンドによる較正" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" msgstr "" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "lightlid-35mmアダプターを使う" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "このオプションは、走査中に平台のランプをオフにします。" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "品質優先走査" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "最高品質だが、スピードは遅い" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "高速走査" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "最高速度だが、品質は低い" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "閾値の自動判定" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -3993,429 +4701,429 @@ msgid "" msgstr "" "もしチェックされると、バックエンドは自動的に最適な閾値を探そうとします。" -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "ガンマ補正モードを選択する。" -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "ガンマ値の比を固定" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "" -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "スカラーガンマ" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "" -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "ガンマ赤スカラー" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "ガンマ緑スカラー" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "ガンマ青スカラー" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "チャネル" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." msgstr "" -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "" -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "" -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "" -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "" -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "赤バランス" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "" -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "緑バランス" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "" -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "青バランス" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "" -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "ファームウエアバランス" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "最遅" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "遅く" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "速く" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "最速" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 粗" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 通常" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 微細" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 通常" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 通常" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 カスタム" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 カスタム" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 カスタム" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 カスタム" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 カスタム" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 カスタム" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "高速グレーモード" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "高速グレーモードで走査(低品質)" -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " "This may be a non-color mode or a low resolution mode." msgstr "すべてのプレビューを最高速モード(低品質)で行うようにする。" -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "ランプオフ時間(分)" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "ランプが停止するまでの時間(分)を設定する" -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "ランプをオフに" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "すぐにランプをオフにする。" -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "赤の輝度" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "取得された画像の赤チャネルの輝度を制御します。" -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "緑の輝度" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "取得された画像の緑チャネルの輝度を制御します。" -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "青の輝度" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "取得された画像の青チャネルの輝度を制御します。" -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "" -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " "40 seconds warm-up time." msgstr "" -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "ネガフィルム" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "ネガ" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, fuzzy, no-c-format msgid "48 bits color" msgstr "高精彩" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "ボタン制御走査" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4423,248 +5131,239 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "ボタン状態の更新" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "ボタン1" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "ボタン2" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "透過性" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "装置設定" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "ランプのスイッチ" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "ランプを手動でオフオンする" -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, no-c-format msgid "Lamp off during dark calibration" msgstr "ダーク補正時にランプをオフにする" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "較正データのキャッシュ" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "" -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, no-c-format msgid "Performs calibration" msgstr "較正の実行" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "センサーをスピードアップ" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "" -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "暖機時間" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "暖機時間を秒で設定。" -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "ランプオフ時間" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "ランプオフ時間を秒で設定。" -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "アナログフロントエンド" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "AFEの赤の利得値" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "赤オフセット" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "AFEの赤のオフセット値" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "AFEの緑の利得値" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "緑オフセット" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "AFEの緑のオフセット値" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "AFEの青の利得値" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "緑ランプをオフ" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "緑ランプオフパラメータを定義" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "青ランプをオフ" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "青ランプオフパラメータを定義" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "" -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "色36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "ディザ マップ1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "ディザ マップ2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "ランダマイズ" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "情報源選択" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "イメージ強調" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "グレー化" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "イメージをグレースケールとして読み込む" -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "3パス シミュレーション" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4673,12 +5372,12 @@ msgstr "" "3つに分割されたフレームを返す3パススキャナーをシミュレートします。おも" "しろ半分に、緑、青そして赤の順序で返します。" -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "ハンドスキャナー シミュレーション" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4690,48 +5389,48 @@ msgstr "" "します。このオプションを設定すると、フロントエンドが正しくそれを扱える" "か、テストします。" -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." msgstr "" -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "ガンマテーブル" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "ステータスコード シミュレーション" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "ステータスコードを強制しない" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "" -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "SANE_STATUS_EOFを返す。" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4740,12 +5439,12 @@ msgstr "" "バックエンドに対し、sane_read()が呼ばれた後に、ステータスコードとして、" "SANE_STATUS_EOFを返すよう強制する。" -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "SANE_STATUS_JAMMEDを返す" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4754,12 +5453,12 @@ msgstr "" "バックエンドに対して、ステータスコードとしてSANE_STATUS_JAMMEDを返すよう" "に強制する。" -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "SANE_STATUS_NO_DOCSを返す" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4768,133 +5467,130 @@ msgstr "" "sane_read()が呼ばれた後、SANE_STATUS_NO_DOCS状態コードを返すようバックエ" "ンドを強制します。" -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "SANE_STATUS_COVER_OPENを返す" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "SANE_STATUS_IO_ERRORを返す" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "SANE_STATUS_NO_MEMを返す" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "SANE_STATUS_ACCESS_DENIEDを返す" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " "after sane_read() has been called." msgstr "" -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "このオプションは、スキャナーボタンの状態を反映します。" -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "ランプをオン" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "スキャナーのランプをオンにする。" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "ランプオフ" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "スキャナーのランプをオフにする。" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "ランプがタイムアウトした" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "走査した後、ランプがオフになるまでの時間(分)" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "線画モードの閾値" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "書類送り装置" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4(インチ)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10(インチ)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11(インチ)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "ハーフトーンはサポートされません" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -4904,27 +5600,27 @@ msgid "" "frontends may stop responding to X events and your system could bog down." msgstr "" -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "走査後、書類を排出" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "プレビューモード" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -4933,121 +5629,121 @@ msgstr "" "プレビューモードを選択。グレースケールプレビューが通常もっともよい速度と" "詳細さを提供します。" -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "事前定義された設定" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " "like." msgstr "写真や印刷物などの標準的な走査領域を提供します。" -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "フラットベッド(平台型)スキャナ" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, fuzzy, no-c-format msgid "Focus-mode" msgstr "焦点" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "自動焦点" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "焦点位置" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "焦点位置" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "ウエブカメラ" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "カラー RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "カラーRGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "カラーRGB TEXT" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "カラーパターン" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "グリッド" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "最初のエントリー" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "2つめのエントリー" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " "display it" msgstr "" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "ハンドスキャナーをシミュレート" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5056,12 +5752,12 @@ msgid "" "option also enables a fixed width of 11 cm." msgstr "" -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "3パスシミュレーション" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5070,34 +5766,34 @@ msgstr "" "3パススキャナーをシミュレート。カラーモードにおいて、3フレームが転送さ" "れる。" -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "フレームの順序を設定" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "3パスカラーモードにおいて、フレームの順序を設定。" -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " "after 10 scans." msgstr "" -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "特殊オプション" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "テスト画像を選択" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5108,12 +5804,12 @@ msgid "" "square." msgstr "" -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "エンディアンを反転" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5121,54 +5817,54 @@ msgid "" "uses the correct endianness." msgstr "" -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "読み取り制限" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "sane_read()の呼び出しごとに転送できるデータ量の制限" -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "読み込み制限サイズ" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." msgstr "各sane_read()における転送できる(最大)データ量" -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "読み取り遅延" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "パイプにデータを転送する遅延" -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "読み取り遅延の大きさ" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "パイプを通して各データのバッファが転送された後、どれくらい待つか。" -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "sane_readの返値" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5176,22 +5872,22 @@ msgid "" "frontend handles them." msgstr "" -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "ラインごとのピクセルの損失" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "" -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "曖昧なパラメータ" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5200,24 +5896,24 @@ msgstr "" "sane_start()を呼び出す前に、sane_parameters()を呼んだときに、曖昧なライン" "やそのラインに対して曖昧なバイトを返す。" -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "ノンブロッキングIOを使う" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "フロントエンドがサポートするときは、sane_read()にノンブロッキングIOを使" "う。" -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "ファイルディスクリプタの選択を提供する" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5226,12 +5922,12 @@ msgstr "" "sane_read()がデータを返すかどうか検出するための、ファイルディスクリプタの" "選択を提供する。" -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "テストオプション有効" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5241,39 +5937,39 @@ msgstr "" "異なるSANEオプションタイプの表示や変更ができるかテストする用途で使われま" "す。" -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "オプション表示" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "すべてのオプションのリストを表示する。" -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " "advanced) capabilities. That's just a normal bool option." msgstr "" -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5281,12 +5977,12 @@ msgid "" "frontend but by the user (e.g. by pressing a button at the device)." msgstr "" -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5294,36 +5990,36 @@ msgid "" "by pressing a button at the device) and can't be read by the frontend." msgstr "" -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " "That means the option is read-only." msgstr "" -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " "(and advanced) capabilities." msgstr "" -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5331,303 +6027,307 @@ msgid "" "backend." msgstr "" -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "" -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " "is 4, maximum 192, and quant is 2." msgstr "" -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " "constraints." msgstr "" -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " "constraint. Minimum is 4, maximum 192, and quant is 2." msgstr "" -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " "list constraint." msgstr "" -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "" -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " "Minimum is -42.17, maximum 32767.9999, and quant is 2.0." msgstr "" -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "" -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "" -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " "entries..." msgstr "" -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "" -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "プレビューモード" + #~ msgid "problem not analyzed (unknown SCSI class)" #~ msgstr "問題が解析できませんでした(不明なSCSIクラス)" diff --git a/po/nb.gmo b/po/nb.gmo new file mode 100644 index 0000000..5ec66f2 Binary files /dev/null and b/po/nb.gmo differ diff --git a/po/nb.po b/po/nb.po index 6ac30d3..84fb1ce 100644 --- a/po/nb.po +++ b/po/nb.po @@ -4,458 +4,452 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.12\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2007-12-17 23:01+0100\n" "Last-Translator: Sigurd Stordal \n" "Language-Team: \n" -"Language: \n" +"Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometri" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Forbedring" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Avansert" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Forvisning" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Fremtving enfarge forvisning" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Bit dybde" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Skanhastighet" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Skankilde" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Topp-venstre x" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Topp-venstre y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Bunn-høyre x" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Bunn-høyre y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Skanoppløsning" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "X-oppløsning" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Y-oppløsning" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, no-c-format msgid "Page height" msgstr "" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Kontrast" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Kornstørrelse" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Svartnivå" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Hvitnivå" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Hvitnivå for rød" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Hvitnivå for grønn" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Hvitnivå for blå" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Skygge" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Skygge for rød" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Skygge for grønn" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Skygge for blå" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Filnavn" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Kvalitets kalibrering" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Dobble Optisk Oppløsning" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Varmopp lampe" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Lampen slås av ved avslutning" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " "supports." msgstr "" -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, fuzzy, no-c-format msgid "Source, mode and resolution options" msgstr "Kort liste over oppløsninger" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, no-c-format msgid "Image modification options" msgstr "" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, fuzzy, no-c-format msgid "Hardware specific options" msgstr "Skanoppløsning" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "" -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -463,87 +457,87 @@ msgid "" "scanner, it reduces the memory requirements and scan-time of the preview." msgstr "" -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " "for multibit scans." msgstr "" -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "" -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Velger skan kilde (slik som arkmater)" -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "" -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "venstre topp x posisjon av skan-areal" -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Venstre topp y posisjon av skan-areal" -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Høyre bunn x posisjon av skan-areal" -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Høyre bunn y posisjon av skan-areal" -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "" -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "" -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "" -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " "sheet-fed scans." msgstr "" -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, no-c-format msgid "Specifies the height of the media." msgstr "" -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." msgstr "" -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -551,423 +545,423 @@ msgid "" "gamma table)." msgstr "" -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "" -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "" -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "" -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "" -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "" -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " "in sharper images." msgstr "" -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." msgstr "" -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." msgstr "" -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "" -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " "when acquiring an image with a camera. Larger values cause more blooming." msgstr "" -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Filnavnet på bildet som skal lastes opp" -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " "halftoned images." msgstr "" -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." msgstr "" -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Bruk samme verdier for X og Y oppløsning" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Bytt svart og hvitt" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Foreta en kvalitets hvit-kalibrering" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Bruk linser som dobbler den optiske oppløsningen" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Varm opp lampen før skanning" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Slå av lampen når programmet avslutter" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, fuzzy, no-c-format msgid "Scan button" msgstr "Skanoppløsning" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, fuzzy, no-c-format msgid "Email button" msgstr "Vent på knappen" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, fuzzy, no-c-format msgid "Fax button" msgstr "Vent på knappen" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, fuzzy, no-c-format msgid "Copy button" msgstr "Vent på knappen" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, fuzzy, no-c-format msgid "Cover open" msgstr "Fargemønster" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Farge" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Fargestrektegning" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Grå" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Strektegning" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, no-c-format msgid "Operation not supported" msgstr "" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, fuzzy, no-c-format msgid "Document feeder jammed" msgstr "Dokumentmater" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, fuzzy, no-c-format msgid "Document feeder out of documents" msgstr "Dokumentmater" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Standard" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Velg standard verdier for kontroll av forbedring" -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Kalibrering" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Kalibrer før neste scan" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " "Otherwise, calibration is performed only before the first start." msgstr "" -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Bare utfør skygge-korrigering" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -975,1081 +969,1072 @@ msgid "" "or from the configuration file, are used." msgstr "" -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Knappstatus" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Rammenummer å skanne" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Velger rammenummer å skanne" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, fuzzy, no-c-format msgid "Duplex scan" msgstr "Full skan" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, fuzzy, no-c-format msgid "Calibrate Scanner" msgstr "Kalibrering" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, fuzzy, no-c-format msgid "Force scanner calibration before scan" msgstr "Grov kalibrering kun for første skan" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Gråskala scan" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Gjør et gråskala heller enn farge scan" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Gamma korreksjon" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Velger den gamma korrigerte overførsels kurven" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, fuzzy, no-c-format msgid "No transparency correction" msgstr "Farge korreksjon" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, fuzzy, no-c-format msgid "Negatives" msgstr "Negativ" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, fuzzy, no-c-format msgid "Slides" msgstr "Treigest" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automatisk" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, fuzzy, no-c-format msgid "Normal speed" msgstr "Skanhastighet" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Gammaverdi" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Filmtype" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Negativ Film" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, fuzzy, no-c-format msgid "Selects the negative film type" msgstr "Velger rammenummer å skanne" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, fuzzy, no-c-format msgid "Hardware resolution" msgstr "Skanoppløsning" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, fuzzy, no-c-format msgid "Use only hardware resolutions" msgstr "Vis kort liste over oppløsninger" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, fuzzy, no-c-format msgid "Auto focus" msgstr "Automatisk utløsning" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, fuzzy, no-c-format msgid "Manual focus position" msgstr "Fokuseringposisjon" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Speilbilde" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, fuzzy, no-c-format msgid "Mirror the image horizontally" msgstr "Speilbilde" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, fuzzy, no-c-format msgid "Auto exposure" msgstr "Automatisk utløsning" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Kalibrering" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Kvalitets kalibrering" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "Raskt skan" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, fuzzy, no-c-format msgid "Eject film after each scan" msgstr "Løs ut dokoment etter skanning" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, fuzzy, no-c-format msgid "Document feeder extras" msgstr "Dokumentmater" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, fuzzy, no-c-format msgid "Negative film" msgstr "Negativ Film" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Lysbilde Film" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, fuzzy, no-c-format msgid "Select film type" msgstr "Filmtype" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, no-c-format msgid "Card Front" msgstr "" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, no-c-format msgid "Card Duplex" msgstr "" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Rød" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Grønn" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Blå" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Forbedring" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Forbedring" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Forbedring" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Ingen" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Lysbilde Film" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Negativ Film" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Fokuser på glasset" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Fokuser 2.5mm over glasset" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Tekst Fremhevings Teknologi" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Last ned mønster A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Last ned mønster B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Ingen korrigering" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Brukerdefinert" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Blekkskrivere" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Standard" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Høy densitets utskrift" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "lav densitets utskrift" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Høy kontrasts utskrift" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Brukerdefinert (Gamma=1.0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Brukerdefinert (Gamma=1.8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 portrett" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 landskap" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Maks" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "" -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "" -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "" -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Skarphet" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Farge korreksjon" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Farge korreksjons koeffisienter" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Kontrollerer grønn-nivå" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Legger til rødt basert på grønn-nivå" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Legger til blått basert på grønn-nivå" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Legger til grønt basert på rød-nivå" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Kontrollerer rød-nivå" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Legger til blått basert på rød-nivå" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Legger til grønt basert på blå-nivå" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Legger til rødt basert på blå-nivå" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Kontrollerer blå-nivå" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Speil bildet" -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Rask forvisning" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Automatisk oppdeling av areal i delareal" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Kort liste over oppløsninger" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Vis kort liste over oppløsninger" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Tilleggsutstyr" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Utløs" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Utløs arket i ADF" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Automatisk utløsning" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Løs ut dokoment etter skanning" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " "the user defined table, which can be downloaded to the scanner" msgstr "" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Fokuseringposisjon" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Vent på knappen" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2058,390 +2043,1133 @@ msgstr "" "Etter at kommandoen for skan er sendt, vent til skannerens knapp " "ertrykket før skanings prossesen startes." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, fuzzy, no-c-format msgid "Positive Slide" msgstr "Lysbilde Film" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, fuzzy, no-c-format msgid "Negative Slide" msgstr "Negativ Film" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, fuzzy, no-c-format msgid "User defined CCT profile" msgstr "Brukerdefinert" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, no-c-format msgid "Diffusion" msgstr "" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "White" msgstr "Hvitnivå" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, fuzzy, no-c-format msgid "Black" msgstr "Svartnivå" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, no-c-format msgid "Continue" msgstr "" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, no-c-format msgid "Horizontal bold" msgstr "" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, no-c-format msgid "Horizontal narrow" msgstr "" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, no-c-format msgid "Vertical bold" msgstr "" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, no-c-format msgid "Front" msgstr "" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, no-c-format +msgid "Halftone type" +msgstr "" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Grov kalibrering" + +#: backend/fujitsu.c:3221 +#, no-c-format +msgid "Emphasis" +msgstr "" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Kalibrering" + +#: backend/fujitsu.c:3241 +#, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "" + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Speilbilde" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Speilbilde" + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Hvitnivå for blå" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Kontrollerer rød-nivå" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Fargestrektegning" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Gammaverdi" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, no-c-format +msgid "Threshold white" +msgstr "" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Støyreduksjon" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Ingen korrigering" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Ingen korrigering" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, no-c-format +msgid "DF recovery mode" +msgstr "" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Spesielle valg" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Ingen korrigering" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Lampe på" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, no-c-format +msgid "Buffer mode" +msgstr "" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Lampe av" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Lampe av" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, fuzzy, no-c-format +msgid "Green offset" +msgstr "Lampe av" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Lampe av" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, fuzzy, no-c-format +msgid "Blue offset" +msgstr "Lampe av" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Kontrast blåkanal" + +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Full skan" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Spesielle valg" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Støyreduksjon" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "Fra papir" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "Fra papir" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "Fra papir" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "Fra papir" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Manuell førfokus" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Manuell førfokus" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "Skanoppløsning" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Hvitnivå" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "lav densitets utskrift" + +#: backend/fujitsu.c:4549 +#, no-c-format +msgid "Density dial" +msgstr "" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Full skan" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, no-c-format -msgid "Threshold curve" -msgstr "" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Fargestrektegning" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrering" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Kvalitets kalibrering" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibrering" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, fuzzy, no-c-format msgid "Lamp off time" msgstr "Lampe av" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Grov kalibrering" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, fuzzy, no-c-format msgid "File button" msgstr "Vent på knappen" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, fuzzy, no-c-format msgid "Power button" msgstr "Vent på knappen" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Vent på knappen" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Grov kalibrering" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Grov kalibrering kun for første skan" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, fuzzy, no-c-format msgid "Buttons" msgstr "Knappstatus" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, fuzzy, no-c-format msgid "Calibrate" msgstr "Kalibrering" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Grov kalibrering" -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Grov kalibrering" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Kalibrering" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatisk oppvarming" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " "60 seconds warm-up time." msgstr "" -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Full skan" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " "Don't select the full height. For testing only." msgstr "" -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Grov kalibrering" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2449,12 +3177,12 @@ msgid "" "are provided. This option is enabled by default. For testing only." msgstr "" -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Grov kalibrering kun for første skan" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2462,12 +3190,12 @@ msgid "" "different with each scan, disable this option. For testing only." msgstr "" -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2476,83 +3204,83 @@ msgid "" "omitting lines." msgstr "" -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gammaverdi" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "" -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, fuzzy, no-c-format msgid "Geometry Group" msgstr "Geometri" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format msgid "Scan Mode Group" msgstr "" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, no-c-format msgid "Scanner model" msgstr "" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, fuzzy, no-c-format msgid "Disable gamma correction" msgstr "Gamma korreksjon" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, fuzzy, no-c-format msgid "Gamma correction will be disabled" msgstr "Gamma korreksjon" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, fuzzy, no-c-format msgid "Disable white shading correction" msgstr "Bare utfør skygge-korrigering" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2560,12 +3288,12 @@ msgid "" "avoids depth emulation." msgstr "" -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, fuzzy, no-c-format msgid "Emulate Grayscale" msgstr "Gråskala" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2573,368 +3301,362 @@ msgid "" "circumstances." msgstr "" -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " "analyze them." msgstr "" -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, fuzzy, no-c-format msgid "Reset chipset" msgstr "Raskt skan" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, fuzzy, no-c-format msgid "Information" msgstr "Se bort fra kalibrering" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, fuzzy, no-c-format msgid "Chipset name" msgstr "Filnavn" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "" -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, fuzzy, no-c-format msgid "Shows the chipset ID" msgstr "Raskt skan" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, fuzzy, no-c-format msgid "Scan counter" msgstr "Skankilde" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, fuzzy, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Velger rammenummer å skanne" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, fuzzy, no-c-format msgid "Update information" msgstr "Spesielle valg" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, fuzzy, no-c-format msgid "offset X" msgstr "Lampe av" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, fuzzy, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "venstre topp x posisjon av skan-areal" -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, fuzzy, no-c-format msgid "offset Y" msgstr "Lampe av" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, fuzzy, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "venstre topp x posisjon av skan-areal" -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "" -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "" -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Treigest" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Negativ" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Farge 48" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Lampe av" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Vent på knappen" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, fuzzy, no-c-format msgid "Waits for button before scanning" msgstr "Varm opp lampen før skanning" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, fuzzy, no-c-format msgid "Advanced Options" msgstr "Spesielle valg" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Grov" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Fin" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Valgfri" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Automatisk" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSC-grå" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "XPA-grå" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Treig" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Rask" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, fuzzy, no-c-format msgid "Film-strip" msgstr "Filmtype" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, fuzzy, no-c-format msgid "Sharpening" msgstr "Skarphet" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "" -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "" -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, fuzzy, no-c-format msgid "Unloads the media after a scan." msgstr "Last bildet som gråskala" -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, fuzzy, no-c-format msgid "Change document" msgstr "Forbedring" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "" -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "" -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, fuzzy, no-c-format msgid "Start calibration process." msgstr "Grov kalibrering" -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, fuzzy, no-c-format msgid "Media" msgstr "Middels" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "" -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -2943,1448 +3665,1434 @@ msgid "" "value." msgstr "" -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, fuzzy, no-c-format msgid "Color Matrix" msgstr "Fargemønster" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, fuzzy, no-c-format msgid "Set the scanners color matrix." msgstr "Kontrast rødkanal" -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "" -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, fuzzy, no-c-format msgid "Mono Color Matrix" msgstr "Fargemønster" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "" -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, fuzzy, no-c-format msgid "Mirror horizontal" msgstr "Speilbilde" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, fuzzy, no-c-format msgid "Mirror image horizontally." msgstr "Speilbilde" -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, fuzzy, no-c-format msgid "Mirror vertical" msgstr "Speilbilde" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, fuzzy, no-c-format msgid "Mirror image vertically." msgstr "Speilbilde" -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, fuzzy, no-c-format msgid "Update options" msgstr "Spesielle valg" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, fuzzy, no-c-format msgid "Update options." msgstr "Spesielle valg" -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "" -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Slå av skanner lampen." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Papirstørrelse" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 landskap" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Manuell førfokus" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Manuell førfokus" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Fysisk størrelse av papir i ADF" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, no-c-format msgid "halftone" msgstr "" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Farge" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" msgstr "" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, no-c-format msgid "off" msgstr "" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, no-c-format msgid "halftone_32" msgstr "" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, no-c-format msgid "halftone_64" msgstr "" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, no-c-format msgid "diffusion" msgstr "" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, no-c-format msgid "normal" msgstr "" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, no-c-format msgid "light" msgstr "" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "Fra papir" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Fra papir" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Standard" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, no-c-format msgid "smooth" msgstr "" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Treig" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Middels" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Rød" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Grønn" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Skankilde" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, no-c-format msgid "Enable/Disable long paper mode" msgstr "" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, no-c-format msgid "Enable/Disable length control mode" msgstr "" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Velger måten å foreta gamma korreksjon på" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " "reduction and image emphasis" msgstr "" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Støyreduksjon" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Lampe på" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Speilbilde" -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Gamma korreksjon" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "Høy densitets utskrift" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "lav densitets utskrift" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, no-c-format msgid "err_diffusion" msgstr "" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Ingen korrigering" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Skanhastighet" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Forbedring" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Automatisk oppvarming" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Velger måten å foreta gamma korreksjon på" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, no-c-format msgid "Set chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Skygge for blå" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Skygge for blå" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamant" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, fuzzy, no-c-format msgid "Gray gain" msgstr "Grønn" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, fuzzy, no-c-format msgid "Sets gray channel gain" msgstr "Kontrast grønnkanal" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, fuzzy, no-c-format msgid "Red gain" msgstr "Rødbalanse" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, fuzzy, no-c-format msgid "Sets red channel gain" msgstr "Kontrast rødkanal" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, fuzzy, no-c-format msgid "Green gain" msgstr "Grønn" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, fuzzy, no-c-format msgid "Sets green channel gain" msgstr "Kontrast grønnkanal" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, fuzzy, no-c-format msgid "Blue gain" msgstr "Blå" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, fuzzy, no-c-format msgid "Sets blue channel gain" msgstr "Kontrast blåkanal" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Lav" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Middels" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Høy" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "En side" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Alle sider" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "Gråskala 4 bits" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "Gråskala 8 bits" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Spesielle valg" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Fargebalanse" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" msgstr "" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Kvalitetsskan" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Høyest kvalitet men laver hastighet" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Raskt skan" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Høyest hastighet men lavest kvalitet" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " "for the threshold." msgstr "" -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Velger måten å foreta gamma korreksjon på" -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Bruk samme gamma verdi for alle farge kanalene" -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "" -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Kanal" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." msgstr "" -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "" -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "" -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "" -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "" -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Rødbalanse" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "" "Balansefaktor for rødt. Med en verdi på 100 % menes ingen korreksjon" -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Grønnbalanse" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "" "Balansefaktor for grønt. Med en verdi på 100% menes ingen korreksjon" -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Blåbalanse" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "" "Balansefaktor for blått. Med en verdi på 100% menes ingen korreksjon" -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Treigest" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Treigere" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Raskere" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Raskest" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 grov" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 fin" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 veldig fin" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 grov" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 fin" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 grov" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 fin" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 valgfri" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 valgfri" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 valgfri" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 valgfri" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 valgfri" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 valgfri" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "" -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " "This may be a non-color mode or a low resolution mode." msgstr "" -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, fuzzy, no-c-format msgid "Lamp off time (minutes)" msgstr "Varmopp lampe" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, fuzzy, no-c-format msgid "Turn lamp off" msgstr "Lampe av" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "" -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, fuzzy, no-c-format msgid "Green brightness" msgstr "Grønnbalanse" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Kontrast rødkanal" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Kontrast grønnkanal" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrast blåkanal" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "" -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Farge 48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Farge 24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Grå 16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Grå 8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, fuzzy, no-c-format msgid "Positive" msgstr "Lysbilde Film" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " "40 seconds warm-up time." msgstr "" -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negativ Film" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativ" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, no-c-format msgid "48 bits color" msgstr "" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4392,260 +5100,251 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, fuzzy, no-c-format msgid "Update button state" msgstr "Knappstatus" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, fuzzy, no-c-format msgid "Button 1" msgstr "Knappstatus" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, fuzzy, no-c-format msgid "Button 2" msgstr "Knappstatus" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "" -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, fuzzy, no-c-format msgid "Lamp off during dark calibration" msgstr "Grov kalibrering" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, fuzzy, no-c-format msgid "Calibration data cache" msgstr "Kalibrering" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "" -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, fuzzy, no-c-format msgid "Performs calibration" msgstr "Grov kalibrering" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "" -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, fuzzy, no-c-format msgid "Warmup-time" msgstr "Varmopp lampe" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, fuzzy, no-c-format msgid "Warmup-time in seconds." msgstr "Varmopp lampe" -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, fuzzy, no-c-format msgid "Lampoff-time" msgstr "Lampe av" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, fuzzy, no-c-format msgid "Lampoff-time in seconds." msgstr "Varmopp lampe" -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, fuzzy, no-c-format msgid "Red offset" msgstr "Lampe av" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, fuzzy, no-c-format -msgid "Green offset" -msgstr "Lampe av" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, fuzzy, no-c-format -msgid "Blue offset" -msgstr "Lampe av" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, fuzzy, no-c-format msgid "Red lamp off" msgstr "Lampe av" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, fuzzy, no-c-format msgid "Green lamp off" msgstr "Lampe av" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, fuzzy, no-c-format msgid "Blue lamp off" msgstr "Lampe av" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "" -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Farge 36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Valg av kilde" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Last bildet som gråskala" -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Trepass simulering" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " "kicks, it returns green, then blue, then red." msgstr "" -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Håndskanner simulering" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4653,205 +5352,202 @@ msgid "" "option allows one to test whether a frontend can handle this correctly." msgstr "" -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." msgstr "" -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Status Kode Simulering" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Ikke fremtving status kode" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "" -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " "after sane_read() has been called." msgstr "" -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "" -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Lampe på" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Slå på skanner lampen" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Lampe av" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Slå av skanner lampen" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, fuzzy, no-c-format msgid "Lamp timeout" msgstr "Lampe av" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Dokumentmater" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -4861,148 +5557,148 @@ msgid "" "frontends may stop responding to X events and your system could bog down." msgstr "" -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Løs ut dokoment etter skanning" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " "combination of speed and detail." msgstr "" -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " "like." msgstr "" -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "Fra papir" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, no-c-format msgid "Focus-mode" msgstr "" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Automatisk utløsning" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Fokuseringposisjon" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Fokuseringposisjon" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Farge RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Farge RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Farge RGB TEKST" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Fargemønster" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " "display it" msgstr "" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5011,46 +5707,46 @@ msgid "" "option also enables a fixed width of 11 cm." msgstr "" -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " "transmitted." msgstr "" -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "" -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " "after 10 scans." msgstr "" -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5061,12 +5757,12 @@ msgid "" "square." msgstr "" -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5074,54 +5770,54 @@ msgid "" "uses the correct endianness." msgstr "" -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." msgstr "" -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "" -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "" -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5129,95 +5825,95 @@ msgid "" "frontend handles them." msgstr "" -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "" -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " "before sane_start()." msgstr "" -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " "data." msgstr "" -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " "frontends to view and modify all the different SANE option types." msgstr "" -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "" -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " "advanced) capabilities. That's just a normal bool option." msgstr "" -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5225,12 +5921,12 @@ msgid "" "frontend but by the user (e.g. by pressing a button at the device)." msgstr "" -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5238,36 +5934,36 @@ msgid "" "by pressing a button at the device) and can't be read by the frontend." msgstr "" -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " "That means the option is read-only." msgstr "" -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " "(and advanced) capabilities." msgstr "" -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5275,299 +5971,299 @@ msgid "" "backend." msgstr "" -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "" -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " "is 4, maximum 192, and quant is 2." msgstr "" -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " "constraints." msgstr "" -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " "constraint. Minimum is 4, maximum 192, and quant is 2." msgstr "" -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " "list constraint." msgstr "" -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "" -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " "Minimum is -42.17, maximum 32767.9999, and quant is 2.0." msgstr "" -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "" -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "" -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " "entries..." msgstr "" -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "" -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Farge 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Bruk Bilde Komposisjon" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Tonivå svart og hvitt (strektegningmodus)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Flernivå svart og hvitt (gråskalamodus)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Flernivå RGB farge (en omgangs farge)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Se bort fra kalibrering" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Ikke kalibrer fokus" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Manuell førfokus" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, fuzzy, no-c-format msgid "Gray offset" msgstr "Lampe av" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, fuzzy, no-c-format msgid "Sets gray channel offset" msgstr "Kontrast grønnkanal" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, fuzzy, no-c-format msgid "Sets red channel offset" msgstr "Kontrast rødkanal" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, fuzzy, no-c-format msgid "Sets green channel offset" msgstr "Kontrast grønnkanal" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, fuzzy, no-c-format msgid "Sets blue channel offset" msgstr "Kontrast blåkanal" diff --git a/po/nl.gmo b/po/nl.gmo new file mode 100644 index 0000000..78ec2e1 Binary files /dev/null and b/po/nl.gmo differ diff --git a/po/nl.po b/po/nl.po index 39c40ff..98c8aef 100644 --- a/po/nl.po +++ b/po/nl.po @@ -4,429 +4,421 @@ # Martin Kho , 2003, 2009. # Bertrik Sikken , 2003. # Martin Kho , 2010. -# Martin Kho , 2011, 2012, 2013, 2015. +# Martin Kho , 2011, 2012, 2013, 2015, 2017. msgid "" msgstr "" "Project-Id-Version: sane-backends.nl\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-24 23:43+0200\n" -"PO-Revision-Date: 2015-09-28 15:48+0200\n" -"Last-Translator: Martin Kho \n" -"Language-Team: American English \n" -"Language: nl_NL\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"PO-Revision-Date: 2017-05-19 17:02+0100\n" +"Last-Translator: Martin Kho \n" +"Language-Team: English \n" +"Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.5\n" +"X-Generator: Lokalize 2.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Aantal opties" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "Standaard" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometrie" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Kleurverbetering" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Gevorderd" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "Sensoren" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Voorbeeldscan" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Dwing monochroom voorbeeldscan" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Bitdiepte" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Scanmodus" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Scansnelheid" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Scanbron" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Dwing \"backtracking\"" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Linksboven x" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Linksboven y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Rechtsonder x" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Rechtsonder y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Scanresolutie" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "X-resolutie" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Y-resolutie" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "Pagina breedte" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, no-c-format msgid "Page height" msgstr "Pagina hoogte" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Gebruik door de gebruiker gedefinieerde gammatabel" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Beeldintensiteit" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Rode intensiteit" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Groene intensiteit" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Blauwe intensiteit" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Helderheid" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Contrast" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Korrelgrootte" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Halftoonmodus" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Zwartwaarde" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Witwaarde" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Witwaarde voor rood" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" -msgstr "" -"Witwaarde " -"voor groen" +msgstr "Witwaarde voor groen" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Witwaarde voor blauw" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Schaduw" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Schaduw voor rood" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Schaduw voor groen" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Schaduw voor blauw" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Lichteffect" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Lichteffect voor rood" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Lichteffect voor groen" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Lichteffect voor blauw" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Tint" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Kleurverzadiging" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Bestandsnaam" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Grootte van het halftoonpatroon" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Halftoonpatroon" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Combineer X- en Y-resolutie" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negatief" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Kwaliteit kalibreren" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Dubbele optische resolutie" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Combineer RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Drempelwaarde" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Analoge gammacorrectie" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Analoge gammawaarde rood" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Analoge gammawaarde groen" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Analoge gammawaarde blauw" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Combineer analoge gammawaarde" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Lamp opwarmen" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Belichtingstijd kalibreren" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Belichtingstijd kalibreren voor rood" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Belichtingstijd kalibreren voor groen" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Belichtingstijd kalibreren voor blauw" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Belichtingstijd voor het scannen" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Belichtingstijd voor het scannen van rood" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Belichtingstijd voor het scannen van groen" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Belichtingstijd voor het scannen van blauw" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Stel belichtingstijd in" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Lichtwaarde kalibreren" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Lichtwaarde bij het scannen" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Stel lichtwaarde in" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Lamp aan het einde uitschakelen" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -434,49 +426,49 @@ msgid "" msgstr "" "Alleen-lezen optie, die aangeeft hoeveel opties een apparaat ondersteunt." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, no-c-format msgid "Source, mode and resolution options" msgstr "Opties voor bron, modus en resolutie" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "Opties voor scanoppervlak en origineelgrootte" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, no-c-format msgid "Image modification options" msgstr "Opties voor beeldaanpassing" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, no-c-format msgid "Hardware specific options" msgstr "Hardware specifieke opties" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "Scannersensoren en -knoppen" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Verzoek om een scan in voorbeeldkwaliteit." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " "scanner this cuts down the number of passes to one and on a one-pass " "scanner, it reduces the memory requirements and scan-time of the preview." msgstr "" -"Legt vast dat alle voorbeeldscans in grijswaardemodus worden " -"uitgevoerd. Bij een Three-Pass-Scanner is daardoor slechts één doorgang " -"nodig, bij een Single-Pass-Scanner wordt het geheugengebruik en de " -"scantijd verminderd." +"Legt vast dat alle voorbeeldscans in grijswaardemodus worden uitgevoerd. " +"Bij een Three-Pass-Scanner is daardoor slechts één doorgang nodig, bij " +"een Single-Pass-Scanner wordt het geheugengebruik en de scantijd " +"verminderd." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -485,62 +477,62 @@ msgstr "" "Aantal bits per kleurwaarde, typische waarden zijn 1 voor zwart/wit en 8 " "voor multibit-scans." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "Kiest de scanmodus (b.v. zwart/wit, monochroom of kleur)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Bepaald de snelheid waarmee wordt gescand." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Selecteert de scanbron (zoals b.v. een documentendoorvoer)." -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Regelt dat \"backtracking\" wordt gebruikt." -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Linksboven x positie van het scanoppervlak." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Linksboven y positie van het scanoppervlak." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Rechtsonder x positie van het scanoppervlak." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Rechtsonder y positie van het scanoppervlak." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Stelt de resolutie in van het gescande beeld." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Stelt de horizontale resolutie in van het gescande beeld." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Stelt de verticale resolutie in van het gescande origineel." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " @@ -549,19 +541,20 @@ msgstr "" "Bepaalt de breedte van het origineel. Nodig om doorvoerscans automatisch " "te kunnen centreren." -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, no-c-format msgid "Specifies the height of the media." msgstr "Bepaalt de hoogte van het origineel." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format -msgid "Determines whether a builtin or a custom gamma-table should be used." +msgid "" +"Determines whether a builtin or a custom gamma-table should be used." msgstr "" "Bepaalt of de interne of de door de gebruiker gedefinieerde gammatabel " "wordt gebruikt." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -569,35 +562,35 @@ msgid "" "gamma table)." msgstr "" "Gammacorrectietabel. In kleurmodus beïnvloedt deze optie tegelijkertijd " -"de rode, groene en blauwe kleurcomponenten. (d.w.z. Het is een helderheids-" -"gammatabel)." +"de rode, groene en blauwe kleurcomponenten. (d.w.z. Het is een " +"helderheids-gammatabel)." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Gammacorrectietabel voor de rode component." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Gammacorrectietabel voor de groene component." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Gammacorrectietabel voor de blauwe component." -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Regelt de helderheid van het verkregen beeld." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Regelt het contrast van het verkregen beeld." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -606,84 +599,89 @@ msgstr "" "Bepaalt de \"gekorreldheid\" van het verkregen beeld. Kleine waarden " "zorgen voor een scherper beeld." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "Bepaalt of een halftoon beeld (dithered) wordt verkregen." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." -msgstr "Bepaalt welke helderheidswaarde als \"zwart\" moet worden beschouwd." +msgstr "" +"Bepaalt welke helderheidswaarde als \"zwart\" moet worden beschouwd." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "Bepaalt welke helderheidswaarde als \"wit\" moet worden beschouwd." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" "Bepaalt welke rode helderheidswaarde als \"wit\" moet worden beschouwd." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" "Bepaalt welke groene helderheidswaarde als \"wit\" moet worden beschouwd." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" "Bepaalt welke blauwe helderheidswaarde als \"wit\" moet worden beschouwd." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" "Bepaalt welke rode helderheidswaarde als \"zwart\" moet worden beschouwd." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" -"Bepaalt welke groene helderheidswaarde als \"zwart\" moet worden beschouwd." +"Bepaalt welke groene helderheidswaarde als \"zwart\" moet worden " +"beschouwd." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" -"Bepaalt welke blauwe helderheidswaarde als \"zwart\" moet worden beschouwd." +"Bepaalt welke blauwe helderheidswaarde als \"zwart\" moet worden " +"beschouwd." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Bepaalt welke rode helderheidswaarde als \"verzadigd rood\" moet worden " "beschouwd." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format -msgid "Selects what green radiance level should be considered \"full green\"." +msgid "" +"Selects what green radiance level should be considered \"full green\"." msgstr "" -"Bepaalt welke groene helderheidswaarde als \"verzadigd groen\" moet worden " -"beschouwd." +"Bepaalt welke groene helderheidswaarde als \"verzadigd groen\" moet " +"worden beschouwd." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format -msgid "Selects what blue radiance level should be considered \"full blue\"." +msgid "" +"Selects what blue radiance level should be considered \"full blue\"." msgstr "" -"Bepaalt welke blauwe helderheidswaarde als \"verzadigd blauw\" moet worden " -"beschouwd." +"Bepaalt welke blauwe helderheidswaarde als \"verzadigd blauw\" moet " +"worden beschouwd." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Regelt de \"tint\" (blauwwaarde) van het verkregen beeld." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -692,12 +690,12 @@ msgstr "" "De verzadigingsgraad bepaalt de \"kleuring\" van een met een camera " "opgenomen beeld. Hogere waarden zorgen voor een sterkere kleuring." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "De bestandsnaam van het te scannen beeld." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -706,295 +704,297 @@ msgstr "" "Stelt het halftoon patroon (dithering) in dat wordt gebruikt om halftoon " "beelden te scannen." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." msgstr "" -"Definieert het halftoon patroon (dithering) waarmee halftoon beelden worden " -"gescand." +"Definieert het halftoon patroon (dithering) waarmee halftoon beelden " +"worden gescand." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Gebruik dezelfde waarden voor X en Y resoluties." -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Verwissel zwart en wit (inverteren)." -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Voer een kwaliteit wit-kalibratie uit" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Gebruik de lens waarmee de optische resolutie wordt verdubbeld." -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "Gebruik in RGB-modus voor alle kleuren dezelfde waarden" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Kiest de minimale helderheid waarmee witte punt wordt verkregen" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Analoge gammacorrectie" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Analoge gammacorrectie voor rood" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Analoge gammacorrectie voor groen" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Analoge gammacorrectie voor blauw" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Warm de lamp op alvorens te scannen" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Bepaal de belichtingstijd voor de kalibratie" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Bepaal de belichtingstijd voor de kalibratie van de rode component" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" -msgstr "Bepaal de belichtingstijd voor de kalibratie van de groene component" +msgstr "" +"Bepaal de belichtingstijd voor de kalibratie van de groene component" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" -msgstr "Bepaal de belichtingstijd voor de kalibratie van de blauwe component" +msgstr "" +"Bepaal de belichtingstijd voor de kalibratie van de blauwe component" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Bepaal de belichtingstijd voor de scan" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Bepaal de belichtingstijd voor de scan van de rode component" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Bepaal de belichtingstijd voor de scan van de groene component" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Bepaal de belichtingstijd voor de scan van de blauwe component" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Schakelt de instelling van de belichtingstijd in" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Bepaal de lichthoeveelheid waarmee wordt gekalibreerd" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Bepaal de lichthoeveelheid waarmee wordt gescand" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Schakelt de instelling van de lichthoeveelheid in" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Schakel de lamp uit als het programma wordt verlaten" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, no-c-format msgid "Scan button" msgstr "Scan-knop" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, no-c-format msgid "Email button" msgstr "E-mail-knop" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, no-c-format msgid "Fax button" msgstr "Fax-knop" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, no-c-format msgid "Copy button" msgstr "Kopieer-knop" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "PDF-knop" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "Annuleer-knop" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "Pagina geladen" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, no-c-format msgid "Cover open" msgstr "Deksel open" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Kleur" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Kleur lijntekening" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Kleur Halftoon" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Grijs" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Halftoon" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Lijntekening" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "Succes" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, no-c-format msgid "Operation not supported" msgstr "Handeling niet ondersteund" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "Handeling was geannuleerd" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "Apparaat is bezet" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "Ongeldige waarde" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "Eind van bestand bereikt" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, no-c-format msgid "Document feeder jammed" msgstr "Opstopping in documentendoorvoer" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, no-c-format msgid "Document feeder out of documents" msgstr "Documentendoorvoer leeg" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "Deksel van de scanner is open" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "Fout tijdens apparaat I/O" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "Geheugen vol" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "Toegang tot bron is geweigerd" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "Lamp niet klaar, probeer opnieuw" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "Scannerwagen geblokkeerd (in transportstand)" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Standaardinstellingen" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Stel standaardwaarden in om verbeteropties te krijgen." -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Kalibreren" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Voor de volgende scan kalibreren" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -1004,12 +1004,12 @@ msgstr "" "gekalibreerd. Anders wordt de scanner alleen voor de eerste scan " "gekalibreerd." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Voer alleen een schaduwcorrectie uit" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1021,1058 +1021,1054 @@ msgstr "" "belichtingstijd bepaald door de hardware of het configuratiebestand, " "worden gebruikt." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Status van de knop" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Nummer van het te scannen scannerraam" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Kiest het nummer van het te scannen scannerraam" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "Dubbelzijdige scan" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format -msgid "Duplex scan provide a scan of the front and back side of the document" +msgid "" +"Duplex scan provide a scan of the front and back side of the document" msgstr "Dubbelzijdige scan scant beide zijden van een document" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Kalibreer scanner" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Dwing te kalibreren voor het scannen" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Grijstrapscan" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Voer een grijstrap-, in plaats van een kleurenscan uit" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Analoog bereik" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Vergroot of verklein het analoge bereik van de CCD-sensor" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Gammacorrectie" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Kiest de gamma gecorrigeerde overdrachtscurve" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "Ongecomprimeerd" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "Fraaie kleuren" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Ongecorrigeerde transparantie" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "Correctie op basis van filmtype" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "Correctie op basis van de transparantieverhouding" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, no-c-format msgid "Negatives" msgstr "Negatieven" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, no-c-format msgid "Slides" msgstr "Dia's" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automatisch" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, no-c-format msgid "Normal speed" msgstr "Standaard snelheid" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "1/2 van de standaard snelheid" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "1/3 van de standaard snelheid" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "Afgeronde parameter" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "onbekend" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "Opstopping in automatische documentinvoer" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "Deksel van automatische documentinvoer open" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, no-c-format msgid "lamp failure" msgstr "lampfalen" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "fout in positionering van scannerkop" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "fout bij controle van processor" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "fout bij controle van het RAM geheugen" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "fout bij controle van het ROM geheugen" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "fout bij controle van de hardware" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "lampfalen van de transparanten eenheid" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" -msgstr "fout in de positionering van de scannerkop in de transparanten eenheid" +msgstr "" +"fout in de positionering van de scannerkop in de transparanten eenheid" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "fout in de lengte van de parameterlijst" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "ongeldige opdrachtcode" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "ongeldig veld in CDB" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "niet-ondersteunde LUN" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "ongeldig veld in de parameterlijst" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "fout in volgorde van de opdrachten" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "te veel vensters gespecificeerd" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "medium niet aanwezig" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "ongeldig onderdeel in IDENTIFY boodschap" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "optie onjuist" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "scanner aan reset / scannerinterface reset" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "parameter gewijzigd door een andere initiator" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "geen zinvolle, aanvullende informatie" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "opnieuw kiezen mislukt" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "fout in SCSI pariteit" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "Door initiator gesignaleerde foutboodschap ontvangen" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "ongeldige boodschap fout" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "timeout" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "fout in de afscherming van de transparantie-eenheid " -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "lamp niet gestabiliseerd" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "Filmscanner" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "Flatbedscanner" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Filmtype" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Selecteert het filmtype, bijvoorbeeld negatieven of dia's" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, no-c-format msgid "Negative film type" msgstr "Negatief filmtype" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "Selecteert het negatief filmtype" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "Hardware resolutie" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "Gebruik alleen hardware resoluties" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "Focus" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "Autofocus" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "Aan/uit schakelen van autofocus" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "Eén keer autofocus" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Voer alleen een autofocus uit tussen uitworpen" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "Handmatige focuspositie" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." -msgstr "Stel de optische focus van de scanner handmatig in (standaard: 128)" +msgstr "" +"Stel de optische focus van de scanner handmatig in (standaard: 128)" -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "Scanmarges" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "Extra kleuraanpassingen" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Spiegel het beeld" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "Spiegel het beeld horizontaal" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "Automatische belichting" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Schakel de automatische belichtingsoptie aan/uit" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, no-c-format msgid "Calibration now" msgstr "Kalibreer nu" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, no-c-format msgid "Execute calibration *now*" msgstr "Voer kalibratie *NU* uit" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "Zelftest" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Voer de zelftest van de scanner uit" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, no-c-format msgid "Reset scanner" msgstr "Reset scanner" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "Reset de scanner" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "Gemiddeld gebruik" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "Werp de film uit na elke scan" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Werp de film automatisch uit de scanner na elke scan" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "Werp de film uit voor het programma wordt verlaten" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format -msgid "Automatically eject the film from the device before exiting the program" +msgid "" +"Automatically eject the film from the device before exiting the program" msgstr "" "Werp de film automatisch uit de scanner voor het programma wordt verlaten" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "Werp de film nu uit" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "Werp de film *NU* uit" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "Extra's van de documentendoorvoer" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "Alleen flatbed" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "Schakel automatische documentinvoer uit en gebruik alleen flatbed" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "Transparanteneenheid" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Schakel de transparanteneenheid aan/uit (FAU, film adaptereenheid)" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, no-c-format msgid "Negative film" msgstr "Negatief filmtype" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, no-c-format msgid "Positive or negative film" msgstr "Dia of negatief filmtype" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "Dichtheidscontrole" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "Kies de dichtheidscontrolemodus" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "Transparantieverhouding" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "Selecteert filmtype" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "Selecteert het filmtype" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbed" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Automatische documentinvoer voorzijde" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Automatische documentinvoer achterzijde" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "Automatische documentinvoer dubbelzijdig" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, no-c-format msgid "Card Front" msgstr "Kaart voorzijde" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "Kaart achterzijde" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, no-c-format msgid "Card Duplex" msgstr "Kaart dubbelzijdig" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Rood" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Groen" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Blauw" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, no-c-format msgid "Enhance Red" msgstr "Verbeter rood" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, no-c-format msgid "Enhance Green" msgstr "Verbeter groen" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, no-c-format msgid "Enhance Blue" msgstr "Verbeter blauw" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Geen" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "Softwarematig over te slaan percentage lege pagina's" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "Verzoek het stuurprogramma pagina's met weinig dekking te negeren" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "enkelzijdig" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Dubbelzijdig" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Filmeenheid" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatische documentinvoer" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Dia" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Transparant" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Focus op het glas" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Focus 2.5mm boven het glas" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Halftoon A (hard)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Halftoon B (zacht)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Halftoon C" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Dither A (4x4 Bayer)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Dither B (4x4 Spiraalvorm)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Dither C (4x4 Net Screen)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Dither D (8x4 Net Screen)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Tekstverbeteringstechnologie" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Download patroon A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Download patroon B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Geen correctie" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Door gebruiker gedefinieerd" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Matrixprinters" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Thermische printers" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Inkjetprinters" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "CRT-monitoren" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Standaardinstelling" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Afdrukken op hoge kwaliteit" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Afdrukken op lage kwaliteit" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Afdrukken met hoog contrast" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Door gebruiker gedefinieerd (Gamma=1.0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Door gebruiker gedefinieerd (Gamma=1.8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 staand" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 liggend" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Letter" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Maximaal" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Scanmodus" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Kiest halftoon." -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Kleuronderdrukken" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Kiest kleuronderdrukken." -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Kiest helderheid." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Scherpte" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Kleurcorrectie" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "Stelt de kleurcorrectietabel in voor het gekozen uitvoerapparaat." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Kleurcorrectiecoëfficiënten" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Matrix vermenigvuldiging van RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Verschuift groen naar rood" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Verschuift groen naar blauw" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Verschuift rood naar groen" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Verschuift rood naar blauw" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Verschuift blauw naar groen" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Verschuift blauw naar rood" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Regelt de groenwaarde" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Verhoogt rood op basis van de groenwaarde" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Verhoogt blauw op basis van het groenwaarde" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Verhoogt groen op basis van het roodwaarde" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Regelt de roodwaarde" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Verhoogt blauw op basis van de roodwaarde" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Verhoogt groen op basis van de blauwwaarde" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Verhoogt rood op basis van de blauwwaarde" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Regelt de blauwwaarde" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Spiegel het beeld." -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Snelle voorbeeldscan" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Automatische verdeling van het scanoppervlak" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Korte oplossingenlijst" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Toon korte lijst met oplossingen" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Vergroten" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Definieert de vergrotingsfactor die de scanner zal gebruiken" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Snelle opmaak" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Optioneel hulpstuk" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Uitwerpen" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Werp het document in de automatische documentinvoer uit" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Automatische uitworp" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Werp het document uit na het scannen" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "Automatische documentinvoer Modus" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" -"Selecteert de Automatische documentinvoer modus (enkelzijdig/dubbelzijdig)" +"Selecteert de Automatische documentinvoer modus (enkelzijdig/" +"dubbelzijdig)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Bak" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Kies de bak om te scannen" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2082,234 +2078,1025 @@ msgstr "" "apparaten of de door de gebruiker gedefinieerde tabel die naar de " "scanner kan worden gestuurd" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Focus positie" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format -msgid "Sets the focus position to either the glass or 2.5mm above the glass" +msgid "" +"Sets the focus position to either the glass or 2.5mm above the glass" msgstr "Stelt de focus in op het glas of 2.5mm daarboven" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Wacht op een druk op de knop" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " "pressed to actually start the scan process." msgstr "" -"Begin pas met scannen als eerst het scancommando naar de scanner is gestuurd " -"en " -"daarna de knop van de scanner is ingedrukt." +"Begin pas met scannen als eerst het scancommando naar de scanner is " +"gestuurd en daarna de knop van de scanner is ingedrukt." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "Infrarood" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "TPU8x10" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" msgstr "Dia" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, no-c-format msgid "Negative Slide" msgstr "Negatief" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "Ingebouwd CCT profiel" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, no-c-format msgid "User defined CCT profile" msgstr "Door gebruiker gedefinieerd CCT profiel" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "Aan" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Uit" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "DTC" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Dither" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, no-c-format msgid "Diffusion" msgstr "Verspreiding" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, no-c-format msgid "White" msgstr "Wit" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, no-c-format msgid "Black" msgstr "Zwart" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, no-c-format msgid "Continue" msgstr "Voortzetten" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "Stoppen" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "10mm" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "15mm" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "20mm" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Horizontaal" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, no-c-format msgid "Horizontal bold" msgstr "Horizontaal vet" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, no-c-format msgid "Horizontal narrow" msgstr "Horizontaal smal" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Verticaal" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, no-c-format msgid "Vertical bold" msgstr "Verticaal vet" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "Van boven naar beneden" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "Van beneden naar boven" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, no-c-format msgid "Front" msgstr "Voorzijde" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "Achterzijde" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" -msgstr "Softwarematig over te slaan percentage lege pagina's" +msgid "Gamma function exponent" +msgstr "Gammafunctie exponent" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" -msgstr "Verzoek het stuurprogramma pagina's met weinig dekking te negeren" +msgid "Changes intensity of midtones" +msgstr "Verandert de intensiteit van de middentonen" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "GBF" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "Gespiegeld beeld formaat" + +#: backend/fujitsu.c:3165 +#, no-c-format +msgid "Halftone type" +msgstr "Halftoon type" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "Regeltype van het halftoon filter" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "Regelpatroon van het halftoon filter" + +#: backend/fujitsu.c:3209 +#, fuzzy, no-c-format +msgid "Outline" +msgstr "Omtrek" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Voer omtrek extractie uit" + +#: backend/fujitsu.c:3221 +#, no-c-format +msgid "Emphasis" +msgstr "Nadruk" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "Negatief naar geleidelijk of positief naar scherp beeld" + +#: backend/fujitsu.c:3240 +#, no-c-format +msgid "Separation" +msgstr "Scheiding" + +#: backend/fujitsu.c:3241 +#, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "Schakel automatische scheiding tussen beeld en tekst in" + +#: backend/fujitsu.c:3252 +#, no-c-format +msgid "Mirroring" +msgstr "Spiegelen" + +#: backend/fujitsu.c:3253 +#, no-c-format +msgid "Reflect output image horizontally" +msgstr "Spiegel het resulterende beeld horizontaal" + +#: backend/fujitsu.c:3270 +#, no-c-format +msgid "White level follower" +msgstr "Witwaarde volger" + +#: backend/fujitsu.c:3271 +#, no-c-format +msgid "Control white level follower" +msgstr "Regel de witwaarde volger" + +#: backend/fujitsu.c:3289 +#, no-c-format +msgid "BP filter" +msgstr "BP filter" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "Verbeterd de kwaliteit van hoog resolutie bal-punt pen tekst" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Verzachten" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "Schakelt verzachting in om OCR te verbeteren" + +#: backend/fujitsu.c:3323 +#, no-c-format +msgid "Gamma curve" +msgstr "Gammakromme" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" +"Gammakromme, van licht naar donker, maar bovenste twee werken misschien " +"niet" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "Drempel curve" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" +"Drempel curve, van licht naar donker, maar bovenste twee zijn misschien " +"niet liniair" + +#: backend/fujitsu.c:3369 +#, no-c-format +msgid "Threshold white" +msgstr "Drempel wit" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "Stelt schermpunten in overeenkomstig de drempel voor wit ipv zwart" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, no-c-format +msgid "Noise removal" +msgstr "Ruisverwijdering" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "Matrix 5x5" + +#: backend/fujitsu.c:3404 +#, fuzzy, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "Verwijder 5 beeldpunten in een vierkant ruis" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "Matrix 4x4" + +#: backend/fujitsu.c:3421 +#, fuzzy, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "Verwijder 4 beeldpunten in een vierkant ruis" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "Matrix 3x3" + +#: backend/fujitsu.c:3438 +#, fuzzy, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "Verwijder 3 beeldpunten in een vierkant ruis" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "Matrix 2x2" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "Verwijder 2 beeldpunten in een vierkant ruis" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "Variantie" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "Stelt SDTC variantie rato in (gevoeligheid), 0 is gelijk aan 127" + +#: backend/fujitsu.c:3508 +#, no-c-format +msgid "Auto width detection" +msgstr "Automatische breedte herkenning" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "Scanner herkent paper zijden. Kan de scansnelheid verminderen." + +#: backend/fujitsu.c:3526 +#, no-c-format +msgid "Auto length detection" +msgstr "Automatische lengte herkenning" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" +"Scanner herkent onderzijde van het papier. Kan sommige frontends in de " +"war brengen." + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "Compressie" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" +"Schakelt gecomprimeerde gegevens in. Kan je front-end programma laten " +"crashen." + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "Compressie argument" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" +"Niveau van JPEG compressie. 1 is klein bestand, 7 is groot bestand. 0 " +"(standaard) is hetzelfde als 4" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "DF actie" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "Actie die volgt op dubbele doorvoer fout" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "DF scheefheid" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "Schakel dubbele doorvoer fout in als gevolg van scheefheid" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "DF dikte" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "Stelt dubbele doorvoer fout in als gevolg van papierdikte" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "DF lengte" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "Stelt dubbele doorvoer fout in als gevolg van papierlengte" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "DF lengte verschil" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "Verschil in papier lengte om dubbele doorvoer fout te veroorzaken" + +#: backend/fujitsu.c:3708 +#, no-c-format +msgid "DF recovery mode" +msgstr "DF herstel modus" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "Vraag de scanner de doorvoer om te keren bij papier opstopping" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "Papier protectie" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "Vraag de scanner opstoppingen in de ADF te voorspellen " + +#: backend/fujitsu.c:3748 +#, no-c-format +msgid "Advanced paper protection" +msgstr "Geavanceerde papier protectie" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" +"Vraag de scanner opstoppingen in de ADF te voorspellen met behulp van " +"verbeterde sensoren" + +#: backend/fujitsu.c:3768 +#, no-c-format +msgid "Staple detection" +msgstr "Nietjes detectie" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" +"Vraag de scanner opstoppingen in de ADF te detecteren die worden " +"veroorzaakt door nietjes" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "Achtergrond kleur" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" +"Stel de achtergrond kleur van scans in. Kan conflicteren met de " +"'overscan' optie" + +#: backend/fujitsu.c:3809 +#, no-c-format +msgid "Dropout color" +msgstr "Uitvalkleur" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" +"One-pass scanners gebruiken slechts een kleur bij grijstrap of binair " +"scannen, bruikbaar voor gekleurd papier of inkt." + +#: backend/fujitsu.c:3833 +#, no-c-format +msgid "Buffer mode" +msgstr "Buffermodus" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" +"Vraag de scanner pagina's vanuit de ADF zo snel mogelijk in te lezen in " +"het interne geheugen" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "Voorkeuze" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "Vraag de scanner de volgende pagina uit de ADF op te halen" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "Overscan" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" +"Selecteer een paar mm van de achtergrond aan de bovenkant van de scan, " +"voordat het papier de ADF ingaat, en vergroot het maximale scan " +"oppervlak t.o.v. het papierformaat, om de inzameling van de overige " +"kanten toe te staan. Kan conflicteren met 'bgcolor' optie" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "Tijdschakelaar - slaapstand" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" +"Tijd in minuten voordat de interne voeding overschakelt naar slaap modus" + +#: backend/fujitsu.c:3911 +#, no-c-format +msgid "Off timer" +msgstr "Tijdschakelaar - uitstand" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" +"Tijd in minuten voordat de interne voeding de scanner uitschakelt. In " +"stappen van 15 minuten. Nul betekent nooit uitschakelen" + +#: backend/fujitsu.c:3930 +#, no-c-format +msgid "Duplex offset" +msgstr "Dubbelzijdige compensatie" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "Pas voor-/achtercompensatie aan" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Groen compensatie" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:3949 +#, no-c-format +msgid "Adjust green/red offset" +msgstr "Pas groen-/roodcompensatie aan" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Blauw compensatie" + +#: backend/fujitsu.c:3967 +#, no-c-format +msgid "Adjust blue/red offset" +msgstr "Pas blauw-/roodcompensatie aan" + +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "Te weinig geheugen beschikbaar" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" +"Beperk het geheugengebruik door het stuurprogramma in ingebedde " +"systemen. Zorgt bij sommige duplex scans voor wisselende zijden bij de " +"aanroep van sane_read. De waarde van de optie 'zijde' kan worden " +"gebruikt om het juiste beeld vast te stellen. Deze optie dient " +"uitsluitend te worden gebruikt door aangepaste front-end software." + +#: backend/fujitsu.c:3996 +#, no-c-format +msgid "Duplex side" +msgstr "Duplex zijde" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" +"Vertelt welke zijde (0=voorkant, 1=achterkant) van een duplex scan bij " +"de volgende aanroep van sane_read wordt geretourneerd." + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "Hardware rechtzetten en afknippen" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "Vraag de scanner pagina's digitaal te roteren en af te knippen." + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "Softwarematige scheefheid correctie" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" +"Vraag het stuurprogramma scheef getrokken pagina's digitaal te roteren." + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "Softwarematige ontspikkel omvang" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" +"Maximale diameter van verspreid liggende spikkels, die van het gescande " +"beeld moeten worden verwijderd." + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "Softwarematig uitsnijden" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" +"Vraag het stuurprogramma randen van pagina's digitaal te verwijderen." + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "Stoppen bij annuleren" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" +"Vraag het stuurprogramma de papierdoorvoer te stoppen i.p.v. uit te " +"werpen tijdens een annulering" + +#: backend/fujitsu.c:4095 +#, no-c-format +msgid "Endorser Options" +msgstr "Endorser-opties" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "Stuurt de Endorser eenheid aan" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "Endorser" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "Schakel Endorser eenheid in" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "Endorser delen" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "Bepaald maximale Endorser teller waarde" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "Endorser waarde" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "Initiële Endorser teller waarde" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "Endorser stap" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" +"Wijzig Endorser teller waarde met deze hoeveelheid voor elke pagina" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "Endorser Y" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "Endorser afdruk compensatie vanaf de bovenkant van het papier" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "Endorser lettertype" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "Endorser afdruk lettertype" + +#: backend/fujitsu.c:4253 +#, no-c-format +msgid "Endorser direction" +msgstr "Endorser richting" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "Endorser afdruk richting" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "Endorser zijde" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" +"Endorser afdrukzijde, vereist hardware ondersteuning om te worden " +"gewijzigd" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "Endorser tekst" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" +"Endorser alfanumerieke afdrukformaat. %05ud of %08ud zal aan het eind " +"worden vervangen door de teller waarde." + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "Bovenrand" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "Papier is gedeeltelijk in de ADF getrokken" + +#: backend/fujitsu.c:4344 +#, no-c-format +msgid "A3 paper" +msgstr "A3 papier" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "A3 papier gedetecteerd" + +#: backend/fujitsu.c:4356 +#, no-c-format +msgid "B4 paper" +msgstr "B4 papier" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "B4 papier gedetecteerd" + +#: backend/fujitsu.c:4368 +#, no-c-format +msgid "A4 paper" +msgstr "A4 papier" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "A4 papier gedetecteerd" + +#: backend/fujitsu.c:4380 +#, no-c-format +msgid "B5 paper" +msgstr "B5 papier" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "B5 papier gedetecteerd" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "OMR of DF" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "OMR of dubbele doorvoer gedetecteerd" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "Energiebesparende" + +#: backend/fujitsu.c:4429 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "Scanner in energiebesparende modus" + +#: backend/fujitsu.c:4452 +#, no-c-format +msgid "Manual feed" +msgstr "Handmatige doorvoer" + +#: backend/fujitsu.c:4453 +#, no-c-format +msgid "Manual feed selected" +msgstr "Handmatige doorvoer geselecteerd" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "Functie" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "Functie karakter op het scherm" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "Inkt bijna op" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "Imprinter inkt is bijna op" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "Dubbele doorvoer" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "Dubbele doorvoer gedetecteerd" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "Foutcode" + +#: backend/fujitsu.c:4513 +#, no-c-format +msgid "Hardware error code" +msgstr "Hardware foutcode" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "Scheefheidshoek" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "Vereist zwarte achtergrond voor het scannen" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "Resterende hoeveelheid inkt" + +#: backend/fujitsu.c:4537 +#, no-c-format +msgid "Imprinter ink level" +msgstr "Imprinter inkt niveau" + +#: backend/fujitsu.c:4548 +#, no-c-format +msgid "Density" +msgstr "Dichtheid" + +#: backend/fujitsu.c:4549 +#, no-c-format +msgid "Density dial" +msgstr "Dichtheid schaal" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, no-c-format +msgid "Duplex switch" +msgstr "Duplex schakelaar" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "Vraag backend randen van pagina's digitaal te verwijderen" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" -msgstr "Vraag het stuurprogramma pagina's met weinig dekking te verwijderen" +msgstr "" +"Vraag het stuurprogramma pagina's met weinig dekking te verwijderen" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "Softwarematige rotatie tegen de klok in" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" "Vraag stuurprogramma een 90 graden gedraaid beeld te herkennen en " "corrigeren" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extra's" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, no-c-format -msgid "Threshold curve" -msgstr "Drempel curve" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "Dynamische drempel curve, van licht naar donker, normaal 50-65" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "Dynamische lijntekening uitschakelen" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " @@ -2318,12 +3105,12 @@ msgstr "" "Schakel, om een lijntekening te genereren het gebruik van een software " "aanpassend algoritme uit en vertrouw in plaats daarvan op de hardware." -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "Schakel interpolatie uit" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -2333,49 +3120,49 @@ msgstr "" "resolutie kleiner is dan de verticale resolutie, wordt de horizontale " "interpolatie uitgeschakeld." -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, no-c-format msgid "Color filter" msgstr "Kleurenfilter" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Wanneer grijs of lijntekening wordt gebruikt, selecteert deze optie de " "huidige actieve kleur." -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, no-c-format msgid "Calibration file" msgstr "Kalibratiebestand" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, no-c-format msgid "Specify the calibration file to use" msgstr "Specificeer het te gebruiken kalibratiebestand" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, no-c-format msgid "Calibration cache expiration time" msgstr "Vervaltijd van de kalibratie cache" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -"Tijd (in minuten) voordat een gecachete kalibratie verloopt. Een waarde van 0 " -"betekent dat geen cache wordt gebruikt. Een negatieve waarde betekent dat " -"de cache nooit verloopt." +"Tijd (in minuten) voordat een gecachete kalibratie verloopt. Een waarde " +"van 0 betekent dat geen cache wordt gebruikt. Een negatieve waarde " +"betekent dat de cache nooit verloopt." -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "Lamp-uit tijd" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2384,105 +3171,103 @@ msgstr "" "De lamp wordt uitgeschakeld na de opgegeven tijd (in minuten). Een " "waarde van 0 betekent, dat de lamp niet wordt uitgeschakeld." -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, no-c-format msgid "Lamp off during scan" msgstr "Lamp uit tijdens het scannen" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "De lamp wordt uitgeschakeld tijdens het scannen" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, no-c-format msgid "File button" msgstr "Bestand-knop" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "OCR-knop" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, no-c-format msgid "Power button" msgstr "Aan/Uit-knop" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, no-c-format msgid "Extra button" msgstr "Extra-knop" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, no-c-format msgid "Need calibration" msgstr "Kalibratie nodig" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "De scanner moet worden gekalibreerd voor de huidige instellingen" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Knoppen" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibreren" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, no-c-format msgid "Start calibration using special sheet" msgstr "Begin kalibreerproces met een speciale transparant" -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, no-c-format msgid "Clear calibration" msgstr "Reset kalibratie" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, no-c-format msgid "Clear calibration cache" msgstr "Reset kalibratiecache" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Transparantenhulpstuk" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "Kleur in grijsmodus" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Selecteert de scankleur die in de grijsmodus wordt gebruikt (Standaard: " "groen)" -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Foutzoekopties" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatisch opwarmen" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2491,12 +3276,12 @@ msgstr "" "Warm op totdat de helderheid van de lamp constant is in plaats van de " "'verplichte' 60 seconde opwarmtijd aan te houden." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Volledige scan" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2505,12 +3290,12 @@ msgstr "" "Scan het volledige scanbereik inclusief de kalibereerstrook. Pas op! " "Kies niet een te grote hoogte. Alleen voor testdoeleinden." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Grove kalibratie" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2522,12 +3307,12 @@ msgstr "" "worden ingesteld. Deze optie staat standaard aan. Alleen voor " "testdoeleinden." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Grove kalibratie alleen voor de eerste scan" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2539,12 +3324,12 @@ msgstr "" "van het beeld per scan verschilt, schakel deze optie dan uit. Alleen " "voor testdoeleinden." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "\"Backtrack\" lijnen" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2557,85 +3342,85 @@ msgstr "" "data kan verwerken. Lage waarden zorgen voor snellere scans, maar " "vergroten het risico van gemiste scanlijnen." -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gammawaarde" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Stelt de gammawaarde voor alle kanalen in." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, no-c-format msgid "Geometry Group" msgstr "Geometrie groep" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format msgid "Scan Mode Group" msgstr "Scanmodus groep" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Dia" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, no-c-format msgid "Scanner model" msgstr "Scanner model" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" -"Biedt men de mogelijkheid de werking van het apparaat te testen met andere " -"ondersteunde modellen." +"Biedt men de mogelijkheid de werking van het apparaat te testen met " +"andere ondersteunde modellen." -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "Kleuren van het beeld worden geïnverteerd" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, no-c-format msgid "Disable gamma correction" msgstr "Schakel gammacorrectie uit" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, no-c-format msgid "Gamma correction will be disabled" msgstr "Gammacorrectie wordt uitgeschakeld" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, no-c-format msgid "Disable white shading correction" msgstr "Schakel witte schaduw correctie uit" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "Witte schaduw correctie wordt uitgeschakeld" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "Sla opwarmprocedure over" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "Opwarmprocedure wordt uitgeschakeld" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "Forceer ware diepte" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2647,12 +3432,12 @@ msgstr "" "geconverteerd naar de gekozen diepte. Deze optie schakelt diepte " "emulatie uit." -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, no-c-format msgid "Emulate Grayscale" msgstr "Emuleer grijstrap" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2663,12 +3448,12 @@ msgstr "" "door de software geconverteerd naar grijswaardes. Dit kan de " "beeldkwaliteit in sommige gevallen verbeteren." -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "Bewaar foutzoekbeelden" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " @@ -2677,358 +3462,352 @@ msgstr "" "Indien ingeschakeld, worden enkele beelden die deel uitmaken van het " "scanproces bewaard, zodat ze kunnen worden geanalyseerd." -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, no-c-format msgid "Reset chipset" msgstr "Reset chipset" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "Reset chipset gegevens" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, no-c-format msgid "Information" msgstr "Informatie" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, no-c-format msgid "Chipset name" msgstr "Naam van de chipset" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "Toont de naam van de chipset gebruikt in het apparaat." -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "Onbekend" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "Chipset ID" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, no-c-format msgid "Shows the chipset ID" msgstr "Toont de chipset ID" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, no-c-format msgid "Scan counter" msgstr "Scannerteller" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Toont het aantal scans dat de scanner heeft gemaakt" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, no-c-format msgid "Update information" msgstr "Werk de informatie bij" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "Werkt de informatie over het apparaat bij" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "Deze optie geeft de scannerknoppen op het apparaat weer" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Beeld" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Overig" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "compensatie X" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "X positie in de scanner van het scanoppervlak." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "compensatie Y" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Y positie in de scanner van het scanoppervlak." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Lamp status" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Schakelt de lamp aan of uit." -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Kalibreert voor de zwart-/witwaarde" -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "Automatische documentinvoer" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, no-c-format msgid "TMA Slides" msgstr "TMA dia's" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, no-c-format msgid "TMA Negatives" msgstr "TMA Negatieven" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, no-c-format msgid "Color (48 bits)" msgstr "Kleur (48 bits)" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, no-c-format msgid "Extend lamp timeout" msgstr "Verleng lamp timeout" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Verlengt de lamp timeout (van 15 minuten tot 1 uur)" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Wacht op een druk op de knop" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "Wacht op een druk op de knop alvorens te scannen" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "Geavanceerde opties" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Grof" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Fijn" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Door de gebruiker gedefinieerd" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Automatisch" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "Doorgang" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSC Grijs" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "XPA Grijs" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Langzaam" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normaal" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Snel" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Extra snel" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2-beeldpunt" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4-beeldpunt" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8-beeldpunt" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Afdruk" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Filmstrook" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "XPA" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Voorwaardelijk" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "Experiment" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Scherper maken" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Stel scherpte waarde in." -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Automatische drempelwaarde" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" "Maak automatische bepaling mogelijk van de drempelwaarde voor " "lijntekening scans." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Gelijkmatig" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Kies halftoon filter." -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Verwijder origineel na de scan" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Verwijdert het origineel na de scan." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Wijzig origineel" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Wijzig Origineel." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Verwijder" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Verwijder Origineel." -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Begin het kalibreer proces" -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Origineel" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Stel origineel type in." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Belichtingstijd" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -3036,581 +3815,572 @@ msgid "" "negative film. For dark (underexposed) images you can increase this " "value." msgstr "" -"Een langere belichtingstijd laat de scanner meer licht verzamelen. Advies is " -"om " -"175% voor papieren originelen, 150% voor dia's en \"Negatief\" voor " -"negatieven te " -"gebruiken. Voor donkere (onderbelichte) beelden kun je deze waarde verhogen." +"Een langere belichtingstijd laat de scanner meer licht verzamelen. " +"Advies is om 175% voor papieren originelen, 150% voor dia's en \"Negatief" +"\" voor negatieven te gebruiken. Voor donkere (onderbelichte) beelden " +"kun je deze waarde verhogen." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Kleurmatrix" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Stel de kleurmatrix in van de scanner" -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Door de gebruiker gedefinieerde kleurmatrix" -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Mono Kleurmatrix" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Door de gebruiker gedefinieerd kleurmatrix voor grijstint scans" -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Horizontaal spiegelen" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Beeld horizontaal spiegelen" -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Verticaal spiegelen" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Beeld verticaal spiegelen" -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Opties bijwerken" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Opties bijwerken." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "8-bit resultaat" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "Gebruik intern meer dan acht bits, maar geef slechts acht bits." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Voorpaneel knop wacht" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "Wacht met scannen totdat knop op voorpaneel is ingedrukt." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Schakel de lamp uit" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Schakel de scannerlamp uit." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Papierformaat" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Automatische kleurscheiding" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, no-c-format msgid "Landscape" msgstr "Liggend" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "Geïnverteerd beeld" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "Groot formaat papier modus" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "Lengte-controlemodus" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, no-c-format msgid "Manual feed mode" msgstr "Handmatige doorvoermodus" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, no-c-format msgid "Manual feed timeout" msgstr "Handmatige doorvoer timeout" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "Dubbele doorvoer herkenning" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Schakel dubbelzijdig (duplex) scannen in" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" -msgstr "Feitelijke formaat van het papier in de Automatische documentinvoer" +msgstr "" +"Feitelijke formaat van het papier in de Automatische documentinvoer" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "z/w" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, no-c-format msgid "halftone" msgstr "halftoon" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "grijs" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, no-c-format msgid "color" msgstr "kleur" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "adf" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "fb" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "enkel" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" msgstr "continu" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, no-c-format msgid "off" msgstr "uit" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "wacht_doc" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "wacht_toets" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "gebruiker_gedefinieerd" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "visitekaart" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "Controleer" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "A5" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "A6" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "B5" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "B6" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "Legal" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "bayer 64" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "bayer 16" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, no-c-format msgid "halftone_32" msgstr "halftoon 32" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, no-c-format msgid "halftone_64" msgstr "halftoon 64" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, no-c-format msgid "diffusion" msgstr "verspreiding" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, no-c-format msgid "normal" msgstr "normaal" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, no-c-format msgid "light" msgstr "licht" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "donker" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, no-c-format msgid "From scanner" msgstr "Vanuit de scanner" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Vanaf papier" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, no-c-format msgid "default" msgstr "standaardinstelling" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, no-c-format msgid "smooth" msgstr "gelijkmatig" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "geen" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, no-c-format msgid "low" msgstr "laag" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, no-c-format msgid "medium" msgstr "gemiddeld" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "hoog" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "crt" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "lineair" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, no-c-format msgid "red" msgstr "rood" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, no-c-format msgid "green" msgstr "groen" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "blauw" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, no-c-format msgid "Sets the scan source" msgstr "Stelt de scanbron in" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Doorvoermodus" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Stelt de doorvoermodus in" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, no-c-format msgid "Enable/Disable long paper mode" msgstr "Groot formaat papier modus in/uit schakelen" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, no-c-format msgid "Enable/Disable length control mode" msgstr "Formaat gestuurde modus in/uit schakelen" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, no-c-format msgid "Sets the manual feed mode" msgstr "Stelt de handmatige doorvoermodus in" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Stelt de handmatige doorvoer timeout in seconden in" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "Dubbele doorvoer herkenning in/uit schakelen" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "aangepast aan de pagina" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "Aangepast aan de pagina" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "Scanner verkleint het beeld zodat deze op de gescande pagina past" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "Stelt de papier positie in: waar voor liggend, onwaar voor staand" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatische drempelwaarde" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " "reduction and image emphasis" msgstr "" -"Stelt automatisch helderheid, contrast, witwaarde, gamma, ruisonderdrukking " -"en " -"beeldverbetering in" +"Stelt automatisch helderheid, contrast, witwaarde, gamma, " +"ruisonderdrukking en beeldverbetering in" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Ruisonderdrukking" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Verminder de ruis van afzonderlijke punten" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Beeldverbetering" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Stelt beeldverbetering in" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, no-c-format msgid "Lamp color" msgstr "Lamp kleur" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Schakelt de lamp kleur in (kleur uitval)" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "Geïnverteerd beeld in Z/W of halftoon modus" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, no-c-format msgid "Mirror image (left/right flip)" msgstr "Spiegel beeld (links/rechts verwisselen)" -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "jpeg compressie" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "JPEG beeld compressie met Q parameter, '0' - geen compressie" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "Roteer beeld met de klok mee" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" -msgstr "Vraag het stuurprogramma pagina's met een vaste hoeveelheid te roteren" - -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "Softwarematige scheefheid correctie" +msgstr "" +"Vraag het stuurprogramma pagina's met een vaste hoeveelheid te roteren" -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" -msgstr "Vraag het stuurprogramma scheef getrokken pagina's digitaal te roteren" - -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "Softwarematige ontspikkel omvang" +msgstr "" +"Vraag het stuurprogramma scheef getrokken pagina's digitaal te roteren" -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" "Maximale omvang van verspreid liggende spikkels, die van het gescande " "beeld moeten worden verwijderd" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "Softwarematig automatisch uitsnijden" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" -msgstr "Vraag het stuurprogramma randen van pagina's digitaal te verwijderen " +msgstr "" +"Vraag het stuurprogramma randen van pagina's digitaal te verwijderen " -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " @@ -3620,64 +4390,64 @@ msgstr "" "kortste lengte van het gebruikte papier of de feitelijke lengte van het " "document." -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Gammacorrectie" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "wacht_doc_spring_op" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "A3" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "Dubbel briefpapier 11x17 inc." -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "B4" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, no-c-format msgid "High sensivity" msgstr "Hoge gevoeligheid" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, no-c-format msgid "Low sensivity" msgstr "Lage gevoeligheid" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, no-c-format msgid "err_diffusion" msgstr "err_verspreiding" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, no-c-format msgid "No detection" msgstr "Geen herkenning" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, no-c-format msgid "Normal mode" msgstr "Normale modus" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, no-c-format msgid "Enhanced mode" msgstr "Verbetermodus" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " @@ -3687,452 +4457,451 @@ msgstr "" "hij het formaat van het papier heeft gedeeld door de lengte, die is " "ingesteld bij de optie Document Formaat" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "Gevoeligheid van de dubbele doorvoer verklikker" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "Stel de gevoeligheid van de dubbele doorvoer verklikker in" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "Stop niet na de dubbele doorvoer verklikker" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "Negeer linker dubbele doorvoor voeler" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "Negeer middelste dubbele doorvoer voeler" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "Negeer rechter dubbele doorvoer voeler" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, no-c-format msgid "Automatic threshold mode" msgstr "Automatische drempelwaarde modus" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, no-c-format msgid "Sets the automatic threshold mode" msgstr "Stelt de automatische drempelwaarde in" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "Inverteer beeld in Z/W modus" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "JPEG compressie" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "JPEG compressie (je programma moet in staat zijn te decomprimeren)" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "Herken aan elkaar geniet document" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "kleurwaarde van rood" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, no-c-format msgid "Set chroma of red" msgstr "Stel kleurwaarde van rood in" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, no-c-format msgid "chroma of blue" msgstr "kleurwaarde van blauw" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, no-c-format msgid "Set chroma of blue" msgstr "Stel kleurwaarde van blauw in" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "Scheefheid correctie" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "Stop de scanner als het papier is scheefgetrokken" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "De scanner wordt gestopt als het papier is scheefgetrokken" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "Snij het effectieve beeldoppervlak uit" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" -msgstr "De scanner herkent automatisch het beeldoppervlak en snijdt die uit" +msgstr "" +"De scanner herkent automatisch het beeldoppervlak en snijdt die uit" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "Het is rechts en links omkering" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "Ruimte toevoegen aan de bovenzijde" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "Ruimte toevoegen aan de onderzijde" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Ruitvormig" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "8x8 Grof Aandikken" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "8x8 Fijn Aandikken" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "8x8 Bayer" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 Verticale Lijn" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Bereik" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Bereikinstellingen van de kleurkanalen" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Grijsbereik" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Stelt het bereik in van het grijze kanaal" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Roodbereik" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Stelt het bereik in van het rode kanaal" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Groenbereik" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Stelt het bereik in van het groene kanaal" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Blauwbereik" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Stelt het bereik in van het blauwe kanaal" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Bayer Dither 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Bayer Dither 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Halftoon punt 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Halftoon punt 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Foutenverspreiding" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Mode 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Mode 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Mode 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "Vanaf witte punt" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Gelijkmatig" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Laag" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Gemiddeld" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Hoog" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "CRT" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Eén pagina" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Alle pagina's" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "Doorvoerscanner" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "4 bit grijstrap" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "8 bit grijstrap" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Schaduw, middentoon, lichteffecten, belichtingstijd" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Extra opties" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Kleurbalans" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Geen \"backtracking\"" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "Wanneer aangevinkt, voert de scanner geen \"backtracking\" uit" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Schakel lamp van de flatbed aan/uit" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Schakelt de lamp van de flatbedscanner aan/uit" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Kalibratie door de \"backend\"" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format -msgid "If checked the color calibration before a scan is done by the backend" +msgid "" +"If checked the color calibration before a scan is done by the backend" msgstr "" -"Wanneer aangevinkt, wordt de kleur kalibratie voor een scan uitgevoerd door " -"de \"backend\"" +"Wanneer aangevinkt, wordt de kleur kalibratie voor een scan uitgevoerd " +"door de \"backend\"" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Gebruik het \"lightlid-35mm\" hulpstuk" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "Deze optie schakelt de lamp van de flatbed uit tijdens het scannen" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Hoge kwaliteit scan" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Hoogste kwaliteit, maar met een lagere snelheid" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Hoge snelheid" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Hoogste snelheid, maar met een lagere kwaliteit" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Automatische aanpassing van de drempelwaarde" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " "for the threshold." msgstr "" -"Indien aangevinkt, probeert de \"backend\" een optimale waarde te bepalen " -"voor de drempelwaarde." +"Indien aangevinkt, probeert de \"backend\" een optimale waarde te " +"bepalen voor de drempelwaarde." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Kiest de gammacorrectiemodus" -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Gecombineerde gamma" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Gebruik dezelfde gammawaarden voor alle kleurkanalen." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Gammagetalwaarde" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Kiest een getalwaarde voor de gammacorrectie" -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Gammagetalwaarde voor rood" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "Kiest een getalswaarde voor gammacorrectie (rode kanaal)" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Gammagetalwaarde voor groen" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "Kiest een getalwaarde voor gammacorrectie (groene kanaal)" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Gammagetalwaarde voor blauw" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Kiest een getalwaarde voor gammacorrectie (blauwe kanaal)" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Kanaal" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." @@ -4140,334 +4909,338 @@ msgstr "" "Kiest de kleurengroep, \"Master\" betekent dat alle kleuren worden " "beïnvloed." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Middentoon" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "Kiest welke helderheidswaarde als 50% grijs moet worden beschouwd." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Middentoon voor rood" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Kiest welke helderheidswaarde als 50% rood moet worden beschouwd." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Middentoon voor groen" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "Kiest welke helderheidswaarde als 50% groen moet worden beschouwd." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Middentoon voor blauw" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "Kiest welke helderheidswaarde als 50% blauw moet worden beschouwd." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Roodbalans" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "" -"Kleurbalansfactor voor rood: Een waarde van 100% betekent geen kleurcorrectie." +"Kleurbalansfactor voor rood: Een waarde van 100% betekent geen " +"kleurcorrectie." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Groenbalans" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "" "Kleurbalansfactor voor groen: Een waarde van 100% betekent geen " "kleurcorrectie." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Blauwbalans" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "" "Kleurbalansfactor voor blauw: Een waarde van 100% betekent geen " "kleurcorrectie." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Standaardkleurbalans" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "" "Stelt de kleurbalanswaarden in op de waarden zoals opgegeven door de " "fabrikant." -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Langzaamste" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Langzamer" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Sneller" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Snelste" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 grof" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 normaal" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 fijn" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 zeer fijn" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 normaal" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 grof" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 fijn" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 grof" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 normaal" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 fijn" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 normaal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 normaal" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 door de gebruiker gedefinieerd" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 door de gebruiker gedefinieerd" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 door de gebruiker gedefinieerd" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 door de gebruiker gedefinieerd" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 door de gebruiker gedefinieerd" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 door de gebruiker gedefinieerd" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Snelle grijsmodus" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Scan in snelle grijsmodus (lage beeldkwaliteit)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " "This may be a non-color mode or a low resolution mode." msgstr "" "Vraag de snelste (lage kwaliteit) modus te gebruiken voor alle " -"voorbeeldscans. " -"Dit kan een niet-kleur of lage resolutie modus zijn." +"voorbeeldscans. Dit kan een niet-kleur of lage resolutie modus zijn." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Lamp uit tijd (minuten)" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Stel de tijd (in minuten) in waarna de lamp wordt uitgeschakeld." -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "Schakel de lamp uit" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Schakelt de lamp direct uit" -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Helderheid van het rode kanaal" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Bepaalt de helderheid van het rode kanaal van het verkregen beeld." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Helderheid van het groene kanaal" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." -msgstr "Bepaalt de helderheid van het groene kanaal van het verkregen beeld." +msgstr "" +"Bepaalt de helderheid van het groene kanaal van het verkregen beeld." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Helderheid van het blauwe kanaal" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." -msgstr "Bepaalt de helderheid van het blauwe kanaal van het verkregen beeld." +msgstr "" +"Bepaalt de helderheid van het blauwe kanaal van het verkregen beeld." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Contrast van het rode kanaal" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Bepaalt het contrast van het rode kanaal van het verkregen beeld." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Contrast van het groene kanaal" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." -msgstr "Bepaalt het contrast van het groene kanaal van het verkregen beeld." +msgstr "" +"Bepaalt het contrast van het groene kanaal van het verkregen beeld." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Contrast van het blauwe kanaal" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." -msgstr "Bepaalt het contrast van het blauwe kanaal van het verkregen beeld." +msgstr "" +"Bepaalt het contrast van het blauwe kanaal van het verkregen beeld." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Kleur48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Kleur24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Grijs16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Grijs8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "Reflecterend" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "Diapositief" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4476,42 +5249,42 @@ msgstr "" "Warm op totdat de helderheid van de lamp constant is in plaats van de " "'verplichte' 40 seconde opwarmtijd aan te houden." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, no-c-format msgid "Negative color" msgstr "Kleurennegatief" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, no-c-format msgid "Negative gray" msgstr "Grijsnegatief" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, no-c-format msgid "48 bits color" msgstr "48 bits kleur" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "16 bits grijs" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -"Kiest de scanbron (zoals b.v. documentendoorvoer). Stel de bron in voor de " -"modus en resolutie. " -"Zet modus en resolutie terug naar automatische waarden." +"Kiest de scanbron (zoals b.v. documentendoorvoer). Stel de bron in voor " +"de modus en resolutie. Zet modus en resolutie terug naar automatische " +"waarden." -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Knop-gestuurde scan" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4522,263 +5295,257 @@ msgstr "" "gaan, druk op de \"SCAN\" knop (voor MP150) of \"COLOR\" knop (voor " "andere modellen). Om te annuleren, druk op de \"GRAY\" knop." -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "Gammafunctie exponent" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "Verandert de intensiteit van de middentonen" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Werk de status van de knop bij" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Knop 1" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Knop 2" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "Soort te scannen origineel" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "Soort bewerking van het resultaat" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "ADF wachttijd" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" +"Wanneer ingesteld, zoekt de scanner gedurende de wachttijd in seconden " +"naar een nieuw document dat in de automatisch document doorvoer is " +"gelegd." + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Transparantie" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "Apparaatinstellingen" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "Lampschakelaar" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "Schakel de lamp(en) handmatig aan/uit." -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, no-c-format msgid "Lamp off during dark calibration" msgstr "Lamp uit tijdens donker kalibreren" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "Schakel altijd de lamp uit tijdens donker kalibreren." -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "Kalibratie gegevenscache" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "Schakelt kalibratiecache in/uit" -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, no-c-format msgid "Performs calibration" msgstr "Voert kalibratie uit" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "Snellere sensor beweging" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "Schakelt snellere sensor beweging in/uit" -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "Opwarmtijd" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "Opwarmtijd in seconden." -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "Lamp uit tijd" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "Lamp uit tijd in seconden." -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "Analoge \"frontend\"" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "Roodbereik waarde van de AFE" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Rood compensatie" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "Rood compensatie van de AFE" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "Groenbereik waarde van de AFE" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Groen compensatie" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "Groen compensatie van de AFE" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "Blauwbereik waarde van de AFE" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Blauw compensatie" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "Blauw compensatie van de AFE" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "Rode lamp uit" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "Bepaalt de rode lamp uit parameter" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "Groene lamp uit" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "Bepaalt de groene lamp uit parameter" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "Blauwe lamp uit" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "Bepaalt de blauwe lamp uit parameter" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "Deze optie geeft de status weer van de scannerknoppen." -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Kleur36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Ditherpatroon 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Ditherpatroon 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Toevalspatroon" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Keuze van de bron" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Beeldverbetering" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Grijs maken" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Scan het beeld in grijstinten." -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Three-Pass Simulation" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " "kicks, it returns green, then blue, then red." msgstr "" "Simuleer een Three-Pass Scanner door drie afzonderlijke afbeeldingen te " -"retourneren. Bij " -"voorkeur is de volgorde groen, dan blauw en tenslotte rood." +"retourneren. Bij voorkeur is de volgorde groen, dan blauw en tenslotte " +"rood." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Handscanner simulatie" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4790,49 +5557,50 @@ msgstr "" "terug. Met deze optie kan worden vastgesteld, of een \"frontend\" " "hiermee juist kan omgaan." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format -msgid "Set default values for enhancement controls (brightness & contrast)." +msgid "" +"Set default values for enhancement controls (brightness & contrast)." msgstr "" "Stel de kleurverbeteringsinstellingen (helderheid en contrast) in op " "standaardwaarden." -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Alleen-lezen testoptie" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Eens kijken of \"frontends\" hiermee om kunnen gaan." -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Gammatabellen" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Statusbericht simulatie" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Statusbericht niet opdringen" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Dwing de \"backend\" niet een statusbericht terug te geven." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Geef SANE_STATUS_EOF terug" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4841,12 +5609,12 @@ msgstr "" "Dwing de \"backend\", na een aanroep van sane_read() het statusbericht " "SANE_STATUS_EOF terug te geven." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Geef SANE_STATUS_JAMMED terug" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4855,12 +5623,12 @@ msgstr "" "Dwing de \"backend\", na een aanroep van sane_read() het statusbericht " "SANE_STATUS_JAMMED terug te geven." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Geef SANE_STATUS_NO_DOCS terug" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4869,12 +5637,12 @@ msgstr "" "Dwing de \"backend\", na een aanroep van sane_read() het statusbericht " "SANE_STATUS_NO_DOCS terug te geven." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Geef SANE_STATUS_COVER_OPEN terug" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4883,12 +5651,12 @@ msgstr "" "Dwing de \"backend\", na een aanroep van sane_read() het statusbericht " "SANE_STATUS_COVER_OPEN terug te geven." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Geef SANE_STATUS_IO_ERROR terug" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4897,12 +5665,12 @@ msgstr "" "Dwing de \"backend\", na een aanroep van sane_read() het statusbericht " "SANE_STATUS_IO_ERROR terug te geven." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Geef SANE_STATUS_NO_MEM terug" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4911,99 +5679,96 @@ msgstr "" "Dwing de \"backend\", na een aanroep van sane_read() het statusbericht " "SANE_STATUS_NO_MEM terug te geven." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Geef SANE_STATUS_ACCESS_DENIED terug" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " "after sane_read() has been called." msgstr "" -"Dwing de \"backend\", na een aanroep van sane_read() het " -"statusbericht SANE_STATUS_ACCESS_DENIED terug te geven." +"Dwing de \"backend\", na een aanroep van sane_read() het statusbericht " +"SANE_STATUS_ACCESS_DENIED terug te geven." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "Deze optie geeft de status weer van een scannerknop." -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Lamp aan" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Schakel scannerlamp aan" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Lamp uit" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Schakel de scannerlamp uit" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "Lamp timeout" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "Tijd (in minuten) totdat de lamp wordt uitgeschakeld na een scan" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "Drempelwaarde voor lijntekening modus" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Documentinvoer" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (inch)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 (inch)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 (inch)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Halftoon niet ondersteund" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "DispersedDot8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "DispersedDot16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -5020,138 +5785,138 @@ msgstr "" "het scanprogramma niet meer reageert op invoer van de gebruiker en kan " "het gehele systeem onbruikbaar worden." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "Het te scannen raamnummer van de filmhouder" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "Gebruik handmatige of automatische keuze voor scherpstelpositie" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, no-c-format msgid "Focus point for scanning." msgstr "Scherpstelpositie voor het scannen" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Voorbeeldmodus" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " "combination of speed and detail." msgstr "" -"Kies de scanmodus voor voorbeeldscans. Grijstrap voorbeeldscans " -"geven meestal de beste combinatie van snelheid en detail." +"Kies de scanmodus voor voorbeeldscans. Grijstrap voorbeeldscans geven " +"meestal de beste combinatie van snelheid en detail." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Voorgedefinieerde instellingen" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " "like." msgstr "Biedt standaard scanoppervlaktes voor foto's, afdrukken enzovoort." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "Scannerraam" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, no-c-format msgid "Frame to be scanned" msgstr "Het te scannen scannerraam" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, no-c-format msgid "Focus-mode" msgstr "Scherpstelmodus" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, no-c-format msgid "Auto or manual focus" msgstr "Automatische of handmatige scherpstelling" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, no-c-format msgid "Focus-point" msgstr "Scherpstelpositie" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, no-c-format msgid "Focus point" msgstr "Scherpstel positie" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Kleurlijnen per leesopdracht" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Grijstraplijnen per leesopdracht" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "webcam" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Kleur RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Kleur RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Kleur RGB TEKST" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Verzadigd zwart" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Verzadigd wit" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Kleurpatroon" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Raster" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Eerste ingang" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Tweede ingang" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5160,12 +5925,12 @@ msgstr "" "Dit is de erg lange derde ingang. Misschien weet de \"frontend\" hoe " "deze kan worden getoond" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Handscanner-simulatie" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5178,12 +5943,12 @@ msgstr "" "van -1 terug. Met deze optie is te testen of de \"frontend\" daarmee " "juist kan omgaan. Deze optie stelt ook een vaste breedte van 11 cm in." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Three-Pass simulatie" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5192,36 +5957,36 @@ msgstr "" "Simuleer een Three-Pass-Scanner. In kleurmodus worden drie afbeeldingen " "overgedragen." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Bepaal de volgorde van de afbeeldingen" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "Bepaal de volgorde van de afbeeldingen in Three-Pass kleurenmodus." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " "after 10 scans." msgstr "" -"Als de automatische documentinvoer is gekozen, zal de invoer" -"na 10 scans 'leeg' zijn." +"Als de automatische documentinvoer is gekozen, zal de invoerna 10 scans " +"'leeg' zijn." -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Extra opties" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Kies het testbeeld" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5238,12 +6003,12 @@ msgstr "" "modus.\n" "Raster: tekent een zwart/wit raster ter grootte van 10 mm²." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Inverteer \"endianness\"" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5255,46 +6020,47 @@ msgstr "" "testen, bijvoorbeeld of de \"frontend\" de juiste \"endianness\" " "gebruikt." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Leesbegrenzing" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" "Begrens de hoeveelheid gegevens die bij elke aanroep van sane_read() " "wordt overgedragen." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Grootte van de leesbegrenzing" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format -msgid "The (maximum) amount of data transferred with each call to sane_read()." +msgid "" +"The (maximum) amount of data transferred with each call to sane_read()." msgstr "" -"De (maximale) hoeveelheid gegevens die bij elke aanroep van " -"sane_read() wordt overgedragen." +"De (maximale) hoeveelheid gegevens die bij elke aanroep van sane_read() " +"wordt overgedragen." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Leesvertraging" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Vertraag de gegevensoverdracht door de databus." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Duur van de leesvertraging" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." @@ -5302,64 +6068,64 @@ msgstr "" "Hoe lang wordt gewacht nadat de gegevensverzameling door de databus is " "overgebracht." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Resultaat van sane_read" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " "handling for scanning. All other status codes are for testing how the " "frontend handles them." msgstr "" -"Kies het resultaat van sane_read(). \"Default\" is de normale " -"instelling voor het scannen. Alle andere resultaten zijn bedoeld om vast " -"te stellen hoe \"frontends\" hiermee omgaan." +"Kies het resultaat van sane_read(). \"Default\" is de normale instelling " +"voor het scannen. Alle andere resultaten zijn bedoeld om vast te stellen " +"hoe \"frontends\" hiermee omgaan." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Verlies van pixels per lijn" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Het aantal pixels dat aan het einde van elke lijn verloren gaat." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Onduidelijke parameters" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " "before sane_start()." msgstr "" -"Geef onduidelijke lijnen en bytes per lijn terug als sane_parameters() voor " -"sane_start() wordt aangeroepen." +"Geef onduidelijke lijnen en bytes per lijn terug als sane_parameters() " +"voor sane_start() wordt aangeroepen." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Gebruik niet-blokkerende IO" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Gebruik niet-blokkerende IO voor sane_read() als de \"frontend\" dat " "ondersteunt." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Biedt \"kies-bestandsbeschrijving\" aan" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5368,12 +6134,12 @@ msgstr "" "Biedt een \"kies-bestandsbeschrijving\" aan, om te kunnen achterhalen of " "sane_read() gegevens zal teruggeven." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Testopties inschakelen" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5383,59 +6149,59 @@ msgstr "" "hoeverre \"frontends\" de verschillende SANE-optietypes laten zien en " "kunnen veranderen." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Druk opties af" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Druk een lijst met alle opties af." -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Bool-testopties" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) Bool \"soft select\" \"soft detect\"" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " "advanced) capabilities. That's just a normal bool option." msgstr "" -"(1/6) Dit is een bool-testoptie, met \"soft select\" en \"soft detect\" " -"(en \"advanced\") mogelijkheden. Dit is slechts een normale bool-" +"(1/6) Dit is een bool-testoptie, met \"soft select\" en \"soft detect" +"\" (en \"advanced\") mogelijkheden. Dit is slechts een normale bool-" "optie." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Bool \"hard select\" \"soft detect\"" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " "advanced) capabilities. That means the option can't be set by the " "frontend but by the user (e.g. by pressing a button at the device)." msgstr "" -"(2/6) Dit is een bool-testoptie, met \"hard select\" en \"soft detect\" " -"(en \"advanced\") mogelijkheden. Dit betekent dat de \"frontend\" de " +"(2/6) Dit is een bool-testoptie, met \"hard select\" en \"soft detect" +"\" (en \"advanced\") mogelijkheden. Dit betekent dat de \"frontend\" de " "optie niet kan instellen, maar de gebruiker dat moet doen (b.v. door op " "een knop van het apparaat te drukken)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Bool \"hard select\"" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5448,12 +6214,12 @@ msgstr "" "apparaat in te drukken). Bovendien kan de \"frontend\" de instelling " "niet lezen." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) Bool \"soft detect\"" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5462,12 +6228,12 @@ msgstr "" "(4/6) Dit is een bool-testoptie, met \"soft detect\" (en \"advanced\") " "mogelijkheden. Dit betekent dat het een alleen-lezen optie is." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Bool \"soft select\" \"soft detect\" geemuleerd" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5476,12 +6242,12 @@ msgstr "" "(5/6) Dit is een bool-testoptie, met \"soft select\", \"soft detect\", " "en \"emulated\" (en \"advanced\") mogelijkheden." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) Bool \"soft select\" \"soft detect\" auto" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5492,27 +6258,27 @@ msgstr "" "en \"automatic\" (en \"advanced\") mogelijkheden. Deze optie kan de " "backend automatisch instellen." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Int-testopties" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Int" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "(1/6) Int-testoptie zonder eenheid en beperkingen." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Int bereikbeperking" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5521,24 +6287,24 @@ msgstr "" "(2/6) Int-testoptie met de eenheid \"Pixel\" en een beperkt bereik. Het " "minimum is 4, het maximum 192, en de stapgrootte is 2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) Int beperkte woordenlijst" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" "(3/6) Int-testoptie met de eenheid \"bits\" en een woordenlijst-" "beperking." -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Int rij" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " @@ -5546,12 +6312,12 @@ msgid "" msgstr "" "(4/6) Int-testoptie met de eenheid \"mm\" en een rij zonder beperkingen." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) Int rij bereikbeperking" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5561,12 +6327,12 @@ msgstr "" "bereikbeperking. Het minimum is 4, het maximum 192, en de stapgrootte is " "2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Int rij beperkte woordenlijst" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5575,27 +6341,27 @@ msgstr "" "(6/6) Int-testoptie met de eenheid \"procent\" en een rij met een " "woordenlijstbeperking." -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Vaste testopties" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Vast" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "(1/3) Vaste testoptie zonder eenheid en zonder beperking." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Vaste bereikbeperking" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5605,47 +6371,48 @@ msgstr "" "bereik. Het minimum is -42.17, het maximum 32767.9999 en de stapgrootte " "is 2.0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) Vaste beperkte woordenlijst" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." -msgstr "(3/3) Vaste-testoptie zonder eenheid en met een beperkte woordenlijst." +msgstr "" +"(3/3) Vaste-testoptie zonder eenheid en met een beperkte woordenlijst." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "String-testopties" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) String" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) String-testoptie zonder beperkingen." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) String beperkte \"string list\"" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "(2/3) String-testoptie met een beperkte \"string list\"." -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) String beperkte lange \"string list\"" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5654,156 +6421,160 @@ msgstr "" "(3/3) String-testoptie met een beperkte \"string list\". Bevat enkele " "andere ingangen..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Knoppen testoptie" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Knop" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Knoppen-testoptie. Levert enige tekst op..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Kleur 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Gebruik beeldcompositie" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "2-niveau zwart/wit (lijntekening modus)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Halftoon zwart/wit (halftoon modus)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Multi-niveau zwart/wit (grijstrap modus)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Multi-niveau RGB kleur (één-doorgang-kleur)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Negeer kalibratie" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Voorfocusering uitschakelen" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Focusering niet kalibreren" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Handmatige voorfocusering" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Zet focuspositie vast" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Kalibratie van de lens op het document" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Kalibreer focus van de lens op het document" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Houder focus positie 0mm" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Gebruik 0mm houder focus positie in plaats van 0.6mm" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Kalibreermodus" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Bepaal kalibreermodus" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Schakelt de lamp aan/uit" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "UTA aan" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Schakelt UTA aan/uit" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Compensatie" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Compensatieinstellingen van de kleurkanalen" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Grijscompensatie" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Stelt de compensatie in van het grijze kanaal" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Stelt de compensatie in van het rode kanaal" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Stelt de compensatie in van het groene kanaal" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Stelt de compensatie in van het blauwe kanaal" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Voorbeeldmodus" + #~ msgid "problem not analyzed (unknown SCSI class)" #~ msgstr "probleem niet geanalyseerd (onbekende SCSI klasse)" diff --git a/po/pl.gmo b/po/pl.gmo new file mode 100644 index 0000000..6abea3d Binary files /dev/null and b/po/pl.gmo differ diff --git a/po/pl.po b/po/pl.po index bbd8bfb..872e709 100644 --- a/po/pl.po +++ b/po/pl.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.21\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2010-11-06 19:33+0100\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" @@ -15,448 +15,442 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Liczba opcji" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "Standardowe" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Krawędzie obszaru skanowania" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Ulepszanie" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Zaawansowane" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "Czujniki" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Podgląd" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Wymuszaj podgląd czarnobiały" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Głębokość bitowa" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Tryb skanowania" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Prędkość skanowania" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Źródło skanowania" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Wymuszaj nawracanie" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Lewa" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Górna" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Prawa" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Dolna" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Rozdzielczość skanowania" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "Rozdzielczość X" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Rozdzielczość Y" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "Szerokość strony" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, no-c-format msgid "Page height" msgstr "Wysokość strony" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Użyj tablicę kolorów użytkownika" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Gęstość obrazka" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Natężenie czerwieni" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Natężenie zieleni" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Natężenie błękitu" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Jasność" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Kontrast" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Wielkość ziarna" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Tworzenie półtonów" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Poziom czerni" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Poziom bieli" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Poziom bieli dla czerwonego" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Poziom bieli dla zielonego" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Poziom bieli dla niebieskiego" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Cień" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Cień dla czerwonego" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Cień dla zielonego" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Cień dla niebieskiego" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Światło" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Światło dla czerwonego" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Światło dla zielonego" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Światło dla niebieskiego" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Odcień" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Nasycenie" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Nazwa pliku" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Rozmiar wzoru półcienia" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Wzór półcienia" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Zrównaj rozdzielczość w osi X i Y" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negatyw" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Kalibracja jakości" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Podwójna rozdzielczość optyczna" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Zepnij RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Próg" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Analogowa korekcja gamma" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Analogowa gamma czerwieni" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Analogowa gamma zieleni" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Analogowa gamma błękitu" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Zepnij analogową gammę" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Rozgrzej lampę" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Kal. czasu ekspozycji" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "dla czerwieni" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "dla zieleni" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "dla błękitu" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Czas ekspozycji" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Czas ekspozycji dla czerwonego" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Czas ekspozycji dla zielonego" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Czas ekspozycji dla niebieskiego" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Ustawia czas ekspozycji" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Kal. gęstości lampy" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Skan gęstości lampy" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Ustaw gęstość lampy" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Wyłącz lampę przy wyjściu" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " "supports." msgstr "Opcja tylko do odczytu, mówiąca ile opcji wspiera dane urządzenie." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, no-c-format msgid "Source, mode and resolution options" msgstr "Opecje źródła, trybu i rozdzielczości" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "Opcje obszaru skanowania i rozmiaru obiektu" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, no-c-format msgid "Image modification options" msgstr "Opcje modyfikacji obrazu" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, no-c-format msgid "Hardware specific options" msgstr "Opcje specyficzne dla sprzętu" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "Czujniki i przyciski skanera" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Zażądaj skanu w jakości podglądu." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -468,7 +462,7 @@ msgstr "" "przebiegów do jednego a na jednoprzebiegowym zmniejsza zapotrzebowanie " "na pamięć i czas pobierania podglądu." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -477,63 +471,63 @@ msgstr "" "Ilość bitów na próbkę; typowe wartości to 1 dla trybu kreski i 8 dla " "skanów kolorowych i w skali szarości." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" "Ustawia tryb skanowania, np. tryb kreski, skala szarości lub kolorowy" -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Określa prędkość przy której postępuje skanowanie." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Wybierz źródło skanowania (np. podajnik)." -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Steruje wymuszaniem nawracania" -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Lewa krawędź skanowanego obszaru (górny lewy x)." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Górna krawędź skanowanego obszaru (górny lewy y)." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Prawa krawędź skanowanego obszaru (dolny prawy x)." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Dolna krawędź skanowanego obszaru (dolny prawy y)." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Ustawia rozdzielczość skanowanego obrazka." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Ustawia poziomą rozdzielczość skanowanego obrazka." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Ustawia pionową rozdzielczość skanowanego obrazka." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " @@ -542,19 +536,19 @@ msgstr "" "Określa szerokość obiektu. Wymagane do automatycznego centrowania " "skanowania." -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, no-c-format msgid "Specifies the height of the media." msgstr "Określa wysokość obiektu." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." msgstr "" "Określa czy powinna być użyta wbudowana tabela gamma czy użytkownika" -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -564,32 +558,32 @@ msgstr "" "Tabela korekcji gamma. W trybie kolorowym ta opcja równomiernie wpływa " "na wszystkie kanały jednocześnie (staje się tabelą intensywności)." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Tabela korekcji gamma dla pasma czerwieni" -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Tabela korekcji gamma dla pasma zieleni" -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Tabela korekcji gamma dla pasma błękitu" -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Ustawia jasność uzyskanego obrazka." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Ustawia kontrast uzyskanego obrazka." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -598,69 +592,69 @@ msgstr "" "Ustawia \"ziarnistość\" uzyskanego obrazka. Mniejsze wartości dadzą " "ostrzejsze obrazki." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "Ustawia czy uzyskany obrazek powinien być stonowany (ditherowany)." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "Decyduje o tym jaki poziom jasności ma być uznawany za \"czarny\"." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "Decyduje o tym jaki poziom jasności ma być uznawany za \"biały\"." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" "Decyduje o tym jaki poziom jasności czerwieni ma być uznawany za \"biały" "\"." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" "Decyduje o tym jaki poziom jasności zieleni ma być uznawany za \"biały\"." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" "Decyduje o tym jaki poziom jasności błękitu ma być uznawany za \"biały\"." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" "Decyduje o tym jaki poziom jasności czerwieni ma być uznawany za \"czarny" "\"." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" "Decyduje o tym jaki poziom jasności zieleni ma być uznawany za \"czarny" "\"." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" "Decyduje o tym jaki poziom jasności błękitu ma być uznawany za \"czarny" "\"." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Decyduje o tym jaki poziom jasności czerwonego ma być uznawany jako " "czysty czerwony." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." @@ -668,7 +662,7 @@ msgstr "" "Decyduje o tym jaki poziom jasności niebieskiego ma być uznawany jako " "czysty niebieski." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." @@ -676,12 +670,12 @@ msgstr "" "Decyduje o tym jaki poziom jasności zielonego ma być uznawany jako " "czysty zielony." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Ustawia \"odcień\" (poziom błękitu) otrzymanego obrazja" -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -690,12 +684,12 @@ msgstr "" "Poziom nasycenia ustawia ilość \"wykwitu\" który ukazuje się, kiedy " "pobieramy obraz z kamery. Większe wartości powodują większy wykwit." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Nazwa pliku, który ma zostać załadowany." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -704,7 +698,7 @@ msgstr "" "Ustawia rozmiar wzorca tonowania (ditheringu) używanego podczas " "skanowania tonowanych obrazków." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." @@ -712,289 +706,289 @@ msgstr "" "Definiuje wzorzec tonowania (ditheringu) dla skanowania tonowanych " "obrazków." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "" "Użyj tych samych wartości dla rozdzielczości w osi X i Y (poziomie i " "pionie)" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Zamień czarny z białym" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Przeprowadź jakościową kalibrację białego" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Użyj soczewek które podwajają rozdzielczość optyczną" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "W trybie RGB użyj tych samych wartości dla każdego koloru" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Wybierz minimalną jasność by uzyskać biały punkt" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Analogowa korekcja gamma" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Analogowa korekcja gamma dla czerwieni" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Analogowa korekcja gamma dla zieleni" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Analogowa korekcja gamma dla niebieskiego" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Rozgrzej lampę przed skanowaniem" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Ustawia czas ekspozycji dla kalibracji" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Ustawia czas ekspozycji dla kalibracji czerwonego" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Ustawia czas ekspozycji dla kalibracji zielonego" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Ustawia czas ekspozycji dla kalibracji niebieskiego" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Ustawia czas ekspozycji dla skanowania" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Ustawia czas ekspozycji dla skanowania czerwonego" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Ustawia czas ekspozycji dla skanowania zielonego" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Ustawia czas ekspozycji dla skanowania niebieskiego" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Włącz wybór czasu ekspozycji" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Ustaw gęstość lampy do kalibracji" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Ustaw gęstość lampy do skanowania" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Włącz wybór gęstości lampy" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Wyłącz lampę przy wyjściu z programu" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, no-c-format msgid "Scan button" msgstr "Przycisk skanowania" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, no-c-format msgid "Email button" msgstr "Przycisk E-maila" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, no-c-format msgid "Fax button" msgstr "Przycisk faksu" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, no-c-format msgid "Copy button" msgstr "Przycisk kopiowania" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "Przycisk PDF" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "Przycisk anulowania" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "Strona włożona" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, no-c-format msgid "Cover open" msgstr "Pokrywa otwarta" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Kolor" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Kolorowy tryb kreski" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Kolorowy tryb półcieni" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Skala szarości" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Półtony" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Tryb kreski" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "Sukces" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, no-c-format msgid "Operation not supported" msgstr "Operacja nieobsługiwana" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "Operacja anulowana" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "Urządzenie zajęte" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "Błędny argument" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "Osiągnięto koniec pliku" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, no-c-format msgid "Document feeder jammed" msgstr "Zakleszczenie podajnika dokumentów" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, no-c-format msgid "Document feeder out of documents" msgstr "Koniec dokumentów w podajniku" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "Pokrywa skanera jest otwarta" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "Błąd podczas operacji we/wy" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "Brak pamięci" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "Brak dostępu do zasobu" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "Lampa nie gotowa, proszę spróbować powtórnie" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "Mechanizm skanera zablokowany w celu transportu" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Wartości domyślne" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Ustaw domyślne wartości ustawień ulepszania" -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Kalibracja" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Kalibruj przed następnym skanowaniem" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -1004,12 +998,12 @@ msgstr "" "skanowaniem. W innym przypadku kalibracja zostanie wykonana przed " "pierwszym przebiegiem" -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Przeprowadź tylko korektę cieniowania" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1020,27 +1014,27 @@ msgstr "" "kalibracji. Domyślne są używane wartości dla wzmocnienia offsetu i czasu " "ekspozycji wbudowane lub z pliku konfiguracyjnego" -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Stan przycisku" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Numer ramki do skanowania" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Wybiera numer ramki do skanowania" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "Skanowanie dwustronne" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" @@ -1048,1035 +1042,1026 @@ msgstr "" "Skanowanie dwustronne pozwala na skanowanie przedniej i tylnej strony " "dokumentu" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Kalibruj Skaner" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Wymuś kalibrację przed skanowaniem" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Skanowanie w odcieniach szarości" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Skanuj raczej w odcieniach szarości niż w kolorze" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Wzmocnienie analogowe" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Zwiększ lub zmniejsz wzmocnienie analogowe matrycy CCD" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Korekcja Gamma" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Wybiera poprawioną krzywą przejścia" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "Surowy" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "Dobry kolor" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Brak korekcji dla klisz" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "Korekcja zgodna z rodzajem filmu" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "Korekcja zgodna ze współczynnikiem przezroczystości" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, no-c-format msgid "Negatives" msgstr "Negatywy" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, no-c-format msgid "Slides" msgstr "Slajdy" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automatycznie" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, no-c-format msgid "Normal speed" msgstr "Zwykła prędkość" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "1/2 zwykłej prędkości" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "1/3 zwykłej prędkości" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "parametr zaokrąglony" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "nieznany" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "zakleszczenie ADF" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "pokrywa ADF otwarta" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, no-c-format msgid "lamp failure" msgstr "awaria lampy" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "błąd pozycjonowania głowicy skanera" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "błąd kontroli CPU" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "błąd kontroli RAM" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "błąd kontroli ROM" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "błąd kontroli sprzętu" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "awaria lampy do skanowania przezroczy" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "błąd pozycjonowania głowicy do skanowania przezroczy" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "błąd długości listy parametrów" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "błędny kod operacji" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "błędne pole w CDB" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "nieobsługiwany LUN" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "błędne pole w liście parametrów" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "błąd sekwencji poleceń" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "podano zbyt dużo okien" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "brak nośnika" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "błędny komunikat bitowy IDENTIFY" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "opcja nie podłączona" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "reset po włączeniu zasilania / reset szyny" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "parametr zmieniony przez inny inicjator" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "brak dodatkowej informacji o stanie" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "niepowodzenie ponownego wyboru" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "błąd parzystości SCSI" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "otrzymano komunikat błędu wykryty przez inicjator" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "błędny komunikat" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "błąd przekroczenia czasu" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "błąd cieniowania modułu do skanowania przezroczy" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "lampa nie ustabilizowana" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "skaner filmów" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "skaner płaski" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Rodzaj filmu" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Wybór rodzaju filmu, np. negatywów lub slajdów" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, no-c-format msgid "Negative film type" msgstr "Rodzaj negatywu" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "Wybór rodzaju negatywu" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "Rozdzielczość sprzętowa" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "Użycie tylko rozdzielczości sprzętowych" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "Ostrość" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "Ostrość automatyczna" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "Włączenie/wyłączenie automatycznego ustawiania ostrości" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "Jednokrotny autofocus" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Automatyczne ustawianie ostrości tylko po wymianie nośnika" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "Ręczne ustawianie ostrości" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "Ręczne ustawianie pozycji ostrości optyki (domyślnie: 128)." -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "Marginesy skanowania" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "Dodatkowe ustawienia kolorów" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Odbicie lustrzane obrazka" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "Poziome odbicie lustrzane obrazu" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "Ekspozycja automatyczna" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Włączenie/wyłączenie automatycznego wyboru ekspozycji" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, no-c-format msgid "Calibration now" msgstr "Kalibruj teraz" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, no-c-format msgid "Execute calibration *now*" msgstr "Uruchomienie kalibracji *teraz*" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "Autodiagnostyka" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Wykonanie autodiagnostyki skanera" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, no-c-format msgid "Reset scanner" msgstr "Reset skanera" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "Zresetowanie skanera" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "Obsługa medium" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "Wysuń film po zeskanowaniu" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Automatyczne wysuwanie filmu z urządzenia po każdym skanowaniu" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "Wysuń film przed zakończeniem" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" "Automatyczne wysuwanie filmu z urządzenia przed zakończeniem programu" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "Wysuń film teraz" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "Wysunięcie filmu *teraz*" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "Dodatkowy podajnik dokumentów" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "Tylko płyta" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" "Wyłączenie automatycznego podajnika dokumentów, używanie tylko płyty" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "Moduł do skanowania przezroczy" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Włączenie/wyłączenie modułu do skanowania przezroczy (FAU)" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, no-c-format msgid "Negative film" msgstr "Negatyw" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, no-c-format msgid "Positive or negative film" msgstr "Pozytyw lub negatyw" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "Kontrola gęstości" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "Ustawienie trybu kontroli gęstości" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "Współczynnik przezroczystości" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "Rodzaj filmu" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "Wybór rodzaju filmu" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Płyta" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "ADF przód" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "ADF tył" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "ADF dwustronny" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Przód" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, fuzzy, no-c-format msgid "Card Back" msgstr "Tył" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Dwustronny" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Czerwony" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Zielony" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Niebieski" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, no-c-format msgid "Enhance Red" msgstr "Rozszerzenie czerwieni" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, no-c-format msgid "Enhance Green" msgstr "Rozszerzenie zieleni" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, no-c-format msgid "Enhance Blue" msgstr "Rozszerzenie błękitu" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Brak" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Jednostronny" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Dwustronny" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Moduł do skanowania przezroczy" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatyczny podajnik dokumentów" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Pozytyw" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Negatyw" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Ostrość na szybie" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Ostrość 2.5mm powyżej szyby" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Półton A (Twardy)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Półton B (Miękki)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Półton C (Siatka)" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Ziarnistość A (4x4 Bayera)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Ziarnistość B (4x4 Spiralna)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Ziarnistość C (4x4 Siatka)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Ziarnistość D (8x4 Siatka)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Technologia Uwydatniania Tekstu" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Pobierz wzór A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Pobierz wzór B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Brak korekcji" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Zdefiniowane przez użytkownika" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Drukarki igłowe" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Drukarki termiczne" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Drukarki atramentowe" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "Monitory CRT" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Domyślny" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Druk wysokiej gęstości" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Druk niskiej gęstości" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Druk o wysokim kontraście" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Zdefiniowane przez użytkownika (Gamma=1.0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Zdefiniowane przez użytkownika (Gamma=1.8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 portret" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 krajobraz" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "List" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Maksimum" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Tryb skanowania" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Wybór półcieni" -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Dropout" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Wybiera dropout" -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Wybiera jasność" -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Ostrość" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Korekcja koloru" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" "Ustawia tablicę korekcji koloru dla wybranego urządzenia wyjściowego." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Współczynnik korekcji koloru" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Macierz mnożenia RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Przesuń zieleń do czerwieni" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Przesuń zieleń do błękitu" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Przesuń czerwień do zieleni" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Przesuń czerwień do błękitu" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Przesuń błękit do zieleni" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Przesuń błękit do czerwieni" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Nadzoruje poziom zieleni" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Dodaje do czerwieni bazując na poziomie zieleni" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Dodaje do błękitu bazując na poziomie zieleni" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Dodaje do zieleni bazując na poziomie czerwieni" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Nadzoruje poziom czerwieni" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Dodaje do błękitu bazując na poziomie czerwieni" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Dodaje do zieleni bazując na poziomie błękitu" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Dodaje do czerwieni bazując na poziomie błękitu" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Nadzoruje poziom błękitu" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Utwórz odbicie lustrzane obrazka" -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Szybki podgląd" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Automatyczny podział obszaru" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Krótka lista rozdzielczości" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Wyświetl krótką listę rozdzielczości" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Powiększenie" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Definiuje współczynnik powiększenia dla skanera" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Szybkie formatowanie" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Wyposażenie opcjonalne" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Wysuń" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Wysuń arkusz z ADF" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Wysuwanie automatyczne" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Wysuń dokument po zeskanowaniu" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "Tryb ADF" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Wybiera tryb ADF (jedno/dwustronny)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Wnęka" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Wybierz wnękę do skanowania" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2085,23 +2070,23 @@ msgstr "" "Wybiera wartość korekcji gamma z listy zdefiniowanych urządzeń lub " "tabeli użytkownika, która może być załadowana do skanera" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Pozycja skupienia (ostrości)" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "Ustawia skupienie (ostrość) na szybę lub 2.5mm powyżej szyby" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Czekaj na Przycisk" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2110,207 +2095,952 @@ msgstr "" "Po wysłaniu komendy skanowania, czekaj aż przycisk na skanerze jest " "naciśnięty, aby naprawdę rozpocząć skanowanie" -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "Podczerwień" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" msgstr "Pozytyw" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, no-c-format msgid "Negative Slide" msgstr "Negatyw" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "Wbudowany profil CCT" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, no-c-format msgid "User defined CCT profile" msgstr "Profil CCT zdefiniowany przez użytkownika" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "Włączony" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Wyłącz" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "DTC" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Ditheruj" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, no-c-format msgid "Diffusion" msgstr "Dyfuzja" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, no-c-format msgid "White" msgstr "Biel" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, no-c-format msgid "Black" msgstr "Czerń" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, no-c-format msgid "Continue" msgstr "Kontynuacja" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "Stop" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "10mm" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "15mm" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "20mm" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Poziomy" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, no-c-format msgid "Horizontal bold" msgstr "Poziomy pogrubiony" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, no-c-format msgid "Horizontal narrow" msgstr "Poziomy cienki" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Pionowy" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, no-c-format msgid "Vertical bold" msgstr "Pionowy pogrubiony" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "Od góry do dołu" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "Od dołu do góry" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, no-c-format msgid "Front" msgstr "Przód" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "Tył" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Półtony" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Wykonuje kalibrację" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Emfaza obrazka" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Nasycenie" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "Włącz automatyczne rozpoznawanie progu dla skanów w trybie kreski." + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Odbicie lustrzane obrazka" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Poziome, lustrzane odbicie obrazka." + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Poziom bieli dla niebieskiego" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Nadzoruje poziom czerwieni" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Filtr kolorów" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Wygładzanie" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Wartość gamma" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "Krzywa progowa" + +#: backend/fujitsu.c:3347 +#, fuzzy, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "Dynamiczna krzywa progowa, od ciemnego do jasnego, zwykle 50-65" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Próg" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Redukcja szumów" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Brak korekcji" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Brak korekcji" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "pokrywa ADF otwarta" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Opcje zaawansowane" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Brak korekcji" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Dropout" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "tryb podajnika" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Czas wyłączania lampy" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Offset błękitu" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Offset zieleni" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Offset zieleni" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Offset błękitu" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Ustawienie offsetu kanału błękitu" + +#: backend/fujitsu.c:3980 +#, fuzzy, no-c-format +msgid "Low Memory" +msgstr "Brak pamięci" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Skanowanie dwustronne" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Opcje zaawansowane" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Redukcja szumów" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "Od papieru" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "Od papieru" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "Od papieru" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "Od papieru" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, fuzzy, no-c-format +msgid "Scanner in power saving mode" +msgstr "Pokrywa skanera jest otwarta" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Ręczne wstępne ustawianie ostrości" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Ręczne wstępne ustawianie ostrości" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "błąd kontroli sprzętu" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Poziom bieli" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Kontrola gęstości" + +#: backend/fujitsu.c:4549 +#, fuzzy, no-c-format +msgid "Density dial" +msgstr "Kontrola gęstości" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Skanowanie dwustronne" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Dodatki" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, no-c-format -msgid "Threshold curve" -msgstr "Krzywa progowa" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "Dynamiczna krzywa progowa, od ciemnego do jasnego, zwykle 50-65" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "Wyłączenie dynamicznego trybu kreski" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, fuzzy, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " @@ -2319,12 +3049,12 @@ msgstr "" "Wyłączenie użycia algorytmu adaptacyjnego do generowania linii zamiast " "polegania na trybie sprzętowym" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "Wyłącz interpolację" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -2334,44 +3064,44 @@ msgstr "" "mniejsza niż rozdzielczość pionowa, ta opcja wyłącza interpolację " "poziomą." -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtr kolorów" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "W trybie szarości lub kreski ta opcja wybiera używany kolor." -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibracja" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Zdefiniuj tryb kalibracji" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Pamięć podręczna danych kalibracji" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "Czas wyłączania lampy" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2380,105 +3110,103 @@ msgstr "" "Lampa zostanie wyłączona po podanym czasie (w minutach). Wartość 0 " "oznacza, że lampa nie będzie wyłączana." -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Wyłącz lampę podczas kalibracji ciemności" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Liczba minut do wyłączenia lampy po skanowaniu" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, no-c-format msgid "File button" msgstr "Przycisk pliku" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "Przycisk OCR" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, no-c-format msgid "Power button" msgstr "Przycisk zasilania" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Przycisk E-maila" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, no-c-format msgid "Need calibration" msgstr "Wymaga kalibracji" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Skaner wymaga kalibracji dla obecnych ustawień" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Przyciski" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibracja" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, no-c-format msgid "Start calibration using special sheet" msgstr "Rozpocznij kalibrację przy użyciu specjalnej kartki" -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, no-c-format msgid "Clear calibration" msgstr "Wyczyść kalibrację" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, no-c-format msgid "Clear calibration cache" msgstr "Wyczyść pamięć podręczną kalibracji" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Moduł do skanowania negatywów" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "Kolor trybu odcieni szarości" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Wybiera który kolor skanowania jest używany w trybie odcieni szarości " "(domyślnie: zielony)." -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Opcje odpluskwiania" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatyczne rozgrzewanie" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2487,12 +3215,12 @@ msgstr "" "Rozgrzewaj dopóki jasność lampy będzie stała, zamiast przyjmować stały " "czas 60 sekund." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Pełny ekran" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2501,12 +3229,12 @@ msgstr "" "Skanuj cały dostępny obszar, łącznie z paskiem kalibracyjnym. Bądź " "ostrożny. Nie wybieraj pełnej wysokości. Opcja tylko do celów testowych" -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Kalibracja ziarnistości" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2518,12 +3246,12 @@ msgstr "" "parametrów analogowych. Ta opcja jest odblokowana domyślnie. Opcja tylko " "do testów." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Kalibracja ziarnistości tylko dla pierwszego skanu" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2535,12 +3263,12 @@ msgstr "" "jasność obrazka jest różna za każdym skanem, wyłącz tę opcję. Opcja " "tylko dla testów." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "Wymuszaj nawracanie" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2553,85 +3281,85 @@ msgstr "" "Niskie wartości mogą powodować szybsze skanowanie lecz zwiększają ryzyko " "pominięcia niektórych linii." -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Wartość gamma" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Ustawia wartość gamma dla wszystkich kanałów" -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, no-c-format msgid "Geometry Group" msgstr "Grupa geometrii" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format msgid "Scan Mode Group" msgstr "Grupa trybu skanowania" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Slajd" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, no-c-format msgid "Scanner model" msgstr "Model skanera" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, fuzzy, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" "Umożliwia sprawdzenie zachowania urządzenia z innymi obsługiwanymi " "modelami" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "Kolory obrazu będą odwrócone" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, no-c-format msgid "Disable gamma correction" msgstr "Wyłącz korekcję gamma" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, no-c-format msgid "Gamma correction will be disabled" msgstr "Korekcja gamma będzie wyłączona" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, no-c-format msgid "Disable white shading correction" msgstr "Wyłącz korekcję cieniowania bieli" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "Korekcja cieniowania bieli będzie wyłączona" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "Pomiń proces rozgrzewania" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "Proces rozgrzewania będzie pominięty" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "Wymuś prawdziwą głębię" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2642,12 +3370,12 @@ msgstr "" "z 16-bitową głębią w celu poprawy jakości obrazu, a następnie " "konwertowane do wybranej głębi. Ta opcja zapobiega emulacji głębi." -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, no-c-format msgid "Emulate Grayscale" msgstr "Emulacja skali szarości" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2658,12 +3386,12 @@ msgstr "" "następnie konwertowany programowo do skali szarości. Może to poprawić " "jakość obrazu w pewnych przypadkach." -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "Zapisuj obrazy diagnostyczne" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " @@ -2672,356 +3400,350 @@ msgstr "" "Jeśli jest włączona, obrazy uczestniczące w dostrajaniu skanera są " "zapisywane w celu analizy." -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, no-c-format msgid "Reset chipset" msgstr "Reset układów" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "Zresetowanie danych układów" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, no-c-format msgid "Information" msgstr "Informacje" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, no-c-format msgid "Chipset name" msgstr "Nazwa układów" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "Pokazuje nazwy układów (chipsetu) użytych w urządzeniu." -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "Nieznany" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "ID chipsetu" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, no-c-format msgid "Shows the chipset ID" msgstr "Pokazuje ID chipsetu" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, no-c-format msgid "Scan counter" msgstr "Licznik skanowań" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Pokazuje liczbę wykonanych skanowań" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, no-c-format msgid "Update information" msgstr "Aktualizuj informacje" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "Uaktualnia informacje o urządzeniu" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "Opcja ta odzwierciedla stan przycisku przedniego panelu skanera" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Obraz" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Różne" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "przesunięcie X" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Wewnętrzne sprzętowe położenie poziome (X) obszaru skanowania." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "przesunięcie Y" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Wewnętrzne sprzętowe położenie pionowe (Y) obszaru skanowania." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Status lampy" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Włącza lub wyłącza lampę." -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Kalibruje poziom dla czerni i bieli." -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "ADF" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, no-c-format msgid "TMA Slides" msgstr "TMA - slajdy" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, no-c-format msgid "TMA Negatives" msgstr "TMA - negatywy" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, no-c-format msgid "Color (48 bits)" msgstr "Kolor (48 bitów)" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, no-c-format msgid "Extend lamp timeout" msgstr "Powiększ czas wyłączenia lampy" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Powiększa czas wyłączenia lampy (z 15 minut do 1 godziny)" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Czekaj na przycisk" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "Oczekiwanie na naciśnięcie przycisku przed skanowaniem" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "Opcje zaawansowane" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Ziarnistość" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Dokładny" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayera" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Użytkownika" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Automatyczny" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "Środkowoprzepustowy" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "Skala szarości NTSC" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "Skala szarości XPA" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Powolny" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Zwykły" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Szybki" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Bardzo szybki" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2-pikselowy" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4-pikselowy" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8-pikselowy" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Drukuj" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Pasek filmu" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "XPA" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Warunkowy" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "Eksperyment" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Wyostrzanie" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Ustaw wartość wyostrzania." -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Automatyczne progowanie" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "Włącz automatyczne rozpoznawanie progu dla skanów w trybie kreski." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Wygładzanie" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Wybierz filtr wygładzający." -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Wysuń nośnik po skanowaniu" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Wysuwa nośnik po skanowaniu." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Zmień dokument" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Zmień Dokument." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Wysuń" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Wysuń Dokument." -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Rozpocznij proces kalibracji." -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Nośnik" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Ustaw rodzaj nośnika." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Czas ekspozycji" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -3034,462 +3756,461 @@ msgstr "" "\" dla filmu negatywowego. Dla ciemnych (nie doświetlonych) obrazków " "możesz zwiększyć tę wartość." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Matryca kolorów" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Ustaw matrycę kolorów skanera." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Matryca kolorów użytkownika" -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Monochromatyczna matryca kolorów" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Matryca kolorów użytkownika dla skanów w skali szarości." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Odbicie poziome" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Poziome, lustrzane odbicie obrazka." -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Odbij pionowo." -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Pionowe, lustrzane odbicie obrazka." -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Aktualizuj opcje" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Aktualizuj opcje." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "8-bitowe wyjście" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" "Użyj wewnętrznie głębi większej niż osiem bitów, lecz na wyjściu daj " "równe osiem." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Oczekiwanie na przycisk panelu" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "Czekaj ze skanowaniem na naciśnięcie przycisku na przednim panelu." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Wyłącz lampę" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Wyłącz lampę skanera." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Rozmiar papieru" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Automatyczna separacja" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 krajobraz" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Ustawienie trybu kontroli gęstości" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Ręczne wstępne ustawianie ostrości" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Ręczne wstępne ustawianie ostrości" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Włącz skanowanie dwustronne" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Fizyczny rozmiar papieru w ADF" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "Półtony" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Kolor" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "Kontynuacja" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "Wyłącz" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayera" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayera" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Półtony" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Półtony" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, fuzzy, no-c-format msgid "diffusion" msgstr "Dyfuzja" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Zwykły" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Światło" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "skaner filmów" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Od papieru" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Domyślny" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Wygładzanie" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Powolny" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Średni" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Czerwony" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Zielony" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Źródło skanowania" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "tryb podajnika" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Ustawia tryb podajnika" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Włączenie/wyłączenie automatycznego ustawiania ostrości" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Ustawienie trybu kontroli gęstości" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Ustawia tryb podajnika" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Ustawia tryb podajnika" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatyczne progowanie" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3498,559 +4219,546 @@ msgstr "" "Automatycznie ustawia jasność, kontrast, poziom bieli, gammę, redukcję " "szumów i emfazę obrazka" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Redukcja szumów" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Zmniejsz szum izolowanych punktów" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Emfaza obrazka" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Ustawia emfazę obrazka" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Włącz lampę" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Włącza lub wyłącza lampę." -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Pionowe, lustrzane odbicie obrazka." -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Korekcja gamma" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "Druk wysokiej gęstości" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "Druk niskiej gęstości" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, fuzzy, no-c-format msgid "err_diffusion" msgstr "Dyfuzja" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Brak korekcji" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Zwykły" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Ulepszanie" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Automatyczne progowanie" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Automatyczne progowanie" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "Ustaw kolejność ramek" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Cień dla niebieskiego" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Przesuń czerwień do błękitu" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamentowy" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "Pogrubianie ziarniste 8x8" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "Pogrubianie dokładne 8x8" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "Pogrubianie Bayera 8x8" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "Linie pionowe 8x8" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Wzmocnienie" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Ustawienia wzmocnienia kanałów kolorów" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Wzmocnienie szarości" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Ustawia wzmocnienie kanału szarości" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Wzmocnienie czerwieni" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Ustawia wzmocnienie kanału czerwieni" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Wzmocnienie zieleni" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Ustawia wzmocnienie kanału zieleni" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Wzmocnienie błękitu" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Ustawia wzmocnienie kanału błękitu" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Ditherowanie Bayera 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Ditherowanie Bayera 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Półtonu Punkt 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Półton Punkt 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "\"Przenikanie błędów\"" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Tryb 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Tryb 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Tryb 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "Od białego elementu" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Wygładzanie" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Niski" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Średni" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Wysoki" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "CRT" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Jedna strona" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Wszystkie strony" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "skaner arkuszy" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "Skala szarości w 4-bitach" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "Skala szarości w 8-bitach" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Cienie, półtony, światła, czas ekspozycji" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Opcje dodatkowe" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Balans kolorów" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Nie wykonuj nawracania" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "Jeśli zaznaczone, skaner nie wykonuje nawracania głowicy" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Włącz / wyłącz lampę główną skanera" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Włącza bądź wyłącza lampę główną skanera" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Kalibracja wykonywana przez sterownik" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" msgstr "" "Jeśli zaznaczone, sterownik wykonuje kalibrację kolorów przed skanowaniem" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Używaj przystawki lightlid-35mm" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "" "Ta opcja wyłącza lampę główną skanera podczas używania przystawki do " "materiałów przezroczystych" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Skan dobrej jakości" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Najwyższa jakość, ale mała prędkość" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Szybki skan" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Największa szybkość, ale gorsza jakość" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Automatyczne dostosowanie progu" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4059,283 +4767,283 @@ msgstr "" "Jeżeli zaznaczone, sterownik automatycznie próbuje znaleźć optymalną " "wartość dla progu." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Ustawia sposób korekcji gamma." -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Identyczna gamma dla wszystkich kanałów" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Użyj takiej samej wartości dla wszystkich kolorów" -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Liniowa gamma" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Ustawia wartość dla liniowej korekcji gamma." -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Liniowa gamma, czerwony" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "Ustawia wartość liniowej korekcji gamma dla czerwonego kanału" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Liniowa gamma, zielony" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "Ustawia wartość liniowej korekcji gamma dla zielonego kanału" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Liniowa gamma, niebieski" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Ustawia wartość liniowej korekcji gamma dla niebieskiego kanału" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Kanał" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." msgstr "Wybiera zakres kolorów, \"Główny\" ma wpływ na wszystkie kolory." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Półcień" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "" "Decyduje o tym jaki poziom jasności ma być uznawany za \"50% szarego\"" -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Półcień dla czerwonego" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "" "Decyduje o tym jaki poziom jasności ma być uznawany za \"50% czerwonego\"" -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Półcień dla zielonego" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "" "Decyduje o tym jaki poziom jasności ma być uznawany za \"50% zielonego\"" -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Półcień dla niebieskiego" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "" "Decyduje o tym jaki poziom jasności ma być uznawany za \"50% niebieskiego" "\"" -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Balans czerwonego" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "" "Współczynnik balansu dla czerwonego. Wartość 100% oznacza brak korekcji." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Balans zielonego" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "" "Współczynnik balansu dla zielonego. Wartość 100% oznacza brak korekcji." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Balans niebieskiego" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "" "Współczynnik balansu dla niebieskiego. Wartość 100% oznacza brak " "korekcji." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Balans firmware-owy" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "" "Ustawia balans kolorów na wartości podane przez oprogramowania skanera" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Najwolniejszy" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Wolniejszy" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Szybszy" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Najszybszy" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 chropowaty" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 zwykły" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 dobry" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 bardzo dobry" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 zwykły" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 chropowaty" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 dobry" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 chropowaty" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 zwykły" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 dobry" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 zwykły" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 zwykły" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 ustawiany" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 ustawiany" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 ustawiany" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 ustawiany" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 ustawiany" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 ustawiany" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Szybki tryb szarości" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Skanuj w szybkim trybie odcieni szarości (niższa jakość)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4345,117 +5053,117 @@ msgstr "" "(niskiej jakości). To może być tryb niekolorowy lub niskiej " "rozdzielczości." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Czas wyłączenia lampy (w minutach)" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Czas (w minutach), po którym lampa jest wyłączana." -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "Wyłącz lampę" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Wyłącza lampę natychmiast." -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Jasność czerwieni" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Steruje jasnością kanału czerwieni." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Jasność zieleni" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Steruje jasnością kanału zieleni." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Jasność błękitu" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Steruje jasnością kanału błękitu." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Kontrast kanału czerwieni" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Steruje kontrastem kanału czerwieni." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Kontrast kanału zieleni" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Steruje kontrastem kanału zieleni." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrast kanału " -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Steruje kontrastem kanału błękitu." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Kolor 48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Kolor 24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Skala szarości 16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Skala szarości 8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "Odbijający światło" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "Pozytyw" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4464,39 +5172,39 @@ msgstr "" "Rozgrzewaj dopóki jasność lampy będzie stała, zamiast przyjmować stały " "czas 40 sekund." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negatyw" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negatyw" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Dobry kolor" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Skanowanie sterowane przyciskiem" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4508,248 +5216,239 @@ msgstr "" "\"COLOR\" (dla innych modeli). Aby anulować, należy nacisnąć przycisk " "\"GRAY\"." -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Uaktualnij stan przycisku" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Przycisk 1" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Przycisk 2" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Materiały fotograficzne" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "Ustawienia urządzenia" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "Przełącznik lampy" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "Ręczne włączanie lamp(y)." -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, no-c-format msgid "Lamp off during dark calibration" msgstr "Wyłącz lampę podczas kalibracji ciemności" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "Wyłączanie lampy zawsze podczas kalibracji ciemności." -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "Pamięć podręczna danych kalibracji" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "Włącza lub wyłącza pamięć podręczną danych kalibracji." -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, no-c-format msgid "Performs calibration" msgstr "Wykonuje kalibrację" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "Przyspieszenie czujnika" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "Włącza lub wyłącza przyspieszanie ruchu czujnika." -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "Czas rozgrzewania" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "Czas rozgrzewania w sekundach" -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "Czas wyłączenia lampy" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "Czas wyłączenia lampy w sekundach." -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "Frontend analogowy" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "Wartość AFE wzmocnienia czerwieni" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Offset czerwieni" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "Wartość AFE offsetu czerwieni" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "Wartość AFE wzmocnienia zieleni" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Offset zieleni" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "Wartość AFE offsetu " -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "Wartość AFE wzmocnienia błękitu" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Offset błękitu" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "Wartość AFE offsetu zieleni" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "Wyłącz czerwoną lampę" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "Definiuje parametr wyłączenia czerwonej lampy" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "Wyłącz zieloną lampę" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "Definiuje parametr wyłączenia zielonej lampy" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "Wyłącz niebieską lampę" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "Definiuje parametr wyłączenia niebieskiej lampy" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "Opcja ta odzwierciedla stan przycisków skanera." -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Kolor 36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Mapa Ditheringu 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Mapa Ditheringu 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Porozrzucaj" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Wybór źródła" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Ulepszanie obrazu" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Wyszarz" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Załaduj obrazek jako szarości" -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Symulacja trójprzebiegowa" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4758,12 +5457,12 @@ msgstr "" "Symuluje skaner trójprzebiegowy zwracając trzy oddzielne ramki: zieloną, " "potem niebieską a na końcu czerwoną." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Symulacja skanera ręcznego" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4774,7 +5473,7 @@ msgstr "" "obrazka. Zamiast tego zwracają wysokość -1. Ustawienie tej opcji pozwala " "sprawdzić czy frontend obsługuje to poprawnie." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." @@ -4782,42 +5481,42 @@ msgstr "" "Przywróć domyślne wartości dla ustawień ulepszania (jasności i " "kontrastu)." -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Tylko do odczytu (opcja testowa)" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Sprawdzam czy frontendy interpretują to poprawnie" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Tablice gamma" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Symulacja kodu statusu" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Nie wymuszaj kodu statusu" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Nie wymuszaj na frontendzie zwracania kodu statusu." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Zwróć SANE_STATUS_EOF" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4826,12 +5525,12 @@ msgstr "" "Zmuś sterownik by zwrócił kod SANE_STATUS_EOF po tym jak została " "wywołana funkcja sane_read()." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Zwróć SANE_STATUS_JAMMED" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4840,12 +5539,12 @@ msgstr "" "Zmuś sterownik by zwrócił kod SANE_STATUS_JAMMED po tym jak została " "wywołana funkcja sane_read()." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Zwróć SANE_STATUS_NO_DOCS" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4854,12 +5553,12 @@ msgstr "" "Zmuś sterownik by zwrócił kod SANE_STATUS_NO_DOCS po tym jak została " "wywołana funkcja sane_read()." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Zwróć SANE_STATUS_COVER_OPEN" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4868,12 +5567,12 @@ msgstr "" "Zmuś sterownik by zwrócił kod SANE_STATUS_COVER_OPEN po tym jak została " "wywołana funkcja sane_read()." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Zwróć SANE_STATUS_IO_ERROR" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4882,12 +5581,12 @@ msgstr "" "Zmuś sterownik by zwrócił kod SANE_STATUS_IO_ERROR po tym jak została " "wywołana funkcja sane_read()." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Zwróć SANE_STATUS_NO_MEM" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4896,12 +5595,12 @@ msgstr "" "Zmuś sterownik by zwrócił kod po tym jak została wywołana funkcja " "sane_read()." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Zwróć SANE_STATUS_ACCESS_DENIED" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4910,85 +5609,82 @@ msgstr "" "Zmuś sterownik by zwrócił kod SANE_STATUS_ACCESS_DENIED po tym jak " "została wywołana funkcja sane_read()." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "Opcja ta odzwierciedla stan przycisku skanera." -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Włącz lampę" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Włącza lampę skanera" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Wyłącz lampę" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Wyłącza lampę skanera" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "Czas wyłączenia lampy" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "Liczba minut do wyłączenia lampy po skanowaniu" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "Wartość progowa dla trybu kreski" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "podajnik dokumentów" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (cale)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 (cale)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 (cale)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Półcienie nie wspierane" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "RozproszonaKropka8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "RozproszonaKropka16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -5004,27 +5700,27 @@ msgstr "" "połowie pracy; jeżeli za wysoko, graficzne frontendy mogą przestać " "odpowiadać." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Wysuń dokument po zeskanowaniu" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Tryb podglądu" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -5033,12 +5729,12 @@ msgstr "" "Wybierz tryb dla podglądów. Podglądy w skali szarości zwykle dają " "najlepszą kombinację szybkości i detali." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Ustawienia zdefiniowane" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -5046,97 +5742,97 @@ msgid "" msgstr "" "Udostępnia standardowe obszary skanowania dla fotografii, druków itp." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "skaner płaski" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, fuzzy, no-c-format msgid "Focus-mode" msgstr "Ostrość" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Ostrość automatyczna" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Pozycja skupienia (ostrości)" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Pozycja skupienia (ostrości)" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Liczba kolorów na odczyt" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Liczba linii w skali szarości na odczyt" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "kamera internetowa" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Kolor RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Kolor RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Kolor RGB TEKST" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Całkowicie czarny" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Całkowicie biały" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Wzorzec kolorów" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Siatka" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Pierwsza pozycja" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Druga pozycja" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5145,12 +5841,12 @@ msgstr "" "To jest bardzo długa trzecia pozycja. Być może frontend ma jakiś pomysł " "jak ją wyświetlić" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Symulacja skanera ręcznego" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5163,12 +5859,12 @@ msgstr "" "sprawdzić czy frontend obsługuje to poprawnie. Ta opcja również włącza " "szerokość ustaloną 11 cm." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Symulacja skanera trójprzebiegowego" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5177,17 +5873,17 @@ msgstr "" "Symuluje skaner trójprzebiegowy. W trybie kolorowym przesyłane są trzy " "ramki." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Ustaw kolejność ramek" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "Ustaw kolejność ramek w kolorowym trybie trójprzebiegowym" -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " @@ -5196,17 +5892,17 @@ msgstr "" "Jeśli wybrano automatyczny podajnij dokumentów (ADF), podajnik będzie " "'pusty' po 10 skanach." -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Opcje Specjalne" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Wybierz obraz testowy" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5222,12 +5918,12 @@ msgstr "" "Wzorzec kolorów: rysuje różne kolorowe wzory testowe, zależne od trybu.\n" "Siatka: rysuje czarno-białą siatkę o rozmiarach 10x10mm na kwadrat." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Odwróć kolejność bajtów" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5238,24 +5934,24 @@ msgstr "" "opcja może być używana do testowania 16-bitowych trybów frontendów, np. " "czy frontend używa odpowiedniej kolejności." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Granica odczytu" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" "Ogranicza ilość danych przesyłanych przy każdym wywołaniu funkcji " "sane_read()." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Rozmiar limitu odczytu" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." @@ -5263,33 +5959,33 @@ msgstr "" "(maksymalna) ilość danych transmitowanych z każdym wywołaniem " "sane_read()." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Opóźnienie odczytu" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Opóźnia transfer danych do potoku." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Okres opóźnienia odczytu" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "Jak długo czekać po transmisji każdego bufora danych przez potok." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Wartość powrotna sane_read" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5300,22 +5996,22 @@ msgstr "" "skanowanie. Wszystkie inne kody statusu służą do testowania jak traktuje " "je frontend." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Utrata pikseli na linię" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Liczba pikseli które są tracone przy końcu każdej linii." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Parametry rozmyte" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5324,24 +6020,24 @@ msgstr "" "Zwraca rozmyte linie i bajty na linię gdy wywoływany jest " "sane_parameters() przed sane_start()." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Używaj nie blokującego IO" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Użyj nie blokującego IO dla sane_read jeżeli jest to wspierane przez " "frontend." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Proponuj deskryptor pliku \"select\"" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5350,12 +6046,12 @@ msgstr "" "Proponuj deskryptor pliku \"select\" jeżeli sane_read() będzie zwracaj " "dane." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Udostępnij opcje testowe" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5364,27 +6060,27 @@ msgstr "" "Udostępnia różne opcje testowe. Służy do testowania możliwości " "frontendów do przeglądania i modyfikowania różnych typów opcji SANE." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Opcje drukowania" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Drukuj listę wszystkich opcji." -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Opcje testowe (typu logicznego)" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) logiczny miękki wybór miękkie wykrywanie" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5393,12 +6089,12 @@ msgstr "" "(1/6) logiczna opcja testowa, która umożliwia miękki wybór i miękkie " "(oraz zaawansowane) wykrywanie możliwości. Jest to zwykła opcja logiczna." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Logiczny twardy wybór miękkie wykrywanie" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5410,12 +6106,12 @@ msgstr "" "może być ustawiona przez frontend, tylko przez użytkownika (np. przez " "przyciśnięcie przycisku na urządzeniu)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Logiczny twardy wybór" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5427,12 +6123,12 @@ msgstr "" "użytkownika (np. przez przyciśnięcie przycisku na urządzeniu) i nie może " "być odczytywana przez frontend" -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) Logiczne miękkie wykrywanie" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5442,12 +6138,12 @@ msgstr "" "(również zaawansowanych) możliwości. Oznacza to, że jest tylko do " "odczytu." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Emulowany logiczny miękki wybór miękkie wykrywanie" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5456,12 +6152,12 @@ msgstr "" "(5/6) Logiczna opcja testowa, która umożliwia miękki wybór, miękkie " "wykrywanie i emulowanie (również zaawansowanych) możliwości" -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) Logiczny miękki wybór miękkie wykrywanie automatyczne" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5472,53 +6168,53 @@ msgstr "" "wykrywanie i automatyczne (oraz zaawansowane) możliwości. Ta opcja może " "być automatycznie ustawiania przez sterownik." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Opcje testowe typu całkowitego (int)" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Typ całkowity (int)" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "" "(1/6) Opcja testowa typu całkowitego bez narzuconych jednostek i " "ograniczeń" -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Typ całkowity o ograniczonym zasięgu" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " "is 4, maximum 192, and quant is 2." msgstr "(2/6) Opcja testowa typu całkowitego " -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(/6) Typ całkowity" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" "(3/6) Opcja testowa typu całkowitego posiadająca bity jednostek oraz " "ograniczona słownikiem" -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Macierz typu całkowitego" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " @@ -5527,12 +6223,12 @@ msgstr "" "(4/6) Opcja testowa typu całkowitego z jednostką w mm, używająca " "macierzy nieograniczonej" -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) Macierz typu całkowitego z ograniczonym zasięgiem" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5542,12 +6238,12 @@ msgstr "" "tablicy z ograniczeniem zasięgu. Minimum to 4, maksimum 192, a kwant to " "2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Macierz typu całkowitego ograniczona słownikiem" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5556,28 +6252,28 @@ msgstr "" "(6/6) Opcja testowa typu całkowitego z jednostką w procentach, używająca " "tablicy ograniczonej słownikiem" -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Opcje testowe stałoprzecinkowe" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Typ stałoprzecinkowy" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "" "(1/3) Opcja testowa stałoprzecinkowa bez jednostek i bez ograniczeń" -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Typ stałoprzecinkowy o ograniczonym zasięgu" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5587,49 +6283,49 @@ msgstr "" "ograniczonym zasięgiem. Minimum to -42.17, maksimum 32767.9999 a kwant " "to 2.0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) Typ stałoprzecinkowy ograniczony słownikiem" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" "(3/3) Opcja testowa stałoprzecinkowa bez jednostek, ograniczona " "słownikiem" -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "Opcje testowe typu ciąg znakowy" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) Ciąg znakowy" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) Opcja testowa typu ciąg znakowy bez narzuconych ograniczeń" -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) Ciąg znakowy ograniczony listą" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "(2/3) Opcja testowa typu ciąg znakowy ograniczona listą" -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) Ciąg znakowy ograniczony długą listą" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5638,155 +6334,159 @@ msgstr "" "(/3) Opcja testowa typu ciąg znakowy ograniczony listą. Zawiera trochę " "więcej pozycji..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Opcje testowe przycisków" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Przycisk" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Opcja testowa przycisku. Wyświetla trochę tekstu..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Kolor 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Użyj Składania Obrazków" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Dwupoziomowa czerń i biel (tryb kreski)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Ditherowana/półcieniowa czerń i biel (tryb półtonów)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Wielopoziomowa czerń i biel (tryb szarości)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Wielopoziomowy kolor RGB (kolor jednoprzebiegowy)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Ignoruj kalibrację" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Zablokuj wstępne ustawianie ostrości" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Nie kalibruj ostrości" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Ręczne wstępne ustawianie ostrości" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Popraw pozycję skupienia" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Kalibracja soczewek w pozycji dokumentu" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Kaibruj skupienie soczewek w pozycji dokumentu" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Pozycja skupienia uchwytu 0mm" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Użyj pozycji skupienia uchwytu 0mm zamiast 0.6mm" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Tryb kalibracji" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Zdefiniuj tryb kalibracji" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Ustawia lapę jako włączoną lub wyłączoną" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "Włącz UTA" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Ustawia UTA jako włączone lub wyłączone" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Offset" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Ustawienia offsetu kanałów koloru" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Przesunięcie (offset) skali szarości" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Ustawienie offsetu kanału szarości" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Ustawienie offsetu kanału czerwieni" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Ustawienie offsetu kanału zieleni" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Ustawienie offsetu kanału błękitu" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Tryb podglądu" + #~ msgid "problem not analyzed (unknown SCSI class)" #~ msgstr "problem nie przeanalizowany (nieznana klasa SCSI)" diff --git a/po/pt.gmo b/po/pt.gmo new file mode 100644 index 0000000..0a0b9fe Binary files /dev/null and b/po/pt.gmo differ diff --git a/po/pt.po b/po/pt.po index b6ca1ca..b4cf46d 100644 --- a/po/pt.po +++ b/po/pt.po @@ -4,458 +4,452 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.10\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2007-05-08 13:31+0200\n" "Last-Translator: Pedro Morais \n" "Language-Team: pt \n" -"Language: \n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Número de opções" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometria" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Melhorias" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Previsão" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Modo de digitalização" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Velocidade de digitalização" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Origem da digitalização" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Superior-esquerda x" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Superior-esquerda y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Inferior-direita x" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Inferior-direita y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Resolução digitalização" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "X-Resolução" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Y-Resolução" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "Largura página" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, no-c-format msgid "Page height" msgstr "Altura página" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Usar tabela customizada gamma" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Intensidade da imagem" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Intensidade do vermelho" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Intensidade do verde" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Intensidade do azul" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Brilho" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Contraste" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Tamanho do grão" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Simulação de cinza" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Nível de preto" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Nível de branco" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Nível de branco para vermelho" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Nível de branco para verde" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Nível de branco para azul" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Sombra" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Sombra para vermelho" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Sombra para verde" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Sombra para azul" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Clarear" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Natural-Hue" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Saturação" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Nome do ficheiro" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Tamanho padrão ponto - simulação cinza" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Simulação cinza padrão" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Vincular resoluções X e Y" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Calibração de qualidade" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Resolução ótica dupla" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Vincular RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Valor do pixel-Threshold" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Correção analógica do gama" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Gama analógico vermelho" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Gama analógico verde" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Gama analógico azul" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Vincular gama analógico" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Aquecimento da lâmpada" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Tempo de exposição Cal." -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Tempo de exposição Cal. para Vermelho" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Tempo de exposição Cal. para Verde" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Tempo de exposição Cal. para azul" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Tempo de exposição digitalização" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Tempo de exposição digitalização para Vermelho" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Tempo de exposição digitalização para Verde" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Tempo de exposição digitalização para Azul" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Definir tempo de exposição" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Densidade lâmpada Cal." -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Densidade luz de digitalização" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Definir densidade da luz" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Desligar lâmpada na saída" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " "supports." msgstr "" -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, no-c-format msgid "Source, mode and resolution options" msgstr "Opções de Fonte, Modo e Resolução" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "Opções de digitalização de área e mídia" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, fuzzy, no-c-format msgid "Image modification options" msgstr "Opções para alteração de imagens" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, no-c-format msgid "Hardware specific options" msgstr "Opções específicas de hardware" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "ensores e botôes do scanner" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Solicitar pré-visualização com qualidade da digitalização" -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -463,88 +457,88 @@ msgid "" "scanner, it reduces the memory requirements and scan-time of the preview." msgstr "" -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " "for multibit scans." msgstr "" -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "Selecionar Modo de digitalização ex. monocromático, colorido, ..." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Determina em qual velocidade digitaliza" -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Seleciona fonte para digitalização (ex. ADF)" -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "ontrola se o backtracking é forçado" -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Posição de área de digitalização Superior-esquerda x" -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Posição de área de digitalização Superior-esquerda y " -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Posição de área de digitalização Inferior-direita x" -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Posição de área de digitalização Inferior-direita y" -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "efine resolução de saída" -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Define resolução horizontal de saída " -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Define resolução horizontal de saída" -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " "sheet-fed scans." msgstr "" -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, no-c-format msgid "Specifies the height of the media." msgstr "Especifica a altura da mídia" -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." msgstr "" "Determine se um builtin ou tabela customizada gama deve ser utilizada" -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -552,425 +546,425 @@ msgid "" "gamma table)." msgstr "" -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Tabela correção Gama para banda vermelha" -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Tabela correção Gama para banda verde" -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Tabela correção Gama para banda azul" -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Controla o brilho da imagem adquirida." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Controla o contraste da imagem adquirida." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " "in sharper images." msgstr "" -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" "Defina se a imagem inserida deve ser simulada em cinza (halftone-" "dithered)" -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." msgstr "" -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." msgstr "" -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "" -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " "when acquiring an image with a camera. Larger values cause more blooming." msgstr "" -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "" -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " "halftoned images." msgstr "" -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." msgstr "" -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Usar lentes que duplicam a resolução ótica" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "Em modo RGB usar os mesmos valores para cada cor" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Selecionar brilho mínimo para obter ponto branco" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Correção analógica gama" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Correção analógica gama para Vermelho" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Correção analógica gama para Verde" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Correção analógica gama para Azul" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Aquecer lâmpada antes de digitalizar" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Definir tempo de exposição para calibração" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Definir tempo de exposição para calibração do vermelho" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Definir tempo de exposição para calibração do verde" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Definir tempo de exposição para calibração do azul" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Definir tempo de exposição para digitalização" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Definir tempo de exposição para digitalização do vermelho" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, fuzzy, no-c-format msgid "Scan button" msgstr "Origem da digitalização" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, no-c-format msgid "Email button" msgstr "" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, no-c-format msgid "Fax button" msgstr "" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, no-c-format msgid "Copy button" msgstr "" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, fuzzy, no-c-format msgid "Cover open" msgstr "Linhas em cor" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Cor" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Linhas em cor" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Cinzento" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Linhas" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, no-c-format msgid "Operation not supported" msgstr "" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, no-c-format msgid "Document feeder jammed" msgstr "" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, no-c-format msgid "Document feeder out of documents" msgstr "" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Predefinições" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "" -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Calibração" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " "Otherwise, calibration is performed only before the first start." msgstr "" -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -978,1451 +972,2186 @@ msgid "" "or from the configuration file, are used." msgstr "" -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Estado do botão" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, fuzzy, no-c-format msgid "Duplex scan" msgstr "Digitalização completa" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, fuzzy, no-c-format msgid "Calibrate Scanner" msgstr "Calibração" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, fuzzy, no-c-format msgid "Force scanner calibration before scan" msgstr "Calibração rudimentar apenas na primeira digitalização" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Ganho analógico" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Correcção do gamma" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, fuzzy, no-c-format msgid "No transparency correction" msgstr "Correcção do gamma" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, fuzzy, no-c-format msgid "Negatives" msgstr "Negativo" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, fuzzy, no-c-format msgid "Slides" msgstr "Mais lento" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automático" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, fuzzy, no-c-format msgid "Normal speed" msgstr "Normal" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Valor de 'gamma'" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, fuzzy, no-c-format msgid "transparency unit lamp failure" msgstr "Unidade de Transparências" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, fuzzy, no-c-format msgid "transparency unit shading error" msgstr "Unidade de Transparências" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Filme Negativo" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Calibração" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Definine o modo de calibração" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "Digitalização rápida" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, fuzzy, no-c-format msgid "Flatbed only" msgstr "Flachbett" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, fuzzy, no-c-format msgid "Transparency unit" msgstr "Unidade de Transparências" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, fuzzy, no-c-format msgid "Negative film" msgstr "Filme Negativo" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Filme Positivo" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, fuzzy, no-c-format msgid "Transparency ratio" msgstr "Unidade de Transparências" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flachbett" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, no-c-format msgid "Card Front" msgstr "" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, no-c-format msgid "Card Duplex" msgstr "" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Vermelho" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Verde" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Azul" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Melhorias" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Melhorias" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Melhorias" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "Desconsiderar porcentagem branco" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, fuzzy, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" +"Solicita ao driver para eliminar páginas com baixo número de pixels " +"escuros" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Unidade de Transparências" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Filme Positivo" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Filme Negativo" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Sem Correcção" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Definido pelo utilizador" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Impressoras de agulhas" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Impressoras térmicas" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Impressoras de jacto de tinta" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "Monitores CRT" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Predefinição" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 +#, no-c-format +msgid "High density printing" +msgstr "" + +#: backend/epson.c:659 backend/epson2.c:257 +#, no-c-format +msgid "Low density printing" +msgstr "" + +#: backend/epson.c:660 backend/epson2.c:258 +#, no-c-format +msgid "High contrast printing" +msgstr "" + +#: backend/epson.c:678 backend/epson2.c:276 +#, no-c-format +msgid "User defined (Gamma=1.0)" +msgstr "" + +#: backend/epson.c:679 backend/epson2.c:277 +#, no-c-format +msgid "User defined (Gamma=1.8)" +msgstr "" + +#: backend/epson.c:757 +#, no-c-format +msgid "CD" +msgstr "CD" + +#: backend/epson.c:758 +#, no-c-format +msgid "A5 portrait" +msgstr "" + +#: backend/epson.c:759 +#, no-c-format +msgid "A5 landscape" +msgstr "" + +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 +#, no-c-format +msgid "Letter" +msgstr "Letter" + +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 +#, no-c-format +msgid "A4" +msgstr "A4" + +#: backend/epson.c:762 +#, no-c-format +msgid "Max" +msgstr "Máximo" + +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 +#, no-c-format +msgid "Scan Mode" +msgstr "Modo de Digitalização" + +#: backend/epson.c:2845 backend/epson2.c:1012 +#, no-c-format +msgid "Selects the halftone." +msgstr "" + +#: backend/epson.c:2867 backend/epson2.c:1033 +#, no-c-format +msgid "Dropout" +msgstr "" + +#: backend/epson.c:2868 backend/epson2.c:1034 +#, no-c-format +msgid "Selects the dropout." +msgstr "" + +#: backend/epson.c:2880 backend/epson2.c:1046 +#, no-c-format +msgid "Selects the brightness." +msgstr "" + +#: backend/epson.c:2895 backend/epson2.c:1059 +#, no-c-format +msgid "Sharpness" +msgstr "" + +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#, no-c-format +msgid "Color correction" +msgstr "" + +#: backend/epson.c:3034 backend/epson2.c:1177 +#, no-c-format +msgid "Sets the color correction table for the selected output device." +msgstr "" + +#: backend/epson.c:3075 +#, no-c-format +msgid "Color correction coefficients" +msgstr "" + +#: backend/epson.c:3076 +#, no-c-format +msgid "Matrix multiplication of RGB" +msgstr "" + +#: backend/epson.c:3093 +#, no-c-format +msgid "Shift green to red" +msgstr "" + +#: backend/epson.c:3094 +#, no-c-format +msgid "Shift green to blue" +msgstr "" + +#: backend/epson.c:3095 +#, no-c-format +msgid "Shift red to green" +msgstr "Deslocar vermelho para o verde" + +#: backend/epson.c:3097 +#, no-c-format +msgid "Shift red to blue" +msgstr "" + +#: backend/epson.c:3098 +#, no-c-format +msgid "Shift blue to green" +msgstr "" + +#: backend/epson.c:3099 +#, no-c-format +msgid "Shift blue to red" +msgstr "" + +#: backend/epson.c:3102 +#, no-c-format +msgid "Controls green level" +msgstr "" + +#: backend/epson.c:3103 +#, no-c-format +msgid "Adds to red based on green level" +msgstr "" + +#: backend/epson.c:3104 +#, no-c-format +msgid "Adds to blue based on green level" +msgstr "" + +#: backend/epson.c:3105 +#, no-c-format +msgid "Adds to green based on red level" +msgstr "" + +#: backend/epson.c:3106 +#, no-c-format +msgid "Controls red level" +msgstr "" + +#: backend/epson.c:3107 +#, no-c-format +msgid "Adds to blue based on red level" +msgstr "" + +#: backend/epson.c:3108 +#, no-c-format +msgid "Adds to green based on blue level" +msgstr "" + +#: backend/epson.c:3109 +#, no-c-format +msgid "Adds to red based on blue level" +msgstr "" + +#: backend/epson.c:3110 +#, fuzzy, no-c-format +msgid "Controls blue level" +msgstr "Contraste do canal azul" + +#: backend/epson.c:3206 backend/epson2.c:1256 +#, no-c-format +msgid "Mirror the image." +msgstr "" + +#: backend/epson.c:3232 backend/mustek.c:4332 +#, no-c-format +msgid "Fast preview" +msgstr "" + +#: backend/epson.c:3245 backend/epson2.c:1266 +#, no-c-format +msgid "Auto area segmentation" +msgstr "" + +#: backend/epson.c:3258 +#, no-c-format +msgid "Short resolution list" +msgstr "" + +#: backend/epson.c:3260 +#, no-c-format +msgid "Display short resolution list" +msgstr "" + +#: backend/epson.c:3267 +#, no-c-format +msgid "Zoom" +msgstr "" + +#: backend/epson.c:3269 +#, no-c-format +msgid "Defines the zoom factor the scanner will use" +msgstr "" + +#: backend/epson.c:3349 +#, no-c-format +msgid "Quick format" +msgstr "" + +#: backend/epson.c:3360 backend/epson2.c:1341 +#, no-c-format +msgid "Optional equipment" +msgstr "" + +#: backend/epson.c:3431 backend/epson2.c:1394 +#, no-c-format +msgid "Eject" +msgstr "" + +#: backend/epson.c:3432 backend/epson2.c:1395 +#, no-c-format +msgid "Eject the sheet in the ADF" +msgstr "" + +#: backend/epson.c:3444 backend/epson2.c:1405 +#, no-c-format +msgid "Auto eject" +msgstr "" + +#: backend/epson.c:3445 backend/epson2.c:1407 +#, no-c-format +msgid "Eject document after scanning" +msgstr "" + +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#, no-c-format +msgid "ADF Mode" +msgstr "" + +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#, no-c-format +msgid "Selects the ADF mode (simplex/duplex)" +msgstr "" + +#: backend/epson.c:3473 backend/epson2.c:1431 +#, no-c-format +msgid "Bay" +msgstr "" + +#: backend/epson.c:3474 backend/epson2.c:1432 +#, no-c-format +msgid "Select bay to scan" +msgstr "" + +#: backend/epson.h:69 backend/epson2.h:68 +#, no-c-format +msgid "" +"Selects the gamma correction value from a list of pre-defined devices or " +"the user defined table, which can be downloaded to the scanner" +msgstr "" + +#: backend/epson.h:72 backend/epson2.h:71 +#, no-c-format +msgid "Focus Position" +msgstr "" + +#: backend/epson.h:73 backend/epson2.h:72 +#, no-c-format +msgid "" +"Sets the focus position to either the glass or 2.5mm above the glass" +msgstr "" + +#: backend/epson.h:75 backend/epson2.h:74 +#, no-c-format +msgid "Wait for Button" +msgstr "" + +#: backend/epson.h:76 backend/epson2.h:75 +#, no-c-format +msgid "" +"After sending the scan command, wait until the button on the scanner is " +"pressed to actually start the scan process." +msgstr "" + +#: backend/epson2.c:102 backend/pixma.c:390 +#, no-c-format +msgid "Infrared" +msgstr "" + +#: backend/epson2.c:117 +#, no-c-format +msgid "TPU8x10" +msgstr "" + +#: backend/epson2.c:136 +#, fuzzy, no-c-format +msgid "Positive Slide" +msgstr "Filme Positivo" + +#: backend/epson2.c:137 +#, fuzzy, no-c-format +msgid "Negative Slide" +msgstr "Filme Negativo" + +#: backend/epson2.c:215 +#, no-c-format +msgid "Built in CCT profile" +msgstr "" + +#: backend/epson2.c:216 +#, fuzzy, no-c-format +msgid "User defined CCT profile" +msgstr "Definido pelo utilizador" + +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#, no-c-format +msgid "On" +msgstr "" + +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 +#, no-c-format +msgid "Off" +msgstr "" + +#: backend/fujitsu.c:686 +#, no-c-format +msgid "DTC" +msgstr "" + +#: backend/fujitsu.c:687 +#, no-c-format +msgid "SDTC" +msgstr "" + +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 +#, no-c-format +msgid "Dither" +msgstr "" + +#: backend/fujitsu.c:690 +#, no-c-format +msgid "Diffusion" +msgstr "" + +#: backend/fujitsu.c:695 +#, fuzzy, no-c-format +msgid "White" +msgstr "Nível de branco" + +#: backend/fujitsu.c:696 +#, fuzzy, no-c-format +msgid "Black" +msgstr "Nível de preto" + +#: backend/fujitsu.c:701 +#, no-c-format +msgid "Continue" +msgstr "" + +#: backend/fujitsu.c:702 +#, no-c-format +msgid "Stop" +msgstr "" + +#: backend/fujitsu.c:704 +#, no-c-format +msgid "10mm" +msgstr "" + +#: backend/fujitsu.c:705 +#, no-c-format +msgid "15mm" +msgstr "" + +#: backend/fujitsu.c:706 +#, no-c-format +msgid "20mm" +msgstr "" + +#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#, no-c-format +msgid "Horizontal" +msgstr "" + +#: backend/fujitsu.c:709 +#, no-c-format +msgid "Horizontal bold" +msgstr "" + +#: backend/fujitsu.c:710 +#, no-c-format +msgid "Horizontal narrow" +msgstr "" + +#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#, no-c-format +msgid "Vertical" +msgstr "" + +#: backend/fujitsu.c:712 +#, no-c-format +msgid "Vertical bold" +msgstr "" + +#: backend/fujitsu.c:714 +#, no-c-format +msgid "Top to bottom" +msgstr "" + +#: backend/fujitsu.c:715 +#, no-c-format +msgid "Bottom to top" +msgstr "" + +#: backend/fujitsu.c:717 +#, no-c-format +msgid "Front" +msgstr "" + +#: backend/fujitsu.c:718 +#, no-c-format +msgid "Back" +msgstr "" + +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#, no-c-format +msgid "Gamma function exponent" +msgstr "" + +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#, no-c-format +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, fuzzy, no-c-format +msgid "Reverse image format" +msgstr "Inverte imagem" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Simulação cinza padrão" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Calibração rudimentar" + +#: backend/fujitsu.c:3221 +#, no-c-format +msgid "Emphasis" +msgstr "" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Saturação" + +#: backend/fujitsu.c:3241 +#, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "" + +#: backend/fujitsu.c:3252 +#, no-c-format +msgid "Mirroring" +msgstr "" + +#: backend/fujitsu.c:3253 +#, no-c-format +msgid "Reflect output image horizontally" +msgstr "" + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Nível de branco para azul" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Contraste do canal azul" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Linhas em cor" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Valor de 'gamma'" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, fuzzy, no-c-format +msgid "Threshold curve" +msgstr "Limiar de aquecimento" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Valor do pixel-Threshold" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, no-c-format +msgid "Noise removal" +msgstr "" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Sem Correcção" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Sem Correcção" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, fuzzy, no-c-format +msgid "Compression" +msgstr "Compressão JPEG" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, fuzzy, no-c-format +msgid "Enable double feed error due to skew" +msgstr "Liga / Desliga Modo de detecção de alimentação" + +#: backend/fujitsu.c:3641 #, no-c-format -msgid "High density printing" +msgid "DF thickness" msgstr "" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/fujitsu.c:3642 +#, fuzzy, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "Liga / Desliga Modo de detecção de alimentação" + +#: backend/fujitsu.c:3660 #, no-c-format -msgid "Low density printing" +msgid "DF length" msgstr "" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/fujitsu.c:3661 +#, fuzzy, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "Liga / Desliga Modo de detecção de alimentação" + +#: backend/fujitsu.c:3684 #, no-c-format -msgid "High contrast printing" +msgid "DF length difference" msgstr "" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/fujitsu.c:3685 #, no-c-format -msgid "User defined (Gamma=1.0)" +msgid "Difference in page length to trigger double feed error" msgstr "" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/fujitsu.c:3708 #, no-c-format -msgid "User defined (Gamma=1.8)" +msgid "DF recovery mode" msgstr "" -#: ../backend/epson.c:757 -#, no-c-format -msgid "CD" -msgstr "CD" +#: backend/fujitsu.c:3709 +#, fuzzy, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: ../backend/epson.c:758 +#: backend/fujitsu.c:3728 #, no-c-format -msgid "A5 portrait" +msgid "Paper protection" msgstr "" -#: ../backend/epson.c:759 +#: backend/fujitsu.c:3729 #, no-c-format -msgid "A5 landscape" +msgid "Request scanner to predict jams in the ADF" msgstr "" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 -#, no-c-format -msgid "Letter" -msgstr "Letter" +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Imprimir opções" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/fujitsu.c:3749 #, no-c-format -msgid "A4" -msgstr "A4" +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" -#: ../backend/epson.c:762 -#, no-c-format -msgid "Max" -msgstr "Máximo" +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Sem Correcção" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/fujitsu.c:3769 #, no-c-format -msgid "Scan Mode" -msgstr "Modo de Digitalização" +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/fujitsu.c:3788 #, no-c-format -msgid "Selects the halftone." +msgid "Background color" msgstr "" -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/fujitsu.c:3789 #, no-c-format -msgid "Dropout" +msgid "" +"Set color of background for scans. May conflict with overscan option" msgstr "" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Cor da lâmpada" + +#: backend/fujitsu.c:3810 #, no-c-format -msgid "Selects the dropout." +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" msgstr "" -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/fujitsu.c:3833 #, no-c-format -msgid "Selects the brightness." +msgid "Buffer mode" msgstr "" -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/fujitsu.c:3834 #, no-c-format -msgid "Sharpness" +msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/fujitsu.c:3853 #, no-c-format -msgid "Color correction" +msgid "Prepick" msgstr "" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/fujitsu.c:3854 #, no-c-format -msgid "Sets the color correction table for the selected output device." +msgid "Request scanner to grab next page from ADF" msgstr "" -#: ../backend/epson.c:3075 +#: backend/fujitsu.c:3873 #, no-c-format -msgid "Color correction coefficients" +msgid "Overscan" msgstr "" -#: ../backend/epson.c:3076 +#: backend/fujitsu.c:3874 #, no-c-format -msgid "Matrix multiplication of RGB" +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: ../backend/epson.c:3093 +#: backend/fujitsu.c:3892 #, no-c-format -msgid "Shift green to red" +msgid "Sleep timer" msgstr "" -#: ../backend/epson.c:3094 +#: backend/fujitsu.c:3893 #, no-c-format -msgid "Shift green to blue" +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: ../backend/epson.c:3095 -#, no-c-format -msgid "Shift red to green" -msgstr "Deslocar vermelho para o verde" +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Lâmpada acesa" -#: ../backend/epson.c:3097 +#: backend/fujitsu.c:3912 #, no-c-format -msgid "Shift red to blue" +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: ../backend/epson.c:3098 -#, no-c-format -msgid "Shift blue to green" -msgstr "" +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Deslocamento do azul" -#: ../backend/epson.c:3099 +#: backend/fujitsu.c:3931 #, no-c-format -msgid "Shift blue to red" +msgid "Adjust front/back offset" msgstr "" -#: ../backend/epson.c:3102 +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format -msgid "Controls green level" -msgstr "" +msgid "Green offset" +msgstr "Deslocamento do verde" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Deslocamento do verde" -#: ../backend/epson.c:3103 +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format -msgid "Adds to red based on green level" -msgstr "" +msgid "Blue offset" +msgstr "Deslocamento do azul" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Deslocamento do canal azul" -#: ../backend/epson.c:3104 +#: backend/fujitsu.c:3980 #, no-c-format -msgid "Adds to blue based on green level" +msgid "Low Memory" msgstr "" -#: ../backend/epson.c:3105 +#: backend/fujitsu.c:3981 #, no-c-format -msgid "Adds to green based on red level" +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." msgstr "" -#: ../backend/epson.c:3106 +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Digitalização completa" + +#: backend/fujitsu.c:3997 #, no-c-format -msgid "Controls red level" +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." msgstr "" -#: ../backend/epson.c:3107 +#: backend/fujitsu.c:4008 #, no-c-format -msgid "Adds to blue based on red level" +msgid "Hardware deskew and crop" msgstr "" -#: ../backend/epson.c:3108 +#: backend/fujitsu.c:4009 +#, fuzzy, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "Solicita ao driver para rotacionar digitalmente páginas inclinadas" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 #, no-c-format -msgid "Adds to green based on blue level" -msgstr "" +msgid "Software deskew" +msgstr "Alinhamento - Deskew" + +#: backend/fujitsu.c:4021 +#, fuzzy, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "Solicita ao driver para rotacionar digitalmente páginas inclinadas" -#: ../backend/epson.c:3109 +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 #, no-c-format -msgid "Adds to red based on blue level" +msgid "Software despeckle diameter" +msgstr "Diâmetro despeckle" + +#: backend/fujitsu.c:4034 +#, fuzzy, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." msgstr "" +"Diâmetro máximo de pontos isolados a serem removidos da digitalização" -#: ../backend/epson.c:3110 +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, fuzzy, no-c-format -msgid "Controls blue level" -msgstr "Contraste do canal azul" +msgid "Software crop" +msgstr "Crop automático" + +#: backend/fujitsu.c:4054 +#, fuzzy, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/fujitsu.c:4083 #, no-c-format -msgid "Mirror the image." +msgid "Halt on Cancel" msgstr "" -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/fujitsu.c:4084 #, no-c-format -msgid "Fast preview" +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Imprimir opções" + +#: backend/fujitsu.c:4096 #, no-c-format -msgid "Auto area segmentation" +msgid "Controls for endorser unit" msgstr "" -#: ../backend/epson.c:3258 +#: backend/fujitsu.c:4107 #, no-c-format -msgid "Short resolution list" +msgid "Endorser" msgstr "" -#: ../backend/epson.c:3260 +#: backend/fujitsu.c:4108 #, no-c-format -msgid "Display short resolution list" +msgid "Enable endorser unit" msgstr "" -#: ../backend/epson.c:3267 +#: backend/fujitsu.c:4123 #, no-c-format -msgid "Zoom" +msgid "Endorser bits" msgstr "" -#: ../backend/epson.c:3269 +#: backend/fujitsu.c:4124 #, no-c-format -msgid "Defines the zoom factor the scanner will use" +msgid "Determines maximum endorser counter value." msgstr "" -#: ../backend/epson.c:3349 +#: backend/fujitsu.c:4149 #, no-c-format -msgid "Quick format" +msgid "Endorser value" msgstr "" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/fujitsu.c:4150 #, no-c-format -msgid "Optional equipment" +msgid "Initial endorser counter value." msgstr "" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/fujitsu.c:4173 #, no-c-format -msgid "Eject" +msgid "Endorser step" msgstr "" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/fujitsu.c:4174 #, no-c-format -msgid "Eject the sheet in the ADF" +msgid "Change endorser counter value by this much for each page." msgstr "" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/fujitsu.c:4197 #, no-c-format -msgid "Auto eject" +msgid "Endorser Y" msgstr "" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/fujitsu.c:4198 #, no-c-format -msgid "Eject document after scanning" +msgid "Endorser print offset from top of paper." msgstr "" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/fujitsu.c:4223 #, no-c-format -msgid "ADF Mode" +msgid "Endorser font" msgstr "" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/fujitsu.c:4224 #, no-c-format -msgid "Selects the ADF mode (simplex/duplex)" +msgid "Endorser printing font." msgstr "" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Calibração rudimentar" + +#: backend/fujitsu.c:4254 #, no-c-format -msgid "Bay" +msgid "Endorser printing direction." msgstr "" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/fujitsu.c:4278 #, no-c-format -msgid "Select bay to scan" +msgid "Endorser side" msgstr "" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/fujitsu.c:4279 #, no-c-format -msgid "" -"Selects the gamma correction value from a list of pre-defined devices or " -"the user defined table, which can be downloaded to the scanner" +msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/fujitsu.c:4304 #, no-c-format -msgid "Focus Position" +msgid "Endorser string" msgstr "" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/fujitsu.c:4305 #, no-c-format msgid "" -"Sets the focus position to either the glass or 2.5mm above the glass" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." msgstr "" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/fujitsu.c:4332 #, no-c-format -msgid "Wait for Button" +msgid "Top edge" msgstr "" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/fujitsu.c:4333 #, no-c-format -msgid "" -"After sending the scan command, wait until the button on the scanner is " -"pressed to actually start the scan process." +msgid "Paper is pulled partly into adf" msgstr "" -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/fujitsu.c:4344 #, no-c-format -msgid "Infrared" +msgid "A3 paper" msgstr "" -#: ../backend/epson2.c:117 +#: backend/fujitsu.c:4345 #, no-c-format -msgid "TPU8x10" +msgid "A3 paper detected" msgstr "" -#: ../backend/epson2.c:136 -#, fuzzy, no-c-format -msgid "Positive Slide" -msgstr "Filme Positivo" - -#: ../backend/epson2.c:137 -#, fuzzy, no-c-format -msgid "Negative Slide" -msgstr "Filme Negativo" - -#: ../backend/epson2.c:215 +#: backend/fujitsu.c:4356 #, no-c-format -msgid "Built in CCT profile" +msgid "B4 paper" msgstr "" -#: ../backend/epson2.c:216 -#, fuzzy, no-c-format -msgid "User defined CCT profile" -msgstr "Definido pelo utilizador" - -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:4357 #, no-c-format -msgid "On" +msgid "B4 paper detected" msgstr "" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:4368 #, no-c-format -msgid "Off" +msgid "A4 paper" msgstr "" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:4369 #, no-c-format -msgid "DTC" +msgid "A4 paper detected" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:4380 #, no-c-format -msgid "SDTC" +msgid "B5 paper" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:4381 #, no-c-format -msgid "Dither" +msgid "B5 paper detected" msgstr "" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:4404 #, no-c-format -msgid "Diffusion" +msgid "OMR or DF" msgstr "" -#: ../backend/fujitsu.c:672 -#, fuzzy, no-c-format -msgid "White" -msgstr "Nível de branco" - -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:4405 #, fuzzy, no-c-format -msgid "Black" -msgstr "Nível de preto" +msgid "OMR or double feed detected" +msgstr "Detecção de dupla alimentação" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:4428 #, no-c-format -msgid "Continue" +msgid "Power saving" msgstr "" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:4429 #, no-c-format -msgid "Stop" +msgid "Scanner in power saving mode" msgstr "" -#: ../backend/fujitsu.c:681 -#, no-c-format -msgid "10mm" -msgstr "" +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Modo de Alimentação manual" -#: ../backend/fujitsu.c:682 -#, no-c-format -msgid "15mm" -msgstr "" +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Modo de Alimentação manual" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:4476 #, no-c-format -msgid "20mm" +msgid "Function" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:4477 #, no-c-format -msgid "Horizontal" +msgid "Function character on screen" msgstr "" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:4488 #, no-c-format -msgid "Horizontal bold" +msgid "Ink low" msgstr "" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:4489 #, no-c-format -msgid "Horizontal narrow" +msgid "Imprinter ink running low" msgstr "" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 -#, no-c-format -msgid "Vertical" -msgstr "" +#: backend/fujitsu.c:4500 +#, fuzzy, no-c-format +msgid "Double feed" +msgstr "Detecção de dupla alimentação" + +#: backend/fujitsu.c:4501 +#, fuzzy, no-c-format +msgid "Double feed detected" +msgstr "Detecção de dupla alimentação" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:4512 #, no-c-format -msgid "Vertical bold" +msgid "Error code" msgstr "" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:4513 #, no-c-format -msgid "Top to bottom" +msgid "Hardware error code" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:4524 #, no-c-format -msgid "Bottom to top" +msgid "Skew angle" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:4525 #, no-c-format -msgid "Front" +msgid "Requires black background for scanning" msgstr "" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:4536 #, no-c-format -msgid "Back" +msgid "Ink remaining" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 -#, no-c-format -msgid "Software blank skip percentage" -msgstr "Desconsiderar porcentagem branco" +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Nível de branco" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:4548 #, fuzzy, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Density" +msgstr "Intensidade do vermelho" + +#: backend/fujitsu.c:4549 +#, no-c-format +msgid "Density dial" msgstr "" -"Solicita ao driver para eliminar páginas com baixo número de pixels " -"escuros" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 #, fuzzy, no-c-format -msgid "Software crop" -msgstr "Crop automático" +msgid "Duplex switch" +msgstr "Digitalização completa" -#: ../backend/genesys.c:5758 +#: backend/genesys.c:5761 #, fuzzy, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" "Solicita ao driver para eliminar páginas com baixo número de pixels " "escuros" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, fuzzy, no-c-format msgid "Software derotate" msgstr "Alinhamento - Deskew" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, fuzzy, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, fuzzy, no-c-format -msgid "Threshold curve" -msgstr "Limiar de aquecimento" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Linhas em cor" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibração" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definine o modo de calibração" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Modo de calibração" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, fuzzy, no-c-format msgid "Lamp off time" msgstr "Lâmpada acesa" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Calibração rudimentar" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, no-c-format msgid "File button" msgstr "" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, no-c-format msgid "Power button" msgstr "" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Origem da digitalização" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Calibração rudimentar" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Calibração rudimentar apenas na primeira digitalização" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, fuzzy, no-c-format msgid "Buttons" msgstr "Estado do botão" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, fuzzy, no-c-format msgid "Calibrate" msgstr "Calibração" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Calibração rudimentar" -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Calibração rudimentar" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Modo de calibração" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptador de Transparências" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Opções de Depuração" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Aquecimento automático" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2431,12 +3160,12 @@ msgstr "" "Aquecer até o brilho da lâmpada ser constante em ver de insistir em 60 " "segundos de tempo de aquecimento." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Digitalização completa" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2445,12 +3174,12 @@ msgstr "" "Digitalizar toda a área de digitalização, incluindo a faixa de " "calibração. Cuidado: não seleccione toda a altura. Apenas para testes." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Calibração rudimentar" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2461,12 +3190,12 @@ msgstr "" "estiver desactivada são fornecidas opções para configurar manualmente " "este parâmetro. Apenas para testes." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Calibração rudimentar apenas na primeira digitalização" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2478,12 +3207,12 @@ msgstr "" "briho da imagem é diferente em cada digitalização, desactive esta opção. " "Apenas para testes." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2492,83 +3221,83 @@ msgid "" "omitting lines." msgstr "" -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Valor de 'gamma'" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Define o valor de 'gamma' em todos os canais." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, fuzzy, no-c-format msgid "Geometry Group" msgstr "Geometria" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, fuzzy, no-c-format msgid "Scan Mode Group" msgstr "Modo de Digitalização" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, fuzzy, no-c-format msgid "Scanner model" msgstr "Modo de digitalização" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, fuzzy, no-c-format msgid "Disable gamma correction" msgstr "Correcção do gamma" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, fuzzy, no-c-format msgid "Gamma correction will be disabled" msgstr "Correcção do gamma" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, no-c-format msgid "Disable white shading correction" msgstr "" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2576,12 +3305,12 @@ msgid "" "avoids depth emulation." msgstr "" -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, fuzzy, no-c-format msgid "Emulate Grayscale" msgstr "Cinzento" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2589,368 +3318,362 @@ msgid "" "circumstances." msgstr "" -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " "analyze them." msgstr "" -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, fuzzy, no-c-format msgid "Reset chipset" msgstr "Digitalização rápida" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, fuzzy, no-c-format msgid "Information" msgstr "Ignorar a calibração" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, fuzzy, no-c-format msgid "Chipset name" msgstr "Nome do ficheiro" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "" -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, fuzzy, no-c-format msgid "Shows the chipset ID" msgstr "Digitalização rápida" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, fuzzy, no-c-format msgid "Scan counter" msgstr "Origem da digitalização" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, no-c-format msgid "Shows the number of scans made by scanner" msgstr "" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, fuzzy, no-c-format msgid "Update information" msgstr "Imprimir opções" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, fuzzy, no-c-format msgid "offset X" msgstr "Deslocamento" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "" -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, fuzzy, no-c-format msgid "offset Y" msgstr "Deslocamento" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "" -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "" -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "" -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Mais lento" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Negativo" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Cor 48" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Lâmpada acesa" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, fuzzy, no-c-format msgid "Advanced Options" msgstr "Imprimir opções" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, fuzzy, no-c-format msgid "Fine" msgstr "Nome do ficheiro" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Automático" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSC cinzento" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "XPA cinzento" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Lento" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Rápido" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "" -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Limiar de aquecimento" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "" -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "" -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, fuzzy, no-c-format msgid "Change document" msgstr "Melhorias" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "" -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "" -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, fuzzy, no-c-format msgid "Start calibration process." msgstr "Calibração rudimentar" -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "" -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -2959,1408 +3682,1394 @@ msgid "" "value." msgstr "" -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, fuzzy, no-c-format msgid "Color Matrix" msgstr "Linhas em cor" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, fuzzy, no-c-format msgid "Set the scanners color matrix." msgstr "Contraste do canal vermelho." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "" -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, fuzzy, no-c-format msgid "Mono Color Matrix" msgstr "Linhas em cor" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "" -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "" -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "" -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, fuzzy, no-c-format msgid "Update options" msgstr "Imprimir opções" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, fuzzy, no-c-format msgid "Update options." msgstr "Imprimir opções" -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "" -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "" -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Separação automática" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, no-c-format msgid "Landscape" msgstr "Paisagem" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "Inverte imagem" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "Modo de Papel Longo" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "Modo de Controle do Comprimento" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, no-c-format msgid "Manual feed mode" msgstr "Modo de Alimentação manual" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, no-c-format msgid "Manual feed timeout" msgstr "Tempo de desligamento da alimentação manual" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "Detecção de dupla alimentação" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "PB" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, no-c-format msgid "halftone" msgstr "" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, fuzzy, no-c-format msgid "gray" msgstr "Cinzento" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Cor" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, fuzzy, no-c-format msgid "single" msgstr "simples" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" msgstr "contínuo" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, no-c-format msgid "off" msgstr "desliga" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "Aguarde_doc" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "Aguarde-Chave" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, fuzzy, no-c-format msgid "user_def" msgstr "Definido pelo utilizador" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "Cartão de visita" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "Verificar" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, no-c-format msgid "halftone_32" msgstr "" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, no-c-format msgid "halftone_64" msgstr "" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, no-c-format msgid "diffusion" msgstr "" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normal" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, no-c-format msgid "light" msgstr "claro" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "escuro" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "Digitalização rápida" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Predefinição" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, no-c-format msgid "smooth" msgstr "Suave" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "Nenhuma" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Lento" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, no-c-format msgid "medium" msgstr "Média" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "Alta" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, fuzzy, no-c-format msgid "linier" msgstr "Linhas" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Vermelho" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Verde" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, fuzzy, no-c-format msgid "blue" msgstr "Azul" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Origem da digitalização" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, no-c-format msgid "Enable/Disable long paper mode" msgstr "Liga / Desliga Modo Papel Longo" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, no-c-format msgid "Enable/Disable length control mode" msgstr "Liga / Desliga Modo Controle do Comprimento" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, no-c-format msgid "Sets the manual feed mode" msgstr "Define modo de alimentação manual" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Define desligamento de alimentação manual em segundos" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "Liga / Desliga Modo de detecção de alimentação" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "Adequar à página" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "Adequar à página" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "Scanner diminui imagem para adequar à pagina digitalizada" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" "Define posição do papel: Verdadeiro para Paisagem, Falso para Retrato" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Limiar de aquecimento" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " "reduction and image emphasis" msgstr "" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Cor da lâmpada" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Define cor da lâmpada (Color dropout)" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "Inverte imagem nos modos P/B ou simulação de cinza" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, no-c-format msgid "Mirror image (left/right flip)" msgstr "Imagem espelhada" -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "Compressão JPEG" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "Compressão da imagem JPEG com parâmetro Q, '0' - sem compressão" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, fuzzy, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "Solicita ao driver para rotacionar digitalmente páginas inclinadas" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "Alinhamento - Deskew" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "Solicita ao driver para rotacionar digitalmente páginas inclinadas" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "Diâmetro despeckle" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" "Diâmetro máximo de pontos isolados a serem removidos da digitalização" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "Crop automático" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Correcção do gamma" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, fuzzy, no-c-format msgid "wait_doc_hopper_up" msgstr "Aguarde_doc" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, no-c-format msgid "High sensivity" msgstr "" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, no-c-format msgid "Low sensivity" msgstr "" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, no-c-format msgid "err_diffusion" msgstr "" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Sem Correcção" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Normal" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Melhorias" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, fuzzy, no-c-format msgid "Double feed detector sensitivity" msgstr "Detecção de dupla alimentação" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, fuzzy, no-c-format msgid "Set the double feed detector sensitivity" msgstr "Detecção de dupla alimentação" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, fuzzy, no-c-format msgid "Do not stop after double feed detection" msgstr "Detecção de dupla alimentação" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Limiar de aquecimento" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Limiar de aquecimento" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, fuzzy, no-c-format msgid "Inverse image in B/W mode" msgstr "Inverte imagem nos modos P/B ou simulação de cinza" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, fuzzy, no-c-format msgid "JPEG compression" msgstr "Compressão JPEG" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, no-c-format msgid "Set chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Sombra para azul" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Sombra para azul" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamante" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Ganho" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Ganho do cinzento" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Ganho do canal cinzento" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Ganho do vermelho" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Ganho do canal vermelho" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Ganho do verde" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Ganho do canal verde" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Ganho do azul" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Ganho do canal azul" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Modo 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Modo 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Modo 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "CRT" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Uma página" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Todas as páginas" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" msgstr "" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "Esta opção desligar a lâmpada durante a digitalização" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Digitalização de qualidade" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Digitalização rápida" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " "for the threshold." msgstr "" -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "" -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "" -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "" -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." msgstr "" -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "" -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "" -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "" -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "" -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "" -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "" -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "" -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Mais lento" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Lento" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Rápido" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Mais rápido" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "" -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " "This may be a non-color mode or a low resolution mode." msgstr "" -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "" -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Brilho do vermelho" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, fuzzy, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Deslocamento (brilho) do canal vermelho." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Brilho do verde" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, fuzzy, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Deslocamento (brilho) do canal vermelho." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Brilho do azul" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, fuzzy, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Deslocamento (brilho) do canal azul." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Contraste do canal vermelho" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, fuzzy, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Ganho (contraste) do canal vermelho." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Contraste do canal verde" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Contraste do canal azul" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, fuzzy, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Ganho (contraste) do canal azul." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Cor 48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Cor 24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Cinzento 16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Cinzento 8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, fuzzy, no-c-format msgid "Positive" msgstr "Filme Positivo" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4369,39 +5078,39 @@ msgstr "" "Aquecer até o brilho da lâmpada ser constante em ver de insistir em 40 " "segundos de tempo de aquecimento." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Filme Negativo" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, no-c-format msgid "48 bits color" msgstr "" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4409,260 +5118,251 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, fuzzy, no-c-format msgid "Update button state" msgstr "Estado do botão" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, fuzzy, no-c-format msgid "Button 1" msgstr "Estado do botão" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, fuzzy, no-c-format msgid "Button 2" msgstr "Estado do botão" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Transparência" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "" -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, fuzzy, no-c-format msgid "Lamp off during dark calibration" msgstr "Calibração rudimentar" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, fuzzy, no-c-format msgid "Calibration data cache" msgstr "Modo de calibração" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "" -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, fuzzy, no-c-format msgid "Performs calibration" msgstr "Calibração rudimentar" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "" -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "" -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "" -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, fuzzy, no-c-format msgid "Analog frontend" msgstr "Ganho analógico" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Deslocamento do vermelho" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Deslocamento do verde" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Deslocamento do azul" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "" -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Cor 36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Melhorias de Imagem" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Acinzentar" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "" -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " "kicks, it returns green, then blue, then red." msgstr "" -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4670,205 +5370,202 @@ msgid "" "option allows one to test whether a frontend can handle this correctly." msgstr "" -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." msgstr "" -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "" -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " "after sane_read() has been called." msgstr "" -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "" -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Lâmpada acesa" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, fuzzy, no-c-format msgid "Lamp timeout" msgstr "Lâmpada acesa" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (pol)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 (pol)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 (pol)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -4878,148 +5575,148 @@ msgid "" "frontends may stop responding to X events and your system could bog down." msgstr "" -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Aquecer lâmpada antes de digitalizar" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " "combination of speed and detail." msgstr "" -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " "like." msgstr "" -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "Digitalização rápida" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, no-c-format msgid "Focus-mode" msgstr "" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, no-c-format msgid "Auto or manual focus" msgstr "" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, no-c-format msgid "Focus-point" msgstr "" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, no-c-format msgid "Focus point" msgstr "" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Cor RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Cor RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Cor RGB TEXT" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "" -#: ../backend/test.c:138 +#: backend/test.c:138 #, fuzzy, no-c-format msgid "Color pattern" msgstr "Linhas em cor" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Grelha" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Primeira entrada" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Segunda entrada" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " "display it" msgstr "" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5028,46 +5725,46 @@ msgid "" "option also enables a fixed width of 11 cm." msgstr "" -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " "transmitted." msgstr "" -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "" -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " "after 10 scans." msgstr "" -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Opções Especiais" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5078,12 +5775,12 @@ msgid "" "square." msgstr "" -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5091,54 +5788,54 @@ msgid "" "uses the correct endianness." msgstr "" -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." msgstr "" -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "" -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "" -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5146,95 +5843,95 @@ msgid "" "frontend handles them." msgstr "" -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "" -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " "before sane_start()." msgstr "" -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " "data." msgstr "" -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " "frontends to view and modify all the different SANE option types." msgstr "" -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Imprimir opções" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Imprime uma lista de todas as opções." -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " "advanced) capabilities. That's just a normal bool option." msgstr "" -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5242,12 +5939,12 @@ msgid "" "frontend but by the user (e.g. by pressing a button at the device)." msgstr "" -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5255,36 +5952,36 @@ msgid "" "by pressing a button at the device) and can't be read by the frontend." msgstr "" -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " "That means the option is read-only." msgstr "" -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " "(and advanced) capabilities." msgstr "" -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5292,299 +5989,299 @@ msgid "" "backend." msgstr "" -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "" -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " "is 4, maximum 192, and quant is 2." msgstr "" -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " "constraints." msgstr "" -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " "constraint. Minimum is 4, maximum 192, and quant is 2." msgstr "" -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " "list constraint." msgstr "" -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "" -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " "Minimum is -42.17, maximum 32767.9999, and quant is 2.0." msgstr "" -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "" -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "" -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " "entries..." msgstr "" -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "" -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Cor 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Ignorar a calibração" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Modo de calibração" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Definine o modo de calibração" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Deslocamento" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Deslocamento do cinzento" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Deslocamento do canal cinzento" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Deslocamento do canal vermelho" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Deslocamento do canal verde" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Deslocamento do canal azul" diff --git a/po/quot.sed b/po/quot.sed new file mode 100644 index 0000000..0122c46 --- /dev/null +++ b/po/quot.sed @@ -0,0 +1,6 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin new file mode 100644 index 0000000..2436c49 --- /dev/null +++ b/po/remove-potcdate.sin @@ -0,0 +1,19 @@ +# Sed script that remove the POT-Creation-Date line in the header entry +# from a POT file. +# +# The distinction between the first and the following occurrences of the +# pattern is achieved by looking at the hold space. +/^"POT-Creation-Date: .*"$/{ +x +# Test if the hold space is empty. +s/P/P/ +ta +# Yes it was empty. First occurrence. Remove the line. +g +d +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/ru.gmo b/po/ru.gmo new file mode 100644 index 0000000..3b34813 Binary files /dev/null and b/po/ru.gmo differ diff --git a/po/ru.po b/po/ru.po index 7e83aee..2b8335a 100644 --- a/po/ru.po +++ b/po/ru.po @@ -7,12 +7,12 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2007-12-17 23:05+0100\n" "Last-Translator: \n" "Language-Team: \n" -"Language: \n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -20,411 +20,405 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Количество параметров" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Расположение" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Повышение" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Дополнительно" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Предварительный просмотр" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Принудительный одноцветный предварительный просмотр" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Бит на цвет" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Режим сканирования" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Скорость сканирования" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Источник сканирования" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Принудительно откатываться" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Левая верхняя координата X" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Левая верхняя координата Y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Правая нижняя координата X" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Правая нижняя координата Y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Разрешение сканирования" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "Разрешение по X" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Разрешение по Y" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, fuzzy, no-c-format msgid "Page height" msgstr "Подсветка" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Использовать нестандартную гамму" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Интенсивность изображения" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Интенсивность красного" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Интенсивность зелёного" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Интенсивность синего" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Яркость" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Контрастность" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Полутона" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Уровень чёрного" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Уровень белого" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Уровень белого для красного" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Уровень белого для зелёного" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Уровень белого для синего" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Затенённость" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Затенённость для красного" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Затенённость для зелёного" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Затенённость для синего" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Подсветка" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Подсветка для красного" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Подсветка для зелёного" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Подсветка для синего" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Тон" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Насыщенность" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Название файла" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Размер чёрно-белого шаблона" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Чёрно-белый шаблон" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Согласовывать разрешение по X и по Y" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Негатив" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Калибровка качества" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Удваивать оптическое разрешение" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Связывать RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Порог" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Аналоговая коррекция гаммы" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Аналоговая гамма красного" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Аналоговая гамма зелёного" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Аналоговая гамма синего" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Связывать аналоговые гаммы" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Прогрев лампы" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Калибровать время выдержки" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Калибровать время выдержки для красного" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Калибровать время выдержки для зелёного" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Калибровать время выдержки для синего" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Сканировать время выдержки" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Сканировать время выдержки для красного" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Сканировать время выдержки для зелёного" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Сканировать время выдержки для синего" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Установить время выдержки" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Калибровать плотность лампы" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Сканировать плотность лампы" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Установить плотность лампы" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Выключить лампу при выходе" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -433,37 +427,37 @@ msgstr "" "Параметр только для чтения, указывающий как много параметров указанное " "устройство поддерживает." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, fuzzy, no-c-format msgid "Source, mode and resolution options" msgstr "Короткий список разрешений" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, fuzzy, no-c-format msgid "Image modification options" msgstr "Количество параметров" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, fuzzy, no-c-format msgid "Hardware specific options" msgstr "Разрешение сканирования" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Запросить сканирование качества как у предварительного просмотра" -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -475,7 +469,7 @@ msgstr "" "одного, а на однопроходных сканерах сократит требования к памяти и время " "предварительного сканирования." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -484,78 +478,78 @@ msgstr "" "Количество бит на цвет, обычным значением является 1 для штрихового и 8 " "для полутонового режима сканирования." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" "Выберите режим сканирования (например, штриховой, чёрно-белый или " "цветной)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Определяет скорость, с которой производится сканирование." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "" "Выберите источник сканирование (такой как устройство автоматической " "подачи документов)" -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Определяет, будет ли совершаться принудительный откат." -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Координата X левого верхнего угла области сканирования." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Координата Y левого верхнего угла области сканирования." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Координата X правого нижнего угла области сканирования." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Координата Y правого нижнего угла области сканирования." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Устанавливает разрешение сканируемого изображения." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Устанавливает горизонтальное разрешение сканируемого изображения." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Устанавливает вертикальное разрешение сканируемого изображения." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " "sheet-fed scans." msgstr "" -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, fuzzy, no-c-format msgid "Specifies the height of the media." msgstr "Устанавливает разрешение сканируемого изображения." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." @@ -563,7 +557,7 @@ msgstr "" "Определяет, будет ли использоваться встроенная или нестандартная таблица " "гамма-коррекции." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -574,108 +568,108 @@ msgstr "" "одинаково на красный, зелёный и синий каналы (то есть это интенсивность " "коррекции гаммы)." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Таблица коррекции гаммы для красной компоненты." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Таблица коррекции гаммы для зелёной компоненты." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Таблица коррекции гаммы для синей компоненты." -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Управление яркостью полученного изображения." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Управление контрастностью полученного изображения." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " "in sharper images." msgstr "" -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" "Определяет, должно ли полученное изображение быть превращено в " "полутоновое (размытием)." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "" "Определяет, какой уровень излучения должен быть рассмотрен как \"чёрный" "\"." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "" "Определяет, какой уровень излучения должен быть рассмотрен как \"белый\"." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" "Определяет, какой красный уровень излучения должен быть рассмотрен как " "\"белый\"." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" "Определяет, какой зелёный уровень излучения должен быть рассмотрен как " "\"белый\"." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" "Определяет, какой синий уровень излучения должен быть рассмотрен как " "\"белый\"." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" "Определяет, какой красный уровень излучения должен быть рассмотрен как " "\"чёрный\"." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" "Определяет, какой зелёный уровень излучения должен быть рассмотрен как " "\"чёрный\"." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" "Определяет, какой синий уровень излучения должен быть рассмотрен как " "\"чёрный\"." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Определяет, какой красный уровень излучения должен быть рассмотрен как " "\"полный красный\"." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." @@ -683,7 +677,7 @@ msgstr "" "Определяет, какой зелёный уровень излучения должен быть рассмотрен как " "\"полный зелёный\"." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." @@ -691,12 +685,12 @@ msgstr "" "Определяет, какой синий уровень излучения должен быть рассмотрен как " "\"полный синий\"." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Управляет \"тоном\" (уровнем синего) полученного изображения." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -706,12 +700,12 @@ msgstr "" "получается при получении изображения с камеры. Большие значения вызывают " "больше blooming." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Название файла изображения, которое должно быть загружено." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -720,7 +714,7 @@ msgstr "" "Устанавливает размер полутонового (dithering) шаблона, используемого при " "сканировании полутоновых изображений." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." @@ -728,289 +722,289 @@ msgstr "" "Устанавливает полутоновый (dithering) шаблон, используемый при " "сканировании полутоновых изображений." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "" "Использовать одинаковые значения для разрешений по горизонтали и " "вертикали." -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Поменять местами чёрный и белый" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Выполнить качественную калибровку белого" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Использовать lens, которое удваивает оптическое разрешение" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "В режиме RGB использовать одинаковые значения для каждого цвета" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Выберите минимальную яркость для получения белой точки" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Аналоговая коррекция гаммы" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Аналоговая коррекция гаммы для красного" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Аналоговая коррекция гаммы для зелёного" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Аналоговая коррекция гаммы для синего" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Прогревать лампу перед сканированием" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Установить время выдержки для калибровки" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Установить время выдержки для калибровки красного" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Установить время выдержки для калибровки зелёного" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Установить время выдержки для калибровки синего" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Установить время выдержки для сканирования" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Установить время выдержки для сканирования красного" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Установить время выдержки для сканирования зелёного" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Установить время выдержки для сканирования синего" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Включить выбор времени выдержки" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Определить плотность лампы для калибровки" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Определить плотность лампы для сканирования" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Включить выбор плотности лампы" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Выключить лампу при выходе из программы" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, fuzzy, no-c-format msgid "Scan button" msgstr "Разрешение сканирования" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, fuzzy, no-c-format msgid "Email button" msgstr "Ожидать нажатия кнопки" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, fuzzy, no-c-format msgid "Fax button" msgstr "Ожидать нажатия кнопки" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, fuzzy, no-c-format msgid "Copy button" msgstr "Ожидать нажатия кнопки" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, fuzzy, no-c-format msgid "Cover open" msgstr "Цветовой шаблон" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Цветной" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Цветное штриховое" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Цветное полутоновое" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Чёрно-белый" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Полутоновый (растр)" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Штриховой" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, fuzzy, no-c-format msgid "Operation not supported" msgstr "Полутоновое сканирование не поддерживается" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, fuzzy, no-c-format msgid "Document feeder jammed" msgstr "Податчик листов" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, fuzzy, no-c-format msgid "Document feeder out of documents" msgstr "Податчик листов" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "По умолчанию" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Устанавливает значения по умолчанию для управления повышением." -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Калибровка" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Калибровать перед следующим сканированием" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -1020,12 +1014,12 @@ msgstr "" "сканированием. В противном случае, калибровка будет выполнена только " "перед первым сканированием." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Выполнять только коррекцию оттенка" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1036,27 +1030,27 @@ msgstr "" "оттенков. Для усиления, смещения и времени выдержки используются либо " "встроенные значения по умолчанию, либо из конфигурационного файла." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Состояние кнопки" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Количество кадров для сканирования" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Выберите количество кадров для сканирования" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "Двухстороннее сканирование" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" @@ -1064,1036 +1058,1027 @@ msgstr "" "Двухстороннее сканирование позволяет получить изображение лицевой и " "обратной стороны документа" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Калибровать сканер" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Выполнять калибровку сканера перед сканированием" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Чёрно-белое сканирование" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Выполнять чёрно-белое сканирование вместо цветного" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Аналоговое усиление" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Увеличить или уменьшить аналоговое усиление матрицы CCD" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Коррекция гаммы" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Выберите кривую гамма-коррекции" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, fuzzy, no-c-format msgid "No transparency correction" msgstr "Коррекция цветов" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, fuzzy, no-c-format msgid "Negatives" msgstr "Негатив" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, fuzzy, no-c-format msgid "Slides" msgstr "Слайд" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Автоматически" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, fuzzy, no-c-format msgid "Normal speed" msgstr "Нормально" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, fuzzy, no-c-format msgid "1/2 normal speed" msgstr "2x2 нормальное" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, fuzzy, no-c-format msgid "1/3 normal speed" msgstr "3x3 нормальное" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, fuzzy, no-c-format msgid "rounded parameter" msgstr "Нечёткие параметры" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, fuzzy, no-c-format msgid "ADF jam" msgstr "АПД" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Значение гаммы" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, fuzzy, no-c-format msgid "transparency unit lamp failure" msgstr "Модуль для слайдов" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, fuzzy, no-c-format msgid "transparency unit shading error" msgstr "Модуль для слайдов" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, fuzzy, no-c-format msgid "film scanner" msgstr "планшетный сканер" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "планшетный сканер" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Тип плёнки" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Негатив" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, fuzzy, no-c-format msgid "Selects the negative film type" msgstr "Выберите тестовое изображение" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, fuzzy, no-c-format msgid "Hardware resolution" msgstr "Разрешение сканирования" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, fuzzy, no-c-format msgid "Use only hardware resolutions" msgstr "Показывать короткий список разрешений" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, fuzzy, no-c-format msgid "Auto focus" msgstr "Автоизвлечение" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, fuzzy, no-c-format msgid "Enable/disable auto focus" msgstr "Выключить предварительный фокус" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, fuzzy, no-c-format msgid "Manual focus position" msgstr "Зафиксировать позицию фокуса" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Зеркальное изображение" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, fuzzy, no-c-format msgid "Mirror the image horizontally" msgstr "Отображает изображение по горизонтали." -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, fuzzy, no-c-format msgid "Auto exposure" msgstr "Установить время выдержки" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, fuzzy, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Включить выбор времени выдержки" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Калибровка" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Задать режим калибровки" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "листовой сканер" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, fuzzy, no-c-format msgid "Reset the scanner" msgstr "листовой сканер" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, fuzzy, no-c-format msgid "Eject film after each scan" msgstr "Извлечь документ после сканирования" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, fuzzy, no-c-format msgid "Document feeder extras" msgstr "Податчик листов" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, fuzzy, no-c-format msgid "Flatbed only" msgstr "Планшетный" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, fuzzy, no-c-format msgid "Transparency unit" msgstr "Модуль для слайдов" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, fuzzy, no-c-format msgid "Negative film" msgstr "Негатив" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Позитив" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, fuzzy, no-c-format msgid "Transparency ratio" msgstr "Модуль для слайдов" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, fuzzy, no-c-format msgid "Select film type" msgstr "Тип плёнки" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, fuzzy, no-c-format msgid "Select the film type" msgstr "Выбирает полутона." -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Планшетный" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "АПД" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, fuzzy, no-c-format msgid "ADF Duplex" msgstr "Двухсторонний" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Распечатка" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Двухсторонний" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Красный" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Зелёный" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Синий" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Повышение" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Повышение" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Повышение" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Ничего" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Односторонний" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Двухсторонний" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Модуль для слайдов" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Автоматический податчик документов" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Позитив" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Негатив" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Фокус на стекле" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Фокус 2.5мм над стеклом" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Чёрно-белый A (Резкие тона)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Чёрно-белый B (Мягкие тона)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Чёрно-белый C (Net Screen)" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Технология улучшения текста" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Загрузить шаблон A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Загрузить шаблон B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Без коррекции" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Определяемое пользователем" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Матричные принтеры" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Термические принтеры" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Струйные принтеры" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "Мониторы с ЭЛТ" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "По умолчанию" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Печать высокой плотности" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Печать высокой плотности" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Печать высокой контрастности" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Определённое пользователем (Gamma=1.0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Определённое пользователем (Gamma=1.8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 портрет" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 ландшафт" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Letter" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Макс" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Режим сканирования" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Выбирает полутона." -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "" -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Выбирает яркость." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Резкость" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Коррекция цветов" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" "Устанавливает таблицу коррекции цветов для выбранного выходного " "устройства." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Коэффициенты цветовой коррекции" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Матричный множитель RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Сдвиг зелёного к красному" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Сдвиг зелёного к синему" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Сдвиг красного к зелёному" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Сдвиг красного к синему" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Сдвиг синего к зелёному" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Сдвиг синего к красному" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Управляет уровнем зелёного" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Добавляет к красному, основанному на уровне зелёного" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Добавляет к синему, основанному на уровне зелёного" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Добавляет к зелёному, основанному на уровне красного" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Управляет уровнем красного" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Добавляет к синему, основанному на уровне красного" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Добавляет к зелёному, основанному на уровне синего" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Добавляет к красному, основанному на уровне синего" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Управляет уровнем синего" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Сделать изображение зеркальным." -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Быстрый предварительный просмотр" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Автоматически разделять на области" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Короткий список разрешений" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Показывать короткий список разрешений" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Масштаб" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "" "Определяет коэффициент масштабирования, который будет использоваться " "сканером" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Быстрый формат" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Дополнительное оборудование" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Извлечь" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Вставить бумагу в устройство подачи документов" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Автоизвлечение" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Извлечь документ после сканирования" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "Режим автоподачи" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Выбирает режим автоподачи (односторонний/двухсторонний)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Отсек" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Выбрать отсек, который сканировать" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2102,12 +2087,12 @@ msgstr "" "Выбирает значение гамма-коррекции из списка предопределённых или " "настроенных пользователем, которое может быть загружено в сканер" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Расположение фокуса" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" @@ -2115,12 +2100,12 @@ msgstr "" "Устанавливает расположение фокуса либо на стекле, либо на 2.5мм выше " "стекла" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Ожидать нажатия кнопки" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2129,263 +2114,1010 @@ msgstr "" "После подачи команды \"сканировать\", будет ожидать пока не будет нажата " "кнопка на сканере, чтобы действительно начать процесс сканирования." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, fuzzy, no-c-format msgid "Positive Slide" msgstr "Позитив" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, fuzzy, no-c-format msgid "Negative Slide" msgstr "Негатив" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, fuzzy, no-c-format msgid "User defined CCT profile" msgstr "Определяемое пользователем" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "Вкл" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Выкл" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Размытие" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Диффузия ошибок" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "White" msgstr "Уровень белого" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, fuzzy, no-c-format msgid "Black" msgstr "Уровень чёрного" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Continue" msgstr "Условно" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "Горизонтально" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Горизонтально" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Горизонтально" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "Вертикальное" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Вертикальное" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Front" msgstr "Распечатка" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Полутоновый (растр)" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Грубая калибровка" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Выразительность изображения" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Насыщенность" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "" +"Включает автоматическое определение порога при сканировании штриховых " +"изображений." + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Зеркальное изображение" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Отображает изображение по горизонтали." + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Уровень белого для синего" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Управляет уровнем красного" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Цветное штриховое" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Сглаживание" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Значение гаммы" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, fuzzy, no-c-format +msgid "Threshold curve" +msgstr "Порог" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Порог" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Уменьшение шумов" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Без коррекции" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Без коррекции" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "Режим подачи" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Дополнительные параметры" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Без коррекции" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Включить лампу" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "Режим подачи" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Время выключения лампы" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Смещение синего" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Смещение зелёного" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Смещение зелёного" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Смещение синего" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Устанавливает смещение канала синего" + +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Двухстороннее сканирование" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Дополнительные параметры" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Уменьшение шумов" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "От бумаги" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "От бумаги" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "От бумаги" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "От бумаги" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "" + +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Ручная предварительная фокусировка" + +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Ручная предварительная фокусировка" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "Разрешение сканирования" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Уровень белого" + +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Интенсивность красного" + +#: backend/fujitsu.c:4549 +#, no-c-format +msgid "Density dial" +msgstr "" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Двухстороннее сканирование" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Дополнительно" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, fuzzy, no-c-format -msgid "Threshold curve" -msgstr "Порог" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Выключить отслеживание" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Цветное штриховое" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Калибровка" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Задать режим калибровки" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Кэширование калибровочных данных" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "Время выключения лампы" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2394,105 +3126,103 @@ msgstr "" "Лампа будет выключена через указанное время (в минутах). Значение 0 " "означает, что лампа выключаться не будет." -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Грубая калибровка" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, fuzzy, no-c-format msgid "File button" msgstr "Ожидать нажатия кнопки" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, fuzzy, no-c-format msgid "Power button" msgstr "Ожидать нажатия кнопки" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "Ожидать нажатия кнопки" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Грубая калибровка" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Выполнять калибровку сканера перед сканированием" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Кнопки" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Калибровка" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Начать процесс калибровки." -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Грубая калибровка" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Кэширование калибровочных данных" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Слайд-модуль" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "Цвет полутонового режима" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Выбирает, какой цвет будет использоваться при сканировании в полутоновом " "режиме (по умолчанию - зелёный)." -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Параметры отладки" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Автоматический прогрев" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2501,12 +3231,12 @@ msgstr "" "Разогревать пока яркость лампы не станет постоянной, вместо простого 60-" "тисекундного ожидания разогрева." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Полное сканирование" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2516,12 +3246,12 @@ msgstr "" "полосу. Будьте осторожны. Не выбирайте полную высоту. Только для " "тестирования." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Грубая калибровка" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2533,12 +3263,12 @@ msgstr "" "аналоговой настройки. Параметр включен по умолчанию. Только для " "тестирования." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Грубая калибровка только для первого сканирования" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2550,12 +3280,12 @@ msgstr "" "Если яркость изображения отличается при каждом сканировании, выключите " "этот параметр. Только для тестирования." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "Линии отката" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2568,83 +3298,83 @@ msgstr "" "быстрее, чем компьютер может принимать данные. Низкое значение приводит " "к более быстрому сканированию, но увеличивает вероятность пропуска линий." -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Значение гаммы" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Устанавливает значение гаммы всех каналов." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, fuzzy, no-c-format msgid "Geometry Group" msgstr "Расположение" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, fuzzy, no-c-format msgid "Scan Mode Group" msgstr "Режим сканирования" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Слайд" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, fuzzy, no-c-format msgid "Scanner model" msgstr "Режим сканирования" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, fuzzy, no-c-format msgid "Disable gamma correction" msgstr "Аналоговая коррекция гаммы" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, fuzzy, no-c-format msgid "Gamma correction will be disabled" msgstr "Коррекция гаммы" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, fuzzy, no-c-format msgid "Disable white shading correction" msgstr "Выполнять только коррекцию оттенка" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2652,12 +3382,12 @@ msgid "" "avoids depth emulation." msgstr "" -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, fuzzy, no-c-format msgid "Emulate Grayscale" msgstr "Чёрно-белый" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2665,370 +3395,364 @@ msgid "" "circumstances." msgstr "" -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " "analyze them." msgstr "" -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, fuzzy, no-c-format msgid "Reset chipset" msgstr "листовой сканер" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, fuzzy, no-c-format msgid "Information" msgstr "Игнорировать калибровку" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, fuzzy, no-c-format msgid "Chipset name" msgstr "Название файла" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "" -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, fuzzy, no-c-format msgid "Shows the chipset ID" msgstr "листовой сканер" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, fuzzy, no-c-format msgid "Scan counter" msgstr "Источник сканирования" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, fuzzy, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Выберите количество кадров для сканирования" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, fuzzy, no-c-format msgid "Update information" msgstr "Обновить параметры" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, fuzzy, no-c-format msgid "This option reflects a front panel scanner button" msgstr "Этот параметр отражает состояние кнопок сканера." -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Изображение" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Различное" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, fuzzy, no-c-format msgid "offset X" msgstr "Смещение" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, fuzzy, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Координата X левого верхнего угла области сканирования." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, fuzzy, no-c-format msgid "offset Y" msgstr "Смещение" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, fuzzy, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Координата X левого верхнего угла области сканирования." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Состояние лампы" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Включить/выключить лампу." -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Калибрует для чёрного и белого уровня." -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "АПД" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Слайд" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Негатив" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Цветной 48" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Время выключения лампы" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Ожидать нажатия кнопки" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, fuzzy, no-c-format msgid "Waits for button before scanning" msgstr "Прогревать лампу перед сканированием" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "Дополнительные параметры" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Грубое" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Точное" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Пользовательское" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Автоматически" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "Пропускать сквозь" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "Чёрно-белое NTSC" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "Чёрно-белое XPA" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Медленно" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Нормально" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Быстро" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Очень быстро" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "Двухточечное" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "Четырёхточечное" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "Восьмиточечное" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Распечатка" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Плёнка" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Условно" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "Эксперимент" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Заострения" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Устанавливает величину заострения." -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Автоматический порог" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" "Включает автоматическое определение порога при сканировании штриховых " "изображений." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Сглаживание" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Выберите фильтр для сглаживания." -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Выгружать носитель после сканирования" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Выгружает носитель после сканирования." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Сменить документ" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Изменить документ." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Выгрузить" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Выгрузить документ." -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Начать процесс калибровки." -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Носитель" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Установить тип носителя." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Время выдержки" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -3041,461 +3765,460 @@ msgstr "" "слайдов и \"Негатив\" для негативов. Для тёмных (недоэкспонированных) " "изображений вы можете увеличить это значение." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Цветовая матрица" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Устанавливает цветовую матрицу сканера." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Пользовательская цветовая матрица" -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Однотонная цветовая матрица" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Пользовательская цветовая матрица для чёрно-белых изображений." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Отобразить горизонтально" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Отображает изображение по горизонтали." -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Отобразить вертикально" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Отображает изображение по вертикали." -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Обновить параметры" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Обновляет параметры." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "Восьмибитный вывод" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" "Внутри использовать разрядность более 8 бит, но выводить только 8 бит." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Ожидать кнопки на лицевой панели" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "Ждать нажатия кнопки на передней панели для начала сканирования." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Выключить лампу" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Выключает лампу сканера." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Размер бумаги" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Автоматическое разделение" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 ландшафт" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Ручная предварительная фокусировка" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Ручная предварительная фокусировка" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Включить двустороннее сканирование" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Физический размер бумаги в устройстве автоподачи" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, fuzzy, no-c-format msgid "halftone" msgstr "Полутоновый (растр)" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, fuzzy, no-c-format msgid "color" msgstr "Цветной" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" msgstr "Условно" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, fuzzy, no-c-format msgid "off" msgstr "Выкл" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Полутоновый (растр)" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Полутоновый (растр)" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, fuzzy, no-c-format msgid "diffusion" msgstr "Диффузия ошибок" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Нормально" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Подсветка" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "планшетный сканер" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "От бумаги" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "По умолчанию" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Сглаживать" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Медленно" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Нормальный" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Красный" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Зелёный" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Источник сканирования" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Режим подачи" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Устанавливает режим подачи" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Выключить предварительный фокус" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Выключить предварительный фокус" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Устанавливает режим подачи" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Устанавливает режим подачи" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Автоматический порог" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3504,558 +4227,545 @@ msgstr "" "Автоматически устанавливает яркость, контрастность, уровень белого, " "гамму, уменьшение шума и выразительность изображения" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Уменьшение шумов" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Уменьшает количество отдельных случайных точек" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Выразительность изображения" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Устанавливает выразительность изображения" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Гамма" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Включить лампу" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Включить/выключить лампу." -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Отображает изображение по вертикали." -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Коррекция гаммы" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format msgid "High sensivity" msgstr "Печать высокой плотности" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format msgid "Low sensivity" msgstr "Печать высокой плотности" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, fuzzy, no-c-format msgid "err_diffusion" msgstr "Диффузия ошибок" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, fuzzy, no-c-format msgid "No detection" msgstr "Без коррекции" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, fuzzy, no-c-format msgid "Normal mode" msgstr "Нормально" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, fuzzy, no-c-format msgid "Enhanced mode" msgstr "Повышение" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, fuzzy, no-c-format msgid "Automatic threshold mode" msgstr "Автоматический порог" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, fuzzy, no-c-format msgid "Sets the automatic threshold mode" msgstr "Автоматический порог" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, fuzzy, no-c-format msgid "Set chroma of red" msgstr "Установить порядок кадров" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, fuzzy, no-c-format msgid "chroma of blue" msgstr "Затенённость для синего" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, fuzzy, no-c-format msgid "Set chroma of blue" msgstr "Сдвиг красного к синему" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 вертикальная линия" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Усиление" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Настройки усиления цветовых каналов" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Усиление серого" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Устанавливает усиление серого канала" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Усиление красного" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Устанавливает усиление красного канала" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Усиление зелёного" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Устанавливает усиление зелёного канала" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Усиление синего" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Устанавливает усиление синего канала" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Полутоновый пункт 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Полутоновый пункт 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Диффузия ошибок" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Режим 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Режим 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Режим 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "От белой палочки" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Сглаживать" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Низкий" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Нормальный" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Высокий" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "ЭЛТ" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Одна страница" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Все страницы" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "листовой сканер" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "Оттенки серого 4 бита" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "Оттенки серого 8 бит" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Затенённость, полутон, подсветка, время выдержки" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Специальные параметры" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Цветовой баланс" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Выключить отслеживание" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "Если отмечено, сканер не выполняет отслеживание" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Переключить лампу планшетного сканера" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Переключает лампу планшетного сканера" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Калибровка производится движком" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" msgstr "" "Если отмечено, калибровка цвета перед сканированием выполняется движком" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Использовать 35мм адаптер lightlid" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "" "Этот параметр выключает лампу планшетного сканера во время сканирования" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Качественное сканирование" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Наивысшее качество, но медленная скорость" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Быстрое сканирование" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Наивысшая скорость, но низкое качество" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Автоматическое настраивание порога" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4064,67 +4774,67 @@ msgstr "" "Если отмечено, движок автоматически попробует определить оптимальное " "значение порога." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Выберите режим коррекции гаммы." -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Связывать гаммы" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Использовать те же самые значения гаммы для всех цветовых каналов." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Скалярная гамма" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Выбирает значение для коррекции скалярной гаммы." -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Скалярная гамма красного" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "Выбирает значение для коррекции скалярной гаммы (канал красного)" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Скалярная гамма зелёного" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "Выбирает значение для коррекции скалярной гаммы (канал зелёного)" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Скалярная гамма синего" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Выбирает значение для коррекции скалярной гаммы (канал синего)" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Канал" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." @@ -4132,223 +4842,223 @@ msgstr "" "Выбирает связь цветов, \"Основной\" означает, что будут подвержены все " "цвета." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Полутон" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "" "Определяет, какой уровень излучения должен быть рассмотрен как \"50 % " "серого\"." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Полутон для красного" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "" "Определяет, какой уровень излучения должен быть рассмотрен как \"50 % " "красного\"." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Полутон для зелёного" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "" "Определяет, какой уровень излучения должен быть рассмотрен как \"50 % " "зелёного\"." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Полутон для синего" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "" "Определяет, какой уровень излучения должен быть рассмотрен как \"50 % " "синего\"." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Баланс красного" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "" "Коэффициент для красного цвета. Значение 100% означает отсутствие " "коррекции." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Баланс зелёного" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "" "Коэффициент для зелёного цвета. Значение 100% означает отсутствие " "коррекции." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Баланс синего" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "" "Коэффициент для синего цвета. Значение 100% означает отсутствие " "коррекции." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Баланс, установленный на заводе" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "" "Устанавливает значения цветового баланса в исходные значения, " "установленные на заводе." -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Самая медленная" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Медленная" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Быстрая" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Самая быстрая" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 грубое" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 нормальное" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 хорошее" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 очень хорошее" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 нормальное" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 грубое" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 хорошее" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 грубое" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 нормальное" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 хорошее" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 нормальное" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 нормальное" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 выборочно" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 выборочно" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 выборочно" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 выборочно" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 выборочно" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 выборочно" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Быстрый чёрно-белый режим" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Сканировать в быстром чёрно-белом режиме (наихудшее качество)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4358,117 +5068,117 @@ msgstr "" "(низкокачественном) режиме. Это может быть чёрно-белый режим или режим с " "низким разрешением." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Время выключения лампы (в минутах)" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Указывает время (в минутах), после которого лампа будет выключена." -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "Выключить лампу сканера" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Выключает лампу незамедлительно." -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Яркость красного" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Управляет яркостью красного канала полученного изображения." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Яркость зелёного" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Управляет яркостью зелёного канала полученного изображения." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Яркость синего" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Управляет яркостью синего канала полученного изображения." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Контрастность красного канала" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Управляет контрастностью красного канала полученного изображения." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Контрастность зелёного канала" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Управляет контрастностью зелёного канала полученного изображения." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Контрастность синего канала" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Управляет контрастностью синего канала полученного изображения." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Цветной 48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Цветной 24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Чёрно-белый 16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Чёрно-белый 8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, fuzzy, no-c-format msgid "Positive" msgstr "Позитив" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4477,39 +5187,39 @@ msgstr "" "Разогревать пока яркость лампы не станет постоянной, вместо простого 40-" "тисекундного ожидания разогрева." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, fuzzy, no-c-format msgid "Negative color" msgstr "Негатив" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Негатив" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, no-c-format msgid "48 bits color" msgstr "" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4517,248 +5227,239 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, fuzzy, no-c-format msgid "Update button state" msgstr "Состояние кнопки" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, fuzzy, no-c-format msgid "Button 1" msgstr "Кнопки" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, fuzzy, no-c-format msgid "Button 2" msgstr "Кнопки" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Прозрачный" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "Настройки устройства" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "Выключатель лампы" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "Вручную управляет лампой." -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, fuzzy, no-c-format msgid "Lamp off during dark calibration" msgstr "Грубая калибровка" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "Кэширование калибровочных данных" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "Включает или выключает кэширование данных о калибровке." -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, fuzzy, no-c-format msgid "Performs calibration" msgstr "Грубая калибровка" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "" -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "Время прогрева лампы" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "Время прогрева лампы в секундах." -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "Время выключения лампы" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "Время выключения лампы в секундах." -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Смещение красного" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Смещение зелёного" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Смещение синего" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "Выключение красной лампы" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "Определяет параметры выключения красной лампы" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "Выключение зелёной лампы" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "Определяет параметры выключения зелёной лампы" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "Выключение синей лампы" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "Определяет параметры выключения синей лампы" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "Этот параметр отражает состояние кнопок сканера." -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Цветное 36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Случайный" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Источник сканирования" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Выразительность изображения" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Сделать чёрно-белым" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Загрузить изображение как чёрно-белое" -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Имитация трёхпроходного режима" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4767,12 +5468,12 @@ msgstr "" "Имитирует трёхпроходной скнер возвращениём трёх различных кадров. То " "есть возвращает сначала зелёный, потом синий, потом красный." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Имитация ручного сканера" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4784,7 +5485,7 @@ msgstr "" "параметра позволит проверить будет ли фронтенд корректно обрабатывать " "эту ситуацию." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." @@ -4792,199 +5493,196 @@ msgstr "" "Устанавливает значения по умолчанию для управления повышением (яркостью " "и контрастностью)." -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Тестовый параметр только для чтения" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Таблица гаммы" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Имитация кода состояния" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Не получать код состояния" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Не принуждать драйвер возвращать код состояния." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " "after sane_read() has been called." msgstr "" -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, fuzzy, no-c-format msgid "This option reflects the status of a scanner button." msgstr "Этот параметр отражает состояние кнопок сканера." -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Включить лампу" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Включить лампу сканера" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Выключить лампу" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Выключить лампу сканера" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, fuzzy, no-c-format msgid "Lamp timeout" msgstr "Время выключения лампы" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Податчик листов" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (дюймов)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 (дюймов)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 (дюймов)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Полутоновое сканирование не поддерживается" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "Точка размытия 8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "Точка размытия 16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -5001,27 +5699,27 @@ msgstr "" "оболочка может перестать принимать события от системы X Window и не " "будет реагировать на ваши команды до окончания сканирования." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Извлечь документ после сканирования" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Режим предварительного просмотра" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -5031,12 +5729,12 @@ msgstr "" "предварительный просмотр обычно даёт лучшее сочетание скорости и " "детализации." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Заранее настроенные параметры" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -5045,97 +5743,97 @@ msgstr "" "Предоставляют стандартные области сканирования для фотографий, " "распечатанных страниц и прочего." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "планшетный сканер" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, no-c-format msgid "Focus-mode" msgstr "" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Автоизвлечение" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Расположение фокуса" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Расположение фокуса" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Цветных строк за запрос на чтение" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Чёрно-белых строк за запрос на чтение" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Цветной RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Цветной RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Цветной RGB TEXT" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Сплошной чёрный" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Сплошной белый" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Цветовой шаблон" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Сетка" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Первая запись" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Вторая запись" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5143,12 +5841,12 @@ msgid "" msgstr "" "Это очень длинная третья запись. Может быть фронтенд сможет показать её." -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Имитация ручного сканера" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5162,12 +5860,12 @@ msgstr "" "обрабатывать это корректно. Этот параметр также включает фиксированную " "ширину 11 см." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Имитация трёхпроходного режима" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5176,34 +5874,34 @@ msgstr "" "Имитация трёхпроходного сканера. В цветном режиме будет передано три " "кадра." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Установить порядок кадров" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "Устанавливает порядок кадров в трёхпроходном цветном режиме." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " "after 10 scans." msgstr "" -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Специальные параметры" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Выберите тестовое изображение" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5220,12 +5918,12 @@ msgstr "" "зависимости от режима.\n" "Сетка: рисует чёрно-белую сетку с размером каждого квадрата 10 на 10 мм." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Инвертировать порядок байт" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5233,23 +5931,23 @@ msgid "" "uses the correct endianness." msgstr "" -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Предел чтения" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" "Ограничить количество данных, передаваемых при каждом вызове sane_read()." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Размер предела чтения" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." @@ -5257,34 +5955,34 @@ msgstr "" "Максимальное количество данных, передаваемых при каждом вызове " "sane_read()." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Задержка при чтении" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Задержка передачи данных в канал." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Длительность задержки при чтении" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "" "Как долго ожидать после передачи каждого буфера данных через канал." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Возвращаемое значение sane_read" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5292,58 +5990,58 @@ msgid "" "frontend handles them." msgstr "" -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Потери точек на линию" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Количество точек, которые потеряны в конце каждой линии." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Нечёткие параметры" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " "before sane_start()." msgstr "" -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Использовать неблокирующий ввод-вывод" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Использовать неблокируемый ввод-вывод для sane_read(), если таковой " "поддерживается графической оболочкой." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " "data." msgstr "" -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Включить тестовые параметры" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5353,39 +6051,39 @@ msgstr "" "способности графических оболочек просматривать и изменять различные типы " "параметров SANE." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Напечатать параметры" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Напечатать список всех параметров." -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Двочные тестовые параметры" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " "advanced) capabilities. That's just a normal bool option." msgstr "" -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5393,12 +6091,12 @@ msgid "" "frontend but by the user (e.g. by pressing a button at the device)." msgstr "" -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5406,36 +6104,36 @@ msgid "" "by pressing a button at the device) and can't be read by the frontend." msgstr "" -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " "That means the option is read-only." msgstr "" -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " "(and advanced) capabilities." msgstr "" -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5443,303 +6141,307 @@ msgid "" "backend." msgstr "" -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Целочисленные тестовые параметры" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "" -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " "is 4, maximum 192, and quant is 2." msgstr "" -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " "constraints." msgstr "" -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " "constraint. Minimum is 4, maximum 192, and quant is 2." msgstr "" -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " "list constraint." msgstr "" -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Дробночисленные тестовые параметры" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "" -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " "Minimum is -42.17, maximum 32767.9999, and quant is 2.0." msgstr "" -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "Тестовые параметры для строк" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "" -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "" -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " "entries..." msgstr "" -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Тестовые параметры для кнопок" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Кнопка" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "" -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Цветное 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Использовать компоновку изображений" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Только чёрный и только белый (штриховой режим)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Полутоновый чёрно-белый (полутоновый режим)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Многоуровневый чёрно-белый (режим оттенков серого)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Многоуровневые цвета RGB (однопроходной цвет)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Игнорировать калибровку" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Выключить предварительный фокус" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Не калибровать фокус" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Ручная предварительная фокусировка" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Зафиксировать позицию фокуса" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Держать позицию фокуса на 0мм" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Использовать фокус 0мм вместо 0.6мм" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Режим калибровки" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Задать режим калибровки" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Включить/выключить лампу" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "включить UTA" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Включить/выключить UTA" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Смещение" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Настройки смещения цветовых каналов" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Смещение серого" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Устанавливает смещение канала серого" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Устанавливает смещение канала красного" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Устанавливает смещение канала зелёного" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Устанавливает смещение канала синего" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Режим предварительного просмотра" + #~ msgid "Grayscale" #~ msgstr "Чёрно-белый" diff --git a/po/sane-backends.pot b/po/sane-backends.pot index 76ae8f8..85fa955 100644 --- a/po/sane-backends.pot +++ b/po/sane-backends.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# Copyright (C) YEAR The SANE developers # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Project-Id-Version: sane-backends 1.0.27\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,444 +17,439 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 ../backend/genesys.c:5615 -#: ../backend/gt68xx.c:703 ../backend/hp3500.c:1003 -#: ../backend/hp-option.c:3297 ../backend/kvs1025_opt.c:640 -#: ../backend/kvs20xx_opt.c:284 ../backend/kvs40xx_opt.c:505 -#: ../backend/leo.c:823 ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1914 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 ../backend/gt68xx.c:672 -#: ../backend/hp-option.c:2953 ../backend/kvs1025_opt.c:704 -#: ../backend/leo.c:871 ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 ../backend/plustek_pp.c:793 -#: ../backend/sceptre.c:750 ../backend/snapscan-options.c:617 -#: ../backend/stv680.c:1067 ../backend/teco1.c:1143 ../backend/teco2.c:1962 -#: ../backend/teco3.c:968 ../backend/u12.c:592 ../backend/umax.c:5226 -#: ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 backend/rts8891.c:2831 +#: backend/snapscan-options.c:923 backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 ../backend/leo.c:781 -#: ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, no-c-format msgid "Page height" msgstr "" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices supports." msgstr "" -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, no-c-format msgid "Source, mode and resolution options" msgstr "" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, no-c-format msgid "Image modification options" msgstr "" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, no-c-format msgid "Hardware specific options" msgstr "" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "" -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -462,86 +457,86 @@ msgid "" "scanner, it reduces the memory requirements and scan-time of the preview." msgstr "" -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 for " "multibit scans." msgstr "" -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "" -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "" -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "" -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "" -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "" -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "" -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "" -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "" -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "" -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "" -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of sheet-" "fed scans." msgstr "" -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, no-c-format msgid "Specifies the height of the media." msgstr "" -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "Determines whether a builtin or a custom gamma-table should be used." msgstr "" -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the red, " @@ -549,421 +544,421 @@ msgid "" "table)." msgstr "" -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "" -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "" -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "" -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "" -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "" -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result in " "sharper images." msgstr "" -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "" -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "" -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "Selects what green radiance level should be considered \"full green\"." msgstr "" -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "Selects what blue radiance level should be considered \"full blue\"." msgstr "" -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "" -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs when " "acquiring an image with a camera. Larger values cause more blooming." msgstr "" -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "" -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " "halftoned images." msgstr "" -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." msgstr "" -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, no-c-format msgid "Scan button" msgstr "" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, no-c-format msgid "Email button" msgstr "" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, no-c-format msgid "Fax button" msgstr "" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, no-c-format msgid "Copy button" msgstr "" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, no-c-format msgid "Cover open" msgstr "" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, no-c-format msgid "Operation not supported" msgstr "" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, no-c-format msgid "Document feeder jammed" msgstr "" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, no-c-format msgid "Document feeder out of documents" msgstr "" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "" -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. Otherwise, " "calibration is performed only before the first start." msgstr "" -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. The " @@ -971,1456 +966,2194 @@ msgid "" "the configuration file, are used." msgstr "" -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "Duplex scan provide a scan of the front and back side of the document" msgstr "" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, no-c-format msgid "Negatives" msgstr "" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, no-c-format msgid "Slides" msgstr "" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, no-c-format msgid "Normal speed" msgstr "" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, no-c-format msgid "lamp failure" msgstr "" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, no-c-format msgid "Negative film type" msgstr "" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 ../backend/epson2.c:1255 -#: ../backend/kvs1025.h:55 ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, no-c-format msgid "Calibration now" msgstr "" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, no-c-format msgid "Execute calibration *now*" msgstr "" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, no-c-format msgid "Reset scanner" msgstr "" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "Automatically eject the film from the device before exiting the program" msgstr "" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, no-c-format msgid "Negative film" msgstr "" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, no-c-format msgid "Positive or negative film" msgstr "" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 ../backend/epson.c:501 -#: ../backend/epson2.c:115 ../backend/fujitsu.c:649 ../backend/gt68xx.c:148 -#: ../backend/hp3900_sane.c:418 ../backend/hp3900_sane.c:427 -#: ../backend/hp3900_sane.c:1017 ../backend/hp5590.c:82 -#: ../backend/ma1509.c:108 ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 ../backend/fujitsu.c:650 -#: ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 ../backend/fujitsu.c:651 -#: ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 ../backend/fujitsu.c:652 -#: ../backend/hp5590.c:84 ../backend/kodak.c:137 ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, no-c-format msgid "Card Front" msgstr "" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, no-c-format msgid "Card Duplex" msgstr "" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 ../backend/epson.c:3096 -#: ../backend/epson2.c:201 ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 ../backend/epson.c:3092 -#: ../backend/epson2.c:202 ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 ../backend/epson.c:3100 -#: ../backend/epson2.c:203 ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, no-c-format msgid "Enhance Red" msgstr "" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, no-c-format msgid "Enhance Green" msgstr "" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, no-c-format msgid "Enhance Blue" msgstr "" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 ../backend/genesys.c:99 -#: ../backend/leo.c:109 ../backend/matsushita.c:138 -#: ../backend/matsushita.c:159 ../backend/matsushita.c:191 -#: ../backend/matsushita.c:213 ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "" -#: ../backend/epson.c:491 ../backend/epson2.c:108 ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "" -#: ../backend/epson.c:503 ../backend/epson2.c:118 ../backend/magicolor.c:182 -#: ../backend/mustek.c:160 ../backend/pixma.c:896 ../backend/test.c:192 -#: ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 ../backend/genesys.c:5532 -#: ../backend/gt68xx.c:458 ../backend/hp-option.c:2914 -#: ../backend/kvs1025_opt.c:522 ../backend/kvs20xx_opt.c:170 -#: ../backend/kvs40xx_opt.c:319 ../backend/ma1509.c:501 -#: ../backend/matsushita.c:1084 ../backend/microtek2.h:598 -#: ../backend/mustek.c:4205 ../backend/mustek_usb.c:260 -#: ../backend/mustek_usb2.c:344 ../backend/niash.c:734 -#: ../backend/plustek.c:721 ../backend/plustek_pp.c:658 -#: ../backend/sceptre.c:673 ../backend/snapscan-options.c:354 -#: ../backend/stv680.c:1030 ../backend/teco2.c:1886 ../backend/test.c:306 -#: ../backend/u12.c:473 ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4203 +#: backend/mustek_usb.c:260 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 backend/teco2.c:1886 +#: backend/test.c:306 backend/u12.c:473 backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "" -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "" -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "" -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "" -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" msgstr "" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or the " "user defined table, which can be downloaded to the scanner" msgstr "" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " "pressed to actually start the scan process." msgstr "" -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" msgstr "" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, no-c-format msgid "Negative Slide" msgstr "" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, no-c-format msgid "User defined CCT profile" msgstr "" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 ../backend/teco1.c:1153 -#: ../backend/teco2.c:1971 ../backend/teco2.c:1972 ../backend/teco3.c:977 -#: ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, no-c-format msgid "Diffusion" msgstr "" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, no-c-format msgid "White" msgstr "" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, no-c-format msgid "Black" msgstr "" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, no-c-format msgid "Continue" msgstr "" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, no-c-format msgid "Horizontal bold" msgstr "" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, no-c-format msgid "Horizontal narrow" msgstr "" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, no-c-format msgid "Vertical bold" msgstr "" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, no-c-format msgid "Front" msgstr "" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" +msgid "Gamma function exponent" msgstr "" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "" + +#: backend/fujitsu.c:3165 +#, no-c-format +msgid "Halftone type" +msgstr "" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, no-c-format +msgid "Perform outline extraction" +msgstr "" + +#: backend/fujitsu.c:3221 +#, no-c-format +msgid "Emphasis" +msgstr "" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, no-c-format +msgid "Separation" +msgstr "" + +#: backend/fujitsu.c:3241 +#, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "" + +#: backend/fujitsu.c:3252 +#, no-c-format +msgid "Mirroring" +msgstr "" + +#: backend/fujitsu.c:3253 +#, no-c-format +msgid "Reflect output image horizontally" +msgstr "" + +#: backend/fujitsu.c:3270 +#, no-c-format +msgid "White level follower" +msgstr "" + +#: backend/fujitsu.c:3271 +#, no-c-format +msgid "Control white level follower" +msgstr "" + +#: backend/fujitsu.c:3289 +#, no-c-format +msgid "BP filter" +msgstr "" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, no-c-format +msgid "Gamma curve" +msgstr "" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" + +#: backend/fujitsu.c:3369 +#, no-c-format +msgid "Threshold white" +msgstr "" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, no-c-format +msgid "Noise removal" +msgstr "" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, no-c-format +msgid "Auto width detection" +msgstr "" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, no-c-format +msgid "Auto length detection" +msgstr "" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) is " +"same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, no-c-format +msgid "DF recovery mode" +msgstr "" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, no-c-format +msgid "Advanced paper protection" +msgstr "" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, no-c-format +msgid "Staple detection" +msgstr "" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, no-c-format +msgid "Dropout color" +msgstr "" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, useful " +"for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, no-c-format +msgid "Buffer mode" +msgstr "" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters ADF, " +"and increase maximum scan area beyond paper size, to allow collection on " +"remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, no-c-format +msgid "Off timer" +msgstr "" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner off. " +"Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, no-c-format +msgid "Duplex offset" +msgstr "" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "" + +#: backend/fujitsu.c:3949 +#, no-c-format +msgid "Adjust green/red offset" +msgstr "" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "" + +#: backend/fujitsu.c:3967 +#, no-c-format +msgid "Adjust blue/red offset" msgstr "" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some duplex " +"transfers to alternate sides on each call to sane_read. Value of option " +"'side' can be used to determine correct image. This option should only be " +"used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, no-c-format +msgid "Duplex side" +msgstr "" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" + +#: backend/fujitsu.c:4095 +#, no-c-format +msgid "Endorser Options" +msgstr "" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "" + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "" + +#: backend/fujitsu.c:4253 +#, no-c-format +msgid "Endorser direction" +msgstr "" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "" + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "" + +#: backend/fujitsu.c:4344 +#, no-c-format +msgid "A3 paper" +msgstr "" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "" + +#: backend/fujitsu.c:4356 +#, no-c-format +msgid "B4 paper" +msgstr "" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4368 +#, no-c-format +msgid "A4 paper" +msgstr "" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "" + +#: backend/fujitsu.c:4380 +#, no-c-format +msgid "B5 paper" +msgstr "" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "" + +#: backend/fujitsu.c:4429 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "" + +#: backend/fujitsu.c:4452 +#, no-c-format +msgid "Manual feed" +msgstr "" + +#: backend/fujitsu.c:4453 +#, no-c-format +msgid "Manual feed selected" +msgstr "" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "" + +#: backend/fujitsu.c:4513 +#, no-c-format +msgid "Hardware error code" +msgstr "" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "" + +#: backend/fujitsu.c:4537 +#, no-c-format +msgid "Imprinter ink level" +msgstr "" + +#: backend/fujitsu.c:4548 +#, no-c-format +msgid "Density" +msgstr "" + +#: backend/fujitsu.c:4549 +#, no-c-format +msgid "Density dial" +msgstr "" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, no-c-format +msgid "Duplex switch" +msgstr "" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, no-c-format -msgid "Threshold curve" -msgstr "" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller than " "the vertical resolution this disables horizontal interpolation." msgstr "" -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, no-c-format msgid "Color filter" msgstr "" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, no-c-format msgid "Calibration file" msgstr "" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, no-c-format msgid "Specify the calibration file to use" msgstr "" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, no-c-format msgid "Calibration cache expiration time" msgstr "" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 means " "cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value of 0 " "means, that the lamp won't be turned off." msgstr "" -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, no-c-format msgid "Lamp off during scan" msgstr "" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, no-c-format msgid "File button" msgstr "" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, no-c-format msgid "Power button" msgstr "" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, no-c-format msgid "Extra button" msgstr "" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, no-c-format msgid "Need calibration" msgstr "" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 ../backend/gt68xx.c:788 -#: ../backend/pixma_sane_options.c:224 ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, no-c-format msgid "Start calibration using special sheet" msgstr "" -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, no-c-format msgid "Clear calibration" msgstr "" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, no-c-format msgid "Clear calibration cache" msgstr "" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on 60 " "seconds warm-up time." msgstr "" -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " "Don't select the full height. For testing only." msgstr "" -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2428,12 +3161,12 @@ msgid "" "provided. This option is enabled by default. For testing only." msgstr "" -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most scanners " @@ -2441,12 +3174,12 @@ msgid "" "scan, disable this option. For testing only." msgstr "" -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. That " @@ -2454,83 +3187,83 @@ msgid "" "data. Low values cause faster scans but increase the risk of omitting lines." msgstr "" -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "" -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, no-c-format msgid "Geometry Group" msgstr "" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format msgid "Scan Mode Group" msgstr "" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, no-c-format msgid "Scanner model" msgstr "" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, no-c-format msgid "Disable gamma correction" msgstr "" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, no-c-format msgid "Gamma correction will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, no-c-format msgid "Disable white shading correction" msgstr "" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve image " @@ -2538,380 +3271,373 @@ msgid "" "emulation." msgstr "" -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, no-c-format msgid "Emulate Grayscale" msgstr "" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " "grayscale by software. This may improve image quality in some circumstances." msgstr "" -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to analyze " "them." msgstr "" -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, no-c-format msgid "Reset chipset" msgstr "" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, no-c-format msgid "Information" msgstr "" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, no-c-format msgid "Chipset name" msgstr "" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "" -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, no-c-format msgid "Shows the chipset ID" msgstr "" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, no-c-format msgid "Scan counter" msgstr "" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, no-c-format msgid "Shows the number of scans made by scanner" msgstr "" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, no-c-format msgid "Update information" msgstr "" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "" -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "" -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "" -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "" -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, no-c-format msgid "TMA Slides" msgstr "" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, no-c-format msgid "TMA Negatives" msgstr "" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, no-c-format msgid "Color (48 bits)" msgstr "" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, no-c-format msgid "Extend lamp timeout" msgstr "" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 backend/kvs40xx_opt.c:230 +#: backend/matsushita.c:244 backend/mustek.c:149 backend/plustek.c:234 +#: backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "" -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "" -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "" -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "" -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "" -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "" -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "" -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested use is " @@ -2919,1441 +3645,1418 @@ msgid "" "For dark (underexposed) images you can increase this value." msgstr "" -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "" -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "" -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "" -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "" -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "" -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "" -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "" -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "" -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 ../backend/matsushita.h:220 -#: ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, no-c-format msgid "Landscape" msgstr "" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, no-c-format msgid "Manual feed mode" msgstr "" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, no-c-format msgid "Manual feed timeout" msgstr "" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, no-c-format msgid "halftone" msgstr "" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, no-c-format msgid "color" msgstr "" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" msgstr "" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 backend/kvs40xx_opt.c:115 #, no-c-format msgid "off" msgstr "" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 backend/kvs40xx_opt.c:124 +#: backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 backend/kvs40xx_opt.c:125 +#: backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, no-c-format msgid "halftone_32" msgstr "" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, no-c-format msgid "halftone_64" msgstr "" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, no-c-format msgid "diffusion" msgstr "" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, no-c-format msgid "normal" msgstr "" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, no-c-format msgid "light" msgstr "" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, no-c-format msgid "From scanner" msgstr "" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, no-c-format msgid "default" msgstr "" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, no-c-format msgid "smooth" msgstr "" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, no-c-format msgid "low" msgstr "" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, no-c-format msgid "medium" msgstr "" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, no-c-format msgid "red" msgstr "" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, no-c-format msgid "green" msgstr "" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, no-c-format msgid "Sets the scan source" msgstr "" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, no-c-format msgid "Enable/Disable long paper mode" msgstr "" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, no-c-format msgid "Enable/Disable length control mode" msgstr "" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, no-c-format msgid "Sets the manual feed mode" msgstr "" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise reduction " "and image emphasis" msgstr "" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, no-c-format msgid "Lamp color" msgstr "" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, no-c-format msgid "Mirror image (left/right flip)" msgstr "" -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, no-c-format msgid "High sensivity" msgstr "" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, no-c-format msgid "Low sensivity" msgstr "" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, no-c-format msgid "err_diffusion" msgstr "" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, no-c-format msgid "No detection" msgstr "" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, no-c-format msgid "Normal mode" msgstr "" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, no-c-format msgid "Enhanced mode" msgstr "" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it divides " "long paper by the length which is set in Document Size option." msgstr "" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, no-c-format msgid "Automatic threshold mode" msgstr "" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, no-c-format msgid "Sets the automatic threshold mode" msgstr "" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, no-c-format msgid "Set chroma of red" msgstr "" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, no-c-format msgid "chroma of blue" msgstr "" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, no-c-format msgid "Set chroma of blue" msgstr "" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "If checked the color calibration before a scan is done by the backend" msgstr "" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value for " "the threshold." msgstr "" -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "" -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "" -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "" -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." msgstr "" -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "" -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "" -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "" -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "" -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "" -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "" -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "" -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "" -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. This " "may be a non-color mode or a low resolution mode." msgstr "" -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "" -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "" -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "" -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on 40 " "seconds warm-up time." msgstr "" -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, no-c-format msgid "Negative color" msgstr "" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, no-c-format msgid "Negative gray" msgstr "" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, no-c-format msgid "48 bits color" msgstr "" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before mode " "and resolution. Resets mode and resolution to auto values." msgstr "" -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4361,259 +5064,251 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: ../backend/pixma_sane_options.c:143 +#: backend/pixma_sane_options.c:232 #, no-c-format -msgid "Gamma function exponent" +msgid "Update button state" msgstr "" -#: ../backend/pixma_sane_options.c:144 +#: backend/pixma_sane_options.c:244 #, no-c-format -msgid "Changes intensity of midtones" +msgid "Button 1" msgstr "" -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:258 #, no-c-format -msgid "Update button state" +msgid "Button 2" msgstr "" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:272 #, no-c-format -msgid "Button 1" +msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:286 #, no-c-format -msgid "Button 2" +msgid "Target operation type" msgstr "" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:348 #, no-c-format -msgid "Type of original to scan" +msgid "ADF Waiting Time" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:349 #, no-c-format -msgid "Target operation type" +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 ../backend/u12.c:156 +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "" -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, no-c-format msgid "Lamp off during dark calibration" msgstr "" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "" -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, no-c-format msgid "Performs calibration" msgstr "" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "" -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "" -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "" -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "" -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "" -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For kicks, it " "returns green, then blue, then red." msgstr "" -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image height a " @@ -4621,201 +5316,201 @@ msgid "" "one to test whether a frontend can handle this correctly." msgstr "" -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "Set default values for enhancement controls (brightness & contrast)." msgstr "" -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "" -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " "sane_read() has been called." msgstr "" -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED after " "sane_read() has been called." msgstr "" -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "" -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -4825,147 +5520,147 @@ msgid "" "responding to X events and your system could bog down." msgstr "" -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, no-c-format msgid "Focus point for scanning." msgstr "" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " "combination of speed and detail." msgstr "" -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the like." msgstr "" -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, no-c-format msgid "Frame to be scanned" msgstr "" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, no-c-format msgid "Focus-mode" msgstr "" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, no-c-format msgid "Auto or manual focus" msgstr "" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, no-c-format msgid "Focus-point" msgstr "" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, no-c-format msgid "Focus point" msgstr "" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " "display it" msgstr "" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -4974,45 +5669,45 @@ msgid "" "enables a fixed width of 11 cm." msgstr "" -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are transmitted." msgstr "" -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "" -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' after " "10 scans." msgstr "" -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5022,12 +5717,12 @@ msgid "" "Grid: draws a black/white grid with a width and height of 10 mm per square." msgstr "" -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option can " @@ -5035,53 +5730,53 @@ msgid "" "correct endianness." msgstr "" -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "The (maximum) amount of data transferred with each call to sane_read()." msgstr "" -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "" -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "" -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal handling " @@ -5089,94 +5784,94 @@ msgid "" "handles them." msgstr "" -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "" -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " "before sane_start()." msgstr "" -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return data." msgstr "" -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of frontends to " "view and modify all the different SANE option types." msgstr "" -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "" -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and advanced) " "capabilities. That's just a normal bool option." msgstr "" -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and advanced) " @@ -5184,12 +5879,12 @@ msgid "" "user (e.g. by pressing a button at the device)." msgstr "" -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5197,334 +5892,334 @@ msgid "" "pressing a button at the device) and can't be read by the frontend." msgstr "" -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " "That means the option is read-only." msgstr "" -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated (and " "advanced) capabilities." msgstr "" -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic (and " "advanced) capabilities. This option can be automatically set by the backend." msgstr "" -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "" -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum is " "4, maximum 192, and quant is 2." msgstr "" -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without constraints." msgstr "" -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " "constraint. Minimum is 4, maximum 192, and quant is 2." msgstr "" -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word list " "constraint." msgstr "" -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "" -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " "Minimum is -42.17, maximum 32767.9999, and quant is 2.0." msgstr "" -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "" -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "" -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " "entries..." msgstr "" -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "" -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "" diff --git a/po/stamp-po b/po/stamp-po new file mode 100644 index 0000000..9788f70 --- /dev/null +++ b/po/stamp-po @@ -0,0 +1 @@ +timestamp diff --git a/po/sv.gmo b/po/sv.gmo new file mode 100644 index 0000000..5ed20b8 Binary files /dev/null and b/po/sv.gmo differ diff --git a/po/sv.po b/po/sv.po index 0924c4c..a83524c 100644 --- a/po/sv.po +++ b/po/sv.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.18\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" "PO-Revision-Date: 2012-10-22 11:17+0200\n" "Last-Translator: Mattias Ellert \n" "Language-Team: Swedish \n" @@ -20,411 +20,405 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Antal inställningsvärden" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "Standard" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometri" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Förbättring" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Avancerat" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "Sensorer" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Förhandsgranskning" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Använd monokrom förhandsgranskning" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Bitdjup" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Bildläsarläge" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Inläsningshastighet" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Bildläsarkälla" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Använd bakspårning" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Vänster" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Övre" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Höger" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Nedre" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Upplösning" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "X-upplösning" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Y-upplösning" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "Sidans bredd" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, no-c-format msgid "Page height" msgstr "Sidans höjd" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Använd användardefinierad gammatabell" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Bildintensitet" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Röd intensitet" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Grön intensitet" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Blå intensitet" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Ljusstyrka" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Kontrast" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Kornstorlek" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Rastrering" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Svartnivå" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Vitnivå" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Vitninå för rött" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Vitnivå för grönt" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Vitnivå för blått" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Skugga" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Skugga för rött" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Skugga för grönt" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Skugga för blått" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Belysning" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Belysning för rött" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Belysning för grönt" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Belysning för blått" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Nyans" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Mättnad" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Filnamn" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Rastermönstersstorlek" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Rastermönster" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Koppla X- och Y-upplösning" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Kvalitetskalibrering" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Dubbel optisk upplösning" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Koppla RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Tröskelvärde" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Analog gammakorrigering" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Analogt gamma rött" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Analogt gamma grönt" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Analogt gamma blått" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Koppla analogt gamma" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Värm upp lampa" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Kalibreringsexponeringstid" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Kalibreringsexponeringstid för rött" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Kalibreringsexponeringstid för grönt" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Kalibreringsexponeringstid för blått" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Inläsningsexponeringstid" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Inläsningsexponeringstid för rött" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Inläsningsexponeringstid för grönt" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Inläsningsexponeringstid för blått" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Ställ in exponeringstid" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Kalibreringslampdensitet" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Inläsningslampdensitet" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Ställ in lampdensitet" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Lampa av vid avslut" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -433,37 +427,37 @@ msgstr "" "Skrivskyddat värde som anger hur många parametrar en specifik enhet " "stödjer." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, no-c-format msgid "Source, mode and resolution options" msgstr "Bildkälla, bildläsarläge och upplösningsinsällningar" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "Inläsningsområdes- och orginalstorleksinställningar" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, no-c-format msgid "Image modification options" msgstr "Bildförändringsinställningar" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, no-c-format msgid "Hardware specific options" msgstr "Hårdvaruspecifika inställningar" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "Bildläsarsensorer och -knappar" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Begär en inläsning i förhandsgranskningskvalitet." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -475,7 +469,7 @@ msgstr "" "enpassläsare så reduceras både minnesåtgång och inläsningstid för en " "förhandsgranskning." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -484,62 +478,62 @@ msgstr "" "Antal bitar per sampel, typiska värden är 1 för \"streckteckningar\" och " "8 för flerbitinläsningar." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "Väljer inläsningsläge (t.ex. streckteckning, monokrom eller färg)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Bestämmer hastigheten med vilken inläsningen sker." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Väljer inläsningskälla (som t.ex. en dokumentmatare)." -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Bestämmer ifall bakspårning används." -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Vänster kant av inläsningsytan." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Övre kant av inläsningsytan." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Höger kant av inläsningsytan." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Nedre kant av inläsningsytan." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Ställer in upplösningen på den inlästa bilden." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "Ställer in den horisontella upplösningen på den inlästa bilden." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Ställer in den vertikala upplösningen på den inlästa bilden." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " @@ -548,12 +542,12 @@ msgstr "" "Anger bredden på orginalet. Nödvändigt för automatisk centrering av " "arkmatade inläsningar." -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, no-c-format msgid "Specifies the height of the media." msgstr "Anger höjden på orginalet." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." @@ -561,7 +555,7 @@ msgstr "" "Bestämmer ifall en inbyggd eller användardefinierad gammatabell skall " "användas." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -571,32 +565,32 @@ msgstr "" "Gammakorrigeringstabell. I färgläge påverkar denna inställning de röda, " "gröna och blå kanalerna samtidigt (dvs det är en intensitetsgammatabell)." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Gammakorrigeringstabell för den röda kanalen." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Gammakorrigeringstabell för den gröna kanalen." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Gammakorrigeringstabell för den blå kanalen." -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Bestämmer ljusstyrkan för den inlästa bilden." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Bestämmer kontrasten för den inlästa bilden." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -605,77 +599,77 @@ msgstr "" "Väljer \"kornigheten\" för den inlästa bilden. Mindre värden ger " "skarpare bilder." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "Väljer ifall den inlästa bilden skall rasteras (gittras)." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "Väljer vilken strålglansnivå som skall tolkas som \"svart\"." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "Väljer vilken strålglansnivå som skall tolkas som \"vit\"." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "Väljer vilken röd strålglansnivå som skall tolkas som \"vit\"." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "Väljer vilken grön strålglansnivå som skall tolkas som \"vit\"." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "Väljer vilken blå strålglansnivå som skall tolkas som \"vit\"." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "Väljer vilken röd strålglansnivå som skall tolkas som \"svart\"." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "Väljer vilken grön strålglansnivå som skall tolkas som \"svart\"." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "Väljer vilken blå strålglansnivå som skall tolkas som \"svart\"." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Väljer vilken röd strålglansnivå som skall tolkas som \"helt röd\"." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." msgstr "" "Väljer vilken grön strålglansnivå som skall tolkas som \"helt grön\"." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." msgstr "" "Väljer vilken blå strålglansnivå som skall tolkas som \"helt blå\"." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Bestämmer \"nyansen\" (blånivån) på den inhämtade bilden." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -684,12 +678,12 @@ msgstr "" "Mättnadsnivån bestämmer mängden \"blomning\" som förekommer när man " "läser in en bild med kamera. Större värden ger mer blomning." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Filnamnet på bilden som skall läsas." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -698,293 +692,293 @@ msgstr "" "Ställer in storleken på rastermönstret (gittret) som används vid " "inläsning av rastrerade bilder." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." msgstr "Anger rastermönster (gitter) för inläsning av rastrerade bilder." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "Använd samma värde för både X- och Y-upplösning" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Kasta om svart och vit" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Utför en kvalitetsvitkalibrering" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Använd lins som dubblar den optiska upplösningen" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "Använd samma värden för varje färg i RGB-läge" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Välj minsta ljusstyrkan för att få en vitpunkt" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Analog gammakorrigering" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Analog gammakorrigering för rött" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Analog gammakorrigering för grönt" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Analog gammakorrigering för blått" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Värm upp lampan innan inläsning" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Ange exponeringstid för kalibrering" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Ange exponeringstid för röd kalibrering" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Ange exponeringstid för grön kalibrering" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Ange exponeringstid för blå kalibrering" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Ange exponeringstid för inläsning" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Ange exponeringstid för röd inläsning" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Ange exponeringstid för grön inläsning" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Ange exponeringstid för blå inläsning" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Möjliggör val av exponeringstid" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Ange lampdensitet för kalibrering" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Ange lampdensitet för inläsning" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Möjliggör val av lampdensitet" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Slå av lampan när programmet avslutas" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, no-c-format msgid "Scan button" msgstr "Inläsningsknapp" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, no-c-format msgid "Email button" msgstr "E-postknapp" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, no-c-format msgid "Fax button" msgstr "Faxknapp" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, no-c-format msgid "Copy button" msgstr "Kopieringsknapp" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "PDF-knapp" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "Avbrytknapp" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "Sida laddad" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, no-c-format msgid "Cover open" msgstr "Locket öppet" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Färg" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Färgstreckteckning" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Färgraster" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Grå" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Raster" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Streckteckning" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "OK" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, no-c-format msgid "Operation not supported" msgstr "Kommandot ej understött" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "Kommandot avbröts" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "Enheten upptagen" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "Ogiltigt argument" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "Filslut nått" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, no-c-format msgid "Document feeder jammed" msgstr "Stopp i dokumentmataren" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, no-c-format msgid "Document feeder out of documents" msgstr "Slut på dokument i dokumentmataren" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "Bildläsarens lock är öppet" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "Fel under enhets-I/O" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "Slut på minne" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "Tillträde till resursen har förvägrats" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "Lampan ej klar, vanligen försök igen" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "Bildläsaren låst för transport" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Standardvärden" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Använd standardvärden för förbättringsinställningar." -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Kalibrering" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Kalibrera före nästa inläsning" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -993,12 +987,12 @@ msgstr "" "Om denna inställning är vald kommer enheten att kalibreras före nästa " "inläsning. Annars utförs kalibrering endast före första inläsningen." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Utför endast skuggkorrigering" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1009,1299 +1003,2038 @@ msgstr "" "kalibrering. Standardvärden för förstärkning, offset och exponeringstid, " "endera inbyggda eller från konfigureringsfilen, kommer att användas." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Knappläge" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Bildruta att läsa in" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Väljer numret på den bildruta som ska läsas in" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "Dubbelsidig inläsning" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "Dubbelsidig inläsning läser in dokumentets framsida och baksida" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Kalibrera bildläsaren" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Utför bildläsarkalibrering före inläsning" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Gråskaleinläsning" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Gör en gråskaleinläsning i stället för en färginläsning" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Analog förstärkning" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Öka eller minska CCD-sensorns analoga förstärkning" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Gammakorrigering" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Väljer gammakorrigerad överföringskurva" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "Rå" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "Fin färg" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Ingen genomlysningskorrigering" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "Korrigering beroende på filmtyp" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "Korrigering beroende på genomlysningskvot" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, no-c-format msgid "Negatives" msgstr "Negativ" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, no-c-format msgid "Slides" msgstr "Diapositiv" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Automatisk" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, no-c-format msgid "Normal speed" msgstr "Normal hastighet" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "1/2 av normal hastighet" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "1/3 av normal hastighet" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "avrundad parameter" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "okänd" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "stopp i den automatiska dokumentmataren" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "automatiska dokumentmatarens lock är öppet" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, no-c-format msgid "lamp failure" msgstr "lampfel" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "inläsningshuvudspositioneringsfel" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "CPU-kontrollfel" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "RAM-kontrollfel" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "ROM-kontrollfel" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "hårdvarukontrollfel" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "genomlysningsenhetslampfel" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "genomlysningsenhetsinläsningshuvudspositioneringsfel" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "parameterlistlängdsfel" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "ogiltig kommandooperationskod" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "ogiltigt fält i CDB" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "ostött LUN" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "ogiltigt fält i parameterlista" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "kommandosekvensfel" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "för många fönster specificerade" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "media icke närvarande" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "ogiltigt bit-IDENTIFY-meddelande" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "inställning inte anslut" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "påslagningsåterställning / bussenhetsåterställning" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "parameter ändrad av en annan initiator" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "ingen ytterligare sense-information" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "återvalsfel" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "SCSI-paritetsfel" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "intitator upptäckte mottaget felmeddelande" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "ogiltigt meddelande-fel" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "timeoutfel" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "genomlysningsenhetsskuggningsfel" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "lampa ej stabiliserad" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "filmbildläsare" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "flatbäddsbildläsare" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Filmtyp" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Väljer filmtyp, t.ex. negativ eller diapositiv" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, no-c-format msgid "Negative film type" msgstr "Negativfilmtyp" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "Väljer negativfilmtyp" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "Hårdvaruupplösning" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "Använd endast hårdvaruupplösningar" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "Fokus" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "Autofokus" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "Aktivera/avaktivera autofokus" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "Autofokusera endast en gång" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Autofokusera endast en gång mellan utmatningar" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "Manuell fokuseringspunkt" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" "Ställ in det optiska systemets fokuseringspunkt för hand (förval: 128)." -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "Inläsningsmarginaler" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "Extra färgjusteringar" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Spegla bild" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "Spegla bilden vågrätt" -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "Automatisk exponeringstid" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Aktivera/avaktivera automatisk exponeringstid" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, no-c-format msgid "Calibration now" msgstr "Kalibrera nu" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, no-c-format msgid "Execute calibration *now*" msgstr "Genomför kalibrering *nu*" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "Självdiagnos" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Genomför bildläsarsjälvdiagnos" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, no-c-format msgid "Reset scanner" msgstr "Återställ bildläsare" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "Återställ bildläsaren" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "Mediahantering" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "Mata ut film efter varje inläsning" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Mata ut filmen från enheten efter varje inläsning automatiskt" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "Mata ut filmen före avslut" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "Mata ut filmen från enheten automatiskt före programmet avslutas" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "Mata ut filmen nu" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "Mata ut filmen *nu*" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "Dokumentmatarinställningar" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "Endast flatbädd" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" "Stäng av den automatiska dokumentmataren och använd endast flatbädden" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "Genomlysningsenhet" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Slå på/av genomlysningsenheten (filmadapterenheten)" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, no-c-format msgid "Negative film" msgstr "Negativ film" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, no-c-format msgid "Positive or negative film" msgstr "Positiv eller negativ film" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "Densitetsinställning" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "Ställer in densitetsinställningsläge" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "Genomlysningskvot" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "Välj filmtyp" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "Välj filmtyp" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbädd" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Automatisk dokumentmatare framsida" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Automatisk dokumentmatare baksida" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "Automatisk dokumentmatare dubbelsidigt" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, fuzzy, no-c-format msgid "Card Front" msgstr "Framsida" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, fuzzy, no-c-format msgid "Card Back" msgstr "Baksida" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Dubbelsidigt" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Röd" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Grön" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Blå" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, no-c-format msgid "Enhance Red" msgstr "Framhäv rött" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, no-c-format msgid "Enhance Green" msgstr "Framhäv grönt" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, no-c-format msgid "Enhance Blue" msgstr "Framhäv blått" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Inget" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "Procentsats för hoppa över blanka sidor" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, fuzzy, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "Begär att drivrutinen hoppar över sidor med få mörka pixlar" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Enkelsidigt" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Dubbelsidigt" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Genomlysningsenhet" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatisk dokumentmatare" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Positiv film" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Negativ film" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Fokusera på glaset" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Fokusera 2,5 mm ovanför glaset" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Raster A (hårt)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Raster B (mjukt)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Raster C (nätskärm)" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Gitter A (4x4 Bayer)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Gitter B (4x4 spiral)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Gitter C (4x4 nätskärm)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Gitter D (8x4 nätskärm)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Textförbättringsteknik" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Nedladdat mönster A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Nedladdat mönster B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Ingen korrigering" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Användardefinierat" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Matrisskrivare" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Termoskrivare" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Bläckstråleskrivare" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "Bildskärmar (CRT)" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Standard" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Utskrift med hög densitet" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Utskrift med låg densitet" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Utskrift med hög kontrast" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Användardefinierat (gamma=1,0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Användardefinierat (gamma=1,8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "CD" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 stående" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 liggande" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "US-Letter" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Max" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Bildläsarläge" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Väljer raster." -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Blindfärg" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Väljer blindfärg." -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Väljer ljusstyrka." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Skärpa" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Färgkorrigering" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "Ställer in färgkorrigeringstabellen för den valda utdataenheten." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Färgkorrigeringskoefficienter" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Matrismultiplikation av RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Skifta grön till röd" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Skifta grön till blå" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Skifta röd till grön" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Skifta röd till blå" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Skifta blå till grön" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Skifta blå till röd" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Bestämmer grönnivån" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Lägger till till rött beroende på grönnivån" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Lägger till till blått beroende på grönnivån" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Lägger till till grönt beroende på rödnivån" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Bestämmer rödnivån" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 +#, no-c-format +msgid "Adds to blue based on red level" +msgstr "Lägger till till blått beroende på rödnivån" + +#: backend/epson.c:3108 +#, no-c-format +msgid "Adds to green based on blue level" +msgstr "Lägger till till grönt beroende på blånivån" + +#: backend/epson.c:3109 +#, no-c-format +msgid "Adds to red based on blue level" +msgstr "Lägger till till rött beroende på blånivån" + +#: backend/epson.c:3110 +#, no-c-format +msgid "Controls blue level" +msgstr "Bestämmer blånivån" + +#: backend/epson.c:3206 backend/epson2.c:1256 +#, no-c-format +msgid "Mirror the image." +msgstr "Spegla bilden." + +#: backend/epson.c:3232 backend/mustek.c:4332 +#, no-c-format +msgid "Fast preview" +msgstr "Snabb förhandsgranskning" + +#: backend/epson.c:3245 backend/epson2.c:1266 +#, no-c-format +msgid "Auto area segmentation" +msgstr "Automatisk ytuppdelning" + +#: backend/epson.c:3258 +#, no-c-format +msgid "Short resolution list" +msgstr "Kort lista med upplösningar" + +#: backend/epson.c:3260 +#, no-c-format +msgid "Display short resolution list" +msgstr "Visa en kort lista med upplösningar" + +#: backend/epson.c:3267 +#, no-c-format +msgid "Zoom" +msgstr "Zoom" + +#: backend/epson.c:3269 +#, no-c-format +msgid "Defines the zoom factor the scanner will use" +msgstr "Anger zoom-faktorn som bildläsaren kommer att använda" + +#: backend/epson.c:3349 +#, no-c-format +msgid "Quick format" +msgstr "Snabbformatera" + +#: backend/epson.c:3360 backend/epson2.c:1341 +#, no-c-format +msgid "Optional equipment" +msgstr "Tillvalsutrustning" + +#: backend/epson.c:3431 backend/epson2.c:1394 +#, no-c-format +msgid "Eject" +msgstr "Mata ut" + +#: backend/epson.c:3432 backend/epson2.c:1395 +#, no-c-format +msgid "Eject the sheet in the ADF" +msgstr "Mata ut bladet i dokumentmataren" + +#: backend/epson.c:3444 backend/epson2.c:1405 +#, no-c-format +msgid "Auto eject" +msgstr "Mata ut automatiskt" + +#: backend/epson.c:3445 backend/epson2.c:1407 +#, no-c-format +msgid "Eject document after scanning" +msgstr "Mata ut dokument efter inläsning" + +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#, no-c-format +msgid "ADF Mode" +msgstr "Dokumentmatarläge" + +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#, no-c-format +msgid "Selects the ADF mode (simplex/duplex)" +msgstr "" +"Väljer läge för den automatiska dokumentmataren (enkelsidigt/" +"dubbelsidigt)" + +#: backend/epson.c:3473 backend/epson2.c:1431 +#, no-c-format +msgid "Bay" +msgstr "Fack" + +#: backend/epson.c:3474 backend/epson2.c:1432 +#, no-c-format +msgid "Select bay to scan" +msgstr "Välj fack att läsa in från" + +#: backend/epson.h:69 backend/epson2.h:68 +#, no-c-format +msgid "" +"Selects the gamma correction value from a list of pre-defined devices or " +"the user defined table, which can be downloaded to the scanner" +msgstr "" +"Väljer gammakorrigeringsvärdet från en lista av fördefinierade enheter " +"eller en användardefinierad tabell som kan laddas ner till bildläsaren" + +#: backend/epson.h:72 backend/epson2.h:71 +#, no-c-format +msgid "Focus Position" +msgstr "Fokuseringspunkt" + +#: backend/epson.h:73 backend/epson2.h:72 +#, no-c-format +msgid "" +"Sets the focus position to either the glass or 2.5mm above the glass" +msgstr "" +"Ställer in fokuseringspunkten antingen på glaset eller 2,5 mm ovanför " +"glaset" + +#: backend/epson.h:75 backend/epson2.h:74 +#, no-c-format +msgid "Wait for Button" +msgstr "Vänta på knapp" + +#: backend/epson.h:76 backend/epson2.h:75 +#, no-c-format +msgid "" +"After sending the scan command, wait until the button on the scanner is " +"pressed to actually start the scan process." +msgstr "" +"Efter att ha skickat inläsningskommandot, vänta tills knappen på läsaren " +"trycks in för att starta inläsningen." + +#: backend/epson2.c:102 backend/pixma.c:390 +#, no-c-format +msgid "Infrared" +msgstr "Infraröd" + +#: backend/epson2.c:117 +#, no-c-format +msgid "TPU8x10" +msgstr "TPU 8x10" + +#: backend/epson2.c:136 +#, no-c-format +msgid "Positive Slide" +msgstr "Diapositiv" + +#: backend/epson2.c:137 +#, no-c-format +msgid "Negative Slide" +msgstr "Dianegativ" + +#: backend/epson2.c:215 +#, no-c-format +msgid "Built in CCT profile" +msgstr "Inbyggd CCT-profil" + +#: backend/epson2.c:216 +#, no-c-format +msgid "User defined CCT profile" +msgstr "Användardefinierad CCT-profil" + +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#, no-c-format +msgid "On" +msgstr "På" + +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 +#, no-c-format +msgid "Off" +msgstr "Av" + +#: backend/fujitsu.c:686 +#, no-c-format +msgid "DTC" +msgstr "DTC" + +#: backend/fujitsu.c:687 +#, no-c-format +msgid "SDTC" +msgstr "SDTC" + +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 +#, no-c-format +msgid "Dither" +msgstr "Gitter" + +#: backend/fujitsu.c:690 +#, no-c-format +msgid "Diffusion" +msgstr "Diffusion" + +#: backend/fujitsu.c:695 +#, no-c-format +msgid "White" +msgstr "Vit" + +#: backend/fujitsu.c:696 +#, no-c-format +msgid "Black" +msgstr "Svart" + +#: backend/fujitsu.c:701 +#, no-c-format +msgid "Continue" +msgstr "Fortsätt" + +#: backend/fujitsu.c:702 +#, no-c-format +msgid "Stop" +msgstr "Avsluta" + +#: backend/fujitsu.c:704 +#, no-c-format +msgid "10mm" +msgstr "10 mm" + +#: backend/fujitsu.c:705 +#, no-c-format +msgid "15mm" +msgstr "15 mm" + +#: backend/fujitsu.c:706 +#, no-c-format +msgid "20mm" +msgstr "20 mm" + +#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#, no-c-format +msgid "Horizontal" +msgstr "Vågrätt" + +#: backend/fujitsu.c:709 +#, no-c-format +msgid "Horizontal bold" +msgstr "Vågrätt fetstil" + +#: backend/fujitsu.c:710 +#, no-c-format +msgid "Horizontal narrow" +msgstr "Vågrätt smal" + +#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#, no-c-format +msgid "Vertical" +msgstr "Lodrätt" + +#: backend/fujitsu.c:712 +#, no-c-format +msgid "Vertical bold" +msgstr "Lodrätt fetstil" + +#: backend/fujitsu.c:714 +#, no-c-format +msgid "Top to bottom" +msgstr "Uppifrån och ner" + +#: backend/fujitsu.c:715 +#, no-c-format +msgid "Bottom to top" +msgstr "Nerifrån och upp" + +#: backend/fujitsu.c:717 +#, no-c-format +msgid "Front" +msgstr "Framsida" + +#: backend/fujitsu.c:718 +#, no-c-format +msgid "Back" +msgstr "Baksida" + +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#, no-c-format +msgid "Gamma function exponent" +msgstr "Gammafunktionsexponent" + +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#, no-c-format +msgid "Changes intensity of midtones" +msgstr "Ändrar intensitet hos mellantoner" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "" + +#: backend/fujitsu.c:3148 +#, fuzzy, no-c-format +msgid "Reverse image format" +msgstr "Inverterad bild" + +#: backend/fujitsu.c:3165 +#, fuzzy, no-c-format +msgid "Halftone type" +msgstr "Raster" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "" + +#: backend/fujitsu.c:3210 +#, fuzzy, no-c-format +msgid "Perform outline extraction" +msgstr "Utför kalibrering" + +#: backend/fujitsu.c:3221 +#, fuzzy, no-c-format +msgid "Emphasis" +msgstr "Bildton" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "" + +#: backend/fujitsu.c:3240 +#, fuzzy, no-c-format +msgid "Separation" +msgstr "Mättnad" + +#: backend/fujitsu.c:3241 +#, fuzzy, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "" +"Möjliggör automatisk bestämning av tröskelvärde för " +"streckteckningsinläsningar." + +#: backend/fujitsu.c:3252 +#, fuzzy, no-c-format +msgid "Mirroring" +msgstr "Spegla bild" + +#: backend/fujitsu.c:3253 +#, fuzzy, no-c-format +msgid "Reflect output image horizontally" +msgstr "Spegla bilden vågrätt." + +#: backend/fujitsu.c:3270 +#, fuzzy, no-c-format +msgid "White level follower" +msgstr "Vitnivå för blått" + +#: backend/fujitsu.c:3271 +#, fuzzy, no-c-format +msgid "Control white level follower" +msgstr "Bestämmer rödnivån" + +#: backend/fujitsu.c:3289 +#, fuzzy, no-c-format +msgid "BP filter" +msgstr "Färgfilter" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Utjämning" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "" + +#: backend/fujitsu.c:3323 +#, fuzzy, no-c-format +msgid "Gamma curve" +msgstr "Gammavärde" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "Tröskelkurva" + +#: backend/fujitsu.c:3347 +#, fuzzy, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "Dynamisk tröskelkurva, från ljust till mörkt, vanligen 50-65" + +#: backend/fujitsu.c:3369 +#, fuzzy, no-c-format +msgid "Threshold white" +msgstr "Tröskelvärde" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, fuzzy, no-c-format +msgid "Noise removal" +msgstr "Brusreducering" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" + +#: backend/fujitsu.c:3508 +#, fuzzy, no-c-format +msgid "Auto width detection" +msgstr "Ingen detektering" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" + +#: backend/fujitsu.c:3526 +#, fuzzy, no-c-format +msgid "Auto length detection" +msgstr "Ingen detektering" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" + +#: backend/fujitsu.c:3553 +#, fuzzy, no-c-format +msgid "Compression" +msgstr "jpeg-komprimmering" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "" + +#: backend/fujitsu.c:3606 +#, fuzzy, no-c-format +msgid "Action following double feed error" +msgstr "Ignorera högra dubbelmatningssensorn" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "" + +#: backend/fujitsu.c:3623 +#, fuzzy, no-c-format +msgid "Enable double feed error due to skew" +msgstr "Aktivera/avaktivera dubbelmatningsdetekteing" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "" + +#: backend/fujitsu.c:3642 +#, fuzzy, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "Aktivera/avaktivera dubbelmatningsdetekteing" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "" + +#: backend/fujitsu.c:3661 +#, fuzzy, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "Aktivera/avaktivera dubbelmatningsdetekteing" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" + +#: backend/fujitsu.c:3708 +#, fuzzy, no-c-format +msgid "DF recovery mode" +msgstr "automatiska dokumentmatarens lock är öppet" + +#: backend/fujitsu.c:3709 +#, fuzzy, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "Begär att drivrutinen tar bort ramar från sidor auomatiskt" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "" + +#: backend/fujitsu.c:3748 +#, fuzzy, no-c-format +msgid "Advanced paper protection" +msgstr "Avancerade inställningar" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" + +#: backend/fujitsu.c:3768 +#, fuzzy, no-c-format +msgid "Staple detection" +msgstr "Ingen detektering" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" + +#: backend/fujitsu.c:3809 +#, fuzzy, no-c-format +msgid "Dropout color" +msgstr "Blindfärg" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" + +#: backend/fujitsu.c:3833 +#, fuzzy, no-c-format +msgid "Buffer mode" +msgstr "Dokumentmatarläge" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" + +#: backend/fujitsu.c:3911 +#, fuzzy, no-c-format +msgid "Off timer" +msgstr "Lampavstängningstid" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" + +#: backend/fujitsu.c:3930 +#, fuzzy, no-c-format +msgid "Duplex offset" +msgstr "Blå offset" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "" + +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Grön offset" + +#: backend/fujitsu.c:3949 +#, fuzzy, no-c-format +msgid "Adjust green/red offset" +msgstr "Grön offset" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Blå offset" + +#: backend/fujitsu.c:3967 +#, fuzzy, no-c-format +msgid "Adjust blue/red offset" +msgstr "Ställer in den blå kanalens offset" + +#: backend/fujitsu.c:3980 +#, fuzzy, no-c-format +msgid "Low Memory" +msgstr "Slut på minne" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" + +#: backend/fujitsu.c:3996 +#, fuzzy, no-c-format +msgid "Duplex side" +msgstr "Dubbelsidig inläsning" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "" + +#: backend/fujitsu.c:4009 +#, fuzzy, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "Begär att drivrutinen linjerar upp sneda sidor digitalt" + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "Mjukvaruupplinjering" + +#: backend/fujitsu.c:4021 +#, fuzzy, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "Begär att drivrutinen linjerar upp sneda sidor digitalt" + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 #, no-c-format -msgid "Adds to blue based on red level" -msgstr "Lägger till till blått beroende på rödnivån" +msgid "Software despeckle diameter" +msgstr "Mjukvarufläckborttagningsdiameter" -#: ../backend/epson.c:3108 -#, no-c-format -msgid "Adds to green based on blue level" -msgstr "Lägger till till grönt beroende på blånivån" +#: backend/fujitsu.c:4034 +#, fuzzy, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" +"Maximal diameter för ensamma prickar som tas bort från den inlästa bilden" -#: ../backend/epson.c:3109 +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format -msgid "Adds to red based on blue level" -msgstr "Lägger till till rött beroende på blånivån" +msgid "Software crop" +msgstr "Mjukvarubeskärning" -#: ../backend/epson.c:3110 -#, no-c-format -msgid "Controls blue level" -msgstr "Bestämmer blånivån" +#: backend/fujitsu.c:4054 +#, fuzzy, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "Begär att drivrutinen tar bort ramar från sidor auomatiskt" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/fujitsu.c:4083 #, no-c-format -msgid "Mirror the image." -msgstr "Spegla bilden." +msgid "Halt on Cancel" +msgstr "" -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/fujitsu.c:4084 #, no-c-format -msgid "Fast preview" -msgstr "Snabb förhandsgranskning" +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 -#, no-c-format -msgid "Auto area segmentation" -msgstr "Automatisk ytuppdelning" +#: backend/fujitsu.c:4095 +#, fuzzy, no-c-format +msgid "Endorser Options" +msgstr "Avancerade inställningar" -#: ../backend/epson.c:3258 +#: backend/fujitsu.c:4096 #, no-c-format -msgid "Short resolution list" -msgstr "Kort lista med upplösningar" +msgid "Controls for endorser unit" +msgstr "" -#: ../backend/epson.c:3260 +#: backend/fujitsu.c:4107 #, no-c-format -msgid "Display short resolution list" -msgstr "Visa en kort lista med upplösningar" +msgid "Endorser" +msgstr "" -#: ../backend/epson.c:3267 +#: backend/fujitsu.c:4108 #, no-c-format -msgid "Zoom" -msgstr "Zoom" +msgid "Enable endorser unit" +msgstr "" -#: ../backend/epson.c:3269 +#: backend/fujitsu.c:4123 #, no-c-format -msgid "Defines the zoom factor the scanner will use" -msgstr "Anger zoom-faktorn som bildläsaren kommer att använda" +msgid "Endorser bits" +msgstr "" -#: ../backend/epson.c:3349 +#: backend/fujitsu.c:4124 #, no-c-format -msgid "Quick format" -msgstr "Snabbformatera" +msgid "Determines maximum endorser counter value." +msgstr "" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/fujitsu.c:4149 #, no-c-format -msgid "Optional equipment" -msgstr "Tillvalsutrustning" +msgid "Endorser value" +msgstr "" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/fujitsu.c:4150 #, no-c-format -msgid "Eject" -msgstr "Mata ut" +msgid "Initial endorser counter value." +msgstr "" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/fujitsu.c:4173 #, no-c-format -msgid "Eject the sheet in the ADF" -msgstr "Mata ut bladet i dokumentmataren" +msgid "Endorser step" +msgstr "" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/fujitsu.c:4174 #, no-c-format -msgid "Auto eject" -msgstr "Mata ut automatiskt" +msgid "Change endorser counter value by this much for each page." +msgstr "" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/fujitsu.c:4197 #, no-c-format -msgid "Eject document after scanning" -msgstr "Mata ut dokument efter inläsning" +msgid "Endorser Y" +msgstr "" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/fujitsu.c:4198 #, no-c-format -msgid "ADF Mode" -msgstr "Dokumentmatarläge" +msgid "Endorser print offset from top of paper." +msgstr "" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/fujitsu.c:4223 #, no-c-format -msgid "Selects the ADF mode (simplex/duplex)" +msgid "Endorser font" msgstr "" -"Väljer läge för den automatiska dokumentmataren (enkelsidigt/" -"dubbelsidigt)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/fujitsu.c:4224 #, no-c-format -msgid "Bay" -msgstr "Fack" +msgid "Endorser printing font." +msgstr "" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 -#, no-c-format -msgid "Select bay to scan" -msgstr "Välj fack att läsa in från" +#: backend/fujitsu.c:4253 +#, fuzzy, no-c-format +msgid "Endorser direction" +msgstr "Brusreducering" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/fujitsu.c:4254 #, no-c-format -msgid "" -"Selects the gamma correction value from a list of pre-defined devices or " -"the user defined table, which can be downloaded to the scanner" +msgid "Endorser printing direction." msgstr "" -"Väljer gammakorrigeringsvärdet från en lista av fördefinierade enheter " -"eller en användardefinierad tabell som kan laddas ner till bildläsaren" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/fujitsu.c:4278 #, no-c-format -msgid "Focus Position" -msgstr "Fokuseringspunkt" +msgid "Endorser side" +msgstr "" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/fujitsu.c:4279 #, no-c-format -msgid "" -"Sets the focus position to either the glass or 2.5mm above the glass" +msgid "Endorser printing side, requires hardware support to change" msgstr "" -"Ställer in fokuseringspunkten antingen på glaset eller 2,5 mm ovanför " -"glaset" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/fujitsu.c:4304 #, no-c-format -msgid "Wait for Button" -msgstr "Vänta på knapp" +msgid "Endorser string" +msgstr "" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/fujitsu.c:4305 #, no-c-format msgid "" -"After sending the scan command, wait until the button on the scanner is " -"pressed to actually start the scan process." +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." msgstr "" -"Efter att ha skickat inläsningskommandot, vänta tills knappen på läsaren " -"trycks in för att starta inläsningen." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/fujitsu.c:4332 #, no-c-format -msgid "Infrared" -msgstr "Infraröd" +msgid "Top edge" +msgstr "" -#: ../backend/epson2.c:117 +#: backend/fujitsu.c:4333 #, no-c-format -msgid "TPU8x10" -msgstr "TPU 8x10" +msgid "Paper is pulled partly into adf" +msgstr "" -#: ../backend/epson2.c:136 -#, no-c-format -msgid "Positive Slide" -msgstr "Diapositiv" +#: backend/fujitsu.c:4344 +#, fuzzy, no-c-format +msgid "A3 paper" +msgstr "Från papper" -#: ../backend/epson2.c:137 +#: backend/fujitsu.c:4345 #, no-c-format -msgid "Negative Slide" -msgstr "Dianegativ" +msgid "A3 paper detected" +msgstr "" -#: ../backend/epson2.c:215 -#, no-c-format -msgid "Built in CCT profile" -msgstr "Inbyggd CCT-profil" +#: backend/fujitsu.c:4356 +#, fuzzy, no-c-format +msgid "B4 paper" +msgstr "Från papper" -#: ../backend/epson2.c:216 +#: backend/fujitsu.c:4357 #, no-c-format -msgid "User defined CCT profile" -msgstr "Användardefinierad CCT-profil" +msgid "B4 paper detected" +msgstr "" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 -#, no-c-format -msgid "On" -msgstr "På" +#: backend/fujitsu.c:4368 +#, fuzzy, no-c-format +msgid "A4 paper" +msgstr "Från papper" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:4369 #, no-c-format -msgid "Off" -msgstr "Av" +msgid "A4 paper detected" +msgstr "" -#: ../backend/fujitsu.c:663 -#, no-c-format -msgid "DTC" -msgstr "DTC" +#: backend/fujitsu.c:4380 +#, fuzzy, no-c-format +msgid "B5 paper" +msgstr "Från papper" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:4381 #, no-c-format -msgid "SDTC" -msgstr "SDTC" +msgid "B5 paper detected" +msgstr "" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:4404 #, no-c-format -msgid "Dither" -msgstr "Gitter" +msgid "OMR or DF" +msgstr "" -#: ../backend/fujitsu.c:667 -#, no-c-format -msgid "Diffusion" -msgstr "Diffusion" +#: backend/fujitsu.c:4405 +#, fuzzy, no-c-format +msgid "OMR or double feed detected" +msgstr "Dubbelmatningsdetektering" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:4428 #, no-c-format -msgid "White" -msgstr "Vit" +msgid "Power saving" +msgstr "" -#: ../backend/fujitsu.c:673 -#, no-c-format -msgid "Black" -msgstr "Svart" +#: backend/fujitsu.c:4429 +#, fuzzy, no-c-format +msgid "Scanner in power saving mode" +msgstr "Bildläsarens lock är öppet" -#: ../backend/fujitsu.c:678 -#, no-c-format -msgid "Continue" -msgstr "Fortsätt" +#: backend/fujitsu.c:4452 +#, fuzzy, no-c-format +msgid "Manual feed" +msgstr "Manuell matning" -#: ../backend/fujitsu.c:679 -#, no-c-format -msgid "Stop" -msgstr "Avsluta" +#: backend/fujitsu.c:4453 +#, fuzzy, no-c-format +msgid "Manual feed selected" +msgstr "Manuell matning" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:4476 #, no-c-format -msgid "10mm" -msgstr "10 mm" +msgid "Function" +msgstr "" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:4477 #, no-c-format -msgid "15mm" -msgstr "15 mm" +msgid "Function character on screen" +msgstr "" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:4488 #, no-c-format -msgid "20mm" -msgstr "20 mm" +msgid "Ink low" +msgstr "" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:4489 #, no-c-format -msgid "Horizontal" -msgstr "Vågrätt" +msgid "Imprinter ink running low" +msgstr "" -#: ../backend/fujitsu.c:686 -#, no-c-format -msgid "Horizontal bold" -msgstr "Vågrätt fetstil" +#: backend/fujitsu.c:4500 +#, fuzzy, no-c-format +msgid "Double feed" +msgstr "Dubbelmatningsdetektering" -#: ../backend/fujitsu.c:687 -#, no-c-format -msgid "Horizontal narrow" -msgstr "Vågrätt smal" +#: backend/fujitsu.c:4501 +#, fuzzy, no-c-format +msgid "Double feed detected" +msgstr "Dubbelmatningsdetektering" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:4512 #, no-c-format -msgid "Vertical" -msgstr "Lodrätt" +msgid "Error code" +msgstr "" -#: ../backend/fujitsu.c:689 -#, no-c-format -msgid "Vertical bold" -msgstr "Lodrätt fetstil" +#: backend/fujitsu.c:4513 +#, fuzzy, no-c-format +msgid "Hardware error code" +msgstr "hårdvarukontrollfel" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:4524 #, no-c-format -msgid "Top to bottom" -msgstr "Uppifrån och ner" +msgid "Skew angle" +msgstr "" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:4525 #, no-c-format -msgid "Bottom to top" -msgstr "Nerifrån och upp" +msgid "Requires black background for scanning" +msgstr "" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:4536 #, no-c-format -msgid "Front" -msgstr "Framsida" +msgid "Ink remaining" +msgstr "" -#: ../backend/fujitsu.c:695 -#, no-c-format -msgid "Back" -msgstr "Baksida" +#: backend/fujitsu.c:4537 +#, fuzzy, no-c-format +msgid "Imprinter ink level" +msgstr "Vitnivå" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 -#, no-c-format -msgid "Software blank skip percentage" -msgstr "Procentsats för hoppa över blanka sidor" +#: backend/fujitsu.c:4548 +#, fuzzy, no-c-format +msgid "Density" +msgstr "Densitetsinställning" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:4549 #, fuzzy, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" -msgstr "Begär att drivrutinen hoppar över sidor med få mörka pixlar" +msgid "Density dial" +msgstr "Densitetsinställning" -#: ../backend/genesys.c:5757 -#, no-c-format -msgid "Software crop" -msgstr "Mjukvarubeskärning" +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, fuzzy, no-c-format +msgid "Duplex switch" +msgstr "Dubbelsidig inläsning" -#: ../backend/genesys.c:5758 +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "Begär att drivrutinen tar bort ram från sidor automatiskt" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "Begär att drivrutinen hoppar över sidor med få mörka pixlar" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "Mjukvaruavrotera" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" "Begär att drivrutinen detekterar och korrigerar 90 graders bildrotation" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Övrigt" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, no-c-format -msgid "Threshold curve" -msgstr "Tröskelkurva" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "Dynamisk tröskelkurva, från ljust till mörkt, vanligen 50-65" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "Avaktivera dynamisk streckteckning" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " @@ -2311,12 +3044,12 @@ msgstr "" "streckteckningsinläsningar för att i stället använda hårdvarans " "streckteckningsinläsningsläge." -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "Stäng av interpolering" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -2326,46 +3059,46 @@ msgstr "" "mindre än den vertikala upplösningen stänger detta av den horisontella " "interpoleringen." -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, fuzzy, no-c-format msgid "Color filter" msgstr "Färgfilter" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "När gråskala eller streckteckning används väljer denna inställning den " "använda färgen." -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrering" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definiera kalibreringsläge" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibreringsdatacache" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "Lampavstängningstid" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2374,104 +3107,102 @@ msgstr "" "Lampan kommer att stängas av efter den angivna tiden (i minuter). Värdet " "0 betyder att lampan inte kommer att stängas av." -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, no-c-format msgid "Lamp off during scan" msgstr "Stäng av lampan under inläsning" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Lampan kommer att stängas av under inläsningen." -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, no-c-format msgid "File button" msgstr "Filknapp" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "Optisk teckenigenkännings-knapp" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, no-c-format msgid "Power button" msgstr "Påslagningsknapp" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, fuzzy, no-c-format msgid "Extra button" msgstr "E-postknapp" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, no-c-format msgid "Need calibration" msgstr "Behöver kalibrering" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Bildläsaren behöver kalibrering för nuvarande inställningar" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Knappar" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrera" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, no-c-format msgid "Start calibration using special sheet" msgstr "Påbörja kalibrering med specialark" -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, no-c-format msgid "Clear calibration" msgstr "Rensa kalibrering" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, no-c-format msgid "Clear calibration cache" msgstr "Rensa kalibreringsdatacache" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Genomlysningsadapter" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "Grålägesfärg" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Väljer vilken inläsningsfärg som används i gråläge (förval: grönt)." -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Debuggningsinställningar" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatisk uppvärmning" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2480,12 +3211,12 @@ msgstr "" "Värm upp tills lampans ljusstyrka är konstant i stället för att " "insistera på 60 sekunders uppvärmningstid." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Fullständig inläsning" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2494,12 +3225,12 @@ msgstr "" "Läs in hela inläsningsytan inklusive kalibreringsraden. Var försiktig. " "Välj inte för stor höjd. Endast för test." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Grovkalibrering" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2510,12 +3241,12 @@ msgstr "" "inställning inte är vald kan de analoga parametrarna ställas in för " "hand. Denna inställning är förvald som standard. Endast för test." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Grovkalibrering endast för första inläsningen" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2526,12 +3257,12 @@ msgstr "" "flesta bildläsare och kan spara tid. Välj inte denna inställning om " "bildens ljusstyrka är olika för varje inläsning. Endast för test." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "Bakspårningslinjer" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2544,83 +3275,83 @@ msgstr "" "data. Låga värden ger snabbare inläsningar men ökar risken för att " "utelämna linjer." -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gammavärde" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Ställer in gammavärdet för alla kanaler." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, no-c-format msgid "Geometry Group" msgstr "Geometrigrupp" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format msgid "Scan Mode Group" msgstr "Bildläsarlägesgrupp" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Diapositiv" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, no-c-format msgid "Scanner model" msgstr "Bildläsarmodel" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, fuzzy, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "Tillåter att testa enhetsbeteende med andra understötta modeller" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "Bildens färger kommer att inverteras" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, no-c-format msgid "Disable gamma correction" msgstr "Stäng av gammakorrigering" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, no-c-format msgid "Gamma correction will be disabled" msgstr "Gammakorrigering kommer att stängas av" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, no-c-format msgid "Disable white shading correction" msgstr "Stäng av vit skuggkorrigering" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "Vit skuggkorrigering kommer att stängas av" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "Hoppa över uppvärmningsprocessen" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "Uppvärmningsprocessen kommer att stängas av" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "Använd verkligt bitdjup" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2631,12 +3362,12 @@ msgstr "" "förbättra bildkvaliteten för att sedan konvertera till det valda " "bitdjupet. Denna inställning undviker bitdjupsemulering." -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, no-c-format msgid "Emulate Grayscale" msgstr "Emulera gråskala" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2647,12 +3378,12 @@ msgstr "" "konverteras till gråskala av mjukvara. Detta kan förbättra " "bildkvaliteten under vissa omständigheter." -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "Spara debuggningsbilder" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " @@ -2661,358 +3392,352 @@ msgstr "" "Om aktiverad kommer ett antal bilder inblandade i " "inläsningsprocesseringen att sparas för analys." -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, no-c-format msgid "Reset chipset" msgstr "Återställ chipset" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "Återställer chipsetdata" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, no-c-format msgid "Information" msgstr "Information" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, no-c-format msgid "Chipset name" msgstr "Chipsetsnamn" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "Visar chipsetnamn använt i enheten." -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "Okänd" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "Chipset-ID" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, no-c-format msgid "Shows the chipset ID" msgstr "Visar chipset-ID" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, no-c-format msgid "Scan counter" msgstr "Inläsningsräknare" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Visar antalet inläsningar som gjorts med bildläsaren" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, no-c-format msgid "Update information" msgstr "Uppdatera informationen" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "Uppdaterar informationen om enheten" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "Denna inställing avspeglar en knapp på bildläsarens panel" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Bild" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Diverse" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "offset X" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Inläsningsytans hårdvaruinterna X-position." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "offset Y" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Inläsningsytans hårdvaruinterna Y-position." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Lampstatus" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Sätter på eller av lampan." -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Kalibrerar för svart- och vitnivå." -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "Automatisk dokumentmatare" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, no-c-format msgid "TMA Slides" msgstr "TMA-positiv" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, no-c-format msgid "TMA Negatives" msgstr "TMA-negativ" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, no-c-format msgid "Color (48 bits)" msgstr "Färg (48 bitar)" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, no-c-format msgid "Extend lamp timeout" msgstr "Utöka lampavstängningstid" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Utökar lampavstängningstiden (från 15 minuter till 1 timme)" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Vänta på knapp" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "Vänta på knapp innan inläsning" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "Avancerade inställningar" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Grovt" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Fint" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Användardefinierat" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Automatiskt" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC-RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA-RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "Oförändrat" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "NTSC-grå" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "XPA-grå" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Långsam" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Snabb" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Extra snabb" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "2 pixlar" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "4 pixlar" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "8 pixlar" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Fotografi" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Filmremsa" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "XPA" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Villkorlig" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "Experiment" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Skärpa" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Ställer in skärpevärdet." -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Automatiskt tröskelvärde" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" "Möjliggör automatisk bestämning av tröskelvärde för " "streckteckningsinläsningar." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Utjämning" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Välj utjämningsfilter." -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Mata ut media efter inläsning" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Matar ut media efter en inläsning." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Byt dokument" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Byt dokument." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Mata ut" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Mata ut dokument." -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Påbörja kalibreringsprocessen." -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Media" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Välj mediatyp." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Exponeringstid" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -3025,462 +3750,461 @@ msgstr "" "för negativ film. För mörka (underexponerade) bilder kan du öka detta " "värde." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Färgmatris" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Ställer in bildläsarens färgmatris." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Användardefinierad färgmatris." -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Enfärgsmatris" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Användardefinierad färgmatris för gråskaleinläsningar." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Spegla vågrätt" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Spegla bilden vågrätt." -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Spegla lodrätt" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Spegla bilden lodrätt." -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Uppdatera inställningsvärden" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Uppdatera inställningsvärden." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "8 bitars utdata" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" "Använd ett bitdjup större än 8 internt, men ge endast 8 bitars utdata." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Invänta knapptryck" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "" "Vänta med inläsningen tills dess att knappen på frontpanelen trycks in." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Slå av lampan" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Slå av bildläsarlampan." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Pappersstorlek" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Automatisk separering" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, no-c-format msgid "Landscape" msgstr "Liggande" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "Inverterad bild" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "Läge för långa papper" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "Längdkontrollsläge" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, no-c-format msgid "Manual feed mode" msgstr "Manuell matning" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, no-c-format msgid "Manual feed timeout" msgstr "Timeout för manuell matning" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "Dubbelmatningsdetektering" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Sätt på dubbelsidig inläsning" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Verklig storlek på papperet i den automatiska dokumentmataren" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "s/v" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, no-c-format msgid "halftone" msgstr "raster" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "gråskala" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, no-c-format msgid "color" msgstr "färg" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "adf" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "fb" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "ensidigt" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" msgstr "kontinuerligt" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, no-c-format msgid "off" msgstr "av" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "invänta dokument" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "invänta knapptryckning" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "användardefinierat" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "visitkort" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "Check" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "A5" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "A6" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "B5" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "B6" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "US-Legal" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "Bayer 64" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "Bayer 16" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, no-c-format msgid "halftone_32" msgstr "Raster 32" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, no-c-format msgid "halftone_64" msgstr "Raster 64" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, no-c-format msgid "diffusion" msgstr "diffusion" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, no-c-format msgid "normal" msgstr "normal" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, no-c-format msgid "light" msgstr "ljus" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "mörk" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, no-c-format msgid "From scanner" msgstr "Från bildläsare" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Från papper" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, no-c-format msgid "default" msgstr "standard" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, no-c-format msgid "smooth" msgstr "jämn" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "ingen" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, no-c-format msgid "low" msgstr "låg" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, no-c-format msgid "medium" msgstr "medel" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "hög" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "bildskärm" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "linjär" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, no-c-format msgid "red" msgstr "röd" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, no-c-format msgid "green" msgstr "grön" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "blå" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, no-c-format msgid "Sets the scan source" msgstr "Väljer bildläsarkälla" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Dokumentmatarläge" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Ställer in dokumentmatarläge" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, no-c-format msgid "Enable/Disable long paper mode" msgstr "Aktivera/avaktivera läge för långt papper" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, no-c-format msgid "Enable/Disable length control mode" msgstr "Aktivera/avaktivera läge för längdkontroll" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, no-c-format msgid "Sets the manual feed mode" msgstr "Ställer in manuellt matningsläge" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Ställer in timeout för manuell matning i sekunder" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "Aktivera/avaktivera dubbelmatningsdetekteing" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "anpassa till sida" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "Anpassa till sida" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "Bildläsaren krymper sidan för att rymmas på den inlästa sidan" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "Ställ in pappersläge: sant för liggande, falskt för stående" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatiskt tröskelvärde" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3489,111 +4213,101 @@ msgstr "" "Ställer in ljusstyrka, kontrast, vitnivå, gamma, brusreduktion och " "bildton automatiskt" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Brusreducering" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Minska bruset från isolerade punkter" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Bildton" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Ställer in bildton" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, no-c-format msgid "Lamp color" msgstr "Lampfärg" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Ställer in lampfärg (blindfärg)" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "Invertera bild i svart-vitt eller rasterläge" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, no-c-format msgid "Mirror image (left/right flip)" msgstr "Spegla bilden (vänster/höger)" -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "jpeg-komprimmering" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "JPEG-bildkomprimmering med Q-parameter, '0' - ingen komprimmering" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "Rotera bilden medurs" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "Begär att drivrutinen roterar sidor med ett fixt värde" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "Mjukvaruupplinjering" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "Begär att drivrutinen linjerar upp sneda sidor digitalt" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "Mjukvarufläckborttagningsdiameter" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" "Maximal diameter för ensamma prickar som tas bort från den inlästa bilden" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "Automatisk beskärning i mjukvara" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "Begär att drivrutinen tar bort ramar från sidor auomatiskt" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " @@ -3602,64 +4316,64 @@ msgstr "" "I längdkontrolläge läser bildläsaren upp till den kortare av verklig " "papperslängd och logisk dokumentlängd." -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Gammakorrigering" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "invänta dokument \"hopper\"" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "A3" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "Dubbelt US-Letter 11x17 tum" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "B4" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, no-c-format msgid "High sensivity" msgstr "Hög känsighet" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, no-c-format msgid "Low sensivity" msgstr "Låg känsighet" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, no-c-format msgid "err_diffusion" msgstr "Feldiffusion" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, no-c-format msgid "No detection" msgstr "Ingen detektering" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, no-c-format msgid "Normal mode" msgstr "Normalläge" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, no-c-format msgid "Enhanced mode" msgstr "Förbättringsläge" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " @@ -3669,341 +4383,338 @@ msgstr "" "långa papper i delar med en längd som angetts in " "dokumentstorleksparametrarna." -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "Dubbelmatningsdetektionskänslighet" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "Ställ in dubbelmatningsdetektionskänsligheten" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "Avbryt inte efter dubbelmatningsdetektering" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "Ignorera vänstra dubbelmatningssensorn" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "Ignorera mellersta dubbelmatningssensorn" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "Ignorera högra dubbelmatningssensorn" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, no-c-format msgid "Automatic threshold mode" msgstr "Automatiskt tröskelläge" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, no-c-format msgid "Sets the automatic threshold mode" msgstr "Väljer automatiskt tröskelläge" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "Invertera bilden i svart-vitt läge" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "JPEG-komprimmering" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "JPEG-komprimmering (din applikation måste kunna dekomprimmera)" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "Detektera häftade dokument" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "Röd färgmättnad" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, no-c-format msgid "Set chroma of red" msgstr "Ställ in färgmättnad för rött" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, no-c-format msgid "chroma of blue" msgstr "Blå färgmättnad" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, no-c-format msgid "Set chroma of blue" msgstr "Ställ in färgmättnad för blått" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "Justering för sned inmatning" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "Stoppa bildläsaren när ett papper har inmatats snett" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "Stoppa bildläsaren när ett papper har inmatats snett" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "Beskär verklig bildarea" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "Bildläsaren detecterar automatiskt verklig bildarea och beskär den" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "Den kastar om höger och vänster" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "Lägg till utrymme ovanför bilden" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "Lägg till utrymme nedanför bilden" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Diamant" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "8x8 grov förtjockning" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "8x8 fin förtjockning" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "8x8 Bayer" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 lodrät linje" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Förstärking" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Inställningar för färgkanalernas förstärkning" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Grå förstärkning" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Ställer in den grå kanalens förstärkning" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Röd förstärkning" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Ställer in den röda kanalens förstärkning" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Grön förstärkning" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Ställer in den gröna kanalens förstärkning" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Blå förstärkning" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Ställer in den blå kanalens förstärkning" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Bayergitter 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Bayergitter 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Rasterpunkt 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Rasterpunkt 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Feldiffusion" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Läge 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Läge 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Läge 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "Från kalibreringsraden" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Jämn" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Låg" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Medel" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Hög" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "Bildskärm" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "En sida" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Alla sidor" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "arkmatad bildläsare" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "4 bitars gråskala" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "8 bitars gråskala" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Skugga, mittvärde, belysning, exponeringstid" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Specialinställningar" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Färgbalans" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Stäng av bakspårning" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "Om denna inställning är vald utför bildläsaren ingen bakspårning" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Slå av eller på lampan" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Slår av eller på flatbäddsbildläsarens lampa" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Bakplanskalibrering" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" @@ -4011,44 +4722,44 @@ msgstr "" "Om denna inställning är vald utförs färgkalibreringen före en inläsning " "av bakplanet" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Använd lightlid-35 mm-adaptern" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "" "Denna inställning slår av lampan på flatbäddsbildläsaren under en " "inläsning" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Kvalitetsinläsning" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Högsta kvalitet men lägre hastighet" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Snabbinläsning" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Högsta hastighet men lägre kvalitet" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Automatisk inställning av tröskelvärde" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4057,276 +4768,276 @@ msgstr "" "Om denna inställning är vald försöker bakplanet automatiskt bestämma ett " "optimalt tröskelvärde." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Väljer gammakorrigeringsläge." -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Koppla gamma" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Använd samma gammavärde för alla färgkanaler." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Skalärt gamma" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Väljer värde för skalär gammakorrigering." -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Skalärt gamma rött" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "Väljer värde för skalär gammakorrigering (röd kanal)" -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Skalärt gamma grönt" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "Väljer värde för skalär gammakorrigering (grön kanal)" -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Skalärt gamma blått" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Väljer värde för skalär gammakorrigering (blå kanal)" -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Kanal" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." msgstr "" "Väljer färgkanal, \"Master\" betyder att alla färgkanaler påverkas." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Mittvärde" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "Väljer vilken strålglansnivå som skall tolkas som \"50% grå\"." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Mittvärde för rött" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Väljer vilken strålglansnivå som skall tolkas som \"50% röd\"." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Mittvärde för grönt" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "Väljer vilken strålglansnivå som skall tolkas som \"50% grön\"." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Mittvärde för blått" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "Väljer vilken strålglansnivå som skall tolkas som \"50% blå\"." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Röd färgbalans" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "Balanseringsfaktor för rött. 100% betyder ingen korrigering." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Grön färgbalans" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "Balanseringsfaktor för grönt. 100% betyder ingen korrigering." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Blå färgbalans" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "Balanseringsfaktor för blått. 100% betyder ingen korrigering." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Färgbalans från fast programvara" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "" "Ställer in färgbalansvärdena till de värden som ges från den fasta " "programvaran." -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Långsammast" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Långsammare" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Snabbare" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Snabbast" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 grovt" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 normalt" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 fint" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 mycket fint" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 normalt" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 grovt" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 fint" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 grovt" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 normalt" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 fint" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 normalt" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 normalt" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 användardefinierat" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 användardefinierat" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 användardefinierat" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 användardefinierat" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 användardefinierat" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 användardefinierat" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Snabbt gråskaleläge" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Läs in i snabbt gråskaleläge (lägre kvalitet)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4336,117 +5047,117 @@ msgstr "" "(lågkvalitets-)läget. Detta kan vara en icke-färginläsning eller en " "lågupplösningsinläsning." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Lampavstängningstid (minuter)" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Ställer in tiden (i minuter) efter vilken lampan stängs av." -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "Stäng av lampan" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Stänger av lampan omedelbart." -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Röd ljusstyrka" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Bestämmer ljusstyrkan för den röda kanalen i den inlästa bilden." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Grön ljusstyrka" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Bestämmer ljusstyrkan för den gröna kanalen i den inlästa bilden." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Blå ljusstyrka" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Bestämmer ljusstyrkan för den blå kanalen i den inlästa bilden." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Kontrast röd kanal" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Bestämmer kontrasten för den röda kanalen i den inlästa bilden." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Kontrast grön kanal" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Bestämmer kontrasten för den gröna kanalen i den inlästa bilden." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrast blå kanal" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Bestämmer kontrasten för den blå kanalen i den inlästa bilden." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Färg 48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Färg 24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Grå 16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Grå 8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "Speglande" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "Positiv" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4455,27 +5166,27 @@ msgstr "" "Värm upp tills lampans ljusstyrka är konstant i stället för att " "insistera på 40 sekunders uppvärmningstid." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, no-c-format msgid "Negative color" msgstr "Negativ färg" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, no-c-format msgid "Negative gray" msgstr "Negativ gråskala" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, no-c-format msgid "48 bits color" msgstr "48 bitars färg" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "16 bitars gråskala" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " @@ -4484,12 +5195,12 @@ msgstr "" "Väljer inläsningskälla (som t.ex. dokumentmatare). Välj källa före läge " "och upplösning. Återställer läge och upplösning till förvalsvärden." -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Knappkontrollerad inläsning" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4500,248 +5211,239 @@ msgstr "" "omedelbart. För att forsätta, tryck SCAN-knappen (för MP150) eller COLOR-" "knappen (för andra modeller). För att avbryta, tryck GRAY-knappen." -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "Gammafunktionsexponent" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "Ändrar intensitet hos mellantoner" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Uppdatera knappläge" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Knapp 1" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Knapp 2" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Skrivfilm" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "Enhetsinställningar" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "Lampströmbrytare" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "Slår av/på lamp(an/orna) manuellt." -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, no-c-format msgid "Lamp off during dark calibration" msgstr "Stäng av lampan under mörkerkalibrering" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "Stäng alltid av lampan när mörkerkalibrering görs" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "Kalibreringsdatacache" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "Aktiverar eller deaktiverar kaliberingsdatacache." -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, no-c-format msgid "Performs calibration" msgstr "Utför kalibrering" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "Öka givarens hastighet" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "Aktiverar eller deaktiverar ökning av givarens rörelsehastighet." -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "Uppvärmningstid" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "Uppvärmningstid i sekunder." -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "Lampavstängningstid" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "Lampavstängningstid i sekunder." -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "Analogt framplan" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "Det analoga framplanets rödförstärkningsvärde" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Röd offset" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "Det analoga framplanets rödoffsetvärde" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "Det analoga framplanets grönförstärkningsvärde" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Grön offset" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "Det analoga framplanets grönoffsetvärde" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "Det analoga framplanets blåförstärkningsvärde" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Blå offset" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "Det analoga framplanets blåoffsetsvärde" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "Röd lampa av" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "Definierar röd-lampa-av-parameter" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "Grön lampa av" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "Definierar grön-lampa-av-parameter" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "Blå lampa av" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "Definierar blå-lampa-av-parameter" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "Denna inställing avspeglar status på bildläsarens knappar." -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Färg 36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Gitterkarta 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Gitterkarta 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Slumpvist" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Val av bildkälla" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Bildförbättring" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Gör grå" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Läs in bilden som gråskala" -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Trepassimulering" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4750,12 +5452,12 @@ msgstr "" "Simulera en trepassbildläsare genom att returnera 3 separata bildrutor. " "För att retas returnerar den först grönt, sedan blått och sist rött." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Handbildläsarsimulering" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4766,7 +5468,7 @@ msgstr "" "förväg. I stället returnerar de en höjd som är -1. Om denna inställning " "är vald kan man testa om ett framplan kan hantera detta på rätt sätt." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." @@ -4774,42 +5476,42 @@ msgstr "" "Använd standardvärden för förbättringsinställningar (ljusstyrka och " "kontrast)." -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Skrivskyddad testinställning" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Låt oss se om framplan kan hantera detta" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Gammatabeller" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Statuskodsimulering" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Framtvinga inte statuskod" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Tvinga inte bakplanet att returnera en statuskod." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Returnera SANE_STATUS_EOF" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4818,12 +5520,12 @@ msgstr "" "Tvinga bakplanet att returnera statuskoden SANE_STATUS_EOF efter det att " "sane_read() har anropats." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Returnera SANE_STATUS_JAMMED" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4832,12 +5534,12 @@ msgstr "" "Tvinga bakplanet att returnera statuskoden SANE_STATUS_JAMMED efter det " "att sane_read() har anropats." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Returnera SANE_STATUS_NO_DOCS" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4846,12 +5548,12 @@ msgstr "" "Tvinga bakplanet att returnera statuskoden SANE_STATUS_NO_DOCS efter det " "att sane_read() har anropats." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Returnera SANE_STATUS_COVER_OPEN" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4860,12 +5562,12 @@ msgstr "" "Tvinga bakplanet att returnera statuskoden SANE_STATUS_COVER_OPEN efter " "det att sane_read() har anropats." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Returnera SANE_STATUS_IO_ERROR" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4874,12 +5576,12 @@ msgstr "" "Tvinga bakplanet att returnera statuskoden SANE_STATUS_IO_ERROR efter " "det att sane_read() har anropats." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Returnera SANE_STATUS_NO_MEM" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4888,12 +5590,12 @@ msgstr "" "Tvinga bakplanet att returnera statuskoden SANE_STATUS_NO_MEM efter det " "att sane_read() har anropats." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Returnera SANE_STATUS_ACCESS_DENIED" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4902,85 +5604,82 @@ msgstr "" "Tvinga bakplanet att returnera statuskoden SANE_STATUS_ACCESS_DENIED " "efter det att sane_read() har anropats." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "Denna inställing avspeglar status på en av bildläsarens knappar." -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Lampa på" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Slå på bildläsarlampan" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Lampa av" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Slå av bildläsarlampan" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "Lampavstängningstid" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "Antal minuter innan lampan stängs av efter en inläsning" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "Tröskelvärde för streckteckningsläge" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Dokumentmatare" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (tum)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 (tum)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8,5x11 (tum)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Rastrering stöds inte" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "Upplöst punkt 8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "Upplöst punkt 16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -4996,27 +5695,27 @@ msgstr "" "den sätts för hög kan X-baserade framplan sluta svara på X-händelser och " "ditt system kan gå ned." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "" -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "" -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, fuzzy, no-c-format msgid "Focus point for scanning." msgstr "Mata ut dokument efter inläsning" -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Förhandsgranskningsläge" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -5025,12 +5724,12 @@ msgstr "" "Välj förhandsgranskningsläge. Gråskaleförhandsgranskningar ger oftast " "den bästa kombinationen av hastighet och detaljrikedom." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Fördefinierade inställningar" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -5038,97 +5737,97 @@ msgid "" msgstr "" "Ger standardinläsningsytor för fotografier, tryckta sidor och liknande." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, fuzzy, no-c-format msgid "Frame to be scanned" msgstr "flatbäddsbildläsare" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, fuzzy, no-c-format msgid "Focus-mode" msgstr "Fokus" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, fuzzy, no-c-format msgid "Auto or manual focus" msgstr "Autofokus" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, fuzzy, no-c-format msgid "Focus-point" msgstr "Fokuseringspunkt" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, fuzzy, no-c-format msgid "Focus point" msgstr "Fokuseringspunkt" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Färglinjer per inläsning" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Gråskalelinjer per inläsning" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "webbkamera" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Färg RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Färg RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Färg RGB TEXT" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Helsvart" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Helvit" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Färgmönster" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Rutnät" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Första punkten" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Andra punkten" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5137,12 +5836,12 @@ msgstr "" "Detta är den mycket långa tredje punkten. Kanske har framplanet någon " "idé om hur det skall visa den" -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Handbildläsarsimulering" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5155,29 +5854,29 @@ msgstr "" "är vald kan man testa om ett framplan kan hantera detta på rätt sätt. " "Denna inställning ger också en fast bredd på 11 cm." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Trepassimulering" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " "transmitted." msgstr "Simulera en trepassbildläsare. I färgläge överförs tre bildrutor." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Ställ in ordningen för bildrutorna" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "Ställ in ordningen för bildrutorna i trepass-färgläge." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " @@ -5186,17 +5885,17 @@ msgstr "" "Om Automatisk dokumentmatare valts kommer mataren att vara 'tom' efter " "10 inläsningar." -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Specialinställningar" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Välj testbild" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5213,12 +5912,12 @@ msgstr "" "Rutnät: ritar ett svart-vitt rutnät med en bredd och höjd på 10 mm per " "ruta." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Invertera endianness" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5229,56 +5928,56 @@ msgstr "" "inställning kan användas för att testa 16-bitarslägen på framplan, dvs " "om framplanet använder rätt endianness." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Läsbegränsning" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" "Begränsa mängden data som överförs vid varje anrop till sane_read()." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Storlek på läsbegränsning" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." msgstr "" "Den (största) mängd data som överförs vid varje anrop till sane_read()." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Läsfördröjning" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Fördröj överföringen av data." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Längd på läsfördröjning" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "Längden på fördröjningen efter varje databuffer som överförts." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Returvärde för sane_read" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5289,22 +5988,22 @@ msgstr "" "för inläsning. Alla andra statuskoder är till för att testa hur " "framplanet hanterar dem." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Pixelförlust per rad" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Antal pixlar som kastas i slutet av varje rad." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Oklara parametrar" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5313,23 +6012,23 @@ msgstr "" "Returnera oklara lines och bytes_per_line när sane_parameters() anropas " "före sane_start()." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Använd icke-blockerande IO" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Använd icke-blockerande IO för sane_read() om det stöds av framplanet." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Erbjud en select file descriptor" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5338,12 +6037,12 @@ msgstr "" "Erbjud en select file descriptor för att detektera om sane_read() kommer " "att returnera data." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Aktivera testinställningar" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5352,27 +6051,27 @@ msgstr "" "Aktivera diverse testinställningar. Detta är till för att testa förmågan " "hos framplan att visa och ändra de olika typerna av SANE-inställningar." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Skriv ut inställningar" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Skriv ut en lista med alla inställningar." -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Booleska testinställningar" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) Boolesk mjukvaruvald mjukvarudetekterad" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5381,12 +6080,12 @@ msgstr "" "(1/6) Boolesk testinställning som är mjukvaruvald och mjukvarudetekterad " "(och avancerad). Detta är en normal Boolesk inställning." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Boolesk hårdvaruvald mjukvarudetekterad" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5398,12 +6097,12 @@ msgstr "" "framplanet, men av användaren (t.ex. genom att trycka på en knapp på " "enheten)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Boolesk hårdvaruvald" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5415,12 +6114,12 @@ msgstr "" "användaren (t.ex. genom att trycka på en knapp på enheten) och att den " "inte kan läsas av framplanet." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) Boolesk mjukvarudetekterad" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5429,12 +6128,12 @@ msgstr "" "(4/6) Boolesk testinställning som är mjukvarudetekterad (och avancerad). " "Detta betyder att inställningen är skrivskyddad." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Boolesk mjukvaruvald mjukvarudetekterad emulerad" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5443,12 +6142,12 @@ msgstr "" "(5/6) Boolesk testinställning som är mjukvaruvald, mjukvarudetekterad " "och emulerad (och avancerad)." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) Boolesk mjukvaruvald mjukvarudetekterad automatisk" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5459,27 +6158,27 @@ msgstr "" "och automatisk (och avancerad). Denna inställning kan ställas in " "automatiskt av bakplanet." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Heltalsinställningar" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Heltal" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "(1/6) Heltalstestinställning utan enhet och utan villkor." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Heltal intervallvillkor" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5488,35 +6187,35 @@ msgstr "" "(2/6) Heltalstestinställning med enheten pixlar och ett " "intervallvillkor. Minimum är 4, maximum 192 och steglängden är 2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) Heltal listvillkor" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" "(3/6) Heltalstestinställning med enheten bitar och ett listvillkor." -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Heltalsvektor" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " "constraints." msgstr "(4/6) Heltalsvektorstestinställning med enheten mm utan villkor." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(5/6) Heltalsvektor intervallvillkor" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5525,12 +6224,12 @@ msgstr "" "(5/6) Heltalsvektorstestinställning med enheten punkter per tum och " "intervallvillkor. Minimum är 4, maximum 192 och steglängden är 2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Heltalsvektor listvillkor" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5538,27 +6237,27 @@ msgid "" msgstr "" "(6/6) Heltalsvektorstestinställning med enheten procent och listvillkor." -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Bråktalstestinställningar" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Bråktal" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "(1/3) Bråktalstestinställning utan enhet och utan villkor." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Bråktal intervallvillkor" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5568,47 +6267,47 @@ msgstr "" "intervallvillkor. Minimum är -42.17, maximum är 32767.9999 och " "steglängden är 2.0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) Bråktal listvillkor" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "(3/3) Bråktalstestinställning utan enhet med listvillkor." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "Strängtestinställningar" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) Sträng" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) Strängtestinställning utan villkor." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) Sträng stränglistevillkor" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "(2/3) Strängtestinställning med stränglistevillkor." -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) Sträng stränglistevillkor (lång lista)" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5617,152 +6316,156 @@ msgstr "" "(3/3) Strängtestinställning med stränglistevillkor. Innehåller några " "fler punkter..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Knapptestinställningar" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Knapp" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Knapptestinställning. Skriver ut lite text..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Färg 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Använd bildkomponering" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Tvånivå-svart-vit (streckteckningsläge)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Gittrad/rastrerad svart-vit (rasterläge)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Flernivå-svart-vit (gråskaleläge)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Flernivå-RGB-färg (enpass-färg)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Ignorera kalibrering" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Stäng av förfokusering" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Kalibrera inte fokus" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Manuell förfokusering" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Fast fokuseringspunkt" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Kalibrera linsen i dokumentets läge" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Kalibrera linsens fokus i dokumentets läge" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Hållarens fokuseringspunkt 0 mm" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Använd 0 mm i stället för 0,6 mm för hållarens fokuseringspunkt" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Kalibreringsläge" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Definiera kalibreringsläge" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Sätt på/av lampan" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "UTA på" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Sätter på/av UTA" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Offset" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Inställningar för färgkanalernas offset" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Grå offset" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Ställer in den grå kanalens offset" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Ställer in den röda kanalens offset" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Ställer in den gröna kanalens offset" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Ställer in den blå kanalens offset" + +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Förhandsgranskningsläge" diff --git a/po/uk.gmo b/po/uk.gmo new file mode 100644 index 0000000..b2d237b Binary files /dev/null and b/po/uk.gmo differ diff --git a/po/uk.po b/po/uk.po index 4b95ed7..6b4fe24 100644 --- a/po/uk.po +++ b/po/uk.po @@ -1,13 +1,13 @@ # Copyright (C) 2009 # This file is distributed under the same license as the sane-backends package. # -# Yuri Chornoivan , 2009, 2010, 2011, 2012, 2013, 2015. +# Yuri Chornoivan , 2009, 2010, 2011, 2012, 2013, 2015, 2017. msgid "" msgstr "" "Project-Id-Version: sane-backends\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-28 21:21-0400\n" -"PO-Revision-Date: 2015-09-10 09:45+0300\n" +"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" +"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"PO-Revision-Date: 2017-04-28 19:32+0300\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -18,411 +18,405 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../include/sane/saneopts.h:154 +#: include/sane/saneopts.h:154 #, no-c-format msgid "Number of options" msgstr "Кількість параметрів" -#: ../include/sane/saneopts.h:156 +#: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" msgstr "Типово" -#: ../include/sane/saneopts.h:157 ../backend/artec_eplus48u.c:2884 -#: ../backend/epson.c:3298 ../backend/epson2.c:1291 -#: ../backend/genesys.c:5615 ../backend/gt68xx.c:703 -#: ../backend/hp3500.c:1003 ../backend/hp-option.c:3297 -#: ../backend/kvs1025_opt.c:640 ../backend/kvs20xx_opt.c:284 -#: ../backend/kvs40xx_opt.c:505 ../backend/leo.c:823 -#: ../backend/lexmark.c:199 ../backend/ma1509.c:551 -#: ../backend/matsushita.c:1135 ../backend/microtek2.h:599 -#: ../backend/mustek.c:4363 ../backend/mustek_usb.c:305 -#: ../backend/mustek_usb2.c:465 ../backend/pixma_sane_options.c:158 -#: ../backend/plustek.c:808 ../backend/plustek_pp.c:747 -#: ../backend/sceptre.c:702 ../backend/snapscan-options.c:550 -#: ../backend/teco1.c:1095 ../backend/teco2.c:1914 ../backend/teco3.c:920 -#: ../backend/test.c:647 ../backend/u12.c:546 ../backend/umax.c:5176 -#: ../backend/umax_pp.c:580 +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 +#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 +#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4361 backend/mustek_usb.c:305 +#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 +#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 +#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Позиція і розміри" -#: ../include/sane/saneopts.h:158 ../backend/artec_eplus48u.c:2805 -#: ../backend/canon.c:1498 ../backend/genesys.c:5675 -#: ../backend/gt68xx.c:672 ../backend/hp-option.c:2953 -#: ../backend/kvs1025_opt.c:704 ../backend/leo.c:871 -#: ../backend/ma1509.c:599 ../backend/matsushita.c:1189 -#: ../backend/microtek2.h:600 ../backend/mustek.c:4411 -#: ../backend/mustek_usb.c:353 ../backend/mustek_usb2.c:431 -#: ../backend/niash.c:754 ../backend/plustek.c:854 -#: ../backend/plustek_pp.c:793 ../backend/sceptre.c:750 -#: ../backend/snapscan-options.c:617 ../backend/stv680.c:1067 -#: ../backend/teco1.c:1143 ../backend/teco2.c:1962 ../backend/teco3.c:968 -#: ../backend/u12.c:592 ../backend/umax.c:5226 ../backend/umax_pp.c:629 +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 +#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4409 backend/mustek_usb.c:353 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Покращення" -#: ../include/sane/saneopts.h:159 ../backend/epson.c:3197 -#: ../backend/epson2.c:1216 ../backend/kvs20xx_opt.c:365 -#: ../backend/kvs40xx_opt.c:596 ../backend/rts8891.c:2831 -#: ../backend/snapscan-options.c:923 ../backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Додатково" -#: ../include/sane/saneopts.h:160 +#: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" msgstr "Датчики" -#: ../include/sane/saneopts.h:162 +#: include/sane/saneopts.h:162 #, no-c-format msgid "Preview" msgstr "Перегляд" -#: ../include/sane/saneopts.h:163 +#: include/sane/saneopts.h:163 #, no-c-format msgid "Force monochrome preview" msgstr "Примусовий чорно-білий перегляд" -#: ../include/sane/saneopts.h:164 +#: include/sane/saneopts.h:164 #, no-c-format msgid "Bit depth" msgstr "Кількість бітів на колір" -#: ../include/sane/saneopts.h:165 ../backend/canon.c:1145 -#: ../backend/leo.c:781 ../backend/pixma_sane_options.c:45 +#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Режим сканування" -#: ../include/sane/saneopts.h:166 +#: include/sane/saneopts.h:166 #, no-c-format msgid "Scan speed" msgstr "Швидкість сканування" -#: ../include/sane/saneopts.h:167 +#: include/sane/saneopts.h:167 #, no-c-format msgid "Scan source" msgstr "Джерело сканування" -#: ../include/sane/saneopts.h:168 +#: include/sane/saneopts.h:168 #, no-c-format msgid "Force backtracking" msgstr "Примусове повернення" -#: ../include/sane/saneopts.h:169 +#: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" msgstr "Верхня ліва координата за X" -#: ../include/sane/saneopts.h:170 +#: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" msgstr "Верхня ліва координата за Y" -#: ../include/sane/saneopts.h:171 +#: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" msgstr "Нижня права координата за X" -#: ../include/sane/saneopts.h:172 +#: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" msgstr "Нижня права координата за Y" -#: ../include/sane/saneopts.h:173 ../backend/canon.c:1221 -#: ../backend/pixma_sane_options.c:298 +#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Роздільна здатність сканування" -#: ../include/sane/saneopts.h:174 +#: include/sane/saneopts.h:174 #, no-c-format msgid "X-resolution" msgstr "Роздільна здатність за X" -#: ../include/sane/saneopts.h:175 +#: include/sane/saneopts.h:175 #, no-c-format msgid "Y-resolution" msgstr "Роздільна здатність за Y" -#: ../include/sane/saneopts.h:176 +#: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" msgstr "Ширина сторінки" -#: ../include/sane/saneopts.h:177 +#: include/sane/saneopts.h:177 #, no-c-format msgid "Page height" msgstr "Висота сторінки" -#: ../include/sane/saneopts.h:178 +#: include/sane/saneopts.h:178 #, no-c-format msgid "Use custom gamma table" msgstr "Використовувати нестандартну таблицю гами" -#: ../include/sane/saneopts.h:179 +#: include/sane/saneopts.h:179 #, no-c-format msgid "Image intensity" msgstr "Інтенсивність зображення" -#: ../include/sane/saneopts.h:180 +#: include/sane/saneopts.h:180 #, no-c-format msgid "Red intensity" msgstr "Інтенсивність червоного" -#: ../include/sane/saneopts.h:181 +#: include/sane/saneopts.h:181 #, no-c-format msgid "Green intensity" msgstr "Інтенсивність зеленого" -#: ../include/sane/saneopts.h:182 +#: include/sane/saneopts.h:182 #, no-c-format msgid "Blue intensity" msgstr "Інтенсивність синього" -#: ../include/sane/saneopts.h:183 +#: include/sane/saneopts.h:183 #, no-c-format msgid "Brightness" msgstr "Яскравість" -#: ../include/sane/saneopts.h:184 +#: include/sane/saneopts.h:184 #, no-c-format msgid "Contrast" msgstr "Контрастність" -#: ../include/sane/saneopts.h:185 +#: include/sane/saneopts.h:185 #, no-c-format msgid "Grain size" msgstr "Розмір зерна" -#: ../include/sane/saneopts.h:186 +#: include/sane/saneopts.h:186 #, no-c-format msgid "Halftoning" msgstr "Напівтони" -#: ../include/sane/saneopts.h:187 +#: include/sane/saneopts.h:187 #, no-c-format msgid "Black level" msgstr "Рівень чорного" -#: ../include/sane/saneopts.h:188 +#: include/sane/saneopts.h:188 #, no-c-format msgid "White level" msgstr "Рівень білого" -#: ../include/sane/saneopts.h:189 +#: include/sane/saneopts.h:189 #, no-c-format msgid "White level for red" msgstr "Рівень білого для червоного" -#: ../include/sane/saneopts.h:190 +#: include/sane/saneopts.h:190 #, no-c-format msgid "White level for green" msgstr "Рівень білого для зеленого" -#: ../include/sane/saneopts.h:191 +#: include/sane/saneopts.h:191 #, no-c-format msgid "White level for blue" msgstr "Рівень білого для синього" -#: ../include/sane/saneopts.h:192 +#: include/sane/saneopts.h:192 #, no-c-format msgid "Shadow" msgstr "Затіненість" -#: ../include/sane/saneopts.h:193 +#: include/sane/saneopts.h:193 #, no-c-format msgid "Shadow for red" msgstr "Затіненість для червоного" -#: ../include/sane/saneopts.h:194 +#: include/sane/saneopts.h:194 #, no-c-format msgid "Shadow for green" msgstr "Затіненість для зеленого" -#: ../include/sane/saneopts.h:195 +#: include/sane/saneopts.h:195 #, no-c-format msgid "Shadow for blue" msgstr "Затіненість для синього" -#: ../include/sane/saneopts.h:196 +#: include/sane/saneopts.h:196 #, no-c-format msgid "Highlight" msgstr "Підсвічування" -#: ../include/sane/saneopts.h:197 +#: include/sane/saneopts.h:197 #, no-c-format msgid "Highlight for red" msgstr "Підсвічування для червоного" -#: ../include/sane/saneopts.h:198 +#: include/sane/saneopts.h:198 #, no-c-format msgid "Highlight for green" msgstr "Підсвічування для зеленого" -#: ../include/sane/saneopts.h:199 +#: include/sane/saneopts.h:199 #, no-c-format msgid "Highlight for blue" msgstr "Підсвічування для синього" -#: ../include/sane/saneopts.h:200 +#: include/sane/saneopts.h:200 #, no-c-format msgid "Hue" msgstr "Відтінок" -#: ../include/sane/saneopts.h:201 +#: include/sane/saneopts.h:201 #, no-c-format msgid "Saturation" msgstr "Насиченість" -#: ../include/sane/saneopts.h:202 +#: include/sane/saneopts.h:202 #, no-c-format msgid "Filename" msgstr "Назва файла" -#: ../include/sane/saneopts.h:203 +#: include/sane/saneopts.h:203 #, no-c-format msgid "Halftone pattern size" msgstr "Розмір шаблону напівтонів" -#: ../include/sane/saneopts.h:204 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 #, no-c-format msgid "Halftone pattern" msgstr "Шаблон напівтонів" -#: ../include/sane/saneopts.h:205 +#: include/sane/saneopts.h:205 #, no-c-format msgid "Bind X and Y resolution" msgstr "Пов’язати роздільні здатності за X і Y" -#: ../include/sane/saneopts.h:206 ../backend/hp3900_sane.c:428 -#: ../backend/hp3900_sane.c:1021 ../backend/hp3900_sane.c:1421 -#: ../backend/hp-option.c:3235 ../backend/mustek_usb2.c:121 -#: ../backend/plustek.c:236 ../backend/plustek_pp.c:205 -#: ../backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Негатив" -#: ../include/sane/saneopts.h:207 +#: include/sane/saneopts.h:207 #, no-c-format msgid "Quality calibration" msgstr "Якісне калібрування" -#: ../include/sane/saneopts.h:208 +#: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" msgstr "Подвоїти оптичну роздільну здатність" -#: ../include/sane/saneopts.h:209 +#: include/sane/saneopts.h:209 #, no-c-format msgid "Bind RGB" msgstr "Пов’язаний RGB" -#: ../include/sane/saneopts.h:210 ../backend/sm3840.c:770 +#: include/sane/saneopts.h:210 backend/sm3840.c:770 #, no-c-format msgid "Threshold" msgstr "Поріг" -#: ../include/sane/saneopts.h:211 +#: include/sane/saneopts.h:211 #, no-c-format msgid "Analog gamma correction" msgstr "Аналогове виправлення гами" -#: ../include/sane/saneopts.h:212 +#: include/sane/saneopts.h:212 #, no-c-format msgid "Analog gamma red" msgstr "Аналогова гама червоного" -#: ../include/sane/saneopts.h:213 +#: include/sane/saneopts.h:213 #, no-c-format msgid "Analog gamma green" msgstr "Аналогова гама зеленого" -#: ../include/sane/saneopts.h:214 +#: include/sane/saneopts.h:214 #, no-c-format msgid "Analog gamma blue" msgstr "Аналогова гама синього" -#: ../include/sane/saneopts.h:215 +#: include/sane/saneopts.h:215 #, no-c-format msgid "Bind analog gamma" msgstr "Пов’язана аналогова гама" -#: ../include/sane/saneopts.h:216 +#: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" msgstr "Розігрів лампи" -#: ../include/sane/saneopts.h:217 +#: include/sane/saneopts.h:217 #, no-c-format msgid "Cal. exposure-time" msgstr "Калібрувати час витримки" -#: ../include/sane/saneopts.h:218 +#: include/sane/saneopts.h:218 #, no-c-format msgid "Cal. exposure-time for red" msgstr "Калібрувати час витримки для червоного" -#: ../include/sane/saneopts.h:219 +#: include/sane/saneopts.h:219 #, no-c-format msgid "Cal. exposure-time for green" msgstr "Калібрувати час витримки для зеленого" -#: ../include/sane/saneopts.h:221 +#: include/sane/saneopts.h:221 #, no-c-format msgid "Cal. exposure-time for blue" msgstr "Калібрувати час витримки для синього" -#: ../include/sane/saneopts.h:222 +#: include/sane/saneopts.h:222 #, no-c-format msgid "Scan exposure-time" msgstr "Час витримки сканування" -#: ../include/sane/saneopts.h:223 +#: include/sane/saneopts.h:223 #, no-c-format msgid "Scan exposure-time for red" msgstr "Час витримки сканування для червоного" -#: ../include/sane/saneopts.h:224 +#: include/sane/saneopts.h:224 #, no-c-format msgid "Scan exposure-time for green" msgstr "Час витримки сканування для зеленого" -#: ../include/sane/saneopts.h:226 +#: include/sane/saneopts.h:226 #, no-c-format msgid "Scan exposure-time for blue" msgstr "Час витримки сканування для синього" -#: ../include/sane/saneopts.h:227 +#: include/sane/saneopts.h:227 #, no-c-format msgid "Set exposure-time" msgstr "Встановити час витримки" -#: ../include/sane/saneopts.h:228 +#: include/sane/saneopts.h:228 #, no-c-format msgid "Cal. lamp density" msgstr "Калібрувати інтенсивність лампи" -#: ../include/sane/saneopts.h:229 +#: include/sane/saneopts.h:229 #, no-c-format msgid "Scan lamp density" msgstr "Інтенсивність лампи сканування" -#: ../include/sane/saneopts.h:230 +#: include/sane/saneopts.h:230 #, no-c-format msgid "Set lamp density" msgstr "Встановити інтенсивність лампи" -#: ../include/sane/saneopts.h:231 ../backend/umax.c:5829 +#: include/sane/saneopts.h:231 backend/umax.c:5829 #, no-c-format msgid "Lamp off at exit" msgstr "Вимикати лампу при виході" -#: ../include/sane/saneopts.h:245 +#: include/sane/saneopts.h:245 #, no-c-format msgid "" "Read-only option that specifies how many options a specific devices " @@ -431,37 +425,37 @@ msgstr "" "Параметр лише для читання, який визначає кількість параметрів, які " "підтримують певні пристрої." -#: ../include/sane/saneopts.h:248 +#: include/sane/saneopts.h:248 #, no-c-format msgid "Source, mode and resolution options" msgstr "Параметри джерела даних, режиму і роздільної здатності" -#: ../include/sane/saneopts.h:249 +#: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" msgstr "Параметри області сканування і розмірів носія даних" -#: ../include/sane/saneopts.h:250 +#: include/sane/saneopts.h:250 #, no-c-format msgid "Image modification options" msgstr "Параметри видозміни зображення" -#: ../include/sane/saneopts.h:251 +#: include/sane/saneopts.h:251 #, no-c-format msgid "Hardware specific options" msgstr "Параметри обладнання" -#: ../include/sane/saneopts.h:252 +#: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" msgstr "Датчики і кнопки сканера" -#: ../include/sane/saneopts.h:255 +#: include/sane/saneopts.h:255 #, no-c-format msgid "Request a preview-quality scan." msgstr "Запитати сканування попереднього перегляду." -#: ../include/sane/saneopts.h:258 +#: include/sane/saneopts.h:258 #, no-c-format msgid "" "Request that all previews are done in monochrome mode. On a three-pass " @@ -473,7 +467,7 @@ msgstr "" "зменшено до одного, а на сканерах з одним проходом зменшує навантаження " "на пам’ять і час сканування зображення попереднього перегляду." -#: ../include/sane/saneopts.h:264 +#: include/sane/saneopts.h:264 #, no-c-format msgid "" "Number of bits per sample, typical values are 1 for \"line-art\" and 8 " @@ -482,65 +476,65 @@ msgstr "" "Кількість бітів на колір, типовими значеннями є 1 для штрихового і 8 для " "напівтонового сканування." -#: ../include/sane/saneopts.h:268 +#: include/sane/saneopts.h:268 #, no-c-format msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." msgstr "" "Визначає режим сканування (наприклад, штриховий, чорно-білий або " "кольоровий)." -#: ../include/sane/saneopts.h:271 +#: include/sane/saneopts.h:271 #, no-c-format msgid "Determines the speed at which the scan proceeds." msgstr "Визначає швидкість, з якою виконується сканування." -#: ../include/sane/saneopts.h:274 +#: include/sane/saneopts.h:274 #, no-c-format msgid "Selects the scan source (such as a document-feeder)." msgstr "Визначає джерело сканування (зокрема пристрій подачі документів)" -#: ../include/sane/saneopts.h:277 +#: include/sane/saneopts.h:277 #, no-c-format msgid "Controls whether backtracking is forced." msgstr "Визначає, чи буде виконуватися примусове повернення." -#: ../include/sane/saneopts.h:280 +#: include/sane/saneopts.h:280 #, no-c-format msgid "Top-left x position of scan area." msgstr "Координата X правого верхнього лівого кута області сканування." -#: ../include/sane/saneopts.h:283 +#: include/sane/saneopts.h:283 #, no-c-format msgid "Top-left y position of scan area." msgstr "Координата Y правого верхнього лівого кута області сканування." -#: ../include/sane/saneopts.h:286 +#: include/sane/saneopts.h:286 #, no-c-format msgid "Bottom-right x position of scan area." msgstr "Координата X правого нижнього кута області сканування." -#: ../include/sane/saneopts.h:289 +#: include/sane/saneopts.h:289 #, no-c-format msgid "Bottom-right y position of scan area." msgstr "Координата Y правого нижнього кута області сканування." -#: ../include/sane/saneopts.h:292 +#: include/sane/saneopts.h:292 #, no-c-format msgid "Sets the resolution of the scanned image." msgstr "Визначає роздільну здатність сканованого зображення." -#: ../include/sane/saneopts.h:295 +#: include/sane/saneopts.h:295 #, no-c-format msgid "Sets the horizontal resolution of the scanned image." msgstr "" "Визначає горизонтальну роздільну здатність засканованого зображення." -#: ../include/sane/saneopts.h:298 +#: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." msgstr "Визначає вертикальну роздільну здатність засканованого зображення." -#: ../include/sane/saneopts.h:301 +#: include/sane/saneopts.h:301 #, no-c-format msgid "" "Specifies the width of the media. Required for automatic centering of " @@ -549,18 +543,18 @@ msgstr "" "Визначає ширину носія. Це значення потрібне для автоматичного " "центрування листкових друкованих джерел." -#: ../include/sane/saneopts.h:305 +#: include/sane/saneopts.h:305 #, no-c-format msgid "Specifies the height of the media." msgstr "Визначає висоту носія." -#: ../include/sane/saneopts.h:308 +#: include/sane/saneopts.h:308 #, no-c-format msgid "" "Determines whether a builtin or a custom gamma-table should be used." msgstr "Визначає буде використано вбудовану чи нетипову таблицю гами." -#: ../include/sane/saneopts.h:312 +#: include/sane/saneopts.h:312 #, no-c-format msgid "" "Gamma-correction table. In color mode this option equally affects the " @@ -571,32 +565,32 @@ msgstr "" "змінює параметри червоного, зеленого та синього каналів (тобто є " "таблицею інтенсивності гами)." -#: ../include/sane/saneopts.h:317 +#: include/sane/saneopts.h:317 #, no-c-format msgid "Gamma-correction table for the red band." msgstr "Таблиця виправлення гами для червоної смуги." -#: ../include/sane/saneopts.h:320 +#: include/sane/saneopts.h:320 #, no-c-format msgid "Gamma-correction table for the green band." msgstr "Таблиця виправлення гами для зеленої смуги." -#: ../include/sane/saneopts.h:323 +#: include/sane/saneopts.h:323 #, no-c-format msgid "Gamma-correction table for the blue band." msgstr "Таблиця виправлення гами для синьої смуги." -#: ../include/sane/saneopts.h:326 +#: include/sane/saneopts.h:326 #, no-c-format msgid "Controls the brightness of the acquired image." msgstr "Керує яскравістю отриманого зображення." -#: ../include/sane/saneopts.h:329 +#: include/sane/saneopts.h:329 #, no-c-format msgid "Controls the contrast of the acquired image." msgstr "Керує контрастністю отриманого зображення." -#: ../include/sane/saneopts.h:332 +#: include/sane/saneopts.h:332 #, no-c-format msgid "" "Selects the \"graininess\" of the acquired image. Smaller values result " @@ -605,78 +599,78 @@ msgstr "" "Визначає значення «зернистості» сканованого зображення. Менші значення " "призводитимуть до створення чіткіших зображень." -#: ../include/sane/saneopts.h:336 +#: include/sane/saneopts.h:336 #, no-c-format msgid "Selects whether the acquired image should be halftoned (dithered)." msgstr "" "Визначає, чи має бути отримане зображення напівтоновим (з дизерингом)." -#: ../include/sane/saneopts.h:339 ../include/sane/saneopts.h:354 +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." msgstr "Визначає рівень світності, який слід вважати «чорним»." -#: ../include/sane/saneopts.h:342 ../include/sane/saneopts.h:363 +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format msgid "Selects what radiance level should be considered \"white\"." msgstr "Визначає рівень світності, який слід вважати «білим»." -#: ../include/sane/saneopts.h:345 +#: include/sane/saneopts.h:345 #, no-c-format msgid "Selects what red radiance level should be considered \"white\"." msgstr "Визначає рівень світності червоного, який слід вважати «білим»." -#: ../include/sane/saneopts.h:348 +#: include/sane/saneopts.h:348 #, no-c-format msgid "Selects what green radiance level should be considered \"white\"." msgstr "Визначає рівень світності зеленого, який слід вважати «білим»." -#: ../include/sane/saneopts.h:351 +#: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." msgstr "Визначає рівень світності синього, який слід вважати «білим»." -#: ../include/sane/saneopts.h:356 +#: include/sane/saneopts.h:356 #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "Визначає рівень світності червоного, який слід вважати «чорним»." -#: ../include/sane/saneopts.h:358 +#: include/sane/saneopts.h:358 #, no-c-format msgid "Selects what green radiance level should be considered \"black\"." msgstr "Визначає рівень світності зеленого, який слід вважати «чорним»." -#: ../include/sane/saneopts.h:360 +#: include/sane/saneopts.h:360 #, no-c-format msgid "Selects what blue radiance level should be considered \"black\"." msgstr "Визначає рівень світності синього, який слід вважати «чорним»." -#: ../include/sane/saneopts.h:365 +#: include/sane/saneopts.h:365 #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" "Визначає рівень світності червоного, який слід вважати «цілком червоним»." -#: ../include/sane/saneopts.h:367 +#: include/sane/saneopts.h:367 #, no-c-format msgid "" "Selects what green radiance level should be considered \"full green\"." msgstr "" "Визначає рівень світності зеленого, який слід вважати «цілком зеленим»." -#: ../include/sane/saneopts.h:370 +#: include/sane/saneopts.h:370 #, no-c-format msgid "" "Selects what blue radiance level should be considered \"full blue\"." msgstr "" "Визначає рівень світності синього, який слід вважати «цілком синім»." -#: ../include/sane/saneopts.h:374 +#: include/sane/saneopts.h:374 #, no-c-format msgid "Controls the \"hue\" (blue-level) of the acquired image." msgstr "Керує «відтінком» (рівнем синього) отриманого зображення." -#: ../include/sane/saneopts.h:377 +#: include/sane/saneopts.h:377 #, no-c-format msgid "" "The saturation level controls the amount of \"blooming\" that occurs " @@ -686,12 +680,12 @@ msgstr "" "час отримання зображення з фотоапарата. Більші значення додаватимуть " "більше вуалювання." -#: ../include/sane/saneopts.h:382 +#: include/sane/saneopts.h:382 #, no-c-format msgid "The filename of the image to be loaded." msgstr "Назва файла зображення, яке буде завантажено." -#: ../include/sane/saneopts.h:385 +#: include/sane/saneopts.h:385 #, no-c-format msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " @@ -700,7 +694,7 @@ msgstr "" "Визначає розмір напівтонового шаблону (дизерингу), що використовується " "під час сканування напівтонових зображень." -#: ../include/sane/saneopts.h:389 +#: include/sane/saneopts.h:389 #, no-c-format msgid "" "Defines the halftoning (dithering) pattern for scanning halftoned images." @@ -708,288 +702,288 @@ msgstr "" "Визначає напівтонового шаблон (дизеринг) для сканування напівтонових " "зображень." -#: ../include/sane/saneopts.h:393 +#: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" msgstr "" "Використовувати однакові значення для роздільних здатностей за X та Y" -#: ../include/sane/saneopts.h:395 +#: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" msgstr "Обміняти місцями чорний і білий" -#: ../include/sane/saneopts.h:397 +#: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" msgstr "Виконати якісне калібрування білого" -#: ../include/sane/saneopts.h:399 +#: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" msgstr "Використовувати лінзу, яка подвоює оптичну роздільність" -#: ../include/sane/saneopts.h:401 ../include/sane/saneopts.h:413 +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" msgstr "У режимі RGB використовувати однакові значення для кожного кольору" -#: ../include/sane/saneopts.h:403 +#: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" msgstr "Оберіть мінімальну яскравість для отримання точки білого" -#: ../include/sane/saneopts.h:405 +#: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" msgstr "Аналогове виправлення гами" -#: ../include/sane/saneopts.h:407 +#: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" msgstr "Аналогове виправлення гами для червоного" -#: ../include/sane/saneopts.h:409 +#: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" msgstr "Аналогове виправлення гами для зеленого" -#: ../include/sane/saneopts.h:411 +#: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" msgstr "Аналогове виправлення гами для синього" -#: ../include/sane/saneopts.h:415 +#: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" msgstr "Розігрівати лампу перед скануванням" -#: ../include/sane/saneopts.h:417 +#: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" msgstr "Визначити час витримки для калібрування" -#: ../include/sane/saneopts.h:419 +#: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "Визначити час витримки для калібрування червоного" -#: ../include/sane/saneopts.h:421 +#: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "Визначити час витримки для калібрування для зеленого" -#: ../include/sane/saneopts.h:423 +#: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "Визначити час витримки для калібрування для синього" -#: ../include/sane/saneopts.h:425 +#: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" msgstr "Визначити час витримки для сканування" -#: ../include/sane/saneopts.h:427 +#: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" msgstr "Визначити час витримки для сканування червоного" -#: ../include/sane/saneopts.h:429 +#: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" msgstr "Визначити час витримки для сканування зеленого" -#: ../include/sane/saneopts.h:431 +#: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" msgstr "Визначити час витримки для сканування зеленого" -#: ../include/sane/saneopts.h:433 +#: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" msgstr "Увімкнути вибір часу витримки" -#: ../include/sane/saneopts.h:435 +#: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" msgstr "Визначити інтенсивність для калібрування" -#: ../include/sane/saneopts.h:437 +#: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" msgstr "Визначити інтенсивність лампи для сканування" -#: ../include/sane/saneopts.h:439 +#: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" msgstr "Увімкнути можливість вибору інтенсивності лампи" -#: ../include/sane/saneopts.h:441 ../backend/umax.c:5830 +#: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format msgid "Turn off lamp when program exits" msgstr "Вимкнути лампу під час виходу з програми" -#: ../include/sane/saneopts.h:444 +#: include/sane/saneopts.h:444 #, no-c-format msgid "Scan button" msgstr "Кнопка «Scan»" -#: ../include/sane/saneopts.h:445 +#: include/sane/saneopts.h:445 #, no-c-format msgid "Email button" msgstr "Кнопка «Email»" -#: ../include/sane/saneopts.h:446 +#: include/sane/saneopts.h:446 #, no-c-format msgid "Fax button" msgstr "Кнопка «Fax»" -#: ../include/sane/saneopts.h:447 +#: include/sane/saneopts.h:447 #, no-c-format msgid "Copy button" msgstr "Кнопка «Copy»" -#: ../include/sane/saneopts.h:448 +#: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" msgstr "Кнопка «PDF»" -#: ../include/sane/saneopts.h:449 +#: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" msgstr "Кнопка «Cancel»" -#: ../include/sane/saneopts.h:450 +#: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" msgstr "Сторінку завантажено" -#: ../include/sane/saneopts.h:451 +#: include/sane/saneopts.h:451 #, no-c-format msgid "Cover open" msgstr "Кришку відчинено" -#: ../include/sane/saneopts.h:454 +#: include/sane/saneopts.h:454 #, no-c-format msgid "Color" msgstr "Кольоровий" -#: ../include/sane/saneopts.h:455 +#: include/sane/saneopts.h:455 #, no-c-format msgid "Color Lineart" msgstr "Кольоровий штриховий" -#: ../include/sane/saneopts.h:456 +#: include/sane/saneopts.h:456 #, no-c-format msgid "Color Halftone" msgstr "Кольоровий, напівтони" -#: ../include/sane/saneopts.h:457 +#: include/sane/saneopts.h:457 #, no-c-format msgid "Gray" msgstr "Сірий" -#: ../include/sane/saneopts.h:458 +#: include/sane/saneopts.h:458 #, no-c-format msgid "Halftone" msgstr "Півтони" -#: ../include/sane/saneopts.h:459 +#: include/sane/saneopts.h:459 #, no-c-format msgid "Lineart" msgstr "Штрихове" -#: ../backend/sane_strstatus.c:59 +#: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" msgstr "Успіх" -#: ../backend/sane_strstatus.c:62 +#: backend/sane_strstatus.c:62 #, no-c-format msgid "Operation not supported" msgstr "Дія не підтримується" -#: ../backend/sane_strstatus.c:65 +#: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" msgstr "Дію було скасовано" -#: ../backend/sane_strstatus.c:68 +#: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" msgstr "Пристрій зайнято" -#: ../backend/sane_strstatus.c:71 +#: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" msgstr "Некоректний аргумент" -#: ../backend/sane_strstatus.c:74 +#: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" msgstr "Досягнуто кінця файла" -#: ../backend/sane_strstatus.c:77 +#: backend/sane_strstatus.c:77 #, no-c-format msgid "Document feeder jammed" msgstr "Заїдання носія у пристрої подачі" -#: ../backend/sane_strstatus.c:80 +#: backend/sane_strstatus.c:80 #, no-c-format msgid "Document feeder out of documents" msgstr "У пристрої подачі немає носіїв" -#: ../backend/sane_strstatus.c:83 +#: backend/sane_strstatus.c:83 #, no-c-format msgid "Scanner cover is open" msgstr "Відчинено кришку сканера" -#: ../backend/sane_strstatus.c:86 +#: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" msgstr "Помилка під час виконання дій з вводу-виводу" -#: ../backend/sane_strstatus.c:89 +#: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" msgstr "Не вистачає пам'яті" -#: ../backend/sane_strstatus.c:92 +#: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" msgstr "Доступ до ресурсу заборонено" -#: ../backend/sane_strstatus.c:96 +#: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" msgstr "Лампа не готова, будь ласка, повторіть спробу" -#: ../backend/sane_strstatus.c:101 +#: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" msgstr "Механізм сканера заблоковано" -#: ../backend/artec_eplus48u.c:2874 ../backend/pnm.c:282 +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format msgid "Defaults" msgstr "Типові" -#: ../backend/artec_eplus48u.c:2876 +#: backend/artec_eplus48u.c:2876 #, no-c-format msgid "Set default values for enhancement controls." msgstr "Встановити типові значення для регуляторів покращення." -#: ../backend/artec_eplus48u.c:2932 ../backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 #, no-c-format msgid "Calibration" msgstr "Калібрування" -#: ../backend/artec_eplus48u.c:2941 +#: backend/artec_eplus48u.c:2941 #, no-c-format msgid "Calibrate before next scan" msgstr "Калібрувати перед наступним скануванням" -#: ../backend/artec_eplus48u.c:2943 +#: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" "If enabled, the device will be calibrated before the next scan. " @@ -999,12 +993,12 @@ msgstr "" "скануванням. У іншому випадку калібрування виконуватиметься лише перед " "першим скануванням." -#: ../backend/artec_eplus48u.c:2954 +#: backend/artec_eplus48u.c:2954 #, no-c-format msgid "Only perform shading-correction" msgstr "Виконати лише коригування градації" -#: ../backend/artec_eplus48u.c:2956 +#: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " @@ -1016,27 +1010,27 @@ msgstr "" "з файла налаштувань) значення для коефіцієнта підсилення, зміщення та " "часу експозиції." -#: ../backend/artec_eplus48u.c:2967 +#: backend/artec_eplus48u.c:2967 #, no-c-format msgid "Button state" msgstr "Стан кнопки" -#: ../backend/avision.h:777 +#: backend/avision.h:778 #, no-c-format msgid "Number of the frame to scan" msgstr "Номер кадру для сканування" -#: ../backend/avision.h:778 +#: backend/avision.h:779 #, no-c-format msgid "Selects the number of the frame to scan" msgstr "Визначає кількість кадрів для сканування" -#: ../backend/avision.h:781 +#: backend/avision.h:782 #, no-c-format msgid "Duplex scan" msgstr "Двобічне сканування" -#: ../backend/avision.h:782 +#: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" @@ -1044,432 +1038,429 @@ msgstr "" "За використання двобічного сканування ви отримаєте одразу зображення " "лицьового та зворотного боків документа" -#: ../backend/canon630u.c:159 +#: backend/canon630u.c:159 #, no-c-format msgid "Calibrate Scanner" msgstr "Калібрувати сканер" -#: ../backend/canon630u.c:160 +#: backend/canon630u.c:160 #, no-c-format msgid "Force scanner calibration before scan" msgstr "Виконувати примусове калібрування перед скануванням" -#: ../backend/canon630u.c:259 ../backend/umax1220u.c:208 +#: backend/canon630u.c:259 backend/umax1220u.c:208 #, no-c-format msgid "Grayscale scan" msgstr "Сканувати у відтінках сірого" -#: ../backend/canon630u.c:260 ../backend/umax1220u.c:209 +#: backend/canon630u.c:260 backend/umax1220u.c:209 #, no-c-format msgid "Do a grayscale rather than color scan" msgstr "Виконувати чорно-біле сканування замість кольорового" -#: ../backend/canon630u.c:306 +#: backend/canon630u.c:306 #, no-c-format msgid "Analog Gain" msgstr "Аналогове підсилення" -#: ../backend/canon630u.c:307 +#: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" msgstr "Збільшити або зменшити аналогове підсилення матриці ПЗЗ" -#: ../backend/canon630u.c:347 ../backend/epson.h:68 ../backend/epson2.h:74 +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format msgid "Gamma Correction" msgstr "Виправлення гами" -#: ../backend/canon630u.c:348 +#: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" msgstr "Визначити криву виправлення гами" -#: ../backend/canon.c:149 ../backend/canon-sane.c:1323 +#: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format msgid "Raw" msgstr "Без обробки" -#: ../backend/canon.c:157 ../backend/canon-sane.c:732 -#: ../backend/canon-sane.c:940 ../backend/canon-sane.c:1076 -#: ../backend/canon-sane.c:1318 ../backend/canon-sane.c:1501 -#: ../backend/canon-sane.c:1650 +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" msgstr "Чистий колір" -#: ../backend/canon.c:169 +#: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Без виправлення прозорості" -#: ../backend/canon.c:170 ../backend/canon-sane.c:680 +#: backend/canon.c:170 backend/canon-sane.c:680 #, no-c-format msgid "Correction according to film type" msgstr "Виправлення відповідно до типу плівки" -#: ../backend/canon.c:171 ../backend/canon-sane.c:674 +#: backend/canon.c:171 backend/canon-sane.c:674 #, no-c-format msgid "Correction according to transparency ratio" msgstr "Виправлення відповідно до співвідношення прозорості" -#: ../backend/canon.c:176 ../backend/canon-sane.c:776 +#: backend/canon.c:176 backend/canon-sane.c:776 #, no-c-format msgid "Negatives" msgstr "Негативи" -#: ../backend/canon.c:176 +#: backend/canon.c:176 #, no-c-format msgid "Slides" msgstr "Слайди" -#: ../backend/canon.c:186 ../backend/kvs1025_opt.c:181 -#: ../backend/kvs40xx_opt.c:272 ../backend/matsushita.c:178 +#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 #, no-c-format msgid "Automatic" msgstr "Автоматично" -#: ../backend/canon.c:186 +#: backend/canon.c:186 #, no-c-format msgid "Normal speed" msgstr "Звичайна швидкість" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/2 normal speed" msgstr "1/2 звичайної швидкості" -#: ../backend/canon.c:187 +#: backend/canon.c:187 #, no-c-format msgid "1/3 normal speed" msgstr "1/3 звичайної швидкості" -#: ../backend/canon.c:365 +#: backend/canon.c:365 #, no-c-format msgid "rounded parameter" msgstr "округлений параметр" -#: ../backend/canon.c:368 ../backend/canon.c:384 ../backend/canon.c:419 -#: ../backend/canon.c:469 ../backend/canon.c:487 ../backend/canon.c:530 +#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 +#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 #, no-c-format msgid "unknown" msgstr "невідома" -#: ../backend/canon.c:378 +#: backend/canon.c:378 #, no-c-format msgid "ADF jam" msgstr "Заїдання у протяжному механізмі" -#: ../backend/canon.c:381 +#: backend/canon.c:381 #, no-c-format msgid "ADF cover open" msgstr "Відкрито кришку протяжного механізму" -#: ../backend/canon.c:394 +#: backend/canon.c:394 #, no-c-format msgid "lamp failure" msgstr "Лампа не працює" -#: ../backend/canon.c:397 +#: backend/canon.c:397 #, no-c-format msgid "scan head positioning error" msgstr "помилка позиціонування голівки сканування" -#: ../backend/canon.c:400 +#: backend/canon.c:400 #, no-c-format msgid "CPU check error" msgstr "Помилка під час перевірки процесора" -#: ../backend/canon.c:403 +#: backend/canon.c:403 #, no-c-format msgid "RAM check error" msgstr "Помилка під час перевірки пам’яті" -#: ../backend/canon.c:406 +#: backend/canon.c:406 #, no-c-format msgid "ROM check error" msgstr "Помилка під час перевірки ROM" -#: ../backend/canon.c:409 +#: backend/canon.c:409 #, no-c-format msgid "hardware check error" msgstr "Помилка під час перевірки обладнання" -#: ../backend/canon.c:412 +#: backend/canon.c:412 #, no-c-format msgid "transparency unit lamp failure" msgstr "Не працює лампа модуля слайдів" -#: ../backend/canon.c:415 +#: backend/canon.c:415 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "Помилка позиціонування голівки сканування модуля плівок" -#: ../backend/canon.c:429 +#: backend/canon.c:429 #, no-c-format msgid "parameter list length error" msgstr "Помилка, пов’язана з довжиною списку параметрів" -#: ../backend/canon.c:433 +#: backend/canon.c:433 #, no-c-format msgid "invalid command operation code" msgstr "Некоректний код команди дії" -#: ../backend/canon.c:437 +#: backend/canon.c:437 #, no-c-format msgid "invalid field in CDB" msgstr "Некоректне поле у CDB" -#: ../backend/canon.c:441 +#: backend/canon.c:441 #, no-c-format msgid "unsupported LUN" msgstr "Непідтримуване значення LUN" -#: ../backend/canon.c:445 +#: backend/canon.c:445 #, no-c-format msgid "invalid field in parameter list" msgstr "Некоректне поле у списку параметрів" -#: ../backend/canon.c:449 +#: backend/canon.c:449 #, no-c-format msgid "command sequence error" msgstr "Помилка під час виконання послідовності команд" -#: ../backend/canon.c:453 +#: backend/canon.c:453 #, no-c-format msgid "too many windows specified" msgstr "Вказано забагато вікон" -#: ../backend/canon.c:457 +#: backend/canon.c:457 #, no-c-format msgid "medium not present" msgstr "Відсутній носій" -#: ../backend/canon.c:461 +#: backend/canon.c:461 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "Повідомлення про некоректний біт IDENTIFY" -#: ../backend/canon.c:465 +#: backend/canon.c:465 #, no-c-format msgid "option not connect" msgstr "Додаткову функціональність не з’єднано" -#: ../backend/canon.c:479 +#: backend/canon.c:479 #, no-c-format msgid "power on reset / bus device reset" msgstr "скидання під час вмикання / з’єднання пристрою" -#: ../backend/canon.c:483 +#: backend/canon.c:483 #, no-c-format msgid "parameter changed by another initiator" msgstr "Параметр змінено іншим інструментом ініціалізації" -#: ../backend/canon.c:497 +#: backend/canon.c:497 #, no-c-format msgid "no additional sense information" msgstr "відсутні додаткові дані" -#: ../backend/canon.c:501 +#: backend/canon.c:501 #, no-c-format msgid "reselect failure" msgstr "Помилка повторного вибору" -#: ../backend/canon.c:505 +#: backend/canon.c:505 #, no-c-format msgid "SCSI parity error" msgstr "Помилка парності SCSI" -#: ../backend/canon.c:509 +#: backend/canon.c:509 #, no-c-format msgid "initiator detected error message received" msgstr "" "Отримано повідомлення про помилку виявлення інструменту ініціалізації" -#: ../backend/canon.c:514 +#: backend/canon.c:514 #, no-c-format msgid "invalid message error" msgstr "Некоректне повідомлення" -#: ../backend/canon.c:518 +#: backend/canon.c:518 #, no-c-format msgid "timeout error" msgstr "Перевищення часу очікування" -#: ../backend/canon.c:522 +#: backend/canon.c:522 #, no-c-format msgid "transparency unit shading error" msgstr "Помилка під час градації у модулі слайдів" -#: ../backend/canon.c:526 +#: backend/canon.c:526 #, no-c-format msgid "lamp not stabilized" msgstr "Лампу не стабілізовано" -#: ../backend/canon.c:852 ../backend/canon.c:867 +#: backend/canon.c:852 backend/canon.c:867 #, no-c-format msgid "film scanner" msgstr "плівковий сканер" -#: ../backend/canon.c:882 ../backend/canon.c:897 ../backend/canon.c:912 -#: ../backend/canon.c:927 ../backend/hp3900_sane.c:1683 -#: ../backend/plustek.c:1335 ../backend/plustek_pp.c:1014 -#: ../backend/sceptre.c:593 ../backend/teco2.c:1836 ../backend/u12.c:851 +#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 +#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "планшетний сканер" -#: ../backend/canon.c:1183 ../backend/epson.c:3386 -#: ../backend/epson2.c:1365 +#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 #, no-c-format msgid "Film type" msgstr "Тип плівки" -#: ../backend/canon.c:1184 +#: backend/canon.c:1184 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Визначає тип плівки, тобто негатив чи слайд" -#: ../backend/canon.c:1196 +#: backend/canon.c:1196 #, no-c-format msgid "Negative film type" msgstr "Тип плівки негатива" -#: ../backend/canon.c:1197 +#: backend/canon.c:1197 #, no-c-format msgid "Selects the negative film type" msgstr "Оберіть тестове зображення" -#: ../backend/canon.c:1236 +#: backend/canon.c:1236 #, no-c-format msgid "Hardware resolution" msgstr "Апаратна роздільна здатність" -#: ../backend/canon.c:1237 +#: backend/canon.c:1237 #, no-c-format msgid "Use only hardware resolutions" msgstr "Використовувати лише апаратні значення" -#: ../backend/canon.c:1318 +#: backend/canon.c:1318 #, no-c-format msgid "Focus" msgstr "Фокусування" -#: ../backend/canon.c:1328 +#: backend/canon.c:1328 #, no-c-format msgid "Auto focus" msgstr "Автоматичне фокусування" -#: ../backend/canon.c:1329 +#: backend/canon.c:1329 #, no-c-format msgid "Enable/disable auto focus" msgstr "Увімкнути/Вимкнути автоматичне фокусування" -#: ../backend/canon.c:1336 +#: backend/canon.c:1336 #, no-c-format msgid "Auto focus only once" msgstr "Одноразове автофокусування" -#: ../backend/canon.c:1337 +#: backend/canon.c:1337 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Виконувати автоматичне фокусування лише раз між виштовхуваннями" -#: ../backend/canon.c:1345 +#: backend/canon.c:1345 #, no-c-format msgid "Manual focus position" msgstr "Визначення позиції фокуса вручну" -#: ../backend/canon.c:1346 +#: backend/canon.c:1346 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" "Встановити позицію фокусування оптичної системи вручну (типове значення: " "128)." -#: ../backend/canon.c:1356 +#: backend/canon.c:1356 #, no-c-format msgid "Scan margins" msgstr "Поля області сканування" -#: ../backend/canon.c:1403 +#: backend/canon.c:1403 #, no-c-format msgid "Extra color adjustments" msgstr "Додаткова корекція кольорів" -#: ../backend/canon.c:1538 ../backend/epson.c:3205 -#: ../backend/epson2.c:1255 ../backend/kvs1025.h:55 -#: ../backend/kvs40xx_opt.c:825 +#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Віддзеркалити зображення" -#: ../backend/canon.c:1539 +#: backend/canon.c:1539 #, no-c-format msgid "Mirror the image horizontally" msgstr "Віддзеркалити зображення горизонтально." -#: ../backend/canon.c:1608 +#: backend/canon.c:1608 #, no-c-format msgid "Auto exposure" msgstr "Автоекспозиція" -#: ../backend/canon.c:1609 +#: backend/canon.c:1609 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Увімкнути/Вимкнути можливість автоекспонування" -#: ../backend/canon.c:1625 +#: backend/canon.c:1625 #, no-c-format msgid "Calibration now" msgstr "Калібрування" -#: ../backend/canon.c:1626 +#: backend/canon.c:1626 #, no-c-format msgid "Execute calibration *now*" msgstr "Виконати калібрування негайно" -#: ../backend/canon.c:1636 +#: backend/canon.c:1636 #, no-c-format msgid "Self diagnosis" msgstr "Самодіагностика" -#: ../backend/canon.c:1637 +#: backend/canon.c:1637 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Виконати самодіагностику сканера" -#: ../backend/canon.c:1648 +#: backend/canon.c:1648 #, no-c-format msgid "Reset scanner" msgstr "Скинути параметри сканера" -#: ../backend/canon.c:1649 +#: backend/canon.c:1649 #, no-c-format msgid "Reset the scanner" msgstr "Скинути параметри сканера" -#: ../backend/canon.c:1659 +#: backend/canon.c:1659 #, no-c-format msgid "Medium handling" msgstr "Обробка носіїв" -#: ../backend/canon.c:1668 +#: backend/canon.c:1668 #, no-c-format msgid "Eject film after each scan" msgstr "Виштовхувати плівку після кожного сканування" -#: ../backend/canon.c:1669 +#: backend/canon.c:1669 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" "Автоматично виштовхувати плівку з пристрою після кожного сканування" -#: ../backend/canon.c:1680 +#: backend/canon.c:1680 #, no-c-format msgid "Eject film before exit" msgstr "Виштовхувати плівку перед завершенням роботи" -#: ../backend/canon.c:1681 +#: backend/canon.c:1681 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" @@ -1477,608 +1468,604 @@ msgstr "" "Автоматично виштовхувати плівку з пристрою перед завершенням роботи " "програми" -#: ../backend/canon.c:1690 +#: backend/canon.c:1690 #, no-c-format msgid "Eject film now" msgstr "Виштовхнути плівку" -#: ../backend/canon.c:1691 +#: backend/canon.c:1691 #, no-c-format msgid "Eject the film *now*" msgstr "Виштовхнути плівку *негайно*" -#: ../backend/canon.c:1700 +#: backend/canon.c:1700 #, no-c-format msgid "Document feeder extras" msgstr "Додаткові інструменти подачі" -#: ../backend/canon.c:1707 +#: backend/canon.c:1707 #, no-c-format msgid "Flatbed only" msgstr "Лише планшетний" -#: ../backend/canon.c:1708 +#: backend/canon.c:1708 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" "Вимкнути автоматичну подачу, використовувати лише планшетний механізм" -#: ../backend/canon.c:1718 ../backend/canon.c:1728 +#: backend/canon.c:1718 backend/canon.c:1728 #, no-c-format msgid "Transparency unit" msgstr "Модуль для слайдів" -#: ../backend/canon.c:1729 +#: backend/canon.c:1729 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Увімкнути/Вимкнути модуль для слайдів (FAU, film adapter unit)" -#: ../backend/canon.c:1739 +#: backend/canon.c:1739 #, no-c-format msgid "Negative film" msgstr "Негатив" -#: ../backend/canon.c:1740 +#: backend/canon.c:1740 #, no-c-format msgid "Positive or negative film" msgstr "Позитивною чи негативною є плівка" -#: ../backend/canon.c:1749 +#: backend/canon.c:1749 #, no-c-format msgid "Density control" msgstr "Керування щільністю" -#: ../backend/canon.c:1750 +#: backend/canon.c:1750 #, no-c-format msgid "Set density control mode" msgstr "Встановити режим керування щільністю" -#: ../backend/canon.c:1761 +#: backend/canon.c:1761 #, no-c-format msgid "Transparency ratio" msgstr "Співвідношення прозорості" -#: ../backend/canon.c:1775 +#: backend/canon.c:1775 #, no-c-format msgid "Select film type" msgstr "Оберіть тип плівки" -#: ../backend/canon.c:1776 +#: backend/canon.c:1776 #, no-c-format msgid "Select the film type" msgstr "Визначає тип плівки" -#: ../backend/canon_dr.c:388 ../backend/epjitsu.c:227 -#: ../backend/epson.c:501 ../backend/epson2.c:115 ../backend/fujitsu.c:649 -#: ../backend/gt68xx.c:148 ../backend/hp3900_sane.c:418 -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1017 -#: ../backend/hp5590.c:82 ../backend/ma1509.c:108 -#: ../backend/magicolor.c:181 ../backend/mustek.c:156 -#: ../backend/mustek.c:160 ../backend/mustek.c:164 ../backend/pixma.c:891 -#: ../backend/pixma_sane_options.c:90 ../backend/snapscan-options.c:86 -#: ../backend/test.c:192 ../backend/umax.c:181 +#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:901 +#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Планшет" -#: ../backend/canon_dr.c:389 ../backend/epjitsu.c:228 -#: ../backend/fujitsu.c:650 ../backend/kodak.c:135 +#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Перед протяжного механізму" -#: ../backend/canon_dr.c:390 ../backend/epjitsu.c:229 -#: ../backend/fujitsu.c:651 ../backend/kodak.c:136 +#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Зворот протяжного механізму" -#: ../backend/canon_dr.c:391 ../backend/epjitsu.c:230 -#: ../backend/fujitsu.c:652 ../backend/hp5590.c:84 ../backend/kodak.c:137 -#: ../backend/pixma.c:902 +#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 +#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 #, no-c-format msgid "ADF Duplex" msgstr "Двобічна АПД" -#: ../backend/canon_dr.c:392 +#: backend/canon_dr.c:412 #, no-c-format msgid "Card Front" msgstr "Картка (профіль)" -#: ../backend/canon_dr.c:393 +#: backend/canon_dr.c:413 #, no-c-format msgid "Card Back" msgstr "Картка (зворот)" -#: ../backend/canon_dr.c:394 +#: backend/canon_dr.c:414 #, no-c-format msgid "Card Duplex" msgstr "Картка (обидва боки)" -#: ../backend/canon_dr.c:401 ../backend/epson.c:599 -#: ../backend/epson.c:3096 ../backend/epson2.c:201 -#: ../backend/fujitsu.c:669 ../backend/genesys.c:89 -#: ../backend/genesys.c:96 ../backend/gt68xx_low.h:136 -#: ../backend/hp-option.c:3093 +#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 +#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 #, no-c-format msgid "Red" msgstr "Червоний" -#: ../backend/canon_dr.c:402 ../backend/epson.c:600 -#: ../backend/epson.c:3092 ../backend/epson2.c:202 -#: ../backend/fujitsu.c:670 ../backend/genesys.c:90 -#: ../backend/genesys.c:97 ../backend/gt68xx_low.h:137 -#: ../backend/hp-option.c:3094 +#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 +#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 #, no-c-format msgid "Green" msgstr "Зелений" -#: ../backend/canon_dr.c:403 ../backend/epson.c:601 -#: ../backend/epson.c:3100 ../backend/epson2.c:203 -#: ../backend/fujitsu.c:671 ../backend/genesys.c:91 -#: ../backend/genesys.c:98 ../backend/gt68xx_low.h:138 -#: ../backend/hp-option.c:3095 +#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 +#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 #, no-c-format msgid "Blue" msgstr "Синій" -#: ../backend/canon_dr.c:404 +#: backend/canon_dr.c:424 #, no-c-format msgid "Enhance Red" msgstr "Покращити червоний" -#: ../backend/canon_dr.c:405 +#: backend/canon_dr.c:425 #, no-c-format msgid "Enhance Green" msgstr "Покращити зелений" -#: ../backend/canon_dr.c:406 +#: backend/canon_dr.c:426 #, no-c-format msgid "Enhance Blue" msgstr "Покращити синій" -#: ../backend/canon_dr.c:408 ../backend/epson.c:556 ../backend/epson.c:564 -#: ../backend/epson.c:576 ../backend/epson.c:598 ../backend/epson2.c:165 -#: ../backend/epson2.c:173 ../backend/epson2.c:185 ../backend/epson2.c:200 -#: ../backend/epson2.c:214 ../backend/fujitsu.c:675 -#: ../backend/genesys.c:99 ../backend/leo.c:109 -#: ../backend/matsushita.c:138 ../backend/matsushita.c:159 -#: ../backend/matsushita.c:191 ../backend/matsushita.c:213 -#: ../backend/snapscan-options.c:91 +#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Немає" -#: ../backend/canon_dr.c:409 ../backend/fujitsu.c:676 +#: backend/canon_dr.c:429 backend/fujitsu.c:699 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: ../backend/epson.c:491 ../backend/epson2.c:108 -#: ../backend/magicolor.c:174 +#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 +#: backend/kvs1025_opt.c:911 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "Порогове значення порожніх сторінок для програмного відкидання" + +#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" +"Вимагати від драйвера відкидання сторінок з надто низькою питомою " +"кількістю темних пікселів" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Однобічна" -#: ../backend/epson.c:492 ../backend/epson2.c:109 ../backend/kvs1025.h:50 -#: ../backend/kvs20xx_opt.c:203 ../backend/kvs40xx_opt.c:352 -#: ../backend/magicolor.c:175 ../backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Двобічна" -#: ../backend/epson.c:502 ../backend/epson2.c:116 ../backend/pixma.c:908 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 #, no-c-format msgid "Transparency Unit" msgstr "Модуль для слайдів" -#: ../backend/epson.c:503 ../backend/epson2.c:118 -#: ../backend/magicolor.c:182 ../backend/mustek.c:160 -#: ../backend/pixma.c:896 ../backend/test.c:192 ../backend/umax.c:183 +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Автоматична подача документів" -#: ../backend/epson.c:523 ../backend/epson2.c:134 +#: backend/epson.c:523 backend/epson2.c:134 #, no-c-format msgid "Positive Film" msgstr "Плівка-позитив" -#: ../backend/epson.c:524 ../backend/epson2.c:135 +#: backend/epson.c:524 backend/epson2.c:135 #, no-c-format msgid "Negative Film" msgstr "Плівка-негатив" -#: ../backend/epson.c:529 ../backend/epson2.c:142 +#: backend/epson.c:529 backend/epson2.c:142 #, no-c-format msgid "Focus on glass" msgstr "Фокус на склі" -#: ../backend/epson.c:530 ../backend/epson2.c:143 +#: backend/epson.c:530 backend/epson2.c:143 #, no-c-format msgid "Focus 2.5mm above glass" msgstr "Фокус 2,5 мм над склом" -#: ../backend/epson.c:557 ../backend/epson.c:565 ../backend/epson.c:577 -#: ../backend/epson2.c:166 ../backend/epson2.c:174 ../backend/epson2.c:186 +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 #, no-c-format msgid "Halftone A (Hard Tone)" msgstr "Півтони A (Різкі тони)" -#: ../backend/epson.c:558 ../backend/epson.c:566 ../backend/epson.c:578 -#: ../backend/epson2.c:167 ../backend/epson2.c:175 ../backend/epson2.c:187 +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 #, no-c-format msgid "Halftone B (Soft Tone)" msgstr "Півтони B (М’які тони)" -#: ../backend/epson.c:559 ../backend/epson.c:567 ../backend/epson.c:579 -#: ../backend/epson2.c:168 ../backend/epson2.c:176 ../backend/epson2.c:188 +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 #, no-c-format msgid "Halftone C (Net Screen)" msgstr "Півтони C (Net Screen)" -#: ../backend/epson.c:568 ../backend/epson.c:580 ../backend/epson2.c:177 -#: ../backend/epson2.c:189 +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 #, no-c-format msgid "Dither A (4x4 Bayer)" msgstr "Дизеринг A (секція 4x4)" -#: ../backend/epson.c:569 ../backend/epson.c:581 ../backend/epson2.c:178 -#: ../backend/epson2.c:190 +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 #, no-c-format msgid "Dither B (4x4 Spiral)" msgstr "Дизеринг B (спіраль 4x4)" -#: ../backend/epson.c:570 ../backend/epson.c:582 ../backend/epson2.c:179 -#: ../backend/epson2.c:191 +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 #, no-c-format msgid "Dither C (4x4 Net Screen)" msgstr "Дизеринг C (4x4 Net Screen)" -#: ../backend/epson.c:571 ../backend/epson.c:583 ../backend/epson2.c:180 -#: ../backend/epson2.c:192 +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 #, no-c-format msgid "Dither D (8x4 Net Screen)" msgstr "Дизеринг D (8x4 Net Screen)" -#: ../backend/epson.c:584 ../backend/epson2.c:193 +#: backend/epson.c:584 backend/epson2.c:193 #, no-c-format msgid "Text Enhanced Technology" msgstr "Технологія покращення тексту" -#: ../backend/epson.c:585 ../backend/epson2.c:194 +#: backend/epson.c:585 backend/epson2.c:194 #, no-c-format msgid "Download pattern A" msgstr "Завантажити шаблон A" -#: ../backend/epson.c:586 ../backend/epson2.c:195 +#: backend/epson.c:586 backend/epson2.c:195 #, no-c-format msgid "Download pattern B" msgstr "Завантажити шаблон B" -#: ../backend/epson.c:631 +#: backend/epson.c:631 #, no-c-format msgid "No Correction" msgstr "Без виправлення" -#: ../backend/epson.c:632 ../backend/epson.c:657 ../backend/epson2.c:255 +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 #, no-c-format msgid "User defined" msgstr "Визначене користувачем" -#: ../backend/epson.c:633 +#: backend/epson.c:633 #, no-c-format msgid "Impact-dot printers" msgstr "Матричні принтери" -#: ../backend/epson.c:634 +#: backend/epson.c:634 #, no-c-format msgid "Thermal printers" msgstr "Термічні принтери" -#: ../backend/epson.c:635 +#: backend/epson.c:635 #, no-c-format msgid "Ink-jet printers" msgstr "Струминні принтери" -#: ../backend/epson.c:636 +#: backend/epson.c:636 #, no-c-format msgid "CRT monitors" msgstr "Монітори з ЕПТ" -#: ../backend/epson.c:656 ../backend/epson2.c:254 ../backend/fujitsu.c:659 -#: ../backend/hp-option.c:3226 ../backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 +#: backend/hp-option.c:3226 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Типовий" -#: ../backend/epson.c:658 ../backend/epson2.c:256 +#: backend/epson.c:658 backend/epson2.c:256 #, no-c-format msgid "High density printing" msgstr "Друк з високою щільністю" -#: ../backend/epson.c:659 ../backend/epson2.c:257 +#: backend/epson.c:659 backend/epson2.c:257 #, no-c-format msgid "Low density printing" msgstr "Друк з низькою щільністю" -#: ../backend/epson.c:660 ../backend/epson2.c:258 +#: backend/epson.c:660 backend/epson2.c:258 #, no-c-format msgid "High contrast printing" msgstr "Друк з високою контрастністю" -#: ../backend/epson.c:678 ../backend/epson2.c:276 +#: backend/epson.c:678 backend/epson2.c:276 #, no-c-format msgid "User defined (Gamma=1.0)" msgstr "Визначене користувачем (Gamma=1.0)" -#: ../backend/epson.c:679 ../backend/epson2.c:277 +#: backend/epson.c:679 backend/epson2.c:277 #, no-c-format msgid "User defined (Gamma=1.8)" msgstr "Визначена користувачем (Gamma=1.8)" -#: ../backend/epson.c:757 +#: backend/epson.c:757 #, no-c-format msgid "CD" msgstr "КД" -#: ../backend/epson.c:758 +#: backend/epson.c:758 #, no-c-format msgid "A5 portrait" msgstr "A5 книжкова" -#: ../backend/epson.c:759 +#: backend/epson.c:759 #, no-c-format msgid "A5 landscape" msgstr "A5 альбомна" -#: ../backend/epson.c:760 ../backend/kvs1025_opt.c:103 -#: ../backend/kvs20xx_opt.c:76 ../backend/kvs40xx_opt.c:130 -#: ../backend/kvs40xx_opt.c:147 +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 #, no-c-format msgid "Letter" msgstr "Letter" -#: ../backend/epson.c:761 ../backend/kvs1025_opt.c:100 -#: ../backend/kvs20xx_opt.c:73 ../backend/kvs20xx_opt.c:301 -#: ../backend/kvs40xx_opt.c:127 ../backend/kvs40xx_opt.c:144 -#: ../backend/kvs40xx_opt.c:525 +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 #, no-c-format msgid "A4" msgstr "A4" -#: ../backend/epson.c:762 +#: backend/epson.c:762 #, no-c-format msgid "Max" msgstr "Макс" -#: ../backend/epson.c:2813 ../backend/epson2.c:977 -#: ../backend/genesys.c:5532 ../backend/gt68xx.c:458 -#: ../backend/hp-option.c:2914 ../backend/kvs1025_opt.c:522 -#: ../backend/kvs20xx_opt.c:170 ../backend/kvs40xx_opt.c:319 -#: ../backend/ma1509.c:501 ../backend/matsushita.c:1084 -#: ../backend/microtek2.h:598 ../backend/mustek.c:4205 -#: ../backend/mustek_usb.c:260 ../backend/mustek_usb2.c:344 -#: ../backend/niash.c:734 ../backend/plustek.c:721 -#: ../backend/plustek_pp.c:658 ../backend/sceptre.c:673 -#: ../backend/snapscan-options.c:354 ../backend/stv680.c:1030 -#: ../backend/teco2.c:1886 ../backend/test.c:306 ../backend/u12.c:473 -#: ../backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 +#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 +#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 +#: backend/mustek.c:4203 backend/mustek_usb.c:260 +#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 +#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Режим сканування" -#: ../backend/epson.c:2845 ../backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1012 #, no-c-format msgid "Selects the halftone." msgstr "Визначає півтон." -#: ../backend/epson.c:2867 ../backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1033 #, no-c-format msgid "Dropout" msgstr "Маска" -#: ../backend/epson.c:2868 ../backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1034 #, no-c-format msgid "Selects the dropout." msgstr "Визначає маску." -#: ../backend/epson.c:2880 ../backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1046 #, no-c-format msgid "Selects the brightness." msgstr "Визначає яскравість." -#: ../backend/epson.c:2895 ../backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1059 #, no-c-format msgid "Sharpness" msgstr "Різкість" -#: ../backend/epson.c:3031 ../backend/epson2.c:1175 -#: ../backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 #, no-c-format msgid "Color correction" msgstr "Кольорова компенсація" -#: ../backend/epson.c:3034 ../backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1177 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" "Визначає таблицю виправлення кольорів для вибраного пристрою виведення " "даних." -#: ../backend/epson.c:3075 +#: backend/epson.c:3075 #, no-c-format msgid "Color correction coefficients" msgstr "Коефіцієнти виправлення кольорів" -#: ../backend/epson.c:3076 +#: backend/epson.c:3076 #, no-c-format msgid "Matrix multiplication of RGB" msgstr "Матричний множник RGB" -#: ../backend/epson.c:3093 +#: backend/epson.c:3093 #, no-c-format msgid "Shift green to red" msgstr "Зсув зеленого до червоного" -#: ../backend/epson.c:3094 +#: backend/epson.c:3094 #, no-c-format msgid "Shift green to blue" msgstr "Зсув зеленого до синього" -#: ../backend/epson.c:3095 +#: backend/epson.c:3095 #, no-c-format msgid "Shift red to green" msgstr "Зсув червоного до зеленого" -#: ../backend/epson.c:3097 +#: backend/epson.c:3097 #, no-c-format msgid "Shift red to blue" msgstr "Зсув червоного до синього" -#: ../backend/epson.c:3098 +#: backend/epson.c:3098 #, no-c-format msgid "Shift blue to green" msgstr "Зсув синього до зеленого" -#: ../backend/epson.c:3099 +#: backend/epson.c:3099 #, no-c-format msgid "Shift blue to red" msgstr "Зсув синього до червоного" -#: ../backend/epson.c:3102 +#: backend/epson.c:3102 #, no-c-format msgid "Controls green level" msgstr "Керує рівнем зеленого" -#: ../backend/epson.c:3103 +#: backend/epson.c:3103 #, no-c-format msgid "Adds to red based on green level" msgstr "Додаток до червоного на основі рівня зеленого" -#: ../backend/epson.c:3104 +#: backend/epson.c:3104 #, no-c-format msgid "Adds to blue based on green level" msgstr "Додаток до синього на основі рівня зеленого" -#: ../backend/epson.c:3105 +#: backend/epson.c:3105 #, no-c-format msgid "Adds to green based on red level" msgstr "Додаток до зеленого на основі рівня червоного" -#: ../backend/epson.c:3106 +#: backend/epson.c:3106 #, no-c-format msgid "Controls red level" msgstr "Керує рівнем червоного" -#: ../backend/epson.c:3107 +#: backend/epson.c:3107 #, no-c-format msgid "Adds to blue based on red level" msgstr "Додаток до синього на основі рівня червоного" -#: ../backend/epson.c:3108 +#: backend/epson.c:3108 #, no-c-format msgid "Adds to green based on blue level" msgstr "Додаток до зеленого на основі рівня синього" -#: ../backend/epson.c:3109 +#: backend/epson.c:3109 #, no-c-format msgid "Adds to red based on blue level" msgstr "Додаток до червоного на основі рівня синього" -#: ../backend/epson.c:3110 +#: backend/epson.c:3110 #, no-c-format msgid "Controls blue level" msgstr "Визначає рівень синього" -#: ../backend/epson.c:3206 ../backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1256 #, no-c-format msgid "Mirror the image." msgstr "Віддзеркалити зображення." -#: ../backend/epson.c:3232 ../backend/mustek.c:4334 +#: backend/epson.c:3232 backend/mustek.c:4332 #, no-c-format msgid "Fast preview" msgstr "Швидкий перегляд" -#: ../backend/epson.c:3245 ../backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1266 #, no-c-format msgid "Auto area segmentation" msgstr "Автоматичний поділ на області" -#: ../backend/epson.c:3258 +#: backend/epson.c:3258 #, no-c-format msgid "Short resolution list" msgstr "Короткий список роздільних здатностей" -#: ../backend/epson.c:3260 +#: backend/epson.c:3260 #, no-c-format msgid "Display short resolution list" msgstr "Показати короткий список роздільних здатностей" -#: ../backend/epson.c:3267 +#: backend/epson.c:3267 #, no-c-format msgid "Zoom" msgstr "Масштаб" -#: ../backend/epson.c:3269 +#: backend/epson.c:3269 #, no-c-format msgid "Defines the zoom factor the scanner will use" msgstr "Визначає масштаб, який буде використано сканером" -#: ../backend/epson.c:3349 +#: backend/epson.c:3349 #, no-c-format msgid "Quick format" msgstr "Швидке форматування" -#: ../backend/epson.c:3360 ../backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1341 #, no-c-format msgid "Optional equipment" msgstr "Додаткове устаткування" -#: ../backend/epson.c:3431 ../backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1394 #, no-c-format msgid "Eject" msgstr "Виштовхнути" -#: ../backend/epson.c:3432 ../backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1395 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Виштовхнути аркуш з протяжного пристрою" -#: ../backend/epson.c:3444 ../backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1405 #, no-c-format msgid "Auto eject" msgstr "Автовиштовхування" -#: ../backend/epson.c:3445 ../backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1407 #, no-c-format msgid "Eject document after scanning" msgstr "Виштовхнути документ після сканування" -#: ../backend/epson.c:3457 ../backend/epson2.c:1417 -#: ../backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 #, no-c-format msgid "ADF Mode" -msgstr "Режим автоподавання" +msgstr "Режим протяжного пристрою" -#: ../backend/epson.c:3459 ../backend/epson2.c:1419 -#: ../backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" -msgstr "Визначає режим автоподавання (однобічний/двобічний)" +msgstr "Визначає режим протяжного пристрою (однобічний/двобічний)" -#: ../backend/epson.c:3473 ../backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1431 #, no-c-format msgid "Bay" msgstr "Секція" -#: ../backend/epson.c:3474 ../backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1432 #, no-c-format msgid "Select bay to scan" msgstr "Визначає секцію, яку буде скановано" -#: ../backend/epson.h:69 ../backend/epson2.h:75 +#: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" "Selects the gamma correction value from a list of pre-defined devices or " @@ -2088,12 +2075,12 @@ msgstr "" "попереднього визначених пристроїв або визначеної користувачем таблиці, " "яку можна завантажити у сканер" -#: ../backend/epson.h:72 ../backend/epson2.h:78 +#: backend/epson.h:72 backend/epson2.h:71 #, no-c-format msgid "Focus Position" msgstr "Позиція фокусування" -#: ../backend/epson.h:73 ../backend/epson2.h:79 +#: backend/epson.h:73 backend/epson2.h:72 #, no-c-format msgid "" "Sets the focus position to either the glass or 2.5mm above the glass" @@ -2101,12 +2088,12 @@ msgstr "" "Визначає позицію фокусування на рівень від поверхні скла до висоти 2,5 " "мм над склом" -#: ../backend/epson.h:75 ../backend/epson2.h:81 +#: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" msgstr "Очікувати натискання кнопки" -#: ../backend/epson.h:76 ../backend/epson2.h:82 +#: backend/epson.h:76 backend/epson2.h:75 #, no-c-format msgid "" "After sending the scan command, wait until the button on the scanner is " @@ -2115,217 +2102,1013 @@ msgstr "" "Після надсилання команди сканування не розпочинати сканування до " "натискання кнопки на сканері." -#: ../backend/epson2.c:102 ../backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:390 #, no-c-format msgid "Infrared" msgstr "Інфрачервоне" -#: ../backend/epson2.c:117 +#: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "TPU8x10" -#: ../backend/epson2.c:136 +#: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" msgstr "Слайд-позитив" -#: ../backend/epson2.c:137 +#: backend/epson2.c:137 #, no-c-format msgid "Negative Slide" msgstr "Слайд-негатив" -#: ../backend/epson2.c:215 +#: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" msgstr "Вбудований профіль CCT" -#: ../backend/epson2.c:216 +#: backend/epson2.c:216 #, no-c-format msgid "User defined CCT profile" msgstr "Визначений користувачем профіль CCT" -#: ../backend/fujitsu.c:660 ../backend/hp-option.c:3327 -#: ../backend/hp-option.c:3340 +#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 #, no-c-format msgid "On" msgstr "Увімкнути" -#: ../backend/fujitsu.c:661 ../backend/hp-option.c:3159 -#: ../backend/hp-option.c:3326 ../backend/hp-option.c:3339 +#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 +#: backend/hp-option.c:3339 #, no-c-format msgid "Off" msgstr "Вимкнути" -#: ../backend/fujitsu.c:663 +#: backend/fujitsu.c:686 #, no-c-format msgid "DTC" msgstr "DTC" -#: ../backend/fujitsu.c:664 +#: backend/fujitsu.c:687 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: ../backend/fujitsu.c:666 ../backend/teco1.c:1152 -#: ../backend/teco1.c:1153 ../backend/teco2.c:1971 ../backend/teco2.c:1972 -#: ../backend/teco3.c:977 ../backend/teco3.c:978 +#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Дизеринг" -#: ../backend/fujitsu.c:667 +#: backend/fujitsu.c:690 #, no-c-format msgid "Diffusion" msgstr "Дифузія" -#: ../backend/fujitsu.c:672 +#: backend/fujitsu.c:695 #, no-c-format msgid "White" msgstr "Білий" -#: ../backend/fujitsu.c:673 +#: backend/fujitsu.c:696 #, no-c-format msgid "Black" msgstr "Чорний" -#: ../backend/fujitsu.c:678 +#: backend/fujitsu.c:701 #, no-c-format msgid "Continue" msgstr "Продовжити" -#: ../backend/fujitsu.c:679 +#: backend/fujitsu.c:702 #, no-c-format msgid "Stop" msgstr "Зупинити" -#: ../backend/fujitsu.c:681 +#: backend/fujitsu.c:704 #, no-c-format msgid "10mm" msgstr "10мм" -#: ../backend/fujitsu.c:682 +#: backend/fujitsu.c:705 #, no-c-format msgid "15mm" msgstr "15мм" -#: ../backend/fujitsu.c:683 +#: backend/fujitsu.c:706 #, no-c-format msgid "20mm" msgstr "20мм" -#: ../backend/fujitsu.c:685 ../backend/hp-option.c:3045 +#: backend/fujitsu.c:708 backend/hp-option.c:3045 #, no-c-format msgid "Horizontal" msgstr "По горизонталі" -#: ../backend/fujitsu.c:686 +#: backend/fujitsu.c:709 #, no-c-format msgid "Horizontal bold" msgstr "Жирний по горизонталі" -#: ../backend/fujitsu.c:687 +#: backend/fujitsu.c:710 #, no-c-format msgid "Horizontal narrow" msgstr "Вузький по горизонталі" -#: ../backend/fujitsu.c:688 ../backend/hp-option.c:3044 +#: backend/fujitsu.c:711 backend/hp-option.c:3044 #, no-c-format msgid "Vertical" msgstr "По вертикалі" -#: ../backend/fujitsu.c:689 +#: backend/fujitsu.c:712 #, no-c-format msgid "Vertical bold" msgstr "Жирний по вертикалі" -#: ../backend/fujitsu.c:691 +#: backend/fujitsu.c:714 #, no-c-format msgid "Top to bottom" msgstr "Згори вниз" -#: ../backend/fujitsu.c:692 +#: backend/fujitsu.c:715 #, no-c-format msgid "Bottom to top" msgstr "Знизу догори" -#: ../backend/fujitsu.c:694 +#: backend/fujitsu.c:717 #, no-c-format msgid "Front" msgstr "Перед" -#: ../backend/fujitsu.c:695 +#: backend/fujitsu.c:718 #, no-c-format msgid "Back" msgstr "Зворот" -#: ../backend/fujitsu.c:4055 ../backend/genesys.c:5766 -#: ../backend/kvs1025_opt.c:911 +#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 #, no-c-format -msgid "Software blank skip percentage" -msgstr "Порогове значення порожніх сторінок для програмного відкидання" +msgid "Gamma function exponent" +msgstr "Показник функції гами" -#: ../backend/fujitsu.c:4056 +#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 #, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" +msgid "Changes intensity of midtones" +msgstr "Змінює інтенсивність напівтонів" + +#: backend/fujitsu.c:3147 +#, no-c-format +msgid "RIF" +msgstr "RIF" + +#: backend/fujitsu.c:3148 +#, no-c-format +msgid "Reverse image format" +msgstr "Інверсивний формат зображення" + +#: backend/fujitsu.c:3165 +#, no-c-format +msgid "Halftone type" +msgstr "Тип півтонів" + +#: backend/fujitsu.c:3166 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "Керування типом фільтра півтонів" + +#: backend/fujitsu.c:3187 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "Керування взірцем фільтра півтонів" + +#: backend/fujitsu.c:3209 +#, no-c-format +msgid "Outline" +msgstr "Контур" + +#: backend/fujitsu.c:3210 +#, no-c-format +msgid "Perform outline extraction" +msgstr "Виконати видобування контуру" + +#: backend/fujitsu.c:3221 +#, no-c-format +msgid "Emphasis" +msgstr "Виокремлення" + +#: backend/fujitsu.c:3222 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" msgstr "" -"Вимагати від драйвера відкидання сторінок з надто низькою питомою " -"кількістю темних пікселів" +"Негатив для згладжування або позитив для збільшення різкості зображення" + +#: backend/fujitsu.c:3240 +#, no-c-format +msgid "Separation" +msgstr "Розділення" + +#: backend/fujitsu.c:3241 +#, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "Увімкнути автоматичне відокремлення зображень і тексту" + +#: backend/fujitsu.c:3252 +#, no-c-format +msgid "Mirroring" +msgstr "Віддзеркалення" + +#: backend/fujitsu.c:3253 +#, no-c-format +msgid "Reflect output image horizontally" +msgstr "Віддзеркалити отримане зображення по горизонталі" + +#: backend/fujitsu.c:3270 +#, no-c-format +msgid "White level follower" +msgstr "Відповідник рівня білого" + +#: backend/fujitsu.c:3271 +#, no-c-format +msgid "Control white level follower" +msgstr "Керує відповідником рівня білого" + +#: backend/fujitsu.c:3289 +#, no-c-format +msgid "BP filter" +msgstr "Фільтр СП" + +#: backend/fujitsu.c:3290 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "Поліпшує якість тексту, написаного кульковою ручкою" + +#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Згладжування" + +#: backend/fujitsu.c:3307 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "Увімкнути згладжування для поліпшення ОРТ" + +#: backend/fujitsu.c:3323 +#, no-c-format +msgid "Gamma curve" +msgstr "Крива гами" + +#: backend/fujitsu.c:3324 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" +"Крива гами, від світлого до темного, але верхні дві можуть не працювати" + +#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "Порогова крива" + +#: backend/fujitsu.c:3347 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" +"Порогова крива, від світлого до темного, але верхні дві не можуть бути " +"лінійними" + +#: backend/fujitsu.c:3369 +#, no-c-format +msgid "Threshold white" +msgstr "Білий поріг" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "Встановити для порогових пікселів білий колір, а не чорний" + +#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#, no-c-format +msgid "Noise removal" +msgstr "Вилучення шуму" + +#: backend/fujitsu.c:3403 +#, no-c-format +msgid "Matrix 5x5" +msgstr "Матриця 5x5" + +#: backend/fujitsu.c:3404 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "Вилучати піксельний шум розміром до 5 пікселів" + +#: backend/fujitsu.c:3420 +#, no-c-format +msgid "Matrix 4x4" +msgstr "Матриця 4x4" + +#: backend/fujitsu.c:3421 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "Вилучати піксельний шум розміром до 4 пікселів" + +#: backend/fujitsu.c:3437 +#, no-c-format +msgid "Matrix 3x3" +msgstr "Матриця 3x3" + +#: backend/fujitsu.c:3438 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "Вилучати піксельний шум розміром до 3 пікселів" + +#: backend/fujitsu.c:3454 +#, no-c-format +msgid "Matrix 2x2" +msgstr "Матриця 2x2" + +#: backend/fujitsu.c:3455 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "Вилучати піксельний шум розміром до 2 пікселів" + +#: backend/fujitsu.c:3474 +#, no-c-format +msgid "Variance" +msgstr "Дисперсія" + +#: backend/fujitsu.c:3475 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "Встановити величину дисперсії SDTC (чутливість), 0 відповідає 127" + +#: backend/fujitsu.c:3508 +#, no-c-format +msgid "Auto width detection" +msgstr "Автовиявлення ширини" + +#: backend/fujitsu.c:3509 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "Сканер визначає краї паперу. Може уповільнити сканування." + +#: backend/fujitsu.c:3526 +#, no-c-format +msgid "Auto length detection" +msgstr "Автовиявлення довжини" + +#: backend/fujitsu.c:3527 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" +"Сканер виявляє нижній край паперу. Може призвести до помилкової роботи " +"деяких програмних оболонок." + +#: backend/fujitsu.c:3553 +#, no-c-format +msgid "Compression" +msgstr "Стиснення" + +#: backend/fujitsu.c:3554 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" +"Увімкнути стискання даних. Може призвести до аварійного завершення " +"роботи програмних оболонок." + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Compression argument" +msgstr "Аргумент стискання" + +#: backend/fujitsu.c:3575 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" +"Рівень стискання JPEG. 1 — малий файл, 7 — великий файл. 0 (типовий) — " +"те саме, що і 4." + +#: backend/fujitsu.c:3605 +#, no-c-format +msgid "DF action" +msgstr "Дія ПП" + +#: backend/fujitsu.c:3606 +#, no-c-format +msgid "Action following double feed error" +msgstr "Дія, яку буде виконано у відповідь на помилку подвійного подавання" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "DF skew" +msgstr "ПП для перекошування" + +#: backend/fujitsu.c:3623 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "Увімкнути помилку подвійного подавання через перекошування" + +#: backend/fujitsu.c:3641 +#, no-c-format +msgid "DF thickness" +msgstr "ПП для товщини" + +#: backend/fujitsu.c:3642 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "Увімкнути помилку подвійного подавання через товщину паперу" + +#: backend/fujitsu.c:3660 +#, no-c-format +msgid "DF length" +msgstr "ПП для довжини" + +#: backend/fujitsu.c:3661 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "Увімкнути помилку подвійного подавання через довжину паперу" + +#: backend/fujitsu.c:3684 +#, no-c-format +msgid "DF length difference" +msgstr "Різниця довжини для ПП" + +#: backend/fujitsu.c:3685 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" +"Різниця у довжинах аркушів паперу, яка призводитиме до помилки " +"подвійного подавання" + +#: backend/fujitsu.c:3708 +#, no-c-format +msgid "DF recovery mode" +msgstr "Режим відновлення для ПП" + +#: backend/fujitsu.c:3709 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "Вимагати від сканера зворотного подавання, якщо папір зам’ято" + +#: backend/fujitsu.c:3728 +#, no-c-format +msgid "Paper protection" +msgstr "Захист паперу" + +#: backend/fujitsu.c:3729 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "Вимагати від сканера передбачати зам’яття у протяжному пристрої" + +#: backend/fujitsu.c:3748 +#, no-c-format +msgid "Advanced paper protection" +msgstr "Додатковий захист паперу" + +#: backend/fujitsu.c:3749 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" +"Вимагати від сканера передбачати зам’яття у протяжному пристрої за " +"допомогою поліпшених датчиків" + +#: backend/fujitsu.c:3768 +#, no-c-format +msgid "Staple detection" +msgstr "Виявлення скоб" + +#: backend/fujitsu.c:3769 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" +"Вимагати від сканера виявляти зам’яття у протяжному пристрої через скоби" + +#: backend/fujitsu.c:3788 +#, no-c-format +msgid "Background color" +msgstr "Колір тла" + +#: backend/fujitsu.c:3789 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" +"Встановити колір для тла сканованих зображень. Може конфліктувати із " +"параметром полів." + +#: backend/fujitsu.c:3809 +#, no-c-format +msgid "Dropout color" +msgstr "Колір для викидання" + +#: backend/fujitsu.c:3810 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" +"Однопрохідні сканери використовують лише один колір під час сканування у " +"відтінках сірого або чорно-білого сканування, корисно для кольорового " +"паперу або чорнильних записів" + +#: backend/fujitsu.c:3833 +#, no-c-format +msgid "Buffer mode" +msgstr "Режим буферизації" + +#: backend/fujitsu.c:3834 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" +"Наказати сканеру швидко читати сторінки з протяжного пристрою до " +"внутрішньої пам’яті" + +#: backend/fujitsu.c:3853 +#, no-c-format +msgid "Prepick" +msgstr "Попереднє захоплення" + +#: backend/fujitsu.c:3854 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "Наказати сканеру захопити наступну сторінку із протяжного пристрою" + +#: backend/fujitsu.c:3873 +#, no-c-format +msgid "Overscan" +msgstr "Поля" + +#: backend/fujitsu.c:3874 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" +"Зібрати дані щодо декількох міліметрів у верхній частині сканованого " +"зображення, перш ніж аркуш потрапить до протяжного пристрою, і збільшити " +"максимальну область сканування за межі встановленого розміру паперу, а " +"також дозволити збирання решти даних з бічних полів. Може конфліктувати " +"з параметром кольору тла." + +#: backend/fujitsu.c:3892 +#, no-c-format +msgid "Sleep timer" +msgstr "Таймер присипляння" + +#: backend/fujitsu.c:3893 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" +"Час у хвилинах, по завершенню якого внутрішнє живлення буде переведено у " +"режим сну" + +#: backend/fujitsu.c:3911 +#, no-c-format +msgid "Off timer" +msgstr "Таймер вимикання" + +#: backend/fujitsu.c:3912 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" +"Час у хвилинах, по завершенню якого внутрішнє живлення буде вимкнено. " +"Буде округлено до найближчого кратного до 15 хвилин. Нульове значення " +"означає, що живлення не вимикатиметься." + +#: backend/fujitsu.c:3930 +#, no-c-format +msgid "Duplex offset" +msgstr "Зміщення двобічного" + +#: backend/fujitsu.c:3931 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "Коригування зміщення між переднім і зворотним боком" -#: ../backend/genesys.c:5757 +#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Зміщення зеленого" + +#: backend/fujitsu.c:3949 +#, no-c-format +msgid "Adjust green/red offset" +msgstr "Коригування зміщення між зеленим і червоним каналами" + +#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Зміщення синього" + +#: backend/fujitsu.c:3967 +#, no-c-format +msgid "Adjust blue/red offset" +msgstr "Коригування зміщення між синім і червоним каналами" + +#: backend/fujitsu.c:3980 +#, no-c-format +msgid "Low Memory" +msgstr "Обмеження пам’яті" + +#: backend/fujitsu.c:3981 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" +"Обмежити використання пам’яті драйвером на вбудованих системах. " +"Призводить до передавання окремих боків аркуша у відповідь на кожен " +"виклик sane_read. Відповідне зображення можна визначити за параметром " +"«side». Цим параметром слід користуватися лише для нетипового " +"зовнішнього інтерфейсу програмного забезпечення." + +#: backend/fujitsu.c:3996 +#, no-c-format +msgid "Duplex side" +msgstr "Бік для двобічного" + +#: backend/fujitsu.c:3997 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" +"Визначає, який бік (0=передній, 1=зворотний) двобічного сканованого " +"зображення буде повернуто під час наступного виклику sane_read." + +#: backend/fujitsu.c:4008 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "Апаратне виправлення нахилу і обрізання" + +#: backend/fujitsu.c:4009 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" +"Вимагати від сканера обертання та обрізання сторінок у цифровому режимі." + +#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#, no-c-format +msgid "Software deskew" +msgstr "Програмне усування обертання" + +#: backend/fujitsu.c:4021 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" +"Вимагати від драйвера усування обертання сторінок у автоматичному режимі." + +#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "Діаметр плям для програмного усування" + +#: backend/fujitsu.c:4034 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" +"Мінімальний діаметр окремих плям, які слід усунути зі сканованого " +"зображення." + +#: backend/fujitsu.c:4053 backend/genesys.c:5760 #, no-c-format msgid "Software crop" msgstr "Програмне обрізання" -#: ../backend/genesys.c:5758 +#: backend/fujitsu.c:4054 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" +"Вимагати від драйвера вилучення границі зі сторінок у автоматичному " +"режимі." + +#: backend/fujitsu.c:4083 +#, no-c-format +msgid "Halt on Cancel" +msgstr "Перервати при скасуванні" + +#: backend/fujitsu.c:4084 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" +"Наказати драйверу перервати подавання паперу, замість його " +"виштовхування, якщо сканування скасовано." + +#: backend/fujitsu.c:4095 +#, no-c-format +msgid "Endorser Options" +msgstr "Параметри наддруку" + +#: backend/fujitsu.c:4096 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "Керування модулем наддруку" + +#: backend/fujitsu.c:4107 +#, no-c-format +msgid "Endorser" +msgstr "Наддрук" + +#: backend/fujitsu.c:4108 +#, no-c-format +msgid "Enable endorser unit" +msgstr "Увімкнути модуль наддруку" + +#: backend/fujitsu.c:4123 +#, no-c-format +msgid "Endorser bits" +msgstr "Біти наддруку" + +#: backend/fujitsu.c:4124 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "Визначає максимальне значення лічильника наддруку." + +#: backend/fujitsu.c:4149 +#, no-c-format +msgid "Endorser value" +msgstr "Значення наддруку" + +#: backend/fujitsu.c:4150 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "Початкове значення лічильника наддруку." + +#: backend/fujitsu.c:4173 +#, no-c-format +msgid "Endorser step" +msgstr "Крок наддруку" + +#: backend/fujitsu.c:4174 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" +"Змінювати значення лічильника наддруку на вказане число для кожної " +"наступної сторінки." + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Endorser Y" +msgstr "Y наддруку" + +#: backend/fujitsu.c:4198 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "Зсув мітки наддруку від верхнього краю паперу." + +#: backend/fujitsu.c:4223 +#, no-c-format +msgid "Endorser font" +msgstr "Шрифт наддруку" + +#: backend/fujitsu.c:4224 +#, no-c-format +msgid "Endorser printing font." +msgstr "Шрифт наддруку." + +#: backend/fujitsu.c:4253 +#, no-c-format +msgid "Endorser direction" +msgstr "Напрямок наддруку" + +#: backend/fujitsu.c:4254 +#, no-c-format +msgid "Endorser printing direction." +msgstr "Напрямок друку." + +#: backend/fujitsu.c:4278 +#, no-c-format +msgid "Endorser side" +msgstr "Бік наддруку" + +#: backend/fujitsu.c:4279 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" +"Бік, з якого буде друкуватися мітка. Потребує апаратної підтримки для " +"зміни." + +#: backend/fujitsu.c:4304 +#, no-c-format +msgid "Endorser string" +msgstr "Рядок наддруку" + +#: backend/fujitsu.c:4305 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" +"Буквенно-цифровий формат наддруку. %05ud або %08ud наприкінці буде " +"замінено на значення лічильника." + +#: backend/fujitsu.c:4332 +#, no-c-format +msgid "Top edge" +msgstr "Верхній край" + +#: backend/fujitsu.c:4333 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "Папір частково втягнуто до протяжного пристрою" + +#: backend/fujitsu.c:4344 +#, no-c-format +msgid "A3 paper" +msgstr "Папір A3" + +#: backend/fujitsu.c:4345 +#, no-c-format +msgid "A3 paper detected" +msgstr "Виявлено папір A3" + +#: backend/fujitsu.c:4356 +#, no-c-format +msgid "B4 paper" +msgstr "Папір B4" + +#: backend/fujitsu.c:4357 +#, no-c-format +msgid "B4 paper detected" +msgstr "Виявлено папір B4" + +#: backend/fujitsu.c:4368 +#, no-c-format +msgid "A4 paper" +msgstr "Папір A4" + +#: backend/fujitsu.c:4369 +#, no-c-format +msgid "A4 paper detected" +msgstr "Виявлено папір A4" + +#: backend/fujitsu.c:4380 +#, no-c-format +msgid "B5 paper" +msgstr "Папір B5" + +#: backend/fujitsu.c:4381 +#, no-c-format +msgid "B5 paper detected" +msgstr "Виявлено папір B5" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "OMR or DF" +msgstr "OMR або ПП" + +#: backend/fujitsu.c:4405 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "Виявлено OMR або подвійне подавання" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "Power saving" +msgstr "Заощадження енергії" + +#: backend/fujitsu.c:4429 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "Сканер перебуває у режимі заощадження енергії" + +#: backend/fujitsu.c:4452 +#, no-c-format +msgid "Manual feed" +msgstr "Подавання вручну" + +#: backend/fujitsu.c:4453 +#, no-c-format +msgid "Manual feed selected" +msgstr "Вибрано режим подавання вручну" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Function" +msgstr "Функція" + +#: backend/fujitsu.c:4477 +#, no-c-format +msgid "Function character on screen" +msgstr "Функціональний символ на екрані" + +#: backend/fujitsu.c:4488 +#, no-c-format +msgid "Ink low" +msgstr "Закінчуються чорнила" + +#: backend/fujitsu.c:4489 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "Лишилося мало чорнила для наддруку" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Double feed" +msgstr "Подвійне подавання" + +#: backend/fujitsu.c:4501 +#, no-c-format +msgid "Double feed detected" +msgstr "Виявлено подвійне подавання" + +#: backend/fujitsu.c:4512 +#, no-c-format +msgid "Error code" +msgstr "Код помилки" + +#: backend/fujitsu.c:4513 +#, no-c-format +msgid "Hardware error code" +msgstr "Код апаратної помилки" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Skew angle" +msgstr "Кут перекошування" + +#: backend/fujitsu.c:4525 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "Потребує чорного тла для сканування" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Ink remaining" +msgstr "Лишилося чорнила" + +#: backend/fujitsu.c:4537 +#, no-c-format +msgid "Imprinter ink level" +msgstr "Рівень чорнила для наддруку" + +#: backend/fujitsu.c:4548 +#, no-c-format +msgid "Density" +msgstr "Щільність" + +#: backend/fujitsu.c:4549 +#, no-c-format +msgid "Density dial" +msgstr "Набирач щільності" + +#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#, no-c-format +msgid "Duplex switch" +msgstr "Перемикач двобічного" + +#: backend/genesys.c:5761 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" "Вимагати від програмного модуля вилучення границі зі сторінок у " "автоматичному режимі" -#: ../backend/genesys.c:5767 ../backend/kvs1025_opt.c:913 +#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" "Вимагати від драйвера відкидання сторінок з надто низькою кількістю " "темних пікселів" -#: ../backend/genesys.c:5778 ../backend/kvs1025_opt.c:893 +#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 #, no-c-format msgid "Software derotate" msgstr "Програмне усування обертання" -#: ../backend/genesys.c:5779 ../backend/kvs1025_opt.c:895 +#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" "Вимагати від драйвера виявлення і виправлення обертання зображення на 90 " "градусів" -#: ../backend/genesys.c:5810 ../backend/pixma_sane_options.c:312 +#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Додаткові" -#: ../backend/genesys.c:5829 ../backend/pixma_sane_options.c:333 -#, no-c-format -msgid "Threshold curve" -msgstr "Порогова крива" - -#: ../backend/genesys.c:5830 ../backend/pixma_sane_options.c:334 +#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" "Крива динамічного порогового значення, від світлого до темного, типово " "50-65" -#: ../backend/genesys.c:5839 +#: backend/genesys.c:5842 #, no-c-format msgid "Disable dynamic lineart" msgstr "Вимкнути динамічне штрихування" -#: ../backend/genesys.c:5841 +#: backend/genesys.c:5844 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " @@ -2334,12 +3117,12 @@ msgstr "" "Вимкнути використання адаптивного програмного алгоритму для створення " "штрихування замість апаратного алгоритму штрихування." -#: ../backend/genesys.c:5857 +#: backend/genesys.c:5860 #, no-c-format msgid "Disable interpolation" msgstr "Вимкнути інтерполяцію" -#: ../backend/genesys.c:5860 +#: backend/genesys.c:5863 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -2349,34 +3132,34 @@ msgstr "" "роздільна здатність менша за вертикальну, вимикає горизонтальну " "інтерполяцію." -#: ../backend/genesys.c:5869 +#: backend/genesys.c:5872 #, no-c-format msgid "Color filter" msgstr "Фільтр кольору" -#: ../backend/genesys.c:5872 +#: backend/genesys.c:5875 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "За використання друку у півтонах або штрихового друку за допомогою цього " "пункту можна обрати колір друку." -#: ../backend/genesys.c:5898 +#: backend/genesys.c:5901 #, no-c-format msgid "Calibration file" msgstr "Файл калібрування" -#: ../backend/genesys.c:5899 +#: backend/genesys.c:5902 #, no-c-format msgid "Specify the calibration file to use" msgstr "Вкажіть файл даних калібрування, які буде використано" -#: ../backend/genesys.c:5916 +#: backend/genesys.c:5919 #, no-c-format msgid "Calibration cache expiration time" msgstr "Строк дії кешу калібрування" -#: ../backend/genesys.c:5917 +#: backend/genesys.c:5920 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " @@ -2387,12 +3170,12 @@ msgstr "" "Від’ємні значення означають, що обмежень на строк дії кешу не " "накладатиметься." -#: ../backend/genesys.c:5927 +#: backend/genesys.c:5930 #, no-c-format msgid "Lamp off time" msgstr "Час вимикання лампи" -#: ../backend/genesys.c:5930 +#: backend/genesys.c:5933 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -2401,105 +3184,103 @@ msgstr "" "Лампу буде вимкнено, коли спливе вказаний час (у хвилинах). Значення " "рівне 0 означатиме, що лампа не вимикатиметься." -#: ../backend/genesys.c:5940 +#: backend/genesys.c:5943 #, no-c-format msgid "Lamp off during scan" msgstr "Вимикання лампи під час сканування" -#: ../backend/genesys.c:5941 +#: backend/genesys.c:5944 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Лампу буде вимкнено під час сканування. " -#: ../backend/genesys.c:5969 ../backend/genesys.c:5970 +#: backend/genesys.c:5972 backend/genesys.c:5973 #, no-c-format msgid "File button" msgstr "Кнопка «File»" -#: ../backend/genesys.c:6022 ../backend/genesys.c:6023 +#: backend/genesys.c:6025 backend/genesys.c:6026 #, no-c-format msgid "OCR button" msgstr "Кнопка «OCR»" -#: ../backend/genesys.c:6036 ../backend/genesys.c:6037 +#: backend/genesys.c:6039 backend/genesys.c:6040 #, no-c-format msgid "Power button" msgstr "Кнопка «Power»" -#: ../backend/genesys.c:6050 ../backend/genesys.c:6051 +#: backend/genesys.c:6053 backend/genesys.c:6054 #, no-c-format msgid "Extra button" msgstr "Додаткова кнопка" -#: ../backend/genesys.c:6064 ../backend/gt68xx.c:762 +#: backend/genesys.c:6067 backend/gt68xx.c:762 #, no-c-format msgid "Need calibration" msgstr "Потребує калібрування" -#: ../backend/genesys.c:6065 ../backend/gt68xx.c:763 +#: backend/genesys.c:6068 backend/gt68xx.c:763 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Для застосування поточних параметрів потрібне калібрування" -#: ../backend/genesys.c:6077 ../backend/gt68xx.c:787 -#: ../backend/gt68xx.c:788 ../backend/pixma_sane_options.c:224 -#: ../backend/plustek.c:1080 +#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Кнопки" -#: ../backend/genesys.c:6086 ../backend/gt68xx.c:794 -#: ../backend/hp5400_sane.c:392 ../backend/hp-option.h:97 -#: ../backend/niash.c:726 ../backend/plustek.c:941 +#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Відкалібрувати" -#: ../backend/genesys.c:6088 ../backend/gt68xx.c:796 +#: backend/genesys.c:6091 backend/gt68xx.c:796 #, no-c-format msgid "Start calibration using special sheet" msgstr "Почати калібрування за допомогою спеціального аркуша" -#: ../backend/genesys.c:6102 ../backend/gt68xx.c:809 +#: backend/genesys.c:6105 backend/gt68xx.c:809 #, no-c-format msgid "Clear calibration" msgstr "Спорожнити дані калібрування" -#: ../backend/genesys.c:6103 ../backend/gt68xx.c:810 +#: backend/genesys.c:6106 backend/gt68xx.c:810 #, no-c-format msgid "Clear calibration cache" msgstr "Спорожнити кеш калібрування" -#: ../backend/gt68xx.c:149 ../backend/ma1509.c:108 ../backend/mustek.c:164 -#: ../backend/snapscan-options.c:87 ../backend/umax.c:182 +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Адаптер плівок" -#: ../backend/gt68xx.c:477 +#: backend/gt68xx.c:477 #, no-c-format msgid "Gray mode color" msgstr "Режим відтінків сірого" -#: ../backend/gt68xx.c:479 +#: backend/gt68xx.c:479 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Визначає, який колір сканування буде використано у режимі напівтонів " "сірого (типово — зелений)." -#: ../backend/gt68xx.c:560 ../backend/hp3900_sane.c:1392 -#: ../backend/mustek_usb2.c:410 +#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Параметри зневаджування" -#: ../backend/gt68xx.c:571 ../backend/mustek_usb2.c:419 +#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Автоматичний розігрів" -#: ../backend/gt68xx.c:573 +#: backend/gt68xx.c:573 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -2508,12 +3289,12 @@ msgstr "" "Розігрівати, до сталої яскравості лампи, не наполягати на 60-ти " "секундному розігріві." -#: ../backend/gt68xx.c:585 +#: backend/gt68xx.c:585 #, no-c-format msgid "Full scan" msgstr "Повне сканування" -#: ../backend/gt68xx.c:587 +#: backend/gt68xx.c:587 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -2522,12 +3303,12 @@ msgstr "" "Сканувати всю область сканування, зокрема смугу калібрування. Будьте " "обережні. Не вказуйте повну висоту. Лише для перевірки." -#: ../backend/gt68xx.c:598 +#: backend/gt68xx.c:598 #, no-c-format msgid "Coarse calibration" msgstr "Грубе калібрування" -#: ../backend/gt68xx.c:600 +#: backend/gt68xx.c:600 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -2538,12 +3319,12 @@ msgstr "" "пункт не буде позначено, ви зможете вказати параметри аналогової " "оболонки вручну. Типово цей пункт позначено. Лише для перевірки." -#: ../backend/gt68xx.c:619 +#: backend/gt68xx.c:619 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Грубе калібрування лише для початкового сканування" -#: ../backend/gt68xx.c:621 +#: backend/gt68xx.c:621 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -2555,12 +3336,12 @@ msgstr "" "яскравість сканованих зображень значно змінюється, зніміть позначку з " "цього пункту. Лише для перевірки." -#: ../backend/gt68xx.c:654 +#: backend/gt68xx.c:654 #, no-c-format msgid "Backtrack lines" msgstr "Ліній повернення" -#: ../backend/gt68xx.c:656 +#: backend/gt68xx.c:656 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -2574,85 +3355,85 @@ msgstr "" "значення пришвидшать сканування, але збільшать ймовірність пропуску " "ліній." -#: ../backend/gt68xx.c:681 ../backend/mustek_usb2.c:452 +#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Значення коефіцієнта контрастності" -#: ../backend/gt68xx.c:683 ../backend/mustek_usb2.c:454 +#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Визначає значення коефіцієнта контрастності для всіх каналів." -#: ../backend/hp3500.c:1004 +#: backend/hp3500.c:1020 #, no-c-format msgid "Geometry Group" msgstr "Група розташування" -#: ../backend/hp3500.c:1057 ../backend/hp3500.c:1058 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format msgid "Scan Mode Group" msgstr "Група режимів сканування" -#: ../backend/hp3900_sane.c:427 ../backend/hp3900_sane.c:1019 -#: ../backend/hp-option.c:3174 +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3174 #, no-c-format msgid "Slide" msgstr "Слайд" -#: ../backend/hp3900_sane.c:1405 +#: backend/hp3900_sane.c:1405 #, no-c-format msgid "Scanner model" msgstr "Модель сканера" -#: ../backend/hp3900_sane.c:1408 +#: backend/hp3900_sane.c:1408 #, no-c-format msgid "Allows one to test device behaviour with other supported models" msgstr "" "Надає змогу перевірити поведінку пристрою з використанням інших " "підтримуваних моделей" -#: ../backend/hp3900_sane.c:1422 +#: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" msgstr "Кольори зображення буде інвертовано" -#: ../backend/hp3900_sane.c:1436 +#: backend/hp3900_sane.c:1436 #, no-c-format msgid "Disable gamma correction" msgstr "Вимкнути виправлення гами" -#: ../backend/hp3900_sane.c:1437 +#: backend/hp3900_sane.c:1437 #, no-c-format msgid "Gamma correction will be disabled" msgstr "Виправлення гами буде вимкнено" -#: ../backend/hp3900_sane.c:1451 +#: backend/hp3900_sane.c:1451 #, no-c-format msgid "Disable white shading correction" msgstr "Вимкнути виправлення відтінків білого" -#: ../backend/hp3900_sane.c:1453 +#: backend/hp3900_sane.c:1453 #, no-c-format msgid "White shading correction will be disabled" msgstr "Виправлення градації білого буде вимкнено" -#: ../backend/hp3900_sane.c:1467 +#: backend/hp3900_sane.c:1467 #, no-c-format msgid "Skip warmup process" msgstr "Пропустити процедуру розігріву" -#: ../backend/hp3900_sane.c:1468 +#: backend/hp3900_sane.c:1468 #, no-c-format msgid "Warmup process will be disabled" msgstr "Процес розігрівання буде вимкнено" -#: ../backend/hp3900_sane.c:1482 +#: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" msgstr "Вказати справжню глибину" -#: ../backend/hp3900_sane.c:1485 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" "If gamma is enabled, scans are always made in 16 bits depth to improve " @@ -2664,12 +3445,12 @@ msgstr "" "перетворюватиметься до обраної глибини кольорів. За допомогою цього " "пункту можна уникнути такої емуляції." -#: ../backend/hp3900_sane.c:1499 +#: backend/hp3900_sane.c:1499 #, no-c-format msgid "Emulate Grayscale" msgstr "Імітація чорно-білого" -#: ../backend/hp3900_sane.c:1502 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " @@ -2680,12 +3461,12 @@ msgstr "" "режимі, а вже потім програмно перетворено на зображення у тонах сірого. " "Використання подібного підходу іноді може покращити якість зображення." -#: ../backend/hp3900_sane.c:1516 +#: backend/hp3900_sane.c:1516 #, no-c-format msgid "Save debugging images" msgstr "Зберегти зневаджувальні зображення" -#: ../backend/hp3900_sane.c:1519 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" "If enabled, some images involved in scanner processing are saved to " @@ -2694,358 +3475,352 @@ msgstr "" "Якщо буде позначено цей пункт, деякі з зображень з процесу сканування " "буде збережено для подальшого аналізу." -#: ../backend/hp3900_sane.c:1533 +#: backend/hp3900_sane.c:1533 #, no-c-format msgid "Reset chipset" msgstr "Відновити дані мікроконтролера" -#: ../backend/hp3900_sane.c:1534 +#: backend/hp3900_sane.c:1534 #, no-c-format msgid "Resets chipset data" msgstr "Відновити початкові дані мікроконтролера" -#: ../backend/hp3900_sane.c:1547 +#: backend/hp3900_sane.c:1547 #, no-c-format msgid "Information" msgstr "Інформація" -#: ../backend/hp3900_sane.c:1560 +#: backend/hp3900_sane.c:1560 #, no-c-format msgid "Chipset name" msgstr "Назва мікроконтролера" -#: ../backend/hp3900_sane.c:1561 +#: backend/hp3900_sane.c:1561 #, no-c-format msgid "Shows chipset name used in device." msgstr "Показує назву мікросхеми, використаної у пристрої." -#: ../backend/hp3900_sane.c:1565 +#: backend/hp3900_sane.c:1565 #, no-c-format msgid "Unknown" msgstr "Невідома" -#: ../backend/hp3900_sane.c:1571 +#: backend/hp3900_sane.c:1571 #, no-c-format msgid "Chipset ID" msgstr "Ідентифікатор мікросхеми" -#: ../backend/hp3900_sane.c:1572 +#: backend/hp3900_sane.c:1572 #, no-c-format msgid "Shows the chipset ID" msgstr "Показує ідентифікатор мікросхеми" -#: ../backend/hp3900_sane.c:1582 +#: backend/hp3900_sane.c:1582 #, no-c-format msgid "Scan counter" msgstr "Лічильник сканування" -#: ../backend/hp3900_sane.c:1584 +#: backend/hp3900_sane.c:1584 #, no-c-format msgid "Shows the number of scans made by scanner" msgstr "Показує кількість сканувань, виконаних за допомогою сканера" -#: ../backend/hp3900_sane.c:1594 +#: backend/hp3900_sane.c:1594 #, no-c-format msgid "Update information" msgstr "Оновити дані" -#: ../backend/hp3900_sane.c:1595 +#: backend/hp3900_sane.c:1595 #, no-c-format msgid "Updates information about device" msgstr "Оновлює дані щодо пристрою" -#: ../backend/hp3900_sane.c:1635 +#: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" msgstr "Цей пункт відповідає кнопці передньої панелі сканера" -#: ../backend/hp5400_sane.c:313 ../backend/niash.c:678 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format msgid "Image" msgstr "Зображення" -#: ../backend/hp5400_sane.c:352 ../backend/niash.c:709 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format msgid "Miscellaneous" msgstr "Різне" -#: ../backend/hp5400_sane.c:358 +#: backend/hp5400_sane.c:358 #, no-c-format msgid "offset X" msgstr "Зсув за X" -#: ../backend/hp5400_sane.c:359 +#: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." msgstr "Апаратна внутрішня позиція за X області сканування." -#: ../backend/hp5400_sane.c:368 +#: backend/hp5400_sane.c:368 #, no-c-format msgid "offset Y" msgstr "Зсув за Y" -#: ../backend/hp5400_sane.c:369 +#: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." msgstr "Апаратна внутрішня позиція за Y області сканування." -#: ../backend/hp5400_sane.c:381 ../backend/niash.c:716 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format msgid "Lamp status" msgstr "Стан лампи" -#: ../backend/hp5400_sane.c:382 ../backend/niash.c:717 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." msgstr "Вмикає або вимикає лампу." -#: ../backend/hp5400_sane.c:393 ../backend/niash.c:727 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Калібрує для визначення рівня чорного и білого." -#: ../backend/hp5590.c:83 ../backend/hp-option.c:3253 +#: backend/hp5590.c:86 backend/hp-option.c:3253 #, no-c-format msgid "ADF" msgstr "АПД" -#: ../backend/hp5590.c:85 +#: backend/hp5590.c:88 #, no-c-format msgid "TMA Slides" msgstr "Слайди TMA" -#: ../backend/hp5590.c:86 +#: backend/hp5590.c:89 #, no-c-format msgid "TMA Negatives" msgstr "Негативи TMA" -#: ../backend/hp5590.c:89 +#: backend/hp5590.c:92 #, no-c-format msgid "Color (48 bits)" msgstr "Кольоровий (48-бітовий)" -#: ../backend/hp5590.c:92 +#: backend/hp5590.c:95 #, no-c-format msgid "Extend lamp timeout" msgstr "Збільшений час очікування лампи" -#: ../backend/hp5590.c:93 +#: backend/hp5590.c:96 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Збільшує час очікування лампи (з 15 хвилин до 1 години)" -#: ../backend/hp5590.c:95 +#: backend/hp5590.c:98 #, no-c-format msgid "Wait for button" msgstr "Очікувати натискання кнопки" -#: ../backend/hp5590.c:96 +#: backend/hp5590.c:99 #, no-c-format msgid "Waits for button before scanning" msgstr "Очікувати на натискання кнопки, перш ніж почати сканування" -#: ../backend/hp-option.c:2984 +#: backend/hp-option.c:2984 #, no-c-format msgid "Advanced Options" msgstr "Додаткові параметри" -#: ../backend/hp-option.c:3041 +#: backend/hp-option.c:3041 #, no-c-format msgid "Coarse" msgstr "Грубе" -#: ../backend/hp-option.c:3042 +#: backend/hp-option.c:3042 #, no-c-format msgid "Fine" msgstr "Високої якості" -#: ../backend/hp-option.c:3043 +#: backend/hp-option.c:3043 #, no-c-format msgid "Bayer" msgstr "Секція" -#: ../backend/hp-option.c:3046 ../backend/hp-option.c:3097 +#: backend/hp-option.c:3046 backend/hp-option.c:3097 #, no-c-format msgid "Custom" msgstr "Нетипова" -#: ../backend/hp-option.c:3087 ../backend/hp-option.c:3143 -#: ../backend/hp-option.c:3158 +#: backend/hp-option.c:3087 backend/hp-option.c:3143 +#: backend/hp-option.c:3158 #, no-c-format msgid "Auto" msgstr "Авто" -#: ../backend/hp-option.c:3088 +#: backend/hp-option.c:3088 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: ../backend/hp-option.c:3089 +#: backend/hp-option.c:3089 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: ../backend/hp-option.c:3090 +#: backend/hp-option.c:3090 #, no-c-format msgid "Pass-through" msgstr "Пропускати" -#: ../backend/hp-option.c:3091 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC Gray" msgstr "Чорно-біле NTSC" -#: ../backend/hp-option.c:3092 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA Gray" msgstr "Чорно-біле XPA" -#: ../backend/hp-option.c:3144 +#: backend/hp-option.c:3144 #, no-c-format msgid "Slow" msgstr "Повільно" -#: ../backend/hp-option.c:3145 ../backend/hp-option.c:3252 -#: ../backend/kvs40xx_opt.c:229 ../backend/matsushita.c:244 -#: ../backend/mustek.c:149 ../backend/plustek.c:234 -#: ../backend/plustek_pp.c:203 ../backend/u12.c:155 +#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Звичайна" -#: ../backend/hp-option.c:3146 +#: backend/hp-option.c:3146 #, no-c-format msgid "Fast" msgstr "Швидко" -#: ../backend/hp-option.c:3147 +#: backend/hp-option.c:3147 #, no-c-format msgid "Extra Fast" msgstr "Дуже швидко" -#: ../backend/hp-option.c:3160 +#: backend/hp-option.c:3160 #, no-c-format msgid "2-pixel" msgstr "Двоточкове" -#: ../backend/hp-option.c:3161 +#: backend/hp-option.c:3161 #, no-c-format msgid "4-pixel" msgstr "Чотириточкове" -#: ../backend/hp-option.c:3162 +#: backend/hp-option.c:3162 #, no-c-format msgid "8-pixel" msgstr "Восьмиточкове" -#: ../backend/hp-option.c:3173 +#: backend/hp-option.c:3173 #, no-c-format msgid "Print" msgstr "Друк" -#: ../backend/hp-option.c:3175 +#: backend/hp-option.c:3175 #, no-c-format msgid "Film-strip" msgstr "Плівка" -#: ../backend/hp-option.c:3254 +#: backend/hp-option.c:3254 #, no-c-format msgid "XPA" msgstr "XPA" -#: ../backend/hp-option.c:3328 ../backend/hp-option.c:3341 +#: backend/hp-option.c:3328 backend/hp-option.c:3341 #, no-c-format msgid "Conditional" msgstr "Умовно" -#: ../backend/hp-option.c:3414 +#: backend/hp-option.c:3414 #, no-c-format msgid "Experiment" msgstr "Експеримент" -#: ../backend/hp-option.h:60 +#: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" msgstr "Збільшенні різкості" -#: ../backend/hp-option.h:61 +#: backend/hp-option.h:61 #, no-c-format msgid "Set sharpening value." msgstr "Визначає величину збільшення різкості." -#: ../backend/hp-option.h:66 +#: backend/hp-option.h:66 #, no-c-format msgid "Auto Threshold" msgstr "Автоматичне порогове значення" -#: ../backend/hp-option.h:68 +#: backend/hp-option.h:68 #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" "Увімкнути автоматичне визначення порогового значення для сканування " "штрихових зображень." -#: ../backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Згладжування" - -#: ../backend/hp-option.h:74 +#: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." msgstr "Визначити фільтр згладжування." -#: ../backend/hp-option.h:79 +#: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" msgstr "Вивантажувати носій після сканування" -#: ../backend/hp-option.h:80 +#: backend/hp-option.h:80 #, no-c-format msgid "Unloads the media after a scan." msgstr "Вивантажує носій після сканування." -#: ../backend/hp-option.h:85 +#: backend/hp-option.h:85 #, no-c-format msgid "Change document" msgstr "Змінити документ" -#: ../backend/hp-option.h:86 +#: backend/hp-option.h:86 #, no-c-format msgid "Change Document." msgstr "Змінити документ." -#: ../backend/hp-option.h:91 +#: backend/hp-option.h:91 #, no-c-format msgid "Unload" msgstr "Вивантажити" -#: ../backend/hp-option.h:92 +#: backend/hp-option.h:92 #, no-c-format msgid "Unload Document." msgstr "Вивантажити документ." -#: ../backend/hp-option.h:98 +#: backend/hp-option.h:98 #, no-c-format msgid "Start calibration process." msgstr "Почати процедуру калібрування." -#: ../backend/hp-option.h:103 +#: backend/hp-option.h:103 #, no-c-format msgid "Media" msgstr "Носій" -#: ../backend/hp-option.h:104 +#: backend/hp-option.h:104 #, no-c-format msgid "Set type of media." msgstr "Визначити тип носія." -#: ../backend/hp-option.h:109 +#: backend/hp-option.h:109 #, no-c-format msgid "Exposure time" msgstr "Час експозиції" -#: ../backend/hp-option.h:111 +#: backend/hp-option.h:111 #, no-c-format msgid "" "A longer exposure time lets the scanner collect more light. Suggested " @@ -3058,463 +3833,462 @@ msgstr "" "150% для звичайних слайдів та «Негатив» для негативів. Для темних " "(недоекспонованих) зображень ви можете збільшити це значення." -#: ../backend/hp-option.h:119 ../backend/hp-option.h:126 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format msgid "Color Matrix" msgstr "Матриця кольорів" -#: ../backend/hp-option.h:121 +#: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." msgstr "Визначити матрицю кольорів сканера." -#: ../backend/hp-option.h:127 +#: backend/hp-option.h:127 #, no-c-format msgid "Custom color matrix." msgstr "Нетипова матриця кольорів." -#: ../backend/hp-option.h:132 +#: backend/hp-option.h:132 #, no-c-format msgid "Mono Color Matrix" msgstr "Чорно-біла матриця кольорів" -#: ../backend/hp-option.h:133 +#: backend/hp-option.h:133 #, no-c-format msgid "Custom color matrix for grayscale scans." msgstr "Нетипова матриця кольорів для чорно-білих зображень." -#: ../backend/hp-option.h:138 +#: backend/hp-option.h:138 #, no-c-format msgid "Mirror horizontal" msgstr "Віддзеркалити горизонтально" -#: ../backend/hp-option.h:139 +#: backend/hp-option.h:139 #, no-c-format msgid "Mirror image horizontally." msgstr "Віддзеркалити зображення по горизонталі." -#: ../backend/hp-option.h:144 +#: backend/hp-option.h:144 #, no-c-format msgid "Mirror vertical" msgstr "Віддзеркалити вертикально" -#: ../backend/hp-option.h:145 +#: backend/hp-option.h:145 #, no-c-format msgid "Mirror image vertically." msgstr "Віддзеркалити зображення по вертикалі." -#: ../backend/hp-option.h:150 +#: backend/hp-option.h:150 #, no-c-format msgid "Update options" msgstr "Оновити параметри" -#: ../backend/hp-option.h:151 +#: backend/hp-option.h:151 #, no-c-format msgid "Update options." msgstr "Оновити параметри." -#: ../backend/hp-option.h:156 +#: backend/hp-option.h:156 #, no-c-format msgid "8 bit output" msgstr "8-бітовий вивід" -#: ../backend/hp-option.h:158 +#: backend/hp-option.h:158 #, no-c-format msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" "Для внутрішньої обробки використовувати глибини кольорів, більші за 8-" "бітові, але виводити дані лише у 8-бітовому форматі." -#: ../backend/hp-option.h:164 +#: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" msgstr "Очікувати натискання кнопки у передній частині" -#: ../backend/hp-option.h:165 +#: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." msgstr "" "Не починати сканування до натискання кнопки на передній панелі сканера." -#: ../backend/hp-option.h:172 +#: backend/hp-option.h:172 #, no-c-format msgid "Shut off lamp" msgstr "Вимкнути лампу" -#: ../backend/hp-option.h:173 +#: backend/hp-option.h:173 #, no-c-format msgid "Shut off scanner lamp." msgstr "Вимкнути лампу сканера." -#: ../backend/kvs1025.h:51 ../backend/kvs20xx_opt.c:294 -#: ../backend/kvs40xx_opt.c:515 ../backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 +#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Розмір паперу" -#: ../backend/kvs1025.h:52 ../backend/kvs1025.h:67 -#: ../backend/matsushita.h:220 ../backend/matsushita.h:227 +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 #, no-c-format msgid "Automatic separation" msgstr "Автоматичне відокремлення" -#: ../backend/kvs1025.h:53 ../backend/kvs20xx_opt.c:306 -#: ../backend/kvs40xx_opt.c:530 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 +#: backend/kvs40xx_opt.c:531 #, no-c-format msgid "Landscape" msgstr "Альбомна" -#: ../backend/kvs1025.h:54 ../backend/kvs40xx_opt.c:692 +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" msgstr "Інверсивне зображення" -#: ../backend/kvs1025.h:56 ../backend/kvs40xx_opt.c:403 +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" msgstr "Режим довгого паперу" -#: ../backend/kvs1025.h:57 ../backend/kvs20xx_opt.c:229 -#: ../backend/kvs40xx_opt.c:392 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 +#: backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "Режим керування довжиною" -#: ../backend/kvs1025.h:58 ../backend/kvs20xx_opt.c:241 -#: ../backend/kvs40xx_opt.c:415 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 +#: backend/kvs40xx_opt.c:416 #, no-c-format msgid "Manual feed mode" msgstr "Режим подавання вручну" -#: ../backend/kvs1025.h:59 ../backend/kvs20xx_opt.c:253 -#: ../backend/kvs40xx_opt.c:427 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 +#: backend/kvs40xx_opt.c:428 #, no-c-format msgid "Manual feed timeout" msgstr "Час очікування на подачу вручну" -#: ../backend/kvs1025.h:60 ../backend/kvs20xx_opt.c:266 -#: ../backend/kvs40xx_opt.c:440 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 +#: backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "Виявлення двобічного подавання" -#: ../backend/kvs1025.h:63 ../backend/kvs20xx_opt.c:204 -#: ../backend/kvs40xx_opt.c:353 ../backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 +#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Увімкнути двобічне сканування" -#: ../backend/kvs1025.h:65 ../backend/kvs20xx_opt.c:295 -#: ../backend/kvs40xx_opt.c:516 ../backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 +#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Фізичний розмір паперу у пристрої автоматичної подачі" -#: ../backend/kvs1025_opt.c:39 +#: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" msgstr "чб" -#: ../backend/kvs1025_opt.c:40 +#: backend/kvs1025_opt.c:40 #, no-c-format msgid "halftone" msgstr "півтони" -#: ../backend/kvs1025_opt.c:41 +#: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" msgstr "сірий" -#: ../backend/kvs1025_opt.c:42 +#: backend/kvs1025_opt.c:42 #, no-c-format msgid "color" msgstr "кольорове" -#: ../backend/kvs1025_opt.c:61 ../backend/kvs40xx_opt.c:107 -#: ../backend/kvs40xx_opt.c:1046 +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" msgstr "АПД" -#: ../backend/kvs1025_opt.c:62 ../backend/kvs40xx_opt.c:49 -#: ../backend/kvs40xx_opt.c:108 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "планшет" -#: ../backend/kvs1025_opt.c:72 ../backend/kvs20xx_opt.c:54 -#: ../backend/kvs40xx_opt.c:100 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "однобічний" -#: ../backend/kvs1025_opt.c:73 ../backend/kvs20xx.c:455 -#: ../backend/kvs20xx_opt.c:55 ../backend/kvs40xx.c:704 -#: ../backend/kvs40xx.c:722 ../backend/kvs40xx_opt.c:101 -#: ../backend/kvs40xx_opt.c:1086 +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" msgstr "безперервне" -#: ../backend/kvs1025_opt.c:83 ../backend/kvs20xx_opt.c:61 -#: ../backend/kvs40xx_opt.c:114 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, no-c-format msgid "off" msgstr "вимкнено" -#: ../backend/kvs1025_opt.c:84 ../backend/kvs20xx_opt.c:62 -#: ../backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "очік_документа" -#: ../backend/kvs1025_opt.c:85 ../backend/kvs20xx_opt.c:63 -#: ../backend/kvs40xx_opt.c:117 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "очік_клавіші" -#: ../backend/kvs1025_opt.c:96 ../backend/kvs20xx_opt.c:69 -#: ../backend/kvs40xx_opt.c:123 ../backend/kvs40xx_opt.c:140 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "визн_користувачем" -#: ../backend/kvs1025_opt.c:97 ../backend/kvs20xx_opt.c:70 -#: ../backend/kvs40xx_opt.c:124 ../backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "бізнес_картка" -#: ../backend/kvs1025_opt.c:98 ../backend/kvs40xx_opt.c:125 -#: ../backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "Чек" -#: ../backend/kvs1025_opt.c:101 ../backend/kvs20xx_opt.c:74 -#: ../backend/kvs40xx_opt.c:128 ../backend/kvs40xx_opt.c:145 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "A5" -#: ../backend/kvs1025_opt.c:102 ../backend/kvs20xx_opt.c:75 -#: ../backend/kvs40xx_opt.c:129 ../backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "A6" -#: ../backend/kvs1025_opt.c:106 ../backend/kvs20xx_opt.c:79 -#: ../backend/kvs40xx_opt.c:133 ../backend/kvs40xx_opt.c:150 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "B5" -#: ../backend/kvs1025_opt.c:107 ../backend/kvs20xx_opt.c:80 -#: ../backend/kvs40xx_opt.c:134 ../backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "B6" -#: ../backend/kvs1025_opt.c:108 ../backend/kvs20xx_opt.c:81 -#: ../backend/kvs40xx_opt.c:135 ../backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "Легал" -#: ../backend/kvs1025_opt.c:149 ../backend/kvs40xx_opt.c:238 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "баєр_64" -#: ../backend/kvs1025_opt.c:150 ../backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "баєр_16" -#: ../backend/kvs1025_opt.c:151 ../backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 #, no-c-format msgid "halftone_32" msgstr "напівтони_32" -#: ../backend/kvs1025_opt.c:152 ../backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 #, no-c-format msgid "halftone_64" msgstr "напівтони_64" -#: ../backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:153 #, no-c-format msgid "diffusion" msgstr "розсіяне" -#: ../backend/kvs1025_opt.c:166 ../backend/kvs1025_opt.c:228 -#: ../backend/kvs1025_opt.c:241 ../backend/kvs20xx_opt.c:128 -#: ../backend/kvs20xx_opt.c:136 ../backend/kvs40xx_opt.c:214 -#: ../backend/kvs40xx_opt.c:222 ../backend/kvs40xx_opt.c:257 +#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, no-c-format msgid "normal" msgstr "звичайне" -#: ../backend/kvs1025_opt.c:167 ../backend/kvs40xx_opt.c:258 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 #, no-c-format msgid "light" msgstr "світле" -#: ../backend/kvs1025_opt.c:168 ../backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "темне" -#: ../backend/kvs1025_opt.c:179 ../backend/kvs40xx_opt.c:270 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 #, no-c-format msgid "From scanner" msgstr "Зі сканера" -#: ../backend/kvs1025_opt.c:180 ../backend/kvs40xx_opt.c:271 -#: ../backend/matsushita.c:177 +#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Від паперу" -#: ../backend/kvs1025_opt.c:192 ../backend/kvs40xx_opt.c:283 +#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 #, no-c-format msgid "default" msgstr "типове" -#: ../backend/kvs1025_opt.c:211 ../backend/kvs20xx_opt.c:122 -#: ../backend/kvs40xx_opt.c:208 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 #, no-c-format msgid "smooth" msgstr "гладке" -#: ../backend/kvs1025_opt.c:212 ../backend/kvs20xx_opt.c:118 -#: ../backend/kvs40xx_opt.c:204 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "немає" -#: ../backend/kvs1025_opt.c:213 ../backend/kvs20xx_opt.c:119 -#: ../backend/kvs40xx_opt.c:205 +#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 #, no-c-format msgid "low" msgstr "низьке" -#: ../backend/kvs1025_opt.c:214 ../backend/kvs1025_opt.c:804 -#: ../backend/kvs20xx_opt.c:120 ../backend/kvs40xx_opt.c:206 +#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, no-c-format msgid "medium" msgstr "середнє" -#: ../backend/kvs1025_opt.c:215 ../backend/kvs20xx_opt.c:121 -#: ../backend/kvs40xx_opt.c:207 +#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "високе" -#: ../backend/kvs1025_opt.c:229 ../backend/kvs20xx_opt.c:129 -#: ../backend/kvs40xx_opt.c:215 +#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "ЕПТ" -#: ../backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:230 #, no-c-format msgid "linier" msgstr "лінійна" -#: ../backend/kvs1025_opt.c:242 ../backend/kvs20xx_opt.c:137 -#: ../backend/kvs40xx_opt.c:223 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 #, no-c-format msgid "red" msgstr "червоний" -#: ../backend/kvs1025_opt.c:243 ../backend/kvs20xx_opt.c:138 -#: ../backend/kvs40xx_opt.c:224 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 #, no-c-format msgid "green" msgstr "зелений" -#: ../backend/kvs1025_opt.c:244 ../backend/kvs20xx_opt.c:139 -#: ../backend/kvs40xx_opt.c:225 +#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "синій" -#: ../backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:562 #, no-c-format msgid "Sets the scan source" msgstr "Встановлює джерело сканування" -#: ../backend/kvs1025_opt.c:573 ../backend/kvs20xx_opt.c:217 -#: ../backend/kvs40xx_opt.c:366 ../backend/matsushita.c:1126 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Режим подачі" -#: ../backend/kvs1025_opt.c:574 ../backend/kvs20xx_opt.c:218 -#: ../backend/kvs40xx_opt.c:367 ../backend/matsushita.c:1127 +#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Визначити режим подачі" -#: ../backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:584 #, no-c-format msgid "Enable/Disable long paper mode" msgstr "Увімкнути/Вимкнути режим довгого паперу" -#: ../backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:593 #, no-c-format msgid "Enable/Disable length control mode" msgstr "Увімкнути/Вимкнути режим керування довжиною" -#: ../backend/kvs1025_opt.c:601 ../backend/kvs20xx_opt.c:242 -#: ../backend/kvs40xx_opt.c:416 +#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 #, no-c-format msgid "Sets the manual feed mode" msgstr "Встановлює режим подавання вручну" -#: ../backend/kvs1025_opt.c:612 ../backend/kvs20xx_opt.c:254 -#: ../backend/kvs40xx_opt.c:428 +#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 #, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Встановлює час очікування на подавання вручну" -#: ../backend/kvs1025_opt.c:625 ../backend/kvs20xx_opt.c:267 -#: ../backend/kvs40xx_opt.c:441 +#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "Увімкнути або вимкнути виявлення подвійного подавання" -#: ../backend/kvs1025_opt.c:631 ../backend/kvs20xx_opt.c:275 -#: ../backend/kvs40xx_opt.c:496 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "за аркушем" -#: ../backend/kvs1025_opt.c:632 ../backend/kvs20xx_opt.c:276 -#: ../backend/kvs40xx_opt.c:497 +#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "За аркушем" -#: ../backend/kvs1025_opt.c:634 ../backend/kvs20xx_opt.c:277 -#: ../backend/kvs40xx_opt.c:498 +#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "Сканер стискає зображення відповідно до розмірів аркуша" -#: ../backend/kvs1025_opt.c:661 ../backend/kvs20xx_opt.c:308 -#: ../backend/kvs40xx_opt.c:532 +#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "Встановлює розташування аркуша: true — альбомне, false — книжкове" -#: ../backend/kvs1025_opt.c:735 ../backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Автоматичне визначення" -#: ../backend/kvs1025_opt.c:738 ../backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -3523,116 +4297,106 @@ msgstr "" "Встановлювати яскравість, контрастність, рівень білого, гаму, зменшення " "шумності і виразність зображення автоматично" -#: ../backend/kvs1025_opt.c:783 ../backend/kvs40xx_opt.c:763 -#: ../backend/matsushita.c:1275 +#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Зменшення шумності" -#: ../backend/kvs1025_opt.c:785 ../backend/kvs40xx_opt.c:764 -#: ../backend/matsushita.c:1277 +#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Зменшити шум від ізольованих точок" -#: ../backend/kvs1025_opt.c:796 ../backend/kvs20xx_opt.c:411 -#: ../backend/kvs40xx_opt.c:654 ../backend/matsushita.c:1288 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Виразність зображення" -#: ../backend/kvs1025_opt.c:797 ../backend/kvs20xx_opt.c:412 -#: ../backend/kvs40xx_opt.c:655 ../backend/matsushita.c:1289 +#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Визначає виразність зображення" -#: ../backend/kvs1025_opt.c:808 ../backend/kvs1025_opt.c:809 -#: ../backend/matsushita.c:1300 ../backend/matsushita.c:1301 -#: ../backend/pixma_sane_options.c:110 +#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Гама" -#: ../backend/kvs1025_opt.c:818 ../backend/kvs20xx_opt.c:435 -#: ../backend/kvs40xx_opt.c:680 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 #, no-c-format msgid "Lamp color" msgstr "Колір лампи" -#: ../backend/kvs1025_opt.c:819 ../backend/kvs20xx_opt.c:436 -#: ../backend/kvs40xx_opt.c:681 +#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 #, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Встановлює колір лампи (відкидання кольорів)" -#: ../backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:832 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "Інверсивне зображення у чорно-білому або півтоновому режимі" -#: ../backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:840 #, no-c-format msgid "Mirror image (left/right flip)" msgstr "Віддзеркалити зображення (перевертання через лівий/правий край)" -#: ../backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:847 #, no-c-format msgid "jpeg compression" msgstr "стискання jpeg" -#: ../backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:850 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "Стискання зображень JPEG з параметром Q, «0» — не стискати" -#: ../backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:860 #, no-c-format msgid "Rotate image clockwise" msgstr "Обернути зображення за год. стрілкою" -#: ../backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:862 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" "Вимагати від драйвера обертання сторінок на фіксований вказаний кут" -#: ../backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "Програмне усування обертання" - -#: ../backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:874 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" "Вимагати від драйвера усування обертання сторінок у автоматичному режимі" -#: ../backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "Діаметр плям для програмного усування" - -#: ../backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:883 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" "Мінімальний діаметр окремих плям, які слід усунути зі сканованого " "зображення" -#: ../backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:902 #, no-c-format msgid "Software automatic cropping" msgstr "Програмне автоматичне обрізання" -#: ../backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:904 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" "Вимагати від драйвера вилучення границі зі сторінок у автоматичному " "режимі" -#: ../backend/kvs20xx_opt.c:232 ../backend/kvs40xx_opt.c:395 +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " @@ -3641,64 +4405,64 @@ msgstr "" "У режимі керування довжиною сканер читає дані до найкоротшої з таких " "довжин: дійсної довжини аркуша паперу або логічної довжини документа." -#: ../backend/kvs20xx_opt.c:423 ../backend/kvs20xx_opt.c:424 -#: ../backend/kvs40xx_opt.c:667 ../backend/kvs40xx_opt.c:668 -#: ../backend/microtek2.h:640 +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Виправлення гами" -#: ../backend/kvs40xx_opt.c:116 +#: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" msgstr "очік_документа_з_бункера" -#: ../backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" msgstr "A3" -#: ../backend/kvs40xx_opt.c:131 +#: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" msgstr "Подвійний лист 11x17 дюймів" -#: ../backend/kvs40xx_opt.c:132 +#: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" msgstr "B4" -#: ../backend/kvs40xx_opt.c:230 +#: backend/kvs40xx_opt.c:231 #, no-c-format msgid "High sensivity" msgstr "Висока чутливість" -#: ../backend/kvs40xx_opt.c:231 +#: backend/kvs40xx_opt.c:232 #, no-c-format msgid "Low sensivity" msgstr "Низька чутливість" -#: ../backend/kvs40xx_opt.c:242 +#: backend/kvs40xx_opt.c:243 #, no-c-format msgid "err_diffusion" msgstr "помилка_розс" -#: ../backend/kvs40xx_opt.c:248 +#: backend/kvs40xx_opt.c:249 #, no-c-format msgid "No detection" msgstr "Без виявлення" -#: ../backend/kvs40xx_opt.c:249 +#: backend/kvs40xx_opt.c:250 #, no-c-format msgid "Normal mode" msgstr "Звичайний режим" -#: ../backend/kvs40xx_opt.c:250 +#: backend/kvs40xx_opt.c:251 #, no-c-format msgid "Enhanced mode" msgstr "Розширений режим" -#: ../backend/kvs40xx_opt.c:404 +#: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " @@ -3708,341 +4472,338 @@ msgstr "" "довгого листа паперу на відрізки довжини, встановлені за допомогою " "параметра «Розмір документа»" -#: ../backend/kvs40xx_opt.c:448 +#: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" msgstr "Значення чутливості датчика подвійного подавання" -#: ../backend/kvs40xx_opt.c:449 +#: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" msgstr "Встановити значення чутливості датчика подвійного подавання" -#: ../backend/kvs40xx_opt.c:460 ../backend/kvs40xx_opt.c:461 +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" msgstr "Не зупинятися після виявлення подвійного подавання" -#: ../backend/kvs40xx_opt.c:469 ../backend/kvs40xx_opt.c:470 +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" msgstr "Ігнорувати лівий датчик подвійного подавання" -#: ../backend/kvs40xx_opt.c:478 ../backend/kvs40xx_opt.c:479 +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" msgstr "Ігнорувати центральний датчик подвійного подавання" -#: ../backend/kvs40xx_opt.c:487 ../backend/kvs40xx_opt.c:488 +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" msgstr "Ігнорувати правий датчик подвійного подавання" -#: ../backend/kvs40xx_opt.c:641 +#: backend/kvs40xx_opt.c:642 #, no-c-format msgid "Automatic threshold mode" msgstr "Режим автоматичного порогового значення" -#: ../backend/kvs40xx_opt.c:642 +#: backend/kvs40xx_opt.c:643 #, no-c-format msgid "Sets the automatic threshold mode" msgstr "Встановлює режим автоматичного порогового значення" -#: ../backend/kvs40xx_opt.c:693 +#: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" msgstr "Інверсивне зображення у чорно-білому режимі" -#: ../backend/kvs40xx_opt.c:714 +#: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" msgstr "Стискання JPEG" -#: ../backend/kvs40xx_opt.c:717 +#: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" msgstr "Стискання JPEG (ваша програма повинна мати змогу розпакувати дані)" -#: ../backend/kvs40xx_opt.c:736 ../backend/kvs40xx_opt.c:737 +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" msgstr "Виявляти підшиті документи" -#: ../backend/kvs40xx_opt.c:775 +#: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" msgstr "інтенсивність червоного" -#: ../backend/kvs40xx_opt.c:776 +#: backend/kvs40xx_opt.c:777 #, no-c-format msgid "Set chroma of red" msgstr "Встановити інтенсивність червоного" -#: ../backend/kvs40xx_opt.c:786 +#: backend/kvs40xx_opt.c:787 #, no-c-format msgid "chroma of blue" msgstr "інтенсивність синього" -#: ../backend/kvs40xx_opt.c:787 +#: backend/kvs40xx_opt.c:788 #, no-c-format msgid "Set chroma of blue" msgstr "Встановити інтенсивність синього" -#: ../backend/kvs40xx_opt.c:797 ../backend/kvs40xx_opt.c:798 +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" msgstr "Коригування перекошування" -#: ../backend/kvs40xx_opt.c:807 +#: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" msgstr "Зупинити сканування, якщо папір було перекошено" -#: ../backend/kvs40xx_opt.c:808 +#: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" msgstr "Сканування буде зупинено, якщо папір було вставлено з нахилом" -#: ../backend/kvs40xx_opt.c:815 +#: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "Обрізати до справжньої області зображення" -#: ../backend/kvs40xx_opt.c:816 +#: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" msgstr "Сканер автоматично визначає область зображення і обрізає його" -#: ../backend/kvs40xx_opt.c:826 +#: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" msgstr "Перевертання ліворуч і праворуч" -#: ../backend/kvs40xx_opt.c:833 ../backend/kvs40xx_opt.c:834 +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" msgstr "Додавання простору у верхній частині" -#: ../backend/kvs40xx_opt.c:841 ../backend/kvs40xx_opt.c:842 +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" msgstr "Додавання простору у нижній частині" -#: ../backend/leo.c:110 +#: backend/leo.c:110 #, no-c-format msgid "Diamond" msgstr "Діамант" -#: ../backend/leo.c:111 +#: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" msgstr "8x8 Значна жирність" -#: ../backend/leo.c:112 +#: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" msgstr "8x8 Помірна жирність" -#: ../backend/leo.c:113 +#: backend/leo.c:113 #, no-c-format msgid "8x8 Bayer" msgstr "Секція 8x8" -#: ../backend/leo.c:114 +#: backend/leo.c:114 #, no-c-format msgid "8x8 Vertical Line" msgstr "8x8 Вертикальна лінія" -#: ../backend/lexmark.c:273 ../backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" msgstr "Підсилення" -#: ../backend/lexmark.c:274 ../backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format msgid "Color channels gain settings" msgstr "Параметри підсилення каналів кольорів" -#: ../backend/lexmark.c:283 ../backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:723 #, no-c-format msgid "Gray gain" msgstr "Підсилення сірого" -#: ../backend/lexmark.c:284 ../backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:724 #, no-c-format msgid "Sets gray channel gain" msgstr "Визначає підсилення сірого каналу" -#: ../backend/lexmark.c:297 ../backend/plustek.c:1001 -#: ../backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 #, no-c-format msgid "Red gain" msgstr "Підсилення червоного" -#: ../backend/lexmark.c:298 ../backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:736 #, no-c-format msgid "Sets red channel gain" msgstr "Визначає підсилення каналу червоного" -#: ../backend/lexmark.c:311 ../backend/plustek.c:1017 -#: ../backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 #, no-c-format msgid "Green gain" msgstr "Підсилення зеленого" -#: ../backend/lexmark.c:312 ../backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:748 #, no-c-format msgid "Sets green channel gain" msgstr "Визначає підсилення каналу зеленого" -#: ../backend/lexmark.c:325 ../backend/plustek.c:1033 -#: ../backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 #, no-c-format msgid "Blue gain" msgstr "Підсилення синього" -#: ../backend/lexmark.c:326 ../backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:760 #, no-c-format msgid "Sets blue channel gain" msgstr "Визначає підсилення каналу синього" -#: ../backend/matsushita.c:139 +#: backend/matsushita.c:139 #, no-c-format msgid "Bayer Dither 16" msgstr "Секційний дизеринг 16" -#: ../backend/matsushita.c:140 +#: backend/matsushita.c:140 #, no-c-format msgid "Bayer Dither 64" msgstr "Секційний дизеринг 64" -#: ../backend/matsushita.c:141 +#: backend/matsushita.c:141 #, no-c-format msgid "Halftone Dot 32" msgstr "Напівтонова точка 32" -#: ../backend/matsushita.c:142 +#: backend/matsushita.c:142 #, no-c-format msgid "Halftone Dot 64" msgstr "Напівтонова точка 64" -#: ../backend/matsushita.c:143 +#: backend/matsushita.c:143 #, no-c-format msgid "Error Diffusion" msgstr "Поширення помилок" -#: ../backend/matsushita.c:160 +#: backend/matsushita.c:160 #, no-c-format msgid "Mode 1" msgstr "Режим 1" -#: ../backend/matsushita.c:161 +#: backend/matsushita.c:161 #, no-c-format msgid "Mode 2" msgstr "Режим 2" -#: ../backend/matsushita.c:162 +#: backend/matsushita.c:162 #, no-c-format msgid "Mode 3" msgstr "Режим 3" -#: ../backend/matsushita.c:176 +#: backend/matsushita.c:176 #, no-c-format msgid "From white stick" msgstr "Від білої палички" -#: ../backend/matsushita.c:212 +#: backend/matsushita.c:212 #, no-c-format msgid "Smooth" msgstr "Плавний" -#: ../backend/matsushita.c:214 ../backend/matsushita.c:229 +#: backend/matsushita.c:214 backend/matsushita.c:229 #, no-c-format msgid "Low" msgstr "Низький" -#: ../backend/matsushita.c:215 ../backend/matsushita.c:230 -#: ../backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Середній" -#: ../backend/matsushita.c:216 ../backend/matsushita.c:231 +#: backend/matsushita.c:216 backend/matsushita.c:231 #, no-c-format msgid "High" msgstr "Високий" -#: ../backend/matsushita.c:245 +#: backend/matsushita.c:245 #, no-c-format msgid "CRT" msgstr "ЕПТ" -#: ../backend/matsushita.c:257 +#: backend/matsushita.c:257 #, no-c-format msgid "One page" msgstr "Одна сторінка" -#: ../backend/matsushita.c:258 +#: backend/matsushita.c:258 #, no-c-format msgid "All pages" msgstr "Всі сторінки" -#: ../backend/matsushita.c:1034 ../backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "сканер з подачею аркушів" -#: ../backend/matsushita.h:209 +#: backend/matsushita.h:209 #, no-c-format msgid "Grayscale 4 bits" msgstr "Відтінки сірого, 4-бітова" -#: ../backend/matsushita.h:210 +#: backend/matsushita.h:210 #, no-c-format msgid "Grayscale 8 bits" msgstr "Відтінки сірого, 8-бітова" -#: ../backend/microtek2.h:601 +#: backend/microtek2.h:601 #, no-c-format msgid "Shadow, midtone, highlight, exposure time" msgstr "Затіненість, напівтон, підсвічування, час витримки" -#: ../backend/microtek2.h:603 +#: backend/microtek2.h:603 #, no-c-format msgid "Special options" msgstr "Спеціальні параметри" -#: ../backend/microtek2.h:604 +#: backend/microtek2.h:604 #, no-c-format msgid "Color balance" msgstr "Баланс кольорів" -#: ../backend/microtek2.h:607 +#: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" msgstr "Вимкнути зворотне стеження" -#: ../backend/microtek2.h:608 +#: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "Якщо буде позначено цей пункт, сканер не виконуватиме повернення" -#: ../backend/microtek2.h:612 +#: backend/microtek2.h:612 #, no-c-format msgid "Toggle lamp of flatbed" msgstr "Перемкнути лампу планшетного сканера" -#: ../backend/microtek2.h:613 +#: backend/microtek2.h:613 #, no-c-format msgid "Toggles the lamp of the flatbed" msgstr "Перемикає лампу планшетного сканера" -#: ../backend/microtek2.h:616 +#: backend/microtek2.h:616 #, no-c-format msgid "Calibration by backend" msgstr "Калібрування програмою обробки" -#: ../backend/microtek2.h:617 +#: backend/microtek2.h:617 #, no-c-format msgid "" "If checked the color calibration before a scan is done by the backend" @@ -4050,44 +4811,44 @@ msgstr "" "Якщо позначено цей пункт, калібрування кольорів перед скануванням " "виконується програмою обробки" -#: ../backend/microtek2.h:621 +#: backend/microtek2.h:621 #, no-c-format msgid "Use the lightlid-35mm adapter" msgstr "Використовувати 35 мм адаптер lightlid" -#: ../backend/microtek2.h:622 +#: backend/microtek2.h:622 #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "" "Якщо позначити цей пункт, лампу планшетного сканера на час сканування " "буде вимкнено" -#: ../backend/microtek2.h:626 ../backend/snapscan-options.c:421 +#: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format msgid "Quality scan" msgstr "Якісне сканування" -#: ../backend/microtek2.h:627 ../backend/snapscan-options.c:422 +#: backend/microtek2.h:627 backend/snapscan-options.c:422 #, no-c-format msgid "Highest quality but lower speed" msgstr "Найкраща якість, але повільно" -#: ../backend/microtek2.h:630 +#: backend/microtek2.h:630 #, no-c-format msgid "Fast scan" msgstr "Швидке сканування" -#: ../backend/microtek2.h:631 +#: backend/microtek2.h:631 #, no-c-format msgid "Highest speed but lower quality" msgstr "Найшвидше, але низька якість" -#: ../backend/microtek2.h:634 +#: backend/microtek2.h:634 #, no-c-format msgid "Automatic adjustment of threshold" msgstr "Автоматичне визначення порогового значення" -#: ../backend/microtek2.h:635 +#: backend/microtek2.h:635 #, no-c-format msgid "" "If checked the backend automatically tries to determine an optimal value " @@ -4096,282 +4857,282 @@ msgstr "" "Якщо буде позначено цей пункт, програма обробки спробує визначити " "оптимальне порогове значення у автоматичному режимі." -#: ../backend/microtek2.h:641 +#: backend/microtek2.h:641 #, no-c-format msgid "Selects the gamma correction mode." msgstr "Визначає режим виправлення гами (ступеня контрастності)." -#: ../backend/microtek2.h:644 +#: backend/microtek2.h:644 #, no-c-format msgid "Bind gamma" msgstr "Пов’язана гама" -#: ../backend/microtek2.h:645 +#: backend/microtek2.h:645 #, no-c-format msgid "Use same gamma values for all colour channels." msgstr "Використовувати однакові значення гами для всіх каналів кольорів." -#: ../backend/microtek2.h:649 +#: backend/microtek2.h:649 #, no-c-format msgid "Scalar gamma" msgstr "Скалярна гама" -#: ../backend/microtek2.h:650 +#: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." msgstr "Визначає значення для скалярного виправлення гами." -#: ../backend/microtek2.h:654 +#: backend/microtek2.h:654 #, no-c-format msgid "Scalar gamma red" msgstr "Скалярна гама червоного" -#: ../backend/microtek2.h:655 +#: backend/microtek2.h:655 #, no-c-format msgid "Selects a value for scalar gamma correction (red channel)" msgstr "" "Визначає значення для скалярного виправлення гами (канал червоного)." -#: ../backend/microtek2.h:659 +#: backend/microtek2.h:659 #, no-c-format msgid "Scalar gamma green" msgstr "Скалярна гама зеленого" -#: ../backend/microtek2.h:660 +#: backend/microtek2.h:660 #, no-c-format msgid "Selects a value for scalar gamma correction (green channel)" msgstr "" "Визначає значення для скалярного виправлення гами (канал зеленого)." -#: ../backend/microtek2.h:664 +#: backend/microtek2.h:664 #, no-c-format msgid "Scalar gamma blue" msgstr "Скалярна гама синього" -#: ../backend/microtek2.h:665 +#: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" msgstr "Визначає значення для скалярного виправлення гами (канал синього)." -#: ../backend/microtek2.h:669 +#: backend/microtek2.h:669 #, no-c-format msgid "Channel" msgstr "Канал" -#: ../backend/microtek2.h:670 +#: backend/microtek2.h:670 #, no-c-format msgid "" "Selects the colour band, \"Master\" means that all colours are affected." msgstr "" "Визначає зв’язок кольорів. «Основний» визначає зв’язок всіх кольорів." -#: ../backend/microtek2.h:674 +#: backend/microtek2.h:674 #, no-c-format msgid "Midtone" msgstr "Напівтон" -#: ../backend/microtek2.h:675 +#: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." msgstr "Визначає рівень світності, який вважатиметься «50 % сірим»." -#: ../backend/microtek2.h:679 +#: backend/microtek2.h:679 #, no-c-format msgid "Midtone for red" msgstr "Напівтон для червоного" -#: ../backend/microtek2.h:680 +#: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." msgstr "Визначає рівень світності, який є «50 % червоним»." -#: ../backend/microtek2.h:684 +#: backend/microtek2.h:684 #, no-c-format msgid "Midtone for green" msgstr "Напівтон для зеленого" -#: ../backend/microtek2.h:685 +#: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." msgstr "Визначає рівень світності, який є «50 % зеленим»." -#: ../backend/microtek2.h:689 +#: backend/microtek2.h:689 #, no-c-format msgid "Midtone for blue" msgstr "Напівтон для синього" -#: ../backend/microtek2.h:690 +#: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." msgstr "Визначає рівень світності, який є «50 % синім»." -#: ../backend/microtek2.h:694 +#: backend/microtek2.h:694 #, no-c-format msgid "Red balance" msgstr "Баланс червоного" -#: ../backend/microtek2.h:695 +#: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." msgstr "" "Коефіцієнт балансу для червоного. Значення у 100% означає «без " "виправлення»." -#: ../backend/microtek2.h:699 +#: backend/microtek2.h:699 #, no-c-format msgid "Green balance" msgstr "Баланс зеленого" -#: ../backend/microtek2.h:700 +#: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." msgstr "" "Коефіцієнт балансу для зеленого. Значення у 100% означає «без " "виправлення»." -#: ../backend/microtek2.h:704 +#: backend/microtek2.h:704 #, no-c-format msgid "Blue balance" msgstr "Баланс синього" -#: ../backend/microtek2.h:705 +#: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." msgstr "" "Коефіцієнт балансу для синього. Значення у 100% означає «без " "виправлення»." -#: ../backend/microtek2.h:709 +#: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" msgstr "Баланс мікрокоду" -#: ../backend/microtek2.h:710 +#: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." msgstr "Встановлює значення балансу кольорів на основі даних з мікрокоду." -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slowest" msgstr "Найповільніша" -#: ../backend/mustek.c:149 +#: backend/mustek.c:149 #, no-c-format msgid "Slower" msgstr "Повільна" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Faster" msgstr "Швидша" -#: ../backend/mustek.c:150 +#: backend/mustek.c:150 #, no-c-format msgid "Fastest" msgstr "Найшвидша" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 coarse" msgstr "8x8 грубе" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 normal" msgstr "8x8 звичайне" -#: ../backend/mustek.c:177 +#: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" msgstr "8x8 добре" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "8x8 very fine" msgstr "8x8 дуже добре" -#: ../backend/mustek.c:178 +#: backend/mustek.c:178 #, no-c-format msgid "6x6 normal" msgstr "6x6 звичайне" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 coarse" msgstr "5x5 грубе" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "5x5 fine" msgstr "5x5 добре" -#: ../backend/mustek.c:179 +#: backend/mustek.c:179 #, no-c-format msgid "4x4 coarse" msgstr "4x4 грубе" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" msgstr "4x4 звичайне" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "4x4 fine" msgstr "4x4 добре" -#: ../backend/mustek.c:180 +#: backend/mustek.c:180 #, no-c-format msgid "3x3 normal" msgstr "3x3 звичайне" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "2x2 normal" msgstr "2x2 звичайне" -#: ../backend/mustek.c:181 +#: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" msgstr "8x8 нетипове" -#: ../backend/mustek.c:182 +#: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" msgstr "6x6 нетипове" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" msgstr "5x5 нетипове" -#: ../backend/mustek.c:183 +#: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" msgstr "4x4 нетипове" -#: ../backend/mustek.c:184 +#: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" msgstr "3x3 нетипове" -#: ../backend/mustek.c:185 +#: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 нетипове" -#: ../backend/mustek.c:4237 +#: backend/mustek.c:4235 #, no-c-format msgid "Fast gray mode" msgstr "Швидкий чорно-білий режим" -#: ../backend/mustek.c:4238 +#: backend/mustek.c:4236 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Сканувати у швидкому чорно-білому режимі (погана якість)." -#: ../backend/mustek.c:4335 +#: backend/mustek.c:4333 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4381,117 +5142,117 @@ msgstr "" "(низькоякісному) режимі. Цим режимом може бути чорно-білий режим або " "режим з низькою роздільною здатністю." -#: ../backend/mustek.c:4343 +#: backend/mustek.c:4341 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Час вимикання лампи (у хвилинах)" -#: ../backend/mustek.c:4344 +#: backend/mustek.c:4342 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Визначає час (у хвилинах), через який лампу буде вимкнено." -#: ../backend/mustek.c:4355 +#: backend/mustek.c:4353 #, no-c-format msgid "Turn lamp off" msgstr "Вимкнути лампу" -#: ../backend/mustek.c:4356 +#: backend/mustek.c:4354 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Негайно вимикає лампу." -#: ../backend/mustek.c:4433 +#: backend/mustek.c:4431 #, no-c-format msgid "Red brightness" msgstr "Яскравість червоного" -#: ../backend/mustek.c:4434 +#: backend/mustek.c:4432 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Керує яскравістю каналу червоного у отриманому зображенні." -#: ../backend/mustek.c:4446 +#: backend/mustek.c:4444 #, no-c-format msgid "Green brightness" msgstr "Яскравість зеленого" -#: ../backend/mustek.c:4447 +#: backend/mustek.c:4445 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Керує яскравістю каналу зеленого у отриманому зображенні." -#: ../backend/mustek.c:4459 +#: backend/mustek.c:4457 #, no-c-format msgid "Blue brightness" msgstr "Яскравість синього" -#: ../backend/mustek.c:4460 +#: backend/mustek.c:4458 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Керує яскравістю каналу синього у отриманому зображенні." -#: ../backend/mustek.c:4485 +#: backend/mustek.c:4483 #, no-c-format msgid "Contrast red channel" msgstr "Контрастність червоного каналу" -#: ../backend/mustek.c:4486 +#: backend/mustek.c:4484 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Керує контрастністю каналу червоного у отриманому зображенні." -#: ../backend/mustek.c:4498 +#: backend/mustek.c:4496 #, no-c-format msgid "Contrast green channel" msgstr "Контрастність зеленого каналу" -#: ../backend/mustek.c:4499 +#: backend/mustek.c:4497 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Керує контрастністю каналу зеленого у отриманому зображенні." -#: ../backend/mustek.c:4511 +#: backend/mustek.c:4509 #, no-c-format msgid "Contrast blue channel" msgstr "Контрастність синього каналу" -#: ../backend/mustek.c:4512 +#: backend/mustek.c:4510 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Керує контрастністю каналу синього у отриманому зображенні." -#: ../backend/mustek_usb2.c:105 +#: backend/mustek_usb2.c:105 #, no-c-format msgid "Color48" msgstr "Кольоровий 48" -#: ../backend/mustek_usb2.c:106 ../backend/mustek_usb2.c:114 +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 #, no-c-format msgid "Color24" msgstr "Кольоровий 24" -#: ../backend/mustek_usb2.c:107 +#: backend/mustek_usb2.c:107 #, no-c-format msgid "Gray16" msgstr "Чорно-білий 16" -#: ../backend/mustek_usb2.c:108 +#: backend/mustek_usb2.c:108 #, no-c-format msgid "Gray8" msgstr "Чорно-білий 8" -#: ../backend/mustek_usb2.c:119 +#: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" msgstr "Відбиток" -#: ../backend/mustek_usb2.c:120 +#: backend/mustek_usb2.c:120 #, no-c-format msgid "Positive" msgstr "Позитив" -#: ../backend/mustek_usb2.c:421 +#: backend/mustek_usb2.c:421 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -4500,27 +5261,27 @@ msgstr "" "Розігрівати, до сталої яскравості лампи, не наполягати на 40-ти " "секундному розігріві." -#: ../backend/pixma.c:378 +#: backend/pixma.c:378 #, no-c-format msgid "Negative color" msgstr "Кольоровий негатив" -#: ../backend/pixma.c:383 +#: backend/pixma.c:383 #, no-c-format msgid "Negative gray" msgstr "Чорно-білий негатив" -#: ../backend/pixma.c:396 +#: backend/pixma.c:396 #, no-c-format msgid "48 bits color" msgstr "48-бітовий колір" -#: ../backend/pixma.c:401 +#: backend/pixma.c:401 #, no-c-format msgid "16 bits gray" msgstr "16-бітовий сірий" -#: ../backend/pixma_sane_options.c:82 +#: backend/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " @@ -4530,12 +5291,12 @@ msgstr "" "Встановіть джерело перед режимом і роздільною здатністю. Відновлює " "автоматично визначені значення режиму та роздільної здатності." -#: ../backend/pixma_sane_options.c:96 +#: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Кероване кнопкою сканування" -#: ../backend/pixma_sane_options.c:97 +#: backend/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -4546,248 +5307,241 @@ msgstr "" "негайно. Для продовження, натисніть кнопку «SCAN» (MP150) або " "«COLOR» (для інших моделей). Для скасування натисніть кнопку «GRAY»." -#: ../backend/pixma_sane_options.c:143 -#, no-c-format -msgid "Gamma function exponent" -msgstr "Показник функції гами" - -#: ../backend/pixma_sane_options.c:144 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "Змінює інтенсивність напівтонів" - -#: ../backend/pixma_sane_options.c:230 +#: backend/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Оновити стан кнопки" -#: ../backend/pixma_sane_options.c:242 +#: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Кнопка 1" -#: ../backend/pixma_sane_options.c:256 +#: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Кнопка 2" -#: ../backend/pixma_sane_options.c:270 +#: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "Тип оригіналу для сканування" -#: ../backend/pixma_sane_options.c:284 +#: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "Тип дії для отримання результату" -#: ../backend/plustek.c:235 ../backend/plustek_pp.c:204 -#: ../backend/u12.c:156 +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "Час очікування АПД" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" +"Якщо визначено, сканер шукатиме новий документ, вставлений до пристрою " +"автоматичної подачі документів, протягом вказаної кількості секунд." + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format msgid "Transparency" msgstr "Прозорість" -#: ../backend/plustek.c:913 +#: backend/plustek.c:913 #, no-c-format msgid "Device-Settings" msgstr "Параметри пристрою" -#: ../backend/plustek.c:920 +#: backend/plustek.c:920 #, no-c-format msgid "Lampswitch" msgstr "Перемикач лампи" -#: ../backend/plustek.c:921 +#: backend/plustek.c:921 #, no-c-format msgid "Manually switching the lamp(s)." msgstr "Перемикання ламп вручну." -#: ../backend/plustek.c:926 +#: backend/plustek.c:926 #, no-c-format msgid "Lamp off during dark calibration" msgstr "Вимикання лампи під час калібрування темного" -#: ../backend/plustek.c:927 +#: backend/plustek.c:927 #, no-c-format msgid "Always switches lamp off when doing dark calibration." msgstr "Завжди вимикати лампу під час виконання калібрування темної зони" -#: ../backend/plustek.c:935 +#: backend/plustek.c:935 #, no-c-format msgid "Calibration data cache" msgstr "Кешування даних калібрування" -#: ../backend/plustek.c:936 +#: backend/plustek.c:936 #, no-c-format msgid "Enables or disables calibration data cache." msgstr "Вмикає або вимикає кешування даних калібрування." -#: ../backend/plustek.c:942 +#: backend/plustek.c:942 #, no-c-format msgid "Performs calibration" msgstr "Виконує калібрування" -#: ../backend/plustek.c:959 +#: backend/plustek.c:959 #, no-c-format msgid "Speedup sensor" msgstr "Пришвидшити датчик" -#: ../backend/plustek.c:960 +#: backend/plustek.c:960 #, no-c-format msgid "Enables or disables speeding up sensor movement." msgstr "Вмикає або вимикає пришвидшення руху датчика." -#: ../backend/plustek.c:974 +#: backend/plustek.c:974 #, no-c-format msgid "Warmup-time" msgstr "Час розігріву" -#: ../backend/plustek.c:975 +#: backend/plustek.c:975 #, no-c-format msgid "Warmup-time in seconds." msgstr "Час розігріву у секундах." -#: ../backend/plustek.c:987 +#: backend/plustek.c:987 #, no-c-format msgid "Lampoff-time" msgstr "Час вимикання" -#: ../backend/plustek.c:988 +#: backend/plustek.c:988 #, no-c-format msgid "Lampoff-time in seconds." msgstr "Час вимикання лампи у секундах." -#: ../backend/plustek.c:995 +#: backend/plustek.c:995 #, no-c-format msgid "Analog frontend" msgstr "Аналогова оболонка" -#: ../backend/plustek.c:1002 +#: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" msgstr "Значення підсилення червоного AFE" -#: ../backend/plustek.c:1009 ../backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format msgid "Red offset" msgstr "Зміщення червоного" -#: ../backend/plustek.c:1010 +#: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" msgstr "Значення зміщення червоного AFE" -#: ../backend/plustek.c:1018 +#: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" msgstr "Значення підсилення зеленого AFE" -#: ../backend/plustek.c:1025 ../backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Зміщення зеленого" - -#: ../backend/plustek.c:1026 +#: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" msgstr "Значення зміщення зеленого AFE" -#: ../backend/plustek.c:1034 +#: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" msgstr "Значення підсилення синього AFE" -#: ../backend/plustek.c:1041 ../backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Зміщення синього" - -#: ../backend/plustek.c:1042 +#: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" msgstr "Значення зміщення синього AFE" -#: ../backend/plustek.c:1049 +#: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" msgstr "Вимикання лампи червоного" -#: ../backend/plustek.c:1050 +#: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" msgstr "Визначає параметр вимикання лампи червоного" -#: ../backend/plustek.c:1057 +#: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" msgstr "Вимикання лампи зеленого" -#: ../backend/plustek.c:1058 +#: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" msgstr "Визначає параметр вимикання лампи зеленого" -#: ../backend/plustek.c:1065 +#: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" msgstr "Вимикання лампи синього" -#: ../backend/plustek.c:1066 +#: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" msgstr "Визначає параметр вимикання лампи синього" -#: ../backend/plustek.c:1096 +#: backend/plustek.c:1096 #, no-c-format msgid "This option reflects the status of the scanner buttons." msgstr "Цей параметр відповідає стану кнопок сканера." -#: ../backend/plustek_pp.c:197 +#: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" msgstr "Кольоровий 36" -#: ../backend/plustek_pp.c:211 +#: backend/plustek_pp.c:211 #, no-c-format msgid "Dithermap 1" msgstr "Карта дизерингу 1" -#: ../backend/plustek_pp.c:212 +#: backend/plustek_pp.c:212 #, no-c-format msgid "Dithermap 2" msgstr "Карта дизерингу 2" -#: ../backend/plustek_pp.c:213 +#: backend/plustek_pp.c:213 #, no-c-format msgid "Randomize" msgstr "Випадково" -#: ../backend/pnm.c:168 +#: backend/pnm.c:168 #, no-c-format msgid "Source Selection" msgstr "Вибір джерела" -#: ../backend/pnm.c:205 +#: backend/pnm.c:205 #, no-c-format msgid "Image Enhancement" msgstr "Покращення зображення" -#: ../backend/pnm.c:241 +#: backend/pnm.c:241 #, no-c-format msgid "Grayify" msgstr "Зробити чорно-білим" -#: ../backend/pnm.c:242 +#: backend/pnm.c:242 #, no-c-format msgid "Load the image as grayscale." msgstr "Завантажити зображення як чорно-біле" -#: ../backend/pnm.c:253 +#: backend/pnm.c:253 #, no-c-format msgid "Three-Pass Simulation" msgstr "Імітація режиму трьох проходів" -#: ../backend/pnm.c:255 +#: backend/pnm.c:255 #, no-c-format msgid "" "Simulate a three-pass scanner by returning 3 separate frames. For " @@ -4796,12 +5550,12 @@ msgstr "" "Імітувати сканування у три проходи поверненням 3 окремих кадрів. Буде " "повернено кадри для зеленого, синього, а потім червоного кольору." -#: ../backend/pnm.c:267 +#: backend/pnm.c:267 #, no-c-format msgid "Hand-Scanner Simulation" msgstr "Імітація ручного сканера" -#: ../backend/pnm.c:268 +#: backend/pnm.c:268 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners often do not know the image " @@ -4813,7 +5567,7 @@ msgstr "" "Встановлення цього параметра надає змогу перевірити, чи може оболонка " "правильно обробити такі дані." -#: ../backend/pnm.c:283 +#: backend/pnm.c:283 #, no-c-format msgid "" "Set default values for enhancement controls (brightness & contrast)." @@ -4821,42 +5575,42 @@ msgstr "" "Встановити типові значення керування покращенням (яскравістю і " "контрастністю)." -#: ../backend/pnm.c:295 +#: backend/pnm.c:295 #, no-c-format msgid "Read only test-option" msgstr "Тестовий параметр лише для читання" -#: ../backend/pnm.c:296 +#: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" msgstr "Давайте переконаємося у правильності обробки даних оболонкою" -#: ../backend/pnm.c:307 +#: backend/pnm.c:307 #, no-c-format msgid "Gamma Tables" msgstr "Таблиці гамми" -#: ../backend/pnm.c:379 +#: backend/pnm.c:379 #, no-c-format msgid "Status Code Simulation" msgstr "Імітація коду стану" -#: ../backend/pnm.c:391 +#: backend/pnm.c:391 #, no-c-format msgid "Do not force status code" msgstr "Не встановлювати код стану примусово" -#: ../backend/pnm.c:392 +#: backend/pnm.c:392 #, no-c-format msgid "Do not force the backend to return a status code." msgstr "Не примушувати інструмент обробки повертати код стану." -#: ../backend/pnm.c:403 +#: backend/pnm.c:403 #, no-c-format msgid "Return SANE_STATUS_EOF" msgstr "Повернути SANE_STATUS_EOF" -#: ../backend/pnm.c:404 +#: backend/pnm.c:404 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " @@ -4865,12 +5619,12 @@ msgstr "" "Наказати серверу повертати код стану SANE_STATUS_EOF після виклику " "sane_read()." -#: ../backend/pnm.c:416 +#: backend/pnm.c:416 #, no-c-format msgid "Return SANE_STATUS_JAMMED" msgstr "Повернути SANE_STATUS_JAMMED" -#: ../backend/pnm.c:418 +#: backend/pnm.c:418 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " @@ -4879,12 +5633,12 @@ msgstr "" "Наказати серверу повертати код стану SANE_STATUS_JAMMED після виклику " "sane_read()." -#: ../backend/pnm.c:430 +#: backend/pnm.c:430 #, no-c-format msgid "Return SANE_STATUS_NO_DOCS" msgstr "Повернути SANE_STATUS_NO_DOCS" -#: ../backend/pnm.c:431 +#: backend/pnm.c:431 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " @@ -4893,12 +5647,12 @@ msgstr "" "Наказати серверу повертати код стану SANE_STATUS_NO_DOCS після виклику " "sane_read()." -#: ../backend/pnm.c:443 +#: backend/pnm.c:443 #, no-c-format msgid "Return SANE_STATUS_COVER_OPEN" msgstr "Повернути SANE_STATUS_COVER_OPEN" -#: ../backend/pnm.c:444 +#: backend/pnm.c:444 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " @@ -4907,12 +5661,12 @@ msgstr "" "Наказати серверу повертати код стану SANE_STATUS_COVER_OPEN після " "виклику sane_read()." -#: ../backend/pnm.c:456 +#: backend/pnm.c:456 #, no-c-format msgid "Return SANE_STATUS_IO_ERROR" msgstr "Повернути SANE_STATUS_IO_ERROR" -#: ../backend/pnm.c:457 +#: backend/pnm.c:457 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " @@ -4921,12 +5675,12 @@ msgstr "" "Наказати серверу повертати код стану SANE_STATUS_IO_ERROR після виклику " "sane_read()." -#: ../backend/pnm.c:469 +#: backend/pnm.c:469 #, no-c-format msgid "Return SANE_STATUS_NO_MEM" msgstr "Повернути SANE_STATUS_NO_MEM" -#: ../backend/pnm.c:471 +#: backend/pnm.c:471 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " @@ -4935,12 +5689,12 @@ msgstr "" "Наказати серверу повертати код стану SANE_STATUS_NO_MEM після виклику " "sane_read()." -#: ../backend/pnm.c:483 +#: backend/pnm.c:483 #, no-c-format msgid "Return SANE_STATUS_ACCESS_DENIED" msgstr "Повернути SANE_STATUS_ACCESS_DENIED" -#: ../backend/pnm.c:484 +#: backend/pnm.c:484 #, no-c-format msgid "" "Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " @@ -4949,86 +5703,83 @@ msgstr "" "Наказати серверу повертати код стану SANE_STATUS_ACCESS_DENIED після " "виклику sane_read()." -#: ../backend/rts8891.c:2809 +#: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "Цей пункт відповідає стану кнопки сканування." -#: ../backend/rts8891.c:2840 ../backend/umax.c:5795 -#: ../backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format msgid "Lamp on" msgstr "Увімкнути лампу" -#: ../backend/rts8891.c:2841 ../backend/umax.c:5796 +#: backend/rts8891.c:2841 backend/umax.c:5796 #, no-c-format msgid "Turn on scanner lamp" msgstr "Увімкнути лампу сканера" -#: ../backend/rts8891.c:2851 ../backend/umax1220u.c:248 -#: ../backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 #, no-c-format msgid "Lamp off" msgstr "Вимкнути лампу" -#: ../backend/rts8891.c:2852 ../backend/umax1220u.c:249 -#: ../backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 #, no-c-format msgid "Turn off scanner lamp" msgstr "Вимкнути лампу сканера" -#: ../backend/sm3840.c:760 +#: backend/sm3840.c:760 #, no-c-format msgid "Lamp timeout" msgstr "Час очікування лампи" -#: ../backend/sm3840.c:762 +#: backend/sm3840.c:762 #, no-c-format msgid "Minutes until lamp is turned off after scan" msgstr "" "Кількість хвилин, за які лампу буде вимкнено після виконання сканування" -#: ../backend/sm3840.c:772 +#: backend/sm3840.c:772 #, no-c-format msgid "Threshold value for lineart mode" msgstr "Порогове значення для штрихового режиму" -#: ../backend/snapscan-options.c:88 +#: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" msgstr "Подача документів" -#: ../backend/snapscan-options.c:92 +#: backend/snapscan-options.c:92 #, no-c-format msgid "6x4 (inch)" msgstr "6x4 (дюймів)" -#: ../backend/snapscan-options.c:93 +#: backend/snapscan-options.c:93 #, no-c-format msgid "8x10 (inch)" msgstr "8x10 (дюймів)" -#: ../backend/snapscan-options.c:94 +#: backend/snapscan-options.c:94 #, no-c-format msgid "8.5x11 (inch)" msgstr "8.5x11 (дюймів)" -#: ../backend/snapscan-options.c:97 +#: backend/snapscan-options.c:97 #, no-c-format msgid "Halftoning Unsupported" msgstr "Напівтонове сканування не підтримується" -#: ../backend/snapscan-options.c:98 +#: backend/snapscan-options.c:98 #, no-c-format msgid "DispersedDot8x8" msgstr "DispersedDot8x8" -#: ../backend/snapscan-options.c:99 +#: backend/snapscan-options.c:99 #, no-c-format msgid "DispersedDot16x16" msgstr "DispersedDot16x16" -#: ../backend/snapscan-options.c:103 +#: backend/snapscan-options.c:103 #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " @@ -5044,27 +5795,27 @@ msgstr "" "Якщо ж значення буде завеликим, засновані на сервері X оболонки не " "відповідатимуть на події X, а система значно уповільниться." -#: ../backend/snapscan-options.c:111 +#: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." msgstr "Кількість кадрів на шаблоні, який має бути скановано." -#: ../backend/snapscan-options.c:114 +#: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." msgstr "Використовувати ручний або автоматичний вибір точки фокусування." -#: ../backend/snapscan-options.c:117 +#: backend/snapscan-options.c:117 #, no-c-format msgid "Focus point for scanning." msgstr "Точка фокусування для сканування." -#: ../backend/snapscan-options.c:482 +#: backend/snapscan-options.c:482 #, no-c-format msgid "Preview mode" msgstr "Режим попереднього перегляду" -#: ../backend/snapscan-options.c:484 +#: backend/snapscan-options.c:484 #, no-c-format msgid "" "Select the mode for previews. Greyscale previews usually give the best " @@ -5073,12 +5824,12 @@ msgstr "" "Оберіть режим попереднього перегляду. Чорно-білий режим, зазвичай, дає " "найкращу комбінацію швидкості і деталізації." -#: ../backend/snapscan-options.c:601 +#: backend/snapscan-options.c:601 #, no-c-format msgid "Predefined settings" msgstr "Попередньо визначені параметри" -#: ../backend/snapscan-options.c:603 +#: backend/snapscan-options.c:603 #, no-c-format msgid "" "Provides standard scanning areas for photographs, printed pages and the " @@ -5087,97 +5838,97 @@ msgstr "" "Визначає стандартні області сканування для фотографій, друкованих " "сторінок та подібних документів." -#: ../backend/snapscan-options.c:884 +#: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" msgstr "Кадр" -#: ../backend/snapscan-options.c:885 +#: backend/snapscan-options.c:885 #, no-c-format msgid "Frame to be scanned" msgstr "Кадр, який буде скановано" -#: ../backend/snapscan-options.c:897 +#: backend/snapscan-options.c:897 #, no-c-format msgid "Focus-mode" msgstr "Режим фокусування" -#: ../backend/snapscan-options.c:898 +#: backend/snapscan-options.c:898 #, no-c-format msgid "Auto or manual focus" msgstr "Автоматичне або ручне фокусування" -#: ../backend/snapscan-options.c:911 +#: backend/snapscan-options.c:911 #, no-c-format msgid "Focus-point" msgstr "Точка фокусування" -#: ../backend/snapscan-options.c:912 +#: backend/snapscan-options.c:912 #, no-c-format msgid "Focus point" msgstr "Точка фокусування" -#: ../backend/snapscan-options.c:930 +#: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Кольорових ліній на сеанс читання" -#: ../backend/snapscan-options.c:942 +#: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" msgstr "Чорно-білих ліній на сеанс читання" -#: ../backend/stv680.c:974 +#: backend/stv680.c:974 #, no-c-format msgid "webcam" msgstr "Веб-камера" -#: ../backend/stv680.h:115 +#: backend/stv680.h:115 #, no-c-format msgid "Color RAW" msgstr "Кольоровий RAW" -#: ../backend/stv680.h:116 +#: backend/stv680.h:116 #, no-c-format msgid "Color RGB" msgstr "Кольоровий RGB" -#: ../backend/stv680.h:117 +#: backend/stv680.h:117 #, no-c-format msgid "Color RGB TEXT" msgstr "Кольоровий RGB TEXT" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid black" msgstr "Суцільний чорний" -#: ../backend/test.c:137 +#: backend/test.c:137 #, no-c-format msgid "Solid white" msgstr "Суцільний білий" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Color pattern" msgstr "Кольоровий візерунок" -#: ../backend/test.c:138 +#: backend/test.c:138 #, no-c-format msgid "Grid" msgstr "Ґратка" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "First entry" msgstr "Перший запис" -#: ../backend/test.c:163 ../backend/test.c:171 +#: backend/test.c:163 backend/test.c:171 #, no-c-format msgid "Second entry" msgstr "Другий запис" -#: ../backend/test.c:165 +#: backend/test.c:165 #, no-c-format msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " @@ -5185,12 +5936,12 @@ msgid "" msgstr "" "Третій запис є затримується. Можливо, оболонка не може його показати." -#: ../backend/test.c:348 +#: backend/test.c:348 #, no-c-format msgid "Hand-scanner simulation" msgstr "Імітація ручного сканера" -#: ../backend/test.c:349 +#: backend/test.c:349 #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " @@ -5204,12 +5955,12 @@ msgstr "" "правильно обробити такі дані. Позначення цього пункту також увімкне " "фіксовану ширину у 11 см." -#: ../backend/test.c:366 +#: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" msgstr "Імітація режиму трьох проходів" -#: ../backend/test.c:367 +#: backend/test.c:367 #, no-c-format msgid "" "Simulate a three-pass scanner. In color mode, three frames are " @@ -5218,17 +5969,17 @@ msgstr "" "Імітувати сканування з трьома проходами. У кольоровому режимі буде " "повернуто три кадри." -#: ../backend/test.c:382 +#: backend/test.c:382 #, no-c-format msgid "Set the order of frames" msgstr "Визначити порядок кадрів" -#: ../backend/test.c:383 +#: backend/test.c:383 #, no-c-format msgid "Set the order of frames in three-pass color mode." msgstr "Визначити порядок кадрів у кольоровому режимі трьох проходів." -#: ../backend/test.c:416 +#: backend/test.c:416 #, no-c-format msgid "" "If Automatic Document Feeder is selected, the feeder will be 'empty' " @@ -5237,17 +5988,17 @@ msgstr "" "Якщо обрано режим автоматичної подачі документів, пристрій подачі буде " "«спорожнено» після 10 сканувань." -#: ../backend/test.c:431 +#: backend/test.c:431 #, no-c-format msgid "Special Options" msgstr "Особливі параметри" -#: ../backend/test.c:444 +#: backend/test.c:444 #, no-c-format msgid "Select the test picture" msgstr "Оберіть тестове зображення" -#: ../backend/test.c:446 +#: backend/test.c:446 #, no-c-format msgid "" "Select the kind of test picture. Available options:\n" @@ -5264,12 +6015,12 @@ msgstr "" "від режиму.\n" "Ґратка: намалює чорно-білу ґратку з шириною і висотою 10 мм на квадрат." -#: ../backend/test.c:467 +#: backend/test.c:467 #, no-c-format msgid "Invert endianness" msgstr "Інвертувати порядок байтів" -#: ../backend/test.c:468 +#: backend/test.c:468 #, no-c-format msgid "" "Exchange upper and lower byte of image data in 16 bit modes. This option " @@ -5281,23 +6032,23 @@ msgstr "" "режимів оболонок, наприклад, перевірки правильності порядку байтів у " "оболонці." -#: ../backend/test.c:484 +#: backend/test.c:484 #, no-c-format msgid "Read limit" msgstr "Границя читання" -#: ../backend/test.c:485 +#: backend/test.c:485 #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" "Обмежити об’єм даних, що передаються під час кожного виклику sane_read()." -#: ../backend/test.c:498 +#: backend/test.c:498 #, no-c-format msgid "Size of read-limit" msgstr "Розмір границі читання" -#: ../backend/test.c:499 +#: backend/test.c:499 #, no-c-format msgid "" "The (maximum) amount of data transferred with each call to sane_read()." @@ -5305,33 +6056,33 @@ msgstr "" "Об’єм (максимальний) даних, які буде передано під час кожного з викликів " "sane_read()." -#: ../backend/test.c:514 +#: backend/test.c:514 #, no-c-format msgid "Read delay" msgstr "Затримка читання" -#: ../backend/test.c:515 +#: backend/test.c:515 #, no-c-format msgid "Delay the transfer of data to the pipe." msgstr "Затримка передавання даних до каналу." -#: ../backend/test.c:527 +#: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" msgstr "Тривалість затримки читання" -#: ../backend/test.c:528 +#: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "Час очікування після передавання кожного з буферів даних каналом." -#: ../backend/test.c:543 +#: backend/test.c:543 #, no-c-format msgid "Return-value of sane_read" msgstr "Повернуте значення sane_read" -#: ../backend/test.c:545 +#: backend/test.c:545 #, no-c-format msgid "" "Select the return-value of sane_read(). \"Default\" is the normal " @@ -5342,22 +6093,22 @@ msgstr "" "обробку сканування. Всі інші коди стану призначено для перевірки " "способів їх обробки оболонкою." -#: ../backend/test.c:562 +#: backend/test.c:562 #, no-c-format msgid "Loss of pixels per line" msgstr "Втрата точок на лінію" -#: ../backend/test.c:564 +#: backend/test.c:564 #, no-c-format msgid "The number of pixels that are wasted at the end of each line." msgstr "Кількість точок, які було втрачено наприкінці кожної з ліній." -#: ../backend/test.c:577 +#: backend/test.c:577 #, no-c-format msgid "Fuzzy parameters" msgstr "Параметри нечіткості" -#: ../backend/test.c:578 +#: backend/test.c:578 #, no-c-format msgid "" "Return fuzzy lines and bytes per line when sane_parameters() is called " @@ -5366,24 +6117,24 @@ msgstr "" "Кількість повернутих неточних рядків і байтів, якщо sane_parameters() " "викликається до sane_start()." -#: ../backend/test.c:591 +#: backend/test.c:591 #, no-c-format msgid "Use non-blocking IO" msgstr "Використовувати ввід-вивід без блокування" -#: ../backend/test.c:592 +#: backend/test.c:592 #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" "Використовувати режим вводу-виводу без блокування для sane_read(), якщо " "підтримується оболонкою." -#: ../backend/test.c:605 +#: backend/test.c:605 #, no-c-format msgid "Offer select file descriptor" msgstr "Пропонувати обрати дескриптор файла" -#: ../backend/test.c:606 +#: backend/test.c:606 #, no-c-format msgid "" "Offer a select filedescriptor for detecting if sane_read() will return " @@ -5392,12 +6143,12 @@ msgstr "" "Пропонувати обрати дескриптор файла для визначення того, чи повертатиме " "sane_read() дані." -#: ../backend/test.c:619 +#: backend/test.c:619 #, no-c-format msgid "Enable test options" msgstr "Увімкнути параметри перевірки" -#: ../backend/test.c:620 +#: backend/test.c:620 #, no-c-format msgid "" "Enable various test options. This is for testing the ability of " @@ -5406,27 +6157,27 @@ msgstr "" "Увімкнути різноманітні параметри перевірки. Призначено для перевірки " "можливостей оболонки переглядати і змінювати всі параметри SANE." -#: ../backend/test.c:634 +#: backend/test.c:634 #, no-c-format msgid "Print options" msgstr "Параметри друку" -#: ../backend/test.c:635 +#: backend/test.c:635 #, no-c-format msgid "Print a list of all options." msgstr "Надрукувати список всіх параметрів." -#: ../backend/test.c:712 +#: backend/test.c:712 #, no-c-format msgid "Bool test options" msgstr "Двійкові параметри перевірки" -#: ../backend/test.c:725 +#: backend/test.c:725 #, no-c-format msgid "(1/6) Bool soft select soft detect" msgstr "(1/6) Булевий програмний вибір програмне визначення" -#: ../backend/test.c:727 +#: backend/test.c:727 #, no-c-format msgid "" "(1/6) Bool test option that has soft select and soft detect (and " @@ -5436,12 +6187,12 @@ msgstr "" "програмного вибору і програмного визначення (та додаткових). Це " "звичайний булевий параметр." -#: ../backend/test.c:743 +#: backend/test.c:743 #, no-c-format msgid "(2/6) Bool hard select soft detect" msgstr "(2/6) Булевий апаратний вибір програмне визначення" -#: ../backend/test.c:745 +#: backend/test.c:745 #, no-c-format msgid "" "(2/6) Bool test option that has hard select and soft detect (and " @@ -5453,12 +6204,12 @@ msgstr "" "що параметр не може бути встановлено оболонкою, лише користувачем " "(наприклад, натисканням кнопки на пристрої)." -#: ../backend/test.c:762 +#: backend/test.c:762 #, no-c-format msgid "(3/6) Bool hard select" msgstr "(3/6) Булевий апаратний вибір" -#: ../backend/test.c:763 +#: backend/test.c:763 #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " @@ -5470,12 +6221,12 @@ msgstr "" "встановлено оболонкою, лише користувачем (наприклад, натисканням кнопки " "на пристрої), оболонка не може читати дані за такої конфігурації." -#: ../backend/test.c:781 +#: backend/test.c:781 #, no-c-format msgid "(4/6) Bool soft detect" msgstr "(4/6) М’яке булівське виявлення" -#: ../backend/test.c:782 +#: backend/test.c:782 #, no-c-format msgid "" "(4/6) Bool test option that has soft detect (and advanced) capabilities. " @@ -5485,12 +6236,12 @@ msgstr "" "програмного визначення (та додаткових). Це означає, що параметр " "призначено лише для читання." -#: ../backend/test.c:798 +#: backend/test.c:798 #, no-c-format msgid "(5/6) Bool soft select soft detect emulated" msgstr "(5/6) Булева емуляція програмного вибору і програмного визначення" -#: ../backend/test.c:799 +#: backend/test.c:799 #, no-c-format msgid "" "(5/6) Bool test option that has soft select, soft detect, and emulated " @@ -5499,12 +6250,12 @@ msgstr "" "(5/6) Булевий параметр перевірки, який визначає наявність можливостей " "програмного вибору, програмного визначення та емуляції (та додаткових)." -#: ../backend/test.c:815 +#: backend/test.c:815 #, no-c-format msgid "(6/6) Bool soft select soft detect auto" msgstr "(6/6) Булевий автоматичний програмний вибір, програмне визначення" -#: ../backend/test.c:816 +#: backend/test.c:816 #, no-c-format msgid "" "(6/6) Bool test option that has soft select, soft detect, and automatic " @@ -5516,29 +6267,29 @@ msgstr "" "додаткових) можливостей. Цей параметри може автоматично встановлюватися " "сервером." -#: ../backend/test.c:833 +#: backend/test.c:833 #, no-c-format msgid "Int test options" msgstr "Цілочисельні параметри перевірки" -#: ../backend/test.c:846 +#: backend/test.c:846 #, no-c-format msgid "(1/6) Int" msgstr "(1/6) Цілочисельний" -#: ../backend/test.c:847 +#: backend/test.c:847 #, no-c-format msgid "(1/6) Int test option with no unit and no constraint set." msgstr "" "(1/6) Цілочисельний параметр перевірки без одиниці виміру і набору " "обмежень." -#: ../backend/test.c:862 +#: backend/test.c:862 #, no-c-format msgid "(2/6) Int constraint range" msgstr "(2/6) Цілочисельний діапазон обмеження" -#: ../backend/test.c:863 +#: backend/test.c:863 #, no-c-format msgid "" "(2/6) Int test option with unit pixel and constraint range set. Minimum " @@ -5548,24 +6299,24 @@ msgstr "" "обмежень. Мінімальним значенням може бути 4, максимальним — 192, крок — " "2." -#: ../backend/test.c:879 +#: backend/test.c:879 #, no-c-format msgid "(3/6) Int constraint word list" msgstr "(3/6) Цілочисельний список обмежень слів" -#: ../backend/test.c:880 +#: backend/test.c:880 #, no-c-format msgid "(3/6) Int test option with unit bits and constraint word list set." msgstr "" "(3/6) Цілочисельний параметр перевірки з одиницею виміру біт і набором " "обмежень списку слів." -#: ../backend/test.c:895 +#: backend/test.c:895 #, no-c-format msgid "(4/6) Int array" msgstr "(4/6) Цілочисельний масив" -#: ../backend/test.c:896 +#: backend/test.c:896 #, no-c-format msgid "" "(4/6) Int test option with unit mm and using an array without " @@ -5574,12 +6325,12 @@ msgstr "" "(4/6) Цілочисельний параметр перевірки з одиницею виміру міліметри і " "використанням масиву без обмежень." -#: ../backend/test.c:911 +#: backend/test.c:911 #, no-c-format msgid "(5/6) Int array constraint range" msgstr "(2/6) Цілочисельний масив з діапазоном обмеження" -#: ../backend/test.c:912 +#: backend/test.c:912 #, no-c-format msgid "" "(5/6) Int test option with unit dpi and using an array with a range " @@ -5589,12 +6340,12 @@ msgstr "" "використанням масиву обмежень діапазону. Мінімальним значенням може бути " "4, максимальним — 192, крок — 2." -#: ../backend/test.c:929 +#: backend/test.c:929 #, no-c-format msgid "(6/6) Int array constraint word list" msgstr "(6/6) Цілочисельний масив зі списком обмежень слів" -#: ../backend/test.c:930 +#: backend/test.c:930 #, no-c-format msgid "" "(6/6) Int test option with unit percent and using an array with a word " @@ -5603,29 +6354,29 @@ msgstr "" "(6/6) Цілочисельний параметр з розмірністю у відсотках з використанням " "масиву обмежень списку слів." -#: ../backend/test.c:946 +#: backend/test.c:946 #, no-c-format msgid "Fixed test options" msgstr "Дробовочислові параметри перевірки" -#: ../backend/test.c:959 +#: backend/test.c:959 #, no-c-format msgid "(1/3) Fixed" msgstr "(1/3) Дробовочисловий" -#: ../backend/test.c:960 +#: backend/test.c:960 #, no-c-format msgid "(1/3) Fixed test option with no unit and no constraint set." msgstr "" "(1/3) Дробовочисловий параметр перевірки без одиниці виміру і без набору " "обмежень." -#: ../backend/test.c:975 +#: backend/test.c:975 #, no-c-format msgid "(2/3) Fixed constraint range" msgstr "(2/3) Фіксований обмежений діапазон" -#: ../backend/test.c:976 +#: backend/test.c:976 #, no-c-format msgid "" "(2/3) Fixed test option with unit microsecond and constraint range set. " @@ -5635,49 +6386,49 @@ msgstr "" "обмежень. Мінімальним значенням може бути -42.17, максимальним — " "32767.9999, крок — 2.0." -#: ../backend/test.c:992 +#: backend/test.c:992 #, no-c-format msgid "(3/3) Fixed constraint word list" msgstr "(3/3) Фіксований обмежений список слів" -#: ../backend/test.c:993 +#: backend/test.c:993 #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" "(3/3) Дробовочисловий параметр перевірки без одиниці виміру і набором " "обмежень списку слів." -#: ../backend/test.c:1008 +#: backend/test.c:1008 #, no-c-format msgid "String test options" msgstr "Рядкові параметри перевірки" -#: ../backend/test.c:1021 +#: backend/test.c:1021 #, no-c-format msgid "(1/3) String" msgstr "(1/3) Рядок" -#: ../backend/test.c:1022 +#: backend/test.c:1022 #, no-c-format msgid "(1/3) String test option without constraint." msgstr "(1/3) Варіант перевірки рядків без обмежень." -#: ../backend/test.c:1039 +#: backend/test.c:1039 #, no-c-format msgid "(2/3) String constraint string list" msgstr "(2/3) Рядкова з обмеженим списком рядків" -#: ../backend/test.c:1040 +#: backend/test.c:1040 #, no-c-format msgid "(2/3) String test option with string list constraint." msgstr "(2/3) Варіант перевірки рядків з обмеженням на список рядків." -#: ../backend/test.c:1059 +#: backend/test.c:1059 #, no-c-format msgid "(3/3) String constraint long string list" msgstr "(3/3) Рядкова з обмеженим довгим списком рядків" -#: ../backend/test.c:1060 +#: backend/test.c:1060 #, no-c-format msgid "" "(3/3) String test option with string list constraint. Contains some more " @@ -5686,155 +6437,159 @@ msgstr "" "(3/3) Варіант перевірки рядків з обмеженням на список рядків. Містить " "дещо більше записів..." -#: ../backend/test.c:1080 +#: backend/test.c:1080 #, no-c-format msgid "Button test options" msgstr "Параметри перевірки кнопок" -#: ../backend/test.c:1093 +#: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" msgstr "(1/1) Кнопка" -#: ../backend/test.c:1094 +#: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." msgstr "(1/1) Варіант перевірки кнопок. Друкує текст..." -#: ../backend/u12.c:149 +#: backend/u12.c:149 #, no-c-format msgid "Color 36" msgstr "Кольоровий 36" -#: ../backend/umax.c:235 +#: backend/umax.c:235 #, no-c-format msgid "Use Image Composition" msgstr "Використовувати компонування зображення" -#: ../backend/umax.c:236 +#: backend/umax.c:236 #, no-c-format msgid "Bi-level black and white (lineart mode)" msgstr "Дворівневий чорно-білий (штриховий режим)" -#: ../backend/umax.c:237 +#: backend/umax.c:237 #, no-c-format msgid "Dithered/halftone black & white (halftone mode)" msgstr "Дизеринг/Напівтони чорно-білого (напівтоновий режим)" -#: ../backend/umax.c:238 +#: backend/umax.c:238 #, no-c-format msgid "Multi-level black & white (grayscale mode)" msgstr "Багаторівневий чорно-білий (режим відтінків сірого)" -#: ../backend/umax.c:239 +#: backend/umax.c:239 #, no-c-format msgid "Multi-level RGB color (one pass color)" msgstr "Багаторівневий колір RGB (колір з одним проходом)" -#: ../backend/umax.c:240 +#: backend/umax.c:240 #, no-c-format msgid "Ignore calibration" msgstr "Ігнорувати калібрування" -#: ../backend/umax.c:5733 +#: backend/umax.c:5733 #, no-c-format msgid "Disable pre focus" msgstr "Вимкнути попереднє фокусування" -#: ../backend/umax.c:5734 +#: backend/umax.c:5734 #, no-c-format msgid "Do not calibrate focus" msgstr "Не калібрувати фокусування" -#: ../backend/umax.c:5745 +#: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" msgstr "Попереднє фокусування вручну" -#: ../backend/umax.c:5757 +#: backend/umax.c:5757 #, no-c-format msgid "Fix focus position" msgstr "Зафіксувати позицію фокусування" -#: ../backend/umax.c:5769 +#: backend/umax.c:5769 #, no-c-format msgid "Lens calibration in doc position" msgstr "Калібрування лінз у області документа" -#: ../backend/umax.c:5770 +#: backend/umax.c:5770 #, no-c-format msgid "Calibrate lens focus in document position" msgstr "Калібрувати фокусування лінз у області документа" -#: ../backend/umax.c:5781 +#: backend/umax.c:5781 #, no-c-format msgid "Holder focus position 0mm" msgstr "Позиція фокусування держака 0 мм" -#: ../backend/umax.c:5782 +#: backend/umax.c:5782 #, no-c-format msgid "Use 0mm holder focus position instead of 0.6mm" msgstr "Позиція фокусування держака 0 мм замість 0,6 мм" -#: ../backend/umax.c:5885 +#: backend/umax.c:5885 #, no-c-format msgid "Calibration mode" msgstr "Режим калібрування" -#: ../backend/umax.c:5886 +#: backend/umax.c:5886 #, no-c-format msgid "Define calibration mode" msgstr "Визначає режим калібрування" -#: ../backend/umax_pp.c:640 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets lamp on/off" msgstr "Визначає стан вмикання/вимикання лампи" -#: ../backend/umax_pp.c:649 +#: backend/umax_pp.c:649 #, no-c-format msgid "UTA on" msgstr "Увімкнути UTA" -#: ../backend/umax_pp.c:650 +#: backend/umax_pp.c:650 #, no-c-format msgid "Sets UTA on/off" msgstr "Увімкнути/Вимкнути UTA" -#: ../backend/umax_pp.c:771 +#: backend/umax_pp.c:771 #, no-c-format msgid "Offset" msgstr "Зсув" -#: ../backend/umax_pp.c:773 +#: backend/umax_pp.c:773 #, no-c-format msgid "Color channels offset settings" msgstr "Параметри зсуву каналів кольорів" -#: ../backend/umax_pp.c:780 +#: backend/umax_pp.c:780 #, no-c-format msgid "Gray offset" msgstr "Зсув сірого" -#: ../backend/umax_pp.c:781 +#: backend/umax_pp.c:781 #, no-c-format msgid "Sets gray channel offset" msgstr "Визначає зсув каналу сірого" -#: ../backend/umax_pp.c:793 +#: backend/umax_pp.c:793 #, no-c-format msgid "Sets red channel offset" msgstr "Визначає зсув каналу червоного" -#: ../backend/umax_pp.c:805 +#: backend/umax_pp.c:805 #, no-c-format msgid "Sets green channel offset" msgstr "Визначає зсув каналу зеленого" -#: ../backend/umax_pp.c:817 +#: backend/umax_pp.c:817 #, no-c-format msgid "Sets blue channel offset" msgstr "Визначає зсув каналу синього" +#, fuzzy +#~ msgid "IPC mode" +#~ msgstr "Режим попереднього перегляду" + #~ msgid "problem not analyzed (unknown SCSI class)" #~ msgstr "Проблема не піддається аналізу (невідомий клас SCSI)" diff --git a/sanei/Makefile.am b/sanei/Makefile.am index c1106ae..a197343 100644 --- a/sanei/Makefile.am +++ b/sanei/Makefile.am @@ -4,8 +4,8 @@ ## This file is part of the "Sane" build infra-structure. See ## included LICENSE file for license information. -AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include \ - -I$(top_srcdir)/include +AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include \ + -I$(top_srcdir)/include $(USB_CFLAGS) noinst_LTLIBRARIES = libsanei.la diff --git a/sanei/Makefile.in b/sanei/Makefile.in index 1fba44d..c6fa654 100644 --- a/sanei/Makefile.in +++ b/sanei/Makefile.in @@ -83,11 +83,16 @@ subdir = sanei DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ltoptions.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/byteorder.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/configure.in + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -180,7 +185,11 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ +AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(srcdir) -I$(top_builddir)/include \ + -I$(top_srcdir)/include $(USB_CFLAGS) AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -201,7 +210,7 @@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISTCLEAN_FILES = @DISTCLEAN_FILES@ +DLH = @DLH@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DSYMUTIL = @DSYMUTIL@ @@ -214,34 +223,42 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIG2DEV = @FIG2DEV@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GREP = @GREP@ +GS = @GS@ HAVE_GPHOTO2 = @HAVE_GPHOTO2@ IEEE1284_LIBS = @IEEE1284_LIBS@ -INCLUDES = @INCLUDES@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JPEG_LIBS = @JPEG_LIBS@ LATEX = @LATEX@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LIBUSB_1_0_CFLAGS = @LIBUSB_1_0_CFLAGS@ -LIBUSB_1_0_LIBS = @LIBUSB_1_0_LIBS@ LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ LIBV4L_LIBS = @LIBV4L_LIBS@ -LINKER_RPATH = @LINKER_RPATH@ LIPO = @LIPO@ LN_S = @LN_S@ LOCKPATH_GROUP = @LOCKPATH_GROUP@ +LTALLOCA = @LTALLOCA@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINDEX = @MAKEINDEX@ @@ -250,10 +267,10 @@ MANIFEST_TOOL = @MANIFEST_TOOL@ MATH_LIB = @MATH_LIB@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ @@ -266,10 +283,13 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_LIBS = @PNG_LIBS@ +POSUB = @POSUB@ +PPMTOGIF = @PPMTOGIF@ PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -291,12 +311,16 @@ SYSLOG_LIBS = @SYSLOG_LIBS@ SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ SYSTEMD_LIBS = @SYSTEMD_LIBS@ TIFF_LIBS = @TIFF_LIBS@ +USB_CFLAGS = @USB_CFLAGS@ USB_LIBS = @USB_LIBS@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ V_MAJOR = @V_MAJOR@ V_MINOR = @V_MINOR@ V_REV = @V_REV@ XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -352,9 +376,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include \ - -I$(top_srcdir)/include - noinst_LTLIBRARIES = libsanei.la libsanei_la_SOURCES = sanei_ab306.c sanei_constrain_value.c \ sanei_init_debug.c sanei_net.c sanei_wire.c \ @@ -445,22 +466,25 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_wire.Plo@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< diff --git a/sanei/sanei_DomainOS.c b/sanei/sanei_DomainOS.c old mode 100755 new mode 100644 diff --git a/sanei/sanei_DomainOS.h b/sanei/sanei_DomainOS.h old mode 100755 new mode 100644 diff --git a/sanei/sanei_ab306.c b/sanei/sanei_ab306.c index c663d38..898acf6 100644 --- a/sanei/sanei_ab306.c +++ b/sanei/sanei_ab306.c @@ -81,7 +81,7 @@ inb (u_long port) #include "../include/sane/sanei.h" #include "../include/sane/sanei_ab306.h" -#if (defined(HAVE_IOPERM) || defined(__FreeBSD__)) && !defined(IO_SUPPORT_MISSING) +#if (defined(HAVE_IOPERM) || defined(__FreeBSD__) || defined(__DragonFly__)) && !defined(IO_SUPPORT_MISSING) #include #include @@ -102,7 +102,7 @@ inb (u_long port) #define PORT_DEV "/dev/port" #define AB306_CIO 0x379 /* control i/o port */ -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined(__DragonFly__) static int dev_io_fd = 0; #endif @@ -290,7 +290,7 @@ sanei_ab306_open (const char *dev, int *fdp) status = sanei_ab306_get_io_privilege (i); -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined(__DragonFly__) status = sanei_ab306_get_io_privilege (i); if (status != SANE_STATUS_GOOD) return status; @@ -369,7 +369,7 @@ sanei_ab306_get_io_privilege (int fd) { if (port[fd].port_fd < 0) { -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined(__DragonFly__) if (dev_io_fd == 0) dev_io_fd = open ("/dev/io", O_RDONLY); if (dev_io_fd < 0) @@ -461,7 +461,6 @@ sanei_ab306_rdata (int fd, int planes, SANE_Byte * buf, int lines, int bpl) { Port *p = port + fd; int lcnt, pcnt, bcnt, xmax; - SANE_Byte *lsave_bp; int nstat; DBG(2, "sanei_ab306_rdata: start\n"); @@ -471,7 +470,6 @@ sanei_ab306_rdata (int fd, int planes, SANE_Byte * buf, int lines, int bpl) /* the lines-loop: */ for (lcnt = 0; lcnt < lines; ++lcnt) { - lsave_bp = buf; /* the planes-loop: */ for (pcnt = 0; pcnt < planes; ++pcnt) { @@ -520,7 +518,7 @@ sanei_ab306_exit (void) /* power off the scanner: */ ab306_outb (port + i, port[i].base + 1, 0x00); } -#if defined(__FreeBSD) +#if defined(__FreeBSD) || defined(__DragonFly__) if (dev_io_fd >0) close (dev_io_fd); #endif /* defined(__FreeBSD__) */ diff --git a/sanei/sanei_init_debug.c b/sanei/sanei_init_debug.c index bb5b755..0abb891 100644 --- a/sanei/sanei_init_debug.c +++ b/sanei/sanei_init_debug.c @@ -72,7 +72,7 @@ * instead, so the debugging env var name matches the docs. * This is a particular problem in Turkish, where 'i' does * not capitalize to 'I' */ -char +static char toupper_ascii (int c) { if(c > 0x60 && c < 0x7b) diff --git a/sanei/sanei_ir.c b/sanei/sanei_ir.c index 42e82ba..47e1e6e 100644 --- a/sanei/sanei_ir.c +++ b/sanei/sanei_ir.c @@ -29,7 +29,8 @@ #include #include -#include +#include +#include #include #define BACKEND_NAME sanei_ir /* name of this module for debugging */ diff --git a/sanei/sanei_magic.c b/sanei/sanei_magic.c index 167d7dd..bfd56cc 100644 --- a/sanei/sanei_magic.c +++ b/sanei/sanei_magic.c @@ -710,7 +710,7 @@ sanei_magic_rotate (SANE_Parameters * params, SANE_Byte * buffer, DBG(10,"sanei_magic_rotate: finish\n"); - return 0; + return ret; } SANE_Status diff --git a/sanei/sanei_pa4s2.c b/sanei/sanei_pa4s2.c index c15dd5a..d1be0c0 100644 --- a/sanei/sanei_pa4s2.c +++ b/sanei/sanei_pa4s2.c @@ -142,7 +142,7 @@ static int sanei_pa4s2_dbg_init_called = SANE_FALSE; { \ DBG_INIT(); \ DBG(6, "%s: interface called for" \ - " the first time\n", __PRETTY_FUNCTION__); \ + " the first time\n", __func__); \ sanei_pa4s2_dbg_init_called = SANE_TRUE; \ } @@ -309,7 +309,7 @@ pa4s2_init (SANE_Status *status) if (first_time == SANE_FALSE) { - DBG (5, "pa4s2_init: sanei already initalized\n"); + DBG (5, "pa4s2_init: sanei already initialized\n"); status = SANE_STATUS_GOOD; return 0; } diff --git a/sanei/sanei_pp.c b/sanei/sanei_pp.c index 6146d1e..dec84ee 100644 --- a/sanei/sanei_pp.c +++ b/sanei/sanei_pp.c @@ -126,9 +126,7 @@ inb( u_long port ) #elif defined(HAVE_LIBIEEE1284) # include #else -# if defined(__GNUC__) -# warning "No I/O support for this architecture!" -# endif +# pragma message "No I/O support for this architecture!" # define IO_SUPPORT_MISSING #endif @@ -697,7 +695,7 @@ pp_init( void ) #endif if( first_time == SANE_FALSE ) { - DBG( 5, "pp_init: already initalized\n" ); + DBG( 5, "pp_init: already initialized\n" ); return SANE_STATUS_GOOD; } diff --git a/sanei/sanei_scsi.c b/sanei/sanei_scsi.c index 6d171d3..2413d8f 100644 --- a/sanei/sanei_scsi.c +++ b/sanei/sanei_scsi.c @@ -96,7 +96,7 @@ #elif defined (HAVE__USR_SRC_LINUX_INCLUDE_SCSI_SG_H) # define USE LINUX_INTERFACE # include "/usr/src/linux/include/scsi/sg.h" -#elif defined (HAVE_SYS_SCSICMD) +#elif defined (HAVE_SYS_SCSICMD_H) # define USE SCSO_OS5_INTERFACE # include # include @@ -2719,7 +2719,7 @@ sanei_proc_scsi_find_devices (const char *findvendor, const char *findmodel, int number, i, j, definedd; char line[256], dev_name[128], *c1, *c2, ctmp; - const char *string; + char *string; FILE *proc_fp; char *end; struct @@ -2818,7 +2818,7 @@ sanei_proc_scsi_find_devices (const char *findvendor, const char *findmodel, while (!feof (proc_fp)) { fgets (line, sizeof (line), proc_fp); - string = sanei_config_skip_whitespace (line); + string = (char *) sanei_config_skip_whitespace (line); while (*string) { @@ -2839,7 +2839,7 @@ sanei_proc_scsi_find_devices (const char *findvendor, const char *findmodel, } ctmp = *c2; *c2 = 0; - string = sanei_config_skip_whitespace (string); + string = (char *) sanei_config_skip_whitespace (string); if (param[i].is_int) { diff --git a/sanei/sanei_tcp.c b/sanei/sanei_tcp.c index a57d7c7..87a73d1 100644 --- a/sanei/sanei_tcp.c +++ b/sanei/sanei_tcp.c @@ -70,7 +70,7 @@ sanei_tcp_open(const char *host, int port, int *fdp) #endif DBG_INIT(); - DBG(1, "%s: host = %s, port = %d\n", __FUNCTION__, host, port); + DBG(1, "%s: host = %s, port = %d\n", __func__, host, port); #ifdef HAVE_WINSOCK2_H err = WSAStartup(MAKEWORD(2, 2), &wsaData); diff --git a/sanei/sanei_thread.c b/sanei/sanei_thread.c index 8db4a21..fcf52c1 100644 --- a/sanei/sanei_thread.c +++ b/sanei/sanei_thread.c @@ -71,9 +71,6 @@ #if !defined USE_PTHREAD && !defined HAVE_OS2_H && !defined __BEOS__ # include #endif -#if defined USE_PTHREAD -# include -#endif #define BACKEND_NAME sanei_thread /**< name of this module for debugging */ @@ -135,9 +132,9 @@ sanei_thread_set_invalid( SANE_Pid *pid ) /* Return if PID is a valid PID or not. */ SANE_Bool -sanei_thread_is_invalid( SANE_Pid pid ) +sanei_thread_is_valid( SANE_Pid pid ) { - SANE_Bool rc = SANE_FALSE; + SANE_Bool rc = SANE_TRUE; #ifdef WIN32 #ifdef WINPTHREAD_API @@ -145,10 +142,10 @@ sanei_thread_is_invalid( SANE_Pid pid ) #else if (pid.p == 0) #endif - rc = SANE_TRUE; + rc = SANE_FALSE; #else - if (pid == -1) - rc = SANE_TRUE; + if (pid == (SANE_Pid) -1) + rc = SANE_FALSE; #endif return rc; @@ -491,7 +488,7 @@ sanei_thread_waitpid( SANE_Pid pid, int *status ) #else int ls; #endif - SANE_Pid result; + SANE_Pid result = pid; int stat; stat = 0; diff --git a/sanei/sanei_usb.c b/sanei/sanei_usb.c index f210d4f..e4b23dc 100644 --- a/sanei/sanei_usb.c +++ b/sanei/sanei_usb.c @@ -62,31 +62,22 @@ #include #include -/* for debug messages */ -#if __STDC_VERSION__ < 199901L -# if __GNUC__ >= 2 -# define __func__ __FUNCTION__ -# else -# define __func__ "" -# endif -#endif - #ifdef HAVE_RESMGR #include #endif -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY #ifdef HAVE_LUSB0_USB_H #include #else #include #endif -#endif /* HAVE_LIBUSB */ +#endif /* HAVE_LIBUSB_LEGACY */ -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB #include -#endif /* HAVE_LIBUSB_1_0 */ +#endif /* HAVE_LIBUSB */ #ifdef HAVE_USBCALLS #include @@ -156,14 +147,14 @@ typedef struct SANE_Int interface_nr; SANE_Int alt_setting; SANE_Int missing; -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY usb_dev_handle *libusb_handle; struct usb_device *libusb_device; -#endif /* HAVE_LIBUSB */ -#ifdef HAVE_LIBUSB_1_0 +#endif /* HAVE_LIBUSB_LEGACY */ +#ifdef HAVE_LIBUSB libusb_device *lu_device; libusb_device_handle *lu_handle; -#endif /* HAVE_LIBUSB_1_0 */ +#endif /* HAVE_LIBUSB */ } device_list_type; @@ -183,13 +174,13 @@ static int device_number=0; * count number of time sanei_usb has been initialized */ static int initialized=0; -#if defined(HAVE_LIBUSB) || defined(HAVE_LIBUSB_1_0) +#if defined(HAVE_LIBUSB_LEGACY) || defined(HAVE_LIBUSB) static int libusb_timeout = 30 * 1000; /* 30 seconds */ -#endif /* HAVE_LIBUSB */ +#endif /* HAVE_LIBUSB_LEGACY */ -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB static libusb_context *sanei_usb_ctx; -#endif /* HAVE_LIBUSB_1_0 */ +#endif /* HAVE_LIBUSB */ #if defined (__linux__) /* From /usr/src/linux/driver/usb/scanner.h */ @@ -266,7 +257,7 @@ print_buffer (const SANE_Byte * buffer, SANE_Int size) } } -#if !defined(HAVE_LIBUSB) && !defined(HAVE_LIBUSB_1_0) +#if !defined(HAVE_LIBUSB_LEGACY) && !defined(HAVE_LIBUSB) static void kernel_get_vendor_product (int fd, const char *name, int *vendorID, int *productID) { @@ -340,7 +331,7 @@ kernel_get_vendor_product (int fd, const char *name, int *vendorID, int *product #endif /* defined (__linux__), defined(__BEOS__), ... */ /* put more os-dependant stuff ... */ } -#endif /* !defined(HAVE_LIBUSB) && !defined(HAVE_LIBUSB_1_0) */ +#endif /* !defined(HAVE_LIBUSB_LEGACY) && !defined(HAVE_LIBUSB) */ /** * store the given device in device list if it isn't already @@ -366,10 +357,10 @@ store_device (device_list_type device) * Need to update the LibUSB device pointer, since it might * have changed after the latest USB scan. */ -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY devices[i].libusb_device = device.libusb_device; #endif -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB devices[i].lu_device = device.lu_device; #endif @@ -408,7 +399,7 @@ store_device (device_list_type device) devices[pos].open = SANE_FALSE; } -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB static char * sanei_libusb_strerror (int errcode) { @@ -462,14 +453,14 @@ sanei_libusb_strerror (int errcode) return "Unknown libusb-1.0 error code"; } } -#endif /* HAVE_LIBUSB_1_0 */ +#endif /* HAVE_LIBUSB */ void sanei_usb_init (void) { -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB int ret; -#endif /* HAVE_LIBUSB_1_0 */ +#endif /* HAVE_LIBUSB */ DBG_INIT (); #ifdef DBG_LEVEL @@ -483,18 +474,18 @@ sanei_usb_init (void) memset (devices, 0, sizeof (devices)); /* initialize USB with old libusb library */ -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY DBG (4, "%s: Looking for libusb devices\n", __func__); usb_init (); #ifdef DBG_LEVEL if (DBG_LEVEL > 4) usb_set_debug (255); #endif /* DBG_LEVEL */ -#endif /* HAVE_LIBUSB */ +#endif /* HAVE_LIBUSB_LEGACY */ /* initialize USB using libusb-1.0 */ -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB if (!sanei_usb_ctx) { DBG (4, "%s: initializing libusb-1.0\n", __func__); @@ -511,9 +502,9 @@ sanei_usb_init (void) libusb_set_debug (sanei_usb_ctx, 3); #endif /* DBG_LEVEL */ } -#endif /* HAVE_LIBUSB_1_0 */ +#endif /* HAVE_LIBUSB */ -#if !defined(HAVE_LIBUSB) && !defined(HAVE_LIBUSB_1_0) +#if !defined(HAVE_LIBUSB_LEGACY) && !defined(HAVE_LIBUSB) DBG (4, "%s: SANE is built without support for libusb\n", __func__); #endif @@ -553,7 +544,7 @@ int i; devices[i].devname=NULL; } } -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB if (sanei_usb_ctx) { libusb_exit (sanei_usb_ctx); @@ -643,7 +634,7 @@ static void usbcall_scan_devices(void) } #endif /* HAVE_USBCALLS */ -#if !defined(HAVE_LIBUSB) && !defined(HAVE_LIBUSB_1_0) +#if !defined(HAVE_LIBUSB_LEGACY) && !defined(HAVE_LIBUSB) /** scan for devices using kernel device. * Check for devices using kernel device */ @@ -742,9 +733,9 @@ static void kernel_scan_devices(void) closedir (dir); } } -#endif /* !defined(HAVE_LIBUSB) && !defined(HAVE_LIBUSB_1_0) */ +#endif /* !defined(HAVE_LIBUSB_LEGACY) && !defined(HAVE_LIBUSB) */ -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY /** scan for devices using old libusb * Check for devices using 0.1.x libusb */ @@ -855,9 +846,9 @@ static void libusb_scan_devices(void) } } } -#endif /* HAVE_LIBUSB */ +#endif /* HAVE_LIBUSB_LEGACY */ -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB /** scan for devices using libusb * Check for devices using libusb-1.0 */ @@ -1031,7 +1022,7 @@ static void libusb_scan_devices(void) libusb_free_device_list (devlist, 1); } -#endif /* HAVE_LIBUSB_1_0 */ +#endif /* HAVE_LIBUSB */ void @@ -1057,11 +1048,11 @@ sanei_usb_scan_devices (void) } /* Check for devices using the kernel scanner driver */ -#if !defined(HAVE_LIBUSB) && !defined(HAVE_LIBUSB_1_0) +#if !defined(HAVE_LIBUSB_LEGACY) && !defined(HAVE_LIBUSB) kernel_scan_devices(); #endif -#if defined(HAVE_LIBUSB) || defined(HAVE_LIBUSB_1_0) +#if defined(HAVE_LIBUSB_LEGACY) || defined(HAVE_LIBUSB) /* Check for devices using libusb (old or new)*/ libusb_scan_devices(); #endif @@ -1308,7 +1299,6 @@ sanei_usb_open (SANE_String_Const devname, SANE_Int * dn) { int devcount; SANE_Bool found = SANE_FALSE; - int c, i, a; DBG (5, "sanei_usb_open: trying to open device `%s'\n", devname); if (!dn) @@ -1341,10 +1331,11 @@ sanei_usb_open (SANE_String_Const devname, SANE_Int * dn) if (devices[devcount].method == sanei_usb_method_libusb) { -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY struct usb_device *dev; struct usb_interface_descriptor *interface; int result, num; + int c, i, a; devices[devcount].libusb_handle = usb_open (devices[devcount].libusb_device); @@ -1600,13 +1591,14 @@ sanei_usb_open (SANE_String_Const devname, SANE_Int * dn) } } -#elif defined(HAVE_LIBUSB_1_0) /* libusb-1.0 */ +#elif defined(HAVE_LIBUSB) /* libusb-1.0 */ int config; libusb_device *dev; struct libusb_device_descriptor desc; struct libusb_config_descriptor *config0; int result, num; + int c, i, a; dev = devices[devcount].lu_device; @@ -1902,11 +1894,11 @@ sanei_usb_open (SANE_String_Const devname, SANE_Int * dn) libusb_free_config_descriptor (config); } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ DBG (1, "sanei_usb_open: can't open device `%s': " "libusb support missing\n", devname); return SANE_STATUS_UNSUPPORTED; -#endif /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#endif /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ } else if (devices[devcount].method == sanei_usb_method_scanner_driver) { @@ -2108,6 +2100,17 @@ sanei_usb_open (SANE_String_Const devname, SANE_Int * dn) void sanei_usb_close (SANE_Int dn) { + char *env; + int workaround = 0; + + DBG (5, "sanei_usb_close: evaluating environment variable SANE_USB_WORKAROUND\n"); + env = getenv ("SANE_USB_WORKAROUND"); + if (env) + { + workaround = atoi(env); + DBG (5, "sanei_usb_close: workaround: %d\n", workaround); + } + DBG (5, "sanei_usb_close: closing device %d\n", dn); if (dn >= device_number || dn < 0) { @@ -2133,31 +2136,37 @@ sanei_usb_close (SANE_Int dn) #endif } else -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY { /* This call seems to be required by Linux xhci driver * even though it should be a no-op. Without it, the * host or driver does not reset it's data toggle bit. * We intentionally ignore the return val */ - sanei_usb_set_altinterface (dn, devices[dn].alt_setting); + if (workaround) + { + sanei_usb_set_altinterface (dn, devices[dn].alt_setting); + } usb_release_interface (devices[dn].libusb_handle, devices[dn].interface_nr); usb_close (devices[dn].libusb_handle); } -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) { /* This call seems to be required by Linux xhci driver * even though it should be a no-op. Without it, the * host or driver does not reset it's data toggle bit. * We intentionally ignore the return val */ - sanei_usb_set_altinterface (dn, devices[dn].alt_setting); + if (workaround) + { + sanei_usb_set_altinterface (dn, devices[dn].alt_setting); + } libusb_release_interface (devices[dn].lu_handle, devices[dn].interface_nr); libusb_close (devices[dn].lu_handle); } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ DBG (1, "sanei_usb_close: libusb support missing\n"); #endif devices[dn].open = SANE_FALSE; @@ -2165,19 +2174,28 @@ sanei_usb_close (SANE_Int dn) } void -sanei_usb_set_timeout (SANE_Int timeout) +sanei_usb_set_timeout (SANE_Int __sane_unused__ timeout) { -#if defined(HAVE_LIBUSB) || defined(HAVE_LIBUSB_1_0) +#if defined(HAVE_LIBUSB_LEGACY) || defined(HAVE_LIBUSB) libusb_timeout = timeout; #else DBG (1, "sanei_usb_set_timeout: libusb support missing\n"); -#endif /* HAVE_LIBUSB || HAVE_LIBUSB_1_0 */ +#endif /* HAVE_LIBUSB_LEGACY || HAVE_LIBUSB */ } SANE_Status sanei_usb_clear_halt (SANE_Int dn) { - int ret; + char *env; + int workaround = 0; + + DBG (5, "sanei_usb_clear_halt: evaluating environment variable SANE_USB_WORKAROUND\n"); + env = getenv ("SANE_USB_WORKAROUND"); + if (env) + { + workaround = atoi(env); + DBG (5, "sanei_usb_clear_halt: workaround: %d\n", workaround); + } if (dn >= device_number || dn < 0) { @@ -2185,13 +2203,17 @@ sanei_usb_clear_halt (SANE_Int dn) return SANE_STATUS_INVAL; } -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY + int ret; /* This call seems to be required by Linux xhci driver * even though it should be a no-op. Without it, the * host or driver does not send the clear to the device. * We intentionally ignore the return val */ - sanei_usb_set_altinterface (dn, devices[dn].alt_setting); + if (workaround) + { + sanei_usb_set_altinterface (dn, devices[dn].alt_setting); + } ret = usb_clear_halt (devices[dn].libusb_handle, devices[dn].bulk_in_ep); if (ret){ @@ -2205,13 +2227,17 @@ sanei_usb_clear_halt (SANE_Int dn) return SANE_STATUS_INVAL; } -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) + int ret; /* This call seems to be required by Linux xhci driver * even though it should be a no-op. Without it, the * host or driver does not send the clear to the device. * We intentionally ignore the return val */ - sanei_usb_set_altinterface (dn, devices[dn].alt_setting); + if (workaround) + { + sanei_usb_set_altinterface (dn, devices[dn].alt_setting); + } ret = libusb_clear_halt (devices[dn].lu_handle, devices[dn].bulk_in_ep); if (ret){ @@ -2224,17 +2250,17 @@ sanei_usb_clear_halt (SANE_Int dn) DBG (1, "sanei_usb_clear_halt: BULK_OUT ret=%d\n", ret); return SANE_STATUS_INVAL; } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ DBG (1, "sanei_usb_clear_halt: libusb support missing\n"); -#endif /* HAVE_LIBUSB || HAVE_LIBUSB_1_0 */ +#endif /* HAVE_LIBUSB_LEGACY || HAVE_LIBUSB */ return SANE_STATUS_GOOD; } SANE_Status -sanei_usb_reset (SANE_Int dn) +sanei_usb_reset (SANE_Int __sane_unused__ dn) { -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY int ret; ret = usb_reset (devices[dn].libusb_handle); @@ -2243,7 +2269,7 @@ sanei_usb_reset (SANE_Int dn) return SANE_STATUS_INVAL; } -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) int ret; ret = libusb_reset_device (devices[dn].lu_handle); @@ -2252,9 +2278,9 @@ sanei_usb_reset (SANE_Int dn) return SANE_STATUS_INVAL; } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ DBG (1, "sanei_usb_reset: libusb support missing\n"); -#endif /* HAVE_LIBUSB || HAVE_LIBUSB_1_0 */ +#endif /* HAVE_LIBUSB_LEGACY || HAVE_LIBUSB */ return SANE_STATUS_GOOD; } @@ -2287,7 +2313,7 @@ sanei_usb_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) strerror (errno)); } else if (devices[dn].method == sanei_usb_method_libusb) -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY { if (devices[dn].bulk_in_ep) { @@ -2306,14 +2332,14 @@ sanei_usb_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) return SANE_STATUS_INVAL; } } -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) { if (devices[dn].bulk_in_ep) { - int ret; + int ret, rsize; ret = libusb_bulk_transfer (devices[dn].lu_handle, devices[dn].bulk_in_ep, buffer, - (int) *size, (int *) &read_size, + (int) *size, &rsize, libusb_timeout); if (ret < 0) @@ -2323,6 +2349,10 @@ sanei_usb_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) read_size = -1; } + else + { + read_size = rsize; + } } else { @@ -2331,12 +2361,12 @@ sanei_usb_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) return SANE_STATUS_INVAL; } } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ { DBG (1, "sanei_usb_read_bulk: libusb support missing\n"); return SANE_STATUS_UNSUPPORTED; } -#endif /* not HAVE_LIBUSB */ +#endif /* not HAVE_LIBUSB_LEGACY */ else if (devices[dn].method == sanei_usb_method_usbcalls) { #ifdef HAVE_USBCALLS @@ -2382,10 +2412,10 @@ sanei_usb_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) if (read_size < 0) { -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY if (devices[dn].method == sanei_usb_method_libusb) usb_clear_halt (devices[dn].libusb_handle, devices[dn].bulk_in_ep); -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) if (devices[dn].method == sanei_usb_method_libusb) libusb_clear_halt (devices[dn].lu_handle, devices[dn].bulk_in_ep); #endif @@ -2437,7 +2467,7 @@ sanei_usb_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) strerror (errno)); } else if (devices[dn].method == sanei_usb_method_libusb) -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY { if (devices[dn].bulk_out_ep) { @@ -2456,7 +2486,7 @@ sanei_usb_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) return SANE_STATUS_INVAL; } } -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) { if (devices[dn].bulk_out_ep) { @@ -2464,7 +2494,7 @@ sanei_usb_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) int trans_bytes; ret = libusb_bulk_transfer (devices[dn].lu_handle, devices[dn].bulk_out_ep, - buffer, + (unsigned char *) buffer, (int) *size, &trans_bytes, libusb_timeout); if (ret < 0) @@ -2484,12 +2514,12 @@ sanei_usb_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) return SANE_STATUS_INVAL; } } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ { DBG (1, "sanei_usb_write_bulk: libusb support missing\n"); return SANE_STATUS_UNSUPPORTED; } -#endif /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#endif /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ else if (devices[dn].method == sanei_usb_method_usbcalls) { #ifdef HAVE_USBCALLS @@ -2537,10 +2567,10 @@ sanei_usb_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) if (write_size < 0) { *size = 0; -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY if (devices[dn].method == sanei_usb_method_libusb) usb_clear_halt (devices[dn].libusb_handle, devices[dn].bulk_out_ep); -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) if (devices[dn].method == sanei_usb_method_libusb) libusb_clear_halt (devices[dn].lu_handle, devices[dn].bulk_out_ep); #endif @@ -2616,7 +2646,7 @@ sanei_usb_control_msg (SANE_Int dn, SANE_Int rtype, SANE_Int req, #endif /* not __linux__ */ } else if (devices[dn].method == sanei_usb_method_libusb) -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY { int result; @@ -2633,7 +2663,7 @@ sanei_usb_control_msg (SANE_Int dn, SANE_Int rtype, SANE_Int req, print_buffer (data, len); return SANE_STATUS_GOOD; } -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) { int result; @@ -2650,12 +2680,12 @@ sanei_usb_control_msg (SANE_Int dn, SANE_Int rtype, SANE_Int req, print_buffer (data, len); return SANE_STATUS_GOOD; } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0*/ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB*/ { DBG (1, "sanei_usb_control_msg: libusb support missing\n"); return SANE_STATUS_UNSUPPORTED; } -#endif /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#endif /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ else if (devices[dn].method == sanei_usb_method_usbcalls) { #ifdef HAVE_USBCALLS @@ -2692,7 +2722,7 @@ SANE_Status sanei_usb_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) { ssize_t read_size = 0; -#if defined(HAVE_LIBUSB) || defined(HAVE_LIBUSB_1_0) +#if defined(HAVE_LIBUSB_LEGACY) || defined(HAVE_LIBUSB) SANE_Bool stalled = SANE_FALSE; #endif @@ -2717,7 +2747,7 @@ sanei_usb_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) return SANE_STATUS_INVAL; } else if (devices[dn].method == sanei_usb_method_libusb) -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY { if (devices[dn].int_in_ep) { @@ -2739,7 +2769,7 @@ sanei_usb_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) return SANE_STATUS_INVAL; } } -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) { if (devices[dn].int_in_ep) { @@ -2764,12 +2794,12 @@ sanei_usb_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) return SANE_STATUS_INVAL; } } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ { DBG (1, "sanei_usb_read_int: libusb support missing\n"); return SANE_STATUS_UNSUPPORTED; } -#endif /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#endif /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ else if (devices[dn].method == sanei_usb_method_usbcalls) { #ifdef HAVE_USBCALLS @@ -2808,11 +2838,11 @@ sanei_usb_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) if (read_size < 0) { -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY if (devices[dn].method == sanei_usb_method_libusb) if (stalled) usb_clear_halt (devices[dn].libusb_handle, devices[dn].int_in_ep); -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) if (devices[dn].method == sanei_usb_method_libusb) if (stalled) libusb_clear_halt (devices[dn].lu_handle, devices[dn].int_in_ep); @@ -2858,7 +2888,7 @@ sanei_usb_set_configuration (SANE_Int dn, SANE_Int configuration) #endif /* not __linux__ */ } else if (devices[dn].method == sanei_usb_method_libusb) -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY { int result; @@ -2872,7 +2902,7 @@ sanei_usb_set_configuration (SANE_Int dn, SANE_Int configuration) } return SANE_STATUS_GOOD; } -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) { int result; @@ -2885,12 +2915,12 @@ sanei_usb_set_configuration (SANE_Int dn, SANE_Int configuration) } return SANE_STATUS_GOOD; } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ { DBG (1, "sanei_usb_set_configuration: libusb support missing\n"); return SANE_STATUS_UNSUPPORTED; } -#endif /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#endif /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ else { DBG (1, @@ -2928,7 +2958,7 @@ sanei_usb_claim_interface (SANE_Int dn, SANE_Int interface_number) #endif /* not __linux__ */ } else if (devices[dn].method == sanei_usb_method_libusb) -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY { int result; @@ -2941,7 +2971,7 @@ sanei_usb_claim_interface (SANE_Int dn, SANE_Int interface_number) } return SANE_STATUS_GOOD; } -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) { int result; @@ -2954,12 +2984,12 @@ sanei_usb_claim_interface (SANE_Int dn, SANE_Int interface_number) } return SANE_STATUS_GOOD; } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ { DBG (1, "sanei_usb_claim_interface: libusb support missing\n"); return SANE_STATUS_UNSUPPORTED; } -#endif /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#endif /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ else { DBG (1, "sanei_usb_claim_interface: access method %d not implemented\n", @@ -2995,7 +3025,7 @@ sanei_usb_release_interface (SANE_Int dn, SANE_Int interface_number) #endif /* not __linux__ */ } else if (devices[dn].method == sanei_usb_method_libusb) -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY { int result; @@ -3008,7 +3038,7 @@ sanei_usb_release_interface (SANE_Int dn, SANE_Int interface_number) } return SANE_STATUS_GOOD; } -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) { int result; @@ -3021,12 +3051,12 @@ sanei_usb_release_interface (SANE_Int dn, SANE_Int interface_number) } return SANE_STATUS_GOOD; } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ { DBG (1, "sanei_usb_release_interface: libusb support missing\n"); return SANE_STATUS_UNSUPPORTED; } -#endif /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#endif /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ else { DBG (1, @@ -3061,7 +3091,7 @@ sanei_usb_set_altinterface (SANE_Int dn, SANE_Int alternate) #endif /* not __linux__ */ } else if (devices[dn].method == sanei_usb_method_libusb) -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY { int result; @@ -3074,7 +3104,7 @@ sanei_usb_set_altinterface (SANE_Int dn, SANE_Int alternate) } return SANE_STATUS_GOOD; } -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) { int result; @@ -3088,12 +3118,12 @@ sanei_usb_set_altinterface (SANE_Int dn, SANE_Int alternate) } return SANE_STATUS_GOOD; } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ { DBG (1, "sanei_set_altinterface: libusb support missing\n"); return SANE_STATUS_UNSUPPORTED; } -#endif /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#endif /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ else { DBG (1, @@ -3104,7 +3134,9 @@ sanei_usb_set_altinterface (SANE_Int dn, SANE_Int alternate) } extern SANE_Status -sanei_usb_get_descriptor( SANE_Int dn, struct sanei_usb_dev_descriptor *desc ) +sanei_usb_get_descriptor( SANE_Int dn, + struct sanei_usb_dev_descriptor __sane_unused__ + *desc ) { if (dn >= device_number || dn < 0) { @@ -3115,7 +3147,7 @@ sanei_usb_get_descriptor( SANE_Int dn, struct sanei_usb_dev_descriptor *desc ) } DBG (5, "sanei_usb_get_descriptor\n"); -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY { struct usb_device_descriptor *usb_descr; @@ -3130,7 +3162,7 @@ sanei_usb_get_descriptor( SANE_Int dn, struct sanei_usb_dev_descriptor *desc ) desc->max_packet_size = usb_descr->bMaxPacketSize0; return SANE_STATUS_GOOD; } -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) { struct libusb_device_descriptor lu_desc; int ret; @@ -3155,10 +3187,10 @@ sanei_usb_get_descriptor( SANE_Int dn, struct sanei_usb_dev_descriptor *desc ) desc->max_packet_size = lu_desc.bMaxPacketSize0; return SANE_STATUS_GOOD; } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ { DBG (1, "sanei_usb_get_descriptor: libusb support missing\n"); return SANE_STATUS_UNSUPPORTED; } -#endif /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#endif /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ } diff --git a/test-driver b/test-driver index 32bf39e..d306056 100755 --- a/test-driver +++ b/test-driver @@ -1,7 +1,7 @@ #! /bin/sh # test-driver - basic testsuite driver script. -scriptversion=2012-06-27.10; # UTC +scriptversion=2013-07-13.22; # UTC # Copyright (C) 2011-2013 Free Software Foundation, Inc. # @@ -44,13 +44,12 @@ print_usage () Usage: test-driver --test-name=NAME --log-file=PATH --trs-file=PATH [--expect-failure={yes|no}] [--color-tests={yes|no}] - [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT + [--enable-hard-errors={yes|no}] [--] + TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] The '--test-name', '--log-file' and '--trs-file' options are mandatory. END } -# TODO: better error handling in option parsing (in particular, ensure -# TODO: $log_file, $trs_file and $test_name are defined). test_name= # Used for reporting. log_file= # Where to save the output of the test script. trs_file= # Where to save the metadata of the test run. @@ -69,10 +68,23 @@ while test $# -gt 0; do --enable-hard-errors) enable_hard_errors=$2; shift;; --) shift; break;; -*) usage_error "invalid option: '$1'";; + *) break;; esac shift done +missing_opts= +test x"$test_name" = x && missing_opts="$missing_opts --test-name" +test x"$log_file" = x && missing_opts="$missing_opts --log-file" +test x"$trs_file" = x && missing_opts="$missing_opts --trs-file" +if test x"$missing_opts" != x; then + usage_error "the following mandatory options are missing:$missing_opts" +fi + +if test $# -eq 0; then + usage_error "missing argument" +fi + if test $color_tests = yes; then # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. red='' # Red. diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in index d63597f..c3c4f3c 100644 --- a/testsuite/Makefile.in +++ b/testsuite/Makefile.in @@ -81,11 +81,16 @@ subdir = testsuite DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ltoptions.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/byteorder.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/configure.in + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -176,7 +181,10 @@ am__relativize = \ ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ +AM_CPPFLAGS = @AM_CPPFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -197,7 +205,7 @@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISTCLEAN_FILES = @DISTCLEAN_FILES@ +DLH = @DLH@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DSYMUTIL = @DSYMUTIL@ @@ -210,34 +218,42 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIG2DEV = @FIG2DEV@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GREP = @GREP@ +GS = @GS@ HAVE_GPHOTO2 = @HAVE_GPHOTO2@ IEEE1284_LIBS = @IEEE1284_LIBS@ -INCLUDES = @INCLUDES@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JPEG_LIBS = @JPEG_LIBS@ LATEX = @LATEX@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LIBUSB_1_0_CFLAGS = @LIBUSB_1_0_CFLAGS@ -LIBUSB_1_0_LIBS = @LIBUSB_1_0_LIBS@ LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ LIBV4L_LIBS = @LIBV4L_LIBS@ -LINKER_RPATH = @LINKER_RPATH@ LIPO = @LIPO@ LN_S = @LN_S@ LOCKPATH_GROUP = @LOCKPATH_GROUP@ +LTALLOCA = @LTALLOCA@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINDEX = @MAKEINDEX@ @@ -246,10 +262,10 @@ MANIFEST_TOOL = @MANIFEST_TOOL@ MATH_LIB = @MATH_LIB@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ @@ -262,10 +278,13 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_LIBS = @PNG_LIBS@ +POSUB = @POSUB@ +PPMTOGIF = @PPMTOGIF@ PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -287,12 +306,16 @@ SYSLOG_LIBS = @SYSLOG_LIBS@ SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ SYSTEMD_LIBS = @SYSTEMD_LIBS@ TIFF_LIBS = @TIFF_LIBS@ +USB_CFLAGS = @USB_CFLAGS@ USB_LIBS = @USB_LIBS@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ V_MAJOR = @V_MAJOR@ V_MINOR = @V_MINOR@ V_REV = @V_REV@ XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/testsuite/sanei/Makefile.am b/testsuite/sanei/Makefile.am index 74cde52..0116987 100644 --- a/testsuite/sanei/Makefile.am +++ b/testsuite/sanei/Makefile.am @@ -10,15 +10,12 @@ EXTRA_DIST = data/boolean.conf data/empty.conf data/fixed.conf data/int.conf \ data/wrong-fixed.conf data/wrong-range.conf \ data/wrong-string-list.conf -MATH_LIB = @MATH_LIB@ -USB_LIBS = @USB_LIBS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -TEST_LDADD = ../../sanei/libsanei.la ../../lib/liblib.la ../../lib/libfelib.la $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) +TEST_LDADD = ../../sanei/libsanei.la ../../lib/liblib.la $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) check_PROGRAMS = sanei_usb_test test_wire sanei_check_test sanei_config_test sanei_constrain_test TESTS = $(check_PROGRAMS) -AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include +AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include $(USB_CFLAGS) sanei_constrain_test_SOURCES = sanei_constrain_test.c sanei_constrain_test_LDADD = $(TEST_LDADD) diff --git a/testsuite/sanei/Makefile.in b/testsuite/sanei/Makefile.in index 08aba0b..aa531db 100644 --- a/testsuite/sanei/Makefile.in +++ b/testsuite/sanei/Makefile.in @@ -85,11 +85,16 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp \ $(top_srcdir)/test-driver README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ltoptions.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/byteorder.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/configure.in + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -100,8 +105,8 @@ am_sanei_check_test_OBJECTS = sanei_check_test.$(OBJEXT) sanei_check_test_OBJECTS = $(am_sanei_check_test_OBJECTS) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = ../../sanei/libsanei.la ../../lib/liblib.la \ - ../../lib/libfelib.la $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) sanei_check_test_DEPENDENCIES = $(am__DEPENDENCIES_2) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -392,7 +397,11 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ +AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(srcdir) -I$(top_builddir)/include \ + -I$(top_srcdir)/include $(USB_CFLAGS) AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -413,7 +422,7 @@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISTCLEAN_FILES = @DISTCLEAN_FILES@ +DLH = @DLH@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DSYMUTIL = @DSYMUTIL@ @@ -426,34 +435,42 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIG2DEV = @FIG2DEV@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GREP = @GREP@ +GS = @GS@ HAVE_GPHOTO2 = @HAVE_GPHOTO2@ IEEE1284_LIBS = @IEEE1284_LIBS@ -INCLUDES = @INCLUDES@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JPEG_LIBS = @JPEG_LIBS@ LATEX = @LATEX@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LIBUSB_1_0_CFLAGS = @LIBUSB_1_0_CFLAGS@ -LIBUSB_1_0_LIBS = @LIBUSB_1_0_LIBS@ LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ LIBV4L_LIBS = @LIBV4L_LIBS@ -LINKER_RPATH = @LINKER_RPATH@ LIPO = @LIPO@ LN_S = @LN_S@ LOCKPATH_GROUP = @LOCKPATH_GROUP@ +LTALLOCA = @LTALLOCA@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINDEX = @MAKEINDEX@ @@ -462,10 +479,10 @@ MANIFEST_TOOL = @MANIFEST_TOOL@ MATH_LIB = @MATH_LIB@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ @@ -478,10 +495,13 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_LIBS = @PNG_LIBS@ +POSUB = @POSUB@ +PPMTOGIF = @PPMTOGIF@ PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -503,12 +523,16 @@ SYSLOG_LIBS = @SYSLOG_LIBS@ SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ SYSTEMD_LIBS = @SYSTEMD_LIBS@ TIFF_LIBS = @TIFF_LIBS@ +USB_CFLAGS = @USB_CFLAGS@ USB_LIBS = @USB_LIBS@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ V_MAJOR = @V_MAJOR@ V_MINOR = @V_MINOR@ V_REV = @V_REV@ XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -570,9 +594,8 @@ EXTRA_DIST = data/boolean.conf data/empty.conf data/fixed.conf data/int.conf \ data/wrong-fixed.conf data/wrong-range.conf \ data/wrong-string-list.conf -TEST_LDADD = ../../sanei/libsanei.la ../../lib/liblib.la ../../lib/libfelib.la $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) +TEST_LDADD = ../../sanei/libsanei.la ../../lib/liblib.la $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) TESTS = $(check_PROGRAMS) -AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include sanei_constrain_test_SOURCES = sanei_constrain_test.c sanei_constrain_test_LDADD = $(TEST_LDADD) sanei_config_test_SOURCES = sanei_config_test.c @@ -661,22 +684,25 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_wire.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< diff --git a/testsuite/sanei/sanei_usb_test.c b/testsuite/sanei/sanei_usb_test.c index 4c5240e..c2cc0c3 100644 --- a/testsuite/sanei/sanei_usb_test.c +++ b/testsuite/sanei/sanei_usb_test.c @@ -48,7 +48,7 @@ static int test_init (int expected) { /* initialize USB */ - printf ("%s starting ...\n", __FUNCTION__); + printf ("%s starting ...\n", __func__); sanei_usb_init (); if (initialized == 0) { @@ -63,7 +63,7 @@ test_init (int expected) } printf ("sanei_usb initialized, use count is %d ...\n", initialized); - printf ("%s success\n\n", __FUNCTION__); + printf ("%s success\n\n", __func__); return 1; } @@ -75,7 +75,7 @@ test_init (int expected) static int test_exit (int expected) { - printf ("%s starting ...\n", __FUNCTION__); + printf ("%s starting ...\n", __func__); /* end of USB use test */ sanei_usb_exit (); @@ -86,7 +86,7 @@ test_exit (int expected) return 0; } - printf ("%s success\n\n", __FUNCTION__); + printf ("%s success\n\n", __func__); return 1; } @@ -130,13 +130,13 @@ create_mock_device (char *devname, device_list_type * device) device->devname = strdup (devname); device->vendor = 0xdead; device->product = 0xbeef; -#if defined(HAVE_LIBUSB) || defined(HAVE_LIBUSB_1_0) +#if defined(HAVE_LIBUSB_LEGACY) || defined(HAVE_LIBUSB) device->method = sanei_usb_method_libusb; #endif #ifdef HAVE_USBCALLS device->method = sanei_usb_method_usbcalls; #endif -#if !defined(HAVE_LIBUSB) && !defined(HAVE_LIBUSB_1_0) && !defined(HAVE_USBCALLS) +#if !defined(HAVE_LIBUSB_LEGACY) && !defined(HAVE_LIBUSB) && !defined(HAVE_USBCALLS) device->method == sanei_usb_method_scanner_driver; #endif } @@ -689,7 +689,7 @@ test_vendor_by_id (void) static int test_timeout (void) { -#if defined(HAVE_LIBUSB) || defined(HAVE_LIBUSB_1_0) +#if defined(HAVE_LIBUSB_LEGACY) || defined(HAVE_LIBUSB) int timeout = libusb_timeout; sanei_usb_set_timeout (5000); @@ -827,21 +827,21 @@ test_attach (void) } int -main (int argc, char **argv) +main (int __sane_unused__ argc, char **argv) { int detected, opened, i; SANE_Int dn[MAX_DEVICES]; -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY printf ("\n%s built with old libusb\n\n", argv[0]); #endif -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB printf ("\n%s built with libusb-1.0\n\n", argv[0]); #endif #ifdef HAVE_USBCALLS printf ("\n%s built with usbcalls\n\n", argv[0]); #endif -#if !defined(HAVE_LIBUSB) && !defined(HAVE_LIBUSB_1_0) && !defined(HAVE_USBCALLS) +#if !defined(HAVE_LIBUSB_LEGACY) && !defined(HAVE_LIBUSB) && !defined(HAVE_USBCALLS) printf ("\n%s relying on deprecated scanner kernel module\n", argv[0]); #endif diff --git a/testsuite/sanei/test_wire.c b/testsuite/sanei/test_wire.c index e8388c4..48f464a 100644 --- a/testsuite/sanei/test_wire.c +++ b/testsuite/sanei/test_wire.c @@ -54,7 +54,7 @@ Valid CODECs are: `ascii' `bin'\n", program_name, default_codec, default_outfile int -main (int argc, char **argv) +main (int __sane_unused__ arg, char **argv) { SANE_Option_Descriptor desc[2], *desc_ptr; SANE_Word len; diff --git a/testsuite/tools/Makefile.am b/testsuite/tools/Makefile.am index 1664ecb..71188d2 100644 --- a/testsuite/tools/Makefile.am +++ b/testsuite/tools/Makefile.am @@ -30,11 +30,14 @@ check.local: @echo "**** Testing $(SANEDESC) with $(TESTFILE)" @for mode in ascii html-backends-split html-mfgs xml statistics usermap db udev udev+acl udev+hwdb hwdb plist hal hal-new; \ do \ - echo "PASS: sane-desc -m $$mode -s $(srcdir)/data"; \ $(SANEDESC) -m $$mode -s $(srcdir)/data >$$mode.res ;\ - if ! diff --ignore-matching-lines="..:..:.. 20[0-9][0-9]" --ignore-matching-lines="sane-backends 1.0...git" $(srcdir)/data/$$mode.ref $$mode.res ; \ + if diff -I "[ 012][0-9]:[0-5][0-9]:[0-6][0-9] 20[0-9][0-9]" \ + -I "sane-backends 1\.0\.[0-9]\+\(git\)\?$$" \ + $(srcdir)/data/$$mode.ref $$mode.res ; \ then \ - echo "**** File generated for $$mode mode is different from reference" ;\ + echo "PASS: sane-desc -m $$mode -s $(srcdir)/data"; \ + else \ + echo "FAIL: sane-desc -m $$mode -s $(srcdir)/data"; \ exit 1 ;\ fi; \ done ;\ diff --git a/testsuite/tools/Makefile.in b/testsuite/tools/Makefile.in index 45f79e9..0850607 100644 --- a/testsuite/tools/Makefile.in +++ b/testsuite/tools/Makefile.in @@ -81,11 +81,16 @@ subdir = testsuite/tools DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ltoptions.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/byteorder.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/configure.in + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -116,7 +121,10 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ +AM_CPPFLAGS = @AM_CPPFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -137,7 +145,7 @@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISTCLEAN_FILES = @DISTCLEAN_FILES@ +DLH = @DLH@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DSYMUTIL = @DSYMUTIL@ @@ -150,34 +158,42 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIG2DEV = @FIG2DEV@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GREP = @GREP@ +GS = @GS@ HAVE_GPHOTO2 = @HAVE_GPHOTO2@ IEEE1284_LIBS = @IEEE1284_LIBS@ -INCLUDES = @INCLUDES@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JPEG_LIBS = @JPEG_LIBS@ LATEX = @LATEX@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LIBUSB_1_0_CFLAGS = @LIBUSB_1_0_CFLAGS@ -LIBUSB_1_0_LIBS = @LIBUSB_1_0_LIBS@ LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ LIBV4L_LIBS = @LIBV4L_LIBS@ -LINKER_RPATH = @LINKER_RPATH@ LIPO = @LIPO@ LN_S = @LN_S@ LOCKPATH_GROUP = @LOCKPATH_GROUP@ +LTALLOCA = @LTALLOCA@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINDEX = @MAKEINDEX@ @@ -186,10 +202,10 @@ MANIFEST_TOOL = @MANIFEST_TOOL@ MATH_LIB = @MATH_LIB@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ @@ -202,10 +218,13 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_LIBS = @PNG_LIBS@ +POSUB = @POSUB@ +PPMTOGIF = @PPMTOGIF@ PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -227,12 +246,16 @@ SYSLOG_LIBS = @SYSLOG_LIBS@ SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ SYSTEMD_LIBS = @SYSTEMD_LIBS@ TIFF_LIBS = @TIFF_LIBS@ +USB_CFLAGS = @USB_CFLAGS@ USB_LIBS = @USB_LIBS@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ V_MAJOR = @V_MAJOR@ V_MINOR = @V_MINOR@ V_REV = @V_REV@ XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -505,11 +528,14 @@ check.local: @echo "**** Testing $(SANEDESC) with $(TESTFILE)" @for mode in ascii html-backends-split html-mfgs xml statistics usermap db udev udev+acl udev+hwdb hwdb plist hal hal-new; \ do \ - echo "PASS: sane-desc -m $$mode -s $(srcdir)/data"; \ $(SANEDESC) -m $$mode -s $(srcdir)/data >$$mode.res ;\ - if ! diff --ignore-matching-lines="..:..:.. 20[0-9][0-9]" --ignore-matching-lines="sane-backends 1.0...git" $(srcdir)/data/$$mode.ref $$mode.res ; \ + if diff -I "[ 012][0-9]:[0-5][0-9]:[0-6][0-9] 20[0-9][0-9]" \ + -I "sane-backends 1\.0\.[0-9]\+\(git\)\?$$" \ + $(srcdir)/data/$$mode.ref $$mode.res ; \ then \ - echo "**** File generated for $$mode mode is different from reference" ;\ + echo "PASS: sane-desc -m $$mode -s $(srcdir)/data"; \ + else \ + echo "FAIL: sane-desc -m $$mode -s $(srcdir)/data"; \ exit 1 ;\ fi; \ done ;\ diff --git a/tools/Makefile.am b/tools/Makefile.am index 2024180..70c87ee 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -4,15 +4,15 @@ ## This file is part of the "Sane" build infra-structure. See ## included LICENSE file for license information. -AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include \ - -I$(top_srcdir)/include +AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include \ + -I$(top_srcdir)/include $(USB_CFLAGS) bin_PROGRAMS = sane-find-scanner gamma4scanimage noinst_PROGRAMS = sane-desc if INSTALL_UMAX_PP_TOOLS -bin_PROGRAMS = umax_pp +bin_PROGRAMS += umax_pp else -noinst_PROGRAMS = umax_pp +noinst_PROGRAMS += umax_pp endif if CROSS_COMPILING @@ -34,17 +34,20 @@ CLEANFILES = $(bin_SCRIPTS) $(dist_noinst_SCRIPTS) EXTRA_DIST = check-po.awk libtool-get-dll-ext mustek600iin-off.c \ RenSaneDlls.cmd README xerox -sane_find_scanner_SOURCES = sane-find-scanner.c check-usb-chip.c \ - ../backend/sane_strstatus.c +sane_find_scanner_SOURCES = sane-find-scanner.c +if have_usblib +sane_find_scanner_SOURCES += check-usb-chip.c +endif sane_find_scanner_LDADD = ../sanei/libsanei.la ../lib/liblib.la \ - @USB_LIBS@ @IEEE1284_LIBS@ @SCSI_LIBS@ + $(USB_LIBS) $(IEEE1284_LIBS) $(SCSI_LIBS) \ + ../backend/sane_strstatus.lo gamma4scanimage_SOURCES = gamma4scanimage.c -gamma4scanimage_LDADD = @MATH_LIB@ +gamma4scanimage_LDADD = $(MATH_LIB) -umax_pp_SOURCES = umax_pp.c ../backend/umax_pp_low.c -umax_pp_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=umax_pp_low -umax_pp_LDADD = ../sanei/libsanei.la ../lib/liblib.la @MATH_LIB@ +umax_pp_SOURCES = umax_pp.c +umax_pp_LDADD = ../sanei/libsanei.la ../lib/liblib.la $(MATH_LIB) \ + ../backend/umax_pp_low.lo sane_desc_SOURCES = sane-desc.c sane_desc_LDADD = ../sanei/libsanei.la ../lib/liblib.la @@ -64,19 +67,21 @@ dirs: $(MKDIR_P) $$subdir || exit 1; \ done -hotplug/libsane.usermap: $(wildcard ${top_srcdir}/doc/descriptions/*.desc) $(wildcard ${top_srcdir}/doc/descriptions-external/*.desc) sane-desc +descriptions = ${top_srcdir}/doc/descriptions/*.desc ${top_srcdir}/doc/descriptions-external/*.desc + +hotplug/libsane.usermap: sane-desc $(descriptions) @./sane-desc -m usermap -s ${top_srcdir}/doc/descriptions:${top_srcdir}/doc/descriptions-external \ -d 1 > $@ -hotplug-ng/libsane.db: $(wildcard ${top_srcdir}/doc/descriptions/*.desc) $(wildcard ${top_srcdir}/doc/descriptions-external/*.desc) sane-desc +hotplug-ng/libsane.db: sane-desc $(descriptions) @./sane-desc -m db -s ${top_srcdir}/doc/descriptions:${top_srcdir}/doc/descriptions-external \ -d 0 > $@ -udev/libsane.rules: $(wildcard ${top_srcdir}/doc/descriptions/*.desc) $(wildcard ${top_srcdir}/doc/descriptions-external/*.desc) sane-desc +udev/libsane.rules: sane-desc $(descriptions) @./sane-desc -m udev -s ${top_srcdir}/doc/descriptions:${top_srcdir}/doc/descriptions-external \ -d 0 > $@ -hal/libsane.fdi: $(wildcard ${top_srcdir}/doc/descriptions/*.desc) $(wildcard ${top_srcdir}/doc/descriptions-external/*.desc) sane-desc +hal/libsane.fdi: sane-desc $(descriptions) @./sane-desc -m hal -s ${top_srcdir}/doc/descriptions:${top_srcdir}/doc/descriptions-external \ -d 0 > $@ diff --git a/tools/Makefile.in b/tools/Makefile.in index 49d5953..77e9d72 100644 --- a/tools/Makefile.in +++ b/tools/Makefile.in @@ -80,37 +80,42 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@INSTALL_UMAX_PP_TOOLS_FALSE@bin_PROGRAMS = \ -@INSTALL_UMAX_PP_TOOLS_FALSE@ sane-find-scanner$(EXEEXT) \ -@INSTALL_UMAX_PP_TOOLS_FALSE@ gamma4scanimage$(EXEEXT) -@INSTALL_UMAX_PP_TOOLS_TRUE@bin_PROGRAMS = umax_pp$(EXEEXT) \ -@INSTALL_UMAX_PP_TOOLS_TRUE@ sane-find-scanner$(EXEEXT) \ -@INSTALL_UMAX_PP_TOOLS_TRUE@ gamma4scanimage$(EXEEXT) -@INSTALL_UMAX_PP_TOOLS_FALSE@noinst_PROGRAMS = umax_pp$(EXEEXT) \ -@INSTALL_UMAX_PP_TOOLS_FALSE@ sane-desc$(EXEEXT) -@INSTALL_UMAX_PP_TOOLS_TRUE@noinst_PROGRAMS = sane-desc$(EXEEXT) +bin_PROGRAMS = sane-find-scanner$(EXEEXT) gamma4scanimage$(EXEEXT) \ + $(am__EXEEXT_1) +noinst_PROGRAMS = sane-desc$(EXEEXT) $(am__EXEEXT_2) +@INSTALL_UMAX_PP_TOOLS_TRUE@am__append_1 = umax_pp +@INSTALL_UMAX_PP_TOOLS_FALSE@am__append_2 = umax_pp +@have_usblib_TRUE@am__append_3 = check-usb-chip.c subdir = tools DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs $(srcdir)/sane-config.in \ $(srcdir)/sane-backends.pc.in $(top_srcdir)/depcomp README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ltoptions.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/byteorder.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/configure.in + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/sane/config.h CONFIG_CLEAN_FILES = sane-config sane-backends.pc CONFIG_CLEAN_VPATH_FILES = +@INSTALL_UMAX_PP_TOOLS_TRUE@am__EXEEXT_1 = umax_pp$(EXEEXT) am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \ "$(DESTDIR)$(pkgconfigdir)" +@INSTALL_UMAX_PP_TOOLS_FALSE@am__EXEEXT_2 = umax_pp$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) am_gamma4scanimage_OBJECTS = gamma4scanimage.$(OBJEXT) gamma4scanimage_OBJECTS = $(am_gamma4scanimage_OBJECTS) -gamma4scanimage_DEPENDENCIES = +am__DEPENDENCIES_1 = +gamma4scanimage_DEPENDENCIES = $(am__DEPENDENCIES_1) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -118,14 +123,19 @@ am__v_lt_1 = am_sane_desc_OBJECTS = sane-desc.$(OBJEXT) sane_desc_OBJECTS = $(am_sane_desc_OBJECTS) sane_desc_DEPENDENCIES = ../sanei/libsanei.la ../lib/liblib.la +am__sane_find_scanner_SOURCES_DIST = sane-find-scanner.c \ + check-usb-chip.c +@have_usblib_TRUE@am__objects_1 = check-usb-chip.$(OBJEXT) am_sane_find_scanner_OBJECTS = sane-find-scanner.$(OBJEXT) \ - check-usb-chip.$(OBJEXT) sane_strstatus.$(OBJEXT) + $(am__objects_1) sane_find_scanner_OBJECTS = $(am_sane_find_scanner_OBJECTS) -sane_find_scanner_DEPENDENCIES = ../sanei/libsanei.la ../lib/liblib.la -am_umax_pp_OBJECTS = umax_pp-umax_pp.$(OBJEXT) \ - umax_pp-umax_pp_low.$(OBJEXT) +sane_find_scanner_DEPENDENCIES = ../sanei/libsanei.la ../lib/liblib.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) ../backend/sane_strstatus.lo +am_umax_pp_OBJECTS = umax_pp.$(OBJEXT) umax_pp_OBJECTS = $(am_umax_pp_OBJECTS) -umax_pp_DEPENDENCIES = ../sanei/libsanei.la ../lib/liblib.la +umax_pp_DEPENDENCIES = ../sanei/libsanei.la ../lib/liblib.la \ + $(am__DEPENDENCIES_1) ../backend/umax_pp_low.lo am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -191,7 +201,7 @@ am__v_CCLD_1 = SOURCES = $(gamma4scanimage_SOURCES) $(sane_desc_SOURCES) \ $(sane_find_scanner_SOURCES) $(umax_pp_SOURCES) DIST_SOURCES = $(gamma4scanimage_SOURCES) $(sane_desc_SOURCES) \ - $(sane_find_scanner_SOURCES) $(umax_pp_SOURCES) + $(am__sane_find_scanner_SOURCES_DIST) $(umax_pp_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -221,7 +231,11 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ +AM_CFLAGS = @AM_CFLAGS@ +AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(srcdir) -I$(top_builddir)/include \ + -I$(top_srcdir)/include $(USB_CFLAGS) AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -242,7 +256,7 @@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DISTCLEAN_FILES = @DISTCLEAN_FILES@ +DLH = @DLH@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DSYMUTIL = @DSYMUTIL@ @@ -255,34 +269,42 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIG2DEV = @FIG2DEV@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GREP = @GREP@ +GS = @GS@ HAVE_GPHOTO2 = @HAVE_GPHOTO2@ IEEE1284_LIBS = @IEEE1284_LIBS@ -INCLUDES = @INCLUDES@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JPEG_LIBS = @JPEG_LIBS@ LATEX = @LATEX@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LIBUSB_1_0_CFLAGS = @LIBUSB_1_0_CFLAGS@ -LIBUSB_1_0_LIBS = @LIBUSB_1_0_LIBS@ LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ LIBV4L_LIBS = @LIBV4L_LIBS@ -LINKER_RPATH = @LINKER_RPATH@ LIPO = @LIPO@ LN_S = @LN_S@ LOCKPATH_GROUP = @LOCKPATH_GROUP@ +LTALLOCA = @LTALLOCA@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINDEX = @MAKEINDEX@ @@ -291,10 +313,10 @@ MANIFEST_TOOL = @MANIFEST_TOOL@ MATH_LIB = @MATH_LIB@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ -NUMBER_VERSION = @NUMBER_VERSION@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ @@ -307,10 +329,13 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_LIBS = @PNG_LIBS@ +POSUB = @POSUB@ +PPMTOGIF = @PPMTOGIF@ PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ PTHREAD_LIBS = @PTHREAD_LIBS@ @@ -332,12 +357,16 @@ SYSLOG_LIBS = @SYSLOG_LIBS@ SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ SYSTEMD_LIBS = @SYSTEMD_LIBS@ TIFF_LIBS = @TIFF_LIBS@ +USB_CFLAGS = @USB_CFLAGS@ USB_LIBS = @USB_LIBS@ +USE_NLS = @USE_NLS@ VERSION = @VERSION@ V_MAJOR = @V_MAJOR@ V_MINOR = @V_MINOR@ V_REV = @V_REV@ XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -393,9 +422,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/include \ - -I$(top_srcdir)/include - @CROSS_COMPILING_FALSE@HOTPLUG = hal/libsane.fdi hotplug/libsane.usermap hotplug-ng/libsane.db \ @CROSS_COMPILING_FALSE@ udev/libsane.rules @@ -412,21 +438,22 @@ EXTRA_DIST = check-po.awk libtool-get-dll-ext mustek600iin-off.c \ RenSaneDlls.cmd README xerox hotplug/README \ hotplug/libusbscanner hotplug-ng/README \ hotplug-ng/libsane.hotplug openbsd/attach openbsd/detach -sane_find_scanner_SOURCES = sane-find-scanner.c check-usb-chip.c \ - ../backend/sane_strstatus.c - +sane_find_scanner_SOURCES = sane-find-scanner.c $(am__append_3) sane_find_scanner_LDADD = ../sanei/libsanei.la ../lib/liblib.la \ - @USB_LIBS@ @IEEE1284_LIBS@ @SCSI_LIBS@ + $(USB_LIBS) $(IEEE1284_LIBS) $(SCSI_LIBS) \ + ../backend/sane_strstatus.lo gamma4scanimage_SOURCES = gamma4scanimage.c -gamma4scanimage_LDADD = @MATH_LIB@ -umax_pp_SOURCES = umax_pp.c ../backend/umax_pp_low.c -umax_pp_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=umax_pp_low -umax_pp_LDADD = ../sanei/libsanei.la ../lib/liblib.la @MATH_LIB@ +gamma4scanimage_LDADD = $(MATH_LIB) +umax_pp_SOURCES = umax_pp.c +umax_pp_LDADD = ../sanei/libsanei.la ../lib/liblib.la $(MATH_LIB) \ + ../backend/umax_pp_low.lo + sane_desc_SOURCES = sane-desc.c sane_desc_LDADD = ../sanei/libsanei.la ../lib/liblib.la pkgconfigdir = @libdir@/pkgconfig pkgconfig_DATA = sane-backends.pc +descriptions = ${top_srcdir}/doc/descriptions/*.desc ${top_srcdir}/doc/descriptions-external/*.desc all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am @@ -586,73 +613,32 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gamma4scanimage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sane-desc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sane-find-scanner.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sane_strstatus.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umax_pp-umax_pp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umax_pp-umax_pp_low.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umax_pp.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< -sane_strstatus.o: ../backend/sane_strstatus.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sane_strstatus.o -MD -MP -MF $(DEPDIR)/sane_strstatus.Tpo -c -o sane_strstatus.o `test -f '../backend/sane_strstatus.c' || echo '$(srcdir)/'`../backend/sane_strstatus.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/sane_strstatus.Tpo $(DEPDIR)/sane_strstatus.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../backend/sane_strstatus.c' object='sane_strstatus.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sane_strstatus.o `test -f '../backend/sane_strstatus.c' || echo '$(srcdir)/'`../backend/sane_strstatus.c - -sane_strstatus.obj: ../backend/sane_strstatus.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sane_strstatus.obj -MD -MP -MF $(DEPDIR)/sane_strstatus.Tpo -c -o sane_strstatus.obj `if test -f '../backend/sane_strstatus.c'; then $(CYGPATH_W) '../backend/sane_strstatus.c'; else $(CYGPATH_W) '$(srcdir)/../backend/sane_strstatus.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/sane_strstatus.Tpo $(DEPDIR)/sane_strstatus.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../backend/sane_strstatus.c' object='sane_strstatus.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sane_strstatus.obj `if test -f '../backend/sane_strstatus.c'; then $(CYGPATH_W) '../backend/sane_strstatus.c'; else $(CYGPATH_W) '$(srcdir)/../backend/sane_strstatus.c'; fi` - -umax_pp-umax_pp.o: umax_pp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(umax_pp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT umax_pp-umax_pp.o -MD -MP -MF $(DEPDIR)/umax_pp-umax_pp.Tpo -c -o umax_pp-umax_pp.o `test -f 'umax_pp.c' || echo '$(srcdir)/'`umax_pp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/umax_pp-umax_pp.Tpo $(DEPDIR)/umax_pp-umax_pp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='umax_pp.c' object='umax_pp-umax_pp.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(umax_pp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o umax_pp-umax_pp.o `test -f 'umax_pp.c' || echo '$(srcdir)/'`umax_pp.c - -umax_pp-umax_pp.obj: umax_pp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(umax_pp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT umax_pp-umax_pp.obj -MD -MP -MF $(DEPDIR)/umax_pp-umax_pp.Tpo -c -o umax_pp-umax_pp.obj `if test -f 'umax_pp.c'; then $(CYGPATH_W) 'umax_pp.c'; else $(CYGPATH_W) '$(srcdir)/umax_pp.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/umax_pp-umax_pp.Tpo $(DEPDIR)/umax_pp-umax_pp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='umax_pp.c' object='umax_pp-umax_pp.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(umax_pp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o umax_pp-umax_pp.obj `if test -f 'umax_pp.c'; then $(CYGPATH_W) 'umax_pp.c'; else $(CYGPATH_W) '$(srcdir)/umax_pp.c'; fi` - -umax_pp-umax_pp_low.o: ../backend/umax_pp_low.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(umax_pp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT umax_pp-umax_pp_low.o -MD -MP -MF $(DEPDIR)/umax_pp-umax_pp_low.Tpo -c -o umax_pp-umax_pp_low.o `test -f '../backend/umax_pp_low.c' || echo '$(srcdir)/'`../backend/umax_pp_low.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/umax_pp-umax_pp_low.Tpo $(DEPDIR)/umax_pp-umax_pp_low.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../backend/umax_pp_low.c' object='umax_pp-umax_pp_low.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(umax_pp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o umax_pp-umax_pp_low.o `test -f '../backend/umax_pp_low.c' || echo '$(srcdir)/'`../backend/umax_pp_low.c - -umax_pp-umax_pp_low.obj: ../backend/umax_pp_low.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(umax_pp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT umax_pp-umax_pp_low.obj -MD -MP -MF $(DEPDIR)/umax_pp-umax_pp_low.Tpo -c -o umax_pp-umax_pp_low.obj `if test -f '../backend/umax_pp_low.c'; then $(CYGPATH_W) '../backend/umax_pp_low.c'; else $(CYGPATH_W) '$(srcdir)/../backend/umax_pp_low.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/umax_pp-umax_pp_low.Tpo $(DEPDIR)/umax_pp-umax_pp_low.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../backend/umax_pp_low.c' object='umax_pp-umax_pp_low.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(umax_pp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o umax_pp-umax_pp_low.obj `if test -f '../backend/umax_pp_low.c'; then $(CYGPATH_W) '../backend/umax_pp_low.c'; else $(CYGPATH_W) '$(srcdir)/../backend/umax_pp_low.c'; fi` - mostlyclean-libtool: -rm -f *.lo @@ -903,19 +889,19 @@ dirs: $(MKDIR_P) $$subdir || exit 1; \ done -hotplug/libsane.usermap: $(wildcard ${top_srcdir}/doc/descriptions/*.desc) $(wildcard ${top_srcdir}/doc/descriptions-external/*.desc) sane-desc +hotplug/libsane.usermap: sane-desc $(descriptions) @./sane-desc -m usermap -s ${top_srcdir}/doc/descriptions:${top_srcdir}/doc/descriptions-external \ -d 1 > $@ -hotplug-ng/libsane.db: $(wildcard ${top_srcdir}/doc/descriptions/*.desc) $(wildcard ${top_srcdir}/doc/descriptions-external/*.desc) sane-desc +hotplug-ng/libsane.db: sane-desc $(descriptions) @./sane-desc -m db -s ${top_srcdir}/doc/descriptions:${top_srcdir}/doc/descriptions-external \ -d 0 > $@ -udev/libsane.rules: $(wildcard ${top_srcdir}/doc/descriptions/*.desc) $(wildcard ${top_srcdir}/doc/descriptions-external/*.desc) sane-desc +udev/libsane.rules: sane-desc $(descriptions) @./sane-desc -m udev -s ${top_srcdir}/doc/descriptions:${top_srcdir}/doc/descriptions-external \ -d 0 > $@ -hal/libsane.fdi: $(wildcard ${top_srcdir}/doc/descriptions/*.desc) $(wildcard ${top_srcdir}/doc/descriptions-external/*.desc) sane-desc +hal/libsane.fdi: sane-desc $(descriptions) @./sane-desc -m hal -s ${top_srcdir}/doc/descriptions:${top_srcdir}/doc/descriptions-external \ -d 0 > $@ diff --git a/tools/README b/tools/README index 6002113..10d0d95 100644 --- a/tools/README +++ b/tools/README @@ -68,7 +68,9 @@ Maybe useful for SANE developers: check-po.awk: Print untranslated and fuzzy messages and their line numbers in the source code and po file. Example: - cd po/ ; ../tools/check-po.awk sane-backends.de.po - You may need to adjust the path of awk in the first line of the - script. More documentation is in the script itself. + tools/check-po.awk po/de.po + You may need to adjust the path of gawk in the first line of the + script. Alternatively, run it via gawk's -f option, like so: + gawk -f tools/check-po.awk po/de.po + More documentation is in the script itself. diff --git a/tools/check-po.awk b/tools/check-po.awk index 25e0728..09e4d15 100755 --- a/tools/check-po.awk +++ b/tools/check-po.awk @@ -1,4 +1,4 @@ -#!/bin/awk -f +#!/usr/bin/gawk -f # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as diff --git a/tools/check-usb-chip.c b/tools/check-usb-chip.c index e851855..50b3e88 100644 --- a/tools/check-usb-chip.c +++ b/tools/check-usb-chip.c @@ -28,7 +28,7 @@ #include "../include/sane/config.h" -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY #include "../include/sane/sane.h" #include @@ -1408,7 +1408,7 @@ check_gl646 (struct usb_device *dev) return "GL646"; } -/* Same as check_gl646, except that sanity check are different. */ +/* Same as check_gl646, except that sanity checks are different. */ static char * check_gl646_hp (struct usb_device *dev) { @@ -3430,9 +3430,9 @@ check_usb_chip (struct usb_device *dev, int verbosity, SANE_Bool from_file) return chip_name; } -#endif /* HAVE_LIBUSB */ +#endif /* HAVE_LIBUSB_LEGACY */ -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB #include @@ -4335,4 +4335,4 @@ check_usb_chip (int verbosity, libusb_release_interface (hdl, 0); return chip_name; } -#endif /* HAVE_LIBUSB_1_0 */ +#endif /* HAVE_LIBUSB */ diff --git a/tools/sane-config.in b/tools/sane-config.in index 8e4b52a..6b7cd30 100644 --- a/tools/sane-config.in +++ b/tools/sane-config.in @@ -37,7 +37,7 @@ fi if test $# -gt 0; then case $1 in --version) - echo @NUMBER_VERSION@ + echo @V_MAJOR@.@V_MINOR@.@V_REV@ ;; --help) if test $# -eq 1; then diff --git a/tools/sane-find-scanner.c b/tools/sane-find-scanner.c index ae0e116..04f19d9 100644 --- a/tools/sane-find-scanner.c +++ b/tools/sane-find-scanner.c @@ -46,7 +46,7 @@ #include "../include/sane/sanei_pa4s2.h" #include "../include/sane/sanei_config.h" -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY #ifdef HAVE_LUSB0_USB_H #include #else @@ -55,7 +55,7 @@ extern char * check_usb_chip (struct usb_device *dev, int verbosity, SANE_Bool from_file); #endif -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB #include extern char * check_usb_chip (int verbosity, struct libusb_device_descriptor desc, @@ -76,7 +76,7 @@ static SANE_Bool device_found = SANE_FALSE; static SANE_Bool libusb_device_found = SANE_FALSE; static SANE_Bool unknown_found = SANE_FALSE; -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB libusb_context *sfs_usb_ctx; #endif @@ -115,7 +115,7 @@ usage (char *msg) fprintf (stderr, "\t-f: force opening devname as SCSI even if it looks " "like USB\n"); fprintf (stderr, "\t-p: enable scanning for parallel port devices\n"); -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY fprintf (stderr, "\t-F file: try to detect chipset from given " "/proc/bus/usb/devices file\n"); #endif @@ -403,7 +403,7 @@ check_usb_file (char *file_name) } } -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY static char * get_libusb_string_descriptor (struct usb_device *dev, int index) @@ -701,10 +701,10 @@ check_libusb_device (struct usb_device *dev, SANE_Bool from_file) if (product) free (product); } -#endif /* HAVE_LIBUSB */ +#endif /* HAVE_LIBUSB_LEGACY */ -#ifdef HAVE_LIBUSB_1_0 +#ifdef HAVE_LIBUSB static char * sfs_libusb_strerror (int errcode) { @@ -1095,7 +1095,7 @@ check_libusb_device (libusb_device *dev, SANE_Bool from_file) if (product) free (product); } -#endif /* HAVE_LIBUSB_1_0 */ +#endif /* HAVE_LIBUSB */ static DIR * @@ -1355,7 +1355,7 @@ check_mustek_pp_device (void) return (found > 0 || scsi > 0); } -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY static SANE_Bool parse_num (char* search, const char* line, int base, long int * number) { @@ -1596,9 +1596,9 @@ main (int argc, char **argv) break; case 'F': -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY parse_file ((char *) (*(++ap))); -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) printf ("option -F not implemented with libusb-1.0\n"); #else printf ("libusb not available: option -F can't be used\n"); @@ -1797,7 +1797,7 @@ main (int argc, char **argv) "/dev/scanner", "/dev/scanner0", "/dev/scanner1", "/dev/pass0", "/dev/pass1", "/dev/pass2", "/dev/pass3", "/dev/pass4", "/dev/pass5", "/dev/pass6", "/dev/pass7", -#elif defined(__FreeBSD__) +#elif defined(__FreeBSD__) || defined(__DragonFly__) "/dev/uk0", "/dev/uk1", "/dev/uk2", "/dev/uk3", "/dev/uk4", "/dev/uk5", "/dev/uk6", #elif defined(__NetBSD__) @@ -1948,7 +1948,7 @@ main (int argc, char **argv) check_usb_file (dev_name); } } -#ifdef HAVE_LIBUSB +#ifdef HAVE_LIBUSB_LEGACY /* Now the libusb devices */ { struct usb_bus *bus; @@ -1973,7 +1973,7 @@ main (int argc, char **argv) } /* for (bus) */ } } -#elif defined(HAVE_LIBUSB_1_0) +#elif defined(HAVE_LIBUSB) /* Now the libusb-1.0 devices */ { if (ap < argv + argc) @@ -2026,10 +2026,10 @@ main (int argc, char **argv) ; /* init failed, jumping here */ } } -#else /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ if (verbose > 1) printf ("libusb not available\n"); -#endif /* not HAVE_LIBUSB && not HAVE_LIBUSB_1_0 */ +#endif /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ if (device_found) { @@ -2062,7 +2062,7 @@ main (int argc, char **argv) "make sure that\n # you have loaded a kernel driver for your USB host " "controller and have setup\n # the USB system correctly. " "See man sane-usb for details.\n"); -#if !defined(HAVE_LIBUSB) && !defined(HAVE_LIBUSB_1_0) +#if !defined(HAVE_LIBUSB_LEGACY) && !defined(HAVE_LIBUSB) if (verbose > 0) printf (" # SANE has been built without libusb support. This may be a " "reason\n # for not detecting USB scanners. Read README for " @@ -2074,7 +2074,7 @@ main (int argc, char **argv) if (!check_mustek_pp_device() && verbose > 0) printf ("\n # No Mustek parallel port scanners found. If you expected" " something\n # different, make sure the scanner is correctly" - " connected to your computer\n # and you have apropriate" + " connected to your computer\n # and you have appropriate" " access rights.\n"); } else if (verbose > 0) -- cgit v1.2.3 From 2ea1114b4bd294ae0a60985945956507ec25d430 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 27 Apr 2019 09:13:33 +0200 Subject: Merge release 1.0.27.3.2 into source tree --- debian/TROUBLESHOOTING.Debian | 4 +- debian/changelog | 25 + debian/control | 10 +- debian/libsane.NEWS | 19 + debian/libsane.README.Debian | 172 + debian/libsane.dirs | 1 + debian/libsane.docs | 1 + debian/libsane.install | 2 + debian/libsane.postinst | 24 + debian/libsane.symbols.alpha | 7314 +++++++++++++++++++ debian/libsane.symbols.amd64 | 7363 ++++++++++++++++++++ debian/libsane.symbols.arm64 | 7257 +++++++++++++++++++ debian/libsane.symbols.armel | 7314 +++++++++++++++++++ debian/libsane.symbols.armhf | 7314 +++++++++++++++++++ debian/libsane.symbols.hppa | 7257 +++++++++++++++++++ debian/libsane.symbols.i386 | 7314 +++++++++++++++++++ debian/libsane.symbols.kfreebsd-amd64 | 7361 +++++++++++++++++++ debian/libsane.symbols.kfreebsd-i386 | 7361 +++++++++++++++++++ debian/libsane.symbols.m68k | 7257 +++++++++++++++++++ debian/libsane.symbols.mips | 7257 +++++++++++++++++++ debian/libsane.symbols.mips64el | 7257 +++++++++++++++++++ debian/libsane.symbols.mipsel | 7257 +++++++++++++++++++ debian/libsane.symbols.powerpc | 7257 +++++++++++++++++++ debian/libsane.symbols.powerpcspe | 7257 +++++++++++++++++++ debian/libsane.symbols.ppc64 | 7257 +++++++++++++++++++ debian/libsane.symbols.ppc64el | 7257 +++++++++++++++++++ debian/libsane.symbols.s390x | 7257 +++++++++++++++++++ debian/libsane.symbols.sh4 | 7257 +++++++++++++++++++ debian/libsane.symbols.sparc64 | 7257 +++++++++++++++++++ debian/libsane.symbols.x32 | 7314 +++++++++++++++++++ .../0720-mustek_usb2-Avoid-stack-smashing.patch | 88 + debian/patches/series | 1 + debian/rules | 8 +- 33 files changed, 153340 insertions(+), 11 deletions(-) create mode 100644 debian/libsane.NEWS create mode 100644 debian/libsane.README.Debian create mode 100644 debian/libsane.dirs create mode 100644 debian/libsane.docs create mode 100644 debian/libsane.install create mode 100644 debian/libsane.postinst create mode 100644 debian/libsane.symbols.alpha create mode 100644 debian/libsane.symbols.amd64 create mode 100644 debian/libsane.symbols.arm64 create mode 100644 debian/libsane.symbols.armel create mode 100644 debian/libsane.symbols.armhf create mode 100644 debian/libsane.symbols.hppa create mode 100644 debian/libsane.symbols.i386 create mode 100644 debian/libsane.symbols.kfreebsd-amd64 create mode 100644 debian/libsane.symbols.kfreebsd-i386 create mode 100644 debian/libsane.symbols.m68k create mode 100644 debian/libsane.symbols.mips create mode 100644 debian/libsane.symbols.mips64el create mode 100644 debian/libsane.symbols.mipsel create mode 100644 debian/libsane.symbols.powerpc create mode 100644 debian/libsane.symbols.powerpcspe create mode 100644 debian/libsane.symbols.ppc64 create mode 100644 debian/libsane.symbols.ppc64el create mode 100644 debian/libsane.symbols.s390x create mode 100644 debian/libsane.symbols.sh4 create mode 100644 debian/libsane.symbols.sparc64 create mode 100644 debian/libsane.symbols.x32 create mode 100644 debian/patches/0720-mustek_usb2-Avoid-stack-smashing.patch diff --git a/debian/TROUBLESHOOTING.Debian b/debian/TROUBLESHOOTING.Debian index f9a9a76..397626f 100644 --- a/debian/TROUBLESHOOTING.Debian +++ b/debian/TROUBLESHOOTING.Debian @@ -18,7 +18,7 @@ REMARK: Sometimes usblp is used to access your printer. From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=789593 -The file /lib/udev/rules.d/60-libsane1.rules uses the command "/bin/setfacl -m g:scanner:rw +The file /lib/udev/rules.d/60-libsane.rules uses the command "/bin/setfacl -m g:scanner:rw $env{DEVNAME}" to add the "scanner" group with rw access to the device permissions. In my case, with /dev on an ext4 filesystem with no ACL support enabled in the kernel, setfacl @@ -26,4 +26,4 @@ returns "Operation not supported". I assume this is because it's trying to add a possible in its fallback mode of traditional Unix-style file permissions. As a workaround, I have substituted "/bin/chown root:scanner $env{DEVNAME}" as the command at the -end of 60-libsane1.rules (an alternative would be to use a UDEV rule element to change the ownership). +end of 60-libsane.rules (an alternative would be to use a UDEV rule element to change the ownership). diff --git a/debian/changelog b/debian/changelog index d2304eb..d8a3386 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,28 @@ +sane-backends (1.0.27-4) UNRELEASED; urgency=medium + + * debian/rules: + - Add --exclude=/sane/ to override_dh_makeshlibs-arch to generate + only public symbols (Closes: #911597). + * Merge release 1.0.27.3.2 into source tree. + + -- Jörg Frings-Fürst Wed, 07 Nov 2018 13:21:48 +0100 + +sane-backends (1.0.27-3.2) unstable; urgency=medium + + * Non-maintainer upload. + * New debian/patches/0720-mustek_usb2-Avoid-stack-smashing.patch + - Fix regression in the mustek_usb2 backend (Closes: #886777). + + -- John Paul Adrian Glaubitz Sat, 23 Mar 2019 17:38:37 +0100 + +sane-backends (1.0.27-3.1) unstable; urgency=medium + + * Non-maintainer upload. + * Rename libsane1 back to libsane, make the renamed package provide libsane1 + (Closes: #908681) + + -- Laurent Bigonville Fri, 02 Nov 2018 20:30:06 +0100 + sane-backends (1.0.27-3) unstable; urgency=medium * debian/rules: diff --git a/debian/control b/debian/control index c52b8dc..0056910 100644 --- a/debian/control +++ b/debian/control @@ -74,13 +74,13 @@ Description: API library for scanners -- documentation and support files This package includes documentation for libsane, such as the man pages and list of supported scanners, and support files (i18n data). -Package: libsane1 +Package: libsane Section: libs Architecture: any Multi-Arch: same -Conflicts: libsane (<< 1.0.27-1~) -Replaces: libsane (<< 1.0.27-1~) -Provides: libsane (= ${binary:Version}) +Breaks: libsane1 (<< 1.0.27-3.1~) +Replaces: libsane1 (<< 1.0.27-3.1~) +Provides: libsane1 (= ${binary:Version}) Depends: acl [linux-any], adduser, @@ -110,7 +110,7 @@ Section: libdevel Architecture: any Multi-Arch: same Depends: - libsane1 (= ${binary:Version}), + libsane (= ${binary:Version}), ${misc:Depends} Description: API development library for scanners [development files] SANE stands for "Scanner Access Now Easy" and is an application diff --git a/debian/libsane.NEWS b/debian/libsane.NEWS new file mode 100644 index 0000000..e9a90b1 --- /dev/null +++ b/debian/libsane.NEWS @@ -0,0 +1,19 @@ +sane-backends (1.0.24-10) unstable; urgency=high + + The v4l backend is disabled since this version. + + -- Jörg Frings-Fürst Sun, 18 Jan 2015 11:46:18 +0100 + +sane-backends (1.0.22-1) unstable; urgency=low + + Starting with this version, sane-backends requires the /dev filesystem to + support ACLs in order to manage the permissions on scanner devices. + + This change was made to provide better support for multi-function (MFP) + devices. + + No action is required on standard Debian systems for this to work; however, + if you have an unusual setup or use a custom kernel, make sure ACLs are + available on /dev on your system. + + -- Julien BLACHE Thu, 02 Jun 2011 14:57:53 +0200 diff --git a/debian/libsane.README.Debian b/debian/libsane.README.Debian new file mode 100644 index 0000000..70277d0 --- /dev/null +++ b/debian/libsane.README.Debian @@ -0,0 +1,172 @@ +libsane (sane-backends) for Debian : +------------------------------------ + +GENERAL +------- + +The configuration files for Debian releases of SANE are located in /etc/sane.d. + +The dll pseudo-backend is responsible for loading other SANE backends that +provide support for the actual hardware. Which backends are loaded is +determined by the contents of the /etc/sane.d/dll.conf file. The dll +pseudo-backend also checks for dll.conf snippets in /etc/sane.d/dll.d; any +file in this directory that doesn't look like a backup file will be treated +as a configuration snippet. + +This facility is used by packages providing external backends (like +hpoj or hplip) to "register" the backends they provide without +much hassle. + +Each backend has a configuration file which specifies which devices, +access methods, options etc. should be used by this backend. The format +and content of each configuration file is documented in the manpage for +the backend, e.g. sane-plustek (5). + +For USB and some SCSI scanners, the parameters can be auto-detected, and +manual configuration is not required. If the auto-detection fails, read +the next paragraph. Again, see the manpage for your backend for more +information. + +For SCSI devices (mostly scanners), the configuration files use the +/dev/scanner device; /dev/scanner is a symbolic link to the appropriate +SCSI device node. It's up to you to create this symbolic link, once you +will have determined which device node it needs to point to. Use the +sane-find-scanner command in the sane-utils package to determine which +SCSI device your scanner is attached to. The sane-find-scanner utility +also discovers USB scanners. + +It can be a good idea to try running sane-find-scanner as root to ensure +there will be no permissions problems while attempting to detect your +devices. + + +DOCUMENTATION +------------- + +For information on configuring and trouble-shooting the various SANE +components, please refer to the manual pages listed below: + + Regarding: Read: + ----------------- ------------------------------------------ + General sane(7) -- your starting point + + scanimage scanimage(1) + xscanimage xscanimage(1) + saned saned(8) + xcam xcam(1) + + Dynamic loading sane-dll(5) + Backends See sane-(5). Each backend + comes with a manual page in section 5 of + the manual system. + + +SETUP +----- + +In this day and age, SANE integrates with udev and ConsoleKit/systemd-logind +seemlessly; this means users physically logged into the machine (as opposed +to users logged in remotely via SSH) have access to the scanners by default. + +The solution proposed below is a legacy setup that remains valid for sharing +scanners with saned or for systems that don't use ConsoleKit/systemd-logind. +Note that this is only a proposed solution, you are free to come up with and +implement whatever access control mechanism you see fit. + +This package added a scanner group to your system. We recommend you add to +this group the users that should be able to access your scanner(s), and +make sure the appropriate device files (eg. /dev/sg0, ...) are owned by root +and the scanner group, with permissions set to 0660. + +For USB and SCSI scanners, the permissions will be automatically set by udev; +the /lib/udev/rules.d/60-libsane.rules file contains a list of USB and SCSI +scanners supported by SANE. + +The udev rules now use ACLs instead of standard UNIX permissions; the scanner +group is added to the ACLs for the corresponding device(s) with read+write +permissions. + +If your scanner is missing from the list, do NOT modify this file; it is not +a configuration file, which means your changes WILL be overwritten upon +upgrade. Instead, create /etc/udev/rules.d/60-libsane.rules and add the udev +rule for your scanner in this file. /lib/udev/rules.d/60-libsane.rules will +then be ignored by udev and /etc/udev/rules.d/60-libsane.rules will be used +instead. + +Feel free to file a bug report (severity wishlist) against the libsane package +to get your scanner added; please mention which backend you use and how well +the scanner is supported (basic, good, ...). + + Note: please do not file bugs requesting the addition of scanners that + aren't supported by the libsane package. For these devices, bugs should + be filed against the Debian package providing support for the device, if + such a package does exist. + +udev will automatically set up the permissions and ownership on the device +node corresponding to your scanner according to the rules defined in the +libsane.rules file (default is root:scanner, 0664). If you want to execute +a script when your scanner is plugged in, add RUN+="/path/to/script" to the +rule matching your scanner. + + +TROUBLESHOOTING +--------------- + +If your scanner does not work, edit the file /etc/sane.d/dll.conf. +Verify that your scanner is not commented out. You may need to +comment out all other scanners in dll.conf. It shouldn't matter, but +sometimes it does. + +The most common cause for a non-working scanner is inappropriate +permissions on the device. So your first reflex should be to check the +permissions of the device used to access your scanner, e.g. /dev/sg0 +or the device pointed to by /dev/scanner. + +If running "scanimage > t.pnm" gives an error like "scanimage: open of +device niash:libusb:002:005 failed: Device busy", powercycling your +scanner might help. + +If you encounter any problems with getting your device(s) recognized, +try setting the various environment variables that are there to assist +in debugging such problems. The environment variables are documented +in the relevant manual pages. For example, to get the maximum amount +of debug information when testing a Mustek scanner, set environment +variables SANE_DEBUG_DLL, SANE_DEBUG_MUSTEK, and SANE_DEBUG_SANEI_SCSI +to 128 and then invoke scanimage or whatever program you're trying to +debug. For a Mustek SCSI scanner at /dev/scanner, you might want to +invoke scanimage as follows: + + scanimage -d mustek:/dev/scanner -h + +If this works, you could try to acquire an image with: + + scanimage -d mustek:/dev/scanner > t.pnm + +If you are not sure what generic SCSI device your scanner is connected +to, try the command sane-find-scanner (sane-utils package). It is +normally sufficient to invoke the program without any arguments. Invoking +this command should produce output similar to this: + + $ sane-find-scanner + sane-find-scanner: found "MUSTEK MFC-06000CZ 1.01" at device /dev/sge + +sane-find-scanner will help you discover your USB scanner, too. + +For some more help can read TROUBLESHOOTING.debian in the doc directory. + + +REPORTING BUGS +-------------- + +When reporting a bug, be it to the SANE developers or to the Debian bug +tracking system, pleases always provide: + - the full version of libsane + - the backend you're using + - the configuration of the backend + - the debug output, obtained by setting the environment variable + SANE_DEBUG_ to a value of 255 (see above, TROUBLESHOOTING) + +Without that, your bug report will take longer to be processed, because we'll +need to ask you for each of these items. Please help us help you. + +-- Julien BLACHE , Wed, 16 Feb 2011 19:00:12 +0100 diff --git a/debian/libsane.dirs b/debian/libsane.dirs new file mode 100644 index 0000000..ad3a3cc --- /dev/null +++ b/debian/libsane.dirs @@ -0,0 +1 @@ +/lib/udev/hwdb.d/ diff --git a/debian/libsane.docs b/debian/libsane.docs new file mode 100644 index 0000000..0ea0ca5 --- /dev/null +++ b/debian/libsane.docs @@ -0,0 +1 @@ +debian/TROUBLESHOOTING.Debian diff --git a/debian/libsane.install b/debian/libsane.install new file mode 100644 index 0000000..b38912c --- /dev/null +++ b/debian/libsane.install @@ -0,0 +1,2 @@ +usr/lib/*/*.so.* +usr/lib/*/sane/*.so.* diff --git a/debian/libsane.postinst b/debian/libsane.postinst new file mode 100644 index 0000000..971103e --- /dev/null +++ b/debian/libsane.postinst @@ -0,0 +1,24 @@ +#!/bin/sh +set -e + +case "$1" in + configure) + # Add the scanner system group if it doesn't exist + if ! getent group | grep -q "^scanner:"; then + echo "Adding scanner group..." + addgroup --quiet --system scanner || true + fi + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "$0 called with unknown argument '$1'" >&2 + exit 1 + ;; +esac + + +#DEBHELPER# diff --git a/debian/libsane.symbols.alpha b/debian/libsane.symbols.alpha new file mode 100644 index 0000000..6722a6a --- /dev/null +++ b/debian/libsane.symbols.alpha @@ -0,0 +1,7314 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-qcam.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_qcam_cancel@Base 1.0.25 + sane_qcam_close@Base 1.0.25 + sane_qcam_control_option@Base 1.0.25 + sane_qcam_exit@Base 1.0.25 + sane_qcam_get_devices@Base 1.0.25 + sane_qcam_get_option_descriptor@Base 1.0.25 + sane_qcam_get_parameters@Base 1.0.25 + sane_qcam_get_select_fd@Base 1.0.25 + sane_qcam_init@Base 1.0.25 + sane_qcam_open@Base 1.0.25 + sane_qcam_read@Base 1.0.25 + sane_qcam_set_io_mode@Base 1.0.25 + sane_qcam_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_qcam@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.amd64 b/debian/libsane.symbols.amd64 new file mode 100644 index 0000000..6eba107 --- /dev/null +++ b/debian/libsane.symbols.amd64 @@ -0,0 +1,7363 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dll.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-qcam.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_qcam_cancel@Base 1.0.25 + sane_qcam_close@Base 1.0.25 + sane_qcam_control_option@Base 1.0.25 + sane_qcam_exit@Base 1.0.25 + sane_qcam_get_devices@Base 1.0.25 + sane_qcam_get_option_descriptor@Base 1.0.25 + sane_qcam_get_parameters@Base 1.0.25 + sane_qcam_get_select_fd@Base 1.0.25 + sane_qcam_init@Base 1.0.25 + sane_qcam_open@Base 1.0.25 + sane_qcam_read@Base 1.0.25 + sane_qcam_set_io_mode@Base 1.0.25 + sane_qcam_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_qcam@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.arm64 b/debian/libsane.symbols.arm64 new file mode 100644 index 0000000..9ec1089 --- /dev/null +++ b/debian/libsane.symbols.arm64 @@ -0,0 +1,7257 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.armel b/debian/libsane.symbols.armel new file mode 100644 index 0000000..6722a6a --- /dev/null +++ b/debian/libsane.symbols.armel @@ -0,0 +1,7314 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-qcam.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_qcam_cancel@Base 1.0.25 + sane_qcam_close@Base 1.0.25 + sane_qcam_control_option@Base 1.0.25 + sane_qcam_exit@Base 1.0.25 + sane_qcam_get_devices@Base 1.0.25 + sane_qcam_get_option_descriptor@Base 1.0.25 + sane_qcam_get_parameters@Base 1.0.25 + sane_qcam_get_select_fd@Base 1.0.25 + sane_qcam_init@Base 1.0.25 + sane_qcam_open@Base 1.0.25 + sane_qcam_read@Base 1.0.25 + sane_qcam_set_io_mode@Base 1.0.25 + sane_qcam_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_qcam@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.armhf b/debian/libsane.symbols.armhf new file mode 100644 index 0000000..6722a6a --- /dev/null +++ b/debian/libsane.symbols.armhf @@ -0,0 +1,7314 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-qcam.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_qcam_cancel@Base 1.0.25 + sane_qcam_close@Base 1.0.25 + sane_qcam_control_option@Base 1.0.25 + sane_qcam_exit@Base 1.0.25 + sane_qcam_get_devices@Base 1.0.25 + sane_qcam_get_option_descriptor@Base 1.0.25 + sane_qcam_get_parameters@Base 1.0.25 + sane_qcam_get_select_fd@Base 1.0.25 + sane_qcam_init@Base 1.0.25 + sane_qcam_open@Base 1.0.25 + sane_qcam_read@Base 1.0.25 + sane_qcam_set_io_mode@Base 1.0.25 + sane_qcam_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_qcam@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.hppa b/debian/libsane.symbols.hppa new file mode 100644 index 0000000..9ec1089 --- /dev/null +++ b/debian/libsane.symbols.hppa @@ -0,0 +1,7257 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.i386 b/debian/libsane.symbols.i386 new file mode 100644 index 0000000..6722a6a --- /dev/null +++ b/debian/libsane.symbols.i386 @@ -0,0 +1,7314 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-qcam.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_qcam_cancel@Base 1.0.25 + sane_qcam_close@Base 1.0.25 + sane_qcam_control_option@Base 1.0.25 + sane_qcam_exit@Base 1.0.25 + sane_qcam_get_devices@Base 1.0.25 + sane_qcam_get_option_descriptor@Base 1.0.25 + sane_qcam_get_parameters@Base 1.0.25 + sane_qcam_get_select_fd@Base 1.0.25 + sane_qcam_init@Base 1.0.25 + sane_qcam_open@Base 1.0.25 + sane_qcam_read@Base 1.0.25 + sane_qcam_set_io_mode@Base 1.0.25 + sane_qcam_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_qcam@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.kfreebsd-amd64 b/debian/libsane.symbols.kfreebsd-amd64 new file mode 100644 index 0000000..0d756e8 --- /dev/null +++ b/debian/libsane.symbols.kfreebsd-amd64 @@ -0,0 +1,7361 @@ +libsane-abaton.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + cmparray@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-qcam.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_qcam_cancel@Base 1.0.25 + sane_qcam_close@Base 1.0.25 + sane_qcam_control_option@Base 1.0.25 + sane_qcam_exit@Base 1.0.25 + sane_qcam_get_devices@Base 1.0.25 + sane_qcam_get_option_descriptor@Base 1.0.25 + sane_qcam_get_parameters@Base 1.0.25 + sane_qcam_get_select_fd@Base 1.0.25 + sane_qcam_init@Base 1.0.25 + sane_qcam_open@Base 1.0.25 + sane_qcam_read@Base 1.0.25 + sane_qcam_set_io_mode@Base 1.0.25 + sane_qcam_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_qcam@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.kfreebsd-i386 b/debian/libsane.symbols.kfreebsd-i386 new file mode 100644 index 0000000..0d756e8 --- /dev/null +++ b/debian/libsane.symbols.kfreebsd-i386 @@ -0,0 +1,7361 @@ +libsane-abaton.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + cmparray@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-qcam.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_qcam_cancel@Base 1.0.25 + sane_qcam_close@Base 1.0.25 + sane_qcam_control_option@Base 1.0.25 + sane_qcam_exit@Base 1.0.25 + sane_qcam_get_devices@Base 1.0.25 + sane_qcam_get_option_descriptor@Base 1.0.25 + sane_qcam_get_parameters@Base 1.0.25 + sane_qcam_get_select_fd@Base 1.0.25 + sane_qcam_init@Base 1.0.25 + sane_qcam_open@Base 1.0.25 + sane_qcam_read@Base 1.0.25 + sane_qcam_set_io_mode@Base 1.0.25 + sane_qcam_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_qcam@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cam_compare_inquiry@Base 1.0.27 + cam_devices@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.m68k b/debian/libsane.symbols.m68k new file mode 100644 index 0000000..9ec1089 --- /dev/null +++ b/debian/libsane.symbols.m68k @@ -0,0 +1,7257 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.mips b/debian/libsane.symbols.mips new file mode 100644 index 0000000..9ec1089 --- /dev/null +++ b/debian/libsane.symbols.mips @@ -0,0 +1,7257 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.mips64el b/debian/libsane.symbols.mips64el new file mode 100644 index 0000000..9ec1089 --- /dev/null +++ b/debian/libsane.symbols.mips64el @@ -0,0 +1,7257 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.mipsel b/debian/libsane.symbols.mipsel new file mode 100644 index 0000000..9ec1089 --- /dev/null +++ b/debian/libsane.symbols.mipsel @@ -0,0 +1,7257 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.powerpc b/debian/libsane.symbols.powerpc new file mode 100644 index 0000000..9ec1089 --- /dev/null +++ b/debian/libsane.symbols.powerpc @@ -0,0 +1,7257 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.powerpcspe b/debian/libsane.symbols.powerpcspe new file mode 100644 index 0000000..9ec1089 --- /dev/null +++ b/debian/libsane.symbols.powerpcspe @@ -0,0 +1,7257 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.ppc64 b/debian/libsane.symbols.ppc64 new file mode 100644 index 0000000..9ec1089 --- /dev/null +++ b/debian/libsane.symbols.ppc64 @@ -0,0 +1,7257 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.ppc64el b/debian/libsane.symbols.ppc64el new file mode 100644 index 0000000..9ec1089 --- /dev/null +++ b/debian/libsane.symbols.ppc64el @@ -0,0 +1,7257 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.s390x b/debian/libsane.symbols.s390x new file mode 100644 index 0000000..9ec1089 --- /dev/null +++ b/debian/libsane.symbols.s390x @@ -0,0 +1,7257 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.sh4 b/debian/libsane.symbols.sh4 new file mode 100644 index 0000000..9ec1089 --- /dev/null +++ b/debian/libsane.symbols.sh4 @@ -0,0 +1,7257 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.sparc64 b/debian/libsane.symbols.sparc64 new file mode 100644 index 0000000..9ec1089 --- /dev/null +++ b/debian/libsane.symbols.sparc64 @@ -0,0 +1,7257 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.x32 b/debian/libsane.symbols.x32 new file mode 100644 index 0000000..6722a6a --- /dev/null +++ b/debian/libsane.symbols.x32 @@ -0,0 +1,7314 @@ +libsane-abaton.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_abaton_cancel@Base 1.0.25 + sane_abaton_close@Base 1.0.25 + sane_abaton_control_option@Base 1.0.25 + sane_abaton_exit@Base 1.0.25 + sane_abaton_get_devices@Base 1.0.25 + sane_abaton_get_option_descriptor@Base 1.0.25 + sane_abaton_get_parameters@Base 1.0.25 + sane_abaton_get_select_fd@Base 1.0.25 + sane_abaton_init@Base 1.0.25 + sane_abaton_open@Base 1.0.25 + sane_abaton_read@Base 1.0.25 + sane_abaton_set_io_mode@Base 1.0.25 + sane_abaton_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_abaton@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-agfafocus.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_agfafocus_cancel@Base 1.0.25 + sane_agfafocus_close@Base 1.0.25 + sane_agfafocus_control_option@Base 1.0.25 + sane_agfafocus_exit@Base 1.0.25 + sane_agfafocus_get_devices@Base 1.0.25 + sane_agfafocus_get_option_descriptor@Base 1.0.25 + sane_agfafocus_get_parameters@Base 1.0.25 + sane_agfafocus_get_select_fd@Base 1.0.25 + sane_agfafocus_init@Base 1.0.25 + sane_agfafocus_open@Base 1.0.25 + sane_agfafocus_read@Base 1.0.25 + sane_agfafocus_set_io_mode@Base 1.0.25 + sane_agfafocus_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_agfafocus@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-apple.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_apple_cancel@Base 1.0.25 + sane_apple_close@Base 1.0.25 + sane_apple_control_option@Base 1.0.25 + sane_apple_exit@Base 1.0.25 + sane_apple_get_devices@Base 1.0.25 + sane_apple_get_option_descriptor@Base 1.0.25 + sane_apple_get_parameters@Base 1.0.25 + sane_apple_get_select_fd@Base 1.0.25 + sane_apple_init@Base 1.0.25 + sane_apple_open@Base 1.0.25 + sane_apple_read@Base 1.0.25 + sane_apple_set_io_mode@Base 1.0.25 + sane_apple_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_apple@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_cancel@Base 1.0.25 + sane_artec_close@Base 1.0.25 + sane_artec_control_option@Base 1.0.25 + sane_artec_exit@Base 1.0.25 + sane_artec_get_devices@Base 1.0.25 + sane_artec_get_option_descriptor@Base 1.0.25 + sane_artec_get_parameters@Base 1.0.25 + sane_artec_get_select_fd@Base 1.0.25 + sane_artec_init@Base 1.0.25 + sane_artec_open@Base 1.0.25 + sane_artec_read@Base 1.0.25 + sane_artec_set_io_mode@Base 1.0.25 + sane_artec_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-artec_eplus48u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_artec_eplus48u_cancel@Base 1.0.25 + sane_artec_eplus48u_close@Base 1.0.25 + sane_artec_eplus48u_control_option@Base 1.0.25 + sane_artec_eplus48u_exit@Base 1.0.25 + sane_artec_eplus48u_get_devices@Base 1.0.25 + sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 + sane_artec_eplus48u_get_parameters@Base 1.0.25 + sane_artec_eplus48u_get_select_fd@Base 1.0.25 + sane_artec_eplus48u_init@Base 1.0.25 + sane_artec_eplus48u_open@Base 1.0.25 + sane_artec_eplus48u_read@Base 1.0.25 + sane_artec_eplus48u_set_io_mode@Base 1.0.25 + sane_artec_eplus48u_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_artec_eplus48u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-as6e.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_as6e_cancel@Base 1.0.25 + sane_as6e_close@Base 1.0.25 + sane_as6e_control_option@Base 1.0.25 + sane_as6e_exit@Base 1.0.25 + sane_as6e_get_devices@Base 1.0.25 + sane_as6e_get_option_descriptor@Base 1.0.25 + sane_as6e_get_parameters@Base 1.0.25 + sane_as6e_get_select_fd@Base 1.0.25 + sane_as6e_init@Base 1.0.25 + sane_as6e_open@Base 1.0.25 + sane_as6e_read@Base 1.0.25 + sane_as6e_set_io_mode@Base 1.0.25 + sane_as6e_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_as6e@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-avision.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_avision_cancel@Base 1.0.25 + sane_avision_close@Base 1.0.25 + sane_avision_control_option@Base 1.0.25 + sane_avision_exit@Base 1.0.25 + sane_avision_get_devices@Base 1.0.25 + sane_avision_get_option_descriptor@Base 1.0.25 + sane_avision_get_parameters@Base 1.0.25 + sane_avision_get_select_fd@Base 1.0.25 + sane_avision_init@Base 1.0.25 + sane_avision_open@Base 1.0.25 + sane_avision_read@Base 1.0.25 + sane_avision_set_io_mode@Base 1.0.25 + sane_avision_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_avision@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-bh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_bh_cancel@Base 1.0.25 + sane_bh_close@Base 1.0.25 + sane_bh_control_option@Base 1.0.25 + sane_bh_exit@Base 1.0.25 + sane_bh_get_devices@Base 1.0.25 + sane_bh_get_option_descriptor@Base 1.0.25 + sane_bh_get_parameters@Base 1.0.25 + sane_bh_get_select_fd@Base 1.0.25 + sane_bh_init@Base 1.0.25 + sane_bh_open@Base 1.0.25 + sane_bh_read@Base 1.0.25 + sane_bh_set_io_mode@Base 1.0.25 + sane_bh_start@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bh@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_cancel@Base 1.0.25 + sane_canon_close@Base 1.0.25 + sane_canon_control_option@Base 1.0.25 + sane_canon_exit@Base 1.0.25 + sane_canon_get_devices@Base 1.0.25 + sane_canon_get_option_descriptor@Base 1.0.25 + sane_canon_get_parameters@Base 1.0.25 + sane_canon_get_select_fd@Base 1.0.25 + sane_canon_init@Base 1.0.25 + sane_canon_open@Base 1.0.25 + sane_canon_read@Base 1.0.25 + sane_canon_set_io_mode@Base 1.0.25 + sane_canon_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-canon630u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon630u_cancel@Base 1.0.25 + sane_canon630u_close@Base 1.0.25 + sane_canon630u_control_option@Base 1.0.25 + sane_canon630u_exit@Base 1.0.25 + sane_canon630u_get_devices@Base 1.0.25 + sane_canon630u_get_option_descriptor@Base 1.0.25 + sane_canon630u_get_parameters@Base 1.0.25 + sane_canon630u_get_select_fd@Base 1.0.25 + sane_canon630u_init@Base 1.0.25 + sane_canon630u_open@Base 1.0.25 + sane_canon630u_read@Base 1.0.25 + sane_canon630u_set_io_mode@Base 1.0.25 + sane_canon630u_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon630u@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_dr.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_canon_dr_cancel@Base 1.0.25 + sane_canon_dr_close@Base 1.0.25 + sane_canon_dr_control_option@Base 1.0.25 + sane_canon_dr_exit@Base 1.0.25 + sane_canon_dr_get_devices@Base 1.0.25 + sane_canon_dr_get_option_descriptor@Base 1.0.25 + sane_canon_dr_get_parameters@Base 1.0.25 + sane_canon_dr_get_select_fd@Base 1.0.25 + sane_canon_dr_init@Base 1.0.25 + sane_canon_dr_open@Base 1.0.25 + sane_canon_dr_read@Base 1.0.25 + sane_canon_dr_set_io_mode@Base 1.0.25 + sane_canon_dr_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_dr@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-canon_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pl@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_canon_pp_cancel@Base 1.0.25 + sane_canon_pp_close@Base 1.0.25 + sane_canon_pp_control_option@Base 1.0.25 + sane_canon_pp_exit@Base 1.0.25 + sane_canon_pp_get_devices@Base 1.0.25 + sane_canon_pp_get_option_descriptor@Base 1.0.25 + sane_canon_pp_get_parameters@Base 1.0.25 + sane_canon_pp_get_select_fd@Base 1.0.25 + sane_canon_pp_init@Base 1.0.25 + sane_canon_pp_open@Base 1.0.25 + sane_canon_pp_read@Base 1.0.25 + sane_canon_pp_set_io_mode@Base 1.0.25 + sane_canon_pp_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_canon_pp_abort_scan@Base 1.0.25 + sanei_canon_pp_adjust_gamma@Base 1.0.25 + sanei_canon_pp_calibrate@Base 1.0.25 + sanei_canon_pp_check_status@Base 1.0.25 + sanei_canon_pp_close_scanner@Base 1.0.25 + sanei_canon_pp_detect@Base 1.0.25 + sanei_canon_pp_init_scan@Base 1.0.25 + sanei_canon_pp_initialise@Base 1.0.25 + sanei_canon_pp_load_weights@Base 1.0.25 + sanei_canon_pp_read@Base 1.0.25 + sanei_canon_pp_read_segment@Base 1.0.25 + sanei_canon_pp_scanner_init@Base 1.0.25 + sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 + sanei_canon_pp_sleep_scanner@Base 1.0.25 + sanei_canon_pp_wake_scanner@Base 1.0.25 + sanei_canon_pp_write@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_canon_pp@Base 1.0.25 + sanei_debug_canon_pp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-cardscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_has_cal_buffer@Base 1.0.25 + global_lines_per_block@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_cardscan_cancel@Base 1.0.25 + sane_cardscan_close@Base 1.0.25 + sane_cardscan_control_option@Base 1.0.25 + sane_cardscan_exit@Base 1.0.25 + sane_cardscan_get_devices@Base 1.0.25 + sane_cardscan_get_option_descriptor@Base 1.0.25 + sane_cardscan_get_parameters@Base 1.0.25 + sane_cardscan_get_select_fd@Base 1.0.25 + sane_cardscan_init@Base 1.0.25 + sane_cardscan_open@Base 1.0.25 + sane_cardscan_read@Base 1.0.25 + sane_cardscan_set_io_mode@Base 1.0.25 + sane_cardscan_start@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_cardscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan_cancel@Base 1.0.25 + sane_coolscan_close@Base 1.0.25 + sane_coolscan_control_option@Base 1.0.25 + sane_coolscan_exit@Base 1.0.25 + sane_coolscan_get_devices@Base 1.0.25 + sane_coolscan_get_option_descriptor@Base 1.0.25 + sane_coolscan_get_parameters@Base 1.0.25 + sane_coolscan_get_select_fd@Base 1.0.25 + sane_coolscan_init@Base 1.0.25 + sane_coolscan_open@Base 1.0.25 + sane_coolscan_read@Base 1.0.25 + sane_coolscan_set_io_mode@Base 1.0.25 + sane_coolscan_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan2_cancel@Base 1.0.25 + sane_coolscan2_close@Base 1.0.25 + sane_coolscan2_control_option@Base 1.0.25 + sane_coolscan2_exit@Base 1.0.25 + sane_coolscan2_get_devices@Base 1.0.25 + sane_coolscan2_get_option_descriptor@Base 1.0.25 + sane_coolscan2_get_parameters@Base 1.0.25 + sane_coolscan2_get_select_fd@Base 1.0.25 + sane_coolscan2_init@Base 1.0.25 + sane_coolscan2_open@Base 1.0.25 + sane_coolscan2_read@Base 1.0.25 + sane_coolscan2_set_io_mode@Base 1.0.25 + sane_coolscan2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-coolscan3.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_coolscan3_cancel@Base 1.0.25 + sane_coolscan3_close@Base 1.0.25 + sane_coolscan3_control_option@Base 1.0.25 + sane_coolscan3_exit@Base 1.0.25 + sane_coolscan3_get_devices@Base 1.0.25 + sane_coolscan3_get_option_descriptor@Base 1.0.25 + sane_coolscan3_get_parameters@Base 1.0.25 + sane_coolscan3_get_select_fd@Base 1.0.25 + sane_coolscan3_init@Base 1.0.25 + sane_coolscan3_open@Base 1.0.25 + sane_coolscan3_read@Base 1.0.25 + sane_coolscan3_set_io_mode@Base 1.0.25 + sane_coolscan3_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_coolscan3@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-dc210.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc210_cancel@Base 1.0.25 + sane_dc210_close@Base 1.0.25 + sane_dc210_control_option@Base 1.0.25 + sane_dc210_exit@Base 1.0.25 + sane_dc210_get_devices@Base 1.0.25 + sane_dc210_get_option_descriptor@Base 1.0.25 + sane_dc210_get_parameters@Base 1.0.25 + sane_dc210_get_select_fd@Base 1.0.25 + sane_dc210_init@Base 1.0.25 + sane_dc210_open@Base 1.0.25 + sane_dc210_read@Base 1.0.25 + sane_dc210_set_io_mode@Base 1.0.25 + sane_dc210_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc210@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc240.so.1 libsane #MINVER# + dir_buf2@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc240_cancel@Base 1.0.25 + sane_dc240_close@Base 1.0.25 + sane_dc240_control_option@Base 1.0.25 + sane_dc240_exit@Base 1.0.25 + sane_dc240_get_devices@Base 1.0.25 + sane_dc240_get_option_descriptor@Base 1.0.25 + sane_dc240_get_parameters@Base 1.0.25 + sane_dc240_get_select_fd@Base 1.0.25 + sane_dc240_init@Base 1.0.25 + sane_dc240_open@Base 1.0.25 + sane_dc240_read@Base 1.0.25 + sane_dc240_set_io_mode@Base 1.0.25 + sane_dc240_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc240@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-dc25.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dc25_cancel@Base 1.0.25 + sane_dc25_close@Base 1.0.25 + sane_dc25_control_option@Base 1.0.25 + sane_dc25_exit@Base 1.0.25 + sane_dc25_get_devices@Base 1.0.25 + sane_dc25_get_option_descriptor@Base 1.0.25 + sane_dc25_get_parameters@Base 1.0.25 + sane_dc25_get_select_fd@Base 1.0.25 + sane_dc25_init@Base 1.0.25 + sane_dc25_open@Base 1.0.25 + sane_dc25_read@Base 1.0.25 + sane_dc25_set_io_mode@Base 1.0.25 + sane_dc25_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dc25@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dell1600n_net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dell1600n_net_cancel@Base 1.0.25 + sane_dell1600n_net_close@Base 1.0.25 + sane_dell1600n_net_control_option@Base 1.0.25 + sane_dell1600n_net_exit@Base 1.0.25 + sane_dell1600n_net_get_devices@Base 1.0.25 + sane_dell1600n_net_get_option_descriptor@Base 1.0.25 + sane_dell1600n_net_get_parameters@Base 1.0.25 + sane_dell1600n_net_get_select_fd@Base 1.0.25 + sane_dell1600n_net_init@Base 1.0.25 + sane_dell1600n_net_open@Base 1.0.25 + sane_dell1600n_net_read@Base 1.0.25 + sane_dell1600n_net_set_io_mode@Base 1.0.25 + sane_dell1600n_net_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dell1600n_net@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-dmc.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_dmc_cancel@Base 1.0.25 + sane_dmc_close@Base 1.0.25 + sane_dmc_control_option@Base 1.0.25 + sane_dmc_exit@Base 1.0.25 + sane_dmc_get_devices@Base 1.0.25 + sane_dmc_get_option_descriptor@Base 1.0.25 + sane_dmc_get_parameters@Base 1.0.25 + sane_dmc_get_select_fd@Base 1.0.25 + sane_dmc_init@Base 1.0.25 + sane_dmc_open@Base 1.0.25 + sane_dmc_read@Base 1.0.25 + sane_dmc_set_io_mode@Base 1.0.25 + sane_dmc_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_dmc@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-epjitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + global_firmware_filename@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epjitsu_cancel@Base 1.0.25 + sane_epjitsu_close@Base 1.0.25 + sane_epjitsu_control_option@Base 1.0.25 + sane_epjitsu_exit@Base 1.0.25 + sane_epjitsu_get_devices@Base 1.0.25 + sane_epjitsu_get_option_descriptor@Base 1.0.25 + sane_epjitsu_get_parameters@Base 1.0.25 + sane_epjitsu_get_select_fd@Base 1.0.25 + sane_epjitsu_init@Base 1.0.25 + sane_epjitsu_open@Base 1.0.25 + sane_epjitsu_read@Base 1.0.25 + sane_epjitsu_set_io_mode@Base 1.0.25 + sane_epjitsu_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epjitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auto_eject@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson_cancel@Base 1.0.25 + sane_epson_close@Base 1.0.25 + sane_epson_control_option@Base 1.0.25 + sane_epson_exit@Base 1.0.25 + sane_epson_get_devices@Base 1.0.25 + sane_epson_get_option_descriptor@Base 1.0.25 + sane_epson_get_parameters@Base 1.0.25 + sane_epson_get_select_fd@Base 1.0.25 + sane_epson_init@Base 1.0.25 + sane_epson_open@Base 1.0.25 + sane_epson_read@Base 1.0.25 + sane_epson_set_io_mode@Base 1.0.25 + sane_epson_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson@Base 1.0.25 + sanei_debug_epson_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_scsi_inquiry@Base 1.0.25 + sanei_epson_scsi_read@Base 1.0.25 + sanei_epson_scsi_sense_handler@Base 1.0.25 + sanei_epson_scsi_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-epson2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + e2_ack@Base 1.0.25 + e2_ack_next@Base 1.0.25 + e2_add_depth@Base 1.0.25 + e2_add_resolution@Base 1.0.25 + e2_block_read@Base 1.0.25 + e2_cancel@Base 1.0.25 + e2_check_adf@Base 1.0.25 + e2_check_warm_up@Base 1.0.25 + e2_cmd_info_block@Base 1.0.25 + e2_cmd_simple@Base 1.0.25 + e2_copy_image_data@Base 1.0.25 + e2_dev_init@Base 1.0.25 + e2_dev_model@Base 1.0.25 + e2_dev_post_init@Base 1.0.25 + e2_discover_capabilities@Base 1.0.25 + e2_esc_cmd@Base 1.0.25 + e2_ext_read@Base 1.0.25 + e2_init_parameters@Base 1.0.25 + e2_recv@Base 1.0.25 + e2_recv_info_block@Base 1.0.25 + e2_scan_finish@Base 1.0.25 + e2_send@Base 1.0.25 + e2_set_adf_area@Base 1.0.25 + e2_set_cmd_level@Base 1.0.25 + e2_set_extended_scanning_parameters@Base 1.0.25 + e2_set_fbf_area@Base 1.0.25 + e2_set_model@Base 1.0.25 + e2_set_scanning_parameters@Base 1.0.25 + e2_set_tpu2_area@Base 1.0.25 + e2_set_tpu_area@Base 1.0.25 + e2_setup_block_mode@Base 1.0.25 + e2_start_ext_scan@Base 1.0.25 + e2_start_std_scan@Base 1.0.25 + e2_txrx@Base 1.0.25 + e2_wait_button@Base 1.0.25 + e2_wait_warm_up@Base 1.0.25 + epson_cct_models@Base 1.0.25 + epson_cct_profiles@Base 1.0.25 + esci_eject@Base 1.0.25 + esci_enable_infrared@Base 1.0.25 + esci_feed@Base 1.0.25 + esci_get_scanning_parameter@Base 1.0.25 + esci_request_command_parameter@Base 1.0.25 + esci_request_extended_identity@Base 1.0.25 + esci_request_extended_status@Base 1.0.25 + esci_request_focus_position@Base 1.0.25 + esci_request_identity2@Base 1.0.25 + esci_request_identity@Base 1.0.25 + esci_request_push_button_status@Base 1.0.25 + esci_request_scanner_status@Base 1.0.25 + esci_request_status@Base 1.0.25 + esci_reset@Base 1.0.25 + esci_set_color_correction_coefficients@Base 1.0.25 + esci_set_gamma_table@Base 1.0.25 + esci_set_resolution@Base 1.0.25 + esci_set_scan_area@Base 1.0.25 + esci_set_scanning_parameter@Base 1.0.25 + esci_set_zoom@Base 1.0.25 + gamma_params@Base 1.0.25 + halftone_params@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + r_cmd_count@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epson2_cancel@Base 1.0.25 + sane_epson2_close@Base 1.0.25 + sane_epson2_control_option@Base 1.0.25 + sane_epson2_exit@Base 1.0.25 + sane_epson2_get_devices@Base 1.0.25 + sane_epson2_get_option_descriptor@Base 1.0.25 + sane_epson2_get_parameters@Base 1.0.25 + sane_epson2_get_select_fd@Base 1.0.25 + sane_epson2_init@Base 1.0.25 + sane_epson2_open@Base 1.0.25 + sane_epson2_read@Base 1.0.25 + sane_epson2_set_io_mode@Base 1.0.25 + sane_epson2_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epson2@Base 1.0.25 + sanei_debug_epson2_call@Base 1.0.25 + sanei_debug_epson2_scsi@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_epson2_scsi_inquiry@Base 1.0.25 + sanei_epson2_scsi_read@Base 1.0.25 + sanei_epson2_scsi_sense_handler@Base 1.0.25 + sanei_epson2_scsi_test_unit_ready@Base 1.0.25 + sanei_epson2_scsi_write@Base 1.0.25 + sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 + sanei_epson_net_lock@Base 1.0.25 + sanei_epson_net_read@Base 1.0.25 + sanei_epson_net_unlock@Base 1.0.25 + sanei_epson_net_write@Base 1.0.25 + sanei_epson_usb_product_ids@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 + w_cmd_count@Base 1.0.25 +libsane-epsonds.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + eds_add_depth@Base 1.0.25 + eds_add_resolution@Base 1.0.25 + eds_control@Base 1.0.25 + eds_copy_image_from_ring@Base 1.0.25 + eds_dev_init@Base 1.0.25 + eds_dev_post_init@Base 1.0.25 + eds_fsx@Base 1.0.25 + eds_fsy@Base 1.0.25 + eds_init_parameters@Base 1.0.25 + eds_is_model@Base 1.0.27 + eds_jpeg_finish@Base 1.0.25 + eds_jpeg_read@Base 1.0.25 + eds_jpeg_read_header@Base 1.0.25 + eds_jpeg_start@Base 1.0.25 + eds_lock@Base 1.0.25 + eds_recv@Base 1.0.25 + eds_ring_avail@Base 1.0.25 + eds_ring_flush@Base 1.0.25 + eds_ring_init@Base 1.0.25 + eds_ring_read@Base 1.0.25 + eds_ring_skip@Base 1.0.25 + eds_ring_write@Base 1.0.25 + eds_send@Base 1.0.25 + eds_set_adf_area@Base 1.0.25 + eds_set_fbf_area@Base 1.0.25 + eds_set_resolution_range@Base 1.0.25 + eds_set_tpu_area@Base 1.0.25 + eds_txrx@Base 1.0.25 + epsonds_get_number_of_ids@Base 1.0.25 + epsonds_net_lock@Base 1.0.27 + epsonds_net_read@Base 1.0.27 + epsonds_net_request_read@Base 1.0.27 + epsonds_net_unlock@Base 1.0.27 + epsonds_net_write@Base 1.0.27 + epsonds_usb_product_ids@Base 1.0.25 + esci2_can@Base 1.0.25 + esci2_capa@Base 1.0.25 + esci2_fin@Base 1.0.25 + esci2_img@Base 1.0.25 + esci2_info@Base 1.0.25 + esci2_mech@Base 1.0.25 + esci2_para@Base 1.0.25 + esci2_resa@Base 1.0.25 + esci2_stat@Base 1.0.25 + esci2_trdt@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mode_params@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_epsonds_cancel@Base 1.0.25 + sane_epsonds_close@Base 1.0.25 + sane_epsonds_control_option@Base 1.0.25 + sane_epsonds_exit@Base 1.0.25 + sane_epsonds_get_devices@Base 1.0.25 + sane_epsonds_get_option_descriptor@Base 1.0.25 + sane_epsonds_get_parameters@Base 1.0.25 + sane_epsonds_get_select_fd@Base 1.0.25 + sane_epsonds_init@Base 1.0.25 + sane_epsonds_open@Base 1.0.25 + sane_epsonds_read@Base 1.0.25 + sane_epsonds_set_io_mode@Base 1.0.25 + sane_epsonds_start@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_epsonds@Base 1.0.25 + sanei_debug_epsonds_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + source_list@Base 1.0.25 +libsane-fujitsu.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_fujitsu_cancel@Base 1.0.25 + sane_fujitsu_close@Base 1.0.25 + sane_fujitsu_control_option@Base 1.0.25 + sane_fujitsu_exit@Base 1.0.25 + sane_fujitsu_get_devices@Base 1.0.25 + sane_fujitsu_get_option_descriptor@Base 1.0.25 + sane_fujitsu_get_parameters@Base 1.0.25 + sane_fujitsu_get_select_fd@Base 1.0.25 + sane_fujitsu_init@Base 1.0.25 + sane_fujitsu_open@Base 1.0.25 + sane_fujitsu_read@Base 1.0.25 + sane_fujitsu_set_io_mode@Base 1.0.25 + sane_fujitsu_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_fujitsu@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-genesys.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_genesys_cancel@Base 1.0.25 + sane_genesys_close@Base 1.0.25 + sane_genesys_control_option@Base 1.0.25 + sane_genesys_exit@Base 1.0.25 + sane_genesys_get_devices@Base 1.0.25 + sane_genesys_get_option_descriptor@Base 1.0.25 + sane_genesys_get_parameters@Base 1.0.25 + sane_genesys_get_select_fd@Base 1.0.25 + sane_genesys_init@Base 1.0.25 + sane_genesys_open@Base 1.0.25 + sane_genesys_read@Base 1.0.25 + sane_genesys_set_io_mode@Base 1.0.25 + sane_genesys_start@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_genesys@Base 1.0.25 + sanei_debug_genesys_gl124@Base 1.0.25 + sanei_debug_genesys_gl646@Base 1.0.25 + sanei_debug_genesys_gl841@Base 1.0.25 + sanei_debug_genesys_gl843@Base 1.0.25 + sanei_debug_genesys_gl846@Base 1.0.25 + sanei_debug_genesys_gl847@Base 1.0.25 + sanei_debug_genesys_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_genesys_asic_init@Base 1.0.25 + sanei_genesys_buffer_alloc@Base 1.0.25 + sanei_genesys_buffer_consume@Base 1.0.25 + sanei_genesys_buffer_free@Base 1.0.25 + sanei_genesys_buffer_get_read_pos@Base 1.0.25 + sanei_genesys_buffer_get_write_pos@Base 1.0.25 + sanei_genesys_buffer_produce@Base 1.0.25 + sanei_genesys_bulk_write_register@Base 1.0.25 + sanei_genesys_calculate_zmode2@Base 1.0.25 + sanei_genesys_calculate_zmode@Base 1.0.25 + sanei_genesys_compute_dpihw@Base 1.0.25 + sanei_genesys_compute_max_shift@Base 1.0.25 + sanei_genesys_compute_step_type@Base 1.0.25 + sanei_genesys_create_gamma_table@Base 1.0.25 + sanei_genesys_create_slope_table3@Base 1.0.25 + sanei_genesys_create_slope_table@Base 1.0.25 + sanei_genesys_exposure_time2@Base 1.0.25 + sanei_genesys_exposure_time@Base 1.0.25 + sanei_genesys_fe_read_data@Base 1.0.25 + sanei_genesys_fe_write_data@Base 1.0.25 + sanei_genesys_generate_gamma_buffer@Base 1.0.25 + sanei_genesys_generate_slope_table@Base 1.0.25 + sanei_genesys_get_address@Base 1.0.25 + sanei_genesys_get_double@Base 1.0.25 + sanei_genesys_get_lowest_dpi@Base 1.0.25 + sanei_genesys_get_lowest_ydpi@Base 1.0.25 + sanei_genesys_get_motor_profile@Base 1.0.25 + sanei_genesys_get_status@Base 1.0.25 + sanei_genesys_get_triple@Base 1.0.25 + sanei_genesys_init_cmd_set@Base 1.0.25 + sanei_genesys_init_fe@Base 1.0.25 + sanei_genesys_init_shading_data@Base 1.0.25 + sanei_genesys_init_structs@Base 1.0.25 + sanei_genesys_is_compatible_calibration@Base 1.0.25 + sanei_genesys_load_lut@Base 1.0.25 + sanei_genesys_print_status@Base 1.0.25 + sanei_genesys_read_calibration@Base 1.0.25 + sanei_genesys_read_data_from_scanner@Base 1.0.25 + sanei_genesys_read_feed_steps@Base 1.0.25 + sanei_genesys_read_hregister@Base 1.0.25 + sanei_genesys_read_reg_from_set@Base 1.0.25 + sanei_genesys_read_register@Base 1.0.25 + sanei_genesys_read_scancnt@Base 1.0.25 + sanei_genesys_read_valid_words@Base 1.0.25 + sanei_genesys_search_reference_point@Base 1.0.25 + sanei_genesys_send_gamma_table@Base 1.0.25 + sanei_genesys_set_buffer_address@Base 1.0.25 + sanei_genesys_set_double@Base 1.0.25 + sanei_genesys_set_reg_from_set@Base 1.0.25 + sanei_genesys_set_triple@Base 1.0.25 + sanei_genesys_slope_table@Base 1.0.25 + sanei_genesys_test_buffer_empty@Base 1.0.25 + sanei_genesys_wait_for_home@Base 1.0.25 + sanei_genesys_write_0x8c@Base 1.0.25 + sanei_genesys_write_ahb@Base 1.0.25 + sanei_genesys_write_hregister@Base 1.0.25 + sanei_genesys_write_pnm_file@Base 1.0.25 + sanei_genesys_write_register@Base 1.0.25 + sanei_gl124_init_cmd_set@Base 1.0.25 + sanei_gl646_init_cmd_set@Base 1.0.25 + sanei_gl841_init_cmd_set@Base 1.0.25 + sanei_gl843_init_cmd_set@Base 1.0.25 + sanei_gl846_init_cmd_set@Base 1.0.25 + sanei_gl847_init_cmd_set@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-gphoto2.so.1 libsane #MINVER# + camera@Base 1.0.25 + dir_list@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gphoto2_cancel@Base 1.0.25 + sane_gphoto2_close@Base 1.0.25 + sane_gphoto2_control_option@Base 1.0.25 + sane_gphoto2_exit@Base 1.0.25 + sane_gphoto2_get_devices@Base 1.0.25 + sane_gphoto2_get_option_descriptor@Base 1.0.25 + sane_gphoto2_get_parameters@Base 1.0.25 + sane_gphoto2_get_select_fd@Base 1.0.25 + sane_gphoto2_init@Base 1.0.25 + sane_gphoto2_open@Base 1.0.25 + sane_gphoto2_read@Base 1.0.25 + sane_gphoto2_set_io_mode@Base 1.0.25 + sane_gphoto2_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gphoto2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.25 +libsane-gt68xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + debug_options@Base 1.0.25 + little_endian@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_gt68xx_cancel@Base 1.0.25 + sane_gt68xx_close@Base 1.0.25 + sane_gt68xx_control_option@Base 1.0.25 + sane_gt68xx_exit@Base 1.0.25 + sane_gt68xx_get_devices@Base 1.0.25 + sane_gt68xx_get_option_descriptor@Base 1.0.25 + sane_gt68xx_get_parameters@Base 1.0.25 + sane_gt68xx_get_select_fd@Base 1.0.25 + sane_gt68xx_init@Base 1.0.25 + sane_gt68xx_open@Base 1.0.25 + sane_gt68xx_read@Base 1.0.25 + sane_gt68xx_set_io_mode@Base 1.0.25 + sane_gt68xx_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_gt68xx@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp_cancel@Base 1.0.25 + sane_hp_close@Base 1.0.25 + sane_hp_control_option@Base 1.0.25 + sane_hp_exit@Base 1.0.25 + sane_hp_get_devices@Base 1.0.25 + sane_hp_get_option_descriptor@Base 1.0.25 + sane_hp_get_parameters@Base 1.0.25 + sane_hp_get_select_fd@Base 1.0.25 + sane_hp_init@Base 1.0.25 + sane_hp_open@Base 1.0.25 + sane_hp_read@Base 1.0.25 + sane_hp_set_io_mode@Base 1.0.25 + sane_hp_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei__hp_accessor_data@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp@Base 1.0.25 + sanei_debug_hp_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_hp_accessor_bool_new@Base 1.0.25 + sanei_hp_accessor_choice_maxsize@Base 1.0.25 + sanei_hp_accessor_choice_new@Base 1.0.25 + sanei_hp_accessor_choice_strlist@Base 1.0.25 + sanei_hp_accessor_data@Base 1.0.25 + sanei_hp_accessor_fixed_new@Base 1.0.25 + sanei_hp_accessor_gamma_vector_new@Base 1.0.25 + sanei_hp_accessor_geometry_new@Base 1.0.25 + sanei_hp_accessor_get@Base 1.0.25 + sanei_hp_accessor_getint@Base 1.0.25 + sanei_hp_accessor_int_new@Base 1.0.25 + sanei_hp_accessor_matrix_vector_new@Base 1.0.25 + sanei_hp_accessor_new@Base 1.0.25 + sanei_hp_accessor_set@Base 1.0.25 + sanei_hp_accessor_setint@Base 1.0.25 + sanei_hp_accessor_size@Base 1.0.25 + sanei_hp_accessor_subvector_new@Base 1.0.25 + sanei_hp_accessor_vector_length@Base 1.0.25 + sanei_hp_accessor_vector_maxval@Base 1.0.25 + sanei_hp_accessor_vector_minval@Base 1.0.25 + sanei_hp_accessor_vector_new@Base 1.0.25 + sanei_hp_alloc@Base 1.0.25 + sanei_hp_allocz@Base 1.0.25 + sanei_hp_choice_isEnabled@Base 1.0.25 + sanei_hp_data_destroy@Base 1.0.25 + sanei_hp_data_dup@Base 1.0.25 + sanei_hp_data_new@Base 1.0.25 + sanei_hp_dbgdump@Base 1.0.25 + sanei_hp_device_compat@Base 1.0.25 + sanei_hp_device_get@Base 1.0.25 + sanei_hp_device_info_get@Base 1.0.25 + sanei_hp_device_new@Base 1.0.25 + sanei_hp_device_probe@Base 1.0.25 + sanei_hp_device_probe_model@Base 1.0.25 + sanei_hp_device_sanedevice@Base 1.0.25 + sanei_hp_device_simulate_clear@Base 1.0.25 + sanei_hp_device_simulate_get@Base 1.0.25 + sanei_hp_device_simulate_set@Base 1.0.25 + sanei_hp_device_support_get@Base 1.0.25 + sanei_hp_device_support_probe@Base 1.0.25 + sanei_hp_free@Base 1.0.25 + sanei_hp_free_all@Base 1.0.25 + sanei_hp_get_connect@Base 1.0.25 + sanei_hp_get_max_model@Base 1.0.25 + sanei_hp_handle_cancel@Base 1.0.25 + sanei_hp_handle_control@Base 1.0.25 + sanei_hp_handle_destroy@Base 1.0.25 + sanei_hp_handle_getParameters@Base 1.0.25 + sanei_hp_handle_getPipefd@Base 1.0.25 + sanei_hp_handle_new@Base 1.0.25 + sanei_hp_handle_read@Base 1.0.25 + sanei_hp_handle_saneoption@Base 1.0.25 + sanei_hp_handle_setNonblocking@Base 1.0.25 + sanei_hp_handle_startScan@Base 1.0.25 + sanei_hp_init_openfd@Base 1.0.25 + sanei_hp_is_active_xpa@Base 1.0.25 + sanei_hp_is_flatbed_adf@Base 1.0.25 + sanei_hp_memdup@Base 1.0.25 + sanei_hp_nonscsi_new@Base 1.0.25 + sanei_hp_optset_control@Base 1.0.25 + sanei_hp_optset_data_width@Base 1.0.25 + sanei_hp_optset_download@Base 1.0.25 + sanei_hp_optset_guessParameters@Base 1.0.25 + sanei_hp_optset_isImmediate@Base 1.0.25 + sanei_hp_optset_mirror_vert@Base 1.0.25 + sanei_hp_optset_new@Base 1.0.25 + sanei_hp_optset_output_8bit@Base 1.0.25 + sanei_hp_optset_saneoption@Base 1.0.25 + sanei_hp_optset_scan_type@Base 1.0.25 + sanei_hp_optset_scanmode@Base 1.0.25 + sanei_hp_optset_start_wait@Base 1.0.25 + sanei_hp_realloc@Base 1.0.25 + sanei_hp_scl_calibrate@Base 1.0.25 + sanei_hp_scl_clearErrors@Base 1.0.25 + sanei_hp_scl_download@Base 1.0.25 + sanei_hp_scl_errcheck@Base 1.0.25 + sanei_hp_scl_inquire@Base 1.0.25 + sanei_hp_scl_reset@Base 1.0.25 + sanei_hp_scl_set@Base 1.0.25 + sanei_hp_scl_startScan@Base 1.0.25 + sanei_hp_scl_upload@Base 1.0.25 + sanei_hp_scl_upload_binary@Base 1.0.25 + sanei_hp_scsi_destroy@Base 1.0.25 + sanei_hp_scsi_devicename@Base 1.0.25 + sanei_hp_scsi_get_connect@Base 1.0.25 + sanei_hp_scsi_inq@Base 1.0.25 + sanei_hp_scsi_model@Base 1.0.25 + sanei_hp_scsi_new@Base 1.0.25 + sanei_hp_scsi_pipeout@Base 1.0.25 + sanei_hp_scsi_vendor@Base 1.0.25 + sanei_hp_strdup@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3500.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3500_cancel@Base 1.0.25 + sane_hp3500_close@Base 1.0.25 + sane_hp3500_control_option@Base 1.0.25 + sane_hp3500_exit@Base 1.0.25 + sane_hp3500_get_devices@Base 1.0.25 + sane_hp3500_get_option_descriptor@Base 1.0.25 + sane_hp3500_get_parameters@Base 1.0.25 + sane_hp3500_get_select_fd@Base 1.0.25 + sane_hp3500_init@Base 1.0.25 + sane_hp3500_open@Base 1.0.25 + sane_hp3500_read@Base 1.0.25 + sane_hp3500_set_io_mode@Base 1.0.25 + sane_hp3500_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3500@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp3900.so.1 libsane #MINVER# + RTS_Debug@Base 1.0.25 + WRef@Base 1.0.25 + acccurvecount@Base 1.0.25 + arrangeline2@Base 1.0.25 + arrangeline@Base 1.0.25 + binarythresholdh@Base 1.0.25 + binarythresholdl@Base 1.0.25 + bw_threshold@Base 1.0.25 + bytesperline@Base 1.0.25 + calibdata@Base 1.0.25 + cmsg@Base 1.0.25 + compression@Base 1.0.25 + dataline_count@Base 1.0.25 + deccurvecount@Base 1.0.25 + default_gain_offset@Base 1.0.25 + fixed_black_shading@Base 1.0.25 + fixed_white_shading@Base 1.0.25 + gain@Base 1.0.25 + hp_gamma@Base 1.0.25 + imageheight@Base 1.0.25 + imagesize@Base 1.0.25 + imagewidth3@Base 1.0.25 + jkd_black@Base 1.0.25 + jkd_blackbpl@Base 1.0.25 + line_size@Base 1.0.25 + lineart_width@Base 1.0.25 + linedarlampoff@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + mem_total@Base 1.0.25 + mitabla2@Base 1.0.25 + offset@Base 1.0.25 + pixeldarklevel@Base 1.0.25 + pwmlamplevel@Base 1.0.25 + read_v15b4@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp3900_cancel@Base 1.0.25 + sane_hp3900_close@Base 1.0.25 + sane_hp3900_control_option@Base 1.0.25 + sane_hp3900_exit@Base 1.0.25 + sane_hp3900_get_devices@Base 1.0.25 + sane_hp3900_get_option_descriptor@Base 1.0.25 + sane_hp3900_get_parameters@Base 1.0.25 + sane_hp3900_get_select_fd@Base 1.0.25 + sane_hp3900_init@Base 1.0.25 + sane_hp3900_open@Base 1.0.25 + sane_hp3900_read@Base 1.0.25 + sane_hp3900_set_io_mode@Base 1.0.25 + sane_hp3900_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp3900@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + scan2@Base 1.0.25 + scan@Base 1.0.25 + scantype@Base 1.0.25 + shadingbase@Base 1.0.25 + shadingfact@Base 1.0.25 + smearacccurvecount@Base 1.0.25 + smeardeccurvecount@Base 1.0.25 + v0750@Base 1.0.25 + v07c0@Base 1.0.25 + v14b4@Base 1.0.25 + v15b4@Base 1.0.25 + v15bc@Base 1.0.25 + v15f8@Base 1.0.25 + v1600@Base 1.0.25 + v1604@Base 1.0.25 + v1608@Base 1.0.25 + v160c_block_size@Base 1.0.25 + v1619@Base 1.0.25 + v35b8@Base 1.0.25 + waitforpwm@Base 1.0.25 + wshading@Base 1.0.25 +libsane-hp4200.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp4200_cancel@Base 1.0.25 + sane_hp4200_close@Base 1.0.25 + sane_hp4200_control_option@Base 1.0.25 + sane_hp4200_exit@Base 1.0.25 + sane_hp4200_get_devices@Base 1.0.25 + sane_hp4200_get_option_descriptor@Base 1.0.25 + sane_hp4200_get_parameters@Base 1.0.25 + sane_hp4200_get_select_fd@Base 1.0.25 + sane_hp4200_init@Base 1.0.25 + sane_hp4200_open@Base 1.0.25 + sane_hp4200_read@Base 1.0.25 + sane_hp4200_set_io_mode@Base 1.0.25 + sane_hp4200_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp4200@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hp5400.so.1 libsane #MINVER# + MatchVersions@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + numVersions@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5400_cancel@Base 1.0.25 + sane_hp5400_close@Base 1.0.25 + sane_hp5400_control_option@Base 1.0.25 + sane_hp5400_exit@Base 1.0.25 + sane_hp5400_get_devices@Base 1.0.25 + sane_hp5400_get_option_descriptor@Base 1.0.25 + sane_hp5400_get_parameters@Base 1.0.25 + sane_hp5400_get_select_fd@Base 1.0.25 + sane_hp5400_init@Base 1.0.25 + sane_hp5400_open@Base 1.0.25 + sane_hp5400_read@Base 1.0.25 + sane_hp5400_set_io_mode@Base 1.0.25 + sane_hp5400_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5400@Base 1.0.25 + sanei_debug_hp5400_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + usb_devfile@Base 1.0.25 +libsane-hp5590.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hp5590_cancel@Base 1.0.25 + sane_hp5590_close@Base 1.0.25 + sane_hp5590_control_option@Base 1.0.25 + sane_hp5590_exit@Base 1.0.25 + sane_hp5590_get_devices@Base 1.0.25 + sane_hp5590_get_option_descriptor@Base 1.0.25 + sane_hp5590_get_parameters@Base 1.0.25 + sane_hp5590_get_select_fd@Base 1.0.25 + sane_hp5590_init@Base 1.0.25 + sane_hp5590_open@Base 1.0.25 + sane_hp5590_read@Base 1.0.25 + sane_hp5590_set_io_mode@Base 1.0.25 + sane_hp5590_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hp5590@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpljm1005.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpljm1005_cancel@Base 1.0.25 + sane_hpljm1005_close@Base 1.0.25 + sane_hpljm1005_control_option@Base 1.0.25 + sane_hpljm1005_exit@Base 1.0.25 + sane_hpljm1005_get_devices@Base 1.0.25 + sane_hpljm1005_get_option_descriptor@Base 1.0.25 + sane_hpljm1005_get_parameters@Base 1.0.25 + sane_hpljm1005_get_select_fd@Base 1.0.25 + sane_hpljm1005_init@Base 1.0.25 + sane_hpljm1005_open@Base 1.0.25 + sane_hpljm1005_read@Base 1.0.25 + sane_hpljm1005_set_io_mode@Base 1.0.25 + sane_hpljm1005_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpljm1005@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-hpsj5s.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hpsj5s_cancel@Base 1.0.25 + sane_hpsj5s_close@Base 1.0.25 + sane_hpsj5s_control_option@Base 1.0.25 + sane_hpsj5s_exit@Base 1.0.25 + sane_hpsj5s_get_devices@Base 1.0.25 + sane_hpsj5s_get_option_descriptor@Base 1.0.25 + sane_hpsj5s_get_parameters@Base 1.0.25 + sane_hpsj5s_get_select_fd@Base 1.0.25 + sane_hpsj5s_init@Base 1.0.25 + sane_hpsj5s_open@Base 1.0.25 + sane_hpsj5s_read@Base 1.0.25 + sane_hpsj5s_set_io_mode@Base 1.0.25 + sane_hpsj5s_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hpsj5s@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-hs2p.so.1 libsane #MINVER# + auto_binarization@Base 1.0.25 + auto_separation@Base 1.0.25 + grayfilter@Base 1.0.25 + halftone@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + noisematrix@Base 1.0.25 + paddingtype@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_hs2p_cancel@Base 1.0.25 + sane_hs2p_close@Base 1.0.25 + sane_hs2p_control_option@Base 1.0.25 + sane_hs2p_exit@Base 1.0.25 + sane_hs2p_get_devices@Base 1.0.25 + sane_hs2p_get_option_descriptor@Base 1.0.25 + sane_hs2p_get_parameters@Base 1.0.25 + sane_hs2p_get_select_fd@Base 1.0.25 + sane_hs2p_init@Base 1.0.25 + sane_hs2p_open@Base 1.0.25 + sane_hs2p_read@Base 1.0.25 + sane_hs2p_set_io_mode@Base 1.0.25 + sane_hs2p_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_hs2p@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-ibm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_ibm_cancel@Base 1.0.25 + sane_ibm_close@Base 1.0.25 + sane_ibm_control_option@Base 1.0.25 + sane_ibm_exit@Base 1.0.25 + sane_ibm_get_devices@Base 1.0.25 + sane_ibm_get_option_descriptor@Base 1.0.25 + sane_ibm_get_parameters@Base 1.0.25 + sane_ibm_get_select_fd@Base 1.0.25 + sane_ibm_init@Base 1.0.25 + sane_ibm_open@Base 1.0.25 + sane_ibm_read@Base 1.0.25 + sane_ibm_set_io_mode@Base 1.0.25 + sane_ibm_start@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ibm@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodak.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodak_cancel@Base 1.0.25 + sane_kodak_close@Base 1.0.25 + sane_kodak_control_option@Base 1.0.25 + sane_kodak_exit@Base 1.0.25 + sane_kodak_get_devices@Base 1.0.25 + sane_kodak_get_option_descriptor@Base 1.0.25 + sane_kodak_get_parameters@Base 1.0.25 + sane_kodak_get_select_fd@Base 1.0.25 + sane_kodak_init@Base 1.0.25 + sane_kodak_open@Base 1.0.25 + sane_kodak_read@Base 1.0.25 + sane_kodak_set_io_mode@Base 1.0.25 + sane_kodak_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodak@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-kodakaio.so.1 libsane #MINVER# + ProcessAvahiDevice@Base 1.0.27 + RawScan@Base 1.0.25 + RawScanPath@Base 1.0.25 + cmparray@Base 1.0.25 + cmsg@Base 1.0.25 + kodakaio_com_str@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kodakaio_cancel@Base 1.0.25 + sane_kodakaio_close@Base 1.0.25 + sane_kodakaio_control_option@Base 1.0.25 + sane_kodakaio_exit@Base 1.0.25 + sane_kodakaio_get_devices@Base 1.0.25 + sane_kodakaio_get_option_descriptor@Base 1.0.25 + sane_kodakaio_get_parameters@Base 1.0.25 + sane_kodakaio_get_select_fd@Base 1.0.25 + sane_kodakaio_init@Base 1.0.25 + sane_kodakaio_open@Base 1.0.25 + sane_kodakaio_read@Base 1.0.25 + sane_kodakaio_set_io_mode@Base 1.0.25 + sane_kodakaio_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kodakaio@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs1025.so.1 libsane #MINVER# + AllocateImageBuffer@Base 1.0.25 + CMD_get_buff_status@Base 1.0.25 + CMD_get_document_existanse@Base 1.0.25 + CMD_read_image@Base 1.0.25 + CMD_read_pic_elements@Base 1.0.25 + CMD_read_support_info@Base 1.0.25 + CMD_request_sense@Base 1.0.25 + CMD_reset_window@Base 1.0.25 + CMD_scan@Base 1.0.25 + CMD_set_timeout@Base 1.0.25 + CMD_set_window@Base 1.0.25 + CMD_test_unit_ready@Base 1.0.25 + CMD_wait_buff_status@Base 1.0.25 + CMD_wait_document_existanse@Base 1.0.25 + ReadImageData@Base 1.0.25 + ReadImageDataDuplex@Base 1.0.25 + ReadImageDataSimplex@Base 1.0.25 + buffer_crop@Base 1.0.25 + buffer_deskew@Base 1.0.25 + buffer_despeck@Base 1.0.25 + buffer_isblank@Base 1.0.25 + buffer_rotate@Base 1.0.25 + cmsg@Base 1.0.25 + g_devices@Base 1.0.25 + g_devlist@Base 1.0.25 + get_optval_list@Base 1.0.25 + hexdump@Base 1.0.25 + kv_already_open@Base 1.0.25 + kv_calc_paper_size@Base 1.0.25 + kv_close@Base 1.0.25 + kv_control_option@Base 1.0.25 + kv_enum_devices@Base 1.0.25 + kv_exit@Base 1.0.25 + kv_get_depth@Base 1.0.25 + kv_get_devices_list@Base 1.0.25 + kv_get_mode@Base 1.0.25 + kv_get_option_descriptor@Base 1.0.25 + kv_init_options@Base 1.0.25 + kv_open@Base 1.0.25 + kv_open_by_name@Base 1.0.25 + kv_send_command@Base 1.0.25 + kv_set_window_data@Base 1.0.25 + kv_usb_already_open@Base 1.0.25 + kv_usb_cleanup@Base 1.0.25 + kv_usb_close@Base 1.0.25 + kv_usb_enum_devices@Base 1.0.25 + kv_usb_escape@Base 1.0.25 + kv_usb_open@Base 1.0.25 + kv_usb_send_command@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs1025_cancel@Base 1.0.25 + sane_kvs1025_close@Base 1.0.25 + sane_kvs1025_control_option@Base 1.0.25 + sane_kvs1025_exit@Base 1.0.25 + sane_kvs1025_get_devices@Base 1.0.25 + sane_kvs1025_get_option_descriptor@Base 1.0.25 + sane_kvs1025_get_parameters@Base 1.0.25 + sane_kvs1025_get_select_fd@Base 1.0.25 + sane_kvs1025_init@Base 1.0.25 + sane_kvs1025_open@Base 1.0.25 + sane_kvs1025_read@Base 1.0.25 + sane_kvs1025_set_io_mode@Base 1.0.25 + sane_kvs1025_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs1025@Base 1.0.25 + sanei_debug_kvs1025_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs20xx.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + get_adjust_data@Base 1.0.25 + kvs20xx_document_exist@Base 1.0.25 + kvs20xx_init_options@Base 1.0.25 + kvs20xx_init_window@Base 1.0.25 + kvs20xx_read_image_data@Base 1.0.25 + kvs20xx_read_picture_element@Base 1.0.25 + kvs20xx_reset_window@Base 1.0.25 + kvs20xx_scan@Base 1.0.25 + kvs20xx_sense_handler@Base 1.0.25 + kvs20xx_set_timeout@Base 1.0.25 + kvs20xx_set_window@Base 1.0.25 + kvs20xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs20xx_cancel@Base 1.0.25 + sane_kvs20xx_close@Base 1.0.25 + sane_kvs20xx_control_option@Base 1.0.25 + sane_kvs20xx_exit@Base 1.0.25 + sane_kvs20xx_get_devices@Base 1.0.25 + sane_kvs20xx_get_option_descriptor@Base 1.0.25 + sane_kvs20xx_get_parameters@Base 1.0.25 + sane_kvs20xx_get_select_fd@Base 1.0.25 + sane_kvs20xx_init@Base 1.0.25 + sane_kvs20xx_open@Base 1.0.25 + sane_kvs20xx_read@Base 1.0.25 + sane_kvs20xx_set_io_mode@Base 1.0.25 + sane_kvs20xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs20xx@Base 1.0.25 + sanei_debug_kvs20xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-kvs40xx.so.1 libsane #MINVER# + attach@Base 1.0.25 + cmsg@Base 1.0.25 + get_buffer_status@Base 1.0.25 + hopper_down@Base 1.0.25 + inquiry@Base 1.0.25 + kvs40xx_document_exist@Base 1.0.25 + kvs40xx_init_options@Base 1.0.25 + kvs40xx_init_window@Base 1.0.25 + kvs40xx_read_image_data@Base 1.0.25 + kvs40xx_read_picture_element@Base 1.0.25 + kvs40xx_reset_window@Base 1.0.25 + kvs40xx_scan@Base 1.0.25 + kvs40xx_sense_handler@Base 1.0.25 + kvs40xx_set_timeout@Base 1.0.25 + kvs40xx_set_window@Base 1.0.25 + kvs40xx_test_unit_ready@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + read_support_info@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_kvs40xx_cancel@Base 1.0.25 + sane_kvs40xx_close@Base 1.0.25 + sane_kvs40xx_control_option@Base 1.0.25 + sane_kvs40xx_exit@Base 1.0.25 + sane_kvs40xx_get_devices@Base 1.0.25 + sane_kvs40xx_get_option_descriptor@Base 1.0.25 + sane_kvs40xx_get_parameters@Base 1.0.25 + sane_kvs40xx_get_select_fd@Base 1.0.25 + sane_kvs40xx_init@Base 1.0.25 + sane_kvs40xx_open@Base 1.0.25 + sane_kvs40xx_read@Base 1.0.25 + sane_kvs40xx_set_io_mode@Base 1.0.25 + sane_kvs40xx_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_kvs40xx@Base 1.0.25 + sanei_debug_kvs40xx_call@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + stop_adf@Base 1.0.25 +libsane-leo.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_leo_cancel@Base 1.0.25 + sane_leo_close@Base 1.0.25 + sane_leo_control_option@Base 1.0.25 + sane_leo_exit@Base 1.0.25 + sane_leo_get_devices@Base 1.0.25 + sane_leo_get_option_descriptor@Base 1.0.25 + sane_leo_get_parameters@Base 1.0.25 + sane_leo_get_select_fd@Base 1.0.25 + sane_leo_init@Base 1.0.25 + sane_leo_open@Base 1.0.25 + sane_leo_read@Base 1.0.25 + sane_leo_set_io_mode@Base 1.0.25 + sane_leo_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_leo@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-lexmark.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_lexmark_cancel@Base 1.0.25 + sane_lexmark_close@Base 1.0.25 + sane_lexmark_control_option@Base 1.0.25 + sane_lexmark_exit@Base 1.0.25 + sane_lexmark_get_devices@Base 1.0.25 + sane_lexmark_get_option_descriptor@Base 1.0.25 + sane_lexmark_get_parameters@Base 1.0.25 + sane_lexmark_get_select_fd@Base 1.0.25 + sane_lexmark_init@Base 1.0.25 + sane_lexmark_open@Base 1.0.25 + sane_lexmark_read@Base 1.0.25 + sane_lexmark_set_io_mode@Base 1.0.25 + sane_lexmark_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_lexmark@Base 1.0.25 + sanei_debug_lexmark_low@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lexmark_low_assign_model@Base 1.0.25 + sanei_lexmark_low_calibration@Base 1.0.25 + sanei_lexmark_low_close_device@Base 1.0.25 + sanei_lexmark_low_destroy@Base 1.0.25 + sanei_lexmark_low_find_start_line@Base 1.0.25 + sanei_lexmark_low_gain_calibration@Base 1.0.25 + sanei_lexmark_low_init@Base 1.0.25 + sanei_lexmark_low_move_fwd@Base 1.0.25 + sanei_lexmark_low_offset_calibration@Base 1.0.25 + sanei_lexmark_low_open_device@Base 1.0.25 + sanei_lexmark_low_read_scan_data@Base 1.0.25 + sanei_lexmark_low_search_home_bwd@Base 1.0.25 + sanei_lexmark_low_search_home_fwd@Base 1.0.25 + sanei_lexmark_low_set_scan_regs@Base 1.0.25 + sanei_lexmark_low_shading_calibration@Base 1.0.25 + sanei_lexmark_low_start_scan@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-ma1509.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_ma1509_cancel@Base 1.0.25 + sane_ma1509_close@Base 1.0.25 + sane_ma1509_control_option@Base 1.0.25 + sane_ma1509_exit@Base 1.0.25 + sane_ma1509_get_devices@Base 1.0.25 + sane_ma1509_get_option_descriptor@Base 1.0.25 + sane_ma1509_get_parameters@Base 1.0.25 + sane_ma1509_get_select_fd@Base 1.0.25 + sane_ma1509_init@Base 1.0.25 + sane_ma1509_open@Base 1.0.25 + sane_ma1509_read@Base 1.0.25 + sane_ma1509_set_io_mode@Base 1.0.25 + sane_ma1509_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_ma1509@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-magicolor.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_magicolor_cancel@Base 1.0.25 + sane_magicolor_close@Base 1.0.25 + sane_magicolor_control_option@Base 1.0.25 + sane_magicolor_exit@Base 1.0.25 + sane_magicolor_get_devices@Base 1.0.25 + sane_magicolor_get_option_descriptor@Base 1.0.25 + sane_magicolor_get_parameters@Base 1.0.25 + sane_magicolor_get_select_fd@Base 1.0.25 + sane_magicolor_init@Base 1.0.25 + sane_magicolor_open@Base 1.0.25 + sane_magicolor_read@Base 1.0.25 + sane_magicolor_set_io_mode@Base 1.0.25 + sane_magicolor_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_magicolor@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_magicolor_usb_product_ids@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-matsushita.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_matsushita_cancel@Base 1.0.25 + sane_matsushita_close@Base 1.0.25 + sane_matsushita_control_option@Base 1.0.25 + sane_matsushita_exit@Base 1.0.25 + sane_matsushita_get_devices@Base 1.0.25 + sane_matsushita_get_option_descriptor@Base 1.0.25 + sane_matsushita_get_parameters@Base 1.0.25 + sane_matsushita_get_select_fd@Base 1.0.25 + sane_matsushita_init@Base 1.0.25 + sane_matsushita_open@Base 1.0.25 + sane_matsushita_read@Base 1.0.25 + sane_matsushita_set_io_mode@Base 1.0.25 + sane_matsushita_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_matsushita@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek_cancel@Base 1.0.25 + sane_microtek_close@Base 1.0.25 + sane_microtek_control_option@Base 1.0.25 + sane_microtek_exit@Base 1.0.25 + sane_microtek_get_devices@Base 1.0.25 + sane_microtek_get_option_descriptor@Base 1.0.25 + sane_microtek_get_parameters@Base 1.0.25 + sane_microtek_get_select_fd@Base 1.0.25 + sane_microtek_init@Base 1.0.25 + sane_microtek_open@Base 1.0.25 + sane_microtek_read@Base 1.0.25 + sane_microtek_set_io_mode@Base 1.0.25 + sane_microtek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-microtek2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_microtek2_cancel@Base 1.0.25 + sane_microtek2_close@Base 1.0.25 + sane_microtek2_control_option@Base 1.0.25 + sane_microtek2_exit@Base 1.0.25 + sane_microtek2_get_devices@Base 1.0.25 + sane_microtek2_get_option_descriptor@Base 1.0.25 + sane_microtek2_get_parameters@Base 1.0.25 + sane_microtek2_get_select_fd@Base 1.0.25 + sane_microtek2_init@Base 1.0.25 + sane_microtek2_open@Base 1.0.25 + sane_microtek2_read@Base 1.0.25 + sane_microtek2_set_io_mode@Base 1.0.25 + sane_microtek2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_microtek2@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_cancel@Base 1.0.25 + sane_mustek_close@Base 1.0.25 + sane_mustek_control_option@Base 1.0.25 + sane_mustek_exit@Base 1.0.25 + sane_mustek_get_devices@Base 1.0.25 + sane_mustek_get_option_descriptor@Base 1.0.25 + sane_mustek_get_parameters@Base 1.0.25 + sane_mustek_get_select_fd@Base 1.0.25 + sane_mustek_init@Base 1.0.25 + sane_mustek_open@Base 1.0.25 + sane_mustek_read@Base 1.0.25 + sane_mustek_set_io_mode@Base 1.0.25 + sane_mustek_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek@Base 1.0.25 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-mustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_auth@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_pp_cancel@Base 1.0.25 + sane_mustek_pp_close@Base 1.0.25 + sane_mustek_pp_control_option@Base 1.0.25 + sane_mustek_pp_exit@Base 1.0.25 + sane_mustek_pp_get_devices@Base 1.0.25 + sane_mustek_pp_get_option_descriptor@Base 1.0.25 + sane_mustek_pp_get_parameters@Base 1.0.25 + sane_mustek_pp_get_select_fd@Base 1.0.25 + sane_mustek_pp_init@Base 1.0.25 + sane_mustek_pp_open@Base 1.0.25 + sane_mustek_pp_read@Base 1.0.25 + sane_mustek_pp_set_io_mode@Base 1.0.25 + sane_mustek_pp_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 +libsane-mustek_usb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb_cancel@Base 1.0.25 + sane_mustek_usb_close@Base 1.0.25 + sane_mustek_usb_control_option@Base 1.0.25 + sane_mustek_usb_exit@Base 1.0.25 + sane_mustek_usb_get_devices@Base 1.0.25 + sane_mustek_usb_get_option_descriptor@Base 1.0.25 + sane_mustek_usb_get_parameters@Base 1.0.25 + sane_mustek_usb_get_select_fd@Base 1.0.25 + sane_mustek_usb_init@Base 1.0.25 + sane_mustek_usb_open@Base 1.0.25 + sane_mustek_usb_read@Base 1.0.25 + sane_mustek_usb_set_io_mode@Base 1.0.25 + sane_mustek_usb_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-mustek_usb2.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_mustek_usb2_cancel@Base 1.0.25 + sane_mustek_usb2_close@Base 1.0.25 + sane_mustek_usb2_control_option@Base 1.0.25 + sane_mustek_usb2_exit@Base 1.0.25 + sane_mustek_usb2_get_devices@Base 1.0.25 + sane_mustek_usb2_get_option_descriptor@Base 1.0.25 + sane_mustek_usb2_get_parameters@Base 1.0.25 + sane_mustek_usb2_get_select_fd@Base 1.0.25 + sane_mustek_usb2_init@Base 1.0.25 + sane_mustek_usb2_open@Base 1.0.25 + sane_mustek_usb2_read@Base 1.0.25 + sane_mustek_usb2_set_io_mode@Base 1.0.25 + sane_mustek_usb2_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_mustek_usb2@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-nec.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_nec_cancel@Base 1.0.25 + sane_nec_close@Base 1.0.25 + sane_nec_control_option@Base 1.0.25 + sane_nec_exit@Base 1.0.25 + sane_nec_get_devices@Base 1.0.25 + sane_nec_get_option_descriptor@Base 1.0.25 + sane_nec_get_parameters@Base 1.0.25 + sane_nec_get_select_fd@Base 1.0.25 + sane_nec_init@Base 1.0.25 + sane_nec_open@Base 1.0.25 + sane_nec_read@Base 1.0.25 + sane_nec_set_io_mode@Base 1.0.25 + sane_nec_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_nec@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-net.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_net_cancel@Base 1.0.25 + sane_net_close@Base 1.0.25 + sane_net_control_option@Base 1.0.25 + sane_net_exit@Base 1.0.25 + sane_net_get_devices@Base 1.0.25 + sane_net_get_option_descriptor@Base 1.0.25 + sane_net_get_parameters@Base 1.0.25 + sane_net_get_select_fd@Base 1.0.25 + sane_net_init@Base 1.0.25 + sane_net_open@Base 1.0.25 + sane_net_read@Base 1.0.25 + sane_net_set_io_mode@Base 1.0.25 + sane_net_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_net@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 +libsane-niash.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_niash_cancel@Base 1.0.25 + sane_niash_close@Base 1.0.25 + sane_niash_control_option@Base 1.0.25 + sane_niash_exit@Base 1.0.25 + sane_niash_get_devices@Base 1.0.25 + sane_niash_get_option_descriptor@Base 1.0.25 + sane_niash_get_parameters@Base 1.0.25 + sane_niash_get_select_fd@Base 1.0.25 + sane_niash_init@Base 1.0.25 + sane_niash_open@Base 1.0.25 + sane_niash_read@Base 1.0.25 + sane_niash_set_io_mode@Base 1.0.25 + sane_niash_start@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_niash@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-p5.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_p5_cancel@Base 1.0.25 + sane_p5_close@Base 1.0.25 + sane_p5_control_option@Base 1.0.25 + sane_p5_exit@Base 1.0.25 + sane_p5_get_devices@Base 1.0.25 + sane_p5_get_option_descriptor@Base 1.0.25 + sane_p5_get_parameters@Base 1.0.25 + sane_p5_get_select_fd@Base 1.0.25 + sane_p5_init@Base 1.0.25 + sane_p5_open@Base 1.0.25 + sane_p5_read@Base 1.0.25 + sane_p5_set_io_mode@Base 1.0.25 + sane_p5_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_p5@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-pie.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pie_cancel@Base 1.0.25 + sane_pie_close@Base 1.0.25 + sane_pie_control_option@Base 1.0.25 + sane_pie_exit@Base 1.0.25 + sane_pie_get_devices@Base 1.0.25 + sane_pie_get_option_descriptor@Base 1.0.25 + sane_pie_get_parameters@Base 1.0.25 + sane_pie_get_select_fd@Base 1.0.25 + sane_pie_init@Base 1.0.25 + sane_pie_open@Base 1.0.25 + sane_pie_read@Base 1.0.25 + sane_pie_set_io_mode@Base 1.0.25 + sane_pie_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pie@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pieusb.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pieusb_definition_list_head@Base 1.0.25 + pieusb_supported_usb_device@Base 1.0.25 + pieusb_supported_usb_device_list@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pieusb_cancel@Base 1.0.25 + sane_pieusb_close@Base 1.0.25 + sane_pieusb_control_option@Base 1.0.25 + sane_pieusb_exit@Base 1.0.25 + sane_pieusb_get_devices@Base 1.0.25 + sane_pieusb_get_option_descriptor@Base 1.0.25 + sane_pieusb_get_parameters@Base 1.0.25 + sane_pieusb_get_select_fd@Base 1.0.25 + sane_pieusb_init@Base 1.0.25 + sane_pieusb_open@Base 1.0.25 + sane_pieusb_read@Base 1.0.25 + sane_pieusb_set_io_mode@Base 1.0.25 + sane_pieusb_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pieusb@Base 1.0.25 + sanei_debug_pieusb_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_ir@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_ir_RGB_luminance@Base 1.0.25 + sanei_ir_accumulate_norm_histo@Base 1.0.25 + sanei_ir_add_threshold@Base 1.0.25 + sanei_ir_create_norm_histo@Base 1.0.25 + sanei_ir_create_norm_histogram@Base 1.0.25 + sanei_ir_dilate@Base 1.0.25 + sanei_ir_dilate_mean@Base 1.0.25 + sanei_ir_filter_madmean@Base 1.0.25 + sanei_ir_filter_mean@Base 1.0.25 + sanei_ir_find_crop@Base 1.0.25 + sanei_ir_init@Base 1.0.25 + sanei_ir_ln_table@Base 1.0.25 + sanei_ir_manhattan_dist@Base 1.0.25 + sanei_ir_spectral_clean@Base 1.0.25 + sanei_ir_threshold_maxentropy@Base 1.0.25 + sanei_ir_threshold_otsu@Base 1.0.25 + sanei_ir_threshold_yen@Base 1.0.25 + sanei_ir_to_8bit@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pieusb_analyse_options@Base 1.0.25 + sanei_pieusb_analyze_preview@Base 1.0.25 + sanei_pieusb_buffer_create@Base 1.0.25 + sanei_pieusb_buffer_delete@Base 1.0.25 + sanei_pieusb_buffer_get@Base 1.0.25 + sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 + sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 + sanei_pieusb_cmd_17@Base 1.0.25 + sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 + sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_get_mode@Base 1.0.25 + sanei_pieusb_cmd_get_parameters@Base 1.0.25 + sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 + sanei_pieusb_cmd_get_sense@Base 1.0.25 + sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 + sanei_pieusb_cmd_inquiry@Base 1.0.25 + sanei_pieusb_cmd_read_state@Base 1.0.25 + sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 + sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 + sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 + sanei_pieusb_cmd_set_mode@Base 1.0.25 + sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 + sanei_pieusb_cmd_set_scan_head@Base 1.0.25 + sanei_pieusb_cmd_slide@Base 1.0.25 + sanei_pieusb_cmd_start_scan@Base 1.0.25 + sanei_pieusb_cmd_stop_scan@Base 1.0.25 + sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 + sanei_pieusb_command@Base 1.0.25 + sanei_pieusb_convert_status@Base 1.0.25 + sanei_pieusb_correct_shading@Base 1.0.25 + sanei_pieusb_decode_sense@Base 1.0.25 + sanei_pieusb_find_device_callback@Base 1.0.25 + sanei_pieusb_get_ccd_mask@Base 1.0.25 + sanei_pieusb_get_parameters@Base 1.0.25 + sanei_pieusb_get_scan_data@Base 1.0.25 + sanei_pieusb_get_shading_data@Base 1.0.25 + sanei_pieusb_init_options@Base 1.0.25 + sanei_pieusb_on_cancel@Base 1.0.25 + sanei_pieusb_parse_config_line@Base 1.0.25 + sanei_pieusb_post@Base 1.0.25 + sanei_pieusb_print_options@Base 1.0.25 + sanei_pieusb_set_frame_from_options@Base 1.0.25 + sanei_pieusb_set_gain_offset@Base 1.0.25 + sanei_pieusb_set_mode_from_options@Base 1.0.25 + sanei_pieusb_supported_device_list_add@Base 1.0.25 + sanei_pieusb_supported_device_list_contains@Base 1.0.25 + sanei_pieusb_usb_reset@Base 1.0.25 + sanei_pieusb_wait_ready@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-pixma.so.1 libsane #MINVER# + bjnp_protocol_defs@Base 1.0.25 + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + pixma_activate@Base 1.0.25 + pixma_activate_connection@Base 1.0.25 + pixma_binarize_line@Base 1.0.25 + pixma_deactivate@Base 1.0.25 + pixma_deactivate_connection@Base 1.0.25 + pixma_r_to_ir@Base 1.0.25 + pixma_rgb_to_gray@Base 1.0.25 + rewrite_uri@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pixma_cancel@Base 1.0.25 + sane_pixma_close@Base 1.0.25 + sane_pixma_control_option@Base 1.0.25 + sane_pixma_exit@Base 1.0.25 + sane_pixma_get_devices@Base 1.0.25 + sane_pixma_get_option_descriptor@Base 1.0.25 + sane_pixma_get_parameters@Base 1.0.25 + sane_pixma_get_select_fd@Base 1.0.25 + sane_pixma_init@Base 1.0.25 + sane_pixma_open@Base 1.0.25 + sane_pixma_read@Base 1.0.25 + sane_pixma_set_io_mode@Base 1.0.25 + sane_pixma_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_bjnp_activate@Base 1.0.25 + sanei_bjnp_close@Base 1.0.25 + sanei_bjnp_deactivate@Base 1.0.25 + sanei_bjnp_find_devices@Base 1.0.25 + sanei_bjnp_init@Base 1.0.25 + sanei_bjnp_open@Base 1.0.25 + sanei_bjnp_read_bulk@Base 1.0.25 + sanei_bjnp_read_int@Base 1.0.25 + sanei_bjnp_set_timeout@Base 1.0.25 + sanei_bjnp_write_bulk@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_bjnp@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pixma@Base 1.0.25 + sanei_debug_pixma_call@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pixma_cancel@Base 1.0.25 + sanei_pixma_check_dpi@Base 1.0.25 + sanei_pixma_check_result@Base 1.0.25 + sanei_pixma_check_scan_param@Base 1.0.25 + sanei_pixma_cleanup@Base 1.0.25 + sanei_pixma_close@Base 1.0.25 + sanei_pixma_cmd_transaction@Base 1.0.25 + sanei_pixma_collect_devices@Base 1.0.25 + sanei_pixma_connect@Base 1.0.25 + sanei_pixma_disconnect@Base 1.0.25 + sanei_pixma_dump@Base 1.0.25 + sanei_pixma_enable_background@Base 1.0.25 + sanei_pixma_exec@Base 1.0.25 + sanei_pixma_exec_short_cmd@Base 1.0.25 + sanei_pixma_fill_gamma_table@Base 1.0.25 + sanei_pixma_find_scanners@Base 1.0.25 + sanei_pixma_get_be16@Base 1.0.25 + sanei_pixma_get_be32@Base 1.0.25 + sanei_pixma_get_config@Base 1.0.25 + sanei_pixma_get_device_config@Base 1.0.25 + sanei_pixma_get_device_id@Base 1.0.25 + sanei_pixma_get_device_model@Base 1.0.25 + sanei_pixma_get_device_status@Base 1.0.25 + sanei_pixma_get_string@Base 1.0.25 + sanei_pixma_get_time@Base 1.0.25 + sanei_pixma_hexdump@Base 1.0.25 + sanei_pixma_iclass_devices@Base 1.0.25 + sanei_pixma_init@Base 1.0.25 + sanei_pixma_io_cleanup@Base 1.0.25 + sanei_pixma_io_init@Base 1.0.25 + sanei_pixma_map_status_errno@Base 1.0.25 + sanei_pixma_mp150_devices@Base 1.0.25 + sanei_pixma_mp730_devices@Base 1.0.25 + sanei_pixma_mp750_devices@Base 1.0.25 + sanei_pixma_mp810_devices@Base 1.0.25 + sanei_pixma_newcmd@Base 1.0.25 + sanei_pixma_open@Base 1.0.25 + sanei_pixma_read@Base 1.0.25 + sanei_pixma_read_image@Base 1.0.25 + sanei_pixma_reset_device@Base 1.0.25 + sanei_pixma_scan@Base 1.0.25 + sanei_pixma_set_be16@Base 1.0.25 + sanei_pixma_set_be32@Base 1.0.25 + sanei_pixma_set_debug_level@Base 1.0.25 + sanei_pixma_set_interrupt_mode@Base 1.0.25 + sanei_pixma_sleep@Base 1.0.25 + sanei_pixma_strerror@Base 1.0.25 + sanei_pixma_sum_bytes@Base 1.0.25 + sanei_pixma_wait_event@Base 1.0.25 + sanei_pixma_wait_interrupt@Base 1.0.25 + sanei_pixma_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_cancel@Base 1.0.25 + sane_plustek_close@Base 1.0.25 + sane_plustek_control_option@Base 1.0.25 + sane_plustek_exit@Base 1.0.25 + sane_plustek_get_devices@Base 1.0.25 + sane_plustek_get_option_descriptor@Base 1.0.25 + sane_plustek_get_parameters@Base 1.0.25 + sane_plustek_get_select_fd@Base 1.0.25 + sane_plustek_init@Base 1.0.25 + sane_plustek_open@Base 1.0.25 + sane_plustek_read@Base 1.0.25 + sane_plustek_set_io_mode@Base 1.0.25 + sane_plustek_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-plustek_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_plustek_pp_cancel@Base 1.0.25 + sane_plustek_pp_close@Base 1.0.25 + sane_plustek_pp_control_option@Base 1.0.25 + sane_plustek_pp_exit@Base 1.0.25 + sane_plustek_pp_get_devices@Base 1.0.25 + sane_plustek_pp_get_option_descriptor@Base 1.0.25 + sane_plustek_pp_get_parameters@Base 1.0.25 + sane_plustek_pp_get_select_fd@Base 1.0.25 + sane_plustek_pp_init@Base 1.0.25 + sane_plustek_pp_open@Base 1.0.25 + sane_plustek_pp_read@Base 1.0.25 + sane_plustek_pp_set_io_mode@Base 1.0.25 + sane_plustek_pp_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_plustek_pp@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-pnm.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_pnm_cancel@Base 1.0.25 + sane_pnm_close@Base 1.0.25 + sane_pnm_control_option@Base 1.0.25 + sane_pnm_exit@Base 1.0.25 + sane_pnm_get_devices@Base 1.0.25 + sane_pnm_get_option_descriptor@Base 1.0.25 + sane_pnm_get_parameters@Base 1.0.25 + sane_pnm_get_select_fd@Base 1.0.25 + sane_pnm_init@Base 1.0.25 + sane_pnm_open@Base 1.0.25 + sane_pnm_read@Base 1.0.25 + sane_pnm_set_io_mode@Base 1.0.25 + sane_pnm_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_pnm@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_init_debug@Base 1.0.25 +libsane-qcam.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_qcam_cancel@Base 1.0.25 + sane_qcam_close@Base 1.0.25 + sane_qcam_control_option@Base 1.0.25 + sane_qcam_exit@Base 1.0.25 + sane_qcam_get_devices@Base 1.0.25 + sane_qcam_get_option_descriptor@Base 1.0.25 + sane_qcam_get_parameters@Base 1.0.25 + sane_qcam_get_select_fd@Base 1.0.25 + sane_qcam_init@Base 1.0.25 + sane_qcam_open@Base 1.0.25 + sane_qcam_read@Base 1.0.25 + sane_qcam_set_io_mode@Base 1.0.25 + sane_qcam_start@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_qcam@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 +libsane-ricoh.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_ricoh_cancel@Base 1.0.25 + sane_ricoh_close@Base 1.0.25 + sane_ricoh_control_option@Base 1.0.25 + sane_ricoh_exit@Base 1.0.25 + sane_ricoh_get_devices@Base 1.0.25 + sane_ricoh_get_option_descriptor@Base 1.0.25 + sane_ricoh_get_parameters@Base 1.0.25 + sane_ricoh_get_select_fd@Base 1.0.25 + sane_ricoh_init@Base 1.0.25 + sane_ricoh_open@Base 1.0.25 + sane_ricoh_read@Base 1.0.25 + sane_ricoh_set_io_mode@Base 1.0.25 + sane_ricoh_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_ricoh@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-rts8891.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_rts8891_cancel@Base 1.0.25 + sane_rts8891_close@Base 1.0.25 + sane_rts8891_control_option@Base 1.0.25 + sane_rts8891_exit@Base 1.0.25 + sane_rts8891_get_devices@Base 1.0.25 + sane_rts8891_get_option_descriptor@Base 1.0.25 + sane_rts8891_get_parameters@Base 1.0.25 + sane_rts8891_get_select_fd@Base 1.0.25 + sane_rts8891_init@Base 1.0.25 + sane_rts8891_open@Base 1.0.25 + sane_rts8891_read@Base 1.0.25 + sane_rts8891_set_io_mode@Base 1.0.25 + sane_rts8891_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_rts8891@Base 1.0.25 + sanei_debug_rts88xx_lib@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_rts88xx_cancel@Base 1.0.25 + sanei_rts88xx_data_count@Base 1.0.25 + sanei_rts88xx_get_lamp_status@Base 1.0.25 + sanei_rts88xx_get_lcd@Base 1.0.25 + sanei_rts88xx_get_mem@Base 1.0.25 + sanei_rts88xx_get_status@Base 1.0.25 + sanei_rts88xx_is_color@Base 1.0.25 + sanei_rts88xx_lib_init@Base 1.0.25 + sanei_rts88xx_nvram_ctrl@Base 1.0.25 + sanei_rts88xx_read_data@Base 1.0.25 + sanei_rts88xx_read_mem@Base 1.0.25 + sanei_rts88xx_read_reg@Base 1.0.25 + sanei_rts88xx_read_regs@Base 1.0.25 + sanei_rts88xx_reset_lamp@Base 1.0.25 + sanei_rts88xx_set_color_scan@Base 1.0.25 + sanei_rts88xx_set_gain@Base 1.0.25 + sanei_rts88xx_set_gray_scan@Base 1.0.25 + sanei_rts88xx_set_mem@Base 1.0.25 + sanei_rts88xx_set_offset@Base 1.0.25 + sanei_rts88xx_set_scan_area@Base 1.0.25 + sanei_rts88xx_set_scan_frequency@Base 1.0.25 + sanei_rts88xx_set_status@Base 1.0.25 + sanei_rts88xx_setup_nvram@Base 1.0.25 + sanei_rts88xx_wait_data@Base 1.0.25 + sanei_rts88xx_write_control@Base 1.0.25 + sanei_rts88xx_write_mem@Base 1.0.25 + sanei_rts88xx_write_reg@Base 1.0.25 + sanei_rts88xx_write_regs@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-s9036.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_s9036_cancel@Base 1.0.25 + sane_s9036_close@Base 1.0.25 + sane_s9036_control_option@Base 1.0.25 + sane_s9036_exit@Base 1.0.25 + sane_s9036_get_devices@Base 1.0.25 + sane_s9036_get_option_descriptor@Base 1.0.25 + sane_s9036_get_parameters@Base 1.0.25 + sane_s9036_get_select_fd@Base 1.0.25 + sane_s9036_init@Base 1.0.25 + sane_s9036_open@Base 1.0.25 + sane_s9036_read@Base 1.0.25 + sane_s9036_set_io_mode@Base 1.0.25 + sane_s9036_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_s9036@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sceptre.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_sceptre_cancel@Base 1.0.25 + sane_sceptre_close@Base 1.0.25 + sane_sceptre_control_option@Base 1.0.25 + sane_sceptre_exit@Base 1.0.25 + sane_sceptre_get_devices@Base 1.0.25 + sane_sceptre_get_option_descriptor@Base 1.0.25 + sane_sceptre_get_parameters@Base 1.0.25 + sane_sceptre_get_select_fd@Base 1.0.25 + sane_sceptre_init@Base 1.0.25 + sane_sceptre_open@Base 1.0.25 + sane_sceptre_read@Base 1.0.25 + sane_sceptre_set_io_mode@Base 1.0.25 + sane_sceptre_start@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sceptre@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sharp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sharp_cancel@Base 1.0.25 + sane_sharp_close@Base 1.0.25 + sane_sharp_control_option@Base 1.0.25 + sane_sharp_exit@Base 1.0.25 + sane_sharp_get_devices@Base 1.0.25 + sane_sharp_get_option_descriptor@Base 1.0.25 + sane_sharp_get_parameters@Base 1.0.25 + sane_sharp_get_select_fd@Base 1.0.25 + sane_sharp_init@Base 1.0.25 + sane_sharp_open@Base 1.0.25 + sane_sharp_read@Base 1.0.25 + sane_sharp_set_io_mode@Base 1.0.25 + sane_sharp_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sharp@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-sm3600.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3600_cancel@Base 1.0.25 + sane_sm3600_close@Base 1.0.25 + sane_sm3600_control_option@Base 1.0.25 + sane_sm3600_exit@Base 1.0.25 + sane_sm3600_get_devices@Base 1.0.25 + sane_sm3600_get_option_descriptor@Base 1.0.25 + sane_sm3600_get_parameters@Base 1.0.25 + sane_sm3600_get_select_fd@Base 1.0.25 + sane_sm3600_init@Base 1.0.25 + sane_sm3600_open@Base 1.0.25 + sane_sm3600_read@Base 1.0.25 + sane_sm3600_set_io_mode@Base 1.0.25 + sane_sm3600_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3600@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sm3840.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sm3840_cancel@Base 1.0.25 + sane_sm3840_close@Base 1.0.25 + sane_sm3840_control_option@Base 1.0.25 + sane_sm3840_exit@Base 1.0.25 + sane_sm3840_get_devices@Base 1.0.25 + sane_sm3840_get_option_descriptor@Base 1.0.25 + sane_sm3840_get_parameters@Base 1.0.25 + sane_sm3840_get_select_fd@Base 1.0.25 + sane_sm3840_init@Base 1.0.25 + sane_sm3840_open@Base 1.0.25 + sane_sm3840_read@Base 1.0.25 + sane_sm3840_set_io_mode@Base 1.0.25 + sane_sm3840_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sm3840@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-snapscan.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_snapscan_cancel@Base 1.0.25 + sane_snapscan_close@Base 1.0.25 + sane_snapscan_control_option@Base 1.0.25 + sane_snapscan_exit@Base 1.0.25 + sane_snapscan_get_devices@Base 1.0.25 + sane_snapscan_get_option_descriptor@Base 1.0.25 + sane_snapscan_get_parameters@Base 1.0.25 + sane_snapscan_get_select_fd@Base 1.0.25 + sane_snapscan_init@Base 1.0.25 + sane_snapscan_open@Base 1.0.25 + sane_snapscan_read@Base 1.0.25 + sane_snapscan_set_io_mode@Base 1.0.25 + sane_snapscan_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_snapscan@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-sp15c.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_sp15c_cancel@Base 1.0.25 + sane_sp15c_close@Base 1.0.25 + sane_sp15c_control_option@Base 1.0.25 + sane_sp15c_exit@Base 1.0.25 + sane_sp15c_get_devices@Base 1.0.25 + sane_sp15c_get_option_descriptor@Base 1.0.25 + sane_sp15c_get_parameters@Base 1.0.25 + sane_sp15c_get_select_fd@Base 1.0.25 + sane_sp15c_init@Base 1.0.25 + sane_sp15c_open@Base 1.0.25 + sane_sp15c_read@Base 1.0.25 + sane_sp15c_set_io_mode@Base 1.0.25 + sane_sp15c_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sp15c@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-st400.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_st400_cancel@Base 1.0.25 + sane_st400_close@Base 1.0.25 + sane_st400_control_option@Base 1.0.25 + sane_st400_exit@Base 1.0.25 + sane_st400_get_devices@Base 1.0.25 + sane_st400_get_option_descriptor@Base 1.0.25 + sane_st400_get_parameters@Base 1.0.25 + sane_st400_get_select_fd@Base 1.0.25 + sane_st400_init@Base 1.0.25 + sane_st400_open@Base 1.0.25 + sane_st400_read@Base 1.0.25 + sane_st400_set_io_mode@Base 1.0.25 + sane_st400_start@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_st400@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-stv680.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_stv680_cancel@Base 1.0.25 + sane_stv680_close@Base 1.0.25 + sane_stv680_control_option@Base 1.0.25 + sane_stv680_exit@Base 1.0.25 + sane_stv680_get_devices@Base 1.0.25 + sane_stv680_get_option_descriptor@Base 1.0.25 + sane_stv680_get_parameters@Base 1.0.25 + sane_stv680_get_select_fd@Base 1.0.25 + sane_stv680_init@Base 1.0.25 + sane_stv680_open@Base 1.0.25 + sane_stv680_read@Base 1.0.25 + sane_stv680_set_io_mode@Base 1.0.25 + sane_stv680_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_stv680@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-tamarack.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_tamarack_cancel@Base 1.0.25 + sane_tamarack_close@Base 1.0.25 + sane_tamarack_control_option@Base 1.0.25 + sane_tamarack_exit@Base 1.0.25 + sane_tamarack_get_devices@Base 1.0.25 + sane_tamarack_get_option_descriptor@Base 1.0.25 + sane_tamarack_get_parameters@Base 1.0.25 + sane_tamarack_get_select_fd@Base 1.0.25 + sane_tamarack_init@Base 1.0.25 + sane_tamarack_open@Base 1.0.25 + sane_tamarack_read@Base 1.0.25 + sane_tamarack_set_io_mode@Base 1.0.25 + sane_tamarack_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_tamarack@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-teco1.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco1_cancel@Base 1.0.25 + sane_teco1_close@Base 1.0.25 + sane_teco1_control_option@Base 1.0.25 + sane_teco1_exit@Base 1.0.25 + sane_teco1_get_devices@Base 1.0.25 + sane_teco1_get_option_descriptor@Base 1.0.25 + sane_teco1_get_parameters@Base 1.0.25 + sane_teco1_get_select_fd@Base 1.0.25 + sane_teco1_init@Base 1.0.25 + sane_teco1_open@Base 1.0.25 + sane_teco1_read@Base 1.0.25 + sane_teco1_set_io_mode@Base 1.0.25 + sane_teco1_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco1@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco2.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco2_cancel@Base 1.0.25 + sane_teco2_close@Base 1.0.25 + sane_teco2_control_option@Base 1.0.25 + sane_teco2_exit@Base 1.0.25 + sane_teco2_get_devices@Base 1.0.25 + sane_teco2_get_option_descriptor@Base 1.0.25 + sane_teco2_get_parameters@Base 1.0.25 + sane_teco2_get_select_fd@Base 1.0.25 + sane_teco2_init@Base 1.0.25 + sane_teco2_open@Base 1.0.25 + sane_teco2_read@Base 1.0.25 + sane_teco2_set_io_mode@Base 1.0.25 + sane_teco2_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco2@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-teco3.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_teco3_cancel@Base 1.0.25 + sane_teco3_close@Base 1.0.25 + sane_teco3_control_option@Base 1.0.25 + sane_teco3_exit@Base 1.0.25 + sane_teco3_get_devices@Base 1.0.25 + sane_teco3_get_option_descriptor@Base 1.0.25 + sane_teco3_get_parameters@Base 1.0.25 + sane_teco3_get_select_fd@Base 1.0.25 + sane_teco3_init@Base 1.0.25 + sane_teco3_open@Base 1.0.25 + sane_teco3_read@Base 1.0.25 + sane_teco3_set_io_mode@Base 1.0.25 + sane_teco3_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_teco3@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 +libsane-test.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_test_cancel@Base 1.0.25 + sane_test_close@Base 1.0.25 + sane_test_control_option@Base 1.0.25 + sane_test_exit@Base 1.0.25 + sane_test_get_devices@Base 1.0.25 + sane_test_get_option_descriptor@Base 1.0.25 + sane_test_get_parameters@Base 1.0.25 + sane_test_get_select_fd@Base 1.0.25 + sane_test_init@Base 1.0.25 + sane_test_open@Base 1.0.25 + sane_test_read@Base 1.0.25 + sane_test_set_io_mode@Base 1.0.25 + sane_test_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_test@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 +libsane-u12.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_u12_cancel@Base 1.0.25 + sane_u12_close@Base 1.0.25 + sane_u12_control_option@Base 1.0.25 + sane_u12_exit@Base 1.0.25 + sane_u12_get_devices@Base 1.0.25 + sane_u12_get_option_descriptor@Base 1.0.25 + sane_u12_get_parameters@Base 1.0.25 + sane_u12_get_select_fd@Base 1.0.25 + sane_u12_init@Base 1.0.25 + sane_u12_open@Base 1.0.25 + sane_u12_read@Base 1.0.25 + sane_u12_set_io_mode@Base 1.0.25 + sane_u12_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_u12@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_cancel@Base 1.0.25 + sane_umax_close@Base 1.0.25 + sane_umax_control_option@Base 1.0.25 + sane_umax_exit@Base 1.0.25 + sane_umax_get_devices@Base 1.0.25 + sane_umax_get_option_descriptor@Base 1.0.25 + sane_umax_get_parameters@Base 1.0.25 + sane_umax_get_select_fd@Base 1.0.25 + sane_umax_init@Base 1.0.25 + sane_umax_open@Base 1.0.25 + sane_umax_read@Base 1.0.25 + sane_umax_set_io_mode@Base 1.0.25 + sane_umax_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax1220u.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax1220u_cancel@Base 1.0.25 + sane_umax1220u_close@Base 1.0.25 + sane_umax1220u_control_option@Base 1.0.25 + sane_umax1220u_exit@Base 1.0.25 + sane_umax1220u_get_devices@Base 1.0.25 + sane_umax1220u_get_option_descriptor@Base 1.0.25 + sane_umax1220u_get_parameters@Base 1.0.25 + sane_umax1220u_get_select_fd@Base 1.0.25 + sane_umax1220u_init@Base 1.0.25 + sane_umax1220u_open@Base 1.0.25 + sane_umax1220u_read@Base 1.0.25 + sane_umax1220u_set_io_mode@Base 1.0.25 + sane_umax1220u_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_umax1220u@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 +libsane-umax_pp.so.1 libsane #MINVER# + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_umax_pp_cancel@Base 1.0.25 + sane_umax_pp_close@Base 1.0.25 + sane_umax_pp_control_option@Base 1.0.25 + sane_umax_pp_exit@Base 1.0.25 + sane_umax_pp_get_devices@Base 1.0.25 + sane_umax_pp_get_option_descriptor@Base 1.0.25 + sane_umax_pp_get_parameters@Base 1.0.25 + sane_umax_pp_get_select_fd@Base 1.0.25 + sane_umax_pp_init@Base 1.0.25 + sane_umax_pp_open@Base 1.0.25 + sane_umax_pp_read@Base 1.0.25 + sane_umax_pp_set_io_mode@Base 1.0.25 + sane_umax_pp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_umax_pp@Base 1.0.25 + sanei_debug_umax_pp_call@Base 1.0.25 + sanei_debug_umax_pp_low@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_parport_find_device@Base 1.0.25 + sanei_parport_find_port@Base 1.0.25 + sanei_umax_pp_UTA@Base 1.0.25 + sanei_umax_pp_attach@Base 1.0.25 + sanei_umax_pp_cancel@Base 1.0.25 + sanei_umax_pp_checkModel@Base 1.0.25 + sanei_umax_pp_close@Base 1.0.25 + sanei_umax_pp_cmdSync@Base 1.0.25 + sanei_umax_pp_endSession@Base 1.0.25 + sanei_umax_pp_gamma@Base 1.0.25 + sanei_umax_pp_getLeft@Base 1.0.25 + sanei_umax_pp_getastra@Base 1.0.25 + sanei_umax_pp_getauto@Base 1.0.25 + sanei_umax_pp_getfull@Base 1.0.25 + sanei_umax_pp_getparport@Base 1.0.25 + sanei_umax_pp_getport@Base 1.0.25 + sanei_umax_pp_initPort@Base 1.0.25 + sanei_umax_pp_initScanner@Base 1.0.25 + sanei_umax_pp_initTransport@Base 1.0.25 + sanei_umax_pp_lamp@Base 1.0.25 + sanei_umax_pp_model@Base 1.0.25 + sanei_umax_pp_open@Base 1.0.25 + sanei_umax_pp_park@Base 1.0.25 + sanei_umax_pp_parkWait@Base 1.0.25 + sanei_umax_pp_probeScanner@Base 1.0.25 + sanei_umax_pp_read@Base 1.0.25 + sanei_umax_pp_readBlock@Base 1.0.25 + sanei_umax_pp_scan@Base 1.0.25 + sanei_umax_pp_scannerStatus@Base 1.0.25 + sanei_umax_pp_setLamp@Base 1.0.25 + sanei_umax_pp_setLeft@Base 1.0.25 + sanei_umax_pp_setastra@Base 1.0.25 + sanei_umax_pp_setauto@Base 1.0.25 + sanei_umax_pp_setfull@Base 1.0.25 + sanei_umax_pp_setparport@Base 1.0.25 + sanei_umax_pp_setport@Base 1.0.25 + sanei_umax_pp_start@Base 1.0.25 + sanei_umax_pp_startScan@Base 1.0.25 + sanei_umax_pp_status@Base 1.0.25 +libsane-xerox_mfp.so.1 libsane #MINVER# + available_transports@Base 1.0.25 + cmsg@Base 1.0.25 + encTmpFileName@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + ret_cancel@Base 1.0.25 + sane_cancel@Base 1.0.25 + sane_close@Base 1.0.25 + sane_control_option@Base 1.0.25 + sane_exit@Base 1.0.25 + sane_get_devices@Base 1.0.25 + sane_get_option_descriptor@Base 1.0.25 + sane_get_parameters@Base 1.0.25 + sane_get_select_fd@Base 1.0.25 + sane_init@Base 1.0.25 + sane_open@Base 1.0.25 + sane_read@Base 1.0.25 + sane_set_io_mode@Base 1.0.25 + sane_start@Base 1.0.25 + sane_strstatus@Base 1.0.25 + sane_xerox_mfp_cancel@Base 1.0.25 + sane_xerox_mfp_close@Base 1.0.25 + sane_xerox_mfp_control_option@Base 1.0.25 + sane_xerox_mfp_exit@Base 1.0.25 + sane_xerox_mfp_get_devices@Base 1.0.25 + sane_xerox_mfp_get_option_descriptor@Base 1.0.25 + sane_xerox_mfp_get_parameters@Base 1.0.25 + sane_xerox_mfp_get_select_fd@Base 1.0.25 + sane_xerox_mfp_init@Base 1.0.25 + sane_xerox_mfp_open@Base 1.0.25 + sane_xerox_mfp_read@Base 1.0.25 + sane_xerox_mfp_set_io_mode@Base 1.0.25 + sane_xerox_mfp_start@Base 1.0.25 + sanei_check_value@Base 1.0.25 + sanei_config_get_paths@Base 1.0.25 + sanei_config_get_string@Base 1.0.25 + sanei_config_open@Base 1.0.25 + sanei_config_read@Base 1.0.25 + sanei_config_skip_whitespace@Base 1.0.25 + sanei_configure_attach@Base 1.0.25 + sanei_constrain_value@Base 1.0.25 + sanei_debug_msg@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.25 + sanei_debug_sanei_debug@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_xerox_mfp@Base 1.0.25 + sanei_debug_xerox_mfp_call@Base 1.0.25 + sanei_init_debug@Base 1.0.25 + sanei_jpeg_jinit_write_ppm@Base 1.0.27 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + tcp_configure_device@Base 1.0.25 + tcp_dev_close@Base 1.0.25 + tcp_dev_open@Base 1.0.25 + tcp_dev_request@Base 1.0.25 + usb_configure_device@Base 1.0.25 + usb_dev_close@Base 1.0.25 + usb_dev_open@Base 1.0.25 + usb_dev_request@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.25 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.24 + sane_close@Base 1.0.24 + sane_control_option@Base 1.0.24 + sane_dll_cancel@Base 1.0.25 + sane_dll_close@Base 1.0.25 + sane_dll_control_option@Base 1.0.25 + sane_dll_exit@Base 1.0.25 + sane_dll_get_devices@Base 1.0.25 + sane_dll_get_option_descriptor@Base 1.0.25 + sane_dll_get_parameters@Base 1.0.25 + sane_dll_get_select_fd@Base 1.0.25 + sane_dll_init@Base 1.0.25 + sane_dll_open@Base 1.0.25 + sane_dll_read@Base 1.0.25 + sane_dll_set_io_mode@Base 1.0.25 + sane_dll_start@Base 1.0.25 + sane_exit@Base 1.0.24 + sane_get_devices@Base 1.0.24 + sane_get_option_descriptor@Base 1.0.24 + sane_get_parameters@Base 1.0.24 + sane_get_select_fd@Base 1.0.24 + sane_init@Base 1.0.24 + sane_open@Base 1.0.24 + sane_read@Base 1.0.24 + sane_set_io_mode@Base 1.0.24 + sane_start@Base 1.0.24 + sane_strstatus@Base 1.0.24 + sanei_ab306_close@Base 1.0.25 + sanei_ab306_cmd@Base 1.0.25 + sanei_ab306_exit@Base 1.0.25 + sanei_ab306_get_io_privilege@Base 1.0.25 + sanei_ab306_open@Base 1.0.25 + sanei_ab306_rdata@Base 1.0.25 + sanei_ab306_test_ready@Base 1.0.25 + sanei_access_init@Base 1.0.25 + sanei_access_lock@Base 1.0.25 + sanei_access_unlock@Base 1.0.25 + sanei_check_value@Base 1.0.24 + sanei_codec_bin_init@Base 1.0.25 + sanei_config_attach_matching_devices@Base 1.0.25 + sanei_config_get_paths@Base 1.0.24 + sanei_config_get_string@Base 1.0.24 + sanei_config_open@Base 1.0.24 + sanei_config_read@Base 1.0.24 + sanei_config_skip_whitespace@Base 1.0.24 + sanei_configure_attach@Base 1.0.24 + sanei_constrain_value@Base 1.0.24 + sanei_debug_dll@Base 1.0.25 + sanei_debug_msg@Base 1.0.24 + sanei_debug_sanei_ab306@Base 1.0.25 + sanei_debug_sanei_access@Base 1.0.25 + sanei_debug_sanei_config@Base 1.0.24 + sanei_debug_sanei_debug@Base 1.0.24 + sanei_debug_sanei_lm983x@Base 1.0.25 + sanei_debug_sanei_magic@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.25 + sanei_debug_sanei_pio@Base 1.0.25 + sanei_debug_sanei_pp@Base 1.0.25 + sanei_debug_sanei_pv8630@Base 1.0.25 + sanei_debug_sanei_scsi@Base 1.0.25 + sanei_debug_sanei_tcp@Base 1.0.25 + sanei_debug_sanei_thread@Base 1.0.25 + sanei_debug_sanei_udp@Base 1.0.25 + sanei_debug_sanei_usb@Base 1.0.25 + sanei_debug_sanei_wire@Base 1.0.25 + sanei_init_debug@Base 1.0.24 + sanei_lm983x_init@Base 1.0.25 + sanei_lm983x_read@Base 1.0.25 + sanei_lm983x_reset@Base 1.0.25 + sanei_lm983x_write@Base 1.0.25 + sanei_lm983x_write_byte@Base 1.0.25 + sanei_magic_crop@Base 1.0.25 + sanei_magic_despeck@Base 1.0.25 + sanei_magic_findEdges@Base 1.0.25 + sanei_magic_findSkew@Base 1.0.25 + sanei_magic_findTurn@Base 1.0.25 + sanei_magic_getTransX@Base 1.0.25 + sanei_magic_getTransY@Base 1.0.25 + sanei_magic_init@Base 1.0.25 + sanei_magic_isBlank2@Base 1.0.25 + sanei_magic_isBlank@Base 1.0.25 + sanei_magic_rotate@Base 1.0.25 + sanei_magic_turn@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.25 + sanei_pa4s2_devices@Base 1.0.25 + sanei_pa4s2_enable@Base 1.0.25 + sanei_pa4s2_open@Base 1.0.25 + sanei_pa4s2_options@Base 1.0.25 + sanei_pa4s2_readbegin@Base 1.0.25 + sanei_pa4s2_readbyte@Base 1.0.25 + sanei_pa4s2_readend@Base 1.0.25 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 + sanei_pa4s2_scsi_pp_open@Base 1.0.25 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 + sanei_pa4s2_writebyte@Base 1.0.25 + sanei_pio_close@Base 1.0.25 + sanei_pio_open@Base 1.0.25 + sanei_pio_read@Base 1.0.25 + sanei_pio_write@Base 1.0.25 + sanei_pp_claim@Base 1.0.25 + sanei_pp_close@Base 1.0.25 + sanei_pp_getmodes@Base 1.0.25 + sanei_pp_inb_ctrl@Base 1.0.25 + sanei_pp_inb_data@Base 1.0.25 + sanei_pp_inb_epp@Base 1.0.25 + sanei_pp_inb_stat@Base 1.0.25 + sanei_pp_init@Base 1.0.25 + sanei_pp_open@Base 1.0.25 + sanei_pp_outb_addr@Base 1.0.25 + sanei_pp_outb_ctrl@Base 1.0.25 + sanei_pp_outb_data@Base 1.0.25 + sanei_pp_outb_epp@Base 1.0.25 + sanei_pp_release@Base 1.0.25 + sanei_pp_set_datadir@Base 1.0.25 + sanei_pp_setmode@Base 1.0.25 + sanei_pp_udelay@Base 1.0.25 + sanei_pp_uses_directio@Base 1.0.25 + sanei_pv8630_bulkread@Base 1.0.25 + sanei_pv8630_bulkwrite@Base 1.0.25 + sanei_pv8630_flush_buffer@Base 1.0.25 + sanei_pv8630_init@Base 1.0.25 + sanei_pv8630_prep_bulkread@Base 1.0.25 + sanei_pv8630_prep_bulkwrite@Base 1.0.25 + sanei_pv8630_read_byte@Base 1.0.25 + sanei_pv8630_wait_byte@Base 1.0.25 + sanei_pv8630_write_byte@Base 1.0.25 + sanei_pv8630_xpect_byte@Base 1.0.25 + sanei_scsi_close@Base 1.0.25 + sanei_scsi_cmd2@Base 1.0.25 + sanei_scsi_cmd@Base 1.0.25 + sanei_scsi_find_devices@Base 1.0.25 + sanei_scsi_max_request_size@Base 1.0.25 + sanei_scsi_open@Base 1.0.25 + sanei_scsi_open_extended@Base 1.0.25 + sanei_scsi_req_enter2@Base 1.0.25 + sanei_scsi_req_enter@Base 1.0.25 + sanei_scsi_req_flush_all@Base 1.0.25 + sanei_scsi_req_flush_all_extended@Base 1.0.25 + sanei_scsi_req_wait@Base 1.0.25 + sanei_tcp_close@Base 1.0.25 + sanei_tcp_open@Base 1.0.25 + sanei_tcp_read@Base 1.0.25 + sanei_tcp_write@Base 1.0.25 + sanei_thread_begin@Base 1.0.25 + sanei_thread_get_status@Base 1.0.25 + sanei_thread_init@Base 1.0.25 + sanei_thread_is_forked@Base 1.0.25 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.25 + sanei_thread_sendsig@Base 1.0.25 + sanei_thread_waitpid@Base 1.0.25 + sanei_udp_close@Base 1.0.25 + sanei_udp_open@Base 1.0.25 + sanei_udp_open_broadcast@Base 1.0.25 + sanei_udp_read@Base 1.0.25 + sanei_udp_recvfrom@Base 1.0.25 + sanei_udp_set_nonblock@Base 1.0.25 + sanei_udp_write@Base 1.0.25 + sanei_udp_write_broadcast@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.25 + sanei_usb_claim_interface@Base 1.0.25 + sanei_usb_clear_halt@Base 1.0.25 + sanei_usb_close@Base 1.0.25 + sanei_usb_control_msg@Base 1.0.25 + sanei_usb_exit@Base 1.0.25 + sanei_usb_find_devices@Base 1.0.25 + sanei_usb_get_descriptor@Base 1.0.25 + sanei_usb_get_endpoint@Base 1.0.25 + sanei_usb_get_vendor_product@Base 1.0.25 + sanei_usb_get_vendor_product_byname@Base 1.0.25 + sanei_usb_init@Base 1.0.25 + sanei_usb_open@Base 1.0.25 + sanei_usb_read_bulk@Base 1.0.25 + sanei_usb_read_int@Base 1.0.25 + sanei_usb_release_interface@Base 1.0.25 + sanei_usb_reset@Base 1.0.25 + sanei_usb_scan_devices@Base 1.0.25 + sanei_usb_set_altinterface@Base 1.0.25 + sanei_usb_set_configuration@Base 1.0.25 + sanei_usb_set_endpoint@Base 1.0.25 + sanei_usb_set_timeout@Base 1.0.25 + sanei_usb_write_bulk@Base 1.0.25 + sanei_w_action@Base 1.0.25 + sanei_w_array@Base 1.0.25 + sanei_w_authorization_req@Base 1.0.25 + sanei_w_bool@Base 1.0.25 + sanei_w_byte@Base 1.0.25 + sanei_w_call@Base 1.0.25 + sanei_w_char@Base 1.0.25 + sanei_w_constraint_type@Base 1.0.25 + sanei_w_control_option_reply@Base 1.0.25 + sanei_w_control_option_req@Base 1.0.25 + sanei_w_device@Base 1.0.25 + sanei_w_device_ptr@Base 1.0.25 + sanei_w_exit@Base 1.0.25 + sanei_w_frame@Base 1.0.25 + sanei_w_free@Base 1.0.25 + sanei_w_get_devices_reply@Base 1.0.25 + sanei_w_get_parameters_reply@Base 1.0.25 + sanei_w_init@Base 1.0.25 + sanei_w_init_reply@Base 1.0.25 + sanei_w_init_req@Base 1.0.25 + sanei_w_open_reply@Base 1.0.25 + sanei_w_option_descriptor@Base 1.0.25 + sanei_w_option_descriptor_array@Base 1.0.25 + sanei_w_option_descriptor_ptr@Base 1.0.25 + sanei_w_parameters@Base 1.0.25 + sanei_w_ptr@Base 1.0.25 + sanei_w_range@Base 1.0.25 + sanei_w_reply@Base 1.0.25 + sanei_w_set_dir@Base 1.0.25 + sanei_w_space@Base 1.0.25 + sanei_w_start_reply@Base 1.0.25 + sanei_w_status@Base 1.0.25 + sanei_w_string@Base 1.0.25 + sanei_w_unit@Base 1.0.25 + sanei_w_value_type@Base 1.0.25 + sanei_w_void@Base 1.0.25 + sanei_w_word@Base 1.0.25 diff --git a/debian/patches/0720-mustek_usb2-Avoid-stack-smashing.patch b/debian/patches/0720-mustek_usb2-Avoid-stack-smashing.patch new file mode 100644 index 0000000..747bcde --- /dev/null +++ b/debian/patches/0720-mustek_usb2-Avoid-stack-smashing.patch @@ -0,0 +1,88 @@ +From 93340afddfbc4085a5297fe635b65dd7f7f3ef05 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bernhard=20=C3=9Cbelacker?= +Date: Mon, 17 Dec 2018 00:05:43 +0100 +Subject: [PATCH] mustek_usb2: Avoid stack smashing. Fixes #35 + +Use a properly sized variable in call to sanei_usb_{read,write}_bulk. + +Debian-Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886777 +Debian-Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907972 +--- + backend/mustek_usb2_asic.c | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/backend/mustek_usb2_asic.c b/backend/mustek_usb2_asic.c +index b5f3b0a4..b31c7494 100644 +--- a/backend/mustek_usb2_asic.c ++++ b/backend/mustek_usb2_asic.c +@@ -255,6 +255,7 @@ Mustek_DMARead (PAsic chip, unsigned int size, SANE_Byte * lpdata) + STATUS status = STATUS_GOOD; + unsigned int i, buf[1]; + unsigned int read_size; ++ size_t read_size_usb; + + DBG (DBG_ASIC, "Mustek_DMARead: Enter\n"); + +@@ -268,9 +269,11 @@ Mustek_DMARead (PAsic chip, unsigned int size, SANE_Byte * lpdata) + SetRWSize (chip, 1, buf[0]); + status = WriteIOControl (chip, 0x03, 0, 4, (SANE_Byte *) (buf)); + ++ read_size_usb = buf[0]; + status = + sanei_usb_read_bulk (chip->fd, lpdata + i * read_size, +- (size_t *) buf); ++ &read_size_usb); ++ buf[0] = read_size_usb; + if (status != STATUS_GOOD) + { + DBG (DBG_ERR, "Mustek_DMARead: read error\n"); +@@ -284,9 +287,11 @@ Mustek_DMARead (PAsic chip, unsigned int size, SANE_Byte * lpdata) + SetRWSize (chip, 1, buf[0]); + status = WriteIOControl (chip, 0x03, 0, 4, (SANE_Byte *) (buf)); + ++ read_size_usb = buf[0]; + status = + sanei_usb_read_bulk (chip->fd, lpdata + i * read_size, +- (size_t *) buf); ++ &read_size_usb); ++ buf[0] = read_size_usb; + if (status != STATUS_GOOD) + { + DBG (DBG_ERR, "Mustek_DMARead: read error\n"); +@@ -307,6 +312,7 @@ Mustek_DMAWrite (PAsic chip, unsigned int size, SANE_Byte * lpdata) + unsigned int buf[1]; + unsigned int i; + unsigned int write_size; ++ size_t write_size_usb; + + DBG (DBG_ASIC, "Mustek_DMAWrite: Enter:size=%d\n", size); + +@@ -320,9 +326,11 @@ Mustek_DMAWrite (PAsic chip, unsigned int size, SANE_Byte * lpdata) + SetRWSize (chip, 0, buf[0]); + WriteIOControl (chip, 0x02, 0, 4, (SANE_Byte *) buf); + ++ write_size_usb = buf[0]; + status = + sanei_usb_write_bulk (chip->fd, lpdata + i * write_size, +- (size_t *) buf); ++ &write_size_usb); ++ buf[0] = write_size_usb; + if (status != STATUS_GOOD) + { + DBG (DBG_ERR, "Mustek_DMAWrite: write error\n"); +@@ -337,9 +345,11 @@ Mustek_DMAWrite (PAsic chip, unsigned int size, SANE_Byte * lpdata) + SetRWSize (chip, 0, buf[0]); + WriteIOControl (chip, 0x02, 0, 4, (SANE_Byte *) buf); + ++ write_size_usb = buf[0]; + status = + sanei_usb_write_bulk (chip->fd, lpdata + i * write_size, +- (size_t *) buf); ++ &write_size_usb); ++ buf[0] = write_size_usb; + if (status != STATUS_GOOD) + { + DBG (DBG_ERR, "Mustek_DMAWrite: write error\n"); +-- +2.18.1 + diff --git a/debian/patches/series b/debian/patches/series index 9a7db3b..464af6b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -24,3 +24,4 @@ 0150-genesys-Fix-use-of-uninitialized-variable.patch #0130-usb-timeout.patch 0715-20-sane.hwdb_multi-arch.patch +0720-mustek_usb2-Avoid-stack-smashing.patch diff --git a/debian/rules b/debian/rules index 4ad284a..3ca4509 100755 --- a/debian/rules +++ b/debian/rules @@ -58,7 +58,7 @@ override_dh_auto_clean: $(RM) include/byteorder.h include/_stdint.h # Add here commands to clean up after the build process. [ ! -f Makefile ] || $(MAKE) distclean - $(RM) debian/libsane1.udev + $(RM) debian/libsane.udev dh_auto_clean override_dh_auto_install-arch: @@ -117,9 +117,9 @@ override_dh_installudev-arch: ifeq (linux,$(DEB_HOST_ARCH_OS)) # udev support # Generate the udev rules file - $(CURDIR)/tools/sane-desc -s $(CURDIR)/doc/descriptions -m udev+hwdb > $(CURDIR)/debian/libsane1.udev + $(CURDIR)/tools/sane-desc -s $(CURDIR)/doc/descriptions -m udev+hwdb > $(CURDIR)/debian/libsane.udev $(CURDIR)/tools/sane-desc -s $(CURDIR)/doc/descriptions -m hwdb > $(CURDIR)/debian/20-sane.hwdb - cp $(CURDIR)/debian/20-sane.hwdb $(CURDIR)/debian/libsane1/lib/udev/hwdb.d/ + cp $(CURDIR)/debian/20-sane.hwdb $(CURDIR)/debian/libsane/lib/udev/hwdb.d/ dh_installudev endif @@ -136,4 +136,4 @@ override_dh_installsystemd-arch: dh_installsystemd -psane-utils --no-enable --name=saned@ override_dh_makeshlibs-arch: - dh_makeshlibs -- -v$(DEB_VERSION_UPSTREAM) -Pdebian/libsane1 -plibsane1 + dh_makeshlibs -- -v$(DEB_VERSION_UPSTREAM) -Pdebian/libsane -plibsane -- cgit v1.2.3 From 15fa18d58e97baf65282e7a3aa5eb2579e21eeb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 27 Apr 2019 10:37:22 +0200 Subject: Don't install the hal fdi file --- debian/changelog | 3 +++ debian/rules | 4 ---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index d8a3386..1361039 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,7 +3,10 @@ sane-backends (1.0.27-4) UNRELEASED; urgency=medium * debian/rules: - Add --exclude=/sane/ to override_dh_makeshlibs-arch to generate only public symbols (Closes: #911597). + - Don't install the hal fdi file. * Merge release 1.0.27.3.2 into source tree. + - I disagree the changes from 1.0.27-3.1. + - Thanks to John Paul Adrian Glaubitz for the bug fix. -- Jörg Frings-Fürst Wed, 07 Nov 2018 13:21:48 +0100 diff --git a/debian/rules b/debian/rules index 3ca4509..8c7ff55 100755 --- a/debian/rules +++ b/debian/rules @@ -79,10 +79,6 @@ override_dh_install-arch: override_dh_install-indep: dh_install - # Install HAL fdi file - mkdir -p $(CURDIR)/debian/libsane-common/usr/share/hal/fdi/preprobe/10osvendor - $(CURDIR)/tools/sane-desc -s $(CURDIR)/doc/descriptions -m hal-new > \ - $(CURDIR)/debian/libsane-common/usr/share/hal/fdi/preprobe/10osvendor/20-libsane.fdi override_dh_installman-indep: dh_installman -- cgit v1.2.3 From f649d9c694a19aca7653b76a8d373f28c941589a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 27 Apr 2019 12:06:59 +0200 Subject: New debian/patches/0725-fix_link_60-libsane_rule.patch --- debian/changelog | 8 +++++--- debian/patches/0725-fix_link_60-libsane_rule.patch | 20 ++++++++++++++++++++ debian/patches/series | 1 + debian/rules | 2 +- 4 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 debian/patches/0725-fix_link_60-libsane_rule.patch diff --git a/debian/changelog b/debian/changelog index 1361039..be5ac09 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,12 +1,14 @@ -sane-backends (1.0.27-4) UNRELEASED; urgency=medium +sane-backends (1.0.27-4~experimental1) UNRELEASED; urgency=medium * debian/rules: - Add --exclude=/sane/ to override_dh_makeshlibs-arch to generate only public symbols (Closes: #911597). - - Don't install the hal fdi file. - * Merge release 1.0.27.3.2 into source tree. + - Don't install obsolete hal fdi file (Closes: #913282). + * Merge release 1.0.27-3.2 into source tree. - I disagree the changes from 1.0.27-3.1. - Thanks to John Paul Adrian Glaubitz for the bug fix. + * New debian/patches/0725-fix_link_60-libsane_rule.patch: + - Fix directory for 20-sane.hwdb (Closes: #916239). -- Jörg Frings-Fürst Wed, 07 Nov 2018 13:21:48 +0100 diff --git a/debian/patches/0725-fix_link_60-libsane_rule.patch b/debian/patches/0725-fix_link_60-libsane_rule.patch new file mode 100644 index 0000000..76a65a9 --- /dev/null +++ b/debian/patches/0725-fix_link_60-libsane_rule.patch @@ -0,0 +1,20 @@ +Description: Fix directory for 20-sane.hwdb +Author: Jörg Frings-Fürst +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916239 +Forwarded: not-needed +Last-Update: 2019-04-27 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/tools/sane-desc.c +=================================================================== +--- trunk.orig/tools/sane-desc.c ++++ trunk/tools/sane-desc.c +@@ -3663,7 +3663,7 @@ print_udevhwdb_header (void) + ("#\n" + "# udev rules file for supported USB and SCSI devices\n" + "#\n" +- "# For the list of supported USB devices see /usr/lib/udev/hwdb.d/20-sane.hwdb\n" ++ "# For the list of supported USB devices see /lib/udev/hwdb.d/20-sane.hwdb\n" + "#\n" + "# The SCSI device support is very basic and includes only\n" + "# scanners that mark themselves as type \"scanner\" or\n" diff --git a/debian/patches/series b/debian/patches/series index 464af6b..9da26a2 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -25,3 +25,4 @@ #0130-usb-timeout.patch 0715-20-sane.hwdb_multi-arch.patch 0720-mustek_usb2-Avoid-stack-smashing.patch +0725-fix_link_60-libsane_rule.patch diff --git a/debian/rules b/debian/rules index 8c7ff55..1b57478 100755 --- a/debian/rules +++ b/debian/rules @@ -132,4 +132,4 @@ override_dh_installsystemd-arch: dh_installsystemd -psane-utils --no-enable --name=saned@ override_dh_makeshlibs-arch: - dh_makeshlibs -- -v$(DEB_VERSION_UPSTREAM) -Pdebian/libsane -plibsane + dh_makeshlibs --exclude=/sane/ -- -v$(DEB_VERSION_UPSTREAM) -Pdebian/libsane -plibsane -- cgit v1.2.3 From 9652c2729e6b8af6c45ce5e16fc67a91044dadb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 27 Apr 2019 18:47:52 +0200 Subject: Fix missing set device to group scanner --- debian/99-libsane.rules | 2 + debian/TROUBLESHOOTING.Debian | 4 +- debian/changelog | 4 + debian/libsane.install | 1 + debian/libsane.symbols.amd64 | 7528 +------------------- debian/patches/0725-fix_link_60-libsane_rule.patch | 13 + 6 files changed, 219 insertions(+), 7333 deletions(-) create mode 100644 debian/99-libsane.rules diff --git a/debian/99-libsane.rules b/debian/99-libsane.rules new file mode 100644 index 0000000..ada47b4 --- /dev/null +++ b/debian/99-libsane.rules @@ -0,0 +1,2 @@ + +ENV{libsane_matched}=="yes", RUN+="/bin/setfacl -m g:scanner:rw $env{DEVNAME}" diff --git a/debian/TROUBLESHOOTING.Debian b/debian/TROUBLESHOOTING.Debian index 397626f..70e9f5a 100644 --- a/debian/TROUBLESHOOTING.Debian +++ b/debian/TROUBLESHOOTING.Debian @@ -18,7 +18,7 @@ REMARK: Sometimes usblp is used to access your printer. From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=789593 -The file /lib/udev/rules.d/60-libsane.rules uses the command "/bin/setfacl -m g:scanner:rw +The file /etc/udev/rules.d/99-libsane.rules uses the command "/bin/setfacl -m g:scanner:rw $env{DEVNAME}" to add the "scanner" group with rw access to the device permissions. In my case, with /dev on an ext4 filesystem with no ACL support enabled in the kernel, setfacl @@ -26,4 +26,4 @@ returns "Operation not supported". I assume this is because it's trying to add a possible in its fallback mode of traditional Unix-style file permissions. As a workaround, I have substituted "/bin/chown root:scanner $env{DEVNAME}" as the command at the -end of 60-libsane.rules (an alternative would be to use a UDEV rule element to change the ownership). +end of 99-libsane.rules (an alternative would be to use a UDEV rule element to change the ownership). diff --git a/debian/changelog b/debian/changelog index be5ac09..5ed687f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,10 @@ sane-backends (1.0.27-4~experimental1) UNRELEASED; urgency=medium - Thanks to John Paul Adrian Glaubitz for the bug fix. * New debian/patches/0725-fix_link_60-libsane_rule.patch: - Fix directory for 20-sane.hwdb (Closes: #916239). + * Fix missing set device to group scanner (Closes: #918358); + - New debian/99-libsane.rules. + - debian/libsane.install: Install File into /etc/udev/rules.d/ + - Change debian/TROUBLESHOOTING.Debian -- Jörg Frings-Fürst Wed, 07 Nov 2018 13:21:48 +0100 diff --git a/debian/libsane.install b/debian/libsane.install index b38912c..ce0868c 100644 --- a/debian/libsane.install +++ b/debian/libsane.install @@ -1,2 +1,3 @@ usr/lib/*/*.so.* usr/lib/*/sane/*.so.* +debian/99-libsane.rules /etc/udev/rules.d/ diff --git a/debian/libsane.symbols.amd64 b/debian/libsane.symbols.amd64 index 6eba107..558388f 100644 --- a/debian/libsane.symbols.amd64 +++ b/debian/libsane.symbols.amd64 @@ -1,685 +1,5 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.27 md5_buffer@Base 1.0.27 md5_finish_ctx@Base 1.0.27 md5_init_ctx@Base 1.0.27 @@ -687,50 +7,78 @@ libsane-canon_dr.so.1 libsane #MINVER# md5_process_bytes@Base 1.0.27 md5_read_ctx@Base 1.0.27 md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.27 + sane_close@Base 1.0.27 + sane_control_option@Base 1.0.27 + sane_dll_cancel@Base 1.0.27 + sane_dll_close@Base 1.0.27 + sane_dll_control_option@Base 1.0.27 + sane_dll_exit@Base 1.0.27 + sane_dll_get_devices@Base 1.0.27 + sane_dll_get_option_descriptor@Base 1.0.27 + sane_dll_get_parameters@Base 1.0.27 + sane_dll_get_select_fd@Base 1.0.27 + sane_dll_init@Base 1.0.27 + sane_dll_open@Base 1.0.27 + sane_dll_read@Base 1.0.27 + sane_dll_set_io_mode@Base 1.0.27 + sane_dll_start@Base 1.0.27 + sane_exit@Base 1.0.27 + sane_get_devices@Base 1.0.27 + sane_get_option_descriptor@Base 1.0.27 + sane_get_parameters@Base 1.0.27 + sane_get_select_fd@Base 1.0.27 + sane_init@Base 1.0.27 + sane_open@Base 1.0.27 + sane_read@Base 1.0.27 + sane_set_io_mode@Base 1.0.27 + sane_start@Base 1.0.27 + sane_strstatus@Base 1.0.27 + sanei_ab306_close@Base 1.0.27 + sanei_ab306_cmd@Base 1.0.27 + sanei_ab306_exit@Base 1.0.27 + sanei_ab306_get_io_privilege@Base 1.0.27 + sanei_ab306_open@Base 1.0.27 + sanei_ab306_rdata@Base 1.0.27 + sanei_ab306_test_ready@Base 1.0.27 + sanei_access_init@Base 1.0.27 + sanei_access_lock@Base 1.0.27 + sanei_access_unlock@Base 1.0.27 + sanei_check_value@Base 1.0.27 + sanei_codec_bin_init@Base 1.0.27 + sanei_config_attach_matching_devices@Base 1.0.27 + sanei_config_get_paths@Base 1.0.27 + sanei_config_get_string@Base 1.0.27 + sanei_config_open@Base 1.0.27 + sanei_config_read@Base 1.0.27 + sanei_config_skip_whitespace@Base 1.0.27 + sanei_configure_attach@Base 1.0.27 + sanei_constrain_value@Base 1.0.27 + sanei_debug_dll@Base 1.0.27 + sanei_debug_msg@Base 1.0.27 + sanei_debug_sanei_ab306@Base 1.0.27 + sanei_debug_sanei_access@Base 1.0.27 + sanei_debug_sanei_config@Base 1.0.27 + sanei_debug_sanei_debug@Base 1.0.27 + sanei_debug_sanei_lm983x@Base 1.0.27 sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 + sanei_debug_sanei_pa4s2@Base 1.0.27 + sanei_debug_sanei_pio@Base 1.0.27 + sanei_debug_sanei_pp@Base 1.0.27 + sanei_debug_sanei_pv8630@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.27 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_thread@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.27 + sanei_debug_sanei_wire@Base 1.0.27 + sanei_init_debug@Base 1.0.27 + sanei_lm983x_init@Base 1.0.27 + sanei_lm983x_read@Base 1.0.27 + sanei_lm983x_reset@Base 1.0.27 + sanei_lm983x_write@Base 1.0.27 + sanei_lm983x_write_byte@Base 1.0.27 sanei_magic_crop@Base 1.0.27 sanei_magic_despeck@Base 1.0.27 sanei_magic_findEdges@Base 1.0.27 @@ -743,1233 +91,74 @@ libsane-canon_dr.so.1 libsane #MINVER# sanei_magic_isBlank@Base 1.0.27 sanei_magic_rotate@Base 1.0.27 sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dll.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 + sanei_pa4s2_close@Base 1.0.27 + sanei_pa4s2_devices@Base 1.0.27 + sanei_pa4s2_enable@Base 1.0.27 + sanei_pa4s2_open@Base 1.0.27 + sanei_pa4s2_options@Base 1.0.27 + sanei_pa4s2_readbegin@Base 1.0.27 + sanei_pa4s2_readbyte@Base 1.0.27 + sanei_pa4s2_readend@Base 1.0.27 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.27 + sanei_pa4s2_scsi_pp_open@Base 1.0.27 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.27 + sanei_pa4s2_writebyte@Base 1.0.27 + sanei_pio_close@Base 1.0.27 + sanei_pio_open@Base 1.0.27 + sanei_pio_read@Base 1.0.27 + sanei_pio_write@Base 1.0.27 + sanei_pp_claim@Base 1.0.27 + sanei_pp_close@Base 1.0.27 + sanei_pp_getmodes@Base 1.0.27 + sanei_pp_inb_ctrl@Base 1.0.27 + sanei_pp_inb_data@Base 1.0.27 + sanei_pp_inb_epp@Base 1.0.27 + sanei_pp_inb_stat@Base 1.0.27 + sanei_pp_init@Base 1.0.27 + sanei_pp_open@Base 1.0.27 + sanei_pp_outb_addr@Base 1.0.27 + sanei_pp_outb_ctrl@Base 1.0.27 + sanei_pp_outb_data@Base 1.0.27 + sanei_pp_outb_epp@Base 1.0.27 + sanei_pp_release@Base 1.0.27 + sanei_pp_set_datadir@Base 1.0.27 + sanei_pp_setmode@Base 1.0.27 + sanei_pp_udelay@Base 1.0.27 + sanei_pp_uses_directio@Base 1.0.27 + sanei_pv8630_bulkread@Base 1.0.27 + sanei_pv8630_bulkwrite@Base 1.0.27 + sanei_pv8630_flush_buffer@Base 1.0.27 + sanei_pv8630_init@Base 1.0.27 + sanei_pv8630_prep_bulkread@Base 1.0.27 + sanei_pv8630_prep_bulkwrite@Base 1.0.27 + sanei_pv8630_read_byte@Base 1.0.27 + sanei_pv8630_wait_byte@Base 1.0.27 + sanei_pv8630_write_byte@Base 1.0.27 + sanei_pv8630_xpect_byte@Base 1.0.27 + sanei_scsi_close@Base 1.0.27 + sanei_scsi_cmd2@Base 1.0.27 + sanei_scsi_cmd@Base 1.0.27 + sanei_scsi_find_devices@Base 1.0.27 + sanei_scsi_max_request_size@Base 1.0.27 + sanei_scsi_open@Base 1.0.27 + sanei_scsi_open_extended@Base 1.0.27 + sanei_scsi_req_enter2@Base 1.0.27 + sanei_scsi_req_enter@Base 1.0.27 + sanei_scsi_req_flush_all@Base 1.0.27 + sanei_scsi_req_flush_all_extended@Base 1.0.27 + sanei_scsi_req_wait@Base 1.0.27 sanei_tcp_close@Base 1.0.27 sanei_tcp_open@Base 1.0.27 sanei_tcp_read@Base 1.0.27 sanei_tcp_write@Base 1.0.27 + sanei_thread_begin@Base 1.0.27 + sanei_thread_get_status@Base 1.0.27 + sanei_thread_init@Base 1.0.27 + sanei_thread_is_forked@Base 1.0.27 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.27 + sanei_thread_sendsig@Base 1.0.27 + sanei_thread_waitpid@Base 1.0.27 sanei_udp_close@Base 1.0.27 sanei_udp_open@Base 1.0.27 sanei_udp_open_broadcast@Base 1.0.27 @@ -1978,5386 +167,63 @@ libsane-epsonds.so.1 libsane #MINVER# sanei_udp_set_nonblock@Base 1.0.27 sanei_udp_write@Base 1.0.27 sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 + sanei_usb_attach_matching_devices@Base 1.0.27 + sanei_usb_claim_interface@Base 1.0.27 + sanei_usb_clear_halt@Base 1.0.27 + sanei_usb_close@Base 1.0.27 + sanei_usb_control_msg@Base 1.0.27 + sanei_usb_exit@Base 1.0.27 + sanei_usb_find_devices@Base 1.0.27 + sanei_usb_get_descriptor@Base 1.0.27 + sanei_usb_get_endpoint@Base 1.0.27 + sanei_usb_get_vendor_product@Base 1.0.27 + sanei_usb_get_vendor_product_byname@Base 1.0.27 + sanei_usb_init@Base 1.0.27 + sanei_usb_open@Base 1.0.27 + sanei_usb_read_bulk@Base 1.0.27 + sanei_usb_read_int@Base 1.0.27 + sanei_usb_release_interface@Base 1.0.27 + sanei_usb_reset@Base 1.0.27 + sanei_usb_scan_devices@Base 1.0.27 + sanei_usb_set_altinterface@Base 1.0.27 + sanei_usb_set_configuration@Base 1.0.27 + sanei_usb_set_endpoint@Base 1.0.27 + sanei_usb_set_timeout@Base 1.0.27 + sanei_usb_write_bulk@Base 1.0.27 + sanei_w_action@Base 1.0.27 + sanei_w_array@Base 1.0.27 + sanei_w_authorization_req@Base 1.0.27 + sanei_w_bool@Base 1.0.27 + sanei_w_byte@Base 1.0.27 + sanei_w_call@Base 1.0.27 + sanei_w_char@Base 1.0.27 + sanei_w_constraint_type@Base 1.0.27 + sanei_w_control_option_reply@Base 1.0.27 + sanei_w_control_option_req@Base 1.0.27 + sanei_w_device@Base 1.0.27 + sanei_w_device_ptr@Base 1.0.27 + sanei_w_exit@Base 1.0.27 + sanei_w_frame@Base 1.0.27 + sanei_w_free@Base 1.0.27 + sanei_w_get_devices_reply@Base 1.0.27 + sanei_w_get_parameters_reply@Base 1.0.27 + sanei_w_init@Base 1.0.27 + sanei_w_init_reply@Base 1.0.27 + sanei_w_init_req@Base 1.0.27 + sanei_w_open_reply@Base 1.0.27 + sanei_w_option_descriptor@Base 1.0.27 + sanei_w_option_descriptor_array@Base 1.0.27 + sanei_w_option_descriptor_ptr@Base 1.0.27 + sanei_w_parameters@Base 1.0.27 + sanei_w_ptr@Base 1.0.27 + sanei_w_range@Base 1.0.27 + sanei_w_reply@Base 1.0.27 + sanei_w_set_dir@Base 1.0.27 + sanei_w_space@Base 1.0.27 + sanei_w_start_reply@Base 1.0.27 + sanei_w_status@Base 1.0.27 + sanei_w_string@Base 1.0.27 + sanei_w_unit@Base 1.0.27 + sanei_w_value_type@Base 1.0.27 + sanei_w_void@Base 1.0.27 + sanei_w_word@Base 1.0.27 diff --git a/debian/patches/0725-fix_link_60-libsane_rule.patch b/debian/patches/0725-fix_link_60-libsane_rule.patch index 76a65a9..dc99d2c 100644 --- a/debian/patches/0725-fix_link_60-libsane_rule.patch +++ b/debian/patches/0725-fix_link_60-libsane_rule.patch @@ -18,3 +18,16 @@ Index: trunk/tools/sane-desc.c "#\n" "# The SCSI device support is very basic and includes only\n" "# scanners that mark themselves as type \"scanner\" or\n" +Index: trunk/testsuite/tools/data/udev+hwdb.ref +=================================================================== +--- trunk.orig/testsuite/tools/data/udev+hwdb.ref ++++ trunk/testsuite/tools/data/udev+hwdb.ref +@@ -3,7 +3,7 @@ + # + # udev rules file for supported USB and SCSI devices + # +-# For the list of supported USB devices see /usr/lib/udev/hwdb.d/20-sane.hwdb ++# For the list of supported USB devices see /lib/udev/hwdb.d/20-sane.hwdb + # + # The SCSI device support is very basic and includes only + # scanners that mark themselves as type "scanner" or -- cgit v1.2.3 From d428893e8e88e84d2f46bd7e23d77b96a8c86f88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 27 Apr 2019 19:10:53 +0200 Subject: Remove architecture dependent symbols files --- debian/changelog | 1 + debian/libsane.symbols | 229 + debian/libsane.symbols.alpha | 7314 -------------------------------- debian/libsane.symbols.amd64 | 229 - debian/libsane.symbols.arm64 | 7257 -------------------------------- debian/libsane.symbols.armel | 7314 -------------------------------- debian/libsane.symbols.armhf | 7314 -------------------------------- debian/libsane.symbols.hppa | 7257 -------------------------------- debian/libsane.symbols.i386 | 7314 -------------------------------- debian/libsane.symbols.kfreebsd-amd64 | 7361 --------------------------------- debian/libsane.symbols.kfreebsd-i386 | 7361 --------------------------------- debian/libsane.symbols.m68k | 7257 -------------------------------- debian/libsane.symbols.mips | 7257 -------------------------------- debian/libsane.symbols.mips64el | 7257 -------------------------------- debian/libsane.symbols.mipsel | 7257 -------------------------------- debian/libsane.symbols.powerpc | 7257 -------------------------------- debian/libsane.symbols.powerpcspe | 7257 -------------------------------- debian/libsane.symbols.ppc64 | 7257 -------------------------------- debian/libsane.symbols.ppc64el | 7257 -------------------------------- debian/libsane.symbols.s390x | 7257 -------------------------------- debian/libsane.symbols.sh4 | 7257 -------------------------------- debian/libsane.symbols.sparc64 | 7257 -------------------------------- debian/libsane.symbols.x32 | 7314 -------------------------------- 23 files changed, 230 insertions(+), 145862 deletions(-) create mode 100644 debian/libsane.symbols delete mode 100644 debian/libsane.symbols.alpha delete mode 100644 debian/libsane.symbols.amd64 delete mode 100644 debian/libsane.symbols.arm64 delete mode 100644 debian/libsane.symbols.armel delete mode 100644 debian/libsane.symbols.armhf delete mode 100644 debian/libsane.symbols.hppa delete mode 100644 debian/libsane.symbols.i386 delete mode 100644 debian/libsane.symbols.kfreebsd-amd64 delete mode 100644 debian/libsane.symbols.kfreebsd-i386 delete mode 100644 debian/libsane.symbols.m68k delete mode 100644 debian/libsane.symbols.mips delete mode 100644 debian/libsane.symbols.mips64el delete mode 100644 debian/libsane.symbols.mipsel delete mode 100644 debian/libsane.symbols.powerpc delete mode 100644 debian/libsane.symbols.powerpcspe delete mode 100644 debian/libsane.symbols.ppc64 delete mode 100644 debian/libsane.symbols.ppc64el delete mode 100644 debian/libsane.symbols.s390x delete mode 100644 debian/libsane.symbols.sh4 delete mode 100644 debian/libsane.symbols.sparc64 delete mode 100644 debian/libsane.symbols.x32 diff --git a/debian/changelog b/debian/changelog index 5ed687f..d80375c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,7 @@ sane-backends (1.0.27-4~experimental1) UNRELEASED; urgency=medium - Add --exclude=/sane/ to override_dh_makeshlibs-arch to generate only public symbols (Closes: #911597). - Don't install obsolete hal fdi file (Closes: #913282). + * Remove architecture dependent symbols files. * Merge release 1.0.27-3.2 into source tree. - I disagree the changes from 1.0.27-3.1. - Thanks to John Paul Adrian Glaubitz for the bug fix. diff --git a/debian/libsane.symbols b/debian/libsane.symbols new file mode 100644 index 0000000..558388f --- /dev/null +++ b/debian/libsane.symbols @@ -0,0 +1,229 @@ +libsane.so.1 libsane #MINVER# + cmsg@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.27 + sane_close@Base 1.0.27 + sane_control_option@Base 1.0.27 + sane_dll_cancel@Base 1.0.27 + sane_dll_close@Base 1.0.27 + sane_dll_control_option@Base 1.0.27 + sane_dll_exit@Base 1.0.27 + sane_dll_get_devices@Base 1.0.27 + sane_dll_get_option_descriptor@Base 1.0.27 + sane_dll_get_parameters@Base 1.0.27 + sane_dll_get_select_fd@Base 1.0.27 + sane_dll_init@Base 1.0.27 + sane_dll_open@Base 1.0.27 + sane_dll_read@Base 1.0.27 + sane_dll_set_io_mode@Base 1.0.27 + sane_dll_start@Base 1.0.27 + sane_exit@Base 1.0.27 + sane_get_devices@Base 1.0.27 + sane_get_option_descriptor@Base 1.0.27 + sane_get_parameters@Base 1.0.27 + sane_get_select_fd@Base 1.0.27 + sane_init@Base 1.0.27 + sane_open@Base 1.0.27 + sane_read@Base 1.0.27 + sane_set_io_mode@Base 1.0.27 + sane_start@Base 1.0.27 + sane_strstatus@Base 1.0.27 + sanei_ab306_close@Base 1.0.27 + sanei_ab306_cmd@Base 1.0.27 + sanei_ab306_exit@Base 1.0.27 + sanei_ab306_get_io_privilege@Base 1.0.27 + sanei_ab306_open@Base 1.0.27 + sanei_ab306_rdata@Base 1.0.27 + sanei_ab306_test_ready@Base 1.0.27 + sanei_access_init@Base 1.0.27 + sanei_access_lock@Base 1.0.27 + sanei_access_unlock@Base 1.0.27 + sanei_check_value@Base 1.0.27 + sanei_codec_bin_init@Base 1.0.27 + sanei_config_attach_matching_devices@Base 1.0.27 + sanei_config_get_paths@Base 1.0.27 + sanei_config_get_string@Base 1.0.27 + sanei_config_open@Base 1.0.27 + sanei_config_read@Base 1.0.27 + sanei_config_skip_whitespace@Base 1.0.27 + sanei_configure_attach@Base 1.0.27 + sanei_constrain_value@Base 1.0.27 + sanei_debug_dll@Base 1.0.27 + sanei_debug_msg@Base 1.0.27 + sanei_debug_sanei_ab306@Base 1.0.27 + sanei_debug_sanei_access@Base 1.0.27 + sanei_debug_sanei_config@Base 1.0.27 + sanei_debug_sanei_debug@Base 1.0.27 + sanei_debug_sanei_lm983x@Base 1.0.27 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_pa4s2@Base 1.0.27 + sanei_debug_sanei_pio@Base 1.0.27 + sanei_debug_sanei_pp@Base 1.0.27 + sanei_debug_sanei_pv8630@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.27 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_thread@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.27 + sanei_debug_sanei_wire@Base 1.0.27 + sanei_init_debug@Base 1.0.27 + sanei_lm983x_init@Base 1.0.27 + sanei_lm983x_read@Base 1.0.27 + sanei_lm983x_reset@Base 1.0.27 + sanei_lm983x_write@Base 1.0.27 + sanei_lm983x_write_byte@Base 1.0.27 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_pa4s2_close@Base 1.0.27 + sanei_pa4s2_devices@Base 1.0.27 + sanei_pa4s2_enable@Base 1.0.27 + sanei_pa4s2_open@Base 1.0.27 + sanei_pa4s2_options@Base 1.0.27 + sanei_pa4s2_readbegin@Base 1.0.27 + sanei_pa4s2_readbyte@Base 1.0.27 + sanei_pa4s2_readend@Base 1.0.27 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.27 + sanei_pa4s2_scsi_pp_open@Base 1.0.27 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.27 + sanei_pa4s2_writebyte@Base 1.0.27 + sanei_pio_close@Base 1.0.27 + sanei_pio_open@Base 1.0.27 + sanei_pio_read@Base 1.0.27 + sanei_pio_write@Base 1.0.27 + sanei_pp_claim@Base 1.0.27 + sanei_pp_close@Base 1.0.27 + sanei_pp_getmodes@Base 1.0.27 + sanei_pp_inb_ctrl@Base 1.0.27 + sanei_pp_inb_data@Base 1.0.27 + sanei_pp_inb_epp@Base 1.0.27 + sanei_pp_inb_stat@Base 1.0.27 + sanei_pp_init@Base 1.0.27 + sanei_pp_open@Base 1.0.27 + sanei_pp_outb_addr@Base 1.0.27 + sanei_pp_outb_ctrl@Base 1.0.27 + sanei_pp_outb_data@Base 1.0.27 + sanei_pp_outb_epp@Base 1.0.27 + sanei_pp_release@Base 1.0.27 + sanei_pp_set_datadir@Base 1.0.27 + sanei_pp_setmode@Base 1.0.27 + sanei_pp_udelay@Base 1.0.27 + sanei_pp_uses_directio@Base 1.0.27 + sanei_pv8630_bulkread@Base 1.0.27 + sanei_pv8630_bulkwrite@Base 1.0.27 + sanei_pv8630_flush_buffer@Base 1.0.27 + sanei_pv8630_init@Base 1.0.27 + sanei_pv8630_prep_bulkread@Base 1.0.27 + sanei_pv8630_prep_bulkwrite@Base 1.0.27 + sanei_pv8630_read_byte@Base 1.0.27 + sanei_pv8630_wait_byte@Base 1.0.27 + sanei_pv8630_write_byte@Base 1.0.27 + sanei_pv8630_xpect_byte@Base 1.0.27 + sanei_scsi_close@Base 1.0.27 + sanei_scsi_cmd2@Base 1.0.27 + sanei_scsi_cmd@Base 1.0.27 + sanei_scsi_find_devices@Base 1.0.27 + sanei_scsi_max_request_size@Base 1.0.27 + sanei_scsi_open@Base 1.0.27 + sanei_scsi_open_extended@Base 1.0.27 + sanei_scsi_req_enter2@Base 1.0.27 + sanei_scsi_req_enter@Base 1.0.27 + sanei_scsi_req_flush_all@Base 1.0.27 + sanei_scsi_req_flush_all_extended@Base 1.0.27 + sanei_scsi_req_wait@Base 1.0.27 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_thread_begin@Base 1.0.27 + sanei_thread_get_status@Base 1.0.27 + sanei_thread_init@Base 1.0.27 + sanei_thread_is_forked@Base 1.0.27 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.27 + sanei_thread_sendsig@Base 1.0.27 + sanei_thread_waitpid@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.27 + sanei_usb_claim_interface@Base 1.0.27 + sanei_usb_clear_halt@Base 1.0.27 + sanei_usb_close@Base 1.0.27 + sanei_usb_control_msg@Base 1.0.27 + sanei_usb_exit@Base 1.0.27 + sanei_usb_find_devices@Base 1.0.27 + sanei_usb_get_descriptor@Base 1.0.27 + sanei_usb_get_endpoint@Base 1.0.27 + sanei_usb_get_vendor_product@Base 1.0.27 + sanei_usb_get_vendor_product_byname@Base 1.0.27 + sanei_usb_init@Base 1.0.27 + sanei_usb_open@Base 1.0.27 + sanei_usb_read_bulk@Base 1.0.27 + sanei_usb_read_int@Base 1.0.27 + sanei_usb_release_interface@Base 1.0.27 + sanei_usb_reset@Base 1.0.27 + sanei_usb_scan_devices@Base 1.0.27 + sanei_usb_set_altinterface@Base 1.0.27 + sanei_usb_set_configuration@Base 1.0.27 + sanei_usb_set_endpoint@Base 1.0.27 + sanei_usb_set_timeout@Base 1.0.27 + sanei_usb_write_bulk@Base 1.0.27 + sanei_w_action@Base 1.0.27 + sanei_w_array@Base 1.0.27 + sanei_w_authorization_req@Base 1.0.27 + sanei_w_bool@Base 1.0.27 + sanei_w_byte@Base 1.0.27 + sanei_w_call@Base 1.0.27 + sanei_w_char@Base 1.0.27 + sanei_w_constraint_type@Base 1.0.27 + sanei_w_control_option_reply@Base 1.0.27 + sanei_w_control_option_req@Base 1.0.27 + sanei_w_device@Base 1.0.27 + sanei_w_device_ptr@Base 1.0.27 + sanei_w_exit@Base 1.0.27 + sanei_w_frame@Base 1.0.27 + sanei_w_free@Base 1.0.27 + sanei_w_get_devices_reply@Base 1.0.27 + sanei_w_get_parameters_reply@Base 1.0.27 + sanei_w_init@Base 1.0.27 + sanei_w_init_reply@Base 1.0.27 + sanei_w_init_req@Base 1.0.27 + sanei_w_open_reply@Base 1.0.27 + sanei_w_option_descriptor@Base 1.0.27 + sanei_w_option_descriptor_array@Base 1.0.27 + sanei_w_option_descriptor_ptr@Base 1.0.27 + sanei_w_parameters@Base 1.0.27 + sanei_w_ptr@Base 1.0.27 + sanei_w_range@Base 1.0.27 + sanei_w_reply@Base 1.0.27 + sanei_w_set_dir@Base 1.0.27 + sanei_w_space@Base 1.0.27 + sanei_w_start_reply@Base 1.0.27 + sanei_w_status@Base 1.0.27 + sanei_w_string@Base 1.0.27 + sanei_w_unit@Base 1.0.27 + sanei_w_value_type@Base 1.0.27 + sanei_w_void@Base 1.0.27 + sanei_w_word@Base 1.0.27 diff --git a/debian/libsane.symbols.alpha b/debian/libsane.symbols.alpha deleted file mode 100644 index 6722a6a..0000000 --- a/debian/libsane.symbols.alpha +++ /dev/null @@ -1,7314 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.amd64 b/debian/libsane.symbols.amd64 deleted file mode 100644 index 558388f..0000000 --- a/debian/libsane.symbols.amd64 +++ /dev/null @@ -1,229 +0,0 @@ -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.27 - sane_close@Base 1.0.27 - sane_control_option@Base 1.0.27 - sane_dll_cancel@Base 1.0.27 - sane_dll_close@Base 1.0.27 - sane_dll_control_option@Base 1.0.27 - sane_dll_exit@Base 1.0.27 - sane_dll_get_devices@Base 1.0.27 - sane_dll_get_option_descriptor@Base 1.0.27 - sane_dll_get_parameters@Base 1.0.27 - sane_dll_get_select_fd@Base 1.0.27 - sane_dll_init@Base 1.0.27 - sane_dll_open@Base 1.0.27 - sane_dll_read@Base 1.0.27 - sane_dll_set_io_mode@Base 1.0.27 - sane_dll_start@Base 1.0.27 - sane_exit@Base 1.0.27 - sane_get_devices@Base 1.0.27 - sane_get_option_descriptor@Base 1.0.27 - sane_get_parameters@Base 1.0.27 - sane_get_select_fd@Base 1.0.27 - sane_init@Base 1.0.27 - sane_open@Base 1.0.27 - sane_read@Base 1.0.27 - sane_set_io_mode@Base 1.0.27 - sane_start@Base 1.0.27 - sane_strstatus@Base 1.0.27 - sanei_ab306_close@Base 1.0.27 - sanei_ab306_cmd@Base 1.0.27 - sanei_ab306_exit@Base 1.0.27 - sanei_ab306_get_io_privilege@Base 1.0.27 - sanei_ab306_open@Base 1.0.27 - sanei_ab306_rdata@Base 1.0.27 - sanei_ab306_test_ready@Base 1.0.27 - sanei_access_init@Base 1.0.27 - sanei_access_lock@Base 1.0.27 - sanei_access_unlock@Base 1.0.27 - sanei_check_value@Base 1.0.27 - sanei_codec_bin_init@Base 1.0.27 - sanei_config_attach_matching_devices@Base 1.0.27 - sanei_config_get_paths@Base 1.0.27 - sanei_config_get_string@Base 1.0.27 - sanei_config_open@Base 1.0.27 - sanei_config_read@Base 1.0.27 - sanei_config_skip_whitespace@Base 1.0.27 - sanei_configure_attach@Base 1.0.27 - sanei_constrain_value@Base 1.0.27 - sanei_debug_dll@Base 1.0.27 - sanei_debug_msg@Base 1.0.27 - sanei_debug_sanei_ab306@Base 1.0.27 - sanei_debug_sanei_access@Base 1.0.27 - sanei_debug_sanei_config@Base 1.0.27 - sanei_debug_sanei_debug@Base 1.0.27 - sanei_debug_sanei_lm983x@Base 1.0.27 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_pa4s2@Base 1.0.27 - sanei_debug_sanei_pio@Base 1.0.27 - sanei_debug_sanei_pp@Base 1.0.27 - sanei_debug_sanei_pv8630@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.27 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_thread@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.27 - sanei_debug_sanei_wire@Base 1.0.27 - sanei_init_debug@Base 1.0.27 - sanei_lm983x_init@Base 1.0.27 - sanei_lm983x_read@Base 1.0.27 - sanei_lm983x_reset@Base 1.0.27 - sanei_lm983x_write@Base 1.0.27 - sanei_lm983x_write_byte@Base 1.0.27 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_pa4s2_close@Base 1.0.27 - sanei_pa4s2_devices@Base 1.0.27 - sanei_pa4s2_enable@Base 1.0.27 - sanei_pa4s2_open@Base 1.0.27 - sanei_pa4s2_options@Base 1.0.27 - sanei_pa4s2_readbegin@Base 1.0.27 - sanei_pa4s2_readbyte@Base 1.0.27 - sanei_pa4s2_readend@Base 1.0.27 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.27 - sanei_pa4s2_scsi_pp_open@Base 1.0.27 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.27 - sanei_pa4s2_writebyte@Base 1.0.27 - sanei_pio_close@Base 1.0.27 - sanei_pio_open@Base 1.0.27 - sanei_pio_read@Base 1.0.27 - sanei_pio_write@Base 1.0.27 - sanei_pp_claim@Base 1.0.27 - sanei_pp_close@Base 1.0.27 - sanei_pp_getmodes@Base 1.0.27 - sanei_pp_inb_ctrl@Base 1.0.27 - sanei_pp_inb_data@Base 1.0.27 - sanei_pp_inb_epp@Base 1.0.27 - sanei_pp_inb_stat@Base 1.0.27 - sanei_pp_init@Base 1.0.27 - sanei_pp_open@Base 1.0.27 - sanei_pp_outb_addr@Base 1.0.27 - sanei_pp_outb_ctrl@Base 1.0.27 - sanei_pp_outb_data@Base 1.0.27 - sanei_pp_outb_epp@Base 1.0.27 - sanei_pp_release@Base 1.0.27 - sanei_pp_set_datadir@Base 1.0.27 - sanei_pp_setmode@Base 1.0.27 - sanei_pp_udelay@Base 1.0.27 - sanei_pp_uses_directio@Base 1.0.27 - sanei_pv8630_bulkread@Base 1.0.27 - sanei_pv8630_bulkwrite@Base 1.0.27 - sanei_pv8630_flush_buffer@Base 1.0.27 - sanei_pv8630_init@Base 1.0.27 - sanei_pv8630_prep_bulkread@Base 1.0.27 - sanei_pv8630_prep_bulkwrite@Base 1.0.27 - sanei_pv8630_read_byte@Base 1.0.27 - sanei_pv8630_wait_byte@Base 1.0.27 - sanei_pv8630_write_byte@Base 1.0.27 - sanei_pv8630_xpect_byte@Base 1.0.27 - sanei_scsi_close@Base 1.0.27 - sanei_scsi_cmd2@Base 1.0.27 - sanei_scsi_cmd@Base 1.0.27 - sanei_scsi_find_devices@Base 1.0.27 - sanei_scsi_max_request_size@Base 1.0.27 - sanei_scsi_open@Base 1.0.27 - sanei_scsi_open_extended@Base 1.0.27 - sanei_scsi_req_enter2@Base 1.0.27 - sanei_scsi_req_enter@Base 1.0.27 - sanei_scsi_req_flush_all@Base 1.0.27 - sanei_scsi_req_flush_all_extended@Base 1.0.27 - sanei_scsi_req_wait@Base 1.0.27 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_thread_begin@Base 1.0.27 - sanei_thread_get_status@Base 1.0.27 - sanei_thread_init@Base 1.0.27 - sanei_thread_is_forked@Base 1.0.27 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.27 - sanei_thread_sendsig@Base 1.0.27 - sanei_thread_waitpid@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.27 - sanei_usb_claim_interface@Base 1.0.27 - sanei_usb_clear_halt@Base 1.0.27 - sanei_usb_close@Base 1.0.27 - sanei_usb_control_msg@Base 1.0.27 - sanei_usb_exit@Base 1.0.27 - sanei_usb_find_devices@Base 1.0.27 - sanei_usb_get_descriptor@Base 1.0.27 - sanei_usb_get_endpoint@Base 1.0.27 - sanei_usb_get_vendor_product@Base 1.0.27 - sanei_usb_get_vendor_product_byname@Base 1.0.27 - sanei_usb_init@Base 1.0.27 - sanei_usb_open@Base 1.0.27 - sanei_usb_read_bulk@Base 1.0.27 - sanei_usb_read_int@Base 1.0.27 - sanei_usb_release_interface@Base 1.0.27 - sanei_usb_reset@Base 1.0.27 - sanei_usb_scan_devices@Base 1.0.27 - sanei_usb_set_altinterface@Base 1.0.27 - sanei_usb_set_configuration@Base 1.0.27 - sanei_usb_set_endpoint@Base 1.0.27 - sanei_usb_set_timeout@Base 1.0.27 - sanei_usb_write_bulk@Base 1.0.27 - sanei_w_action@Base 1.0.27 - sanei_w_array@Base 1.0.27 - sanei_w_authorization_req@Base 1.0.27 - sanei_w_bool@Base 1.0.27 - sanei_w_byte@Base 1.0.27 - sanei_w_call@Base 1.0.27 - sanei_w_char@Base 1.0.27 - sanei_w_constraint_type@Base 1.0.27 - sanei_w_control_option_reply@Base 1.0.27 - sanei_w_control_option_req@Base 1.0.27 - sanei_w_device@Base 1.0.27 - sanei_w_device_ptr@Base 1.0.27 - sanei_w_exit@Base 1.0.27 - sanei_w_frame@Base 1.0.27 - sanei_w_free@Base 1.0.27 - sanei_w_get_devices_reply@Base 1.0.27 - sanei_w_get_parameters_reply@Base 1.0.27 - sanei_w_init@Base 1.0.27 - sanei_w_init_reply@Base 1.0.27 - sanei_w_init_req@Base 1.0.27 - sanei_w_open_reply@Base 1.0.27 - sanei_w_option_descriptor@Base 1.0.27 - sanei_w_option_descriptor_array@Base 1.0.27 - sanei_w_option_descriptor_ptr@Base 1.0.27 - sanei_w_parameters@Base 1.0.27 - sanei_w_ptr@Base 1.0.27 - sanei_w_range@Base 1.0.27 - sanei_w_reply@Base 1.0.27 - sanei_w_set_dir@Base 1.0.27 - sanei_w_space@Base 1.0.27 - sanei_w_start_reply@Base 1.0.27 - sanei_w_status@Base 1.0.27 - sanei_w_string@Base 1.0.27 - sanei_w_unit@Base 1.0.27 - sanei_w_value_type@Base 1.0.27 - sanei_w_void@Base 1.0.27 - sanei_w_word@Base 1.0.27 diff --git a/debian/libsane.symbols.arm64 b/debian/libsane.symbols.arm64 deleted file mode 100644 index 9ec1089..0000000 --- a/debian/libsane.symbols.arm64 +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.armel b/debian/libsane.symbols.armel deleted file mode 100644 index 6722a6a..0000000 --- a/debian/libsane.symbols.armel +++ /dev/null @@ -1,7314 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.armhf b/debian/libsane.symbols.armhf deleted file mode 100644 index 6722a6a..0000000 --- a/debian/libsane.symbols.armhf +++ /dev/null @@ -1,7314 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.hppa b/debian/libsane.symbols.hppa deleted file mode 100644 index 9ec1089..0000000 --- a/debian/libsane.symbols.hppa +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.i386 b/debian/libsane.symbols.i386 deleted file mode 100644 index 6722a6a..0000000 --- a/debian/libsane.symbols.i386 +++ /dev/null @@ -1,7314 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.kfreebsd-amd64 b/debian/libsane.symbols.kfreebsd-amd64 deleted file mode 100644 index 0d756e8..0000000 --- a/debian/libsane.symbols.kfreebsd-amd64 +++ /dev/null @@ -1,7361 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - cmparray@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.kfreebsd-i386 b/debian/libsane.symbols.kfreebsd-i386 deleted file mode 100644 index 0d756e8..0000000 --- a/debian/libsane.symbols.kfreebsd-i386 +++ /dev/null @@ -1,7361 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - cmparray@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.m68k b/debian/libsane.symbols.m68k deleted file mode 100644 index 9ec1089..0000000 --- a/debian/libsane.symbols.m68k +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.mips b/debian/libsane.symbols.mips deleted file mode 100644 index 9ec1089..0000000 --- a/debian/libsane.symbols.mips +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.mips64el b/debian/libsane.symbols.mips64el deleted file mode 100644 index 9ec1089..0000000 --- a/debian/libsane.symbols.mips64el +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.mipsel b/debian/libsane.symbols.mipsel deleted file mode 100644 index 9ec1089..0000000 --- a/debian/libsane.symbols.mipsel +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.powerpc b/debian/libsane.symbols.powerpc deleted file mode 100644 index 9ec1089..0000000 --- a/debian/libsane.symbols.powerpc +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.powerpcspe b/debian/libsane.symbols.powerpcspe deleted file mode 100644 index 9ec1089..0000000 --- a/debian/libsane.symbols.powerpcspe +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.ppc64 b/debian/libsane.symbols.ppc64 deleted file mode 100644 index 9ec1089..0000000 --- a/debian/libsane.symbols.ppc64 +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.ppc64el b/debian/libsane.symbols.ppc64el deleted file mode 100644 index 9ec1089..0000000 --- a/debian/libsane.symbols.ppc64el +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.s390x b/debian/libsane.symbols.s390x deleted file mode 100644 index 9ec1089..0000000 --- a/debian/libsane.symbols.s390x +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.sh4 b/debian/libsane.symbols.sh4 deleted file mode 100644 index 9ec1089..0000000 --- a/debian/libsane.symbols.sh4 +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.sparc64 b/debian/libsane.symbols.sparc64 deleted file mode 100644 index 9ec1089..0000000 --- a/debian/libsane.symbols.sparc64 +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane.symbols.x32 b/debian/libsane.symbols.x32 deleted file mode 100644 index 6722a6a..0000000 --- a/debian/libsane.symbols.x32 +++ /dev/null @@ -1,7314 +0,0 @@ -libsane-abaton.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -- cgit v1.2.3 From 586972dbe92107ae491684260d4460e44b30d90c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 28 Apr 2019 09:11:24 +0200 Subject: debian/sane-utils.config: Remove the RUN parameter --- debian/changelog | 2 ++ debian/libsane.dirs | 1 + debian/sane-utils.config | 6 ------ 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/debian/changelog b/debian/changelog index d80375c..0b8ae77 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,6 +14,8 @@ sane-backends (1.0.27-4~experimental1) UNRELEASED; urgency=medium - New debian/99-libsane.rules. - debian/libsane.install: Install File into /etc/udev/rules.d/ - Change debian/TROUBLESHOOTING.Debian + * debian/sane-utils.config: Remove the RUN parameter in compliance with + Debian Policy Manual section 9.3.3.1 (Closes: #915197). -- Jörg Frings-Fürst Wed, 07 Nov 2018 13:21:48 +0100 diff --git a/debian/libsane.dirs b/debian/libsane.dirs index ad3a3cc..863867a 100644 --- a/debian/libsane.dirs +++ b/debian/libsane.dirs @@ -1 +1,2 @@ /lib/udev/hwdb.d/ +/etc/udev/rules.d/ diff --git a/debian/sane-utils.config b/debian/sane-utils.config index 93a73c5..af7e2f0 100644 --- a/debian/sane-utils.config +++ b/debian/sane-utils.config @@ -6,13 +6,7 @@ set -e if [ -e /etc/default/saned ]; then . /etc/default/saned - if [ "$RUN" != "yes" ]; then - db_set sane-utils/saned_run false - else - db_set sane-utils/saned_run true - fi fi -db_input medium sane-utils/saned_run || true db_input medium sane-utils/saned_scanner_group || true db_go || true -- cgit v1.2.3 From 7dd8a26724c9d51f5aebcf48370d12071b1c9ae1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 28 Apr 2019 09:22:06 +0200 Subject: d/copyright: Add year 2019, Add missing Uploaders to debian/* --- debian/changelog | 3 +++ debian/copyright | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 0b8ae77..3157552 100644 --- a/debian/changelog +++ b/debian/changelog @@ -16,6 +16,9 @@ sane-backends (1.0.27-4~experimental1) UNRELEASED; urgency=medium - Change debian/TROUBLESHOOTING.Debian * debian/sane-utils.config: Remove the RUN parameter in compliance with Debian Policy Manual section 9.3.3.1 (Closes: #915197). + * debian/copyright: + - Add year 2019 for debian/*. + - Add missing Uploaders to debian/*. -- Jörg Frings-Fürst Wed, 07 Nov 2018 13:21:48 +0100 diff --git a/debian/copyright b/debian/copyright index 8735810..9e4c2dc 100644 --- a/debian/copyright +++ b/debian/copyright @@ -13,7 +13,9 @@ Copyright: 1997-2002 Kevin Dalley 2002-2011 Julien BLACHE 2002-2006 Aurélien Jarno 2013 Mark Buda - 2014-2017 Jörg Frings-Fürst + 2018 Laurent Bigonville + 2019 John Paul Adrian Glaubitz + 2014-2019 Jörg Frings-Fürst License: GPL-2+ with sane exception Files: backend/abaton.* -- cgit v1.2.3 From bace12e994a5df9b013e8911429c805bf90317b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 28 Apr 2019 10:24:29 +0200 Subject: Fix the lintian warning libsane: package-name-doesnt-match-sonames libsane1 --- debian/99-libsane.rules | 2 - debian/99-libsane1.rules | 2 + debian/TROUBLESHOOTING.Debian | 4 +- debian/changelog | 7 +- debian/control | 10 +- debian/libsane1.dirs | 1 + debian/libsane1.install | 1 + debian/libsane1.symbols | 229 + debian/libsane1.symbols.alpha | 7314 ------------------------------- debian/libsane1.symbols.amd64 | 7363 -------------------------------- debian/libsane1.symbols.arm64 | 7257 ------------------------------- debian/libsane1.symbols.armel | 7314 ------------------------------- debian/libsane1.symbols.armhf | 7314 ------------------------------- debian/libsane1.symbols.hppa | 7257 ------------------------------- debian/libsane1.symbols.i386 | 7314 ------------------------------- debian/libsane1.symbols.kfreebsd-amd64 | 7361 ------------------------------- debian/libsane1.symbols.kfreebsd-i386 | 7361 ------------------------------- debian/libsane1.symbols.m68k | 7257 ------------------------------- debian/libsane1.symbols.mips | 7257 ------------------------------- debian/libsane1.symbols.mips64el | 7257 ------------------------------- debian/libsane1.symbols.mipsel | 7257 ------------------------------- debian/libsane1.symbols.powerpc | 7257 ------------------------------- debian/libsane1.symbols.powerpcspe | 7257 ------------------------------- debian/libsane1.symbols.ppc64 | 7257 ------------------------------- debian/libsane1.symbols.ppc64el | 7257 ------------------------------- debian/libsane1.symbols.s390x | 7257 ------------------------------- debian/libsane1.symbols.sh4 | 7257 ------------------------------- debian/libsane1.symbols.sparc64 | 7257 ------------------------------- debian/libsane1.symbols.x32 | 7314 ------------------------------- debian/rules | 8 +- 30 files changed, 250 insertions(+), 153010 deletions(-) delete mode 100644 debian/99-libsane.rules create mode 100644 debian/99-libsane1.rules create mode 100644 debian/libsane1.symbols delete mode 100644 debian/libsane1.symbols.alpha delete mode 100644 debian/libsane1.symbols.amd64 delete mode 100644 debian/libsane1.symbols.arm64 delete mode 100644 debian/libsane1.symbols.armel delete mode 100644 debian/libsane1.symbols.armhf delete mode 100644 debian/libsane1.symbols.hppa delete mode 100644 debian/libsane1.symbols.i386 delete mode 100644 debian/libsane1.symbols.kfreebsd-amd64 delete mode 100644 debian/libsane1.symbols.kfreebsd-i386 delete mode 100644 debian/libsane1.symbols.m68k delete mode 100644 debian/libsane1.symbols.mips delete mode 100644 debian/libsane1.symbols.mips64el delete mode 100644 debian/libsane1.symbols.mipsel delete mode 100644 debian/libsane1.symbols.powerpc delete mode 100644 debian/libsane1.symbols.powerpcspe delete mode 100644 debian/libsane1.symbols.ppc64 delete mode 100644 debian/libsane1.symbols.ppc64el delete mode 100644 debian/libsane1.symbols.s390x delete mode 100644 debian/libsane1.symbols.sh4 delete mode 100644 debian/libsane1.symbols.sparc64 delete mode 100644 debian/libsane1.symbols.x32 diff --git a/debian/99-libsane.rules b/debian/99-libsane.rules deleted file mode 100644 index ada47b4..0000000 --- a/debian/99-libsane.rules +++ /dev/null @@ -1,2 +0,0 @@ - -ENV{libsane_matched}=="yes", RUN+="/bin/setfacl -m g:scanner:rw $env{DEVNAME}" diff --git a/debian/99-libsane1.rules b/debian/99-libsane1.rules new file mode 100644 index 0000000..ada47b4 --- /dev/null +++ b/debian/99-libsane1.rules @@ -0,0 +1,2 @@ + +ENV{libsane_matched}=="yes", RUN+="/bin/setfacl -m g:scanner:rw $env{DEVNAME}" diff --git a/debian/TROUBLESHOOTING.Debian b/debian/TROUBLESHOOTING.Debian index 70e9f5a..423d9e8 100644 --- a/debian/TROUBLESHOOTING.Debian +++ b/debian/TROUBLESHOOTING.Debian @@ -18,7 +18,7 @@ REMARK: Sometimes usblp is used to access your printer. From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=789593 -The file /etc/udev/rules.d/99-libsane.rules uses the command "/bin/setfacl -m g:scanner:rw +The file /etc/udev/rules.d/99-libsane1.rules uses the command "/bin/setfacl -m g:scanner:rw $env{DEVNAME}" to add the "scanner" group with rw access to the device permissions. In my case, with /dev on an ext4 filesystem with no ACL support enabled in the kernel, setfacl @@ -26,4 +26,4 @@ returns "Operation not supported". I assume this is because it's trying to add a possible in its fallback mode of traditional Unix-style file permissions. As a workaround, I have substituted "/bin/chown root:scanner $env{DEVNAME}" as the command at the -end of 99-libsane.rules (an alternative would be to use a UDEV rule element to change the ownership). +end of 99-libsane1.rules (an alternative would be to use a UDEV rule element to change the ownership). diff --git a/debian/changelog b/debian/changelog index 3157552..8ff01c8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,10 +15,15 @@ sane-backends (1.0.27-4~experimental1) UNRELEASED; urgency=medium - debian/libsane.install: Install File into /etc/udev/rules.d/ - Change debian/TROUBLESHOOTING.Debian * debian/sane-utils.config: Remove the RUN parameter in compliance with - Debian Policy Manual section 9.3.3.1 (Closes: #915197). + Debian Policy Manual section 9.3.3.1 (Closes: #915197). * debian/copyright: - Add year 2019 for debian/*. - Add missing Uploaders to debian/*. + * Fix the lintian warning "libsane: package-name-doesnt-match-sonames + libsane1": + - debian/control: rename package libsane to libsane1. + - debian/rules: Change filenames and directories from libsane to libsane1. + - Rename debian/99-libsane.rules to debian/99-libsane1.rules. -- Jörg Frings-Fürst Wed, 07 Nov 2018 13:21:48 +0100 diff --git a/debian/control b/debian/control index 0056910..6d37f98 100644 --- a/debian/control +++ b/debian/control @@ -74,13 +74,13 @@ Description: API library for scanners -- documentation and support files This package includes documentation for libsane, such as the man pages and list of supported scanners, and support files (i18n data). -Package: libsane +Package: libsane1 Section: libs Architecture: any Multi-Arch: same -Breaks: libsane1 (<< 1.0.27-3.1~) -Replaces: libsane1 (<< 1.0.27-3.1~) -Provides: libsane1 (= ${binary:Version}) +Conflicts: libsane (<< 1.0.27-4~) +Replaces: libsane (<< 1.0.27-4~) +Provides: libsane (= ${binary:Version}) Depends: acl [linux-any], adduser, @@ -110,7 +110,7 @@ Section: libdevel Architecture: any Multi-Arch: same Depends: - libsane (= ${binary:Version}), + libsane1 (= ${binary:Version}), ${misc:Depends} Description: API development library for scanners [development files] SANE stands for "Scanner Access Now Easy" and is an application diff --git a/debian/libsane1.dirs b/debian/libsane1.dirs index ad3a3cc..863867a 100644 --- a/debian/libsane1.dirs +++ b/debian/libsane1.dirs @@ -1 +1,2 @@ /lib/udev/hwdb.d/ +/etc/udev/rules.d/ diff --git a/debian/libsane1.install b/debian/libsane1.install index b38912c..2b6aa59 100644 --- a/debian/libsane1.install +++ b/debian/libsane1.install @@ -1,2 +1,3 @@ usr/lib/*/*.so.* usr/lib/*/sane/*.so.* +debian/99-libsane1.rules /etc/udev/rules.d/ diff --git a/debian/libsane1.symbols b/debian/libsane1.symbols new file mode 100644 index 0000000..0604286 --- /dev/null +++ b/debian/libsane1.symbols @@ -0,0 +1,229 @@ +libsane.so.1 libsane1 #MINVER# + cmsg@Base 1.0.27 + md5_buffer@Base 1.0.27 + md5_finish_ctx@Base 1.0.27 + md5_init_ctx@Base 1.0.27 + md5_process_block@Base 1.0.27 + md5_process_bytes@Base 1.0.27 + md5_read_ctx@Base 1.0.27 + md5_stream@Base 1.0.27 + posix_dlsym@Base 1.0.27 + sane_cancel@Base 1.0.27 + sane_close@Base 1.0.27 + sane_control_option@Base 1.0.27 + sane_dll_cancel@Base 1.0.27 + sane_dll_close@Base 1.0.27 + sane_dll_control_option@Base 1.0.27 + sane_dll_exit@Base 1.0.27 + sane_dll_get_devices@Base 1.0.27 + sane_dll_get_option_descriptor@Base 1.0.27 + sane_dll_get_parameters@Base 1.0.27 + sane_dll_get_select_fd@Base 1.0.27 + sane_dll_init@Base 1.0.27 + sane_dll_open@Base 1.0.27 + sane_dll_read@Base 1.0.27 + sane_dll_set_io_mode@Base 1.0.27 + sane_dll_start@Base 1.0.27 + sane_exit@Base 1.0.27 + sane_get_devices@Base 1.0.27 + sane_get_option_descriptor@Base 1.0.27 + sane_get_parameters@Base 1.0.27 + sane_get_select_fd@Base 1.0.27 + sane_init@Base 1.0.27 + sane_open@Base 1.0.27 + sane_read@Base 1.0.27 + sane_set_io_mode@Base 1.0.27 + sane_start@Base 1.0.27 + sane_strstatus@Base 1.0.27 + sanei_ab306_close@Base 1.0.27 + sanei_ab306_cmd@Base 1.0.27 + sanei_ab306_exit@Base 1.0.27 + sanei_ab306_get_io_privilege@Base 1.0.27 + sanei_ab306_open@Base 1.0.27 + sanei_ab306_rdata@Base 1.0.27 + sanei_ab306_test_ready@Base 1.0.27 + sanei_access_init@Base 1.0.27 + sanei_access_lock@Base 1.0.27 + sanei_access_unlock@Base 1.0.27 + sanei_check_value@Base 1.0.27 + sanei_codec_bin_init@Base 1.0.27 + sanei_config_attach_matching_devices@Base 1.0.27 + sanei_config_get_paths@Base 1.0.27 + sanei_config_get_string@Base 1.0.27 + sanei_config_open@Base 1.0.27 + sanei_config_read@Base 1.0.27 + sanei_config_skip_whitespace@Base 1.0.27 + sanei_configure_attach@Base 1.0.27 + sanei_constrain_value@Base 1.0.27 + sanei_debug_dll@Base 1.0.27 + sanei_debug_msg@Base 1.0.27 + sanei_debug_sanei_ab306@Base 1.0.27 + sanei_debug_sanei_access@Base 1.0.27 + sanei_debug_sanei_config@Base 1.0.27 + sanei_debug_sanei_debug@Base 1.0.27 + sanei_debug_sanei_lm983x@Base 1.0.27 + sanei_debug_sanei_magic@Base 1.0.27 + sanei_debug_sanei_pa4s2@Base 1.0.27 + sanei_debug_sanei_pio@Base 1.0.27 + sanei_debug_sanei_pp@Base 1.0.27 + sanei_debug_sanei_pv8630@Base 1.0.27 + sanei_debug_sanei_scsi@Base 1.0.27 + sanei_debug_sanei_tcp@Base 1.0.27 + sanei_debug_sanei_thread@Base 1.0.27 + sanei_debug_sanei_udp@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.27 + sanei_debug_sanei_wire@Base 1.0.27 + sanei_init_debug@Base 1.0.27 + sanei_lm983x_init@Base 1.0.27 + sanei_lm983x_read@Base 1.0.27 + sanei_lm983x_reset@Base 1.0.27 + sanei_lm983x_write@Base 1.0.27 + sanei_lm983x_write_byte@Base 1.0.27 + sanei_magic_crop@Base 1.0.27 + sanei_magic_despeck@Base 1.0.27 + sanei_magic_findEdges@Base 1.0.27 + sanei_magic_findSkew@Base 1.0.27 + sanei_magic_findTurn@Base 1.0.27 + sanei_magic_getTransX@Base 1.0.27 + sanei_magic_getTransY@Base 1.0.27 + sanei_magic_init@Base 1.0.27 + sanei_magic_isBlank2@Base 1.0.27 + sanei_magic_isBlank@Base 1.0.27 + sanei_magic_rotate@Base 1.0.27 + sanei_magic_turn@Base 1.0.27 + sanei_pa4s2_close@Base 1.0.27 + sanei_pa4s2_devices@Base 1.0.27 + sanei_pa4s2_enable@Base 1.0.27 + sanei_pa4s2_open@Base 1.0.27 + sanei_pa4s2_options@Base 1.0.27 + sanei_pa4s2_readbegin@Base 1.0.27 + sanei_pa4s2_readbyte@Base 1.0.27 + sanei_pa4s2_readend@Base 1.0.27 + sanei_pa4s2_scsi_pp_get_status@Base 1.0.27 + sanei_pa4s2_scsi_pp_open@Base 1.0.27 + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.27 + sanei_pa4s2_writebyte@Base 1.0.27 + sanei_pio_close@Base 1.0.27 + sanei_pio_open@Base 1.0.27 + sanei_pio_read@Base 1.0.27 + sanei_pio_write@Base 1.0.27 + sanei_pp_claim@Base 1.0.27 + sanei_pp_close@Base 1.0.27 + sanei_pp_getmodes@Base 1.0.27 + sanei_pp_inb_ctrl@Base 1.0.27 + sanei_pp_inb_data@Base 1.0.27 + sanei_pp_inb_epp@Base 1.0.27 + sanei_pp_inb_stat@Base 1.0.27 + sanei_pp_init@Base 1.0.27 + sanei_pp_open@Base 1.0.27 + sanei_pp_outb_addr@Base 1.0.27 + sanei_pp_outb_ctrl@Base 1.0.27 + sanei_pp_outb_data@Base 1.0.27 + sanei_pp_outb_epp@Base 1.0.27 + sanei_pp_release@Base 1.0.27 + sanei_pp_set_datadir@Base 1.0.27 + sanei_pp_setmode@Base 1.0.27 + sanei_pp_udelay@Base 1.0.27 + sanei_pp_uses_directio@Base 1.0.27 + sanei_pv8630_bulkread@Base 1.0.27 + sanei_pv8630_bulkwrite@Base 1.0.27 + sanei_pv8630_flush_buffer@Base 1.0.27 + sanei_pv8630_init@Base 1.0.27 + sanei_pv8630_prep_bulkread@Base 1.0.27 + sanei_pv8630_prep_bulkwrite@Base 1.0.27 + sanei_pv8630_read_byte@Base 1.0.27 + sanei_pv8630_wait_byte@Base 1.0.27 + sanei_pv8630_write_byte@Base 1.0.27 + sanei_pv8630_xpect_byte@Base 1.0.27 + sanei_scsi_close@Base 1.0.27 + sanei_scsi_cmd2@Base 1.0.27 + sanei_scsi_cmd@Base 1.0.27 + sanei_scsi_find_devices@Base 1.0.27 + sanei_scsi_max_request_size@Base 1.0.27 + sanei_scsi_open@Base 1.0.27 + sanei_scsi_open_extended@Base 1.0.27 + sanei_scsi_req_enter2@Base 1.0.27 + sanei_scsi_req_enter@Base 1.0.27 + sanei_scsi_req_flush_all@Base 1.0.27 + sanei_scsi_req_flush_all_extended@Base 1.0.27 + sanei_scsi_req_wait@Base 1.0.27 + sanei_tcp_close@Base 1.0.27 + sanei_tcp_open@Base 1.0.27 + sanei_tcp_read@Base 1.0.27 + sanei_tcp_write@Base 1.0.27 + sanei_thread_begin@Base 1.0.27 + sanei_thread_get_status@Base 1.0.27 + sanei_thread_init@Base 1.0.27 + sanei_thread_is_forked@Base 1.0.27 + sanei_thread_is_valid@Base 1.0.27 + sanei_thread_kill@Base 1.0.27 + sanei_thread_sendsig@Base 1.0.27 + sanei_thread_waitpid@Base 1.0.27 + sanei_udp_close@Base 1.0.27 + sanei_udp_open@Base 1.0.27 + sanei_udp_open_broadcast@Base 1.0.27 + sanei_udp_read@Base 1.0.27 + sanei_udp_recvfrom@Base 1.0.27 + sanei_udp_set_nonblock@Base 1.0.27 + sanei_udp_write@Base 1.0.27 + sanei_udp_write_broadcast@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.27 + sanei_usb_claim_interface@Base 1.0.27 + sanei_usb_clear_halt@Base 1.0.27 + sanei_usb_close@Base 1.0.27 + sanei_usb_control_msg@Base 1.0.27 + sanei_usb_exit@Base 1.0.27 + sanei_usb_find_devices@Base 1.0.27 + sanei_usb_get_descriptor@Base 1.0.27 + sanei_usb_get_endpoint@Base 1.0.27 + sanei_usb_get_vendor_product@Base 1.0.27 + sanei_usb_get_vendor_product_byname@Base 1.0.27 + sanei_usb_init@Base 1.0.27 + sanei_usb_open@Base 1.0.27 + sanei_usb_read_bulk@Base 1.0.27 + sanei_usb_read_int@Base 1.0.27 + sanei_usb_release_interface@Base 1.0.27 + sanei_usb_reset@Base 1.0.27 + sanei_usb_scan_devices@Base 1.0.27 + sanei_usb_set_altinterface@Base 1.0.27 + sanei_usb_set_configuration@Base 1.0.27 + sanei_usb_set_endpoint@Base 1.0.27 + sanei_usb_set_timeout@Base 1.0.27 + sanei_usb_write_bulk@Base 1.0.27 + sanei_w_action@Base 1.0.27 + sanei_w_array@Base 1.0.27 + sanei_w_authorization_req@Base 1.0.27 + sanei_w_bool@Base 1.0.27 + sanei_w_byte@Base 1.0.27 + sanei_w_call@Base 1.0.27 + sanei_w_char@Base 1.0.27 + sanei_w_constraint_type@Base 1.0.27 + sanei_w_control_option_reply@Base 1.0.27 + sanei_w_control_option_req@Base 1.0.27 + sanei_w_device@Base 1.0.27 + sanei_w_device_ptr@Base 1.0.27 + sanei_w_exit@Base 1.0.27 + sanei_w_frame@Base 1.0.27 + sanei_w_free@Base 1.0.27 + sanei_w_get_devices_reply@Base 1.0.27 + sanei_w_get_parameters_reply@Base 1.0.27 + sanei_w_init@Base 1.0.27 + sanei_w_init_reply@Base 1.0.27 + sanei_w_init_req@Base 1.0.27 + sanei_w_open_reply@Base 1.0.27 + sanei_w_option_descriptor@Base 1.0.27 + sanei_w_option_descriptor_array@Base 1.0.27 + sanei_w_option_descriptor_ptr@Base 1.0.27 + sanei_w_parameters@Base 1.0.27 + sanei_w_ptr@Base 1.0.27 + sanei_w_range@Base 1.0.27 + sanei_w_reply@Base 1.0.27 + sanei_w_set_dir@Base 1.0.27 + sanei_w_space@Base 1.0.27 + sanei_w_start_reply@Base 1.0.27 + sanei_w_status@Base 1.0.27 + sanei_w_string@Base 1.0.27 + sanei_w_unit@Base 1.0.27 + sanei_w_value_type@Base 1.0.27 + sanei_w_void@Base 1.0.27 + sanei_w_word@Base 1.0.27 diff --git a/debian/libsane1.symbols.alpha b/debian/libsane1.symbols.alpha deleted file mode 100644 index 6a3bdda..0000000 --- a/debian/libsane1.symbols.alpha +++ /dev/null @@ -1,7314 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.amd64 b/debian/libsane1.symbols.amd64 deleted file mode 100644 index d49851d..0000000 --- a/debian/libsane1.symbols.amd64 +++ /dev/null @@ -1,7363 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dll.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.arm64 b/debian/libsane1.symbols.arm64 deleted file mode 100644 index 04a5076..0000000 --- a/debian/libsane1.symbols.arm64 +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.armel b/debian/libsane1.symbols.armel deleted file mode 100644 index 6a3bdda..0000000 --- a/debian/libsane1.symbols.armel +++ /dev/null @@ -1,7314 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.armhf b/debian/libsane1.symbols.armhf deleted file mode 100644 index 6a3bdda..0000000 --- a/debian/libsane1.symbols.armhf +++ /dev/null @@ -1,7314 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.hppa b/debian/libsane1.symbols.hppa deleted file mode 100644 index 04a5076..0000000 --- a/debian/libsane1.symbols.hppa +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.i386 b/debian/libsane1.symbols.i386 deleted file mode 100644 index 6a3bdda..0000000 --- a/debian/libsane1.symbols.i386 +++ /dev/null @@ -1,7314 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.kfreebsd-amd64 b/debian/libsane1.symbols.kfreebsd-amd64 deleted file mode 100644 index 874ffbe..0000000 --- a/debian/libsane1.symbols.kfreebsd-amd64 +++ /dev/null @@ -1,7361 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - cmparray@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.kfreebsd-i386 b/debian/libsane1.symbols.kfreebsd-i386 deleted file mode 100644 index 874ffbe..0000000 --- a/debian/libsane1.symbols.kfreebsd-i386 +++ /dev/null @@ -1,7361 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - cmparray@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cam_compare_inquiry@Base 1.0.27 - cam_devices@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.m68k b/debian/libsane1.symbols.m68k deleted file mode 100644 index 04a5076..0000000 --- a/debian/libsane1.symbols.m68k +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.mips b/debian/libsane1.symbols.mips deleted file mode 100644 index 04a5076..0000000 --- a/debian/libsane1.symbols.mips +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.mips64el b/debian/libsane1.symbols.mips64el deleted file mode 100644 index 04a5076..0000000 --- a/debian/libsane1.symbols.mips64el +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.mipsel b/debian/libsane1.symbols.mipsel deleted file mode 100644 index 04a5076..0000000 --- a/debian/libsane1.symbols.mipsel +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.powerpc b/debian/libsane1.symbols.powerpc deleted file mode 100644 index 04a5076..0000000 --- a/debian/libsane1.symbols.powerpc +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.powerpcspe b/debian/libsane1.symbols.powerpcspe deleted file mode 100644 index 04a5076..0000000 --- a/debian/libsane1.symbols.powerpcspe +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.ppc64 b/debian/libsane1.symbols.ppc64 deleted file mode 100644 index 04a5076..0000000 --- a/debian/libsane1.symbols.ppc64 +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.ppc64el b/debian/libsane1.symbols.ppc64el deleted file mode 100644 index 04a5076..0000000 --- a/debian/libsane1.symbols.ppc64el +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.s390x b/debian/libsane1.symbols.s390x deleted file mode 100644 index 04a5076..0000000 --- a/debian/libsane1.symbols.s390x +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.sh4 b/debian/libsane1.symbols.sh4 deleted file mode 100644 index 04a5076..0000000 --- a/debian/libsane1.symbols.sh4 +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.sparc64 b/debian/libsane1.symbols.sparc64 deleted file mode 100644 index 04a5076..0000000 --- a/debian/libsane1.symbols.sparc64 +++ /dev/null @@ -1,7257 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/libsane1.symbols.x32 b/debian/libsane1.symbols.x32 deleted file mode 100644 index 6a3bdda..0000000 --- a/debian/libsane1.symbols.x32 +++ /dev/null @@ -1,7314 +0,0 @@ -libsane-abaton.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_abaton_cancel@Base 1.0.25 - sane_abaton_close@Base 1.0.25 - sane_abaton_control_option@Base 1.0.25 - sane_abaton_exit@Base 1.0.25 - sane_abaton_get_devices@Base 1.0.25 - sane_abaton_get_option_descriptor@Base 1.0.25 - sane_abaton_get_parameters@Base 1.0.25 - sane_abaton_get_select_fd@Base 1.0.25 - sane_abaton_init@Base 1.0.25 - sane_abaton_open@Base 1.0.25 - sane_abaton_read@Base 1.0.25 - sane_abaton_set_io_mode@Base 1.0.25 - sane_abaton_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_abaton@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-agfafocus.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_agfafocus_cancel@Base 1.0.25 - sane_agfafocus_close@Base 1.0.25 - sane_agfafocus_control_option@Base 1.0.25 - sane_agfafocus_exit@Base 1.0.25 - sane_agfafocus_get_devices@Base 1.0.25 - sane_agfafocus_get_option_descriptor@Base 1.0.25 - sane_agfafocus_get_parameters@Base 1.0.25 - sane_agfafocus_get_select_fd@Base 1.0.25 - sane_agfafocus_init@Base 1.0.25 - sane_agfafocus_open@Base 1.0.25 - sane_agfafocus_read@Base 1.0.25 - sane_agfafocus_set_io_mode@Base 1.0.25 - sane_agfafocus_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_agfafocus@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-apple.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_apple_cancel@Base 1.0.25 - sane_apple_close@Base 1.0.25 - sane_apple_control_option@Base 1.0.25 - sane_apple_exit@Base 1.0.25 - sane_apple_get_devices@Base 1.0.25 - sane_apple_get_option_descriptor@Base 1.0.25 - sane_apple_get_parameters@Base 1.0.25 - sane_apple_get_select_fd@Base 1.0.25 - sane_apple_init@Base 1.0.25 - sane_apple_open@Base 1.0.25 - sane_apple_read@Base 1.0.25 - sane_apple_set_io_mode@Base 1.0.25 - sane_apple_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_apple@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_cancel@Base 1.0.25 - sane_artec_close@Base 1.0.25 - sane_artec_control_option@Base 1.0.25 - sane_artec_exit@Base 1.0.25 - sane_artec_get_devices@Base 1.0.25 - sane_artec_get_option_descriptor@Base 1.0.25 - sane_artec_get_parameters@Base 1.0.25 - sane_artec_get_select_fd@Base 1.0.25 - sane_artec_init@Base 1.0.25 - sane_artec_open@Base 1.0.25 - sane_artec_read@Base 1.0.25 - sane_artec_set_io_mode@Base 1.0.25 - sane_artec_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-artec_eplus48u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_artec_eplus48u_cancel@Base 1.0.25 - sane_artec_eplus48u_close@Base 1.0.25 - sane_artec_eplus48u_control_option@Base 1.0.25 - sane_artec_eplus48u_exit@Base 1.0.25 - sane_artec_eplus48u_get_devices@Base 1.0.25 - sane_artec_eplus48u_get_option_descriptor@Base 1.0.25 - sane_artec_eplus48u_get_parameters@Base 1.0.25 - sane_artec_eplus48u_get_select_fd@Base 1.0.25 - sane_artec_eplus48u_init@Base 1.0.25 - sane_artec_eplus48u_open@Base 1.0.25 - sane_artec_eplus48u_read@Base 1.0.25 - sane_artec_eplus48u_set_io_mode@Base 1.0.25 - sane_artec_eplus48u_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_artec_eplus48u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-as6e.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_as6e_cancel@Base 1.0.25 - sane_as6e_close@Base 1.0.25 - sane_as6e_control_option@Base 1.0.25 - sane_as6e_exit@Base 1.0.25 - sane_as6e_get_devices@Base 1.0.25 - sane_as6e_get_option_descriptor@Base 1.0.25 - sane_as6e_get_parameters@Base 1.0.25 - sane_as6e_get_select_fd@Base 1.0.25 - sane_as6e_init@Base 1.0.25 - sane_as6e_open@Base 1.0.25 - sane_as6e_read@Base 1.0.25 - sane_as6e_set_io_mode@Base 1.0.25 - sane_as6e_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_as6e@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-avision.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_avision_cancel@Base 1.0.25 - sane_avision_close@Base 1.0.25 - sane_avision_control_option@Base 1.0.25 - sane_avision_exit@Base 1.0.25 - sane_avision_get_devices@Base 1.0.25 - sane_avision_get_option_descriptor@Base 1.0.25 - sane_avision_get_parameters@Base 1.0.25 - sane_avision_get_select_fd@Base 1.0.25 - sane_avision_init@Base 1.0.25 - sane_avision_open@Base 1.0.25 - sane_avision_read@Base 1.0.25 - sane_avision_set_io_mode@Base 1.0.25 - sane_avision_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_avision@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-bh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_bh_cancel@Base 1.0.25 - sane_bh_close@Base 1.0.25 - sane_bh_control_option@Base 1.0.25 - sane_bh_exit@Base 1.0.25 - sane_bh_get_devices@Base 1.0.25 - sane_bh_get_option_descriptor@Base 1.0.25 - sane_bh_get_parameters@Base 1.0.25 - sane_bh_get_select_fd@Base 1.0.25 - sane_bh_init@Base 1.0.25 - sane_bh_open@Base 1.0.25 - sane_bh_read@Base 1.0.25 - sane_bh_set_io_mode@Base 1.0.25 - sane_bh_start@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bh@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_cancel@Base 1.0.25 - sane_canon_close@Base 1.0.25 - sane_canon_control_option@Base 1.0.25 - sane_canon_exit@Base 1.0.25 - sane_canon_get_devices@Base 1.0.25 - sane_canon_get_option_descriptor@Base 1.0.25 - sane_canon_get_parameters@Base 1.0.25 - sane_canon_get_select_fd@Base 1.0.25 - sane_canon_init@Base 1.0.25 - sane_canon_open@Base 1.0.25 - sane_canon_read@Base 1.0.25 - sane_canon_set_io_mode@Base 1.0.25 - sane_canon_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-canon630u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon630u_cancel@Base 1.0.25 - sane_canon630u_close@Base 1.0.25 - sane_canon630u_control_option@Base 1.0.25 - sane_canon630u_exit@Base 1.0.25 - sane_canon630u_get_devices@Base 1.0.25 - sane_canon630u_get_option_descriptor@Base 1.0.25 - sane_canon630u_get_parameters@Base 1.0.25 - sane_canon630u_get_select_fd@Base 1.0.25 - sane_canon630u_init@Base 1.0.25 - sane_canon630u_open@Base 1.0.25 - sane_canon630u_read@Base 1.0.25 - sane_canon630u_set_io_mode@Base 1.0.25 - sane_canon630u_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon630u@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_dr.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_canon_dr_cancel@Base 1.0.25 - sane_canon_dr_close@Base 1.0.25 - sane_canon_dr_control_option@Base 1.0.25 - sane_canon_dr_exit@Base 1.0.25 - sane_canon_dr_get_devices@Base 1.0.25 - sane_canon_dr_get_option_descriptor@Base 1.0.25 - sane_canon_dr_get_parameters@Base 1.0.25 - sane_canon_dr_get_select_fd@Base 1.0.25 - sane_canon_dr_init@Base 1.0.25 - sane_canon_dr_open@Base 1.0.25 - sane_canon_dr_read@Base 1.0.25 - sane_canon_dr_set_io_mode@Base 1.0.25 - sane_canon_dr_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_dr@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-canon_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pl@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_canon_pp_cancel@Base 1.0.25 - sane_canon_pp_close@Base 1.0.25 - sane_canon_pp_control_option@Base 1.0.25 - sane_canon_pp_exit@Base 1.0.25 - sane_canon_pp_get_devices@Base 1.0.25 - sane_canon_pp_get_option_descriptor@Base 1.0.25 - sane_canon_pp_get_parameters@Base 1.0.25 - sane_canon_pp_get_select_fd@Base 1.0.25 - sane_canon_pp_init@Base 1.0.25 - sane_canon_pp_open@Base 1.0.25 - sane_canon_pp_read@Base 1.0.25 - sane_canon_pp_set_io_mode@Base 1.0.25 - sane_canon_pp_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_canon_pp_abort_scan@Base 1.0.25 - sanei_canon_pp_adjust_gamma@Base 1.0.25 - sanei_canon_pp_calibrate@Base 1.0.25 - sanei_canon_pp_check_status@Base 1.0.25 - sanei_canon_pp_close_scanner@Base 1.0.25 - sanei_canon_pp_detect@Base 1.0.25 - sanei_canon_pp_init_scan@Base 1.0.25 - sanei_canon_pp_initialise@Base 1.0.25 - sanei_canon_pp_load_weights@Base 1.0.25 - sanei_canon_pp_read@Base 1.0.25 - sanei_canon_pp_read_segment@Base 1.0.25 - sanei_canon_pp_scanner_init@Base 1.0.25 - sanei_canon_pp_set_ieee1284_mode@Base 1.0.25 - sanei_canon_pp_sleep_scanner@Base 1.0.25 - sanei_canon_pp_wake_scanner@Base 1.0.25 - sanei_canon_pp_write@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_canon_pp@Base 1.0.25 - sanei_debug_canon_pp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-cardscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_has_cal_buffer@Base 1.0.25 - global_lines_per_block@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_cardscan_cancel@Base 1.0.25 - sane_cardscan_close@Base 1.0.25 - sane_cardscan_control_option@Base 1.0.25 - sane_cardscan_exit@Base 1.0.25 - sane_cardscan_get_devices@Base 1.0.25 - sane_cardscan_get_option_descriptor@Base 1.0.25 - sane_cardscan_get_parameters@Base 1.0.25 - sane_cardscan_get_select_fd@Base 1.0.25 - sane_cardscan_init@Base 1.0.25 - sane_cardscan_open@Base 1.0.25 - sane_cardscan_read@Base 1.0.25 - sane_cardscan_set_io_mode@Base 1.0.25 - sane_cardscan_start@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_cardscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan_cancel@Base 1.0.25 - sane_coolscan_close@Base 1.0.25 - sane_coolscan_control_option@Base 1.0.25 - sane_coolscan_exit@Base 1.0.25 - sane_coolscan_get_devices@Base 1.0.25 - sane_coolscan_get_option_descriptor@Base 1.0.25 - sane_coolscan_get_parameters@Base 1.0.25 - sane_coolscan_get_select_fd@Base 1.0.25 - sane_coolscan_init@Base 1.0.25 - sane_coolscan_open@Base 1.0.25 - sane_coolscan_read@Base 1.0.25 - sane_coolscan_set_io_mode@Base 1.0.25 - sane_coolscan_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan2_cancel@Base 1.0.25 - sane_coolscan2_close@Base 1.0.25 - sane_coolscan2_control_option@Base 1.0.25 - sane_coolscan2_exit@Base 1.0.25 - sane_coolscan2_get_devices@Base 1.0.25 - sane_coolscan2_get_option_descriptor@Base 1.0.25 - sane_coolscan2_get_parameters@Base 1.0.25 - sane_coolscan2_get_select_fd@Base 1.0.25 - sane_coolscan2_init@Base 1.0.25 - sane_coolscan2_open@Base 1.0.25 - sane_coolscan2_read@Base 1.0.25 - sane_coolscan2_set_io_mode@Base 1.0.25 - sane_coolscan2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-coolscan3.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_coolscan3_cancel@Base 1.0.25 - sane_coolscan3_close@Base 1.0.25 - sane_coolscan3_control_option@Base 1.0.25 - sane_coolscan3_exit@Base 1.0.25 - sane_coolscan3_get_devices@Base 1.0.25 - sane_coolscan3_get_option_descriptor@Base 1.0.25 - sane_coolscan3_get_parameters@Base 1.0.25 - sane_coolscan3_get_select_fd@Base 1.0.25 - sane_coolscan3_init@Base 1.0.25 - sane_coolscan3_open@Base 1.0.25 - sane_coolscan3_read@Base 1.0.25 - sane_coolscan3_set_io_mode@Base 1.0.25 - sane_coolscan3_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_coolscan3@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-dc210.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc210_cancel@Base 1.0.25 - sane_dc210_close@Base 1.0.25 - sane_dc210_control_option@Base 1.0.25 - sane_dc210_exit@Base 1.0.25 - sane_dc210_get_devices@Base 1.0.25 - sane_dc210_get_option_descriptor@Base 1.0.25 - sane_dc210_get_parameters@Base 1.0.25 - sane_dc210_get_select_fd@Base 1.0.25 - sane_dc210_init@Base 1.0.25 - sane_dc210_open@Base 1.0.25 - sane_dc210_read@Base 1.0.25 - sane_dc210_set_io_mode@Base 1.0.25 - sane_dc210_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc210@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc240.so.1 libsane1 #MINVER# - dir_buf2@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc240_cancel@Base 1.0.25 - sane_dc240_close@Base 1.0.25 - sane_dc240_control_option@Base 1.0.25 - sane_dc240_exit@Base 1.0.25 - sane_dc240_get_devices@Base 1.0.25 - sane_dc240_get_option_descriptor@Base 1.0.25 - sane_dc240_get_parameters@Base 1.0.25 - sane_dc240_get_select_fd@Base 1.0.25 - sane_dc240_init@Base 1.0.25 - sane_dc240_open@Base 1.0.25 - sane_dc240_read@Base 1.0.25 - sane_dc240_set_io_mode@Base 1.0.25 - sane_dc240_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc240@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-dc25.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dc25_cancel@Base 1.0.25 - sane_dc25_close@Base 1.0.25 - sane_dc25_control_option@Base 1.0.25 - sane_dc25_exit@Base 1.0.25 - sane_dc25_get_devices@Base 1.0.25 - sane_dc25_get_option_descriptor@Base 1.0.25 - sane_dc25_get_parameters@Base 1.0.25 - sane_dc25_get_select_fd@Base 1.0.25 - sane_dc25_init@Base 1.0.25 - sane_dc25_open@Base 1.0.25 - sane_dc25_read@Base 1.0.25 - sane_dc25_set_io_mode@Base 1.0.25 - sane_dc25_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dc25@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dell1600n_net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dell1600n_net_cancel@Base 1.0.25 - sane_dell1600n_net_close@Base 1.0.25 - sane_dell1600n_net_control_option@Base 1.0.25 - sane_dell1600n_net_exit@Base 1.0.25 - sane_dell1600n_net_get_devices@Base 1.0.25 - sane_dell1600n_net_get_option_descriptor@Base 1.0.25 - sane_dell1600n_net_get_parameters@Base 1.0.25 - sane_dell1600n_net_get_select_fd@Base 1.0.25 - sane_dell1600n_net_init@Base 1.0.25 - sane_dell1600n_net_open@Base 1.0.25 - sane_dell1600n_net_read@Base 1.0.25 - sane_dell1600n_net_set_io_mode@Base 1.0.25 - sane_dell1600n_net_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dell1600n_net@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-dmc.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_dmc_cancel@Base 1.0.25 - sane_dmc_close@Base 1.0.25 - sane_dmc_control_option@Base 1.0.25 - sane_dmc_exit@Base 1.0.25 - sane_dmc_get_devices@Base 1.0.25 - sane_dmc_get_option_descriptor@Base 1.0.25 - sane_dmc_get_parameters@Base 1.0.25 - sane_dmc_get_select_fd@Base 1.0.25 - sane_dmc_init@Base 1.0.25 - sane_dmc_open@Base 1.0.25 - sane_dmc_read@Base 1.0.25 - sane_dmc_set_io_mode@Base 1.0.25 - sane_dmc_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_dmc@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-epjitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - global_firmware_filename@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epjitsu_cancel@Base 1.0.25 - sane_epjitsu_close@Base 1.0.25 - sane_epjitsu_control_option@Base 1.0.25 - sane_epjitsu_exit@Base 1.0.25 - sane_epjitsu_get_devices@Base 1.0.25 - sane_epjitsu_get_option_descriptor@Base 1.0.25 - sane_epjitsu_get_parameters@Base 1.0.25 - sane_epjitsu_get_select_fd@Base 1.0.25 - sane_epjitsu_init@Base 1.0.25 - sane_epjitsu_open@Base 1.0.25 - sane_epjitsu_read@Base 1.0.25 - sane_epjitsu_set_io_mode@Base 1.0.25 - sane_epjitsu_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epjitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auto_eject@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson_cancel@Base 1.0.25 - sane_epson_close@Base 1.0.25 - sane_epson_control_option@Base 1.0.25 - sane_epson_exit@Base 1.0.25 - sane_epson_get_devices@Base 1.0.25 - sane_epson_get_option_descriptor@Base 1.0.25 - sane_epson_get_parameters@Base 1.0.25 - sane_epson_get_select_fd@Base 1.0.25 - sane_epson_init@Base 1.0.25 - sane_epson_open@Base 1.0.25 - sane_epson_read@Base 1.0.25 - sane_epson_set_io_mode@Base 1.0.25 - sane_epson_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson@Base 1.0.25 - sanei_debug_epson_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_scsi_inquiry@Base 1.0.25 - sanei_epson_scsi_read@Base 1.0.25 - sanei_epson_scsi_sense_handler@Base 1.0.25 - sanei_epson_scsi_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-epson2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - e2_ack@Base 1.0.25 - e2_ack_next@Base 1.0.25 - e2_add_depth@Base 1.0.25 - e2_add_resolution@Base 1.0.25 - e2_block_read@Base 1.0.25 - e2_cancel@Base 1.0.25 - e2_check_adf@Base 1.0.25 - e2_check_warm_up@Base 1.0.25 - e2_cmd_info_block@Base 1.0.25 - e2_cmd_simple@Base 1.0.25 - e2_copy_image_data@Base 1.0.25 - e2_dev_init@Base 1.0.25 - e2_dev_model@Base 1.0.25 - e2_dev_post_init@Base 1.0.25 - e2_discover_capabilities@Base 1.0.25 - e2_esc_cmd@Base 1.0.25 - e2_ext_read@Base 1.0.25 - e2_init_parameters@Base 1.0.25 - e2_recv@Base 1.0.25 - e2_recv_info_block@Base 1.0.25 - e2_scan_finish@Base 1.0.25 - e2_send@Base 1.0.25 - e2_set_adf_area@Base 1.0.25 - e2_set_cmd_level@Base 1.0.25 - e2_set_extended_scanning_parameters@Base 1.0.25 - e2_set_fbf_area@Base 1.0.25 - e2_set_model@Base 1.0.25 - e2_set_scanning_parameters@Base 1.0.25 - e2_set_tpu2_area@Base 1.0.25 - e2_set_tpu_area@Base 1.0.25 - e2_setup_block_mode@Base 1.0.25 - e2_start_ext_scan@Base 1.0.25 - e2_start_std_scan@Base 1.0.25 - e2_txrx@Base 1.0.25 - e2_wait_button@Base 1.0.25 - e2_wait_warm_up@Base 1.0.25 - epson_cct_models@Base 1.0.25 - epson_cct_profiles@Base 1.0.25 - esci_eject@Base 1.0.25 - esci_enable_infrared@Base 1.0.25 - esci_feed@Base 1.0.25 - esci_get_scanning_parameter@Base 1.0.25 - esci_request_command_parameter@Base 1.0.25 - esci_request_extended_identity@Base 1.0.25 - esci_request_extended_status@Base 1.0.25 - esci_request_focus_position@Base 1.0.25 - esci_request_identity2@Base 1.0.25 - esci_request_identity@Base 1.0.25 - esci_request_push_button_status@Base 1.0.25 - esci_request_scanner_status@Base 1.0.25 - esci_request_status@Base 1.0.25 - esci_reset@Base 1.0.25 - esci_set_color_correction_coefficients@Base 1.0.25 - esci_set_gamma_table@Base 1.0.25 - esci_set_resolution@Base 1.0.25 - esci_set_scan_area@Base 1.0.25 - esci_set_scanning_parameter@Base 1.0.25 - esci_set_zoom@Base 1.0.25 - gamma_params@Base 1.0.25 - halftone_params@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - r_cmd_count@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epson2_cancel@Base 1.0.25 - sane_epson2_close@Base 1.0.25 - sane_epson2_control_option@Base 1.0.25 - sane_epson2_exit@Base 1.0.25 - sane_epson2_get_devices@Base 1.0.25 - sane_epson2_get_option_descriptor@Base 1.0.25 - sane_epson2_get_parameters@Base 1.0.25 - sane_epson2_get_select_fd@Base 1.0.25 - sane_epson2_init@Base 1.0.25 - sane_epson2_open@Base 1.0.25 - sane_epson2_read@Base 1.0.25 - sane_epson2_set_io_mode@Base 1.0.25 - sane_epson2_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epson2@Base 1.0.25 - sanei_debug_epson2_call@Base 1.0.25 - sanei_debug_epson2_scsi@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_epson2_scsi_inquiry@Base 1.0.25 - sanei_epson2_scsi_read@Base 1.0.25 - sanei_epson2_scsi_sense_handler@Base 1.0.25 - sanei_epson2_scsi_test_unit_ready@Base 1.0.25 - sanei_epson2_scsi_write@Base 1.0.25 - sanei_epson_getNumberOfUSBProductIds@Base 1.0.25 - sanei_epson_net_lock@Base 1.0.25 - sanei_epson_net_read@Base 1.0.25 - sanei_epson_net_unlock@Base 1.0.25 - sanei_epson_net_write@Base 1.0.25 - sanei_epson_usb_product_ids@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 - w_cmd_count@Base 1.0.25 -libsane-epsonds.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - eds_add_depth@Base 1.0.25 - eds_add_resolution@Base 1.0.25 - eds_control@Base 1.0.25 - eds_copy_image_from_ring@Base 1.0.25 - eds_dev_init@Base 1.0.25 - eds_dev_post_init@Base 1.0.25 - eds_fsx@Base 1.0.25 - eds_fsy@Base 1.0.25 - eds_init_parameters@Base 1.0.25 - eds_is_model@Base 1.0.27 - eds_jpeg_finish@Base 1.0.25 - eds_jpeg_read@Base 1.0.25 - eds_jpeg_read_header@Base 1.0.25 - eds_jpeg_start@Base 1.0.25 - eds_lock@Base 1.0.25 - eds_recv@Base 1.0.25 - eds_ring_avail@Base 1.0.25 - eds_ring_flush@Base 1.0.25 - eds_ring_init@Base 1.0.25 - eds_ring_read@Base 1.0.25 - eds_ring_skip@Base 1.0.25 - eds_ring_write@Base 1.0.25 - eds_send@Base 1.0.25 - eds_set_adf_area@Base 1.0.25 - eds_set_fbf_area@Base 1.0.25 - eds_set_resolution_range@Base 1.0.25 - eds_set_tpu_area@Base 1.0.25 - eds_txrx@Base 1.0.25 - epsonds_get_number_of_ids@Base 1.0.25 - epsonds_net_lock@Base 1.0.27 - epsonds_net_read@Base 1.0.27 - epsonds_net_request_read@Base 1.0.27 - epsonds_net_unlock@Base 1.0.27 - epsonds_net_write@Base 1.0.27 - epsonds_usb_product_ids@Base 1.0.25 - esci2_can@Base 1.0.25 - esci2_capa@Base 1.0.25 - esci2_fin@Base 1.0.25 - esci2_img@Base 1.0.25 - esci2_info@Base 1.0.25 - esci2_mech@Base 1.0.25 - esci2_para@Base 1.0.25 - esci2_resa@Base 1.0.25 - esci2_stat@Base 1.0.25 - esci2_trdt@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mode_params@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_epsonds_cancel@Base 1.0.25 - sane_epsonds_close@Base 1.0.25 - sane_epsonds_control_option@Base 1.0.25 - sane_epsonds_exit@Base 1.0.25 - sane_epsonds_get_devices@Base 1.0.25 - sane_epsonds_get_option_descriptor@Base 1.0.25 - sane_epsonds_get_parameters@Base 1.0.25 - sane_epsonds_get_select_fd@Base 1.0.25 - sane_epsonds_init@Base 1.0.25 - sane_epsonds_open@Base 1.0.25 - sane_epsonds_read@Base 1.0.25 - sane_epsonds_set_io_mode@Base 1.0.25 - sane_epsonds_start@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_epsonds@Base 1.0.25 - sanei_debug_epsonds_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - source_list@Base 1.0.25 -libsane-fujitsu.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_fujitsu_cancel@Base 1.0.25 - sane_fujitsu_close@Base 1.0.25 - sane_fujitsu_control_option@Base 1.0.25 - sane_fujitsu_exit@Base 1.0.25 - sane_fujitsu_get_devices@Base 1.0.25 - sane_fujitsu_get_option_descriptor@Base 1.0.25 - sane_fujitsu_get_parameters@Base 1.0.25 - sane_fujitsu_get_select_fd@Base 1.0.25 - sane_fujitsu_init@Base 1.0.25 - sane_fujitsu_open@Base 1.0.25 - sane_fujitsu_read@Base 1.0.25 - sane_fujitsu_set_io_mode@Base 1.0.25 - sane_fujitsu_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_fujitsu@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-genesys.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_genesys_cancel@Base 1.0.25 - sane_genesys_close@Base 1.0.25 - sane_genesys_control_option@Base 1.0.25 - sane_genesys_exit@Base 1.0.25 - sane_genesys_get_devices@Base 1.0.25 - sane_genesys_get_option_descriptor@Base 1.0.25 - sane_genesys_get_parameters@Base 1.0.25 - sane_genesys_get_select_fd@Base 1.0.25 - sane_genesys_init@Base 1.0.25 - sane_genesys_open@Base 1.0.25 - sane_genesys_read@Base 1.0.25 - sane_genesys_set_io_mode@Base 1.0.25 - sane_genesys_start@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_genesys@Base 1.0.25 - sanei_debug_genesys_gl124@Base 1.0.25 - sanei_debug_genesys_gl646@Base 1.0.25 - sanei_debug_genesys_gl841@Base 1.0.25 - sanei_debug_genesys_gl843@Base 1.0.25 - sanei_debug_genesys_gl846@Base 1.0.25 - sanei_debug_genesys_gl847@Base 1.0.25 - sanei_debug_genesys_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_genesys_asic_init@Base 1.0.25 - sanei_genesys_buffer_alloc@Base 1.0.25 - sanei_genesys_buffer_consume@Base 1.0.25 - sanei_genesys_buffer_free@Base 1.0.25 - sanei_genesys_buffer_get_read_pos@Base 1.0.25 - sanei_genesys_buffer_get_write_pos@Base 1.0.25 - sanei_genesys_buffer_produce@Base 1.0.25 - sanei_genesys_bulk_write_register@Base 1.0.25 - sanei_genesys_calculate_zmode2@Base 1.0.25 - sanei_genesys_calculate_zmode@Base 1.0.25 - sanei_genesys_compute_dpihw@Base 1.0.25 - sanei_genesys_compute_max_shift@Base 1.0.25 - sanei_genesys_compute_step_type@Base 1.0.25 - sanei_genesys_create_gamma_table@Base 1.0.25 - sanei_genesys_create_slope_table3@Base 1.0.25 - sanei_genesys_create_slope_table@Base 1.0.25 - sanei_genesys_exposure_time2@Base 1.0.25 - sanei_genesys_exposure_time@Base 1.0.25 - sanei_genesys_fe_read_data@Base 1.0.25 - sanei_genesys_fe_write_data@Base 1.0.25 - sanei_genesys_generate_gamma_buffer@Base 1.0.25 - sanei_genesys_generate_slope_table@Base 1.0.25 - sanei_genesys_get_address@Base 1.0.25 - sanei_genesys_get_double@Base 1.0.25 - sanei_genesys_get_lowest_dpi@Base 1.0.25 - sanei_genesys_get_lowest_ydpi@Base 1.0.25 - sanei_genesys_get_motor_profile@Base 1.0.25 - sanei_genesys_get_status@Base 1.0.25 - sanei_genesys_get_triple@Base 1.0.25 - sanei_genesys_init_cmd_set@Base 1.0.25 - sanei_genesys_init_fe@Base 1.0.25 - sanei_genesys_init_shading_data@Base 1.0.25 - sanei_genesys_init_structs@Base 1.0.25 - sanei_genesys_is_compatible_calibration@Base 1.0.25 - sanei_genesys_load_lut@Base 1.0.25 - sanei_genesys_print_status@Base 1.0.25 - sanei_genesys_read_calibration@Base 1.0.25 - sanei_genesys_read_data_from_scanner@Base 1.0.25 - sanei_genesys_read_feed_steps@Base 1.0.25 - sanei_genesys_read_hregister@Base 1.0.25 - sanei_genesys_read_reg_from_set@Base 1.0.25 - sanei_genesys_read_register@Base 1.0.25 - sanei_genesys_read_scancnt@Base 1.0.25 - sanei_genesys_read_valid_words@Base 1.0.25 - sanei_genesys_search_reference_point@Base 1.0.25 - sanei_genesys_send_gamma_table@Base 1.0.25 - sanei_genesys_set_buffer_address@Base 1.0.25 - sanei_genesys_set_double@Base 1.0.25 - sanei_genesys_set_reg_from_set@Base 1.0.25 - sanei_genesys_set_triple@Base 1.0.25 - sanei_genesys_slope_table@Base 1.0.25 - sanei_genesys_test_buffer_empty@Base 1.0.25 - sanei_genesys_wait_for_home@Base 1.0.25 - sanei_genesys_write_0x8c@Base 1.0.25 - sanei_genesys_write_ahb@Base 1.0.25 - sanei_genesys_write_hregister@Base 1.0.25 - sanei_genesys_write_pnm_file@Base 1.0.25 - sanei_genesys_write_register@Base 1.0.25 - sanei_gl124_init_cmd_set@Base 1.0.25 - sanei_gl646_init_cmd_set@Base 1.0.25 - sanei_gl841_init_cmd_set@Base 1.0.25 - sanei_gl843_init_cmd_set@Base 1.0.25 - sanei_gl846_init_cmd_set@Base 1.0.25 - sanei_gl847_init_cmd_set@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-gphoto2.so.1 libsane1 #MINVER# - camera@Base 1.0.25 - dir_list@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gphoto2_cancel@Base 1.0.25 - sane_gphoto2_close@Base 1.0.25 - sane_gphoto2_control_option@Base 1.0.25 - sane_gphoto2_exit@Base 1.0.25 - sane_gphoto2_get_devices@Base 1.0.25 - sane_gphoto2_get_option_descriptor@Base 1.0.25 - sane_gphoto2_get_parameters@Base 1.0.25 - sane_gphoto2_get_select_fd@Base 1.0.25 - sane_gphoto2_init@Base 1.0.25 - sane_gphoto2_open@Base 1.0.25 - sane_gphoto2_read@Base 1.0.25 - sane_gphoto2_set_io_mode@Base 1.0.25 - sane_gphoto2_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gphoto2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.25 -libsane-gt68xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - debug_options@Base 1.0.25 - little_endian@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_gt68xx_cancel@Base 1.0.25 - sane_gt68xx_close@Base 1.0.25 - sane_gt68xx_control_option@Base 1.0.25 - sane_gt68xx_exit@Base 1.0.25 - sane_gt68xx_get_devices@Base 1.0.25 - sane_gt68xx_get_option_descriptor@Base 1.0.25 - sane_gt68xx_get_parameters@Base 1.0.25 - sane_gt68xx_get_select_fd@Base 1.0.25 - sane_gt68xx_init@Base 1.0.25 - sane_gt68xx_open@Base 1.0.25 - sane_gt68xx_read@Base 1.0.25 - sane_gt68xx_set_io_mode@Base 1.0.25 - sane_gt68xx_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_gt68xx@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp_cancel@Base 1.0.25 - sane_hp_close@Base 1.0.25 - sane_hp_control_option@Base 1.0.25 - sane_hp_exit@Base 1.0.25 - sane_hp_get_devices@Base 1.0.25 - sane_hp_get_option_descriptor@Base 1.0.25 - sane_hp_get_parameters@Base 1.0.25 - sane_hp_get_select_fd@Base 1.0.25 - sane_hp_init@Base 1.0.25 - sane_hp_open@Base 1.0.25 - sane_hp_read@Base 1.0.25 - sane_hp_set_io_mode@Base 1.0.25 - sane_hp_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei__hp_accessor_data@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp@Base 1.0.25 - sanei_debug_hp_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_hp_accessor_bool_new@Base 1.0.25 - sanei_hp_accessor_choice_maxsize@Base 1.0.25 - sanei_hp_accessor_choice_new@Base 1.0.25 - sanei_hp_accessor_choice_strlist@Base 1.0.25 - sanei_hp_accessor_data@Base 1.0.25 - sanei_hp_accessor_fixed_new@Base 1.0.25 - sanei_hp_accessor_gamma_vector_new@Base 1.0.25 - sanei_hp_accessor_geometry_new@Base 1.0.25 - sanei_hp_accessor_get@Base 1.0.25 - sanei_hp_accessor_getint@Base 1.0.25 - sanei_hp_accessor_int_new@Base 1.0.25 - sanei_hp_accessor_matrix_vector_new@Base 1.0.25 - sanei_hp_accessor_new@Base 1.0.25 - sanei_hp_accessor_set@Base 1.0.25 - sanei_hp_accessor_setint@Base 1.0.25 - sanei_hp_accessor_size@Base 1.0.25 - sanei_hp_accessor_subvector_new@Base 1.0.25 - sanei_hp_accessor_vector_length@Base 1.0.25 - sanei_hp_accessor_vector_maxval@Base 1.0.25 - sanei_hp_accessor_vector_minval@Base 1.0.25 - sanei_hp_accessor_vector_new@Base 1.0.25 - sanei_hp_alloc@Base 1.0.25 - sanei_hp_allocz@Base 1.0.25 - sanei_hp_choice_isEnabled@Base 1.0.25 - sanei_hp_data_destroy@Base 1.0.25 - sanei_hp_data_dup@Base 1.0.25 - sanei_hp_data_new@Base 1.0.25 - sanei_hp_dbgdump@Base 1.0.25 - sanei_hp_device_compat@Base 1.0.25 - sanei_hp_device_get@Base 1.0.25 - sanei_hp_device_info_get@Base 1.0.25 - sanei_hp_device_new@Base 1.0.25 - sanei_hp_device_probe@Base 1.0.25 - sanei_hp_device_probe_model@Base 1.0.25 - sanei_hp_device_sanedevice@Base 1.0.25 - sanei_hp_device_simulate_clear@Base 1.0.25 - sanei_hp_device_simulate_get@Base 1.0.25 - sanei_hp_device_simulate_set@Base 1.0.25 - sanei_hp_device_support_get@Base 1.0.25 - sanei_hp_device_support_probe@Base 1.0.25 - sanei_hp_free@Base 1.0.25 - sanei_hp_free_all@Base 1.0.25 - sanei_hp_get_connect@Base 1.0.25 - sanei_hp_get_max_model@Base 1.0.25 - sanei_hp_handle_cancel@Base 1.0.25 - sanei_hp_handle_control@Base 1.0.25 - sanei_hp_handle_destroy@Base 1.0.25 - sanei_hp_handle_getParameters@Base 1.0.25 - sanei_hp_handle_getPipefd@Base 1.0.25 - sanei_hp_handle_new@Base 1.0.25 - sanei_hp_handle_read@Base 1.0.25 - sanei_hp_handle_saneoption@Base 1.0.25 - sanei_hp_handle_setNonblocking@Base 1.0.25 - sanei_hp_handle_startScan@Base 1.0.25 - sanei_hp_init_openfd@Base 1.0.25 - sanei_hp_is_active_xpa@Base 1.0.25 - sanei_hp_is_flatbed_adf@Base 1.0.25 - sanei_hp_memdup@Base 1.0.25 - sanei_hp_nonscsi_new@Base 1.0.25 - sanei_hp_optset_control@Base 1.0.25 - sanei_hp_optset_data_width@Base 1.0.25 - sanei_hp_optset_download@Base 1.0.25 - sanei_hp_optset_guessParameters@Base 1.0.25 - sanei_hp_optset_isImmediate@Base 1.0.25 - sanei_hp_optset_mirror_vert@Base 1.0.25 - sanei_hp_optset_new@Base 1.0.25 - sanei_hp_optset_output_8bit@Base 1.0.25 - sanei_hp_optset_saneoption@Base 1.0.25 - sanei_hp_optset_scan_type@Base 1.0.25 - sanei_hp_optset_scanmode@Base 1.0.25 - sanei_hp_optset_start_wait@Base 1.0.25 - sanei_hp_realloc@Base 1.0.25 - sanei_hp_scl_calibrate@Base 1.0.25 - sanei_hp_scl_clearErrors@Base 1.0.25 - sanei_hp_scl_download@Base 1.0.25 - sanei_hp_scl_errcheck@Base 1.0.25 - sanei_hp_scl_inquire@Base 1.0.25 - sanei_hp_scl_reset@Base 1.0.25 - sanei_hp_scl_set@Base 1.0.25 - sanei_hp_scl_startScan@Base 1.0.25 - sanei_hp_scl_upload@Base 1.0.25 - sanei_hp_scl_upload_binary@Base 1.0.25 - sanei_hp_scsi_destroy@Base 1.0.25 - sanei_hp_scsi_devicename@Base 1.0.25 - sanei_hp_scsi_get_connect@Base 1.0.25 - sanei_hp_scsi_inq@Base 1.0.25 - sanei_hp_scsi_model@Base 1.0.25 - sanei_hp_scsi_new@Base 1.0.25 - sanei_hp_scsi_pipeout@Base 1.0.25 - sanei_hp_scsi_vendor@Base 1.0.25 - sanei_hp_strdup@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3500.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3500_cancel@Base 1.0.25 - sane_hp3500_close@Base 1.0.25 - sane_hp3500_control_option@Base 1.0.25 - sane_hp3500_exit@Base 1.0.25 - sane_hp3500_get_devices@Base 1.0.25 - sane_hp3500_get_option_descriptor@Base 1.0.25 - sane_hp3500_get_parameters@Base 1.0.25 - sane_hp3500_get_select_fd@Base 1.0.25 - sane_hp3500_init@Base 1.0.25 - sane_hp3500_open@Base 1.0.25 - sane_hp3500_read@Base 1.0.25 - sane_hp3500_set_io_mode@Base 1.0.25 - sane_hp3500_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3500@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp3900.so.1 libsane1 #MINVER# - RTS_Debug@Base 1.0.25 - WRef@Base 1.0.25 - acccurvecount@Base 1.0.25 - arrangeline2@Base 1.0.25 - arrangeline@Base 1.0.25 - binarythresholdh@Base 1.0.25 - binarythresholdl@Base 1.0.25 - bw_threshold@Base 1.0.25 - bytesperline@Base 1.0.25 - calibdata@Base 1.0.25 - cmsg@Base 1.0.25 - compression@Base 1.0.25 - dataline_count@Base 1.0.25 - deccurvecount@Base 1.0.25 - default_gain_offset@Base 1.0.25 - fixed_black_shading@Base 1.0.25 - fixed_white_shading@Base 1.0.25 - gain@Base 1.0.25 - hp_gamma@Base 1.0.25 - imageheight@Base 1.0.25 - imagesize@Base 1.0.25 - imagewidth3@Base 1.0.25 - jkd_black@Base 1.0.25 - jkd_blackbpl@Base 1.0.25 - line_size@Base 1.0.25 - lineart_width@Base 1.0.25 - linedarlampoff@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - mem_total@Base 1.0.25 - mitabla2@Base 1.0.25 - offset@Base 1.0.25 - pixeldarklevel@Base 1.0.25 - pwmlamplevel@Base 1.0.25 - read_v15b4@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp3900_cancel@Base 1.0.25 - sane_hp3900_close@Base 1.0.25 - sane_hp3900_control_option@Base 1.0.25 - sane_hp3900_exit@Base 1.0.25 - sane_hp3900_get_devices@Base 1.0.25 - sane_hp3900_get_option_descriptor@Base 1.0.25 - sane_hp3900_get_parameters@Base 1.0.25 - sane_hp3900_get_select_fd@Base 1.0.25 - sane_hp3900_init@Base 1.0.25 - sane_hp3900_open@Base 1.0.25 - sane_hp3900_read@Base 1.0.25 - sane_hp3900_set_io_mode@Base 1.0.25 - sane_hp3900_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp3900@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - scan2@Base 1.0.25 - scan@Base 1.0.25 - scantype@Base 1.0.25 - shadingbase@Base 1.0.25 - shadingfact@Base 1.0.25 - smearacccurvecount@Base 1.0.25 - smeardeccurvecount@Base 1.0.25 - v0750@Base 1.0.25 - v07c0@Base 1.0.25 - v14b4@Base 1.0.25 - v15b4@Base 1.0.25 - v15bc@Base 1.0.25 - v15f8@Base 1.0.25 - v1600@Base 1.0.25 - v1604@Base 1.0.25 - v1608@Base 1.0.25 - v160c_block_size@Base 1.0.25 - v1619@Base 1.0.25 - v35b8@Base 1.0.25 - waitforpwm@Base 1.0.25 - wshading@Base 1.0.25 -libsane-hp4200.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp4200_cancel@Base 1.0.25 - sane_hp4200_close@Base 1.0.25 - sane_hp4200_control_option@Base 1.0.25 - sane_hp4200_exit@Base 1.0.25 - sane_hp4200_get_devices@Base 1.0.25 - sane_hp4200_get_option_descriptor@Base 1.0.25 - sane_hp4200_get_parameters@Base 1.0.25 - sane_hp4200_get_select_fd@Base 1.0.25 - sane_hp4200_init@Base 1.0.25 - sane_hp4200_open@Base 1.0.25 - sane_hp4200_read@Base 1.0.25 - sane_hp4200_set_io_mode@Base 1.0.25 - sane_hp4200_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp4200@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hp5400.so.1 libsane1 #MINVER# - MatchVersions@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - numVersions@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5400_cancel@Base 1.0.25 - sane_hp5400_close@Base 1.0.25 - sane_hp5400_control_option@Base 1.0.25 - sane_hp5400_exit@Base 1.0.25 - sane_hp5400_get_devices@Base 1.0.25 - sane_hp5400_get_option_descriptor@Base 1.0.25 - sane_hp5400_get_parameters@Base 1.0.25 - sane_hp5400_get_select_fd@Base 1.0.25 - sane_hp5400_init@Base 1.0.25 - sane_hp5400_open@Base 1.0.25 - sane_hp5400_read@Base 1.0.25 - sane_hp5400_set_io_mode@Base 1.0.25 - sane_hp5400_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5400@Base 1.0.25 - sanei_debug_hp5400_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - usb_devfile@Base 1.0.25 -libsane-hp5590.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hp5590_cancel@Base 1.0.25 - sane_hp5590_close@Base 1.0.25 - sane_hp5590_control_option@Base 1.0.25 - sane_hp5590_exit@Base 1.0.25 - sane_hp5590_get_devices@Base 1.0.25 - sane_hp5590_get_option_descriptor@Base 1.0.25 - sane_hp5590_get_parameters@Base 1.0.25 - sane_hp5590_get_select_fd@Base 1.0.25 - sane_hp5590_init@Base 1.0.25 - sane_hp5590_open@Base 1.0.25 - sane_hp5590_read@Base 1.0.25 - sane_hp5590_set_io_mode@Base 1.0.25 - sane_hp5590_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hp5590@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpljm1005.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpljm1005_cancel@Base 1.0.25 - sane_hpljm1005_close@Base 1.0.25 - sane_hpljm1005_control_option@Base 1.0.25 - sane_hpljm1005_exit@Base 1.0.25 - sane_hpljm1005_get_devices@Base 1.0.25 - sane_hpljm1005_get_option_descriptor@Base 1.0.25 - sane_hpljm1005_get_parameters@Base 1.0.25 - sane_hpljm1005_get_select_fd@Base 1.0.25 - sane_hpljm1005_init@Base 1.0.25 - sane_hpljm1005_open@Base 1.0.25 - sane_hpljm1005_read@Base 1.0.25 - sane_hpljm1005_set_io_mode@Base 1.0.25 - sane_hpljm1005_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpljm1005@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-hpsj5s.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hpsj5s_cancel@Base 1.0.25 - sane_hpsj5s_close@Base 1.0.25 - sane_hpsj5s_control_option@Base 1.0.25 - sane_hpsj5s_exit@Base 1.0.25 - sane_hpsj5s_get_devices@Base 1.0.25 - sane_hpsj5s_get_option_descriptor@Base 1.0.25 - sane_hpsj5s_get_parameters@Base 1.0.25 - sane_hpsj5s_get_select_fd@Base 1.0.25 - sane_hpsj5s_init@Base 1.0.25 - sane_hpsj5s_open@Base 1.0.25 - sane_hpsj5s_read@Base 1.0.25 - sane_hpsj5s_set_io_mode@Base 1.0.25 - sane_hpsj5s_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hpsj5s@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-hs2p.so.1 libsane1 #MINVER# - auto_binarization@Base 1.0.25 - auto_separation@Base 1.0.25 - grayfilter@Base 1.0.25 - halftone@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - noisematrix@Base 1.0.25 - paddingtype@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_hs2p_cancel@Base 1.0.25 - sane_hs2p_close@Base 1.0.25 - sane_hs2p_control_option@Base 1.0.25 - sane_hs2p_exit@Base 1.0.25 - sane_hs2p_get_devices@Base 1.0.25 - sane_hs2p_get_option_descriptor@Base 1.0.25 - sane_hs2p_get_parameters@Base 1.0.25 - sane_hs2p_get_select_fd@Base 1.0.25 - sane_hs2p_init@Base 1.0.25 - sane_hs2p_open@Base 1.0.25 - sane_hs2p_read@Base 1.0.25 - sane_hs2p_set_io_mode@Base 1.0.25 - sane_hs2p_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_hs2p@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-ibm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_ibm_cancel@Base 1.0.25 - sane_ibm_close@Base 1.0.25 - sane_ibm_control_option@Base 1.0.25 - sane_ibm_exit@Base 1.0.25 - sane_ibm_get_devices@Base 1.0.25 - sane_ibm_get_option_descriptor@Base 1.0.25 - sane_ibm_get_parameters@Base 1.0.25 - sane_ibm_get_select_fd@Base 1.0.25 - sane_ibm_init@Base 1.0.25 - sane_ibm_open@Base 1.0.25 - sane_ibm_read@Base 1.0.25 - sane_ibm_set_io_mode@Base 1.0.25 - sane_ibm_start@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ibm@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodak.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodak_cancel@Base 1.0.25 - sane_kodak_close@Base 1.0.25 - sane_kodak_control_option@Base 1.0.25 - sane_kodak_exit@Base 1.0.25 - sane_kodak_get_devices@Base 1.0.25 - sane_kodak_get_option_descriptor@Base 1.0.25 - sane_kodak_get_parameters@Base 1.0.25 - sane_kodak_get_select_fd@Base 1.0.25 - sane_kodak_init@Base 1.0.25 - sane_kodak_open@Base 1.0.25 - sane_kodak_read@Base 1.0.25 - sane_kodak_set_io_mode@Base 1.0.25 - sane_kodak_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodak@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-kodakaio.so.1 libsane1 #MINVER# - ProcessAvahiDevice@Base 1.0.27 - RawScan@Base 1.0.25 - RawScanPath@Base 1.0.25 - cmparray@Base 1.0.25 - cmsg@Base 1.0.25 - kodakaio_com_str@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kodakaio_cancel@Base 1.0.25 - sane_kodakaio_close@Base 1.0.25 - sane_kodakaio_control_option@Base 1.0.25 - sane_kodakaio_exit@Base 1.0.25 - sane_kodakaio_get_devices@Base 1.0.25 - sane_kodakaio_get_option_descriptor@Base 1.0.25 - sane_kodakaio_get_parameters@Base 1.0.25 - sane_kodakaio_get_select_fd@Base 1.0.25 - sane_kodakaio_init@Base 1.0.25 - sane_kodakaio_open@Base 1.0.25 - sane_kodakaio_read@Base 1.0.25 - sane_kodakaio_set_io_mode@Base 1.0.25 - sane_kodakaio_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kodakaio@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs1025.so.1 libsane1 #MINVER# - AllocateImageBuffer@Base 1.0.25 - CMD_get_buff_status@Base 1.0.25 - CMD_get_document_existanse@Base 1.0.25 - CMD_read_image@Base 1.0.25 - CMD_read_pic_elements@Base 1.0.25 - CMD_read_support_info@Base 1.0.25 - CMD_request_sense@Base 1.0.25 - CMD_reset_window@Base 1.0.25 - CMD_scan@Base 1.0.25 - CMD_set_timeout@Base 1.0.25 - CMD_set_window@Base 1.0.25 - CMD_test_unit_ready@Base 1.0.25 - CMD_wait_buff_status@Base 1.0.25 - CMD_wait_document_existanse@Base 1.0.25 - ReadImageData@Base 1.0.25 - ReadImageDataDuplex@Base 1.0.25 - ReadImageDataSimplex@Base 1.0.25 - buffer_crop@Base 1.0.25 - buffer_deskew@Base 1.0.25 - buffer_despeck@Base 1.0.25 - buffer_isblank@Base 1.0.25 - buffer_rotate@Base 1.0.25 - cmsg@Base 1.0.25 - g_devices@Base 1.0.25 - g_devlist@Base 1.0.25 - get_optval_list@Base 1.0.25 - hexdump@Base 1.0.25 - kv_already_open@Base 1.0.25 - kv_calc_paper_size@Base 1.0.25 - kv_close@Base 1.0.25 - kv_control_option@Base 1.0.25 - kv_enum_devices@Base 1.0.25 - kv_exit@Base 1.0.25 - kv_get_depth@Base 1.0.25 - kv_get_devices_list@Base 1.0.25 - kv_get_mode@Base 1.0.25 - kv_get_option_descriptor@Base 1.0.25 - kv_init_options@Base 1.0.25 - kv_open@Base 1.0.25 - kv_open_by_name@Base 1.0.25 - kv_send_command@Base 1.0.25 - kv_set_window_data@Base 1.0.25 - kv_usb_already_open@Base 1.0.25 - kv_usb_cleanup@Base 1.0.25 - kv_usb_close@Base 1.0.25 - kv_usb_enum_devices@Base 1.0.25 - kv_usb_escape@Base 1.0.25 - kv_usb_open@Base 1.0.25 - kv_usb_send_command@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs1025_cancel@Base 1.0.25 - sane_kvs1025_close@Base 1.0.25 - sane_kvs1025_control_option@Base 1.0.25 - sane_kvs1025_exit@Base 1.0.25 - sane_kvs1025_get_devices@Base 1.0.25 - sane_kvs1025_get_option_descriptor@Base 1.0.25 - sane_kvs1025_get_parameters@Base 1.0.25 - sane_kvs1025_get_select_fd@Base 1.0.25 - sane_kvs1025_init@Base 1.0.25 - sane_kvs1025_open@Base 1.0.25 - sane_kvs1025_read@Base 1.0.25 - sane_kvs1025_set_io_mode@Base 1.0.25 - sane_kvs1025_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs1025@Base 1.0.25 - sanei_debug_kvs1025_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs20xx.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - get_adjust_data@Base 1.0.25 - kvs20xx_document_exist@Base 1.0.25 - kvs20xx_init_options@Base 1.0.25 - kvs20xx_init_window@Base 1.0.25 - kvs20xx_read_image_data@Base 1.0.25 - kvs20xx_read_picture_element@Base 1.0.25 - kvs20xx_reset_window@Base 1.0.25 - kvs20xx_scan@Base 1.0.25 - kvs20xx_sense_handler@Base 1.0.25 - kvs20xx_set_timeout@Base 1.0.25 - kvs20xx_set_window@Base 1.0.25 - kvs20xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs20xx_cancel@Base 1.0.25 - sane_kvs20xx_close@Base 1.0.25 - sane_kvs20xx_control_option@Base 1.0.25 - sane_kvs20xx_exit@Base 1.0.25 - sane_kvs20xx_get_devices@Base 1.0.25 - sane_kvs20xx_get_option_descriptor@Base 1.0.25 - sane_kvs20xx_get_parameters@Base 1.0.25 - sane_kvs20xx_get_select_fd@Base 1.0.25 - sane_kvs20xx_init@Base 1.0.25 - sane_kvs20xx_open@Base 1.0.25 - sane_kvs20xx_read@Base 1.0.25 - sane_kvs20xx_set_io_mode@Base 1.0.25 - sane_kvs20xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs20xx@Base 1.0.25 - sanei_debug_kvs20xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-kvs40xx.so.1 libsane1 #MINVER# - attach@Base 1.0.25 - cmsg@Base 1.0.25 - get_buffer_status@Base 1.0.25 - hopper_down@Base 1.0.25 - inquiry@Base 1.0.25 - kvs40xx_document_exist@Base 1.0.25 - kvs40xx_init_options@Base 1.0.25 - kvs40xx_init_window@Base 1.0.25 - kvs40xx_read_image_data@Base 1.0.25 - kvs40xx_read_picture_element@Base 1.0.25 - kvs40xx_reset_window@Base 1.0.25 - kvs40xx_scan@Base 1.0.25 - kvs40xx_sense_handler@Base 1.0.25 - kvs40xx_set_timeout@Base 1.0.25 - kvs40xx_set_window@Base 1.0.25 - kvs40xx_test_unit_ready@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - read_support_info@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_kvs40xx_cancel@Base 1.0.25 - sane_kvs40xx_close@Base 1.0.25 - sane_kvs40xx_control_option@Base 1.0.25 - sane_kvs40xx_exit@Base 1.0.25 - sane_kvs40xx_get_devices@Base 1.0.25 - sane_kvs40xx_get_option_descriptor@Base 1.0.25 - sane_kvs40xx_get_parameters@Base 1.0.25 - sane_kvs40xx_get_select_fd@Base 1.0.25 - sane_kvs40xx_init@Base 1.0.25 - sane_kvs40xx_open@Base 1.0.25 - sane_kvs40xx_read@Base 1.0.25 - sane_kvs40xx_set_io_mode@Base 1.0.25 - sane_kvs40xx_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_kvs40xx@Base 1.0.25 - sanei_debug_kvs40xx_call@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - stop_adf@Base 1.0.25 -libsane-leo.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_leo_cancel@Base 1.0.25 - sane_leo_close@Base 1.0.25 - sane_leo_control_option@Base 1.0.25 - sane_leo_exit@Base 1.0.25 - sane_leo_get_devices@Base 1.0.25 - sane_leo_get_option_descriptor@Base 1.0.25 - sane_leo_get_parameters@Base 1.0.25 - sane_leo_get_select_fd@Base 1.0.25 - sane_leo_init@Base 1.0.25 - sane_leo_open@Base 1.0.25 - sane_leo_read@Base 1.0.25 - sane_leo_set_io_mode@Base 1.0.25 - sane_leo_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_leo@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-lexmark.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_lexmark_cancel@Base 1.0.25 - sane_lexmark_close@Base 1.0.25 - sane_lexmark_control_option@Base 1.0.25 - sane_lexmark_exit@Base 1.0.25 - sane_lexmark_get_devices@Base 1.0.25 - sane_lexmark_get_option_descriptor@Base 1.0.25 - sane_lexmark_get_parameters@Base 1.0.25 - sane_lexmark_get_select_fd@Base 1.0.25 - sane_lexmark_init@Base 1.0.25 - sane_lexmark_open@Base 1.0.25 - sane_lexmark_read@Base 1.0.25 - sane_lexmark_set_io_mode@Base 1.0.25 - sane_lexmark_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_lexmark@Base 1.0.25 - sanei_debug_lexmark_low@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lexmark_low_assign_model@Base 1.0.25 - sanei_lexmark_low_calibration@Base 1.0.25 - sanei_lexmark_low_close_device@Base 1.0.25 - sanei_lexmark_low_destroy@Base 1.0.25 - sanei_lexmark_low_find_start_line@Base 1.0.25 - sanei_lexmark_low_gain_calibration@Base 1.0.25 - sanei_lexmark_low_init@Base 1.0.25 - sanei_lexmark_low_move_fwd@Base 1.0.25 - sanei_lexmark_low_offset_calibration@Base 1.0.25 - sanei_lexmark_low_open_device@Base 1.0.25 - sanei_lexmark_low_read_scan_data@Base 1.0.25 - sanei_lexmark_low_search_home_bwd@Base 1.0.25 - sanei_lexmark_low_search_home_fwd@Base 1.0.25 - sanei_lexmark_low_set_scan_regs@Base 1.0.25 - sanei_lexmark_low_shading_calibration@Base 1.0.25 - sanei_lexmark_low_start_scan@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-ma1509.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_ma1509_cancel@Base 1.0.25 - sane_ma1509_close@Base 1.0.25 - sane_ma1509_control_option@Base 1.0.25 - sane_ma1509_exit@Base 1.0.25 - sane_ma1509_get_devices@Base 1.0.25 - sane_ma1509_get_option_descriptor@Base 1.0.25 - sane_ma1509_get_parameters@Base 1.0.25 - sane_ma1509_get_select_fd@Base 1.0.25 - sane_ma1509_init@Base 1.0.25 - sane_ma1509_open@Base 1.0.25 - sane_ma1509_read@Base 1.0.25 - sane_ma1509_set_io_mode@Base 1.0.25 - sane_ma1509_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_ma1509@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-magicolor.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_magicolor_cancel@Base 1.0.25 - sane_magicolor_close@Base 1.0.25 - sane_magicolor_control_option@Base 1.0.25 - sane_magicolor_exit@Base 1.0.25 - sane_magicolor_get_devices@Base 1.0.25 - sane_magicolor_get_option_descriptor@Base 1.0.25 - sane_magicolor_get_parameters@Base 1.0.25 - sane_magicolor_get_select_fd@Base 1.0.25 - sane_magicolor_init@Base 1.0.25 - sane_magicolor_open@Base 1.0.25 - sane_magicolor_read@Base 1.0.25 - sane_magicolor_set_io_mode@Base 1.0.25 - sane_magicolor_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_magicolor@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_magicolor_usb_product_ids@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-matsushita.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_matsushita_cancel@Base 1.0.25 - sane_matsushita_close@Base 1.0.25 - sane_matsushita_control_option@Base 1.0.25 - sane_matsushita_exit@Base 1.0.25 - sane_matsushita_get_devices@Base 1.0.25 - sane_matsushita_get_option_descriptor@Base 1.0.25 - sane_matsushita_get_parameters@Base 1.0.25 - sane_matsushita_get_select_fd@Base 1.0.25 - sane_matsushita_init@Base 1.0.25 - sane_matsushita_open@Base 1.0.25 - sane_matsushita_read@Base 1.0.25 - sane_matsushita_set_io_mode@Base 1.0.25 - sane_matsushita_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_matsushita@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek_cancel@Base 1.0.25 - sane_microtek_close@Base 1.0.25 - sane_microtek_control_option@Base 1.0.25 - sane_microtek_exit@Base 1.0.25 - sane_microtek_get_devices@Base 1.0.25 - sane_microtek_get_option_descriptor@Base 1.0.25 - sane_microtek_get_parameters@Base 1.0.25 - sane_microtek_get_select_fd@Base 1.0.25 - sane_microtek_init@Base 1.0.25 - sane_microtek_open@Base 1.0.25 - sane_microtek_read@Base 1.0.25 - sane_microtek_set_io_mode@Base 1.0.25 - sane_microtek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-microtek2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_microtek2_cancel@Base 1.0.25 - sane_microtek2_close@Base 1.0.25 - sane_microtek2_control_option@Base 1.0.25 - sane_microtek2_exit@Base 1.0.25 - sane_microtek2_get_devices@Base 1.0.25 - sane_microtek2_get_option_descriptor@Base 1.0.25 - sane_microtek2_get_parameters@Base 1.0.25 - sane_microtek2_get_select_fd@Base 1.0.25 - sane_microtek2_init@Base 1.0.25 - sane_microtek2_open@Base 1.0.25 - sane_microtek2_read@Base 1.0.25 - sane_microtek2_set_io_mode@Base 1.0.25 - sane_microtek2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_microtek2@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_cancel@Base 1.0.25 - sane_mustek_close@Base 1.0.25 - sane_mustek_control_option@Base 1.0.25 - sane_mustek_exit@Base 1.0.25 - sane_mustek_get_devices@Base 1.0.25 - sane_mustek_get_option_descriptor@Base 1.0.25 - sane_mustek_get_parameters@Base 1.0.25 - sane_mustek_get_select_fd@Base 1.0.25 - sane_mustek_init@Base 1.0.25 - sane_mustek_open@Base 1.0.25 - sane_mustek_read@Base 1.0.25 - sane_mustek_set_io_mode@Base 1.0.25 - sane_mustek_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek@Base 1.0.25 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-mustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_auth@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_pp_cancel@Base 1.0.25 - sane_mustek_pp_close@Base 1.0.25 - sane_mustek_pp_control_option@Base 1.0.25 - sane_mustek_pp_exit@Base 1.0.25 - sane_mustek_pp_get_devices@Base 1.0.25 - sane_mustek_pp_get_option_descriptor@Base 1.0.25 - sane_mustek_pp_get_parameters@Base 1.0.25 - sane_mustek_pp_get_select_fd@Base 1.0.25 - sane_mustek_pp_init@Base 1.0.25 - sane_mustek_pp_open@Base 1.0.25 - sane_mustek_pp_read@Base 1.0.25 - sane_mustek_pp_set_io_mode@Base 1.0.25 - sane_mustek_pp_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 -libsane-mustek_usb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb_cancel@Base 1.0.25 - sane_mustek_usb_close@Base 1.0.25 - sane_mustek_usb_control_option@Base 1.0.25 - sane_mustek_usb_exit@Base 1.0.25 - sane_mustek_usb_get_devices@Base 1.0.25 - sane_mustek_usb_get_option_descriptor@Base 1.0.25 - sane_mustek_usb_get_parameters@Base 1.0.25 - sane_mustek_usb_get_select_fd@Base 1.0.25 - sane_mustek_usb_init@Base 1.0.25 - sane_mustek_usb_open@Base 1.0.25 - sane_mustek_usb_read@Base 1.0.25 - sane_mustek_usb_set_io_mode@Base 1.0.25 - sane_mustek_usb_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-mustek_usb2.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_mustek_usb2_cancel@Base 1.0.25 - sane_mustek_usb2_close@Base 1.0.25 - sane_mustek_usb2_control_option@Base 1.0.25 - sane_mustek_usb2_exit@Base 1.0.25 - sane_mustek_usb2_get_devices@Base 1.0.25 - sane_mustek_usb2_get_option_descriptor@Base 1.0.25 - sane_mustek_usb2_get_parameters@Base 1.0.25 - sane_mustek_usb2_get_select_fd@Base 1.0.25 - sane_mustek_usb2_init@Base 1.0.25 - sane_mustek_usb2_open@Base 1.0.25 - sane_mustek_usb2_read@Base 1.0.25 - sane_mustek_usb2_set_io_mode@Base 1.0.25 - sane_mustek_usb2_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_mustek_usb2@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-nec.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_nec_cancel@Base 1.0.25 - sane_nec_close@Base 1.0.25 - sane_nec_control_option@Base 1.0.25 - sane_nec_exit@Base 1.0.25 - sane_nec_get_devices@Base 1.0.25 - sane_nec_get_option_descriptor@Base 1.0.25 - sane_nec_get_parameters@Base 1.0.25 - sane_nec_get_select_fd@Base 1.0.25 - sane_nec_init@Base 1.0.25 - sane_nec_open@Base 1.0.25 - sane_nec_read@Base 1.0.25 - sane_nec_set_io_mode@Base 1.0.25 - sane_nec_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_nec@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-net.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_net_cancel@Base 1.0.25 - sane_net_close@Base 1.0.25 - sane_net_control_option@Base 1.0.25 - sane_net_exit@Base 1.0.25 - sane_net_get_devices@Base 1.0.25 - sane_net_get_option_descriptor@Base 1.0.25 - sane_net_get_parameters@Base 1.0.25 - sane_net_get_select_fd@Base 1.0.25 - sane_net_init@Base 1.0.25 - sane_net_open@Base 1.0.25 - sane_net_read@Base 1.0.25 - sane_net_set_io_mode@Base 1.0.25 - sane_net_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_net@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 -libsane-niash.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_niash_cancel@Base 1.0.25 - sane_niash_close@Base 1.0.25 - sane_niash_control_option@Base 1.0.25 - sane_niash_exit@Base 1.0.25 - sane_niash_get_devices@Base 1.0.25 - sane_niash_get_option_descriptor@Base 1.0.25 - sane_niash_get_parameters@Base 1.0.25 - sane_niash_get_select_fd@Base 1.0.25 - sane_niash_init@Base 1.0.25 - sane_niash_open@Base 1.0.25 - sane_niash_read@Base 1.0.25 - sane_niash_set_io_mode@Base 1.0.25 - sane_niash_start@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_niash@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-p5.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_p5_cancel@Base 1.0.25 - sane_p5_close@Base 1.0.25 - sane_p5_control_option@Base 1.0.25 - sane_p5_exit@Base 1.0.25 - sane_p5_get_devices@Base 1.0.25 - sane_p5_get_option_descriptor@Base 1.0.25 - sane_p5_get_parameters@Base 1.0.25 - sane_p5_get_select_fd@Base 1.0.25 - sane_p5_init@Base 1.0.25 - sane_p5_open@Base 1.0.25 - sane_p5_read@Base 1.0.25 - sane_p5_set_io_mode@Base 1.0.25 - sane_p5_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_p5@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-pie.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pie_cancel@Base 1.0.25 - sane_pie_close@Base 1.0.25 - sane_pie_control_option@Base 1.0.25 - sane_pie_exit@Base 1.0.25 - sane_pie_get_devices@Base 1.0.25 - sane_pie_get_option_descriptor@Base 1.0.25 - sane_pie_get_parameters@Base 1.0.25 - sane_pie_get_select_fd@Base 1.0.25 - sane_pie_init@Base 1.0.25 - sane_pie_open@Base 1.0.25 - sane_pie_read@Base 1.0.25 - sane_pie_set_io_mode@Base 1.0.25 - sane_pie_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pie@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pieusb.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pieusb_definition_list_head@Base 1.0.25 - pieusb_supported_usb_device@Base 1.0.25 - pieusb_supported_usb_device_list@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pieusb_cancel@Base 1.0.25 - sane_pieusb_close@Base 1.0.25 - sane_pieusb_control_option@Base 1.0.25 - sane_pieusb_exit@Base 1.0.25 - sane_pieusb_get_devices@Base 1.0.25 - sane_pieusb_get_option_descriptor@Base 1.0.25 - sane_pieusb_get_parameters@Base 1.0.25 - sane_pieusb_get_select_fd@Base 1.0.25 - sane_pieusb_init@Base 1.0.25 - sane_pieusb_open@Base 1.0.25 - sane_pieusb_read@Base 1.0.25 - sane_pieusb_set_io_mode@Base 1.0.25 - sane_pieusb_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pieusb@Base 1.0.25 - sanei_debug_pieusb_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_ir@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_ir_RGB_luminance@Base 1.0.25 - sanei_ir_accumulate_norm_histo@Base 1.0.25 - sanei_ir_add_threshold@Base 1.0.25 - sanei_ir_create_norm_histo@Base 1.0.25 - sanei_ir_create_norm_histogram@Base 1.0.25 - sanei_ir_dilate@Base 1.0.25 - sanei_ir_dilate_mean@Base 1.0.25 - sanei_ir_filter_madmean@Base 1.0.25 - sanei_ir_filter_mean@Base 1.0.25 - sanei_ir_find_crop@Base 1.0.25 - sanei_ir_init@Base 1.0.25 - sanei_ir_ln_table@Base 1.0.25 - sanei_ir_manhattan_dist@Base 1.0.25 - sanei_ir_spectral_clean@Base 1.0.25 - sanei_ir_threshold_maxentropy@Base 1.0.25 - sanei_ir_threshold_otsu@Base 1.0.25 - sanei_ir_threshold_yen@Base 1.0.25 - sanei_ir_to_8bit@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pieusb_analyse_options@Base 1.0.25 - sanei_pieusb_analyze_preview@Base 1.0.25 - sanei_pieusb_buffer_create@Base 1.0.25 - sanei_pieusb_buffer_delete@Base 1.0.25 - sanei_pieusb_buffer_get@Base 1.0.25 - sanei_pieusb_buffer_put_full_color_line@Base 1.0.25 - sanei_pieusb_buffer_put_single_color_line@Base 1.0.25 - sanei_pieusb_cmd_17@Base 1.0.25 - sanei_pieusb_cmd_get_ccd_mask@Base 1.0.25 - sanei_pieusb_cmd_get_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_get_mode@Base 1.0.25 - sanei_pieusb_cmd_get_parameters@Base 1.0.25 - sanei_pieusb_cmd_get_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_get_scanned_lines@Base 1.0.25 - sanei_pieusb_cmd_get_sense@Base 1.0.25 - sanei_pieusb_cmd_get_shading_parms@Base 1.0.25 - sanei_pieusb_cmd_inquiry@Base 1.0.25 - sanei_pieusb_cmd_read_state@Base 1.0.25 - sanei_pieusb_cmd_set_exposure_time@Base 1.0.25 - sanei_pieusb_cmd_set_gain_offset@Base 1.0.25 - sanei_pieusb_cmd_set_highlight_shadow@Base 1.0.25 - sanei_pieusb_cmd_set_mode@Base 1.0.25 - sanei_pieusb_cmd_set_scan_frame@Base 1.0.25 - sanei_pieusb_cmd_set_scan_head@Base 1.0.25 - sanei_pieusb_cmd_slide@Base 1.0.25 - sanei_pieusb_cmd_start_scan@Base 1.0.25 - sanei_pieusb_cmd_stop_scan@Base 1.0.25 - sanei_pieusb_cmd_test_unit_ready@Base 1.0.25 - sanei_pieusb_command@Base 1.0.25 - sanei_pieusb_convert_status@Base 1.0.25 - sanei_pieusb_correct_shading@Base 1.0.25 - sanei_pieusb_decode_sense@Base 1.0.25 - sanei_pieusb_find_device_callback@Base 1.0.25 - sanei_pieusb_get_ccd_mask@Base 1.0.25 - sanei_pieusb_get_parameters@Base 1.0.25 - sanei_pieusb_get_scan_data@Base 1.0.25 - sanei_pieusb_get_shading_data@Base 1.0.25 - sanei_pieusb_init_options@Base 1.0.25 - sanei_pieusb_on_cancel@Base 1.0.25 - sanei_pieusb_parse_config_line@Base 1.0.25 - sanei_pieusb_post@Base 1.0.25 - sanei_pieusb_print_options@Base 1.0.25 - sanei_pieusb_set_frame_from_options@Base 1.0.25 - sanei_pieusb_set_gain_offset@Base 1.0.25 - sanei_pieusb_set_mode_from_options@Base 1.0.25 - sanei_pieusb_supported_device_list_add@Base 1.0.25 - sanei_pieusb_supported_device_list_contains@Base 1.0.25 - sanei_pieusb_usb_reset@Base 1.0.25 - sanei_pieusb_wait_ready@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-pixma.so.1 libsane1 #MINVER# - bjnp_protocol_defs@Base 1.0.25 - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - pixma_activate@Base 1.0.25 - pixma_activate_connection@Base 1.0.25 - pixma_binarize_line@Base 1.0.25 - pixma_deactivate@Base 1.0.25 - pixma_deactivate_connection@Base 1.0.25 - pixma_r_to_ir@Base 1.0.25 - pixma_rgb_to_gray@Base 1.0.25 - rewrite_uri@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pixma_cancel@Base 1.0.25 - sane_pixma_close@Base 1.0.25 - sane_pixma_control_option@Base 1.0.25 - sane_pixma_exit@Base 1.0.25 - sane_pixma_get_devices@Base 1.0.25 - sane_pixma_get_option_descriptor@Base 1.0.25 - sane_pixma_get_parameters@Base 1.0.25 - sane_pixma_get_select_fd@Base 1.0.25 - sane_pixma_init@Base 1.0.25 - sane_pixma_open@Base 1.0.25 - sane_pixma_read@Base 1.0.25 - sane_pixma_set_io_mode@Base 1.0.25 - sane_pixma_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_bjnp_activate@Base 1.0.25 - sanei_bjnp_close@Base 1.0.25 - sanei_bjnp_deactivate@Base 1.0.25 - sanei_bjnp_find_devices@Base 1.0.25 - sanei_bjnp_init@Base 1.0.25 - sanei_bjnp_open@Base 1.0.25 - sanei_bjnp_read_bulk@Base 1.0.25 - sanei_bjnp_read_int@Base 1.0.25 - sanei_bjnp_set_timeout@Base 1.0.25 - sanei_bjnp_write_bulk@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_bjnp@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pixma@Base 1.0.25 - sanei_debug_pixma_call@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pixma_cancel@Base 1.0.25 - sanei_pixma_check_dpi@Base 1.0.25 - sanei_pixma_check_result@Base 1.0.25 - sanei_pixma_check_scan_param@Base 1.0.25 - sanei_pixma_cleanup@Base 1.0.25 - sanei_pixma_close@Base 1.0.25 - sanei_pixma_cmd_transaction@Base 1.0.25 - sanei_pixma_collect_devices@Base 1.0.25 - sanei_pixma_connect@Base 1.0.25 - sanei_pixma_disconnect@Base 1.0.25 - sanei_pixma_dump@Base 1.0.25 - sanei_pixma_enable_background@Base 1.0.25 - sanei_pixma_exec@Base 1.0.25 - sanei_pixma_exec_short_cmd@Base 1.0.25 - sanei_pixma_fill_gamma_table@Base 1.0.25 - sanei_pixma_find_scanners@Base 1.0.25 - sanei_pixma_get_be16@Base 1.0.25 - sanei_pixma_get_be32@Base 1.0.25 - sanei_pixma_get_config@Base 1.0.25 - sanei_pixma_get_device_config@Base 1.0.25 - sanei_pixma_get_device_id@Base 1.0.25 - sanei_pixma_get_device_model@Base 1.0.25 - sanei_pixma_get_device_status@Base 1.0.25 - sanei_pixma_get_string@Base 1.0.25 - sanei_pixma_get_time@Base 1.0.25 - sanei_pixma_hexdump@Base 1.0.25 - sanei_pixma_iclass_devices@Base 1.0.25 - sanei_pixma_init@Base 1.0.25 - sanei_pixma_io_cleanup@Base 1.0.25 - sanei_pixma_io_init@Base 1.0.25 - sanei_pixma_map_status_errno@Base 1.0.25 - sanei_pixma_mp150_devices@Base 1.0.25 - sanei_pixma_mp730_devices@Base 1.0.25 - sanei_pixma_mp750_devices@Base 1.0.25 - sanei_pixma_mp810_devices@Base 1.0.25 - sanei_pixma_newcmd@Base 1.0.25 - sanei_pixma_open@Base 1.0.25 - sanei_pixma_read@Base 1.0.25 - sanei_pixma_read_image@Base 1.0.25 - sanei_pixma_reset_device@Base 1.0.25 - sanei_pixma_scan@Base 1.0.25 - sanei_pixma_set_be16@Base 1.0.25 - sanei_pixma_set_be32@Base 1.0.25 - sanei_pixma_set_debug_level@Base 1.0.25 - sanei_pixma_set_interrupt_mode@Base 1.0.25 - sanei_pixma_sleep@Base 1.0.25 - sanei_pixma_strerror@Base 1.0.25 - sanei_pixma_sum_bytes@Base 1.0.25 - sanei_pixma_wait_event@Base 1.0.25 - sanei_pixma_wait_interrupt@Base 1.0.25 - sanei_pixma_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_cancel@Base 1.0.25 - sane_plustek_close@Base 1.0.25 - sane_plustek_control_option@Base 1.0.25 - sane_plustek_exit@Base 1.0.25 - sane_plustek_get_devices@Base 1.0.25 - sane_plustek_get_option_descriptor@Base 1.0.25 - sane_plustek_get_parameters@Base 1.0.25 - sane_plustek_get_select_fd@Base 1.0.25 - sane_plustek_init@Base 1.0.25 - sane_plustek_open@Base 1.0.25 - sane_plustek_read@Base 1.0.25 - sane_plustek_set_io_mode@Base 1.0.25 - sane_plustek_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-plustek_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_plustek_pp_cancel@Base 1.0.25 - sane_plustek_pp_close@Base 1.0.25 - sane_plustek_pp_control_option@Base 1.0.25 - sane_plustek_pp_exit@Base 1.0.25 - sane_plustek_pp_get_devices@Base 1.0.25 - sane_plustek_pp_get_option_descriptor@Base 1.0.25 - sane_plustek_pp_get_parameters@Base 1.0.25 - sane_plustek_pp_get_select_fd@Base 1.0.25 - sane_plustek_pp_init@Base 1.0.25 - sane_plustek_pp_open@Base 1.0.25 - sane_plustek_pp_read@Base 1.0.25 - sane_plustek_pp_set_io_mode@Base 1.0.25 - sane_plustek_pp_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_plustek_pp@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-pnm.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_pnm_cancel@Base 1.0.25 - sane_pnm_close@Base 1.0.25 - sane_pnm_control_option@Base 1.0.25 - sane_pnm_exit@Base 1.0.25 - sane_pnm_get_devices@Base 1.0.25 - sane_pnm_get_option_descriptor@Base 1.0.25 - sane_pnm_get_parameters@Base 1.0.25 - sane_pnm_get_select_fd@Base 1.0.25 - sane_pnm_init@Base 1.0.25 - sane_pnm_open@Base 1.0.25 - sane_pnm_read@Base 1.0.25 - sane_pnm_set_io_mode@Base 1.0.25 - sane_pnm_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_pnm@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_init_debug@Base 1.0.25 -libsane-qcam.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_qcam_cancel@Base 1.0.25 - sane_qcam_close@Base 1.0.25 - sane_qcam_control_option@Base 1.0.25 - sane_qcam_exit@Base 1.0.25 - sane_qcam_get_devices@Base 1.0.25 - sane_qcam_get_option_descriptor@Base 1.0.25 - sane_qcam_get_parameters@Base 1.0.25 - sane_qcam_get_select_fd@Base 1.0.25 - sane_qcam_init@Base 1.0.25 - sane_qcam_open@Base 1.0.25 - sane_qcam_read@Base 1.0.25 - sane_qcam_set_io_mode@Base 1.0.25 - sane_qcam_start@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_qcam@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 -libsane-ricoh.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_ricoh_cancel@Base 1.0.25 - sane_ricoh_close@Base 1.0.25 - sane_ricoh_control_option@Base 1.0.25 - sane_ricoh_exit@Base 1.0.25 - sane_ricoh_get_devices@Base 1.0.25 - sane_ricoh_get_option_descriptor@Base 1.0.25 - sane_ricoh_get_parameters@Base 1.0.25 - sane_ricoh_get_select_fd@Base 1.0.25 - sane_ricoh_init@Base 1.0.25 - sane_ricoh_open@Base 1.0.25 - sane_ricoh_read@Base 1.0.25 - sane_ricoh_set_io_mode@Base 1.0.25 - sane_ricoh_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_ricoh@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-rts8891.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_rts8891_cancel@Base 1.0.25 - sane_rts8891_close@Base 1.0.25 - sane_rts8891_control_option@Base 1.0.25 - sane_rts8891_exit@Base 1.0.25 - sane_rts8891_get_devices@Base 1.0.25 - sane_rts8891_get_option_descriptor@Base 1.0.25 - sane_rts8891_get_parameters@Base 1.0.25 - sane_rts8891_get_select_fd@Base 1.0.25 - sane_rts8891_init@Base 1.0.25 - sane_rts8891_open@Base 1.0.25 - sane_rts8891_read@Base 1.0.25 - sane_rts8891_set_io_mode@Base 1.0.25 - sane_rts8891_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_rts8891@Base 1.0.25 - sanei_debug_rts88xx_lib@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_rts88xx_cancel@Base 1.0.25 - sanei_rts88xx_data_count@Base 1.0.25 - sanei_rts88xx_get_lamp_status@Base 1.0.25 - sanei_rts88xx_get_lcd@Base 1.0.25 - sanei_rts88xx_get_mem@Base 1.0.25 - sanei_rts88xx_get_status@Base 1.0.25 - sanei_rts88xx_is_color@Base 1.0.25 - sanei_rts88xx_lib_init@Base 1.0.25 - sanei_rts88xx_nvram_ctrl@Base 1.0.25 - sanei_rts88xx_read_data@Base 1.0.25 - sanei_rts88xx_read_mem@Base 1.0.25 - sanei_rts88xx_read_reg@Base 1.0.25 - sanei_rts88xx_read_regs@Base 1.0.25 - sanei_rts88xx_reset_lamp@Base 1.0.25 - sanei_rts88xx_set_color_scan@Base 1.0.25 - sanei_rts88xx_set_gain@Base 1.0.25 - sanei_rts88xx_set_gray_scan@Base 1.0.25 - sanei_rts88xx_set_mem@Base 1.0.25 - sanei_rts88xx_set_offset@Base 1.0.25 - sanei_rts88xx_set_scan_area@Base 1.0.25 - sanei_rts88xx_set_scan_frequency@Base 1.0.25 - sanei_rts88xx_set_status@Base 1.0.25 - sanei_rts88xx_setup_nvram@Base 1.0.25 - sanei_rts88xx_wait_data@Base 1.0.25 - sanei_rts88xx_write_control@Base 1.0.25 - sanei_rts88xx_write_mem@Base 1.0.25 - sanei_rts88xx_write_reg@Base 1.0.25 - sanei_rts88xx_write_regs@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-s9036.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_s9036_cancel@Base 1.0.25 - sane_s9036_close@Base 1.0.25 - sane_s9036_control_option@Base 1.0.25 - sane_s9036_exit@Base 1.0.25 - sane_s9036_get_devices@Base 1.0.25 - sane_s9036_get_option_descriptor@Base 1.0.25 - sane_s9036_get_parameters@Base 1.0.25 - sane_s9036_get_select_fd@Base 1.0.25 - sane_s9036_init@Base 1.0.25 - sane_s9036_open@Base 1.0.25 - sane_s9036_read@Base 1.0.25 - sane_s9036_set_io_mode@Base 1.0.25 - sane_s9036_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_s9036@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sceptre.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_sceptre_cancel@Base 1.0.25 - sane_sceptre_close@Base 1.0.25 - sane_sceptre_control_option@Base 1.0.25 - sane_sceptre_exit@Base 1.0.25 - sane_sceptre_get_devices@Base 1.0.25 - sane_sceptre_get_option_descriptor@Base 1.0.25 - sane_sceptre_get_parameters@Base 1.0.25 - sane_sceptre_get_select_fd@Base 1.0.25 - sane_sceptre_init@Base 1.0.25 - sane_sceptre_open@Base 1.0.25 - sane_sceptre_read@Base 1.0.25 - sane_sceptre_set_io_mode@Base 1.0.25 - sane_sceptre_start@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sceptre@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sharp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sharp_cancel@Base 1.0.25 - sane_sharp_close@Base 1.0.25 - sane_sharp_control_option@Base 1.0.25 - sane_sharp_exit@Base 1.0.25 - sane_sharp_get_devices@Base 1.0.25 - sane_sharp_get_option_descriptor@Base 1.0.25 - sane_sharp_get_parameters@Base 1.0.25 - sane_sharp_get_select_fd@Base 1.0.25 - sane_sharp_init@Base 1.0.25 - sane_sharp_open@Base 1.0.25 - sane_sharp_read@Base 1.0.25 - sane_sharp_set_io_mode@Base 1.0.25 - sane_sharp_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sharp@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-sm3600.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3600_cancel@Base 1.0.25 - sane_sm3600_close@Base 1.0.25 - sane_sm3600_control_option@Base 1.0.25 - sane_sm3600_exit@Base 1.0.25 - sane_sm3600_get_devices@Base 1.0.25 - sane_sm3600_get_option_descriptor@Base 1.0.25 - sane_sm3600_get_parameters@Base 1.0.25 - sane_sm3600_get_select_fd@Base 1.0.25 - sane_sm3600_init@Base 1.0.25 - sane_sm3600_open@Base 1.0.25 - sane_sm3600_read@Base 1.0.25 - sane_sm3600_set_io_mode@Base 1.0.25 - sane_sm3600_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3600@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sm3840.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sm3840_cancel@Base 1.0.25 - sane_sm3840_close@Base 1.0.25 - sane_sm3840_control_option@Base 1.0.25 - sane_sm3840_exit@Base 1.0.25 - sane_sm3840_get_devices@Base 1.0.25 - sane_sm3840_get_option_descriptor@Base 1.0.25 - sane_sm3840_get_parameters@Base 1.0.25 - sane_sm3840_get_select_fd@Base 1.0.25 - sane_sm3840_init@Base 1.0.25 - sane_sm3840_open@Base 1.0.25 - sane_sm3840_read@Base 1.0.25 - sane_sm3840_set_io_mode@Base 1.0.25 - sane_sm3840_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sm3840@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-snapscan.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_snapscan_cancel@Base 1.0.25 - sane_snapscan_close@Base 1.0.25 - sane_snapscan_control_option@Base 1.0.25 - sane_snapscan_exit@Base 1.0.25 - sane_snapscan_get_devices@Base 1.0.25 - sane_snapscan_get_option_descriptor@Base 1.0.25 - sane_snapscan_get_parameters@Base 1.0.25 - sane_snapscan_get_select_fd@Base 1.0.25 - sane_snapscan_init@Base 1.0.25 - sane_snapscan_open@Base 1.0.25 - sane_snapscan_read@Base 1.0.25 - sane_snapscan_set_io_mode@Base 1.0.25 - sane_snapscan_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_snapscan@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-sp15c.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_sp15c_cancel@Base 1.0.25 - sane_sp15c_close@Base 1.0.25 - sane_sp15c_control_option@Base 1.0.25 - sane_sp15c_exit@Base 1.0.25 - sane_sp15c_get_devices@Base 1.0.25 - sane_sp15c_get_option_descriptor@Base 1.0.25 - sane_sp15c_get_parameters@Base 1.0.25 - sane_sp15c_get_select_fd@Base 1.0.25 - sane_sp15c_init@Base 1.0.25 - sane_sp15c_open@Base 1.0.25 - sane_sp15c_read@Base 1.0.25 - sane_sp15c_set_io_mode@Base 1.0.25 - sane_sp15c_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sp15c@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-st400.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_st400_cancel@Base 1.0.25 - sane_st400_close@Base 1.0.25 - sane_st400_control_option@Base 1.0.25 - sane_st400_exit@Base 1.0.25 - sane_st400_get_devices@Base 1.0.25 - sane_st400_get_option_descriptor@Base 1.0.25 - sane_st400_get_parameters@Base 1.0.25 - sane_st400_get_select_fd@Base 1.0.25 - sane_st400_init@Base 1.0.25 - sane_st400_open@Base 1.0.25 - sane_st400_read@Base 1.0.25 - sane_st400_set_io_mode@Base 1.0.25 - sane_st400_start@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_st400@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-stv680.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_stv680_cancel@Base 1.0.25 - sane_stv680_close@Base 1.0.25 - sane_stv680_control_option@Base 1.0.25 - sane_stv680_exit@Base 1.0.25 - sane_stv680_get_devices@Base 1.0.25 - sane_stv680_get_option_descriptor@Base 1.0.25 - sane_stv680_get_parameters@Base 1.0.25 - sane_stv680_get_select_fd@Base 1.0.25 - sane_stv680_init@Base 1.0.25 - sane_stv680_open@Base 1.0.25 - sane_stv680_read@Base 1.0.25 - sane_stv680_set_io_mode@Base 1.0.25 - sane_stv680_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_stv680@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-tamarack.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_tamarack_cancel@Base 1.0.25 - sane_tamarack_close@Base 1.0.25 - sane_tamarack_control_option@Base 1.0.25 - sane_tamarack_exit@Base 1.0.25 - sane_tamarack_get_devices@Base 1.0.25 - sane_tamarack_get_option_descriptor@Base 1.0.25 - sane_tamarack_get_parameters@Base 1.0.25 - sane_tamarack_get_select_fd@Base 1.0.25 - sane_tamarack_init@Base 1.0.25 - sane_tamarack_open@Base 1.0.25 - sane_tamarack_read@Base 1.0.25 - sane_tamarack_set_io_mode@Base 1.0.25 - sane_tamarack_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_tamarack@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-teco1.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco1_cancel@Base 1.0.25 - sane_teco1_close@Base 1.0.25 - sane_teco1_control_option@Base 1.0.25 - sane_teco1_exit@Base 1.0.25 - sane_teco1_get_devices@Base 1.0.25 - sane_teco1_get_option_descriptor@Base 1.0.25 - sane_teco1_get_parameters@Base 1.0.25 - sane_teco1_get_select_fd@Base 1.0.25 - sane_teco1_init@Base 1.0.25 - sane_teco1_open@Base 1.0.25 - sane_teco1_read@Base 1.0.25 - sane_teco1_set_io_mode@Base 1.0.25 - sane_teco1_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco1@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco2.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco2_cancel@Base 1.0.25 - sane_teco2_close@Base 1.0.25 - sane_teco2_control_option@Base 1.0.25 - sane_teco2_exit@Base 1.0.25 - sane_teco2_get_devices@Base 1.0.25 - sane_teco2_get_option_descriptor@Base 1.0.25 - sane_teco2_get_parameters@Base 1.0.25 - sane_teco2_get_select_fd@Base 1.0.25 - sane_teco2_init@Base 1.0.25 - sane_teco2_open@Base 1.0.25 - sane_teco2_read@Base 1.0.25 - sane_teco2_set_io_mode@Base 1.0.25 - sane_teco2_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco2@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-teco3.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_teco3_cancel@Base 1.0.25 - sane_teco3_close@Base 1.0.25 - sane_teco3_control_option@Base 1.0.25 - sane_teco3_exit@Base 1.0.25 - sane_teco3_get_devices@Base 1.0.25 - sane_teco3_get_option_descriptor@Base 1.0.25 - sane_teco3_get_parameters@Base 1.0.25 - sane_teco3_get_select_fd@Base 1.0.25 - sane_teco3_init@Base 1.0.25 - sane_teco3_open@Base 1.0.25 - sane_teco3_read@Base 1.0.25 - sane_teco3_set_io_mode@Base 1.0.25 - sane_teco3_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_teco3@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 -libsane-test.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_test_cancel@Base 1.0.25 - sane_test_close@Base 1.0.25 - sane_test_control_option@Base 1.0.25 - sane_test_exit@Base 1.0.25 - sane_test_get_devices@Base 1.0.25 - sane_test_get_option_descriptor@Base 1.0.25 - sane_test_get_parameters@Base 1.0.25 - sane_test_get_select_fd@Base 1.0.25 - sane_test_init@Base 1.0.25 - sane_test_open@Base 1.0.25 - sane_test_read@Base 1.0.25 - sane_test_set_io_mode@Base 1.0.25 - sane_test_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_test@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 -libsane-u12.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_u12_cancel@Base 1.0.25 - sane_u12_close@Base 1.0.25 - sane_u12_control_option@Base 1.0.25 - sane_u12_exit@Base 1.0.25 - sane_u12_get_devices@Base 1.0.25 - sane_u12_get_option_descriptor@Base 1.0.25 - sane_u12_get_parameters@Base 1.0.25 - sane_u12_get_select_fd@Base 1.0.25 - sane_u12_init@Base 1.0.25 - sane_u12_open@Base 1.0.25 - sane_u12_read@Base 1.0.25 - sane_u12_set_io_mode@Base 1.0.25 - sane_u12_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_u12@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_cancel@Base 1.0.25 - sane_umax_close@Base 1.0.25 - sane_umax_control_option@Base 1.0.25 - sane_umax_exit@Base 1.0.25 - sane_umax_get_devices@Base 1.0.25 - sane_umax_get_option_descriptor@Base 1.0.25 - sane_umax_get_parameters@Base 1.0.25 - sane_umax_get_select_fd@Base 1.0.25 - sane_umax_init@Base 1.0.25 - sane_umax_open@Base 1.0.25 - sane_umax_read@Base 1.0.25 - sane_umax_set_io_mode@Base 1.0.25 - sane_umax_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax1220u.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax1220u_cancel@Base 1.0.25 - sane_umax1220u_close@Base 1.0.25 - sane_umax1220u_control_option@Base 1.0.25 - sane_umax1220u_exit@Base 1.0.25 - sane_umax1220u_get_devices@Base 1.0.25 - sane_umax1220u_get_option_descriptor@Base 1.0.25 - sane_umax1220u_get_parameters@Base 1.0.25 - sane_umax1220u_get_select_fd@Base 1.0.25 - sane_umax1220u_init@Base 1.0.25 - sane_umax1220u_open@Base 1.0.25 - sane_umax1220u_read@Base 1.0.25 - sane_umax1220u_set_io_mode@Base 1.0.25 - sane_umax1220u_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_umax1220u@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 -libsane-umax_pp.so.1 libsane1 #MINVER# - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_umax_pp_cancel@Base 1.0.25 - sane_umax_pp_close@Base 1.0.25 - sane_umax_pp_control_option@Base 1.0.25 - sane_umax_pp_exit@Base 1.0.25 - sane_umax_pp_get_devices@Base 1.0.25 - sane_umax_pp_get_option_descriptor@Base 1.0.25 - sane_umax_pp_get_parameters@Base 1.0.25 - sane_umax_pp_get_select_fd@Base 1.0.25 - sane_umax_pp_init@Base 1.0.25 - sane_umax_pp_open@Base 1.0.25 - sane_umax_pp_read@Base 1.0.25 - sane_umax_pp_set_io_mode@Base 1.0.25 - sane_umax_pp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_umax_pp@Base 1.0.25 - sanei_debug_umax_pp_call@Base 1.0.25 - sanei_debug_umax_pp_low@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_parport_find_device@Base 1.0.25 - sanei_parport_find_port@Base 1.0.25 - sanei_umax_pp_UTA@Base 1.0.25 - sanei_umax_pp_attach@Base 1.0.25 - sanei_umax_pp_cancel@Base 1.0.25 - sanei_umax_pp_checkModel@Base 1.0.25 - sanei_umax_pp_close@Base 1.0.25 - sanei_umax_pp_cmdSync@Base 1.0.25 - sanei_umax_pp_endSession@Base 1.0.25 - sanei_umax_pp_gamma@Base 1.0.25 - sanei_umax_pp_getLeft@Base 1.0.25 - sanei_umax_pp_getastra@Base 1.0.25 - sanei_umax_pp_getauto@Base 1.0.25 - sanei_umax_pp_getfull@Base 1.0.25 - sanei_umax_pp_getparport@Base 1.0.25 - sanei_umax_pp_getport@Base 1.0.25 - sanei_umax_pp_initPort@Base 1.0.25 - sanei_umax_pp_initScanner@Base 1.0.25 - sanei_umax_pp_initTransport@Base 1.0.25 - sanei_umax_pp_lamp@Base 1.0.25 - sanei_umax_pp_model@Base 1.0.25 - sanei_umax_pp_open@Base 1.0.25 - sanei_umax_pp_park@Base 1.0.25 - sanei_umax_pp_parkWait@Base 1.0.25 - sanei_umax_pp_probeScanner@Base 1.0.25 - sanei_umax_pp_read@Base 1.0.25 - sanei_umax_pp_readBlock@Base 1.0.25 - sanei_umax_pp_scan@Base 1.0.25 - sanei_umax_pp_scannerStatus@Base 1.0.25 - sanei_umax_pp_setLamp@Base 1.0.25 - sanei_umax_pp_setLeft@Base 1.0.25 - sanei_umax_pp_setastra@Base 1.0.25 - sanei_umax_pp_setauto@Base 1.0.25 - sanei_umax_pp_setfull@Base 1.0.25 - sanei_umax_pp_setparport@Base 1.0.25 - sanei_umax_pp_setport@Base 1.0.25 - sanei_umax_pp_start@Base 1.0.25 - sanei_umax_pp_startScan@Base 1.0.25 - sanei_umax_pp_status@Base 1.0.25 -libsane-xerox_mfp.so.1 libsane1 #MINVER# - available_transports@Base 1.0.25 - cmsg@Base 1.0.25 - encTmpFileName@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - ret_cancel@Base 1.0.25 - sane_cancel@Base 1.0.25 - sane_close@Base 1.0.25 - sane_control_option@Base 1.0.25 - sane_exit@Base 1.0.25 - sane_get_devices@Base 1.0.25 - sane_get_option_descriptor@Base 1.0.25 - sane_get_parameters@Base 1.0.25 - sane_get_select_fd@Base 1.0.25 - sane_init@Base 1.0.25 - sane_open@Base 1.0.25 - sane_read@Base 1.0.25 - sane_set_io_mode@Base 1.0.25 - sane_start@Base 1.0.25 - sane_strstatus@Base 1.0.25 - sane_xerox_mfp_cancel@Base 1.0.25 - sane_xerox_mfp_close@Base 1.0.25 - sane_xerox_mfp_control_option@Base 1.0.25 - sane_xerox_mfp_exit@Base 1.0.25 - sane_xerox_mfp_get_devices@Base 1.0.25 - sane_xerox_mfp_get_option_descriptor@Base 1.0.25 - sane_xerox_mfp_get_parameters@Base 1.0.25 - sane_xerox_mfp_get_select_fd@Base 1.0.25 - sane_xerox_mfp_init@Base 1.0.25 - sane_xerox_mfp_open@Base 1.0.25 - sane_xerox_mfp_read@Base 1.0.25 - sane_xerox_mfp_set_io_mode@Base 1.0.25 - sane_xerox_mfp_start@Base 1.0.25 - sanei_check_value@Base 1.0.25 - sanei_config_get_paths@Base 1.0.25 - sanei_config_get_string@Base 1.0.25 - sanei_config_open@Base 1.0.25 - sanei_config_read@Base 1.0.25 - sanei_config_skip_whitespace@Base 1.0.25 - sanei_configure_attach@Base 1.0.25 - sanei_constrain_value@Base 1.0.25 - sanei_debug_msg@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.25 - sanei_debug_sanei_debug@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_xerox_mfp@Base 1.0.25 - sanei_debug_xerox_mfp_call@Base 1.0.25 - sanei_init_debug@Base 1.0.25 - sanei_jpeg_jinit_write_ppm@Base 1.0.27 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - tcp_configure_device@Base 1.0.25 - tcp_dev_close@Base 1.0.25 - tcp_dev_open@Base 1.0.25 - tcp_dev_request@Base 1.0.25 - usb_configure_device@Base 1.0.25 - usb_dev_close@Base 1.0.25 - usb_dev_open@Base 1.0.25 - usb_dev_request@Base 1.0.25 -libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.25 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.24 - sane_close@Base 1.0.24 - sane_control_option@Base 1.0.24 - sane_dll_cancel@Base 1.0.25 - sane_dll_close@Base 1.0.25 - sane_dll_control_option@Base 1.0.25 - sane_dll_exit@Base 1.0.25 - sane_dll_get_devices@Base 1.0.25 - sane_dll_get_option_descriptor@Base 1.0.25 - sane_dll_get_parameters@Base 1.0.25 - sane_dll_get_select_fd@Base 1.0.25 - sane_dll_init@Base 1.0.25 - sane_dll_open@Base 1.0.25 - sane_dll_read@Base 1.0.25 - sane_dll_set_io_mode@Base 1.0.25 - sane_dll_start@Base 1.0.25 - sane_exit@Base 1.0.24 - sane_get_devices@Base 1.0.24 - sane_get_option_descriptor@Base 1.0.24 - sane_get_parameters@Base 1.0.24 - sane_get_select_fd@Base 1.0.24 - sane_init@Base 1.0.24 - sane_open@Base 1.0.24 - sane_read@Base 1.0.24 - sane_set_io_mode@Base 1.0.24 - sane_start@Base 1.0.24 - sane_strstatus@Base 1.0.24 - sanei_ab306_close@Base 1.0.25 - sanei_ab306_cmd@Base 1.0.25 - sanei_ab306_exit@Base 1.0.25 - sanei_ab306_get_io_privilege@Base 1.0.25 - sanei_ab306_open@Base 1.0.25 - sanei_ab306_rdata@Base 1.0.25 - sanei_ab306_test_ready@Base 1.0.25 - sanei_access_init@Base 1.0.25 - sanei_access_lock@Base 1.0.25 - sanei_access_unlock@Base 1.0.25 - sanei_check_value@Base 1.0.24 - sanei_codec_bin_init@Base 1.0.25 - sanei_config_attach_matching_devices@Base 1.0.25 - sanei_config_get_paths@Base 1.0.24 - sanei_config_get_string@Base 1.0.24 - sanei_config_open@Base 1.0.24 - sanei_config_read@Base 1.0.24 - sanei_config_skip_whitespace@Base 1.0.24 - sanei_configure_attach@Base 1.0.24 - sanei_constrain_value@Base 1.0.24 - sanei_debug_dll@Base 1.0.25 - sanei_debug_msg@Base 1.0.24 - sanei_debug_sanei_ab306@Base 1.0.25 - sanei_debug_sanei_access@Base 1.0.25 - sanei_debug_sanei_config@Base 1.0.24 - sanei_debug_sanei_debug@Base 1.0.24 - sanei_debug_sanei_lm983x@Base 1.0.25 - sanei_debug_sanei_magic@Base 1.0.25 - sanei_debug_sanei_pa4s2@Base 1.0.25 - sanei_debug_sanei_pio@Base 1.0.25 - sanei_debug_sanei_pp@Base 1.0.25 - sanei_debug_sanei_pv8630@Base 1.0.25 - sanei_debug_sanei_scsi@Base 1.0.25 - sanei_debug_sanei_tcp@Base 1.0.25 - sanei_debug_sanei_thread@Base 1.0.25 - sanei_debug_sanei_udp@Base 1.0.25 - sanei_debug_sanei_usb@Base 1.0.25 - sanei_debug_sanei_wire@Base 1.0.25 - sanei_init_debug@Base 1.0.24 - sanei_lm983x_init@Base 1.0.25 - sanei_lm983x_read@Base 1.0.25 - sanei_lm983x_reset@Base 1.0.25 - sanei_lm983x_write@Base 1.0.25 - sanei_lm983x_write_byte@Base 1.0.25 - sanei_magic_crop@Base 1.0.25 - sanei_magic_despeck@Base 1.0.25 - sanei_magic_findEdges@Base 1.0.25 - sanei_magic_findSkew@Base 1.0.25 - sanei_magic_findTurn@Base 1.0.25 - sanei_magic_getTransX@Base 1.0.25 - sanei_magic_getTransY@Base 1.0.25 - sanei_magic_init@Base 1.0.25 - sanei_magic_isBlank2@Base 1.0.25 - sanei_magic_isBlank@Base 1.0.25 - sanei_magic_rotate@Base 1.0.25 - sanei_magic_turn@Base 1.0.25 - sanei_pa4s2_close@Base 1.0.25 - sanei_pa4s2_devices@Base 1.0.25 - sanei_pa4s2_enable@Base 1.0.25 - sanei_pa4s2_open@Base 1.0.25 - sanei_pa4s2_options@Base 1.0.25 - sanei_pa4s2_readbegin@Base 1.0.25 - sanei_pa4s2_readbyte@Base 1.0.25 - sanei_pa4s2_readend@Base 1.0.25 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.25 - sanei_pa4s2_scsi_pp_open@Base 1.0.25 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25 - sanei_pa4s2_writebyte@Base 1.0.25 - sanei_pio_close@Base 1.0.25 - sanei_pio_open@Base 1.0.25 - sanei_pio_read@Base 1.0.25 - sanei_pio_write@Base 1.0.25 - sanei_pp_claim@Base 1.0.25 - sanei_pp_close@Base 1.0.25 - sanei_pp_getmodes@Base 1.0.25 - sanei_pp_inb_ctrl@Base 1.0.25 - sanei_pp_inb_data@Base 1.0.25 - sanei_pp_inb_epp@Base 1.0.25 - sanei_pp_inb_stat@Base 1.0.25 - sanei_pp_init@Base 1.0.25 - sanei_pp_open@Base 1.0.25 - sanei_pp_outb_addr@Base 1.0.25 - sanei_pp_outb_ctrl@Base 1.0.25 - sanei_pp_outb_data@Base 1.0.25 - sanei_pp_outb_epp@Base 1.0.25 - sanei_pp_release@Base 1.0.25 - sanei_pp_set_datadir@Base 1.0.25 - sanei_pp_setmode@Base 1.0.25 - sanei_pp_udelay@Base 1.0.25 - sanei_pp_uses_directio@Base 1.0.25 - sanei_pv8630_bulkread@Base 1.0.25 - sanei_pv8630_bulkwrite@Base 1.0.25 - sanei_pv8630_flush_buffer@Base 1.0.25 - sanei_pv8630_init@Base 1.0.25 - sanei_pv8630_prep_bulkread@Base 1.0.25 - sanei_pv8630_prep_bulkwrite@Base 1.0.25 - sanei_pv8630_read_byte@Base 1.0.25 - sanei_pv8630_wait_byte@Base 1.0.25 - sanei_pv8630_write_byte@Base 1.0.25 - sanei_pv8630_xpect_byte@Base 1.0.25 - sanei_scsi_close@Base 1.0.25 - sanei_scsi_cmd2@Base 1.0.25 - sanei_scsi_cmd@Base 1.0.25 - sanei_scsi_find_devices@Base 1.0.25 - sanei_scsi_max_request_size@Base 1.0.25 - sanei_scsi_open@Base 1.0.25 - sanei_scsi_open_extended@Base 1.0.25 - sanei_scsi_req_enter2@Base 1.0.25 - sanei_scsi_req_enter@Base 1.0.25 - sanei_scsi_req_flush_all@Base 1.0.25 - sanei_scsi_req_flush_all_extended@Base 1.0.25 - sanei_scsi_req_wait@Base 1.0.25 - sanei_tcp_close@Base 1.0.25 - sanei_tcp_open@Base 1.0.25 - sanei_tcp_read@Base 1.0.25 - sanei_tcp_write@Base 1.0.25 - sanei_thread_begin@Base 1.0.25 - sanei_thread_get_status@Base 1.0.25 - sanei_thread_init@Base 1.0.25 - sanei_thread_is_forked@Base 1.0.25 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.25 - sanei_thread_sendsig@Base 1.0.25 - sanei_thread_waitpid@Base 1.0.25 - sanei_udp_close@Base 1.0.25 - sanei_udp_open@Base 1.0.25 - sanei_udp_open_broadcast@Base 1.0.25 - sanei_udp_read@Base 1.0.25 - sanei_udp_recvfrom@Base 1.0.25 - sanei_udp_set_nonblock@Base 1.0.25 - sanei_udp_write@Base 1.0.25 - sanei_udp_write_broadcast@Base 1.0.25 - sanei_usb_attach_matching_devices@Base 1.0.25 - sanei_usb_claim_interface@Base 1.0.25 - sanei_usb_clear_halt@Base 1.0.25 - sanei_usb_close@Base 1.0.25 - sanei_usb_control_msg@Base 1.0.25 - sanei_usb_exit@Base 1.0.25 - sanei_usb_find_devices@Base 1.0.25 - sanei_usb_get_descriptor@Base 1.0.25 - sanei_usb_get_endpoint@Base 1.0.25 - sanei_usb_get_vendor_product@Base 1.0.25 - sanei_usb_get_vendor_product_byname@Base 1.0.25 - sanei_usb_init@Base 1.0.25 - sanei_usb_open@Base 1.0.25 - sanei_usb_read_bulk@Base 1.0.25 - sanei_usb_read_int@Base 1.0.25 - sanei_usb_release_interface@Base 1.0.25 - sanei_usb_reset@Base 1.0.25 - sanei_usb_scan_devices@Base 1.0.25 - sanei_usb_set_altinterface@Base 1.0.25 - sanei_usb_set_configuration@Base 1.0.25 - sanei_usb_set_endpoint@Base 1.0.25 - sanei_usb_set_timeout@Base 1.0.25 - sanei_usb_write_bulk@Base 1.0.25 - sanei_w_action@Base 1.0.25 - sanei_w_array@Base 1.0.25 - sanei_w_authorization_req@Base 1.0.25 - sanei_w_bool@Base 1.0.25 - sanei_w_byte@Base 1.0.25 - sanei_w_call@Base 1.0.25 - sanei_w_char@Base 1.0.25 - sanei_w_constraint_type@Base 1.0.25 - sanei_w_control_option_reply@Base 1.0.25 - sanei_w_control_option_req@Base 1.0.25 - sanei_w_device@Base 1.0.25 - sanei_w_device_ptr@Base 1.0.25 - sanei_w_exit@Base 1.0.25 - sanei_w_frame@Base 1.0.25 - sanei_w_free@Base 1.0.25 - sanei_w_get_devices_reply@Base 1.0.25 - sanei_w_get_parameters_reply@Base 1.0.25 - sanei_w_init@Base 1.0.25 - sanei_w_init_reply@Base 1.0.25 - sanei_w_init_req@Base 1.0.25 - sanei_w_open_reply@Base 1.0.25 - sanei_w_option_descriptor@Base 1.0.25 - sanei_w_option_descriptor_array@Base 1.0.25 - sanei_w_option_descriptor_ptr@Base 1.0.25 - sanei_w_parameters@Base 1.0.25 - sanei_w_ptr@Base 1.0.25 - sanei_w_range@Base 1.0.25 - sanei_w_reply@Base 1.0.25 - sanei_w_set_dir@Base 1.0.25 - sanei_w_space@Base 1.0.25 - sanei_w_start_reply@Base 1.0.25 - sanei_w_status@Base 1.0.25 - sanei_w_string@Base 1.0.25 - sanei_w_unit@Base 1.0.25 - sanei_w_value_type@Base 1.0.25 - sanei_w_void@Base 1.0.25 - sanei_w_word@Base 1.0.25 diff --git a/debian/rules b/debian/rules index 1b57478..05d8b98 100755 --- a/debian/rules +++ b/debian/rules @@ -58,7 +58,7 @@ override_dh_auto_clean: $(RM) include/byteorder.h include/_stdint.h # Add here commands to clean up after the build process. [ ! -f Makefile ] || $(MAKE) distclean - $(RM) debian/libsane.udev + $(RM) debian/libsane1.udev dh_auto_clean override_dh_auto_install-arch: @@ -113,9 +113,9 @@ override_dh_installudev-arch: ifeq (linux,$(DEB_HOST_ARCH_OS)) # udev support # Generate the udev rules file - $(CURDIR)/tools/sane-desc -s $(CURDIR)/doc/descriptions -m udev+hwdb > $(CURDIR)/debian/libsane.udev + $(CURDIR)/tools/sane-desc -s $(CURDIR)/doc/descriptions -m udev+hwdb > $(CURDIR)/debian/libsane1.udev $(CURDIR)/tools/sane-desc -s $(CURDIR)/doc/descriptions -m hwdb > $(CURDIR)/debian/20-sane.hwdb - cp $(CURDIR)/debian/20-sane.hwdb $(CURDIR)/debian/libsane/lib/udev/hwdb.d/ + cp $(CURDIR)/debian/20-sane.hwdb $(CURDIR)/debian/libsane1/lib/udev/hwdb.d/ dh_installudev endif @@ -132,4 +132,4 @@ override_dh_installsystemd-arch: dh_installsystemd -psane-utils --no-enable --name=saned@ override_dh_makeshlibs-arch: - dh_makeshlibs --exclude=/sane/ -- -v$(DEB_VERSION_UPSTREAM) -Pdebian/libsane -plibsane + dh_makeshlibs --exclude=/sane/ -- -v$(DEB_VERSION_UPSTREAM) -Pdebian/libsane1 -plibsane1 -- cgit v1.2.3 From e3843a9e77c42013364f736b8e0abd44b942643d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 28 Apr 2019 12:37:18 +0200 Subject: Refresh d/patches/0100-source_spelling.patch; New d/*.lintian-overrides --- debian/changelog | 3 +++ debian/libsane-common.lintian-overrides | 6 ++++++ debian/libsane.install | 2 +- debian/libsane1.dirs | 1 - debian/libsane1.install | 2 +- debian/libsane1.lintian-overrides | 6 ++++++ debian/patches/0100-source_spelling.patch | 19 ++++++++++++++++++- 7 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 debian/libsane-common.lintian-overrides create mode 100644 debian/libsane1.lintian-overrides diff --git a/debian/changelog b/debian/changelog index 8ff01c8..784f47a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -24,6 +24,9 @@ sane-backends (1.0.27-4~experimental1) UNRELEASED; urgency=medium - debian/control: rename package libsane to libsane1. - debian/rules: Change filenames and directories from libsane to libsane1. - Rename debian/99-libsane.rules to debian/99-libsane1.rules. + * Refresh debian/patches/0100-source_spelling.patch. + * New debian/libsane-common.lintian-overrides and + debian/libsane1.lintian-overrides to override false positive spelling-error. -- Jörg Frings-Fürst Wed, 07 Nov 2018 13:21:48 +0100 diff --git a/debian/libsane-common.lintian-overrides b/debian/libsane-common.lintian-overrides new file mode 100644 index 0000000..1386138 --- /dev/null +++ b/debian/libsane-common.lintian-overrides @@ -0,0 +1,6 @@ +# +# doc/gt68xx/gt68xx.CHANGES:442:- Added "afe" option for gt68xx.conf for selecting default afe values. +# +libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-gt68xx.5.gz afe safe +libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-gt68xx.5.gz afe safe +libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-gt68xx.5.gz afe safe diff --git a/debian/libsane.install b/debian/libsane.install index ce0868c..f0d7a75 100644 --- a/debian/libsane.install +++ b/debian/libsane.install @@ -1,3 +1,3 @@ usr/lib/*/*.so.* usr/lib/*/sane/*.so.* -debian/99-libsane.rules /etc/udev/rules.d/ +debian/99-libsane.rules /lib/udev/rules.d/ diff --git a/debian/libsane1.dirs b/debian/libsane1.dirs index 863867a..ad3a3cc 100644 --- a/debian/libsane1.dirs +++ b/debian/libsane1.dirs @@ -1,2 +1 @@ /lib/udev/hwdb.d/ -/etc/udev/rules.d/ diff --git a/debian/libsane1.install b/debian/libsane1.install index 2b6aa59..ba37095 100644 --- a/debian/libsane1.install +++ b/debian/libsane1.install @@ -1,3 +1,3 @@ usr/lib/*/*.so.* usr/lib/*/sane/*.so.* -debian/99-libsane1.rules /etc/udev/rules.d/ +debian/99-libsane1.rules /lib/udev/rules.d/ diff --git a/debian/libsane1.lintian-overrides b/debian/libsane1.lintian-overrides new file mode 100644 index 0000000..125b615 --- /dev/null +++ b/debian/libsane1.lintian-overrides @@ -0,0 +1,6 @@ +# +# doc/gt68xx/gt68xx.CHANGES:442:- Added "afe" option for gt68xx.conf for selecting default afe values. +# +libsane1: spelling-error-in-binary usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1.0.27 afe safe +libsane1: spelling-error-in-binary usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1.0.27 afe safe +libsane1: spelling-error-in-binary usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1.0.27 afe safe diff --git a/debian/patches/0100-source_spelling.patch b/debian/patches/0100-source_spelling.patch index 1d26086..7e638f2 100644 --- a/debian/patches/0100-source_spelling.patch +++ b/debian/patches/0100-source_spelling.patch @@ -1,6 +1,6 @@ Description: Correct source typos Author: Jörg Frings-Fürst -Last-Update: 2018-05-19 +Last-Update: 2019-04-28 ---- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ Index: trunk/backend/pixma_bjnp.c @@ -165,3 +165,20 @@ Index: trunk/backend/apple.c s->opt[OPT_VOLT_REF].type = SANE_TYPE_BOOL; if (s->hw->ScannerModel!=COLORONESCANNER) s->opt[OPT_VOLT_REF].cap |= SANE_CAP_INACTIVE; +Index: trunk/tools/umax_pp.c +=================================================================== +--- trunk.orig/tools/umax_pp.c ++++ trunk/tools/umax_pp.c +@@ -370,10 +370,10 @@ main (int argc, char **argv) + if (sanei_umax_pp_initPort (port, name) != 1) + { + if (port) +- fprintf (stderr, "failed to gain direct acces to port 0x%X!\n", ++ fprintf (stderr, "failed to gain direct access to port 0x%X!\n", + port); + else +- fprintf (stderr, "failed to gain acces to device %s!\n", name); ++ fprintf (stderr, "failed to gain access to device %s!\n", name); + return 0; + } + } -- cgit v1.2.3 From a4ccebf8f3f31001c96cec3b1e1315495b1920af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 28 Apr 2019 14:02:58 +0200 Subject: New d/p/0155-genesys_gl847.patch --- debian/changelog | 2 ++ debian/patches/0155-genesys_gl847.patch | 63 +++++++++++++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 66 insertions(+) create mode 100644 debian/patches/0155-genesys_gl847.patch diff --git a/debian/changelog b/debian/changelog index 784f47a..259c34f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,8 @@ sane-backends (1.0.27-4~experimental1) UNRELEASED; urgency=medium - Thanks to John Paul Adrian Glaubitz for the bug fix. * New debian/patches/0725-fix_link_60-libsane_rule.patch: - Fix directory for 20-sane.hwdb (Closes: #916239). + * New debian/patches/0155-genesys_gl847.patch: + - Fix discolored bar on GL847 chip based scanners (Closes: #912603). * Fix missing set device to group scanner (Closes: #918358); - New debian/99-libsane.rules. - debian/libsane.install: Install File into /etc/udev/rules.d/ diff --git a/debian/patches/0155-genesys_gl847.patch b/debian/patches/0155-genesys_gl847.patch new file mode 100644 index 0000000..27d6b2b --- /dev/null +++ b/debian/patches/0155-genesys_gl847.patch @@ -0,0 +1,63 @@ +Description: Restore slow_back_home use, disable rewind for gl847 +Origin: upstream, https://gitlab.com/sane-project/backends/commit/4354fc7f6da2ee65cbe940a715f11abecdad3f49 +Bug: https://gitlab.com/sane-project/backends/issues/7 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=912603 +Forwarded: not-needed +Last-Update: 2019-04-28 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/backend/genesys.c +=================================================================== +--- trunk.orig/backend/genesys.c ++++ trunk/backend/genesys.c +@@ -2070,11 +2070,17 @@ genesys_white_shading_calibration (Genes + dev->model->cmd_set->set_lamp_power (dev, dev->calib_reg, SANE_TRUE); + dev->model->cmd_set->set_motor_power (dev->calib_reg, motor); + +- /* if needed, go back before doin next scan, by using rewind, registers and +- * slopes table are kept intact from previous scan */ +- if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK && dev->model->cmd_set->rewind) ++ /* if needed, go back before doing next scan */ ++ if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) ++ + { +- status = dev->model->cmd_set->rewind (dev); ++ /* rewind keeps registers and slopes table intact from previous ++ scan but is not available on all supported chipsets (or may ++ cause scan artifacts, see #7) */ ++ status = (dev->model->cmd_set->rewind ++ ? dev->model->cmd_set->rewind (dev) ++ : dev->model->cmd_set->slow_back_home (dev, SANE_TRUE)); ++ + } + + status = +Index: trunk/backend/genesys_gl847.c +=================================================================== +--- trunk.orig/backend/genesys_gl847.c ++++ trunk/backend/genesys_gl847.c +@@ -1934,6 +1934,7 @@ gl847_end_scan (Genesys_Device * dev, Ge + * @param dev device to rewind + * @returns SANE_STATUS_GOOD on success + */ ++#if 0 + GENESYS_STATIC + SANE_Status gl847_rewind(Genesys_Device * dev) + { +@@ -1965,6 +1966,7 @@ SANE_Status gl847_rewind(Genesys_Device + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } ++#endif + + /** Park head + * Moves the slider to the home (top) position slowly +@@ -3793,7 +3795,7 @@ static Genesys_Command_Set gl847_cmd_set + gl847_led_calibration, + + gl847_slow_back_home, +- gl847_rewind, ++ NULL, /* disable gl847_rewind, see #7 */ + + sanei_genesys_bulk_write_register, + NULL, diff --git a/debian/patches/series b/debian/patches/series index 9da26a2..7dbb3bb 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -26,3 +26,4 @@ 0715-20-sane.hwdb_multi-arch.patch 0720-mustek_usb2-Avoid-stack-smashing.patch 0725-fix_link_60-libsane_rule.patch +0155-genesys_gl847.patch -- cgit v1.2.3 From 8cb51450526932b3dc1f17f3f22ba24453f189e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 28 Apr 2019 16:23:33 +0200 Subject: d/changelog: Change Date, Time to release --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 259c34f..2988234 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -sane-backends (1.0.27-4~experimental1) UNRELEASED; urgency=medium +sane-backends (1.0.27-4~experimental1) experimental; urgency=medium * debian/rules: - Add --exclude=/sane/ to override_dh_makeshlibs-arch to generate @@ -30,7 +30,7 @@ sane-backends (1.0.27-4~experimental1) UNRELEASED; urgency=medium * New debian/libsane-common.lintian-overrides and debian/libsane1.lintian-overrides to override false positive spelling-error. - -- Jörg Frings-Fürst Wed, 07 Nov 2018 13:21:48 +0100 + -- Jörg Frings-Fürst Sun, 28 Apr 2019 16:20:52 +0200 sane-backends (1.0.27-3.2) unstable; urgency=medium -- cgit v1.2.3 From 9e0bd37180dae24eccd129504010214b14c5d754 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 28 Apr 2019 19:36:16 +0200 Subject: Fix autopkgtest --- debian/changelog | 3 ++- debian/tests/start-net | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 2988234..02d2e97 100644 --- a/debian/changelog +++ b/debian/changelog @@ -29,8 +29,9 @@ sane-backends (1.0.27-4~experimental1) experimental; urgency=medium * Refresh debian/patches/0100-source_spelling.patch. * New debian/libsane-common.lintian-overrides and debian/libsane1.lintian-overrides to override false positive spelling-error. + * Fix autopkgtest. - -- Jörg Frings-Fürst Sun, 28 Apr 2019 16:20:52 +0200 + -- Jörg Frings-Fürst Sun, 28 Apr 2019 19:35:55 +0200 sane-backends (1.0.27-3.2) unstable; urgency=medium diff --git a/debian/tests/start-net b/debian/tests/start-net index 65679c3..dbc2c28 100644 --- a/debian/tests/start-net +++ b/debian/tests/start-net @@ -13,8 +13,12 @@ echo localhost >>/etc/sane.d/saned.conf # Enable pnm sed -i 's/^#\(pnm\)$/\1/' /etc/sane.d/dll.conf -# Enable saned.socket +# Enable net @ localhost +sed -i 's/^# \(localhost\)$/\1/' /etc/sane.d/net.conf + +# Enable & start saned.socket systemctl enable saned.socket +systemctl start saned.socket # # test -- cgit v1.2.3 From 2e8ee989e2a1156cf26daedacb9987cf1617980b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Thu, 11 Jul 2019 21:55:09 +0200 Subject: Migrate to debhelper 12 --- debian/changelog | 3 +++ debian/compat | 2 +- debian/control | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 02d2e97..6d4500b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -30,6 +30,9 @@ sane-backends (1.0.27-4~experimental1) experimental; urgency=medium * New debian/libsane-common.lintian-overrides and debian/libsane1.lintian-overrides to override false positive spelling-error. * Fix autopkgtest. + * Migrate to debhelper 12: + - Change debian/compat to 12. + - Bump minimum debhelper version in debian/control to >= 12. -- Jörg Frings-Fürst Sun, 28 Apr 2019 19:35:55 +0200 diff --git a/debian/compat b/debian/compat index b4de394..48082f7 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -11 +12 diff --git a/debian/control b/debian/control index 6d37f98..44df2fb 100644 --- a/debian/control +++ b/debian/control @@ -6,7 +6,7 @@ Standards-Version: 4.2.1 Build-Depends: autoconf, chrpath, - debhelper (>= 11), + debhelper (>= 12), gettext, libavahi-client-dev, libcam-dev [kfreebsd-any], -- cgit v1.2.3 From c321e17270211702940fcf1d677c40894dc4dcb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Thu, 11 Jul 2019 21:57:43 +0200 Subject: Declare compliance with Debian Policy 4.4.0 --- debian/changelog | 3 ++- debian/control | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 6d4500b..5f62e21 100644 --- a/debian/changelog +++ b/debian/changelog @@ -33,8 +33,9 @@ sane-backends (1.0.27-4~experimental1) experimental; urgency=medium * Migrate to debhelper 12: - Change debian/compat to 12. - Bump minimum debhelper version in debian/control to >= 12. + * Declare compliance with Debian Policy 4.4.0 (No changes needed). - -- Jörg Frings-Fürst Sun, 28 Apr 2019 19:35:55 +0200 + -- Jörg Frings-Fürst Thu, 11 Jul 2019 21:57:10 +0200 sane-backends (1.0.27-3.2) unstable; urgency=medium diff --git a/debian/control b/debian/control index 44df2fb..9901c65 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: sane-backends Section: graphics Priority: optional Maintainer: Jörg Frings-Fürst -Standards-Version: 4.2.1 +Standards-Version: 4.4.0 Build-Depends: autoconf, chrpath, -- cgit v1.2.3 From cbfc3615230f3f7685122b81e6ddbd0e51d39c63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Fri, 12 Jul 2019 16:11:54 +0200 Subject: Fix some init system issues --- debian/changelog | 3 +++ debian/control | 2 ++ debian/sane-utils.lintian-overrides | 4 ++++ 3 files changed, 9 insertions(+) create mode 100644 debian/sane-utils.lintian-overrides diff --git a/debian/changelog b/debian/changelog index 5f62e21..707ae6b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -34,6 +34,9 @@ sane-backends (1.0.27-4~experimental1) experimental; urgency=medium - Change debian/compat to 12. - Bump minimum debhelper version in debian/control to >= 12. * Declare compliance with Debian Policy 4.4.0 (No changes needed). + * New debian/sane-utils.lintian-overrides to override false positve missing + init.d script. + * debian/control: Add Pre-Depends ${misc:Pre-Depends} to install invoke-rc.d. -- Jörg Frings-Fürst Thu, 11 Jul 2019 21:57:10 +0200 diff --git a/debian/control b/debian/control index 9901c65..f0ac9b4 100644 --- a/debian/control +++ b/debian/control @@ -35,6 +35,8 @@ Depends: update-inetd, ${misc:Depends}, ${shlibs:Depends} +Pre-Depends: + ${misc:Pre-Depends} Breaks: libsane-common (<<1.0.27-1~) Replaces: libsane-common (<<1.0.27-1~) Suggests: avahi-daemon, unpaper diff --git a/debian/sane-utils.lintian-overrides b/debian/sane-utils.lintian-overrides new file mode 100644 index 0000000..94f310e --- /dev/null +++ b/debian/sane-utils.lintian-overrides @@ -0,0 +1,4 @@ +# +# /etc/init.d/saned exists +# +sane-utils: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/saned@.service \ No newline at end of file -- cgit v1.2.3 From a2291c657dc783c0cc8ea41c655072c27e620909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Fri, 12 Jul 2019 16:14:17 +0200 Subject: d/changelog: Change date / time --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 707ae6b..ecf33be 100644 --- a/debian/changelog +++ b/debian/changelog @@ -38,7 +38,7 @@ sane-backends (1.0.27-4~experimental1) experimental; urgency=medium init.d script. * debian/control: Add Pre-Depends ${misc:Pre-Depends} to install invoke-rc.d. - -- Jörg Frings-Fürst Thu, 11 Jul 2019 21:57:10 +0200 + -- Jörg Frings-Fürst Fri, 12 Jul 2019 16:12:03 +0200 sane-backends (1.0.27-3.2) unstable; urgency=medium -- cgit v1.2.3 From c8bd2513ecba169cff44c09c8058c36987357b18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Tue, 23 Jul 2019 12:32:33 +0200 Subject: d/watch: Rewrite for the new Gitlab directory layout --- debian/changelog | 3 ++- debian/watch | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index ecf33be..cc2f709 100644 --- a/debian/changelog +++ b/debian/changelog @@ -37,8 +37,9 @@ sane-backends (1.0.27-4~experimental1) experimental; urgency=medium * New debian/sane-utils.lintian-overrides to override false positve missing init.d script. * debian/control: Add Pre-Depends ${misc:Pre-Depends} to install invoke-rc.d. + * debian/watch: Rewrite for the new Gitlab directory layout. - -- Jörg Frings-Fürst Fri, 12 Jul 2019 16:12:03 +0200 + -- Jörg Frings-Fürst Tue, 23 Jul 2019 12:32:06 +0200 sane-backends (1.0.27-3.2) unstable; urgency=medium diff --git a/debian/watch b/debian/watch index a3e79c0..ae623cb 100644 --- a/debian/watch +++ b/debian/watch @@ -4,6 +4,6 @@ version=4 opts=\ dversionmangle=s/\+(debian|dfsg|ds|deb)\d*$//,\ -uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/;s/RC/rc/ \ -https://gitlab.com/sane-project/backends/tags \ -(?:.*?/)?(?:rel|v|sane-backends)[\-\_]?(\d\S+)\.(?:tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz))) +uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/,\ +filenamemangle=s/.*\/archive\/(\d\S+)\/backends.*\.tar\.gz/backends-$1\.tar\.gz/g \ + https://gitlab.com/sane-project/backends/tags?sort=updated_desc .*/archive/(\d\S+)/.*\.tar\.gz.* -- cgit v1.2.3 From 1687222e1b9e74c89cafbb5910e72d8ec7bfd40f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 31 Jul 2019 16:59:49 +0200 Subject: New upstream version 1.0.28 --- .editorconfig | 14 + .gitignore | 59 + .gitlab-ci.yml | 125 + ABOUT-NLS | 1282 -- AUTHORS | 17 +- ChangeLog | 4115 +--- ChangeLogs/ChangeLog-1.0.0 | 4309 ++++ ChangeLogs/ChangeLog-1.0.1 | 448 + ChangeLogs/ChangeLog-1.0.10 | 890 + ChangeLogs/ChangeLog-1.0.12 | 960 + ChangeLogs/ChangeLog-1.0.13 | 1349 ++ ChangeLogs/ChangeLog-1.0.14 | 899 + ChangeLogs/ChangeLog-1.0.15 | 1027 + ChangeLogs/ChangeLog-1.0.16 | 944 + ChangeLogs/ChangeLog-1.0.17 | 1011 + ChangeLogs/ChangeLog-1.0.18 | 973 + ChangeLogs/ChangeLog-1.0.19 | 1159 ++ ChangeLogs/ChangeLog-1.0.2 | 562 + ChangeLogs/ChangeLog-1.0.20 | 2087 ++ ChangeLogs/ChangeLog-1.0.21 | 887 + ChangeLogs/ChangeLog-1.0.22 | 536 + ChangeLogs/ChangeLog-1.0.23 | 694 + ChangeLogs/ChangeLog-1.0.24 | 602 + ChangeLogs/ChangeLog-1.0.25 | 507 + ChangeLogs/ChangeLog-1.0.27 | 4128 ++++ ChangeLogs/ChangeLog-1.0.3 | 790 + ChangeLogs/ChangeLog-1.0.4 | 728 + ChangeLogs/ChangeLog-1.0.5 | 1193 ++ ChangeLogs/ChangeLog-1.0.6 | 667 + ChangeLogs/ChangeLog-1.0.7 | 856 + ChangeLogs/ChangeLog-1.0.8 | 1060 + ChangeLogs/ChangeLog-1.0.9 | 1148 ++ INSTALL | 370 - INSTALL.linux | 153 + Makefile.am | 20 +- Makefile.in | 1023 - NEWS | 135 +- README | 23 +- README.aix | 3 +- README.beos | 2 +- README.djpeg | 2 +- README.freebsd | 4 +- README.hp-ux | 10 +- README.linux | 20 +- README.netbsd | 4 +- README.openbsd | 4 +- README.os2 | 35 +- README.solaris | 4 +- README.unixware7 | 98 +- README.zeta | 6 +- Rules-quot.patch | 27 + acinclude.m4 | 122 +- aclocal.m4 | 1491 -- ar-lib | 270 - autogen.sh | 39 + backend/.gitignore | 5 + backend/Makefile.am | 110 +- backend/Makefile.in | 5644 ------ backend/abaton.c | 42 +- backend/abaton.h | 8 +- backend/agfafocus.c | 128 +- backend/agfafocus.conf.in | 1 - backend/agfafocus.h | 4 +- backend/apple.c | 26 +- backend/apple.h | 8 +- backend/artec.c | 2 +- backend/artec.conf.in | 1 - backend/artec_eplus48u.c | 4 +- backend/artec_eplus48u.conf.in | 1 - backend/as6e.c | 30 +- backend/avision.c | 2110 +- backend/avision.conf.in | 1 - backend/avision.h | 130 +- backend/bh.c | 333 +- backend/bh.h | 50 +- backend/canon-sane.c | 2 +- backend/canon-scsi.c | 2 +- backend/canon.c | 9 +- backend/canon630u-common.c | 42 +- backend/canon630u.c | 4 +- backend/canon_dr-cmd.h | 16 +- backend/canon_dr.c | 743 +- backend/canon_dr.conf.in | 2 +- backend/canon_dr.h | 15 +- backend/canon_pp-dev.c | 302 +- backend/canon_pp-dev.h | 12 +- backend/canon_pp-io.c | 90 +- backend/canon_pp-io.h | 8 +- backend/canon_pp.c | 288 +- backend/canon_pp.conf.in | 4 +- backend/canon_pp.h | 5 +- backend/cardscan.c | 334 +- backend/cardscan.h | 12 +- backend/coolscan-scsidef.h | 16 +- backend/coolscan.c | 390 +- backend/coolscan.h | 20 +- backend/coolscan2.c | 4 +- backend/coolscan3.c | 2 +- backend/dc210.c | 20 +- backend/dc210.conf.in | 2 +- backend/dc210.h | 8 +- backend/dc240.c | 38 +- backend/dc240.conf.in | 2 +- backend/dc240.h | 16 +- backend/dc25.c | 62 +- backend/dc25.conf.in | 2 +- backend/dc25.h | 14 +- backend/dell1600n_net.c | 50 +- backend/dell1600n_net.conf.in | 2 - backend/dll.c | 41 +- backend/dll.conf.in | 1 + backend/dmc.c | 22 +- backend/epjitsu-cmd.h | 1 - backend/epjitsu.c | 429 +- backend/epjitsu.conf.in | 3 +- backend/epjitsu.h | 6 +- backend/epson.c | 362 +- backend/epson.conf.in | 2 +- backend/epson2-commands.c | 8 +- backend/epson2-ops.c | 8 +- backend/epson2.c | 35 +- backend/epson2.conf.in | 3 +- backend/epson2_net.c | 4 +- backend/epson2_usb.c | 7 +- backend/epson_usb.c | 2 +- backend/epsonds-cmd.h | 1 - backend/epsonds-io.c | 2 - backend/epsonds-io.h | 1 - backend/epsonds-jpeg.c | 2 - backend/epsonds-ops.c | 2 - backend/epsonds-ops.h | 1 - backend/epsonds.c | 6 + backend/fujitsu-scsi.h | 27 +- backend/fujitsu.c | 1316 +- backend/fujitsu.conf.in | 16 - backend/fujitsu.h | 24 +- backend/genesys.c | 8047 -------- backend/genesys.cc | 7580 +++++++ backend/genesys.conf.in | 3 + backend/genesys.h | 125 +- backend/genesys_conv.c | 478 - backend/genesys_conv.cc | 474 + backend/genesys_conv_hlp.c | 345 - backend/genesys_conv_hlp.cc | 345 + backend/genesys_devices.c | 3706 ---- backend/genesys_devices.cc | 5165 +++++ backend/genesys_error.cc | 115 + backend/genesys_error.h | 202 + backend/genesys_gl124.c | 3997 ---- backend/genesys_gl124.cc | 3592 ++++ backend/genesys_gl124.h | 289 +- backend/genesys_gl646.c | 5799 ------ backend/genesys_gl646.cc | 4911 +++++ backend/genesys_gl646.h | 428 +- backend/genesys_gl841.c | 6383 ------ backend/genesys_gl841.cc | 5624 ++++++ backend/genesys_gl841.h | 199 +- backend/genesys_gl843.c | 4477 ----- backend/genesys_gl843.cc | 4415 ++++ backend/genesys_gl843.h | 288 +- backend/genesys_gl846.c | 3711 ---- backend/genesys_gl846.cc | 3393 ++++ backend/genesys_gl846.h | 231 +- backend/genesys_gl847.c | 3824 ---- backend/genesys_gl847.cc | 3517 ++++ backend/genesys_gl847.h | 201 +- backend/genesys_low.c | 2010 -- backend/genesys_low.cc | 2059 ++ backend/genesys_low.h | 1901 +- backend/genesys_sanei.cc | 140 + backend/genesys_sanei.h | 97 + backend/genesys_serialize.cc | 0 backend/genesys_serialize.h | 144 + backend/gphoto2.c | 94 +- backend/gphoto2.conf.in | 16 +- backend/gphoto2.h | 4 +- backend/gt68xx.c | 43 +- backend/gt68xx.conf.in | 21 +- backend/gt68xx.h | 20 +- backend/gt68xx_devices.c | 71 +- backend/gt68xx_generic.c | 30 +- backend/gt68xx_generic.h | 20 +- backend/gt68xx_gt6801.c | 22 +- backend/gt68xx_gt6801.h | 20 +- backend/gt68xx_gt6816.c | 20 +- backend/gt68xx_gt6816.h | 20 +- backend/gt68xx_high.c | 43 +- backend/gt68xx_high.h | 24 +- backend/gt68xx_low.c | 22 +- backend/gt68xx_low.h | 39 +- backend/gt68xx_mid.c | 20 +- backend/gt68xx_mid.h | 20 +- backend/gt68xx_shm_channel.c | 20 +- backend/gt68xx_shm_channel.h | 20 +- backend/hp-device.c | 1 - backend/hp-handle.c | 18 +- backend/hp-option.c | 21 +- backend/hp-scl.c | 2 +- backend/hp.README | 2 +- backend/hp.c | 2 +- backend/hp3500.c | 48 +- backend/hp3900.conf.in | 1 - backend/hp3900_config.c | 4 +- backend/hp3900_debug.c | 2 +- backend/hp3900_rts8822.c | 24 +- backend/hp4200.c | 18 +- backend/hp4200.h | 6 +- backend/hp5400.c | 10 +- backend/hp5400_debug.c | 2 - backend/hp5400_internal.c | 10 +- backend/hp5400_sanei.c | 5 +- backend/hp5400_xfer.h | 2 +- backend/hp5590.c | 2150 +- backend/hp5590_cmds.c | 1286 +- backend/hp5590_cmds.h | 132 +- backend/hp5590_low.c | 656 +- backend/hp5590_low.h | 50 +- backend/hpljm1005.c | 19 +- backend/hpsj5s.c | 18 +- backend/hpsj5s.conf.in | 2 +- backend/hs2p-saneopts.h | 4 +- backend/hs2p-scsi.c | 20 +- backend/hs2p-scsi.h | 106 +- backend/hs2p.c | 50 +- backend/hs2p.h | 8 +- backend/ibm-scsi.c | 12 +- backend/ibm.c | 66 +- backend/ibm.h | 10 +- backend/kodak-cmd.h | 20 +- backend/kodak.c | 210 +- backend/kodak.h | 4 +- backend/kodakaio.c | 150 +- backend/kodakaio.conf.in | 3 +- backend/kvs1025_low.c | 18 +- backend/kvs1025_opt.c | 1 - backend/kvs1025_usb.c | 2 +- backend/kvs20xx_opt.c | 2 +- backend/kvs40xx_opt.c | 2 +- backend/leo.c | 28 +- backend/leo.conf.in | 1 - backend/leo.h | 10 +- backend/lexmark.c | 16 +- backend/lexmark.h | 2 +- backend/lexmark_low.c | 72 +- backend/lexmark_models.c | 2 +- backend/lexmark_sensors.c | 2 +- backend/magicolor.c | 9 +- backend/magicolor.conf.in | 1 - backend/matsushita.c | 40 +- backend/matsushita.conf.in | 2 +- backend/matsushita.h | 8 +- backend/microtek.c | 494 +- backend/microtek.h | 39 +- backend/microtek2.c | 108 +- backend/microtek2.h | 20 +- backend/mustek.c | 56 +- backend/mustek.conf.in | 6 +- backend/mustek.h | 6 +- backend/mustek_pp.c | 120 +- backend/mustek_pp.conf.in | 12 +- backend/mustek_pp.h | 24 +- backend/mustek_pp_ccd300.c | 6 +- backend/mustek_pp_ccd300.h | 4 +- backend/mustek_pp_cis.c | 742 +- backend/mustek_pp_cis.h | 76 +- backend/mustek_pp_decl.h | 32 +- backend/mustek_pp_null.c | 14 +- backend/mustek_scsi_pp.c | 2 +- backend/mustek_scsi_pp.h | 6 +- backend/mustek_usb.c | 8 +- backend/mustek_usb.conf.in | 1 - backend/mustek_usb.h | 2 +- backend/mustek_usb2.c | 64 +- backend/mustek_usb2.h | 2 +- backend/mustek_usb2_asic.c | 24 +- backend/mustek_usb2_asic.h | 6 +- backend/mustek_usb2_high.c | 112 +- backend/mustek_usb2_high.h | 2 +- backend/mustek_usb2_reflective.c | 34 +- backend/mustek_usb2_transparent.c | 32 +- backend/mustek_usb_high.c | 2 +- backend/mustek_usb_high.h | 4 +- backend/mustek_usb_low.c | 4 +- backend/mustek_usb_low.h | 2 +- backend/mustek_usb_mid.c | 2 +- backend/mustek_usb_mid.h | 2 +- backend/nec.c | 282 +- backend/nec.h | 24 +- backend/net.c | 72 +- backend/niash_core.c | 2 +- backend/niash_core.h | 2 +- backend/p5.c | 64 +- backend/p5.h | 18 +- backend/p5_device.c | 14 +- backend/p5_device.h | 18 +- backend/pie-scsidef.h | 6 +- backend/pie.c | 2 +- backend/pieusb_usb.c | 14 +- backend/pixma.c | 356 +- backend/pixma.h | 16 +- backend/pixma_bjnp.c | 244 +- backend/pixma_bjnp.h | 18 +- backend/pixma_bjnp_private.h | 27 +- backend/pixma_common.c | 6 +- backend/pixma_common.h | 2 +- backend/pixma_imageclass.c | 50 +- backend/pixma_io.h | 2 +- backend/pixma_io_sanei.c | 18 +- backend/pixma_mp150.c | 314 +- backend/pixma_mp730.c | 8 +- backend/pixma_mp750.c | 20 +- backend/pixma_mp810.c | 10 +- backend/pixma_sane_options.c | 11 +- backend/pixma_sane_options.h | 1 - backend/plustek-pp.h | 8 +- backend/plustek-pp_dac.c | 26 +- backend/plustek-pp_detect.c | 10 +- backend/plustek-pp_image.c | 30 +- backend/plustek-pp_io.c | 32 +- backend/plustek-pp_map.c | 42 +- backend/plustek-pp_misc.c | 12 +- backend/plustek-pp_models.c | 8 +- backend/plustek-pp_motor.c | 10 +- backend/plustek-pp_p12.c | 10 +- backend/plustek-pp_p12ccd.c | 2 +- backend/plustek-pp_p48xx.c | 2 +- backend/plustek-pp_p9636.c | 4 +- backend/plustek-pp_procfs.c | 10 +- backend/plustek-pp_procs.h | 2 +- backend/plustek-pp_ptdrv.c | 74 +- backend/plustek-pp_scale.c | 4 +- backend/plustek-pp_scan.h | 6 +- backend/plustek-pp_scandata.h | 12 +- backend/plustek-pp_sysdep.h | 2 +- backend/plustek-pp_tpa.c | 6 +- backend/plustek-pp_wrapper.c | 26 +- backend/plustek-usb.c | 76 +- backend/plustek-usb.h | 31 +- backend/plustek-usbcal.c | 38 +- backend/plustek-usbcalfile.c | 30 +- backend/plustek-usbdevs.c | 50 +- backend/plustek-usbhw.c | 100 +- backend/plustek-usbimg.c | 58 +- backend/plustek-usbio.c | 8 +- backend/plustek-usbmap.c | 24 +- backend/plustek-usbscan.c | 52 +- backend/plustek-usbshading.c | 120 +- backend/plustek.c | 76 +- backend/plustek.conf.in | 4 +- backend/plustek.h | 4 +- backend/plustek_pp.c | 198 +- backend/plustek_pp.conf.in | 2 +- backend/pnm.c | 8 +- backend/qcam.c | 36 +- backend/ricoh-scsi.c | 8 +- backend/ricoh.c | 30 +- backend/ricoh.h | 4 +- backend/ricoh2.c | 971 + backend/ricoh2_buffer.c | 229 + backend/rts8891.c | 153 +- backend/rts8891.h | 24 +- backend/rts8891_devices.c | 20 +- backend/rts8891_low.c | 44 +- backend/rts8891_low.h | 24 +- backend/rts88xx_lib.c | 14 +- backend/rts88xx_lib.h | 14 +- backend/s9036.c | 20 +- backend/sceptre.c | 56 +- backend/sceptre.h | 10 +- backend/scripts/pixma_gen_options.py | 389 + backend/sharp.c | 382 +- backend/sharp.conf.in | 6 +- backend/sharp.h | 28 +- backend/sm3600-color.c | 7 +- backend/sm3600-gray.c | 7 +- backend/sm3600-homerun.c | 9 +- backend/sm3600-scanusb.c | 9 +- backend/sm3600-scanutil.c | 4 +- backend/sm3600.c | 20 +- backend/snapscan-data.c | 4 +- backend/snapscan-mutex.c | 12 +- backend/snapscan-options.c | 18 +- backend/snapscan-scsi.c | 6 +- backend/snapscan-sources.c | 32 +- backend/snapscan-sources.h | 22 +- backend/snapscan-usb.c | 33 +- backend/snapscan.c | 8 +- backend/sp15c-scsi.h | 1 - backend/sp15c.c | 23 +- backend/sp15c.h | 1 - backend/st400.c | 2 +- backend/stubs.c | 8 + backend/stv680.c | 24 +- backend/stv680.h | 16 +- backend/tamarack.c | 83 +- backend/tamarack.conf.in | 1 - backend/tamarack.h | 10 +- backend/teco1.c | 46 +- backend/teco1.h | 10 +- backend/teco2.c | 104 +- backend/teco2.conf.in | 4 +- backend/teco2.h | 10 +- backend/teco3.c | 46 +- backend/teco3.h | 10 +- backend/test-picture.c | 2 +- backend/test.c | 6 +- backend/u12-ccd.c | 6 +- backend/u12-hw.c | 12 +- backend/u12-hwdef.h | 8 +- backend/u12-if.c | 24 +- backend/u12-image.c | 16 +- backend/u12-io.c | 12 +- backend/u12-motor.c | 10 +- backend/u12-scanner.h | 2 +- backend/u12-shading.c | 4 +- backend/u12.c | 146 +- backend/u12.conf.in | 2 +- backend/u12.h | 8 +- backend/umax-scanner.c | 15 +- backend/umax-scanner.h | 5 +- backend/umax-scsidef.h | 20 +- backend/umax-uc1200s.c | 10 +- backend/umax-uc1200se.c | 10 +- backend/umax-uc1260.c | 12 +- backend/umax-uc630.c | 11 +- backend/umax-uc840.c | 13 +- backend/umax-ug630.c | 9 +- backend/umax-ug80.c | 11 +- backend/umax-usb.c | 38 +- backend/umax.c | 254 +- backend/umax.conf.in | 13 +- backend/umax.h | 8 +- backend/umax1220u-common.c | 4 +- backend/umax1220u.c | 2 +- backend/umax_pp.c | 10 +- backend/umax_pp.conf.in | 6 +- backend/umax_pp.h | 2 +- backend/umax_pp_low.c | 142 +- backend/umax_pp_low.h | 2 +- backend/umax_pp_mid.c | 4 +- backend/umax_pp_mid.h | 12 +- backend/v4l-frequencies.h | 4 +- backend/v4l.c | 2 +- backend/v4l.h | 6 +- backend/xerox_mfp.c | 8 +- backend/xerox_mfp.conf.in | 10 +- compile | 347 - config.guess | 1466 -- config.rpath | 672 - config.sub | 1836 -- configure | 24492 ----------------------- configure.ac | 57 +- depcomp | 791 - doc/.gitignore | 25 + doc/Makefile.am | 10 +- doc/Makefile.in | 1062 - doc/backend-writing.txt | 79 +- doc/canon/canon.changes | 3 - doc/canon/canon.install2700F.txt | 42 +- doc/descriptions-external/brother-mfc4600.desc | 5 +- doc/descriptions-external/brother.desc | 3 +- doc/descriptions-external/brother2.desc | 2 +- doc/descriptions-external/canon_mfp.desc | 73 - doc/descriptions-external/cs3200f.desc | 2 +- doc/descriptions-external/hp3770.desc | 2 +- doc/descriptions-external/hp8200.desc | 3 +- doc/descriptions-external/hpaio.desc | 1 - doc/descriptions-external/kodak-twain.desc | 1 - doc/descriptions-external/lhii.desc | 4 +- doc/descriptions-external/mustek_a3p1.desc | 4 - doc/descriptions-external/panamfs.desc | 3 +- doc/descriptions-external/primascan.desc | 2 +- doc/descriptions-external/primax.desc | 4 - doc/descriptions-external/template.desc. | 4 +- doc/descriptions-external/utsushi.desc | 524 +- doc/descriptions.txt | 4 +- doc/descriptions/agfafocus.desc | 2 +- doc/descriptions/apple.desc | 4 +- doc/descriptions/avision.desc | 3 +- doc/descriptions/bh.desc | 1 - doc/descriptions/canon.desc | 3 +- doc/descriptions/canon_dr.desc | 11 +- doc/descriptions/canon_pp.desc | 1 - doc/descriptions/cardscan.desc | 3 +- doc/descriptions/coolscan.desc | 4 +- doc/descriptions/coolscan2.desc | 6 +- doc/descriptions/coolscan3.desc | 6 +- doc/descriptions/dc210.desc | 2 +- doc/descriptions/dc240.desc | 2 +- doc/descriptions/dell1600n_net.desc | 1 - doc/descriptions/dmc.desc | 1 - doc/descriptions/epson.desc | 9 +- doc/descriptions/epson2.desc | 46 +- doc/descriptions/epsonds.desc | 1 - doc/descriptions/fujitsu.desc | 37 +- doc/descriptions/genesys.desc | 7 + doc/descriptions/gphoto2.desc | 2 +- doc/descriptions/gt68xx.desc | 10 +- doc/descriptions/hp.desc | 1 - doc/descriptions/hp3500.desc | 5 +- doc/descriptions/hp3900.desc | 1 - doc/descriptions/hp4200.desc | 2 +- doc/descriptions/hp5400.desc | 3 - doc/descriptions/hp5590.desc | 1 - doc/descriptions/hpsj5s.desc | 1 - doc/descriptions/hs2p.desc | 2 +- doc/descriptions/kodak.desc | 3 +- doc/descriptions/kodakaio.desc | 5 +- doc/descriptions/kvs20xx.desc | 1 - doc/descriptions/kvs40xx.desc | 1 - doc/descriptions/leo.desc | 4 +- doc/descriptions/lexmark.desc | 2 +- doc/descriptions/ma1509.desc | 3 +- doc/descriptions/magicolor.desc | 1 - doc/descriptions/matsushita.desc | 3 - doc/descriptions/microtek.desc | 2 +- doc/descriptions/microtek2.desc | 3 +- doc/descriptions/niash.desc | 4 - doc/descriptions/p5.desc | 2 +- doc/descriptions/pixma.desc | 430 +- doc/descriptions/plustek.desc | 34 +- doc/descriptions/plustek_pp.desc | 3 - doc/descriptions/ricoh.desc | 1 - doc/descriptions/ricoh2.desc | 40 + doc/descriptions/rts8891.desc | 4 +- doc/descriptions/sceptre.desc | 4 +- doc/descriptions/sharp.desc | 2 +- doc/descriptions/sm3840.desc | 4 +- doc/descriptions/tamarack.desc | 1 - doc/descriptions/teco1.desc | 3 - doc/descriptions/teco3.desc | 3 - doc/descriptions/template.desc. | 4 +- doc/descriptions/test.desc | 1 - doc/descriptions/u12.desc | 2 - doc/descriptions/umax_pp.desc | 16 +- doc/descriptions/unsupported.desc | 537 +- doc/descriptions/xerox_mfp.desc | 31 +- doc/doxygen-genesys.conf.in | 1562 +- doc/doxygen-sanei.conf.in | 1411 +- doc/gamma4scanimage.man | 6 +- doc/gt68xx/gt68xx.CHANGES | 16 +- doc/leo/leo.txt | 22 +- doc/matsushita/matsushita.txt | 24 +- doc/mustek/mustek.CHANGES | 82 +- doc/mustek_usb/mustek_usb.CHANGES | 28 +- doc/mustek_usb2/mustek_usb2.CHANGES | 10 +- doc/net.tex | 6 +- doc/plustek/FAQ | 5 +- doc/plustek/Makefile.kernel24 | 3 +- doc/plustek/Plustek-PARPORT-TODO.txt | 2 +- doc/plustek/Plustek-PARPORT.changes | 6 +- doc/plustek/Plustek-PARPORT.txt | 5 +- doc/plustek/Plustek-USB-TODO.txt | 1 - doc/plustek/Plustek-USB.changes | 4 +- doc/plustek/Plustek-USB.txt | 29 +- doc/releases.txt | 97 +- doc/sane-abaton.man | 4 +- doc/sane-agfafocus.man | 9 +- doc/sane-apple.man | 4 +- doc/sane-artec.man | 8 +- doc/sane-artec_eplus48u.man | 3 +- doc/sane-as6e.man | 14 +- doc/sane-avision.man | 14 +- doc/sane-bh.man | 138 +- doc/sane-canon.man | 10 +- doc/sane-canon630u.man | 13 +- doc/sane-canon_dr.man | 63 +- doc/sane-canon_pp.man | 133 +- doc/sane-cardscan.man | 15 +- doc/sane-config.man | 2 +- doc/sane-coolscan.man | 14 +- doc/sane-coolscan2.man | 10 +- doc/sane-coolscan3.man | 27 +- doc/sane-dc210.man | 14 +- doc/sane-dc240.man | 17 +- doc/sane-dc25.man | 12 +- doc/sane-dll.man | 14 +- doc/sane-epjitsu.man | 15 +- doc/sane-epson.man | 84 +- doc/sane-epson2.man | 82 +- doc/sane-epsonds.man | 18 +- doc/sane-find-scanner.man | 29 +- doc/sane-fujitsu.man | 45 +- doc/sane-genesys.man | 76 +- doc/sane-gphoto2.man | 21 +- doc/sane-gt68xx.man | 20 +- doc/sane-hp.man | 12 +- doc/sane-hp3500.man | 5 +- doc/sane-hp3900.man | 7 +- doc/sane-hp4200.man | 10 +- doc/sane-hp5400.man | 7 +- doc/sane-hp5590.man | 349 +- doc/sane-hs2p.man | 34 +- doc/sane-ibm.man | 8 +- doc/sane-kodak.man | 42 +- doc/sane-kodakaio.man | 12 +- doc/sane-kvs1025.man | 3 +- doc/sane-kvs20xx.man | 3 +- doc/sane-kvs40xx.man | 3 +- doc/sane-leo.man | 20 +- doc/sane-lexmark.man | 62 +- doc/sane-ma1509.man | 12 +- doc/sane-magicolor.man | 32 +- doc/sane-matsushita.man | 8 +- doc/sane-microtek.man | 10 +- doc/sane-microtek2.man | 5 - doc/sane-mustek.man | 34 +- doc/sane-mustek_pp.man | 76 +- doc/sane-mustek_usb.man | 18 +- doc/sane-mustek_usb2.man | 6 +- doc/sane-nec.man | 2 +- doc/sane-p5.man | 73 +- doc/sane-pint.man | 2 +- doc/sane-pixma.man | 134 +- doc/sane-plustek.man | 24 +- doc/sane-plustek_pp.man | 20 +- doc/sane-ricoh.man | 9 +- doc/sane-ricoh2.man | 57 + doc/sane-rts8891.man | 68 +- doc/sane-s9036.man | 8 +- doc/sane-sceptre.man | 24 +- doc/sane-scsi.man | 20 +- doc/sane-sharp.man | 162 +- doc/sane-sm3600.man | 3 +- doc/sane-sm3840.man | 3 +- doc/sane-snapscan.man | 6 +- doc/sane-st400.man | 4 +- doc/sane-stv680.man | 9 +- doc/sane-tamarack.man | 8 +- doc/sane-teco1.man | 44 +- doc/sane-teco2.man | 38 +- doc/sane-teco3.man | 20 +- doc/sane-test.man | 20 +- doc/sane-u12.man | 8 +- doc/sane-umax.man | 24 +- doc/sane-umax1220u.man | 10 +- doc/sane-umax_pp.man | 152 +- doc/sane-usb.man | 15 +- doc/sane-v4l.man | 2 +- doc/sane-xerox_mfp.man | 9 +- doc/sane.man | 89 +- doc/sane.tex | 68 +- doc/saned.man | 162 +- doc/scanimage.man | 43 +- doc/sceptre/s1200.txt | 16 +- doc/teco/teco1.txt | 46 +- doc/teco/teco2.txt | 65 +- doc/teco/teco3.txt | 15 +- doc/umax/negative-types.txt | 1 - doc/umax/sane-umax-advanced-options-doc.html | 2 +- doc/umax/sane-umax-config-doc.html | 4 +- doc/umax/sane-umax-mirage-doc.html | 1 - doc/umax/sane-umax-standard-options-doc.html | 3 +- doc/umax/umax.BUGS | 1 - doc/umax/umax.CHANGES | 33 +- doc/umax/umax.FAQ | 4 +- doc/umax/umax.TODO | 1 - frontend/.gitignore | 2 + frontend/Makefile.in | 804 - frontend/saned.c | 530 +- frontend/scanimage.c | 130 +- frontend/test.c | 6 +- frontend/tstbackend.c | 299 +- include/.gitignore | 2 + include/Makefile.in | 642 - include/lalloca.h | 4 +- include/lassert.h | 2 +- include/md5.h | 2 +- include/sane/.gitignore | 3 + include/sane/config.h.in | 711 - include/sane/sane.h | 2 +- include/sane/sanei.h | 31 +- include/sane/sanei_access.h | 6 +- include/sane/sanei_auth.h | 8 +- include/sane/sanei_backend.h | 10 +- include/sane/sanei_config.h | 14 +- include/sane/sanei_debug.h | 34 +- include/sane/sanei_ir.h | 4 +- include/sane/sanei_lm983x.h | 5 +- include/sane/sanei_magic.h | 12 +- include/sane/sanei_pa4s2.h | 26 +- include/sane/sanei_pio.h | 1 - include/sane/sanei_pp.h | 6 +- include/sane/sanei_pv8630.h | 2 +- include/sane/sanei_scsi.h | 20 +- include/sane/sanei_tcp.h | 2 +- include/sane/sanei_thread.h | 38 +- include/sane/sanei_udp.h | 2 +- include/sane/sanei_usb.h | 8 + install-sh | 534 - japi/Jscanimage.java | 28 +- japi/Makefile.am | 3 +- japi/Makefile.in | 767 - japi/Sane.c | 22 +- japi/Sane.java | 4 +- japi/SaneDevice.java | 10 +- japi/SaneOption.java | 25 +- japi/SaneParameters.java | 12 +- japi/SaneRange.java | 1 - japi/ScanIt.java | 16 +- japi/Test.java | 12 +- lib/Makefile.in | 688 - lib/inet_pton.c | 2 +- lib/isfdtype.c | 25 - lib/md5.c | 9 +- lib/strcasestr.c | 2 +- ltmain.sh | 9684 --------- ltmain.sh.patch | 44 + m4/byteorder.m4 | 2 +- m4/gettext.m4 | 383 - m4/iconv.m4 | 214 - m4/intlmacosx.m4 | 51 - m4/lib-ld.m4 | 110 - m4/lib-link.m4 | 774 - m4/lib-prefix.m4 | 224 - m4/libtool.m4 | 7997 -------- m4/ltoptions.m4 | 384 - m4/ltsugar.m4 | 123 - m4/ltversion.m4 | 23 - m4/lt~obsolete.m4 | 98 - m4/nls.m4 | 32 - m4/po.m4 | 449 - m4/progtest.m4 | 92 - m4/stdint.m4 | 695 - missing | 215 - mkinstalldirs | 162 - po/LINGUAS | 5 +- po/Makefile.in.in | 444 - po/Makevars | 18 +- po/POTFILES.in | 3 +- po/README | 65 + po/Rules-quot | 47 - po/bg.gmo | Bin 74825 -> 0 bytes po/bg.po | 1108 +- po/boldquot.sed | 10 - po/ca.po | 6733 +++++++ po/ca@valencia.po | 6732 +++++++ po/cs.gmo | Bin 55568 -> 0 bytes po/cs.po | 1108 +- po/da.gmo | Bin 61999 -> 0 bytes po/da.po | 1108 +- po/de.gmo | Bin 81438 -> 0 bytes po/de.po | 2746 +-- po/en@boldquot.gmo | Bin 97905 -> 0 bytes po/en@boldquot.header | 25 - po/en@boldquot.po | 6506 ------ po/en@quot.gmo | Bin 97677 -> 0 bytes po/en@quot.header | 22 - po/en@quot.po | 6488 ------ po/en_GB.gmo | Bin 70495 -> 0 bytes po/en_GB.po | 2181 +- po/eo.gmo | Bin 72419 -> 0 bytes po/eo.po | 1108 +- po/es.gmo | Bin 80626 -> 0 bytes po/es.po | 1110 +- po/fi.gmo | Bin 55741 -> 0 bytes po/fi.po | 1108 +- po/fr.gmo | Bin 82409 -> 0 bytes po/fr.po | 1108 +- po/gl.gmo | Bin 79773 -> 0 bytes po/gl.po | 1110 +- po/he.po | 6495 ++++++ po/hu.gmo | Bin 9630 -> 0 bytes po/hu.po | 1108 +- po/insert-header.sin | 23 - po/it.gmo | Bin 74285 -> 0 bytes po/it.po | 1108 +- po/ja.gmo | Bin 53885 -> 0 bytes po/ja.po | 1108 +- po/nb.gmo | Bin 12554 -> 0 bytes po/nb.po | 1108 +- po/nl.gmo | Bin 103988 -> 0 bytes po/nl.po | 1154 +- po/pl.gmo | Bin 80101 -> 0 bytes po/pl.po | 1108 +- po/pt.gmo | Bin 19033 -> 0 bytes po/pt.po | 1108 +- po/quot.sed | 6 - po/remove-potcdate.sin | 19 - po/ru.gmo | Bin 71734 -> 0 bytes po/ru.po | 1108 +- po/sane-backends.pot | 6225 ------ po/stamp-po | 1 - po/sv.gmo | Bin 87940 -> 0 bytes po/sv.po | 1108 +- po/uk.gmo | Bin 143725 -> 0 bytes po/uk.po | 1134 +- sane-backends.lsm | 27 - sanei/Makefile.in | 704 - sanei/sanei_DomainOS.c | 2 +- sanei/sanei_DomainOS.h | 1 - sanei/sanei_ab306.c | 4 +- sanei/sanei_access.c | 18 +- sanei/sanei_auth.c | 2 +- sanei/sanei_config.c | 10 +- sanei/sanei_config2.c | 2 +- sanei/sanei_init_debug.c | 24 +- sanei/sanei_lm983x.c | 14 +- sanei/sanei_magic.c | 103 +- sanei/sanei_pa4s2.c | 22 +- sanei/sanei_pio.c | 46 +- sanei/sanei_pp.c | 70 +- sanei/sanei_pv8630.c | 2 +- sanei/sanei_scsi.c | 76 +- sanei/sanei_thread.c | 25 +- sanei/sanei_udp.c | 1 - sanei/sanei_usb.c | 427 +- sanei/sanei_wire.c | 26 +- test-driver | 139 - testsuite/Makefile.am | 12 +- testsuite/Makefile.in | 725 - testsuite/README | 2 - testsuite/backend/Makefile.am | 7 + testsuite/backend/genesys/Makefile.am | 23 + testsuite/backend/genesys/minigtest.cc | 35 + testsuite/backend/genesys/minigtest.h | 77 + testsuite/backend/genesys/tests.cc | 30 + testsuite/backend/genesys/tests.h | 28 + testsuite/backend/genesys/tests_calibration.cc | 130 + testsuite/sanei/Makefile.am | 2 +- testsuite/sanei/Makefile.in | 1138 -- testsuite/sanei/README | 2 +- testsuite/sanei/data/umax_pp.conf | 6 +- testsuite/sanei/sanei_check_test.c | 2 +- testsuite/sanei/sanei_config_test.c | 4 +- testsuite/sanei/sanei_constrain_test.c | 6 +- testsuite/tools/Makefile.am | 6 +- testsuite/tools/Makefile.in | 548 - testsuite/tools/README | 2 +- testsuite/tools/data/ascii.ref | 524 +- testsuite/tools/data/db.ref | 1338 +- testsuite/tools/data/html-backends-split.ref | 1044 +- testsuite/tools/data/html-mfgs.ref | 5002 ++--- testsuite/tools/data/hwdb.ref | 3 +- testsuite/tools/data/testfile.desc | 617 +- testsuite/tools/data/udev+acl.ref | 2 +- testsuite/tools/data/udev+hwdb.ref | 2 +- testsuite/tools/data/udev.ref | 2 +- testsuite/tools/data/usermap.ref | 2 +- testsuite/tools/data/xml.ref | 700 +- tools/.gitignore | 8 + tools/Makefile.am | 3 + tools/Makefile.in | 913 - tools/README | 7 +- tools/RenSaneDlls.cmd | 2 +- tools/check-po.awk | 6 +- tools/check-usb-chip.c | 34 +- tools/create-changelog.sh | 16 + tools/create-release.sh | 61 + tools/epson2usb.pl | 61 + tools/hotplug-ng/.gitignore | 1 + tools/hotplug/.gitignore | 1 + tools/hotplug/libusbscanner | 1 - tools/sane-config.in | 3 +- tools/sane-desc.c | 60 +- tools/sane-find-scanner.c | 59 +- tools/style-check.sh | 99 + tools/umax_pp.c | 6 +- tools/update-upstreams.sh | 21 + tools/xerox | 4 +- 860 files changed, 131294 insertions(+), 171804 deletions(-) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml delete mode 100644 ABOUT-NLS create mode 100644 ChangeLogs/ChangeLog-1.0.0 create mode 100644 ChangeLogs/ChangeLog-1.0.1 create mode 100644 ChangeLogs/ChangeLog-1.0.10 create mode 100644 ChangeLogs/ChangeLog-1.0.12 create mode 100644 ChangeLogs/ChangeLog-1.0.13 create mode 100644 ChangeLogs/ChangeLog-1.0.14 create mode 100644 ChangeLogs/ChangeLog-1.0.15 create mode 100644 ChangeLogs/ChangeLog-1.0.16 create mode 100644 ChangeLogs/ChangeLog-1.0.17 create mode 100644 ChangeLogs/ChangeLog-1.0.18 create mode 100644 ChangeLogs/ChangeLog-1.0.19 create mode 100644 ChangeLogs/ChangeLog-1.0.2 create mode 100644 ChangeLogs/ChangeLog-1.0.20 create mode 100644 ChangeLogs/ChangeLog-1.0.21 create mode 100644 ChangeLogs/ChangeLog-1.0.22 create mode 100644 ChangeLogs/ChangeLog-1.0.23 create mode 100644 ChangeLogs/ChangeLog-1.0.24 create mode 100644 ChangeLogs/ChangeLog-1.0.25 create mode 100644 ChangeLogs/ChangeLog-1.0.27 create mode 100644 ChangeLogs/ChangeLog-1.0.3 create mode 100644 ChangeLogs/ChangeLog-1.0.4 create mode 100644 ChangeLogs/ChangeLog-1.0.5 create mode 100644 ChangeLogs/ChangeLog-1.0.6 create mode 100644 ChangeLogs/ChangeLog-1.0.7 create mode 100644 ChangeLogs/ChangeLog-1.0.8 create mode 100644 ChangeLogs/ChangeLog-1.0.9 delete mode 100644 INSTALL create mode 100644 INSTALL.linux delete mode 100644 Makefile.in create mode 100644 Rules-quot.patch delete mode 100644 aclocal.m4 delete mode 100755 ar-lib create mode 100755 autogen.sh create mode 100644 backend/.gitignore delete mode 100644 backend/Makefile.in delete mode 100644 backend/genesys.c create mode 100644 backend/genesys.cc delete mode 100644 backend/genesys_conv.c create mode 100644 backend/genesys_conv.cc delete mode 100644 backend/genesys_conv_hlp.c create mode 100644 backend/genesys_conv_hlp.cc delete mode 100644 backend/genesys_devices.c create mode 100644 backend/genesys_devices.cc create mode 100644 backend/genesys_error.cc create mode 100644 backend/genesys_error.h delete mode 100644 backend/genesys_gl124.c create mode 100644 backend/genesys_gl124.cc delete mode 100644 backend/genesys_gl646.c create mode 100644 backend/genesys_gl646.cc delete mode 100644 backend/genesys_gl841.c create mode 100644 backend/genesys_gl841.cc delete mode 100644 backend/genesys_gl843.c create mode 100644 backend/genesys_gl843.cc delete mode 100644 backend/genesys_gl846.c create mode 100644 backend/genesys_gl846.cc delete mode 100644 backend/genesys_gl847.c create mode 100644 backend/genesys_gl847.cc delete mode 100644 backend/genesys_low.c create mode 100644 backend/genesys_low.cc create mode 100644 backend/genesys_sanei.cc create mode 100644 backend/genesys_sanei.h create mode 100644 backend/genesys_serialize.cc create mode 100644 backend/genesys_serialize.h create mode 100644 backend/ricoh2.c create mode 100644 backend/ricoh2_buffer.c create mode 100755 backend/scripts/pixma_gen_options.py delete mode 100755 compile delete mode 100755 config.guess delete mode 100755 config.rpath delete mode 100755 config.sub delete mode 100755 configure delete mode 100755 depcomp create mode 100644 doc/.gitignore delete mode 100644 doc/Makefile.in delete mode 100644 doc/descriptions-external/canon_mfp.desc create mode 100644 doc/descriptions/ricoh2.desc create mode 100644 doc/sane-ricoh2.man create mode 100644 frontend/.gitignore delete mode 100644 frontend/Makefile.in create mode 100644 include/.gitignore delete mode 100644 include/Makefile.in create mode 100644 include/sane/.gitignore delete mode 100644 include/sane/config.h.in delete mode 100755 install-sh delete mode 100644 japi/Makefile.in delete mode 100644 lib/Makefile.in delete mode 100644 lib/isfdtype.c delete mode 100644 ltmain.sh create mode 100644 ltmain.sh.patch delete mode 100644 m4/gettext.m4 delete mode 100644 m4/iconv.m4 delete mode 100644 m4/intlmacosx.m4 delete mode 100644 m4/lib-ld.m4 delete mode 100644 m4/lib-link.m4 delete mode 100644 m4/lib-prefix.m4 delete mode 100644 m4/libtool.m4 delete mode 100644 m4/ltoptions.m4 delete mode 100644 m4/ltsugar.m4 delete mode 100644 m4/ltversion.m4 delete mode 100644 m4/lt~obsolete.m4 delete mode 100644 m4/nls.m4 delete mode 100644 m4/po.m4 delete mode 100644 m4/progtest.m4 delete mode 100644 m4/stdint.m4 delete mode 100755 missing delete mode 100755 mkinstalldirs delete mode 100644 po/Makefile.in.in create mode 100644 po/README delete mode 100644 po/Rules-quot delete mode 100644 po/bg.gmo delete mode 100644 po/boldquot.sed create mode 100644 po/ca.po create mode 100644 po/ca@valencia.po delete mode 100644 po/cs.gmo delete mode 100644 po/da.gmo delete mode 100644 po/de.gmo delete mode 100644 po/en@boldquot.gmo delete mode 100644 po/en@boldquot.header delete mode 100644 po/en@boldquot.po delete mode 100644 po/en@quot.gmo delete mode 100644 po/en@quot.header delete mode 100644 po/en@quot.po delete mode 100644 po/en_GB.gmo delete mode 100644 po/eo.gmo delete mode 100644 po/es.gmo delete mode 100644 po/fi.gmo delete mode 100644 po/fr.gmo delete mode 100644 po/gl.gmo create mode 100644 po/he.po delete mode 100644 po/hu.gmo delete mode 100644 po/insert-header.sin delete mode 100644 po/it.gmo delete mode 100644 po/ja.gmo delete mode 100644 po/nb.gmo delete mode 100644 po/nl.gmo delete mode 100644 po/pl.gmo delete mode 100644 po/pt.gmo delete mode 100644 po/quot.sed delete mode 100644 po/remove-potcdate.sin delete mode 100644 po/ru.gmo delete mode 100644 po/sane-backends.pot delete mode 100644 po/stamp-po delete mode 100644 po/sv.gmo delete mode 100644 po/uk.gmo delete mode 100644 sane-backends.lsm delete mode 100644 sanei/Makefile.in delete mode 100755 test-driver delete mode 100644 testsuite/Makefile.in create mode 100644 testsuite/backend/Makefile.am create mode 100644 testsuite/backend/genesys/Makefile.am create mode 100644 testsuite/backend/genesys/minigtest.cc create mode 100644 testsuite/backend/genesys/minigtest.h create mode 100644 testsuite/backend/genesys/tests.cc create mode 100644 testsuite/backend/genesys/tests.h create mode 100644 testsuite/backend/genesys/tests_calibration.cc delete mode 100644 testsuite/sanei/Makefile.in delete mode 100644 testsuite/tools/Makefile.in create mode 100644 tools/.gitignore delete mode 100644 tools/Makefile.in create mode 100755 tools/create-changelog.sh create mode 100755 tools/create-release.sh create mode 100755 tools/epson2usb.pl create mode 100644 tools/hotplug-ng/.gitignore create mode 100644 tools/hotplug/.gitignore create mode 100755 tools/style-check.sh create mode 100755 tools/update-upstreams.sh diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..0faa31d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +# .editorconfig -- settings for consistent coding style conventions +# Copyright (C) 2017 Olaf Meeuwissen +# +# License: GPL-3.0+ + +# Your editor may need a plugin for this configuration to take effect. +# See http://editorconfig.org/#download for details. + +root = true ; look no further + +[*] +charset = utf-8 +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aed89bd --- /dev/null +++ b/.gitignore @@ -0,0 +1,59 @@ +# files generated by building the project +*.a +*.la +*.lo +*.o +*.po~ +.deps/ +.libs/ + +# files generated during the configure step +Makefile +autom4te.cache/ +config.cache +libtool + +# files generated during autogen.sh step +Makefile.in +/INSTALL +/aclocal.m4 +/ar-lib +/compile +/config.guess +/config.log +/config.rpath +/config.sub +/config.status +/configure +/depcomp +/install-sh +/ltmain.sh +/ltmain.sh.orig +/m4/ +!/m4/byteorder.m4 +/missing +/mkinstalldirs +/test-driver + +# Gettext stuff +/ABOUT-NLS +/po/* +!/po/*.po +/po/en@*quot.po +!/po/LINGUAS +!/po/Makevars +!/po/POTFILES.in + +# `make check` artifacts +test-suite.log +/testsuite/sanei/sanei_*_test +/testsuite/sanei/sanei_*_test.log +/testsuite/sanei/sanei_*_test.trs +/testsuite/sanei/test_wire +/testsuite/sanei/test_wire.log +/testsuite/sanei/test_wire.out +/testsuite/sanei/test_wire.trs +/testsuite/tools/*.res + +# `make dist` artifacts +/sane-backends-*.tar.gz diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..f35992f --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,125 @@ +# .gitlab-ci.yml -- to test some source code build scenarios +# Copyright (C) 2016-2019 Olaf Meeuwissen +# +# License: GPL-3.0+ + +variables: + REGISTRY_HUB: "registry.gitlab.com/sane-project/ci-envs" + CONFIGURE_MINI: "--enable-silent-rules" + CONFIGURE_FULL: "--with-usb --enable-avahi --enable-pnm-backend" + +stages: + - prepare + - compile + - archive + - release + +prepare: + image: $REGISTRY_HUB:debian-stretch-mini + stage: prepare + script: + - git ls-files | xargs ./tools/style-check.sh + - ./autogen.sh + - ./tools/create-changelog.sh + - ./tools/update-upstreams.sh + - ./configure + - make dist + artifacts: + paths: + - sane-backends-*.tar.gz + expire_in: 1 day + +.compile_template: &compile_definition + stage: compile + script: + - mkdir build + - cd build + - tar xzf ../sane-backends-*.tar.gz --strip-components=1 + - ./configure $CONFIGURE_OPTS + - make -j2 -k $MAKE_FLAGS + +compile:debian-9-mini: + image: $REGISTRY_HUB:debian-stretch-mini + variables: + CONFIGURE_OPTS: "$CONFIGURE_MINI" + MAKE_FLAGS: "CFLAGS=-Werror" + <<: *compile_definition + +compile:debian-9-full: + image: $REGISTRY_HUB:debian-stretch-full + variables: + CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL" + MAKE_FLAGS: "CFLAGS=-Werror CXXFLAGS=-Werror" + <<: *compile_definition + after_script: + - make -C build/doc html-pages + - rm -rf lists && mkdir lists && mv build/doc/*.html lists/ + - cd build/doc && doxygen doxygen-sanei.conf && mv sanei-html ../../doc + artifacts: + paths: + - sane-backends-*.tar.gz + - lists + - doc/sanei-html + expire_in: 1 day + +compile:debian-10-mini: + image: $REGISTRY_HUB:debian-buster-mini + variables: + CONFIGURE_OPTS: "$CONFIGURE_MINI" + #MAKE_FLAGS: "CFLAGS=-Werror" + <<: *compile_definition + +compile:debian-10-full: + image: $REGISTRY_HUB:debian-buster-full + variables: + CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL" + #MAKE_FLAGS: "CFLAGS=-Werror" + <<: *compile_definition + +compile:fedora-29-clang: + image: $REGISTRY_HUB:fedora-29-clang + variables: + CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL" + <<: *compile_definition + +compile:fedora-30-clang: + image: $REGISTRY_HUB:fedora-30-clang + variables: + CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL" + <<: *compile_definition + +compile:alpine-3.10-musl: + image: $REGISTRY_HUB:alpine-3.10-musl + variables: + CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL" + <<: *compile_definition + +archive: + image: $REGISTRY_HUB:debian-stretch-full + stage: archive + dependencies: + - compile:debian-9-full + script: + - tar xzf sane-backends-*.tar.gz --strip-components=1 + - rm sane-backends-*.tar.gz + - ./configure + - make distcheck + artifacts: + paths: + - sane-backends-*.tar.gz + - lists + - doc/sanei-html + +release: + image: alpine + stage: release + before_script: + - apk --no-cache add curl git jq + script: + - ./tools/create-release.sh + only: + - tags + when: manual + variables: + GIT_DEPTH: "3" + allow_failure: false diff --git a/ABOUT-NLS b/ABOUT-NLS deleted file mode 100644 index b1de1b6..0000000 --- a/ABOUT-NLS +++ /dev/null @@ -1,1282 +0,0 @@ -1 Notes on the Free Translation Project -*************************************** - -Free software is going international! The Free Translation Project is -a way to get maintainers of free software, translators, and users all -together, so that free software will gradually become able to speak many -languages. A few packages already provide translations for their -messages. - - If you found this `ABOUT-NLS' file inside a distribution, you may -assume that the distributed package does use GNU `gettext' internally, -itself available at your nearest GNU archive site. But you do _not_ -need to install GNU `gettext' prior to configuring, installing or using -this package with messages translated. - - Installers will find here some useful hints. These notes also -explain how users should proceed for getting the programs to use the -available translations. They tell how people wanting to contribute and -work on translations can contact the appropriate team. - -1.1 INSTALL Matters -=================== - -Some packages are "localizable" when properly installed; the programs -they contain can be made to speak your own native language. Most such -packages use GNU `gettext'. Other packages have their own ways to -internationalization, predating GNU `gettext'. - - By default, this package will be installed to allow translation of -messages. It will automatically detect whether the system already -provides the GNU `gettext' functions. Installers may use special -options at configuration time for changing the default behaviour. The -command: - - ./configure --disable-nls - -will _totally_ disable translation of messages. - - When you already have GNU `gettext' installed on your system and run -configure without an option for your new package, `configure' will -probably detect the previously built and installed `libintl' library -and will decide to use it. If not, you may have to to use the -`--with-libintl-prefix' option to tell `configure' where to look for it. - - Internationalized packages usually have many `po/LL.po' files, where -LL gives an ISO 639 two-letter code identifying the language. Unless -translations have been forbidden at `configure' time by using the -`--disable-nls' switch, all available translations are installed -together with the package. However, the environment variable `LINGUAS' -may be set, prior to configuration, to limit the installed set. -`LINGUAS' should then contain a space separated list of two-letter -codes, stating which languages are allowed. - -1.2 Using This Package -====================== - -As a user, if your language has been installed for this package, you -only have to set the `LANG' environment variable to the appropriate -`LL_CC' combination. If you happen to have the `LC_ALL' or some other -`LC_xxx' environment variables set, you should unset them before -setting `LANG', otherwise the setting of `LANG' will not have the -desired effect. Here `LL' is an ISO 639 two-letter language code, and -`CC' is an ISO 3166 two-letter country code. For example, let's -suppose that you speak German and live in Germany. At the shell -prompt, merely execute `setenv LANG de_DE' (in `csh'), -`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). -This can be done from your `.login' or `.profile' file, once and for -all. - - You might think that the country code specification is redundant. -But in fact, some languages have dialects in different countries. For -example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The -country code serves to distinguish the dialects. - - The locale naming convention of `LL_CC', with `LL' denoting the -language and `CC' denoting the country, is the one use on systems based -on GNU libc. On other systems, some variations of this scheme are -used, such as `LL' or `LL_CC.ENCODING'. You can get the list of -locales supported by your system for your language by running the -command `locale -a | grep '^LL''. - - Not all programs have translations for all languages. By default, an -English message is shown in place of a nonexistent translation. If you -understand other languages, you can set up a priority list of languages. -This is done through a different environment variable, called -`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' -for the purpose of message handling, but you still need to have `LANG' -set to the primary language; this is required by other parts of the -system libraries. For example, some Swedish users who would rather -read translations in German than English for when Swedish is not -available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. - - Special advice for Norwegian users: The language code for Norwegian -bokma*l changed from `no' to `nb' recently (in 2003). During the -transition period, while some message catalogs for this language are -installed under `nb' and some older ones under `no', it's recommended -for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and -older translations are used. - - In the `LANGUAGE' environment variable, but not in the `LANG' -environment variable, `LL_CC' combinations can be abbreviated as `LL' -to denote the language's main dialect. For example, `de' is equivalent -to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' -(Portuguese as spoken in Portugal) in this context. - -1.3 Translating Teams -===================== - -For the Free Translation Project to be a success, we need interested -people who like their own language and write it well, and who are also -able to synergize with other translators speaking the same language. -Each translation team has its own mailing list. The up-to-date list of -teams can be found at the Free Translation Project's homepage, -`http://translationproject.org/', in the "Teams" area. - - If you'd like to volunteer to _work_ at translating messages, you -should become a member of the translating team for your own language. -The subscribing address is _not_ the same as the list itself, it has -`-request' appended. For example, speakers of Swedish can send a -message to `sv-request@li.org', having this message body: - - subscribe - - Keep in mind that team members are expected to participate -_actively_ in translations, or at solving translational difficulties, -rather than merely lurking around. If your team does not exist yet and -you want to start one, or if you are unsure about what to do or how to -get started, please write to `coordinator@translationproject.org' to -reach the coordinator for all translator teams. - - The English team is special. It works at improving and uniformizing -the terminology in use. Proven linguistic skills are praised more than -programming skills, here. - -1.4 Available Packages -====================== - -Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of June -2010. The matrix shows, in regard of each package, for which languages -PO files have been submitted to translation coordination, with a -translation percentage of at least 50%. - - Ready PO files af am an ar as ast az be be@latin bg bn_IN bs ca - +--------------------------------------------------+ - a2ps | [] [] | - aegis | | - ant-phone | | - anubis | | - aspell | [] [] | - bash | | - bfd | | - bibshelf | [] | - binutils | | - bison | | - bison-runtime | [] | - bluez-pin | [] [] | - bombono-dvd | | - buzztard | | - cflow | | - clisp | | - coreutils | [] [] | - cpio | | - cppi | | - cpplib | [] | - cryptsetup | | - dfarc | | - dialog | [] [] | - dico | | - diffutils | [] | - dink | | - doodle | | - e2fsprogs | [] | - enscript | [] | - exif | | - fetchmail | [] | - findutils | [] | - flex | [] | - freedink | | - gas | | - gawk | [] [] | - gcal | [] | - gcc | | - gettext-examples | [] [] [] [] | - gettext-runtime | [] [] | - gettext-tools | [] [] | - gip | [] | - gjay | | - gliv | [] | - glunarclock | [] [] | - gnubiff | | - gnucash | [] | - gnuedu | | - gnulib | | - gnunet | | - gnunet-gtk | | - gnutls | | - gold | | - gpe-aerial | | - gpe-beam | | - gpe-bluetooth | | - gpe-calendar | | - gpe-clock | [] | - gpe-conf | | - gpe-contacts | | - gpe-edit | | - gpe-filemanager | | - gpe-go | | - gpe-login | | - gpe-ownerinfo | [] | - gpe-package | | - gpe-sketchbook | | - gpe-su | [] | - gpe-taskmanager | [] | - gpe-timesheet | [] | - gpe-today | [] | - gpe-todo | | - gphoto2 | | - gprof | [] | - gpsdrive | | - gramadoir | | - grep | | - grub | [] [] | - gsasl | | - gss | | - gst-plugins-bad | [] | - gst-plugins-base | [] | - gst-plugins-good | [] | - gst-plugins-ugly | [] | - gstreamer | [] [] [] | - gtick | | - gtkam | [] | - gtkorphan | [] | - gtkspell | [] [] [] | - gutenprint | | - hello | [] | - help2man | | - hylafax | | - idutils | | - indent | [] [] | - iso_15924 | | - iso_3166 | [] [] [] [] [] [] [] | - iso_3166_2 | | - iso_4217 | | - iso_639 | [] [] [] [] | - iso_639_3 | | - jwhois | | - kbd | | - keytouch | [] | - keytouch-editor | | - keytouch-keyboa... | [] | - klavaro | [] | - latrine | | - ld | [] | - leafpad | [] [] | - libc | [] [] | - libexif | () | - libextractor | | - libgnutls | | - libgpewidget | | - libgpg-error | | - libgphoto2 | | - libgphoto2_port | | - libgsasl | | - libiconv | [] | - libidn | | - lifelines | | - liferea | [] [] | - lilypond | | - linkdr | [] | - lordsawar | | - lprng | | - lynx | [] | - m4 | | - mailfromd | | - mailutils | | - make | | - man-db | | - man-db-manpages | | - minicom | | - mkisofs | | - myserver | | - nano | [] [] | - opcodes | | - parted | | - pies | | - popt | | - psmisc | | - pspp | [] | - pwdutils | | - radius | [] | - recode | [] [] | - rosegarden | | - rpm | | - rush | | - sarg | | - screem | | - scrollkeeper | [] [] [] | - sed | [] [] | - sharutils | [] [] | - shishi | | - skencil | | - solfege | | - solfege-manual | | - soundtracker | | - sp | | - sysstat | | - tar | [] | - texinfo | | - tin | | - unicode-han-tra... | | - unicode-transla... | | - util-linux-ng | [] | - vice | | - vmm | | - vorbis-tools | | - wastesedge | | - wdiff | | - wget | [] [] | - wyslij-po | | - xchat | [] [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] | - +--------------------------------------------------+ - af am an ar as ast az be be@latin bg bn_IN bs ca - 6 0 1 2 3 19 1 10 3 28 3 1 38 - - crh cs da de el en en_GB en_ZA eo es et eu fa - +-------------------------------------------------+ - a2ps | [] [] [] [] [] [] [] | - aegis | [] [] [] | - ant-phone | [] () | - anubis | [] [] | - aspell | [] [] [] [] [] | - bash | [] [] [] | - bfd | [] | - bibshelf | [] [] [] | - binutils | [] | - bison | [] [] | - bison-runtime | [] [] [] [] | - bluez-pin | [] [] [] [] [] [] | - bombono-dvd | [] | - buzztard | [] [] [] | - cflow | [] [] | - clisp | [] [] [] [] | - coreutils | [] [] [] [] | - cpio | | - cppi | | - cpplib | [] [] [] | - cryptsetup | [] | - dfarc | [] [] [] | - dialog | [] [] [] [] [] | - dico | | - diffutils | [] [] [] [] [] [] | - dink | [] [] [] | - doodle | [] | - e2fsprogs | [] [] [] | - enscript | [] [] [] | - exif | () [] [] | - fetchmail | [] [] () [] [] [] | - findutils | [] [] [] | - flex | [] [] | - freedink | [] [] [] | - gas | [] | - gawk | [] [] [] | - gcal | [] | - gcc | [] [] | - gettext-examples | [] [] [] [] | - gettext-runtime | [] [] [] [] | - gettext-tools | [] [] [] | - gip | [] [] [] [] | - gjay | [] | - gliv | [] [] [] | - glunarclock | [] [] | - gnubiff | () | - gnucash | [] () () () () | - gnuedu | [] [] | - gnulib | [] [] | - gnunet | | - gnunet-gtk | [] | - gnutls | [] [] | - gold | [] | - gpe-aerial | [] [] [] [] | - gpe-beam | [] [] [] [] | - gpe-bluetooth | [] [] | - gpe-calendar | [] | - gpe-clock | [] [] [] [] | - gpe-conf | [] [] [] | - gpe-contacts | [] [] [] | - gpe-edit | [] [] | - gpe-filemanager | [] [] [] | - gpe-go | [] [] [] [] | - gpe-login | [] [] | - gpe-ownerinfo | [] [] [] [] | - gpe-package | [] [] [] | - gpe-sketchbook | [] [] [] [] | - gpe-su | [] [] [] [] | - gpe-taskmanager | [] [] [] [] | - gpe-timesheet | [] [] [] [] | - gpe-today | [] [] [] [] | - gpe-todo | [] [] [] | - gphoto2 | [] [] () [] [] [] | - gprof | [] [] [] | - gpsdrive | [] [] [] | - gramadoir | [] [] [] | - grep | [] | - grub | [] [] | - gsasl | [] | - gss | | - gst-plugins-bad | [] [] [] [] [] | - gst-plugins-base | [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] | - gtick | [] () [] | - gtkam | [] [] () [] [] | - gtkorphan | [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] | - gutenprint | [] [] [] | - hello | [] [] [] [] | - help2man | [] | - hylafax | [] [] | - idutils | [] [] | - indent | [] [] [] [] [] [] [] | - iso_15924 | [] () [] [] | - iso_3166 | [] [] [] [] () [] [] [] () | - iso_3166_2 | () | - iso_4217 | [] [] [] () [] [] | - iso_639 | [] [] [] [] () [] [] | - iso_639_3 | [] | - jwhois | [] | - kbd | [] [] [] [] [] | - keytouch | [] [] | - keytouch-editor | [] [] | - keytouch-keyboa... | [] | - klavaro | [] [] [] [] | - latrine | [] () | - ld | [] [] | - leafpad | [] [] [] [] [] [] | - libc | [] [] [] [] | - libexif | [] [] () | - libextractor | | - libgnutls | [] | - libgpewidget | [] [] | - libgpg-error | [] [] | - libgphoto2 | [] () | - libgphoto2_port | [] () [] | - libgsasl | | - libiconv | [] [] [] [] [] | - libidn | [] [] [] | - lifelines | [] () | - liferea | [] [] [] [] [] | - lilypond | [] [] [] | - linkdr | [] [] [] | - lordsawar | [] | - lprng | | - lynx | [] [] [] [] | - m4 | [] [] [] [] | - mailfromd | | - mailutils | [] | - make | [] [] [] | - man-db | | - man-db-manpages | | - minicom | [] [] [] [] | - mkisofs | | - myserver | | - nano | [] [] [] | - opcodes | [] [] | - parted | [] [] | - pies | | - popt | [] [] [] [] [] | - psmisc | [] [] [] | - pspp | [] | - pwdutils | [] | - radius | [] | - recode | [] [] [] [] [] [] | - rosegarden | () () () | - rpm | [] [] [] | - rush | | - sarg | | - screem | | - scrollkeeper | [] [] [] [] [] | - sed | [] [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | | - skencil | [] () [] | - solfege | [] [] [] | - solfege-manual | [] [] | - soundtracker | [] [] [] | - sp | [] | - sysstat | [] [] [] | - tar | [] [] [] [] | - texinfo | [] [] [] | - tin | [] [] | - unicode-han-tra... | | - unicode-transla... | | - util-linux-ng | [] [] [] [] | - vice | () () | - vmm | [] | - vorbis-tools | [] [] | - wastesedge | [] | - wdiff | [] [] | - wget | [] [] [] | - wyslij-po | | - xchat | [] [] [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] [] [] | - +-------------------------------------------------+ - crh cs da de el en en_GB en_ZA eo es et eu fa - 5 64 105 117 18 1 8 0 28 89 18 19 0 - - fi fr ga gl gu he hi hr hu hy id is it ja ka kn - +----------------------------------------------------+ - a2ps | [] [] [] [] | - aegis | [] [] | - ant-phone | [] [] | - anubis | [] [] [] [] | - aspell | [] [] [] [] | - bash | [] [] [] [] | - bfd | [] [] [] | - bibshelf | [] [] [] [] [] | - binutils | [] [] [] | - bison | [] [] [] [] | - bison-runtime | [] [] [] [] [] [] | - bluez-pin | [] [] [] [] [] [] [] [] | - bombono-dvd | [] | - buzztard | [] | - cflow | [] [] [] | - clisp | [] | - coreutils | [] [] [] [] [] | - cpio | [] [] [] [] | - cppi | [] [] | - cpplib | [] [] [] | - cryptsetup | [] [] [] | - dfarc | [] [] [] | - dialog | [] [] [] [] [] [] [] | - dico | | - diffutils | [] [] [] [] [] [] [] [] [] | - dink | [] | - doodle | [] [] | - e2fsprogs | [] [] | - enscript | [] [] [] [] | - exif | [] [] [] [] [] [] | - fetchmail | [] [] [] [] | - findutils | [] [] [] [] [] [] | - flex | [] [] [] | - freedink | [] [] [] | - gas | [] [] | - gawk | [] [] [] [] () [] | - gcal | [] | - gcc | [] | - gettext-examples | [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] | - gettext-tools | [] [] [] [] | - gip | [] [] [] [] [] [] | - gjay | [] | - gliv | [] () | - glunarclock | [] [] [] [] | - gnubiff | () [] () | - gnucash | () () () () () [] | - gnuedu | [] [] | - gnulib | [] [] [] [] [] [] | - gnunet | | - gnunet-gtk | [] | - gnutls | [] [] | - gold | [] [] | - gpe-aerial | [] [] [] | - gpe-beam | [] [] [] [] | - gpe-bluetooth | [] [] [] [] | - gpe-calendar | [] [] | - gpe-clock | [] [] [] [] [] | - gpe-conf | [] [] [] [] | - gpe-contacts | [] [] [] [] | - gpe-edit | [] [] [] | - gpe-filemanager | [] [] [] [] | - gpe-go | [] [] [] [] [] | - gpe-login | [] [] [] | - gpe-ownerinfo | [] [] [] [] [] | - gpe-package | [] [] [] | - gpe-sketchbook | [] [] [] [] | - gpe-su | [] [] [] [] [] [] | - gpe-taskmanager | [] [] [] [] [] | - gpe-timesheet | [] [] [] [] [] | - gpe-today | [] [] [] [] [] [] [] | - gpe-todo | [] [] [] | - gphoto2 | [] [] [] [] [] [] | - gprof | [] [] [] [] | - gpsdrive | [] [] [] | - gramadoir | [] [] [] | - grep | [] [] | - grub | [] [] [] [] | - gsasl | [] [] [] [] [] | - gss | [] [] [] [] [] | - gst-plugins-bad | [] [] [] [] [] [] | - gst-plugins-base | [] [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] | - gtick | [] [] [] [] [] | - gtkam | [] [] [] [] [] | - gtkorphan | [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] [] | - gutenprint | [] [] [] [] | - hello | [] [] [] | - help2man | [] [] | - hylafax | [] | - idutils | [] [] [] [] [] [] | - indent | [] [] [] [] [] [] [] [] | - iso_15924 | [] () [] [] | - iso_3166 | [] () [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | () [] [] [] | - iso_4217 | [] () [] [] [] [] | - iso_639 | [] () [] [] [] [] [] [] [] | - iso_639_3 | () [] [] | - jwhois | [] [] [] [] [] | - kbd | [] [] | - keytouch | [] [] [] [] [] [] | - keytouch-editor | [] [] [] [] [] | - keytouch-keyboa... | [] [] [] [] [] | - klavaro | [] [] | - latrine | [] [] [] | - ld | [] [] [] [] | - leafpad | [] [] [] [] [] [] [] () | - libc | [] [] [] [] [] | - libexif | [] | - libextractor | | - libgnutls | [] [] | - libgpewidget | [] [] [] [] | - libgpg-error | [] [] | - libgphoto2 | [] [] [] | - libgphoto2_port | [] [] [] | - libgsasl | [] [] [] [] [] | - libiconv | [] [] [] [] [] [] | - libidn | [] [] [] [] | - lifelines | () | - liferea | [] [] [] [] | - lilypond | [] [] | - linkdr | [] [] [] [] [] | - lordsawar | | - lprng | [] | - lynx | [] [] [] [] [] | - m4 | [] [] [] [] [] [] | - mailfromd | | - mailutils | [] [] | - make | [] [] [] [] [] [] [] [] [] | - man-db | [] [] | - man-db-manpages | [] | - minicom | [] [] [] [] [] | - mkisofs | [] [] [] [] | - myserver | | - nano | [] [] [] [] [] [] | - opcodes | [] [] [] [] | - parted | [] [] [] [] | - pies | | - popt | [] [] [] [] [] [] [] [] [] | - psmisc | [] [] [] | - pspp | | - pwdutils | [] [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] [] | - rosegarden | () () () () () | - rpm | [] [] | - rush | | - sarg | [] | - screem | [] [] | - scrollkeeper | [] [] [] [] | - sed | [] [] [] [] [] [] [] [] | - sharutils | [] [] [] [] [] [] [] | - shishi | [] | - skencil | [] | - solfege | [] [] [] [] | - solfege-manual | [] [] | - soundtracker | [] [] | - sp | [] () | - sysstat | [] [] [] [] [] | - tar | [] [] [] [] [] [] [] | - texinfo | [] [] [] [] | - tin | [] | - unicode-han-tra... | | - unicode-transla... | [] [] | - util-linux-ng | [] [] [] [] [] [] | - vice | () () () | - vmm | [] | - vorbis-tools | [] | - wastesedge | () () | - wdiff | [] | - wget | [] [] [] [] [] [] [] [] | - wyslij-po | [] [] [] | - xchat | [] [] [] [] [] [] [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] [] | - +----------------------------------------------------+ - fi fr ga gl gu he hi hr hu hy id is it ja ka kn - 105 121 53 20 4 8 3 5 53 2 120 5 84 67 0 4 - - ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne - +-----------------------------------------------+ - a2ps | [] | - aegis | | - ant-phone | | - anubis | [] [] | - aspell | [] | - bash | | - bfd | | - bibshelf | [] [] | - binutils | | - bison | [] | - bison-runtime | [] [] [] [] [] | - bluez-pin | [] [] [] [] [] | - bombono-dvd | | - buzztard | | - cflow | | - clisp | | - coreutils | [] | - cpio | | - cppi | | - cpplib | | - cryptsetup | | - dfarc | [] | - dialog | [] [] [] [] [] | - dico | | - diffutils | [] [] | - dink | | - doodle | | - e2fsprogs | | - enscript | | - exif | [] | - fetchmail | | - findutils | | - flex | | - freedink | [] | - gas | | - gawk | | - gcal | | - gcc | | - gettext-examples | [] [] [] [] | - gettext-runtime | [] | - gettext-tools | [] | - gip | [] [] | - gjay | | - gliv | | - glunarclock | [] | - gnubiff | | - gnucash | () () () () | - gnuedu | | - gnulib | | - gnunet | | - gnunet-gtk | | - gnutls | [] | - gold | | - gpe-aerial | [] | - gpe-beam | [] | - gpe-bluetooth | [] [] | - gpe-calendar | [] | - gpe-clock | [] [] [] [] [] | - gpe-conf | [] [] | - gpe-contacts | [] [] | - gpe-edit | [] | - gpe-filemanager | [] [] | - gpe-go | [] [] [] | - gpe-login | [] | - gpe-ownerinfo | [] [] | - gpe-package | [] [] | - gpe-sketchbook | [] [] | - gpe-su | [] [] [] [] [] [] | - gpe-taskmanager | [] [] [] [] [] [] | - gpe-timesheet | [] [] | - gpe-today | [] [] [] [] | - gpe-todo | [] [] | - gphoto2 | | - gprof | [] | - gpsdrive | | - gramadoir | | - grep | | - grub | | - gsasl | | - gss | | - gst-plugins-bad | [] [] [] [] | - gst-plugins-base | [] [] | - gst-plugins-good | [] [] | - gst-plugins-ugly | [] [] [] [] [] | - gstreamer | | - gtick | | - gtkam | [] | - gtkorphan | [] [] | - gtkspell | [] [] [] [] [] [] [] | - gutenprint | | - hello | [] [] [] | - help2man | | - hylafax | | - idutils | | - indent | | - iso_15924 | [] [] | - iso_3166 | [] [] () [] [] [] [] [] | - iso_3166_2 | | - iso_4217 | [] [] | - iso_639 | [] [] | - iso_639_3 | [] | - jwhois | [] | - kbd | | - keytouch | [] | - keytouch-editor | [] | - keytouch-keyboa... | [] | - klavaro | [] | - latrine | [] | - ld | | - leafpad | [] [] [] | - libc | [] | - libexif | | - libextractor | | - libgnutls | [] | - libgpewidget | [] [] | - libgpg-error | | - libgphoto2 | | - libgphoto2_port | | - libgsasl | | - libiconv | | - libidn | | - lifelines | | - liferea | | - lilypond | | - linkdr | | - lordsawar | | - lprng | | - lynx | | - m4 | | - mailfromd | | - mailutils | | - make | [] | - man-db | | - man-db-manpages | | - minicom | [] | - mkisofs | | - myserver | | - nano | [] [] | - opcodes | | - parted | | - pies | | - popt | [] [] [] | - psmisc | | - pspp | | - pwdutils | | - radius | | - recode | | - rosegarden | | - rpm | | - rush | | - sarg | | - screem | | - scrollkeeper | [] [] | - sed | | - sharutils | | - shishi | | - skencil | | - solfege | [] | - solfege-manual | | - soundtracker | | - sp | | - sysstat | [] | - tar | [] | - texinfo | [] | - tin | | - unicode-han-tra... | | - unicode-transla... | | - util-linux-ng | | - vice | | - vmm | | - vorbis-tools | | - wastesedge | | - wdiff | | - wget | [] | - wyslij-po | | - xchat | [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - +-----------------------------------------------+ - ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne - 20 5 10 1 13 48 4 2 2 4 24 10 20 3 1 - - nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr - +---------------------------------------------------+ - a2ps | [] [] [] [] [] [] [] [] | - aegis | [] [] [] | - ant-phone | [] [] | - anubis | [] [] [] | - aspell | [] [] [] [] [] | - bash | [] [] | - bfd | [] | - bibshelf | [] [] | - binutils | [] [] | - bison | [] [] [] | - bison-runtime | [] [] [] [] [] [] [] | - bluez-pin | [] [] [] [] [] [] [] [] | - bombono-dvd | [] () | - buzztard | [] [] | - cflow | [] | - clisp | [] [] | - coreutils | [] [] [] [] [] [] | - cpio | [] [] [] | - cppi | [] | - cpplib | [] | - cryptsetup | [] | - dfarc | [] | - dialog | [] [] [] [] | - dico | [] | - diffutils | [] [] [] [] [] [] | - dink | () | - doodle | [] [] | - e2fsprogs | [] [] | - enscript | [] [] [] [] [] | - exif | [] [] [] () [] | - fetchmail | [] [] [] [] | - findutils | [] [] [] [] [] | - flex | [] [] [] [] [] | - freedink | [] [] | - gas | | - gawk | [] [] [] [] | - gcal | | - gcc | [] | - gettext-examples | [] [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] [] [] [] | - gettext-tools | [] [] [] [] [] [] | - gip | [] [] [] [] [] | - gjay | | - gliv | [] [] [] [] [] [] | - glunarclock | [] [] [] [] [] | - gnubiff | [] () | - gnucash | [] () () () | - gnuedu | [] | - gnulib | [] [] [] [] | - gnunet | | - gnunet-gtk | | - gnutls | [] [] | - gold | | - gpe-aerial | [] [] [] [] [] [] [] | - gpe-beam | [] [] [] [] [] [] [] | - gpe-bluetooth | [] [] | - gpe-calendar | [] [] [] [] | - gpe-clock | [] [] [] [] [] [] [] [] | - gpe-conf | [] [] [] [] [] [] [] | - gpe-contacts | [] [] [] [] [] | - gpe-edit | [] [] [] | - gpe-filemanager | [] [] [] | - gpe-go | [] [] [] [] [] [] [] [] | - gpe-login | [] [] | - gpe-ownerinfo | [] [] [] [] [] [] [] [] | - gpe-package | [] [] | - gpe-sketchbook | [] [] [] [] [] [] [] | - gpe-su | [] [] [] [] [] [] [] [] | - gpe-taskmanager | [] [] [] [] [] [] [] [] | - gpe-timesheet | [] [] [] [] [] [] [] [] | - gpe-today | [] [] [] [] [] [] [] [] | - gpe-todo | [] [] [] [] [] | - gphoto2 | [] [] [] [] [] [] [] [] | - gprof | [] [] [] | - gpsdrive | [] [] | - gramadoir | [] [] | - grep | [] [] [] [] | - grub | [] [] [] | - gsasl | [] [] [] [] | - gss | [] [] [] | - gst-plugins-bad | [] [] [] [] [] [] | - gst-plugins-base | [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] | - gtick | [] [] [] | - gtkam | [] [] [] [] [] [] | - gtkorphan | [] | - gtkspell | [] [] [] [] [] [] [] [] [] [] | - gutenprint | [] [] | - hello | [] [] [] [] | - help2man | [] [] | - hylafax | [] | - idutils | [] [] [] [] [] | - indent | [] [] [] [] [] [] [] | - iso_15924 | [] [] [] [] | - iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] | - iso_3166_2 | [] [] [] | - iso_4217 | [] [] [] [] [] [] [] [] | - iso_639 | [] [] [] [] [] [] [] [] [] | - iso_639_3 | [] [] | - jwhois | [] [] [] [] | - kbd | [] [] [] | - keytouch | [] [] [] | - keytouch-editor | [] [] [] | - keytouch-keyboa... | [] [] [] | - klavaro | [] [] | - latrine | [] [] | - ld | | - leafpad | [] [] [] [] [] [] [] [] [] | - libc | [] [] [] [] | - libexif | [] [] () [] | - libextractor | | - libgnutls | [] [] | - libgpewidget | [] [] [] | - libgpg-error | [] [] | - libgphoto2 | [] [] | - libgphoto2_port | [] [] [] [] [] | - libgsasl | [] [] [] [] [] | - libiconv | [] [] [] [] [] | - libidn | [] [] | - lifelines | [] [] | - liferea | [] [] [] [] [] () () [] | - lilypond | [] | - linkdr | [] [] [] | - lordsawar | | - lprng | [] | - lynx | [] [] [] | - m4 | [] [] [] [] [] | - mailfromd | [] | - mailutils | [] | - make | [] [] [] [] | - man-db | [] [] [] | - man-db-manpages | [] [] [] | - minicom | [] [] [] [] | - mkisofs | [] [] [] | - myserver | | - nano | [] [] [] [] | - opcodes | [] [] | - parted | [] [] [] [] | - pies | [] | - popt | [] [] [] [] | - psmisc | [] [] [] | - pspp | [] [] | - pwdutils | [] | - radius | [] [] [] | - recode | [] [] [] [] [] [] [] [] | - rosegarden | () () | - rpm | [] [] [] | - rush | [] [] | - sarg | | - screem | | - scrollkeeper | [] [] [] [] [] [] [] [] | - sed | [] [] [] [] [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | [] | - skencil | [] [] | - solfege | [] [] [] [] | - solfege-manual | [] [] [] | - soundtracker | [] | - sp | | - sysstat | [] [] [] [] | - tar | [] [] [] [] | - texinfo | [] [] [] [] | - tin | [] | - unicode-han-tra... | | - unicode-transla... | | - util-linux-ng | [] [] [] [] [] | - vice | [] | - vmm | [] | - vorbis-tools | [] [] | - wastesedge | [] | - wdiff | [] [] | - wget | [] [] [] [] [] [] [] | - wyslij-po | [] [] [] | - xchat | [] [] [] [] [] [] [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - +---------------------------------------------------+ - nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr - 135 10 4 7 105 1 29 62 47 91 3 54 46 9 37 - - sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW - +---------------------------------------------------+ - a2ps | [] [] [] [] [] | 27 - aegis | [] | 9 - ant-phone | [] [] [] [] | 9 - anubis | [] [] [] [] | 15 - aspell | [] [] [] | 20 - bash | [] [] [] | 12 - bfd | [] | 6 - bibshelf | [] [] [] | 16 - binutils | [] [] | 8 - bison | [] [] | 12 - bison-runtime | [] [] [] [] [] [] | 29 - bluez-pin | [] [] [] [] [] [] [] [] | 37 - bombono-dvd | [] | 4 - buzztard | [] | 7 - cflow | [] [] [] | 9 - clisp | | 10 - coreutils | [] [] [] [] | 22 - cpio | [] [] [] [] [] [] | 13 - cppi | [] [] | 5 - cpplib | [] [] [] [] [] [] | 14 - cryptsetup | [] [] | 7 - dfarc | [] | 9 - dialog | [] [] [] [] [] [] [] | 30 - dico | [] | 2 - diffutils | [] [] [] [] [] [] | 30 - dink | | 4 - doodle | [] [] | 7 - e2fsprogs | [] [] [] | 11 - enscript | [] [] [] [] | 17 - exif | [] [] [] | 16 - fetchmail | [] [] [] | 17 - findutils | [] [] [] [] [] | 20 - flex | [] [] [] [] | 15 - freedink | [] | 10 - gas | [] | 4 - gawk | [] [] [] [] | 18 - gcal | [] [] | 5 - gcc | [] [] [] | 7 - gettext-examples | [] [] [] [] [] [] [] | 34 - gettext-runtime | [] [] [] [] [] [] [] | 29 - gettext-tools | [] [] [] [] [] [] | 22 - gip | [] [] [] [] | 22 - gjay | [] | 3 - gliv | [] [] [] | 14 - glunarclock | [] [] [] [] [] | 19 - gnubiff | [] [] | 4 - gnucash | () [] () [] () | 10 - gnuedu | [] [] | 7 - gnulib | [] [] [] [] | 16 - gnunet | [] | 1 - gnunet-gtk | [] [] [] | 5 - gnutls | [] [] [] | 10 - gold | [] | 4 - gpe-aerial | [] [] [] | 18 - gpe-beam | [] [] [] | 19 - gpe-bluetooth | [] [] [] | 13 - gpe-calendar | [] [] [] [] | 12 - gpe-clock | [] [] [] [] [] | 28 - gpe-conf | [] [] [] [] | 20 - gpe-contacts | [] [] [] | 17 - gpe-edit | [] [] [] | 12 - gpe-filemanager | [] [] [] [] | 16 - gpe-go | [] [] [] [] [] | 25 - gpe-login | [] [] [] | 11 - gpe-ownerinfo | [] [] [] [] [] | 25 - gpe-package | [] [] [] | 13 - gpe-sketchbook | [] [] [] | 20 - gpe-su | [] [] [] [] [] | 30 - gpe-taskmanager | [] [] [] [] [] | 29 - gpe-timesheet | [] [] [] [] [] | 25 - gpe-today | [] [] [] [] [] [] | 30 - gpe-todo | [] [] [] [] | 17 - gphoto2 | [] [] [] [] [] | 24 - gprof | [] [] [] | 15 - gpsdrive | [] [] [] | 11 - gramadoir | [] [] [] | 11 - grep | [] [] [] | 10 - grub | [] [] [] | 14 - gsasl | [] [] [] [] | 14 - gss | [] [] [] | 11 - gst-plugins-bad | [] [] [] [] | 26 - gst-plugins-base | [] [] [] [] [] | 24 - gst-plugins-good | [] [] [] [] | 24 - gst-plugins-ugly | [] [] [] [] [] | 29 - gstreamer | [] [] [] [] | 22 - gtick | [] [] [] | 13 - gtkam | [] [] [] | 20 - gtkorphan | [] [] [] | 14 - gtkspell | [] [] [] [] [] [] [] [] [] | 45 - gutenprint | [] | 10 - hello | [] [] [] [] [] [] | 21 - help2man | [] [] | 7 - hylafax | [] | 5 - idutils | [] [] [] [] | 17 - indent | [] [] [] [] [] [] | 30 - iso_15924 | () [] () [] [] | 16 - iso_3166 | [] [] () [] [] () [] [] [] () | 53 - iso_3166_2 | () [] () [] | 9 - iso_4217 | [] () [] [] () [] [] | 26 - iso_639 | [] [] [] () [] () [] [] [] [] | 38 - iso_639_3 | [] () | 8 - jwhois | [] [] [] [] [] | 16 - kbd | [] [] [] [] [] | 15 - keytouch | [] [] [] | 16 - keytouch-editor | [] [] [] | 14 - keytouch-keyboa... | [] [] [] | 14 - klavaro | [] | 11 - latrine | [] [] [] | 10 - ld | [] [] [] [] | 11 - leafpad | [] [] [] [] [] [] | 33 - libc | [] [] [] [] [] | 21 - libexif | [] () | 7 - libextractor | [] | 1 - libgnutls | [] [] [] | 9 - libgpewidget | [] [] [] | 14 - libgpg-error | [] [] [] | 9 - libgphoto2 | [] [] | 8 - libgphoto2_port | [] [] [] [] | 14 - libgsasl | [] [] [] | 13 - libiconv | [] [] [] [] | 21 - libidn | () [] [] | 11 - lifelines | [] | 4 - liferea | [] [] [] | 21 - lilypond | [] | 7 - linkdr | [] [] [] [] [] | 17 - lordsawar | | 1 - lprng | [] | 3 - lynx | [] [] [] [] | 17 - m4 | [] [] [] [] | 19 - mailfromd | [] [] | 3 - mailutils | [] | 5 - make | [] [] [] [] | 21 - man-db | [] [] [] | 8 - man-db-manpages | | 4 - minicom | [] [] | 16 - mkisofs | [] [] | 9 - myserver | | 0 - nano | [] [] [] [] | 21 - opcodes | [] [] [] | 11 - parted | [] [] [] [] [] | 15 - pies | [] [] | 3 - popt | [] [] [] [] [] [] | 27 - psmisc | [] [] | 11 - pspp | | 4 - pwdutils | [] [] | 6 - radius | [] [] | 9 - recode | [] [] [] [] | 28 - rosegarden | () | 0 - rpm | [] [] [] | 11 - rush | [] [] | 4 - sarg | | 1 - screem | [] | 3 - scrollkeeper | [] [] [] [] [] | 27 - sed | [] [] [] [] [] | 30 - sharutils | [] [] [] [] [] | 22 - shishi | [] | 3 - skencil | [] [] | 7 - solfege | [] [] [] [] | 16 - solfege-manual | [] | 8 - soundtracker | [] [] [] | 9 - sp | [] | 3 - sysstat | [] [] | 15 - tar | [] [] [] [] [] [] | 23 - texinfo | [] [] [] [] [] | 17 - tin | | 4 - unicode-han-tra... | | 0 - unicode-transla... | | 2 - util-linux-ng | [] [] [] [] | 20 - vice | () () | 1 - vmm | [] | 4 - vorbis-tools | [] | 6 - wastesedge | | 2 - wdiff | [] [] | 7 - wget | [] [] [] [] [] | 26 - wyslij-po | [] [] | 8 - xchat | [] [] [] [] [] [] | 36 - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | 63 - xkeyboard-config | [] [] [] | 22 - +---------------------------------------------------+ - 85 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW - 178 domains 119 1 3 3 0 10 65 51 155 17 98 7 41 2618 - - Some counters in the preceding matrix are higher than the number of -visible blocks let us expect. This is because a few extra PO files are -used for implementing regional variants of languages, or language -dialects. - - For a PO file in the matrix above to be effective, the package to -which it applies should also have been internationalized and -distributed as such by its maintainer. There might be an observable -lag between the mere existence a PO file and its wide availability in a -distribution. - - If June 2010 seems to be old, you may fetch a more recent copy of -this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date -matrix with full percentage details can be found at -`http://translationproject.org/extra/matrix.html'. - -1.5 Using `gettext' in new packages -=================================== - -If you are writing a freely available program and want to -internationalize it you are welcome to use GNU `gettext' in your -package. Of course you have to respect the GNU Library General Public -License which covers the use of the GNU `gettext' library. This means -in particular that even non-free programs can use `libintl' as a shared -library, whereas only free software can use `libintl' as a static -library or use modified versions of `libintl'. - - Once the sources are changed appropriately and the setup can handle -the use of `gettext' the only thing missing are the translations. The -Free Translation Project is also available for packages which are not -developed inside the GNU project. Therefore the information given above -applies also for every other Free Software Project. Contact -`coordinator@translationproject.org' to make the `.pot' files available -to the translation teams. - diff --git a/AUTHORS b/AUTHORS index 8e041b1..783c881 100644 --- a/AUTHORS +++ b/AUTHORS @@ -11,10 +11,10 @@ Backends: artec_eplus48u:Sergey Vlasov, Andreas Nowack, David Stevenson, and Michael Herder as6e: Eugene S. Weiss - avision: Meino Christian Cramer, René Rebe (*) + avision: Meino Christian Cramer, René Rebe bh: Tom Martone canon: Helmut Koeberle, Manuel Panea, and Markus Mertinat - Mitsuru Okaniwa, Ulrich Deiters (*) + Mitsuru Okaniwa, Ulrich Deiters canon630u: Nathan Rutman canon_dr: m. allan noah (*) canon_pp: Matthew Duggan, Simon Krix @@ -35,13 +35,13 @@ Backends: fujitsu: Randolph Bentson, Frederik Ramm, Oliver Schirrmeister, m. allan noah (*) genesys: Henning Geinitz, Gerhard Jaeger (*), Stéphane Voltz, - Pierre Willenbrock + Pierre Willenbrock, Povilas Kanapickas (*) gphoto2: Peter Fales gt68xx: Sergey Vlasov, Andreas Nowack, David Stevenson, and Henning Geinitz - hp: Peter Kirchgessner (*) + hp: Peter Kirchgessner Geoffrey Dairiki - hp3500: Troy Rollo (*) + hp3500: Troy Rollo hp3900: Jonathan Bravo Lopez hp4200: Adrian Perez Jorge, Andrew John Lewis, Arnar Mar Hrafnkelsson, Frank Zago, Henning Geinitz @@ -49,7 +49,7 @@ Backends: hp5590: Ilia Sotnikov (*) hpljm1005: Philippe Rétornaz hpsj5s: Max Vorobiev - hs2p: Jeremy Johnson (*) + hs2p: Jeremy Johnson ibm: M.F., Henning Geinitz kodak: m. allan noah (*) kodakaio: Paul Newall (*) @@ -73,7 +73,7 @@ Backends: niash: Ullrich Sigwanz, Bertrik Sikken p5: Stéphane Voltz pie: Simon Munton - pieusb: Jan Vleeshouwers, Michael Rickmann, Klaus Kämpf + pieusb: Jan Vleeshouwers, Michael Rickmann, Klaus Kämpf (*) pint: Gordon Matzigkeit pixma: Wittawat Yamwong Nicolas Martin @@ -85,9 +85,10 @@ Backends: pnm: Andreas Beck, Gordon Matzigkeit, David Mosberger, Michael Herder, and Henning Geinitz qcam: Scott Laird (original driver), David Mosberger (SANE backend), - despeckling filter by Patrick Reynolds, + despeckling filter by Patrick Reynolds, B&W fixes by Andrew Kuchling ricoh: Feico W. Dillema + ricoh2: Stanislav Yuzvinsky (*) rts8891: Stéphane Voltz s9036: Ingo Schneider sceptre: Frank Zago diff --git a/ChangeLog b/ChangeLog index 5197a3f..7c1d105 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4111 +1,4 @@ -commit 16f3060061a17cbc54f3415a7e2abc1c35f3fcd2 -Author: Rolf Bensch -Date: Sat May 20 14:13:19 2017 +0200 - - pixma: i-SENSYS MF240 Series is working - -commit ad5fd9edc83f2c6b6e27e9a366cd8ff5e00376b8 -Author: m. allan noah -Date: Fri May 19 20:24:14 2017 -0400 - - Updated NL translation from Martin Kho - -commit baf786742f0382bed3f1b58d9977229826e3df5f -Author: Olaf Meeuwissen -Date: Mon May 15 21:37:34 2017 +0900 - - po/*.po: sync with source code - -commit 05553c679fd02648fc5b6dd3a4abf75fe67e1d27 -Author: m. allan noah -Date: Sun May 14 21:34:36 2017 -0400 - - updated uk.po translation - - Update from Yuri Chornoivan - -commit 479ccaedddcb0a491b351e20cac22595196df02a -Author: Olaf Meeuwissen -Date: Sun May 14 19:48:41 2017 +0900 - - autotools: Sync derived files - - This was done by running - - autoreconf --force --install - - on Debian GNU/Linux 8.8 and reverting the removal of SANE specific - tweaks to ltmain.sh. - -commit 02037adb134a2b533bb3201833444aed7bedc8f6 -Author: Olaf Meeuwissen -Date: Sun May 14 19:47:31 2017 +0900 - - Fix unused parameter compiler warnings in check tools - -commit 85b91bcd248d2a40300b9fda76bdb88853fbcd0b -Author: Jörg Frings-Fürst -Date: Sat May 13 18:11:40 2017 +0900 - - doc: fix typos, formatting and stylistic issues - -commit 1808a63b0091f0e5562586278b13d7ae63184f43 -Author: Jörg Frings-Fürst -Date: Sat May 13 18:07:26 2017 +0900 - - Replace the startup gamma with the same from the standalone version - - Fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629470 - -commit 5c0812c51b6d48516acb9dd9efcfbe2b34f04a79 -Author: Jörg Frings-Fürst -Date: Sat May 13 18:05:43 2017 +0900 - - genesys.conf: fix comment typo - -commit e21bb28e5051d8fdd64df3c4ea2625b9f45538c8 -Author: Jörg Frings-Fürst -Date: Sat May 13 18:03:42 2017 +0900 - - Source code string typo fixes - -commit 09cf70563a1129116ab6888e944bfcb44fec8dd0 -Author: Olaf Meeuwissen -Date: Sat May 13 16:33:23 2017 +0900 - - configure.ac: Fix condition - -commit 9230e0c251f2351ce1c7b8d7fca08dc39c320925 -Author: Olaf Meeuwissen -Date: Sat May 13 13:12:06 2017 +0900 - - saned: Link against Avahi library - -commit da5ce7216cf63a454411fa781bc2ea30fa881974 -Author: Olaf Meeuwissen -Date: Sat May 13 13:09:25 2017 +0900 - - Add a header to dll.conf - - Document dll.conf in a header, point to the dll.d directory for external - backends and document the net backend w/ pointers to the manpages. - - Based on a patch by Julien BLACHE - -commit 77dcf26860b239dafb3094c863691aaef304805a -Author: Christopher James Halse Rogers -Date: Sat May 13 13:07:01 2017 +0900 - - Fix potential assert in avahi backend - - avahi_browser contains a reference to an AvahiClient, which may be - avahi_client. If it does, then freeing avahi_browser references avahi_client, - resulting in an assert() in Avahi's linked list macro. - - Fix this by freeing avahi_browser before avahi_client. - See https://bugs.launchpad.net/bugs/831867 - -commit e6711c377f266d33a3d8bc28d7a508e3c4c29c79 -Author: Rolf Bensch -Date: Wed May 10 19:10:26 2017 +0200 - - remove unused entry from ChangeLog - -commit 0cf531e44528a541d76c3571bca72f395b7892ae -Author: Klaus Kämpf -Date: Tue May 9 10:52:12 2017 +0200 - - Update pieusb.conf and pieusb.desc - -commit 135b4a3909e0fe0d14062dc009bfba8085ebf167 -Author: Rolf Bensch -Date: Wed May 10 11:51:35 2017 +0200 - - pixma.desc: fix version of backend - -commit 5b10b0b635157cdb9766197a5f2ea7f1d24a402a -Author: René Rebe -Date: Fri May 5 07:05:30 2017 +0200 - - epson2: fixed network transport for new scanners - - increased command buffer due memory overrun, and always read receive - status, even for zero length on network scanenrs, should fix #315552 - -commit 6ffeb9097386268e425ae2390ed2835853dbd439 -Author: Olaf Meeuwissen -Date: Sat May 6 20:40:25 2017 +0900 - - Fix test for API specification generation - - If none of the formats can be generated but API specs are requested, - bomb. The original test aimed to do so but was testing against "no", - a value that was never assigned. - -commit f3f8afb08c2098d9659757a8e7b8c212a09ddf79 -Author: Olaf Meeuwissen -Date: Sat May 6 12:24:13 2017 +0900 - - kvs20xx.c: don't assume sane_get_devices() has been called - - Nor that that function is called with a non-NULL argument. - This aligns the implementation with that of kvs40xx.c. - - Fixes 315625. - -commit 8995b1fc81e4378d2b5b0b6b0d354735403210ed -Author: Martin Husemann -Date: Tue Mar 15 18:07:00 2016 +0900 - - sanei_usb: fix number of bytes read for 64bit big-endian systems - - Fixes 315337. - -commit b1a2c6105443c5279684f0c6827c268594aa234d -Author: Louis Lagendijk -Date: Fri May 5 19:46:28 2017 +0200 - - pixma: backend version 0.17.37 - -commit 09c467deab5ca4301ab7da37241c3fc072b94399 -Author: Klaus Kaempf -Date: Wed May 3 17:52:15 2017 +0200 - - pieusb: Support ProScan 10T and Reflecta CrystalScan 3600 - - Neither of these scanner have an automated slide transport and fail on - respective SCSI commands. - - - Add flags parameter to control if automatic slide transport is available - - Reflect flags in pieusb.conf.in - - rename SLIDE_LAMP_ON to SLIDE_INIT - it fails on scanners without automatic slide transport, so it has - nothing to do with the lamp. - - run SLIDE_INIT only FLAG_SLIDE_TRANSPORT is set - - pieusb.conf.in: Add Reflecta CrystalScan 3600 - -commit 801558f959a03b5042d6df288cb1fd2c87035798 -Author: Aaron Muir Hamilton -Date: Mon May 1 20:15:23 2017 +0000 - - Write density (resolution) JFIF header information with JPEG files. - -commit b219bc2c73113fd9d8f7c5795bd662f03a8610ea -Merge: f624a9f 92e5979 -Author: Olaf Meeuwissen -Date: Thu May 4 18:26:55 2017 +0900 - - Merge branch 'icc-profiles' - -commit f624a9f72527fc2896562e338f9b7c07549af0f0 -Author: Olaf Meeuwissen -Date: Mon May 1 09:39:59 2017 +0900 - - utsushi.desc: sync with upstream - -commit 0ca2fc46136dbaa30da25f4b79b67871c7e2d39b -Author: Louis Lagendijk -Date: Wed May 3 13:52:06 2017 +0200 - - fix 1200 dpi scanning for MB5000 series - -commit ff5c11622dafe58d1025f34a3672c7a059e963a7 -Author: Louis Lagendijk -Date: Wed May 3 13:48:20 2017 +0200 - - Fix scanbutton detection for MB5000 series - -commit 6af0e32bd6bd9e2c1b2adc5cb2a0561902eef526 -Author: Paul Newall -Date: Mon May 1 19:49:41 2017 +0100 - - kodakaio.c patched to change avahi callback variable from global to local. Bug 315705 - -commit e0741f71e289b878f0efad6cbb56b15d73b49f4e -Author: Paul Newall -Date: Sun Apr 30 18:09:59 2017 +0100 - - deleted a line in configure.ac. This was a commented out line left from when the backend kodakaio used CUPS to autodetect printers. - -commit 92e59791d2e478484409f5f2e634196863d7dafb -Author: Olaf Meeuwissen -Date: Sun Apr 30 20:05:12 2017 +0900 - - Fix [-Werror=implicit-function-declaration] compiler error - - The fileno() is only available if its feature test macro passes. The - various symbols are defined appropriately in ../include/sane/config.h - during configuration of the build. - -commit adebd37b5cb3ec0cab3025300db5cdd03c2173cc -Author: Olaf Meeuwissen -Date: Sun Apr 30 20:00:28 2017 +0900 - - Fix [-Wpointer-arith] compiler warnings - -commit c3903cc476909884ace9fedbea5f69b3a4085b70 -Author: Aaron Muir Hamilton -Date: Mon Apr 17 12:07:40 2017 +0000 - - Avoid attaching grayscale ICC profiles to rgb images, or vice-versa. - - If the ICC profile added does not match the colour format of the - image, libpng will abort. This can leave the scanner motors in an - incorrect state and possibly cause permanent damage. - -commit a907b61bd58f00fd6b1d8468d9d28d6d39232c79 -Author: Aaron Muir Hamilton -Date: Mon Apr 17 12:07:39 2017 +0000 - - Add ICC profile embedding for PNG output. - -commit 2c653a926af83d7bb910307f441055a6d7603f0b -Author: Aaron Muir Hamilton -Date: Sun Apr 16 15:13:06 2017 +0000 - - Separate ICC profile loading into a separate file. - - This cuts out some duplicate code, and enables us to reuse this - logic for PNG, JPEG, and any other future output format. - sanei_load_icc_profile also allows us to know that an ICC profile - file is not long enough before we start to write it to the output; - this should prevent poorly-written software from overflowing into - image data when they read the bad profile based on its length. - -commit 611388db1d56b0ffd74af05c4a51fe518269c90d -Author: Rolf Bensch -Date: Thu Apr 27 21:59:24 2017 +0200 - - pixma.desc: fix usbid for PIXMA TS5000 Series - -commit 5389301a40d67ed627b1998e19a1af60da26e93f -Author: Olaf Meeuwissen -Date: Thu Apr 27 22:26:01 2017 +0900 - - utsushi.desc: PID 0156 is a ES-400 - - See Alioth issue 315695. - -commit a0321d2a92286afbc9557fa44e2de4f706cf2407 -Author: Aaron Muir Hamilton -Date: Sun Apr 16 09:06:48 2017 +0000 - - Include physical resolution (pHYs section) in PNG output. - -commit 469dc738aafe42b231ecae778e393263028ab1b9 -Author: Olaf Meeuwissen -Date: Thu Apr 27 21:17:34 2017 +0900 - - Only swap 16-bit PNG bytes on machines that are not big-endian - - The SANE API specifies that image bytes are in machine native order. - -commit 28eb09eec4c64d9070b5747c93c25134395cab53 -Author: Aaron Muir Hamilton -Date: Sun Apr 16 00:27:54 2017 +0000 - - Swap bytes in 16-bit PNGs, because PNG is big-endian. - -commit 5fa4be5ae4f9937d79f076f7004a4b48ba765e8a -Author: Rolf Bensch -Date: Wed Apr 26 11:06:00 2017 +0200 - - pixma: backend version 0.17.36 - -commit 879565cefcac61e371581d09696ef6d738c2a720 -Author: Rolf Bensch -Date: Wed Apr 26 11:43:30 2017 +0200 - - new scanners Canon i-SENSYS MF230 and MF240 Series - -commit ddccf956b44509fc21cdcd4c52b6750e2ddab37a -Author: Rolf Bensch -Date: Wed Apr 26 11:02:46 2017 +0200 - - pixma_mp150: MG5400 Series has button scan support - -commit f14285dba30404f23fc9de13d632e69f23f7cb75 -Author: Rolf Bensch -Date: Thu Apr 6 11:20:40 2017 +0200 - - pixma_mp150: MG5400 Series doesn't need special image format post processing @ high dpi - -commit 0960bf9c72d25a0f8686314fbe9a6a0f9002ea3c -Author: Olaf Meeuwissen -Date: Tue Apr 18 20:12:31 2017 +0900 - - utsushi.desc: sync with upstream - -commit dcddb9505c88485bda6cdcf77927d14008b449ee -Author: m. allan noah -Date: Tue Apr 11 21:22:05 2017 -0400 - - epjitsu backend v31 - - - hardware gray support for fi-60F/65F (disabled pending calibration) - - merge fi-60F/65F settings - - improve desc, conf and man files - -commit 34e4dbf6c35946ca52678f6a7a61ef002fddb1c2 -Author: Olaf Meeuwissen -Date: Mon Apr 10 20:23:03 2017 +0900 - - Bump Alpine and Fedora builder versions - -commit 9712e2aa2595f440252d40c26b680c3cf2b8ae30 -Author: m. allan noah -Date: Sat Apr 8 21:44:27 2017 -0400 - - fujitsu backend v133 2017-04-08, MAN - - - initial support for fi-7600/7700 - - autodetect various double feed capabilities using VPD - - call send_lut if we are using a downloaded gamma table - -commit 5edb87f9ac950473f8c3a57b4071c970887d8440 -Author: Olaf Meeuwissen -Date: Sat Apr 8 21:08:12 2017 +0900 - - genesys: Trigger reallocation of gamma tables on next sane_open() - - Fixes 315491. - -commit 6eb4a1f164ef116a3ed10ee42883a15c268ea01e -Author: Robert Ancell -Date: Tue Apr 4 11:36:05 2017 +1200 - - kodakaio: Fix crash when Avahi search fails - -commit ccb47215e653724f317f7d40138098762578a6f9 -Author: Olaf Meeuwissen -Date: Fri Apr 7 20:28:02 2017 +0900 - - Add missing double quote - - Accidently removed in 38ce7fc086a6ecbee94ef31901a6eb874fb611b1. - Thanks to Jon Nelson for pointing this out. - -commit 38ce7fc086a6ecbee94ef31901a6eb874fb611b1 -Author: Olaf Meeuwissen -Date: Wed Apr 5 18:29:41 2017 +0900 - - Update SANE developer and backend maintenance status - -commit cbcab6dffadffdb40f87ddffaf2aa7e1618bb72b -Author: Rolf Bensch -Date: Tue Apr 4 11:28:18 2017 +0200 - - pixma: backend version 0.17.35 - -commit 66ce95a5a1a716a92260701c76c0989abf4196bb -Author: Rolf Bensch -Date: Tue Apr 4 11:59:56 2017 +0200 - - new scanners Canon PIXMA G3000, E470, G3000, TS5000, TS6000, TS8000 and TS9000 [#315658] - -commit a2e26572729d62123b2f167fee9e671bf26b8987 -Author: Rolf Bensch -Date: Tue Apr 4 11:27:38 2017 +0200 - - pixma: signal scan cancel from the frontend with new parameter s->param->frontend_cancel - -commit c5bfbc5a3a43a81776841289cd164a584c2e8ec2 -Author: Rolf Bensch -Date: Tue Apr 4 11:25:53 2017 +0200 - - pixma: implement adf-wait for imageclass scanners - -commit 17f3899b1583971351ea7ac40e92660f6558268d -Author: Rolf Bensch -Date: Tue Apr 4 11:23:03 2017 +0200 - - pixma: new option adf-wait - -commit 3ef45ec3c3d56bfc60b339dac8a2f19543387ef3 -Author: Rolf Bensch -Date: Tue Apr 4 11:16:20 2017 +0200 - - pixma: update docs for MG5400 Series - -commit e6c8ea6f0bcb2c6b6f7004feadc7db6cbfc3ee2b -Author: m. allan noah -Date: Wed Mar 22 12:33:27 2017 -0400 - - epjitsu backend v30 again - - - typo in previous commit broke low resolution scans on fi-65F - -commit a7fde11e15e5604c7b37bc9553cbd08086c08e53 -Author: m. allan noah -Date: Tue Mar 21 21:35:59 2017 -0400 - - epjitsu backend v30 - - - bump build number - -commit 891e3984d0410fa8c698d99d79948df3237e258d -Author: m. allan noah -Date: Tue Mar 21 20:39:47 2017 -0400 - - epjitsu v30 - - - fix image truncation when using 150 DPI in Y direction - - add 200 and 400 DPI Y direction support for fi-60F/65F - -commit 42896939822b44f44ecd1b6d35afdfa4473ed35d -Author: Olaf Meeuwissen -Date: Sun Feb 19 16:45:45 2017 +0900 - - Address memory corruption and information leakage. - - Addresses CVE-2017-6318, Alioth#315576 and Debian's BTS#854804. - -commit eaa4d4407d96585b7cdbe194d8ac295eee3e6299 -Author: m. allan noah -Date: Sat Mar 18 19:15:03 2017 -0400 - - epjitsu backend v29 - - - fix infinite loop when scaling in Y direction - -commit 2f9ea038b157fc6d08ce882a1d9984d37b46d809 -Author: Olaf Meeuwissen -Date: Sat Mar 11 10:48:35 2017 +0900 - - Fix typo - - See http://lists.alioth.debian.org/pipermail/sane-devel/2017-March/035099.html - -commit 1e028b72cae0f4caaf48868504bd2cd1667d6da7 -Author: Olaf Meeuwissen -Date: Mon Mar 6 20:54:59 2017 +0900 - - pixma: updated status for MG5400 Series - - See http://lists.alioth.debian.org/pipermail/sane-devel/2017-March/035072.html - and http://lists.alioth.debian.org/pipermail/sane-devel/2017-March/035082.html - -commit 928b803ef1f1bc1007ca3fa83418f103c6a7bdd7 -Author: Olaf Meeuwissen -Date: Sun Mar 5 15:35:06 2017 +0900 - - utsushi.desc: sync with upstream - -commit f450049bccc1e331790cb2546c2c1440fa3d24c0 -Author: Olaf Meeuwissen -Date: Tue Feb 14 18:52:25 2017 +0900 - - utsushi.desc: sync with upstream - -commit e3ed043500e786724cc77fdd0565993e878a51fc -Author: Olaf Meeuwissen -Date: Mon Dec 26 08:13:33 2016 +0900 - - Update backend maintenance status - - Following the project member list cleanup, only backends that list - a project member with git write access in the AUTHORS file are now - considered maintained. - -commit 7a0e1126b3eebd38944b8b281e6a481b95a35bbd -Author: Louis Lagendijk -Date: Fri Jan 6 23:30:31 2017 +0100 - - Revert "pixma_mp150.c: Fix scanbutton detection for MB5000 series" - - This reverts commit 53aa78df3a6980791ce250c471d019c5c59b83ec. - -commit 306f8f16e78b52948a6e09fa0957b3e364e0189f -Author: Louis Lagendijk -Date: Fri Jan 6 23:29:59 2017 +0100 - - Revert "pixma_mp150.c: fix 1200 dpi scanning for MB5000 series" - - This reverts commit dfc5487571ed2915bda7bdedbd4c79015004361b. - -commit 9bc734042f6a2af159772eef412efe7c65ebb02f -Author: Louis Lagendijk -Date: Fri Jan 6 23:28:56 2017 +0100 - - Revert "pixma_mp150.c: scan param 0x26-0x29 should contain localtime HHMM, also for MB5000 series" - - This reverts commit eb712c6bd8ca6a42a1d3941583fa18b9981b8712. - -commit 6c439bce791522aa9cd3fc04cf62087bdd6c6875 -Author: Louis Lagendijk -Date: Fri Jan 6 23:28:31 2017 +0100 - - Revert "pixma_mp150.c: replace multiple if statements with case statement in handle_interrupt" - - This reverts commit 28dcd0aef4ac91b87527c17c8aa89e879f39f20d. - -commit 06b4b27ecfad1aa30c772fa0fac15d1c144c1e7a -Author: Louis Lagendijk -Date: Fri Jan 6 23:28:09 2017 +0100 - - Revert "pixma_mp150.c: fix parameter settings for MB5000 in send_scan_param" - - This reverts commit 1d2a40ec96aea0ba183415efea570301159d4159. - -commit 589e011992a21ae1edb4684eb89582350c47333f -Author: Louis Lagendijk -Date: Fri Jan 6 22:15:24 2017 +0100 - - Update the sane-pixma man-page for the new timout setting option. - -commit 1b442ce1ea7068bda1129c061071dc94bfd6a8d2 -Author: Louis Lagendijk -Date: Fri Jan 6 21:37:52 2017 +0100 - - Added examples for new bjnp timer settings in the pixma config file - -commit cfc7a069d2696942bfeac90e0ff7aa50f83d0ec1 -Author: Louis Lagendijk -Date: Sat Dec 31 17:56:06 2016 +0100 - - Added timeout options for the bjnp protocol - -commit c2898cb6021fac6e2a526c2ce4692783ca69b18d -Author: Louis Lagendijk -Date: Fri Dec 30 21:36:26 2016 +0100 - - Remove incorrect comment left from old version - -commit 526f642f6487cd348b39a6e138c2bffa9a88d0f6 -Merge: 32be261 68cd274 -Author: Louis Lagendijk -Date: Fri Dec 30 20:04:53 2016 +0100 - - Merge branch 'master' of ssh://git.debian.org/git/sane/sane-backends - -commit 68cd2744d1906ebf00b2bfdc90662992f8e5385c -Author: Olaf Meeuwissen -Date: Sun Dec 18 16:53:26 2016 +0900 - - Sort backends with LC_COLLATE=C - -commit d47957075ff0859f5bd52c683f5b6408c63d1e46 -Author: Olaf Meeuwissen -Date: Sat Dec 17 17:03:32 2016 +0900 - - Update git repositor write access info - -commit 078435eaf19d00e6b863a7802073863604c9e9dc -Author: Olaf Meeuwissen -Date: Mon Sep 12 19:58:42 2016 +0900 - - Fix typo - -commit 755e829caa23b9781863e4b1e1d24c3cfee9e8bf -Author: Dave Platt -Date: Thu Dec 15 23:12:07 2016 -0800 - - avision.c: abort "wait for light" loop if interrupted - - Adds a "cancelled" flag to the Avision device structure, cleared - in sane_start() and set in sane_cancel(). Test this flag in - wait_4_light() and bail out of the 90-second "wait for the - light to warm up" loop if the scan is cancelled. - -commit 28963459a4ac43100b8e377d65332d81a2660c0d -Author: Dave Platt -Date: Thu Dec 15 23:02:42 2016 -0800 - - avision.c: Recognize "backlight on" status - - Avision scanners can return an additional light-status value meaning - "Transparent Media Adapter back-light is on". Accept this as - equivalent to "on" during the lamp-warmup check prior to starting a - scan. Re-check the light status after sending the window command, as - the light selection might have been changed and a further warm-up - may be required. - -commit 6585b6f60d07a196e42c99b935e2754bbc80b3c8 -Author: Dave Platt -Date: Thu Dec 15 22:29:16 2016 -0800 - - avision.c: Add "skip-adf" option - - The code which tries aggressively to reset/initialize HP 82xx/83xx - Automatic Document Feeders doesn't work well if there's no ADF attached, - because the scanner reports a non-zero ADF model type in this case. - The retry code makes several attempts to initialize the ADF, and then - bails out with an "Operation not supported" error. - - Add a new "option skip-adf" which will cause the backend to believe - the "ADF not present" status if that's what the scanner reports. - - Fixes #313751 - -commit f58ce8f9201364bd0fe28ef736d4b1345f3f71b2 -Author: Troy Rollo -Date: Fri Dec 2 01:37:23 2016 +1100 - - HP3500: Always enable the second set of CCDs. This - prevents ghosting that occurs when only enabling the - first set of CCDs, even though at some resolutions - we will not get any data from the second set. - -commit 77986b1d14db5ba285d595ab7630748b3c6d9284 -Author: Troy Rollo -Date: Fri Dec 2 01:20:43 2016 +1100 - - HP3500: Move to scan area more quickly if it is a - long way from the home position - -commit b1f3815014f11bbadd74d255ee4343e16ffee6b8 -Author: Troy Rollo -Date: Tue Nov 29 21:11:06 2016 +1100 - - Add missing math library to HP3500 backend link flags - -commit fd7a3505f644573e832f417c7f0f62ca8ddeb7c8 -Author: Troy Rollo -Date: Tue Nov 29 20:47:59 2016 +1100 - - HP3500 backend: fix #314811, greatly improve - calibration, support harware calibration - in 120DPI and 400DPI, and add support for - hardware gamma correction. - -commit 6484ff8fc368db24b567e1d2fbb44cd86e0f9e43 -Author: Alex Belkin -Date: Sun Nov 6 23:03:23 2016 +0300 - - Forgoten comma in backends man pages list. - -commit 69a008830b84437701022cbd96a8863ac61d3ddf -Author: Alex Belkin -Date: Sun Nov 6 22:28:03 2016 +0300 - - Pre-create temporary file for Jpeg scanning. - - Jpeg mode (as submitted by Samsung developer) uses temporary file with - fixed name. This opens attacks on reading its content or overwriting any - other user-writable file (with symlink). This change pre-creates - temporary file with O_CREAT|O_EXCL and mode 0600. Assuming usual +t - permissions for tmp this should mitigate issue. - -commit 226c2b9deb2f4f4b1d7c51ad4bb83d181e5e31b5 -Author: Alex Belkin -Date: Sun Nov 6 21:50:06 2016 +0300 - - Update header and copyright statements for xerox_mfp. - -commit 58c1e43b83712899162030d83df3ecac151d69d3 -Author: Alex Belkin -Date: Sun Nov 6 21:38:47 2016 +0300 - - Indent of xerox_mfp-tcp.c and xerox_mfp-usb.c - - This is purely indent commit without any code changes, in - follow-up to 83bbcfe7d546b4d0cd28269b647fb558c6a1e00a. - - Indent command used: - astyle -A8 -U -H -k3 -W3 -o xerox_mfp-{usb,tcp}.c - - Proof that code is not changed: - git log -w -p xerox_mfp-{usb,tcp}.c - -commit 610533a9a66d7232a8a0ecd360871e3a6fa67980 -Author: Alex Belkin -Date: Sun Nov 6 21:24:38 2016 +0300 - - Update xerox_mfp man page. - -commit ba6a5710b508e73f4cb7152d034adc865f5201d7 -Author: Alex Belkin -Date: Sun Nov 6 21:00:58 2016 +0300 - - Update sane.man to index xerox_mfp backend. - -commit 83bbcfe7d546b4d0cd28269b647fb558c6a1e00a -Author: Alex Belkin -Date: Sun Nov 6 20:24:02 2016 +0300 - - Run indent: astyle -A8 -U -H -k3 -W3 -o xerox_mfp.[ch] - - This is purely indent commit w/o any code changes. - To prove run `git diff -w`. - -commit e4aed53a1e46b9d46a76f814d414ef8d2c2276e3 -Author: m. allan noah -Date: Sat Oct 8 19:32:43 2016 -0400 - - fujitsu backend v132 - - - remove ipc_mode option and variables - - set ipc mode based on other options - - cleanup inverted logic DTC options - - fixes threshold option reported in #315069 - -commit cfa98fd0d1271dd426ff2d6c565790d87cf3986d -Author: Rolf Bensch -Date: Sat Oct 8 14:25:33 2016 +0200 - - pixma: backend version 0.17.34 - -commit 7e20475c8b45249d05315d5a889551924210666d -Author: Rolf Bensch -Date: Sat Oct 8 14:24:53 2016 +0200 - - pixma: new scanner Canon PIXMA MG3000 Series - - see bug report #315521 - -commit 3b63fdab2b94f14765f8ba165546f6d69fc23ea9 -Author: Rolf Bensch -Date: Wed Oct 5 20:05:37 2016 +0200 - - pixma: backend version 0.17.33 - -commit c751a9ca22934ef93ca6b7afd3d0aaea4969c5fc -Author: Rolf Bensch -Date: Wed Oct 5 19:51:35 2016 +0200 - - fix ADF scanning for Canon MF57x0 devices - - - ignore result from calibrate(): don't interrupt @ PIXMA_STATUS_BUSY - - MF57x0 devices don't require abort_session() after the last page - - reported by Dmitry Deshevoy - -commit a9806de08ea65acb8a1109b480147a4a7ec76cb5 -Author: Olaf Meeuwissen -Date: Sun Sep 25 17:06:15 2016 +0900 - - AWARE: Treat compiler warnings as errors on debian-8-mini too! - -commit 490c4501c7ca59568bd9611665386c512163b51b -Author: Olaf Meeuwissen -Date: Sun Sep 25 17:04:23 2016 +0900 - - Sync autofoo - -commit da49686efe16bc5f7b4ddef18ea0dcb5f7c18d77 -Author: Olaf Meeuwissen -Date: Sun Sep 25 17:00:54 2016 +0900 - - sane-find-scanner: disable USB if not supported - - This fixes a [-Wpedantic] compiler warning about ISO C forbidding empty - translation units. The check-usb-chip.c file reduces to such a file in - the case USB support was explicitly disabled or no usable library found. - -commit 471e8ac0c1b565e5aea92f35ae173e167f3b61c7 -Author: Olaf Meeuwissen -Date: Sun Sep 25 16:28:11 2016 +0900 - - sanei_pp: fix [-Wcpp] compiler warning - - The `#warning` directive is turned into an error by `-Werror`. The - directive triggers is guaranteed to trigger with __GNUC__ when no - parallel support is available. This would prevent strict CI builds. - - Output a message with all compilers that understand the pragma. Those - that don't should ignore it, according to C99. - -commit 7d7030a40986d97d3cf7a5313bf889bce4af8131 -Author: Olaf Meeuwissen -Date: Sun Sep 25 15:53:46 2016 +0900 - - sanei_usb: : fix [-Wunused-parameter] compiler warnings - - These were issued in the absence of libusb. - -commit e6faafcdc94e253f7f4fe793fec6110ce37e8014 -Author: Olaf Meeuwissen -Date: Sun Sep 25 15:44:36 2016 +0900 - - xerox_mfp: fix [-Wunused-parameter] compiler warnings - - These are issued when libjpeg was not found during configuration. - -commit 32be261254a78d1f314b3ee86fd5e5b40ab91a86 -Merge: ec8bf64 97d2a3d -Author: Louis Lagendijk -Date: Wed Sep 21 22:35:10 2016 +0200 - - Merge branch 'master' of ssh://git.debian.org/git/sane/sane-backends - -commit 97d2a3d22d9c6a6d0a277de0066c73e9059abd92 -Author: Olaf Meeuwissen -Date: Wed Sep 21 22:11:09 2016 +0900 - - AWARE: Treat compiler warnings as errors on debian-8-full - - This build became compiler warning free in ee550e5d. Let's keep it - that way! - -commit 4119f05d5f400803a9c952896125e9feabb07393 -Author: Olaf Meeuwissen -Date: Wed Sep 21 21:54:39 2016 +0900 - - Fix USB ID typo - -commit ee550e5de8e636642b9895d54f6740aa38ee6ff8 -Author: Olaf Meeuwissen -Date: Mon Sep 19 12:52:31 2016 +0900 - - pieusb: fix [-Wunused-parameter] compiler warnings - - The functions that trigger these warnings were not used. - -commit bf088a6ed15733237df446a84d6659c4e0145c9a -Author: Olaf Meeuwissen -Date: Mon Sep 19 17:45:35 2016 +0900 - - Merge comments - - This gets rid of a missing :usbid warning. - -commit e01f574b19be74081650e9be9bcb16a3420068ef -Author: Olaf Meeuwissen -Date: Mon Sep 19 17:44:48 2016 +0900 - - Merge duplicate entry - -commit 1a328e412fb7bf3872de20fe6e57b00ab913a75d -Author: Olaf Meeuwissen -Date: Mon Sep 19 15:26:14 2016 +0900 - - Add missing USB IDs - - Taken from http://www.linux-usb.org/usb.ids - -commit dd940a1f612f56d2acb929afd54614ebc6dfb309 -Author: Olaf Meeuwissen -Date: Sat Sep 17 20:43:44 2016 +0900 - - utsushi.desc: sync with upstream - -commit fb0464d9e3e39a93306e98602ff879c43276de5c -Author: Olaf Meeuwissen -Date: Mon Sep 12 20:12:28 2016 +0900 - - niash: fix [-Wunused-but-set-variable] compiler warning - - This makes explicit what the compiler has effectively been doing all - along anyway since at least 727dd4ab (2004-08-03). - -commit 6f4b88b6173745f09e4ce1fa465db534eca85751 -Author: Olaf Meeuwissen -Date: Mon Sep 12 20:05:42 2016 +0900 - - epson2: fix [-Wunused-but-set-variable] compiler warning - - This makes explicit what the compiler has effectively been doing all - along anyway since at least 728e032a (2009-06-01). - -commit 4dce101c05515200a6cd337451da664c1978f115 -Author: Olaf Meeuwissen -Date: Mon Sep 19 10:04:35 2016 +0900 - - Keep generated *.eps and *.pdf files out of the repository - -commit 46bc0ff1c89a6759fd22f80fd1ceb9551268da4f -Author: Olaf Meeuwissen -Date: Sun Sep 18 21:41:03 2016 +0900 - - Sync autofoo - -commit 2b973d75fed73771664958ea6cb5b4b8fd7b1307 -Author: Olaf Meeuwissen -Date: Sun Sep 18 21:21:35 2016 +0900 - - Add fig2dev as prerequisite for API HTML docs - - The target for sane-html depends on sane.dvi which requires fig2dev. - - Thanks to: - - https://lists.debian.org/debian-user/2016/08/msg00484.html - - http://superuser.com/questions/1101439/error-building-sane-backend-on-debian - -commit db22a031d130d533f5fd41710ddabdc61280d313 -Author: Olaf Meeuwissen -Date: Sun Sep 18 21:19:12 2016 +0900 - - Fix typo introduced in fa41b180. Fixes 315435 - -commit 9d388c35937b75cf5f47410ead07ef2226ac8005 -Author: m. allan noah -Date: Sun Sep 11 19:03:23 2016 -0400 - - canon_dr v56 - - - add initial support for P-150M (and probably P-150) - -commit 39ceeae616a2e1638c2760d4364adcaa210a413b -Author: Olaf Meeuwissen -Date: Wed Sep 7 21:03:30 2016 +0900 - - md5: fix [-Wstrict-aliasing] compiler warnings - -commit 27a4da41b1761acba33e99aab4d782e726934c04 -Author: Olaf Meeuwissen -Date: Wed Sep 7 21:01:26 2016 +0900 - - Prefer *our* `include/` files - - This fixes discrepancies in build results for VPATH builds. - -commit 737977199ccd2419a51e120c472981b1a1263ab0 -Author: Olaf Meeuwissen -Date: Mon Sep 5 23:40:39 2016 +0900 - - umax_pp: fix [-Wunused-but-set-variable] compiler warning - -commit 50fa8efdcff0dd159d3ff51e219a3c08020ca54c -Author: Olaf Meeuwissen -Date: Sun Sep 4 14:39:52 2016 +0900 - - gphoto2: fix libgphoto2 logging integration - - In libgphoto2-2.5.0 (tagged for release on 2012-07-10) the GPLogFunc no - longer takes a va_list. Instead, it passes a formatted message. - -commit 23f052113b5567033da0d9c4679451d97c484220 -Author: Olaf Meeuwissen -Date: Sun Sep 4 12:50:19 2016 +0900 - - saned: fix [-Wunused-parameter] compiler warning - - The `__sane_unused__` attribute has been moved from sanei_backend.h to - sanei.h to make it generally useful instead of limited to backends. - -commit 0d527f6659e06175d855aaa1a70fc2be52aad1a7 -Author: Olaf Meeuwissen -Date: Sun Sep 4 12:13:16 2016 +0900 - - Drop build environments - - Adding them did not quite have the effect I thought it would. I had - thought it would allow for easy linking to build logs by environment - name. Alas, no such luck. - - This reverts commits: - - 9c44317289f1be0a72089ffd030be84caf75b58c - - 6209fecf3a11e90e2e5efc057cf650f4ab792b50 - -commit 74b4a34e82124621616c699ac0d5ba0d5e93b6a1 -Author: Olaf Meeuwissen -Date: Sun Sep 4 12:12:14 2016 +0900 - - dll: fix pedantic compiler warning - -commit 246673715d9abdbfbea349de4636322b242f9700 -Author: Olaf Meeuwissen -Date: Sat Sep 3 14:36:49 2016 +0900 - - utsushi.desc: sync with upstream - -commit a65e74fe83ae96d5d00af6a05c751086cdae8d38 -Author: Olaf Meeuwissen -Date: Sun Aug 28 15:49:44 2016 +0900 - - umax_pp: fix [-Werror=unused-but-set-parameter] compiler warnings - -commit 4eaefe43713036f73ab322e8d6b519589055540d -Author: Olaf Meeuwissen -Date: Sun Aug 28 15:27:50 2016 +0900 - - magicolor: fix [-Werror] compiler warning - - This casts away const-ness in the hope that libsnmp doesn't change - the session.peername. - -commit 31ac0db73672347732dc80cf8f2afe8e6f3d466b -Author: Olaf Meeuwissen -Date: Sun Aug 28 15:25:43 2016 +0900 - - magicolor: fix [-Werror=pointer-sign] compiler warnings - - The libsnmp API requires a u_char *session.community :-( - -commit c32d48ef5fd4a47a93933e6ffba5c8a93d26e43f -Author: Olaf Meeuwissen -Date: Sun Aug 28 14:18:48 2016 +0900 - - kodakaio: fix [-Weror=format=] compiler warning - -commit 0337514b8f0e484c11b668d8ca0e0af998d3dfbc -Author: Olaf Meeuwissen -Date: Sun Aug 28 14:18:00 2016 +0900 - - kodakaio: fix [-Werror=sign-compare] compiler warning - -commit 763816814bc072b19f1178e0d92031217d7f5f06 -Author: Olaf Meeuwissen -Date: Sun Aug 28 13:55:30 2016 +0900 - - hp5400: fix [-Werror=overflow] compiler warning - - This explicitly implements what gcc and clang assign. - -commit 9c44317289f1be0a72089ffd030be84caf75b58c -Author: Olaf Meeuwissen -Date: Sun Aug 28 13:24:17 2016 +0900 - - Fix environment name (periods are not allowed) - -commit 984fefd55173f30f4cde3ed7acb462d660c676eb -Author: Olaf Meeuwissen -Date: Sun Aug 28 13:21:11 2016 +0900 - - plustek_pp: fix [-Werror=sign-compare] compiler warning - -commit f0153bc7fe7fd79ef2b1b41d259adf3d20b9d641 -Author: Olaf Meeuwissen -Date: Sun Aug 28 12:57:17 2016 +0900 - - v4l: fix [-Werror=sign-compare] compiler warning - -commit 6209fecf3a11e90e2e5efc057cf650f4ab792b50 -Author: Olaf Meeuwissen -Date: Sun Aug 28 12:17:46 2016 +0900 - - Make referencing builds easier - -commit 235de98784897edb63d1ed1a32609b7786d799d0 -Author: Olaf Meeuwissen -Date: Sun Aug 28 11:58:16 2016 +0900 - - md5: fix [-Wpointer-arith] compiler warnings - - This reverts commits 9aecb00947e6bf7ef1cf412aff2ab41202617b30 and - cdad5961f3888f0a3c0c525d0efab33174c11a24 which fixed a different - compiler warning that seems to have disappeared (at least on the - debian-8-full builds). - -commit bf53c714348dbf4654de887ae7e649fbad6b2288 -Author: Olaf Meeuwissen -Date: Thu Aug 4 22:47:01 2016 +0900 - - Sync with upstream - -commit ffd93a9fad10ced31de037f2c6180f328a38b547 -Author: Olaf Meeuwissen -Date: Wed Aug 3 22:43:06 2016 +0900 - - Sync autofoo - -commit cb3090cb5472b63d5cdfb5110652f568bd9477ad -Author: Olaf Meeuwissen -Date: Wed Aug 3 22:16:26 2016 +0900 - - pixma: Fix include guard typo - - This was introduced in f573865 on 2008-10-18. - -commit 23cc2e1ba043ea8309923f5f1dcc5acaeee38a95 -Author: Olaf Meeuwissen -Date: Wed Aug 3 22:08:49 2016 +0900 - - Fix include guard typo - - This seems to have been present since the beginning of sanei/sanei_scsi.c. - -commit 63b55e2b591ba977a285a4c91fde0118c25246e7 -Author: Olaf Meeuwissen -Date: Wed Aug 3 22:05:03 2016 +0900 - - Drop check for sys/bitypes.h - - It was obsoleted in 70f3fdf on 2009-02-26. - -commit d263f25911a0b359b7edec0faa9320d5d13928da -Author: Olaf Meeuwissen -Date: Wed Aug 3 21:48:54 2016 +0900 - - Fix typo - - Appears to have been introduced in 0330a4d on 2009-02-02. There is no - evidence that a scdds.h file has ever existed. - -commit 970464f7332a1995bfd825de285425f0c957b1da -Author: Olaf Meeuwissen -Date: Wed Aug 3 20:53:06 2016 +0900 - - Drop unused CPP define - - The last reference to it was removed in 5dcf165 on 2007-06-21. - -commit 5389808029f0f81d204630f6e78abe11dfd61122 -Author: Olaf Meeuwissen -Date: Tue Aug 2 21:56:09 2016 +0900 - - Fix memory leak - -commit 1006445982877970d376c0f657e04fc1481e2459 -Author: Olaf Meeuwissen -Date: Tue Aug 2 21:38:43 2016 +0900 - - Use DIR_SEP instead of hard-coding ":" - - Fixes 313540 - -commit b021c3bee8e9edc7854050a3975cef003586b2e5 -Author: Troy Rollo -Date: Sun Jul 31 22:47:25 2016 +1000 - - Fix bug 314571 - hp3500 backend does not set correct size for string option. - -commit 1859803563f8baadeb6c0926610b2f782350d1e4 -Author: Olaf Meeuwissen -Date: Wed Jul 27 21:17:08 2016 +0900 - - Add a Fedora 24 Clang builder - -commit f6c8be1380c2f12080cdbd7a81eb2d5156eaa154 -Author: Olaf Meeuwissen -Date: Mon Jul 18 20:55:14 2016 +0900 - - kvs40xx: fix [-Wunused-function] compiler warning - - This rather unceremoniously removed the function. Note that a near copy - can be found in the kvs20xx backend code. - -commit effc26e4028f2d21a5bd9fec0458a78c0f6dc330 -Author: Olaf Meeuwissen -Date: Mon Jul 18 20:53:51 2016 +0900 - - kvs20xx: fix [-Wunused-function] compiler warning - - This rather unceremoniously removed the function. Note that a near copy - can be found in the kvs40xx backend code. - -commit 2d468852288b5d80e9e8b6831467081fe3ec874e -Author: Olaf Meeuwissen -Date: Mon Jul 18 17:32:21 2016 +0900 - - pnm: fix [-Wformat=] compiler warning - -commit 2f39c7227021e85b8fdde8161358858797bd7461 -Author: Olaf Meeuwissen -Date: Mon Jul 18 17:11:26 2016 +0900 - - v4l: fix [Wunused-parameter] compiler warnings - -commit 880992739020eee8cc0e005e6bdf853f2ff3572f -Author: Olaf Meeuwissen -Date: Mon Jul 18 17:10:56 2016 +0900 - - sm3600: fix [-Wunused-parameter] compiler warning - -commit 99c14f2d9503cd9a6c77d71d590e434e504052c6 -Author: Olaf Meeuwissen -Date: Mon Jul 18 16:51:08 2016 +0900 - - Use a single symbol to flag unused parameters - - The __sane_unused__ symbol was used slightly more often then UNUSEDARG - and, more importantly, defined in include/sane/sanei_backend.h. That - makes it readily available to virtually all backends. - -commit b73a6e5017f6d4d2d0ef7a61bf6e2113f848be94 -Author: Olaf Meeuwissen -Date: Mon Jul 18 16:14:20 2016 +0900 - - niash: fix [-Wunused-parameter] compiler warning - - The attribute needs to go before the pointer designation for it to have - any effect. - -commit 61719e0a131a6f0d4bf53aa98ecf510ce7081ca7 -Author: Olaf Meeuwissen -Date: Mon Jul 18 16:11:39 2016 +0900 - - dc240: fix [-Wunused-parameter] compiler warning - - The attribute needs to go before the pointer designation for it to have - any effect. - -commit ef8e258165526175c9ac2d262448f16b551d19e9 -Author: Olaf Meeuwissen -Date: Thu Jul 14 21:12:38 2016 +0900 - - Sync autofoo - -commit 57350969f6f46195c5fd5e255b3d1906df401d19 -Author: Olaf Meeuwissen -Date: Thu Jul 14 20:51:42 2016 +0900 - - sane.tex: mark up email as a URL - -commit 707baa0d160ff13331bed6063d2502b09f902f38 -Author: Olaf Meeuwissen -Date: Thu Jul 14 20:50:14 2016 +0900 - - doc/sane.tex: drop html.sty in favour of url.sty - - The latter is part of the core TeX Live distribution which is readily - available on all major operating systems. - -commit bfd1626c4b119404429a847aaa92df77ca3fbb40 -Author: Olaf Meeuwissen -Date: Wed Jul 13 23:44:26 2016 +0900 - - Sync autofoo - -commit 8598f81d0b9542b6f4928b8b870a26b50f440379 -Author: Olaf Meeuwissen -Date: Wed Jul 13 23:43:35 2016 +0900 - - Fix figure orientation - -commit 00bc3e9b451f8dfb89553305cce89172be520bb1 -Author: Olaf Meeuwissen -Date: Wed Jul 13 23:40:19 2016 +0900 - - Generate EPS figures too - - It's good to know how this is done so that we can modify any original - figure if need be. - -commit cc8f99b900d5ae44248677f6881f1b74d7885bfb -Author: Olaf Meeuwissen -Date: Wed Jul 13 23:24:29 2016 +0900 - - Generate PDF figures explicitly with fig2dev - - This utility has less dependencies and supports conversion to a pile of - other formats that may come in handy as well. - - Clean up of generated PDF figures has been moved to the clean target as - well. - -commit d7e1995d001b0d16b9920e751be923f6a8393bf1 -Author: Olaf Meeuwissen -Date: Wed Jul 13 22:37:44 2016 +0900 - - doc/sane.tex: Replace epsfig with graphicx - - The graphicx package allows for file specification without a hardcoded - extension. This provides more freedom in chosing how to prepare images - in *.eps and *.pdf formats. - - Moreover, epsfig is considered mostly obsolete in the TeX community and - graphicx is the "current 'preferred' solution" to embed figures. - See https://www.ctan.org/pkg/epsfig. - -commit 0aab12b934a9f9620fb1236e13dd2b71a7426000 -Author: Olaf Meeuwissen -Date: Mon Jul 11 20:41:54 2016 +0900 - - Bump standard minor version - - This is to acknowledge the SANE_STATUS_GOOD fixes in net.tex that were - committed in 4daf488 and 1100883. - -commit 1ed3b9fa86e6bc6875a72a9b347164a5879ffe8b -Author: Olaf Meeuwissen -Date: Mon Jul 11 20:37:08 2016 +0900 - - Reclassify doc/html.sty - - It is a package used by doc/sane.tex. - -commit 2481e1e98b02e927cdb9c2e6e404252ef9e49041 -Author: Olaf Meeuwissen -Date: Sun Jul 10 15:43:42 2016 +0900 - - Sync autofoo - -commit fa41b18001f74e8941813709f15a15cc9ea299e1 -Author: Olaf Meeuwissen -Date: Sun Jul 10 20:35:04 2016 +0900 - - Refactor API spec conversion support - - Unless explicitly asked to do without, all formats for which required - tools are found will be built. Checks cover PostScript, PDF and HTML. - - All logic and files involved are now collected in a single "section" - and grouped in such a way that their function should be clearer. - - fixup! Refactor API spec conversion support - -commit d7c69d141ffb4f456d659b443aa4c3d3be82793e -Author: Olaf Meeuwissen -Date: Sun Jul 10 19:40:04 2016 +0900 - - Add test for the TeX to HTML converter - -commit fe2fbe06e1b7db42ea2578e8d853cf83d7bb72a9 -Author: Olaf Meeuwissen -Date: Sun Jul 10 19:29:55 2016 +0900 - - Refactor TEXINPUTS handling - -commit f322cbc7f950b087e969ac115a5b4e14735881e4 -Author: Olaf Meeuwissen -Date: Sun Jul 10 15:41:08 2016 +0900 - - Add support for PDF API spec output - - Note that pdflatex internally uses epstopdf which in turn requires a - working ghostscript. - -commit 5a73fb24d1e7a5dcdd287ce7654050b1703cc9c6 -Author: Olaf Meeuwissen -Date: Sun Jul 10 14:48:43 2016 +0900 - - Be quiet but do not hide errors - -commit e0fd693bb170813f95241898a53ba3f9c261c22a -Author: Olaf Meeuwissen -Date: Sun Jul 10 13:32:22 2016 +0900 - - Fix API spec generation for VPATH builds - -commit cb04102a20bc5b1e9cbb990805de3586a0a940c0 -Author: Olaf Meeuwissen -Date: Sat Jul 9 15:10:00 2016 +0900 - - Add GitLab CI musl build job - -commit be7af6835741c18ea93babd421c083c377b1f88d -Author: Ruslan Nabioullin -Date: Sat Oct 29 20:27:47 2011 -0400 - - Fixed scanning status messages. Fixes 313411 - -commit d62d0a2e452e9ed1ae74cc20c01488543cda8ef9 -Author: Olaf Meeuwissen -Date: Wed Jul 6 20:23:12 2016 +0900 - - check-po.awk: fix awk invocation - - The awk utility has been moved to /usr/bin and the script relies on - features present in gawk but not in mawk. - -commit ddbdfd6206e30e513509720dd5137c26c9efc248 -Author: Olaf Meeuwissen -Date: Sun Jul 3 21:11:04 2016 +0900 - - Fix configure time test - -commit c17821e3609080309bcb8a3173cb071e1493a62c -Author: Olaf Meeuwissen -Date: Sat Jul 2 19:23:01 2016 +0900 - - Fix configure time warning during CI build - -commit c96236862635f74d8a1c01654430d93bed83f756 -Author: Olaf Meeuwissen -Date: Fri Jul 1 23:45:43 2016 +0900 - - Sync autofoo - -commit a9c813944e9aa0ceb6c153d06dff286ba855b90e -Author: Olaf Meeuwissen -Date: Fri Jul 1 23:37:49 2016 +0900 - - Make libusb-1.0 the default for USB support - - When libusb-1.0 is not found, libusb-0.1 will be tried. On BeOS and - OS2, nothing should have changed in terms of detection of USB support. - - On all systems the --enable-libusb* flags are now ignored. Instead, the - --with-usb and --without-usb flags now control support. When neither is - given USB support will be enable if possible and disabled otherwise. If - --with-usb is requested but not possible, ./configure will fail. There - is no support to prefer libusb-0.1 over libusb-1.0. - -commit 418fbb987d731ed2468f48a6fb162f47ea7da55e -Author: Olaf Meeuwissen -Date: Thu Jun 30 21:50:33 2016 +0900 - - Sync autofoo, once again ... - -commit 602182931dceeedddcc6be3b144cbc1423bd9b4a -Author: Olaf Meeuwissen -Date: Thu Jun 30 21:49:25 2016 +0900 - - Improve test shell builtin invocation portability - - Looks like I missed this when committing 309a8140. - -commit 828cd013e9a4411158af8816a63b133b6da19ed5 -Author: Olaf Meeuwissen -Date: Thu Jun 30 21:38:04 2016 +0900 - - Compile getopt replacement functions only if needed - - This ought to get rid of the last empty compilation unit warnings. This - merges libfelib.la with liblib.la. The former was always used together - with the latter. The latter was only ever used without the former when - linking backends and tools. - - Tools might want to use the getopt functions, backends might just want - to use MD5. - -commit 89dc05006ec93e8fd8a103504701db720814669a -Author: Olaf Meeuwissen -Date: Wed Jun 29 22:21:10 2016 +0900 - - Sync autofoo - - Looks like the sorting of the DIST_COMMON file list is not stable. - -commit a298bfe5a8c65236ac13130e891a93bf3cf58976 -Author: Olaf Meeuwissen -Date: Wed Jun 29 22:20:51 2016 +0900 - - Fix AS_IF condition - -commit f03f1f66d4a7704c20d221897665509d7f1a626a -Author: Olaf Meeuwissen -Date: Wed Jun 29 22:15:06 2016 +0900 - - Sync autofoo files - -commit 1c946f7c194869966f6d3af9df499184d3035c20 -Author: Olaf Meeuwissen -Date: Tue Jun 28 22:42:09 2016 +0900 - - Compile replacement functions only if needed - - This ought to get rid of most empty compilation warnings. - -commit 0c2b86ac0b56ee7cb8b962102c54855f05887b08 -Author: Olaf Meeuwissen -Date: Mon Jun 27 22:33:28 2016 +0900 - - Fix distcheck issues in tools/ - - Automake is smart enough these days to compile the *.lo files that are - used when linking. - - The umax_pp_CPPFLAGS are useless because backend/umax_pp_low.c undefines - BACKEND_NAME unconditionally and sets it to what was passed here ;-) - -commit 81f9557966ad335a76deff57a112607d9813ba7a -Author: Olaf Meeuwissen -Date: Mon Jun 27 22:08:20 2016 +0900 - - Clean up .gitignore file content - - Removes empty lines and duplicates (note that .gitignore patterns are - recursive unless anchored with a leading /). - -commit 61f3fec68e14944be7ecf219ec604e599141cbdf -Author: Olaf Meeuwissen -Date: Mon Jun 27 22:05:50 2016 +0900 - - Remove references to SANE CVS - - The references in in-file changelogs and the ChangeLog files have not - been modified. Only those references that refer to current practices - or locations. - -commit c23791cbd71d58b2627cfc65bbf2cb20aeb51bba -Author: Olaf Meeuwissen -Date: Mon Jun 27 21:51:43 2016 +0900 - - Sync AUTHORS content with current status - - We've been using git for a while ;-). Also updates the write access - info and fixes encoding issues. - -commit cb4924f210bf758558b583220a14ed5a62f178dc -Author: Olaf Meeuwissen -Date: Sun Jun 26 10:22:35 2016 +0900 - - Stop distclean from removing files willy-nilly - - The distclean target should only remove files that make creates. If - there are any that need taking care of, they should be added in on a - per file basis in the Makefile.am that creates it. - -commit 0065aaa1c8cb823d20b1e0ff32b3f6197e73db3f -Author: Olaf Meeuwissen -Date: Sun Jun 26 10:11:42 2016 +0900 - - Remove overly zealous ignore patterns - - Text editor backup and temporary files like *~ are a per developer - issue, add them to your global .gitignore. Other dot-files should - be ignored on a case-by-case basis. - -commit 8274a52eec3c20becf9901acaab4837b6b61c2f7 -Author: Olaf Meeuwissen -Date: Sun Jun 26 10:07:26 2016 +0900 - - Sort .gitignore files - -commit b25ef62c2bb163fffea56000ef25544a236d2096 -Author: Olaf Meeuwissen -Date: Sun Jun 26 10:05:12 2016 +0900 - - Fix sorting of ignore files - - We haven't been using CVS since ... 2009-05-04 :-| - -commit 0bc7b6aed7e3ac8ee78190f0e795ce9c62c3f36e -Author: Olaf Meeuwissen -Date: Sun Jun 26 09:16:54 2016 +0900 - - Sync *.po files with previous changes - - This changes the file/line references in all files (and picks up any - new messages as a side effect). - -commit bdade6bb07a0ec27e3930c0b3b86c28a5c2a5bd9 -Author: Olaf Meeuwissen -Date: Sun Jun 26 09:15:24 2016 +0900 - - Sync derived files with previous changes - -commit ec4fe7ec7200a881feba5b539256dc58ae1edbaf -Author: Olaf Meeuwissen -Date: Sun Jun 26 08:50:04 2016 +0900 - - Prefer gettext's --disable-nls option - -commit c676acbe472f2a57763d0ce198e50b048d37bbda -Author: Olaf Meeuwissen -Date: Sun Jun 26 08:49:14 2016 +0900 - - Switch to using the gettext build machinery - - This adds two automatically maintained English variants that handle - quote substitution in onrder to provide smart quotes. - -commit 0286bf46fc2992dfd2e9539fb939c243db13e91f -Author: Olaf Meeuwissen -Date: Sun Jun 26 08:30:45 2016 +0900 - - Add gettext build machinery files for I18N/L10N support - - These are courtesy of autopoint and target gettext-0.18.1 because that - is the version in Debian 7 (which is what Alioth is running). The one - warning this produces on autoreconf is fixed in gettext-0.18.2, BTW. - -commit eecee6d1014537cabe427d44168fce9ac9894301 -Author: Olaf Meeuwissen -Date: Sat Jun 25 15:23:05 2016 +0900 - - Fix VPATH build issue - - The source *.po files weren't found when you configured outside of the - top source directory. - -commit 00984cd1119bb9bb5b794bfc0f1ef77369978d68 -Author: Yurii Kolesnykov -Date: Sat Jun 25 03:34:12 2016 +0300 - - Fix compilation of saned.c under OS X - -commit ad176ba9fe1f7608d8ad8032407cf1f7dc66dad6 -Author: Alessandro Zummo -Date: Tue Jun 21 00:50:02 2016 +0200 - - epsonds: remove unused var - -commit 1dbabdce5d34e686608bb997245c49a823e19fb5 -Author: Alessandro Zummo -Date: Tue Jun 21 00:49:08 2016 +0200 - - epsonds: fix compilation - -commit 9b389a61c5e698e8bffb186bdbc005739128b427 -Author: Alessandro Zummo -Date: Tue Jun 21 00:43:39 2016 +0200 - - epsonds: added support for network scanners - -commit f13ca02b86a4d27951149723ca2ae81491991c18 -Author: Olaf Meeuwissen -Date: Mon Jun 20 21:42:56 2016 +0900 - - Fix variable name typo and other typographic nit-picks - -commit e7100e275d58d67b903e883e7a02e45d18f81ef7 -Author: Olaf Meeuwissen -Date: Wed Jun 15 20:47:28 2016 +0900 - - Update documentation to reflect recent changes - -commit 5695d01077c7e575808a37a66df37d1f9fafa637 -Author: Olaf Meeuwissen -Date: Wed Jun 15 20:23:33 2016 +0900 - - Silence overly verbose targets - - This only takes effect with silent rules enabled. - -commit 43cdc1056af899520797b09f3f78ba64703ed74d -Author: Olaf Meeuwissen -Date: Wed Jun 15 20:18:25 2016 +0900 - - Do not duplicate Warning on output - -commit 40bfec7a6b4a804201bad7f0517f16b0c6ae4110 -Author: Olaf Meeuwissen -Date: Wed Jun 15 20:17:29 2016 +0900 - - GitLab-CI: fix configure option - -commit f75e271853f40c6cb00ce59cbb4e9d62d083a1b2 -Author: Olaf Meeuwissen -Date: Tue Jun 14 21:24:53 2016 +0900 - - Tweak GitLab CI builds - - The idea is to build as much as possible for the *-full flavour build, - make compiler warnings stand out and muddle on after errors so that we - get all the problems in a single log. - -commit ef7deff36c759efa8d371251febef6d37d4eb94b -Author: Olaf Meeuwissen -Date: Tue Jun 14 21:20:48 2016 +0900 - - Add missing autofoo file - - This should have gone in with d853463e. - -commit d853463ef1b97082d657a0be32d1b27a04940ea2 -Author: Olaf Meeuwissen -Date: Tue Jun 14 06:30:48 2016 +0900 - - Sync derived files - - This was done with - - AUTOMAKE="automake --add-missing --copy" autoreconf --force - - on Debian GNU/Linux 8.5. - -commit 17d78ab7c326069c3a596f17ded6418ef42930bc -Author: Olaf Meeuwissen -Date: Fri Feb 12 21:09:32 2016 +0900 - - Fix warnings of "newer" automake versions - -commit a7376ffa6dd1796c1678b33bd03bf19766e227de -Author: Olaf Meeuwissen -Date: Fri Feb 12 20:52:57 2016 +0900 - - Fix libtoolize warning - -commit 7675cb7c3eb5b6e97fb87adc464b6bcc67cfd7dd -Author: Olaf Meeuwissen -Date: Thu Feb 11 17:43:14 2016 +0900 - - Drop Makefile.in from EXTRA_DIST - - Automake is smart enough to include this on its own. - -commit 7bfa818c57485310994650528124a7036894eb36 -Author: Olaf Meeuwissen -Date: Thu Jan 14 21:22:00 2016 +0900 - - Set up compiler and linker early and in one place - -commit f80cf1dbbdd85f2a0b595aef83cc63faa0c91c04 -Author: Olaf Meeuwissen -Date: Thu Jan 14 20:21:49 2016 +0900 - - Remove unused SANE_LINKER_RPATH macro - -commit e4ad1f58f31ec7110df716494b13cf96156b6a7c -Author: Olaf Meeuwissen -Date: Thu Jan 14 18:50:47 2016 +0900 - - Enable ISO C99 support for more compilers - -commit 444b572d1a559d93a6ad172f86bdcc9197377e75 -Author: Olaf Meeuwissen -Date: Sat Jan 9 18:43:36 2016 +0900 - - Use autoconf provided --docdir - -commit f1f4180e5b6f71bf3a674bbfcbf7932b401d7a96 -Author: Olaf Meeuwissen -Date: Sat Jan 9 18:24:20 2016 +0900 - - Collect autoconf bits in one place - -commit 35f1936aeba18b34628d35938529e0d2af0e58c7 -Author: Olaf Meeuwissen -Date: Sat Jan 9 18:11:53 2016 +0900 - - Determine version bits and release programmatically - -commit 16497dc13838e14784778883fb2837fbcf9e288e -Author: Olaf Meeuwissen -Date: Sat Jan 9 17:59:20 2016 +0900 - - Replace convenience variable by its expansion - -commit 9a52b5bc27c2a50e14161b4dcaba43f825cf91a4 -Author: Olaf Meeuwissen -Date: Sat Jan 9 17:48:27 2016 +0900 - - Fix variable name typo - -commit 79c623628a28b6c28321cad6518bf98cf7a705a4 -Author: Olaf Meeuwissen -Date: Sat Jan 9 17:48:03 2016 +0900 - - Fix new automake warnings - -commit 97fed76717367289a8e160dab4341d79586c1079 -Author: Olaf Meeuwissen -Date: Sat Jan 9 17:22:31 2016 +0900 - - Replace obsolescent macro with LT_INIT option - -commit c868a2e8d48e3c31051b6a8978c9b1df494bc36b -Author: Olaf Meeuwissen -Date: Sat Jan 9 17:22:07 2016 +0900 - - Remove commented out code - -commit 4894b1513d829957e109e5c49b812dc688fe78b3 -Author: Olaf Meeuwissen -Date: Sat Jan 9 17:11:19 2016 +0900 - - Drop a pile of unnecessary macro invocations - - These are already taken care of by other macros. - -commit ae89c8f98362a4e50d4b1a0ce8f3586b77a81989 -Author: Olaf Meeuwissen -Date: Sat Jan 9 15:59:35 2016 +0900 - - Update to automake-1.11.6 - - This turns on additional warnings and adds support for silent make - rules (so compiler warning really stand out ;-). - -commit 87e12bbf2e4312bf0bd18656afe579919c8788e1 -Author: Olaf Meeuwissen -Date: Mon Jun 13 22:24:21 2016 +0900 - - Sync derived files with autoreconf --force - - For the record, this was done on Debian GNU/Linux 8.5. - -commit 309a8140e7285f87d5fc5ee24b942f1713e80be8 -Author: Olaf Meeuwissen -Date: Wed Oct 28 21:59:42 2015 +0900 - - Improve test shell builtin invocation portability - - POSIX 2008 obsoletes the -a and -o operands (according to the autoconf - documentation). - -commit d9e2f441139c0514c3d388976d1f8fc78a04de95 -Author: Olaf Meeuwissen -Date: Wed Oct 28 20:59:22 2015 +0900 - - Double quote code passed to AC_LANG_PROGRAM - - Upon re-reading the autoconf documentation, this seemed the right thing - to do. The AC_LANG_PROGRAM macro does not quote its arguments so any - occurence of [ and ] will get stripped out if not double quoted. - - Current code snippets passed do not use them but it is better to use a - consistent quoting approach for such snippets. In other places in the - configure.ac file double quoting is used already. - -commit d3d5dc3da04cce842f7fa8d941676f2f5abc3bbd -Author: Olaf Meeuwissen -Date: Thu Oct 22 22:18:19 2015 +0900 - - Update to autoconf-2.69 - - This gets rid of a number of obsoleted macros and replaces RETSIGTYPE - with a void literal which can be assumed for C89 and later. - - This changeset was prepared using autoupdate and modified to get rid of - whitespace and doubled [] changes. Changes to acinclude.m4 were added - by hand. - -commit 2d6fad58b4c61d59bec3879dab9ccf0c1b88dd11 -Author: Olaf Meeuwissen -Date: Thu Oct 22 20:15:45 2015 +0900 - - Respect GNU Standards user variables - - Several variables are considered "user variables" by the GNU Standards. - This means that the user can pass these to their ./configure and make - invocations as they see fit. These variables include CPPFLAGS, CFLAGS - and LDFLAGS. - - This changeset pushes our use of these variables to the automake shadow - variables, AM_CPPFLAGS, AM_CFLAGS and AM_LDFLAGS, so that user variables - will no longer clobber flags required in order to build. - -commit 7a2b112d20e08337528128745bf7cc1d6096a1d8 -Author: Olaf Meeuwissen -Date: Wed Oct 21 22:33:53 2015 +0900 - - Prefer make variables over literal substitutions - - The AC_SUBST and PKG_CHECK_MODULE invocations in configure.ac as well as - acinclude.m4 are sufficient to trigger automake to insert initialization - logic for the variables these introduce. There is no need to do this by - hand. Wherever these values are needed, it is better to use a variable. - This allows for one-off overrides on the make command-line (without the - need to run ./configure) for one thing. - -commit 2745528b60617d737a7a597c4ee5397359a6ddfd -Author: Olaf Meeuwissen -Date: Mon Oct 19 21:52:47 2015 +0900 - - Fix non-POSIX automake file variable warning - - This addresses warnings about the use of the $(wildcard) function. - It has been replaced by a plain shell glob. There is one case where - this will result in an error, when there are no matches, but that is - when the targets that use it make no sense. It is probably good to - get an error in that case. - -commit d81836bd2332e42136a15a72961c0b9295d94b58 -Author: Olaf Meeuwissen -Date: Mon Oct 19 21:04:53 2015 +0900 - - Add automake subdir-objects option - - This addresses autoreconf output such as: - - tools/Makefile.am:37: warning: source file '../backend/sane_strstatus.c' is in a subdirectory, - tools/Makefile.am:37: but option 'subdir-objects' is disabled - - The option was introduced in automake version 1.9 and is slated for - unconditional activation with automake-2.0. - -commit d38a098ec6fce0aa18dd757677c5a07ff1a44163 -Author: Olaf Meeuwissen -Date: Mon Oct 19 20:20:56 2015 +0900 - - Rename configure.in to configure.ac - - This name has been preferred since autoconf-2.52 and automake-1.5. - Both were released in the summer of 2001. Support for configure.in - is slated for removal in automake-2.0. - - The configure.ac file itself requires autoconf-2.54 or later (and - does not care about the automake version). - -commit c9027378a12a6f67b22ee5fe203df1739486e3ad -Author: Olaf Meeuwissen -Date: Mon Jun 13 20:35:34 2016 +0900 - - xerox_mpf: Make JPEG support an option - -commit 359bb9c3d48c87324b2ead602de76e0e35daadba -Author: Olaf Meeuwissen -Date: Sun Jun 12 20:32:30 2016 +0900 - - Add CI support to test selected build scenarios - -commit 5ba37467e88ca8052973b37128ce8fd36ad5d61d -Author: m. allan noah -Date: Thu Jun 9 21:51:18 2016 -0400 - - fujitsu backend v131 - - - hide compression-arg option when jpeg disabled - - add Send/SC/GHS macros for recent scanners - - add initial support for fi-74x0 - - add initial support for fi-7030 - - set has_MS_lamp=0 for fi-71x0 - - add I18N macros to all option titles and descriptions - - add usb ids for many newer scanners - -commit ec8bf64396b394c4d483b811f9948871f12882b4 -Merge: 1d2a40e 1e01365 -Author: Louis Lagendijk -Date: Sat May 21 22:06:57 2016 +0200 - - Merge branch 'master' of ssh://git.debian.org/git/sane/sane-backends - -commit 1e013654cc3af09f4731ab9ec8d8324d03a7de4a -Author: Alessandro Zummo -Date: Mon May 9 11:10:35 2016 +0200 - - pieusb: mkostemp -> mkstemp - -commit 926bfade544de4a4fd5f1a8082b85a97e2443770 -Author: Alex Belkin -Date: Sat May 7 22:33:03 2016 +0300 - - Color scanning for Samsung models, which support JPEG Lossy compression. - - Patch is submitted by Laxmeesh Onkar Markod - - Patch to code is applied almost verbatim, except, insignificant - formatting fixes and making new functions static. - - Also, new USB ids added and scanner support is changed as reported. - -commit 1d2a40ec96aea0ba183415efea570301159d4159 -Author: Louis Lagendijk -Date: Sat Apr 30 15:32:55 2016 +0200 - - pixma_mp150.c: fix parameter settings for MB5000 in send_scan_param - -commit 28dcd0aef4ac91b87527c17c8aa89e879f39f20d -Author: Louis Lagendijk -Date: Wed Apr 27 18:45:22 2016 +0200 - - pixma_mp150.c: replace multiple if statements with case statement in handle_interrupt - -commit eb712c6bd8ca6a42a1d3941583fa18b9981b8712 -Author: Louis Lagendijk -Date: Wed Apr 27 17:55:52 2016 +0200 - - pixma_mp150.c: scan param 0x26-0x29 should contain localtime HHMM, also for MB5000 series - -commit c8169b1e656f7f95c67946298da5a0e1c143f8e8 -Author: Louis Lagendijk -Date: Fri Apr 22 23:58:23 2016 +0200 - - pixma.h: step version of the backend to 0.17.32 - sane-pixma.man pixma.desc: mark Maxify MB5000 as complete (but ADF does not work) - -commit dfc5487571ed2915bda7bdedbd4c79015004361b -Author: Louis Lagendijk -Date: Fri Apr 22 22:42:48 2016 +0200 - - pixma_mp150.c: fix 1200 dpi scanning for MB5000 series - -commit d5e1323738a4ed2edc96b566138c7cc6c55f3f5e -Author: Louis Lagendijk -Date: Fri Apr 22 21:05:40 2016 +0200 - - pixma.h: step pixma backend version to 0.17.31 - -commit c2985f0fd60279bca0dcfed3d3fb60cc33cfe4dc -Author: Louis Lagendijk -Date: Fri Apr 22 21:03:48 2016 +0200 - - pixma_bjnp_private.h: change minimum timeout value for the bjnp protocol to 1 sec - as 500 ms gives errors on scanimage -A (it workked for scanbd) - -commit 4b2f171a13248a8e3d79379e368c54fb71ed97e2 -Author: Louis Lagendijk -Date: Wed Apr 20 11:19:32 2016 +0200 - - pixma_bjnp.c pixma_bjnp_private.h: set minimum timeout for network operations to 500ms - -commit affe1ac821b17813188bd91045ced32fe4fcfe56 -Author: Louis Lagendijk -Date: Wed Apr 20 10:58:54 2016 +0200 - - pixma_bjnp.c pixma_bjnp_private.h: make bjnp protocol follow timeouts set by backend - -commit 53aa78df3a6980791ce250c471d019c5c59b83ec -Author: Louis Lagendijk -Date: Mon Apr 18 22:00:15 2016 +0200 - - pixma_mp150.c: Fix scanbutton detection for MB5000 series - -commit 1452cf2e0d9f56602a5ca9b07e52f8d8f6b9ec8a -Author: Louis Lagendijk -Date: Sat Apr 16 21:37:25 2016 +0200 - - pixma_bjnp: Remove dead code in polling - -commit 19c128a23e27c1ab5a030fa6ff74da1b740629bb -Author: Rolf Bensch -Date: Tue Apr 12 18:30:24 2016 +0200 - - README.linux: move installation description into new document INSTALL.linux - -commit 51943537c314c9060138df8b37307377c307ba3a -Author: Rolf Bensch -Date: Tue Apr 12 18:14:55 2016 +0200 - - pixma: backend version 0.17.30 - -commit 270a8cd3bebfb2a630a1b74d5abd0b6fe2fc2e5d -Author: Rolf Bensch -Date: Tue Apr 12 18:13:36 2016 +0200 - - pixma: Canon PIXMA MG7700 Series is working - -commit 2556ffc2c593c3408cc554ecc97e07db457c975d -Author: Rolf Bensch -Date: Thu Mar 31 11:21:27 2016 +0200 - - pixma_mp150: MG7700 Series doesn't need special image format post processing @ high dpi - -commit e6b6ad9d4847e86aed8be0837a19bfada881f52d -Author: m. allan noah -Date: Tue Apr 5 20:30:10 2016 -0400 - - canon_dr backend v55 - - fixed-width scanners were calculating left-side offset incorrectly in color - initial support for DR-F120 - rename all DUPLEX_INTERLACE_* to indicate start and end of line - -commit 41a416e4afcf6cada69193dc408ef184d0e5f678 -Author: Alessandro Zummo -Date: Mon Mar 21 18:59:47 2016 +0100 - - epsonds: fixed resolution setting bug, DS-60000 workaround is needed no more - -commit 52bc4d241c9587e99be2ae4566ad01469a3ecab9 -Author: Rolf Bensch -Date: Mon Mar 21 10:53:29 2016 +0100 - - pixma: backend version 0.17.29 - -commit bc1637bb39794b415a2e73ee990e4763c73be3f9 -Author: Rolf Bensch -Date: Tue Feb 16 16:20:58 2016 +0100 - - pixma_mp150: MG3600 Series doesn't need special image format post processing @ 1200dpi - -commit 23eb95582da718791103b83ea002e947caa0f5fc -Author: Rolf Bensch -Date: Fri Mar 4 13:38:12 2016 +0100 - - pixma: backend version 0.17.28 - -commit eba9c9e2391d59459e5fa3f362d8dc08d14c7b9c -Author: Rolf Bensch -Date: Fri Mar 4 13:36:08 2016 +0100 - - pixma_imageclass: software lineart for all imageCLASS, imageRUNNER, i-SENSYS and laserBase scanners, - supported by this sub-backend - - imageCLASS scanners: - D420, D480, D530, MF810/820, MF3240, MF4010, MF4150, MF4270, MF4320, MF4360, - MF4410, MF4570dw, MF4690, MF5630, MF6500, MF8030, MF8170c - - i-SENSYS scanners: - MF210, MF220, MF3010, MF4500, MF4700, MF4800, MF5880dn, MF5900, MF6100, - MF6680dn, MF8200C, MF8300, MF8500C - - imageRUNNER scanners: - iR1133 - - laserBase scanners: - MF5650 - -commit 38d6f1ba6dd48d8139b3ef504b4c7920d0e4736b -Author: Rolf Bensch -Date: Fri Mar 4 13:08:31 2016 +0100 - - pixma_imageclass: MF6100 Series document feeder does not have 600DPI capability - -commit 328e9b93d71d1f9b031c4066e4cba00893703c4a -Author: Stéphane Voltz -Date: Thu Mar 3 21:59:24 2016 +0100 - - raise build number - -commit 8ad2c60d82797cc3495f63f8230bdf6f999067a1 -Author: Stéphane Voltz -Date: Thu Mar 3 21:58:55 2016 +0100 - - use half step mode for LiDE 110 600 dpi scan - -commit 52ea420d44a26832f662c837bbbe4d2f7002875a -Author: Stéphane Voltz -Date: Thu Mar 3 21:46:43 2016 +0100 - - use half step for LiDE 210 600 dpi scans - -commit bd0b0cd218504868f32962a5558449956c8ce242 -Author: Stéphane Voltz -Date: Thu Mar 3 21:39:25 2016 +0100 - - use rewind instead of slow_back_home - - - if required by flags, do a rewind instead a slow_back_home that pollutes - shading settings - -commit 3dee0f8d48e26e3aceb0243d03199af5870f30e2 -Author: Stéphane Voltz -Date: Thu Mar 3 21:31:01 2016 +0100 - - implement rewind for gl847 and gl124 - -commit de635a32f9638f5fad5806ab5de9498f5fa47ca9 -Author: Stéphane Voltz -Date: Thu Mar 3 21:12:29 2016 +0100 - - add rewind function to command set - -commit 270d6a4242c95d6d376f442ca701e067e3fc74d1 -Author: Stéphane Voltz -Date: Mon Feb 29 21:14:30 2016 +0100 - - fix Lide 110 gray mode max speed - -commit 2f891c13bb5cb1728479ee08ba45b756f68a3287 -Author: Rolf Bensch -Date: Thu Mar 3 13:40:46 2016 +0100 - - pixma: backend version 0.17.27 - -commit bbd327f5e7c973db331f3f309788d852367bc79a -Author: Rolf Bensch -Date: Thu Mar 3 13:38:33 2016 +0100 - - pixma_imageclass: reduce timeout for failed first usb command to 2 seconds - -commit c41640f36433e646989665bac0ac5da460f2d9a9 -Author: Rolf Bensch -Date: Thu Mar 3 13:36:44 2016 +0100 - - pixma: new global parameter to set duration of receive timeout loop - - The default value for receive timeout loop duration has not been changed. - The loop still takes 8 seconds if a timeout occurs. - -commit 9897357727b65d13167b89cd1d1fe816f4d72563 -Author: Stéphane Voltz -Date: Sun Feb 28 21:26:27 2016 +0100 - - enable pixel averaging whne bleow 600 for all models - -commit d784dec60b096b8e8fe18f5f7b5c1921249d6ed2 -Author: Stéphane Voltz -Date: Sun Feb 28 12:26:12 2016 +0100 - - motor table fixes - - - add target speed for 600 dpi gray - - add slope table for 4800/2400 dpi, gray and color - -commit 759729331cc60a86d884518064b2dc92736f7abd -Author: Stéphane Voltz -Date: Sun Feb 28 12:18:56 2016 +0100 - - fix maximum speed compute in gray mode - -commit e1b1ba8aeecf2eefa2855ec8c77604a8070027ab -Author: Stéphane Voltz -Date: Fri Feb 26 05:57:35 2016 +0100 - - fix expiration time option reading - -commit 61d6f5c2140e6e659db20916937cc95c5c7256f3 -Author: Stéphane Voltz -Date: Thu Feb 25 21:37:55 2016 +0100 - - mode set fixes - -commit fa2c9dc9b216fa7b7f1baf013b7cbe8eb3df8597 -Author: Stéphane Voltz -Date: Thu Feb 25 21:37:00 2016 +0100 - - fix GPIO during scan - -commit c5117ed0f1b522eab10fd2248f140b2acad2a708 -Author: Stéphane Voltz -Date: Wed Feb 24 21:43:29 2016 +0100 - - doc and version update - -commit 747275a00f03e4ab643461448985ce20879e1d12 -Author: Stéphane Voltz -Date: Wed Feb 24 21:15:26 2016 +0100 - - add 1200 and 2400 dpi mode for LiDE 120 - -commit 2a18600792c00f9ca37ff5b52d2cc1c8202d8b4b -Author: Stéphane Voltz -Date: Wed Feb 24 06:35:46 2016 +0100 - - make 1200 dpi scan mode work for LiDE 120 - -commit b11a69d27572aa938cedff303ba7560ca9793943 -Author: Stéphane Voltz -Date: Wed Feb 24 06:17:50 2016 +0100 - - make 600 dpi mode work for LiDE 120 - - - add override for registers 0x16 and 0x70 since 120's sensor - is set differently according to resolution - -commit 15e203de89abe53f732aa431548645c5c9838237 -Author: m. allan noah -Date: Tue Feb 23 21:11:00 2016 -0500 - - Various copyright comment updates - -commit 1465543cc0dd9e4fb4b3706ca6793e90a35ce389 -Author: m. allan noah -Date: Tue Feb 23 21:07:06 2016 -0500 - - fujitsu backend v130 - - run init_model before init_ms so some scanners can override - set all M309x and M409x scanners s->broken_diag_serial = 1 - -commit 963de58dfc4498693aeeec35a9ff23363af6ac67 -Author: m. allan noah -Date: Tue Feb 23 20:42:52 2016 -0500 - - Enable padded read for DR-3080CII - -commit 1207ce5a40664c04b934bd0a6babbc1575361356 -Author: m. allan noah -Date: Tue Feb 23 20:36:32 2016 -0500 - - Support SANE_USB_WORKAROUND env var - - Here, we add a new env var (SANE_USB_WORKAROUND) to sanei_usb.c. - This allows end users to conditionally enable the workaround added - in commit 014b45d920f1fb630e1a31bb01f1da02ea2a6a87. The default is - to not enable the workaround, because more recent Linux kernels no - longer seem to need it. Some users have even reported failure with - the workaround enabled. - -commit 219198838be069d7e3d48b53762727f1bbfb93e5 -Author: Stéphane Voltz -Date: Tue Feb 23 21:39:22 2016 +0100 - - LiDE 120 working [75-300] dpi - - - fix sensor pixel number - - enable calibration - - default to 16 pixel DUMMY - -commit 4fd1d10228047a740f28b1cd25579b7c40c93b1f -Author: Stéphane Voltz -Date: Mon Feb 22 21:45:02 2016 +0100 - - tune scanarea geometry - -commit a74ebe551daf8750821b1ab57324e54141a84461 -Author: Stéphane Voltz -Date: Sun Feb 21 22:14:48 2016 +0100 - - first almost correct scan at 300 dpi - -commit 8f938f2d00d27070e826f88a77264ee36d0bbedf -Author: Stéphane Voltz -Date: Sun Feb 21 09:48:26 2016 +0100 - - GL124 DAC and SENSOR setup changes - -commit f56ffa63b99db4767b35d294fef96476b228f993 -Author: Stéphane Voltz -Date: Sun Feb 21 09:47:47 2016 +0100 - - doxygne fix - -commit 2e1102dc3ab1ee4d7bfec3e7cbf6e3a1527f5264 -Author: Stéphane Voltz -Date: Thu Feb 18 21:41:38 2016 +0100 - - add dedicated reference slope tables for LiDE 120 - -commit 214dfad1d5aa841b597187004747ec88c507cf06 -Author: Stéphane Voltz -Date: Wed Feb 17 21:43:05 2016 +0100 - - use dedicated LiDE120 GPIO - -commit 387cea7d6ce75af9441c5841221267bef7b7924c -Author: Stéphane Voltz -Date: Wed Feb 17 21:04:55 2016 +0100 - - define dedicated motor/sensor/gpio for LiDE 120 - -commit e90f8cb8a1e62f6865d9e237fd1f0e7f773e5094 -Author: Stéphane Voltz -Date: Fri Feb 12 08:11:20 2016 +0100 - - latin1 -> utf8 - -commit d74d3bcd887d2a3d59ee96e04eb68f15c0a3b882 -Author: Rolf Bensch -Date: Thu Feb 18 22:34:16 2016 +0100 - - README.linux: add some hints for individual SANE installations - -commit 926a7e67b6f81ffdb1b4f67a55bf84862efcf6b9 -Author: Rolf Bensch -Date: Wed Feb 17 21:24:18 2016 +0100 - - pixma: fix scanner names - -commit 235dc80b5f3faaf195eef1e177a1f38284ca3bee -Author: Rolf Bensch -Date: Wed Feb 17 21:10:44 2016 +0100 - - pixma: Canon i-SENSYS MF6100 Series is working - -commit 6d89f7ef25266cc9a53440bbf68ff2e1a37d4b86 -Author: Rolf Bensch -Date: Wed Feb 17 21:06:04 2016 +0100 - - pixma: backend version 0.17.26 - -commit 7a227dcaf2771b31feb852e6a83336976966a0ab -Author: Rolf Bensch -Date: Wed Feb 17 21:03:18 2016 +0100 - - pixma_imageclass: wait for 8sec to throw last page out of ADF feeder @ ADFDUP - -commit 23efb9f55f466179df86848912acbed1a94c10ff -Author: Rolf Bensch -Date: Wed Feb 17 21:01:48 2016 +0100 - - pixma_imageclass: PIXMA_ENO_PAPER check also for ADFDUP scans - -commit 29ceb0e377009cd6829d8f68c58a2197ac19a20d -Author: Rolf Bensch -Date: Wed Feb 17 20:59:32 2016 +0100 - - pixma_imageclass: fix for failed first usb command (timeout) - - Sometimes the first usb command to the scanner fails after a previous scan. - A workaround was to reconnect the usb cable. This fix simply resends the - failed command. - -commit 8f1202d6537568e56b4886ebe5d41d0210ffacd9 -Author: Rolf Bensch -Date: Wed Feb 17 20:55:49 2016 +0100 - - pixma_imageclass: fixes for MF6100 Series - - - special ADF settings - - the MF6100 Series is a Generation 2+ scanner, but uses the old read image command - -commit 02855737ee84e3c72bceff9ba06fddc5a5d99860 -Author: Rolf Bensch -Date: Wed Feb 17 20:32:00 2016 +0100 - - pixma: use usb timeout instead of sleep timer while waiting for usb response - -commit 4771fab9c16b477dc376bd2e5fdd8d0dc7f2c478 -Author: Rolf Bensch -Date: Wed Feb 17 20:30:47 2016 +0100 - - pixma: reduce global usb read and write timeouts to 1 sec - -commit 99f7e7872f2619c3ebec2590b91de3fb0ca28a1a -Author: Olaf Meeuwissen -Date: Sat Feb 13 17:37:34 2016 +0900 - - Disable use of pthreads if pthread.h cannot be found - -commit 04d5e4a0cf775f6483873a3f1e70a173587546b6 -Author: Olaf Meeuwissen -Date: Sat Feb 13 17:34:46 2016 +0900 - - Move #include to sanei_thread.h - - The sanei header file may need pthread_t. If it does, make sure it - is available. - -commit af35e9ba749cce6e735d685ec4495e8c8d85778c -Author: Rolf Bensch -Date: Thu Feb 11 12:06:34 2016 +0100 - - pixma: Canon Pixma MG3600 Series is working - - Reported by Rajib Bandopadhyay - -commit 7bd773ade5ff1bc4170d2a1773428efe759aaa75 -Author: Stéphane Voltz -Date: Tue Feb 9 09:55:26 2016 +0100 - - LiDE 120 support wip - -commit 056f590f2d147099554d97a89dd5e0ddfa8d6dda -Author: Alessandro Zummo -Date: Sat Jan 23 00:55:31 2016 +0100 - - epsonds: fixed comment - -commit cf2dfea0008d16cb70f8baeaae5a414e9bdafda3 -Author: Alessandro Zummo -Date: Fri Jan 22 20:44:36 2016 +0100 - - epsonds: extend the bug fix to all depths - -commit 8fd6151acd1a1b313b1c9fabb5e2691ba45de9d6 -Author: Alessandro Zummo -Date: Fri Jan 22 17:38:00 2016 +0100 - - epsonds: fix stripes on DS-60000 at 1bpp/300dpi - -commit 4fa7f4f6f8b69f41fd5d03abc12d16e0f2e876b3 -Author: Alessandro Zummo -Date: Fri Jan 22 17:01:57 2016 +0100 - - epsonds: clear endpoints on startup in order to fix some strange scanner / xhci combo - -commit f78e85cad666492fadd5612af77fa7c84e270a12 -Author: Rolf Bensch -Date: Fri Jan 8 18:35:20 2016 +0100 - - pixma: backend version 0.17.25 - -commit b08c324223732407d736a79ab8c59f01b3774736 -Author: Rolf Bensch -Date: Fri Jan 8 18:34:27 2016 +0100 - - pixma: Canon PIXMA MG5700 Series is working - - Reported by Andrew Reginato, bug #315244 - -commit 0f47b47b759908e7b11800404d269087d60d87ad -Author: Rolf Bensch -Date: Fri Jan 8 17:32:36 2016 +0100 - - pixma_mp[150|810]: disable send_time() - - The function send_time() makes trouble with a lot of scanners. - We send a warning to the debug output instead of sending the time. - - fix for [#315248] Canon MP250 with pixma backend is not working - -commit b040b150a08b0b5394ad3bc91a45966d97f58152 -Author: Rolf Bensch -Date: Fri Jan 8 16:54:30 2016 +0100 - - pixma: fix for [#315244] Add support for Canon PIXMA MG5700, MG6800, MG6900 and MG7700 - - These scanners are new and need further testing! - -commit 81c429082c3c139f8616de4a73733953cd5aa33f -Author: Rolf Bensch -Date: Fri Jan 8 16:43:46 2016 +0100 - - pixma: update copyright - -commit 9aecb00947e6bf7ef1cf412aff2ab41202617b30 -Author: Olaf Meeuwissen -Date: Fri Jan 8 21:26:31 2016 +0900 - - md5: Avoid the need for casting - - This also modifies the code slightly to follow the original array - access more closely. - -commit cdad5961f3888f0a3c0c525d0efab33174c11a24 -Author: Volker Diels-Grabsch -Date: Sun Dec 6 01:23:51 2015 +0100 - - Introduce md5_set_uint32 - - This fixes the following GCC warning: - - warning: dereferencing type-punned pointer will break strict-aliasing rules - -commit f3471c2ca6ea22846dd6619aff7913610722a6c0 -Author: Olaf Meeuwissen -Date: Sat Jan 2 17:50:34 2016 +0900 - - saned: Use system header IPv6 test macros if available - - This should fix [-Wstrict-aliasing] compiler warnings on those systems - where the IN6_IS_ADDR_LOOPBACK and IN6_IS_ADDR_V4MAPPED macros exist. - POSIX.1-2001 states that they shall be defined in netinit/in.h so most - systems will probably have them. - -commit 0de5416a9bafa1ade52722c509817276bbf87d8a -Author: Olaf Meeuwissen -Date: Sat Jan 2 16:06:34 2016 +0900 - - umax_pp: fix memory leak - - Found courtesy of [-Wunused-but-set-variable] compiler warning. - -commit 9d78ace3b7e60afa2b3cb829ac23e5f8b4ccdc07 -Author: Olaf Meeuwissen -Date: Sat Jan 2 16:06:00 2016 +0900 - - umax_pp: fix [-Wunused-but-set-variable] compiler warnings - -commit 3f0c3df2fcde8d0cf30ab68c70cb5cad984dda6f -Author: Olaf Meeuwissen -Date: Thu Dec 31 17:51:00 2015 +0900 - - kvs40xx: fix [-Wstrict-aliasing] compiler warnings - -commit b1f886a2e36555fb0b01c8eb22a0041aebe25795 -Author: Olaf Meeuwissen -Date: Thu Dec 31 17:47:40 2015 +0900 - - kvs20xx: fix [-Wstrict-aliasing] compiler warnings - -commit 0e3a5c4197fe36eae739a6086b484ff16b83d663 -Author: Olaf Meeuwissen -Date: Thu Dec 31 17:43:25 2015 +0900 - - kodakaio: fix [-Wformat=] compiler warnings - - This uses the ANSI C approach that is used in a lot of existing code - rather than what ISO C99 allows for consistency. - -commit cadb4b0fff00540159625320416e5601c4704627 -Author: Olaf Meeuwissen -Date: Sat Dec 26 17:45:56 2015 +0900 - - saned: fix [-Wmaybe-uninitialized] compiler warning - -commit 572e61d39a10ac7299d95005fa7543afe4957d80 -Author: Olaf Meeuwissen -Date: Sat Dec 26 14:56:12 2015 +0900 - - p5: fix [-Wunused-but-set-variable] compiler warnings - -commit f9e44963801be2940c71e49d7c76a4e59b28dfc7 -Author: Olaf Meeuwissen -Date: Sat Dec 26 14:51:21 2015 +0900 - - xerox_mfp: fix [-Wunused-but-set-variable] compiler warning - -commit f276e3e05503c5f44890df5a8105959ea07dbb6d -Author: Olaf Meeuwissen -Date: Sat Dec 26 14:49:25 2015 +0900 - - umax1220: fix [-Wunused-but-set-variable] compiler warning - -commit e28bdadae98f203188253c5b0a8825a284c8c066 -Author: Olaf Meeuwissen -Date: Sat Dec 26 13:27:47 2015 +0900 - - u12: fix [-Wunused-but-set-variable] compiler warning - -commit 70c9e1d13ce705249ddbbee2dad5e6307fe77ffa -Author: Olaf Meeuwissen -Date: Sat Dec 26 13:25:18 2015 +0900 - - sm3840: fix [-Wunused-but-set-variable] compiler warnings - -commit 9d4f2a72098436e4a65d2047a151ba3c0af82907 -Author: Olaf Meeuwissen -Date: Sat Dec 26 13:18:13 2015 +0900 - - sm3600: fix [-Wunused-but-set-variable] compiler warning - -commit 82720a2023d8e75480036a9e86f8a57d0bfe6a10 -Author: Olaf Meeuwissen -Date: Thu Dec 24 19:01:09 2015 +0900 - - sharp: fix [-Wunused-but-set-variable] compiler warning - -commit da010d6088a75ed85472c46e9a29ace18cd7eda9 -Author: Olaf Meeuwissen -Date: Thu Dec 24 17:44:04 2015 +0900 - - niash: fix [-Wunused-but-set-variable] compiler warning - -commit 86c5d6d7bd52dcb4208c7d5a1ba8844e8c8011e5 -Author: Olaf Meeuwissen -Date: Thu Dec 24 17:38:41 2015 +0900 - - nec: fix [-Wunused-but-set-variable] compiler warning - -commit 220429ff9ebc78e9869e431125ffd9a235efa93d -Author: Olaf Meeuwissen -Date: Wed Dec 23 22:27:47 2015 +0900 - - mustek_usb2: fix [-Wunused-but-set-variable] compiler warnings - -commit 7efb05627273266a8171d3f9244bbd7a433d6e44 -Author: Olaf Meeuwissen -Date: Wed Dec 23 22:19:01 2015 +0900 - - mustek_pp: fix [-Wunused-but-set-variable] compiler warning - -commit 664398cc311b85647a804bee0f8f230a0e3a3f49 -Author: Olaf Meeuwissen -Date: Wed Dec 23 22:12:07 2015 +0900 - - mustek: fix [-Wunused-but-sed-variable] compiler warnings - -commit 8b75c6d45002ffafae6cfbf2edd64b3de35d3b04 -Author: Olaf Meeuwissen -Date: Wed Dec 23 22:17:40 2015 +0900 - - microtek2: fix another [-Wunused-but-set-variable] compiler warning - - This allows for the fact that the backend may be compiled with and - without support for authorization. - -commit c1458770955b5476eedc89755bb424744b05b055 -Author: Olaf Meeuwissen -Date: Wed Dec 23 22:11:31 2015 +0900 - - microtek2: fix [-Wunused-but-set-variable] compiler warnings - -commit 26aa8b52f60adf7553b2872f54a85cfd7b20dd98 -Author: Olaf Meeuwissen -Date: Sat Dec 26 17:41:09 2015 +0900 - - magicolor: fix [-Wunused-function] compiler warning - - This function is only used when SNMP support is activated. - -commit 292dd42bb6585e2801623d1f33497581626d9d72 -Author: Olaf Meeuwissen -Date: Wed Dec 23 21:50:42 2015 +0900 - - magicolor: fix [-Wunused-but-set-variable] compiler warning - -commit d0e85e9d5e775f143f3db98e762d72861f60a82b -Author: Olaf Meeuwissen -Date: Wed Dec 23 21:48:09 2015 +0900 - - ma1509: fix [-Wunused-but-set-variable] compiler warning - -commit 7c0f5ec66c7fd673d27876b538e52440a897cc1f -Author: Olaf Meeuwissen -Date: Sat Dec 26 17:36:57 2015 +0900 - - lexmark: fix [-Wmaybe-uninitialized] compiler warning - - This adds a default handler to switch statement so low_get_start_loc() - bails before the start_600 variable is used. - -commit 068c3bb75d3972dd2218caa84a6de761c5ca0db8 -Author: Olaf Meeuwissen -Date: Sat Dec 26 17:28:34 2015 +0900 - - kodakaio: fix [-Wunused-function] compiler warning - - The function is only used when Avahi support is enabled and has been - put in a suitable compilation scope. - -commit 610dc9ceb4d9eb061209d935e2b1966dfca5a74c -Author: Olaf Meeuwissen -Date: Wed Dec 23 21:38:08 2015 +0900 - - kodak: fix [-Wunused-but-set-variable] compiler warning - -commit 2724f85552def3fa0c92d88389854c283eac38d3 -Author: Olaf Meeuwissen -Date: Wed Dec 23 21:36:54 2015 +0900 - - hpsj5s: fix [-Wunused-but-set-variable] compiler warning - -commit aabb63dbbfdfea9f444019a19171bdcace08b0dd -Author: Olaf Meeuwissen -Date: Wed Dec 23 21:35:39 2015 +0900 - - hp4200: fix [-Wunused-but-set-variable] compiler warnings - -commit a82798d5e1d8352daa1d519d77a7a22771c8439e -Author: Olaf Meeuwissen -Date: Wed Dec 23 21:33:40 2015 +0900 - - hp3500: fix [-Wunused-but-set-variable] compiler warning - -commit 51277aec4a6959f88d46d7ca14cfb94166c328eb -Author: Olaf Meeuwissen -Date: Wed Dec 23 21:24:10 2015 +0900 - - hp: fix [-Wunused-but-set-variable] compiler warnings - -commit a97b1738dfcc16cd0a7fd68f95df8b013f3cb206 -Author: Olaf Meeuwissen -Date: Wed Dec 23 21:19:46 2015 +0900 - - gphoto2: fix [-Wunused-but-set-variable] compiler warning - -commit cbeb98daeceb262b3a868c1b2ea2102b98760e61 -Author: Olaf Meeuwissen -Date: Wed Dec 23 21:10:29 2015 +0900 - - epson: fix [-Wunused-but-set-variable] compiler warning - -commit cbc72a017123b81a21c6b69ffcb6f828cc810f03 -Author: Olaf Meeuwissen -Date: Wed Dec 23 21:08:46 2015 +0900 - - dmc: fix [-Wunused-but-set-variable] compiler warning - -commit fb4147c4f13f7f39c00a807ecc327b5824df21f5 -Author: Olaf Meeuwissen -Date: Wed Dec 23 20:58:07 2015 +0900 - - dc240: fix [-Wunused-but-set-variable] compiler warning - -commit bcfa3f6591744e43a0aa7be228505423b25f7731 -Author: Olaf Meeuwissen -Date: Wed Dec 23 20:56:49 2015 +0900 - - dc210: fix [-Wunused-but-set-variable] compiler warning - -commit c31cf621062ae4ef69a80d51879d242978853859 -Author: Olaf Meeuwissen -Date: Wed Dec 23 20:55:36 2015 +0900 - - dc25: fix [-Wunused-but-set-variable] compiler warnings - -commit 43b296471bc5a902de470f57df681d0c04964b91 -Author: Olaf Meeuwissen -Date: Wed Dec 23 20:51:28 2015 +0900 - - coolscan: fix [-Wunused-but-set-variable] compiler warnings - -commit 50ca4bc97670fed1083a5677ddfa71f74bd495dc -Author: Olaf Meeuwissen -Date: Wed Dec 23 20:49:17 2015 +0900 - - cardscan: fix [-Wunused-but-set-variable] compiler warning - -commit c2b7b1af748527dd8ba0fcabc4310fcac1bdf491 -Author: Olaf Meeuwissen -Date: Wed Dec 23 20:46:13 2015 +0900 - - canon636u: fix [-Wunused-but-set-variable] compiler warning - -commit e8818437456f36c721f12d311bdb65f3d45606c7 -Author: Olaf Meeuwissen -Date: Wed Dec 23 20:39:15 2015 +0900 - - canon: fix [-Wunused-but-set-variable] compiler warnings - -commit 592430016c97b4362314c63a1ac7c96f23d71e4d -Author: Olaf Meeuwissen -Date: Wed Dec 23 20:30:02 2015 +0900 - - avision: fix [-Wunused-but-set-variable] compiler warning - - The variable seems to have been superseded by conv_out_size in the - else branch of set_calib_data(). - -commit 5b8fdd317f1bb4076b8fe661db78c230af21004b -Author: Olaf Meeuwissen -Date: Wed Dec 23 20:27:20 2015 +0900 - - artec_eplus48u: fix [-Wunused-but-set-variable] compiler warning - - This leaves the sane_close() implementation just as broken as it has - been from the initial commit sometime in 2002. - -commit ec1936713e67b192d057b2f552a25622f88844a1 -Author: Olaf Meeuwissen -Date: Wed Dec 23 20:26:21 2015 +0900 - - artec_eplus48u: fix [-Wunused-but-set-variable] compiler warning - - The variable was only used to silence a [-Wunused-parameter] warning. - -commit 5b21a24312f2cf2ced5d5c70b0f7d2c1f0c58f35 -Author: Olaf Meeuwissen -Date: Wed Dec 23 19:57:13 2015 +0900 - - artec: fix [-Wunused-but-set-variable] compiler warning - - The variable is used to assign return values but is not referenced by - anything itself. - -commit 57ae115eafa5b52b84b8e2878982cdad7c1a9f13 -Author: Olaf Meeuwissen -Date: Sat Dec 26 17:12:41 2015 +0900 - - sanei_thread: fix [-Wmaybe-uninitialized] compiler warning - -commit cd3453948dd812aaa77d921b198351b340f8c748 -Author: Olaf Meeuwissen -Date: Wed Dec 23 18:53:06 2015 +0900 - - sanei_usb: const_cast data buffer - - The libusb_bulk_transfer() API caters to both reads and writes and - as a result of that will not take a const pointer. - -commit be084e0d7bb7933e1826e6e48b42f43bc3cb077a -Author: Olaf Meeuwissen -Date: Sat Dec 26 17:05:17 2015 +0900 - - sanei_usb: Move variable declarations to scope of usage - - Fixes an [-Wunused-variable] when compiling without libusb. - -commit 0d7882e34b5f5625261258a3a341a58a04beb304 -Author: Olaf Meeuwissen -Date: Sat Dec 26 16:51:44 2015 +0900 - - Change compile time warning policy - - The -Wall flag is now always enabled (when using gcc). The -Wextra - flag (previously known as -W) and -pedantic flags are, by default, - enabled during development but disabled for releases. - - All other flags have been removed. - -commit 5136e664b8608604f54a2cc1d466019922b311e6 -Author: Olaf Meeuwissen -Date: Sun Dec 20 21:58:45 2015 +0900 - - Document ChangeLog policy change - -commit 674b75fc913187415b4f151a52e4bc7004c5d5b0 -Author: Olaf Meeuwissen -Date: Sun Dec 20 17:33:55 2015 +0900 - - Improve readability of condition - - This also fixes the following GCC warning: - - warning: logical not is only applied to the left hand side of comparison - -commit 58052a7ce6b205e25a2fc85f31158595cad00258 -Author: Volker Diels-Grabsch -Date: Sat Dec 5 21:33:48 2015 +0100 - - Change GCC mode from ISO C90 to ISO C99 - - Add GCC flag "-std=c99". Also remove GCC flag "-ansi" which is an - alias for "-std=c90" and would make the flag "-std=c99" ineffective. - This fixes all occurrences of the following GCC warning: - - warning: ISO C90 does not support '__func__' predefined identifier - -commit baec5e039504de390cae41557b0b8323343721c3 -Author: Volker Diels-Grabsch -Date: Sat Dec 5 10:48:59 2015 +0100 - - Use consistently __func__ instead of __FUNCTION__ - - Some parts of SANE used __FUNCTION__ while other parts used __func__. - Now, __func__ is used consistently throughout the SANE sources. This - fixes all occurrences of the following GCC warning: - - warning: ISO C does not support '__FUNCTION__' predefined identifier - -commit 93298674d02b1127efdf4e726e92e797a0081c9e -Author: Volker Diels-Grabsch -Date: Sat Dec 5 20:44:14 2015 +0100 - - Merge all compatibility macros around __func__ and __FUNCTION__ - - Various parts of SANE introduced their own compatibility macros for - old compilers that don't support __func__. Most of these definitions - are identical or have minor differences. This patch replaces them - with a single instance in the central header file for backends. - -commit 7c8c8e29beed2c4e6f96db08031c12c9001ca784 -Author: Volker Diels-Grabsch -Date: Sun Dec 6 03:32:51 2015 +0100 - - Remove dead code due to unused variables - - This fixes some occurrences of the following GCC warning: - - warning: variable '...' set but not used - -commit aba87a4582d594cf953b4bda5b5d42e37e13f21c -Author: Volker Diels-Grabsch -Date: Sun Dec 6 01:30:30 2015 +0100 - - Mark internal function toupper_ascii as static - - This fixes the following GCC warning: - - warning: no previous prototype for 'toupper_ascii' - -commit 13b6faee2a0696eb02a61f22121b7f4854987f2e -Author: Volker Diels-Grabsch -Date: Sun Dec 6 03:03:06 2015 +0100 - - Fix interface of helper function write_many - - This fixes two occurrences of the following GCC warning: - - warning: cast discards 'const' qualifier from pointer target type - -commit badd7025b21b2207cfb95001aeb324597e24b301 -Author: Volker Diels-Grabsch -Date: Sun Dec 6 02:37:10 2015 +0100 - - Bugfix: On error, return the actual error code in sanei_magic_rotate - - Up to now, on failure the sanei_magic_rotate function returned a - success status. This fixes the following GCC warning: - - warning: variable 'ret' set but not used - -commit 6aced758f4a95fd858906f3e898ee967a9718641 -Author: Volker Diels-Grabsch -Date: Sun Nov 29 16:02:01 2015 +0100 - - Fix typos in comments - - While reading through the SANE sources I noticed some annoying typos - in the comments. This patch is my contribution to make the SANE - sources slightly more pleasant to read. - -commit 6d8b8d5aa6e8da2b24e1caa42b9ea75e9624b45d -Author: Alessandro Zummo -Date: Tue Dec 15 16:17:53 2015 +0100 - - epsonds: fix duplex w/ double feed detection - -commit e9b52639e8dca938b5569b1697c36796ab92174a -Author: m. allan noah -Date: Tue Dec 15 07:23:42 2015 -0500 - - Add note about changelogs - -commit 06d876f74e5d07cb82d02ca1222926a61a3e458b -Author: Stéphane Voltz -Date: Tue Dec 15 06:05:07 2015 +0100 - - fix for #315050 - - - handle case where linesel is rounded to 0 when scan y resolution is - below minimal scan resolution but higher than half of the minimum - -commit 753d123f36d08cdb8047adac7c89a9fe015c4b25 -Author: m. allan noah -Date: Sat Nov 28 08:34:58 2015 -0500 - - canon_dr desc update - - add note about mode switch on P-208 - -commit f1593204c72124f3077b0b29f3c128d30be415b5 -Author: Olaf Meeuwissen -Date: Fri Nov 27 21:26:46 2015 +0900 - - Drop execute permission - - Source code, description files and configuration templates should never - need to be executed. - -commit e094c5b43b6d8d8bec84bd5b1ab2c6009f38e14b -Author: Olaf Meeuwissen -Date: Fri Nov 13 22:06:30 2015 +0900 - - Invert sense of sanei_thread validity check - - Double negatives suck. - -commit fe12d31e6873f5c3de330f1de4c4fbc851df1e9f -Author: Olaf Meeuwissen -Date: Fri Nov 13 21:41:56 2015 +0900 - - Fix SANE_Pid related -Wsign-compare warnings - - This may fix threading related issues on WIN32 platforms, BTW. - -commit ed59056d40a143b3cf9243ea0068448a88ce3108 -Author: m. allan noah -Date: Mon Nov 23 21:26:09 2015 -0500 - - canon_dr backend v54 - - - br_x and br_y locked to page_width/height until changed - -commit d0ea697ab83360bf0ccddcd02565f85ea0f96b50 -Author: m. allan noah -Date: Mon Nov 23 21:08:30 2015 -0500 - - fujitsu backend v129 - - - br_x and br_y locked to page_width/height until changed - - add USB ID's for fi-6xxxLA and fi-6xxxZLA scanners - - add USB ID's for unsupported SP11xx scanners (genesys based) - -commit e6a249e0424f6854b7ed12f8272633a0edecfa90 -Author: m. allan noah -Date: Thu Nov 12 21:10:49 2015 -0500 - - revert mustek_usb2 backend upgrade - - Instead of 100+ revert commits, I've lumped everything into a - single commit. This removes all of dedf0ac30 through db7f038f1, - plus the parts of 497d59180 which were specific to mustek_usb2 - -commit 21c5f4d814f93a363377798635c7f1cbc1c79342 -Author: Olaf Meeuwissen -Date: Wed Nov 11 22:38:56 2015 +0900 - - Add missing #include for malloc() - -commit 7dc416b7ae3f0db7c5ce97b5bce0f05f869d877f -Author: Olaf Meeuwissen -Date: Wed Nov 11 22:38:32 2015 +0900 - - Remove unnecessary cast - -commit fff1c5962a94ab410dba4fed541312554c8edf8d -Author: Olaf Meeuwissen -Date: Wed Nov 11 22:35:34 2015 +0900 - - Fix "discards 'const' qualifier from pointer target type" warnings - - The line variable is not (and cannot be) declared 'const'. The string - variable points to a location in line, hence it is safe to cast away - 'const'ness of the sanei_config_skip_whitespace() return value. - -commit 38153b33e1657137e6956e63a9fcb76d665f86f2 -Author: Olaf Meeuwissen -Date: Wed Nov 11 22:33:34 2015 +0900 - - Fix "discards 'const' qualifier from pointer target type" warning - - The device2 variable is not modified so let's make that clear. - -commit d2576bbb948dd9d8e06f66dc4cede774c5518751 -Author: Olaf Meeuwissen -Date: Wed Nov 11 22:30:10 2015 +0900 - - Fix "discards 'const' qualifier from pointer target type" warnings - - The cs3_xfree() functions is really just a checked call to free() so its - signature has been changed to match that. The warnings that causes have - been fixed in the same way and on the same grounds as the previous commit. - -commit e65fd1b4cb5e9463d16a6fb4cd8eeb129ba58e63 -Author: Olaf Meeuwissen -Date: Wed Nov 11 22:28:17 2015 +0900 - - Fix "discards 'const' qualifier from pointer target type" warnings - - The resources pointed to have been acquired by the backend. It is safe - to cast away the 'const' qualifier when releasing these resources. - -commit 497d59180649a831691220aefcc8ec81d5f90960 -Author: m. allan noah -Date: Sun Nov 8 17:17:37 2015 -0500 - - automake for recent changes - - updates to mustek_usb2, canon_dr and umax_pp require automake run - -commit db7f038f108ca12966b947dd80f3772e2133495e -Author: Jan Hauffa -Date: Sat Jul 14 23:15:02 2012 +0200 - - Fix a bug introduced during refactoring that caused discolored stripes to appear at the left and right sides of the scan area. - -commit a64477bf1a381458e0500ef7c62da521d6c4d97f -Author: Jan Hauffa -Date: Sat Jul 14 16:44:28 2012 +0200 - - Remove USB 2.0 mode, as it causes horrible backtracking for resolutions > 300 dpi. - -commit 98248f6088850045579a1e46f2e8aa16302f9dd9 -Author: Jan Hauffa -Date: Sat Jun 30 22:37:21 2012 +0200 - - properly add new handle to linked list - -commit 3b48a6d10560e855cef815ca5c1ecbb50fd02d00 -Author: Jan Hauffa -Date: Sat Jun 30 00:04:06 2012 +0200 - - fix integer overflow bug in image data conversion - -commit d0ea79f00059a4a8c3a2ac710fd0443c8bbb3d3a -Author: Jan Hauffa -Date: Sun May 27 12:23:53 2012 +0200 - - Add model-specific functions for computing the number of motor steps. - -commit 15fbbf60a6d8c9956a6b6a874f2d0b734ab1b935 -Author: Jan Hauffa -Date: Sun May 15 22:42:17 2011 +0200 - - Split SetMotorSteps into a function that computes the number of steps for the various motor states and and a function that writes the step counts to the controller's registers. - -commit 70dcfa4cedf3619575d413126d3530b28e490fd3 -Author: Jan Hauffa -Date: Sun May 15 21:16:00 2011 +0200 - - Simplify SetMotorStepTable*. - -commit 27b636d294876c7aac0b53922bacac627ba873c9 -Author: Jan Hauffa -Date: Sun May 15 19:58:09 2011 +0200 - - Provide model-specific function for computing the motor current. - -commit 8f405f5a937fd05a67a7554138c047fb5abe5e2c -Author: Jan Hauffa -Date: Sun May 15 18:13:44 2011 +0200 - - Update motor table generation according to new dumps. - -commit 2fa054456e723d7741be4eeb09bb879b802fad9d -Author: Jan Hauffa -Date: Sun May 15 15:09:21 2011 +0200 - - Detect USB controller type. - -commit d8a203a69373bb6f207de9ddc9c30a60da4a2cc9 -Author: Jan Hauffa -Date: Sun May 15 14:35:06 2011 +0200 - - Add function to compute scan motor table for 4800H48U, rearrange code in Asic_SetWindow. - -commit ceb7d29690f2ce8f32576caa4b7197fc91b024c1 -Author: Jan Hauffa -Date: Sun May 8 17:39:31 2011 +0200 - - Fix some misuse of SENSOR_DPI constant. - -commit 30e39071560412b362e03a105e20996093074d81 -Author: Jan Hauffa -Date: Sun May 8 16:44:15 2011 +0200 - - Allow for model-specific parameters in mustek_usb2_high.c. - -commit 47c56e3f19b38c97db4f2d14f780343adca9024f -Author: Jan Hauffa -Date: Sun May 8 14:55:42 2011 +0200 - - Add some motor-related code for the Microtek 4800H48U. - -commit 7b26e0e3fa48742b66bd4632772d70d140058c70 -Author: Jan Hauffa -Date: Sun May 8 13:56:17 2011 +0200 - - Simplify SimpleMotorMove. - -commit 0a1125895b3f1ed0058729fcc29d6858ac6d5e56 -Author: Jan Hauffa -Date: Sat May 7 13:58:24 2011 +0200 - - Add some information about the values retrieved by GetChipStatus. - -commit c691b0224130763239966c1d7856e96810289238 -Author: Jan Hauffa -Date: Sat May 7 13:28:52 2011 +0200 - - Remove restriction to 8-bit color in negative mode. - - The only reason for that restriction was that the histogram stretching code, which has been removed earlier, could only handle 8-bit color. - -commit 4ced7a900a6463c460121eaed7583f4249ef74c2 -Author: Jan Hauffa -Date: Sat May 7 12:45:50 2011 +0200 - - Improve debug logging and fix a bug in TestDRAM. - -commit e1c00bd9ab9d3f4b568d5bb6d09e0812cbef7b7f -Author: Jan Hauffa -Date: Wed May 4 23:30:14 2011 +0200 - - Introduce SetMotorCurrentAndPhase for Microtek scanner, fix old bug in simplification of Mustek variant. - -commit 96b4950499d0cf44369fc8e50099925de2ac3c4f -Author: Jan Hauffa -Date: Mon Apr 25 20:25:02 2011 +0200 - - Register related fixes. - -commit 5d556cd5e65ba9d1df30e3a3beb0322549d040ff -Author: Jan Hauffa -Date: Mon Apr 25 19:26:32 2011 +0200 - - Introduce structure for specifying model-specific parameters on the ASIC level. - -commit 529b6a1d6dc3ff52945f8bf3323bf571596e8088 -Author: Jan Hauffa -Date: Sun Apr 24 21:01:10 2011 +0200 - - Fix bug in device list handling. - -commit 877f250b5c32f8403ab321d14fd76afd7e2c2d1d -Author: Jan Hauffa -Date: Sun Apr 24 20:54:19 2011 +0200 - - Resolve issue with debug logging. - -commit 272c1d6fdeb8af9d6d4b61f85b4a77ca2ebbb645 -Author: Jan Hauffa -Date: Sun Apr 24 20:30:19 2011 +0200 - - Add preliminary model entry for the Microtek 4800H48U. - -commit 7fda9bbf93f4565e1334ebafd0b6caf13d462de4 -Author: Jan Hauffa -Date: Sun Apr 24 20:21:41 2011 +0200 - - Introduce support for multiple scanners. - - Keep all state local and ensure that all resources are freed by sane_exit. Ensure that each function returns only those error codes that are valid according to the SANE standard. - -commit 6865eaf6edef0cc5ea30bcc0d72b52189132f4d6 -Author: Jan Hauffa -Date: Sun Apr 24 14:49:06 2011 +0200 - - Simplify sane_read, other fixes to mustek_usb2.c. - -commit 63793907e2c2120511603a504396f7053fdc5149 -Author: Jan Hauffa -Date: Sun Apr 24 14:15:59 2011 +0200 - - Minor fixes to image processing. - -commit bc203e8aa125f276ce84498091185482a22d3527 -Author: Jan Hauffa -Date: Sun Apr 24 13:55:35 2011 +0200 - - Sanitize option handling and add support for scanner buttons. - -commit b2b3cf767a9a91677b0ac13a6645ed918ca71d55 -Author: Jan Hauffa -Date: Sun Apr 24 00:59:19 2011 +0200 - - Use standard macros for byte swapping. - -commit 281f53aa1829a61286232efed7a9d6253cec32d4 -Author: Jan Hauffa -Date: Sun Apr 24 00:39:59 2011 +0200 - - Remaining endian safety fixes. - -commit 80b7249ebf9c57b60cbc0a25288cc04ba2302b56 -Author: Jan Hauffa -Date: Sat Apr 23 22:42:45 2011 +0200 - - Resolve minor thread safety problem. - -commit de84f51270f05ead6758d2811a2d36160c412cb1 -Author: Jan Hauffa -Date: Sat Apr 23 19:31:50 2011 +0200 - - Simplify row stride calculation in Asic_SetWindow(). - -commit 7cd88d41222c85bd262fbf681401ae8c2dab1bce -Author: Jan Hauffa -Date: Sat Apr 23 19:21:52 2011 +0200 - - Remove Scanner_ScanSuggest. - -commit 3f5592ef8e7eedc0a9ff52b8091f9b41b9c2d56f -Author: Jan Hauffa -Date: Sat Apr 23 19:04:31 2011 +0200 - - Move global state variables of mustek_usb2_high.c into scanner structure. - -commit 60a244ed1e1a4e4f8c4dbd83f12141c0c35202ab -Author: Jan Hauffa -Date: Sat Apr 23 18:08:28 2011 +0200 - - Store size of shading table in ASIC structure. - -commit ed1997b22f5f11ccc96262ed841f03b705982737 -Author: Jan Hauffa -Date: Sat Apr 23 17:22:15 2011 +0200 - - Do not test for NULL before calling free(). - -commit 35c6a52834271e41960030b0c24f8cda2245230d -Author: Jan Hauffa -Date: Sat Apr 23 15:28:26 2011 +0200 - - Fix error propagation in mustek_usb2_high.c and a layering violation. - -commit babee5168909c8c3b8d01c36ab509ea4f7092c4f -Author: Jan Hauffa -Date: Thu Apr 21 23:25:34 2011 +0200 - - Fix indentation of debug macros. - -commit c0e44738a41c2cd772125d0774772a541dbac7c5 -Author: Jan Hauffa -Date: Thu Apr 21 23:23:18 2011 +0200 - - Simplify debug output in mustek_usb2.c. - -commit c377a0245332df3f5e07c3cbd5ead889f18e0549 -Author: Jan Hauffa -Date: Thu Apr 21 23:10:08 2011 +0200 - - Simplify debug output in mustek_usb2_high.c. - -commit eebbe92c4e73922f1fa1368852a77697c23a1ad1 -Author: Jan Hauffa -Date: Thu Apr 21 22:45:21 2011 +0200 - - Simplify debug logging in mustek_usb2_asic.c. - -commit 2c712f27c90109e2106d7e8d2f5eeb5af6314260 -Author: Jan Hauffa -Date: Thu Apr 21 00:12:26 2011 +0200 - - Remove uninformative function name prefixes, move gamma table creation into separate function. - -commit c1dc16d709459e054f50604f86f1ee41c0e7177f -Author: Jan Hauffa -Date: Wed Apr 20 23:10:53 2011 +0200 - - Extensive changes to reduce the amount of global variables in mustek_usb2_high.c. - - Might have made MustScanner_SetupScan less readable, though. - -commit 9444bf1156f0ab52937d101ba6120ae8685b645b -Author: Jan Hauffa -Date: Sun Apr 17 22:54:14 2011 +0200 - - Reorganize some MustScanner_* functions. - -commit bd7107ca057b1f45313d96114c6376bb5ee7c200 -Author: Jan Hauffa -Date: Sun Apr 17 22:29:32 2011 +0200 - - Remove some unneeded global variables from mustek_usb2_high.c. - -commit 589d6e15eee356121582eae90d7a938ff094c1e6 -Author: Jan Hauffa -Date: Sun Apr 17 21:57:18 2011 +0200 - - Endian-safe macros; moved remaining ASIC state into structure. - -commit f89a7962deafc3b015700469bc2976ac1b931165 -Author: Jan Hauffa -Date: Sun Apr 17 21:00:26 2011 +0200 - - Fix indentation. - -commit df045634cb6a9667c625fb88ecb36bcb58310cda -Author: Jan Hauffa -Date: Sun Apr 17 19:14:53 2011 +0200 - - Misc fixes. - -commit 86f399bd21d7794ba07265b503fea39baa1bb859 -Author: Jan Hauffa -Date: Sun Apr 17 19:00:30 2011 +0200 - - Code in mustek_usb2.c should not use global state of mustek_usb2_high.c. - -commit 74effd61fd8c9663b994459e8f5a738cc95c4932 -Author: Jan Hauffa -Date: Sun Apr 17 18:25:00 2011 +0200 - - Remove histogram stretching for negative images. - -commit 4962b35abd7426b7b51a00d907a538a2a38dc859 -Author: Jan Hauffa -Date: Sun Apr 17 15:56:40 2011 +0200 - - Use prefix 'p' instead of 'lp', fix other style issues. - -commit 9e2aabc97690baae4dd5a7d79d5e7d18df2cf697 -Author: Jan Hauffa -Date: Sun Apr 17 15:27:14 2011 +0200 - - If g_isCanceled is true, the thread has already been canceled. - -commit a75bd3e8f789435ac5d86ef100dd04e8bd155f76 -Author: Jan Hauffa -Date: Sun Apr 17 15:18:58 2011 +0200 - - Improve error handling in mustek_usb2_high.c. - -commit 1d0f3ca42ee9d84bd4afc2f379e46bc6a376de96 -Author: Jan Hauffa -Date: Sun Apr 17 14:51:01 2011 +0200 - - Fix remaining comments. - -commit 9226162537706c982405a7469e7003c4d61808e0 -Author: Jan Hauffa -Date: Sun Apr 17 14:23:46 2011 +0200 - - Normalize naming of constants, structures, and enums. - -commit d7ebb1553b8e28a9291493aa94003737f0c87298 -Author: Jan Hauffa -Date: Sun Apr 17 13:48:45 2011 +0200 - - Remove USB host type enum. - -commit 41ac627e5f4dbd84c082d1756414ef9922c294e7 -Author: Jan Hauffa -Date: Sun Apr 17 13:45:42 2011 +0200 - - Get rid of unnecessary forward declarations. - -commit da64a1fc1efd8a2e8b8245d6101deb103eea1dc4 -Author: Jan Hauffa -Date: Sat Apr 16 21:37:20 2011 +0200 - - First hack to build mustek_usb2* source files separately. - -commit 3479acf538335e1290ca00a5e5fef3097a835579 -Author: Jan Hauffa -Date: Sat Apr 16 20:24:26 2011 +0200 - - Merge mustek_usb2_reflective/transparent.c into mustek_usb2_high.c. - -commit a45931dd11e5fd270d963c5d4e1b882fa3755c90 -Author: Jan Hauffa -Date: Fri Apr 15 20:12:28 2011 +0200 - - Remove MustScanner_GetScannerState. - -commit c9516d53656ed5a7e45dc63b1f2202c96269a7ef -Author: Jan Hauffa -Date: Wed Apr 13 00:22:06 2011 +0200 - - Merge Reflective_Reset, Transparent_Reset, and MustScanner_Prepare into new function MustScanner_Reset. - -commit b2f52afa321331bf5214cdfe00d15ef479b88651 -Author: Jan Hauffa -Date: Sun Apr 10 18:53:37 2011 +0200 - - Further cleanup of mustek_usb2.c. - -commit ccce2d4a9a9e2762f8802af051db3f9ed2922ac8 -Author: Jan Hauffa -Date: Sun Apr 10 18:42:05 2011 +0200 - - Further cleanup of mustek_usb2.c. - -commit 39141a4c0265d97fe4d77084a5a63eaaafd8b8c4 -Author: Jan Hauffa -Date: Wed Mar 30 20:57:54 2011 +0200 - - Return SANE_STATUS_UNSUPPORTED unconditionally in sane_set_io_mode and sane_get_select_fd. - -commit d9c1df0bb84bffb23ee54be2fbd977e2a18ff4ed -Author: Jan Hauffa -Date: Wed Mar 30 19:41:05 2011 +0200 - - Remove vestigial support for custom gamma tables. - -commit acf84e0c9474382d78ae85120c2671b5525bd079 -Author: Jan Hauffa -Date: Tue Mar 29 18:25:19 2011 +0200 - - Clean up function StopScan. - -commit 9158d10df92b7d96bda66d9e601f248c5474259f -Author: Jan Hauffa -Date: Sat Mar 19 14:55:33 2011 +0100 - - Further simplification of MustScanner_Get*Line functions. - -commit 1f6b405451fda5fe349df1653e3423e8fc360e3b -Author: Jan Hauffa -Date: Sat Mar 19 14:14:30 2011 +0100 - - First attempt at simplifying the Get*Line functions. - -commit a6b15f18ccc430db08c638510bcd603d569723ee -Author: Jan Hauffa -Date: Mon Mar 14 00:50:30 2011 +0100 - - Break remaining long lines. - -commit 25242ff9c85f06275ca190896fe37b6d8902e122 -Author: Jan Hauffa -Date: Mon Mar 14 00:21:44 2011 +0100 - - Clean up mustek_usb2_high.c. - -commit c8982a99392cb7c982f12201a978fb4ae5e9e15a -Author: Jan Hauffa -Date: Sun Mar 13 21:13:26 2011 +0100 - - Do not use prefix "by" for byte variable names. - -commit d7b4e02780acd916ebbdd1cf8a9cc99945ea1acd -Author: Jan Hauffa -Date: Sun Mar 13 21:07:55 2011 +0100 - - Use SANE_Status and SANE_TRUE/SANE_FALSE consistently. - -commit 8b3c78838ae099d0099b54fbd640c0db1bb3b88c -Author: Jan Hauffa -Date: Sun Mar 13 20:06:24 2011 +0100 - - Create common helper function for Asic_CarriageHome and Asic_MotorMove, remove MotorBackHome. - -commit ed5dc8a7cdfb7c32faff37e7ea23446b5de9fc41 -Author: Jan Hauffa -Date: Sun Mar 13 19:41:40 2011 +0100 - - Further refactoring of Asic_SetWindow. - -commit 82a40d5dca84990f41c15998ae89425eaa576ff6 -Author: Jan Hauffa -Date: Sun Mar 13 19:24:17 2011 +0100 - - Refactoring of Asic_SetWindow. - -commit 93a79af5d3322fd06369c59a7e72f6773f9bed52 -Author: Jan Hauffa -Date: Sun Mar 13 15:54:02 2011 +0100 - - Fix indentation. - -commit b43f0688dbb309b7841e89074aab00d4aa61c3a2 -Author: Jan Hauffa -Date: Sun Mar 13 15:15:47 2011 +0100 - - Use symbolic constants in more places. - -commit 3c87b646b5831b24e6d9d13f26f2a08ec83b6cff -Author: Jan Hauffa -Date: Sun Mar 13 14:48:40 2011 +0100 - - First attempt at merging Asic_SetCalibrate into Asic_SetWindow. - -commit 033ebe6d9b6db266fb8146a4ac17d82043b5636a -Author: Jan Hauffa -Date: Sat Mar 12 19:25:59 2011 +0100 - - Made error handling in mustek_usb2_asic.c more consistent. - -commit 96c6ee1dae3dffe2eae9cf3466a0d246d9e3317d -Author: Jan Hauffa -Date: Sat Mar 12 16:20:36 2011 +0100 - - Cleaned up firmware state handling. - -commit c1f22ef9a9a3be1db26fc03721156a72156870b5 -Author: Jan Hauffa -Date: Sat Mar 12 14:18:48 2011 +0100 - - Clean up Asic_SetCalibrate, make Asic_SetCalibrate and Asic_SetWindow more similar. - -commit 3cd05daccad6bb1e50cc4030c0b471ed00897367 -Author: Jan Hauffa -Date: Sat Mar 12 02:13:34 2011 +0100 - - Refactoring the smaller high level ASIC functions. - -commit de5b647c4a47938f186b4661615dfbbd3315636d -Author: Jan Hauffa -Date: Fri Mar 11 23:48:21 2011 +0100 - - Refactored medium level ASIC functions. - -commit 693da258ce3bbcaf5c8ea31b9a08b77af615c0f2 -Author: Jan Hauffa -Date: Fri Mar 11 18:36:07 2011 +0100 - - Move some definitions from mustek_usb2_asic.h to more appropriate headers. - -commit 2776b336d15b0e8094271c69dfda7055cd1d896b -Author: Jan Hauffa -Date: Fri Mar 11 18:17:54 2011 +0100 - - Simplify LLFSetMotorCurrentAndPhase. - -commit dea59ee824157d33c64df719869ee937749f5428 -Author: Jan Hauffa -Date: Fri Mar 11 17:44:11 2011 +0100 - - Refactored all low-level motor functions except LLFSetMotorCurrentAndPhase. - -commit e47fee8dcc88ef4fc3e68ed65def29aacb56d17d -Author: Jan Hauffa -Date: Fri Mar 11 16:27:03 2011 +0100 - - Simplified computation of motor current, removed a redundant register assignment. - -commit 5688a78ace501c9a0ca36cee5f67a5929d652e81 -Author: Jan Hauffa -Date: Fri Mar 11 16:08:35 2011 +0100 - - Simplify low-level ASIC functions, add missing error checks. - -commit 1d8a008856d049df910b1d68599a622986ce85c4 -Author: Jan Hauffa -Date: Fri Mar 11 14:25:09 2011 +0100 - - Simplify SetRWSize, use symbolic constants for registers whenever possible. - -commit 794b15ff9e1daf87b80898aade0dc401e1f597d8 -Author: Jan Hauffa -Date: Fri Mar 11 13:38:40 2011 +0100 - - Simplyfied Asic_SetShadingTable. - -commit 6d5a5123ea3c41ada76e984670b988f847de2145 -Author: Jan Hauffa -Date: Fri Mar 11 13:12:31 2011 +0100 - - Remove whitespace at the end of debug output lines. - -commit d418094b64ad7ae2558860568c3e1e28a5a6cbc7 -Author: Jan Hauffa -Date: Fri Mar 11 13:08:03 2011 +0100 - - Some motor table related fixes. - -commit 3d1b409a1b526025c52c314f143cedd4d2d5d05f -Author: Jan Hauffa -Date: Fri Mar 11 02:28:14 2011 +0100 - - Fix a few comments. - -commit 88cac5b4ade1ad4ace0da5be843c879e9256c71c -Author: Jan Hauffa -Date: Fri Mar 11 02:25:43 2011 +0100 - - Begin simplifying LLFSetMotorCurrentAndPhase, ensure all fields of LLF_MOTOR_CURRENT_AND_PHASE are initialized. - -commit fb55a9260404049e00f13e627d7e3c8e06b397b8 -Author: Jan Hauffa -Date: Fri Mar 11 02:08:46 2011 +0100 - - Remove even more unused code from mustek_usb2_asic.c. - -commit 77ea9b01c374833e061ecee271d81a37f38dad77 -Author: Jan Hauffa -Date: Fri Mar 11 00:07:43 2011 +0100 - - Improved readability of functions in mustek_usb2_high.c. - -commit ca1e0db16f6aeb5c92e2ddf08700981f6799fc4e -Author: Jan Hauffa -Date: Thu Mar 10 01:39:01 2011 +0100 - - Remove unused code and fix indentation in mustek_usb2_high.c. - -commit 3f7cf8a65f48447fbc70808229ef6d2f50c3e412 -Author: Jan Hauffa -Date: Wed Mar 9 01:56:04 2011 +0100 - - Remove DISABLE bit flag constants. - -commit 073fe96611477986de970ab0c444f73024ecea33 -Author: Jan Hauffa -Date: Wed Mar 9 01:26:09 2011 +0100 - - LLF_MOTOR_CURRENT_AND_PHASE: only first byte of arrays MotorCurrentTableA/B is ever used - -commit 4b242a71394221a2155379b8e89340610a8ed725 -Author: Jan Hauffa -Date: Wed Mar 9 01:18:10 2011 +0100 - - Remove unused parameter isOrderInvert from MustScanner_GetMono*Line. - -commit 78863d13deacf657ef15b6078d0926fadbd9991a -Author: Jan Hauffa -Date: Wed Mar 9 01:05:41 2011 +0100 - - Remove redundant typecasts. - -commit cf6c88bfd1debd288ca563b54120e8ff3903f634 -Author: Jan Hauffa -Date: Wed Mar 9 00:41:21 2011 +0100 - - Try to reduce differences between mustek_usb2_reflective.c and mustek_usb2_transparent.c, part 1. - -commit 972fc54793d767a6cd18c722ae36feb408f45f9f -Author: Jan Hauffa -Date: Wed Mar 9 00:02:06 2011 +0100 - - Move some code that was duplicated in mustek_usb2_transparent.c and mustek_usb2_reflective.c to mustek_usb2_high.c. - -commit db37c13bb337c153ddd83902b8c9ad0b4a445c2a -Author: Jan Hauffa -Date: Tue Mar 8 23:10:57 2011 +0100 - - Remove information-less comments, break long lines, fix indentation. - -commit fa8101e05e0432a385e782acd663ce56e0c00367 -Author: Jan Hauffa -Date: Tue Mar 8 18:37:55 2011 +0100 - - Remove unused enum FS_NULL. - -commit ccde6b063555892ae55ac6c7bfeb8a7d44e02a4e -Author: Jan Hauffa -Date: Tue Mar 8 18:29:13 2011 +0100 - - Remove unused fields of struct GETPARAMETERS. - -commit 2be2be76aec39dbef8bbe0501eabaaf0838b3cbc -Author: Jan Hauffa -Date: Tue Mar 8 18:26:32 2011 +0100 - - Unified style of struct and enum definitions. - -commit ce6d7010d3fc0bfc5a54cd3411660db43e382bac -Author: Jan Hauffa -Date: Tue Mar 8 18:15:30 2011 +0100 - - Pixel flavor is never PF_WhiteIs0, so the associated code can be removed. - -commit 76a23c3bc4c80f91f223f29ae8cc5c91a1a8e4f8 -Author: Jan Hauffa -Date: Sun Mar 6 20:31:48 2011 +0100 - - Remove dead "auto level" code, sanitize key handling. - -commit e7c44fe6799e5c1d4bce272b539927337b7a2aca -Author: Jan Hauffa -Date: Sun Mar 6 20:19:27 2011 +0100 - - Cleanup of Asic_SetWindow - -commit 16485d47da8b2d0a829e378afa1443c1ef4839f8 -Author: Jan Hauffa -Date: Sun Mar 6 19:37:25 2011 +0100 - - Optimize motor table calculation. - -commit 8821c2882f51d309a7832b362407c46ff11ccd4a -Author: Jan Hauffa -Date: Sun Mar 6 19:16:16 2011 +0100 - - First attempt at cleaning up mustek_usb2_asic.c. - -commit 30087b3f43f4e6f2dd83373145dbe0a533b27419 -Author: Jan Hauffa -Date: Sun Mar 6 17:06:14 2011 +0100 - - Avoid some unorthodox language constructs. - -commit 030c7fa122dccca2f47c949ca46a5972efca20b8 -Author: Jan Hauffa -Date: Sun Mar 6 16:55:39 2011 +0100 - - Remove redundant code from mustek_usb2_high.c. - -commit a554d61c17206e6b1585bacdfd41fe4aacea1a95 -Author: Jan Hauffa -Date: Sun Mar 6 16:18:18 2011 +0100 - - Remove redundant code from mustek_usb2_asic.c, add a missing error check. - -commit a49bff1a60386c88168d9aa8a94cdc0ccecac7fd -Author: Jan Hauffa -Date: Sun Mar 6 15:39:23 2011 +0100 - - Simplify DRAM test. - -commit bc9252c09464b7ed460bf726dcca3d67f97cd74d -Author: Jan Hauffa -Date: Sun Mar 6 15:27:19 2011 +0100 - - Remove bogus automatic warmup and power saving functions. - -commit 0f63d16121ea84f99f75331582c3bdd0cd0d4e1f -Author: Jan Hauffa -Date: Sun Mar 6 15:13:46 2011 +0100 - - Remove redundant code from mustek_usb2.c. - -commit 694a69dcab0dddf2ab12eebba49c66c7ac20fdad -Author: Jan Hauffa -Date: Sun Mar 6 14:48:40 2011 +0100 - - Remove unused definitions from mustek_usb2.h. - -commit 21be236e840be4f8ca4bead69844f7cd691a8353 -Author: Jan Hauffa -Date: Sun Mar 6 13:57:10 2011 +0100 - - Remove unused definitions from mustek_usb2_asic.h. - -commit 2404326ddeaf7552e094062b1ed57521e9a21cb4 -Author: Jan Hauffa -Date: Sun Mar 6 02:41:42 2011 +0100 - - Remove unused definitions from mustek_usb2_high.h and ensure that the remaining ones are used consistently. - -commit d1851a6512a113d1dc4f20beb86a8be29310b627 -Author: Jan Hauffa -Date: Sun Mar 6 01:50:53 2011 +0100 - - Remove some particularly pointless comments, reduce size of block comments. - -commit 047631050c262142a0f52ed4e1ecc053b03869ad -Author: Jan Hauffa -Date: Sun Mar 6 01:15:12 2011 +0100 - - Remove pointless indirection. - -commit dedf0ac30d341b9bcbab7fb32050ff953cc73eff -Author: Jan Hauffa -Date: Sun Mar 6 01:03:14 2011 +0100 - - Remove unused global variable g_pDeviceFile and associated logic. - -commit 3b73e1e8a3b0085ad5db38837f0bf44f5a5b8919 -Author: m. allan noah -Date: Sun Nov 8 09:24:37 2015 -0500 - - fujitsu backend v128 - - do not ask fi-4340 for serial number - -commit 72ecee97ce9db13f148aedf52eb46911212d58e4 -Author: Thomas Klausner -Date: Tue Oct 27 20:06:00 2015 +0900 - - Add DragonFly BSD support (fixes 315205) - -commit a4cc05f677f110c9361f3274fc5d15087a2f8906 -Author: Thomas Klausner -Date: Tue Oct 27 20:09:00 2015 +0900 - - Add DragonFly BSD support to sane-find-scanner (fixes 315206) - -commit 1baab222e418275ec6fd14afad91b64d0110fdbd -Author: Olaf Meeuwissen -Date: Sun Nov 8 18:49:58 2015 +0900 - - Add missing include (fixes 315207) - - Both Linux and NetBSD mention this header for use of setsocketopt(). - DragonFly BSD needs it for the SOL_SOCKET symbol. - -commit b0a99cb48938cae5a88c5f37a9a91b60589bad4e -Author: Olaf Meeuwissen -Date: Sun Nov 8 18:36:57 2015 +0900 - - Fix non-portable endian.h include issue (315209) - -commit d7516a11ebd6a8d96380c5ee256b171be1cb5e35 -Author: Olaf Meeuwissen -Date: Sun Nov 8 18:16:17 2015 +0900 - - Fix sane-desc testsuite logic - - This fixes test failures for release tarballs (pointed out by Mike - Frysinger), clamps down on wildcards and prints a failure message - when a test does not succeed. - -commit 358cbd7f319c64055cd76fedf62a92500b0c5cf5 -Author: m. allan noah -Date: Fri Nov 6 21:39:35 2015 -0500 - - canon_dr v53 continued - - reorder geometry group options - use bg_color to fill missing image data - -commit 398610336b6aadf1a0c37390a0a5e2bd926bdfdf -Author: m. allan noah -Date: Fri Nov 6 12:19:20 2015 -0500 - - canon_dr backend v53 - - add swskip option - -commit b4bc0eb518ce74ffbfdbe0ce1a14bb404804cd57 -Author: m. allan noah -Date: Fri Nov 6 11:46:17 2015 -0500 - - canon_dr backend v53 - - replace image processing methods with sanei_magic - -commit 666c9a74ff26fd530b40db28f03b447209cf419e -Author: m. allan noah -Date: Thu Nov 5 21:42:29 2015 -0500 - - canon_dr backend v52 - - improve dropout option handling - add software dropout implementation for downsampled modes - -commit 9dc79245291f6d4312c5656fff4232b07f70b673 -Author: m. allan noah -Date: Wed Nov 4 13:49:02 2015 -0500 - - canon_dr backend v52 - - add must_downsample and must_fully_buffer - -commit 01063a769d5431ca83069a9cf240894f893d01f0 -Author: m. allan noah -Date: Wed Nov 4 13:05:05 2015 -0500 - - canon_dr backend v52 - - set can_color=1 by default (recent models dont have 'C' in name) - enable jpeg for DR-6080 - -commit 0b822359b3e1798294e30a7ea9cfd6fd9a1e3e85 -Author: m. allan noah -Date: Wed Nov 4 13:00:10 2015 -0500 - - cardscan backend v3 - - add USB IDs for newer model 800c - -commit 33495ef9b42a783c8f5f2c056ac5699481d3cc7e -Author: Luiz Angelo Daros de Luca -Date: Thu Oct 15 12:35:00 2015 +0900 - - Add missing includes - -commit 4f803bff0872460433dae1ac2a2954ad1016b678 -Author: Olaf Meeuwissen -Date: Thu Oct 22 22:23:47 2015 +0900 - - Escape [] for configure help strings - -commit 471453d2b825a569d467d60160b0eaaf6746bf67 -Author: Olaf Meeuwissen -Date: Mon Oct 19 20:51:04 2015 +0900 - - Drop unused INCLUDES substitution variable - - This addresses the following autoreconf output: - - configure.ac:85: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') - - The INCLUDES variable is not referenced anywhere in configure.ac or - configure. In addition, none of the Makefile.am files use it. - -commit 32c25b8b8235762d9feb5dbd0e81496a56e15569 -Author: Olaf Meeuwissen -Date: Mon Oct 19 21:11:53 2015 +0900 - - Fix duplicate automake file variable initialization issue - - This was introduced in 74c00494. - -commit f8d35b8d2fdcacc9b664594d141102c2c80ac076 -Author: m. allan noah -Date: Mon Oct 26 08:34:17 2015 -0400 - - Update canon_dr.desc - - We had a few scanners that were reported by email or in tracker - tickets, which had not been updated in the desc file. - -commit 716340e7320e7f946329ad7a3cd911d676c92f6d -Author: Olaf Meeuwissen -Date: Sat Oct 17 13:55:17 2015 +0900 - - Include sys/types.h for u_long. Fixes compile on OS X - -commit 03d90ac2edf287bb0358044d7abdd9f6008dffc5 -Author: Alessandro Zummo -Date: Wed Oct 14 21:55:31 2015 +0200 - - epsonds: do not enable double feed detection by default - -commit a90d7c91b36b06bd002af890863c1d608dcdd7d4 -Author: Rolf Bensch -Date: Wed Oct 14 19:05:03 2015 +0200 - - changelog for recent work - -commit 4a83d9c8a4f4c396f5261d62bf7d2f9b8684eba9 -Author: Rolf Bensch -Date: Wed Oct 14 19:04:27 2015 +0200 - - Pixma backend version 0.17.24 - -commit 3095ab46c45e004163f5fb36efa00ce378770a9e -Author: Rolf Bensch -Date: Wed Oct 14 19:02:43 2015 +0200 - - new scanners Canon PIXUS MP5/SmartBase MPC190/imageCLASS MPC190 and Canon MP10/SmartBase MPC200/imageCLASS MPC200 - -commit 06b865cfd24f1e6c71506684d73ef79b43edc3cf -Author: Olaf Meeuwissen -Date: Wed Oct 14 20:39:39 2015 +0900 - - Prevent possible buffer overflows [-Wstrncat-size]. Fixes 315198 - -commit 18e4c4a08622e2ee4536dcb423d4548a4bc7a7e3 -Author: Olaf Meeuwissen -Date: Tue Oct 13 23:32:40 2015 +0900 - - Revert "Prevent use of uninitialized variable" - - This change introduces a variable that shadows the file scope one. - - This reverts commit 45e66aee952dcdada88293901580a111262fc1e9. - -commit 36876a83663832cf89fa945737d004ce9b46fb01 -Author: Olaf Meeuwissen -Date: Mon Oct 12 20:55:19 2015 +0900 - - saned: minor improvement of help message wording - -commit 32986192bd9ce14276e1ae144d71d42461e591b9 -Author: Olaf Meeuwissen -Date: Mon Oct 12 20:42:50 2015 +0900 - - fix: declaration-after-statement warning - -commit 42aa01e4e558e0019df00702579c928f9fd126e6 -Author: Olaf Meeuwissen -Date: Mon Oct 12 20:42:01 2015 +0900 - - fix: missing-field-initializers warning - -commit fa001c2193045844dd3318f9538b309e11089c9c -Author: Olaf Meeuwissen -Date: Mon Oct 12 20:49:07 2015 +0900 - - Follow getopt_long usage in scanimage.c - - This is on the off chance that getopt_long is not in the system's - standard library. - -commit 45e66aee952dcdada88293901580a111262fc1e9 -Author: Olaf Meeuwissen -Date: Mon Oct 12 20:47:43 2015 +0900 - - Prevent use of uninitialized variable - -commit eab8fd457d2b8f38f9425f87258cf4fe42dac15c -Author: Matteo Croce -Date: Sun Oct 11 19:50:04 2015 +0200 - - saned: add '-b' option to bind to a specific address - -commit fed2a2cf60511d87e413148f1b9063f9ea4e6917 -Author: Matteo Croce -Date: Sun Oct 11 19:50:03 2015 +0200 - - saned: use getopt_long() for option parsing - - The help message has been adjusted to match getopt_long conventions. - -commit 418d1ecea7571d10acd08df2edc7967a91e14b0d -Author: Matteo Croce -Date: Sun Sep 20 19:55:37 2015 +0200 - - saned: move help message to usage() function - -commit a79cd0abe7daed1a749c8ad2cd7e2a89cc6153e4 -Author: Matteo Croce -Date: Sun Sep 20 19:55:36 2015 +0200 - - saned: parse inetd args in main() - - move argument parsing logic from run_inetd() to main() - -commit 2c3cb206ce55a7ac9ff9b479de452a332ba2aa1a -Author: Matteo Croce -Date: Sun Sep 20 19:55:35 2015 +0200 - - saned: parse standalone args in main() - - move argument parsing logic from run_standalone() to main() - -commit 2239d2aaff16964a5d67293f5e4220d235e2c84d -Author: Alexander Hofmann -Date: Tue Oct 6 17:42:05 2015 +0200 - - Replace obsolete interface with standard include files - -commit 56e69f0998005db432b4f7dd38693a870f663520 -Author: m. allan noah -Date: Mon Oct 5 08:21:39 2015 -0400 - - added kvs1025.conf.in and utsushi.desc - -commit 69a9a3116eb18f8d0c618217e033a1c134215954 -Author: m. allan noah -Date: Sun Oct 4 21:25:08 2015 -0400 - - minor release doc update - -commit 5e1d45cad7d7933b7120646ae5174ccdc8a9b49f -Author: m. allan noah -Date: Sun Oct 4 21:13:39 2015 -0400 - - reopen sane-backends 1.0.26git +This file is automatically created at build time using the git commit +messages and included in our source tarballs. When you see this text +you're using a `git checkout` and should use the `git log` command to +see what has changed. diff --git a/ChangeLogs/ChangeLog-1.0.0 b/ChangeLogs/ChangeLog-1.0.0 new file mode 100644 index 0000000..b263396 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.0 @@ -0,0 +1,4309 @@ +1998-11-21 David Mosberger-Tang + + * Version 1.0 released + + * From Brian J. Murrell: + + * backend/dll.conf: Mention dc210. + + * backend/cderror.h: New file. + * backend/jinclude.h: Ditto. + * backend/djpeg.c: Ditto. + * backend/dc210.desc: Ditto. + * backend/dc210.h: Ditto. + * backend/dc210.c: Ditto. + * backend/cdjpeg.h: Ditto. + + * doc/Makefile.in (SECT5): Mention sane-abaton.5. + * doc/sane-abaton.man: New file. + * backend/abaton.c: Ditto. + (wait_ready): Explicitly cost tv_sec member to (long) in order + to print it (avoids warning on platforms where tv_sec is not a long). + + * backend/abaton.h: Ditto. + * backend/abaton.conf: Ditto. + * backend/abaton.desc: Ditto. + * backend/dll.conf: Mention abaton. + + * Apollo/DomainOS fixes by Paul Walker: + * sanei/sanei_DomainOS.h: Add this missing file. + * sanei/sanei_config2.c: Include to get + u_char defined if necessary. + * sanei/sanei_DomainOS.c (upper_string): Delete. + (do_help): Ditto. + * include/sane/config.h.in: Add #undef HAVE_SYS_TIME_H. + + * lib/usleep.c [HAVE_SYS_TIME_H]: Include only if + we have it. + + * configure.in (CPPFLAGS): Check for sys/time.h. + + * frontend/gtkglue.c: Move include of in front + of include of . + + * config.sub: Apply patch to recognize -sys5.3. + + * backend/microtek.c: Applied Matto's latest patch to upgrade + backend from v0.9 to v0.10. + +1998-11-04 David Mosberger-Tang + + * backend/microtek2.desc: Mention ScanMaker X6 and Phantom 636. + + * backend/microtek2.c (check_inquiry): Mention Phantom 636 in + model string. + +1998-11-03 David Mosberger-Tang + + * backend/microtek2.c (check_inquiry): Added patch by Sebastian + Erdmann to recognize ScanMaker X6. + +1998-11-02 David Mosberger-Tang + + * backend/artec.c: Print size_t as recommended in backend/GUIDE. + +1998-11-02 Chris Pinkham + + * backend/artec.c: changes to correct bugs when using AT12. + (sense_handler): New function (by Dick Bruijn). + (wait_ready): Ditto (by Dick Bruijn). + (abort_scan): Ditto (by Dick Bruijn). + Support added to read capability data from scanner if the model. + Supports this command (by Dick Bruijn). + Added call to sanei_scsi_close() if detected scanner is not + a Artec/Ultima model (by Francois Ouellet). + Added Negative option. Added Halftone Pattern option. + Added Filter Type option for mono scans. + Added Quality Calibration option. + Moved test_unit_ready command till AFTER we check for ULTIMA scanner. + +1998-11-02 David Mosberger-Tang + + * config.guess: Upgrade to libtool v1.2. + * config.sub: Ditto. + * ltconfig: Ditto. + * ltmain.sh: Ditto. + +1998-10-29 David Mosberger-Tang + + * backend/mustek.c (encode_resolution): If MUSTEK_FLAG_DOUBLE_RES + is set, use resultion encoding reported by + + (attach): Set MUSTEK_FLAG_DOUBLE_RES for MSF-06000CZ. Do other + models need this, too? + (calibration): Declare NUM as size_t, not int. #ifdef out this + unused routine. + (reader_process): Print size_t values as %lu with explicit cast + to u_long. + + * backend/mustek.h (MUSTEK_FLAG_DOUBLE_RES): New flag. + + * backend/mustek.c (init_options): Initialize resolution with 18 + dpi, not 100dpi so that "scanimage" without options gives a + preview-quality image that doesn't take much space or time. + + * backend/mustek.c: Updated with Andreas Bolsch's version (adds + support for SE models). + * backend/mustek.h: Ditto. + * backend/mustek.spec: Ditto. + + * backend/pnm.c (sane_read): Replace C++ comment with C comment. + + * backend/microtek2.c: Updated with Bernd's v0.5. + * backend/microtek2.h: Ditto. + * backend/microtek2.conf: Ditto. + + * backend/umax.c: Updated with Oliver's latest version. + * backend/umax.h: Ditto. + * backend/umax-scsidef.h: Ditto. + * backend/umax-scanner.h: Ditto. + * backend/umax-uc630.h: Ditto. + * backend/umax-uc840.h: Ditto. + * backend/umax-ug630.h: Ditto. + * backend/umax-ug80.h: Ditto. + * backend/umax-uc1200s.h: Ditto. + * backend/umax-uc1200se.h: Ditto. + * backend/umax-uc1260.h: Ditto. + * backend/umax.conf: Ditto. + * include/sane/saneopts.h: Ditto. + * doc/sane-umax-doc.html: Ditto. + * doc/sane-umax-doc.tex: Ditto. + * doc/sane-umax.man: Ditto. + +1998-10-28 David Mosberger-Tang + + * doc/sane.tex (subsection{sane_control_option}): Clarify that + paramter "v" is ignored for SET_AUTO calls. + + * frontend/saned.c (init): Initialize w->version. + + * backend/net.c (connect_dev): Accept version code 2 and + set peer's version code in dev->wire.version. + + * include/sane/sanei_wire.h: New member "version". + + * sanei/sanei_net.c (sanei_w_control_option_req): Encode + option value only if peer_version is < 3 or if action is + not SANE_ACTION_SET_AUTO. + + * include/sane/sanei_net.h (SANEI_NET_PROTOCOL_VERSION): Up + protocol version to version 3. + + * sanei/sanei_net.c (sanei_w_control_option_req): Transcode + value_type, value_size, and value only if req->action != + SANE_ACTION_SET_AUTO. Reported by Petter Reinholdtsen. + + Patches by Petter Reinholdtsen : + + * backend/dmc.c (attach_one): Don't use C++-style comments. + + * backend/dc25.h (DEFAULT_TTY_BAUD): New macro. Move SPEEDS macro + to dc25.c. + + * backend/dc25.c: Initialize tty_baud to DEFAULT_TTY_BAUD. Use + B57600 and B115200 only if defined. + + * doc/saned.man: Mention that hostname matching no longer is case + significant. + + * configure.in + (lib/Makefile.in,lib/strcasecmp.c,frontend/saned.c): Use + strcasecmp() instead of strcmp to compare DNS hostnames. Case is + irrelevant when using DNS. + + * backend/dll.c: Add support for HP-UX 10.xx style shared + libs. + + * configure.in include/sane/config.h.in backends/dll.c: + Use dhl_load() family for DLL support on HP/UX. + + * backend/snapscan.c (sane_snapscan_open): Don't cast lvalue + (illegal according to ANSI C, I think). + + * backend/apple.c (init_options): Add explicit "break" after + "default:" to make HP-UX compiler happy (?). + (sane_read): Make stuff after #endif a comment. + + * backend/agfafocus.c: New file (by Karl Anders Oygard + ). + * backend/agfafocus.h: Ditto. + * doc/sane-agfafocus.man: Ditto. + + * doc/sane-net.man: Fix typo: network service is called "sane", + not "saned" (by Andreas Dilger ). + + * backend/hp-scl.c (sanei_hp_scsi_pipeout): Use SIGPWR only if its + defined (by Peter Kirchgessner). + + * frontend/Makefile.in (INCLUDES): Mention @GTK_CFLAGS@ as part of + INCLUDES macro instead of CFLAGS. Despite its name, @GTK_CFLAGS@ + is guaranteed to contain CPP include directives only. (Reported + by Kevin Dalley .) + +1998-10-27 David Mosberger-Tang + + * sanei/sanei_scsi.c (sanei_scsi_open): Return + SANE_STATUS_ACCESS_DENIED if open() fails with errno==EACCES. + + * backend/ricoh-scsi.c: #ifdef out unused code and print values of + type size_t as prescribed in the file backend/GUIDE. + + * backend/dll.conf: Mention Ricoh backend. + + * backend/ricoh.c: New file (by Ricoh Dillema). + * backend/ricoh.h: Ditto.. + * backend/ricoh-scsi.c: Ditto.. + + * backend/microtek.c: Apply Aug 7 patch by Matto Marjanovic. + + * backend/dc25.c: Apply patch by Peter Fales (v1.1). + * backend/dc25.desc: Ditto. + * doc/sane-dc25.man: Ditto. + + * backend/pnm.c: Applied patch by Goran Thyni + that allows scanning parts of a PNM image. + + * backend/GUIDE: Add Matto's comment on .desc files. + + * backend/hp.c: New file from Peter Kirch (formerly known as xhp). + * backend/hp.h: Ditto. + * backend/hp-accessor.h: Ditto. + * backend/hp-device.h: Ditto. + * backend/hp-handle.h: Ditto. + * backend/hp-option.h: Ditto. + * backend/hp-scl.h: Ditto. + * backend/hp-scsi.h: Ditto. + * backend/hp-accessor.c: Ditto. + * backend/hp-device.c: Ditto. + * backend/hp-handle.c: Ditto. + * backend/hp-hpmem.c: Ditto. + * backend/hp-option.c: Ditto. + * backend/hp-scl.c: Ditto. + * backend/Makefile.in (libsane-hp.la): Make libsane-hp.la + dependent upon hp-accessor.lo, hp-device.lo, hp-handle.lo, + hp-hpmem.lo, hp-option.lo, and hp-scl.lo. + +1998-10-22 David Mosberger-Tang + + * doc/sane-hp.man (Model): Mention HP6200 as per report by Tom + Martone . + +1998-07-30 David Mosberger-Tang + + * include/sane/config.h.in: Apply Cory Kempf's + FreeBSD CAM support patch. + * sanei/sanei_scsi.c: Ditto. + * tools/find-scanner.c: Ditto. + * configure.in: Ditto. + +1998-07-27 David Mosberger-Tang + + * Version 0.74 released. + + * configure.in (CPPFLAGS): Save old CPPFLAGS in saved_CPPFLAGS and + then set CPPFLAGS (not saved_CPPFLAGS!) to include GTK_CFLAGS. + This should get GIMP detected again. + + * frontend/xscanimage.c (init): Add missing newline. + + * backend/net.c (sane_init): Look for service "sane", not "saned". + + * configure.in (V_MINOR): Make it 74. + + * tools/sane-desc.el: Hack a bit so sane-backends.html can be + generated some place other than the working directory + (which may not be writable). + + * tools/sane-desc.el: New file by Matto. + + * doc/Makefile.in (sane-backends-html): New rule to generate + sane-backends.html. + + * backend/apple.desc: List sane-apple man page. + + * backend/umax.c: Updated with Oliver's latest version (with Irix + 4MB workaround). + + * backend/microtek.c: Updated with Matto's v0.9. + * backend/microtek.h: Ditto. + * backend/microtek.conf: Ditto. + * backend/microtek.desc: Ditto. + * doc/sane-microtek.man: Ditto. + + * backend/apple.h: Updated with Milon's v0.3. + * backend/apple.c: Ditto. + + * doc/sane-apple.man: New file (contributed by Milon Firirkis). + +1998-07-23 David Mosberger-Tang + + * backend/canon-scsi.c (reserve_unit): Don't compile unused + reserve_unit(). + + * sanei/sanei_scsi.c: Apply Yuri's patch to add + sanei_scsi_find_devices() support to OS/2. + + * sanei/sanei_pio.c: Include instead of + just so we pick up #define's for inb and + out. + + * include/sane/config.h.in: Mention HAVE_OS2_H and + HAVE_SYS_TYPES_H. + + * configure.in (AC_CHECK_HEADERS): Mention sys/hw.h and + sys/types.h. + (AC_CHECK_LIB): Check for syslog. + (AC_CHECK_FUNCS): Check for _portaccess. + (CPPFLAGS): Don't disable qcam backend if we have _portaccess. + These patches contributed by Yuri for the benefit of OS/2. + + * backend/qcam.c (qc_unlock) [!F_SETLK]: Fall back to convention + UNIX-style locking using O_EXCL (not ideal, but better than + nothing at all). + (qc_lock_wait): Ditto. + + * sanei/sanei_scsi.c (KillDomainServer): Add missing paren. + + * lib/usleep.c [HAVE_SYS_SELECT_H]: Include . + + * include/sane/sanei_backend.h: Define i/o-port access + compatibility macros (by Yuri Dario). + + * backend/Makefile.in (CONFIGS): Mention dummy saned.conf + (this really ought to go in frontend/Makefile, but I'm too lazy to + add a configuration-install rule there...). + + * backend/coolscan.c: Update with Didier's latest version. + (send_one_LUT): Merge in alloca() fix from 1998-04-04. + +1998-07-22 David Mosberger-Tang + + * backend/dll.conf: Mention artec backend. + + * backend/mustek.c (sane_start): Remove duplicate status test. + +1998-07-21 David Mosberger-Tang + + * frontend/saned.c (main): Look for service name "sane", not + "saned". + +1998-07-20 David Mosberger-Tang + + * backend/epson.c (epson_cmd): Add patch by Holger Frahm + to support GT9500. + + * backend/microtek.c: Update with latest version (v0.8). + + * backend/artec.c (PREFER_PIXEL_MODE): Apply Chris Pinkham's + 6/4/98 patch to add preliminary support for AT6 and AT12 scanner + models. + + * backend/epson.c: Apply Christian Bucher's patch. + + * backend/dc25.h: New file (by Peter Fales ) + * backend/dc25.c: Ditto. + * backend/dc25.conf: Ditto. + * doc/sane-dc25.man: Ditto. + + * backend/microtek2.c: Replace dynamically sized array with + alloca() to be ANSI C compliant. + + * backend/epson.c: Replace zero-sized byte arrays with 1 byte + arrays to be ANSI C compliant. + + * doc/sane-hp.man: Mention ScanJet 3P (reported by Patrick Debois + ). + + * backend/umax.c: Updated with Oliver's 5/7/98 patch. + +1998-07-20 Chris Pinkham + + * backend/artec.c: Added code to default to using millimeters + instead of pixels for measurements, can revert to pixels by + defining PREFER_PIXEL_MODE at compilation time. + + Added code to cause sane_read to block until data available to return, + also buffers as much data as possible before returning. + + Added code to cause sane_read to read as much data from scanner as + possible for each call, previously would read 1 line max from + scanner. + + Added code to attempt to detect scanner capabilities from scanner + if scanner supports this command, it not program has defaults + coded in for certain scanner models. + + Separated horizontal and vertical resolution settings with ability + to bind them together. This still has a bug, so the option is is + disabled by default until I can get it working correctly. + + Bug-fixes to get backend working properly with xscanimage. + Added preview mode option. + Added threshold option. + + * backend/artec.h: Added options codes to go along with options + added in artec.c file. + +1998-07-20 David Mosberger-Tang + + * backend/epson.c (scsi_write): Apply patch by Thomas Bogendoerfer + to get Epson backend to work for SCSI + scanners again. + +1998-06-05 David Mosberger-Tang + + * backend/mustek.c (attach): Move dev_wait_ready() after the check + for a Mustek scanner. This is to make sure we don't issue any + command other than INQUIRY to SCSI devices that are not known to + be Mustek scanners. + +1998-05-22 David Mosberger-Tang + + * backend/dmc.c: Updated with David Skoll's latest patch. + + * sanei/sanei_scsi.c (sanei_scsi_find_devices): Declare missing + findtype arg for dummy sanei_scsi_find_devices(). + +1998-05-16 David Mosberger-Tang + + * backend/hp.c (attach): Return right after INQUIRY if the device + doesn't look like an HP scanner. + +1998-05-15 David Mosberger-Tang + + * Version 0.73 released. + + * backend/mustek.c (attach): Initialize *devp to 0. + + * configure.in: Use AM_PATH_GTK to figure out if/how to compile + with gtk libs. + + * aclocal.m4: Include gtk.m4 from gtk-1.0.1 distribution. + + * backend/Makefile.in (install): Change install rule so there is + guaranteed to be a (symlink) of the form + libsane-$(BACKEND).so.$(V_MAJOR) pointing to the right version + of a dll. + + * backend/dll.c (load): Get rid of .la parsing non-sense. Instead, + always attempt to open libsane-$(BACKEND).so.$(V_MAJOR). + + * backend/mustek.c (sane_init): Make sure empty lines really + are ignored. + +1998-05-13 David Mosberger-Tang + + * backend/microtek2.conf: Add line "scsi * * Scanner". + * backend/microtek.conf: Ditto. + + * sanei/sanei_scsi.c (get_devicename): New function. + + * sanei/sanei_config2.c: New file. + + * sanei/Makefile.in (LIBSANEI_OBJS): Mention sanei_config2. + (LIBSANEI_LTOBJS): Ditto. + + * sanei/sanei_scsi.c (sanei_scsi_find_devices): New function + (comes in two flavors: one for Linux, one for the remaining + platforms). + + * include/sane/sanei_scsi.h: New function. + + * doc/sane-dll.man: Fix to make it work with man2html (use + \- instead of -). + * doc/sane-dmc.man: Ditto. + * doc/sane-epson.man: Ditto. + * doc/sane-hp.man: Ditto. + * doc/sane-microtek.man: Ditto. + * doc/sane-microtek2.man: Ditto. + * doc/sane-mustek.man: Ditto. + * doc/sane-pint.man: Ditto. + * doc/sane-scsi.man: Ditto. + * doc/sane-umax.man: Ditto. + * doc/saned.man: Ditto. + * doc/scanimage.man: Ditto. + * doc/xscanimage.man: Ditto. + + * doc/Makefile.in (MAN2HTML): New macro. + (html-man): New rule to generate HTML version of man-pages. + + * configure.in (V_MINOR): Up to 73. + + * backend/umax.conf: Add lines "scsi UMAX" and "scsi LinoHell + Office". + + * backend/microtek2.h: New file (by Bernd Schroeder + ). + * backend/microtek2.c: Ditto. + * backend/microtek2.conf: Ditto. + + * backend/dll.conf: Mention "microtek2". + + * backend/apple.conf: Add line "scsi APPLE". + * backend/mustek.conf: Add lines for "scsi MUSTEK" and "scsi + SCANNER". + + * backend/apple.c (attach_one): New function. + (sane_init): Use sanei_config_attach_matching_devices(). + * backend/artec.c: Like for apple.c. + * backend/canon.c: Ditto. + * backend/coolscan.c: Ditto. + * backend/dmc.c: Ditto. + * backend/epson.c: Ditto. + * backend/hp.c: Ditto. + * backend/microtek.c: Ditto. + * backend/mustek.c: Ditto. + * backend/s9036.c: Ditto. + * backend/snapscan.c: Ditto. + * backend/tamarack.c: Ditto. + +1998-05-11 David Mosberger-Tang + + * backend/snapscan.c (sane_snapscan_get_parameters): Always set + depth of 8. + + * configure.in: Check for gtk_tooltips_set_tips _after_ gtk + libraries have been located. (Patch by Jake E. Hamby + ). + +1998-05-09 David Mosberger-Tang + + * sanei/Makefile.in (.c.o): Patch by Kaz Sasayama + : invoke $(COMPILE) if libtool + doesn't give us a regular .o file. + * lib/Makefile.in (.c.o): Ditto. + + * frontend/preview.c (preview_update): Call update_selection() so + selection is updated when scanwindow geometry changes. The patch + from 1998/4/2 never worked satisfactorily (and indeed was never + enabled in any of the SANE releases). + +1998-05-06 David Mosberger-Tang + + * backend/mustek.c (sane_init): Use sanei_config_skip_whitespace() + to skip whitespace. + +1998-05-05 David Mosberger-Tang + + * frontend/xscanimage.c (init): Allow -g as an option. + + * sanei/sanei_config.c (sanei_config_get_string): New function. + (sanei_config_skip_whitespace): Ditto. + + * backend/umax.c: Updated with Oliver's latest patch. + + * Makefile.in (INSTALLED_INCLUDES): Mention sanei_readproc.h. + + * backend/microtek.h: Updated with Matto's 0.7 patch. + * doc/sane-microtek.man: Ditto. + * backend/microtek.c: Ditto. + Added precalibration code: tries to intelligently have scanner + run a calibration only once when necessary --- this shaves a solid + six seconds off every scan! + Added model code/vendor name for ScanMaker 600ZS. + Added model codes/vendor name for Agfa Arcus II, StudioScan, + StudioScan II. + Patched up 3-pass scanning (forgot to switch color planes). + Corrected IIHR to 600dpi base resolution. + Check so that 0x0 regions are recognized as invalid. + Fixed subtle buffering bug in color scans. + Fixed-up active/inactive dependencies among options. + Make sure shadow <= midtone <= highlight. + Let shadow/midtone/hightlight be active during LineArt and Halftone. + "Halftoning" option moved into Scan Mode Group (from Enhancement). + Removed some illegal "TEST_UNIT_READY" commands (during scan). + Removed "MODE_SENSE_1", since it didn't quite work anyway. + +1998-05-03 David Mosberger-Tang + + * frontend/xscanimage.c (scan_preview): Don't register + preview_window_destroyed as a delete_event handler. + +1998-05-02 David Mosberger-Tang + + * backend/Makefile.in: Remove unused LIBLIB macro. + +1998-04-30 David Mosberger-Tang + + Patches by Matto Marjanovic: + + * frontend/gtkglue.c (gsg_close_dialog_callback): Remove + client_data pointer arg. + + * frontend/xscanimage.c (scan_win_delete): Remove GdkEvent arg. + (preview_window_destroyed): Ditto. + (input_available): Include bad_depth handling code only if + HAVE_LIBGIMP_GIMP_H is defined. + (scan_dialog): Remove client_data pointer arg. + +1998-04-29 David Mosberger-Tang + + * frontend/gtkglue.c (gsg_get_filename): Use gtk_events_pending() + instead of gdk_events_pending(). + * frontend/preview.c (input_available): Ditto. + * frontend/xscanimage.c (quit_xscan): Ditto. + (input_available): Ditto. + +1998-04-08 David Mosberger-Tang + + * sanei/sanei_pio.c (sanei_pio_open): Fix prototype. + +1998-04-07 David Mosberger-Tang + + * Version 0.72 released. + + * backend/epson.c (sane_init): Fix up config file reading + to be more like that of other backends. + (PATH_MAX): Use PATH_MAX instead of FILENAME_MAX. + + * backend/canon.c (sane_init): Read & process canon.conf (patch by + Yuri Dario ). + +1998-04-06 David Mosberger-Tang + + * sanei/sanei_init_debug.c (sanei_init_debug): Move up #endif + so NULL-test works for OS/2, too. + + * frontend/saned.c: Include . + + * backend/snapscan.c: Don't include non-ANSI . + (sane_snapscan_start): Use INT_MAX instead of MAXINT. + (PATH_MAX): Define PATH_MAX as 1024 if not defined otherwise. + +1998-04-05 David Mosberger-Tang + + * backend/umax.c: Updated with Oliver's latest version + (0.72pre-a). + +1998-04-04 David Mosberger-Tang + + * backend/coolscan.c: Do lalloca.h spiel instead of including + alloca.h. + + * configure.in: Look for glib/include directory in /usr/local/lib + and /usr/lib. Add $C_SWITCH_X_SITE to CPPFLAGS, not DEFS. + + * doc/sane-mustek.man: Mention MFS-1200SP v1.07 as working as + reported by ehramm@dk3uz.hh.provi.de (Edmund H. Ramm). + +1998-04-03 David Mosberger-Tang + + * backend/canon-scsi.c (request_sense): ifdef out to quiet down + gcc. + + * backend/artec.c (read_data): Print size_t as (u_long) to make it + work right and without compiler warning both on 32 and 64 bit + platforms. + (artec_get_status): Ditto. + (init_and_start_scan): Ditto. + (sane_start): Ditto. + (sane_read): Ditto. + (artec_buffer_line_offset): Declare LEN as size_t. + * backend/epson.c (sane_read): Ditto. + + * sanei/sanei_pio.c (pio_wait): Initialize STAT with 0 to quiet + down gcc. + + * backend/Makefile.in (libsane-epson.la): Mention sanei_pio.lo. + (libsane-dll.la libsane.la): Ditto. + + * sanei/Makefile.in (LIBSANEI_OBJS): Mention sanei_pio.o. + (LIBSANEI_LTOBJS): Mention sanei_pio.lo. + + * frontend/xcam.c (input_available): Undo braindamage regarding + break out of scan loop (the SANE docs _do_ specify that in + blocking mode, *len==0 implies end of scan). + * frontend/xscanimage.c: Ditto. + + * doc/sane-dmc.man: New file by David Skoll. + + * sanei/sanei_DomainOS.c: New file by Paul Walker. + + * backend/snapscan.c (DL_INFO, DL_MAJOR_ERROR): Up error code to 1 + to avoid printing anything unless the user specifically asked + for this. + + * include/sane/sanei_debug.h (DBG_LEVEL): Define debug level + variable as macro DBG_LEVEL. + + * README.solaris (NOTE): Emphasize that generic scsi driver + needs to be installed before running configure. + + * backend/s9036.c: Don't depend on GNU C dynamically sized arrays. + + * backend/coolscan.c (send_one_LUT): Use alloca() instead of + depending on GNU C dynamically sized arrays. + Include . + + * frontend/xscanimage.c (input_available): Break out of the + loop only if LEN==0 _and_ we have a non-negative input tag. + * frontend/xcam.c (input_available): Ditto. + + * backend/microtek.c (parse_inquiry): Handle for ScanMaker 35t+. + (id_microtek): Ditto. + +1998-04-02 David Mosberger-Tang + + * configure.in (CPPFLAGS): Check for libXi. + + * frontend/gtkglue.c (panel_destroy): Clear dialog elements + after destroying the panel. + + Patches by Christian Bucher : + + * include/sane/sanei_pio.h: New file. + * sanei/sanei_pio.c: Ditto. + * backend/epson.c, backend/epson.h, backend/epson.conf: Updated + with Christian's version adds support for parallel port interface. + + * sanei/sanei_scsi.c (sanei_scsi_req_wait): Patch by Matto to let + sense-handler decide whether a non-zero sense_buffer[0] really + should be considered an error (needed for Microtek backend). + + * doc/sane.tex (\subsubsection{Option Value Unit}): Document new + unit SANE_UNIT_MICROSECOND. + + Patches by Oliver Rauch: + + * frontend/gtkglue.c (unit_string): Handle SANE_UNIT_MICROSECOND. + * frontend/scanimage.c (print_unit): Ditto. + (parse_scalar): Ditto. + + * include/sane/sane.h: Add SANE_UNIT_MICROSECOND. + + * Upgrade to Kevin's latest SnapScan backend (0.4). + + * doc/sane-hp.man: Mention ScanJet IIp C1790A as working (reported + by Ronald.Vogelaar@nl.origin-it.com). + + * frontend/xscanimage.c (init): Issue an error message when we see + option -g as this is most likely due to someone invoking + xscanimage through GIMP when GIMP support is missing. + (scan_done): Add sanity check. + (scan_start): Ditto. + + * Upgraded to Matto's latest Microtek backend (0.6). + + * Upgraded to Oliver's latest UMAX backend (0.71h). + + * frontend/preview.c (draw_selection): Fix so that selection is + updated when sliders are moved. Patch by Mikko Tyo"la"ja"rvi. + + * backend/snapscan.c (DL_INFO): Increase from 0 to 1. + (DL_MAJOR_ERROR): Ditto. This avoids printing error messages + unless the user specifically requests them. + + * frontend/gtkglue.c: Include . + + * include/sane/config.h.in: Ignore HAVE_USLEEP under Apollo + Domain. + + Patches by Paul Walker: + + * sanei/sanei_scsi.c: New Domain OS code. + + * tools/find-scanner.c: Include . + + * lib/usleep.c (usleep): Use time_$wait() to avoid broken usleep() + implementation in Domain Sys5.3 environment. + + * config.sub: Translate sys5.3 into sysv3 for the benefit + of Apollo Domain/OS. + + * sanei/sanei_init_debug.c (sanei_init_debug): Use DosScanEnv() + instead of getenv() under OS/2. (Patch by Yuri Dario + ) + +1998-03-02 David Mosberger-Tang + + * frontend/xcam.c (main): Remove obsolete call to + gdk_set_debug_level (0). + + * backend/mustek.c (attach): Print debug message when discovering + unknown model. + + * doc/sane-scsi.man: Mention Adaptec 1505. + + * tools/find-scanner.c (main): List FreeBSD specific device names. + + * tools/Makefile.in (LIBS): Define. + (find-scanner): Mention $(LIBS). + + * backend/epson.conf: New file. + + Patches by Yuri Dario : + + * backend/epson.c (sane_init): Support config file. + + * sanei/sanei_ab306.c (outb): Add missing parens. + + * backend/snapscan.c: Don't include + + * backend/net.c: Include netdb.h after in.h to appease OS/2. + Include . + + * sane-0.71.spec (%files): Mention sane-dmc.5. + * doc/Makefile.in (SECT5): Ditto. + + * backend/dmc.c, backend/dmc.h: Update with Feb 26 patch from + David Skoll. + * doc/dmc.man: New file by David Skoll. + +1998-02-25 David Mosberger-Tang + + * backend/dmc.c (DMCSetMode): Add missing field name (patch by + Martin Huber). + + * tools/find-scanner.c (main) [__sun]: Add missing command (patch + by Martin Huber. + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Fix typo: fd_Info->fd_info + (patch by Jeff Freedman). + + * configure.os2: Update with patch by Jeff Freedman. + + * backend/snapscan.c (sane_snapscan_start): Replace non-standard + MAXINT by INT_MAX from . + (PATH_MAX): Define PATH_MAX as 1024 if not defined by headers. + +1998-02-23 David Mosberger-Tang + + * Version 0.71 released. + + * backend/dmc.c (DMCAttach): Close scsi fd before returning. + + * backend/microtek.c: Default to no_dump. + (sane_init): Change "nodump" into "dump" option. + * doc/sane-microtek.man: Document this change. + + * backend/snapscan.c: Include . + (sane_snapscan_init): Use sanei_config_open() instead of fopen(). + + * backend/snapscan.c: Upgrade to latest version (0.3 patch 7). + * backend/snapscan.h: Ditto. + + * configure.in (V_MINOR): Up version to 0.71. + + * sanei/sanei_scsi.c (scsi_cmd) [USE == SOLARIS_INTERFACE]: "or" + in lun instead of overwriting cdb[1] (patch by Martin Huber + ). + + * backend/snapscan.c: Replace with . + + * backend/mustek.c (fix_line_distance_mfs): Add back missing + multiplication by bpl (patch by Stefano Garavaglia + ). + + * backend/coolscan.c: Updated with Didier's latest version. + (COOLSCAN_CONFIG_FILE): Rename from PATH_COOLSCAN_CONFIG and + define as "coolscan.conf". Include . + (sanei_init): Use sanei_config_open() instead of fopen(). + + * backend/coolscan-scsidef.h: Ditto. + * backend/coolscan.h: Ditto. + + * backend/hp.c (sane_close): Change s to s->next (patch by David + Skoll ). + +1998-02-17 David Mosberger-Tang + + * backend/Makefile.in (PRELOADABLE_BACKENDS): Mention apple & + coolscan. + + * backend/coolscan.c: New file (by Didier Carlier + ).. + * backend/coolscan.h: Ditto. + * backend/coolscan-scsidef.h: Ditto. + + * backend/apple.c: Include + (APPLE_CONFIG_FILE): Rename from PATH_APPLE_CONFIG. + (sane_init): Use sanei_config_open(). + + * backend/apple.conf: New file. + + * backend/dll.conf: Mention apple & coolscan backends. + + * backend/apple.c: New file (by Milon Firikis + ). + * backend/apple.h: Ditto. + + * sane-0.70.spec: Make symlink for libsane.so.0. + + * doc/sane-epson.man: Mention GT-5500 scanner as working (as + reported by Umberto Zanatta ). + +1998-02-12 David Mosberger-Tang + + * sanei/sanei_scsi.c (DOMAINOS_INTERFACE): Define. Add + Apollo Domain/OS support contributed by Paul Walker. + + * configure.in (AC_CHECK_HEADERS): Mention apollo/scsi.h. + Add #undef of HAVE_APOLLO_SCSI_H. Add type checks for u_char, + u_int, u_long (DomainOS reportedly needs these). + + * sanei/sanei_scsi.c (sanei_scsi_req_wait) [USE == + LINUX_INTERFACE]: Always check for a non-zero error code in the + sense-buffer. The Linux sg driver guarantees that the sense + buffer is clear to zero when no sense code has been requested, so + this is safe. + +1998-01-28 David Mosberger-Tang + + * Version 0.7 released. + +1998-01-27 David Mosberger-Tang + + * frontend/xscanimage.c (quit_xscan): Exit with status 0, not 1. + + * tools/xerox (scale): Added improvements contributed by Joachim + Woll . + + * Upgrade to Oliver's latest UMAX backend. + + * include/Makefile.in (distclean): Add empty all rule. Add + distclean rule to delete Makefile. + + * Makefile.in (distclean): Delete japi/Makefile as well (this + command should be removed once japi gets added to SUBDIRS). + + * backend/Makefile.in (EXTRA): Remove ../lib/usleep.lo and + ../lib/strndup.lo. + (libsane.la): Make dependent on $(LIBOBJS). + + * frontend/xscanimage.c (preview_window_destroyed): Declare second + arg (added in some version of gtk?). + + * tools/find-scanner.c (main): Change __sgi__ to __sgi. + +1998-01-26 David Mosberger-Tang + + * backend/microtek.c: Don't declare strdup()---you're bound to get + it wrong for some platforms! + + * doc/sane-scsi.man: Say explicity that generic SCSI support needs + to be enabled. + + * doc/sane-hp.man (Problems): Document PhotoSmart problems + as reported Peter Kirchgessner . + + * backend/snapscan.c: Upgrade to v0.3 from + http://www.cs.ualberta.ca/~charter/snapscan.html. + * backend/snapscan.h: Ditto. + +1998-01-22 David Mosberger-Tang + + SnapScan backend by Franck Schnefra, Michel Roelofs and + Kevin Charter: + + * backend/snapscan.c: New file. + * backend/snapscan.h: Ditto. + * backend/snapscan.conf: Ditto. + + * backend/umax-scanner.h (scanner_str): Add missing comma. + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Pass sense_handler_arg to + sense handler for BSD_INTERFACE, HPUX_INTERFACE, + OPENSTEP_INTERFACE, DECUNIX_INTERFACE, SCO_OS5_INTERFACE, + OS2_INTERFACE, IRIX_INTERFACE, AIX_GSC_INTERFACE, and + SOLARIS_INTERFACE. + + * include/sane/config.h.in: Add missing #undef of + HAVE_SYS_SCSI_TARGETS_SCGIO_H. + Ditto for HAVE_SYS_SCSI_SGDEFS_H. + +1998-01-20 David Mosberger-Tang + + * Version 0.69 released. + + * doc/sane-scsi.man: Limit ncr810 patch to kernel versions < + 2.0.33. + + * tools/xerox (HEIGHT): Add A4 paper size as comment. + +1998-01-19 David Mosberger-Tang + + * frontend/preview.c (make_preview_image_path): New function. + (preview_destroy): Save scan surface parameters as a comment + in the preview image. + (restore_preview_image): Read scan surface parameters from + preview image file and restore only if the parameters match + the currently selected surface. + (paint_image): Gracefully handle NULL image_data. + (event_handler): Don't call restore_preview_image(). + (preview_update): Detect if the scan surface changed. If so, + establish a new preview widget size, preview area size, and + restore a preview image, if available. + + * backend/mustek.c (sense_handler): Declare closure argument. + + * sanei/sanei_scsi.c (sanei_scsi_open): Fix typos. + + * backend/umax-scsi.c (umax_open_scanner): Pass us as sense_arg. + (umax_open_scanner): Ditto. + (umax_open_scanner): Ditto. + * backend/umax.c (sane_start): Ditto. + + * backend/canon.c (attach): Pass 0 as sense_arg to sanei_scsi_open(). + (sane_start): Ditto. + * backend/epson.c (attach): Ditto. + (sane_start): Ditto. + * backend/tamarack.c (sense_handler): Ditto. + * backend/s9036.c (sane_start): Ditto. + * backend/mustek.c (dev_open): Ditto. + * backend/hp.c (attach): Ditto. + (sane_start): Ditto. + * backend/mustek.c (dev_open): Ditto. + * tools/find-scanner.c (main): Ditto. + + * include/sane/sanei_scsi.h (SANEI_SCSI_Sense_Handler): Declare + closure arg. + (sanei_scsi_open): Ditto. + + * doc/sane-hp.man (Model): Remove obsolete comment regardign 5P. + +1998-01-17 David Mosberger-Tang + + * backend/mustek.c (dev_open): Fix debug message. + + * Solaris related patches by Martin Huber: + + * backend/umax-scsi.c (umax_wait_scanner): Sleep for 1 second + instead of 100ms on Sun platforms---the SCHILYscg driver prints a + warning message each time a device is busy. Duh. + (umax_get_data_buffer_status): Don't do + umax_get_data_buffer_status() on Sun's. This should be fixed... + + * sanei/sanei_scsi.c (sanei_scsi_open): Call unit_ready() towards + the end of this function. + (CCS_SENSE_LEN): Define as 18 if not defined + by any header files. + (sanei_scsi_cmd): Use sensebuffer to collect sense info. + (scsi_cmd): Better error handling when using SCHILYscg driver. + +1998-01-14 David Mosberger-Tang + + * frontend/xscanimage.c (scan_start): Turn off dialog sensitivity. + (scan_done): Restore dialog sensitivity. + + * backend/qcam.c (init_options): Turn on SANE_CAP_ALWAYS_SETTABLE. + + * frontend/preview.c (scan_done): Enable dialog sensitivity. + (scan_start): Disable dialog sensitivity. + + * include/sane/sane.h (SANE_CAP_ACTIVE_WHILE_SCANNING): New + manifest constant. + +1998-01-12 David Mosberger-Tang + + * frontend/gtkglue.c (panel_destroy): Call gtk_tooltips_unref() + instead of gtk_tooltips_destroy() as suggested by Ben Gertzfield + . + +1997-12-25 David Mosberger-Tang + + * backend/canon.c: New file by Helmut Koeberle + . + (sane_start): Print variables of type size_t as %lu and cast to + (u_long), to make it compile without warning on all platforms. + (attach): Remove extraneous semicolon. + + * backend/canon.h (canon_h): Ditto + * backend/canon-scsi.c: Ditto. + +1997-12-24 David Mosberger-Tang + + * sanei/sanei_ab306.c (sanei_ab306_cmd): Write the first + 6 bytes of a SCSI command only (suggested by Andreas, but + is this really correct??). + + * backend/mustek.c (gamma_correction): Add patch by Andreas + Czechanowski to + fix lineart scanning for Paragon II 600 N scanner. + +1997-12-23 David Mosberger-Tang + + * tools/find-scanner.c (scanner_identify_scanner): Print info on + all SCSI devices when --verbose is in effect. + (main): Add Sun device names. + + * include/sane/config.h.in: Define _POSIX_SOURCE and + __EXTENSIONS__ when compiling on a Sun with GCC. + + * configure.in (AC_CHECK_HEADERS): Mention sys/scsi/sgdefs.h and + sys/scsi/targets/scgio.h. + +1997-12-17 David Mosberger-Tang + + * frontend/xscanimage.c (device_dialog): Suggestion by Matt: set + window auto-shrink by calling gtk_window_set_policy(). + + * japi/ImageCanvas.java: Updated with Jeff's latest patch. + * japi/Jscanimage.java: Ditto. + * japi/Makefile.in: Ditto. + * japi/README.JAVA: Ditto. + * japi/ScanIt.java: Ditto. + * japi/ImageCanvasClient.java: New file. + +1997-12-16 David Mosberger-Tang + + * frontend/gtkglue.c (panel_build): Patch by Matt: a) For all + individual options flagged as "advanced", panel_build will only + display the option if the "Show advanced" button is toggled. + Group identifiers flagged as "advanced" are handled the same as + before. b) panel_rebuild is called whenever the "Show advanced" + button is toggled on or off. + + * doc/sane-scsi.man: Mention sane-epson(5) and sane-microtek(5). + * doc/scanimage.man: Ditto. + * doc/xscanimage.man: Ditto. + + * doc/sane-microtek.man: New file by Matt. + + * backend/microtek.c: Updated with Matt's version 0.4. + * backend/microtek.h: Ditto. + * backend/microtek.conf: Ditto. + + * doc/Makefile.in (SECT5): Mention sane-microtek.5. + +1997-12-15 Fred Hucht & Michael Staats <{fred|michael}@thp.Uni-Duisburg.DE> + + * Added support for generic SCSI under AIX 4.1.x using the device + driver gsc written by Matthew Jacob (nice piece + of work!). + Find this driver under + ftp://ftp.feral.com/pub/aix/gsc.tar.gz or + ftp://ftp.thp.Uni-Duisburg.DE/pub/source/gsc.tar.gz. + Changed files: sanei/sanei_scsi.c, include/sane/config.h.in, + configure.in. + + * Moved '#include ' to very beginning in all source + files as AIX needs it there. + + * Added define OUTFILENAME to frontend/xscanimage.c. + + * Fixed wrong environment reference in /doc/sane-scsi.man. + + * Several changes in tools/find-scanner.c to run using + above mentioned driver. + Fixed wrong IN_periph_devtype_cpu (was 1, should be 3). + +1997-12-14 David Mosberger-Tang + + * doc/sane-hp.man: Mention ScanJet 4P (reported to work by + Adam Sjoegren ). + +1997-12-09 David Mosberger-Tang + + * frontend/saned.c (check_host): Change len from size_t to int to + match getpeername() as per Single Unix Spec (as opposed to POSIX + drafts...). + (start_scan): Ditto for getsockname(). + * backend/net.c (sane_start): Ditto. + + * backend/tamarack.c (TAMARACK_CONFIG_FILE): Delete. + (TAMARACK_CONFIG_FILE): New macro. + Include . + (sane_init): Use sanei_config_open() instead of fopen(). + (read_data): Declare nbytes as size_t---makes a difference + on 64-bit platforms. + +1997-12-07 David Mosberger-Tang + + * backend/s9036.c (sane_init): Run through "indent -gnu". Use + sanei_config_open() instead of fopen(). Include + . + (read_more_data): Print size_t variables by casting them to + (u_long) and using %lu format (some platforms have size_t as + u_long, others as u_int, which does make a difference if + sizeof(long) > sizeof(int). + (sane_start): Ditto. + Add English translation for comments that were in German only. + + * backend/s9306.c: New file by Ingo Schneider. + * backend/s9306.h: New file by Ingo Schneider. + +1997-12-04 David Mosberger-Tang + + * backend/mustek.c (sane_cancel): Collect child process status + after killing it (avoids accumulating zombie processes). Reported + by Mike Sweet. + * backend/umax.c (sane_cancel): Ditto. + * backend/qcam.c (sane_close): Ditto. + (sane_cancel): Ditto. + +1997-12-03 David Mosberger-Tang + + * Version 0.68 released. + +1997-12-02 David Mosberger-Tang + + * frontend/scanimage.c (window_val_user): New variable. + (fetch_options): Don't overwrite window_val[i] if it's + user-specified. + (main): Set window_val_user[i] as necessary. + + * backend/mustek.c (send_gamma_table): New function. + (sane_start): Send gamma table both before and after start_scan(). + The MFS-06000CX is reported to need the gamma-table before + start_scan() and the Mustek docs do indeed indicate downloading + the gamma-table twice. + (init_options): Make --custom-gamma option active by default (since + gray-scale mode is the default mode). + +1997-11-30 David Mosberger-Tang + + * doc/sane-mustek.man: Mention MFC-08000CZ. + + * backend/mustek.c (attach): Reduce y_range.max for MFC-08000CZ + from 300 to 292mm as reported by Jeroen Steenblik + . Ditto for MFC-06000CZ. + +1997-11-28 David Mosberger-Tang + + * backend/umax-scanner.h (scanner_str): Add "Astra 610S". + (known_scanners): Increment from 13 to 14. + + PP fixes by Andreas Czechanowski: + * backend/mustek.c (EXTRA_SAVE_LINES): New macro. + (fix_line_distance_pp): Use EXTRA_SAVE_LINES instead of hardcoded + constant. Various fixes to make it actually work. + (reader_process): Initialize s->ld_ld_line to zero. + + * backend/mustek.h (struct Mustek_Scanner): Add member ld_line. + +1997-11-26 David Mosberger-Tang + + * tools/Makefile.in (.c.o): Add this rule. + + * tools/find-scanner.c: Include sanei_scsi.h and sanei_debug.h + via <> quotes (note ""). + +1997-11-25 David Mosberger-Tang + + * sanei/sanei_ab306.c (sanei_ab306_exit): Fix by Andreas + Czechanowski: output 0x00 at port[i].base + 1 instead. + +1997-11-22 David Mosberger-Tang + + * doc/sane-mustek.man (Model): Clarify that paralell port != printer + port. + + * backend/mustek.c (fix_line_distance_mfs): Add missing SANE_UNFIX() + calls for x_range.max and dpi_range.max. + (fix_line_distance_pp): Correct based on Andreas' feedback. + +1997-11-18 David Mosberger-Tang + + * configure.in (CFLAGS): Don't specify -ansi---with older libcs, + it's causing more problems than it's worth. + + * Patch by Jeff Freedman: + + * japi/Sane.c: Limit string length to option size. + + * japi/SaneOption.java: Fix indentation. + (unitString): New function. + + * japi/ImageCanvas.java: New file. + * japi/Jscanimage.java: Ditto. + * japi/ScanIt.java: Ditto. + + * japi/Makefile.in (CLASSES): Mention ScanIt.class and + ImageCanvas.class. + (all): Mention Jscanimage.class. + * japi/Scan.c: Include . + (String_length): New function. + +1997-11-16 David Mosberger-Tang + + * frontend/gtkglue.c (scale_update): In recent versions of GTK, + "value_changed" callbacks no longer return a value. Change this + function to type "void" accordingly. + + * sanei/sanei_scsi.c: Declare cam_fd only if USE == + DECUNIX_INTERFACE. + + * sanei/sanei_load_values.c (sanei_load_values): Detect errors + while reading the option name (first call to sanei_w_string()). + Reported by Geoffrey T. Dairiki. + + * sanei/sanei_ab306.c [HAVE_UNISTD_H]: Include . Fix by + Geoffrey T. Dairiki. + + * lib/alloca.c: Enclose in #ifndef HAVE_ALLOCA bracket. Fix by + Geoffrey T. Dairiki. + + * include/lalloca.h: Declare alloca() as returning void* when + __STDC__ is in effect so declaration matches definition in + lib/alloca.c. Reported by Geoffrey T. Dairiki. + + * frontend/preview.c (update_selection): Set coord[] values to + rounded-to-nearest-int of float values. This avoids the jumping + selection box effect. Fix by Geoffrey T. Dairiki. + + * frontend/gtkglue.c (scale_update): Patch by Geoffrey T. Dairiki + : emit value_changed signal if the + backend changed the value. + + * backend/umax.c: Upgraded to Oliver's latest UMAX version. + + * backend/mustek.c (sane_init): Ignore white space in front of an + option/device-name. + +1997-11-12 David Mosberger-Tang + + * sanei/sanei_ab306.c (sanei_ab306_get_io_privilege): + (struct port): Remove member HAVE_IO_PRIVS. + (sanei_ab306_get_io_privilege): Get ioperm()issions independent of + HAVE_IO_PRIVS. + + * backend/mustek.c (do_stop): Always send STOP command before + closing the device. + (dev_read_req_enter): For parallel-port scanner, set *idp to 0. + +1997-11-10 David Mosberger-Tang + + Bug reported by Matto Marjanovic : + + * frontend/gtkglue.c (panel_build): Create button only after we + know the option's value. + (button_new): Add VAL argument and initialize button state to + + correct value before connecting the toggled callback. + + Bugs reported by Petter Reinholdtsen : + + * sanei/sanei_config.c (sanei_config_open): Add missing cast to + (char *). + + * sanei/sanei_scsi.c (sanei_scsi_cmd) [USE == IRIX_INTERFACE]: Fix + (u_char) cast to (u_char *). + +1997-11-06 David Mosberger-Tang + + * backend/qcam.c (init_options): Set the type of OPT_NUM_OPTS to + SANE_TYPE_INT (suggested by Guido Muesch + ). + * backend/mustek.c (init_options): Ditto. + +1997-11-04 David Mosberger-Tang + + * frontend/xcam.c (xcam_exit): Protect against recursive + invocation. + (main): Turn on preferences.advanced as no graphical geometry + selection exists right now. + Include . + preferences: New variable. + (pref_toggle_advanced): New function. + (pref_toggle_tooltips): Ditto. + (build_preferences_menu): Add button to control advanced & tooltips + preferences. + + * doc/sane.tex (subsection{sanecontrol_option}): Make it illegal + for SANE_INFO_RELOAD_OPTIONS to be set needlessly. + + * backend/hp.c (sane_control_option): Only turn on RELOAD_PARAMS + when value changed. + + * backend/qcam.c (sane_control_option): Only turn on + RELOAD_PARAMS when value changed. + + * backend/mustek.c (sane_control_option): Only turn on + RELOAD_OPTIONS and/or RELOAD_PARAMS when value changes. + + * Integrate b&w quickcam fixes by Guido Muesch + : + + * backend/qcam.c (bw_x_range, odd_bw_x_range, bw_y_range, + odd_bw_y_range): New constants. + (sane_open): Disable despeckle, black-level, hue, saturation, + resolution & test options for b&w camera (either not useful or not + supported at this point). + (sane_start): Use QC_MONO_SET_CONTRAST instead of + QC_BW_SET_CONTRAST. + (sane_start): Call qc_reset() for b&w camera to avoid hangs (color + camera doesn't need this and is faster that way). + (sane_start): Multiply undecimated_width by s->val[OPT_DEPTH].w, + not 4. + + * backend/qcam.h: Remove obsolete QC_BW_SET_CONTRAST, + QC_BW_AUTO_ADJUST_OFFSET, QC_BW_GET_OFFSET, and QC_SET_CONTRAST + macros. + +1997-11-02 David Mosberger-Tang + + * doc/sane-hp.man (Model): Mention ScanJet IIcx. Johannes Geiger + reported it to work fine under OS/2 with + sane-0.66 + + * backend/umax.c: Apply patch by Oliver Rauch that avoid + umax hangs. + +1997-11-01 David Mosberger-Tang + + * Version 0.67 released. + + * sanei/sanei_ab306.c: New file. + + * backend/mustek.h (MUSTEK_FLAG_PP): New macro. + (struct Mustek_Scanner): Add members ld.index and ld.lmod3 + for parallel-port scanner line-distance correction. + + * backend/mustek.c (color_seq): Move to global level from + fix_line_distance_normal(). + (fix_line_distance_pp): New function. + (scsi_wait_ready): Renamed from wait_ready(). + (pp_wait_ready): New function. + (dev_wait_ready): Ditto. + (dev_open): Ditto. + (dev_cmd): Ditto. + (dev_req_wait): Ditto. + (dev_read_start): Ditto. + (dev_read_req_enter): Ditto. + (dev_close): Ditto. + (attach): Modify to use dev_open(). Set minimum scan resolution + to 51 dpi for parallel-port scanners. + (scan_area_and_windows): Call dev_cmd() instead of + sanei_scsi_cmd(). + (mode_select): Ditto. + (gamma_correction): Ditto. + (start_scan): Ditto. + (stop_scan): Ditto. + (line_distance): Ditto. + (get_image_status): Ditto. + (backtrack_and_adf): Ditto. + (gamma_correction): Return immediately if custom-gamma is turned + off or if not doing a multibit scan. Add support for sending all + three gamma tables with a single command. + (line_distance): Initialize additional line-distance correction + state needed by parallel-port scanner. + (read_req_enter): Remove. + (send_data): Modify to support parallel-port scanner line-distance + correction. + (reader_process): Require I/O-privilege if dealing with parallel + port scanner and call dev_read_start(). Use dev_read_req_enter() + instead of read_req_enter(), dev_req_wait() instead of + sanei_scsi_req_wait(). + (sane_start): For parallel-port scanner, send gamma table with + a single gamma_correction() call. + + * doc/sane-mustek.man: Update with info regarding parallel port + scanner. + + * backend/dll.c (add_backend): When a backend is present already, + move it to the head of the backend list, so pre-loaded backends + appear in the same order as if they had been loaded dynamically + + * backend/mustek.c (pp_mode_list): New constant. + + * backend/mustek.c (init_options): Use pp_mode_list for parallel + port type scanners (no color lineart/halftone modes). + + * sanei/sanei_codec_ascii.c (ascii_w_string): free(*s) only if *s + is non-NULL (reported by Geoffrey T. Dairiki + ). + + * backend/mustek.c (attach): Turn on MUSTEK_FLAG_LD_NONE for + MFS-12000SP with firmware 1.02 or newer. Reported by Henning + Busacker . + +1997-10-25 David Mosberger-Tang + + * doc/sane.tex (chapter{Contact Information}): Update mailing list + and home page address. + + * backend/dll.c: Include . Call + sanei_config_open() instead of fopen(). + * backend/hp.c: Ditto. + * backend/mustek.c: Ditto. + * backend/net.c: Ditto. + * backend/pint.c: Ditto. + * backend/qcam.c: Ditto. + * backend/umax.c: Ditto. + + * backend/Makefile.in (EXTRA): Mention ../sanei/sanei_config.lo. + + * doc/sane-dll.man: Document SANE_CONFIG_DIR. + * doc/sane-hp.man: Ditto. + * doc/sane-mustek.man: Ditto. + * doc/sane-net.man: Ditto. + * doc/sane-pint.man: Ditto. + * doc/sane-qcam.man: Ditto. + * doc/sane-scsi.man: Ditto. + * doc/sane-umax.man: Ditto. + * doc/saned.man: Ditto. + + * backend/microtek.c: Updated with v0.3 from Matt. + Include + (MICROTEK_CONFIG_FILE): Define as "microtek.conf". + (PATH_MICROTEK_CONFIG): Delete. + (sane_init): Replace fopen() with sanei_config_open(). + + * backend/microtek.h: Ditto. + +1997-10-24 David Mosberger-Tang + + * sanei/sanei_config.c (sanei_config_open): Add multiple-directory + support for SANE_CONFIG_DIR. + + * sanei/sanei_config.c: New file by Jeff Freedman. + * include/sane/sanei_config.h: Ditto. + +1997-10-23 David Mosberger-Tang + + * Fixes for OS/2 by Jeff Freedman: + * frontend/Makefile.in (SBINPROGS): Set to @SANED@. + * configure.os2 (LN_S): Add --sysconfdir=. + * configure.in: Set up SANED depending on . + * backend/Makefile.in (EXTRA): Mention usleep.lo and strndup.lo. + * backend/pnm.c (rgblength, rgbbuf, rgbleftover): Declare as + static. + * ltconfig: Upgrade to 1.0d. + * ltmain.sh: Ditto. + * sanei/sanei_constrain_value.c: Include . + +1997-10-22 David Mosberger-Tang + + * frontend/gtkglue.h (struct GSGDialog): Remove idle_id member. + + * frontend/gtkglue.c (idle_handler): Remove. GTK's reference + counting appears to have been fixed (?). + + * backend/umax_scanner.h: Update with Oliver's latest version. + * backend/umax-scsi.c: Ditto. + * backend/umax-scsidef.h: Ditto. + * backend/umax-struct.h: Ditto. + * backend/umax.c: Ditto. + * backend/umax.h: Ditto. + +1997-10-18 David Mosberger-Tang + + * sanei/sanei_scsi.c (sanei_scsi_req_enter): Set cdb.hdr.pack_id + to unique id number. + +1997-10-17 David Mosberger-Tang + + * japi/Makefile.in: New file (by Jeff Freedman ). + * japi/README.JAVA: Ditto. + * japi/Sane.c: Ditto. + * japi/Sane.java: Ditto. + * japi/SaneDevice.java: Ditto. + * japi/SaneOption.java: Ditto. + * japi/SaneParameters.java: Ditto. + * japi/SaneRange.java: Ditto. + * japi/Test.java: Ditto. + + * configure.in (AC_OUTPUT): Mention japi/Makefile. + + * sanei/sanei_scsi.c (sanei_scsi_cmd) [USE == IRIX_INTERFACE]: + Add data buffer alignment fix by Michael Sweet. + +1997-10-24 Jeff Freedman + + * sanei_open_config() added. Backends call it to open .conf files. + +1997-10-14 David Mosberger-Tang + + * Version 0.66 released. + + * README: Update with new URLs and latest GIMP/GTK info. + +1997-10-11 David Mosberger-Tang + + * include/sane/saneopts.h: Add #defines for TEN_BIT_MODE, WARMUP, + RGB_PREVIEW_PATCH, and START_SCAN_PATCH. + + * README: Remove umax-specific configure options (they're now + runtime options). + * configure.in (CPPFLAGS): Ditto. + * include/sane/config.h.in: Ditto. + + * backend/epson.c: Updated + +1997-10-09 David Mosberger-Tang + + * backend/umax.c (sane_exit): Remove bogus call to free() + (reported by Peter). + +Thu Oct 9 20:20:32 1997 Kazuhiro Sasayama + + * epson.c (sane_start): Fix lcount computation. + +Thu Oct 9 11:44:03 1997 Kazuhiro Sasayama + * epson.c (sane_start): Use byte-interleaved mode if available. + (sane_start): Set line counter for byte-interleaved mode. + (sane_read): Handle byte-interleaved mode. + (sane_init) [PACKAGE && VERSION]: Debug out PACKAGE and VERSION. + +Tue Oct 7 18:44:36 1997 Kazuhiro Sasayama + + * epson.c (set_lcount): New function. + (sane_start): Use block mode for monochrome if available. + (sane_read): Handle block mode. + + * epson.h (struct Epson_Scanner): Add block. + +Tue Oct 7 15:48:11 1997 Kazuhiro Sasayama + + * epson.c (set_speed): New function. + (sane_start): Use set_speed. + +Tue Oct 7 15:44:33 1997 Kazuhiro Sasayama + + * README: Add info about a mailing list. + + * Makefile.am (libsane_epsonx_la_LDFLAGS): Increment the revision. + + * epson.c (identify): Debug output the command level. + +1997-10-08 David Mosberger-Tang + + * backend/mustek.conf: Turn on linedistance-fix and lineart-fix by + default. + + * include/sane/config.h.in: Remove + NEED_MUSTEK_LINE_DISTANCE_WORKAROUND. + + * doc/sane-mustek.man (CONFIGURATION): Document option + linedistance-fix and lineart-fix. + + * configure.in: Remove test for --enable-ld-fix. + + * backend/mustek.h (MUSTEK_FLAG_LD_FIX): New flag. + (MUSTEK_FLAG_LINEART_FIX): Ditto. + + * backend/mustek.c (line_distance): Replace + NEED_MUSTEK_LINE_DISTANCE_WORKAROUND with runtime test for same. + (reader_process): If MUSTEK_FLAG_LINEART_FIX is on, delay 200ms + when scanning in lineart mode. + (sane_init): New variable. Add linedistance-fix and lineart-fix + support. + + * backend/Makefile.in (install): Fix install rule so all symlinks + necessary for libsane.so are installed. + + * backend/dll.c (load): Change from LIBNAME to LIBPATH (as per + libtool-1.0c documention). + + * sanei/sanei_scsi.c (issue): Declare `static'. + + * aclocal.m4: Update with contents of libtool.m4. + + * configure.in (AC_PROG_RANLIB): Remove (once again!). + + * config.guess: Update from libtool-1.0c. + * config.sub: Ditto. + * ltconfig: Ditto. + * ltmain.sh: Ditto. + + * backend/epson.c: Update with Kazuhiro's latest epson version + (1.1.6). + +1997-10-07 David Mosberger-Tang + + * frontend/gtkglue.c (panel_destroy): Clear elem->menu after + freeing it (reported by Kazuhiro Sasayama ). + +1997-10-06 David Mosberger-Tang + + * backend/epson.c: Updated with Kazuhiro Sasayama + latest version (1.1.5). + +1997-10-04 David Mosberger-Tang + + * Version 0.65 released. + + * sanei/sanei_scsi.c (close_aspi): Rename from sanei_close_aspi (static + functions don't need ugly sanei_ prefix...). + (open_aspi): Ditto. + + * configure.os2: New file (from Jeff's config.os2). + + * backend/umax-scsi.c: Mmove include of and + into !def UMAX_TO_SANE bracket. + + * backend/pnm.c (getparmfromfile): Open with mode "rb" to get + binary file on platforms where this is meaningful. + +1997-10-02 David Mosberger-Tang + + * doc/sane-epson.man: Mention that backend is known to work with + GT-5000. + +1997-10-01 David Mosberger-Tang + + * doc/sane-epson.man: New file (based on Kzuhiro's README file). + + * backend/Makefile.in (PRELOADABLE_BACKENDS): Mention epson. + (libsane-epson.la): Add dependencies for Epson backend. + + * backend/epson.c: New file by Kazuhiro Sasayama + . + * backend/epson.h: Ditto. + + * backend/microtek.c: Updated with latest version from + http://www.mir.com/mtek/ by Matt Marjanovic . + * backend/microtek.h: Ditto. + +1997-10-3 Jeff Freedman + + * sanei/sanei_scsi.c: Minor fixes for OS/2 support. + + * configure.in: Check for presence of sys/socket.h to set @NET@. + + * backend/Makefile.in: net -> @NET@ + +1997-09-30 David Mosberger-Tang + + * sanei/sanei_scsi.c: Integrate OS/2 support by Jeff Freedman: + (OS2_INTERFACE) Define. + (open_aspi,close_aspi): New OS/2-specific functions. + (sanei_scsi_open): Add OS/2 support. + [USE = OS2_INTERFACE]: OS/2 version of sanei_scsi_cmd(). + (sanei_scsi_cmd, sanei_scsi_req_wait) [STUBBED_INTERFACE]: + Return proper value. + + * include/sane/config.h.in (HAVE_STRNCASECMP, HAVE_OS2_H): Add + #undef. If !HAVE_STRNCASECMP, define strncasecmp macro as + alias for strnicmp. + + * configure.in (AC_CHECK_FUNCS): Check for strncasecmp(). + (AC_CHECK_HEADERS): Check for os2.h. + +1997-09-30 David Mosberger-Tang + + * sanei/sanei_scsi.c: Integrate OS/2 support by Jeff Freedman: + (OS2_INTERFACE) Define. + (open_aspi,close_aspi): New OS/2-specific functions. + (sanei_scsi_open): Add OS/2 support. + [USE = OS2_INTERFACE]: OS/2 version of sanei_scsi_cmd(). + (sanei_scsi_cmd, sanei_scsi_req_wait) [STUBBED_INTERFACE]: + Return proper value. + + * include/sane/config.h.in (HAVE_STRNCASECMP, HAVE_OS2_H): Add + #undef. If !HAVE_STRNCASECMP, define strncasecmp macro as + alias for strnicmp. + + * configure.in (AC_CHECK_FUNCS): Check for strncasecmp(). + (AC_CHECK_HEADERS): Check for os2.h. + +1997-09-24 David Mosberger-Tang + + * Version 0.64 released. + + * PROJECTS (Backend): Update microtek entry. + Add entry for sgivl. + + * backend/microtek.conf: New file. + + * backend/dll.conf: Mention microtek. + + * backend/Makefile.in (PRELOADABLE_BACKENDS): Mention microtek. + (libsane-microtek.la): Mention microtek dependencies. + + * backend/microtek.c: New file by Matthew Marjanovic. + * backend/microtek.h: Ditto. + +1997-09-23 David Mosberger-Tang + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Integrate Michael Sweet's + latest Irix implementation of sanei_scsi_cmd(). + +Sat Sep 6 08:59:24 1997 David Mosberger-Tang + + * Version 0.63 released. + + * configure.in (V_MINOR): Bump up to 63. + + * configure.in (AM_PROG_RANLIB): Go back to AC_PROG_RANLIB. The + former causes a bad configure script. + +Fri Aug 29 16:08:05 1997 David Mosberger-Tang + + * doc/sane-umax.man: Change status of "Astra 1200S" to "all modes ok" + as Oliver tells me that this has been tested and is working now. + +Wed Aug 20 17:23:04 1997 David Mosberger-Tang + + * sane-0.63.lsm: Update email addresses etc. + + Integrate Oliver Rauch's UMAX improvements: + + * README: Document --enable-umax-preview-fix, + --enable-umax-start-scan-fix. + + * configure.in (UMAX_RGB_PREVIEW, UMAX_START_SCAN_PATCH): Define if + necessary. + + * include/sane/config.h.in (UMAX_RGB_PREVIEW, UMAX_START_SCAN_PATCH): + Add #undef. + + * include/sane/saneopts.h: Add manifest constants for options + resolution-bind, negative, quality-cal, threshold, analog-gamma, + analog-gamma-r, analog-gamma-g, analog-gamma-b, analog-gamma-bind, + smear, white-bind, black-bind. + + * AUTHORS (Frontends): Update email addresses of Oliver Rauch and + myself. + +1997-08-07 David Mosberger-Tang + + * backend/mustek.c (attach): Print Mustek scanner info at + debug level 2, not 3. + +1997-08-06 David Mosberger-Tang + + * frontend/preview.c (XSERVER_WITH_BUGGY_VISUALS): Make conditional + on #ifdef __alpha__ (Michael Sweet reports that the old code broke + SGI IRIX 6.3). + +1998-08-01 David Mosberger-Tang + + * include/sane/config.h.in (HAVE_SYS_SCSICMD_H, HAVE_SYS_DSREQ_H): + Undefine. + + * configure.in (AC_CHECK_HEADERS): Mention sys/scsicmd.h and + sys/dsreq.h. + + * sanei/sanei_scsi.c (SCO_OS55_INTERFACE, IRIX_INTERFACE, + SOLARIS_INTERFACE): Define. + +1997-07-27 David Mosberger-Tang + + * frontend/xscanimage.c (quit_xscan) [HAVE_LIBGIMP_GIMP_H]: When + running as a GIMP extension, call gimp_quit(). + (init) [HAVE_LIBGIMP_GIMP_H]: Set GDK's xshm flag based on GIMP's + flag. + + * doc/sane-mustek.man (SCSI ADAPTER TIPS): Try to make complete + sentences. + +1997-07-25 David Mosberger-Tang + + * Version 0.62 released. + + * configure.in (CPPFLAGS): Test for gtk_gamma_curve_new() to + see whether appropriate version of gtk is installed. + + * backend/mustek.c (sane_init): Add parsing support for option + `strip-height'. + (strip_height): New variable to limit scan strip height. + (reader_process): If strip_height is greater than 0.0, limit + lines_per_buffer so that no more than strip_height inches are + scanned with a single SCSI read command. + + * doc/sane-mustek.man (CONFIGURATION): Describe strip-height + option. + +1997-07-23 David Mosberger-Tang + + * doc/sane-hp.man (Model): Added ScanJet 3c info. + +1997-07-22 David Mosberger-Tang + + * frontend/scanimage.README: Remove file. + + * doc/sane-scsi.man: Add info on generic AM53C974 driver. + +1997-07-19 David Mosberger-Tang + + * sanei/sanei_scsi.c [USE == LINUX_INTERFACE]: Include + . + +1997-07-18 David Mosberger-Tang + + * sanei/sanei_scsi.c (sanei_scsi_req_flush_all) + [WE_HAVE_ASYNC_SCSI]: Implement stub. + + * scripts/xerox: New file (simple xeroxing script). + + * frontend/scanimage.c (main): When opening a device fails, also + print reason for failure. + + * frontend/preview.c (preview_new): Register expose_event handler. + (preview_destroy): Call scan_done() if called when preview + scanning in progress. + + * backend/mustek.c (attach): Add argument MAY_WAIT. If it's TRUE, + wait for scanner to become ready before sending inquiry command. + (do_cancel): Rename to do_stop. Ignore child's exist status + when we're really cancelling a scan. Issue stop_scan() command + only if the scan got cancelled and do a wait_ready() before + issueing the stop_scan(). + (read_data): Delete. + (sane_init): Call attach() with MAY_WAIT set to SANE_FALSE. + (sane_open): Call attach() with MAY_WAIT set to SANE_TRUE. + + * frontend/preview.c (display_partial_image): Use gtk_preview_put() + to update the preview window. Much faster than hiding/showing the + widget. + (expose_handler): New function. + + * frontend/progress.c (progress_new): Make "Cancel" button a + toggle-button so user can see when it was pressed down while + the backend cancels its operation. + + * backend/mustek.c (do_cancel): Call wait_ready() before + attempting to stop scanner. + (read_req_enter): New function. + (send_data): Ditto. + (sigterm_handler): New function. + (reader_process): Reimplement using asynchronous SCSI command + interface. + (wait_ready): Use gettimeofday() to implement timeout. The + scsi command itself may take a considerable amount of time + (1 second or more) so we can't just loop for a fixed number + of times. + + * include/sane/sanei_scsi.h: Declre sanei_scsi_req_enter, + sanei_scsi_req_wait, and sanei_scsi_req_flush_all. + + * sanei/sanei_scsi.c [WE_HAVE_ASYNC_SCSI]: Define. + (issue): New function. + (sanei_scsi_req_flush_all): New function. + (sanei_scsi_req_enter): Ditto. + (sanei_scsi_req_wait): Ditto. + (sanei_scsi_cmd): Reimplement in terms of enter/wait. + (sanei_scsi_req_enter) [!WE_HAVE_ASYNC_SCSI]: Stub that + simply calls sanei_scsi_cmd(). + (sanei_scsi_req_wait): Empty stub. + +1997-07-16 David Mosberger-Tang + + * doc/sane-scsi.man: Add Tekram DC390 info (contributed by + kawk@Home.Yo.COM (Kolja Waschk)) + +1997-07-15 David Mosberger-Tang + + * sanei/sanei_scsi.c (sanei_scsi_cmd) [USE==LINUX_INTERFACE]: + Return SANE_STATUS_NO_MEM if write() of SCSI command fails. + + * backend/mustek.c (do_cancel): If reader_process exited, use + exit status as return value. + (reader_process): Return SANE_STATUS_IO_ERROR instead of 1. + Return SANE_STATUS_NO_MEM instead of 2. Return STATUS instead + of 3. Return SANE_STATUS_GOOD instead of 0. + (sane_read): If do_cancel() returns anything but + SANE_STATUS_CANCELLED or SANE_STATUS_GOOD, something bad has + happened and the return status should be returned. + + * doc/sane-scsi.man: Fix typo: sg.h is in /usr/include/scsi, not + /usr/include. + + * PROBLEMS: Add warning about updating Linux kernel after increasing + SG_BIG_BUFF. + +1997-07-14 David Mosberger-Tang + + * frontend/xscanimage.c (quit_xscan): Destroy preview window before + quitting, so preview image gets saved if necessary. + + * frontend/Makefile.in (LIBX11): New macro. + (LIBGTK): Ditto. + (xscanimage): Use $(LIBGTK) instead of $(LIBS). + (xcam): Use $(LIBGTK) instead of $(LIBS). + + * configure.in (LIBX11): Define as all libraries necessary when + using X11. + (LIBGTK): Define as all libraries necessary when using GTK+. + + * backend/mustek.c (sane_start): Don't send gamma in lineart and + halftone mode! + + * doc/sane-scsi.man: Add info on how to setup BT958 card (contributed + by Jeremy ). + +1997-07-13 David Mosberger-Tang + + * doc/sane-scsi.man: Add info on FreeBSD. + +1997-07-12 David Mosberger-Tang + + * ltmain.sh: Installed libtool-1.0-nomode patch. + + * configure.in (AC_PROG_RANLIB): Change to AM_PROG_RANLIB. + +1997-07-11 David Mosberger-Tang + + * ltmain.sh: Upgrade to libtool-1.0. + * ltconfig: Ditto. + * config.guess: Ditto. + * config.sub: Ditto. + * aclocal.m4: Ditto. + +1997-07-08 David Mosberger-Tang + + * Version 0.61 released. + + * backend/Makefile.in (LIBLIB_FUNCS): Mention snprintf. + + * backend/umax-struct.h (LINEART, HALFTONE, GREYSCALE, RGB): Move + the pound sign to the beginning of the line. + * backend/umax-scsidef.h: Ditto for all indendent #defines in this + file. + * backend/umax-scsi.c: Ditto for all # directives in here. + + * frontend/saned.c [HAVE_LIBC_H]: Include . + +1997-07-07 David Mosberger-Tang + + * backend/net.c [HAVE_LIBC_H]: Include . + + * lib/usleep.c: New file (adapted from glibc). + + * lib/strndup.c: Move #ifndef HAVE_STRNDUP up so nothing + except gets included unless really needed. + Include to get size_t defined. + + * lib/snprintf.c (vsnprintf): Rename from vplp_snprintf. + (snprintf): Rename from plp_snprintf. + + * include/sane/config.h.in: Add #undef HAVE_USLEEP. Add #undef + HAVE_IO_CAM_CAM_H. + + * configure.in: Test ${ac_cv_prog_gcc} instead of $CC to find out + whether we're dealing with gcc. Test for io/cam/cam.h header. + (AC_C_INLINE): Add. + (AC_CHECK_FUNCS): Mention usleep. + Check for Xext after checking for X11 since on some platforms, + linking against Xext requires functions from X11. + + * backend/umax.c (PATH_MAX): Define as 1024 if undefined. + + * backend/Makefile.in (CONFIGS): Don't add $(srcdir) prefix. + (LIBLIB_FUNCS): Mention usleep. + (install): Invoke $(LIBTOOL) $(MINST) --finish $(libdir) in + a final step. Correct installation rule for config files. + +1997-07-06 David Mosberger-Tang + + * sanei/sanei_scsi.c (sanei_scsi_cmd): New variable RESULT. + +1997-07-05 David Mosberger-Tang + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Improve BSD version based + on patch by Amancio Hasty . + (BSD_INTERFACE): Rename from NETBSD_INTERFACE (FreeBSD uses the + same interface). + + * configure.in (CPPFLAGS): Check for scsireq_enter in libscsi.a. + + * doc/Makefile.in (SECT5): Mention sane-scsi.5. + * doc/sane-scsi.man: New file. + + * doc/sane-umax.man: Add SEE ALSO section mentioning sane-scsi(5). + * doc/sane-mustek.man: Ditto. + + * doc/scanimage.man: Mention sane-umax(5). + * doc/xscanimage.man: Ditto. + * doc/saned.man: Ditto. + + * configure.in (AC_TYPE_PID_T): Add. + * include/sane/config.h.in: Add undef of pid_t. + +1997-07-04 David Mosberger-Tang + + * lib/sigprocmask.c (sigprocmask): Use hardcoded values instead + of SIG_BLOCK, SIG_UNBLOCK, and SIG_SETPROCMASK. + +1997-07-03 David Mosberger-Tang + + * configure.in (CPPFLAGS): Remove -D_POSIX_SOURCE. We can't define + it safely since it causes select() related typedefs and defines + to go away under FreeBSD, for example. + +1997-07-02 David Mosberger-Tang + + * configure.in (CPPFLAGS): Put -D_GNU_SOURCE and -D_POSIX_SOURCE + in CPPFLAGS, not CFLAGS. + + * doc/sane-umax.man: Change SG_BIG_BUFF example from 128KB to + 127.5KB. + * doc/sane-mustek.man: Ditto. Mention DTC3181E together with + DTCT436. + + * frontend/gtkglue.c (gsg_create_dialog): Initialize dialog->advanced + to TRUE so "dumb" frontends will show all options. + + * frontend/xscanimage.c (device_dialog): Turn off advanced options + by default. + + * configure.in (AC_CHECK_TYPE): Check for u_long and u_int. + Check for scsireq_t. + * sanei/sanei_scsi.c: Don't define scsireq_t here. + + * include/sane/config.h.in: Add undef of u_long, u_int, and + scsireq_t. + +1997-07-01 David Mosberger-Tang + + * frontend/xscanimage.c (quit_xscan): No longer call + preview_destroy() since that now gets called as part of + the "destroy" callback. + + * backend/hp.c (attach) [PREFER_DEVICEPIXEL]: Use device-pixel + unit commands instead of decipoint commands so things work on a 5p + as well (contributed by NOGAYA Shigeki + ). + (sane_start) [PREFER_DEVICEPIXEL]: Convert from mm to pixels. + + * frontend/preview.c (input_available): Break out of per-bit loop + when done with one line (fix contributed by NOGAYA Shigeki + ). + * frontend/xscanimage.c (input_available): Ditto. + + * doc/sane-umax.man: Rename SCSI id to Product id to reduce + confusion. + * doc/sane-hp.man: Ditto. + * doc/sane-mustek.man: Ditto. + + * backend/mustek.c (wait_ready): Ignore errors during wait_ready(). + With 3-pass scanners, ncr810 driver returns EIO while the scanner + is getting ready for pass 2 or 3. + +1997-06-30 David Mosberger-Tang + + * backend/mustek.c (sense_handler): Print debug info if we + find unknown sense result. + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Consider sense_buffer[] + only when result != 0. + + * frontend/scanimage.c (sighandler): Change return value type + from void to RETSIGTYPE (from ). + + * doc/sane-mustek.man: Mention problems with MSFS-12000SP. + + * backend/umax.c (sane_start): Don't use C++ style line comments. + + * backend/umax-scsi.c (umax_do_scsi_cmd): Use sigemptyset() to clear + out signal set. Include . + + * frontend/saned.c [HAVE_SYS_SELECT_H]: Include . + * include/sane/config.h.in: Mention HAVE_SYS_SELECT_H. + +Thu Jun 26 10:19:50 1997 David Mosberger-Tang + + * README: Mention permissions on generic SCSI device. + +Tue Jun 24 17:35:52 1997 David Mosberger-Tang + + * doc/xscanimage.man: Fix spacing. + + * doc/sane-dll.man: Mention how list of pre-loaded backends + can be changed. + +Sun Jun 22 08:29:47 1997 David Mosberger-Tang + + * PROBLEMS: Add note on SCSI device names under OpenStep. + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Fix various minor bugs. + (sanei_scsi_open): Add support for OpenStep. + + * backend/Makefile.in (install): Replace 'ln -f -s' with `rm -f', + `ln -s' sequence. OpenStep doesn't support the -f option at all. + +Fri Jun 20 07:30:18 1997 David Mosberger-Tang + + * doc/sane-qcam.man: Updated B&W status. + + * sanei/sanei_save_values.c [HAVE_LIBC_H]: Include . + * sanei/sanei_load_values.c: Ditto. + + * lib/sigprocmask.c: New file. + * lib/strdup.c: Ditto. + + * lib/Makefile.in (LIBLIB_OBJS): Mention strdup.o and sigprocmask.o. + (LIBLIB_LTOBJS): Mention strdup.lo and sigprocmask.lo. + (liblib.a): Use $(RANLIB) instead of -ranlib. + + * include/sane/sanei_backend.h [!HAVE_SIGPROCMASK]: Define + compatibility macros sigset_t, sigemptyset(), sigfillset(), + sigaddset(), sigdelset(), and sigaction(). + Define macro SIGACTION. + + * frontend/saned.c (HAVE_VARARG_MACROS): Don't define unless we + have at least gcc 2.6. + * include/sane/sanei_debug.h Ditto. Use HAVE_VARARG_MACROS + instead of __GNUC__. + * sanei/sanei_init_debug.c: Ditto. + + * configure.in (AC_PROG_RANLIB): Mention. + (CFLAGS): Move up near the beginning and add -D_POSIX_SOURCE. + (AC_CHECK_HEADERS): Test for libc.h. + (AC_TYPE_SIGNAL): Mention. + (AC_CHECK_FUNCS): Check for sigprocmask. + + * backend/net.c (sane_init): Honor SANE_NET_HOSTS even if + net.conf does not exist. + + * backend/mustek.c (sane_start): Use "struct SIGACTION" so it's + easier to make code work on platforms that don't support + sigprocmask(). + * backend/umax.c (sane_start): Ditto. + + * ltmain.sh: Upgrade to libtool-0.9h. + * ltconfig: Ditto. + * config.guess: Ditto. + * config.sub: Ditto. + * aclocal.m4: Ditto. + +Thu Jun 19 08:26:33 1997 David Mosberger-Tang + + * configure.in (V_MINOR): Update forgotten version number... + + * backend/qcam.c (reader_process): Scale 4 and 6 bpp to 8 bpp. + + * backend/mustek.h (MUSTEK_FLAG_LD_NONE): New flag. + * backend/mustek.c (attach): Turn on MUSTEK_FLAG_LD_NONE for + MSF-06000SP (this fixes the problems for Andreas Gaumann + ). + (attach): Print debug message when MUSTEK_FLAG_LD_NONE is on. + (line_distance): Fix up ld correction only if MUSTEK_FLAG_LD_NONE + is not on. + +Wed Jun 18 15:42:25 1997 David Mosberger-Tang + + * doc/sane.tex (section{Image Data Format}}): Clarify + what valid bit-depths are. + +Tue Jun 17 07:47:51 1997 David Mosberger-Tang + + * backend/qcam.c (sane_get_parameters): Test for != QC_COLOR + instead of == QC_MONO. Apparently, there are several versions + of the monochrome camera. + (qc_setscanmode): Ditto. + + * lib/snprintf.c: Update with latest version (also includes + license information now). + + * sane-0.6.lsm (Author): Update Tristan Tarrant's email address. + * AUTHORS: Ditto. + * frontend/xscanimage.c: Ditto. + +Sun Jun 15 10:08:44 1997 David Mosberger-Tang + + * doc/xscanimage.man: Add section on how to run xscanimage under + the GIMP. + + * frontend/xscanimage.c (init) [HAVE_LIBGIMP_GIMP_H]: Call + gtk_rc_parse() with gimp_gtk_rc() to get space-saving layout of + The GIMP. (Suggested by Sven Neumann.) + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Add NeXTStep/OpenStep + implementation. + (sanei_scsi_cmd): Adjust NetBSD version to make it more like + NeXTStep/OpenStep version. + + * configure.in (AC_CHECK_HEADERS): Mention bsd/dev/scsireg.h. + +Thu Jun 19 15:19:38 1997 Gordon Matzigkeit + + * backend/umax-scsi.c: Parameterize slightly more so that the + build succeeds on non-Linux platforms. + + * Makefile.in, backend/Makefile.in, doc/Makefile.in, + frontend/Makefile.in (install): Fail immediately if any + installation fails. Use mkinstalldirs to create all installation + directories. + +Sat Jun 14 11:07:13 1997 David Mosberger-Tang + + * Version 0.6 released. + + * frontend/preview.c (preview_new): Connect "destroy" signal + so we notice if window manager closes our window. + (top_destroyed): New function. + + * frontend/xscanimage.c (scan_preview): Make it robust against + preview_new() returning NULL and connect "destroy" signal so we + notice when the window manager closes the preview window. + (preview_window_destroyed): New function. + + * LICENSE: New file. + + * backend/dll.c: Change license from GPL to relaxed GPL. + * backend/hp.c: Ditto. + * backend/hp.h: Ditto. + * backend/mustek.c: Ditto. + * backend/mustek.h: Ditto. + * backend/net.c: Ditto. + * backend/net.h: Ditto. + * backend/pint.c: Ditto. + * backend/pint.h: Ditto. + * backend/pnm.c: Ditto. + * backend/pnm.h: Ditto. + * backend/qcam.c: Ditto. + * backend/qcam.h: Ditto. + * sanei/sanei_codec_ascii.c: Ditto. + * sanei/sanei_codec_bin.c: Ditto. + * sanei/sanei_constrain_value.c: Ditto. + * sanei/sanei_init_debug.c: Ditto. + * sanei/sanei_load_values.c: Ditto. + * sanei/sanei_net.c: Ditto. + * sanei/sanei_save_valus.c: Ditto. + * sanei/sanei_scsi.c: Ditto. + * sanei/sanei_wire.c: Ditto. + +Fri Jun 13 18:35:47 1997 David Mosberger-Tang + + * lib/snprintf.c: New file (Patrick Powell). + + * frontend/xcam.c: Use guint32 and guint32 instead of u_int16_t + and u_int32_t (Tristan Tarrant). + + * doc/Makefile.in (SECT5): Mention sane-umax.5. + + * configure.in (PACKAGE_VERSION): Check for snprintf (Tristan + Tarrant). + + * backend/dll.conf: Mention umax. + + * backend/umax-scanner.h: New file (from umax-0.5.5). + * backend/umax-scsi.c: Ditto. + * backend/umax-scsidef.h: Ditto. + * backend/umax-struct.h: Ditto. + * backend/umax-uc630.h: Ditto. + * backend/umax-ug630.h: Ditto. + * backend/umax-umax.c: Ditto. + * backend/umax.conf: Ditto. + * backend/umax.h: Ditto. + * doc/sane-umax.5: Ditto. + + * backend/Makefile.in (PRELOADABLE_BACKENDS): Mention umax. + (libsane-umax.la): List dependencies for umax library. + + * COPYING: New file. + + * include/sane/config.h.in: Add #undef HAVE_SNPRINTF. + +Tue Jun 10 21:00:34 1997 David Mosberger-Tang + + * ltmain.sh: Upgrade to libtool-0.9g. + +Sun Jun 8 21:24:27 1997 David Mosberger-Tang + + * backend/dll.c (load): Also check SHLIB_PATH (HP-UX) and LIBPATH + (AIX). + + * include/sane/config.h.in: Remove HAVE_GTK_GTKCURVE_H. + +Sat Jun 7 11:19:57 1997 David Mosberger-Tang + + * frontend/xscanimage.c (pref_device_save): Call gsg_sync() before + saving the values. + + * backend/Makefile.in (libsane-%.la): Add -export-dynamic flag. + + * frontend/xscanimage.c (query): Rename "/Extensions/" to "/Xtns/" + to reflect gimp-0.99.10 changes. + (query): Don't put in separator---it confuses gimp. + (main): Temporarily install a null print handler so gimp_main() + doesn't produce any ugly messages when program gets invoked in + stand-alone mode. + + * ltconfig: Upgrade libtool to version 0.9f. + * ltmain.sh: Ditto. + * config.guess: Ditto. + * config.sub: Ditto. + + * frontend/Makefile.in (install): Define MKDIR as + $(top_srcdir)/mkinstallldirs. + Use $(MKDIR) instead of mkdir. + * backend/Makefile.in (install): Ditto. + * doc/Makefile.in (install): Ditto. + + * mkinstalldirs: New file (from maint-0.1g). + +Tue Jun 3 10:29:17 1997 David Mosberger-Tang + + * LEVEL2: New file. + +Sun Jun 1 13:26:40 1997 David Mosberger-Tang + + * doc/Makefile.in (LATEX, DLH): New macros. + (sane.ind): Prefix source filename with $(srcdir). + (ps): Ditto. + (html): Ditto. + + * doc/net.tex (subsection{SANE_NET_START}): Document member + byte_order. + + * sanei/sanei_net.c (sanei_w_start_reply): (De-)code BYTE_ORDER + member. + + * frontend/saned.c (byte_order): New union. + (process_request): Initialize byte_order member. + + * include/sane/sanei_net.h (SANE_Net_Byte_Order): New enum type. + (SANE_Start_Reply): New member BYTE_ORDER. + +Wed May 28 17:13:43 1997 David Mosberger-Tang + + * doc/Makefile.in (install): Create $(mandir)/man1 and + $(mandir)/man5 if necessary. + +Tue May 27 09:31:39 1997 David Mosberger-Tang + + * backend/hp.c: Remove s7_range and s1_range. + (attach): Add inquiry of min/max brightness/contrast and fill in + dev->brightness_range and dev->contrast_range accordingly. + (init_options): Use s->hw->brightness_range instead of s7_range. + Use s->hw->contrast_range instead of s7_range. Disable contrast + option if min value is same as max value. + + * backend/hp.h (struct HP_Device): Add members BRIGHTNESS_RANGE + and CONTRAST_RANGE. + + * sanei/sanei_scsi.c (sanei_scsi_open): Add more debug info. + +Mon May 26 10:43:51 1997 David Mosberger-Tang + + * sanei/Makefile.in: Add definitions for VPATH, srcdir, top_srcdir, + and top_builddir. + (INCLUDES): Move -I directives from CPPFLAGS to this macro. Also + search in $(srcdir), $(top_builddir)/include, and + $(top_srcdir)/include. + + * lib/Makefile.in: Add definitions for VPATH, srcdir, top_srcdir, + and top_builddir. + (INCLUDES): Move -I directives from CPPFLAGS to this macro. Also + search in $(srcdir), $(top_builddir)/include, and + $(top_srcdir)/include. + + * include/Makefile.in: New file. + + * frontend/Makefile.in: Add definitions for VPATH, srcdir, top_srcdir, + and top_builddir. + (INCLUDES): Also search in $(srcdir), $(top_builddir)/include, and + $(top_srcdir)/include. + (install): Add $(srcdir) prefix to sane-style.rc. + + * doc/Makefile.in: Add definitions for VPATH, srcdir, top_srcdir, + and top_builddir. + (%.1 %.5): Use $^ instead of $* so source file can be found even + when in a different directory. + + * configure.in (AC_OUTPUT): Create (dummy) include/Makefile to + ensure include directory exists in build tree. + + * backend/Makefile.in: Add definitions for VPATH, srcdir, + top_srcdir, and top_builddir. + (INCLUDES): Also search in $(srcdir), $(top_builddir)/include, and + $(top_srcdir)/include. + (CONFIGS): Add $(srcdir) prefix. + (%-s.c): Ditto. + + * Makefile.in (INSTALLED_INCLUDES): Mention include/sane/config.h. + Add definitions for VPATH, srcdir, top_srcdir, and top_builddir. + (INSTALLED_INCLUDES): Change include/sane to $(top_srcdir)/include/sane + and use "addprefix" function to add prefix. + +Thu May 15 07:26:06 1997 David Mosberger-Tang + + * doc/sane-mustek.man (Model): Add entry for MFC-600CD. + (Model): Mention AHA-2940. + + * frontend/xscanimage.c (scan_dialog): Move gsg_sync() to here + (from scan_start()). + + * backend/mustek.c (init_options): Disable brightness/contrast for + 1-pass scanners only (in color mode). + +Wed May 14 09:17:02 1997 David Mosberger-Tang + + * backend/mustek.c: Add ax_brightness_range, ax_contrast_range. + (init_options): Use ax_brightness_range/ax_contrast_range for + brightness/contrast option when using a 3-pass scanner. + (encode_percentage): Remove extraneous division by 100.0. + + * doc/sane-mustek.man (Model): Add MFS-12000CX entry. + +Mon May 12 07:58:34 1997 David Mosberger-Tang + + * frontend/scanimage.c (main): Shorten help string so it fits in + 80 characters. + + * frontend/preview.c (paint_image): Only increment height if + height < p->image_height. + +Sat May 10 14:43:05 1997 David Mosberger-Tang + + * Version 0.57 released. + + * backend/mustek.c (attach): Fix range to 220x300mm. + (init_options): Initialize OPT_PREVIEW and OPT_GRAY_PREVIEW. + (sane_control_option): Handle OPT_PREVIEW and OPT_GRAY_PREVIEW. + Do not allow OPT_NUM_OPTS to be set. + (sane_get_parameters): Except for s->params.format and + s->params.last_frame, do not change any parameters when scanning + is in progress. + (sane_start): Handle mono-chrome previewing. + + * backend/mustek.h (Mustek_Option): Add OPT_PREVIEW and + OPT_GRAY_PREVIEW. + + * frontend/progress.c (progress_new): Fix position of progress bar + window to (progress_x,progress_y). + + * frontend/gtkglue.c (panel_build): Skip Preview option. + +Thu May 8 19:39:48 1997 David Mosberger-Tang + + * doc/scanimage.man: New file. + + * doc/Makefile.in (SECT1): Mention scanimage.1. + + * backend/dll.conf: Add hp to dll.conf. + +Wed May 7 07:28:18 1997 David Mosberger-Tang + + * include/sane/sanei_scsi.h (SANEI_SCSI_Sense_Handler): New type. + (sanei_scsi_close): Add SENSE_HANDLER argument (NULL means no + special handler needed). + + * backend/hp.c (sane_start): Pass 0 as SENSE_HANDLER argument. + (attach): Ditto. + + * backend/mustek.c (sense_handler): Rename from request_sense and + simplify. + Remove all explicit request-sense calls. + + * sanei/sanei_scsi.c: Include . + (num_handlers_alloced): New variable. + (sense_handler): Ditto. + (sanei_scsi_open): Add SENSE_HANDLER argument. Stash it away in + SENSE_HANDLER array if non-NULL. + (sanei_scsi_cmd) [HAVE_SYS_SG]: Invoke SENSE_HANDLER[FD] if it + exists and is non-NULL and we have a valid sense-buffer. + (sanei_scsi_cmd) [HAVE_SYS_SCSI]: Ditto. + (sanei_scsi_close): Reset SENSE_HANDLER[FD] to NULL if it exists. + + * frontend/xcam.c: Include . + + * configure.in: Add a big fat warning that PROBLEMS should be + read before running any programs. + + * PROBLEMS: Add info on how to avoid damaging Mustek scanners. + +Mon May 5 07:06:54 1997 David Mosberger-Tang + + * doc/sane.tex (chapter{Contact Information}): Fix URL. + + * doc/net.tex: Add missing sections. Make into chapter. + + * backend/pint.README: Remove. + + * backend/dll.c (ASSERT_SPACE): Call malloc() when devlist is + NULL. SunOS realloc() returns NULL otherwise. + * backend/net.c (ASSERT_SPACE): Ditto. + +Sun May 4 09:21:48 1997 David Mosberger-Tang + + * frontend/saned.c (EXIT_SUCCESS): Define as 0 if not defined by + stdlib.h. + + * frontend/scanimage.c: Include . + + * backend/qcam.c: Define PATH_MAX as 1024 if limits.h doesn't + define it. + * backend/dll.c: Ditto. + * backend/hp.c: Ditto. + * backend/mustek.c: Ditto. + * backend/net.c: Ditto. + * backend/pint.c: Ditto. + * backend/qcam.c: Ditto. + * frontend/xscanimage.c: Ditto. + * frontend/xcam.c: Ditto. + * frontend/preview.c: Ditto. + + * sanei/sanei_wire.c: Include . + * sanei/sanei_net.c: Ditto. + * sanei/sanei_codec_ascii.c: Ditto. + * sanei/sanei_codec_bin.c: Ditto. + * sanei/sanei_save_values.c: Ditto. + * backend/net.c: Ditto. + * frontend/saned.c: Ditto. + + * configure.in (AC_CHECK_HEADERS): Mention + /usr/src/linux/include/scsi/sg.h. + + * include/sane/config.h.in: Add + #undef HAVE__USR_SRC_LINUX_INCLUDE_SCSI_SG_H. + + * sanei/sanei_scsi.c [HAVE__USR_SRC_LINUX_INCLUDE_SCSI_SG_H]: + Include "/usr/src/linux/include/scsi/sg. + (sanei_scsi_cmd): Use Linux version if either HAVE_SCSI_SG_H or + HAVE__USR_SRC_LINUX_INCLUDE_SCSI_SG_H are defined. + + * doc/xscanimage.man: Rename --no-shm to --no-xshm. + +Mon Apr 28 09:55:02 1997 David Mosberger-Tang + + * Version 0.56 released. + + * backend/qcam.c (sane_open): Move disabling of despeckle-filter + for b&w cameras to here (from init_options()). + + * frontend/preferences.c: Add missing default value for FILENAME. + + * backend/qcam.h: Add QC_BW_SET_CONTRAST, + QC_BW_AUTO_ADJUST_OFFSET, and QC_BW_GET_OFFSET. * backend/qcam.c + (sane_start): Use QC_BW_SET_CONTRAST when dealing with B&W camera. + Fix computation of QC_SET_NUM_H value. [Based on Guido Muensch's + patches.] + + * frontend/scanimage.c (advance): Move out-of-memory error message + from scan_it() to here. + (scan_it): When height is known a priori, allocate one extra line + to avoid realloc() when image has been filled. + + * backend/hp.c (BACKEND_NAME): Define as hp (reported by Henryk + Paluch). + + * backend/mustek.c (request_sense): Increase result size from 4 to + 16 bytes to shut up aha1542 driver (reported by Mathias Lautner). + + * frontend/scanimage.c (advance): Fix memory allocation logic + (bug reported by Matthias Lautner). + + * doc/sane-dll.man: Clarify that pre-loaded backends are not + affected by dll.conf. + + * doc/sane-pint.man: New file (contributed by Gordon Matzigkeit). + + * backend/dll.c (RTLD_NOW): Define as 0 if dlfcn.h doesn't define + it. + +Wed Apr 23 23:03:47 1997 Gordon Matzigkeit + + * backend/Makefile.in, frontend/Makefile.in: Specify full + filenames, rather than just the directory name for INSTALL + destinations. This Automakeism helps debugging when the target + directory doesn't exist. + + * include/sane/config.h.in (HAVE_SYS_SCANIO_H): Define, for PINT's + sake. + + * backend/pint.c: Prefix sane includes with . + + * backend/dll.c (RTLD_NOW): Paramaterize, so that RTLD_LAZY is + used if RTLD_NOW is not defined. + (load): Try looking up the symbol with a leading underscore, if we + can't find it the first time. + + Make dynamic loading conditional on HAVE_DLOPEN rather than the + library and header file. + + * configure.in (enable_dynamic): Disable dynamic loading if the + system doesn't have dlopen. + +Tue Apr 22 00:17:41 1997 David Mosberger-Tang + + * Version 0.55 released. + + * frontend/xscanimage.c (browse_filename_callback): Initialize + FILENAME before calling gsg_get_filename(). + + * doc/sane.tex: Change obsolete \driver{DVIps} into DVIps document + style option. + + * frontend/xscanimage.c (query): Update to new command name + length. + +Mon Apr 21 08:27:28 1997 David Mosberger-Tang + + * doc/Makefile.in (install): Add rule to install man-pages. + (%.1 %.5): Add rule to generate man-pages (by substituting + actual paths). + (SECT1): New variable. + (SECT5): Ditto. + (MANPAGES): Ditto. + + * doc/sane-pnm.man: New file. + * backend/pnm.README: Deleted. + + * doc/sane-hp.man: New file. + * backend/hp.README: Deleted. + + * doc/saned.man: New file. + * frontend/saned.README: Deleted. + + * doc/sane-qcam.man: New file. + * backend/qcam.README: Deleted. + + * doc/sane-mustek.man: New file. + * backend/mustek.README: Deleted. + + * doc/sane-net.man: New file. + * backend/net.README: Deleted. + + * doc/sane-dll.man: New file. + * backend/dll.README: Deleted. + + * doc/xscanimage.man: New file. + * frontend/xscanimage.README: Deleted. + + * frontend/preview.c (event_handler): Restore preview image only + if preferences.preserve_preview is TRUE. + + * frontend/xscanimage.c (preview_options_dialog): Add an option + to control whether the preview image should be preserved. + + * sanei/sanei_load_values.c (sanei_load_values): Copy string value + into temporary buffer that is opt->size bytes long. Then pass copy + to sane_control_option(). + + * AUTHORS (Backends): Updated according to recent changes. + + * doc/sane.tex (The SANE Application Programmer Interface (API)): + Fix typo: replace () by {}. + + * PROJECTS (Backend): Update PINT entry. + + * frontend/xscanimage.c (prog_name): New variable. + (input_available): Use prog_name instead of hardcoding "xscan". + (preview_options_ok_callback): Ditto. + (preview_options_dialog): Ditto. + (usage): Ditto. + (interface): Ditto. + (main): Initialize prog_name. + + * frontend/scanimage.c: Update for new name (scanimage instead of + scan). + + * frontend/Makefile.in (SCAN_OBJS): Rename sources to xscanimage.c + and scanimage.c as well. + +Sun Apr 20 09:09:06 1997 David Mosberger-Tang + + * Version 0.54 released. + + * sanei/Makefile.in (LIBSANEI_LTOBJS): Remove @LTALLOCA@. + (LIBSANEI_OBJS): Remove @ALLOCA@. + + * lib/Makefile.in: Invoke $(LIBTOOL) with --mode arg to avoid + depending on command names. Prefix $(LIBTOOL) invocation with + @-sign to reduce verbosity. + * frontend/Makefile.in: Ditto. + * backend/Makefile.in: Ditto. + * sanei/Makefile.in: Ditto. + + * frontend/saned.c (_PATH_HEQUIV): Define if not defined yet.. + + * configure.in: Check for libgimp/gimp.h instead of -lgimp since + -lgimp cannot be linked by itself (it has an unresolved reference + to PLUG_IN_INFO). + + * lib/strndup.c (strndup): Include . + + * frontend/xscanimage.README: Update. + + * sanei/sanei_scsi.c: Add missing "int" type in front of + sanei_scsi_max_request_size. + + * configure.in: Check for -lintl, -lsocket, and -lnsl for + braindamaged SVR4 systems. + + * frontend/scan.c (scan_it): Initialize min with 0xff, not ~0 + (Sun CC complains otherwise). + + * backend/Makefile.in: Use "ln -f -s", not "ln -sf", Solaris doesn't + like the former. Grrr... + + * lib/alloca.c: Don't use xmalloc(). + + * frontend/saned.c (store_reclen): Declare BUF as a pointer to + SANE_Byte (not char). + (do_scan): Ditto. + + * frontend/scan.c (fetch_options): Cast opt->name to (char *) + to suppress (spurious) warning. + + * backend/dll.c (sane_init): Skip preloaded backends with no name. + + * backend/hp.c (inquire): Cast BUF to (char *) to avoid warning. + (sane_read): Change type of NREAD to size_t (from ssize_t). + + * include/sane/sanei_backend.h (u_int16_t): Define u_int8_t, + u_int16_t, and u_int32_t if necessary. + + * include/sane/sane.h (sane_strstatus): Remove non-ANSI "const". + * backend/sane_strstatus.c (sane_strstatus): Ditto + + * include/sane/sanei_debug.h (DBG): Define alternate version for + non-GNU C compilers. + + * sanei/sanei_init_debug.c (sanei_debug) [!__GNUC__]: New function. + (max_level) [!__GNUC__]: New variable. + + * include/sane/sanei_wire.h: Fix typo in prototype for + sanei_w_value_type. + + * configure.in: Test for gtk_check_button_new() in libgtk. + + * lib/Makefile.in (CPPFLAGS): Add -I../include/sane. + + * frontend/scan.c (STRIP_HEIGHT): New macro. + (advance): Use above macro instead of hard-coding value. + (scan_it): Ditto. + (scan_it): Print error when out of memory. + + * frontend/sane-style.rc: Make the curve in the graph red. + + * frontend/preview.c (XSERVER_WITH_BUGGY_VISUALS): Define for now. + (preview_new): Avoid push_visual()/get_visual() since it seems to + cause problems with some XFree86 servers (and may be others as + well). + + * frontend/preferences.h: Add member ADVANCED. + * frontend/preferences.c: Initialize member ADVANCED and add + an option descriptor for it. + + * frontend/gtkglue.c (panel_build): Layout panel different: all + options are now in one column (advanced options are at the + bottom). The graph widget (if any), will be shown in a separate + column to the right of the options. Display a group only when + there is at least one option in it. Create graph widget if there + is at least one vector-valued option. + (gsg_sync): New function. + (gsg_set_advanced): Ditto. + (gsg_message_dialog_active): Rename from SHOWING_MESSAGE and make + global. + + * frontend/gtkglue.h (GSGDialog): Rename member NOTEBOOK to + MAIN_HBOX. Add members ADVANCED_VBOX and ADVANCED. + + * frontend/gtkglue.c (group_new): New function. + (curve_new): Ditto. + (vector_new): Ditto. + + * backend/mustek.c (init_options): Initialize OPT_CUSTOM_GAMMA. + (sane_control_option): Handle OPT_CUSTOM_GAMMA. + + * backend/mustek.h (OPT_CUSTOM_GAMMA): New option. + + * configure.in (AC_CONFIG_HEADER): Update for new location. + + * include/sane/config.h.in: Move to here from include/config.h. + * *.[ch]: Replace with (except for + files in lib. + + * frontend/saned.README: saned moved from bin/saned to sbin/saned. + + * configure.in (AC_CHECK_HEADERS): Check for gtk/gtkcurve.h. + + * backend/mustek.c (init_options): Undo changes of April 18th. + + * frontend/Makefile.in (install): Install $(BINPROGS) in $(bindir) + and $(SBINPROGS) in $(sbindir). + (SBINPROGS): New variable. + (BINPROGS): Ditto. + (PROGRAMS): Define as concatenation of the two vars above. + (install): Create $(bindir) and $(sbindir) if necessary. + +Sat Apr 19 18:21:02 1997 David Mosberger-Tang + + * frontend/Makefile.in (scanimage): Rename "scan" binary to + "scanimage" to avoid name-collision with MH's scan command. + + * backend/mustek.c (gamma_correction): Update according to new + gamma-table handling. + + * backend/mustek.h: Declare gamma_table as 4 arrays of 256 words + each. + + * backend/mustek.c (sane_control_option): Add missing return after + setting OPT_GAMMA_VECTOR. + + * frontend/progress.h: Protect against multiple inclusion using + macro progress_h, not __PROGRESS_H__ (names starting with + underscores are reserved for libc/system). + + * frontend/gtkglue.c: Remove include of . + * frontend/xcam.c: Ditto. + * frontend/xscan.c: Ditto. + + * frontend/gtkglue.h: Include instead of . + * frontend/progress.c: Ditto. + + * Makefile.in (install): Install headerfiles. + (INSTALLED_INCLUDES): List of header files that need to be + installed. + +Sat Apr 19 18:15:03 1997 Michael K. Johnson + + * */*.[ch]: Prefix sane-includes with . + include/sane*: Move to include/sane subdirectory. + +Sat Apr 19 08:25:36 1997 David Mosberger-Tang + + * frontend/gtkglue.c (set_option): Add missing return and use + snprintf instead of sprintf. + + * frontend/xscan.c (update_param): Multiply size by 3 if we're + dealing with a frame from a 3-pass image. + +Fri Apr 18 07:28:46 1997 David Mosberger-Tang + + * backend/mustek.c (init_options): Mark all vector options as + SANE_CAP_ADVANCED. + + * frontend/scan.c (scan_it): Fail if advance() fails. + +Thu Apr 17 08:59:00 1997 David Mosberger-Tang + + * backend/mustek.c (sane_read): Add debug statement. + (reader_process): Remove extraneous if-statement that had the + effect of not passing along any data in 3-pass mode. + +Wed Apr 16 09:16:01 1997 David Mosberger-Tang + + * frontend/preview.h: Add member CANCEL. + * frontend/preview.c (scan_start): Make p->cancel sensitive. + (scan_done): Make p->cancel insensitive. + (preview_new): Set p->cancel insensitive. + + * frontend/preferences.h (Preferences): Add member "filename". + * frontend/preferences.c: Initialize new member "filename". + Declare member "filename" as a string. + + * frontend/xscan.c (device_dialog): Rename "Files" to "File". + (quit_xscan): Call pref_xscan_save() before exiting. Replace + global variable filename by preferences.filename. + + * frontend/xcam.c (main): Ditto. + + * PROBLEMS: New file. + + * frontend/gtkglue.c (scale_new): Set the adjustment page size to + 0.0. Make horizontal scale 200 pixels wide. + + * frontend/xscan.c (device_dialog): Move gtk_widget_show + (ScanWin.shell) after pref_device_restore (0, 0). + (pref_device_restore): Make arg-less since callback arguments must + not be used. + (device_dialog): Remove dummy args from call to pref_device_restore(). + + * include/saneopts.h (SANE_TITLE_SCAN_TL_X, SANE_TITLE_SCAN_TL_Y, + SANE_TITLE_SCAN_BR_X, SANE_TITLE_SCAN_BR_Y): Shorten titles. + + * frontend/xcam.c (main): Move gtk_widget_show(win.shell) to end + of function. + + * backend/mustek.c (attach): Turn on MUSTEK_FLAG_USE_EIGHTS for + MFS-12000CX. + (sane_get_parameters): Must not depend on s->mode in this routine, + since s->mode is valid only once scanning has begun. + +Tue Apr 15 23:06:17 1997 David Mosberger-Tang + + * backend/mustek.c (sane_start): Issue SCAN_AREA and BACKTRACK + commands even during second and third pass. + (sane_get_parameters): Be sure to properly update the + params.format member during second and third pass. + +Sat Apr 12 11:40:52 1997 David Mosberger-Tang + + * frontend/scan.c (STRIP_HEIGHT): New macro. + (scan_it): Fix typo: test parm.lines instead of image.height. + + * backend/pnm.c (hand_scanner): New variable. + (sane_control_option): Handle setting/reading of HAND_SCANNER + option. + (getparmfromfile): Set parms.lines to -1 when simulating + hand-scanner. + (sod): Add hand-scanner option descriptor. + + * frontend/gtkglue.c (panel_build): Move gtk_widget_show + (notebook) to the very of this function. This works around the + notebook redrawing problems. Define WORKING_NOTEBOOK. + + * frontend/xscan.c (interface): Call quit_xscan() if + device_dialog() did not end up with a non-NULL dialog. + (quit_xscan): Add missing exit() call. + + * backend/mustek.c (attach): Print more debug info on detected + scanner (1 vs 3-pass, ADF & TA support). + (start_scan): Fix typo in code selecting the three-pass color filter. + +Sun Apr 13 23:53:02 1997 Gordon Matzigkeit + + * backend/pint.c, backend/pint.h, backend/pint.README: Added to + distribution. + +Fri Apr 11 22:04:17 1997 David Mosberger-Tang + + * Version 0.53 released. + + * frontend/xscan.c: Default to "out.pnm" instead of "out.ppm". + + * backend/mustek.c (get_image_status): Add debug message. + (sane_start): Only divide pixels_per_line by three if we're doing + a one-pass color scan. + (do_eof): New function. + (sane_read): Call do_eof() when done with a frame. + (do_cancel): Call do_eof(). + + * frontend/scan.c (write_pnm_header): New function. + (advance): Ditto. + (scan_it): Modify to support three-pass scanning and scanning of + images whose height is not known a priori (hand-held scanners). + +Wed Apr 9 14:39:59 1997 David Mosberger-Tang + + * frontend/xscan.c (ok_choose_dialog_callback): Make + argument-free. + (select_device_callback): Declare event as second argument and + call ok_choose_dialog_callback() if the callback was invoked + through a double-click. + (choose_device): Register select_device_callback() as + "button_press_event" handler instead of as "clicked" so we can + catch double-clicks. + +Tue Apr 8 10:31:47 1997 David Mosberger-Tang + + * frontend/xscan.c (init): Enable gtk_rc_parse() code (GTK-0.99.7 + requires patch for gtkstyle.c). + + * backend/hp.c (attach): Fix parenthization to shut up gcc. + +Mon Apr 7 13:08:45 1997 David Mosberger-Tang + + * frontend/xscan.c (preview_options_dialog): Rename "changed_text" + to "changed" to reflect latest GTK version. + (device_dialog): Ditto. + * frontend/gtkglue.c (text_entry_new): Ditto. + + * Version 0.52 released. + + * AUTHORS: Various updates. + + * backend/mustek.README: Add Adaptec info. + + * backend/mustek.c (sane_start): Call wait_ready() before any + other scanner command. + (wait_ready): New function. + (attach): Call wait_ready() instead of open-coding it. + + * doc/sane.tex (subsection{\code{sane\_strstatus}}): Include + net.tex. + * doc/net.tex: New file. + +Thu Apr 3 08:51:13 1997 David Mosberger-Tang + + * frontend/xscan.c (update_param): Change type of SIZE to u_long + (from long) since under NetBSD there seem to be some odd sign + problems otherwise (compiler bug?). + +Wed Apr 2 07:15:41 1997 David Mosberger-Tang + + * backend/mustek.c (sane_read): Always deliver EOF after reading + 0 bytes. + + * backend/qcam.c (reader_process): Fine-tune pixel interpolation. + (despeckle32): Ignore last red pixel in every line (it's always + black). Switch red and blue pixel location (the Connectix docs + are wrong). + + * backend/mustek.c (start_scan): Fix typo that caused start[4] to + be set incorrectly. + + * frontend/preview.c: Include to get PATH_MAX. + +Tue Apr 1 18:45:14 1997 David Mosberger-Tang + + * backend/qcam.c (despeckle): New function. + (despeckle32): Ditto. + (init_options): Initialize OPT_DESPECKLE. + (reader_process): Add despeckling support. + (sane_control_option): Ditto. + (sane_start): Initialize req.despeckle. + + * backend/qcam.h: New member DESPECKLE. + + * frontend/preview.c (restore_option): Fix typo: it should be + SANE_ACTION_SET_VALUE (not _get_). + + * backend/mustek.c (attach): Turn on MUSTEK_FLAG_USE_EIGHTS for + MFS-06000CX. + + * backend/hp.c (attach): Allow both TYPE_PROCESSOR (0x03) and + TYPE_SCANNER (0x06) as the first inquiry byte---some scanners use + the former, others the latter. + + * Version 0.51 released. + + * configure.in: Check for gtk_tooltips_new in libgtk. + +Mon Mar 31 14:42:56 1997 Gordon Matzigkeit + + * frontend/scan.c (main): Added full_optstring, to allow getopt to + do full parsing of the option arguments. + + * backend/pnm.c (getparmfromfile): Need to round up the number of + bytes per line when scanning bitmaps. + +Mon Mar 31 07:48:50 1997 David Mosberger-Tang + + * backend/qcam.c (attach): Send a dummy black-level command. The + first black-level command aftera camera reset doesn't appear to + "take." + + * lib/strndup.c: Correct typo: HAVE_STRDUP -> HAVE_STRNDUP. + + * frontend/xscan.c (pref_set_tooltips): New function. + (pref_build_menu): Build tooltip submenu. + + * frontend/preferences.h: New member TOOLTIPS_ENABLED. + * frontend/preferences.c: Add entry for TOOLTIPS_ENABLED. + + * frontend/gtkglue.h: Add members TOOLTIPS, TOOLTIPS_FG, and + TOOLTIPS_BG. + + * frontend/gtkglue.c (set_tooltip): New function. + (autobutton_new): Add argument TOOLTIPS and add button-description + via set_tooltip(). + (button_new): New args TOOLTIPS & DESC. Set DESC as tooltip help + string. + (scale_new): Ditto. + (option_menu_new): Ditto. + (text_entry_new): Ditto. + (panel_destroy): Destroy dialog tooltips as well. + (panel_build): Create tooltips and allocate colors for it; pass + new args to above functions. + (gsg_set_tooltips): New function. + + * Version 0.5 released. + + * backend/Makefile.in (install): Add missing double-quotes to + $(LIBS) and $(CONFIGS). Also create a symlink for libsane.a. + + * ltconfig: Revert back to version 0.9. + * ltmain.sh: Ditto. + + * frontend/scan.c (print_option): Substitute our own help string + for -x and -y options. + (main): Remove BROKEN_GETOPT code. + + * frontend/Makefile.in (CPPFLAGS): Undo yesterday's change. + * lib/getopt1.c: Ditto. + * lib/getopt.c: Ditto. + + * frontend/scan.c (main): Add some clever getopt () hackery to + work around multi-scan getopt () bug (patch by Gord Matzigkeit). + + * backend/qcam.README: Correct path of configuration file. + +Sun Mar 30 21:42:12 1997 David Mosberger-Tang + + * frontend/Makefile.in (CPPFLAGS): Add back -DBROKEN_GETOPT. + + * frontend/scan.c (main): Reinstantiate BROKEN_GETOPT code. + getopt_long() is _STILL_ broken. ;-( + + * lib/getopt.c: Use this code if __GNU_LIBRARY__ <= 6. Early + versions of glibc had a buggy getopt(). + * lib/getopt1.c: Ditto. + + * frontend/Makefile.in (xscan): Mention $(LIBSANEI). + + * frontend/xscan.c: Include , not . + + * Makefile.in (distclean): Mention libtool. + * configure.in (AC_CHECK_FUNCS): Ditto. + + * include/config.h.in: Add undef of STRSEP. + + * sanei/sane_strstatus.c: Move to backend directory to minimize + chance of confusing this with a SANE-internal routine. + + * sanei/Makefile.in (LIBSANEI_OBJS): Remove sane_strstatus.o. + (LIBSANEI_LTOBJS): Remove sane_strstatus.lo. + + * backend/Makefile.in (libsane-%.la): Mention sane_strstatus.lo + explicitly (every SANE backend library MUST define this function + so we can switch backends at will). + + * frontend/Makefile.in (SCAN_OBJS): Remove getopt.o, getopt1.o. + + * Makefile.in (SUBDIRS): Mention lib as first directory. + + * configure.in (AC_OUTPUT): Mention lib/Makefile. + + * lib/strsep.c: New file. + * lib/strndup.c: Ditto. + * lib/Makefile.in: Ditto. + + * sanei/test_wire.c (main): Initialize codecs through + sanei_w_init(). + + * sanei/sanei_codec_bin.c (sanei_codec_bin_init): Ditto. + + * sanei/sanei_codec_ascii.c (sanei_codec_ascii_init): Remove + w->buffer initalization---this function should be called through + sanei_w_init () only. + + * sanei/sanei_scsi.c: Rename _sanei_scsi_max_request_size to + sanei_scsi_max_request_size. + + * backend/mustek.c (reader_process): Rename macro + SANEI_SCSI_MAX_REQUEST_SIZE to variable + sanei_scsi_max_request_size. + + * include/sanei_scsi.h: Rename _sanei_scsi_max_request_size to + sanei_scsi_max_request_size (names with a leading underscore are + reserved for libc/system). + (SANEI_SCSI_MAX_REQUEST_SIZE): Remove macro. + + * frontend/scan.c (main): Add a brief description of the program. + + * frontend/getopt.c: Move to lib. + * frontend/getopt1.c: Ditto. + + * backend/pnm.c (enum ppm_type): Remove non-ANSI trailing comma. + Correct struct indentation. + + * include/lalloca.h: Isolate alloca cruft in this file. + * frontend/gtkglue.c: Include lalloca.h in place of alloca hack. + * frontend/dll.c: Ditto. + * frontend/scan.c: Ditto. + * sanei/sanei_load_values.c: Ditto. + * sanei/sanei_scsi.c: Ditto. + +Sat Mar 29 00:14:37 1997 Gordon Matzigkeit + + * backend/pnm.c (sane_read): Slurp in RGB files all at once, + rather than limping along three bytes at a time. + + * frontend/xscan.c (advance): Only define if HAVE_LIBGIMP. + + * backend/pnm.c (sane_read, sane_start, getparmfromfile): Handle + grayscale and monochrome bitmapped PNM files. + + * frontend/scan.c (main): Remove BROKEN_GETOPT workaround---the + new getopt() works properly when making multiple passes over the + argument list. + +Fri Mar 28 21:33:36 1997 Gordon Matzigkeit + + * configure.in: Make the QuickCam device conditional on whether or + not the ioperm function exists. + + * sanei/sanei_scsi.c: created a stubbed version of sanei_scsi_cmd. + + * frontend/scan.c (main): Only print error messages to stderr. + Use fputs or fputc when it is possible to avoid printf. + + * sanei/sanei_wire.c (sanei_w_array, sanei_w_ptr, sanei_w_init), + sanei/sanei_save_values.c (sanei_save_values), + sanei/sanei_codec_ascii.c (ascii_w_string): Return an error if + malloc fails. + + * sanei/test_wire.c (main): Added --readonly flag to help test + wire robustness. + + * backend/Makefile.in (LIBSANEI): Deleted the `EXTRA' variable, + and used the convenience library, ../sanei/libsanei.a. + +Sat Mar 29 10:19:58 1997 David Mosberger-Tang + + * doc/sane.tex: Change version from 0.42 to 0.5. + + * README: Add pointer to frontend & backend specific README files. + + * backend/net.c (connect_dev): Ensure dev->ctl gets closed and + reset to -1 in case of failure. + + * configure.in: Look for gtk_preview_new() in libgtk so we can + ignore old GTK versions against which we can't build. + + * (config.sub): Replace with version that comes with + autoconf-2.12. The version that came with libtool-0.9 + doesn't like i686-unknown-linux. + +Fri Mar 28 13:12:17 1997 David Mosberger-Tang + + * doc/sane.tex (subsection{sane_get_select_fd}): Remove extraneous + backslash. + + * backend/stubs.c (sane_cancel): Don't return anything. + + * include/sane.h: Remove trailing comma (for -pedantic). + + * frontend/xscan.c (interface): Complain when trying to call + a device that's unavailable. + (select_device_callback): Correct prototype. + + * frontend/xcam.c (main): Remove unused variable `label.' + + * backend/net.c (sane_cancel): Call SANE_NET_CANCEL. + (sane_start): Handle failure of SANE_NET_START. + + * frontend/saned.c (process_request): Implement SANE_NET_CANCEL. + + * frontend/gtkglue.h (GSGDialogElement): Remove member "label". + * frontend/gtkglue.c: Update accordingly. + (button_new): Use gtk_check_button_new_with_label () to simplify + this function. + + * frontend/gtkglue.c (unit_string): New function. + (panel_build): Append unit_string () to option's title if + the unit is not SANE_UNIT_NONE. Use "title" instead of opt->title + when creating widgets. + + * frontend/preview.c (preview_update): Compute width/height as + (max - min + eps) where eps is 1 for integer coordinates and + SANE_UNFIX(1) for fixed-point coordinates. + (display_partial_image): Support different scaling in x/y + direction. In the case where surface_unit == SANE_UNIT_PIXEL, + compute xscale/yscale based on the ratio between the _expected_ + width/height and the actual width/height. If they're not equal, + the backend must be doing some scaling (e.g., transfer-scale in + the qcam backend). + + * frontend/xscan.c (init): Disable gtk_rc_parse () calls for now + since gtk styles seem to be a bit buggy right now. + (scan_done): Remove input_tag if it is >= 0. + + * frontend/gtkglue.c: Include . + (panel_build): For fixed-point range-constraints scale min/max/quant + based on the preferred metric. + (scale_update): Ditto. + (gsg_update_scan_window): Ditto. + + * backend/mustek.c (sane_control_option): For OPT_GAMMA_VECTOR_* + options, fail with SANE_STATUS_INVAL if the vector has zero length + (i.e., hasn't been set yet). + + * frontend/progress.c (progress_new): Don't make Cancel the + default-button---it's too easy to cancel by mistake otherwise. + + * frontend/sane-style.rc: New file. + + * frontend/xscan.c (init): New function. Parse gtk_rc_parse () + on /usr/local/share/sane-style.rc and ~/.sane/sane-style.rc if + those files exist. + + * configure.in (CPPFLAGS): Add PATH_SANE_DATA_DIR. + + * frontend/gtkglue.c (gsg_warning): New function. + (gsg_message): New function. + (gsg_error): Implement in terms of gsg_message (). + +Thu Mar 27 16:52:27 1997 David Mosberger-Tang + + * frontend/gtkglue.c (gsg_make_path): Terminate buffer with '\0' + before attempting mkdir(). + + * frontend/xcam.c (main): Use gtk_menu_item_new_label () instead + of gtk_label_new ()/gtk_menu_item_new (). + + * frontend/preview.c (establish_selection): Invoke + param_change_callback only if non-NULL. + (preview_update): Convert scale range to inches if that's user's + preference. + + * frontend/xcam.c (delayed_switch): New function. + (device_activate_callback): Call delayed_switch() rather than + executing that code directly. Pete tells me GTK is not designed + to have a widget rebuilt while a submenu is active. + + * frontend/gtkglue.c (panel_build): Avoid using notebook widget + until GTK+ has been fixed. + (idle_handler): New function: rebuild dialog if dialog->rebuild is + set. + (set_option): Set dialog->rebuild to TRUE and schedule + idle_handler() rather than directly calling panel_rebuild(). Pete + tells me GTK is not designed to have a widget rebuilt while a + submenu is active. + (gsg_refresh_dialog): Ditto. + +Thu Mar 27 14:54:23 1997 Gordon Matzigkeit + + * backend/Makefile.in: Converted all for statements that might be + empty to use a temporary list variable. + + * frontend/Makefile.in (scan): Added getopt.o, getopt1.o to scan + dependencies. + + * frontend/getopt.c, frontend/getopt1.c, include/getopt.h: Added + to the distribution. + + * backend/net.c (connect_dev), frontend/saned.c (main): Don't use + TCP_NODELAY if it has not been defined. Look up tcp protocol + number if SOL_TCP is not defined. + + * sanei/test_wire.c (main): lseek after changing direction, or the + direction change ends up at the end of the output file. + Added option parsing, a usage message, and other cleanups. + + * sanei/sanei_codec_ascii.c (sanei_codec_ascii_init), + sanei/sanei_codec_bin.c (sanei_codec_bin_init): Initialize the + wire if it has a 0-length buffer. + + * sanei/sanei_wire.c (sanei_w_init): Only call the codec_init_func + if it is not NULL. + + * sanei/sanei_scsi.c: Parameterize inclusion of generic SCSI + headers based on HAVE_SCSI_SG_H, HAVE_SYS_SCSI_H, or + HAVE_SYS_SCSIIO_H. + + * configure.in (AC_CHECK_HEADERS): Check for scsi/sg.h, + sys/scsi.h, and sys/scsiio.h. + + * sanei/sanei_load_values.c, sanei/sanei_scsi.c, backend/dll.c: + Replaced unconditional alloca.h include with the cruft suggested + by the Autoconf manual. + + * sanei/alloca.c: Add to distribution. + + * sanei/Makefile.in: Eliminate GNU make dependencies, and use + @ALLOCA@ and @LTALLOCA@ as appropriate. + + * configure.in (AM_FUNC_ALLOCA): Use it. + + * aclocal.m4 (AM_FUNC_ALLOCA): Define it. + +Wed Mar 26 17:25:49 1997 David Mosberger-Tang + + * sanei/sanei_wire.c (sanei_w_status): Update *v only when decoding. + (sanei_w_bool): Ditto. + (sanei_w_constraint_type): Ditto. + (sanei_w_value_type): Ditto. + (sanei_w_unit): Ditto. + (sanei_w_action): Ditto. + (sanei_w_frame): Ditto. + + * frontend/xscan.c (quit_xscan): Always invoke gtk_main_quit() + (not just in standalone mode). + (quit_callback): Correct prototype. + + * backend/pnm.c (sod): Fix doc-string for option "three-pass". + + * frontend/xscan.c (advance): New function. + (input_available): Support 1 bpp frames. Call advance() instead + of open-coding it. Add RED/GREEN/BLUE frame support in GIMP mode. + Complain when encountering unknown depth. + (ScanWin): add member first_frame. + (scan_start): Initialize first_frame and frame_offset in + GIMP mode. + + * Integrate force unidirectional mode patch by Guido Muesch + : + * backend/qcam.c (attach): Force uni-directional mode if port + address starts with `u'. + (attach): Add debug statement to print QCam version. + + * Integrate 3-pass patches by Heiko + : + * backend/mustek.cb + (scan_area_and_windows): Use 1/8" mode when MUSTEK_FLAG_USE_EIGHTS + is on (instead of pixel unit). + (mode_select): Set bit 3 in mode byte only if + MUSTEK_FLAG_USE_EIGHTS is off. + (encode_resolution): Don't do funky encoding for 3-pass scanners + in 10% resolution mode. It seems the docs are wrong and the + actual scanners require a much simpler setup. + + * frontend/preview.h: Add include of . + +Sat Mar 22 16:37:34 1997 David Mosberger-Tang + + * frontend/xscan.c (input_available): Reset ScanWin.x to zero at + the end of each line. + (input_available): Reset tile_offset to zero after updating a + tile. + (scan_done): Call gimp_display_new() to display the newly acquired + image. Draw final few lines of image if image height is not a multiple + of the tile-height. + + * frontend/saned.c (process_request): quit when receiving + unexpected procedure number---ignoring is dangerous. + + * backend/dll.c (load): Fix off-by-one bug in allocation of + libname. + + * frontend/xcam.c (prompt_for_device_name): Move grab-default + call behind signal_connect since otherwise the default action + won't work. + + * frontend/xscan.c (choose_device): Let "Ok" button be the one + that gets activated by default (by hitting the Return key). + + * frontend/preview.c (preview_destroy): Rename save_preview_image + to preserve_preview_image. + * frontend/preview.h: Ditto. + + * frontend/preview.c (restore_preview_image): New function. + (preview_destroy): Save preview image if it exists. + (preview_scan): New parameter SELECTION_ONLY. If true, + preview-scanning is limited to the selected area. + + * frontend/xscan.c (scan_done): Call quit_xscan() to exit. + (quit_xscan): Destroy preview if ScanWin.preview is non-NULL. + + * frontend/preview.c (draw_selection): Don't draw if p->gc is + NULL (i.e., if windows aren't mapped yet). + + * frontend/xscan.c: Move HAVE_LIBGIMP-specific code further + down (past the type & global variable decls). + + * configure.in (CPPFLAGS): Make --disable-shared impy + --enable-preload. + + * include/config.h.in: Add HAVE_STRNDUP. + +Fri Mar 21 00:01:00 1997 David Mosberger-Tang + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Implemented FreeBSD + version (untested). + + * sanei/sanei_load_values.c: Include + + * frontend/preview.c (update_selection): New function to set + selection based on current scan-area option values. + (preview_update): Call update_selection (). + + * sanei/sanei_save_values.c: Add copyright notice. + * sanei/sanei_load_values.c: Add copyright notice and explanation + of algorithm. + (BITS_PER_LONG): New macro. + (SET): Ditto. + (IS_SET): Ditto. + (sanei_load_values): Add variables caused_reload and keep_going to + keep track of what options caused a reload_option and whether + the whole option-value setting process should be repeated. + + * include/config.h.in: Add #undef HAVE_LIBGIMP. + * frontend/xscan.c: Put all GIMP-dependencies inside + #ifdef HAVE_LIBGIMP. + Include . + + * sanei/sanei_wire.c (sanei_w_init): Initialize status to 0. + (sanei_w_free): Preserve existing direction and do not flush i/o. + (sanei_w_space): Return EINVAL if reading 0 bytes. + +Thu Mar 20 09:11:21 1997 David Mosberger-Tang + + * frontend/gtkglue.h (dev_name): New member. + * frontend/gtkglue.c (gsg_destroy_dialog): free dialog->dev_name. + (gsg_create_dialog): Keep copy of device name in dev_name member. + + * include/sanei_backend.h: Move stubs into backend/stubs.c and + define redirection macros only if STUBS is not defined. + * backend/stubs.c: New file. + + * configure.in (AC_PROG_RANLIB): Removed. No longer needed with + libtool. + * (frontend/Makefile.in): Adapt to libtool. + * (backend/Makefile.in): Ditto. + * (sanei/Makefile.in): Ditto. + + * backend/mustek.c (attach): Check result[0] == 0x06 to find out + whether we're dealing with a scanner (rather than attemting to + find the string "SCANNER" ). + + * backend/hp.c (sane_read): Initialize nread with max_len, not + *len. + (sane_get_parameters): Add missing `== 0' comparison for strcmp() + calls. + (inquire): Generalize so we can inquire any quantity and improve + parsing. + (attach): Use reasonable default value if inquiry of a quantity + fails. + (sane_start): Report error if inquiry of a scan parameter fails. + +Wed Mar 19 18:03:38 1997 David Mosberger-Tang + + * frontend/xcam.c (prompt_for_device_name): grab default for OK + button (doesn't seem to work, though). + + * frontend/progress.c (progress_new): Connect progress_cancel() + via signal_connect(), not signal_connect_object() and pass P, not + P->SHELL. + (progress_cancel): Don't free progress structure (must be done by + app). + + * frontend/xscan.c (input_available): New function. + (scan_done): Ditto. + (scan_start): Ditto. + (progress_cancel): Simply call sane_cancel(). + (scan_dialog): Moved most of the code to above functions. + + * frontend/gtkglue.c (get_filename_button_clicked): New function. + (gsg_get_filename): Ditto. + + * frontend/xscan.c (scan_dialog): Do not quit xscan when in + standalone mode. + (scan_dialog): Prompt for output filename in standalone mode. + (filename): New variable. + + * backend/pnm.c (sane_control_option): Remove "pnm." prefix + in debug messages. + + * backend/qcam.c (sane_cancel): Remove "qcam." prefix in debug + messages. + + * backend/mustek.c: Remove "mustek." prefix in debug messages. + +Tue Mar 18 17:30:29 1997 David Mosberger-Tang + + * backend/mustek.c (sane_close): Remove superfluous "[mustek]" in + debug string. + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Implement HP-UX version + of this function (untested). + + * backend/qcam.c (reader_process): Enable code to handle 4 bpp + and 6 bpp cases. + +Thu Mar 13 13:15:21 1997 David Mosberger-Tang + + * doc/sane.tex (subsection{Scan Area Options}): Attempt to + clarify the meaning of "top-left" corner. + +Tue Mar 11 07:12:53 1997 David Mosberger-Tang + + * frontend/gtkglue.c (panel_build): Fix typo in matching of + "resolution" option (missing == 0). + +Mon Mar 10 20:19:06 1997 David Mosberger-Tang + + * Announced pre0.5 snapshot. + + * backend/qcam.h: Make transfer-scale part of the "mode" group. + + * backend/qcam.c (sane_read): Moved return of SANE_STATUS_EOF + behind test for delivering EOF. + + * frontend/xscan.c (device_dialog): Relabel "Cancel" button to + "Quit". + + * backend/qcam.c (init_options): Set SANE_CAP_ADVANCED for geometry + group. + * backend/mustek.c (init_options): Ditto. + + * backend/pnm.c (pass, three_pass): New variables. + (sod): Add option "three-pass" to simulate a three-pass scanner. + (sane_control_option): Add support for three_pass option. + (getparmfromfile): In three-pass mode, set format and last_frame + based on `pass'. + (sane_start): If input file is open already, fail unless we're + scanning the next frame of a three-pass image. + (sane_read): Handle three-pass case. + +Sun Mar 9 13:20:19 1997 David Mosberger-Tang + + * frontend/gtkglue.c (text_entry_callback): Only call + gtk_entry_set_text() if the backend modified the string. Otherwise, + infinite recursion occurs on any change (since the change results + in a change...). + + * frontend/xcam.c (next_frame): Reset win.remaining to zero. + + * backend/qcam.c (init_options): Set size of "resolution" option + to sizeof("High"). + + * doc/sane.tex (subsection{Scan Area Options}): Allow word-list + as a constraint. + + * configure.in (CFLAGS): Add -D_GNU_SOURCE to CFLAGS since we + now depend on snprintf (). + + * frontend/xscan.c (device_dialog): Fix typo: PixelHeight should + be > 0, not == 0 in order for us to create the preview window. + (device_dialog): Ditto. + (device_dialog): Add ScanWin.preview to frame container. + +Sat Mar 8 10:19:41 1997 David Mosberger-Tang + + * doc/sane.tex (subsection{sane_get_select_fd}): Clarify what + must happen when the end of a frame has been reached. + + * frontend/xcam.c (input_available): Stop when sane_read() returns + 0 bytes. Fix typo: win.data needs to be set to dst, not src, on + exit. + + * backend/qcam.h (read_fd): New member. + * backend/qcam.c (sane_get_select_fd): Return read_fd instead of + from_child. + (sane_open): Initialize s->read_fd to -1. + (sane_close): Close s->select_fd if >= 0. + (sane_start): Make read_fd dup() of s->from_child. + (sane_cancel): Close s->read_fd if >= 0. + (sane_set_io_mode): Modify s->read_fd instead of s->from_child. + + * frontend/scan.c: Include for NELEMS macro. + * frontend/xcam.c: Ditto. + + * configure.in (CPPFLAGS): Add defines for V_MAJOR and V_MINOR. + (V_MAJOR, V_MINOR): New variables. + + * sanei/Makefile.in (SANEI_OBJS): Mention sanei_net.o. + + * include/sanei_net.h: New file (split from sanei_wire.h). + * sanei/sanei_net.c: New file (split from sanei_wire.c). + + * configure.in: Add -Wall to CFLAGS when using gcc. + + * frontend/Makefile.in (saned): List -lsanei before -lsane + so saned never depends on sanei_*-routines that may be present + in -lsane (the only dependencies for that library must be + on sane_* names). + + * backend/Makefile.in (LIBS): Remove -ldl (configure will add + it if available). + (SHLDFLAGS): Use -usanei_init instead of --whole-archive option. + (SHLDPOSTFLAGS): Remove --no-whole-archive. + + * backend/dll.c: Add include of . + (DYNAMIC): New macro. Defined it dynamic loading support is + available and enabled. + Include only when DYNAMIC is defined. + (load): Make no-op when DYNAMIC is not defined. + (sane_exit): Never call dlclose() if DYNAMIC is not defined. + + * include/sanei_scsi.h: Rename from genscsi.h and rename prefix + from `genscsi_' to `sanei_scsi_'. + * sanei/sanei_scsi.c: Ditto. + * backend/mustek.c: Rename `genscsi_' to `sanei_scsi_'. + + * configure.in: Check for availability of -ldl and . + +Fri Mar 7 15:21:38 1997 David Mosberger-Tang + + * sanei/sanei_wire.c: New file. + * sanei/sanei_codec_bin.c: Ditto. + * sanei/sanei_codec_ascii.c: Ditto. + + * backend/dll.c (sane_exit): Call dlclose() only if handle is + non-NULL. + (sane_init): Chain together preloaded backends. + + * backend/qcam.c (attach): Make static. + (sighandler): Ditto. + (qc_getstatus): Ditto. + * backend/mustek.c (attach): Ditto. + + * backend/dll.c (op_name): Remove `sane_' prefix. + + * sanei/sanei_init_debug.c (sanei_init_debug): Upcase backend + name when building environment variable name. + + * backend/genscsi.c: Make use of sanei_debug.h. + + * backend/mustek.c: Adapt to use sanei_backend.h. + * backend/net.c: Ditto. + * backend/pnm.c: Ditto. + * backend/qcam.c: Ditto. + + * backend/dll.c (sane_exit): Fix typo that resulted in the + last backend not being exited. + +Thu Mar 6 21:25:27 1997 David Mosberger-Tang + + * doc/sane.tex (subsection{\code{sane\_init}}): Allow + authorization callbacks during sane_start() but not during + sane_read(). + +Tue Mar 4 21:04:16 1997 David Mosberger-Tang + + * backend/mustek.c (sane_close): Print debug message when trying + to close an unknown handle. + +Thu Feb 27 18:10:20 1997 David Mosberger-Tang + + * doc/sane.tex (chapter{Contact Information}\label{chap:contact}): + Add `listserv.' to mailing list address---seems to be needed for + subscriptions etc. + +Sun Feb 9 12:54:20 1997 David Mosberger-Tang + + * backend/mustek.README: Add pointer to Ingmar's 53c400 patch. + +Sat Feb 8 11:49:24 1997 David Mosberger-Tang + + * backend/mustek.c (line_distance): Add more debug output. + +Fri Feb 7 19:21:36 1997 David Mosberger-Tang + + * backend/mustek.c (line_distance): Remove erroneous #ifdef + around FACTOR and COLOR. + + * doc/sane.tex (subsection{sane_init}): Make username/password + fixed length arrays so no malloc/free magic is needed. + (subsection{Preview Mode Option}): New section. + + * include/sane.h: Ditto. + + * include/sane.h (SANE_Char): New type. + +Tue Feb 4 18:47:52 1997 David Mosberger-Tang + + * backend/mustek.c (sane_get_parameters): Correct typo: replace + s->pass with s->params.format. + +Fri Jan 31 16:16:26 1997 David Mosberger-Tang + + * backend/mustek.c (attach): Print debug message when using + special line-distance algorithm. + Enable special line-distance algorithm only for firmware + revisions < 1.02. + Determine fw revision based on INQUIRY result. + +Thu Jan 30 21:22:38 1997 David Mosberger-Tang + + * doc/sane.tex (section{Attaching to a SANE backend}): Rename + metanet -> net, netproxy -> saned, metadl -> dll and update + hierarchy figure as well. Added autolum meta backend as a + filter example. + + * TODO: Rename metanet -> net, metadl -> dll. + + * AUTHORS (Frontends): Rename metanet -> net, metadl -> dll, + mention saned and xcam and sort entries alphabetically. + + * backend/net.c (sane_control_option): Replace all occurances of + metanet with net. + * backend/net.README: Ditto. + Rename env var METANETHOST to SANE_NET_HOST. + + * backend/dll.README: Replace all occurances of metadl with dll. + * backend/dll.c: Ditto. + + * backend/dll.conf: Comment out metanet since it's a bit of a + security risk (no authentication just yet). + + * backend/Makefile.in (CONFIGS): New macro (list of config files) + (install): Change install rule so existing configuration files + are not overwritten. + Replace all occurances of metanet with net. + + (V_MINOR): Bump up to 43. + +Tue Jan 28 08:17:18 1997 David Mosberger-Tang + + * frontend/Makefile (saned): Mention -lsanei before -lsane so + saned does not incorrectly depend on sanei_printf/sanei_scanf in + -lsane (if it happens to define those symbols). + + * backend/metanet.c (sane_init): Rename SANE_Authorization_Callback + to SANE_Auth_Callback. + * backend/mustek.c (sane_init): Ditto. + * backend/pnm.c (sane_init): Ditto. + * backend/metadl.c (sane_init): Ditto. + + * frontend/saned.c (main): Put output socket in TCP_NODELAY mode. + Include of + + * backend/metanet.c (openit): Ditto. + +Mon Jan 27 19:32:29 1997 David Mosberger-Tang + + + * doc/sane.tex (subsection{Device Descriptor Type}): Change vendor + name "None" to "Noname". + * backend/pnm.c (dev): Change vendor name from "noname" to "Noname". + + * include/sane.h (SANE_STATUS_ACCESS_DENIED): New status value. + * sanei/sane_strstatus.c (sane_strstatus): Return appropriate + status string. + + * frontend/xscan.c (scan_dialog): Don't depend on first_frame + when creating image---the old code didn't work for R/G/B-only + frames anyhow, so there is no point pretending. + + * include/sane.h (SANE_Parameters): Rename first_frame to + last_frame. + * backend/metanet.c (sane_get_parameters): Update accordingly. + * backend/qcam.c (sane_get_parameters): Ditto. + * frontend/saned.c (readcmd): Ditto. + * frontend/test.c (testsane): Ditto. + * backend/mustek.c (sane_get_parameters): Set last_frame unless + the current pass is acquiring a red- or green-only frame. + + * doc/sane.tex (subsection{sane_get_parameters)): Change + FIRST_FRAME into LAST_FRAME. + + * backend/metanet.c: Initialize PEER with -1. + (sane_get_select_fd): Return PEER and succeed if not negative. + + * include/netsane.h (ns_printf, ns_scanf, netfd_wr, netfd_rd): + Remove (obsolete). + + * frontend/saned.c: Increase STRBUF size to 32KB to get better + scan_read() throughput. + + * include/sane.h (SANE_Athorization_Callback): Return void + (instead of int) and make USERNAME and PASSWORD (pointers to) + return values. + + * frontend/saned.c (netsane_auth_callback): Update prototype. + + * backend/metanet.c (sane_init): Move assignments out of + if-conditional for clarity (and to avoid gcc warning). + + * sanei/sanei_printf.c: Include , . + + * backend/Makefile.in (libsane-mustek.a): Replace + ../sanei/sane_strstatus.o with appropriately defined EXTRA + macro. + + * backend/mustek.c (attach): Initialize ld.mode to MLD_NORMAL for + all scanners but MFS-12000SP. + (line_distance): In MD_MFS correction mode, do not issue LD + command. + (sane_close): Free s->ld.red_buf if non-NULL. + (fix_line_distance_mfs): New function. + (fix_line_distance_normal): Rename from fix_line_distance(). + (reader_process): In MLD_MFS line-distance mode, call the + mfs-specific routine, not the normal one. + + * backend/mustek.h (Mustek_Scanner): New members ld.red_buf, + ld.green_buf. + (MUSTEK_FLAG_LD_MFS): New flag to indicate when MFS-specific + line-distance correction is needed. + + * backend/metanet.c: Fix up some minor formatting problems due + to indent. + + * Merge in Andy's netsane diffs. + +Sun Jan 26 00:04:22 1997 David Mosberger-Tang + + * frontend/xscan.c (zoom_in_preview): Ignore selections of zero + or negative width/height. + (set_max_selection): Use SANE_UNFIX() instead of open coding. + Adapted to use gtkglue. + + * backend/metadl.c (sane_init): Grab authorization callback. + (authorization_callback): New variable. + (load): Pass authorization callback to init function. + + * frontend/gtkglue.h (gsg_destroy_dialog): Add param_callback. + +Sat Jan 25 17:35:52 1997 David Mosberger-Tang + + * frontend/Makefile.in (distclean): Mention $(TESTPROGRAMS). + + * backend/metanet.c (copy_opt): Fix constraint-length computation. + + * backend/metadl.c (sane_get_devices): Pass along LOCA_ONLY arg + to backend. + + * frontend/xcam.c (main): Remove extraneous calls to gtk_exit() + and sane_exit(). + + * frontend/scan.c (main): Install sane_exit() as atexit handler. + + * backend/metadl.c (sane_get_devices): Ignore NULL BE_LIST. + + * frontend/saned.c (quit): New function. + (main): catch SIGALRM, and SIGPIPE. + + * backend/metanet.c (sane_get_devices): Return empty list of + LOCAL_ONLY is TRUE. + + * frontend/saned.c (readcmd): Don't take LOCAL arg from + request---always pass SANE_TRUE! + + * doc/netprotocol.doc (sane_get_devices): Don't need LOCAL arg. + + * include/sanei.h: Include . + + * frontend/test.c (testsane): Print status message instead of + status code and make robust against failed calls. Use fprintf(stderr + instead of printf. + + * backend/qcam.c (reader_process): Remove extraneous arg. + (reader_process): Declare `static' to make setjmp() safe. + + * frontend/saned.c (readcmd): Delete unused variable schr_hlp. + (peerfp): New variable. + Rename ns_printf() to sanei_printf() and pass peerfp arg. + Rename ns_scanf() to sanei_scanf() and pass peerfp arg. + (say_helo): Make peerfp refer to fd 0. + + * backend/metanet.c (openit): Return FILE*, not socket. + (openit): Return 0, not -1 in case of failure. + (peerfp): New variable. + Rename ns_printf() to sanei_printf() and pass peerfp arg. + Rename ns_scanf() to sanei_scanf() and pass peerfp arg. + + * sanei/sane_strstatus.c: New file (in lieu of backend/sane.c) + * sanei/sanei_constrain_value.c: Ditto. + * sanei/sanei_init_debug.c: Ditto. + + * sanei/sanei_scanf.c (ns_scanf): New file (based on Andy's + ns_scanf). + Use int8_t for 'c', int32_t for 'd'. + Include . + + * sanei/sanei_printf.c (sanei_printf): New file (based on Andy's + ns_printf). + Use int8_t for 'c', int32_t for 'd'. + Include . + + * include/netsane.h (CMD_SANE_STRS): Remove. + + * backend/metanet.c: Include + (sane_strstatus): Remove. + + * backend/Makefile.in (BACKENDS): Mention libsane-metanet. + + * backend/metanet.c (openit): Use memcpy instead of bcopy. Use + inet_aton() instead of inet_addr(), don't prototype. + (sane_get_devices): Use strdup() instead of opencoding it. + (sane_get_devices): Don't append " (NS)" to modelname! Metanet + already prefixes the devicename with netsane, which is good + enough. + + * backend/sanei.h (IF_DBG): New macro. + + * PROJECTS (Backend): Mention saned, metanet, and autoadj. + (Frontend): New info. + + * AUTHORS: Update to reflect sanescan -> xscan namechange. + Credit Andy for netsane. + +Fri Jan 24 00:01:45 1997 David Mosberger-Tang + + * doc/sane.tex (subsection{\code{sane\_get\_option\_descriptor}}): + Define how long the returned option descriptor must remain valid. + + * frontend/gtkglue.c (autobutton_update): Check for + SANE_INFO_RELOAD_OPTIONS. + (button_update): Ditto. + + * frontend/xcam.c (main): Add device info label. + + * backend/mustek.c (init_options): Make OPT_BRIGHTNESS and + OPT_CONTRAST inactive by default. + + * frontend/xcam.c (exit_callback): Only call gsg_destroy_dialog() + if dialog is non-null. + +Thu Jan 23 00:17:46 1997 David Mosberger-Tang + + * backend/mustek.c (sane_control_option): Return + SANE_STATUS_DEVICE_BUSY when attempting to set option during + scanning. + (sane_close): Call do_cancel(), not sane_cancel(). + (sane_start): Ditto. + + * backend/pnm.c (sod): Rename "File" group to "Source Selection". + + * frontend/xcam.c (device_name_dialog_cancel): New function. + (device_name_dialog_ok): Ditto. + (prompt_for_device_name): Ditto. + (build_device_menu): Move "Rescan devices..." from build_files_menu() + to here. Add "Specify device name..." entry that invokes + prompt_for_device_name. + (play_stop_button): Ignore call if there is no device_dialog yet. + (main): Don't attempt to set preview size if there is no device + dialog yet. + + * frontend/gtkglue.c (text_entry_callback): Don't ignore tab + key---it's used to switch focus! + + * backend/qcam.c (qc_wait): Return read value so optimizer won't + be able to get rid of it easily. + (qc_lock_wait): Use same lockname as qcam-0.7d for + interoperability. + (reader_process): Explicitly do an enable_ports() in the reader + process. Linux/x86 doesn't inherit i/o port access rights. + + * frontend/xcam.c (stop_camera): New function. + (input_available): Use stop_camera(). + (next_frame): Ditto. + + * backend/genscsi.c (genscsi_open): Add missing DBG_INIT(GENSCSI). + (genscsi_cmd): Return SANE_STATUS_DEVICE_BUSY if EBUSY is + returned. + + * frontend/xcam.c (input_available): Fix line wrap for + SANE_FRAME_GRAY. + + * include/sane.h: Remove old SANE_STATUS_AGAIN. + * backend/sane.c (sane_strstatus): Ditto. + * backend/mustek.c (sane_read): Return SANE_STATUS_GOOD, not AGAIN + when no data available. + (sane_start): Add debug printing. + (sane_set_io_mode): Fix typo: return SANE_STATUS_GOOD on success. + + * backend/mustek.c (sane_control_option): Add support for + OPT_BACKTRACK. + (attach): Add lots of debug printing. + + * backend/qcam.README: New file. + + * backend/qcam.c (sane_control_option): Allow changing resolution + while scan is in progress, but set RELOAD_OPTIONS only if not + scanning already. + + * frontend/xcam.c (canvas_events): Get rid of old debug messages. + + * backend/qcam.c (sane_get_parameters): Update parameters only if + not scanning. This makes it possible to change certain options + (such as width/height while a scan is in progress). + (sane_control_option): Allow changing of image corners, + transfer-scale, and depth while scan is in progress. Set + RELOAD_PARAMS only if scan is not in progress. + (sane_start): Return DEVICE_BUSY if scan is in progress. + + * configure.in (PACKAGE_VERSION): Version 0.41 released. + + * backend/qcam.c (brightness_range): New variable. + (init_options): Use brightness_range instead of u8_range to + avoid going into bulb-mode accidentally. + +Wed Jan 22 09:16:21 1997 David Mosberger-Tang + + * backend/qcam.c (reader_process): Correct typo: it's buf, not + buffer that we want to write out in high-res mode. + (qc_reset): New function. + (reader_process): Send at least one byte of data after receiving a + signal. + (sighandler): New function. + (sane_cancel): If a read request is outstanding, cancel request by + (a) sending SIGINT to reader process, (b) reading one byte of data + in blocking mode, and then (c) reading whatever is left in the + pipe in non-blocking mode. + (sane_read): Return SANE_STATUS_CANCELLED if SCANNING is not set. + + * backend/qcam.h (QC_Scanner): Remove unused x/y fields. + + * backend/qcam.c (sane_close): Call disable_ports(). + (sane_init): Replace isblank() with isspace() (former is a GNU + extension). + (sane_control_option): Scale corner coordinates when switching + resolution and ensure they're always legal values. + (sane_close): Check for reader_pid >= 0 not != 0! + (sane_exit): Move disable_ports () from sane_close to here. + (sane_start): Keep track of when we're holding lock. + (sane_read): Release lock if s->holding_lock is TRUE and we + read a few bytes. + (sane_cancel): Release lock if it's being held. + + * backend/qcam.c: Clean up unused variables. + +Tue Jan 21 13:49:00 1997 David Mosberger-Tang + + * backend/qcam.c (sane_control_option): Keep track of changes to + option values. + (sane_get_select_fd): Implemented. + (sane_set_io_mode): Ditto. + (reader_process): New function. + (sane_start): Modify to use reader_process(). + + * backend/qcam.h: (struct QC_Scanner): New field value_changed. + +Mon Jan 20 22:11:11 1997 David Mosberger-Tang + + * backend/metadl.c (sane_open): Correctly handle case where + backend name is empty. + +Sun Jan 19 10:29:43 1997 David Mosberger-Tang + + * backend/qcam.c (attach): Add qc_wait() calls after each + write_lpcontrol() call to ensure reliable communication. + (attach): Add debug output in case of failure. + + * Version 0.4 released. + +Sat Jan 18 10:12:40 1997 David Mosberger-Tang + + * frontend/xscan.c (get_scan_size): Handle case where scan + width/height is of type SANE_TYPE_INT. + (get_scan_size): If width/height unit is pixels and the height is + less than 500 pixels, use a ratio of 1. + (device_dialog): Call update_complete_dialog() to ensure inactive + options do not show (there probably is a better solution to this). + + * frontend/scan.c (main): Compute bottom-right position as + top-left + width/height - 1 (the - 1 is new and necessary and + works both for fixed and integer values). + (print_option): Insert line-break when column >= 79 (not 80) to + leave last column blank (better when running inside Emacs, for + example). + (main): Fix typos: case 't': window[2] -> window[3], switch short + option names for top/left. + (print_option): Print current option values (except for vectors). + (fetch_options): Another off by one bug: width is br_x|y-tl_x|y+1. + +Thu Jan 16 20:26:29 1997 David Mosberger-Tang + + * backend/sane.c (sanei_constrain_value): Fix so it properly + handles strings that are longer than any of the strings in a + string list. + + * frontend/scan.c (main): Subtract value of top-left-x/top-left-y + from width/height, respectively after all options have been + read in. + (main): Print help message _after_ options have been processed. + (fetch_options): New function. + (set_option): Call fetch_options() if SANE_INFO_RELOAD_OPTIONS is + set. + (main): Call fetch_options() instead of open-coding same. + + * doc/sane.tex (subsection{Device Descriptor Type}): Add index + entry for device-name. + +Wed Jan 15 19:55:03 1997 David Mosberger-Tang + + * backend/metadl.c (sane_init): Call DBG_INIT() and declare + debug level variable with DBG_DECL. Added various debug + statements. + + * backend/pnm.c (sane_init): Ditto. + * backend/mustek.c (sane_init): Ditto. + + * frontend/scan.c (parse_scalar): Default to mm again (instead of + cm). Using `mm' as the default is counter-intuitive since the + help info is printed with `mm' as the unit. + + * frontend/xscan.c (main): Pass local_only==SANE_FALSE as second + argument to sane_get_devices(). + +Sun Jan 12 13:12:45 1997 David Mosberger-Tang + + * backend/sane.c (sanei_constrain_value): For string-lists, ignore + case and allow prefixes as long as they remain unique. + + * frontend/scan.c (print_option): Print "auto" as a legal option + value if the option has capability SANE_CAP_AUTOMATIC set. + (process_backend_option): If option has SANE_CAP_AUTOMATIC set, + let option value of "auto" turn on automatic mode. + +Wed Jan 8 19:55:31 1997 David Mosberger-Tang + + * backend/Makefile.in (install): Modify install rule so that + $(libdir) gets added to /etc/ld.so.conf if it isn't there + already. + (COMPILE): Use $(SHCFLAGS) instead of $(CFLAGS). + (LINK): Remove (unused). + +Wed Dec 25 20:21:39 1996 David Mosberger-Tang + + * backend/mustek.README: Add section "SCSI Adapter Tips". + +Fri Dec 13 20:02:03 1996 David Mosberger-Tang + + * backend/mustek.c (line_distance): Rename + LINE_DISTANCE_WORKAROUND to NEED_MUSTEK_LINE_DISTANCE_WORKAROUND. + Include . + +Thu Dec 12 20:19:26 1996 David Mosberger-Tang + + * backend/mustek.h (next): New member. Forms linked list of open + handles. * backend/mustek.c (first_handle): New variable. Root + of list of open handles. + (sane_open): Insert handle into list of open handles. + (sane_close): Remove handle from list of open handles. + +Wed Dec 4 18:37:45 1996 David Mosberger-Tang + + * backend/mustek.c (attach): Added back MFS-12000SP, MFS-08000SP, + and MFS-06000SP. At least the first one really does exist. I + don't know how the differ from the other scanners, but it looks as + if line-distance correction might be different. + +Tue Dec 3 21:22:54 1996 David Mosberger-Tang + + * backend/sane.c (sane_strstatus): Remove trailing dot from error + message. + +Mon Dec 2 19:12:53 1996 David Mosberger-Tang + + * backend/mustek.c (max_string_size): New function to determine + maximum size of a string constraint list. + (init_options): Use max_string_size () to initialize size of + string-valued options. + +Sun Dec 1 15:44:53 1996 David Mosberger-Tang + + * Version 0.1 released. + + * backend/mustek.c (attach): Fix mispelled/bad model names: + MFS-12000SP -> MSF-12000SP + MFS-08000SP -> MSF-08000SP + MFS-06000SP -> MSF-06000SP + MFS-08000CZ -> + MFS-06000CZ -> + +Tue Nov 26 19:11:18 1996 David Mosberger-Tang + + * frontend/scan.c (print_option): Separate option name from option + values by blank, not equal so the syntax is correct even for short + options. + (parse_scalar): Added missing newline to error message. + +Sat Nov 16 17:26:19 1996 David Mosberger-Tang + + * frontend/scan.c (main): Created (by Andy). + + * backend/pnm.c: Adapted from Andy's pnm.c (just minor updates). + + * backend/mustek.c: Created. + * backend/metadl.c: Ditto. diff --git a/ChangeLogs/ChangeLog-1.0.1 b/ChangeLogs/ChangeLog-1.0.1 new file mode 100644 index 0000000..c83de5d --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.1 @@ -0,0 +1,448 @@ +1999-04-19 David Mosberger-Tang + + * Version 1.0.1 released. + + * backend/artec.c (attach): Applied patch by Petter to fix URL in + debug output. + + * backend/microtek2.c (chunky_proc_data): Apply Bernd's latest + patch to fix some color problems. + +1999-04-17 David Mosberger-Tang + + * Patch by Mikko Työläjärvi: + * sanei/sanei_scsi.c: Check for cam_devices[fd]==NULL, not !=NULL. + + * Patch from Petter: + * config.guess: Update to latest version. + * config.sub: Update to latest version. + * config.install-sh: Update to latest version. + * mkinstalldirs: Update to latest version. + +1999-04-12 David Mosberger-Tang + + * doc/sane-dc25.man: Apply fixes by Peter Fales + . + * backend/dc25.c: Apply patch by Peter Fales. + +1999-04-11 David Mosberger-Tang + + * include/sane/config.h.in: Declare return type of strdup(), + strndup(), and strsep() if these functions are not part of the + standard libc. This breaks the GNU convention of not declaring + standard C library functions but is required in these cases + because the functions return pointers. On a 64 bit platform, bad + code is generated if a function is (implicitly) declared to return + an "int" and then returns a pointer. To minimize the risk of + compile errors due to conflicting prototypes, we don't specify a + prototype though (just the return type). + + * backend/dll.conf: Comment out dc25 and dc210 backends as those + are VERY slow to initialize when no camera is attached. + + * backend/epson.desc: Add Epson GT-7000. + +1999-04-06 David Mosberger-Tang + + * backend/sharp.c (sane_read_shuffled): Declare as "static". + (sane_read_direct): Ditto. + Applied latest patch by Kazuya and Abel. + + * sanei/sanei_scsi.c [USE == FREEBSD_CAM_INTERFACE]: Fix bugs + (patch by Mikko Tyo"la"ja"rvi ). + + * backend/snapscan.c (start_reader): Don't redirect scanner file + descriptor to fd 0 (needlessly breaks FreeBSD and other platforms + that don't use real file descriptors for the scanner. + + * backend/microtek2.c: Apply Bernd's patch to fix "green-ness" + bug. + + * backend/umax.BUGS: Applied Oliver's latest patch. + * backend/umax.CHANGES: Ditto. + * backend/umax.FAQ: Ditto. + * backend/umax.TODO: Ditto. + * backend/umax.c: Ditto. + * backend/umax.desc: Ditto. + * doc/sane-umax-doc.html: Ditto. + * doc/sane-umax-doc.tex: Ditto. + * doc/sane-umax-doc.man: Ditto. + +1999-04-06 Petter Reinholdtsen + + * backend/snapscan.c (sane_exit sane_get_devices): Removed memory + leak. + (sane_open): Give more sensible error message when unable to open + temp file. Open temp file in /var/tmp, not in current directory. + (mini_inquiry add_device): Make sure to only match listed models. + Earlier, substrings would also match. + + * backend/snapscan.c (sane_snapscan_*): Changed API entries from + sane_snapscan_* to sane_*. + + * backend/snapscan.c (add_device init_options inquiry + sane_snapscan_get_parameters sane_snapscan_start + sane_snapscan_set_io_mode sane_snapscan_read) backend/snapscan.h + backend/snapscan.desc: Rewrote scanner detection code to loop over + array of supported SCSI names. Added AGFA SnapScan 1236s support. + It seems to be compatible with SnapScan 600. + Make sure to not add the same device more then once to the device + list. Bugfix in sane_snapscan_read() triggered on EOF. + +1999-04-04 David Mosberger-Tang + * PROBLEMS: Note that /proc/sys/kernel/sg-big-buff is available + since Linux kernel v2.2. + + * backend/agfafocus.desc: Changed status from "new" to "alpha". + * backend/hp.desc: Ditto. + + * backend/microtek2.desc: Increase version number to 0.6. + +1999-04-04 Petter Reinholdtsen + * PROBLEMS: Updated note on SG_BIG_BUF. + * tools/README: Corrected typo. Added some notes on + mustek600iin-off. + * tools/mustek600iin-off.c: Remove hardcoded path to mustek.conf. + +1999-04-03 David Mosberger-Tang + + * include/sane/sanei_debug.h: Define sanei_debug_BACKEND_NAME only + if STUBS is not defined. + + * backend/microtek2.h: #ifdef out do_dummy_scan. + + * backend/Makefile.in (V_REV): New variable. + + * configure.in (V_REV): New variable. + (VERSION): Include ${V_REV} in vesion number. + Substitute V_REV. + + * backend/umax.c (umax_do_request_sense): Make "static". + + * backend/canon.h: Move array "option_name"... + * backend/canon-sane.c: ...to here and make "static". + + * backend/pnm.c: Rolled back to version that shipped with + sane-0.74. The scan area options were not well implemented. If + someone wants to fix that code, the previous (unreliable) version + of the PNM backend is in backend/pnm.c-bad. + + * doc/sane.tex (subsection{Resolution Option}: Remove section + 4.5.5---it was a duplicate of section 4.5.2 (Scan Resolution + Option)! + + * backend/microtek2.c (chunky_proc_data): Merge in latest changes + from Bernd. + +1999-04-02 David Mosberger-Tang + + * backend/net.c (sane_control_option): Ignore the option size + of BUTTONs and GROUPs as required by section 4.2.9. (Bug + reported by Nick Lamb). + + * frontend/xscanimage.c (null_print_func): Declare MSG param + as "const" to match declaration of glib-1.2.1. + + * backend/ricoh.c (attach_one): return SANE_STATUS_GOOD. + + * backend/microtek2.c (do_dummy_scan): #ifdef out since it + seems to be used for debugging only. + + * backend/hp-option.c (_probe_int): Needed only if HP_EXPERIMENTAL + is defined. + + * backend/coolscan.c: Updated with Didier's latest patch. + + * backend/mustek.c: Applied Andreas's latest patch. + + * doc/sane.tex (subsection{Device Descriptor Type}): Add AGFA. + + * doc/net.tex (subsection{Primitive Data Types}): Clarify that + SANE_Char is encoded as ISO LATIN-1 and describe SANE_String + encoding (patch by Petter). + + * frontend/saned.c (DBG): Remove extraneous parens around "msg". + + * AUTHORS (Frontends): Update David Skoll's email address. + + * frontend/saned.c (get_free_handle): Check for out of memory + situations and initialize newly allocated memory. + (auth_callback): Fail when we can _not_ authorize (i.e., + !can_authorize), not the other way round. + (quit): Make sure quit() gets executed only once. + + * backend/microtek2.c: Updated with Bernd's latest version. + * backend/microtek2.h: Ditto. + + * backend/st400.desc: New file. + + * backend/epson.c (sane_open): Check for NULL or empty + dummy_dev.sane.name to avoid segfaults. (Suggested by Yuri + Dario). + + * sanei/sanei_scsi.c [USE = LINUX_INTERFACE]: Make "cdb" last + member in "struct req" and change size of "data" to 1 byte to + allow dynamic sizing of data buffer based on the value of + sanei_scsi_max_request_size. + (sanei_scsi_req_enter): Calculate size of request based on + sanei_scsi_max_request_size. A similar patch was proposed + by Petter Reinholdtsen. + +1999-03-13 Petter Reinholdtsen + + * doc/saned.man: More info on how to use tcp_wrapper for access + control. + +1999-03-08 David Mosberger-Tang + + * backend/microtek2.c (sane_get_select_fd): Remove bogus cast. + Reported by Petter Reinholdtsen. + + * sanei/sanei_config.c: Include . + + * frontend/saned.c: Include . + (MAXHOSTNAMELEN): Define MAXHOSTNAMELEN if necessary. + + * configure.os2 (LN_S): Updated with Yuri's latest version. + + * backend/Makefile.in (install): Use $(LN_S) instead of ln -s. + (libsane-dll.la): Make dependent on $(DLL_PRELOAD_EXTRAS). + (libsane-hp.la): Make dependent on sanei_pio.lo. + + * backend/hp.c (PATH_MAX): Define PATH_MAX if necessary. + + * backend/hp-scl.c (sanei_hp_scsi_pipeout): Add SIGXCPU, SIGXFSZ, + and SIGVTALRM only if defined. + + * backend/dc25.c (PATH_MAX): Define PATH_MAX if necessary. + (sane_init): Move up fclose(fp) to avoid segfault when fp==NULL. + * backend/dc210.c (sane_init): Ditto. + + * backend/pnm.c: Apply Oliver's 4-liner to make TLX, TLY, BRX, and + BRY advanced options. + + * backend/umax.c: Updated with Oliver's latest version. + + * doc/sane-sharp.man: New file (by Kazuya Fukuda). + * backend/sharp.c: Updated with Kazuya's latest version. + * backend/sharp.h: Ditto. + * backend/sharp.desc: Ditto. + +1999-03-04 David Mosberger-Tang + + * backend/canon.c (adjust_hilo_points): Print values of type + size_t as described in backend/GUIDE.. + + * backend/canon-scsi.c: Comment out unused code. + + * backend/canon.c: Updated with Manuel Panea latest version. + + * Irix patches from Michael Sweet: + + * sanei/sanei_scsi.c (sanei_scsi_find_devices): Update with + Michael's latest version. + * configure.in (CPPFLAGS): Don't check for libnsl or libsocket on + Irix. + (CPPFLAGS): Check for cfmakeraw. + * backend/sharp.h (mode_select_param): Remove double semicolon + (some compiler's don't grok those in structure declarations). + * backend/Makefile.in (libsane-abaton.la): Make dependent on + sanei_config2.lo. + * backend/dll.conf: Enable net backend, disable pnm backend by + default to lessen risk of confusing novice users. + * backend/abaton.c (sane_read): Change type of "size" from ssize_t + to size_t. + * backend/apple.c (sane_read): Ditto. + +1999-03-02 David Mosberger-Tang + + * backend/Makefile.in (EXTRA_dc210): New macro. + + * sanei/sanei_ab306.c: Apply usleep() patch by Andreas + Czechanowski. + + * backend/hp.c: Updated with Peter's latest version (v.082). + +1999-03-01 David Mosberger-Tang + + * include/sane/sanei_net.h: Changed copyright on this file (and + this file only!) to be public domain (same as sane.h). This helps + ensuring that independent network implementations remain + compatible. + +1999-02-28 David Mosberger-Tang + + * backend/sharp.c: New file by FUKUDA Kazuya + . + * backend/sharp.h: Ditto + * backend/sharp.conf: Ditto. + * backend/sharp.desc: Ditto. + + * include/sane/sanei_debug.h: Define sanei_debug_BACKEND_NAME + only if BACKEND_NAME is defined. + + * tools/find-scanner.c (main): Add NetBSD device names (patch by + Taniguchi Shinya ). + + * backend/epson.c (attach): Recognize Perfection636 scanner. + Suggested by Svend Daugaard Pedersen . + + * backend/abaton.c (attach_one): Move past attach() to avoid + forward-reference. + + * backend/umax.c (umax_do_request_sense): Make static. + + * backend/snapscan-310.c (rgb_buf_can_get_line): Make static. + (rgb_buf_init): Ditto. + (rgb_buf_clean): Ditto. + (rgb_buf_push_line): Ditto. + (rgb_buf_get_line): Ditto. + (rgb_buf_set_diff): Ditto. + (transfer_data_diff): Ditto. + + * backend/snapscan.c (gamma_8): Make static. + (start_reader): Ditto. + + * backend/microtek.c (do_precalibrate): Make static. + (finagle_precal): Ditto. + (pack_flat_data): Ditto. + (pack_goofyrgb_data): Ditto. + (pack_into_ring): Ditto. + (pack_into_dest): Ditto. + (pack_seqrgb_data): Ditto. + (ring_alloc): Ditto. + (ring_expand): Ditto. + (ring_free): Ditto. + (set_pass_parameters): Ditto. + + * backend/epson.c (epson_cmd): Make static. + + * backend/dc25.c (pp): Make static. + (tmpname): Ditto. + (tmpnamebuf): Ditto. + (tty_baud): Ditto. + + * backend/artec.c (artec_get_status): Make static. + (attach_one): Ditto. + (cap_data): Ditto. + + * backend/abaton.c (mode_update): Make mode_update() static. + * backend/apple.c (mode_update): Ditto. + (gamma_update): Make static. + (xquant): Ditto. + (yquant): Ditto. + + * backend/microtek2.c: Updated with Bernd's v0.6. + Add missing include of . + + * backend/microtek2.h: Ditto. + * backend/microtek2.conf: Ditto. + +1999-02-27 David Mosberger-Tang + + * frontend/preview.c (preview_scan): Fix dpi calculation by + replacing gwidth by gheight. Reported by Manuel Panea. + + * doc/sane-net.man: Change service name from "saned" to "sane". + + * sanei/sanei_scsi.c (MAX_DATA) [FREEDBSD_CAM_INTERFACE]: Change + MAX_DATA from MAXPHYS to (DFLTPHYS - PAGE_SIZE). Patch by + Parag Patel . + + * AUTHORS (Backends): Updated Peter's email address. + + * PROJECTS: Updated Peter's home page URL. + + * backend/snapscan.c (EXPECTED_MAJOR): Update EXPECTED_MAJOR to 1. + + * include/sane/sane.h (SANE_CURRENT_MAJOR): SANE_CURRENT_MAJOR and + V_MAJOR HAVE to be in sync, so I'm forced to fix SANE_CURRENT_MAJOR + now. Embarassing, but fortunately only the snapscan backend seems + affected by this change. + + * backend/dll.c (load): Use SANE_CURRENT_MAJOR, not V_MAJOR (the + latter is used for shared lib versioning). + + * tools/find-scanner.c (main): Make verbose output a bit + friendlier (patch by Petter). + + * backend/umax.c: Updated with Oliver's latest version (v1.0c). + + * Patch by Mike Sweet: * backend/Makefile.in (libsane-ricoh.la): + Make dependent on sanei_config2.lo. * sanei/sanei_scsi.c + (sanei_scsi_find_devices): New function. + (WE_HAVE_FIND_DEVICES): Define. * frontend/saned.c (check_host): + A "+" in saned.conf now matches any remote host (may be a bit + dangerous, so use this judiciously). * frontend/gtkglue.c: + Include . * backend/hp-accessor.c (hp_data_alloc): + Round size up to a multiple of sizeof(long) to avoid alignment + problems. * backend/abaton.h: Remove extraneous comma in enums. + * backend/artec.conf: Add "scsi ULTIMA" line. * + backend/abaton.conf: Add "scsi ABATON" line. * + backend/epson.conf: Add "scsi EPSON" line. * backend/ricoh.conf: + Add "scsi RICOH IS60" line. * backend/snapscan.conf: Add "scsi + AGFA" and "scsi COLOR" line. * backend/tamarack.conf: Add "scsi + TAMARACK" line. * backend/abaton.c (sane_init): Fix fall back + code to attach /dev/scanner when ABATON_CONFIG_FILE doesn't exist. + (sane_init): Use sanei_config_attach_matching_devices(). + (attach_one): New function. + * backend/hp-device.c (sanei_hp_device_probe): Mention model + 6250C. + + * backend/saned.conf: Remove the stale comments about hostname + matching being case-sensitive. + + * backend/microtek.h: Updated with Matto's v0.10.1. + + * backend/mustek.c (send_gamma_se): Apply patch by Wilco Oelen + to clip gamma values to range 0..255. + + * backend/artec.desc: Updated with Chris Pinkham's latest version. + + * backend/umax.c (PATH_MAX): Do conditional define of PATH_MAX + _after_ including all the headers to avoid "duplicate define" + warning message. + + * backend/ricoh.h: Include to get #define for + "inline" if necessary. + + * backend/dc210.c (init_dc210): To send break, use tcsendbreak() + if available or TCSBKRP or TCKSBRK ioctl() if available or fall + back to doing nothing if none of these are supported. This may + cause the backend to work incorrectly on platforms that do not + support one of the above methods for sending a break, but at least + it will compile that way. + +1998-12-12 David Mosberger-Tang + + * backend/hp.desc: Updated with Peter's latest version. + +1998-11-30 David Mosberger-Tang + + * LICENSE (terms): Add a pointer to backend/djpeg.README.gz. + + * backend/djpeg.README.gz: New file (required to comply with JPG + licensing restriction). + + * backend/snapscan.c (sane_snapscan_start): Use INT_MAX instead + of non-portable MAXINT. + Don't include Linux-specific . + +1998-11-26 David Mosberger-Tang + + * doc/sane.tex (subsection{Device Descriptor Type}): Consistently + use "Noname" (instead of None/Noname) to indicate the absence of + a vendor. + (subsection{sane_strstatus}): Define how long the returned string + is valid. + (section{Code Flow}): Clarify that sane_cancel() has to be called + even if read returns SANE_STATUS_EOF. + +1998-11-22 David Mosberger-Tang + + * backend/ricoh.h (_4btol): Replace "__inline" by "inline". + + * backend/abaton.c (sane_control_option): Assign word values to + s->val[foo].w not s->val[foo]. The latter compiles on gcc-2.7.2.3 + without warning but causes an error on other compilers (e.g., + egcs). diff --git a/ChangeLogs/ChangeLog-1.0.10 b/ChangeLogs/ChangeLog-1.0.10 new file mode 100644 index 0000000..a4325a3 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.10 @@ -0,0 +1,890 @@ +****** Release of sane-backends 1.0.10. End of code freeze ****** + +2003-02-01 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Artec AM12e+. + +2003-01-31 Henning Meier-Geinitz + + * configure configure.in: New version: 1.0.10. Disabled warnings for + release. + * doc/Makefile.in: Added plustek to list of directories. + +2003-01-31 Gerhard Jaeger + * doc/plustek/Plustek-USB.txt: Added comment about scanner.o + * backend/plustek.c backend/plustek-devs.c backend/plustek-usb.h + backend/plustek-usbshading.c: Fixed major bug, that avoid proper + shading on CCD-devices like HP 2200C. Fixed also CanoScan 1220 + settings, as the current ones didn't work + +2003-01-30 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Canon, Fijitsu and Prolink + scanners. + +2003-01-29 Henning Meier-Geinitz + + * frontend/saned.c: Fixed severe bug in saned that allowed a + remote frontend to crash saned (null pointer derefence) if no + scanners are connected. + +---- CODE FREEZE FOR SANE 1.0.10 --- +-- snapshot 1.0.10-pre3 + +2003-01-26 Henning Meier-Geinitz + + * po/sane-backends.de.po po/sane-backends.es.po po/sane-backends.fr.po + po/sane-backends.pt.po po/sane-backends.ru.po po/sane-backends.sv.po: + Minor updates due to backend changes. + * TODO: Added icc problem. + * NEWS: Updated. + +2003-01-25 Jochen Eisinger + + * sanei/sanei_pa4s2.c: added some #ifdefs to make it compile with + the Intel C++ Compiler (icc). + * backend/mustek_pp.c: fixed some character encoding issues in + debug messages + * README.linux: added a note about the Intel C++ Compiler + +2003-01-24 Jochen Eisinger + + * backend/mustek_pp_ccd300.c: continued on the CCD low-level driver. + There is still some bug in it, that keeps it from actually scanning + something... + +2003-01-24 Jochen Eisinger + + * doc/descriptions/mustek_pp.desc: added supported scanners + +2003-01-24 Henning Meier-Geinitz + + * backend/bh.c backend/coolscan.c: Minor conversion fixes (from + Andrea Suatoni ). + * backend/test.c: Use "Color pattern" consistantly. + * acinclude.m4 aclocal.m4 configure configure.in + include/sane/config.h.in: Declare prototypes for all functions that + may miss on some platforms. + * doc/descriptions/unsupported.desc: Added Mustek parport scanners. + Added more information for Primascan Colorado 2600u. + * TODO: Updated Irix patches and desc section. + +2003-01-24 Gerhard Jaeger + * doc/plustek/Plustek-USB-TODO.txt + doc/plustek/Plustek-USB.txt + Documentation update + * doc/descriptions/plustek.desc: status updates + * backend/plustek.conf fixed options + * backend/plustek.c backend/plustek-devs.c backend/plustek-usb.c + backend/plustek-usbhw.c backend/plustek-usbimg.c + backend/plustek-usbscan.c backend/plustek-usbshading.c + backend/plustek.h backend/plustek-usb.h + Minor fixes and prototype description updates, code cleanup + +2003-01-23 Karl Heinz Kremer + + * doc/descriptions/epson.desc: Added Perfection 3200/GT-9800 + +2003-01-23 Andras Major + + * backend/doc/sane-coolscan2.man: added a .TP that mysteriously + vanished + +2003-01-23 Andras Major + + * backend/coolscan2.c: hack for IR readout with LS-4000. + +2003-01-23 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Primax/Visioneer Primascan + Colorado 2600u and UMAX Astra 4500. + +2003-01-22 Karl Heinz Kremer + + * doc/descriptions/epson.desc: Corrected syntax for GT-6000 entry + +2003-01-22 Henning Meier-Geinitz + + * sanei/Makefile.in: Fixed regeneration of libsanei.a when the object + files were changed. + * sanei/sanei_usb.c: Scanning for devices is now done in + sanei_usb_init instead of every time when sanei_usb_find_devices is + called. Also only devices that really exist are opened. These + changes fixe the slow detection of devices on systems using devfs or + old scanner drivers. + +2003-01-21 Karl Heinz Kremer + + * doc/descriptions/epson.desc: Added "SCSI" to GT-6000 entry + +2003-01-21 Eddy De Greef + + * backend/mustek_pp_cis.c: compile warning fix and minor debug + message fixes. + * doc/sane-mustek_pp.man: updated supported scanner list and + typo fixes. + +2003-01-21 Henning Meier-Geinitz + + * configure configure.in: Adjusted test for sparc64 to disable + SCSI generic v3. + +2003-01-20 Karl Heinz Kremer + + * doc/descriptions/epson.desc: Replace :new with :alpha + +2003-01-19 Karl Heinz Kremer + + * backend/epson_usb.c: Added USB product IDs for MFDs. + * doc/descriptions/epson.desc: Updated version number, added + entries for MFDs. + * doc/sane-epson.man: Added MFDs. + +-- snapshot 1.0.10-pre2 + +2003-01-18 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Removed + wrong "untested" flag from Mustek AE USB and Lexmark X70/X73 + scanners. + * po/sane-backends.de.po po/sane-backends.es.po po/sane-backends.fr.po + po/sane-backends.pt.po po/sane-backends.ru.po po/sane-backends.sv.po: + Regenerated. + +2003-01-17 Henning Meier-Geinitz + + * configure configure.in include/sane/config.h.in sanei/sanei_scsi.c: + Disable the new Linux SG interface for sparc64 to work-around 32 bit + userland / 64 bit kernel problems. + * doc/descriptions/unsupported.desc: Added HP ScanJet 3500c, 3530c, + 3570c, 3570cxi, 5500C and Microtek ScanMaker 3800. Updated link for + ScanJet 4470C. + * TODO: Added links to hp4200 backend. Removed libusb entry, parport + compilation problems, SCSI on sparc64 issue, USB on BSD problems. + +2003-01-16 Frank Zago + + * backend/leo.c doc/descriptions/leo.desc doc/leo/leo.txt: Added + another scsi string for the fs-1130. + +2003-01-16 Henning Meier-Geinitz + + * backend/microtek2.c backend/microtek2.h: Bugfix for the X12USL + (solved problems >600dpi), one for lineart mode with a 6400XL + and one for Scanmaker 5 (crashes at sendgamma). From Karsten Festag + . + +2003-01-15 Henning Meier-Geinitz + + * sanei/sanei_usb.c: Don't call usb_clearhalt and usb_set_altinterface + to avoid errors on Mac OS X. + * doc/descriptions/unsupported.desc: Added HP 5490c. + +2003-01-14 Henning Meier-Geinitz + + * NEWS: Updated list of backends. + * doc/sane-usb.man: Added remark about old name of usbfs. + * doc/descriptions/unsupported.desc: Added Artec Ultima 2000 (0x4001 + model), Canon CanoScan D660U, Compaq S200, Epson Perfection 660, + HP ScanJet 4570C, Microtek ScanMaker 3630. Updated ScanJet 5400C and + 5470C URLs, Canon FB1210 information. + +2003-01-13 Jochen Eisinger + + * backend/mustek_pp*, backend/Makefile: merged all mustek_pp + related files into one compile unit and removed illegal symbols + +2003-01-13 Gerhard Jaeger + + * doc/descriptions/unsupported.desc: Added HP ScanJet 2300C and various chipset + information for the unsupported Plustek devices + * doc/descriptions/plustek.desc: cleanup + + +---- FEATURE FREEZE FOR SANE 1.0.10 --- +-- snapshot 1.0.10-pre1 + +2003-01-12 Jochen Eisinger + + * doc/sane-mustek_pp.man, doc/descriptions/mustek_pp.desc, + backend/mustek_pp*: replaced the old mustek_pp backend with + version 12-alpha. This version fully supports CIS scanners but + removes support for 600dpi CCD scanners and the 300dpi CCD + support isn't yet working. In contrary to the old backend, this + version is based on information provided by Mustek. For now, + the backend exports lots of illegal symbols, this will be fixed + before code freeze. Also the .desc file is empty and will be updated + soon. + * AUTHORS: added Eddy De Greef who wrote the CIS hardware driver part + +2003-01-12 Abel Deuring + * backend/sharp.*: fixed a segfault, when the SCAN command returned + an error; optional "relaxed" handling of transparency unit errors. + +2003-01-12 Gerhard Jaeger + + * doc/descriptions/plustek.desc: Removed the unsupported stuff + * doc/descriptions/unsupported.desc: Removed OpticPro 16B. + +2003-01-12 Michael Herder + + * doc/descriptions/artec_eplus48u.desc: Added new + models. + +2002-01-11 Jochen Eisinger + + * sanei/sanei_pa4s2.h: prepared sanei for use with fork()ing + backends + +2003-01-11 Gerhard Jaeger + + * doc/descriptions/plustek.desc: Update to reflect the currently + supported decvices. + * doc/descriptions/unsupported.desc: Added some Plustek devices. + CanoScan N1220U is now supported by the Plustek backend. + * doc/plustek: Added this directory to store various Plustek + information files. + +2003-01-11 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc + doc/descriptions-external/primax.desc: Some Primax scanners (and + clones) are now supported by the primax backend. + * backend/microtek.c backend/microtek2.conf backend/microtek2.h: + OPT_THRESHOLD fix. Avoid using "_" in option names. Set more + options in microtek2.conf to on by default. From Karsten Festag + . + * tools/sane-desc.c: Fixed overwrite warnings. Minor DBG message fixes. + Fixed priority handling (backend and manpage were overwritten even if + a model had a lower priority). + * tools/README: Updated sane-find-scanner and sane-desc.el entries. + * doc/sane-gt68xx.man doc/sane-mustek_usb.man: Updated status for the + BSDs. + +2003-01-10 Henning Meier-Geinitz + + * po/sane-backends.pt.po: Even more Portuguese translations from + Pedro Morais . + * sanei/sanei_usb.c: Comment out resetep at sane_close. This + function sets th USB data toggle only on the host side. + * TODO: Removed microtek2 problem, updated Irix patch section and + Linux/Sparc section. + * NEWS: Updated for 1.0.10. + * backend/mustek.c: Removed hardcoded option size. + +2003-01-10 Gerhard Jaeger + + * TODO: Plustek backend now supports libusb, moved appropriate line + to done section. + +2003-01-10 Gerhard Jaeger + + * doc/sane-plustek.man: update to reflect version change + * doc/descriptions/plustek.desc: Added some Canon entries, status updates + * backend/plustek.conf updated options + * backend/plustek.c backend/plustek-devs.c backend/plustek-usb.c + backend/plustek-usbhw.c backend/plustek-pp.c + backend/plustek-usbmap.c backend/plustek-usbimg.c + backend/plustek-usbscan.c backend/plustek-usbshading.c + backend/plustek.h backend/plustek-share.h backend/plustek-usb.h + New version + support for libusb + +2003-01-09 Peter Fales + + * backend/dc210.c, backend/dc240.c: Fix compile failure + on OS/2. + +2003-01-09 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_high.c doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: + Updated manpage and .desc concerning Lexmark X70. Updated manpage + concerning kernel 2.4.21-pre3 containing the 1-endpoint fix. Fixed + A3 USB resolution setting. Updated A3 USB margins (Pedro Morais + ). Added detection of Genius Colorpage Vivid3x. + It's unknown if it works. Updated .desc file. Don't print calib line + warnings by default. + * doc/descriptions/microtek2.desc: Updated (From Karsten Festag + ). + * po/Makefile.in po/sane-backends.pt.po: Added Portuguese translation + for the gt68xx backend (from Pedro Morais ). + * po/sane-backends.de.po: Added some missing translations. Removed some + (wrong) fuzzy translations. + +2003-01-08 Oliver Schwartz + + * doc/descriptions/snapscan.desc: + Added entries for Acer/Benq 310U, 320U, 340U and + Mitsubishi Diamondview 650U + * backend/snapscan.c backend/snapscan.h backend/snapscan-scsi.c + backend/snapscan.conf: Backend version 1.4.18, added support for + Acer/Benq310U, fixed color correction for Agfa SnapScan 300 + +2003-01-08 Henning Meier-Geinitz + + * doc/descriptions/hpsj5s.desc doc/descriptions-external/hp4200.desc: + Use uniform model names for HP scanners. + * doc/descriptions/unsupported.desc: Added Canon CanoScan D1250U2 + and HP ScanJet 4400C. + * po/artec_eplus48u.de.po po/epson.de.po po/epson.ru.po + po/epson.sv.po po/gt68xx.de.po po/matsushita.fr.po + po/matsushita.ru.po po/mustek.de.po po/mustek.ru.po + po/mustek_usb.de.po po/mustek_usb.ru.po po/plustek.de.po + po/plustek.es.po po/plustek.ru.po po/pnm.de.po po/pnm.ru.po + po/sceptre.fr.po po/sceptre.ru.po po/snapscan.de.po + po/snapscan.ru.po po/teco1.fr.po po/teco1.ru.po po/umax.de.po + po/umax.fr.po po/umax_pp.de.po po/umax_pp.fr.po po/umax_pp.ru.po + po/umax.ru.po: Remove per-backend translations. The translations + are now in the per-language sane-backends.??.po files. + * po/saneopts.de.po po/saneopts.es.po po/saneopts.fr.po po/saneopts.ru.po + po/saneopts.sv.po: Remove global saneopts translations. The translations + are now in the per-language sane-backends.??.po files. + * TODO: Updated .desc file, mapages, sanei_usb and OS/2 entries. Removed + entry about po files. + * po/Makefile.in: Remove sane-backends.pot from list of distributed + files. Add microtek2 files. + * backend/microtek2.c backend/microtek2.h: Improved support for + Scanmaker X12USL. Alpha support for Scanmaker 9800XL. Some bugfixes. + (From Karsten Festag ). + * po/sane-backends.de.po: Added translation for microtek2 backend. + (From Karsten Festag ). + +2003-01-07 Peter Fales + + * TODO: Marked dc210/dc240 items as "done" + +2003-01-07 Oliver Rauch + * backend/umax.c: update to build 39 + +2003-01-07 Peter Fales + + * backend/dc210.c, backend/dc240.c: Use a more portable way + of sending "break" on serial ports. + +2003-01-07 Peter Kirchgessner + + * doc/descriptions/hp.desc: Change HP ScanJet to ScanJet + +2003-01-07 Stéphane Voltz + + * doc/sane-umax_pp.man: updates and fixes + * doc/descriptions/umax_pp.desc: change model form HP3200C to + Scanjet 3200C + +2003-01-07 Matthew Duggan + + * backend/canon_pp-dev.c: Improve/fix detection logic. + * doc/descriptions/canon_pp.desc: Bump version number. + +2003-01-06 Peter Fales + + * doc/descriptions/dc25.desc, doc/descriptions/dc210.desc, + doc/descriptions/dc240.desc, doc/descriptions/gphoto2.desc: + Update author information + + * backend/dc25.c: Fix compiler warning + + * backend/dc210.c, backend/dc240.c, backend/dc210.conf, + backend/dc240.conf, backend/gphoto2.conf, backend/dc25.conf: + Irix fixes from mailing list + +2003-01-05 Peter Fales + + * backend/dc25.c: Mailing list fix. Change = to == + dc25/dc20 tests. + +2003-01-05 Henning Meier-Geinitz + + * TODO: Added link to Irix patches. Updated .desc section. + +2003-01-05 Stéphane Voltz + + * backend/umax_pp_low.c: small image quality improvement + * backend/umax_pp.conf: ppdev device is now default option + +2003-01-04 Henning Meier-Geinitz + + * frontend/saned.c: Print version number. + * doc/descriptions/unsupported.desc: Added Genius HR7X Slim, + Visioneer 6200 and Onetouch 8920. + +2002-12-31 Karl Heinz Kremer + + * backend/epson.c: Removed one '//' comment. + +2002-12-31 Henning Meier-Geinitz + + * doc/descriptions-external/onetouch8600.desc: Added (from PROJECTS). + * doc/descriptions/unsupported.desc: Added list of (known) scanners + that are not supported by a SANE backend. There may be information + about them or even a standaalone program to which the entries point. + * PROJECTS: Removed projects that are now in the .desc files. + +2002-12-30 Henning Meier-Geinitz + + * Makefile.in: Removed configure.os2. + * PROJECTS: Removed HP 2200c project (now supported by plustek + backend). Added "NIASH" keyword to hp3300backend. + * README.darwin: Removed comment about dynamic loading. Added + sm3600 and fork problems. + * acinclude.m4 aclocal.m4 config.guess config.sub configure + configure.in ltmain.sh: Update to latest libtool (1.4.3), config.sub + and config.gues. This should fix the build problems on MacOS X + concerning dynamic loading. + * backend/Makefile.in: Backends shouldn't be linked to sanei_config2 if + they aren't also linked to sanei_scsi. sanei_config2 needs + sanei_scsi. + * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_gt6801.c + backend/gt68xx_gt6816.c backend/gt68xx_high.c backend/gt68xx_high.h + backend/gt68xx_low.h doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Updated ScanExpress 2400 USB values. Added + implementation of gt6801 lamp control for CCD scanners. Added flag for + SE 2400 USB, added some quirks in gt68xx_gt6801.c. Fixed gt68xx_gt6801 + -> lamp control. Adjusted Plustek 1248U geometry and afe values. CCD + gross calibration changed: start with the default value from module + struct. Is faster now for most cases. Only 2.5 mm of calibration for + GT-6801 scanners. Added "afe" option for gt68xx.conf for selecting + default afe values. Removed AFE and exposure SANE options. Added + documentation for afe option in gt68xx.conf. New version: 1.0-35. + * doc/descriptions-external/hp4200.desc + doc/descriptions-external/hpoj.desc: Use Hewlett-Packard consitantly + (instead of HP). + * doc/descriptions-external/scanwit.desc + doc/descriptions-external/viceo.desc: Added description files for + scanwit and viceo backends. + * doc/descriptions-external/tevion9693usb.desc: Removed (now included). + * backend/test.c doc/descriptions/test.desc: Make sure that frontend bugs + concerning the select fd are detected. + * doc/sane-scsi.man: Minor formatting change. + * sanei/sanei_usb.c: Explicitely set first configuration. When claiming + the interface, use the interface number from bInterfaceNumber. + Explicitely set the alternative setting. When closing, call clear_halt, + and reset_ep, and release_interface explicitley. On errors in + write/read, call clear_halt. + * TODO: Added sm3600 issue, htmla manpage issue, sanei_scsi stuff. + Updated desc file, sanei_usb, and MacOSX entries. Deleted sane.tex + stuff (now TODO for SANE2). + +2002-12-28 Karl Heinz Kremer + + * Added option to display short resolution list to. + +2002-12-07 Henning Meier-Geinitz + + * doc/sane-scsi.man: The "scsi ..." way of specifying devices is not + Linux-only. Some minor formatting updates. + * TODO: Added entries for "missing" scanners in desc files: snapscan + and epson. Added sanei_usb issues. Updated MacOS X and OS/2 porting + issues. + * README.darwin: Updated. + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_high.c backend/gt68xx_high.h backend/gt68xx_low.c + backend/gt68xx_low.h doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: + Coarse calibration for first scan only" is off by default now. Added gamma + table factor option (SANE_CAP_EMULATED). Setup gamma to 2.0 by default. + Fixed (hopefully) sigpipe when cancelling. No geometry quantization anymore + (not necessary). Plustek 1248U: do linemode for every resolution, fix color + correction. Added comments for every Model member in gt68xx_devices. + Added Plustek UT16B and Genius Vivid3x to .desc. Added implementation for + inverted offset for CCD scanners. Added Mustek ScanExpress 2400 USB. Well, + at least it's detected. Added NEW marker to .desc. + * doc/descriptions/artec_eplus48u.desc doc/descriptions/hpsj5s.desc + doc/descriptions/teco2.desc doc/descriptions/teco3.desc: + Updated NEW! markers. + +2002-12-07 Abel Deuring + * sanei/sanei_scsi.c: improved error handling + +2002-12-07 Karl Heinz Kremer + + * backend/epson.c: Fixed problem with dropout color + +2002-12-06 Peter Kirchgessner + + * backend/hp.h backend/hp.c backend/hp-scl.c backend/hp.conf + * doc/sane-hp.man doc/descriptions/hp.desc + Add option dumb-read to work + around problem with Buslogic SCSI driver + +2002-12-06 Henning Meier-Geinitz + + * configure aclocal.m4 acinclude.m4: Fixed MacOS X LD_FLAGS bug. + * doc/sane-scsi.man: Removed link to ACard problem. + * doc/sane.tex: Updated contact information. + * LEVEL2: Removed. Contents is either in the SANE2 standard or in + the SANE2 API TODO. + * Makefile.in doc/Makefile.in: Removed LEVEL2. + +2002-12-05 Henning Meier-Geinitz + + * doc/sane-mustek.man doc/sane-mustek_usb.man + doc/descriptions/mustek.desc doc/descriptions/mustek_usb.desc: + Updated links. + * backend/test.c po/sane-backends.de.po: Minor spelling and translation + fixes. + +2002-12-04 Henning Meier-Geinitz + + * backend/epson_scsi.c backend/sm3600.c: Move config.h include to the + top of the include list to avoid compilation errors on platforms + not defining u_char. Added AIX lalloca check. + * aclocal.m4 acinclude.m4 configure configure.in + include/sane/config.h.in: Cleanup. Added some missing quotes. Better + structure and comments. Tried to keep similar tests in one group. + Moved more complicated tests to acinclude.m4. Added explicit test for + build and host system type. When checking for programs, used $EXEEXT + (hopefully fixes OS/2 gettext misdetection). Removed obsolete + macros. Removed PTAL check. Used autoconf for asm/io.h check. + Shortened --enable-foo output and formatted it correctly. Trans- + lations were installed even if --disable-translations was set. Don't + test for msgcat anymore. Tell why translations aren't installed. Used + autoconf 2.5 syntax for AC_OUTPUT and AC_CONFIG_FILES. Make + sane-config executable. Print flags and installation directories + near the end of configure output. + * po/Makefile.in: Added autoconf comment, removed MSGCAT variable. + * backend/dll.c doc/sane-dll.man doc/descriptions/dll.desc: Ignore + comments that are in the same line as the backend entries. Minor + manpage fixes. Intented according GNU coding standards. + * configure.os2: Removed. No longer necessary. + +2002-12-04 Matthew Duggan + * backend/canon_pp-dev.c: Don't compare firmware version numbers - + multiple versions do actually exist. + * doc/descriptions/canon_pp.desc: Bump version number. + +2002-12-03 Peter Fales + + * backend/gphoto2.c: Don't display the "low resolution" option when + taking a picture, because it doesn't actually do anything. + +2002-12-02 Henning Meier-Geinitz + + * po/Makefile.in po/README sane-backends.de.po sane-backends.es.po + sane-backends.fr.po sane-backends.ru.po sane-backends.sv.po: + Use only one file of translated messages per language. Merged + all backend files. Uses UTF-8 everywhere. Updated all files + from the marked source code. + +2002-12-01 Stéphane Voltz + + * backend/umax_pp.c: unmarked from SANE_I18N 2 options names + +2002-12-01 Rene Rebe + * backend/avision.h backend/avision.c backend/avision.conf + doc/descriptions/avision.desc: updated the Avision backend - + including auto-generated .desc file listing all devices + also present in the avision.c device-list. + * doc/descriptions/avision.desc: syntax fix + * doc/sane-avision.man: updated to reflect the current backend + development. + +2002-12-01 Henning Meier-Geinitz + + * configure configure.in backend/dll.c: Add dynamic loading support + for MacOS X/Darwin (from Peter O'Gorman ). + * TODO: Added sp15c inclusion and low-level buffer prints. Removed + avision warning, hpsj5s freeze, hp/libusb, and manpages issues. + Updated MacOS X list. + * configure configure.in backend/Makefile.in: Use libtool -module + when linking shared libs that will be loaded dynamically. + +2002-11-30 Henning Meier-Geinitz + + * po/Makefile.in po/epson.sv.po po/saneopts.sv.po: Added Swedish + translation (from Dennis Björklund ). + +2002-11-29 Henning Meier-Geinitz + + * configure configure.in backend/canon630u.c backend/dll.c + backend/gt68xx.c backend/mustek_usb.c backend/net.c backend/pnm.c + backend/test.c backend/umax1220u.c backend/v4l.c doc/Makefile.in + include/sane/config.h.in tools/sane-desc.c: Fixed PACKAGE_VERSION + breakage. PACKAGE_VERSION was redefined by autoconf 2.5 with a + different meaning. Use PACKAGE_STRING instead. + * backend/mustek.c doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: PACKAGE_VERSION fix. Fixed debug message + in do_stop: really print exit status of reader process. + * doc/sane-usb.man: PACKAGEVERSION fix. Removed HP exception. Added + MacOS X. + * doc/gamma4scanimage.man doc/sane-artec_eplus48u.man + doc/sane-config.man doc/sane-find-scanner.man doc/sane-gt68xx.man + doc/sane-mustek.man doc/sane-mustek_usb.man doc/sane.man + doc/saned.man doc/scanimage.man: Added missing quotes around + PACKAGEVERSION + * doc/sane-abaton.man doc/sane-agfafocus.man doc/sane-apple.man + doc/sane-artec.man doc/sane-as6e.man doc/sane-avision.man + doc/sane-bh.man doc/sane-canon.man doc/sane-canon630u.man + doc/sane-canon_pp.man doc/sane-coolscan.man doc/sane-coolscan2.man + doc/sane-dc210.man doc/sane-dc240.man doc/sane-dc25.man + doc/sane-dll.man doc/sane-dmc.man doc/sane-epson.man + doc/sane-fujitsu.man doc/sane-gphoto2.man doc/sane-hp.man + doc/sane-hpsj5s.man doc/sane-leo.man doc/sane-matsushita.man + doc/sane-microtek.man doc/sane-microtek2.man doc/sane-mustek_pp.man + doc/sane-nec.man doc/sane-net.man doc/sane-pie.man doc/sane-pint.man + doc/sane-plustek.man doc/sane-pnm.man doc/sane-qcam.man + doc/sane-ricoh.man doc/sane-s9036.man doc/sane-sceptre.man + doc/sane-scsi.man doc/sane-sharp.man doc/sane-sm3600.man + doc/sane-snapscan.man doc/sane-sp15c.man doc/sane-st400.man + doc/sane-tamarack.man doc/sane-teco1.man doc/sane-teco2.man + doc/sane-teco3.man doc/sane-test.man doc/sane-umax.man + doc/sane-umax1220u.man doc/sane-umax_pp.man doc/sane-v4l.man: + Changed "-" to "\-" in .SH NAME section (required by man 7 man). + Added PACKAGEVERSION and "SANE Scanner Access Now Easy" to header. + +2002-11-29 Oliver Rauch + + * frontend/stiff.c: added fclose(icc_file) + +2002-11-25 Peter Kirchgessner + + * backend/hp-device.h backend/hp-accessor.c backend/hp-scl.c + backend/hp.c backend/hp-device.c backend/hp-option.c + backend/hp.h backend/hp.conf backend/Makefile.in + doc/sane-hp.man doc/descriptions/hp.desc + Added libusb support for hp-backend + +2002-11-25 Henning Meier-Geinitz + + * PROJECTS: Removed projects for scanners that are now supported + by the plustek backend. Removed lhii backend (dead?). Added more + details for other projects. Added 5400C / 5470C project. + +2002-11-23 Rene Rebe + + * backend/avision.h backend/avision.c backend/avision.conf + doc/sane-avision.man: updated the Avisin backend to my todays + snapshot. It know handles more scanners as well as ADF and A3 + size devices. + +2002-11-23 Max Vorobiev + * backend/hpsj5s.c: Removed default port probing. + +2002-11-22 Henning Meier-Geinitz + + * doc/sane.man: Formatting fixes. Updates some backend entries and + sane-find-scanner. Some clarifications. + * doc/scanimage.man: Use "--option arg" format for all options. + Other formatting fixes. + * doc/gamma4scanimage.man doc/sane-config.man doc/sane-find-scanner.man + doc/saned.man: Formatting updates. + +2002-11-22 Michael Herder + + Fixed header in artec_eplus48u.de.po. + *po/artec_eplus48u.de.po + +2002-11-21 Henning Meier-Geinitz + + * doc/descriptions/mustek_usb.desc doc/sane-mustek_usb.man + doc/mustek_usb/mustek_usb.CHANGES doc/mustek_usb/mustek_usb.TODO: + Minor manpage fixes. Added links to similar backends. More + information about non-Linux OS. + * doc/sane-mustek.man: Minor fixes. Added links to ther backends + providing support for Mustek scanners. + * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_gt6816.c + backend/gt68xx_low.c backend/gt68xx_low.h doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: + Changed 150 to 200 dpi for Mustek BearPaw 2400 TA. Fixed warnings + in gt68xx_low.c. Used DBG instead of XDBG ing gt68xx_low.c. + Minor manpage fixes. Added man page links to other backends. + gt68xx_low.h: Fixed __FUNCTION__ bug on non-gcc compilers. + Added more details about the BSDs in the manpage. Fixed color order + for ScanExpress A3 USB. + * TODO: Removed tevion9693usb and umax1220u warnings entries. Added + avsion warnings. Little bit of restructuring. + +2002-11-21 Michael Herder + + Added german translation for artec_eplus48u backend. + *po/artec_eplus48u.de.po + *po/Makefile.in + +2002-11-20 Henning Meier-Geinitz + + * doc/Makefile.in: Don't generate symlinks for libsane.so/.a, the files + are installed anyway. Fix symlink creation when only static libraries + are created. + +2002-11-20 Michael Herder + + Added artec_eplus48u backend for the scanner Artec E+ 48U and + re-badged models like Tevion/Medion MD 9693, Medion MD 9705 and + Trust Easy Webscan 19200. + * backend/Makefile.in backend/dll.conf backend/artec_eplus48u.c + backend/artec_eplus48u.conf backend/artec_eplus48u.h + * doc/.cvsignore doc/Makefile.in doc/sane-artec_eplus48u.man doc/sane.man + doc/descriptions/artec_eplus48u.desc + * AUTHORS: Updated concerning artec_eplus48u. + +2002-11-19 Henning Meier-Geinitz + + * doc/sane-usb.man: Added quick start section. New structure/order. + Added list of backends that don't use sanei_usb. Added headers + and fixed \- bug. + * doc/sane-find-scanner.man: Minor adjustments, added headers, fixed + \- bug. + +2002-11-18 Frank Zago + + * backend/umax-usb.c: the usb support for the umax 2200 wasn't + using the correct sanei USB API, which broke the support for that + scanner. Also fixed a couple warnings and a typo. + * backend/sceptre.c backend/teco1.c backend/teco3.c + backend/matsushita.c backend/leo.c: fixed hexdump() declaration. + * backend/dll.c: fixed some warnings. + +2002-11-07 Stéphane Voltz + + * backend/umax_pp_low.c: disable test facility + +2002-11-17 Henning Meier-Geinitz + + * TODO: Added manpage issues and hpsj5s freeze problem. Removed canon.c + model problem. + * doc/Makefile.in: Added variable @PACKAGEVERSION@ for usage in + manpages. + +2002-11-14 Henning Meier-Geinitz + + * doc/sane-mustek_usb.man doc/sane-usb.man: Fixed wrong .TH headers. + +2002-11-13 Henning Meier-Geinitz + + * configure configure.in acinclude.m4 aclocal.m4 + include/sane/config.h.in: Fix compilation on Tru64 by readding + the sys/bitypes.h work-around. Minimum autoconf version is 2.50 now. + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_gt6801.c backend/gt68xx_gt6801.h doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES po/gt68xx.de.po: + Added basic support for Plustek OpticPro 1248U (from Gerhard Jaeger + ). Removed 50 and 1200 dpi from Lexmark X73. + Backend status is BETA now. + +2002-11-13 Ulrich Deiters + + * modified the Canon SCSI backend (now version 1.10): + * backend/canon.c, canon-scsi.c: Added support of focus control for + the FS2710 film scanner. + backend/canon-sane.c: Set handler_arg in sanei_scsi_open() calls + to zero to avoid crashes with Mandrake Linux 9.0 + +2002-11-12 Oliver Rauch + + * added several russion translations to directory po. + The translations have been created by + Vitaly Lipatov + +2002-11-07 Stéphane Voltz + + * backend/umax_pp.c: revert a experimental change that went into + cvs by mistake. + * po/umax_pp.de.po: switch to iso-8858-1 + +2002-11-07 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_high.h + backend/gt68xx_low.h doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES po/Makefile.in po/gt68xx.de.po: Changed + option titles and descriptions to make them better readable. Added + translation markers for all options. Added German translation for + backend options. Updated manpage and .desc file concerning scanner + status. Added untested flag for Mustek ScanEpress A3 USB and Lexmark + X73. + * backend/mustek.c doc/sane-mustek.man doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: Upload linear gamma table for Pro models + if custom gamma is off instead of uploading the composed gamma table. + That avoids applying gamm twice. Minor man page update. + +2002-11-05 Stéphane Voltz + + * backend/umax_pp.c backend/umax_pp_mid.c : OS/2 compile fix, indent + correction + +2002-11-03 Karl Heinz Kremer + + * sanei/sanei_usb.c: Use endpoint address with direction information + instead of the pipe reference. This caused problems with Darwin + systems. + +2002-11-03 Karl Heinz Kremer + + * backend/epson.c: Full support for libusb + +2002-11-03 Henning Meier-Geinitz + + * README configure.in configure po/Makefile.in po/README: + Translations are now enabled by default if the gettext tools are + found. Use msgcat if available. Don't update the .po files + automatically. + * TODO: Added entries about canon.c model extraction bug, and sanei_usb + issue. Updated entries about MAcOS X support. Removed po files entry. + +2002-10-31 Henning Meier-Geinitz + + * configure configure.in: Print installation directories. + * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_high.c + backend/gt68xx_low.c backend/gt68xx_low.h doc/gt68xx/gt68xx.CHANGES: + Faster AFE calibration. Minor fixes. New version: 1.0-28. + +2002-10-31 Stéphane Voltz + + * backend/umax_pp.c backend/umax_pp.h backend/umax_pp_low.h + backend/umax_pp_low.c tools/umax_pp.c: add UTA detection, + version number updates + + +2002-10-30 Henning Meier-Geinitz + + * backend/dll.conf: Removed commented out gt68xx entry. + * PROJECTS: Updated viceo entry. + +2002-10-27 Peter Fales + + * configure, acinclude.m4, aclocal.m4 - Remove checks for + specific version numbers of gphoto2 - that's not good for long + term maintenance, and the API has settled down enough that all + recent versions (both releases and CVS) are workable for SANE. + It is still necessary to specify --with-gphoto2 if you want to + use the gphoto2 backend. + +2002-10-27 Henning Meier-Geinitz + + * configure configure.in: Added a warning if sysconfdir is set to + /usr/etc. + * backend/test.c: Explicitely close the pipe and wait until + reader_process is killed. + +2002-10-25 Henning Meier-Geinitz + + * backend/Makefile.in backend/dll.conf backend/gt68xx.c + backend/gt68xx.conf backend/gt68xx.h backend/gt68xx_devices.c + backend/gt68xx_generic.c backend/gt68xx_generic.h + backend/gt68xx_gt6801.c backend/gt68xx_gt6801.h + backend/gt68xx_gt6816.c backend/gt68xx_gt6816.h backend/gt68xx_high.c + backend/gt68xx_high.h backend/gt68xx_low.c backend/gt68xx_low.h + backend/gt68xx_mid.c backend/gt68xx_mid.h + backend/gt68xx_shm_channel.c backend/gt68xx_shm_channel.h: + Added gt68xx backend for scanners based on the Grandtech GT-6801 + and GT-8616 chips like The Mustek BearPaw CU, and TA scanners + and some Artec Ultima 2000 clones. + * doc/.cvsignore doc/Makefile.in doc/sane-gt68xx.man doc/sane.man + doc/descriptions/gt68xx.desc doc/descriptions-external/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Added documentation for gt68xx backend. + * AUTHORS PROJECTS TODO: Updated concerning gt68xx. + * Makefile.in backend/Makefile.in doc/Makefile.in: Added some missing + files to DISTFILES. + +2002-10-24 Peter Fales + + * backend/gphoto2.c: Improve checks for values specified in config + file and generate errors when invalid values are specified. + +2002-10-24 Henning Meier-Geinitz + + * configure configure.in: Warnings enabled again. Used extra version + -cvs. + +Older entries can be found in ChangeLog-1.0.9. diff --git a/ChangeLogs/ChangeLog-1.0.12 b/ChangeLogs/ChangeLog-1.0.12 new file mode 100644 index 0000000..f0eb34a --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.12 @@ -0,0 +1,960 @@ +****** Release of sane-backends 1.0.12. End of code freeze ****** + +2003-05-25 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added DigitDia 3600. + * configure configure.in: New version: 1.0.12. + +2003-05-22 Henning Meier-Geinitz + + * doc/descriptions/mustek.desc: Primax Compact 4800 SCSI is + reported to work. + * doc/descriptions/unsupported.desc: Added more information for + Artec and Visioneer/Primax scanners. + * TODO: Added saned + configure issue. + +2003-05-21 Stéphane Voltz + * backend/umax_pp_low.c: backed out clearing epp timeout. It prevented most + common settings to use the umax_pp backend. + +2003-05-18 Gerhard Jaeger + * doc/sane-plustek.man: Update. + * backend/plustek-devs.c backend/plustek-usbshading.c + backend/plustek-usb.h: + Fixed critical bug in CIS device calibration and settings which causes + the CanoScan 650, 1220 and 1240 not to work anymore + * TODO: removed line "check status of Umax 3450...". + +---- CODE FREEZE FOR SANE 1.0.12 --- +-- snapshot 1.0.12-pre2 + +2003-05-18 Henning Meier-Geinitz + + * NEWS: Updated. + * doc/descriptions/unsupported.desc: Added Mustek ScanMagic 9636P. + * TODO: Added epson/saned/xsane problem. + * configure configure.in: Disabled compilation warnings. + * tools/Makefile.in: Added sane-po.awk to DISTFILES. + +2003-05-16 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Minor fix for Spot scanners. + +2003-05-15 Gerhard Jaeger + * TODO: status of UMAX 3450 is fixed now in .desc + * descriptions/plustek.desc: update + * doc/plustek/Plustek-USB-TODO.txt doc/plustek/Plustek-USB.txt + doc/plustek/Plustek.changes: update + * backend/plustek-devs.c backend/plustek-pp.c backend/plustek-usb.c + backend/plustek-usbhw.c backend/plustek-usbimg.c + backend/plustek-usbio.c backend/plustek-usbmap.c + backend/plustek-usbscan.c backend/plustek-usbshading.c + backend/plustek.c backend/plustek.h backend/plustek-share.h + backend/plustek-usb.h: + Major bugfix release, cancel should work now, calibration for + CIS devices is now fully functional + +2003-05-15 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Updates for Canon + scanners. Added Spot scanners. + * aclocal.m4 acinclude.m4 configure: Fixed MacOS X build (patch + from Mattias Ellert ). + * doc/sane-gt68xx.man: Fixed wrong example. + +2003-05-13 Henning Meier-Geinitz + + * backend/Makefile.in: Added missing $(DESTDIR). + * TODO: Minor updates. + +2003-05-12 Henning Meier-Geinitz + + * po/sane-backends.fr.po: Updated french translation (from Yann + E. MORIN ). + * frontends/saned.c: Replaces a strncmp() call by a macro detecting + V4-mapped address. This is a lot safer than the strncmp, and doesn't + break anything. Patch from Julien BLACHE . + +2003-05-11 Eddy De Greef + + * backend/mustek_pp.[ch]: Offset correction for Mustek 600CP and + added some debugging code. + +2003-05-09 Rene Rebe + + * doc/sane-avision.man: fix tiny typo + +2003-05-08 Rene Rebe + + * backend/avision.c doc/sane-avision.man + doc/descriptions/avision.desc: update to the latest avision + backend including the fix for segmentation fault when no config + file is present. + +2003-05-08 Henning Meier-Geinitz + + * acinclude.m4 aclocal.m4 configure include/sane/config.h.in: + Added missing HAVE_LIBIEEE1284 macro. The test was there, but + the macro wasn't set. + * po/sane-backends.de.po: Added some missing translations. + * po/sane-backends.es.po po/sane-backends.fr.po po/sane-backends.nl.po + po/sane-backends.no.po po/sane-backends.pt.po po/sane-backends.ru.po + po/sane-backends.sv.po: Updated for latest backend changes. + * backend/hp5400.c backend/hp5400.h backend/hp5400_internal.c + backend/hp5400_sanei.c backend/hp5400_xfer.h: Changed license to + GPL + SANE exception. + +2003-05-07 Henning Meier-Geinitz + + * po/Makefile.in po/sane-backends.no.po: Added Norwegian + translation (from Sigurd Stordal ). + +2003-05-06 Michael Herder + + * doc/descriptions/artec_eplus48u.desc: + Added comment about different product ID of MEM 48U + * backend/artec_eplus48u.conf: + Added new model Memorex MEM 48U + +2003-05-05 Oliver Rauch + * backend/umax.c: solved bug that broke compilation for OS2 + +2003-05-05 Henning Meier-Geinitz + + * po/sane-backends.fr.po: Updates for the French translation from + Yann E. MORIN . + * tools/check-po.awk: Added script to check the translations for + completeness (from Yann E. MORIN). + * tools/README: Added description of check-po.awk. Minor reordering. + +---- FEATURE FREEZE FOR SANE 1.0.12 --- +-- snapshot 1.0.12-pre1 + +2003-05-04 Henning Meier-Geinitz + + * frontend/saned.c: Added implementation of poll() for systems + that don't provide it (patch from Julien BLACHE + ). + * TODO: Removed obsololete entries. + * NEWS: Updated for 1.0.12. + * backend/ibm.c backend/ibm-scsi.c: Only disable object position + command for Ricoh IS-420. + +2003-05-04 Oliver Rauch + + * backend/umax.c umax.h + applied changes that replace fork() by thread for OS2 + +2003-05-03 Henning Meier-Geinitz + + * include/md5.h: Set fixed alignment because otherwise the MacOS X + gcc doesn't like it. + * backend/ibm.c backend/ibm-scsi.c doc/descriptions/ibm.desc: + Disabled object_position. That should fix the Ricoh IS-420. + * frontend/saned.c: Try to get the correct port number when + /etc/services doesn't list "sane" by asking for "6566". Check + result of socket(). Print ip faimily and port. + * configure configure.in frontend/Makefile.in tools/Makefile.in: + Remove -all_load again and try to use the correct link order for + libraries. + +2003-05-02 Henning Meier-Geinitz + + * configure configure.in frontend/saned.c + include/sane/config.h.in: Test for poll() and disable IPV6 if + not found. + * include/lalloca.h: Remove test for MacOS X. That one breaks some + MacOS X systems. + * configure configure.in frontend/Makefile.in tools/Makefile.in: + Add -all_load to linker flags on MacOS X to avoid linker errors. + * backend/Makefile.in: Create directory for gt68xx firmware. + +2003-05-01 Oliver Rauch + + * backend/ + umax-scanner.c umax-scsidef.h umax-uc1200se.c umax-uc630.c + umax-ug630.c umax-usb.c umax.conf umax.h + umax-scanner.h umax-uc1200s.c umax-uc1260.c umax-uc840.c + umax-ug80.c umax.c umax.desc + doc/sane-umax.man doc/umax/* + + update of sane-umax backend + + +2003-04-30 Oliver Schwartz + + * backend/snapscan.c backend/snapscan.h backend/snapscan-options.c + backend/snapscan-scsi.c doc/descriptions/snapscan.desc: SnapScan + backend 1.4.26, added support for Agfa Arcus 1200, better support + for Benq 5000. + +2003-04-30 Henning Meier-Geinitz + + * lib/getopt.c: Removed #include again, breaks compilation on + OS/2. + * config.guess config.sub: New upstream versions. + * acinclude.m4 aclocal.m4 configure ltmain.sh: New libtool + upstream realease: 1.5. + * acinclude.m4 aclocal.m4 configure configure.in: Added support + for -framework option and check for IOKit for MacOS X. Check for + latex tools. Minimum autoconf version is 2.54. + * ltmain.sh: Add support for -framework option for MacOS X (from + Mattias Ellert ). + * sanei/sanei_scsi.c: Added SCSI support for MacOS X (from + Mattias Ellert ). + * include/sane/config.h.in: Added test for IOKit. + * README.darwin: Updated concerning SCSI support. + * backend/Makefile.in: Disable manual links for shared libraries. + This breaks MacOS X and doesn't seem to be necessary on other + platforms any more. + * include/lalloca.h: Don't use builtin alloca on MacOS X. + * tools/Makefile.in: Build sane-desc by default. + * tools/sane-desc.c: Fixed segfault. + * doc/Makefile.in: Only use latex if available. + * doc/descriptions/unsupported.desc: Updated info on Artec, Canon + and HP scanners. + +2003-04-27 Henning Meier-Geinitz + + * backend/hp5400_internal.c backend/canon630u-common.c + backend/epson_scsi.c: Minor compilation fixes for MacOS X and + OS/2. + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Added Genius 3x as working scanner, + removed testing flag. Added Artec 2000 e+ to manpage. Added + detection for the Plustek OpticPro U16B. + * doc/descriptions/unsupported.desc: Added more information for + the HP Scanjet 2300c. + * lib/getopt.c: Add missing includes. + * po/Makefile.in po/sane-backends.de.po po/sane-backends.es.po + po/sane-backends.fr.po po/sane-backends.nl.po + po/sane-backends.pt.po po/sane-backends.ru.po + po/sane-backends.sv.po: Added hp5400 backend. Updated po files. + * TODO: Added entry about MacOS X SCSI patches. + +2003-04-26 Henning Meier-Geinitz + + * README.netbsd: Some additions concerning uscanner driver. + * TODO: Removed hp4200 link. Added hp5400 GPL/SANE issue. Added + avision hpusbscsi documentation issue. Removed scanimage/OS/2 + problem. + * doc/sane-mustek.man: Added some more details for SCSI adapters. + * doc/descriptions/ibm.desc: Ricoh IS-420 doesn't seem to work + out-of-the-box. + * doc/descriptions/unsupported.desc: Added Visioneer OneTouch 4800 + USB. Added more information for the Genius ColorPage HR7X Slim + and Microtek Scanport 3000. + +2003-04-23 Frank Zago + + * backend/teco2.c backend/teco2.h doc/sane-teco2.man + doc/teco/teco2.txt descriptions/teco2.desc: new calibration + algorithm. + +2003-04-20 Henning Meier-Geinitz + + * README: Removed link to (non-working) anonymous CVS. Mention CVS + snapshots and beta releases instead. Rewrite the paragraph about + frontends. Mention that libusb is necessary for some backends. + Mention more operating systems. Added contact section (mostly + copying from sane(7)). Minor formatting updates. + * README.freebsd: Automatic SCSI detection does work, so this part + was removed. libusb is necessary for some backends. Some parport + scanners seem to work. + * README.linux: Minor updates. + * README.openbsd: libusb is necessary for some backends. + * Makefile.in doc/Makefile.in doc/sane.man: The lists of supported + devices are now generated and installed by default. + * NEWS: Updated for 1.0-12. + * doc/descriptions/unsupported.desc: Removed Epson Perfection 660 + (now supported by snapscan backend), Primax Jewel 4800 (teco2). + Added Enhans/E-Lux j-6121 and Visioneer OneTouch 5300 USB. + * sanei/sanei_usb.c: Removed Frank's memleak fix. The memory is + allocated only once in sanei_usb_init, not in sanei_usb_open. + So releasing it in sanei_usb_close breaks backends that open + devices more than once. + * po/sane-backends.nl.po: Updated Dutch translation (from Martin + Kho and Bertrik Sikken ). + +2003-04-18 Frank Zago + + * backend/teco2.c backend/teco2.conf backend/teco2.h + doc/sane-teco2.man doc/descriptions/teco2.desc: added support for + Relisys AVEC II S3 (VM3564) and Primax Jewel 4800 (VM356A). Patch + from Gerard Klaver. + * sanei/sanei_usb.c: fixed a memleak. + * sanei/sanei_pv8630.c: added some debug traces. + +2003-04-18 Stéphane Voltz + + * configure configure.in include/sane/config.h.in: + added detection of dev/ppbus/ppi.h + +2003-04-18 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp.conf: + added support for /dev/ppi0 on *BSD, and a + * backend/umax_pp.c: configuration parsing fix + +2003-04-17 Henning Meier-Geinitz + + * AUTHORS backend/Makefile.in backend/dll.conf backend/hp5400.c + backend/hp5400.conf backend/hp5400.h backend/hp5400_internal.c + backend/hp5400_sanei.c backend/hp5400_xfer.h doc/.cvsignore + doc/Makefile.in doc/sane-hp5400.man doc/sane.man: + Added hp5400 backend from Martijn van Oosterhout + and Thomas Soumarmon + . Changed to use sanei_usb instead of direct + /dev/usb/scanner access. Added manual page. Fixed some + portablility issues and some warnings. Added SANE headers. + * doc/descriptions/hp5400.desc doc/descriptions-external/hp5400.desc: + Moved file as the backend is included now. Added new marker. + * doc/descriptions-external/lhii.desc: Removed. Website has been + dead for years. No response from author. + * doc/descriptions-external/onetouch8600.desc: Removed. Website is + dead. No response from author. + * doc/descriptions-external/hp4200.desc + doc/descriptions-external/hpoj.desc + doc/descriptions-external/niash.desc + doc/descriptions-external/primax.desc + doc/descriptions-external/scanwit.desc + doc/descriptions-external/v4l2.desc + doc/descriptions-external/viceo.desc: Added comments to explain + the reasons for not including these backends into SANE. + +2003-04-16 Henning Meier-Geinitz + + * doc/scanimage.man: Added EXAMPLES section. + * doc/descriptions/unsupported.desc: Added information about + Hewlett-Packard and Mustek scanners. + +2003-04-15 Henning Meier-Geinitz + + * AUTHORS backend/Makefile.in backend/dll.conf backend/ibm-scsi.c + backend/ibm.c backend/ibm.conf backend/ibm.h doc/Makefile.in + doc/sane.man doc/sane-ibm.man doc/.cvsignore + doc/descriptions/ibm.desc: Added IBM backend for the + IBM 2456, the Ricoh IS-420 and maybe the IS-410 and IS-430 from + mf . Added manual page, fixed some + warnings, Added detection for IS-410 and IS-430. + * doc/descriptions-external/ibm.desc: Removed, now included in + SANE distribution. + * include/md5.h: Don't use __attribute__ for compilers that don't + support it. + * doc/sane-ibm.man doc/descriptions/ibm.desc: Mention alpha + quality. Add maintainer address. + +2003-04-14 Henning Meier-Geinitz + + * tools/sane-desc.c: Fixed some HTML bugs. + * doc/desccriptions/unsupported.desc: Updated HP Scanjet 35XX, + Medion MD 6228, and Umax Astra 4700 entries. Added some Mustek + and Primax scanners. + +2003-04-14 Peter Kirchgessner + + * backend/hp.c, hp-option.c: Check pointers received in + sane_control_option(). Caused saned to crash on + scanimage --help -d net:localhost:hp:... + +2003-04-13 Henning Meier-Geinitz + + * doc/sane.man: Added SEE ALSO section. + * backend/Makefile.in: Fixed warning for dll-preload.c. + * bakend/dll.c: Add casts to function calls. Without this fix, the + dll backend didn't work on the m68k paltform because data and + addresses are stored in differnt registers so the return values + of the sane api functions were wrong. Patch from Dave Huang + . Fixed some compilation warnings. + +2003-04-11 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Updated + Mustek BearPaw 1200 CU Plus white strip value. Set Mustek + ScanExpress A3 USB to CCD. Black mark may be still wrong. Minor + formatting changes in the manpage. Decreased ScanExpress A3 USB + status to alpha because of CIS/CCD change. + * backend/ma1509.c: Remove test for multi-pass. + * doc/sane.man: Added information about #sane IRC + channel. Formatting changes. + * doc/descriptions/unsupported.desc: Added Mustek P 3600 A3 Pro. + * TODO: Removed license issue. Updated desc files and global + variables entries. Updated v4l entry. + * doc/scanimage.man: --batch format doesn't work, only --batch=format. + +2003-04-10 Henning Meier-Geinitz + + * backend/test.c backend/test.h doc/descriptions/test.desc: Added + support for OS/2 (from Franz Bakan ). + +2003-04-05 Nathan Rutman + + * backend/canon630u-common.c: Removed last change in offset/gain + calculation, which croaked for some cases. Give up early if we + can't talk on the USB. + * backend/canon630u.c: Added option to force scanner recalibration. + +2003-04-04 Henning Meier-Geinitz + + * backend/dll.c: Added some missing debug messages. Fixed a warning. + +2003-04-03 Eddy De Greef + + * TODO: removed mustek_pp entry (Check that global variables are + initialized propperly + +2003-04-03 Henning Meier-Geinitz + + * lib/Makefile.in: Recompile all targets if necessary. + * sanei/sanei_scsi.c: Fixed some warnings. + * include/md5.h: Declare md5_buffer. + * sanei/sanei_constrain_value.c: Removed unnecessary variable. + * backend/agfafocus.c: Fixed some warnings. + * backend/as6e.c: Fixed some warnings. + * backend/coolscan.c backend/coolscan-scsi.h: Fixed a bunch of + compilation warnings. + * backend/djpeg.c: Fixed some warnings. + * backend/dmc.c: Fixed some warnings. + +2003-04-03 Eddy De Greef + + * backend/mustek_pp.c: Fixed a potential crash bug that could be + triggered when calling sane_init/sane_get_devices/sane_exit + multiple times, and fixed some minor bugs to pass the + frontend/tstbackend.c tests. + +2003-04-03 Oliver Schwartz + + * backend/snapscan.c backend/snapscan.h backend/snapscan-scsi.c + backend/snapscan-options.c backend/snapscan.conf + doc/descriptions/snapscan.desc: + SnapScan backend 1.4.25 - added support for Epson Perfection 660, + enhanced support for Acer 5000 + +2003-04-02 Henning Meier-Geinitz + + * doc/sane-as6e.man: Added info about $PATH. Minor formatting fixes. + * doc/sane.man: Reorganization. Updated DEVELOPER'S DOCUMENTATION. + Rewrote PROBLEMS in a more user-centric way. Added "HOW CAN YOU + HELP" section. Added paragraph about SANE device lists. Updated + CONTACT section. Minor additions to the gt68xx and plustek + entries. Minor spelling fixes. + * backend/sm3600-color.c backend/sm3600-gray.c backend/sm3600-homerun.c + backend/sm3600-scanmtek.c backend/sm3600-scantool.h backend/sm3600-scanusb.c + backend/sm3600-scanutil.c backend/sm3600.c backend/sm3600.h: + Fixed comment headers. They were copied verbatim from the dll backend. + * AUTHORS backend/artec.c doc/sane-artec.man: Remove Chris Pinkham + as active maintainer because his primary email address bounces, + and he doesn't respond to mails to other addresses. Marked email + addresses and website as dead. Fixed AT3 misdectection that was + on the TODO list for some time. Initialize global variables in + sane_init. + * acinclude.m4 aclocal.m4 configure configure.in + include/sane/config.h.in frontend/saned.c: Added a switch to + disable libusb. Removed switch to enable ipv6 uncondinionally. + Check for sys/poll.h. + * sanei/sanei_usb.c: Added a function to print the buffer contents + for the read and write functions. Fixed some DBGs. Fixed a wrong + return value. + * TODO: Removed sm3600, artec and libusb configure switch entries. + Updated v4l, sanei buffer print and html manpages entries. + Added OS/2 crash entry. + * include/getopt.h lib/getopt.c lib/getopt1.c: Update to glibc + 2.3.1 version. This fixes a compilation warning. Further more, + the code is now LGPLed. + * include/md5.h lib/md5.c: Update to glibc 2.3.1 version. The code + is now LGPLed. Changed the K&R style and added prototypes to + avoid warnings. + +2003-03-31 Henning Meier-Geinitz + + * frontend/saned.c: Include poll.h only if new saned code is + used. Fixes compilation on OS/2. Patch from Julien BLACHE + . + +2003-03-30 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Medion MD 6228, Microtek + ScanPort 3000, and PIE Primefilm 1800u. + * acinclude.m4 aclocal.m4 configure configure.in backend/net.c + backend/net.h doc/sane-net.man doc/saned.man frontend/saned.c + include/sane/config.h.in: Added support for IPv6. Updated + manpages. Patch from Julien BLACHE . + * TODO: Updated net sections. Removed Irix pacht entry. Added + entry about libusb switch. + +2003-03-28 Oliver Schirrmeister + + * backend/fujitsu.c backend/fujitsu-scsi.h: + now really supports the fi-4120C + +2003-03-26 Karl Heinz Kremer + + * backend/epson.c: Added workaround for GT-8000 scanners, + fixed two warnings reported by der Mouse. + +2003-03-24 Rene Rebe + + * backend/Makefile.in backend/avision.c backend/avision.conf + backend/avision.h doc/descriptions/avision.desc: updated + avision backend to latest build. This includes user-space + USB support and OS/2 thread handling. + +2003-03-24 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Canon CanoScan FB620U. + Added more info for HP ScanJet 3500c. + +2003-03-24 Rene Rebe + + * include/sane/sanei_usb.h sanei/sanei_usb.c: support for + interrupt endpoint reads + +2003-03-23 Rene Rebe + + * doc/sane-usb.man fix typo + +2003-03-22 Ulrich Deiters + + * backend/canon.c: Modified the option "eject after each scan" - + Eject is suppressed for film scanners after preview scans. + +2003-03-20 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Canon LIDE 50, IBM + ADF Color Scanner, Plustek Spectra ADF. + +2003-03-17 Henning Meier-Geinitz + + * backend/as6e.c: Fixed segmentation fault when $PATH is not set. + +2003-03-16 Henning Meier-Geinitz + + * sanei/sanei_scsi.c: OS/2 specific changes: memory for SRB now is + allocated using _tcalloc() instead of allocating on stack to avoid + crossing 64k borders due to restrictions of 16-bit device-driver. + Cosmetic changes and some casts to reduce compiler-warnings. Patch + from Franz Bakan . + * sanei/sanei_thread.c: Increased stacksize for thread. Patch from + Franz Bakan . + +2003-03-10 Oliver Schirrmeister + + * backend/fujitsu.c backund/fujitsu-scsi.h backend/fujitsu.h + * patch from Ron Cemer + fixes the broken "ADF empty" detection on the Fujitsu scanners + when connected via USB. It also fixes a sense-request issues, + which were required in order to determine whether the ADF is + empty. It also eliminates some duplicate code blocks. + * renamed some functions + +2003-03-13 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_low.h + doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Added Packard Bell Diamond 1200 Plus to + .desc and manpage. New flag to avoid running stop_scan before doing + a scan. The Windows firmware of the BearPaw 1200 CU Plus doesn't + seem to like that. + * doc/descriptions/unsupported.desc: Added some Boeder, Brother, HP and + Trust scanners. + * TODO: Removed fujitsu and ma1509 entries. Updated .desc files and + global variables entry. + +2003-03-10 Oliver Schirrmeister + + * backend/fujitsu.c backund/fujitsu-scsi.h + displays the offending byte when something is wrong in the + window descriptor block. + +2003-03-09 Eddy De Greef + + * backend/mustek_pp_cis.c backend/mustek_pp_cis.h: Fixed two + calibration bugs: one occasionally caused overexposed images at + all resolutions; the other one occasionally caused color inbalances + when scanning narrow areas at high resolutions. + +2003-03-09 Henning Meier-Geinitz + + * sanei/sanei_scsi.c: Wait for the completion of all SCSI commands in + sanei_scsi_flush_all_extended (Linux). Without this fix, especially + long running commands and command queuing would cause memory + corruption if the buffer was invalid after the flush command. + * doc/descriptions/abaton.desc: Removed link to everex (timeout). + +2003-03-07 Henning Meier-Geinitz + + * backend/mustek.c doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: Minor debug message updates. Fixed a + little bug in sane_control_option (gamma control). Removed the + signal blocking again. That only hides the segfault in sanei_scsi. + Check if there are documents in ADF for Paragon 2. Otherwise return + error. Fix some minor issues in reading the config file. + +2003-03-07 Peter Fales + + * doc/descriptions/dc210.desc, doc/descriptions/dc240.desc: + Fix broken URLs to the Kodak web pages + +2003-03-06 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_gt6801.c backend/gt68xx_gt6816.c + backend/gt68xx_low.c doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Small requests are done with a response + buffer of 8 bytes (instead of 64) now. Looks like GT-6816 based + scanners return 8 bytes if the firmware is loaded and 64 bytes if + it's not loaded. Changed GT-6816 firmware check to ignore errors + from above change. GT-6816 scanners work with the BSDs now (at least + once). Updated manpage concerning the BSDs. + +2003-03-05 Henning Meier-Geinitz + + * backend/apple.c: Added missing option size (avoids crash on network + scanning). Patch from Milon Firikis . + +2003-03-05 Oliver Schirrmeister + * backend/fujitsu.c, backend/fujitsu.h: renamed some variables + * backend/fujitsu.c: gray duplex scanning now works with the 4097D + when disconnect is enabled in the scsi-controller + * doc/descriptions/unsupported.desc: remove fujitsu fi4120C + * doc/descriptions/fujitsu.desc added fi4120C, ScanParter 93GX + +2003-03-04 Henning Meier-Geinitz + + * include/sane/sanei.h sanei/sanei_constrain_value.c: Added function + sanei_check_value in addition to the existing sanei_constrain_value. + It checks if the value of a sane option fits into the constraint but + doesn't try to do any fixing/rounding. + * doc/sane-scsi.man: Changed the example to use /dev/sg0 instead of + /dev/sge. + * doc/descriptions/unsupported.desc: Removed Umax AstraSlim (now + supported by artec_eplus48u backend). + +2003-03-03 Gerhard Jaeger + * doc/plustek/Plustek-USB-TODO.txt: update + * backend/plustek-devs.c backend/plustek-usb.c backend/plustek-usbhw.c + backend/plustek-usbimg.c backend/plustek-usbscan.c backend/plustek.c: + Fixed some bugs, that avoid proper function of Genius devices and + the HP2100c. Fixed also a problem, that causes permanent warmup cylces + on EPSON Photo devices. + +2003-03-02 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_gt6801.c + doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Make sure that the firmware for + plustek-like scanners is loaded. Didn't work for Genius vivid3xe. + Added both Genius scanners to man page. Removed warning from Genius + Vivid3xe. + +2003-03-02 Michael Herder + + * doc/descriptions/artec_eplus48u.desc: + * backend/artec_eplus48u.conf: + Added new model Umax AstraSlim SE + +2003-03-01 Henning Meier-Geinitz + + * doc/descriptions-external/ibm.desc: Added Ricoh IS-430. + * doc/descriptions/unsupported.desc: Updated Microtek scanners. Added + Umax AstraSlim SE. + +2003-02-28 Ulrich Deiters + + * backend/canon-sane.c: Adjusted to use the new sanei_constrain_value + function; made some cosmetic changes to reduce the number of compiler + warnings + +2003-02-27 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_low.c backend/gt68xx_low.h doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Added Genius Colorpage Vivid3xe. Added + request_type and request fields to the command set. Request is 0x01 + or 0x04. + * doc/descriptions/unsupported.desc: Added Compaq S4 100 and Microtek + Scanmaker 4800. + +2003-02-26 Henning Meier-Geinitz + + * doc/descriptions-external/hp5400.desc: Added description for hp5400 + backend. It supports the Hewlett-Packard 5400, 5470 and (maybe) 5490 + scanners. + * doc/descriptions-external/viceo.desc: Added Visioneer OneTouch 8600. + * doc/descriptions/unsupported.desc: Removed hp5400 series (now in + hp5400.conf). Added Lexmark, Medion and Primax scanners. + * doc/descriptions/ma1509.desc: Added :new token. + * sanei/sanei_constrain_value.c: Round a word list value to the nearest + entry (if necessary). Code was taken from canon backend. + +2003-02-26 Ulrich Deiters + + * modified the Canon SCSI backend (now version 1.12): + * backend/canon.c, canon-sane.c, canon.h: Added support for + the FB1200S flatbed scanner. + * backend/canon.c: Made the sense handler generate meaningful + status information for new scanner models (solved the Mandrake + crash problem). + * backend/canon.c, canon-sane.c, canon.h: Moved model-dependent + declarations and decisions to a common location. + * backend/canon-sane.c: Fixed the out-of-memory problem of + xscanimage when doing previews with scanners using hardware + scan resolutions only. + +2003-02-25 Henning Meier-Geinitz + + * po/sane-backends.fr.po: Updated French translation (from Yann E. + MORIN ). + +2003-02-23 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.c + backend/umax_pp_mid.h backend/umax_pp.c backend/umax_pp.h + backend/umax_pp.conf tools/umax_pp.c doc/sane-umax_pp.man: changed + highlight option to contrast, and gain to brightness. + +2003-02-24 Henning Meier-Geinitz + + * backend/Makefile.in backend/dll.conf backend/ma1509.c + backend/ma1509.conf backend/ma1509.h: Added new backend ma1509 for + Mustek BearPaw 1200F scanners. + * doc/Makefile.in doc/descriptions/ma1509.desc doc/sane-ma1509.man + doc/sane.man doc/.cvsignore: Added documentation for ma1509 backend. + * doc/descriptions-external/ma1509.desc: Removed. + * AUTHORS: Added ma1509. + * po/Makefile.in po/sane-backends.de.po po/sane-backends.es.po + po/sane-backends.fr.po po/sane-backends.nl.po po/sane-backends.pt.po + po/sane-backends.ru.po po/sane-backends.sv.po: Updated for ma1509. + * doc/backend-writing.txt: Some parts concerning PRJECTS/.desc files + are rewritten. Added information about initializing global variables + and sizeof (void *) != sizeof (int) (from Martijn van Oosterhout + ). + +2003-02-23 Simon Munton + * backend/pie.c: increment BUILD (was missed in last change) + +2003-02-23 Simon Munton + * backend/pie.c: fixed segmentation faults when sane_init/sane_exit is + run more than once. + +2003-02-23 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp_low.c: Added global vars reset. + Fixed a segmentation bug when using "" as opened device name. + +2003-02-22 Frank Zago + + * doc/sane.tex: added Relisys and Mitsubishi to the list of + vendors. Bumped the revision date. + + * frontend/tstbackend: added more sane_init/sane_exit tests. Added + Fujistu and Relisys to the list of valid vendor names. + +2003-02-22 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx.conf doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: + Added vid/pid 0x07b3/0x0400 to gt68xx.conf also. Added indormation + about Medion 4394. Mention ma1509 backend. Fix segfault when calling + sane_open with an empty device name. Explicitely initialize global + variables to avoid segfaults when calling sane_init/sane_exit more + than once. + * backend/net.c doc/descriptions/net.desc: Initialize global variables + in sane_init to avoid segmentation faults when sane_init/sane_exit is + run more than once. + * doc/descriptions-external/ibm.desc: Add Ricoh IS-420. + * sanei/sanei_usb.c: Call sanei_usb_init only once. + * backend/mustek_usb.c doc/descriptions/mustek_usb.desc + doc/mustek_usb/mustek_usb.CHANGES doc/sane-mustek_usb.man: Iniatialize + global variables explicitely. Mention ma1509. + * backend/mustek.c doc/mustek/mustek.CHANGES: Initialize global + variables in sane_init. + * TODO: Add ma1509 backend. Add segfault when running sane_init more + than once. Removed sanei_usb interface issue. + +2003-02-20 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Removed Fujitsu fi-4220C (now + supported by fujitsu backend). Added Syscan Travelscan 464. Updated + HP scanners. + +2003-02-20 Oliver Schirrmeister + * backend/fujitsu.c: make option RIF available for 3091 and 3092, bugfix + * backend/fujitsu.c: set availability of options THRESHOLD und VARIANCE + +2003-02-20 Oliver Schirrmeister + * backend/fujitsu.c, backend/fujitsu.h: patch from : + fi4220 support + USB support for scanners which send SCSI commands over usb + +2003-02-19 Henning Meier-Geinitz + + * doc/descriptions-external/ma1509.desc: Added description of the + ma1509 backend for Mustek BearPaw 1200F scanners. + * doc/descriptions/unsupported.desc: Added Avision, Brother, and Umax + scanners. Removed Mustek BearPaw 1200F. + * sanei/sanei_usb.c: Check all acceptable interfaces instead of using + the first one. + * tools/sane-find-scanner.c: Check all interfaces. Print a more + definite message when a scanner was found to avoid confusion. + +2003-02-18 Stéphane Voltz + + * backend/umax_pp_low.c: icc compile fixes, and + EPP mode setting fix for direct hardware access + +2003-02-18 Henning Meier-Geinitz + + * po/sane-backends.fr.po: Added more French translations (from Yann E. + MORIN ). + * sanei/sanei_usb.c: usb_clear_halt should only be called in libusb + mode. + +2003-02-17 Henning Meier-Geinitz + + * backend/mustek.c doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: Make sure that the result of the + reader_process is interpreted correctly. Block signals when waiting + for a SCSI request to finish. Otherwise we may get a segfault if the + reader_process is terminated while waiting. + +2003-02-16 Henning Meier-Geinitz + + * doc/doxygen-sanei.conf: Updated version. + * include/sane/sanei_usb.h: Fixed link to USB spec. + * doc/descriptions/unsupported.desc: Added Artec scanners. + * TODO: Updated desc file entry. + * backend/gt68xx.c backend/gt68xx_devices.c doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: + List BearPaw 2400 CS Plus as supported. Make fast preview the default + (otherwise BP 2400 TA Plus wouldn't work with 12/16 bits). Added + vid/pid 0x07b3/0x0400, that's another Plustek OpticPro 1248U. + +2003-02-16 René Rebe + + * backend/avision.h backend/avision.c doc/sane.man + doc/descriptions/avision.desc: update to the latest Avision + backend release. It includes feature and stability improvements + and bug fixes. The sane man-page now mentions that the avision + backend supports more than the AV 630 CS ... + +2003-02-15 Karl Heinz Kremer + + * backend/epson.c backend/epson_usb.[ch]: Fix problem with + "usb syntax in config file + + * backend/epson.c: Move sanei_init_usb() to sane_init(). Thanks + to Ron Cemer for the patch. + +2003-02-13 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Updated Canon, Fujitsu, and + Plustek entries. + * TODO: Added entries about v4l, fujitsu, snapscan. + +2003-02-11 Peter Fales + + * backend/dll.conf, doc/sane-gphoto2.man: Added a commented out + gphoto2 entry in dll.conf, and mentioned it in the man page. + + * backend/gphoto2.c: Bug fixes. Don't coredump if the + gphoto2.conf file is missing, and don't require a speed to + be set if the usb port is used. + +2003-02-11 Peter Kirchgessner + + * backend/hp-handle.c: Fix problem with ifdef/ifndef for threads + +2003-02-11 Henning Meier-Geinitz + + * aclocal.m4 acinclude.m4 configure configure.in: Check for MacOS X + native dynamic loading first before lookinf for libdl. + +2003-02-09 Henning Meier-Geinitz + + * frontend/saned.c sanei/sanei_codec_bin.c sanei/sanei_wire.c: Check + the IP address of the remote host before any communication occurs. + Check for a errors before trsuting values that came from remote. + Make sure that strings are 0-terminated. + * po/Makefile.in po/sane-backends.nl.po: Added dutch (nl) translations + for sane-backends (from Bertrik Sikken ). + * doc/saned.man: More warnings about security issues. Make more clear + that -s and -d can't be used in inetd mode. + * PROBLEMS: Moved "memory exhausted" and missing scsi headers problems + to README.linux. Removed SG_BIG_BUF problem. Rewrote Mustek "exceed + the physical scan area" problem as it applies to most flatbed + scanners. Added info about test backend. Added info about saned + security issues. + * README.linux: Moved "memory exhausted" and missing scsi headers + problems from PROBLEMS. + * TODO: Added saned info. Added artec at3 misdetection. + * configure configure.in NEWS: Updated version number. + +2003-02-09 Stéphane Voltz + + * backend/umax_pp.c: fixed big bug related to color plane + synchronization, which gave blur effect at > 75 dpi + * tools/umax_pp.c: change version number + +2003-02-08 Peter Fales + * backend/dc210.c, backend/dc240.c: Fixes for Irix from + Andrea Suatoni. + +2003-02-06 Henning Meier-Geinitz + + * Makefile.in: Added ChangeLog-1.0.10 to DISTFILES. + * po/Makefile.in po/template.desc po/README: Don't generate po files + with every make. That avoids recreation just because of date changes. + Automatically create new languages on make update. Automatically + generate list of DISTFILES. Added template for header used in new + po files. Updated documentation. + * doc/descriptions/unsupported.desc: Added Genius Colorpage Vivid III. + Added more info for Plustek OpticPro 1212U and U12/UT12. + +2003-02-05 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_high.c + backend/gt68xx_high.h doc/descriptions/gt68xx.desc + doc/descriptions/unsupported.desc doc/gt68xx/gt68xx.CHANGES: + Fixed resolutions for BearPaw 1200 TA. Increase the lowest black + for CCD coarse calibration. Adjusted internal gamma correction. + CCD scanners use color mode for coarse+quality cal now. Preview isn't + always in 8 bit mode now (can be selected by option). Upper and lower + limits for coarse calibration are unified now. Added options for + adjusting gain and offset. + * po/sane-backends.de.po po/sane-backends.es.po po/sane-backends.fr.po + po/sane-backends.pt.po po/sane-backends.ru.po po/sane-backends.sv.po: + Adjusted for new gt68xx options. Updated German translation for + gt68xx. + +2003-02-04 Michael Herder + + * doc/descriptions/artec_eplus48u.desc: + Unified manufacturer names according to Hennings suggestion. + +2003-02-03 Henning Meier-Geinitz + + * doc/sane-backends.pt.po: Fixed UTF character. + +2003-02-02 Peter Kirchgessner + + * backend/hp.c backend/hp-handle.c: Add support for OS/2 + doc/descriptions/hp.desc: Version number changed + +2003-02-02 Jochen Eisinger + + * doc/descriptions/mustek_pp.desc: cleaned up the file a little + +2003-02-02 Henning Meier-Geinitz + + * doc/descriptions/gt68xx.desc doc/descriptions/unsupported.desc: + Unified manufacturer names. Minor bugfixes. + +2003-02-01 Henning Meier-Geinitz + + * configure configure.in: Warnings enabled again. Used extra version + -cvs. + +Older entries can be found in ChangeLog-1.0.10. diff --git a/ChangeLogs/ChangeLog-1.0.13 b/ChangeLogs/ChangeLog-1.0.13 new file mode 100644 index 0000000..a179c54 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.13 @@ -0,0 +1,1349 @@ +****** Release of sane-backends 1.0.13. End of code freeze ****** + +2003-11-13 Henning Meier-Geinitz + + * configure configure.in: New version: 1.0.13. + +2003-11-20 Oliver Schwartz + + * doc/descriptions/snapscan.desc: Added model "SnapScan" + (Bugtrack #300286) + +2003-11-17 Henning Meier-Geinitz + + * po/sane-backends.sv.po: Updated Swedish translation (from + Mattias Ellert ). + +2003-11-16 Henning Meier-Geinitz + + * configure configure.in acinclude.m4 aclocal.m4: Changed check for + linux/videodev.h. If that file is not compilable, we don't build + the v4l backend. That's to avoid compilation errors if videov.h + from Linux kernel 2.6.* is used. Include all the headers we also + include in backend/v4l.c to make sure we find all problems. + * backend/v4l.c: Try to not include linux/videodev2.h to avoid + compilation errors. + +-- snapshot 1.0.13-pre3 +---- CODE FREEZE FOR SANE 1.0.13 --- +2003-11-16 Henning Meier-Geinitz + + * NEWS: Updated. + * configure configure.in: Disabled warnings for release. + +2003-11-15 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Brother DCP 8020 and + UMAX Astra 3600. + +2003-11-14 Eddy De Greef + * doc/sane-mustek_pp.man: added the new libieee1284 style parport + names. + +2003-11-14 Gerhard Jaeger + * backend/plustek.c backend/plustek-usb.cal backend/plustek-usbshading.c + backend/plustek-usbhw.c: Endianess fixes. + +2003-11-13 Eddy De Greef + * backend/mustek_pp_cis.c: accept old style parport names to + ensure backward compatibility with existing mustek_pp.conf files. + +2003-11-13 Peter Fales + * backend/gphoto2.h: Line beginning with "static static" was breaking + compiles on some platforms. + +2003-11-10 Gerhard Jaeger + * backend/Makefile.in: Linking pie backend now against sanei_thread lib. + * backend/pie.c: Switched backend over to sanei_thread usage, to make it + also work with OS/2. + +2003-11-08 Oliver Schwartz + + * backend/snapscan-options.c backend/snapscan.c + Disabled quality calibration for Epson Perfection 1670 since it does + not work reliably yet + +2003-11-09 Henning Meier-Geinitz + + * doc/descriptions-external/lhii.desc: Added (back) the links to + the external lhii backend that supports old handscanners. + +-- snapshot 1.0.13-pre2 + +2003-11-09 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Removed Epson Perfection + 1670. It's now supported by the snapscan backend. + +2003-11-08 Oliver Schwartz + + * backend/snapscan-options.c backend/snapscan-usb.c + Fix TPO range for Epson 1670, fix compiler warnings on gcc 3.3 + +2003-11-08 Oliver Schwartz + + * backend/snapscan-scsi.c backend/snapscan.c doc/descriptions/snapscan.desc: + Final bugfixes for Epson 1670 + +2003-11-07 Henning Meier-Geinitz + + * README.openbsd: Added info about setting permissions (Bug #300311). + * doc/descriptions/unsupported.desc: Added Genius and Lexmark scanners. + +2003-11-07 Oliver Schirrmeister + + * backend/fujitsu.c: Bugfix. If a scanner returned a color image + in format rr...r gg.g bb...b the reader process crashed. + * backend/fujitsu.[ch] Bugfix. The option gamma was enabled for + the fi-4120. The result was an 'invalid field in parm list'-error. + * doc/descriptions/fujitsu.desc: added model "fi-4530C" + +2003-11-06 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Microtek and Visioneer + scanners. + +2003-11-04 m. allan noah + + * doc/descriptions/fujitsu.desc: added model "fi-4110EOX2" + +2003-11-04 Gerhard Jaeger + * backend/Makefile.in: Linking coolscan now against sanei_thread lib. + * backend/coolscan.c backend/coolscan.h: Switched backend over to + sanei_thread usage, to make it work at least with OS/2. + * backend/plustek-pp_misc.c backend/plustek-pp_hwdefs.h: Fixed bug + in parport setup routine. + * sanei/sanei_pp.c: Fixed problem in sanei_pp_setmode(). + Fixed parport mode setting in direct mode. + +2003-11-02 Julien Blache + * frontend/saned.c: fixed endianness issues in + check_v{4,6}_in_range(), also fixed portability issues to other + UNIX platforms due to different representations of IPv6 addresses. + +2003-11-02 Gerhard Jaeger + * doc/descriptions/unsupported.desc: Added Plustek OpticSlim 2400. + * include/sanei/sanei_thread.h: Removed OS/2 porting section. + * sanei/sanei_pp.c include/sanei/sanei_pp.h: + Fixed udelay stuff, documentation update. + +2003-11-02 Henning Meier-Geinitz + + * backend/Makefile.in: sanei_pp must be linked if we preload + backends. + +---- FEATURE FREEZE FOR SANE 1.0.13 --- +-- snapshot 1.0.13-pre1 + +2003-11-02 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added PIE Powerslide 3600. + * NEWS: Updated for 1.0.13. + +2003-10-30 Gerhard Jaeger + * sanei/lib/sanei_pp.c: Made sanei_pp_set_datadir work in no ieee1284 mode. + Fixed a minor bug in delay calculation. + * include/sanei/sanei_pp.h: Added some control-port definitions. + * backend/plustek_pp.c backend/plustek-pp*: + Made PS/2 bidirectional mode work. + * doc/plustek/PLUSTEK-PARPORT.txt: Update. + +2003-10-29 Henning Meier-Geinitz + + * backend/Makefile.in backend/mustek.c backend/mustek.h + doc/descriptions/mustek.desc doc/mustek/mustek.CHANGES: + Added support for sanei_thread. Removed OS/2 specific code. + Added more debug messages. + * doc/saned.man: Added more info about firewall trouble. + +2003-10-29 Gerhard Jaeger + * sanei/lib/sanei_pp.c include/sanei/sanei_pp.h: + Added functions sanei_pp_set_datadir() and sanei_pp_uses_directio(). + Added some documentation. + * doc/plustek/PLUSTEK-PARPORT.txt doc/plustek/PLUSTEK-PARPORT-TODO.txt + doc/plustek/PLUSTEK-USB-TODO.txt: Updates. + * backend/plustek_pp.c backend/plustek-pp_*: Made usage of the new + sanei_pp functions, made EPP modes work with libieee1284. Also some + cleanup work. + +2003-10-28 Henning Meier-Geinitz + + * doc/sane-scsi.man: Added hint for setting device permissions for + /dev/xpt0 for FreeBSD users. + * AUTHORS backend/artec.c backend/artec.h doc/sane-artec.man: + Fixed Chris Pinkham's email address. + * doc/descriptions/unsupported.desc: Added Microtek ScanMaker 4900. + +2003-10-28 Rene Rebe + * backend/avision.h backend/avision.c doc/descriptions/avision.desc + backend/avision.conf AUTHORS: merge of the current Subversion + revision of SANE/Avision. The fixes include: endianess fixes, + calibration code, ADF detection, correct lamp warmup, gamma table + for new ASICs, some workarounds for ASIC variations and the + convertion to use OPT_SOURCE instead of seperate OPT_ADF and + OPT_TRANS. Also fixed Bugs #300288 and #300196 and removed + the conflicting Option_Valu now present in sanei_backend.h + * doc/sane-avision.man: made requested clarifications (Bugs #300290, + #300291) + +2003-10-28 Gerhard Jaeger + * doc/sane-plustek.man backend/plustek.conf backend/plustek.c: + Changed configuration file back to remain compatible with the old format. + +2003-10-27 Karl Heinz Kremer + * backend/epson.c: Replaced all DBG(0, statements with + DBG(1, ... to avoid logging messages the user should + not see anyways. + +2003-10-27 Gerhard Jaeger + * sanei/lib/sanei_pp.c: Fixed OS/2 compilation problems. + * doc/descriptions/plustek_pp.desc: + Updated status of Primax Compact 4800 Direct 30bit. + +2003-10-26 Gerhard Jaeger + + * configure.in configure include/sanei/config.in.h: + Added check for limits.h - HAVE_LIMITS_H. + * sanei/lib/sanei_pp.c include /sanei/sanei_pp.h: + Added sanei_pp_init() and sanei_pp_udelay(). + * backend/plustek_pp.c backend/plustek-pp_misc.c backend/plustek-pp_scan.h: + Fixed compiler warnings, using now sanei_pp_udelay() and + made the backend work with libieee1284. + +---- BACKEND FREEZE FOR SANE 1.0.13 --- + +2003-10-24 Peter Kirchgessner + * backend/hp.c, backend/hp-handle.c, backend/Makefile.in: + second check-in: use new sanei_thread-interface for hp-backend + +2003-10-24 Henning Meier-Geinitz + + * doc/descriptions-external/hp_rts88xx.desc: Added description + file of new hp_rts88xx backend for HP 44x0 scanners (from + Johannes Hub ). + * doc/descriptions/unsupported.desc: Added Minolta DiMAGE Scan + Elite 5400. Removed HP 44x0 (now supported by hp_rts88xx + backend). Updated Epson Perfection 3170. Updated Plustek + S24/ST24. + * doc/descriptions/avision.desc doc/descriptions/canon.desc + doc/descriptions/sharp.desc: Updated to new status values. + Bugs: #300146, #300147, #300154. + * include/sane/sanei_thread.h: Updated doxygen documentation + for new sanei_thread interface. + +2003-10-23 Frank Zago + + * README.windows: added note about libusb port for cygwin. + +2003-10-23 Gerhard Jaeger + + * backend/plustek.c backend/plustek-usb.c: + fixed bug, that causes CanoScan devices to use the wrong calibration + functions, sanei_usb_get_vendor_product() fails. + * sanei/sanei_pp.c: + Added sanei_pp_getmode, fixed conditional compilation stuff. + * include/sanei/sanei_pp.h: + Added sanei_pp_getmode and SANEI_PP_MODE definitions. + * backend/plustek_pp.c backend/plustek-pp.h backend/plustek-pp_misc.c: + Added parport-mode detection. + +2003-10-22 Peter Kirchgessner + * backend/hp.c, backend/hp-handle.c, backend/Makefile.in: + use new sanei_thread-interface for hp-backend + +2003-10-22 Gerard Klaver + * doc/descriptions/teco2.desc backend/teco2.conf doc/sane-teco2.man: + Mustek ScanMagic 4830S added. + * doc/sane-teco2.man: maintainer Gerard Klaver added, text update. + * doc/teco/teco2.txt: data VM3564 Relisys AVEC II S3 added. + +2003-10-22 Julien Blache + * frontend/saned.c: replaced in_addr_t mask; by u_int32_t mask; in + check_v4_in_range(). in_addr_t doesn't seem to exist on OS/2, and + it's nothing more than an unsigned 32 bits integer. + +2003-10-22 Gerhard Jaeger + + * configure configure.in include/sane/config.in.h: added checks for iopl. + * sanei/sanei_pp.c sanei/Makefile.in + include/sanei/sanei_pp.h include/sanei/Makefile.in: added generic + parallel-port function lib. + * backend/plustek-pp* backend/plustek_pp.c: major update, sanei_pp + integration, compilation fixes. + * backend/plustek.c: fixed, the "generic disable" switch + +2003-10-21 Oliver Schwartz + + * backend/snapscan.h backend/snapscan.c backend/snapscan-option.c + backend/snapscan-scsi.c backend/snapscan.conf: Bugfixes, + hopefully better support for Epson 1670. + +2003-10-21 Henning Meier-Geinitz + + * doc/descriptions-external/epkowa.desc: Added Perfection 1670 as + "unsupported". Changes status of 1260 PHOTO to :basic because of + broken TPU support. Fixed missing quotation mark in Perfection + 1200S entry. + * AUTHORS: Oliver Schirrmeister has a CVS account now. + * doc/sane-mustek_usb.man: Added workaround for hardware bug. + +2003-10-21 Stéphane Voltz + * doc/sane-umax_pp.man: added help for new configuration option + * tools/umax_pp.c: uppded version number + +2003-10-20 Frank Zago + * README.aix doc/sane-leo.man doc/sane-matsushita.man + doc/sane-sceptre.man doc/sane-teco1.man doc/sane-teco2.man + doc/sane-teco3.man doc/descriptions/leo.desc + doc/descriptions/matsushita.desc doc/descriptions/sceptre.desc + doc/descriptions/teco1.desc doc/descriptions/teco2.desc + doc/descriptions/teco3.desc doc/descriptions-external/hp4200.desc: + fixed urls. + +2003-10-19 m. allan noah + + * backend/fujitsu.c: reverse previous patch. Dont blindly trust + code from the backend maintainer :) + +2003-10-19 Julien Blache + * frontend/saned.c: added subnet support to saned ; added + check_v4_in_range and check_v6_in_range functions. + * backend/saned.conf: updated the config file. + * doc/saned.man: updated the manpage for saned. + +2003-10-18 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added HP ScanJet 3670. + * doc/descriptions-external/epkowa.desc: Added description file + for the external Epson Kowa backend. + +2003-10-17 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Reflecta iScan + 1800. Updated information for Epson Perfection 1670. + * README.linux: Added information about compilation problems when + Linux 2.6 is installed. + * tools/sane-desc.c: In error and warning messages print the name + of the description file. Print warning if the status is not set + for a device. + * backend/test.c: Reindented. + * AUTHORS: Nathan Ruthman has CVS access now. + +2003-10-17 Karl Heinz Kremer + + * doc/descriptions/epson.desc: Fixed bug #30149 (added :status information for all scanners) + +2003-10-17 Gerhard Jaeger + + * acinclude.m4 aclocal.m4 configure: Added -D_REENTRANT to compiler + flags, when using pthread support. + * sanei/sanei_thread.c: Added SIGPIPE handling, + when compiled for pthread support. + * backend/test.c: Removed blocking SIGPIPE, as this is now handled + in sanei_thread library. + * backend/plustek.h backend/plustek.c backend/plustek-usbhw.c: + Added checks for intervaltimer, to make it compile on OS/2. + +2003-10-16 m. allan noah + + * backend/fujitsu.c: memset the device struct and the scsi buff + when a new device is attached. Submitted by + Chris Chesney . + Initialized a couple vars in the 3091 init routines. + +2003-10-15 Henning Meier-Geinitz + + * AUTHORS: Marked maintainers that have CVS access with a + (*). Added m. allan noah to fujitsu backend. Added Julien Blache + and Petter Reinholdtsen to "Miscellaneous coding". Removed + Petter Reinholdtsen from "CVS repository maintainer". + * doc/sane-usb.man: sane-find-scanner is in section 1, not 5. + +2003-10-15 Gerhard Jaeger + + * include/sanei/config.h.in configure.in configure: + Added test for setitimer. + +2003-10-14 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Pentax, Sicos, Syscan, + and UMAX scanners. + +2003-10-13 Henning Meier-Geinitz + + * backend/gt68xx_low.c: Fixed compilation bug when debugging is + disabled. + * backend/test.c doc/descriptions/test.desc: Fixed cancelling when + threads are used. Only SIGPIPE is blocked now. Sleep indefinetly + after the reader_process has finished. Minor fixes of debug + messages. + +2003-10-13 Gerhard Jaeger + + * sanei/sanei_thread.c include/sane/sanei_thread.h: Fixed OS/2 compilation + * sanei/sanei_lm983x.c include/sane/sanei_lm983x.h: Copyright update + +2003-10-12 Gerhard Jaeger + + * sanei/sanei_thread.[ch]: Improved OS/2 support + * backend/test.c: removed OS/2 section + +2003-10-12 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Memorex, TCE and Optrox + scanners. + +2003-10-10 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Canon DR-2080C. Updated + some links. + * backend/mustek_pp_ccd.conf doc/sane-mustek_pp_ccd.man: Explained + that libieee1284 device names like "parport0" can also be used. + +2003-10-10 Gerhard Jaeger + + * sanei/sanei_thread.c: Fixed some compilation errors on Darwin and OS/2 + Fixed segfault condition in sanei_thread_waitpid + +2003-10-09 Peter Kirchgessner + + * backend/hp.c backend/hp-option.c backend/hp-scl.c: + Bug #300241: fix invers image on 3c/4c/6100C at 10 bit depth + Redo when TEST UNIT READY failed + Redo when read returns with 0 bytes (non-SCSI only) + * doc/sane-hp.man: Add environment SANE_HP_RDREDO, SANE_HOME_HP + +2003-10-09 Stéphane Voltz + + * backend/umax_pp.c backend/umax_pp_low.h backend/umax_pp.h + backend/umax_pp_mid.c backend/umax_pp_low.c backend/umax_pp_mid.h + backend/umax_pp.conf: added automatic parallel port detection, + and special keyword in configuration file to use it. + +2003-10-08 Gerhard Jaeger + + * backend/Makefile.in : linking plustek_pp- and test-backend against + sanei_thread + * backend/test.[ch]: added sanei_thread support + * backend/test-picture.ch: fixed compiler warnings + * backend/plustek.[ch] backend/plustek_pp.c backend/plustek-pp.h: + changes due to the sanei_thread-lib work + * sanei/sanei_thread.c include/sane/sanei_thread.h: improved + support of pthreads, changed behaviour of sanei_thread_kill(), + added functions sanei_thread_sendsig() and sanei_thread_get_status() + changed behaviour of sanei_thread_waitpid(), changed parameters + of sanei_thread_begin() + +2003-10-08 Henning Meier-Geinitz + + * backend/canon630u.c: Workaround for bug in canon630u backend: + The backend assumes that the id it gets back from sanei_usb_open + is a file descriptor. It isn't. So sane_get_select_fd returns + just a random number. That breaks at least saned, other + frontends may not work either. This is a workaround for bug + #300257. + +2003-10-07 m. allan noah + + * backend/fujitsu.c: removed ~25 '_' from option names (#300139) + * backend/fujitsu.conf: added lines for known usb scanners + +2003-10-07 Oliver Schwartz + * backend/snapscan.h backend/snapscan-scsi.c + Updates for Epson Perfection 1670 + +2003-10-07 Oliver Schwartz + * backend/snapscan.h backend/snapscan.c backend/snapscan-option.c + Initial support for Epson Perfection 1670, minor bugfix + (#300247) + +2003-10-07 Henning Meier-Geinitz + + * acinclude.m4 aclocal.m4 configure.in configure + include/sane/config.h.in sanei/sanei_thread.c: More verbose help + messages for --enable-fork-process. Print message about pthread + support after all the tests. If libpthread isn't available, try if + libc supports pthreead_*. Use macro USE_PTHREAD to check if + threads are used in the code. + * backend/Makefile.in: Added sanei_pthread.lo to list of object + files needed for preloading. + +2003-10-07 Gerhard Jaeger + + * aclocal.m4 acinlcude.m4 configure configure.in: modified checks for + pthread support, added switch --enable-fork-process which toggles + between the usage of fork and pthread, set the default behaviour to + pthread usage on Darwin + * include/sane/config.h: added the HAVE_LIBPTHRAD stuff + * sanei/sanei_thread.c include/sane/sanei_thread.h: fixed compilation issue + on OS/2, added support for fork too, so that we can use sanei_thread + functions in any case. + * backend/plustek.[ch]: changes due to the sanei_thread-lib work + +2003-10-06 m. allan noah + + * backend/fujitsu.[ch]: Added support for color modes of fi-4x20C and + fi-4340C, maybe others as well. + +2003-10-06 Peter Kirchgessner + + * backend/hp.c, backend/hp-option.h: Bug #300248 fixed + (correct "Negatives" in option description to "Negative") + +2003-10-06 Henning Meier-Geinitz + + * doc/Makefile.in: Remove doxygen-sanei.conf in clean target. + * sanei/sanei_pa4s2.c: Made some internal functions static. + +2003-10-06 Thomas Soumarmon + + * backend/hp5400_*: fixed bug #300252 : added static to all non + SANE specific functions + changed #include into + #include "../include/sane/..." as mentioned in the + backend-writing.txt file + +2003-10-05 Gerhard Jaeger + + * aclocal.m4 configure configure.in: added checks for pthread.h and + added linker option -lpthread if pthread.h is found + * include/sane/config.in.h: added HAVE_PTHREAD_H + * sanei/sanei_thread.c include/sane/sanei_thread.h: added pthread_ + functions to library, so every backend is able to use either fork or + pthread for its reader-process - see plustek backend for example + * backend/plustek.h backend/plustek.c: added sanei_thread stuff to support + threading on MacOS X + * backend/plustek_pp*: some cleanup + +2003-10-05 Henning Meier-Geinitz + + * backend/microtek2.h backend/test.c include/sane/saneopts.h: + Fixed some missing or duplicated spaces in option descriptions. + * backend/canon630u.c: Option names shouldn't be translated. + * backend/mustek.c: Use the same title for brightness as in other + backends. + * po/sane-backends.de.po: Fixed minor bugs. + * po/sane-backends.sv.po: Updated (from Mattias Ellert + ). + * po/sane-backends.bg.po po/sane-backends.cs.po + po/sane-backends.es.po po/sane-backends.fr.po + po/sane-backends.it.po po/sane-backends.nl.po + po/sane-backends.no.po po/sane-backends.pt.po + po/sane-backends.ru.po: Regenerated. + * doc/descriptions/unsupported.desc: Added Epson Perfection 3170, + Packard Bell Diamond 1200, and Visioneer PaperPort + 3100b. Updated Epson Perfection 1670. + +2003-10-04 Karl Heinz Kremer + + * backend/epson.[ch]: Fixed bug 300246 - Use SANE_TITLE_SCAN_SPEED + (and DESC and NAME) from saneopts.h instead of my own strings. + Fixed typo in gamma correction description. + Start two descriptions with a capital character. + +2003-10-04 Henning Meier-Geinitz + + * AUTHORS configure configure.in backend/Makefile.in backend/dll.conf + backend/mustek_pp_ccd.c backend/mustek_pp_ccd.conf backend/mustek_pp_ccd.h + doc/Makefile.in doc/sane.man doc/sane-mustek_pp_ccd.man + doc/descriptions/mustek_pp_ccd.desc: Added back old mustek_pp + backend. That backend supports Mustek CCD scanners. The backend + was renamed to mustek_pp_ccd to avoid conflicts with the new + mustek_pp backend for CIS scanners. The code was taken from + sane-backends 1.0.9. This is only a temporary solution. The goal + is to incooperate CCD and CIS support into mustek_pp. + * doc/sane-mustek_pp.man doc/descriptions/mustek_pp.desc: Added + links to the mustek_pp_ccd backend. Removed scanners supported by + mustek_pp_ccd. + +2003-10-03 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Microtek ScanMaker + 5900. + * doc/descriptions/umax1220u.desc: Converted to new + format (bug #300155). Commented out unsupported UMAX Astra 2200U + to avoid confusion. + * doc/Makefile.in: Cleanup. Removed install target for + mostang.com. + * doc/descriptions/microtek2.desc: Converted to new + format (bug #300153). Commented out ScanMaker 9600XL (was + mentioned twice?). + * doc/descriptions/hpsj5s.desc: Converted to new format (bug + #300151). Added comment about only gray mode. + * doc/descriptions/fujitsu.desc: Converted to new format (bug + #300150). + * doc/descriptions/canon630u.desc: Converted to new format (bug + #300148). + +2003-10-03 Karl Heinz Kremer + + * doc/descriptions/epson.desc: Changed "status" information + +2003-10-02 Gerhard Jaeger + + * backend/plustek_pp* backend/plustek-usb*: fixed some OS/2 compiling issues + * doc/plustek: fixed module compilation stuff and increase version number + +2003-10-02 Peter Fales + * backend/gphoto2.c backend/gphoto2.h: Try to handle the case where + the camera has a corrupt file that can't be decoded as a JPEG + image. + +2003-10-01 Eddy De Greef + + * doc/sane-mustek_pp.man, doc/descriptions/mustek_pp.desc: + Added Mustek 96 CP to list of supported scanners. + +2003-09-30 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Fixed links to messages in + the mailing list archive. + * configure configure.in doc/Makefile.in doc/doxygen-sanei.conf + doc/doxygen-sanei.conf.in: Automatically update the version + number of SANE in the doxygen documentation. + * doc/backend-writing.txt doc/sane.man: Updated links to sanei + documentation. + * doc/.cvsignore include/sane/sanei.h include/sane/sanei_scsi.h: + Minor fixes for sanei documentation. + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_high.c doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Added detection of Genius Vivid 4x. + It won't work out-of-the-box, however. CCD coarse calib + shouldn't run into an endless loop anymore. Plustek 1248U + is much faster now. + +2003-09-30 Gerhard Jaeger + + * doc/descriptions/unsupported.desc: removed OpticSlim entry + * doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES + doc/sane-gt68xx.man backend/gt68xx.conf: added Plustek OpticSlim entry + * backend/gt68xx_devices.c: added settings for Plustek OpticSlim 1200 + +2003-09-29 Gerhard Jaeger + + * doc/sane-plustek.man: minor update + * backend/plustek.c: changed version number, cleanup + * backend/plustek-usb*.c: cleanup + * backend/plustek-pp.*: cleanup + * backend/plustek-share.h: removed, no longer needed + * backend/Makefile.in: removed reference to plustek-share.h + +2003-09-28 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Enhans, Genius and UMAX + scanners. + * backend/test.c doc/descriptions/test.desc: Some options had + wrong constraints or didn't match their descriptions (bug + #300235). + +2003-09-25 Frank Zago + + * README.windows: updated status of xscanimage and XSane. + +2003-09-25 Henning Meier-Geinitz + + * po/Makefile.in: Added plustek_pp.c. + * po/sane-backends.nl.po: Updated Dutch translation (from Martin + Kho ). + * po/sane-backends.bg.po po/sane-backends.cs.po po/sane-backends.de.po + po/sane-backends.es.po po/sane-backends.fr.po po/sane-backends.it.po + po/sane-backends.no.po po/sane-backends.pt.po po/sane-backends.ru.po + po/sane-backends.sv.po: Regenerated. + * doc/Makefile.in: Fixed link to image in HTML manpages. + +2003-09-24 Oliver Schwartz + + * backends/snapscan.c: check second argument of sanei_config_get_string + (Bug #300198) + +2003-09-24 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Changed links to point to + sane-project.org. + * TODO: Removed. Please use the bug tracking system at + http://www.sane-project.org/bugs.html instead. + * README README:os2 configure configure.in: Updated contact + information (website, mailing lists, bug tracker). Minor fixes. + * backend/mustek.c: Fixed sane-devel address. + * doc/backend-writing.txt doc/releases.txt: Updated contact + information. Spelling fixes. Minor updates. + * doc/sane.man: Updated contact information. Removed contributing + section (now on homepage). Spelling fixes, general updates. + * sane-abaton.man sane-agfafocus.man sane-apple.man sane-bh.man + sane-dc210.man sane-dc240.man sane-dc25.man sane-gphoto2.man + sane-hp.man sane-microtek2.man sane-microtek.man + sane-mustek.man sane-mustek_pp.man sane-pint.man + sane-st400.man sane-usb.man sane-v4l.man: Updated links to + sane-devel and SANE homepage. + * sane.tex: Changed homepage and sane-devel-request address. + * doc/Makefile.in: Added README.windows. + * doc/canon/canon.install2700F.txt: Updated links. + * include/sane/sanei.h include/sane/sanei_usb.h: Updated links. + * tools/sane-desc.c: Changed links to sane-project.org. Mentioned bug + tracker. Added contact link. Removed link to special USB and + Parport lists (now on static web pages). + * tools/sane-config.in: Updated links. + +2003-09-24 Gerhard Jaeger + + * doc/sane.man, AUTHORS: added plustek_pp information + * doc/backend-writing.txt: Updated CHECKLIST information + * doc/sane-plustek.man: removed parport sections + * doc/sane-plustek_pp.man: removed usb sections + * backend/plustek.c: changed version number + * backend/plustek-usb*.c: minor fixes, esp. CanoScan LiDE30 gray/color bug + * backend/plustek-pp.*: changed file headers and copyright info + applied some minor fixes + * doc/unsupported.desc: Added Plustek OpticPro S28 and S48 + * Makefile.in doc/Makefile.in: + removed TODO, as this file does no longer exist + * doc/plustek/*: changed links to www.sane-project.org (Bug #300215) + +2003-09-23 Frank Zago + + * Makefile.in NEWS configure configure.in backend/Makefile.in + backend/dll.c include/sane/config.h.in sanei/sanei_scsi.c + tools/sane-find-scanner.c: cygwin port. + +2003-09-23 Gerhard Jaeger + + * configure.in: added new backend plustek_pp + * doc/descriptions/plustek_pp.desc : added + * doc/plustek/*: added/updated various doc-files + * doc/sane-plustek_pp.man doc/Makefile.in : added new man page + * backend/dll.conf : added plustek_pp + * backend/Makefile.in : added plustek_pp files, updated plustek files + * backend/plustek-devs.c backend/pustek-pp.c : removed + * backend/plustek-usbcalfile.c backend/plustek-usbcal.c + backend/plustek-usbdevs.c: new files for the plustek usb backend + * backend/plustek_pp.c backend/plustek_pp.conf + * backend/plustek-pp.h backend/plustek-pp_dac.c backend/plustek-pp_dbg.h + backend/plustek-pp_detect.c backend/plustek-pp_genericio.c + backend/plustek-pp_hwdefs.h backend/plustek-pp_image.c + backend/plustek-pp_io.c backend/plustek-pp_map.c backend/plustek-pp_misc.c + backend/plustek-pp_models.c backend/plustek-pp_motor.c + backend/plustek-pp_p12.c backend/plustek-pp_p12ccd.c + backend/plustek-pp_p48xx.c backend/plustek-pp_p9636.c + backend/plustek-pp_procfs.c backend/plustek-pp_procs.h + backend/plustek-pp_ptdrv.c backend/plustek-pp_scale.c + backend/plustek-pp_scan.h backend/plustek-pp_scandata.h + backend/plustek-pp_sysdep.h backend/plustek-pp_tpa.c + backend/plustek-pp_types.h backend/plustek-pp_wrapper.c : + new added, contains all the code necessary for controlling various Plustek + ASIC 9600x/9800x based parallelport scanner + +2003-09-21 Henning Meier-Geinitz + + * tools/sane-desc.c: PATH_MAX is too small for long comments on + win32. Actually return 0 if there is no second quotation mark. + Patch from Frank Zago . Check + for !word everywhere to avoid segfaults when a quotation mark is + missing. + * sanei/sanei_config.c: Actually return 0 if there is no second + quotation mark. + * backend/ma1509.c backend/mustek.c backend/mustek_usb.c + backend/test.c doc/descriptions/ma1509.desc + doc/descriptions/mustek.desc doc/descriptions/mustek_usb.desc + doc/descriptions/test.desc doc/mustek/mustek.CHANGES + doc/mustek_usb/mustek_usb.CHANGES: Check if + sanei_config_get_string fails because of a single quotation mark + in the configuration file. Update version numbers. + +2003-09-19 Henning Meier-Geinitz + + * doc/descriptions/microtek.desc: Used new :status scheme. Added + Vobis Highscreen Realscan and Genius Colorpage-SP2. + * doc/descriptions/unsupported.desc: Added HP, Microtek and UMAX + scanners. + +2003-09-18 Stéphane Voltz + + * backend/sane-umax_pp.c: fix default port address handling + (patch from Malcolm Parsons ) + * configure.in configure include/sane/config.h.in: added detection of + machine/cpufunc.h and i386_set_ioperm() for FreeBSD support. + + +2003-09-16 Stéphane Voltz + + * doc/sane-umax_pp_low.man: updated man page + +2003-09-15 Simon Munton + + * doc/sane-pie.man doc/descriptions/pie.desc: Updated status of ScanAce + III to 'good' based on feedback from Brian Wood. + +2003-09-14 Karl Heinz Kremer + + * backend/epson.c: put Henning's #include change back in. + +2003-09-14 Stéphane Voltz + + * backend/umax_pp_low.c: reworked inb/out functions. The backend now + works on FreeBSD. + +2003-09-12 Karl Heinz Kremer + + * backend/epson.c: Increment only once in loop to find USB scanners, + fix rounding error when calculating number of lines to scan. + +2003-09-12 Eddy De Greef + + * AUTHORS, backend/mustek_pp_cis.c, backend/mustek_pp_cis.h, + doc/sane-mustek_pp.man: Updated e-mail address. + +2003-09-12 Henning Meier-Geinitz + + * doc/.cvsignore sanei/.cvsignore: Added .libs. Sorted. + * doc/descriptions/unsupported.desc: Updated HP ScanJet 2300c + and 2400c. + * backend/abaton.c backend/abaton.h backend/agfafocus.c + backend/agfafocus.h backend/apple.c backend/apple.h + backend/artec.h backend/artec_eplus48u.h backend/as6e.c + backend/as6e.h backend/avision.h backend/bh.c backend/bh.h + backend/canon.c backend/canon.h backend/coolscan.h backend/dmc.c + backend/dmc.h backend/epson.c backend/epson.h backend/fujitsu.h + backend/gt68xx.c backend/gt68xx_high.h backend/ibm.c backend/ibm.h + backend/leo.h backend/ma1509.c backend/ma1509.h + backend/matsushita.h backend/microtek.c backend/microtek.h + backend/microtek2.c backend/microtek2.h backend/mustek.c + backend/mustek.h backend/mustek_pp.c backend/mustek_pp.h + backend/mustek_usb.c backend/mustek_usb_high.h backend/nec.c + backend/nec.h backend/pie.c backend/pint.c backend/pint.h + backend/plustek.h backend/qcam.c backend/qcam.h backend/ricoh.c + backend/ricoh.h backend/sceptre.h backend/sharp.c backend/sharp.h + backend/sm3600.c backend/sm3600.h backend/snapscan.c + backend/snapscan.h backend/tamarack.c backend/tamarack.h + backend/teco1.h backend/teco2.h backend/teco3.h backend/test.h + backend/umax.c backend/umax.h backend/umax_pp.c backend/umax_pp.h + backend/v4l.c backend/v4l.h include/sane/sanei_backend.h: + Moved union Option_Value from backend header files to + sanei_backend.h. No need to copy it over and over again. + Changed header inclusion order in backend files to include + backend.h after sanei_backend.h. Based on a patch from stef + . + +2003-09-09 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Canon Lide 80, updated + Canon and HP information. + +2003-08-27 Henning Meier-Geinitz + + * backend/gt68xx.c doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: + Added Mustek ScanMagic 1200 UB Plus. Minor bugfix. + * doc/descriptions/unsupported.desc: Added UMAX Astra 4450 and + Mustek BearPaw 2448 TA Pro. Updated Canon CanoScan 5000F. + +2003-08-22 Henning Meier-Geinitz + + * po/Makefile.in po/sane-backends.it.po: Added Italien translation + (from Luca Clemente ). + +2003-08-22 Karl Heinz Kremer + + * backend/epson*.[ch]: Fixed compile problem on Linux + Code cleanup to get rid of compiler warnings + +2003-08-21 Karl Heinz Kremer + + * backend/epson.c: Removed '//' comments - again ... + Added EPSON KOWA copyright + +2003-08-21 Henning Meier-Geinitz + + * README.darwin sanei/sanei_scsi.c: Added support for the + MacOS X IOKit SCSI Architecture Model API. Added support for + Firewire scanners. Patch from Guy Brooker . + * TODO: Added entries for mustek patch, sanei_usb devfs trouble, + and moving of Option_Value. Updated .desc file section. + * doc/descriptions/unsupported.desc: Updated sections about + Canon, Epson, HP, Medion, Microtek, Mustek, and Xerox scanners. + +2003-07-22 Oliver Schwartz + + * backend/snapscan.c backend/snapscan.h backend/snapscan-scsi.c + backend/snapscan-options.c backend/snapscan.conf: Backend version + 1.4.27 (ID cleanup, fix for firmware download of Acer 310/320, + new USB ID for Acer 310) + +2003-08-17 Stéphane Voltz + + * backend/umax_pp.c backend/umax_pp.h: revert change for UTA + +2003-08-15 Karl Heinz Kremer + + * backend/epson.[ch]: Added support for GT-30000, with support for the + ADF in simplex mode (used some code from the EPSON Kowa IScan version + of the backend) + * backend/epson_scsi.c: Use sanei_scsi_cmd2() to send commands to fix a problem + with SBP-2 under FreeBSD + +2003-08-15 Stéphane Voltz + + * backend/umax_pp.c backend/umax_pp.h: added a check of values passed + in gamma table. Fixed a bug which prevented custom gamm and UTA to be + active + +2003-08-14 Gerhard Jaeger + + * doc/sane-plustek.man: Added debug description + * backend/plustek.c backend/plustek-usbhw.c backend/plustek-usbshading.c + backend/plustek-usbscan.c backend/plustek-devs.c + Fixed warmup bug + Fixed EPSON12x0 and CanoScan hangs during init step + Some fine-tuning for the CanoScan devices + +2003-08-10 Gerhard Jaeger + + * doc/descriptions/plustek.desc: Update to new keywords, + added Genius Colorpage HR6X EPP + * TODO: moved Plustek topics to done section + +2003-08-07 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Plustek OpticSlim 1200. + Updated Mustek Paragon 600 II ED/EP information. + +2003-07-31 Peter Kirchgessner + + * doc/descriptions/hp.desc: Add status by model + +2003-07-31 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: All the unsupported entries + that pointed to .txt files have links to HTML pages now. + +2003-07-29 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Minolta and Visioneer + scanners. Updated Avision, Medion, and UMAX scanners. + * tools/check-usb-chip.c: Added test for Genesys Logig GL660 + + GL646 combination. Added some more messages about what's going + on. + * TODO: Added frontend linking issue and color management + discussion. Removed sanei_jpeg move and avision patch entries. + Updated global init issue and desc file entry. + * po/sane-backends.bg.po: Updated Bulgarian translation (from + Pavel Constantinov ). + +2003-07-29 Matthew Duggan + + * backend/canon_pp.c: Reset globals in sane_exit. + +2003-07-28 Andras Major + + * doc/descriptions/coolscan2.desc: changed IEEE1394 + to IEEE-1394 and changed to new status keyword scheme. + +2003-07-28 Henning Meier-Geinitz + + * po/Makefile.in po/sane-backends.bg.po: Added Bulgarian + translation (from Pavel Constantinov + ). + +2003-07-28 Thomas Soumarmon + * doc/descriptions/hp5400.desc : changed status to basic + +2003-07-28 Thomas Soumarmon + * backend/hp5400_* : moved constant initialization to sane_init + and sane_exit + removed some compilation warnings. + +2003-07-27 Henning Meier-Geinitz + + * Makefile.in backend/Makefile.in doc/Makefile.in + frontend/Makefile.in include/Makefile.in sanei/Makefile.in: Minor + cleanup from the jpeg move. Reverted frontend link order. + +2003-07-26 Oliver Schwartz + + * backend/snapscan-usb.c backend/snapscan-usb.h: + Changed license to GPL + SANE exception. + +2003-07-26 Peter Fales + * sanei/Makefile.in, backend/cderror.h, backend/jinclude.h, + backend/dc210.c, backend/dc240.c, backend/ gphoto2.c, + backend/djpeg.c, backend/cdjpeg.h, backend/Makefile.in, configure + configure.in, frontend/Makefile.in: Move jpeg support file + to sanei directofiles to include/sane, and associated + configure changes + +2003-07-26 Henning Meier-Geinitz + + * include/sane/sanei.h include/sane/sanei_codec_ascii.h + include/sane/sanei_codec_bin.h include/sane/saneopts.h: Changed + license to GPL + SANE exception. + * AUTHORS frontend/scanimage.c: Updated email address of Andreas + Beck. + * include/lalloca.h include/lassert.h: Changed + license to GPL + SANE exception. + * LICENSE: Clarify that not all backends us GPL + SANE exception. + Fixed pointer to README.djpeg. + * sanei/linux_sg3_err.h: Added GPL + SANE exception license. + +2003-07-25 Peter Fales + * include/sane/sanei_cderror.h, include/sane/sanei_jinclude.h + include/sane/sanei_jpeg.h sanei/sanei_jpeg.c: Install these + files as copies of the ones currently in backend. (The old + files will be deleted later) + * Moved backend/djpeg.README to README.djpeg and added usage info + +2003-07-25 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx.conf doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Added + Fujitsu 1200CUS to man page, .conf and .desc. Changed .conf file + to be more readable. Added RevScan 19200i to .conf file. Added + Plustek U16B to .desc and .conf, updated UT16B. + * po/sane-backends.de.po: Added some translations for the HP + backend. Minor header updates. + * po/sane-backends.cs.po po/sane-backends.es.po po/sane-backends.fr.po + po/sane-backends.nl.po po/sane-backends.no.po po/sane-backends.pt.po + po/sane-backends.ru.po po/sane-backends.sv.po: Regenerated to include + recent changes in the backends. + * include/sane/sanei_scsi.h include/sane/sanei_wire.h: Changed + license to GPL + SANE exception. + * TODO: Added canon630u SANE_I18N and include file license + problem. Updated .desc file section. + +2003-07-24 Peter Kirchgessner + + * backend/hp.c, backend/hp-option.h, backend/hp-option.c + po/Makefile.in: Add support for Internationalization for hp-backend. + +2003-07-24 Henning Meier-Geinitz + + * tools/check-usb-chip.c: Added support for detecting Genesys + Logic GL646. Fixed indentation. + +2003-07-23 Henning Meier-Geinitz + + * include/sane/sanei_thread.h include/sane/sanei_usb.h: Changed + license to GPL + SANE exception. + +2003-07-22 Henning Meier-Geinitz + + * doc/descriptions/mustek_pp.desc: Tag CCD scanners as unsupported + and mention that they work in 1.0.9 or earlier. + +2003-07-22 Oliver Schwartz + + * doc/descriptions/snapscan.desc: Updated to use new status values. + +2003-07-22 Matthew Duggan + + * doc/descriptions/canon_pp.desc: Updated to use new status values. + +2003-07-21 Henning Meier-Geinitz + + * TODO: Added mustek_pp CCD support and avision patch + entry. Updated .desc file section. + * doc/descriptions/unsupported.desc: Added more information for + Canon 9900F. + +2003-07-21 Stéphane Voltz + + * doc/descriptions/umax_pp.desc: removed unwanted status line for + backend + +2003-07-20 Stéphane Voltz + + * doc/descriptions/umax_pp.desc: updated forgotten status to use new + keyword. + +2003-07-20 Oliver Rauch + + * backend/umax.c: changes for Umax UC630 3pass color scan + * doc/descriptopns/umax.desc: changed status + +2003-07-19 Frank Zago + + * backend/teco2.c backend/teco2.h backend/teco2.conf: (from gerard + Klaver and Michael Holler) Better detection of the + scanner. Added white level. More work on some color resolutions. + * updated several backend descriptions file. + +2003-07-19 Peter Fales + + * doc/descriptions/gphoto2.c: Remove "status" (not used for + APIs) and correct typo in comment. + +2003-07-19 Henning Meier-Geinitz + + * doc/descriptions/as6e.desc doc/descriptions/bh.desc + doc/descriptions/coolscan.desc doc/descriptions/nec.desc + doc/descriptions/sm3600.desc doc/descriptions/st400.desc: + Converted to use new :status values. + * doc/descriptions/unsupported.desc: Sorted (more or less) + alphabetically. Added some Canon and Hewlett-Packard scanners. + * frontends/scanimage.c: When parsing string options whose + arguments are too short, don't overwrite the remaining command + line arguments. Print "[inactive]" after every inactive option. + * TODO: Added fujitsu patch, description file updates, + close_on_exec problem. Removed scanimage bugs. + +2003-07-18 Henning Meier-Geinitz + + * doc/sane-find-scanner.man tools/Makefile.in + tools/check-usb-chip.c tools/sane-find-scanner.c: Added support + for detecting USB chipsets to sane-find-scanner. + +2003-07-17 Abel Deuring + + * sanei/sanei_scsi.c: improved SCSI error handling in + sanei_scsi_cmd2 for FREEBSD_CAM_INTERFACE + +2003-07-17 Henning Meier-Geinitz + + * sanei/sanei_usb.c: Enable close_on_exec in sanei_usb_open. + +2003-07-16 Henning Meier-Geinitz + + * TODO: Added fujitsu option and libtool problem. Updated desc + file entries. + +2003-07-15 Stéphane Voltz + + * doc/descriptions/umax_pp.desc: updated to use new :status + keyword. + +2003-07-10 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Corex and Relisys + scanners. Updated Canon and HP scanners. + * doc/descriptions-external/primax.desc: Fixed typo. + +2003-07-02 Thomas Soumarmon + + * backend/hp5400_internal.c: Added version string for v0.87 + which has been reported to work ok. Use of a list of versions + instead of several constants. + +2003-07-02 Peter Fales + + * backend/gphoto2.c: Suppress the "bad parameter" message printed + when a camera is not connected, by using Debug level 1 + +2003-07-01 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Memorex, Visioneer and + Xerox scanners. Updated information for Visioneer scanners. + +2003-06-28 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Visioneer OneTouch 5800 + USB. + * doc/doxygen-sanei.conf: Update version. + +2003-06-25 Henning Meier-Geinitz + + * README.darwin: Mention some more working scanners. + * doc/descriptions/unsupported.desc: Added Brother and Microtek + scanners. + +2003-06-20 Henning Meier-Geinitz + + * tools/sane-desc.c: Mention backend name in warnings and errors. + +2003-06-20 Michael Herder + + * doc/descriptions/artec_eplus48u.desc: Updated status fields + +2003-06-19 Peter Fales + + * doc/descriptions/dc25.desc, dc240.desc: Updated status fields + +2003-06-19 Simon Munton + + * doc/descriptions/pie.desc: Updated status fields + +2003-06-19 Eddy De Greef + + * doc/descriptions/mustek_pp.desc: Updated status fields of CIS type + scanners. + +2003-06-19 Henning Meier-Geinitz + + * doc/descriptions.txt: Changed unmaintained tag to lowercase. + * doc/descriptions/template.desc. + doc/descriptions-external/template.desc.: Updated according to + descriptions.txt. + * doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Added RevScan 19200i. Updated + device status entries. + * doc/descriptions/abaton.desc doc/descriptions/agfafocus.desc + doc/descriptions/apple.desc doc/descriptions/artec.desc + doc/descriptions/dc210.desc doc/descriptions/dll.desc + doc/descriptions/dmc.desc doc/descriptions/ibm.desc + doc/descriptions/ma1509.desc doc/descriptions/mustek.desc + doc/descriptions/mustek_usb.desc doc/descriptions/net.desc + doc/descriptions/pint.desc doc/descriptions/pnm.desc + doc/descriptions/qcam.desc doc/descriptions/ricoh.desc + doc/descriptions/s9036.desc doc/descriptions/sp15c.desc + doc/descriptions/tamarack.desc doc/descriptions/test.desc + doc/descriptions/v4l.desc: Updated to new status system. + Added "unmaintained" where appropriate. The status values are + sometimes guessed from the documentation. + * doc/descriptions/unsupported.desc: Added Benq parport scanners. + * doc/descriptions-external/hp4200.desc + doc/descriptions-external/hpoj.desc + doc/descriptions-external/niash.desc + doc/descriptions-external/primax.desc + doc/descriptions-external/scanwit.desc + doc/descriptions-external/v4l2.desc + doc/descriptions-external/viceo.desc: Updated to new status + system. The status values are sometimes guessed from the + documentation. + +2003-06-18 Henning Meier-Geinitz + + * tools/sane-desc.c: Changed to use the new status system for + devices: unsupported, untested, minimal, basic, good, complete. + The old backend and device statuses are translated. Removed + the option to generate one big table of backends (wasn't used + anyway). + * doc/descriptions.txt: Explained the new status values. Removed + reference to emacs-lisp code for generation of HTML + files. Explained unsupported.desc. + * tools/sane-desc.el.in tools/sane-desc-ext.el: Removed because + these emacs-lisp scripts haven't been used for some time now. + Use sane-desc.c instead. + * configure configure.in tools/.cvsignore tools/Makefile.in + tools/README: Removed references to sane-desc.el. + * Makefile.in: Added ChangeLog-1.0.12 to DISTFILES. + +2003-06-15 Henning Meier-Geinitz + + * README.darwin: Minor updates. + * TODO: Added v4l2 problem, desc file issues. Removed sm3600 + MacOS X problem + printing backends in configure. + * doc/descriptions/unsupported.desc: Added Canon D2400UF + and IS 12. + +2003-06-13 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added link for HP 5550c. + * doc/descriptions/hp5400.desc doc/descriptions/ma1509.desc: + Removed :new marker. + * doc/descriptions/tamarack.desc: Removed link to + www.tamarack.net. Hostname is no longer in DNS. + +2003-06-11 Oliver Schirrmeister + + * backend/fujitsu.c: fixed bug in that code when a scanner is + disconnected (anoah at pfeiffer dot edu) + +2003-06-10 Michael Herder + + * po/Makefile.in: Added Czech translation + * po/sane-backends.cs.po: Added Czech translation provided + by Josef + +2003-06-09 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Canon 8000F. More info + for Avision/Umax scanners. + +2003-05-27 Frank Zago + + * backend/teco2.c: fixed a bug regarding color shifting above X + max resolution. Added more working resolutions for the VM3575. + +2003-06-05 Thomas Soumarmon + * hp5400 backend : synchronized sourceforge CVS with SANE CVS, + details below + added : + backend/hp5400_debug.c + backend/hp5400_debug.h + backend/hp5400_sane.c + backend/hp5400_sanei.h + backend/hp5400_internal.h + modified : + backend/hp5400.c + backend/hp5400.h + backend/hp5400_internal.c + backend/hp5400_sanei.c + backend/hp5400_xfer.h + to compile and run (on linux 2.4.21) as SANE backend and + in the corresponding hp5400backend sourceforge project + +2003-06-06 Henning Meier-Geinitz + + * TODO: Removed saned issues. + * doc/descriptions/unsupported.desc: Added Microtek 336 CX. + * configure configure.in backend/Makefile.in: The list of backends + that are built is now in configure.in. Print backends that are + built. Allow manually setting the backends. + +2003-06-05 Jochen Eisinger + + * include/sane/sanei_pa4s2.h, sanei/sanei_pa4s2.c: New sanei_pa4s2 + version supporting both raw IO and libieee1284. If you don't + have libieee1284 installed, you need to enable raw IO when + running configure + +2003-06-06 Oliver Schirrmeister + + * backend/fujitsu.h backend/fujitsu.c doc/descriptions/fujitsu.desc: + remove SP15 code + sane_open actually opens the device you request + from (anoah at pfeiffer dot edu) + +2003-06-05 Henning Meier-Geinitz + + * backend/gt68xx.c doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Don't check if the firmware is + loaded. The check seems to confuse the USB system on some UHCI + chips. + +2003-06-04 Henning Meier-Geinitz + + * sanei/sanei_scsi.c: Fixed C++-like code for MacOS X (patch from + Mattias Ellert ). + * acinclude.m4 aclocal.m4 configure frontend/saned.c + include/sane/config.h.in: Check if ss_family or __ss_family is + in struct sockaddr_storage. Otherwise diasbale ipv6. Patch from + Julien BLACHE . + +2003-06-03 Oliver Schirrmeister + + * backend/fujitsu.c, backend/fujitsu.h: separated the 4x20 + into another model and color support for the 4x20 + +2003-06-03 Henning Meier-Geinitz + + * backend/Makefile.in: hp5400 doesn't need sanei_config2. + +2003-05-30 Henning Meier-Geinitz + + * po/sane-backends.fr.po: Fixed two wrong codings of accented + characters. + * backend/net.c: Fixed bug concerning hosts that have both IPv6 + and IPv4 addresses but only accept connections on IPv4. Patch + from Julien BLACHE . + * doc/descriptions/net.desc: Mention IPv6. Bump version number. + +2003-05-27 Frank Zago + + * PROJECTS: Changed entry for win32 SANE project. + +2003-05-28 Henning Meier-Geinitz + + * doc/descriptions/unsupported.html: Added link for Umax astra 4700. + +2003-05-27 Henning Meier-Geinitz + + * configure configure.in: Don't disable IPv6 if poll is not + found. + * frontend/saned.c: Use u_int_* instead of uint_*. That fixes + compilation for MacOS X (hopefully). + * doc/Makefile.in: Add option -nodepage to man2html to avoid + missing lines in the html output. + * doc/descriptions/unsupported.html: Added link for Spot scanners. + +2003-05-25 Henning Meier-Geinitz + + * configure configure.in: Warnings enabled again. Added -cvs to + version. + +Older entries can be found in ChangeLog-1.0.12. diff --git a/ChangeLogs/ChangeLog-1.0.14 b/ChangeLogs/ChangeLog-1.0.14 new file mode 100644 index 0000000..75a5fcb --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.14 @@ -0,0 +1,899 @@ +****** Release of sane-backends 1.0.14. End of code freeze ****** + +2004-04-30 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added link to more info about + Microtek ScanMaker 3630. + * NEWS: Updated for release. + * backend/sm3600.h: Added last minute fix to avoid compilation + trouble with gcc 3.4. + * configure configure.in: New version: 1.0.14. + +2004-04-29 Oliver Schwartz + + * backend/snapscan.conf doc/descriptions/snapscan.desc + Added Benq 640BT, changed status of Epson 1670 to "good" + +2004-04-24 Henning Meier-Geinitz + + * po/sane-backends.sv.po: Updated Swedish translation (from + Mattias Ellert ). + +---- CODE FREEZE FOR SANE 1.0.14 --- +-- snapshot 1.0.14-pre3 + +2004-04-24 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Lexmark X5130, UMAX + Astra 4000 and 4600. + * doc/descriptions-external/genesys.desc: Removed comments from + some scanners as the chipset is known now. + * configure configure.in: Disabled compilation warnings. + +2004-04-24 Jochen Eisinger + + * doc/sane-usb.man: added comment about devmode not working + with current (2.6.3-2.6.5) 2.6 kernels + +2004-04-23 Henning Meier-Geinitz + + * backend/dll.c: Fixed dynamic loading of backend libraries + on OS/2. Patch from Franz Bakan . + +2004-04-23 Gerhard Jaeger + + * doc/sane-u12.man doc/plustek/Plustek-USB.changes: updates. + +2004-04-19 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: + Minor fixes for Mustek BearPaw 2448 TA Plus. + * doc/descriptions/unsupported.desc: Added Canon IS-32. + +2004-04-17 Henning Meier-Geinitz + + * acinclude.m4 aclocal.m4 configure: Don't use -ansi on MacOS X. + +2004-04-17 Henning Meier-Geinitz + + * acinclude.m4 aclocal.m4 configure: If the test for gphoto2-config + fails, don't call it later. + +-- snapshot 1.0.14-pre2 + +2004-04-17 Henning Meier-Geinitz + + * NEWS: Added some more updated backends and danish translation. + * tools/hotplug/libsane.usermap: Added Epson Stylus CX5400 and + Nikon Coolscan 5000 ED. Minor documentation updates. + +2004-04-15 Oliver Schwartz + + * backend/snapscan-mutex.c: Fixed compilation problem on OS/2 + (Thanks to Franz Bakan). + * configure.in configure: SnapScan backend now compiled in by + default on OS/2 + +2004-04-15 Marian Eichholz + + * backend/sm3600.h backend/sm3600-scanmtek.c + backend/sm3600-color.c backend/sm3600-gray.c + backend/sm3600-homerun.c: Many fixes for MacOS-X problems pointed + out by Mattias Ellert, thanks: Waiting longer for DoJog() command + completion, new function for transmitting the line gain correction + data with correct endianess, Chassis-Gray-Level lowered. + * backend/sm3600.c : Fixed off-by-one-error in p->lines + backend/sm3600-scanmtek: Fixed just broken UploadGainCorrection() + +2004-04-14 Karl Heinz Kremer + + * backend/epson.conf: Added "usb" entry for libusb + +2004-04-14 Rene Rebe + + * backend/avision.h, backend/avision.c: the current development state, + including cleanups, code refactoring, dynamic color and scan source + list creation, implemented ADF mirroring needed for some ASICs , + some scan window scaliing fixes for some ASICs, added 16bit gray + and color support, fixed a tiny big-endian issue, fixed command + error reporting for some ASICs, improved inquiry logging and some + tiny fixes for film-scanners. + +2004-04-14 Gerhard Jaeger + + * backend/plustek_pp.c backend/plustek-pp_sysdep.h + backend/plustek-pp_scan.h backend/plustek-pp_ptdrv.c + backend/plustek-pp_misc.c: Fixed Kernel 2.6 compilation problems. + * doc/plustek/Makefile.kernel24 doc/plustek/Makefile.kernel26 + doc/plustek/MakeModule.sh: added to make kernel-module + compilation easier. + * doc/plustek/BUILD doc/plustek/VERSION0 + doc/plustek/Plustek-PARPORT.txt doc/sane-plustek.man: update. + * backend/u12.c backend/u12-hw.c backend/u12-if.c: minor fixes. + * doc/u12/U12.changes doc/u12/U12.todo: update. + * doc/descriptions/u12.desc: added RevScan Orange R48Ti. + * sanei/sanei_thread.c: fixed some warning conditions. + +2004-04-14 Henning Meier-Geinitz + + * po/Makefile.in po/sane-backends.da.po: Added Danish translation + (from Mogens Jaeger ). + +2004-04-12 Henning Meier-Geinitz + + * README.windows: Mentioned C++ misdetection trouble. + * tools/Makefile.in: In make distclean also clean subdirectories. + +2004-04-11 Karl Heinz Kremer + + * backend/epson_usb.c: Added missing device IDs for current MFDs + +---- FEATURE FREEZE FOR SANE 1.0.14 --- +-- snapshot 1.0.14-pre1 + +2004-04-10 Henning Meier-Geinitz + + * japi/.cvsignore: Updated. + * japi/Jscanimage.java japi/Sane.c: Fixes from David Neary + to make japi work with current jdks. More + work and documentation is still needed. + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Minor fixes for Mustek A3 USB, + Genius ColorPage Vivid4 and Mustek BearPaw 2448 CS/TA Plus. + * Makefile.in tools/Makefile.in: Added some missing files to + DISTFILES. + +2004-04-10 Jochen Eisinger + + * tools/sane-find-scanner.c, doc/sane-mustek_pp.man, + doc/sane-find-scanner.man: added support for detecting + mustek parallel port scanners. + +2004-04-09 Gerhard Jaeger + * backend/plustek.c: Fixes bug #300620. + * sanei_thread.c: Fixes bug-reports #300617 & #300618, + all reports and patches or patch-ideas by Mattias Ellert. + +2004-04-09 Oliver Schwartz + + * backend/snapscan-usb.c backend/snapscan-mutex.c + backend/Makefile.in: Use own file for mutex implementation + to allow for easier porting to other platforms + backend/snapscan-sources.c backend/snapscan.c: + Bugfixes for pthread implementation + +2004-04-08 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-sources.c + backend/snapscan.h backend/Makefile.in: + Use sanei_thread functions instead of forking + * backend/snapscan-options.c: Change title and description + for OPT_HIGHQUALITY to use existing i18n translations + * backend/snapscan-usb.c: Use urb counting + (thanks to Jose Alberto Reguero) + +2004-04-06 Gerard Klaver + + * backend/test.c changed some option group headers to advanced option + menu. + +2004-04-06 Jochen Eisinger + + * sanei/sanei_pa4s2.c include/sane/sanei_pa4s2.h, backend/mustek_pp.c: + fixed compiler warnings + +2004-04-04 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_mid.c doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: + Added BGR color order for pixel mode. Plustek OpticPro U16B works + in color mode now. Made 600 dpi mode for Mustek BearPaw 2400 TA + Plus a bit faster. Changed Mustek ScanExpress A3 linedistance + correction. Added detection of Visioneer Onetouch 7300. + * doc/descriptions/unsupported.desc: Removed Canon D660. Now + supported by plustek backend. + +2004-04-04 Gerhard Jaeger + * doc/descriptions/plustek.desc: added Canon D660U. + * doc/plustek/Plustek-USB.changes doc/plustek/Plustek-USB-TODO.txt + doc/plustek/Plustek-USB.txt: update + * po/sane-backends.*.po: new strings, as the plustek backend has changed. + * backend/plustek.[ch], plustek-usb.[ch], plustek-usb.cal.c, + plustek-usbdevs.c, plustek-usbhw.c, plustek-usbimg.c, + plustek-usbshading.c: added Canon D660U support, cleanup, bug-fixing. + * backend/plustek.conf: added red_lampoff, green_lampoff and blue_lampoff + parameters. + +2004-04-02 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-options.c + backend/snapscan-scsi.c: + Various bugfixes for gamma correction (Thanks to Robert Tsien) + * po/sane-backends.de.po: Fix translation for "gamma table" + +2004-04-02 Henning Meier-Geinitz + + * NEWS: Updated for sane-backends 1.0.14. + * README.linux: Added some hints about setting permissions with + libusb on Linux 2.6. Removed some obsolete paragraphs. + * config.guess config.sub: Updated from stable libtool. + * doc/descriptions/unsupported.desc: Added Relisys Episode scanner. + +2004-03-29 Henning Meier-Geinitz + + * sanei/sanei_scsi.c: Increased SCSI buffer size on MacOS X. + Patch from Mattias Ellert, bug #300601. + +2004-03-28 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c + backend/gt68xx_gt6801.c backend/gt68xx_gt6816.c + backend/gt68xx_high.c doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Plustek U16B: Added + GT68XX_FLAG_SE_2400. Fixed color order.Increased debug + level for setup_scan. Fixed CCD ocarse calibration. + * doc/descriptions/microtek.desc: Added Agfa Studiostar. + * doc/descriptions/unsupported.desc: Added Avigramm Minidoc, + Medion MD 41260, and Nikon LS 50 ED. Removed Genius Colorpage + Vivid III as it may work with the u12 backend. + +2004-03-27 Peter Kirchgessner + + * backend/hp.c, hp-scl.c, hp.h, doc/sane-hp.man, + doc-descriptions/hp.desc: Fix problem with USB-connections + on Linux 2.6.x. Add environment SANE_HP_KEPPOPEN... and + don't close connections for USB. + +2004-03-21 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Tevion MD 40420. Moved + Plustek OpticPro S(T)28 to genesys.desc. + * doc/descriptions-external/genesys.desc: Moved Plustek OpticPro + S(T)28 to genesys.desc. + +2004-03-22 Oliver Schwartz + + * backend/snapscan.h Added detection for Epson 660 by USB ID + since new models use new ID strings. + +2004-03-21 Henning Meier-Geinitz + + * backend/mustek.c doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: Added detection of Mustek ScanExpress + 1200 FS. + * doc/descriptions/unsupported.desc: Added some Microtek and Agfa + scanners. + +2004-03-19 Karl Heinz Kremer + + * doc/descriptions/epson.desc: Added Perfection 4870 and CX-6400 + * doc/descriptions/unsupported.desc: Removed CX-6400 + +2004-03-19 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_high.c backend/gt68xx_low.h doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Genius + Vivid 4xe now has color order RGB. Removed 50 dpi for Mustek + BearPaw 2448 as that resolution doesn't work. Make sure that the + lamp of the Mustek A3 USB gets warmed up. It's a CIS scanner with + a lamp. That code is untested. Full scan starts scanning from the + start position of the white strip now. Added detection for Genius + Vivid 1200 EX. Fixed product id of Mustek BearPaw 2448 TA + Plus. Other minor updates. + +2004-03-15 Oliver Rauch + * backend/umax: bugfix for sense_handler and do_calibration + +2004-03-15 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.c + backend/umax_pp.c tools/umax_pp.c: Added ppdev support for 610P + detection. Fixed scan area overflow at >= 600 dpi. Fixed ppdev + data direction setting. Fixed direct hardware ECP mode for 1220P. + +2004-03-14 Henning Meier-Geinitz + + * tools/README tools/hotplug/README tools/hotplug/libsane.usermap + tools/hotplug/libusbscanner: Added scanner ids (from Marcel + Pol). Added more documentation. Added "chmod a+rw" alternative. + * doc/descriptions-external/genesys.desc: Added Plustek OpticPro + ST48. + * doc/descriptions/unsupported.desc: Added Mustek A3 EP. Removed + Plustek OpticPro ST48. + +2004-03-13 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Vantas 3000. Added some + links. + +2004-03-09 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.c + doc/sane-umax_pp.man doc/descriptions/umax_pp.desc tools/umax_pp.c: + finished ECP support for 1220P/2000P. Added scanner detection and + low-level communication for 610P. + +2004-03-08 Henning Meier-Geinitz + + * tools/check-usb-scanner.c: GL841 max packet size can be 512 + bytes on USB 2.0. + * doc/sane-usb.man: The Linux scanner module was removed. The + devmode trick in fstab doesn't work anymore. We now have a + hotplug script. + * doc/descriptions/unsupported.desc: Moved all scanners that may + be supported by the genesys backend to genesys.desc. Added Agfa + 1212 P. + * doc/descriptions-external/genesys.desc: Moved all scanners that may + be supported by the genesys backend to genesys.desc. Added links + to scanner pages. + +2004-03-04 Oliver Schirrmeister + * backend/fujitsu.c + enabled dropoutcolor for fi4x20C +2004-03-04 Oliver Schirrmeister + * backend/fujitsu.c + enabled dropoutcolor for fi4530C + +2004-03-03 Gerhard Jaeger + * doc/descriptions/unsupported.desc: Updated Plustek section. + * doc/descriptions-external/genesys.desc: updated list of scanners + that should be supported by the genesys backend. + +2004-03-03 Henning Meier-Geinitz + + * frontend/saned.c: Added checks for bad handles for + SANE_NET_CLOSE and SANE_NET_CANCEL. This is intended to stop + saned from segfaulting when a bad handle is used. + +2004-03-02 Karl Heinz Kremer + + * backend/epson.c: Added D8 function level for RX-500 + +2004-03-02 Henning Meier-Geinitz + + * backend/mustek_usb.c backend/mustek_usb_low.c + backend/mustek_usb_low.h doc/sane-mustek_usb.man + doc/mustek_usb/mustek_usb.CHANGES doc/mustek_usb/mustek_usb.TODO: + Added workaround for toggle = data0 chipset bug. + Fixes bug #300323. + * doc/descriptions/unsupported.desc: Added link for HP ScanJet + 8290. Added Logitec PageScan Color. + +2004-03-01 Frank Zago + + * doc/descriptions-external/genesys.desc: created list of scanners + that should be supported by the genesys backend. + * doc/leo/leo.txt: doc update. + +2004-03-01 Karl Heinz Kremer + + * doc/sane-epson.man: Corrected default function level from B5 to B3 + +2004-02-28 Frank Zago + + * tools/check-usb-chip.c: Added test for GL646 used in HP scanners. + +2004-02-28 Julien Blache + * tools/hotplug: added the hotplug script used by the Debian + package, with a quick README. + * tools/README: updated to mention the hotplug/ directory. + +2004-02-27 Matthew Duggan + + * backend/canon_pp.c: Add more debug output to help resolve bug #300524 + +2004-02-22 Henning Meier-Geinitz + + * doc/scanimage.man frontend/scanimage.c: Added support for asking + for pressing a key before scanning a page in a batch scan. Patch + from Dominik Fischer . + +2004-02-20 Oliver Schirrmeister + + * backend/fujitsu.c backend/fujitsu.h backend/fujitsu-scsi.h: + merged the 3092 and the 3091 functions + inverted the image in mode color and grayscale + jpg hardware compression support (fi-4530C) + + +2004-02-20 Stéphane Voltz + + * backend/umax_pp_low.h backend/umax_pp_low.c backend/umax_pp.conf + backend/umax_pp.c tools/umax_pp.c: added initial ECP support for + scanner, laid groundwork for 610P support. + +2004-02-14 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added HP ScanJet 4670 and + Tamarack Artiscan 9600 pro 36. Removed Plustek OpticSlim 2400. + * doc/descriptions/umax1220u.desc: Added UMAX Astra 1600U as this + scanner is reported to work as "well" as the 2000U. + +2004-02-11 Frank Zago + * backend/matsushita.c backend/matsushita.conf + doc/sane-matsushita.man doc/descriptions/matsushita.desc: added + partial support for models KV-SS55EX, KV-S2025C, KV-S2045C and + KV-S2065L. + +2004-02-08 Karl Heinz Kremer + * backend/epson*.[ch]: Reformat source code to get rid of different coding styles + used over the years (and by different authors). + +2004-02-08 Frank Zago + * README.windows: added info about USB scanners. + + * backend/teco1.c backend/teco1.conf backend/teco1.h + doc/sane-teco1.man doc/descriptions/teco1.desc: added new + scanner Relisys RELI 4816, marked Relisys AVEC 2412 as tested. + +2004-02-08 Oliver Rauch + * backend/umax: bugfix for DOR mode, sane-umax-build-43 + * doc/umax/umax.CHANGES updated + +2004-02-07 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_high.c doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc: Added basic support for Plustek + OpticSlim 2400. Fixed calibration debug output. + +2004-02-07 Karl Heinz Kremer + + * backend/epson.h, backend/epson_usb.h: Increase timeout for lamp warmup + from 60 to 120 seconds + +2004-02-07 Eddy De Greef + + * backend/mustek_pp_cis.c: cleaned up debug code + * backend/mustek_pp_decl.h, backend/mustek_pp_drivers.h: bumped + version number. + * backend/mustek_pp.conf: fixed mistakes in examples + +2004-02-07 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Genius Colorpage Vivid + 1200EX and Mustek Paragon 800 II EP. + +2004-02-04 Henning Meier-Geinitz + + * sanei/sanei_usb.c: Fixed inconsistent error message (patch from + Mattias Ellert ). + +2004-02-01 Gerhard Jaeger + * sanei/sanei_thread.c: added Mattias Ellerts' patch to make + sanei_thread_kill work on MacOSX. + +2004-02-01 Karl Heinz Kremer + + * backend/epson.c: Added D7 function level as copy of D1 for CX-6400 + * backend/epson_usb.c: Added IDs for CX-6400 and Perfection 4870 + +2004-02-01 Oliver Schwartz + + * backend/snapscan-options.c: Remove non-working resolutions + for Epson Perfection 1670 + * doc/descriptions/snapscan.desc: Add Guillemot Maxi A4 36 bit + +2004-01-31 Matthew Duggan + + * backend/canon_pp.c: Remove more compile warnings. + +2004-01-30 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Mustek BearPaw 4800TA Pro II. + +2004-01-29 Henning Meier-Geinitz + + * backend/mustek_scsi_pp.c: Use gettimeofday() instead of + ftime(). Bug #300482. + +2004-01-21 Gerhard Jaeger + * backend/test.c: reader_process terminates now, when running as + thread. + * backend/u12.c backend/u12-hw.c backend/u12-if.c backend/u12-io.c + backend/u12-map.c backend/u12-motor.c backend/u12-shading.c + backend/u12-tpa.c backend/u12.h backend/u12.conf: major update, compilation + fixes. + +2004-01-19 Gerhard Jaeger + * doc/u12/U12.changes: update. + * doc/u12/U12.todo: initial checkin. + * backend/plustek-usb.c: cleanup. + * backend/u12.c backend/u12-ccd.c backend/u12-hw.c backend/u12-if.c + backend/u12-image.c backend/u12-io.c: activated cancel function, + added lamp off timer function, cleanup, stability fixes. + +2004-01-19 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Debug options are only enabled if the + debug level is 1 and higher. Added product id 0x0402 for Plustek U16B. + +2004-01-17 Henning Meier-Geinitz + + * doc/gamma4scanimage.man: scanimage is in section 1. + * doc/descriptions/unsupported.desc: Added Lexmark X74. + +2004-01-15 Eddy De Greef + + * backend/mustek_pp.c, backend/mustek_pp_cis.c: Bug fix: make sure + that the child process releases the parallel port under all + circumstances. Otherwise, the parent process may no longer be + able to control the scanner and the lamp stays on and doesn't + return home. + +2004-01-15 Gerard Klaver + + * include/sane/saneopts.h: Added options WHITE_LEVEL_R, WHITE_LEVEL_G, + and WHITE_LEVEL_B. + * doc/sane-teco2.man: changed --white-level to white-level-r, -g, -b + update text + * backend/teco2.c: changed WHITE_LEVEL to WHITE_LEVEL_R, _G and _B, + changed calibration part for the VM3564, VM356A and + VM3575 (subtract highest and lowest value and then + divide). + * backend/teco2.h: changed WHITE_LEVEL to WHITE_LEVEL_R, _G, _B. + +2004-01-14 Gerhard Jaeger + * backend/u12.c: Fixed preview bug. + +2004-01-14 Gerhard Jaeger + * descriptions/u12.desc: fixed wrong man-page reference, status updates. + * backend/u12.c backend/u12.h backend/u12-hwdef.h backend/u12-scanner.h + backend/u12-*.c: bump up version, fixed device autodetection and corrupted + pictures, improved model-detection. + +2004-01-13 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added several Canon, HP, + Plustek, and UMAX scanners. + * doc/descriptions-external/epkowa.desc: Epson 1670 is supported + by SnapScan backend now. + * doc/descriptions/gt68xx.desc doc/sane-gt68xx.man: Added Packard + Bell Diamond 2450. + +2004-01-13 Karl Heinz Kremer + * backend/epson-usb.c: Added product ID for RX-500 + +2004-01-13 Gerhard Jaeger + * doc/sane-plustek_pp.man: added missing explanation. Bug #300441. + * include/sane/sanei_thread.h: updated copyright info. + * sanei/sanei_thread.c: fixed return value handling for sanei_wait_pid(). + +2004-01-12 Karl Heinz Kremer + + * backend/epson.c: Fixed bug # 300444 - Changed OPT_CCT_( desc. string. + +2004-01-12 Oliver Rauch + * backend/umax backend/Makefile.in: repleaced fork routines by sanei_thread + * doc/umax/umax.CHANGES updated + +2004-01-12 Matthew Duggan + + * backend/canon_pp-dev.c backend/canon_pp-io.c backend/canon_pp.c + backend/canon_pp.h: Fix various compile warnings (Bug #300407). + Also fix bug in parsing config file. + * doc/descriptions/canon_pp.desc: Bump version number. + +2004-01-11 Henning Meier-Geinitz + + * tools/sane-desc.c: When generating HTML anchor names, make sure + they are unique. Bug #300439. + * doc/descriptions/qcam.desc doc/descriptions/unsupported.desc: + Fixed some broken links. + +2004-01-10 Julien BLACHE + * sanei/sanei_pa4s2.c: libieee1284 support for scsi_pp functions. + This is untested but should work. + +2004-01-10 Oliver Rauch + * doc/umax: corrected links in umax documentations + +2004-01-09 Henning Meier-Geinitz + + * doc/sane-config.man: Only one option can be used at the same + time. + * doc/descriptions/unsupported.desc: Added HP Scanjet 4600 and + Quato scanners. Updated Epson 1270. + +2004-01-09 Gerhard Jaeger + * doc/u12/U12.changes: initial checkin. + * doc/sane-u12.man doc/sane-plustek.man doc/sane-plustek_pp: added + ENVIRONMENT information and did some minor updates. + * descriptions/plustek_pp.desc descriptions/u12.desc: status updates. + * po/sane-backends.de.po: fixed wrong translation. + * doc/plustek/Plustek-USB.changes: update. + * doc/plustek/Plustek-PARPORT-TODO.txt: update. + * doc/Makefile.in: added u12 subdirectory. + * backend/plustek.[ch] backend/plustek-usb*.[ch]: copyright updates + and some changes concerning the CanoScan lamp calibration. + * backend/u12.[ch] backend/u12-*.[ch]: copyright updates. + * backend/plustek_pp.[ch] backend/plustek-pp*.[ch]: copyright updates + and minor fixes. + +2004-01-08 Oliver Rauch + * backend/umax.c: changed order of includes because of compilation error + +2004-01-07 Oliver Rauch + * backend/umax.c: disabled quality calibration for Astra 2200 SU via USB + +2004-01-05 Gerhard Jaeger + * configure configure.in: added new u12 backend. + * AUTHORS: added myself as u12 backend author. + * backend/Makefile.in: added new backend u12. + * backend/u12.c backend/u12.h backend/u12-scanner.h backend/u12-hwdef.h + backend/u12.conf backend/u12-shading.c backend/u12-tpa.c + backend/u12-ccd.c backend/u12-hw.c backend/u12-if.c backend/u12-image.c + backend/u12-io.c backend/u12-map.c backend/u12-motor.c: + initial checkin. + * backend/dll.conf: added u12 backend. + * doc/sane-u12.man: initial checkin. + * doc/sane.man doc/Makefile.in: added man-page for u12 backend. + * doc/descriptions/u12.desc: added descitpion for u12 backend. + * doc/descriptions/unsupported.desc: removed Plustek OpticPro U12, UT12, + 1212U, Genius Colorpage Vivid III, as they should be supported now. + +2004-01-05 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_gt6801.c doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Fixed a + bug in the stop scan function for Plustek U16b. Added support + for Genius Vivid4xe. + * doc/descriptions/unsupported.desc: Added Visioneer 8820 and TCE S450. + +2003-12-31 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added HP and Epson scanners. + +2003-12-29 Henning Meier-Geinitz + + * tools/check-usb-chip.c: Added test for Genesys Logic GL841. + +2003-12-27 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Updated/added several Medion + scanners. + * backend/as6e.c backend/coolscan.c backend/dll.c backend/ibm.c + backend/microtek2.c backend/mustek_scsi_pp.c + backend/mustek_usb_high.c backend/mustek_usb_low.c + backend/mustek_usb_mid.c backend/nec.c backend/net.c + backend/qcam.c backend/ricoh-scsi.c backend/s9036.c + backend/sp15c-scsi.h backend/sp15c.c backend/sp15c.h + backend/st400.c backend/tamarack.c backend/tamarack.h + sanei/sanei_scsi.c tools/check-usb-chip.c: Silenced some + compilation warnings. + +2003-12-26 Henning Meier-Geinitz + + * README.darwin: Mentioned libusb problems. Updated fork section. + +2003-12-25 Henning Meier-Geinitz + + * doc/descriptions-external/niash.desc: Added information that + this backend will be included soon. Fixed "Snapscan" to + "SnapScan" (bug #300394). + * backend/mustek_scsi_pp.c backend/mustek_scsi_pp.h + backend/Makefile.in backend/mustek.c + backend/mustek.conf backend/mustek.h doc/sane-mustek.man + doc/sane.man doc/descriptions/mustek.desc + include/sane/sanei_pa4s2.h sanei/sanei_pa4s2.c: Added support + for Mustek Paragon 600 II EP (SCSI-over-parallel port). This is + based on a patch from James Perry. Support for libiee1284 is + missing until now. Closes bug #300143. + * AUTHORS: Added James Perry. + * doc/descriptions/unsupported.desc: Removed Mustek Paragon 600 II + EP/ED. Added Genius Colorpage-EP. + * README: Updated concerning libieee1284. + +2003-12-23 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added more information about + the Benq Scanprisa 640P, Boder SmartSCan Office, and Trust + CombiScan 19200. + +2003-12-22 Gerard Klaver + + * tools/check-usb-chip.c: Added patch for test ICM532B. + +2003-12-20 Henning Meier-Geinitz + + * backend/test.c doc/descriptions/test.desc: Fixed initial value + for --fixed-constraint-range (bug #300388). + * include/sane/sanei_usb.h: Include stdlib.h for size_t. + * sanei/sanei_constrain_value.c: Fixed overflow (bug #300389). + * acinclude.m4 aclocal.m4 configure configure.in backend/v4l.c + backend/v4l.h doc/descriptions/v4l.desc: Don't include + linux/videodev.h kernel header anymore. Use own defines + instead. Fixes bug #300324. + +2003-12-18 Gerhard Jaeger + * doc/sane-plustek.man: new version, minor fixes + * doc/descriptions/plustek.desc: new backend version + * backend/plustek-pp*: cleanup work + * backend/plustek-usb*: new version 0.47, added support for model overide + when one manufacturer uses the same model-id for various devices. + +2003-12-16 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Canon 3200F. + * backend/gt68xx_gt6801.h: Made internal function static. + +2003-12-15 Oliver Schirrmeister + * backends/fujitsu.[hc]: Bugfix: The options pagewidth and + pageheight were disabled for the fi4530 + +2003-12-15 Eugene Weiss + * backend/as6e.c: fixed bugs 300123 and 300133. + +2003-12-15 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added some scanners. + * doc/sane-mustek_pp_ccd.man: Removed (now again in mustek_pp backend). + +2003-12-15 Oliver Schirrmeister + * backends/fujitsu.[hc]: + - Bugfix: set default threshold range to 0..255 There is a problem + with the M3093 when you are not allows to set the threshold to 0. + - Bugfix: set the allowable x- and y-DPI values from VPD. Scanning + with x=100 and y=100 dpi with an fi4120 resulted in an image + with 100,75 dpi. + - Bugfix: Set the default value of gamma to 0x80 for all scanners + that don't have build in gamma patterns. + - Bugfix: fi-4530 and fi-4210 don't support standard paper size + spezification. Disabled this option for these scanners. + +2003-12-14 Henning Meier-Geinitz + + * AUTHORS: Eugene S. Weiss has CVS write access now. + * doc/descriptions/unsupported.desc: Added and updated some + scanners. + * tools/sane-find-scanner.c: Actually use the number of the alt + setting when printing descriptors. Fixes bug #300383 found by + Gerard Klaver. + * backend/gt68xx.c backend/gt68xx_devices.c doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: + Updated code for Genius Vivid 4x and Mustek ScanExpress A3 USB. + Added Genius Colorpage Vivid3 V2 and Googlegear 2000 as + supported devices. + * backend/artec.c: Check for NULL before accessing a pointer. This + may fix a segmentation fault mentioned in bug #300339. Also a + compilation warning was fixed. + +2003-12-13 Julien BLACHE + * fronted/saned.c: use strcasecmp() instead of strcmp() when + matching IPv6 addresses. + +2003-12-12 Michael Herder + * backend/artec_eplus48u.c backend/artec_eplus48u.h + backend/artec_eplus48u.conf: added experimental + support for the Artec E+ Pro + fixed sane-Bugs-300261 (doesn't compile when + NDEBUG is defined) + +2003-12-09 Allan Noah + * doc/desc/{fujitsu|ma1509}.desc: move fujitsu fi-4110eox2 section + +2003-12-09 Allan Noah + * backend/fujitsu.c: count USB packets to prevent timeouts, perhaps + due to DATA0/1 toggle problems in certain scanners + +2003-12-07 Peter Fales + * acinclude.m4, aclocal.m4, configure: remove "enabling GPHOTO2" + messages printed by configure + +2003-12-07 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added some scanners. + +2003-12-06 Peter Fales + * acinclude.m4, aclocal.m4, configure: gphoto2 backend is now + enabled by default if gphoto2-config is found. Use + "--with-gphoto2=no" to disable it. + +2003-12-06 Henning Meier-Geinitz + + * configure configure.in include/sane/config.h.in + sanei/sanei_scsi.c: sanei_scsi.c should now compile with the new + and old SCSI API of MacOS X. Patch from Mattias Ellert + . + * doc/descriptions/unsupported.desc: Added several scanners. + * AUTHORS: Matthew Marjanovic and Marian Eichholz both have CVS + access now. + * sanei/sanei_usb.c: Check for /dev/uscanner* for NetBSD and + OpenBSD. Patch from bug tracker #300373. + +2003-12-01 Nathan Rutman + + * backend/canon630u.c: Change default scan size to full platen, + removed compiler warnings, made HMG's fix for bug #300257 + permament. + * doc/sane-canon630u.man: cleanup + +2003-12-01 Jochen Eisinger + + * backend/mustek_pp_ccd300.c: Fixed horizontal offset of scan area + and scaling for color scans + +2003-11-27 Karl Heinz Kremer + + * doc/descriptions/epson.desc: Changed status for CX3200 and + CX5200 from untested to good + +2003-11-28 Oliver Schwartz + + * backend/snapscan.c: Download gamma table twice for + Epson Perfection 1670 + +2003-11-27 Gerhard Jaeger + + * doc/plustek/Plustek.changes: moved to Plustek-USB.changes + * doc/plustek/Plustek-PARPORT.changes: added + * doc/plustek/Plustek-USB.txt doc/sane-plustek.man + doc/sane-plustek_pp.man: Update + +2003-11-26 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Epson CX6400. Removed + Packard Bell Diamond 1200. Updated HP ScanJet 8200. + * Makefile.in doc/descriptions/releases.txt: Generate md5 hash + when making the a release. + +2003-11-24 Henning Meier-Geinitz + + * AUTHORS: Michael Herder has CVS access now. + * doc/descriptions/unsupported.desc: Added Biolux 654. Updated HP + Photosmart entries. Removed Mustek BearPaw 2448 TA Plus (now + listed by gt68xx.desc). + +2003-11-23 Jochen Eisinger + + * backend/mustek_pp_ccd300.c: forgot parameters to wait_bank_change + * include/sane/sanei_pa4s2.h: fixed function prototype + +2003-11-23 Jochen Eisinger + + * doc/descriptions/mustek_pp.desc: changed :beta to :good + +2003-11-23 Jochen Eisinger + + * backend/mustek_pp.c, sanei/sanei_pa4s2.c: added support for auto + probing of the port + * configure{.in}, backend/mustek_pp_ccd.*, backend/Makefile.in, + backend/dll.conf, doc/sane-mustek_pp_ccd.man, doc/sane.man, + doc/Makefile.in, doc/descriptions/mustek_pp_ccd.desc: mustek_pp_ccd + backend removed + * backend/mustek_pp.conf, mustek_pp_ccd300.[ch], + doc/sane-mustek_pp.man, doc/descriptions/mustek_pp.desc: fixed CCD + support for mustek_pp backend + * backend/mustek_pp_null.c: beautified debug scanner name + +2003-11-23 René Rebe + + * backend/avision.c backend/avision.h: the current development state, + including cleanups, code refactoring and nearly complete HP + 53xx/75xx ADF support + +2003-11-23 Henning Meier-Geinitz + + * configure configure.in: Warnings enabled again. Added -cvs to + version. + * doc/releases.txt: Updated information about diffs. + * doc/descriptions/unsupported.desc: Added HP and Mustek scanners. + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_gt6801.c backend/gt68xx_gt6801.h backend/gt68xx_low.c + backend/gt68xx_low.h doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Added Mustek BearPaw 2448 TA + Plus. Added special command set for Plustek U16B. Added + Plug-n-Scan 2400 M(T) to list of devices. No positive report yet. + Used request for memory writes and reads instead of a fixed + value of 0x04. Set Genius Vivid4x to GT6816. Untested. All + changes have not been tested on their respective scanners yet. + New version: 1.0.50. + +Older entries can be found in ChangeLog-1.0.13. diff --git a/ChangeLogs/ChangeLog-1.0.15 b/ChangeLogs/ChangeLog-1.0.15 new file mode 100644 index 0000000..5ee7665 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.15 @@ -0,0 +1,1027 @@ +****** Release of sane-backends 1.0.15. End of code freeze ****** + +2004-11-07 Henning Meier-Geinitz + + * doc/descriptions-external/brother.desc: One more report about a + working scanner. Added link. + * doc/descriptions/unsupported.desc: Added some scanners. + * configure configure.in: New version: 1.0.15. + +2004-11-07 Giuseppe Sacco + + * New italian translation update + +2004-11-01 Oliver Schwartz + + * doc/descriptions/snapscan.desc: Status update for Epson scanners + +---- CODE FREEZE FOR SANE 1.0.15 --- +-- snapshot 1.0.15-pre2 + +2004-10-31 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_high.h doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Removed unused gain and offset + options. + * NEWS: Added (planned) release date. + * configure configure.in: Disabled compilation warnings. + +2004-10-31 Gerhard Jaeger + + * backend/plustek.c: Additional debug output. + * backend/plustek-usbscan.c: Fixed a warning condition. + +2004-10-30 Gerhard Jaeger + + * backend/plustek.c: Bumped release number. + * backend/plustek-usbscan.c: Fixed a bug in buffer calculation + for CIS devices. + * doc/plustek/Plustek-USB.changes: Update. + +2004-10-30 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc + doc/descriptions-external/hp_rts88xx.desc: Moved HP 35xx + scanners to hp_rts88x backend. Updated status settings and URL + (from johanneshub@foni.net). Updated link to Tamarack 9600 project. + * doc/descriptions-external/brother.desc: Seems to work in version + 0.0.12 at least for one scanner. + +2004-10-27 Ullrich Sigwanz + + * backend/niash_core.c backend/niash.c: moving critical timing + for backward movement to niash_core + +2004-10-24 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc + doc/descriptions-external/genesys.desc: Moved Plustek OpticFilm + 7200 to genesys.desc (GL841 chipset). Added UMAX Astra 3400 + (0x50 model). Added Xerox WorkCentre M15i. + +2004-10-23 Giuseppe Sacco + + * Updated italian translation. + +2004-10-21 Mattias Ellert + + * backend/gt68xx.c backend/mustek.c: Remove an extra "in". + * po/*.po: Fixing fuzzy translations (and some others). + +2004-10-21 Rene Rebe + + * backend/avision.h backend/avision.c: update of the scanner ID table, + wait_4_light bugfixes, fixed color packing, fixed 16bit modes + (especially for big-endian systems), avoid 16bit modes for default + modes, fixed gamma-table for some models as well as spelling on the + way + +2004-10-20 Rene Rebe + + * backend/avision.c doc/descriptions/avision.desc doc/sane-avision.man: + substituted my mail address and web-site to a new one - due to + leaving the rocklinux project + +2004-10-19 Gerhard Jaeger + + * backend/plustek.c: Using now the same strings for gain and offset + like the umax_pp backend (bug #300962). + * doc/plustek/Plustek-USB.changes: Update. + * po/*.po: Update due to changes in the Plustek backend. + * po/sane-backends.de.po: Fixed gain translation. + +2004-10-18 Henning Meier-Geinitz + + * tools/sane-find-scanner.c: When getting string descriptors, ask + for the length of the descriptor first (bug #301001). + +2004-10-18 Ullrich Sigwanz + + * backend/niash_core.c: + * backend/niash.c: correcting vertical scanning start + point for changed max. page height + +2004-10-17 Ullrich Sigwanz + + * backend/niash_core.c: using exact number of lines for a scan + +---- FEATURE FREEZE FOR SANE 1.0.15 --- +-- snapshot 1.0.15-pre1 + +2004-10-17 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Olivetti Job-Jet M400. + +2004-10-17 Julien Blache + * tools/hotplug/libsane.usermap: Added Epson Perfection 2480. + +2004-10-16 Karl Heinz Kremer + + * backend/epson_usb.c: Added USB ID for Expression 10000XL + +2004-10-16 Mattias Ellert + + * ltmain.sh: backport -framework support from libtool 2.0 + * README.darwin: sane-find-scanner now works for SCSI, so removed + statement that said it didn't. More libusb info, and link to libusb + patch + +2004-10-16 Henning Meier-Geinitz + + * frontend/saned.c: Fixed NULL string crash. + * README.linux: Added some more details about hotplug and Gentoo + problems. + * NEWS: Updated for 1.0.15. + +2004-10-17 Ullrich Sigwanz + + * backend/niash_core.c: rewrote buffer portioning + * backend/niash_core.c (2): updated debug info + * backend/niash.c: Enabling support of full DIN A4 size + +2004-10-16 Oliver Rauch + + * backend/umax.c: added default options for Linotype OPAL2 + +2004-10-15 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added various scanners. + * po/sane-backends.da.po: Updated Danish translation (from Mogens + Jaeger ). + +2004-10-14 Henning Meier-Geinitz + + * include/sane/sanei_wire.h sanei/sanei_wire.c: Limit the total + amount of memory used for arrays and pointers while decoding the + wire to 1 MB (bug #300158). Run "make clean" before "make"! + +2004-10-14 Ullrich Sigwanz + + * backend/niash.c: removing a non-ANSI conform comma. + adapting the gammma conversion. + +2004-10-14 Gerhard Jaeger + + * sanei/sanei_thread.c: Added missing pthread_detach() so the + thread resources could be reused again. + +2004-10-13 Ullrich Sigwanz + + * backend/niash.c: Proper resource handling in sane_cancel. + +2004-10-12 Gerhard Jaeger + + * backend/plustek.c: Fixed warning condition. + * backend/plustek-usbhw.c: Cleanup. + +2004-10-12 Giuseppe Sacco + + * Updated italian translation. + * Added a "translators" section in AUTHORS + +2004-10-11 Henning Meier-Geinitz + + * acinclude.m4 config.guess config.sub configure ltmain.sh: Update + to libtool 1.5.10. + * doc/descriptions/unsupported.desc: Added link to + Microtek Filmscan 35. + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_high.c + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: + Fixed typos. Added Packard Bell Diamond 2450 to .conf and + changed status to "good". Avoid error message when closing + scanner. Don't print max_white warning when debugging is not + enabled. + * po/sane-backends.bg.po po/sane-backends.cs.po po/sane-backends.da.po + po/sane-backends.de.po po/sane-backends.es.po po/sane-backends.fi.po + po/sane-backends.fr.po po/sane-backends.it.po po/sane-backends.nl.po + po/sane-backends.no.po po/sane-backends.pt.po po/sane-backends.ru.po + po/sane-backends.sv.po: Recreated. Fixed + some fuzzy texts and added some translations to .de.po. + * tools/check-usb-chip.c: Workaround for GT6816 detection problem + on BSDs. + +2004-10-11 Oliver Schirrmeister (oschirr@abm.de) + + * backend/fujitsu.c: bugfix: 3091 did not work (15.12.2003) + M4099 supported (bw only) + enables brightness + +2004-10-10 Henning Meier-Geinitz + + * backend/test.c: Fixed typo. + * README.solaris: Added details on building SANE on Solaris/x86 + (from Tomasz Orlinski ). + +2004-10-10 Mattias Ellert + + * backend/Makefile.in: fix niash dependencies + +2004-10-08 Stéphane Voltz + + * backend/umax_pp.c backend/umax_pp_low.c: 610P shading + calibration improvements. 1220P offset and gain fixes. + Code cleanups. + +2004-10-08 Ullrich Sigwanz + + * backend/niash.c: Added grayscale and lineart support + * backend/niash_core.c: corrected bug in line-weight in + function _UnScrambleLine + * doc/descriptions/niash.desc: changed status to complete + removed the color only comment + +2004-10-06 Gerhard Jaeger + + * backend/plustek.c backend/u12.c backend/plustek_pp.c: + Using now the well known MODE definitions. + * backend/plustek.h backend/plustek-usb.h: Cleanup. + * doc/plustek/Plustek-USB.changes + doc/plustek/Plustek-Parport.changes doc/u12/U12.changes: + Update. + * po/*.po: Update. + +2004-10-06 Henning Meier-Geinitz + + * backend/microtek2.h doc/descriptions/microtek2.desc: New + version: 0.96. Added Genius ColorPage-EP (from Karsten Festag + ). + * doc/descriptions/unsupported.desc: Added link to artiscan 9600 + project. Removed Genius ColorPage-EP. + * configure.in include/sane/config.h.in: Removed dangling + quotation mark. + * backend/sp15c.c: Don't eject medium twice after each page. + +2004-10-05 Henning Meier-Geinitz + + * tools/sane-find-scanner.c: Fixed compilation problem when + compiled without libusb support. Print sane-backends version + number. Print if built without libusb. + + * backend/microtek2.c backend/microtek2.h: Added backend version + 200410042220 from Karsten Festag . While + attaching devices only read attributes from source 0 (= + MD_SOURCE_FLATBED), others give wrong results. Better handling of + different shading depths. Including model ColorPage-EP. Workaround + for firmware bug for V300 (FW < 2.70). Workaround for firmware bug + with odd pixel numbers. Bugfix for lamp switching when using + LightLid35 Transparency Adaptor. + + * tools/check-usb-chip.c: Added test for interface 1 and + altsetting 2 for GT-8911. Unified ouitput. Formatting updates. + +2004-10-04 Henning Meier-Geinitz + + * doc/sane-find-scanner.man tools/check-usb-chip.c + tools/sane-find-scanner.c: sane-find-scanner can now load USB + descriptors from /proc/bus/usb/devices dumps (e.g. from the + unsupported scanner web pages). Minor modifications to some of + the chipset tests. + +2004-10-04 Peter Kirchgessner + + * backend/hp.h backend/hp.c backend/hp-scl.c: + Fixed bug #300973 (renamed global function hp_init_openfd + to sanei_hp_init_openfd + +2004-10-04 Gerhard Jaeger + + * backend/plustek.c: Fixed bug #300963. + * doc/plustek/Plustek-USB.changes: Update. + * po/*.po: Update. + +2004-10-03 Thomas Soumarmon + + * backend/hp5400_debug.c backend/hp5400_debug.h + backend/hp5400_internal.c backend/hp5400_sane.c: + removing more hp5400 compilation warnings + +2004-10-03 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Nikon LS-5000 ED (bug + #300972). + * include/sane/saneopts.h: Added option for turning off the + scanner's lamp on exit (bug #300963). + * backend/gt68xx.c backend/gt68xx_high.h: Used new lamp option + from saneopts.h (bug #300963). + * backend/net.c doc/descriptions/net.desc: Check for (size_t) -1 + doesn't work on 64 bit platforms as size_t is 64 bits there + while the length of a data block is defined as 32 bits in the + SANE network standard (bug #300837). + * backend/microtek2.c backend/microtek2.h: Fixed some warnings + (bug #300823). Fixed Microtek Phantom C6 scanning on big endian + platforms. Based on patch from Matijs van Zuijlen in Debian bug + tracking system (#274523). + * sanei/sanei_auth.c sanei/sanei_lm983x.c sanei/sanei_wire.c + backend/artec.c backend/artec_eplus48u.c backend/as6e.c + backend/avision.c backend/canon-sane.c backend/canon-scsi.c + backend/canon.c backend/canon630u-common.c backend/dc25.c + backend/epson.c backend/fujitsu.c backend/gt68xx_low.c + backend/hp5400_internal.c backend/hp5400_sanei.c + backend/ma1509.c backend/microtek.c backend/microtek2.c + backend/mustek.c backend/mustek_scsi_pp.c backend/nec.c + backend/net.c backend/pie.c backend/sharp.c + backend/snapscan-scsi.c backend/snapscan-sources.c + backend/snapscan-usb.c backend/snapscan.c backend/teco3.c + backend/test.c backend/umax-usb.c backend/umax1220u-common.c: + 64 bit platform fixes (bug #300799). + * backend/Makefile.in tools/Makefile.in: Fixed DESTFILES. + +2004-10-02 Thomas Soumarmon + + * backend/hp5400_internal.c backend/hp5400_internal.h + backend/hp5400_sanei.c backend/hp5400_sanei.h + backend/hp5400_sane.c: + removing some compilation warnings + +2004-10-02 Thomas Soumarmon + + * backend/hp5400_internal.c: hp5400 version mathing test + has been removed by default. + To enable it : + CFLAGS="-DSTRING_VERSION_MATCH" ./configure + +2004-10-02 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added several + scanners. Removed Genius Vivid 1200 XE (actually supported by + gt68xx backend). + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Updates of supported scanners. + +2004-10-01 Oliver Rauch + + * backend/umax-scanner.c, umax.conf and umax.desc: + added "LinoHell", "OPAL2 " as supported device + +2004-09-28 Mattias Ellert + + * po/sane-backends.sv.po: Updated Swedish translation file + +2004-09-27 Oliver Schwartz + + * doc/descriptions/unsupported.desc doc/descriptions/snapscan.desc: + Changed entry for Epson 2580 (should work with SnapScan backend). + +2004-09-21 Gerhard Jaeger + + * doc/descriptions/unsupported.desc: fixed Plustek entries. + +2004-09-19 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Compeye Simplex 1236C. + +2004-09-14 Karl Heinz Kremer + + * backend/epson_usb.c: add USB device ID for CX6400 back in + * backend/epson.c: disable "feed" command for Perfection 1640 w/ ADF + +2004-09-08 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * doc/descriptions/unsupported.desc: Added Microtek Scanmaker 5700, + ArtixScan 4000tf and Medion MD41985. + +2004-09-06 Henning Meier-Geinitz + + * configure: Regenerated. + * doc/descriptions/unsupported.desc + doc/descriptions-external/genesys.desc: Moved HP 35xx series to + unsupported.desc because these scanners use a RTS8801 chip (no + Genesys chipset). + +2004-09-06 Jochen Eisinger + + * backend/mustek_pp.c: clarify error message + * configure.in: only build the mustek_pp backend, if parallel + port support of any kind is present + +2004-09-06 Gerhard Jaeger + + * backend/plustek.c: Bumped build number. + * backend/plustek-usbdevs.c: Fixed bug #300913. + +2004-09-05 Julien Blache + + * More auth_callback() fixes, although they're not critical. + +>>>>>>> 1.2283 +2004-09-03 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Lexmark X1130, Dell + 1600n. Removed Canon LiDE 35 (now in genesys.desc) and Epson + Perfection 2480 (now in snapscan.desc). + * doc/descriptions-external/genesys.desc: Added Canon LiDE 35. + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_low.h backend/gt68xx_low.h + backend/gt68xx_shm_channel.c + doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Fixed firmware name for Mustek 1248 + UB. Changed status to basic. Removed "unsupported" warning. + Added workaround for shared memory compilation problem on + Windows. It's now possible to add a new vendor/product id line + to gt68xx.conf to test yet unsupported scanners without changing + the source code. + * frontend/.cvsignore: Added tstbackend. + +2004-09-02 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-scsi.c backend/snapscan-options.c + backend/snapscan.h backend/snapscan.conf doc/descriptions/snapscan.desc: + Added support for Epson 2480 + +2004-09-01 Julien Blache + + * frontend/saned.c: auth_callback(): arrays are passed as + pointers, declaring parameters as arrays of fixed size is + useless. memset() the correct length, not sizeof(pointer). + Caught while testing splint on the SANE sources. + +2004-08-30 Gerhard Jaeger + + * doc/descriptions/unsupported.desc: Added Canon LiDE35. + * sanei/sanei_usb.c: Fixed memory leak. + +2004-08-29 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Epson 2580 and Nikon + LS-50. + * doc/descriptions-external/brother.desc: Added more clear comments. + +2004-08-28 Stéphane Voltz + + * backend/umax_pp.c: + option parsing fix + * backend/umax_pp_low.c: + minor 1220P calibration fixes + +2004-08-25 Stéphane Voltz + + * tools/umax_pp.c backend/umax_pp.c backend/umax_pp.conf + backend/umax_pp.h backend/umax_pp_low.c backend/umax_pp_low.h + backend/umax_pp_mid.c backend/umax_pp_mid.h doc/sane-umax_pp.man: + rename 'contrast' to 'offset' and 'highlight' to 'gain'. Translations + will need to be updated. Beginning of 610/1220P codepath merge. + +2004-08-24 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Epson 2480 and Microtek + Filmscan 35. + +2004-08-23 Henning Meier-Geinitz + + * tools/sane-find-scanner.c: Worked around a cygwin libusb + compatibility problem (patch from Giuseppe Sacco eppesuig + at users.alioth.debian.org). + +2004-08-19 Henning Meier-Geinitz + + * doc/descriptions/gt68xx.desc doc/descriptions/unsupported.desc: + Updated. + +2004-08-18 Julien Blache + * tools/hotplug/libsane.usermap: committed patch from Aurélien + Jarno adding USB IDs for Epson Stylus CX6400 (and doing + s/EPSON/Epson/ on one entry to maintain consistency). + +2004-08-14 Frank Zago + + * frontend/tstbackend: fixed a couple bugs. + +2004-08-14 Henning Meier-Geinitz + + * po/Makefile.in po/sane-backends.fi.po: Added Finnish translation + (from Harri Järvi ). + +2004-08-08 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES tools/hotplug/libsane.usermap: + Added Mustek ScanExpress 1248 UB and new version of Mustek + BearPaw 1200 CU Plus. + * doc/descriptions/unsupported.desc: Added Lexmark and Xerox scanners. + +2004-08-05 Gerard Klaver + + * backend/teco2.c backend/teco2.h: changed to SANE_VALUE_SCAN_MODE_LINEART, _GRAY, and _COLOR, + * backend/teco2.c: changed use of %d to %ld (when bytes values are displayed) + +2004-08-04 Julien Blache + * tools/hotplug/libsane.usermap: added HP ScanJet 5300C. + +2004-08-04 Gerard Klaver + + * AUTHORS: corrrection for teco2 + * doc/descriptions/teco2.desc: url and status change + * doc/sane-teco2.man: update info + * backend/teco2.c: - added for the VM6575 a WHITE_LEVEL_R, _G an _B + slider opion + -changed for the VM656A and VM6575 and VM6586 the calibration part + (subtract highest and lowest value and then divide). + -default SANE_TECO_CAL_ALGO value is now 1 for the VM3564 and + VM6575. + - preview value is now 75 dpi for the VM6575 + +2004-08-04 Oliver Rauch + * doc/umax/umax.FAQ: corrected bug about dtc3181e scsi controller + +2004-08-03 Henning Meier-Geinitz + + * aclocal.m4 configure include/sane/config.h.in: Regenerated to + include updates from niash and resource manager inclusion. + * doc/sane.man doc/sane-niash.man: Minor documentation updates. + * doc/descriptions-external/niash.desc: Removed (backend now included). + +2004-08-03 Gerhard Jaeger + + * AUTHORS: Added niash backend maintainer and author. + * configure.in: Added niash backend. + * backend/dll.conf: Added niash backend. + * backend/Makefile.in: Added niash backend files and target. + * backend/niash.c backend/niash_core.c backend/niash_core.h + backend/niash-xfer.c backend/niash-xfer.h backend/niash-types.h: + Niash backend files, initial checkin. + * doc/sane-niash.man, doc/descriptions/niash.desc, doc/niash/niash.TODO: + Initial checkin. + * doc/Makefile.in: Added niash documentation stuff. + * doc/sane-man: Added niash manpage. + * po/Makefile.in: Added niash source file. + * po/sane-backends.de.po: Updated and completed niash backend translation. + * po/sane-backends.*.po: Added niash strings. + * backend/plustek.c: Small cleanup. + +2004-07-31 Julien Blache + + * frontend/scanimage.c: Added the possibility to cleanly stop a + batch by pressing Ctrl+D when using --batch-prompt. + +2004-07-28 Gerard Klaver + + * doc/descriptions/unsupported.desc: Added Logitech PageScan USB and + Grandtek Scopecam + +2004-07-26 Gerhard Jaeger + + * sanei/sanei_usb.c sanei/sanei configure configure.in: Added + resource manager library support. + * backend/plustek.[ch] backend/plustek-usbdevs.c backend/plustek-usbhw.c + backend/plustek-usbshading.c backend/plustek.conf: Added speedup + parameters and TPA autodetection for UMAX3400/3450, added + disableSpeedup option. + * doc/plustek/Plustek-USB-TODO.txt doc/plustek/Plustek-USB.changes + doc/descriptions/plustek.desc: Updated. + +2004-07-21 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp.c tools/umax_pp.c: + fixed a 610P initialization bug that shown up when changing from color + to grey mode. Changed version numbers. + +2004-07-18 Karl Heinz Kremer + + * doc/descriptions/epson.desc: Added CX-5400, RX-500 and RX-600; updated version + * doc/descriptions/unsupported.desc: Removed RX-500 + +2004-07-16 Henning Meier-Geinitz + + * doc/descriptions-external/epkowa.desc: Added Epson Perfection + 3170 Photo as it's reported to work with that backend. + * doc/descriptions/unsupported.desc: Added some scanners. Removed + Epson Perfection 3170 (now in epkowa). + +2004-07-16 Gerhard Jaeger + + * doc/plustek/Makefile.module doc/plustek/BUILD + doc/plustek/VERSION0 doc/plustek/VERSION1: Removed, no longer needed. + * doc/plustek/Makefile.kernel2x doc/plustek/MakeModule.sh: + Getting version information now out of the backends main file. + * doc/plustek/Plustek_PARPORT.changes: Updated. + * doc/descriptions/plustek_pp.desc: Updated. + * doc/sane-plustek.man: Fixed typo. + * backend/plustek-pp.[ch], backend/plustek-pp_*.[ch]: + Added DevFS support for kernel 2.6, removed floating point + operations (Thanx to Rafal Rzepecki), bumped up build number, + cleanup work. + * doc/plustek/Plustek_USB.changes: Updated. + * backend/plustek.c: Bumped up build number + * backend/plustek-usbshading.c: Improved autowarmup, cleanup work. + * backend/plustek-usb.h backend/plustek-usbdevs.c + backend/plustek-usbhw.c backend/plustek-usnscan.c: Improved + fastforward stuff, cleanup work. + * sanei/sanei_lm983x.c: Cleanup work. + +2004-07-15 Rene Rebe + + * include/sane/sane.h: added extern "C" for compilation with a C++ + compiler + +2004-07-12 Henning Meier-Geinitz + + * doc/sane-coolscan2.man doc/sane-microtek2.man: Fixed + manual page problems. + +2004-07-10 Gerard Klaver + + * tools/check-usb-chip.c: Added check for the GT-8911. + +2004-07-10 Henning Meier-Geinitz + + * tools/check-usb-chip.c: Also check the number of interfaces for + the GT-6816 to avoid conflicts with other GT chips. + +2004-07-09 Henning Meier-Geinitz + + * doc/descriptions-external/brother.desc: New file. Added the + scanners listed on the brother backend page. Used "untested" + status as we don't have confirmation that the backend actually + works. + * tools/hotplug/libsane.usermap: Added Mustek ScanExpress 1248UB. + * tools/sane-desc.c: XML mode updates (patch from Jose Gato + ). + * doc/descriptions/ma1509.desc: Removed dead link. + +2004-07-05 Gerhard Jaeger + + * doc/descriptions/plustek.desc: Changed status of CanoScan D660U. + * doc/plustek/Plustek-USB*: Update. + * backend/plustek.c: Bumped up build number. + * backend/plustek-usb.[ch] backend/plustek-usbdevs.c + backend/plustek-usbhw.c backend/plustek-usbimg.c + backend/plustek-usbmap.c backend/plustek-usbscan.c: Added support + for binary scanning for the CanoScan D660U, cleanup work. + +2004-07-03 Peter Fales + + * acinclude.m4, aclocal.m4, configure, tools/sane-config.in: + When using pkg-config to get library flags for gphoto2, any + extra flags (such as -L) must be passed to sane-config.in so + that it can find the libraries in a non-standard location. + (Bug #300686) + +2004-07-02 Gerhard Jaeger + + * po/*.po: Updated according to changes in the plustek backend. + * backend/plustek.c backend/plustek-usb*: Major update, see + doc/plustek/Plustek-USB.changes. + * doc/sane-plustek.man: Update. + * doc/plustek/Plustek-USB.changes: Update. + * doc/descriptions/plustek.desc: Removed unsupported devices, + updated some states. + * doc/descriptions/plustek_pp.desc: URL update. + * doc/descriptions/u12.desc: URL update, changed state of backend. + * doc/sane-plustek_pp.man: URL update. + * doc/sane-u12.man: URL update. + +2004-06-30 Frank Zago + + * backend/leo.c doc/descriptions/leo.desc: added support for + Genius FS-1130 Colorpage Scanner. + +2004-06-30 Gerhard Jaeger + + * doc/plustek/Makefile.kernel26: fixed floating point issues + for SuSE kernels. + +2004-06-28 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Microtek and Xerox + scanners. + * tools/sane-desc.c: Added xml output (patch from + jose ). Other minor fixes. + +2004-06-28 m. allan noah + + * backend/fujitsu.c: use model code instead of string compare + submitted by: stan at saticed.me.uk + +2004-06-21 Gerhard Jaeger + + * doc/descriptions/unsupported.desc: removed Compac S4 100 + (supported by the Plustek backend), added various Plustek + devices, changed OpticPro m12 to OpticSlim M12 + +2004-06-22 Henning Meier-Geinitz + + * backend/microtek2.c: Fixed some (but not all) MIN related + compilation warnings (bug #300823). + * tools/sane-find-scanner.c: Look for NetBSD uscanner devices (bug + #300815). + +2004-06-22 Rene Rebe + + * backend/avision.c, backend/avision.h, doc/sane-avision.man: + Fixed compilation warning (Bug #300399) and added a force-a3 + option, needed for A3 scanner returning bogus scan area definitions + +2004-06-21 Gerhard Jaeger + + * po/*.po: Updated according to upcomming changes in the plustek backend. + +2004-06-20 Mattias Ellert + + * aclocal.m4, configure, sane/config.h.in, backend/Makefile.in, + backend/agfafocus.c, backend/artec_eplus48u.c, backend/avision.c, + backend/coolscan.c, backend/fujitsu.c, backend/pie.c, + backend/plustek.c, backend/plustek_pp.c, backend/sp15c.c, + backend/tamarack.c, backend/u12.c + * Fixing bug #300602 for the following backends: agfafocus, + artec_eplus48u, avision, coolscan, fujitsu, pie, plustek, + plustek_pp, sp15c, tamarack and u12 + * Migrating the avision backend to sanei_threads (bug #300631) + +2004-06-19 Mattias Ellert + + * backend/gt68xx.c po/sane-backends.bg.po po/sane-backends.cs.po + po/sane-backends.da.po po/sane-backends.de.po + po/sane-backends.es.po po/sane-backends.fr.po + po/sane-backends.it.po po/sane-backends.nl.po + po/sane-backends.no.po po/sane-backends.pt.po + po/sane-backends.ru.po po/sane-backends.sv.po + * Option names should not be tagged for localization + * Fixing some typos + * New localizable strings from the gt68xx backend (pofiles regenerated) + * Swedish translation updated + +2004-06-19 Mattias Ellert + + * sanei/sanei_scsi.c, tools/sane-find-scanner.c + * SCSI scanners can now be selected by LUN on MacOS X + * sane-find-scanner now finds SCSI scanners on MacOS X + * making some sanei_scsi internal functions static + +2004-05-30 Peter Fales + + * acinclude.m4, aclocal.m4, configure.in, configure + In addition to using pkg-config to find the gphoto2 library flags, + we should check to see whether it's actually possible to link + a program using those flags. + +2004-06-18 Henning Meier-Geinitz + + * doc/gt68xx/gt68xx.TODO: New file. Lots of bugs and missing + features for the gt68xx backend. + * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_generic.c + backend/gt68xx_gt6801.c backend/gt68xx_gt6801.h backend/gt68xx_gt6816.c + backend/gt68xx_high.c backend/gt68xx_high.h backend/gt68xx_low.c + backend/gt68xx_low.h backend/gt68xx_mid.c doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Updated to backend version 61. Lots + of fixes for coarse calibration, scanning speed and several + scanners. For details, see gt68xx.CHANGES. + +2004-06-17 Henning Meier-Geinitz + + * doc/.cvsignore: Added *.8. + +2004-06-17 Stéphane Voltz + + * backend/umax_pp_low.c doc/descriptions/umax_pp.desc + doc/sane-umax_pp.man: + fixed overflows in 610P shading calibration coefficients, + minor man update, 610P status change from minimal to good + +2004-06-16 Oliver Schwartz + + * backend/snapscan.h backend/snapscan.c backend/snapscan-usb.c: + Don't enforce even number of URB packages on 1212u_2 since + it causes problems. See bug #300753. + +2004-06-15 Henning Meier-Geinitz + + * backend/snapscan.c: Only use __attribute__ if gcc is used for + compilation. Some other compilers don't know __attribute__ and + therefore can't compile sane-backends without this fix. See + bug #300803. + +2004-06-15 Stéphane Voltz + + * backend/umax_pp_low.h backend/umax_pp_low.c backend/umax_pp_mid.c: + 610P gray level shading calibration fix. Added timer to let 610P + ASIC to settle down after probing. + +2004-06-13 Julien Blache + + * doc/Makefile.in: saned is in /usr/sbin, its manpage should go to + section 8. Fixed everything referring to saned(1) to refer to saned(8). + +2004-06-13 Mattias Ellert + + * doc/descriptions/unsupported.desc: Added NEC Petiscan as unsupported + +2004-06-13 Karl Heinz Kremer + + * backend/sane_usb.c: Added Perfection 1650 back in that was removed by + mistake and finally removed Perfection 1250. + +2004-06-12 Stéphane Voltz + + * backend/umax_pp_low.c tools/umax_pp.c: final fixes for 610P color + scanning, parallel port autodetection for the umax_pp tool. + +2004-06-10 Henning Meier-Geinitz + + * doc/descriptions/mustek_usb.desc: Fixed version number. + +2004-06-08 Gerhard Jaeger + + * backend/plustek-pp_misc.c: fixed multiple parport problem for kernel 2.6.x. + * backend/plustek_pp.c: bumped up version number. + * doc/plustek/BUID: bumped up build number. + +2004-06-08 Henning Meier-Geinitz + + * tools/RenSaneDlls.cmd: Fixed newlines. + * README.netbsd: Mention SCSI buffer size problems and uk/ss files + issue. + * backend/mustek.c doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: Reduced scan area of Mustek Paragon + 1200 A3 Pro. Removed warning message. Increased support level to + complete. + * tools/hotplug/libsane.usermap: Added another variant of a + Plustek OpticPro 1248U. + * doc/descriptions/unsupported.desc: Added Syscan TravelScan FS-531. + +2004-06-06 Karl Heinz Kremer + + * backend/epson_usb.c: remove product IDs for Perfection 1250 and 1260 + +2004-06-06 Oliver Schwartz + + * backend/snapscan-usb.c: Don't use shared memory on OS/2 and + when using pthreads. + +2004-06-06 Henning Meier-Geinitz + + * tools/hotplug/libsane.usermap: Added Mustek BearPaw 2448 Plus + and Plustek OpticPro U16B. + +2004-06-05 Henning Meier-Geinitz + + * tools/README tools/RenSaneDlls.cmd: Added REXX script to convert + backend-DLL-filenames according to 8.3 naming convention + necessary for DLLs on OS/2 (from Franz Bakan). + +2004-06-02 Henning Meier-Geinitz + + * backend/net.c doc/sane-net.man doc/saned.man frontend/saned.c: + Changed service name from "sane" to "sane-port". This is the + IANA registered service name for port 6566 (bug #300758). + +2004-06-02 Oliver Schirrmeister + + * fujitsu.c + bugfix: It is possible to read duplex color now. + +2004-05-31 Henning Meier-Geinitz + + * AUTHORS: Mattias Ellert has CVS write access now. + +2004-05-30 Peter Fales + * acinclude.m4, aclocal.m4, configure.in, configure + Use pkg-config rather than gphoto2-config to get gphoto + build parameters (bug #300686) + +2004-05-30 Henning Meier-Geinitz + + * backend/v4l.c: Used SANE_VALUE_SCAN_MODE_* constants. + * doc/descriptions-external/viceo.desc: Mention special kernel patch. + +2004-05-29 Henning Meier-Geinitz + + * backend/sp15c.c: Fixed the fix of the sanei_thread fix + (from Mattias Ellert). + +2004-05-28 Henning Meier-Geinitz + + * README.hp-ux: Mention trouble with higher optimization levels + (from Ulrich Deiters ). + * doc/descriptions/unsupported.desc: Added Dell A920, Microtek + 1850S and Plustek OpticPro m12. Removed HP,Scanjet 2300 (already + in genesys.desc). + * backend/sp15c.c: Fixed sanei_thread fix (bug #300634, by Mattias + Ellert). + +2004-05-27 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-usb.c: Use shared + memory for urb counters + +2004-05-24 Henning Meier-Geinitz + + * backend/dll.c doc/descriptions/dll.desc: Work around 8 char + limit for dynamic loading on OS/2 (patch from Franz Bakan + ). + +2004-05-24 m. allan noah + * backend/fujitsu.[ch]: apply Mattias Ellert's thread patch + split packet counter into r and w + +2004-05-23 Henning Meier-Geinitz + + * tools/check-usb-scanner.c: Detect GL660+GL646 on USB2 also. + Fixed Mustek MA1017 scanner freeze problem. + * backend/Makefile.in backend/agfafocus.c backend/agfafocus.h + backend/microtek2.c backend/microtek2.h backend/sp15c.c + backend/sp15c.h backend/tamarack.c backend/tamarack.h: + Use sanei_thread instead of fork() in the unmaintained backends. + Patches from Mattias Ellert (bugs: 300635, 300634, 300633, 300629). + +2004-05-21 Gerhard Jaeger + + * sanei/sanei_pp.c: fixed compilation problem on HP-UX. + +2004-05-21 Ulrich Deiters + + * backend/canon.c, canon-sane.c, canon.h: removed an option + (OPT_PAGE) that conflicted with some frontends + +2004-05-18 Ulrich Deiters + + * backend/canon.c, canon-sane.c: memory leak and bug fixed + in slide scanner code + +2004-05-18 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added more Canon cartridge + scanners. Updated Visioneer Paperport 3100b. + +2004-05-18 Michael Herder + + * backend/Makefile.in: + adjusted for use with sanei_thread and artec_eplus48u backend + (thanks Mattias Ellert) + +2004-05-16 Oliver Rauch + + * sanei/sanei_config.c: added DIR_SEP=";" and PATH_SEP="\\" + for windows (when windows.h) is available + + * backend/dll.c: added DIR_SEP definitions from sanei_config.c + and replaced relevant ":" by DIR_SEP + +2004-05-15 Gerhard Jaeger + + * doc/plustek/BUID: bumped up build number. + * doc/plustek/Plustek-PARPORT.changes: update + * backend/plustek-pp_misc.c: fixed kernel 2.6 issue. + fixed also Bug #300698. + +2004-05-15 Michael Herder + + * backend/artec_eplus48u.c backend/artec_eplus48u.h: + applied patch from Mattias Ellert (thanks), which adds support + for sanei_thread + +2004-05-15 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp.c tools/umax_pp.c: fixed + origin shift bug for 610P. Added on guard against configuration + that can put several 'port' option in conf file. + +2004-05-13 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp.c tools/umax_pp.c: fixed + data lines reordering for 610P + +2004-05-12 Henning Meier-Geinitz + + * sane-backends.lsm: Updated FTP server link to ftp.sane-project.org. + +2004-05-11 Henning Meier-Geinitz + + * Makefile.in: Remove autoconf temp files and some japi stuff in + distclean target. + +2004-05-10 Stéphane Voltz + + * backend/umax_pp_low.c : fixed 300x600 dpi scans, direct + hardware access and timing issues for 610P + +2004-05-06 Jochen Eisinger + + * tools/hotplug/libusbscanner: latest hotplug doesn't set + DEVICE on 2.6.x kernels. Added a workaround + +2004-05-05 Matthew Duggan + + * include/sane/saneopts.h: Added SANE_VALUE_SCAN_MODE_* strings. + * backend/canon_pp.c: Used them. + +2004-05-01 Jochen Eisinger + + * tools/hotplug/libsane.usbmap: removed empty lines, latest + hotplug cannot cope with them + +2004-03-15 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.c + backend/umax_pp_mid.h backend/umax_pp.c backend/umax_pp.h + tools/umax_pp.c: added support for 610P + +2004-05-01 Henning Meier-Geinitz + + * configure configure.in: Warnings enabled again. Added -cvs to + version. + * Makefile.in: Added Changelog-1.0.14 to DISTFILES. + +Older entries can be found in ChangeLog-1.0.14. diff --git a/ChangeLogs/ChangeLog-1.0.16 b/ChangeLogs/ChangeLog-1.0.16 new file mode 100644 index 0000000..f96e19e --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.16 @@ -0,0 +1,944 @@ +****** Release of sane-backends 1.0.16. End of code freeze ****** + +2005-08-07 Henning Meier-Geinitz + + * configure configure.in: New version 1.0.16. + +2005-08-05 St�hane Voltz + + * backend/genesys.c: Fixed endianess issue in slope table + generation. Tested ok on x86 architecture. + +2005-08-02 Henning Meier-Geinitz + + * po/sane-backends.da.po: Updated Danish translation (from + Mogens Jaeger + + * po/sane-backends.sv.po: Update Swedish translation + +2005-08-01 Eddy De Greef + + * doc/sane-mustek_pp.man: updated URL for additional CIS driver info. + +2005-07-31 Henning Meier-Geinitz + + * NEWS: Updated. + +---- CODE FREEZE FOR SANE 1.0.16 --- + +2005-07-31 Henning Meier-Geinitz + + * configure configure.in: Disabled compilation warnings. + +2005-07-30 Karl Heinz Kremer + + * backend/epson_usb.c: Applied Olaf Meuwissen's patch to add + new device IDs. + +2005-07-30 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Xerox Workcentre + 470cx. Added link for Canon DR-2080C. + * backend/Makefile.in: libsane and documentation is installed + correctly again. + * acinclude.m4 configure configure.in: Avoid error messages in + locking test. Make sure that io/cam/cam.h header file will be + detected correctly. + +2005-07-29 Gerard Klaver + + * doc/sane-teco2.man: text update + doc/descriptions/teco2.desc: update status VM3564 + doc/teco/teco2.txt: text added + backend/teco2.c: removed teco_request_sens command for VM3564 (bug) + backend/teco2.h: text update + +2005-07-29 Julien Blache + * tools/hotplug/libsane.usermap: Added various Epson IDs from Olaf + Meeuwissen; reodered some misplaced Epson entries. + +2005-07-29 Julien Blache + * tools/hotplug/libsane.usermap: Added Visioneer OneTouch 7300 + (0x0444,0x0211), from Derek J Frye. + +2005-07-25 Gerhard Jaeger + + * doc/descriptions-external/epkowa.desc: Updated according to + the info provided by Olaf Meeuwissen + +2005-07-24 Henning Meier-Geinitz + + * doc/descriptions-external/brother2.desc: Brother DCP 7025 is + reported to work (bug #301960). + * doc/descriptions-external/hp_rts88xx.desc: Moved unsupported + devices to unsupported.desc. + * doc/descriptions-external/hp3770.desc + doc/descriptions-external/hp8200.desc: Added external hp3770 and + hp8200 backends. + * doc/descriptions/unsupported.desc: Added unsupported scanners + from hp_rts88xx.desc. Removed HP ScanJet 3770 (now in hp3770 + backend). Added Lexmark X75 PrinTrio. + +2005-07-22 Giuseppe Sacco + + * italian translation update + +2005-07-22 Julien Blache + * tools/hotplug/libsane.usermap: Added HP ScanJet 7400C (0x03f0, + 0x0801), from Thomas Nadolny. + +2005-07-21 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c: Bumped build number. + * backend/plustek-usbcal.c: Fixed lampsettings for CIS devices. + +2005-07-15 Oliver Schwartz + + * backend/snapscan-options.c: Change TPO range for Epson 2480/2580 to + 55x80mm^2 which is the working range for the 2580. Reenabled + 2400 DPI for 2480/2580. + +2005-07-15 Oliver Schwartz + + * backend/snapscan-mutex.c backend/snapscan-usb.c: Changes to support + SANE on ZETA. + * backend/snapscan-scsi.c: Fix compiler warnings. + +---- FEATURE FREEZE FOR SANE 1.0.16 --- + +2005-07-17 Henning Meier-Geinitz + + * Makefile.in backend/Makefile.in tools/Makefile.in: Make sure + that all the necessary files will be in the distribution .tar.gz + file. + * sanei/sanei_scsi.c: Removed "const" to make gcc on OS/2 happy. + * NEWS: Updated. + +2005-07-15 Henning Meier-Geinitz + + * backend/sp15c.c: Better 4->8 bit depth expansion algorithm (from + Mattias Ellert ). + * sanei/sanei_usb.c: Fixed comment (we still use 30 seconds USB + timeout by default). + * README.zeta configure configure.in Makefile.in backend/Makefile.in + backend/artec_eplus48u.h backend/dll.c backend/plustek-pp_scan.h + doc/Makefile.in frontend/saned.c include/sane/config.h.in + po/Makefile.in sanei/sanei_config.c sanei/sanei_config2.c + sanei/sanei_init_debug.c sanei/sanei_pio.c sanei/sanei_thread.c + sanei/sanei_usb.c: Changes to support SANE on ZETA. Not all + patches have been applied yet, but it's a start. The backends + are not installed as shared libs but as add-ons, which are shared libs + but in a specific folder in [/system|~]/config/add-ons/ named SANE/. + The install target has been changed to account for this, + Some files don't exist in BeOS/ZETA (ipc.h, ...). + Backend function names get a prefix, I suppose to avoid namespace clashes. + Though we do have a libdl to implement dl_open, the native way is prefered. + Added a --with-docdir= configure arg. + BeOS has a broken get[name|addr]info() from bind. This is fixed in ZETA R1. + libtool needs -no-undefined. Various VPATH fixes. + Check for , but not used yet. + No S_IFSOCK (sockets are fds to /dev/net/api). Stub pio code, untested. + Patch from Fran�is Revol . + +2005-07-15 Oliver Schwartz + + * doc/descriptions/snapscan.desc: + updated comments for Epson 1670, 2480 and 2580 + +2005-07-15 Rene Rebe + + * backend/avision.h, backend/avision.c, doc/sane-avision.man, + doc/descriptions/avision.desc: updated the Avision backend with the + latest off-site maintained version: fixed segmentation faults for + some modes, many many new devices, two different duplex modes + are supported, vast speedup of multi page batch scans, buttons as well + a 7-segment LED readout and some quirks for old scanners not filling + all fields + +2005-07-15 Rene Rebe + + * include/sane/sanei_usb.h sanei/sanei_usb.c: Added support to set + the USB timeout. + +2005-07-10 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c + backend/gt68xx_generic.c backend/gt68xx_high.c + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES + doc/gt68xx/gt68xx.TODO: Changed resolution from 75 to 100 dpi + and changed 16 bit/color to 12 based on a user report for the + Visioneer OneTouch 7300. Updated .desc. Moved check for stable + lamp to its own function. Mustek ScanExpress A3 USB: Use CIS + calibration. Use lamp warmup. Fixed CCD on GT6801 scanning (color + scanning was broken due to a change in motormode_2. + +2005-07-09 Henning Meier-Geinitz + + * po/Makefile.in po/sane-backends.bg.po po/sane-backends.cs.po + po/sane-backends.da.po po/sane-backends.de.po + po/sane-backends.es.po po/sane-backends.fi.po + po/sane-backends.fr.po po/sane-backends.it.po + po/sane-backends.nl.po po/sane-backends.no.po + po/sane-backends.pl.po po/sane-backends.pt.po + po/sane-backends.ru.po po/sane-backends.sv.po: Updated Danish + translation (from Mogens Jaeger ). Made + sure that no errors occur because xgettext/xmsgfmt think that + "%" is a C format string. Regenerated all po files. + + * configure configure.in include/sane/config.h.in: Make sure that + getopt is not built on OS/2 (from Franz Bakan ). + +2005-07-07 Frank Zago + + * AUTHORS backend/leo.c backend/leo.h backend/matsushita.c + backend/matsushita.h backend/sceptre.c backend/sceptre.h + backend/teco1.c backend/teco1.h backend/teco2.c backend/teco2.h + backend/teco3.c backend/teco3.h frontend/tstbackend.c: new + email address. + +2005-07-07 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c: Fixed scanarea calculation. + * backend/plustek-usbshading.c: Fixed fine-white calibration. + +2005-07-05 Gerhard Jaeger + + * doc/descriptions-external/epkowa.desc: Updated according to + the info provided by Olaf Meeuwissen + +2005-07-04 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.[ch] backend/plustek-usbscan.c + backend/plustek-usbshading.c backend/plustek-usbdevs.c + backend/plustek-usbdevs.c backend/plustek-usbimg.c + backend/plustek-usbmap.c backend/plustek-usbhw.c + backend/plustek-usbcal.c backend/plustek-usb.[ch]: + Added button support, did some cleanup, added IPC between + reader- and parent-process. + +2005-07-04 ULrich Deiters + + * inserted a definition for SSIZE_MAX in backend/canon.h + +2005-07-03 Henning Meier-Geinitz + + * backend/sm3600.c: Don't check the result of + usb_find_busses(). Based on patch from Julien BLACHE + . + * doc/descriptions/genesys.desc: Used + "Medion/Lifetec/Tevion/Cytron" as manufacturer as in the other + backends. Used "ScanJet 2300C" as model name as in other + backends. + * doc/descriptions/unsupported.desc: Added links to scanners with + GL646 and GL841 chipsets. Moved all unsupported scanners from + doc/descriptions-external/genesys.desc to unsupported.desc. Minor + fixes for other scanners. + * doc/descriptions-external/genesys.desc: Removed. Scanners have + been moved to doc/descriptions/genesys.desc and + doc/descriptions/unsupported.desc. + * doc/sane-genesys.man: Typo/formatting fixes. + * NEWS: Updated for sane-backends 1.0.16. + +2005-07-01 Ulrich Deiters + + * restored the actual version of the Canon-SCSI backend + (backend/canon.c, canon-sane.c canon-scsi.c canon.h) + +2005-06-30 St�hane Voltz + + * configure.in AUTHORS backend/dll.conf doc/sane.man doc/Makefile.in + po/Makefile.in : Fixed forgotten modifications when adding the + genesys backend + +2005-06-30 Gerhard Jaeger + + * tools/RenSaneDlls.cmd backend/dll.c: Fixed OS/2 restriction for + dlopening DLLs on OS/2, as it only works for 7.3 filenames for + some reason (patches by Franz Bakan . + +2005-06-27 St�hane Voltz + + * configure doc/sane-genesys.man doc/sane-genesys.man doc/Makefile.in + doc/descriptions/genesys.desc doc/descriptions/unsupported.desc + backend/genesys_low.h backend/genesys_devices.c + backend/genesys_gl841.c backend/genesys_gl646.c backend/genesys.h + backend/genesys.conf backend/genesys.c backend/Makefile.in + +2005-06-27 Gerhard Jaeger + + * backend/plustek.c: Fixed "double free" problem in sane_exit. + * doc/plustek/Plustek-USB.changes: Update. + +2005-06-26 Mattias Ellert + + * po/sane-backends.sv.po: Update Swedish translation + * tools/Makefile.in: link sane-desc to $(LIBLIB) + +2005-06-12 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Removed Samsung SCX-4216F + (supported by samsung backend). Dell 1600n has also network + connection. + * doc/descriptions-external/brother.desc: Removed misleading + comment. + * doc/descriptions-external/samsung.desc: Added several models, + updated others. + * doc/descriptions.txt: Added "Ethernet" to list of possible + interfaces. + +2005-06-12 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Canon CanoScan LiDE + 500F. + +2005-06-04 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Genius ColorPage-SF600. + * doc/descriptions-external/brother2.desc: New. Listed scanners + supported by the new external brother2 backend. + * doc/descriptions-external/brother.desc: Fixed comments. + +2005-05-30 Karl Heinz Kremer + + * doc/descriptions/epson.desc: Added CX-4600 + +2005-05-29 Henning Meier-Geinitz + + * doc/descriptions-external/samsung.desc: Status of Samsung + SCX-4100 is "good" asit's reported to work. + * doc/sane-usb.man doc/sane.man: Updated, mostly concerning kernel + scanner driver (deprecated). Minor fixes. + * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_high.c + backend/gt68xx_low.h doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES + doc/gt68xx/gt68xx.TODO: + Start exposure with the settings from the scanner entry. CIS + Calibration and exposure uses a broader spectrum now. Expsoure + limit is increased to 50 loops. Genius Vivid 4x is reported to + work so the UNTESTED label is removed now. Visioneer 7300 is + reported to work so the UNTESTED label is removed now. Genius + ColorPage Vivid 1200XE: Removed UNTESTED label. Fixed + resolutions. Adjusted margins. Fixed color order. Fixed + linedistance. Adjusted AFE. Mustek ScanExpress 1248 UB: Fixed + margins. Adjusted AFE. Adjusted exposure. Adjusted + gamma. Changed status to "complete". Mustek BearPaw 2400 CU + Plus: Adsusted exposure and AFE parameters. Hopefully stripes + and similar trouble are gone now. Mustek BearPaw 1200 CU: + Increased exposure to avoid vertical lines. Updated manual page. + +2005-05-28 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Avision DS310F. Added link + for the UMAX Astra 4000. Fixed missing link for Genius + ColorPage-Slim 1200 USB2. + +2005-05-26 Henning Meier-Geinitz + + * doc/net.tex doc/sane.tex: Mention RPC codes explicitely and + explain what request and reply means. based on patch from + Johannes Berg . + +2005-05-25 Jochen Eisinger + + * doc/descriptions/mustek_pp.desc: added scanner + +2005-05-23 Julien Blache + * doc/sane-find-scanner.man, doc/gamma4scanimage.man: spelling + fixes from A Costa. + +2005-05-22 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Konica Minolta Dimage + 5400 2. Fixed bus type for Mustek 800 II EP. + * doc/descriptions-external/genesys.desc: Changed status of Medion + MD 6471 to "basic". + +2005-05-22 Oliver Schwartz + + * backend/snapscan-options.c: + Disabled 2400 DPI for Epson 2480 due to user report of + broken scanner + +2005-05-20 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c + backend/gt68xx_generic.c backend/gt68xx_generic.h + backend/gt68xx_gt6801.c backend/gt68xx_gt6801.h + backend/gt68xx_gt6816.c backend/gt68xx_gt6816.h + backend/gt68xx_high.c backend/gt68xx_high.h backend/gt68xx_low.c + backend/gt68xx_low.h backend/gt68xx_mid.c + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES + doc/gt68xx/gt68xx.TODO: + Mustek BearPaw 1200 CU Plus model 0x21b works now. Fixed + firmware and offset settings. Calibration is not completely ok + yet, however. Code cleanup for setup_scan (only one function + for all chipsets). Simplified line mode/pixel mode setting + Updated TODO. Mustek BearPaw 2448 TA Plus is now only + "basic". Too much trouble for "good". Removed option "fast + preview". By default for preview mode 8 bits/pixel are used. + Fixed indentation. Full scan really scans from y=0 on gt6816 + scanners now. + * po/sane-backends.bg.po po/sane-backends.cs.po + po/sane-backends.da.po po/sane-backends.de.po + po/sane-backends.es.po po/sane-backends.fi.po + po/sane-backends.fr.po po/sane-backends.it.po + po/sane-backends.nl.po po/sane-backends.no.po + po/sane-backends.pl.po po/sane-backends.pt.po + po/sane-backends.ru.po po/sane-backends.sv.po: Regenerated + translation files. Updated German translation. + +2005-05-16 Henning Meier-Geinitz + + * doc/backend-writing.txt: Minor updates and line-wrap fixes. + * doc/descriptions/unsupported.desc: Added Kodak i30 and Minolta + Dual Scan IV. Updated link to Konica Minolta website. + +2005-05-15 frank + + * tools/Makefile.in: remove superflous libraries for sane-desc + * doc/descriptions/matsushita.desc: changed some scanner status from + good to minimal + * doc/descriptions/unsupported.desc: added a few Panasonic scanners. + +2005-05-13 Julien Blache + * tools/hotplug/libsane.usermap: Added Epson Stylus RX620 + (04b8/0811). From Mike Talbot. + +2005-05-11 Gerhard Jaeger + + * backend/plustek-pp_misc.c: Applied patch (see bug #301605). + * doc/plustek/Plustek-PARPORT.changes: Update. + * backend/plustek-pp.c: Bumped build number. + +2005-05-10 Gerhard Jaeger + + * sanei/sanei_access.c: Added PATH_MAX, in case it's not defined + by any header (i.e. OS/2). + +2005-05-07 Mattias Ellert + + * README.darwin: updated the section about libusb, since all known + bugs have now been fixed in the libusb CVS. + +2005-05-05 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES + doc/gt68xx/gt68xx.TODO: Plustek OpticSlim 2400: Fixed list of + resolutions. That fixed the preview. Removed "untested" + warning. Adjusted scan area. Updated gt68xx.TODO. Find firmwares + independent of capitalization (bug #301580). + +2005-05-07 Julien Blache + + * tools/hotplug/libsane.usermap: Added Microtek ScanMaker 3700 + (05da/40cb). From Ian Beckwith. + +2005-05-06 Gerard Klaver + + * backend/qcam.c -indent -gnu, bugreport 300128 free (devlist) added, + DEBUG output added and some small fixes. + +2005-05-05 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Dell 922. + * backend/mustek.c backend/mustek.h doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: Added options to set the time after + which the lamp of the A3 Pro is shut off and to shut it off + immediately. + +2005-05-02 Peter Fales + + * backend/gphoto2.c: Fix core dump when no port is specified in + the gphoto2 config file. (bug #301552) + +2005-04-29 Henning Meier-Geinitz + + * doc/descriptions/sp15c.desc: Added ScanPartner 600C (bug + #301528). + * doc/descriptions/unsupported.desc: Removed several Brother + scanner which are supported by the brother backend now. + * doc/descriptions-external/brother.desc: Fixed link. + +2005-04-28 Julien Blache + + * backend/v4l.c: duplicate capability.name in attach() so that + each device is listed with its actual name, not with the name of + the last discovered device. Reported by Andreas Hartmann. + +2005-04-28 Mattias Ellert + + * frontend/scanimage.c: Added missing braces + +2005-04-27 Gerhard Jaeger + + * doc/descriptions/plustek.desc: Added UMAX Astranet ia101. + +2005-04-26 Julien Blache + + * tools/hotplug/libsane.usermap: Added Epson Stylus CX3650 + (04b8/080e), from Daniel Sobe. + +2005-04-25 Gerhard Jaeger + + * include/sane/sanei_pp.h, sanei/sanei_pp.c: Added outb_eppdata + functionality (thanks to Anderson Lizardo). + * backend/plustek-pp_procs.h, backend/plustek-pp_io.c, + backend/plustek-pp_misc.c: Fixed compilation problem for kernel + module with gcc-3.4 compiler. + * doc/plustek/Plustek-PARPORT.changes: Update. + * backend/plustek-pp.c: Bumped build number. + +2005-04-24 Henning Meier-Geinitz + + * tools/hotplug/libsane.usermap: Fixed Minolta Scan Dual III entry + (bug #301512). + * doc/descriptions/mustek.desc: Added Mustek TwainScan II SP (bug + #301217). + * doc/descriptions-external/viceo.desc: Added Primax Colorado 2200 + USB. + * doc/descriptions/unsupported.desc: Added Canon PIXMA MP110. + * AUTHORS: Marked Kazuya Fukuda as active. + +2005-04-23 Julien Blache + + * LICENSE: Add an FAQ section. + * tools/hotplug/libsane.usermap: Added Genius ColorPage Vivid3xe + (0458/2017), from Ramiro Aceves through Debian BTS. + +2005-04-18 Gerhard Jaeger + + * backend/plustek-usbhw.c, backend/plustek-usbscan.c: Fixed + problem, that has been reported in conjunction with backtracking + and sensor-speedup option. + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c: Bumped build number. + +2005-04-16 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc + doc/descriptions-external/genesys.desc: Added and updated + several scanners. + +2005-04-15 Gerard Klaver + + * sanei/sanei_usb.c More debug info for control and isochronous mode + Detection added for endpoints for configurations, interface and + altsetting numbers > 0 + Routine added for changing configuration, interface or altsetting + number + sanei_usb_set_configuration + sanei_usb_claim_interface + sanei_usb_release_interface + sanei_usb_set_altinterface + * include/sane/sanei_usb.h headers and text added for + sanei_usb_set_configuration + sanei_usb_claim_interface + sanei_usb_release_interface + sanei_usb_set_altinterface + * frontend/scanimage.c added -B option buf size + split up printf command to remove warning ISO C89 + patch for bugreport 300160, ranges for width and height are wrong + * doc/scanimage.man added text -B option buf size + +2005-04-13 Mattias Ellert + + * backend/hp-option.c: Add missing SANE_I18N + * po/sane-backends.*.po: Regenerate .po files accordingly + * po/sane-backends.sv.po: Update Swedish translations + +2005-04-12 Mattias Ellert + + * Various man page fixes: sane-agfafocus.man, sane-apple.man, + sane-artec.man, sane-artec_eplus48u.man, sane-avision.man, + sane-bh.man, sane-canon_pp.man, sane-coolscan.man, + sane-coolscan2.man, sane-dll.man, sane-epson.man, sane-fujitsu.man, + sane-hp.man, sane-leo.man, sane-matsushita.man, sane-microtek2.man, + sane-mustek.man, sane-mustek_pp.man, sane-mustek_usb.man, + sane-nec.man, sane-niash.man, sane-pie.man, sane-plustek.man, + sane-plustek_pp.man, sane-sceptre.man, sane-scsi.man, sane-sharp.man, + sane-sm3600.man, sane-sm3840.man, sane-sp15c.man, sane-teco1.man, + sane-teco2.man, sane-teco3.man, sane-test.man, sane-u12.man, + sane-umax.man, sane-umax1220u.man, sane-umax_pp.man, sane.man, + saned.man + +2005-04-11 Gerhard Jaeger + + * acinclude.m4, configure.in, configure: the locking feature will + now be disabled, when the selected group could not be set. + The configuration script should not fail any longer. + +2005-04-10 Julien Blache + + * backend/hp5400_xfer.h, backend/hp5400_sanei.c, backend/hp5400.c: + make non-SANE-standard functions static. + +2005-04-10 Jochen Eisinger + + * backend/mustek_pp.c, backend/mustek_pp.conf, sanei/sanei_pa4s2.c, + include/sane/sanei_pa4s2.h, doc/sane-mustek_pp.man: added global + option "no_epp" to work around a known bug in the linux parport + code. + +2005-04-02 Julien Blache + + * doc/sane.man: typo fix from A Costa. + +2005-04-01 Gerhard Jaeger + + * README: Added some info about the --enable-locking switch. + * doc/descriptions/unsupported.desc + doc/descriptions-external/genesys.desc: Moved some Plustek + devices over to the genesys descriptions. + * tools/hotplug/libsane.usermap: Added some Plustek devices. + * mkinstalldirs: Added -o and -g options for changing the + owner and group of an installed directory. + * acinclude.m4, configure.in, configure: Added --enable-locking + and --with-group to enable device locking via sanei_access-lib + and to specify the group of the locking directory. + * include/sane/config.h.in: ENABLE_LOCKING has been added + by automake/autoconf. + * backend/Makefile.in: Added installation of + $(localstatesanedir)/lock/sane, were the lockfile should go to. + Also added linking of sanei_access to the plustek backend. + * include/Makefile.in: Added sane/sanei_access.h. + * sanei/Makefile.in: Added sanei_access.c. + * include/sane/sanei_access.h sanei/sanei_access.c: Initial checkin. + +2005-03-31 Julien Blache + + * doc/scanimage.man: fix typos, patch from A Costa. + +2005-03-20 Earle F. Philhower III + + * backend/sm3840_scan.c: Big-endian graymode fix + +2005-03-17 Gerard Klaver + + * doc/descriptions-external/samsung.desc added + +2005-03-16 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Removed Microtek ScanMaker + 4800 (supported by sm3840 now). + +2005-03-16 Earle F. Philhower III + * backend/sm3840.c backend/sm3840_scan.c backend/sm3840.conf + backend/Makefile.in doc/descriptions/sm3840.desc + doc/sane-sm3840.man: Added ScanMaker 4800 USB ID and + documentation, fixed PPC endianness problems, fixed + Makefile dependencies for sm3840 driver + +2005-03-13 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc + doc/descriptions-external/genesys.desc: Added and updated + various scanners. + +2005-03-04 Gerard Klaver + + * doc/sane-teco2.man: text update + backends/teco2: use of __unused__ + +2005-03-03 Julien Blache + + * tools/hotplug-ng/libsane.hotplug: add missing quote in the grep line. + +2005-03-02 Julien Blache + + * tools/hotplug-ng/libsane.hotplug: allow for several spaces + between fields in the db file. + +2005-02-28 Julien Blache + + * tools/hotplug-ng/libsane.hotplug: replace \t by [[:space:]] when + grepping for the device in the db file. + +2005-02-21 Julien Blache + + * tools/hotplug-ng: added new hotplug/hotplug-ng hook, with + scripts and documentation. + +2005-02-20 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Removed Genius + ColorPage-Vivid Pro II, now in external backend. Added Visioneer + 9000. + * AUTHORS configure configure.in backend/Makefile.in + backend/dll.conf backend/sm3840.c backend/sm3840.conf + backend/sm3840.h backend/sm3840_lib.c backend/sm3840_lib.h + backend/sm3840_params.h backend/sm3840_scan.c doc/Makefile.in + doc/sane-sm3840.man doc/sane.man doc/descriptions/sm3840.desc: + Added sm3840 backend (from "Earle F. Philhower, III" + ). + * doc/descriptions-external/sm3840.desc: Removed (backend included + in SANE). + * NEWS: Updated. + +2005-02-14 Gerhard Jaeger + +* doc/descriptions-external: Added new external backend geniusvp2. + +2005-02-10 Karl Heinz Kremer + + * doc/descriptions/epson.desc: Added CX-3600 and 3650 + doc/sane-epson.man, backend/epson.conf: Added information about + GT-6500 (bug #301100) + +2005-02-08 Oliver Schwartz + + * backend/snapscan.h backend/snapscan.conf + Added IDs for Benq 5250C and 5000S + +2005-02-08 Gerhard Jaeger + + * sanei/sanei_pp.c: Cleanup, uses now static array for parport + management instead of dynamically allocated. Fixes at least a + potential memory leak. + +2005-02-06 Oliver Schwartz + + * doc/descriptions/unsupported.desc doc/descriptions/snapscan.desc: + Renamed "Benq" to "Benq (Acer)" for better access through the + scanner search engine. Fixes bug #301158 + +2005-02-06 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added several scanners. Minor + fixes. + * doc/descriptions-external/sm3840.desc: Added new external + backend sm3840. + * doc/descriptions-external/brother.desc: Updated status. + * po/Makefile.in po/sane-backends.pl.po: Added Polish translation + (from Jerzy Szczudlowski + ). See bug #301054. + +2005-02-04 Gerhard Jaeger + + * tools/hotplug/libsane.usermap: Added Epson CX6600 based on patch + submitted by Aurelien Jarno . + +2005-02-03 Ulrich Sigwanz + + * backend/niash_xfer.c: + * tools/hotplug/libsane.usermap: + added ID for Silitek-HP-ScanJet-3400c-Clone + +2005-01-19 Oliver Rauch + + * backend/coolscan.c: added initilization of dev->scanning = SANE_FALSE + +2005-01-18 Oliver Schwartz + + * backend/snapscan.h: Added ID for Benq 5250C + +2005-01-16 Karl Heinz Kremer + + * backend/epson_usb.c: Added IDs for RX-425 (from bug report #301114) + * doc/descriptsions/epson.desc: Added RX-425 + +2005-01-16 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added UMAX Astraslim + 6000. Added Trust SCSI Scan 19200 -Excellence Series-. Added + ColorPage-Vivid Pro II. + * tools/hotplug/libsane.usermap: Added Epson Stylus RX425 based on + bug report #301114. + * doc/sane-agfafocus.man doc/sane-artec.man: Fixed some macros + (patch from esr@thyrsus.com). + +2005-01-12 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Genius ColorPage-Slim + 1200 USB2. + * doc/descriptions-external/genesys.desc: Added Canon Lide 40. + * doc/descriptions-external/brother.desc: Added several scanners + and updated the status of others based on user comments. + +2005-01-12 Julien Blache + + * tools/hotplug/libusbscanner: use sysfs to get the device number, + instead of guessing (it ended up being wrong in a number of + cases...). Fix from Ubuntu, transmitted by Martin Pitt. + +2005-01-12 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c: Bumped build number. Copyright Update. + * backend/plustek-usbscan.c backend/plustek-usbshading.c: + Using now PhyDpi.y as selector for the motor MCLK setting. + Copyright Update. + * backend/plustek-usbdevs.c: + Tweaked motor settings for EPSON and CANON1200. Copyright Update. + * backend/plustek-*.[ch]: Copyright Update. + +2005-01-09 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Guillemot scanner. + +2005-01-09 Karl Heinz Kremer + + * backend/epson.c: "flaming hack to get USB scanners working without timeouts + under linux" submitted by "Steve" (in comment to bug #300830) + * doc/descriptions/epson.desc, doc/sane-epson.man: + Added SCSI version of GT-5000 to supported list. + +2004-12-29 Julien Blache + * tools/sane-find-scanner.c: Added a hint about switching the + scanner on and connecting it to the computer before doing + anything. + +2004-12-26 Gerard Klaver + + * doc/descriptions-external/hpaio.desc join two lines so html + conversion possible + doc/descriptions-external/stv680.desc added two webcams with + different usb vid and pid + +2004-12-26 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added several scanners. + +2004-12-18 Karl Heinz Kremer + + * backend/epson.c backend/epson_usb.c: Added USB IDs for + CX-3650 and CX-4600 and updated version number. + +2004-12-15 Gerard Klaver + + * doc/descriptions-external/hpaio.desc stv680.desc + Info new external backends + +2004-12-01 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-scsi.c backend/snapscan-options.c: + Added quality calibration for Epson 2480 (implementd by Simon Munton) + +2004-12-07 Henning Meier-Geinitz + + * backend/gt68xx_devices.c: Disabled stop_scan command for Mustek + BearPaw 2448 TA Plus. + +2004-12-05 Henning Meier-Geinitz + + * doc/sane-gphoto2.man doc/sane-microtek2.man: Fixed minor + glitches based on patch from Eric S. Raymond . + * doc/descriptions/unsupported.desc: Added Benq 320p. + +2004-12-04 Julien Blache + * tools/hotplug/libsane.usermap: Added Epson Perfection 4870 + Photo, vendor 0x04b8 product 0x0128. + +2004-12-01 Oliver Schwartz + + * backend/snapscan.c: Applied fix for allocation of gamma tables + (thanks to Simon Munton) + +2004-12-01 Oliver Schwartz + + * doc/descriptions/unsupported.desc: removed Epson Perfection 1270 + +2004-12-01 Oliver Schwartz + + * backend/snapscan.h backend/snapscan.c backend/snapscan-scsi.c + backend/snapscan-options.c doc/descriptions/snapscan.desc: + Added support for Epson Perfection 1270 + +2004-12-01 Henning Meier-Geinitz + + * doc/descriptions/umax1220u.desc doc/descriptions/unsupported.desc + doc/descriptions-external/genesys.desc: Added several scanners. Moved + UMAX 2100U to umax1220u.desc. Moved Plustek S(T)12 to unsupported.desc. + +2004-11-28 Henning Meier-Geinitz + + * doc/descriptions-external/brother.desc. Updated comments. 9160 works. + +2004-11-21 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Updated/added several scanners. + +2004-11-21 Gerhard Jaeger + + * backend/plustek-usb.c: Fixed problem, when builing supported + and connected device list. + +2004-11-19 Rene Rebe + + * sanei/sanei_usb.c configure.in: use usb_interrupt_read instead of + usb_bulk_read for sanei_usb_read_int. Fixes bug #300878. Added a + missing DBG output in sanei_usb_read_int. Check for + usb_interrupt_read to make sure, we have at least version 0.1.8. + +2004-11-19 Rene Rebe + + * backend/avison.c doc/descriptions/avision.desc + doc/descriptions/unsupported.desc: just added new IDs including + moving the HP 82xx to the avision backend + +2004-11-19 Gerhard Jaeger + + * backend/plustek.c backend/plustek-usb*: Major update, see + doc/plustek/Plustek-USB.changes. Esp. improved support for multiple + devices and autodetection. + * doc/plustek/Plustek-USB.changes: Update. + * doc/descriptions/plustek.desc: Updated release number. + +2004-04-15 St�hane Voltz + + * backend/umax_pp_low.c: non i386 linux compilation fix, + 1220P gray levels scan hang fix, 1220P color calibration tuning. + +2004-11-14 Oliver Schwartz + + * snapscan-sources.c: Applied patch by Julien Blache to change + ch_past_init from SANE_Int to SANE_Bool + +2004-11-14 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c + backend/gt68xx_gt6801.c backend/gt68xx_gt6816.c + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Fixed test + to move home sensor at the start of scan. Fixed gray mode + linemode test. That stopped e.g. the Plustek OpticPro U 16 B from + working in gray mode. + +2004-11-13 Frank Zago + + * include/sane/sanei_backend.h: Added compiler attribute __unused__ + for unused variables/functions. + + * backend/leo.c backend/teco3.c backend/matsushita.c + backend/sceptre.c backend/teco1.c: use __unused__ + * sanei/sanei_wire.c sanei/sanei_pa4s2.c sanei/sanei_scsi.c: + fixes for 64 bits platforms. + * backend/sp15c-scsi.h backend/sp15c.h backend/dc210.c backend/dc210.h: + fixes some warnings. + +2004-11-13 Henning Meier-Geinitz + + * backend/v4l.c: 64 bit fix from Frank Zago . + +2004-11-13 Julien Blache + + * tools/hotplug/libsane.usermap: Added Epson Stylus Photo RX500, + Epson Stylus Photo RX600 and Minolta Scan Dual II. + +2004-11-10 Oliver Schwartz + + * snapscan-sources.c: First implementation of deinterlacer for epson + scanners at high resolutions (thanks to Brad Johnson) + +2004-11-07 Henning Meier-Geinitz + + * configure configure.in: Updated version. Enabled compilation + warnings. + * doc/releases.txt: Updated according to current practice. + +Older entries can be found in ChangeLog-1.0.15. diff --git a/ChangeLogs/ChangeLog-1.0.17 b/ChangeLogs/ChangeLog-1.0.17 new file mode 100644 index 0000000..1e4e33c --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.17 @@ -0,0 +1,1011 @@ +****** Release of sane-backends 1.0.17. End of code freeze ****** + +2005-12-18 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added link to Lexmark X6170. + * doc/descriptions/gt68xx.desc: Added Trust Direct WebScan 19200 + (reported on sane-devel). + * backend/Makefile.in: Added missing genesys_conv.c and + genesys_conv_hlp.c to DISTFILES. Without this change the files + wouldn't be part of the archive. + * configure configure.in: Disabled compilation warnings. Increased + version number. + +2005-12-17 Karl Heinz Kremer + + * doc/descriptions/epson.desc: Added a few new scanners based on + messages to the sane-devel mailing list. + +2005-12-11 Henning Meier-Geinitz + + * NEWS: Updated for release. + +---- CODE FREEZE FOR SANE 1.0.17 --- + +2005-12-10 Henning Meier-Geinitz + + * doc/descriptions-external/hp3500.desc: Added .desc file for new + external backend hp3500 which provides support for the HP ScanJet + 3500 series (from Troy Rollo ). + * doc/descriptions/unsupported.desc: Removed HP 3500, 3530, and + 3570 (now in hp3500.desc). + +2005-12-09 Henning Meier-Geinitz + + * doc/descriptions-external/brother-mfc4600.desc: Added .desc file + for (older) external backend for Brother MFC 4600 (USB version). + * doc/descriptions/unsupported.desc: Added Lexmark X6170. Removed + Brother MFC 4600 USB. + * backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_high.c + backend/gt68xx_low.c doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES doc/gt68xx/gt68xx.TODO: Silenced + non-fatal warnings/error messages. Several fixes for avoiding + freezes/timeouts after cancelling a scan. Several fixes for + warming up of lamp. Decreased scan width of Plustek OpticPro + 1248U. + +2005-12-08 Gerhard Jaeger + + * backend/plustek-pp_tpa.c backend/u12-tpa.c: Fixed nasty + compiler warnings. + +2005-12-07 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Brother + MFC-7300c. Removed Primax Colorado 2400U (now in + primascan.desc). + * doc/descriptions-external/primascan.desc: New external backend + for Primax Colorado 2400U. + +2005-12-07 Gerhard Jaeger + + * sanei/sanei_acces.c: Fixed problem, when the device name contains + one or more path-separators. These characters are now converted. + The problem occurs on 2.4 based installations as well as on OpenBSD. + +2005-12-06 Stephane Voltz + + * backend/genesys_gl646.c: removed forgotten left-over of + an experiment . + +2005-12-06 Stephane Voltz + + * backend/genesys_gl646.c: added AF init in powersave, fixed + long-standing bug related to a data read timeout between + distinct scanning sessions + +2005-12-06 Henning Meier-Geinitz + + * backend/genesys.conf: Enabled Canon LiDE 60 which was disabled + for safety reasons. Bugs are fixed now. + * doc/descriptions/genesys.desc: Changed status of Canon LiDE 50 + and 60 to "good". Added comment for untested LiDE 40 to report any + success/failure. + * AUTHORS: Marked Fred Odendaal as active maintainer. + * tools/hotplug/libsane.usermap: Added Epson Perfection 3490. + +2005-12-05 Rene Rebe + + * backend/avision.c backend/avision.conf doc/sane-avision.man: + fixed more typos in comments and debug output, removed obsolete + options from the parser, example avision.conf and manual page. + Fixed 12 Bit gray and color modes to actually work as well as + software CCD line-difference correction. Minimal scan resolutions + have been slightly adapted for some ASICs. + +2005-12-05 Pierre Willenbrock + + * backend/genesys.c: removed usage of current_setup in functions + where it is not necessarily initialized. Modified shading + calibration to not use fixed stripe sizes. Fixed memory + corruption while calculating shading data. Fixed read sizes to + be multiples of 256. Fixed stagger/line distance + correction. Fixed line shrinking to correctly update data + buffers. Bumped BUILD number. + * backend/genesys.c backend/genesys_conv.c: Added gray to lineart + conversion. + * backend/genesys.c backend/genesys_conv_hlp.c: Modified calling + parameters to stagger/line distance correction filter to better + describe its inner working. + * backend/genesys_devices.c: Slowed down motor timings for + LiDE 35/40/50/60. Removed untested message for LiDE 35/40/50/60. + * backend/genesys_gl646.c: Fixed bug for odd pixel count. Added + support for gray to lineart conversion. + * backend/genesys_gl841.c: Fixed words_per_line calculation. Added + support for gray to lineart conversion(not used). Fixed problem + with scanners not backtracking while scanning calibration area + leading to scanning part of document area. + +2005-12-05 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-scsi.c: small bugfix for Benq5150 + +2005-12-05 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Canon PIXMA MP170. + +2005-12-04 Rene Rebe + + * backend/avision.c backend/avision.h: updated the Avision backend + from BUILD 167 to 179, including support for HP 5370, AV600U, + AV210C2, AV220C2, et. al. The USB i/o paths got hardened, and a + lot of fixes as well es enhancements and optimizations where added + and a lot of typos, mostly in debug output and comments, got fixed. + The "Line Art" mode was renamed to "Lineart" to match the other + backends. + +2005-12-03 Karl Heinz Kremer + + * backend/epson_usb.c: Added id for CX4200 + +2005-12-04 Oliver Schwartz + + * backend/snapscan.h backend/snapscan.c backend/snapscan-scsi.c + backend/snapscan-options.c: Some fixes for Benq 5150 + +2005-12-03 Peter Fales + * backend/gphoto2.c: Cosmetic changes to debug messages + +2005-12-02 Oliver Schwartz + + * backend/snapscan-sources.c: Another fix for lineart mode for the + Epson 3490 @ 3200 DPI - this time tested + * backend/snapscan.c: Change version number to 1.4.50 + +2005-12-01 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added link for Corex Cardscan + 500. + +2005-11-30 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added UMAX Astra 4100. + * tools/hotplug/libsane.usermap: Added Epson Stylus CX4200. + +2005-11-28 Jochen Eisinger + + * sanei/sanei_pa4s2.c: incorrect test of a bit mask. + +2005-11-28 Stephane Voltz + + * backend/umax_pp_low.c: ifdef'ed forgottent debug statements + +2005-11-28 Stephane Voltz + + * backend/umax_pp_low.c: fixed 'blue tint' on scanning area border + by increasing shading coefficient on dark areas + +2005-11-26 Oliver Schwartz + + * backend/snapscan-sources.c: Fix lineart mode for Epson 3490 + * doc/descriptions/snapscan.desc: Update status for Benq 5000 + +2005-11-26 Oliver Schwartz + + * backend/snapscan-scsi.c: Fix for Benq 5000 + * backend/snapscan.conf: Replace esfw52.bin with dummy filename entry + +2005-11-25 Mattias Ellert + + * backend/artec_eplus48u.conf, backend/snapscan.conf: Use default + firmware dirs in config files + * doc/sane-artec_eplus48u.man, doc/sane-snapscan.man: Use default + firmare dirs in man pages + +2005-11-25 Ulrich Deiters + + * backend/canon-sane: fixed usage of an uninitialized variable + +2005-11-25 Henning Meier-Geinitz + + * po/sane-backends.da.po: Updated Danish translation (from Mogens + Jaeger ). + +2005-11-25 Oliver Schwartz + + * backend/snapscan-sources.c: Fix for grayscale / linart for Epson 3490 + at 3200 DPI + +2005-11-25 Mattias Ellert + + * po/sane-backends.ru.po: Fixing some fuzzies + +2005-11-24 Mattias Ellert + + * doc/gamma4scanimage.man, doc/sane-abaton.man, doc/sane-agfafocus.man, + doc/sane-apple.man, doc/sane-artec.man, doc/sane-avision.man, + doc/sane-bh.man, doc/sane-canon.man, doc/sane-canon630u.man, + doc/sane-config.man, doc/sane-coolscan.man, doc/sane-coolscan2.man, + doc/sane-dc210.man, doc/sane-dc240.man, doc/sane-dc25.man, + doc/sane-dmc.man, doc/sane-epson.man, doc/sane-find-scanner.man, + doc/sane-fujitsu.man, doc/sane-genesys.man, doc/sane-gphoto2.man, + doc/sane-gt68xx.man, doc/sane-hp.man, doc/sane-hp4200.man, + doc/sane-hp5400.man, doc/sane-ibm.man, doc/sane-leo.man, + doc/sane-lexmark.man, doc/sane-ma1509.man, doc/sane-matsushita.man, + doc/sane-microtek.man, doc/sane-microtek2.man, doc/sane-mustek.man, + doc/sane-mustek_pp.man, doc/sane-mustek_usb2.man, doc/sane-nec.man, + doc/sane-net.man, doc/sane-niash.man, doc/sane-pint.man, + doc/sane-plustek.man, doc/sane-plustek_pp.man, doc/sane-ricoh.man, + doc/sane-s9036.man, doc/sane-sceptre.man, doc/sane-sharp.man, + doc/sane-snapscan.man, doc/sane-sp15c.man, doc/sane-st400.man, + doc/sane-tamarack.man, doc/sane-teco1.man, doc/sane-teco2.man, + doc/sane-teco3.man, doc/sane-u12.man, doc/sane-umax1220u.man, + doc/sane-umax_pp.man, doc/sane-usb.man, doc/sane-v4l.man, + doc/sane.man, doc/saned.man, doc/scanimage.man: man page fixes + +2005-11-23 Oliver Schwartz + + * backend/snapscan-options.c: Disable bilevel colour / halftoning + for Epson 3490 + +2005-11-23 Mattias Ellert + + * backend/Makefile.in: added "artec_eplus48u" to FIRMWARE_DIRS + +2005-11-22 Mattias Ellert + + * po/sane-backends.sv.po: Updated Swedish translation + * sanei/sanei_scsi.c: Added some debugging. Fixed some varnings + +---- FEATURE FREEZE FOR SANE 1.0.17 --- + +2005-11-20 Henning Meier-Geinitz + + * backend/genesys.c backend/genesys_devices.c + backend/genesys.conf: Bumped build number. Changed scanner's + name to Canon LiDE 35/40/50. Added Canon LiDE LiDE 60. This scanner + is still commented out in genesys.conf. Removed comment sign for + Canon LiDE 35/40/50 in genesys.conf. + * doc/descriptions/genesys.desc: Added Canon LiDE 35, 40, 50, 60. + * doc/sane-genesys.man: Updated concerning gl841 scanners. + * doc/descriptions/unsupported.desc: Moved Canon LiDE 35/40/50/60 + to genesys.desc. Added Canon Pixma MP150, Tevion MD 90070 and + Primax Colorado 1200p. + * tools/hotplug/libsane.usermap: Added Plustek Opticslim 2400 ids + (from Jan Matousek). + * NEWS: Updated. + +2005-11-19 Pierre Willenbrock + + * backend/genesys_gl841.c backend/genesys_devices.c: + Added support for Canon LiDE 35/40/50 + * backend/genesys.c backend/genesys_low.h + backend/genesys_gl646.c: Reworked data conversion + process to convert CIS data, added new slope + generation variant + * backend/genesys_conv.c backend/genesys_conv_hlp.c: + Moved conversion filter functions out of + backend/genesys.c + +2005-11-18 Oliver Schwartz + + * backend/snapscan-options.c: Disable 2400 DPI for + Epson 3490, use 1600 DPI instead + +2005-11-17 Gerhard Jaeger + + * doc/plustek/Plustek-PARPORT.changes: Update. + * backend/plustek_pp.c backend/plustek-pp.h + backend/plustek-pp_ptdrv.c backend/plustek-pp_wrapper.c: + Fixed sizeof(long) issue for 64bit platforms, see + bugreport #302195. + * backend/plustek_pp.conf: Default config now only tries to + access parport using libieee1284. + +2005-11-15 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-options.c + backend/snapscan-scsi.c: Enabled quality calibration for the + Epson 3490 + * doc/descriptions/snapscan.desc: Changed status for Epson Perfection + 3490 (good) and 3590 (basic) + +2005-11-15 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added HP Scanjet 4890. Added + several Optrox scanners. + * doc/descriptions-external/brother.desc: Marked status of + MFC-9880 as "unsupported" based on a user's report. + +2005-11-13 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added IOmagic MobileScan + USB. Mentioned chips used in the Artec AM12E+. + * doc/descriptions-external/hp3770.desc + doc/descriptions-external/hp8200.desc: Added clarification + concerning status of these backends. + +2005-11-10 Oliver Schwartz + * backend/snapscan.c backend/snapscan-sources.c: Added + deinterlacing for Epson 3490 + * backend/Makefile.in: added "snapscan" to FIRMWARE_DIRS + +2005-11-07 m. allan noah + + * backend/fujitsu.c: M3091/2 lie about gamma dl capability + +2005-11-07 Henning Meier-Geinitz + + * doc/descriptions/microtek2.desc: Fixed "unmaintained" + marker. Added Microtek Scanmaker V6UPL (bug #302464). + * tools/check-usb-chip.c: Added detection of rts8822l-01h chipset + (patch from Jonathan Bravo Lopez ). + +2005-11-06 Henning Meier-Geinitz + + * doc/descriptions-external/epkowa.desc: Disabled man page link + (points to nowhere). Bug #302463. + * doc/descriptions/unsupported.desc: Added Canon PIXMA MP130. + * doc/sane-hp.man doc/sane-microtek2.man: Fixed links to ppscsi. + +2005-11-02 Oliver Schwartz + + * sanei/sanei_usb.c: Fixed output of transfer buffer for + usb_read_bulk in OS/2. + * backend/snapscan.c backend/snapscan-scsi.c: Fixes for Benq 5000 + * backend/snapscan-usb.c: Avoid recursive calls of usb_sense_handler + +2005-11-01 Henning Meier-Geinitz + + * sanei/sanei_usb.c: Added support for detecting vendor and + product id with FreeBSD kernel scanner driver (based on patch in + FreeBSD ports). + * README.freebsd: Updated information about USB scanners. + +2005-10-31 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-scsi.c backend/snapscan.h + backend/snapscan-options.c doc/descriptions/snapscan.desc: + Distinguish between 5000/5000E/5000U + * backend/snapscan-sources.c: Enable deinterlacer for 5000E/5000U + for 1200 DPI + * backend/snapscan.conf: Fix names for 5000/5000E/5000U + +2005-10-30 Giuseppe Sacco + + * po/*it.po: Updated italian translation + +2005-10-29 Henning Meier-Geinitz + + * backend/artec_eplus48u.conf + doc/descriptions/artec_eplus48u.desc: Added support for Trust + 240H Easy Webscan Gold to artec_eplus48u backend. + * Makefile.in acinclude.m4 configure configure.in + backend/Makefile.in frontend/Makefile.in lib/Makefile.in + sanei/Makefile.in tools/Makefile.in: + Run "makedepend" if it's available. This way "make" builds + backends correctly even if only included files (e.g. headers) are + changed. Don't be too verbose when running makedepend. + Create links libsane-*.so.1 to the real library files if the + links are not there. This fixes dynamic loading on OpenBSD. The + links are not created for MacOS X as they don't work there. + Remove any libsane.* links in /usr/local/lib/sane. Such links + are created by libtool. As they point to libsane-v4l.so, + scanimage -L doesn't find any scanner in case of ld.so + misconfigurations. + The install target is much quiter now and prints the libtool + message only once now. + * README.openbsd: Removed comment about broken library links. + +2005-10-28 Gerhard Jaeger + + * po/*.po: Updated po files, corrected/updated german translation. + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c backend/plustek.h: Added OPTION_SPEEDUP. + * backend/plustek-usbdevs.c: Changed high-speed setting for + UMAX 3400, due to bugreport #302317. + Fixed CanoScan N650U settings (bugreport #302433). + +2005-10-25 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c: Bumped build number. + * backend/plustek-usbdevs.c: Tweaked LiDE25 settings. + * backend/plustek-usb.c: Let CIS devices use green-channel + for gray scans. + * backend/plustek-usbcal.c: Fixed segfault condition in fine + calibration for gray scanmodes. + +2005-10-24 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-scsi.c backend/snapscan.h + backend/snapscan-options.c: Fix transparency range for Epson + 2480/2580, fix preview for Epson 2580. + +2005-10-24 Henning Meier-Geinitz + + * doc/descriptions/umax1220u.desc: Marked backend as + unmaintained. Used non-broken link. + +2005-10-23 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-scsi.c: Fixes for buffer + size in high-res modes by Simon Munton, small changes to delay + code. + +2005-10-23 Henning Meier-Geinitz + + * tools/hotplug/libsane.usermap: Added Epson Stylus DX3850 (from + niels_kalle ). + +2005-10-22 Eddy De Greef + + * backend/mustek_pp_cis.c: Decreased the maximum number of pixels + on a line for CIS scanners a bit to avoid border artifacts. + +2005-10-22 Eddy De Greef + + * backend/mustek_pp_cis.c backend/mustek_pp_cis.h + doc/sane-mustek_pp.man: Added an optional engine_delay parameter + to work around potential engine instability problems for CIS models. + +2005-10-21 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c: Bumped build number. + * backend/plustek-usbdevs.c: Fixed high-speed feature of + Canoscan D660U. + +2005-10-20 Oliver Schwartz + + * backend/snapscan-scsi.c: Fixes for 16 bit + quality calibration by Simon Munton + +2005-10-18 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added HP ScanJet 7650 and + UMAX Astra 2500. + * doc/descriptions-external/brother2.desc: MFC-210C is reported to + work. + * NEWS: Created entry for sane-backends 1.0.17. + +2005-10-17 Henning Meier-Geinitz + + * acinclude.m4 configure: Fixed check for libpthread functions. + * tools/hotplug/libsane.usermap: Added Brother MFC 210C (from + Benjamin Mirza ). + * doc/descriptions-external/epkowa.desc: Updated for iscan 1.17.0 + (patch from Olaf Meeuwissen ). Bug #302183. + +2005-10-16 Henning Meier-Geinitz + + * AUTHORS: Marked Michael Herder as not active. No activity since + some time, most email addresses bounce, no response to + pings. Changed contact address to the only one that doesn't + directly bounce. + * backend/artec_eplus48u.conf: Added support for UMAX AstraSlim + 1200 SE (from Harq al-Ada ). + * doc/descriptions/artec_eplus48u.desc: UMAX AstraSlim + 1200 SE is supported. Backend is unmaintained. + * doc/descriptions/unsupported.desc: Added HP ScanJet + 4850C. Removed UMAX AstraSlim 1200 SE. + * backend/gt68xx.c backend/gt68xx_generic.c + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Minor + modifications to sheet-fed scanner support. + * backend/mustek_usb2.c backend/mustek_usb2.h + backend/mustek_usb2_asic.c backend/mustek_usb2_asic.h + backend/mustek_usb2_high.c backend/mustek_usb2_high.h + backend/mustek_usb2_reflective.c backend/mustek_usb2_transparent.c + doc/descriptions/mustek_usb2.desc + doc/mustek_usb2/mustek_usb2.CHANGES: + Removed typedefs for DWORD, WORD and so on. Used int, unsigned + short, ... directly in the code. + * AUTHORS configure configure.in backend/Makefile.in + backend/dll.conf backend/lexmark-x1100.c backend/lexmark.c + backend/lexmark.conf backend/lexmark.h doc/Makefile.in + doc/sane-lexmark.man tools/hotplug/libsane.usermap: Added lexmark + backend (from Fred Odendaal ). + * frontend/tstbackend.c: Added vendor "Lexmark". + * doc/sane.tex: Added vendor "Lexmark". Used current date. + * doc/descriptions-external/lexmark.desc + doc/descriptions/lexmark.desc: Moved to doc/descriptions. Added + "new" marker. Added manpage link. Updated version. Marked X1180 + as "basic" according to man page. + * doc/sane.man: Added lexmark backend. + * backend/Makefile.in doc/Makefile.in tools/Makefile.in: Make + "make dist" work again. + * acinclude.m4 configure include/sane/config.h.in: Check for + pthread_cancel() and pthread_testcancel(). + +2005-10-15 Jochen Eisinger + + * doc/descriptions/mustek_pp.desc: add Medion MD9806 scanner as + supported + +2005-10-14 Oliver Schwartz + + * backend/snapscan-options.c backend/snapscan-scsi.c + backend/snapscan.c backend/snapscan-sources.c: + Fixes for 16 bit scan mode from Simon Munton + +2005-10-11 Oliver Schwartz + + * backend/snapscan-options.c backend/snapscan-scsi.c + backend/snapscan.c backend/snapscan-sources.c: + Fixes for Epson 3490/3590 and 16 bit scan mode + +2005-10-11 Stephane Voltz + + * backend/umax_pp.c: change sane_start semantic to allow for batch + scanning + +2005-10-08 Henning Meier-Geinitz + + * doc/descriptions-external/mustek_a3p1.desc: Downgraded status to + minimal. + * doc/descriptions/mustek_usb2.desc: Added "new" marker. + +2005-10-06 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added HP ScanJet 3800c. + * frontend/scanimage.c: Use correct size for fgets. Patch from + Antoine Jacoutot . + +2005-10-05 Mattias Ellert + + * backend/microtek2.c: Off-by-one error + +2005-10-03 Henning Meier-Geinitz + + * AUTHORS acinclude.m4 configure configure.in backend/Makefile.in + backend/dll.conf backend/mustek_usb2.c backend/mustek_usb2.h + backend/mustek_usb2_asic.c backend/mustek_usb2_asic.h + backend/mustek_usb2_high.c backend/mustek_usb2_high.h + backend/mustek_usb2_reflective.c backend/mustek_usb2_transparent.c + doc/Makefile.in doc/sane-mustek_usb2.man + doc/mustek_usb2/mustek_usb2.CHANGES + doc/mustek_usb2/mustek_usb2.TODO: + Added mustek_usb backend which supports the Mustek BearPaw 2448 + TA Pro. Changes of the code before inclusion to CVS can be found + in doc/mustek_usb2/mustek_usb2.CHANGES. + * doc/sane.man: Added mustek_usb2. Added description for u12 + backend. Added missing links to other backends. + * doc/descriptions/mustek_usb2.desc: Moved from + descriptions-external. Updated. + * PROJECTS: Removed link to BeOS (link goes to nowhere, SANE + website has links to projects). Removed link to wi32 port + (included in SANE). Removed link to SaneTwain (listed on SANE + website). + * doc/doxygen-sanei.conf.in: Updated to current doxygen + version. Output more C-friendly format. + * include/sane/sanei.h include/sane/sanei_backend.h + include/sane/sanei_debug.h include/sane/sanei_pp.h + include/sane/sanei_usb.h: Fixed some bugs in doxygen + documentation. Added some comments. + +2005-10-02 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c: Bumped build number. + * backend/plustek-usbdevs.c backend/plustek-usb.h: Updated motor + settings for Canoscan LiDE25, thanks to Stephan February + for providing these values. + +2005-10-02 Henning Meier-Geinitz + + * doc/descriptions/as6e.desc: Added Trust Easy Scan 9600 Plus (bug + #301000). + * backend/sharp.c: Fixed some compilation warnings (bug #300404). + * AUTHORS: Fixed Rene Rebe's email address. + * doc/descriptions/unsupported.desc: Removed Epson Perfection 4180 + (supported by epkowa backend). + +2005-10-01 Henning Meier-Geinitz + + * doc/descriptions-external/mustek_a3p1.desc + doc/descriptions/unsupported.desc: Added external mustek_a3p1 + backend that supports Mustek P 3600 A3 Pro. + * tools/Makefile.in: Added udev to list of directories that are + part of the distribution. + * doc/descriptions.txt: Yet another "itsself". + * backend/sp15c.c: Fixed some warnings (bug #302290). + +2005-10-01 Julien Blache + * doc/sane-find-scanner.man: Typo fix, s/itsself/itself/ from + Alfie Costa. + +2005-09-29 Eddy De Greef + + * backend/mustek_pp_cis.c: Minor bug fix: wrong model name was + reported for 1200CP+ driver. + +2005-09-29 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_generic.c backend/gt68xx_generic.h + backend/gt68xx_high.c backend/gt68xx_low.c backend/gt68xx_low.h + doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES doc/gt68xx/gt68xx.TODO: + Added support for Plustek OpticSlim M12 (untested). Based on patch + from Gerhard Jaeger . Fixed gt68xx homepage + links in man page. Changed minimum version of libusb to 0.1.8. + * doc/descriptions/unsupported.desc: Removed Plustek OpticSlim M12. + +2005-09-28 Oliver Schwartz + + * backend/snapscan-options.c backend/snapscan-scsi.c + backend/snapscan.c backend/snapscan.h: + Added 16 bit option for Epson scanners, untested. + Reenabled enhanced inquiry command for epson scanners. + +2005-09-28 Julien Blache + * tools/udev/convert-usermap.sh: Don't print 0x when matching VID + and PID. + +2005-09-28 Julien Blache + * tools/udev/convert-usermap.sh: Added script to convert + hotplug/libsane.usermap to a udev rules file. udev 070 + linux + 2.6.14 will deprecate hotplug. + * tools/README: updated. + +2005-09-28 Henning Meier-Geinitz + + * doc/descriptions-external/brother.desc: Removed duplicate entry. + * doc/descriptions/genesys.desc: Added link to genesys homepage. + +2005-09-26 Henning Meier-Geinitz + + * tools/sane-find-scanner.c: Print more clear output if no USB + scanners are found. Point to manual page. Warn if libusb support + hasn't been built. + +2005-09-25 Henning Meier-Geinitz + + * doc/descriptions-external/lexmark.desc + doc/descriptions/unsupported.desc: Added external lexmark + backend. Moved Lexmark X11?? devices to lexmark.desc. Based on + patch from Fred Odendaal . + +2005-09-25 Oliver Schwartz + + * backend/snapscan-scsi.c: Removed debugging code for + Epson scanners until a working solution has been found. + +2005-09-23 Henning Meier-Geinitz + + * README: Mention in addition to the listed libraries, their + header files are also neccessary. A missing usb.h is a common + problem when building SANE (--> no USB support). + * configure configure.in: Added warning message that's printed + when libusb or its header file is not available. + * frontend/scanimage.c doc/scanimage.man: Added progress indicator + to scanimage (based on patch from Mario Goppold + ). Updated copyright information, added + links to sane-devel mailing list. + * sanei/sanei_usb.c: Ignore EBUSY from usb_set_configuration. This + function fails, if a different interface of the same device is + claimed (e.g. by usblp). + +2005-09-22 Mattias Ellert + + * backend/hp4200.c backend/umax.c backend/umax1220u.c + include/sane/sanei_pv8630.h sanei/sanei_pv8630.c: + Fix SANE_DEBUG_SANEI_PV8630 + +2005-09-19 Frank Zago + + * backend/dc210.c backend/leo.c backend/matsushita.c + backend/sceptre.c backend/sp15c-scsi.h backend/sp15c.h + backend/teco1.c backend/teco2.c backend/teco3.c + include/sane/sanei_backend.h: Replaced __unused__ with + __sane_unused__ to avoid a namespace conflict. + +2005-09-18 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_high.c + doc/descriptions/gt68xx.descdoc/gt68xx/gt68xx.CHANGES + doc/gt68xx/gt68xx.TODO: Fixed segfault that may happen with + Mustek ScanExpress A3 USB. + * doc/backend-writing.txt: Added some hints about number of + files. + * backend/mustek.conf doc/sane-mustek.man + doc/descriptions/mustek.desc: Mustek Paragon 600 II EP + works. Mentioned "parport0". + * doc/descriptions/unsupported.desc: Added Canon PIXMA MP750. + +2005-09-17 Mattias Ellert + + * README.darwin: New date for good libusb from CVS + +2005-09-07 Mattias Ellert + + * acinclude.m4, configure: fix disabling of locking when the + locking user group does not exist + +2005-09-07 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Genius ColorPage Slim + 1200. + +2005-09-07 Oliver Schirrmeister + + * backend/fujitsu.c: enabled dropoutcolor for all fi-* scanners. + Applied patch from Mario Goppold: Bugfixes for the M3092DCd + +2005-09-05 Henning Meier-Geinitz + + * po/sane-backends.ru.po: Updated Russian translation (from Vitaly + Lipatov ). + +2005-09-03 Oliver Schwartz + + * backend/snapscan.h backend/snapscan-scsi.c: (Hopefully) fixed + some debugging code for Epson scanners that only works after + firmware upload. + +2005-09-02 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Epson Perfection 4490 + Photo. + * tools/hotplug/libsane.usermap: Added HP PSC 750. + +2005-09-01 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c + backend/gt68xx_generic.c backend/gt68xx_high.c + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Genius + ColorPage Vivid 1200 X is reported to work. Genius ColorPage Vivid + 4 XE seems to be the same as 4 X, it just doesn't have + buttons. Cleanup of .desc file. Fixed gain setting. Mustek + ScanExpress A3 USB 600 dpi color scanning works now. + * tools/check-usb-chip.c: Added detection for SQ113 chip + (e.g. Mustek BearPaw 2448 TA Pro). + +2005-08-31 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Removed Mustek 1800 A3 Pro + (this is actually a P3600 A3 Pro). + * doc/descriptions-external/mustek_usb2.desc: Mustek BearPaw 2448 + TA Pro has status "good" now. + +2005-08-30 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Removed Mustek BearPaw 2448 + TA Pro (now supported by external Mustek USB2 backend). Added + comments about that backend to some other scanners that may be + supported later. + * doc/descriptions-external/mustek_usb2.desc: New external Backend + for Mustek BearPaw 2448 TA Pro. + +2005-08-29 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Canon LiDE 60 is GL841 based. + +2005-08-28 Henning Meier-Geinitz + + * doc/descriptions/canon630u.desc: Changed status of Canon 636u + too "good". + +2005-08-27 Henning Meier-Geinitz + + * doc/descriptions-external/brother2.desc: Brother MFC-5440CN is + reported to work (bug #302105). + +2005-08-24 St~hane Voltz + + * backend/umax_pp.c backend/umax_pp_low.c tools/umax_pp.c: Added EPP + support for 610P, revision number changes + +2005-08-23 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Canon LiDE 60. Reflecta + Digitdia 3600 is not GL841-based. + +2005-08-22 St~hane Voltz + + * tools/check-usb-chip.c: Added rts8858c detection (Lexmark + X1100 series, Dell A920). + +2005-08-22 Henning Meier-Geinitz + + * tools/hotplug/libsane.usermap: Added some Genius scanners. Fixed + Visioneer Onetouch 7300 USB. Added Plustek OpticSlim 2400. + * README.openbsd: Mention problems with library names. + +2005-08-22 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c: Bumped build number. + * backend/plustek-usb.c backend/plustek-usbscan.c: Fixed problem, + when trying to scan at resolutions beyond the optical one + (sensor stops too early). + * tools/hotplug/libsane.usermap: Added USB ID for LiDE25. + +2005-08-21 Henning Meier-Geinitz + + * doc/descriptions/microtek2.desc + doc/descriptions/unsupported.desc: Marked microtek2 backend as + unsupported. Changed link to point to old website directly. Listed + Microtek ScanMaker 9800XL as supported (bug #301515). + +2005-08-21 Mattias Ellert + + * ltmain.sh acinclude.am configure: Updated from libtool 1.5.18. + +2005-08-20 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_low.h doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES doc/gt68xx/gt68xx.TODO: + Increased number limit of scanners that can work with this + backend to 50. Added support for Genius ColorPage Vivid 1200 X + (untested). + +2005-08-19 Henning Meier-Geinitz + + * configure configure.in: Fixed check for usbcalls.h on OS/2 + (patch from Paul Smedley ). + * backend/gt68xx.c backend/gt68xx_devices.c doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Enabled GT68XX_FLAG_NO_STOP for + Mustek BearPaw 2400 CU Plus. Some of these scanners don't seem + to like that command. + * doc/descriptions/artec_eplus48u.desc: Disabled link to backend + homepage which doesn't seem to contain anything sane-related. + +2005-08-19 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek-usb.h backend/plustek-usbdevs.c: Removed obsolete + _WAF_BLACKFINE. LiDE20 does not seem to have a reliable black + calibration area, so the devices now will switch off the lamp + for dark calibration. + * backend/plustek-usbcal.c backend/plustek-usbscan.c: Cleanup. + * backend/plustek-usbshading.c: Fixed line statistics and added + calibration data output. + * backend/plustek.c: Bumped build number. + +2005-08-18 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_low.c backend/gt68xx_low.h + doc/sane-gt68xx.man doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES doc/gt68xx/gt68xx.TODO: + Fixed the problem concerning scanning on *BSD. Scanning only + worked once (bug #300597). Fixed compilation warnings. + +2005-08-17 Henning Meier-Geinitz + + * README: Min. libusb version is 0.1.8. + +2005-08-17 Julien Blache + + * tools/hotplug/libsane.usermap: Added USB IDs for the + sm3600-supported scanners. If you know the exact model name + corresponding to the above IDs, please mail sane-devel: + 0x05da/0x40b3, 0x05da/0x40b8, + 0x05da/0x40ca, 0x05da/0x40dd, 0x05da/0x40ff + +2005-08-16 Oliver Schwartz + + * backend/snapscan-scsi.c: Make compileable ;-) + * backend/snapscan-options.c: Removed //-style comment + +2005-08-16 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Canon PIXMA MP780 and + Lexmark P6250. + * tools/sane-find-scanner.c: Don't print anything else but the + found messages in "-q" mode. + * tools/check-usb-chip.c: Added check for combination of a + PowerVision PV8630 (USB->parport bridge) and National + Semiconductor LM9830 as used in the HP 4200. Fixed compilation + warning. Added check for Toshiba M011 chips as used in Microtek + ScanMaker 3600, 3700, and 3750. + * configure configure.in backend/Makefile.in backend/sm3600-scanusb.c + backend/sm3600-scanutil.c backend/sm3600.c backend/sm3600.h + doc/sane-sm3600.man doc/sane-usb.man: + Removed direct dependence of sm3600 on libusb. Used sanei_usb + instead. Based on patch from Fran~is Revol . + Updated documentation accordingly. Fixed compilation warnings. + +2005-08-15 Oliver Schwartz + + * backend/snapscan.c: Bumped version number + * backend/snapscan-scsi.c: Added temporary debug code for 2480/2580 + distinction + +2005-08-15 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-options.c backend/snapscan-scsi.c + backend/snapscan.h doc/descriptions/snapscan.desc + backend/snapscan.conf: Added support for Epson Perfection 3490/3590 + (thanks to Matt Judge). + +2005-08-15 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * doc/descriptions/plustek.desc: Updated version number. + * backend/plustek.h. backend/plustek-usb.h backend/plustek-usbcalfile.c + backend/plustek-usbimg.c backend/plustek-usbmap.c + backend/plustek-usbdevs.c backend/plustek-usbscan.c: Cleanup. + * backend/plustek.c: Bumped version and build number. + Activated IPC between reader-process and parent. + * backend/plustek-usbio.c: usbio_DetectLM983x() now returns error if + register could not be red, usbio_ResetLM983x() checks for reg7 + value before writing. + * backend/plustek-usbhw.c: Added button support for Plustek/Genius + devices. Changed behaviour of usb_IsScannerReady(). + Added special misc I/O setup for CIS devices (usb_ResetRegisters). + * backend/plustek-usb.c: Minor fix for startup reset. + Removed unnecessary calls to usbio_ResetLM983x(). + * backend/plustek-usbshading.c: Readded kCIS670 to add 5% extra to + LiDE20 fine calibration. + * backend/plustek-usbcal.c: Tried to use the settings from SANE-1.0.13. + Added _TWEAK_GAIN to allow increasing GAIN during lamp coarse + calibration. Added call to speedtest function. + +2005-08-14 Henning Meier-Geinitz + + * Makefile.in: Added Changelog-1.0.16 to DISTFILES. + * backend/hp4200.c doc/sane-hp4200.man + doc/descriptions/hp4200.desc: Enabled backtracking by + default. This is slower but avois bumping the scan head at the end + of the scan area and also missing parts of the scanned + image. Increased safety margin for backtracking. This fixes the + "garbled image" bug. Set default gamma value to 2. Manpage + update. Status set to "basic". + * frontend/scanimage.c: Don't exit with error when trying to set + inactive options. This especially happens in connection with + geometry options and the v4l backend (bugs #300321, #301977). + +2005-08-13 Henning Meier-Geinitz + + * doc/descriptions/niash.desc doc/descriptions/sm3840.desc: + Removed ":new". + * AUTHORS configure configure.in backend/Makefile.in + backend/dll.conf backend/hp4200.c backend/hp4200.conf + backend/hp4200.h backend/hp4200_lm9830.c + backend/hp4200_lm9830.h doc/Makefile.in + doc/sane-hp4200.man doc/sane.man + doc/descriptions/hp4200.desc: Added hp4200 backend. Code from + Julien BLACHE's sane-backends-extras debian package, based on + Frank Zago's patches based on Adrian Perez Jorge's code. Fixed + compilation warnings. Fixed bug when no sane device was + given. Code indented by indent -gnu. Added man page. + * doc/descriptions-external/hp4200.desc: Removed (backend is now + included). + * configure configure.in: Moved CPPFLAGS definition down to avoid + problems with libtool tests for -fPIC. + +2005-08-10 Gerhard Jaeger + + * backend/plustek_pp.c: Bumped build number. + * backend/plustek_pp-genericio.c: Fixed bug, that causes ASIC96003/1 + based devices to move their sensors too fast in lineart mode at + 200 and 300dpi. + * doc/plustek/Plustek-PARPORT.changes: Update. + +2005-08-09 Henning Meier-Geinitz + + * sanei/sanei_usb.c: Minor fixes for usbcalls interface (patch + from Paul Smedley ). + * doc/descriptions/unsupported.desc: Added Hewlett-Packard Scanjet + 4370. + +2005-08-08 Gerhard Jaeger + + * acinclude.m4 configure: Locking feature will be disabled on OS/2 + per default (according to Paul Smedley ). + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c: Bumped build number. + * doc/plustek/Plustek-USB.txt doc/descriptions/plustek.desc + doc/sane-plustek.man backend/plustek-usb.c backend/plustek-usbdevs.c: + Added support for CanoScan LiDE25. + +2005-08-07 Oliver Schwartz + + * backend/snapscan.c: Use first known device if no explicit device name + is specified + +2005-08-07 Henning Meier-Geinitz + + * configure configure.in: Updated version. Enabled compilation + warnings. + * doc/releases.txt: Typo fix. + * config.guess config.sub: Updated from libtool 1.5.18. + * configure configure.in include/sane/config.h.in + sanei/sanei_usb.c: Added support for usb functionality on OS/2 + using the usbcalls interface (patch from Paul Smedley + ). + * sanei/sanei_usb.c: Fixed some compilation warnings. + +Older entries can be found in ChangeLog-1.0.16. diff --git a/ChangeLogs/ChangeLog-1.0.18 b/ChangeLogs/ChangeLog-1.0.18 new file mode 100644 index 0000000..d6cf379 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.18 @@ -0,0 +1,973 @@ +****** Release of sane-backends 1.0.18. End of code freeze ****** + +2006-07-03 Henning Meier-Geinitz + + * configure configure.in: Increased version number. + +2006-07-02 Gerhard Jaeger + + * backend/plustek.c: Fixed the fix (problem when trying to + select bit-depth). + +2006-07-01 Wittawat Yamwong + + * doc/sane-pixma.man doc/descriptions/pixma.desc: + Updated status of MP760 and MP780 + +2006-06-30 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update + * backend/plustek.c: Fixed problem when trying to select bit-depth. + +2006-06-29 Henning Meier-Geinitz + + * NEWS: Added dell1600n_net backend. + * doc/releases.txt: Typo fix. + * aclocal.m4 configure configure.in include/sane/config.h.in: + Disabled compilation warnings for release. + +---- CODE FREEZE FOR SANE-BACKENDS 1.0.18 --- + +2006-06-26 Henning Meier-Geinitz + + * NEWS: Updated for 1.0.18. + +2006-06-24 m. allan noah + + * backend/fujitsu.c: update to v1.0.33, add 5900 usb id + * doc/descriptions/fujitsu.desc: usb id and version update + +2006-06-22 Henning Meier-Geinitz + + * doc/descriptions/epson.desc: Fixed USB id of CX6600 (patch from + Olaf Meeuwissen ). + * doc/descriptions-external/epkowa.desc: Updated (patch from + Olaf Meeuwissen ). + * doc/descriptions/unsupported.desc: Added Xerox WorkCentre + PE120i. + +2006-06-19 Henning Meier-Geinitz + + * doc/sane-usb.man: Fixed typo (bug #303571). + +2006-06-19 Giuseppe Sacco + + * corrected sane-usb manual page. + +2006-06-15 Ulrich Deiters + + * backend/canon.c, canon.h, canon-scsi.c, canon-sane.c: + got rid of some compiler warnings + +2006-06-14 m. allan noah + + * backend/fujitsu.c: update to v1.0.32, add 4220c2 usb id + * doc/descriptions/fujitsu.desc: usb id and version update + +2006-06-14 Jon Chambers + * backend/dell1600n_net.c: working backend added + +2006-06-13 m. allan noah + + * backend/fujitsu.[ch]: update to v1.0.31, add 5220c usb id, + dont show ink level buttons if no imprinter, gather button + presses more frequently + * doc/descriptions/fujitsu.desc: usb id and version update + +2006-06-12 Jochen Eisinger + + * doc/descriptions/mustek_pp.desc: Added Micromaxx MM-0851 + +---- FEATURE FREEZE FOR SANE 1.0.18 --- + +2006-06-11 Henning Meier-Geinitz + + * backend/coolscan2.c doc/descriptions/coolscan2.desc: Added + (minimal) support for Nikon LS 50 ED, Coolscan V ED and + (probably) Super Coolscan LS-5000 ED (patch from Giuseppe Sacco + ). + * backend/pixma.h: Fixed compilation problem on *BSD (ENODATA not + defined). + * doc/descriptions/unsupported.desc: Added Canon 9950. Removed + Epson 4490 (supported by epkowa). Removed Nikon scanners + (supported by coolscan2 backend). Updated PLANon DocuPen R700. + +2006-06-11 Eddy De Greef + + * AUTHORS backend/mustek_pp_cis.c backend/mustek_pp_cis.h + doc/sane-mustek_pp.man: e-mail address update. + +2006-06-11 Henning Meier-Geinitz + (patch applied by Karl Heinz Kremer + + * doc/descriptions/epson.desc: Added CX-4800. Added Perfection + 4990 (bug #301795). + * backend/epson_usb.c: Added CX-4800 (bug #303341). + * backend/epson.c: Fixed segfault when a scanner isn't + recognized. Added "Flatbed" as the only possible source option for + MOD_SOURCE in this case (bug #303340). + Epson CX4800 and CX6400 were detected as "unknown model". This + changes request_identity2 to 0 in the EpsonCmdRec for the "D7" + level, which skips the call to get_identity2_information(). The + second bug was that the return status of + get_identity2_information() was not checked in attach(). This + actually allowed the scanner to be used but with inaccurate + parameters (e.g. "Unknown model", default color depth, etc) + because the scanner was already closed before probing for the rest + of the parameters (bug #301478, #303342). + The Epson Perfection 4990 photo/GT-X800 wrongly return 3200 dpi as + their maximum resolution. This workaround enables teh full 4800 + dpi (bug #302090, patch from Claus Boje ). + * backend/epson.conf.in: Detect some more epson SCSI scanners + (GT-6000, GT-9000) which report "EPSON SC" instead of "EPSON" as + SCSI manufacturer ID (bug #303269). + * sanei/sanei_pio.c: Don't do a busy loop when looking for + scanners. This froze the backend when the scanner was switched + off. Also CPU time is much reduced (bug #301926). + +2006-06-11 Gerard Klaver + + * include/Makefile.in font_6x11.h added + +2006-06-10 Wittawat Yamwong + + * backend/pixma_mp750.c doc/sane-pixma.man + /doc/descriptions/pixma.desc: + Removed experimental flag from MP750, MP760 and MP780. + +2006-06-09 Gerard Klaver + + * doc/sane-stv680.man update text + +2006-06-09 m. allan noah + + * frontend/scanimage.c: move sane_cancel() out of scan_it(). + more like scanadf. fixes issues with duplex adf scanning. + +2006-06-08 Wittawat Yamwong + + * backend/pixma.h: Upgraded to version 0.11.3 + * backend/pixma_common.c backend/pixma_common.h: + Added a work-around for the buffer underrun problem. + * backend/pixma_io_sanei.c: Set minimum timeout to 10ms. + * backend/pixma_mp150.c: Added 2 commands for MP800. + * backend/pixma_mp730.c: Added debug info. + * backend/pixma_mp750.c: Added support for buttons and a work-around + for the lockup problem. + * backend/pixma.c: Removed SANE_I18N from backend type string. + * doc/sane-pixma.man: Updated + * doc/descriptions/pixma.desc: Updated status of MP750. + +2006-06-08 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update + * backend/plustek.c backend/plustek-usbcal.c + backend/plustek-usbcalfile.c backend/plustek-usbhw.c: + Fixed calibration cache issues (coarse calibration for all modes, + correct fine calibration for sheetfed devices). + +2006-06-08 Mattias Ellert + + * po/sane-backends.*.po: updated with new translation keys from + genesys backend. + +2006-06-07 Pierre Willenbrock + + * backend/genesys.c backend/genesys.h backend/genesys_low.h: added + options for enabling/disabling horizontal interpolation at high + resolutions and selection of color filter in grayscale and + lineart modes. + * backend/genesys_gl841.c: implemented color filter selection. + +2006-06-07 Gerhard Jaeger + + * configure, configure.in, backend/Makefile.in + include/sane/sanei_access.h sanei/Makefile.in + sanei/sanei_access.c: Added patch created by + Vitaly Lipatov : + Add --with-lockdir to configure for set path to lock dir + Set PATH_SANE_LOCK_DIR really to lock dir (instead localstatedir) + * po/sane-backends.de.po: Update. + +2006-06-06 m. allan noah + + * backend/fujitsu.[ch]: update to v1.0.30, init more models, + M3091/2 duplex support, flatbed bug fixes, minor refactoring + * doc/descriptions/fujitsu.desc: status and version update + * doc/sane-fujitsu.man: remove note about broken M3091/2 duplex + +2006-06-06 Rene Rebe + + * backend/avision.c backend/avision.h backend/avision.conf.in + doc/descriptions/avision.desc doc/sane-avision.man: updated the + Avision backend (Build 182 -> 201), including a lot fixes, + some new features and support for a bunch of new devices and updates + to the status marks, including: control of the lamp power-save time, + retrieval of NVRAM data such as the scan counts and serial number, + correction of the quality vs. preview scan bit (was inverted), + fixes for the logic deciding whether the cached window parameters + are valid, yet another deinterlacing method (for new scanner + models), rewritten main loop to be able to read with larger + USB buffers for enhanced scan speed, fixes of BGR -> RGB mirroring + (was off-by-one), attaching without a config by probing all + known SCSI vendor/product IDs and some fixed typos on the way + +2006-06-06 Mattias Ellert + + * po/Makefile.in, po/sane-backends.*.po: updated with translation + keys from stv680 backend + * backend/Makefile.in: Fix stv680 dependencies + +2006-06-05 Gerard Klaver + + * backend/stv680.c backend/stv680.h backend/stv680.conf.in added + * doc/sane-stv680.man doc/descriptions/stv680.desc added + * AUTHORS: added stv680 Gerard Klaver + * configure configure.in doc/Makefile.in doc/sane.man + backend/Makefile.in backend/dll.conf.in: added stv680 backend + * doc/descriptions-external/stv680.desc: removed because the backend + is now a part of sane-backends. + +2006-06-04 m. allan noah + + * backend/fujitsu.[ch]: update to v 1.0.29, option cleanups, + M3091/2 color mode support, sloppy buffer supports saned/scanimage -T + * backend/fujitsu-scsi.c: proper casting in macro + * doc/descriptions/fujitsu.desc: status and version update + * doc/sane-fujitsu.man: remove note about broken M3091/2 color + +2006-06-03 Wittawat Yamwong + * backend/pixma_sane_options.c: Added SANE_I18N for "Flatbed" and "Color" + * backend/pixma_common.[ch] + backend/pixma_mp150.c backend/pixma_mp730.c + backend/pixma_mp750.c backend/pixma_rename.h + backend/pixma.h: Added pixma_get_device_status() + * backend/pixma.c: Fixed a bug in sane_open(). State wasn't initiallized + properly. + * doc/sane-pixma.man doc/descriptions/pixma.desc: Updated device status. + +2006-06-01 m. allan noah + + * backend/fujitsu.[ch]: update to v 1.0.28 + * doc/descriptions/fujitsu.desc: status and version update + +2006-05-30 m. allan noah + + * backend/fujitsu.c: DBG speedup from abel deuring, + duplex bugfix, split scsi/usb data into new DBG level, + stop including or calling sanei_thread + * doc/descriptions/fujitsu.desc: minor update + * doc/sane-fujitsu.man: minor text changes, note DBG levels + +2006-05-28 Gerhard Jaeger + + * doc/sane-plustek_pp.man: Fixed typo. + * doc/sane-plustek.man: Update. + * doc/descriptions/plustek.desc: Update. + * backend/plustek.c backend/plustek.h backend/plustek-usb.c + backend/plustek-usbcal.c backend/plustek-usbcalfile.c + backend/plustek-usbdevs.c backend/plustek-usb.h + backend/plustek-usbhw.c backend/plustek-usbimg.c + backend/plustek-usbio.c backend/plustek-usbmap.c + backend/plustek-usbscan.c backend/plustek-usbshading.c: + Added support for CIS-based sheetfed scanners, namely TravelScan662. + Added support for saving calibration data for CIS + devices - should speedup CanoScan devices. + +2006-05-28 Wittawat Yamwong + + * backend/pixma.h: Added #define ENODATA and EPROTO to let the + backend compiles under OS/2 with gcc 3.3.5. + +2006-05-27 Giuseppe Sacco + + * Updated italian translation + +2006-05-27 Mattias Ellert + + * tools/sane-desc.c: Added plist output + +2006-05-26 Mattias Ellert + + * po/Makefile.in, po/sane-backends.*.po: updated with translation + keys from pixma backend + +2006-05-26 Wittawat Yamwong + + * AUTHORS: added Wittawat Yamwong + * configure configure.in doc/Makefile.in doc/sane.man + doc/descriptions/pixma.desc backend/Makefile.in + backend/dll.conf.in backend/pixma*.[ch]: added pixma backend + * doc/descriptions-external/pixma.desc: removed because the backend + is now a part of sane-backends. + * sanei/sanei_usb.c: Modified sanei_read_int(): call + usb_clear_halt() if and only if the endpoint is halted. + +2006-05-24 Mattias Ellert + + * Updated Swedish translation + +2006-05-23 m. allan noah + + * backend/fujitsu.c: dont send scsi cmd F1 if unsupported. + * doc/descriptions/fujitsu.desc: update version number. + +2006-05-23 Gerhard Jaeger + + * doc/plustek/Makefile.kernel26: Fixed extraction of version string. + +2006-05-21 m. allan noah + + * backend/fujitsu.c backend/fujitsu.conf.in + doc/descriptions/fujitsu.desc: added usb ids for fi-5110EOX + +2006-05-21 Henning Meier-Geinitz + + * README.linux: Updated concerning USB permissions (really, this + time). + * doc/descriptions/unsupported.desc: Removed models that are now + in pixma.desc. Updated comment for Plustek OpticPro S24. + * doc/descriptions-external/hp_rts88xx.desc: Added reason for not + including the backend. + * backend/gt68xx.c backend/gt68xx_devices.c doc/gt68xx/gt68xx.CHANGES + doc/descriptions/gt68xx.desc: Added support for Plustek OpticPro + S24 (some models). Added .conf entry for Plustek OpticPro S12. + +2006-05-19 m. allan noah + + * backend/fujitsu*: use sanei_scsi_open_extended() + change config file var to "buffer-size", increase default + * doc/sane-fujitsu.man: buffer-size mentioned + +2006-05-18 Henning Meier-Geinitz + + * doc/descriptions-external/pixma.desc: Added some models (from + Wittawat Yamwong ). + +2006-05-14 m. allan noah + + * backend/fujitsu.c: sane_read() - only send EOF with len=0 + do_cmd() - simplify timeout handling + * backend/fujitsu-scsi.h: increase default timeoutes + +2006-05-15 Stephane Voltz + + * backend/genesys_devices.c backend/genesys_gl646.c: tuned HP 2300 + geometry description and added a safeguard against failed origin + detection + +2006-05-14 m. allan noah + + * backend/fujitsu*: rewritten backend, supports many more scanners + with much better usb support and less model-specific code. + * doc/sane-fujitsu.man: updated to match new backend. + +2006-05-12 m. allan noah + + * doc/descriptions/fujitsu.desc: updated with all known scanners + by fujitsu. Most now supported as 'basic'. + +2006-05-10 Henning Meier-Geinitz + + * tools/hotplug-ng/convert-usermap.sh + tools/udev/convert-usermap.sh: Removed. No longer needed as + hotplug-ng and udev files are generated by sane-desc now. + * tools/README tools/hotplug/README tools/hotplug-ng/README + doc/sane-usb.man: Updated documentation concerning udev. + * doc/descriptions/unsupported.desc: Added Epson Stylus CX-5800 + and some PLANon scanners. + +2006-05-06 Henning Meier-Geinitz + + * doc/descriptions/lexmark.desc: X1150 is reported to work. + * doc/descriptions-external/brother.desc: MFC-3820CN is reported + to work. + +2006-04-27 Henning Meier-Geinitz + + * doc/descriptions-external/brother.desc + doc/descriptions-external/brother2.desc: Network models are now + supported (bug #303386). + +2006-04-23 Pierre Willenbrock + + * backend/genesys_devices.c: Increase length of acceleration + slopes for Canon LiDE 35/40/50/60 + +2006-04-21 Stephane Voltz + + * backend/genesys.c: add workraound with issue related + to asic reset and data scan amount + +2006-04-20 Henning Meier-Geinitz + + * backend/artec_eplus48u.conf.in: Made config file more + readable. Instead of commenting every single line, the + explanations are given once at the top. Don't repeat options + that aren't changed anyway. + * doc/descriptions/unsupported.desc: Added Microtek Scanmaker + 3880. + +2006-04-18 Giuseppe Sacco + * Updated italian translation + +2006-04-18 Pierre Willenbrock + + * backend/genesys_gl841.c backend/genesys_gl646.c: Actually use + the endian converted slope table. + * backend/genesys_conv_hlp.c: Fix interpolation code to emit all + pixels of a line. + * doc/descriptions/unsupported.desc: Added missing scanners from + libsane.usermap. + +2006-04-18 Henning Meier-Geinitz + + * doc/descriptions/epson.desc doc/descriptions/fujitsu.desc + doc/descriptions/hp.desc doc/descriptions/u12.desc + doc/descriptions/umax.desc: Added most USB vendor and product + ids. Minor cleanup. + * doc/descriptions/avision.desc: Used avision-desc.sh to update + the .desc file to current SANE CVS avision.c code. Added USB + ids. + * doc/descriptions/plustek.desc: Added USB ids. Splitted some + entries which have two different USB ids. Clarified comment about + UMAX 3400. + * tools/hotplug/libsane.usermap: Removed. Will be created + automatically by sane-desc. + * tools/Makefile.in: Create libsane.usermap (for hotplug), + libsane.db (for hotplug-ng) and libsane.rules (for udev) + automatically with sane-desc based on the :usbid tokens in the + description files. + * doc/Makefile.in: Don't print warnings when creating the HTML + scanner tables. The warnings are already printed in the tools + directory. + * doc/descriptions-external/brother.desc + doc/descriptions-external/brother2.desc: Point to current lists + on Brother website. + * tools/hotplug/.cvsignore tools/hotplug-ng/.cvsignore + tools/udev/.cvsignore: Added. + +2006-04-17 Henning Meier-Geinitz + + * backend/umax1220u-common.c backend/umax1220u.c + doc/descriptions/umax1220u.desc doc/sane-umax1220u.man: Make + UMAX 2100U (and probably 1600U and 2000U) work. Code from Patrick + Lessard . Updated manual page and .desc + file. + * AUTHORS: Added Patrick Lessard and Pierre Willenbrock. + * doc/descriptions/unsupported.desc + doc/descriptions-external/pixma.desc: Moved scanners supported + by the external pixma backend to pixma.desc. Added Canon PIXMA + MP730. + * doc/sane-mustek_usb2.man: Removed description of non-existing + configuration file. + +2006-04-12 Julien Blache + * tools/sane-desc.c: Fix/optimize udev rules; tests on the same + line are ANDed together, not ORed together, causing the rules to + trigger more often than necessary. + +2006-04-09 Henning Meier-Geinitz + + * frontend/saned.c: If saned does not find any config file, it + calls fclose with a NULL FILE*. The code may also leak open file + descriptors and FILE's if multiple config files are found. (bug + #303339). Fixed possible segfault on close_handle() (bug + #303338). + * doc/descriptions/umax1220u.desc: Added links to Patrick + Lessard's patch. + * backend/qcam.c: Fixed undefined symbols in the qcam backend on + GNU/kFreeBSD (patch from Aurelien Jarno ). + * doc/descriptions/unsupported.desc: Added Lexmark X5150. + +2006-04-03 Henning Meier-Geinitz + + * doc/descriptions-external/brother2.desc: Added several scanners + from Brother website. + * doc/descriptions/unsupported.desc: Added C-Channel scanners. + * tools/hotplug/libsane.usermap: Added some scanners. + +2006-03-29 Henning Meier-Geinitz + + * backend/sp15c.c: Fixed ADF support. Patch from Andreas Degert + . + * doc/descriptions-external/cs3200f.desc: Listed new cs3200f + backend for Canon 3200F. + * doc/descriptions/unsupported.desc: Added Canon PIXMA760, Tevion + MD 90090, Microtek ScanMaker 4600, and Visioneer Onetouch + 9320. Removed Canon CanoScan 3200F (now in external backends). + +2006-03-27 Pierre Willenbrock + + * backend/genesys.c backend/genesys.h backend/genesys_low.h + backend/genesys_conv.c backend/genesys_gl841.c: Added extended + option "Threshold" for lineart mode(Thanks to Laurent Charpentier). + +2006-03-24 Julien Blache + * doc/*: Another batch of spelling fixes from A. Costa. + +2006-03-24 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Iris Iriscan and Xerox + Documate 510. + +2006-03-21 Julien Blache + + * doc/*.man: More spelling fixes from A. Costa (through Debian). + +2006-02-02 Oliver Schwartz + + * backend/snapscan-scsi.c: Limit inquiry length to 120 bytes if + firmware is not yet loaded + +2006-03-18 Julien Blache + + * doc/sane-apple.man: Applied patch from A Costa (through Debian); + english/spelling fixes for sane-apple(5). + +2006-03-16 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Microtek ScanMaker 4850 + II and Plustek OpticPro ST 64+. + +2006-03-12 Stephane Voltz + + * backend/genesys_gl646.c: removed now unneeded #ifdef in + gl646_send_gamma_table. + +2006-03-12 Pierre Willenbrock + + * backend/genesys_gl646.c: fixed silly thinko in + gl646_send_gamma_table. + +2006-03-12 Stephane Voltz + + * backend/genesys_gl646.c: fixed gl646_send_gamma_table after + endianess changes. Put again a little fix for power saving + +2006-03-11 Henning Meier-Geinitz + + * sanei/sanei_usb.c tools/sane-find-scanner.c: Added USB support + for DragonFlyBSD (bug #303183). + +2006-03-09 Pierre Willenbrock + + * backend/genesys.c backend/genesys_low.h: Removed little endian + conversions in slope table creation functions + * backend/genesys_gl646.c backend/genesys_gl841.c: Added little + endian conversions to gl*_send_slope_table functions + +2006-03-09 Pierre Willenbrock + + * backend/genesys.c: Some annotations about endianess of scanned + data + * backend/genesys_gl646.c: Convert gamma tables to little endian + +2006-03-06 Stephane Voltz + + * backend/genesys_gl646.c: power saving fixes + +2006-03-05 Henning Meier-Geinitz + + * doc/descriptions-external/samsung.desc: Added USB ids for + SCX-4100 (bug #303166). + * doc/descriptions/unsupported.desc: Added Brother MFC 9600, Canon + PIXMA MP450, and Plustek ScanCopy 115. + +2006-02-16 Gerhard Jaeger + + * doc/plustek/Plustek-PARPORT.changes: Update. + * backend/plustek_pp.c: Bumped build number. + * backend/plustek-pp_ptdrv.c backend/plustek-pp_detec.c: + Fixed bug, that prevents backend from working, when the device + is another parport than parport0 - spotted by Christoph Steinbruchel. + +2006-02-14 Gerhard Jaeger + + * doc/u12/U12.changes: Update. + * backend/u12.c: Bumped build number. + * backend/u12-hw.c: SoftwareReset is now disabled in + cancelSequence when the device is a Genius scanner. + +2006-02-13 Stephane Voltz + + * backend/genesys_gl646.c: disabled power saving for gl646. + +2006-02-12 Henning Meier-Geinitz + + * README.solaris: Added link to installation report. + * doc/descriptions/unsupported.desc: Removed HP ScanJet 8200 + (supported by Avision backend). Minor updates. + +2006-02-04 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Removed Trust Office Scan USB + 19200 (now in niash.desc), added Xerox 4800 One Touch. + * include/sane/sanei_usb.h sanei/sanei_usb.c: Workaround for + compilation problem on Windows/cygwin. + * backend/dll.c: With cygwin, use ":" as DIR_SEP (patch from + Philip Aston ). + +2006-02-04 Ullrich Sigwanz + + * backend/niash_xfer.c: Added Trust OfficeScan 19200 + * doc/descriptions/niash.desc: Added Trust OfficeScan 19200 + * backend/niash.c: Removed Reload on X,Y settings + +2006-02-02 Oliver Schwartz + + * backend/snapscan.h: Corrected USB ID for Benq 310 + +2006-01-31 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c: Bumped build number. + * backend/plustek-usbdevs.c: Fixed CanoScan N1220U settings. + +2006-01-29 Henning Meier-Geinitz + + * doc/descriptions-external/brother2.desc: Changed status of + Brother MFC-410CN to "basic" (bug #302961). + * doc/descriptions/unsupported.desc: Added Benq 7400UT and Genius + Colorpage CS. + +2006-01-26 Henning Meier-Geinitz + + * backend/snapscan-usb.c: Added #defines for SHM_R/W for cygwin + (patch from Philip Aston ). + * AUTHORS: Troy Rollo is now active. + +2006-01-22 Henning Meier-Geinitz + + * doc/descriptions-external/epkowa.desc: Updated to match + iscan-1.18.0. Added usb ids (patch from Olaf Meeuwissen + ). + * doc/descriptions/unsupported.desc: Added Scanshell 800N and + Canon Smartbase MP360. + * sanei/sanei_usb.c tools/sane-find-scanner.c: Added checks for + altsetting =! 0. + +2006-01-22 Mattias Ellert + + * backend/dll.c, backend/plustek-usbhw.c, backend/plustek-usbscan.c, + sanei/sanei_pio.c: Fixed warnings about C++ style comments. + * backend/hp5400_xfer.h: Fixed compilation warnings. + +2006-01-21 Mattias Ellert + + * backend/canon-sane.c: Fixed variable redeclaration. + +2006-01-05 Stephane Voltz + + * tools/hotplug/libsane.usermap: Added Dell A920 (rebranded X1100) + +2006-01-19 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c: Bumped build number. Fixed constraint_type for + OPT_BUTTON. + * backend/plustek-usbdevs.c: Added high-speed setting for HP2200. + Cleanup. + +2006-01-18 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c: Bumped build number. + * backend/plustek-usbdevs.c: Fixed CanoScan N670U settings, + see (bugreport #302738). + +2006-01-15 Henning Meier-Geinitz + + * doc/descriptions/canon630u.desc doc/descriptions/coolscan2.desc + doc/descriptions/hp5400.desc doc/descriptions/niash.desc + doc/descriptions/unsupported.desc: Added USB vendor and product + ids. Minor cleanup. + * backend/artec_eplus48u.conf.in doc/sane-artec_eplus48u.man + doc/descriptions/artec_eplus48u.desc: Added Yakumo Scan50. Minor + cleanup. + * doc/descriptions/gt68xx.desc: Added Mustek BearPaw 1248 CU. + * doc/descriptions/lexmark.desc: Added USB vendor and product + ids. Changed status of X1150 and X1170 according to reports on + sane-devel. + +2006-01-15 Ulrich Deiters + + * backend/canon-sane.c: fixed byte-swapping problem for little-endian + platforms (affects raw-mode scanning with FS2710 slide scanner) + +2006-01-14 Henning Meier-Geinitz + + * tools/check-usb-chip.c: Improved rts8822l-01h chipset + detection by adding check for descriptor.bcdUSB == 0x110 reported + by some scanners and accepting any value diferent to 0, read + from 0xfe11 register. Patch from Jonathan Bravo Lopez + . + * tools/sane-desc.c: Added "ignore" parameter to :usbid + token. Print warning if a backend defines USB models without + defining usbid. Print warning if a model doesn't have an + interface. + * doc/descriptions.txt: Added "ignore" parameter to :usbid + token. + * doc/descriptions-external/hpaio.desc doc/descriptions-external/hpoj.desc + doc/descriptions-external/samsung.desc: Updated comments. Added + usb ids or "ignore". + +2006-01-10 Oliver Schwartz + + * doc/descriptions/snapscan.desc: Changed entries for duplicate USB IDs, + added Epson Stylus CX-1500 + * backend/snapscan.c backend/snapscan-scsi.c: Added support for 12 bit + gamma tables for Epson CX-1500 + * backend/snapscan.conf.in: Added Epson Stylus CX-1500 + +2006-01-10 Gerard Klaver + + * doc/descriptions-external/stv680.desc: Added USB id. + added Creative webcam to list + +2006-01-10 Henning Meier-Geinitz + + * doc/descriptions-external/epkowa.desc: Film area guide mode of + 4990 not supported (bug #302728). + * doc/descriptions-external/brother-mfc4600.desc + doc/descriptions-external/brother.desc + doc/descriptions-external/brother2.desc + doc/descriptions-external/hp3770.desc + doc/descriptions-external/hp3900.desc + doc/descriptions-external/hp8200.desc + doc/descriptions-external/hp_rts88xx.desc + doc/descriptions-external/mustek_a3p1.desc + doc/descriptions-external/primascan.desc + doc/descriptions-external/template.desc. + doc/descriptions-external/viceo.desc: + Added several USB ids. Added some more scanners. General cleanup. + +2006-01-09 Henning Meier-Geinitz + + * doc/descriptions/gt68xx.desc: Added USB id. + * doc/descriptions/unsupported.desc: Added interfaces to Panasonic + scanners. + +2006-01-08 Oliver Schwartz + + * doc/descriptions/snapscan.desc: Added USB IDs + +2006-01-08 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Xerox 4800. + * doc/descriptions.txt tools/sane-desc.c: Added support for + keyword :usbid. All output modes now print the usb vendor and + product modes. Added usermap, db, and udev output modes for + generating USB vendor/product lists for hotplug (ng) and Linux + udev. Added version information to html modes. + * doc/descriptions/gt68xx.desc: Added vendor and product ids for + all scanners. + * doc/descriptions/artec_eplus48u.desc + doc/descriptions/genesys.desc doc/descriptions/hp3500.desc + doc/descriptions/hp4200.desc doc/descriptions/ma1509.desc + doc/descriptions/microtek2.desc doc/descriptions/mustek_usb.desc + doc/descriptions/mustek_usb2.desc doc/descriptions/sm3600.desc + doc/descriptions/sm3840.desc doc/descriptions/template.desc. + doc/descriptions/umax1220u.desc doc/descriptions/unsupported.desc + doc/descriptions-external/template.desc.: + Added USB vendor and product ids. Minor cleanups. + +2006-01-07 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Medion MD 85264 finger + print sensor and Trust Office Scan USB 19200. + * doc/descriptions-external/brother2.desc + tools/hotplug/libsane.usermap: Brother DCP-7010 is reported to + work (bug #302862). + * tools/check-usb-chip.c: Print version information when detecting + chip sets. + * sanei/sanei_usb.c: Added warning if libusb support is not built + in and some more debug messages. + * doc/descriptions-external/hp3900.desc: Status of HP ScanJet 4070 + Photosmart is now minimal. + * tools/sane-desc.c: Added new output mode: statistics. This mode + prints overal statistics about known devices. Added support for + more than one search directory. Removed support for deprecated + backend status ("alpha", "beta" ...). Ran indent -gnu. HTML + output (backends and mfgs) prints statitics now. Unify status + and device type strings. Simplified status and device type + string printing. Removed any remaining links of backend status. + +2006-01-06 Oliver Schwartz + + * backend/snapscan-scsi.c backend/snapscan-options.c backend/snapscan.c: + Some fixes for the Epson Stylus CX1500 + +2006-01-05 Stephane Voltz + + * backend/umax_pp_low.c: removed unused local variable + +2006-01-05 Henning Meier-Geinitz + + * backend/Makefile.in backend/abaton.conf backend/abaton.conf.in + backend/agfafocus.conf backend/agfafocus.conf.in + backend/apple.conf backend/apple.conf.in backend/artec.conf + backend/artec.conf.in backend/artec_eplus48u.conf + backend/artec_eplus48u.conf.in backend/avision.conf + backend/avision.conf.in backend/bh.conf backend/bh.conf.in + backend/canon.conf backend/canon.conf.in backend/canon630u.conf + backend/canon630u.conf.in backend/canon_pp.conf + backend/canon_pp.conf.in backend/coolscan.conf + backend/coolscan.conf.in backend/coolscan2.conf + backend/coolscan2.conf.in backend/dc210.conf + backend/dc210.conf.in backend/dc240.conf backend/dc240.conf.in + backend/dc25.conf backend/dc25.conf.in backend/dll.conf + backend/dll.conf.in backend/dmc.conf backend/dmc.conf.in + backend/epson.conf backend/epson.conf.in backend/fujitsu.conf + backend/fujitsu.conf.in backend/genesys.conf + backend/genesys.conf.in backend/gphoto2.conf + backend/gphoto2.conf.in backend/gt68xx.conf + backend/gt68xx.conf.in backend/hp.conf backend/hp.conf.in + backend/hp4200.conf backend/hp4200.conf.in backend/hp5400.conf + backend/hp5400.conf.in backend/hpsj5s.conf + backend/hpsj5s.conf.in backend/ibm.conf backend/ibm.conf.in + backend/leo.conf backend/leo.conf.in backend/lexmark.conf + backend/lexmark.conf.in backend/ma1509.conf + backend/ma1509.conf.in backend/matsushita.conf + backend/matsushita.conf.in backend/microtek.conf + backend/microtek.conf.in backend/microtek2.conf + backend/microtek2.conf.in backend/mustek.conf + backend/mustek.conf.in backend/mustek_pp.conf + backend/mustek_pp.conf.in backend/mustek_usb.conf + backend/mustek_usb.conf.in backend/nec.conf backend/nec.conf.in + backend/net.conf backend/net.conf.in backend/pie.conf + backend/pie.conf.in backend/plustek.conf backend/plustek.conf.in + backend/plustek_pp.conf backend/plustek_pp.conf.in + backend/qcam.conf backend/qcam.conf.in backend/ricoh.conf + backend/ricoh.conf.in backend/s9036.conf backend/s9036.conf.in + backend/saned.conf backend/saned.conf.in backend/sceptre.conf + backend/sceptre.conf.in backend/sharp.conf backend/sharp.conf.in + backend/sm3840.conf backend/sm3840.conf.in backend/snapscan.conf + backend/snapscan.conf.in backend/sp15c.conf + backend/sp15c.conf.in backend/st400.conf backend/st400.conf.in + backend/tamarack.conf backend/tamarack.conf.in + backend/teco1.conf backend/teco1.conf.in backend/teco2.conf + backend/teco2.conf.in backend/teco3.conf backend/teco3.conf.in + backend/test.conf backend/test.conf.in backend/u12.conf + backend/u12.conf.in backend/umax.conf backend/umax.conf.in + backend/umax1220u.conf backend/umax1220u.conf.in + backend/umax_pp.conf backend/umax_pp.conf.in backend/v4l.conf + backend/v4l.conf.in: + Renamed backend configuration files from *.conf to + *.conf.in. The configuration files are preprocessed by + backend/Makefile now and variables like @DATADIR@ are substituted + by the appropriate directories. This is especially useful for + firmware locations. For the firmware paths for the artec_eplus48u, + gt68xx, and snapscan backends variables were used. Bug #302590. + Regenerate .conf files only if .conf.in were changed. + * backend/.cvsignore: Added *.conf. + * README.linux: Mentioned udev. + * doc/backend-writing.txt: New chapters about the build system and + the files and directories of sane-backends. Fixed building + instructions for tstbackend. Mentioned that sane_* symbols + should be only used for API symbols. + * testsuite/Makefile.in testsuite/README testsuite/testfile.pnm: + Changed testsuite to use the test backend instead of the pnm + backend. This actually works with current sane-backends. + * PROBLEMS: Removed pnm problem description. It's not relevant for + normal users and explained in the sane-pnm man page anyway. + * backend/genesys.c: Fixed some compilation warnings. + * tools/hotplug/libsane.usermap: Added Hewlett-Packard PSC 1210. + +2006-01-03 Henning Meier-Geinitz + + * doc/sane.tex: Corrected formula for calculation of + bytes_per_line in chapter 4.3.8 sane_get_parameters. + New version: 1.04. + +2006-01-02 Henning Meier-Geinitz + + * backend/microtek2.c backend/microtek2.h: Fixed problem with + option "resolution" which exists twice at the same time. Bug + #302466. + * tools/hotplug/libsane.usermap: Added Canon LiDE 60 (bug + #302830). + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_high.c doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES doc/gt68xx/gt68xx.TODO: Added Plustek + OpticPro S(T)12 (product id 0x040b). Mostly untested. Print + warmup message 5 seconds after starting the warm-up. + * doc/descriptions/unsupported.desc: Added Visioneer 9450 + USB. Updated comments for Plustek S(T)12. + * backend/test.c backend/test.conf backend/test.h + doc/sane-test.man doc/descriptions/test.desc: + Added option "source" which can be used to simulate an Automatic + Document Feeder (ADF). Added copyright header to test.h. + * frontend/scanimage.c: Don't create and delete a file in batch + mode if the document feeder is empty or if CTRL-D is pressed in + prompt mode. This change avoids deleting existing files. For an + explanation, see bug #302797. + +2006-01-01 Oliver Schwartz + + * backend/snapscan-data.c backend/snapscan-options.c backend/snapscan.c + doc/descriptions/snascan.desc: + Added (static) calibration data for Benq 5150 / 5250 + * backend/snapscan.h backend/snapscan.conf: + Added preliminary support for Epson Stylus CX 1500 + * backend/Makefile.in: Added snapscan-data.c + +2005-12-29 Henning Meier-Geinitz + + * doc/descriptions-external/scanwit.desc: Added "(Acer)" to + manufacturer name (bug #302801). + * doc/descriptions/unsupported.desc: Added/updated several old + Acer (Benq) and Agfa parport scanners. + +2005-12-28 Henning Meier-Geinitz + + * tools/hotplug/libsane.usermap: Added Brother MFC 8440. + * Makefile.in: make libcheck now also checks for non standard sane + symbols (sane_*). + * doc/descriptions/unsupported.desc: HP Scanjet 3690 uses GL646_HP + chipset. + +2005-12-27 Henning Meier-Geinitz + + * README.linux: Mention ld.so.conf issue. + * doc/descriptions/unsupported.desc + doc/descriptions-external/hp3900.desc: Added external hp3900 + backend. Moved (possibly) supported scanners from + unsupported.desc. + * doc/backend-writing.txt: Added some hints about what to do to add + a new backend to the existing sane-backends code. + +2005-12-24 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Lexmark X2330. + +2005-12-23 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added Canon Pixma MP500. + * README.openbsd: Added hint about CPPFLAGS. + * doc/descriptions/artec.desc: Changed status of Artec AT6 to + "good" as reported in bug #302749. + * tools/hotplug/libsane.usermap: Added Brother MFC-7420. + +2005-12-20 Henning Meier-Geinitz + + * backend/dll.c doc/descriptions/dll.desc: Fixed dynamic loading + on current HP/UX systems (bug #302732). + * AUTHORS ChangeLog configure configure.in backend/Makefile.in + backend/dll.conf backend/hp3500.c doc/Makefile.in + doc/sane-hp3500.man doc/sane.man doc/descriptions/hp3500.desc: + Added hp3500 backend which supports the HP ScanJet 3500 series, + including the 3500C, 3530C and 3570C (patch from Troy Rollo + ) (bug #302687). + * doc/descriptions-external/hp3500.desc: Deleted. + * doc/descriptions/hp4200.desc doc/descriptions/lexmark.desc + doc/descriptions/mustek_usb2.desc: Removed "NEW!" markers. + +2005-12-18 Henning Meier-Geinitz + + * Makefile.in: List ChangeLog-1.0.17 in DISTFILES. + * configure configure.in: Changed version to 1.0.17-cvs. Enabled + compilation warnings. + * doc/descriptions-external/brother2.desc: Added Brother MFC-215C. + +Older entries can be found in ChangeLog-1.0.17. diff --git a/ChangeLogs/ChangeLog-1.0.19 b/ChangeLogs/ChangeLog-1.0.19 new file mode 100644 index 0000000..f0f827b --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.19 @@ -0,0 +1,1159 @@ +****** Release of sane-backends 1.0.19. End of code freeze ****** + +2008-02-10 m. allan noah + * Makefile.in: correct DISTFILES + * configure.in, configure: alpha sort backend names + * backend/Makefile.in: correct/sort DISTFILES and .la: targets + * include/Makefile.in: correct/sort SANE_INCLUDES + * doc/releases.txt: minor updates + +2008-02-10 m. allan noah + * config.guess, config.sub: updated to latest versions + * configure.in, configure: updated sane version number + * doc/releases.txt: minor updates + * sane-backends.lsm: updated maintainer and keyword info + * NEWS: added last 18+ months of updates to 1.0.19 section + +2008-02-09 m. allan noah + * backend/hpljm1005.c, doc/descriptions/hpljm1005.desc: + add usb ID for LaserJet M1120 + +2008-02-09 Rene Rebe + + * backend/avision.ch: fixed device list matching for entries + with partial matches on USB ID, but vendor / product string + matches as mostly only the HP5300 vs. HP5370, fixed non-color + calibration for devices not filling all RGB fields of calibration + format information, do not send 3x3 color matrix to older devices + (ASIC versions) as some HP53xx does not correctly handle it, + improved calibration accuracy and fixed transparency adapter + detection to not use non-zero as present, but just 1 (some + devices now set 0xff as (-1) - not present ... + +2008-02-07 m. allan noah + * backend/hpljm1005.c, doc/descriptions/hpljm1005.desc: + add usb ID for LaserJet M1120n + * doc/descriptions-external/brother2.desc: add usb ID for DCP-120C + +2008-02-03 m. allan noah + * backend/hpljm1005.c: better sane_cancel handling + * backend/agfafocus.c backend/coolscan.c, backend/coolscan2.c, + backend/hpljm1005.c, backend/ibm.c, backend/lexmark_low.c, + backend/microtek.c, backend/microtek2.c, backend/nec.c, backend/pie.c, + backend/ricoh.c, backend/s9036.c, backend/st400.c, backend/umax.c: + reduce gcc pedantic/ansi warnings from 690 to 280 lines, mostly + via casts in str*() calls. + +2008-02-03 Mattias Ellert + + * Makefile.in, */Makefile.in, tools/sane-config.in: + Fix warnings about ignored --datarootdir + * backend/hp5590_low.c: Fix incompatible pointer type warning + * backend/genesys_gl646.c: Fix incompatible pointer type warning + * backend/dc25.c, backend/coolscan2.c, backend/epson2.c, + backend/epson2-commands.c, backend/epson2-io.c, backend/epson2_net.c, + backend/genesys.c, backend/genesys_gl841.c, backend/hp3900_usb.c, + backend/lexmark_low.c, backend/plustek-usbhw.c, backend/sm3840.c: + Fix format warnings + * backend/pixma.c: Add missing #include + +2008-02-02 Mattias Ellert + + * configure, configure.in, include/sane/config.h.in, + backend/hp3900_debug.c: make tiffio.h optional + * backend/Makefile.in: remove sanei_config2 from epjitsu deps + * backend/epson2.c, backend/hpljm1005.c: add missing #includes + +2008-02-01 Gerhard Jaeger + + * po/sane-backends.no.po: renamed to sane-backends.nb.po + * po/Makefile.in: norwegian bokmål locale is nb and not no + +2008-01-30 Mattias Ellert + + * backend/pixma.c: Fix initialization of the reader taskid + +2008-01-30 m. allan noah + * backend/hpljm1005.c: call sane_get_devices if required + +2008-01-29 m. allan noah + * backend/snapscan.c: fix bug #310538 + * doc/descriptions/unsupported.desc: add Canon LiDE 600F + +2008-01-23 Alessandro Zummo + * doc/descriptions/epson2.desc: cloned from epson.desc with + minor modifications. + +2008-01-22 m. allan noah + * backend/hpljm1005.c, doc/descriptions-external/hpljm1005.desc: + Update backend with DBG macro calls, remove external .desc file, + from author- couriousous at mandriva dot org + * backend/fujitsu.c: disable compression option arg until sane 1.1.0 + * doc/descriptions/dell1600n_net|hp3500|pixma.desc: remove 'new' flag + +2008-01-17 m. allan noah + * backend/hpljm1005.c, doc/descriptions/hpljm1005.desc, + doc/sane-hpljm1005.man, AUTHORS, configure, configure.in, + backend/Makefile.in, backend/dll.conf.in, doc/Makefile.in, + doc/sane.man: add hpljm1005 backend, couriousous at mandriva dot org + + * tools/check-po.awk, po/sane-backends.fr.po: updates from + Yann E. MORIN + +2008-01-16 m. allan noah + * po/sane-backends.fr.po: updated translation from Yann E. MORIN + * backend/fujitsu.c, backend/fujitsu.conf.in, + doc/descriptions/fujitsu.desc: add usb id for S500M + +2008-01-16 Jonathan Bravo Lopez + * backend/hp3900_usb.c: fixed compilation warning related + to an argument type in Read_Bulk function. + +2008-01-14 m. allan noah + * tools/check-po.awk: support different use of 'fuzzy' + * po/sane-backends.fr.po: updated translation + both updates from Yann E. MORIN + +2008-01-09 Gerard Klaver + * backend/teco2.c changed routine teco_request_sens + add init value to size (bugreport + https://bugzilla.novell.com/show_bug.cgi?id=205451) + +2008-01-09 Alessandro Zummo + * changed functions prefix (esci_ for device commands, + e2_ for driver's functions), better handling of tpu area, + fixed tpu detection, changed freeing of line buffers, + fixed some XXXs. + +2008-01-09 Alessandro Zummo + * sanei_tcp.c, fix compilation with cygwin. + +2008-01-02 m. allan noah + * AUTHORS, configure, configure.in, backend/Makefile.in, + backend/dll.conf.in, backend/hs2p-saneopts.h, + backend/hs2p-scsi.c, backend/hs2p-scsi.h, backend/hs2p.c + backend/hs2p.conf.in, backend/hs2p.h doc/Makefile.in, + doc/sane-hs2p.man, doc/sane.man, doc/descriptions/hs2p.desc: + add hs2p backend for jazz_johnson a t verizon d o t net + +2007-12-29 m. allan noah + * backend/epjitsu.c: let io_error fall thru usb command function + * backend/epjitsu.conf.in: use @DATADIR@ for holding firmware + * backend/Makefile.in: add epjitsu to FIRMWARE_DIRS + +2007-12-29 m. allan noah + * include/sane/sane.h, frontend/scanimage.c, backend/fujitsu.[ch]: + commented/removed/deactivated all new SANE_FRAME code + +2007-12-26 Alessandro Zummo + * backend/epson2.c: added network scanner autodiscovery + +2007-12-26 Alessandro Zummo + * sanei/sanei_udp.c: added udp support functions + +2007-12-24 Julien Blache + * configure.in, configure: Do not build plustek_pp on Hurd. Patch + from Samuel Thibault . Add missing + closing paren to error message. + +2007-12-21 Jonathan Bravo Lopez + + * backend/hp3900.c, backend/hp3900_rts8822.c: Fixed bug which made + slide/negative scans unusable. + * backend/hp3900_config.c: Changed area constrains of slide/negative scans. + +2007-12-19 m. allan noah + * backend/epjitsu.c: backend v1.0.10, fix missing function + +2007-12-19 Jonathan Bravo Lopez + + * po/sane-backends.es.po: Updated translation. + * tools/check-usb-chip.c: fixed compilation warning and "RTS8822L-01H" + strings renamed to "RTS8822" + +2007-12-19 Mattias Ellert + + * po/Makefile.in, po/sane-backends.*.po: New translation keys for + hp3900 backend. Updated Swedish translation. + +2007-12-17 m. allan noah + * backend/epjitsu*, backend/Makefile.in, backend/dll.conf.in, + doc/sane-epjitsu.man, doc/Makefile.in, doc/sane.man, + doc/descriptions/epjitsu.desc, configure, configure.in, AUTHORS: + add backend for Epson-based Fujitsu scanners (fi-60F and S300) + +2007-12-17 Gerhard Jaeger + + * backend/plustek-usb.[ch] backend/plustek-usbcal.c backend/plustek-usbimg.c + backend/plustek-usbio.c backend/plustek-usbshading.c: Fixed ARM/Xscale + issues. + * backend/plustek.c: Bumped build number + * doc/plustek/Plustek-USB-TODO.txt doc/plustek/Plustek-USB.changes: Update + +2007-12-15 Alessandro Zummo + * backend/epson2.c: fixed model detection, + depth detection and removed some unused + variables. + +2007-12-13 Jonathan Bravo Lopez + * Added files for 'hp3900' backend which supports + HP Scanjet 3800/3970/4070/4370/G3010 + * doc/descriptions-external/hp3900.desc: moved to doc/descriptions + +2007-12-10 Alessandro Zummo + * backend/epson2.c: use epson2_model where possible, + fixed segmentation fault. + +2007-12-08 Giuseppe Sacco + + * Added esperanto translation, per Antonio Codazzi. + +2007-11-23 Gerhard Jaeger + + * po/sane-backends.*.po: Update + * backend/plustek-usb.[ch] backend/plustek-usbcal.c + backend/plustek-usbdevs.c backend/plustek.[ch]: + Tweaked TravelScan464 settings. Improved AFE gain calculation + for CIS devices. This should avoid stripes in the scanned images. + * doc/sane-plustek.man doc/plustek/Plustek-USB.changes: Update + +2007-11-22 Pierre Willenbrock + * backend/genesys.c, backend/genesys_devices.c, + backend/genesys_low.h, backend/genesys_gl646.c, + backend/genesys_gl841.c: add infrastructure for multiple motor + power modes + +2007-11-21 Pierre Willenbrock + * backend/genesys_gl841.c: add internal flag for disabling lamp + during scan(useful for black level calibration) + +2007-11-18 Mattias Ellert + + * backend/mustek.c: Add protection for a double free (#306775) + * backend/agfafocus.c, backend/artec_eplus48u.c, backend/avision.c, + backend/coolscan.c, backend/hp3500.c, backend/microtek2.c, + backend/mustek.c, backend/pie.c, backend/pixma.c, backend/plustek.c, + backend/plustek_pp.c, backend/snapscan.c, backend/sp15c.c, + backend/tamarack.c, backend/test.c, backend/u12.c, backend/umax.c: + Fix handling of valid "negative" PIDs. + +2007-11-18 Alessandro Zummo + + * backend/epson2.c: removed quick-format option. it's + the job of a frontend to provide such a commodity. + removed confusing parameters (preview-speed, speed). + when a preview is requested, the scanner will be + set to high speed (if possible). + removed references to the never implemented zoom function. + the function that shortened the list was actually + missing the first entry. + more resolutions addedd for networked scanners. + added support for Perfection 4990 (Claus Boje). + +2007-11-17 m. allan noah + * backend/fujitsu.c, backend/fujitsu.conf.in, + doc/descriptions/fujitsu.desc: add usb id for S510 + +2007-11-17 Rene Rebe + + * backend/avision.[ch]: + Implemented support for latest Avision ASICs and features, + including overscan, background raster, software scaling for + cheaper ASICs used in HP scanners. Changed types used to + more portable uint* ones, without underscore (_), removed + in-file ChangeLog history, as the files became big enough. + Implemented early calibration for easier handling of + Avision-based film scanners and implemented support for + 2-pass duplex scanners. + +2007-11-16 Mattias Ellert + + * include/sane/sanei_thread.h, include/sane/sanei_usb.h: + Fixing doxygen warnings. + +2007-11-16 Gerhard Jaeger + + * backend/plustek-usb.[ch] backend/plustek-usbcal.c + backend/plustek-usbdevs.c backend/plustek-usbshading.c + backend/plustek.[ch] backend/plustek.conf.in: + Tweaked TravelScan464 settings. Added possibility to disable + dark-calibration with lamp on (touches devices like CanoScan1220 etc.) + Use attribute packed for data access structs + + * doc/sane-plustek.man doc/plustek/Plustek-USB.changes: Update + + * include/sane/sanei_usb.h sanei/sanei_usb.c: Added function + sanei_usb_get_descriptor() to retrieve some infos about a connected + device + +2007-11-16 Mattias Ellert + + * backend/artec_eplus48u.c, backend/coolscan.c, backend/mustek.c, + backend/pie.c, backend/plustek.c, backend/plustek_pp.c, + backend/snapscan.c, backend/test.c, backend/u12.c, backend/umax.c: + Correct the test of the return value from sanei_thread_begin. + +2007-11-12 Julien Blache + * doc/descriptions-external/epkowa.desc: Update epkowa.desc for + iScan! 2.10.0. Patch provided by Olaf Meeuwissen. + +2007-11-11 Pierre Willenbrock + * backend/genesys_gl841.c: add check for low brightness + +2007-11-11 Pierre Willenbrock + * backend/genesys.c, backend/genesys_gl646.c, + backend/genesys_gl841.c, backend/genesys_low.h: change + bulk_write_register to take number of registers instead of + byte size of register set + +2007-05-08 Mattias Ellert + + * acinclude.m4: NSLinkModule is deprecated in favour of dlopen - + only look for NSLinkModule if dlopen is not available + * acinclude.m4, m4/libtool.m4: include libtool.m4 using m4_include + * ltmain.sh, m4/libtool.m4: newer versions. + * configure.in: move the byteorder test to after AC_GNU_SOURCE et al. + to avoid warnings when running autoconf, + add AC_SUBST(CROSS_COMPILING), + add a check for IOKit/scsi/SCSICommandOperationCodes.h, + add a check for SCSITaskSGElement (for darwin 64 bit support) + * doc/Makefile.in, tools/Makefile.in: disable things that need the + built binaries to run when doing cross-compilations + * sanei/sanei_scsi.c: IOKit/scsi-commands has moved to IOKit/scsi - + support both locations of headers, use SCSITaskSGElement if available + * aclocal.m4, config.guess, config.sub, configure, + include/sane/config.h.in: update autogenerated files + * backends/Makefile.in: remove sanei_config2 from cardscan deps + * backends/dll.c: add MacOS X naming convention for dlopen + * tools/sane-find-scanner.c: IOKit/scsi-commands has moved to + IOKit/scsi - support both locations of headers, fix some warnings + +2007-11-08 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes doc/sane-plustek.man: Update + * backend/plustek.c: Bumped build number + * doc/descriptions/unsupported.desc: Updated some entries + * backend/plustek-usb.c backend/plustek-usbimg.c backend/plustek-usbmap.c + backend/plustek-usbscan.c backend/plustek-usbshading.c: Fixed copyright + * backend/plustek-usb.h backend/plustek-usbdevs.c + doc/descriptions/plustek.desc: Added support for TravelScan464 + +2007-10-28 Julien Blache + * doc/descriptions/epson.desc: Added the Epson DX-6000 (04b8:082e) + based on user report. + +2007-10-27 Julien Blache + * backend/net.c: Fix IPv4 legacy code after last changes to the + net backend on 2007-10-24. + +2007-10-26 Julien Blache + * backend/abaton.c, backend/agfafocus.c, backend/apple.c, + backend/artec.c, backend/canon.c, backend/cardscan.c, + backend/coolscan.c, backend/epson.c, backend/epson2.c, + backend/fujitsu.c, backend/hp3500.c, backend/ibm.c, + backend/pint.c, backend/ricoh.c, backend/s9036.c, + backend/sm3600.c, backend/sp15c.c, backend/tamarack.c: + OPT_NUM_OPTS must be of type SANE_TYPE_INT. + +2007-10-25 Pierre Willenbrock + * backend/genesys.c: Removed some more hardcoded + sizeof(Genesys_Register_Set) + +2007-10-25 Julien Blache + * sanei/sanei_ab306.c: Fix boundary checking after the for() loop + in sanei_ab306_open(). From Johannes Meixner at SuSE. + * backend/as6e.c: Fix strncpy()/strncat() usage in + check_for_driver(). From Johannes Meixner at SuSE. + +2007-10-25 Pierre Willenbrock + * backend/genesys_gl841.c: Hopefully removed the remaining hardcoded + sizeof(Genesys_Register_Set) + +2007-10-25 Pierre Willenbrock + * backend/genesys_gl841.c: One more instance of + sizeof(Genesys_Register_Set) vs 2 + * backend/genesys.c: Add check for small register set in + sanei_genesys_get_address + +2007-10-24 Julien Blache + * backends/net.c: Add an optional connection timeout for the + initial connection to saned. Based on a patch from Ryan Duryea + . Bump net backend version to 1.0.14. + * backends/net.conf.in: Add the new connect_timeout option and + adjust comments accordingly. + * doc/sane-net.man: Document the connect_timeout option and the + SANE_NET_TIMEOUT environment variable. + +2007-10-19 Stephane Voltz + + * tools/check-usb-chip.c: added detection of rts8801 and + rts8891 ASICs + +2007-10-13 Pierre Willenbrock + + * backend/genesys_gl841.c backend/genesys_gl646.c: use + sizeof(Genesys_Register_Set) instead of 2 + +2007-10-07 Bertrik Sikken + * doc/descriptions/unsupported.desc: updated with info from + 'FormularDaten' e-mails up to 2007/9/29 + +2007-10-02 Julien Blache + * doc/descriptions-external/brother2.desc: add DCP-117C USB IDs + and mark support as good, based on user report. + +2007-10-01 Stephane Voltz + + * backend/lexmark.c backend/lexmark_low.c: + fixed compilation warnings + +2007-10-01 Stephane Voltz + + * doc/sane-lexmark.man doc/descriptions/lexmark.desc + backend/Makefile.in backend/lexmark.c backend/lexmark_low.c + backend/lexmark_sensors.c backend/lexmark_models.c + backend/lexmark.conf.in: + moved experimental version to current tree + +2007-10-01 Stephane Voltz + + * doc/sane-umax_pp.man doc/descriptions/umax_pp.desc: + added Genius ColorPage-Life Pro as supported scanner + by the umax_pp backend + +2007-09-28 Bertrik Sikken + * doc/descriptions/unsupported.desc: updated with info from + 'FormularDaten' e-mails from 2007/7/3 to 2007/7/30 + +2007-09-27 Julien Blache + * doc/backend-writing.txt: fix typos, patch from + . + +2007-09-26 Julien Blache + * doc/descriptions/unsupported.desc: Added pointer to + http://code.google.com/p/kvss905c/ for the Panasonic KV-SS905C and + Panasonic KV-S3105C scanners (note that the non-SANE driver at + that URL supports other scanners of the KV-SS905C family). + +2007-09-25 Bertrik Sikken + * doc/descriptions/unsupported.desc: updated with info from + 'FormularDaten' e-mails from 2007/5/1 to 2007/6/24 + +2007-09-23 Bertrik Sikken + + * doc/descriptions/unsupported.desc: updated with info from + 'FormularDaten' e-mails from 2007/2/11 to 2007/4/30 + +2007-09-17 Gerhard Jaeger + + * doc/descriptions/unsupported.desc: #305009 removed UMAX3400, as it is + supported by the Plustek backend + +2007-08-28 Giuseppe Sacco + + * Italian translation update + * Corrected a typo in backend/canon.c + +2007-08-27 Stephane Voltz + + * backend/genesys.h backend/genesys_gl841.c backend/genesys_low.h + backend/umax_pp.c backend/umax_pp.h backend/umax_pp_mid.c + backend/umax_pp.h AUTHORS doc/sane-umax_pp.man doc/sane-genesys.man: + mail address update, minor man update + +2007-08-26 Stephane Voltz + + * backend/genesys.c backend/genesys_gl646.c backend/genesys_devices.c: + HP2400 warmup fix by Luke + +2007-08-19 Henning Geinitz + + * backend/gt68xx.c backend/gt68xx.conf.in backend/gt68xx_devices.c + backend/gt68xx_generic.c backend/gt68xx_gt6801.c + backend/gt68xx_gt6816.c backend/gt68xx_high.c + backend/gt68xx_high.h backend/gt68xx_low.c backend/gt68xx_low.h + backend/gt68xx_mid.c doc/sane-gt68xx.man + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Added + Artec Ultima 2000 e+, Nortek Myscan 1200, NeatReceipts Scanalizer + Professional, Genius Colorpage Slim-1200. Name and email + address changes. + * AUTHORS: Name and email address change. + +2007-08-18 Julien Blache + * doc/descriptions/epson.desc: Added Stylus CX-5000 (04b8:082b). + * backend/epson_usb.c: Added various USB IDs for CX-6000, DX-5050, + DX-5000, CX-5000, DX-4050. + +2007-08-12 Henning Geinitz + * doc/descriptions-external/hpljm1005.desc: Added. + +2007-08-08 m. allan noah + * frontend/scanimage.c: bugfix: dont round up negative user values + * doc/descriptions/fujitsu.desc: add/consolidate new models + +2007-08-03 Julien Blache + * doc/descriptions/epson.desc: add the Epson Stylus Photo RX-700 + (04b8:0810), based on user report. Add the Epson Stylus CX-6600 + (04b8:0813), based on user report. + +2007-07-26 m. allan noah + * frontend/scanimage.c: add default: blocks to FRAME switch code + * backend/fujitsu.[ch]: update to version 1.0.52: + - remove unused jpeg function + - reactivate look-up-table based brightness and contrast options + - change range of hardware brightness/contrast to match LUT versions + - call send_lut() from sane_control_option instead of sane_start + +2007-07-31 Julien Blache + * doc/descriptions/epson.desc: add the Epson Stylys DX-5050 + (04b8:082b). + +2007-07-30 Julien Blache + * doc/descriptions/epson.desc: add the Epson Stylus DX-4050 + (04b8:082f), based on several reports. Add the Epson Stylus + DX-5000 (04b8:082b) on the same grounds. + * backend/canon.c: apply patch from Nils Philippsen, turning + 3 logical AND into bitwise AND (SANE bug #304363). + +2007-07-29 Julien Blache + * tools/sane-desc.c: Add a RUN rule to the udev rules to + automatically disable USB suspend for all known scanners. + Works only with kernels >= 2.6.22 where + /sys/bus/usb/devices/*/power/level exists. + +2007-07-26 m. allan noah + + * backend/fujitsu.c: update to version 1.0.51, fix bug in jpeg code + +2007-07-26 Julien Blache + * tools/sane-desc.c: revert my last commit and rework the one + before to produce a backward compatible udev rules file. Yay. + +2007-07-26 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update + * backend/plustek.c: Bumped build number + * backend/plustek-usbhw.c: Force output bit set on misc I/O, + when lamp is switched + * doc/descriptions/unsupported.desc: Updated some Plustek entries + +2007-07-25 Julien Blache + * tools/sane-desc.c: Update udev rules for use with Linux >= + 2.6.22 and CONFIG_USB_DEVICE_CLASS=n. + +2007-07-20 Wittawat Yamwong + + * backend/pixma.c backend/pixma.h backend/pixma_mp150.c + doc/sane-pixma.man doc/descriptions/pixma.desc: + upgraded to version 0.13.1 + added PIXMA MP960 + +2007-07-15 m. allan noah + + * doc/descriptions/fujitsu.desc, doc/sane-fujitsu.man: + update website and fi-60F status + * Authors, backend/dll.conf.in: added cardscan backend + +2007-07-14 m. allan noah + + * doc/sane-cardscan.man,doc/Makefile.in,doc/descriptions/cardscan.desc, + backend/cardscan.*,backend/Makefile.in,configure.in: + add new v1.0.0 backend for Corex CardScan 800c + +2007-07-14 m. allan noah + + * doc/sane-fujitsu.man: add more known models, fix bug #304450 + * backend/Makefile.in: libsane-fujitsu.la does not use sanei_thread.lo + +2007-07-11 Gerhard Jaeger + + * tools/check-usb-chip.c: Try to distinguish the various + GenesysLogic GeneScan ASICS - GL841, GL842 and GL843 + +2007-07-10 m. allan noah + + * backend/fujitsu.[ch], backend/fujitsu-scsi.h: update to v1.0.50, + add JPEG support, usb command sending and scan params cleanups + * include/sane/sane.h: add SANE_FRAME_JPEG + * frontend/scanimage.c: dont crash on unknown frame types + +2007-07-10 Gerhard Jaeger + + * doc/descriptions/plustek.desc: Fixed web entries + * backend/plustek-usb.h backend/plustek-usbdevs.c backend/plustek.c: + Added flag to allow only 1- and 8-bit scanmodes. The Q-Scan does + not seem to support 14-bit modes. + +2007-06-29 Gerhard Jaeger + + * backend/plustek-usb*.[ch] backend/plustek.[ch]: + Added sheetfed device Q-Scan USB001 from Portable Peripherals + Fixed Mustek Bearpaw and made some speedup (bugreports #304343 and + #301763) + Fixed calibration for senororders other that RGB + * doc/descriptions/plustek.desc: Bumped version and added Q-Scan + * doc/descriptions/unsupported.desc: Removed Q-Scan + * doc/sane-plustek.man doc/plustek/Plustek-USB.changes: Update + +2007-06-28 m. allan noah + + * backend/fujitsu.c: update to v1.0.49, fi-5750C usb ID and color mode + * backend/fujitsu.conf.in: add fi-5750C + * doc/descriptions/fujitsu.desc: bump version, add fi-5750C and S510 + +2007-06-21 Julien Blache + * sanei/sanei_scsi.c: Switch sanei_scsi to the SG_IO ioctl + interface, instead of the asynchronous SG3 read/write interface. + + Makes it possible to use SCSI scanners in 32/64bit mixed + environments, thanks to the ioctl 32bit compatibility layer, which + is NOT possible using the SG3 interface. + +2007-06-18 Gerhard Jaeger + + * doc/plustek/Plustek-PARPORT.changes: Update. + * backend/plustek_pp.c: Bumped build number. + * backend/plustek-pp_drv.c backend/plustek_pp_sysdep.h: + Make the Kernelmodule work with Kernels > 2.6.15 w/o DEVFS + +2007-06-12 Ilia Sotnikov + + * Use libtool instead of ar/ranlib, which correctly handles dependencies + (eg. for parallel makes) + +2007-05-08 Mattias Ellert + + * po/Makefile.in, po/sane-backends.*.po: New translation keys for + hp3500 and hp5590 backends. Updated Swedish translation. + * backend/hp5590.c: Do not localize option names + +2007-04-29 Ilia Sotnikov + + * backend/hp5590_low.c: don't use libusb structs directly, define + necessary of them by ourselves ('struct usb_ctrl_setup' -> 'struct + usb_in_usb_ctrl_setup') + * backend/hp5590_low.c: renamed 'struct usb_bulk_setup' to 'struct + usb_in_usb_bulk_setup' to show its internal usage + +2007-04-24 Ilia Sotnikov + + + configure: added check for header + + Added files for 'hp5590' backend which supports + HP ScanJet 5550/5590/7650 scanners + + tools/check-usb-chip.c: added HP ScanJet 5550/5590/7650 detection + routine + +2007-04-21 Troy Rollo + + * backend/hp3500.c: Improve speed and reduce noise of most + resolutions; deal with an escape code discovered in the scanner's + protocol; use hardware detailed calibrations for resolutions up to + 300; use improved software detailed calibration for other + resolutions; ddd more debug information; drop the 25dpi + resolution; make 200dpi the default (the same as the Windows + frontend; Add code (not used yet) to deal partially with grayscale + and lineart scanning; use I18N strings where appropriate. + +2007-04-21 Mattias Ellert + + * doc/descriptions-external/hp5590.desc, + doc/descriptions/unsupported.desc: + Added description for new external backend hp5590 + See: http://alioth-lists.debian.net/pipermail/sane-devel/2007-April/018977.html + +2007-04-21 Julien Blache + * backend/epson.c: remove bogus check in + get_identity2_information(), causing the identification of various + Stylus CX5xxx models (among others) to fail. Olaf Meeuwissen from + Epson confirmed the check was bogus. + +2007-04-17 Julien Blache + + * backend/microtek.c: add missing braces. + * tools/sane-desc.c: use mode 0664 for usbfs device nodes; allows + lsusb to still work for everybody on the system. + +2007-04-13 m. allan noah + + * backend/fujitsu.c: update to v1.0.48, re-enable + brightness/contrast for models with built-in support + +2007-04-15 Wittawat Yamwong + + * doc/descriptions/unsupported.desc: Remove Canon PIXMA MP160 and + Canon PIXMA MP600 (now supported by pixma backend) + +2007-04-13 Mattias Ellert + + * doc/descriptions-external/hp3900.desc, + doc/descriptions/unsupported.desc: + Moved 3 scanners from unsupported to hp3900 + See: http://alioth-lists.debian.net/pipermail/sane-devel/2007-April/018980.html + +2007-04-13 m. allan noah + + * backend/fujitsu.[ch]|fujitsu.conf.in: update to v1.0.47, + change gamma determination, add support/usbid for fi-5650C + * doc/descriptions/fujitsu.desc: version number update + * tools/hal/.cvsignore: ignore .fdi file + +2007-04-09 Wittawat Yamwong + + * backend/pixma*.[ch] doc/sane-pixma.man doc/descriptions/pixma.desc: + Updated to version 0.13.0 + Added MP160, MP180, MP460, MP510 and MP600 + Fixed a buffer-overflow bug in sane_read() + +2007-04-5 Jochen Eisinger + + * README.openbsd, tools/README, tools/openbsd/attach, + tools/openbsd/detach: add notes about device permissions on + OpenBSD and provide some example scripts for hotplugd(8). + +2007-03-02 m. allan noah + + * doc/sane.tex: update to 1.05, fix description of SANE_Parameters, + from + +2007-03-21 Julien Blache + * tools/Makefile.in: Remove leftovers from a previous experiment. + +2007-03-18 Julien Blache + * tools/hal: New directory. + * tools/Makefile.in: Add rules to build hal/10-libsane.fdi. + * tools/sane-desc.c: Add output mode 'hal', from David Zeuthen . + +2007-03-17 Oliver Rauch + * Bug #303752: Maybe faulty icc-profile-file length detection: + corrected icc profile length calculation + +2007-03-08 Earle F. Philhower, III + + * backend/sm3840*.[ch]: Add 1-bpp modes (lineart, halftone) + * doc/sane-sm3840.man: Add 1-bpp mode options + +2007-03-05 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: Update. + * backend/plustek.c: Bumped build number. + * backend/plustek-usb.c: Fixed typo. + * backend/plustek-usbdevs.c: Added CanoScan to all Canon + device strings, identified one more Plustek device as U24. + * backend/plustek-usbhw.c: Fixed button handling for Plustek/ + KYE devices and added some more debug messages. + +2007-02-24 Giuseppe Sacco + + * Italian translation update + * Second Italian translation update + +2007-02-11 Jochen Eisinger + + * doc/sane-mustek_pp.man: clean up markup, bug #304392 + +2007-02-11 Henning Meier-Geinitz + + * po/sane-backends.pl.po: Polish translation fix (from Jakub + Bogusz , bug #304410). + +2007-02-07 Gerhard Jaeger + + * sanei/sanei_scsi.c: Fixed retrieval of HZ. + +2007-01-28 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx_devices.c + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Added + .conf entry for Pluste OpticPro S12 and S24. Updated .desc + file. + * doc/descriptions/unsupported.desc: Added UMAX Astra 2850. Added + Canon Imagerunner series. + +2007-01-28 m. allan noah + + * backend/fujitsu.[ch]: update to v1.0.45, + update overscan code to extend max scan area + * doc/descriptions/fujitsu.desc: version number update + +2007-01-27 oliver rauch + + * backend/umax.c + removed bug in highlight blue using green value + * doc/umax/umax.CHANGES + +2007-01-26 m. allan noah + + * AUTHORS, doc/sane-fujitsu.man, backend/fujitsu.conf.in, + backend/fujitsu.c: updated email address + * backend/fujitsu-scsi.h, backend/fujitsu.[ch]: update to v1.0.44, + set SANE_CAP_HARD_SELECT on all buttons/sensors. + disable sending gamma LUT, quality errors reported. + support MS overscan. + clamp the scan area to the pagesize on ADF. + * doc/descriptions/fujitsu.desc: version number update + +2006-01-21 Jochen Eisinger + + * doc/descriptions/mustek_pp.desc: Cybercom is a CIS scanner + +2007-01-20 Mattias Ellert + + * backend/canon.c, backend/canon-sane.c: + Fixed the "three-valued boolean" bug + +2007-01-20 Alessandro Zummo + + * sanei/sanei_tcp.c: added a missing include + * backend/epson2.c: fixed a bug while moving scanner data, + removed support for line mode (block or ext modes will be used). + +2007-01-20 Mattias Ellert + + * acinclude.m4, aclocal.m4, configure, include/sane/config.h.in: + Fix autogenerated files + * backend/canon.c, backend/epson.c, backend/epson2.c: + String harmonization + * po/Makefile.in, po/sane-backends.*.po: + New translation keys from canon and epson2 backends + Updated Swedish translation + * backend/dll.c, backend/microtek.c, backend/umax1220.c, + sanei/sanei_wire.c: Fixing compiler warnings + +2007-01-19 Mattias Ellert + + * doc/descriptions/unsupported.desc: Added Visioneer Strobe Pro USB + +2007-01-15 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added and updated several + scanners. + +2007-01-08 Julien Blache + * doc: fix man warnings. + * backend/microtek2.c: add missing return status check in + sane_start(), preventing an ugly segfault later on. + +2006-12-18 Alessandro Zummo + + * epson2: restructured code once more, splitted + in multiple files, added networking + support, added FS G extended handshaking mode, + make proper use of extended commands when possible + * sanei/sanei_tcp.c: read now wait until all + the requested data is available. + +2006-12-13 Alessandro Zummo + + * coolscan2: fixed coolscan2 infrared to work + as advertised in the man page. RGBA format + will come soon. + +2006-12-12 Alessandro Zummo + + * epson2: removed calls to alloca(), code reorganization + fixed a bug with request_extended_status (reply + length is 33 on older scanners). + * include/.cvsignore: added two more entries + +2006-12-10 Pierre Willenbrock + + * backend/genesys_devices.c: reduced height of calibration area + * backend/genesys_gl841.c: fixed bug in offset calibration(offset + values were not clamped to 0..255) + +2006-12-10 Ulrich Deiters + + * canon: disentangled some pointer arithmetics in canon-sane.c + +2006-12-07 Alessandro Zummo + + * epson2: reordered includes, replaced __FUNCTION__, + use the new byteorder macros + * moved acbyteorder.m4 to m4/byteorder.m4, + added m4/stdint.m4 + +2006-12-06 Alessandro Zummo + + * Added acbyteorder.m4 macro for endianness conversion + +2006-12-02 Pierre Willenbrock + + * backend/genesys_devices.c: fixed gamma settings(1.0 now) + * backend/genesys.c backend/genesys_gl841.c: improved calibration + for dark shades + +2006-12-02 Alessandro Zummo + + * Added missing bits for epson2 driver. + +2006-12-01 Alessandro Zummo + + * Added (experimental) epson2 driver. + +2006-12-01 Alessandro Zummo + + * Added sanei_tcp interface. + +2006-11-27 Henning Meier-Geinitz + + * doc/descriptions-external/samsung.desc: SCX-4200 is reported to work. + +2006-11-22 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: update. + * backend/plustek.c: bumped build number, fixed option + descriptors, see bug #303786. + +2006-11-22 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added several scanners, fixed + the USB id for Microtek 4850 (bug #304151). + * doc/descriptions/umax1220u.desc: Updated status of UMAX 2000. + * doc/descriptions-external/brother2.desc: Updated status of + Brother MFC-7420. + +2006-11-06 m. allan noah + + * doc/descriptions-external/epkowa.desc: backend v2.3.0 + +2006-10-31 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc: Added HP Photosmart C5100 and + ScanJet 8390. + * doc/descriptions-external/hpoj.desc: Project is unmaintained. + +2006-10-24 Henning Meier-Geinitz + + * po/sane-backends.pl.po: Major bugfix and few small changes + (noticed by Jaroslaw Gorny) (bug #303962). + * po/sane-backends.es.po: Updated (from Jonathan Bravo Lopez + ). + * doc/descriptions-external/hp3900.desc + doc/descriptions-external/samsung.desc: Updated based on + sane-devel information. + * doc/descriptions/unsupported.desc: Added Canon Canoscan 4400F, + LiDE 70, Corex Cardscan 700 C, Umax Astra 4900, Visioneer + Onetouch 7700. Updated other scanners. + +2006-10-03 Henning Meier-Geinitz + + * doc/descriptions-external/hp3900.desc: Changed status of HP + Scanjet 4370 to "minimal" (bug #303839). + * doc/scanimage.man frontend/scanimage.c: Added examples on how to + set the scan area in the manual page (bug #303802). Mention how + to separate parameters from options in --help and manpage (bug + #303819). + * doc/descriptions/unsupported.desc: Added EDT BizCardReader + 900C. Moved Genius ColorPage-SF600 to gt68xx.desc. Minor + updates. + * backend/gt68xx.c backend/gt68xx_devices.c + doc/descriptions/gt68xx.desc doc/gt68xx/gt68xx.CHANGES: Added + Support for Genius Colorpage SF600. + +2006-09-24 Giuseppe Sacco + + * Updated italian translation + +2006-09-18 m. allan noah + + * backend/fujitsu.[ch], backend/fujitsu-scsi.h: update to v1.0.43, + add model-specific code to init_vpd for M3099, clean some noise + * doc/descriptions/fujitsu.desc: version number update + +2006-09-18 Stephane Voltz + + * backend/umax_pp.c backend/umax_pp_mid.c backend/umax_pp.c_low: + color calibration fix. Mail address update. + +2006-09-14 Henning Meier-Geinitz + + * doc/descriptions/unsupported.desc + doc/descriptions-external/samsung.desc + doc/descriptions-external/hpaio.desc: Added several scanners. + * po/sane-backends.pl.po: Updated Polish translation (from Jakub + Bogusz, bug #303769). + +2006-08-31 Oliver Schwartz + + * backend/snapscan-scsi.c: Bugfix for firmware download + from Paul Smedley + +2006-08-31 m. allan noah + + * backend/fujitsu.c: update to v1.0.42, + fix bug in get_hardware_status (#303798) + * doc/descriptions/fujitsu.desc: version number update + +2006-08-29 Gerhard Jaeger + + * doc/plustek/Plustek-PARPORT.changes: update. + * backend/plustek-pp.h backend/plustek-pp_ptdrv.c backend/plustek_pp.c: + fixed "not homing" problem, the sensor did not return when + the driver gets the _IOCTL_STOP command + fixed compilation issue for kernels > 2.6.15 + fixed compiler warning conditions + +2006-08-28 m. allan noah + + * backend/fujitsu.c backend/fujitsu-scsi.h: update to v1.0.41, + do_usb_cmd() returns io error on cmd/out/status/rs EOF, + fix bug in MS buffer/prepick scsi data block + * doc/descriptions/fujitsu.desc: version number update + +2006-08-28 Stephane Voltz + + * backend/genesys_gl646.c: changes in gl646_init_regs_for_warmup + to add support for HP2400 model. + +2006-08-27 Wittawat Yamwong + + * backend/pixma*.[ch]: update to 0.12.2, + use own error codes e.g. PIXMA_EPROTO instead of EPROTO, + add MP530, MP800R and MP360, + add grayscale mode for MP700 and MP730, + add work-around for lock-up ("hang") problem of MP760 and MP780, + fix line correction (color alignment) for MP760 + * doc/sane-pixma.man: update + * doc/descriptions/pixma.desc: add MP360,MP530 and MP800R product ID + * doc/descriptions/unsupported.desc: remove Smartbase MP360 (supported + by pixma backend) + +2006-08-26 m. allan noah + + * backend/fujitsu.[ch] backend/fujitsu-scsi.h: update to v1.0.40, + add 5530C usb id, rewrite brightness/contrast/gamma functions, + do_*_cmd functions handle short reads, updated init functions, + add MS buffer and prepick support for newer scanners + * doc/descriptions/fujitsu.desc backend/fujitsu.conf.in: + add 5530C usb id, version number update + * doc/descriptions/sane-fujitsu.man: + note support for newer scanner models + +2006-08-22 Karl Heinz Kremer + + * backend/epson_usb.c: Add product ID for CX3800/3810, V700/V750 + +2006-06-11 Eddy De Greef + + * doc/sane-mustek_pp.man: URL update. + +2006-08-21 Karl Heinz Kremer + + * backend/epson.c: Fix buffer overflow error (submitted by Johannes Meixner) + +2006-08-21 Jon Chambers + * TIFF tweaks for pickier libtiff under cygwin + * backend/Makefile.in: remove explicit $(srcdir) path from .conf + source paths to allow support for kdevelop-style build dirs. + * backend/dell1600n_net.c: fix compile warnings + +2006-08-12 Jon Chambers + + * backend/dell1600n_net.c: update for dell1600n_net.conf + reduce memory footprint + * backend/dell1600n_net.conf.in: added + * backend/dell1600n_net.c: update for dell1600n_net.conf.in + +2006-08-11 Gerhard Jaeger + + * doc/plustek/Plustek-USB.changes: update. + * backend/plustek.c: bumped build number. + * backend/plustek-usbdevs.c: lowered speed for LiDE20/30 when + using low resolutions. + * backend/plustek-usb.c: fixed warning condition. + +2006-08-09 Stephane Voltz + + * backend/genesys_gl646.c backend/genesys.c backend/genesys_devices.c: + improved sanei_genesys_search_reference_point to get more reliable + detection for HP2300 and MD6345. Slight tune up for HP2400 model. + +2006-08-09 Gerhard Jaeger + + * doc/plustek/Plustek-PARPORT.changes doc/plustek/Plustek-USB.changes + doc/u12/U12.changes: update. + * backend/artec_eplus48u.c backend/plustek.c backend/plustek_pp.c + backend/u12.c: changed sane.type to "flatbed scanner" only. + * backend/plustek-usbdevs.c: fixed LiDE20/30 motor settings + +2006-08-06 Stephane Voltz + + * backend/genesys_gl646.c backend/genesys.c: fix y scan area offset + detection for HP2300, one more fixe related to bug #303681. + +2006-08-01 Henning Meier-Geinitz + + * doc/descriptions-external/epkowa.desc: Updated info about + plugins and other comments (patch from Olaf Meeuwissen + ). + +2006-07-30 Pierre Willenbrock + + * backend/genesys_gl841.c: use an intermediate u_int8_t buffer + for register write (bug #303681). + +2006-07-30 Stephane Voltz + + * backend/genesys_gl646.c: use an intermediate char buffer + for register bulk write (bug #303681). + +2006-07-25 Henning Meier-Geinitz + + * tools/libtool-get-dll-ext: Fixed compilation problem with newer + tail programs which don't understand "-1" (bug #303630). + +2006-07-17 m. allan noah + + * backend/fujitsu.c: backend v1.0.39, rewrite contrast slope + code for readability, portability to other table widths + * doc/descriptions/fujitsu.desc: version number update + +2006-07-16 Julien Blache + * tools/sane-desc.c: split very long comment lines in the + generated udev rules file. Some comment lines very overly long, + and udev produced warning messages while loading the rules file. + +2006-07-15 m. allan noah + + * backend/fujitsu.c: backend v1.0.38, add 'useless noise' + debug level (35), for mode sense errors + * doc/sane-fujitsu.man: minor text changes, add new debug level + * doc/descriptions/fujitsu.desc: version number update + +2006-07-14 m. allan noah + + * backend/fujitsu.[ch] backend/fujitsu-scsi.h: backend v1.0.37, + add support for mode sense command, use it to detect various + page codes instead of hardcoding. add support for send cmd, + use it to enable 8 or 10 bit LUT for brightness/contrast. + minor global variable and option description cleanups. + * doc/descriptions/fujitsu.desc: version number/status update + +2006-07-06 m. allan noah + + * backend/fujitsu.[ch]: backend v1.0.36, less verbose debugging, + fi-5900 needs even number of bytes per scanline + * doc/descriptions/fujitsu.desc: version number update + +2006-07-05 m. allan noah + + * backend/fujitsu.[ch] backend/fujitsu-scsi.h: backend v1.0.35, + allow double feed detection, minor cleanups + * doc/descriptions/fujitsu.desc: version number update + +2006-07-04 m. allan noah + + * backend/fujitsu.[ch] backend/fujitsu-scsi.h: + update to v1.0.34, add S500 usb id, get more inq and vpd data, + allow background color setting for some scanners + * doc/descriptions/fujitsu.desc: version number update + +2006-07-03 Julien Blache + * tools/sane-desc.c: Fix a typo in the udev header. + +2006-07-03 Henning Meier-Geinitz + + * configure configure.in: Changed version to 1.0.18-cvs. Enabled + compilation warnings. + * Makefile.in: Added ChangeLog-1.0.18 to DISTFILES. + +Older entries can be found in ChangeLog-1.0.18. diff --git a/ChangeLogs/ChangeLog-1.0.2 b/ChangeLogs/ChangeLog-1.0.2 new file mode 100644 index 0000000..fbce098 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.2 @@ -0,0 +1,562 @@ +2000-03-06 Petter Reinholdtsen + + * configure.in configure: New version is 1.0.2. + +2000-03-01 Abel Deuring + * doc/sane-scsi.man: fixed an ambiguity and a typo. + +2000-02-27 Petter Reinholdtsen + + * backend/v4l*.desc: Changed description from v4l to Video For + Linux. + + * backend/lhii.desc: Updated with URL to LHII drivers home page. + + * README.unixware7: Added compile information for SCO UnixWare 7 + from Jens Scheithauer. + +2000-02-26 Karl Heinz Kremer + + * doc/sane-epson.man: Updated documentation for EPSON + backend. + +2000-02-26 Chris Pinkham + + * backend/artec.desc: updated statuses, added link to a webpage for + AS6E parallel models, added manpage info. + +2000-02-26 Abel Deuring + * Sharp man page updated; man page added to doc/Makefile.in + +2000-02-26 Petter Reinholdtsen + + * configure.in: Don't use -ansi and -pedantic unless + --enable-warnings is used. Warnings are now disabled by default + to prepare for the next release. + +2000-02-24 Petter Reinholdtsen + + * tools/sane-desc.el: In backend web page, packends not included + in the distribution have the version number in parentheses. + +2000-02-20 Karl Heinz Kremer + + * sanei/sanei_scsi.c: Make sure the file is valid ANSI C. + + * configure: Regenerated based on current configure.in. + + * include/sane/sanei_backend.h: Typedef u_int{8,16,32}_t. + Defining them gave bogus code in on Irix 6.5. + + * backend/lhii.desc backend/musteka4s2.desc backend/nec.desc + backend/plustek.desc backend/sagitta.desc backend/st400.desc + backend/v4l.desc backend/v4l2.desc: Added info on existing + backends. Placed version number in () to indicate that these + backend are distributed separately. + + * backend/sharp.desc backend/pint.desc backend/canon.desc + backend/s9036.desc: Fixed typo and updated with more information. + + * AUTHORS: Marked active maintainers with '(*)'. + + * sanei/sanei_pio.c: Removed some warnings. + + * configure.in: New flag --enable-warnings to turn on or off more + GCC warnings. Default should be 'on' for development snapshots, + and 'off' for releases. + +2000-02-19 Karl Heinz Kremer + + * backend/epson.*: Updated desc file with new version number and + some more supported scanners. + Removed OPT_PREVIEW_RESOLUTION so that the frontend can handle + the preview resolution. + Changed the OPT_RESOLUTION data from a range to a word list, so + that the frontends can display the correct list of available + resolutions. + +2000-02-19 Chris Pinkham + + * backend/artec.c: Updated backend version to v0.5.13. Corrected + matrix of which features/enhancements should be active for each + scan mode. Fixed bug which causing Contrast to be INactive at + startup instead of Threshold. + * backend/artec.desc: updated backend version information. + +2000-02-19 Petter Reinholdtsen + + * sanei/sanei_thread.c include/sane/sanei_thread.h: These files + declares a _proposed_ internal SANE interface. It was proposed by + Yuri Dario to wrap UNIX functions fork(), kill(), waitpid() and + wait(), which are missing or not working on OS/2. + + * frontend/saned.c: OS/2 send socket on param list. Patch from + Yuri Dario. + + * sanei/os2_srb.h sanei/sanei_scsi.c: Include OS/2 SCSI header file. + + * include/sane/sanei_config.h sanei/sanei_config.c: New function + sanei_config_read(). Use this instead of fgets() when reading + config files to remove line ending chars on all known platforms. + Patch from Yuri Dario. + + * configure.os2: Updated configure param list from Yuri Dario. + +2000-02-19 Oliver Rauch + * updated umax backend to version 1.0 build 18 + for details read backend/umax.CHANGES + +2000-02-19 Oliver Rauch + * corrected spelling error in umax,c (devive -> device) + +2000-02-18 Abel Deuring + * sharp.c / sharp.h: Options for resolution now conform to + the Sane API; fixed and initialisation bug. Updated backend + version number in sharp.desc. + +2000-02-18 Oliver Rauch + * updated umax backend to 1.0 build 17 + (added support for sanei_scsi_open_extended) + for details take a look at backend/umax.CHANGES + +2000-02-15 Petter Reinholdtsen + + * backend/tamarack.desc: Updated info on request from Rogier + Wolff. + +2000-02-14 Petter Reinholdtsen + + * backend/m3096g-scsi.h backend/sp15c-scsi.h: Make lint_catcher + static to avoid link problems with duplicate symbols. + +2000-02-13 Petter Reinholdtsen + + * README.unixware2: Information from Wolfgang Rapp on how to build + SANE on UnixWare 2. + + * ltconfig ltmain.sh: Upgraded to libtool 1.3.4 and added Oliver + Rauch's soname patch. + + * backend/hp-accessor.c backend/hp-device.c backend/hp-handle.c + backend/hp-hpmem.c backend/hp-option.c backend/hp-option.h + backend/hp-scl.c backend/hp-scsi.h backend/hp.c backend/hp.desc + backend/hp.h doc/sane-hp.man: Updated HP backend to v0.86 from + Peter Kirchgessner. Enable scan depths > 8 and add option + enable-image-buffering to config file. + + * AUTHORS: Added author for backend s9036. + * backend/qcam.desc: Updated with more information. + +2000-02-11 Chris Pinkham + + * backend/artec.c backend/artec.h: Updated backend to version 0.5.11. + Removed mono_adjust function which handled bit offset in 1bpp modes, + this is now handled by forcing all scans to be wide enough to fill a + full byte. Reinserted code to set brightness on A6000C model as this + appears to be the only model that accepts that setting. Bug-fixes + for ADF & Transparency option settings. + * backend/artec.desc: updated backend version information. + +2000-02-11 Karl Heinz Kremer + * backend/epson.c - Fixed default scan source when option equipment + is installed. The default is now always "Flatbed". + +2000-02-08 Oliver Rauch + + * Added (again) missing file: doc/sane-logo2.jpg + +2000-02-08 Oliver Rauch + + * Added missing umax doc files: + - doc/sane-umax-old-scanners-doc.html + - doc/sane-umax-not-listed-doc.html + - doc/sane-umax-speed-doc.html + * Updated: + - doc/sane-umax-doc.html + - doc/sane-umax-scanners-doc.html + +2000-02-08 Matto Marjanovic + + * backend/microtek.c backend/microtek.h backend/microtek.conf + backend/microtek.desc doc/sane-microtek.man: Updated microtek + backend to v0.12.0. Changes: + - LUT entry size should match bit depth of scan. + - Free LUT's in sane_close(). + - Fixed really dumb type typos in microtek.h. + - Added all "mystery" model codes (and an auto-warning). + - Added all additional document size codes. + - Made function (description) of "scan speed" more obvious. + - Added entries for Color PageWiz. + - Added entries for Agfa DuoScan. + - A few miscellaneous cleanups to quiet gcc warnings. + +2000-02-07 Petter Reinholdtsen + + * frontend/saned.c sanei/sanei_pio.c sanei/sanei_scsi.c: Some OS/2 + patches from Yuri Dario. + + * frontend/scanimage.c: Avoid sprintf("%s", NULL). Bugreport and + fix from Yuri Dario. + +2000-02-06 Petter Reinholdtsen + + * configure: Regenerated based on current configure.in. + + doc/Makefile.in doc/sane-logo.gif doc/sane-logo.png doc/sane.gif + doc/sane.png: Convert .gif to .png. + + * backend/canon.c backend/snapscan-sources.c: Port to HP/UX. Stop + using GCC specific features. + +2000-02-05 Rene Rebe + * backedn/avision.? only minor updates and the new home-page + url ... + +2000-02-05 Abel Deuring + * fixed wrong buffer size handling for old Linux SG drivers + in sanei_scsi.c + * updated sane-scsi.man: How to change the buffer size, + if the new Linux SG driver is being used. + * fixed a type on sharp.c + +2000-02-03 Karl Heinz Kremer + * backend/epson.[ch] Reworked the gamma correction stuff + +2000-02-02 Karl Heinz Kremer + * backend/epson.[ch] Finally put the USB fix into the CVS + version. Removed version number from epson.h so that this + file does not need to be updated everytime epson.c changes. + +2000-02-01 Karl Heinz Kremer + * backend/epson.[ch] More changes in the attach function to + recognize USB scanners again. + * doc/sane-epson.man More updates to the man page. + +2000-01-29 Oliver Rauch + + * updated umax backend to version 1.0-build-16 + for details take a look at backend/umax.CHANGES + +2000-01-31 Petter Reinholdtsen + + * backend/hp-accessor.c backend/hp-accessor.h backend/hp-device.c + backend/hp-device.h backend/hp-handle.c backend/hp-hpmem.c + backend/hp-option.c backend/hp-option.h backend/hp-scl.c + backend/hp-scl.h backend/hp-scsi.h backend/hp.TODO backend/hp.c + backend/hp.desc doc/sane-hp.man: Updated to v0.85 from Peter + Kirchgessner. + +2000-01-30 Chris Pinkham + + * backend/artec.c backend/artec.h: (v0.5.9) changes to get lineart + and halftone modes working on AT12 and AM12S models. bugfixes to + eliminate hanging on some AT12 models. + * backend/artec.desc: version and model status updates + +2000-01-30 Oliver Rauch + * corrected missing "/" in include/sane/config.h.in line 251 + +2000-01-30 Rene Rebe + + * backend/avision.c fixed to compile on HP/UX + * backend/avision.desc fixed typo + * AUTHORS changed my eMail address + +2000-01-30 Petter Reinholdtsen + + * backend/dll.c backend/dll.aliases doc/sane-dll.man: Aliased and + hidden backend patch from Ingo Wilken. + + * config.sub configure.in include/sane/config.h.in sanei/sanei_scsi.c: + UnixWare 2.x and UnixWare 7 port by Wolfgang Rapp. + +2000-01-29 Karl Heinz Kremer + + * backend/epson.[ch] Moved gamma "stuff" from advanced to standard + options section to fix core dump in xscanimage + Removed pragma pack() to make it easier to compile on non-gcc + systems + +2000-01-29 Oliver Rauch + + * preview (xscanimage): added GDK_INPUT_EXCEPTION to gdk_input_add + * updated umax-backend to build 15 (for more see umax.CHANGES + * xscanimage: added GDK_INPUT_EXCEPTION to gdk_input_add + +2000-01-26 Karl Heinz Kremer + + * backend/epson.[ch] Bugfix for resolution selection via menu + Fixed coredump when no scanner found + merged Christian Bucher's newest version + + * AUTHORS ChangeLog + +2000-01-26 Petter Reinholdtsen + + * backend/m3096g-scsi.h backend/m3096g.c backend/m3096g.desc + backend/m3096g.h backend/sp15c-scsi.h backend/sp15c.c + backend/sp15c.desc backend/sp15c.h: Updated backends sp15c + (v1.12) and m3096g (v1.11) from Randolph Bentson. + +2000-01-25 Chris Pinkham + + * backend/artec.h backend/artec.c backend/artec.desc + installed new version (0.5.6) of artec backend with support + for Artec AM12S and Plustek 19200S models and numerous bugfixes. + * doc/sane-artec.man + updated manpage to reflect new list of supported models and + backend status. + + +2000-01-25 Abel Deuring + + * frontend/scanimage.c: minor modifications to the new batch mode + If an error occurs in batch mode, the corresponding output file + is now deleted. (Should make post-processing easier, because + otherwise we would have an empty output file every time the + ADF is empty or paper is jammed.) + +2000-01-25 Kazuya Fukuda and + Abel Deuring + * backend/sharp.c: Fix of possible segfault in sane_init + * backend/sharp.conf: contains now a complete sample configuration + +2000-01-25 Petter Reinholdtsen + + * frontend/scanimage.c: Return SANE_STATUS_NO_MEM if advance() + failes. Add return value to test_it(). + + * include/sane/sanei_debug.h: Add fflush() after fprintf() in + DBG macro. + + * AUTHORS backend/Makefile.in backend/m3096g.h backend/m3096g.c + backend/m3096g-scsi.h backend/m3096g.desc backend/m3096g.conf + backend/sp15c.h backend/sp15c.c backend/sp15c-scsi.h + backend/sp15c.conf backend/sp15c.desc backend/dll.conf + doc/Makefile.in doc/sane-fujitsu.man: Added backends sp15c (v1.11) + and m3096g (v1.10). + + All patches from Randolph Bentson. + +2000-01-24 Abel Deuring + + * backend/sharp.c, backend/sharp.h: update to version 0.30 + (sorry, forgot to make this note some days earlier) + +2000-01-24 Oliver Rauch + + * Added test for libcam to configure.in + it is needed by FreeBSD 3+ + +2000-01-21 Rene Rebe: + + * ChangeLog: updated (oversaw last time, sorry) + * backend/avision.c: fixed some compiling warnings + +2000-01-21 Petter Reinholdtsen + + * sanei/sanei_scsi.c: Bugfix: Added return type for dummy + sanei_scsi_open_extended() call. Bugreport for Solaris from + Martin Spott. + +2000-01-20 Petter Reinholdtsen + + * sanei/sanei_ab306.c: Removed compiler warnings. + + * frontend/scanimage.c: Adds a "batch mode" to the software, that + can be used in conjunction with an ADF device, so that one can + e.g. scan a complete document consting of multiple pages with just + one call to scanimage. This modification was created by Christian + Bucher so that his Epson scanner could use the ADF. Patch from + Karl Heinz Kremer. + +2000-01-19 Rene Rebe + + * backend/avision.*: added - the (very) basic avision backend + * backend/Makefile.in: updated for the avision backend + * AUTHORS: updated + +2000-01-18 Karl Heinz Kremer + * fixed typo in epson.desc and fixed the dates for + two of my earlier submissions in ChangeLog file + +2000-01-16 Karl Heinz Kremer + + * backend/epson.desc updated with URL + * backend/epson.c added support for Expression family + of scanners + * doc/sane-epson.man updated + +2000-01-10 Karl Heinz Kremer + + * backend/epson.desc fixed/updated. Now shows a link to + the alternative FilmScan 200 backend. + +2000-01-09 Karl Heinz Kremer + + * backend/epson.* updated. This is a new backend still based + on the origial Sane 1.0.1 version, but with lots of work + done: Support for ADF/TPU, more function levels (up to B9 + and initial work for F5), parallel scanner support and initial + support for USB scanners (don't use this yet, it still needs + a lot of work to be functional and usable). + +2000-01-05 Oliver Rauch + + * backend/umax* updated to backend version 1.0 build 14 + for detailled info take a look at umax.CHANGES + +2000-01-05 Petter Reinholdtsen + + * sanei/sanei_scsi.c include/sane/sanei_scsi.h configure.in + linux_sg3_err.h: Updated Linux SCSI Generic (SG) driver as + follows: + - new handling of sanei_scsi_max_request_size, if an SG + driver >= 2 is installed; + - SCSI command queueing on SG level for SG drivers >= 2.1.35; + - usage of the new interface in SG version 3, if available + - new configure option --enable-scsibuffersize=N + Patch from Abel Deuring . + +2000-01-02 Petter Reinholdtsen + + * configure.in tools/Makefile.in tools/sane-config.in: New script + sane-config to help frontend developers find the sane libraries. + +1999-12-29 Petter Reinholdtsen + + * configure.in: Add gcc options '-W -Wall -Wpointer-arith + -Wcast-qual' to at least get warnings on illegal C code which + would fail to compile on HP/UX native compiler. + +1999-12-20 Petter Reinholdtsen + + * include/sane/config.h.in backend/dc25.desc backend/dc25.c: + Updated DC-25 backend to v1.2 from Peter Fales + . + - Updated dc25.desc + - Retry capability for missing data or bad checksums in the data + from the camera. This has resulted in a dramatic reduction in + download failures. + - Include HAVE_CFMAKERAW in config.h.in and dc25.c. + + * backend/dc210.c: Corrected HAVE_cfmakeraw to HAVE_CFMAKERAW. + + * frontend/xscanimage.c: Change GIMP_EXTENSION to + SANE_GIMP_EXTENSION to avoid name conflict with gimp. Patch from + Stanislav Brabec . + +1999-12-12 Petter Reinholdtsen + + * backend/ricoh.h backend/ricoh.c: Add support for Ricoh IS50 + scanner. Limit IS50 resolution to 400 dpi. Reverse IS50 contrast + direction. Patch from Dick Streefland + . + + * backend/microtek.c backend/microtek.h backend/microtek.conf + backend/microtek.desc doc/sane-microtek.man: Updated Microtek + backend to v0.11.0 from Matthew Marjanovic . + + * backend/microtek2.c backend/microtek2.h: Updated Microtek2 + backend to v0.8 from Bernd Schroeder . + +1999-11-20 Oliver Rauch + + * ltmain.sh: + changed variable soname from "libsane-backendname.*" + to "libsane.*" by sed command. + * ltmain.sh: + changed again the sed command, forgot to remove "0-9" + +1999-11-14 Petter Reinholdtsen + + * backend/artec.c backend/artec.h backend/artec.desc + doc/sane-artec.5 doc/Makefile.in: Updated Artec backend to v0.5 + from Chris Pinkham . + +1999-11-11 Petter Reinholdtsen + + * backend/microtek2.c backend/microtek2.h backend/microtek2.desc: + Updated Microtek2 backend to vpre0.8.161099 from Bernd Schroeder + + + * backend/canon-* NEWS doc/canon.*: Updated Canon backend to + v991108 from Manuel Panea . + +1999-09-14 Oliver Rauch + + * removed sane-umax-*.gif and umaxlogo.gif, + the files were replaced by jpg format. + +1999-09-13 Oliver Rauch + + * backend/umax* and doc/sane-umax* updated to version 1.0-build-12 + for detailled info take a look at umax.CHANGES + +1999-09-12 Petter Reinholdtsen + + * include/sane/config.h.in: Add missing HAVE_SYS_SOCKET_H. + + * backend/hp-handle.c backend/hp-option.c backend/hp-option.h + backend/hp-scl.c backend/hp-scl.h backend/hp-scsi.h backend/hp.c + backend/hp.desc backend/hp.h doc/sane-hp.man: Updated backend to + v0.83 from Peter Kirchgessner . News: + - Reset scanner before downloading parameters (fixes problem with + sleep mode of scanner) + - Fix problem with coredump if non-scanner HP SCSI devices are + connected (CDR) + - Option scan-from-adf replaced by scantype + normal/adf/xpa. Transparency adapter scans (XPA) allow scanning + with internal light source switched off. + - PhotoScanner: Allow scanning of slides/negatives only at + multiple of 300 dpi. This fixes problem with preview which + scanned at arbitrary resolutions. + - (by Marian Szebenyi): close pipe (coredump on Digital UNIX) + + * backend/Makefile.in: Correct install target to also work on + platforms where dll endings isn't .so (like HP/UX). Extract + endings from libsane-dll.la. + +1999-09-07 Petter Reinholdtsen + + * tools/find-scanner.c: Checks (Linux only so far) for SCSI + Generic support in the OS kernel. If NOT present it tells the user + they may need SG drivers. Patch from Nick Lamb + . + + * sanei/sanei_scsi.c [sanei_scsi_cmd sanei_scsi_open]: Digital + UNIX 4.0D patches from Marian Szebenyi . + +1999-08-16 Petter Reinholdtsen + + * configure.in: Turn on more gcc warnings. + + * acinclude.m4 configure.in: Separate GTK_LIBS into LIBS and + LDFLAGS to get the X programs to link on HP/UX. + +1999-08-12 Petter Reinholdtsen + + * aclocal.m4 configure.in configure: Generate configure and + aclocal.m4 with autoconf 2.13. Adding AC_PROG_LD, trying to get + this compiling on CygWin32. Add AM_PROG_CC_STDC to get it to + compile out of the box on HP/UX. + + * lib/dll.c: Use calloc() instead of malloc() and memset(). Use + dlerror() instead of strerror() when dlopen fails + (bugfix from Ingo Wilkens). + +1999-08-11 Petter Reinholdtsen + + * config.guess config.sub: Updated to latest versions from FSF. + Better support for BeOS, WinNT and others. + +1999-08-09 Petter Reinholdtsen + + * Started CVS branch DEVEL_1_9. + + * install-sh ltconfig ltmain.sh mkinstalldirs: Updated from + automake 1.4 and libtool 1.3.3. diff --git a/ChangeLogs/ChangeLog-1.0.20 b/ChangeLogs/ChangeLog-1.0.20 new file mode 100644 index 0000000..9089bc2 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.20 @@ -0,0 +1,2087 @@ +2009-05-03 Chris Bagwell + * Makefile.in, aclocal.m4, configure, */Makefile.in: Regenerated + with newer automake. + * backend/Makefile.am, tools/sane-config.in: Add missing + $GPHOTO2_LDFLAGS so library can be found. + * tools/Makefile.am: Add mising $SCSI_LIBS to sane-find-scanner. + +****** Release of sane-backends 1.0.20. End of code freeze ****** + +2009-05-03 m. allan noah + * config.guess, config.sub: updated to latest versions + * NEWS, configure.in, configure: updated for 1.0.20 + * sane-backends.lsm, doc/releases.txt: minor tweaks + * doc/descriptions/coolscan3.desc, doc/descriptions/rts8891.desc: + add :new marker, correct manpage link + +2009-05-01 m. allan noah + * backend/fujitsu.c: copy_buffer() needs to count lines, or M309[12] + cannot scan in duplex + +2009-04-30 m. allan noah + * backend/fujitsu.c: ignore errors in scanner_control(), + M3091 has not worked since sane 1.0.19, due to this. + +2009-04-30 m. allan noah + * acinclude.m4, backend/gphoto2.c, configure, include/sane/config.h.in: + deal with upcoming gphoto2 interface change (patch by Chris Bagwell) + * po/sane-backends.nl.po: updates from Martin Kho + +2009-04-29 m. allan noah + * po/sane-backends.nl.po: updates from Martin Kho + * po/sane-backends.de.po: updates from Burkhard Luck + * po/Makefile.am, po/Makefile.in, po/sane-backends.en_GB.po: new + translation from Andrew Coles + * po/*.po: rebuilt with new strings + +2009-04-29 Stéphane Voltz + * doc/sane-genesys.man doc/sane-rts8891.man: documentation updates and + cleanups + +2009-04-28 Julien Blache + * sanei/sanei_scsi.c: /proc/scsi is being deprecated in the Linux + kernel; use sysfs for SCSI device enumeration in + sanei_scsi_find_devices() by default, keep + sanei_proc_scsi_find_devices() as a fallback option. + +2009-04-27 Gerhard Jaeger + * backend/plustek-usbdevs.c: + Tweaked highspeed settings for Epson 1260 + +2009-04-27 Stéphane Voltz + * backend/rts8891.c backend/rts8891.h backend/rts8891_devices.c + backend/rts8891_low.c backend/rts8891_low.h backend/rts88xx_lib.c + backend/rts88xx_lib.h: turn off scanner sharing option to off by default + to keep on the safe side, copyright and internal version updates. + +2009-04-27 Stéphane Voltz + * backend/genesys.c backend/genesys_gl646.c backend/genesys_devices.c: + shading calibration fixes for HP2300 + +2009-04-25 Alessandro Zummo + * backend/epson2.c: fixed TPU warmup retry + +2009-04-23 Stéphane Voltz + * backend/genesys.c backend/genesys_gl646.c backend/genesys_devices.c: + y scan position and shading calibration fixes for MD5345/MD6471 + +2009-04-23 m. allan noah + * doc/descriptions/fujitsu.desc: update S1500 status to complete + +2009-04-22 m. allan noah + * include/sane/sane.h: convert new frame and status to #define + +2009-04-21 Nicolas Martin + * doc/sane-pixma.man, doc/descriptions/pixma.desc, + backand/pixma_mp150.c: + Updated documentation for Pixma MP240, reported to work fine by Nik. + +2009-04-21 Alex Belkin + * backend/xerox_mfp.c: update version number. + +2009-04-20 m. allan noah + * backend/fujitsu.c, backend/fujitsu.conf.in, + doc/descriptions/fujitsu.desc: add S1500 usb ids and status + * backend/canon_dr.c: update credits + * doc/sane-fujitsu.man, doc/sane-canon_dr.man: update version numbers, + dates, credits and known issues + * doc/saned.man: remove section about uncontrolled data port range + +2009-04-20 Alessandro Zummo + * backend/coolscan3.c: temporarily disable infrared. + +2009-04-17 Nicolas Martin + * doc/sane-pixma.man, doc/descriptions/pixma.desc: + Updated documentation for Pixma MP540, reported to work fine by Rogge. + +2009-04-17 Pierre Willenbrock + * backend/genesys.c, backend/genesys_gl646.c, + backend/genesys_gl841.c, backend/genesys_low.h: Always do shading + calibration in color mode on gl841. + * backend/genesys.c, backend/genesys_gl841.c: Fix bugs introduced above. + +2009-04-16 Stéphane Voltz + * backend/genesys.h backend/genesys.c backend/genesys_gl646.c + backend/genesys_devices.c: y scan position fixes + - added a 'clear calibration cache button' + +2009-04-15 Stéphane Voltz + * backend/genesys.c backend/genesys_gl646.c: calibration cache + activation for gl646 based scanners + +2009-04-15 m. allan noah + * backend/fujitsu.c, doc/descriptions/fujitsu.desc: backend v93 + - return cmd status for reads of sensor options + * backend/canon_dr.c, doc/descriptions/canon_dr.desc: backend v26 + - return cmd status for reads of sensor options + - allow rs to adjust read length for all bad status responses + +2009-04-14 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl646.c: + shading calibration rework for GL646 based scanners + +2009-04-13 m. allan noah + * tools/sane-desc.c: fix double summing of untested column + +2009-04-13 Stéphane Voltz + * backend/rts8891.c: minor version change to test commit scripts + +2009-04-13 Stéphane Voltz + * backend/pnm.c: conditional handling of STATUS_HW_LOCKED + and STATUS_WARMING_UP + +2009-04-12 m. allan noah + * doc/doxygen-sanei.conf.in: update to recent version of doxygen + +2009-04-12 m. allan noah + * configure.in: change version to 1.0.20cvs + * configure: rebuild from configure.in + * include/sane/sane.h: hide API changes (minor, frame and status) + * backend/canon_dr.c, backend/fujitsu.c: SANE_FRAME_JPEG + * backend/coolscan3.c: SANE_FRAME_RGBI + * backend/genesys_gl646.c, backend/genesys_gl841.c: STATUS_HW_LOCKED + * backend/rts8891.c, frontend/scanimage.c: STATUS_WARMING_UP + * backend/pixma_io_sanei.c, backend/xerox_mfp.c, + backend/sane_strstatus.c: STATUS_HW_LOCKED & STATUS_WARMING_UP + * doc/releases.txt: minor updates for new build system + +2009-04-07 Nicolas Martin + * doc/sane-pixma.man, doc/descriptions/pixma.desc: + Updated documentation for i-SENSYS MF4018 support. + +2009-04-07 Julien Blache + * doc/descriptions-external/epkowa.desc: update for iScan 2.19.0, + from Olaf Meeuwissen. + +2009-04-05 Nicolas Martin + * backend/pixma_io.h, backend/pixma_io_sanei.c, doc/sane-pixma.man: + Increased timeouts for read bulk and write bulk operations to 10s + Changed minimum timeout for interrupt read to 100ms + For MAC OS X : added a wrapper to sanei_usb_read_int as darwin libusb + does not handle timeouts in interrupt reads. This disables button scan + for MAC OS X, updated man page with this info. + * backend/pixma_mp150.c: + Added 2 new Canon Pixma models but usb pid/vid yet unknown. + +2009-04-05 m. allan noah + * backend/canon_dr.[ch], backend/canon_dr.conf.in: backend v24 + - fix DR-2510C duplex deinterlacing code + - rewrite sane_read helpers to read until EOF + - update sane_start for scanners that dont use object_position + - dont call sanei_usb_clear_halt() if device is not open + - increase default buffer size to 4 megs + - set buffermode on by default + - hide modes and resolutions that DR-2510C lies about + - read_panel() logs front-end access to sensors instead of timing + - rewrite do_usb_cmd() to use remainder from RS info + * doc/desciptions/canon_dr.desc: backend v24, update DR-2510C comment + +2009-03-31 Louis Lagendijk + * backend/pixma_bjnp.c: + - silenced some debug statements during scanner detections + - increased timeouts to 20 seconds as 10 seconds is apparently + - not enough for the combination of a Mac and an MX850. + +2009-03-21 Alex Belkin + * backend/xerox_mfp.conf.in: add Xerox Phaser 6110MFP + * backend/xerox_mfp.c: compatibility with scanners w/o feeder. + +2009-03-28 Julien Blache + * backend/avision.c: fix typos in error messages in + sense_handler(). + +2009-03-27 m. allan noah + * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v23 + - rewrite all image data processing code + - handle more image interlacing formats + - re-enable binary mode on some scanners + - limit some machines to full-width scanning + * doc/desciptions/canon_dr.desc: v23, improved comments + +2009-03-25 m. allan noah + * backend/canon_dr.[ch]: backend v22 + - add deinterlacing code for DR-2510C in duplex and color + +2009-03-25 Pierre Willenbrock + * backend/genesys.c, backend/genesys_gl646.c, + backend/genesys_gl841.c, backend/genesys_low.h: Add calibration cache + +2009-03-24 m. allan noah + * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v21 + - correct rgb padding macro + - skip send_panel and ssm_df commands for DR-20xx scanners + * doc/desciptions/microtek2.desc: add ScanMaker 6400XL + +2009-03-24 Chris Bagwell + * doc/Makefile.am: Don't include any template.desc. into + generated HTML files. + +2009-03-23 m. allan noah + * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v20 + - improved macros for inquiry and set window + - shorten inquiry vpd length to match windows driver + - remove status-length config option + - add padded-read config option + - rewrite do_usb_cmd to pad reads and calloc/copy buffers + * backend/canon_dr.conf.in: s/status-length/padded-read/g + +2009-03-22 m. allan noah + * backend/canon_dr.[ch]: backend v19 + - pad gray deinterlacing area for DR-2510C + - override tl_x and br_x for fixed width scanners + * doc/descriptions/canon_dr.desc: backend v19, update comments + +2009-03-21 m. allan noah + * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v15 thru v18 + - add byte-oriented duplex interlace code + - add RRGGBB color interlace code + - add basic support for DR-2580C, DR-2050C, DR-2080C, DR-2510C + - add more unknown setwindow bits + - add support for 16 byte status packets + - clean do_usb_cmd error handling (call reset more often) + - set status packet size from config file + - rewrite config file parsing to reset options after each scanner + - add config options for vendor, model, version + - dont call inquiry if those 3 options are set + - remove default config file from code + - add initial gray deinterlacing code for DR-2510C + - rename do_usb_reset to do_usb_clear + * doc/descriptions/canon_dr.desc: backend v18, update model status + * backend/canon_dr.conf.in: added better comments and new options + +2009-03-21 Pierre Willenbrock + * backend/genesys_devices.c: Enable Motor again for combined + dark/bright calibration, fix calculation of pixel number used in + calibration + * backend/genesys_devices.c, backend/genesys_gl646.c, + backend/genesys_gl841.c, backend/genesys_low.h: Remove park_head + * backend/genesys_devices.c, backend/genesys_gl841.c: Calculate + shading coefficients using maximum input resolution available + +2009-03-21 m. allan noah + * backend/fujitsu.[ch]: backend v91 + - remove unused temp file code + +2009-03-20 m. allan noah + * backend/hpljm1005.c: use private function instead of round() + +2009-03-19 Pierre Willenbrock + * backend/genesys_devices.c, backend/genesys.conf.in: + Add basic support for Visioneer XP100 rev 3 and USB IDs for + Syscan DocketPort 465 + +2009-03-06 Louis Lagendijk + * backend/pixma_bjnp.c backend/pixma_bjnp.h + backend/pixma_bjnp_private.h backend/pixma_io_sanei.c: + Make bjnp protocol more resilient against packet loss and corruption + Changed timeout for all responses to be at least 10 seconds + Send all broadcasts for scanner detection 5 times + Made sure scanners are added to device list only once + Changed device-id for bjnp so it uses scanner hostname/ip-address + instead of mac address as this is more human friendly. + To make room, use scanner model instead of USB-id (which is bogus + for network scanners + +2009-03-17 m. allan noah + * doc/desc/gt68xx.desc, backend/gt68xx.conf.in: add NeatReceipts + Mobile Scanner (from Kelly Price) + +2009-03-13 m. allan noah + * frontend/scanimage.c, doc/scanimage.man: make -B (buffer-size) + selectable, and make long name consistent. (#309672 by Johannes Berg) + +2009-03-13 m. allan noah + * tools/sane-desc.c: remove 8859-1 chars from string cleaner, + enforce only printable ASCII on output + +2009-03-13 Ilia Sotnikov + * frontend/saned.c: + - Remove unnecessary 'res' variable assignment in check_host() + (AF-indep version) + +2009-03-13 Julien Blache + * doc/descriptions-external/epkowa.desc: update for iScan 2.18.0, + from Olaf Meeuwissen. + * frontend/saned.c: rework Ilia's changes in + check_host(). Explicitly bind IPv6 addresses first, introduce + do_bindings_family() split off of do_bindings(). + +2009-03-12 Ilia Sotnikov + * frontend/saned.c: + - Allow host checking to proceed if no local name was found + +2009-03-12 Ilia Sotnikov + * frontend/saned.c: + - Use hstrerror (h_errno) instead of strerror(errno) on gethostbyname() + errors + +2009-03-12 Nicolas Martin + * doc/sane-pixma.man, doc/descriptions/pixma.desc: + Added ImageClass MF4010 support in pixma backend docs. + * backend/pixma_imageclass.c: + Removed ADF capability to ImageClass models without ADF + * backend/pixma.h, backend/pixma_common.c, backend/pixma_io_sanei.c: + Added a PIXMA_EOF error return code + +2009-03-09 Stéphane Voltz + * backend/genesys.c backend/genesys.h backend/genesys_devices.c + backend/genesys_gl646.c doc/descriptions/lexmark.desc: cleanups + for genesys backend. Change in document detection for gl646 + sheetfed scanners. + - lexmark backend description update + +2009-03-09 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl646.c: + 1200 dpi scan fix and head positionning fixes + + +2009-03-07 m. allan noah + * backend/canon_dr.c, backend/canon_dr.conf.in: backend version 14 + - remove HARD_SELECT from counter (Legitimate, but API violation) + - attach to CR-series scanners as well + +2009-03-06 Louis Lagendijk + * backend/pixma_bjnp_private.h: disabled experimental/incomplete + button handling for bjnp protocol as it seems to cause problems + with xsane preview + +2009-03-06 m. allan noah + * backend/canon_dr.c, backend/canon_dr.conf.in, + doc/descriptions/canon_dr.desc: backend version 13 + - new vendor ID for recent machines + - add usb ids for several new machines + - DR-4010C reported good + +2009-03-05 m. allan noah + * backend/umax1220u.c: set initial scan area dimensions to maximum + +2009-03-05 Chris Bagwell + * configure.in: Allow user to disable latex support; original + patch from Johnson Earls. + +2009-03-05 m. allan noah + * doc/descriptions-external/epkowa.desc: update all broken urls + +2009-03-04 m. allan noah + * doc/descriptions/coolscan3.desc, doc/sane-coolscan3.man, + doc/Makefile.in|am: add missing coolscan3 docs + * backend/dll.conf.in: # out epson and coolscan2, remove hpoj text + * doc/descriptions/epson2.desc: add Epson RX-620 + +2009-03-03 Pierre Willenbrock + * backend/genesys_gl841.c: Fix the generated generic gamma table. + +2009-02-28 Chris Bagwell + * tools/sane-config.in: Add space mistakenly removed during + last update. + +2009-03-03 Julien Blache + * doc/descriptions/epson.desc: add Epson RX-620 (0x04b8 0x0811), + reported by Heikki Kantola. + +2009-02-28 Chris Bagwell + * acinclude.m4, tools/sane-config.in: Add in missing libraries + to sane-config missed during fix to stop using LIBS to link everything. + Add back in code to move LDFLAGS out of $GPHOTO2_LIBS and into + GPHOTO2_LDFLAGS. + +2009-03-02 Stéphane Voltz + * backend/genesys_devices.c, backend/genesys_gl646.c: fix 400, 1200 + and 2400 dpi scan modes for MD5345/MD6471 + +2009-03-02 Julien Blache + * frontend/saned.c: work around backends that can't keep their + dirty fingers off stdin/stdout/stderr when run through inetd, + breaking the network dialog and crashing the remote net backend. + +2009-02-28 Chris Bagwell + * m4/byteorder.m4: Delete temporary file in all cases. + * backend/Makefile.am, japi/Makefile.am: Use BUILT_SOURCES + instead of dependency so that files are not compiled + during "dist" target. + +2009-02-28 Pierre Willenbrock + * backend/genesys.conf.in, backend/genesys_devices.c, + backend/genesys_gl841.c, backend/genesys_low.h: Add support for + Ambir/Syscan DocketPORT 665 + * backend/genesys.conf.in, backend/genesys_devices.c, + backend/genesys_low.h: Add support for Visioneer Roadwarrior + * backend/genesys_gl841.c: Adjust gl841 part to recent changes + +2009-02-27 Stéphane Voltz + * backend/genesys.c backend/genesys.conf.in backend/genesys.h + backend/genesys_devices.c backend/genesys_gl646.c backend/genesys_gl841.c + backend/genesys_low.h: rewrite of gl646 internals to enable easy + scanner addition and better calibration process. Untested support for + hp3670. Use of id in genesys_devices structures to have more robust + descriptions. + +2009-02-25 Chris Bagwell + * acinclude.m4, backend/*.[ch], tools/*.[ch], frontend/*.[ch]: + Global replace of u_int??_t with C9x standard based uintxx_t + in order to remove some tricky and overlapping portability logic + from acinclude.m4 and leave it in only m4/stdint.m4. + +2009-02-24 Chris Bagwell + * configure.in, m4/stdint.m4: Update to latest version to + get latest fixes and use logic to not recreate _stdint.h if + no changes (to prevent unneeded recompiles). + * m4/byteorder.m4: Added support to reuse existing byteorder.h if + no changes to prevent timestamp causing a recompile. + +2009-02-24 m. allan noah + * frontend/scanimage.c: improved comments, simplified x/y option code, + removed buggy -1/+1 x/y code (#311172), expose non-settable options, + check for invalid caps on options, handle option descs with \n + * doc/releases.txt: add note about cvs checkout on alioth. + +2009-02-24 m. allan noah + * backend/*.[ch]: more consistent #include "../include/sane/config.h" + +2009-02-24 m. allan noah + * backend/Makefile.am/in, backend/xerox_mfp.conf.in: should use conf.in + +2009-02-23 Chris Bagwell + * backend/Makefile.am: Add back in deletion of $(sanelibdir)/libsane.* + for buggy libtools. Add some minor documentation. + * doc/backend-writing.txt: Add minor document updates to reflect + conversions to automake. + +2009-02-23 m. allan noah + * backend/fujitsu.c, backend/fujitsu.conf.in, + doc/descriptions/fujitsu.desc, doc/sane-fujitsu.man: backend v90, + add S510M usb ID's, add fi-6010N to .desc + * backend/epjitsu.conf.in, doc/descriptions/epjitsu.desc, + doc/sane-epjitsu.man: add S300M usb ID's + +2009-02-23 Pierre Willenbrock + * backend/genesys_devices.c, backend/genesys_gl841.c, + backend/genesys_low.h: Add post_scan and eject_feed to struct + Genesys_Model + * backend/genesys.c, backend/genesys_gl646.c, + backend/genesys_gl841.c: Move sanei_genesys_{start,stop}_motor into + chip specific sources + backend/genesys_gl841.c: Make start/stop_(motor, now)action + actually work, various warning cleanups + +2009-02-23 Jonathan Bravo Lopez + backend/hp3900_config.c: Fix area of negative/slide scans for + HP ScanJet G3110. + +2009-02-22 Chris Bagwell + * japi/Makefile.am: Add back -version-number to java library but + also add V_REV. + * backend/Makefile.am: Use variables to add libraries to backends + instead of direct substitution. Easier to touch up variables on + problem platforms then substitution. Also, add back in creating + dll.d directory; missed during conversion. + * backend/genesys_gl841.c: Portablity fixes for strict + C compilers. + +2009-02-21 Chris Bagwell + * po/Makefile.am, configure.in: convert remaining directory, + po, to use automake. + * doc/Makefile.am: Get rid of unneeded gnu extensions to quieten + down autotools warnings. + * lib/getopt.c, lib/getopt1.c: Fix disabling getopt compile again. + +2009-02-20 m. allan noah + * backend/avision.c: backend v290, fix reader_pid and NVRAM option + issues, by Mattias Ellert. + * backend/fujitsu.c: backend v89, fi-4750 has no serial number support + * doc/descriptions/fujitsu.desc: backend v89, remove 'MAC/TWAIN' text + * doc/sane-fujitsu.man: backend v89 + * backend/.cvsignore: ignore *.loT + +2009-02-01 Mattias Ellert + * tools/Makefile.am: Add missing liblib dependencies + * frontend/scanimage.c: Restore alloca include order + +2009-02-19 Chris Bagwell + * configure.in, Makefile.am, backend/Makefile.am: Have + configure define configdir so all makefiles can use + it (fixes bug introduce with sanei converted to automake). + Enable running testsuite during distcheck. + * japa/Makefile.am: Convert japi to automake. + +2009-02-19 Julien Blache + * configure.in: add --enable-libusb_1_0 and check for libusb-1.0 + using pkg-config. + * sanei/sanei_usb.c: add support for libusb-1.0. + * tools/sane-find-scanner.c: add support for libusb-1.0. + * tools/check-usb-chip.c: compile as an empty file if libusb-1.0 + is used. + +2009-02-18 Chris Bagwell + * configure.in, tools/Makefile.am: convert tools to automake. + Add tools/openbsd to distribution package. + * include/Makefile.am: include files should have been installed + under sane/ directory when converted to automake. + * doc/Makefile.am: Cleanup. Use automake's built in support to + install docs within subdirectories. + * Makefile.am, testsuite: Convert testsuite to automake. Waiting + for test backend bugfix before enabling this to run during "distcheck". + +2009-02-18 Julien Blache + * configure.in, configure: raise avahi-client dependency to + 0.6.24, following a needed bugfix in this release. + * backend/net.c: do not lock the Avahi thread before stopping + it. It looks like it's no longer necessary to do so. + * frontend/saned.c: fix handling of Avahi server restart so it + actually works. + +2009-02-14 Chris Bagwell + * configure.in, doc/Makefile.am, frontend/Makefile.am, + include/Makefile.am, sanei/Makefile.am, tools/Makefile.am: + convert frontend, include, and sanei directories to use + automake. Only reference libsanei.la now. Use am_conditional + to compile sanei_jpeg.lo. distcheck now runs sanei/wire_test. + +2009-02-13 Chris Bagwell + * Makefile.am, configure.in, doc/Makefile.am: Convert + doc/Makefile to use automake. Main difference is that + no longer installs man pages for backends that are not + compiled. Moved install ownership of $top_srcdir docs + to $top_srcdir's Makefile. + +2009-02-06 Chris Bagwell + * configure.in, backend/Makefile.am: Add back change to + use -version-number even though its known not to work on + some platforms (OS/2). -version-info results in a variety of + version numbers in soname based on platform and would not + be easily mappable back to values currently return by + each backend's sane_init(). ltmain.sh will need to be + hand patched for any known issues. + +2009-02-08 Pierre Willenbrock + * backend/genesys_gl841.c: Remove "init device" usb request. + * backend/genesys_gl841.c, backend/genesys_devices.c, + backend/genesys_low.h: Add support for uncalibrated scans in all + modes for Visioneer Strobe XP300. Front- and backside are + side-by-side, backside mirrored horizontally. + * doc/descriptions/genesys.desc: Added XP300 to the genesys + desc file. + +2009-02-06 Chris Bagwell + * configure.in, backend/Makefile.am: Add back in support for + optionally linking in sanei_jpeg.lo under backend directory; + but using configure and not with GNU make extensions. + Move back to libtool's -version-info instead of -version-number + because the later has known bugs on platforms such as OS/2. + +2009-02-04 Chris Bagwell + * configure.in, acinclude.ac: Cleanup autoconf 2.63 warnings. + add cv_ prefix to cached variable. Remove AC_ARG_PROGRAM as + automake already invokes this. When prefered AC_USE_SYSTEM_EXTENSIONS + exists, use that instead of AC_GNU_SOURCE/AC_AIX/AC_MINUX. + Cleanup socket detection more by creating only a single + SOCKET_LIBS that contains list of all optional libraries + for any socket related funciton. Make sure that checks + for socket related functions use SOCKET_LIBS when searching. + Check for getopt_long() and getopt.h. Make OS/2 use + -no-undefined (same as windows). + * ltmain.sh, m4/libtool.m4: Upgrade to libtool 1.5.26. + * Makefile.am: Cleanups to match configure updates. + * frontend/scanimage.c, include/Makefile.in, lib/getopt.c + lib/getopt1.c, toosl/sane-desc.c, include/lgetopt.h: + Rename internal getopt.h to lgetopt.h to allow using + external getopt.h when it exists. This allows to go + back to optionally compiling getopt()/getopt_long() and its + prototypes and not have conflicts with external headers/symbols. + +2009-02-04 Nicolas Martin + * doc/sane-pixma.man doc/descriptions/pixma.desc: + Added ImageClass MF4120 support in pixma backend docs. + +2009-02-03 Julien Blache + * tools/sane-desc.c: filter out unsupported/unknown models from + output (udev/hal). + +2009-02-02 Nicolas Martin + * backend/pixma_common.c backend/pixma_common.h /backend/pixma_imageclass.c + backend/pixma_mp150.c backend/pixma_mp730.c backend/pixma_mp750.c: + Change ALIGN macro name to ALIGN_SUP for PPC compatibility. + Some cosmetic changes to source code alignment. + +2009-02-01 Alex Belkin + * backend/xerox_mfp.c backend/xerox_mfp.h: + Proper handling of parameters (to fix xsane crash). + * backend/xerox_mfp.conf doc/descriptions/xerox_mfp.desc: + Added Dell MFP 1815dn. + +2009-02-01 Chris Bagwell + * aclocalm4: fix prototype of internal strcasestr and usleep. + * configure.in: Group all USB logic together and all SCSI + logic together to aid understanding of whats no longer + valid. Allow sharing enable/disable options between all + USB drivers on multiple platforms. Combined CAM_LIBS and + SCSI_LIBS since they are mutually exclusive. + Skip some USB/SCSI checks when previous tests show it will always fail. + * backend/Makefile.am, tools/Makefile.in: Combine CAM_LIBS and + SCSI_LIBS. Add missing SOCKET_LIBS to epson2. Add USB_LIB. + * saned.c: Add limits.h for PATH_MAX. + +2009-02-01 Mattias Ellert + * acinclude.m4, backend/Makefile.am: Restore the removed + DYNAMIC_FLAG configuration. + * acinclude.m4, sanei/sanei_jpeg.c: Don't compile sanei_jpeg + if libjpeg is unavailable. + * backend/canon_dr.c, backend/hs2p-scsi.c, backend/xerox_mfp.c: + format fixes. + * backend/hs2p.c: fix missing return. + * backend/canon630u-common.c: avoid redefinition warning. + +2009-01-31 Chris Bagwell + * backend/Makefil.am: Add missing math library to coolscan2 + and coolscan3. + * acinclude.m4, configure.in: Define JPEG objects based on + existence of JPEG library and not on the dc* backends alone + since more backends then that use JPEG support. + +2009-01-30 Chris Bagwell + * frontend/saned.c: Replace usage of getgrouplist() with + getgrent() and friends. getgrouplist is not posix and not + on several platforms including cygwin. + * acinclude.m4, configure.in: Put all libraries into their + own *_LIB variables instead of $LIB so that we do not have to + link in the world to all executables. Modified SANE_CHECK_U_TYPES + to be a little more portable to platforms that use #define + for u_* types. Create SANE_CHECK_BACKENDS macro so that + PRELOADABLE_BACKENDS can also be valided. Auto-populated + PRELAODABLE_BACKENDS when detect dlopen() won't work. + Various protability cleanups. + * backend/dll.c: Make dll-preload.c a .h since its an include and + not compilable byitself. + * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, + lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, + tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la + for everyone to use and a libfelib.la for only frontend programs. + Make all internal programs be prefixed with sanei_ as not to conflict + with other programs libsane is linked in with that will also most + likely create similar internal utils on problem platforms. + * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile + and link in getopt_long() but prefix it with sanei_. Its + easier to always use internal version then try to figure out what + platforms support getopt_long() and what header files to use. + * backend/Makefile.am: Convert backend makefile to automake. + Initial version that is feature parity with original but uses + specific rules instead of wildcards and only links in libraries/objs + really required. Room for more cleanup of whats linked in once + all makefiles have been converted to automake. + +2009-01-29 Chris Bagwell + * backend/epson2.c backend/pixma_bjnp.c, include/sane/sanei_backend.h, + sanei/sanei_tcp.c, sanie/sanei_udp.c: Improve portablity by + removing usage of MSG_WAITALL since not all platforms support + that (cygwin). Default is to be blocking anyways. Changed + usage of MSG_NOTWAIT to use fcntl() function as needed as well. + * configure.in, lib/Makefile.in, lib/strcasestr.c: Add internal + strcasestr() for platforms missing it (cygwin). + * pixma_common.c: Make source match header prototype for picky + compilers (cygwin). + * backend/umax_pp_mid.c: Allow BACKEND_NAME to be filename + yet debug to be SANE_DEBUG_UMAX_PP to match man page. + +2009-01-28 Julien Blache + * doc/descriptions/epson.desc: added :scsi data for the GT-7000 + and Perfection1200S. Patch from Dieter Jurzitza. + +2009-01-27 Louis Lagendijk + * backend/pixma_bjnp.c: fixed bug that caused scanner discovery to + fail when it encountered a point to point link (check data returned + by getifaddrs() + +2009-01-26 Chris Bagwell + * configure.in: Add AM_MAINTAINER_MODE to disable regenerating + configure files. This was behavior of Makefiles before automake + and works around various timestamp issues. + +2009-01-25 Pierre Willenbrock + * backend/genesys_gl841.c: Change status code for locked head to + SANE_STATUS_HW_LOCKED + +2009-01-21 m. allan noah + * doc/descriptions/canon_dr.desc: correct version, status = new + * doc/descriptions/epjitsu.desc, doc/descriptions/fujitsu.desc: version + * doc/descriptions/umax1220u.desc: correct status of 1600U + * doc/descriptions/xerox_mfp.desc: status = new + +2009-01-23 Julien Blache + * doc/descriptions-external/epkowa.desc: Update for iScan 2.16.0, + from Olaf Meeuwissen. + +2009-01-22 Chris Bagwell + * Makefile.in: Submit Makefile.in from Makefile.am submitted + previously. + * backend/epson.c, backend/epson_scsi.c, backend/epson2_net.c, + backend/epson2_scsi.c, backend/genesys_gl646.c, + backend/genesys_gl841.c, backend/lexmark_low.c, backend/rts88xx_lib.c, + backend/umax_pp.c, backend/umax_pp_low.c, backend/umax_pp_mid.c, + doc/Makefile.in, doc/sane-epson.man, doc/sane-epson2.man: + Updated backends with EXTRA_* files to allow Makefile's + to always pass in BACKEND_NAME to be fixed to backend name + instead of filename; while still making sure that + SANE_DEBUG_${BACKEND}* exist as documented in man pages. + Add references to epson and epson2 man pages about + SANE_DEBUG_EPSONx_SCSI and _NET options. + Created an epson2 man page; based mostly on epson page. + * backend/stubs.c: Currently, compiling stubs.c requires its + own compile rule simply to pass in -DSTUBS. Since its always + required, just define it in stubs.c + +2009-01-22 Stéphane Voltz + * doc/Makefile.in doc/descriptions/genesys.desc : added the rts8891 + man page to the generation and install . added XP200 to the genesys + desc file. + +2009-01-21 Chris Bagwell + * Makefile.am, lib/Makefile.in: Run all libcheck tests before + failure and look for both static and shared libraries. + Fixed $srcdir typo in lib/Makefile.in. + +2009-01-21 m. allan noah + * backend/canon_dr.[ch], backend/epjitsu.[ch], backend/fujitsu.[ch]: + - dont export private symbols + +2009-01-19 m. allan noah + * doc/descriptions-external/brother2.desc: add MFC-7840W + +2009-01-19 Nicolas Martin + * pixma_imageclass.c: + Fixed select_source message length, and typo bug in last update. + Set MP4600 series for inverted checksumming. + +2009-01-19 Stéphane Voltz + * backend/genesys.c backend/genesys.conf.in backend/genesys.h + backend/genesys_devices.c backend/genesys_gl646.c + backend/genesys_gl841.c backend/genesys_low.h: add support for + uncalibrated scans in all modes for Visioneer Strobe XP200. Add + support for buttons for MD5345/HP2300 and XP200 + +2009-01-18 m. allan noah + * doc/descriptions/unsupported.desc: everything reported from + 2008-07 to 2009-01 + +2009-01-18 Pierre Willenbrock + * backend/genesys_low.h: Fix prototype of update_hardware_sensors. + Make half-ccd mode optional. + * backend/genesys_gl841.c: Make dpihw depend on sensor pixel count + instead of sensor resolution. Make some Canon LiDE 35 specific + gpio handling conditional, add missing SCANMOD shift. Make + half-ccd mode optional. Reenable clock register setup from sensor + struct, set SCANMOD. + * backend/genesys_devices.c: Make half-ccd mode optional. + Reenable clock register setup from sensor struct, set SCANMOD. + +2009-01-17 Nicolas Martin + * pixma_mp150.c: + Fixed "Busy mode" exit processing. + +2009-01-17 Julien Blache + * doc/descriptions/hp.desc: add SCSI identifiers for the ScanJet + IIc, from Daniel Golle (sane-devel, 20061105). + * frontend/scanimage.c: make batch mode create output files + atomically. Patch by Simon Matter . + +2009-01-16 Chris Bagwell + * .cvsignore, Makefile.in, aclocal.m4, config.sub, configure, + configure.in, backend/cvsignore, include/Makefile.in, + include/sane/config.h.in, INSTALL, Makefile.am, missing: + Convert top-level Makefile to be generated by automake. + "dist" target now includes m4 directory. Updated "libcheck" + target to look at dynamic libraries instead of static. + +2009-01-16 Chris Bagwell + * doc/Makefile.in, frontend/Makefile.in, include/Makefile.in, + japi/Makefile.in, lib/Makefile.in, po/Makefile.in, + sanei/Makefile.in, testsuite/Makefile.in, tools/Makefile.in, + backend/Makefile.in: + Updates to Makefiles to prepare for transition to automake. + Fix a few bugs with "all" and "uninstall" targets to work when + $(builddir) != $(srcdir). Added $(DESTDIR) to uninstall target. + Made $(distdir) related to current directory to match automake. + +2009-01-16 Pierre Willenbrock + * backend/genesys.c, backend/genesys.h, backend/genesys_devices.c, + backend/genesys_gl646.c, backend/genesys_gl841.c, + backend/genesys_low.h: Add support for buttons on + Canon LiDE 35/40/50. + +2009-01-15 Nicolas Martin + * doc/sane-pixma.man, doc/descriptions/pixma.desc, + pixma_mp150.c, AUTHORS: + Updated docs and comments in pixma backend. + Added Dennis Lou to pixma backend authors + +2009-01-13 Louis Lagendijk + * AUTHORS: added myself as co-responsible for pixma backend + +2009-01-15 Alessandro Zummo + * backend/epson2.c: do not use request_identity2 with + networked scanners, fixed generation of resolution + list. + +2009-01-13 Louis Lagendijk + * backend/pixma_bjnp.c: send broadcasts from bjnp port to make + firewalling easier + +2009-01-13 Julien Blache + * tools/sane-desc.c: replace opencoded device permissions and + ownership by proper definitions. Group USB devices by vendor in + the HAL FDI output. Replace obsolete SYSFS{} key by the newer + ATTR{} key in the udev output. Add a new :scsi keyword for SCSI + devices, add support for SCSI devices in the udev and HAL FDI + outputs. + * doc/descriptions/hp.desc, doc/descriptions/epson.desc: add :scsi + keyword to a handful of SCSI scanners known to advertise + themselves as type "Processor". + + All of the above based on a patch contributed by Dieter Jurzitza. + +2009-01-10 m. allan noah + * sanei/sanei_usb.c: rescan usb every time sanei_usb_init() is called + - remove missing devices, add new devices to global lists + - based on code from stef.dev@free.fr + +2009-01-10 m. allan noah + * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v11 + - send_panel() can disable too + - add cancel() to send d8 command + - call cancel() only after final read from scanner + - stop button reqests cancel + +2009-01-10 Jeremy Johnson + * backend/hs2p.c: replaced ulong with u_long, + added static keyword for SANE_Status update_hs2p_data() + +2009-01-06 Jonathan Bravo Lopez + * backend/hp3900_sane.c, backend/hp3900_config.c, + backend/hp3900_types.c, backend/hp3900.conf.in, doc/sane-hp3900.man, + doc/descriptions/hp3900.desc: + Added support for HP Scanjet G3110 scanner. + +2009-01-05 Jeremy Johnson + Added code to read_data() to pad image data to + requested length and to zero out any garbage using + information from sense data command. Added new + MAINTENANCE_DATA struct and options to display + scanner's maintenance/callibration statistics. + *backend/hs2p.h + - added enum CONNECTION_TYPES + - added HS2P_DATA struct + - added SENSE_DATA struct to struct HS2P_Device + - added SANE_String_Const orientation_list[] + - added macros isset_ILI() and isset_EOM() + *backend/hs2p-scsi.h + - replaced request_sense struct with SENSE_DATA struct + - added #define DATA_TYPE_EOL (va_list sentinel) + - added MAINTENANCE_DATA struct + *backend/hs2p-saneopts.h + - added OPT_ORIENTATION + - added MAINTENANCE_DATA options + *backend/hs2p.c + - added MAINTENANCE_DATA options + - added unused connType to attach() + - added update_hs2p_data() to fill in options + - added hs2p_open() and hs2p_close() + - added get_hs2p_data() to read scanner data + - added print_maintenance_data() + - modified sane_control_options() to + accomodate new maintenance options and to + handle Portrait/Landscape option + replaced adf_status macro with s->data.adf_status + - modified sane_read() to correctly zero out the + missing bytes on an incomplete read and to pad + to the requested length + *backend/hs2p-scsi.c + - replaced request_sense() with get_sense_data() + - added print_sense_data() + - added SENSE_DATA *sdp to sense_handler() + - modified read_data() to handler other data type codes/qualifiers + - read_adf_status() now is replaced with call to + read_data(fd,*buf,*bufsize,dtc,dtq) + +2009-01-04 Nicolas Martin + * doc/sane-pixma.man, doc/descriptions/pixma.desc: + Updated doc for pixma backend (ImageClass) + +2008-12-31 Stéphane Voltz + * backend/genesys.c: restored warming up broken by a previuos commit + +2008-12-28 Nicolas Martin + * backend/pixma_imageclass.c: + Change to include different checksumming for MF41xx and MF42xx series + +2008-12-26 Alessandro Zummo + * backend/epson2.c: changed version code, + added protection from wrong settings. + +2008-12-21 m. allan noah + * backend/fujitsu.[ch]: backend v87 + - accept null pointer as empty device name + - track frontend reading sensor/button values to reload + - deactivate double feed options if df-action == default + +2008-12-21 Nicolas Martin + * doc/descriptions/pixma.desc, doc/sane-pixma.man, + backend/pixma_mp150.c: + MP800/MP800R: Fixed bug and color planes shift issues, added TPU support + for 48 bits images depth up to 1200 dpi. + MP980: following a user feedback, declared as working. + Doc and man pages updated. + +2008-12-18 m. allan noah + * backend/fujitsu.[ch]: backend v86 + - get_pixelsize() sets back window ID for back side scans + * doc/sane-fujitsu.man, doc/descriptions/fujitsu.desc: backend v86 + +2008-12-17 Julien Blache + * backend/v4l.c: unmap mapped buffer in sane_cancel(). Use libv4l1 + for v4l device access, buys us some support for v4l2 devices for + free thanks to libv4l1, libv4l2 and libv4lconvert. + * configure.in, configure: check for libv4l1 availability. + +2008-12-15 Alex Belkin + * AUTHORS, configure, configure.in, backend/Makefile.in, + backend/xerox_mfp.c, backend/xerox_mfp.h, doc/Makefile.in, + doc/descriptions/xerox_mfp.desc, doc/sane-xerox_mfp.man: + Initial commit ot xerox_mfp backed. + +2008-12-12 Julien Blache + * frontend/saned.c: add a data_portrange config file option to + saned to specify a port range for the data connection. Based on a + patch contributed by Oren Held. + * backend/saned.conf.in: add the data_portrange option to the + config file and rework the comments. + * doc/saned.man: document the data_portrange option. + +2008-12-11 Stéphane Voltz + * backend/rts8891.c doc/sane-rts8891.man doc/descriptions/rts8891.desc: + scan register setting fix, documentation update + +2008-12-10 m. allan noah + * backend/fujitsu.[ch]: backend v85 + - round pixels_per_line down to arbitrary limits for fi-4990 & fi-4860 + - fi-4860 returns random garbage to serial number queries + - initialize *info to 0 in sane_control_option() + * doc/descriptions/fujitsu.desc: backend v85, improve status/comments + * frontend/scanimage.c: initialize *info, fix buffer overwalk + +2008-12-10 m. allan noah + * backend/canon_dr.c: backend v10 + - add all documented request sense codes to sense_handler() + - fix color jpeg (remove unneeded BGR to RGB swapping code) + - add macros for LUT data + * backend/canon_dr.conf.in: add DR-2080C usb ID + * doc/descriptions/canon_dr.desc: backend v10, add DR 3020 + +2008-12-08 m. allan noah + * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v9 + - add rollerdeskew and stapledetect options + - add rollerdeskew and stapledetect bits to ssm_df() + * doc/descriptions/canon_dr.desc: backend v9 + +2008-12-08 m. allan noah + * backend/avision.c: backend v289 + - fix sending SIGTERM when reader_pid == 0 + +2008-12-07 m. allan noah + * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v8 + - rename read/send_counter to read/send_panel + - enable control panel during init + - add options for all buttons + - call TUR twice in wait_scanner(), even if first succeeds + - disable rif + - enable brightness/contrast/threshold options + * doc/descriptions/canon_dr.desc, doc/sane-canon_dr.man: backend v8 + +2008-12-06 Louis Lagendijk + * backend/pixma_bjnp.c pixma_bjnp_private.h: + replaced getlogin/getenv by getpwuid(geteuid) + +2008-12-06 Louis Lagendijk + * backend/pixma_bjnp.c pixma_bjnp_private.h: + On Ubuntu getlogin() returns NULL. So we now first try getlogin() + and if that fails, we try getenv("USER") and if that fails we use + a default user string + +2008-12-03 Stéphane Voltz + * backend/rts8891.c backend/rts8891_low.c: possible fix for + failed scan at 300 and 1200 dpi for HP4400, sensor type 2. + +2008-12-01 Julien Blache + * sanei/sanei_usb.c: fix assignment in if clause, reported on + sane-devel. + +2008-11-30 Nicolas Martin + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + MP620 supported by pixma backend confirmed, doc and man pages updated. + +2008-11-29 m. allan noah + * backend/canon_dr.[ch]: backend v7 + - jpeg support (size rounding and header overwrite) + - call object_position(load) between pages even if buffering is on + - use request sense info bytes on short scsi reads + - byte swap color BGR to RGB + - round image width down, not up + - round image height down to even # of lines + - always transfer even # of lines per block + - scsi and jpeg don't require reading extra lines to reach EOF + - rename buffer option to buffermode to avoid conflict with scanimage + - send ssm_do and ssm_df during sane_start + - improve sense_handler output + * doc/descriptions/canon_dr.desc: backend v7 + +2008-11-29 m. allan noah + * backend/canon_dr.[ch], backend/canon_dr-cmd.c: backend v6 + - fix adf simplex + - rename ssm_duplex to ssm_buffer + - add --buffer option + - reduce inter-page commands when buffering is enabled + - improve sense_handler output + - enable counter option + - drop unused code + * doc/descriptions/canon_dr.desc: backend v6 + +2008-11-26 m. allan noah + * backend/*.[ch]: nearly every backend used V_MAJOR + instead of SANE_CURRENT_MAJOR in sane_init() + * backend/snapscan.c: remove EXPECTED_VERSION check + since new SANE standard is forward compatible + +2008-11-25 m. allan noah + * backend/canon_dr.[ch], backend/canon_dr-cmd.c, + doc/descriptions/canon_dr.desc: backend v5 + - remove EOF ejection code + - add SSM and GSM commands + - add dropout, doublefeed, and jpeg compression options + - disable adf backside + - fix adf duplex + - read two extra lines (ignore errors) at end of image + - only send scan command at beginning of batch + - fix bug in hexdump with 0 length string + - DR-7580 support + +2008-11-25 Nicolas Martin + * backend/pixma.c: + Fixed regression bug at end of scan for all PIXMA, noticeable + in multipage ADF scan. + +2008-11-23 Nicolas Martin + * backend/pixma_mp150.c, sane-backends/po/sane-backends.fr.po, + doc/descriptions/pixma.desc, doc/sane-pixma.man: + Support for MP630 in pixma backend. + Updated docs for MP630, and network interface to various PIXMA models + in pixma.desc. + Fixed some typos in French translations. + +2008-11-20 Stéphane Voltz + * backend/rts8891.c: fixes 'commit scan value' for HP4400. + +2008-11-20 Stéphane Voltz + * backend/rts8891.c: calibration fixes for HP4400 sensor type 3. + +2008-11-18 Alessandro Zummo + * backend/epson2.c: fixed bug when an extended command + was used with D8 level scanners. bug reported + by Kare Sars + +2008-11-17 Gerhard Jaeger + * doc/descriptions-external/epkowa.desc: + iscan 2.14.0 updates on behalf of olaf.meeuwissen@avasys.jp + +2008-11-12 Stéphane Voltz + * backend/rts8891.c: sensor detection fix. Lamp setting + change for HP4400 sensor type 3. + +2008-11-11 m. allan noah + * backend/canon_dr.c: backend v4 + - eject document when sane_read() returns EOF + +2008-11-09 m. allan noah + * backend/canon_dr.[ch], backend/canon_dr-cmd.h, doc/sane-canon_dr.man, + backend/canon_dr.conf.in, doc/descriptions/canon_dr.desc: + - New Canon DR-series backend v3 + - support all modes and resolutions of DR-9080C + - advanced options (MF detection, compression) not yet supported + - other larger models believed similar, smaller ones unknown + * doc/descriptions/unsupported.desc: remove Canon DR-series machines + +2008-11-07 m. allan noah + * backend/fujitsu.c: backend v84 + - round lines down to even number to get even # of total bytes + - round binary bpl and Bpl down to byte boundary + +2008-11-06 m. allan noah + * backend/fujitsu.c: backend v83 + - round binary bpl and Bpl up to byte boundary + - use s->params instead of user data in set_window() + - read_from_scanner() only grabs an even number of lines + +2008-10-31 Louis Lagendijk + * Pixma backend (pixma.c/pixma_common.c/pixma_io_sanei.c/pixma_bjnp.c): + bjnp tcp connection is now de-activated after initialization and + re-activated at start of scanning. If we do not do this, the scanner + closes its side of the connection after 30 secods of inactivity. + Added a maximum to the retry of slect calls when signals are + received + Added blocksize detection for tcp read_bulk call + +2008-11-04 m. allan noah + * sanei/sanei_usb.c, include/sane/sanei_usb.h: + - shorten debug lines to fit in 80 chars + - add sanei_usb_clear_halt() required by upcoming canon_dr backend + +2008-10-31 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h, + backend/fujitsu.conf.in, doc/descriptions/fujitsu.desc: backend v82 + - improved front-side endorser vpd detection + - send scanner_control_ric during sane_read of each side + - add fi-6770A and fi-6670A USB ID's + +2008-10-31 Louis Lagendijk + * backend/pixma_bjnp.c: corrected small typo + +2008-10-31 Louis Lagendijk + * backend/pixma_bjnp.c: + Added retry to select() calls when they get interrupted by a + signal. This solves problems in xsane after a first scan completed. + There is still an issue that scanner closes tcp connection after + 30 seconds of inactivity + backend/pixma_bjnp.c backend/bjnp_private.h + Marked local functions as static and removed them from ..private.h + +2008-10-31 Stéphane Voltz + * backend/rts8891.c backend/rts8891_low.c backend/rts8891_low.h: + added 600 and 1200 dpi scan for HP4400 and HP4470 with 'xpa' + sensor. + +2008-10-25 Nicolas Martin + * backend/pixma_mp150.c, doc/sane-pixma.man doc/descriptions/pixma.desc: + Tweaks for TPU scan at 4800 dpi, and MP810 at 2400 dpi (now works). + Updated docs around that. + +2008-10-25 Louis Lagendijk + * Added configuration file support for pixma backend + Currently used only for configuration of network scanners. + +2008-10-22 Nicolas Martin + * backend/pixma.c, backend/pixma_io_sanei.c, backend/pixma_mp150.c: + TPU scanning in 48 bits mode now works fine on MP970, with Xsane or + scanimage. + Changed also minimum to 300 dpi for TPU scan, so that preview now works + in Xsane. + Added Legal paper dimensions (14") to ADF scan for MX850 and MX7600. + The rest is cosmetic only. + +2008-10-21 Louis Lagendijk + * Added #ifdef around defintions of MIN and MAX in pixma_common.h + - Re-enable includes in pixma_bjnp.c as they are needed on Freebsd + - Replaced getaddrinfo by gethostbyname in pixma_bjnp.c as this is + supported on OS/2 as well + +2008-10-21 m. allan noah + * doc/descriptions/fujitsu.desc: backend v81, fix fi-6240 usb id + +2008-10-20 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v81 + - increase USB timeouts + - enable get_pixelsize() to update scan params after set_window() + - remove even_scan_line hack + +2008-10-19 Nicolas Martin + * configure.in, configure, backend/pixma_bjnp.c, + backend/pixma_bjnp.h, backend/pixma_bjnp_private.h, + pixma.h, doc/descriptions/pixma.desc: + From Louis Lagendijk for bjnp protocol on pixma backend, add a header + check for ifaddrs.h (necessary on different platforms BeOS, OS/2, ...) + Increment pixma backend version number. + +2008-10-15 Stéphane Voltz + * backend/rts8891.c: added 300 dpi scan for HP4400 + +2008-10-15 Stéphane Voltz + * backend/rts8891.c: fixed HP4400 sensor detection, added 150 + dpi scan mode for HP4400 + +2008-10-14 Nicolas Martin + * backend/pixma*.c, backend/pixma*.h (all pixma backend files), + doc/sane-pixma.man, doc/description/pixma.desc, + backend/Makefile.in + Added 3 new files backend/pixma_bjnp.c, backend/pixma_bjnp.h, + backend/pixma_bjnp_private.h: + - Thanks to Louis Lagendijk, added an implementation of Canon's BJNP + network protocol to the pixma backend, for scanning with PIXMA devices + over a LAN network. + - Fix for ADF scan reset session when ADF is loaded with more pages + to scan than the frontend requests. + - Updated pixma backend documentation and file headers. + +2008-10-09 m. allan noah + * doc/descriptions/fujitsu.desc, doc/sane-fujitsu.man: backend v80 + +2008-10-08 m. allan noah + * backend/fujitsu.c: backend v80 + - front-side endorser uses data ID 0x80 + +2008-10-06 Stéphane Voltz + * backend/rts8891.c backend/rts8891.h: fixed configuration option + bug + +2008-10-04 Nicolas Martin + * backend/pixma.c, backend/pixma.h, backend/pixma_common.c, + backend/pixma_io_sanei.c, backend/pixma_mp150.c, + doc/sane-pixma.man, doc/description/pixma.desc: + MP970 scanning improvements, up to 4800 dpi. On the way soon, + network BJNP protocol designed by Louis Lagendijk to be added to CVS. + MX7600 reported to work fine with the backend. + ADF scanning: + - improved for latest PIXMAs like MX850, MX310. + - bug fix in Sane_start, when scanning several pages with ADF. + ADF DUPLEX scanning: + - new code for ADF Duplex, (to be tested) based on a MX850 Snoop. Changes + might fit also MP830 (To be confirmed). + TPU scanning: + - MP970 TPU scanning: Protocol works, get scanned TPU images with 48 bits + to 24 bits conversion, full 48 bit version yet to be debugged. + +2008-10-03 m. allan noah + * backend/epjitsu.[ch]: backend v17: + - increase scan height ~1/2 inch due to head offset + - change page length autodetection condition + +2008-10-03 Stéphane Voltz + * include/sane/sane.h: added a SANE_CURRENT_MINOR define + +2008-10-02 Stéphane Voltz + * backend/rts8891.c backend/rts8891.h backend/rts8891_low.h: + add a 'sensornumber' option to override detected sensor model + +2008-10-02 m. allan noah + * doc/descriptions-external/epkowa.desc: + - iscan 2.12.0 updates from olaf.meeuwissen@avasys.jp + +2008-10-01 m. allan noah + * doc/descriptions/fujitsu.desc, backend/fujitsu.conf.in, + backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v79 + - add usb ids for several models + - print additional hardware capability bits + - detect front-side endorser + - disable endorser-side controls if only one side installed + - add quirks for fi-6x70 + +2008-10-01 m. allan noah + * backend/epjitsu.[ch]: backend v16: + - split fill_frontback_buffers_S300 into 3 functions + - enable threshold-curve option + - add 1-D dynamic binary thresholding code + - remove y-resolution option + - pad 225x200 data to 225x225 + +2008-10-01 Gerhard Jaeger + * doc/descriptions/plustek.desc: Added entry for UT12 devid 0x0013 + * doc/descriptions/unsupported.desc: Removed entry for UT12 devid 0x0013 + * doc/descriptions/gt68xx.desc: Added entry for OpticSlim 2400plus + * backends/gt68xx.conf.in: Added entry for OpticSlim 2400plus + +2008-09-26 Stéphane Voltz + * backend/rts8891_low.c: fix HP4400 head parking + +2008-09-25 m. allan noah + * backend/epjitsu.[ch], backend/epjitsu-cmd.h: backend v 13, 14 and 15: + - add working page-height control + - add working brightness, contrast and threshold controls + - add disabled threshold curve and geometry controls + - move initialization code to sane_get_devices, for hotplugging + - support S300 on USB power + - support S300 225x200 and 600x600 scans + - support for automatic paper length detection (parm.lines = -1) + - expose hardware buttons/sensors as options for S300 + * doc/descriptions/epjitsu.desc: change S300 status to good + +2008-09-25 m. allan noah + * include/sane/saneopts.h: underscore not allowed in option names + * frontend/scanimage.c: fix broken unknown length (-1) binary scans, + fix invalid tiff height with unknown length scans, fix compiler warn + +2008-09-20 Stéphane Voltz + * backend/rts8891.c: fix typo in HP4400 variant detection + +2008-09-20 Stéphane Voltz + * backend/rts8891.c backend/rts8891_low.c backend/rts8891_low.h: more + fix for HP4400 head parking, 75 dpi support for another HP4400 sensor + variant, better variant detector and initial setting + +2008-09-13 Nicolas Martin + * backend/pixma_mp150.c, doc/sane-pixma.man, doc/description/pixma.desc: + Changes in pixma backend for PIXMA MP970 at 4800 dpi (to be continued). + Declare MX7600 but yet untested. + +2008-09-11 Stéphane Voltz + * backend/rts8891.c backend/rts8891_low.c backend/rts8891_low.h: fix + parking for HP4400, tune dark calibration for HP4400 + +2008-09-07 Nicolas Martin + * backend/pixma_mp150.c backend/pixma_imageclass.c backend/pixma_common.h + doc/sane-pixma.man doc/descriptions/pixma.desc: + - Updated doc for MF4140, MF4150 and MP810 + - Remove white lines previously padded to image bottom for CCD sensors + - Modified scan area adjustments to enhance frontend area selection fit + but to be confirmed that it does not bring backward compatibility issues. + +2008-09-03 Stéphane Voltz + * backend/rts8891.c backend/rts8891_low.c backend/rts8891_low.h + backend/rts88xx_lib.c: minor changes for hp4400 support + +2008-09-02 Nicolas Martin + * backend/pixma_mp150.c: + Some tweaks to have PIXMA MP810 supported by the pixma backend. + +2008-08-29 Stéphane Voltz + * backend/genesys.c backend/genesys_gl646.c backend/genesys_devices.c: + - move to configuration framework + - fix GL646 GPO value usage + - HP2400/G2410 tidbits + - don't reset ASIC anymore + +2008-08-27 m. allan noah + * doc/descriptions/fujitsu.desc: mark fi-6230 and fi-6240 complete + +2008-08-26 m. allan noah + * backend/fujitsu.c, doc/descriptions/fujitsu.desc: backend v78 + - recent model names (fi-6xxx) dont end in 'C' + - simplify flatbed area overrides + - call scanner_control to change source during sane_start + +2008-08-26 m. allan noah + * backend/fujitsu.c, backend/fujitsu-scsi.h: backend v77 + - override flatbed maximum area for fi-6230C and fi-6240C + - set PF bit in all mode_select(6) CDB's + - set SANE_CAP_INACTIVE on all disabled options + - fix bug in mode_select page for sleep timer + +2008-08-25 Gerhard Jaeger + * backend/plustek-usb.c backend/plustek-usbdevs.c: + Added preliminary support for Visioneer XP100 + Tweaked entry for LM9831 version of Plustek UT12 + * backend/plustek.c: Bumped build number + * doc/sane-plustek.man doc/plustek/Plustek-USB.changes: Update + * doc/descriptions/plustek.desc: Added entry for Strobe XP100 + * doc/descriptions/unsupported.desc: Removed entry for Strobe XP100 + +2008-08-21 Stéphane Voltz + * backend/rts8891.c: calibration updating and 75 dpi scan for hp400 + +2008-08-23 m. allan noah + * doc/descriptions/fujitsu.desc: set lots of scanners to complete :) + +2008-08-21 Stéphane Voltz + * backend/rts8891.c backend/rts8891_devices.c backend/rts8891_low.c + backend/rts88xx_lib.c: add sensor type field and use it in geometry + detection. + +2008-08-14 Stéphane Voltz + * backend/rts8891.c backend/rts88xx_lib.c: fix for hp4400 init + +2008-08-13 m. allan noah + * backend/fujitsu.[ch]: backend v76 + - add independent maximum area values for flatbed + - override said values for fi-4220C, fi-4220C2 and fi-5220C + * doc/descriptions/fujitsu.desc: bump version, add 2 untested scanners + +2008-08-07 Rene Rebe + * backend/fujitsu.c, backend/fujitsu.conf.in, + doc/descriptions/fujitsu.desc: backend v75 + - added fi-6230 ID, updated fi-6130, fi-6230 status + +2008-08-05 Julien Blache + * frontend/saned.c: initialize runas_{u,g}id to 0 instead of -1; + initialize ngroups to 0. + +2008-08-04 Julien Blache + * frontend/scanimage.c: fetch_options(), actually get option + descriptor 0 before attempting to get the value of option 0. + +2008-08-04 Stéphane Voltz + * backend/umax_pp.c backend/umaxp_pp.h backend/umax_pp.conf.in: + use configuration framework + +2008-08-02 m. allan noah + * backend/fujitsu.c, backend/fujitsu-scsi.h: backend v74 + - replace global scsi blocks with local ones in each function + +2008-07-31 Julien Blache + * frontend/saned.c: set supplemental group list in addition to + setting euid and egid. Reported by Cameron Hutchison. + +2008-07-28 Julien Blache + * frontend/saned.c: call setegid() before seteuid(), aka while + we're still root. Patch from Nick Andrew . + +2008-07-27 m. allan noah + * backend/fujitsu.c, backend/fujitsu.conf.in, + doc/descriptions/fujitsu.desc: backend v73 + - add fi-6130 usb ID + - correct overscan dimension calculation + - provide correct overscan size overrides for fi-5110C and fi-4x20C2 + - fi-5750C can't handle 10 bit LUT via USB + +2008-07-25 m. allan noah + * AUTHORS: Earle has commit perms + * doc/descriptions/unsupported.desc: add Lexmark X7170 + * include/sane/sanei_config.h: remove typedef so doxygen will shutup + +2008-07-25 m. allan noah + * include/sane/saneopts.h: separate x-resolution from resolution + * backend/abaton.c, backend/artec.c, backend/canon-sane.c, + backend/epjitsu.c, backend/fujitsu.c, backend/microtek2.c, + backend/sp15c.c, backend/umax.c: use SANE_NAME_SCAN_RESOLUTION + instead of SANE_NAME_SCAN_X_RESOLUTION, to avoid ui change + +2008-07-20 Julien Blache + * backend/net.c: sane_control_option: when the frontend doesn't + care (info == NULL) and the remote backend asks for a reload, + perform the reload. Hopefully this brings the behaviour back in + line with standard backends. + +2008-07-15 Nicolas Martin + * backend/pixma_mp150.c: + Changed page scan end condition to handle correctly PIXMA ADF. + +2008-07-14 Julien Blache + * doc/*.man: Fix hyphen vs. minus sign issues in the manpages, + breaking copy/paste of command-lines and options in UTF-8 + environments. + +2008-07-13 m. allan noah + * backend/fujitsu.[ch]: backend v72, + - use mode_sense to determine background color support + - remove fi-5900 background color override + +2008-07-13 m. allan noah + * backend/fujitsu.[ch]: backend v71, + - disable overscan option if vpd does not tell overscan size + - fi-5110EOX crops scan area based on absolute maximum, not paper + - fi-5330C and fi-5650C can't handle 10 bit LUT via USB + - fi-5900 has background color, though it reports otherwise + +2008-07-10 Stéphane Voltz + * sanei/sanei_config.c: handle cases where config or callback + function is NULL + * backend/rts8891.c: use new configuration parsing framework + +2008-07-10 Stéphane Voltz + * include/sane/sanei_config.h: doxygen fix for new function + +2008-07-10 Stéphane Voltz + * backend/sanei_constrain_value.c: add support for SANE_Bool + in sanei_check_value + * backend/Makefile.in: add sanei_constrain_value.lo to libsane +2008-07-10 Stéphane Voltz + * backend/sanei_constrain_value.c: add support for SANE_Bool + in sanei_check_value + * backend/Makefile.in: add sanei_constrain_value.lo to libsane + dependencies + * sanei/Makefile.in: add makedepend for .lo files + * include/sane/sanei_config.h sanei/sanei_config.c: add configuration + parsing framework + +2008-07-05 m. allan noah + * backend/fujitsu.[ch]: backend v70, + - fix bug in sane_get_parameters (failed to copy values) + - autodetect jpeg duplex interlacing mode by inspecting scan width + +2008-07-05 Nicolas Martin + * backend/pixma.c: + Fix in sane_control_option () for PIXMA ADF scan. + Change malformed test conditions for ADF/Duplex scan source. + Updated PIXMA MX850 description. + +2008-07-03 m. allan noah + * backend/fujitsu.[ch]: backend v69, support hot-unplugging scanners + +2008-07-02 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v68, + - add halftone type and pattern options + - support M3097G with IPC and CMP options via modified VPD response + * doc/descriptions/fujitsu.desc, doc/sane-fujitsu.man: backend v68, + - manpage cleanup + +2008-07-01 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v67, + - add IPC/DTC/SDTC options + - call check_for_cancel() in sane_cancel, unless reading flag is set + +2008-06-28 Nicolas Martin + * backend/pixma_mp150.c: + Removed "experimental" flag for PIXMA MX850. + +2008-06-26 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v66, + - restructure double feed detection options for finer-grained control + - add endorser side option + - prevent init_interlace() from overriding init_model() + - simplify sane_start() and fix interlaced duplex jpeg support + - simplify sane_read() and add non-interlaced duplex jpeg support + - removed unused code + +2008-06-26 m. allan noah + * backend/test.[ch]: check for options being controlled before loading + +2008-06-25 Nicolas Martin + * backend/pixma_imageclass.c: + Patch from Sam Varshavchik to deal with libusb 64 read issue, + for ImageClass MFPs. + +2008-06-24 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h, + doc/descriptions/fujitsu.desc, doc/sane-fujitsu.man: + backend version 65, add endorser support, add quirks for fi-4990 + +2008-06-24 Julien Blache + * backend/net.c: do not reload options behind the frontend's back + in sane_control_option; rather return SANE_STATUS_INVAL and warn + that the frontend is buggy. Fetch option descriptors in + sane_open() so a GET_VALUE on option 0 can still work without + having to get option descriptor 0 beforehand. + * frontend/saned.c: rework error/exit path in process_request() + to properly terminate the Avahi thread when in debug mode. + +2008-06-22 Julien Blache + * frontend/saned.c: terminate child processes before exiting in + debug mode. + +2008-06-19 Ilia Sotnikov + * backend/hp5590.c: + Fixed segmentation fault on invalid option passed to + sane_get_option_descriptor(), sane_control_option() + (thanks to Albert Cervera i Areny) + +2008-06-19 Ilia Sotnikov + * backend/hp5590.c, backend/hp5590_cmds.c, backend/hp5590_cmds.h + * backend/hp5590_low.c, backend/hp5590_low.h + * doc/descriptions/hp5590.desc, doc/sane-hp5590.man: + Added support for HP ScanJet 4570c (thanks to Markham Thomas) + +2008-06-15 Nicolas Martin + * doc/sane-pixma.man, + * backend/pixma.c, backend/pixma_mp150.c, backend/pixma_sane_options.c + * sane-backends/po/sane-backends.??.po: + Remove "experimental" in pixma buttons options and text. + Fix some French translation typos, and update man page. + +2008-06-10 Stéphane Voltz + * backend/sanei_constrain_value.c: add support for arrays of SANE_Word + in sanei_constrain_value + * backend/umax_pp.c: remove now unneede 'hand made' constrain on + gamma tables + +2008-06-09 Stéphane Voltz + * backend/rts8891.c: fix for model with 'XPA' sensor + +2008-06-06 Julien Blache + * backend/net.c: lock the Avahi thread before stopping it and + tearing down the Avahi objects. + +2008-06-03 Stéphane Voltz + * backend/genesys_gl646.c: fixed wrong offset for start + of scanarea for MD6471 scanner. + +2008-05-30 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h, + doc/descriptions/fujitsu.desc: backend version 64, + use model and serial to build sane.name (idea from Ryan Duryea), + allow both serial_name and device_name to sane_open scanner, + simulate missing VPD data for M3097G, probe scanner for color + interlacing mode instead of hardcoding, other minor cleanups + +2008-05-29 Nicolas Martin + * doc/sane-pixma.man: man update. + * backend/pixma_io_sanei.c: update status types, and take into + account new ones. + +2008-05-15 Mattias Ellert + * backend/hp3900_sane.c: Correct typos. + * po/Makefile.in: add backend/rts8891.c to localization. + * po/sane-backends.sv.po: update Swedish localization. + +2008-05-27 m. allan noah + * frontend/scanimage.c: add %n for newline to -f option + +2008-05-26 Jonathan Bravo Lopez + * po/sane-backends.es.po: added spanish translation about status strings + * po/Makefile.in: added backend/sane_strstatus.c to SRC_FILES section. + +2008-05-26 Rene Rebe + * backend/avision.{c,h}: merged latest upstream SVN changes, bug fixes + and device ID updates, including fixing uninitialized variables due + former defect merge and exposure control for film / dia scanners + +2008-05-26 Stéphane Voltz + * backend/sane_strstatus.c: added new status and internationalization + support + * frontend/scanimage.c, frontend/tstbackend.c: added handling of status + SANE_STATUS_WARMING_UP + * backend/pnm.c: added 2 more virtual devices, one that is hardware + locked, and another that always do warming before scan. + +2008-05-26 Stéphane Voltz + * backend/rts8891.[ch], backend/rts8891_low.[ch], + backend/rts88xx_lib.[ch]: renamed per frontend struct, made use of + new well-known option groups. Added warming-up handling in + sane_start(). + +2008-05-22 Stéphane Voltz + * backend/genesys.c: + changed top of scan area detection for MD6228/MD6471 models + +2008-05-23 Jonathan Bravo Lopez + * backend/hp3900_sane.c: setting appropiate capabilities to some options. + +2008-05-22 Jonathan Bravo Lopez + * backend/hp3900_sane.c: use 1.1.0 well-known option group strings. + * backend/hp3900_config.c, backend/hp3900_debug.c, + backend/hp3900_rts8822.c, backend/hp3900_types.c, + backend/hp3900_usb.c: Fixed reference position detection for + HP3800/HPG2710 scanners. Code clean up. + +2008-05-22 Stéphane Voltz + * backend/rts8891.c: + minor tweak for scanjet 4470cx + +2008-05-21 m. allan noah + * include/sane/saneopts.h: add sane 1.1.0 well-known button options + * backend/fujitsu.c: v1.0.63, use sane 1.1.0 well-known option + names for some buttons, remove 'button-' from others + +2008-05-20 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h: v1.0.62, + check for all supported scsi commands, use well-known option + group strings from saneopts.h, rename pagewidth to page-width + to meet sane 1.1.0 spec, same for height, add unused get_window() + * doc/descriptions/fujitsu.desc: increase version to 1.0.62. + +2008-05-20 m. allan noah + * include/sane/sane.h: add SANE_STATUS_WARMING_UP and + SANE_STATUS_HW_LOCKED, remove SANE_CAP_ALWAYS_SETTABLE, + add SANE_FRAME_XML, improve comments on other new frame types. + * include/sane/saneopts.h: add common option groups, add new + page-width and page-height well-known options + +2008-05-20 m. allan noah + * backend/qcam.c, backend/v4l.c, frontend/tstbackend.c: + remove undocumented and otherwise unused SANE_CAP_ALWAYS_SETTABLE + +2008-05-19 Stéphane Voltz + * backend/rts8891.c: + 150/300 dpi shading calibration fixes for 'XPA' sensor HP4470 models + +2008-05-16 m. allan noah + * backend/fujitsu.c: inspect correct bool to enable prepick mode + +2008-05-15 m. allan noah + * doc/descriptions/cardscan.desc, doc/descriptions/epjitsu.desc, + doc/descriptions/hp3900.desc, doc/descriptions/hp5590.desc, + doc/descriptions/hpljm1005.desc, doc/descriptions/hs2p.desc: + remove 'new' tag from sane 1.0.19 backends + * doc/descriptions/fujitsu.desc, backend/fujitsu.conf.in: + add fi-5530C2 usb ID + * backend/cardscan.c: correct version number + * backend/epjitsu.conf.in: improved firmware directions + * backend/fujitsu.[ch]: update to backend v 1.0.61 + +2008-05-15 Mattias Ellert + * doc/sane-genesys.man, doc/sane-lexmark.man, doc/sane-microtek2.man, + doc/sane-mustek_pp.man, doc/sane-pixma.man, doc/sane-rts8891.man, + doc/sane-umax_pp.man: Man page fixes + * doc/descriptions-external/hp_rts88xx.desc: removed since its + successor rts8891 is now included in the SANE distribution + +2008-05-15 Mattias Ellert + * backend/agfafocus.h, backend/artec_eplus48u.c, + backend/artec_eplus48u.h, backend/avision.h, backend/coolscan.h, + backend/hp-handle.c, backend/hp3500.c, backend/microtek2.h, + backend/mustek.c, backend/mustek.h, backend/pie.c, backend/pixma.c, + backend/plustek-pp.h, backend/plustek.c, backend/plustek.h, + backend/plustek_pp.c, backend/snapscan.c, backend/snapscan.h, + backend/sp15c.h, backend/tamarack.h, backend/test.c, backend/test.h, + backend/u12.c, backend/u12.h, backend/umax.c, backend/umax.h, + include/sane/sanei_thread.h, sanei/sanei_thread.c: + Fix for bug #306751: sanei-thread with pthreads on 64 bit + +2008-05-12 Stéphane Voltz + * backend/rts8891.c + 150/300 dpi mode fixes for 'XPA' sensor HP4470 models + +2008-05-08 Alessandro Zummo + * AUTHORS: added myself :) + +2008-05-07 Julien Blache + * doc/sane-config.man: Fix man warning. + * backend/dll.c: look for dll.conf snippets in + $configdir/dll.d; this is a facility for external backends + to automatically add their backends to the dll backend + configuration without mucking with dll.conf. + * backend/Makefile.in: create $configdir/dll.d. + +2008-05-07 Nicolas Martin + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc: + USB IDs updates in imageClass backend (pixma), by Dennis Lou. + +2008-05-07 Jochen Eisinger + * doc/sane-mustek_pp.man: fix catman warning. Reported by + Raymond Chen. + +2008-05-05 Earle Philhower + * doc/sane-sm3840.man: Add lineart and halftone options to page + * backend/sm3840*: Remove 64-bit compile warnings + +2008-04-05 Stéphane Voltz + * backend/rts8891.c backend/rts8891_low.c + doc/descriptions/rts8891.desc: + 150 dpi mode fix for 'XPA' sensor HP4470 models, description + update + +2008-05-05 Nicolas Martin + * doc/sane-pixma.man, doc/descriptions/pixma.desc: + Description and man updates for PIXMA MX300. + +2008-05-04 Nicolas Martin + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc: + Code cleanup patch to imageClass backend (pixma) by Dennis Lou. + +2008-05-03 Julien Blache + * backend/epson2.c: initialize s->fd to -1 once the struct + Epson_Scanner is allocated and zeroed out in attach(). Otherwise + the backend sends inquiry data to fd 0, which it obviously + shouldn't do; this breaks scanning over saned. + * doc/net.tex: replace occurrences of SANE_STATUS_SUCCESS with + SANE_STATUS_GOOD, as SANE_STATUS_SUCCESS doesn't exist. + +2008-04-28 m. allan noah + * backend/epjitsu.[ch]: backend v1.0.12, fix double free bug + +2008-04-27 m. allan noah + * sanei/sanei_usb.c: allow sanei_usb_init() to run once per second + * backend/fujitsu.c: backend v1.0.60, relocate call to sanei_usb_init(), + free sane_devArray before calloc'ing a new one + +2008-04-22 m. allan noah + * backend/fujitsu.c, backend/fujitsu.conf.in: backend v1.0.59, + add fi-6140 PID, and fi-6x40 color mode + * doc/descriptions/fujitsu.desc: add fi-6140 PID, mark as 'good' + * doc/descriptions/epjitsu.desc: add S300M, mark as 'untested' + +2008-04-22 Nicolas Martin + * backend/pixma_mp150.c: + Updated pixma backend to have MP970 (tested), and probably other + CCD sensor MPs, working for Grayscale scan. + +2008-04-21 Nicolas Martin + * backend/pixma.c, backend/pixma_common.c, backend/pixma_rename.h + doc/sane-pixma.man, doc/descriptions/pixma.desc + (new) backend/pixma_imageclass.c, backend/Makefile.in: + Thanks to Dennis Lou, who adapted the pixma backend to add support + for Canon ImageCLASS series, fully tested for MF4270, and includes + PIDs declarations for other ImageCLASS devices, yet to be tested. + Fixes also a bug for ADF and ADF Duplex scan source selection. + +2008-04-20 m. allan noah + * backend/fujitsu.h: remove #define SANE_FRAME_JPEG + +2008-04-19 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v1.0.58, + rename page code 32 to 'unknown', compile if NDEBUG is set, + proper async sane_cancel support, re-enable JPEG support + various functions rewritten (shorter, more clear) + * doc/descriptions/fujitsu.desc: add new fi-6xxx machines + +2008-04-18 Alessandro Zummo + * backend/epson2.c: fixed attach() error path. + +2008-04-14 Nicolas Martin + * backend/pixma_mp150.c, backend/pixma.h, backend/pixma_mp150.c + doc/sane-pixma.man, doc/descriptions/pixma.desc: + With feedback from MP970 owner, updated pixma backend for MP970 + CCD sensor support (yet in color only), and more generally, + support for other CCD sensor PIXMA: MP800, MP810, MP830, MP960, + but yet untested, which produce shifted color planes + scanned images. Current trim based on sample images provided + in bug reports and other web pages, but might require some + few and simple final tweaks. + Also fixed a bug for MP220 at 1200 dpi, MP220 is now reported + to work fine. + +2008-04-13 Julien Blache + * frontend/saned.c: fix typo. + * backend/net.c: plug an information leak in the net backend. When + sending out a SANE_NET_CONTROL_OPTION RPC for the + SANE_ACTION_GET_VALUE action (and SANE_ACTION_SET_AUTO for the + network protocol versions < 3), the backend was not clearing the + memory area for the value argument before sending it over the + network, resulting in an information leak for the + SANE_ACTION_GET_VALUE case. + +2008-04-12 Mattias Ellert + * backend/rts8891.c, backend/rts88xx_lib.c: fix format warning + * doc/sane-rts8891.man: man page fixes + * AUTHORS: e-mail update + +2008-04-11 Julien Blache + * frontend/saned.c: announce the _sane-port._tcp service via mDNS + (Avahi) when running in standalone or debug mode. A separate + process is responsible for the announcement through Avahi. + * backend/net.c: look for _sane-port._tcp service announcements + via mDNS (Avahi). A separate thread listens to announcements + through Avahi. Start the thread as early as possible in + sane_init() so as to get as much data as possible until + sane_get_devices() is called. + * aclocal.m4, configure, configure.in, include/sane/config.h.in: + add autofoo stuff for Avahi support, disabled by default. + +2008-04-10 Julien Blache + * frontend/saned.c: do not use daemon(), as it's a 4.4BSD/glibc + function; OS/2 for instance does not have it. Use an open-coded + equivalent. Add a PID file. saned -a username now drops privileges +2008-04-22 Nicolas Martin + * backend/pixma.c, backend/pixma_common.c, backend/pixma_rename.h + doc/sane-pixma.man, doc/descriptions/pixma.desc + (new) backend/pixma_imageclass.c, backend/Makefile.in: + Thanks to Dennis Lou, who adapted the pixma backend to add support + for Canon ImageCLASS series, fully tested for MF4270, and includes + PIDs declarations for other ImageCLASS devices, yet to be tested. + Fixes also a bug for ADF and ADF Duplex scan source selection. + +2008-04-20 m. allan noah + * backend/fujitsu.h: remove #define SANE_FRAME_JPEG + +2008-04-19 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v1.0.58, + rename page code 32 to 'unknown', compile if NDEBUG is set, + proper async sane_cancel support, re-enable JPEG support + various functions rewritten (shorter, more clear) + * doc/descriptions/fujitsu.desc: add new fi-6xxx machines + +2008-04-18 Alessandro Zummo + * backend/epson2.c: fixed attach() error path. + +2008-04-14 Nicolas Martin + * backend/pixma_mp150.c, backend/pixma.h, backend/pixma_mp150.c + doc/sane-pixma.man, doc/descriptions/pixma.desc: + With feedback from MP970 owner, updated pixma backend for MP970 + CCD sensor support (yet in color only), and more generally, + support for other CCD sensor PIXMA: MP800, MP810, MP830, MP960, + but yet untested, which produce shifted color planes + scanned images. Current trim based on sample images provided + in bug reports and other web pages, but might require some + few and simple final tweaks. + Also fixed a bug for MP220 at 1200 dpi, MP220 is now reported + to work fine. + +2008-04-13 Julien Blache + * frontend/saned.c: fix typo. + * backend/net.c: plug an information leak in the net backend. When + sending out a SANE_NET_CONTROL_OPTION RPC for the + SANE_ACTION_GET_VALUE action (and SANE_ACTION_SET_AUTO for the + network protocol versions < 3), the backend was not clearing the + memory area for the value argument before sending it over the + network, resulting in an information leak for the + SANE_ACTION_GET_VALUE case. + +2008-04-12 Mattias Ellert + * backend/rts8891.c, backend/rts88xx_lib.c: fix format warning + * doc/sane-rts8891.man: man page fixes + * AUTHORS: e-mail update + +2008-04-11 Julien Blache + * frontend/saned.c: announce the _sane-port._tcp service via mDNS + (Avahi) when running in standalone or debug mode. A separate + process is responsible for the announcement through Avahi. + * backend/net.c: look for _sane-port._tcp service announcements + via mDNS (Avahi). A separate thread listens to announcements + through Avahi. Start the thread as early as possible in + sane_init() so as to get as much data as possible until + sane_get_devices() is called. + * aclocal.m4, configure, configure.in, include/sane/config.h.in: + add autofoo stuff for Avahi support, disabled by default. + +2008-04-10 Julien Blache + * frontend/saned.c: do not use daemon(), as it's a 4.4BSD/glibc + function; OS/2 for instance does not have it. Use an open-coded + equivalent. Add a PID file. saned -a username now drops privileges + and runs as the given user (and group). + * doc/saned.man: document -a username. + +2008-04-06 Nicolas Martin + * backend/pixma_mp150.c: + Modifications for PIXMA MP970, to manage the CCD sensor + with PIXMA generation 3 protocol. To be tested. + +2008-04-06 Julien Blache + * frontend/saned.c: add standalone daemon mode, building upon the + AF-indep/IPv6 debug mode. Reorganize code by splitting the main() + function into a series of functions. Factorize common code between + the old network code and the AF-indep code. There's now only one + version of main(). + * doc/saned.man: document new -a flag, reorganize manpage + sections (separate inetd configuration under the INETD + CONFIGURATION section). + +2008-04-05 Stéphane Voltz + * backend/genesys.c backend/genesys.h backend/genesys_devices.c + backend/genesys_gl646.c backend/genesys_low.h: + Fixed double free problems, made OPT_COLOR_FILTER work for + GL646 scanners, added OPT_CUSTOM_GAMMA and OPT_GAMMA_VECTOR* + options, split sane_control_options to make it more readable, + fixed 'reset stream' problem for MD6471. + +2008-04-05 Stéphane Voltz + * backend/rts8891.c: + split sane_control_option() to make it more readable + +2008-04-02 Nicolas Martin + * backend/pixma_mp150.c, backend/pixma.c, doc/sane-pixma.man, + doc/descriptions/pixma.desc: + Added a 10s tempo before "NO PAPER" fail message appears in ADF scan, + declared PIXMA MX850, moved MP970 to Generation 3 protocol, but yet + untested. + +2008-03-28 Julien Blache + * sanei/sanei_usb.c, include/sane/sanei_usb.h: add + sanei_usb_get_vendor_product_byname(). + * backend/snapscan-mutex.c: do not use ftok() in + snapscani_mutex_open(); ftok() will fail with anything for which + the devicename is not a filename. Construct an IPC key based on + the product ID, bus number and device number for libusb devices, + otherwise fallback to ftok() and check its return value. + * tools/sane-desc.c: HAL 0.5.11-rc2 does not support the info.bus + property anymore; superseded by info.subsystem. Unfortunately, + this is not backward-compatible, so add a new "hal-new" mode to + sane-desc. + +2008-03-28 m. allan noah + * backend/hp-scl.c: add usleep to improve usb performance, from + jim a t meyering d o t net + +2008-03-28 m. allan noah + * sanei/sanei_usb.c: add usb class 6 (imaging) to detected devices + * sanei/sanei_scsi.c: fix bug in sanei_scsi_find_devices() which + caused early return if attach callback returned error. + +2008-03-22 Stéphane Voltz + * AUTHORS configure configure.in backend/dll.conf.in + backend/Makefile.in backend/rts8891.c backend/rts8891.conf.in + backend/rts8891_devices.c backend/rts8891.h backend/rts8891_low.c + backend/rts8891_low.h backend/rts88xx_lib.c backend/rts88xx_lib.h + doc/descriptions/rts8891.desc doc/descriptions/unsupported.desc + doc/sane-rts8891.man: + rts8891 backend inclusion + +2008-03-20 Julien Blache + * include/Makefile.in: remove _stdint.h and byteorder.h in + distclean target, autogenerated cruft. + * frontend/saned.c: fix debug messages around the getservbyname() + call in the IPv4 code as it still referred to the "sane" port + instead of "sane-port". + +2008-03-16 Nicolas Martin + * backend/pixma_mp150.c, backend/pixma.h, doc/sane-pixma.man, + doc/descriptions/pixma.desc: + Changes to have new Canon PIXMA MX700 working with pixma backend + Flatbed and ADF scan are supported. + +2008-03-15 Julien Blache + * include/sane/sanei_usb.h: typo fix. + +2008-03-02 Stéphane Voltz + * doc/descriptions/lexmark.desc: added X1195 + * doc/descriptions/unsupported.desc: removed X11xx, X12xx and + Dell A920 which are to be handled by the lexmark backend + * backend/umax_pp.h backend/umax_pp.c backend/umax_pp_mid.h + backend/umax_pp_mid.c backend/umax_pp_low.h backend/umax_pp_low.c: + copyright notice update + +2008-03-01 Gerard klaver + * doc/descriptions/as6e.desc added Dexxa 4800 + +2008-02-26 Jonathan Bravo Lopez + * backend/hp3900_sane.c: Fixed optional grayscale emulation + * backend/hp3900_debug.c: Silence gcc warnings when tiffio.h + is not used + +2008-02-25 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h: + add mode sense for page code 32 (color interlacing?) + and more debug output in init_ms(), for fi-5900 + +2008-02-24 Nicolas Martin + * backend/pixma_mp150.c, doc/sane-pixma.man, + doc/descriptions/pixma.desc: + Changes to have Canon PIXMA MP140 now working with pixma backend + +2008-02-23 Pierre Willenbrock + * backend/genesys_gl841.c: Make LEDs go really dark when "lamp" is off + +2008-02-22 Nicolas Martin + * backend/pixma_mp150.c, backend/pixma_mp730.c, + doc/sane-pixma.man, doc/descriptions/pixma.desc: + Changed MP140 to experimental cause not working yet + Changed MP710 to non-ADF scanner + +2008-02-22 Pierre Willenbrock + * backend/genesys_gl841.c: Fix debugging output of + gl841_bulk_write_register + +2008-02-21 Pierre Willenbrock + * backend/genesys.c, backend/genesys_gl646.c, + backend/genesys_gl841.c, backend/genesys_low.h: Add LED exposure + control to gl841_set_lamp_power + +2008-02-20 Pierre Willenbrock + * backend/genesys_gl841.c: Send 32 registers at once instead of 1 + +2008-02-20 Mattias Ellert + * backend/Makefile.in, ltmain.sh: Library version definition fixes + * backend/coolscan3.c: Fix format warnings + +2008-02-18 Alessandro Zummo + * backend/coolscan3.c: added new coolscan3 backend + with improved stability and infrared support. + * configure.in, include/sanei.h: bumped version + number to 1.1.0 and enabled 1.1 frame types. + + doc/sane-pixma.man, doc/descriptions/pixma.desc, + doc/descriptions-external/canon_mfp.desc: + > New models changes: + - added: Pixma MP210, MP470, MP520, MP610, MP710 + - declared but untested: Pixma MP140, MP220, MP740 + - declared experimental and untested: MP970 + > Bugs and fixes + - multipage documents scan no more fails in non-ADF scan + - IO Fail bug when scanning large pages e.g. with Xsane + - implement send_time message form MP710, MP730 family + - run indent -gnu on all pixma_* source files. + +2008-02-14 m. allan noah + * backend/cardscan.c, backend/epjitsu.c, backend/fujitsu.c: + sanei_read_config has already cleaned string, fix bug #310597 + +2008-02-13 Pierre Willenbrock + Patch by Stefan Lucke + * backend/genesys_gl841.c: Fixes 3 possibilities for infinite + loops and adjusts loop threshold to given comments + +2008-02-13 Jonathan Bravo Lopez + * backend/hp3900.c, backend/hp3900_debug.c, backend/hp3900_rts8822.c, + backend/hp3900_usb.c, backend/hp3900_sane.c, backend/hp3900_types.c, + backend/hp3900_config.c, backend/hp3900.conf.in, /doc/sane-hp3900.man, + doc/descriptions/hp3900.desc: Minor changes and added support for + HP ScanJet G2710 scanner. + +2008-02-10 m. allan noah + + * configure, configure.in: Changed version to 1.0.19-cvs. Enabled + compilation warnings. + * Makefile.in: Added ChangeLog-1.0.19 to DISTFILES. + +Older entries can be found in ChangeLog-1.0.19. diff --git a/ChangeLogs/ChangeLog-1.0.21 b/ChangeLogs/ChangeLog-1.0.21 new file mode 100644 index 0000000..f8cbc3a --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.21 @@ -0,0 +1,887 @@ +****** Release of sane-backends 1.0.21. End of code freeze ****** + +2010-04-25 Chris Bagwell + * tools/sane-config.in: Fix typo: REGMGR=RESMGR. + +2010-04-21 m. allan noah + * tools/.gitignore: add sane-backends.pc + * po/uk.po: updated translation from Yuri Chornoivan + * po/nl.po: updated translation from Martin Kho + +2010-04-20 Chris Bagwell + * doc/descriptions-external/epkowa.desc: Updated based + on values that will be in next release of iscan. + Updated 4 pre-existing SCSI models with commonly used + model names. This allows wider range of Epson SCSI scanners + to be correctly detected using auto-generated hal and udev + files. This benefits epkowa, epson2, and epson backends. + +2010-04-18 m. allan noah + * tools/sane-desc.c: Update the sane-devel contact suggestion + +2010-04-16 m. allan noah + * backend/kvs1025*, kvs1025.desc, sane-kvs1025.man: backend v3 + - invert usb status, add 0x to usbids, add missing KV-S1045 usbid + +2010-04-12 Nicolas Martin + * backend/pixma_mp150.c, backend/pixma_io_sanei.c, + doc/descriptions/pixma.desc, doc/sane-pixma.man: + pixma: added changes from Gernot Hassenpflug to fully support + Canoscan 8800F. + debug code clean-up in pixma_mp150.c + +2010-04-12 Chris Bagwell + * backend/p5.c, backend/p5_device.c, backend/p5.h: + Remove references to libc.h in p5.h. On OSX, it was including + socket.h and causing compile fail with conflicting connect() + functions. Since backend doesn't support network + connects, should be fine to use name connect. + +2010-04-07 Chris Bagwell + * acinclude.m4: cygwin and mingw is now hiding M_PI_2 + defines with -ansi flag. Remove to fix cygwin compile. + Mingw doesn't support fork() so default to pthreads. + Add u_short to complete definition of u_* types which + helps out ming when we define _BSDTYPES_DEFINED. + +2010-03-25 Stéphane Voltz + * backend/p5.c backend/p5_device.[ch] backend/genesys_gl646.c: + replace u_int8_t and u_int16_t by uint8_t and uint16_t + +2010-04-06 Chris Bagwell + * configure.in, tools/sane-backends.pc.in: Add stub for future + pkg-config support to configure. This allows distributes + that are patching in pkg-config support to not rerun + autoconf and wipe out our custom libtool. + * tools/sane-config.in: Fix LDFLAGS bug related to GPHOTO2 + support. + +2010-04-02 Chris Bagwell + * acinclude.m4: Add --enable-rpath option to configure. + Ported from Fedora patches. + +2010-04-02 Chris Bagwell + * backend/kvs1024*: Remove includes of usb.h + directly into backend. Complete prototype + for sane_exit(). + +2010-04-02 Chris Bagwell + * po/Makefile.am: Remove unneeded distclean-local target. + +2010-03-25 Stéphane Voltz + * backend/kvs1025.c: compile fix + +2010-03-25 m. allan noah + * backend/kvs1025*: convert backend from libusb to sanei_usb + * doc/descriptions/kvs1025.desc, doc/sane-kvs1025.man: update docs + * backend/dll.conf.in, configure, configure.in: enable kvs1025 backend + +2010-03-16 Stéphane Voltz + * backend/rts8891.c: change register 0x11 settings for sensor type 1 + +2010-03-15 Nicolas Martin + * backend/pixma_mp150.c, doc/descriptions/pixma.desc: + pixma: fix color shifts for MP990 up to 2400 dpi + updated and reorderd descs for several models. + +2010-03-15 Stéphane Voltz + * backend/genesys.[ch] backend/genesys_devices.c backend/genesys_low.h + backend/genesys_gl646.[ch] backend/genesys_gl841.c: full transparency + adaptor support for gl646 based scanners + +2010-03-11 Stéphane Voltz + * backend/rts8891.c: further register tweaking for 600 dpi scans + +2010-03-11 Stéphane Voltz + * backend/lexmark.c: minor bugfix when assigning possible dpi list + +2010-03-07 Stéphane Voltz + * backend/rts8891.c: tweak register settings at 600 dpi for HP4470 + +2010-03-05 Stéphane Voltz + * backend/rts8891.c: fix HP4470 sensor detection + +2010-03-04 Stéphane Voltz + * backend/rts8891.c backend/rts8891.h: add debug traces for sensor + type handling + +2010-03-04 Stéphane Voltz + * doc/desc/genesys.desc: fix HP2400/G2410 USB id, update HP3670 + status + +2010-03-01 Stéphane Voltz + * doc/sane-p5.man doc/sane-umax_pp.man doc/sane-rts8891.man + doc/sane-lexmark.man: fix author name accentuation and capitalization + +2010-03-01 Stéphane Voltz + * backend/genesys.c backend/genesys_gl646.c + backend/genesys_devices.h: enable warming up and calibration cache + for HP3670 + +2010-02-28 Stéphane Voltz + * backend/genesys_devices.c backend/genesys_gl646.c + backend/genesys_gl646.h: tune HP2400/G2410 settings + +2010-02-27 Chris Bagwell + * Rerun autoconf/automake to align files to single version + of tools. + +2010-02-27 m. allan noah + * */Makefile.in: update with (unfortunately) slightly older automake + * po/*: standard gettext layout by Adi Roiban + * doc/descriptions/fujitsu.desc, backend/fujitsu.conf.in: + add S1500M entry by Harald Weis + * tools/sane-desc.c: Condense warnings about half-baked .desc files + +2010-02-27 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl646.c + backend/genesys_gl646.h: final work for HP3670 full support + +2010-02-25 Stéphane Voltz + * backend/genesys_gl646.c: fix regression for gl646 CCD scanners due + to incorrect color filter setting. + +2010-02-23 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl646.c + backend/genesys_gl646.h: XP200 calibration rework. Some HP3670 + improvements. + +2010-02-22 m. allan noah + * backend/fujitsu.c: force enable flatbed for M3092, by Jochen Hepp + * doc/Makefile.*, doc/descriptions-external/kodak-twain: new backend + +2010-02-22 Julien Blache + * doc/descriptions-external/epkowa.desc: Updated for iscan 2.24.0. + +2010-02-16 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl646.c + backend/genesys_gl646.h backend/genesys_low.h: buttons and basic XPA + support for HP3670. + +2010-02-15 Stéphane Voltz + * backend/p5.c backend/p5.h backend/p5_device.c backend/p5_device.h + backend/p5.conf.in doc/descriptions/p5.desc doc/sane-p5.man: add new p5 backend for + Primax PagePartner + * backend/dll.conf.in backend/Makefile.* configure* doc/Makefile.* + doc/sane.man: p5 backend integration changes + +2010-02-13 m. allan noah + * backend/avision.[ch]: updated settings for Visioneer 9450, + based on code from Andyz Smith + * doc/descriptions/avision.desc: added AV220-G and 6080E + +2010-02-12 m. allan noah + * backend/kvs1025*: add new backend from Panasonic Russia, Ltd. + * backend/Makefile.*, configure*, doc/Makefile.*, doc/sane.man: + backend integration changes + * doc/desciptions/kvs1025.desc, doc/sane-kvs1025.man: + the parts Panasonic forgot + +2010-02-12 m. allan noah + * backend/fujitsu.c: disable bg_color for S1500 + +2010-02-12 Stéphane Voltz + * backend/genesys_gl646.c: fixed MD5345 calibration + +2010-02-12 Stéphane Voltz + * doc/descriptions/genesys.desc backend/genesys.c + backend/genesys_devices.c backend/genesys_gl646.c + backend/genesys_gl646.h: added support for hp3670, uncalibrated scans + only + +2010-02-10 m. allan noah + * include/sane/saneopts.h: add three new SANE_VALUE macros + * backend/*.[ch]: use mode name macros from saneopts.h by Robert Ancell + +2010-02-10 m. allan noah + * doc/descriptions/hpaio.desc: updated from hplip v3.9.12 + * po/sane-backends.nl.po: updates from Armijn Hemel + +2010-02-10 m. allan noah + * backend/canon_dr.c, backend/cardscan.c, backend/epjitsu.c, + backend/fujitsu.c, backend/kodak.c, po/Makefile.*: + - enable translations of all static strings via SANE_I18N macro + - don't fail if sanei_scsi_open gives smaller buffer than asked for + * doc/descriptions/kodak.desc, doc/sane-canon_dr.man, + doc/sane-fujitsu.man, doc/sane-kodak.man: + - minor version number and text updates + +2010-02-10 m. allan noah + * acinclude.m4, configure: missing $ in variable expansion + * frontend/scanimage.c: exit with error if stdout isatty() + * doc/descriptions/unsupported.desc, doc/descriptions/lexmark.desc: + - add Dell A940 and correct manpage name + * backend/gt68xx_high.c: maximum exposure 245 not 248, see bug #312113 + * po/Makefile.*, po/sane-backends.ja.po: + - New Japanese translation from Hiroshi Miura + +2010-02-10 m. allan noah + * backend/cardscan.[ch], backend/cardscan.conf.in, + doc/descriptions/cardscan.desc, doc/sane-cardscan.man: + - add lines_per_block config option + - add has_cal_buffer config option + - basic support for 600C + - clean #include lines + * doc/sane.man: add missing backends + +2010-02-10 Stéphane Voltz + * doc/descriptions/genesys.desc: added G2410 + +2010-02-10 m. allan noah + * backend/gt68xx_devices.c: add GT68XX_FLAG_NO_STOP to SF600 + * doc/.gitignore, doc/Makefile.am, doc/Makefile.in: + - added new targets for scanner search engine db + * doc/releases.txt: improved doc + * doc/saned.man: clean typos + * tools/sane-desc.c: removed NAME= from udev rules (deprecated) + +2010-02-09 m. allan noah + * backend/fujitsu.c, doc/descriptions/fujitsu.desc, + backend/canon_dr.c, doc/descriptions/canon_dr.desc, + backend/epjitsu.c, doc/descriptions/epjitsu.desc, + doc/sane-fujitsu.man, doc/sane-canon_dr.man, doc/sane-epjitsu.man, + backend/epjitsu.conf.in: + - cleanup #include lines, copyrights, manual, and supported scanners. + +2010-02-08 Stéphane Voltz + * backend/genesys.c backend/genesys.h backend/genesys_conv.c + backend/genesys_devices.c backend/genesys_gl646.c + backend/genesys_gl646.h: working uncalibrated 150/300 dpi modes for + HP3670. Enable custom gamma for gl841 based scanners. Turned dynamic + line-art to be default. + +2010-02-03 Stéphane Voltz + * backend/genesys_conv.c: add safeguards when doing gray normalization + +2010-02-02 Nicolas Martin + * doc/sane-pixma.man, doc/descriptions/pixma.desc: + pixma: updated docs for supported model ImageCLASS MF4350d. + +2010-01-31 Stéphane Voltz + * backend/genesys_conv.c: normalize gray data when doing dynamic + lineart. + +2010-01-30 Stéphane Voltz + * backend/genesys.conf.in backend/genesys_devices.c + doc/descriptions/genesys.desc doc/sane-genesys.man: add Xerox Travel + Scanner 100, work by Andrey Loginov + +2010-01-29 Nicolas Martin + * backend/pixma_io.h, backend/pixma_imageclass.c, + doc/sane-pixma.man, doc/descriptions/pixma.desc: + pixma: changed usb timeouts to 20 sec to support ImageClass MF3240. + updated source code comments and documentation. + +2010-01-28 Oliver Schwartz + * backend/snapscan-usb.c: Use hash of device string instead of parsing + it to create a semaphore id. The new code is less platform dependent + and should also work on FreeBSD 8.0. + +2010-01-27 Stéphane Voltz + * backend/genesys.c backend/genesys.h backend/genesys_conv.c + backend/genesys_low.h backend/genesys_gl841.c: add dynamic lineart + scanning based on epjitsu code by m. allan noah. + +2010-01-19 Nicolas Martin + * backend/pixma.h, backend/pixma_mp150.c: + pixma: changes for cropped area enhancement, supplied by Christian Scholtz + for generation 3+ devices. + +2010-01-19 Stéphane Voltz + * backend/genesys.c backend/genesys.conf.in backend/genesys.h + backend/genesys_conv.c backend/genesys_devices.c + backend/genesys_gl646.c backend/genesys_gl841.c backend/genesys_low.h + doc/descriptions/genesys.desc doc/sane-genesys.man: add Visioneer + OneTouch 7100 (patch by Jack McGill). Add software lineart option. + +2010-01-17 Stéphane Voltz + * backend/genesys.c backend/genesys_gl646.c: gray shading calibration + fix for CCD GL646 based scanners. + +2010-01-17 Mattias Ellert + * po/sane-backends.sv.po: Updated Swedish translations. + +2010-01-16 Stéphane Voltz + * backend/genesys.c backend/genesys_gl646.c: re-enable threshold + option, fix wpl computing for HP2400 + +2010-01-13 Stéphane Voltz + * backend/genesys.c backend/genesys_low.c backend/genesys_gl646.c + backend/genesys_gl841.c doc/sane-genesys.man : add true gray scanning + for CIS based scanners + +2010-01-08 Nicolas Martin + * doc/sane-pixma.man, doc/descriptions/pixma.desc: + pixma: updated documentation for MP490 and MP550 (supported models). + +2009-12-30 Stéphane Voltz + * backend/lexmark_low.c: improve init time debug messages + +2009-12-26 Nicolas Martin + * doc/sane-pixma.man, backend/pixma.c, backend/pixma_mp150.c: + pixma: some routine maintenance updates to backend and documentation. + +2009-12-24 Julien Blache + * frontend/saned.c: fix a bug in the standalone polling code. + +2009-12-05 Stéphane Voltz + * backend/genesys.c backend/genesys_gl841.c backend/genesys_low.h: + fixed amount of bytes left to read at document end for gl841 based + sheetfed scanners + +2009-12-09 Nicolas Martin + * doc/descriptions/pixma.desc, doc/sane-pixma.man, + backend/pixma_imageclass.c, backend/pixma_mp150.c: + pixma: updated backend, docs and desc for support to MP560 and MF4330d/ADF + +2009-12-06 Nicolas Martin + * doc/descriptions/pixma.desc, doc/sane-pixma.man, + backend/pixma.h, backend/pixma.c, backend/pixma_mp150.c: + pixma: bumped version, added compilation type debug message. + updated doc and desc (support for MX330) + +2009-12-05 Stéphane Voltz + * backend/genesys.c backend/genesys_gl841.c backend/genesys_devices.c + backend/genesys_low.h backend/genesys.conf.in + document/descriptions/genesys.desc: add full support for + Ambir/Syscan DS685. Use maximum height to handle the case when document + height isn't known before scan for sheetfed scanners + +2009-12-04 Nicolas Martin + * backend/pixma_mp150.c: + pixma: fix pixma backend bug for compilation with USE_PTHREAD/-lpthread + +2009-12-01 Stéphane Voltz + * backend/genesys_gl841.c: take amount of data in scanner's buffer + into account when detecting end of document + +2009-11-30 Stéphane Voltz + * backend/gt68xx.c backend/gt68xx_high.c backend/gt68xx_high.h + backend/gt68xx_low.h backend/gt68xx_gt6816.h backend/gt68xx_gt6816.c: + implement request '0x59' which detects document presence for 6816. Add + a sensor option to reports document presence, and test for document + before scan for 6816 sheetfed scanners. + +2009-11-29 Stéphane Voltz + * backend/gt68xx.c backend/gt68xx_high.c backend/gt68xx_high.h: + added 'clear calibration' button option and 'need calibration' + sensor option. + +2009-11-28 Nicolas Martin + * backend/pixma.c, backend/pixma_mp1580.c, + doc/descriptions/pixma.desc, doc/sane-pixma.man: + pixma: fix pixma backend (end of scan), when compiled with USE_PTHREAD/-lpthread + set support to complete for MP990 in documentation, as reported by Jean-Michel Poure. + +2009-11-28 Stéphane Voltz + * backend/gt68xx_generic.h backend/gt68xx_generic.c + backend/gt68xx_low.h backend/gt68xx_high.c backend/gt68xx_high.h + backend/gt68xx_devices.c backend/gt68xx.c + doc/descriptions/gt68xx.desc: added sheetfed calibration + +2009-11-25 Stéphane Voltz + * backend/genesys_gl841.c: use only signed vars in + gl841_detect_document_end with a few more debug traces + +2009-11-25 Stéphane Voltz + * backend/genesys.conf.in backend/genesys_gl841.c + backend/genesys_devices.c: added docketport 467 model and add + debug traces in gl841_detect_document_end + +2009-11-23 Stéphane Voltz + * backend/gt68xx_generic.h backend/gt68xx_generic.c + backend/gt68xx.conf.in backend/gt68xx_low.h backend/gt68xx_high.c + backend/gt68xx_devices.c backend/gt68xx.c: fixed gt6816 based sheetfed + scanners positionning by implementing and using a move paper request. + Added Iriscan Express 2 model based on reports seen in sane-devel + list. + +2009-11-19 Nicolas Martin + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + pixma: updated Pixma MP250 status to supported. Changed desc status + from good to complete for well supported models. + +2009-11-16 Stéphane Voltz + * backend/genesys.conf.in backend/genesys_gl841.c + doc/descriptions/genesys.desc : applied fixes and status update from + Jack McGill. + +2009-11-16 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl646.c + backend/genesys_gl841.c: add needed flags for DP485/487 and XP100 + scanners. Use different thresholds in strip detection function. Do + led, coarse and gain calibration at sensor's max resolution when doing + sheetfed calibration. + +2009-11-14 Julien Blache + * doc/descriptions/epson.desc: add the Perfection636 SCSI scanner, from + Frédéric Brière . + +2009-11-06 Stéphane Voltz + * backend/genesys.c backend/genesys.h backend/genesys_devices.c + backend/genesys_gl646.c backend/genesys_gl646.h backend/genesys_gl841.c + backend/genesys_low.h doc/descriptions/genesys.desc + doc/sane-genesys.man: + sheetfed calibration work merge. All genesys supported sheetfed + scanners can now be calibrated with a special sheet. + +2009-10-28 Nicolas Martin + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + pixma: declared Pixma MP550 (yet untested), updated docs. + +2009-10-22 Louis Lagendijk + * doc/sane-pixma.man: + Added networking details to doc/sane-pixma.man + +2009-10-21 Nicolas Martin + * backend/pixma_imageclass.c, doc/sane-pixma.man: + pixma: added I-SENSYS MF4320d and updated doc, for this model and MP390. + +2009-10-20 Louis Lagendijk + * backend/pixma_io_sanei.c: + Allow for ranges in model returned from device (allow -) + +2009-10-18 Nicolas Martin + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + pixma: updated doc to include support for MP270 and ImageClass MF3110 + +2009-10-18 Nicolas Martin + * backend/pixma_mp150.c, backend/pixma_imageclass.c, backend/pixma.h, + doc/descriptions/pixma.desc, doc/sane-pixma.man: + pixma: + - bumped backend version to 0.16.1 + - Some error condition fixes to Generation 4 (MP640, ...) XML code + - Added ImageClass MF4360dn-MF4390dn + +2009-10-18 Troy Rollo + * backend/hp3500.c: Stop backed from calling exit(), which is not + helpful when using threads instead of processes. + +2009-10-16 Nicolas Martin + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + pixma: Changes to include new XML dialog for new 2009 PIXMA models, + like MP270 or MP640. + +2009-10-03 Ilia Sotnikov + * backend/epjitsu.c: use own private function instead of roundf() + +2009-10-02 Stéphane Voltz + * backend/genesys_gl646.c: honor GENESYS_NO_CALIBRATION device + flag when setting registers for final scan + +2009-10-01 Jonathan Bravo Lopez + * backend/hp3900_sane.c: + fix bug 311991: "Bad option sizes let frontend (e.g. xsane) crash" + +2009-10-01 Stéphane Voltz + * backend/lexmark_low.c: fix a memleak in find_start_line(), + check success of memory allocation after calloc() + +2009-09-29 Chris Bagwell + * backend/Makefile.am, backend/Makefile.in: + Add missing sanei_pio to qcam backend. Fixes compile + error on embedded Linux boxes. Added new genesys_gl646.h + to backend's SOURCES so its included in tar file. + * doc/Makefile.am, doc/Makefile.in: + Remove manual deletion of $docdir. Modern automake cleans + up fine after itself and this fix is required for distcheck + target to pass on automake-1.11. + +2009-09-27 Nicolas Martin + * backend/pixma_bjnp.c, backend/pixma_mp730.c: + Print size_t values as %lu with cast to unsigned long + as prescribed in the file doc/backend_writing.txt, to avoid + compile warnings. + Removed unused debug code. + +2009-09-26 Julien Blache + * backend/genesys.c: add missing check when logging raw data, + patch by Tollef Fog Heen . + +2009-09-16 Nicolas Martin + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: + pixma backend: Updated documentation for: + - Pixma MP260 support + - descriptions for recently added new models + +2009-09-14 m. allan noah + * sanei/sanei_usb.c: reset the libusb device handle after bus scan. + patch from Hans Petter Selasky + * backend/fujitsu.*, backend/Makefile.*: backend v97, + use sanei_magic to provide software deskew, autocrop and despeckle + * sanei/sanei_magic.c, include/sane/sanei_magic.h, Makefile.*: + new image processing lib for deskew, despeckle, autocrop. + +2009-09-13 Nicolas Martin + * backend/pixma_mp150.c, backend/pixma_mp730.c: + pixma backend: Declared new Pixma models MP250, MP490, MP560, MP640, + and MP990, all yet untested, and modified some debug code. + +2009-09-11 Mattias Ellert + * tools/sane-find-scanner.c: Fix false warning about USB not + supported when linking with libusb-1.0. + * po/sane-backends.sv.po: Updated Swedish translations. + +2009-09-07 Nicolas Martin + * backend/pixma_mp730.c: + pixma backend: added debug info for MF3110 and changed default params. + +2009-09-06 Nicolas Martin + * backend/pixma_mp730.c, backend/pixma_imageclass.c, backend/pixma_mp150.c, + doc/descriptions/pixma.desc, doc/sane-pixma.man: + pixma backend: + - Fix usb interrupt messages handling for MF3110 + - New support for ImageClass MF4660 + - Documentation updates + +2009-09-03 Nicolas Martin + * backend/pixma_mp730.c: + pixma backend: change for MF3110 image encoding. + +2009-08-29 Nicolas Martin + * backend/pixma_imageclass.c, backend/pixma_mp730.c: + pixma backend: moved MF3110 declaration to mp730 part of backend. + +2009-08-27 Nicolas Martin + * doc/descriptions/pixma.desc, backend/pixma_mp150.c: + - pixma backend: Updated description for MP830 reported to be fully supported. + +2009-08-13 m. allan noah + * tools/sane-desc.c: add closedir call to fix bug #311880, patch + from Johannes Meixner + +2009-08-08 Julien Blache + * frontend/saned.c: run_standalone(), explicitely check for errors + on fds. + +2009-08-07 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h: Backend v96 + - split sane_get_parameters into two functions + - remove unused code from get_pixelsize + - support hardware based auto length detection + * doc/descriptions/fujitsu.desc: various status and comment updates + +2009-08-07 Stéphane Voltz + * backend/genesys_gl646.c backend/genesys_devices.c: + - small fixes for hp3670 support + +2009-08-05 Stéphane Voltz + * backend/genesys.c: + - fixed shading calibration for hp2300 when dpi <= 300 + +2009-08-04 Stéphane Voltz + * backend/genesys.c backend/genesys_gl646.c backend/genesys_devices.c: + - fixed document end detection for gl646 cis scanners + - disable color filter fro gray mode for gl646 cis scanners + +2009-08-03 Nicolas Martin + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + - pixma backend: few cosmetic documentation updates. + +2009-08-02 Stéphane Voltz + * frontend/tstbackend.c: remove WARMING_UP_STATUS usage + +2009-07-30 Jonathan Bravo Lopez + * backend/hp3900_config.c: + - Fixed bug [#311856] possible for loop overflow + +2009-07-29 m. allan noah + * backend/canon_dr.[ch]: Backend v34 + - add simplified Hough transform based deskewing code + - add extremity detecting cropping code + - use per-model background color to fill corners after deskew + - request and chop extra scanlines instead of rounding down + - remove padding dumb scanners add to top of front side + - sane_get_params uses intermediate struct instead of user struct + - if scanner stops, clone the last line until the end of buffer + - reset some intermediate params between duplex sides + +2009-07-28 Nicolas Martin + * doc/descriptions/pixma.desc: + - Updated pixma backend desc for Pixma MX860 + +2009-07-25 Nicolas Martin + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + - Fix in declarations for Pixma MX320, MX330 and MX860, + - Updated docs for MX860, confirmed to be supported. + +2009-06-23 m. allan noah + * backend/canon_dr.[ch]: Backend v33 + - add software brightness/contrast for dumb scanners + - add blocking mode to allow full-page manipulation options to run + - add swdespeck option and support code + - add swdeskew and swcrop options (disabled) + +2009-06-22 m. allan noah + * backend/canon_dr.[ch]: Backend v32 + - crop/resample image data before buffering, not after + - shink image buffers to size of output image, not input + - correct some debug message + - better handling of EOF + - add intermediate param struct to existing user and scan versions + +2009-07-17 Alex Belkin + * backend/xerox_mfp.c: more sanity checking for debug mode. + +2009-07-15 Stéphane Voltz + * backend/lexmark.h: disable deep debugging + +2009-07-10 Stéphane Voltz + * backend/genesys.c backend/genesys_gl646.c backend/genesys_low.h + backend/genesys_gl646.h backend/genesys_gl841.c + backend/genesys_devices.c backend/genesys.h: + - add shading calibration for sheetfed scanners + - shading calibration fix for all gl646 based scanners + +2009-07-06 Stéphane Voltz + * backend/lexmark.c backend/lexmark.h backend/lexmark_low.h: + do not use resolution higher than sensor resolution when doing + calibation. + +2009-07-02 Nicolas Martin + * backend/pixma.h, backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + - Declared new models (yet untested) Pixma MX330 and MX860, updated docs. + - Bump backend minor version number. + +2009-07-01 Alex Belkin + * backend/xerox_mfp.conf.in: usbid for Samsung SCX-4500W + +2009-06-29 m. allan noah + * po/Makefile.am, po/Makefile.in, po/sane-backends.uk.po: + - Ukrainian translation from yurchor@ukr.net + * backend/avision.c: set flag for Fujitsu SP620C + * doc/desciptions/unsupported.desc: minor updates to Canon scanners + * doc/descriptions/canon_dr.desc: set status complete on 5 machines + * backend/canon_dr.c: reduce default buffer size to 2 megs + +2009-06-26 Julien Blache + * po/Makefile.am, po/Makefile.in, po/sane-backends.gl.po: added + new gl (galician/galego) translation. + * po/sane-backends.es.po: update es translation. + Both translations courtesy of Miguel Bouzada + * po/README: update instructions for po file addition. + +2009-06-22 m. allan noah + * backend/kodak.*: new backend for big Kodak SCSI/Firewire scanners + * doc/desciptions/kodak.desc, doc/sane-kodak.man: docs for same + +2009-06-22 Nicolas Martin + * backend/pixma_imageclass.c, backend/pixma_mp730.c, doc/descriptions/pixma.desc: + - Added duplex ADF scan for Canon ImageCLASS D480. + - Fixed ImageCLASS MF5770 grayscale scanning. + - Moved ImageCLASS MF5730 and MF5750 to pixma_mp730.c (similarity with MF5770). + - Updated documentation. + +2009-06-20 Mattias Ellert + * po/sane-backends.sv.po: Updated Swedish translations. + * backend/hp5400_internal.h, backend/hp5590_cmds.c, + backend/hp5590_low.c, backend/net.c: Add missing includes. + +2009-06-20 Nicolas Martin + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + Added Canon imageCLASS D480 support to the pixma backend. + +2009-06-17 Stéphane Voltz + * backend/lexmark_low.c: f3/f4 registers assignement cleanup + +2009-06-18 Nicolas Martin + * backend/pixma_mp150.c: + Fixed typo in pixma backend for MX320 declaration. + +2009-06-17 m. allan noah + * backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v30 + - add fine cal support for machines with internal buffer (2050/2080) + - support fixed-width machines that require even bytes per scanline + - pad end of scan with gray if scanner stops prematurely + - better handling of errors during calibration + - cleanup canceling debug messages + - remove old cancel() prototype + - small sleep before clearing usb halt condition + +2009-06-17 Stéphane Voltz + * backend/lexmark_low.c: cleanups, better logging in is_home_line() + and possible fix for bug #311862 by using f4 & f5 registers instead of + f3 & f4 + +2009-06-16 Nicolas Martin + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + Declared Pixma MX320 in the pixma backend. Yet untested. + +2009-06-16 Julien Blache + * frontend/saned.c: fix strict aliasing issues, now problematic + with gcc 4.4. + +2009-06-14 Nicolas Martin + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + Thanks to Vladimir Andreev patch, fix network scan for MP800R. + Documentation updates for latest MF5770 changes. + +2009-06-13 Alex Belkin + * backend/xerox_mfp.conf.in, doc/descriptions/xerox_mfp.desc: usbids + for some Samsung devices. + * backend/xerox_mfp.c: backend version increment. + +2009-06-09 Chris Bagwell + * sanei/sanie_tcp.c, backend/epson2_net.c: Update + sanei_tcp_read() to better simulate old behavior of + MSG_WAITALL. recv() tends to return MTU sized chunks + of data without that option. And at least cygwin doesn't + support MSG_WAITALL. Re-enable epson2 using that function + for big recieves. + * libgetopt.c, libgetopt1.c: Revert some logic meant to be used + only when we were always compiling internal getopt() functions. + Fix header filename. + +2009-06-09 Stéphane Voltz + * backend/lexmark.h backend/lexmark.c backend/lexmark_low.c: + cleanups, better 'fake usb' and possible fix for bug #311862 + +2009-06-08 m. allan noah + * backend/canon_dr.c: backend v29 + - split coarse and fine cal to run independently + - add side option + - reset scan params to user request if calibration fails + - better handling of sane_cancel + - better handling of errors during sane_start and sane_read + +2009-06-08 Nicolas Martin + * backend/pixma_mp730.c, backend/pixma_imageclass.c: + Modifications to support Canon ImageClass MF5770 + +2009-06-04 Pierre Willenbrock + * backend/genesys_gl841.c: Make calibration steps always send + registers before trying to acquire a line. + +2009-05-29 Pierre Willenbrock + * doc/descriptions/genesys.desc: + Added description for Visioneer XP100r3, Visioneer Roadwarrior, + demoted DocketPort 465 to "untested" + +2009-05-28 m. allan noah + * backend/pnm.c: hide 'warming up' and 'hw locked' 'devices' + +2009-05-26 m. allan noah + * backend/canon.c: clamp film type to allowed range (bug #311685) + +2009-05-25 m. allan noah + * backend/fujitsu.[ch]: backend v94 + - add side option to show which duplex image is being transferred + - convert front and simplex buffers to use much less ram + - add lowmemory option which makes duplex back buffer small too + - refactor image handling code to track eof's instead of lengths + - do color deinterlacing after reading from scanner, before buffering + +2009-05-25 Nicolas Martin + * sanei/sanei_usb.c: + Adds debug verbosity to last sanei_usb.c patch. + +2009-05-23 Nicolas Martin + * doc/sane-pixma.man, doc/descriptions/pixma.desc: + Updated documentation for Pixma MultiPass MP730. + +2009-05-22 Alex Belkin + * backend/xerox_mfp.c: + - additional error check to (stop scanadf) + fix of it. + +2009-05-22 Nicolas Martin + * backend/pixma_imageclass.c, backend/pixma_mp730.c, sanei/sanei_usb.c: + - pixma_imageclass.c: supported devices list cleanup. + - pixma_mp730.c: fixed scan area width adjust and end of scan protocol for MP730. + - sanei/sanei_usb.c: in sanei_usb_open(), changed "endpoints seek loop" to + take into account only interfaces detected by sanei_usb_init() + Fixes Pixma MP730 usb wrong endpoints selection. + +2009-05-19 Pierre Willenbrock + * backend/genesys_devices.c, backend/genesys_low.h: + Add Pentax DSmobile 600, Syscan 485, DCT 487 + +2009-05-18 Stéphane Voltz + * backend/genesys_gl646.h: fixed missing part of the include + +2009-05-13 Stéphane Voltz + * backend/genesys_gl646.c backend/genesys_gl646.h: created a + genesys_gl646.h header file, moved all declarations from + genesys_gl646.c to this file. + +2009-05-13 Nicolas Martin + * backend/pixma_mp150.c: + Fixed Pixma MP600R for network scan. Changes apply to MP600R _and_ MP600, + to use now a strict clone of Canon's driver protocol. + +2009-05-09 Chris Bagwell + * */*.c: standardize including local sane include files. + +2009-05-09 Nicolas Martin + * backend/pixma_mp150.c, doc/descriptions/pixma.desc: + Fixed Pixma MP600 and MP600R for 2400 dpi scan, updated their descriptions. + +2009-05-08 m. allan noah + * backend/canon_dr*: backend v27 + - bug fix in read_panel() + - initialize vars in do_usb_cmd() + - set buffermode off by default + - clear page counter during init and sane_start() + - eject previous page during init and sane_start() + - improved SSM_BUFF macros + - moved set_window() to after ssm-*() + - add coarse calibration (AFE offset/gain & per-channel exposure) + - add fine calibration (per-cell offset/gain) + - free image and fine cal buffers in sane_close() + - compare page counter of small scanners only in non-buffered mode + - add back-side gray mirroring code for DR-2580C + +2009-05-06 Nicolas Martin + * doc/descriptions/pixma.desc: + Updated descriptions in pixma backend for ImageClass MF4010 and MF4018. + +2009-05-06 Ilia Sotnikov + + * doc/descriptions/unsupported.desc: + HP ScanJet 4500C/4570C/5500C is supported by the 'hp5590' backend. + * doc/descriptions/hp5590.desc: + Updated backend version, added HP ScanJet 4500C as completely supported, + added HP ScanJet 5500C as untested, HP ScanJet 4570C/5550C/5590/7650 + marked as completely supported + * tools/check-usb-chip.c: + Updated HP ScanJet model names displayed during the check_hp5590(). + * backend/hp5590.c, backend/hp5590_cmds.c, backend/hp5590_cmds.h, + backend/hp5590_low.c, backend/hp5590_low.h, doc/sane-hp5590.man: + Updated the list of supported devices (added HP 5500C which is similar + to 4570C, 5500C which is similar to 4500C) - only strings/comments, no + code was changed. Updated backend version. Updated man page. + +2009-05-06 Julien Blache + * tools/sane-desc.c: unbreak udev rules, use ATTRS instead of ATTR + for USB devices. + * frontend/saned.c: pass the network fds to saned_avahi() so the + Avahi process can close them. Fixes a hang possible hang of the + net backend when saned is run in debug mode. + +2009-05-05 Julien Blache + * doc/backend-writing.txt, doc/releases.txt: update for the switch + to git. + +2009-05-04 Chris Bagwell + * acinclude.m4: Rename --enable-fork-process to --enable-pthreads + to match internal usage. Stop linking in pthread when disabled. + * backend/Makefile.am: Add $PTHREAD_LIBS to all backends that + include sanei_thread. + * Makefile.am: Add new ChangeLog-1.0.20 to distribution list. + +2009-05-03 m. allan noah + * ChangeLog-1.0.20, Makefile.in: ChangeLog from 1.0.20 release + * configure, configure.in: version 1.0.21cvs + * doc/releases.txt: minor updates for new build system + * doc/descriptions/canon_dr.desc, doc/descriptions/coolscan3.desc, + doc/descriptions/rts8891.desc, doc/descriptions/xerox_mfp.desc: + remove :new tag + +2009-05-03 Chris Bagwell + * Makefile.in, aclocal.m4, configure, */Makefile.in: Regenerated + with newer automake. + * backend/Makefile.am, tools/sane-config.in: Add missing + $GPHOTO2_LDFLAGS so library can be found. + * tools/Makefile.am: Add mising $SCSI_LIBS to sane-find-scanner. + +Older entries can be found in ChangeLog-1.0.20. diff --git a/ChangeLogs/ChangeLog-1.0.22 b/ChangeLogs/ChangeLog-1.0.22 new file mode 100644 index 0000000..aa62c14 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.22 @@ -0,0 +1,536 @@ +****** Release of sane-backends 1.0.22. End of code freeze ****** + +2011-02-10 m. allan noah + * po/nl.po: updates from Martin Kho + * po/uk.po: updates from Yuri Chornoivan + +2011-02-04 Stéphane Voltz + * backend/genesys.c: disable image processing options at 16 bits since + they can't handle it. + +2011-02-02 Stéphane Voltz + * backend/genesys.c backend/genesys_low.c backend/genesys_gl843.c: + more asynchronous parking issues + +2011-01-31 Stéphane Voltz + * backend/genesys.c backend/genesys_low.[ch]: don't return EOF too + early when applying image processing functions, handle writing of + lineart data, improve asynchronous head parking + +2011-01-31 m. allan noah + * backend/epjitsu.c, doc/descriptions/epjitsu.desc: + - comment changes + - added new models + * backend/fujitsu.c, doc/descriptions/fujitsu.desc, + doc/sane-fujitsu.man: fujitsu backend v106, + - added new models + - dont call mode_select with a page code the scanner does not support + +2011-01-28 Mike Kelly + * backends/avision.[ch]: + - Bumped build number to 294. + - Various minor code cleanups. + - Fixed initialization and duplexing for AV220-G + - Added ADF support for HP8200 series scanner (flipping duplexers). + - Return copied values in sane_get_parameters() + - Added paper-length option to prevent double feeds + - Added a Misc option group to hold misc features + +2011-01-26 m. allan noah + * backend/canon_dr.[ch], doc/descriptions/canon_dr.desc, + backend/canon_dr.conf.in, doc/sane-canon_dr.man: + canon_dr backend v37: + - don't center window when using flatbed + - improve request sense error messages + - enable flatbed for all known models + - ad usb ids for DR-6030C, CR-135i & CR-190i + * doc/descriptions/unsupported.desc: moved DR-2020U from canon_dr.desc + +2011-01-20 Stéphane Voltz + * backend/genesys_devices.c backend/genesys_gl646.h: tune resolution + list and add internal values matching them + +2011-01-18 m. allan noah + * backend/canon_dr.[ch], doc/desc/canon_dr.desc, doc/sane-canon_dr.man: + canon_dr backend v36: + - initial support for DR-3080 and DR-5060 + - add code to clamp scan width to an arbitrary byte width boundary + - add code to prevent setting of brightness/threshold/contrast + - don't send dropout color command on non-color scanners + - initial support for DR-7090C + - update credits + * po/pl.po: updated translation from Jakub Bogusz + * po/de.po: updated translation from Matthias Mailander + * backend/canon.conf.in: improved detection of scsi scanners + +2011-01-17 Stéphane Voltz + * doc/descriptions/genesys.desc: add DSmobile variant + +2011-01-15 Reinhold Kainhofer + * sanei/sanei_usb.c: Add function sanei_usb_set_endpoint to change the + endpoints for usb communications. + * backend/magicolor.c: Add new "magicolor" backend for KONICA MINOLTA + magicolor 1690MF devices + +2011-01-13 Stéphane Voltz + * backend/genesys_devices.c backend/genesys_gl124.c backend/genesys_gl124.h + doc/descriptions/genesys.desc: add 2400 dpi mode for LiDE 110 and 210 + +2011-01-12 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl124.c + backend/genesys_gl124.h backend/genesys_low.c backend/genesys_low.h : + prepare 2400 dpi modes for LiDE 210/110, add a wait for head to park + function and use it in sane_start(). + +2011-01-06 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c + backend/genesys_gl847.c: fix lineart issue when yres is higher than + xres and dynamic lineart is enabled, make gl847 wait for head to + park between scans, wait for head ot park in sane_close() + +2011-01-05 Nicolas Martin + * backend/pixma_mp730.c: + pixma: Added patch proposed by Klaus Stengel for Canon imageRunner 1020/1024/1025 support. + +2011-01-04 Nicolas Martin + * backend/pixma_mp150.c, backend/pixma.c, backend/pixma.h + backend/pixma_common.c, backend/pixma_common.h: + pixma: several updates for MP830, MP990, memmove bug fix, and 64 bits image size. + +2011-01-04 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c + backend/genesys_gl124.c: fix 1200 dpi lineart issues for gl124, + reenable low resolutions for lineart for gl124, and geometry fine + tuning for LiDE 110/210 + +2011-01-03 Stéphane Voltz + * backends/lexmark_low.c: fix compilation issue due to incorrect + place for a DBG statement. + +2011-01-03 Chris Bagwell + * backends/Makefile.am: Add SOCKET_LIBS to xerox_mfp + for platforms such as solaris since it uses sanei_tcp.k + * doc/sane.tex: removed reference to changelog package + since its not used and not installed by Macports (#312596) + * doc/Makefile.am: put quotes around TEXINPUTS in case + paths have spaces in name. This is so latex can find + html.sty package that is referenced by sane.tex. + +2011-01-01 Chris Bagwell + * */Makefile.in, configure, aclocal.m4: Generate from latest + autoconf (2.63 to 2.66). + * m4/*: Added new libtool helper files. + * ltmain.sh: updated to latest libtool and added back special + sane soname work around. + * po/Makefile.am: Allow "make dist" to work when translations + disabled. + * sanei/Makefile.am: allow "make check" to work on cygwin. + +2010-12-28 Stéphane Voltz + * backend/genesys.conf.in backend/genesys_devices.c backend/genesys_gl646.c + backend/genesys_gl847.c backend/genesys_gl847.h: + fix HP2300 warming up problem, add LiDE 700F and 5600F to gl847 + devices, smooth DSmobile 600 moves. + +2010-12-27 Stéphane Voltz + * backend/genesys.c backend/genesys.conf.in backend/genesys_devices.c + backend/genesys_gl841.c backend/genesys_low.h + doc/descriptions/genesys.desc doc/descriptions/unsupported.desc + doc/sane-genesys.man: add Plustek OpticBook 3600 support + by Chris Berry and Michael Rickmann + +2010-12-27 Stéphane Voltz + * backend/genesys_devices.c backend/genesys_gl124.c backend/genesys.c + doc/descriptions/genesys.desc doc/sane-genesys.man: enable 16 bit gamma + for gl124 scanners, models and credits update. + +2010-12-24 Stéphane Voltz + * backend/genesys_devices.c backend/genesys_gl124.c backend/genesys.c + doc/descriptions/genesys.desc: GL847 shading area size fix, GL124 + shading area tuning, descriptions update. + +2010-12-24 Stéphane Voltz + * backend/lexmark*.[ch]: applied X74 support patch by Torsten Houwaart + + +2010-12-23 Mike Kelly + * backends/avision.[ch]: + - Bumped build number to 293. + - Removed "regularly tested" from various scanners. + - Fixed USB id for Avision FB2080E. + - Added support for the Avision AV210D2+ scanner. + - Moved device init code to sane_get_devices(). + - Rewrote indirect "adf_mode" code to be more direct. + - Fixed indentation. + - Changed AVISION_FILTER_* defines to use final values. + - Wrap duplicate USB id entries with ifdefs. + - Removed a duplicate entry for Avision AV210C2. + - Print out USB ids as four digit hex numbers. + - Enhanced sane_get_option_descriptor() debug message. + * doc/descriptions/avision.desc: + - (Re)generated from avision.c. + +2010-12-19 Stéphane Voltz + * backend/genesys_gl124.h: LiDE 210 GPIO fix + +2010-12-16 Stéphane Voltz + * backend/genesys.c backend/genesys.conf.in backend/genesys_devices.c + backend/genesys_gl124.h: + LiDE 210 support (GL124 based) + +2010-12-14 Stéphane Voltz + * backend/genesys*.[ch] backend/genesys.conf.in backend/Makefile.am + backend/Makefile.in tools/check-usb-chip.c doc/desc/genesys.desc: + LiDE 110 support (GL124 based) + +2010-12-08 Mike Kelly + * doc/descriptions/avision.desc: + - (Re)generated from avision.c. + * doc/sane-avision.man: + - Added myself as maintainer. + * backends/avision.desc: + - Removed this obsolete file (again). + * backends/avision.c: + - Bumped version to 292. + - Added myself as maintainer. + - Added support for DocuMate262i. + - Added support entries for HP 8300 series. + * backends/avision.conf.in: + - Added myself as maintainer. + +2010-12-06 Julien Blache + * doc/descriptions/espon.desc, doc/descriptions/epson2.desc: add SCSI IDs + for the Perfection 3200 (GT-9800) connected through FireWire. Report + from Colin Kincaid Williams . Update Perfection 2450 + interface list. + +2010-12-02 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h: + Fujitsu backend version 105 + - backup and restore image params around image processing code + - cache software crop/deskew parameters for use on backside of duplex + - fi-6110 does not support bgcolor or prepick + +2010-11-29 Olaf Meeuwissen + * backend/epson2-ops.c: fix list of supported commands for levels D1 + and D2. + +2010-11-24 m. allan noah + * backend/fujitsu.c, backend/fujitsu.conf.in, + doc/descriptions/fujitsu.desc, doc/sane-fujitsu.man: + Fujitsu backend versions 103 and 104 + - remove compiled-in default config file + - initial support for new fi-6xxx machines + - never request more than s->buffer_size from scanner + - silence noisy set_window() calls from init_interlace() + +2010-11-19 Julien Blache + * doc/descriptions-external/epkowa.desc: update for iScan 2.26.1, + from Olaf Meeuwissen . + +2010-11-17 Stéphane Voltz + * backend/genesys.c: don't write scan data unless specified by debug + level. + +2010-11-08 Marc Deslauriers + * backend/v4l.c: convert v4l1 BGR data to RGB; v4l1 always returns + BGR for RGB due to a coding error way back. + +2010-11-07 Marc Deslauriers + * backend/v4l.c: loop through the read buffers in the v4l backend so + we don't get stale frames. + +2010-11-06 Stéphane Voltz + * frontend/scanimage.c doc/scanimage.man: add -A/--all-options to list + all control options exposed by a backend. + +2010-11-01 Stéphane Voltz + * frontend/scanimage.c: don't print readonly device options since + they can't be set on command line + +2010-11-01 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl843.c + backend/genesys_gl843.h backend/genesys_gl847.c: up build number to 41, + rework head parking, + fixed clear-calibration option reading, + make calibration cache expire for non sheetfed gl847 scanners, + tuned KV-SS080 timings to improve image quality, + raised LiDE 100/200 defaukt gamma to 1.7 + +2010-10-31 Julien Blache + * doc/descriptions/hp.desc: add SCSI IDs for ScanJet 4c. + +2010-10-30 Julien Blache + * backend/xerox_mfp.conf.in, doc/descriptions/xerox_mfp.desc: add + Samsung SCX 4824 & 4825FN (Debian #601748). Resync desc file with + config file. + +2010-10-13 Stéphane Voltz + * backend/genesys_devices.c backend/genesys_gl843.c + backend/genesys_gl843.h: added 100, 150, 400 and 600 dpi modes for + G4050 and G4010. Added 500 and 400 dpi modes for KV-SS080 + +2010-09-30 Alex Belkin + * Makefile.in backend/Makefile.am backend/Makefile.in backend/xerox_mfp-tcp.c + backend/xerox_mfp-usb.c backend/xerox_mfp.c backend/xerox_mfp.conf.in backend/xerox_mfp.h + doc/Makefile.in doc/descriptions/xerox_mfp.desc doc/sane-xerox_mfp.man frontend/Makefile.in + include/Makefile.in japi/Makefile.in lib/Makefile.in po/Makefile.in sanei/Makefile.in + testsuite/Makefile.in tools/Makefile.in: Added Samsung SCX-4500W scan over network support + for xerox_mfp backend (by Alexander Kuznetsov). autoconf and automake reconfigure + to support new files. + +2010-09-28 Stéphane Voltz + * backend/genesys.c backend/genesys.conf.in backend/genesys_devices.c + backend/genesys_gl843.c backend/genesys_gl843.h: add minimal support + (200 and 300 dpi) for HP G4050. Add a device entry for G4010. + +2010-09-18 Reinhold Kainhofer + * include/sane/sanei_config.h sanei/sanei_config.c: Add + function sanei_config_get_paths to obtain all configuration pathes + (from env var SANE_CONFIG_DIR and default paths); fix pointers to + invalid/freed strings when SANE_CONFIG_DIR is set. + * backend/dll.c: When searching for the dll.d/ directory, + also use the SANE_CONFIG_DIR env variable. + +2010-07-12 Julien Blache + * doc/descriptions-external/epkowa.desc: update for iScan 2.26.0, + from Alesh Slovak . + +2010-09-17 Stéphane Voltz + * backend/genesys.c backend/genesys_low.h sanei/sanei_magic.c + backend/genesys_devices.c backend/genesys_gl843.c: do asynchronous head + parking for flatbed scanners to save scan time. Fix a couple of + memory overwrites detected by valgrind. Optimize shading data + writing and fine tune scaneara for gl843. + +2010-09-16 Julien Blache + * frontend/saned.c: exit Avahi process on error and when the poll + loop terminates. + +2010-09-13 Stéphane Voltz + * doc/descriptions/unsupported.desc: update status of scanners + now supported by the genesys backend. + +2010-09-13 Stéphane Voltz + * doc/sane-genesys.man doc/descriptions/genesys.desc + backend/genesys.con.in: update HP3690 status to supported + +2010-09-12 Stéphane Voltz + * backend/genesys_conv.c backend/genesys.c doc/sane-genesys.man + sanei/sanei_magic.c backend/genesys.h backend/genesys_low.h + backend/Makefile.in backend/Makefile.am: add software deskep, crop + and despeckle for the genesys backend. + +2010-09-08 Nicolas Martin + * backend/pixma_mp150.c, backend/pixma_mp730.c + doc/descriptions/pixma.desc, doc/sane-pixma.man: + pixma: several updates for MP375R, MP390, MP460 and docs by Gernot Hassenpflug. + +2010-09-07 Nicolas Martin + * backend/pixma_mp750.c: + pixma: fix for 2400 dpi striping on MP760/770/780/790 by Gernot Hassenpflug. + +2010-09-05 Nicolas Martin + * doc/sane-pixma.man: + pixma: man page update for devices as reported by Gernot Hassenpflug. + +2010-09-05 Stéphane Voltz + * backend/genesys_gl841.c: end of document detection rework for + sheetfed scanners. + +2010-09-04 Stéphane Voltz + * backend/genesys_devices.c backend/genesys.c backend/genesys_gl843.c: + 1200 dpi resolution support for KV-SS080. + +2010-09-01 Stéphane Voltz + * backend/genesys_devices.c backend/genesys.c backend/genesys_gl843.c: + support for scan button, faster move to scan area and calibration fine + tuning. + +2010-09-01 Nicolas Martin + * backend/pixma.c, backend/pixma_mp730.c, backend/pixma_mp150.c + doc/descriptions/pixma.desc: + pixma: changes supplied by Gernot Hassenpflug for Lineart support + to some Pixma devices, and desc updates. + +2010-08-31 Stéphane Voltz + * backend/genesys_devices.c backend/genesys.conf.in backend/genesys.c + backend/genesys_gl843.[ch] backend/Makefile.am backend/Makefile.in: + support for gl843 based scanners, starting with KV-SS080. + disable true gray for LIDE35/50 since it breaks scanning + +2010-08-02 Stéphane Voltz + * backend/genesys_devices.c backend/genesys.conf.in: add a device + entry for the Canoscan 5600f. + +2010-07-25 Nicolas Martin + * backend/pixma.c, backend/pixma.h, backend/pixma_common.c, + backend/pixma_imageclass.c: + pixma: changes for future Lineart scan mode support. + some MF8030 settings, but device not yet supported. + +2010-07-22 Nicolas Martin + * backend/pixma_mp150.c, backend/pixma_imageclass.c, + doc/descriptions/pixma.desc, doc/sane-pixma.man: + pixma: add support for PIXMA MX870. + declared PIXMA MF8030, but not yet working. + +2010-07-14 Julien Blache + * doc/descriptions/epson.desc, doc/descriptions/epson2.desc: add :scsi + keyword for the Perfection 2450 connected through FireWire. Courtesy + of Brian Denheyer . + +2010-07-12 Julien Blache + * doc/descriptions-external/epkowa.desc: update for iScan 2.25.0, + from Alesh Slovak . + +2010-07-09 Julien Blache + * backend/dll.c: allow symlinks under SANE_CONFIG_DIR/dll.d. + +2010-07-04 Nicolas Martin + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + pixma: changes for PIXMA MX350 support, usb and ethernet. + +2010-07-03 Nicolas Martin + * doc/descriptions/pixma.desc, backend/pixma.c: + pixma: fix ImageClass MF6550 description. + fix end of line crop buffer size. + +2010-07-02 Nicolas Martin + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + pixma: update doc to include ImageClass MF6550 support. + +2010-07-02 m. allan noah + * backend/avision.c: patch for AV122-C2 from Ori Koren + +2010-07-01 Nicolas Martin + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + pixma: thanks to Dan McGee patch, add support for PIXMA MX340. + +2010-06-23 m. allan noah + * backend/fujitsu.c: Fix compilation bug when jpeg support is enabled. + +2010-06-23 Julien Blache + * various: corrected initialization, printing, etc. in many backends + +2010-06-21 Julien Blache + * tools/sane-desc.c: udev rules: set libsane_matched=yes for SCSI + devices too. Used by udev-acl later on. + +2010-06-21 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c + backend/genesys_low.h: improve scan quality by using double x + resolution internally at low resolution. Scan area geometry fine + tuning. + +2010-06-18 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c: + add 400, 200 and 100 dpi resolution to LiDE 100 and LiDE 200 . Disable + true gray until it really works. + +2010-06-15 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c + backend/genesys_gl847.h: + Canon LiDE 200 support up to 1200 DPI + +2010-06-15 m. allan noah + * doc/descriptions/xerox_mfp.desc, backend/xerox_mfp.conf.in: + Add Samsung SCX-4600 USB IDs + * backend/kvs20xx.h: use sys/param.h instead of endian.h + +2010-06-10 Stéphane Voltz + * backend/genesys.c: + calibration file name double free fix + +2010-06-10 m. allan noah + * backend/niash.c: patch for HP3300 from Yves Jeanrenaud + * po/fr.po: updates from Yann E. MORIN + +2010-06-10 Stéphane Voltz + * backend/genesys_devices.c backend/genesys_gl847.c: + LiDE 100 motor settings rework + +2010-06-09 m. allan noah + * backend/kvs20xx*, Makefiles, confs and docs: + - Add new kvs20xx backend from Panasonic, for KV-S202xC and KV-S204xC + +2010-06-09 m. allan noah + * backend/fujitsu.[ch]: backend v100: + - store more Request Sense data in scanner struct + - clear Request Sense data at start of every do_cmd() call + - track per-side ILI and global EOM flags + - set per-side EOF flag if ILI and EOM are set + +2010-06-09 m. allan noah + * backend/Makefile.{am|in}: add genesys_gl847 files + * po/Makefile.{am|in}: add LINGUAS POTFILES to EXTRA_DIST + * Makefile.am: add Changelog-1.0.21 to EXTRA_DIST + +2010-06-08 Nicolas Martin + * backend/pixma_imageclass.c: + pixma: set #1 of modifiations for ImageClass MF65xx series. + +2010-06-07 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c: + LiDE 100 motor fine tuning + +2010-06-03 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c + doc/descriptions/genesys.desc: + final bits for full LiDE 100 support + +2010-05-31 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c: + shading calibration is working and led calibration has been tuned + +2010-05-30 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c + backend/genesys_low.h: Canon LiDE 100 working without shading + calibration which is the final bit to fix + +2010-05-24 m. allan noah + * backend/avision.c, doc/descriptions/avision.desc: add Fujitsu fi-5015C + +2010-05-20 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c: + make led and shading calibration work for LiDE 100 + +2010-05-16 Chris Bagwell + * README.freebsd: Add suggested hint that configure needs + to be told location of external libraries installed through + Ports. + +2010-05-16 Stéphane Voltz + * backend/genesys.[ch] backend/genesys_devices.c + backend/genesys.conf.in backend/genesys_gl847.[ch] + backend/Makefile.in: start of LiDE 100 and LIDE 200 support + +2010-05-16 Stéphane Voltz + * sanei/sanei_usb.c include/sane/sanei_usb.h: add a sanei_usb_reset() + function. + +2010-05-15 m. allan noah + * backend/fujitsu.c: backend v99 + - sense_handler(): collect rs_info for any ILI, not just EOM + - do_usb_cmd(): use rs_info whenever set, not just EOF + - read_from_*(): better handling of EOF from lower level functions + - sane_read(): improve duplexing logic + +2010-05-03 Pierre Willenbrock + * Change status of CanoScan LiDE 40 from untested to good + +2010-04-27 m. allan noah + * po/Makefile.in: include POTFILES and LINGUAS in DIST + * doc/releases.txt: more git notes + +2010-04-25 Julien Blache + * tools/sane-backends.pc.in: syntax fixes. + +2010-04-25 m. allan noah + * ChangeLog-1.0.21, Makefile.in: ChangeLog for 1.0.21 release + * configure, configure.in: version 1.0.22git + * doc/descriptions/kodak.desc, doc/descriptions/kvs1025.desc, + doc/descriptions/p5.desc: remove :new tag + * doc/releases.txt: minor updates due to new git hooks + +Older entries can be found in ChangeLog-1.0.21. diff --git a/ChangeLogs/ChangeLog-1.0.23 b/ChangeLogs/ChangeLog-1.0.23 new file mode 100644 index 0000000..39f9130 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.23 @@ -0,0 +1,694 @@ +****** Release of sane-backends 1.0.23. End of code freeze ****** + +2012-08-18 Rolf Bensch + * po/nl.po: Updated Dutch translation from Martin Kho. + +2012-08-17 Chris Bagwell + * backend/kvs40xx*: Fix scan() symbol name that + was still conflicting the epjistu and snapscan backends. + +2012-08-16 Rolf Bensch + * backend/pixma.[ch], backend/pixma_common.[ch], + backend/pixma_imageclass.c, backend/pixma_mp*.c: + Copyright updated. + +2012-08-11 Rolf Bensch + * backend/pixma.c, backend/pixma_mp150.c, backend/pixma_mp810.c: + Lineart fix for generation 1+2 scanners. + +2012-08-09 Paul Newall + * /backend/kodakaio.c: + calling of poll tidied up, may fix problems with repeated scans. + +2012-07-30 Stéphane Voltz + * doc/sane-genesys.man backend/genesys_low.h backend/genesys*.c: + rewrite lineart emulation du to bugs exhibited by the use of the + genesys backend through saned. Fixed an option delcartion that led + to saned crash and fixed batch scanning with sheet-fed scanners. + +2012-08-07 Chris Bagwell + * backend/kvs20xx*, backend/kvs40xx*: Fix duplicate symbols + caused by copy&pasting between related backends. This + allows prelinking of backends to work. + * backend/hp5590_low.c: Fix unresolved symbols error by + including byteorder.h header. + * backend/dll.c: Use correct function prototype for prelink + version of DLL backend. Helps some 64-bit compilers. + +2012-07-31 Rolf Bensch + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + doc updates for all PIXMA scanners + * backend/pixma.h, doc/descriptions/pixma.desc, doc/sane-pixma.man: + - Pixma backend version 0.17.0 + - date updated in Pixma man page + +2012-07-30 m. allan noah + * backend/kvs1025.h: Increase max paper size (Matthew Wild) + * doc/*.man, doc/*.html: Typo fixes (Yuri Chornoivan) + +2012-07-30 Stéphane Voltz + * backend/genesys.c backend/genesys_gl843.c backend/genesys_gl646.c: + fix batch scanning for gl646 scanners + +2012-07-29 Paul Newall + * /doc/descriptions/kodakaio.desc: + advent AW10 added. + +2012-07-28 Paul Newall + * /doc/descriptions/kodakaio.desc: + usbids added and version. + +2012-07-28 Rolf Bensch + * doc/descriptions/pixma.desc: scanners resorted by name + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: new scanners reported by DMoeller + - Canon PIXMA MX410 as untested + - Canon PIXMA MX420 as complete + - Canon PIXMA E500, E600, MX370 Series, MX430 Series, MX710 Series + as untested and experimental + * backend/pixma_mp150.c, doc/descriptions/pixma.desc: capabilities updated + for Canon PIXMA MX510 and MX890 + * backend/pixma_mp150.c, doc/sane-pixma.man: all 2012 untested new devices + marked as experimental + +2012-07-26 Rolf Bensch + * README.linux: + New detailled description for the installation of SANE backend. + +2012-07-24 m. allan noah + * backend/kvs40xx_opt.c: Oops- it is new + * doc/descriptions/kvs40xx.desc: Fix typo (Yuri Chornoivan) + * po/uk.po: Updated (Yuri Chornoivan) + * tools/Makefile.am, tools/Makefile.in, tools/sane-config.in: + sane-config fixes (Ruediger Meier) + +2012-07-15 Ilia Sotnikov + * backend/hp5590.c, backend/hp5590_low.c: + Fix hp5590 backend on big-endian platforms provided by Nhan Ngo Dinh + + +2012-07-13 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl124.c + backend/genesys_gl646.c backend/p5.c backend/p5.h backend/p5_device.h + backend/rts8891.c backend/rts8891.h backend/rts8891_devices.c backend/rts8891_low.c + backend/rts8891_low.h backend/rts88xx_lib.c backend/rts88xx_lib.h + backend/umax_pp.c backend/umax_pp.h backend/umax_pp_low.c + backend/umax_pp_low.h backend/umax_pp_mid.c backend/umax_pp_mid.h + doc/sane-genesys.man sanei/sanei_magic.c : + misc cleanups and doc updates to prepare release + +2012-06-28 Paul Newall + * backend/kodakaio.c backend/kodakaio.conf.in backend/kodakaio.h + doc/sane-kodakaio.man doc/descriptions/kodakaio.desc + configure.in makefile.am dllconf.in doc/makefile.am: Added new backend kodakaio for + kodak ESP nnnn, Cnnn, hero AiOs, detection of cups added to configure + since cups is used for network auto detection. + +2012-06-27 Rolf Bensch + * backend/pixma.[ch], backend/pixma_sane_options.c, + doc/descriptions/pixma.desc: + - Pixma backend version 0.16.4 + - new scan modes for 48 bit flatbed scanners: + PIXMA_SCAN_MODE_COLOR_48, PIXMA_SCAN_MODE_GRAY_16, + enabled by capability PIXMA_CAP_48BIT + * backend/pixma_mp150.c: unused capability PIXMA_CAP_48BIT removed + * backend/pixma_mp810.c: + - new capability for CS9000F: PIXMA_CAP_48BIT + - functions for scan mode detection improved + - lowest resolution for 48 bit flatbed scan modes is 150 dpi + * po/de.po: German translations for new scan modes + +2012-06-04 Stéphane Voltz + * backend/genesys.c backend/genesys.h backend/genesys_low.h + backend/genesys_devices.c backend/genesys_gl124.[ch] : LiDE 110/210 + led calibration improvements, add a 'lamp off during scan' option, + add 2400x4800 mode to LiDE 100, 110 and 210, improve remove/add + scanner detection. + +2012-06-01 Stéphane Voltz + * backend/genesys.c backend/genesys_gl841.c: apply led calibration fix + +2012-06-01 Stéphane Voltz + * backend/genesys.c: fix get_device to handle scanner plugging and + unplugging + +2012-05-31 Stéphane Voltz + * doc/descriptions/genesys.desc doc/sane-genesys.man + doc/descriptions/unsupported.desc: updated Xerox onetouch 2400 status + to supported + +2012-05-30 Stéphane Voltz + * backend/genesys.c backend/genesys_gl124.c backend/genesys_gl124.h: + align gl124 code on latest gl847 improvements + +2012-05-29 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c + backend/genesys_gl847.h doc/descriptions/genesys.desc: add 4800 dpi + for LiDE 700F + - improve fedd/move to scan area for gl847 based scanners + - remove non working 400 dpi mode + +2012-05-28 Stéphane Voltz + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl124.c + backend/genesys_gl847.c backend/genesys_gl847.h backend/genesys_low.h + doc/descriptions/genesys.desc doc/sane-genesys.man: + add support for LiDE 700F up to 2400 dpi + +2012-05-10 m. allan noah + * backend/fujitsu.c: backend v111 + - call send_* and mode_select_* from sane_start + - split read payloads into new debug level + - add paper-protect, staple-detect and df-recovery options + +2012-05-09 m. allan noah + * backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v110 + - correct max_y_fb for fi-62x0 series + - add must_fully_buffer helper routine + - add hwdeskewcrop option, with fallback to software versions + - add 'actual' param to get_pixelsize for post-scan + - add recent model VPD params + - only set params->lines = -1 when using ald without buffering + - fix bugs in background color when using software deskew + * sanei/sanei_magic.c: Update deskew algo + - allow paper to be +/- 1 inch from top of image + - correct integer overflow + - improve (disabled) debug logs + +2012-05-03 Rolf Bensch + * backend/pixma_io_sanei.c, backend/pixma_mp150.c, + doc/descriptions/pixma.desc, doc/sane-pixma.man: + Patch for Canon Pixma MP280 from Daniel Beer. + - PIXMA_EOF mapped to PIXMA_ETIMEDOUT. + - Maximum resolution reduced to 600dpi. + - Scanner added to doc files. + +2012-04-23 Rolf Bensch + * AUTHORS: Pixma backend and email addresses updates. + +2012-04-20 Rolf Bensch + * tools/sane-desc.c: tools/udev/libsane.rules supports scanner group + access to any scanner, with and without acl support. + +2012-04-17 Rolf Bensch + * backend/pixma.c, backend/pixma_sane_options.c, po/de.po: + New description for device specific option "source". + +2012-04-17 Rolf Bensch + * backend/pixma.c: select first entries of dynamic dpi list + and dynamic mode list as default values after changing the scan source + +2012-04-04 Rolf Bensch + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanners Canon Pixma MX510 and Canon Pixma MX890. Both are untested. + +2012-04-04 Rolf Bensch + * backend/pixma.[ch], backend/pixma_mp810.c, po/de.po: color and grayscale + negatives scan in TPU mode, for CS8800F and CS9000F. + +2012-04-04 Rolf Bensch + * backend/pixma_mp810.c: cropping y and h to scanable area in TPU mode, + for CS8800F and CS9000F. + +2012-03-29 Stéphane Voltz + * backend/genesys_gl124.c backend/genesys_devices.c: use feed earlier + at high resolution. Tune LiDE 110/210 geometry. + +2012-03-26 Stéphane Voltz + * doc/descriptions/unsupported.desc: removed G4010/G4050, + patch by Martin Michlmayr . + +2012-03-25 Mike Kelly + * backends/avision.[ch]: + - Added Xerox Documate 632. + - Added firmware checking for HP5370c scanners. + - Reverted AV610 USB IDs and removed AV_INT_STATUS. + - Fixed warning about printf and size_t. + - Fixed bug using wrong enum in x/y range check. + +2012-03-22 Rolf Bensch + * po/de.po: New German translations for pixma backend. + +2012-03-21 Mike Kelly + * backends/avision.[ch]: + - Added Gray mode support for Kodak i30 and i40. + - Skip post-processing when caching flipping duplex. + - Moved a comment nearer its code. + - Added sane_reload_devices() to sane_init(). + - Corrected the logic to set lines = -1 for ADF mode. + - Fix calculations when flipping back of duplex page. + - Track the number of lines to flip as a negative number. + +2012-03-20 Stéphane Voltz + * backend/genesys_*.[ch]: gl841 sheetfed scanners calibration + improvement, fix document end detection when doing dynamic lineart. + Copyrights updates. + +2012-03-19 Gerhard Jaeger + * backend/plustek.c: Fix batch scanning with Plustek backend + Patch submitted and tested by Elias Oltmanns + +2012-03-19 Stéphane Voltz + * backend/genesys_devices.c backend/genesys_gl843.c: update HP4850 + geometry and fix initial state + +2012-03-06 Rolf Bensch + * backend/pixma_bjnp.c: Replace index() with strchr(). Bug #313563. + +2012-02-29 Rolf Bensch + * backend/pixma.[ch], backend/pixma_common.c, + backend/pixma_sane_options.[ch]: New device specific option + 'threshold-curve'. Can be used to optimize 1 bit B/W lineart scans. + +2012-02-27 Rolf Bensch + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: New scanner Canon imageCLASS MF4410 from + Vasiliy Olekhov. + +2012-02-16 Rolf Bensch + * backend/pixma.c, backend/pixma_sane_options.[ch]: + New device specific option 'gamma'. + +2012-02-09 Rolf Bensch + * backend/pixma.[ch], backend/pixma_common.[ch], + backend/pixma_sane_options.[ch], backend/pixma_mp{150,810}.c: + 1 bit B/W lineart for pixma_mp150 and pixma_810 subdrivers. + +2012-02-06 Rolf Bensch + * backend/pixma_mp150, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanner Canon PIXMA MX360. + +2012-02-03 Rolf Bensch + * backend/pixma.h: set PIXMA_VERSION_{MAJOR,MINOR,BUILD} to 0.16.3. + +2012-02-03 Rolf Bensch + * backend/scripts/pixma_gen_options.py: script to generate + backend/pixma_sane_options.c and backend/pixma_sane_options.h + from pixma.c. Found in old pixma project archive file + http://home.arcor.de/wittawat/pixma/mp150-0.13.1.tar.bz2. + +2012-01-31 Rolf Bensch + * backend/pixma.[ch], backend/pixma_imageclass.c, backend/pixma_mp[17]50.c, + backend/pixma_mp730.c, backend/pixma_mp810.c: modify dpi_list dependent on + different scanner capabilities for normal (flatbed) and ADF/TPU modes. + +2012-01-23 Rolf Bensch + * backend/pixma_mp150, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanner PIXMA MX880 Series. + +2012-01-21 Ruediger Meier + * backend/canon_dr.h, backend/cardscan.h, backend/dll.c, + backend/epjitsu.h, backend/fujitsu.h, backend/gt68xx.c, + backend/kodak.h, backend/microtek2.h, sanei/sanei_access.[hc]: fix and + cleanup portable PATH_SEP and DIR_PATH defines + * sanei/sanei_scsi.c, tools/sane-find-scanner.c, configure.in, + sane/config.h.in: use the right scsi header on win32. + +2012-01-17 Rolf Bensch + * backend/pixma_mp810.c: Flatbed mode supports max. 4800 dpi. + +2012-01-14 m. allan noah + * backend/Makefile.{am,in}, backend/pixma.[ch], + backend/pixma_common.c, backend/pixma_mp[17]50.c, + backend/pixma_mp810.c, backend/pixma_rename.h, + doc/descriptions/pixma.desc, doc/sane-pixma.man: + Updated Pixma backend from Gernot Hassenpflug. + +2012-01-03 Stéphane Voltz + * backend/genesys_gl646.c backend/genesys_gl847.c + backend/genesys_gl43.[ch]: fixd scan line number for gl646 CCD + scanners, improved led calbration for gl847 CIS scanners and G4050 XPA + work progress. + +2011-12-30 Alex Belkin + * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: usb id + for Samsung SCX-3205W, reported by sane tester. + +2011-12-27 Chris Bagwell + * configure.in, configure, config.h.in, sanei_usb.c, + check-usb-chip.c, sane-find-scanner.c: Add check for + libusb-win32 which is API compatible with libusb-0.1 + but has different header file name to prevent conflicts + with Windows own usb.h. Since libusb-1.0 is scheduled to + support Windows (not a forked version), it will probably + work as-is if user has pkg-config installed under mingw. + +2011-12-20 m. allan noah + * backend/fujitsu*, doc/descriptions/fujitsu.desc: backend v109 + - added some MS and INQ information + - increased default buffer size for later machines in config file + - renamed new fi-6xx0Z models + +2011-12-18 Chris Bagwell + * doc/descriptions-external/epkowa.desc: update for new iScan + 2.28.1 release from Olaf Meeuwissen . + +2011-11-29 Stéphane Voltz + * backend/genesys.c backend/genesys_low.h backend/genesys_devices.c + backend/genesys_gl847.c: genesys backend build 67, gl847 led and + shadingcalibration improvements. + +2011-11-21 m. allan noah + * backend/fujitsu.[ch]: backend v107 and v108 + - M3091 does not support scanner_control(adf) + - Correct buffer overflow in read_from_3091duplex() + - sane_read() now always calls read_from_*() + - read_from_*() are callable when there is no data, and read to eof + - sane_read() will keep alternate duplex reads to similar length + - Added debugging statements + - Corrected comments + - Updated Copyright + - merged x/y resolution options + - moved page width/height to start of geometry group + - use mode to pick resolution list v/s range + - improved M3091 resolution choices + +2011-11-20 Chris Bagwell + * epson2-commands.c: Include to resolve u_long. + * epson2.c, magicolor.c, xerox_mfp-tcp.c: Include + and to for anyone using setsockopt(). + * sanei_tcp.h: Include since ssize_t is referenced. + * sanei_usb.c: FreeBSD version checks. All changes in this + batch come from FreeBSD ports patches. Bug #312503. + +2011-11-20 Stéphane Voltz + * backend/genesys_*.[ch] doc/descriptions/genesys.desc: build + 66. Add hp N6310 and 4850C devices. Fix gl847 calibration. + GL843 XPA support groundwork. + +2011-11-14 Chris Bagwell + * doc/descriptions-external/epkowa.desc: update for new iScan + release from Olaf Meeuwissen . + +2011-11-10 Chris Bagwell + * include/sane/sanei_thread.h, sanei/sanei_thread.c: + Make SANE_Pid map to pthread_t to be compilable + on platforms where pthread_t is not a integer; + namely mingw. + * configure, configure.in, include/sane/config.h.in, + lib/Makefile.am, lib/Makefile.in, lib/sleep.c: Add + a sleep() replacement function; mostly for mingw. + * backend/epson2-ops.c, backend/epson2.c, umax_pp_low.c: + Revert some broken sleep()->usleep() conversions. + +2011-11-09 Chris Bagwell + * configure, configure.in, acinclude.m4: + Convert enable_dynamic to "auto" behavior. Previous + attempt was resulting in it always defaulting to + "yes" and user had to use --disable-dynamic on + platforms that couldn't support it. + * backend/epson2-ops.c, backend/epson2.c, backend/epson2.h: + minor portability changes to epson2. #ifdef some optional + headers and use usleep() instead of sleep(). Switch to + sanei_udb_set_noblock(). + +2011-11-08 Chris Bagwell + * backend/Makefile.*: Finish preload linking fix. + dll.c was being linked in with convienence library. + If it needs to have two behaviors then we need to + create two libraries. Now preloading is working in + libsane.so again and disabled in libsane-dll.so. + * configure.in, configure, README, */Makefile.*: + Update README to describe use of BACKENDS and + PRELOADABLE_BACKENDS to limit backend compiles. + Also, mark those in configure.in as variables so + they show up in "configure --help". + Add back the useful --disable-dynamic and + --disable-preload that appear to have been removed + at some point but are documented in README. + * README.windows: Update info to include mingw + references. + +2011-11-07 Chris Bagwell + * ltmain.sh: Disable sane's soname libtool hack for + mingw platform so that DLL's will be created for + each backin built; just like on unix platforms. + * backend/Makefile.*: Add missing sanei_magic.lo to + libsane backend. + * sanei/sanei_tcp.c sanei/sanei_udp.c include/sane/sanei_udp.h: + Add WSAStartup()/WSACleanup() calls on mingw to get ws2_32 + working. Make util function to set sockets to nonblocking + and make work in unix and mingw platforms. + +2011-11-06 Chris Bagwell + * INSTALL, Makefile.am, */Makefile.in, compile, config.guess, + config.sub, configure, depcomp, include/sane/config.h.in, + install-sh, ltmain.sh, libtool.m4, ltversion.m4, missing, + mkinstalldirs: Update files using autoconf 2.68 and libtool 2.4. + * configure.in, frontend/scanimage.c, include/sane/sanei_tcp.h, + include/sane/sanei_udp.h, lib/inet_ntop.c, lib/inet_pton.c, + sanei/sanei_tcp.c, sanei/sanei_udp.c, tools/sane-find-scanner.c: + Add check for winsock2. Add ws2_32 library when found. Look + for getuid and getpass since not on mingw. + * lib/sigprocmask.c: Comment out logic on windows for now since + it doesn't work. At least it will compile. + * lib/syslog.c: Add a replacement syslog for at least mingw. + * testsuite/Makefile.*: Use $(EXEEXT) so that scanimage can + be ran on windows. + * backend/Makefile.*, backend/dll.c: Modify dll backend + so that libsane-dll does not reference preloaded backends + symbols since its not linking them in. Only libsane + references preloaded backend symbols and also links them + in now. + +2011-11-05 Chris Bagwell + * lib/vsyslog.c, frontend/scanimage.c, include/sane/sanei_tcp.h + include/sane/sanei_udp.h, lib/inet_ntop.c, lib/inet_pton.c, + sanei/sanie_init_debug.c, sanei/sanei_scsi.c, sanei/sanei_tcp.c, + sanei_udp.c, sanei_usb.c: mingw32 compile fixes. Mostly its + not including header files that windows doesn't have and + add winsock.h as needed. Also, do not use signals windows + doesn't have as well. + +2011-11-02 Stéphane Voltz + * backend/genesys_*.[ch] backend/Makefile.am backend/Makefile.in: + genesys_gl841.h creation and genesys backend code cleanup + +2011-11-01 m. allan noah + * backend/canon_dr.[ch]: backend v39 + - DR-2580C pads the backside of duplex scans + +2011-11-01 Stéphane Voltz + * backend/genesys_gl124.c backend/genesys_gl646.c + backend/genesys_gl841.c backend/genesys_gl843.c backend/genesys_gl847.c + backend/genesys_low.c backend/genesys_low.h: do include + in a clean way + +2011-10-30 Mattias Ellert + * backend/kvs40xx.h: Use portable endian macro from config.h + * backend/kodak.c: Use more precise path to internal headers + * backend/canon630u.c, backend/genesys_gl124.c, + backend/genesys_gl646.c, backend/genesys_gl841.c, + backend/genesys_gl843.c, backend/genesys_gl847.c, + backend/genesys_low.c, backend/hp3900_rts8822.c, + backend/rts88xx_lib.c, backend/xerox_mfp.c, sanei/sanei_pio.c: + Include for definition of u_long on MacOS X + * po/sv.po: Update Swedish translation + +2011-10-21 Stéphane Voltz + * backend/genesys.c backend/genesys.h backend/genesys_devices.c + backend/genesys_gl*.c backend/genesys_gl843.h + backend/genesys_low.[ch], doc/sane.man doc/sane-genesys.man + doc/descriptions/genesys.desc: + 1200 and 2400 dpi support for G4010/G4050 + +2011-10-19 Alex Belkin + * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: usb id + for Samsung CLX 3185, reported by John Dignum. + +2011-10-01 Alex Belkin + * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: usb id + for Samsung SCX-4828FN or SCX-4x28 Series, reported by Patrice + Levesque. + +2011-09-16 Nils Philippsen + * doc/sane-hpljm1005.man doc/sane-p5.man: use groff escape sequences in + man pages + * AUTHORS NEWS doc/descriptions.txt doc/*/*.CHANGES + doc/plustek/Plustek-*.txt doc/u12/U12.* + doc/umax/sane-umax-parport-doc.html: encode to UTF-8 + * tools/sane-config.in: use pkg-config + * doc/descriptions/epson2.desc backend/epson_usb.c: add USB id for Epson + Stylus SX125 + +2011-09-07 Stéphane Voltz + * backend/genesys_devices.c backend/genesys_low.h + backend/genesys_gl124.c: fix button mapping for LiDE 210 + +2011-08-25 Stéphane Voltz + * backend/genesys_gl646.c backend/genesys_low.c backend/genesys_low.h + backend/genesys.c: add a no move during shading calibratiob flag, and + use it for MD5345 + +2011-08-23 Stéphane Voltz + * backend/genesys_gl847.c backend/genesys_low.c backend/genesys_low.h + backend/genesys.c backend/genesys_gl124.c backend/genesys_gl843.c: + make sure to use the fatest speed when parking, use lowest sensor dpi + as default resolution + +2011-08-22 Stéphane Voltz + * backend/genesys*.[ch]: enable calibration for G4050/G4010 and + minor code refactors + +2011-08-05 Stéphane Voltz + * backend/genesys.c backend/genesys_low.c backend/genesys_conv.c: + fixed generic calibration cache for CCD case and when yres is higher + than sensor's maximum one. Fixed lineart data enlarging when yres is + higher than xres. + +2011-07-31 Stéphane Voltz + * backend/genesys_gl646.c backend/genesys_gl841.c + backend/genesys_gl843.c backend/genesys_gl847.c backend/genesys_gl124.c + backend/genesys_low.[ch]: is_compatible cache refactor for gl843, + gl847 and gl124 + +2011-07-31 Stéphane Voltz + * backend/genesys_gl124.[ch] backend/genesys_gl843.[ch]: + use sanei_genesys_compute_dpihw instead of specific function. + +2011-07-15 Stéphane Voltz + * backend/genesys_devices.c backend/genesys_gl646.c + backend/genesys_gl847.c: re-tune scan area of MD5345/MD6228. + parking function clean up. + +2011-07-15 Stéphane Voltz + * backend/lexmark.c backend/lexmark_low.c: increase tolerance when + detecting the 'home' dot. + +2011-07-07 Stéphane Voltz + * backend/genesys.c: fixed incorrect image height for sheetfed + scanners + +2011-07-07 m. allan noah + * po/pt.po: updated translation from cncsolutions.com.br + +2011-07-06 m. allan noah + * backend/canon_dr.[ch]: backend version 38 + - initial support for DR-5020 + - use ppl_mod instead of Bpl_mod, apply to all modes + - invert logic of read_panel tracking + - add ability to disable read_panel() + - automatically disable read/send_panel if unsupported + * doc/descriptions/canon_dr.desc: status of DR-5020 + +2011-07-06 Stéphane Voltz + * backend/genesys_low.h backend/genesys_gl847.c backend/genesys.c + backend/genesys_gl124.c backend/genesys_gl843.c backend/genesys_gl646.c + backend/genesys_gl841.c: improve 4800 dpi quality for LiDE 200 by + increasing the number of lines scan for shading + +2011-07-05 Stéphane Voltz + * backend/genesys_low.h backend/genesys_gl847.c backend/genesys_devices.c + backend/genesys.c backend/genesys_gl124.c backend/genesys_gl843.c + backend/genesys_gl646.c backend/genesys_gl841.c: make 4800 pdi work + for Lide200. Calibration cache file leak fix. + +2011-06-30 Olaf Meeuwissen + * frontend/scanimage.c: plug a memory leak in batch mode. + +2011-06-24 Julien Blache + * tools/sane-desc.c: add a wildcard rule for Epson SCSI scanners + with a model string beginning with "SCANNER". Idea from Olaf + Meeuwissen. + +2011-06-21 Julien Blache + * doc/descriptions/epson2.desc: added SCSI IDs for the GT-10000+, + reported by Simon Becherer. + +2011-06-16 Alex Belkin + * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: usb id + for Samsung CLX-216x Series, tested with CLX-2160, reported by Malte + Starostik + +2011-06-15 Stéphane Voltz + * backend/genesys.c backend/genesys_gl847.c: lineart fix + +2011-06-13 Stéphane Voltz + * backend/genesys_devices.c backend/genesys_gl646.c + backend/genesys_gl646.h doc/descriptions/genesys.desc + doc/sane-genesys.man: add full HP2400 support thanks a patch from + Alexey Osipov + +2011-06-13 Stéphane Voltz + * backend/genesys*.[ch] : rework of gl847 to reach 2400 dpi for + LiDE 100 and 4800 dpi for LiDE 200 + +2011-06-10 Stéphane Voltz + * backend/lexmark_models.c: fix missing motor initialization + +2011-06-07 Stéphane Voltz + * backend/genesys.c backend/genesys.h backend/genesys_conv.c: + add blank page skipping and rotation detection options + +2011-06-06 m. allan noah + * docs/*kvs40xx*, backend/kvs40xx*: New Panasonic KV-S40xx/70xx + backend, originally by Panasonic Russia. + * acinclude.m4, */Makefile.am, configure*: build new kvs40xx backend + * po/POTFILES: add kvs* backends + * po/.gitignore: ignore sane-backends.pot + * include/sane/sanei_magic.h, sanei/sanei_magic.c: + add new blank detection and rotation detection routines + * backend/kvs1025*, backend/Makefile*: add support for sanei_magic + +2011-06-02 Julien Blache + * tools/sane-desc.c: add udev+acl output mode, udev rules using ACLs + for the scanner group instead of making the device root:scanner 0664. + This is designed to help with MFPs and play nice with ConsoleKit. + +2011-04-20 Stéphane Voltz + * backend/genesys_low.c backend/genesys_devices.c + backend/genesys.conf.in: add Xerox 2400 onetouch model and improve + big endian handling + +2011-03-19 Julien Blache + * tools/sane-desc.c: move away from using power/level for disabling + USB autosuspend/power management and use power/control if available. + +2011-03-18 Stéphane Voltz + * backend/genesys_low.c backend/genesys.c : rewrite big endian fixes + for gl847/gl124 based scanners. Improve calibration cache file handling. + +2011-03-17 Stéphane Voltz + * backend/genesys_low.c: big endian fixes for gl847/gl124 based + scanners. Patch by Olaf Zimmermann . + +2011-03-15 Stéphane Voltz + * backend/Makefile.in backend/canon_dr.[ch]: fixes to allow full + static build under cygwin + +2011-03-12 Troy Rollo + * backend/hp3500.c: Remove interdependency between contrast and + brightness. + +2011-03-12 Julien Blache + * doc/scanimage.man: batch-start defaults to 1 if not specified, + not 0. Reported by Jakub Wilk . + +2011-03-12 Troy Rollo + * backend/hp3500.c: Add grayscale and line art scanning. Add contrast + and brightness controls which influence the calibration data provided + to the scanner. + +2011-03-06 Ilia Sotnikov + * backend/hp5590.c, backend/hp5590_cmds.{c,h}: in ADF modes the device can + scan up to 14", which is usually bigger than what scanner reports back + during initialization + * backend/hp5590.c, backend/hp5590_cmds.{c,h}, backend/hp5590_low.{c,h}: + fixed detection of HP4500 devices (tested) and HP5550 (untested) - these + devices need no reading USB-in-USB acknowledgement after each command. To + achieve that, proto_flags are passed down to low-level functions. These + flags are taken from device descriptions + * backend/hp5590_low.{c,h}: fixed up get_status command - index should + be 0x00, not 0x20 + * backend/hp5590.c: bump up the backend version + +2011-03-04 Julien Blache + * frontend/saned.c: define PATH_MAX if needed, fixes build on + HURD. Patch from Pino Toscano . + +2011-02-16 Julien Blache + * backend/v4l.c, backend/v4l.h: fix build with libv4l 0.8.3+. + +2011-02-13 m. allan noah + * doc/releases.txt: minor updates + +Older entries can be found in ChangeLog-1.0.22. diff --git a/ChangeLogs/ChangeLog-1.0.24 b/ChangeLogs/ChangeLog-1.0.24 new file mode 100644 index 0000000..145f4be --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.24 @@ -0,0 +1,602 @@ +****** Release of sane-backends 1.0.24. End of code freeze ****** + +2013-09-30 m. allan noah + * po/nl.po: updated translation from Martin Kho. + +2013-09-30 Rolf Bensch + * backend/pixma_mp810.c: fix button support for Canon CS8800F. + +2013-09-24 Rolf Bensch + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: New scanner Canon imageCLASS MF4770n + reported by Ralph Little. + +2013-09-18 Alex Belkin + * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: usb id + for dell 1235cn, reported by Jean-Francois Labrousse. + +2013-09-17 m. allan noah + * sanei/sanei_init_debug.c: do our own upcasing to allow backend + debugging in Turkish. Revert prior set_locale() patch. + * po/uk.po: updated by Yuri Chornoivan + * backend/microtek.c: add missing break (#314408) + +2013-09-16 Gerhard Jaeger + * backend/plustek-usbdevs.c: Tweaked motor settings for CanoScan N650U + * backend/plustek.c: Bumped build number + +2013-09-13 Rolf Bensch + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanners Canon Pixma MG2400, MG2500, MG3500, MG5500, MG64000, MG6500 + and MG7100. All scanners need further testing. + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: New scanners Canon imageCLASS MF4570dw and + imageRUNNER 1133. All scanners need further testing. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.4 + +2013-09-08 paul newall + * kodakaio.desc: Added hero 4.1 model, marked some scanners as staus basic + +2013-08-27 m. allan noah + * acinclude.m4, configure: enable pthread on Linux by default + * sanei/sanei_init_debug.c: use C locale when building debug + env vars, to allow backend debugging in Turkish. Patch from + Olaf Meeuwissen. + +2013-08-26 Chris Bagwell + * sanei/sanei_usb.c: Treat errno of EACCES as access denied. + This is what libusb is return on my Linux box. This will help + give more helpful error messages to user during debugging. + * testsuite/sanie/sanie_usb_test.c: Do not treat open failures + because of permission errors or already opened by other processes + as test failures since this is expected in some cases (such as + network devices that use vendor specific class). + +2013-08-16 Chris Bagwell + * testsuite/sanei/Makefile.am: Add missing data files to distribution. + Pass in $srcdir to sanei_config_test so it knows were data files are + regardless of were ran from. + * testsuite/sanei/sanei_config_test.c: Use full path for config + file. This allows "make distcheck" to work for this testcase + since it uses a different build directory then source directory + and also runs it from build directory. + * testsuite/sanei/sanei_usb_test.c: add a fake name string + when creating MAX_DEVICE fake devices so that strcmp() won't + crash. + * testsuite/tools/Makefile.am: Add missing data files to distribution. + Make use of $srcdir so test case can base when build directory + is not same as source directory. + +2013-08-15 Chris Bagwell + * sanei/sanei_thread.c: Add support for winpthreads used by + mingw64 in addition to preexisting support for pthread-win32 used + by mingw32. Based on work from Michael Cronenworth for + Fedora's mingw64 sane-backends package. + +2013-08-15 Chris Bagwell + * configure.in: Make snmp detection work better when cross conmpiling; + such as mingw builds on Fedora host. Most likely, net-snmp-config + values are for local host so ignore them if matching library isn't + also found. Required updated all autofoo's generated files to newer + version by running 'autoreconf -i -f' and repatching ltmain.sh. + * test-driver: Added missing test-driver that automake installs. + Its expected to exist by the Makefile.in that we also checkin. + +2013-08-11 Stéphane Voltz + * backend/genesys_low.[ch] backend/genesys_conv.c backend/genesys.c + backend/genesys_gl841.c backend/genesys_gl646.c: make use of hardware + gamma tables to implement constrast and brightness correction. + +2013-08-07 Stéphane Voltz + * backend/genesys.[ch] backend/genesys_conv.c doc/sane-genesys.man + po/fr.po: add digital brightness and contrast options. + Add an option to set calibration cache file name. + +2013-08-07 Stéphane Voltz + * frontend/tstbackend.c: add argument to get verbose messages during + checks. + +2013-08-04 Stéphane Voltz + * sanei/sanei_constrain_value.c + testsuite/sanei/sanei_constrain_test.c: fixed the case where the + rounding in sanei_constrain_value computes a value higher than the + range maximum, spotted and proposed by viresh_shirol@yahoo.co.uk . + Added testcase for the bug in testsuite. + +2013-08-02 Stéphane Voltz + * configure configure.in testsuite/Makefile.* testsuite/tools/*: add + a testsuite for sane-desc, then merge hwdb support for sane-desc by + Tom Gundersen . + +2013-07-31 m. allan noah + * backend/canon_dr*: backend version 41 + - initial P-208 and P-215 support + - bug fix for calibration of scanners with duplex_offset + - allow duplex_offset to be controlled from config file + +2013-07-30 Stéphane Voltz + * backend/genesys.c: fixed typo when defining OPT_SWDEROTATE cap + (#314339). + +2013-07-19 Rolf Bensch + * backend/pixma_mp150.c: Canon Pixma MX920 has duplex ADF and supports + max. 600 dpi @ ADF. + +2013-07-18 Rolf Bensch + * backend/pixma_mp810.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon PIXMA MG8200 is working now. + * backend/pixma.[ch], backend/pixma_mp150.c, backend/pixma_mp810.c, + backend/pixma_sane_options.[ch], doc/sane-pixma.man, po/de.po: + - New button option --scan-resolution. Scan resolution is provided from + some multi function devices. + - Add some detailed button option description to the pixma man page. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.3 + +2013-06-26 Stéphane Voltz + * backend/genesys.[ch] backend/genesys_devices.c backend/genesys_gl124.[ch] + backend/genesys_low.[ch]: improve scanning speed and quality for GL124 + based scanner by implementing half ccd mode below 600 dpi, + thanks for an hardware donation from Dany Qumsiyeh. + +2013-07-03 Rolf Bensch + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon PIXMA MG5200 Series support reported by Dimitri Fellous. + * .gitignore: ignore all .* files + +2013-06-27 Rolf Bensch + * backend/pixma.c: fix mode list for infrared scans + +2013-06-27 m. allan noah + * backend/fujitsu*: backend v117 + - default buffer-mode to off + - improved error handling in sane_start + - image width must be multiple of 8 when swcrop is used before binarization (iX500) + - check hopper sensor before calling object_position(load) on iX500 + * .gitignore: ignore .deps directories + +2013-06-26 Stéphane Voltz + * backend/genesys.c backend/genesys.conf.in backend/genesys_devices.c + backend/genesys_gl846.c backend/genesys_gl846.h backend/genesys_low.c + backend/genesys_low.h: add experimental description and code for the + GL845 based Opticbook 3800. + +2013-06-22 Alex Belkin + * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: multiple + usb ids for Samsung models, reported by Mikhail Elhimov. + +2013-06-21 Rolf Bensch + * doc/descriptions/pixma.desc: Canon PIXMA MG3100 Series WLAN support + reported by Torben Nielsen. + +2013-06-19 Stéphane Voltz + * frontend/scanimage.c: protect for group option with incorrect + capabilites. + * frontend/tstbackend.c: add test to check is group option are + settable. Fix test_getdevices() function. + +2013-06-18 Stéphane Voltz + * backend/genesys.c: add missing cap to 2 option group tp fix long + argument option bug in scanimage. + +2013-06-15 Rolf Bensch + * backend/pixma_mp810.c: fix test mode + +2013-06-10 Stéphane Voltz + * tools/check-usb-chip.c: add genesys GL128, GT-68xx usb chip + detection. + +2013-06-10 Rolf Bensch + * backend/pixma_mp810.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanner Canon CanoScan 9000F Mark II. + * backend/pixma_mp810.c: Disable TPU negatives scan for CS8800F and CS9000F. + Negatives scan has no benefit for the user and disabling avoids confusion. + +2013-06-03 Stéphane Voltz + * tools/sane-find-scanner.c tools/check-usb-chip.c: add genesys usb + chip detection when compiled for libusb-1.0 . + +2013-06-03 Stéphane Voltz + * backend/genesys_gl646.c: #314293 fix + +2013-05-29 Rolf Bensch + * doc/sane-pixma.man: + - HTML parseable name section (bug #314283) + - typo in device names + +2013-05-27 Stéphane Voltz + * backend/genesys_gl646.c: #314261 fix + +2013-05-11 Rolf Bensch + * README.linux: some distros need libusb-1_0-devel. + +2013-05-11 Jonathan Bravo Lopez + * backend/hp3900_rts8822.c: fix compilation warnings. + +2013-04-26 Rolf Bensch + * backend/pixma.[ch], backend/pixma_common.[ch], backend/pixma_imageclass.c, + backend/pixma_io_sanei.c, backend/pixma_mp150.c, backend/pixma_mp7[35]0.c, + backend/pixma_mp810.c: update copyright. + +2013-04-24 Rolf Bensch + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanners Canon Pixma E510, E610 and MX720. All scanners need further + testing. + +2013-04-19 Rolf Bensch + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: New scanner Canon i-SENSYS MF3010 reported by + Nathan Stewart. + +2013-04-11 Rolf Bensch + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanners Canon Pixma MG2200, MG3200, MG5400, MX390, MX450, MX520 and + MX920. All scanners need further testing. + +2012-04-03 Alex Belkin + * doc/descriptions/xerox_mfp.desc: add Samsung SCX-4835FD networked + support, reported by Dave Lewis. USB mode doesn't work. + +2013-04-02 Stéphane Voltz + * backend/lexmark.c backend/lexmark.h: fix device detection to + handle hotplugging and unplugging of USB devices. USe + sanei_usb_exit(). + +2013-03-29 Stéphane Voltz + * backend/gt68xx.c backend/gt68xx_low.h: fix device detection to + handle hotplugging and unplugging of USB devices. + * frontend/tstbackend.c: a test to loop over snae_get_devices to + check if a backend handle hotplugging correctly + +2013-03-27 Stéphane Voltz + * backend/genesys.c backend/genesys_low.h backend/genesys_gl846.c: + warning fixes, SANE option correctness fixes. + +2013-03-25 Rolf Bensch + * backend/pixma_mp150.c: fix button support for Canon Pixma MG6300. + +2013-03-24 Stéphane Voltz + * sanei/test_wire.c, testsuite/sanei/sanei_*test.c: move test program + to testsuite/sanei. Add unit test programs for sanei_check_*, + sanei_constrain_*, sanei_config_* and sanei_usb_* functions. + +2013-03-24 Stéphane Voltz + * backend/genesys.c: make use of the new sanei_usb_scan_devices function + in sane_get_devices. + +2013-03-24 Stéphane Voltz + * sanei/sanei_usb.c include/sane/sanei_usb.h: + separate device search logic from usb init by creating a + sanei_usb_scan_devices. Add a sanei_usb_exit function to free + allocated resources by sanei_usb_init. + +2013-03-21 Rolf Bensch + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanner Canon Pixma MP230 reported by Petar Dodev. + +2013-03-18 Stéphane Voltz + * backend/hp5590.c backend/nec.c backend/sharp.c backend/stv680: + apply use after free fixes, bugs #314035, #314036, #314037 and + #314038 + * backend/hp4200.c: fix a potential division by O, bug #314042 + All five patches for these bugs were provided by Nickolai Zeldovich + + +2013-03-15 Rolf Bensch + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanner Canon Pixma MG6300 reported by Theo van Rijn. + +2013-02-28 Stéphane Voltz + * configure.in configure: restored HAVE_USBCALLS like initially + committed for OS/2 support + +2013-03-04 Oliver Schwartz + * backend/snapscan-options.c backend/snapscan-scsi.c backend/snapscan.c + backend/snapscan-sources.c backend/snapscan.h + doc/descriptions/snapscan.desc: Added support for Acer Scanwit 2720S + implemented by Andrew Goddbody. + +2013-02-28 Stéphane Voltz + * sanei/sanei_usb.c: only free devanme when reusing a device slot in + device list + +2013-02-28 Rolf Bensch + * README.linux: ease installation procedure. + +2013-02-27 Stéphane Voltz + * doc/descriptions/genesys.desc: update G2410 status to basic + +2013-02-27 Stéphane Voltz + * backend/rts8891.c backend/rts88xx_lib.c backend/lexmark.c + backend/lexmark_low.c backend/rts8891_low.c: cppcheck errors and + warnings fixes + +2013-02-27 Rolf Bensch + * README.linux: fix installation path for libsane.la. + +2013-02-22 Gerhard Jaeger + * tools/sane-find-scanner.c: Fix another bug in the libusb1 + part of function check_libusb_device() that prevents sanner + detection for certain devices. + +2013-02-20 Gerhard Jaeger + * tools/sane-find-scanner.c: Setup libusb1 debugging after + initialization otherwise a segfault appears in triple -v mode + * sanei/sanei_usb.c: Free heap memory, acquired via strdup for + devname, in sanei_usb_close() + * po/de.po: Fixed typo + +2013-02-18 Rolf Bensch + * backend/pixma.[ch], backend/pixma_common.[ch], backend/pixma_imageclass.c, + backend/pixma_mp150.c, backend/pixma_mp7[35]0.c, backend/pixma_mp810.c, + doc/descriptions/pixma.desc, doc/sane-pixma.man, po/de.po: + - add infrared scan support for Canon Canoscan 9000F + - Pixma backend version 0.17.2 + +2013-02-13 Stéphane Voltz + * backend/genesys*.[ch]: cppcheck errors fixes + +2013-02-13 Gerhard Jaeger + * backend/plustek_pp.c: Bumped build number + * backend/plustek-pp*: Fixed kernel module build for recent kernels + Defined internal "ULong" types to be in fact 32 bit wide, + this should fix issues on 64 bit machines. + * doc/plustek/Plustek-PARPORT.changes: Update + +2013-02-13 Gerhard Jaeger + * backend/plustek.c: Bumped build number + * backend/plustek-usbscan.c backend/plustek-usbshading.c: Cleanup + * backend/plustek-usb.h backend/plustek-usbdevs.c backend/plustek-usbhw.c: + Added support for Q-Scan A6 portable scanner + * doc/descriptions/plustek.desc: Added entry for Q-Scan A6 + Q-Scan A6 Patch submitted and tested by Hiroshi Miura. Bug #312073. + * doc/sane-plustek.man doc/plustek/Plustek-USB.changes: Update + +2013-02-11 Rolf Bensch + * backend/pixma_common.c, backend/pixma_imageclass.c, + doc/descriptions/pixma.desc: fixed adf paper empty for Canon i-SENSYS + MF4550d. Bug #313674. + +2013-02-11 Stéphane Voltz + * tools/sane-desc.c: fix minor memleaks and whitespace at end of line. + +2013-02-09 Rolf Bensch + * backend/pixma.c, backend/pixma_mp750.c, backend/pixma_mp810.c, + backend/pixma_sane_options.c: fixed compiler warnings. + * backend/pixma.c, backend/pixma_io_sanei.c, backend/pixma_mp150.c, + backend/pixma_mp7[35]0.c, backend/pixma_mp810.c: fixed cppcheck warnings. + +2013-02-06 Rolf Bensch + * backend/pixma_mp150.c: fixed button support for Canon Pixma MG6200 + by Matthias Thon. + +2013-02-01 Stéphane Voltz + * backend/genesys_low.c backend/genesys_gl843.c + backend/genesys_gl846.c: minor usb firmware setup changes + +2013-01-31 Stéphane Voltz + * backend/genesys.[ch] backend/genesys_devices.c + backend/genesys_gl124.c backend/genesys_low.h: add support for LIDE + 210 fifth button. + +2013-01-29 Stéphane Voltz + * backend/genesys*.[ch] : ASIC init refactor. Groundwork for GL846 + support. + +2013-01-24 Rolf Bensch + * backend/pixma_mp150.c: fixed 1200 dpi scan for Canon Pixma MG2100. + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon Pixma MG2100 support reported by David Durgee. + * backend/pixma_imageclass.c: fixed usb checksums for MF4100. + +2013-01-19 Paul Newall + * backends/kodakaio.c: + Hero 4.1 added. + +2013-01-18 Rolf Bensch + * backend/pixma.c, backend/pixma_mp810.c: fixed button support for Canon + Canoscan CS9000F. + * doc/sane-pixma-man: additional description for button support. + +2013-01-16 Paul Newall + * doc/descriptions/kodakaio.desc: + Desc file updated. + +2013-01-14 Rolf Bensch + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: + - new scanner Canon i-SENSYS MF4550d. Bug #313674. + - new scanner Canon i-SENSYS MF5880dn. Bug #313613. + - new scanner Canon i-SENSYS MF6680dn. Bug #313922. + +2013-01-11 Rolf Bensch + * backend/pixma_mp810.c: + - formatted white space + - Canon Pixma MP970 & MP990: fix for broken post_process_image_data. + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon Pixma MG5100 support reported by Patrick Viola. + +2013-01-10 Louis Lagendijk + * Changed the pixma_bjnp.c implementation to use its own debug environment + variable (SANE_DEBUG_BJNP) so debugging for the bjnp protocol and the + backend proper can be controlled independently. + Updated manpage for sane-pixma to document the above changes as well + as the changed scannner buttjn options and the fact the bjnp protocol + has added support for IPv6 + +2013-01-10 Louis Lagendijk + * Added optional support in sanedi.c for systemd socket activation. This + will allow for using backend debugging using SANE_DEBUG_xxx to be used + for saned controlled scanning when using socket activation. When only the + socket is received we use the existing code path. + +2013-01-08 Rolf Bensch + * backend/pixma_mp810.c: fix for broken tpu scan. + +2013-01-03 Paul Newall + * backend/kodakaio.c kodakaio.h: + Detecting end of paper when using adf is now an option. + Alternatively the image is padded with the background colour to make up + the specified image size. + +2012-12-31 Paul Newall + * backend/kodakaio.c kodakaio.h kodakaio.conf kodakaio.conf.in: + better fix for bug where adf could not scan more than 1 page with net connection + end of paper now detected with adf, if it is less than the selected size + ESP 2170 and Hero 9.1 can now do 1200dpi + +2012-12-31 Rolf Bensch + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanner Canon Pixma MG4200 reported by nuxer. + +2012-12-28 Alex Belkin + * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: usb id + for Samsung CLX-3300 Series, reported by Jarkko A-L. + +2012-12-23 Paul Newall + * backend/kodakaio.c: + fix bug where adf could not scan more than 1 page with net connection + +2012-12-13 Rolf Bensch + * README.linux: Installation description moved to top and some editing. + +2012-12-09 Paul Newall + * backend/kodakaio.c: + add adf to ESP2170. Reduce the default adf y length to 11.3 inch + +2012-12-09 Stéphane Voltz + * backend/genesys*.c backend/genesys_low.h: reworked gamma table + handling. Compute gamma table outside send_gamma_table so default + gamma table use device specific gamma values defined in device + description. + +2012-12-07 Rolf Bensch + * backend/pixma.h: Pixma backend version 0.17.1 + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + - Canon Pixma MG3100 support reported by Madis Lõhmus. + - Canon Pixma MG6200 support reported by Matthias Thon. + - Canon Pixma MX890 support reported by Henry Ptasinski. + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: + - Canon imageCLASS MF4430 support reported by Michael Mik. This device is + a MF4410 with ADF. + +2012-12-05 Stéphane Voltz + * backend/genesys.c backend/genesys_gl124.c: add binary data logging + for gl124 based scanners. Issue park command as early as possible to + speed up batch scans + +2012-11-28 Paul Newall + * backend/kodakaio.c backend/kodakaio.h backend/kodakaio.conf.in + backend/Makefile.am backend/Makefile.in docs/descriptions/kodakaio.desc: + Use avahi instead of cups for network autodetection + +2012-11-24 Stéphane Voltz + * backend/rts9918.c backend/rts8891_low.c backend/rts8891_low.h: + fix batch scan by adding asynchronous head parking. Fix 600 and 1200 + dpi scan mode for sensor type 1 + +2012-11-11 Stéphane Voltz + * backend/genesys.c backend/genesys_gl124.c: improve calibration for + gl124 based scanners. Fix head parking issue at 1200 dpi. + +2012-11-02 Stéphane Voltz + * doc/descriptions/unsupported.desc: add USB ID 0x07b3, 0x0802 + +2012-11-02 Stéphane Voltz + * configure configure.in doc/Makefile.am doc/Makefile.in: add optional + doxygen documentation generation for genesys backend. + +2012-10-31 Louis Lagendijk + * backend/scripts/pixma_gen_options.py + Updated formatting of produced files to match pixma.c formatting + without need for manual editing + * pixma.[ch] pixma_mp810.c pixma_mp150.c + Rewrite of button option handling. Button options can now be read + without triggering through the button-update option. Buton-update + options is left for ease of use with xsane + Options are cached so that only when an option is read again all + options are re-read. + +2012-10-29 Alex Belkin + * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: usb id + for Samsung SCX-4833FD, reported by Frank Pennycook; description for + SCX-3405W working in networking mode, reported by Patrick Mackinlay. + +2012-10-24 Stéphane Voltz + * backend/genesys_*.[ch]: Lide 35 improvements, doxygen fixes, + experimental 100 dpi support for Canoscan 4400F and 8400F + +2012-10-24 Mattias Ellert + * configure.in, configure: Unset VERSION during the SCSI header check + (Check fails on MacOS X if VERSION is defined) + +2012-10-22 Mattias Ellert + * po/sv.po: Updated Swedish translation + * backend/pixma_bjnp.c: Fix arguments to IPv6 macros + +2012-10-18 m. allan noah + * backend/canon*: IX-4015 support by Ondrej Zary + +2012-10-17 Alex Belkin + * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: usb id + for Samsung SCX-4100, reported by Antonello Lobianco. + +2012-09-18 Alex Belkin + * backend/xerox_mfp.conf.in doc/descriptions/xerox_mfp.desc: usb id + for Samsung SCX-4729FD, reported by wom balton. + +2012-09-12 Rolf Bensch + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon imageCLASS MF5730 support reported by Ondrej Zary. + +2012-09-10 Rolf Bensch + * doc/descriptions/unsupported.desc: Removed Canon Multipass 390 from + unsupported device list. + +2012-09-08 Louis Lagendijk + * backend/pixma_bjnp.c, backend/pixma_bjnp_private.h + bulk reading rewritten and solved the case where the scanner returns + a 0 length payload. + Use MDL string instead of DES as it is mre fool proof when matching + the model string from the backend + +2012-09-06 Stéphane Voltz + * backend/genesys_gl646.c backend/genesys.c: enable hardware lineart + for Strobe XP200 + +2012-09-05 Rolf Bensch + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: New scanner reported by Eric Schwartz. Bug #313761. + * backend/pixma_mp150.c: 14" (ADF) / A4 (Flatbed) exception for Pixma MX420 + reported by D.Möller. Same exception also added for Pixma MX410. + +2012-09-04 Rolf Bensch + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + Pixma MG5300 support reported by Gernot Hassenpflug. + +2012-09-03 Rolf Bensch + * README.linux: Installation description updated for sane-backends + 1.0.24git. + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon imageRunner 1020/1024/1025 support reported by Yuri Kirin. + Bug #313203. + * backend/pixma_mp150.c: Use xdpi to check for 14" / A4 scan. + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + Pixma MX370 support reported by Daniel Lehmann. Bug #313750. + * backend/pixma_mp150.c: PIXMA_CAP_EXPERIMENT removed from new scanners. + +2012-08-27 Louis Lagendijk + * pixma_bjnp.c pixma_bjnp_private.h + Added working scan-button support + Added IPv6 support + Some clean up and refactoring + +2012-08-27 Rolf Bensch + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + Pixma MG6100 support reported by Yann Bonnamy. Bug #313471. + +2012-08-26 m. allan noah + * ChangeLog*, configure*, Makefile.in, doc/desc/{kodakaio,kvs40xx}.desc: + Various updates related to starting 1.0.24git + +Older entries can be found in ChangeLog-1.0.23. diff --git a/ChangeLogs/ChangeLog-1.0.25 b/ChangeLogs/ChangeLog-1.0.25 new file mode 100644 index 0000000..4863d50 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.25 @@ -0,0 +1,507 @@ +****** Release of sane-backends 1.0.25. End of code freeze ****** + +2015-09-30 Rolf Bensch + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon PIXMA MG5600 Series is working, reported by Gavin Falconer. + +2015-09-26 Rolf Bensch + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.23 + +2015-06-22 Louis Lagendijk + * doc/saned.man: updated to clarify systemd integration and + configuration for thecase where saned is compiled with systemd + glue. + +2015-09-18 Rolf Bensch + * backend/pixma_imageclass.c: for all adf scanners restrict maximum page + height at flatbed scans + +2015-09-16 Stéphane Voltz + * backend/niash.c: merged pu/protect-niash-option-access-315132 and + ifdef'ed unused code + +2015-09-16 Stéphane Voltz + * backend/pieusb.c: include sane/config.h first + +2015-09-14 Stéphane Voltz + * backend/bh.c: replace mktemp by mkstemp #300134 + +2015-09-13 Paul Newall

+ * backend/kodakaio.c: + redundant variable bitposn and redundant function kodakaio_rxflush + commented out. + +2015-09-09 Stéphane Voltz + * doc/sane-genesys.man, doc/descriptions/genesys.desc: No LiDE 120 + support. + +2015-09-08 m. allan noah + * backend/artec_eplus48u.c: fix HOME env bug #315071 (from Jörg Frings-Fürst) + +2015-09-03 Rolf Bensch + * backend/pixma_mp810.c: Canon Pixma MP990 needs specific reordering pixels + for 4800 dpi, patch from Guillaume Courtois. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.22 + +2015-08-20 Rolf Bensch + * README.linux: add mandatory and optional development environment to + install description + * frontend/scanimage.c: remove atexit() function. In some cases atexit() + doesn't work with libusb-compat. + +2015-08-10 Rolf Bensch + * backend/pixma_io_sanei.c: EOF is a bjnp timeout error. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.21 + +2015-08-10 Stéphane Voltz + * backend/abaton.c, backend/agfafocus.c, backend/apple.c, + backend/bh.c, backend/coolscan.c, backend/dmc.c, backend/ricoh.c, + backend/s9036.c, backend/sp15c.[ch], backend/tamarack.c: + fix for memleak in sane_get_devices (bugs #300132 #300131 #300130 #300129 + #300127 #300126 #300124 #300122 #300121 #300120) + +2015-08-10 Klaus Kämpf + * backend/pieusb.c, doc/descriptions/pieusb.desc, doc/sane-pieusb.man, + backend/pieusb_buffer.c, backend/pieusb_scancmd.c, backend/pieusb_specific.c, + backend/pieusb_usb.c: + New scanners PIE PowerSlide 3600,3650,4000,5000 / Reflecta DigitDia 3600, + 4000, 5000, 6000; ProScan 7200; CrystalScan 7200. These scanners need + further testing. + +2015-08-08 Stéphane Voltz + * backend/test.c: fix memleaks (#313553) + * configure.in, configure: don not harcode -I/usr/local/include + (#315060) + + open/close tests. +2015-08-07 Rolf Bensch + * README.linux: update development packages list. OpenSuse needs + libusb-compat-devel. Sane doesn't support libusb 1.0. + * backend/pixma_io_sanei.c: EOF isn't an usb timeout error; this fixes usb + communication problems, e.g. with OpenSuse. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.20 + +2015-08-06 Stéphane Voltz + * backend/genesys_devices.c, backend/genesys_gl841.c, backend/genesys_low.c: + fix GPIO setup for LiDE 33/40/50, add more usleep() for GL847 + scanning issues. Some GL841 LEDADD improvements. + +2015-07-31 Stéphane Voltz + * frontend/tstbackend.c: add an option to do tests scans during + open/close tests. + * backend/genesys.c, backend/genesys_low.c: fixes for + - #315104 + - #315105 + And a timing issue on USB3 hardware debugged and tracked by John S. + Weber + +2015-07-29 Rolf Bensch + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanner Canon PIXMA MG3600 Series. This scanner needs further testing. + * backend/pixma_mp150.c: Canon PIXMA MG7500 Series doesn't need special + image format post processing. + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon PIXMA MG7500 Series is working, reported by Jonathan Anderson. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.19 + +2015-07-24 Rolf Bensch + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon PIXMA MX470 Series is working, bug #314894. + +2015-06-27 Louis Lagendijk + * backend/pixma_bjnp.c: added missing return in case of no error + +2015-06-27 Louis Lagendijk + * backend/pixma_bjnp.c Added backend version in bjnp debug output + +2015-06-11 Stéphane Voltz + * backend/genesys.c backend/genesys_gl124.h: LiDE 120 support + improvement. + +2015-05-18 Rolf Bensch + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanner Canon i-SENSYS MF8300 Series, reported by Florian Nierhaus. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.18 + +2015-04-12 Stéphane Voltz + * doc/sane-genesys.man backend/genesys.[ch] backend/genesys_low.c: + fix calibration cleared when calibration file loaded, + add expiration time option for cache. + +2015-04-07 Rolf Bensch + * backend/pixma_mp810.c: Canon Pixma MP990 TPU scan patch from Guillaume + Courtois. + * doc/descriptions/pixma.desc: remove unmaintained websites + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.17 + +2015-04-03 Rolf Bensch + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: New Canon scanners i-SENSYS MF210 Series, MF220 Series, + MF5900 Series, MF6100 Series and imageCLASS MF810/820. All scanners need + further testing. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.16 + * backend/pixma.[ch], backend/pixma_common.[ch], backend/pixma_imageclass.c, + backend/pixma_io_sanei.c, backend/pixma_mp150.c, backend/pixma_mp7[35]0.c, + backend/pixma_mp810.c: update copyright. + +2015-03-17 Stéphane Voltz + * backend/genesys.c, backend/genesys.conf.in, + backend/genesys_devices.c, backend/genesys_gl124.c, + backend/genesys_gl124.h, backend/genesys_low.h, + doc/descriptions/genesys.desc, doc/sane-genesys.man: add support for + Canon LiDE 120 + +2015-03-14 René Rebe + * backend/avision.h backend/avision.c: + fixed 32-bit build regression due new feature_type and + reverted 4d38523bdacd18186857ee8a93daaa0f8721c89b + +2015-03-13 René Rebe + * doc/sane-avision.man, backend/avision.h, backend/avision.c: + fixed newer avision scanner duplex scanning, and removed unnecessary + feature_type2 clutter by using a uint64_t to share all bits + +2015-03-12 René Rebe + * doc/descriptions/avision.desc, backend/avision.c: + fixed multiple regressions (range initilaizer, clobbering + paper-length window bits, ...) introduced over the past years, added + support for newer ASIC gamma table size, added AV220D2+ ID +2015-03-04 Stéphane Voltz + * doc/descriptions/genesys.desc: mark LiDE 120 as unsupported. + +2015-03-02 Stéphane Voltz + * backend/genesys_low.c, backend/genesys_gl124.[ch]: + improve parking reliability for LiDE 210 + +2015-03-01 Stéphane Voltz + * backend/genesys_devices.c, backend/genesys_gl124.c: + final tuning for Canon LiDE 220 + +2015-02-26 Stéphane Voltz + * backend/genesys.c, backend/genesys.conf.in, + backend/genesys_devices.c, backend/genesys_gl124.c, + backend/genesys_gl124.h, backend/genesys_low.h, + doc/descriptions/genesys.desc, doc/sane-genesys.man: add support for + Canon LiDE 220 + +2015-02-21 Rolf Bensch + * backend/pixma_mp150.c: Canon PIXMA MG6400 Series doesn't need special + image format post processing. + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon PIXMA MG6400 Series is working, reported by Christian Spielberger. + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanners Canon PIXMA MX490 Series and E480 Series. All scanners need + further testing. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.15 + +2015-02-09 Rolf Bensch + * doc/descriptions/pixma.desc: Canon PIXMA MX920 Series supports Ethernet + and WiFi interfaces. + +2015-02-06 Rolf Bensch + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon PIXMA MG2500 Series is working, reported by Brenda Ruch. + +2015-01-20 Ilia Sotnikov + * backend/hp5590.c: + Invert pixels in case of TMA Negatives source has been selected. + Thanks for Will Kranz who reported this. + +2015-01-17 Rolf Bensch + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon PIXMA MG2200 Series is working (bug #314944). + +2014-12-31 Paul Newall

+ * backend/kodakaio.c: + connection to device moved from sane_open to sane_start + disconnection move from sane_close to sane_cancel + in order to fix bug where scanner disconnected after 30s idle. + +2014-12-19 Paul Newall

+ * backend/kodakaio.c: + param.depth corrected for lineart mode, was 8 now 1 + sequence of modes changed to make the color mode the default. + +2014-12-16 m. allan noah + * sanei/sanei_usb.c: add calls to sanei_usb_set_altinterface in + sanei_usb_close and sanei_usb_clear_halt- hopefully work around + USB3/xhci problems in Linux. + +2014-11-18 Rolf Bensch + * backend/pixma_imageclass.c: + - Canon i-SENSYS MF8200C and MF8500C use generation 2 protocols. + - Also use has_paper() for generation 2 scanners. + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc: Canon i-SENSYS + MF8200C: ADF supports max. 300DPI. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.14 + +2014-11-15 Rolf Bensch + * backend/avision.c: + - Remove firmware checking for HP5370c scanners. Launchpad bug #1080787, + reported by Night Train. + - Build version 297. + +2014-10-29 Rolf Bensch + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New Canon scanners MAXIFY MB5000, MB5300, MB2000 and MB2300; + PIXMA MG7500, MG6600, MG5600, MG2900 and E460. All scanners need further + testing. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.13 + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon PIXMA MG2900 Series is working, reported by Yannick Dirou. + +2014-10-27 Rolf Bensch + * backend/pixma_mp150.c: Canon PIXMA MG3500 Series doesn't need special + image post processing. + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon PIXMA MG3500 Series is working. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.12 + +2014-10-20 Rolf Bensch + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: New Scanner Canon imageCLASS D530. + * backend/pixma_mp150.c: + - increase calibration timeout + - calibration can finish with 0x01 or 0x02 + +2014-09-18 Rolf Bensch + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon Pixma MG5500 Series is working, bug #314819. + +2014-09-16 Rolf Bensch + * doc/descriptions/pixma.desc, doc/sane-pixma.man: Canon Pixma MG2400 Series + is working, reported by Marcus Wellnitz. + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon Pixma MX530 Series is working, reported by Stephen Weston. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.11 + +2014-09-13 Paul Newall

+ * backend/kodakaio.c, backend/kodakaio.h: + * Added lineart mode with threshold option. + +2014-09-07 Paul Newall

+ * backend/kodakaio.c: + * Fixed error where the colour compensation curves did not have enough + elements and this caused speckles in areas of very low or high colour. + +2014-08-23 Louis Lagendijk + * backend/pixma_bjnp.c: + * Keep TCP-connection closed untill we really need it. This avoids + the scanner closing the TCP-connection when idle + * Add an explicit error message when we detect that the scanner + closed the TCP-connection + +2014-08-16 Rolf Bensch + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanners Canon i-SENSYS MF8200C Series and MF8500C Series. MF8500C + Series need further testing. + * doc/sane-pixma.man: add up to now undocumented verbose debug-level + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.10 + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + Canon PIXMA MX720 Series scanner is working (bug #314787). + +2014-07-25 Rolf Bensch + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + New scanners Canon Pixma E400, E560, MX470 and MX530. All scanners need + further testing. + +2014-07-14 m. allan noah + * frontend/scanimage.c: batch-print option and exit value changes + from Jeff Breidenbach jeff@jab.org + +2014-07-01 Stéphane Voltz + * testsuite/sanei/sanei_config_test.c: fix #314694 by exporting a + specific SANE_CONFIG_DIR env dir for tests + +2014-06-29 Stéphane Voltz + * backend/genesys_gl646.c: fix regression in coarse gain calibration + +2014-06-05 Tom Callaway + * lib/snprintf.c: update to newer version from LPRng. The old version is + licensed under the Artistic License 1.0 which isn't compatible with the + GPL and arguably non-free. + +2014-06-02 Stéphane Voltz + * backend/genesys_*.[ch]: add internal ini_scan_regs_api. Add proper + target speed for LiDE 110/210 grey mode motor tables. + +2014-05-29 Paul Newall + * backend/kodakaio.c: change to comment on ./configure parameters + +2014-05-26 Rolf Bensch + * backend/pixma_mp150.c: fix ADF paper empty @ start scanning for Canon + Pixma MP150 based ADF scanners + * backend/pixma_common.c: remove unused variable + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.9 + +2014-05-08 Rolf Bensch + * backend/pixma_mp150.c: fix MG7100 image data post processing @ high + resolutions > 600dpi. + * doc/descriptions/pixma.desc, doc/sane-pixma.man: Canon Pixma MG7100 + Series scanner is working, reported by Gert Cauwenberg. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.8 + +2014-05-13 Stéphane Voltz + * backend/genesys_gl646.[ch] backend/genesys.c backend/genesys_low.c: + fix bug #314663. Set gamma for gl646 devices only at scan time. Reset + endpoint each time before leaving. + +2014-05-08 Rolf Bensch + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.7 + * backend/pixma_mp150.c: + - all Canon Pixma MP150 based ADF scanners support 14" legal paper size + - fix ADF paper empty bug for Canon Pixma MP150 based ADF scanners + * doc/descriptions/pixma.desc: remove comments for Canon Pixma MP150 based + ADF scanners: adf empty buggy + * doc/sane-pixma.man: Canon Pixma MX360 shouldn't hang anymore (@ ADF paper + empty) + +2014-04-07 Rolf Bensch + * doc/descriptions/pixma.desc, doc/sane-pixma.man: Canon Pixma MX410 + is working, reported from Javier Gorostiza. + +2014-03-21 Rolf Bensch + * doc/descriptions/pixma.desc, doc/sane-pixma.man: Canon Pixma MG3200 + is working, reported in ubuntuforums.org/showthread.php?t=2072162. + * doc/descriptions/pixma.desc: rename WLAN to WiFi + * backend/pixma_mp150.c: + - Canon Pixma MX520 Series supports 14" legal paper size in ADF mode. + - MX520 has button support. + * backend/pixma_common.c: Clamp minimum image size to 16 px x 16 px. Some + new scanners need minimum 16 px height. + * doc/descriptions/pixma.desc, doc/sane-pixma.man: Canon Pixma MX520 Series + is working, reported by Trygve Flathen. + +2014-02-28 Rolf Bensch + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: Rename Canon i-SENSYS MF4550d to Canon i-SENSYS MF4500 + Series. This fixes ethernet problems. Patch from chrysn. + +2014-02-24 Stéphane Voltz + * doc/sane-genesys.man backend/genesys.[ch]: + avoid calibration file name collision in case of several identical + scanners + +2014-02-10 Louis Lagendijk + * backend/pixma_bjnp.c backend/pixma_bjnp.h backend/pixma_bjnp_private.h: + - Added support for Canon laser multi-functionals using the MFNP protocol over port 8610 + - Improved debug-logging to be more readable + +2014-02-08 Rolf Bensch + * backend/pixma_mp150.c: + - Canon Pixma MX510 Series supports 14" legal paper size in ADF mode. + * doc/descriptions/pixma.desc, doc/sane-pixma.man: + - Canon Pixma MX510 Series is working, reported by sebastien_gd. + +2014-01-29 m. allan noah + * backend/umax-uc630.c: updates from Ondrej Zary + +2014-01-21 Stéphane Voltz + * doc/descriptions/unsupported.desc doc/descriptions/genesys.desc: + update status of the HP Scanjet 4850C + +2014-01-17 Rolf Bensch + * doc/descriptions/pixma.desc: Update specification file for + Canon i-SENSYS MF4800 Series: + - Ethernet is buggy. + - ADF is working. + +2014-01-09 Gerhard Jaeger + * tools/sane-find-scanner.c tools/check-usb-chip.c: Add LM983x usb + chip detection when compiled for libusb-1.0. + +2014-01-02 Rolf Bensch + * doc/descriptions/pixma.desc: ADF is working for Canon i-SENSYS MF4800 + Series, reported by Yvan L. Gélinas. + +2014-01-02 Rolf Bensch + * backend/pixma.[ch], backend/pixma_common.[ch], backend/pixma_imageclass.c, + backend/pixma_io_sanei.c, backend/pixma_mp150.c, backend/pixma_mp7[35]0.c, + backend/pixma_mp810.c: update copyright. + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: bug #314411, Canon imageCLASS MF4570dw is working. + +2013-12-27 Rolf Bensch + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: + - Canon i-SENSYS MF4800 Series has ADF and supports 14" legal paper size + in ADF mode. + - Canon i-SENSYS MF4800 Series is working, reported by Yvan L. Gélinas. + +2013-12-23 Rolf Bensch + * backend/pixma_common.c: fix usb cmd transaction timeout + +2013-12-23 Stéphane Voltz + * backend/genesys_devices.c backend/genesys.c backend/genesys_low.h + backend/genesys_gl841.[ch]: color calibration improvement for LiDE80, + working LEDADD for gl841 CIS scanners + +2013-12-16 Rolf Bensch + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: + - rename Canon imageCLASS MF4770n to i-SENSYS MF4700 Series + - rename Canon i-SENSYS MF4890dw to MF4800 Series + * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man: + - Canon MX920 reported as working; ADF is still buggy + - MX920 has 14" ADF paper length + - MX920 has button support + - fix vertical stripe shifting for MX920 + - tidy function calc_shifting() + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.6 + +2013-12-16 Stéphane Voltz + * doc/descriptions/genesys.desc: update LiDE 80 + * backend/genesys_devices.c backend/genesys.c backend/genesys_low.h + backend/genesys_gl841.[ch]: basic support for LiDE 80 + +2013-12-10 m. allan noah + * backend/fujitsu*: fujitsu backend v118 + - support fi-7160, fi-7260, fi-7180 and fi-7280 + - remove unused var from do_scsi_cmd() + - added more request_sense options + - add adv_paper_protect option + - enable paper protection by default + - increase max_x_fb for fi-6240 and fi-6230 + +2013-12-09 m. allan noah + * backend/canon_dr*: canon_dr backend v42 + - initial DR-G1100 support + - add support for paper sensors (P-215 & P-208) + - add initial support for card reader (P-215) + - removed unused var from do_scsi_cmd() + +2013-11-21 Stéphane Voltz + * testsuite/tools/Makefile.*: handle sane git version change in tests. + +2013-10-19 Stéphane Voltz + * doc/descriptions/genesys.desc doc/Descriptions/unsupported.desc: + update LiDE 80 and HP2400 information + * backend/genesys_devices.c backend/genesys.conf.in backend/genesys.c + backend/genesys_low.h backend/genesys_gl841.[ch]: add first element of + LiDE 80 support. + +2013-10-15 Paul Newall + * configure.in: detection of cups was commented out. Avahi is now used + for autodetection in kodakaio so the detection of cups is no longer required. + +2013-10-14 Paul Newall + * backend/kodakaio.c: fix bug #314301, + Segfault when unexpected data returned by avahi auto discovery. + +2013-10-11 Rolf Bensch + * backend/pixma_imageclass.c: Use generation variable instead of single + defines of scanner pid's. Now new scanners should work without extensive + code editing. + * backend/pixma_imageclass.c, doc/descriptions/pixma.desc, + doc/sane-pixma.man: New scanner Canon i-SENSYS MF4890dw. This scanner needs + further testing. + * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.5 + +2013-10-02 Rolf Bensch + * README.linux: Update Installation description for 1.0.25git. + +2013-09-30 m. allan noah + * ChangeLog*, configure*, doc/releases.txt: + Various updates related to starting 1.0.25git + +Older entries can be found in ChangeLog-1.0.24. diff --git a/ChangeLogs/ChangeLog-1.0.27 b/ChangeLogs/ChangeLog-1.0.27 new file mode 100644 index 0000000..63d3d57 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.27 @@ -0,0 +1,4128 @@ +commit 82cd8f245cf26879b3f94348d4069dcec8d49f21 (tag: RELEASE_1_0_27, tag: 1.0.27) +Author: m. allan noah +Date: 2017-05-22 11:16:40 -0400 + + SANE-backends release 1.0.27 + + Moved old changelogs to new directory, and excluded them from + release tarball. + + Improved release docs. + + Updated config.* files + + Bumped version numbers. + + Wrote release notes. + +commit 16f3060061a17cbc54f3415a7e2abc1c35f3fcd2 +Author: Rolf Bensch +Date: Sat May 20 14:13:19 2017 +0200 + + pixma: i-SENSYS MF240 Series is working + +commit ad5fd9edc83f2c6b6e27e9a366cd8ff5e00376b8 +Author: m. allan noah +Date: Fri May 19 20:24:14 2017 -0400 + + Updated NL translation from Martin Kho + +commit baf786742f0382bed3f1b58d9977229826e3df5f +Author: Olaf Meeuwissen +Date: Mon May 15 21:37:34 2017 +0900 + + po/*.po: sync with source code + +commit 05553c679fd02648fc5b6dd3a4abf75fe67e1d27 +Author: m. allan noah +Date: Sun May 14 21:34:36 2017 -0400 + + updated uk.po translation + + Update from Yuri Chornoivan + +commit 479ccaedddcb0a491b351e20cac22595196df02a +Author: Olaf Meeuwissen +Date: Sun May 14 19:48:41 2017 +0900 + + autotools: Sync derived files + + This was done by running + + autoreconf --force --install + + on Debian GNU/Linux 8.8 and reverting the removal of SANE specific + tweaks to ltmain.sh. + +commit 02037adb134a2b533bb3201833444aed7bedc8f6 +Author: Olaf Meeuwissen +Date: Sun May 14 19:47:31 2017 +0900 + + Fix unused parameter compiler warnings in check tools + +commit 85b91bcd248d2a40300b9fda76bdb88853fbcd0b +Author: Jörg Frings-Fürst +Date: Sat May 13 18:11:40 2017 +0900 + + doc: fix typos, formatting and stylistic issues + +commit 1808a63b0091f0e5562586278b13d7ae63184f43 +Author: Jörg Frings-Fürst +Date: Sat May 13 18:07:26 2017 +0900 + + Replace the startup gamma with the same from the standalone version + + Fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629470 + +commit 5c0812c51b6d48516acb9dd9efcfbe2b34f04a79 +Author: Jörg Frings-Fürst +Date: Sat May 13 18:05:43 2017 +0900 + + genesys.conf: fix comment typo + +commit e21bb28e5051d8fdd64df3c4ea2625b9f45538c8 +Author: Jörg Frings-Fürst +Date: Sat May 13 18:03:42 2017 +0900 + + Source code string typo fixes + +commit 09cf70563a1129116ab6888e944bfcb44fec8dd0 +Author: Olaf Meeuwissen +Date: Sat May 13 16:33:23 2017 +0900 + + configure.ac: Fix condition + +commit 9230e0c251f2351ce1c7b8d7fca08dc39c320925 +Author: Olaf Meeuwissen +Date: Sat May 13 13:12:06 2017 +0900 + + saned: Link against Avahi library + +commit da5ce7216cf63a454411fa781bc2ea30fa881974 +Author: Olaf Meeuwissen +Date: Sat May 13 13:09:25 2017 +0900 + + Add a header to dll.conf + + Document dll.conf in a header, point to the dll.d directory for external + backends and document the net backend w/ pointers to the manpages. + + Based on a patch by Julien BLACHE + +commit 77dcf26860b239dafb3094c863691aaef304805a +Author: Christopher James Halse Rogers +Date: Sat May 13 13:07:01 2017 +0900 + + Fix potential assert in avahi backend + + avahi_browser contains a reference to an AvahiClient, which may be + avahi_client. If it does, then freeing avahi_browser references avahi_client, + resulting in an assert() in Avahi's linked list macro. + + Fix this by freeing avahi_browser before avahi_client. + See https://bugs.launchpad.net/bugs/831867 + +commit e6711c377f266d33a3d8bc28d7a508e3c4c29c79 +Author: Rolf Bensch +Date: Wed May 10 19:10:26 2017 +0200 + + remove unused entry from ChangeLog + +commit 0cf531e44528a541d76c3571bca72f395b7892ae +Author: Klaus Kämpf +Date: Tue May 9 10:52:12 2017 +0200 + + Update pieusb.conf and pieusb.desc + +commit 135b4a3909e0fe0d14062dc009bfba8085ebf167 +Author: Rolf Bensch +Date: Wed May 10 11:51:35 2017 +0200 + + pixma.desc: fix version of backend + +commit 5b10b0b635157cdb9766197a5f2ea7f1d24a402a +Author: René Rebe +Date: Fri May 5 07:05:30 2017 +0200 + + epson2: fixed network transport for new scanners + + increased command buffer due memory overrun, and always read receive + status, even for zero length on network scanenrs, should fix #315552 + +commit 6ffeb9097386268e425ae2390ed2835853dbd439 +Author: Olaf Meeuwissen +Date: Sat May 6 20:40:25 2017 +0900 + + Fix test for API specification generation + + If none of the formats can be generated but API specs are requested, + bomb. The original test aimed to do so but was testing against "no", + a value that was never assigned. + +commit f3f8afb08c2098d9659757a8e7b8c212a09ddf79 +Author: Olaf Meeuwissen +Date: Sat May 6 12:24:13 2017 +0900 + + kvs20xx.c: don't assume sane_get_devices() has been called + + Nor that that function is called with a non-NULL argument. + This aligns the implementation with that of kvs40xx.c. + + Fixes 315625. + +commit 8995b1fc81e4378d2b5b0b6b0d354735403210ed +Author: Martin Husemann +Date: Tue Mar 15 18:07:00 2016 +0900 + + sanei_usb: fix number of bytes read for 64bit big-endian systems + + Fixes 315337. + +commit b1a2c6105443c5279684f0c6827c268594aa234d +Author: Louis Lagendijk +Date: Fri May 5 19:46:28 2017 +0200 + + pixma: backend version 0.17.37 + +commit 09c467deab5ca4301ab7da37241c3fc072b94399 +Author: Klaus Kaempf +Date: Wed May 3 17:52:15 2017 +0200 + + pieusb: Support ProScan 10T and Reflecta CrystalScan 3600 + + Neither of these scanner have an automated slide transport and fail on + respective SCSI commands. + + - Add flags parameter to control if automatic slide transport is available + - Reflect flags in pieusb.conf.in + - rename SLIDE_LAMP_ON to SLIDE_INIT + it fails on scanners without automatic slide transport, so it has + nothing to do with the lamp. + - run SLIDE_INIT only FLAG_SLIDE_TRANSPORT is set + - pieusb.conf.in: Add Reflecta CrystalScan 3600 + +commit 801558f959a03b5042d6df288cb1fd2c87035798 +Author: Aaron Muir Hamilton +Date: Mon May 1 20:15:23 2017 +0000 + + Write density (resolution) JFIF header information with JPEG files. + +commit b219bc2c73113fd9d8f7c5795bd662f03a8610ea +Merge: f624a9f 92e5979 +Author: Olaf Meeuwissen +Date: Thu May 4 18:26:55 2017 +0900 + + Merge branch 'icc-profiles' + +commit f624a9f72527fc2896562e338f9b7c07549af0f0 +Author: Olaf Meeuwissen +Date: Mon May 1 09:39:59 2017 +0900 + + utsushi.desc: sync with upstream + +commit 0ca2fc46136dbaa30da25f4b79b67871c7e2d39b +Author: Louis Lagendijk +Date: Wed May 3 13:52:06 2017 +0200 + + fix 1200 dpi scanning for MB5000 series + +commit ff5c11622dafe58d1025f34a3672c7a059e963a7 +Author: Louis Lagendijk +Date: Wed May 3 13:48:20 2017 +0200 + + Fix scanbutton detection for MB5000 series + +commit 6af0e32bd6bd9e2c1b2adc5cb2a0561902eef526 +Author: Paul Newall +Date: Mon May 1 19:49:41 2017 +0100 + + kodakaio.c patched to change avahi callback variable from global to local. Bug 315705 + +commit e0741f71e289b878f0efad6cbb56b15d73b49f4e +Author: Paul Newall +Date: Sun Apr 30 18:09:59 2017 +0100 + + deleted a line in configure.ac. This was a commented out line left from when the backend kodakaio used CUPS to autodetect printers. + +commit 92e59791d2e478484409f5f2e634196863d7dafb +Author: Olaf Meeuwissen +Date: Sun Apr 30 20:05:12 2017 +0900 + + Fix [-Werror=implicit-function-declaration] compiler error + + The fileno() is only available if its feature test macro passes. The + various symbols are defined appropriately in ../include/sane/config.h + during configuration of the build. + +commit adebd37b5cb3ec0cab3025300db5cdd03c2173cc +Author: Olaf Meeuwissen +Date: Sun Apr 30 20:00:28 2017 +0900 + + Fix [-Wpointer-arith] compiler warnings + +commit c3903cc476909884ace9fedbea5f69b3a4085b70 +Author: Aaron Muir Hamilton +Date: Mon Apr 17 12:07:40 2017 +0000 + + Avoid attaching grayscale ICC profiles to rgb images, or vice-versa. + + If the ICC profile added does not match the colour format of the + image, libpng will abort. This can leave the scanner motors in an + incorrect state and possibly cause permanent damage. + +commit a907b61bd58f00fd6b1d8468d9d28d6d39232c79 +Author: Aaron Muir Hamilton +Date: Mon Apr 17 12:07:39 2017 +0000 + + Add ICC profile embedding for PNG output. + +commit 2c653a926af83d7bb910307f441055a6d7603f0b +Author: Aaron Muir Hamilton +Date: Sun Apr 16 15:13:06 2017 +0000 + + Separate ICC profile loading into a separate file. + + This cuts out some duplicate code, and enables us to reuse this + logic for PNG, JPEG, and any other future output format. + sanei_load_icc_profile also allows us to know that an ICC profile + file is not long enough before we start to write it to the output; + this should prevent poorly-written software from overflowing into + image data when they read the bad profile based on its length. + +commit 611388db1d56b0ffd74af05c4a51fe518269c90d +Author: Rolf Bensch +Date: Thu Apr 27 21:59:24 2017 +0200 + + pixma.desc: fix usbid for PIXMA TS5000 Series + +commit 5389301a40d67ed627b1998e19a1af60da26e93f +Author: Olaf Meeuwissen +Date: Thu Apr 27 22:26:01 2017 +0900 + + utsushi.desc: PID 0156 is a ES-400 + + See Alioth issue 315695. + +commit a0321d2a92286afbc9557fa44e2de4f706cf2407 +Author: Aaron Muir Hamilton +Date: Sun Apr 16 09:06:48 2017 +0000 + + Include physical resolution (pHYs section) in PNG output. + +commit 469dc738aafe42b231ecae778e393263028ab1b9 +Author: Olaf Meeuwissen +Date: Thu Apr 27 21:17:34 2017 +0900 + + Only swap 16-bit PNG bytes on machines that are not big-endian + + The SANE API specifies that image bytes are in machine native order. + +commit 28eb09eec4c64d9070b5747c93c25134395cab53 +Author: Aaron Muir Hamilton +Date: Sun Apr 16 00:27:54 2017 +0000 + + Swap bytes in 16-bit PNGs, because PNG is big-endian. + +commit 5fa4be5ae4f9937d79f076f7004a4b48ba765e8a +Author: Rolf Bensch +Date: Wed Apr 26 11:06:00 2017 +0200 + + pixma: backend version 0.17.36 + +commit 879565cefcac61e371581d09696ef6d738c2a720 +Author: Rolf Bensch +Date: Wed Apr 26 11:43:30 2017 +0200 + + new scanners Canon i-SENSYS MF230 and MF240 Series + +commit ddccf956b44509fc21cdcd4c52b6750e2ddab37a +Author: Rolf Bensch +Date: Wed Apr 26 11:02:46 2017 +0200 + + pixma_mp150: MG5400 Series has button scan support + +commit f14285dba30404f23fc9de13d632e69f23f7cb75 +Author: Rolf Bensch +Date: Thu Apr 6 11:20:40 2017 +0200 + + pixma_mp150: MG5400 Series doesn't need special image format post processing @ high dpi + +commit 0960bf9c72d25a0f8686314fbe9a6a0f9002ea3c +Author: Olaf Meeuwissen +Date: Tue Apr 18 20:12:31 2017 +0900 + + utsushi.desc: sync with upstream + +commit dcddb9505c88485bda6cdcf77927d14008b449ee +Author: m. allan noah +Date: Tue Apr 11 21:22:05 2017 -0400 + + epjitsu backend v31 + + - hardware gray support for fi-60F/65F (disabled pending calibration) + - merge fi-60F/65F settings + - improve desc, conf and man files + +commit 34e4dbf6c35946ca52678f6a7a61ef002fddb1c2 +Author: Olaf Meeuwissen +Date: Mon Apr 10 20:23:03 2017 +0900 + + Bump Alpine and Fedora builder versions + +commit 9712e2aa2595f440252d40c26b680c3cf2b8ae30 +Author: m. allan noah +Date: Sat Apr 8 21:44:27 2017 -0400 + + fujitsu backend v133 2017-04-08, MAN + + - initial support for fi-7600/7700 + - autodetect various double feed capabilities using VPD + - call send_lut if we are using a downloaded gamma table + +commit 5edb87f9ac950473f8c3a57b4071c970887d8440 +Author: Olaf Meeuwissen +Date: Sat Apr 8 21:08:12 2017 +0900 + + genesys: Trigger reallocation of gamma tables on next sane_open() + + Fixes 315491. + +commit 6eb4a1f164ef116a3ed10ee42883a15c268ea01e +Author: Robert Ancell +Date: Tue Apr 4 11:36:05 2017 +1200 + + kodakaio: Fix crash when Avahi search fails + +commit ccb47215e653724f317f7d40138098762578a6f9 +Author: Olaf Meeuwissen +Date: Fri Apr 7 20:28:02 2017 +0900 + + Add missing double quote + + Accidently removed in 38ce7fc086a6ecbee94ef31901a6eb874fb611b1. + Thanks to Jon Nelson for pointing this out. + +commit 38ce7fc086a6ecbee94ef31901a6eb874fb611b1 +Author: Olaf Meeuwissen +Date: Wed Apr 5 18:29:41 2017 +0900 + + Update SANE developer and backend maintenance status + +commit cbcab6dffadffdb40f87ddffaf2aa7e1618bb72b +Author: Rolf Bensch +Date: Tue Apr 4 11:28:18 2017 +0200 + + pixma: backend version 0.17.35 + +commit 66ce95a5a1a716a92260701c76c0989abf4196bb +Author: Rolf Bensch +Date: Tue Apr 4 11:59:56 2017 +0200 + + new scanners Canon PIXMA G3000, E470, G3000, TS5000, TS6000, TS8000 and TS9000 [#315658] + +commit a2e26572729d62123b2f167fee9e671bf26b8987 +Author: Rolf Bensch +Date: Tue Apr 4 11:27:38 2017 +0200 + + pixma: signal scan cancel from the frontend with new parameter s->param->frontend_cancel + +commit c5bfbc5a3a43a81776841289cd164a584c2e8ec2 +Author: Rolf Bensch +Date: Tue Apr 4 11:25:53 2017 +0200 + + pixma: implement adf-wait for imageclass scanners + +commit 17f3899b1583971351ea7ac40e92660f6558268d +Author: Rolf Bensch +Date: Tue Apr 4 11:23:03 2017 +0200 + + pixma: new option adf-wait + +commit 3ef45ec3c3d56bfc60b339dac8a2f19543387ef3 +Author: Rolf Bensch +Date: Tue Apr 4 11:16:20 2017 +0200 + + pixma: update docs for MG5400 Series + +commit e6c8ea6f0bcb2c6b6f7004feadc7db6cbfc3ee2b +Author: m. allan noah +Date: Wed Mar 22 12:33:27 2017 -0400 + + epjitsu backend v30 again + + - typo in previous commit broke low resolution scans on fi-65F + +commit a7fde11e15e5604c7b37bc9553cbd08086c08e53 +Author: m. allan noah +Date: Tue Mar 21 21:35:59 2017 -0400 + + epjitsu backend v30 + + - bump build number + +commit 891e3984d0410fa8c698d99d79948df3237e258d +Author: m. allan noah +Date: Tue Mar 21 20:39:47 2017 -0400 + + epjitsu v30 + + - fix image truncation when using 150 DPI in Y direction + - add 200 and 400 DPI Y direction support for fi-60F/65F + +commit 42896939822b44f44ecd1b6d35afdfa4473ed35d +Author: Olaf Meeuwissen +Date: Sun Feb 19 16:45:45 2017 +0900 + + Address memory corruption and information leakage. + + Addresses CVE-2017-6318, Alioth#315576 and Debian's BTS#854804. + +commit eaa4d4407d96585b7cdbe194d8ac295eee3e6299 +Author: m. allan noah +Date: Sat Mar 18 19:15:03 2017 -0400 + + epjitsu backend v29 + + - fix infinite loop when scaling in Y direction + +commit 2f9ea038b157fc6d08ce882a1d9984d37b46d809 +Author: Olaf Meeuwissen +Date: Sat Mar 11 10:48:35 2017 +0900 + + Fix typo + + See http://alioth-lists.debian.net/pipermail/sane-devel/2017-March/035099.html + +commit 1e028b72cae0f4caaf48868504bd2cd1667d6da7 +Author: Olaf Meeuwissen +Date: Mon Mar 6 20:54:59 2017 +0900 + + pixma: updated status for MG5400 Series + + See http://alioth-lists.debian.net/pipermail/sane-devel/2017-March/035072.html + and http://alioth-lists.debian.net/pipermail/sane-devel/2017-March/035082.html + +commit 928b803ef1f1bc1007ca3fa83418f103c6a7bdd7 +Author: Olaf Meeuwissen +Date: Sun Mar 5 15:35:06 2017 +0900 + + utsushi.desc: sync with upstream + +commit f450049bccc1e331790cb2546c2c1440fa3d24c0 +Author: Olaf Meeuwissen +Date: Tue Feb 14 18:52:25 2017 +0900 + + utsushi.desc: sync with upstream + +commit e3ed043500e786724cc77fdd0565993e878a51fc +Author: Olaf Meeuwissen +Date: Mon Dec 26 08:13:33 2016 +0900 + + Update backend maintenance status + + Following the project member list cleanup, only backends that list + a project member with git write access in the AUTHORS file are now + considered maintained. + +commit 7a0e1126b3eebd38944b8b281e6a481b95a35bbd +Author: Louis Lagendijk +Date: Fri Jan 6 23:30:31 2017 +0100 + + Revert "pixma_mp150.c: Fix scanbutton detection for MB5000 series" + + This reverts commit 53aa78df3a6980791ce250c471d019c5c59b83ec. + +commit 306f8f16e78b52948a6e09fa0957b3e364e0189f +Author: Louis Lagendijk +Date: Fri Jan 6 23:29:59 2017 +0100 + + Revert "pixma_mp150.c: fix 1200 dpi scanning for MB5000 series" + + This reverts commit dfc5487571ed2915bda7bdedbd4c79015004361b. + +commit 9bc734042f6a2af159772eef412efe7c65ebb02f +Author: Louis Lagendijk +Date: Fri Jan 6 23:28:56 2017 +0100 + + Revert "pixma_mp150.c: scan param 0x26-0x29 should contain localtime HHMM, also for MB5000 series" + + This reverts commit eb712c6bd8ca6a42a1d3941583fa18b9981b8712. + +commit 6c439bce791522aa9cd3fc04cf62087bdd6c6875 +Author: Louis Lagendijk +Date: Fri Jan 6 23:28:31 2017 +0100 + + Revert "pixma_mp150.c: replace multiple if statements with case statement in handle_interrupt" + + This reverts commit 28dcd0aef4ac91b87527c17c8aa89e879f39f20d. + +commit 06b4b27ecfad1aa30c772fa0fac15d1c144c1e7a +Author: Louis Lagendijk +Date: Fri Jan 6 23:28:09 2017 +0100 + + Revert "pixma_mp150.c: fix parameter settings for MB5000 in send_scan_param" + + This reverts commit 1d2a40ec96aea0ba183415efea570301159d4159. + +commit 589e011992a21ae1edb4684eb89582350c47333f +Author: Louis Lagendijk +Date: Fri Jan 6 22:15:24 2017 +0100 + + Update the sane-pixma man-page for the new timout setting option. + +commit 1b442ce1ea7068bda1129c061071dc94bfd6a8d2 +Author: Louis Lagendijk +Date: Fri Jan 6 21:37:52 2017 +0100 + + Added examples for new bjnp timer settings in the pixma config file + +commit cfc7a069d2696942bfeac90e0ff7aa50f83d0ec1 +Author: Louis Lagendijk +Date: Sat Dec 31 17:56:06 2016 +0100 + + Added timeout options for the bjnp protocol + +commit c2898cb6021fac6e2a526c2ce4692783ca69b18d +Author: Louis Lagendijk +Date: Fri Dec 30 21:36:26 2016 +0100 + + Remove incorrect comment left from old version + +commit 526f642f6487cd348b39a6e138c2bffa9a88d0f6 +Merge: 32be261 68cd274 +Author: Louis Lagendijk +Date: Fri Dec 30 20:04:53 2016 +0100 + + Merge branch 'master' of ssh://git.debian.org/git/sane/sane-backends + +commit 68cd2744d1906ebf00b2bfdc90662992f8e5385c +Author: Olaf Meeuwissen +Date: Sun Dec 18 16:53:26 2016 +0900 + + Sort backends with LC_COLLATE=C + +commit d47957075ff0859f5bd52c683f5b6408c63d1e46 +Author: Olaf Meeuwissen +Date: Sat Dec 17 17:03:32 2016 +0900 + + Update git repositor write access info + +commit 078435eaf19d00e6b863a7802073863604c9e9dc +Author: Olaf Meeuwissen +Date: Mon Sep 12 19:58:42 2016 +0900 + + Fix typo + +commit 755e829caa23b9781863e4b1e1d24c3cfee9e8bf +Author: Dave Platt +Date: Thu Dec 15 23:12:07 2016 -0800 + + avision.c: abort "wait for light" loop if interrupted + + Adds a "cancelled" flag to the Avision device structure, cleared + in sane_start() and set in sane_cancel(). Test this flag in + wait_4_light() and bail out of the 90-second "wait for the + light to warm up" loop if the scan is cancelled. + +commit 28963459a4ac43100b8e377d65332d81a2660c0d +Author: Dave Platt +Date: Thu Dec 15 23:02:42 2016 -0800 + + avision.c: Recognize "backlight on" status + + Avision scanners can return an additional light-status value meaning + "Transparent Media Adapter back-light is on". Accept this as + equivalent to "on" during the lamp-warmup check prior to starting a + scan. Re-check the light status after sending the window command, as + the light selection might have been changed and a further warm-up + may be required. + +commit 6585b6f60d07a196e42c99b935e2754bbc80b3c8 +Author: Dave Platt +Date: Thu Dec 15 22:29:16 2016 -0800 + + avision.c: Add "skip-adf" option + + The code which tries aggressively to reset/initialize HP 82xx/83xx + Automatic Document Feeders doesn't work well if there's no ADF attached, + because the scanner reports a non-zero ADF model type in this case. + The retry code makes several attempts to initialize the ADF, and then + bails out with an "Operation not supported" error. + + Add a new "option skip-adf" which will cause the backend to believe + the "ADF not present" status if that's what the scanner reports. + + Fixes #313751 + +commit f58ce8f9201364bd0fe28ef736d4b1345f3f71b2 +Author: Troy Rollo +Date: Fri Dec 2 01:37:23 2016 +1100 + + HP3500: Always enable the second set of CCDs. This + prevents ghosting that occurs when only enabling the + first set of CCDs, even though at some resolutions + we will not get any data from the second set. + +commit 77986b1d14db5ba285d595ab7630748b3c6d9284 +Author: Troy Rollo +Date: Fri Dec 2 01:20:43 2016 +1100 + + HP3500: Move to scan area more quickly if it is a + long way from the home position + +commit b1f3815014f11bbadd74d255ee4343e16ffee6b8 +Author: Troy Rollo +Date: Tue Nov 29 21:11:06 2016 +1100 + + Add missing math library to HP3500 backend link flags + +commit fd7a3505f644573e832f417c7f0f62ca8ddeb7c8 +Author: Troy Rollo +Date: Tue Nov 29 20:47:59 2016 +1100 + + HP3500 backend: fix #314811, greatly improve + calibration, support harware calibration + in 120DPI and 400DPI, and add support for + hardware gamma correction. + +commit 6484ff8fc368db24b567e1d2fbb44cd86e0f9e43 +Author: Alex Belkin +Date: Sun Nov 6 23:03:23 2016 +0300 + + Forgoten comma in backends man pages list. + +commit 69a008830b84437701022cbd96a8863ac61d3ddf +Author: Alex Belkin +Date: Sun Nov 6 22:28:03 2016 +0300 + + Pre-create temporary file for Jpeg scanning. + + Jpeg mode (as submitted by Samsung developer) uses temporary file with + fixed name. This opens attacks on reading its content or overwriting any + other user-writable file (with symlink). This change pre-creates + temporary file with O_CREAT|O_EXCL and mode 0600. Assuming usual +t + permissions for tmp this should mitigate issue. + +commit 226c2b9deb2f4f4b1d7c51ad4bb83d181e5e31b5 +Author: Alex Belkin +Date: Sun Nov 6 21:50:06 2016 +0300 + + Update header and copyright statements for xerox_mfp. + +commit 58c1e43b83712899162030d83df3ecac151d69d3 +Author: Alex Belkin +Date: Sun Nov 6 21:38:47 2016 +0300 + + Indent of xerox_mfp-tcp.c and xerox_mfp-usb.c + + This is purely indent commit without any code changes, in + follow-up to 83bbcfe7d546b4d0cd28269b647fb558c6a1e00a. + + Indent command used: + astyle -A8 -U -H -k3 -W3 -o xerox_mfp-{usb,tcp}.c + + Proof that code is not changed: + git log -w -p xerox_mfp-{usb,tcp}.c + +commit 610533a9a66d7232a8a0ecd360871e3a6fa67980 +Author: Alex Belkin +Date: Sun Nov 6 21:24:38 2016 +0300 + + Update xerox_mfp man page. + +commit ba6a5710b508e73f4cb7152d034adc865f5201d7 +Author: Alex Belkin +Date: Sun Nov 6 21:00:58 2016 +0300 + + Update sane.man to index xerox_mfp backend. + +commit 83bbcfe7d546b4d0cd28269b647fb558c6a1e00a +Author: Alex Belkin +Date: Sun Nov 6 20:24:02 2016 +0300 + + Run indent: astyle -A8 -U -H -k3 -W3 -o xerox_mfp.[ch] + + This is purely indent commit w/o any code changes. + To prove run `git diff -w`. + +commit e4aed53a1e46b9d46a76f814d414ef8d2c2276e3 +Author: m. allan noah +Date: Sat Oct 8 19:32:43 2016 -0400 + + fujitsu backend v132 + + - remove ipc_mode option and variables + - set ipc mode based on other options + - cleanup inverted logic DTC options + - fixes threshold option reported in #315069 + +commit cfa98fd0d1271dd426ff2d6c565790d87cf3986d +Author: Rolf Bensch +Date: Sat Oct 8 14:25:33 2016 +0200 + + pixma: backend version 0.17.34 + +commit 7e20475c8b45249d05315d5a889551924210666d +Author: Rolf Bensch +Date: Sat Oct 8 14:24:53 2016 +0200 + + pixma: new scanner Canon PIXMA MG3000 Series + + see bug report #315521 + +commit 3b63fdab2b94f14765f8ba165546f6d69fc23ea9 +Author: Rolf Bensch +Date: Wed Oct 5 20:05:37 2016 +0200 + + pixma: backend version 0.17.33 + +commit c751a9ca22934ef93ca6b7afd3d0aaea4969c5fc +Author: Rolf Bensch +Date: Wed Oct 5 19:51:35 2016 +0200 + + fix ADF scanning for Canon MF57x0 devices + + - ignore result from calibrate(): don't interrupt @ PIXMA_STATUS_BUSY + - MF57x0 devices don't require abort_session() after the last page + - reported by Dmitry Deshevoy + +commit a9806de08ea65acb8a1109b480147a4a7ec76cb5 +Author: Olaf Meeuwissen +Date: Sun Sep 25 17:06:15 2016 +0900 + + AWARE: Treat compiler warnings as errors on debian-8-mini too! + +commit 490c4501c7ca59568bd9611665386c512163b51b +Author: Olaf Meeuwissen +Date: Sun Sep 25 17:04:23 2016 +0900 + + Sync autofoo + +commit da49686efe16bc5f7b4ddef18ea0dcb5f7c18d77 +Author: Olaf Meeuwissen +Date: Sun Sep 25 17:00:54 2016 +0900 + + sane-find-scanner: disable USB if not supported + + This fixes a [-Wpedantic] compiler warning about ISO C forbidding empty + translation units. The check-usb-chip.c file reduces to such a file in + the case USB support was explicitly disabled or no usable library found. + +commit 471e8ac0c1b565e5aea92f35ae173e167f3b61c7 +Author: Olaf Meeuwissen +Date: Sun Sep 25 16:28:11 2016 +0900 + + sanei_pp: fix [-Wcpp] compiler warning + + The `#warning` directive is turned into an error by `-Werror`. The + directive triggers is guaranteed to trigger with __GNUC__ when no + parallel support is available. This would prevent strict CI builds. + + Output a message with all compilers that understand the pragma. Those + that don't should ignore it, according to C99. + +commit 7d7030a40986d97d3cf7a5313bf889bce4af8131 +Author: Olaf Meeuwissen +Date: Sun Sep 25 15:53:46 2016 +0900 + + sanei_usb: : fix [-Wunused-parameter] compiler warnings + + These were issued in the absence of libusb. + +commit e6faafcdc94e253f7f4fe793fec6110ce37e8014 +Author: Olaf Meeuwissen +Date: Sun Sep 25 15:44:36 2016 +0900 + + xerox_mfp: fix [-Wunused-parameter] compiler warnings + + These are issued when libjpeg was not found during configuration. + +commit 32be261254a78d1f314b3ee86fd5e5b40ab91a86 +Merge: ec8bf64 97d2a3d +Author: Louis Lagendijk +Date: Wed Sep 21 22:35:10 2016 +0200 + + Merge branch 'master' of ssh://git.debian.org/git/sane/sane-backends + +commit 97d2a3d22d9c6a6d0a277de0066c73e9059abd92 +Author: Olaf Meeuwissen +Date: Wed Sep 21 22:11:09 2016 +0900 + + AWARE: Treat compiler warnings as errors on debian-8-full + + This build became compiler warning free in ee550e5d. Let's keep it + that way! + +commit 4119f05d5f400803a9c952896125e9feabb07393 +Author: Olaf Meeuwissen +Date: Wed Sep 21 21:54:39 2016 +0900 + + Fix USB ID typo + +commit ee550e5de8e636642b9895d54f6740aa38ee6ff8 +Author: Olaf Meeuwissen +Date: Mon Sep 19 12:52:31 2016 +0900 + + pieusb: fix [-Wunused-parameter] compiler warnings + + The functions that trigger these warnings were not used. + +commit bf088a6ed15733237df446a84d6659c4e0145c9a +Author: Olaf Meeuwissen +Date: Mon Sep 19 17:45:35 2016 +0900 + + Merge comments + + This gets rid of a missing :usbid warning. + +commit e01f574b19be74081650e9be9bcb16a3420068ef +Author: Olaf Meeuwissen +Date: Mon Sep 19 17:44:48 2016 +0900 + + Merge duplicate entry + +commit 1a328e412fb7bf3872de20fe6e57b00ab913a75d +Author: Olaf Meeuwissen +Date: Mon Sep 19 15:26:14 2016 +0900 + + Add missing USB IDs + + Taken from http://www.linux-usb.org/usb.ids + +commit dd940a1f612f56d2acb929afd54614ebc6dfb309 +Author: Olaf Meeuwissen +Date: Sat Sep 17 20:43:44 2016 +0900 + + utsushi.desc: sync with upstream + +commit fb0464d9e3e39a93306e98602ff879c43276de5c +Author: Olaf Meeuwissen +Date: Mon Sep 12 20:12:28 2016 +0900 + + niash: fix [-Wunused-but-set-variable] compiler warning + + This makes explicit what the compiler has effectively been doing all + along anyway since at least 727dd4ab (2004-08-03). + +commit 6f4b88b6173745f09e4ce1fa465db534eca85751 +Author: Olaf Meeuwissen +Date: Mon Sep 12 20:05:42 2016 +0900 + + epson2: fix [-Wunused-but-set-variable] compiler warning + + This makes explicit what the compiler has effectively been doing all + along anyway since at least 728e032a (2009-06-01). + +commit 4dce101c05515200a6cd337451da664c1978f115 +Author: Olaf Meeuwissen +Date: Mon Sep 19 10:04:35 2016 +0900 + + Keep generated *.eps and *.pdf files out of the repository + +commit 46bc0ff1c89a6759fd22f80fd1ceb9551268da4f +Author: Olaf Meeuwissen +Date: Sun Sep 18 21:41:03 2016 +0900 + + Sync autofoo + +commit 2b973d75fed73771664958ea6cb5b4b8fd7b1307 +Author: Olaf Meeuwissen +Date: Sun Sep 18 21:21:35 2016 +0900 + + Add fig2dev as prerequisite for API HTML docs + + The target for sane-html depends on sane.dvi which requires fig2dev. + + Thanks to: + - https://lists.debian.org/debian-user/2016/08/msg00484.html + - http://superuser.com/questions/1101439/error-building-sane-backend-on-debian + +commit db22a031d130d533f5fd41710ddabdc61280d313 +Author: Olaf Meeuwissen +Date: Sun Sep 18 21:19:12 2016 +0900 + + Fix typo introduced in fa41b180. Fixes 315435 + +commit 9d388c35937b75cf5f47410ead07ef2226ac8005 +Author: m. allan noah +Date: Sun Sep 11 19:03:23 2016 -0400 + + canon_dr v56 + + - add initial support for P-150M (and probably P-150) + +commit 39ceeae616a2e1638c2760d4364adcaa210a413b +Author: Olaf Meeuwissen +Date: Wed Sep 7 21:03:30 2016 +0900 + + md5: fix [-Wstrict-aliasing] compiler warnings + +commit 27a4da41b1761acba33e99aab4d782e726934c04 +Author: Olaf Meeuwissen +Date: Wed Sep 7 21:01:26 2016 +0900 + + Prefer *our* `include/` files + + This fixes discrepancies in build results for VPATH builds. + +commit 737977199ccd2419a51e120c472981b1a1263ab0 +Author: Olaf Meeuwissen +Date: Mon Sep 5 23:40:39 2016 +0900 + + umax_pp: fix [-Wunused-but-set-variable] compiler warning + +commit 50fa8efdcff0dd159d3ff51e219a3c08020ca54c +Author: Olaf Meeuwissen +Date: Sun Sep 4 14:39:52 2016 +0900 + + gphoto2: fix libgphoto2 logging integration + + In libgphoto2-2.5.0 (tagged for release on 2012-07-10) the GPLogFunc no + longer takes a va_list. Instead, it passes a formatted message. + +commit 23f052113b5567033da0d9c4679451d97c484220 +Author: Olaf Meeuwissen +Date: Sun Sep 4 12:50:19 2016 +0900 + + saned: fix [-Wunused-parameter] compiler warning + + The `__sane_unused__` attribute has been moved from sanei_backend.h to + sanei.h to make it generally useful instead of limited to backends. + +commit 0d527f6659e06175d855aaa1a70fc2be52aad1a7 +Author: Olaf Meeuwissen +Date: Sun Sep 4 12:13:16 2016 +0900 + + Drop build environments + + Adding them did not quite have the effect I thought it would. I had + thought it would allow for easy linking to build logs by environment + name. Alas, no such luck. + + This reverts commits: + - 9c44317289f1be0a72089ffd030be84caf75b58c + - 6209fecf3a11e90e2e5efc057cf650f4ab792b50 + +commit 74b4a34e82124621616c699ac0d5ba0d5e93b6a1 +Author: Olaf Meeuwissen +Date: Sun Sep 4 12:12:14 2016 +0900 + + dll: fix pedantic compiler warning + +commit 246673715d9abdbfbea349de4636322b242f9700 +Author: Olaf Meeuwissen +Date: Sat Sep 3 14:36:49 2016 +0900 + + utsushi.desc: sync with upstream + +commit a65e74fe83ae96d5d00af6a05c751086cdae8d38 +Author: Olaf Meeuwissen +Date: Sun Aug 28 15:49:44 2016 +0900 + + umax_pp: fix [-Werror=unused-but-set-parameter] compiler warnings + +commit 4eaefe43713036f73ab322e8d6b519589055540d +Author: Olaf Meeuwissen +Date: Sun Aug 28 15:27:50 2016 +0900 + + magicolor: fix [-Werror] compiler warning + + This casts away const-ness in the hope that libsnmp doesn't change + the session.peername. + +commit 31ac0db73672347732dc80cf8f2afe8e6f3d466b +Author: Olaf Meeuwissen +Date: Sun Aug 28 15:25:43 2016 +0900 + + magicolor: fix [-Werror=pointer-sign] compiler warnings + + The libsnmp API requires a u_char *session.community :-( + +commit c32d48ef5fd4a47a93933e6ffba5c8a93d26e43f +Author: Olaf Meeuwissen +Date: Sun Aug 28 14:18:48 2016 +0900 + + kodakaio: fix [-Weror=format=] compiler warning + +commit 0337514b8f0e484c11b668d8ca0e0af998d3dfbc +Author: Olaf Meeuwissen +Date: Sun Aug 28 14:18:00 2016 +0900 + + kodakaio: fix [-Werror=sign-compare] compiler warning + +commit 763816814bc072b19f1178e0d92031217d7f5f06 +Author: Olaf Meeuwissen +Date: Sun Aug 28 13:55:30 2016 +0900 + + hp5400: fix [-Werror=overflow] compiler warning + + This explicitly implements what gcc and clang assign. + +commit 9c44317289f1be0a72089ffd030be84caf75b58c +Author: Olaf Meeuwissen +Date: Sun Aug 28 13:24:17 2016 +0900 + + Fix environment name (periods are not allowed) + +commit 984fefd55173f30f4cde3ed7acb462d660c676eb +Author: Olaf Meeuwissen +Date: Sun Aug 28 13:21:11 2016 +0900 + + plustek_pp: fix [-Werror=sign-compare] compiler warning + +commit f0153bc7fe7fd79ef2b1b41d259adf3d20b9d641 +Author: Olaf Meeuwissen +Date: Sun Aug 28 12:57:17 2016 +0900 + + v4l: fix [-Werror=sign-compare] compiler warning + +commit 6209fecf3a11e90e2e5efc057cf650f4ab792b50 +Author: Olaf Meeuwissen +Date: Sun Aug 28 12:17:46 2016 +0900 + + Make referencing builds easier + +commit 235de98784897edb63d1ed1a32609b7786d799d0 +Author: Olaf Meeuwissen +Date: Sun Aug 28 11:58:16 2016 +0900 + + md5: fix [-Wpointer-arith] compiler warnings + + This reverts commits 9aecb00947e6bf7ef1cf412aff2ab41202617b30 and + cdad5961f3888f0a3c0c525d0efab33174c11a24 which fixed a different + compiler warning that seems to have disappeared (at least on the + debian-8-full builds). + +commit bf53c714348dbf4654de887ae7e649fbad6b2288 +Author: Olaf Meeuwissen +Date: Thu Aug 4 22:47:01 2016 +0900 + + Sync with upstream + +commit ffd93a9fad10ced31de037f2c6180f328a38b547 +Author: Olaf Meeuwissen +Date: Wed Aug 3 22:43:06 2016 +0900 + + Sync autofoo + +commit cb3090cb5472b63d5cdfb5110652f568bd9477ad +Author: Olaf Meeuwissen +Date: Wed Aug 3 22:16:26 2016 +0900 + + pixma: Fix include guard typo + + This was introduced in f573865 on 2008-10-18. + +commit 23cc2e1ba043ea8309923f5f1dcc5acaeee38a95 +Author: Olaf Meeuwissen +Date: Wed Aug 3 22:08:49 2016 +0900 + + Fix include guard typo + + This seems to have been present since the beginning of sanei/sanei_scsi.c. + +commit 63b55e2b591ba977a285a4c91fde0118c25246e7 +Author: Olaf Meeuwissen +Date: Wed Aug 3 22:05:03 2016 +0900 + + Drop check for sys/bitypes.h + + It was obsoleted in 70f3fdf on 2009-02-26. + +commit d263f25911a0b359b7edec0faa9320d5d13928da +Author: Olaf Meeuwissen +Date: Wed Aug 3 21:48:54 2016 +0900 + + Fix typo + + Appears to have been introduced in 0330a4d on 2009-02-02. There is no + evidence that a scdds.h file has ever existed. + +commit 970464f7332a1995bfd825de285425f0c957b1da +Author: Olaf Meeuwissen +Date: Wed Aug 3 20:53:06 2016 +0900 + + Drop unused CPP define + + The last reference to it was removed in 5dcf165 on 2007-06-21. + +commit 5389808029f0f81d204630f6e78abe11dfd61122 +Author: Olaf Meeuwissen +Date: Tue Aug 2 21:56:09 2016 +0900 + + Fix memory leak + +commit 1006445982877970d376c0f657e04fc1481e2459 +Author: Olaf Meeuwissen +Date: Tue Aug 2 21:38:43 2016 +0900 + + Use DIR_SEP instead of hard-coding ":" + + Fixes 313540 + +commit b021c3bee8e9edc7854050a3975cef003586b2e5 +Author: Troy Rollo +Date: Sun Jul 31 22:47:25 2016 +1000 + + Fix bug 314571 - hp3500 backend does not set correct size for string option. + +commit 1859803563f8baadeb6c0926610b2f782350d1e4 +Author: Olaf Meeuwissen +Date: Wed Jul 27 21:17:08 2016 +0900 + + Add a Fedora 24 Clang builder + +commit f6c8be1380c2f12080cdbd7a81eb2d5156eaa154 +Author: Olaf Meeuwissen +Date: Mon Jul 18 20:55:14 2016 +0900 + + kvs40xx: fix [-Wunused-function] compiler warning + + This rather unceremoniously removed the function. Note that a near copy + can be found in the kvs20xx backend code. + +commit effc26e4028f2d21a5bd9fec0458a78c0f6dc330 +Author: Olaf Meeuwissen +Date: Mon Jul 18 20:53:51 2016 +0900 + + kvs20xx: fix [-Wunused-function] compiler warning + + This rather unceremoniously removed the function. Note that a near copy + can be found in the kvs40xx backend code. + +commit 2d468852288b5d80e9e8b6831467081fe3ec874e +Author: Olaf Meeuwissen +Date: Mon Jul 18 17:32:21 2016 +0900 + + pnm: fix [-Wformat=] compiler warning + +commit 2f39c7227021e85b8fdde8161358858797bd7461 +Author: Olaf Meeuwissen +Date: Mon Jul 18 17:11:26 2016 +0900 + + v4l: fix [Wunused-parameter] compiler warnings + +commit 880992739020eee8cc0e005e6bdf853f2ff3572f +Author: Olaf Meeuwissen +Date: Mon Jul 18 17:10:56 2016 +0900 + + sm3600: fix [-Wunused-parameter] compiler warning + +commit 99c14f2d9503cd9a6c77d71d590e434e504052c6 +Author: Olaf Meeuwissen +Date: Mon Jul 18 16:51:08 2016 +0900 + + Use a single symbol to flag unused parameters + + The __sane_unused__ symbol was used slightly more often then UNUSEDARG + and, more importantly, defined in include/sane/sanei_backend.h. That + makes it readily available to virtually all backends. + +commit b73a6e5017f6d4d2d0ef7a61bf6e2113f848be94 +Author: Olaf Meeuwissen +Date: Mon Jul 18 16:14:20 2016 +0900 + + niash: fix [-Wunused-parameter] compiler warning + + The attribute needs to go before the pointer designation for it to have + any effect. + +commit 61719e0a131a6f0d4bf53aa98ecf510ce7081ca7 +Author: Olaf Meeuwissen +Date: Mon Jul 18 16:11:39 2016 +0900 + + dc240: fix [-Wunused-parameter] compiler warning + + The attribute needs to go before the pointer designation for it to have + any effect. + +commit ef8e258165526175c9ac2d262448f16b551d19e9 +Author: Olaf Meeuwissen +Date: Thu Jul 14 21:12:38 2016 +0900 + + Sync autofoo + +commit 57350969f6f46195c5fd5e255b3d1906df401d19 +Author: Olaf Meeuwissen +Date: Thu Jul 14 20:51:42 2016 +0900 + + sane.tex: mark up email as a URL + +commit 707baa0d160ff13331bed6063d2502b09f902f38 +Author: Olaf Meeuwissen +Date: Thu Jul 14 20:50:14 2016 +0900 + + doc/sane.tex: drop html.sty in favour of url.sty + + The latter is part of the core TeX Live distribution which is readily + available on all major operating systems. + +commit bfd1626c4b119404429a847aaa92df77ca3fbb40 +Author: Olaf Meeuwissen +Date: Wed Jul 13 23:44:26 2016 +0900 + + Sync autofoo + +commit 8598f81d0b9542b6f4928b8b870a26b50f440379 +Author: Olaf Meeuwissen +Date: Wed Jul 13 23:43:35 2016 +0900 + + Fix figure orientation + +commit 00bc3e9b451f8dfb89553305cce89172be520bb1 +Author: Olaf Meeuwissen +Date: Wed Jul 13 23:40:19 2016 +0900 + + Generate EPS figures too + + It's good to know how this is done so that we can modify any original + figure if need be. + +commit cc8f99b900d5ae44248677f6881f1b74d7885bfb +Author: Olaf Meeuwissen +Date: Wed Jul 13 23:24:29 2016 +0900 + + Generate PDF figures explicitly with fig2dev + + This utility has less dependencies and supports conversion to a pile of + other formats that may come in handy as well. + + Clean up of generated PDF figures has been moved to the clean target as + well. + +commit d7e1995d001b0d16b9920e751be923f6a8393bf1 +Author: Olaf Meeuwissen +Date: Wed Jul 13 22:37:44 2016 +0900 + + doc/sane.tex: Replace epsfig with graphicx + + The graphicx package allows for file specification without a hardcoded + extension. This provides more freedom in chosing how to prepare images + in *.eps and *.pdf formats. + + Moreover, epsfig is considered mostly obsolete in the TeX community and + graphicx is the "current 'preferred' solution" to embed figures. + See https://www.ctan.org/pkg/epsfig. + +commit 0aab12b934a9f9620fb1236e13dd2b71a7426000 +Author: Olaf Meeuwissen +Date: Mon Jul 11 20:41:54 2016 +0900 + + Bump standard minor version + + This is to acknowledge the SANE_STATUS_GOOD fixes in net.tex that were + committed in 4daf488 and 1100883. + +commit 1ed3b9fa86e6bc6875a72a9b347164a5879ffe8b +Author: Olaf Meeuwissen +Date: Mon Jul 11 20:37:08 2016 +0900 + + Reclassify doc/html.sty + + It is a package used by doc/sane.tex. + +commit 2481e1e98b02e927cdb9c2e6e404252ef9e49041 +Author: Olaf Meeuwissen +Date: Sun Jul 10 15:43:42 2016 +0900 + + Sync autofoo + +commit fa41b18001f74e8941813709f15a15cc9ea299e1 +Author: Olaf Meeuwissen +Date: Sun Jul 10 20:35:04 2016 +0900 + + Refactor API spec conversion support + + Unless explicitly asked to do without, all formats for which required + tools are found will be built. Checks cover PostScript, PDF and HTML. + + All logic and files involved are now collected in a single "section" + and grouped in such a way that their function should be clearer. + + fixup! Refactor API spec conversion support + +commit d7c69d141ffb4f456d659b443aa4c3d3be82793e +Author: Olaf Meeuwissen +Date: Sun Jul 10 19:40:04 2016 +0900 + + Add test for the TeX to HTML converter + +commit fe2fbe06e1b7db42ea2578e8d853cf83d7bb72a9 +Author: Olaf Meeuwissen +Date: Sun Jul 10 19:29:55 2016 +0900 + + Refactor TEXINPUTS handling + +commit f322cbc7f950b087e969ac115a5b4e14735881e4 +Author: Olaf Meeuwissen +Date: Sun Jul 10 15:41:08 2016 +0900 + + Add support for PDF API spec output + + Note that pdflatex internally uses epstopdf which in turn requires a + working ghostscript. + +commit 5a73fb24d1e7a5dcdd287ce7654050b1703cc9c6 +Author: Olaf Meeuwissen +Date: Sun Jul 10 14:48:43 2016 +0900 + + Be quiet but do not hide errors + +commit e0fd693bb170813f95241898a53ba3f9c261c22a +Author: Olaf Meeuwissen +Date: Sun Jul 10 13:32:22 2016 +0900 + + Fix API spec generation for VPATH builds + +commit cb04102a20bc5b1e9cbb990805de3586a0a940c0 +Author: Olaf Meeuwissen +Date: Sat Jul 9 15:10:00 2016 +0900 + + Add GitLab CI musl build job + +commit be7af6835741c18ea93babd421c083c377b1f88d +Author: Ruslan Nabioullin +Date: Sat Oct 29 20:27:47 2011 -0400 + + Fixed scanning status messages. Fixes 313411 + +commit d62d0a2e452e9ed1ae74cc20c01488543cda8ef9 +Author: Olaf Meeuwissen +Date: Wed Jul 6 20:23:12 2016 +0900 + + check-po.awk: fix awk invocation + + The awk utility has been moved to /usr/bin and the script relies on + features present in gawk but not in mawk. + +commit ddbdfd6206e30e513509720dd5137c26c9efc248 +Author: Olaf Meeuwissen +Date: Sun Jul 3 21:11:04 2016 +0900 + + Fix configure time test + +commit c17821e3609080309bcb8a3173cb071e1493a62c +Author: Olaf Meeuwissen +Date: Sat Jul 2 19:23:01 2016 +0900 + + Fix configure time warning during CI build + +commit c96236862635f74d8a1c01654430d93bed83f756 +Author: Olaf Meeuwissen +Date: Fri Jul 1 23:45:43 2016 +0900 + + Sync autofoo + +commit a9c813944e9aa0ceb6c153d06dff286ba855b90e +Author: Olaf Meeuwissen +Date: Fri Jul 1 23:37:49 2016 +0900 + + Make libusb-1.0 the default for USB support + + When libusb-1.0 is not found, libusb-0.1 will be tried. On BeOS and + OS2, nothing should have changed in terms of detection of USB support. + + On all systems the --enable-libusb* flags are now ignored. Instead, the + --with-usb and --without-usb flags now control support. When neither is + given USB support will be enable if possible and disabled otherwise. If + --with-usb is requested but not possible, ./configure will fail. There + is no support to prefer libusb-0.1 over libusb-1.0. + +commit 418fbb987d731ed2468f48a6fb162f47ea7da55e +Author: Olaf Meeuwissen +Date: Thu Jun 30 21:50:33 2016 +0900 + + Sync autofoo, once again ... + +commit 602182931dceeedddcc6be3b144cbc1423bd9b4a +Author: Olaf Meeuwissen +Date: Thu Jun 30 21:49:25 2016 +0900 + + Improve test shell builtin invocation portability + + Looks like I missed this when committing 309a8140. + +commit 828cd013e9a4411158af8816a63b133b6da19ed5 +Author: Olaf Meeuwissen +Date: Thu Jun 30 21:38:04 2016 +0900 + + Compile getopt replacement functions only if needed + + This ought to get rid of the last empty compilation unit warnings. This + merges libfelib.la with liblib.la. The former was always used together + with the latter. The latter was only ever used without the former when + linking backends and tools. + + Tools might want to use the getopt functions, backends might just want + to use MD5. + +commit 89dc05006ec93e8fd8a103504701db720814669a +Author: Olaf Meeuwissen +Date: Wed Jun 29 22:21:10 2016 +0900 + + Sync autofoo + + Looks like the sorting of the DIST_COMMON file list is not stable. + +commit a298bfe5a8c65236ac13130e891a93bf3cf58976 +Author: Olaf Meeuwissen +Date: Wed Jun 29 22:20:51 2016 +0900 + + Fix AS_IF condition + +commit f03f1f66d4a7704c20d221897665509d7f1a626a +Author: Olaf Meeuwissen +Date: Wed Jun 29 22:15:06 2016 +0900 + + Sync autofoo files + +commit 1c946f7c194869966f6d3af9df499184d3035c20 +Author: Olaf Meeuwissen +Date: Tue Jun 28 22:42:09 2016 +0900 + + Compile replacement functions only if needed + + This ought to get rid of most empty compilation warnings. + +commit 0c2b86ac0b56ee7cb8b962102c54855f05887b08 +Author: Olaf Meeuwissen +Date: Mon Jun 27 22:33:28 2016 +0900 + + Fix distcheck issues in tools/ + + Automake is smart enough these days to compile the *.lo files that are + used when linking. + + The umax_pp_CPPFLAGS are useless because backend/umax_pp_low.c undefines + BACKEND_NAME unconditionally and sets it to what was passed here ;-) + +commit 81f9557966ad335a76deff57a112607d9813ba7a +Author: Olaf Meeuwissen +Date: Mon Jun 27 22:08:20 2016 +0900 + + Clean up .gitignore file content + + Removes empty lines and duplicates (note that .gitignore patterns are + recursive unless anchored with a leading /). + +commit 61f3fec68e14944be7ecf219ec604e599141cbdf +Author: Olaf Meeuwissen +Date: Mon Jun 27 22:05:50 2016 +0900 + + Remove references to SANE CVS + + The references in in-file changelogs and the ChangeLog files have not + been modified. Only those references that refer to current practices + or locations. + +commit c23791cbd71d58b2627cfc65bbf2cb20aeb51bba +Author: Olaf Meeuwissen +Date: Mon Jun 27 21:51:43 2016 +0900 + + Sync AUTHORS content with current status + + We've been using git for a while ;-). Also updates the write access + info and fixes encoding issues. + +commit cb4924f210bf758558b583220a14ed5a62f178dc +Author: Olaf Meeuwissen +Date: Sun Jun 26 10:22:35 2016 +0900 + + Stop distclean from removing files willy-nilly + + The distclean target should only remove files that make creates. If + there are any that need taking care of, they should be added in on a + per file basis in the Makefile.am that creates it. + +commit 0065aaa1c8cb823d20b1e0ff32b3f6197e73db3f +Author: Olaf Meeuwissen +Date: Sun Jun 26 10:11:42 2016 +0900 + + Remove overly zealous ignore patterns + + Text editor backup and temporary files like *~ are a per developer + issue, add them to your global .gitignore. Other dot-files should + be ignored on a case-by-case basis. + +commit 8274a52eec3c20becf9901acaab4837b6b61c2f7 +Author: Olaf Meeuwissen +Date: Sun Jun 26 10:07:26 2016 +0900 + + Sort .gitignore files + +commit b25ef62c2bb163fffea56000ef25544a236d2096 +Author: Olaf Meeuwissen +Date: Sun Jun 26 10:05:12 2016 +0900 + + Fix sorting of ignore files + + We haven't been using CVS since ... 2009-05-04 :-| + +commit 0bc7b6aed7e3ac8ee78190f0e795ce9c62c3f36e +Author: Olaf Meeuwissen +Date: Sun Jun 26 09:16:54 2016 +0900 + + Sync *.po files with previous changes + + This changes the file/line references in all files (and picks up any + new messages as a side effect). + +commit bdade6bb07a0ec27e3930c0b3b86c28a5c2a5bd9 +Author: Olaf Meeuwissen +Date: Sun Jun 26 09:15:24 2016 +0900 + + Sync derived files with previous changes + +commit ec4fe7ec7200a881feba5b539256dc58ae1edbaf +Author: Olaf Meeuwissen +Date: Sun Jun 26 08:50:04 2016 +0900 + + Prefer gettext's --disable-nls option + +commit c676acbe472f2a57763d0ce198e50b048d37bbda +Author: Olaf Meeuwissen +Date: Sun Jun 26 08:49:14 2016 +0900 + + Switch to using the gettext build machinery + + This adds two automatically maintained English variants that handle + quote substitution in onrder to provide smart quotes. + +commit 0286bf46fc2992dfd2e9539fb939c243db13e91f +Author: Olaf Meeuwissen +Date: Sun Jun 26 08:30:45 2016 +0900 + + Add gettext build machinery files for I18N/L10N support + + These are courtesy of autopoint and target gettext-0.18.1 because that + is the version in Debian 7 (which is what Alioth is running). The one + warning this produces on autoreconf is fixed in gettext-0.18.2, BTW. + +commit eecee6d1014537cabe427d44168fce9ac9894301 +Author: Olaf Meeuwissen +Date: Sat Jun 25 15:23:05 2016 +0900 + + Fix VPATH build issue + + The source *.po files weren't found when you configured outside of the + top source directory. + +commit 00984cd1119bb9bb5b794bfc0f1ef77369978d68 +Author: Yurii Kolesnykov +Date: Sat Jun 25 03:34:12 2016 +0300 + + Fix compilation of saned.c under OS X + +commit ad176ba9fe1f7608d8ad8032407cf1f7dc66dad6 +Author: Alessandro Zummo +Date: Tue Jun 21 00:50:02 2016 +0200 + + epsonds: remove unused var + +commit 1dbabdce5d34e686608bb997245c49a823e19fb5 +Author: Alessandro Zummo +Date: Tue Jun 21 00:49:08 2016 +0200 + + epsonds: fix compilation + +commit 9b389a61c5e698e8bffb186bdbc005739128b427 +Author: Alessandro Zummo +Date: Tue Jun 21 00:43:39 2016 +0200 + + epsonds: added support for network scanners + +commit f13ca02b86a4d27951149723ca2ae81491991c18 +Author: Olaf Meeuwissen +Date: Mon Jun 20 21:42:56 2016 +0900 + + Fix variable name typo and other typographic nit-picks + +commit e7100e275d58d67b903e883e7a02e45d18f81ef7 +Author: Olaf Meeuwissen +Date: Wed Jun 15 20:47:28 2016 +0900 + + Update documentation to reflect recent changes + +commit 5695d01077c7e575808a37a66df37d1f9fafa637 +Author: Olaf Meeuwissen +Date: Wed Jun 15 20:23:33 2016 +0900 + + Silence overly verbose targets + + This only takes effect with silent rules enabled. + +commit 43cdc1056af899520797b09f3f78ba64703ed74d +Author: Olaf Meeuwissen +Date: Wed Jun 15 20:18:25 2016 +0900 + + Do not duplicate Warning on output + +commit 40bfec7a6b4a804201bad7f0517f16b0c6ae4110 +Author: Olaf Meeuwissen +Date: Wed Jun 15 20:17:29 2016 +0900 + + GitLab-CI: fix configure option + +commit f75e271853f40c6cb00ce59cbb4e9d62d083a1b2 +Author: Olaf Meeuwissen +Date: Tue Jun 14 21:24:53 2016 +0900 + + Tweak GitLab CI builds + + The idea is to build as much as possible for the *-full flavour build, + make compiler warnings stand out and muddle on after errors so that we + get all the problems in a single log. + +commit ef7deff36c759efa8d371251febef6d37d4eb94b +Author: Olaf Meeuwissen +Date: Tue Jun 14 21:20:48 2016 +0900 + + Add missing autofoo file + + This should have gone in with d853463e. + +commit d853463ef1b97082d657a0be32d1b27a04940ea2 +Author: Olaf Meeuwissen +Date: Tue Jun 14 06:30:48 2016 +0900 + + Sync derived files + + This was done with + + AUTOMAKE="automake --add-missing --copy" autoreconf --force + + on Debian GNU/Linux 8.5. + +commit 17d78ab7c326069c3a596f17ded6418ef42930bc +Author: Olaf Meeuwissen +Date: Fri Feb 12 21:09:32 2016 +0900 + + Fix warnings of "newer" automake versions + +commit a7376ffa6dd1796c1678b33bd03bf19766e227de +Author: Olaf Meeuwissen +Date: Fri Feb 12 20:52:57 2016 +0900 + + Fix libtoolize warning + +commit 7675cb7c3eb5b6e97fb87adc464b6bcc67cfd7dd +Author: Olaf Meeuwissen +Date: Thu Feb 11 17:43:14 2016 +0900 + + Drop Makefile.in from EXTRA_DIST + + Automake is smart enough to include this on its own. + +commit 7bfa818c57485310994650528124a7036894eb36 +Author: Olaf Meeuwissen +Date: Thu Jan 14 21:22:00 2016 +0900 + + Set up compiler and linker early and in one place + +commit f80cf1dbbdd85f2a0b595aef83cc63faa0c91c04 +Author: Olaf Meeuwissen +Date: Thu Jan 14 20:21:49 2016 +0900 + + Remove unused SANE_LINKER_RPATH macro + +commit e4ad1f58f31ec7110df716494b13cf96156b6a7c +Author: Olaf Meeuwissen +Date: Thu Jan 14 18:50:47 2016 +0900 + + Enable ISO C99 support for more compilers + +commit 444b572d1a559d93a6ad172f86bdcc9197377e75 +Author: Olaf Meeuwissen +Date: Sat Jan 9 18:43:36 2016 +0900 + + Use autoconf provided --docdir + +commit f1f4180e5b6f71bf3a674bbfcbf7932b401d7a96 +Author: Olaf Meeuwissen +Date: Sat Jan 9 18:24:20 2016 +0900 + + Collect autoconf bits in one place + +commit 35f1936aeba18b34628d35938529e0d2af0e58c7 +Author: Olaf Meeuwissen +Date: Sat Jan 9 18:11:53 2016 +0900 + + Determine version bits and release programmatically + +commit 16497dc13838e14784778883fb2837fbcf9e288e +Author: Olaf Meeuwissen +Date: Sat Jan 9 17:59:20 2016 +0900 + + Replace convenience variable by its expansion + +commit 9a52b5bc27c2a50e14161b4dcaba43f825cf91a4 +Author: Olaf Meeuwissen +Date: Sat Jan 9 17:48:27 2016 +0900 + + Fix variable name typo + +commit 79c623628a28b6c28321cad6518bf98cf7a705a4 +Author: Olaf Meeuwissen +Date: Sat Jan 9 17:48:03 2016 +0900 + + Fix new automake warnings + +commit 97fed76717367289a8e160dab4341d79586c1079 +Author: Olaf Meeuwissen +Date: Sat Jan 9 17:22:31 2016 +0900 + + Replace obsolescent macro with LT_INIT option + +commit c868a2e8d48e3c31051b6a8978c9b1df494bc36b +Author: Olaf Meeuwissen +Date: Sat Jan 9 17:22:07 2016 +0900 + + Remove commented out code + +commit 4894b1513d829957e109e5c49b812dc688fe78b3 +Author: Olaf Meeuwissen +Date: Sat Jan 9 17:11:19 2016 +0900 + + Drop a pile of unnecessary macro invocations + + These are already taken care of by other macros. + +commit ae89c8f98362a4e50d4b1a0ce8f3586b77a81989 +Author: Olaf Meeuwissen +Date: Sat Jan 9 15:59:35 2016 +0900 + + Update to automake-1.11.6 + + This turns on additional warnings and adds support for silent make + rules (so compiler warning really stand out ;-). + +commit 87e12bbf2e4312bf0bd18656afe579919c8788e1 +Author: Olaf Meeuwissen +Date: Mon Jun 13 22:24:21 2016 +0900 + + Sync derived files with autoreconf --force + + For the record, this was done on Debian GNU/Linux 8.5. + +commit 309a8140e7285f87d5fc5ee24b942f1713e80be8 +Author: Olaf Meeuwissen +Date: Wed Oct 28 21:59:42 2015 +0900 + + Improve test shell builtin invocation portability + + POSIX 2008 obsoletes the -a and -o operands (according to the autoconf + documentation). + +commit d9e2f441139c0514c3d388976d1f8fc78a04de95 +Author: Olaf Meeuwissen +Date: Wed Oct 28 20:59:22 2015 +0900 + + Double quote code passed to AC_LANG_PROGRAM + + Upon re-reading the autoconf documentation, this seemed the right thing + to do. The AC_LANG_PROGRAM macro does not quote its arguments so any + occurence of [ and ] will get stripped out if not double quoted. + + Current code snippets passed do not use them but it is better to use a + consistent quoting approach for such snippets. In other places in the + configure.ac file double quoting is used already. + +commit d3d5dc3da04cce842f7fa8d941676f2f5abc3bbd +Author: Olaf Meeuwissen +Date: Thu Oct 22 22:18:19 2015 +0900 + + Update to autoconf-2.69 + + This gets rid of a number of obsoleted macros and replaces RETSIGTYPE + with a void literal which can be assumed for C89 and later. + + This changeset was prepared using autoupdate and modified to get rid of + whitespace and doubled [] changes. Changes to acinclude.m4 were added + by hand. + +commit 2d6fad58b4c61d59bec3879dab9ccf0c1b88dd11 +Author: Olaf Meeuwissen +Date: Thu Oct 22 20:15:45 2015 +0900 + + Respect GNU Standards user variables + + Several variables are considered "user variables" by the GNU Standards. + This means that the user can pass these to their ./configure and make + invocations as they see fit. These variables include CPPFLAGS, CFLAGS + and LDFLAGS. + + This changeset pushes our use of these variables to the automake shadow + variables, AM_CPPFLAGS, AM_CFLAGS and AM_LDFLAGS, so that user variables + will no longer clobber flags required in order to build. + +commit 7a2b112d20e08337528128745bf7cc1d6096a1d8 +Author: Olaf Meeuwissen +Date: Wed Oct 21 22:33:53 2015 +0900 + + Prefer make variables over literal substitutions + + The AC_SUBST and PKG_CHECK_MODULE invocations in configure.ac as well as + acinclude.m4 are sufficient to trigger automake to insert initialization + logic for the variables these introduce. There is no need to do this by + hand. Wherever these values are needed, it is better to use a variable. + This allows for one-off overrides on the make command-line (without the + need to run ./configure) for one thing. + +commit 2745528b60617d737a7a597c4ee5397359a6ddfd +Author: Olaf Meeuwissen +Date: Mon Oct 19 21:52:47 2015 +0900 + + Fix non-POSIX automake file variable warning + + This addresses warnings about the use of the $(wildcard) function. + It has been replaced by a plain shell glob. There is one case where + this will result in an error, when there are no matches, but that is + when the targets that use it make no sense. It is probably good to + get an error in that case. + +commit d81836bd2332e42136a15a72961c0b9295d94b58 +Author: Olaf Meeuwissen +Date: Mon Oct 19 21:04:53 2015 +0900 + + Add automake subdir-objects option + + This addresses autoreconf output such as: + + tools/Makefile.am:37: warning: source file '../backend/sane_strstatus.c' is in a subdirectory, + tools/Makefile.am:37: but option 'subdir-objects' is disabled + + The option was introduced in automake version 1.9 and is slated for + unconditional activation with automake-2.0. + +commit d38a098ec6fce0aa18dd757677c5a07ff1a44163 +Author: Olaf Meeuwissen +Date: Mon Oct 19 20:20:56 2015 +0900 + + Rename configure.in to configure.ac + + This name has been preferred since autoconf-2.52 and automake-1.5. + Both were released in the summer of 2001. Support for configure.in + is slated for removal in automake-2.0. + + The configure.ac file itself requires autoconf-2.54 or later (and + does not care about the automake version). + +commit c9027378a12a6f67b22ee5fe203df1739486e3ad +Author: Olaf Meeuwissen +Date: Mon Jun 13 20:35:34 2016 +0900 + + xerox_mpf: Make JPEG support an option + +commit 359bb9c3d48c87324b2ead602de76e0e35daadba +Author: Olaf Meeuwissen +Date: Sun Jun 12 20:32:30 2016 +0900 + + Add CI support to test selected build scenarios + +commit 5ba37467e88ca8052973b37128ce8fd36ad5d61d +Author: m. allan noah +Date: Thu Jun 9 21:51:18 2016 -0400 + + fujitsu backend v131 + + - hide compression-arg option when jpeg disabled + - add Send/SC/GHS macros for recent scanners + - add initial support for fi-74x0 + - add initial support for fi-7030 + - set has_MS_lamp=0 for fi-71x0 + - add I18N macros to all option titles and descriptions + - add usb ids for many newer scanners + +commit ec8bf64396b394c4d483b811f9948871f12882b4 +Merge: 1d2a40e 1e01365 +Author: Louis Lagendijk +Date: Sat May 21 22:06:57 2016 +0200 + + Merge branch 'master' of ssh://git.debian.org/git/sane/sane-backends + +commit 1e013654cc3af09f4731ab9ec8d8324d03a7de4a +Author: Alessandro Zummo +Date: Mon May 9 11:10:35 2016 +0200 + + pieusb: mkostemp -> mkstemp + +commit 926bfade544de4a4fd5f1a8082b85a97e2443770 +Author: Alex Belkin +Date: Sat May 7 22:33:03 2016 +0300 + + Color scanning for Samsung models, which support JPEG Lossy compression. + + Patch is submitted by Laxmeesh Onkar Markod + + Patch to code is applied almost verbatim, except, insignificant + formatting fixes and making new functions static. + + Also, new USB ids added and scanner support is changed as reported. + +commit 1d2a40ec96aea0ba183415efea570301159d4159 +Author: Louis Lagendijk +Date: Sat Apr 30 15:32:55 2016 +0200 + + pixma_mp150.c: fix parameter settings for MB5000 in send_scan_param + +commit 28dcd0aef4ac91b87527c17c8aa89e879f39f20d +Author: Louis Lagendijk +Date: Wed Apr 27 18:45:22 2016 +0200 + + pixma_mp150.c: replace multiple if statements with case statement in handle_interrupt + +commit eb712c6bd8ca6a42a1d3941583fa18b9981b8712 +Author: Louis Lagendijk +Date: Wed Apr 27 17:55:52 2016 +0200 + + pixma_mp150.c: scan param 0x26-0x29 should contain localtime HHMM, also for MB5000 series + +commit c8169b1e656f7f95c67946298da5a0e1c143f8e8 +Author: Louis Lagendijk +Date: Fri Apr 22 23:58:23 2016 +0200 + + pixma.h: step version of the backend to 0.17.32 + sane-pixma.man pixma.desc: mark Maxify MB5000 as complete (but ADF does not work) + +commit dfc5487571ed2915bda7bdedbd4c79015004361b +Author: Louis Lagendijk +Date: Fri Apr 22 22:42:48 2016 +0200 + + pixma_mp150.c: fix 1200 dpi scanning for MB5000 series + +commit d5e1323738a4ed2edc96b566138c7cc6c55f3f5e +Author: Louis Lagendijk +Date: Fri Apr 22 21:05:40 2016 +0200 + + pixma.h: step pixma backend version to 0.17.31 + +commit c2985f0fd60279bca0dcfed3d3fb60cc33cfe4dc +Author: Louis Lagendijk +Date: Fri Apr 22 21:03:48 2016 +0200 + + pixma_bjnp_private.h: change minimum timeout value for the bjnp protocol to 1 sec + as 500 ms gives errors on scanimage -A (it workked for scanbd) + +commit 4b2f171a13248a8e3d79379e368c54fb71ed97e2 +Author: Louis Lagendijk +Date: Wed Apr 20 11:19:32 2016 +0200 + + pixma_bjnp.c pixma_bjnp_private.h: set minimum timeout for network operations to 500ms + +commit affe1ac821b17813188bd91045ced32fe4fcfe56 +Author: Louis Lagendijk +Date: Wed Apr 20 10:58:54 2016 +0200 + + pixma_bjnp.c pixma_bjnp_private.h: make bjnp protocol follow timeouts set by backend + +commit 53aa78df3a6980791ce250c471d019c5c59b83ec +Author: Louis Lagendijk +Date: Mon Apr 18 22:00:15 2016 +0200 + + pixma_mp150.c: Fix scanbutton detection for MB5000 series + +commit 1452cf2e0d9f56602a5ca9b07e52f8d8f6b9ec8a +Author: Louis Lagendijk +Date: Sat Apr 16 21:37:25 2016 +0200 + + pixma_bjnp: Remove dead code in polling + +commit 19c128a23e27c1ab5a030fa6ff74da1b740629bb +Author: Rolf Bensch +Date: Tue Apr 12 18:30:24 2016 +0200 + + README.linux: move installation description into new document INSTALL.linux + +commit 51943537c314c9060138df8b37307377c307ba3a +Author: Rolf Bensch +Date: Tue Apr 12 18:14:55 2016 +0200 + + pixma: backend version 0.17.30 + +commit 270a8cd3bebfb2a630a1b74d5abd0b6fe2fc2e5d +Author: Rolf Bensch +Date: Tue Apr 12 18:13:36 2016 +0200 + + pixma: Canon PIXMA MG7700 Series is working + +commit 2556ffc2c593c3408cc554ecc97e07db457c975d +Author: Rolf Bensch +Date: Thu Mar 31 11:21:27 2016 +0200 + + pixma_mp150: MG7700 Series doesn't need special image format post processing @ high dpi + +commit e6b6ad9d4847e86aed8be0837a19bfada881f52d +Author: m. allan noah +Date: Tue Apr 5 20:30:10 2016 -0400 + + canon_dr backend v55 + + fixed-width scanners were calculating left-side offset incorrectly in color + initial support for DR-F120 + rename all DUPLEX_INTERLACE_* to indicate start and end of line + +commit 41a416e4afcf6cada69193dc408ef184d0e5f678 +Author: Alessandro Zummo +Date: Mon Mar 21 18:59:47 2016 +0100 + + epsonds: fixed resolution setting bug, DS-60000 workaround is needed no more + +commit 52bc4d241c9587e99be2ae4566ad01469a3ecab9 +Author: Rolf Bensch +Date: Mon Mar 21 10:53:29 2016 +0100 + + pixma: backend version 0.17.29 + +commit bc1637bb39794b415a2e73ee990e4763c73be3f9 +Author: Rolf Bensch +Date: Tue Feb 16 16:20:58 2016 +0100 + + pixma_mp150: MG3600 Series doesn't need special image format post processing @ 1200dpi + +commit 23eb95582da718791103b83ea002e947caa0f5fc +Author: Rolf Bensch +Date: Fri Mar 4 13:38:12 2016 +0100 + + pixma: backend version 0.17.28 + +commit eba9c9e2391d59459e5fa3f362d8dc08d14c7b9c +Author: Rolf Bensch +Date: Fri Mar 4 13:36:08 2016 +0100 + + pixma_imageclass: software lineart for all imageCLASS, imageRUNNER, i-SENSYS and laserBase scanners, + supported by this sub-backend + + imageCLASS scanners: + D420, D480, D530, MF810/820, MF3240, MF4010, MF4150, MF4270, MF4320, MF4360, + MF4410, MF4570dw, MF4690, MF5630, MF6500, MF8030, MF8170c + + i-SENSYS scanners: + MF210, MF220, MF3010, MF4500, MF4700, MF4800, MF5880dn, MF5900, MF6100, + MF6680dn, MF8200C, MF8300, MF8500C + + imageRUNNER scanners: + iR1133 + + laserBase scanners: + MF5650 + +commit 38d6f1ba6dd48d8139b3ef504b4c7920d0e4736b +Author: Rolf Bensch +Date: Fri Mar 4 13:08:31 2016 +0100 + + pixma_imageclass: MF6100 Series document feeder does not have 600DPI capability + +commit 328e9b93d71d1f9b031c4066e4cba00893703c4a +Author: Stéphane Voltz +Date: Thu Mar 3 21:59:24 2016 +0100 + + raise build number + +commit 8ad2c60d82797cc3495f63f8230bdf6f999067a1 +Author: Stéphane Voltz +Date: Thu Mar 3 21:58:55 2016 +0100 + + use half step mode for LiDE 110 600 dpi scan + +commit 52ea420d44a26832f662c837bbbe4d2f7002875a +Author: Stéphane Voltz +Date: Thu Mar 3 21:46:43 2016 +0100 + + use half step for LiDE 210 600 dpi scans + +commit bd0b0cd218504868f32962a5558449956c8ce242 +Author: Stéphane Voltz +Date: Thu Mar 3 21:39:25 2016 +0100 + + use rewind instead of slow_back_home + + - if required by flags, do a rewind instead a slow_back_home that pollutes + shading settings + +commit 3dee0f8d48e26e3aceb0243d03199af5870f30e2 +Author: Stéphane Voltz +Date: Thu Mar 3 21:31:01 2016 +0100 + + implement rewind for gl847 and gl124 + +commit de635a32f9638f5fad5806ab5de9498f5fa47ca9 +Author: Stéphane Voltz +Date: Thu Mar 3 21:12:29 2016 +0100 + + add rewind function to command set + +commit 270d6a4242c95d6d376f442ca701e067e3fc74d1 +Author: Stéphane Voltz +Date: Mon Feb 29 21:14:30 2016 +0100 + + fix Lide 110 gray mode max speed + +commit 2f891c13bb5cb1728479ee08ba45b756f68a3287 +Author: Rolf Bensch +Date: Thu Mar 3 13:40:46 2016 +0100 + + pixma: backend version 0.17.27 + +commit bbd327f5e7c973db331f3f309788d852367bc79a +Author: Rolf Bensch +Date: Thu Mar 3 13:38:33 2016 +0100 + + pixma_imageclass: reduce timeout for failed first usb command to 2 seconds + +commit c41640f36433e646989665bac0ac5da460f2d9a9 +Author: Rolf Bensch +Date: Thu Mar 3 13:36:44 2016 +0100 + + pixma: new global parameter to set duration of receive timeout loop + + The default value for receive timeout loop duration has not been changed. + The loop still takes 8 seconds if a timeout occurs. + +commit 9897357727b65d13167b89cd1d1fe816f4d72563 +Author: Stéphane Voltz +Date: Sun Feb 28 21:26:27 2016 +0100 + + enable pixel averaging whne bleow 600 for all models + +commit d784dec60b096b8e8fe18f5f7b5c1921249d6ed2 +Author: Stéphane Voltz +Date: Sun Feb 28 12:26:12 2016 +0100 + + motor table fixes + + - add target speed for 600 dpi gray + - add slope table for 4800/2400 dpi, gray and color + +commit 759729331cc60a86d884518064b2dc92736f7abd +Author: Stéphane Voltz +Date: Sun Feb 28 12:18:56 2016 +0100 + + fix maximum speed compute in gray mode + +commit e1b1ba8aeecf2eefa2855ec8c77604a8070027ab +Author: Stéphane Voltz +Date: Fri Feb 26 05:57:35 2016 +0100 + + fix expiration time option reading + +commit 61d6f5c2140e6e659db20916937cc95c5c7256f3 +Author: Stéphane Voltz +Date: Thu Feb 25 21:37:55 2016 +0100 + + mode set fixes + +commit fa2c9dc9b216fa7b7f1baf013b7cbe8eb3df8597 +Author: Stéphane Voltz +Date: Thu Feb 25 21:37:00 2016 +0100 + + fix GPIO during scan + +commit c5117ed0f1b522eab10fd2248f140b2acad2a708 +Author: Stéphane Voltz +Date: Wed Feb 24 21:43:29 2016 +0100 + + doc and version update + +commit 747275a00f03e4ab643461448985ce20879e1d12 +Author: Stéphane Voltz +Date: Wed Feb 24 21:15:26 2016 +0100 + + add 1200 and 2400 dpi mode for LiDE 120 + +commit 2a18600792c00f9ca37ff5b52d2cc1c8202d8b4b +Author: Stéphane Voltz +Date: Wed Feb 24 06:35:46 2016 +0100 + + make 1200 dpi scan mode work for LiDE 120 + +commit b11a69d27572aa938cedff303ba7560ca9793943 +Author: Stéphane Voltz +Date: Wed Feb 24 06:17:50 2016 +0100 + + make 600 dpi mode work for LiDE 120 + + - add override for registers 0x16 and 0x70 since 120's sensor + is set differently according to resolution + +commit 15e203de89abe53f732aa431548645c5c9838237 +Author: m. allan noah +Date: Tue Feb 23 21:11:00 2016 -0500 + + Various copyright comment updates + +commit 1465543cc0dd9e4fb4b3706ca6793e90a35ce389 +Author: m. allan noah +Date: Tue Feb 23 21:07:06 2016 -0500 + + fujitsu backend v130 + + run init_model before init_ms so some scanners can override + set all M309x and M409x scanners s->broken_diag_serial = 1 + +commit 963de58dfc4498693aeeec35a9ff23363af6ac67 +Author: m. allan noah +Date: Tue Feb 23 20:42:52 2016 -0500 + + Enable padded read for DR-3080CII + +commit 1207ce5a40664c04b934bd0a6babbc1575361356 +Author: m. allan noah +Date: Tue Feb 23 20:36:32 2016 -0500 + + Support SANE_USB_WORKAROUND env var + + Here, we add a new env var (SANE_USB_WORKAROUND) to sanei_usb.c. + This allows end users to conditionally enable the workaround added + in commit 014b45d920f1fb630e1a31bb01f1da02ea2a6a87. The default is + to not enable the workaround, because more recent Linux kernels no + longer seem to need it. Some users have even reported failure with + the workaround enabled. + +commit 219198838be069d7e3d48b53762727f1bbfb93e5 +Author: Stéphane Voltz +Date: Tue Feb 23 21:39:22 2016 +0100 + + LiDE 120 working [75-300] dpi + + - fix sensor pixel number + - enable calibration + - default to 16 pixel DUMMY + +commit 4fd1d10228047a740f28b1cd25579b7c40c93b1f +Author: Stéphane Voltz +Date: Mon Feb 22 21:45:02 2016 +0100 + + tune scanarea geometry + +commit a74ebe551daf8750821b1ab57324e54141a84461 +Author: Stéphane Voltz +Date: Sun Feb 21 22:14:48 2016 +0100 + + first almost correct scan at 300 dpi + +commit 8f938f2d00d27070e826f88a77264ee36d0bbedf +Author: Stéphane Voltz +Date: Sun Feb 21 09:48:26 2016 +0100 + + GL124 DAC and SENSOR setup changes + +commit f56ffa63b99db4767b35d294fef96476b228f993 +Author: Stéphane Voltz +Date: Sun Feb 21 09:47:47 2016 +0100 + + doxygne fix + +commit 2e1102dc3ab1ee4d7bfec3e7cbf6e3a1527f5264 +Author: Stéphane Voltz +Date: Thu Feb 18 21:41:38 2016 +0100 + + add dedicated reference slope tables for LiDE 120 + +commit 214dfad1d5aa841b597187004747ec88c507cf06 +Author: Stéphane Voltz +Date: Wed Feb 17 21:43:05 2016 +0100 + + use dedicated LiDE120 GPIO + +commit 387cea7d6ce75af9441c5841221267bef7b7924c +Author: Stéphane Voltz +Date: Wed Feb 17 21:04:55 2016 +0100 + + define dedicated motor/sensor/gpio for LiDE 120 + +commit e90f8cb8a1e62f6865d9e237fd1f0e7f773e5094 +Author: Stéphane Voltz +Date: Fri Feb 12 08:11:20 2016 +0100 + + latin1 -> utf8 + +commit d74d3bcd887d2a3d59ee96e04eb68f15c0a3b882 +Author: Rolf Bensch +Date: Thu Feb 18 22:34:16 2016 +0100 + + README.linux: add some hints for individual SANE installations + +commit 926a7e67b6f81ffdb1b4f67a55bf84862efcf6b9 +Author: Rolf Bensch +Date: Wed Feb 17 21:24:18 2016 +0100 + + pixma: fix scanner names + +commit 235dc80b5f3faaf195eef1e177a1f38284ca3bee +Author: Rolf Bensch +Date: Wed Feb 17 21:10:44 2016 +0100 + + pixma: Canon i-SENSYS MF6100 Series is working + +commit 6d89f7ef25266cc9a53440bbf68ff2e1a37d4b86 +Author: Rolf Bensch +Date: Wed Feb 17 21:06:04 2016 +0100 + + pixma: backend version 0.17.26 + +commit 7a227dcaf2771b31feb852e6a83336976966a0ab +Author: Rolf Bensch +Date: Wed Feb 17 21:03:18 2016 +0100 + + pixma_imageclass: wait for 8sec to throw last page out of ADF feeder @ ADFDUP + +commit 23efb9f55f466179df86848912acbed1a94c10ff +Author: Rolf Bensch +Date: Wed Feb 17 21:01:48 2016 +0100 + + pixma_imageclass: PIXMA_ENO_PAPER check also for ADFDUP scans + +commit 29ceb0e377009cd6829d8f68c58a2197ac19a20d +Author: Rolf Bensch +Date: Wed Feb 17 20:59:32 2016 +0100 + + pixma_imageclass: fix for failed first usb command (timeout) + + Sometimes the first usb command to the scanner fails after a previous scan. + A workaround was to reconnect the usb cable. This fix simply resends the + failed command. + +commit 8f1202d6537568e56b4886ebe5d41d0210ffacd9 +Author: Rolf Bensch +Date: Wed Feb 17 20:55:49 2016 +0100 + + pixma_imageclass: fixes for MF6100 Series + + - special ADF settings + - the MF6100 Series is a Generation 2+ scanner, but uses the old read image command + +commit 02855737ee84e3c72bceff9ba06fddc5a5d99860 +Author: Rolf Bensch +Date: Wed Feb 17 20:32:00 2016 +0100 + + pixma: use usb timeout instead of sleep timer while waiting for usb response + +commit 4771fab9c16b477dc376bd2e5fdd8d0dc7f2c478 +Author: Rolf Bensch +Date: Wed Feb 17 20:30:47 2016 +0100 + + pixma: reduce global usb read and write timeouts to 1 sec + +commit 99f7e7872f2619c3ebec2590b91de3fb0ca28a1a +Author: Olaf Meeuwissen +Date: Sat Feb 13 17:37:34 2016 +0900 + + Disable use of pthreads if pthread.h cannot be found + +commit 04d5e4a0cf775f6483873a3f1e70a173587546b6 +Author: Olaf Meeuwissen +Date: Sat Feb 13 17:34:46 2016 +0900 + + Move #include to sanei_thread.h + + The sanei header file may need pthread_t. If it does, make sure it + is available. + +commit af35e9ba749cce6e735d685ec4495e8c8d85778c +Author: Rolf Bensch +Date: Thu Feb 11 12:06:34 2016 +0100 + + pixma: Canon Pixma MG3600 Series is working + + Reported by Rajib Bandopadhyay + +commit 7bd773ade5ff1bc4170d2a1773428efe759aaa75 +Author: Stéphane Voltz +Date: Tue Feb 9 09:55:26 2016 +0100 + + LiDE 120 support wip + +commit 056f590f2d147099554d97a89dd5e0ddfa8d6dda +Author: Alessandro Zummo +Date: Sat Jan 23 00:55:31 2016 +0100 + + epsonds: fixed comment + +commit cf2dfea0008d16cb70f8baeaae5a414e9bdafda3 +Author: Alessandro Zummo +Date: Fri Jan 22 20:44:36 2016 +0100 + + epsonds: extend the bug fix to all depths + +commit 8fd6151acd1a1b313b1c9fabb5e2691ba45de9d6 +Author: Alessandro Zummo +Date: Fri Jan 22 17:38:00 2016 +0100 + + epsonds: fix stripes on DS-60000 at 1bpp/300dpi + +commit 4fa7f4f6f8b69f41fd5d03abc12d16e0f2e876b3 +Author: Alessandro Zummo +Date: Fri Jan 22 17:01:57 2016 +0100 + + epsonds: clear endpoints on startup in order to fix some strange scanner / xhci combo + +commit f78e85cad666492fadd5612af77fa7c84e270a12 +Author: Rolf Bensch +Date: Fri Jan 8 18:35:20 2016 +0100 + + pixma: backend version 0.17.25 + +commit b08c324223732407d736a79ab8c59f01b3774736 +Author: Rolf Bensch +Date: Fri Jan 8 18:34:27 2016 +0100 + + pixma: Canon PIXMA MG5700 Series is working + + Reported by Andrew Reginato, bug #315244 + +commit 0f47b47b759908e7b11800404d269087d60d87ad +Author: Rolf Bensch +Date: Fri Jan 8 17:32:36 2016 +0100 + + pixma_mp[150|810]: disable send_time() + + The function send_time() makes trouble with a lot of scanners. + We send a warning to the debug output instead of sending the time. + + fix for [#315248] Canon MP250 with pixma backend is not working + +commit b040b150a08b0b5394ad3bc91a45966d97f58152 +Author: Rolf Bensch +Date: Fri Jan 8 16:54:30 2016 +0100 + + pixma: fix for [#315244] Add support for Canon PIXMA MG5700, MG6800, MG6900 and MG7700 + + These scanners are new and need further testing! + +commit 81c429082c3c139f8616de4a73733953cd5aa33f +Author: Rolf Bensch +Date: Fri Jan 8 16:43:46 2016 +0100 + + pixma: update copyright + +commit 9aecb00947e6bf7ef1cf412aff2ab41202617b30 +Author: Olaf Meeuwissen +Date: Fri Jan 8 21:26:31 2016 +0900 + + md5: Avoid the need for casting + + This also modifies the code slightly to follow the original array + access more closely. + +commit cdad5961f3888f0a3c0c525d0efab33174c11a24 +Author: Volker Diels-Grabsch +Date: Sun Dec 6 01:23:51 2015 +0100 + + Introduce md5_set_uint32 + + This fixes the following GCC warning: + + warning: dereferencing type-punned pointer will break strict-aliasing rules + +commit f3471c2ca6ea22846dd6619aff7913610722a6c0 +Author: Olaf Meeuwissen +Date: Sat Jan 2 17:50:34 2016 +0900 + + saned: Use system header IPv6 test macros if available + + This should fix [-Wstrict-aliasing] compiler warnings on those systems + where the IN6_IS_ADDR_LOOPBACK and IN6_IS_ADDR_V4MAPPED macros exist. + POSIX.1-2001 states that they shall be defined in netinit/in.h so most + systems will probably have them. + +commit 0de5416a9bafa1ade52722c509817276bbf87d8a +Author: Olaf Meeuwissen +Date: Sat Jan 2 16:06:34 2016 +0900 + + umax_pp: fix memory leak + + Found courtesy of [-Wunused-but-set-variable] compiler warning. + +commit 9d78ace3b7e60afa2b3cb829ac23e5f8b4ccdc07 +Author: Olaf Meeuwissen +Date: Sat Jan 2 16:06:00 2016 +0900 + + umax_pp: fix [-Wunused-but-set-variable] compiler warnings + +commit 3f0c3df2fcde8d0cf30ab68c70cb5cad984dda6f +Author: Olaf Meeuwissen +Date: Thu Dec 31 17:51:00 2015 +0900 + + kvs40xx: fix [-Wstrict-aliasing] compiler warnings + +commit b1f886a2e36555fb0b01c8eb22a0041aebe25795 +Author: Olaf Meeuwissen +Date: Thu Dec 31 17:47:40 2015 +0900 + + kvs20xx: fix [-Wstrict-aliasing] compiler warnings + +commit 0e3a5c4197fe36eae739a6086b484ff16b83d663 +Author: Olaf Meeuwissen +Date: Thu Dec 31 17:43:25 2015 +0900 + + kodakaio: fix [-Wformat=] compiler warnings + + This uses the ANSI C approach that is used in a lot of existing code + rather than what ISO C99 allows for consistency. + +commit cadb4b0fff00540159625320416e5601c4704627 +Author: Olaf Meeuwissen +Date: Sat Dec 26 17:45:56 2015 +0900 + + saned: fix [-Wmaybe-uninitialized] compiler warning + +commit 572e61d39a10ac7299d95005fa7543afe4957d80 +Author: Olaf Meeuwissen +Date: Sat Dec 26 14:56:12 2015 +0900 + + p5: fix [-Wunused-but-set-variable] compiler warnings + +commit f9e44963801be2940c71e49d7c76a4e59b28dfc7 +Author: Olaf Meeuwissen +Date: Sat Dec 26 14:51:21 2015 +0900 + + xerox_mfp: fix [-Wunused-but-set-variable] compiler warning + +commit f276e3e05503c5f44890df5a8105959ea07dbb6d +Author: Olaf Meeuwissen +Date: Sat Dec 26 14:49:25 2015 +0900 + + umax1220: fix [-Wunused-but-set-variable] compiler warning + +commit e28bdadae98f203188253c5b0a8825a284c8c066 +Author: Olaf Meeuwissen +Date: Sat Dec 26 13:27:47 2015 +0900 + + u12: fix [-Wunused-but-set-variable] compiler warning + +commit 70c9e1d13ce705249ddbbee2dad5e6307fe77ffa +Author: Olaf Meeuwissen +Date: Sat Dec 26 13:25:18 2015 +0900 + + sm3840: fix [-Wunused-but-set-variable] compiler warnings + +commit 9d4f2a72098436e4a65d2047a151ba3c0af82907 +Author: Olaf Meeuwissen +Date: Sat Dec 26 13:18:13 2015 +0900 + + sm3600: fix [-Wunused-but-set-variable] compiler warning + +commit 82720a2023d8e75480036a9e86f8a57d0bfe6a10 +Author: Olaf Meeuwissen +Date: Thu Dec 24 19:01:09 2015 +0900 + + sharp: fix [-Wunused-but-set-variable] compiler warning + +commit da010d6088a75ed85472c46e9a29ace18cd7eda9 +Author: Olaf Meeuwissen +Date: Thu Dec 24 17:44:04 2015 +0900 + + niash: fix [-Wunused-but-set-variable] compiler warning + +commit 86c5d6d7bd52dcb4208c7d5a1ba8844e8c8011e5 +Author: Olaf Meeuwissen +Date: Thu Dec 24 17:38:41 2015 +0900 + + nec: fix [-Wunused-but-set-variable] compiler warning + +commit 220429ff9ebc78e9869e431125ffd9a235efa93d +Author: Olaf Meeuwissen +Date: Wed Dec 23 22:27:47 2015 +0900 + + mustek_usb2: fix [-Wunused-but-set-variable] compiler warnings + +commit 7efb05627273266a8171d3f9244bbd7a433d6e44 +Author: Olaf Meeuwissen +Date: Wed Dec 23 22:19:01 2015 +0900 + + mustek_pp: fix [-Wunused-but-set-variable] compiler warning + +commit 664398cc311b85647a804bee0f8f230a0e3a3f49 +Author: Olaf Meeuwissen +Date: Wed Dec 23 22:12:07 2015 +0900 + + mustek: fix [-Wunused-but-sed-variable] compiler warnings + +commit 8b75c6d45002ffafae6cfbf2edd64b3de35d3b04 +Author: Olaf Meeuwissen +Date: Wed Dec 23 22:17:40 2015 +0900 + + microtek2: fix another [-Wunused-but-set-variable] compiler warning + + This allows for the fact that the backend may be compiled with and + without support for authorization. + +commit c1458770955b5476eedc89755bb424744b05b055 +Author: Olaf Meeuwissen +Date: Wed Dec 23 22:11:31 2015 +0900 + + microtek2: fix [-Wunused-but-set-variable] compiler warnings + +commit 26aa8b52f60adf7553b2872f54a85cfd7b20dd98 +Author: Olaf Meeuwissen +Date: Sat Dec 26 17:41:09 2015 +0900 + + magicolor: fix [-Wunused-function] compiler warning + + This function is only used when SNMP support is activated. + +commit 292dd42bb6585e2801623d1f33497581626d9d72 +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:50:42 2015 +0900 + + magicolor: fix [-Wunused-but-set-variable] compiler warning + +commit d0e85e9d5e775f143f3db98e762d72861f60a82b +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:48:09 2015 +0900 + + ma1509: fix [-Wunused-but-set-variable] compiler warning + +commit 7c0f5ec66c7fd673d27876b538e52440a897cc1f +Author: Olaf Meeuwissen +Date: Sat Dec 26 17:36:57 2015 +0900 + + lexmark: fix [-Wmaybe-uninitialized] compiler warning + + This adds a default handler to switch statement so low_get_start_loc() + bails before the start_600 variable is used. + +commit 068c3bb75d3972dd2218caa84a6de761c5ca0db8 +Author: Olaf Meeuwissen +Date: Sat Dec 26 17:28:34 2015 +0900 + + kodakaio: fix [-Wunused-function] compiler warning + + The function is only used when Avahi support is enabled and has been + put in a suitable compilation scope. + +commit 610dc9ceb4d9eb061209d935e2b1966dfca5a74c +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:38:08 2015 +0900 + + kodak: fix [-Wunused-but-set-variable] compiler warning + +commit 2724f85552def3fa0c92d88389854c283eac38d3 +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:36:54 2015 +0900 + + hpsj5s: fix [-Wunused-but-set-variable] compiler warning + +commit aabb63dbbfdfea9f444019a19171bdcace08b0dd +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:35:39 2015 +0900 + + hp4200: fix [-Wunused-but-set-variable] compiler warnings + +commit a82798d5e1d8352daa1d519d77a7a22771c8439e +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:33:40 2015 +0900 + + hp3500: fix [-Wunused-but-set-variable] compiler warning + +commit 51277aec4a6959f88d46d7ca14cfb94166c328eb +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:24:10 2015 +0900 + + hp: fix [-Wunused-but-set-variable] compiler warnings + +commit a97b1738dfcc16cd0a7fd68f95df8b013f3cb206 +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:19:46 2015 +0900 + + gphoto2: fix [-Wunused-but-set-variable] compiler warning + +commit cbeb98daeceb262b3a868c1b2ea2102b98760e61 +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:10:29 2015 +0900 + + epson: fix [-Wunused-but-set-variable] compiler warning + +commit cbc72a017123b81a21c6b69ffcb6f828cc810f03 +Author: Olaf Meeuwissen +Date: Wed Dec 23 21:08:46 2015 +0900 + + dmc: fix [-Wunused-but-set-variable] compiler warning + +commit fb4147c4f13f7f39c00a807ecc327b5824df21f5 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:58:07 2015 +0900 + + dc240: fix [-Wunused-but-set-variable] compiler warning + +commit bcfa3f6591744e43a0aa7be228505423b25f7731 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:56:49 2015 +0900 + + dc210: fix [-Wunused-but-set-variable] compiler warning + +commit c31cf621062ae4ef69a80d51879d242978853859 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:55:36 2015 +0900 + + dc25: fix [-Wunused-but-set-variable] compiler warnings + +commit 43b296471bc5a902de470f57df681d0c04964b91 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:51:28 2015 +0900 + + coolscan: fix [-Wunused-but-set-variable] compiler warnings + +commit 50ca4bc97670fed1083a5677ddfa71f74bd495dc +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:49:17 2015 +0900 + + cardscan: fix [-Wunused-but-set-variable] compiler warning + +commit c2b7b1af748527dd8ba0fcabc4310fcac1bdf491 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:46:13 2015 +0900 + + canon636u: fix [-Wunused-but-set-variable] compiler warning + +commit e8818437456f36c721f12d311bdb65f3d45606c7 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:39:15 2015 +0900 + + canon: fix [-Wunused-but-set-variable] compiler warnings + +commit 592430016c97b4362314c63a1ac7c96f23d71e4d +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:30:02 2015 +0900 + + avision: fix [-Wunused-but-set-variable] compiler warning + + The variable seems to have been superseded by conv_out_size in the + else branch of set_calib_data(). + +commit 5b8fdd317f1bb4076b8fe661db78c230af21004b +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:27:20 2015 +0900 + + artec_eplus48u: fix [-Wunused-but-set-variable] compiler warning + + This leaves the sane_close() implementation just as broken as it has + been from the initial commit sometime in 2002. + +commit ec1936713e67b192d057b2f552a25622f88844a1 +Author: Olaf Meeuwissen +Date: Wed Dec 23 20:26:21 2015 +0900 + + artec_eplus48u: fix [-Wunused-but-set-variable] compiler warning + + The variable was only used to silence a [-Wunused-parameter] warning. + +commit 5b21a24312f2cf2ced5d5c70b0f7d2c1f0c58f35 +Author: Olaf Meeuwissen +Date: Wed Dec 23 19:57:13 2015 +0900 + + artec: fix [-Wunused-but-set-variable] compiler warning + + The variable is used to assign return values but is not referenced by + anything itself. + +commit 57ae115eafa5b52b84b8e2878982cdad7c1a9f13 +Author: Olaf Meeuwissen +Date: Sat Dec 26 17:12:41 2015 +0900 + + sanei_thread: fix [-Wmaybe-uninitialized] compiler warning + +commit cd3453948dd812aaa77d921b198351b340f8c748 +Author: Olaf Meeuwissen +Date: Wed Dec 23 18:53:06 2015 +0900 + + sanei_usb: const_cast data buffer + + The libusb_bulk_transfer() API caters to both reads and writes and + as a result of that will not take a const pointer. + +commit be084e0d7bb7933e1826e6e48b42f43bc3cb077a +Author: Olaf Meeuwissen +Date: Sat Dec 26 17:05:17 2015 +0900 + + sanei_usb: Move variable declarations to scope of usage + + Fixes an [-Wunused-variable] when compiling without libusb. + +commit 0d7882e34b5f5625261258a3a341a58a04beb304 +Author: Olaf Meeuwissen +Date: Sat Dec 26 16:51:44 2015 +0900 + + Change compile time warning policy + + The -Wall flag is now always enabled (when using gcc). The -Wextra + flag (previously known as -W) and -pedantic flags are, by default, + enabled during development but disabled for releases. + + All other flags have been removed. + +commit 5136e664b8608604f54a2cc1d466019922b311e6 +Author: Olaf Meeuwissen +Date: Sun Dec 20 21:58:45 2015 +0900 + + Document ChangeLog policy change + +commit 674b75fc913187415b4f151a52e4bc7004c5d5b0 +Author: Olaf Meeuwissen +Date: Sun Dec 20 17:33:55 2015 +0900 + + Improve readability of condition + + This also fixes the following GCC warning: + + warning: logical not is only applied to the left hand side of comparison + +commit 58052a7ce6b205e25a2fc85f31158595cad00258 +Author: Volker Diels-Grabsch +Date: Sat Dec 5 21:33:48 2015 +0100 + + Change GCC mode from ISO C90 to ISO C99 + + Add GCC flag "-std=c99". Also remove GCC flag "-ansi" which is an + alias for "-std=c90" and would make the flag "-std=c99" ineffective. + This fixes all occurrences of the following GCC warning: + + warning: ISO C90 does not support '__func__' predefined identifier + +commit baec5e039504de390cae41557b0b8323343721c3 +Author: Volker Diels-Grabsch +Date: Sat Dec 5 10:48:59 2015 +0100 + + Use consistently __func__ instead of __FUNCTION__ + + Some parts of SANE used __FUNCTION__ while other parts used __func__. + Now, __func__ is used consistently throughout the SANE sources. This + fixes all occurrences of the following GCC warning: + + warning: ISO C does not support '__FUNCTION__' predefined identifier + +commit 93298674d02b1127efdf4e726e92e797a0081c9e +Author: Volker Diels-Grabsch +Date: Sat Dec 5 20:44:14 2015 +0100 + + Merge all compatibility macros around __func__ and __FUNCTION__ + + Various parts of SANE introduced their own compatibility macros for + old compilers that don't support __func__. Most of these definitions + are identical or have minor differences. This patch replaces them + with a single instance in the central header file for backends. + +commit 7c8c8e29beed2c4e6f96db08031c12c9001ca784 +Author: Volker Diels-Grabsch +Date: Sun Dec 6 03:32:51 2015 +0100 + + Remove dead code due to unused variables + + This fixes some occurrences of the following GCC warning: + + warning: variable '...' set but not used + +commit aba87a4582d594cf953b4bda5b5d42e37e13f21c +Author: Volker Diels-Grabsch +Date: Sun Dec 6 01:30:30 2015 +0100 + + Mark internal function toupper_ascii as static + + This fixes the following GCC warning: + + warning: no previous prototype for 'toupper_ascii' + +commit 13b6faee2a0696eb02a61f22121b7f4854987f2e +Author: Volker Diels-Grabsch +Date: Sun Dec 6 03:03:06 2015 +0100 + + Fix interface of helper function write_many + + This fixes two occurrences of the following GCC warning: + + warning: cast discards 'const' qualifier from pointer target type + +commit badd7025b21b2207cfb95001aeb324597e24b301 +Author: Volker Diels-Grabsch +Date: Sun Dec 6 02:37:10 2015 +0100 + + Bugfix: On error, return the actual error code in sanei_magic_rotate + + Up to now, on failure the sanei_magic_rotate function returned a + success status. This fixes the following GCC warning: + + warning: variable 'ret' set but not used + +commit 6aced758f4a95fd858906f3e898ee967a9718641 +Author: Volker Diels-Grabsch +Date: Sun Nov 29 16:02:01 2015 +0100 + + Fix typos in comments + + While reading through the SANE sources I noticed some annoying typos + in the comments. This patch is my contribution to make the SANE + sources slightly more pleasant to read. + +commit 6d8b8d5aa6e8da2b24e1caa42b9ea75e9624b45d +Author: Alessandro Zummo +Date: Tue Dec 15 16:17:53 2015 +0100 + + epsonds: fix duplex w/ double feed detection + +commit e9b52639e8dca938b5569b1697c36796ab92174a +Author: m. allan noah +Date: Tue Dec 15 07:23:42 2015 -0500 + + Add note about changelogs + +commit 06d876f74e5d07cb82d02ca1222926a61a3e458b +Author: Stéphane Voltz +Date: Tue Dec 15 06:05:07 2015 +0100 + + fix for #315050 + + - handle case where linesel is rounded to 0 when scan y resolution is + below minimal scan resolution but higher than half of the minimum + +commit 753d123f36d08cdb8047adac7c89a9fe015c4b25 +Author: m. allan noah +Date: Sat Nov 28 08:34:58 2015 -0500 + + canon_dr desc update + + add note about mode switch on P-208 + +commit f1593204c72124f3077b0b29f3c128d30be415b5 +Author: Olaf Meeuwissen +Date: Fri Nov 27 21:26:46 2015 +0900 + + Drop execute permission + + Source code, description files and configuration templates should never + need to be executed. + +commit e094c5b43b6d8d8bec84bd5b1ab2c6009f38e14b +Author: Olaf Meeuwissen +Date: Fri Nov 13 22:06:30 2015 +0900 + + Invert sense of sanei_thread validity check + + Double negatives suck. + +commit fe12d31e6873f5c3de330f1de4c4fbc851df1e9f +Author: Olaf Meeuwissen +Date: Fri Nov 13 21:41:56 2015 +0900 + + Fix SANE_Pid related -Wsign-compare warnings + + This may fix threading related issues on WIN32 platforms, BTW. + +commit ed59056d40a143b3cf9243ea0068448a88ce3108 +Author: m. allan noah +Date: Mon Nov 23 21:26:09 2015 -0500 + + canon_dr backend v54 + + - br_x and br_y locked to page_width/height until changed + +commit d0ea697ab83360bf0ccddcd02565f85ea0f96b50 +Author: m. allan noah +Date: Mon Nov 23 21:08:30 2015 -0500 + + fujitsu backend v129 + + - br_x and br_y locked to page_width/height until changed + - add USB ID's for fi-6xxxLA and fi-6xxxZLA scanners + - add USB ID's for unsupported SP11xx scanners (genesys based) + +commit e6a249e0424f6854b7ed12f8272633a0edecfa90 +Author: m. allan noah +Date: Thu Nov 12 21:10:49 2015 -0500 + + revert mustek_usb2 backend upgrade + + Instead of 100+ revert commits, I've lumped everything into a + single commit. This removes all of dedf0ac30 through db7f038f1, + plus the parts of 497d59180 which were specific to mustek_usb2 + +commit 21c5f4d814f93a363377798635c7f1cbc1c79342 +Author: Olaf Meeuwissen +Date: Wed Nov 11 22:38:56 2015 +0900 + + Add missing #include for malloc() + +commit 7dc416b7ae3f0db7c5ce97b5bce0f05f869d877f +Author: Olaf Meeuwissen +Date: Wed Nov 11 22:38:32 2015 +0900 + + Remove unnecessary cast + +commit fff1c5962a94ab410dba4fed541312554c8edf8d +Author: Olaf Meeuwissen +Date: Wed Nov 11 22:35:34 2015 +0900 + + Fix "discards 'const' qualifier from pointer target type" warnings + + The line variable is not (and cannot be) declared 'const'. The string + variable points to a location in line, hence it is safe to cast away + 'const'ness of the sanei_config_skip_whitespace() return value. + +commit 38153b33e1657137e6956e63a9fcb76d665f86f2 +Author: Olaf Meeuwissen +Date: Wed Nov 11 22:33:34 2015 +0900 + + Fix "discards 'const' qualifier from pointer target type" warning + + The device2 variable is not modified so let's make that clear. + +commit d2576bbb948dd9d8e06f66dc4cede774c5518751 +Author: Olaf Meeuwissen +Date: Wed Nov 11 22:30:10 2015 +0900 + + Fix "discards 'const' qualifier from pointer target type" warnings + + The cs3_xfree() functions is really just a checked call to free() so its + signature has been changed to match that. The warnings that causes have + been fixed in the same way and on the same grounds as the previous commit. + +commit e65fd1b4cb5e9463d16a6fb4cd8eeb129ba58e63 +Author: Olaf Meeuwissen +Date: Wed Nov 11 22:28:17 2015 +0900 + + Fix "discards 'const' qualifier from pointer target type" warnings + + The resources pointed to have been acquired by the backend. It is safe + to cast away the 'const' qualifier when releasing these resources. + +commit 497d59180649a831691220aefcc8ec81d5f90960 +Author: m. allan noah +Date: Sun Nov 8 17:17:37 2015 -0500 + + automake for recent changes + + updates to mustek_usb2, canon_dr and umax_pp require automake run + +commit db7f038f108ca12966b947dd80f3772e2133495e +Author: Jan Hauffa +Date: Sat Jul 14 23:15:02 2012 +0200 + + Fix a bug introduced during refactoring that caused discolored stripes to appear at the left and right sides of the scan area. + +commit a64477bf1a381458e0500ef7c62da521d6c4d97f +Author: Jan Hauffa +Date: Sat Jul 14 16:44:28 2012 +0200 + + Remove USB 2.0 mode, as it causes horrible backtracking for resolutions > 300 dpi. + +commit 98248f6088850045579a1e46f2e8aa16302f9dd9 +Author: Jan Hauffa +Date: Sat Jun 30 22:37:21 2012 +0200 + + properly add new handle to linked list + +commit 3b48a6d10560e855cef815ca5c1ecbb50fd02d00 +Author: Jan Hauffa +Date: Sat Jun 30 00:04:06 2012 +0200 + + fix integer overflow bug in image data conversion + +commit d0ea79f00059a4a8c3a2ac710fd0443c8bbb3d3a +Author: Jan Hauffa +Date: Sun May 27 12:23:53 2012 +0200 + + Add model-specific functions for computing the number of motor steps. + +commit 15fbbf60a6d8c9956a6b6a874f2d0b734ab1b935 +Author: Jan Hauffa +Date: Sun May 15 22:42:17 2011 +0200 + + Split SetMotorSteps into a function that computes the number of steps for the various motor states and and a function that writes the step counts to the controller's registers. + +commit 70dcfa4cedf3619575d413126d3530b28e490fd3 +Author: Jan Hauffa +Date: Sun May 15 21:16:00 2011 +0200 + + Simplify SetMotorStepTable*. + +commit 27b636d294876c7aac0b53922bacac627ba873c9 +Author: Jan Hauffa +Date: Sun May 15 19:58:09 2011 +0200 + + Provide model-specific function for computing the motor current. + +commit 8f405f5a937fd05a67a7554138c047fb5abe5e2c +Author: Jan Hauffa +Date: Sun May 15 18:13:44 2011 +0200 + + Update motor table generation according to new dumps. + +commit 2fa054456e723d7741be4eeb09bb879b802fad9d +Author: Jan Hauffa +Date: Sun May 15 15:09:21 2011 +0200 + + Detect USB controller type. + +commit d8a203a69373bb6f207de9ddc9c30a60da4a2cc9 +Author: Jan Hauffa +Date: Sun May 15 14:35:06 2011 +0200 + + Add function to compute scan motor table for 4800H48U, rearrange code in Asic_SetWindow. + +commit ceb7d29690f2ce8f32576caa4b7197fc91b024c1 +Author: Jan Hauffa +Date: Sun May 8 17:39:31 2011 +0200 + + Fix some misuse of SENSOR_DPI constant. + +commit 30e39071560412b362e03a105e20996093074d81 +Author: Jan Hauffa +Date: Sun May 8 16:44:15 2011 +0200 + + Allow for model-specific parameters in mustek_usb2_high.c. + +commit 47c56e3f19b38c97db4f2d14f780343adca9024f +Author: Jan Hauffa +Date: Sun May 8 14:55:42 2011 +0200 + + Add some motor-related code for the Microtek 4800H48U. + +commit 7b26e0e3fa48742b66bd4632772d70d140058c70 +Author: Jan Hauffa +Date: Sun May 8 13:56:17 2011 +0200 + + Simplify SimpleMotorMove. + +commit 0a1125895b3f1ed0058729fcc29d6858ac6d5e56 +Author: Jan Hauffa +Date: Sat May 7 13:58:24 2011 +0200 + + Add some information about the values retrieved by GetChipStatus. + +commit c691b0224130763239966c1d7856e96810289238 +Author: Jan Hauffa +Date: Sat May 7 13:28:52 2011 +0200 + + Remove restriction to 8-bit color in negative mode. + + The only reason for that restriction was that the histogram stretching code, which has been removed earlier, could only handle 8-bit color. + +commit 4ced7a900a6463c460121eaed7583f4249ef74c2 +Author: Jan Hauffa +Date: Sat May 7 12:45:50 2011 +0200 + + Improve debug logging and fix a bug in TestDRAM. + +commit e1c00bd9ab9d3f4b568d5bb6d09e0812cbef7b7f +Author: Jan Hauffa +Date: Wed May 4 23:30:14 2011 +0200 + + Introduce SetMotorCurrentAndPhase for Microtek scanner, fix old bug in simplification of Mustek variant. + +commit 96b4950499d0cf44369fc8e50099925de2ac3c4f +Author: Jan Hauffa +Date: Mon Apr 25 20:25:02 2011 +0200 + + Register related fixes. + +commit 5d556cd5e65ba9d1df30e3a3beb0322549d040ff +Author: Jan Hauffa +Date: Mon Apr 25 19:26:32 2011 +0200 + + Introduce structure for specifying model-specific parameters on the ASIC level. + +commit 529b6a1d6dc3ff52945f8bf3323bf571596e8088 +Author: Jan Hauffa +Date: Sun Apr 24 21:01:10 2011 +0200 + + Fix bug in device list handling. + +commit 877f250b5c32f8403ab321d14fd76afd7e2c2d1d +Author: Jan Hauffa +Date: Sun Apr 24 20:54:19 2011 +0200 + + Resolve issue with debug logging. + +commit 272c1d6fdeb8af9d6d4b61f85b4a77ca2ebbb645 +Author: Jan Hauffa +Date: Sun Apr 24 20:30:19 2011 +0200 + + Add preliminary model entry for the Microtek 4800H48U. + +commit 7fda9bbf93f4565e1334ebafd0b6caf13d462de4 +Author: Jan Hauffa +Date: Sun Apr 24 20:21:41 2011 +0200 + + Introduce support for multiple scanners. + + Keep all state local and ensure that all resources are freed by sane_exit. Ensure that each function returns only those error codes that are valid according to the SANE standard. + +commit 6865eaf6edef0cc5ea30bcc0d72b52189132f4d6 +Author: Jan Hauffa +Date: Sun Apr 24 14:49:06 2011 +0200 + + Simplify sane_read, other fixes to mustek_usb2.c. + +commit 63793907e2c2120511603a504396f7053fdc5149 +Author: Jan Hauffa +Date: Sun Apr 24 14:15:59 2011 +0200 + + Minor fixes to image processing. + +commit bc203e8aa125f276ce84498091185482a22d3527 +Author: Jan Hauffa +Date: Sun Apr 24 13:55:35 2011 +0200 + + Sanitize option handling and add support for scanner buttons. + +commit b2b3cf767a9a91677b0ac13a6645ed918ca71d55 +Author: Jan Hauffa +Date: Sun Apr 24 00:59:19 2011 +0200 + + Use standard macros for byte swapping. + +commit 281f53aa1829a61286232efed7a9d6253cec32d4 +Author: Jan Hauffa +Date: Sun Apr 24 00:39:59 2011 +0200 + + Remaining endian safety fixes. + +commit 80b7249ebf9c57b60cbc0a25288cc04ba2302b56 +Author: Jan Hauffa +Date: Sat Apr 23 22:42:45 2011 +0200 + + Resolve minor thread safety problem. + +commit de84f51270f05ead6758d2811a2d36160c412cb1 +Author: Jan Hauffa +Date: Sat Apr 23 19:31:50 2011 +0200 + + Simplify row stride calculation in Asic_SetWindow(). + +commit 7cd88d41222c85bd262fbf681401ae8c2dab1bce +Author: Jan Hauffa +Date: Sat Apr 23 19:21:52 2011 +0200 + + Remove Scanner_ScanSuggest. + +commit 3f5592ef8e7eedc0a9ff52b8091f9b41b9c2d56f +Author: Jan Hauffa +Date: Sat Apr 23 19:04:31 2011 +0200 + + Move global state variables of mustek_usb2_high.c into scanner structure. + +commit 60a244ed1e1a4e4f8c4dbd83f12141c0c35202ab +Author: Jan Hauffa +Date: Sat Apr 23 18:08:28 2011 +0200 + + Store size of shading table in ASIC structure. + +commit ed1997b22f5f11ccc96262ed841f03b705982737 +Author: Jan Hauffa +Date: Sat Apr 23 17:22:15 2011 +0200 + + Do not test for NULL before calling free(). + +commit 35c6a52834271e41960030b0c24f8cda2245230d +Author: Jan Hauffa +Date: Sat Apr 23 15:28:26 2011 +0200 + + Fix error propagation in mustek_usb2_high.c and a layering violation. + +commit babee5168909c8c3b8d01c36ab509ea4f7092c4f +Author: Jan Hauffa +Date: Thu Apr 21 23:25:34 2011 +0200 + + Fix indentation of debug macros. + +commit c0e44738a41c2cd772125d0774772a541dbac7c5 +Author: Jan Hauffa +Date: Thu Apr 21 23:23:18 2011 +0200 + + Simplify debug output in mustek_usb2.c. + +commit c377a0245332df3f5e07c3cbd5ead889f18e0549 +Author: Jan Hauffa +Date: Thu Apr 21 23:10:08 2011 +0200 + + Simplify debug output in mustek_usb2_high.c. + +commit eebbe92c4e73922f1fa1368852a77697c23a1ad1 +Author: Jan Hauffa +Date: Thu Apr 21 22:45:21 2011 +0200 + + Simplify debug logging in mustek_usb2_asic.c. + +commit 2c712f27c90109e2106d7e8d2f5eeb5af6314260 +Author: Jan Hauffa +Date: Thu Apr 21 00:12:26 2011 +0200 + + Remove uninformative function name prefixes, move gamma table creation into separate function. + +commit c1dc16d709459e054f50604f86f1ee41c0e7177f +Author: Jan Hauffa +Date: Wed Apr 20 23:10:53 2011 +0200 + + Extensive changes to reduce the amount of global variables in mustek_usb2_high.c. + + Might have made MustScanner_SetupScan less readable, though. + +commit 9444bf1156f0ab52937d101ba6120ae8685b645b +Author: Jan Hauffa +Date: Sun Apr 17 22:54:14 2011 +0200 + + Reorganize some MustScanner_* functions. + +commit bd7107ca057b1f45313d96114c6376bb5ee7c200 +Author: Jan Hauffa +Date: Sun Apr 17 22:29:32 2011 +0200 + + Remove some unneeded global variables from mustek_usb2_high.c. + +commit 589d6e15eee356121582eae90d7a938ff094c1e6 +Author: Jan Hauffa +Date: Sun Apr 17 21:57:18 2011 +0200 + + Endian-safe macros; moved remaining ASIC state into structure. + +commit f89a7962deafc3b015700469bc2976ac1b931165 +Author: Jan Hauffa +Date: Sun Apr 17 21:00:26 2011 +0200 + + Fix indentation. + +commit df045634cb6a9667c625fb88ecb36bcb58310cda +Author: Jan Hauffa +Date: Sun Apr 17 19:14:53 2011 +0200 + + Misc fixes. + +commit 86f399bd21d7794ba07265b503fea39baa1bb859 +Author: Jan Hauffa +Date: Sun Apr 17 19:00:30 2011 +0200 + + Code in mustek_usb2.c should not use global state of mustek_usb2_high.c. + +commit 74effd61fd8c9663b994459e8f5a738cc95c4932 +Author: Jan Hauffa +Date: Sun Apr 17 18:25:00 2011 +0200 + + Remove histogram stretching for negative images. + +commit 4962b35abd7426b7b51a00d907a538a2a38dc859 +Author: Jan Hauffa +Date: Sun Apr 17 15:56:40 2011 +0200 + + Use prefix 'p' instead of 'lp', fix other style issues. + +commit 9e2aabc97690baae4dd5a7d79d5e7d18df2cf697 +Author: Jan Hauffa +Date: Sun Apr 17 15:27:14 2011 +0200 + + If g_isCanceled is true, the thread has already been canceled. + +commit a75bd3e8f789435ac5d86ef100dd04e8bd155f76 +Author: Jan Hauffa +Date: Sun Apr 17 15:18:58 2011 +0200 + + Improve error handling in mustek_usb2_high.c. + +commit 1d0f3ca42ee9d84bd4afc2f379e46bc6a376de96 +Author: Jan Hauffa +Date: Sun Apr 17 14:51:01 2011 +0200 + + Fix remaining comments. + +commit 9226162537706c982405a7469e7003c4d61808e0 +Author: Jan Hauffa +Date: Sun Apr 17 14:23:46 2011 +0200 + + Normalize naming of constants, structures, and enums. + +commit d7ebb1553b8e28a9291493aa94003737f0c87298 +Author: Jan Hauffa +Date: Sun Apr 17 13:48:45 2011 +0200 + + Remove USB host type enum. + +commit 41ac627e5f4dbd84c082d1756414ef9922c294e7 +Author: Jan Hauffa +Date: Sun Apr 17 13:45:42 2011 +0200 + + Get rid of unnecessary forward declarations. + +commit da64a1fc1efd8a2e8b8245d6101deb103eea1dc4 +Author: Jan Hauffa +Date: Sat Apr 16 21:37:20 2011 +0200 + + First hack to build mustek_usb2* source files separately. + +commit 3479acf538335e1290ca00a5e5fef3097a835579 +Author: Jan Hauffa +Date: Sat Apr 16 20:24:26 2011 +0200 + + Merge mustek_usb2_reflective/transparent.c into mustek_usb2_high.c. + +commit a45931dd11e5fd270d963c5d4e1b882fa3755c90 +Author: Jan Hauffa +Date: Fri Apr 15 20:12:28 2011 +0200 + + Remove MustScanner_GetScannerState. + +commit c9516d53656ed5a7e45dc63b1f2202c96269a7ef +Author: Jan Hauffa +Date: Wed Apr 13 00:22:06 2011 +0200 + + Merge Reflective_Reset, Transparent_Reset, and MustScanner_Prepare into new function MustScanner_Reset. + +commit b2f52afa321331bf5214cdfe00d15ef479b88651 +Author: Jan Hauffa +Date: Sun Apr 10 18:53:37 2011 +0200 + + Further cleanup of mustek_usb2.c. + +commit ccce2d4a9a9e2762f8802af051db3f9ed2922ac8 +Author: Jan Hauffa +Date: Sun Apr 10 18:42:05 2011 +0200 + + Further cleanup of mustek_usb2.c. + +commit 39141a4c0265d97fe4d77084a5a63eaaafd8b8c4 +Author: Jan Hauffa +Date: Wed Mar 30 20:57:54 2011 +0200 + + Return SANE_STATUS_UNSUPPORTED unconditionally in sane_set_io_mode and sane_get_select_fd. + +commit d9c1df0bb84bffb23ee54be2fbd977e2a18ff4ed +Author: Jan Hauffa +Date: Wed Mar 30 19:41:05 2011 +0200 + + Remove vestigial support for custom gamma tables. + +commit acf84e0c9474382d78ae85120c2671b5525bd079 +Author: Jan Hauffa +Date: Tue Mar 29 18:25:19 2011 +0200 + + Clean up function StopScan. + +commit 9158d10df92b7d96bda66d9e601f248c5474259f +Author: Jan Hauffa +Date: Sat Mar 19 14:55:33 2011 +0100 + + Further simplification of MustScanner_Get*Line functions. + +commit 1f6b405451fda5fe349df1653e3423e8fc360e3b +Author: Jan Hauffa +Date: Sat Mar 19 14:14:30 2011 +0100 + + First attempt at simplifying the Get*Line functions. + +commit a6b15f18ccc430db08c638510bcd603d569723ee +Author: Jan Hauffa +Date: Mon Mar 14 00:50:30 2011 +0100 + + Break remaining long lines. + +commit 25242ff9c85f06275ca190896fe37b6d8902e122 +Author: Jan Hauffa +Date: Mon Mar 14 00:21:44 2011 +0100 + + Clean up mustek_usb2_high.c. + +commit c8982a99392cb7c982f12201a978fb4ae5e9e15a +Author: Jan Hauffa +Date: Sun Mar 13 21:13:26 2011 +0100 + + Do not use prefix "by" for byte variable names. + +commit d7b4e02780acd916ebbdd1cf8a9cc99945ea1acd +Author: Jan Hauffa +Date: Sun Mar 13 21:07:55 2011 +0100 + + Use SANE_Status and SANE_TRUE/SANE_FALSE consistently. + +commit 8b3c78838ae099d0099b54fbd640c0db1bb3b88c +Author: Jan Hauffa +Date: Sun Mar 13 20:06:24 2011 +0100 + + Create common helper function for Asic_CarriageHome and Asic_MotorMove, remove MotorBackHome. + +commit ed5dc8a7cdfb7c32faff37e7ea23446b5de9fc41 +Author: Jan Hauffa +Date: Sun Mar 13 19:41:40 2011 +0100 + + Further refactoring of Asic_SetWindow. + +commit 82a40d5dca84990f41c15998ae89425eaa576ff6 +Author: Jan Hauffa +Date: Sun Mar 13 19:24:17 2011 +0100 + + Refactoring of Asic_SetWindow. + +commit 93a79af5d3322fd06369c59a7e72f6773f9bed52 +Author: Jan Hauffa +Date: Sun Mar 13 15:54:02 2011 +0100 + + Fix indentation. + +commit b43f0688dbb309b7841e89074aab00d4aa61c3a2 +Author: Jan Hauffa +Date: Sun Mar 13 15:15:47 2011 +0100 + + Use symbolic constants in more places. + +commit 3c87b646b5831b24e6d9d13f26f2a08ec83b6cff +Author: Jan Hauffa +Date: Sun Mar 13 14:48:40 2011 +0100 + + First attempt at merging Asic_SetCalibrate into Asic_SetWindow. + +commit 033ebe6d9b6db266fb8146a4ac17d82043b5636a +Author: Jan Hauffa +Date: Sat Mar 12 19:25:59 2011 +0100 + + Made error handling in mustek_usb2_asic.c more consistent. + +commit 96c6ee1dae3dffe2eae9cf3466a0d246d9e3317d +Author: Jan Hauffa +Date: Sat Mar 12 16:20:36 2011 +0100 + + Cleaned up firmware state handling. + +commit c1f22ef9a9a3be1db26fc03721156a72156870b5 +Author: Jan Hauffa +Date: Sat Mar 12 14:18:48 2011 +0100 + + Clean up Asic_SetCalibrate, make Asic_SetCalibrate and Asic_SetWindow more similar. + +commit 3cd05daccad6bb1e50cc4030c0b471ed00897367 +Author: Jan Hauffa +Date: Sat Mar 12 02:13:34 2011 +0100 + + Refactoring the smaller high level ASIC functions. + +commit de5b647c4a47938f186b4661615dfbbd3315636d +Author: Jan Hauffa +Date: Fri Mar 11 23:48:21 2011 +0100 + + Refactored medium level ASIC functions. + +commit 693da258ce3bbcaf5c8ea31b9a08b77af615c0f2 +Author: Jan Hauffa +Date: Fri Mar 11 18:36:07 2011 +0100 + + Move some definitions from mustek_usb2_asic.h to more appropriate headers. + +commit 2776b336d15b0e8094271c69dfda7055cd1d896b +Author: Jan Hauffa +Date: Fri Mar 11 18:17:54 2011 +0100 + + Simplify LLFSetMotorCurrentAndPhase. + +commit dea59ee824157d33c64df719869ee937749f5428 +Author: Jan Hauffa +Date: Fri Mar 11 17:44:11 2011 +0100 + + Refactored all low-level motor functions except LLFSetMotorCurrentAndPhase. + +commit e47fee8dcc88ef4fc3e68ed65def29aacb56d17d +Author: Jan Hauffa +Date: Fri Mar 11 16:27:03 2011 +0100 + + Simplified computation of motor current, removed a redundant register assignment. + +commit 5688a78ace501c9a0ca36cee5f67a5929d652e81 +Author: Jan Hauffa +Date: Fri Mar 11 16:08:35 2011 +0100 + + Simplify low-level ASIC functions, add missing error checks. + +commit 1d8a008856d049df910b1d68599a622986ce85c4 +Author: Jan Hauffa +Date: Fri Mar 11 14:25:09 2011 +0100 + + Simplify SetRWSize, use symbolic constants for registers whenever possible. + +commit 794b15ff9e1daf87b80898aade0dc401e1f597d8 +Author: Jan Hauffa +Date: Fri Mar 11 13:38:40 2011 +0100 + + Simplyfied Asic_SetShadingTable. + +commit 6d5a5123ea3c41ada76e984670b988f847de2145 +Author: Jan Hauffa +Date: Fri Mar 11 13:12:31 2011 +0100 + + Remove whitespace at the end of debug output lines. + +commit d418094b64ad7ae2558860568c3e1e28a5a6cbc7 +Author: Jan Hauffa +Date: Fri Mar 11 13:08:03 2011 +0100 + + Some motor table related fixes. + +commit 3d1b409a1b526025c52c314f143cedd4d2d5d05f +Author: Jan Hauffa +Date: Fri Mar 11 02:28:14 2011 +0100 + + Fix a few comments. + +commit 88cac5b4ade1ad4ace0da5be843c879e9256c71c +Author: Jan Hauffa +Date: Fri Mar 11 02:25:43 2011 +0100 + + Begin simplifying LLFSetMotorCurrentAndPhase, ensure all fields of LLF_MOTOR_CURRENT_AND_PHASE are initialized. + +commit fb55a9260404049e00f13e627d7e3c8e06b397b8 +Author: Jan Hauffa +Date: Fri Mar 11 02:08:46 2011 +0100 + + Remove even more unused code from mustek_usb2_asic.c. + +commit 77ea9b01c374833e061ecee271d81a37f38dad77 +Author: Jan Hauffa +Date: Fri Mar 11 00:07:43 2011 +0100 + + Improved readability of functions in mustek_usb2_high.c. + +commit ca1e0db16f6aeb5c92e2ddf08700981f6799fc4e +Author: Jan Hauffa +Date: Thu Mar 10 01:39:01 2011 +0100 + + Remove unused code and fix indentation in mustek_usb2_high.c. + +commit 3f7cf8a65f48447fbc70808229ef6d2f50c3e412 +Author: Jan Hauffa +Date: Wed Mar 9 01:56:04 2011 +0100 + + Remove DISABLE bit flag constants. + +commit 073fe96611477986de970ab0c444f73024ecea33 +Author: Jan Hauffa +Date: Wed Mar 9 01:26:09 2011 +0100 + + LLF_MOTOR_CURRENT_AND_PHASE: only first byte of arrays MotorCurrentTableA/B is ever used + +commit 4b242a71394221a2155379b8e89340610a8ed725 +Author: Jan Hauffa +Date: Wed Mar 9 01:18:10 2011 +0100 + + Remove unused parameter isOrderInvert from MustScanner_GetMono*Line. + +commit 78863d13deacf657ef15b6078d0926fadbd9991a +Author: Jan Hauffa +Date: Wed Mar 9 01:05:41 2011 +0100 + + Remove redundant typecasts. + +commit cf6c88bfd1debd288ca563b54120e8ff3903f634 +Author: Jan Hauffa +Date: Wed Mar 9 00:41:21 2011 +0100 + + Try to reduce differences between mustek_usb2_reflective.c and mustek_usb2_transparent.c, part 1. + +commit 972fc54793d767a6cd18c722ae36feb408f45f9f +Author: Jan Hauffa +Date: Wed Mar 9 00:02:06 2011 +0100 + + Move some code that was duplicated in mustek_usb2_transparent.c and mustek_usb2_reflective.c to mustek_usb2_high.c. + +commit db37c13bb337c153ddd83902b8c9ad0b4a445c2a +Author: Jan Hauffa +Date: Tue Mar 8 23:10:57 2011 +0100 + + Remove information-less comments, break long lines, fix indentation. + +commit fa8101e05e0432a385e782acd663ce56e0c00367 +Author: Jan Hauffa +Date: Tue Mar 8 18:37:55 2011 +0100 + + Remove unused enum FS_NULL. + +commit ccde6b063555892ae55ac6c7bfeb8a7d44e02a4e +Author: Jan Hauffa +Date: Tue Mar 8 18:29:13 2011 +0100 + + Remove unused fields of struct GETPARAMETERS. + +commit 2be2be76aec39dbef8bbe0501eabaaf0838b3cbc +Author: Jan Hauffa +Date: Tue Mar 8 18:26:32 2011 +0100 + + Unified style of struct and enum definitions. + +commit ce6d7010d3fc0bfc5a54cd3411660db43e382bac +Author: Jan Hauffa +Date: Tue Mar 8 18:15:30 2011 +0100 + + Pixel flavor is never PF_WhiteIs0, so the associated code can be removed. + +commit 76a23c3bc4c80f91f223f29ae8cc5c91a1a8e4f8 +Author: Jan Hauffa +Date: Sun Mar 6 20:31:48 2011 +0100 + + Remove dead "auto level" code, sanitize key handling. + +commit e7c44fe6799e5c1d4bce272b539927337b7a2aca +Author: Jan Hauffa +Date: Sun Mar 6 20:19:27 2011 +0100 + + Cleanup of Asic_SetWindow + +commit 16485d47da8b2d0a829e378afa1443c1ef4839f8 +Author: Jan Hauffa +Date: Sun Mar 6 19:37:25 2011 +0100 + + Optimize motor table calculation. + +commit 8821c2882f51d309a7832b362407c46ff11ccd4a +Author: Jan Hauffa +Date: Sun Mar 6 19:16:16 2011 +0100 + + First attempt at cleaning up mustek_usb2_asic.c. + +commit 30087b3f43f4e6f2dd83373145dbe0a533b27419 +Author: Jan Hauffa +Date: Sun Mar 6 17:06:14 2011 +0100 + + Avoid some unorthodox language constructs. + +commit 030c7fa122dccca2f47c949ca46a5972efca20b8 +Author: Jan Hauffa +Date: Sun Mar 6 16:55:39 2011 +0100 + + Remove redundant code from mustek_usb2_high.c. + +commit a554d61c17206e6b1585bacdfd41fe4aacea1a95 +Author: Jan Hauffa +Date: Sun Mar 6 16:18:18 2011 +0100 + + Remove redundant code from mustek_usb2_asic.c, add a missing error check. + +commit a49bff1a60386c88168d9aa8a94cdc0ccecac7fd +Author: Jan Hauffa +Date: Sun Mar 6 15:39:23 2011 +0100 + + Simplify DRAM test. + +commit bc9252c09464b7ed460bf726dcca3d67f97cd74d +Author: Jan Hauffa +Date: Sun Mar 6 15:27:19 2011 +0100 + + Remove bogus automatic warmup and power saving functions. + +commit 0f63d16121ea84f99f75331582c3bdd0cd0d4e1f +Author: Jan Hauffa +Date: Sun Mar 6 15:13:46 2011 +0100 + + Remove redundant code from mustek_usb2.c. + +commit 694a69dcab0dddf2ab12eebba49c66c7ac20fdad +Author: Jan Hauffa +Date: Sun Mar 6 14:48:40 2011 +0100 + + Remove unused definitions from mustek_usb2.h. + +commit 21be236e840be4f8ca4bead69844f7cd691a8353 +Author: Jan Hauffa +Date: Sun Mar 6 13:57:10 2011 +0100 + + Remove unused definitions from mustek_usb2_asic.h. + +commit 2404326ddeaf7552e094062b1ed57521e9a21cb4 +Author: Jan Hauffa +Date: Sun Mar 6 02:41:42 2011 +0100 + + Remove unused definitions from mustek_usb2_high.h and ensure that the remaining ones are used consistently. + +commit d1851a6512a113d1dc4f20beb86a8be29310b627 +Author: Jan Hauffa +Date: Sun Mar 6 01:50:53 2011 +0100 + + Remove some particularly pointless comments, reduce size of block comments. + +commit 047631050c262142a0f52ed4e1ecc053b03869ad +Author: Jan Hauffa +Date: Sun Mar 6 01:15:12 2011 +0100 + + Remove pointless indirection. + +commit dedf0ac30d341b9bcbab7fb32050ff953cc73eff +Author: Jan Hauffa +Date: Sun Mar 6 01:03:14 2011 +0100 + + Remove unused global variable g_pDeviceFile and associated logic. + +commit 3b73e1e8a3b0085ad5db38837f0bf44f5a5b8919 +Author: m. allan noah +Date: Sun Nov 8 09:24:37 2015 -0500 + + fujitsu backend v128 + + do not ask fi-4340 for serial number + +commit 72ecee97ce9db13f148aedf52eb46911212d58e4 +Author: Thomas Klausner +Date: Tue Oct 27 20:06:00 2015 +0900 + + Add DragonFly BSD support (fixes 315205) + +commit a4cc05f677f110c9361f3274fc5d15087a2f8906 +Author: Thomas Klausner +Date: Tue Oct 27 20:09:00 2015 +0900 + + Add DragonFly BSD support to sane-find-scanner (fixes 315206) + +commit 1baab222e418275ec6fd14afad91b64d0110fdbd +Author: Olaf Meeuwissen +Date: Sun Nov 8 18:49:58 2015 +0900 + + Add missing include (fixes 315207) + + Both Linux and NetBSD mention this header for use of setsocketopt(). + DragonFly BSD needs it for the SOL_SOCKET symbol. + +commit b0a99cb48938cae5a88c5f37a9a91b60589bad4e +Author: Olaf Meeuwissen +Date: Sun Nov 8 18:36:57 2015 +0900 + + Fix non-portable endian.h include issue (315209) + +commit d7516a11ebd6a8d96380c5ee256b171be1cb5e35 +Author: Olaf Meeuwissen +Date: Sun Nov 8 18:16:17 2015 +0900 + + Fix sane-desc testsuite logic + + This fixes test failures for release tarballs (pointed out by Mike + Frysinger), clamps down on wildcards and prints a failure message + when a test does not succeed. + +commit 358cbd7f319c64055cd76fedf62a92500b0c5cf5 +Author: m. allan noah +Date: Fri Nov 6 21:39:35 2015 -0500 + + canon_dr v53 continued + + reorder geometry group options + use bg_color to fill missing image data + +commit 398610336b6aadf1a0c37390a0a5e2bd926bdfdf +Author: m. allan noah +Date: Fri Nov 6 12:19:20 2015 -0500 + + canon_dr backend v53 + + add swskip option + +commit b4bc0eb518ce74ffbfdbe0ce1a14bb404804cd57 +Author: m. allan noah +Date: Fri Nov 6 11:46:17 2015 -0500 + + canon_dr backend v53 + + replace image processing methods with sanei_magic + +commit 666c9a74ff26fd530b40db28f03b447209cf419e +Author: m. allan noah +Date: Thu Nov 5 21:42:29 2015 -0500 + + canon_dr backend v52 + + improve dropout option handling + add software dropout implementation for downsampled modes + +commit 9dc79245291f6d4312c5656fff4232b07f70b673 +Author: m. allan noah +Date: Wed Nov 4 13:49:02 2015 -0500 + + canon_dr backend v52 + + add must_downsample and must_fully_buffer + +commit 01063a769d5431ca83069a9cf240894f893d01f0 +Author: m. allan noah +Date: Wed Nov 4 13:05:05 2015 -0500 + + canon_dr backend v52 + + set can_color=1 by default (recent models dont have 'C' in name) + enable jpeg for DR-6080 + +commit 0b822359b3e1798294e30a7ea9cfd6fd9a1e3e85 +Author: m. allan noah +Date: Wed Nov 4 13:00:10 2015 -0500 + + cardscan backend v3 + + add USB IDs for newer model 800c + +commit 33495ef9b42a783c8f5f2c056ac5699481d3cc7e +Author: Luiz Angelo Daros de Luca +Date: Thu Oct 15 12:35:00 2015 +0900 + + Add missing includes + +commit 4f803bff0872460433dae1ac2a2954ad1016b678 +Author: Olaf Meeuwissen +Date: Thu Oct 22 22:23:47 2015 +0900 + + Escape [] for configure help strings + +commit 471453d2b825a569d467d60160b0eaaf6746bf67 +Author: Olaf Meeuwissen +Date: Mon Oct 19 20:51:04 2015 +0900 + + Drop unused INCLUDES substitution variable + + This addresses the following autoreconf output: + + configure.ac:85: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') + + The INCLUDES variable is not referenced anywhere in configure.ac or + configure. In addition, none of the Makefile.am files use it. + +commit 32c25b8b8235762d9feb5dbd0e81496a56e15569 +Author: Olaf Meeuwissen +Date: Mon Oct 19 21:11:53 2015 +0900 + + Fix duplicate automake file variable initialization issue + + This was introduced in 74c00494. + +commit f8d35b8d2fdcacc9b664594d141102c2c80ac076 +Author: m. allan noah +Date: Mon Oct 26 08:34:17 2015 -0400 + + Update canon_dr.desc + + We had a few scanners that were reported by email or in tracker + tickets, which had not been updated in the desc file. + +commit 716340e7320e7f946329ad7a3cd911d676c92f6d +Author: Olaf Meeuwissen +Date: Sat Oct 17 13:55:17 2015 +0900 + + Include sys/types.h for u_long. Fixes compile on OS X + +commit 03d90ac2edf287bb0358044d7abdd9f6008dffc5 +Author: Alessandro Zummo +Date: Wed Oct 14 21:55:31 2015 +0200 + + epsonds: do not enable double feed detection by default + +commit a90d7c91b36b06bd002af890863c1d608dcdd7d4 +Author: Rolf Bensch +Date: Wed Oct 14 19:05:03 2015 +0200 + + changelog for recent work + +commit 4a83d9c8a4f4c396f5261d62bf7d2f9b8684eba9 +Author: Rolf Bensch +Date: Wed Oct 14 19:04:27 2015 +0200 + + Pixma backend version 0.17.24 + +commit 3095ab46c45e004163f5fb36efa00ce378770a9e +Author: Rolf Bensch +Date: Wed Oct 14 19:02:43 2015 +0200 + + new scanners Canon PIXUS MP5/SmartBase MPC190/imageCLASS MPC190 and Canon MP10/SmartBase MPC200/imageCLASS MPC200 + +commit 06b865cfd24f1e6c71506684d73ef79b43edc3cf +Author: Olaf Meeuwissen +Date: Wed Oct 14 20:39:39 2015 +0900 + + Prevent possible buffer overflows [-Wstrncat-size]. Fixes 315198 + +commit 18e4c4a08622e2ee4536dcb423d4548a4bc7a7e3 +Author: Olaf Meeuwissen +Date: Tue Oct 13 23:32:40 2015 +0900 + + Revert "Prevent use of uninitialized variable" + + This change introduces a variable that shadows the file scope one. + + This reverts commit 45e66aee952dcdada88293901580a111262fc1e9. + +commit 36876a83663832cf89fa945737d004ce9b46fb01 +Author: Olaf Meeuwissen +Date: Mon Oct 12 20:55:19 2015 +0900 + + saned: minor improvement of help message wording + +commit 32986192bd9ce14276e1ae144d71d42461e591b9 +Author: Olaf Meeuwissen +Date: Mon Oct 12 20:42:50 2015 +0900 + + fix: declaration-after-statement warning + +commit 42aa01e4e558e0019df00702579c928f9fd126e6 +Author: Olaf Meeuwissen +Date: Mon Oct 12 20:42:01 2015 +0900 + + fix: missing-field-initializers warning + +commit fa001c2193045844dd3318f9538b309e11089c9c +Author: Olaf Meeuwissen +Date: Mon Oct 12 20:49:07 2015 +0900 + + Follow getopt_long usage in scanimage.c + + This is on the off chance that getopt_long is not in the system's + standard library. + +commit 45e66aee952dcdada88293901580a111262fc1e9 +Author: Olaf Meeuwissen +Date: Mon Oct 12 20:47:43 2015 +0900 + + Prevent use of uninitialized variable + +commit eab8fd457d2b8f38f9425f87258cf4fe42dac15c +Author: Matteo Croce +Date: Sun Oct 11 19:50:04 2015 +0200 + + saned: add '-b' option to bind to a specific address + +commit fed2a2cf60511d87e413148f1b9063f9ea4e6917 +Author: Matteo Croce +Date: Sun Oct 11 19:50:03 2015 +0200 + + saned: use getopt_long() for option parsing + + The help message has been adjusted to match getopt_long conventions. + +commit 418d1ecea7571d10acd08df2edc7967a91e14b0d +Author: Matteo Croce +Date: Sun Sep 20 19:55:37 2015 +0200 + + saned: move help message to usage() function + +commit a79cd0abe7daed1a749c8ad2cd7e2a89cc6153e4 +Author: Matteo Croce +Date: Sun Sep 20 19:55:36 2015 +0200 + + saned: parse inetd args in main() + + move argument parsing logic from run_inetd() to main() + +commit 2c3cb206ce55a7ac9ff9b479de452a332ba2aa1a +Author: Matteo Croce +Date: Sun Sep 20 19:55:35 2015 +0200 + + saned: parse standalone args in main() + + move argument parsing logic from run_standalone() to main() + +commit 2239d2aaff16964a5d67293f5e4220d235e2c84d +Author: Alexander Hofmann +Date: Tue Oct 6 17:42:05 2015 +0200 + + Replace obsolete interface with standard include files + +commit 56e69f0998005db432b4f7dd38693a870f663520 +Author: m. allan noah +Date: Mon Oct 5 08:21:39 2015 -0400 + + added kvs1025.conf.in and utsushi.desc + +commit 69a9a3116eb18f8d0c618217e033a1c134215954 +Author: m. allan noah +Date: Sun Oct 4 21:25:08 2015 -0400 + + minor release doc update + +commit 5e1d45cad7d7933b7120646ae5174ccdc8a9b49f +Author: m. allan noah +Date: Sun Oct 4 21:13:39 2015 -0400 + + reopen sane-backends 1.0.26git diff --git a/ChangeLogs/ChangeLog-1.0.3 b/ChangeLogs/ChangeLog-1.0.3 new file mode 100644 index 0000000..c6a6b4d --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.3 @@ -0,0 +1,790 @@ +2000-08-12 Petter Reinholdtsen + + * configure.in aclocal.m4 configure NEWS: New version 1.0.3. + Updated release date and removed freeze markers. + +2000-08-12 Oliver Rauch + * changed tools/sane-desc.el sane.gif->sane.png + +2000-08-10 Henning Meier-Geinitz + * backend/avision.c: Changed // comment to /* */. This broke + compilation on AIX cc, Irix cc and Sun cc. + +2000-08-10 Rene Rebe + * backend/avision.h: some updates + cleanups + * backend/avision.c: use of DB () and sane_config_read () + general cleanups (sorry for the big commit - I used Emacs auto-ident + for some regions ...) + +2000-08-07 Henning Meier-Geinitz + + * README.irix: Removed text about library version problems. + * README.linux: Added comment about idescsi problems. + * ltmain.sh: Changed Irix library version system (from Oliver Rauch). + This should fix the library version problems under Irix. + * backend/Makefile.in: Added all files in lib/ to LIBLIB. This fixes + a bug concerning linking with external frontends. + +2000-08-06 Henning Meier-Geinitz + + * backend/plustek.c: Removed "const" from function header. This fixes + a compilation problem on aix/cc. + * configure configure.in: Additional warnings are now disabled by + default for the 1.0.3 realease. + +2000-08-06 Henning Meier-Geinitz + + * backend/hp4200.desc: Added description file for HP 4200 USB + scanner. + +2000-08-05 Henning Meier-Geinitz + + * AUTHORS: Added link to PROJECTS. + * PROJECTS: Removed frontends that are included in the SANE + distribution. Added frontends: sanecgi, scanadf. Removed backends + Kodak DS-20 (old camera, no specs available, not interested anymore), + Logitech (old handscanner, author not interested anymore). Added + backends as6e (Artec AS6E), bh (Bell and Howell Copiscan), lhii + (handheld scanner support), Mustek USB, nec (NEC PC-IN500/4C), + v4l2 (Video for Linux 2). Added/updated information about SANE + ports: BeOS, OS/2, win32. Added Information about WinSANE and + TWAIN interface for xsane-win32. Added link to AUTHORS and README. + Changed format. Added explanation for statuses. + * README: Added link to PROJECTS. + * README.irix: New file. Information about the library version and + jpeg library problems. + * backend/as6e.desc: New description file for the Artec AS6E. + * backend/bh.desc: New description file for Bell and Howell Copiscan + scanners. + +2000-08-03 Henning Meier-Geinitz + + * PROJECTS: Removed backends that are included in SANE. Updated + info for Primax. Added HP 4200. + +2000-08-02 Henning Meier-Geinitz + * NEWS: Updated backend versions. + * backend/hp*.c: Changed include statements from #include + to #include "sane/...". + +2000-08-02 Petter Reinholdtsen + + * backend/v4l.c: Check return value of ioctl() calls. Use DBG() + instead of syslog() report progress. Removed redundant check for + trailing newline in config file as we are now using + sanei_config_read(). Remove ioctl(VIDIOCSYNC), as it hangs on my + v4l2 device. + +2000-07-31 Henning Meier-Geinitz + * backend/mustek.*: Update to Mustek backend 1.0-96. Fixed Problem + with detecting some three-pass scanners. + +2000-07-31 Henning Meier-Geinitz + * doc/sane.tex: Chapter 4 said, that this was standard version + 0 (draft). Changed to 1 and removed "(draft)". + +2000-07-31 Henning Meier-Geinitz + * sanei/sanei_DomainOS.c sanei/sanei_ab306.c sanei/sanei_codec_ascii.c + sanei/sanei_codec_bin.c sanei/sanei_config.c sanei/sanei_config2.c + sanei/sanei_constrain_value.c sanei/sanei_init_debug.c + sanei/sanei_load_values.c sanei/sanei_net.c sanei/sanei_pa4s2.c + sanei/sanei_pio.c sanei/sanei_save_values.c sanei/sanei_scsi.c + sanei/sanei_thread.c sanei/sanei_wire.c sanei/test_wire.c: Changed + include statements from #include to #include "sane...". + * PROBLEMS: Updated Mustek entry. + * TODO: Updated some entries that are done. + * backend/avision.c backend/plustek.c: Changed include statements from + #include to #include "sane...". + +2000-07-30 Peter Kirchgessner + + * backend/hp.desc: Change Parallel to Parport in description + +2000-07-30 Oliver Rauch + * changed all to "config.h" in lib/*.c + +2000-07-30 Henning Meier-Geinitz + + * backend/mustek.*: Update to Mustek backend 1.0-95. Changed from + wait() to waitpid() and removed unused code. + * configure configure.in backend/m3096g.c backend/sp15c.c: Reverted + the V_REV patch. V_REV should not be used in backends. + +2000-07-30 Henning Meier-Geinitz + + * configure configure.in: Add V_REV to CPPFLAGS (only V_MAJOR and + V_MINOR were defined until now). + * doc/.cvsignore: Added sane-coolscan.5. + +2000-07-29 Henning Meier-Geinitz + + * backend/sp15c.c backend/m3096g.c: Replace fgets with + sanei_config_read, return V_REV as part of version_code string + (patch from Randolph Bentson). + +2000-07-29 Chris Pinkham + + * backend/artec.c: Changed include statements from #include + to #include "sane...". + +2000-07-29 Henning Meier-Geinitz + + * backend/GUIDE: Added some comments about portability and + documentation. + * backend/abaton.c backend/agfafocus.c backend/apple.c + backend/canon.c backend/coolscan.c backend/dc210.c backend/dc25.c + backend/dll.c backend/dmc.c backend/microtek.c backend/microtek2.c + backend/microtek2.c backend/mustek_pp.c backend/net.c backend/pint.c + backend/pnm.c backend/qcam.c backend/ricoh.c backend/s9036.c + backend/sane_strstatus.c backend/sharp.c backend/snapscan.c + backend/st400.c backend/stubs.c backend/tamarack.c backend/v4l.c: + Changed include statements from #include to + #include "sane...". + * backend/avision.c backend/dc25.c: Use DBG(0, ...) instead of + fprintf (stderr, ...) + * backend/avision.c backend/canon-sane.c backend/coolscan.c + backend/dc25.c backend/microtek.c backend/microtek2.c + backend/st400.c: Use sanei_config_read() instead of fgets(). + * backend/coolscan.desc backend/microtek.desc backend/microtek2.desc + backend/st400.desc: Added :interface and :manpage entries. + * backend/nec.desc: Status is beta now (was: new). Fixed typo. + * doc/canon.README: Removed, because the information is included in + the manpage now. + * doc/Makefile.in: Added sane-coolscan to list of mapages to install. + * README: Added Link to coolscan manpage. + * backend/mustek.*: Update to Mustek backend 1.0-94. Fixed the + #include bug. + +2000-07-29 Karl Heinz Kremer + + * backend/epson.c: Changed the include statements for SANE includes + from #include <...> to #include "..." + +2000-07-28 Chris Pinkham + + * backend/aretc.c: Corrected sane_close() bug. Converted to use + sanei_config_read() instead of fgets(). + * backend/artec.desc: Changed interface entry to "Parport" vs "Parallel" + +2000-07-28 Henning Meier-Geinitz + + * ltmain.sh: Added underscore to sed expression for removing + backendname from soname (needed for libsane-mustek_pp). + * sane.lsm: Added keywords for new backends. + * lib/isfdtype.c: Added implementation for platforms that lack + isfdtype() (mostly from Olly Betts). + * backend/v4l.desc: Activated man page entry. + * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend + 1.0-93. Fixed color scanning for Paragon 600 II N firmware 1.02. + Fixed possible segfault in sane_control_option() when info is 0. + Removed some compiler warnings. + * NEWS: Updated Mustek backend version, added Artec, fixed typo + * doc/Makefile.in doc/sane-snapscan.man doc/sane-canon.man README + backend/snapscan.desc backend/canon.desc backend/.cvsignore: + Added manpage for canon and snapscan backends. Added :interface + entry for canon. + * backend/canon-sane.c: Fixed possible segfault in + sane_control_option() when info is 0. + +2000-07-22 Petter Reinholdtsen + + * backend/v4l.c: Bugfix: Avoid crashing in + sane_control_option() when last param is NULL. + +2000-07-25 Chris Pinkham + + * backend/artec.c: Updated to v0.5.14. Added "Negative" mode as option + even when in color/greyscale modes. Fix sane_close() bug. Fixed bug + in sane_get_option_descriptor that allowed invalid option number. + Changed numerous int variables to size_t to eliminate warnings. + Changed various elements in ARTEC_Scanner structure to SANE_Int + instead of int. Replaced all fprintf() statements with DBG(). + * backend/artec.desc Added interface entries. + +2000-07-26 Karl Heinz Kremer + + * backend/epson.c: Fixed problem with Perfection610 scanner. + The variable s->color_shuffle_line was not correctly initialized. + * backend/epson.desc: Updated version number + +2000-07-26 Oliver Rauch + * added info about variable scsi buffer sizes defined by backends + umax, mustek, sharp (via sanei_scsi_open_extended()) to + man sane-scsi + +2000-07-25 Henning Meier-Geinitz + + * backend/snapscan.c: Use DBG(0, ...) instead of fprintf (stderr, ...) + * backend/abaton.c backend/agfafocus.c backend/apple.c backend/dc210.c + backend/dll.c backend/dmc.c backend/microtek2.c backend/pint.c + backend/qcam.c backend/ricoh.c backend/s9036.c backend/snapscan.c + backend/tamarack.c: Use sanei_config_read instead of fgets. + * backend/dc210.c backend/microtek.c backend/pnm.c: Added + #include . + * backend/dc25.c backend/m3096.c backend/m3096g.c backend/sp15.c + backend/st400.c: Moved #include to the beginning. + * AUTHORS: Changed agfa to agfafocus. + +2000-07-25 Peter Kirchgessner + + * backend/hp.c hp-scl.c hp-option.c hp-handle.c hp-accessor.c + remove inline stuff + +2000-07-25 Henning Meier-Geinitz + + * configure.in configure include/sane/config.h.in + include/sane/sanei_backend.h: Moved test for u_int* to configure. + * include/sane/sanei_debug.h: Remove #warning (Irix compiler doesn't + like this) + * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend + 1.0-92. Changed linedistance correction for MFS-8000SP. Fixed + margin positions and removed warning for MFS 6000CX. Warning is + printed in debug level 0 again. Removed test for gamma length. + Fixed (partly) ADF handling. Man page update. More details in + mustek.CHANGES. + * NEWS: updated for new Mustek backend version. + +2000-07-20 Peter Kirchgessner + * backend/hp.c: use sanei_config_read() instead of fgets + * backend/hp-scl.c: Dont write chars < 32 to DBG + +2000-07-20 Abel Deuring + * backend/sharp.c: removed fgets-call + minor bugfix + * backend/sharp.desc: added entry ":manpage" + * sanei/sanei_scsi.c: added missing dummy function + sanei_scsi_req_flush_all_extended + +2000-07-18 Henning Meier-Geinitz + + * configure.in configure: Fixed --enable-warnings to work as + advertised. + +2000-07-18 Petter Reinholdtsen + + * configure.in configure include/sane/config.h.in lib/Makefile.in + lib/getenv.c lib/isfdtype.c lib/vsyslog.c + sanei/sanei_init_debug.c: OS/2's getenv() is useless, OS/2, + Solaris and AIX is missing isfdtype() and AIX is missing + vsyslog(). Implement replacement functions. + +2000-07-17 Henning Meier-Geinitz + + * backend/snapscan.c backend/snapscan-scsi.c: Replace C++ comment + with C comment. + +2000-07-17 Henning Meier-Geinitz + + * include/sane/sanei_backend.h: Replace C++ comment with C comment. + +2000-07-17 Henning Meier-Geinitz + + * backend/musteka4s2.desc: Removed. Now that the mustek_pp + backend is part of SANE musteka4s2 is no longer neccessary. + If somebody really wants to use the old musteka4s2 sources + he will find a link on the mustek_pp WWW page. + +2000-07-16 Jochen Eisinger + + * backend/mustek_pp.c: Replaced fgets() with sanei_config_read() + +2000-07-16 Petter Reinholdtsen + + * include/sane/sanei_debug.h: Fix typo. + +2000-07-15 Karl Heinz Kremer + + * backend/epson.c: Replaced fprintf() with DBG() + + * backend/epson.desc: updated version number + +2000-07-15 Henning Meier-Geinitz + + * backend/dc210.c: Replaced fprintf (stderr, ...) by DBG (). + +2000-07-15 Henning Meier-Geinitz + + * doc/Makefile.in doc/sane-dc210.man doc/sane-v4l.man + doc/.cvsignore: Added manpages for dc210 and v4l. These + are just standard manpages. Please check and update them. + + * README: Added dc210, v4l and mustek_pp entries. + +2000-07-15 Henning Meier-Geinitz + + * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend + 1.0-90. Fixed linedistance-handling for Paragon 8000SP. Fixed + mustek.conf port entry. Updated man page (parallel port + scanners and 600 II N). + + * NEWS: Updated (mustek backend version 1.0-90) + + * backend/dll.conf: Commented out mustek_pp on behalf of the + maintainer + + * doc/.cvsignore: added sane-mustek_pp.5, sane-plustek.5 and + sane-st400.5 + +2000-07-15 Andreas Rick + + * backend/coolscan.c: added missing initialization in + coolscan_read_data_block() + +2000-07-13 Petter Reinholdtsen + + * AUTHORS backend/dll.conf backend/Makefile.in backend/mustek_pp.c + backend/mustek_pp.desc backend/mustek_pp.h backend/mustek_pp.conf + doc/Makefile.in doc/sane-mustek_pp.man: New backend for + ScanExpress 6000 P, ScanMagic 4800 P, 600 III EP Plus, ScanExpress + 600 SEP and MD9848 from Jochen Eisinger. + + * backend/snapscan-310.c backend/snapscan-scsi.c + backend/snapscan-sources.c backend/snapscan-sources.h + backend/snapscan-utils.c backend/snapscan.c backend/snapscan.desc + backend/snapscan.h: New snapscan backend version dated 20000514 + from Steve Underwood. + + * backend/microtek2.h backend/microtek2.c backend/microtek2.desc: + Add support for ScanMaker X6USB. Patch from Oliver Neukum. + + * README.os2 configure.os2 include/sane/sanei_backend.h + sanei/os2_srb.h sanei/sanei_init_debug.c backend/dll.c + backend/net.c frontend/saned.c : Some of the OS/2 patches from + Yuri Dario. + + * frontend/saned.c: Correct cancel handling in saned. Patch from + Jochen Eisinger. + +2000-07-12 Ingo Wilken + + * frontend/scanimage.c, doc/scanimage.man: Support for + environment variable SANE_DEFAULT_DEVICE. + +2000-07-11 Ingo Wilken + + * backend/st400.c, backend/st400.conf, backend/st400.h, + doc/sane-st400.man: new files + * backend/st400.desc: updated information + * README, backend/Makefile.in, doc/Makefile.in: added st400 backend + * AUTHORS: added myself as maintainer of st400 backend + +2000-07-09 Peter Kirchgessner + + * doc/sane-hp.man: Updated manual page (scantype --> scan source) + +2000-07-09 Peter Kirchgessner + + * backend/hp-handle.c, hp-scl.c, hp-scl.h, hp.c, hp.h, hp-option.c + hp-option.h: Add wait for front panel button + + * backend/hp.desc: Changed version to 0.88 + +2000-07-09 Andreas Rick + + * AUTHORS: added myself as maintainer of the coolscan backend + + * README: added Coolscan page link + + * doc/sane-coolscan.man: first version of Coolscan manpage + +2000-07-09 Gerhard Jaeger + + * AUTHORS: added myself as maintainer of the Plustek backend + + * README: added Plustek manpage entry + + * backend/plustek.desc: updated description + + * backend/plustek.c backend/plustek.h backend/plustek-share.h + backend/plustek.conf: added Plustek backend code + + * backend/Makefile.in doc/Makefile.in backend/dll.conf: + added plustek entries + + * doc/sane-plustek.man: added manpage for Plustek backend + +2000-07-09 Petter Reinholdtsen + + * sanei/sanei_thread.c: Add required include files to get this to + compile almost without warnings on Unix. + + * frontend/Makefile.in frontend/scanimage.c frontend/stiff.h + frontend/stiff.c doc/scanimage.man: Add 16 bit support and new + option --format to change file format. Makes it possible to save + uncompressed TIFF images. Patch from Peter Kirchgessner. + + * backend/microtek2.c: Add ScanMaker X6USB identifier. Patch from + Oliver Neukum. + +2000-07-07 Petter Reinholdtsen + + * acinclude.m4 configure.in aclocal.m4 configure: New autoconf + test SANE_V4L_VERSION. + + * AUTHORS: Added myself as CVS repository maintainer. + + * include/sane/sanei_debug.h sanei/sanei_init_debug.c: Send debug + messages to syslog if stderr is a socket. + +2000-07-06 Petter Reinholdtsen + + * configure configure.in: Change "you're" to "you are" to avoid + confusing emacs font-lock mode. Regenerated configure. + + * backend/v4l.c: Fix sane_close() bug. + +2000-07-02 Peter Kirchgessner + + * backend/hp.desc added interface entries + + * backend/hp.c, backend/hp-handle.c + ADF-support for ScanJet IIp + Return error SANE_STATUS_NO_DOCS if no paper in ADF + +2000-06-30 Henning Meier-Geinitz + + * backend/mustek.* Update to Mustek backend 1.0-89. Fixed "scan + slider doesn't return to start" bug. Details in + backend/mustek.CHANGES. + + * backend/nec.desc backend/dc25.desc backend/m3096g.desc: Added + :interface entries. Updated email adderess. + +2000-06-28 Karl Heinz Kremer + + * backend/epson.c Fixed sane_close() - when the scanner still had + data to deliver at the time the scanner was closed, it was impossible + to restart any frontend software. This also caused scanimge -T to + work just once. + +2000-06-28 Henning Meier-Geinitz + + * backend/mustek.* Update to Mustek backend 1.0-88. Small bugfixes. + Details in backend/mustek.CHANGES. + + * backend/sp15.desc backend/dc25.desc backend/m3096g.desc: Added + :interface entries. + +2000-06-28 Oliver Rauch + * Updated umax backend to version 1.0.21 + take a look at backend/umax.CHANGES for details + - updated umax.desc, umax manpage + +2000-06-28 Abel Deuring + * backend/sharp.esc: added "interface" entries + +2000-06-28 Henning Meier-Geinitz + + * backend/pint.c: fixed sane_close bug + + * backend/microtek.c: fixed compilation problem with NDEBUG + defined + +2000-06-27 Henning Meier-Geinitz + + * backend/lhii.desc: added :interface + * README.linux: added reference to Linux SCSI documentation (from + Abel Deuring) + +2000-06-26 Henning Meier-Geinitz + + * backend/musteka4s2.desc: Added all more scanners and + :interface entries + * backend/sagitta.desc: Removed on behalf of the author. Nobody + has showed interest in this very old (and rare) scanner over + the years. It's difficult to keep it up-to-date because a kernel + module is neccessary. Nobody volunteered to take over + maintainership. + * backend/tamarack.c: Changed all fprintf to DBG calls. + +2000-06-26 Abel Deuring + * sanei/sanei_scsi.c and include/sanei/sanei_scsi.h: + new functions sanei_scsi_cmd2 and sanei_scsi_req_enter2 + for proper handling of "unusual" SCSI commands lengths + * backend/canon-scsi.c: call sanei_scsi_cmd2, where necessary + +2000-06-25 René Rebe + * backend/avision.c: fixed sane_close () bug + * backend/avision.desc: added some more scanners + +2000-06-25 Henning Meier-Geinitz + + * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend + 1.0-87. Fixed gamma correction for 1200 A3 Pro. Fixed dependancy + of mustek.h on sane-backends.h. Fixed debug output bug in + fix_linedistance_se. Updated documentation and mustek.conf. + + * README: Added v4l and fixed typo. + +2000-06-25 Karl Heinz Kremer + + * backend/epson.desc - Changed Parallel to Parport + +2000-06-25 Henning Meier-Geinitz + + * doc/Makefile.in doc/sane-s9036.man doc/sane-tamarack.man + doc/sane-ricoh.man doc/sane-avision.man doc/xcam.man .cvsignore: + Added manpages for these backends and xcam. + + * frontend/xcam.README: removed because manpage now exists. + + * backend/plustek.desc backend/qcam.desc backend/ricoh.desc + backend/s9036.desc backend/tamarack.desc backend/avision.desc + backend/st400.desc: Updated :interface and :manpage information. + + * README: Updated information regarding documentation. + + * backend/tamarack.c: Changed printf(...) to fprintf(stderr,...) + on behalf of the maintainer. + +2000-06-25 Petter Reinholdtsen + + * backend/Makefile.in backend/v4l.desc backend/v4l.c: V4L backend + corrections. Corrected dependencies. Removed () in version + number, as this backend is now included in the distribution. More + debug info and use sanei_config_read() instead of fgets() in + backend. + +2000-06-23 Karl Heinz Kremer + + * backend/epson.desc - added :interface information + +2000-06-23 Petter Reinholdtsen + + * AUTHORS: Added Juergen G. Schimmer as author of the v4l backend. + + * configure.in backend/Makefile.in backend/dll.conf + backend/v4l-frequencies.h backend/v4l-grab.h backend/v4l.c + backend/v4l.conf backend/v4l.desc backend/v4l.h: Added Video4Linux + backend from Juergen G. Schimmer. + +2000-06-22 Henning Meier-Geinitz + + * include/sane/sanei_pa4s2.h sanei/sanei_pa4s2.c Makefile.in + backend/Makefile.in sanei/Makefile.in: Added interface for + Mustek parallel port scanners (from Jochen Eisinger + ). This will be used by the Mustek + parallel port backend mustek_pp (coming soon). + + * tools/sane-desc.el backend/template.desc.: Added support for + "interface" column in sane-desc.el. The new keyword is + ":interface", examples in "template.desc.". All maintainers + should update their *.desc files. + + * backend/mustek.desc abaton.desc agfafocus.desc apple.desc + dc210.desc dmc.desc qcam.desc ricoh.desc s9036.desc snapscan.desc + tamarack.desc: added interface entry for the Mustek and + unmaintained backends. + + * backend/abaton.c apple.c qcam.c tamarack.c: fixed sane_close () + bug for the unmaintained backends. + +2000-06-18 Henning Meier-Geinitz + + * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend + 1.0-86. Added support for Mustek Paragon 1200 A3 pro (1, 8, and 24 + bit/pixel; calibration doesn't work yet). Removed some remainings + of color lineart and halftone support. More debugging + output. Fixed bug in sane_control_option (option was not checked + for negative values). Fixed bug in sane_close. General code + cleanup. Details in backend/mustek.CHANGES. + +2000-06-13 Karl Heinz Kremer + * backend/epson.*: Invert image when scanning negative off the TPU. + Initialize optial_res to 0. Fix sane_close() bug. Make threshold + only active when halftoning is off and scan depth is 1. Make + film type only active when TPU is selected. Scanner based + color correction. More constraints for GUI. Cleanup in option + handling. + +2000-05-21 Henning Meier-Geinitz + + * backend/mustek.*: Update to Mustek backend 1.0-85. Added double + buffering. This may improve scan performance a bit. Removed + dead code (in dev_read_start). Changed linedistance correction + handling. Paragon 12000 SP color mode might work now with all + firmware versions. Details in backend/mustek.CHANGES. + +2000-05-27 Karl Heinz Kremer + * backend/epson.[ch] Support for multiple EPSON scanners added + Fixed Perfection 610 color problem + +2000-05-26 Abel Deuring + * sanei/sanei_scsi.c: Fixed a bug in the Linux queue handling, + as suggested by Simon Munton + +2000-05-22 Oliver Rauch + * ltconfig: Added option "-X" to ldconfig for linux-gnu + this solves the problem with link /usr/local/libs/sane/libsane.so.1 => libsane-umax.so.1 + +2000-05-21 Henning Meier-Geinitz + + * README: Added quick install. Removed list of supported platforms + because it is unknown how accurate it is at the moment. Added + description for --enable-scsibuffersize (partly from Abel + Deuring). Removed operating system specific information. See + README.* files instead. Added comment to read the PROBLEMS file. + Added/changed list of available documentation. Added comment on + possible causes for the frontends not detecting scanners. Added + comment on tools directory. Headings should be easier to find now. + + * README.aix: New file. Extracted from README. + + * README.hp-ux: New file. Extracted from README. + + * README.linux: New file. What is needed to get SCSI scanners to + work under Linux. Workaround for Adaptec 1542 users (from Abel + Deuring) + +2000-05-18 Henning Meier-Geinitz + + * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend + 1.0-82. Added shrinked image fix to ScanExpress 12000SP models + <= v2.0. Fixed remaining sane_cancel problems (in non_blocking + mode). Fixed color stripes and segmentation fault for Paragon + MFS-12000SP 1.00 (at least for me). Some minor debug output + additions and changes. Look at backend/mustek.CHANGES for more + details. + + * doc/.cvsignore: Added missing sane-sharp.5 + +2000-05-07 Henning Meier-Geinitz + + * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend + 1.0-81. Added transparency adapter (TA) support for all Mustek + scanners. Fixed shrinked image bug for the ScanExpress 6000SP. + Removed unused options (3-pass scanners and 600 II N). Scan + source selection now shows only the options currently available. + Fixed a bug concerning the ADF handling. sane_init () now uses + sanei_config_read () and sanei_config_get_string () instead of + its own functions. Man page and .desc update. Look at + backend/mustek.CHANGES for more details. + +2000-04-27 Karl Heinz Kremer + + * backend/epson.* Some code cleanup, added support for GRB + images and did some Gamma correction fixes for the Perfection + 610. + +2000-04-27 Petter Reinholdtsen + + * include/sane/sanei_debug.h: Bugfix. Make sure the source + compiles even if NDEBUG is defined. + +2000-04-23 Henning Meier-Geinitz + + * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend + 1.0-80. Adjusted scan areas for most scanners. Added transparency + adapter support for all Paragon legal size scanners. Fixed color + mode for the Paragon MFS-8000SP (gamma problems). New system to + set buffersize using sanei_scsi_open_extended. Removed (maybe + temporarily) support for SCSI queue. Fixed shrinked image bug with + the ScanExpress 12000SP. Fixed positional options detection + (from mustek.conf). Added option "buffersize". Adjusted + mustek.conf template to more reasonable defaults. Lots of + small fixes and more complete debugging output. Look at + backend/mustek.CHANGES for more details. + +2000-04-15 Andreas Rick + + * backend/coolscan.* Update coolscan backend to version 0.4.3. + This version includes support for the newer Nikon Coolscan + models LS-30 and LS-2000. Dustremoval is not yet included. + +2000-04-09 Henning Meier-Geinitz + + * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend + 1.0-79. Changed version system. Linedistance correction for + the 600 II N is fixed. Added output of scanning time. Rewrite + of the resolution encoding for the 3-pass scanners. Look at + backend/mustek.CHANGES for details. + +2000-04-05 Oliver Rauch + * Updated umax backend to version 1.0.2-build-20 + take a look at backend/umax.CHANGES for details + +2000-04-05 Henning Meier-Geinitz + + * frontend/xscanimage.c, frontend/preview.c: Fixed a small bug + concerning 3-pass scanners. gdk_input_add() was called three times + without a preceding gdk_input_remove(). + + * frontend/scanimage.c: Fixed a bug where the scan was cancelled + after a test for low mem even if enough memory is available. This + probably only affected 3-pass scanners. + +2000-04-02 Henning Meier-Geinitz + + * backend/mustek.*: Update to Mustek backend 0.78. Fixed several + small bugs and spelling errors. Adjusted scanner names to Mustek + style. Inquiry is even more verbose now. Look at + backend/mustek.CHANGES for details. + +2000-03-27 Karl Heinz Kremer + * backend/epson.c backend/epson.desc: Removed + status request for push button. This caused an + error on older scanners. Fixed a few typos in + the .desc file and added GT-9000 scanner. + +2000-03-23 Oliver Rauch + * updated umax backend to version 1.0 build 19 + for details read backend/umax.CHANGES + +2000-03-22 Karl Heinz Kremer + * backend/epson.*: Several fixes for minor problems. + Fixed function level A4 scanners (line mode instead + of byte mode). Removed unnecessary free() calls. + Use extended status for recognize warm up. This fixes + problems with TPU and occasional crashes during startup. + Added D1 level for Perfection 610. + Added first version of support for set threshold and set + zoom. + +2000-03-19 Henning Meier-Geinitz + + * backend/mustek.c: Updated backend to new version 0.76. Fixes for + 600 II N (color stripes, cancel handling), ScanExpress ("XC06" is + now recognized), MFS-1200SP (linedistance correction in high + resolutions, patch from Andreas Beck), STORE makros (patch from + Norbert Mueller), ADF (patch from Joerg Anders), firmware + identification (patch from Marco G. Salvagno), sane_cancel (scan + will now be cancelled immediately, no new sane_read necessary), + sane_get_option_descriptor (test for option < 0). Added a more + verbose inquiry output. Adjusted debug levels. Changed the model + names (sane.model) to reflect the real scanner names. Removed some + compiler warnings. Added new maintainer. + + * backend/mustek.desc: Added link to backend homepage. Added all + the different scanner names used for the same model. Added Trust + scanners known to work. Removed firmware versions and scanner ids. + + * backend/mustek.CHANGES: New file. More detailed changes for the + Mustek backend. + + * doc/sane-mustek.man: Documentation for the 600 II N linedistance + options. Added warning from PROBLEMS. Added link to backend homepage. + Changed supported scanners list (see mustek.desc). Added more bug + entries. + + * AUTHORS: Added new maintainer and email address + +2000-03-18 Petter Reinholdtsen + + * backend/Makefile.in tools/libtool-get-dll-ext: New script to + detect shared library endings without using 'rev' which is missing + on some platforms. + +2000-03-14 Petter Reinholdtsen + + * sanei/sanei_scsi.c: Test for 'USE == LINUX_INTERFACE' instead of + defined(__linux__). + +2000-03-14 Abel Deuring + + * new version of ths Sharp backend (0.31): added support for the + JX350 (Thanks to Shuhei Tomita for providing the patch) + +2000-03-07 Petter Reinholdtsen + + * Makefile.in (lsm) sane.lsm sane-1.0.1.lsm: New target to + generate Linux Software Map (LSM) entry from template. Remove old + file. diff --git a/ChangeLogs/ChangeLog-1.0.4 b/ChangeLogs/ChangeLog-1.0.4 new file mode 100644 index 0000000..924bc86 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.4 @@ -0,0 +1,728 @@ +************************ Release of sane-backends 1.0.4 ********************** + +2000-12-22 Henning Meier-Geinitz + + * configure configure.in: Changed version to 1.0.4 and package to + sane-backends (from Oliver Rauch + + * TODO: Some points about OS/2 compilation problems. + +2000-12-17 Henning Meier-Geinitz + + * TODO: More details for net/saned problems. + +2000-12-16 Jochen Eisinger + + * TODO: removed entry about net.c seg-faulting when saned isn't + loaded or timed-out + +2000-12-16 Henning Meier-Geinitz + + * configure configure.in: Disable warnings by default for release. + * sanei/sanei_wire.c: Fixed typo. + +2000-12-16 Jochen Eisinger + + * sanei/sanei_wire.c: added test for negative parameter to memcpy() + +2000-12-15 Gerhard Jaeger + + * fixed wrong options in sane-plustek.man + +2000-12-12 Oliver Rauch + + * corrected backend version in umax.desc + +************************** Code freeze for SANE 1.0.4 ** ********************* + +2000-12-12 Henning Meier-Geinitz + + * NEWS: Updated/corrected version numbers of backends. + +2000-12-10 Henning Meier-Geinitz + + * doc/sane-scsi.man: Small changes/updates concerning Linux + 2.2. Updated entries about Adaptec cards, NCR53c400/Domex 3181 + cards, NCR 810 cards. Removed direct links to some backends. + * doc/sane-snapscan.man: Added link to new snapscan website. + +2000-12-10 Henning Meier-Geinitz + + * backend/mustek.c backend/mustek.desc backend/mustek.CHANGES: + Fixed wrong comment in encode_resolution. Added missing test for + return status in sane_start. Fixed wrong calculation of tlx and + tly for Pro series scanners. Increased version number. + +2000-12-09 Karl Heinz Kremer + + * backend/epson.c: Fixed user defined gamma curve for + inverted images. When scanning negatives the gamma curve + was applied incorrectly. Fixed debug output for user defined + gamma curves - no [epson] in between values anymore. + +2000-12-09 Peter Kirchgessner + + * doc/sane-hp.man, backend/hp.desc + Add HP ScanJet 6390C to list of supported scanners + +2000-12-07 Henning Meier-Geinitz + + * TODO: Updated. Removed entries about plustek comment problembelm + and libsane.la. Added entry about disabling local scanning. + +2000-12-07 Gerhard Jaeger + + * backend/plustek-share.h backend/plustek.h backend/plustek.c + removed warning conditions + fixed a bug that causes wrong frontend displays + fixed problem when driver returns error during read + +2000-12-05 Henning Meier-Geinitz + + * NEWS: Updated backend versions. Added point about compilation fixes + on Irix and FreeBSD. + * backend/mustek.c backend/mustek.desc backend/mustek.CHANGES: + Fixed problem with lamp control of SE scanners and reduced + length of scan area for Paragon 1200 SP PRO. Removed warning for + this scanner. Increased version number. + +2000-12-05 Henning Meier-Geinitz + + * TODO: Updated. Added point about plustek-share.h using c++ comment + and reminder to check config.in.h. Removed entriy about as6e.c stat + result check. + * backend/as6e.c backend/as63.h: Comitted patch from Eugene Weiss + . Fixes: Use only DBG (no printfs). Check result + of stat. Add GPL header. + +2000-12-05 Gerhard Jaeger + + * backend/plustek-share.h + cleanup + +2000-12-05 Peter Kirchgessner + + * backend/hp-handle.c + - Change SCL_UNLOAD to SCL_CHANGE_DOC (bug from copying code) + +2000-12-04 Henning Meier-Geinitz + + * TODO: Updated. Added entries about as6e stat problems and addition to + sanei_scsi.c from FreeBSD ports. + +************************* snapshot-2000-12-04 ******************************* + +2000-12-04 Peter Kirchgessner + + * backend/hp.c, hp-handle.c, hp.desc + - fix problem with ADF support on 6350C (and maybe others) + +2000-12-04 Oliver Rauch + + * removed usage of gettext, problem with -lintl should be solved: + - removed usage of gettext from lib/getopt.c + - removed test for libintl/gettext in configure[.in] + - removed intllib from frontend/Makfile.in + * updated umax.desc + +2000-12-03 Karl Heinz Kremer + + * backend/epson.*: Version 0.1.38 + Removed changes regarding 12/14 bit support because of SANE + feature freeze for 1.0.4. + The following fixes are in the software compared to the version + prior to the feature freeze: + - refresh UI after a change in the scan mode setting (was not updated + when going from Binary to Gray or vice versa) + - Read values for "line distance" from the scanner instead of using + hardcoded values. This makes sure the backend always uses the correct + values regardless of firmware version. + - Fixed an "off-by-one" error in the color reordering routine that + caused weird artifacts in some instances. + +2000-12-03 Karl Heinz Kremer + + * backend/epson.c: Fixed off-by-one in color reordering + +2000-12-02 Karl Heinz Kremer + + * backend/epson.*: Read information about optical resolution + and line distance from scanner instead of hardcoded values. + Add support for color depth > 8 bits per channel. + (can use 12, 14 and 16 bits per channel) + EPSON backend is now version 0.36 + +2000-11-30 Oliver Rauch + + * changed backend/Makefile.in: + wrong old installation of libsane.la + $(INSTALL_PROGRAM) libsane.la $(libdir)/libsane.la + to this: + $(LIBTOOL) $(MINST) $(INSTALL_PROGRAM) libsane.la $(libdir)/libsane.la + +2000-11-30 Henning Meier-Geinitz + + * README.irix: Removed. Problem with libjpeg is solved. + * TODO: Updated. Removed hpoj addition. Added snapscan link. Added + entry about net backend segfaulting if using net:localhost. Removed + artec O_SYNC problem. Removed Irix jpeg problem. Removed PTAL + addition. + * doc/saned.man: Added paragraph about xinetd (from Matt Mozur + ). Removed links to backends, added + sane-"backendname" instead. + * doc/sane-net.man: Added comment about segfaults if scanning + on localhost. + * sanei/sanei_scsi.c: Added missing DBG_INIT (from FreeBSD ports). + +2000-11-30 Gerhard Jaeger + + * backend/plustek.c backend/plustek.desc backend/plustek-share.h + backend/plustek.h doc/sane-plustek.man: + changed to version 0.38 - document update, minor bugfixes + +2000-11-30 Chris Pinkham + + * artec.c: removed O_SYNC for posix compatibility, converted variable + to unsigned char to get rid of overflow error. Changed version + to 0.5.15. + +2000-11-30 Oliver Rauch + + * changed sane-config.in again: + sane-config --libs has to print all libs + that the sane libs depend on. + This is not needed for shared libs and that + was the reason why I removed all libs but "-lsane". + But when linking against static sane libs we need + to know about all necessary libs. + +************************* snapshot-2000-11-28 ******************************* + +2000-11-28 Oliver Rauch + + * added SANE_CHECK_JPEG to aclocal.m4 and configure.in + (test routine by henning Meier Geinitz) + +************************* Feature freeze for SANE 1.0.4 ********************* + +2000-11-27 Peter Kirchgessner + + * NEWS: hp-backend version is 0.92 + +2000-11-27 Oliver Rauch + + * backend/umax.c: corrected wrong BUILD (25->24) + +2000-11-26 Henning Meier-Geinitz + + * AUTHORS: Added Karsten Festag as maintainer of microtek2. + * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend + 1.0-100. Added option fast-preview that tries to use the fastest + mode available for preview. This is supported for the 3-pass + scanners (was option "preview in gray") and some of the + ScanExpress scanners (6000 SP, 12000 SP Plus). Use #include + "../include/sane/...". Put option force-wait into mustek.conf + (disabled). Removed block mode for Paragon 6000 SP and 8000 SP. + Code cleanup. More debug output. Details in backend/mustek.CHANGES. + * doc/.cvsignore: Added sane-as6e.5 and sane-nec.5. + +2000-11-26 Peter Kirchgessner + + * backend/hp.desc, doc/sane-hp.man + Add descriptions for PTAL support + + * backend/hp.c + If PTAL-support requested, write warning about unsupported PTAL + with DBG(0,... instead of DBG(1,... + +2000-11-25 Henning Meier-Geinitz + + * configure configure.in acinclude.m4 aclocal.m4 + include/sane/config.h.in: Added test for PTAL library and headers + (patch from David Paschal ). Some reformating of + the output of configure --help. + + * backend/GUIDE: Updated entry about #include. + +2000-11-24 Henning Meier-Geinitz + + * AUTHORS: Removed authors of xscanimage and xcam (now in + sane-frontends). + * README.unixware2, README.unixware7: X-frontends are no longer + included. Removed comments and sourcecode of "rev" (not supported/used + in backends/Makefile anymore). + * sane.lsm: X-frontends are no longer included. Used blanks instead of + tabs. + * doc/scanimage.man: Removed links to backends, added generic link + instead. + * doc/.cvsignore frontend/.cvsignore: X-frontends are no longer included. + +2000-11-24 Oliver Rauch + + * changed configure.in, configure frontend/Makefile.in + and backend/Makfile.in: + The shared libraries required by the backends are linked to + the backends (they have been linked to the frontends before). + Only libintl is linked to the frontend. + * changed tool/sane-config.in, sane-config --libs => "-lsane", + all other libraries are linked to the backend libs now + +2000-11-24 Jochen Eisinger + + * doc/scanimage.man doc/saned.man: updated description of password + file + * sanei/sanei_auth.c frontend/saned.c frontend/scanimage.c: replaced + index() by strchr(). Changed style of password file + * backend/net.c: the net backend now prepends net:host: to the + resource before calling the auth_callback function + +2000-11-23 Oliver Rauch + + * removed doc/xcam.man, doc/xscanimage.man and + updated doc/Makefile.in + * changed configure.in and frontend/Makefile.in, + "-lintl" is not added to @LIBS@ any more, @INTLLIBS@ + is defined instead now, this is necessary because "-lintl" + has to be added to the frontends and not to a backend and + sane-config --libs must not list it. + * Added "Introduction" to README that tells about + the new X-frontend package + * removed gimp and gtk parts from include/sane/config.h.in + * removed gtk test from aclocal.m4 + * removed xcam.c xscanimage.c sane-style.rc progress.c progress.h + preview.c preview.h preferences.c preferences.h gtkglue.c gtkglue.h + from frontend/ + * removed parts for xcam and xscanimage from frontend/Makefile.in, + configure.in and updated confiugre + +2000-11-23 Henning Meier-Geinitz + + * NEWS: Updated for SANE 1.0.4. Please check. + * README.aix: Removed paragraph about shared libs not working. + * README.linux: Added paragraph about excessive warnings due to glibc + bug (from Peter Kirchgessner). + * TODO: Removed entry about shared libs not working on AIX. Added entry + about PTAL checks. Removed entry about DBG and microtek2. Added entry + about dc210 and jpeg functions. Added entry about using strchr() + instead of index(). + * sane.lsm: Added NEC. + * backend/microtek2.c: (from karsten.festag@t-online.de (Karsten + Festag)) Use DBG instead of printf/fprintf. Use + #include "../sane/include/..." instead of #include "sane/...". Fixed + warnings. + +2000-11-23 Karl Heinz Kremer + + * backend/epson.c: Display "Set Focus" control only for scanners that + can actually handle the command. + +2000-11-22 Oliver Rauch + + * changed configure and configure.in, removed test for sting.h/strings.h + this is not needed because we use strchr instead (always in string.h) + of index (sometimes in string.h, sometimes in strings.h) + + * changed ltconfig for aix4*, repleace -o $objdir/$soname by -o $lib, + the shared libraries are handled correct now + +2000-11-21 Abel Deuring + * backend/sharp.c, backend/sharp.desc, doc/sharp.man: Support + for JX320 added + +2000-11-21 Henning Meier-Geinitz + + * AUTHORS: Added FUKUDA Kazuya for the nec Backend. Used spaces instead + of tabs. + * PROJECTS: Removed entry about NEC. Added/updated entries about Mustek + USB scanners. + * README: Added link to sane-nec(5). + * TODO: Removed entries about sanei_authorize and plain text passwords. + * backend/Makefile.in backend/dll.conf backend/nec.conf backend/nec.c + backend/nec.desc backend/nec.h doc/Makefile.in doc/sane-nec.man: + Added nec backend for the NEC scanners PC-IN500/4C (from Kazuya Fukuda + ) + +2000-11-20 Henning Meier-Geinitz + + * AUTHORS: Added Eugene S. Weiss. + * PROJECTS: Removed Artec as6e backend. + * README: Added link to man sane-as6e.5. + * TODO: Removed as6e. + * doc/Makefile.in: Added generation of as6e manpage. + * backend/Makefile.in: Added entries for as6e. + * backend/dll.conf: Added as6e. + * backend/as6e.c backend/as6e.h backend/as6e.desc doc/sane-as6e.man: + Added backend for Artec AS6E parallel port scanner (from Eugene S. + Weiss ). + +2000-11-20 Jochen Eisinger + + * configure configure.in: Added test for /dev/urandom and + index() in string.h or strings.h + * backend/net.c: Fixed SANE_NET_AUTHORIZE call handling + * doc/net.tex: Clarified definition of SANE_NET_AUTHORIZE, added + definition of MD5 authorization + * doc/sane.tex: Upgraded to version 1.0.2, changed definition of + SANE_MAX_USERNAME_LEN & SANE_MAX_PASSWORD_LEN to 128 chars + * doc/saned.man: added description of SANE_CONFIG_DIR/saned.users + * doc/scanimage.man: added description of ~/.sane/pass and + --accept-md5-only + * frontend/saned.c: implemented user authorization on a per backend + basis + * frontend/scanimage.c: fixed bug (option -b wasn't present) + implemented auth_callback + * lib/md5.c include/md5.h: added md5 functions from GNU textutils + * include/sane/sane.h: changed definition of SANE_MAX_USERNAME_LEN & + SANE_MAX_PASSWORD_LEN to 128 chars + * include/sane/sanei_auth.h sanei/sanei_auth.c: implemented new + SANE interface for user authorization using MD5 digest + * lib/Makefile.in sanei/Makefile.in: updated Makefiles + +2000-11-19 Karl Heinz Kremer + + * backend/epson.c: Removed one debug output statement. + +2000-11-19 Karl Heinz Kremer + + * backend/epson.[ch]: Added support for "set focus position" command. This + command is necessary to scan via the TPU with the Expression1600. +2000-11-19 Henning Meier-Geinitz + + * TODO: Removed entry about stiff.*. Updated entry about testing + saned. + +2000-11-19 Jochen Eisinger + + * backend/mustek_pp.[ch]: replaced #include "sane/.." by + #include "../include/sane/.." + +2000-11-19 Peter Kirchgessner + + * frontend/stiff.c: Fix problem with writing Tag bits per sample + for color tiff files. + +2000-11-18 Jochen Eisinger + + * doc/sane-mustek_pp.man backend/mustek_pp.*: updated mustek_pp + backend to version 0.9-devel + +2000-11-15 Henning Meier-Geinitz + + * PROJECTS: Added entry about Visioneer OneTouch 8600. + * TODO: Added entries about net backend crashing after timeout, stiff.c + problems, and more details about Irix cc jpeg problems. + +2000-11-15 Rene Rebe + * backend/avision.[c,h]: some fixes for brightness and contrast via + the gamma-table. New config-option to force the backend to use DIN A4 + ("option force-a4"). Clean up. + +2000-11-14 Rene Rebe + * backend/avision.[h,c]: Added gamma table support in hardware. + Brightness and contrast emulation via the hardware gamma table. + Code cleanup. + * AUTHORS: Changed my e-mail address. + +2000-11-13 Henning Meier-Geinitz + + * Makefile.in: Install sane.h and saneopts.h only. + * PROJECTS: Removed sane-pie. + * TODO: Removed sane-pie. Added possible portability problem for + artec. Removed entry about installed headers. Added entry about + gettext and libdl. + * doc/.cvsignore: Added sane-pie.5. + +2000-11-13 Simon Munton + + * backend/pie.c backend/pie-scsidef.c backend/pie.conf backend/pie.desc + doc/sane-pie.man: Added Pacific Image Electronics backend for ScanAce + range of scanners (also supports DevCom BlackWidow scanners and ADLIB + JetScan scanners). + * README backend/Makefile.in backend/dll.conf doc/Makefile.in: Added pie + backend. + * sane.lsm: Added keywords for pie backend. + * AUTHORS: Added myself as maintainer of pie backend. + +2000-11-12 Henning Meier-Geinitz + + * doc/sane.tex: Fixed a typo. + * doc/.cvsignore: Added the files produced by make ps. + * README: Removed X-frontends. Point to sane-frontends and website. + Some reformatting. + * TODO: Updated concerning frontends split. + * PROJECTS: Removed entries about frontends (now in + sane-frontends/README) + * PROBLEMS: Removed entries about frontends (now in + sane-frontends/PROBLEMS) + +2000-11-10 Henning Meier-Geinitz + + * sanei/sanei_constrain_value.c: If constraint_type is + SANE_CONSTRAINT_RANGE and quantization is used, the results may + be outside the limits of the range because quantization uses the + orginal value. Fixed by doing quantization with the already + checked value. + +2000-11-10 Gerhard Jaeger + + * backend/plustek.c backend/plustek.desc backend/plustek-share.h + backend/plustek.h doc/sane-plustek.man: + updated to version 0.37 - support for xsane, new models + document update, minor bugfixes + +2000-11-08 Henning Meier-Geinitz + + * TODO: Updated. Added entries for viceo backend and addition to hp + backend. Updated entries about the include issue. Added point about + additional options for pnm backend, install problem of libsane.la, + and some build problems and the --without-x problem. Some more + details for detecting older SANE versions. + + * LEVEL2: Added entry about sending messages from backend to frontend. + Removed entry about image polarity. + + * backend/mustek.c backend/mustek.h backend/mustek.CHANGES + backend/mustek.desc: Update to Mustek backend 1.0-99. Better + transparency adapter support for ScanExpress scanners. Changed + color support for ScanExpress scanners (faster at some resolutions + now). Paragon 1200 SP color mode should work now without garbage at + the end of an image. Some bugfixes. Details in + backend/mustek.CHANGES. + +2000-11-08 Jochen Eisinger + + * include/sane/sanei_debug.h: fixed typo + +2000-10-30 Henning Meier-Geinitz + + * TODO: Updated. Added points about --without-x and the + #include stuff. Added xcam problem. Changed entry for + Relisys scanner. + +2000-10-30 Petter Reinholdtsen + + * frontend/xscanimage.c: Define GIMP_ENABLE_COMPAT_CRUFT when + including gimp.h to use the old API. Eventually we should convert + the frontends to use the new Gimp API. Patch from Kevin Dalley. + +2000-10-29 Henning Meier-Geinitz + + * TODO: Updated. + +2000-10-23 Peter Kirchgessner + + *backend/hp-accessor.c hp-device.c hp-handle.c hp-hpmem.c hp.h hp.c + hp-option.c hp-scl.c: Change sanei_debug-interface + Allocate accessors once (for fixed size accessors) + Close connection in some error conditions + +2000-10-23 Jochen Eisinger + + * backend/dll.c: added test for ``dll'' in dll.conf + +2000-10-23 Jochen Eisinger + + * sanei/sanei_init_debug.c include/sane/sanei_debug.h + frontend/saned.c: removed vararg macros + +2000-10-17 Henning Meier-Geinitz + + * doc/sane.tex: Added paragraph about image polarity as discussed + on sane-devel. This is the version from Nick Lamb. + +2000-10-15 Jochen Eisinger + + * include/sane/sanei_debug.h: sanei_debug_init was only declared + if VARARG macros are supported. Fixed this. + +2000-10-08 Jochen Eisinger + + * sanei/sanei_pa4s2.c: fixed all but one compiler warning + +2000-10-03 Henning Meier-Geinitz + + * tools/find-scanner.c: Explicitly state that find-scanner won't + find non-SCSI scanners. + * doc/scanimage.man: Add examples for SANE device names. + * frontend/scanimage.c: Output message when no devices are found. + Add example for devicename to --help message. Print warning + when a Unix devicename is used instead of a SANE device. Removed + compiler warning. + * TODO: Removed entries about the fgets and include issues in + umax. Removed entries about scanimage device name + documentation. Added a point about xscanimage problems with the + new GIMP API. + * backend/mustek.* doc/sane-mustek.man: Update to Mustek backend + 1.0-98. Fixed segmentation fault in sane_init. Enabled double + buffering. Clear inquiry buffer before using. Paragon 1200 SP now + uses LD_BLOCK color correction. Removed LD MFS (wasn't used + anymore). Fix sane_cancel for Paragon series II scanners. Fix + halftone and grain for Paragon series II scanners. Backtracking is + used automaticly by all scanners now. Some safety checks, code + cleanup and more debug output. Details are in + backend/mustek.CHANGES. + +2000-10-02 Oliver Rauch + + * Updated umax backend to sane-umax-1.0.3-build-24 + take a look at backend/umax.CHANGES for details + +2000-10-02 Oliver Rauch + + * sanei/sanei_constrain_value.c: + if checked option is a range and the value is out of + range the value is now corrected to the minimum or maximum + allowed value and SANE_INFO_INEXACT is set. + The old version returned with an error. This caused problems + when the value was a little bit out of range because of rounding + errors. + +2000-09-30 Henning Meier-Geinitz + + * backend/pnm.c: Fixed three segfaults due to buffer overruns: + maximum length of filename wasn't checked; maximum length in + sane_read wasn't always checked; ppm_type wasn't always set in + getparmfromfile. Added some checks for safety and removal of + warnings. Added DBG lines for every SANE API call. + * TODO: Added entries about the backend:devicename issue. Add a + comment about fronends not to crash when length is -1. Added entry + about sane-pie. Added point about fronends not checking if too + much data is delivered with sane_read. + * PROJECTS: Added entry about sane-pie. + +2000-09-24 Henning Meier-Geinitz + + * backend/mustek.*: Update to Mustek backend 1.0-97. This is a + development version and is only tested for three-pass scanners. + Added support for Paragon 1200 SP Pro and ScanExpress A3 SP. + Removed detection of " C04" and " C12" (don't seem to exist). + Changed SCSI request scheme. Sane_read can read more than 4096 + bytes from pipe. Minimum dpi is 30 now. Fixed LD correction for + Paragon 1200SP 1.06 and 1.11. Read SCSI buffer into big block and + do LD after that for Paragon one-pass scanners. New option + "blocksize" in mustek.conf. Better detection of the scanner type + (three-pass, Paragon I, ...). Fixed possible segmentation faults + in Paragon 600 II N LD code, scsi_sense_wait_ready and + sense_handler. Decreased maximum scan size of Paragon 800 II + SP. For three-pass scanners: fixed stop_scan and speed code, scan + area is in pixels now, added RGB brightness and contrast, use + +-100% for brightness and contrast. Return SANE_STATUS_CANCELLED + when scan was cancelled. Option "force backtracking" is enabled by + default, "scan speed" is set to "fastest". Added option + "force-warn" for mustek.conf. Rewrote halftone mode. Better error + handling and more debug output. + * TODO: Clarified point about image data polarity. Moved point about + xscanimage not updating the progress bar for 3pass scanners to + frontend section. Removed umax entry in "frontends". Removed entry + about alpha channel (was added to LEVEL2 file). + * LEVEL2: Add point about image data polarity. + * frontend/scanimage.c: Removed some warnings. + +2000-09-19 Gerhard Jaeger + + * backend/plustek.desc doc/sane-plustek.man: + updated information about supported scanners + +2000-09-18 Henning Meier-Geinitz + + * README: Removed comment about xscanimage error message. Added + comment about find-scanner (may find scanners not supported by + SANE). + * tools/README: Added comment about find-scanner and some lines + about sane-desc.el and sane-config. + * tools/find-scanner.c: Added comment about scanners not supported + by SANE. Removed some warnings. + * TODO LEVEL2: Removed xscanimage error comment from TODO and moved + ideas for SANE 2.0 from TODO to LEVEL2. + +2000-09-18 Petter Reinholdtsen + + * backend/v4l.c: Remove X11 dependency. + +2000-09-17 Henning Meier-Geinitz + + * frontend/xscanimage.c: Fixed gtk_main_quit bug (based on patch + from ). An error message was printed when + no sane device was found. + +2000-09-17 Petter Reinholdtsen + + * config.guess config.sub : Upgraded to latest version from + . + + * doc/Makefile.in: New target 'install-docs' to install + documentation in $(prefix)/doc/sane-/. + + * japi/Makefile.in: Move javac and javah to make variables. + +2000-09-16 Henning Meier-Geinitz + + * TODO: Added xscanimage bug and information about versioning + problems. Some other minor changes. + +2000-09-15 Gerhard Jaeger + + * backend/plustek.c + added some code to support timing measurement in debug sessions + +2000-09-10 Peter Kirchgessner + + * backend/hp-handle.c + Special handling of sane_cancel for OfficeJet K series + +2000-09-09 Peter Kirchgessner + + * backend/hp.h hp-scsi.h hp-scl.h hp-option.h hp-option.c + hp-device.h hp-scl.c hp.c hp-device.c hp-handle.c + + David Paschal (paschal@rcsis.com) + Added support for flatbed HP OfficeJets. + fix problem with cancel preview + fix timing problem between killing child and writing to pipe + change fprintf(stderr,...) to DBG + change include to "sane.." in hp.h + change handling of options that have global effects. + i.e. if option scanmode is received (has global effect), + all options that "may change" are send to the scanner again. + This fixes a problem that --resolution specified infront of + --mode on command line of scanimage was ignored. + NOTE: This change does not allow to specify --depth 12 infront of + --mode color, because --depth is only enabled with --mode color. + add depth greater 8 bits for mode grayscale + add option for 8 bit output but 10/12 bit scanning + +2000-08-24 Gerhard Jaeger + + * Updated plustek backend to support multiple devices and 12bit color-depth + affected files: backend/plustek.c backend/plustek.h + backend/plustek-share.h backend/plustek.conf + * backend/plustek.desc: updated information about supported scanner + * doc/sane-plustek.man: updated manpage according to the changes + +2000-08-23 Abel Deuring + * sanei/sanei_scsi.c: Second attempt to fix the errno bug + in the Linux command queue handling. + +2000-08-19 Henning Meier-Geinitz + + * TODO: Included TODO file for 1.0.4. + * sanei/sanei_ab306.c: Removed some comiler warnings. + * doc/sane.tex: Set \date to the date of the last change (not + the date of running latex (\today)) + * frontend/xscanimage.c: Fixed image size overrun (>ca. 400 MB). + Removed some compiler warnings. + +2000-08-15 Henning Meier-Geinitz + + * configure configure.in: Default to --enable-warnings again. + +2000-08-15 Jochen Eisinger + + * backend/mustek_pp.c: fixed bug in config_ccd_1013 that prevents + ASIC 1013 scanners from working diff --git a/ChangeLogs/ChangeLog-1.0.5 b/ChangeLogs/ChangeLog-1.0.5 new file mode 100644 index 0000000..49e72c5 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.5 @@ -0,0 +1,1193 @@ +2001-07-01 Oliver Rauch +************************ end of code freeze *********************************** +************************ Release of sane-backends 1.0.5 ********************** + + +2001-06-30 Henning Meier-Geinitz + + * configure configure.in: Disabled warnings by default. + * NEWS: Updated version numbers, added dc25. + +2001-06-25 Oliver Rauch + + * configure.in/configure: changed version to 1.0.5 + +2001-06-25 ********** CODE FREEZE FOR SANE-1.0.5 + snapshot sane-backends-pre1-1.0.5 + planned release on 2001-07-01 + + +2001-06-24 Oliver Rauch + + * backend/umax*: bugfixes: + * bugfix for DOR: + - bottom-right edge keeps in position if possible when DOR is switched on + + * bugfix for Astra 610S color mode: + - scale_y is set to 0.5 if y_resolutions is smaller than optical_res/2 + this does fix the color scan problems for Astra 610S. + Not tested for Astra 600S. + +2001-06-20 Peter Fales + + * backend/dc25.c - Backed out the previously added mkdtemp() + patch, as mkdtemp is not available on all platforms. + * TODO: Removed entry about dc25 bug + +2001-06-20 Henning Meier-Geinitz + + * TODO: Updated documentation entries. Added compilation bug in dc25.c. + +2001-06-20 Stéphane Voltz + + * doc/sane-umax_pp.man: corrections according to the TODO list + +--- cvs snapshot-2001-06-17 --- + +2001-06-17 Oliver Rauch + + * backend/umax*: bugfixes: + - removed "#include " from umax.c: assert() is never called + - bugfix for 3 pass scanning: + reposition_scanner is called in sane_start for 2nd and 3rd pass of 3 pass scan + - bugfix for UTA and DOR geometry offsets + +2001-06-14 Peter Fales + + * backend/dc25.c - Added a patch from Tim Waugh to use mkdtemp() + instead of mktemp(). Also cleaned up some compiler warnings. + +2001-06-14 Karl Heinz Kremer + + * doc/sane-epson.man: Removed reference to sane-devel list + +2001-06-14 Simon Munton + * doc/sane-pie.man: Fixed formatting problems + +2001-06-14 Gerhard Jaeger + + * doc/sane-plustek.man: + Corrected URL to Plustek mailing list + +2001-06-14 Henning Meier-Geinitz + + * TODO: Added link to libieee1284. + +2001-06-13 Karl Heinz Kremer + + * backend/epson.desc: Added GT-9500 (same scanner as Expression 636) + * backend/epson.c: Finally updated version # + +2001-06-13 Henning Meier-Geinitz + + * TODO: Updated the entries about documentation. + +2001-06-13 Oliver Rauch + + * sanei/sanei-scsi.c: Corrected bug in sanei_scsi_cmd2 for IRIX: + - scsi_req.ds_senselen has been set to sizeof pointer, is set + to 128 bytes now (1024 bytes does not work) + - sensebuf is cleared before scsi command is executed + - sensehandle always called when it exists and an error occurs + +2001-06-11 Henning Meier-Geinitz + + * tools/umax_pp.c: Also use sanei_umax_pp_SetLamp() (patch from + Tim Waugh ). + +2001-06-11 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.c: + make use of PPGETMODES only when available in ppdev.h. Corrected OS/2 + typo in Outb() and rename sanei_umax_pp_Lamp() to + sanei_umax_pp_SetLamp(). + + +2001-06-05 Peter Fales + + * backend/doc/sane-dc25.man, sane-dc210.man, sane-dc240.man - + Added reference to web page for information about sane + mailing list + +2001-06-10 Jochen Eisinger + * doc/sane-mustek_pp.man: added pointer and note to list + subscription page + +--- cvs snapshot-2001-06-10 --- + +2001-06-10 Henning Meier-Geinitz + + * doc/sane-artec.man doc/sane-coolscan.man doc/sane-umax.man: + Fixed whatis/apropos output (don't put an empty line after + the NAME section). Added SEE ALSO entry to sane(7). + * doc/sane-dll.man: Fixed output bug and added SEE ALSO entry. + * doc/sane-scsi.man: Rephrased the paragraphs about Linux sg + buffer to make it clear, that kernel changes are really only + necessary with older kernels. Fixed torque.net URL. Added comment, + that usually every SCSI adapter should work. Added paragraph about + problems with Acard adapters. Rephrased NCR810 entry. + * doc/sane-net.man: Updated BUGS section. Added SEE ALSO. + * doc/saned.man doc/sane-abaton.man doc/sane-agfafocus.man + doc/sane-apple.man doc/sane-as6e.man doc/sane-avision.man + doc/sane-bh.man doc/sane-dc210.man doc/sane-dc240.man + doc/sane-dc25.man doc/sane-dmc.man doc/sane-epson.man + doc/sane-fujitsu.man doc/sane-hp.man doc/sane-microtek.man + doc/sane-mustek_pp.man doc/sane-nec.man doc/sane-pie.man + doc/sane-pint.man doc/sane-plustek.man doc/sane-pnm.man + doc/sane-qcam.man doc/sane-ricoh.man doc/sane-s9036.man + doc/sane-sharp.man doc/sane-sm3600.man doc/sane-st400.man + doc/sane-tamarack.man doc/sane-umax_pp.man doc/sane-v4l.man: + Added SEE ALSO entry for sane(7). + * doc/sane-coolscan.man: Used @@ macros instead of fixed paths. + * doc/sane-dc210.man doc/sane-dc240.man doc/sane-dc25.man: + Used @@ macros instead of fixed paths. Fixed library paths. + * doc/Makefile.in doc/sane-coolscan.man doc/sane-dc210.man + doc/sane-dc240.man doc/sane-dc25.man: Set the correct library + path for all backends by changing @LIBDIR@ to $(libdir)/sane. + * doc/sane-as6e.man doc/sane-canon.man doc/sane-microtek.man + doc/sane-microtek2.man: Some minor formatting issues. + * doc/sane-mustek.man doc/sane-v4l.man: Added link to mostang mail + page. Fixed some formatting issues. + * doc/backend-writing.txt: Added paragraph about @LIBDIR@ and friends + in manual pages. + * TODO: Added several entries about manual pages. Removed entry about + sane(7). + +2001-06-09 Oliver Rauch + + * sanei/sanei_scsi.c: + applied patch by Douglas Gilbert + that solves compilation problem about: + storage size of `ssid' isn't known + +2001-06-09 Karl Heinz Kremer + + * backend/epson.c: Changed debug level for for an informational + message in the sense_handler from 0 to 2. + +2001-06-09 Henning Meier-Geinitz + + * README.os2: Added link to Franz Bakan's web page. + * configure configure.in backend/Makefile.in include/sane/config.h.in: + Check for sys/sem.h and disable snapscan if it isn't available. + Removed "//" (C++-style comment) from config.h.in. Link to djpeg + only once. + * TODO: Added comment on command line option for timeout in saned. + +2001-06-09 Petter Reinholdtsen + + * acinclude.m4 include/sane/config.h.in: Fix configure/compile + problem on Alpha/Tru64 Unix. + +2001-06-07 Stéphane Voltz + + * backend/umax_pp_low.c: make use of PPGETMODES to get ppdev + capabilites. + +2001-06-05 Peter Fales + + * backend/dc240.c - Fixed bug where attempting to change the + "image number" in an empty camera causes a core dump. + +2001-06-06 Stéphane Voltz + + * backend/umax_pp_low.c: OS/2 compile fixes (again). Backend + successfully built on Warp with EMX 0.9d. + +2001-06-06 Stéphane Voltz + + * backend/umax_pp_low.c: OS/2 compile fixes + +2001-06-05 Oliver Rauch + + * changed my email address in sane-backends.lsm + + +--- feature freeze for sane-1.0.5 is active --- +--- cvs snapshot-2001-06-05 --- + +2001-06-04 Oliver Rauch + + * update of umax backend to version 1.0 buid 27 + +2001-06-04 Henning Meier-Geinitz + + * TODO: Updated the entries concerning net+saned. Removed the + exporting symbols entry. Added entry about lassert.h. + * include/lassert.h sanei/sanei_scsi.c: Use local assert.h file to + fix problems with AIX and shared libraries. + * frontend/test.c: Changed order of headers to get test.c compiling + on OS/2. + * frontend/.cvsignore: Added test. + * frontend/saned.c: Increase timeout to one hour. + * backend/coolscan.c: Declared all internal functions static. + * tools/Makefile.in: Fixed typo that prevented make from removing + mustek600iin-off. + * sanei/sanei_scsi.c: Fixed some small bugs concerning error reporting. + * frontend/scanimage.c: Fixed small bug in output for batch mode. + +2001-06-03 Peter Fales + + * backend/dc240.c - Batch scanning of multiple images with scanimage + was failing if subsequent images have a different size than + from the first image. + +2001-06-03 Karl Heinz Kremer + + * doc/sane-epson.man: Updated documentation + +2001-06-03 Stéphane Voltz + + * backend/umax_pp_low.c: Fixed compile problem on archs that + have inb/outb and not insb/outsb. Cleaned up and simplified probing + code. + +2001-06-03 Peter Fales + + * backend/dc240.c - Add "auto increment" option to allow all + images to be downloaded with the --batch option to scanimage. + +2001-06-03 Henning Meier-Geinitz + + * backend/mustek.c: Added some debug messages. + * backend/net.c: Fixed yet another segfault. Added debug messages. + * frontend/scanimage.c doc/scanimage.man: Added more options for + batch-scanning (patch from Caskey Dickson + ). + +2001-06-02 Chris Pinkham + + * backend/artec.desc: updated version number to match artec.c. + +2001-06-02 Oliver Rauch + + * corrected umax version numver in umax.desc (1.0.24->1.0.26) + +2001-06-02 Henning Meier-Geinitz + + * NEWS: Updated concerning backend versions. + * TODO: Removed nec entries. Added entry about ADF extension to + scanimage. + * backend/qcam.c: Another occurence where struct flock must be defined + for OS/2. + * AUTHORS: Fixed Kazuya Fukuda's name and email address. + * backend/nec.c backend/nec.h backend/nec.desc: Update to backend + version 0.12 (from Kazuya Fukuda ). + Removed references to sharp backend (grep for "JX"). Check for + HAVE_SYS_SHM_H before including sys/shm.h and disable shared + memory support if necessary. Free devlist allocated in + sane_get_devices() in sane_exit() resolution setting bug fixed + (PC-IN500/4C 10dpi step). Removed resolution list. + +2001-06-02 Oliver Rauch + + * changed minimum scsi buffer size from 64KB to 32KB + + +2001-06-01 Henning Meier-Geinitz + + * backend/umax_pp_low.c: Fixed the FreeBSD problems by checking + /dev/io before accessing io ports (patch from Stéphane Voltz + ). + * backend/snapscan.c: Fixed two bugs: pss->devname must be checked + for 0. Return total number of lines in sane_get_parameters (patch + from Ben Stanley ). + +2001-05-31 Henning Meier-Geinitz + + * backend/mustek.c: Updated some comments. + * TODO: Removed the entry about the config_line[len-1] bug. + * configure configure.in include/sane/config.h.in backend/qcam.c: + Check for struct flock and define it if necessary. + * tools/Makefile.in: Make sure that backend/umax_pp_low.o exists + when umax_pp.o is linked. + * backend/bh.c backend/m3096g.c backend/sp15c.c: Fixed + config_line[len-1] bug which could generate an access violation + if len==0. + * lib/alloca.c lib/getnev.c lib/getopt.c lib/getopt1.c + lib/isfdtype.c lib/md5.c lib sigprocmask.c lib/snprintf.c lib + strdup.c lib/strndup.c lib/strsep.c lib/usleep.c lib/vsyslog.c: + Used #include "../include/sane/config.h". + * sanei/sanei_scsi.c: Fixed compilation issue for OS/2 in + sanei_scsi_find_devices. + +--- cvs snapshot-2001-05-30 --- + +2001-05-30 Marian Eichholz + + * backend sm3600 with better gain calibration incorporated. + fixed a superfluceous export. + +2001-05-30 Oliver Rauch + + * Problem with SOLARIS_INTERFACE (change from 2001-05-27) + had an other reason than the scsi buffer size (MAX_DATA). + Changed scsi buffer size for solaris sg driver + (USE == SOLARIS_INTERFACE in sanei_scsi.c) again from 32 KB + to 128KB. + +2001-05-30 Henning Meier-Geinitz + + * tools/Makefile.in: Fixed umax_pp compilation problem with Solaris + and other operating systems. + +2001-05-29 Henning Meier-Geinitz + + * backend/canon.conf doc/sane-canon.man: Added config file and some + documentation for it. + * AUTHORS: Added Chris Bagwell and Oliver Schwartz for snapscan. + * TODO: Added entry about possible sanei_usb.*. + +2001-05-29 Peter Fales + + * backend/dc240.c - Fixed a fairly obscure problem that can result in + core dump. (Deleting pictures with gphoto, then launching + xscanimage without power cycling the camera left bad data in the + camera status table.) + +2001-05-29 Oliver Rauch + + * added entry about sanei_parport in TODO + +2001-05-27 Henning Meier-Geinitz + + * doc/releases.txt: Removed comment about net.* and dll.* version + updating. Added info about make install-mostang. + * TODO: Updated concerning backend bugs (export and config_line). + * backend/umax_pp_low.c: Fixed bus error with FreeBSD. + +2001-05-27 Oliver Rauch + + * changed scsi buffer size for solaris sg driver + (USE == SOLARIS_INTERFACE in sanei_scsi.c) to 32 KB + again because it does not work for at least one system + with 64KB. + +2001-05-27 Petter Reinholdtsen + + * doc/releases.txt: Added points on tagging the source and + generating a diff from the last release. + +--- cvs snapshot-2001-05-27 --- + +2001-05-27 Oliver Rauch + + * sanei/sanei_scsi.c: changed scsi buffer size (MAX_DATA) + to 128KB for: SOLARIS_INTERFACE, SOLARIS_SG_INTERFACE, + SOLARIS_USCSI_INTERFACE and IRIX_INTERFACE + (some scanners have problems with the predefined 32KB + buffer size, these systems should work with 128KB + but we need to test if no problems do occur). + +2001-05-27 Henning Meier-Geinitz + + * doc/sane-microtek2.man: Include updates from backend version 0.9 + (from karsten.festag@t-online.de (Karsten Festag)). + * backend/sm3600.c: setResolutions has only 5 instead of 6 resolutions. + +2001-05-26 Jochen Eisinger + + * backend/mustek_pp.c: declared function comp() static + * TODO: removed entry regarding this problem + +2001-05-26 Chris Pinkham + + * backend/artec.c: Added code in sane_exit() to free memory + malloced in sane_get_devices(). Declared several functions + 'static' so they are not exported. + * TODO: removed 'artec' backend from list mentioned in describing + above problems. + +2001-05-26 Petter Reinholdtsen + + * TODO: Updated entry on library search path, sanei API + documentation and sane_init() return value. + + * Makefile.in:New target 'libcheck' making sure libraries export + only sane_* and sanei_* symbols. + +2001-05-26 Henning Meier-Geinitz + + * TODO: Removed snapscan and microtek2 updates. Removed status change of + as6e. Removed True64 Unix and HP/UX compilation problems. Added entry + about exporting symbols. Reformatted some entries. + * backend/microtek2.c backend/microtek2.desc backend/microtek2.h: + Updated to version 0.9 (from Karsten Festag + ). + * doc/sane-snapscan.man: Added new scanners and authors. + * AUTHORS: Added Sebastien Sable and Henrik Johansson. + * backend/snapscan-scsi.c backend/snapscan-sources.c + backend/snapscan-sources.h backend/snapscan-usb.c + backend/snapscan-usb.h backend/snapscan.c backend/snapscan.conf + backend/snapscan.desc backend/snapscan.h: Updated snapscan backend to + version 1.2 (from Sebastien Sable ). + * doc/backend-writing.txt: Added "make libcheck" info. + * backend/sm3600-color.c backend/sm3600-gray.c backend/sm3600-homerun.c + backend/sm3600-scanmtek.c backend/sm3600-scanusb.c + backend/sm3600-scanutil.c backend/sm3600.c backend/sm3600.h: + Made all non-sane-api functions static. Fixed some warnings. + * backend/sm3600.desc: Changed status to new. + * backend/as6e.desc: Changed status to alpha because backend + isn't new any more. + * acinclude.m4 aclocal.m4 configure configure.in + include/sane/config.h.in: Fixed u_int* bug for Tru64 by + including sys/bitypes.h. + * PROJECTS: Added hpoj project. + +2001-05-25 Jochen Eisinger + + * doc/sane-mustek_pp.man, backend/mustek_pp.desc: Changed URL + of the homepage to home.nexgo.de/jochen.eisinger/sane/ + +2001-05-25 Karl Heinz Kremer + + * backend/epson.c: Allow more than 8 bit color depth even for + preview mode since Xsane can handle this. Some code cleanup. + Removed ancient code that was used to determine the resolution + back when the backend still had a slider for the resolution + selection. + * backend/epson.desc: Updated version number, added new scanners. + +2001-05-24 Henning Meier-Geinitz + + * sane-mustek.man: Removed some bug descriptions and addded + sane(7) to SEE ALSO. + * sane-find-scanner.man sane-scsi.man scanimage.man: Added + sane(7) to SEE ALSO. + * PROJECTS: Removed entry about Polaroid SprintScan 35LE (now in + microtek). + * TODO: Removed umax from lists of backends with sane_get_devices + and config_line bug. Removed entry about make uninstall and + sanei_wire.c bug. Removed entry about microtek update. Added point + about adding sane(7) to any manual page. + +2001-05-23 Matto Marjanovic + + * backend/microtek.c backend/microtek.h: + o Added support for Agfa StudioStar (weird pixel packing) + o A couple of small fixes (missing 'static' declarations) + o Upped version to 0.12.3 + +2001-05-23 Matto Marjanovic + + * backend/microtek.c backend/microtek.h: Small fixes: + o Use 'expanded contrast/exposure settings' inquiry data to + dynamically set ranges for those options. + o Patches for Polaroid SprintScan 35LE (from Dick Bruijn) + - added "Polaroid" vendor string + - screwed around with 'brightness' setting + - attached 'negative scan' button + o sane_exit() now frees the devlist allocated by sane_get_devices() + o upped version to 0.12.2 + +2001-05-23 Stéphane Voltz + + * backend/umax_pp.c: changed option names to use lower case characters + and dashes instead of spaces. + + * backend/umax_pp_low.c: commented out a useless command sequence. + Added 55 AA pattern escaping in data block sending. + +2001-05-22 Karl Heinz Kremer + + * backend/epson.c: Added sense handler to support the GT-8000 scanner. + Also added experimental (and #ifdef protected) USB scanner probing + code - requires patch to USB scanner driver. + +2001-05-21 Henning Meier-Geinitz + + * README: Added "man sane" to quick install. Added paragraph about + old versions. Added paragraph about "make clean" and "make + distclean". Added section about removing SANE. + * Makefile.in backend/Makefile.in doc/Makefile.in lib/Makefile.in + sanei/Makefile.in tools/Makefile.in: Added target "uninstall". + +2001-05-20 Oliver Rauch + + * removed a bug in saned (patch by Matthias Trute ) + calculation of the reader buffer index was not correct: + if (reader >= sizeof (buf)) + - reader = 0; + + reader -= sizeof(buf); + +2001-05-19 Karl Heinz Kremer + + * backend/epson.c: fixed dates in change log entries + and finally fixed the TPU bug with older scanners + +2001-05-17 Oliver Rauch + + * removed bug in umax backend sane_exit + +2001-05-17 Henning Meier-Geinitz + + * include/lalloca.h: Used a more suitable comment. + * doc/backend-writing.txt: Reformated. Added point about headers + and libraries that are not available on every system and inclusion + of backends into CVS. Some minor fixes and clarifications. + * NEWS: Updated concerning sane man page and new backends. + +2001-05-17 Oliver Rauch + + * updated umax backend to version 1.0 build 26 + +2001-05-15 Peter Fales + + * backend/dc25.c, backend/dc240.c - Added DBG(1,..) to print + version string + +2001-05-16 Henning Meier-Geinitz + + * doc/.cvsignore: Added sane-sm3600.5. + + * PROJECTS: Removed sm3600. + + * TODO: Updates concerning memory leaks and access violations. + + * AUTHORS doc/Makefile.in: doc/sane-sm3600.man doc/sane.man: Updated + documentation concerning sm3600 backend and added man page (from + from Marian Eichholz ). + + * configure configure.in include/sane/config.h.in: Detect presence + of libusb and enable sm3600 backend. + + * backend/Makefile.in backend/dll.c backend/sm3600-color.c + backend/sm3600-homerun.c backend/sm3600-scantool.h + backend/sm3600-scanutil.c backend/sm3600.desc + backend/sm3600-gray.c backend/sm3600-scanmtek.c + backend/sm3600-scanusb.c backend/sm3600.c backend/sm3600.h: + Added sm3600 backend (from Marian Eichholz ). + +2001-05-16 Chris Pinkham + + * backend/artec.c: changed #include to use "../include/sane/config.h" + instead of "sane/config.h". + +2001-05-16 Stéphane Voltz + + * backend/umax_pp.c: fix memory leak in sane_exit + + * backend/umax_pp_low.c backend/umax_pp_low.h : added /proc parsing + when available to get I/O addr. Added pauses in 610P probe + sequence. + +2001-05-14 Henning Meier-Geinitz + + * frontend/scanimage.c: scanimage_exit: use the handle (not its + address) for sane_close. Fixed yet another warning. + +2001-05-14 Gerhard Jaeger + * backend/plustek.c: + Free memory malloced in sane_get_devices() in sane_exit() + +2001-05-14 Petter Reinholdtsen + + * backend/lhii.desc: Updated with current version and contact + information. + + * frontend/scanimage.c tools/sane-find-scanner.c: Remove some + compiler warnings. + +2001-05-13 Peter Fales + * backend/dc25.c: Remove DBG(0,...) line that was getting printed + for non-dc25 users. + +2001-05-13 Karl Heinz Kremer + + * backend/epson.c: Removed check for '\n' before end of line + Free memory malloced in sane_get_devices() in sane_exit() again + Check first if the scanner does support the set film type + and set focus position before the GUI elements are displayed. + This caused problems with older (B4 level) scanners when a TPU + was connected. + +2001-05-13 Henning Meier-Geinitz + + * doc/sane.man: Added path to sane.ps. Added comments about + how somebody can help the SANE project. Added comments about + possible problems with old installaitions of SANE and + /etc/ld.so.conf. Added section "REPORTING BUGS". + * tools/Makefile.in tools/.cvsignore: Added mustek600iin-off. + * sanei/sanei_codec_ascii.c tools/mustek600iin-off.c + tools/sane-find-scanner.c frontend/stiff.c: Used #include + "../include/sane/...". + * backend/net.c backend/net.h backend/net.desc: Fixed some memory + leaks. A bit of reformating. Added more debug output. Used + #include "../include/sane/...". + * sanei_codec_bin.c sanei/sanei_net.c sanei/sanei_wire.c: Fixed + some memory leaks. Used #include "../include/sane/...". + * frontend/scanimage.c: Added exit handler to call sane_close + and sane_exit in any case and to free alloced memory. A bit of + reformating. Used #include "../include/sane/...". Fixed some + warnings. + * frontend/saned.c: Fixed some memory leaks. Fixed some warnings. + Some reformating. Used #include "../include/sane/...". + * README.hp-ux: Use gmake if make doesn't work. + * LEVEL2: Added point about sane_init results != SANE_STATUS_GOOD. + * TODO: Added entries about memory leaks, sane_init return values, and + HP-UX problems in isfdtype.c. + +2001-05-11 Jochen Eisinger + + * TODO, backend/mustek_pp.c: fixed line-end handling, removed entry + from TODO list + +2001-05-11 Henning Meier-Geinitz + + * TODO: Removed pie from lists of bugs. Removed sane manual page. + Added some context to the Tru64 problems. + +2001-05-09 Henning Meier-Geinitz + + * doc/.cvsignore: Added sane.7. + * README: Removed content that's now in the sane maual page. + Added reference to man sane. + * doc/Makefile.in doc/sane.man: Added SANE manual page. + * doc/sane.tex: Clarified the paragraph concerning sane_read. If + *len != 0 the status must be SANE_STATUS_GOOD. + +2001-05-08 Simon Munton + * backend/pie.c: Free devlist in sane_exit. Removed redundant check for + trailing newline in config file. + +2001-05-07 Peter Fales + * backend/dc25.[ch]: Cleaned up compiler warnings and fixed (very + minor) memory leak. + +2001-05-07 Oliver Rauch + * applied a patch by Douglas Gilbert to sanei_scsi.c + it solves the Problem that the scanner is not + found on linux systems when the order of the + scsi devices is not coverd by the order of + devices listed by /proc/scsi/scsi, it prefers + new kernel 2.4 methods when available + +2001-05-06 Henning Meier-Geinitz + + * backend/mustek.c doc/mustek/mustek.CHANGES: Free devlist + in sane_exit. + * TODO: Updated concerning config_line[len - 1] stuff. Added + some (most) backends to list of sane_get_devices leak. + * backend/dll.c backend/dll.desc: Removed access to uninitialized + memory. Increased version number. + * backend/net.c backend/net.desc: Removed access to uninitialized + memory. Changed htons to ntohs in DBG statement. Free devlist + in sane_exit. Use "../include/sane/...". Increased version number. + +2001-05-04 Gerhard Jaeger + * backend/plustek.c: Applied Petters' patch to avoid an + illegal memory access + +2001-05-04 Henning Meier-Geinitz + + * NEWS: Updated. + * PROJECTS: Removed umax_pp. Added Canon FB620S and FS2710 backend. + * TODO: Removed entry about umax_pp and comment about testing + for existing sane installations and plustek memory access violation. + Added Canon FB620S and FS2710 backend and entries about Tru64 + compilation problems and installation procedure for translations. + * doc/backend-writing.txt: Added entries about SANE_I18N() and + documentation directories. + +2001-05-03 Henning Meier-Geinitz + + * AUTHORS README: Updated concerning umax_pp. + + * doc/Makefile.in doc/sane-umax_pp.man .cvsignore: Added manpage for + umax_pp (patch from Stéphane Voltz ). + + * tools/README tools/Makefile.in tools/umax_pp.c tools/.cvsignore: + Added umax_pp test program (patch from Stéphane Voltz + ). + + * configure configure.in include/sane/config.h.in: Test for + linux/ppdev.h (for umax_pp backend). + + * backend/umax_pp.c backend/umax_pp.h backend/umax_pp_low.c + backend/umax_pp_low.h backend/umax_pp_mid.c backend/umax_pp_mid.h + backend/umax_pp.conf backend/umax_pp.desc backend/Makefile.in + dll.conf: Added umax_pp backend (patch from Stéphane Voltz + ). + +2001-05-02 Henning Meier-Geinitz + + * configure configure.in: Don't use -ansi for Solaris. On some + Solaris installations compilation breaks with -ansi. + + * doc/Makefile.in tools/sane-desc.el doc/.cvsignore: Install + sane.ps and sane.dvi if latex/makeindex/dvips is available. + Generate sane-backends.html in doc/. New target: + install-mostang. Installs the sane standard + (.ps, .ps.gz and html), the html manpages, and sane-backends.html + on www.mostang.com. + +2001-05-01 Henning Meier-Geinitz + + * configure configure.in include/sane/config.h.in README.solaris + sanei/sanei_scsi.c: Added support for Solaris sgen SCSI driver + (patch from Juergen Keil ). + * acinclude.m4 aclocal.m4 configure: Added Irix to the list + of operating systems that can use -Wl,-rpath. + * doc/Makefile.in: Install all the READMEs and other available + documentation in $docdir. Print which manpage is generated. + Don't remove files/dirs that doesn't exist. Remove the html + manpages in distclean. Fixed spelling mistake in .PHONY. + * TODO: Added entries about possible segfaults and memory leaks. + Added entry about AIX problems. Removed entry about installing + documentation. + * PROJECTS: Added Canon FB330P, FP630P. + +2001-04-30 Jochen Eisinger + + * doc/sane-mustek_pp.man: Added information about CIS patches + by Eddy De Greef + +2001-04-29 Chris Pinkham + + * backend/artec.c: Fixed bug causing possible dereference of a NULL + pointer. + * backend/artec.desc: Modified Parport entry to say AS6E scanner + supported by SANE AS6E backend. + +2001-04-29 Petter Reinholdtsen + + * sanei/sanei_config.c sanei/sanei_codec_bin.c: Avoid reading + uninitialized memory. + * sanei/sanei_config.c: Fix memleak when using env + SANE_CONFIG_DIR. + * backend/net.c sanei/sanei_wire.c include/sane/sanei_wire.h: Make + sure net backend release all memory when finished. + * README: Added info about the CVS repository. + +2001-04-29 Henning Meier-Geinitz + + * sanei/sanei_wire.c: Don't free memory that's not alocced. + * sanei/sanei_config.c: Avoid reading uninitialized memory when + checking SANE_CONFIG_DIR. + * backend/mustek.c: Fixed several memory leaks. + * frontend/scanimage.c: Fixed memory leak. + * sanei/sanei_config2.c: Fixed memory leak: vendor wasn't freed. + * PROJECTS: Added entry for the Fujitsu M3091DCd. Updated my email + address. + * TODO: Added entry for the Fujitsu M3091DCd and a combined Fujitsu + backend. Clarified that "printf" also shouldn't be used. + * backend/dll.desc: Added my email as contact address. + * backend/m3091.desc: New file for the Fujitsu M3091DCd. + * doc/sane-mustek.man: Updated URL. + +2001-04-28 Henning Meier-Geinitz + + * backend/mustek.CHANGES backend/umax.CHANGES backend/umax.FAQ + backend/umax.TODO: Moved to doc/mustek respectively doc/umax. + * doc/canon.CHANGES doc/canon.install2700F.txt doc/canon: + Moved canon-specific documentation to doc/canon. + * doc/mustek: New subdirectory for mustek-specific documentation. + * doc/sane-umax*.html doc/sane-umax*.jpg doc/sane-umax-doc.tex + doc/sane-umax-doc.dvi doc/umax: Moved all the umax-specific + documentation to new subdirectory umax. + +2001-04-28 Peter Kirchgessner + + * backend/hp.desc, doc/sane-hp.man: Add support for new models + through PTAL-library + +2001-04-27 Henning Meier-Geinitz + + * backend/agfafogus.c: Moved PATH_MAX after sanei_backend.h include + to avoid warning. Changed printf to DBG. + * backend/mustek.c backend/mustek.CHANGES backend/mustek.desc: Added + support for translating options. Used only PACKAGE_VERSION for + output. Updated email address. New version: 1.0-107. + * include/sane/sanei_backend.h include/sane/saneopts.h: Added macro + SANE_I18N. It's used to mark strings that can be translated and + used by a frontend. Usually these are option titles and descriptions + as well as the contents of string lists. Used this macro to mark + the translatable strings in saneopts.h. More translation support + will follow. + +2001-04-22 Henning Meier-Geinitz + + * PROBLEMS: Point to pnm/saned security risks. + * TODO: Removed the entries about epson usb mis-detection and check + for installed sane versions. + * configure configure.in backend/Makefile.in: Added detection of older + versions of SANE. The pnm backend is now disabled by default. + * backend/dll.c backend/dll.desc: Fixed file descriptor leak (found by + Douglas Gilbert). New version: 1.0.2. + * backend/net.desc: Added Jochen Eisinger's email address as contact + for the net backend. + * doc/sane-pnm.man: Point to pnm/saned security risks. + +2001-04-21 Karl Heinz Kremer + + * backend/epson.conf: Commented out the usb config entry, this can + block other USB scanners from being recognized. + +2001-04-19 Henning Meier-Geinitz + + * AUTHORS: Added Michael Herder and me for pnm. Updated my email + address. + * TODO: Removed pnm entry about adding more options. Added entry about + epson backend freezing when trying to detect non-epson USB scanner. + Added entry about adding contact adresses to .desc files. Added + comment about me working on a sane man page. Removed entry about OS/2 + problems in sanei_scsi.c. + * configure configure.in: Removed a newline in --help message. + * backend/pnm.c: Added several options: gamma tables + (-> arrays), resolution option (word list), read only test option + (SANE_CAP_SOFT_DETECT), several options for returning status codes + in sane_read (all of this is from Michael Herder ). + Added build version info, print version information in sane_init. + Use ../include/sane/ for includes. Version is 1.0.1. + * backend/pnm.desc: Updated contact info and version. + +2001-04-19 Gerhard Jaeger + * backend/plustek.c: removed again that old fgets() call - sorry + +2001-04-19 Petter Reinholdtsen + + * tools/sane-config.in: Fix typo in previous commit. + +2001-04-17 Karl Heinz Kremer + + * doc/sane-epson.man: Fixed types, some reformatting and got rid + of a duplicate paragraph. + +2001-04-17 Henning Meier-Geinitz + + * backend/dc210.desc backend/dc240.desc backend/microtek2.desc: + Update contact information for backends. dc240 status is :NEW. + * TODO: added entries about as6e status shouldn't be :new, and + installing all documentation files. + +2001-04-16 Petter Reinholdtsen + + * Makefile.in: New target 'sort-cvsignore' to keep all .cvsignore + files sorted. + + * acinclude.m4 configure.in tools/sane-config.in: Try to guess how + to set runtime link path, and make it easier to extend. + + * acinclude.m4 configure.in: Clean up warning flag handling. + +2001-04-16 Henning Meier-Geinitz + + * README: Updated xsane link. + * configure configure.in backend/dll.c backend/dll.desc + backend/net.c backend/net.desc include/sane/config.h.in + Yet another change in the version system for dll and net. + For sane_init return the version of the package but use + own internal version number in the source (printed with + debugging enabled) and in *.desc. The internal versions + of both net and dll are set to 1.0.1. Please increase the + build number with every change on the source files. + * doc/realeases.txt -> doc/releases.txt. Fixed spelling error. + Added entries about sane-backends.html, sane.ps, man pages, + platforms page. + +2001-04-14 Gerhard Jaeger + * backend/plustek.c backend/plustek.desc backend/plustek.h + backend/plustek-share.h + minor fixes and additional scanner models + * doc/sane-plustek.man added info about slowIO switch + +2001-04-13 Oliver Rauch + * changed my email address in AUTHORS + +2001-04-13 Henning Meier-Geinitz + + * PROJECTS TODO: Added entry about E3 USB chipset. + * backend/dll.c backend/dll.desc: New version is 1.0.5. Version and + PACKAGE_VERSION is printed with debug level set to 1 or higher. + The version numbers of all backends that are loaded are printed + at debug level 3 or higher. Print error if backend with wrong + major version number is loaded. Some standardization changes + concerning the DBG messages. + * backend/net.c backend/net.desc: New version is 1.0.5. Version and + PACKAGE_VERSION is printed with debug level set to 1 or higher. + Some standardization changes concerning the DBG messages. + * backend/pnm.c: Return SANE_INFO_RELOAD_PARAMS even if the pnm + file doesn't exist or can't be loaded (from mh ). + * doc/backend-writing.txt: Added AUTHORS to the list of things that + should be updated when including a new backend. Added points about + avoiding printf and exit in backends. + * doc/releases.txt: New file. This text summarizes some points to + pay attention to when a new release of sane-backends is made. + Additions and corrections are appreciated. + * doc/scanimage.man: Add some more information about the -V option. + * frontend/scanimage.c: The option -V now also prints the version of + the backend (ususally dll). + +2001-04-11 Abel Deuring + * sanei/sanei_scsi.c: fixed a bug in error handling for the + Linux SG driver verison 3.x + * sanei/sanei_scsi.c, configure.in, configure: Usage of direct IO + disabled by default. + * README.linux: Added a note, how to enable direct IO + +2001-04-08 Henning Meier-Geinitz + + * backend/mustek.c backend/mustek.desc backend/mustek.CHANGES + Added detection of the TA for the Paragon 1200 SP Pro. Added + warning about not supported Trust scanners. Changed description + of contrast and brightness settings. Backend status is "stable" + now. New version: 1.0-106. + * acinclude.m4 aclocal.m4: Fixed comment concerning dc240. + * configure configure.in include/sane/config.h.in: Added test for + socklen_t in sys/socket.h. This fixes the compilation problem on + Irix. + * doc/sane-avision.man doc/sane-ricoh.man doc/sane-s9036.man + doc/sane-tamarack.man: find-scanner is now called + sane-find-scanner and installed on the system so it's not + necessary to point to the tools directory. + * frontend/scanimage.c: Fixed too long line in output. + * sane-config.in: Name is sane-config again (was sane-backends-config + due to the renaming of the package). + * TODO: Removed entry about net.c not compiling on Irix and + references to find-scanner in the man pages. Updated numbers of + the compilation warnings. Still too many, however. + +2001-04-07 Henning Meier-Geinitz + + * backend/sc240.c backend/dc240.h backend/dc240.conf + backend/dc240.desc backend/dll.conf doc/sane-dc240.man: + Added dc240 backend for the Kodak DC240 Digital camera (from + Peter Fales ). + * doc/Makefile.in: Added sane-dc240 in section 5. + * backend/Makefile.in: Added dc240. + * configure configure.in: If the jpeg libs are not available, + dc240 is also disabled. + * AUTHORS: Added entry for dc240 and updated email address of + Peter Fales. + * NEWS: First version of the news entry for 1.0.5. + * PROJECTS: Removed dc240. Added Microrec ScanMaker 3600. + * README: Added dc240. + * TODO: Removed dc240. Added entry about keep-alive mechanism in saned. + * sane-backends.lsm: Added dc240. + * testsuite/.cvsignore: New file. Added entry for Makefile. + +2001-03-31 Karl Heinz Kremer + + * backend/epson.*: Next attempt to get the reported number of + lines correct for the "color shuffling" part. + Added more comments. + +2001-03-31 Henning Meier-Geinitz + + * backend/mustek.c backend/mustek.desc backend/mustek.h + backend/mustek.CHANGES: Fixed grascale gamma for the 600 II N. + Fixed ADF problems when selecting windows smaller than the + whole scan area. Fixed linedistcnace corrections issues concerning + ADF and concerning 1200SP V 1.00. New version: 1.0-105. + +2001-03-31 Henning Meier-Geinitz + + * PROJECTS: Updated entry about Canon 1220U and Umax 1220P / HP3200C. + Added entry about Kodak DC-240. + * TODO: Added Umax 1200P/2000P & HP 320C + Kodak DC-240 as backends + to be included. Added net.c compilation problem. + +2001-03-10 Jochen Eisinger + + * frontend/saned.c: fixed bug that allowed access to a scanner + without being prompted for a password + +2001-03-04 Oliver Rauch + + * umack backend updated to version 1.0-build-25 + +2001-02-26 Abel Deuring + + * sanei/sanei_scsi.c: removed a possible null pointer + dereference in the Solaris/Schilling driver part. (Bug was + found and fixed by William L. Sebok) + + * backend/tamarack.c: inconsistent call to sanei_scsi_cmd fixed + +2001-02-22 Petter Reinholdtsen + + * TODO: Add comment on how link problems should really be fixed. + * TODO: List memleak problem for sane_get_devices(). + + * configure.in include/sane/config.h.in: Really move definition of + SCSIBUFFERSIZE from CFLAGS to config.h. + + * configure.in testsuite/*: Started on runtime test suite. + Currently only tests if PNM test scanning works. + + * sanei/sanei_constrain_value.c sanei/sanei_load_values.c + sanei/sanei_save_values.c: Include "sane/sanei.h" to make sure the + prototype match the function. + + * backend/pnm.c: Write more sensible error message when failing to + open PNM file. + + * include/sane/sanei_backend.h: Include before testing + for O_NONBLOCK and before testing for PATH_MAX to + increase the chances of getting the real value. + +2001-02-12 Petter Reinholdtsen + + * backend/dll.c backend/v4l.c: Get rid of small memory leak when + using 'scanimage -L'. + +2001-02-10 Tom Martone + + * backend/bh.c backend/bh.h doc/sane-bh.man + added support for Copiscan 8000 series by Mark Temple + added options deskew and rotation + inquiry compares product to COPISCAN rather than COPISCAN II + +2001-02-04 Peter Kirchgessner + + * hp-backend V0.94, backend/hp.c hp-handle.c hp-scl.h: + Switch off lamp after scan + +2001-01-31 Abel Deuring + + * sanei/linux_sg3_err.h: New version provided by Douglas Gilbert. + Does not longer #include and + #include + * sanei/sanei_scsi.c (Linux part): fixed some format errors in + debug output; added debug: system("cat /proc/scsi/sg/debug 1>&2"), + if debug level >= 255. (Suggestion by Douglas Gilbert) + +2001-01-23 Oliver Rauch + + * TODO: sane-config changes + +2001-01-21 Tom Martone + + * backend/dll.conf: Added bh + +2001-01-21 Henning Meier-Geinitz + + * AUTHORS: Added Tom Martone. + * PROJECTS: Removed bh (now included in sane). + * README: Added entry for sane-bh(5). + * TODO: Removed bh. Updated BearPaw entry. Added entry about v4l + problem. + * backend/v4l.c: Changed comment as v4l is part of the sane package. + +2001-01-20 Tom Martone + + * doc/.cvsignore: Added sane-bh.5. + +2001-01-20 Tom Martone + + * backend/bh.c backend/bh.conf backend/bh.h doc/sane-bh.man + Added new backend Bell and Howell Copiscan scanners + * backend/bh.desc + Updated version from (0.1) to 1.0-4 + Referenced manpage + * backend/Makefile.in + Added bh to PRELOADABLE_BACKENDS + Added libsane-bh.la dependencies + * doc/Makefile.in + Added sane-bh.5 to SECT5 + +2001-01-17 Henning Meier-Geinitz + + * backend/mustek.c backend/mustek.desc backend/mustek.h + backend/mustek.CHANGES doc/sane-mustek.man: + Added 36 bit mode for Pro models. Removed support for "special" + modes, used options instead. Code cleanup. Updated manpage + concerning sane-find-scanner. New version: 1.0-104. + * configure: regenerated from configure.in. + +2001-01-14 Petter Reinholdtsen + + * sanei/sanei_scsi.c: Make sure to initialize uninitialized + variable 'defined' to zero. + + * include/sane/sanei_wire.h: Add missing prototype for + sanei_w_ptr() and sanei_w_bool(). + + * configure.in include/sane/config.h.in: Move definition of + HAVE_DEV_URANDOM and SCSIBUFFERSIZE from CFLAGS to config.h. + +2001-01-07 Abel Deuring + + * sanei/sanei_scsi-c: (Linux part) timeout for SCSI commands + sent with the SG driver version increased; debug output of + device status, host status, driver status and sense buffer + added. + +2001-01-09 Henning Meier-Geinitz + + * PROJECTS TODO: Added/updated entries about backends for Mustek + BearPaw and 1200 UB scanners. + +2001-01-07 Abel Deuring + + * sanei/sanei_scsi-c: (Linux part) improved detection of + sanei_scsi_max_request_size. Setting SANE_SG_BUFFERSIZE for + low drivers which don't support scatter-gather should + no longer be necessary. + * sanei/sanei_scsi-c: (Linux part) Added support for the new + devfs in sanei_scsi_find_devices- + * backend/sharp.c: Test for existence of shm.h added. + * TODO: Removed entry about missing detection of shm.h in sharp + backend. + +2001-01-03 Henning Meier-Geinitz + + * PROJECTS: Added Umax 1220P / HP3200C. + +2000-12-31 Henning Meier-Geinitz + + * tools/find-scanner.c: Removed. Now called sane-find-scanner. + * tools/sane-find-scanner: New file (was find-scanner). + * tools/.cvsignore tools/Makefile.in tools/README: Updated because + of name change. sane-find-scanner is installed now. + * README README.linux: Updated because of sane-find-scanner. + * frontend/scanimage.man: Updated because of sane-find-scanner. + * doc/sane-find-scanner.man: New file. + * doc/.cvsignore doc/Makefile.in: Added sane-find-scanner(1). + * TODO: Updated concerning sane-find-scanner. Added entry about + qcam /tmp file handling. Some spelling corrections. + +2000-12-31 Henning Meier-Geinitz + + * backend/mustek.CHANGES backend/mustek.c backend/mustek.desc + backend/mustek.h doc/sane-mustek.man: Added calibration for Pro + scanners and the SE 12000 SP Plus. Added option to use the full + legal size of the Paragon 1200 LS scanner. Added fast preview for + Pro scanners. Bug fixes. New version: 1.0-103. + +2000-12-25 Karl Heinz Kremer + + * TODO: Removed entry about net/saned crashes. + * backend/net.c: Fixed segfault when using SANE_TYPE_STRING options + (e.g. scanimage on localhost). Added checks to prevent other + segfaults. Fixed some warnings. + * backend/snapscan.desc: Changed to use new homepage. + +2000-12-23 Henning Meier-Geinitz + + * NEWS: Added date of release. + * TODO: Removed entries about PATH_MAX, sanei_scsi_find_devices, and + shm.h. Added entry about the necessity to check HAVE_SYS_SHM_H. + * configure configure.in include/sane/config.h.in: Default to + --enable-warnings again. Don't set "-ansi" for OS/2. Test for + sys/shm.h. + * backend/GUIDE: Moved to doc/backend-writing.txt. + * doc/backend-writing.txt: New file (moved from backend/GUIDE). + Added comments about sanei-backend.h and PATH_MAX. + * include/sane/sanei_backend.h: Added define for PATH_MAX (if + necessary). + * sanei/sanei_scsi.c: Implemented sanei_scsi_find_devices for FreeBSD + (from ports@FreeBSD.org). + * tools/Makefile.in: Use INSTALL_SCRIPT instead of INSTALL_PROGRAM for + sane-config (from ports@FreeBSD.org). diff --git a/ChangeLogs/ChangeLog-1.0.6 b/ChangeLogs/ChangeLog-1.0.6 new file mode 100644 index 0000000..a732a23 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.6 @@ -0,0 +1,667 @@ +****** Release of sane-backends 1.0.6. End of code freeze ****** + +2001-11-04 Henning Meier-Geinitz + + * sane-backends.lsm: Added keyword gphoto. + +2001-10-31 Peter Fales + + * acinclude.m4, aclocal.m4, configure - Fix build failure due to + renaming of gphoto2 header files + +2001-10-30 Henning Meier-Geinitz + + * backend/apple.desc: Updated URL. + * backend/canon_pp.desc: Fixed two wrong scanner names (from + "Matthew Duggan" ). + * backend/m3091.desc backend/m3096.desc backend/sp15c.desc: + Updated URL. + +2001-10-29 Peter Fales + + * backend/dc25.desc - Update URLs + +2001-10-19 Oliver Rauch + + * set correct backend version number in backend/umax.desc + + +****** code freeze sane-1.0.6 / sane-pre1-1.0.6 ***** + + +2001-10-29 Henning Meier-Geinitz + + * backend/microtek2.desc: Added missing scanner descriptions (from + karsten.festag@t-online.de (Karsten Festag)). + * NEWS: Updated version numbers. Added release date. + * configure configure.in: New version: 1.0.6. Disabled warnings by + default. + +2001-10-28 Peter Fales + + * backend/gphoto2.c, backend/gphoto2.conf: the ghoto2 people + made some pretty radical changes to the API and broke + the gphoto2 backend. Made the changes to allow the + gphoto2 backend to work with the latest changes from the + gphoto2 library CVS. + +2001-10-28 Karl Heinz Kremer + + * backend/epson.c: Fixed bug in recognition of faulty Perfection 1650 + +2001-10-28 Henning Meier-Geinitz + + * TODO: Removed entry about @LIBDIR@ and @CONFIGDIR@ in man pages. + Added Entry about sanei_scsi return values and timeout. + * backend/microtek2.desc backend/microtek2.h doc/sane-microtek2.man: + Increased version number to 0.95. Updated man page. Patch from + karsten.festag@t-online.de (Karsten Festag). + +2001-10-27 Peter Kirchgessner + + *backend/hp-accessor.c hp-device.c hp-handle.c hp-hpmem.c hp-option.c + hp-scl.c: + Use ../include/lassert.h + +2001-10-17 Oliver Rauch + + * umax backend bugfixes (new version number: 1.0 build 31): + man page uses @LIBDIR@ and @CONFIGDIR@, + calibration fix for Supervista S-12 and compatible scanners + directory backend: + umax.c umax-scanner.c umax-scsidef.h + directory doc: + sane-umax.man /umax/sane-umax-advanced-options-doc.html + umax/sane-umax-standard-options-doc.html umax/umax.CHANGES + +2001-10-27 Oliver Schwartz + + * backend/Makefile.in backend/snapscan-usb.c + backend/snapscan-usb.h backend/snapscan.c + backend/snapscan.h + Check USB vendor ID to avoid USB hangup + Fix dither matrix computation bug + +****** snapshot 2001-10-27 ***** + +2001-10-26 Oliver Schwartz + + * backend/snapscan.conf + Make /dev/sga the default device to avoid USB hangup + +2001-10-26 Henning Meier-Geinitz + + * TODO: Removed net/saned cancel problem. Added entry about + clarifying sane_get_select_fd/sane_cancel in sane.tex. + Added entry about sanei_usb and control messages. + * sanei/sanei_usb.c: Fixed vendor/device detection for Linux + versions >= 2.4.13. + +2001-10-25 Oliver Schwartz + + * NEWS backend/snapscan.c backend/snapscan.desc + Change snapscan backend version number to 1.4.0 + +2001-10-24 Henning Meier-Geinitz + + * backend/microtek2.c backend/microtek2.desc backend/microtek2.h + doc/sane-microtek2.man: Updated microtek2 backend to build + 20011023 (from karsten.festag@t-online.de (Karsten Festag)). + Bugfix for scsi_read_image_status - supports now the old and the + new method. Improved backend-calibration supports brightness and + contrast settings and color balancing. Enable 12 bit per color + scanning with Scanmaker 9600XL (and other types that use the segreg + pixel transfer format and support 12 bit, untested). 10 bit does not + work yet. Make C6 USB work. + +2001-10-24 Oliver Schwartz + + * doc/sane-snapscan.man + Documentation update. + +2001-10-23 Oliver Schwartz + + * backend/snapscan-scsi.c + Limit number of scan lines for quality calibration to fit in + SCSI buffer. + +2001-10-21 Peter Kirchgessner + + * backend/hp.desc, doc/sane-hp.man + Add support for OfficeJet PSC 900 series + +2001-10-20 Karl Heinz Kremer + + * backend/epson.[ch]: Fix for older Perfection 1650 scanners - + their firmware only reports half of the vertical scanning + area and they need to swap two color channels. + +2001-10-19 Henning Meier-Geinitz + + * PROJECTS: Added Coolscan2 backend. + +2001-10-15 Peter Fales + + * backend/gphoto2.c, backend/gphoto2.h: Cosmetic cleanup + +****** Feature freeze for sane-1.0.6 is active ***** +****** snapshot 2001-10-15 ***** + +2001-10-15 Henning Meier-Geinitz + + * TODO: Removed some entries about net/saned. + * doc/saned.man: Clear up that a FQDN must be used in + saned.conf and that localhost is allways granted acces. + * NEWS: Updated. + +2001-10-14 Jochen Eisinger + + * backend/mustek_pp.conf: added comment about changes in + the naming of ports in 2.4.x + +2001-10-13 Oliver Rauch + + * backend/umax.c, bachend/umax-scanner.c, backend/umax.desc, + doc/umax/sane-umax-config-doc.html, doc/umax/umax.CHANGES, + doc/sane-umax.man: + update to sane-umax-1.0 build 30: + - added EDGE KTX-9600US as supported scanner + - Changing scansource does not change lower left selection + edge if not necessary + +2001-10-12 Oliver Schwartz + + * backend/snapscan-scsi.c backend/snapscan.h + backend/snapscan.c + Update to snapscan-20011012 + +2001-10-12 Henning Meier-Geinitz + + * sanei/sanei_wire.c: Added debug output (based on patch + from Jochen Eisinger ). + * backend/net.c backend/net.desc: Better and more debug output + (based on patch from Jochen Eisinger ). + Fixed some debug output and formatting issues of the byte order + patch. Increased version number to 1.0.5. + * frontend/saned.c: More debug output. Used DBG instead of + fprintf/perror. Fixed some formatting issues. + +2001-10-10 Jochen Eisinger + + * sanei/sanei_wire.c: replaced memcpy with memmove + +2001-10-10 Jochen Eisinger + + * PROJECTS: added URL to HP ScanJet 2200c project + +2001-10-10 Henning Meier-Geinitz + + * backend/m3096g-scsi.h backend/m3096g.c backend/m3096g.h + doc/sane-fujitsu.man: Update (from Oliver Schirrmeister + ). Added: Support for ipc2/3 and cmp2 options; + support for duplex-scanners m3093DG, m4097DG; constraint checking + for m3093; support EVPD (virtual product data); support ADF paper + size spezification. + * AUTHORS: Added Oliver Schirrmeister for m3096g, removed the active + sign (*) from Randolph Bentson. + +2001-10-09 Peter Fales + + * backend/dc210.c, backend/dc210.h: Fix compiler warnings + +2001-10-09 Oliver Schwartz + + * backend/snapscan-scsi.c backend/snapscan-usb.c + backend/snapscan.c + Fix compiler warnings + +2001-10-09 Peter Fales + + * backend/gphoto2.desc: Yet another try at getting a format that + generates the right web page. + +2001-10-09 Henning Meier-Geinitz + + * backend/ibm.desc: Removed old entry. + * backend/sm3600.desc: Changed status to :alpha. + * doc/sane-agfafocus.man: Fixed some small mistakes. + * doc/sane-apple.man: Fixed some small mistakes. Added link + to mostang.com mailing list archive. + * doc/sane-artec.man: Fixed spelling mistake and formatting issues. + * doc/sane-nec.man: Fixed problem with table. + * doc/sane-sharp.man: Fixed problem with table. + * backend/sharp.desc: Added link to sane-sharp manual page. + * doc/sane_mustek_pp.man: Removed link to sane-musteka4s2 (doesn't + exist). + * doc/sane-abaton.man doc/sane-agfafocus.man doc/sane-apple.man + doc/sane-bh.man doc/sane-microtek.man doc/sane-pint.man + doc/sane-st400.man: Added link to mostang.com mailing list page. + * backend/net.c backend/net.desc: Fixed byte order problems for 16 + bits per color image data (from mh ). + * TODO: Removed entries about .desc files, man pages and net.c + byte-order problem. + +2001-10-09 Oliver Schwartz + + * backend/snapscan-scsi.c backend/snapscan-sources.c + backend/snapscan-sources.h backend/snapscan-usb.c + backend/snapscan-usb.h backend/snapscan.c + backend/snapscan.conf backend/snapscan.desc + backend/snapscan.h + Update to snapscan-20011008 + +2001-10-08 Peter Fales + + * backend/gphoto2.desc: Another try at getting a format that + generates the right web page. + +2001-10-08 Henning Meier-Geinitz + + * backend/ibm.desc: New file. Backend for the IBM 2456 and the + Ricoh IS-410. + * PROJECTS: Added IBM backend. Removed gphoto2 (now included in + distribution). + +2001-10-07 Peter Fales + + * backend/gphoto2.desc: Cleaned up syntax errors + doc/sane.man: Added gphoto2 backend to digital camera section + AUTHORS: Added gphoto2 backend/author + +2001-10-07 Henning Meier-Geinitz + + * backend/mustek_usb.c backend/mustek_usb.conf backend/mustek_usb.desc + backend/mustek_usb_high.c backend/mustek_usb_high.h + backend/mustek_usb_low.c backend/mustek_usb_low.h + backend/mustek_usb_mid.c backend/mustek_usb_mid.h + doc/mustek_usb/mustek_usb.CHANGES: Fixed problem with 1200UB + sensor detection. Started work on 1200 USB. New version: + 1.0-7. + +2001-10-07 Oliver Rauch + + * created directory "po" + added files po/epson.de.po and po/umax.de.po + + we have to define how we will handle (include+install) + translations, in the moments the files are only added + to the directory structure without any function + + +2001-10-06 Henning Meier-Geinitz + + * backend/canon_pp.desc: New file (from Matthew Duggan + . + +2001-10-05 Henning Meier-Geinitz + + * TODO: Removed entries about hp and plustek backends. + * backend/microtek2.c backend/microtek2.h doc/sane-microtek2.man: + Updated Microtek2 backend to version 0.9 build 20010828 (from + Karsten Festag ). + * NEWS: Updated. + +2001-10-04 Peter Kirchgessner + + * backend/hp-accessor.c hp-device.c hp-handle.c hp-hpmem.c + hp-option.c hp-scl.c + Use include "../include/assert.h" + doc/sane-hp.man + Tell about subscribing to sane-devel + +2001-10-03 Henning Meier-Geinitz + + * README.hp-ux: Lots of new and updated information (from + Michael Piotrowski ). + +2001-10-02 Henning Meier-Geinitz + + * backend/dll.c backend/dll.desc: HP/UX uses .sl for shared libs. + Changed status to "stable". Increased version number. + * tools/sane-find-scanner.c: Check for __hpux instead of __hpux__. + +2001-10-01 Henning Meier-Geinitz + + * TODO: Added possible saned problem with (not) fully qualified + domain names. + +2001-09-29 Peter Fales + + * backend/gphoto2.c, backend/gphoto2.h, backend/gphoto2.desc: + Cosmetic cleanup and minor fixes. Added list of gphoto2 + supported cameras to gphoto2.desc, even though most of them + are not tested and probably not working yet. + +2001-09-24 Peter Fales + + * backend/gphoto2.c, backend/gphoto2.h, backend/gphoto2.conf: + Cosmetic cleanup and changes to reflect changes to the gphoto2 + API. + +2001-09-23 Henning Meier-Geinitz + + * TODO: Added SCSI problem with Linux/Sparc. + +2001-09-21 Henning Meier-Geinitz + + * sanei/sanei_scsi.c: Fixed detection of SCSI devices that return + device strings (vendor, product) consisting of spaces. + sanei_scsi_req_enter2 was changed to copy the CDB and data before + sending it to the device. Both patches are from Abel Deuring. + * sanei/sanei_config2.c: Removed some remainings of the USB merge. + +2001-09-18 Henning Meier-Geinitz + + * backend/umax1220u.desc: New file (from Marcio Luis Teixeira + ). + * PROJECTS: Updated Winsane address. + * TODO: Added net/saned and .desc file entries. Removed scanimage/adf + extention entry. + * backend/pnm.c backend/pnm.desc: Make sure that *length=0 in + sane_read(). Added more debug output. + +2001-09-18 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp.desc: + corrected compile problem when no ppdev available, + changed status from :new to :beta. + +2001-09-17 Peter Fales + + * backend/gphoto2.c: Converted from test code using pipes to + the command line program to using the camera API. Currently + only supportes cameras that natively generate jpeg files. + +2001-09-17 Tom Martone + * backend/bh.desc + changed status from :new to :beta + +2001-09-17 Simon Munton + * backend/pie.c backend/pie.conf: Changed ADLIB to AdLib as this is + what the scanner returns and the comparison is case sensitive + + * doc/sane-pie.man: Update the status of the AdLib JetScan 630 + +2001-09-17 Henning Meier-Geinitz + + * PROJECTS: Removed (very) old entries. Removed backends which + are included in the distribution now. Updated bearpaw and OS/2 + entries. + * NEWS: Created preliminary entry for 1.0.6. + +2001-09-16 Peter Fales + + * backend/dc240.desc: Change status from new to alpha + + acinclude.m4, aclocal.m4, configure: Cosmetic changes to + help text and change function used in gphoto2 lib check due + to API change + +2001-09-16 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp_mid.c + tools/umax_pp.c: + change ppdev support to compile and run on linux kernel + prior to 2.4.5 + +2001-09-13 Henning Meier-Geinitz + + * backend/mustek_usb.c backend/mustek_usb.desc + backend/mustek_usb_high.c backend/mustek_usb_high.h + backend/mustek_usb_mid.c backend/mustek_usb_mid.h + doc/sane-mustek_usb.man doc/mustek_usb/mustek_usb.CHANGES + doc/mustek_usb/mustek_usb.TODO: Update to mustek_usb backend + 1.0-6. Increased resolution to the maximum hardware supports. + No fixed resolution any more. Gamma table support. Bugfixes. + +2001-09-12 Peter Fales + + * acinclude.m4 aclocal.m4 configure configure.in: Changes to + start using gphoto2 libraries in gphoto2 backend + + backend/gphoto2.c backend/gphoto2.h: Use gphoto2 headers and + library functions for list management + +2001-09-12 Peter Fales + + * backend/doc/.cvsignore: Added gphoto2 man page to .cvsignore + +2001-09-11 Peter Fales + + * backend/doc/Makefile.in: Added man page for gphoto2 backend + +2001-09-11 Henning Meier-Geinitz + + * backend/Makefile.in: Added mustek_usb again. + +2001-09-10 Peter Fales + + * backend/gphoto2.c, backend/Makefile.in, configure.in, configure, + acinclude.m4, aclocal.m4: Add gphoto2 backend to Makefiles. + It's disable if the gphoto2 program is not present. + +2001-09-10 Henning Meier-Geinitz + + * backend/mustek.c backend/mustek.desc doc/mustek/mustek.CHANGES: + Fixed problem with gamma correction. New version: 1.0-113. + * backend/mustek_usb.c backend/mustek_usb.desc + backend/mustek_usb_high.c backend/mustek_usb_low.c + backend/mustek_usb_low.h backend/mustek_usb_mid.c + backend/mustek_usb_mid.h doc/mustek_usb/mustek_usb.CHANGES: + 200 dpi support for 600 CU. Some internal reorganizations. + New version: 1.0-5. + +2001-09-09 Henning Meier-Geinitz + + * backend/mustek_usb.c backend/mustek_usb.conf + backend/mustek_usb.desc backend/mustek_usb.h + backend/mustek_usb_high.c backend/mustek_usb_high.h + backend/mustek_usb_low.c backend/mustek_usb_low.h + backend/mustek_usb_mid.c backend/mustek_usb_mid.h: + Added backend mustek_usb for Mustek USB scanners. Currently the + 600 CU, 1200 CU, 1200 CU Plus and 1200 UB are supported. + * backend/Makefile.in dll.conf: Added entries for mustek_usb. + * doc/Makefile.in doc/mustek_usb/mustek_usb.CHANGES + doc/mustek_usb/mustek_usb.TODO doc/sane-mustek_usb.man: + Added mustek_usb documentation. + * doc/sane.man: Updated concerning mustek_usb. + * PROJECTS TODO: Updated concerning mustek_usb. + * doc/.cvsignore: Added sane-mustek_usb.5. + * AUTHORS: Added mustek_usb authors. + * backend/pnm.c: Fixed SANE-standard compliancy bug in sane_read: + length must be set to 0 if status != SANE_STATUS_GOOD. + +2001-09-08 Oliver Rauch + + * added information for device filesystem permissions + in doc/sane-scsi.man + +2001-09-06 Peter Fales + + * backend/gphoto2.c, backend/gphoto2.h, backend/gphoto2.conf, + backend/gphoto2.desc, doc/sane-gphoto2.man: Initial files + for gphoto2 backend (interface to cameras supported by the + gphoto2 commands/libraries). Makefile changes coming soon. + +2001-09-06 Stéphane Voltz + + * backend/umax_pp_low.c: made CmdSetDataBuffer static + * backend/Makefile.in: removed sanei_config2 from + umax_pp depencies + +2001-09-05 Jochen Eisinger + + * backend/net.c: ignoring size of parameter value for + SANE_ACTION_SET_AUTO (as described in the SANE standard) + +2001-09-05 Henning Meier-Geinitz + + * sanei/sanei_ab306.c: Added FreeBSD support. + * include/sane/sanei_usb.h sanei/sanei_config2.c sanei/sanei_usb.c: + Moved the function to check the "usb VENDOR PRODUCT" config + lines to sanei_usb to avoid linking problems. + * backend/Makefile.in: Fixed spelling mistakes concerning st400. + * Makefile.in: make libcheck now also prints the name(s) of the + `illegal' functions. + +2001-09-04 Henning Meier-Geinitz + + * PROJECTS: Added m3096g updates and website. Added 600CU to list + of supported Mustek USB scanners. + +2001-09-04 Jochen Eisinger + + * backend/net.desc doc/saned.man doc/sane-net.man: added + pointer to new saned homepage + (http://home.nexgo.de/jochen.eisinger/saned/) + +2001-09-04 Peter Kirchgessner + + * backend/hp-device.[hc] hp-handle.c hp-scl.[hc] + hp-option.[hc] hp.[hc] hp.desc + doc/sane-hp.man: + Add support for active XPA + Check if paper in ADF for ADF scan + Add option lamp off + Remove some really unused parameters + +2001-09-04 Peter Fales + + * backend/PROJECTS: Added gphoto2 project to provide support + for some or all of the cameras supported by gphoto2. (See + http://www.gphoto.org) + +2001-09-03 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp_mid.c + backend/umax_pp_mid.h backend/umax_pp.c tools/umax_pp.c: + Make use of ppdev char device when available, so that + the backend does not require root priviledges anymore. + +2001-08-30 Henning Meier-Geinitz + + * backend/Makefile.in: Added sanei_usb dependency. + +2001-08-26 Henning Meier-Geinitz + + * backend/dll.c doc/sane.man frontend/scanimage.c sanei/sanei_usb.c + tools/sane-find-scanner.c : Fixed minor bugs in debug output and + documentation. + * backend/mustek.c backend/mustek.desc doc/sane-mustek.man + doc/mustek/mustek.CHANGES: Update to backend version 1.0-112. + Some minor fixes for returning the scan slider and OS/2. + +2001-08-26 Oliver Rauch + + * backend/umax.c backend/umax.desc doc/umax/umax.CHANGES: + umax scsi backend update to version 1.0 build 29 + +2001-08-19 Stéphane Voltz + + * backend/umax_pp_low.c tools/umax_pp.c: + Finished probe code cleaning, increased version number + +2001-08-16 Henning Meier-Geinitz + + * configure configure.in: Fixed bug concerning libusb that + broke compilation on NetBSD. + * doc/sane-find-scanner.man doc/sane-usb.man sanei/sanei_usb.c + tools/sane-find-scanner.c: Added (limited) support for FreeBSD. + +2001-08-11 Henning Meier-Geinitz + + * include/sane/sanei_thread.h sanei/sanei_thread.c: Updated + sanei_thread functions (from Yuri Dario) and made clear that + they shouldn't be used directly. + * include/sane/sanei_usb.h sanei/Makefile.in sanei/sanei_usb.c + doc/Makefile.in doc/sane-usb.man: Added sane USB interface. + * include/sane/sanei_config.h sanei/sanei_config2.c: Added support + for searching USB devices ("usb vendor product"). + * doc/sane-find-scanner.man tools/Makefile.in + tools/sane-find-scanner.c: Added USB support. + * doc/sane.man: Added information for USB scanners. + * TODO: Removed USB entries. Removed entry about checking for + /etc/ld.so.conf, this shouldn't be necessary any longer. Removed + entry about saned freezing, no bug reports about this for a long + time. Removed entry about moving .desc files, this doesn't seem to + be necessary. Added proposal to include libieeee1284. + * doc/.cvsignore: Updated concerning sane-usb.5. + +2001-08-05 Peter Fales + + * backend/dc240.c - Previously, the backend always assumed that + the images were stored in the 100DC240 directory in the + camera. It now determines the directory automatically. If + multiple directories are present, it will eventually let you + pick the directory, but that feature hasn't been completed + yet. + +2001-08-05 Henning Meier-Geinitz + + * backend/mustek_usb.desc: New file. This backend supports + the Mustek 1200UB, 1200CU and 1200CU Plus. + + * PROJECTS TODO: Updated concerning mustek_usb backend. + +2001-08-01 Henning Meier-Geinitz + + * PROJECTS TODO: Added UMAX Astra 1220U backend. + +2001-08-01 Stéphane Voltz + + * doc/sane-umax_pp.man backend/umax_pp_low.c: + One more step toward cleaner scanner probing. Added + message about EPP mode not being available. Slight man + update to emphasize EPP mode setting. + +2001-07-24 Stéphane Voltz + + * backend/umax_pp.c backend/umax_pp_low.c: + Fixed higlight parsing bug in conf file. Fixed 'greenish' + looking scans bug. Started probe sequence rewrite/cleanup. + +2001-07-18 Henning Meier-Geinitz + + * sanei/sanei_init_debug.c: Use syslog.h instead of sys/syslog.h. + +2001-07-18 Henning Meier-Geinitz + + * backend/mustek.c backend/mustek.desc doc/mustek/mustek.CHANGES: + Call stop_scan only when scan was cancelled. Some more debug + messages. New version: 1.0-111. + +2001-07-11 Peter Fales + + * backend/dc240.c - Using scanimage with the "thumbnails" option + and attempting to connect to a powered off camera was causing + a core dump. + +2001-07-11 Henning Meier-Geinitz + + * backend/mustek.c backend/mustek.desc backend/mustek.h + doc/mustek/mustek.CHANGES: Fixed bug in fix_line_distance_block + that resulted in too much data transfered to the frontend. + New version: 1.0-110. + +2001-07-09 Henning Meier-Geinitz + + * backend/mustek.c backend/mustek.conf backend/mustek.desc + backend/mustek.h doc/sane-mustek.man doc/mustek/mustek.CHANGES: + Fixed problem with SCSI command queuing. Fixed problem that + resulted in black images on some Paragon 6000SP scanners. Added + option to disable backtracking. New version: 1.0-109. + +2001-07-07 Henning Meier-Geinitz + + * doc/Makefile.in: Use 6 lines as top/bottom margin for man2html + to avoid losing 2 lines at every page break. + * backend/mustek.c backend/mustek.conf backend/mustek.desc + doc/sane-mustek.man doc/mustek/mustek.CHANGES: Added option + for disabling double-buffering. Updated man page. New version: + 1.0-108. + +2001-07-02 Henning Meier-Geinitz + + * configure configure.in: Enabled warnings by default. + +Older entries can be found in ChangeLog-1.0.5. diff --git a/ChangeLogs/ChangeLog-1.0.7 b/ChangeLogs/ChangeLog-1.0.7 new file mode 100644 index 0000000..492ad68 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.7 @@ -0,0 +1,856 @@ +****** Release of sane-backends 1.0.7. End of code freeze ****** + +2002-02-03 Henning Meier-Geinitz + + * acinclude.m4 aclocal.m4 configure: Added a missing "test" command + in check for gphoto2. This fixes error messages while testing for + gphoto2 and a false positive result. + * TODO: Added entries about config.h, sane-backends.html, device file + types, the HPUX -ansi problem, and make distclean. + * backend/Makefile.in backend/coolscan2.desc: Added description file + for coolscan2 backend (from Major Andras + ). + * backend/gphoto2.desc: gphoto2 is no longer "NEW". + +2002-02-02 Henning Meier-Geinitz + + * PROJECTS: Added info about Canon N670U project. Added info about + Sceptre S1200 project. + * backend/sceptre.desc backend/Makefile.in: New file (from Frank Zago + ). + * backend/microtek2.desc doc/sane-microtek2.man: Updated microtek2 + documentation (from karsten.festag@t-online.de (Karsten Festag)). + * Makefile.in README.netbsd: New file. Information about problems + with shared libs. + * configure configure.in: Include and also + when checking for struct semun in . This fixes a + compilation problem on FreeBSD. + +2002-01-31 Peter Fales + + * configure, acinclude.m4, aclocal.m4 - Latest gphoto2 updates + changed the version number, breaking the gphoto2 backend. This + is a one line change to correct that. + +2002-01-31 Henning Meier-Geinitz + + * PROJECTS: Added info about GT-68xx backend. + +2002-01-29 Henning Meier-Geinitz + + * configure configure.in: New version: 1.0.7. Disabled extra version. + Disabled warnings by default. + * TODO: Added entry about adding well known types and manufacturers + to sane.tex. + +---- CODE FREEZE FOR SANE 1.0.7 --- +---- sane-backends-1.0.7-beta2 ---- + +2002-01-27 Gerhard Jaeger + + * backend/plustek-usbhw.c: Fixed LM9831 problem... + +2002-01-27 Henning Meier-Geinitz + + * backend/microtek.c backend/microtek2.h: Fixed undefined behaviour + problem and Scanmaker X12 problems. New version: 20020127. Code from + karsten.festag@t-online.de (Karsten Festag). + * lib/inet_ntop.c: Fixed problem with header include order on Irix. + * configure configure.in backend/snapscan-usb.c + include/sane/config.h.in: Only define union semun if not already + defined in . Fixes compilation bugs on Irix and FreeBSD. + +2002-01-26 Henning Meier-Geinitz + + * NEWS: Updated for sane-backends 1.0.7. + * TODO: Added point about sane-find-scanner. Added details about + NetBSD linking problem. + +2002-01-25 Karl Heinz Kremer + + * backend/epson.desc, doc/sane-epson.man: Added Perfection + 1650 and 2450 scanners to supported scanners list. + +2002-01-25 Abel Deuring + * frontend/scanimage.c: illegal placeholders in the -f format + string are now replaced by "%%". (Bug found by Peter Fales) + +2002-01-25 Gerhard Jaeger + + * backend/plustek-usb.h: changed according to avoid + some gcc-3 warnings + * docb/sane-plustek.man: Update + +2002-01-24 Henning Meier-Geinitz + + * po/Makefile.in: Added SHELL variable. Fixes po generation on OS/2. + * po/README: Added some comments on what the Makefile actually does. + * doc/backend-writing.txt doc/sane.man: Added note about doxygen + configuration for sanei. + +2002-01-24 Stéphane Voltz + + * backend/umax_pp_low.c: corrected 2000P mis-detection by adding + pauses in epat wake-up. + +2002-01-23 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-scsi.c backend/snapscan.h + Fix recognition of Acer 320U, Fix for spaces in model ID strings, + Change snapscan version to 1.4.7 + +2002-01-23 Henning Meier-Geinitz + + * backend/mustek.c backend/mustek_usb.c doc/mustek/mustek.CHANGES + doc/mustek_usb/mustek_usb.CHANGES: Fixed undefined operation + warnings. + +2002-01-22 Oliver Schwartz + + * backend/snapscan.c: + Do not use quantization for scan areas + * backend/snapscan-scsi.c: + Add sense handling for sense code 0x0b to avoid infinite loops, + Change snapscan version to 1.4.6 + * backend/snapscan.conf + Use /dev/sg0 as default instead of the more uncommon /dev/sga + +---- sane-backends-1.0.7-beta1 ---- + +2002-01-21 Henning Meier-Geinitz + + * TODO: Made entry about TL_X < BR_X, jpeg->sanei, and sanei_scsi + more exact. Added entry about new version of libtool. Removed entry + about exit(). + * backend/Makefile.in po/Makefile.in: Added missing files to DISTFILES. + Fixed incompatibilities with older versions of gmake. + +2002-01-21 Oliver Rauch + + * doc/sane-umax.man, backend/umax.conf: + added new umax.conf options and explaination + +2002-01-20 Gerhard Jaeger + + * backend/plustek.c: change the options names to match SANE standard + * backend/plustek-usbhw.c backend/plustek-usbio.c + backend/plustek-usbscan.c: + Minor fixes, according to the National Sources + +2002-01-20 Abel Deuring + * sanei/sanei_scsi.c: set timeout value for all operating + systems to 1 minute. The timeout value is now derived from + the macro SANE_SCSICMD_TIMEOUT. + +2002-01-20 Henning Meier-Geinitz + + * backend/mustek.c backend/mustek.desc doc/mustek/mustek.CHANGES: + Fixed calibration bug for the 1200 Pro. New version: 1.0-118. + * include/sane/sanei_thread.h: Removed */. + * backend/tamarack.c: Used return SANE_STATUS_INVAL instead of exit. + +2002-01-19 Peter Fales + + * backend/gphoto2.c - Fixed a bug that can cause driver errors + following image capture, and bug that was incorrectly disabling + thumbail previews. + +2002-01-19 Oliver Rauch + + * updated umax.de.po + +2002-01-19 Henning Meier-Geinitz + + * TODO: Removed entries about kill(-1,...), wrong .desc links, + sanei documentation, added entries about exit(), and sanei + doxygen documentation. + * backend/mustek.c doc/mustek/mustek.CHANGES: Fixed some option + name issues. + * doc/sane-mustek-usb.man: Fixed typo. + * po/Makefile.in po/README po/epson.de.po po/mustek.de.po + po/mustek_usb.de.po po/plustek.de.po po/pnm.de.po po/saneopts.de.po + po/umax.de.po: Moved the options contained in saneopts.h into a + seperate file. So the backend po files are much smaller and easier to + read and the saneopts translations are consistent through backends. + * backend/microtek2.c backend/microtek2.h: Update to backend + 0.95-20020112 (from karsten.festag@t-online.de (Karsten Festag)). + * include/sane/sanei.h include/sane/sanei_config.h + include/sane/sanei_thread.h sanei/sanei_config.c: Made documentation + doxygen-compatible. Move comments from sanei_config.c to + sanei_config.h. + +2002-01-18 Karl Heinz Kremer + + * backend/epson.c: Also recognize the GT-xxxx scanners when connected via + SCSI or IEEE-1394 interface + +2002-01-17 Peter Fales + + * configure, acinclude.m4, aclocal.m4 - Update gphoto2 version check + * backend/gphoto2.c - Improved support for options not + supported by camera. Cosmetic cleanup. + +2002-01-18 Rene Rebe + + * docs/sane-avision.man: added the new disable-gamma-table option + to the sane-avision man-page. + +2002-01-18 Rene Rebe + + * backend/avision.h, backend/avision.c, backend/avision.conf: + many cleanups, fixed sane_cancel to not hang - but perform the + cancel, added a disable-gamma-table option and added the possible + options into the avision.conf file + +2002-01-18 Henning Meier-Geinitz + + * doc/Makefile.in: Added doxygen-sanei.conf to DIST_FILES. + +2002-01-17 Henning Meier-Geinitz + + * include/sanei/sanei_usb.h: Made documentation doxygen compatible. + +2002-01-17 Peter Fales + + * backend/gphoto2.c, doc/sane-gphoto2.man + Remove calls to exit() + Support cameras which store all files in top-level directory + +2002-01-17 Peter Fales + + * configure, acinclude.m4, aclocal.m4 - (Really) disable + gphoto2 backend unless specifically requested by the user (using + --with-gphoto2) and the right CVS version of gphoto2 is found + +2002-01-17 Rene Rebe + + * backend/avision.c removed to call exit in a debug case + +2002-01-17 Gerhard Jaeger + + * backend/plustek.c backend/plustek.h + Fixed conditional compilation problem + Updated localization strings + * doc/sane-plustek.man: Updated + * po/plustek.de.po: Updated + * doc/doxygen-sanei.conf: Added doxygen configuration file for + the sane libs + * include/sane/sanei.h include/sane/sanei_ab306.h + include/sane/sanei_lm983x.h sanei/sanei_lm983x.c: + Updated to support doxygen comments + +2002-01-17 Peter Fales + + * configure.in, configure, acinclude.m4, aclocal.m4 - Disable + gphoto2 backend unless specifically requested by the user (using + --with-gphoto2) and the right CVS version of gphoto2 is found + +2002-01-17 Rene Rebe + + * backend/avision.h backend/avision.c backend/avision.desc + doc/sane-avision.man: Merged the Avision v0.3.0 backend. It + includes overall cleanups, improved supported device detection, + memory-leak fixes, new config-options, initial USB device and + color calibration support. Also upadted the homepage-url and the + sane-avision man-page. + +2002-01-16 Henning Meier-Geinitz + + * backend/abaton.desc backend/dmc.desc backend/m3096g.desc + backend/mustek.c backend/sp15c.desc backend/v4l.desc: + Updated broken URLs for which I could find new ones. Commented out + all the others. + +2002-01-15 Peter Fales + + * backend/gphoto2.c: Following yet another gphoto2 API change - + converted gp_debug_printf to gp_log + + configure.in, configure, acinclude.m4, aclocal.m4 - Improvements + to the way gphoto2 is detected and used based on using + gphoto2-config. + +2002-01-15 Henning Meier-Geinitz + + * backend/pnm.c backend/pnm.desc po/pnm.de.po: Removed descripions + of options of type SANE_TYPE_GROUP. Fixed some translations. + Fixed header. New version: 1.0.4. + * backend/plustek.c backend/plustek.h po/Makefile.in po/plusetk.de.po: + Added German translation of Plustek backend options. Marked + translatable text in backend sources. + +2002-01-14 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-usb.c: + Added workaround for bug in semctl() on PPC; + backend version 1.4.5 + +2002-01-14 Peter Fales + * backend/gphoto2.c: Was requiring the device to have the + IMAGE_CAPTURE capability - changed this to a warning instead + of an error so the "Directory Browse" camera can be used. + Don't require a port to be specified for the "Directory + Browse" camera. Fixed a bug that can result in extra data + at the end of the iamge. Allow the returned image image to be + larger than the "estimate" specified in the configuration file. + +2002-01-14 Henning Meier-Geinitz + + * frontend/scanimage.c: Added help message for --formatted-device-list. + Added va_end() and #include . Used fprintf to print errors. + Fixed some typos. + +2002-01-13 Abel Deuring + * frontend/scanimage.c, doc/scaniamge.man: Added the option -f / + --formatted-device-list to allow arbirtarily formatted device + lists. Suggested by Klaas Freitag. + +2002-01-13 Henning Meier-Geinitz + + * acinclude.m4 aclocal.m4 configure: Included AC_PROG_LIBTOOL into + acinclude.m4 to avoid trouble with newer versions of libtool. + * backend/niash.desc: New file for the niash backend (from Bertrik + Sikken ). + +2002-01-12 Peter Fales + + * backend/gphoto2.c - Fixed breakage due to gphoto2 API changes + (Added context parameter to functions calls) + +2002-01-12 Gerhard Jaeger + + * doc/sane-plustek.man: Update + * backend/plustek-devs.c backend/plustek-usb.c backend/plustek-usbhw.c + backend/plustek-usbio.c backend/plustek-usbscan.c + backend/plustek-usbshading.c backend/plustek.c: + Updated to reflect the current feedback upon the code and + added some minor fixes + * backend/plustek.desc: Added Mustek and HP entry + +2002-01-12 Gerhard Jaeger + + * include/sane/sanei_lm983x.h sanei/sanei_lm983x.c: + added sanei_lm983x_init(), updated comments and fixed the u_long + * AUTHORS: Added myself to the list of sanei authors. + +2002-01-12 Henning Meier-Geinitz + + * doc/sane.man doc/scanimage.man: Added link to scanadf. + +2002-01-11 Henning Meier-Geinitz + + * backend/qcam.c: Create lockfile with O_EXCL even when using fcntl + locking. Remove it in any case after exiting. Log file handling + is still buggy but this has to be done by someone who has a qcam. + * sanei/sanei_lm983x.c: Added #include (OS/2 complains + otherwise). + * backend/pnm.c backend/pnm.desc po/pnm.de.po: hand_scanner and + three_pass options need SANE_INFO_RELOAD_PARAMETERS. All options + have a symbolic name now. Removed bogus translation from po. New + version: 1.0.3. + * frontend/saned.c: Check that the IP addresses of the peer are the + same for control and data connections. Exit, if this is not the + case. Changed some debug levels. + * PROJECTS: Updated some URLs. Removed m3096g and Mustek BearPaw + (both are included now in SANE). Added test backend and SaneTwain. + * TODO: Removed primax (not a backend), fixed viceo URL, updated + qcam entries, added entries about ipv6 support, removed saned + address validation entry. Added entry about scanimage + NLS. + * backend/mustek_usb.c backend/mustek_usb.desc + backend/mustek_usb_high.c backend/mustek_usb_high.h + backend/mustek_usb_mid.c backend/mustek_usb_mid.h + doc/mustek_usb/mustek_usb.CHANGES po/mustek_usb.de.po: + Removed some warnings. Fixed segfault while exiting. Using empty + devicename works now. New version: 1.0-10. + +2002-01-10 Tom Martone + * backend/bh.c + addressed security issue with tempfile + +2002-01-10 Oliver Schwartz + + * backend/snapscan.c backend/snapscan.h backend/snapscan.desc: + Update to snapscan-20020110 (Version 1.4.4) + - add support for SnapScan e42 + +2002-01-10 Gerhard Jaeger + + * include/sane/sanei_lm983x.h sanei/sanei_lm983x.c sanei/Makefile.in: + Added to support for the National Semiconductor LM9831/2/3 chipsets + (read/write functions) + * backend/plustek.desc: Updated, added missing, now supported devices + * backend/plustek.c backend/plustek-share.h backend/plustek.h + backend/plustek.conf backend/plustek-usb.c backend/plustek-devs.c + backend/plustek-pp.c backend/plustek-usbhw.c backend/plustek-usbimg.c + backend/plustek-usbio.c backend/plustek-usbmap.c + backend/plustek-usbscan.c backend/plustek-usbshading.c + backend/plustek-usb.h: + Major changes to use the new sanei_lm983x functions + Changed the configuration file to reflect all the possible config-options + * backend/Makefile.in: Changed to compile the Plustek backend + +2002-01-10 Henning Meier-Geinitz + + * po/pnm.de.po: Added German translation for pnm backend. + * po/mustek.de.po po/mustek_usb.de.po: Updated German translations. + They should be complete now. + * po/Makefile.in README: Made Makefile more intelligent. Targets + are only updated if necessary. No manual copying necessary. + Added pnm.de.po to DISTFILES. Added comment about DISTFILES. + * backend/mustek_usb.desc: New status: beta. + * README: Added description of --enable-translations. + * doc/sane.man: Added comment about translations. + * Makefile.in: Added Changelogs to DISTFILES. test/Makefile is + removed in make distclean now. + * doc/backend-writing.txt: Added paragraph about getting started. + Added comments about ANSI C, compilation warnings, testing and + keeping manpages up-to-date. + * backend/pnm.c: Added SANE_I18N() marks. + * TODO: Cleanup. Moved several entries to doc/backend-writing.txt. + Moved some entries to more appropriate paragraphs. Added entry about + missing or defective links in the .desc files. Removed entry about + translations. + * lib/inet_ntop.c: Changed order of includes for OS/2 compatibility. + * frontend/scanimage.c: Added output of bytes scanned in total. + Added warning that's printed if scanimage gets more data then + expected from the parameters. + * include/Makefile.in: Added sanei_lm983x.h to DISTFILES. + * backend/qcam.c: Actually close the lock file when unlocking. + +2002-01-09 Henning Meier-Geinitz + + * ChangeLog ChangeLog-1.0.0 ChangeLog-1.0.1 ChangeLog-1.0.2 + ChangeLog-1.0.3 ChangeLog-1.0.4 ChangeLog-1.0.5: Splitted + ChangeLog to limit filesize. Editing became slow on smaller systems. + +2002-01-08 Marcio Teixeira + + * backend/umax1220u.c: fixed compile warnings + * backend/umax1220u-common.c: fixed compile warnings + * backend/umax1220u.desc: added info about 2000U, 2200U, 2200US + +2002-01-08 Henning Meier-Geinitz + + * configure configure.in: Added V_EXTRA version number to mark + CVS versions (-cvs) and snapshots/betas (e.g. -beta1). + V_EXTRA=-pre1 would result in "sane-backends-1.0.7-pre1(.tar.gz)". + For release, V_EXTRA is empty. Added NUMBER_VERSION to avoid + confusing sane-config and frontends that rely on numbered versions. + * tools/sane-config.in: Use @NUMBER_VERSION@. + * sane-backends.lsm: Made more compatible with LSM standard. Fixed + mostang.com directory. Added OpenBSD. + * include/Makefile.in: Added targed "dist". Moved include targets from + root dir to this file. Added standard variables and .PHONY. + * backend/Makefile.in doc/Makefile.in frontend/Makefile.in + japi/Makefile.in lib/Makefile.in po/Makefile.in sanei/Makefile.in + testsuite/Makefile.in tools/Makefile.in: Added target "dist". + Fixed .PHONY. + * Makefile.in: Added targets "dist" and "sane-backends". make dist + creates sane-backends-x.y.z.tar.gz and make sane-backends also + creates the appropriate sane-x-y-z.lsm. Moved distclean to include/. + Fixed .PHONY. Made sane-backands-*.lsm look nicer. + * doc/backend-writing.txt: Point to po/README for the I18N details. + * doc/releases.txt: Added "make sane-backends" procedure. + * po/Makefile.in: make now creates all the files, make install does + nothing but installation. + * README: Updated. Fixed minor bugs. + * AUTHORS: Added sanei authors. + * doc/saned.man: Added info about data connection. + * po/mustek.de.po: Updated German translation for the Mustek SCSI + backend. + * frontend/.gdbinit: Removed unnecessary file. + +2002-01-08 Stéphane Voltz + + * configure.in: added help text for --enable-parport-directio + +2002-01-07 Henning Meier-Geinitz + + * PROJECTS: Added link to backend for HP Scanjet 3300C / 3400C + and 4300C scanners. Removed umax1220u project (now included in + sane-backends). + * po/Makefile.in po/README: Added basic support for translating + option descriptions and titles of SANE backends. This is really + alpha! + * po/epson.de.po po/umax.de.po: Updated by make update-po. + * po/mustek.de.po mustek_usb.de.po: Added German translations + for Mustek SCSI and USB backends. Translations for well-known + options are missing. + * Makefile.in configure configure.in: Added option + --enable-translations to configure. I18N support is disabled by + default. + * po/.cvsignore: New file. + * doc/sane-mustek_usb.man doc/mustek_usb/mustek_usb.CHANGES: + Added info about BearPaw scanners and plustek backend. + * backend/mustek.c backend/mustek.desc doc/sane-mustek.man + doc/mustek/mustek.CHANGES: + Small fix for Paragon 1200 Pro. Added some test code for this + scanner. Added Trust Imagery 1200 to man page and .desc. New + version: 1.0-117. + * backend/Makefile.in backend/dll.conf backend/umax1220u-common.c + backend/umax1220u.c backend/umax1220u.conf backend/umax1220u.desc: + Added new backend umax1220u for UMAX Astra 1220U and 2000U + scanners (patch from Marcio Luis Teixeira + ). + * doc/Makefile.in doc/sane.man doc/sane-umax1220u.man: Added + documentation fo umax1220u backend (patch from from Marcio Luis + Teixeira ). + * AUTHORS: Added Marcio Luis Teixeira. + * TODO: Removed umax1220u project (now included in sane-backends). + Added HP Scanjet 3300C / 3400C and 4300C project. Added entry about + saned data port documentation. Removed saned race condition bug. + * doc/.cvsignore: Added sane-umax1220u.5. + +2002-01-06 Henning Meier-Geinitz + + * configure configure.in include/sane/config.h.in: Added check + for inet_ntop(). + * lib/inet_ntop.c lib/Makefile.in backend/Makefile.in: Added + implementation of inet_ntop() for platforms withouth this + function based on inet_ntoa. + * backend/saned.conf frontend/saned.c doc/saned.man: Changed access + control (function check host). Now IP addresses are used for + comparison, not host names as before. It's possible to put + hostnames, FQDNs and IP addresses into saned.conf. Limitations: + Only the first IP address in struct hostent is checked. IPv6 is + untested. The change is based on a patch by Petter Reinholdtsen + . + Return SANE_STATUS_ACCESS_DENIED if access was not granted instead + of SANE_STATUS_IO_ERROR. + Removed isfdtype to avoid compilation problems. + Added more debug output. Print function name in every DBG statement. + Updated manual pages and saned.conf. + * net.c: Return SANE_STATUS_ACCESS_DENIED if access was not granted + instead of SANE_STATUS_IO_ERROR. + +2001-01-06 Karl Heinz Kremer + + * backend/epson.c: Undefine TEST_IOCTL again, which was enabled + by accident. + +2002-01-06 Stéphane Voltz + + * backend/umax_pp_low.c: improved warm up and color calibration + of much better quality now. Manual settings now work correctly. + Corrected parport mode being set before being claimed. + * backend/umax_pp.c: changed build number. + * tools/umax_pp.c: changed version. + + +2002-01-05 Oliver Rauch + * backend/umax-scanner.c, umax.c, umax.conf, umax.desc, umax.h: + update to backend version 1.0 build 32 + +2002-01-05 Karl Heinz Kremer + + * backend/epson.[ch]: Check for (and set) s->fd to -1 when + scanner is closed. Removed black gamma table - only RGB + is used, even for grayscale scans. Do not call access() + when running on OS/2 or when using a parallel port scanner. + +2002-01-05 Henning Meier-Geinitz + + * backend/net.c backend/net.desc: Fixed race condition between saned + sending NET_OPEN reply and net.c flushing the wire. New version: + 1.0.6. + * doc/saned.man frontend/saned.c: Changed debug handling. All debug + messages use DBG now. If in inetd mode or dameon mode with "-s", + the messages are printed to syslog as before. If option "-d" is used, + the mesages are printed to stderr. Updated manual page. + +2002-01-04 Henning Meier-Geinitz + + * sanei/sanei_wire.c: Added DBG message that warns if the read buffer + is going to be deleted (data loss). + +2002-01-03 Henning Meier-Geinitz + + * README.os2: Updated URL of Franz Bakan's web site. + * include/sane/sanei_usb.h sanei/sanei_usb.c: Added support for USB + control messages (patch from Marcio Luis Teixeira + ). + * doc/sane-usb.man: Updated concerning backends supporting sanei_usb + and OpenBSD. Other minor fixes. + * include/sane/sanei_pv8630.h sanei/sanei_pv8630.h sanei/Makefile.in: + Added support for the PowerVision 8630 chip, a USB to parallel + converter used in many scanners (patch from from Marcio Luis Teixeira + ). Fixed sanei_thread Makefile.in entry. + * TODO: Added entries about saned/net freezes and parport-directio doc. + Removed entries about sanei_usb control msg, sanei_pv8630 inclusion, + OS/2 libsocket problem, and splitting --enable-directio. + +2001-12-30 Henning Meier-Geinitz + + * frontend/scanimage.c: Fixed endless loop in sighandler. + * frontend/saned.c: Fixed sigpipe race in connection with + select_fd. Added debug output. + +2001-12-30 Gerhard Jaeger + + * backend/plustek_usbmap.c backend/plustek-usbimg.c + backend/plustek_usb.c backend/plustek_usb.h: + Fixed bug in lineart scaling and in brightness setting + +2001-12-29 Gerhard Jaeger + + * backend/plustek.c backend/plustek-share.h backend/plustek.h + backend/plustek.conf: + Changed to support the LM983x based USB scanner + * backend/plustek.desc: Updated, added missing, now supported devices + * backend/plustek-usb.c backend/plustek-devs.c backend/plustek-pp.c + backend/plustek-usbhw.c backend/plustek-usbimg.c + backend/plustek-usbio.c backend/plustek-usbmap.c + backend/plustek-usbscan.c backend/plustek-usbshading.c + backend/plustek-usb.h: New files - added to support the Plustek + USB devices (LM9831/2 based) and other devices based on this + chipset + * backend/Makefile.in: Changed to compile the Plustek backend + * doc/sane-plustek.man: Added some USB information + +2001-12-28 Henning Meier-Geinitz + + * configure configure.in: Changed order of tests for libsocket and + libsyslog to avoid problems with OS/2. Small spelling and format + fixes. + +2001-12-28 Abel Deuring + * configure.in, configure, sanei/sanei_scsi.c, umax_pp_low.c, + README.linux: replaced --enable-directio and ENABLE_DIRECTIO + with --enable-scsi-directio / --enable-parport-directio resp. + ENABLE_SCSI_DIRECTIO / ENABLE_PARPORT_DIRECTIO + +2001-12-27 Henning Meier-Geinitz + + * PROJECTS TODO: Updated info about "Relisys Scorpio Super 3 SCSI II". + +2001-12-25 Henning Meier-Geinitz + + * README.linux: Used "sane-find-scanner". Some minor changes. + * config.guess config.sub: Updated from + http://savannah.gnu.org/projects/config. + * TODO: New section: "platform-specific". Added some problems with + *BSD. Some minor fixes and additions. + * tools/sane-find-scanner.c: Added OpenBSD device files. + * README.openbsd: New file. Some information on how to get SANE + running on top of OpenBSD. + +2001-12-22 Henning Meier-Geinitz + + * backend/mustek_usb.c backend/mustek_usb.conf backend/mustek_usb.desc + backend/mustek_usb_low.c backend/mustek_usb_low.h + doc/sane-mustek_usb.man doc/mustek_usb/mustek_usb.CHANGES: + Made usb_low_read_rows more robust. Limited maximum block size and + added option for this. New version: 1.0-9. + +2001-12-21 Oliver Schwartz + + * backend/snapscan.c backend/snapscan.h + Remove tmpfname var + +2001-12-20 Peter Fales + + * backend/dc25.c - Fixed a potential security problem due to a + race condition involving temporary file creation. Also did some + cosmetic cleanup and removed some un-needed code. + +2001-12-19 Henning Meier-Geinitz + + * backend/dll.conf: Added (commented out) st400 entry. + +2001-12-18 Oliver Schwartz + + * backend/snapscan.c backend/snapscan.h + Remove temporary file + +2001-12-18 Ingo Wilken + + * backend/st400.c backend/st400.conf + Security fix: Dump inquiry data to $HOME/st400.dump instead + of /tmp/st400.dump. + +2001-12-17 Oliver Schwartz + + * backend/snapscan-scsi.c backend/snapscan.h + backend/snapscan-usb.h backend/snapscan-usb.c + backend/snapscan-sources.h backend/snapscan-sources.c + backend/snapscan.c backend/snapscan.desc + Update to snapscan-20011212 (snapscan backend 1.4.3): + - Use sense handler for USB scanners + - Correct color alignment for Snapscan 600 + - Fix dither matrix computation + - Add support for Snapscan e26 and e52 + - Guard for TL_X < BR_X and TL_Y < BR_Y + +2001-12-16 Peter Kirchgessner + * frontend/stiff.c + Add fillorder tag for b/w-TIFF-files + Include stiff.h to avoid warning "no previous prototype" + +2001-12-15 Henning Meier-Geinitz + + * backend/mustek.c backend/mustek.desc doc/mustek/mustek.CHANGES: + Fixed a possible segfault in sane_control_option. Added more + debug output for SCSI commands. New version: 1.0-116. + +2001-12-01 Henning Meier-Geinitz + + * sanei/sanei_ab306: Removed warning: `dev_io_fd' defined but not + used. Variable used only by FreeBSD. Added test for FreeBSD. + Patch from Stephen Torri . + +2001-11-30 Henning Meier-Geinitz + + * testsuite/Makefile.in testsuite/README: Added comment about + the need to enable pnm. Made output easier to read. + +2001-11-29 Henning Meier-Geinitz + + * backend/mustek.c backend/mustek.desc doc/mustek/mustek.CHANGES: + Added check for TL_X > BR_X or TL_Y > BR_Y. New version: 1.0-115. + * TODO: Added entry about TL_X < BR_X problems and semaphores for OS/2. + Removed entry about BearPaw scanners. + +2001-11-26 Abel Deuring + * backend/sharp.c: added an additional check to prevent OS/2 from + define "#define USE_FORK" + +2001-11-24 Abel Deuring + * backend/sharp.c: removed an unconditional "#define USE_FORK" + +2001-11-22 Stéphane Voltz + + * backend/umax_pp_low.c: fixed color calibration bug. Scans are + of much better quality now. Manual settings now work correctly. + * tools/umax_pp.c: changed version. + + +2001-11-22 Henning Meier-Geinitz + + * config.guess config.sub: Fetched new versions from + http://savannah.gnu.org/projects/config. + * mkinstalldirs: Updated for OS/2 (from "Franz Bakan" + ). + * backend/mustek.c backend/mustek.desc backend/mustek.h + doc/mustek/mustek.CHANGES: Added OS/2 compatibility fixes + (from "Franz Bakan" ). New version: 1.0-114. + * sanei/sanei_scsi.c: OS/2 changes: Removed semaphore code and + increased MAX_DATA to 64k (from "Franz Bakan" ). + * tools/sane-config.in: Also return -ldl (necessary fo IA64?). + * TODO: Added entry about .exe and similar file extentions. + Removed sane-config.in -ldl issue. + +2001-11-22 Stéphane Voltz + + * backend/umax_pp_low.c: fixed build problem on non i386 linux when + there is no . + +2001-11-21 Henning Meier-Geinitz + + * TODO: Added entries about the fork/kill(-1,...) issue, the inb/outb + problems, config.guess and sane-config.in. + * sanei/Makefile.in: Added sanei_thread for OS/2 portability. + +2001-11-20 Henning Meier-Geinitz + + * doc/scanimage.man frontend/scanimage.c: Use out%d.tif by default if + --format tiff was selected. Update documentation about default + formats. Fixed spelling mistakes. + * AUTHORS: I think this was planned in alphabetical order... + +2001-11-18 Karl Heinz Kremer + + * backend/epson.c: Fixed Wait for Button functionality. + Don't call access() for par port scanners. + +2001-11-18 Karl Heinz Kremer + + * backend/epson.h: Added missing defines for USB IOCTLs + +2001-11-18 Henning Meier-Geinitz + + * backend/mustek.desc doc/sane-mustek.man doc/mustek/mustek.CHANGES: + Added enries for Primax Compact 4800. + +2001-11-15 Henning Meier-Geinitz + + * backend/mustek_usb.c backend/mustek_usb.conf backend/mustek_usb.desc + backend/mustek_usb.h backend/mustek_usb_high.c + backend/mustek_usb_high.h backend/mustek_usb_low.c + backend/mustek_usb_low.h backend/mustek_usb_mid.c + backend/mustek_usb_mid.h doc/sane-mustek_usb.man + doc/mustek_usb/mustek_usb.CHANGES doc/mustek_usb/mustek_usb.TODO: + FreeBSD is supported to some degree now. Started 1200 USB support. + Documentation updates. New version: 1.0-8. + +2001-11-12 Peter Fales + + * gphoto2.c - Debug message was not getting printed because DBG_INIT + was not called first. + +2001-11-12 Henning Meier-Geinitz + + * doc/sane-scsi.man: More details and examples for the "scsi * ..." + directive for config files. Added information about debug level 255 + printing (Linux) kernel debug messages. Added link to sane-usb(5). + +2001-11-10 Stéphane Voltz + + * backend/umax_pp_low.c: correct PPC compile problem by removing + buggy extra ifdef + +2001-11-11 Peter Fales + + * gphoto2.c - Number of images was not getting updated after + capturing a new image + +2001-11-11 Henning Meier-Geinitz + + * backend/dll.c backend/dll.desc doc/sane-dll.man: Added some debug + messages (e.g. if dll.conf isn't found). Some adjustments concerning + debug levels. Removed some compilation warnings. New version: 1.0.5. + +2001-11-11 Abel Deuring + * sanei/sanei_scsi.c (Linux part): + - improved handling of status codes returned by the SG driver. + Device status INTERMEDIATE GOOD and CONDITION MET are now mapped + to SANE_STATUS_GOOD; device status BUSY and a few driver status + codes are mapped to SANE_STATUS_DEVICE_BUSY + - On SCSI command completion, the (sometimes bogus) residual count + is no longer subtracted from *req->dstlen + * backend/sharp.c: if a READ command fails with SANE_STATUS_DEVICE_BUSY, + retry a few times. + +2001-11-10 Karl Heinz Kremer + + * backends/epson.[ch]: all strings tagged with I18N macro + Added support for scan button, scanner waits for button if the + option "wait-for-button" is activated. + +2001-11-10 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.c + backend/umax_pp_mid.h backend/umax_pp.c backend/umax_pp.h: + use ENABLE_DIRECTIO to compile in direct I/O. Corrected the long + standing scan area origin detection bug. Improved parport mode + negociation. + +2001-11-07 Henning Meier-Geinitz + + * sanei/sanei_usb.c: Fixed debug messages. + +2001-11-06 Peter Fales + + * dc240.c - fix a bug that causes the backend's internal directory + to get out of sync with the camera directory when a file is deleted + * gphoto2.c - include the gphoto2 port name as part of the SANE + device name and improve reliability when using the gphoto2 + serial port libs. + +2001-11-04 Henning Meier-Geinitz + + * configure configure.in: Enabled warnings by default. + * sane-backends.lsm: Made more compatible with template. + Added myself as maintainer to avoid problems when uploading + to tsx-11 and sunsite in future. + +Older entries can be found in ChangeLog-1.0.6. diff --git a/ChangeLogs/ChangeLog-1.0.8 b/ChangeLogs/ChangeLog-1.0.8 new file mode 100644 index 0000000..7efe7f9 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.8 @@ -0,0 +1,1060 @@ +****** Release of sane-backends 1.0.8. End of code freeze ****** + +2002-05-27 Henning Meier-Geinitz + + * backend/plustek-usbscan.c: Critical bugfix to avoid bumping the + scan slider at the end of the scan. Commited on behalf of + g-jaeger@t-online.de (G. Jaeger). + +2002-05-26 Karl Heinz Kremer + + * doc/descriptions/epson.desc + doc/sane-epson.man + backend/epson.conf: Updated man page, added one more + comment to the conf file and adjusted the version in + the desc file. + +2002-05-26 Frank Zago + + * doc/descriptions-external/teco2.desc + doc/descriptions-external/teco3.desc: new backends descriptions. + * AUTHORS: changed my email address + * doc/descriptions/teco1.desc: added the mising connection type + for the vm3520 + +2002-05-26 Henning Meier-Geinitz + + * backend/Makefile.in: Added workaround for GNU make 3.79. This version + of make insisted on at least one argument for "basename" which broke + compilation. + * doc/descriptions/leo.desc doc/descriptions/teco1.desc: Changed + status to ":new" for release. + * doc/descriptions/umax1220u.desc: Changed status from :new to :alpha + as the baceknd was already in SANE 1.0.7. + +2002-05-25 Andras Major + + * doc/descriptions/coolscan2.desc: changed status to :new. + +2002-05-25 Matthew Duggan + + * doc/descriptions/canon_pp.desc: Changed status to :new. + +2002-05-25 Henning Meier-Geinitz + + * AUTHORS backend/microtek2.c doc/sane-microtek2.man + doc/descriptions/microtek2.desc: Updated Karsten Festag's email + address and website. + * NEWS: Added OPENSTEP to the list of portability fixes. + * doc/descriptions/test.desc: Changed status to :new. + * configure configure.in: Set version to 1.0.8. Disabled warnings + by default. + +2002-05-23 Oliver Rauch + + * doc/umax/sane-umax-powerlook-doc.html + * doc/descriptions/umax.desc update + +---- CODE FREEZE FOR SANE 1.0.8 --- +--- snapshot 1.0.8-pre1 + +2002-05-22 Henning Meier-Geinitz + + * sanei/sanei_scsi.c: Fixed sanei_scsi_cmd2() for OPENSTEP (from + Oliver Schirrmeister ). + +2002-05-21 Petter Reinholdtsen + + * include/Makefile.in (install): Make it possible to install when + building in a subdirectory. + +2002-05-14 Oliver Schwartz + + * backend/snapscan.conf: Added additional USB IDs for Acer 320U and + Acer 620U + +2002-05-09 Henning Meier-Geinitz + + * configure configure.in frontend/scanimage.c + include/sane/config.h.in: Fixed 16 bit pnm output. The byte-order + was wrong for little-endian systems. Based on code from Roland + Roberts . + * NEWS: Minor updates. + * TODO: Removed entry about 16 bit scanimage problem. Added entry about + scanimage and width/height ranges. + +2002-05-07 Frank Zago + + * doc/descriptions-external/tevion9693usb.desc: new backend, + from mh . + +2002-05-06 Andras Major + + * doc/sane.man: coolscan2 entry updated. + * doc/sane-usb.man: added coolscan2 to sanei_usb users' list. + +2002-05-05 Frank Zago + + * backend/umax-usb.c backend/teco1.c backend/matsushita.c + backend/matsushita.h backend/leo.c backend/sceptre.c: minor fixes. + +2002-05-05 Andras Major + + * backend/coolscan2.c: version number replaces "CVS" + * doc/coolscan2.man doc/descriptions/coolscan2.desc: added + man page for coolscan2. + +2002-05-05 Henning Meier-Geinitz + + * backend/test.c doc/descriptions/test.desc: Check return value + of waitpid. Don't evaluate status of children if waitpid wasn't + successful. + * backend/mustek.c doc/descriptions/mustek.desc: Check return value + of waitpid. Don't evaluate status of children if waitpid wasn't + successful. + * TODO doc/backend-writing.txt: Add an entry about the return value + of wait/waitpid. + +---- FEATURE FREEZE FOR SANE 1.0.8 --- + +2002-05-02 Oliver Schwartz + + * doc/description/snapscan.desc: Fix URL + +2002-05-02 Oliver Schwartz + + * backend/snapscan.c backend/snapscan-options.c + backend/snapscan-scsi.c backend/snapscan-usb.c po/snapscan.de.po: + Snapscan backend version 1.4.13 + - Support for ADF + - Fixed status handling after cancel + * doc/description/snapscan.desc: + - Add Guillemot Scan@home 1248 USB + - Fix vendor URLs + +2002-04-21 Oliver Rauch + + * sane-umax: updated umax.CHANGES + +2002-04-30 Jochen Eisinger + + * doc/saned.man doc/sane-net.man doc/descriptions/net.desc: + Updated URL of the sane-net homepage to + http://www.penguin-breeder.org/?page=sane-net + + * doc/sane-mustek_pp.man doc/descriptions/mustek_pp.desc: + Updated URL of the mustek_pp homepage to + http://www.penguin-breeder.org/?page=mustek_pp + + * TODO: + Added entry to saned section: + - Add support for IP ranges in saned.conf (like 10.0.0.0/8) + +2002-04-28 Frank Zago + + * tools/Makefile.in tools/sane-find-scanner.c: bug fixes, better + error reporting and display the inquiry in verbose mode. + +2002-04-29 Kazuya Fukuda + * backend/nec.c: fixed a compile problem for Dec Unix v4 + and probably other 64 bit platform. + * AUTHORS: Update email address for Kazuya Fukuda + +2002-04-27 Oliver Schwartz + + * backend/snapscan.c backend/snapscan.h backend/snapscan-options.c + backend/snapscan-scsi.c backend/snapscan-usb.c po/snapscan.de.po: + Snapscan backend version 1.4.12 + - Removed SCSI debug options + - Fixed option handling (errors found by tstbackend) + +2002-04-27 Henning Meier-Geinitz + + * frontend/scanimage.c: Fixed scanimage SANE_CAP_AUTOMATIC bug + (from David Paschal ). + +2002-04-26 Peter Fales + + * backend/dc240.c backend/gphoto2.c: Various minor bug fixes for + problems found by tstbackend. Fix a core dump when debugging + is enabled. + +2002-04-26 Jochen Eisinger + + * backend/mustek_pp.c: fixed a typo, thanks to Henning for + pointing this one out to me + +2002-04-26 Andras Major + + * backend/coolscan2.c doc/descriptions/coolscan2.desc: + update to release 0.1.5, various saned-related problems fixed. + +2002-04-25 Henning Meier-Geinitz + + * TODO: Updated backend list. Added entry for sanei_scsi/Mac OS X. + +2002-04-24 Henning Meier-Geinitz + + * backend/mustek.c backend/mustek.h doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: Print usefull DBG messages for options + without a name. Undef MIN and MAX macros before defining them. + * backend/mustek_usb.c backend/mustek_usb_low.h + doc/descriptions/mustek_usb.desc doc/mustek_usb/mustek_usb.CHANGES: + Free devlist on exit. Undef MIN and MAX macros before defining them. + * backend/Makefile.in frontend/Makefile.in: Added missing files to + DISTFILES. + * config.guess: Updated from ftp.gnu.org. + +2002-04-24 Oliver Schwartz + + * backend/snapscan.c backend/snapscan.h backend/snapscan-options.c + backend/snapscan-scsi.c: Snapscan backend version 1.4.11 + - Improve scan area option setting + - Cleanup of DBG messages + - Improve config file reading + +---- BACKEND FREEZE FOR SANE 1.0.8 --- + +2002-04-23 Frank Zago + + * backend/coolscan2.c: Fixed the version reporting problem. + * backend/dll.conf: added coolscan2 entry. + +2002-04-23 Peter Fales + + * backend/dc240.c backend/gphoto2.c: Various minor bug fixes for + problems found by tstbackend + * AUTHORS: Upate email address for Peter Fales + +2002-04-22 Frank Zago + + * AUTHORS PROJECTS backend/Makefile.in backend/coolscan2.c + backend/coolscan2.conf doc/descriptions/coolscan2.conf + doc/sane.man: added coolscan2 backend + +2002-04-22 Abel Deuring + * backend/sharp.c: fixed a compile problem for Dec Unix v4 + and probably other 64 bit platform. + +2002-04-22 Henning Meier-Geinitz + + * doc/backend-writing.txt: More details for the exported symbols + issue. Used test.c instead of pnm.c as example. Fixed paths for + .desc files. + * doc/sane.man: Added paragraph about testing with the test backend. + * TODO: Removed several avision bug entries. + * NEWS: First version of entry for 1.0.8. + +2002-04-21 Frank Zago + + * backend/teco1.c doc/descriptions/teco1.desc: updates. + +2002-04-21 Frank Zago + + * backend/sceptre.c doc/descriptions/sceptre.desc: updates. + +2002-04-21 Frank Zago + + * AUTHORS PROJECT backend/Makefile.in backend/leo.c backend/leo.h + backend/leo.conf doc/sane.man doc/sane-leo.man + doc/descriptions/leo.desc doc/Makefile.in: added leo backend + +2002-04-22 Rene Rebe + + * backend/avision.c next backend version, several new scsi id's, + and bug fixes + +2002-04-22 Karl Heinz Kremer + + * backend/epson.c: Declare close_scanner() and open_scanner() before + they are used + +2002-04-21 Oliver Rauch + + * sane-umax backend update to version 1.0 build 34 + +2002-04-21 Henning Meier-Geinitz + + * backend/test.c doc/descriptions/test.desc: Check if sane_init was + called before any other SANE function. + * backend/dll.c doc/descriptions/dll.desc: Don't call sane_exit twice. + Call sane_init after sane_exit. Try to load from $LD_LIBRARY_PATH + ($SHLIB_PATH, $LIBPATH) first and only check LIBDIR if opening + failed. New version: 1.0.6. + * backend/v4l.c: Fixed some warnings. + * backend/artec.c: Don't export cap_data. + * backend/canon.h: Don't export option_name. + * TODO: Updated entries about compilation warnings for various + backends. Removed entries about canon update and dll sane_exit + problems. + * PROJECTS: Removed canon update. + +2002-04-21 Abel Deuring + * backend/sharp.c: added a "free(devlist)" call to sane_exit + +2002-04-21 Abel Deuring + * backend/canon-sane.c, backend/canon-scsi.c, backend/canon.c, + backend/canon.h, doc/sane-canon.man, + doc/descriptions/canon.desc: added support for FB620S and + and FS2700, by Mitsuru Okaniwa + and Ulrich Deiters + +2002-04-19 Frank Zago + + * AUTHORS: fixed typos, formatting and added the tstbackend frontend. + * frontend/Makefile.in frontend/tstbackend.c: a frontend to test + backends + * doc/backend-writing.txt: added info about tstbackend + +2002-04-19 Henning Meier-Geinitz + + * backend/test.c doc/descriptions/test.desc: Added missing include. + +2002-04-18 Henning Meier-Geinitz + + * backend/net.c doc/descriptions/net.desc: Fixed bug in sane_read that + cause garbled data to be sent to the frontend. Fixed some long lines. + +2002-04-18 Marian Eichholz + * backend/sm3600.c : compiles without warnings now. + * backend/sm3600.h : FakeCalibration prototype conditionalised, too. + +2002-04-17 Frank Zago + + * TODO: changed Relisys Scorpio Super 3 contact info. + +2002-04-17 Marian Eichholz + * doc/descriptions/sm3600.desc : specific models listed + * doc/sane-sm3600.man : warning for libusb-versions. + * backend/sm3600-homerun.c : FakeCalibration() conditionalised. + * backend/sm3600.c : Improved portability, less warnings + +2002-04-17 Henning Meier-Geinitz + + * backend/fujitsu-scsi.h backend/fujitsu.c backend/fujitsu.conf + backend/fujitsu.h doc/sane-fujitsu.man + doc/descriptions/fujitsu.desc: Added new fujitsu backend (from + Oliver Schirrmeister ). This backend supersedes the + m3096g backend and also includes the m3091 backend. + * backend/m3096g.c backend/m3096g.h backend/m3096g.conf + backend/m3096g-scsi.h: Removed, support is now in fujitsu-backend. + * backend/Makefile.in backend/dll.conf: Adjusted for new fujitsu + backend. + * doc/sane-sp15c.c: Added new manpage for sp15c. Extracted from the old + sane-fujitsu manpage. + * doc/.cvsignore doc/Makefile.in doc/sane.man: Adjusted for fujitsu + and sp15c manpages. + * AUTHORS: Updated for fujitsu backend. + * doc/descriptions-external/m3091.desc doc/descriptions/m3096g.desc: + Removed, now in doc/descriptions/fujitsu.desc. + * PROJECTS: Removed m3091 project. + * TODO: Added coolscan2 backend, bh and coolscan warnings, scanimage + 16 bit problem. Removed fujitsu m391 entries, sm3600 non-static + symbol, plustek-backend OS/2 problem. + +2002-04-15 Marian Eichholz + * sm3600 imported from sm3600.sf.net + featuring infrastructure for various models and the (new) SM 3750i. + backend/sm3600.h + backend/sm3600.c + backend/sm3600-color.c + backend/sm3600-homerun.c + backend/sm3600-scantool.h + backend/sm3600-scanutil.c + backend/sm3600-gray.c + backend/sm3600-scanmtek.c + backend/sm3600-scanusb.c + doc/sane-sm3600.man + +2002-04-15 Henning Meier-Geinitz + + * doc/descriptions/mustek_usb.desc: Commented out 1200 USB as it is not + really supported yet. + +2002-04-14 Gerhard Jaeger + + * backend/plustek.[ch], backend/plustek-usbhw.c, backend/plustek-usbio.c, + backend/plustek-usbscan.c, backend/plustek-usbshading.c + backend/plustek-usb.c, backend/plustek-devs.c backend/plustek-usb.h + backend/plustek-share.h: Code cleanup, fixed OS/2 compilation breakage + fixed problem that causes non LM983x based devices to crash, minor fixes + added CANON N650U device structure + +2002-04-13 Karl Heinz Kremer + + * backend/epson.[ch]: Added new product IDs for Perfection 1650 and + 2450. Check if scanner needs to be opened for the reset() call. + +2002-04-13 Henning Meier-Geinitz + + * backend/canon630u-common.c: Added #include to + fix compilation on OS/2. + * sanei/sanei_scsi.c: Use O_NONBLOCK when opening an sg device under + Linux. Return SANE_STATUS_DEVICE_BUSY if EBUSY. Check for buffer==0 + for OS/2. + * doc/sane-scsi.man: Added more information about NCR/Symbios 810 and + Tekram DC315 controllers under Linux. + * backend/Makefile.in backend/test.c backend/test.conf backend/test.h + backend/test-picture.c: Added new test backend. + * doc/Makefile.in: Added sane-test man page. Added teco doc directory. + * doc/sane.man doc/sane-test.man doc/.cvsignore: Added sane-test + manual page. + * doc/descriptions-external/test.desc doc/descriptions/test.desc: + Moved test.desc to doc/descriptions and updated this file. + * PROJECTS: Removed test backend. + * AUTHORS: Added myself for test backend. + * TODO: Added entries about SANE_CAP_ADVANCED in groups, a wip marker + for sorted sane-backends.html, and saneopts.??.po problem. + Removed backends from list of inclusion beacuse of lack of response: + v4l2, lhii, viceo (they stay in PROJECTS). Removed snapscan from + exported symbols bug list. Updated doxygen list. + +2002-04-12 Frank Zago + + * doc/descriptions-external/leo.desc PROJECTS: Added leo backend + info. + +2002-04-12 Matthew Duggan + + * backend/canon_pp-io.c: Updated for new libieee1284 interface + (version 0.1.5) + * acinclude.m4 aclocal.m4 configure configure.in: + Added check for libieee1284 > 0.1.5 + +2002-04-08 Rene Rebe + + * backend/avision.h backend/avision.c backend/avision.conf: bug- + fixes + +2002-04-11 Henning Meier-Geinitz + + * include/sane/sanei_pa4s2.h include/sane/sanei_scsi.h: Added/adjusted + documentation for doxygen. + +2002-04-11 Stéphane Voltz + + * backend/umax_pp_low.c: fixed 8 bits I/O support + +2002-04-10 Oliver Schwartz + + * backend/snapscan-scsi.c + Removed illegal character + * backend/snapscan-usb.h + Removed declaration of bqelements + +2002-04-10 Oliver Schwartz + + * backend/snapscan-usb.c + make bqelements static + * backend/snapscan-scsi.c + disable send_diagnostic() for SnapScan 1236 + +2002-04-10 Henning Meier-Geinitz + + * backend/mustek_usb.c doc/descriptions/mustek_usb.desc + doc/mustek_usb/mustek_usb.CHANGES: Cleanup in sane_control_option, + sane_set_io_mode, sane_get_select_fd and sane_exit. New version: + 1.0-13. + * backend/mustek_usb.c backend/mustek_usb_high.c + backend/mustek_usb_high.h backend/mustek_usb_low.c + backend/mustek_usb_low.h backend/mustek_usb_mid.c + backend/mustek_usb_mid.h: Fixed coding-style. + * backend/pnm.c doc/descriptins/pnm.desc: sane_set_io_mode + checks for !non_blocking and scanning now. Fixed coding-style. + New version: 1.0.8. + * TODO: Added dll init/exit problem. Added non-static symbol problem. + Added info about missing definition of 1-bit modes in sane.tex. + Added entry about sane-find-scanner searching directories. + * backend/mustek.c backend/mustek.h doc/desacriptions/mustek.desc + doc/mustek/mustek.CHANGES: Set freed variables to 0 in sane_exit. + Fixed coding style. New version: 1.0-121. + +2002-04-09 Petter Reinholdtsen + + * sanei/sanei_pv8630.c (sanei_pv8630_bulkwrite): Avoid warning on + Solaris. Correct type of second argument to sanei_usb_write_bulk() + from (char*) to (SANE_Byte*). + +2002-04-08 Frank Zago + + * backend/teco1.c backend/teco1.conf backend/teco1.h + doc/sane-teco1.man doc/descriptions/teco1.desc doc/teco/teco1.txt + doc/.cvsignore doc/Makefile.in doc/sane.man po/Makefile.in + po/teco1.fr.po backend/Makefile.in backend/dll.conf + sane-backends/AUTHORS sane-backends/ChangeLog + sane-backends/PROJECTS: added teco1 backend + +2002-04-08 Rene Rebe +i + * doc/descriptions/avision.desc: fixed syntax + +2002-04-08 Henning Meier-Geinitz + + * Makefile.in: make libcheck now also checks for non-static variables. + * v4l.c: Some variables haven't been static. sane_set_io_mode must + return SANE_STATUS_GOOD if non_blocking == SANE_FALSE. + +2002-04-08 Rene Rebe + * backend/avision.c backend/avision.h doc/descriptions/avision.desc + doc/sane-avision.man: updated to Avision backend build 25. More + stable for HP usb scanners, suport for Misubishi scanners and + various cleanups. - And corrected the avision.desc location. + +2002-04-07 Henning Meier-Geinitz + + * backend/canon_pp.c backend/canon_pp-dev.c backend/canon_pp-io.c + backend/canon_pp-dev.h: Changed timeouts and added scanner sleeps + to improve reliability of 6x0P models. Also corrected typo which + caused full bed scans to fail. Disabled problematic detect for now, + will make detection slightly slower. Patch from Matthew Duggan + . + * doc/descriptions/canon_pp.desc: Added man page, incremented version. + Patch from Matthew Duggan . + * doc/sane-canon_pp.man: Added more hints on getting canon_pp driver + working. Patch from Matthew Duggan . + * backend/Makefile.in backend/canon630u-common.c backend/canon630u.c + backend/canon630u.conf backend/dll.conf backend/lm9830.h: Added + canon630u backend. This backend supports the CanoScan 630u and + CanoScan 636u (hopefully). Patch from Nathan Rutman + . + * doc/.cvsignore doc/Makefile.in doc/sane-canon630u.man + doc/descriptions/canon630u.desc: Added documentation and description + of canon630u backend. Patch from Nathan Rutman + . + * PROJECTS doc/sane.man: Updated for canon630u backend. + * AUTHORS: Updated for canon630u backend. + * doc/saned.man: The path in the xinetd example pinted to /usr/local + unconditionally. + * backend/canon630u-common.c: Fixed compilation on non-Linux systems. + * configure configure.in: Added work-around for asm/io.h problems. + +2002-04-06 Henning Meier-Geinitz + + * backend/mustek.c doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: Fixed color three-pass scanning for some + scanners. + * PROJECTS: Added Hewlett-Packard ScanJet 2200c project. + * sanei/sabei_constrain_value.c: Check that a SANE_Bool variable + can only be SANE_TRUE or SANE_FALSE. + +2002-04-02 Peter Fales + + * configure, acinclude.m4, aclocal.m4 - Another tweak to the + allowed gphoto2 version numbers + +2002-04-02 Henning Meier-Geinitz + + * acinclude.m4 aclocal.m4 configure configure.in: Added checks for + libieee1284. Enable canon_pp backend if found. Patch from + "Matthew Duggan" . + * backend/Makefile.in backend/canon_pp-dev.c backend/canon_pp-dev.h + backend/canon_pp-io.c backend/canon_pp-io.h backend/canon_pp.c + backend/canon_pp.conf backend/canon_pp.h backend/dll.conf: + Added new canon_pp backend for the CanoScan FB330P, FB630P, N340P, + and N640P scanners. Patch from "Matthew Duggan" . + * AUTHORS doc/Makefile.in doc/sane-canon_pp.man doc/sane.man + doc/descriptions/canon_pp.desc: Updated for canon_pp backend. + Patch from "Matthew Duggan" . + * PROJECTS TODO: Removed canon_pp. + * doc/.cvsignore: Added sane-canon_pp.5. + * doc/descriptions-external/canon_pp.desc: Removed. + +2002-03-30 Henning Meier-Geinitz + + * doc/descriptions-external/test.desc: Added description of the test + backend. + * PROJECTS: Added homepage of the test backend. + +2002-03-29 Henning Meier-Geinitz + + * backend/pnm.c doc/descriptions/pnm.desc: Check if option is settable + when automatically setting it. New version: 1.0.7. + * backend/Makefile.in doc/Makefile.in frontend/Makefile.in + include/Makefile.in po/Makefile.in tools/Makefile.in: + Support for variable DESTDIR. If set, all files are installed to that + location. Also print the filename of the installed file, not only the + path. Both changes are mostly for package creators/maintainers. + * configure configure.in: Another try to get the DISTCLEAN_FILES + working. + +2002-03-28 Henning Meier-Geinitz + + * doc/sane-scsi.man: Updated info about SCSI-Howto and some SCSI + adapters. + +2002-03-27 Oliver Rauch + + * removed unused definitions in include/sane/saneopts.h: + SMEAR, TEN_BIT_MODE, TWELVE_BIT_MODE, RGB_PREVIEW_PATCH, + START_SCAN_PATCH + +2002-03-26 Henning Meier-Geinitz + + * PROJECTS: Updated canon_pp entry. Added Canon FB630U and Canon N650U + USB entries. Updated test backend entry. + +2002-03-26 Frank Zago + + * PROJECTS: Updated Relisys Scorpio Super 3 infos. + +2002-03-26 Gerhard Jaeger + + * AUTHORS, sanei_lm983x.[ch], entire Plustek backend: + Updated to new mail-address and backend URL + +2002-03-24 Oliver Schwartz + + * backend/snapscan.c: Fix segfault in sane_exit if no devices were + found. + +2002-03-24 Henning Meier-Geinitz + + * acinclude.m4 aclocal.m4 configure configure.in ltmain.sh: + Update to libtool 1.4.2. Included local changes: use soname "libsane" + for all os but AIX. Use "normal" shared libs (.so) instead of archives + on AIX. Use 1 instead of 2 as major number with Irix. + * Makefile.in ltconfig: Removed ltconfig as it is no longer used by + libtool. + * TODO: More status indicators for backends to include. Removed + entry about the grand Fujitsu reunification. Updated entry about the + DBG warnings. Removed entry about splitted sane-backends.html. + Removed entries about libtool problems. Added entry about plustek on + OS/2 problem. + * backend/pnm.c doc/descriptions/pnm.desc: If fread returns 0, check + for EOF and other errors and return appropriately. + * backend/mustek_usb_mid.h: Updated SANE header. + * backend/net.c doc/descriptions/net.desc: Fixed 16-bit byte-order + handling in sane_read() (patch from Michael Herder ). + New version: 1.0.7. + +2002-03-24 Oliver Schwartz + + * backend/snapscan-options.c: New file (option functions moved from + snapscan.c) + * backend/snapscan-utils.c: Removed file + * backend/Makefile.in: Added snapscan-options.c, removed snapscan-utils.c + * backend/snapscan.c backend/snapscan.h backend/snapscan-scsi.c + backend/snapscan-usb.c backend/snapscan.h backend/snapscan.conf: + Snapcan-backend ver. 1.4.9 + - Moved option functions to snapscan-options.c + - Autodetect USB scanners on Linux + - Better error reporting + +2002-03-21 Henning Meier-Geinitz + + * doc/backend-writing.txt: Updated concerning splitted .desc + directories. + * doc/Makefile.in: Updated install-mostang concerning splitted HTML + pages. + * configure configure.in README: Use only shared libraries by default. + Fixed file patterns for distclean targets. + * doc/Makefile.in: Remove backup etc. files also in subdirs when + using make distclean. + * backend/pnm.c doc/descriptions/pnm.desc: Don't allow to set options + that don't have SANE_CAP_SOFT_SELECT and don't allow read and write + for options that are inactive. New version: 1.0.5. + +2002-03-20 Henning Meier-Geinitz + + * sanei_wire.c: Set allocated memory to 0 to avoid delivering + garbage to the frontend. + * backend/mustek.c backend/mustek.desc backend/mustek.h + doc/mustek/mustek.CHANGES: Fixed halftone pattern handling. The + buffer was way too small. Option 0 has an empty name. Better debug + output for dev_cmd. Set size for group options to 0. Set size of + halftone pattern to non 0. + * backend/mustek_usb.c backend/mustek_usb.desc + doc/mustek_usb/mustek_usb.CHANGES: Option 0 has an empty name now. + Group options have size 0 now. Check also for SANE_ACTION_SET_AUTO. + Removed buggy output in sane_control_option. Added more debug output + in sane_control_option. + * backend/net.c backend/net.desc backend/net.h: Use copies of option + descriptors to make sure their addresses aren't changed until + sane_close. New version: 1.0.7. + * doc/descriptions/abaton.desc doc/descriptions/agfafocus.desc + doc/descriptions/apple.desc doc/descriptions/artec.desc + doc/descriptions/as6e.desc doc/descriptions/avision.desc + doc/descriptions/bh.desc doc/descriptions/canon.desc + doc/descriptions/coolscan.desc doc/descriptions/dc210.desc + doc/descriptions/dc240.desc doc/descriptions/dc25.desc + doc/descriptions/dll.desc doc/descriptions/dmc.desc + doc/descriptions/epson.desc doc/descriptions/gphoto2.desc + doc/descriptions/hp.desc doc/descriptions/m3096g.desc + doc/descriptions/matsushita.desc doc/descriptions/microtek2.desc + doc/descriptions/microtek.desc doc/descriptions/mustek.desc + doc/descriptions/mustek_pp.desc doc/descriptions/mustek_usb.desc + doc/descriptions/nec.desc doc/descriptions/net.desc + doc/descriptions/pie.desc doc/descriptions/pint.desc + doc/descriptions/plustek.desc doc/descriptions/pnm.desc + doc/descriptions/qcam.desc doc/descriptions/ricoh.desc + doc/descriptions/s9036.desc doc/descriptions/sceptre.desc + doc/descriptions/sharp.desc doc/descriptions/sm3600.desc + doc/descriptions/snapscan.desc doc/descriptions/sp15c.desc + doc/descriptions/st400.desc doc/descriptions/tamarack.desc + doc/descriptions/template.desc. doc/descriptions/umax1220u.desc + doc/descriptions/umax.desc doc/descriptions/umax_pp.desc + doc/descriptions/v4l.desc: + Moved descriptions of included backends from backend/*.desc. + * doc/descriptions-external/canon_pp.desc + doc/descriptions-external/coolscan2.desc + doc/descriptions-external/hp4200.desc + doc/descriptions-external/hpoj.desc + doc/descriptions-external/ibm.desc + doc/descriptions-external/lhii.desc + doc/descriptions-external/m3091.desc + doc/descriptions-external/niash.desc + doc/descriptions-external/teco.desc + doc/descriptions-external/v4l2.desc + doc/descriptions-external/template.desc.: + Moved descriptions of external backends from backend/*.desc. + * doc/Makefile.in: Updated for separated lists of backends. + * tools/Makefile.in tools/sane-desc.el.in tools/sane-desc-ext.el: + Updated for separated lists of backends. Use package version in + internal list. Don't use version and man page in external list. + * tools/sane-desc.el: Removed. + * configure configure.in: Added tools/sane-desc.el to output files. + * backend/Makefile.in: Updated DISTFILES. + * backend/*.desc backend/template.desc.: Removed (now in doc/). + * tools/.cvsignore: Added sane-desc.el. + +2002-03-19 Frank Zago + + * matsushita backend: updates and fixes. + * sceptre backend: updates and fixes. + +2002-03-19 Henning Meier-Geinitz + + * TODO: Marked backends that really should be included. Clearified + comment about sane-backends.html. Added comment about sort order + this list. Add comment about better linking of external libs. + +2002-03-17 Henning Meier-Geinitz + + * backend/hpoj.desc: New file (from David Paschal ). + * backend/mustek_usb.c backend/mustek_usb.desc backend/mustek_usb.h + backend/mustek_usb_high.c backend/mustek_usb_high.h + backend/mustek_usb_low.c backend/mustek_usb_low.h + backend/mustek_usb_mid.c doc/mustek_usb/mustek_usb.CHANGES: Fixed + segfault when opening device again after closing and possible + segfault when name="". Type for option 0 must be set to + SANE_TYPE_INT explicitely. Updated GPL/SANE headers. + * TODO: Added entry about auto-loading SCSI drivers. Removed entry + about new SANE types. Moved entry about config.guess to + doc/releases.txt. Added more info about libtool problems. + * doc/releases.txt: Added info about config.guess and config.sub. + * config.guess config.sub: Updated from upstream. + +2002-03-17 Peter Fales + + * backend/gphoto2.c - Minor bug fixes for problems found by tstbackend + +2002-03-16 Gerhard Jaeger + + * backend/plustek.[ch]: fixed a bug, that causes segfaulting the backend + when using the USB autodetection stuff + +2002-03-15 Stéphane Voltz + + * backend/umax_pp_low.c: fixed 1200 dpi mode + * backend/umax_pp: changes for translations support + * po/Makefile.in po/umax_pp.fr.po: create french translations for + umax_pp backend + +2002-03-12 Frank Zago + + * PROJECTS backend/teco.desc: new project + +2002-03-11 Henning Meier-Geinitz + + * README: Some more information on where to find the config files and + a hint to make a backup. + * doc/sane.man: Updated mustek_usb and plustek backend entries. Added + FILES section. Minor fixes and updates. + +2002-03-10 Frank Zago + + * PROJECTS: removed matsushita project. + * backend/sceptre.desc backend/matsushita.desc: updated the backend + url. + +2002-03-10 Abel Deuring + * configure.in, configure: Added a second test for + HAVE_SG_TARGET_STATUS: check /usr/src/linux/include/scsi/sg.h; + added conditionals so that this test is done only for Linux + +2002-03-10 Gerhard Jaeger + + * doc/sane-plustek.man: Update + * backend/plustek-usbhw.c backend/plustek-usbimg.c backend/plustek-usbio.c + backend/plustek-usbmap.c backend/plustek-usbscan.c + backend/plustek-usbshading.c backend/plustek.c backend/plustek-devs.c + backend/plustek-pp.c backend/plustek.usb + backend/plustek.h backend/plustek-share.h backend/plustek-usb.h: + Added custom gamma tables, added patches to support EPSON1250, + UMAX3400 and HP2100C devices, added warmup and timed lamp-off features, + minor bug-fixes + * backend/plustek.desc: Added Umax entry + * backend/plustek.conf: Update + +2002-03-10 Abel Deuring + * configure.in, configure, include/sanei/config.h.in, + sanei/sanei_scsi.c: Added HAVE_SG_TARGET_STATUS for compatibility + with old Linux sg.h versions + +2002-03-10 Gerhard Jaeger + + * po/plustek.de.po: Update + * po/plustek.es.po, po/saneopts.es.po: Added spanish translation + thanks to Gustavo D. Vranjes + +2002-03-10 Stéphane Voltz + + * backend/umax_pp_low.c: fast and adaptative scanner probe function. + Improved CCD calibration. + * tools/umax_pp.c: revision change + +2002-03-08 Oliver Rauch + + * backend/Makfile.in: added missing depenencies for + new umax backends + +2002-03-08 Henning Meier-Geinitz + + * doc/sane.tex: Added "multi-function peripheral" to list of types in + SANE standard. + +2002-03-07 Henning Meier-Geinitz + + * include/sane/config.h.in: Fix comment for HAVE_USB_H. + * TODO: Added entry about md5/getopt license issues. + +2002-03-07 Abel Deuring + * sanei/sanei_scsi.c: fixed a typo (Sg_scsi_id -> SG_scsi_id) + +2002-03-07 Oliver Rauch + + * updated umax backend to version 1.0.7-build-33 + new file: umax-usb.c (by Frank Zago) + +2002-03-06 Frank Zago + + * po/Makefile,in doc/sane.man doc/Makefile.in backend/matsushita.desc + backend/dll.conf backend/Makefile.in sane-backends.lsm AUTHORS + po/matsushita.fr.po doc/matsushita/matsushita.txt + doc/matsushita/matsushita10_trc.txt + doc/matsushita/matsushita11_trc.txt + doc/matsushita/matsushita12_trc.txt + doc/matsushita/matsushita13_trc.txt + doc/matsushita/matsushita14_trc.txt + doc/matsushita/matsushita1_trc.txt + doc/matsushita/matsushita2_trc.txt + doc/matsushita/matsushita3_trc.txt + doc/matsushita/matsushita4_trc.txt + doc/matsushita/matsushita5_trc.txt + doc/matsushita/matsushita6_trc.txt + doc/matsushita/matsushita7_trc.txt + doc/matsushita/matsushita8_trc.txt + doc/matsushita/matsushita9_trc.txt doc/sane-matsushita.man + backend/matsushita.h backend/matsushita.conf + backend/matsushita.c: Addition of the Matsushita / Panasonic backend + * doc/.cvsignore: added sane-matsushita.5 + +2002-03-03 Frank Zago + + * doc/.cvsignore: added sane-sceptre.5 + +2002-03-03 Frank Zago + + * doc/sane-sceptre.5: removed (auto-generated) + +2002-03-03 Frank Zago + + * doc/sceptre/s1200.txt: doc updates + * backend/sceptre.desc: increased version + * backend/sceptre.c backend/sceptre.h: fixed a gamma table bug, + fixed some color shifting problems, some cleanups. + * doc/sceptre.man: doc updates + +2002-02-24 Henning Meier-Geinitz + + * backend/Makefile.in: Removed getopt.o getopt1.o and md5.o from + LIBLIB_FUNCS as they are not needed in backends. + +2002-02-22 Henning Meier-Geinitz + + * PROJECTS: Added matsushita backend. + * backend/matsushita.desc: New file. Description for the matsushita + backend. + +2002-02-21 Henning Meier-Geinitz + + * backend/Makefile.in backend/dll.conf backend/sceptre.c + backend/sceptre.conf backend/sceptre.desc backend/sceptre.h: + Added sceptre backend for the Sceptre VividScan 1200 (patch from + Frank Zago ). + * doc/Makefile.in doc/sane-sceptre.5 doc/sane-sceptre.man doc/sane.man + doc/sceptre/preview_trace.txt doc/sceptre/s1200.txt + doc/sceptre/scan_trace.txt: Added documentation for sceptre backend + (patch from Frank Zago ). + * po/Makefile.in po/sceptre.fr.po: Added french translation for + sceptre backend (patch from Frank Zago ). + * AUTHORS PROJECTS sane-backends.lsm: Updated concerning sceptre + backend (patch from Frank Zago ). + +2002-02-20 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp.c: corrected few bugs + due to changing default model to 'none'. + * tools/umax_pp.c: fixed compile problem + +2002-02-19 Henning Meier-Geinitz + + * lib/inet_pton.c: Use u_int32_t instead of in in_addr_t which isn't + defined at least for OS/2. + * TODO: Added entry about DBG warnings. + * doc/sane.tex: Added some vendors (Abaton, Acer, Apple, Avision, + CANON, Fujitsu, IBM, NEC, Nikon, Plustek, Polaroid, Ricoh, Sharp, + Siemens, Tamarack) and device types (film scanner, sheetfed scanner) + to the SANE standard. Updated date. + * doc/Makefile.in: Remove sanei-html in make distclean. + * PROJECTS: Added Acer ScanWit 2720S. + * backend/template.desc.: Added explanation for backend version, fixed + typo. + +2002-02-16 Abel Deuring : + * frontend/scanimage.c / part for the "-f" command line option: + replaced the vprintf call with a loop of printf calls; fixed + a "too stingy" malloc + +2002-02-16 Peter Fales + + * backend/dc240.c - Fix mismatches between format and + parameters in debug statements + +2002-02-15 Henning Meier-Geinitz + + * include/sane/sanei.h include/sane/sanei_ab306.h + include/sane/sanei_auth.h include/sane/sanei_backend.h + include/sane/sanei_codec_ascii.h include/sane/sanei_codec_bin.h + include/sane/sanei_config.h include/sane/sanei_debug.h + include/sane/sanei_lm983x.h include/sane/sanei_thread.h + include/sane/sanei_usb.h: Added, fixed and updated documentation + for sanei using doxygen. + * doc/.cvsignore: Added sanei-html. + * TODO: Updated entry about missing sanei documentation. Removed + entry about make distclean issues. + +2002-02-15 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.h + backend/umax_pp_mid.c backend/umax_pp.c backend/umax_pp.h + backend/umax_pp.conf: added ppdev character device name passing + from conf file. Allow model overide from conf option. DBG macros + clean-up. Fixed color inversion for 1660P models. Fixed potential + crash when custom dump files could not be opened for writing. + * doc/sane-umax_pp.man: updates to match backned new parameter and + behaviour + * tools/umax_pp.c: added device name argument + +2002-02-14 Jochen Eisinger + + * sanei/sanei_auth.h: remove strange line-ending handling code + +2002-02-14 Henning Meier-Geinitz + + * configure configure.in include/sane/config.h.in lib/Makefile.in + lib/inet_pton.c: Added wrapper for inet_pton(). If this function + is not available, try first inet_aton() and then inet_addr(). + * frontend/saned.c: Use inet_pton() instead of inet_aton() to avoid + compilation errors on e.g. OS/2. + * include/Sane/sanei_debug.h: Added warnings for format problems + in DBG messages (from Frank Zago ). + * include/sane/sanei.h sanei/Makefile.in sanei/load_values.c + sanei/save_values.c: Removed load_values and save_values as they + are only used in sane_frontends. + * backend/mustek.c backend/mustek_usb_low.c backend/mustek_usb_high.c + backend/net.c doc/mustek/mustek.CHANGES + doc/mustek_usb/mustek_usb.CHANGES sanei/sanei_usb.c: Fixed some + DBG format warnings. + * lib/inet_ntop.c: Only use inet_ntoa if it's available. + +2002-02-13 Peter Fales + + * configure, acinclude.m4, aclocal.m4 - Another tweak to the + allowed gphoto2 version numbers + +2002-02-13 Henning Meier-Geinitz + + * configure configure.in Makefile.in backend/Makefile.in + doc/Makefile.in frontend/Makefile.in include/Makefile.in + japi/Makefile.in lib/Makefile.in sanei/Makefile.in + tools/Makefile.in testsuite/Makefile.in po/Makefile.in: Added global + list of file patterns for "make distclean". Some "make clean" + and "make distclean" cleanup and additions. + +2002-02-12 Henning Meier-Geinitz + + * tools/sane-config.in: Avoid printing "-I/usr/include" as this + changes the default include order (from Tim Waugh + ). Really check for entries in $cflags that + are also in $includedir. + * frontend/saned.c: DNS queries for remote hosts are only done if + necessary. It's now possible to use "+" without hosts/DNS entries + for the connecting host. + * TODO: Removed entries for config.h, OpenBSD shared libs, and -ansi + on HP-UX. Updated device type entry. + +2002-02-10 Henning Meier-Geinitz + + * configure configure.in: Link to functions in lib/ only + if they are not available on the system. Use AC_PROG_LIBTOOL + instead of the deprecated AM_PROG_LIBTOOL. + * backend/Makefile.in lib/Makefile.in: Link to functions in lib/ only + if they are not available on the system. Avoid duplicating list of + functions. + * sanei/sanei_usb.c: If get_vendor_product fails, don't try again for + every device file. + +2002-02-10 Oliver Schwartz + + * po/Makefile.in: Added snapscan.de.po to DISTFILES + +2002-02-09 Abel Deuring : + * sanei/sanei_scsi.c: Added checks to the Linux part of + sanei_scsi_open_extended, if an SG device file is being + opened + +2002-02-09 Oliver Schwartz + + * po/Makefile.in po/snapscan.de.po backend/snapscan.c: + Added language translation support for snapscan backend, + added german translations. + +2002-02-09 Henning Meier-Geinitz + + * po/Makefile.in po/saneopts.fr.po po/umax.fr.po: Added french + translation (from Frank Zago ). + +2002-02-08 Henning Meier-Geinitz + + * PROJECTS: Added info about HP Scanjet 5S. + * lib/inet_ntop.c: Removed OS/2 kludge: it's not necessary. + +2002-02-05 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp_low.h backend/umax_pp_mid.h + backend/umax_pp_mid.c backend/umax_pp.c backend/umax_pp.h: + tuned down duration of pauses in scanner ringing. Indent'ing all + files. Include header files according to HAVE_XXX_H defines in + config.h . + * tools/umax_pp.c: updated version and added printing of config + options + +2002-02-05 Henning Meier-Geinitz + + * configure configure.in: Version is 1.0.7-cvs. Enable warnings by + default. Don't use "-ansi" for HPUX. + * sanei/sanei_thread.c: Make sure that waitpid returns something + usefull on OS/2. Avoids the "Unknown SANE status code 128" errors. + +Older entries can be found in ChangeLog-1.0.7. diff --git a/ChangeLogs/ChangeLog-1.0.9 b/ChangeLogs/ChangeLog-1.0.9 new file mode 100644 index 0000000..636a482 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.9 @@ -0,0 +1,1148 @@ +****** Release of sane-backends 1.0.9. End of code freeze ****** + +2002-10-23 Henning Meier-Geinitz + + * doc/descriptions-external/gt68xx.conf: Updated status of scanners. + * doc/doxygen.conf: Increased version to 1.0.9. + * configure configure.in: New version: 1.0.9. Disabled compilation + warnings. + +2002-10-23 Stéphane Voltz + + * backend/umax_pp_low.c: added O_NONBLOCK to flags when opening ppdev + character device, to get around hangs with 2.4.19 linux kernels in + pure EPP mode. + +2002-10-20 Henning Meier-Geinitz + + * README.linux: Added comment about DEC cc on Linux Alpha. + +2002-10-19 Peter Fales + + * backend/dc25.c - Moved use of UNUSEDARG macro to fix + compilation failure on OS/X + +2002-10-19 Henning Meier-Geinitz + + * doc/descriptions-external/tevion9693usb.desc: Added Trust + Easy Webscan 19200. + +---- CODE FREEZE FOR SANE 1.0.9 --- +-- snapshot 1.0.9-pre2 + +2002-10-17 Henning Meier-Geinitz + + * backend/dll.conf: Added commented out entries for hpoj and gt68xx. + * NEWS: Updated release date and backend list. + * TODO: Added scanimage short string-list options problem. + +2002-10-17 Gerhard Jaeger + + * backend/plustek.c: removed internationalization stuff + * backend/plustek-usb.c: removed obsolete definitions + * backend/plustek-usbhw.c: fixed typos + * backend/plustek-usnshading.c: fixed bug that produces + files > 700M in debug mode. Added some debug output. + +2002-10-16 Oliver Rauch + + * backend/umax.c, umax-scanner.c: added Power Look 2000 + as supported device, build 38 + +2002-10-15 Gerhard Jaeger + + * doc/sane-plustek.man: Major update + * doc/descriptions/plustek.desc: Added EPSON 1260 entry + * backend/plustek.conf updated options + * backend/plustek.c backend/plustek-devs.c backend/plustek-usb.c + backend/plustek-usbhw.c backend/plustek-pp.c + backend/plustek-usbmap.c backend/plustek-usbimg.c + backend/plustek-usbscan.c backend/plustek-usbshading.c + backend/plustek.h backend/plustek-share.h backend/plustek-usb.h + Bug fixes and workarounds + +2002-10-15 Henning Meier-Geinitz + + * doc/sane.tex: Backend behaviour is undefined if sane_init + doesn't return SANE_STATUS_GOOD. Added SANE_STATUS_INVAL to + return codes for sane_start. Description of sane_set_io_mode is + more precise. + * sanei/sanei_usb.c: Really check for bulk_out ep when writing. + * TODO: Added microtek2 problem. Updated sane.tex and desc sections. + Added scanimage width/height problem. Added possible solution to po + file mess. + * doc/Makefile.in doc/sane-config.man: Added man page for sane-config. + * doc/.cvsignore: Added sane-config.1. + +2002-10-15 Peter Kirchgessner + + * backend/hp.conf: Added comment for USB-scanner + +2002-10-14 Peter Fales + + * backend/dc240.h,backend/dc240.c: Use portable code for camera + structures that does not depend on gcc or little-endian byte order + +2002-10-14 Oliver Schwartz + + * backend/snapscan.h backend/snapscan.c backend/snapscan.conf + doc/descriptions/snapscan.desc: SnapScan backend 1.4.17 - + added ID string for SnapScan e10, added Mitsubishi Diamandview + 648UT in desc file. + +2002-10-11 Peter Fales + + * backend/dc240.h - Add message to #error as required by ANSI + +2002-10-11 Henning Meier-Geinitz + + * backend/mustek.c doc/mustek/mustek.CHANGES: Fixed shutting off + the lamp for the Paragon 1200 A3 Pro. + * doc/descriptions/mustek.desc: Updated version number and A3 Pro + information. + +2002-10-10 Petter Reinholdtsen + + * backend/canon630u-common.c: Change type of size parameter from + 'unsigned int' to 'size_t' for gl640WriteBulk() and + gl640ReadBulk() to avoid crash on platforms where + 'sizeof(size_t) > sizeof(int)'. + + * backend/coolscan.c: Remove semicolon at the end of functions. + +2002-10-09 Frank Zago + + * backend/teco1.c backend/teco1.conf doc/descriptions/teco1.desc: + Added entry for AVEC color 2412. + +2002-10-09 Henning Meier-Geinitz + + * doc/descriptions/microtek2.desc: Added per-scanner status (from + Karsten Festag ). + +2002-10-09 Stéphane Voltz + + * backend/umax_pp.c: disable scanner protocol debug facility + +2002-10-08 Karl Heinz Kremer + + * backend/epson.c: force color channel re-order for GT-2200 scanner + +2002-10-08 Stéphane Voltz + + * backend/umax_pp.c: use macros from saneopts.h to fix translations + problems + +2002-10-08 Gerhard Jaeger + + * po/plustek.de.po: Cleanup + +2002-10-08 Henning Meier-Geinitz + + * doc/saned.man doc/sane-net.man: Removed comment about saned port not + officially assigned. + * po/plustek.de.po po/umax_pp.fr.po: Fixed double msgids. + +2002-10-05 Karl Heinz Kremer + + * backend/epson.c: Fixed problem with incorrect response to + sane_get_parameters() in certain situations. + +2002-10-04 Jochen Eisinger + + * doc/descriptions/mustek_pp.desc: add :status tags to each + scanner + +2002-10-04 Gerhard Jaeger + + * backend/plustek.conf fixed option enableTPA + * po/plustek.de.po po/plustek.es.po removed "Negative" + * backend/plustek.c backend/plustek-devs.c backend/plustek-usb.c + backend/plustek-usbhw.c backend/plustek-usbimg.c + backend/plustek-usbmap.c backend/plustek-usbscan.c + backend/plustek-usbshading.c + Minor bug fixes + +2002-10-04 Karl Heinz Kremer + + * doc/sane-epson.man: Added quotes around halftoning options. + +2002-10-02 Henning Meier-Geinitz + + * TODO: Updated list of backends scheduled for inclusion. Updated + v4l bug list. Added entry about vendor/product ids for .desc. + Removed TL_X > BR_X (->TODO), dll ltdl rewrite, wait return + value (->TODO), sane.tex comment about 1 bit color mode, + sane-plustek.man issue. + +2002-10-02 Stéphane Voltz + + * tools/umax_pp.c: changed version and added handling of 4 digits + port address + * po/umax_pp.de.po: removed redundant entry + * backend/umax_pp.conf: comment fixings + * backend/umax_pp_low.c backend/umax_pp.c: added handling of ppdev + ioctl return code, allow 4 digits port number + +2002-10-02 Matto Marjanovic + + * doc/descriptions/microtek.desc: Updated version number. + * backend/microtek.c: + Fixed bug in sane_read() [had failed to set return length to zero + in non-STATUS_GOOD conditions]. + Fixed bug in sane_set_io_mode() [had returned SANE_STATUS_UNSUPPORTED + if blocking mode was requested]. + Bumped version up to 0.13.1. + +2002-10-01 Henning Meier-Geinitz + + * doc/descriptions-external/gt68xx.desc: Added new scanners. Updated + status of supported scanners. + * doc/sane.tex: Added explanation of bit order for 1 bit modes. Added + comment about 1 bit color modes. Fixed missing \code command. New + version: 1.03. + * doc/backend-writing.txt: Added paragraph about checking geometry + (from TODO). + +2002-09-30 Peter Fales + + * configure, acinclude.m4, aclocal.m4 - Update the + allowed gphoto2 version numbers + +2002-09-30 Oliver Rauch + + * doc/descriptions/umax.desc: removed remark that Astra 2200U via USB + only works on linux (because need of USB control messages) + +2002-09-30 Matthew Duggan + * backend/canon_pp.c backend/canon_pp-dev.c backend/canon_pp-dev.h: + Finally fixed cancelling, which I broke some time ago in the quest + for speed. FB620P still doesn't abort nicely (firmware bug?). + * doc/sane-canon_pp.man: Added notes on FB620P problems. + * doc/descriptions/canon_pp.desc: Bumped version number. + +2002-09-30 Henning Meier-Geinitz + + * backend/test.c backend/test-picture.c doc/descriptions/test.desc: + Fixed bytes_per_line in 1 bit mode. Fixed 1 bit color three-pass + mode (grid). Changed bit order for 1 bit color to most significant + bit is first pixel. + +2002-09-29 Peter Fales + + * backend/dc25.[ch]: Fix compiler warnings, and correct + errors found by tstbackend. + +---- FEATURE FREEZE FOR SANE 1.0.9 --- +-- snapshot 1.0.9-pre1 + +2002-09-29 Henning Meier-Geinitz + + * doc/descriptions/mustek_usb.desc: Added "ScanExpress" for all models + to avoid confusion with BearPaw models. + * Makefile.in: Added ChangeLog-1.0.6 ChangeLog-1.0.7 ChangeLog-1.0.8 + to DISTFILES. + +2002-09-29 Karl Heinz Kremer + + * doc/sane-epson.man: Updated information, cleanup + * doc/descriptions/epson.desc: Added 1660 and 2400 models + +2002-09-28 Oliver Rauch + + * backend/umax.c: + update to build 37 + +2002-09-28 Gerhard Jaeger + + * sanei/sanei_lm983x.c: cleanup in reset function + * doc/descriptions/plustek.desc: Update according to the new + entry definitions + * doc/sane-plustek.man: Fixed format and updated info + * backend/plustek.c backend/plustek-devs.c backend/plustek-pp.c + backend/plustek-share.h backend/plustek-usb.c backend/plustek-usb.h + backend/plustek-usbhw.c backend/plustek-usbimg.c + backend/plustek-usbmap.c backend/plustek-usbscan.c + backend/plustek-usbshading.c backend/plustek.conf: + Major update to support CIS based devices + Added register dump and raw picturue/calibration data dump + Added support for Canon N650U and N670U (currently 8-bit color mode only) + +2002-09-28 Andras Major + + * backends/coolscan2.c doc/descriptions/coolscan2.desc + doc/sane-coolscan2.man: update to 0.1.8 + +2002-09-26 Henning Meier-Geinitz + + * config.sub config.guess: Updated to current versions. + * doc/releases.txt: Added paragraph about the different freeze types + and a timetable. + +2002-09-26 Oliver Schwartz + + * doc/snapscan.desc backend/snapscan.c backend/snapscan.h + backend/snapscan.conf backend/snapscan-scsi.c: + SnapScan backend 1.4.16 (added support for Acer/Benq 5000) + +2002-09-24 Peter Fales + + * backend/dc25.c: Backend returning too much data for image size + +2002-09-24 Henning Meier-Geinitz + + * doc/descriptions-external/tevion9693usb.desc: Added MD9693, updated + Artec E+ 48U (from Michael Herder ). + +2002-09-23 Henning Meier-Geinitz + + * doc/descriptions/fujitsu.desc: Changed status to beta and added + URLs. + * doc/descriptions-external/gt68xx.desc: Added some untested scanners. + Updated Mustek entries. + * TODO: Removed hpsj5s .desc file problem. + +2002-09-22 Peter Fales + + * doc/sane-dc25.man, backend/dc25.c, backend/dc25.h, + backend/gphoto2.c, backend/gphoto2.h, backend/dc240.c, + backend/dc240.h: Update authors email address + +2002-09-19 Frank Zago + + * backend/leo.c backend/leo.conf doc/sane-leo.man + doc/descriptions/leo.desc: added support for the leoscan S3. + * backend/teco2.c backend/teco2.h: added some stuff. + +2002-09-18 Henning Meier-Geinitz + + * doc/descriptions/hpsj5s.desc: Used "Hewlett-Packard" instead + of "HP". + +2002-09-17 Henning Meier-Geinitz + + * doc/descriptions-external/gt68xx.desc: Updated Mustek + information. Added Plustek OpticPro 1248U. + * backend/mustek.c: Fixed version number. + * NEWS: Updated backend list. + +2002-09-17 Oliver Schirrmeister + * backend/fujitsu.c fujitsu.h fujitsu-scsi.h: + added m3092 support + * doc/descriptions/fujitsu doc/sane-fujitsu + added description + +2002-09-17 Matthew Duggan + * backend/canon_pp.c backend/canon_pp.h backend/canon_pp.conf: + Added init_mode option to conf file for faster starts. + * doc/sane-canon_pp.man : Added description of init_mode option. + +2002-09-16 Matthew Duggan + * backend/canon_pp-dev.c backend/canon_pp-dev.h backend/canon_pp-io.c + backend/canon_pp-io.h backend/canon_pp.c backend/canon_pp.h: + Fix init problem, add changes to facilitate configurable wakeup mode + (for faster starts on FB320P and FB620P). + * doc/sane-canon_pp.man doc/descriptions/canon_pp.desc: Updates + regarding FB310P and FB610P (rebadged Avisions) + +2002-09-16 Henning Meier-Geinitz + + * backend/.cvsignore frontend/.cvsignore tools/.cvsignore: Added .libs. + Patch from Sylvain Petreolle . + * TODO: Added gt68xx project and viceo.desc entry. + * PROJECTS doc/descriptions-external/gt68xx.desc: Added gt68xx + information. + +2002-09-15 Karl Heinz Kremer + + * doc/sane-epson.man: Fixed typo (PIP->PIO) + +2002-09-15 Henning Meier-Geinitz + + * tools/sane-find-scanner.c: Format of output for devices + supported by libusb and scanner module is the same now. Minor + output fixes. + * doc/sane-find-scanner.man: Updated -v description. + * doc/sane-usb.man: Added info about "unable to access minor data" + messages. + +2002-09-13 Oliver Rauch + + * backend/umax-scanner.c, backend/umax.conf + doc/descriptions/umax.desc: + added Linotype Hell SAPHIR3 as supported scanner + +2002-09-12 Henning Meier-Geinitz + + * README.beos Makefile.in doc/Makefile.in: Added BeOS platform + information. Updated Makefiles concerning READMEs. + +2002-09-11 Oliver Rauch + + * doc/descriptions/umax.desc: corrected some urls + +2002-09-11 Henning Meier-Geinitz + + * doc/descriptions/canon630u.desc: Added fb636u as unsupported. + Added status information. + * frontend/scanimage.c: Added option --dont-scan. Resorted usage + output. + * doc/scanimage.man: Reordered options. Added info about ICC profiles, + gamma4scanimage, and --dont-scan option. Fixed example. + * doc/gamma4scanimage.man: Formatting updates. Added default values. + Minor fixes. + * TODO: Updated backend list. Added comments for additions to sane.tex. + Updated .desc file bug list. Removed scanimage entries. Added + plustek man page issue. + +2002-09-10 Peter Kirchgessner + + * doc/sane-hp.man: Added hints about special USB device names + +2002-09-07 Frank Zago + + * backend/teco1.c backend/teco1.h teco1.desc: added threshold + option + +2002-09-07 Oliver Rauch + + * backend/umax.c, umax.h, umax-scanner.c, umax.conf + doc/descriptions/umax.desc + Update to sane-umax build 36 + +2002-09-07 Matthew Duggan + + * backend/canon_pp-dev.c backend/canon_pp-dev.h: + Changes to improve calibration quality on FB620P. + +2002-09-06 Frank Zago + + * README.aix: added mention of the AIX 5.1 version of the passthru + driver. + +2002-09-06 Henning Meier-Geinitz + + * tools/sane-config.in: Removed "function" keyword (bourne shell + compatibility). + +2002-09-03 Abel Deuring + * sanei/sanei_scci.c doc/sanei-scsi.man: + default timeout for SCSI commmands is now 120 seconds; added + the environment variable SANE_SCSICMD_TIMEOUT to override + the default value. + +2002-09-01 Matthew Duggan + + * doc/sane-canon_pp.man doc/descriptions/canon_pp.desc: + Added FB320P to supported scanners after report of successful test. + Added FB310P and FB610P to desc as specifically not supported yet. + +2002-09-01 Karl Henz Kremer + + * backend/epson_scsi.c: Fixed alloca compile problem. + +2002-09-01 Karl Henz Kremer + + * backend/epson.[ch] backend/epson_scsi.[ch] backend/epson_usb.[ch] + backend/Makefile.in: USB scanners are now using sanei_usb_ functions, + split out SCSI related functions to their own source/header file, + added source/header file for USB interface + +2002-09-01 Henning Meier-Geinitz + + * TODO: Updated desc and SANE standard sections. Removed ptal entry. + * doc/Makefile.in: Make sure that sane-desc is compiled when generating + HTML pages. Fixed typo. + * doc/sane-usb.man: Minor updates and fixes. + +2002-09-01 Peter Kirchgessner + + * configure.in, doc/sane-hp.man, doc/descriptions/hp.desc + applied patch by David Paschal to remove PTAL-support from hp-backend + +2002-09-01 Matthew Duggan + + * backend/canon_pp.c backend/canon_pp-dev.c backend/canon_pp-dev.h + backend/canon_pp-io.c: Support for FB620P. + * doc/sane-canon_pp.man doc/descriptions/canon_pp.desc: Added notes + on support of FB620P + +2002-08-31 Frank Zago + + * PROJECTS AUTHORS TODO NEWS backend/dll.conf backend/Makefile.in + backend/teco2.conf backend/teco2.c backend/teco2.h + doc/.cvsignore doc/sane.man doc/Makefile.in doc/sane-teco2.man + doc/teco/teco2.txt doc/descriptions-external/teco2.desc + doc/descriptions/teco2.desc: added teco2 backend. + +2002-08-30 Frank Zago + + * backend/teco1.c backend/teco1.h backend/teco1.conf + doc/descriptions/teco1.desc doc/teco/teco1.txt + doc/sane-teco1.man: Added support for another museum piece, the + Dextra DF-600P, a rebadged VM3510. + +2002-08-30 Rene Rebe + + * backend/avision.h backend/avision.c backend/avision.conf + doc/sane-avision.man descriptions/avision.desc: latest avision + backend + +2002-08-29 Henning Meier-Geinitz + + * backend/v4l.c backend/v4l.h doc/descriptions/v4l.desc: + Big clean up of Video for Linux backend. Removed old unused + stuff from qcam and others including unused options and variables + concerning direct port access. Removed wcam license (no + "substantial portions of code" are used any more). Removed + unuesed headers. Made lots of global variables local. Lots + of checks for null pointer dereferences and errors when opening + files or using ioctl/mmap. Added option to select grey or color + mode. Added support for different channels. Fixed lots of options. + Made sure ioctls are only used when necessary. + Used vendor == "Noname". Added ??? comments for suspicious code. + Lots of minor fixes and cleanup. Added version number: 1.0-2. + * backend/v4l-grab.h: Deleted (unused). + * backend/Makefile.in: Removed v4l-grab.h. + * AUTHORS: Added myself as active maintainer of v4l. + * doc/sane-v4l.man: Added warning about ALPHA software and bugs. + Minor updates. + * doc/descriptions/bh.desc doc/descriptions/canon630u.desc + doc/descriptions/dmc.desc doc/descriptions/sm3600.desc + doc/descriptions/umax1220u.desc: Minor fixes and updates for the new + .desc file format. + * TODO: Updated .desc and v4l section. Added entries for scanimage. + * NEWS: First draft for 1.0.9. + +2002-08-18 Oliver Rauch + + * frontend/scanimage.c, frontend/stiff.h, frontend/stiff.c: + Added option "-i filename"/"--icc-profile filename": + When image is saved in tiff format then this icc-profile is + added to the tiff file as tiff tag + +2002-08-25 Henning Meier-Geinitz + + * tools/Makefile.in: Fixed gamma4scanimage target for OS/2. + * backend/v4l.c: Fixed device list. Added more verbose error output. + Unified DBG messages. Fixed depth option. Reordered options in + init_options to reflect real order. Added some markers (/* ??? */) + for suspicious code. Used GNU indent style. + * backend/v4l.h backend/v4l-frequencies.h backend/v4l-grab.h: Used GNU + indent style. + +2002-08-22 Frank Zago + + * backend/ricoh.c backend/ricoh.h backend/apple.c + backend/agfafocus.c backend/abaton.c + sanei/sanei_pv8630.c: Fixed some warnings. + +2002-08-22 Frank Zago + + * doc/sane-teco1.man: Added Dextra scanner to the list of + untested, but potentialy supported, scanners. + * doc/teco/teco1.txt: Added RELI 4830 inquiry string. + * doc/descriptions/teco3.desc: Increased version number. + * backend/: teco3.c, teco3.h: Added threshold option for black & + white. + * doc/descriptions/teco1.desc: Added 3 new (untested) scanners. + * backend/teco1.conf: Fixed the scsi inquiry string for the + VM4542. + * backend/teco1.c backend/teco1.h: Enlarged the gamma table for + the VM4542 (1024 entries as opposed to 256 for the previous + scanners). + +2002-08-22 Andras Major + + * backend/coolscan2.c doc/descriptions/coolscan2.desc + doc/sane-coolscan2.man: updated to 0.1.7. + +2002-08-21 Henning Meier-Geinitz + + * doc/.cvsignore: Added gamma4scanimage.1 + +2002-08-20 Henning Meier-Geinitz + + * PROJECTS: Added Hewlett-Packard ScanJet 4470C project. + * tools/.cvsignore: Added gamma4scanimage. + * tools/MAkefile.in: Added gamma4scanimage.c to DISTFILES. + +2002-08-18 Oliver Rauch + * tools/gamma4scanimage.c: Bugfix (atof->atoi) + * tools/README: added gamma4scanimage + * doc/Makefile.in: added manpage for gamma4scanimage + * doc/gamma4scanimage.man: added manpage for gamma4scanimage + +2002-08-17 Karl Heinz Kremer + + * backend/epson.[ch]: Fixed typo in variable name. Fixed IEEE-1394 + problem with Perfection-2450. Fixed problem with older B3 level + SCSI scanners that do not support the extended status request. + +2002-08-17 Oliver Rauch + * tools/gamma4scanimage.c: NEW: tool to create gamma table for scanimage + * tools/Makefile.in: changed file to compile and install gamma4scanimage + +2002-08-16 Gerhard Jaeger + + * doc/descriptions/plustek.desc: Update according to the new + entry definitions + * po/saneopts.es.po: More complete spanish translation + (Thanks to Gustavo Vranjes) + * backend/plustek.c backend/plustek-devs.c backend/plustek-pp.c + backend/plustek-share.h backend/plustek-usb.c backend/plustek-usb.h + backend/plustek-usbhw.c backend/plustek-usbimg.c + backend/plustek-usbmap.c backend/plustek-usbscan.c + backend/plustek-usbshading.c backend/plustek.conf: + Major update to support better control of all LM983x based devices + HP2200C, Mustek Bearpaw 1200 and 2400 are now working correctly + +2002-08-15 Peter Fales + + * configure, acinclude.m4, aclocal.m4 - Another tweak to the + allowed gphoto2 version numbers + +2002-08-15 Stéphane Voltz + + * tools/umax_pp.c: upped version number + * backend/umax_pp_low.c backend/umax_pp.c: corrected ppdev usage, + minor option fix + +2002-08-14 Henning Meier-Geinitz + + * AUTHORS: Made Ulrich Deiters the active maintainer of the canon + backend. + * TODO: Updated concerning HP backend and manufacturer names. + +2002-08-07 Matthew Duggan + + * backend/canon_pp.c backend/canon_pp-dev.c backend/caon_pp-io.c + backend/canon_pp-dev.h: Many changes: Bug fixes, less memory leaks + (none left now?), more reliable, faster. Biggest changes are + speculative reads (ask scanner to read more while data processing + occurs) and more reliable sending of commands. Slight performance + increase over previous version. + * doc/sane-canon_pp.man: Added discussion noting that scanning + greyscale in green is bad for colour. + +2002-08-07 Peter Kirchgessner + + * backend/hp.h: Add missing structure member got_connect_type + +2002-08-06 Peter Kirchgessner + + * doc/descriptions/hp.desc: Use Hewlett-Packard instead of HP + +2002-08-01 Matthew Duggan + + * backend/canon_pp-dev.c: Misc bug fixes for fast machines, more + useful debug messages, more reliable file reads/writes. + +2002-07_31 Peter Kirchgessner + + * backend/hp.c, backend/hp-scl.c: hp-backend V0.96 + Check device names to prevent USB-devices to be opened as SCSI. + +2002-07-30 Henning Meier-Geinitz + + * po/Makefile.in: Use awk to filter out duplicate .po file headers. + * po/umax_pp.de.po po/umax_pp.fr.po: Avoided including duplicate + msgids. Made sure that header is not marked fuzzy. + * Makefile.in doc/Makefile.in japi/Makefile.in tools/Makefile.in: + Minor DISTFILES and distclean updates. + * backend/mustek.c doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: Fixed some warnings. + * TODO: Removed entries about "echo -e" and po problems. + +2002-07-28 Henning Meier-Geinitz + + * tools/sane-config.in: Avoid using "echo -e" for compatibility + reasons. + +2002-07-27 Henning Meier-Geinitz + + * sanei/sanei_usb.c: Made libusb_timeout static. + * TODO: Updated .desc entries. Removed entry about scanimage i18n + support. + +2002-07-25 Matthew Duggan + + * backend/canon_pp.c: Now always uses as much scanner buffer as + possible, then feeds data to frontend. Results in large speed + increase in ECP mode. Also fixed problems with saned compatibility. + * backend/canon_pp.h: Added bytes_sent to scanner data structure. + * doc/sane-canon_pp.man: Discuss hardware problems at high + resolutions. + +2002-07-25 Frank Zago + + * doc/sane.man doc/teco/teco3.txt doc/.cvsignore + doc/sane-teco3.man doc/Makefile.in + doc/descriptions-external/teco3.desc doc/descriptions/teco3.desc + backend/teco3.c backend/teco3.h backend/teco3.conf + backend/Makefile.in sane-backends/TODO sane-backends/AUTHORS + backend/dll.conf: teco3 integration + * sane-backends/Makefile.in: added an etags rule to create an + emacs tag file + * doc/backend-writing.txt: Enlarged the "SUBMITTING A NEW BACKEND" + section. + + +2002-07-25 Matthew Duggan + + * backend/canon_pp.c: Now uses mm instead of pixel measurements, better + behaved in xsane etc as a result. + * backend/canon_pp.h: Tweaked up max buffer size to size avaialable in + hardware. + * doc/descriptions/canon_pp.desc: increment version no. + +2002-07-24 Frank Zago + + * doc/backend-writing.txt: Added a SUBMITTING CHECKLIST section. + +2002-07-24 Henning Meier-Geinitz + + * frontend/stiff.c: Fixed 16 bit tiff output. + * backend/test.c backend/test.conf backend/test.h + backend/test-picture.c doc/descriptions/test.desc doc/sane-test.man: + Added option invert-endianess to test 16 bit modes. + +2002-07-24 Kazuya Fukuda + + * doc/descriptions/nec.desc: + Remove unsupported scanner and update url. + +2002-07-24 Matthew Duggan + + * src/canon_pp-io.c: Minor bugfix checking return of read + +2002-07-23 Henning Meier-Geinitz + + * TODO: Updated desc file entries. Removed entries about microtek + fprintf issue and fujitsu mem leak. + +2002-07-23 Simon Munton + * backend/pie.c: added consistency check for TL_X < BR_X and + TL_Y < BR_Y + +2002-07-23 Peter Fales + + * doc/descriptions/gphoto2.desc: Comment out :interface line + +2002-07-23 Stéphane Voltz + + * doc/descriptions/umax_pp.desc: tagged 610P as unsupported + +2002-07-22 Frank Zago + + * TODO: scheduled teco2 and teco3 backends for 1.0.9 + +2002-07-22 Matto Marjanovic + + * doc/descriptions/microtek.desc: + Updated (status keywords, mostly). + * backend/microtek.c: + * backend/microtek.h: + Replaced fprintf()/printf() with various DBG() statements. + Removed #include ! + Eliminated a few "unused parameter" compiler warnings. + Updated the copyright date. + Bumped version up to lucky 0.13.0 + +2002-07-23 Matthew Duggan + + * doc/sane-canon_pp.man: Added N640Pex to the man page too.. + +2002-07-22 Chris Pinkham + + * doc/descriptions/artec.desc: Changed status of AT6 model to alpha. + Deleted entries for USB & parallel port scanners which are + unsupported. + +2002-07-23 Matthew Duggan + + * doc/descriptions/canon_pp.desc: Added "N640P ex" model to supported + scanners after report of successful test. Also, "EPP" really should + have been "ECP". + +2002-07-22 Henning Meier-Geinitz + + * frontend/scanimage.c: Fail if there are arguments without a preceding + option on the command line. Fixed indenting. + * TODO: Updated concerning .desc files. Added comment about USB + problems on *BSD. + +2002-07-21 Henning Meier-Geinitz + + * doc/descriptions/template.desc. + doc/descriptions-external/template.desc.: Updated and added more + examples. + +2002-07-19 Oliver Rauch + + * doc/descriptions/umax.desc: added per scanner status + +2002-07-17 Henning Meier-Geinitz + + * tools/sane-desc.c: Models are sorted alphanumerically now. Added + support for priorities if one model is mentioned by two backends. + Don't print tables when no suitable backend was found. + More comments. Fixed some warnings. Code cleanup. + * doc/Makefile.in: Added support for sane-desc.c. + * doc/backend-writing.txt: Updated concerning sane-desc.c. + * backend/mustek_usb.c backend/mustek_usb_high.h + backend/mustek_usb_low.c doc/descriptions/mustek_usb.desc + doc/mustek_usb/mustek_usb.CHANGES: Added manufacturer comment in + mustek_usb.desc. Changed brightness to threshold. Fixed some + warnings. Really check the status in usb_low_open. + * sanei/sanei_usb.c: Check if file is already closed. + +2013-07-15 Frank Zago + + * doc/descriptions/leo.desc doc/descriptions/sceptre.desc + doc/descriptions/teco1.desc doc/descriptions/matsushita.desc: + added new per backend status, added more scanners. + +2002-07-15 Henning Meier-Geinitz + + * README.darwin: New file. Added some basic information for + Darwin (Mac OS X) users. + * Makefile.in: Added the new README files to DISTFILES. + * tools/sane-find-scanner.c: Print USB descriptors (libusb) in + -v -v mode. Print vendor and product names (when available). + Rewrote libusb heuristics. + * backend/Makefile.in: Removed deleted files from DISFILES. + +2002-07-14 Henning Meier-Geinitz + + * include/sane/sanei_usb.h: Made buffer const SANE_Byte * in + sanei_usb_bulk_write(). Try to call usb_find_busses only once. + Make sure that already opened devices aren't opened again. Exit + libusb scan loop if one device is found. Make error values + more expressive. Check for missing config descriptors before + using them to avoid segfaults. + * README.openbsd: Updated concerning USB scanners. + * README.openbsd README.netbsd: New files. Added some information + about SCSI and USB problems. + * tools/sane-find-scanner.c: Made verbosity option more flexible and + added quiet option. In quiet mode, print only the devices we have + found. Don't check USB devices with SCSI functions and vice versa if + option force is not given. Don't do the libusb scan if an explicit + device name was given. + * doc/sane-usb.man: Updated supported platforms list. Minor wording + improvements. + * doc/sane-find-scanner.man: Documentation for the new options. + Splitted USB and SCSI parts. + * doc/descriptions/hpsj5s.desc: Added missing space in ":new :yes" + line. + * TODO: Added entry about desc files. Removed entries about + sane-backends.html, sanei_usb.c libusb support, and the OS/2 + strncasecmp problem. Updated entries about checking device file + types and OS X in sanei_scsi.c. + +2002-07-13 Simon Munton + * doc/descriptions/pie.desc: removed unsupported scanner types, + use :status :untested for untested models, added AdLib scanners + that are supported + +2002-07-13 Oliver Schwartz + + * backend/snapscan.c backend/snapscan.h + backend/snapscan-options.c backend/snapscan-usb.c + backend/snapscan-scsi.c backend/snapscan.conf: + Snapscan backend version 1.4.15 + - Improve support for Acer / Benq 5300 + - use usb_sanei_read_bulk() and usb_sanei_write_bulk() + - correct scan area for e52 with TPO + * doc/description/snapscan.desc: + - Adapted file to new syntax + - Mark most scanners as "stable" + +2002-07-12 Henning Meier-Geinitz + + * tools/sane-desc.c: Added backends mode with splitted tables. + Fixed HTML colors. Spelling and other minor fixes. + * doc/descriptions-external/hp4200.desc + doc/descriptions-external/hpoj.desc + doc/descriptions-external/ibm.desc + doc/descriptions-external/lhii.desc + doc/descriptions-external/niash.desc + doc/descriptions-external/teco2.desc + doc/descriptions-external/teco3.desc + doc/descriptions-external/tevion9693usb.desc + doc/descriptions-external/v4l2.desc: Minor fixes for the new + sane-desc.c. Commented out version numbers and manpages. Added + :status :untested if the comment suggests this. Fixed double + and bad device types. + * tools/sane-find-scanner.c: Added support for libusb. Made comments + better readable and positioned after the output of the devices. + Shorter output to fit into 80 chars. + +2002-07-08 Karl Heinz Kremer + * doc/descriptions/epson.desc: fixed typo in URL + added :status lines to the scanner entries + +2002-07-09 Abel Deuring + * doc/descriptions/sharp.desc: Added ":status" lines + to the scanner entries + +2002-07-08 Henning Meier-Geinitz + + * doc/descriptions/sp15c.desc: Added missing slash in URL. + * doc/descriptions/fujitsu.desc: Changed status to :beta. Added + some URLs. + * frontend/Makefile.in: Use LIBS = @LIBS@ to make sure that + -lsyslog and -lsocket are linked for OS/2. + * doc/descriptions/abaton.desc: Added :status :untested for + Scan 300/S. + * doc/descriptions/agfafocus.desc: Added status and comments (from + the manpage). + * doc/descriptions/ricoh.desc: Removed unused version and comment + tokens. + * doc/descriptions/s9036.desc: Changed :devicetype to :scanner. + I guess :vidcam is not appropriate for a flatbed scanner :-) + * doc/descriptions/net.desc doc/descriptions/test.desc: No bugs for + quite some time, changed status to stable (knocking on wood). + Updated comments. + * doc/descriptions.txt doc/descriptions/template.desc. + doc/descriptions-external/template.desc.: Updated concerning + model status. + * tools/sane-desc.c: Added support for :status :unsupported. + +2002-07-07 Henning Meier-Geinitz + + * tools/sane-desc.c: Added status per model. Added quicklist for + manufacturers. All manufacturer URLs are printed now. Code cleanup. + Added status column for non-hardware devices. Fixed legends. Minor + output fixes. + * backend/mustek.c doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: Increased width and height of Paragon + 800 and 600. + * doc/descriptions/mustek_usb.desc: Changed status to stable + (knocking on wood...). Added more Mustek URLs, fixed the existing + one. Added per-model status. Added "compatible" comments. + * doc/descriptions/mustek.desc: Fixed Mustek URL. Added Trust comment + about similar names. Added comments about compatible scanners. + Fixed Primax URL. + * doc/descriptions/sp15c.desc: Fixed manpage link. Use "Fujitsu" + consistently. Updated manufacturer links. + +2002-07-06 Henning Meier-Geinitz + + * tools/sane-desc.c: Added
after backend name. Colors can be + changed by macros now. Centered entries. Code cleanup. Manufacturer + page split up into seperate tables. Added links and comment display + on the top of each table. Manufacturers are case-insensitive. + OS/2 fix. + * configure: Regenerated from configure.in. + * doc/sane-usb.man: Mentioned control messages, usbfs, and more + methods for permission adjustment. + * configure configure.in include/sane/config.h.in: Added define + for strcasecmp on OS/2. + +2002-07-06 Max Vorobiev + + * backend/hpsj5s.c: Rewrote to depend on libieee1284. + * backend/hpsj5s.h: Added register description defines + * backend/hpsj5s.conf: Default config setted for parport0 + * backend/hpsj5s_int.h: Removed. All important stuff moved to hpsj5s.h + * backend/Makefile.in: hpsj5s backend build depend on libieee1284 present + * doc/hpsj5s.man: Comments about libieee1284 added + * configure.in: hpsj5s backend will be compiled if libieee1284 detected + +2002-07-05 Henning Meier-Geinitz + + * tools/.cvsignore tools/Makefile.in rools/README tools/sane-desc.c: + Added new file sane-desc.c. sane-desc is inended as an replacement + for the Emacs Lisp file sane-desc.el. It can generate ASCI and HTML + lists from the backends' .desc files. + * doc/sane.man: Added security to the list of topics that can be + reported to me. + * doc/descripions/template.desc. + doc/descriptions-external/template.desc.: Updated concerning ":new". + +2002-07-03 Henning Meier-Geinitz + + * configure configure.in include/sane/config.h.in: Added HAVE_LIBUSB + #define. Check for usb_get_busses to make sure, we have at least + version 0.1.6. Added OS/2 substitution for strncasecmp. + * include/sane/sanei_usb.h sanei/sanei_usb.c: Added support for libusb. + * README.netbsd: Removed. Shared libraries are supported since 1.0.8. + * README.openbsd: Updated for libusb. + * README: Added section about libraries like libiee1284 and libusb. + * doc/doxygen-sanei.conf: Updated version number. + * include/sane/sanei_usb.h sanei/sanei_usb.c: Used dn (device number) + instead of fd (file descriptor) to avoid confusion. Updated doxygen + documentation. + * doc/sane-usb.man: Updated concerning libusb. Added tips for access + via the kernel scanner drivers. + +2002-06-29 Matthew Duggan + + * backend/canon_pp.c: Workaround for ppdev bug on <= Linux 2.4.19rc1. + * backend/canon_pp-io.c: Fixed reading on hardware with small buffers. + * doc/descriptions/canon_pp.desc: Status changed from new to alpha. + +2002-06-28 Henning Meier-Geinitz + + * tools/sane-find-scanner.c: For HP-UX, check the complete + /dev/rscsi/ directory for SCSI sscanners, not only the device + files for the first two host adapters. + * TODO: Added entries about sanei_usb/ibusb, config.h/OS/2, echo -e + in shell scrips, and japi. Updated dll entry. Removed entry about + sane-find-scanner. + +2002-06-27 Henning Meier-Geinitz + + * doc/sane-fujitsu.man doc/sane-tamarack.man: Added newline at + the end to keep Solaris' sed happy. + * sanei/sanei_scsi.c: Set buffer size to 64 kB for + SOLARIS_USCSI_INTERFACE (reported by Ed Randall + ). + +2002-06-25 Henning Meier-Geinitz + + * tools/sane-find-scanner.c: Added support for scanning whole + directories for SCSI and USB device files. Moved SCSI and USB + detection routines to their own functions. Renamed functions + related to SCSI for clarity. Fixed indentation. + +2002-06-21 Max Vorobiev + + * backend/hpsj5s.c: added fcntl.h include directive. + +2002-06-15 Andras Major + + * doc/sane-coolscan2.man: corrected stupid mistake. + +2002-06-14 Andras Major + + * backend/coolscan2.c doc/sane-coolscan2.man + doc/descriptions/coolscan2.desc: updated to 0.1.6. + +2002-06-11 Henning Meier-Geinitz q + + * README.solaris: Added comment about SCSI-only support. + * doc/sane-usb.man: Updated list of backends that use sanei_usb. + Fixed some minor spelling issues. Really used decimal numbers + in example. + +2002-06-09 Henning Meier-Geinitz + + * doc/descriptions.txt: New file. Specification of the format of + backend description files (*.desc). + * configure configure.in: Added some sanity checks. Configure + now stops if one of the essential headers isn't found. + * backend/dll.conf: Added entry for test backend (commented out). + * doc/backend-writing.txt: Mentioned descriptions.txt. + * bachend/test.c backend/test.conf backend/test.h + backend/test-picture.c doc/descriptions/test.desc doc/sane-test.man: + Added support for lineart mode with pixels_per_line not divisible by + 8. Added support for padded image formats. Added documentation for + all options. + +2002-06-07 Henning Meier-Geinitz + + * backend/mustek.c doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: Fixed problem for Paragon 6000SP (color + and gray modes produced solid black images). Minor cleanups. + New version: 1.0-125. + * config.guess config.sub: Updated to latest versions (from + ftp://ftp.gnu.org/pub/gnu/config/). + * configure configure.in: Print CPPFLAGS, CFLAGS, LDFLAGS and LIBS + for easier debugging. Moved AC_SUBST to the variable definitions + they belong to. + +2002-06-05 Abel Deuring + * doc/descriptions/sharp.desc: added "interface" parameter + +2002-06-05 Stéphane Voltz + + * backend/umax_pp.c: reverted a change in color reordering for 1600P + * po/Makefile.in po/umax_pp.de.po: added german translation courtesy + of Heiko Schaefer + + +2002-06-04 Rene Rebe + + * backend/avision.c backend/avision.h backend/avision.conf: next + backend version. Should work for the HP 5300 and HP 5370 now. + Serveral other minor fixes. + +2002-06-04 Stéphane Voltz + + * backend/umax_pp_low.c: relaxed scanner detection not to fail on + some parports. + +2002-06-02 Henning Meier-Geinitz + + * configure configure.in backend/Makefile.in: Added option + --disable-local-backends to configure. Only net and dll will be + compiled if set. Also a warning is printed. + * TODO: Removed entries about config.h.in macros and disabling local + backends. + +2002-06-01 Henning Meier-Geinitz + + * backend/pnm.c-bad: Removed because it was out-of-date and buggy. + The features of this modified pnm backend are now in test.c. + +2002-05-30 Oliver Rauch + + * corrected wrong version number in umax.desc + +2002-05-30 Stéphane Voltz + + * backend/umax_pp_mid.c backend/umax_pp.c: software lineart for real + this time. + +2002-05-30 Henning Meier-Geinitz + + * doc/saned.man: Added explicit path to tcpd example. + * sanei/sanei_usb.c: Explicitely initialize vendorID and productID. + * sanei/sanei_config.c sanei/sanei_config2.c: Fixed possible segfault. + +2002-05-30 Stéphane Voltz + + * backend/umax_pp_low.c backend/umax_pp.c: fixed 1600P detection, + IRIX compile fixes, final bits of software lineart + +2002-05-29 Henning Meier-Geinitz + + * AUTHORS backend/Makefile.in backend/dll.conf backend/hpsj5s.c + backend/hpsj5s.conf backend/hpsj5s.h backend/hpsj5s_int.h + doc/sane-hpsj5s.man doc/descriptions/hpsj5s.desc doc/.cvsignore + doc/Makefile.in doc/sane.man: Added hpsj5s backend for the + Hewlett-Packard ScanJet 5S parport scanner (from Max Vorobiev + ). + * PROJECTS: Removed hpsj5s. + +2002-05-29 Frank Zago + + * configure.in: Added test for long long. Fixed declaration for + HAVE_ASM_IO_H + * configure include/sane/config.h.in: regenerated + * frontend/tstbackend: add test for long long. + +2002-05-28 Frank Zago + + * po/matsushita.fr.po po/saneopts.fr.po po/sceptre.fr.po + po/teco1.fr.po po/umax.fr.po backend/leo.c backend/leo.h + backend/matsushita.c backend/matsushita.h backend/sceptre.c + backend/sceptre.h backend/teco1.c backend/teco1.h + frontend/tstbackend.c: new email address. + +2002-05-28 Henning Meier-Geinitz + + * configure configure.in: Warnings enabled by default. + * sanei/sanei_scsi.c: Fixed request-sense handling for OpenStep + (from Oliver Schirrmeister ). + * backend/mustek.c doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: Set X minimum value to 0 for Paragon + 6000SP. + +2002-05-27 Oliver Rauch + + * configure.in/configure: V_EXTRA=-cvs + +Older entries can be found in ChangeLog-1.0.8. diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 2099840..0000000 --- a/INSTALL +++ /dev/null @@ -1,370 +0,0 @@ -Installation Instructions -************************* - -Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, -Inc. - - Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. - -Basic Installation -================== - - Briefly, the shell command `./configure && make && make install' -should configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for -instructions specific to this package. Some packages provide this -`INSTALL' file but do not implement all of the features documented -below. The lack of an optional feature in a given package is not -necessarily a bug. More recommendations for GNU packages can be found -in *note Makefile Conventions: (standards)Makefile Conventions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. Caching is -disabled by default to prevent problems with accidental use of stale -cache files. - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You need `configure.ac' if -you want to change it or regenerate `configure' using a newer version -of `autoconf'. - - The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. - - Running `configure' might take a while. While running, it prints - some messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package, generally using the just-built uninstalled binaries. - - 4. Type `make install' to install the programs and any data files and - documentation. When installing into a prefix owned by root, it is - recommended that the package be configured and built as a regular - user, and only the `make install' phase executed with root - privileges. - - 5. Optionally, type `make installcheck' to repeat any self-tests, but - this time using the binaries in their final installed location. - This target does not install anything. Running this target as a - regular user, particularly if the prior `make install' required - root privileges, verifies that the installation completed - correctly. - - 6. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - - 7. Often, you can also type `make uninstall' to remove the installed - files again. In practice, not all packages have tested that - uninstallation works correctly, even though it is required by the - GNU Coding Standards. - - 8. Some packages, particularly those that use Automake, provide `make - distcheck', which can by used by developers to test that all other - targets like `make install' and `make uninstall' work correctly. - This target is generally not run by end users. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. This -is known as a "VPATH" build. - - With a non-GNU `make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use `make distclean' before -reconfiguring for another architecture. - - On MacOS X 10.5 and later systems, you can create libraries and -executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple `-arch' options to the -compiler but only a single `-arch' option to the preprocessor. Like -this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you -may have to build one architecture at a time and combine the results -using the `lipo' tool if you have problems. - -Installation Names -================== - - By default, `make install' installs the package's commands under -`/usr/local/bin', include files under `/usr/local/include', etc. You -can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX', where PREFIX must be an -absolute file name. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option `--exec-prefix=PREFIX' to `configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the -default for these options is expressed in terms of `${prefix}', so that -specifying just `--prefix' will affect all of the other directory -specifications that were not explicitly provided. - - The most portable way to affect installation locations is to pass the -correct locations to `configure'; however, many packages provide one or -both of the following shortcuts of passing variable assignments to the -`make install' command line to change installation locations without -having to reconfigure or recompile. - - The first method involves providing an override variable for each -affected directory. For example, `make install -prefix=/alternate/directory' will choose an alternate location for all -directory configuration variables that were expressed in terms of -`${prefix}'. Any directories that were specified during `configure', -but not in terms of `${prefix}', must each be overridden at install -time for the entire installation to be relocated. The approach of -makefile variable overrides for each directory variable is required by -the GNU Coding Standards, and ideally causes no recompilation. -However, some platforms have known limitations with the semantics of -shared libraries that end up requiring recompilation when using this -method, particularly noticeable in packages that use GNU Libtool. - - The second method involves providing the `DESTDIR' variable. For -example, `make install DESTDIR=/alternate/directory' will prepend -`/alternate/directory' before all installation names. The approach of -`DESTDIR' overrides is not required by the GNU Coding Standards, and -does not work on platforms that have drive letters. On the other hand, -it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of `${prefix}' -at `configure' time. - -Optional Features -================= - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - - Some packages offer the ability to configure how verbose the -execution of `make' will be. For these packages, running `./configure ---enable-silent-rules' sets the default to minimal output, which can be -overridden with `make V=1'; while running `./configure ---disable-silent-rules' sets the default to verbose, which can be -overridden with `make V=0'. - -Particular systems -================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU -CC is not installed, it is recommended to use the following options in -order to use an ANSI C compiler: - - ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" - -and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - HP-UX `make' updates targets which have the same time stamps as -their prerequisites, which makes it generally unusable when shipped -generated files such as `configure' are involved. Use GNU `make' -instead. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its `' header file. The option `-nodtk' can be used as -a workaround. If GNU CC is not installed, it is therefore recommended -to try - - ./configure CC="cc" - -and if that doesn't work, try - - ./configure CC="cc -nodtk" - - On Solaris, don't put `/usr/ucb' early in your `PATH'. This -directory contains several dysfunctional programs; working variants of -these programs are available in `/usr/bin'. So, if you need `/usr/ucb' -in your `PATH', put it _after_ `/usr/bin'. - - On Haiku, software installed for all users goes in `/boot/common', -not `/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS - KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option `--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf limitation. Until the limitation is lifted, you can use -this workaround: - - CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of all of the options to `configure', and exit. - -`--help=short' -`--help=recursive' - Print a summary of the options unique to this package's - `configure', and exit. The `short' variant lists options used - only in the top level, while the `recursive' variant lists options - also present in any nested packages. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--prefix=DIR' - Use DIR as the installation prefix. *note Installation Names:: - for more details, including other options available for fine-tuning - the installation locations. - -`--no-create' -`-n' - Run the configure checks, but stop before creating any output - files. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. diff --git a/INSTALL.linux b/INSTALL.linux new file mode 100644 index 0000000..a851852 --- /dev/null +++ b/INSTALL.linux @@ -0,0 +1,153 @@ +Installation Instructions +************************* + +1. Quick install: +================= + +$ ./autogen.sh # only if you just cloned the git repository +$ ./configure +$ make +$ make install + + +2. Step by step install on Linux >=2.6, with udev: +================================================== + +2.1. Install with your preferred package manager: + (a) the development environment for your Linux distibution + - mandatory: gcc, make, kernel header files, autoconf, autoconf-archive + - optional: git + (b) missing development packages + - libusb-dev or libusb-devel or libusb-compat-devel + - libjpeg-dev or libjpeg8-dev or libjpeg-turbo-devel or turbojpeg-devel + - libpng-dev or similar + +2.2. Get the latest SANE backend from git: + You can download "daily git snapshot" from here: + + http://www.sane-project.org/snapshots/ + + If you prefer to use git, you can fetch a read-only copy of the git tree + with this command: + + $ git clone https://gitlab.com/sane-project/backends.git + + If you already are using a self compiled SANE backend and just fetched a + new copy of the git tree or if you patched some source files, there is no + need to follow the installation procedure again. You only need to make and + install libsane: + + $ make && sudo make install + +2.3. Configure, make and install latest SANE backend: + We install a new SANE dynamically linked shared object library in + /usr/local/lib beside your system's SANE library. + + $ ./autogen.sh # only if you just cloned the git repository + $ ./configure + $ make && sudo make install + + If you want to change some settings for your SANE installation, please + read the documentation on the website, the man pages and: + + $ ./configure --help + + Maybe you don't want to compile all scanners on your system, then you can + select the backends you need, e.g. epson2 and fujitsu: + + $ ./configure BACKENDS="epson2 fujitsu" + + You can search for your scanners backend names here: + + http://sane-project.org/lists/sane-backends-cvs.html + +2.3.1. SANE library: + Register new installed SANE dynamically linked shared object library. + + $ sudo ldconfig -v | grep libsane + libsane.so.1 -> libsane.so.1.0.25 + libsane.so.1 -> libsane.so.1.0.23 + + This example shows that the system first find version 1.0.25 and then + 1.0.23. This is the correct order. + + If your system first find the old version and then the new installed one, + then you must change the order for library paths in /etc/ld.so.conf or you + must create the new configuration file /etc/ld.so.conf.d/1-sane.conf. + + $ echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf.d/1-sane.conf + + Then you must repeat this step. + +2.3.2. Localization file: + + $ cd /usr/share/locale//LC_MESSAGES + $ sudo ln -sf /usr/local/share/locale//LC_MESSAGES/sane-backends.mo . + $ cd - + +2.3.3. udev rules file: + + $ sudo cp tools/udev/libsane.rules /etc/udev/rules.d + + Reconnect your scanner to the USB bus to activate the new rules file. + +2.3.4. Use the scanner with normal user rights: + + Your user must be a member of the group scanner. + + $ cat /etc/group | grep scanner + scanner:x:107: + + Create a new group scanner, if it doesn't exist. + + $ sudo addgroup scanner + + Add an existing user to group scanner. + + $ sudo adduser scanner + + After this you must logoff and login again. + +2.4. Test your scanner: + +2.4.1. Check the used backend version: + + The programs must use the installed SANE backend version, e.g. 1.0.25. + + $ scanimage -V + scanimage (sane-backends) 1.0.25git; backend version 1.0.25 + + This example shows that backend and scanimage are version 1.0.25. + + $ /usr/bin/scanimage -V + scanimage (sane-backends) 1.0.23; backend version 1.0.25 + + This example shows that an old scanimage (1.0.23) uses the backend 1.0.25. + + If you want to use xsane, start xsane and check the used version with + CTRL - i. + +2.4.2. Access scanner with normal user rights: + + $ scanimage -L + + If your scanner isn't recognised here, try this: + + $ sudo scanimage -L + + If this works, your user doesn't have the rights to access the scanner. + + However, please check and redo the installation described above. + If this doesn't help, you can ask the mailing list + for further support. + +2.4.3. Testscan: + + $ cd ~ + $ scanimage > test.pnm + + +3. Advanced Installation Information +==================================== + + Please read the documents INSTALL, README and README.linux. diff --git a/Makefile.am b/Makefile.am index ae02ee3..54d0f27 100644 --- a/Makefile.am +++ b/Makefile.am @@ -12,7 +12,9 @@ dist_doc_DATA = AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS \ README.hp-ux README.linux README.netbsd README.openbsd README.os2 \ README.solaris README.unixware2 README.unixware7 README.windows \ README.zeta -EXTRA_DIST = $(PACKAGE).lsm + +EXTRA_DIST = .editorconfig +EXTRA_DIST += po/README # # Keep the .gitignore files sorted, and use this target to do it. @@ -68,24 +70,13 @@ libcheck: installcheck-local: cd testsuite && $(MAKE) test.local -$(distdir).lsm: dist $(PACKAGE).lsm - ( cat $(PACKAGE).lsm | \ - sed -e "s|_DATE_|`date +%d%b%y`|g" |\ - sed -e "s|_VERSION_|$(VERSION)|g" | \ - sed -e "s|_T_S_|`find $(distdir).tar.gz -printf "%4k"`|g" |\ - sed -e "s|_L_S_|`find $(PACKAGE).lsm -printf "%4k"`|g" >\ - $(distdir).lsm \ - ) -lsm: $(distdir).lsm - md5: dist md5sum $(distdir).tar.gz > $(distdir).tar.gz.md5 -sane-backends: lsm md5 +sane-backends: md5 # Clean files created by custom targets in this file. clean-local: - rm -f sane-backends-*.lsm rm -f $(distdir).tar.gz.md5 # Clean files created by configure @@ -94,3 +85,6 @@ distclean-local: rm -f include/byteorder.h ACLOCAL_AMFLAGS = -I m4 + +# Make potential issues stick out when running `make distcheck`. +DISTCHECK_CONFIGURE_FLAGS = --enable-silent-rules diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 204f510..0000000 --- a/Makefile.in +++ /dev/null @@ -1,1023 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = . -DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \ - $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/configure $(am__configure_deps) \ - $(top_srcdir)/include/sane/config.h.in mkinstalldirs ABOUT-NLS \ - $(dist_doc_DATA) COPYING ar-lib compile config.guess \ - config.rpath config.sub depcomp install-sh missing ltmain.sh -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/sane/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(docdir)" -DATA = $(dist_doc_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -DIST_TARGETS = dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_CPPFLAGS = @AM_CPPFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AVAHI_CFLAGS = @AVAHI_CFLAGS@ -AVAHI_LIBS = @AVAHI_LIBS@ -AWK = @AWK@ -BACKENDS = @BACKENDS@ -BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ -BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLH = @DLH@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVIPS = @DVIPS@ -DYNAMIC_FLAG = @DYNAMIC_FLAG@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FIG2DEV = @FIG2DEV@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ -GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ -GPHOTO2_LIBS = @GPHOTO2_LIBS@ -GREP = @GREP@ -GS = @GS@ -HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -JPEG_LIBS = @JPEG_LIBS@ -LATEX = @LATEX@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOCKPATH_GROUP = @LOCKPATH_GROUP@ -LTALLOCA = @LTALLOCA@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINDEX = @MAKEINDEX@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_LIBS = @PNG_LIBS@ -POSUB = @POSUB@ -PPMTOGIF = @PPMTOGIF@ -PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ -PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RESMGR_LIBS = @RESMGR_LIBS@ -SANEI_SANEI_JPEG_LO = @SANEI_SANEI_JPEG_LO@ -SANE_CONFIG_PATH = @SANE_CONFIG_PATH@ -SCSI_LIBS = @SCSI_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SNMP_CFLAGS = @SNMP_CFLAGS@ -SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ -SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ -STRICT_LDFLAGS = @STRICT_LDFLAGS@ -STRIP = @STRIP@ -SYSLOG_LIBS = @SYSLOG_LIBS@ -SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ -SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_CFLAGS = @USB_CFLAGS@ -USB_LIBS = @USB_LIBS@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -configdir = @configdir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -effective_target = @effective_target@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -locksanedir = @locksanedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = include lib sanei backend frontend tools doc po testsuite -DIST_SUBDIRS = include lib sanei backend frontend tools doc po japi testsuite -dist_doc_DATA = AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS \ - README README.aix README.beos README.darwin README.djpeg README.freebsd \ - README.hp-ux README.linux README.netbsd README.openbsd README.os2 \ - README.solaris README.unixware2 README.unixware7 README.windows \ - README.zeta - -EXTRA_DIST = $(PACKAGE).lsm - -# -# Keep the .gitignore files sorted, and use this target to do it. -# Note that git's negated ignore patterns introduce order dependency -# and should therefor be sorted with much more care than we do here. -# Until that has been taken care of, such files are best left alone. -# -PERL = perl -ACLOCAL_AMFLAGS = -I m4 -all: all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -include/sane/config.h: include/sane/stamp-h1 - @test -f $@ || rm -f include/sane/stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) include/sane/stamp-h1 - -include/sane/stamp-h1: $(top_srcdir)/include/sane/config.h.in $(top_builddir)/config.status - @rm -f include/sane/stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status include/sane/config.h -$(top_srcdir)/include/sane/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f include/sane/stamp-h1 - touch $@ - -distclean-hdr: - -rm -f include/sane/config.h include/sane/stamp-h1 - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt -install-dist_docDATA: $(dist_doc_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ - done - -uninstall-dist_docDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(docdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-hdr \ - distclean-libtool distclean-local distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-dist_docDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: installcheck-local - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-dist_docDATA - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - clean-libtool clean-local cscope cscopelist-am ctags ctags-am \ - dist dist-all dist-bzip2 dist-gzip dist-lzip dist-shar \ - dist-tarZ dist-xz dist-zip distcheck distclean \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-local distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-dist_docDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installcheck-local installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am uninstall-dist_docDATA - -sort-gitignore: - for f in `find . -name .gitignore`; do \ - if test -n "`sed -n '/^\!/p' $$f`"; then \ - echo "$$f: skipping file with negated pattern" >&2; \ - fi; \ - $(PERL) -e 'print sort <>;' < $$f > $$f.tmptmp; \ - mv $$f.tmptmp $$f; \ - done - -# -# Check to make sure only sane_ and sanei_ symbols are exported from -# the libraries -# -libcheck: - @echo "Libraries exporting 'illegal' symbols:" - @for lib in backend/.libs/*.so backend/.libs/*.a; do \ - lines=`nm -g $$lib|grep '\( T \)\|\( D \)'|egrep -v ' _fini| _init'|egrep -v ' sane_| sanei_'`; \ - if test -n "$$lines" ; then \ - echo -e "*** $$lib:\n$$lines"; \ - found_errors="yes"; \ - fi \ - done; \ - echo; \ - echo "Libraries exporting 'non-standard sane_*' symbols:"; \ - for lib in backend/.libs/*.so backend/.libs/*.a; do \ - lines=`nm -g $$lib|grep '\( T \)\|\( D \)'|egrep ' sane_' | egrep -v 'sane_.*init|sane_.*exit|sane_.*get_devices|sane_.*open|sane_.*close|sane_.*get_option_descriptor|sane_.*control_option|sane_.*get_parameters|sane_.*start|sane_.*read|sane_.*cancel|sane_.*set_io_mode|sane_.*get_select_fd|sane_strstatus'` ; \ - if test -n "$$lines" ; then \ - echo -e "*** $$lib:\n$$lines"; \ - found_errors="yes"; \ - fi \ - done; - if test ! -z $$found_errors ; then \ - exit 1; \ - fi - -# Verify that backends do not contain any unwanted public symbols -# anytime check or distcheck is ran. -# TODO: Currently this doesn't pass. Uncomment once symbols have -# been cleaned up. -#check-am: libcheck - -# Run testsuite any time installcheck or distcheck is ran. -# Must run testsuite after install or else shared library backends -# will not be found (including test backend). -installcheck-local: - cd testsuite && $(MAKE) test.local - -$(distdir).lsm: dist $(PACKAGE).lsm - ( cat $(PACKAGE).lsm | \ - sed -e "s|_DATE_|`date +%d%b%y`|g" |\ - sed -e "s|_VERSION_|$(VERSION)|g" | \ - sed -e "s|_T_S_|`find $(distdir).tar.gz -printf "%4k"`|g" |\ - sed -e "s|_L_S_|`find $(PACKAGE).lsm -printf "%4k"`|g" >\ - $(distdir).lsm \ - ) -lsm: $(distdir).lsm - -md5: dist - md5sum $(distdir).tar.gz > $(distdir).tar.gz.md5 - -sane-backends: lsm md5 - -# Clean files created by custom targets in this file. -clean-local: - rm -f sane-backends-*.lsm - rm -f $(distdir).tar.gz.md5 - -# Clean files created by configure -distclean-local: - rm -f include/_stdint.h - rm -f include/byteorder.h - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/NEWS b/NEWS index bf78d65..5a326c6 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,53 @@ --*-Mode: outline-*- + + +## New with 1.0.28 (released 2019-07-31) + +### Backends + +- adds a `ricoh2` backend +- adds support for 40+ new scanner models +- significantly changes `canon_dr`, `fujitsu`, `genesys`, `gt68xx`, + `hp5590` and, `pixma` backends +- fixes bugs in `as6e`, `avision`, `mustek` and `plustek` backends +- fixes scores of compiler warnings + +### Frontends + +- adds, changes and removes options for `saned` (see `man 8 saned` for + details) + - adds: `-l` (listen), `-D` (daemonize), `-o` (once), `-e` (stderr), + `-u` (user) + - removes: `-s` (syslog). + Use `-a -d level -o -f` for the old behavior + - changes: `-d` (debug). + Use `-a -d level -o -f -e` for the old behavior +- `saned` now cancels scans if the data connections appears to have + gone away (after 4 seconds by default, configurable in `saned.conf`) +- adds `--output-file` option to `scanimage` +- adds `--help` option to `scan-find-scanner` +- changes `sane-desc` to create relative hyperlinks + +### Documentation + +- adds translations for Catalan, Hebrew and Valencian +- updates translations for British English, Dutch, German and + Ukrainian +- marks unmaintained backends as such +- documents USB workaround in `sane-usb` manual page + +### Build + +- requires a C++11 compatible compiler for the `genesys` backend +- requires a JPEG library when building the `pixma` backend +- fixes unneeded linking when not using preloadable backend support +- disables pthread support for systems with non-integral `pthread_t` + type +- fixes USB support detection on BeOS and OS/2 at `./configure` time +- normalizes trailing whitespace in source code files. If you have + local patches that no longer apply, have a look at the whitespace + ignoring options of `patch` and `git apply`. + + New with 1.0.27 (see Note 1), released 2017-05-22: * Significant enhancements to canon_dr, epjitsu, epsonds, fujitsu, @@ -7,7 +56,7 @@ New with 1.0.27 (see Note 1), released 2017-05-22: * 30+ new scanner models supported. * Made libusb-1.0 the default for USB support (see Note 2). * Switched code from C90 to C99 (Thanks to Volker Diels-Grabsch). -* Updated Linux USB3 workaround (see Note 3). +* Updated Linux USB3 workaround (see Note 3). * Documentation and translation updates. * Bugfixes (Avahi, threading, USB, ICC/PNG/JPEG, etc). * Reduced compiler warnings, improved code (see Note 4). @@ -17,7 +66,7 @@ skipped so that our development version numbers would more clearly be an extension of the prior release. This should make packaging a little easier for our downstream users. -Note 2: On all systems, the --enable-libusb* flags are now ignored. +Note 2: On all systems, the --enable-libusb* flags are now ignored. Instead, the --with-usb and --without-usb flags now control support. When neither is given, USB support will be enabled if possible and disabled otherwise. If --with-usb is requested but not possible, @@ -113,7 +162,7 @@ New with 1.0.21, released 2010-04-25: New with 1.0.20, released 2009-05-03: * New backends: canon_dr (Canon DR-series), coolscan3 (Nikon LS & Coolscan), - rts8891 (Umax & HP 44xx), xerox_mfp (Samsung/Xerox/Dell MFPs) + rts8891 (Umax & HP 44xx), xerox_mfp (Samsung/Xerox/Dell MFPs) * Many backends updated. * 75 more scanner models supported. * New build system (thanks Chris and Olaf). @@ -132,7 +181,7 @@ New with 1.0.20, released 2009-05-03: New with 1.0.19, released 2008-02-10: -* New backends: cardscan (Corex Cardscan 800c), epjitsu (Epson-based Fujitsu), +* New backends: cardscan (Corex Cardscan 800c), epjitsu (Epson-based Fujitsu), epson2 (various Epson scanners), hp3900 (HP ScanJet 3970 and more), hp5590 (HP ScanJet 5590 and more), hpljm1005 (HP LaserJet M1005 and more), hs2p (Ricoh IS400 series) @@ -190,7 +239,7 @@ New with 1.0.16, released 2005-08-07: * Updated backends: avision, canon, coolscan, epson, gphoto2, gt68xx, mustek, mustek_pp, niash, plustek, plustek_pp, qcam, sm3600, snapscan, teco2, umax_pp, v4l. -* More functionality/fixes for sanei_usb and sanei_pp. +* More functionality/fixes for sanei_usb and sanei_pp. * Added sanei_access to allow locking of SANE devices. * Hotplug updates. * scanimage updates. @@ -294,7 +343,7 @@ New with 1.0.10, released 2003-02-01: New with 1.0.9, released 2002-10-24: -* New backends: hpsj5s (Hewlett-Packard ScanJet 5S parport scanner), +* New backends: hpsj5s (Hewlett-Packard ScanJet 5S parport scanner), teco2 (some Relisys/Primax SCSI flatbed scanners, models VM3575, VM6565, VM6586 and VM6575), teco3 (some Relisys/Piotech/Trust/Plustek SCSI flatbed scanners, model VM3552). @@ -314,9 +363,9 @@ New with 1.0.9, released 2002-10-24: New with 1.0.8, released 2002-05-27: -* New backends: canon_pp (Canon parport scanners), canon630u (CanoScan 630u +* New backends: canon_pp (Canon parport scanners), canon630u (CanoScan 630u + 636u), coolscan2 (Nikon Coolscan LS-30, LS-40 ED, LS-4000 ED, and - LS-8000 ED), fujitsu (M3091, M3093, M3096 and similar scanners), + LS-8000 ED), fujitsu (M3091, M3093, M3096 and similar scanners), leo (Leo/Across FS-1130 scanner), matsushita (Panasonic KV-SS scanners), sceptre (Sceptre VividScan S1200), teco1 (some Teco/Relisys flatbed scanners), test (test frontends and SANE installation). @@ -341,7 +390,7 @@ New with 1.0.7, released 2002-02-04: * Updated backends: avision (v 1.0.15), dc240 (v 0.0), dc25 (v 1.2), dll (v 1.0.5), epson (v 1.0.219), gphoto2 (v 0.0), microtek2 (v 0.95), mustek (1.0.118), mustek_usb (v 1.0.10), plustek (v 0.41), pnm (v 1.0.4), - sharp (v 0.32), snapscan (v 1.4.7), st400 (v 1.6), umax (v 1.0-32), + sharp (v 0.32), snapscan (v 1.4.7), st400 (v 1.6), umax (v 1.0-32), umax_pp (v 1.0.6). * Added support for translating backend options. * Added support for USB control messages and lm983x and pv6830 chipsets. @@ -357,7 +406,7 @@ New with 1.0.6, released 2001-11-05: * New backends: gphoto2 (backend for gphoto2 supported cameras), mustek_usb (for Mustek USB scanners 600CU, 1200CU(+), 1200UB). -* Updated backends: dc240 (v 0.0), epson (v 0.2.12), hp (0.95), +* Updated backends: dc240 (v 0.0), epson (v 0.2.12), hp (0.95), m3096g (v 1.11), microtek2 (v 0.95), mustek (v1.0-113), net (v 1.0.5), pie (1.0-7), pnm (1.0-2), snapscan (v 1.4.0), umax (1.0-31), umax_pp (1). * Added generic support for USB devices. @@ -475,22 +524,22 @@ New with 1.01: Scanning from the ADF therefore should work now. * Updated Microtek backend (by Matto Marjanovic) - o Fixed off-by-1 error in revision-number parsing. - o dump_inquiry() now prints the "Vendor Specific String". - o Added model code/vendor name for the other 600ZS. + o Fixed off-by-1 error in revision-number parsing. + o dump_inquiry() now prints the "Vendor Specific String". + o Added model code/vendor name for the other 600ZS. o Made get_scan_status() retry delay increase with each try (will - this help the poor 600ZS?). - o Corrected base resolution for Agfa StudioScan II/IIsi (400dpi). + this help the poor 600ZS?). + o Corrected base resolution for Agfa StudioScan II/IIsi (400dpi). o Disabled backend's clever aspect-ratio correction code for expanded-mode scans with StudioScan II/IIsi (scanner handles it - internally - smart scanner.) + internally - smart scanner.) o Fixed gamma LUT code parsing stupidity: now correctly determines maximum allowed LUT size, and uses it. (Especially - necessary for StudioScan II/IIsi.) + necessary for StudioScan II/IIsi.) o The E6 claims to only support 256-byte LUT's, but the backend - now ignores that misinformation (and uses 1024). + now ignores that misinformation (and uses 1024). o Now ignores denial of expanded-mode by older E6's (model code - 0x63), in addition to newer E6's. + 0x63), in addition to newer E6's. * Updated Microtek2 backend (by Bernd Schroeder) o Added support for non-blocking I/O. @@ -576,8 +625,8 @@ New with 1.00: * Updated Microtek backend (by Matto Marjanovic). - Fix segfault on exit due to unnecessary free() in sane_close(). - Fix to red channel shift bug (which crept in during rewrite of - color-handling code). - - Addition of "patch level" to version codes. + color-handling code). + - Addition of "patch level" to version codes. * Updated Microtek2 backend - Added support for ScanMaker 330, ScanMaker 636, ScanMaker E3plus, @@ -606,25 +655,25 @@ New with 1.00: - Resolutions >300dpi in color mode sometimes result in corrupted images (parts duplicated/shifted *HORIZONTALLY*) depending on hardware configuration. Killing all other applications and disabling swap - (if sufficient physical memory available) may help. - I added some code which writes to every page of the buffer prior + (if sufficient physical memory available) may help. + I added some code which writes to every page of the buffer prior to scanning to fool the memory management and scanned a full page color scan with 600dpi * 1200dpi. Very slow but image seemed ok - after pnmscale. + after pnmscale. - Max. scan area: 0-216mm (hor.), 2.5-294.5mm (ver.) The scanners can't scan the first 2.5mm (ver.), so you *MUST* specify the scan area according to this restriction! - The scanners support only lineart (1 bpp), gray (8 bpp), color (24 bpp). - Although the scanners have 10 bit (6000 SP) or 12 bit (12000 SP) + Although the scanners have 10 bit (6000 SP) or 12 bit (12000 SP) A/D-converters, they can send only 8 bit values to the host. The higher resolution may only be used via gamma table. - For compatibility only 256 entry gamma tables may be specified, the actual gamma table sent to the scanner is linearly interpolated from it. - - In lineart mode only brightness may be adjusted. + - In lineart mode only brightness may be adjusted. - Cover open/closed reported only via debug output and ignored otherwise. - Use of SCSI card supplied with scanner is *NOT* recommended. (Don't forget termination!) - + * Updated UMAX backend (by Oliver Rauch) - added output of umax-backend-version in sane_init - added Linotype Hell Jade2 (Vobis ScanBoostar Premium) @@ -696,13 +745,13 @@ New with 0.74: but the code is now leaner and cleaner. o fixed the bugs that the backend didn't compile with non gcc compilers. o added an option to control exposure times. - o rewrote the code that processes the data that is received from the + o rewrote the code that processes the data that is received from the scanner and transfers it into the frontend buffer. The smallest unit of data that can be copied into the frontend buffer is now a pixel, no longer a complete line. o added (a yet) undocumented option "strip-height" that allows to control the number of lines that is read from the scanner with one "read image". - o fixed a bug that caused scanimage to sigsegv when calling sane_exit() + o fixed a bug that caused scanimage to sigsegv when calling sane_exit() without having written all data into the output file. o added code to support scanners with more than 8 bit output per color. Due to the lack of such a scanner this functionality is COMPLETELY UNTESTED @@ -727,20 +776,20 @@ New with 0.74: * Updated Nikon Coolscan backend (by Didier Carlier). * Updated UMAX backend (by Oliver Rauch): - o Cancelling a scan now works, cancelling a preview still makes problems! + o Cancelling a scan now works, cancelling a preview still makes problems! o Preview fix is activated for Astra 600S, Astra 610S and Vista S6E - scanners. (calibration by driver still does not work for these scanners). - - removed button for preview patch - o Quality calibration / calibration by driver now works for same scanners. - - added selection for type of shading data calculation - o Solved problem with black area at top of the image - (happend only with some SCSI-adapters). - o Added gamma download format type 0 and type 1 for older scanners. - o Added Astra 1220S as supported scanner: - - added 36 gamma input bits support for Astra 1220S + scanners. (calibration by driver still does not work for these scanners). + - removed button for preview patch + o Quality calibration / calibration by driver now works for same scanners. + - added selection for type of shading data calculation + o Solved problem with black area at top of the image + (happend only with some SCSI-adapters). + o Added gamma download format type 0 and type 1 for older scanners. + o Added Astra 1220S as supported scanner: + - added 36 gamma input bits support for Astra 1220S - added 36 output bits support, but there is no frontend that can - handle it! - o Added inquiry for Escom Image Scanner 256 (UMAX UG80). + handle it! + o Added inquiry for Escom Image Scanner 256 (UMAX UG80). * OS/2 (by Yuri Dario): o Updated SCSI support so sanei_scsi_find_devices is supported now. @@ -786,7 +835,7 @@ New with 0.73: - scalar gamma correction. Options that are not yet supported include: - + - 3-pass scanners - more than 8 bit per color output data. Provisions are made here and there in the code, to support more than 8 bit, but that's diff --git a/README b/README index 694165a..a51683e 100644 --- a/README +++ b/README @@ -22,6 +22,7 @@ http://www.sane-project.org/sane-frontends.html. Quick install: ============== +./autogen.sh # only if you just cloned the git repository ./configure make make install @@ -56,6 +57,22 @@ installed. - libgphoto2 (>=2.0): For the gphoto2 backend. +If you got the source straight from the git repository, as opposed to +a source tarball, you will need a few more utilities. These utilities +should normally *not* be needed for source archives downloaded from +the project's website at http://www.sane-project.org/. + + - autoconf (>= 2.69) as well as the autoconf-archive (for the + AX_CXX_COMPILE_STDCXX and AX_CXX_COMPILE_STDCXX_11 macros) + + - automake (>=1.15) + + - libtool (>=2.4.6) + + - gettext (>=0.19.8) + + - git (>= 2.1.4) + SANE should build on most Unix-like systems. Support for OS/2, MacOS X, BeOS, and Microsoft Windows is also available. For more details look at the operating system specific README.* files. For a detailed support matrix, see: @@ -70,7 +87,7 @@ Please check that there aren't any older versions of SANE installed on your system. Especially if SANE libraries are installed in a different prefix directory (e.g. /usr/lib/) this may cause problems with external frontends. Please remove these libraries (libsane.*, sane/libsane-*) by using -your packet manager or manually before installing this version of SANE. +your package manager or manually before installing this version of SANE. Configuration @@ -127,10 +144,10 @@ to the epson2 and fujitsu backends: ./configure BACKENDS="epson2 fujitsu" To limit the backends that are preloaded into the DLL, set the variable -PRELOADABLE_BACKENDS. The following will limit compiling to the epson2 +PRELOADABLE_BACKENDS. The following will limit compiling to the epson2 and fujitsu backends but only preloads the epson2 backend: - ./configure BACKENDS="epson2 futjisu" PRELOADABLE_BACKENDS="epson2" + ./configure BACKENDS="epson2 fujitsu" PRELOADABLE_BACKENDS="epson2" In addition to these configuration options, there are some more SANE-specific options and many standard-options. To get a description of available options, diff --git a/README.aix b/README.aix index b43dc3e..f31abe4 100644 --- a/README.aix +++ b/README.aix @@ -1,7 +1,7 @@ Under AIX, you'll need the generic SCSI device driver gsc written by Matthew Jacob (nice piece of work!). When you install this driver, copy the header file gscdds.h to /usr/include, as -we look for it there. +we look for it there. Find this driver under: ftp://ftp.feral.com/pub/aix/gsc.tar.gz @@ -10,4 +10,3 @@ Find this driver under: A version for AIX 4.3.3 and AIX 5.1 is also available. http://www.zago.net/aix/gsc-1.1.tar.gz - diff --git a/README.beos b/README.beos index e56b82c..087b514 100644 --- a/README.beos +++ b/README.beos @@ -25,5 +25,5 @@ Compiler: gcc 2.95.3 User-level SCSI support: yes USB support: yes Shared library support: yes -Dynamic loading support: yes +Dynamic loading support: yes X11 clients: no diff --git a/README.djpeg b/README.djpeg index 8a456f9..7bc73d1 100644 --- a/README.djpeg +++ b/README.djpeg @@ -2,7 +2,7 @@ The JPEG decoder in SANE is taken mostly without change from The Independent JPEG Group's JPEG software, release 6a. Their "djpeg.README" file is included below. The only changes are to file names, e.g. djpeg.c -> sanei_jpeg.c, and function names, -e.g. sanei_jpeg_start_output_ppm() +e.g. sanei_jpeg_start_output_ppm() The Independent JPEG Group's JPEG software diff --git a/README.freebsd b/README.freebsd index 68cf1a8..b423b28 100644 --- a/README.freebsd +++ b/README.freebsd @@ -3,11 +3,11 @@ SANE and FreeBSD Building: --------- -Don't forget to use GNU make (gmake). E.g. "MAKE=gmake ./configure". +Don't forget to use GNU make (gmake). E.g. "MAKE=gmake ./configure". SANE should compile and install out-of-the-box. If you've installed some of the optional libraries that sane-backends -can make use of (see README for list) using Ports then you will need to +can make use of (see README for list) using Ports then you will need to let configure know about their locations: MAKE=gmake CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure diff --git a/README.hp-ux b/README.hp-ux index 2333ef0..fb4dc18 100644 --- a/README.hp-ux +++ b/README.hp-ux @@ -49,17 +49,17 @@ Class I H/W Path Driver S/W State H/W Type Description ============================================================================== [...] ext_bus 0 8/0/19/0 c720 CLAIMED INTERFACE Ultra Wide SCSI -target 0 8/0/19/0.6 tgt CLAIMED DEVICE +target 0 8/0/19/0.6 tgt CLAIMED DEVICE disk 0 8/0/19/0.6.0 sdisk CLAIMED DEVICE IBM DDYS-T09170N -target 1 8/0/19/0.7 tgt CLAIMED DEVICE +target 1 8/0/19/0.7 tgt CLAIMED DEVICE ctl 0 8/0/19/0.7.0 sctl CLAIMED DEVICE Initiator [...] ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI -target 4 8/16/5.1 tgt CLAIMED DEVICE +target 4 8/16/5.1 tgt CLAIMED DEVICE unknown -1 8/16/5.1.0 UNCLAIMED UNKNOWN EPSON Perfection1640 -target 2 8/16/5.2 tgt CLAIMED DEVICE +target 2 8/16/5.2 tgt CLAIMED DEVICE disk 1 8/16/5.2.0 sdisk CLAIMED DEVICE TOSHIBA CD-ROM XM-5401TA -target 3 8/16/5.7 tgt CLAIMED DEVICE +target 3 8/16/5.7 tgt CLAIMED DEVICE ctl 1 8/16/5.7.0 sctl CLAIMED DEVICE Initiator [...] diff --git a/README.linux b/README.linux index f255c3b..459e57d 100644 --- a/README.linux +++ b/README.linux @@ -68,7 +68,7 @@ Example: # cat /proc/scsi/scsi Host: scsi0 Channel: 00 Id: 06 Lun: 00 Vendor: SCANNER Model: Rev: 2.02 - Type: Scanner ANSI SCSI revision: 01 CCS + Type: Scanner ANSI SCSI revision: 01 CCS In this case the real vendor and scanner name are not shown (Mustek Scannexpress 12000SP) but SANE will detect it nevertheless. @@ -76,7 +76,7 @@ Scannexpress 12000SP) but SANE will detect it nevertheless. If your scanner is supported by SANE, scanimage -L will list it now: # scanimage -L -device mustek:/dev/scanner' is a Mustek ScanExpress 12000SP flatbed scanner +device mustek:/dev/scanner' is a Mustek ScanExpress 12000SP flatbed scanner If this doesn't work you may have to add the right SCSI generic device name to the configuration file. This should be documented in the man page for @@ -85,7 +85,7 @@ your backend. To find out about the right SCSI device use sane-find-scanner: # sane-find-scanner found SCSI scanner "SCANNER 2.02" at /dev/scanner found SCSI scanner "SCANNER 2.02" at /dev/sg0 -found SCSI scanner "SCANNER 2.02" at /dev/sga +found SCSI scanner "SCANNER 2.02" at /dev/sga It may help to set a symbolic link /dev/scanner to the respective device if automatic detection does not work. @@ -98,10 +98,10 @@ in devfs". Adaptec 1542 SCSI adapter: Using buffer sizes of more than 32768 bytes with the aha1542 driver can - lead to kernel panic with older kernels. To avoid this, run configure with + lead to kernel panic with older kernels. To avoid this, run configure with the option --enable-scsibuffersize or set the environment variable - SANE_SG_BUFFERSIZE to 32768 before running scanimage or another frontend, - or download and install the SG driver 2.1.37 or newer from + SANE_SG_BUFFERSIZE to 32768 before running scanimage or another frontend, + or download and install the SG driver 2.1.37 or newer from http://www.torque.net/sg. idescsi: @@ -110,10 +110,10 @@ idescsi: SANE. If your scanner isn't found or you encounter segmentation faults try to disable idescsi. -SCSI Direct IO: Recent versions of the Linux SG driver for the 2.4 kernels - support direct IO, i.e., the SCSI adapter's DMA chip copies data directly - to/from user memory. Direct IO reduces memory usage, but it can lead to - access conflicts, if a backend uses shared memory. SANE does not use +SCSI Direct IO: Recent versions of the Linux SG driver for the 2.4 kernels + support direct IO, i.e., the SCSI adapter's DMA chip copies data directly + to/from user memory. Direct IO reduces memory usage, but it can lead to + access conflicts, if a backend uses shared memory. SANE does not use direct IO by default. If you want to use it, run configure --enable-scsi-directio=yes diff --git a/README.netbsd b/README.netbsd index ceab0b9..dfe52ac 100644 --- a/README.netbsd +++ b/README.netbsd @@ -3,7 +3,7 @@ SANE and NetBSD Building: --------- -Don't forget to use GNU make (gmake). E.g. "MAKE=gmake ./configure". +Don't forget to use GNU make (gmake). E.g. "MAKE=gmake ./configure". SANE should compile and install out-of-the-box. SCSI-scanners: @@ -54,6 +54,6 @@ control messages. Use libusb instead. Parport-scanners: ----------------- I don't have any information about these. Please contact me or the SANE mailing -list if you succeded in using one of these. +list if you succeeded in using one of these. 2003-04-24 Henning Meier-Geinitz diff --git a/README.openbsd b/README.openbsd index 211ab06..0fa80e3 100644 --- a/README.openbsd +++ b/README.openbsd @@ -3,7 +3,7 @@ SANE and OpenBSD Building: --------- -Don't forget to use GNU make (gmake). E.g. "MAKE=gmake ./configure". +Don't forget to use GNU make (gmake). E.g. "MAKE=gmake ./configure". SANE should compile and install out-of-the-box. If some libraries and headers (like libjpeg) are installed in /usr/local/, adding @@ -51,6 +51,6 @@ and detach scripts. See tools/openbsd for an example. Parport-scanners: ----------------- I don't have any information about these. Please contact me or the SANE mailing -list if you succeded in using one of these. +list if you succeeded in using one of these. 2005-12-23 Henning Meier-Geinitz diff --git a/README.os2 b/README.os2 index 71cb8d8..ab6421d 100644 --- a/README.os2 +++ b/README.os2 @@ -21,19 +21,19 @@ SANE (actually EMX 0.9D fix 03). SANE (Scanner Access Now Easy) ------------------------------ -For more info about the SANE Project, please visit +For more info about the SANE Project, please visit http://www.sane-project.org/ You should also check the main site for an updated list of supported scanners. -Note that I can't say you if your scanner is supported; check SANE homepage +Note that I can't say you if your scanner is supported; check SANE homepage instead. SUPPORT ------- -I'm sorry to tell you that it is hard for me to help you: if your scanner +I'm sorry to tell you that it is hard for me to help you: if your scanner doesn't work or your problem can't be reproduced on my pc, there are high choices that I can't fix the bug. Most problems are specific to same PC/scanner combinations, and can't be solved without having a full developement enviroment @@ -61,7 +61,7 @@ file, he is welcome (actually I'm using groff). INSTALLATION ------------ -If you already didn't it, install the correct driver for your scsi adapter. +If you already didn't it, install the correct driver for your scsi adapter. The drivers has usually a .ADD extension and looks like BASEDEV=AHA154X.ADD @@ -71,7 +71,7 @@ directory, so you have only to add BASEDEV=OS2ASPI.DMD /ALL -The /ALL switch is required only if you need to use other devices with +The /ALL switch is required only if you need to use other devices with aspirout.sys, e.g. if you have a CD-RW and CDRecord/2 installed. Last, add aspirout.sys to your config.sys @@ -86,7 +86,7 @@ available on Hobbes or Leo as emxrt.zip. find-scanner.exe can be used to recognize a scanner on the scsi bus. Then you should edit your xxx.conf file and add the scanner address, a string like -b0t4l0. This can be simplified using autodetection: with autodetection you can +b0t4l0. This can be simplified using autodetection: with autodetection you can use a string like scsi EPSON @@ -104,7 +104,7 @@ you should see your scanner following the list of internal devices: pnm:0 pnm:1 If it is not present, check your scsi driver, the aspi driver OS2ASPI.DMD and -aspirout.sys; on Warp4 you can use the Hardware Manager to check scanner +aspirout.sys; on Warp4 you can use the Hardware Manager to check scanner presence. Then look at your xxx.conf, maybe there is something wrong in the text. @@ -115,7 +115,7 @@ Once configured your system, create a proper .conf file (edit one of the supplied templates) and run scanimage -L - + The output should be like device `umax:b0t3l0' is a UMAX Vista-S8 flatbed scanner @@ -131,8 +131,8 @@ A simple scan will do a scan with default parameters. Run - scanimage -d umax --help - + scanimage -d umax --help + to get a full list of available switches. @@ -155,7 +155,7 @@ of scanimage.exe: here you have to add a list of valid saned servers. Run scanimage -L - + The output is like this device `umax:b0t3l0' is a UMAX Vista-S8 flatbed scanner @@ -174,7 +174,7 @@ Be aware that this configuration shouldn't work: I have been unable to get it working on my PC without running saned under the debugger PMGDB. The correct syntax for running scanimage over the net is - scanimage -d net:HOSTNAME:umax:b0t3l0 > test.pnm + scanimage -d net:HOSTNAME:umax:b0t3l0 > test.pnm where HOSTNAME is a valid DNS host name. You can log server access using syslogd: if syslogd is running, saned will @@ -199,10 +199,10 @@ Steps: - unzip this file somewhere; - copy src\* into sane-1.0.1; - enter sane-1.0.1 directory; -- apply patches to original distribution: +- apply patches to original distribution: [...\sane-1.0.1]gnupatch -p 0 < patch.os2 - run autoconf to rebuild the configure script -- edit configure and change autoconf default optimization flags; +- edit configure and change autoconf default optimization flags; search for -O2 -m486 and change to your preferred settings; - add the following line after :${LDFLAGS="...."} : ${LIBS="-lsocket"} @@ -211,15 +211,15 @@ Steps: - run make (compiler warnings are ok); - wait to complete all makes; -Remember to install a Unix like shell in your path; I use ksh.exe -renamed to sh.exe, and saved in d:\bin +Remember to install a Unix like shell in your path; I use ksh.exe +renamed to sh.exe, and saved in d:\bin (that's because most unix scripts uses SHELL=/bin/sh) You need also a compatible dl.a and syslog.a library; look in .\contrib for a couple of simple sources. Flags needed under EMX: --Zsysv-signals enables signal management as in SystemV, otherwise emx +-Zsysv-signals enables signal management as in SystemV, otherwise emx convention is used (and it is different from sysv). -Zcrtdll link dynamically with EMXLIBCM.DLL; @@ -258,4 +258,3 @@ History: =============================================================================== Yuri Dario http://www.quasarbbs.com/yuri - diff --git a/README.solaris b/README.solaris index 240ee6f..12dae05 100644 --- a/README.solaris +++ b/README.solaris @@ -92,7 +92,7 @@ can be found in To install it on a SPARC do: - cd /tmp + cd /tmp get SCHILYscg.sparc.tar.Z uncompress SCHILYscg.sparc.tar.Z tar -xvf SCHILYscg.sparc.tar @@ -105,7 +105,7 @@ NOTE: Be very careful with pkgadd as it does not check for the correct For Solaris on an x86 do: - cd /tmp + cd /tmp get SCHILYscg.i386.tar.Z uncompress SCHILYscg.i386.tar.Z tar -xvf SCHILYscg.i386.tar diff --git a/README.unixware7 b/README.unixware7 index 9e6d3cd..7a48233 100644 --- a/README.unixware7 +++ b/README.unixware7 @@ -1,79 +1,79 @@ -SANE on UnixWare 7 -================== +SANE on UnixWare 7 +================== -The easiest way to get SANE working on a UnixWare 7.1.X system (UW 7.0.0 -and 7.0.1 are not supported) is to download and install the SANE binary -distribution from SCOs Skunkware web site. The URL is: +The easiest way to get SANE working on a UnixWare 7.1.X system (UW 7.0.0 +and 7.0.1 are not supported) is to download and install the SANE binary +distribution from SCOs Skunkware web site. The URL is: - ftp://ftp.sco.com/skunkware/uw7/Packages + ftp://ftp.sco.com/skunkware/uw7/Packages -Use the pkgadd command to install the files, e.g.: +Use the pkgadd command to install the files, e.g.: - # pkgadd -d `pwd`/sane-1.0.2.pkg + # pkgadd -d `pwd`/sane-1.0.2.pkg -A web page with further information specific to SANE on UnixWare 7 can be -found here: +A web page with further information specific to SANE on UnixWare 7 can be +found here: - http://www.sco.com/skunkware/sane/index.html + http://www.sco.com/skunkware/sane/index.html -However, please note that the SANE package that is available from the -Skunkware server will most likely contain the latest stable version of -SANE. Since SANE is continously being worked on, you might want to download +However, please note that the SANE package that is available from the +Skunkware server will most likely contain the latest stable version of +SANE. Since SANE is continously being worked on, you might want to download the latest source from the Git repository and build the source yourself. -To build SANE on a UnixWare 7.1.X system the following packages are required: +To build SANE on a UnixWare 7.1.X system the following packages are required: - * make (GNU make) + * make (GNU make) * glibs (contains gtk, glib, libjpeg, libpnm, libtiff etc.; only necessary for frontends xscanimage, xcam, and xsane which are - distributed separately) + distributed separately) -The packages can be downloaded from the Skunkware ftp server (see URL above). -I've used the following versions to build sane-1.0.2: +The packages can be downloaded from the Skunkware ftp server (see URL above). +I've used the following versions to build sane-1.0.2: - * make-3.78.1.pkg - * glibs-2.0.3.pkg + * make-3.78.1.pkg + * glibs-2.0.3.pkg -If you want to include support for The Gimp (this is optional), you need to -install the gimp package, too. This is the version I've used: +If you want to include support for The Gimp (this is optional), you need to +install the gimp package, too. This is the version I've used: - * gimp-1.0.4.pkg + * gimp-1.0.4.pkg -GCC is not required. SANE compiles quite happily (and faster) with UnixWares -native C compiler. +GCC is not required. SANE compiles quite happily (and faster) with UnixWares +native C compiler. -Set the LD_RUN_PATH variable to add /usr/local/lib to the list of directories -to be searched by the dynamic linker: +Set the LD_RUN_PATH variable to add /usr/local/lib to the list of directories +to be searched by the dynamic linker: - $ LD_RUN_PATH=/usr/local/lib - $ export LD_RUN_PATH + $ LD_RUN_PATH=/usr/local/lib + $ export LD_RUN_PATH -Run the configure script as following: +Run the configure script as following: - $ LIBS="-lsdi" ./configure + $ LIBS="-lsdi" ./configure -(The sdi library contains the SCSI passthrough functions the UW7 port of SANE -uses to access the scanner from user space.) +(The sdi library contains the SCSI passthrough functions the UW7 port of SANE +uses to access the scanner from user space.) -Run gmake to build SANE: +Run gmake to build SANE: - $ gmake + $ gmake -SCSI access from user space requires special privileges. If you want users -without root perms to be able to use the scanner you can use the filepriv -command to change the privileges that are associated with the SANE -applications: +SCSI access from user space requires special privileges. If you want users +without root perms to be able to use the scanner you can use the filepriv +command to change the privileges that are associated with the SANE +applications: - # /sbin/filepriv -f driver -f sysops /usr/local/bin/scanimage - # /sbin/filepriv -f driver -f sysops /usr/local/bin/xscanimage - # /sbin/filepriv -f sysops /usr/local/bin/xcam + # /sbin/filepriv -f driver -f sysops /usr/local/bin/scanimage + # /sbin/filepriv -f driver -f sysops /usr/local/bin/xscanimage + # /sbin/filepriv -f sysops /usr/local/bin/xcam -If you have built SANE with support for The Gimp you might want to create -a symlink from the plug-in directory to the xscanimage and xcam binaries, -e.g.: +If you have built SANE with support for The Gimp you might want to create +a symlink from the plug-in directory to the xscanimage and xcam binaries, +e.g.: - # ln -s /usr/local/bin/xscanimage \ - /usr/local/lib/gimp/1.0/plug-ins/xscanimage - # ln -s /usr/local/bin/xcam /usr/local/lib/gimp/1.0/plug-ins/xcam + # ln -s /usr/local/bin/xscanimage \ + /usr/local/lib/gimp/1.0/plug-ins/xscanimage + # ln -s /usr/local/bin/xcam /usr/local/lib/gimp/1.0/plug-ins/xcam Questions? Comments? Please send e-mail to jenss@sco.com or skunkware@sco.com! diff --git a/README.zeta b/README.zeta index 36f6382..9c0028e 100644 --- a/README.zeta +++ b/README.zeta @@ -1,8 +1,8 @@ SANE and Zeta ------------- -The Zeta port is based on existing BeOS port, with some changes -to accomodate yellowTAB's internal build procedure, and some new +The Zeta port is based on existing BeOS port, with some changes +to accomodate yellowTAB's internal build procedure, and some new conventions brought up by Zeta. Cf. README.beos for more historical stuff. @@ -22,5 +22,5 @@ Compiler: gcc 2.95.3 User-level SCSI support: yes USB support: yes Shared library support: yes -Dynamic loading support: yes +Dynamic loading support: yes X11 clients: no diff --git a/Rules-quot.patch b/Rules-quot.patch new file mode 100644 index 0000000..973ed86 --- /dev/null +++ b/Rules-quot.patch @@ -0,0 +1,27 @@ +Author: Olaf Meeuwissen + + Add custom options to commands used for generate .po files. This + fixes word wrapping inconsistencies when using a custom width. + + Do NOT put this file below po/ as all Rules-* files are included + in the po/Makefile *verbatim*! + +--- po/Rules-quot.orig 2019-06-30 13:46:34.281392263 +0900 ++++ po/Rules-quot 2019-06-30 13:49:05.482142027 +0900 +@@ -22,13 +22,13 @@ + LC_ALL=C; export LC_ALL; \ + cd $(srcdir); \ + if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \ +- | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \ ++ | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) $(MSGCONV_OPTIONS) -t UTF-8 | \ + { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \ +- $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \ ++ $(MSGFILTER) $(MSGFILTER_OPTIONS) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \ + ;; \ + *) \ +- $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \ ++ $(MSGFILTER) $(MSGFILTER_OPTIONS) `echo $$lang | sed -e 's/.*@//'` \ + ;; \ + esac } 2>/dev/null > $$tmpdir/$$lang.new.po \ + ; then \ diff --git a/acinclude.m4 b/acinclude.m4 index 476d536..1bc3b74 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -26,23 +26,25 @@ dnl AC_DEFUN([SANE_SET_AM_CFLAGS], [ if test "${ac_cv_c_compiler_gnu}" = "yes"; then - DEFAULT_CFLAGS="\ + DEFAULT_WARNINGS="\ -Wall" EXTRA_WARNINGS="\ -Wextra \ -pedantic" - for flag in $DEFAULT_CFLAGS; do + for flag in $DEFAULT_WARNINGS; do JAPHAR_GREP_AM_CFLAGS($flag, [ AM_CFLAGS="$AM_CFLAGS $flag" ]) + JAPHAR_GREP_AM_CXXFLAGS($flag, [ AM_CXXFLAGS="$AM_CXXFLAGS $flag" ]) done AC_ARG_ENABLE(warnings, AS_HELP_STRING([--enable-warnings], [turn on tons of compiler warnings (GCC only)]), [ - if eval "test x$enable_warnings = xyes"; then + if eval "test x$enable_warnings = xyes"; then for flag in $EXTRA_WARNINGS; do JAPHAR_GREP_AM_CFLAGS($flag, [ AM_CFLAGS="$AM_CFLAGS $flag" ]) + JAPHAR_GREP_AM_CXXFLAGS($flag, [ AM_CXXFLAGS="$AM_CXXFLAGS $flag" ]) done fi ], @@ -50,6 +52,7 @@ if test "${ac_cv_c_compiler_gnu}" = "yes"; then # Warnings enabled by default (development) for flag in $EXTRA_WARNINGS; do JAPHAR_GREP_AM_CFLAGS($flag, [ AM_CFLAGS="$AM_CFLAGS $flag" ]) + JAPHAR_GREP_AM_CXXFLAGS($flag, [ AM_CXXFLAGS="$AM_CXXFLAGS $flag" ]) done fi]) fi # ac_cv_c_compiler_gnu @@ -97,7 +100,7 @@ AC_DEFUN([SANE_SET_AM_LDFLAGS], esac fi AC_SUBST(STRICT_LDFLAGS) - case "${host_os}" in + case "${host_os}" in aix*) #enable .so libraries, disable archives AM_LDFLAGS="$AM_LDFLAGS -Wl,-brtl" ;; @@ -180,7 +183,7 @@ AC_DEFUN([SANE_CHECK_IEEE1284], AC_CHECK_HEADER(ieee1284.h, [ AC_CACHE_CHECK([for libieee1284 >= 0.1.5], sane_cv_use_libieee1284, [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ - struct parport p; char *buf; + struct parport p; char *buf; ieee1284_nibble_read(&p, 0, buf, 1); ]])], [sane_cv_use_libieee1284="yes"; IEEE1284_LIBS="-lieee1284" @@ -234,7 +237,25 @@ AC_DEFUN([SANE_CHECK_PTHREAD], LIBS="$save_LIBS" ],[ have_pthread=no; use_pthread=no ]) fi - + + # Based on a similar test for pthread_key_t from the Python project. + # See https://bugs.python.org/review/25658/patch/19209/75870 + AC_MSG_CHECKING(whether pthread_t is integer) + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include ]], [[pthread_t k; k * 1;]])], + [ac_pthread_t_is_integer=yes], + [ac_pthread_t_is_integer=no] + ) + AC_MSG_RESULT($ac_pthread_t_is_integer) + if test "$ac_pthread_t_is_integer" = yes ; then + AC_DEFINE(PTHREAD_T_IS_INTEGER, 1, + [Define if pthread_t is integer.]) + else + # Until the sanei_thread implementation is fixed. + have_pthread=no + use_pthread=no + fi + if test $use_pthread = yes ; then AC_DEFINE_UNQUOTED(USE_PTHREAD, "$use_pthread", [Define if pthreads should be used instead of forked processes.]) @@ -257,9 +278,9 @@ AC_DEFUN([SANE_CHECK_PTHREAD], # GPHOTO2 and dell1600n_net backends. AC_DEFUN([SANE_CHECK_JPEG], [ - AC_CHECK_LIB(jpeg,jpeg_start_decompress, + AC_CHECK_LIB(jpeg,jpeg_start_decompress, [ - AC_CHECK_HEADER(jconfig.h, + AC_CHECK_HEADER(jconfig.h, [ AC_MSG_CHECKING([for jpeglib - version >= 61 (6a)]) AC_EGREP_CPP(sane_correct_jpeg_lib_version_found, @@ -268,7 +289,7 @@ AC_DEFUN([SANE_CHECK_JPEG], #if JPEG_LIB_VERSION >= 61 sane_correct_jpeg_lib_version_found #endif - ], [sane_cv_use_libjpeg="yes"; JPEG_LIBS="-ljpeg"; + ], [sane_cv_use_libjpeg="yes"; JPEG_LIBS="-ljpeg"; AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) ],) ],) @@ -281,9 +302,9 @@ AC_DEFUN([SANE_CHECK_JPEG], # Checks for tiff library dell1600n_net backend. AC_DEFUN([SANE_CHECK_TIFF], [ - AC_CHECK_LIB(tiff,TIFFFdOpen, + AC_CHECK_LIB(tiff,TIFFFdOpen, [ - AC_CHECK_HEADER(tiffio.h, + AC_CHECK_HEADER(tiffio.h, [sane_cv_use_libtiff="yes"; TIFF_LIBS="-ltiff"],) ],) AC_SUBST(TIFF_LIBS) @@ -345,7 +366,7 @@ AC_DEFUN([SANE_CHECK_LOCKING], fi if test $use_locking = yes ; then INSTALL_LOCKPATH=install-lockpath - AC_DEFINE([ENABLE_LOCKING], 1, + AC_DEFINE([ENABLE_LOCKING], 1, [Define to 1 if device locking should be enabled.]) else INSTALL_LOCKPATH= @@ -375,6 +396,20 @@ AC_DEFUN([JAPHAR_GREP_AM_CFLAGS], esac ]) +dnl +dnl JAPHAR_GREP_AM_CXXFLAGS(flag, cmd_if_missing, cmd_if_present) +dnl +AC_DEFUN([JAPHAR_GREP_AM_CXXFLAGS], +[case "$AM_CXXFLAGS" in +"$1" | "$1 "* | *" $1" | *" $1 "* ) + ifelse($#, 3, [$3], [:]) + ;; +*) + $2 + ;; +esac +]) + dnl dnl SANE_CHECK_U_TYPES dnl @@ -397,13 +432,13 @@ AC_DEFUN([SANE_CHECK_GPHOTO2], [# If --with-gphoto2=no or --without-gphoto2, disable backend # as "$with_gphoto2" will be set to "no"]) - # If --with-gphoto2=yes (or not supplied), first check if + # If --with-gphoto2=yes (or not supplied), first check if # pkg-config exists, then use it to check if libgphoto2 is # present. If all that works, then see if we can actually link - # a program. And, if that works, then add the -l flags to - # GPHOTO2_LIBS and any other flags to GPHOTO2_LDFLAGS to pass to + # a program. And, if that works, then add the -l flags to + # GPHOTO2_LIBS and any other flags to GPHOTO2_LDFLAGS to pass to # sane-config. - if test "$with_gphoto2" != "no" ; then + if test "$with_gphoto2" != "no" ; then AC_CHECK_TOOL(HAVE_GPHOTO2, pkg-config, false) if test ${HAVE_GPHOTO2} != "false" ; then @@ -427,8 +462,8 @@ AC_DEFUN([SANE_CHECK_GPHOTO2], HAVE_GPHOTO2=false fi if test "${HAVE_GPHOTO2}" = "false"; then - GPHOTO2_CPPFLAGS="" - GPHOTO2_LIBS="" + GPHOTO2_CPPFLAGS="" + GPHOTO2_LIBS="" else SANE_EXTRACT_LDFLAGS(GPHOTO2_LIBS, GPHOTO2_LDFLAGS) if pkg-config --atleast-version=2.5.0 libgphoto2; then @@ -448,31 +483,31 @@ AC_DEFUN([SANE_CHECK_GPHOTO2], # Check for ss_family member in struct sockaddr_storage AC_DEFUN([SANE_CHECK_IPV6], [ - AC_MSG_CHECKING([whether to enable IPv6]) - AC_ARG_ENABLE(ipv6, + AC_MSG_CHECKING([whether to enable IPv6]) + AC_ARG_ENABLE(ipv6, AS_HELP_STRING([--disable-ipv6],[disable IPv6 support]), [ if test "$enableval" = "no" ; then - AC_MSG_RESULT([no, manually disabled]) - ipv6=no + AC_MSG_RESULT([no, manually disabled]) + ipv6=no fi ]) if test "$ipv6" != "no" ; then AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #define INET6 - #include + #define INET6 + #include #include ]], [[ - /* AF_INET6 available check */ - if (socket(AF_INET6, SOCK_STREAM, 0) < 0) - exit(1); - else - exit(0); + /* AF_INET6 available check */ + if (socket(AF_INET6, SOCK_STREAM, 0) < 0) + exit(1); + else + exit(0); ]])],[ - AC_MSG_RESULT(yes) - AC_DEFINE([ENABLE_IPV6], 1, [Define to 1 if the system supports IPv6]) + AC_MSG_RESULT(yes) + AC_DEFINE([ENABLE_IPV6], 1, [Define to 1 if the system supports IPv6]) ipv6=yes ],[ - AC_MSG_RESULT([no (couldn't compile test program)]) + AC_MSG_RESULT([no (couldn't compile test program)]) ipv6=no ]) fi @@ -507,7 +542,7 @@ AC_DEFUN([SANE_CHECK_IPV6], ipv6=no ]) ]) - fi + fi ]) # @@ -527,14 +562,14 @@ for be in ${BACKENDS}; do case $be in plustek_pp) case "$host_os" in - gnu*) + gnu*) echo "*** $be backend not supported on GNU/Hurd - $DISABLE_MSG" backend_supported="no" ;; esac ;; - dc210|dc240) + dc210|dc240|pixma) if test "${sane_cv_use_libjpeg}" != "yes"; then echo "*** $be backend requires JPEG library - $DISABLE_MSG" backend_supported="no" @@ -548,6 +583,13 @@ for be in ${BACKENDS}; do fi ;; + genesys) + if test "${HAVE_CXX11}" != "1"; then + echo "*** $be backend requires C++11 support - $DISABLE_MSG" + backend_supported="no" + fi + ;; + mustek_pp) if test "${sane_cv_use_libieee1284}" != "yes" && test "${enable_parport_directio}" != "yes"; then echo "*** $be backend requires libieee1284 or parport-directio libraries - $DISABLE_MSG" @@ -555,7 +597,7 @@ for be in ${BACKENDS}; do fi ;; - dell1600n_net) + dell1600n_net) if test "${sane_cv_use_libjpeg}" != "yes" || test "${sane_cv_use_libtiff}" != "yes"; then echo "*** $be backend requires JPEG and TIFF library - $DISABLE_MSG" backend_supported="no" @@ -666,12 +708,6 @@ const char * inet_ntop (int af, const void *src, char *dst, size_t cnt); int inet_pton (int af, const char *src, void *dst); #endif -/* Prototype for isfdtype */ -#ifndef HAVE_ISFDTYPE -#define isfdtype sanei_isfdtype -int isfdtype(int fd, int fdtype); -#endif - /* Prototype for sigprocmask */ #ifndef HAVE_SIGPROCMASK #define sigprocmask sanei_sigprocmask @@ -724,6 +760,4 @@ void vsyslog(int priority, const char *format, va_list args); ]) ]) -m4_include([m4/libtool.m4]) m4_include([m4/byteorder.m4]) -m4_include([m4/stdint.m4]) diff --git a/aclocal.m4 b/aclocal.m4 deleted file mode 100644 index e21d691..0000000 --- a/aclocal.m4 +++ /dev/null @@ -1,1491 +0,0 @@ -# generated automatically by aclocal 1.14.1 -*- Autoconf -*- - -# Copyright (C) 1996-2013 Free Software Foundation, Inc. - -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically 'autoreconf'.])]) - -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 1 (pkg-config-0.24) -# -# Copyright © 2004 Scott James Remnant . -# -# 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, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -# ---------------------------------- -AC_DEFUN([PKG_PROG_PKG_CONFIG], -[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) -m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) -AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) -AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=m4_default([$1], [0.9.0]) - AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - PKG_CONFIG="" - fi -fi[]dnl -])# PKG_PROG_PKG_CONFIG - -# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -# Check to see whether a particular set of modules exists. Similar -# to PKG_CHECK_MODULES(), but does not set variables or print errors. -# -# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -# only at the first occurence in configure.ac, so if the first place -# it's called might be skipped (such as if it is within an "if", you -# have to call PKG_CHECK_EXISTS manually -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_EXISTS], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -if test -n "$PKG_CONFIG" && \ - AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_default([$2], [:]) -m4_ifvaln([$3], [else - $3])dnl -fi]) - -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- -m4_define([_PKG_CONFIG], -[if test -n "$$1"; then - pkg_cv_[]$1="$$1" - elif test -n "$PKG_CONFIG"; then - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes ], - [pkg_failed=yes]) - else - pkg_failed=untried -fi[]dnl -])# _PKG_CONFIG - -# _PKG_SHORT_ERRORS_SUPPORTED -# ----------------------------- -AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi[]dnl -])# _PKG_SHORT_ERRORS_SUPPORTED - - -# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -# [ACTION-IF-NOT-FOUND]) -# -# -# Note that if there is a possibility the first call to -# PKG_CHECK_MODULES might not happen, you should be sure to include an -# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -# -# -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_MODULES], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl - -pkg_failed=no -AC_MSG_CHECKING([for $1]) - -_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) -_PKG_CONFIG([$1][_LIBS], [libs], [$2]) - -m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS -and $1[]_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details.]) - -if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) - _PKG_SHORT_ERRORS_SUPPORTED - if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - - m4_default([$4], [AC_MSG_ERROR( -[Package requirements ($2) were not met: - -$$1_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -_PKG_TEXT])[]dnl - ]) -elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) - m4_default([$4], [AC_MSG_FAILURE( -[The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -_PKG_TEXT - -To get pkg-config, see .])[]dnl - ]) -else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS - AC_MSG_RESULT([yes]) - $3 -fi[]dnl -])# PKG_CHECK_MODULES - - -# PKG_INSTALLDIR(DIRECTORY) -# ------------------------- -# Substitutes the variable pkgconfigdir as the location where a module -# should install pkg-config .pc files. By default the directory is -# $libdir/pkgconfig, but the default can be changed by passing -# DIRECTORY. The user can override through the --with-pkgconfigdir -# parameter. -AC_DEFUN([PKG_INSTALLDIR], -[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) -m4_pushdef([pkg_description], - [pkg-config installation directory @<:@]pkg_default[@:>@]) -AC_ARG_WITH([pkgconfigdir], - [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, - [with_pkgconfigdir=]pkg_default) -AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) -m4_popdef([pkg_default]) -m4_popdef([pkg_description]) -]) dnl PKG_INSTALLDIR - - -# PKG_NOARCH_INSTALLDIR(DIRECTORY) -# ------------------------- -# Substitutes the variable noarch_pkgconfigdir as the location where a -# module should install arch-independent pkg-config .pc files. By -# default the directory is $datadir/pkgconfig, but the default can be -# changed by passing DIRECTORY. The user can override through the -# --with-noarch-pkgconfigdir parameter. -AC_DEFUN([PKG_NOARCH_INSTALLDIR], -[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) -m4_pushdef([pkg_description], - [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) -AC_ARG_WITH([noarch-pkgconfigdir], - [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, - [with_noarch_pkgconfigdir=]pkg_default) -AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) -m4_popdef([pkg_default]) -m4_popdef([pkg_description]) -]) dnl PKG_NOARCH_INSTALLDIR - -# Copyright (C) 2002-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.14' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.14.1], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.14.1])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# Copyright (C) 2011-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_AR([ACT-IF-FAIL]) -# ------------------------- -# Try to determine the archiver interface, and trigger the ar-lib wrapper -# if it is needed. If the detection of archiver interface fails, run -# ACT-IF-FAIL (default is to abort configure with a proper error message). -AC_DEFUN([AM_PROG_AR], -[AC_BEFORE([$0], [LT_INIT])dnl -AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl -AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([ar-lib])dnl -AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) -: ${AR=ar} - -AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], - [AC_LANG_PUSH([C]) - am_cv_ar_interface=ar - AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], - [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([am_ar_try]) - if test "$ac_status" -eq 0; then - am_cv_ar_interface=ar - else - am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([am_ar_try]) - if test "$ac_status" -eq 0; then - am_cv_ar_interface=lib - else - am_cv_ar_interface=unknown - fi - fi - rm -f conftest.lib libconftest.a - ]) - AC_LANG_POP([C])]) - -case $am_cv_ar_interface in -ar) - ;; -lib) - # Microsoft lib, so override with the ar-lib wrapper script. - # FIXME: It is wrong to rewrite AR. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__AR in this case, - # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something - # similar. - AR="$am_aux_dir/ar-lib $AR" - ;; -unknown) - m4_default([$1], - [AC_MSG_ERROR([could not determine $AR interface])]) - ;; -esac -AC_SUBST([AR])dnl -]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to -# '$srcdir', '$srcdir/..', or '$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is '.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ([2.52])dnl - m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], - [$1], [UPC], [depcc="$UPC" am_compiler_list=], - [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES. -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE([dependency-tracking], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.65])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi]) - -dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) - -# Copyright (C) 2003-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- -# From Jim Meyering - -# Copyright (C) 1996-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MAINTAINER_MODE([DEFAULT-MODE]) -# ---------------------------------- -# Control maintainer-specific portions of Makefiles. -# Default is to disable them, unless 'enable' is passed literally. -# For symmetry, 'disable' may be passed as well. Anyway, the user -# can override the default with the --enable/--disable switch. -AC_DEFUN([AM_MAINTAINER_MODE], -[m4_case(m4_default([$1], [disable]), - [enable], [m4_define([am_maintainer_other], [disable])], - [disable], [m4_define([am_maintainer_other], [enable])], - [m4_define([am_maintainer_other], [enable]) - m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) -AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) - dnl maintainer-mode's default is 'disable' unless 'enable' is passed - AC_ARG_ENABLE([maintainer-mode], - [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], - am_maintainer_other[ make rules and dependencies not useful - (and sometimes confusing) to the casual installer])], - [USE_MAINTAINER_MODE=$enableval], - [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) - AC_MSG_RESULT([$USE_MAINTAINER_MODE]) - AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) - MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST([MAINT])dnl -] -) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it is modern enough. -# If it is, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) - -# Copyright (C) 2003-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_MKDIR_P -# --------------- -# Check for 'mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl FIXME we are no longer going to remove this! adjust warning -dnl FIXME message accordingly. -AC_DIAGNOSE([obsolete], -[$0: this macro is deprecated, and will soon be removed. -You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead, -and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.]) -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# -------------------- -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) - -# _AM_SET_OPTIONS(OPTIONS) -# ------------------------ -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) - -# Copyright (C) 2009-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor 'install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in "make install-strip", and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# -------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of 'v7', 'ustar', or 'pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -# -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - for _am_tool in $_am_tools; do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works. - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([m4/gettext.m4]) -m4_include([m4/iconv.m4]) -m4_include([m4/intlmacosx.m4]) -m4_include([m4/lib-ld.m4]) -m4_include([m4/lib-link.m4]) -m4_include([m4/lib-prefix.m4]) -m4_include([m4/ltoptions.m4]) -m4_include([m4/ltsugar.m4]) -m4_include([m4/ltversion.m4]) -m4_include([m4/lt~obsolete.m4]) -m4_include([m4/nls.m4]) -m4_include([m4/po.m4]) -m4_include([m4/progtest.m4]) -m4_include([acinclude.m4]) diff --git a/ar-lib b/ar-lib deleted file mode 100755 index fe2301e..0000000 --- a/ar-lib +++ /dev/null @@ -1,270 +0,0 @@ -#! /bin/sh -# Wrapper for Microsoft lib.exe - -me=ar-lib -scriptversion=2012-03-01.08; # UTC - -# Copyright (C) 2010-2013 Free Software Foundation, Inc. -# Written by Peter Rosin . -# -# 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, 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 . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - - -# func_error message -func_error () -{ - echo "$me: $1" 1>&2 - exit 1 -} - -file_conv= - -# func_file_conv build_file -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv in - mingw) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_at_file at_file operation archive -# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE -# for each of them. -# When interpreting the content of the @FILE, do NOT use func_file_conv, -# since the user would need to supply preconverted file names to -# binutils ar, at least for MinGW. -func_at_file () -{ - operation=$2 - archive=$3 - at_file_contents=`cat "$1"` - eval set x "$at_file_contents" - shift - - for member - do - $AR -NOLOGO $operation:"$member" "$archive" || exit $? - done -} - -case $1 in - '') - func_error "no command. Try '$0 --help' for more information." - ;; - -h | --h*) - cat </dev/null 2>&1; then + cat <&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = backend -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/sane/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(sanelibdir)" -LTLIBRARIES = $(lib_LTLIBRARIES) $(sanelib_LTLIBRARIES) -libabaton_la_LIBADD = -am_libabaton_la_OBJECTS = libabaton_la-abaton.lo -libabaton_la_OBJECTS = $(am_libabaton_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -libagfafocus_la_LIBADD = -am_libagfafocus_la_OBJECTS = libagfafocus_la-agfafocus.lo -libagfafocus_la_OBJECTS = $(am_libagfafocus_la_OBJECTS) -libapple_la_LIBADD = -am_libapple_la_OBJECTS = libapple_la-apple.lo -libapple_la_OBJECTS = $(am_libapple_la_OBJECTS) -libartec_la_LIBADD = -am_libartec_la_OBJECTS = libartec_la-artec.lo -libartec_la_OBJECTS = $(am_libartec_la_OBJECTS) -libartec_eplus48u_la_LIBADD = -am_libartec_eplus48u_la_OBJECTS = \ - libartec_eplus48u_la-artec_eplus48u.lo -libartec_eplus48u_la_OBJECTS = $(am_libartec_eplus48u_la_OBJECTS) -libas6e_la_LIBADD = -am_libas6e_la_OBJECTS = libas6e_la-as6e.lo -libas6e_la_OBJECTS = $(am_libas6e_la_OBJECTS) -libavision_la_LIBADD = -am_libavision_la_OBJECTS = libavision_la-avision.lo -libavision_la_OBJECTS = $(am_libavision_la_OBJECTS) -libbh_la_LIBADD = -am_libbh_la_OBJECTS = libbh_la-bh.lo -libbh_la_OBJECTS = $(am_libbh_la_OBJECTS) -libcanon_la_LIBADD = -am_libcanon_la_OBJECTS = libcanon_la-canon.lo -libcanon_la_OBJECTS = $(am_libcanon_la_OBJECTS) -libcanon630u_la_LIBADD = -am_libcanon630u_la_OBJECTS = libcanon630u_la-canon630u.lo -libcanon630u_la_OBJECTS = $(am_libcanon630u_la_OBJECTS) -libcanon_dr_la_LIBADD = -am_libcanon_dr_la_OBJECTS = libcanon_dr_la-canon_dr.lo -libcanon_dr_la_OBJECTS = $(am_libcanon_dr_la_OBJECTS) -libcanon_pp_la_LIBADD = -am_libcanon_pp_la_OBJECTS = libcanon_pp_la-canon_pp.lo \ - libcanon_pp_la-canon_pp-io.lo libcanon_pp_la-canon_pp-dev.lo -libcanon_pp_la_OBJECTS = $(am_libcanon_pp_la_OBJECTS) -libcardscan_la_LIBADD = -am_libcardscan_la_OBJECTS = libcardscan_la-cardscan.lo -libcardscan_la_OBJECTS = $(am_libcardscan_la_OBJECTS) -libcoolscan_la_LIBADD = -am_libcoolscan_la_OBJECTS = libcoolscan_la-coolscan.lo -libcoolscan_la_OBJECTS = $(am_libcoolscan_la_OBJECTS) -libcoolscan2_la_LIBADD = -am_libcoolscan2_la_OBJECTS = libcoolscan2_la-coolscan2.lo -libcoolscan2_la_OBJECTS = $(am_libcoolscan2_la_OBJECTS) -libcoolscan3_la_LIBADD = -am_libcoolscan3_la_OBJECTS = libcoolscan3_la-coolscan3.lo -libcoolscan3_la_OBJECTS = $(am_libcoolscan3_la_OBJECTS) -libdc210_la_LIBADD = -am_libdc210_la_OBJECTS = libdc210_la-dc210.lo -libdc210_la_OBJECTS = $(am_libdc210_la_OBJECTS) -libdc240_la_LIBADD = -am_libdc240_la_OBJECTS = libdc240_la-dc240.lo -libdc240_la_OBJECTS = $(am_libdc240_la_OBJECTS) -libdc25_la_LIBADD = -am_libdc25_la_OBJECTS = libdc25_la-dc25.lo -libdc25_la_OBJECTS = $(am_libdc25_la_OBJECTS) -libdell1600n_net_la_LIBADD = -am_libdell1600n_net_la_OBJECTS = libdell1600n_net_la-dell1600n_net.lo -libdell1600n_net_la_OBJECTS = $(am_libdell1600n_net_la_OBJECTS) -libdll_la_LIBADD = -am_libdll_la_OBJECTS = libdll_la-dll.lo -libdll_la_OBJECTS = $(am_libdll_la_OBJECTS) -libdll_preload_la_LIBADD = -am_libdll_preload_la_OBJECTS = libdll_preload_la-dll.lo -libdll_preload_la_OBJECTS = $(am_libdll_preload_la_OBJECTS) -libdmc_la_LIBADD = -am_libdmc_la_OBJECTS = libdmc_la-dmc.lo -libdmc_la_OBJECTS = $(am_libdmc_la_OBJECTS) -libepjitsu_la_LIBADD = -am_libepjitsu_la_OBJECTS = libepjitsu_la-epjitsu.lo -libepjitsu_la_OBJECTS = $(am_libepjitsu_la_OBJECTS) -libepson_la_LIBADD = -am_libepson_la_OBJECTS = libepson_la-epson.lo \ - libepson_la-epson_scsi.lo libepson_la-epson_usb.lo -libepson_la_OBJECTS = $(am_libepson_la_OBJECTS) -libepson2_la_LIBADD = -am_libepson2_la_OBJECTS = libepson2_la-epson2.lo \ - libepson2_la-epson2_scsi.lo libepson2_la-epson2_usb.lo \ - libepson2_la-epson2_net.lo libepson2_la-epson2-io.lo \ - libepson2_la-epson2-commands.lo libepson2_la-epson2-ops.lo \ - libepson2_la-epson2-cct.lo -libepson2_la_OBJECTS = $(am_libepson2_la_OBJECTS) -libepsonds_la_LIBADD = -am_libepsonds_la_OBJECTS = libepsonds_la-epsonds.lo \ - libepsonds_la-epsonds-usb.lo libepsonds_la-epsonds-io.lo \ - libepsonds_la-epsonds-cmd.lo libepsonds_la-epsonds-ops.lo \ - libepsonds_la-epsonds-jpeg.lo libepsonds_la-epsonds-net.lo -libepsonds_la_OBJECTS = $(am_libepsonds_la_OBJECTS) -libfujitsu_la_LIBADD = -am_libfujitsu_la_OBJECTS = libfujitsu_la-fujitsu.lo -libfujitsu_la_OBJECTS = $(am_libfujitsu_la_OBJECTS) -libgenesys_la_LIBADD = -am_libgenesys_la_OBJECTS = libgenesys_la-genesys.lo \ - libgenesys_la-genesys_gl646.lo libgenesys_la-genesys_gl841.lo \ - libgenesys_la-genesys_gl843.lo libgenesys_la-genesys_gl846.lo \ - libgenesys_la-genesys_gl847.lo libgenesys_la-genesys_gl124.lo \ - libgenesys_la-genesys_low.lo -libgenesys_la_OBJECTS = $(am_libgenesys_la_OBJECTS) -libgphoto2_i_la_LIBADD = -am_libgphoto2_i_la_OBJECTS = libgphoto2_i_la-gphoto2.lo -libgphoto2_i_la_OBJECTS = $(am_libgphoto2_i_la_OBJECTS) -libgt68xx_la_LIBADD = -am_libgt68xx_la_OBJECTS = libgt68xx_la-gt68xx.lo -libgt68xx_la_OBJECTS = $(am_libgt68xx_la_OBJECTS) -libhp_la_LIBADD = -am_libhp_la_OBJECTS = libhp_la-hp.lo libhp_la-hp-accessor.lo \ - libhp_la-hp-device.lo libhp_la-hp-handle.lo \ - libhp_la-hp-hpmem.lo libhp_la-hp-option.lo libhp_la-hp-scl.lo -libhp_la_OBJECTS = $(am_libhp_la_OBJECTS) -libhp3500_la_LIBADD = -am_libhp3500_la_OBJECTS = libhp3500_la-hp3500.lo -libhp3500_la_OBJECTS = $(am_libhp3500_la_OBJECTS) -libhp3900_la_LIBADD = -am_libhp3900_la_OBJECTS = libhp3900_la-hp3900.lo -libhp3900_la_OBJECTS = $(am_libhp3900_la_OBJECTS) -libhp4200_la_LIBADD = -am_libhp4200_la_OBJECTS = libhp4200_la-hp4200.lo -libhp4200_la_OBJECTS = $(am_libhp4200_la_OBJECTS) -libhp5400_la_LIBADD = -am_libhp5400_la_OBJECTS = libhp5400_la-hp5400.lo -libhp5400_la_OBJECTS = $(am_libhp5400_la_OBJECTS) -libhp5590_la_LIBADD = -am_libhp5590_la_OBJECTS = libhp5590_la-hp5590.lo -libhp5590_la_OBJECTS = $(am_libhp5590_la_OBJECTS) -libhpljm1005_la_LIBADD = -am_libhpljm1005_la_OBJECTS = libhpljm1005_la-hpljm1005.lo -libhpljm1005_la_OBJECTS = $(am_libhpljm1005_la_OBJECTS) -libhpsj5s_la_LIBADD = -am_libhpsj5s_la_OBJECTS = libhpsj5s_la-hpsj5s.lo -libhpsj5s_la_OBJECTS = $(am_libhpsj5s_la_OBJECTS) -libhs2p_la_LIBADD = -am_libhs2p_la_OBJECTS = libhs2p_la-hs2p.lo -libhs2p_la_OBJECTS = $(am_libhs2p_la_OBJECTS) -libibm_la_LIBADD = -am_libibm_la_OBJECTS = libibm_la-ibm.lo -libibm_la_OBJECTS = $(am_libibm_la_OBJECTS) -libkodak_la_LIBADD = -am_libkodak_la_OBJECTS = libkodak_la-kodak.lo -libkodak_la_OBJECTS = $(am_libkodak_la_OBJECTS) -libkodakaio_la_LIBADD = -am_libkodakaio_la_OBJECTS = libkodakaio_la-kodakaio.lo -libkodakaio_la_OBJECTS = $(am_libkodakaio_la_OBJECTS) -libkvs1025_la_LIBADD = -am_libkvs1025_la_OBJECTS = libkvs1025_la-kvs1025.lo \ - libkvs1025_la-kvs1025_low.lo libkvs1025_la-kvs1025_opt.lo \ - libkvs1025_la-kvs1025_usb.lo -libkvs1025_la_OBJECTS = $(am_libkvs1025_la_OBJECTS) -libkvs20xx_la_LIBADD = -am_libkvs20xx_la_OBJECTS = libkvs20xx_la-kvs20xx.lo \ - libkvs20xx_la-kvs20xx_cmd.lo libkvs20xx_la-kvs20xx_opt.lo -libkvs20xx_la_OBJECTS = $(am_libkvs20xx_la_OBJECTS) -libkvs40xx_la_LIBADD = -am_libkvs40xx_la_OBJECTS = libkvs40xx_la-kvs40xx.lo \ - libkvs40xx_la-kvs40xx_cmd.lo libkvs40xx_la-kvs40xx_opt.lo -libkvs40xx_la_OBJECTS = $(am_libkvs40xx_la_OBJECTS) -libleo_la_LIBADD = -am_libleo_la_OBJECTS = libleo_la-leo.lo -libleo_la_OBJECTS = $(am_libleo_la_OBJECTS) -liblexmark_la_LIBADD = -am_liblexmark_la_OBJECTS = liblexmark_la-lexmark.lo \ - liblexmark_la-lexmark_low.lo -liblexmark_la_OBJECTS = $(am_liblexmark_la_OBJECTS) -libma1509_la_LIBADD = -am_libma1509_la_OBJECTS = libma1509_la-ma1509.lo -libma1509_la_OBJECTS = $(am_libma1509_la_OBJECTS) -libmagicolor_la_LIBADD = -am_libmagicolor_la_OBJECTS = libmagicolor_la-magicolor.lo -libmagicolor_la_OBJECTS = $(am_libmagicolor_la_OBJECTS) -libmatsushita_la_LIBADD = -am_libmatsushita_la_OBJECTS = libmatsushita_la-matsushita.lo -libmatsushita_la_OBJECTS = $(am_libmatsushita_la_OBJECTS) -libmicrotek_la_LIBADD = -am_libmicrotek_la_OBJECTS = libmicrotek_la-microtek.lo -libmicrotek_la_OBJECTS = $(am_libmicrotek_la_OBJECTS) -libmicrotek2_la_LIBADD = -am_libmicrotek2_la_OBJECTS = libmicrotek2_la-microtek2.lo -libmicrotek2_la_OBJECTS = $(am_libmicrotek2_la_OBJECTS) -libmustek_la_LIBADD = -am_libmustek_la_OBJECTS = libmustek_la-mustek.lo -libmustek_la_OBJECTS = $(am_libmustek_la_OBJECTS) -libmustek_pp_la_LIBADD = -am_libmustek_pp_la_OBJECTS = libmustek_pp_la-mustek_pp.lo -libmustek_pp_la_OBJECTS = $(am_libmustek_pp_la_OBJECTS) -libmustek_usb_la_LIBADD = -am_libmustek_usb_la_OBJECTS = libmustek_usb_la-mustek_usb.lo -libmustek_usb_la_OBJECTS = $(am_libmustek_usb_la_OBJECTS) -libmustek_usb2_la_LIBADD = -am_libmustek_usb2_la_OBJECTS = libmustek_usb2_la-mustek_usb2.lo -libmustek_usb2_la_OBJECTS = $(am_libmustek_usb2_la_OBJECTS) -libnec_la_LIBADD = -am_libnec_la_OBJECTS = libnec_la-nec.lo -libnec_la_OBJECTS = $(am_libnec_la_OBJECTS) -libnet_la_LIBADD = -am_libnet_la_OBJECTS = libnet_la-net.lo -libnet_la_OBJECTS = $(am_libnet_la_OBJECTS) -libniash_la_LIBADD = -am_libniash_la_OBJECTS = libniash_la-niash.lo -libniash_la_OBJECTS = $(am_libniash_la_OBJECTS) -libp5_la_LIBADD = -am_libp5_la_OBJECTS = libp5_la-p5.lo -libp5_la_OBJECTS = $(am_libp5_la_OBJECTS) -libpie_la_LIBADD = -am_libpie_la_OBJECTS = libpie_la-pie.lo -libpie_la_OBJECTS = $(am_libpie_la_OBJECTS) -libpieusb_la_LIBADD = -am_libpieusb_la_OBJECTS = libpieusb_la-pieusb_buffer.lo \ - libpieusb_la-pieusb_scancmd.lo libpieusb_la-pieusb_specific.lo \ - libpieusb_la-pieusb_usb.lo libpieusb_la-pieusb.lo -libpieusb_la_OBJECTS = $(am_libpieusb_la_OBJECTS) -libpint_la_LIBADD = -am_libpint_la_OBJECTS = libpint_la-pint.lo -libpint_la_OBJECTS = $(am_libpint_la_OBJECTS) -libpixma_la_LIBADD = -am_libpixma_la_OBJECTS = libpixma_la-pixma.lo \ - libpixma_la-pixma_io_sanei.lo libpixma_la-pixma_common.lo \ - libpixma_la-pixma_mp150.lo libpixma_la-pixma_mp730.lo \ - libpixma_la-pixma_mp750.lo libpixma_la-pixma_mp810.lo \ - libpixma_la-pixma_imageclass.lo libpixma_la-pixma_bjnp.lo -libpixma_la_OBJECTS = $(am_libpixma_la_OBJECTS) -libplustek_la_LIBADD = -am_libplustek_la_OBJECTS = libplustek_la-plustek.lo -libplustek_la_OBJECTS = $(am_libplustek_la_OBJECTS) -libplustek_pp_la_LIBADD = -am_libplustek_pp_la_OBJECTS = libplustek_pp_la-plustek_pp.lo -libplustek_pp_la_OBJECTS = $(am_libplustek_pp_la_OBJECTS) -libpnm_la_LIBADD = -am_libpnm_la_OBJECTS = libpnm_la-pnm.lo -libpnm_la_OBJECTS = $(am_libpnm_la_OBJECTS) -libqcam_la_LIBADD = -am_libqcam_la_OBJECTS = libqcam_la-qcam.lo -libqcam_la_OBJECTS = $(am_libqcam_la_OBJECTS) -libricoh_la_LIBADD = -am_libricoh_la_OBJECTS = libricoh_la-ricoh.lo -libricoh_la_OBJECTS = $(am_libricoh_la_OBJECTS) -librts8891_la_LIBADD = -am_librts8891_la_OBJECTS = librts8891_la-rts8891.lo \ - librts8891_la-rts88xx_lib.lo -librts8891_la_OBJECTS = $(am_librts8891_la_OBJECTS) -libs9036_la_LIBADD = -am_libs9036_la_OBJECTS = libs9036_la-s9036.lo -libs9036_la_OBJECTS = $(am_libs9036_la_OBJECTS) -am__DEPENDENCIES_1 = -libsane_abaton_la_DEPENDENCIES = $(COMMON_LIBS) libabaton.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_abaton_la_OBJECTS = libsane_abaton_la-abaton-s.lo -libsane_abaton_la_OBJECTS = $(nodist_libsane_abaton_la_OBJECTS) -libsane_abaton_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_abaton_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_agfafocus_la_DEPENDENCIES = $(COMMON_LIBS) libagfafocus.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_thread.lo \ - ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_agfafocus_la_OBJECTS = \ - libsane_agfafocus_la-agfafocus-s.lo -libsane_agfafocus_la_OBJECTS = $(nodist_libsane_agfafocus_la_OBJECTS) -libsane_agfafocus_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_agfafocus_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_apple_la_DEPENDENCIES = $(COMMON_LIBS) libapple.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_apple_la_OBJECTS = libsane_apple_la-apple-s.lo -libsane_apple_la_OBJECTS = $(nodist_libsane_apple_la_OBJECTS) -libsane_apple_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_apple_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_artec_la_DEPENDENCIES = $(COMMON_LIBS) libartec.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_artec_la_OBJECTS = libsane_artec_la-artec-s.lo -libsane_artec_la_OBJECTS = $(nodist_libsane_artec_la_OBJECTS) -libsane_artec_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_artec_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_artec_eplus48u_la_DEPENDENCIES = $(COMMON_LIBS) \ - libartec_eplus48u.la ../sanei/sanei_init_debug.lo \ - ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo \ - ../sanei/sanei_thread.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_artec_eplus48u_la_OBJECTS = \ - libsane_artec_eplus48u_la-artec_eplus48u-s.lo -libsane_artec_eplus48u_la_OBJECTS = \ - $(nodist_libsane_artec_eplus48u_la_OBJECTS) -libsane_artec_eplus48u_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_artec_eplus48u_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_as6e_la_DEPENDENCIES = $(COMMON_LIBS) libas6e.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo -nodist_libsane_as6e_la_OBJECTS = libsane_as6e_la-as6e-s.lo -libsane_as6e_la_OBJECTS = $(nodist_libsane_as6e_la_OBJECTS) -libsane_as6e_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_as6e_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_avision_la_DEPENDENCIES = $(COMMON_LIBS) libavision.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo \ - ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_avision_la_OBJECTS = libsane_avision_la-avision-s.lo -libsane_avision_la_OBJECTS = $(nodist_libsane_avision_la_OBJECTS) -libsane_avision_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_avision_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_bh_la_DEPENDENCIES = $(COMMON_LIBS) libbh.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_bh_la_OBJECTS = libsane_bh_la-bh-s.lo -libsane_bh_la_OBJECTS = $(nodist_libsane_bh_la_OBJECTS) -libsane_bh_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libsane_bh_la_LDFLAGS) $(LDFLAGS) -o $@ -libsane_canon_la_DEPENDENCIES = $(COMMON_LIBS) libcanon.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_canon_la_OBJECTS = libsane_canon_la-canon-s.lo -libsane_canon_la_OBJECTS = $(nodist_libsane_canon_la_OBJECTS) -libsane_canon_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_canon_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_canon630u_la_DEPENDENCIES = $(COMMON_LIBS) libcanon630u.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_canon630u_la_OBJECTS = \ - libsane_canon630u_la-canon630u-s.lo -libsane_canon630u_la_OBJECTS = $(nodist_libsane_canon630u_la_OBJECTS) -libsane_canon630u_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_canon630u_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_canon_dr_la_DEPENDENCIES = $(COMMON_LIBS) libcanon_dr.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_magic.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_canon_dr_la_OBJECTS = \ - libsane_canon_dr_la-canon_dr-s.lo -libsane_canon_dr_la_OBJECTS = $(nodist_libsane_canon_dr_la_OBJECTS) -libsane_canon_dr_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_canon_dr_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_canon_pp_la_DEPENDENCIES = $(COMMON_LIBS) libcanon_pp.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - $(am__DEPENDENCIES_1) -nodist_libsane_canon_pp_la_OBJECTS = \ - libsane_canon_pp_la-canon_pp-s.lo -libsane_canon_pp_la_OBJECTS = $(nodist_libsane_canon_pp_la_OBJECTS) -libsane_canon_pp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_canon_pp_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_cardscan_la_DEPENDENCIES = $(COMMON_LIBS) libcardscan.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_cardscan_la_OBJECTS = \ - libsane_cardscan_la-cardscan-s.lo -libsane_cardscan_la_OBJECTS = $(nodist_libsane_cardscan_la_OBJECTS) -libsane_cardscan_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_cardscan_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_coolscan_la_DEPENDENCIES = $(COMMON_LIBS) libcoolscan.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_thread.lo \ - ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_coolscan_la_OBJECTS = \ - libsane_coolscan_la-coolscan-s.lo -libsane_coolscan_la_OBJECTS = $(nodist_libsane_coolscan_la_OBJECTS) -libsane_coolscan_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_coolscan_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_coolscan2_la_DEPENDENCIES = $(COMMON_LIBS) libcoolscan2.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_coolscan2_la_OBJECTS = \ - libsane_coolscan2_la-coolscan2-s.lo -libsane_coolscan2_la_OBJECTS = $(nodist_libsane_coolscan2_la_OBJECTS) -libsane_coolscan2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_coolscan2_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_coolscan3_la_DEPENDENCIES = $(COMMON_LIBS) libcoolscan3.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_coolscan3_la_OBJECTS = \ - libsane_coolscan3_la-coolscan3-s.lo -libsane_coolscan3_la_OBJECTS = $(nodist_libsane_coolscan3_la_OBJECTS) -libsane_coolscan3_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_coolscan3_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_dc210_la_DEPENDENCIES = $(COMMON_LIBS) libdc210.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_dc210_la_OBJECTS = libsane_dc210_la-dc210-s.lo -libsane_dc210_la_OBJECTS = $(nodist_libsane_dc210_la_OBJECTS) -libsane_dc210_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_dc210_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_dc240_la_DEPENDENCIES = $(COMMON_LIBS) libdc240.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_dc240_la_OBJECTS = libsane_dc240_la-dc240-s.lo -libsane_dc240_la_OBJECTS = $(nodist_libsane_dc240_la_OBJECTS) -libsane_dc240_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_dc240_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_dc25_la_DEPENDENCIES = $(COMMON_LIBS) libdc25.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - $(am__DEPENDENCIES_1) -nodist_libsane_dc25_la_OBJECTS = libsane_dc25_la-dc25-s.lo -libsane_dc25_la_OBJECTS = $(nodist_libsane_dc25_la_OBJECTS) -libsane_dc25_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_dc25_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_dell1600n_net_la_DEPENDENCIES = $(COMMON_LIBS) \ - libdell1600n_net.la ../sanei/sanei_init_debug.lo \ - ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo \ - sane_strstatus.lo $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_dell1600n_net_la_OBJECTS = \ - libsane_dell1600n_net_la-dell1600n_net-s.lo -libsane_dell1600n_net_la_OBJECTS = \ - $(nodist_libsane_dell1600n_net_la_OBJECTS) -libsane_dell1600n_net_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_dell1600n_net_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_dll_la_DEPENDENCIES = $(COMMON_LIBS) libdll.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - $(am__DEPENDENCIES_1) -nodist_libsane_dll_la_OBJECTS = libsane_dll_la-dll-s.lo -libsane_dll_la_OBJECTS = $(nodist_libsane_dll_la_OBJECTS) -libsane_dll_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_dll_la_LDFLAGS) $(LDFLAGS) -o \ - $@ -libsane_dmc_la_DEPENDENCIES = $(COMMON_LIBS) libdmc.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_dmc_la_OBJECTS = libsane_dmc_la-dmc-s.lo -libsane_dmc_la_OBJECTS = $(nodist_libsane_dmc_la_OBJECTS) -libsane_dmc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_dmc_la_LDFLAGS) $(LDFLAGS) -o \ - $@ -libsane_epjitsu_la_DEPENDENCIES = $(COMMON_LIBS) libepjitsu.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_epjitsu_la_OBJECTS = libsane_epjitsu_la-epjitsu-s.lo -libsane_epjitsu_la_OBJECTS = $(nodist_libsane_epjitsu_la_OBJECTS) -libsane_epjitsu_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_epjitsu_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_epson_la_DEPENDENCIES = $(COMMON_LIBS) libepson.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_pio.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_epson_la_OBJECTS = libsane_epson_la-epson-s.lo -libsane_epson_la_OBJECTS = $(nodist_libsane_epson_la_OBJECTS) -libsane_epson_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_epson_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_epson2_la_DEPENDENCIES = $(COMMON_LIBS) libepson2.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo \ - ../sanei/sanei_udp.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_epson2_la_OBJECTS = libsane_epson2_la-epson2-s.lo -libsane_epson2_la_OBJECTS = $(nodist_libsane_epson2_la_OBJECTS) -libsane_epson2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_epson2_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_epsonds_la_DEPENDENCIES = $(COMMON_LIBS) libepsonds.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_epsonds_la_OBJECTS = libsane_epsonds_la-epsonds-s.lo -libsane_epsonds_la_OBJECTS = $(nodist_libsane_epsonds_la_OBJECTS) -libsane_epsonds_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_epsonds_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_fujitsu_la_DEPENDENCIES = $(COMMON_LIBS) libfujitsu.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_magic.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_fujitsu_la_OBJECTS = libsane_fujitsu_la-fujitsu-s.lo -libsane_fujitsu_la_OBJECTS = $(nodist_libsane_fujitsu_la_OBJECTS) -libsane_fujitsu_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_fujitsu_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_genesys_la_DEPENDENCIES = $(COMMON_LIBS) libgenesys.la \ - ../sanei/sanei_magic.lo ../sanei/sanei_init_debug.lo \ - ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_genesys_la_OBJECTS = libsane_genesys_la-genesys-s.lo -libsane_genesys_la_OBJECTS = $(nodist_libsane_genesys_la_OBJECTS) -libsane_genesys_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_genesys_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_gphoto2_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(COMMON_LIBS) \ - libgphoto2_i.la ../sanei/sanei_init_debug.lo \ - ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo \ - sane_strstatus.lo $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_gphoto2_la_OBJECTS = libsane_gphoto2_la-gphoto2-s.lo -libsane_gphoto2_la_OBJECTS = $(nodist_libsane_gphoto2_la_OBJECTS) -libsane_gphoto2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_gphoto2_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_gt68xx_la_DEPENDENCIES = $(COMMON_LIBS) libgt68xx.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_gt68xx_la_OBJECTS = libsane_gt68xx_la-gt68xx-s.lo -libsane_gt68xx_la_OBJECTS = $(nodist_libsane_gt68xx_la_OBJECTS) -libsane_gt68xx_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_gt68xx_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_hp_la_DEPENDENCIES = $(COMMON_LIBS) libhp.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_pio.lo ../sanei/sanei_thread.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_hp_la_OBJECTS = libsane_hp_la-hp-s.lo -libsane_hp_la_OBJECTS = $(nodist_libsane_hp_la_OBJECTS) -libsane_hp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libsane_hp_la_LDFLAGS) $(LDFLAGS) -o $@ -libsane_hp3500_la_DEPENDENCIES = $(COMMON_LIBS) libhp3500.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_hp3500_la_OBJECTS = libsane_hp3500_la-hp3500-s.lo -libsane_hp3500_la_OBJECTS = $(nodist_libsane_hp3500_la_OBJECTS) -libsane_hp3500_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_hp3500_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_hp3900_la_DEPENDENCIES = $(COMMON_LIBS) libhp3900.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_hp3900_la_OBJECTS = libsane_hp3900_la-hp3900-s.lo -libsane_hp3900_la_OBJECTS = $(nodist_libsane_hp3900_la_OBJECTS) -libsane_hp3900_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_hp3900_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_hp4200_la_DEPENDENCIES = $(COMMON_LIBS) libhp4200.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo ../sanei/sanei_pv8630.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_hp4200_la_OBJECTS = libsane_hp4200_la-hp4200-s.lo -libsane_hp4200_la_OBJECTS = $(nodist_libsane_hp4200_la_OBJECTS) -libsane_hp4200_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_hp4200_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_hp5400_la_DEPENDENCIES = $(COMMON_LIBS) libhp5400.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_hp5400_la_OBJECTS = libsane_hp5400_la-hp5400-s.lo -libsane_hp5400_la_OBJECTS = $(nodist_libsane_hp5400_la_OBJECTS) -libsane_hp5400_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_hp5400_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_hp5590_la_DEPENDENCIES = $(COMMON_LIBS) libhp5590.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_hp5590_la_OBJECTS = libsane_hp5590_la-hp5590-s.lo -libsane_hp5590_la_OBJECTS = $(nodist_libsane_hp5590_la_OBJECTS) -libsane_hp5590_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_hp5590_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_hpljm1005_la_DEPENDENCIES = $(COMMON_LIBS) libhpljm1005.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_hpljm1005_la_OBJECTS = \ - libsane_hpljm1005_la-hpljm1005-s.lo -libsane_hpljm1005_la_OBJECTS = $(nodist_libsane_hpljm1005_la_OBJECTS) -libsane_hpljm1005_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_hpljm1005_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_hpsj5s_la_DEPENDENCIES = $(COMMON_LIBS) libhpsj5s.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - $(am__DEPENDENCIES_1) -nodist_libsane_hpsj5s_la_OBJECTS = libsane_hpsj5s_la-hpsj5s-s.lo -libsane_hpsj5s_la_OBJECTS = $(nodist_libsane_hpsj5s_la_OBJECTS) -libsane_hpsj5s_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_hpsj5s_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_hs2p_la_DEPENDENCIES = $(COMMON_LIBS) libhs2p.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_hs2p_la_OBJECTS = libsane_hs2p_la-hs2p-s.lo -libsane_hs2p_la_OBJECTS = $(nodist_libsane_hs2p_la_OBJECTS) -libsane_hs2p_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_hs2p_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_ibm_la_DEPENDENCIES = $(COMMON_LIBS) libibm.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_ibm_la_OBJECTS = libsane_ibm_la-ibm-s.lo -libsane_ibm_la_OBJECTS = $(nodist_libsane_ibm_la_OBJECTS) -libsane_ibm_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_ibm_la_LDFLAGS) $(LDFLAGS) -o \ - $@ -libsane_kodak_la_DEPENDENCIES = $(COMMON_LIBS) libkodak.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_kodak_la_OBJECTS = libsane_kodak_la-kodak-s.lo -libsane_kodak_la_OBJECTS = $(nodist_libsane_kodak_la_OBJECTS) -libsane_kodak_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_kodak_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_kodakaio_la_DEPENDENCIES = $(COMMON_LIBS) libkodakaio.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_kodakaio_la_OBJECTS = \ - libsane_kodakaio_la-kodakaio-s.lo -libsane_kodakaio_la_OBJECTS = $(nodist_libsane_kodakaio_la_OBJECTS) -libsane_kodakaio_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_kodakaio_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_kvs1025_la_DEPENDENCIES = $(COMMON_LIBS) libkvs1025.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo ../sanei/sanei_magic.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_kvs1025_la_OBJECTS = libsane_kvs1025_la-kvs1025-s.lo -libsane_kvs1025_la_OBJECTS = $(nodist_libsane_kvs1025_la_OBJECTS) -libsane_kvs1025_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_kvs1025_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_kvs20xx_la_DEPENDENCIES = $(COMMON_LIBS) libkvs20xx.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_kvs20xx_la_OBJECTS = libsane_kvs20xx_la-kvs20xx-s.lo -libsane_kvs20xx_la_OBJECTS = $(nodist_libsane_kvs20xx_la_OBJECTS) -libsane_kvs20xx_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_kvs20xx_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_kvs40xx_la_DEPENDENCIES = $(COMMON_LIBS) libkvs40xx.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_kvs40xx_la_OBJECTS = libsane_kvs40xx_la-kvs40xx-s.lo -libsane_kvs40xx_la_OBJECTS = $(nodist_libsane_kvs40xx_la_OBJECTS) -libsane_kvs40xx_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_kvs40xx_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_leo_la_DEPENDENCIES = $(COMMON_LIBS) libleo.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_leo_la_OBJECTS = libsane_leo_la-leo-s.lo -libsane_leo_la_OBJECTS = $(nodist_libsane_leo_la_OBJECTS) -libsane_leo_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_leo_la_LDFLAGS) $(LDFLAGS) -o \ - $@ -libsane_lexmark_la_DEPENDENCIES = $(COMMON_LIBS) liblexmark.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_lexmark_la_OBJECTS = libsane_lexmark_la-lexmark-s.lo -libsane_lexmark_la_OBJECTS = $(nodist_libsane_lexmark_la_OBJECTS) -libsane_lexmark_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_lexmark_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_ma1509_la_DEPENDENCIES = $(COMMON_LIBS) libma1509.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_ma1509_la_OBJECTS = libsane_ma1509_la-ma1509-s.lo -libsane_ma1509_la_OBJECTS = $(nodist_libsane_ma1509_la_OBJECTS) -libsane_ma1509_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_ma1509_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_magicolor_la_DEPENDENCIES = $(COMMON_LIBS) libmagicolor.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_magicolor_la_OBJECTS = \ - libsane_magicolor_la-magicolor-s.lo -libsane_magicolor_la_OBJECTS = $(nodist_libsane_magicolor_la_OBJECTS) -libsane_magicolor_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_magicolor_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_matsushita_la_DEPENDENCIES = $(COMMON_LIBS) libmatsushita.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_matsushita_la_OBJECTS = \ - libsane_matsushita_la-matsushita-s.lo -libsane_matsushita_la_OBJECTS = \ - $(nodist_libsane_matsushita_la_OBJECTS) -libsane_matsushita_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_matsushita_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_microtek_la_DEPENDENCIES = $(COMMON_LIBS) libmicrotek.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_microtek_la_OBJECTS = \ - libsane_microtek_la-microtek-s.lo -libsane_microtek_la_OBJECTS = $(nodist_libsane_microtek_la_OBJECTS) -libsane_microtek_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_microtek_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_microtek2_la_DEPENDENCIES = $(COMMON_LIBS) libmicrotek2.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_thread.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_microtek2_la_OBJECTS = \ - libsane_microtek2_la-microtek2-s.lo -libsane_microtek2_la_OBJECTS = $(nodist_libsane_microtek2_la_OBJECTS) -libsane_microtek2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_microtek2_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_mustek_la_DEPENDENCIES = $(COMMON_LIBS) libmustek.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_thread.lo ../sanei/sanei_ab306.lo \ - ../sanei/sanei_pa4s2.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_mustek_la_OBJECTS = libsane_mustek_la-mustek-s.lo -libsane_mustek_la_OBJECTS = $(nodist_libsane_mustek_la_OBJECTS) -libsane_mustek_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_mustek_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_mustek_pp_la_DEPENDENCIES = $(COMMON_LIBS) libmustek_pp.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_pa4s2.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_mustek_pp_la_OBJECTS = \ - libsane_mustek_pp_la-mustek_pp-s.lo -libsane_mustek_pp_la_OBJECTS = $(nodist_libsane_mustek_pp_la_OBJECTS) -libsane_mustek_pp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_mustek_pp_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_mustek_usb_la_DEPENDENCIES = $(COMMON_LIBS) libmustek_usb.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_mustek_usb_la_OBJECTS = \ - libsane_mustek_usb_la-mustek_usb-s.lo -libsane_mustek_usb_la_OBJECTS = \ - $(nodist_libsane_mustek_usb_la_OBJECTS) -libsane_mustek_usb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_mustek_usb_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_mustek_usb2_la_DEPENDENCIES = $(COMMON_LIBS) libmustek_usb2.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_mustek_usb2_la_OBJECTS = \ - libsane_mustek_usb2_la-mustek_usb2-s.lo -libsane_mustek_usb2_la_OBJECTS = \ - $(nodist_libsane_mustek_usb2_la_OBJECTS) -libsane_mustek_usb2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_mustek_usb2_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_nec_la_DEPENDENCIES = $(COMMON_LIBS) libnec.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_nec_la_OBJECTS = libsane_nec_la-nec-s.lo -libsane_nec_la_OBJECTS = $(nodist_libsane_nec_la_OBJECTS) -libsane_nec_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_nec_la_LDFLAGS) $(LDFLAGS) -o \ - $@ -libsane_net_la_DEPENDENCIES = $(COMMON_LIBS) libnet.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_net.lo ../sanei/sanei_wire.lo \ - ../sanei/sanei_codec_bin.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_net_la_OBJECTS = libsane_net_la-net-s.lo -libsane_net_la_OBJECTS = $(nodist_libsane_net_la_OBJECTS) -libsane_net_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_net_la_LDFLAGS) $(LDFLAGS) -o \ - $@ -libsane_niash_la_DEPENDENCIES = $(COMMON_LIBS) libniash.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_niash_la_OBJECTS = libsane_niash_la-niash-s.lo -libsane_niash_la_OBJECTS = $(nodist_libsane_niash_la_OBJECTS) -libsane_niash_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_niash_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_p5_la_DEPENDENCIES = $(COMMON_LIBS) libp5.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo -nodist_libsane_p5_la_OBJECTS = libsane_p5_la-p5-s.lo -libsane_p5_la_OBJECTS = $(nodist_libsane_p5_la_OBJECTS) -libsane_p5_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libsane_p5_la_LDFLAGS) $(LDFLAGS) -o $@ -libsane_pie_la_DEPENDENCIES = $(COMMON_LIBS) libpie.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_thread.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_pie_la_OBJECTS = libsane_pie_la-pie-s.lo -libsane_pie_la_OBJECTS = $(nodist_libsane_pie_la_OBJECTS) -libsane_pie_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_pie_la_LDFLAGS) $(LDFLAGS) -o \ - $@ -libsane_pieusb_la_DEPENDENCIES = $(COMMON_LIBS) libpieusb.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_thread.lo ../sanei/sanei_usb.lo \ - ../sanei/sanei_ir.lo ../sanei/sanei_magic.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_pieusb_la_OBJECTS = libsane_pieusb_la-pieusb-s.lo -libsane_pieusb_la_OBJECTS = $(nodist_libsane_pieusb_la_OBJECTS) -libsane_pieusb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_pieusb_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_pint_la_DEPENDENCIES = $(COMMON_LIBS) libpint.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo -nodist_libsane_pint_la_OBJECTS = libsane_pint_la-pint-s.lo -libsane_pint_la_OBJECTS = $(nodist_libsane_pint_la_OBJECTS) -libsane_pint_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_pint_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_pixma_la_DEPENDENCIES = $(COMMON_LIBS) libpixma.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_pixma_la_OBJECTS = libsane_pixma_la-pixma-s.lo -libsane_pixma_la_OBJECTS = $(nodist_libsane_pixma_la_OBJECTS) -libsane_pixma_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_pixma_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_plustek_la_DEPENDENCIES = $(COMMON_LIBS) libplustek.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo \ - ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_plustek_la_OBJECTS = libsane_plustek_la-plustek-s.lo -libsane_plustek_la_OBJECTS = $(nodist_libsane_plustek_la_OBJECTS) -libsane_plustek_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_plustek_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_plustek_pp_la_DEPENDENCIES = $(COMMON_LIBS) libplustek_pp.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_plustek_pp_la_OBJECTS = \ - libsane_plustek_pp_la-plustek_pp-s.lo -libsane_plustek_pp_la_OBJECTS = \ - $(nodist_libsane_plustek_pp_la_OBJECTS) -libsane_plustek_pp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_plustek_pp_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_pnm_la_DEPENDENCIES = $(COMMON_LIBS) libpnm.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo -nodist_libsane_pnm_la_OBJECTS = libsane_pnm_la-pnm-s.lo -libsane_pnm_la_OBJECTS = $(nodist_libsane_pnm_la_OBJECTS) -libsane_pnm_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_pnm_la_LDFLAGS) $(LDFLAGS) -o \ - $@ -libsane_qcam_la_DEPENDENCIES = $(COMMON_LIBS) libqcam.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_pio.lo -nodist_libsane_qcam_la_OBJECTS = libsane_qcam_la-qcam-s.lo -libsane_qcam_la_OBJECTS = $(nodist_libsane_qcam_la_OBJECTS) -libsane_qcam_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_qcam_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_ricoh_la_DEPENDENCIES = $(COMMON_LIBS) libricoh.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_ricoh_la_OBJECTS = libsane_ricoh_la-ricoh-s.lo -libsane_ricoh_la_OBJECTS = $(nodist_libsane_ricoh_la_OBJECTS) -libsane_ricoh_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_ricoh_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_rts8891_la_DEPENDENCIES = $(COMMON_LIBS) librts8891.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_scsi.lo ../sanei/sanei_usb.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_rts8891_la_OBJECTS = libsane_rts8891_la-rts8891-s.lo -libsane_rts8891_la_OBJECTS = $(nodist_libsane_rts8891_la_OBJECTS) -libsane_rts8891_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_rts8891_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_s9036_la_DEPENDENCIES = $(COMMON_LIBS) libs9036.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_s9036_la_OBJECTS = libsane_s9036_la-s9036-s.lo -libsane_s9036_la_OBJECTS = $(nodist_libsane_s9036_la_OBJECTS) -libsane_s9036_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_s9036_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_sceptre_la_DEPENDENCIES = $(COMMON_LIBS) libsceptre.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_sceptre_la_OBJECTS = libsane_sceptre_la-sceptre-s.lo -libsane_sceptre_la_OBJECTS = $(nodist_libsane_sceptre_la_OBJECTS) -libsane_sceptre_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_sceptre_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_sharp_la_DEPENDENCIES = $(COMMON_LIBS) libsharp.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_sharp_la_OBJECTS = libsane_sharp_la-sharp-s.lo -libsane_sharp_la_OBJECTS = $(nodist_libsane_sharp_la_OBJECTS) -libsane_sharp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_sharp_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_sm3600_la_DEPENDENCIES = $(COMMON_LIBS) libsm3600.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_sm3600_la_OBJECTS = libsane_sm3600_la-sm3600-s.lo -libsane_sm3600_la_OBJECTS = $(nodist_libsane_sm3600_la_OBJECTS) -libsane_sm3600_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_sm3600_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_sm3840_la_DEPENDENCIES = $(COMMON_LIBS) libsm3840.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_sm3840_la_OBJECTS = libsane_sm3840_la-sm3840-s.lo -libsane_sm3840_la_OBJECTS = $(nodist_libsane_sm3840_la_OBJECTS) -libsane_sm3840_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_sm3840_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_snapscan_la_DEPENDENCIES = $(COMMON_LIBS) libsnapscan.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo \ - ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_snapscan_la_OBJECTS = \ - libsane_snapscan_la-snapscan-s.lo -libsane_snapscan_la_OBJECTS = $(nodist_libsane_snapscan_la_OBJECTS) -libsane_snapscan_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_snapscan_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_sp15c_la_DEPENDENCIES = $(COMMON_LIBS) libsp15c.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_thread.lo \ - ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_sp15c_la_OBJECTS = libsane_sp15c_la-sp15c-s.lo -libsane_sp15c_la_OBJECTS = $(nodist_libsane_sp15c_la_OBJECTS) -libsane_sp15c_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_sp15c_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_st400_la_DEPENDENCIES = $(COMMON_LIBS) libst400.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_st400_la_OBJECTS = libsane_st400_la-st400-s.lo -libsane_st400_la_OBJECTS = $(nodist_libsane_st400_la_OBJECTS) -libsane_st400_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_st400_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_stv680_la_DEPENDENCIES = $(COMMON_LIBS) libstv680.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_stv680_la_OBJECTS = libsane_stv680_la-stv680-s.lo -libsane_stv680_la_OBJECTS = $(nodist_libsane_stv680_la_OBJECTS) -libsane_stv680_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_stv680_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_tamarack_la_DEPENDENCIES = $(COMMON_LIBS) libtamarack.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_thread.lo \ - ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_tamarack_la_OBJECTS = \ - libsane_tamarack_la-tamarack-s.lo -libsane_tamarack_la_OBJECTS = $(nodist_libsane_tamarack_la_OBJECTS) -libsane_tamarack_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_tamarack_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_teco1_la_DEPENDENCIES = $(COMMON_LIBS) libteco1.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_teco1_la_OBJECTS = libsane_teco1_la-teco1-s.lo -libsane_teco1_la_OBJECTS = $(nodist_libsane_teco1_la_OBJECTS) -libsane_teco1_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_teco1_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_teco2_la_DEPENDENCIES = $(COMMON_LIBS) libteco2.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_teco2_la_OBJECTS = libsane_teco2_la-teco2-s.lo -libsane_teco2_la_OBJECTS = $(nodist_libsane_teco2_la_OBJECTS) -libsane_teco2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_teco2_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_teco3_la_DEPENDENCIES = $(COMMON_LIBS) libteco3.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_scsi.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_teco3_la_OBJECTS = libsane_teco3_la-teco3-s.lo -libsane_teco3_la_OBJECTS = $(nodist_libsane_teco3_la_OBJECTS) -libsane_teco3_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_teco3_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_test_la_DEPENDENCIES = $(COMMON_LIBS) libtest.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_thread.lo $(am__DEPENDENCIES_1) -nodist_libsane_test_la_OBJECTS = libsane_test_la-test-s.lo -libsane_test_la_OBJECTS = $(nodist_libsane_test_la_OBJECTS) -libsane_test_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_test_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_u12_la_DEPENDENCIES = $(COMMON_LIBS) libu12.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_u12_la_OBJECTS = libsane_u12_la-u12-s.lo -libsane_u12_la_OBJECTS = $(nodist_libsane_u12_la_OBJECTS) -libsane_u12_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_u12_la_LDFLAGS) $(LDFLAGS) -o \ - $@ -libsane_umax_la_DEPENDENCIES = $(COMMON_LIBS) libumax.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \ - sane_strstatus.lo ../sanei/sanei_usb.lo \ - ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_pv8630.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nodist_libsane_umax_la_OBJECTS = libsane_umax_la-umax-s.lo -libsane_umax_la_OBJECTS = $(nodist_libsane_umax_la_OBJECTS) -libsane_umax_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_umax_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsane_umax1220u_la_DEPENDENCIES = $(COMMON_LIBS) libumax1220u.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo ../sanei/sanei_pv8630.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_umax1220u_la_OBJECTS = \ - libsane_umax1220u_la-umax1220u-s.lo -libsane_umax1220u_la_OBJECTS = $(nodist_libsane_umax1220u_la_OBJECTS) -libsane_umax1220u_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_umax1220u_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_umax_pp_la_DEPENDENCIES = $(COMMON_LIBS) libumax_pp.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - $(am__DEPENDENCIES_1) -nodist_libsane_umax_pp_la_OBJECTS = libsane_umax_pp_la-umax_pp-s.lo -libsane_umax_pp_la_OBJECTS = $(nodist_libsane_umax_pp_la_OBJECTS) -libsane_umax_pp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_umax_pp_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libsane_v4l_la_DEPENDENCIES = $(COMMON_LIBS) libv4l.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - $(am__DEPENDENCIES_1) -nodist_libsane_v4l_la_OBJECTS = libsane_v4l_la-v4l-s.lo -libsane_v4l_la_OBJECTS = $(nodist_libsane_v4l_la_OBJECTS) -libsane_v4l_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_v4l_la_LDFLAGS) $(LDFLAGS) -o \ - $@ -libsane_xerox_mfp_la_DEPENDENCIES = $(COMMON_LIBS) libxerox_mfp.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ - $(am__DEPENDENCIES_1) ../sanei/sanei_usb.lo \ - ../sanei/sanei_tcp.lo $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -nodist_libsane_xerox_mfp_la_OBJECTS = \ - libsane_xerox_mfp_la-xerox_mfp-s.lo -libsane_xerox_mfp_la_OBJECTS = $(nodist_libsane_xerox_mfp_la_OBJECTS) -libsane_xerox_mfp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsane_xerox_mfp_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -nodist_libsane_la_OBJECTS = libsane_la-dll-s.lo -libsane_la_OBJECTS = $(nodist_libsane_la_OBJECTS) -libsane_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libsane_la_LDFLAGS) $(LDFLAGS) -o $@ -libsceptre_la_LIBADD = -am_libsceptre_la_OBJECTS = libsceptre_la-sceptre.lo -libsceptre_la_OBJECTS = $(am_libsceptre_la_OBJECTS) -libsharp_la_LIBADD = -am_libsharp_la_OBJECTS = libsharp_la-sharp.lo -libsharp_la_OBJECTS = $(am_libsharp_la_OBJECTS) -libsm3600_la_LIBADD = -am_libsm3600_la_OBJECTS = libsm3600_la-sm3600.lo -libsm3600_la_OBJECTS = $(am_libsm3600_la_OBJECTS) -libsm3840_la_LIBADD = -am_libsm3840_la_OBJECTS = libsm3840_la-sm3840.lo -libsm3840_la_OBJECTS = $(am_libsm3840_la_OBJECTS) -libsnapscan_la_LIBADD = -am_libsnapscan_la_OBJECTS = libsnapscan_la-snapscan.lo -libsnapscan_la_OBJECTS = $(am_libsnapscan_la_OBJECTS) -libsp15c_la_LIBADD = -am_libsp15c_la_OBJECTS = libsp15c_la-sp15c.lo -libsp15c_la_OBJECTS = $(am_libsp15c_la_OBJECTS) -libst400_la_LIBADD = -am_libst400_la_OBJECTS = libst400_la-st400.lo -libst400_la_OBJECTS = $(am_libst400_la_OBJECTS) -libstv680_la_LIBADD = -am_libstv680_la_OBJECTS = libstv680_la-stv680.lo -libstv680_la_OBJECTS = $(am_libstv680_la_OBJECTS) -libtamarack_la_LIBADD = -am_libtamarack_la_OBJECTS = libtamarack_la-tamarack.lo -libtamarack_la_OBJECTS = $(am_libtamarack_la_OBJECTS) -libteco1_la_LIBADD = -am_libteco1_la_OBJECTS = libteco1_la-teco1.lo -libteco1_la_OBJECTS = $(am_libteco1_la_OBJECTS) -libteco2_la_LIBADD = -am_libteco2_la_OBJECTS = libteco2_la-teco2.lo -libteco2_la_OBJECTS = $(am_libteco2_la_OBJECTS) -libteco3_la_LIBADD = -am_libteco3_la_OBJECTS = libteco3_la-teco3.lo -libteco3_la_OBJECTS = $(am_libteco3_la_OBJECTS) -libtest_la_LIBADD = -am_libtest_la_OBJECTS = libtest_la-test.lo -libtest_la_OBJECTS = $(am_libtest_la_OBJECTS) -libu12_la_LIBADD = -am_libu12_la_OBJECTS = libu12_la-u12.lo -libu12_la_OBJECTS = $(am_libu12_la_OBJECTS) -libumax_la_LIBADD = -am_libumax_la_OBJECTS = libumax_la-umax.lo -libumax_la_OBJECTS = $(am_libumax_la_OBJECTS) -libumax1220u_la_LIBADD = -am_libumax1220u_la_OBJECTS = libumax1220u_la-umax1220u.lo -libumax1220u_la_OBJECTS = $(am_libumax1220u_la_OBJECTS) -libumax_pp_la_LIBADD = -am_libumax_pp_la_OBJECTS = libumax_pp_la-umax_pp.lo \ - libumax_pp_la-umax_pp_low.lo libumax_pp_la-umax_pp_mid.lo -libumax_pp_la_OBJECTS = $(am_libumax_pp_la_OBJECTS) -libv4l_la_LIBADD = -am_libv4l_la_OBJECTS = libv4l_la-v4l.lo -libv4l_la_OBJECTS = $(am_libv4l_la_OBJECTS) -libxerox_mfp_la_LIBADD = -am_libxerox_mfp_la_OBJECTS = libxerox_mfp_la-xerox_mfp.lo \ - libxerox_mfp_la-xerox_mfp-usb.lo \ - libxerox_mfp_la-xerox_mfp-tcp.lo -libxerox_mfp_la_OBJECTS = $(am_libxerox_mfp_la_OBJECTS) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/sane -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libabaton_la_SOURCES) $(libagfafocus_la_SOURCES) \ - $(libapple_la_SOURCES) $(libartec_la_SOURCES) \ - $(libartec_eplus48u_la_SOURCES) $(libas6e_la_SOURCES) \ - $(libavision_la_SOURCES) $(libbh_la_SOURCES) \ - $(libcanon_la_SOURCES) $(libcanon630u_la_SOURCES) \ - $(libcanon_dr_la_SOURCES) $(libcanon_pp_la_SOURCES) \ - $(libcardscan_la_SOURCES) $(libcoolscan_la_SOURCES) \ - $(libcoolscan2_la_SOURCES) $(libcoolscan3_la_SOURCES) \ - $(libdc210_la_SOURCES) $(libdc240_la_SOURCES) \ - $(libdc25_la_SOURCES) $(libdell1600n_net_la_SOURCES) \ - $(libdll_la_SOURCES) $(libdll_preload_la_SOURCES) \ - $(libdmc_la_SOURCES) $(libepjitsu_la_SOURCES) \ - $(libepson_la_SOURCES) $(libepson2_la_SOURCES) \ - $(libepsonds_la_SOURCES) $(libfujitsu_la_SOURCES) \ - $(libgenesys_la_SOURCES) $(libgphoto2_i_la_SOURCES) \ - $(libgt68xx_la_SOURCES) $(libhp_la_SOURCES) \ - $(libhp3500_la_SOURCES) $(libhp3900_la_SOURCES) \ - $(libhp4200_la_SOURCES) $(libhp5400_la_SOURCES) \ - $(libhp5590_la_SOURCES) $(libhpljm1005_la_SOURCES) \ - $(libhpsj5s_la_SOURCES) $(libhs2p_la_SOURCES) \ - $(libibm_la_SOURCES) $(libkodak_la_SOURCES) \ - $(libkodakaio_la_SOURCES) $(libkvs1025_la_SOURCES) \ - $(libkvs20xx_la_SOURCES) $(libkvs40xx_la_SOURCES) \ - $(libleo_la_SOURCES) $(liblexmark_la_SOURCES) \ - $(libma1509_la_SOURCES) $(libmagicolor_la_SOURCES) \ - $(libmatsushita_la_SOURCES) $(libmicrotek_la_SOURCES) \ - $(libmicrotek2_la_SOURCES) $(libmustek_la_SOURCES) \ - $(libmustek_pp_la_SOURCES) $(libmustek_usb_la_SOURCES) \ - $(libmustek_usb2_la_SOURCES) $(libnec_la_SOURCES) \ - $(libnet_la_SOURCES) $(libniash_la_SOURCES) \ - $(libp5_la_SOURCES) $(libpie_la_SOURCES) \ - $(libpieusb_la_SOURCES) $(libpint_la_SOURCES) \ - $(libpixma_la_SOURCES) $(libplustek_la_SOURCES) \ - $(libplustek_pp_la_SOURCES) $(libpnm_la_SOURCES) \ - $(libqcam_la_SOURCES) $(libricoh_la_SOURCES) \ - $(librts8891_la_SOURCES) $(libs9036_la_SOURCES) \ - $(nodist_libsane_abaton_la_SOURCES) \ - $(nodist_libsane_agfafocus_la_SOURCES) \ - $(nodist_libsane_apple_la_SOURCES) \ - $(nodist_libsane_artec_la_SOURCES) \ - $(nodist_libsane_artec_eplus48u_la_SOURCES) \ - $(nodist_libsane_as6e_la_SOURCES) \ - $(nodist_libsane_avision_la_SOURCES) \ - $(nodist_libsane_bh_la_SOURCES) \ - $(nodist_libsane_canon_la_SOURCES) \ - $(nodist_libsane_canon630u_la_SOURCES) \ - $(nodist_libsane_canon_dr_la_SOURCES) \ - $(nodist_libsane_canon_pp_la_SOURCES) \ - $(nodist_libsane_cardscan_la_SOURCES) \ - $(nodist_libsane_coolscan_la_SOURCES) \ - $(nodist_libsane_coolscan2_la_SOURCES) \ - $(nodist_libsane_coolscan3_la_SOURCES) \ - $(nodist_libsane_dc210_la_SOURCES) \ - $(nodist_libsane_dc240_la_SOURCES) \ - $(nodist_libsane_dc25_la_SOURCES) \ - $(nodist_libsane_dell1600n_net_la_SOURCES) \ - $(nodist_libsane_dll_la_SOURCES) \ - $(nodist_libsane_dmc_la_SOURCES) \ - $(nodist_libsane_epjitsu_la_SOURCES) \ - $(nodist_libsane_epson_la_SOURCES) \ - $(nodist_libsane_epson2_la_SOURCES) \ - $(nodist_libsane_epsonds_la_SOURCES) \ - $(nodist_libsane_fujitsu_la_SOURCES) \ - $(nodist_libsane_genesys_la_SOURCES) \ - $(nodist_libsane_gphoto2_la_SOURCES) \ - $(nodist_libsane_gt68xx_la_SOURCES) \ - $(nodist_libsane_hp_la_SOURCES) \ - $(nodist_libsane_hp3500_la_SOURCES) \ - $(nodist_libsane_hp3900_la_SOURCES) \ - $(nodist_libsane_hp4200_la_SOURCES) \ - $(nodist_libsane_hp5400_la_SOURCES) \ - $(nodist_libsane_hp5590_la_SOURCES) \ - $(nodist_libsane_hpljm1005_la_SOURCES) \ - $(nodist_libsane_hpsj5s_la_SOURCES) \ - $(nodist_libsane_hs2p_la_SOURCES) \ - $(nodist_libsane_ibm_la_SOURCES) \ - $(nodist_libsane_kodak_la_SOURCES) \ - $(nodist_libsane_kodakaio_la_SOURCES) \ - $(nodist_libsane_kvs1025_la_SOURCES) \ - $(nodist_libsane_kvs20xx_la_SOURCES) \ - $(nodist_libsane_kvs40xx_la_SOURCES) \ - $(nodist_libsane_leo_la_SOURCES) \ - $(nodist_libsane_lexmark_la_SOURCES) \ - $(nodist_libsane_ma1509_la_SOURCES) \ - $(nodist_libsane_magicolor_la_SOURCES) \ - $(nodist_libsane_matsushita_la_SOURCES) \ - $(nodist_libsane_microtek_la_SOURCES) \ - $(nodist_libsane_microtek2_la_SOURCES) \ - $(nodist_libsane_mustek_la_SOURCES) \ - $(nodist_libsane_mustek_pp_la_SOURCES) \ - $(nodist_libsane_mustek_usb_la_SOURCES) \ - $(nodist_libsane_mustek_usb2_la_SOURCES) \ - $(nodist_libsane_nec_la_SOURCES) \ - $(nodist_libsane_net_la_SOURCES) \ - $(nodist_libsane_niash_la_SOURCES) \ - $(nodist_libsane_p5_la_SOURCES) \ - $(nodist_libsane_pie_la_SOURCES) \ - $(nodist_libsane_pieusb_la_SOURCES) \ - $(nodist_libsane_pint_la_SOURCES) \ - $(nodist_libsane_pixma_la_SOURCES) \ - $(nodist_libsane_plustek_la_SOURCES) \ - $(nodist_libsane_plustek_pp_la_SOURCES) \ - $(nodist_libsane_pnm_la_SOURCES) \ - $(nodist_libsane_qcam_la_SOURCES) \ - $(nodist_libsane_ricoh_la_SOURCES) \ - $(nodist_libsane_rts8891_la_SOURCES) \ - $(nodist_libsane_s9036_la_SOURCES) \ - $(nodist_libsane_sceptre_la_SOURCES) \ - $(nodist_libsane_sharp_la_SOURCES) \ - $(nodist_libsane_sm3600_la_SOURCES) \ - $(nodist_libsane_sm3840_la_SOURCES) \ - $(nodist_libsane_snapscan_la_SOURCES) \ - $(nodist_libsane_sp15c_la_SOURCES) \ - $(nodist_libsane_st400_la_SOURCES) \ - $(nodist_libsane_stv680_la_SOURCES) \ - $(nodist_libsane_tamarack_la_SOURCES) \ - $(nodist_libsane_teco1_la_SOURCES) \ - $(nodist_libsane_teco2_la_SOURCES) \ - $(nodist_libsane_teco3_la_SOURCES) \ - $(nodist_libsane_test_la_SOURCES) \ - $(nodist_libsane_u12_la_SOURCES) \ - $(nodist_libsane_umax_la_SOURCES) \ - $(nodist_libsane_umax1220u_la_SOURCES) \ - $(nodist_libsane_umax_pp_la_SOURCES) \ - $(nodist_libsane_v4l_la_SOURCES) \ - $(nodist_libsane_xerox_mfp_la_SOURCES) \ - $(nodist_libsane_la_SOURCES) $(libsceptre_la_SOURCES) \ - $(libsharp_la_SOURCES) $(libsm3600_la_SOURCES) \ - $(libsm3840_la_SOURCES) $(libsnapscan_la_SOURCES) \ - $(libsp15c_la_SOURCES) $(libst400_la_SOURCES) \ - $(libstv680_la_SOURCES) $(libtamarack_la_SOURCES) \ - $(libteco1_la_SOURCES) $(libteco2_la_SOURCES) \ - $(libteco3_la_SOURCES) $(libtest_la_SOURCES) \ - $(libu12_la_SOURCES) $(libumax_la_SOURCES) \ - $(libumax1220u_la_SOURCES) $(libumax_pp_la_SOURCES) \ - $(libv4l_la_SOURCES) $(libxerox_mfp_la_SOURCES) -DIST_SOURCES = $(libabaton_la_SOURCES) $(libagfafocus_la_SOURCES) \ - $(libapple_la_SOURCES) $(libartec_la_SOURCES) \ - $(libartec_eplus48u_la_SOURCES) $(libas6e_la_SOURCES) \ - $(libavision_la_SOURCES) $(libbh_la_SOURCES) \ - $(libcanon_la_SOURCES) $(libcanon630u_la_SOURCES) \ - $(libcanon_dr_la_SOURCES) $(libcanon_pp_la_SOURCES) \ - $(libcardscan_la_SOURCES) $(libcoolscan_la_SOURCES) \ - $(libcoolscan2_la_SOURCES) $(libcoolscan3_la_SOURCES) \ - $(libdc210_la_SOURCES) $(libdc240_la_SOURCES) \ - $(libdc25_la_SOURCES) $(libdell1600n_net_la_SOURCES) \ - $(libdll_la_SOURCES) $(libdll_preload_la_SOURCES) \ - $(libdmc_la_SOURCES) $(libepjitsu_la_SOURCES) \ - $(libepson_la_SOURCES) $(libepson2_la_SOURCES) \ - $(libepsonds_la_SOURCES) $(libfujitsu_la_SOURCES) \ - $(libgenesys_la_SOURCES) $(libgphoto2_i_la_SOURCES) \ - $(libgt68xx_la_SOURCES) $(libhp_la_SOURCES) \ - $(libhp3500_la_SOURCES) $(libhp3900_la_SOURCES) \ - $(libhp4200_la_SOURCES) $(libhp5400_la_SOURCES) \ - $(libhp5590_la_SOURCES) $(libhpljm1005_la_SOURCES) \ - $(libhpsj5s_la_SOURCES) $(libhs2p_la_SOURCES) \ - $(libibm_la_SOURCES) $(libkodak_la_SOURCES) \ - $(libkodakaio_la_SOURCES) $(libkvs1025_la_SOURCES) \ - $(libkvs20xx_la_SOURCES) $(libkvs40xx_la_SOURCES) \ - $(libleo_la_SOURCES) $(liblexmark_la_SOURCES) \ - $(libma1509_la_SOURCES) $(libmagicolor_la_SOURCES) \ - $(libmatsushita_la_SOURCES) $(libmicrotek_la_SOURCES) \ - $(libmicrotek2_la_SOURCES) $(libmustek_la_SOURCES) \ - $(libmustek_pp_la_SOURCES) $(libmustek_usb_la_SOURCES) \ - $(libmustek_usb2_la_SOURCES) $(libnec_la_SOURCES) \ - $(libnet_la_SOURCES) $(libniash_la_SOURCES) \ - $(libp5_la_SOURCES) $(libpie_la_SOURCES) \ - $(libpieusb_la_SOURCES) $(libpint_la_SOURCES) \ - $(libpixma_la_SOURCES) $(libplustek_la_SOURCES) \ - $(libplustek_pp_la_SOURCES) $(libpnm_la_SOURCES) \ - $(libqcam_la_SOURCES) $(libricoh_la_SOURCES) \ - $(librts8891_la_SOURCES) $(libs9036_la_SOURCES) \ - $(libsceptre_la_SOURCES) $(libsharp_la_SOURCES) \ - $(libsm3600_la_SOURCES) $(libsm3840_la_SOURCES) \ - $(libsnapscan_la_SOURCES) $(libsp15c_la_SOURCES) \ - $(libst400_la_SOURCES) $(libstv680_la_SOURCES) \ - $(libtamarack_la_SOURCES) $(libteco1_la_SOURCES) \ - $(libteco2_la_SOURCES) $(libteco3_la_SOURCES) \ - $(libtest_la_SOURCES) $(libu12_la_SOURCES) \ - $(libumax_la_SOURCES) $(libumax1220u_la_SOURCES) \ - $(libumax_pp_la_SOURCES) $(libv4l_la_SOURCES) \ - $(libxerox_mfp_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(srcdir) -I$(top_builddir)/include \ - -I$(top_srcdir)/include $(USB_CFLAGS) \ - -DLIBDIR="\"$(libdir)/sane\"" -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ $(STRICT_LDFLAGS) -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AVAHI_CFLAGS = @AVAHI_CFLAGS@ -AVAHI_LIBS = @AVAHI_LIBS@ -AWK = @AWK@ -BACKENDS = @BACKENDS@ -BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ -BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLH = @DLH@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVIPS = @DVIPS@ -DYNAMIC_FLAG = @DYNAMIC_FLAG@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FIG2DEV = @FIG2DEV@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ -GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ -GPHOTO2_LIBS = @GPHOTO2_LIBS@ -GREP = @GREP@ -GS = @GS@ -HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -JPEG_LIBS = @JPEG_LIBS@ -LATEX = @LATEX@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ - -# LIBTOOL install is a little to noisy for my liking. -LIBTOOL = @LIBTOOL@ --silent -LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOCKPATH_GROUP = @LOCKPATH_GROUP@ -LTALLOCA = @LTALLOCA@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINDEX = @MAKEINDEX@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_LIBS = @PNG_LIBS@ -POSUB = @POSUB@ -PPMTOGIF = @PPMTOGIF@ -PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ -PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RESMGR_LIBS = @RESMGR_LIBS@ -SANEI_SANEI_JPEG_LO = @SANEI_SANEI_JPEG_LO@ -SANE_CONFIG_PATH = @SANE_CONFIG_PATH@ -SCSI_LIBS = @SCSI_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SNMP_CFLAGS = @SNMP_CFLAGS@ -SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ -SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ -STRICT_LDFLAGS = @STRICT_LDFLAGS@ -STRIP = @STRIP@ -SYSLOG_LIBS = @SYSLOG_LIBS@ -SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ -SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_CFLAGS = @USB_CFLAGS@ -USB_LIBS = @USB_LIBS@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -configdir = @configdir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -effective_target = @effective_target@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -locksanedir = @locksanedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -# The -rpath option is added because we are creating _LTLIBRARIES based -# on configure substitution. This causes automake to not know the -# correct $libdir and must be added here. -DIST_SANELIBS_LDFLAGS = $(AM_LDFLAGS) -rpath '$(libdir)/sane' -version-number $(V_MAJOR):$(V_MINOR):$(V_REV) $(DYNAMIC_FLAG) -DIST_LIBS_LDFLAGS = $(AM_LDFLAGS) -rpath '$(libdir)' -version-number $(V_MAJOR):$(V_MINOR):$(V_REV) -FIRMWARE_DIRS = artec_eplus48u gt68xx snapscan epjitsu - -# TODO: This really belongs together with the saned sources and -# should be installed there as well. -# TODO: Why are these distributed but not compiled? -# TODO: Why are this distributed but not compiled? -# TODO: Why are this distributed but not compiled? -# TODO: Why are this distributed but not compiled? -# TODO: These should be moved to ../docs/hp; don't belong here. -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why are these distributed but not compiled? -# TODO: Why is this distributed but not installed? -EXTRA_DIST = sane_strstatus.c stubs.c saned.conf.in abaton.conf.in \ - agfafocus.conf.in apple.conf.in artec.conf.in \ - artec_eplus48u.conf.in avision.conf.in bh.conf.in \ - canon.conf.in canon-sane.c canon-scsi.c canon630u.conf.in \ - canon630u-common.c lm9830.h canon_dr.conf.in canon_pp.conf.in \ - cardscan.conf.in coolscan.conf.in coolscan2.conf.in \ - coolscan3.conf.in dc25.conf.in dc210.conf.in dc240.conf.in \ - dell1600n_net.conf.in dmc.conf.in epjitsu.conf.in \ - epson.conf.in epson2.conf.in epsonds.conf.in fujitsu.conf.in \ - genesys.conf.in genesys_conv.c genesys_conv_hlp.c \ - genesys_devices.c gphoto2.conf.in gt68xx.conf.in \ - gt68xx_devices.c gt68xx_generic.c gt68xx_generic.h \ - gt68xx_gt6801.c gt68xx_gt6801.h gt68xx_gt6816.c \ - gt68xx_gt6816.h gt68xx_high.c gt68xx_high.h gt68xx_low.c \ - gt68xx_low.h gt68xx_mid.c gt68xx_mid.h gt68xx_shm_channel.c \ - gt68xx_shm_channel.h hp.conf.in hp.README hp.TODO \ - hp3900.conf.in hp3900_config.c hp3900_debug.c hp3900_rts8822.c \ - hp3900_sane.c hp3900_types.c hp3900_usb.c hp4200.conf.in \ - hp4200_lm9830.c hp4200_lm9830.h hp5400.conf.in hp5400_debug.c \ - hp5400_debug.h hp5400_internal.c hp5400_internal.h \ - hp5400_sane.c hp5400_sanei.c hp5400_sanei.h hp5400_xfer.h \ - hp5590_cmds.c hp5590_cmds.h hp5590_low.c hp5590_low.h \ - hpsj5s.conf.in hs2p.conf.in hs2p-scsi.c hs2p-scsi.h \ - ibm.conf.in ibm-scsi.c kodak.conf.in kodakaio.conf.in \ - kvs1025.conf.in leo.conf.in lexmark.conf.in lexmark_models.c \ - lexmark_sensors.c ma1509.conf.in magicolor.conf.in \ - matsushita.conf.in microtek.conf.in microtek2.conf.in \ - mustek.conf.in mustek_scsi_pp.c mustek_scsi_pp.h \ - mustek_pp.conf.in mustek_pp_ccd300.c mustek_pp_ccd300.h \ - mustek_pp_cis.c mustek_pp_cis.h mustek_pp_null.c \ - mustek_usb.conf.in mustek_usb_high.c mustek_usb_high.h \ - mustek_usb_low.c mustek_usb_low.h mustek_usb_mid.c \ - mustek_usb_mid.h mustek_usb2_asic.c mustek_usb2_asic.h \ - mustek_usb2_high.c mustek_usb2_high.h mustek_usb2_reflective.c \ - mustek_usb2_transparent.c nec.conf.in net.conf.in niash_core.c \ - niash_core.h niash_xfer.c niash_xfer.h pie.conf.in \ - pieusb.conf.in p5.conf.in p5_device.c pixma.conf.in \ - pixma_sane_options.c pixma_sane_options.h plustek.conf.in \ - plustek-usb.c plustek-usb.h plustek-usbcal.c \ - plustek-usbcalfile.c plustek-usbdevs.c plustek-usbhw.c \ - plustek-usbimg.c plustek-usbio.c plustek-usbmap.c \ - plustek-usbscan.c plustek-usbshading.c plustek_pp.conf.in \ - plustek-pp_dac.c plustek-pp_dbg.h plustek-pp_detect.c \ - plustek-pp_genericio.c plustek-pp_hwdefs.h plustek-pp_image.c \ - plustek-pp_io.c plustek-pp_map.c plustek-pp_misc.c \ - plustek-pp_models.c plustek-pp_motor.c plustek-pp_p12.c \ - plustek-pp_p12ccd.c plustek-pp_p48xx.c plustek-pp_p9636.c \ - plustek-pp_procfs.c plustek-pp_procs.h plustek-pp_ptdrv.c \ - plustek-pp_scale.c plustek-pp_scan.h plustek-pp_scandata.h \ - plustek-pp_sysdep.h plustek-pp_tpa.c plustek-pp_types.h \ - plustek-pp_wrapper.c qcam.conf.in ricoh.conf.in ricoh-scsi.c \ - rts8891.conf.in rts8891_devices.c rts8891_low.c rts8891_low.h \ - s9036.conf.in sceptre.conf.in sharp.conf.in sm3600-color.c \ - sm3600-gray.c sm3600-homerun.c sm3600-scanmtek.c \ - sm3600-scantool.h sm3600-scanusb.c sm3600-scanutil.c \ - sm3840.conf.in sm3840_lib.c sm3840_lib.h sm3840_scan.c \ - snapscan.conf.in snapscan-data.c snapscan-mutex.c \ - snapscan-options.c snapscan-scsi.c snapscan-sources.c \ - snapscan-sources.h snapscan-usb.c snapscan-usb.h sp15c.conf.in \ - st400.conf.in stv680.conf.in tamarack.conf.in test.conf.in \ - test-picture.c teco1.conf.in teco2.conf.in teco3.conf.in \ - u12.conf.in u12-ccd.c u12-hw.c u12-hwdef.h u12-if.c \ - u12-image.c u12-io.c u12-map.c u12-motor.c u12-scanner.h \ - u12-shading.c u12-tpa.c umax.conf.in umax-scanner.c \ - umax-scanner.h umax-scsidef.h umax-uc1200s.c umax-uc1200se.c \ - umax-uc1260.c umax-uc630.c umax-uc840.c umax-ug630.c \ - umax-ug80.c umax-usb.c umax1220u.conf.in umax1220u-common.c \ - umax_pp.conf.in v4l.conf.in xerox_mfp.conf.in dll.conf.in \ - dll.aliases - -# Backends are not required to have a config file. Any backend -# that wants to install a config file should list it here. -BACKEND_CONFS = abaton.conf agfafocus.conf apple.conf artec.conf \ - artec_eplus48u.conf avision.conf bh.conf \ - canon630u.conf canon.conf canon_dr.conf \ - canon_pp.conf cardscan.conf coolscan2.conf coolscan3.conf \ - coolscan.conf dc210.conf dc240.conf dc25.conf \ - dell1600n_net.conf dmc.conf epjitsu.conf epson2.conf \ - epson.conf epsonds.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 \ - matsushita.conf microtek2.conf microtek.conf mustek.conf \ - mustek_pp.conf mustek_usb.conf nec.conf net.conf \ - p5.conf \ - pie.conf pieusb.conf pixma.conf plustek.conf plustek_pp.conf \ - qcam.conf ricoh.conf rts8891.conf s9036.conf sceptre.conf \ - sharp.conf sm3840.conf snapscan.conf sp15c.conf \ - st400.conf stv680.conf tamarack.conf \ - teco1.conf teco2.conf teco3.conf test.conf \ - u12.conf umax1220u.conf umax.conf umax_pp.conf v4l.conf \ - xerox_mfp.conf dll.conf saned.conf - -SUFFIXES = .conf.in .conf -CLEANFILES = $(BACKEND_CONFS) $(be_convenience_libs) dll-preload.h - -# Backends -# -# All possible backends should be listed here. As a first step, we create -# a convenience library containing all files needed to link a backend -# directly into libsane.la. Convenience library should have the -# form of lib${backend}.la to match what configure will list to -# build. -# Occasionally, this approach will have name conflicts with external -# libraries that need to be linked in. See libgphoto2_i.la for -# example of working around that issue. -be_convenience_libs = libabaton.la libagfafocus.la \ - libapple.la libartec.la libartec_eplus48u.la \ - libas6e.la libavision.la libbh.la \ - libcanon.la libcanon630u.la libcanon_dr.la \ - libcanon_pp.la libcardscan.la libcoolscan.la \ - libcoolscan2.la libcoolscan3.la libdc25.la \ - libdc210.la libdc240.la libdell1600n_net.la \ - libdmc.la libdll.la libdll_preload.la libepjitsu.la libepson.la \ - libepson2.la libepsonds.la libfujitsu.la libgenesys.la \ - libgphoto2_i.la libgt68xx.la libhp.la \ - libhp3500.la libhp3900.la libhp4200.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 \ - libmatsushita.la libmicrotek.la libmicrotek2.la \ - libmustek.la libmustek_pp.la libmustek_usb.la \ - libmustek_usb2.la libnec.la libnet.la \ - libniash.la libp5.la \ - libpie.la libpieusb.la libpint.la libpixma.la \ - libplustek.la libplustek_pp.la libpnm.la \ - libqcam.la libricoh.la librts8891.la \ - libs9036.la libsceptre.la libsharp.la \ - libsm3600.la libsm3840.la libsnapscan.la \ - libsp15c.la libst400.la libstv680.la \ - libtamarack.la libtest.la libteco1.la \ - libteco2.la libteco3.la libu12.la libumax.la \ - libumax1220u.la libumax_pp.la libv4l.la \ - libxerox_mfp.la - - -# Each stand alone backend thats possible to be built should be listed -# here. There are the libraries that are installed under $(libdir)/sane. -# Format is libsane-${backend}.la. -be_dlopen_libs = libsane-abaton.la libsane-agfafocus.la \ - libsane-apple.la libsane-artec.la libsane-artec_eplus48u.la \ - libsane-as6e.la libsane-avision.la libsane-bh.la \ - libsane-canon.la libsane-canon630u.la libsane-canon_dr.la \ - libsane-canon_pp.la libsane-cardscan.la libsane-coolscan.la \ - libsane-coolscan2.la libsane-coolscan3.la libsane-dc25.la \ - libsane-dc210.la libsane-dc240.la libsane-dell1600n_net.la \ - libsane-dmc.la libsane-epjitsu.la libsane-epson.la \ - libsane-epson2.la libsane-epsonds.la libsane-fujitsu.la libsane-genesys.la \ - libsane-gphoto2.la libsane-gt68xx.la libsane-hp.la \ - libsane-hp3500.la libsane-hp3900.la libsane-hp4200.la \ - libsane-hp5400.la libsane-hp5590.la libsane-hpljm1005.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-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 \ - libsane-niash.la libsane-p5.la \ - libsane-pie.la libsane-pieusb.la libsane-pint.la libsane-pixma.la \ - libsane-plustek.la libsane-plustek_pp.la libsane-pnm.la \ - libsane-qcam.la libsane-ricoh.la libsane-rts8891.la \ - libsane-s9036.la libsane-sceptre.la libsane-sharp.la \ - libsane-sm3600.la libsane-sm3840.la libsane-snapscan.la \ - libsane-sp15c.la libsane-st400.la libsane-stv680.la \ - libsane-tamarack.la libsane-test.la libsane-teco1.la \ - libsane-teco2.la libsane-teco3.la libsane-u12.la libsane-umax.la \ - libsane-umax1220u.la libsane-umax_pp.la libsane-v4l.la \ - libsane-xerox_mfp.la - -EXTRA_LTLIBRARIES = $(be_convenience_libs) $(be_dlopen_libs) -lib_LTLIBRARIES = libsane.la -sanelibdir = $(libdir)/sane -sanelib_LTLIBRARIES = $(BACKEND_LIBS_ENABLED) libsane-dll.la -COMMON_LIBS = ../lib/liblib.la - -# Each backend should define a convenience library that compiles -# all related files within backend directory. General guideline -# is to have a ${backend}.c and ${backend}.h. Some backends also -# add a few support source files to convience library. -# Note: automake doesn't really use header files listed here. -# They are indications that they need to be distributed only. -libabaton_la_SOURCES = abaton.c abaton.h -libabaton_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=abaton - -# Each backend should define a stand alone library that gets installed. -# This will need to link in a special file ${backend}-s.c that allows -# the backend to be stand alone and contain all SANE API functions. -# Also, it will need to link in related convenience library as well as -# any external libraries required to resolve symbols. -# -# All backends should include $(DIST_SANELIBS_LDFLAGS) so that -# library is correctly versioned. -# -# If a backend has a config file, it must be listed here to get distributed. -nodist_libsane_abaton_la_SOURCES = abaton-s.c -libsane_abaton_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=abaton -libsane_abaton_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_abaton_la_LIBADD = $(COMMON_LIBS) libabaton.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libagfafocus_la_SOURCES = agfafocus.c agfafocus.h -libagfafocus_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=agfafocus -nodist_libsane_agfafocus_la_SOURCES = agfafocus-s.c -libsane_agfafocus_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=agfafocus -libsane_agfafocus_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_agfafocus_la_LIBADD = $(COMMON_LIBS) libagfafocus.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libapple_la_SOURCES = apple.c apple.h -libapple_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=apple -nodist_libsane_apple_la_SOURCES = apple-s.c -libsane_apple_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=apple -libsane_apple_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_apple_la_LIBADD = $(COMMON_LIBS) libapple.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libartec_la_SOURCES = artec.c artec.h -libartec_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=artec -nodist_libsane_artec_la_SOURCES = artec-s.c -libsane_artec_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_artec_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=artec -libsane_artec_la_LIBADD = $(COMMON_LIBS) libartec.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libartec_eplus48u_la_SOURCES = artec_eplus48u.c artec_eplus48u.h -libartec_eplus48u_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=artec_eplus48u -nodist_libsane_artec_eplus48u_la_SOURCES = artec_eplus48u-s.c -libsane_artec_eplus48u_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=artec_eplus48u -libsane_artec_eplus48u_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_artec_eplus48u_la_LIBADD = $(COMMON_LIBS) libartec_eplus48u.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMEG_LIBS) -libas6e_la_SOURCES = as6e.c as6e.h -libas6e_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=as6e -nodist_libsane_as6e_la_SOURCES = as6e-s.c -libsane_as6e_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=as6e -libsane_as6e_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_as6e_la_LIBADD = $(COMMON_LIBS) libas6e.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo -libavision_la_SOURCES = avision.c avision.h -libavision_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=avision -nodist_libsane_avision_la_SOURCES = avision-s.c -libsane_avision_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=avision -libsane_avision_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_avision_la_LIBADD = $(COMMON_LIBS) libavision.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libbh_la_SOURCES = bh.c bh.h -libbh_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=bh -nodist_libsane_bh_la_SOURCES = bh-s.c -libsane_bh_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=bh -libsane_bh_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_bh_la_LIBADD = $(COMMON_LIBS) libbh.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libcanon_la_SOURCES = canon.c canon.h -libcanon_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=canon -nodist_libsane_canon_la_SOURCES = canon-s.c -libsane_canon_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=canon -libsane_canon_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_canon_la_LIBADD = $(COMMON_LIBS) libcanon.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(RESMGR_LIBS) -libcanon630u_la_SOURCES = canon630u.c -libcanon630u_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=canon630u -nodist_libsane_canon630u_la_SOURCES = canon630u-s.c -libsane_canon630u_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=canon630u -libsane_canon630u_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_canon630u_la_LIBADD = $(COMMON_LIBS) libcanon630u.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) -libcanon_dr_la_SOURCES = canon_dr.c canon_dr.h canon_dr-cmd.h -libcanon_dr_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=canon_dr -nodist_libsane_canon_dr_la_SOURCES = canon_dr-s.c -libsane_canon_dr_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=canon_dr -libsane_canon_dr_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_canon_dr_la_LIBADD = $(COMMON_LIBS) libcanon_dr.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_magic.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(RESMGR_LIBS) -libcanon_pp_la_SOURCES = canon_pp.c canon_pp.h canon_pp-io.c canon_pp-io.h canon_pp-dev.c canon_pp-dev.h -libcanon_pp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=canon_pp -nodist_libsane_canon_pp_la_SOURCES = canon_pp-s.c -libsane_canon_pp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=canon_pp -libsane_canon_pp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_canon_pp_la_LIBADD = $(COMMON_LIBS) libcanon_pp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(IEEE1284_LIBS) -libcardscan_la_SOURCES = cardscan.c cardscan.h -libcardscan_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=cardscan -nodist_libsane_cardscan_la_SOURCES = cardscan-s.c -libsane_cardscan_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=cardscan -libsane_cardscan_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_cardscan_la_LIBADD = $(COMMON_LIBS) libcardscan.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) -libcoolscan_la_SOURCES = coolscan.c coolscan.h coolscan-scsidef.h -libcoolscan_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=coolscan -nodist_libsane_coolscan_la_SOURCES = coolscan-s.c -libsane_coolscan_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=coolscan -libsane_coolscan_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_coolscan_la_LIBADD = $(COMMON_LIBS) libcoolscan.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_thread.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libcoolscan2_la_SOURCES = coolscan2.c -libcoolscan2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=coolscan2 -nodist_libsane_coolscan2_la_SOURCES = coolscan2-s.c -libsane_coolscan2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=coolscan2 -libsane_coolscan2_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_coolscan2_la_LIBADD = $(COMMON_LIBS) libcoolscan2.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) -libcoolscan3_la_SOURCES = coolscan3.c -libcoolscan3_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=coolscan3 -nodist_libsane_coolscan3_la_SOURCES = coolscan3-s.c -libsane_coolscan3_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=coolscan3 -libsane_coolscan3_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_coolscan3_la_LIBADD = $(COMMON_LIBS) libcoolscan3.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) -libdc25_la_SOURCES = dc25.c dc25.h -libdc25_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc25 -nodist_libsane_dc25_la_SOURCES = dc25-s.c -libsane_dc25_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc25 -libsane_dc25_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_dc25_la_LIBADD = $(COMMON_LIBS) libdc25.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(MATH_LIB) -libdc210_la_SOURCES = dc210.c dc210.h -libdc210_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc210 -nodist_libsane_dc210_la_SOURCES = dc210-s.c -libsane_dc210_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc210 -libsane_dc210_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_dc210_la_LIBADD = $(COMMON_LIBS) libdc210.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(SANEI_SANEI_JPEG_LO) $(JPEG_LIBS) -libdc240_la_SOURCES = dc240.c dc240.h -libdc240_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc240 -nodist_libsane_dc240_la_SOURCES = dc240-s.c -libsane_dc240_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dc240 -libsane_dc240_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_dc240_la_LIBADD = $(COMMON_LIBS) libdc240.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(SANEI_SANEI_JPEG_LO) $(JPEG_LIBS) -libdell1600n_net_la_SOURCES = dell1600n_net.c -libdell1600n_net_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dell1600n_net -nodist_libsane_dell1600n_net_la_SOURCES = dell1600n_net-s.c -libsane_dell1600n_net_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dell1600n_net -libsane_dell1600n_net_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_dell1600n_net_la_LIBADD = $(COMMON_LIBS) libdell1600n_net.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(TIFF_LIBS) $(JPEG_LIBS) $(SOCKET_LIBS) -libdmc_la_SOURCES = dmc.c dmc.h -libdmc_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dmc -nodist_libsane_dmc_la_SOURCES = dmc-s.c -libsane_dmc_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dmc -libsane_dmc_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_dmc_la_LIBADD = $(COMMON_LIBS) libdmc.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libepjitsu_la_SOURCES = epjitsu.c epjitsu.h epjitsu-cmd.h -libepjitsu_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epjitsu -nodist_libsane_epjitsu_la_SOURCES = epjitsu-s.c -libsane_epjitsu_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epjitsu -libsane_epjitsu_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_epjitsu_la_LIBADD = $(COMMON_LIBS) libepjitsu.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) -libepson_la_SOURCES = epson.c epson.h epson_scsi.c epson_scsi.h epson_usb.c epson_usb.h -libepson_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epson -nodist_libsane_epson_la_SOURCES = epson-s.c -libsane_epson_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epson -libsane_epson_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_epson_la_LIBADD = $(COMMON_LIBS) libepson.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pio.lo $(SCSI_LIBS) $(USB_LIBS) $(RESMGR_LIBS) -libepson2_la_SOURCES = epson2.c epson2.h epson2_scsi.c epson2_scsi.h epson2_usb.c epson2_net.c epson2_net.h epson2-io.c epson2-io.h epson2-commands.c epson2-commands.h epson2-ops.c epson2-ops.h epson2-cct.c -libepson2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epson2 -nodist_libsane_epson2_la_SOURCES = epson2-s.c -libsane_epson2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epson2 -libsane_epson2_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_epson2_la_LIBADD = $(COMMON_LIBS) libepson2.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo $(SCSI_LIBS) $(USB_LIBS) $(SOCKET_LIBS) $(MATH_LIB) $(RESMGR_LIBS) -libepsonds_la_SOURCES = epsonds.c epsonds.h epsonds-usb.c epsonds-usb.h epsonds-io.c epsonds-io.h \ - epsonds-cmd.c epsonds-cmd.h epsonds-ops.c epsonds-ops.h epsonds-jpeg.c epsonds-jpeg.h \ - epsonds-net.c epsonds-net.h - -libepsonds_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epsonds -nodist_libsane_epsonds_la_SOURCES = epsonds-s.c -libsane_epsonds_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epsonds -libsane_epsonds_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_epsonds_la_LIBADD = $(COMMON_LIBS) libepsonds.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo \ - ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \ - ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo \ - $(SANEI_SANEI_JPEG_LO) $(JPEG_LIBS) $(USB_LIBS) $(MATH_LIB) $(RESMGR_LIBS) $(SOCKET_LIBS) - -libfujitsu_la_SOURCES = fujitsu.c fujitsu.h fujitsu-scsi.h -libfujitsu_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=fujitsu -nodist_libsane_fujitsu_la_SOURCES = fujitsu-s.c -libsane_fujitsu_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=fujitsu -libsane_fujitsu_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_fujitsu_la_LIBADD = $(COMMON_LIBS) libfujitsu.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_magic.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(RESMGR_LIBS) -libgenesys_la_SOURCES = genesys.c genesys.h genesys_gl646.c genesys_gl646.h genesys_gl841.c genesys_gl841.h genesys_gl843.c genesys_gl843.h genesys_gl846.c genesys_gl846.h genesys_gl847.c genesys_gl847.h genesys_gl124.c genesys_gl124.h genesys_low.c genesys_low.h -libgenesys_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=genesys -nodist_libsane_genesys_la_SOURCES = genesys-s.c -libsane_genesys_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=genesys -libsane_genesys_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_genesys_la_LIBADD = $(COMMON_LIBS) libgenesys.la ../sanei/sanei_magic.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) -libgphoto2_i_la_SOURCES = gphoto2.c gphoto2.h -libgphoto2_i_la_CPPFLAGS = $(AM_CPPFLAGS) $(GPHOTO2_CPPFLAGS) -DBACKEND_NAME=gphoto2 -nodist_libsane_gphoto2_la_SOURCES = gphoto2-s.c -libsane_gphoto2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=gphoto2 -libsane_gphoto2_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_gphoto2_la_LIBADD = $(GPHOTO2_LDFLAGS) $(COMMON_LIBS) libgphoto2_i.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(SANEI_SANEI_JPEG_LO) $(GPHOTO2_LIBS) $(JPEG_LIBS) -libgt68xx_la_SOURCES = gt68xx.c gt68xx.h -libgt68xx_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=gt68xx -nodist_libsane_gt68xx_la_SOURCES = gt68xx-s.c -libsane_gt68xx_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=gt68xx -libsane_gt68xx_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_gt68xx_la_LIBADD = $(COMMON_LIBS) libgt68xx.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) -libhp_la_SOURCES = hp.c hp.h hp-accessor.c hp-accessor.h hp-device.c hp-device.h hp-handle.c hp-handle.h hp-hpmem.c hp-option.c hp-option.h hp-scl.c hp-scl.h hp-scsi.h -libhp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp -nodist_libsane_hp_la_SOURCES = hp-s.c -libsane_hp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp -libsane_hp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_hp_la_LIBADD = $(COMMON_LIBS) libhp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pio.lo ../sanei/sanei_thread.lo $(SCSI_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libhp3500_la_SOURCES = hp3500.c -libhp3500_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp3500 -nodist_libsane_hp3500_la_SOURCES = hp3500-s.c -libsane_hp3500_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp3500 -libsane_hp3500_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_hp3500_la_LIBADD = $(COMMON_LIBS) libhp3500.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libhp3900_la_SOURCES = hp3900.c -libhp3900_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp3900 -nodist_libsane_hp3900_la_SOURCES = hp3900-s.c -libsane_hp3900_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp3900 -libsane_hp3900_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_hp3900_la_LIBADD = $(COMMON_LIBS) libhp3900.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo $(MATH_LIB) $(TIFF_LIBS) $(USB_LIBS) $(RESMGR_LIBS) -libhp4200_la_SOURCES = hp4200.c hp4200.h -libhp4200_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp4200 -nodist_libsane_hp4200_la_SOURCES = hp4200-s.c -libsane_hp4200_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp4200 -libsane_hp4200_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_hp4200_la_LIBADD = $(COMMON_LIBS) libhp4200.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_pv8630.lo $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) -libhp5400_la_SOURCES = hp5400.c hp5400.h -libhp5400_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp5400 -nodist_libsane_hp5400_la_SOURCES = hp5400-s.c -libsane_hp5400_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp5400 -libsane_hp5400_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_hp5400_la_LIBADD = $(COMMON_LIBS) libhp5400.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) -libhp5590_la_SOURCES = hp5590.c -libhp5590_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp5590 -nodist_libsane_hp5590_la_SOURCES = hp5590-s.c -libsane_hp5590_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp5590 -libsane_hp5590_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_hp5590_la_LIBADD = $(COMMON_LIBS) libhp5590.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) -libhpljm1005_la_SOURCES = hpljm1005.c -libhpljm1005_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hpljm1005 -nodist_libsane_hpljm1005_la_SOURCES = hpljm1005-s.c -libsane_hpljm1005_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hpljm1005 -libsane_hpljm1005_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_hpljm1005_la_LIBADD = $(COMMON_LIBS) libhpljm1005.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) -libhpsj5s_la_SOURCES = hpsj5s.c hpsj5s.h -libhpsj5s_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hpsj5s -nodist_libsane_hpsj5s_la_SOURCES = hpsj5s-s.c -libsane_hpsj5s_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hpsj5s -libsane_hpsj5s_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_hpsj5s_la_LIBADD = $(COMMON_LIBS) libhpsj5s.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(IEEE1284_LIBS) -libhs2p_la_SOURCES = hs2p.c hs2p.h hs2p-saneopts.h -libhs2p_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hs2p -nodist_libsane_hs2p_la_SOURCES = hs2p-s.c -libsane_hs2p_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hs2p -libsane_hs2p_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_hs2p_la_LIBADD = $(COMMON_LIBS) libhs2p.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libibm_la_SOURCES = ibm.c ibm.h -libibm_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=ibm -nodist_libsane_ibm_la_SOURCES = ibm-s.c -libsane_ibm_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=ibm -libsane_ibm_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_ibm_la_LIBADD = $(COMMON_LIBS) libibm.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libkodak_la_SOURCES = kodak.c kodak.h kodak-cmd.h -libkodak_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=kodak -nodist_libsane_kodak_la_SOURCES = kodak-s.c -libsane_kodak_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=kodak -libsane_kodak_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_kodak_la_LIBADD = $(COMMON_LIBS) libkodak.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(RESMGR_LIBS) -libkodakaio_la_SOURCES = kodakaio.c kodakaio.h -libkodakaio_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=kodakaio -nodist_libsane_kodakaio_la_SOURCES = kodakaio-s.c -libsane_kodakaio_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=kodakaio -libsane_kodakaio_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_kodakaio_la_LIBADD = $(COMMON_LIBS) libkodakaio.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo $(USB_LIBS) $(SOCKET_LIBS) $(AVAHI_LIBS) $(MATH_LIB) $(RESMGR_LIBS) -libkvs1025_la_SOURCES = kvs1025.c kvs1025_low.c kvs1025_opt.c kvs1025_usb.c \ - kvs1025.h kvs1025_low.h kvs1025_usb.h kvs1025_cmds.h - -libkvs1025_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=kvs1025 -nodist_libsane_kvs1025_la_SOURCES = kvs1025-s.c -libsane_kvs1025_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=kvs1025 -libsane_kvs1025_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_kvs1025_la_LIBADD = $(COMMON_LIBS) libkvs1025.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_magic.lo $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) -libkvs20xx_la_SOURCES = kvs20xx.c kvs20xx_cmd.c kvs20xx_opt.c \ - kvs20xx_cmd.h kvs20xx.h - -libkvs20xx_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=kvs20xx -nodist_libsane_kvs20xx_la_SOURCES = kvs20xx-s.c -libsane_kvs20xx_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=kvs20xx -libsane_kvs20xx_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_kvs20xx_la_LIBADD = $(COMMON_LIBS) libkvs20xx.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(USB_LIBS) $(RESMGR_LIBS) -libkvs40xx_la_SOURCES = kvs40xx.c kvs40xx_cmd.c kvs40xx_opt.c \ - kvs40xx.h - -libkvs40xx_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=kvs40xx -nodist_libsane_kvs40xx_la_SOURCES = kvs40xx-s.c -libsane_kvs40xx_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=kvs40xx -libsane_kvs40xx_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_kvs40xx_la_LIBADD = $(COMMON_LIBS) libkvs40xx.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libleo_la_SOURCES = leo.c leo.h -libleo_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=leo -nodist_libsane_leo_la_SOURCES = leo-s.c -libsane_leo_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=leo -libsane_leo_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_leo_la_LIBADD = $(COMMON_LIBS) libleo.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -liblexmark_la_SOURCES = lexmark.c lexmark.h lexmark_low.c -liblexmark_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=lexmark -nodist_libsane_lexmark_la_SOURCES = lexmark-s.c -libsane_lexmark_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=lexmark -libsane_lexmark_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_lexmark_la_LIBADD = $(COMMON_LIBS) liblexmark.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) -libma1509_la_SOURCES = ma1509.c ma1509.h -libma1509_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=ma1509 -nodist_libsane_ma1509_la_SOURCES = ma1509-s.c -libsane_ma1509_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=ma1509 -libsane_ma1509_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_ma1509_la_LIBADD = $(COMMON_LIBS) libma1509.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) -libmagicolor_la_SOURCES = magicolor.c magicolor.h -libmagicolor_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=magicolor $(SNMP_CFLAGS) -nodist_libsane_magicolor_la_SOURCES = magicolor-s.c -libsane_magicolor_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=magicolor -libsane_magicolor_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_magicolor_la_LIBADD = $(COMMON_LIBS) libmagicolor.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo $(USB_LIBS) $(SOCKET_LIBS) $(MATH_LIB) $(RESMGR_LIBS) $(SNMP_LIBS) -libmatsushita_la_SOURCES = matsushita.c matsushita.h -libmatsushita_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=matsushita -nodist_libsane_matsushita_la_SOURCES = matsushita-s.c -libsane_matsushita_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=matsushita -libsane_matsushita_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_matsushita_la_LIBADD = $(COMMON_LIBS) libmatsushita.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libmicrotek_la_SOURCES = microtek.c microtek.h -libmicrotek_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=microtek -nodist_libsane_microtek_la_SOURCES = microtek-s.c -libsane_microtek_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=microtek -libsane_microtek_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_microtek_la_LIBADD = $(COMMON_LIBS) libmicrotek.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(RESMGR_LIBS) -libmicrotek2_la_SOURCES = microtek2.c microtek2.h -libmicrotek2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=microtek2 -nodist_libsane_microtek2_la_SOURCES = microtek2-s.c -libsane_microtek2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=microtek2 -libsane_microtek2_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_microtek2_la_LIBADD = $(COMMON_LIBS) libmicrotek2.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libmustek_la_SOURCES = mustek.c mustek.h -libmustek_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=mustek -nodist_libsane_mustek_la_SOURCES = mustek-s.c -libsane_mustek_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=mustek -libsane_mustek_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_mustek_la_LIBADD = $(COMMON_LIBS) libmustek.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo ../sanei/sanei_thread.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pa4s2.lo $(IEEE1284_LIBS) $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libmustek_pp_la_SOURCES = mustek_pp.c mustek_pp.h mustek_pp_decl.h mustek_pp_drivers.h -libmustek_pp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=mustek_pp -nodist_libsane_mustek_pp_la_SOURCES = mustek_pp-s.c -libsane_mustek_pp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=mustek_pp -libsane_mustek_pp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_mustek_pp_la_LIBADD = $(COMMON_LIBS) libmustek_pp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_pa4s2.lo $(MATH_LIB) $(IEEE1284_LIBS) -libmustek_usb_la_SOURCES = mustek_usb.c mustek_usb.h -libmustek_usb_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=mustek_usb -nodist_libsane_mustek_usb_la_SOURCES = mustek_usb-s.c -libsane_mustek_usb_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=mustek_usb -libsane_mustek_usb_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_mustek_usb_la_LIBADD = $(COMMON_LIBS) libmustek_usb.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) -libmustek_usb2_la_SOURCES = mustek_usb2.c mustek_usb2.h -libmustek_usb2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=mustek_usb2 -nodist_libsane_mustek_usb2_la_SOURCES = mustek_usb2-s.c -libsane_mustek_usb2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=mustek_usb2 -libsane_mustek_usb2_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_mustek_usb2_la_LIBADD = $(COMMON_LIBS) libmustek_usb2.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(PTHREAD_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libnec_la_SOURCES = nec.c nec.h -libnec_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=nec -nodist_libsane_nec_la_SOURCES = nec-s.c -libsane_nec_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=nec -libsane_nec_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_nec_la_LIBADD = $(COMMON_LIBS) libnec.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(RESMGR_LIBS) -libnet_la_SOURCES = net.c net.h -libnet_la_CPPFLAGS = $(AM_CPPFLAGS) $(AVAHI_CFLAGS) -DBACKEND_NAME=net -nodist_libsane_net_la_SOURCES = net-s.c -libsane_net_la_CPPFLAGS = $(AM_CPPFLAGS) $(AVAHI_CFLAGS) -DBACKEND_NAME=net -libsane_net_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_net_la_LIBADD = $(COMMON_LIBS) libnet.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo $(AVAHI_LIBS) $(SOCKET_LIBS) -libniash_la_SOURCES = niash.c -libniash_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=niash -nodist_libsane_niash_la_SOURCES = niash-s.c -libsane_niash_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=niash -libsane_niash_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_niash_la_LIBADD = $(COMMON_LIBS) libniash.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) -libpie_la_SOURCES = pie.c pie-scsidef.h -libpie_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pie -nodist_libsane_pie_la_SOURCES = pie-s.c -libsane_pie_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pie -libsane_pie_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_pie_la_LIBADD = $(COMMON_LIBS) libpie.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo ../sanei/sanei_thread.lo $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libpieusb_la_SOURCES = pieusb.h pieusb_buffer.c pieusb_buffer.h pieusb_scancmd.c pieusb_scancmd.h pieusb_specific.c pieusb_specific.h pieusb_usb.c pieusb_usb.h pieusb.c -libpieusb_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pieusb -nodist_libsane_pieusb_la_SOURCES = pieusb-s.c -libsane_pieusb_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pieusb -libsane_pieusb_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_pieusb_la_LIBADD = $(COMMON_LIBS) libpieusb.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo ../sanei/sanei_thread.lo ../sanei/sanei_usb.lo ../sanei/sanei_ir.lo ../sanei/sanei_magic.lo $(PTHREAD_LIBS) $(RESMGR_LIBS) $(USB_LIBS) $(MATH_LIB) -libp5_la_SOURCES = p5.c p5.h p5_device.h -libp5_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=p5 -nodist_libsane_p5_la_SOURCES = p5-s.c -libsane_p5_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=p5 -libsane_p5_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_p5_la_LIBADD = $(COMMON_LIBS) libp5.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo -libpint_la_SOURCES = pint.c pint.h -libpint_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pint -nodist_libsane_pint_la_SOURCES = pint-s.c -libsane_pint_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pint -libsane_pint_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_pint_la_LIBADD = $(COMMON_LIBS) libpint.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo -libpixma_la_SOURCES = pixma.c pixma.h pixma_io_sanei.c pixma_io.h pixma_common.c pixma_common.h pixma_mp150.c pixma_mp730.c pixma_mp750.c pixma_mp810.c pixma_imageclass.c pixma_bjnp.c pixma_bjnp.h pixma_bjnp_private.h pixma_rename.h -libpixma_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pixma -nodist_libsane_pixma_la_SOURCES = pixma-s.c -libsane_pixma_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pixma -libsane_pixma_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_pixma_la_LIBADD = $(COMMON_LIBS) libpixma.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libplustek_la_SOURCES = plustek.c plustek.h -libplustek_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=plustek -nodist_libsane_plustek_la_SOURCES = plustek-s.c -libsane_plustek_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=plustek -libsane_plustek_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_plustek_la_LIBADD = $(COMMON_LIBS) libplustek.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libplustek_pp_la_SOURCES = plustek_pp.c plustek-pp.h -libplustek_pp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=plustek_pp -nodist_libsane_plustek_pp_la_SOURCES = plustek_pp-s.c -libsane_plustek_pp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=plustek_pp -libsane_plustek_pp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_plustek_pp_la_LIBADD = $(COMMON_LIBS) libplustek_pp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(IEEE1284_LIBS) $(PTHREAD_LIBS) -libpnm_la_SOURCES = pnm.c -libpnm_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pnm -nodist_libsane_pnm_la_SOURCES = pnm-s.c -libsane_pnm_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pnm -libsane_pnm_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_pnm_la_LIBADD = $(COMMON_LIBS) libpnm.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo -libqcam_la_SOURCES = qcam.c qcam.h -libqcam_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=qcam -nodist_libsane_qcam_la_SOURCES = qcam-s.c -libsane_qcam_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=qcam -libsane_qcam_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_qcam_la_LIBADD = $(COMMON_LIBS) libqcam.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_pio.lo -libricoh_la_SOURCES = ricoh.c ricoh.h -libricoh_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=ricoh -nodist_libsane_ricoh_la_SOURCES = ricoh-s.c -libsane_ricoh_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=ricoh -libsane_ricoh_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_ricoh_la_LIBADD = $(COMMON_LIBS) libricoh.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -librts8891_la_SOURCES = rts8891.c rts8891.h rts88xx_lib.c rts88xx_lib.h -librts8891_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=rts8891 -nodist_libsane_rts8891_la_SOURCES = rts8891-s.c -libsane_rts8891_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=rts8891 -libsane_rts8891_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_rts8891_la_LIBADD = $(COMMON_LIBS) librts8891.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_scsi.lo ../sanei/sanei_usb.lo $(SCSI_LIBS) $(USB_LIBS) $(RESMGR_LIBS) $(RESMGR_LIBS) -libs9036_la_SOURCES = s9036.c s9036.h -libs9036_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=s9036 -nodist_libsane_s9036_la_SOURCES = s9036-s.c -libsane_s9036_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=s9036 -libsane_s9036_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_s9036_la_LIBADD = $(COMMON_LIBS) libs9036.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libsceptre_la_SOURCES = sceptre.c sceptre.h -libsceptre_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=sceptre -nodist_libsane_sceptre_la_SOURCES = sceptre-s.c -libsane_sceptre_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=sceptre -libsane_sceptre_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_sceptre_la_LIBADD = $(COMMON_LIBS) libsceptre.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libsharp_la_SOURCES = sharp.c sharp.h -libsharp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=sharp -nodist_libsane_sharp_la_SOURCES = sharp-s.c -libsane_sharp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=sharp -libsane_sharp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_sharp_la_LIBADD = $(COMMON_LIBS) libsharp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(RESMGR_LIBS) -libsm3600_la_SOURCES = sm3600.c sm3600.h -libsm3600_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=sm3600 -nodist_libsane_sm3600_la_SOURCES = sm3600-s.c -libsane_sm3600_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=sm3600 -libsane_sm3600_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_sm3600_la_LIBADD = $(COMMON_LIBS) libsm3600.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) -libsm3840_la_SOURCES = sm3840.c sm3840.h sm3840_params.h -libsm3840_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=sm3840 -nodist_libsane_sm3840_la_SOURCES = sm3840-s.c -libsane_sm3840_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=sm3840 -libsane_sm3840_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_sm3840_la_LIBADD = $(COMMON_LIBS) libsm3840.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) -libsnapscan_la_SOURCES = snapscan.c snapscan.h -libsnapscan_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=snapscan -nodist_libsane_snapscan_la_SOURCES = snapscan-s.c -libsane_snapscan_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=snapscan -libsane_snapscan_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_snapscan_la_LIBADD = $(COMMON_LIBS) libsnapscan.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libsp15c_la_SOURCES = sp15c.c sp15c.h sp15c-scsi.h -libsp15c_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=sp15c -nodist_libsane_sp15c_la_SOURCES = sp15c-s.c -libsane_sp15c_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=sp15c -libsane_sp15c_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_sp15c_la_LIBADD = $(COMMON_LIBS) libsp15c.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libst400_la_SOURCES = st400.c st400.h -libst400_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=st400 -nodist_libsane_st400_la_SOURCES = st400-s.c ../sanei/sanei_scsi.lo -libsane_st400_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=st400 -libsane_st400_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_st400_la_LIBADD = $(COMMON_LIBS) libst400.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libstv680_la_SOURCES = stv680.c stv680.h -libstv680_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=stv680 -nodist_libsane_stv680_la_SOURCES = stv680-s.c -libsane_stv680_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=stv680 -libsane_stv680_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_stv680_la_LIBADD = $(COMMON_LIBS) libstv680.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) -libtamarack_la_SOURCES = tamarack.c tamarack.h -libtamarack_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=tamarack -nodist_libsane_tamarack_la_SOURCES = tamarack-s.c -libsane_tamarack_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=tamarack -libsane_tamarack_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_tamarack_la_LIBADD = $(COMMON_LIBS) libtamarack.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libtest_la_SOURCES = test.c test.h -libtest_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=test -nodist_libsane_test_la_SOURCES = test-s.c -libsane_test_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=test -libsane_test_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_test_la_LIBADD = $(COMMON_LIBS) libtest.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_thread.lo $(PTHREAD_LIBS) -libteco1_la_SOURCES = teco1.c teco1.h -libteco1_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=teco1 -nodist_libsane_teco1_la_SOURCES = teco1-s.c -libsane_teco1_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=teco1 -libsane_teco1_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_teco1_la_LIBADD = $(COMMON_LIBS) libteco1.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libteco2_la_SOURCES = teco2.c teco2.h -libteco2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=teco2 -nodist_libsane_teco2_la_SOURCES = teco2-s.c -libsane_teco2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=teco2 -libsane_teco2_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_teco2_la_LIBADD = $(COMMON_LIBS) libteco2.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libteco3_la_SOURCES = teco3.c teco3.h -libteco3_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=teco3 -nodist_libsane_teco3_la_SOURCES = teco3-s.c -libsane_teco3_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=teco3 -libsane_teco3_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_teco3_la_LIBADD = $(COMMON_LIBS) libteco3.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) -libu12_la_SOURCES = u12.c u12.h -libu12_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=u12 -nodist_libsane_u12_la_SOURCES = u12-s.c -libsane_u12_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=u12 -libsane_u12_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_u12_la_LIBADD = $(COMMON_LIBS) libu12.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libumax_la_SOURCES = umax.c umax.h -libumax_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=umax -nodist_libsane_umax_la_SOURCES = umax-s.c -libsane_umax_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=umax -libsane_umax_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_umax_la_LIBADD = $(COMMON_LIBS) libumax.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -libumax1220u_la_SOURCES = umax1220u.c -libumax1220u_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=umax1220u -nodist_libsane_umax1220u_la_SOURCES = umax1220u-s.c -libsane_umax1220u_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=umax1220u -libsane_umax1220u_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_umax1220u_la_LIBADD = $(COMMON_LIBS) libumax1220u.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_pv8630.lo $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) -libumax_pp_la_SOURCES = umax_pp.c umax_pp.h umax_pp_low.c umax_pp_low.h umax_pp_mid.c umax_pp_mid.h -libumax_pp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=umax_pp -nodist_libsane_umax_pp_la_SOURCES = umax_pp-s.c -libsane_umax_pp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=umax_pp -libsane_umax_pp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_umax_pp_la_LIBADD = $(COMMON_LIBS) libumax_pp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(MATH_LIB) -libv4l_la_SOURCES = v4l.c v4l.h v4l-frequencies.h -libv4l_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBV4L_CFLAGS) -DBACKEND_NAME=v4l -nodist_libsane_v4l_la_SOURCES = v4l-s.c -libsane_v4l_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=v4l -libsane_v4l_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_v4l_la_LIBADD = $(COMMON_LIBS) libv4l.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(LIBV4L_LIBS) -libxerox_mfp_la_SOURCES = xerox_mfp.c xerox_mfp-usb.c xerox_mfp-tcp.c xerox_mfp.h -libxerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp -nodist_libsane_xerox_mfp_la_SOURCES = xerox_mfp-s.c -libsane_xerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp -libsane_xerox_mfp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_xerox_mfp_la_LIBADD = $(COMMON_LIBS) libxerox_mfp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(RESMGR_LIBS) -libdll_preload_la_SOURCES = dll.c -libdll_preload_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll -DENABLE_PRELOAD -libdll_la_SOURCES = dll.c -libdll_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll -BUILT_SOURCES = dll-preload.h -nodist_libsane_dll_la_SOURCES = dll-s.c -libsane_dll_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll -libsane_dll_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_dll_la_LIBADD = $(COMMON_LIBS) libdll.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(DL_LIBS) - -# libsane.la and libsane-dll.la are the same thing except for -# the addition of backends listed by PRELOADABLE_BACKENDS that are -# statically linked in. -# Also, libsane.la goes into $(libdir) where as all libsane-* -# (including libsane-dll.la) go into $(libdir)/sane - -# FIXME: Since we are throwing in the kitchen sink, might as -# well link in ../sanei/libsanei.la instead. But currently, -# libsanei.la is linking in sanei_auth which requires md5. -# Shipping md5 could cause symbol conflicts with commonly used -# md5 external libraries. Either need to prefix md5 with sanei_ -# (see liblib.la and snprintf), or move sanei_auth outside -# of libsanei. -# -# FIXME: This is linking in every possible external library because there -# is the off chance user is using PRELOADABLE_BACKENDS that may need -# them. Since standard mode is to only have the dll backend, its a waste. -# Need to update configure to build a list of only what needs to go into -# LIBADD based on whats being preloaded. -nodist_libsane_la_SOURCES = dll-s.c -libsane_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll -libsane_la_LDFLAGS = $(DIST_LIBS_LDFLAGS) -libsane_la_LIBADD = $(COMMON_LIBS) $(PRELOADABLE_BACKENDS_ENABLED) libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo $(DL_LIBS) $(LIBV4L_LIBS) $(MATH_LIB) $(IEEE1284_LIBS) $(TIFF_LIBS) $(JPEG_LIBS) $(GPHOTO2_LIBS) $(SOCKET_LIBS) $(USB_LIBS) $(AVAHI_LIBS) $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) - -# WARNING: Automake is getting this wrong so have to do it ourselves. -libsane_la_DEPENDENCIES = $(COMMON_LIBS) $(PRELOADABLE_BACKENDS_ENABLED) libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo $(SANEI_SANEI_JPEG_LO) -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .conf.in .conf .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu backend/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu backend/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -install-sanelibLTLIBRARIES: $(sanelib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(sanelib_LTLIBRARIES)'; test -n "$(sanelibdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(sanelibdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(sanelibdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(sanelibdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(sanelibdir)"; \ - } - -uninstall-sanelibLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(sanelib_LTLIBRARIES)'; test -n "$(sanelibdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(sanelibdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(sanelibdir)/$$f"; \ - done - -clean-sanelibLTLIBRARIES: - -test -z "$(sanelib_LTLIBRARIES)" || rm -f $(sanelib_LTLIBRARIES) - @list='$(sanelib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libabaton.la: $(libabaton_la_OBJECTS) $(libabaton_la_DEPENDENCIES) $(EXTRA_libabaton_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libabaton_la_OBJECTS) $(libabaton_la_LIBADD) $(LIBS) - -libagfafocus.la: $(libagfafocus_la_OBJECTS) $(libagfafocus_la_DEPENDENCIES) $(EXTRA_libagfafocus_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libagfafocus_la_OBJECTS) $(libagfafocus_la_LIBADD) $(LIBS) - -libapple.la: $(libapple_la_OBJECTS) $(libapple_la_DEPENDENCIES) $(EXTRA_libapple_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libapple_la_OBJECTS) $(libapple_la_LIBADD) $(LIBS) - -libartec.la: $(libartec_la_OBJECTS) $(libartec_la_DEPENDENCIES) $(EXTRA_libartec_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libartec_la_OBJECTS) $(libartec_la_LIBADD) $(LIBS) - -libartec_eplus48u.la: $(libartec_eplus48u_la_OBJECTS) $(libartec_eplus48u_la_DEPENDENCIES) $(EXTRA_libartec_eplus48u_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libartec_eplus48u_la_OBJECTS) $(libartec_eplus48u_la_LIBADD) $(LIBS) - -libas6e.la: $(libas6e_la_OBJECTS) $(libas6e_la_DEPENDENCIES) $(EXTRA_libas6e_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libas6e_la_OBJECTS) $(libas6e_la_LIBADD) $(LIBS) - -libavision.la: $(libavision_la_OBJECTS) $(libavision_la_DEPENDENCIES) $(EXTRA_libavision_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libavision_la_OBJECTS) $(libavision_la_LIBADD) $(LIBS) - -libbh.la: $(libbh_la_OBJECTS) $(libbh_la_DEPENDENCIES) $(EXTRA_libbh_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libbh_la_OBJECTS) $(libbh_la_LIBADD) $(LIBS) - -libcanon.la: $(libcanon_la_OBJECTS) $(libcanon_la_DEPENDENCIES) $(EXTRA_libcanon_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libcanon_la_OBJECTS) $(libcanon_la_LIBADD) $(LIBS) - -libcanon630u.la: $(libcanon630u_la_OBJECTS) $(libcanon630u_la_DEPENDENCIES) $(EXTRA_libcanon630u_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libcanon630u_la_OBJECTS) $(libcanon630u_la_LIBADD) $(LIBS) - -libcanon_dr.la: $(libcanon_dr_la_OBJECTS) $(libcanon_dr_la_DEPENDENCIES) $(EXTRA_libcanon_dr_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libcanon_dr_la_OBJECTS) $(libcanon_dr_la_LIBADD) $(LIBS) - -libcanon_pp.la: $(libcanon_pp_la_OBJECTS) $(libcanon_pp_la_DEPENDENCIES) $(EXTRA_libcanon_pp_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libcanon_pp_la_OBJECTS) $(libcanon_pp_la_LIBADD) $(LIBS) - -libcardscan.la: $(libcardscan_la_OBJECTS) $(libcardscan_la_DEPENDENCIES) $(EXTRA_libcardscan_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libcardscan_la_OBJECTS) $(libcardscan_la_LIBADD) $(LIBS) - -libcoolscan.la: $(libcoolscan_la_OBJECTS) $(libcoolscan_la_DEPENDENCIES) $(EXTRA_libcoolscan_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libcoolscan_la_OBJECTS) $(libcoolscan_la_LIBADD) $(LIBS) - -libcoolscan2.la: $(libcoolscan2_la_OBJECTS) $(libcoolscan2_la_DEPENDENCIES) $(EXTRA_libcoolscan2_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libcoolscan2_la_OBJECTS) $(libcoolscan2_la_LIBADD) $(LIBS) - -libcoolscan3.la: $(libcoolscan3_la_OBJECTS) $(libcoolscan3_la_DEPENDENCIES) $(EXTRA_libcoolscan3_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libcoolscan3_la_OBJECTS) $(libcoolscan3_la_LIBADD) $(LIBS) - -libdc210.la: $(libdc210_la_OBJECTS) $(libdc210_la_DEPENDENCIES) $(EXTRA_libdc210_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libdc210_la_OBJECTS) $(libdc210_la_LIBADD) $(LIBS) - -libdc240.la: $(libdc240_la_OBJECTS) $(libdc240_la_DEPENDENCIES) $(EXTRA_libdc240_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libdc240_la_OBJECTS) $(libdc240_la_LIBADD) $(LIBS) - -libdc25.la: $(libdc25_la_OBJECTS) $(libdc25_la_DEPENDENCIES) $(EXTRA_libdc25_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libdc25_la_OBJECTS) $(libdc25_la_LIBADD) $(LIBS) - -libdell1600n_net.la: $(libdell1600n_net_la_OBJECTS) $(libdell1600n_net_la_DEPENDENCIES) $(EXTRA_libdell1600n_net_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libdell1600n_net_la_OBJECTS) $(libdell1600n_net_la_LIBADD) $(LIBS) - -libdll.la: $(libdll_la_OBJECTS) $(libdll_la_DEPENDENCIES) $(EXTRA_libdll_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libdll_la_OBJECTS) $(libdll_la_LIBADD) $(LIBS) - -libdll_preload.la: $(libdll_preload_la_OBJECTS) $(libdll_preload_la_DEPENDENCIES) $(EXTRA_libdll_preload_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libdll_preload_la_OBJECTS) $(libdll_preload_la_LIBADD) $(LIBS) - -libdmc.la: $(libdmc_la_OBJECTS) $(libdmc_la_DEPENDENCIES) $(EXTRA_libdmc_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libdmc_la_OBJECTS) $(libdmc_la_LIBADD) $(LIBS) - -libepjitsu.la: $(libepjitsu_la_OBJECTS) $(libepjitsu_la_DEPENDENCIES) $(EXTRA_libepjitsu_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libepjitsu_la_OBJECTS) $(libepjitsu_la_LIBADD) $(LIBS) - -libepson.la: $(libepson_la_OBJECTS) $(libepson_la_DEPENDENCIES) $(EXTRA_libepson_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libepson_la_OBJECTS) $(libepson_la_LIBADD) $(LIBS) - -libepson2.la: $(libepson2_la_OBJECTS) $(libepson2_la_DEPENDENCIES) $(EXTRA_libepson2_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libepson2_la_OBJECTS) $(libepson2_la_LIBADD) $(LIBS) - -libepsonds.la: $(libepsonds_la_OBJECTS) $(libepsonds_la_DEPENDENCIES) $(EXTRA_libepsonds_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libepsonds_la_OBJECTS) $(libepsonds_la_LIBADD) $(LIBS) - -libfujitsu.la: $(libfujitsu_la_OBJECTS) $(libfujitsu_la_DEPENDENCIES) $(EXTRA_libfujitsu_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libfujitsu_la_OBJECTS) $(libfujitsu_la_LIBADD) $(LIBS) - -libgenesys.la: $(libgenesys_la_OBJECTS) $(libgenesys_la_DEPENDENCIES) $(EXTRA_libgenesys_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libgenesys_la_OBJECTS) $(libgenesys_la_LIBADD) $(LIBS) - -libgphoto2_i.la: $(libgphoto2_i_la_OBJECTS) $(libgphoto2_i_la_DEPENDENCIES) $(EXTRA_libgphoto2_i_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libgphoto2_i_la_OBJECTS) $(libgphoto2_i_la_LIBADD) $(LIBS) - -libgt68xx.la: $(libgt68xx_la_OBJECTS) $(libgt68xx_la_DEPENDENCIES) $(EXTRA_libgt68xx_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libgt68xx_la_OBJECTS) $(libgt68xx_la_LIBADD) $(LIBS) - -libhp.la: $(libhp_la_OBJECTS) $(libhp_la_DEPENDENCIES) $(EXTRA_libhp_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libhp_la_OBJECTS) $(libhp_la_LIBADD) $(LIBS) - -libhp3500.la: $(libhp3500_la_OBJECTS) $(libhp3500_la_DEPENDENCIES) $(EXTRA_libhp3500_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libhp3500_la_OBJECTS) $(libhp3500_la_LIBADD) $(LIBS) - -libhp3900.la: $(libhp3900_la_OBJECTS) $(libhp3900_la_DEPENDENCIES) $(EXTRA_libhp3900_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libhp3900_la_OBJECTS) $(libhp3900_la_LIBADD) $(LIBS) - -libhp4200.la: $(libhp4200_la_OBJECTS) $(libhp4200_la_DEPENDENCIES) $(EXTRA_libhp4200_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libhp4200_la_OBJECTS) $(libhp4200_la_LIBADD) $(LIBS) - -libhp5400.la: $(libhp5400_la_OBJECTS) $(libhp5400_la_DEPENDENCIES) $(EXTRA_libhp5400_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libhp5400_la_OBJECTS) $(libhp5400_la_LIBADD) $(LIBS) - -libhp5590.la: $(libhp5590_la_OBJECTS) $(libhp5590_la_DEPENDENCIES) $(EXTRA_libhp5590_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libhp5590_la_OBJECTS) $(libhp5590_la_LIBADD) $(LIBS) - -libhpljm1005.la: $(libhpljm1005_la_OBJECTS) $(libhpljm1005_la_DEPENDENCIES) $(EXTRA_libhpljm1005_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libhpljm1005_la_OBJECTS) $(libhpljm1005_la_LIBADD) $(LIBS) - -libhpsj5s.la: $(libhpsj5s_la_OBJECTS) $(libhpsj5s_la_DEPENDENCIES) $(EXTRA_libhpsj5s_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libhpsj5s_la_OBJECTS) $(libhpsj5s_la_LIBADD) $(LIBS) - -libhs2p.la: $(libhs2p_la_OBJECTS) $(libhs2p_la_DEPENDENCIES) $(EXTRA_libhs2p_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libhs2p_la_OBJECTS) $(libhs2p_la_LIBADD) $(LIBS) - -libibm.la: $(libibm_la_OBJECTS) $(libibm_la_DEPENDENCIES) $(EXTRA_libibm_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libibm_la_OBJECTS) $(libibm_la_LIBADD) $(LIBS) - -libkodak.la: $(libkodak_la_OBJECTS) $(libkodak_la_DEPENDENCIES) $(EXTRA_libkodak_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libkodak_la_OBJECTS) $(libkodak_la_LIBADD) $(LIBS) - -libkodakaio.la: $(libkodakaio_la_OBJECTS) $(libkodakaio_la_DEPENDENCIES) $(EXTRA_libkodakaio_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libkodakaio_la_OBJECTS) $(libkodakaio_la_LIBADD) $(LIBS) - -libkvs1025.la: $(libkvs1025_la_OBJECTS) $(libkvs1025_la_DEPENDENCIES) $(EXTRA_libkvs1025_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libkvs1025_la_OBJECTS) $(libkvs1025_la_LIBADD) $(LIBS) - -libkvs20xx.la: $(libkvs20xx_la_OBJECTS) $(libkvs20xx_la_DEPENDENCIES) $(EXTRA_libkvs20xx_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libkvs20xx_la_OBJECTS) $(libkvs20xx_la_LIBADD) $(LIBS) - -libkvs40xx.la: $(libkvs40xx_la_OBJECTS) $(libkvs40xx_la_DEPENDENCIES) $(EXTRA_libkvs40xx_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libkvs40xx_la_OBJECTS) $(libkvs40xx_la_LIBADD) $(LIBS) - -libleo.la: $(libleo_la_OBJECTS) $(libleo_la_DEPENDENCIES) $(EXTRA_libleo_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libleo_la_OBJECTS) $(libleo_la_LIBADD) $(LIBS) - -liblexmark.la: $(liblexmark_la_OBJECTS) $(liblexmark_la_DEPENDENCIES) $(EXTRA_liblexmark_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(liblexmark_la_OBJECTS) $(liblexmark_la_LIBADD) $(LIBS) - -libma1509.la: $(libma1509_la_OBJECTS) $(libma1509_la_DEPENDENCIES) $(EXTRA_libma1509_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libma1509_la_OBJECTS) $(libma1509_la_LIBADD) $(LIBS) - -libmagicolor.la: $(libmagicolor_la_OBJECTS) $(libmagicolor_la_DEPENDENCIES) $(EXTRA_libmagicolor_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libmagicolor_la_OBJECTS) $(libmagicolor_la_LIBADD) $(LIBS) - -libmatsushita.la: $(libmatsushita_la_OBJECTS) $(libmatsushita_la_DEPENDENCIES) $(EXTRA_libmatsushita_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libmatsushita_la_OBJECTS) $(libmatsushita_la_LIBADD) $(LIBS) - -libmicrotek.la: $(libmicrotek_la_OBJECTS) $(libmicrotek_la_DEPENDENCIES) $(EXTRA_libmicrotek_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libmicrotek_la_OBJECTS) $(libmicrotek_la_LIBADD) $(LIBS) - -libmicrotek2.la: $(libmicrotek2_la_OBJECTS) $(libmicrotek2_la_DEPENDENCIES) $(EXTRA_libmicrotek2_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libmicrotek2_la_OBJECTS) $(libmicrotek2_la_LIBADD) $(LIBS) - -libmustek.la: $(libmustek_la_OBJECTS) $(libmustek_la_DEPENDENCIES) $(EXTRA_libmustek_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libmustek_la_OBJECTS) $(libmustek_la_LIBADD) $(LIBS) - -libmustek_pp.la: $(libmustek_pp_la_OBJECTS) $(libmustek_pp_la_DEPENDENCIES) $(EXTRA_libmustek_pp_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libmustek_pp_la_OBJECTS) $(libmustek_pp_la_LIBADD) $(LIBS) - -libmustek_usb.la: $(libmustek_usb_la_OBJECTS) $(libmustek_usb_la_DEPENDENCIES) $(EXTRA_libmustek_usb_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libmustek_usb_la_OBJECTS) $(libmustek_usb_la_LIBADD) $(LIBS) - -libmustek_usb2.la: $(libmustek_usb2_la_OBJECTS) $(libmustek_usb2_la_DEPENDENCIES) $(EXTRA_libmustek_usb2_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libmustek_usb2_la_OBJECTS) $(libmustek_usb2_la_LIBADD) $(LIBS) - -libnec.la: $(libnec_la_OBJECTS) $(libnec_la_DEPENDENCIES) $(EXTRA_libnec_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libnec_la_OBJECTS) $(libnec_la_LIBADD) $(LIBS) - -libnet.la: $(libnet_la_OBJECTS) $(libnet_la_DEPENDENCIES) $(EXTRA_libnet_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libnet_la_OBJECTS) $(libnet_la_LIBADD) $(LIBS) - -libniash.la: $(libniash_la_OBJECTS) $(libniash_la_DEPENDENCIES) $(EXTRA_libniash_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libniash_la_OBJECTS) $(libniash_la_LIBADD) $(LIBS) - -libp5.la: $(libp5_la_OBJECTS) $(libp5_la_DEPENDENCIES) $(EXTRA_libp5_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libp5_la_OBJECTS) $(libp5_la_LIBADD) $(LIBS) - -libpie.la: $(libpie_la_OBJECTS) $(libpie_la_DEPENDENCIES) $(EXTRA_libpie_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libpie_la_OBJECTS) $(libpie_la_LIBADD) $(LIBS) - -libpieusb.la: $(libpieusb_la_OBJECTS) $(libpieusb_la_DEPENDENCIES) $(EXTRA_libpieusb_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libpieusb_la_OBJECTS) $(libpieusb_la_LIBADD) $(LIBS) - -libpint.la: $(libpint_la_OBJECTS) $(libpint_la_DEPENDENCIES) $(EXTRA_libpint_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libpint_la_OBJECTS) $(libpint_la_LIBADD) $(LIBS) - -libpixma.la: $(libpixma_la_OBJECTS) $(libpixma_la_DEPENDENCIES) $(EXTRA_libpixma_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libpixma_la_OBJECTS) $(libpixma_la_LIBADD) $(LIBS) - -libplustek.la: $(libplustek_la_OBJECTS) $(libplustek_la_DEPENDENCIES) $(EXTRA_libplustek_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libplustek_la_OBJECTS) $(libplustek_la_LIBADD) $(LIBS) - -libplustek_pp.la: $(libplustek_pp_la_OBJECTS) $(libplustek_pp_la_DEPENDENCIES) $(EXTRA_libplustek_pp_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libplustek_pp_la_OBJECTS) $(libplustek_pp_la_LIBADD) $(LIBS) - -libpnm.la: $(libpnm_la_OBJECTS) $(libpnm_la_DEPENDENCIES) $(EXTRA_libpnm_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libpnm_la_OBJECTS) $(libpnm_la_LIBADD) $(LIBS) - -libqcam.la: $(libqcam_la_OBJECTS) $(libqcam_la_DEPENDENCIES) $(EXTRA_libqcam_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libqcam_la_OBJECTS) $(libqcam_la_LIBADD) $(LIBS) - -libricoh.la: $(libricoh_la_OBJECTS) $(libricoh_la_DEPENDENCIES) $(EXTRA_libricoh_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libricoh_la_OBJECTS) $(libricoh_la_LIBADD) $(LIBS) - -librts8891.la: $(librts8891_la_OBJECTS) $(librts8891_la_DEPENDENCIES) $(EXTRA_librts8891_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(librts8891_la_OBJECTS) $(librts8891_la_LIBADD) $(LIBS) - -libs9036.la: $(libs9036_la_OBJECTS) $(libs9036_la_DEPENDENCIES) $(EXTRA_libs9036_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libs9036_la_OBJECTS) $(libs9036_la_LIBADD) $(LIBS) - -libsane-abaton.la: $(libsane_abaton_la_OBJECTS) $(libsane_abaton_la_DEPENDENCIES) $(EXTRA_libsane_abaton_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_abaton_la_LINK) $(libsane_abaton_la_OBJECTS) $(libsane_abaton_la_LIBADD) $(LIBS) - -libsane-agfafocus.la: $(libsane_agfafocus_la_OBJECTS) $(libsane_agfafocus_la_DEPENDENCIES) $(EXTRA_libsane_agfafocus_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_agfafocus_la_LINK) $(libsane_agfafocus_la_OBJECTS) $(libsane_agfafocus_la_LIBADD) $(LIBS) - -libsane-apple.la: $(libsane_apple_la_OBJECTS) $(libsane_apple_la_DEPENDENCIES) $(EXTRA_libsane_apple_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_apple_la_LINK) $(libsane_apple_la_OBJECTS) $(libsane_apple_la_LIBADD) $(LIBS) - -libsane-artec.la: $(libsane_artec_la_OBJECTS) $(libsane_artec_la_DEPENDENCIES) $(EXTRA_libsane_artec_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_artec_la_LINK) $(libsane_artec_la_OBJECTS) $(libsane_artec_la_LIBADD) $(LIBS) - -libsane-artec_eplus48u.la: $(libsane_artec_eplus48u_la_OBJECTS) $(libsane_artec_eplus48u_la_DEPENDENCIES) $(EXTRA_libsane_artec_eplus48u_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_artec_eplus48u_la_LINK) $(libsane_artec_eplus48u_la_OBJECTS) $(libsane_artec_eplus48u_la_LIBADD) $(LIBS) - -libsane-as6e.la: $(libsane_as6e_la_OBJECTS) $(libsane_as6e_la_DEPENDENCIES) $(EXTRA_libsane_as6e_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_as6e_la_LINK) $(libsane_as6e_la_OBJECTS) $(libsane_as6e_la_LIBADD) $(LIBS) - -libsane-avision.la: $(libsane_avision_la_OBJECTS) $(libsane_avision_la_DEPENDENCIES) $(EXTRA_libsane_avision_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_avision_la_LINK) $(libsane_avision_la_OBJECTS) $(libsane_avision_la_LIBADD) $(LIBS) - -libsane-bh.la: $(libsane_bh_la_OBJECTS) $(libsane_bh_la_DEPENDENCIES) $(EXTRA_libsane_bh_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_bh_la_LINK) $(libsane_bh_la_OBJECTS) $(libsane_bh_la_LIBADD) $(LIBS) - -libsane-canon.la: $(libsane_canon_la_OBJECTS) $(libsane_canon_la_DEPENDENCIES) $(EXTRA_libsane_canon_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_canon_la_LINK) $(libsane_canon_la_OBJECTS) $(libsane_canon_la_LIBADD) $(LIBS) - -libsane-canon630u.la: $(libsane_canon630u_la_OBJECTS) $(libsane_canon630u_la_DEPENDENCIES) $(EXTRA_libsane_canon630u_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_canon630u_la_LINK) $(libsane_canon630u_la_OBJECTS) $(libsane_canon630u_la_LIBADD) $(LIBS) - -libsane-canon_dr.la: $(libsane_canon_dr_la_OBJECTS) $(libsane_canon_dr_la_DEPENDENCIES) $(EXTRA_libsane_canon_dr_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_canon_dr_la_LINK) $(libsane_canon_dr_la_OBJECTS) $(libsane_canon_dr_la_LIBADD) $(LIBS) - -libsane-canon_pp.la: $(libsane_canon_pp_la_OBJECTS) $(libsane_canon_pp_la_DEPENDENCIES) $(EXTRA_libsane_canon_pp_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_canon_pp_la_LINK) $(libsane_canon_pp_la_OBJECTS) $(libsane_canon_pp_la_LIBADD) $(LIBS) - -libsane-cardscan.la: $(libsane_cardscan_la_OBJECTS) $(libsane_cardscan_la_DEPENDENCIES) $(EXTRA_libsane_cardscan_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_cardscan_la_LINK) $(libsane_cardscan_la_OBJECTS) $(libsane_cardscan_la_LIBADD) $(LIBS) - -libsane-coolscan.la: $(libsane_coolscan_la_OBJECTS) $(libsane_coolscan_la_DEPENDENCIES) $(EXTRA_libsane_coolscan_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_coolscan_la_LINK) $(libsane_coolscan_la_OBJECTS) $(libsane_coolscan_la_LIBADD) $(LIBS) - -libsane-coolscan2.la: $(libsane_coolscan2_la_OBJECTS) $(libsane_coolscan2_la_DEPENDENCIES) $(EXTRA_libsane_coolscan2_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_coolscan2_la_LINK) $(libsane_coolscan2_la_OBJECTS) $(libsane_coolscan2_la_LIBADD) $(LIBS) - -libsane-coolscan3.la: $(libsane_coolscan3_la_OBJECTS) $(libsane_coolscan3_la_DEPENDENCIES) $(EXTRA_libsane_coolscan3_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_coolscan3_la_LINK) $(libsane_coolscan3_la_OBJECTS) $(libsane_coolscan3_la_LIBADD) $(LIBS) - -libsane-dc210.la: $(libsane_dc210_la_OBJECTS) $(libsane_dc210_la_DEPENDENCIES) $(EXTRA_libsane_dc210_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_dc210_la_LINK) $(libsane_dc210_la_OBJECTS) $(libsane_dc210_la_LIBADD) $(LIBS) - -libsane-dc240.la: $(libsane_dc240_la_OBJECTS) $(libsane_dc240_la_DEPENDENCIES) $(EXTRA_libsane_dc240_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_dc240_la_LINK) $(libsane_dc240_la_OBJECTS) $(libsane_dc240_la_LIBADD) $(LIBS) - -libsane-dc25.la: $(libsane_dc25_la_OBJECTS) $(libsane_dc25_la_DEPENDENCIES) $(EXTRA_libsane_dc25_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_dc25_la_LINK) $(libsane_dc25_la_OBJECTS) $(libsane_dc25_la_LIBADD) $(LIBS) - -libsane-dell1600n_net.la: $(libsane_dell1600n_net_la_OBJECTS) $(libsane_dell1600n_net_la_DEPENDENCIES) $(EXTRA_libsane_dell1600n_net_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_dell1600n_net_la_LINK) $(libsane_dell1600n_net_la_OBJECTS) $(libsane_dell1600n_net_la_LIBADD) $(LIBS) - -libsane-dll.la: $(libsane_dll_la_OBJECTS) $(libsane_dll_la_DEPENDENCIES) $(EXTRA_libsane_dll_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_dll_la_LINK) -rpath $(sanelibdir) $(libsane_dll_la_OBJECTS) $(libsane_dll_la_LIBADD) $(LIBS) - -libsane-dmc.la: $(libsane_dmc_la_OBJECTS) $(libsane_dmc_la_DEPENDENCIES) $(EXTRA_libsane_dmc_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_dmc_la_LINK) $(libsane_dmc_la_OBJECTS) $(libsane_dmc_la_LIBADD) $(LIBS) - -libsane-epjitsu.la: $(libsane_epjitsu_la_OBJECTS) $(libsane_epjitsu_la_DEPENDENCIES) $(EXTRA_libsane_epjitsu_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_epjitsu_la_LINK) $(libsane_epjitsu_la_OBJECTS) $(libsane_epjitsu_la_LIBADD) $(LIBS) - -libsane-epson.la: $(libsane_epson_la_OBJECTS) $(libsane_epson_la_DEPENDENCIES) $(EXTRA_libsane_epson_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_epson_la_LINK) $(libsane_epson_la_OBJECTS) $(libsane_epson_la_LIBADD) $(LIBS) - -libsane-epson2.la: $(libsane_epson2_la_OBJECTS) $(libsane_epson2_la_DEPENDENCIES) $(EXTRA_libsane_epson2_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_epson2_la_LINK) $(libsane_epson2_la_OBJECTS) $(libsane_epson2_la_LIBADD) $(LIBS) - -libsane-epsonds.la: $(libsane_epsonds_la_OBJECTS) $(libsane_epsonds_la_DEPENDENCIES) $(EXTRA_libsane_epsonds_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_epsonds_la_LINK) $(libsane_epsonds_la_OBJECTS) $(libsane_epsonds_la_LIBADD) $(LIBS) - -libsane-fujitsu.la: $(libsane_fujitsu_la_OBJECTS) $(libsane_fujitsu_la_DEPENDENCIES) $(EXTRA_libsane_fujitsu_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_fujitsu_la_LINK) $(libsane_fujitsu_la_OBJECTS) $(libsane_fujitsu_la_LIBADD) $(LIBS) - -libsane-genesys.la: $(libsane_genesys_la_OBJECTS) $(libsane_genesys_la_DEPENDENCIES) $(EXTRA_libsane_genesys_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_genesys_la_LINK) $(libsane_genesys_la_OBJECTS) $(libsane_genesys_la_LIBADD) $(LIBS) - -libsane-gphoto2.la: $(libsane_gphoto2_la_OBJECTS) $(libsane_gphoto2_la_DEPENDENCIES) $(EXTRA_libsane_gphoto2_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_gphoto2_la_LINK) $(libsane_gphoto2_la_OBJECTS) $(libsane_gphoto2_la_LIBADD) $(LIBS) - -libsane-gt68xx.la: $(libsane_gt68xx_la_OBJECTS) $(libsane_gt68xx_la_DEPENDENCIES) $(EXTRA_libsane_gt68xx_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_gt68xx_la_LINK) $(libsane_gt68xx_la_OBJECTS) $(libsane_gt68xx_la_LIBADD) $(LIBS) - -libsane-hp.la: $(libsane_hp_la_OBJECTS) $(libsane_hp_la_DEPENDENCIES) $(EXTRA_libsane_hp_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_hp_la_LINK) $(libsane_hp_la_OBJECTS) $(libsane_hp_la_LIBADD) $(LIBS) - -libsane-hp3500.la: $(libsane_hp3500_la_OBJECTS) $(libsane_hp3500_la_DEPENDENCIES) $(EXTRA_libsane_hp3500_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_hp3500_la_LINK) $(libsane_hp3500_la_OBJECTS) $(libsane_hp3500_la_LIBADD) $(LIBS) - -libsane-hp3900.la: $(libsane_hp3900_la_OBJECTS) $(libsane_hp3900_la_DEPENDENCIES) $(EXTRA_libsane_hp3900_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_hp3900_la_LINK) $(libsane_hp3900_la_OBJECTS) $(libsane_hp3900_la_LIBADD) $(LIBS) - -libsane-hp4200.la: $(libsane_hp4200_la_OBJECTS) $(libsane_hp4200_la_DEPENDENCIES) $(EXTRA_libsane_hp4200_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_hp4200_la_LINK) $(libsane_hp4200_la_OBJECTS) $(libsane_hp4200_la_LIBADD) $(LIBS) - -libsane-hp5400.la: $(libsane_hp5400_la_OBJECTS) $(libsane_hp5400_la_DEPENDENCIES) $(EXTRA_libsane_hp5400_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_hp5400_la_LINK) $(libsane_hp5400_la_OBJECTS) $(libsane_hp5400_la_LIBADD) $(LIBS) - -libsane-hp5590.la: $(libsane_hp5590_la_OBJECTS) $(libsane_hp5590_la_DEPENDENCIES) $(EXTRA_libsane_hp5590_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_hp5590_la_LINK) $(libsane_hp5590_la_OBJECTS) $(libsane_hp5590_la_LIBADD) $(LIBS) - -libsane-hpljm1005.la: $(libsane_hpljm1005_la_OBJECTS) $(libsane_hpljm1005_la_DEPENDENCIES) $(EXTRA_libsane_hpljm1005_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_hpljm1005_la_LINK) $(libsane_hpljm1005_la_OBJECTS) $(libsane_hpljm1005_la_LIBADD) $(LIBS) - -libsane-hpsj5s.la: $(libsane_hpsj5s_la_OBJECTS) $(libsane_hpsj5s_la_DEPENDENCIES) $(EXTRA_libsane_hpsj5s_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_hpsj5s_la_LINK) $(libsane_hpsj5s_la_OBJECTS) $(libsane_hpsj5s_la_LIBADD) $(LIBS) - -libsane-hs2p.la: $(libsane_hs2p_la_OBJECTS) $(libsane_hs2p_la_DEPENDENCIES) $(EXTRA_libsane_hs2p_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_hs2p_la_LINK) $(libsane_hs2p_la_OBJECTS) $(libsane_hs2p_la_LIBADD) $(LIBS) - -libsane-ibm.la: $(libsane_ibm_la_OBJECTS) $(libsane_ibm_la_DEPENDENCIES) $(EXTRA_libsane_ibm_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_ibm_la_LINK) $(libsane_ibm_la_OBJECTS) $(libsane_ibm_la_LIBADD) $(LIBS) - -libsane-kodak.la: $(libsane_kodak_la_OBJECTS) $(libsane_kodak_la_DEPENDENCIES) $(EXTRA_libsane_kodak_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_kodak_la_LINK) $(libsane_kodak_la_OBJECTS) $(libsane_kodak_la_LIBADD) $(LIBS) - -libsane-kodakaio.la: $(libsane_kodakaio_la_OBJECTS) $(libsane_kodakaio_la_DEPENDENCIES) $(EXTRA_libsane_kodakaio_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_kodakaio_la_LINK) $(libsane_kodakaio_la_OBJECTS) $(libsane_kodakaio_la_LIBADD) $(LIBS) - -libsane-kvs1025.la: $(libsane_kvs1025_la_OBJECTS) $(libsane_kvs1025_la_DEPENDENCIES) $(EXTRA_libsane_kvs1025_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_kvs1025_la_LINK) $(libsane_kvs1025_la_OBJECTS) $(libsane_kvs1025_la_LIBADD) $(LIBS) - -libsane-kvs20xx.la: $(libsane_kvs20xx_la_OBJECTS) $(libsane_kvs20xx_la_DEPENDENCIES) $(EXTRA_libsane_kvs20xx_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_kvs20xx_la_LINK) $(libsane_kvs20xx_la_OBJECTS) $(libsane_kvs20xx_la_LIBADD) $(LIBS) - -libsane-kvs40xx.la: $(libsane_kvs40xx_la_OBJECTS) $(libsane_kvs40xx_la_DEPENDENCIES) $(EXTRA_libsane_kvs40xx_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_kvs40xx_la_LINK) $(libsane_kvs40xx_la_OBJECTS) $(libsane_kvs40xx_la_LIBADD) $(LIBS) - -libsane-leo.la: $(libsane_leo_la_OBJECTS) $(libsane_leo_la_DEPENDENCIES) $(EXTRA_libsane_leo_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_leo_la_LINK) $(libsane_leo_la_OBJECTS) $(libsane_leo_la_LIBADD) $(LIBS) - -libsane-lexmark.la: $(libsane_lexmark_la_OBJECTS) $(libsane_lexmark_la_DEPENDENCIES) $(EXTRA_libsane_lexmark_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_lexmark_la_LINK) $(libsane_lexmark_la_OBJECTS) $(libsane_lexmark_la_LIBADD) $(LIBS) - -libsane-ma1509.la: $(libsane_ma1509_la_OBJECTS) $(libsane_ma1509_la_DEPENDENCIES) $(EXTRA_libsane_ma1509_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_ma1509_la_LINK) $(libsane_ma1509_la_OBJECTS) $(libsane_ma1509_la_LIBADD) $(LIBS) - -libsane-magicolor.la: $(libsane_magicolor_la_OBJECTS) $(libsane_magicolor_la_DEPENDENCIES) $(EXTRA_libsane_magicolor_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_magicolor_la_LINK) $(libsane_magicolor_la_OBJECTS) $(libsane_magicolor_la_LIBADD) $(LIBS) - -libsane-matsushita.la: $(libsane_matsushita_la_OBJECTS) $(libsane_matsushita_la_DEPENDENCIES) $(EXTRA_libsane_matsushita_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_matsushita_la_LINK) $(libsane_matsushita_la_OBJECTS) $(libsane_matsushita_la_LIBADD) $(LIBS) - -libsane-microtek.la: $(libsane_microtek_la_OBJECTS) $(libsane_microtek_la_DEPENDENCIES) $(EXTRA_libsane_microtek_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_microtek_la_LINK) $(libsane_microtek_la_OBJECTS) $(libsane_microtek_la_LIBADD) $(LIBS) - -libsane-microtek2.la: $(libsane_microtek2_la_OBJECTS) $(libsane_microtek2_la_DEPENDENCIES) $(EXTRA_libsane_microtek2_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_microtek2_la_LINK) $(libsane_microtek2_la_OBJECTS) $(libsane_microtek2_la_LIBADD) $(LIBS) - -libsane-mustek.la: $(libsane_mustek_la_OBJECTS) $(libsane_mustek_la_DEPENDENCIES) $(EXTRA_libsane_mustek_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_mustek_la_LINK) $(libsane_mustek_la_OBJECTS) $(libsane_mustek_la_LIBADD) $(LIBS) - -libsane-mustek_pp.la: $(libsane_mustek_pp_la_OBJECTS) $(libsane_mustek_pp_la_DEPENDENCIES) $(EXTRA_libsane_mustek_pp_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_mustek_pp_la_LINK) $(libsane_mustek_pp_la_OBJECTS) $(libsane_mustek_pp_la_LIBADD) $(LIBS) - -libsane-mustek_usb.la: $(libsane_mustek_usb_la_OBJECTS) $(libsane_mustek_usb_la_DEPENDENCIES) $(EXTRA_libsane_mustek_usb_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_mustek_usb_la_LINK) $(libsane_mustek_usb_la_OBJECTS) $(libsane_mustek_usb_la_LIBADD) $(LIBS) - -libsane-mustek_usb2.la: $(libsane_mustek_usb2_la_OBJECTS) $(libsane_mustek_usb2_la_DEPENDENCIES) $(EXTRA_libsane_mustek_usb2_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_mustek_usb2_la_LINK) $(libsane_mustek_usb2_la_OBJECTS) $(libsane_mustek_usb2_la_LIBADD) $(LIBS) - -libsane-nec.la: $(libsane_nec_la_OBJECTS) $(libsane_nec_la_DEPENDENCIES) $(EXTRA_libsane_nec_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_nec_la_LINK) $(libsane_nec_la_OBJECTS) $(libsane_nec_la_LIBADD) $(LIBS) - -libsane-net.la: $(libsane_net_la_OBJECTS) $(libsane_net_la_DEPENDENCIES) $(EXTRA_libsane_net_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_net_la_LINK) $(libsane_net_la_OBJECTS) $(libsane_net_la_LIBADD) $(LIBS) - -libsane-niash.la: $(libsane_niash_la_OBJECTS) $(libsane_niash_la_DEPENDENCIES) $(EXTRA_libsane_niash_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_niash_la_LINK) $(libsane_niash_la_OBJECTS) $(libsane_niash_la_LIBADD) $(LIBS) - -libsane-p5.la: $(libsane_p5_la_OBJECTS) $(libsane_p5_la_DEPENDENCIES) $(EXTRA_libsane_p5_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_p5_la_LINK) $(libsane_p5_la_OBJECTS) $(libsane_p5_la_LIBADD) $(LIBS) - -libsane-pie.la: $(libsane_pie_la_OBJECTS) $(libsane_pie_la_DEPENDENCIES) $(EXTRA_libsane_pie_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_pie_la_LINK) $(libsane_pie_la_OBJECTS) $(libsane_pie_la_LIBADD) $(LIBS) - -libsane-pieusb.la: $(libsane_pieusb_la_OBJECTS) $(libsane_pieusb_la_DEPENDENCIES) $(EXTRA_libsane_pieusb_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_pieusb_la_LINK) $(libsane_pieusb_la_OBJECTS) $(libsane_pieusb_la_LIBADD) $(LIBS) - -libsane-pint.la: $(libsane_pint_la_OBJECTS) $(libsane_pint_la_DEPENDENCIES) $(EXTRA_libsane_pint_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_pint_la_LINK) $(libsane_pint_la_OBJECTS) $(libsane_pint_la_LIBADD) $(LIBS) - -libsane-pixma.la: $(libsane_pixma_la_OBJECTS) $(libsane_pixma_la_DEPENDENCIES) $(EXTRA_libsane_pixma_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_pixma_la_LINK) $(libsane_pixma_la_OBJECTS) $(libsane_pixma_la_LIBADD) $(LIBS) - -libsane-plustek.la: $(libsane_plustek_la_OBJECTS) $(libsane_plustek_la_DEPENDENCIES) $(EXTRA_libsane_plustek_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_plustek_la_LINK) $(libsane_plustek_la_OBJECTS) $(libsane_plustek_la_LIBADD) $(LIBS) - -libsane-plustek_pp.la: $(libsane_plustek_pp_la_OBJECTS) $(libsane_plustek_pp_la_DEPENDENCIES) $(EXTRA_libsane_plustek_pp_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_plustek_pp_la_LINK) $(libsane_plustek_pp_la_OBJECTS) $(libsane_plustek_pp_la_LIBADD) $(LIBS) - -libsane-pnm.la: $(libsane_pnm_la_OBJECTS) $(libsane_pnm_la_DEPENDENCIES) $(EXTRA_libsane_pnm_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_pnm_la_LINK) $(libsane_pnm_la_OBJECTS) $(libsane_pnm_la_LIBADD) $(LIBS) - -libsane-qcam.la: $(libsane_qcam_la_OBJECTS) $(libsane_qcam_la_DEPENDENCIES) $(EXTRA_libsane_qcam_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_qcam_la_LINK) $(libsane_qcam_la_OBJECTS) $(libsane_qcam_la_LIBADD) $(LIBS) - -libsane-ricoh.la: $(libsane_ricoh_la_OBJECTS) $(libsane_ricoh_la_DEPENDENCIES) $(EXTRA_libsane_ricoh_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_ricoh_la_LINK) $(libsane_ricoh_la_OBJECTS) $(libsane_ricoh_la_LIBADD) $(LIBS) - -libsane-rts8891.la: $(libsane_rts8891_la_OBJECTS) $(libsane_rts8891_la_DEPENDENCIES) $(EXTRA_libsane_rts8891_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_rts8891_la_LINK) $(libsane_rts8891_la_OBJECTS) $(libsane_rts8891_la_LIBADD) $(LIBS) - -libsane-s9036.la: $(libsane_s9036_la_OBJECTS) $(libsane_s9036_la_DEPENDENCIES) $(EXTRA_libsane_s9036_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_s9036_la_LINK) $(libsane_s9036_la_OBJECTS) $(libsane_s9036_la_LIBADD) $(LIBS) - -libsane-sceptre.la: $(libsane_sceptre_la_OBJECTS) $(libsane_sceptre_la_DEPENDENCIES) $(EXTRA_libsane_sceptre_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_sceptre_la_LINK) $(libsane_sceptre_la_OBJECTS) $(libsane_sceptre_la_LIBADD) $(LIBS) - -libsane-sharp.la: $(libsane_sharp_la_OBJECTS) $(libsane_sharp_la_DEPENDENCIES) $(EXTRA_libsane_sharp_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_sharp_la_LINK) $(libsane_sharp_la_OBJECTS) $(libsane_sharp_la_LIBADD) $(LIBS) - -libsane-sm3600.la: $(libsane_sm3600_la_OBJECTS) $(libsane_sm3600_la_DEPENDENCIES) $(EXTRA_libsane_sm3600_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_sm3600_la_LINK) $(libsane_sm3600_la_OBJECTS) $(libsane_sm3600_la_LIBADD) $(LIBS) - -libsane-sm3840.la: $(libsane_sm3840_la_OBJECTS) $(libsane_sm3840_la_DEPENDENCIES) $(EXTRA_libsane_sm3840_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_sm3840_la_LINK) $(libsane_sm3840_la_OBJECTS) $(libsane_sm3840_la_LIBADD) $(LIBS) - -libsane-snapscan.la: $(libsane_snapscan_la_OBJECTS) $(libsane_snapscan_la_DEPENDENCIES) $(EXTRA_libsane_snapscan_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_snapscan_la_LINK) $(libsane_snapscan_la_OBJECTS) $(libsane_snapscan_la_LIBADD) $(LIBS) - -libsane-sp15c.la: $(libsane_sp15c_la_OBJECTS) $(libsane_sp15c_la_DEPENDENCIES) $(EXTRA_libsane_sp15c_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_sp15c_la_LINK) $(libsane_sp15c_la_OBJECTS) $(libsane_sp15c_la_LIBADD) $(LIBS) - -libsane-st400.la: $(libsane_st400_la_OBJECTS) $(libsane_st400_la_DEPENDENCIES) $(EXTRA_libsane_st400_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_st400_la_LINK) $(libsane_st400_la_OBJECTS) $(libsane_st400_la_LIBADD) $(LIBS) - -libsane-stv680.la: $(libsane_stv680_la_OBJECTS) $(libsane_stv680_la_DEPENDENCIES) $(EXTRA_libsane_stv680_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_stv680_la_LINK) $(libsane_stv680_la_OBJECTS) $(libsane_stv680_la_LIBADD) $(LIBS) - -libsane-tamarack.la: $(libsane_tamarack_la_OBJECTS) $(libsane_tamarack_la_DEPENDENCIES) $(EXTRA_libsane_tamarack_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_tamarack_la_LINK) $(libsane_tamarack_la_OBJECTS) $(libsane_tamarack_la_LIBADD) $(LIBS) - -libsane-teco1.la: $(libsane_teco1_la_OBJECTS) $(libsane_teco1_la_DEPENDENCIES) $(EXTRA_libsane_teco1_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_teco1_la_LINK) $(libsane_teco1_la_OBJECTS) $(libsane_teco1_la_LIBADD) $(LIBS) - -libsane-teco2.la: $(libsane_teco2_la_OBJECTS) $(libsane_teco2_la_DEPENDENCIES) $(EXTRA_libsane_teco2_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_teco2_la_LINK) $(libsane_teco2_la_OBJECTS) $(libsane_teco2_la_LIBADD) $(LIBS) - -libsane-teco3.la: $(libsane_teco3_la_OBJECTS) $(libsane_teco3_la_DEPENDENCIES) $(EXTRA_libsane_teco3_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_teco3_la_LINK) $(libsane_teco3_la_OBJECTS) $(libsane_teco3_la_LIBADD) $(LIBS) - -libsane-test.la: $(libsane_test_la_OBJECTS) $(libsane_test_la_DEPENDENCIES) $(EXTRA_libsane_test_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_test_la_LINK) $(libsane_test_la_OBJECTS) $(libsane_test_la_LIBADD) $(LIBS) - -libsane-u12.la: $(libsane_u12_la_OBJECTS) $(libsane_u12_la_DEPENDENCIES) $(EXTRA_libsane_u12_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_u12_la_LINK) $(libsane_u12_la_OBJECTS) $(libsane_u12_la_LIBADD) $(LIBS) - -libsane-umax.la: $(libsane_umax_la_OBJECTS) $(libsane_umax_la_DEPENDENCIES) $(EXTRA_libsane_umax_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_umax_la_LINK) $(libsane_umax_la_OBJECTS) $(libsane_umax_la_LIBADD) $(LIBS) - -libsane-umax1220u.la: $(libsane_umax1220u_la_OBJECTS) $(libsane_umax1220u_la_DEPENDENCIES) $(EXTRA_libsane_umax1220u_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_umax1220u_la_LINK) $(libsane_umax1220u_la_OBJECTS) $(libsane_umax1220u_la_LIBADD) $(LIBS) - -libsane-umax_pp.la: $(libsane_umax_pp_la_OBJECTS) $(libsane_umax_pp_la_DEPENDENCIES) $(EXTRA_libsane_umax_pp_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_umax_pp_la_LINK) $(libsane_umax_pp_la_OBJECTS) $(libsane_umax_pp_la_LIBADD) $(LIBS) - -libsane-v4l.la: $(libsane_v4l_la_OBJECTS) $(libsane_v4l_la_DEPENDENCIES) $(EXTRA_libsane_v4l_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_v4l_la_LINK) $(libsane_v4l_la_OBJECTS) $(libsane_v4l_la_LIBADD) $(LIBS) - -libsane-xerox_mfp.la: $(libsane_xerox_mfp_la_OBJECTS) $(libsane_xerox_mfp_la_DEPENDENCIES) $(EXTRA_libsane_xerox_mfp_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_xerox_mfp_la_LINK) $(libsane_xerox_mfp_la_OBJECTS) $(libsane_xerox_mfp_la_LIBADD) $(LIBS) - -libsane.la: $(libsane_la_OBJECTS) $(libsane_la_DEPENDENCIES) $(EXTRA_libsane_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsane_la_LINK) -rpath $(libdir) $(libsane_la_OBJECTS) $(libsane_la_LIBADD) $(LIBS) - -libsceptre.la: $(libsceptre_la_OBJECTS) $(libsceptre_la_DEPENDENCIES) $(EXTRA_libsceptre_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libsceptre_la_OBJECTS) $(libsceptre_la_LIBADD) $(LIBS) - -libsharp.la: $(libsharp_la_OBJECTS) $(libsharp_la_DEPENDENCIES) $(EXTRA_libsharp_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libsharp_la_OBJECTS) $(libsharp_la_LIBADD) $(LIBS) - -libsm3600.la: $(libsm3600_la_OBJECTS) $(libsm3600_la_DEPENDENCIES) $(EXTRA_libsm3600_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libsm3600_la_OBJECTS) $(libsm3600_la_LIBADD) $(LIBS) - -libsm3840.la: $(libsm3840_la_OBJECTS) $(libsm3840_la_DEPENDENCIES) $(EXTRA_libsm3840_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libsm3840_la_OBJECTS) $(libsm3840_la_LIBADD) $(LIBS) - -libsnapscan.la: $(libsnapscan_la_OBJECTS) $(libsnapscan_la_DEPENDENCIES) $(EXTRA_libsnapscan_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libsnapscan_la_OBJECTS) $(libsnapscan_la_LIBADD) $(LIBS) - -libsp15c.la: $(libsp15c_la_OBJECTS) $(libsp15c_la_DEPENDENCIES) $(EXTRA_libsp15c_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libsp15c_la_OBJECTS) $(libsp15c_la_LIBADD) $(LIBS) - -libst400.la: $(libst400_la_OBJECTS) $(libst400_la_DEPENDENCIES) $(EXTRA_libst400_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libst400_la_OBJECTS) $(libst400_la_LIBADD) $(LIBS) - -libstv680.la: $(libstv680_la_OBJECTS) $(libstv680_la_DEPENDENCIES) $(EXTRA_libstv680_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libstv680_la_OBJECTS) $(libstv680_la_LIBADD) $(LIBS) - -libtamarack.la: $(libtamarack_la_OBJECTS) $(libtamarack_la_DEPENDENCIES) $(EXTRA_libtamarack_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libtamarack_la_OBJECTS) $(libtamarack_la_LIBADD) $(LIBS) - -libteco1.la: $(libteco1_la_OBJECTS) $(libteco1_la_DEPENDENCIES) $(EXTRA_libteco1_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libteco1_la_OBJECTS) $(libteco1_la_LIBADD) $(LIBS) - -libteco2.la: $(libteco2_la_OBJECTS) $(libteco2_la_DEPENDENCIES) $(EXTRA_libteco2_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libteco2_la_OBJECTS) $(libteco2_la_LIBADD) $(LIBS) - -libteco3.la: $(libteco3_la_OBJECTS) $(libteco3_la_DEPENDENCIES) $(EXTRA_libteco3_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libteco3_la_OBJECTS) $(libteco3_la_LIBADD) $(LIBS) - -libtest.la: $(libtest_la_OBJECTS) $(libtest_la_DEPENDENCIES) $(EXTRA_libtest_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libtest_la_OBJECTS) $(libtest_la_LIBADD) $(LIBS) - -libu12.la: $(libu12_la_OBJECTS) $(libu12_la_DEPENDENCIES) $(EXTRA_libu12_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libu12_la_OBJECTS) $(libu12_la_LIBADD) $(LIBS) - -libumax.la: $(libumax_la_OBJECTS) $(libumax_la_DEPENDENCIES) $(EXTRA_libumax_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libumax_la_OBJECTS) $(libumax_la_LIBADD) $(LIBS) - -libumax1220u.la: $(libumax1220u_la_OBJECTS) $(libumax1220u_la_DEPENDENCIES) $(EXTRA_libumax1220u_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libumax1220u_la_OBJECTS) $(libumax1220u_la_LIBADD) $(LIBS) - -libumax_pp.la: $(libumax_pp_la_OBJECTS) $(libumax_pp_la_DEPENDENCIES) $(EXTRA_libumax_pp_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libumax_pp_la_OBJECTS) $(libumax_pp_la_LIBADD) $(LIBS) - -libv4l.la: $(libv4l_la_OBJECTS) $(libv4l_la_DEPENDENCIES) $(EXTRA_libv4l_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libv4l_la_OBJECTS) $(libv4l_la_LIBADD) $(LIBS) - -libxerox_mfp.la: $(libxerox_mfp_la_OBJECTS) $(libxerox_mfp_la_DEPENDENCIES) $(EXTRA_libxerox_mfp_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libxerox_mfp_la_OBJECTS) $(libxerox_mfp_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libabaton_la-abaton.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libagfafocus_la-agfafocus.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libapple_la-apple.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libartec_eplus48u_la-artec_eplus48u.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libartec_la-artec.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libas6e_la-as6e.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libavision_la-avision.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libbh_la-bh.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcanon630u_la-canon630u.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcanon_dr_la-canon_dr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcanon_la-canon.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcanon_pp_la-canon_pp-dev.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcanon_pp_la-canon_pp-io.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcanon_pp_la-canon_pp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcardscan_la-cardscan.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcoolscan2_la-coolscan2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcoolscan3_la-coolscan3.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcoolscan_la-coolscan.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdc210_la-dc210.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdc240_la-dc240.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdc25_la-dc25.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdell1600n_net_la-dell1600n_net.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdll_la-dll.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdll_preload_la-dll.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdmc_la-dmc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepjitsu_la-epjitsu.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson2_la-epson2-cct.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson2_la-epson2-commands.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson2_la-epson2-io.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson2_la-epson2-ops.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson2_la-epson2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson2_la-epson2_net.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson2_la-epson2_scsi.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson2_la-epson2_usb.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson_la-epson.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson_la-epson_scsi.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson_la-epson_usb.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-cmd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-io.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-jpeg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-net.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-ops.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-usb.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfujitsu_la-fujitsu.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgenesys_la-genesys.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgenesys_la-genesys_gl124.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgenesys_la-genesys_gl646.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgenesys_la-genesys_gl841.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgenesys_la-genesys_gl843.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgenesys_la-genesys_gl846.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgenesys_la-genesys_gl847.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgenesys_la-genesys_low.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgphoto2_i_la-gphoto2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgt68xx_la-gt68xx.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhp3500_la-hp3500.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhp3900_la-hp3900.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhp4200_la-hp4200.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhp5400_la-hp5400.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhp5590_la-hp5590.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhp_la-hp-accessor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhp_la-hp-device.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhp_la-hp-handle.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhp_la-hp-hpmem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhp_la-hp-option.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhp_la-hp-scl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhp_la-hp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhpljm1005_la-hpljm1005.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhpsj5s_la-hpsj5s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhs2p_la-hs2p.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libibm_la-ibm.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkodak_la-kodak.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkodakaio_la-kodakaio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkvs1025_la-kvs1025.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkvs1025_la-kvs1025_low.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkvs1025_la-kvs1025_opt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkvs1025_la-kvs1025_usb.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkvs20xx_la-kvs20xx.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkvs20xx_la-kvs20xx_cmd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkvs20xx_la-kvs20xx_opt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkvs40xx_la-kvs40xx.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkvs40xx_la-kvs40xx_cmd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkvs40xx_la-kvs40xx_opt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libleo_la-leo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblexmark_la-lexmark.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblexmark_la-lexmark_low.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libma1509_la-ma1509.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmagicolor_la-magicolor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmatsushita_la-matsushita.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmicrotek2_la-microtek2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmicrotek_la-microtek.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmustek_la-mustek.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmustek_pp_la-mustek_pp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmustek_usb2_la-mustek_usb2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmustek_usb_la-mustek_usb.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnec_la-nec.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnet_la-net.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libniash_la-niash.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libp5_la-p5.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpie_la-pie.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpieusb_la-pieusb.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpieusb_la-pieusb_buffer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpieusb_la-pieusb_scancmd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpieusb_la-pieusb_specific.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpieusb_la-pieusb_usb.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpint_la-pint.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpixma_la-pixma.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpixma_la-pixma_bjnp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpixma_la-pixma_common.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpixma_la-pixma_imageclass.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpixma_la-pixma_io_sanei.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpixma_la-pixma_mp150.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpixma_la-pixma_mp730.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpixma_la-pixma_mp750.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpixma_la-pixma_mp810.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libplustek_la-plustek.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libplustek_pp_la-plustek_pp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpnm_la-pnm.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqcam_la-qcam.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libricoh_la-ricoh.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librts8891_la-rts8891.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librts8891_la-rts88xx_lib.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libs9036_la-s9036.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_abaton_la-abaton-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_agfafocus_la-agfafocus-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_apple_la-apple-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_artec_eplus48u_la-artec_eplus48u-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_artec_la-artec-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_as6e_la-as6e-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_avision_la-avision-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_bh_la-bh-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_canon630u_la-canon630u-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_canon_dr_la-canon_dr-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_canon_la-canon-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_canon_pp_la-canon_pp-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_cardscan_la-cardscan-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_coolscan2_la-coolscan2-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_coolscan3_la-coolscan3-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_coolscan_la-coolscan-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_dc210_la-dc210-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_dc240_la-dc240-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_dc25_la-dc25-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_dell1600n_net_la-dell1600n_net-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_dll_la-dll-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_dmc_la-dmc-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_epjitsu_la-epjitsu-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_epson2_la-epson2-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_epson_la-epson-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_epsonds_la-epsonds-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_fujitsu_la-fujitsu-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_genesys_la-genesys-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_gphoto2_la-gphoto2-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_gt68xx_la-gt68xx-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_hp3500_la-hp3500-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_hp3900_la-hp3900-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_hp4200_la-hp4200-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_hp5400_la-hp5400-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_hp5590_la-hp5590-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_hp_la-hp-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_hpljm1005_la-hpljm1005-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_hpsj5s_la-hpsj5s-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_hs2p_la-hs2p-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_ibm_la-ibm-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_kodak_la-kodak-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_kodakaio_la-kodakaio-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_kvs1025_la-kvs1025-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_kvs20xx_la-kvs20xx-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_kvs40xx_la-kvs40xx-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_la-dll-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_leo_la-leo-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_lexmark_la-lexmark-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_ma1509_la-ma1509-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_magicolor_la-magicolor-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_matsushita_la-matsushita-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_microtek2_la-microtek2-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_microtek_la-microtek-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_mustek_la-mustek-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_mustek_pp_la-mustek_pp-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_mustek_usb2_la-mustek_usb2-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_mustek_usb_la-mustek_usb-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_nec_la-nec-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_net_la-net-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_niash_la-niash-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_p5_la-p5-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_pie_la-pie-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_pieusb_la-pieusb-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_pint_la-pint-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_pixma_la-pixma-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_plustek_la-plustek-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_plustek_pp_la-plustek_pp-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_pnm_la-pnm-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_qcam_la-qcam-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_ricoh_la-ricoh-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_rts8891_la-rts8891-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_s9036_la-s9036-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_sceptre_la-sceptre-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_sharp_la-sharp-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_sm3600_la-sm3600-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_sm3840_la-sm3840-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_snapscan_la-snapscan-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_sp15c_la-sp15c-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_st400_la-st400-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_stv680_la-stv680-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_tamarack_la-tamarack-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_teco1_la-teco1-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_teco2_la-teco2-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_teco3_la-teco3-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_test_la-test-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_u12_la-u12-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_umax1220u_la-umax1220u-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_umax_la-umax-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_umax_pp_la-umax_pp-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_v4l_la-v4l-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_xerox_mfp_la-xerox_mfp-s.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsceptre_la-sceptre.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsharp_la-sharp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsm3600_la-sm3600.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsm3840_la-sm3840.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsnapscan_la-snapscan.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsp15c_la-sp15c.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libst400_la-st400.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstv680_la-stv680.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtamarack_la-tamarack.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libteco1_la-teco1.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libteco2_la-teco2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libteco3_la-teco3.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtest_la-test.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libu12_la-u12.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libumax1220u_la-umax1220u.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libumax_la-umax.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libumax_pp_la-umax_pp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libumax_pp_la-umax_pp_low.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libumax_pp_la-umax_pp_mid.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libv4l_la-v4l.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxerox_mfp_la-xerox_mfp-tcp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxerox_mfp_la-xerox_mfp-usb.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxerox_mfp_la-xerox_mfp.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -libabaton_la-abaton.lo: abaton.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libabaton_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libabaton_la-abaton.lo -MD -MP -MF $(DEPDIR)/libabaton_la-abaton.Tpo -c -o libabaton_la-abaton.lo `test -f 'abaton.c' || echo '$(srcdir)/'`abaton.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libabaton_la-abaton.Tpo $(DEPDIR)/libabaton_la-abaton.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='abaton.c' object='libabaton_la-abaton.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libabaton_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libabaton_la-abaton.lo `test -f 'abaton.c' || echo '$(srcdir)/'`abaton.c - -libagfafocus_la-agfafocus.lo: agfafocus.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libagfafocus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libagfafocus_la-agfafocus.lo -MD -MP -MF $(DEPDIR)/libagfafocus_la-agfafocus.Tpo -c -o libagfafocus_la-agfafocus.lo `test -f 'agfafocus.c' || echo '$(srcdir)/'`agfafocus.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libagfafocus_la-agfafocus.Tpo $(DEPDIR)/libagfafocus_la-agfafocus.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='agfafocus.c' object='libagfafocus_la-agfafocus.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libagfafocus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libagfafocus_la-agfafocus.lo `test -f 'agfafocus.c' || echo '$(srcdir)/'`agfafocus.c - -libapple_la-apple.lo: apple.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libapple_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libapple_la-apple.lo -MD -MP -MF $(DEPDIR)/libapple_la-apple.Tpo -c -o libapple_la-apple.lo `test -f 'apple.c' || echo '$(srcdir)/'`apple.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libapple_la-apple.Tpo $(DEPDIR)/libapple_la-apple.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='apple.c' object='libapple_la-apple.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libapple_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libapple_la-apple.lo `test -f 'apple.c' || echo '$(srcdir)/'`apple.c - -libartec_la-artec.lo: artec.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libartec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libartec_la-artec.lo -MD -MP -MF $(DEPDIR)/libartec_la-artec.Tpo -c -o libartec_la-artec.lo `test -f 'artec.c' || echo '$(srcdir)/'`artec.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libartec_la-artec.Tpo $(DEPDIR)/libartec_la-artec.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='artec.c' object='libartec_la-artec.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libartec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libartec_la-artec.lo `test -f 'artec.c' || echo '$(srcdir)/'`artec.c - -libartec_eplus48u_la-artec_eplus48u.lo: artec_eplus48u.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libartec_eplus48u_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libartec_eplus48u_la-artec_eplus48u.lo -MD -MP -MF $(DEPDIR)/libartec_eplus48u_la-artec_eplus48u.Tpo -c -o libartec_eplus48u_la-artec_eplus48u.lo `test -f 'artec_eplus48u.c' || echo '$(srcdir)/'`artec_eplus48u.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libartec_eplus48u_la-artec_eplus48u.Tpo $(DEPDIR)/libartec_eplus48u_la-artec_eplus48u.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='artec_eplus48u.c' object='libartec_eplus48u_la-artec_eplus48u.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libartec_eplus48u_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libartec_eplus48u_la-artec_eplus48u.lo `test -f 'artec_eplus48u.c' || echo '$(srcdir)/'`artec_eplus48u.c - -libas6e_la-as6e.lo: as6e.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libas6e_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libas6e_la-as6e.lo -MD -MP -MF $(DEPDIR)/libas6e_la-as6e.Tpo -c -o libas6e_la-as6e.lo `test -f 'as6e.c' || echo '$(srcdir)/'`as6e.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libas6e_la-as6e.Tpo $(DEPDIR)/libas6e_la-as6e.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='as6e.c' object='libas6e_la-as6e.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libas6e_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libas6e_la-as6e.lo `test -f 'as6e.c' || echo '$(srcdir)/'`as6e.c - -libavision_la-avision.lo: avision.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libavision_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libavision_la-avision.lo -MD -MP -MF $(DEPDIR)/libavision_la-avision.Tpo -c -o libavision_la-avision.lo `test -f 'avision.c' || echo '$(srcdir)/'`avision.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libavision_la-avision.Tpo $(DEPDIR)/libavision_la-avision.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='avision.c' object='libavision_la-avision.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libavision_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libavision_la-avision.lo `test -f 'avision.c' || echo '$(srcdir)/'`avision.c - -libbh_la-bh.lo: bh.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbh_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbh_la-bh.lo -MD -MP -MF $(DEPDIR)/libbh_la-bh.Tpo -c -o libbh_la-bh.lo `test -f 'bh.c' || echo '$(srcdir)/'`bh.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libbh_la-bh.Tpo $(DEPDIR)/libbh_la-bh.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='bh.c' object='libbh_la-bh.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbh_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbh_la-bh.lo `test -f 'bh.c' || echo '$(srcdir)/'`bh.c - -libcanon_la-canon.lo: canon.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcanon_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libcanon_la-canon.lo -MD -MP -MF $(DEPDIR)/libcanon_la-canon.Tpo -c -o libcanon_la-canon.lo `test -f 'canon.c' || echo '$(srcdir)/'`canon.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcanon_la-canon.Tpo $(DEPDIR)/libcanon_la-canon.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='canon.c' object='libcanon_la-canon.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcanon_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libcanon_la-canon.lo `test -f 'canon.c' || echo '$(srcdir)/'`canon.c - -libcanon630u_la-canon630u.lo: canon630u.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcanon630u_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libcanon630u_la-canon630u.lo -MD -MP -MF $(DEPDIR)/libcanon630u_la-canon630u.Tpo -c -o libcanon630u_la-canon630u.lo `test -f 'canon630u.c' || echo '$(srcdir)/'`canon630u.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcanon630u_la-canon630u.Tpo $(DEPDIR)/libcanon630u_la-canon630u.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='canon630u.c' object='libcanon630u_la-canon630u.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcanon630u_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libcanon630u_la-canon630u.lo `test -f 'canon630u.c' || echo '$(srcdir)/'`canon630u.c - -libcanon_dr_la-canon_dr.lo: canon_dr.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcanon_dr_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libcanon_dr_la-canon_dr.lo -MD -MP -MF $(DEPDIR)/libcanon_dr_la-canon_dr.Tpo -c -o libcanon_dr_la-canon_dr.lo `test -f 'canon_dr.c' || echo '$(srcdir)/'`canon_dr.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcanon_dr_la-canon_dr.Tpo $(DEPDIR)/libcanon_dr_la-canon_dr.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='canon_dr.c' object='libcanon_dr_la-canon_dr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcanon_dr_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libcanon_dr_la-canon_dr.lo `test -f 'canon_dr.c' || echo '$(srcdir)/'`canon_dr.c - -libcanon_pp_la-canon_pp.lo: canon_pp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcanon_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libcanon_pp_la-canon_pp.lo -MD -MP -MF $(DEPDIR)/libcanon_pp_la-canon_pp.Tpo -c -o libcanon_pp_la-canon_pp.lo `test -f 'canon_pp.c' || echo '$(srcdir)/'`canon_pp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcanon_pp_la-canon_pp.Tpo $(DEPDIR)/libcanon_pp_la-canon_pp.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='canon_pp.c' object='libcanon_pp_la-canon_pp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcanon_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libcanon_pp_la-canon_pp.lo `test -f 'canon_pp.c' || echo '$(srcdir)/'`canon_pp.c - -libcanon_pp_la-canon_pp-io.lo: canon_pp-io.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcanon_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libcanon_pp_la-canon_pp-io.lo -MD -MP -MF $(DEPDIR)/libcanon_pp_la-canon_pp-io.Tpo -c -o libcanon_pp_la-canon_pp-io.lo `test -f 'canon_pp-io.c' || echo '$(srcdir)/'`canon_pp-io.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcanon_pp_la-canon_pp-io.Tpo $(DEPDIR)/libcanon_pp_la-canon_pp-io.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='canon_pp-io.c' object='libcanon_pp_la-canon_pp-io.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcanon_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libcanon_pp_la-canon_pp-io.lo `test -f 'canon_pp-io.c' || echo '$(srcdir)/'`canon_pp-io.c - -libcanon_pp_la-canon_pp-dev.lo: canon_pp-dev.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcanon_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libcanon_pp_la-canon_pp-dev.lo -MD -MP -MF $(DEPDIR)/libcanon_pp_la-canon_pp-dev.Tpo -c -o libcanon_pp_la-canon_pp-dev.lo `test -f 'canon_pp-dev.c' || echo '$(srcdir)/'`canon_pp-dev.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcanon_pp_la-canon_pp-dev.Tpo $(DEPDIR)/libcanon_pp_la-canon_pp-dev.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='canon_pp-dev.c' object='libcanon_pp_la-canon_pp-dev.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcanon_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libcanon_pp_la-canon_pp-dev.lo `test -f 'canon_pp-dev.c' || echo '$(srcdir)/'`canon_pp-dev.c - -libcardscan_la-cardscan.lo: cardscan.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcardscan_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libcardscan_la-cardscan.lo -MD -MP -MF $(DEPDIR)/libcardscan_la-cardscan.Tpo -c -o libcardscan_la-cardscan.lo `test -f 'cardscan.c' || echo '$(srcdir)/'`cardscan.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcardscan_la-cardscan.Tpo $(DEPDIR)/libcardscan_la-cardscan.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cardscan.c' object='libcardscan_la-cardscan.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcardscan_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libcardscan_la-cardscan.lo `test -f 'cardscan.c' || echo '$(srcdir)/'`cardscan.c - -libcoolscan_la-coolscan.lo: coolscan.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcoolscan_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libcoolscan_la-coolscan.lo -MD -MP -MF $(DEPDIR)/libcoolscan_la-coolscan.Tpo -c -o libcoolscan_la-coolscan.lo `test -f 'coolscan.c' || echo '$(srcdir)/'`coolscan.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcoolscan_la-coolscan.Tpo $(DEPDIR)/libcoolscan_la-coolscan.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coolscan.c' object='libcoolscan_la-coolscan.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcoolscan_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libcoolscan_la-coolscan.lo `test -f 'coolscan.c' || echo '$(srcdir)/'`coolscan.c - -libcoolscan2_la-coolscan2.lo: coolscan2.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcoolscan2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libcoolscan2_la-coolscan2.lo -MD -MP -MF $(DEPDIR)/libcoolscan2_la-coolscan2.Tpo -c -o libcoolscan2_la-coolscan2.lo `test -f 'coolscan2.c' || echo '$(srcdir)/'`coolscan2.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcoolscan2_la-coolscan2.Tpo $(DEPDIR)/libcoolscan2_la-coolscan2.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coolscan2.c' object='libcoolscan2_la-coolscan2.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcoolscan2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libcoolscan2_la-coolscan2.lo `test -f 'coolscan2.c' || echo '$(srcdir)/'`coolscan2.c - -libcoolscan3_la-coolscan3.lo: coolscan3.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcoolscan3_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libcoolscan3_la-coolscan3.lo -MD -MP -MF $(DEPDIR)/libcoolscan3_la-coolscan3.Tpo -c -o libcoolscan3_la-coolscan3.lo `test -f 'coolscan3.c' || echo '$(srcdir)/'`coolscan3.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcoolscan3_la-coolscan3.Tpo $(DEPDIR)/libcoolscan3_la-coolscan3.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coolscan3.c' object='libcoolscan3_la-coolscan3.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcoolscan3_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libcoolscan3_la-coolscan3.lo `test -f 'coolscan3.c' || echo '$(srcdir)/'`coolscan3.c - -libdc210_la-dc210.lo: dc210.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdc210_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libdc210_la-dc210.lo -MD -MP -MF $(DEPDIR)/libdc210_la-dc210.Tpo -c -o libdc210_la-dc210.lo `test -f 'dc210.c' || echo '$(srcdir)/'`dc210.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdc210_la-dc210.Tpo $(DEPDIR)/libdc210_la-dc210.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dc210.c' object='libdc210_la-dc210.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdc210_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libdc210_la-dc210.lo `test -f 'dc210.c' || echo '$(srcdir)/'`dc210.c - -libdc240_la-dc240.lo: dc240.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdc240_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libdc240_la-dc240.lo -MD -MP -MF $(DEPDIR)/libdc240_la-dc240.Tpo -c -o libdc240_la-dc240.lo `test -f 'dc240.c' || echo '$(srcdir)/'`dc240.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdc240_la-dc240.Tpo $(DEPDIR)/libdc240_la-dc240.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dc240.c' object='libdc240_la-dc240.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdc240_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libdc240_la-dc240.lo `test -f 'dc240.c' || echo '$(srcdir)/'`dc240.c - -libdc25_la-dc25.lo: dc25.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdc25_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libdc25_la-dc25.lo -MD -MP -MF $(DEPDIR)/libdc25_la-dc25.Tpo -c -o libdc25_la-dc25.lo `test -f 'dc25.c' || echo '$(srcdir)/'`dc25.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdc25_la-dc25.Tpo $(DEPDIR)/libdc25_la-dc25.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dc25.c' object='libdc25_la-dc25.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdc25_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libdc25_la-dc25.lo `test -f 'dc25.c' || echo '$(srcdir)/'`dc25.c - -libdell1600n_net_la-dell1600n_net.lo: dell1600n_net.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdell1600n_net_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libdell1600n_net_la-dell1600n_net.lo -MD -MP -MF $(DEPDIR)/libdell1600n_net_la-dell1600n_net.Tpo -c -o libdell1600n_net_la-dell1600n_net.lo `test -f 'dell1600n_net.c' || echo '$(srcdir)/'`dell1600n_net.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdell1600n_net_la-dell1600n_net.Tpo $(DEPDIR)/libdell1600n_net_la-dell1600n_net.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dell1600n_net.c' object='libdell1600n_net_la-dell1600n_net.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdell1600n_net_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libdell1600n_net_la-dell1600n_net.lo `test -f 'dell1600n_net.c' || echo '$(srcdir)/'`dell1600n_net.c - -libdll_la-dll.lo: dll.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdll_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libdll_la-dll.lo -MD -MP -MF $(DEPDIR)/libdll_la-dll.Tpo -c -o libdll_la-dll.lo `test -f 'dll.c' || echo '$(srcdir)/'`dll.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdll_la-dll.Tpo $(DEPDIR)/libdll_la-dll.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dll.c' object='libdll_la-dll.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdll_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libdll_la-dll.lo `test -f 'dll.c' || echo '$(srcdir)/'`dll.c - -libdll_preload_la-dll.lo: dll.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdll_preload_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libdll_preload_la-dll.lo -MD -MP -MF $(DEPDIR)/libdll_preload_la-dll.Tpo -c -o libdll_preload_la-dll.lo `test -f 'dll.c' || echo '$(srcdir)/'`dll.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdll_preload_la-dll.Tpo $(DEPDIR)/libdll_preload_la-dll.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dll.c' object='libdll_preload_la-dll.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdll_preload_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libdll_preload_la-dll.lo `test -f 'dll.c' || echo '$(srcdir)/'`dll.c - -libdmc_la-dmc.lo: dmc.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libdmc_la-dmc.lo -MD -MP -MF $(DEPDIR)/libdmc_la-dmc.Tpo -c -o libdmc_la-dmc.lo `test -f 'dmc.c' || echo '$(srcdir)/'`dmc.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdmc_la-dmc.Tpo $(DEPDIR)/libdmc_la-dmc.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dmc.c' object='libdmc_la-dmc.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libdmc_la-dmc.lo `test -f 'dmc.c' || echo '$(srcdir)/'`dmc.c - -libepjitsu_la-epjitsu.lo: epjitsu.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepjitsu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepjitsu_la-epjitsu.lo -MD -MP -MF $(DEPDIR)/libepjitsu_la-epjitsu.Tpo -c -o libepjitsu_la-epjitsu.lo `test -f 'epjitsu.c' || echo '$(srcdir)/'`epjitsu.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepjitsu_la-epjitsu.Tpo $(DEPDIR)/libepjitsu_la-epjitsu.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epjitsu.c' object='libepjitsu_la-epjitsu.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepjitsu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepjitsu_la-epjitsu.lo `test -f 'epjitsu.c' || echo '$(srcdir)/'`epjitsu.c - -libepson_la-epson.lo: epson.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepson_la-epson.lo -MD -MP -MF $(DEPDIR)/libepson_la-epson.Tpo -c -o libepson_la-epson.lo `test -f 'epson.c' || echo '$(srcdir)/'`epson.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepson_la-epson.Tpo $(DEPDIR)/libepson_la-epson.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epson.c' object='libepson_la-epson.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepson_la-epson.lo `test -f 'epson.c' || echo '$(srcdir)/'`epson.c - -libepson_la-epson_scsi.lo: epson_scsi.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepson_la-epson_scsi.lo -MD -MP -MF $(DEPDIR)/libepson_la-epson_scsi.Tpo -c -o libepson_la-epson_scsi.lo `test -f 'epson_scsi.c' || echo '$(srcdir)/'`epson_scsi.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepson_la-epson_scsi.Tpo $(DEPDIR)/libepson_la-epson_scsi.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epson_scsi.c' object='libepson_la-epson_scsi.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepson_la-epson_scsi.lo `test -f 'epson_scsi.c' || echo '$(srcdir)/'`epson_scsi.c - -libepson_la-epson_usb.lo: epson_usb.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepson_la-epson_usb.lo -MD -MP -MF $(DEPDIR)/libepson_la-epson_usb.Tpo -c -o libepson_la-epson_usb.lo `test -f 'epson_usb.c' || echo '$(srcdir)/'`epson_usb.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepson_la-epson_usb.Tpo $(DEPDIR)/libepson_la-epson_usb.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epson_usb.c' object='libepson_la-epson_usb.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepson_la-epson_usb.lo `test -f 'epson_usb.c' || echo '$(srcdir)/'`epson_usb.c - -libepson2_la-epson2.lo: epson2.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepson2_la-epson2.lo -MD -MP -MF $(DEPDIR)/libepson2_la-epson2.Tpo -c -o libepson2_la-epson2.lo `test -f 'epson2.c' || echo '$(srcdir)/'`epson2.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepson2_la-epson2.Tpo $(DEPDIR)/libepson2_la-epson2.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epson2.c' object='libepson2_la-epson2.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepson2_la-epson2.lo `test -f 'epson2.c' || echo '$(srcdir)/'`epson2.c - -libepson2_la-epson2_scsi.lo: epson2_scsi.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepson2_la-epson2_scsi.lo -MD -MP -MF $(DEPDIR)/libepson2_la-epson2_scsi.Tpo -c -o libepson2_la-epson2_scsi.lo `test -f 'epson2_scsi.c' || echo '$(srcdir)/'`epson2_scsi.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepson2_la-epson2_scsi.Tpo $(DEPDIR)/libepson2_la-epson2_scsi.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epson2_scsi.c' object='libepson2_la-epson2_scsi.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepson2_la-epson2_scsi.lo `test -f 'epson2_scsi.c' || echo '$(srcdir)/'`epson2_scsi.c - -libepson2_la-epson2_usb.lo: epson2_usb.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepson2_la-epson2_usb.lo -MD -MP -MF $(DEPDIR)/libepson2_la-epson2_usb.Tpo -c -o libepson2_la-epson2_usb.lo `test -f 'epson2_usb.c' || echo '$(srcdir)/'`epson2_usb.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepson2_la-epson2_usb.Tpo $(DEPDIR)/libepson2_la-epson2_usb.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epson2_usb.c' object='libepson2_la-epson2_usb.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepson2_la-epson2_usb.lo `test -f 'epson2_usb.c' || echo '$(srcdir)/'`epson2_usb.c - -libepson2_la-epson2_net.lo: epson2_net.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepson2_la-epson2_net.lo -MD -MP -MF $(DEPDIR)/libepson2_la-epson2_net.Tpo -c -o libepson2_la-epson2_net.lo `test -f 'epson2_net.c' || echo '$(srcdir)/'`epson2_net.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepson2_la-epson2_net.Tpo $(DEPDIR)/libepson2_la-epson2_net.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epson2_net.c' object='libepson2_la-epson2_net.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepson2_la-epson2_net.lo `test -f 'epson2_net.c' || echo '$(srcdir)/'`epson2_net.c - -libepson2_la-epson2-io.lo: epson2-io.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepson2_la-epson2-io.lo -MD -MP -MF $(DEPDIR)/libepson2_la-epson2-io.Tpo -c -o libepson2_la-epson2-io.lo `test -f 'epson2-io.c' || echo '$(srcdir)/'`epson2-io.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepson2_la-epson2-io.Tpo $(DEPDIR)/libepson2_la-epson2-io.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epson2-io.c' object='libepson2_la-epson2-io.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepson2_la-epson2-io.lo `test -f 'epson2-io.c' || echo '$(srcdir)/'`epson2-io.c - -libepson2_la-epson2-commands.lo: epson2-commands.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepson2_la-epson2-commands.lo -MD -MP -MF $(DEPDIR)/libepson2_la-epson2-commands.Tpo -c -o libepson2_la-epson2-commands.lo `test -f 'epson2-commands.c' || echo '$(srcdir)/'`epson2-commands.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepson2_la-epson2-commands.Tpo $(DEPDIR)/libepson2_la-epson2-commands.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epson2-commands.c' object='libepson2_la-epson2-commands.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepson2_la-epson2-commands.lo `test -f 'epson2-commands.c' || echo '$(srcdir)/'`epson2-commands.c - -libepson2_la-epson2-ops.lo: epson2-ops.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepson2_la-epson2-ops.lo -MD -MP -MF $(DEPDIR)/libepson2_la-epson2-ops.Tpo -c -o libepson2_la-epson2-ops.lo `test -f 'epson2-ops.c' || echo '$(srcdir)/'`epson2-ops.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepson2_la-epson2-ops.Tpo $(DEPDIR)/libepson2_la-epson2-ops.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epson2-ops.c' object='libepson2_la-epson2-ops.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepson2_la-epson2-ops.lo `test -f 'epson2-ops.c' || echo '$(srcdir)/'`epson2-ops.c - -libepson2_la-epson2-cct.lo: epson2-cct.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepson2_la-epson2-cct.lo -MD -MP -MF $(DEPDIR)/libepson2_la-epson2-cct.Tpo -c -o libepson2_la-epson2-cct.lo `test -f 'epson2-cct.c' || echo '$(srcdir)/'`epson2-cct.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepson2_la-epson2-cct.Tpo $(DEPDIR)/libepson2_la-epson2-cct.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epson2-cct.c' object='libepson2_la-epson2-cct.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepson2_la-epson2-cct.lo `test -f 'epson2-cct.c' || echo '$(srcdir)/'`epson2-cct.c - -libepsonds_la-epsonds.lo: epsonds.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds.Tpo -c -o libepsonds_la-epsonds.lo `test -f 'epsonds.c' || echo '$(srcdir)/'`epsonds.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds.Tpo $(DEPDIR)/libepsonds_la-epsonds.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds.c' object='libepsonds_la-epsonds.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds.lo `test -f 'epsonds.c' || echo '$(srcdir)/'`epsonds.c - -libepsonds_la-epsonds-usb.lo: epsonds-usb.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds-usb.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds-usb.Tpo -c -o libepsonds_la-epsonds-usb.lo `test -f 'epsonds-usb.c' || echo '$(srcdir)/'`epsonds-usb.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds-usb.Tpo $(DEPDIR)/libepsonds_la-epsonds-usb.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-usb.c' object='libepsonds_la-epsonds-usb.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds-usb.lo `test -f 'epsonds-usb.c' || echo '$(srcdir)/'`epsonds-usb.c - -libepsonds_la-epsonds-io.lo: epsonds-io.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds-io.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds-io.Tpo -c -o libepsonds_la-epsonds-io.lo `test -f 'epsonds-io.c' || echo '$(srcdir)/'`epsonds-io.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds-io.Tpo $(DEPDIR)/libepsonds_la-epsonds-io.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-io.c' object='libepsonds_la-epsonds-io.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds-io.lo `test -f 'epsonds-io.c' || echo '$(srcdir)/'`epsonds-io.c - -libepsonds_la-epsonds-cmd.lo: epsonds-cmd.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds-cmd.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds-cmd.Tpo -c -o libepsonds_la-epsonds-cmd.lo `test -f 'epsonds-cmd.c' || echo '$(srcdir)/'`epsonds-cmd.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds-cmd.Tpo $(DEPDIR)/libepsonds_la-epsonds-cmd.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-cmd.c' object='libepsonds_la-epsonds-cmd.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds-cmd.lo `test -f 'epsonds-cmd.c' || echo '$(srcdir)/'`epsonds-cmd.c - -libepsonds_la-epsonds-ops.lo: epsonds-ops.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds-ops.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds-ops.Tpo -c -o libepsonds_la-epsonds-ops.lo `test -f 'epsonds-ops.c' || echo '$(srcdir)/'`epsonds-ops.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds-ops.Tpo $(DEPDIR)/libepsonds_la-epsonds-ops.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-ops.c' object='libepsonds_la-epsonds-ops.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds-ops.lo `test -f 'epsonds-ops.c' || echo '$(srcdir)/'`epsonds-ops.c - -libepsonds_la-epsonds-jpeg.lo: epsonds-jpeg.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds-jpeg.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds-jpeg.Tpo -c -o libepsonds_la-epsonds-jpeg.lo `test -f 'epsonds-jpeg.c' || echo '$(srcdir)/'`epsonds-jpeg.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds-jpeg.Tpo $(DEPDIR)/libepsonds_la-epsonds-jpeg.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-jpeg.c' object='libepsonds_la-epsonds-jpeg.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds-jpeg.lo `test -f 'epsonds-jpeg.c' || echo '$(srcdir)/'`epsonds-jpeg.c - -libepsonds_la-epsonds-net.lo: epsonds-net.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds-net.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds-net.Tpo -c -o libepsonds_la-epsonds-net.lo `test -f 'epsonds-net.c' || echo '$(srcdir)/'`epsonds-net.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds-net.Tpo $(DEPDIR)/libepsonds_la-epsonds-net.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-net.c' object='libepsonds_la-epsonds-net.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds-net.lo `test -f 'epsonds-net.c' || echo '$(srcdir)/'`epsonds-net.c - -libfujitsu_la-fujitsu.lo: fujitsu.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libfujitsu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libfujitsu_la-fujitsu.lo -MD -MP -MF $(DEPDIR)/libfujitsu_la-fujitsu.Tpo -c -o libfujitsu_la-fujitsu.lo `test -f 'fujitsu.c' || echo '$(srcdir)/'`fujitsu.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfujitsu_la-fujitsu.Tpo $(DEPDIR)/libfujitsu_la-fujitsu.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fujitsu.c' object='libfujitsu_la-fujitsu.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libfujitsu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libfujitsu_la-fujitsu.lo `test -f 'fujitsu.c' || echo '$(srcdir)/'`fujitsu.c - -libgenesys_la-genesys.lo: genesys.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgenesys_la-genesys.lo -MD -MP -MF $(DEPDIR)/libgenesys_la-genesys.Tpo -c -o libgenesys_la-genesys.lo `test -f 'genesys.c' || echo '$(srcdir)/'`genesys.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgenesys_la-genesys.Tpo $(DEPDIR)/libgenesys_la-genesys.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='genesys.c' object='libgenesys_la-genesys.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgenesys_la-genesys.lo `test -f 'genesys.c' || echo '$(srcdir)/'`genesys.c - -libgenesys_la-genesys_gl646.lo: genesys_gl646.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgenesys_la-genesys_gl646.lo -MD -MP -MF $(DEPDIR)/libgenesys_la-genesys_gl646.Tpo -c -o libgenesys_la-genesys_gl646.lo `test -f 'genesys_gl646.c' || echo '$(srcdir)/'`genesys_gl646.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgenesys_la-genesys_gl646.Tpo $(DEPDIR)/libgenesys_la-genesys_gl646.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='genesys_gl646.c' object='libgenesys_la-genesys_gl646.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgenesys_la-genesys_gl646.lo `test -f 'genesys_gl646.c' || echo '$(srcdir)/'`genesys_gl646.c - -libgenesys_la-genesys_gl841.lo: genesys_gl841.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgenesys_la-genesys_gl841.lo -MD -MP -MF $(DEPDIR)/libgenesys_la-genesys_gl841.Tpo -c -o libgenesys_la-genesys_gl841.lo `test -f 'genesys_gl841.c' || echo '$(srcdir)/'`genesys_gl841.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgenesys_la-genesys_gl841.Tpo $(DEPDIR)/libgenesys_la-genesys_gl841.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='genesys_gl841.c' object='libgenesys_la-genesys_gl841.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgenesys_la-genesys_gl841.lo `test -f 'genesys_gl841.c' || echo '$(srcdir)/'`genesys_gl841.c - -libgenesys_la-genesys_gl843.lo: genesys_gl843.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgenesys_la-genesys_gl843.lo -MD -MP -MF $(DEPDIR)/libgenesys_la-genesys_gl843.Tpo -c -o libgenesys_la-genesys_gl843.lo `test -f 'genesys_gl843.c' || echo '$(srcdir)/'`genesys_gl843.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgenesys_la-genesys_gl843.Tpo $(DEPDIR)/libgenesys_la-genesys_gl843.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='genesys_gl843.c' object='libgenesys_la-genesys_gl843.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgenesys_la-genesys_gl843.lo `test -f 'genesys_gl843.c' || echo '$(srcdir)/'`genesys_gl843.c - -libgenesys_la-genesys_gl846.lo: genesys_gl846.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgenesys_la-genesys_gl846.lo -MD -MP -MF $(DEPDIR)/libgenesys_la-genesys_gl846.Tpo -c -o libgenesys_la-genesys_gl846.lo `test -f 'genesys_gl846.c' || echo '$(srcdir)/'`genesys_gl846.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgenesys_la-genesys_gl846.Tpo $(DEPDIR)/libgenesys_la-genesys_gl846.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='genesys_gl846.c' object='libgenesys_la-genesys_gl846.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgenesys_la-genesys_gl846.lo `test -f 'genesys_gl846.c' || echo '$(srcdir)/'`genesys_gl846.c - -libgenesys_la-genesys_gl847.lo: genesys_gl847.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgenesys_la-genesys_gl847.lo -MD -MP -MF $(DEPDIR)/libgenesys_la-genesys_gl847.Tpo -c -o libgenesys_la-genesys_gl847.lo `test -f 'genesys_gl847.c' || echo '$(srcdir)/'`genesys_gl847.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgenesys_la-genesys_gl847.Tpo $(DEPDIR)/libgenesys_la-genesys_gl847.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='genesys_gl847.c' object='libgenesys_la-genesys_gl847.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgenesys_la-genesys_gl847.lo `test -f 'genesys_gl847.c' || echo '$(srcdir)/'`genesys_gl847.c - -libgenesys_la-genesys_gl124.lo: genesys_gl124.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgenesys_la-genesys_gl124.lo -MD -MP -MF $(DEPDIR)/libgenesys_la-genesys_gl124.Tpo -c -o libgenesys_la-genesys_gl124.lo `test -f 'genesys_gl124.c' || echo '$(srcdir)/'`genesys_gl124.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgenesys_la-genesys_gl124.Tpo $(DEPDIR)/libgenesys_la-genesys_gl124.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='genesys_gl124.c' object='libgenesys_la-genesys_gl124.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgenesys_la-genesys_gl124.lo `test -f 'genesys_gl124.c' || echo '$(srcdir)/'`genesys_gl124.c - -libgenesys_la-genesys_low.lo: genesys_low.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgenesys_la-genesys_low.lo -MD -MP -MF $(DEPDIR)/libgenesys_la-genesys_low.Tpo -c -o libgenesys_la-genesys_low.lo `test -f 'genesys_low.c' || echo '$(srcdir)/'`genesys_low.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgenesys_la-genesys_low.Tpo $(DEPDIR)/libgenesys_la-genesys_low.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='genesys_low.c' object='libgenesys_la-genesys_low.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgenesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgenesys_la-genesys_low.lo `test -f 'genesys_low.c' || echo '$(srcdir)/'`genesys_low.c - -libgphoto2_i_la-gphoto2.lo: gphoto2.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgphoto2_i_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgphoto2_i_la-gphoto2.lo -MD -MP -MF $(DEPDIR)/libgphoto2_i_la-gphoto2.Tpo -c -o libgphoto2_i_la-gphoto2.lo `test -f 'gphoto2.c' || echo '$(srcdir)/'`gphoto2.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgphoto2_i_la-gphoto2.Tpo $(DEPDIR)/libgphoto2_i_la-gphoto2.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gphoto2.c' object='libgphoto2_i_la-gphoto2.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgphoto2_i_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgphoto2_i_la-gphoto2.lo `test -f 'gphoto2.c' || echo '$(srcdir)/'`gphoto2.c - -libgt68xx_la-gt68xx.lo: gt68xx.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgt68xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgt68xx_la-gt68xx.lo -MD -MP -MF $(DEPDIR)/libgt68xx_la-gt68xx.Tpo -c -o libgt68xx_la-gt68xx.lo `test -f 'gt68xx.c' || echo '$(srcdir)/'`gt68xx.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgt68xx_la-gt68xx.Tpo $(DEPDIR)/libgt68xx_la-gt68xx.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gt68xx.c' object='libgt68xx_la-gt68xx.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgt68xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgt68xx_la-gt68xx.lo `test -f 'gt68xx.c' || echo '$(srcdir)/'`gt68xx.c - -libhp_la-hp.lo: hp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhp_la-hp.lo -MD -MP -MF $(DEPDIR)/libhp_la-hp.Tpo -c -o libhp_la-hp.lo `test -f 'hp.c' || echo '$(srcdir)/'`hp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhp_la-hp.Tpo $(DEPDIR)/libhp_la-hp.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp.c' object='libhp_la-hp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhp_la-hp.lo `test -f 'hp.c' || echo '$(srcdir)/'`hp.c - -libhp_la-hp-accessor.lo: hp-accessor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhp_la-hp-accessor.lo -MD -MP -MF $(DEPDIR)/libhp_la-hp-accessor.Tpo -c -o libhp_la-hp-accessor.lo `test -f 'hp-accessor.c' || echo '$(srcdir)/'`hp-accessor.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhp_la-hp-accessor.Tpo $(DEPDIR)/libhp_la-hp-accessor.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp-accessor.c' object='libhp_la-hp-accessor.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhp_la-hp-accessor.lo `test -f 'hp-accessor.c' || echo '$(srcdir)/'`hp-accessor.c - -libhp_la-hp-device.lo: hp-device.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhp_la-hp-device.lo -MD -MP -MF $(DEPDIR)/libhp_la-hp-device.Tpo -c -o libhp_la-hp-device.lo `test -f 'hp-device.c' || echo '$(srcdir)/'`hp-device.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhp_la-hp-device.Tpo $(DEPDIR)/libhp_la-hp-device.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp-device.c' object='libhp_la-hp-device.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhp_la-hp-device.lo `test -f 'hp-device.c' || echo '$(srcdir)/'`hp-device.c - -libhp_la-hp-handle.lo: hp-handle.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhp_la-hp-handle.lo -MD -MP -MF $(DEPDIR)/libhp_la-hp-handle.Tpo -c -o libhp_la-hp-handle.lo `test -f 'hp-handle.c' || echo '$(srcdir)/'`hp-handle.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhp_la-hp-handle.Tpo $(DEPDIR)/libhp_la-hp-handle.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp-handle.c' object='libhp_la-hp-handle.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhp_la-hp-handle.lo `test -f 'hp-handle.c' || echo '$(srcdir)/'`hp-handle.c - -libhp_la-hp-hpmem.lo: hp-hpmem.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhp_la-hp-hpmem.lo -MD -MP -MF $(DEPDIR)/libhp_la-hp-hpmem.Tpo -c -o libhp_la-hp-hpmem.lo `test -f 'hp-hpmem.c' || echo '$(srcdir)/'`hp-hpmem.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhp_la-hp-hpmem.Tpo $(DEPDIR)/libhp_la-hp-hpmem.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp-hpmem.c' object='libhp_la-hp-hpmem.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhp_la-hp-hpmem.lo `test -f 'hp-hpmem.c' || echo '$(srcdir)/'`hp-hpmem.c - -libhp_la-hp-option.lo: hp-option.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhp_la-hp-option.lo -MD -MP -MF $(DEPDIR)/libhp_la-hp-option.Tpo -c -o libhp_la-hp-option.lo `test -f 'hp-option.c' || echo '$(srcdir)/'`hp-option.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhp_la-hp-option.Tpo $(DEPDIR)/libhp_la-hp-option.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp-option.c' object='libhp_la-hp-option.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhp_la-hp-option.lo `test -f 'hp-option.c' || echo '$(srcdir)/'`hp-option.c - -libhp_la-hp-scl.lo: hp-scl.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhp_la-hp-scl.lo -MD -MP -MF $(DEPDIR)/libhp_la-hp-scl.Tpo -c -o libhp_la-hp-scl.lo `test -f 'hp-scl.c' || echo '$(srcdir)/'`hp-scl.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhp_la-hp-scl.Tpo $(DEPDIR)/libhp_la-hp-scl.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp-scl.c' object='libhp_la-hp-scl.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhp_la-hp-scl.lo `test -f 'hp-scl.c' || echo '$(srcdir)/'`hp-scl.c - -libhp3500_la-hp3500.lo: hp3500.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp3500_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhp3500_la-hp3500.lo -MD -MP -MF $(DEPDIR)/libhp3500_la-hp3500.Tpo -c -o libhp3500_la-hp3500.lo `test -f 'hp3500.c' || echo '$(srcdir)/'`hp3500.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhp3500_la-hp3500.Tpo $(DEPDIR)/libhp3500_la-hp3500.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp3500.c' object='libhp3500_la-hp3500.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp3500_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhp3500_la-hp3500.lo `test -f 'hp3500.c' || echo '$(srcdir)/'`hp3500.c - -libhp3900_la-hp3900.lo: hp3900.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp3900_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhp3900_la-hp3900.lo -MD -MP -MF $(DEPDIR)/libhp3900_la-hp3900.Tpo -c -o libhp3900_la-hp3900.lo `test -f 'hp3900.c' || echo '$(srcdir)/'`hp3900.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhp3900_la-hp3900.Tpo $(DEPDIR)/libhp3900_la-hp3900.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp3900.c' object='libhp3900_la-hp3900.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp3900_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhp3900_la-hp3900.lo `test -f 'hp3900.c' || echo '$(srcdir)/'`hp3900.c - -libhp4200_la-hp4200.lo: hp4200.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp4200_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhp4200_la-hp4200.lo -MD -MP -MF $(DEPDIR)/libhp4200_la-hp4200.Tpo -c -o libhp4200_la-hp4200.lo `test -f 'hp4200.c' || echo '$(srcdir)/'`hp4200.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhp4200_la-hp4200.Tpo $(DEPDIR)/libhp4200_la-hp4200.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp4200.c' object='libhp4200_la-hp4200.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp4200_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhp4200_la-hp4200.lo `test -f 'hp4200.c' || echo '$(srcdir)/'`hp4200.c - -libhp5400_la-hp5400.lo: hp5400.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp5400_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhp5400_la-hp5400.lo -MD -MP -MF $(DEPDIR)/libhp5400_la-hp5400.Tpo -c -o libhp5400_la-hp5400.lo `test -f 'hp5400.c' || echo '$(srcdir)/'`hp5400.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhp5400_la-hp5400.Tpo $(DEPDIR)/libhp5400_la-hp5400.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp5400.c' object='libhp5400_la-hp5400.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp5400_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhp5400_la-hp5400.lo `test -f 'hp5400.c' || echo '$(srcdir)/'`hp5400.c - -libhp5590_la-hp5590.lo: hp5590.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp5590_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhp5590_la-hp5590.lo -MD -MP -MF $(DEPDIR)/libhp5590_la-hp5590.Tpo -c -o libhp5590_la-hp5590.lo `test -f 'hp5590.c' || echo '$(srcdir)/'`hp5590.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhp5590_la-hp5590.Tpo $(DEPDIR)/libhp5590_la-hp5590.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp5590.c' object='libhp5590_la-hp5590.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhp5590_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhp5590_la-hp5590.lo `test -f 'hp5590.c' || echo '$(srcdir)/'`hp5590.c - -libhpljm1005_la-hpljm1005.lo: hpljm1005.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhpljm1005_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhpljm1005_la-hpljm1005.lo -MD -MP -MF $(DEPDIR)/libhpljm1005_la-hpljm1005.Tpo -c -o libhpljm1005_la-hpljm1005.lo `test -f 'hpljm1005.c' || echo '$(srcdir)/'`hpljm1005.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhpljm1005_la-hpljm1005.Tpo $(DEPDIR)/libhpljm1005_la-hpljm1005.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hpljm1005.c' object='libhpljm1005_la-hpljm1005.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhpljm1005_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhpljm1005_la-hpljm1005.lo `test -f 'hpljm1005.c' || echo '$(srcdir)/'`hpljm1005.c - -libhpsj5s_la-hpsj5s.lo: hpsj5s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhpsj5s_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhpsj5s_la-hpsj5s.lo -MD -MP -MF $(DEPDIR)/libhpsj5s_la-hpsj5s.Tpo -c -o libhpsj5s_la-hpsj5s.lo `test -f 'hpsj5s.c' || echo '$(srcdir)/'`hpsj5s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhpsj5s_la-hpsj5s.Tpo $(DEPDIR)/libhpsj5s_la-hpsj5s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hpsj5s.c' object='libhpsj5s_la-hpsj5s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhpsj5s_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhpsj5s_la-hpsj5s.lo `test -f 'hpsj5s.c' || echo '$(srcdir)/'`hpsj5s.c - -libhs2p_la-hs2p.lo: hs2p.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhs2p_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libhs2p_la-hs2p.lo -MD -MP -MF $(DEPDIR)/libhs2p_la-hs2p.Tpo -c -o libhs2p_la-hs2p.lo `test -f 'hs2p.c' || echo '$(srcdir)/'`hs2p.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhs2p_la-hs2p.Tpo $(DEPDIR)/libhs2p_la-hs2p.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hs2p.c' object='libhs2p_la-hs2p.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhs2p_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libhs2p_la-hs2p.lo `test -f 'hs2p.c' || echo '$(srcdir)/'`hs2p.c - -libibm_la-ibm.lo: ibm.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libibm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libibm_la-ibm.lo -MD -MP -MF $(DEPDIR)/libibm_la-ibm.Tpo -c -o libibm_la-ibm.lo `test -f 'ibm.c' || echo '$(srcdir)/'`ibm.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libibm_la-ibm.Tpo $(DEPDIR)/libibm_la-ibm.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ibm.c' object='libibm_la-ibm.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libibm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libibm_la-ibm.lo `test -f 'ibm.c' || echo '$(srcdir)/'`ibm.c - -libkodak_la-kodak.lo: kodak.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkodak_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libkodak_la-kodak.lo -MD -MP -MF $(DEPDIR)/libkodak_la-kodak.Tpo -c -o libkodak_la-kodak.lo `test -f 'kodak.c' || echo '$(srcdir)/'`kodak.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libkodak_la-kodak.Tpo $(DEPDIR)/libkodak_la-kodak.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kodak.c' object='libkodak_la-kodak.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkodak_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libkodak_la-kodak.lo `test -f 'kodak.c' || echo '$(srcdir)/'`kodak.c - -libkodakaio_la-kodakaio.lo: kodakaio.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkodakaio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libkodakaio_la-kodakaio.lo -MD -MP -MF $(DEPDIR)/libkodakaio_la-kodakaio.Tpo -c -o libkodakaio_la-kodakaio.lo `test -f 'kodakaio.c' || echo '$(srcdir)/'`kodakaio.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libkodakaio_la-kodakaio.Tpo $(DEPDIR)/libkodakaio_la-kodakaio.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kodakaio.c' object='libkodakaio_la-kodakaio.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkodakaio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libkodakaio_la-kodakaio.lo `test -f 'kodakaio.c' || echo '$(srcdir)/'`kodakaio.c - -libkvs1025_la-kvs1025.lo: kvs1025.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs1025_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libkvs1025_la-kvs1025.lo -MD -MP -MF $(DEPDIR)/libkvs1025_la-kvs1025.Tpo -c -o libkvs1025_la-kvs1025.lo `test -f 'kvs1025.c' || echo '$(srcdir)/'`kvs1025.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libkvs1025_la-kvs1025.Tpo $(DEPDIR)/libkvs1025_la-kvs1025.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kvs1025.c' object='libkvs1025_la-kvs1025.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs1025_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libkvs1025_la-kvs1025.lo `test -f 'kvs1025.c' || echo '$(srcdir)/'`kvs1025.c - -libkvs1025_la-kvs1025_low.lo: kvs1025_low.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs1025_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libkvs1025_la-kvs1025_low.lo -MD -MP -MF $(DEPDIR)/libkvs1025_la-kvs1025_low.Tpo -c -o libkvs1025_la-kvs1025_low.lo `test -f 'kvs1025_low.c' || echo '$(srcdir)/'`kvs1025_low.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libkvs1025_la-kvs1025_low.Tpo $(DEPDIR)/libkvs1025_la-kvs1025_low.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kvs1025_low.c' object='libkvs1025_la-kvs1025_low.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs1025_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libkvs1025_la-kvs1025_low.lo `test -f 'kvs1025_low.c' || echo '$(srcdir)/'`kvs1025_low.c - -libkvs1025_la-kvs1025_opt.lo: kvs1025_opt.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs1025_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libkvs1025_la-kvs1025_opt.lo -MD -MP -MF $(DEPDIR)/libkvs1025_la-kvs1025_opt.Tpo -c -o libkvs1025_la-kvs1025_opt.lo `test -f 'kvs1025_opt.c' || echo '$(srcdir)/'`kvs1025_opt.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libkvs1025_la-kvs1025_opt.Tpo $(DEPDIR)/libkvs1025_la-kvs1025_opt.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kvs1025_opt.c' object='libkvs1025_la-kvs1025_opt.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs1025_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libkvs1025_la-kvs1025_opt.lo `test -f 'kvs1025_opt.c' || echo '$(srcdir)/'`kvs1025_opt.c - -libkvs1025_la-kvs1025_usb.lo: kvs1025_usb.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs1025_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libkvs1025_la-kvs1025_usb.lo -MD -MP -MF $(DEPDIR)/libkvs1025_la-kvs1025_usb.Tpo -c -o libkvs1025_la-kvs1025_usb.lo `test -f 'kvs1025_usb.c' || echo '$(srcdir)/'`kvs1025_usb.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libkvs1025_la-kvs1025_usb.Tpo $(DEPDIR)/libkvs1025_la-kvs1025_usb.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kvs1025_usb.c' object='libkvs1025_la-kvs1025_usb.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs1025_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libkvs1025_la-kvs1025_usb.lo `test -f 'kvs1025_usb.c' || echo '$(srcdir)/'`kvs1025_usb.c - -libkvs20xx_la-kvs20xx.lo: kvs20xx.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs20xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libkvs20xx_la-kvs20xx.lo -MD -MP -MF $(DEPDIR)/libkvs20xx_la-kvs20xx.Tpo -c -o libkvs20xx_la-kvs20xx.lo `test -f 'kvs20xx.c' || echo '$(srcdir)/'`kvs20xx.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libkvs20xx_la-kvs20xx.Tpo $(DEPDIR)/libkvs20xx_la-kvs20xx.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kvs20xx.c' object='libkvs20xx_la-kvs20xx.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs20xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libkvs20xx_la-kvs20xx.lo `test -f 'kvs20xx.c' || echo '$(srcdir)/'`kvs20xx.c - -libkvs20xx_la-kvs20xx_cmd.lo: kvs20xx_cmd.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs20xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libkvs20xx_la-kvs20xx_cmd.lo -MD -MP -MF $(DEPDIR)/libkvs20xx_la-kvs20xx_cmd.Tpo -c -o libkvs20xx_la-kvs20xx_cmd.lo `test -f 'kvs20xx_cmd.c' || echo '$(srcdir)/'`kvs20xx_cmd.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libkvs20xx_la-kvs20xx_cmd.Tpo $(DEPDIR)/libkvs20xx_la-kvs20xx_cmd.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kvs20xx_cmd.c' object='libkvs20xx_la-kvs20xx_cmd.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs20xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libkvs20xx_la-kvs20xx_cmd.lo `test -f 'kvs20xx_cmd.c' || echo '$(srcdir)/'`kvs20xx_cmd.c - -libkvs20xx_la-kvs20xx_opt.lo: kvs20xx_opt.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs20xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libkvs20xx_la-kvs20xx_opt.lo -MD -MP -MF $(DEPDIR)/libkvs20xx_la-kvs20xx_opt.Tpo -c -o libkvs20xx_la-kvs20xx_opt.lo `test -f 'kvs20xx_opt.c' || echo '$(srcdir)/'`kvs20xx_opt.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libkvs20xx_la-kvs20xx_opt.Tpo $(DEPDIR)/libkvs20xx_la-kvs20xx_opt.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kvs20xx_opt.c' object='libkvs20xx_la-kvs20xx_opt.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs20xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libkvs20xx_la-kvs20xx_opt.lo `test -f 'kvs20xx_opt.c' || echo '$(srcdir)/'`kvs20xx_opt.c - -libkvs40xx_la-kvs40xx.lo: kvs40xx.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs40xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libkvs40xx_la-kvs40xx.lo -MD -MP -MF $(DEPDIR)/libkvs40xx_la-kvs40xx.Tpo -c -o libkvs40xx_la-kvs40xx.lo `test -f 'kvs40xx.c' || echo '$(srcdir)/'`kvs40xx.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libkvs40xx_la-kvs40xx.Tpo $(DEPDIR)/libkvs40xx_la-kvs40xx.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kvs40xx.c' object='libkvs40xx_la-kvs40xx.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs40xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libkvs40xx_la-kvs40xx.lo `test -f 'kvs40xx.c' || echo '$(srcdir)/'`kvs40xx.c - -libkvs40xx_la-kvs40xx_cmd.lo: kvs40xx_cmd.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs40xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libkvs40xx_la-kvs40xx_cmd.lo -MD -MP -MF $(DEPDIR)/libkvs40xx_la-kvs40xx_cmd.Tpo -c -o libkvs40xx_la-kvs40xx_cmd.lo `test -f 'kvs40xx_cmd.c' || echo '$(srcdir)/'`kvs40xx_cmd.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libkvs40xx_la-kvs40xx_cmd.Tpo $(DEPDIR)/libkvs40xx_la-kvs40xx_cmd.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kvs40xx_cmd.c' object='libkvs40xx_la-kvs40xx_cmd.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs40xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libkvs40xx_la-kvs40xx_cmd.lo `test -f 'kvs40xx_cmd.c' || echo '$(srcdir)/'`kvs40xx_cmd.c - -libkvs40xx_la-kvs40xx_opt.lo: kvs40xx_opt.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs40xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libkvs40xx_la-kvs40xx_opt.lo -MD -MP -MF $(DEPDIR)/libkvs40xx_la-kvs40xx_opt.Tpo -c -o libkvs40xx_la-kvs40xx_opt.lo `test -f 'kvs40xx_opt.c' || echo '$(srcdir)/'`kvs40xx_opt.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libkvs40xx_la-kvs40xx_opt.Tpo $(DEPDIR)/libkvs40xx_la-kvs40xx_opt.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kvs40xx_opt.c' object='libkvs40xx_la-kvs40xx_opt.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkvs40xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libkvs40xx_la-kvs40xx_opt.lo `test -f 'kvs40xx_opt.c' || echo '$(srcdir)/'`kvs40xx_opt.c - -libleo_la-leo.lo: leo.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libleo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libleo_la-leo.lo -MD -MP -MF $(DEPDIR)/libleo_la-leo.Tpo -c -o libleo_la-leo.lo `test -f 'leo.c' || echo '$(srcdir)/'`leo.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libleo_la-leo.Tpo $(DEPDIR)/libleo_la-leo.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='leo.c' object='libleo_la-leo.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libleo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libleo_la-leo.lo `test -f 'leo.c' || echo '$(srcdir)/'`leo.c - -liblexmark_la-lexmark.lo: lexmark.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblexmark_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblexmark_la-lexmark.lo -MD -MP -MF $(DEPDIR)/liblexmark_la-lexmark.Tpo -c -o liblexmark_la-lexmark.lo `test -f 'lexmark.c' || echo '$(srcdir)/'`lexmark.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblexmark_la-lexmark.Tpo $(DEPDIR)/liblexmark_la-lexmark.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lexmark.c' object='liblexmark_la-lexmark.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblexmark_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblexmark_la-lexmark.lo `test -f 'lexmark.c' || echo '$(srcdir)/'`lexmark.c - -liblexmark_la-lexmark_low.lo: lexmark_low.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblexmark_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblexmark_la-lexmark_low.lo -MD -MP -MF $(DEPDIR)/liblexmark_la-lexmark_low.Tpo -c -o liblexmark_la-lexmark_low.lo `test -f 'lexmark_low.c' || echo '$(srcdir)/'`lexmark_low.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblexmark_la-lexmark_low.Tpo $(DEPDIR)/liblexmark_la-lexmark_low.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lexmark_low.c' object='liblexmark_la-lexmark_low.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblexmark_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblexmark_la-lexmark_low.lo `test -f 'lexmark_low.c' || echo '$(srcdir)/'`lexmark_low.c - -libma1509_la-ma1509.lo: ma1509.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libma1509_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libma1509_la-ma1509.lo -MD -MP -MF $(DEPDIR)/libma1509_la-ma1509.Tpo -c -o libma1509_la-ma1509.lo `test -f 'ma1509.c' || echo '$(srcdir)/'`ma1509.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libma1509_la-ma1509.Tpo $(DEPDIR)/libma1509_la-ma1509.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ma1509.c' object='libma1509_la-ma1509.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libma1509_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libma1509_la-ma1509.lo `test -f 'ma1509.c' || echo '$(srcdir)/'`ma1509.c - -libmagicolor_la-magicolor.lo: magicolor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmagicolor_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmagicolor_la-magicolor.lo -MD -MP -MF $(DEPDIR)/libmagicolor_la-magicolor.Tpo -c -o libmagicolor_la-magicolor.lo `test -f 'magicolor.c' || echo '$(srcdir)/'`magicolor.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmagicolor_la-magicolor.Tpo $(DEPDIR)/libmagicolor_la-magicolor.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='magicolor.c' object='libmagicolor_la-magicolor.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmagicolor_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmagicolor_la-magicolor.lo `test -f 'magicolor.c' || echo '$(srcdir)/'`magicolor.c - -libmatsushita_la-matsushita.lo: matsushita.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmatsushita_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmatsushita_la-matsushita.lo -MD -MP -MF $(DEPDIR)/libmatsushita_la-matsushita.Tpo -c -o libmatsushita_la-matsushita.lo `test -f 'matsushita.c' || echo '$(srcdir)/'`matsushita.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmatsushita_la-matsushita.Tpo $(DEPDIR)/libmatsushita_la-matsushita.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='matsushita.c' object='libmatsushita_la-matsushita.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmatsushita_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmatsushita_la-matsushita.lo `test -f 'matsushita.c' || echo '$(srcdir)/'`matsushita.c - -libmicrotek_la-microtek.lo: microtek.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmicrotek_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmicrotek_la-microtek.lo -MD -MP -MF $(DEPDIR)/libmicrotek_la-microtek.Tpo -c -o libmicrotek_la-microtek.lo `test -f 'microtek.c' || echo '$(srcdir)/'`microtek.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmicrotek_la-microtek.Tpo $(DEPDIR)/libmicrotek_la-microtek.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='microtek.c' object='libmicrotek_la-microtek.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmicrotek_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmicrotek_la-microtek.lo `test -f 'microtek.c' || echo '$(srcdir)/'`microtek.c - -libmicrotek2_la-microtek2.lo: microtek2.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmicrotek2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmicrotek2_la-microtek2.lo -MD -MP -MF $(DEPDIR)/libmicrotek2_la-microtek2.Tpo -c -o libmicrotek2_la-microtek2.lo `test -f 'microtek2.c' || echo '$(srcdir)/'`microtek2.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmicrotek2_la-microtek2.Tpo $(DEPDIR)/libmicrotek2_la-microtek2.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='microtek2.c' object='libmicrotek2_la-microtek2.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmicrotek2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmicrotek2_la-microtek2.lo `test -f 'microtek2.c' || echo '$(srcdir)/'`microtek2.c - -libmustek_la-mustek.lo: mustek.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmustek_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmustek_la-mustek.lo -MD -MP -MF $(DEPDIR)/libmustek_la-mustek.Tpo -c -o libmustek_la-mustek.lo `test -f 'mustek.c' || echo '$(srcdir)/'`mustek.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmustek_la-mustek.Tpo $(DEPDIR)/libmustek_la-mustek.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mustek.c' object='libmustek_la-mustek.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmustek_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmustek_la-mustek.lo `test -f 'mustek.c' || echo '$(srcdir)/'`mustek.c - -libmustek_pp_la-mustek_pp.lo: mustek_pp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmustek_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmustek_pp_la-mustek_pp.lo -MD -MP -MF $(DEPDIR)/libmustek_pp_la-mustek_pp.Tpo -c -o libmustek_pp_la-mustek_pp.lo `test -f 'mustek_pp.c' || echo '$(srcdir)/'`mustek_pp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmustek_pp_la-mustek_pp.Tpo $(DEPDIR)/libmustek_pp_la-mustek_pp.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mustek_pp.c' object='libmustek_pp_la-mustek_pp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmustek_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmustek_pp_la-mustek_pp.lo `test -f 'mustek_pp.c' || echo '$(srcdir)/'`mustek_pp.c - -libmustek_usb_la-mustek_usb.lo: mustek_usb.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmustek_usb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmustek_usb_la-mustek_usb.lo -MD -MP -MF $(DEPDIR)/libmustek_usb_la-mustek_usb.Tpo -c -o libmustek_usb_la-mustek_usb.lo `test -f 'mustek_usb.c' || echo '$(srcdir)/'`mustek_usb.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmustek_usb_la-mustek_usb.Tpo $(DEPDIR)/libmustek_usb_la-mustek_usb.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mustek_usb.c' object='libmustek_usb_la-mustek_usb.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmustek_usb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmustek_usb_la-mustek_usb.lo `test -f 'mustek_usb.c' || echo '$(srcdir)/'`mustek_usb.c - -libmustek_usb2_la-mustek_usb2.lo: mustek_usb2.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmustek_usb2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmustek_usb2_la-mustek_usb2.lo -MD -MP -MF $(DEPDIR)/libmustek_usb2_la-mustek_usb2.Tpo -c -o libmustek_usb2_la-mustek_usb2.lo `test -f 'mustek_usb2.c' || echo '$(srcdir)/'`mustek_usb2.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmustek_usb2_la-mustek_usb2.Tpo $(DEPDIR)/libmustek_usb2_la-mustek_usb2.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mustek_usb2.c' object='libmustek_usb2_la-mustek_usb2.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmustek_usb2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmustek_usb2_la-mustek_usb2.lo `test -f 'mustek_usb2.c' || echo '$(srcdir)/'`mustek_usb2.c - -libnec_la-nec.lo: nec.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libnec_la-nec.lo -MD -MP -MF $(DEPDIR)/libnec_la-nec.Tpo -c -o libnec_la-nec.lo `test -f 'nec.c' || echo '$(srcdir)/'`nec.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libnec_la-nec.Tpo $(DEPDIR)/libnec_la-nec.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nec.c' object='libnec_la-nec.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libnec_la-nec.lo `test -f 'nec.c' || echo '$(srcdir)/'`nec.c - -libnet_la-net.lo: net.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libnet_la-net.lo -MD -MP -MF $(DEPDIR)/libnet_la-net.Tpo -c -o libnet_la-net.lo `test -f 'net.c' || echo '$(srcdir)/'`net.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libnet_la-net.Tpo $(DEPDIR)/libnet_la-net.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='net.c' object='libnet_la-net.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnet_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libnet_la-net.lo `test -f 'net.c' || echo '$(srcdir)/'`net.c - -libniash_la-niash.lo: niash.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libniash_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libniash_la-niash.lo -MD -MP -MF $(DEPDIR)/libniash_la-niash.Tpo -c -o libniash_la-niash.lo `test -f 'niash.c' || echo '$(srcdir)/'`niash.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libniash_la-niash.Tpo $(DEPDIR)/libniash_la-niash.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='niash.c' object='libniash_la-niash.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libniash_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libniash_la-niash.lo `test -f 'niash.c' || echo '$(srcdir)/'`niash.c - -libp5_la-p5.lo: p5.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libp5_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libp5_la-p5.lo -MD -MP -MF $(DEPDIR)/libp5_la-p5.Tpo -c -o libp5_la-p5.lo `test -f 'p5.c' || echo '$(srcdir)/'`p5.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libp5_la-p5.Tpo $(DEPDIR)/libp5_la-p5.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='p5.c' object='libp5_la-p5.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libp5_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libp5_la-p5.lo `test -f 'p5.c' || echo '$(srcdir)/'`p5.c - -libpie_la-pie.lo: pie.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpie_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpie_la-pie.lo -MD -MP -MF $(DEPDIR)/libpie_la-pie.Tpo -c -o libpie_la-pie.lo `test -f 'pie.c' || echo '$(srcdir)/'`pie.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpie_la-pie.Tpo $(DEPDIR)/libpie_la-pie.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pie.c' object='libpie_la-pie.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpie_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpie_la-pie.lo `test -f 'pie.c' || echo '$(srcdir)/'`pie.c - -libpieusb_la-pieusb_buffer.lo: pieusb_buffer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpieusb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpieusb_la-pieusb_buffer.lo -MD -MP -MF $(DEPDIR)/libpieusb_la-pieusb_buffer.Tpo -c -o libpieusb_la-pieusb_buffer.lo `test -f 'pieusb_buffer.c' || echo '$(srcdir)/'`pieusb_buffer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpieusb_la-pieusb_buffer.Tpo $(DEPDIR)/libpieusb_la-pieusb_buffer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pieusb_buffer.c' object='libpieusb_la-pieusb_buffer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpieusb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpieusb_la-pieusb_buffer.lo `test -f 'pieusb_buffer.c' || echo '$(srcdir)/'`pieusb_buffer.c - -libpieusb_la-pieusb_scancmd.lo: pieusb_scancmd.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpieusb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpieusb_la-pieusb_scancmd.lo -MD -MP -MF $(DEPDIR)/libpieusb_la-pieusb_scancmd.Tpo -c -o libpieusb_la-pieusb_scancmd.lo `test -f 'pieusb_scancmd.c' || echo '$(srcdir)/'`pieusb_scancmd.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpieusb_la-pieusb_scancmd.Tpo $(DEPDIR)/libpieusb_la-pieusb_scancmd.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pieusb_scancmd.c' object='libpieusb_la-pieusb_scancmd.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpieusb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpieusb_la-pieusb_scancmd.lo `test -f 'pieusb_scancmd.c' || echo '$(srcdir)/'`pieusb_scancmd.c - -libpieusb_la-pieusb_specific.lo: pieusb_specific.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpieusb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpieusb_la-pieusb_specific.lo -MD -MP -MF $(DEPDIR)/libpieusb_la-pieusb_specific.Tpo -c -o libpieusb_la-pieusb_specific.lo `test -f 'pieusb_specific.c' || echo '$(srcdir)/'`pieusb_specific.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpieusb_la-pieusb_specific.Tpo $(DEPDIR)/libpieusb_la-pieusb_specific.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pieusb_specific.c' object='libpieusb_la-pieusb_specific.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpieusb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpieusb_la-pieusb_specific.lo `test -f 'pieusb_specific.c' || echo '$(srcdir)/'`pieusb_specific.c - -libpieusb_la-pieusb_usb.lo: pieusb_usb.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpieusb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpieusb_la-pieusb_usb.lo -MD -MP -MF $(DEPDIR)/libpieusb_la-pieusb_usb.Tpo -c -o libpieusb_la-pieusb_usb.lo `test -f 'pieusb_usb.c' || echo '$(srcdir)/'`pieusb_usb.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpieusb_la-pieusb_usb.Tpo $(DEPDIR)/libpieusb_la-pieusb_usb.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pieusb_usb.c' object='libpieusb_la-pieusb_usb.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpieusb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpieusb_la-pieusb_usb.lo `test -f 'pieusb_usb.c' || echo '$(srcdir)/'`pieusb_usb.c - -libpieusb_la-pieusb.lo: pieusb.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpieusb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpieusb_la-pieusb.lo -MD -MP -MF $(DEPDIR)/libpieusb_la-pieusb.Tpo -c -o libpieusb_la-pieusb.lo `test -f 'pieusb.c' || echo '$(srcdir)/'`pieusb.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpieusb_la-pieusb.Tpo $(DEPDIR)/libpieusb_la-pieusb.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pieusb.c' object='libpieusb_la-pieusb.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpieusb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpieusb_la-pieusb.lo `test -f 'pieusb.c' || echo '$(srcdir)/'`pieusb.c - -libpint_la-pint.lo: pint.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpint_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpint_la-pint.lo -MD -MP -MF $(DEPDIR)/libpint_la-pint.Tpo -c -o libpint_la-pint.lo `test -f 'pint.c' || echo '$(srcdir)/'`pint.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpint_la-pint.Tpo $(DEPDIR)/libpint_la-pint.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pint.c' object='libpint_la-pint.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpint_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpint_la-pint.lo `test -f 'pint.c' || echo '$(srcdir)/'`pint.c - -libpixma_la-pixma.lo: pixma.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpixma_la-pixma.lo -MD -MP -MF $(DEPDIR)/libpixma_la-pixma.Tpo -c -o libpixma_la-pixma.lo `test -f 'pixma.c' || echo '$(srcdir)/'`pixma.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpixma_la-pixma.Tpo $(DEPDIR)/libpixma_la-pixma.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pixma.c' object='libpixma_la-pixma.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpixma_la-pixma.lo `test -f 'pixma.c' || echo '$(srcdir)/'`pixma.c - -libpixma_la-pixma_io_sanei.lo: pixma_io_sanei.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpixma_la-pixma_io_sanei.lo -MD -MP -MF $(DEPDIR)/libpixma_la-pixma_io_sanei.Tpo -c -o libpixma_la-pixma_io_sanei.lo `test -f 'pixma_io_sanei.c' || echo '$(srcdir)/'`pixma_io_sanei.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpixma_la-pixma_io_sanei.Tpo $(DEPDIR)/libpixma_la-pixma_io_sanei.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pixma_io_sanei.c' object='libpixma_la-pixma_io_sanei.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpixma_la-pixma_io_sanei.lo `test -f 'pixma_io_sanei.c' || echo '$(srcdir)/'`pixma_io_sanei.c - -libpixma_la-pixma_common.lo: pixma_common.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpixma_la-pixma_common.lo -MD -MP -MF $(DEPDIR)/libpixma_la-pixma_common.Tpo -c -o libpixma_la-pixma_common.lo `test -f 'pixma_common.c' || echo '$(srcdir)/'`pixma_common.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpixma_la-pixma_common.Tpo $(DEPDIR)/libpixma_la-pixma_common.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pixma_common.c' object='libpixma_la-pixma_common.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpixma_la-pixma_common.lo `test -f 'pixma_common.c' || echo '$(srcdir)/'`pixma_common.c - -libpixma_la-pixma_mp150.lo: pixma_mp150.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpixma_la-pixma_mp150.lo -MD -MP -MF $(DEPDIR)/libpixma_la-pixma_mp150.Tpo -c -o libpixma_la-pixma_mp150.lo `test -f 'pixma_mp150.c' || echo '$(srcdir)/'`pixma_mp150.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpixma_la-pixma_mp150.Tpo $(DEPDIR)/libpixma_la-pixma_mp150.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pixma_mp150.c' object='libpixma_la-pixma_mp150.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpixma_la-pixma_mp150.lo `test -f 'pixma_mp150.c' || echo '$(srcdir)/'`pixma_mp150.c - -libpixma_la-pixma_mp730.lo: pixma_mp730.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpixma_la-pixma_mp730.lo -MD -MP -MF $(DEPDIR)/libpixma_la-pixma_mp730.Tpo -c -o libpixma_la-pixma_mp730.lo `test -f 'pixma_mp730.c' || echo '$(srcdir)/'`pixma_mp730.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpixma_la-pixma_mp730.Tpo $(DEPDIR)/libpixma_la-pixma_mp730.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pixma_mp730.c' object='libpixma_la-pixma_mp730.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpixma_la-pixma_mp730.lo `test -f 'pixma_mp730.c' || echo '$(srcdir)/'`pixma_mp730.c - -libpixma_la-pixma_mp750.lo: pixma_mp750.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpixma_la-pixma_mp750.lo -MD -MP -MF $(DEPDIR)/libpixma_la-pixma_mp750.Tpo -c -o libpixma_la-pixma_mp750.lo `test -f 'pixma_mp750.c' || echo '$(srcdir)/'`pixma_mp750.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpixma_la-pixma_mp750.Tpo $(DEPDIR)/libpixma_la-pixma_mp750.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pixma_mp750.c' object='libpixma_la-pixma_mp750.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpixma_la-pixma_mp750.lo `test -f 'pixma_mp750.c' || echo '$(srcdir)/'`pixma_mp750.c - -libpixma_la-pixma_mp810.lo: pixma_mp810.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpixma_la-pixma_mp810.lo -MD -MP -MF $(DEPDIR)/libpixma_la-pixma_mp810.Tpo -c -o libpixma_la-pixma_mp810.lo `test -f 'pixma_mp810.c' || echo '$(srcdir)/'`pixma_mp810.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpixma_la-pixma_mp810.Tpo $(DEPDIR)/libpixma_la-pixma_mp810.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pixma_mp810.c' object='libpixma_la-pixma_mp810.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpixma_la-pixma_mp810.lo `test -f 'pixma_mp810.c' || echo '$(srcdir)/'`pixma_mp810.c - -libpixma_la-pixma_imageclass.lo: pixma_imageclass.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpixma_la-pixma_imageclass.lo -MD -MP -MF $(DEPDIR)/libpixma_la-pixma_imageclass.Tpo -c -o libpixma_la-pixma_imageclass.lo `test -f 'pixma_imageclass.c' || echo '$(srcdir)/'`pixma_imageclass.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpixma_la-pixma_imageclass.Tpo $(DEPDIR)/libpixma_la-pixma_imageclass.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pixma_imageclass.c' object='libpixma_la-pixma_imageclass.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpixma_la-pixma_imageclass.lo `test -f 'pixma_imageclass.c' || echo '$(srcdir)/'`pixma_imageclass.c - -libpixma_la-pixma_bjnp.lo: pixma_bjnp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpixma_la-pixma_bjnp.lo -MD -MP -MF $(DEPDIR)/libpixma_la-pixma_bjnp.Tpo -c -o libpixma_la-pixma_bjnp.lo `test -f 'pixma_bjnp.c' || echo '$(srcdir)/'`pixma_bjnp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpixma_la-pixma_bjnp.Tpo $(DEPDIR)/libpixma_la-pixma_bjnp.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pixma_bjnp.c' object='libpixma_la-pixma_bjnp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpixma_la-pixma_bjnp.lo `test -f 'pixma_bjnp.c' || echo '$(srcdir)/'`pixma_bjnp.c - -libplustek_la-plustek.lo: plustek.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libplustek_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libplustek_la-plustek.lo -MD -MP -MF $(DEPDIR)/libplustek_la-plustek.Tpo -c -o libplustek_la-plustek.lo `test -f 'plustek.c' || echo '$(srcdir)/'`plustek.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libplustek_la-plustek.Tpo $(DEPDIR)/libplustek_la-plustek.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plustek.c' object='libplustek_la-plustek.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libplustek_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libplustek_la-plustek.lo `test -f 'plustek.c' || echo '$(srcdir)/'`plustek.c - -libplustek_pp_la-plustek_pp.lo: plustek_pp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libplustek_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libplustek_pp_la-plustek_pp.lo -MD -MP -MF $(DEPDIR)/libplustek_pp_la-plustek_pp.Tpo -c -o libplustek_pp_la-plustek_pp.lo `test -f 'plustek_pp.c' || echo '$(srcdir)/'`plustek_pp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libplustek_pp_la-plustek_pp.Tpo $(DEPDIR)/libplustek_pp_la-plustek_pp.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plustek_pp.c' object='libplustek_pp_la-plustek_pp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libplustek_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libplustek_pp_la-plustek_pp.lo `test -f 'plustek_pp.c' || echo '$(srcdir)/'`plustek_pp.c - -libpnm_la-pnm.lo: pnm.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpnm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpnm_la-pnm.lo -MD -MP -MF $(DEPDIR)/libpnm_la-pnm.Tpo -c -o libpnm_la-pnm.lo `test -f 'pnm.c' || echo '$(srcdir)/'`pnm.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpnm_la-pnm.Tpo $(DEPDIR)/libpnm_la-pnm.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pnm.c' object='libpnm_la-pnm.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpnm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpnm_la-pnm.lo `test -f 'pnm.c' || echo '$(srcdir)/'`pnm.c - -libqcam_la-qcam.lo: qcam.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcam_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libqcam_la-qcam.lo -MD -MP -MF $(DEPDIR)/libqcam_la-qcam.Tpo -c -o libqcam_la-qcam.lo `test -f 'qcam.c' || echo '$(srcdir)/'`qcam.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libqcam_la-qcam.Tpo $(DEPDIR)/libqcam_la-qcam.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='qcam.c' object='libqcam_la-qcam.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcam_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqcam_la-qcam.lo `test -f 'qcam.c' || echo '$(srcdir)/'`qcam.c - -libricoh_la-ricoh.lo: ricoh.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libricoh_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libricoh_la-ricoh.lo -MD -MP -MF $(DEPDIR)/libricoh_la-ricoh.Tpo -c -o libricoh_la-ricoh.lo `test -f 'ricoh.c' || echo '$(srcdir)/'`ricoh.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libricoh_la-ricoh.Tpo $(DEPDIR)/libricoh_la-ricoh.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ricoh.c' object='libricoh_la-ricoh.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libricoh_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libricoh_la-ricoh.lo `test -f 'ricoh.c' || echo '$(srcdir)/'`ricoh.c - -librts8891_la-rts8891.lo: rts8891.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(librts8891_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT librts8891_la-rts8891.lo -MD -MP -MF $(DEPDIR)/librts8891_la-rts8891.Tpo -c -o librts8891_la-rts8891.lo `test -f 'rts8891.c' || echo '$(srcdir)/'`rts8891.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/librts8891_la-rts8891.Tpo $(DEPDIR)/librts8891_la-rts8891.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rts8891.c' object='librts8891_la-rts8891.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(librts8891_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o librts8891_la-rts8891.lo `test -f 'rts8891.c' || echo '$(srcdir)/'`rts8891.c - -librts8891_la-rts88xx_lib.lo: rts88xx_lib.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(librts8891_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT librts8891_la-rts88xx_lib.lo -MD -MP -MF $(DEPDIR)/librts8891_la-rts88xx_lib.Tpo -c -o librts8891_la-rts88xx_lib.lo `test -f 'rts88xx_lib.c' || echo '$(srcdir)/'`rts88xx_lib.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/librts8891_la-rts88xx_lib.Tpo $(DEPDIR)/librts8891_la-rts88xx_lib.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rts88xx_lib.c' object='librts8891_la-rts88xx_lib.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(librts8891_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o librts8891_la-rts88xx_lib.lo `test -f 'rts88xx_lib.c' || echo '$(srcdir)/'`rts88xx_lib.c - -libs9036_la-s9036.lo: s9036.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libs9036_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libs9036_la-s9036.lo -MD -MP -MF $(DEPDIR)/libs9036_la-s9036.Tpo -c -o libs9036_la-s9036.lo `test -f 's9036.c' || echo '$(srcdir)/'`s9036.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libs9036_la-s9036.Tpo $(DEPDIR)/libs9036_la-s9036.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s9036.c' object='libs9036_la-s9036.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libs9036_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libs9036_la-s9036.lo `test -f 's9036.c' || echo '$(srcdir)/'`s9036.c - -libsane_abaton_la-abaton-s.lo: abaton-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_abaton_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_abaton_la-abaton-s.lo -MD -MP -MF $(DEPDIR)/libsane_abaton_la-abaton-s.Tpo -c -o libsane_abaton_la-abaton-s.lo `test -f 'abaton-s.c' || echo '$(srcdir)/'`abaton-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_abaton_la-abaton-s.Tpo $(DEPDIR)/libsane_abaton_la-abaton-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='abaton-s.c' object='libsane_abaton_la-abaton-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_abaton_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_abaton_la-abaton-s.lo `test -f 'abaton-s.c' || echo '$(srcdir)/'`abaton-s.c - -libsane_agfafocus_la-agfafocus-s.lo: agfafocus-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_agfafocus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_agfafocus_la-agfafocus-s.lo -MD -MP -MF $(DEPDIR)/libsane_agfafocus_la-agfafocus-s.Tpo -c -o libsane_agfafocus_la-agfafocus-s.lo `test -f 'agfafocus-s.c' || echo '$(srcdir)/'`agfafocus-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_agfafocus_la-agfafocus-s.Tpo $(DEPDIR)/libsane_agfafocus_la-agfafocus-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='agfafocus-s.c' object='libsane_agfafocus_la-agfafocus-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_agfafocus_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_agfafocus_la-agfafocus-s.lo `test -f 'agfafocus-s.c' || echo '$(srcdir)/'`agfafocus-s.c - -libsane_apple_la-apple-s.lo: apple-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_apple_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_apple_la-apple-s.lo -MD -MP -MF $(DEPDIR)/libsane_apple_la-apple-s.Tpo -c -o libsane_apple_la-apple-s.lo `test -f 'apple-s.c' || echo '$(srcdir)/'`apple-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_apple_la-apple-s.Tpo $(DEPDIR)/libsane_apple_la-apple-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='apple-s.c' object='libsane_apple_la-apple-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_apple_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_apple_la-apple-s.lo `test -f 'apple-s.c' || echo '$(srcdir)/'`apple-s.c - -libsane_artec_la-artec-s.lo: artec-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_artec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_artec_la-artec-s.lo -MD -MP -MF $(DEPDIR)/libsane_artec_la-artec-s.Tpo -c -o libsane_artec_la-artec-s.lo `test -f 'artec-s.c' || echo '$(srcdir)/'`artec-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_artec_la-artec-s.Tpo $(DEPDIR)/libsane_artec_la-artec-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='artec-s.c' object='libsane_artec_la-artec-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_artec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_artec_la-artec-s.lo `test -f 'artec-s.c' || echo '$(srcdir)/'`artec-s.c - -libsane_artec_eplus48u_la-artec_eplus48u-s.lo: artec_eplus48u-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_artec_eplus48u_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_artec_eplus48u_la-artec_eplus48u-s.lo -MD -MP -MF $(DEPDIR)/libsane_artec_eplus48u_la-artec_eplus48u-s.Tpo -c -o libsane_artec_eplus48u_la-artec_eplus48u-s.lo `test -f 'artec_eplus48u-s.c' || echo '$(srcdir)/'`artec_eplus48u-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_artec_eplus48u_la-artec_eplus48u-s.Tpo $(DEPDIR)/libsane_artec_eplus48u_la-artec_eplus48u-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='artec_eplus48u-s.c' object='libsane_artec_eplus48u_la-artec_eplus48u-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_artec_eplus48u_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_artec_eplus48u_la-artec_eplus48u-s.lo `test -f 'artec_eplus48u-s.c' || echo '$(srcdir)/'`artec_eplus48u-s.c - -libsane_as6e_la-as6e-s.lo: as6e-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_as6e_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_as6e_la-as6e-s.lo -MD -MP -MF $(DEPDIR)/libsane_as6e_la-as6e-s.Tpo -c -o libsane_as6e_la-as6e-s.lo `test -f 'as6e-s.c' || echo '$(srcdir)/'`as6e-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_as6e_la-as6e-s.Tpo $(DEPDIR)/libsane_as6e_la-as6e-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='as6e-s.c' object='libsane_as6e_la-as6e-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_as6e_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_as6e_la-as6e-s.lo `test -f 'as6e-s.c' || echo '$(srcdir)/'`as6e-s.c - -libsane_avision_la-avision-s.lo: avision-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_avision_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_avision_la-avision-s.lo -MD -MP -MF $(DEPDIR)/libsane_avision_la-avision-s.Tpo -c -o libsane_avision_la-avision-s.lo `test -f 'avision-s.c' || echo '$(srcdir)/'`avision-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_avision_la-avision-s.Tpo $(DEPDIR)/libsane_avision_la-avision-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='avision-s.c' object='libsane_avision_la-avision-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_avision_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_avision_la-avision-s.lo `test -f 'avision-s.c' || echo '$(srcdir)/'`avision-s.c - -libsane_bh_la-bh-s.lo: bh-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_bh_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_bh_la-bh-s.lo -MD -MP -MF $(DEPDIR)/libsane_bh_la-bh-s.Tpo -c -o libsane_bh_la-bh-s.lo `test -f 'bh-s.c' || echo '$(srcdir)/'`bh-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_bh_la-bh-s.Tpo $(DEPDIR)/libsane_bh_la-bh-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='bh-s.c' object='libsane_bh_la-bh-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_bh_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_bh_la-bh-s.lo `test -f 'bh-s.c' || echo '$(srcdir)/'`bh-s.c - -libsane_canon_la-canon-s.lo: canon-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_canon_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_canon_la-canon-s.lo -MD -MP -MF $(DEPDIR)/libsane_canon_la-canon-s.Tpo -c -o libsane_canon_la-canon-s.lo `test -f 'canon-s.c' || echo '$(srcdir)/'`canon-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_canon_la-canon-s.Tpo $(DEPDIR)/libsane_canon_la-canon-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='canon-s.c' object='libsane_canon_la-canon-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_canon_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_canon_la-canon-s.lo `test -f 'canon-s.c' || echo '$(srcdir)/'`canon-s.c - -libsane_canon630u_la-canon630u-s.lo: canon630u-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_canon630u_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_canon630u_la-canon630u-s.lo -MD -MP -MF $(DEPDIR)/libsane_canon630u_la-canon630u-s.Tpo -c -o libsane_canon630u_la-canon630u-s.lo `test -f 'canon630u-s.c' || echo '$(srcdir)/'`canon630u-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_canon630u_la-canon630u-s.Tpo $(DEPDIR)/libsane_canon630u_la-canon630u-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='canon630u-s.c' object='libsane_canon630u_la-canon630u-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_canon630u_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_canon630u_la-canon630u-s.lo `test -f 'canon630u-s.c' || echo '$(srcdir)/'`canon630u-s.c - -libsane_canon_dr_la-canon_dr-s.lo: canon_dr-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_canon_dr_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_canon_dr_la-canon_dr-s.lo -MD -MP -MF $(DEPDIR)/libsane_canon_dr_la-canon_dr-s.Tpo -c -o libsane_canon_dr_la-canon_dr-s.lo `test -f 'canon_dr-s.c' || echo '$(srcdir)/'`canon_dr-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_canon_dr_la-canon_dr-s.Tpo $(DEPDIR)/libsane_canon_dr_la-canon_dr-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='canon_dr-s.c' object='libsane_canon_dr_la-canon_dr-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_canon_dr_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_canon_dr_la-canon_dr-s.lo `test -f 'canon_dr-s.c' || echo '$(srcdir)/'`canon_dr-s.c - -libsane_canon_pp_la-canon_pp-s.lo: canon_pp-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_canon_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_canon_pp_la-canon_pp-s.lo -MD -MP -MF $(DEPDIR)/libsane_canon_pp_la-canon_pp-s.Tpo -c -o libsane_canon_pp_la-canon_pp-s.lo `test -f 'canon_pp-s.c' || echo '$(srcdir)/'`canon_pp-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_canon_pp_la-canon_pp-s.Tpo $(DEPDIR)/libsane_canon_pp_la-canon_pp-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='canon_pp-s.c' object='libsane_canon_pp_la-canon_pp-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_canon_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_canon_pp_la-canon_pp-s.lo `test -f 'canon_pp-s.c' || echo '$(srcdir)/'`canon_pp-s.c - -libsane_cardscan_la-cardscan-s.lo: cardscan-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_cardscan_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_cardscan_la-cardscan-s.lo -MD -MP -MF $(DEPDIR)/libsane_cardscan_la-cardscan-s.Tpo -c -o libsane_cardscan_la-cardscan-s.lo `test -f 'cardscan-s.c' || echo '$(srcdir)/'`cardscan-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_cardscan_la-cardscan-s.Tpo $(DEPDIR)/libsane_cardscan_la-cardscan-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cardscan-s.c' object='libsane_cardscan_la-cardscan-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_cardscan_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_cardscan_la-cardscan-s.lo `test -f 'cardscan-s.c' || echo '$(srcdir)/'`cardscan-s.c - -libsane_coolscan_la-coolscan-s.lo: coolscan-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_coolscan_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_coolscan_la-coolscan-s.lo -MD -MP -MF $(DEPDIR)/libsane_coolscan_la-coolscan-s.Tpo -c -o libsane_coolscan_la-coolscan-s.lo `test -f 'coolscan-s.c' || echo '$(srcdir)/'`coolscan-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_coolscan_la-coolscan-s.Tpo $(DEPDIR)/libsane_coolscan_la-coolscan-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coolscan-s.c' object='libsane_coolscan_la-coolscan-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_coolscan_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_coolscan_la-coolscan-s.lo `test -f 'coolscan-s.c' || echo '$(srcdir)/'`coolscan-s.c - -libsane_coolscan2_la-coolscan2-s.lo: coolscan2-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_coolscan2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_coolscan2_la-coolscan2-s.lo -MD -MP -MF $(DEPDIR)/libsane_coolscan2_la-coolscan2-s.Tpo -c -o libsane_coolscan2_la-coolscan2-s.lo `test -f 'coolscan2-s.c' || echo '$(srcdir)/'`coolscan2-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_coolscan2_la-coolscan2-s.Tpo $(DEPDIR)/libsane_coolscan2_la-coolscan2-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coolscan2-s.c' object='libsane_coolscan2_la-coolscan2-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_coolscan2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_coolscan2_la-coolscan2-s.lo `test -f 'coolscan2-s.c' || echo '$(srcdir)/'`coolscan2-s.c - -libsane_coolscan3_la-coolscan3-s.lo: coolscan3-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_coolscan3_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_coolscan3_la-coolscan3-s.lo -MD -MP -MF $(DEPDIR)/libsane_coolscan3_la-coolscan3-s.Tpo -c -o libsane_coolscan3_la-coolscan3-s.lo `test -f 'coolscan3-s.c' || echo '$(srcdir)/'`coolscan3-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_coolscan3_la-coolscan3-s.Tpo $(DEPDIR)/libsane_coolscan3_la-coolscan3-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coolscan3-s.c' object='libsane_coolscan3_la-coolscan3-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_coolscan3_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_coolscan3_la-coolscan3-s.lo `test -f 'coolscan3-s.c' || echo '$(srcdir)/'`coolscan3-s.c - -libsane_dc210_la-dc210-s.lo: dc210-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_dc210_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_dc210_la-dc210-s.lo -MD -MP -MF $(DEPDIR)/libsane_dc210_la-dc210-s.Tpo -c -o libsane_dc210_la-dc210-s.lo `test -f 'dc210-s.c' || echo '$(srcdir)/'`dc210-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_dc210_la-dc210-s.Tpo $(DEPDIR)/libsane_dc210_la-dc210-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dc210-s.c' object='libsane_dc210_la-dc210-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_dc210_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_dc210_la-dc210-s.lo `test -f 'dc210-s.c' || echo '$(srcdir)/'`dc210-s.c - -libsane_dc240_la-dc240-s.lo: dc240-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_dc240_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_dc240_la-dc240-s.lo -MD -MP -MF $(DEPDIR)/libsane_dc240_la-dc240-s.Tpo -c -o libsane_dc240_la-dc240-s.lo `test -f 'dc240-s.c' || echo '$(srcdir)/'`dc240-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_dc240_la-dc240-s.Tpo $(DEPDIR)/libsane_dc240_la-dc240-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dc240-s.c' object='libsane_dc240_la-dc240-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_dc240_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_dc240_la-dc240-s.lo `test -f 'dc240-s.c' || echo '$(srcdir)/'`dc240-s.c - -libsane_dc25_la-dc25-s.lo: dc25-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_dc25_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_dc25_la-dc25-s.lo -MD -MP -MF $(DEPDIR)/libsane_dc25_la-dc25-s.Tpo -c -o libsane_dc25_la-dc25-s.lo `test -f 'dc25-s.c' || echo '$(srcdir)/'`dc25-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_dc25_la-dc25-s.Tpo $(DEPDIR)/libsane_dc25_la-dc25-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dc25-s.c' object='libsane_dc25_la-dc25-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_dc25_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_dc25_la-dc25-s.lo `test -f 'dc25-s.c' || echo '$(srcdir)/'`dc25-s.c - -libsane_dell1600n_net_la-dell1600n_net-s.lo: dell1600n_net-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_dell1600n_net_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_dell1600n_net_la-dell1600n_net-s.lo -MD -MP -MF $(DEPDIR)/libsane_dell1600n_net_la-dell1600n_net-s.Tpo -c -o libsane_dell1600n_net_la-dell1600n_net-s.lo `test -f 'dell1600n_net-s.c' || echo '$(srcdir)/'`dell1600n_net-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_dell1600n_net_la-dell1600n_net-s.Tpo $(DEPDIR)/libsane_dell1600n_net_la-dell1600n_net-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dell1600n_net-s.c' object='libsane_dell1600n_net_la-dell1600n_net-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_dell1600n_net_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_dell1600n_net_la-dell1600n_net-s.lo `test -f 'dell1600n_net-s.c' || echo '$(srcdir)/'`dell1600n_net-s.c - -libsane_dll_la-dll-s.lo: dll-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_dll_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_dll_la-dll-s.lo -MD -MP -MF $(DEPDIR)/libsane_dll_la-dll-s.Tpo -c -o libsane_dll_la-dll-s.lo `test -f 'dll-s.c' || echo '$(srcdir)/'`dll-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_dll_la-dll-s.Tpo $(DEPDIR)/libsane_dll_la-dll-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dll-s.c' object='libsane_dll_la-dll-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_dll_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_dll_la-dll-s.lo `test -f 'dll-s.c' || echo '$(srcdir)/'`dll-s.c - -libsane_dmc_la-dmc-s.lo: dmc-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_dmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_dmc_la-dmc-s.lo -MD -MP -MF $(DEPDIR)/libsane_dmc_la-dmc-s.Tpo -c -o libsane_dmc_la-dmc-s.lo `test -f 'dmc-s.c' || echo '$(srcdir)/'`dmc-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_dmc_la-dmc-s.Tpo $(DEPDIR)/libsane_dmc_la-dmc-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dmc-s.c' object='libsane_dmc_la-dmc-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_dmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_dmc_la-dmc-s.lo `test -f 'dmc-s.c' || echo '$(srcdir)/'`dmc-s.c - -libsane_epjitsu_la-epjitsu-s.lo: epjitsu-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_epjitsu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_epjitsu_la-epjitsu-s.lo -MD -MP -MF $(DEPDIR)/libsane_epjitsu_la-epjitsu-s.Tpo -c -o libsane_epjitsu_la-epjitsu-s.lo `test -f 'epjitsu-s.c' || echo '$(srcdir)/'`epjitsu-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_epjitsu_la-epjitsu-s.Tpo $(DEPDIR)/libsane_epjitsu_la-epjitsu-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epjitsu-s.c' object='libsane_epjitsu_la-epjitsu-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_epjitsu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_epjitsu_la-epjitsu-s.lo `test -f 'epjitsu-s.c' || echo '$(srcdir)/'`epjitsu-s.c - -libsane_epson_la-epson-s.lo: epson-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_epson_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_epson_la-epson-s.lo -MD -MP -MF $(DEPDIR)/libsane_epson_la-epson-s.Tpo -c -o libsane_epson_la-epson-s.lo `test -f 'epson-s.c' || echo '$(srcdir)/'`epson-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_epson_la-epson-s.Tpo $(DEPDIR)/libsane_epson_la-epson-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epson-s.c' object='libsane_epson_la-epson-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_epson_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_epson_la-epson-s.lo `test -f 'epson-s.c' || echo '$(srcdir)/'`epson-s.c - -libsane_epson2_la-epson2-s.lo: epson2-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_epson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_epson2_la-epson2-s.lo -MD -MP -MF $(DEPDIR)/libsane_epson2_la-epson2-s.Tpo -c -o libsane_epson2_la-epson2-s.lo `test -f 'epson2-s.c' || echo '$(srcdir)/'`epson2-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_epson2_la-epson2-s.Tpo $(DEPDIR)/libsane_epson2_la-epson2-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epson2-s.c' object='libsane_epson2_la-epson2-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_epson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_epson2_la-epson2-s.lo `test -f 'epson2-s.c' || echo '$(srcdir)/'`epson2-s.c - -libsane_epsonds_la-epsonds-s.lo: epsonds-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_epsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_epsonds_la-epsonds-s.lo -MD -MP -MF $(DEPDIR)/libsane_epsonds_la-epsonds-s.Tpo -c -o libsane_epsonds_la-epsonds-s.lo `test -f 'epsonds-s.c' || echo '$(srcdir)/'`epsonds-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_epsonds_la-epsonds-s.Tpo $(DEPDIR)/libsane_epsonds_la-epsonds-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-s.c' object='libsane_epsonds_la-epsonds-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_epsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_epsonds_la-epsonds-s.lo `test -f 'epsonds-s.c' || echo '$(srcdir)/'`epsonds-s.c - -libsane_fujitsu_la-fujitsu-s.lo: fujitsu-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_fujitsu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_fujitsu_la-fujitsu-s.lo -MD -MP -MF $(DEPDIR)/libsane_fujitsu_la-fujitsu-s.Tpo -c -o libsane_fujitsu_la-fujitsu-s.lo `test -f 'fujitsu-s.c' || echo '$(srcdir)/'`fujitsu-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_fujitsu_la-fujitsu-s.Tpo $(DEPDIR)/libsane_fujitsu_la-fujitsu-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fujitsu-s.c' object='libsane_fujitsu_la-fujitsu-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_fujitsu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_fujitsu_la-fujitsu-s.lo `test -f 'fujitsu-s.c' || echo '$(srcdir)/'`fujitsu-s.c - -libsane_genesys_la-genesys-s.lo: genesys-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_genesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_genesys_la-genesys-s.lo -MD -MP -MF $(DEPDIR)/libsane_genesys_la-genesys-s.Tpo -c -o libsane_genesys_la-genesys-s.lo `test -f 'genesys-s.c' || echo '$(srcdir)/'`genesys-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_genesys_la-genesys-s.Tpo $(DEPDIR)/libsane_genesys_la-genesys-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='genesys-s.c' object='libsane_genesys_la-genesys-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_genesys_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_genesys_la-genesys-s.lo `test -f 'genesys-s.c' || echo '$(srcdir)/'`genesys-s.c - -libsane_gphoto2_la-gphoto2-s.lo: gphoto2-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_gphoto2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_gphoto2_la-gphoto2-s.lo -MD -MP -MF $(DEPDIR)/libsane_gphoto2_la-gphoto2-s.Tpo -c -o libsane_gphoto2_la-gphoto2-s.lo `test -f 'gphoto2-s.c' || echo '$(srcdir)/'`gphoto2-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_gphoto2_la-gphoto2-s.Tpo $(DEPDIR)/libsane_gphoto2_la-gphoto2-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gphoto2-s.c' object='libsane_gphoto2_la-gphoto2-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_gphoto2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_gphoto2_la-gphoto2-s.lo `test -f 'gphoto2-s.c' || echo '$(srcdir)/'`gphoto2-s.c - -libsane_gt68xx_la-gt68xx-s.lo: gt68xx-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_gt68xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_gt68xx_la-gt68xx-s.lo -MD -MP -MF $(DEPDIR)/libsane_gt68xx_la-gt68xx-s.Tpo -c -o libsane_gt68xx_la-gt68xx-s.lo `test -f 'gt68xx-s.c' || echo '$(srcdir)/'`gt68xx-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_gt68xx_la-gt68xx-s.Tpo $(DEPDIR)/libsane_gt68xx_la-gt68xx-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gt68xx-s.c' object='libsane_gt68xx_la-gt68xx-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_gt68xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_gt68xx_la-gt68xx-s.lo `test -f 'gt68xx-s.c' || echo '$(srcdir)/'`gt68xx-s.c - -libsane_hp_la-hp-s.lo: hp-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_hp_la-hp-s.lo -MD -MP -MF $(DEPDIR)/libsane_hp_la-hp-s.Tpo -c -o libsane_hp_la-hp-s.lo `test -f 'hp-s.c' || echo '$(srcdir)/'`hp-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_hp_la-hp-s.Tpo $(DEPDIR)/libsane_hp_la-hp-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp-s.c' object='libsane_hp_la-hp-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_hp_la-hp-s.lo `test -f 'hp-s.c' || echo '$(srcdir)/'`hp-s.c - -libsane_hp3500_la-hp3500-s.lo: hp3500-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hp3500_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_hp3500_la-hp3500-s.lo -MD -MP -MF $(DEPDIR)/libsane_hp3500_la-hp3500-s.Tpo -c -o libsane_hp3500_la-hp3500-s.lo `test -f 'hp3500-s.c' || echo '$(srcdir)/'`hp3500-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_hp3500_la-hp3500-s.Tpo $(DEPDIR)/libsane_hp3500_la-hp3500-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp3500-s.c' object='libsane_hp3500_la-hp3500-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hp3500_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_hp3500_la-hp3500-s.lo `test -f 'hp3500-s.c' || echo '$(srcdir)/'`hp3500-s.c - -libsane_hp3900_la-hp3900-s.lo: hp3900-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hp3900_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_hp3900_la-hp3900-s.lo -MD -MP -MF $(DEPDIR)/libsane_hp3900_la-hp3900-s.Tpo -c -o libsane_hp3900_la-hp3900-s.lo `test -f 'hp3900-s.c' || echo '$(srcdir)/'`hp3900-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_hp3900_la-hp3900-s.Tpo $(DEPDIR)/libsane_hp3900_la-hp3900-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp3900-s.c' object='libsane_hp3900_la-hp3900-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hp3900_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_hp3900_la-hp3900-s.lo `test -f 'hp3900-s.c' || echo '$(srcdir)/'`hp3900-s.c - -libsane_hp4200_la-hp4200-s.lo: hp4200-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hp4200_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_hp4200_la-hp4200-s.lo -MD -MP -MF $(DEPDIR)/libsane_hp4200_la-hp4200-s.Tpo -c -o libsane_hp4200_la-hp4200-s.lo `test -f 'hp4200-s.c' || echo '$(srcdir)/'`hp4200-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_hp4200_la-hp4200-s.Tpo $(DEPDIR)/libsane_hp4200_la-hp4200-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp4200-s.c' object='libsane_hp4200_la-hp4200-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hp4200_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_hp4200_la-hp4200-s.lo `test -f 'hp4200-s.c' || echo '$(srcdir)/'`hp4200-s.c - -libsane_hp5400_la-hp5400-s.lo: hp5400-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hp5400_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_hp5400_la-hp5400-s.lo -MD -MP -MF $(DEPDIR)/libsane_hp5400_la-hp5400-s.Tpo -c -o libsane_hp5400_la-hp5400-s.lo `test -f 'hp5400-s.c' || echo '$(srcdir)/'`hp5400-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_hp5400_la-hp5400-s.Tpo $(DEPDIR)/libsane_hp5400_la-hp5400-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp5400-s.c' object='libsane_hp5400_la-hp5400-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hp5400_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_hp5400_la-hp5400-s.lo `test -f 'hp5400-s.c' || echo '$(srcdir)/'`hp5400-s.c - -libsane_hp5590_la-hp5590-s.lo: hp5590-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hp5590_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_hp5590_la-hp5590-s.lo -MD -MP -MF $(DEPDIR)/libsane_hp5590_la-hp5590-s.Tpo -c -o libsane_hp5590_la-hp5590-s.lo `test -f 'hp5590-s.c' || echo '$(srcdir)/'`hp5590-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_hp5590_la-hp5590-s.Tpo $(DEPDIR)/libsane_hp5590_la-hp5590-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hp5590-s.c' object='libsane_hp5590_la-hp5590-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hp5590_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_hp5590_la-hp5590-s.lo `test -f 'hp5590-s.c' || echo '$(srcdir)/'`hp5590-s.c - -libsane_hpljm1005_la-hpljm1005-s.lo: hpljm1005-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hpljm1005_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_hpljm1005_la-hpljm1005-s.lo -MD -MP -MF $(DEPDIR)/libsane_hpljm1005_la-hpljm1005-s.Tpo -c -o libsane_hpljm1005_la-hpljm1005-s.lo `test -f 'hpljm1005-s.c' || echo '$(srcdir)/'`hpljm1005-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_hpljm1005_la-hpljm1005-s.Tpo $(DEPDIR)/libsane_hpljm1005_la-hpljm1005-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hpljm1005-s.c' object='libsane_hpljm1005_la-hpljm1005-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hpljm1005_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_hpljm1005_la-hpljm1005-s.lo `test -f 'hpljm1005-s.c' || echo '$(srcdir)/'`hpljm1005-s.c - -libsane_hpsj5s_la-hpsj5s-s.lo: hpsj5s-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hpsj5s_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_hpsj5s_la-hpsj5s-s.lo -MD -MP -MF $(DEPDIR)/libsane_hpsj5s_la-hpsj5s-s.Tpo -c -o libsane_hpsj5s_la-hpsj5s-s.lo `test -f 'hpsj5s-s.c' || echo '$(srcdir)/'`hpsj5s-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_hpsj5s_la-hpsj5s-s.Tpo $(DEPDIR)/libsane_hpsj5s_la-hpsj5s-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hpsj5s-s.c' object='libsane_hpsj5s_la-hpsj5s-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hpsj5s_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_hpsj5s_la-hpsj5s-s.lo `test -f 'hpsj5s-s.c' || echo '$(srcdir)/'`hpsj5s-s.c - -libsane_hs2p_la-hs2p-s.lo: hs2p-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hs2p_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_hs2p_la-hs2p-s.lo -MD -MP -MF $(DEPDIR)/libsane_hs2p_la-hs2p-s.Tpo -c -o libsane_hs2p_la-hs2p-s.lo `test -f 'hs2p-s.c' || echo '$(srcdir)/'`hs2p-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_hs2p_la-hs2p-s.Tpo $(DEPDIR)/libsane_hs2p_la-hs2p-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hs2p-s.c' object='libsane_hs2p_la-hs2p-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_hs2p_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_hs2p_la-hs2p-s.lo `test -f 'hs2p-s.c' || echo '$(srcdir)/'`hs2p-s.c - -libsane_ibm_la-ibm-s.lo: ibm-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_ibm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_ibm_la-ibm-s.lo -MD -MP -MF $(DEPDIR)/libsane_ibm_la-ibm-s.Tpo -c -o libsane_ibm_la-ibm-s.lo `test -f 'ibm-s.c' || echo '$(srcdir)/'`ibm-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_ibm_la-ibm-s.Tpo $(DEPDIR)/libsane_ibm_la-ibm-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ibm-s.c' object='libsane_ibm_la-ibm-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_ibm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_ibm_la-ibm-s.lo `test -f 'ibm-s.c' || echo '$(srcdir)/'`ibm-s.c - -libsane_kodak_la-kodak-s.lo: kodak-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_kodak_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_kodak_la-kodak-s.lo -MD -MP -MF $(DEPDIR)/libsane_kodak_la-kodak-s.Tpo -c -o libsane_kodak_la-kodak-s.lo `test -f 'kodak-s.c' || echo '$(srcdir)/'`kodak-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_kodak_la-kodak-s.Tpo $(DEPDIR)/libsane_kodak_la-kodak-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kodak-s.c' object='libsane_kodak_la-kodak-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_kodak_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_kodak_la-kodak-s.lo `test -f 'kodak-s.c' || echo '$(srcdir)/'`kodak-s.c - -libsane_kodakaio_la-kodakaio-s.lo: kodakaio-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_kodakaio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_kodakaio_la-kodakaio-s.lo -MD -MP -MF $(DEPDIR)/libsane_kodakaio_la-kodakaio-s.Tpo -c -o libsane_kodakaio_la-kodakaio-s.lo `test -f 'kodakaio-s.c' || echo '$(srcdir)/'`kodakaio-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_kodakaio_la-kodakaio-s.Tpo $(DEPDIR)/libsane_kodakaio_la-kodakaio-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kodakaio-s.c' object='libsane_kodakaio_la-kodakaio-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_kodakaio_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_kodakaio_la-kodakaio-s.lo `test -f 'kodakaio-s.c' || echo '$(srcdir)/'`kodakaio-s.c - -libsane_kvs1025_la-kvs1025-s.lo: kvs1025-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_kvs1025_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_kvs1025_la-kvs1025-s.lo -MD -MP -MF $(DEPDIR)/libsane_kvs1025_la-kvs1025-s.Tpo -c -o libsane_kvs1025_la-kvs1025-s.lo `test -f 'kvs1025-s.c' || echo '$(srcdir)/'`kvs1025-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_kvs1025_la-kvs1025-s.Tpo $(DEPDIR)/libsane_kvs1025_la-kvs1025-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kvs1025-s.c' object='libsane_kvs1025_la-kvs1025-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_kvs1025_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_kvs1025_la-kvs1025-s.lo `test -f 'kvs1025-s.c' || echo '$(srcdir)/'`kvs1025-s.c - -libsane_kvs20xx_la-kvs20xx-s.lo: kvs20xx-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_kvs20xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_kvs20xx_la-kvs20xx-s.lo -MD -MP -MF $(DEPDIR)/libsane_kvs20xx_la-kvs20xx-s.Tpo -c -o libsane_kvs20xx_la-kvs20xx-s.lo `test -f 'kvs20xx-s.c' || echo '$(srcdir)/'`kvs20xx-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_kvs20xx_la-kvs20xx-s.Tpo $(DEPDIR)/libsane_kvs20xx_la-kvs20xx-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kvs20xx-s.c' object='libsane_kvs20xx_la-kvs20xx-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_kvs20xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_kvs20xx_la-kvs20xx-s.lo `test -f 'kvs20xx-s.c' || echo '$(srcdir)/'`kvs20xx-s.c - -libsane_kvs40xx_la-kvs40xx-s.lo: kvs40xx-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_kvs40xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_kvs40xx_la-kvs40xx-s.lo -MD -MP -MF $(DEPDIR)/libsane_kvs40xx_la-kvs40xx-s.Tpo -c -o libsane_kvs40xx_la-kvs40xx-s.lo `test -f 'kvs40xx-s.c' || echo '$(srcdir)/'`kvs40xx-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_kvs40xx_la-kvs40xx-s.Tpo $(DEPDIR)/libsane_kvs40xx_la-kvs40xx-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kvs40xx-s.c' object='libsane_kvs40xx_la-kvs40xx-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_kvs40xx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_kvs40xx_la-kvs40xx-s.lo `test -f 'kvs40xx-s.c' || echo '$(srcdir)/'`kvs40xx-s.c - -libsane_leo_la-leo-s.lo: leo-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_leo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_leo_la-leo-s.lo -MD -MP -MF $(DEPDIR)/libsane_leo_la-leo-s.Tpo -c -o libsane_leo_la-leo-s.lo `test -f 'leo-s.c' || echo '$(srcdir)/'`leo-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_leo_la-leo-s.Tpo $(DEPDIR)/libsane_leo_la-leo-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='leo-s.c' object='libsane_leo_la-leo-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_leo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_leo_la-leo-s.lo `test -f 'leo-s.c' || echo '$(srcdir)/'`leo-s.c - -libsane_lexmark_la-lexmark-s.lo: lexmark-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_lexmark_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_lexmark_la-lexmark-s.lo -MD -MP -MF $(DEPDIR)/libsane_lexmark_la-lexmark-s.Tpo -c -o libsane_lexmark_la-lexmark-s.lo `test -f 'lexmark-s.c' || echo '$(srcdir)/'`lexmark-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_lexmark_la-lexmark-s.Tpo $(DEPDIR)/libsane_lexmark_la-lexmark-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lexmark-s.c' object='libsane_lexmark_la-lexmark-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_lexmark_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_lexmark_la-lexmark-s.lo `test -f 'lexmark-s.c' || echo '$(srcdir)/'`lexmark-s.c - -libsane_ma1509_la-ma1509-s.lo: ma1509-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_ma1509_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_ma1509_la-ma1509-s.lo -MD -MP -MF $(DEPDIR)/libsane_ma1509_la-ma1509-s.Tpo -c -o libsane_ma1509_la-ma1509-s.lo `test -f 'ma1509-s.c' || echo '$(srcdir)/'`ma1509-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_ma1509_la-ma1509-s.Tpo $(DEPDIR)/libsane_ma1509_la-ma1509-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ma1509-s.c' object='libsane_ma1509_la-ma1509-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_ma1509_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_ma1509_la-ma1509-s.lo `test -f 'ma1509-s.c' || echo '$(srcdir)/'`ma1509-s.c - -libsane_magicolor_la-magicolor-s.lo: magicolor-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_magicolor_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_magicolor_la-magicolor-s.lo -MD -MP -MF $(DEPDIR)/libsane_magicolor_la-magicolor-s.Tpo -c -o libsane_magicolor_la-magicolor-s.lo `test -f 'magicolor-s.c' || echo '$(srcdir)/'`magicolor-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_magicolor_la-magicolor-s.Tpo $(DEPDIR)/libsane_magicolor_la-magicolor-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='magicolor-s.c' object='libsane_magicolor_la-magicolor-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_magicolor_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_magicolor_la-magicolor-s.lo `test -f 'magicolor-s.c' || echo '$(srcdir)/'`magicolor-s.c - -libsane_matsushita_la-matsushita-s.lo: matsushita-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_matsushita_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_matsushita_la-matsushita-s.lo -MD -MP -MF $(DEPDIR)/libsane_matsushita_la-matsushita-s.Tpo -c -o libsane_matsushita_la-matsushita-s.lo `test -f 'matsushita-s.c' || echo '$(srcdir)/'`matsushita-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_matsushita_la-matsushita-s.Tpo $(DEPDIR)/libsane_matsushita_la-matsushita-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='matsushita-s.c' object='libsane_matsushita_la-matsushita-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_matsushita_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_matsushita_la-matsushita-s.lo `test -f 'matsushita-s.c' || echo '$(srcdir)/'`matsushita-s.c - -libsane_microtek_la-microtek-s.lo: microtek-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_microtek_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_microtek_la-microtek-s.lo -MD -MP -MF $(DEPDIR)/libsane_microtek_la-microtek-s.Tpo -c -o libsane_microtek_la-microtek-s.lo `test -f 'microtek-s.c' || echo '$(srcdir)/'`microtek-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_microtek_la-microtek-s.Tpo $(DEPDIR)/libsane_microtek_la-microtek-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='microtek-s.c' object='libsane_microtek_la-microtek-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_microtek_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_microtek_la-microtek-s.lo `test -f 'microtek-s.c' || echo '$(srcdir)/'`microtek-s.c - -libsane_microtek2_la-microtek2-s.lo: microtek2-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_microtek2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_microtek2_la-microtek2-s.lo -MD -MP -MF $(DEPDIR)/libsane_microtek2_la-microtek2-s.Tpo -c -o libsane_microtek2_la-microtek2-s.lo `test -f 'microtek2-s.c' || echo '$(srcdir)/'`microtek2-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_microtek2_la-microtek2-s.Tpo $(DEPDIR)/libsane_microtek2_la-microtek2-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='microtek2-s.c' object='libsane_microtek2_la-microtek2-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_microtek2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_microtek2_la-microtek2-s.lo `test -f 'microtek2-s.c' || echo '$(srcdir)/'`microtek2-s.c - -libsane_mustek_la-mustek-s.lo: mustek-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_mustek_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_mustek_la-mustek-s.lo -MD -MP -MF $(DEPDIR)/libsane_mustek_la-mustek-s.Tpo -c -o libsane_mustek_la-mustek-s.lo `test -f 'mustek-s.c' || echo '$(srcdir)/'`mustek-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_mustek_la-mustek-s.Tpo $(DEPDIR)/libsane_mustek_la-mustek-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mustek-s.c' object='libsane_mustek_la-mustek-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_mustek_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_mustek_la-mustek-s.lo `test -f 'mustek-s.c' || echo '$(srcdir)/'`mustek-s.c - -libsane_mustek_pp_la-mustek_pp-s.lo: mustek_pp-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_mustek_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_mustek_pp_la-mustek_pp-s.lo -MD -MP -MF $(DEPDIR)/libsane_mustek_pp_la-mustek_pp-s.Tpo -c -o libsane_mustek_pp_la-mustek_pp-s.lo `test -f 'mustek_pp-s.c' || echo '$(srcdir)/'`mustek_pp-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_mustek_pp_la-mustek_pp-s.Tpo $(DEPDIR)/libsane_mustek_pp_la-mustek_pp-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mustek_pp-s.c' object='libsane_mustek_pp_la-mustek_pp-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_mustek_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_mustek_pp_la-mustek_pp-s.lo `test -f 'mustek_pp-s.c' || echo '$(srcdir)/'`mustek_pp-s.c - -libsane_mustek_usb_la-mustek_usb-s.lo: mustek_usb-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_mustek_usb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_mustek_usb_la-mustek_usb-s.lo -MD -MP -MF $(DEPDIR)/libsane_mustek_usb_la-mustek_usb-s.Tpo -c -o libsane_mustek_usb_la-mustek_usb-s.lo `test -f 'mustek_usb-s.c' || echo '$(srcdir)/'`mustek_usb-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_mustek_usb_la-mustek_usb-s.Tpo $(DEPDIR)/libsane_mustek_usb_la-mustek_usb-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mustek_usb-s.c' object='libsane_mustek_usb_la-mustek_usb-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_mustek_usb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_mustek_usb_la-mustek_usb-s.lo `test -f 'mustek_usb-s.c' || echo '$(srcdir)/'`mustek_usb-s.c - -libsane_mustek_usb2_la-mustek_usb2-s.lo: mustek_usb2-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_mustek_usb2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_mustek_usb2_la-mustek_usb2-s.lo -MD -MP -MF $(DEPDIR)/libsane_mustek_usb2_la-mustek_usb2-s.Tpo -c -o libsane_mustek_usb2_la-mustek_usb2-s.lo `test -f 'mustek_usb2-s.c' || echo '$(srcdir)/'`mustek_usb2-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_mustek_usb2_la-mustek_usb2-s.Tpo $(DEPDIR)/libsane_mustek_usb2_la-mustek_usb2-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mustek_usb2-s.c' object='libsane_mustek_usb2_la-mustek_usb2-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_mustek_usb2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_mustek_usb2_la-mustek_usb2-s.lo `test -f 'mustek_usb2-s.c' || echo '$(srcdir)/'`mustek_usb2-s.c - -libsane_nec_la-nec-s.lo: nec-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_nec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_nec_la-nec-s.lo -MD -MP -MF $(DEPDIR)/libsane_nec_la-nec-s.Tpo -c -o libsane_nec_la-nec-s.lo `test -f 'nec-s.c' || echo '$(srcdir)/'`nec-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_nec_la-nec-s.Tpo $(DEPDIR)/libsane_nec_la-nec-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nec-s.c' object='libsane_nec_la-nec-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_nec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_nec_la-nec-s.lo `test -f 'nec-s.c' || echo '$(srcdir)/'`nec-s.c - -libsane_net_la-net-s.lo: net-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_net_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_net_la-net-s.lo -MD -MP -MF $(DEPDIR)/libsane_net_la-net-s.Tpo -c -o libsane_net_la-net-s.lo `test -f 'net-s.c' || echo '$(srcdir)/'`net-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_net_la-net-s.Tpo $(DEPDIR)/libsane_net_la-net-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='net-s.c' object='libsane_net_la-net-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_net_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_net_la-net-s.lo `test -f 'net-s.c' || echo '$(srcdir)/'`net-s.c - -libsane_niash_la-niash-s.lo: niash-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_niash_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_niash_la-niash-s.lo -MD -MP -MF $(DEPDIR)/libsane_niash_la-niash-s.Tpo -c -o libsane_niash_la-niash-s.lo `test -f 'niash-s.c' || echo '$(srcdir)/'`niash-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_niash_la-niash-s.Tpo $(DEPDIR)/libsane_niash_la-niash-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='niash-s.c' object='libsane_niash_la-niash-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_niash_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_niash_la-niash-s.lo `test -f 'niash-s.c' || echo '$(srcdir)/'`niash-s.c - -libsane_p5_la-p5-s.lo: p5-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_p5_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_p5_la-p5-s.lo -MD -MP -MF $(DEPDIR)/libsane_p5_la-p5-s.Tpo -c -o libsane_p5_la-p5-s.lo `test -f 'p5-s.c' || echo '$(srcdir)/'`p5-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_p5_la-p5-s.Tpo $(DEPDIR)/libsane_p5_la-p5-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='p5-s.c' object='libsane_p5_la-p5-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_p5_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_p5_la-p5-s.lo `test -f 'p5-s.c' || echo '$(srcdir)/'`p5-s.c - -libsane_pie_la-pie-s.lo: pie-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_pie_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_pie_la-pie-s.lo -MD -MP -MF $(DEPDIR)/libsane_pie_la-pie-s.Tpo -c -o libsane_pie_la-pie-s.lo `test -f 'pie-s.c' || echo '$(srcdir)/'`pie-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_pie_la-pie-s.Tpo $(DEPDIR)/libsane_pie_la-pie-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pie-s.c' object='libsane_pie_la-pie-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_pie_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_pie_la-pie-s.lo `test -f 'pie-s.c' || echo '$(srcdir)/'`pie-s.c - -libsane_pieusb_la-pieusb-s.lo: pieusb-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_pieusb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_pieusb_la-pieusb-s.lo -MD -MP -MF $(DEPDIR)/libsane_pieusb_la-pieusb-s.Tpo -c -o libsane_pieusb_la-pieusb-s.lo `test -f 'pieusb-s.c' || echo '$(srcdir)/'`pieusb-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_pieusb_la-pieusb-s.Tpo $(DEPDIR)/libsane_pieusb_la-pieusb-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pieusb-s.c' object='libsane_pieusb_la-pieusb-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_pieusb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_pieusb_la-pieusb-s.lo `test -f 'pieusb-s.c' || echo '$(srcdir)/'`pieusb-s.c - -libsane_pint_la-pint-s.lo: pint-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_pint_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_pint_la-pint-s.lo -MD -MP -MF $(DEPDIR)/libsane_pint_la-pint-s.Tpo -c -o libsane_pint_la-pint-s.lo `test -f 'pint-s.c' || echo '$(srcdir)/'`pint-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_pint_la-pint-s.Tpo $(DEPDIR)/libsane_pint_la-pint-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pint-s.c' object='libsane_pint_la-pint-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_pint_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_pint_la-pint-s.lo `test -f 'pint-s.c' || echo '$(srcdir)/'`pint-s.c - -libsane_pixma_la-pixma-s.lo: pixma-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_pixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_pixma_la-pixma-s.lo -MD -MP -MF $(DEPDIR)/libsane_pixma_la-pixma-s.Tpo -c -o libsane_pixma_la-pixma-s.lo `test -f 'pixma-s.c' || echo '$(srcdir)/'`pixma-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_pixma_la-pixma-s.Tpo $(DEPDIR)/libsane_pixma_la-pixma-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pixma-s.c' object='libsane_pixma_la-pixma-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_pixma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_pixma_la-pixma-s.lo `test -f 'pixma-s.c' || echo '$(srcdir)/'`pixma-s.c - -libsane_plustek_la-plustek-s.lo: plustek-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_plustek_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_plustek_la-plustek-s.lo -MD -MP -MF $(DEPDIR)/libsane_plustek_la-plustek-s.Tpo -c -o libsane_plustek_la-plustek-s.lo `test -f 'plustek-s.c' || echo '$(srcdir)/'`plustek-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_plustek_la-plustek-s.Tpo $(DEPDIR)/libsane_plustek_la-plustek-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plustek-s.c' object='libsane_plustek_la-plustek-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_plustek_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_plustek_la-plustek-s.lo `test -f 'plustek-s.c' || echo '$(srcdir)/'`plustek-s.c - -libsane_plustek_pp_la-plustek_pp-s.lo: plustek_pp-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_plustek_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_plustek_pp_la-plustek_pp-s.lo -MD -MP -MF $(DEPDIR)/libsane_plustek_pp_la-plustek_pp-s.Tpo -c -o libsane_plustek_pp_la-plustek_pp-s.lo `test -f 'plustek_pp-s.c' || echo '$(srcdir)/'`plustek_pp-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_plustek_pp_la-plustek_pp-s.Tpo $(DEPDIR)/libsane_plustek_pp_la-plustek_pp-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plustek_pp-s.c' object='libsane_plustek_pp_la-plustek_pp-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_plustek_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_plustek_pp_la-plustek_pp-s.lo `test -f 'plustek_pp-s.c' || echo '$(srcdir)/'`plustek_pp-s.c - -libsane_pnm_la-pnm-s.lo: pnm-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_pnm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_pnm_la-pnm-s.lo -MD -MP -MF $(DEPDIR)/libsane_pnm_la-pnm-s.Tpo -c -o libsane_pnm_la-pnm-s.lo `test -f 'pnm-s.c' || echo '$(srcdir)/'`pnm-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_pnm_la-pnm-s.Tpo $(DEPDIR)/libsane_pnm_la-pnm-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pnm-s.c' object='libsane_pnm_la-pnm-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_pnm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_pnm_la-pnm-s.lo `test -f 'pnm-s.c' || echo '$(srcdir)/'`pnm-s.c - -libsane_qcam_la-qcam-s.lo: qcam-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_qcam_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_qcam_la-qcam-s.lo -MD -MP -MF $(DEPDIR)/libsane_qcam_la-qcam-s.Tpo -c -o libsane_qcam_la-qcam-s.lo `test -f 'qcam-s.c' || echo '$(srcdir)/'`qcam-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_qcam_la-qcam-s.Tpo $(DEPDIR)/libsane_qcam_la-qcam-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='qcam-s.c' object='libsane_qcam_la-qcam-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_qcam_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_qcam_la-qcam-s.lo `test -f 'qcam-s.c' || echo '$(srcdir)/'`qcam-s.c - -libsane_ricoh_la-ricoh-s.lo: ricoh-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_ricoh_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_ricoh_la-ricoh-s.lo -MD -MP -MF $(DEPDIR)/libsane_ricoh_la-ricoh-s.Tpo -c -o libsane_ricoh_la-ricoh-s.lo `test -f 'ricoh-s.c' || echo '$(srcdir)/'`ricoh-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_ricoh_la-ricoh-s.Tpo $(DEPDIR)/libsane_ricoh_la-ricoh-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ricoh-s.c' object='libsane_ricoh_la-ricoh-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_ricoh_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_ricoh_la-ricoh-s.lo `test -f 'ricoh-s.c' || echo '$(srcdir)/'`ricoh-s.c - -libsane_rts8891_la-rts8891-s.lo: rts8891-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_rts8891_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_rts8891_la-rts8891-s.lo -MD -MP -MF $(DEPDIR)/libsane_rts8891_la-rts8891-s.Tpo -c -o libsane_rts8891_la-rts8891-s.lo `test -f 'rts8891-s.c' || echo '$(srcdir)/'`rts8891-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_rts8891_la-rts8891-s.Tpo $(DEPDIR)/libsane_rts8891_la-rts8891-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rts8891-s.c' object='libsane_rts8891_la-rts8891-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_rts8891_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_rts8891_la-rts8891-s.lo `test -f 'rts8891-s.c' || echo '$(srcdir)/'`rts8891-s.c - -libsane_s9036_la-s9036-s.lo: s9036-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_s9036_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_s9036_la-s9036-s.lo -MD -MP -MF $(DEPDIR)/libsane_s9036_la-s9036-s.Tpo -c -o libsane_s9036_la-s9036-s.lo `test -f 's9036-s.c' || echo '$(srcdir)/'`s9036-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_s9036_la-s9036-s.Tpo $(DEPDIR)/libsane_s9036_la-s9036-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s9036-s.c' object='libsane_s9036_la-s9036-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_s9036_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_s9036_la-s9036-s.lo `test -f 's9036-s.c' || echo '$(srcdir)/'`s9036-s.c - -libsane_sceptre_la-sceptre-s.lo: sceptre-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_sceptre_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_sceptre_la-sceptre-s.lo -MD -MP -MF $(DEPDIR)/libsane_sceptre_la-sceptre-s.Tpo -c -o libsane_sceptre_la-sceptre-s.lo `test -f 'sceptre-s.c' || echo '$(srcdir)/'`sceptre-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_sceptre_la-sceptre-s.Tpo $(DEPDIR)/libsane_sceptre_la-sceptre-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sceptre-s.c' object='libsane_sceptre_la-sceptre-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_sceptre_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_sceptre_la-sceptre-s.lo `test -f 'sceptre-s.c' || echo '$(srcdir)/'`sceptre-s.c - -libsane_sharp_la-sharp-s.lo: sharp-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_sharp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_sharp_la-sharp-s.lo -MD -MP -MF $(DEPDIR)/libsane_sharp_la-sharp-s.Tpo -c -o libsane_sharp_la-sharp-s.lo `test -f 'sharp-s.c' || echo '$(srcdir)/'`sharp-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_sharp_la-sharp-s.Tpo $(DEPDIR)/libsane_sharp_la-sharp-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sharp-s.c' object='libsane_sharp_la-sharp-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_sharp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_sharp_la-sharp-s.lo `test -f 'sharp-s.c' || echo '$(srcdir)/'`sharp-s.c - -libsane_sm3600_la-sm3600-s.lo: sm3600-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_sm3600_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_sm3600_la-sm3600-s.lo -MD -MP -MF $(DEPDIR)/libsane_sm3600_la-sm3600-s.Tpo -c -o libsane_sm3600_la-sm3600-s.lo `test -f 'sm3600-s.c' || echo '$(srcdir)/'`sm3600-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_sm3600_la-sm3600-s.Tpo $(DEPDIR)/libsane_sm3600_la-sm3600-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sm3600-s.c' object='libsane_sm3600_la-sm3600-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_sm3600_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_sm3600_la-sm3600-s.lo `test -f 'sm3600-s.c' || echo '$(srcdir)/'`sm3600-s.c - -libsane_sm3840_la-sm3840-s.lo: sm3840-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_sm3840_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_sm3840_la-sm3840-s.lo -MD -MP -MF $(DEPDIR)/libsane_sm3840_la-sm3840-s.Tpo -c -o libsane_sm3840_la-sm3840-s.lo `test -f 'sm3840-s.c' || echo '$(srcdir)/'`sm3840-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_sm3840_la-sm3840-s.Tpo $(DEPDIR)/libsane_sm3840_la-sm3840-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sm3840-s.c' object='libsane_sm3840_la-sm3840-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_sm3840_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_sm3840_la-sm3840-s.lo `test -f 'sm3840-s.c' || echo '$(srcdir)/'`sm3840-s.c - -libsane_snapscan_la-snapscan-s.lo: snapscan-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_snapscan_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_snapscan_la-snapscan-s.lo -MD -MP -MF $(DEPDIR)/libsane_snapscan_la-snapscan-s.Tpo -c -o libsane_snapscan_la-snapscan-s.lo `test -f 'snapscan-s.c' || echo '$(srcdir)/'`snapscan-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_snapscan_la-snapscan-s.Tpo $(DEPDIR)/libsane_snapscan_la-snapscan-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='snapscan-s.c' object='libsane_snapscan_la-snapscan-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_snapscan_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_snapscan_la-snapscan-s.lo `test -f 'snapscan-s.c' || echo '$(srcdir)/'`snapscan-s.c - -libsane_sp15c_la-sp15c-s.lo: sp15c-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_sp15c_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_sp15c_la-sp15c-s.lo -MD -MP -MF $(DEPDIR)/libsane_sp15c_la-sp15c-s.Tpo -c -o libsane_sp15c_la-sp15c-s.lo `test -f 'sp15c-s.c' || echo '$(srcdir)/'`sp15c-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_sp15c_la-sp15c-s.Tpo $(DEPDIR)/libsane_sp15c_la-sp15c-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sp15c-s.c' object='libsane_sp15c_la-sp15c-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_sp15c_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_sp15c_la-sp15c-s.lo `test -f 'sp15c-s.c' || echo '$(srcdir)/'`sp15c-s.c - -libsane_st400_la-st400-s.lo: st400-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_st400_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_st400_la-st400-s.lo -MD -MP -MF $(DEPDIR)/libsane_st400_la-st400-s.Tpo -c -o libsane_st400_la-st400-s.lo `test -f 'st400-s.c' || echo '$(srcdir)/'`st400-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_st400_la-st400-s.Tpo $(DEPDIR)/libsane_st400_la-st400-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='st400-s.c' object='libsane_st400_la-st400-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_st400_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_st400_la-st400-s.lo `test -f 'st400-s.c' || echo '$(srcdir)/'`st400-s.c - -libsane_stv680_la-stv680-s.lo: stv680-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_stv680_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_stv680_la-stv680-s.lo -MD -MP -MF $(DEPDIR)/libsane_stv680_la-stv680-s.Tpo -c -o libsane_stv680_la-stv680-s.lo `test -f 'stv680-s.c' || echo '$(srcdir)/'`stv680-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_stv680_la-stv680-s.Tpo $(DEPDIR)/libsane_stv680_la-stv680-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stv680-s.c' object='libsane_stv680_la-stv680-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_stv680_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_stv680_la-stv680-s.lo `test -f 'stv680-s.c' || echo '$(srcdir)/'`stv680-s.c - -libsane_tamarack_la-tamarack-s.lo: tamarack-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_tamarack_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_tamarack_la-tamarack-s.lo -MD -MP -MF $(DEPDIR)/libsane_tamarack_la-tamarack-s.Tpo -c -o libsane_tamarack_la-tamarack-s.lo `test -f 'tamarack-s.c' || echo '$(srcdir)/'`tamarack-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_tamarack_la-tamarack-s.Tpo $(DEPDIR)/libsane_tamarack_la-tamarack-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tamarack-s.c' object='libsane_tamarack_la-tamarack-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_tamarack_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_tamarack_la-tamarack-s.lo `test -f 'tamarack-s.c' || echo '$(srcdir)/'`tamarack-s.c - -libsane_teco1_la-teco1-s.lo: teco1-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_teco1_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_teco1_la-teco1-s.lo -MD -MP -MF $(DEPDIR)/libsane_teco1_la-teco1-s.Tpo -c -o libsane_teco1_la-teco1-s.lo `test -f 'teco1-s.c' || echo '$(srcdir)/'`teco1-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_teco1_la-teco1-s.Tpo $(DEPDIR)/libsane_teco1_la-teco1-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='teco1-s.c' object='libsane_teco1_la-teco1-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_teco1_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_teco1_la-teco1-s.lo `test -f 'teco1-s.c' || echo '$(srcdir)/'`teco1-s.c - -libsane_teco2_la-teco2-s.lo: teco2-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_teco2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_teco2_la-teco2-s.lo -MD -MP -MF $(DEPDIR)/libsane_teco2_la-teco2-s.Tpo -c -o libsane_teco2_la-teco2-s.lo `test -f 'teco2-s.c' || echo '$(srcdir)/'`teco2-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_teco2_la-teco2-s.Tpo $(DEPDIR)/libsane_teco2_la-teco2-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='teco2-s.c' object='libsane_teco2_la-teco2-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_teco2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_teco2_la-teco2-s.lo `test -f 'teco2-s.c' || echo '$(srcdir)/'`teco2-s.c - -libsane_teco3_la-teco3-s.lo: teco3-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_teco3_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_teco3_la-teco3-s.lo -MD -MP -MF $(DEPDIR)/libsane_teco3_la-teco3-s.Tpo -c -o libsane_teco3_la-teco3-s.lo `test -f 'teco3-s.c' || echo '$(srcdir)/'`teco3-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_teco3_la-teco3-s.Tpo $(DEPDIR)/libsane_teco3_la-teco3-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='teco3-s.c' object='libsane_teco3_la-teco3-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_teco3_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_teco3_la-teco3-s.lo `test -f 'teco3-s.c' || echo '$(srcdir)/'`teco3-s.c - -libsane_test_la-test-s.lo: test-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_test_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_test_la-test-s.lo -MD -MP -MF $(DEPDIR)/libsane_test_la-test-s.Tpo -c -o libsane_test_la-test-s.lo `test -f 'test-s.c' || echo '$(srcdir)/'`test-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_test_la-test-s.Tpo $(DEPDIR)/libsane_test_la-test-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-s.c' object='libsane_test_la-test-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_test_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_test_la-test-s.lo `test -f 'test-s.c' || echo '$(srcdir)/'`test-s.c - -libsane_u12_la-u12-s.lo: u12-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_u12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_u12_la-u12-s.lo -MD -MP -MF $(DEPDIR)/libsane_u12_la-u12-s.Tpo -c -o libsane_u12_la-u12-s.lo `test -f 'u12-s.c' || echo '$(srcdir)/'`u12-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_u12_la-u12-s.Tpo $(DEPDIR)/libsane_u12_la-u12-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='u12-s.c' object='libsane_u12_la-u12-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_u12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_u12_la-u12-s.lo `test -f 'u12-s.c' || echo '$(srcdir)/'`u12-s.c - -libsane_umax_la-umax-s.lo: umax-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_umax_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_umax_la-umax-s.lo -MD -MP -MF $(DEPDIR)/libsane_umax_la-umax-s.Tpo -c -o libsane_umax_la-umax-s.lo `test -f 'umax-s.c' || echo '$(srcdir)/'`umax-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_umax_la-umax-s.Tpo $(DEPDIR)/libsane_umax_la-umax-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='umax-s.c' object='libsane_umax_la-umax-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_umax_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_umax_la-umax-s.lo `test -f 'umax-s.c' || echo '$(srcdir)/'`umax-s.c - -libsane_umax1220u_la-umax1220u-s.lo: umax1220u-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_umax1220u_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_umax1220u_la-umax1220u-s.lo -MD -MP -MF $(DEPDIR)/libsane_umax1220u_la-umax1220u-s.Tpo -c -o libsane_umax1220u_la-umax1220u-s.lo `test -f 'umax1220u-s.c' || echo '$(srcdir)/'`umax1220u-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_umax1220u_la-umax1220u-s.Tpo $(DEPDIR)/libsane_umax1220u_la-umax1220u-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='umax1220u-s.c' object='libsane_umax1220u_la-umax1220u-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_umax1220u_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_umax1220u_la-umax1220u-s.lo `test -f 'umax1220u-s.c' || echo '$(srcdir)/'`umax1220u-s.c - -libsane_umax_pp_la-umax_pp-s.lo: umax_pp-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_umax_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_umax_pp_la-umax_pp-s.lo -MD -MP -MF $(DEPDIR)/libsane_umax_pp_la-umax_pp-s.Tpo -c -o libsane_umax_pp_la-umax_pp-s.lo `test -f 'umax_pp-s.c' || echo '$(srcdir)/'`umax_pp-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_umax_pp_la-umax_pp-s.Tpo $(DEPDIR)/libsane_umax_pp_la-umax_pp-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='umax_pp-s.c' object='libsane_umax_pp_la-umax_pp-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_umax_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_umax_pp_la-umax_pp-s.lo `test -f 'umax_pp-s.c' || echo '$(srcdir)/'`umax_pp-s.c - -libsane_v4l_la-v4l-s.lo: v4l-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_v4l_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_v4l_la-v4l-s.lo -MD -MP -MF $(DEPDIR)/libsane_v4l_la-v4l-s.Tpo -c -o libsane_v4l_la-v4l-s.lo `test -f 'v4l-s.c' || echo '$(srcdir)/'`v4l-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_v4l_la-v4l-s.Tpo $(DEPDIR)/libsane_v4l_la-v4l-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='v4l-s.c' object='libsane_v4l_la-v4l-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_v4l_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_v4l_la-v4l-s.lo `test -f 'v4l-s.c' || echo '$(srcdir)/'`v4l-s.c - -libsane_xerox_mfp_la-xerox_mfp-s.lo: xerox_mfp-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_xerox_mfp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_xerox_mfp_la-xerox_mfp-s.lo -MD -MP -MF $(DEPDIR)/libsane_xerox_mfp_la-xerox_mfp-s.Tpo -c -o libsane_xerox_mfp_la-xerox_mfp-s.lo `test -f 'xerox_mfp-s.c' || echo '$(srcdir)/'`xerox_mfp-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_xerox_mfp_la-xerox_mfp-s.Tpo $(DEPDIR)/libsane_xerox_mfp_la-xerox_mfp-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xerox_mfp-s.c' object='libsane_xerox_mfp_la-xerox_mfp-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_xerox_mfp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_xerox_mfp_la-xerox_mfp-s.lo `test -f 'xerox_mfp-s.c' || echo '$(srcdir)/'`xerox_mfp-s.c - -libsane_la-dll-s.lo: dll-s.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_la-dll-s.lo -MD -MP -MF $(DEPDIR)/libsane_la-dll-s.Tpo -c -o libsane_la-dll-s.lo `test -f 'dll-s.c' || echo '$(srcdir)/'`dll-s.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_la-dll-s.Tpo $(DEPDIR)/libsane_la-dll-s.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dll-s.c' object='libsane_la-dll-s.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_la-dll-s.lo `test -f 'dll-s.c' || echo '$(srcdir)/'`dll-s.c - -libsceptre_la-sceptre.lo: sceptre.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsceptre_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsceptre_la-sceptre.lo -MD -MP -MF $(DEPDIR)/libsceptre_la-sceptre.Tpo -c -o libsceptre_la-sceptre.lo `test -f 'sceptre.c' || echo '$(srcdir)/'`sceptre.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsceptre_la-sceptre.Tpo $(DEPDIR)/libsceptre_la-sceptre.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sceptre.c' object='libsceptre_la-sceptre.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsceptre_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsceptre_la-sceptre.lo `test -f 'sceptre.c' || echo '$(srcdir)/'`sceptre.c - -libsharp_la-sharp.lo: sharp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsharp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsharp_la-sharp.lo -MD -MP -MF $(DEPDIR)/libsharp_la-sharp.Tpo -c -o libsharp_la-sharp.lo `test -f 'sharp.c' || echo '$(srcdir)/'`sharp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsharp_la-sharp.Tpo $(DEPDIR)/libsharp_la-sharp.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sharp.c' object='libsharp_la-sharp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsharp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsharp_la-sharp.lo `test -f 'sharp.c' || echo '$(srcdir)/'`sharp.c - -libsm3600_la-sm3600.lo: sm3600.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsm3600_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsm3600_la-sm3600.lo -MD -MP -MF $(DEPDIR)/libsm3600_la-sm3600.Tpo -c -o libsm3600_la-sm3600.lo `test -f 'sm3600.c' || echo '$(srcdir)/'`sm3600.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsm3600_la-sm3600.Tpo $(DEPDIR)/libsm3600_la-sm3600.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sm3600.c' object='libsm3600_la-sm3600.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsm3600_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsm3600_la-sm3600.lo `test -f 'sm3600.c' || echo '$(srcdir)/'`sm3600.c - -libsm3840_la-sm3840.lo: sm3840.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsm3840_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsm3840_la-sm3840.lo -MD -MP -MF $(DEPDIR)/libsm3840_la-sm3840.Tpo -c -o libsm3840_la-sm3840.lo `test -f 'sm3840.c' || echo '$(srcdir)/'`sm3840.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsm3840_la-sm3840.Tpo $(DEPDIR)/libsm3840_la-sm3840.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sm3840.c' object='libsm3840_la-sm3840.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsm3840_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsm3840_la-sm3840.lo `test -f 'sm3840.c' || echo '$(srcdir)/'`sm3840.c - -libsnapscan_la-snapscan.lo: snapscan.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsnapscan_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsnapscan_la-snapscan.lo -MD -MP -MF $(DEPDIR)/libsnapscan_la-snapscan.Tpo -c -o libsnapscan_la-snapscan.lo `test -f 'snapscan.c' || echo '$(srcdir)/'`snapscan.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsnapscan_la-snapscan.Tpo $(DEPDIR)/libsnapscan_la-snapscan.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='snapscan.c' object='libsnapscan_la-snapscan.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsnapscan_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsnapscan_la-snapscan.lo `test -f 'snapscan.c' || echo '$(srcdir)/'`snapscan.c - -libsp15c_la-sp15c.lo: sp15c.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsp15c_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsp15c_la-sp15c.lo -MD -MP -MF $(DEPDIR)/libsp15c_la-sp15c.Tpo -c -o libsp15c_la-sp15c.lo `test -f 'sp15c.c' || echo '$(srcdir)/'`sp15c.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsp15c_la-sp15c.Tpo $(DEPDIR)/libsp15c_la-sp15c.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sp15c.c' object='libsp15c_la-sp15c.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsp15c_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsp15c_la-sp15c.lo `test -f 'sp15c.c' || echo '$(srcdir)/'`sp15c.c - -libst400_la-st400.lo: st400.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libst400_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libst400_la-st400.lo -MD -MP -MF $(DEPDIR)/libst400_la-st400.Tpo -c -o libst400_la-st400.lo `test -f 'st400.c' || echo '$(srcdir)/'`st400.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libst400_la-st400.Tpo $(DEPDIR)/libst400_la-st400.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='st400.c' object='libst400_la-st400.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libst400_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libst400_la-st400.lo `test -f 'st400.c' || echo '$(srcdir)/'`st400.c - -libstv680_la-stv680.lo: stv680.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstv680_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libstv680_la-stv680.lo -MD -MP -MF $(DEPDIR)/libstv680_la-stv680.Tpo -c -o libstv680_la-stv680.lo `test -f 'stv680.c' || echo '$(srcdir)/'`stv680.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstv680_la-stv680.Tpo $(DEPDIR)/libstv680_la-stv680.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stv680.c' object='libstv680_la-stv680.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstv680_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libstv680_la-stv680.lo `test -f 'stv680.c' || echo '$(srcdir)/'`stv680.c - -libtamarack_la-tamarack.lo: tamarack.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtamarack_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtamarack_la-tamarack.lo -MD -MP -MF $(DEPDIR)/libtamarack_la-tamarack.Tpo -c -o libtamarack_la-tamarack.lo `test -f 'tamarack.c' || echo '$(srcdir)/'`tamarack.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtamarack_la-tamarack.Tpo $(DEPDIR)/libtamarack_la-tamarack.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tamarack.c' object='libtamarack_la-tamarack.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtamarack_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtamarack_la-tamarack.lo `test -f 'tamarack.c' || echo '$(srcdir)/'`tamarack.c - -libteco1_la-teco1.lo: teco1.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libteco1_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libteco1_la-teco1.lo -MD -MP -MF $(DEPDIR)/libteco1_la-teco1.Tpo -c -o libteco1_la-teco1.lo `test -f 'teco1.c' || echo '$(srcdir)/'`teco1.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libteco1_la-teco1.Tpo $(DEPDIR)/libteco1_la-teco1.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='teco1.c' object='libteco1_la-teco1.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libteco1_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libteco1_la-teco1.lo `test -f 'teco1.c' || echo '$(srcdir)/'`teco1.c - -libteco2_la-teco2.lo: teco2.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libteco2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libteco2_la-teco2.lo -MD -MP -MF $(DEPDIR)/libteco2_la-teco2.Tpo -c -o libteco2_la-teco2.lo `test -f 'teco2.c' || echo '$(srcdir)/'`teco2.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libteco2_la-teco2.Tpo $(DEPDIR)/libteco2_la-teco2.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='teco2.c' object='libteco2_la-teco2.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libteco2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libteco2_la-teco2.lo `test -f 'teco2.c' || echo '$(srcdir)/'`teco2.c - -libteco3_la-teco3.lo: teco3.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libteco3_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libteco3_la-teco3.lo -MD -MP -MF $(DEPDIR)/libteco3_la-teco3.Tpo -c -o libteco3_la-teco3.lo `test -f 'teco3.c' || echo '$(srcdir)/'`teco3.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libteco3_la-teco3.Tpo $(DEPDIR)/libteco3_la-teco3.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='teco3.c' object='libteco3_la-teco3.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libteco3_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libteco3_la-teco3.lo `test -f 'teco3.c' || echo '$(srcdir)/'`teco3.c - -libtest_la-test.lo: test.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtest_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtest_la-test.lo -MD -MP -MF $(DEPDIR)/libtest_la-test.Tpo -c -o libtest_la-test.lo `test -f 'test.c' || echo '$(srcdir)/'`test.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtest_la-test.Tpo $(DEPDIR)/libtest_la-test.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test.c' object='libtest_la-test.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtest_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtest_la-test.lo `test -f 'test.c' || echo '$(srcdir)/'`test.c - -libu12_la-u12.lo: u12.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libu12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libu12_la-u12.lo -MD -MP -MF $(DEPDIR)/libu12_la-u12.Tpo -c -o libu12_la-u12.lo `test -f 'u12.c' || echo '$(srcdir)/'`u12.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libu12_la-u12.Tpo $(DEPDIR)/libu12_la-u12.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='u12.c' object='libu12_la-u12.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libu12_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libu12_la-u12.lo `test -f 'u12.c' || echo '$(srcdir)/'`u12.c - -libumax_la-umax.lo: umax.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libumax_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libumax_la-umax.lo -MD -MP -MF $(DEPDIR)/libumax_la-umax.Tpo -c -o libumax_la-umax.lo `test -f 'umax.c' || echo '$(srcdir)/'`umax.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libumax_la-umax.Tpo $(DEPDIR)/libumax_la-umax.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='umax.c' object='libumax_la-umax.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libumax_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libumax_la-umax.lo `test -f 'umax.c' || echo '$(srcdir)/'`umax.c - -libumax1220u_la-umax1220u.lo: umax1220u.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libumax1220u_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libumax1220u_la-umax1220u.lo -MD -MP -MF $(DEPDIR)/libumax1220u_la-umax1220u.Tpo -c -o libumax1220u_la-umax1220u.lo `test -f 'umax1220u.c' || echo '$(srcdir)/'`umax1220u.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libumax1220u_la-umax1220u.Tpo $(DEPDIR)/libumax1220u_la-umax1220u.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='umax1220u.c' object='libumax1220u_la-umax1220u.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libumax1220u_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libumax1220u_la-umax1220u.lo `test -f 'umax1220u.c' || echo '$(srcdir)/'`umax1220u.c - -libumax_pp_la-umax_pp.lo: umax_pp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libumax_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libumax_pp_la-umax_pp.lo -MD -MP -MF $(DEPDIR)/libumax_pp_la-umax_pp.Tpo -c -o libumax_pp_la-umax_pp.lo `test -f 'umax_pp.c' || echo '$(srcdir)/'`umax_pp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libumax_pp_la-umax_pp.Tpo $(DEPDIR)/libumax_pp_la-umax_pp.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='umax_pp.c' object='libumax_pp_la-umax_pp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libumax_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libumax_pp_la-umax_pp.lo `test -f 'umax_pp.c' || echo '$(srcdir)/'`umax_pp.c - -libumax_pp_la-umax_pp_low.lo: umax_pp_low.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libumax_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libumax_pp_la-umax_pp_low.lo -MD -MP -MF $(DEPDIR)/libumax_pp_la-umax_pp_low.Tpo -c -o libumax_pp_la-umax_pp_low.lo `test -f 'umax_pp_low.c' || echo '$(srcdir)/'`umax_pp_low.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libumax_pp_la-umax_pp_low.Tpo $(DEPDIR)/libumax_pp_la-umax_pp_low.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='umax_pp_low.c' object='libumax_pp_la-umax_pp_low.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libumax_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libumax_pp_la-umax_pp_low.lo `test -f 'umax_pp_low.c' || echo '$(srcdir)/'`umax_pp_low.c - -libumax_pp_la-umax_pp_mid.lo: umax_pp_mid.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libumax_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libumax_pp_la-umax_pp_mid.lo -MD -MP -MF $(DEPDIR)/libumax_pp_la-umax_pp_mid.Tpo -c -o libumax_pp_la-umax_pp_mid.lo `test -f 'umax_pp_mid.c' || echo '$(srcdir)/'`umax_pp_mid.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libumax_pp_la-umax_pp_mid.Tpo $(DEPDIR)/libumax_pp_la-umax_pp_mid.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='umax_pp_mid.c' object='libumax_pp_la-umax_pp_mid.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libumax_pp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libumax_pp_la-umax_pp_mid.lo `test -f 'umax_pp_mid.c' || echo '$(srcdir)/'`umax_pp_mid.c - -libv4l_la-v4l.lo: v4l.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libv4l_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libv4l_la-v4l.lo -MD -MP -MF $(DEPDIR)/libv4l_la-v4l.Tpo -c -o libv4l_la-v4l.lo `test -f 'v4l.c' || echo '$(srcdir)/'`v4l.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libv4l_la-v4l.Tpo $(DEPDIR)/libv4l_la-v4l.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='v4l.c' object='libv4l_la-v4l.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libv4l_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libv4l_la-v4l.lo `test -f 'v4l.c' || echo '$(srcdir)/'`v4l.c - -libxerox_mfp_la-xerox_mfp.lo: xerox_mfp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxerox_mfp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libxerox_mfp_la-xerox_mfp.lo -MD -MP -MF $(DEPDIR)/libxerox_mfp_la-xerox_mfp.Tpo -c -o libxerox_mfp_la-xerox_mfp.lo `test -f 'xerox_mfp.c' || echo '$(srcdir)/'`xerox_mfp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libxerox_mfp_la-xerox_mfp.Tpo $(DEPDIR)/libxerox_mfp_la-xerox_mfp.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xerox_mfp.c' object='libxerox_mfp_la-xerox_mfp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxerox_mfp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxerox_mfp_la-xerox_mfp.lo `test -f 'xerox_mfp.c' || echo '$(srcdir)/'`xerox_mfp.c - -libxerox_mfp_la-xerox_mfp-usb.lo: xerox_mfp-usb.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxerox_mfp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libxerox_mfp_la-xerox_mfp-usb.lo -MD -MP -MF $(DEPDIR)/libxerox_mfp_la-xerox_mfp-usb.Tpo -c -o libxerox_mfp_la-xerox_mfp-usb.lo `test -f 'xerox_mfp-usb.c' || echo '$(srcdir)/'`xerox_mfp-usb.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libxerox_mfp_la-xerox_mfp-usb.Tpo $(DEPDIR)/libxerox_mfp_la-xerox_mfp-usb.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xerox_mfp-usb.c' object='libxerox_mfp_la-xerox_mfp-usb.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxerox_mfp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxerox_mfp_la-xerox_mfp-usb.lo `test -f 'xerox_mfp-usb.c' || echo '$(srcdir)/'`xerox_mfp-usb.c - -libxerox_mfp_la-xerox_mfp-tcp.lo: xerox_mfp-tcp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxerox_mfp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libxerox_mfp_la-xerox_mfp-tcp.lo -MD -MP -MF $(DEPDIR)/libxerox_mfp_la-xerox_mfp-tcp.Tpo -c -o libxerox_mfp_la-xerox_mfp-tcp.lo `test -f 'xerox_mfp-tcp.c' || echo '$(srcdir)/'`xerox_mfp-tcp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libxerox_mfp_la-xerox_mfp-tcp.Tpo $(DEPDIR)/libxerox_mfp_la-xerox_mfp-tcp.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xerox_mfp-tcp.c' object='libxerox_mfp_la-xerox_mfp-tcp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxerox_mfp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxerox_mfp_la-xerox_mfp-tcp.lo `test -f 'xerox_mfp-tcp.c' || echo '$(srcdir)/'`xerox_mfp-tcp.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(sanelibdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \ - clean-sanelibLTLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-sanelibLTLIBRARIES - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-libLTLIBRARIES - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-libLTLIBRARIES uninstall-sanelibLTLIBRARIES - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) uninstall-hook -.MAKE: all check install install-am install-data-am install-strip \ - uninstall-am - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libLTLIBRARIES clean-libtool clean-local \ - clean-sanelibLTLIBRARIES cscopelist-am ctags ctags-am \ - distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-data-hook install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-libLTLIBRARIES \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-sanelibLTLIBRARIES install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am uninstall-hook \ - uninstall-libLTLIBRARIES uninstall-sanelibLTLIBRARIES - - -all: becfg - -# FIXME: % is a GNU extension... This is only thing left requiring -# use to use GNU make. -%-s.c: $(srcdir)/stubs.c - $(AM_V_at)rm -f $@ - $(AM_V_at)$(LN_S) $(srcdir)/stubs.c $@ - -dll-preload.h: - $(AM_V_at)rm -f $@ - $(AM_V_at)list="$(PRELOADABLE_BACKENDS)"; for be in $$list; do \ - echo "PRELOAD_DECL($$be)" >> $@; \ - done; \ - echo "static struct backend preloaded_backends[] = {" >> $@; \ - sep=""; \ - list="$(PRELOADABLE_BACKENDS)"; \ - if test -z "$${list}"; then \ - echo { 0, 0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }} >> $@; \ - else \ - for be in $$list; do \ - echo "$${sep}PRELOAD_DEFN($$be)" >> $@; \ - sep=","; \ - done; \ - fi; \ - echo "};" >> $@ -becfg: $(BACKEND_CONFS) -.conf.in.conf: - @echo Generating $@ from $^ - @sed -e 's|@DATADIR@|$(datadir)|g' \ - -e 's|@CONFIGDIR@|$(configdir)|g' \ - -e 's|@DOCDIR@|$(docdir)|g' \ - -e 's|@LIBDIR@|$(libdir)/sane|g' \ - -e 's|@BINDIR@|$(bindir)|g' \ - -e 's|@SBINDIR@|$(sbindir)|g' \ - -e 's|@PACKAGEVERSION@|$(PACKAGE_VERSION)|g' $? > $@ - -install-data-hook: install-becfg install-firmware-path $(INSTALL_LOCKPATH) - -# Custom install target to install config files. Do not overwrite -# files that have been previously installed so that user modifications -# are not lost. -install-becfg: - @# Libtool has a bug where it will sometimes symlink the last - @# installed library in $(sanelibdir) to $(sanelibdir)/libsane.*. - @# Having two libsane's can cause issues so get rid of it. - -rm -f $(DESTDIR)$(sanelibdir)/libsane.* - test -z "$(configdir)" || $(MKDIR_P) "$(DESTDIR)$(configdir)" - test -z "$(configdir)/dll.d" || $(MKDIR_P) "$(DESTDIR)$(configdir)/dll.d" - @list="$(BACKEND_CONFS_ENABLED) saned.conf dll.conf"; for cfg in $$list; do \ - if test ! -r $${cfg}; then continue; fi; \ - if test -f $(DESTDIR)$(configdir)/$${cfg}; then \ - echo NOT overwriting $${cfg} in $(configdir)...; \ - else \ - echo installing $${cfg} in $(configdir)/$${cfg}...; \ - $(INSTALL_DATA) $${cfg} $(DESTDIR)$(configdir)/$${cfg} \ - || exit 1; \ - fi; \ - done - -install-firmware-path: - for dir in $(FIRMWARE_DIRS) ; do \ - $(mkinstalldirs) $(DESTDIR)$(datadir)/sane/$${dir} ; \ - done - -install-lockpath: - $(mkinstalldirs) -m 775 $(DESTDIR)$(locksanedir) - -uninstall-hook: - rm -rf $(DESTDIR)$(libdir)/sane $(DESTDIR)$(configdir) $(DESTDIR)$(locksanedir) - rm -f $(DESTDIR)$(libdir)/libsane.* - -for dir in $(FIRMWARE_DIRS) ; do \ - rmdir $(DESTDIR)$(datadir)/sane/$${dir} ; \ - done -clean-local: - find . -type l -name \*-s.c | xargs rm -f - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/backend/abaton.c b/backend/abaton.c index 4008c62..3e487aa 100644 --- a/backend/abaton.c +++ b/backend/abaton.c @@ -322,7 +322,7 @@ set_window (Abaton_Scanner * s) uint8_t cmd[10 + 40]; uint8_t *window = cmd + 10 + 8; int invert; - + memset (cmd, 0, sizeof (cmd)); cmd[0] = SET_WINDOW; cmd[8] = 40; @@ -379,11 +379,11 @@ set_window (Abaton_Scanner * s) s->val[OPT_HALFTONE_PATTERN].s); return SANE_STATUS_INVAL; } - + /* We have to invert these ones for some reason, so why not let the scanner do it for us... */ STORE8 (window + 21, invert ? 0x80 : 0); - + STORE16 (window + 22, (s->val[OPT_MIRROR].w != 0)); return sanei_scsi_cmd (s->fd, cmd, sizeof (cmd), 0, 0); @@ -511,7 +511,7 @@ calc_parameters (Abaton_Scanner * s) SANE_Int dpix = s->val[OPT_X_RESOLUTION].w; SANE_Int dpiy = s->val[OPT_Y_RESOLUTION].w; double ulx, uly, width, height; - + DBG (FLOW_CONTROL, "Entering calc_parameters\n"); if (!strcmp (val, SANE_VALUE_SCAN_MODE_LINEART) || !strcmp (val, SANE_VALUE_SCAN_MODE_HALFTONE)) @@ -549,7 +549,7 @@ calc_parameters (Abaton_Scanner * s) s->ULy = uly * dpiy; s->Width = width * dpix; s->Height = height * dpiy; - + DBG (VARIABLE_CONTROL, "(pixels) ulx: %d, uly: %d, width: %d, height: %d\n", s->ULx, s->ULy, s->Width, s->Height); @@ -653,7 +653,7 @@ init_options (Abaton_Scanner * s) s->opt[OPT_NUM_OPTS].cap = SANE_CAP_SOFT_DETECT; s->val[OPT_NUM_OPTS].w = NUM_OPTIONS; - + /* "Mode" group: */ s->opt[OPT_MODE_GROUP].title = "Scan Mode"; s->opt[OPT_MODE_GROUP].desc = ""; @@ -662,7 +662,7 @@ init_options (Abaton_Scanner * s) s->opt[OPT_MODE_GROUP].constraint_type = SANE_CONSTRAINT_NONE; mode_list[0]=SANE_VALUE_SCAN_MODE_LINEART; - + switch (s->hw->ScannerModel) { case ABATON_300GS: @@ -676,7 +676,7 @@ init_options (Abaton_Scanner * s) mode_list[1]=NULL; break; } - + /* scan mode */ s->opt[OPT_MODE].name = SANE_NAME_SCAN_MODE; s->opt[OPT_MODE].title = SANE_TITLE_SCAN_MODE; @@ -724,7 +724,7 @@ init_options (Abaton_Scanner * s) s->opt[OPT_PREVIEW].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT; s->opt[OPT_PREVIEW].type = SANE_TYPE_BOOL; s->val[OPT_PREVIEW].w = SANE_FALSE; - + /* halftone pattern */ s->opt[OPT_HALFTONE_PATTERN].name = SANE_NAME_HALFTONE_PATTERN; s->opt[OPT_HALFTONE_PATTERN].title = SANE_TITLE_HALFTONE_PATTERN; @@ -832,7 +832,7 @@ init_options (Abaton_Scanner * s) s->opt[OPT_NEGATIVE].unit = SANE_UNIT_NONE; s->opt[OPT_NEGATIVE].constraint_type = SANE_CONSTRAINT_NONE; s->val[OPT_NEGATIVE].w = SANE_FALSE; - + /* mirror-image */ s->opt[OPT_MIRROR].name = "mirror"; s->opt[OPT_MIRROR].title = "Mirror Image"; @@ -974,7 +974,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) /* set up some universal parameters */ s->params.last_frame = SANE_TRUE; s->params.format = SANE_FRAME_GRAY; - + /* insert newly opened handle into list of open handles: */ s->next = first_handle; first_handle = s; @@ -1017,7 +1017,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if ((unsigned) option >= NUM_OPTIONS) return NULL; - + return s->opt + option; } @@ -1072,7 +1072,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_HALFTONE_PATTERN: status = sanei_constrain_value (s->opt + option, s->val[option].s, info); - strcpy (val, s->val[option].s); + strcpy (val, s->val[option].s); return SANE_STATUS_GOOD; } } @@ -1103,7 +1103,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, if (info) *info |= SANE_INFO_RELOAD_PARAMS; return SANE_STATUS_GOOD; - + case OPT_RESOLUTION_BIND: s->val[option].w = *(SANE_Word *) val; if (*(SANE_Word *) val) { @@ -1114,7 +1114,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, SANE_INFO_RELOAD_OPTIONS; } return SANE_STATUS_GOOD; - + case OPT_X_RESOLUTION: if (s->val[OPT_PREVIEW].w || s->val[OPT_RESOLUTION_BIND].w) { s->val[OPT_Y_RESOLUTION].w = *(SANE_Word *)val; @@ -1155,7 +1155,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, calc_parameters (s); if (info) *info |= SANE_INFO_RELOAD_PARAMS - | SANE_INFO_INEXACT; + | SANE_INFO_INEXACT; return SANE_STATUS_GOOD; /* no side-effects whatsoever */ @@ -1176,7 +1176,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, free (s->val[option].s); s->val[option].s = strdup (val); return SANE_STATUS_GOOD; - + case OPT_MODE: status = mode_update (s, val); if (status != SANE_STATUS_GOOD) @@ -1295,7 +1295,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, /* this is a sub-optimal way of doing this, I'm sure */ if (!s->scanning) return SANE_STATUS_EOF; - + if (!strcmp (s->val[OPT_MODE].s, "Gray16")) Pseudo8bit = SANE_TRUE; @@ -1352,13 +1352,13 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, { rread = data_av; } - + DBG (IO_MESSAGE, "sane_read: (action) Actual read request for %u bytes.\n", rread); size = rread; - + STORE24 (read + 6, rread); status = sanei_scsi_cmd (s->fd, read, sizeof (read), @@ -1487,7 +1487,7 @@ sane_get_select_fd (SANE_Handle handle, SANE_Int * fd) { handle = handle; /* silence gcc */ fd = fd; /* silence gcc */ - + DBG (FLOW_CONTROL, "sane_get_select_fd: Don't call me please. " "Unimplemented function\n"); return SANE_STATUS_UNSUPPORTED; diff --git a/backend/abaton.h b/backend/abaton.h index 1f46ded..1ecd867 100644 --- a/backend/abaton.h +++ b/backend/abaton.h @@ -54,7 +54,7 @@ enum Abaton_Modes ABATON_MODE_HALFTONE, ABATON_MODE_GRAY }; - + enum Abaton_Option { OPT_NUM_OPTS = 0, @@ -66,7 +66,7 @@ enum Abaton_Option OPT_RESOLUTION_BIND, OPT_PREVIEW, OPT_HALFTONE_PATTERN, - + OPT_GEOMETRY_GROUP, OPT_TL_X, /* top-left x */ OPT_TL_Y, /* top-left y */ @@ -79,7 +79,7 @@ enum Abaton_Option OPT_THRESHOLD, OPT_NEGATIVE, OPT_MIRROR, - + /* must come last: */ NUM_OPTIONS }; @@ -110,7 +110,7 @@ typedef struct Abaton_Scanner SANE_Bool scanning; SANE_Bool AbortedByUser; - + SANE_Parameters params; /* The actual bpp, before "Pseudo-8-bit" fiddling */ diff --git a/backend/agfafocus.c b/backend/agfafocus.c index c2c5664..0b59d2d 100644 --- a/backend/agfafocus.c +++ b/backend/agfafocus.c @@ -1,7 +1,7 @@ /* sane - Scanner Access Now Easy. This file (C) 1997 Ingo Schneider - (C) 1998 Karl Anders ygard + (C) 1998 Karl Anders Øygard This file is part of the SANE package. @@ -116,11 +116,11 @@ max_string_size (const SANE_String_Const strings[]) } /* sets loc_s bytes long value at offset loc in scsi command to value size */ -static void +static void set_size (Byte * loc, int loc_s, size_t size) { int i; - + for (i = 0; i < loc_s; i++) { loc[loc_s - i - 1] = (size >> (i * 8)) & 0xff; @@ -142,10 +142,10 @@ get_size (Byte * loc, int loc_s) return j; } -static long +static long reserve_unit (int fd) { - struct + struct { /* Command */ Byte cmd; @@ -164,10 +164,10 @@ reserve_unit (int fd) return sanei_scsi_cmd (fd, &scsi_reserve, sizeof (scsi_reserve), 0, 0); } -static long +static long release_unit (int fd) { - struct + struct { /* Command */ Byte cmd; @@ -192,7 +192,7 @@ test_ready (int fd) SANE_Status status; int try; - struct + struct { /* Command */ Byte cmd; @@ -317,7 +317,7 @@ wait_ready (int fd) Byte tr_len[3]; Byte ctrl; } cmd; - + memset (&cmd, 0, sizeof (cmd)); cmd.cmd = 0x28; /* READ */ @@ -468,7 +468,7 @@ set_window (AgfaFocus_Scanner * s) Byte tonecurve; /* Tone curve (0 - 8) */ Byte ht_pattern; /* Halftone pattern */ Byte paddingtype; /* Padding type */ - + Byte bitordering[2]; /* Bit ordering (0 = left to right) */ Byte comprtype; /* Compression type */ Byte comprarg; /* Compression argument */ @@ -522,7 +522,7 @@ set_window (AgfaFocus_Scanner * s) set_size (cmd.tr_len, 3, 36 + 8); set_size (cmd.wd_len, 2, 36); break; - + case AGFACOLOR: set_size (cmd.tr_len, 3, 65 + 8); set_size (cmd.wd_len, 2, 65); @@ -582,7 +582,7 @@ set_window (AgfaFocus_Scanner * s) cmd.wd.ht_pattern = s->halftone; else cmd.wd.ht_pattern = 3; - + cmd.wd.intensity = brightness; cmd.wd.contrast = contrast; @@ -645,20 +645,20 @@ upload_dither_matrix (AgfaFocus_Scanner * s, int rows, int cols, int *dither_mat Byte re1[3]; Byte tr_len[3]; Byte ctrl; - + struct { Byte nrrows[2]; Byte nrcols[2]; - + struct { Byte data[2]; } element[256]; } wd; } cmd; - + SANE_Status status; int i; - + memset (&cmd, 0, sizeof (cmd)); cmd.cmd = 0x2a; /* WRITE */ @@ -670,9 +670,9 @@ upload_dither_matrix (AgfaFocus_Scanner * s, int rows, int cols, int *dither_mat for (i = 0; i < cols * rows; ++i) set_size (cmd.wd.element[i].data, 2, dither_matrix[i]); - + status = sanei_scsi_cmd (s->fd, &cmd, sizeof (cmd), 0, 0); - + if (status != SANE_STATUS_GOOD) /* Command failed */ return SANE_STATUS_IO_ERROR; @@ -692,7 +692,7 @@ upload_tonecurve (AgfaFocus_Scanner * s, int color_type, int input, int output, Byte re1[4]; Byte tr_len[3]; Byte ctrl; - + Byte re2[6]; Byte wd_len[2]; @@ -700,7 +700,7 @@ upload_tonecurve (AgfaFocus_Scanner * s, int color_type, int input, int output, Byte color_type[2]; Byte nrinput[2]; Byte nroutput[2]; - + struct { Byte data[2]; } outputval[256]; @@ -721,9 +721,9 @@ upload_tonecurve (AgfaFocus_Scanner * s, int color_type, int input, int output, for (i = 0; i < cols; ++i) for (j = 0; j < rows; ++j) set_size (cmd.wd.element[j + i * rows].data, 2, dither_matrix[j + i * rows]); - + status = sanei_scsi_cmd (s->fd, &cmd, sizeof (cmd), 0, 0); - + if (status != SANE_STATUS_GOOD) /* * Command failed * */ return SANE_STATUS_IO_ERROR; @@ -760,22 +760,22 @@ read_data (AgfaFocus_Scanner * s, SANE_Byte *buf, int lines, int bpl) set_size (cmd.tr_len, 3, lines); size = lines * bpl; - + status = sanei_scsi_cmd (s->fd, &cmd, sizeof (cmd), buf, &size); - + if (status != SANE_STATUS_GOOD) { DBG (1, "sanei_scsi_cmd() = %d\n", status); return SANE_STATUS_IO_ERROR; } - + if (size != ((unsigned int) lines * bpl)) { DBG (1, "sanei_scsi_cmd(): got %lu bytes, expected %d\n", (u_long) size, lines * bpl); return SANE_STATUS_INVAL; } - + DBG (1, "Got %lu bytes\n", (u_long) size); /* Reverse: */ @@ -788,7 +788,7 @@ read_data (AgfaFocus_Scanner * s, SANE_Byte *buf, int lines, int bpl) for (i = 0; i < size; i++) buf[i] = 255 - ((buf[i] * 256.0f) / 64.0f); } - + s->lines_available -= lines; return SANE_STATUS_GOOD; @@ -954,7 +954,7 @@ do_cancel (AgfaFocus_Scanner * s) /* ensure child knows it's time to stop: */ sanei_thread_kill (s->reader_pid); sanei_thread_waitpid (s->reader_pid, &exit_status); - s->reader_pid = -1; + sanei_thread_invalidate(s->reader_pid); } if (s->fd >= 0) @@ -980,9 +980,9 @@ init_options (AgfaFocus_Scanner * s) static const SANE_Range percentage_range = { - -100 << SANE_FIXED_SCALE_SHIFT, /* minimum */ - 100 << SANE_FIXED_SCALE_SHIFT, /* maximum */ - 1 << SANE_FIXED_SCALE_SHIFT /* quantization */ + SANE_FIX(-100), /* minimum */ + SANE_FIX(100), /* maximum */ + SANE_FIX(1) /* quantization */ }; static const SANE_Range sharpen_range = @@ -991,9 +991,9 @@ init_options (AgfaFocus_Scanner * s) {0, 100, 0}; static const SANE_Range attenuation_range = { - 0 << SANE_FIXED_SCALE_SHIFT, /* minimum */ - 100 << SANE_FIXED_SCALE_SHIFT, /* maximum */ - 1 << SANE_FIXED_SCALE_SHIFT /* quantization */ + SANE_FIX(0), /* minimum */ + SANE_FIX(100), /* maximum */ + SANE_FIX(1) /* quantization */ }; @@ -1182,7 +1182,7 @@ init_options (AgfaFocus_Scanner * s) s->opt[OPT_CONTRAST].constraint_type = SANE_CONSTRAINT_RANGE; s->opt[OPT_CONTRAST].constraint.range = &percentage_range; s->val[OPT_CONTRAST].w = 0; - + /* halftone patterns */ s->opt[OPT_HALFTONE_PATTERN].name = SANE_NAME_HALFTONE_PATTERN; s->opt[OPT_HALFTONE_PATTERN].title = SANE_TITLE_HALFTONE_PATTERN; @@ -1324,7 +1324,7 @@ sane_exit (void) sane_close (dev->handle); free (dev); } - + if (devlist) free (devlist); } @@ -1510,16 +1510,16 @@ sane_control_option (SANE_Handle handle, SANE_Int option, s->val[option].s = strdup (val); if (strcmp (s->val[option].s, "Gray (6 bit)") == 0) - s->mode = GRAY6BIT; + s->mode = GRAY6BIT; else if (strcmp (s->val[option].s, "Gray (8 bit)") == 0) - s->mode = GRAY8BIT; + s->mode = GRAY8BIT; else if (strcmp (s->val[option].s, "Color (18 bit)") == 0) - s->mode = COLOR18BIT; + s->mode = COLOR18BIT; else if (strcmp (s->val[option].s, "Color (24 bit)") == 0) - s->mode = COLOR24BIT; + s->mode = COLOR24BIT; else s->mode = LINEART; - + switch (s->mode) { case LINEART: @@ -1679,18 +1679,18 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) case LINEART: { const char *halftone; - + s->image_composition = 0; - + /* in 1 bpp mode, lines need to be 8 pixel length */ - + if (s->params.pixels_per_line % 8) s->params.pixels_per_line += 8 - (s->params.pixels_per_line % 8); - + s->params.format = SANE_FRAME_GRAY; s->params.bytes_per_line = s->params.pixels_per_line / 8; s->bpp = s->params.depth = 1; - + halftone = s->val[OPT_HALFTONE_PATTERN].s; if (strcmp (halftone, "1") == 0 ) s->halftone = 1; @@ -1704,14 +1704,14 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) s->halftone = 5; else s->halftone = 0; - + s->edge = s->val[OPT_SHARPEN].w; } break; case GRAY6BIT: s->image_composition = 2; - + s->params.format = SANE_FRAME_GRAY; s->params.bytes_per_line = s->params.pixels_per_line; s->bpp = 6; @@ -1722,7 +1722,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) case GRAY8BIT: s->image_composition = 2; - + s->params.format = SANE_FRAME_GRAY; s->params.bytes_per_line = s->params.pixels_per_line; s->bpp = s->params.depth = 8; @@ -1760,9 +1760,9 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) if (s->mode == COLOR18BIT || s->mode == COLOR24BIT) s->params.format = SANE_FRAME_RED + s->pass; - + s->params.last_frame = (s->params.format != SANE_FRAME_RED && s->params.format != SANE_FRAME_GREEN); - + if (params) *params = s->params; return SANE_STATUS_GOOD; @@ -1856,23 +1856,23 @@ reader_process (void *scanner) { /* No lines in scanner? Scan some more */ status = request_more_data (s); - + if (status != SANE_STATUS_GOOD) { close (fd); return 1; } } - + /* We only request as many lines as there are already scanned */ if (lines > s->lines_available) lines = s->lines_available; DBG (1, "Requesting %d lines, in scanner: %d, total: %d\n", lines, s->lines_available, s->params.lines); - + status = read_data (s, data, lines, bytes_per_line); - + if (status != SANE_STATUS_GOOD) { DBG (1, "sane_read: read_data() failed (%s)\n", @@ -1881,10 +1881,10 @@ reader_process (void *scanner) close (fd); return 1; } - + /* Sometimes the scanner will return more bytes per line than requested, so we copy only what we wanted. */ - + for (i = 0; i < lines; i++) if (write (fd, data + i * bytes_per_line, s->params.bytes_per_line) != s->params.bytes_per_line) { @@ -1895,7 +1895,7 @@ reader_process (void *scanner) lines_read += lines; } - + close (fd); return 0; } @@ -1906,14 +1906,14 @@ sane_start (SANE_Handle handle) AgfaFocus_Scanner *s = handle; SANE_Status status; int fds[2]; - + /* First make sure we have a current parameter set. Some of the parameters will be overwritten below, but that's OK. */ - + status = sane_get_parameters (s, 0); if (status != SANE_STATUS_GOOD) return status; - + /* don't initialise scanner if we're doing a three-pass scan */ if (s->pass == 0) @@ -1966,10 +1966,10 @@ sane_start (SANE_Handle handle) 42, 26, 38, 22, 43, 27, 39, 23, 4, 58, 14, 54, 1, 59, 15, 55, 36, 20, 46, 30, 33, 17, 47, 31, - 12, 52, 8, 62, 9, 49, 5, 63, + 12, 52, 8, 62, 9, 49, 5, 63, 44, 28, 40, 24, 41, 25, 37, 21 }; - + status = upload_dither_matrix (s, 8, 8, matrix); if (status != SANE_STATUS_GOOD) { @@ -2030,7 +2030,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, if (!s->scanning) return do_cancel (s); - + if (nread < 0) { if (errno == EAGAIN) { return SANE_STATUS_GOOD; diff --git a/backend/agfafocus.conf.in b/backend/agfafocus.conf.in index 2648863..caa0783 100644 --- a/backend/agfafocus.conf.in +++ b/backend/agfafocus.conf.in @@ -1,2 +1 @@ /dev/scanner - diff --git a/backend/agfafocus.h b/backend/agfafocus.h index 078b68e..036a656 100644 --- a/backend/agfafocus.h +++ b/backend/agfafocus.h @@ -1,7 +1,7 @@ /* sane - Scanner Access Now Easy. This file (C) 1997 Ingo Schneider - (C) 1998 Karl Anders ygard + (C) 1998 Karl Anders Øygard This file is part of the SANE package. @@ -27,7 +27,7 @@ enum AgfaFocus_Scanner_Type AGFAGRAY64, AGFALINEART, AGFAGRAY256, - AGFACOLOR + AGFACOLOR }; typedef enum diff --git a/backend/apple.c b/backend/apple.c index 487d743..167f6ea 100644 --- a/backend/apple.c +++ b/backend/apple.c @@ -227,14 +227,14 @@ static const uint8_t test_unit_ready[] = #if 0 -SANE_Int +SANE_Int xqstep (unsigned int Xres, unsigned int bpp) { return (SANE_Int) ((double) (8 * 1200)) / ((double) (Xres * bpp)); } -SANE_Int +SANE_Int yqstep (unsigned int Yres, unsigned int bpp) { return (SANE_Int) ((double) (1200)) / ((double) (Yres)); @@ -246,7 +246,7 @@ yqstep (unsigned int Yres, unsigned int bpp) /* The functions below return the quantized value of x,y in scanners dots aka 1/1200 of an inch */ -static SANE_Int +static SANE_Int xquant (double x, unsigned int Xres, unsigned int bpp, int dir) { double tmp; @@ -264,7 +264,7 @@ xquant (double x, unsigned int Xres, unsigned int bpp, int dir) -static SANE_Int +static SANE_Int yquant (double y, unsigned int Yres, int dir) { double tmp; @@ -986,7 +986,7 @@ calc_parameters (Apple_Scanner * s) s->ulx, s->uly, s->wx, s->wy); -/* +/* TODO: Remove this ugly hack (Protect). Read to learn why! @@ -1168,7 +1168,7 @@ mode_update (SANE_Handle handle, char *val) DISABLE (OPT_HALFTONE_PATTERN); if (s->hw->ScannerModel == COLORONESCANNER) ENABLE(OPT_COLOR_SENSOR); - + } /* End of Gray */ else if (!strcmp (val, "BiColor")) { @@ -1215,7 +1215,7 @@ mode_update (SANE_Handle handle, char *val) { DISABLE (OPT_THRESHOLD); DISABLE (OPT_AUTOBACKGROUND_THRESHOLD); - + if (s->hw->ScannerModel == COLORONESCANNER) { ENABLE (OPT_VOLT_REF); @@ -1302,7 +1302,7 @@ init_options (Apple_Scanner * s) s->opt[OPT_HWDETECT_GROUP].type = SANE_TYPE_GROUP; s->opt[OPT_HWDETECT_GROUP].cap = 0; s->opt[OPT_HWDETECT_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - + s->opt[OPT_MODEL].name = "model"; s->opt[OPT_MODEL].title = "Model"; s->opt[OPT_MODEL].desc = "Model and capabilities"; @@ -1325,7 +1325,7 @@ init_options (Apple_Scanner * s) halftone_pattern_list[1]="bayer4x4"; halftone_pattern_list[2]="download"; halftone_pattern_list[3]=NULL; - + switch (s->hw->ScannerModel) { @@ -1515,7 +1515,7 @@ init_options (Apple_Scanner * s) s->opt[OPT_AUTOBACKGROUND_THRESHOLD].constraint.range = &byte_range; s->val[OPT_AUTOBACKGROUND_THRESHOLD].w = 64; - + /* AppleScanner & OneScanner options */ /* Select HalfTone Pattern */ @@ -2440,7 +2440,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, #ifdef RESERVE_RELEASE_HACK uint8_t reserve[6]; uint8_t release[6]; -#endif +#endif uint8_t result[12]; size_t size; @@ -2457,7 +2457,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, #else *len = 0; if (!s->scanning) return SANE_STATUS_EOF; - + if (!strcmp (s->val[OPT_MODE].s, "Gray16")) Pseudo8bit = SANE_TRUE; @@ -2493,7 +2493,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, release[1]|=SETTHIRDPARTY; #endif - + do { size = sizeof (result); diff --git a/backend/apple.h b/backend/apple.h index 9e14434..b4a0c03 100644 --- a/backend/apple.h +++ b/backend/apple.h @@ -91,7 +91,7 @@ enum Apple_Modes EMPTY_DONT_USE_IT, APPLE_MODE_COLOR }; - + enum Apple_Option { OPT_NUM_OPTS = 0, @@ -116,7 +116,7 @@ enum Apple_Option OPT_BRIGHTNESS, OPT_CONTRAST, OPT_THRESHOLD, - + /* AppleScanner only */ OPT_GRAYMAP, OPT_AUTOBACKGROUND, @@ -147,7 +147,7 @@ enum Apple_Option /* OneScanner && ColorOneScanner */ OPT_LED, OPT_CCD, - + /* ColorOneScanner only */ OPT_MTF_CIRCUIT, @@ -255,7 +255,7 @@ TODO: Initialize this beasts with malloc instead of statically allocation. SANE_Bool scanning; SANE_Bool AbortedByUser; - + int pass; /* pass number */ SANE_Parameters params; diff --git a/backend/artec.c b/backend/artec.c index 2d564a5..2ba8d6d 100644 --- a/backend/artec.c +++ b/backend/artec.c @@ -1715,7 +1715,7 @@ artec_get_cap_data (ARTEC_Device * dev, int fd) DBG (7, "artec_get_cap_data()\n"); - /* DB always use the hard-coded capability info first + /* DB always use the hard-coded capability info first * if we get cap data from the scanner, we override */ cap_model = -1; for (loop = 0; loop < NELEMS (cap_data); loop++) diff --git a/backend/artec.conf.in b/backend/artec.conf.in index 371a174..8b13880 100644 --- a/backend/artec.conf.in +++ b/backend/artec.conf.in @@ -1,3 +1,2 @@ scsi ULTIMA /dev/scanner - diff --git a/backend/artec_eplus48u.c b/backend/artec_eplus48u.c index f31bf5c..0e81b06 100644 --- a/backend/artec_eplus48u.c +++ b/backend/artec_eplus48u.c @@ -3505,7 +3505,7 @@ do_cancel (Artec48U_Scanner * s, SANE_Bool closepipe) { XDBG ((1, "sanei_thread_waitpid() failed !\n")); } - s->reader_pid = -1; + sanei_thread_invalidate (s->reader_pid); XDBG ((1, "reader_process killed\n")); } if (SANE_TRUE == closepipe) @@ -4337,7 +4337,7 @@ sane_read (SANE_Handle handle, SANE_Byte * data, if (s->eof == SANE_TRUE) { sanei_thread_waitpid (s->reader_pid, 0); - s->reader_pid = -1; + sanei_thread_invalidate (s->reader_pid); artec48u_scanner_stop_scan (s); artec48u_carriage_home (s->dev); return close_pipe (s); diff --git a/backend/artec_eplus48u.conf.in b/backend/artec_eplus48u.conf.in index 0b20c6e..03c9b57 100644 --- a/backend/artec_eplus48u.conf.in +++ b/backend/artec_eplus48u.conf.in @@ -116,4 +116,3 @@ usb 0x05d8 0x4011 option artecFirmwareFile @DATADIR@/sane/artec_eplus48u/Artec48.usb option vendorString "Yakumo" option modelString "Scan50" - diff --git a/backend/as6e.c b/backend/as6e.c index 76241fb..37a6d3b 100644 --- a/backend/as6e.c +++ b/backend/as6e.c @@ -799,7 +799,7 @@ check_for_driver (const char *devname) char *path; char fullname[NAMESIZE]; char dir[NAMESIZE]; - int count = 0, offset = 0; + int count = 0, offset = 0, valid; path = getenv ("PATH"); if (!path) @@ -808,21 +808,29 @@ check_for_driver (const char *devname) { memset (fullname, '\0', sizeof (fullname)); memset (dir, '\0', sizeof (dir)); + valid = 1; while ((path[count] != ':') && (path[count] != '\0')) { - dir[count - offset] = path[count]; + /* prevent writing data, which are out of bounds */ + if ((unsigned int)(count - offset) < sizeof (dir)) + dir[count - offset] = path[count]; + else + valid = 0; count++; } - /* use sizeof(fullname)-1 to make sure there is at least one padded null byte */ - strncpy (fullname, dir, sizeof(fullname)-1); - /* take into account that fullname already contains non-null bytes */ - strncat (fullname, "/", sizeof(fullname)-strlen(fullname)-1); - strncat (fullname, devname, sizeof(fullname)-strlen(fullname)-1); - if (!stat (fullname, &statbuf)) + if (valid == 1) { - modes = statbuf.st_mode; - if (S_ISREG (modes)) - return (1); /* found as6edriver */ + /* use sizeof(fullname)-1 to make sure there is at least one padded null byte */ + strncpy (fullname, dir, sizeof(fullname)-1); + /* take into account that fullname already contains non-null bytes */ + strncat (fullname, "/", sizeof(fullname)-strlen(fullname)-1); + strncat (fullname, devname, sizeof(fullname)-strlen(fullname)-1); + if (!stat (fullname, &statbuf)) + { + modes = statbuf.st_mode; + if (S_ISREG (modes)) + return (1); /* found as6edriver */ + } } if (path[count] == '\0') return (0); /* end of path --no driver found */ diff --git a/backend/avision.c b/backend/avision.c index 61491a2..e9f0145 100644 --- a/backend/avision.c +++ b/backend/avision.c @@ -44,7 +44,7 @@ 74xx, Minolta FS-V1 ...) or Fujitsu ScanPartner with the AVISION SCSI-2/3 or USB command set and written by René Rebe and Meino Cramer. - + Copyright 2002 - 2015 by "Ren Rebe" @@ -54,7 +54,7 @@ Copyright 2002 by "Jose Paulo Moitinho de Almeida" - + Copyright 2010, 2011 by "Mike Kelly" @@ -73,7 +73,7 @@ OS/2 threading support "Falk Rohsiepe" Spelling and whitespace as well as HP5370 quirks - + Many additional special thanks to: Avision INC for providing protocol documentation. Avision INC for sponsoring an AV 8000S with ADF. @@ -90,7 +90,7 @@ Thanks to all the people and companies above. Without you the Avision backend would not be in the shape it is today! ;-) - + ********************************************************************************/ /* SANE-FLOW-DIAGRAMM (from umax.c) @@ -166,13 +166,13 @@ static Avision_HWEntry Avision_Device_List [] = "Avision", "AV100CS", 0}, /* status="untested" */ - + { "AVISION", "AV100IIICS", 0, 0, "Avision", "AV100IIICS", 0}, /* status="untested" */ - + { "AVISION", "AV100S", 0, 0, "Avision", "AV100S", @@ -199,7 +199,7 @@ static Avision_HWEntry Avision_Device_List [] = AV_INT_BUTTON | AV_2ND_LINE_INTERLACED | AV_NO_REAR | AV_SOFT_SCALE | AV_DOES_KEEP_WINDOW | AV_DOES_KEEP_GAMMA | AV_REAR_OFFSET}, /* comment="sheetfed duplex scanner" */ /* status="good" */ - + { NULL, NULL, 0x0638, 0x0A93, "Avision", "AV122 C2", @@ -213,7 +213,7 @@ static Avision_HWEntry Avision_Device_List [] = AV_INT_BUTTON | AV_ACCEL_TABLE}, /* comment="sheetfed scanner" */ /* status="complete" */ - + { NULL, NULL, 0x0638, 0x0A25, "Avision", "AV210", @@ -303,37 +303,37 @@ static Avision_HWEntry Avision_Device_List [] = "Avision", "AV240SC", 0}, /* status="untested" */ - + { "AVISION", "AV260CS", 0, 0, "Avision", "AV260CS", 0}, /* status="untested" */ - + { "AVISION", "AV360CS", 0, 0, "Avision", "AV360CS", 0}, /* status="untested" */ - + { "AVISION", "AV363CS", 0, 0, "Avision", "AV363CS", 0}, /* status="untested" */ - + { "AVISION", "AV420CS", 0, 0, "Avision", "AV420CS", 0}, /* status="untested" */ - + { "AVISION", "AV6120", 0, 0, "Avision", "AV6120", 0}, /* status="untested" */ - + { NULL, "AV610", 0x0638, 0x0a18, "Avision", "AV610", @@ -353,7 +353,7 @@ static Avision_HWEntry Avision_Device_List [] = AV_NO_BACKGROUND | AV_INT_BUTTON}, /* cancel button -> sense abort! */ /* status="good" */ - { NULL, NULL, + { NULL, NULL, 0x0638, 0x0a41, "Avision", "AM3000 Series", 0}, @@ -373,35 +373,35 @@ static Avision_HWEntry Avision_Device_List [] = 0}, /* comment="1 pass, 600 dpi" */ /* status="complete" */ - + { "AVISION", "AV620CS Plus", 0, 0, "Avision", "AV620CS Plus", 0}, /* comment="1 pass, 1200 dpi" */ /* status="complete" */ - + { "AVISION", "AV630CS", 0, 0, "Avision", "AV630CS", 0}, /* comment="1 pass, 1200 dpi" */ /* status="complete" */ - + { "AVISION", "AV630CSL", 0, 0, "Avision", "AV630CSL", 0}, /* comment="1 pass, 1200 dpi" */ /* status="untested" */ - + { "AVISION", "AV6240", 0, 0, "Avision", "AV6240", 0}, /* comment="1 pass, ??? dpi" */ /* status="complete" */ - + { NULL, NULL, 0x0638, 0x0A13, "Avision", "AV600U", @@ -422,70 +422,70 @@ static Avision_HWEntry Avision_Device_List [] = 0}, /* comment="1 pass, ??? dpi" */ /* status="untested" */ - + { "AVISION", "AV690U", 0, 0, "Avision", "AV690U", 0}, /* comment="1 pass, 2400 dpi" */ /* status="untested" */ - + { "AVISION", "AV800S", 0, 0, "Avision", "AV800S", 0}, /* comment="1 pass, ??? dpi" */ /* status="untested" */ - + { "AVISION", "AV810C", 0, 0, "Avision", "AV810C", 0}, /* comment="1 pass, ??? dpi" */ /* status="untested" */ - + { "AVISION", "AV820", 0, 0, "Avision", "AV820", 0}, /* comment="1 pass, ??? dpi" */ /* status="untested" */ - + { "AVISION", "AV820C", 0, 0, "Avision", "AV820C", 0}, /* comment="1 pass, ??? dpi" */ /* status="complete" */ - + { "AVISION", "AV820C Plus", 0, 0, "Avision", "AV820C Plus", 0}, /* comment="1 pass, ??? dpi" */ /* status="complete" */ - + { "AVISION", "AV830C", 0, 0, "Avision", "AV830C", 0}, /* comment="1 pass, ??? dpi" */ /* status="complete" */ - + { "AVISION", "AV830C Plus", 0, 0, "Avision", "AV830C Plus", 0}, /* comment="1 pass, ??? dpi" */ /* status="untested" */ - + { "AVISION", "AV880", 0, 0, "Avision", "AV880", 0}, /* comment="1 pass, ??? dpi" */ /* status="untested" */ - + { "AVISION", "AV880C", 0, 0, "Avision", "AV880C", @@ -613,7 +613,7 @@ static Avision_HWEntry Avision_Device_List [] = /* status="basic" */ /* and possibly more avisions ;-) */ - + { "HP", "ScanJet 5300C", 0x03f0, 0x0701, "Hewlett-Packard", "ScanJet 5300C", @@ -627,14 +627,14 @@ static Avision_HWEntry Avision_Device_List [] = AV_MULTI_CALIB_CMD | AV_INT_STATUS}, /* comment="1 pass, 2400 dpi - some FW revisions have x-axis image scaling problems over 1200 dpi" */ /* status="good" */ - + { "hp", "scanjet 7400c", 0x03f0, 0x0801, "Hewlett-Packard", "ScanJet 7400c", AV_LIGHT_CHECK_BOGUS | AV_NO_64BYTE_ALIGN | AV_INT_STATUS}, /* comment="1 pass, 2400 dpi - dual USB/SCSI interface" */ /* status="good" */ - + #ifdef FAKE_ENTRIES_FOR_DESC_GENERATION { "hp", "scanjet 7450c", 0x03f0, 0x0801, @@ -642,7 +642,7 @@ static Avision_HWEntry Avision_Device_List [] = AV_NO_64BYTE_ALIGN | AV_INT_STATUS}, /* comment="1 pass, 2400 dpi - dual USB/SCSI interface" */ /* status="good" */ - + { "hp", "scanjet 7490c", 0x03f0, 0x0801, "Hewlett-Packard", "ScanJet 7490c", @@ -681,8 +681,8 @@ static Avision_HWEntry Avision_Device_List [] = AV_ADF_FLIPPING_DUPLEX | AV_FIRMWARE}, /* comment="1 pass, 4800 (?) dpi - USB 2.0 and SCSI - only SCSI tested so far" */ /* status="good" */ - -#endif + +#endif { "HP", "C9930A", 0x03f0, 0x3805, "Hewlett-Packard", "ScanJet 8300", @@ -705,7 +705,7 @@ static Avision_HWEntry Avision_Device_List [] = /* comment="1 pass, 4800 (?) dpi - USB 2.0" */ /* status="good" */ -#endif +#endif { "Minolta", "#2882", 0, 0, "Minolta", "Dimage Scan Dual I", @@ -717,21 +717,21 @@ static Avision_HWEntry Avision_Device_List [] = "Minolta", "Scan Multi Pro", AV_FORCE_FILM | AV_NO_START_SCAN}, /* AV_FILMSCANNER (frame control)? */ /* status="untested" */ - + { "MINOLTA", "FS-V1", 0x0638, 0x026a, "Minolta", "Dimage Scan Dual II", AV_FILMSCANNER | AV_ONE_CALIB_CMD | AV_12_BIT_MODE}, /* comment="1 pass, film-scanner" */ /* status="good" */ - + { "MINOLTA", "Elite II", 0x0686, 0x4004, "Minolta", "Elite II", AV_FILMSCANNER | AV_ONE_CALIB_CMD}, /* comment="1 pass, film-scanner" */ /* status="untested" */ - + { "MINOLTA", "FS-V3", 0x0686, 0x400d, "Minolta", "Dimage Scan Dual III", @@ -759,33 +759,33 @@ static Avision_HWEntry Avision_Device_List [] = 0}, /* comment="" */ /* status="good" */ - + { "MITSBISH", "MCA-ADFC", 0, 0, "Mitsubishi", "MCA-ADFC", 0}, /* status="untested" */ - + { "MITSBISH", "MCA-S1200C", 0, 0, "Mitsubishi", "S1200C", 0}, /* status="untested" */ - + { "MITSBISH", "MCA-S600C", 0, 0, "Mitsubishi", "S600C", 0}, /* status="untested" */ - + { "MITSBISH", "SS600", 0, 0, "Mitsubishi", "SS600", 0}, /* status="good" */ - + /* The next are all untested ... */ - + { "FCPA", "ScanPartner", 0, 0, "Fujitsu", "ScanPartner", @@ -797,25 +797,25 @@ static Avision_HWEntry Avision_Device_List [] = "Fujitsu", "ScanPartner 10", AV_FUJITSU}, /* status="untested" */ - + { "FCPA", "ScanPartner 10C", 0, 0, "Fujitsu", "ScanPartner 10C", AV_FUJITSU}, /* status="untested" */ - + { "FCPA", "ScanPartner 15C", 0, 0, "Fujitsu", "ScanPartner 15C", AV_FUJITSU}, /* status="untested" */ - + { "FCPA", "ScanPartner 300C", 0, 0, "Fujitsu", "ScanPartner 300C", 0}, /* status="untested" */ - + { "FCPA", "ScanPartner 600C", 0, 0, "Fujitsu", "ScanPartner 600C", @@ -827,13 +827,13 @@ static Avision_HWEntry Avision_Device_List [] = "Fujitsu", "ScanPartner 620C", AV_LIGHT_CHECK_BOGUS}, /* status="good" */ - + { "FCPA", "ScanPartner Jr", 0, 0, "Fujitsu", "ScanPartner Jr", 0}, /* status="untested" */ - + { "FCPA", "ScanStation", 0, 0, "Fujitsu", "ScanStation", @@ -863,13 +863,13 @@ static Avision_HWEntry Avision_Device_List [] = "Kodak", "i40", AV_INT_BUTTON | AV_GRAY_MODES}, /* status="basic" */ - + { NULL, NULL, 0x040a, 0x6003, "Kodak", "i50", AV_INT_BUTTON}, /* status="untested" */ - + #ifdef FAKE_ENTRIES_FOR_DESC_GENERATION { NULL, NULL, 0x040a, 0x6003, @@ -877,13 +877,13 @@ static Avision_HWEntry Avision_Device_List [] = AV_INT_BUTTON}, /* status="untested" */ #endif - + { NULL, NULL, 0x040a, 0x6004, "Kodak", "i60", AV_INT_BUTTON}, /* status="untested" */ - + #ifdef FAKE_ENTRIES_FOR_DESC_GENERATION { NULL, NULL, 0x040a, 0x6004, @@ -891,19 +891,19 @@ static Avision_HWEntry Avision_Device_List [] = AV_INT_BUTTON}, /* status="untested" */ #endif - + { NULL, NULL, 0x040a, 0x6005, "Kodak", "i80", AV_INT_BUTTON}, - /* status="good" */ - + /* status="good" */ + { "iVina", "1200U", 0x0638, 0x0268, "iVina", "1200U", 0}, /* status="untested" */ - + { NULL, NULL, 0x04a7, 0x0424, "Visioneer", "Strobe XP 450", @@ -917,7 +917,7 @@ static Avision_HWEntry Avision_Device_List [] = AV_INT_BUTTON | AV_ACCEL_TABLE}, /* comment="sheetfed scanner" */ /* status="complete" */ - + { NULL, NULL, 0x04a7, 0x0479, "Visioneer", "Strobe XP 470", @@ -931,7 +931,7 @@ static Avision_HWEntry Avision_Device_List [] = AV_INT_BUTTON | AV_ACCEL_TABLE}, /* comment="sheetfed scanner" */ /* status="complete" */ - + { NULL, NULL, 0x04a7, 0x0420, "Visioneer", "9320", @@ -973,7 +973,7 @@ static Avision_HWEntry Avision_Device_List [] = 0}, /* comment="sheetfed scanner" */ /* status="complete" */ - + { NULL, NULL, 0x04a7, 0x0423, "Visioneer", "9750", @@ -1017,7 +1017,7 @@ static Avision_HWEntry Avision_Device_List [] = AV_INT_BUTTON}, /* comment="sheetfed scanner" */ /* status="complete" */ - + { NULL, NULL, 0x04a7, 0x049C, "Xerox", "DocuMate150", @@ -1047,7 +1047,7 @@ static Avision_HWEntry Avision_Device_List [] = "Xerox", "DocuMate250-G", AV_INT_BUTTON}, /* status="good" */ - + { NULL, NULL, 0x04a7, 0x0449, "Xerox", "DocuMate252", @@ -1059,7 +1059,7 @@ static Avision_HWEntry Avision_Device_List [] = "Xerox", "DocuMate252-G", AV_INT_BUTTON}, /* status="good" */ - + { NULL, NULL, 0x04a7, 0x0476, "Xerox", "DocuMate232", @@ -1077,7 +1077,7 @@ static Avision_HWEntry Avision_Device_List [] = "Xerox", "DocuMate262-G", AV_INT_BUTTON}, /* status="good" */ - + { NULL, NULL, 0x04a7, 0x04a7, "Xerox", "DocuMate262i", @@ -1095,7 +1095,7 @@ static Avision_HWEntry Avision_Device_List [] = "Xerox", "DocuMate272-G", AV_INT_BUTTON}, /* status="untested" */ - + { NULL, NULL, 0x04a7, 0x0446, "Xerox", "DocuMate510", @@ -1179,35 +1179,35 @@ static Avision_HWEntry Avision_Device_List [] = V6240 */ /* Possibly: -Lexmark 4600 MFP Option MFP Options -Lexmark 4600 MFP Option (C772n) MFP Options +Lexmark 4600 MFP Option MFP Options +Lexmark 4600 MFP Option (C772n) MFP Options Lexmark X215 -Lexmark Optra Image X242 +Lexmark Optra Image X242 Lexmark X443 Lexmark 3100 -Lexmark 3200 -Lexmark X340 MFP Multifunction -Lexmark X342n MFP Multifunction +Lexmark 3200 +Lexmark X340 MFP Multifunction +Lexmark X342n MFP Multifunction Lexmark X522 Lexmark X630 Lexmark X632E -Lexmark X642e MFP Multifunction -Lexmark X644e MFP Multifunction -Lexmark X646dte MFP Multifunction -Lexmark X646e MFP Multifunction -Lexmark X646ef MFP Multifunction -Lexmark X772e Multifunction -Lexmark X850e MFP Multifunction -Lexmark X852e MFP Multifunction -Lexmark X854e MFP Multifunction +Lexmark X642e MFP Multifunction +Lexmark X644e MFP Multifunction +Lexmark X646dte MFP Multifunction +Lexmark X646e MFP Multifunction +Lexmark X646ef MFP Multifunction +Lexmark X772e Multifunction +Lexmark X850e MFP Multifunction +Lexmark X852e MFP Multifunction +Lexmark X854e MFP Multifunction Lexmark X4500 MFP */ - + /* last entry detection */ { NULL, NULL, 0, 0, NULL, NULL, - 0} + 0} }; #if 0 @@ -1316,13 +1316,6 @@ static const SANE_Range percentage_range = SANE_FIX (1) /* quantization */ }; -static const SANE_Range abs_percentage_range = - { - SANE_FIX (0), /* minimum */ - SANE_FIX (100), /* maximum */ - SANE_FIX (1) /* quantization */ - }; - static const SANE_Range exposure_range = { 0, /* minimum */ @@ -1352,20 +1345,26 @@ static const uint8_t test_unit_ready[] = AVISION_SCSI_TEST_UNIT_READY, 0x00, 0x00, 0x00, 0x00, 0x00 }; +/* Remove #ifdef and this comment when this SCSI command is used for + something. Keeping this definition around so we don't loose info + about the protocol. + */ +#ifdef ENABLE_AVISION_SCSI_GET_DATA_STATUS static const uint8_t get_status[] = { - AVISION_SCSI_GET_DATA_STATUS, 0x00, 0x00, 0x00, 0x00, 0x00, + AVISION_SCSI_GET_DATA_STATUS, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00 }; +#endif static size_t max_string_size (const SANE_String_Const strings[]) { size_t size, max_size = 0; int i; - + DBG (3, "max_string_size:\n"); - + for (i = 0; strings[i]; ++ i) { size = strlen (strings[i]) + 1; if (size > max_size) @@ -1386,7 +1385,7 @@ static void debug_print_raw (int dbg_level, char* info, const uint8_t* data, size_t count) { size_t i; - + DBG (dbg_level, "%s", info); for (i = 0; i < count; ++ i) { DBG (dbg_level, " [%lu] %1d%1d%1d%1d%1d%1d%1d%1db %3oo %3dd %2xx\n", @@ -1412,7 +1411,7 @@ static void debug_print_hex_raw (int dbg_level, char* info, const uint8_t* data, count--; i++; } *--t = 0; - + DBG (dbg_level, " [%08x] %s\n", address, text); address += 16; } @@ -1429,7 +1428,7 @@ static void debug_print_nvram_data (int dbg_level, char* func, func, get_quad(nvram->adf_duplex_scans)); DBG (dbg_level, "%s: flatbed scans: %d\n", func, get_quad(nvram->flatbed_scans)); - + DBG (dbg_level, "%s: flatbed leading edge: %d\n", func, (int16_t)get_double(nvram->flatbed_leading_edge)); DBG (dbg_level, "%s: flatbed side edge: %d\n", @@ -1442,7 +1441,7 @@ static void debug_print_nvram_data (int dbg_level, char* func, func, (int16_t)get_double(nvram->adf_rear_leading_edge)); DBG (dbg_level, "%s: ADF rear side edge: %d\n", func, (int16_t)get_double(nvram->adf_rear_side_edge)); - + DBG (dbg_level, "%s: born month: %d\n", func, get_double(nvram->born_month)); DBG (dbg_level, "%s: born day: %d\n", @@ -1456,7 +1455,7 @@ static void debug_print_nvram_data (int dbg_level, char* func, func, get_double(nvram->first_scan_day)); DBG (dbg_level, "%s: first scan year: %d\n", func, get_double(nvram->first_scan_year)); - + DBG (dbg_level, "%s: vert. magnification: %d\n", func, get_double(nvram->vertical_magnification)); @@ -1467,10 +1466,10 @@ static void debug_print_nvram_data (int dbg_level, char* func, func, nvram->ccd_type); DBG (dbg_level, "%s: scan speed: %d\n", func, nvram->scan_speed); - + DBG (dbg_level, "%s: serial: '%.24s'\n", /* 24 chars max */ func, nvram->serial); - + DBG (dbg_level, "%s: power saving time: %d\n", func, get_double(nvram->power_saving_time)); @@ -1495,11 +1494,11 @@ static void debug_print_avdimen (int dbg_level, char* func, { DBG (dbg_level, "%s: hw_xres: %d, hw_yres: %d, line_difference: %d\n", func, avdimen->hw_xres, avdimen->hw_yres, avdimen->line_difference); - + DBG (dbg_level, "%s: tlx: %ld, tly: %ld, brx: %ld, bry: %ld\n", func, avdimen->tlx, avdimen->tly, avdimen->brx, avdimen->bry); - + DBG (dbg_level, "%s: hw_pixel_per_line: %d, hw_lines: %d, hw_bytes_per_line: %d\n", func, avdimen->hw_pixels_per_line, avdimen->hw_lines, avdimen->hw_bytes_per_line); @@ -1520,18 +1519,18 @@ static void debug_print_calib_format (int dbg_level, char* func, uint8_t* result) { debug_print_raw (dbg_level + 2, "debug_print_calib_format:\n", result, 32); - + DBG (dbg_level, "%s: [0-1] pixels per line: %d\n", func, get_double ( &(result[0]) )); DBG (dbg_level, "%s: [2] bytes per channel: %d\n", func, result[2]); DBG (dbg_level, "%s: [3] line count: %d\n", func, result[3]); - + DBG (dbg_level, "%s: [4] FLAG:%s%s%s\n", func, result[4] == 1?" MUST_DO_CALIBRATION":"", result[4] == 2?" SCAN_IMAGE_DOES_CALIBRATION":"", result[4] == 3?" NEEDS_NO_CALIBRATION":""); - + DBG (dbg_level, "%s: [5] Ability1:%s%s%s%s%s%s%s%s\n", func, BIT(result[5],7)?" NONE_PACKED":" PACKED", @@ -1542,18 +1541,18 @@ static void debug_print_calib_format (int dbg_level, char* func, BIT(result[5],2)?" DARK_CALIB":"", BIT(result[5],1)?" NEEDS_WHITE_BLACK_SHADING_DATA":"", BIT(result[5],0)?" NEEDS_CALIB_TABLE_CHANNEL_BY_CHANNEL":""); - + DBG (dbg_level, "%s: [6] R gain: %d\n", func, result[6]); DBG (dbg_level, "%s: [7] G gain: %d\n", func, result[7]); DBG (dbg_level, "%s: [8] B gain: %d\n", func, result[8]); - + DBG (dbg_level, "%s: [9-10] R shading target: %x\n", func, get_double ( &(result[9]) ) ); DBG (dbg_level, "%s: [11-12] G shading target: %x\n", func, get_double ( &(result[11]) ) ); DBG (dbg_level, "%s: [13-14] B shading target: %x\n", func, get_double ( &(result[13]) ) ); - + DBG (dbg_level, "%s: [15-16] R dark shading target: %x\n", func, get_double ( &(result[15]) ) ); DBG (dbg_level, "%s: [17-18] G dark shading target: %x\n", @@ -1564,7 +1563,7 @@ static void debug_print_calib_format (int dbg_level, char* func, DBG (dbg_level, "%s: [21] true-gray gain: %d\n", func, result[21]); DBG (dbg_level, "%s: [22-23] true-gray shading target: %x\n", func, get_double ( &(result[22]) ) ); - + DBG (dbg_level, "%s: [24-25] true-gray dark shading target: %x\n", func, get_double ( &(result[24]) ) ); } @@ -1573,7 +1572,7 @@ static void debug_print_accel_info (int dbg_level, char* func, uint8_t* result) { debug_print_raw (dbg_level + 2, "debug_print_accel_info:\n", result, 24); - + DBG (dbg_level, "%s: [0-1] acceleration step count: %d\n", func, get_double ( &(result[0]) )); DBG (dbg_level, "%s: [2-3] stable step count: %d\n", @@ -1591,7 +1590,7 @@ static void debug_print_accel_info (int dbg_level, char* func, BIT(result[16],0)?" TWO_BYTES_PER_ELEM":" SINGLE_BYTE_PER_ELEM", BIT(result[16],1)?" LOW_HIGH_ORDER":" HIGH_LOW_ORDER"); DBG (dbg_level, "%s: [17] table count: %d\n", func, result[17]); - + } static void debug_print_window_descriptor (int dbg_level, char* func, @@ -1605,7 +1604,7 @@ static void debug_print_window_descriptor (int dbg_level, char* func, (uint8_t*)(&window->descriptor), sizeof(*window) - sizeof(window->header)); - + DBG (dbg_level, "%s: [0] window_id: %d\n", func, window->descriptor.winid); DBG (dbg_level, "%s: [2-3] x-axis res: %d\n", func, @@ -1618,7 +1617,7 @@ static void debug_print_window_descriptor (int dbg_level, char* func, func, get_quad (window->descriptor.uly)); DBG (dbg_level, "%s: [14-17] window width: %d\n", func, get_quad (window->descriptor.width)); - DBG (dbg_level, "%s: [18-21] window length: %d\n", func, + DBG (dbg_level, "%s: [18-21] window length: %d\n", func, get_quad (window->descriptor.length)); DBG (dbg_level, "%s: [22] brightness: %d\n", func, window->descriptor.brightness); @@ -1660,14 +1659,14 @@ static void debug_print_window_descriptor (int dbg_level, char* func, window->avision.type.normal.bitset2); DBG (dbg_level, "%s: [50] ir exposure time: %x\n", func, window->avision.type.normal.ir_exposure_time); - + DBG (dbg_level, "%s: [51-52] r exposure: %x\n", func, get_double (window->avision.type.normal.r_exposure_time)); DBG (dbg_level, "%s: [53-54] g exposure: %x\n", func, get_double (window->avision.type.normal.g_exposure_time)); DBG (dbg_level, "%s: [55-56] b exposure: %x\n", func, get_double (window->avision.type.normal.b_exposure_time)); - + DBG (dbg_level, "%s: [57] bitset3: %x\n", func, window->avision.type.normal.bitset3); DBG (dbg_level, "%s: [58] auto focus: %d\n", func, @@ -1685,7 +1684,7 @@ static int write_pnm_header (FILE* f, color_mode m, int depth, int width, int he int maxval = (1 << depth) - 1; const char* hdr_str = NULL; /* construct PNM header */ - + switch (m) { case AV_THRESHOLDED: case AV_DITHERED: @@ -1704,7 +1703,7 @@ static int write_pnm_header (FILE* f, color_mode m, int depth, int width, int he case AV_COLOR_MODE_LAST: ; /* silence compiler warning */ } - + return fprintf (f, hdr_str, width, height, maxval); } @@ -1712,19 +1711,19 @@ static SANE_Status sense_handler (int fd, u_char* sense, void* arg) { SANE_Status status = SANE_STATUS_IO_ERROR; /* default case */ - + char* text; char textbuf[64]; - + uint8_t error_code = sense[0] & 0x7f; uint8_t sense_key = sense[2] & 0xf; uint8_t additional_sense = sense[7]; - + fd = fd; /* silence gcc */ arg = arg; /* silence gcc */ - + DBG (3, "sense_handler:\n"); - + switch (error_code) { case 0x70: @@ -1736,15 +1735,15 @@ sense_handler (int fd, u_char* sense, void* arg) default: text = "unknown sense"; } - + debug_print_raw (1, "sense_handler: data:\n", sense, 8 + additional_sense); - + /* request valid? */ if (! (sense[0] & (1<<7))) { DBG (1, "sense_handler: sense not valid ...\n"); return status; } - + switch (sense_key) { case 0x00: @@ -1778,26 +1777,26 @@ sense_handler (int fd, u_char* sense, void* arg) sprintf (textbuf, "got unknown sense code 0x%02x", (int)sense_key); text = textbuf; } - + DBG (1, "sense_handler: sense code: %s\n", text); - + if (sense[2] & (1<<6)) - DBG (1, "sense_handler: end of scan\n"); - else + DBG (1, "sense_handler: end of scan\n"); + else DBG (1, "sense_handler: scan has not yet been completed\n"); - + if (sense[2] & (1<<5)) DBG (1, "sense_handler: incorrect logical length\n"); - else + else DBG (1, "sense_handler: correct logical length\n"); - { + { uint8_t asc = sense[12]; uint8_t ascq = sense[13]; - + #define ADDITIONAL_SENSE(asc,ascq,txt) \ case ( (asc << 8) + ascq): text = txt; break - + switch ( (asc << 8) + ascq ) { /* normal */ @@ -1808,9 +1807,9 @@ sense_handler (int fd, u_char* sense, void* arg) ADDITIONAL_SENSE (0x15,0x02, "Flatbed Home Sensor Error (OKI only"); ADDITIONAL_SENSE (0x15,0x03, "ADF Home Sensor Error (OKI only)"); ADDITIONAL_SENSE (0x15,0x04, "Lock Error (OKI only)"); - + ADDITIONAL_SENSE (0x1a,0x00, "parameter list length error"); - + ADDITIONAL_SENSE (0x20,0x00, "Invalid command"); ADDITIONAL_SENSE (0x24,0x00, "Invalid field in CDB"); ADDITIONAL_SENSE (0x25,0x00, "Logical unit not supported"); @@ -1822,7 +1821,7 @@ sense_handler (int fd, u_char* sense, void* arg) ADDITIONAL_SENSE (0x2f,0x00, "Command cleared by another initiator"); ADDITIONAL_SENSE (0x3D,0x00, "Invalid Bit in Identify Message"); - + ADDITIONAL_SENSE (0x43,0x00, "Message error"); ADDITIONAL_SENSE (0x44,0x00, "Internal target failure"); ADDITIONAL_SENSE (0x44,0x01, "Flatbed DRAM Error(OKI only)"); @@ -1830,12 +1829,12 @@ sense_handler (int fd, u_char* sense, void* arg) ADDITIONAL_SENSE (0x44,0x03, "Write NVRAM Error"); ADDITIONAL_SENSE (0x47,0x00, "SCSI parity error"); ADDITIONAL_SENSE (0x49,0x00, "Invalid message error"); - + ADDITIONAL_SENSE (0x60,0x00, "Lamp failure"); ADDITIONAL_SENSE (0x60,0x01, "Flatbed Lamp error (Oki only)"); ADDITIONAL_SENSE (0x60,0x02, "ADF lamp error (Oki only)"); ADDITIONAL_SENSE (0x62,0x00, "Scan head positioning error"); - + ADDITIONAL_SENSE (0x80,0x01, "ADF paper jam"; status = SANE_STATUS_JAMMED); ADDITIONAL_SENSE (0x80,0x02, "ADF cover open"; status = SANE_STATUS_COVER_OPEN); ADDITIONAL_SENSE (0x80,0x03, "ADF chute empty"; status = SANE_STATUS_NO_DOCS); @@ -1848,7 +1847,7 @@ sense_handler (int fd, u_char* sense, void* arg) ADDITIONAL_SENSE (0x80,0x0A, "ADF Paper Start"); ADDITIONAL_SENSE (0x80,0x0B, "Multiple ADF paper End and Start"); ADDITIONAL_SENSE (0x80,0x0C, "Multiple ADF paper End"); - + /* film scanner */ ADDITIONAL_SENSE (0x81,0x00, "ADF/MFP front door open"; status = SANE_STATUS_COVER_OPEN); ADDITIONAL_SENSE (0x81,0x01, "ADF holder cartridge open"; status = SANE_STATUS_COVER_OPEN); @@ -1861,19 +1860,19 @@ sense_handler (int fd, u_char* sense, void* arg) ADDITIONAL_SENSE (0x81,0x08, "ADF adapter error"); ADDITIONAL_SENSE (0xA0,0x01, "Filter Positioning Error"); - + ADDITIONAL_SENSE (0x90,0x00, "Scanner busy (FW busy)"); - + default: sprintf (textbuf, "Unknown sense code asc: 0x%02x, ascq: 0x%02x", (int)asc, (int)ascq); text = textbuf; } - + #undef ADDITIONAL_SENSE - + DBG (1, "sense_handler: sense code: %s\n", text); - + /* sense code specific for invalid request * it is possible to get a detailed error location here ;-)*/ if (sense_key == 0x05) { @@ -1883,10 +1882,10 @@ sense_handler (int fd, u_char* sense, void* arg) DBG (1, "sense_handler: error in command parameter\n"); else DBG (1, "sense_handler: error in data parameter\n"); - + DBG (1, "sense_handler: error in parameter byte: %d, %x\n", get_double(&(sense[16])), get_double(&(sense[16]))); - + /* bit pointer valid ?*/ if (sense[15] & (1<<3) ) DBG (1, "sense_handler: error in command parameter\n"); @@ -1895,7 +1894,7 @@ sense_handler (int fd, u_char* sense, void* arg) } } } - + return status; } @@ -1912,7 +1911,7 @@ avision_usb_status (Avision_Connection* av_con, int retry, int timeout) int t_retry = retry; #define valid_status(status,a) (status == SANE_STATUS_GOOD ? a : 0) - + DBG (4, "avision_usb_status: timeout %d, %d retries\n", timeout, retry); #ifndef HAVE_SANEI_USB_SET_TIMEOUT #error "You must update include/sane/sanei_usb.h and sanei/sanei_usb.c accordingly!" @@ -1928,7 +1927,7 @@ avision_usb_status (Avision_Connection* av_con, int retry, int timeout) --retry) { count = sizeof (usb_status); - + DBG (5, "==> (bulk read) going down ...\n"); status = sanei_usb_read_bulk (av_con->usb_dn, usb_status, &count); @@ -1939,10 +1938,10 @@ avision_usb_status (Avision_Connection* av_con, int retry, int timeout) av_con->usb_status = AVISION_USB_BULK_STATUS; } } - + /* reset retry count ... */ retry = t_retry; - + /* 2nd try interrupt status read - if not yet disabled */ for (; count == 0 && @@ -1952,23 +1951,23 @@ avision_usb_status (Avision_Connection* av_con, int retry, int timeout) --retry) { count = sizeof (usb_status); - + DBG (5, "==> (interrupt read) going down ...\n"); status = sanei_usb_read_int (av_con->usb_dn, usb_status, &count); DBG (5, "<== (interrupt read) got: %ld, status: %d\n", (u_long)count, valid_status(status, usb_status[0])); - + if (count > 0) av_con->usb_status = AVISION_USB_INT_STATUS; - } - + } + if (status != SANE_STATUS_GOOD) return status; - + if (count == 0) return SANE_STATUS_IO_ERROR; - + /* 0 = ok, 2 => request sense, 8 ==> busy, else error */ switch (usb_status[0]) { @@ -2051,7 +2050,7 @@ static SANE_Status avision_cmd (Avision_Connection* av_con, } else { SANE_Status status = SANE_STATUS_GOOD; - + size_t i, count, out_count; /* some commands on some devices need a rather long time to respond */ #define STD_TIMEOUT 30000 @@ -2065,11 +2064,11 @@ static SANE_Status avision_cmd (Avision_Connection* av_con, const uint8_t* m_cmd = (const uint8_t*)cmd; const uint8_t* m_src = (const uint8_t*)src; uint8_t* m_dst = (uint8_t*)dst; - + /* may I vote for the possibility to use C99 ... */ #define min_usb_size 10 #define max_usb_size 256 * 1024 /* or 0x10000, used by AV Windows driver during background raster read, ... ? */ - + /* 1st send command data - at least 10 Bytes for USB scanners */ uint8_t enlarged_cmd [min_usb_size]; if (cmd_size < min_usb_size) { @@ -2106,12 +2105,12 @@ write_usb_cmd: sanei_usb_set_timeout (write_timeout); DBG (8, "try to write cmd, count: %lu.\n", (u_long) count); status = sanei_usb_write_bulk (av_con->usb_dn, m_cmd, &count); - + DBG (8, "wrote %lu bytes\n", (u_long) count); if (status != SANE_STATUS_GOOD || count != cmd_size) { DBG (3, "=== Got error %d trying to write, wrote: %ld. ===\n", status, (long)count); - + if (status != SANE_STATUS_GOOD) /* == SANE_STATUS_EOF) */ { DBG (3, "try to read status to clear the FIFO\n"); status = avision_usb_status (av_con, 1, 500); @@ -2125,21 +2124,21 @@ write_usb_cmd: DBG (3, "Retrying to send command\n"); goto write_usb_cmd; } - + return SANE_STATUS_IO_ERROR; } - + /* 2nd send command data (if any) */ for (i = 0; i < src_size; ) { - + count = src_size - i; /* if (count > max_usb_size) count = max_usb_size; */ - + DBG (8, "try to write src, count: %lu.\n", (u_long) count); sanei_usb_set_timeout (write_timeout); status = sanei_usb_write_bulk (av_con->usb_dn, &(m_src[i]), &count); - + DBG (8, "wrote %lu bytes\n", (u_long) count); if (status == SANE_STATUS_GOOD) { i += count; @@ -2155,7 +2154,7 @@ write_usb_cmd: sanei_usb_set_timeout (read_timeout); while (out_count < *dst_size) { count = (*dst_size - out_count); - + DBG (8, "try to read %lu bytes\n", (u_long) count); status = sanei_usb_read_bulk(av_con->usb_dn, &(m_dst[out_count]), &count); @@ -2174,7 +2173,7 @@ write_usb_cmd: } } } - + /* last: read the device status via a pseudo interrupt transfer * this is needed - otherwise the scanner will hang ... */ sanei_usb_set_timeout (status_timeout); @@ -2182,49 +2181,49 @@ write_usb_cmd: /* next i/o hardening attempt - and yes this gets ugly ... */ if (status != SANE_STATUS_GOOD && status != SANE_STATUS_INVAL) goto write_usb_cmd; - + if (status == SANE_STATUS_INVAL) { struct { command_header header; uint8_t pad[4]; } sense_cmd; - + uint8_t sense_buffer[22]; - + DBG (3, "Error during status read!\n"); DBG (3, "=== Try to request sense ===\n"); - + /* we can not call avision_cmd recursively - we might ending in an endless recursion requesting sense for failing request sense transfers ...*/ - + memset (&sense_cmd, 0, sizeof (sense_cmd) ); memset (&sense_buffer, 0, sizeof (sense_buffer) ); sense_cmd.header.opc = AVISION_SCSI_REQUEST_SENSE; sense_cmd.header.len = sizeof (sense_buffer); - + count = sizeof(sense_cmd); - + DBG (8, "try to write %lu bytes\n", (u_long) count); sanei_usb_set_timeout (write_timeout); status = sanei_usb_write_bulk (av_con->usb_dn, (uint8_t*) &sense_cmd, &count); DBG (8, "wrote %lu bytes\n", (u_long) count); - + if (status != SANE_STATUS_GOOD) { DBG (3, "=== Got error %d trying to request sense! ===\n", status); } else { count = sizeof (sense_buffer); - + DBG (8, "try to read %lu bytes sense data\n", (u_long) count); sanei_usb_set_timeout (read_timeout); status = sanei_usb_read_bulk(av_con->usb_dn, sense_buffer, &count); DBG (8, "read %lu bytes sense data\n", (u_long) count); - + /* we need to read out the status from the scanner i/o buffer */ status = avision_usb_status (av_con, 1, status_timeout); - + /* some scanner return NEED_SENSE even after reading it */ if (status != SANE_STATUS_GOOD && status != SANE_STATUS_INVAL) DBG (3, "=== Got error %d trying to read sense! ===\n", status); @@ -2248,33 +2247,33 @@ bubble_sort (uint8_t* sort_data, size_t count) { size_t i, j, limit, k; double sum = 0.0; - + limit = count / 3; - + for (i = 0; i < limit; ++i) { uint16_t ti = 0; uint16_t tj = 0; - + for (j = (i + 1); j < count; ++j) { ti = get_double ((sort_data + i*2)); tj = get_double ((sort_data + j*2)); - + if (ti > tj) { set_double ((sort_data + i*2), tj); set_double ((sort_data + j*2), ti); } } } - + for (k = 0, i = limit; i < count; ++i) { sum += get_double ((sort_data + i*2)); ++ k; } - + /* DBG (7, "bubble_sort: %d values for average\n", k); */ - + if (k > 0) /* if avg to compute */ return (uint16_t) (sum / k); else @@ -2286,7 +2285,7 @@ add_color_mode (Avision_Device* dev, color_mode mode, SANE_String name) { int i; DBG (3, "add_color_mode: %d %s\n", mode, name); - + for (i = 0; i < AV_COLOR_MODE_LAST; ++i) { if (dev->color_list [i] == 0) { @@ -2298,7 +2297,7 @@ add_color_mode (Avision_Device* dev, color_mode mode, SANE_String name) return SANE_STATUS_GOOD; } } - + DBG (3, "add_color_mode: failed\n"); return SANE_STATUS_NO_MEM; } @@ -2307,13 +2306,13 @@ static int last_color_mode (Avision_Device* dev) { int i = 1; - + while (dev->color_list [i] != 0 && i < AV_COLOR_MODE_LAST) ++i; - + /* we are off by one */ --i; - + return i; } @@ -2331,7 +2330,7 @@ match_color_mode (Avision_Device* dev, SANE_String name) return dev->color_list_num [i]; } } - + DBG (3, "match_color_mode: source mode invalid\n"); return AV_GRAYSCALE; } @@ -2352,14 +2351,14 @@ static SANE_Bool is_adf_scan (Avision_Scanner* s) { return s->hw->scanner_type == AV_SHEETFEED || (s->hw->scanner_type == AV_FLATBED && s->source_mode_dim == AV_ADF_DIM); - + } static SANE_Status add_source_mode (Avision_Device* dev, source_mode mode, SANE_String name) { int i; - + for (i = 0; i < AV_SOURCE_MODE_LAST; ++i) { if (dev->source_list [i] == 0) { @@ -2371,7 +2370,7 @@ add_source_mode (Avision_Device* dev, source_mode mode, SANE_String name) return SANE_STATUS_GOOD; } } - + return SANE_STATUS_NO_MEM; } @@ -2379,7 +2378,7 @@ static source_mode match_source_mode (Avision_Device* dev, SANE_String name) { int i; - + DBG (3, "match_source_mode: \"%s\"\n", name); for (i = 0; i < AV_SOURCE_MODE_LAST; ++i) @@ -2390,7 +2389,7 @@ match_source_mode (Avision_Device* dev, SANE_String name) return dev->source_list_num [i]; } } - + DBG (3, "match_source_mode: source mode invalid\n"); return AV_NORMAL; } @@ -2399,7 +2398,7 @@ static source_mode_dim match_source_mode_dim (source_mode sm) { DBG (3, "match_source_mode_dim: %d\n", sm); - + switch (sm) { case AV_NORMAL: return AV_NORMAL_DIM; @@ -2420,7 +2419,7 @@ get_pixel_boundary (Avision_Scanner* s) { Avision_Device* dev = s->hw; int boundary; - + switch (s->c_mode) { case AV_TRUECOLOR: case AV_TRUECOLOR12: @@ -2447,7 +2446,7 @@ get_pixel_boundary (Avision_Scanner* s) default: boundary = 8; } - + return boundary; } @@ -2458,11 +2457,11 @@ compute_parameters (Avision_Scanner* s) int boundary = get_pixel_boundary (s); SANE_Bool gray_mode = color_mode_is_shaded (s->c_mode); - + /* interlaced duplex (higher end) or flipping paper (HP8xxx)? */ s->avdimen.interlaced_duplex = s->source_mode == AV_ADF_DUPLEX && dev->inquiry_duplex_interlaced; - + /* for infra-red we use the same code path es for interlaced duplex */ if (s->val[OPT_IR].w) @@ -2491,23 +2490,23 @@ compute_parameters (Avision_Scanner* s) break; } #endif - + DBG (3, "sane_compute_parameters:\n"); - + DBG (3, "sane_compute_parameters: boundary %d, gray_mode: %d, \n", boundary, gray_mode); - + /* TODO: Implement different x/y resolutions support */ s->avdimen.xres = s->val[OPT_RESOLUTION].w; s->avdimen.yres = s->val[OPT_RESOLUTION].w; - + /* soft scale ? */ if (dev->hw->feature_type & AV_SOFT_SCALE) { /* find supported hardware resolution */ const int* hw_res; const int* hw_res_list = dev->inquiry_asic_type == AV_ASIC_C5 ? hw_res_list_c5 : hw_res_list_generic; - + for (hw_res = hw_res_list; *hw_res && *hw_res < s->avdimen.xres; ++hw_res) /* just iterate */; s->avdimen.hw_xres = *hw_res; @@ -2515,11 +2514,11 @@ compute_parameters (Avision_Scanner* s) for (hw_res = hw_res_list; *hw_res && *hw_res < s->avdimen.yres; ++hw_res) /* just iterate */; s->avdimen.hw_yres = *hw_res; - + DBG (3, "sane_compute_parameters: soft scale, hw res: %dx%d\n", s->avdimen.hw_xres, s->avdimen.hw_yres); - + if (!s->avdimen.hw_xres || ! s->avdimen.hw_yres) { DBG (1, "sane_compute_parameters: no matching HW res for: %dx%d\n", s->avdimen.xres, @@ -2531,11 +2530,11 @@ compute_parameters (Avision_Scanner* s) s->avdimen.hw_xres = s->val[OPT_RESOLUTION].w; s->avdimen.hw_yres = s->val[OPT_RESOLUTION].w; } - + DBG (3, "sane_compute_parameters: tlx: %f, tly: %f, brx: %f, bry: %f\n", SANE_UNFIX (s->val[OPT_TL_X].w), SANE_UNFIX (s->val[OPT_TL_Y].w), SANE_UNFIX (s->val[OPT_BR_X].w), SANE_UNFIX (s->val[OPT_BR_Y].w)); - + /* window parameter in pixel */ s->avdimen.tlx = s->avdimen.hw_xres * SANE_UNFIX (s->val[OPT_TL_X].w) / MM_PER_INCH; @@ -2545,7 +2544,7 @@ compute_parameters (Avision_Scanner* s) / MM_PER_INCH; s->avdimen.bry = s->avdimen.hw_yres * SANE_UNFIX (s->val[OPT_BR_Y].w) / MM_PER_INCH; - + /* line difference */ if (color_mode_is_color (s->c_mode) && dev->inquiry_needs_software_colorpack && @@ -2553,27 +2552,27 @@ compute_parameters (Avision_Scanner* s) { s->avdimen.line_difference = (dev->inquiry_line_difference * s->avdimen.hw_yres) / dev->inquiry_optical_res; - + s->avdimen.bry += 2 * s->avdimen.line_difference; - + /* limit bry + line_difference to real scan boundary */ { long y_max = dev->inquiry_y_ranges[s->source_mode_dim] * s->avdimen.hw_yres / MM_PER_INCH; DBG (3, "sane_compute_parameters: y_max: %ld, bry: %ld, line_difference: %d\n", y_max, s->avdimen.bry, s->avdimen.line_difference); - + if (s->avdimen.bry + 2 * s->avdimen.line_difference > y_max) { DBG (1, "sane_compute_parameters: bry limited!\n"); s->avdimen.bry = y_max - 2 * s->avdimen.line_difference; } } - + } /* end if needs software colorpack */ else { s->avdimen.line_difference = 0; } - + /* add overscan */ if (dev->inquiry_tune_scan_length && is_adf_scan (s)) { /* some extra effort for precise rounding ... */ @@ -2584,7 +2583,7 @@ compute_parameters (Avision_Scanner* s) DBG (3, "sane_compute_parameters: overscan lines: %d\n", overscan); s->avdimen.bry += overscan; } - + /* rear offset compensation */ if (s->avdimen.interlaced_duplex && dev->hw->feature_type & AV_REAR_OFFSET) { const double offset = 0.5; /* in current affected models 1/2 inch */ @@ -2598,16 +2597,16 @@ compute_parameters (Avision_Scanner* s) } memset (&s->params, 0, sizeof (s->params)); - + s->avdimen.hw_pixels_per_line = (s->avdimen.brx - s->avdimen.tlx); s->avdimen.hw_pixels_per_line -= s->avdimen.hw_pixels_per_line % boundary; - + s->avdimen.hw_lines = (s->avdimen.bry - s->avdimen.tly - 2 * s->avdimen.line_difference); - + if (s->avdimen.interlaced_duplex && dev->scanner_type != AV_FILM) s->avdimen.hw_lines -= s->avdimen.hw_lines % dev->read_stripe_size; - + s->params.pixels_per_line = s->avdimen.hw_pixels_per_line * s->avdimen.xres / s->avdimen.hw_xres; s->params.lines = s->avdimen.hw_lines * s->avdimen.xres / s->avdimen.hw_xres; if (is_adf_scan (s)) @@ -2615,9 +2614,9 @@ compute_parameters (Avision_Scanner* s) s->params.lines = -1; if (s->c_mode == AV_THRESHOLDED || s->c_mode == AV_DITHERED) s->params.pixels_per_line -= s->params.pixels_per_line % 8; - + debug_print_avdimen (1, "sane_compute_parameters", &s->avdimen); - + switch (s->c_mode) { case AV_THRESHOLDED: @@ -2662,9 +2661,9 @@ compute_parameters (Avision_Scanner* s) DBG (1, "Invalid mode. %d\n", s->c_mode); return SANE_STATUS_INVAL; } /* end switch */ - + s->params.last_frame = SANE_TRUE; - + debug_print_params (1, "sane_compute_parameters", &s->params); return SANE_STATUS_GOOD; } @@ -2675,26 +2674,26 @@ inquiry (Avision_Connection av_con, uint8_t* data, size_t len) SANE_Status status; command_header inquiry; int try = 2; - + DBG (3, "inquiry: length: %ld\n", (long)len); - + memset (&inquiry, 0, sizeof(inquiry)); inquiry.opc = AVISION_SCSI_INQUIRY; inquiry.len = len; - + do { size_t size = inquiry.len; - + DBG (3, "inquiry: inquiring ...\n"); status = avision_cmd (&av_con, &inquiry, sizeof (inquiry), 0, 0, data, &size); if (status == SANE_STATUS_GOOD && size == inquiry.len) break; - + DBG (1, "inquiry: inquiry failed (%s)\n", sane_strstatus (status)); --try; } while (try > 0); - + return status; } @@ -2703,14 +2702,14 @@ wait_ready (Avision_Connection* av_con, int delay) { SANE_Status status; int try; - + for (try = 0; try < 10; ++ try) { DBG (3, "wait_ready: sending TEST_UNIT_READY\n"); status = avision_cmd (av_con, test_unit_ready, sizeof (test_unit_ready), 0, 0, 0, 0); sleep (delay); - + switch (status) { default: @@ -2734,45 +2733,45 @@ static SANE_Status wait_4_light (Avision_Scanner* s) { Avision_Device* dev = s->hw; - + /* read stuff */ struct command_read rcmd; char* light_status[] = - { "off", "on", "warming up", "needs warm up test", + { "off", "on", "warming up", "needs warm up test", "light check error", "backlight on", "RESERVED" }; - + SANE_Status status; uint8_t result; int try; size_t size = 1; - + DBG (3, "wait_4_light: getting light status.\n"); - + memset (&rcmd, 0, sizeof (rcmd)); - + rcmd.opc = AVISION_SCSI_READ; rcmd.datatypecode = 0xa0; /* get light status */ set_double (rcmd.datatypequal, dev->data_dq); set_triple (rcmd.transferlen, size); - + for (try = 0; try < 90; ++ try) { if (s->cancelled) { DBG (3, "wait_4_light: cancelled\n"); return SANE_STATUS_CANCELLED; } - + DBG (5, "wait_4_light: read bytes %lu\n", (u_long) size); status = avision_cmd (&s->av_con, &rcmd, sizeof (rcmd), 0, 0, &result, &size); - + if (status != SANE_STATUS_GOOD || size != sizeof (result)) { DBG (1, "wait_4_light: read failed (%s)\n", sane_strstatus (status)); return status; } - + DBG (3, "wait_4_light: command is %d. Result is %d (%s)\n", status, result, light_status[(result>5)?6:result]); - + if (result == 1 || result == 5) { return SANE_STATUS_GOOD; } @@ -2783,20 +2782,20 @@ wait_4_light (Avision_Scanner* s) else { struct command_send scmd; uint8_t light_on = 1; - + /* turn on the light */ DBG (3, "wait_4_light: setting light status.\n"); - + memset (&scmd, 0, sizeof (scmd)); - + scmd.opc = AVISION_SCSI_SEND; scmd.datatypecode = 0xa0; /* send light status */ set_double (scmd.datatypequal, dev->data_dq); set_triple (scmd.transferlen, size); - + status = avision_cmd (&s->av_con, &scmd, sizeof (scmd), &light_on, sizeof (light_on), 0, 0); - + if (status != SANE_STATUS_GOOD) { DBG (1, "wait_4_light: send failed (%s)\n", sane_strstatus (status)); return status; @@ -2804,7 +2803,7 @@ wait_4_light (Avision_Scanner* s) } sleep (1); } - + DBG (1, "wait_4_light: timed out after %d attempts\n", try); return SANE_STATUS_DEVICE_BUSY; } @@ -2846,27 +2845,27 @@ get_firmware_status (Avision_Connection* av_con) SANE_Status status; firmware_status result; - + DBG (3, "get_firmware_status\n"); - + size = sizeof (result); - + memset (&rcmd, 0, sizeof (rcmd)); rcmd.opc = AVISION_SCSI_READ; - + rcmd.datatypecode = 0x90; /* firmware status */ set_double (rcmd.datatypequal, 0); /* dev->data_dq not available */ set_triple (rcmd.transferlen, size); - + status = avision_cmd (av_con, &rcmd, sizeof (rcmd), 0, 0, &result, &size); if (status != SANE_STATUS_GOOD || size != sizeof (result)) { DBG (1, "get_firmware_status: read failed (%s)\n", sane_strstatus (status)); return (status); } - + debug_print_raw (6, "get_firmware_status: raw data:\n", (uint8_t*)&result, size); - + DBG (3, "get_firmware_status: [0] needs firmware %x\n", result.download_firmware); DBG (3, "get_firmware_status: [1] side edge: %d\n", get_double ( result.first_effective_pixel_flatbed )); DBG (3, "get_firmware_status: [3] side edge: %d\n", get_double ( result.first_effective_pixel_adf_front )); @@ -2883,28 +2882,28 @@ get_flash_ram_info (Avision_Connection* av_con) size_t size; SANE_Status status; uint8_t result[40]; - + DBG (3, "get_flash_ram_info\n"); - + size = sizeof (result); - + memset (&rcmd, 0, sizeof (rcmd)); rcmd.opc = AVISION_SCSI_READ; - + rcmd.datatypecode = 0x6a; /* flash ram information */ set_double (rcmd.datatypequal, 0); /* dev->data_dq not available */ set_triple (rcmd.transferlen, size); - + status = avision_cmd (av_con, &rcmd, sizeof (rcmd), 0, 0, result, &size); if (status != SANE_STATUS_GOOD || size != sizeof (result)) { DBG (1, "get_flash_ram_info: read failed (%s)\n", sane_strstatus (status)); return (status); } - + debug_print_raw (6, "get_flash_ram_info: raw data:\n", result, size); - - DBG (3, "get_flash_ram_info: [0] data type %x\n", result [0]); + + DBG (3, "get_flash_ram_info: [0] data type %x\n", result [0]); DBG (3, "get_flash_ram_info: [1] Ability1:%s%s%s%s%s%s%s%s\n", BIT(result[1],7)?" RESERVED_BIT7":"", BIT(result[1],6)?" RESERVED_BIT6":"", @@ -2914,7 +2913,7 @@ get_flash_ram_info (Avision_Connection* av_con) BIT(result[1],2)?" RAWLINE(r)":"", BIT(result[1],1)?" FIRMWARE(r/w)":"", BIT(result[1],0)?" CTAB(r/w)":""); - + DBG (3, "get_flash_ram_info: [2-5] size CTAB: %d\n", get_quad ( &(result[2]) ) ); @@ -2938,7 +2937,7 @@ get_flash_ram_info (Avision_Connection* av_con) DBG (3, "get_flash_ram_info: [30-33] size RESERVED: %d\n", get_quad ( &(result[30]) ) ); - + return SANE_STATUS_GOOD; } @@ -2947,23 +2946,23 @@ get_nvram_data (Avision_Scanner* s, nvram_data* nvram) { /* read stuff */ struct command_send rcmd; - + size_t size; SANE_Status status; - + DBG (3, "get_nvram_data\n"); - + size = sizeof (*nvram); - + memset (&rcmd, 0, sizeof (rcmd)); memset (nvram, 0, size); - + rcmd.opc = AVISION_SCSI_READ; - + rcmd.datatypecode = 0x69; /* Read NVM RAM data */ set_double (rcmd.datatypequal, 0); /* dev->data_dq not available */ set_triple (rcmd.transferlen, size); - + status = avision_cmd (&s->av_con, &rcmd, sizeof (rcmd), 0, 0, nvram, &size); if (status != SANE_STATUS_GOOD) { @@ -2971,9 +2970,9 @@ get_nvram_data (Avision_Scanner* s, nvram_data* nvram) sane_strstatus (status)); return (status); } - + debug_print_nvram_data (5, "get_nvram_data", nvram); - + return SANE_STATUS_GOOD; } @@ -2985,7 +2984,7 @@ get_and_parse_nvram (Avision_Scanner* s, char* str, int n) int x; nvram_data nvram; uint8_t inquiry_result [AVISION_INQUIRY_SIZE_V1]; - + status = inquiry (s->av_con, inquiry_result, sizeof(inquiry_result)); if (status == SANE_STATUS_GOOD) { i += snprintf (str+i, n-i, "Vendor: %.8s", @@ -2995,17 +2994,17 @@ get_and_parse_nvram (Avision_Scanner* s, char* str, int n) i += snprintf (str+i, n-i, "\nFirmware: %.4s", inquiry_result+32); } - + if (!s->hw->inquiry_nvram_read) return SANE_STATUS_GOOD; - + status = get_nvram_data (s, &nvram); if (status == SANE_STATUS_GOOD) { if (nvram.serial[0]) i += snprintf (str+i, n-i, "\nSerial: %.24s", nvram.serial); - + if (nvram.born_year) i += snprintf (str+i, n-i, "\nManufacturing date: %d-%d-%d", get_double(nvram.born_year), @@ -3016,7 +3015,7 @@ get_and_parse_nvram (Avision_Scanner* s, char* str, int n) get_double(nvram.first_scan_year), get_double(nvram.first_scan_month), get_double(nvram.first_scan_day)); - + x = get_quad (nvram.flatbed_scans); if (x) i += snprintf (str+i, n-i, "\nFlatbed scans: %d", x); @@ -3030,7 +3029,7 @@ get_and_parse_nvram (Avision_Scanner* s, char* str, int n) if (x) i += snprintf (str+i, n-i, "\nADF duplex scans: %d", x); } - + return status; } @@ -3039,21 +3038,21 @@ get_power_save_time (Avision_Scanner* s, SANE_Word* time) { SANE_Status status; nvram_data nvram; - + DBG (3, "get_power_save_time\n"); - + if (!s->hw->inquiry_nvram_read) return SANE_STATUS_INVAL; - + status = get_nvram_data (s, &nvram); - + if (status != SANE_STATUS_GOOD) { DBG (1, "get_power_save_time: read nvram failed (%s)\n", sane_strstatus (status)); return status; } - + *time = get_double (nvram.power_saving_time); - + return SANE_STATUS_GOOD; } @@ -3066,18 +3065,18 @@ send_nvram_data (Avision_Connection* av_con) struct command_send scmd; size_t size; SANE_Status status; - + DBG (3, "send_nvram_data\n"); - + size = sizeof (c7_nvram); - + memset (&scmd, 0, sizeof (scmd)); scmd.opc = AVISION_SCSI_SEND; - + scmd.datatypecode = 0x85; /* nvram data */ set_double (scmd.datatypequal, 0); /* dev->data_dq not available */ set_triple (scmd.transferlen, size); - + status = avision_cmd (av_con, &scmd, sizeof (scmd), &c7_nvram, size, 0, 0); if (status != SANE_STATUS_GOOD) { @@ -3085,7 +3084,7 @@ send_nvram_data (Avision_Connection* av_con) sane_strstatus (status)); return (status); } - + return SANE_STATUS_GOOD; } @@ -3096,18 +3095,18 @@ send_flash_ram_data (Avision_Connection* av_con) struct command_send scmd; size_t size; SANE_Status status; - + DBG (3, "send_flash_ram_data\n"); - + size = sizeof (c7_flash_ram); - + memset (&scmd, 0, sizeof (scmd)); scmd.opc = AVISION_SCSI_SEND; - + scmd.datatypecode = 0x86; /* flash data */ set_double (scmd.datatypequal, 0); set_triple (scmd.transferlen, size); - + status = avision_cmd (av_con, &scmd, sizeof (scmd), &c7_flash_ram, size, 0, 0); if (status != SANE_STATUS_GOOD) { @@ -3115,7 +3114,7 @@ send_flash_ram_data (Avision_Connection* av_con) sane_strstatus (status)); return (status); } - + return SANE_STATUS_GOOD; } #endif @@ -3177,28 +3176,28 @@ get_accessories_info (Avision_Scanner* s) { Avision_Device* dev = s->hw; int try = 3; - + /* read stuff */ struct command_read rcmd; size_t size; SANE_Status status; uint8_t result[8]; - + char* adf_model[] = { "Origami", "Oodles", "HP9930", "unknown" }; const int adf_models = sizeof (adf_model) / sizeof(char*) - 1; - + DBG (3, "get_accessories_info\n"); - + size = sizeof (result); - + memset (&rcmd, 0, sizeof (rcmd)); rcmd.opc = AVISION_SCSI_READ; - + rcmd.datatypecode = 0x64; /* detect accessories */ set_double (rcmd.datatypequal, dev->data_dq); set_triple (rcmd.transferlen, size); - + /* after resetting the ADF unit, try reprobing it again */ RETRY: @@ -3291,7 +3290,7 @@ string_for_button (Avision_Scanner* s, int button) case 2: return "duplex"; } } - + if (strcmp (dev->sane.model, "AV210C2") == 0 || strcmp (dev->sane.model, "AV210D2+") == 0 || strcmp (dev->sane.model, "AV220C2") == 0 || @@ -3303,7 +3302,7 @@ string_for_button (Avision_Scanner* s, int button) else goto return_scan; } - + /* those are unique, right now */ if (strcmp (dev->sane.model, "AV610") == 0) { @@ -3314,11 +3313,11 @@ string_for_button (Avision_Scanner* s, int button) case 2: return "scan"; } } - + /* last resort */ snprintf (buffer, sizeof (buffer), "button%d", button); return buffer; - + return_scan: return "scan"; } @@ -3327,7 +3326,7 @@ static SANE_Status get_button_status (Avision_Scanner* s) { Avision_Device* dev = s->hw; - + /* read stuff */ struct command_read rcmd; size_t size; @@ -3341,21 +3340,21 @@ get_button_status (Avision_Scanner* s) } result; unsigned int i; - + DBG (3, "get_button_status:\n"); - + size = sizeof (result); - + /* AV220 et.al. */ if (! (dev->hw->feature_type & AV_INT_BUTTON)) { memset (&rcmd, 0, sizeof (rcmd)); rcmd.opc = AVISION_SCSI_READ; - + rcmd.datatypecode = 0xA1; /* button status */ set_double (rcmd.datatypequal, dev->data_dq); set_triple (rcmd.transferlen, size); - + status = avision_cmd (&s->av_con, &rcmd, sizeof (rcmd), 0, 0, (uint8_t*)&result, &size); if (status != SANE_STATUS_GOOD || size != sizeof (result)) { @@ -3367,7 +3366,7 @@ get_button_status (Avision_Scanner* s) { /* only try to read the first 8 bytes ...*/ size = 8; - + /* no SCSI equivalent */ /* either there was a button press and this completes quickly or there is no point waiting for a future press */ @@ -3376,21 +3375,21 @@ get_button_status (Avision_Scanner* s) status = sanei_usb_read_int (s->av_con.usb_dn, (uint8_t*)&result, &size); DBG (5, "==> (interrupt read) got: %ld\n", (long)size); - + if (status != SANE_STATUS_GOOD) { DBG (1, "get_button_status: interrupt read failed (%s)\n", sane_strstatus (status)); return SANE_STATUS_GOOD; } - + if (size < sizeof (result)) memset ((char*)result.buttons + size, 0, sizeof (result) - size); - + /* hack to fill in meaningful values for the AV 210 / 610 and under some conditions the AV 220 */ if (size == 1) { /* AV 210, AV 610 */ DBG (1, "get_button_status: just one byte, filling the rest\n"); - + if (result.press_state > 0) { debug_print_raw (6, "get_button_status: raw data\n", (uint8_t*)&result, size); @@ -3402,72 +3401,72 @@ get_button_status (Avision_Scanner* s) return SANE_STATUS_GOOD; } else if (size >= 8 && result.press_state == 0) { /* AV 220 */ - + debug_print_raw (6, "get_button_status: raw data\n", (uint8_t*)&result, size); - + DBG (1, "get_button_status: zero buttons - filling values ...\n"); - + /* simulate button press of the last button ... */ result.press_state = 0x80 | 1; result.buttons[0] = dev->inquiry_buttons; /* 1 based */ } } - + debug_print_raw (6, "get_button_status: raw data\n", (uint8_t*)&result, size); - + DBG (3, "get_button_status: [0] Button status: %x\n", result.press_state); for (i = 0; i < 5; ++i) DBG (3, "get_button_status: [%d] Button number %d: %x\n", i+1, i, result.buttons[i]); DBG (3, "get_button_status: [7] Display: %d\n", result.display); - + { char* message_begin = s->val[OPT_MESSAGE].s; char* message_end = s->val[OPT_MESSAGE].s + s->opt[OPT_MESSAGE].size; char* message = message_begin; - + #define add_token(format,value) do { \ int n = snprintf (message, message_end - message, "%s" format, \ message == message_begin ? "" : ":", value); \ message += n > 0 ? n : 0; \ } while (0) - + if (result.display > 0) add_token ("%d", result.display); - + if (result.press_state >> 7) /* AV220 et.al. bit 6 is long/short press? */ { - + const unsigned int buttons_pressed = result.press_state & 0x7F; DBG (3, "get_button_status: %d button(s) pressed\n", buttons_pressed); - + /* reset the hardware button status */ if (! (dev->hw->feature_type & AV_INT_BUTTON)) { struct command_send scmd; uint8_t button_reset = 1; - + DBG (3, "get_button_status: resetting status\n"); - + memset (&scmd, 0, sizeof (scmd)); - + scmd.opc = AVISION_SCSI_SEND; scmd.datatypecode = 0xA1; /* button control */ set_double (scmd.datatypequal, dev->data_dq); set_triple (scmd.transferlen, size); - + status = avision_cmd (&s->av_con, &scmd, sizeof (scmd), &button_reset, sizeof (button_reset), 0, 0); - + if (status != SANE_STATUS_GOOD) { DBG (1, "get_button_status: send failed (%s)\n", sane_strstatus (status)); return status; } } - + for (i = 0; i < buttons_pressed; ++i) { const unsigned int button = result.buttons[i] - 1; /* 1 based ... */ DBG (3, "get_button_status: button %d pressed\n", button); @@ -3487,7 +3486,7 @@ get_button_status (Avision_Scanner* s) else DBG (3, "get_button_status: no button pressed\n"); } - + return SANE_STATUS_GOOD; #undef add_token } @@ -3496,33 +3495,33 @@ static SANE_Status get_frame_info (Avision_Scanner* s) { Avision_Device* dev = s->hw; - + /* read stuff */ struct command_read rcmd; size_t size; SANE_Status status; uint8_t result[8]; size_t i; - + DBG (3, "get_frame_info:\n"); - + size = sizeof (result); - + memset (&rcmd, 0, sizeof (rcmd)); rcmd.opc = AVISION_SCSI_READ; - + rcmd.datatypecode = 0x87; /* film holder sense */ set_double (rcmd.datatypequal, dev->data_dq); set_triple (rcmd.transferlen, size); - + status = avision_cmd (&s->av_con, &rcmd, sizeof (rcmd), 0, 0, result, &size); if (status != SANE_STATUS_GOOD || size != sizeof (result)) { DBG (1, "get_frame_info: read failed (%s)\n", sane_strstatus (status)); return (status); } - + debug_print_raw (6, "get_frame_info: raw data\n", result, size); - + DBG (3, "get_frame_info: [0] Holder type: %s\n", (result[0]==1)?"APS": (result[0]==2)?"Film holder (35mm)": @@ -3531,24 +3530,24 @@ get_frame_info (Avision_Scanner* s) DBG (3, "get_frame_info: [1] Current frame number: %d\n", result[1]); DBG (3, "get_frame_info: [2] Frame amount: %d\n", result[2]); DBG (3, "get_frame_info: [3] Mode: %s\n", BIT(result[3],4)?"APS":"Not APS"); - DBG (3, "get_frame_info: [3] Exposures (if APS): %s\n", + DBG (3, "get_frame_info: [3] Exposures (if APS): %s\n", ((i=(BIT(result[3],3)<<1)+BIT(result[2],2))==0)?"Unknown": (i==1)?"15":(i==2)?"25":"40"); - DBG (3, "get_frame_info: [3] Film Type (if APS): %s\n", + DBG (3, "get_frame_info: [3] Film Type (if APS): %s\n", ((i=(BIT(result[1],3)<<1)+BIT(result[0],2))==0)?"Unknown": (i==1)?"B&W Negative":(i==2)?"Color slide":"Color Negative"); dev->holder_type = result[0]; dev->current_frame = result[1]; - + dev->frame_range.min = 1; dev->frame_range.quant = 1; - + if (result[0] != 0xff) dev->frame_range.max = result[2]; else dev->frame_range.max = 1; - + return SANE_STATUS_GOOD; } @@ -3556,7 +3555,7 @@ static SANE_Status get_duplex_info (Avision_Scanner* s) { Avision_Device* dev = s->hw; - + /* read stuff */ struct command_read rcmd; @@ -3567,30 +3566,30 @@ get_duplex_info (Avision_Scanner* s) uint8_t lineart_line_difference[2]; uint8_t image_info; } result; - + size_t size; SANE_Status status; - + DBG (3, "get_duplex_info:\n"); - + size = sizeof (result); - + memset (&rcmd, 0, sizeof (rcmd)); rcmd.opc = AVISION_SCSI_READ; - + rcmd.datatypecode = 0xB1; /* read duplex info */ set_double (rcmd.datatypequal, dev->data_dq); set_triple (rcmd.transferlen, size); - + status = avision_cmd (&s->av_con, &rcmd, sizeof (rcmd), 0, 0, &result, &size); if (status != SANE_STATUS_GOOD || size != sizeof (result)) { DBG (1, "get_duplex_info: read failed (%s)\n", sane_strstatus (status)); return (status); } - + debug_print_raw (6, "get_duplex_info: raw data\n", (uint8_t*)&result, size); - + DBG (3, "get_duplex_info: [0] Mode: %s%s\n", BIT(result.mode,0)?"MERGED_PAGES":"", BIT(result.mode,1)?"2ND_PAGE_FOLLOWS":""); @@ -3606,7 +3605,7 @@ get_duplex_info (Avision_Scanner* s) BIT(result.image_info,1)?" ADF_BGR":" ADF_RGB", BIT(result.image_info,2)?" FLATBED_NEEDS_MIRROR_IMAGE":"", BIT(result.image_info,3)?" ADF_NEEDS_MIRROR_IMAGE":""); - + return SANE_STATUS_GOOD; } @@ -3617,45 +3616,45 @@ set_frame (Avision_Scanner* s, SANE_Word frame) struct command_send cmd; uint8_t data[8]; } scmd; - + Avision_Device* dev = s->hw; SANE_Status status; - + DBG (3, "set_frame: request frame %d\n", frame); - + /* Better check the current status of the film holder, because it can be changed between scans. */ status = get_frame_info (s); if (status != SANE_STATUS_GOOD) return status; - + /* No film holder? */ if (dev->holder_type == 0xff) { DBG (1, "set_frame: No film holder!!\n"); return SANE_STATUS_INVAL; } - + /* Requesting frame 0xff indicates eject/rewind */ if (frame != 0xff && (frame < 1 || frame > dev->frame_range.max) ) { DBG (1, "set_frame: Illegal frame (%d) requested (min=1, max=%d)\n", - frame, dev->frame_range.max); + frame, dev->frame_range.max); return SANE_STATUS_INVAL; } - + memset (&scmd, 0, sizeof (scmd)); scmd.cmd.opc = AVISION_SCSI_SEND; scmd.cmd.datatypecode = 0x87; /* send film holder "sense" */ set_double (scmd.cmd.datatypequal, dev->data_dq); set_triple (scmd.cmd.transferlen, sizeof (scmd.data) ); - + scmd.data[0] = dev->holder_type; - scmd.data[1] = frame; - + scmd.data[1] = frame; + status = avision_cmd (&s->av_con, &scmd.cmd, sizeof (scmd.cmd), &scmd.data, sizeof (scmd.data), 0, 0); if (status != SANE_STATUS_GOOD) { DBG (1, "set_frame: send_data (%s)\n", sane_strstatus (status)); - } + } return status; } @@ -3669,20 +3668,20 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, Avision_Device* dev; SANE_Status status; - + Avision_Connection av_con; char mfg [9]; char model [17]; char rev [5]; - + unsigned int i; char* s; SANE_Bool found; - + DBG (3, "attach:\n"); memset (result, 0, sizeof(result)); - + for (dev = first_dev; dev; dev = dev->next) if (strcmp (dev->sane.name, devname) == 0) { if (devp) @@ -3693,25 +3692,25 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, av_con.connection_type = con_type; if (av_con.connection_type == AV_USB) av_con.usb_status = AVISION_USB_UNTESTED_STATUS; - + /* set known USB status type */ if (attaching_hw && attaching_hw->feature_type & AV_INT_STATUS) av_con.usb_status = AVISION_USB_INT_STATUS; - + DBG (3, "attach: opening %s\n", devname); status = avision_open (devname, &av_con, sense_handler, 0); if (status != SANE_STATUS_GOOD) { DBG (1, "attach: open failed (%s)\n", sane_strstatus (status)); return SANE_STATUS_INVAL; } - + /* first: get the standard inquiry? */ status = inquiry (av_con, result, AVISION_INQUIRY_SIZE_V1); if (status != SANE_STATUS_GOOD) { DBG (1, "attach: 1st inquiry failed (%s)\n", sane_strstatus (status)); return status; } - + /* copy string information - and zero terminate them c-style */ memcpy (&mfg, result + 8, 8); mfg [8] = 0; @@ -3719,7 +3718,7 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, model [16] = 0; memcpy (&rev, result + 32, 4); rev [4] = 0; - + /* shorten strings (-1 for last index -1 for last 0; >0 because one char at least) */ for (i = sizeof (mfg) - 2; i > 0; i--) { @@ -3734,10 +3733,10 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, else break; } - + DBG (1, "attach: Inquiry gives mfg=%s, model=%s, product revision=%s.\n", mfg, model, rev); - + model_num = 0; found = 0; /* while not at at end of list NULL terminator */ @@ -3746,7 +3745,7 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, { int matches = 0, match_count = 0; /* count number of matches */ DBG (1, "attach: Checking model: %d\n", model_num); - + if (Avision_Device_List[model_num].scsi_mfg) { ++match_count; if (strcmp(mfg, Avision_Device_List[model_num].scsi_mfg) == 0) @@ -3757,7 +3756,7 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, if (strcmp(model, Avision_Device_List[model_num].scsi_model) == 0) ++matches; } - + /* we need 2 matches (mfg, model) for SCSI entries, or the ones available for "we know what we are looking for" USB entries */ if ((attaching_hw == &(Avision_Device_List [model_num]) && @@ -3775,16 +3774,16 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, } ++model_num; } - + if (!found) { DBG (0, "attach: \"%s\" - \"%s\" not yet in whitelist!\n", mfg, model); DBG (0, "attach: You might want to report this output.\n"); DBG (0, "attach: To: rene@exactcode.de (the Avision backend author)\n"); - + status = SANE_STATUS_INVAL; goto close_scanner_and_return; } - + /* second: maybe ask for the firmware status and flash ram info */ if (Avision_Device_List [model_num].feature_type & AV_FIRMWARE) { @@ -3795,7 +3794,7 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, sane_strstatus (status)); goto close_scanner_and_return; } - + DBG (3, "attach: reading flash ram info\n"); status = get_flash_ram_info (&av_con); if (status != SANE_STATUS_GOOD) { @@ -3803,7 +3802,7 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, sane_strstatus (status)); goto close_scanner_and_return; } - + #ifdef FIRMWARE_DATABASE_INCLUDED /* Send new NV-RAM (firmware) data */ status = send_nvram_data (&av_con); @@ -3811,7 +3810,7 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, goto close_scanner_and_return; #endif } - + /* third: get the extended Avision inquiry */ status = inquiry (av_con, result, AVISION_INQUIRY_SIZE_V1); if (status != SANE_STATUS_GOOD) { @@ -3824,17 +3823,17 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, status = SANE_STATUS_NO_MEM; goto close_scanner_and_return; } - + memset (dev, 0, sizeof (*dev)); dev->hw = &Avision_Device_List[model_num]; - + dev->sane.name = strdup (devname); dev->sane.vendor = dev->hw->real_mfg ? dev->hw->real_mfg : strdup (mfg); dev->sane.model = dev->hw->real_model ? dev->hw->real_model : strdup (model); dev->connection.connection_type = av_con.connection_type; dev->connection.usb_status = av_con.usb_status; - + /* and finally Avision even extended this one later on the AV220C2 does not grok this */ dev->inquiry_asic_type = (int) result[91]; @@ -3846,13 +3845,13 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, goto close_scanner_and_return; } } - + debug_print_raw (6, "attach: raw data:\n", result, sizeof (result) ); - + DBG (3, "attach: [8-15] Vendor id.: '%8.8s'\n", result+8); DBG (3, "attach: [16-31] Product id.: '%16.16s'\n", result+16); DBG (3, "attach: [32-35] Product rev.: '%4.4s'\n", result+32); - + i = (result[36] >> 4) & 0x7; switch (result[36] & 0x07) { case 0: @@ -3873,7 +3872,7 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, DBG (3, "attach: [37] Optical res.: %d00 dpi\n", result[37]); DBG (3, "attach: [38] Maximum res.: %d00 dpi\n", result[38]); - + DBG (3, "attach: [39] Bitfield1:%s%s%s%s%s%s\n", BIT(result[39],7)?" TRANS":"", BIT(result[39],6)?" Q_SCAN":"", @@ -3881,7 +3880,7 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type, BIT(result[39],4)?" SUPPORTS_CALIB":"", BIT(result[39],2)?" NEW_PROTOCOL":"", (result[39] & 0x03) == 0x03 ? " AVISION":" OEM"); - + DBG (3, "attach: [40-41] X res. in gray: %d dpi\n", get_double ( &(result[40]) )); DBG (3, "attach: [42-43] Y res. in gray: %d dpi\n", @@ -3920,7 +3919,7 @@ get_double ( &(result[48] ) )); BIT(result[52],2)?" INDEX_COLOR":"", BIT(result[52],1)?" POWER_SAVING_TIMER":"", BIT(result[52],0)?" NVM_DATA_REC":""); - + /* print some more scanner features/params */ DBG (3, "attach: [53] line difference (software color pack): %d\n", result[53]); DBG (3, "attach: [54] color mode pixel boundary: %d\n", result[54]); @@ -3929,13 +3928,13 @@ get_double ( &(result[48] ) )); DBG (3, "attach: [57] lineart mode pixel boundary: %d\n", result[57]); DBG (3, "attach: [58] halftone mode pixel boundary: %d\n", result[58]); DBG (3, "attach: [59] error-diffusion mode pixel boundary: %d\n", result[59]); - + DBG (3, "attach: [60] channels per pixel:%s%s%s\n", BIT(result[60],7)?" 1":"", BIT(result[60],6)?" 3":"", (result[60] & 0x3F) != 0 ? " RESERVED":""); - - DBG (3, "attach: [61] bits per channel:%s%s%s%s%s%s%s\n", + + DBG (3, "attach: [61] bits per channel:%s%s%s%s%s%s%s\n", BIT(result[61],7)?" 1":"", BIT(result[61],6)?" 4":"", BIT(result[61],5)?" 6":"", @@ -3943,40 +3942,40 @@ get_double ( &(result[48] ) )); BIT(result[61],3)?" 10":"", BIT(result[61],2)?" 12":"", BIT(result[61],1)?" 16":""); - - DBG (3, "attach: [62] scanner type:%s%s%s%s%s%s\n", + + DBG (3, "attach: [62] scanner type:%s%s%s%s%s%s\n", BIT(result[62],7)?" Flatbed":"", BIT(result[62],6)?" Roller (ADF)":"", BIT(result[62],5)?" Flatbed (ADF)":"", BIT(result[62],4)?" Roller":"", /* does not feed multiple pages, AV25 */ BIT(result[62],3)?" Film scanner":"", BIT(result[62],2)?" Duplex":""); - + DBG (3, "attach: [75-76] Max shading target : %x\n", get_double ( &(result[75]) )); - + DBG (3, "attach: [77-78] Max X of transparency: %d dots * base_dpi\n", get_double ( &(result[77]) )); DBG (3, "attach: [79-80] Max Y of transparency: %d dots * base_dpi\n", get_double ( &(result[79]) )); - + DBG (3, "attach: [81-82] Max X of flatbed: %d dots * base_dpi\n", get_double ( &(result[81]) )); DBG (3, "attach: [83-84] Max Y of flatbed: %d dots * base_dpi\n", get_double ( &(result[83]) )); - + DBG (3, "attach: [85-86] Max X of ADF: %d dots * base_dpi\n", get_double ( &(result[85]) )); DBG (3, "attach: [87-88] Max Y of ADF: %d dots * base_dpi\n", get_double ( &(result[87]) )); /* 0xFFFF means unlimited length */ - + DBG (3, "attach: [89-90] Res. in Ex. mode: %d dpi\n", get_double ( &(result[89]) )); - + DBG (3, "attach: [91] ASIC: %d\n", result[91]); - + DBG (3, "attach: [92] Buttons: %d\n", result[92]); - + DBG (3, "attach: [93] ESA4:%s%s%s%s%s%s%s%s\n", BIT(result[93],7)?" SUPPORTS_ACCESSORIES_DETECT":"", BIT(result[93],6)?" ADF_IS_BGR_ORDERED":"", @@ -3986,7 +3985,7 @@ get_double ( &(result[48] ) )); BIT(result[93],2)?" SUPPORTS_LIGHT_DETECT":"", BIT(result[93],1)?" SUPPORTS_READ_PRNU_DATA":"", BIT(result[93],0)?" FLATBED_MIRRORS_IMAGE":""); - + DBG (3, "attach: [94] ESA5:%s%s%s%s%s%s%s%s\n", BIT(result[94],7)?" IGNORE_LINE_DIFFERENCE_FOR_ADF":"", BIT(result[94],6)?" NEEDS_SW_LINE_COLOR_PACK":"", @@ -3996,7 +3995,7 @@ get_double ( &(result[48] ) )); BIT(result[94],2)?" SUPPORTS_TUNE_SCAN_LENGTH":"", BIT(result[94],1)?" SUPPORTS_SWITCH_STRIP_FOR_DESKEW":"", /* Kodak i80 only */ BIT(result[94],0)?" SEARCHES_LEADING_SIDE_EDGE_BY_FIRMWARE":""); - + DBG (3, "attach: [95] ESA6:%s%s%s%s%s%s%s%s\n", BIT(result[95],7)?" SUPPORTS_PAPER_SIZE_AUTO_DETECTION":"", BIT(result[95],6)?" SUPPORTS_DO_HOUSEKEEPING":"", /* Kodak i80 only */ @@ -4006,7 +4005,7 @@ get_double ( &(result[48] ) )); BIT(result[95],2)?" SUPPORTS_GET_BACKGROUND_RASTER":"", /* AV220 et.al. */ BIT(result[95],1)?" SUPPORTS_NVRAM_RESET":"", BIT(result[95],0)?" SUPPORTS_BATCH_SCAN":""); - + DBG (3, "attach: [128] ESA7:%s%s%s%s%s%s%s%s\n", BIT(result[128],7)?" SUPPORTS_ADF_CONTINUOUS":"", BIT(result[128],6)?" SUPPORTS_YCbCr_COLOR":"", @@ -4016,7 +4015,7 @@ get_double ( &(result[48] ) )); BIT(result[128],2)?" SUPPORTS_JOB_CONTROL":"", BIT(result[128],1)?" SUPPORTS_INF_LENGTH":"", BIT(result[128],0)?" ULTRA_SONIC_DOUBLE_FEED_DETECTION":""); - + DBG (3, "attach: [129] YCbCr:%s%s%s%s%s%s%s%s\n", BIT(result[129],7)?" YCC4:2:0":"", BIT(result[129],6)?" YCC(profile2)":"", @@ -4026,7 +4025,7 @@ get_double ( &(result[48] ) )); BIT(result[129],2)?" JPEG(profile2)":"", BIT(result[129],1)?" JPEG(profile3)":"", BIT(result[129],0)?" JPEG(profile4)":""); - + /* I have no idea how film scanner could reliably be detected -ReneR */ if (dev->hw->feature_type & AV_FILMSCANNER) { dev->scanner_type = AV_FILM; @@ -4046,19 +4045,19 @@ get_double ( &(result[48] ) )); dev->inquiry_nvram_read = BIT(result[52],0); dev->inquiry_power_save_time = BIT(result[52],1); - + dev->inquiry_adf = BIT (result[62], 5); dev->inquiry_duplex = BIT (result[62], 2) || BIT (result[94], 5); - dev->inquiry_duplex_interlaced = BIT(result[62],2) || BIT (result[94], 4); + dev->inquiry_duplex_interlaced = BIT(result[62],2) || BIT (result[94], 4); /* the first avision scanners (AV3200) do not set the interlaced bit */ if (dev->inquiry_duplex && dev->inquiry_asic_type < AV_ASIC_C6) dev->inquiry_duplex_interlaced = 1; dev->inquiry_paper_length = BIT (result[95], 5); dev->inquiry_batch_scan = BIT (result[95], 0); /* AV122, DM152 */ - + dev->inquiry_detect_accessories = BIT (result[93], 7); - + dev->inquiry_needs_calibration = BIT (result[50], 4); dev->inquiry_keeps_window = BIT (result[50], 1); @@ -4066,7 +4065,7 @@ get_double ( &(result[48] ) )); dev->inquiry_keeps_window = 0; if (Avision_Device_List [model_num].feature_type & AV_DOES_KEEP_WINDOW) dev->inquiry_keeps_window = 1; - + dev->inquiry_needs_gamma = BIT (result[50], 3); dev->inquiry_keeps_gamma = BIT (result[50], 2); if (Avision_Device_List [model_num].feature_type & AV_DOES_NOT_KEEP_GAMMA) @@ -4076,33 +4075,33 @@ get_double ( &(result[48] ) )); dev->inquiry_3x3_matrix = BIT (result[51], 1); dev->inquiry_needs_software_colorpack = BIT (result[50],5); - + dev->inquiry_needs_line_pack = BIT (result[94], 6); - + dev->inquiry_adf_need_mirror = BIT (result[51], 0); dev->inquiry_adf_bgr_order = BIT (result[93], 6); if (Avision_Device_List [model_num].feature_type & AV_ADF_BGR_ORDER_INVERT) dev->inquiry_adf_bgr_order = ! dev->inquiry_adf_bgr_order; - + dev->inquiry_light_detect = BIT (result[93], 2); dev->inquiry_light_control = BIT (result[50], 7); dev->inquiry_button_control = BIT (result[50], 6) | BIT (result[51],2); - + dev->inquiry_exposure_control = BIT(result[51],7); dev->inquiry_max_shading_target = get_double ( &(result[75]) ); - + dev->inquiry_color_boundary = result[54]; if (dev->inquiry_color_boundary == 0) dev->inquiry_color_boundary = 8; - + dev->inquiry_gray_boundary = result[55]; if (dev->inquiry_gray_boundary == 0) dev->inquiry_gray_boundary = 8; - + dev->inquiry_dithered_boundary = result[59]; if (dev->inquiry_dithered_boundary == 0) dev->inquiry_dithered_boundary = 8; - + dev->inquiry_thresholded_boundary = result[57]; if (dev->inquiry_thresholded_boundary == 0) dev->inquiry_thresholded_boundary = 8; @@ -4121,7 +4120,7 @@ get_double ( &(result[48] ) )); default: ; } - + if (dev->inquiry_new_protocol) { dev->inquiry_optical_res = get_double ( &(result[89]) ); dev->inquiry_max_res = get_double ( &(result[44]) ); @@ -4136,7 +4135,7 @@ get_double ( &(result[48] ) )); DBG (1, "Inquiry optical resolution > max_resolution, adjusting!\n"); dev->inquiry_max_res = dev->inquiry_optical_res; } - + if (dev->inquiry_optical_res == 0) { DBG (1, "Inquiry optical resolution is invalid!\n"); @@ -4151,7 +4150,7 @@ get_double ( &(result[48] ) )); DBG (1, "Inquiry max resolution is invalid, using 1200 dpi!\n"); dev->inquiry_max_res = 1200; } - + DBG (1, "attach: optical resolution set to: %d dpi\n", dev->inquiry_optical_res); DBG (1, "attach: max resolution set to: %d dpi\n", dev->inquiry_max_res); @@ -4163,7 +4162,7 @@ get_double ( &(result[48] ) )); dev->inquiry_channels_per_pixel = 3; else dev->inquiry_channels_per_pixel = 1; - + if (BIT(result[61],1)) dev->inquiry_bits_per_channel = 16; else if (BIT(result[61],2)) @@ -4192,7 +4191,7 @@ get_double ( &(result[48] ) )); if (! (dev->hw->feature_type & AV_NO_BUTTON)) dev->inquiry_buttons = result[92]; - + /* get max x/y ranges for the different modes */ { double base_dpi; /* TODO: make int */ @@ -4205,39 +4204,39 @@ get_double ( &(result[48] ) )); */ base_dpi = dev->inquiry_optical_res; } - + /* .1 to slightly increase the size to match the one of American standard paper formats that would otherwise be .1 mm too large to scan ... */ dev->inquiry_x_ranges [AV_NORMAL_DIM] = (double)get_double (&(result[81])) * MM_PER_INCH / base_dpi + .1; dev->inquiry_y_ranges [AV_NORMAL_DIM] = (double)get_double (&(result[83])) * MM_PER_INCH / base_dpi; - + dev->inquiry_x_ranges [AV_TRANSPARENT_DIM] = (double)get_double (&(result[77])) * MM_PER_INCH / base_dpi + .1; dev->inquiry_y_ranges [AV_TRANSPARENT_DIM] = (double)get_double (&(result[79])) * MM_PER_INCH / base_dpi; - + dev->inquiry_x_ranges [AV_ADF_DIM] = (double)get_double (&(result[85])) * MM_PER_INCH / base_dpi + .1; dev->inquiry_y_ranges [AV_ADF_DIM] = (double)get_double (&(result[87])) * MM_PER_INCH / base_dpi; } - + dev->inquiry_tune_scan_length = BIT(result[94],2); if (Avision_Device_List [model_num].feature_type & AV_NO_TUNE_SCAN_LENGTH) dev->inquiry_tune_scan_length = 0; dev->inquiry_background_raster = BIT(result[95],2); - + if (dev->hw->feature_type & AV_NO_BACKGROUND) dev->inquiry_background_raster = 0; - + if (dev->inquiry_background_raster) { dev->inquiry_background_raster_pixel = get_double(&(result[85])) * dev->inquiry_optical_res / AVISION_BASE_RES; } - + /* check if x/y ranges are valid :-((( */ { source_mode_dim mode; @@ -4271,7 +4270,7 @@ get_double ( &(result[48] ) )); } else { dev->inquiry_x_ranges [mode] = A4_X_RANGE * MM_PER_INCH; - + if (dev->scanner_type == AV_SHEETFEED) dev->inquiry_y_ranges [mode] = SHEETFEED_Y_RANGE * MM_PER_INCH; else @@ -4283,7 +4282,7 @@ get_double ( &(result[48] ) )); dev->inquiry_x_ranges [mode], dev->inquiry_y_ranges [mode]); } /* end for all modes */ } - + /* We need a bigger buffer for USB devices, since they seem to have a firmware bug and do not support reading the calibration data in tiny chunks */ @@ -4298,26 +4297,26 @@ get_double ( &(result[48] ) )); dev->read_stripe_size = 32; else /* tested on AV3200 with it's max of 300dpi @color */ dev->read_stripe_size = 8; /* maybe made dynamic on scan res ... */ - + /* normally the data_dq is 0x0a0d - but some newer scanner hang with it ... */ if (dev->inquiry_new_protocol) /* TODO: match on ASIC? which model hung? */ dev->data_dq = 0x0a0d; else dev->data_dq = 0; - + avision_close (&av_con); - + ++ num_devices; dev->next = first_dev; first_dev = dev; if (devp) *devp = dev; - + return SANE_STATUS_GOOD; - + close_scanner_and_return: avision_close (&av_con); - + return status; } @@ -4327,39 +4326,39 @@ get_tune_scan_length (Avision_Scanner* s) { SANE_Status status; int i; - + struct command_read rcmd; size_t size; - + struct max_value { uint8_t max [2]; } payload; - + /* turn on the light */ DBG (3, "get_tune_scan_length:\n"); memset (&rcmd, 0, sizeof (rcmd)); size = sizeof (payload); - + rcmd.opc = AVISION_SCSI_READ; rcmd.datatypecode = 0xD2; /* Read General Ability/Parameter */ - + for (i = 1; i <= 8; ++i) { memset (&payload, 0, sizeof (payload)); - + set_double (rcmd.datatypequal, i); /* type */ set_triple (rcmd.transferlen, size); - + status = avision_cmd (&s->av_con, &rcmd, sizeof (rcmd), 0, 0, &payload, &size); - + if (status != SANE_STATUS_GOOD) { DBG (1, "get_tune_scan_length: read %d failed (%s)\n", i, sane_strstatus (status)); return status; } DBG (1, "get_tune_scan_length: %d: %d\n", i, get_double (payload.max)); } - + return SANE_STATUS_GOOD; } @@ -4367,7 +4366,7 @@ static SANE_Status send_tune_scan_length (Avision_Scanner* s) { int top, bottom; - + SANE_Status status; size_t size; struct command_send scmd; @@ -4375,31 +4374,31 @@ send_tune_scan_length (Avision_Scanner* s) uint8_t vertical [2]; /* uint8_t horizontal [2]; not send by the Windows driver, yet */ } payload; - + DBG (3, "send_tune_scan_length:\n"); - + memset (&scmd, 0, sizeof (scmd)); - + size = sizeof (payload); scmd.opc = AVISION_SCSI_SEND; scmd.datatypecode = 0x96; /* Attach/Truncate head(left) of scan length */ set_triple (scmd.transferlen, size); - + /* the SPEC says optical DPI, but real world measuring suggests it is 1200 as in the window descriptor */ top = 1200 * SANE_UNFIX (s->val[OPT_OVERSCAN_TOP].w) / MM_PER_INCH; DBG (3, "send_tune_scan_length: top: %d\n", top); - + set_double (scmd.datatypequal, 0x0001); /* attach, 0x000 is shorten */ set_double (payload.vertical, top); /* set_double (payload.horizontal, 0); */ - + /* we alway send it, even for 0 as the scanner keeps it in RAM and previous runs could already have set something */ - + status = avision_cmd (&s->av_con, &scmd, sizeof (scmd), &payload, sizeof (payload), 0, 0); - + if (status != SANE_STATUS_GOOD) { DBG (1, "send_tune_scan_length: send top/left failed (%s)\n", sane_strstatus (status)); return status; @@ -4411,16 +4410,16 @@ send_tune_scan_length (Avision_Scanner* s) set_double (payload.vertical, bottom); /*set_double (payload.horizontal, 0); */ - + size = sizeof (payload); status = avision_cmd (&s->av_con, &scmd, sizeof (scmd), &payload, sizeof (payload), 0, 0); - + if (status != SANE_STATUS_GOOD) { DBG (1, "send_tune_scan_length: send bottom/right failed (%s)\n", sane_strstatus (status)); return status; } - + return SANE_STATUS_GOOD; } @@ -4428,10 +4427,10 @@ static SANE_Status additional_probe (Avision_Scanner* s) { Avision_Device* dev = s->hw; - + /* we should wait until the scanner is ready before we perform further actions */ - + SANE_Status status; /* try to retrieve additional accessory information */ if (dev->inquiry_detect_accessories) { @@ -4439,28 +4438,28 @@ additional_probe (Avision_Scanner* s) if (status != SANE_STATUS_GOOD) return status; } - + /* for a film scanner try to retrieve additional frame information */ if (dev->scanner_type == AV_FILM) { status = get_frame_info (s); if (status != SANE_STATUS_GOOD) return status; } - + /* no scanner did support this so far: tried on AV220, DM152 */ if (0 && dev->inquiry_duplex) { status = get_duplex_info (s); if (status != SANE_STATUS_GOOD) return status; } - + /* get overscan ("head/tail tune") information: hangs AV220, zeros on AV122 */ if (0 && dev->inquiry_tune_scan_length) { status = get_tune_scan_length (s); if (status != SANE_STATUS_GOOD) return status; } - + /* create dynamic *-mode entries */ if (!dev->inquiry_no_gray_modes) { @@ -4474,7 +4473,7 @@ additional_probe (Avision_Scanner* s) if (dev->inquiry_bits_per_channel == 12) add_color_mode (dev, AV_GRAYSCALE12, "12bit Gray"); - + if (dev->inquiry_bits_per_channel >= 16) add_color_mode (dev, AV_GRAYSCALE16, "16bit Gray"); } @@ -4484,17 +4483,17 @@ additional_probe (Avision_Scanner* s) if (dev->inquiry_bits_per_channel == 12) add_color_mode (dev, AV_TRUECOLOR12, "12bit Color"); - + if (dev->inquiry_bits_per_channel >= 16) add_color_mode (dev, AV_TRUECOLOR16, "16bit Color"); } - + /* now choose the default mode - avoiding the 12/16 bit modes */ dev->color_list_default = last_color_mode (dev); if (dev->inquiry_bits_per_channel > 8 && dev->color_list_default > 0) { dev->color_list_default--; } - + if (dev->scanner_type == AV_SHEETFEED) { add_source_mode (dev, AV_ADF, "ADF Front"); @@ -4502,20 +4501,20 @@ additional_probe (Avision_Scanner* s) else { add_source_mode (dev, AV_NORMAL, "Normal"); - + if (dev->inquiry_light_box) add_source_mode (dev, AV_TRANSPARENT, "Transparency"); - + if (dev->inquiry_adf) add_source_mode (dev, AV_ADF, "ADF Front"); } - + if (dev->inquiry_duplex) { if (dev->inquiry_duplex_interlaced && !(dev->hw->feature_type & AV_NO_REAR)) add_source_mode (dev, AV_ADF_REAR, "ADF Back"); add_source_mode (dev, AV_ADF_DUPLEX, "ADF Duplex"); } - + return SANE_STATUS_GOOD; } @@ -4523,21 +4522,21 @@ static SANE_Status get_calib_format (Avision_Scanner* s, struct calibration_format* format) { SANE_Status status; - + struct command_read rcmd; uint8_t result [32]; size_t size; - + DBG (3, "get_calib_format:\n"); size = sizeof (result); - + memset (&rcmd, 0, sizeof (rcmd)); rcmd.opc = AVISION_SCSI_READ; rcmd.datatypecode = 0x60; /* get calibration format */ set_double (rcmd.datatypequal, s->hw->data_dq); set_triple (rcmd.transferlen, size); - + DBG (3, "get_calib_format: read_data: %lu bytes\n", (u_long) size); status = avision_cmd (&s->av_con, &rcmd, sizeof (rcmd), 0, 0, result, &size); if (status != SANE_STATUS_GOOD || size != sizeof (result) ) { @@ -4545,9 +4544,9 @@ get_calib_format (Avision_Scanner* s, struct calibration_format* format) sane_strstatus (status) ); return status; } - + debug_print_calib_format (3, "get_calib_format", result); - + format->pixel_per_line = get_double (&(result[0])); format->bytes_per_channel = result[2]; format->lines = result[3]; @@ -4562,21 +4561,21 @@ get_calib_format (Avision_Scanner* s, struct calibration_format* format) format->r_dark_shading_target = get_double (&(result[15])); format->g_dark_shading_target = get_double (&(result[17])); format->b_dark_shading_target = get_double (&(result[19])); - + /* now translate to normal! */ /* firmware return R--RG--GB--B with 3 line count */ /* software format it as 1 line if true color scan */ /* only line interleave format to be supported */ - + if (color_mode_is_color (s->c_mode) || BIT(format->ability1, 3)) { format->channels = 3; format->lines /= 3; /* line interleave */ } else format->channels = 1; - + DBG (3, "get_calib_format: channels: %d\n", format->channels); - + return SANE_STATUS_GOOD; } @@ -4587,26 +4586,26 @@ get_calib_data (Avision_Scanner* s, uint8_t data_type, { SANE_Status status; uint8_t *calib_ptr; - + size_t get_size, data_size, chunk_size; - + struct command_read rcmd; - + chunk_size = calib_size; - + DBG (3, "get_calib_data: type %x, size %lu, chunk_size: %lu\n", data_type, (u_long) calib_size, (u_long) chunk_size); - + memset (&rcmd, 0, sizeof (rcmd)); - + rcmd.opc = AVISION_SCSI_READ; rcmd.datatypecode = data_type; set_double (rcmd.datatypequal, s->hw->data_dq); - + calib_ptr = calib_data; get_size = chunk_size; data_size = calib_size; - + while (data_size) { if (get_size > data_size) get_size = data_size; @@ -4617,7 +4616,7 @@ get_calib_data (Avision_Scanner* s, uint8_t data_type, DBG (3, "get_calib_data: Reading %ld bytes calibration data\n", (long)get_size); - + status = avision_cmd (&s->av_con, &rcmd, sizeof (rcmd), 0, 0, calib_ptr, &get_size); if (status != SANE_STATUS_GOOD) { @@ -4631,7 +4630,7 @@ get_calib_data (Avision_Scanner* s, uint8_t data_type, data_size -= get_size; calib_ptr += get_size; } - + return SANE_STATUS_GOOD; } @@ -4640,22 +4639,22 @@ set_calib_data (Avision_Scanner* s, struct calibration_format* format, uint8_t* dark_data, uint8_t* white_data) { Avision_Device* dev = s->hw; - + const int elements_per_line = format->pixel_per_line * format->channels; - + SANE_Status status; - + uint8_t send_type; uint16_t send_type_q; - + struct command_send scmd; - + int i; - + DBG (3, "set_calib_data:\n"); - + send_type = 0x82; /* download calibration data */ - + /* do we use a color mode? */ if (format->channels > 1) { send_type_q = 0x12; /* color calib data */ @@ -4666,40 +4665,40 @@ set_calib_data (Avision_Scanner* s, struct calibration_format* format, else send_type_q = 0x11; /* gray/bw calib data */ } - + memset (&scmd, 0x00, sizeof (scmd)); scmd.opc = AVISION_SCSI_SEND; scmd.datatypecode = send_type; - + /* data corrections due to dark calibration data merge */ if (BIT (format->ability1, 2) ) { DBG (3, "set_calib_data: merging dark calibration data\n"); for (i = 0; i < elements_per_line; ++i) { uint16_t value_orig = get_double_le (white_data + i*2); uint16_t value_new = value_orig; - + value_new &= 0xffc0; value_new |= (get_double_le (dark_data + i*2) >> 10) & 0x3f; - + DBG (9, "set_calib_data: element %d, dark difference %d\n", i, value_orig - value_new); - + set_double_le ((white_data + i*2), value_new); } } - + /* send data in one command? */ /* FR: HP5370 reports one-pass, but needs multi (or other format in single) */ if (format->channels == 1 || ( ( (dev->hw->feature_type & AV_ONE_CALIB_CMD) || - ! BIT(format->ability1, 0) ) && + ! BIT(format->ability1, 0) ) && ! (dev->hw->feature_type & AV_MULTI_CALIB_CMD) ) ) /* one command (most scanners) */ { size_t send_size = elements_per_line * 2; DBG (3, "set_calib_data: all channels in one command\n"); DBG (3, "set_calib_data: send_size: %lu\n", (u_long) send_size); - + memset (&scmd, 0, sizeof (scmd) ); scmd.opc = AVISION_SCSI_SEND; scmd.datatypecode = send_type; @@ -4715,9 +4714,9 @@ set_calib_data (Avision_Scanner* s, struct calibration_format* format, int conv_out_size = format->pixel_per_line * 2; uint16_t* conv_out_data; /* here it is save to use 16bit data since we only move whole words around */ - + DBG (3, "set_calib_data: channels in single commands\n"); - + conv_out_data = (uint16_t*) malloc (conv_out_size); if (!conv_out_data) { status = SANE_STATUS_NO_MEM; @@ -4727,24 +4726,24 @@ set_calib_data (Avision_Scanner* s, struct calibration_format* format, for (channel = 0; channel < 3; ++ channel) { int i; - + /* no need for endianness handling since whole word copy */ uint16_t* casted_avg_data = (uint16_t*) white_data; - + DBG (3, "set_calib_data_calibration: channel: %i\n", channel); - + for (i = 0; i < format->pixel_per_line; ++ i) conv_out_data [i] = casted_avg_data [i * 3 + channel]; - + DBG (3, "set_calib_data: sending %i bytes now\n", conv_out_size); - + memset (&scmd, 0, sizeof (scmd)); scmd.opc = AVISION_SCSI_SEND; scmd.datatypecode = send_type; /* send calibration data */ set_double (scmd.datatypequal, channel); set_triple (scmd.transferlen, conv_out_size); - + status = avision_cmd (&s->av_con, &scmd, sizeof (scmd), conv_out_data, conv_out_size, 0, 0); if (status != SANE_STATUS_GOOD) { @@ -4756,14 +4755,14 @@ set_calib_data (Avision_Scanner* s, struct calibration_format* format, free (conv_out_data); } /* end else send calib data*/ } - + return SANE_STATUS_GOOD; } /* Sort data pixel by pixel and average first 2/3 of the data. The caller has to free return pointer. R,G,B pixels interleave to R,G,B line interleave. - + The input data data is in 16 bits little endian, always. That is a = b[1] << 8 + b[0] in all system. @@ -4776,34 +4775,34 @@ sort_and_average (struct calibration_format* format, uint8_t* data) const int elements_per_line = format->pixel_per_line * format->channels; const int stride = format->bytes_per_channel * elements_per_line; int i, line; - + uint8_t *sort_data, *avg_data; - + DBG (1, "sort_and_average:\n"); - + if (!format || !data) return NULL; - + sort_data = malloc (format->lines * 2); if (!sort_data) return NULL; - + avg_data = malloc (elements_per_line * 2); if (!avg_data) { free (sort_data); return NULL; } - + /* for each pixel */ for (i = 0; i < elements_per_line; ++ i) { uint8_t* ptr1 = data + i * format->bytes_per_channel; uint16_t temp; - + /* copy all lines for pixel i into the linear array sort_data */ for (line = 0; line < format->lines; ++ line) { uint8_t* ptr2 = ptr1 + line * stride; /* pixel */ - + if (format->bytes_per_channel == 1) temp = 0xffff * *ptr2 / 255; else @@ -4811,12 +4810,12 @@ sort_and_average (struct calibration_format* format, uint8_t* data) set_double ((sort_data + line*2), temp); /* store big-endian */ /* DBG (7, "ReneR to sort: %x\n", temp); */ } - + temp = bubble_sort (sort_data, format->lines); /* DBG (7, "ReneR averaged: %x\n", temp); */ set_double ((avg_data + i*2), temp); /* store big-endian */ } - + free ((void *) sort_data); return avg_data; } @@ -4828,28 +4827,28 @@ compute_dark_shading_data (Avision_Scanner* s, { uint16_t map_value = DEFAULT_DARK_SHADING; uint16_t rgb_map_value[3]; - + int elements_per_line, i; - + DBG (3, "compute_dark_shading_data:\n"); - + if (s->hw->inquiry_max_shading_target != INVALID_DARK_SHADING) map_value = s->hw->inquiry_max_shading_target << 8; - + rgb_map_value[0] = format->r_dark_shading_target; rgb_map_value[1] = format->g_dark_shading_target; rgb_map_value[2] = format->b_dark_shading_target; - + for (i = 0; i < format->channels; ++i) { if (rgb_map_value[i] == INVALID_DARK_SHADING) rgb_map_value[i] = map_value; } - + if (format->channels == 1) { /* set to green, TODO: should depend on color drop-out and true-gray -ReneR */ rgb_map_value[0] = rgb_map_value[1] = rgb_map_value[2] = rgb_map_value[1]; } - + elements_per_line = format->pixel_per_line * format->channels; /* Check line interleave or pixel interleave. */ @@ -4874,22 +4873,22 @@ compute_white_shading_data (Avision_Scanner* s, int i; uint16_t inquiry_mst = DEFAULT_WHITE_SHADING; uint16_t mst[3]; - + int elements_per_line = format->pixel_per_line * format->channels; - + /* debug counter */ int values_invalid = 0; int values_limitted = 0; - + DBG (3, "compute_white_shading_data:\n"); - + if (s->hw->inquiry_max_shading_target != INVALID_WHITE_SHADING) inquiry_mst = s->hw->inquiry_max_shading_target << 4; - + mst[0] = format->r_shading_target; mst[1] = format->g_shading_target; mst[2] = format->b_shading_target; - + for (i = 0; i < 3; ++i) { if (mst[i] == INVALID_WHITE_SHADING) /* mst[i] > MAX_WHITE_SHADING) */ { DBG (3, "compute_white_shading_data: target %d invalid (%x) using inquiry (%x)\n", @@ -4913,7 +4912,7 @@ compute_white_shading_data (Avision_Scanner* s, else DBG (3, "compute_white_shading_data: target %d: %x\n", i, mst[0]); } - + /* some Avision example code was present here until SANE/Avision * BUILD 57. */ @@ -4921,31 +4920,31 @@ compute_white_shading_data (Avision_Scanner* s, /* set to green, TODO: should depend on color drop-out and true-gray -ReneR */ mst[0] = mst[1] = mst[2] = mst[1]; } - + /* calculate calibration data */ for (i = 0; i < elements_per_line; ++ i) { int result; /* calculate calibration value for pixel i */ uint16_t tmp_data = get_double((data + i*2)); - + if (tmp_data == INVALID_WHITE_SHADING) { tmp_data = DEFAULT_WHITE_SHADING; ++ values_invalid; } - + result = ( (int)mst[i % 3] * WHITE_MAP_RANGE / (tmp_data + 0.5)); - + /* sanity check for over-amplification, clipping */ if (result > MAX_WHITE_SHADING) { result = WHITE_MAP_RANGE; ++ values_limitted; } - + /* for visual debugging ... */ if (static_calib_list [i % 3] == SANE_TRUE) result = 0xA000; - + /* the output to the scanner will be 16 bit little endian again */ set_double_le ((data + i*2), result); } @@ -4959,20 +4958,20 @@ static SANE_Status normal_calibration (Avision_Scanner* s) { SANE_Status status; - + struct calibration_format calib_format; - + int calib_data_size, calib_bytes_per_line; uint8_t read_type; uint8_t *calib_tmp_data; - + DBG (1, "normal_calibration:\n"); - + /* get calibration format and data */ status = get_calib_format (s, &calib_format); if (status != SANE_STATUS_GOOD) return status; - + /* check if need do calibration */ if (calib_format.flags != 1) { DBG (1, "normal_calibration: Scanner claims no calibration needed -> skipped!\n"); @@ -4983,27 +4982,27 @@ normal_calibration (Avision_Scanner* s) /* size = lines * bytes_per_channel * pixels_per_line * channel */ calib_bytes_per_line = calib_format.bytes_per_channel * calib_format.pixel_per_line * calib_format.channels; - + calib_data_size = calib_format.lines * calib_bytes_per_line; - + calib_tmp_data = malloc (calib_data_size); if (!calib_tmp_data) return SANE_STATUS_NO_MEM; - + /* check if we need to do dark calibration (shading) */ if (BIT(calib_format.ability1, 3)) { DBG (1, "normal_calibration: reading dark data\n"); /* read dark calib data */ status = get_calib_data (s, 0x66, calib_tmp_data, calib_data_size); - + if (status != SANE_STATUS_GOOD) { free (calib_tmp_data); return status; } - + /* process dark data: sort and average. */ - + if (s->dark_avg_data) { free (s->dark_avg_data); s->dark_avg_data = 0; @@ -5015,7 +5014,7 @@ normal_calibration (Avision_Scanner* s) } compute_dark_shading_data (s, &calib_format, s->dark_avg_data); } - + /* do we use a color mode? */ if (calib_format.channels > 1) { DBG (3, "normal_calibration: using color calibration\n"); @@ -5025,15 +5024,15 @@ normal_calibration (Avision_Scanner* s) DBG (3, "normal_calibration: using gray calibration\n"); read_type = 0x61; /* gray calib data */ } - + /* do white calibration: read gray or color data */ status = get_calib_data (s, read_type, calib_tmp_data, calib_data_size); - + if (status != SANE_STATUS_GOOD) { free (calib_tmp_data); return status; } - + if (0) /* debug */ { FILE* f = NULL; @@ -5041,11 +5040,11 @@ normal_calibration (Avision_Scanner* s) write_pnm_header (f, AV_GRAYSCALE, calib_format.bytes_per_channel * 8, calib_format.pixel_per_line, calib_format.lines * calib_format.channels); - + fwrite (calib_tmp_data, 1, calib_data_size, f); fclose (f); } - + if (s->white_avg_data) { free (s->white_avg_data); s->white_avg_data = 0; @@ -5055,24 +5054,24 @@ normal_calibration (Avision_Scanner* s) free (calib_tmp_data); return SANE_STATUS_NO_MEM; } - + /* decrease white average data (if dark average data is present) */ if (s->dark_avg_data) { int elements_per_line = calib_format.pixel_per_line * calib_format.channels; int i; DBG (1, "normal_calibration: dark data present - decreasing white average data\n"); - + for (i = 0; i < elements_per_line; ++ i) { s->white_avg_data[i] -= s->dark_avg_data[i]; } } - + compute_white_shading_data (s, &calib_format, s->white_avg_data); - + status = set_calib_data (s, &calib_format, s->dark_avg_data, s->white_avg_data); - + free (calib_tmp_data); return status; } @@ -5080,12 +5079,12 @@ normal_calibration (Avision_Scanner* s) /* next was taken from the GIMP and is a bit modified ... ;-) * original Copyright (C) 1995 Spencer Kimball and Peter Mattis */ -static double +static double brightness_contrast_func (double brightness, double contrast, double value) { double nvalue; double power; - + /* apply brightness */ if (brightness < 0.0) value = value * (1.0 + brightness); @@ -5130,28 +5129,28 @@ send_gamma (Avision_Scanner* s) { Avision_Device* dev = s->hw; SANE_Status status = SANE_STATUS_GOOD; - + int invert_table = 0; - + size_t gamma_table_raw_size; size_t gamma_table_size; size_t gamma_values; - + struct command_send scmd; uint8_t *gamma_data; - + int color; /* current color */ size_t i; /* big table index */ size_t j; /* little table index */ size_t k; /* big table sub index */ double v1, v2; - + double brightness; double contrast; - + if (dev->inquiry_asic_type != AV_ASIC_OA980) invert_table = (s->c_mode == AV_THRESHOLDED) || (s->c_mode == AV_DITHERED); - + switch (dev->inquiry_asic_type) { case AV_ASIC_Cx: @@ -5176,37 +5175,37 @@ send_gamma (Avision_Scanner* s) gamma_table_raw_size = 512; /* SPEC claims: 256 ... ? */ gamma_table_size = 512; } - + gamma_values = gamma_table_size / 256; - + DBG (3, "send_gamma: table_raw_size: %lu, table_size: %lu\n", (u_long) gamma_table_raw_size, (u_long) gamma_table_size); DBG (3, "send_gamma: values: %lu, invert_table: %d\n", (u_long) gamma_values, invert_table); - + /* prepare for emulating contrast, brightness ... via the gamma-table */ brightness = SANE_UNFIX (s->val[OPT_BRIGHTNESS].w); brightness /= 100; contrast = SANE_UNFIX (s->val[OPT_CONTRAST].w); contrast /= 100; - + DBG (3, "send_gamma: brightness: %f, contrast: %f\n", brightness, contrast); - + gamma_data = malloc (gamma_table_raw_size); if (!gamma_data) return SANE_STATUS_NO_MEM; - + memset (&scmd, 0, sizeof (scmd) ); - + scmd.opc = AVISION_SCSI_SEND; scmd.datatypecode = 0x81; /* 0x81 for download gamma table */ set_triple (scmd.transferlen, gamma_table_raw_size); - + for (color = 0; color < 3 && status == SANE_STATUS_GOOD; ++ color) { /* color: 0=red; 1=green; 2=blue */ set_double (scmd.datatypequal, color); - + i = 0; /* big table index */ for (j = 0; j < 256; ++ j) /* little table index */ { @@ -5237,21 +5236,21 @@ send_gamma (Avision_Scanner* s) v2 = (double) s->gamma_table [0][j + 1]; } } /*end switch */ - + /* Emulate brightness and contrast (at least the Avision AV6[2,3]0 * as well as many others do not have a hardware implementation, * --$. The function was taken from the GIMP source - maybe I'll * optimize it in the future (when I have spare time). */ - + v1 /= 255; v2 /= 255; - + v1 = (brightness_contrast_func (brightness, contrast, v1) ); v2 = (brightness_contrast_func (brightness, contrast, v2) ); - + v1 *= 255; v2 *= 255; - + if (invert_table) { v1 = 255 - v1; v2 = 255 - v2; @@ -5260,7 +5259,7 @@ send_gamma (Avision_Scanner* s) if (v2 <= 0) v2 = 0; } - + for (k = 0; k < gamma_values; ++ k, ++ i) { gamma_data [i] = (uint8_t) (((v1 * (gamma_values - k)) + (v2 * k) ) / (double) gamma_values); @@ -5275,12 +5274,12 @@ send_gamma (Avision_Scanner* s) gamma_data [i] = gamma_data [t_i]; } } - + DBG (4, "send_gamma: sending %lu bytes gamma table.\n", (u_long) gamma_table_raw_size); status = avision_cmd (&s->av_con, &scmd, sizeof (scmd), gamma_data, gamma_table_raw_size, 0, 0); - + if (status != SANE_STATUS_GOOD) { DBG (1, "send_gamma: gamma table upload failed: %s\n", sane_strstatus (status)); @@ -5294,33 +5293,33 @@ static SANE_Status send_3x3_matrix (Avision_Scanner* s) { SANE_Status status; - + #define SIGN_BIT 0x1000 #define INT_PART 10 - + struct matrix_cmd { struct command_send scmd; struct matrix_3x3 matrix; } cmd; - - /* 04 00 00 00 00 00 + + /* 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 */ - + int i, a_i; static const double c5_matrix[] = { 1.000, 0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000, 1.000 }; - + double a_f, b_f; uint16_t m; - + DBG (3, "send_3x3_matrix:\n"); - + memset (&cmd, 0, sizeof (cmd)); - + for (i = 0; i < 9; i++) { m = 0; @@ -5329,18 +5328,18 @@ send_3x3_matrix (Avision_Scanner* s) m |= SIGN_BIT; a_f = -a_f; } - + a_i = (int) a_f; /* integer */ b_f = a_f - (double) a_i; /* float */ m |= ((a_i & 0x3) << INT_PART); m |= (uint16_t) (b_f * 1024); set_double (((uint8_t*)(&cmd.matrix.v[i])), m); } - + cmd.scmd.opc = AVISION_SCSI_SEND; cmd.scmd.datatypecode = 0x83; /* 0x83 for 3x3 color matrix */ set_triple (cmd.scmd.transferlen, sizeof (struct matrix_3x3)); - + if (1) { DBG (3, "send_3x3_matrix: sending matrix split into two commands\n"); status = avision_cmd (&s->av_con, &cmd.scmd, sizeof (cmd.scmd), @@ -5350,7 +5349,7 @@ send_3x3_matrix (Avision_Scanner* s) DBG (3, "send_3x3_matrix: sending matrix in one command\n"); status = avision_cmd (&s->av_con, &cmd, sizeof (cmd), 0, 0, 0, 0); } - + return status; } @@ -5358,21 +5357,21 @@ static SANE_Status get_acceleration_info (Avision_Scanner* s, struct acceleration_info* info) { SANE_Status status; - + struct command_read rcmd; uint8_t result [24]; size_t size; - + DBG (3, "get_acceleration_info:\n"); size = sizeof (result); - + memset (&rcmd, 0, sizeof (rcmd)); rcmd.opc = AVISION_SCSI_READ; rcmd.datatypecode = 0x6c; /* get acceleration information */ set_double (rcmd.datatypequal, s->hw->data_dq); set_triple (rcmd.transferlen, size); - + DBG (3, "get_acceleration_info: read_data: %lu bytes\n", (u_long) size); status = avision_cmd (&s->av_con, &rcmd, sizeof (rcmd), 0, 0, result, &size); if (status != SANE_STATUS_GOOD || size != sizeof (result) ) { @@ -5380,9 +5379,9 @@ get_acceleration_info (Avision_Scanner* s, struct acceleration_info* info) sane_strstatus (status) ); return status; } - + debug_print_accel_info (3, "get_acceleration_info", result); - + info->total_steps = get_double (&(result[0])); info->stable_steps = get_double (&(result[2])); info->table_units = get_quad (&(result[4])); @@ -5391,7 +5390,7 @@ get_acceleration_info (Avision_Scanner* s, struct acceleration_info* info) info->target_speed = get_double (&(result[14])); info->ability = result[16]; info->table_count = result[17]; - + return SANE_STATUS_GOOD; } @@ -5399,45 +5398,45 @@ static SANE_Status send_acceleration_table (Avision_Scanner* s) { SANE_Status status; - + struct command_send scmd; int table = 0; int i; struct acceleration_info accel_info = accel_info; uint8_t* table_data; - + DBG (3, "send_acceleration_table:\n"); do { status = get_acceleration_info (s, &accel_info); - + if (accel_info.table_count == 0) { DBG (3, "send_acceleration_table: device does not need tables\n"); return SANE_STATUS_GOOD; } - + if (accel_info.target_speed > accel_info.start_speed || accel_info.target_speed == 0 || accel_info.total_steps <= accel_info.stable_steps) { DBG (1, "send_acceleration_table: table does not look right.\n"); return SANE_STATUS_INVAL; } - + if (accel_info.ability != 0) { DBG (1, "send_acceleration_table: ability non-zero - insert code\n"); return SANE_STATUS_INVAL; } - + /* so far I assume we have one byte tables as used in the C6 ASIC ... */ table_data = malloc (accel_info.total_steps + 1000); - + memset (&scmd, 0x00, sizeof (scmd)); scmd.opc = AVISION_SCSI_SEND; scmd.datatypecode = 0x6c; /* send acceleration table */ - + set_double (scmd.datatypequal, table); set_triple (scmd.transferlen, accel_info.total_steps); - + /* construct the table - Warning: This code is derived from Avision sample code and is a bit scary! I have no idea why the scanner needs such a dumb table and also do not know /why/ it has to be @@ -5447,16 +5446,16 @@ send_acceleration_table (Avision_Scanner* s) float up_lim = 1.0; uint16_t accel_steps = accel_info.total_steps - accel_info.stable_steps + 1; - + /* acceleration ramp */ while ((up_lim - low_lim) > 0.0001) { float mid = (up_lim + low_lim) / 2; /* accel rate */ - + uint16_t now_count = accel_info.start_speed; - + uint16_t i = 0; - + float now_count_f = now_count; table_data [i++] = (uint8_t) accel_info.start_speed; @@ -5467,8 +5466,8 @@ send_acceleration_table (Avision_Scanner* s) now_count = (uint16_t)(now_count_f + 0.5); table_data[i++] = (uint8_t) now_count; } - - + + if (i == accel_steps) break; if (i > accel_steps) @@ -5476,23 +5475,23 @@ send_acceleration_table (Avision_Scanner* s) else up_lim = mid; } - + /* fill stable steps */ for (i = accel_steps; i < accel_info.total_steps; i++) table_data [i] = table_data [i-1]; - + debug_print_hex_raw (5, "send_acceleration_table: first pass:\n", table_data, accel_info.total_steps); - + /* maybe post fix-up */ { int add_count; - + /* count total steps in table */ int table_total = 0; for (i = 0; i < accel_info.total_steps; i++) table_total += table_data [i]; - + i = 0; if (((table_total * accel_info.table_units) % accel_info.base_units) == 0) add_count = 0; @@ -5500,7 +5499,7 @@ send_acceleration_table (Avision_Scanner* s) add_count = (accel_info.base_units - ((table_total*accel_info.table_units) % accel_info.base_units)) / accel_info.table_units; - + /* add_count should not be bigger than 255 */ if (add_count > 255) { DBG (1, "send_acceleration_table: add_count limited, was: %d\n", add_count); @@ -5510,26 +5509,26 @@ send_acceleration_table (Avision_Scanner* s) { uint16_t temp_count = 255 - table_data [i]; temp_count = temp_count > add_count ? add_count : temp_count; - + table_data [i] += (uint8_t) temp_count; add_count -= temp_count; } } } - + debug_print_hex_raw (5, "send_acceleration_table: fixed up:\n", table_data, accel_info.total_steps); - + /* decrease all by one ... */ for (i = 0; i < accel_info.total_steps; i++) { table_data[i]--; } - + DBG (1, "send_acceleration_table: sending table %d\n", table); - + debug_print_hex_raw (5, "send_acceleration_table: final:\n", table_data, accel_info.total_steps); - + status = avision_cmd (&s->av_con, &scmd, sizeof (scmd), (char*) table_data, accel_info.total_steps, 0, 0); @@ -5537,13 +5536,13 @@ send_acceleration_table (Avision_Scanner* s) DBG (3, "send_acceleration_table: send_data failed (%s)\n", sane_strstatus (status)); } - + free (table_data); table_data = 0; - + table++; } while (table < accel_info.table_count); - - + + return status; } @@ -5555,17 +5554,17 @@ set_window (Avision_Scanner* s) int base_dpi_abs, base_dpi_rel; int transferlen; int paralen; - + int bytes_per_line; int line_count; - + struct { struct command_set_window cmd; struct command_set_window_window window; } cmd; - + DBG (1, "set_window:\n"); - + /* plain old scanners, the C3 ASIC HP 53xx and the C6 ASIC HP 74xx and up do use 1200 as base - only the C5 differs */ switch (dev->inquiry_asic_type) { @@ -5582,64 +5581,64 @@ set_window (Avision_Scanner* s) base_dpi_abs = 1200; base_dpi_rel = 1200; } - + DBG (2, "set_window: base_dpi_abs: %d, base_dpi_rel: %d\n", base_dpi_abs, base_dpi_rel); - + /* wipe out anything */ memset (&cmd, 0, sizeof (cmd) ); cmd.window.descriptor.winid = AV_WINID; /* normally defined to be zero */ - + /* optional parameter length to use */ paralen = sizeof (cmd.window.avision) - sizeof (cmd.window.avision.type); - + DBG (2, "set_window: base paralen: %d\n", paralen); - + if (dev->hw->feature_type & AV_FUJITSU) paralen += sizeof (cmd.window.avision.type.fujitsu); else if (!dev->inquiry_new_protocol) paralen += sizeof (cmd.window.avision.type.old); else paralen += sizeof (cmd.window.avision.type.normal); - + DBG (2, "set_window: final paralen: %d\n", paralen); - + transferlen = sizeof (cmd.window) - sizeof (cmd.window.avision) + paralen; - + DBG (2, "set_window: transferlen: %d\n", transferlen); - + /* command setup */ cmd.cmd.opc = AVISION_SCSI_SET_WINDOW; set_triple (cmd.cmd.transferlen, transferlen); set_double (cmd.window.header.desclen, sizeof (cmd.window.descriptor) + paralen); - + /* resolution parameters */ set_double (cmd.window.descriptor.xres, s->avdimen.hw_xres); set_double (cmd.window.descriptor.yres, s->avdimen.hw_yres); - + /* upper left corner x/y as well as width/length in inch * base_dpi - avdimen are world pixels */ set_quad (cmd.window.descriptor.ulx, s->avdimen.tlx * base_dpi_abs / s->avdimen.hw_xres); set_quad (cmd.window.descriptor.uly, s->avdimen.tly * base_dpi_abs / s->avdimen.hw_yres); - + set_quad (cmd.window.descriptor.width, s->avdimen.hw_pixels_per_line * base_dpi_rel / s->avdimen.hw_xres + 1); line_count = s->avdimen.hw_lines + 2 * s->avdimen.line_difference + s->avdimen.rear_offset; set_quad (cmd.window.descriptor.length, line_count * base_dpi_rel / s->avdimen.hw_yres + 1); - + /* interlaced duplex scans are twice as long */ if (s->avdimen.interlaced_duplex && dev->scanner_type != AV_FILM) { DBG (2, "set_window: interlaced duplex scan, doubled line count\n"); line_count *= 2; } - + bytes_per_line = s->avdimen.hw_bytes_per_line; - + set_double (cmd.window.avision.line_width, bytes_per_line); set_double (cmd.window.avision.line_count, line_count); - + /* here go the most significant bits if bigger than 16 bit */ if (dev->inquiry_new_protocol && !(dev->hw->feature_type & AV_FUJITSU) ) { DBG (2, "set_window: large data-transfer support (>16bit)!\n"); @@ -5648,16 +5647,16 @@ set_window (Avision_Scanner* s) cmd.window.avision.type.normal.line_count_msb = line_count >> 16; } - + if (dev->inquiry_background_raster) cmd.window.avision.type.normal.background_lines = s->val[OPT_BACKGROUND].w; - + /* scanner should use our line-width and count */ - SET_BIT (cmd.window.avision.bitset1, 6); - + SET_BIT (cmd.window.avision.bitset1, 6); + /* set speed */ cmd.window.avision.bitset1 |= s->val[OPT_SPEED].w & 0x07; /* only 3 bit */ - + /* ADF scan? */ DBG (3, "set_window: source mode %d source mode dim %d\n", s->source_mode, s->source_mode_dim); @@ -5687,43 +5686,43 @@ set_window (Avision_Scanner* s) SET_BIT(cmd.window.avision.type.normal.bitset3, 2); /* MIRR 0x04 */ } } - + if (s->val[OPT_PAPERLEN].w != SANE_FALSE) { set_double (cmd.window.descriptor.paper_length, (int)((double)30.0*1200)); } if ( !(dev->hw->feature_type & AV_FUJITSU) ) - { + { /* quality scan option switch */ if (s->val[OPT_QSCAN].w == SANE_TRUE) { SET_BIT (cmd.window.avision.type.normal.bitset2, 4); } - + /* quality calibration option switch (inverted! if set == speed) */ if (s->val[OPT_QCALIB].w == SANE_FALSE) { SET_BIT (cmd.window.avision.type.normal.bitset2, 3); } - + /* transparency option switch */ if (s->source_mode_dim == AV_TRANSPARENT_DIM) { SET_BIT (cmd.window.avision.type.normal.bitset2, 7); } - + if (dev->scanner_type == AV_FILM) { /* TODO: wire to IR exposure option? */ cmd.window.avision.type.normal.ir_exposure_time = 100; set_double (cmd.window.avision.type.normal.r_exposure_time, s->val[OPT_EXPOSURE].w); set_double (cmd.window.avision.type.normal.g_exposure_time, s->val[OPT_EXPOSURE].w); set_double (cmd.window.avision.type.normal.b_exposure_time, s->val[OPT_EXPOSURE].w); - + if (s->val[OPT_IR].w) cmd.window.avision.type.normal.bitset3 |= (1 << 0); - + if (s->val[OPT_MULTISAMPLE].w) cmd.window.avision.type.normal.bitset3 |= (1 << 1); } } - + /* fixed values */ cmd.window.descriptor.padding_and_bitset = 3; cmd.window.descriptor.vendor_specific = 0xFF; @@ -5732,7 +5731,7 @@ set_window (Avision_Scanner* s) /* This is normally unsupported by Avision scanners, and we do this via the gamma table - which works for all devices ... */ cmd.window.descriptor.threshold = 128; - cmd.window.descriptor.brightness = 128; + cmd.window.descriptor.brightness = 128; cmd.window.descriptor.contrast = 128; cmd.window.avision.highlight = 0xFF; cmd.window.avision.shadow = 0x00; @@ -5744,17 +5743,17 @@ set_window (Avision_Scanner* s) cmd.window.descriptor.bpc = 1; cmd.window.descriptor.image_comp = 0; break; - + case AV_DITHERED: cmd.window.descriptor.bpc = 1; cmd.window.descriptor.image_comp = 1; break; - + case AV_GRAYSCALE: cmd.window.descriptor.bpc = 8; cmd.window.descriptor.image_comp = 2; break; - + case AV_GRAYSCALE12: cmd.window.descriptor.bpc = 12; cmd.window.descriptor.image_comp = 2; @@ -5764,7 +5763,7 @@ set_window (Avision_Scanner* s) cmd.window.descriptor.bpc = 16; cmd.window.descriptor.image_comp = 2; break; - + case AV_TRUECOLOR: cmd.window.descriptor.bpc = 8; cmd.window.descriptor.image_comp = 5; @@ -5779,7 +5778,7 @@ set_window (Avision_Scanner* s) cmd.window.descriptor.bpc = 16; cmd.window.descriptor.image_comp = 5; break; - + default: DBG (1, "Invalid mode. %d\n", s->c_mode); return SANE_STATUS_INVAL; @@ -5796,13 +5795,13 @@ set_window (Avision_Scanner* s) else cmd.window.avision.bitset1 |= AVISION_FILTER_NONE; } - + debug_print_window_descriptor (5, "set_window", &(cmd.window)); - + DBG (3, "set_window: sending command. Bytes: %d\n", transferlen); status = avision_cmd (&s->av_con, &cmd, sizeof (cmd.cmd), &(cmd.window), transferlen, 0, 0); - + return status; } @@ -5813,13 +5812,13 @@ get_background_raster (Avision_Scanner* s) Avision_Device* dev = s->hw; SANE_Status status; - + struct command_read rcmd; size_t size; int bytes_per_line, i; const int bpp = color_mode_is_color (s->c_mode) ? 3 : 1; const int lines = s->val[OPT_BACKGROUND].w * (s->avdimen.interlaced_duplex ? 2 : 1); - + uint8_t* background = NULL; DBG (1, "get_background_raster:\n"); @@ -5828,20 +5827,20 @@ get_background_raster (Avision_Scanner* s) DBG (1, "get_background_raster: no background requested\n"); return SANE_STATUS_GOOD; } - + /* full width, always :-(, duplex *2 for front and rear */ bytes_per_line = dev->inquiry_background_raster_pixel * s->avdimen.hw_xres / dev->inquiry_optical_res; bytes_per_line *= bpp; - + DBG (3, "get_background_raster: native raster pixels: %d, raster bytes_per_line: %d\n", dev->inquiry_background_raster_pixel, bytes_per_line); - + /* according to spec only 8-bit gray or color, TODO: test for bi-level scans */ size = bytes_per_line * lines; DBG (3, "get_background_raster: buffer size: %ld\n", (long)size); - + background = s->background_raster = realloc (s->background_raster, size); if (!background) return SANE_STATUS_NO_MEM; @@ -5850,13 +5849,13 @@ get_background_raster (Avision_Scanner* s) rcmd.opc = AVISION_SCSI_READ; rcmd.datatypecode = 0x9b; /* get background raster */ set_double (rcmd.datatypequal, s->hw->data_dq); - + /* Ok, well - this part is very messy. The AV122 and DM152 appear to contain differently buggy ASICs. The only combination I found to at least get a correct front raster out of them is to read it line by line and then every second line appears to be valid front data, ... */ - + /* read the raster data */ for (i = 0; i < lines;) { @@ -5864,7 +5863,7 @@ get_background_raster (Avision_Scanner* s) /* read stripe by stripe, or all in one chunk */ size_t this_read, read_size; int this_lines; - + if (dev->hw->feature_type & AV_2ND_LINE_INTERLACED) { if (dev->hw->feature_type & AV_BACKGROUND_QUIRK) this_lines = 1; @@ -5875,12 +5874,12 @@ get_background_raster (Avision_Scanner* s) this_lines = s->val[OPT_BACKGROUND].w; } this_read = bytes_per_line * this_lines; - + DBG (3, "get_background_raster: line: %d, lines: %d, %lu bytes\n", i, this_lines, (u_long) this_read); set_triple (rcmd.transferlen, this_read); - + read_size = this_read; status = avision_cmd (&s->av_con, &rcmd, sizeof (rcmd), 0, 0, dst_raster, &read_size); if (status != SANE_STATUS_GOOD || read_size != this_read) { @@ -5888,29 +5887,29 @@ get_background_raster (Avision_Scanner* s) sane_strstatus (status) ); return status; } - + i += this_lines; } - + /* dump raw result while debugging */ if (debug) { FILE* f = NULL; f = fopen ("background-raw.pnm", "w"); - + write_pnm_header (f, (color_mode_is_color (s->c_mode) ? AV_TRUECOLOR : AV_GRAYSCALE), 8, bytes_per_line / bpp, lines); - + fwrite (background, 1, bytes_per_line * lines, f); fclose (f); } /* line-pack - move to unified processing flow, later */ if (dev->inquiry_needs_line_pack) - { + { /* TODO: add 16bit per sample code? */ int l, p; - + uint8_t* tmp_data = malloc (bytes_per_line); for (l = 0; l < lines; ++l) { @@ -5918,47 +5917,47 @@ get_background_raster (Avision_Scanner* s) uint8_t* r_ptr = background + (bytes_per_line * l); uint8_t* g_ptr = r_ptr + bytes_per_line / bpp; uint8_t* b_ptr = g_ptr + bytes_per_line / bpp; - + for (p = 0; p < bytes_per_line;) { out_data [p++] = *(r_ptr++); out_data [p++] = *(g_ptr++); out_data [p++] = *(b_ptr++); } - + memcpy (background + (bytes_per_line * l), tmp_data, bytes_per_line); } - + free (tmp_data); } /* end line pack */ - + /* deinterlace? */ if (s->avdimen.interlaced_duplex && dev->hw->feature_type & AV_2ND_LINE_INTERLACED) { uint8_t* deinterlaced = malloc (size * 2); if (!deinterlaced) return SANE_STATUS_NO_MEM; - + for (i = 0; i < lines; ++i) { int dst_i = i / 2 + (i % 2) * (lines / 2); uint8_t* dst_raster; /* just no C99 in SANE :-( */ uint8_t* src_raster; - + /* for the quirky devices and some resolutions the interlacing differs */ if (dev->hw->feature_type & AV_BACKGROUND_QUIRK && s->avdimen.hw_xres >= 150) dst_i = i / 2 + ((i+1) % 2) * (lines / 2); - + dst_raster = deinterlaced + bytes_per_line * dst_i; src_raster = background + bytes_per_line * i; - + DBG(3, "get_background_raster: deinterlaced %d -> %d\n", i, dst_i); memcpy(dst_raster, src_raster, bytes_per_line); } - + free (background); background = s->background_raster = deinterlaced; } - + /* dump raw result while debugging */ for (i = 0; debug && i < (s->avdimen.interlaced_duplex ? 2 : 1); ++i) { @@ -5971,14 +5970,14 @@ get_background_raster (Avision_Scanner* s) f = fopen ("background-rear.pnm", "w"); raster += bytes_per_line * s->val[OPT_BACKGROUND].w; } - + write_pnm_header (f, (color_mode_is_color (s->c_mode) ? AV_TRUECOLOR : AV_GRAYSCALE), 8, bytes_per_line / bpp, s->val[OPT_BACKGROUND].w); - + fwrite (raster, 1, bytes_per_line * s->val[OPT_BACKGROUND].w, f); fclose (f); } - + /* crop from full-width scanlines to scan window */ { uint8_t *dst_ptr, *src_ptr; @@ -5991,19 +5990,19 @@ get_background_raster (Avision_Scanner* s) src_ptr += bytes_per_line; } } - + /* soft-scale - move to unified processing flow, later */ if (s->avdimen.hw_xres != s->avdimen.xres) { const uint8_t* out_data = background; uint8_t* dst = background; - + int l; for (l = 0; l < lines; ++l) { const int hwbpl = s->avdimen.hw_bytes_per_line; const int sy = l; - + int x; for (x = 0; x < s->params.pixels_per_line; ++x) { @@ -6011,24 +6010,24 @@ get_background_raster (Avision_Scanner* s) const int sx = (int)floor(bx); const int xdist = (int) ((bx - sx) * 256); const int sxx = sx + 1; - + switch (bpp) { case 1: { - uint8_t v = + uint8_t v = ( out_data [sy*hwbpl + sx ] * (256-xdist) + out_data [sy*hwbpl + sxx] * xdist ) / (256); *dst++ = v; } break; - + case 3: { int c; for (c = 0; c < 3; ++c) { - uint8_t v = + uint8_t v = ( out_data [sy*hwbpl + sx*3 + c] * (256-xdist) + out_data [sy*hwbpl + sxx*3 + c] * xdist ) / (256); @@ -6040,7 +6039,7 @@ get_background_raster (Avision_Scanner* s) } } } - + /* dump final result while debugging */ if (debug) { for (i = 0; i < (s->avdimen.interlaced_duplex ? 2 : 1); ++i) @@ -6054,15 +6053,15 @@ get_background_raster (Avision_Scanner* s) f = fopen ("background-final-rear.pnm", "w"); raster += s->params.bytes_per_line * s->val[OPT_BACKGROUND].w; } - + write_pnm_header (f, (color_mode_is_color (s->c_mode) ? AV_TRUECOLOR : AV_GRAYSCALE), 8, s->params.bytes_per_line / bpp, s->val[OPT_BACKGROUND].w); - + fwrite (raster, 1, s->params.bytes_per_line * s->val[OPT_BACKGROUND].w, f); fclose (f); } } - + return SANE_STATUS_GOOD; } @@ -6072,9 +6071,9 @@ reserve_unit (Avision_Scanner* s) char cmd[] = {AVISION_SCSI_RESERVE_UNIT, 0, 0, 0, 0, 0}; SANE_Status status; - + DBG (1, "reserve_unit:\n"); - + status = avision_cmd (&s->av_con, cmd, sizeof (cmd), 0, 0, 0, 0); return status; } @@ -6085,7 +6084,7 @@ release_unit (Avision_Scanner* s, int type) char cmd[] = {AVISION_SCSI_RELEASE_UNIT, 0, 0, 0, 0, 0}; SANE_Status status; - + DBG (1, "release unit: type: %d\n", type); cmd[5] = type; /* latest scanners also allow 1: release paper and 2: end job */ status = avision_cmd (&s->av_con, cmd, sizeof (cmd), 0, 0, 0, 0); @@ -6100,17 +6099,17 @@ media_check (Avision_Scanner* s) SANE_Status status; uint8_t result[1]; /* 4 */ size_t size = sizeof(result); - + status = avision_cmd (&s->av_con, cmd, sizeof (cmd), 0, 0, result, &size); - + debug_print_raw (5, "media_check: result\n", result, size); - + if (status == SANE_STATUS_GOOD) { if (!(result[0] & 0x1)) status = SANE_STATUS_NO_DOCS; } - + return status; } @@ -6120,7 +6119,7 @@ flush_media (Avision_Scanner* s) { Avision_Device* dev = s->hw; SANE_Status status; - + if (s->source_mode_dim == AV_ADF_DIM && dev->inquiry_batch_scan) { DBG (1, "flush_media: flushing pages out of batch scanner\n"); @@ -6133,7 +6132,7 @@ flush_media (Avision_Scanner* s) DBG (1, "flush_media: release status: %d\n", status2); } } while (status == SANE_STATUS_GOOD); - } + } return SANE_STATUS_GOOD; } #endif /* 0 - unused */ @@ -6142,15 +6141,15 @@ static SANE_Status object_position (Avision_Scanner* s, uint8_t position) { SANE_Status status; - + uint8_t cmd [10]; - + memset (cmd, 0, sizeof (cmd)); cmd[0] = AVISION_SCSI_OBJECT_POSITION; cmd[1] = position; - + DBG (1, "object_position: %d\n", position); - + status = avision_cmd (&s->av_con, cmd, sizeof(cmd), 0, 0, 0, 0); return status; } @@ -6159,11 +6158,11 @@ static SANE_Status start_scan (Avision_Scanner* s) { struct command_scan cmd; - + size_t size = sizeof (cmd); - + DBG (3, "start_scan:\n"); - + memset (&cmd, 0, sizeof (cmd)); cmd.opc = AVISION_SCSI_SCAN; cmd.transferlen = 1; @@ -6176,7 +6175,7 @@ start_scan (Avision_Scanner* s) if (s->val[OPT_QSCAN].w == SANE_TRUE) { SET_BIT(cmd.bitset1,7); } - + DBG (3, "start_scan: sending command. Bytes: %lu\n", (u_long) size); return avision_cmd (&s->av_con, &cmd, size, 0, 0, 0, 0); } @@ -6185,12 +6184,12 @@ static SANE_Status do_eof (Avision_Scanner *s) { int exit_status; - + DBG (3, "do_eof:\n"); /* we do not scan anymore */ s->prepared = s->scanning = SANE_FALSE; - + /* we can now mark the rear data as valid */ if (s->avdimen.interlaced_duplex || (s->hw->hw->feature_type & AV_ADF_FLIPPING_DUPLEX && s->source_mode == AV_ADF_DUPLEX)) { @@ -6199,16 +6198,16 @@ do_eof (Avision_Scanner *s) DBG (3, "do_eof: duplex rear data valid: %x\n", s->duplex_rear_valid); } - + if (s->read_fds >= 0) { close (s->read_fds); s->read_fds = -1; } - + /* join our processes - without a wait() you will produce zombies (defunct children) */ sanei_thread_waitpid (s->reader_pid, &exit_status); - s->reader_pid = -1; + sanei_thread_invalidate (s->reader_pid); DBG (3, "do_eof: returning %d\n", exit_status); return (SANE_Status)exit_status; @@ -6218,19 +6217,19 @@ static SANE_Status do_cancel (Avision_Scanner* s) { DBG (3, "do_cancel:\n"); - + s->prepared = s->scanning = SANE_FALSE; s->duplex_rear_valid = SANE_FALSE; s->page = 0; s->cancelled = 1; - + if (sanei_thread_is_valid (s->reader_pid)) { int exit_status; - + /* ensure child knows it's time to stop: */ sanei_thread_kill (s->reader_pid); sanei_thread_waitpid (s->reader_pid, &exit_status); - s->reader_pid = -1; + sanei_thread_invalidate (s->reader_pid); } return SANE_STATUS_CANCELLED; @@ -6243,16 +6242,16 @@ read_data (Avision_Scanner* s, SANE_Byte* buf, size_t* count) SANE_Status status; DBG (9, "read_data: %lu\n", (u_long) *count); - + memset (&rcmd, 0, sizeof (rcmd)); - + rcmd.opc = AVISION_SCSI_READ; rcmd.datatypecode = 0x00; /* read image data */ set_double (rcmd.datatypequal, s->hw->data_dq); set_triple (rcmd.transferlen, *count); - + status = avision_cmd (&s->av_con, &rcmd, sizeof (rcmd), 0, 0, buf, count); - + return status; } @@ -6261,9 +6260,9 @@ init_options (Avision_Scanner* s) { Avision_Device* dev = s->hw; int i; - + DBG (3, "init_options:\n"); - + memset (s->opt, 0, sizeof (s->opt)); memset (s->val, 0, sizeof (s->val)); @@ -6271,9 +6270,9 @@ init_options (Avision_Scanner* s) s->opt[i].size = sizeof (SANE_Word); s->opt[i].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; } - + /* Init the SANE option from the scanner inquiry data */ - + switch (dev->inquiry_asic_type) { case AV_ASIC_C2: dev->dpi_range.min = 100; @@ -6294,11 +6293,11 @@ init_options (Avision_Scanner* s) dev->dpi_range.quant = 1; /* any, including 72, 144, etc. */ dev->dpi_range.max = dev->inquiry_max_res; - + dev->speed_range.min = (SANE_Int)0; dev->speed_range.max = (SANE_Int)4; dev->speed_range.quant = (SANE_Int)1; - + s->opt[OPT_NUM_OPTS].name = ""; s->opt[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS; s->opt[OPT_NUM_OPTS].desc = ""; @@ -6306,7 +6305,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_NUM_OPTS].type = SANE_TYPE_INT; s->opt[OPT_NUM_OPTS].size = sizeof(SANE_TYPE_INT); s->val[OPT_NUM_OPTS].w = NUM_OPTIONS; - + /* "Mode" group: */ s->opt[OPT_MODE_GROUP].title = SANE_TITLE_SCAN_MODE; s->opt[OPT_MODE_GROUP].desc = ""; /* for groups only title and type are valid */ @@ -6314,7 +6313,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_MODE_GROUP].cap = 0; s->opt[OPT_MODE_GROUP].size = 0; s->opt[OPT_MODE_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - + /* color mode */ s->opt[OPT_MODE].name = SANE_NAME_SCAN_MODE; s->opt[OPT_MODE].title = SANE_TITLE_SCAN_MODE; @@ -6325,7 +6324,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_MODE].constraint.string_list = dev->color_list; s->val[OPT_MODE].s = strdup (dev->color_list[dev->color_list_default]); s->c_mode = match_color_mode (dev, s->val[OPT_MODE].s); - + /* source mode */ s->opt[OPT_SOURCE].name = SANE_NAME_SCAN_SOURCE; s->opt[OPT_SOURCE].title = SANE_TITLE_SCAN_SOURCE; @@ -6366,7 +6365,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_SPEED].desc = SANE_DESC_SCAN_SPEED; s->opt[OPT_SPEED].type = SANE_TYPE_INT; s->opt[OPT_SPEED].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_SPEED].constraint.range = &dev->speed_range; + s->opt[OPT_SPEED].constraint.range = &dev->speed_range; s->val[OPT_SPEED].w = 0; if (dev->scanner_type == AV_SHEETFEED) s->opt[OPT_SPEED].cap |= SANE_CAP_INACTIVE; @@ -6418,7 +6417,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_BR_Y].constraint_type = SANE_CONSTRAINT_RANGE; s->opt[OPT_BR_Y].constraint.range = &dev->y_range; s->val[OPT_BR_Y].w = dev->y_range.max; - + /* overscan top */ s->opt[OPT_OVERSCAN_TOP].name = "overscan-top"; s->opt[OPT_OVERSCAN_TOP].title = "Overscan top"; @@ -6428,7 +6427,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_OVERSCAN_TOP].constraint_type = SANE_CONSTRAINT_RANGE; s->opt[OPT_OVERSCAN_TOP].constraint.range = &overscan_range; s->val[OPT_OVERSCAN_TOP].w = SANE_FIX(0); - + /* overscan bottom */ s->opt[OPT_OVERSCAN_BOTTOM].name = "overscan-bottom"; s->opt[OPT_OVERSCAN_BOTTOM].title = "Overscan bottom"; @@ -6438,12 +6437,12 @@ init_options (Avision_Scanner* s) s->opt[OPT_OVERSCAN_BOTTOM].constraint_type = SANE_CONSTRAINT_RANGE; s->opt[OPT_OVERSCAN_BOTTOM].constraint.range = &overscan_range; s->val[OPT_OVERSCAN_BOTTOM].w = SANE_FIX(0); - + if (!dev->inquiry_tune_scan_length) s->opt[OPT_OVERSCAN_TOP].cap |= SANE_CAP_INACTIVE; if (!dev->inquiry_tune_scan_length) s->opt[OPT_OVERSCAN_BOTTOM].cap |= SANE_CAP_INACTIVE; - + /* background raster */ s->opt[OPT_BACKGROUND].name = "background-lines"; s->opt[OPT_BACKGROUND].title = "Background raster lines"; @@ -6453,11 +6452,11 @@ init_options (Avision_Scanner* s) s->opt[OPT_BACKGROUND].constraint_type = SANE_CONSTRAINT_RANGE; s->opt[OPT_BACKGROUND].constraint.range = &background_range; s->val[OPT_BACKGROUND].w = 0; - + if (!dev->inquiry_background_raster) { s->opt[OPT_BACKGROUND].cap |= SANE_CAP_INACTIVE; } - + /* "Enhancement" group: */ s->opt[OPT_ENHANCEMENT_GROUP].title = "Enhancement"; s->opt[OPT_ENHANCEMENT_GROUP].desc = ""; /* for groups only title and type are valid */ @@ -6553,7 +6552,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_GAMMA_VECTOR_B].constraint_type = SANE_CONSTRAINT_RANGE; s->opt[OPT_GAMMA_VECTOR_B].constraint.range = &u8_range; s->val[OPT_GAMMA_VECTOR_B].wa = &s->gamma_table[3][0]; - + if (!disable_gamma_table) { if (color_mode_is_color (s->c_mode)) { @@ -6565,7 +6564,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_GAMMA_VECTOR].cap &= ~SANE_CAP_INACTIVE; } } - + /* exposure */ s->opt[OPT_EXPOSURE].name = "exposure"; s->opt[OPT_EXPOSURE].title = "Exposure"; @@ -6575,7 +6574,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_EXPOSURE].constraint_type = SANE_CONSTRAINT_RANGE; s->opt[OPT_EXPOSURE].constraint.range = &exposure_range; s->val[OPT_EXPOSURE].w = 100; - + if (!dev->inquiry_exposure_control) { s->opt[OPT_EXPOSURE].cap |= SANE_CAP_INACTIVE; } @@ -6587,7 +6586,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_MULTISAMPLE].type = SANE_TYPE_BOOL; s->opt[OPT_MULTISAMPLE].unit = SANE_UNIT_NONE; s->val[OPT_MULTISAMPLE].w = SANE_FALSE; - + /* TODO: No idea how to detect, assume exposure control devices are new enough to support this, for now. -ReneR */ if (!dev->inquiry_exposure_control) { @@ -6601,13 +6600,13 @@ init_options (Avision_Scanner* s) s->opt[OPT_IR].type = SANE_TYPE_BOOL; s->opt[OPT_IR].unit = SANE_UNIT_NONE; s->val[OPT_IR].w = SANE_FALSE; - + /* TODO: No idea how to detect, assume exposure control devices are new enough to support this, for now. -ReneR */ if (!dev->inquiry_exposure_control) { s->opt[OPT_IR].cap |= SANE_CAP_INACTIVE; } - + /* "MISC" group: */ s->opt[OPT_MISC_GROUP].title = SANE_TITLE_SCAN_MODE; s->opt[OPT_MISC_GROUP].desc = ""; /* for groups only title and type are valid */ @@ -6615,7 +6614,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_MISC_GROUP].cap = 0; s->opt[OPT_MISC_GROUP].size = 0; s->opt[OPT_MISC_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - + /* film holder control */ if (dev->scanner_type != AV_FILM) s->opt[OPT_FRAME].cap |= SANE_CAP_INACTIVE; @@ -6649,7 +6648,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_MESSAGE].constraint_type = SANE_CONSTRAINT_NONE; s->val[OPT_MESSAGE].s = malloc(s->opt[OPT_MESSAGE].size); s->val[OPT_MESSAGE].s[0] = 0; - + /* NVRAM */ s->opt[OPT_NVRAM].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; if (!dev->inquiry_nvram_read) @@ -6663,7 +6662,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_NVRAM].constraint_type = SANE_CONSTRAINT_NONE; s->val[OPT_NVRAM].s = malloc(s->opt[OPT_NVRAM].size); s->val[OPT_NVRAM].s[0] = 0; - + /* paper_length */ s->opt[OPT_PAPERLEN].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; if (!dev->inquiry_paper_length) @@ -6676,7 +6675,7 @@ init_options (Avision_Scanner* s) s->opt[OPT_PAPERLEN].size = sizeof(SANE_Word); s->opt[OPT_PAPERLEN].constraint_type = SANE_CONSTRAINT_NONE; s->val[OPT_PAPERLEN].w = SANE_FALSE; - + /* ADF page flipping */ s->opt[OPT_ADF_FLIP].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_AUTOMATIC | SANE_CAP_ADVANCED; if (!(s->hw->hw->feature_type & AV_ADF_FLIPPING_DUPLEX && s->source_mode == AV_ADF_DUPLEX)) @@ -6711,24 +6710,24 @@ reader_process (void *data) int fd = s->write_fds; Avision_Device* dev = s->hw; - + SANE_Status status; SANE_Status exit_status = SANE_STATUS_GOOD; sigset_t sigterm_set; sigset_t ignore_set; struct SIGACTION act; - + FILE* fp; FILE* rear_fp = 0; /* used to store the deinterlaced rear data */ FILE* raw_fp = 0; /* used to write the RAW image data for debugging */ - + /* the complex params */ unsigned int lines_per_stripe; unsigned int lines_per_output; unsigned int max_bytes_per_read; - + SANE_Bool gray_mode; - + /* the simple params for the data reader */ int hw_line = 0; int line = 0; @@ -6736,17 +6735,17 @@ reader_process (void *data) unsigned int stripe_size; unsigned int stripe_fill; unsigned int out_size; - + size_t total_size; size_t processed_bytes; - + enum { NONE, /* do not de-interlace at all */ STRIPE, /* every 2nd stripe */ HALF, /* the 2nd half */ LINE /* every 2nd line */ } deinterlace = NONE; - + /* the fat strip we currently puzzle together to perform software-colorpack and more */ uint8_t* stripe_data; @@ -6755,44 +6754,44 @@ reader_process (void *data) /* interpolation output data, one line */ uint8_t* ip_history = 0; uint8_t* ip_data = 0; - + DBG (3, "reader_process:\n"); - + if (sanei_thread_is_forked()) close (s->read_fds); - + sigfillset (&ignore_set); sigdelset (&ignore_set, SIGTERM); #if defined (__APPLE__) && defined (__MACH__) sigdelset (&ignore_set, SIGUSR2); #endif sigprocmask (SIG_SETMASK, &ignore_set, 0); - + memset (&act, 0, sizeof (act)); sigaction (SIGTERM, &act, 0); - + sigemptyset (&sigterm_set); sigaddset (&sigterm_set, SIGTERM); - + gray_mode = color_mode_is_shaded (s->c_mode); if (s->avdimen.interlaced_duplex) { deinterlace = STRIPE; - + if ( (dev->hw->feature_type & AV_NON_INTERLACED_DUPLEX_300) && (s->avdimen.hw_xres <= 300 && s->avdimen.hw_yres <= 300) ) deinterlace = HALF; if (dev->hw->feature_type & AV_2ND_LINE_INTERLACED) deinterlace = LINE; - + if (dev->scanner_type == AV_FILM) deinterlace = LINE; } - + fp = fdopen (fd, "w"); if (!fp) return SANE_STATUS_NO_MEM; - + /* start scan ? */ if ((deinterlace == NONE && !((dev->hw->feature_type & AV_ADF_FLIPPING_DUPLEX) && s->source_mode == AV_ADF_DUPLEX && s->duplex_rear_valid)) || (deinterlace != NONE && !s->duplex_rear_valid)) @@ -6806,7 +6805,7 @@ reader_process (void *data) sane_strstatus (status)); return status; } - + if (dev->hw->feature_type & AV_NO_START_SCAN) { DBG (1, "reader_process: start_scan skipped due to device-list!\n"); } @@ -6818,7 +6817,7 @@ reader_process (void *data) return status; } } - + if (dev->hw->feature_type & AV_ACCEL_TABLE) /* (s->hw->inquiry_asic_type == AV_ASIC_C6) */ { status = send_acceleration_table (s); @@ -6829,7 +6828,7 @@ reader_process (void *data) } } } - + /* setup file i/o for deinterlacing scans or if we are the back page with a flipping duplexer */ if (deinterlace != NONE || (dev->hw->feature_type & AV_ADF_FLIPPING_DUPLEX && s->source_mode == AV_ADF_DUPLEX && !(s->page % 2))) @@ -6851,38 +6850,38 @@ reader_process (void *data) } } } - + /* it takes quite a few lines to saturate the (USB) bus */ lines_per_stripe = dev->read_stripe_size; if (s->avdimen.line_difference) lines_per_stripe += 2 * s->avdimen.line_difference; - + stripe_size = s->avdimen.hw_bytes_per_line * lines_per_stripe; lines_per_output = lines_per_stripe - 2 * s->avdimen.line_difference; - + if (s->av_con.connection_type == AV_SCSI) /* maybe better not /2 ... */ max_bytes_per_read = dev->scsi_buffer_size / 2; - else + else /* vast buffer size to saturate the bus */ max_bytes_per_read = 0x100000; - + out_size = s->avdimen.hw_bytes_per_line * lines_per_output; - + DBG (3, "dev->scsi_buffer_size / 2: %d\n", dev->scsi_buffer_size / 2); - + DBG (3, "bytes_per_line: %d, pixels_per_line: %d\n", s->avdimen.hw_bytes_per_line, s->avdimen.hw_pixels_per_line); - + DBG (3, "lines_per_stripe: %d, lines_per_output: %d\n", lines_per_stripe, lines_per_output); - + DBG (3, "max_bytes_per_read: %d, stripe_size: %d, out_size: %d\n", max_bytes_per_read, stripe_size, out_size); - + stripe_data = malloc (stripe_size); - + /* for software scaling we need an additional interpolation line buffer */ if (s->avdimen.hw_xres != s->avdimen.xres || s->avdimen.hw_yres != s->avdimen.yres) @@ -6890,13 +6889,13 @@ reader_process (void *data) /* layout out_data so that the interpolation history is exactly in front */ ip_history = malloc (s->avdimen.hw_bytes_per_line + out_size); out_data = ip_history + s->avdimen.hw_bytes_per_line; - + ip_data = malloc (s->params.bytes_per_line); } else { out_data = malloc (out_size); } - + /* calculate params for the reading loop */ total_size = s->avdimen.hw_bytes_per_line * (s->avdimen.hw_lines + 2 * s->avdimen.line_difference + @@ -6904,7 +6903,7 @@ reader_process (void *data) if (deinterlace != NONE && !s->duplex_rear_valid) total_size *= 2; DBG (3, "reader_process: total_size: %lu\n", (u_long) total_size); - + /* write a RAW PNM file for debugging -ReneR */ if (0 /* DEBUG */ && (deinterlace == NONE || (deinterlace != NONE && !s->duplex_rear_valid)) ) @@ -6913,36 +6912,36 @@ reader_process (void *data) write_pnm_header (fp, s->c_mode, s->params.depth, s->avdimen.hw_pixels_per_line, total_size / s->avdimen.hw_bytes_per_line); } - + processed_bytes = 0; stripe_fill = 0; - + /* First, dump background raster, bypassing all the other processing. */ if (dev->inquiry_background_raster && s->val[OPT_BACKGROUND].w) { uint8_t* background = s->background_raster; if (s->duplex_rear_valid) background += s->params.bytes_per_line * s->val[OPT_BACKGROUND].w; - + DBG (5, "reader_process: dumping background raster\n"); fwrite (background, s->params.bytes_per_line, s->val[OPT_BACKGROUND].w, fp); } - + /* Data read; loop until all data has been processed. Might exit before all lines are transferred for ADF paper end. */ while (exit_status == SANE_STATUS_GOOD && processed_bytes < total_size) { unsigned int useful_bytes; - + DBG (5, "reader_process: stripe filled: %d\n", stripe_fill); - + /* fill the stripe buffer with real data */ while (!s->duplex_rear_valid && processed_bytes < total_size && stripe_fill < stripe_size && exit_status == SANE_STATUS_GOOD) { size_t this_read = stripe_size - stripe_fill; - + /* Limit reads to max_bytes_per_read and global data boundaries. Rounded to the next lower multiple of byte_per_lines, otherwise some scanners freeze. */ @@ -6962,7 +6961,7 @@ reader_process (void *data) sigprocmask (SIG_BLOCK, &sigterm_set, 0); status = read_data (s, stripe_data + stripe_fill, &this_read); sigprocmask (SIG_UNBLOCK, &sigterm_set, 0); - + /* only EOF on the second stripe, as otherwise the rear page is shorter */ if (status == SANE_STATUS_EOF && deinterlace == STRIPE) { @@ -6977,59 +6976,59 @@ reader_process (void *data) } } } - + /* write RAW data to file for debugging */ if (raw_fp && this_read > 0) fwrite (stripe_data + stripe_fill, this_read, 1, raw_fp); - + if (status == SANE_STATUS_EOF || this_read == 0) { DBG (1, "reader_process: read_data failed due to EOF\n"); exit_status = SANE_STATUS_EOF; } - + if (status != SANE_STATUS_GOOD) { DBG (1, "reader_process: read_data failed with status: %d\n", status); exit_status = status; } - + stripe_fill += this_read; processed_bytes += this_read; } - + /* fill the stripe buffer with stored, virtual data */ if (s->duplex_rear_valid) { size_t this_read = stripe_size - stripe_fill; size_t got; - + /* limit reads to max_read and global data boundaries */ if (this_read > max_bytes_per_read) this_read = max_bytes_per_read; - + if (processed_bytes + this_read > total_size) this_read = total_size - processed_bytes; - + DBG (5, "reader_process: virtual processed_bytes: %lu, total_size: %lu\n", (u_long) processed_bytes, (u_long) total_size); DBG (5, "reader_process: virtual this_read: %lu\n", (u_long) this_read); - + got = fread (stripe_data + stripe_fill, 1, this_read, rear_fp); stripe_fill += got; processed_bytes += got; if (got != this_read) exit_status = SANE_STATUS_EOF; } - + DBG (5, "reader_process: stripe filled: %d\n", stripe_fill); - + useful_bytes = stripe_fill; if (color_mode_is_color (s->c_mode)) useful_bytes -= 2 * s->avdimen.line_difference * s->avdimen.hw_bytes_per_line; - + DBG (3, "reader_process: useful_bytes %i\n", useful_bytes); - + /* Deinterlace, save the rear stripes. For some scanners (AV220) that is every 2nd stripe, the 2nd half of the transferred data ((AV83xx), or every 2nd line (AV122)). */ @@ -7078,12 +7077,12 @@ reader_process (void *data) DBG (9, "reader_process: after page flip: useful_bytes: %d, stripe_fill: %d\n", useful_bytes, stripe_fill); } else { - + /* * Perform needed data conversions (packing, ...) and/or copy the * image data. */ - + if (s->c_mode != AV_TRUECOLOR && s->c_mode != AV_TRUECOLOR16) /* simple copy */ { @@ -7098,11 +7097,11 @@ reader_process (void *data) /* TODO: add 16bit per sample code? */ unsigned int i; int c_offset = s->avdimen.line_difference * s->avdimen.hw_bytes_per_line; - + uint8_t* r_ptr = stripe_data; uint8_t* g_ptr = stripe_data + c_offset + 1; uint8_t* b_ptr = stripe_data + 2 * c_offset + 2; - + for (i = 0; i < useful_bytes;) { out_data [i++] = *r_ptr; r_ptr += 3; out_data [i++] = *g_ptr; g_ptr += 3; @@ -7110,17 +7109,17 @@ reader_process (void *data) } } /* end color pack */ else if (dev->inquiry_needs_line_pack) /* line-pack */ - { + { /* TODO: add 16bit per sample code? */ int i = 0, l, p; const int lines = useful_bytes / s->avdimen.hw_bytes_per_line; - + for (l = 0; l < lines; ++l) { uint8_t* r_ptr = stripe_data + (s->avdimen.hw_bytes_per_line * l); uint8_t* g_ptr = r_ptr + s->avdimen.hw_pixels_per_line; uint8_t* b_ptr = g_ptr + s->avdimen.hw_pixels_per_line; - + for (p = 0; p < s->avdimen.hw_pixels_per_line; ++p) { out_data [i++] = *(r_ptr++); out_data [i++] = *(g_ptr++); @@ -7129,13 +7128,13 @@ reader_process (void *data) } } /* end line pack */ else /* else no packing was required -> simple copy */ - { + { memcpy (out_data, stripe_data, useful_bytes); } } /* end if AV_TRUECOLOR* */ - + /* FURTHER POST-PROCESSING ON THE FINAL OUTPUT DATA */ - + /* maybe mirroring in ADF mode */ if (s->source_mode_dim == AV_ADF_DIM && dev->inquiry_adf_need_mirror) { @@ -7152,7 +7151,7 @@ reader_process (void *data) { uint8_t* begin_ptr = out_data + (l * s->avdimen.hw_bytes_per_line); uint8_t* end_ptr = begin_ptr + s->avdimen.hw_bytes_per_line; - + while (begin_ptr < end_ptr) { uint8_t tmp; tmp = *begin_ptr; @@ -7164,7 +7163,7 @@ reader_process (void *data) else /* non trivial mirroring */ { /* Non-trivial Mirroring with element swapping */ - + int l; int lines = useful_bytes / s->avdimen.hw_bytes_per_line; @@ -7172,25 +7171,25 @@ reader_process (void *data) { uint8_t* begin_ptr = out_data + (l * s->avdimen.hw_bytes_per_line); uint8_t* end_ptr = begin_ptr + s->avdimen.hw_bytes_per_line - 3; - + while (begin_ptr < end_ptr) { uint8_t tmp; - + /* R */ tmp = *begin_ptr; *begin_ptr++ = *end_ptr; *end_ptr++ = tmp; - + /* G */ tmp = *begin_ptr; *begin_ptr++ = *end_ptr; *end_ptr++ = tmp; - + /* B */ tmp = *begin_ptr; *begin_ptr++ = *end_ptr; *end_ptr = tmp; - + end_ptr -= 5; } } @@ -7202,13 +7201,13 @@ reader_process (void *data) s->c_mode == AV_GRAYSCALE16 || s->c_mode == AV_TRUECOLOR12 || s->c_mode == AV_TRUECOLOR16) { - + int l; int lines = useful_bytes / s->avdimen.hw_bytes_per_line; uint8_t* dark_avg_data = s->dark_avg_data; uint8_t* white_avg_data = s->white_avg_data; - + uint8_t* begin_ptr = out_data; uint8_t* end_ptr = begin_ptr + s->avdimen.hw_bytes_per_line; uint8_t* line_ptr; @@ -7216,16 +7215,16 @@ reader_process (void *data) double scale = 1.0; if (s->c_mode == AV_GRAYSCALE12 || s->c_mode == AV_TRUECOLOR12) scale = (double) (1<<4); - + while (begin_ptr < end_ptr) { uint16_t dark_avg = 0; uint16_t white_avg = WHITE_MAP_RANGE; - + if (dark_avg_data) dark_avg = get_double_le (dark_avg_data); if (white_avg_data) white_avg = get_double_le (white_avg_data); - + line_ptr = begin_ptr; for (l = 0; l < lines; ++ l) { @@ -7233,16 +7232,16 @@ reader_process (void *data) uint16_t v2; if (0) v = (v - dark_avg) * white_avg / WHITE_MAP_RANGE; - + v2 = v < 0xFFFF ? v : 0xFFFF; - + /* SANE Standard 3.2.1 "... bytes of each sample value are transmitted in the machine's native byte order." */ *line_ptr = v2; - + line_ptr += s->avdimen.hw_bytes_per_line; } - + begin_ptr += 2; if (dark_avg_data) dark_avg_data += 2; @@ -7250,9 +7249,9 @@ reader_process (void *data) white_avg_data += 2; } } - + /* SOFTWARE SCALING WITH INTERPOLATION (IF NECESSARY) */ - + if (s->avdimen.hw_xres == s->avdimen.xres && s->avdimen.hw_yres == s->avdimen.yres) /* No scaling */ { @@ -7280,22 +7279,22 @@ reader_process (void *data) int x; /* for convenience in the 16bit code path */ uint16_t* out_data16 = (uint16_t*) out_data; - + const int hw_line_end = hw_line + useful_bytes / s->avdimen.hw_bytes_per_line; - + /* on-the-fly bi-linear interpolation */ while (1) { double by = (-1.0 + s->avdimen.hw_lines) * line / (s->avdimen.hw_lines * s->avdimen.xres / s->avdimen.hw_xres + s->val[OPT_BACKGROUND].w); int sy = (int)floor(by); int ydist = (int) ((by - sy) * 256); int syy = sy + 1; - + const int hwbpl = s->avdimen.hw_bytes_per_line; - + uint8_t* dst = ip_data; uint16_t* dst16 = (uint16_t*) ip_data; unsigned int v; /* accumulator */ - + /* Break out if we do not have the hw source line - yet, or when we are past the end of wanted data (e.g. on the front page due to rear_offset). Also take the read_offset @@ -7312,35 +7311,35 @@ reader_process (void *data) syy += s->avdimen.rear_offset; } } - + if (sy >= hw_line_end || syy >= hw_line_end) { DBG (3, "reader_process: source line %d-%d not yet avail\n", sy, syy); break; } - + /* convert to offset in current stripe */ sy -= hw_line; syy -= hw_line; - + if (sy < -1) { DBG (1, "reader_process: need more history: %d???\n", sy); sy = -1; } - + DBG (8, "reader_process: out line: %d <- from: %d-%d\n", line, sy, syy); - + for (x = 0; x < s->params.pixels_per_line; ++x) { const double bx = (-1.0 + s->avdimen.hw_pixels_per_line) * x / s->params.pixels_per_line; const int sx = (int)floor(bx); const int xdist = (int) ((bx - sx) * 256); const int sxx = sx + 1; - + if (x == 0 || x == s->params.pixels_per_line - 1) DBG (8, "reader_process: x: %d <- from: %d-%d\n", x, sx, sxx); - + switch (s->c_mode) { case AV_THRESHOLDED: case AV_DITHERED: @@ -7348,13 +7347,13 @@ reader_process (void *data) /* Repeating this over and over again is not fast, but as a seldom used code-path we want it readable. x/8 is the byte, and x%8 the bit position. */ - v = + v = ( ((out_data [sy*hwbpl + sx/8 ] >> (7-sx%8 )) & 1) * (256-xdist) * (256-ydist) + ((out_data [sy*hwbpl + sxx/8] >> (7-sxx%8)) & 1) * xdist * (256-ydist) + ((out_data [syy*hwbpl + sx/8 ] >> (7-sx%8 )) & 1) * (256-xdist) * ydist + ((out_data [syy*hwbpl + sxx/8] >> (7-sxx%8)) & 1) * xdist * ydist ) / (1 + 1 * 256); - + /* Shift and or the result together and eventually jump to the next byte. */ *dst = (*dst << 1) | ((v>>7)&1); @@ -7362,10 +7361,10 @@ reader_process (void *data) ++dst; } break; - + case AV_GRAYSCALE: { - v = + v = ( out_data [sy*hwbpl + sx ] * (256-xdist) * (256-ydist) + out_data [sy*hwbpl + sxx] * xdist * (256-ydist) + out_data [syy*hwbpl + sx ] * (256-xdist) * ydist + @@ -7374,12 +7373,12 @@ reader_process (void *data) *dst++ = v; } break; - + case AV_GRAYSCALE12: case AV_GRAYSCALE16: { - /* TODO: test! */ - v = + /* TODO: test! */ + v = ( out_data16 [sy*hwbpl + sx ] * (256-xdist) * (256-ydist) + out_data16 [sy*hwbpl + sxx] * xdist * (256-ydist) + out_data16 [syy*hwbpl + sx ] * (256-xdist) * ydist + @@ -7388,13 +7387,13 @@ reader_process (void *data) *dst16++ = v; } break; - + case AV_TRUECOLOR: { int c; for (c = 0; c < 3; ++c) { - v = + v = ( out_data [sy*hwbpl + sx*3 + c] * (256-xdist) * (256-ydist) + out_data [sy*hwbpl + sxx*3 + c] * xdist * (256-ydist) + out_data [syy*hwbpl + sx*3 + c] * (256-xdist) * ydist + @@ -7404,7 +7403,7 @@ reader_process (void *data) } } break; - + case AV_TRUECOLOR12: case AV_TRUECOLOR16: { @@ -7412,7 +7411,7 @@ reader_process (void *data) int c; for (c = 0; c < 3; ++c) { - v = + v = ( out_data16 [sy*hwbpl + sx*3 + c] * (256-xdist) * (256-ydist) + out_data16 [sy*hwbpl + sxx*3 + c] * xdist * (256-ydist) + out_data16 [syy*hwbpl + sx*3 + c] * (256-xdist) * ydist + @@ -7422,7 +7421,7 @@ reader_process (void *data) } } break; - + case AV_COLOR_MODE_LAST: ; /* silence compiler warning */ } @@ -7436,29 +7435,29 @@ reader_process (void *data) s->avdimen.hw_bytes_per_line); } } - + /* save image date in stripe buffer for next next stripe */ stripe_fill -= useful_bytes; if (stripe_fill > 0) memcpy (stripe_data, stripe_data + useful_bytes, stripe_fill); - + hw_line += useful_bytes / s->avdimen.hw_bytes_per_line; - + DBG (3, "reader_process: end of iteration\n"); } /* end while not all lines or inf. mode */ - + DBG (3, "reader_process: i/o loop finished\n"); if (exit_status == SANE_STATUS_GOOD) exit_status = SANE_STATUS_EOF; - + if (raw_fp) fclose (raw_fp); - + /* maybe we need to fill in some white data */ if (exit_status == SANE_STATUS_EOF && line < s->params.lines) { DBG (3, "reader_process: padding with white data\n"); memset (out_data, gray_mode ? 0xff : 0x00, s->params.bytes_per_line); - + DBG (6, "reader_process: padding line %d - %d\n", line, s->params.lines); while (line < s->params.lines) { @@ -7466,7 +7465,7 @@ reader_process (void *data) ++line; } } - + /* Eject film holder and/or release_unit - but only for non-duplex-rear / non-virtual scans. */ if ((deinterlace != NONE && s->duplex_rear_valid) || @@ -7485,14 +7484,14 @@ reader_process (void *data) status = release_unit (s, 0); if (status != SANE_STATUS_GOOD) DBG (1, "reader_process: release_unit failed\n"); - + if (dev->inquiry_new_protocol && dev->scanner_type == AV_FILM) { status = object_position (s, AVISION_SCSI_OP_GO_HOME); if (status != SANE_STATUS_GOOD) DBG (1, "reader_process: object position go-home failed!\n"); } } - + if ((dev->hw->feature_type & AV_ADF_FLIPPING_DUPLEX) && s->source_mode == AV_ADF_DUPLEX && s->page % 2) { /* front page of flipping duplex */ if (exit_status == SANE_STATUS_EOF) { @@ -7507,10 +7506,15 @@ reader_process (void *data) return status; } } - /* we can set anything here without fear because the process will terminate soon and take our changes with it */ + /* We run in a separate process or thread. In the latter case, + any change we make to s before the reader_process invocation + needs to be reverted. */ + SANE_Int lines = s->params.lines; s->page += 1; s->params.lines = -line; exit_status = reader_process (s); + s->params.lines = lines; + s->page -= 1; } /* TODO: * else { @@ -7522,15 +7526,15 @@ reader_process (void *data) } if (rear_fp) fclose (rear_fp); - + if (ip_data) free (ip_data); if (ip_history) free (ip_history); else free (out_data); /* if we have ip_history out_data is included there */ - + free (stripe_data); - + DBG (3, "reader_process: returning success\n"); return exit_status; } @@ -7550,17 +7554,17 @@ attach_one_usb (const char* dev) attach (dev, AV_USB, 0); return SANE_STATUS_GOOD; } - + static SANE_Status sane_reload_devices (void) { FILE* fp; - + char line[PATH_MAX]; const char* cp = 0; char* word; int linenumber = 0; - int model_num = 0; + int model_num = 0; sanei_usb_init (); fp = sanei_config_open (AVISION_CONFIG_FILE); @@ -7574,15 +7578,15 @@ sane_reload_devices (void) while (sanei_config_read (line, sizeof (line), fp)) { attaching_hw = 0; - + word = NULL; ++ linenumber; - + DBG (5, "sane_reload_devices: parsing config line \"%s\"\n", line); - + cp = sanei_config_get_string (line, &word); - + if (!word || cp == line) { DBG (5, "sane_reload_devices: config file line %d: ignoring empty line\n", linenumber); @@ -7592,13 +7596,13 @@ sane_reload_devices (void) } continue; } - + if (!word) { DBG (1, "sane_reload_devices: config file line %d: could not be parsed\n", linenumber); continue; } - + if (word[0] == '#') { DBG (5, "sane_reload_devices: config file line %d: ignoring comment line\n", linenumber); @@ -7606,13 +7610,13 @@ sane_reload_devices (void) word = NULL; continue; } - + if (strcmp (word, "option") == 0) { free (word); word = NULL; cp = sanei_config_get_string (cp, &word); - + if (strcmp (word, "disable-gamma-table") == 0) { DBG (3, "sane_reload_devices: config file line %d: disable-gamma-table\n", linenumber); @@ -7656,7 +7660,7 @@ sane_reload_devices (void) else if (strcmp (word, "static-blue-calib") == 0) { DBG (3, "sane_reload_devices: config file line %d: static blue calibration\n", linenumber); - static_calib_list [2] = SANE_TRUE; + static_calib_list [2] = SANE_TRUE; } else DBG (1, "sane_reload_devices: config file line %d: options unknown!\n", @@ -7671,7 +7675,7 @@ sane_reload_devices (void) else if (strcmp (word, "scsi") == 0) { DBG (2, "sane_reload_devices: config file line %d: trying to attach SCSI: %s'\n", linenumber, line); - + /* the last time I verified (2003-03-18) this function only matches SCSI devices ... */ sanei_config_attach_matching_devices (line, attach_one_scsi); @@ -7681,7 +7685,7 @@ sane_reload_devices (void) linenumber); DBG (1, "sane_reload_devices: (see man sane-avision for details): trying to attach SCSI: %s'\n", line); - + /* the last time I verified (2003-03-18) this function only matched SCSI devices ... */ sanei_config_attach_matching_devices (line, attach_one_scsi); @@ -7689,13 +7693,13 @@ sane_reload_devices (void) free (word); word = NULL; } /* end while read */ - + fclose (fp); - + if (word) free (word); } /* end if fp */ - + /* search for all supported SCSI/USB devices */ while (Avision_Device_List [model_num].scsi_mfg != NULL || Avision_Device_List [model_num].real_mfg != NULL) @@ -7707,13 +7711,13 @@ sane_reload_devices (void) attaching_hw->scsi_model, NULL, -1, -1, -1, -1, attach_one_scsi); - + if (attaching_hw->usb_vendor != 0 && attaching_hw->usb_product != 0 ) { DBG (1, "sane_reload_devices: Trying to find USB device %.4x %.4x ...\n", attaching_hw->usb_vendor, attaching_hw->usb_product); - + /* TODO: check return value */ if (sanei_usb_find_devices (attaching_hw->usb_vendor, attaching_hw->usb_product, @@ -7723,7 +7727,7 @@ sane_reload_devices (void) } ++ model_num; } /* end for all devices in supported list */ - + attaching_hw = 0; return SANE_STATUS_GOOD; } @@ -7732,16 +7736,16 @@ SANE_Status sane_init (SANE_Int* version_code, SANE_Auth_Callback authorize) { authorize = authorize; /* silence gcc */ - + DBG_INIT(); #ifdef AVISION_STATIC_DEBUG_LEVEL DBG_LEVEL = AVISION_STATIC_DEBUG_LEVEL; #endif - + DBG (3, "sane_init:(Version: %i.%i Build: %i)\n", SANE_CURRENT_MAJOR, V_MINOR, BACKEND_BUILD); - + /* must come first */ sanei_thread_init (); @@ -7812,7 +7816,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle *handle) uint8_t inquiry_result[AVISION_INQUIRY_SIZE_V1]; DBG (3, "sane_open:\n"); - + if (devicename[0]) { for (dev = first_dev; dev; dev = dev->next) if (strcmp (dev->sane.name, devicename) == 0) @@ -7830,26 +7834,26 @@ sane_open (SANE_String_Const devicename, SANE_Handle *handle) if (!dev) return SANE_STATUS_INVAL; - + s = malloc (sizeof (*s)); if (!s) return SANE_STATUS_NO_MEM; - + /* initialize ... */ /* the other states (scanning, ...) rely on this memset (0) */ memset (s, 0, sizeof (*s)); - + /* initialize connection state */ s->av_con.connection_type = dev->connection.connection_type; s->av_con.usb_status = dev->connection.usb_status; s->av_con.scsi_fd = -1; s->av_con.usb_dn = -1; - - s->reader_pid = -1; + + sanei_thread_initialize (s->reader_pid); s->read_fds = -1; s->hw = dev; - + /* We initialize the table to a gamma value of 2.22, since this is what papers about Colorimetry suggest. @@ -7859,17 +7863,17 @@ sane_open (SANE_String_Const devicename, SANE_Handle *handle) { const double gamma = 2.22; const double one_over_gamma = 1. / gamma; - + for (i = 0; i < 4; ++ i) for (j = 0; j < 256; ++ j) s->gamma_table[i][j] = pow( (double) j / 255, one_over_gamma) * 255; } - + /* insert newly opened handle into list of open handles: */ s->next = first_handle; first_handle = s; *handle = s; - + /* open the device */ if (! avision_is_open (&s->av_con) ) { #ifdef HAVE_SANEI_SCSI_OPEN_EXTENDED @@ -7907,16 +7911,16 @@ sane_open (SANE_String_Const devicename, SANE_Handle *handle) DBG (1, "sane_open: additional probe failed: %s\n", sane_strstatus (status)); return status; } - + /* initialize the options */ init_options (s); - + if (dev->inquiry_duplex_interlaced || dev->scanner_type == AV_FILM || dev->hw->feature_type & AV_ADF_FLIPPING_DUPLEX) { /* Might need at least *DOS (Windows flavour and OS/2) portability fix However, I was told Cygwin (et al.) takes care of it. */ strncpy(s->duplex_rear_fname, "/tmp/avision-rear-XXXXXX", PATH_MAX); - + if (! mktemp(s->duplex_rear_fname) ) { DBG (1, "sane_open: failed to generate temporary fname for duplex scans\n"); return SANE_STATUS_NO_MEM; @@ -7926,25 +7930,25 @@ sane_open (SANE_String_Const devicename, SANE_Handle *handle) s->duplex_rear_fname); } } - + /* calibrate film scanners, as this must be done without the film holder and at the full resolution */ if (dev->scanner_type == AV_FILM) { int default_res = s->val[OPT_RESOLUTION].w; s->val[OPT_RESOLUTION].w = dev->inquiry_optical_res; - + DBG (1, "sane_open: early calibration for film scanner.\n"); - + compute_parameters (s); - + status = set_window (s); if (status != SANE_STATUS_GOOD) { DBG (1, "sane_open: set scan window command failed: %s\n", sane_strstatus (status)); return status; } - + if (!(dev->hw->feature_type & AV_NO_CALIB)) { status = normal_calibration (s); @@ -7954,16 +7958,16 @@ sane_open (SANE_String_Const devicename, SANE_Handle *handle) return status; } } - + if (dev->scanner_type == AV_FILM) { status = object_position (s, AVISION_SCSI_OP_GO_HOME); if (status != SANE_STATUS_GOOD) DBG (1, "reader_open: object position go-home failed!\n"); } - + s->val[OPT_RESOLUTION].w = default_res; } - + return SANE_STATUS_GOOD; } @@ -7975,12 +7979,12 @@ sane_close (SANE_Handle handle) int i; DBG (3, "sane_close:\n"); - + /* close the device */ if (avision_is_open (&s->av_con) ) { avision_close (&s->av_con); } - + /* remove handle from list of open handles: */ prev = 0; for (s = first_handle; s; s = s->next) { @@ -8008,20 +8012,20 @@ sane_close (SANE_Handle handle) free (s->val[i].s); } } - + if (s->white_avg_data) free (s->white_avg_data); if (s->dark_avg_data) free (s->dark_avg_data); - + if (s->background_raster) free (s->background_raster); - + if (*(s->duplex_rear_fname)) { unlink (s->duplex_rear_fname); *(s->duplex_rear_fname) = 0; } - + free (handle); } @@ -8029,7 +8033,7 @@ const SANE_Option_Descriptor* sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) { Avision_Scanner* s = handle; - + DBG (3, "sane_get_option_descriptor: %d\n", option); if ((unsigned) option >= NUM_OPTIONS) @@ -8045,7 +8049,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, Avision_Device* dev = s->hw; SANE_Status status; SANE_Word cap; - + DBG (3, "sane_control_option: option=%d, action=%d\n", (int)option, (int)action); @@ -8060,7 +8064,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, if (s->scanning) return SANE_STATUS_DEVICE_BUSY; - + if (option >= NUM_OPTIONS) return SANE_STATUS_INVAL; @@ -8075,7 +8079,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, { /* word options: */ case OPT_PREVIEW: - + case OPT_RESOLUTION: case OPT_SPEED: case OPT_TL_X: @@ -8086,7 +8090,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_OVERSCAN_BOTTOM: case OPT_BACKGROUND: case OPT_NUM_OPTS: - + case OPT_BRIGHTNESS: case OPT_CONTRAST: case OPT_EXPOSURE: @@ -8098,19 +8102,19 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_ADF_FLIP: *(SANE_Word*) val = s->val[option].w; return SANE_STATUS_GOOD; - + /* specially treated word options */ - + case OPT_FRAME: status = get_frame_info (s); *(SANE_Word*) val = s->val[option].w; return status; - + case OPT_POWER_SAVE_TIME: get_power_save_time (s, &(s->val[option].w)); *(SANE_Word*) val = s->val[option].w; return SANE_STATUS_GOOD; - + /* word-array options: */ case OPT_GAMMA_VECTOR: case OPT_GAMMA_VECTOR_R: @@ -8118,7 +8122,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_GAMMA_VECTOR_B: memcpy (val, s->val[option].wa, s->opt[option].size); return SANE_STATUS_GOOD; - + /* string options: */ case OPT_MODE: case OPT_SOURCE: @@ -8129,28 +8133,28 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_MESSAGE: if (dev->inquiry_button_control || dev->inquiry_buttons) status = get_button_status (s); - + strcpy (val, s->val[option].s); s->val[option].s[0] = 0; return SANE_STATUS_GOOD; case OPT_NVRAM: get_and_parse_nvram (s, s->val[option].s, 1024); - + strcpy (val, s->val[option].s); return SANE_STATUS_GOOD; - + } /* end switch option */ } /* end if GET_ACTION_GET_VALUE */ else if (action == SANE_ACTION_SET_VALUE) { if (!SANE_OPTION_IS_SETTABLE (cap)) return SANE_STATUS_INVAL; - + status = constrain_value (s, option, val, info); if (status != SANE_STATUS_GOOD) return status; - + switch (option) { /* side-effect-free word options: */ @@ -8170,7 +8174,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_ADF_FLIP: s->val[option].w = *(SANE_Word*) val; return SANE_STATUS_GOOD; - + /* side-effect-free word-array options: */ case OPT_GAMMA_VECTOR: case OPT_GAMMA_VECTOR_R: @@ -8178,7 +8182,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_GAMMA_VECTOR_B: memcpy (s->val[option].wa, val, s->opt[option].size); return SANE_STATUS_GOOD; - + /* options with side-effects: */ case OPT_RESOLUTION: case OPT_TL_X: @@ -8195,14 +8199,14 @@ sane_control_option (SANE_Handle handle, SANE_Int option, /* string options with side-effects: */ case OPT_SOURCE: - + if (s->val[option].s) { free(s->val[option].s); } s->val[option].s = strdup(val); s->source_mode = match_source_mode (dev, s->val[option].s); s->source_mode_dim = match_source_mode_dim (s->source_mode); - + /* set side-effects */ dev->x_range.max = SANE_FIX ( dev->inquiry_x_ranges[s->source_mode_dim]); @@ -8214,22 +8218,22 @@ sane_control_option (SANE_Handle handle, SANE_Int option, } else { s->opt[OPT_ADF_FLIP].cap |= SANE_CAP_INACTIVE; } - + if (info) *info |= SANE_INFO_RELOAD_OPTIONS | SANE_INFO_RELOAD_PARAMS; - + return SANE_STATUS_GOOD; - + case OPT_MODE: { if (s->val[option].s) free (s->val[option].s); - + s->val[option].s = strdup (val); s->c_mode = match_color_mode (dev, s->val[OPT_MODE].s); - + /* set to mode specific values */ - + /* the gamma table related */ if (!disable_gamma_table) { @@ -8246,7 +8250,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, s->opt[OPT_GAMMA_VECTOR_G].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_B].cap |= SANE_CAP_INACTIVE; } - } + } if (info) *info |= SANE_INFO_RELOAD_OPTIONS | SANE_INFO_RELOAD_PARAMS; return SANE_STATUS_GOOD; @@ -8254,7 +8258,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_FRAME: { SANE_Word frame = *((SANE_Word *) val); - + status = set_frame (s, frame); if (status == SANE_STATUS_GOOD) { s->val[OPT_FRAME].w = frame; @@ -8292,9 +8296,9 @@ SANE_Status sane_get_parameters (SANE_Handle handle, SANE_Parameters* params) { Avision_Scanner* s = handle; - + DBG (3, "sane_get_parameters:\n"); - + /* During an actual scan these parameters will have been computed in sane_start(). Otherwise, the values must be computed on demand. The values cannot be changed during a scan to avoid inconsistency. */ @@ -8309,7 +8313,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters* params) /* add background raster lines */ params->lines += s->val[OPT_BACKGROUND].w; } - + return SANE_STATUS_GOOD; } @@ -8318,25 +8322,25 @@ sane_start (SANE_Handle handle) { Avision_Scanner* s = handle; Avision_Device* dev = s->hw; - + SANE_Status status; int fds [2]; DBG (1, "sane_start:\n"); - + /* Make sure there is no scan running!!! */ if (s->scanning) return SANE_STATUS_DEVICE_BUSY; /* Clear cancellation status */ s->cancelled = 0; - + /* Make sure we have a current parameter set. Some of the parameters will be overwritten below, but that's OK. */ status = sane_get_parameters (s, &s->params); if (status != SANE_STATUS_GOOD) { return status; } - + /* for non ADF scans (e.g. scanimage --batch-prompt on a Flatbed scanner) make sure we do not assume it's an ADF scan and optimize something away*/ @@ -8347,7 +8351,7 @@ sane_start (SANE_Handle handle) DBG (1, "sane_start: virtual duplex rear data valid.\n"); goto start_scan_end; } - + /* Check for paper during ADF scans and for sheetfed scanners. */ if (is_adf_scan (s)) { status = media_check (s); @@ -8359,7 +8363,7 @@ sane_start (SANE_Handle handle) else DBG (1, "sane_start: media_check ok\n"); } - + /* Check the light early, to return to the GUI and notify the user. */ if (s->prepared == SANE_FALSE) { if (dev->inquiry_light_control) { @@ -8397,28 +8401,28 @@ sane_start (SANE_Handle handle) { size_t size = 16; uint8_t result[16]; - + DBG (5, "sane_start: reading scanner window size\n"); - + status = simple_read (s, 0x80, 0, &size, result); - + if (status != SANE_STATUS_GOOD) { DBG (1, "sane_start: get pixel size command failed: %s\n", sane_strstatus (status)); goto stop_scanner_and_return; - } + } debug_print_raw (5, "sane_start: pixel_size:", result, size); DBG (5, "sane_start: x-pixels: %d, y-pixels: %d\n", get_quad (&(result[0])), get_quad (&(result[4]))); } #endif - + /* no calibration for ADF pages */ if (s->page > 0) { DBG (1, "sane_start: optimized calibration away.\n"); goto calib_end; } - + /* check whether the user enforces calibration */ if (force_calibration) { DBG (1, "sane_start: calibration enforced in config!\n"); @@ -8431,12 +8435,12 @@ sane_start (SANE_Handle handle) DBG (1, "sane_start: old protocol no calibration needed!\n"); goto calib_end; } - + if (!dev->inquiry_needs_calibration) { DBG (1, "sane_start: due to inquiry no calibration needed!\n"); goto calib_end; } - + /* calibration allowed for this scanner? */ if (dev->hw->feature_type & AV_NO_CALIB) { DBG (1, "sane_start: calibration disabled in device list!!\n"); @@ -8448,28 +8452,28 @@ sane_start (SANE_Handle handle) DBG (1, "sane_start: no calibration for film scanner!\n"); goto calib_end; } - + /* check whether calibration is disabled by the user */ if (disable_calibration) { DBG (1, "sane_start: calibration disabled in config - skipped!\n"); goto calib_end; } - + /* R² reminder: We must not skip the calibration for ADF scans, some scanner (HP 53xx/74xx ASIC series) rely on a calibration data read (and will hang otherwise) */ calib: status = normal_calibration (s); - + if (status != SANE_STATUS_GOOD) { DBG (1, "sane_start: perform calibration failed: %s\n", sane_strstatus (status)); goto stop_scanner_and_return; } - + calib_end: - + if (dev->inquiry_3x3_matrix && dev->inquiry_asic_type >= AV_ASIC_C6 && s->page == 0) { @@ -8478,13 +8482,13 @@ sane_start (SANE_Handle handle) return status; } } - + /* check whether gamma-table is disabled by the user? */ if (disable_gamma_table) { DBG (1, "sane_start: gamma-table disabled in config - skipped!\n"); goto gamma_end; } - + if (dev->hw->feature_type & AV_NO_GAMMA) { DBG (1, "sane_start: gamma table skipped due to device-list!!\n"); goto gamma_end; @@ -8501,9 +8505,9 @@ sane_start (SANE_Handle handle) goto stop_scanner_and_return; } } - + gamma_end: - + if (dev->inquiry_tune_scan_length && is_adf_scan (s)) { status = send_tune_scan_length (s); if (status != SANE_STATUS_GOOD) { @@ -8512,7 +8516,7 @@ sane_start (SANE_Handle handle) goto stop_scanner_and_return; } } - + /* if the device supports retrieving background raster data inquire the data no matter if the user/applications asks for it in order to use it for bottom padding */ @@ -8524,11 +8528,11 @@ sane_start (SANE_Handle handle) goto stop_scanner_and_return; } } - + /* check film holder */ if (dev->scanner_type == AV_FILM && dev->holder_type == 0xff) { DBG (1, "sane_start: no film holder or APS cassette!\n"); - + /* Normally "go_home" is executed from the reader process, but as it will not start we have to reset things here */ if (dev->inquiry_new_protocol) { @@ -8539,33 +8543,33 @@ sane_start (SANE_Handle handle) } goto stop_scanner_and_return; } - + start_scan_end: - + s->scanning = SANE_TRUE; s->page += 1; /* processing next page */ - + if (pipe (fds) < 0) { return SANE_STATUS_IO_ERROR; } - + s->read_fds = fds[0]; s->write_fds = fds[1]; /* create reader routine as new process or thread */ DBG (3, "sane_start: starting thread\n"); s->reader_pid = sanei_thread_begin (reader_process, (void *) s); - + if (sanei_thread_is_forked()) close (s->write_fds); - + return SANE_STATUS_GOOD; - + stop_scanner_and_return: - + /* cancel the scan nicely */ do_cancel (s); - + return status; } @@ -8588,7 +8592,7 @@ sane_read (SANE_Handle handle, SANE_Byte* buf, SANE_Int max_len, SANE_Int* len) if (!s->scanning) return SANE_STATUS_CANCELLED; - + if (nread < 0) { if (errno == EAGAIN) { return SANE_STATUS_GOOD; @@ -8597,9 +8601,9 @@ sane_read (SANE_Handle handle, SANE_Byte* buf, SANE_Int max_len, SANE_Int* len) return SANE_STATUS_IO_ERROR; } } - + *len = nread; - + /* if all data was passed through */ if (nread == 0) return do_eof (s); @@ -8621,16 +8625,16 @@ SANE_Status sane_set_io_mode (SANE_Handle handle, SANE_Bool non_blocking) { Avision_Scanner* s = handle; - + DBG (3, "sane_set_io_mode:\n"); if (!s->scanning) { DBG (3, "sane_set_io_mode: not yet scanning\n"); return SANE_STATUS_INVAL; } - + if (fcntl (s->read_fds, F_SETFL, non_blocking ? O_NONBLOCK : 0) < 0) return SANE_STATUS_IO_ERROR; - + return SANE_STATUS_GOOD; } @@ -8638,14 +8642,14 @@ SANE_Status sane_get_select_fd (SANE_Handle handle, SANE_Int* fd) { Avision_Scanner* s = handle; - + DBG (3, "sane_get_select_fd:\n"); - + if (!s->scanning) { DBG (3, "sane_get_select_fd: not yet scanning\n"); return SANE_STATUS_INVAL; } - + *fd = s->read_fds; return SANE_STATUS_GOOD; } diff --git a/backend/avision.conf.in b/backend/avision.conf.in index 0862d5c..33e2683 100644 --- a/backend/avision.conf.in +++ b/backend/avision.conf.in @@ -20,4 +20,3 @@ #scsi /dev/scanner # usb libusb:002:003 # usb 0x03f0 0x0701 - diff --git a/backend/avision.h b/backend/avision.h index b26907f..3f42ff6 100644 --- a/backend/avision.h +++ b/backend/avision.h @@ -1,7 +1,7 @@ /******************************************************************************* * SANE - Scanner Access Now Easy. - avision.h + avision.h This file is part of the SANE package. @@ -41,7 +41,7 @@ This backend is based upon the Tamarack backend and adapted to the Avision scanners by René Rebe and Meino Cramer. - + Check the avision.c file for detailed copyright and change-log information. @@ -78,7 +78,7 @@ typedef struct Avision_Connection { AVISION_USB_INT_STATUS, /* interrupt endp. (USB 1.x device) status */ AVISION_USB_BULK_STATUS /* bulk endp. (USB 2.0 device) status */ } usb_status; - + } Avision_Connection; typedef struct Avision_HWEntry { @@ -90,33 +90,33 @@ typedef struct Avision_HWEntry { const char* real_mfg; const char* real_model; - + /* feature overwrites - as embedded CPUs have 16bit enums - this would need a change ... */ /* force no calibration */ #define AV_NO_CALIB ((uint64_t)1<<0) - + /* force all in one command calibration */ #define AV_ONE_CALIB_CMD ((uint64_t)1<<1) - + /* no gamma table */ #define AV_NO_GAMMA ((uint64_t)1<<2) - + /* light check is bogus */ #define AV_LIGHT_CHECK_BOGUS ((uint64_t)1<<3) - + /* no button though the device advertise it */ #define AV_NO_BUTTON ((uint64_t)1<<4) - + /* if the scan area needs to be forced to A3 */ #define AV_FORCE_A3 ((uint64_t)1<<5) - + /* if the scan area and resolution needs to be forced for films */ #define AV_FORCE_FILM ((uint64_t)1<<6) - + /* does not suport, or very broken background (added for AV610C2) */ #define AV_NO_BACKGROUND ((uint64_t)1<<7) - + /* is film scanner - no detection yet */ #define AV_FILMSCANNER ((uint64_t)1<<8) @@ -125,7 +125,7 @@ typedef struct Avision_HWEntry { /* gray calibration data has to be uploaded on the blue channel ... ? */ #define AV_GRAY_CALIB_BLUE ((uint64_t)1<<10) - + /* Interrupt endpoint button readout (so far AV220) */ #define AV_INT_BUTTON ((uint64_t)1<<11) @@ -161,35 +161,35 @@ typedef struct Avision_HWEntry { /* very broken background raster */ #define AV_BACKGROUND_QUIRK ((uint64_t)1<<22) - + /* though marked as GRAY only the scanner can do GRAY modes */ #define AV_GRAY_MODES ((uint64_t)1<<23) /* no seperate, single REAR scan (AV122, DM152, ...) */ #define AV_NO_REAR ((uint64_t)1<<24) - + /* only scan with some known good hardware resolutions, as the scanner fails to properly interpoloate in between (e.g. AV121, DM152 on duplex scans - but also the AV600), software scale and interpolate to all the others */ #define AV_SOFT_SCALE ((uint64_t)1<<25) - + /* does keep window though it does not advertice it - the AV122/DM152 mess up image data if window is resend between ADF pages */ #define AV_DOES_KEEP_WINDOW ((uint64_t)1<<26) - + /* does keep gamma though it does not advertice it */ #define AV_DOES_KEEP_GAMMA ((uint64_t)1<<27) - + /* does the scanner contain a Cancel button? */ #define AV_CANCEL_BUTTON ((uint64_t)1<<28) - + /* is the rear image offset? */ #define AV_REAR_OFFSET ((uint64_t)1<<29) /* some devices do not need a START_SCAN, even hang with it */ #define AV_NO_START_SCAN ((uint64_t)1<<30) - + #define AV_INT_STATUS ((uint64_t)1<<31) /* force no calibration */ @@ -203,7 +203,7 @@ typedef struct Avision_HWEntry { /* For scanners which need to have their firmware read to properly function. */ #define AV_FIRMWARE ((uint64_t)1<<35) - + /* maybe more ...*/ uint64_t feature_type; @@ -252,32 +252,32 @@ typedef enum { enum Avision_Option { OPT_NUM_OPTS = 0, /* must come first */ - + OPT_MODE_GROUP, OPT_MODE, OPT_RESOLUTION, #define OPT_RESOLUTION_DEFAULT 150 OPT_SPEED, OPT_PREVIEW, - + OPT_SOURCE, /* scan source normal, transparency, ADF */ - + 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 */ - + OPT_OVERSCAN_TOP, /* overscan for auto-crop/deskew, if supported */ OPT_OVERSCAN_BOTTOM, OPT_BACKGROUND, /* background raster lines to read out */ - + OPT_ENHANCEMENT_GROUP, OPT_BRIGHTNESS, OPT_CONTRAST, OPT_QSCAN, OPT_QCALIB, - + OPT_GAMMA_VECTOR, /* first must be gray */ OPT_GAMMA_VECTOR_R, /* then r g b vector */ OPT_GAMMA_VECTOR_G, @@ -286,15 +286,15 @@ enum Avision_Option OPT_EXPOSURE, /* film exposure adjustment */ OPT_IR, /* infra-red */ OPT_MULTISAMPLE, /* multi-sample */ - + OPT_MISC_GROUP, OPT_FRAME, /* Film holder control */ OPT_POWER_SAVE_TIME, /* set power save time to the scanner */ - OPT_MESSAGE, /* optional message from the scanner display */ + OPT_MESSAGE, /* optional message from the scanner display */ OPT_NVRAM, /* retrieve NVRAM values as pretty printed text */ - + OPT_PAPERLEN, /* Use paper_length field to detect double feeds */ OPT_ADF_FLIP, /* For flipping duplex, reflip the document */ @@ -306,28 +306,28 @@ typedef struct Avision_Dimensions /* in dpi */ int xres; int yres; - + /* in pixels */ long tlx; long tly; long brx; long bry; - + /* in pixels */ int line_difference; int rear_offset; /* in pixels of HW res */ /* interlaced duplex scan */ SANE_Bool interlaced_duplex; - + /* in dpi, likewise - different if software scaling required */ int hw_xres; int hw_yres; - + int hw_pixels_per_line; int hw_bytes_per_line; int hw_lines; - + } Avision_Dimensions; /* this contains our low-level info - not relevant for the SANE interface */ @@ -336,7 +336,7 @@ typedef struct Avision_Device struct Avision_Device* next; SANE_Device sane; Avision_Connection connection; - + /* structs used to store config options */ SANE_Range dpi_range; SANE_Range x_range; @@ -369,34 +369,34 @@ typedef struct Avision_Device SANE_Bool inquiry_light_detect; SANE_Bool inquiry_light_control; SANE_Bool inquiry_exposure_control; - + int inquiry_max_shading_target; SANE_Bool inquiry_button_control; unsigned int inquiry_buttons; SANE_Bool inquiry_tune_scan_length; SANE_Bool inquiry_background_raster; int inquiry_background_raster_pixel; - + enum {AV_FLATBED, AV_FILM, AV_SHEETFEED } scanner_type; - + /* the list of available color modes */ SANE_String_Const color_list[AV_COLOR_MODE_LAST + 1]; color_mode color_list_num[AV_COLOR_MODE_LAST]; color_mode color_list_default; - + /* the list of available source modes */ SANE_String_Const source_list[AV_SOURCE_MODE_LAST + 1]; source_mode source_list_num[AV_SOURCE_MODE_LAST]; - + int inquiry_optical_res; /* in dpi */ int inquiry_max_res; /* in dpi */ - + double inquiry_x_ranges [AV_SOURCE_MODE_DIM_LAST]; /* in mm */ double inquiry_y_ranges [AV_SOURCE_MODE_DIM_LAST]; /* in mm */ - + int inquiry_color_boundary; int inquiry_gray_boundary; int inquiry_dithered_boundary; @@ -406,7 +406,7 @@ typedef struct Avision_Device int inquiry_channels_per_pixel; int inquiry_bits_per_channel; int inquiry_no_gray_modes; - + int scsi_buffer_size; /* nice to have SCSI buffer size */ int read_stripe_size; /* stripes to be read at-a-time */ @@ -414,10 +414,10 @@ typedef struct Avision_Device SANE_Range frame_range; SANE_Word current_frame; SANE_Word holder_type; - + /* some versin corrections */ uint16_t data_dq; /* was ox0A0D - but hangs some new scanners */ - + Avision_HWEntry* hw; } Avision_Device; @@ -426,19 +426,19 @@ typedef struct Avision_Scanner { struct Avision_Scanner* next; Avision_Device* hw; - + SANE_Option_Descriptor opt [NUM_OPTIONS]; Option_Value val [NUM_OPTIONS]; SANE_Int gamma_table [4][256]; - + /* we now save the calib data because we might need it for 16bit software calibration :-( */ uint8_t* dark_avg_data; uint8_t* white_avg_data; - + /* background raster data, if duplex first front, then rear */ uint8_t* background_raster; - + /* Parsed option values and variables that are valid only during the actual scan: */ SANE_Bool prepared; /* first page marker */ @@ -448,22 +448,22 @@ typedef struct Avision_Scanner SANE_Parameters params; /* scan window */ Avision_Dimensions avdimen; /* scan window - detailed internals */ - + /* Internal data for duplex scans */ char duplex_rear_fname [PATH_MAX]; SANE_Bool duplex_rear_valid; - + color_mode c_mode; source_mode source_mode; source_mode_dim source_mode_dim; - + /* Avision HW Access Connection (SCSI/USB abstraction) */ Avision_Connection av_con; SANE_Pid reader_pid; /* process id of reader */ int read_fds; /* pipe reading end */ int write_fds; /* pipe writing end */ - + } Avision_Scanner; /* Some Avision driver internal defines */ @@ -549,7 +549,7 @@ typedef struct command_send uint8_t opc; uint8_t bitset1; uint8_t datatypecode; - uint8_t reserved0; + uint8_t reserved0; uint8_t datatypequal [2]; uint8_t transferlen [3]; uint8_t reserved1; @@ -602,7 +602,7 @@ typedef struct nvram_data uint8_t jam_count [4]; uint8_t reserved; - char identify_info[16]; + char identify_info[16]; char formal_name[16]; uint8_t reserved2 [10]; @@ -614,7 +614,7 @@ typedef struct command_set_window_window uint8_t reserved0 [6]; uint8_t desclen [2]; } header; - + struct { uint8_t winid; uint8_t reserved0; @@ -641,37 +641,37 @@ typedef struct command_set_window_window uint8_t vendor_specific; uint8_t paralen; /* bytes following after this byte */ } descriptor; - + struct { uint8_t bitset1; uint8_t highlight; uint8_t shadow; uint8_t line_width [2]; uint8_t line_count [2]; - + /* the tail is quite version and model specific */ union { struct { uint8_t bitset2; uint8_t reserved; } old; - + struct { uint8_t bitset2; uint8_t ir_exposure_time; - + /* optional */ uint8_t r_exposure_time [2]; uint8_t g_exposure_time [2]; uint8_t b_exposure_time [2]; - + uint8_t bitset3; /* reserved in the v2 */ uint8_t auto_focus; uint8_t line_width_msb; uint8_t line_count_msb; uint8_t background_lines; } normal; - + struct { uint8_t reserved0 [4]; uint8_t paper_size; @@ -716,7 +716,7 @@ typedef struct calibration_format uint16_t r_dark_shading_target; uint16_t g_dark_shading_target; uint16_t b_dark_shading_target; - + /* not returned but usefull in some places */ uint8_t channels; } calibration_format; @@ -726,7 +726,7 @@ typedef struct matrix_3x3 uint16_t v[9]; } matrix_3x3; -typedef struct acceleration_info +typedef struct acceleration_info { uint16_t total_steps; uint16_t stable_steps; diff --git a/backend/bh.c b/backend/bh.c index 9424bd6..60741cc 100644 --- a/backend/bh.c +++ b/backend/bh.c @@ -76,7 +76,7 @@ static SANE_Int fake_inquiry = 0; static int allblank(const char *s) { - while (s && *s) + while (s && *s) if (!isspace(*s++)) return 0; @@ -111,10 +111,10 @@ trim_spaces(char *s, size_t n) } static SANE_String_Const -print_devtype (SANE_Byte devtype) +print_devtype (SANE_Byte devtype) { static SANE_String devtypes[] = - { + { "disk", "tape", "printer", @@ -127,21 +127,21 @@ print_devtype (SANE_Byte devtype) "communicator" }; - return (devtype > 0 && devtype < NELEMS(devtypes)) ? - devtypes[devtype] : + return (devtype > 0 && devtype < NELEMS(devtypes)) ? + devtypes[devtype] : "unknown-device"; } static SANE_String_Const -print_barcodetype (SANE_Int i) +print_barcodetype (SANE_Int i) { - return (i > 0 && i < NELEMS(barcode_search_bar_list)) ? - barcode_search_bar_list[i] : + return (i > 0 && i < NELEMS(barcode_search_bar_list)) ? + barcode_search_bar_list[i] : (SANE_String_Const) "unknown"; } static SANE_String_Const -print_orientation (SANE_Int i) +print_orientation (SANE_Int i) { switch(i) { @@ -163,7 +163,7 @@ print_orientation (SANE_Int i) } static SANE_String_Const -print_read_type (SANE_Int i) +print_read_type (SANE_Int i) { static char buf[32]; SANE_Int n; @@ -249,72 +249,72 @@ print_read_type (SANE_Int i) return buf; } -static SANE_Int +static SANE_Int get_rotation_id(char *s) { SANE_Int i; - for (i = 0; rotation_list[i]; i++) - if (strcmp(s, rotation_list[i]) == 0) + for (i = 0; rotation_list[i]; i++) + if (strcmp(s, rotation_list[i]) == 0) break; /* unknown strings are treated as '0' */ return rotation_list[i] ? i : 0; } -static SANE_Int +static SANE_Int get_compression_id(char *s) { SANE_Int i; - for (i = 0; compression_list[i]; i++) - if (strcmp(s, compression_list[i]) == 0) + for (i = 0; compression_list[i]; i++) + if (strcmp(s, compression_list[i]) == 0) break; /* unknown strings are treated as 'none' */ return compression_list[i] ? i : 0; } -static SANE_Int +static SANE_Int get_barcode_id(char *s) { SANE_Int i; - for (i = 0; barcode_search_bar_list[i]; i++) - if (strcmp(s, barcode_search_bar_list[i]) == 0) + for (i = 0; barcode_search_bar_list[i]; i++) + if (strcmp(s, barcode_search_bar_list[i]) == 0) break; /* unknown strings are treated as 'none' */ return barcode_search_bar_list[i] ? i : 0; } -static SANE_Int +static SANE_Int get_scan_mode_id(char *s) { SANE_Int i; - for (i = 0; scan_mode_list[i]; i++) - if (strcmp(s, scan_mode_list[i]) == 0) + for (i = 0; scan_mode_list[i]; i++) + if (strcmp(s, scan_mode_list[i]) == 0) break; /* unknown strings are treated as 'lineart' */ return scan_mode_list[i] ? i : 0; } -static SANE_Int +static SANE_Int get_paper_id(char *s) { SANE_Int i; - for (i = 0; paper_list[i]; i++) - if (strcmp(s, paper_list[i]) == 0) + for (i = 0; paper_list[i]; i++) + if (strcmp(s, paper_list[i]) == 0) break; /* unknown strings are treated as 'custom' */ return paper_list[i] ? i : 0; } -static SANE_Int +static SANE_Int get_barcode_search_mode(char *s) { SANE_Int i; @@ -335,7 +335,7 @@ get_barcode_search_mode(char *s) { i = 9; } - else + else { /* unknown strings are treated as 'horiz-vert' */ DBG(1, "get_barcode_search_mode: unrecognized string `%s'\n", s); @@ -345,7 +345,7 @@ get_barcode_search_mode(char *s) return i; } -static void +static void appendStdList(BH_Info *sc, SANE_Int res) { /* append entry to resolution list - a SANE_WORD_LIST */ @@ -353,7 +353,7 @@ appendStdList(BH_Info *sc, SANE_Int res) sc->resStdList[0]++; } -static void +static void ScannerDump(BH_Scanner *s) { int i; @@ -370,9 +370,9 @@ ScannerDump(BH_Scanner *s) sdev->type); DBG (1, "Type: '%s' Vendor: '%s' Product: '%s' Revision: '%s'\n", - print_devtype(info->devtype), - info->vendor, - info->product, + print_devtype(info->devtype), + info->vendor, + info->product, info->revision); DBG (1, "Automatic Document Feeder:%s\n", @@ -399,8 +399,8 @@ ScannerDump(BH_Scanner *s) info->canBarCode ? " " : "", info->canIcon ? " " : "", info->canSection ? "

" : ""); - - DBG (1, "Max bytes per scan-line: %d (%d pixels)\n", + + DBG (1, "Max bytes per scan-line: %d (%d pixels)\n", info->lineMaxBytes, info->lineMaxBytes * 8); @@ -408,11 +408,11 @@ ScannerDump(BH_Scanner *s) info->resBasicX, info->resBasicY); - DBG (1, "Maximum resolution (X/Y): %d/%d\n", + DBG (1, "Maximum resolution (X/Y): %d/%d\n", info->resMaxX, info->resMaxY); - DBG (1, "Minimum resolution (X/Y): %d/%d\n", + DBG (1, "Minimum resolution (X/Y): %d/%d\n", info->resMinX, info->resMinY); @@ -421,8 +421,8 @@ ScannerDump(BH_Scanner *s) DBG (1, " %d\n", info->resStdList[i+1]); DBG (1, "Window Width/Height (in basic res) %d/%d (%.2f/%.2f inches)\n", - info->winWidth, - info->winHeight, + info->winWidth, + info->winHeight, (info->resBasicX != 0) ? ((float) info->winWidth) / info->resBasicX : 0.0, (info->resBasicY) ? ((float) info->winHeight) / info->resBasicY : 0.0); @@ -430,15 +430,15 @@ ScannerDump(BH_Scanner *s) info->canDuplex ? "Duplex Scanner" : "Simplex Scanner", info->canACE ? " (ACE capable)" : "", info->canCheckADF ? " (ADF Paper Sensor capable)" : ""); - + sprintf(inquiry_data, "Vendor: %s Product: %s Rev: %s %s%s%s\n", - info->vendor, - info->product, + info->vendor, + info->product, info->revision, info->canDuplex ? "Duplex Scanner" : "Simplex Scanner", info->canACE ? " (ACE capable)" : "", info->canCheckADF ? " (ADF Paper Sensor capable)" : ""); - + DBG (5, "autoborder_default=%d\n", info->autoborder_default); DBG (5, "batch_default=%d\n", info->batch_default); DBG (5, "deskew_default=%d\n", info->deskew_default); @@ -534,7 +534,7 @@ read_barcode_data (BH_Scanner *s, FILE *fp) l += (BH_DECODE_FUDGE * 4); /* write the decoded barcode data into the file */ - fprintf(fp, "\n
%s
\n", + fprintf(fp, "\n
%s
\n", print_read_type((int) s->readlist[s->readptr])); fprintf(fp, " %s\n %d\n", print_barcodetype((int) _2btol(buf.barcodetype)), @@ -558,7 +558,7 @@ read_barcode_data (BH_Scanner *s, FILE *fp) buf.barcodedata); } while (num_found <= BH_DECODE_TRIES); - DBG (3, "read_barcode_data: found %d barcodes, returning %s\n", + DBG (3, "read_barcode_data: found %d barcodes, returning %s\n", num_found, sane_strstatus(status)); return status; @@ -581,7 +581,7 @@ read_icon_data (BH_Scanner *s) memset (&buf, 0, sizeof(buf)); status = sanei_scsi_cmd (s->fd, &cmd, sizeof (cmd), &buf, &buf_size); - + /* set the fields in the scanner handle for later reference */ s->iconwidth = _4btol(buf.iconwidth); s->iconlength = _4btol(buf.iconlength); @@ -593,7 +593,7 @@ read_icon_data (BH_Scanner *s) _4btol(buf.iconwidth), _4btol(buf.iconlength), _4btol(buf.iconwidthbytes)); - DBG(3, "read_icon_data: bitordering:%02x, icondatalen:%lu\n", + DBG(3, "read_icon_data: bitordering:%02x, icondatalen:%lu\n", buf.bitordering, _4btol(buf.icondatalen)); @@ -611,7 +611,7 @@ read_barfile (BH_Scanner *s, void *buf, size_t *buf_size) if (s->barf != NULL) { - /* this function needs to set InvalidBytes so it looks + /* this function needs to set InvalidBytes so it looks * like a B&H scsi EOF */ if ((nread = fread(buf, 1, *buf_size, s->barf)) < *buf_size) @@ -802,7 +802,7 @@ mode_select_barcode_param1 (BH_Scanner *s) _lto2b((SANE_Int)_OPT_VAL_WORD_THOUSANDTHS(s, OPT_BARCODE_HMIN), select_cmd.mp.minbarheight); select_cmd.mp.searchcount = _OPT_VAL_WORD(s, OPT_BARCODE_SEARCH_COUNT); - select_cmd.mp.searchmode = + select_cmd.mp.searchmode = get_barcode_search_mode(_OPT_VAL_STRING(s, OPT_BARCODE_SEARCH_MODE)); _lto2b(_OPT_VAL_WORD(s, OPT_BARCODE_SEARCH_TIMEOUT), select_cmd.mp.searchtimeout); @@ -832,10 +832,10 @@ mode_select_barcode_param2 (BH_Scanner *s) select_cmd.cmd[4] = sizeof(select_cmd.mp); len = sizeof(select_cmd.mp); - status = sanei_scsi_cmd (s->fd, &select_cmd.cmd, sizeof (select_cmd.cmd), + status = sanei_scsi_cmd (s->fd, &select_cmd.cmd, sizeof (select_cmd.cmd), &select_cmd.mp, &len); - if (status == SANE_STATUS_GOOD) + if (status == SANE_STATUS_GOOD) { DBG(8, "mode_select_barcode_param2: sensed values: relmax:%d barmin:%d barmax:%d\n", (int) _2btol(select_cmd.mp.relmax), @@ -906,10 +906,10 @@ mode_select_barcode_param3 (BH_Scanner *s) select_cmd.cmd[4] = sizeof(select_cmd.mp); len = sizeof(select_cmd.mp); - status = sanei_scsi_cmd (s->fd, &select_cmd.cmd, sizeof (select_cmd.cmd), + status = sanei_scsi_cmd (s->fd, &select_cmd.cmd, sizeof (select_cmd.cmd), &select_cmd.mp, &len); - if (status == SANE_STATUS_GOOD) + if (status == SANE_STATUS_GOOD) { DBG(8, "mode_select_barcode_param3: sensed values: contrast:%d patchmode:%d\n", (int) _2btol(select_cmd.mp.barcodecontrast), @@ -992,10 +992,10 @@ set_window (BH_Scanner *s, SANE_Byte batchmode) memset (&set_window_cmd, 0, sizeof (set_window_cmd)); set_window_cmd.cmd[0] = BH_SCSI_SET_WINDOW; - DBG(3, "set_window: sizeof(hdr) %d, sizeof(window): %d\n", + DBG(3, "set_window: sizeof(hdr) %d, sizeof(window): %d\n", (int)sizeof(set_window_cmd.hdr), (int)sizeof(set_window_cmd.window)); - _lto3b(sizeof(set_window_cmd.hdr) + sizeof(set_window_cmd.window), + _lto3b(sizeof(set_window_cmd.hdr) + sizeof(set_window_cmd.window), &set_window_cmd.cmd[6]); _lto2b(256, &set_window_cmd.hdr[6]); @@ -1008,9 +1008,9 @@ set_window (BH_Scanner *s, SANE_Byte batchmode) _lto4b((int) _OPT_VAL_WORD_THOUSANDTHS(s, OPT_TL_X), set_window_cmd.window.ulx); _lto4b((int) _OPT_VAL_WORD_THOUSANDTHS(s, OPT_TL_Y), set_window_cmd.window.uly); - width = (SANE_Int) (_OPT_VAL_WORD_THOUSANDTHS(s, OPT_BR_X) - + width = (SANE_Int) (_OPT_VAL_WORD_THOUSANDTHS(s, OPT_BR_X) - _OPT_VAL_WORD_THOUSANDTHS(s, OPT_TL_X)); - length = (SANE_Int) (_OPT_VAL_WORD_THOUSANDTHS(s, OPT_BR_Y) - + length = (SANE_Int) (_OPT_VAL_WORD_THOUSANDTHS(s, OPT_BR_Y) - _OPT_VAL_WORD_THOUSANDTHS(s, OPT_TL_Y)); _lto4b(width, set_window_cmd.window.windowwidth); @@ -1023,16 +1023,16 @@ set_window (BH_Scanner *s, SANE_Byte batchmode) /*!!! contrast (not used) */ /*!!! set_window_cmd.window.contrast = _OPT_VAL_WORD(s, OPT_CONTRAST); */ /* imagecomposition 0x00 lineart, 0x01 dithered/halftone, 0x02 grayscale*/ - set_window_cmd.window.imagecomposition = + set_window_cmd.window.imagecomposition = get_scan_mode_id(_OPT_VAL_STRING(s, OPT_SCAN_MODE)); - + set_window_cmd.window.bitsperpixel = 0x01; /*!!! halftone code (not used) */ /*!!! halftone id (not used) */ set_window_cmd.window.paddingtype = 0x03; /* truncate byte */ if (_OPT_VAL_WORD(s, OPT_NEGATIVE) == SANE_TRUE) { - /* reverse image format (valid when bitsperpixel=1) + /* reverse image format (valid when bitsperpixel=1) * 0x00 normal, 0x01 reversed. This is bit 7 of paddingtype. */ set_window_cmd.window.paddingtype |= 0x80; @@ -1134,7 +1134,7 @@ get_window (BH_Scanner *s, SANE_Int *w, SANE_Int *h, SANE_Bool backpage) autoborder = _OPT_VAL_WORD(s, OPT_AUTOBORDER) == 1; - while (1) + while (1) { i++; memset (&cmd, 0, sizeof (cmd)); @@ -1148,7 +1148,7 @@ get_window (BH_Scanner *s, SANE_Int *w, SANE_Int *h, SANE_Bool backpage) get_window_data.window.windowid = (backpage == SANE_TRUE) ? 1 : 0; len = sizeof(get_window_data); - status = sanei_scsi_cmd (s->fd, &cmd, sizeof (cmd), + status = sanei_scsi_cmd (s->fd, &cmd, sizeof (cmd), &get_window_data, &len); if (status == SANE_STATUS_GOOD) { @@ -1198,9 +1198,9 @@ get_parameters (SANE_Handle handle, SANE_Parameters *params) SANE_Frame format; DBG(3, "get_parameters called\n"); - + memset (&s->params, 0, sizeof (s->params)); - + res = _OPT_VAL_WORD(s, OPT_RESOLUTION); /* make best-effort guess at what parameters will look like once @@ -1242,7 +1242,7 @@ get_parameters (SANE_Handle handle, SANE_Parameters *params) /* update parameters based on the current item */ status = SANE_STATUS_GOOD; - if (itemtype == BH_SCSI_READ_TYPE_FRONT) + if (itemtype == BH_SCSI_READ_TYPE_FRONT) { DBG (3, "get_parameters: sending GET WINDOW (front)\n"); status = get_window (s, &w, &l, SANE_FALSE); @@ -1293,7 +1293,7 @@ get_parameters (SANE_Handle handle, SANE_Parameters *params) length = s->sections[sectnum - 1].length * res / 1000.0; } else if ( (itemtype >= BH_SCSI_READ_TYPE_BACK_BARCODE && - itemtype <= (BH_SCSI_READ_TYPE_BACK_BARCODE + NUM_SECTIONS)) || + itemtype <= (BH_SCSI_READ_TYPE_BACK_BARCODE + NUM_SECTIONS)) || (itemtype >= BH_SCSI_READ_TYPE_FRONT_BARCODE && itemtype <= (BH_SCSI_READ_TYPE_FRONT_BARCODE + NUM_SECTIONS)) ) { @@ -1331,7 +1331,7 @@ get_parameters (SANE_Handle handle, SANE_Parameters *params) res, width, length); return SANE_STATUS_INVAL; } - + /* we disable our compression/barcode formats in preview as well * as with the disable_optional_frames configuration option. NOTE: * we may still be delivering 'wierd' data and lying about it being _GRAY! @@ -1357,11 +1357,11 @@ get_parameters (SANE_Handle handle, SANE_Parameters *params) *params = s->params; DBG (1, "get_parameters: format=%d, pixels/line=%d, bytes/line=%d, " - "lines=%d, dpi=%d\n", - (int) s->params.format, - s->params.pixels_per_line, + "lines=%d, dpi=%d\n", + (int) s->params.format, + s->params.pixels_per_line, s->params.bytes_per_line, - s->params.lines, + s->params.lines, res); return SANE_STATUS_GOOD; @@ -1404,7 +1404,7 @@ section_parse(const char *val, BH_Section *sect, SANE_Int res, SANE_Int comp) if (y) f = strtok(NULL, seps); if (!x || !y || !w || !l) break; - mm = strtod(x, &ep); + mm = strtod(x, &ep); if (*ep != '\0' || errno == ERANGE || mm < 0.0) break; sect->left = mm * 1000.0 / MM_PER_INCH; @@ -1482,10 +1482,10 @@ section_parse(const char *val, BH_Section *sect, SANE_Int res, SANE_Int comp) DBG(3, "section_parse: converted '%s' (mm) to " "%ldx%ld+%ld+%ld (thousandths) " - "flags=%02x compression=[%d,%d] frame=%s\n", - val, + "flags=%02x compression=[%d,%d] frame=%s\n", + val, sect->width, sect->length, sect->left, sect->top, - sect->flags, + sect->flags, sect->compressiontype, sect->compressionarg, sane_strframe(sect->format)); @@ -1515,20 +1515,20 @@ setup_sections (BH_Scanner *s, const char *val) strcpy(buf, val); section = strtok(buf, ","); - while (section != NULL && sectnum < NUM_SECTIONS) + while (section != NULL && sectnum < NUM_SECTIONS) { - if (!allblank(section)) + if (!allblank(section)) { SANE_Int res = _OPT_VAL_WORD(s, OPT_RESOLUTION); - SANE_Int format = + SANE_Int format = get_compression_id(_OPT_VAL_STRING(s, OPT_COMPRESSION)); - status = section_parse(section, &s->sections[sectnum], + status = section_parse(section, &s->sections[sectnum], res, format); if (status != SANE_STATUS_GOOD) { - DBG(1, - "setup_sections: error parsing section `%s'\n", + DBG(1, + "setup_sections: error parsing section `%s'\n", section); break; } @@ -1562,12 +1562,12 @@ start_setup (BH_Scanner *s) status = setup_sections(s, _OPT_VAL_STRING(s, OPT_SECTION)); if (status != SANE_STATUS_GOOD) { - DBG(1, "start_setup: setup_sections failed: %s\n", + DBG(1, "start_setup: setup_sections failed: %s\n", sane_strstatus(status)); return status; } - /* see whether we'll be decoding barcodes and + /* see whether we'll be decoding barcodes and * set the barcodes flag appropriately */ if (s->search_bars[0] == 0) @@ -1655,10 +1655,10 @@ start_setup (BH_Scanner *s) SANE_Word flags = s->sections[i].flags; if (flags & BH_SECTION_FRONT_BAR) - s->readlist[s->readcnt++] = + s->readlist[s->readcnt++] = BH_SCSI_READ_TYPE_FRONT_BARCODE + i + 1; if (flags & BH_SECTION_BACK_BAR) - s->readlist[s->readcnt++] = + s->readlist[s->readcnt++] = BH_SCSI_READ_TYPE_BACK_BARCODE + i + 1; } } @@ -1687,10 +1687,10 @@ start_setup (BH_Scanner *s) SANE_Word flags = s->sections[i].flags; if (flags & BH_SECTION_FRONT_PATCH) - s->readlist[s->readcnt++] = + s->readlist[s->readcnt++] = BH_SCSI_READ_TYPE_FRONT_PATCHCODE + i + 1; if (flags & BH_SECTION_BACK_PATCH) - s->readlist[s->readcnt++] = + s->readlist[s->readcnt++] = BH_SCSI_READ_TYPE_BACK_PATCHCODE + i + 1; } } @@ -1707,7 +1707,7 @@ start_setup (BH_Scanner *s) if (_OPT_VAL_WORD(s, OPT_BATCH) == SANE_TRUE) { - /* if batchmode is enabled, then call set_window to + /* if batchmode is enabled, then call set_window to * abort the batch (even though there might not (and probably * isn't) a batch in progress). This avoids a batch start error * in the case where a previous batch was not aborted. @@ -1716,7 +1716,7 @@ start_setup (BH_Scanner *s) set_window(s, BH_BATCH_ABORT); batchmode = BH_BATCH_ENABLE; - } + } else { batchmode = BH_BATCH_DISABLE; @@ -1750,7 +1750,7 @@ start_setup (BH_Scanner *s) status = set_window(s, batchmode); if (status != SANE_STATUS_GOOD) { - DBG(1, "start_setup: SET WINDOW failed: %s\n", + DBG(1, "start_setup: SET WINDOW failed: %s\n", sane_strstatus(status)); return status; } @@ -1759,7 +1759,7 @@ start_setup (BH_Scanner *s) status = mode_select_timeout(s); if (status != SANE_STATUS_GOOD) { - DBG(1, "start_setup: mode_select_timeout failed: %s\n", + DBG(1, "start_setup: mode_select_timeout failed: %s\n", sane_strstatus(status)); return status; } @@ -1770,7 +1770,7 @@ start_setup (BH_Scanner *s) status = mode_select_icon(s); if (status != SANE_STATUS_GOOD) { - DBG(1, "start_setup: mode_select_icon failed: %s\n", + DBG(1, "start_setup: mode_select_icon failed: %s\n", sane_strstatus(status)); return status; } @@ -1782,7 +1782,7 @@ start_setup (BH_Scanner *s) status = mode_select_barcode_priority(s); if (status != SANE_STATUS_GOOD) { - DBG(1, "start_setup: mode_select_barcode_priority failed: %s\n", + DBG(1, "start_setup: mode_select_barcode_priority failed: %s\n", sane_strstatus(status)); return status; } @@ -1791,7 +1791,7 @@ start_setup (BH_Scanner *s) status = mode_select_barcode_param1(s); if (status != SANE_STATUS_GOOD) { - DBG(1, "start_setup: mode_select_barcode_param1 failed: %s\n", + DBG(1, "start_setup: mode_select_barcode_param1 failed: %s\n", sane_strstatus(status)); return status; } @@ -1800,7 +1800,7 @@ start_setup (BH_Scanner *s) status = mode_select_barcode_param2(s); if (status != SANE_STATUS_GOOD) { - DBG(1, "start_setup: mode_select_barcode_param2 failed: %s\n", + DBG(1, "start_setup: mode_select_barcode_param2 failed: %s\n", sane_strstatus(status)); return status; } @@ -1809,7 +1809,7 @@ start_setup (BH_Scanner *s) status = mode_select_barcode_param3(s); if (status != SANE_STATUS_GOOD) { - DBG(1, "start_setup: mode_select_barcode_param3 failed: %s\n", + DBG(1, "start_setup: mode_select_barcode_param3 failed: %s\n", sane_strstatus(status)); return status; } @@ -1829,13 +1829,13 @@ start_scan (BH_Scanner *s) /* SANE front ends will call this function between 'FRAMES'. * A single scan on the B&H may result in up to 56 different * things to read (20 are SANE image frames, 36 are non-SANE - * data - decoded bar/patch codes). + * data - decoded bar/patch codes). */ if (s->readcnt > 1 && s->scanning == SANE_TRUE) { DBG(3, "start_scan: any more items in the readlist?\n"); - /* we've been reading data from this scan, so we just + /* we've been reading data from this scan, so we just * move on to the next item in the readlist without * starting a new scan. */ @@ -1850,7 +1850,7 @@ start_scan (BH_Scanner *s) itemtype = s->readlist[s->readptr]; DBG(3, "start_scan: advance readlist(%d, %d)\n", - s->readptr, + s->readptr, (int) itemtype); /* 'dance' by the non-SANE data streams @@ -1869,12 +1869,12 @@ start_scan (BH_Scanner *s) { fprintf(fp, "\n"); - for (; - s->readptr < s->readcnt && - status == SANE_STATUS_GOOD; + for (; + s->readptr < s->readcnt && + status == SANE_STATUS_GOOD; s->readptr++) { - if (s->readlist[s->readptr] == + if (s->readlist[s->readptr] == BH_SCSI_READ_TYPE_SENDBARFILE) { break; } @@ -1888,14 +1888,14 @@ start_scan (BH_Scanner *s) fclose(fp); if ((s->barf = fopen(s->barfname, "r")) == NULL) { - DBG(1, "sane_start: error opening barfile `%s'\n", + DBG(1, "sane_start: error opening barfile `%s'\n", s->barfname); status = SANE_STATUS_IO_ERROR; } } else { - DBG(1, "sane_start: error opening barfile `%s'\n", + DBG(1, "sane_start: error opening barfile `%s'\n", s->barfname); status = SANE_STATUS_IO_ERROR; } @@ -1905,7 +1905,7 @@ start_scan (BH_Scanner *s) { /* read the icon header setting the iconwidth and iconlength * to the actual values so get_parameters will have them. - * Subsequent calls to sane_read will get pure image data + * Subsequent calls to sane_read will get pure image data * since the icon header has been consumed. */ @@ -1922,7 +1922,7 @@ start_scan (BH_Scanner *s) return status; } - /* if we reach here, we're finished with the readlist and + /* if we reach here, we're finished with the readlist and * will drop through to start a new scan */ } @@ -1990,7 +1990,7 @@ sense_handler (int scsi_fd, u_char *result, void *arg) EOM = (result[2] & 0x40) != 0; /* End Of Media */ ILI = (result[2] & 0x20) != 0; /* Invalid Length Indicator */ InvalidBytes = ValidData ? _4btol(&result[3]) : 0; - + DBG(3, "sense_handler: result=%x, sense=%x, asc=%x, ascq=%x\n", result[0], sense, asc, ascq); DBG(3, "sense_handler: ErrorCode %02x ValidData: %d " @@ -2010,8 +2010,8 @@ sense_handler (int scsi_fd, u_char *result, void *arg) return SANE_STATUS_IO_ERROR; /* error code is invalid */ } - /* handle each sense key; - * RSC supports 0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0x0B + /* handle each sense key; + * RSC supports 0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0x0B */ switch (sense) { @@ -2303,7 +2303,7 @@ sense_handler (int scsi_fd, u_char *result, void *arg) break; } - DBG(3, "sense_handler: '%s' '%s' return:%d\n", + DBG(3, "sense_handler: '%s' '%s' return:%d\n", sense_str, as_str, status); return status; @@ -2712,7 +2712,7 @@ init_options (BH_Scanner * s) s->opt[OPT_BARCODE_SEARCH_BAR].constraint.string_list = barcode_search_bar_list; s->opt[OPT_BARCODE_SEARCH_BAR].size = max_string_size (barcode_search_bar_list); s->val[OPT_BARCODE_SEARCH_BAR].s = strdup (barcode_search_bar_list[0]); - + /* Barcode search count (1-7, default 1). */ s->opt[OPT_BARCODE_SEARCH_COUNT].name = SANE_NAME_BARCODE_SEARCH_COUNT; s->opt[OPT_BARCODE_SEARCH_COUNT].title = SANE_TITLE_BARCODE_SEARCH_COUNT; @@ -2762,7 +2762,7 @@ init_options (BH_Scanner * s) s->opt[OPT_SECTION].constraint_type = SANE_CONSTRAINT_NONE; s->opt[OPT_SECTION].size = 255; s->val[OPT_SECTION].s = strdup (""); - + /* Barcode_Relmax */ s->opt[OPT_BARCODE_RELMAX].name = SANE_NAME_BARCODE_RELMAX; s->opt[OPT_BARCODE_RELMAX].title = SANE_TITLE_BARCODE_RELMAX; @@ -2907,7 +2907,7 @@ attach (const char *devnam, BH_Device ** devp) BH_INQUIRY_STANDARD_PAGE_CODE); if (status != SANE_STATUS_GOOD) { - DBG (1, "attach: inquiry (standard data) failed: %s\n", + DBG (1, "attach: inquiry (standard data) failed: %s\n", sane_strstatus (status)); sanei_scsi_close (fd); return status; @@ -2922,7 +2922,7 @@ attach (const char *devnam, BH_Device ** devp) || strncmp ((char *)ibuf.vendor, "B&H SCSI", 8) != 0 || strncmp ((char *)ibuf.product, "COPISCAN ", 9) != 0) { - DBG (1, + DBG (1, "attach: device is not a recognized Bell and Howell scanner\n"); sanei_scsi_close (fd); return SANE_STATUS_INVAL; @@ -2931,11 +2931,11 @@ attach (const char *devnam, BH_Device ** devp) DBG (3, "attach: sending INQUIRY (vpd data)\n"); memset (&vbuf, 0, sizeof (vbuf)); buf_size = sizeof(vbuf); - status = inquiry (fd, &vbuf, &buf_size, 1, + status = inquiry (fd, &vbuf, &buf_size, 1, BH_INQUIRY_VPD_PAGE_CODE); if (status != SANE_STATUS_GOOD) { - DBG (1, "attach: inquiry (vpd data) failed: %s\n", + DBG (1, "attach: inquiry (vpd data) failed: %s\n", sane_strstatus (status)); sanei_scsi_close (fd); return status; @@ -2944,7 +2944,7 @@ attach (const char *devnam, BH_Device ** devp) DBG (3, "attach: sending INQUIRY (jis data)\n"); memset (&jbuf, 0, sizeof (jbuf)); buf_size = sizeof(jbuf); - status = inquiry (fd, &jbuf, &buf_size, 1, + status = inquiry (fd, &jbuf, &buf_size, 1, BH_INQUIRY_JIS_PAGE_CODE); if (status != SANE_STATUS_GOOD) { @@ -3044,7 +3044,7 @@ attach (const char *devnam, BH_Device ** devp) if (jbuf.standardres[1] & 0x04) appendStdList(&dev->info, 600); if (jbuf.standardres[1] & 0x02) appendStdList(&dev->info, 800); if (jbuf.standardres[1] & 0x01) appendStdList(&dev->info, 1200); - if (dev->info.resStdList[0] == 0) + if (dev->info.resStdList[0] == 0) { /* make a default standard resolutions for 200 and 300dpi */ DBG(1, "attach: no standard resolutions reported\n"); @@ -3053,29 +3053,29 @@ attach (const char *devnam, BH_Device ** devp) dev->info.resStdList[2] = 300; dev->info.resBasicX = dev->info.resBasicY = 300; } - + dev->info.winWidth = _4btol(jbuf.windowwidth); dev->info.winHeight = _4btol(jbuf.windowlength); - if (dev->info.winWidth <= 0) + if (dev->info.winWidth <= 0) { dev->info.winWidth = (SANE_Int) (dev->info.resBasicX * 8.5); DBG(1, "attach: invalid window width reported, using %d\n", dev->info.winWidth); } - if (dev->info.winHeight <= 0) + if (dev->info.winHeight <= 0) { dev->info.winHeight = dev->info.resBasicY * 14; DBG(1, "attach: invalid window height reported, using %d\n", dev->info.winHeight); } - mm = (dev->info.resBasicX > 0) ? + mm = (dev->info.resBasicX > 0) ? ((double) dev->info.winWidth / (double) dev->info.resBasicX * MM_PER_INCH) : 0.0; dev->info.x_range.min = SANE_FIX(0.0); dev->info.x_range.max = SANE_FIX(mm); dev->info.x_range.quant = SANE_FIX(0.0); - mm = (dev->info.resBasicY > 0) ? + mm = (dev->info.resBasicY > 0) ? ((double) dev->info.winHeight / (double) dev->info.resBasicY * MM_PER_INCH) : 0.0; dev->info.y_range.min = SANE_FIX(0.0); @@ -3157,35 +3157,35 @@ sane_init (SANE_Int *version_code, SANE_Auth_Callback authorize) if (version_code) *version_code = SANE_VERSION_CODE (SANE_CURRENT_MAJOR, V_MINOR, BUILD); - + fp = sanei_config_open(BH_CONFIG_FILE); if (fp) { char line[PATH_MAX]; const char *lp; size_t len; - + /* read config file */ while (sanei_config_read (line, sizeof (line), fp)) { if (line[0] == '#') /* ignore line comments */ continue; len = strlen (line); - + if (!len) continue; /* ignore empty lines */ - + lp = sanei_config_skip_whitespace (line); - DBG(16, + DBG(16, "sane_init: processing config file line '%s'\n", line); - if (strncmp(lp, "option", 6) == 0 && + if (strncmp(lp, "option", 6) == 0 && (isspace (lp[6]) || lp[6] == '\0')) { lp += 6; lp = sanei_config_skip_whitespace (lp); - + if (strncmp(lp, "disable-optional-frames", 23) == 0) { DBG(1, "sane_init: configuration option " @@ -3205,15 +3205,15 @@ sane_init (SANE_Int *version_code, SANE_Auth_Callback authorize) lp); } } - else + else { - DBG(16, + DBG(16, "sane_init: found a device: line '%s'\n", lp); strncpy (devnam, lp, sizeof(devnam)); devnam[sizeof(devnam)-1] = '\0'; - - sanei_config_attach_matching_devices(devnam, + + sanei_config_attach_matching_devices(devnam, attach_one); } } @@ -3228,7 +3228,7 @@ sane_init (SANE_Int *version_code, SANE_Auth_Callback authorize) return SANE_STATUS_GOOD; } -SANE_Status +SANE_Status sane_get_devices (const SANE_Device ***device_list, SANE_Bool local) { BH_Device *dev; @@ -3259,7 +3259,7 @@ sane_open (SANE_String_Const devnam, SANE_Handle *handle) BH_Device *dev; BH_Scanner *s; DBG(3, "sane_open called\n"); - + if (devnam[0] != '\0') { for (dev = first_dev; dev; dev = dev->next) @@ -3279,7 +3279,7 @@ sane_open (SANE_String_Const devnam, SANE_Handle *handle) { dev = first_dev; } - + if (!dev) return SANE_STATUS_INVAL; @@ -3432,22 +3432,22 @@ sane_control_option (SANE_Handle handle, SANE_Int option, SANE_Action action, { case SANE_TYPE_BOOL: case SANE_TYPE_INT: - DBG(16, "sane_control_option: set_value %s [#%d] to %d\n", + DBG(16, "sane_control_option: set_value %s [#%d] to %d\n", name, option, *(SANE_Word *) val); break; - + case SANE_TYPE_FIXED: - DBG(16, "sane_control_option: set_value %s [#%d] to %f\n", + DBG(16, "sane_control_option: set_value %s [#%d] to %f\n", name, option, SANE_UNFIX(*(SANE_Word *) val)); break; - + case SANE_TYPE_STRING: - DBG(16, "sane_control_option: set_value %s [#%d] to %s\n", + DBG(16, "sane_control_option: set_value %s [#%d] to %s\n", name, option, (char *) val); break; - + default: - DBG(16, "sane_control_option: set_value %s [#%d]\n", + DBG(16, "sane_control_option: set_value %s [#%d]\n", name, option); } @@ -3504,7 +3504,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, SANE_Action action, case OPT_NUM_OPTS: s->val[option].w = *(SANE_Word *) val; return SANE_STATUS_GOOD; - + /* string options */ case OPT_BARCODE_SEARCH_BAR: /*!!! we're supporting only a single barcode type via the option */ @@ -3584,7 +3584,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, SANE_Action action, if (info) *info |= SANE_INFO_RELOAD_OPTIONS; if (get_scan_mode_id((SANE_String) val) != 0) { - /* scan mode is not lineart, disable compression + /* scan mode is not lineart, disable compression * and set compression to 'none' */ s->opt[OPT_COMPRESSION].cap |= SANE_CAP_INACTIVE; @@ -3622,9 +3622,9 @@ sane_control_option (SANE_Handle handle, SANE_Int option, SANE_Action action, x_max = SANE_UNFIX(s->hw->info.x_range.max); y_max = SANE_UNFIX(s->hw->info.y_range.max); /* a dimension of 0.0 (or less) is replaced with the max value */ - x = (paper_sizes[paper_id].width <= 0.0) ? x_max : + x = (paper_sizes[paper_id].width <= 0.0) ? x_max : paper_sizes[paper_id].width; - y = (paper_sizes[paper_id].length <= 0.0) ? y_max : + y = (paper_sizes[paper_id].length <= 0.0) ? y_max : paper_sizes[paper_id].length; if (info) *info |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; @@ -3644,8 +3644,8 @@ sane_control_option (SANE_Handle handle, SANE_Int option, SANE_Action action, left = 0.0; } - s->val[OPT_TL_X].w = SANE_FIX(left); - s->val[OPT_TL_Y].w = SANE_FIX(0.0); + s->val[OPT_TL_X].w = SANE_FIX(left); + s->val[OPT_TL_Y].w = SANE_FIX(0.0); s->val[OPT_BR_X].w = SANE_FIX(MIN(x + left, x_max)); s->val[OPT_BR_Y].w = SANE_FIX(MIN(y, y_max)); } @@ -3670,7 +3670,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters *params) SANE_Int status = SANE_STATUS_GOOD; DBG(3, "sane_get_parameters called\n"); - + if (params) { SANE_Int res; @@ -3686,11 +3686,11 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters *params) res = _OPT_VAL_WORD(s, OPT_RESOLUTION); DBG (1, "get_parameters: format=%d, pixels/line=%d, bytes/line=%d, " - "lines=%d, dpi=%d\n", - (int) s->params.format, - s->params.pixels_per_line, + "lines=%d, dpi=%d\n", + (int) s->params.format, + s->params.pixels_per_line, s->params.bytes_per_line, - s->params.lines, + s->params.lines, res); } @@ -3718,7 +3718,7 @@ sane_start (SANE_Handle handle) } /* Do the setup once per 'batch'. The SANE standard requires the - * frontend to call sane_cancel once all desired frames have been + * frontend to call sane_cancel once all desired frames have been * acquired. That is when scanning is set back to SANE_FALSE and * the 'batch' is considered done. */ @@ -3739,7 +3739,7 @@ sane_start (SANE_Handle handle) return status; } - return SANE_STATUS_GOOD; + return SANE_STATUS_GOOD; } SANE_Status @@ -3795,13 +3795,13 @@ sane_set_io_mode (SANE_Handle handle, SANE_Bool non_blocking) DBG(3, "sane_set_io_mode called: non_blocking=%d\n", non_blocking); #ifdef NONBLOCKSUPPORTED - if (s->fd < 0) - { - return SANE_STATUS_INVAL; + if (s->fd < 0) + { + return SANE_STATUS_INVAL; } if (fcntl (s->fd, F_SETFL, non_blocking ? O_NONBLOCK : 0) < 0) - { + { DBG(1, "sane_set_io_mode: error setting io mode\n"); return SANE_STATUS_IO_ERROR; } @@ -3823,8 +3823,8 @@ sane_get_select_fd (SANE_Handle handle, SANE_Int *fd) #ifdef NONBLOCKSUPPORTED if (s->fd < 0) - { - return SANE_STATUS_INVAL; + { + return SANE_STATUS_INVAL; } *fd = s->fd; @@ -3842,14 +3842,14 @@ sane_cancel (SANE_Handle handle) DBG(3, "sane_cancel called\n"); if (s->scanning) { - /* if batchmode is enabled, then call set_window to + /* if batchmode is enabled, then call set_window to * abort the batch */ if (_OPT_VAL_WORD(s, OPT_BATCH) == SANE_TRUE) { DBG(5, "sane_cancel: calling set_window to abort batch\n"); set_window(s, BH_BATCH_ABORT); - } + } } s->scanning = SANE_FALSE; s->cancelled = SANE_TRUE; @@ -3878,8 +3878,7 @@ sane_exit (void) next = dev->next; free (dev); } - + if (devlist) free (devlist); } - diff --git a/backend/bh.h b/backend/bh.h index 545ffb1..fcd833a 100644 --- a/backend/bh.h +++ b/backend/bh.h @@ -73,16 +73,16 @@ #define BH_SECTION_FRONT_PATCH (1 << 4) #define BH_SECTION_BACK_PATCH (1 << 5) -typedef enum -{ - BH_UNIT_INCH, - BH_UNIT_MM, +typedef enum +{ + BH_UNIT_INCH, + BH_UNIT_MM, BH_UNIT_POINT } bh_measureUnit; typedef enum { - BH_COMP_NONE, + BH_COMP_NONE, BH_COMP_G31D, BH_COMP_G32D, BH_COMP_G42D @@ -90,13 +90,13 @@ typedef enum typedef enum { - BH_ROTATION_0, + BH_ROTATION_0, BH_ROTATION_90, BH_ROTATION_180, BH_ROTATION_270 } bh_rotation; -typedef enum +typedef enum { OPT_NUM_OPTS = 0, @@ -171,30 +171,30 @@ typedef enum OPT_BARCODE_SEARCH_BAR, /* Barcode search count (1-7, default 3). */ OPT_BARCODE_SEARCH_COUNT, - /* Barcode search mode. - * (1 = horizontal,2 = vertical, 6 = v then h, 9 = h then v). + /* Barcode search mode. + * (1 = horizontal,2 = vertical, 6 = v then h, 9 = h then v). */ OPT_BARCODE_SEARCH_MODE, /* Patch code min height (def=127 (5mm)) */ - OPT_BARCODE_HMIN, - /* Barcode search timeout in ms - * (20-65535,default is disabled). + OPT_BARCODE_HMIN, + /* Barcode search timeout in ms + * (20-65535,default is disabled). */ OPT_BARCODE_SEARCH_TIMEOUT, /* Specify image sections and functions */ OPT_SECTION, - /* Specifies the maximum relation from the widest to - * the smallest bar + /* Specifies the maximum relation from the widest to + * the smallest bar */ OPT_BARCODE_RELMAX, /* Specifies the minimum number of bars in Bar/Patch code */ OPT_BARCODE_BARMIN, /* Specifies the maximum number of bars in a Bar/Patch code */ OPT_BARCODE_BARMAX, - /* Specifies the image contrast used in decoding. - * Use higher values when there are more white pixels - * in the code + /* Specifies the image contrast used in decoding. + * Use higher values when there are more white pixels + * in the code */ OPT_BARCODE_CONTRAST, /* Controls Patch Code detection. */ @@ -291,8 +291,8 @@ typedef struct _BH_Info SANE_Int resMaxY; /* maximum Y resolution */ SANE_Int resMinX; /* minimum X resolution */ SANE_Int resMinY; /* minimum Y resolution */ - SANE_Int resStdList[16+1]; /* list of available standard resolutions - * (first slot is the length) + SANE_Int resStdList[16+1]; /* list of available standard resolutions + * (first slot is the length) */ SANE_Int winWidth; /* length of window (in BasicX res DPI) */ SANE_Int winHeight; /* height of window (in BasicY res DPI) */ @@ -321,7 +321,7 @@ struct _BH_Scanner /* SCSI filedescriptor */ int fd; - + /* tempfile which is used to send decoded barcode data */ FILE *barf; char barfname[PATH_MAX+1]; @@ -337,7 +337,7 @@ struct _BH_Scanner /* SANE image parameters */ SANE_Parameters params; - + /* state information - not options */ /* Basic Measurement Unit */ @@ -394,9 +394,9 @@ static const SANE_Range barcode_search_timeout_range = static const SANE_Range barcode_hmin_range = { 1, /* minimum */ - 1660, /* maximum (when converted from mm - * to thousandths will still be less - * than 65536) + 1660, /* maximum (when converted from mm + * to thousandths will still be less + * than 65536) */ 0 /* quantization */ }; @@ -915,7 +915,7 @@ struct mode_page_03 { SANE_Byte mediumtype; SANE_Byte devicespecificparam; SANE_Byte blockdescriptorlen; - + SANE_Byte pagecode; SANE_Byte paramlen; SANE_Byte bmu; diff --git a/backend/canon-sane.c b/backend/canon-sane.c index a8efc7a..5d9ec99 100644 --- a/backend/canon-sane.c +++ b/backend/canon-sane.c @@ -1126,7 +1126,7 @@ sane_start (SANE_Handle handle) if (thistmpfile != NULL) { if (mktemp(thistmpfile) == 0) - { + { DBG(1, "mktemp(thistmpfile) is failed\n"); return (SANE_STATUS_INVAL); } diff --git a/backend/canon-scsi.c b/backend/canon-scsi.c index a83e518..0bddf51 100644 --- a/backend/canon-scsi.c +++ b/backend/canon-scsi.c @@ -623,7 +623,7 @@ wait_ready(int fd) while ((status = test_unit_ready (fd)) != SANE_STATUS_GOOD) { DBG(5, "wait_ready failed (%d)\n", retry); - if (retry++ > 15) + if (retry++ > 15) return SANE_STATUS_IO_ERROR; sleep(3); } diff --git a/backend/canon.c b/backend/canon.c index 168b2d6..ad738e8 100644 --- a/backend/canon.c +++ b/backend/canon.c @@ -62,7 +62,7 @@ . . - sane_get_parameters() : returns actual scan-parameters . . - sane_read() : read image-data (from pipe) . . - sane_cancel() : cancel operation, kill reader_process - + . - sane_close() : close opened scanner-device, do_cancel, free buffer and handle - sane_exit() : terminate use of backend, free devicename and device-struture */ @@ -140,7 +140,7 @@ static const SANE_String_Const mode_list[] = { SANE_VALUE_SCAN_MODE_HALFTONE, SANE_VALUE_SCAN_MODE_GRAY, SANE_VALUE_SCAN_MODE_COLOR, - 0 + 0 }; /* modification for FS2710 */ @@ -193,11 +193,6 @@ static const SANE_String_Const tpu_filmtype_list[] = { 0 }; -static const SANE_String_Const papersize_list[] = { - "A4", "Letter", "B5", "Maximal", - 0 -}; - /**************************************************/ static const SANE_Range u8_range = { diff --git a/backend/canon630u-common.c b/backend/canon630u-common.c index a46424a..27c34ff 100644 --- a/backend/canon630u-common.c +++ b/backend/canon630u-common.c @@ -35,15 +35,15 @@ 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. + If you do not wish that, delete this exception notice. */ /* Communication, calibration, and scanning with the Canon CanoScan FB630U flatbed scanner under linux. - + Reworked into SANE-compatible format. - + The usb-parallel port interface chip is GL640usb, on the far side of which is an LM9830 parallel-port scanner-on-a-chip. @@ -153,7 +153,7 @@ gl640ReadReq (int fd, GL640_Request req, byte * data) } -/* Write USB bulk data +/* Write USB bulk data setup is an apparently scanner-specific sequence: {(0=read, 1=write), 0x00, 0x00, 0x00, sizelo, sizehi, 0x00, 0x00} hp3400: setup[1] = 0x01 @@ -177,7 +177,7 @@ gl640WriteBulk (int fd, byte * setup, byte * data, size_t size) } -/* Read USB bulk data +/* Read USB bulk data setup is an apparently scanner-specific sequence: {(0=read, 1=write), 0x00, 0x00, 0x00, sizelo, sizehi, 0x00, 0x00} fb630u: setup[2] = 0x80 @@ -461,7 +461,7 @@ typedef struct CANON_Handle #define FLG_GRAY 0x01 /* grayscale */ #define FLG_FORCE_CAL 0x02 /* force calibration */ #define FLG_BUF 0x04 /* save scan to buffer instead of file */ -#define FLG_NO_INTERLEAVE 0x08 /* don't interleave r,g,b pixels; leave them +#define FLG_NO_INTERLEAVE 0x08 /* don't interleave r,g,b pixels; leave them in row format */ #define FLG_PPM_HEADER 0x10 /* include PPM header in scan file */ } @@ -501,7 +501,7 @@ init (int fd) { byte result, rv; - if (gl640WriteReq (fd, GL640_GPIO_OE, 0x71) != SANE_STATUS_GOOD) { + if (gl640WriteReq (fd, GL640_GPIO_OE, 0x71) != SANE_STATUS_GOOD) { DBG(1, "Initial write request failed.\n"); return -1; } @@ -653,7 +653,7 @@ do_scan (CANON_Handle * s) fwrite (redptr + s->width, 1, 1, fp); /* Green */ fwrite (redptr + s->width + s->width, 1, 1, fp); /* Blue */ /* for PPM ascii (P3) - fprintf(fp, "%3d %3d %3d\n", *redptr, + fprintf(fp, "%3d %3d %3d\n", *redptr, *(redptr + s->width), *(redptr + s->width + s->width)); */ @@ -869,8 +869,8 @@ plugin_cal (CANON_Handle * s) write_word (fd, LAMP_B_OFF, 0x0100); /* coming in, we've got 300dpi, data px start : 0x004b - data px end : 0x1437 for a total of 5100(13ec) 600-dpi pixels, - (8.5 inches) or 2550 300-dpi pixels (7653 bytes). + data px end : 0x1437 for a total of 5100(13ec) 600-dpi pixels, + (8.5 inches) or 2550 300-dpi pixels (7653 bytes). Interestingly, the scan head never moves, no matter how many rows are read. */ s->width = 2551; @@ -981,7 +981,7 @@ plugin_cal (CANON_Handle * s) somewhat more complicated than necessary because I don't hard-code the strip widths; I try to figure out the regions based on the scan data. Theoretically, the region-finder should work for any number of distinct - regions (but there are only 2 on this scanner.) + regions (but there are only 2 on this scanner.) This produces the CAL_FILE_OGN file, the final offset/gain table. */ static SANE_Status compute_ogn (char *calfilename) @@ -1132,7 +1132,7 @@ compute_ogn (char *calfilename) continue; } - /* Gain multiplier: + /* Gain multiplier: 255 : 1.5 times brighter 511 : 2 times brighter 1023: 3 times brighter */ @@ -1146,9 +1146,9 @@ compute_ogn (char *calfilename) offset would be bad. */ /* Enhanced offset and gain calculation by M.Reinelt - * These expressions were found by an iterative calibration process, + * These expressions were found by an iterative calibration process, * by changing gain and offset values for every pixel until the desired - * values for black and white were reached, and finding an approximation + * values for black and white were reached, and finding an approximation * formula. * Note that offset is linear, but gain isn't! */ @@ -1256,8 +1256,8 @@ scan (CANON_Handle * opt) read_byte (fd, STATUS, &result); /* wants 2f or 2d */ if (!(result & STATUS_HOME) /*0x2d */ ) return SANE_STATUS_DEVICE_BUSY; - /* or force it to return? - write_byte(fd, COMMAND, 0x02); + /* or force it to return? + write_byte(fd, COMMAND, 0x02); wait_for_return(fd); */ @@ -1439,9 +1439,9 @@ CANON_set_scan_parameters (CANON_Handle * scan, const int left, const int top, const int right, - const int bottom, - const int res, - const int gain, + const int bottom, + const int res, + const int gain, const double gamma) { DBG (2, "CANON_set_scan_parameters:\n"); @@ -1593,12 +1593,12 @@ CANON_start_scan (CANON_Handle * scanner) return SANE_STATUS_IO_ERROR; } if ((rv == 1) - || !check_ogn_file () + || !check_ogn_file () || (scanner->flags & FLG_FORCE_CAL)) { plugin_cal (scanner); wait_for_return (scanner->fd); } - + /* scan */ if ((status = scan (scanner)) != SANE_STATUS_GOOD) { diff --git a/backend/canon630u.c b/backend/canon630u.c index 5c1a711..c413253 100644 --- a/backend/canon630u.c +++ b/backend/canon630u.c @@ -703,7 +703,7 @@ attach_one (const char *name) } -/* +/* Find our devices */ SANE_Status @@ -995,7 +995,7 @@ sane_start (SANE_Handle handle) MM_IN_INCH * 600, SANE_UNFIX (optionBotRightYValue) / MM_IN_INCH * 600, - optionResolutionValue, + optionResolutionValue, optionAGainValue, SANE_UNFIX (optionGammaValue)); diff --git a/backend/canon_dr-cmd.h b/backend/canon_dr-cmd.h index b969c3b..51f2a06 100644 --- a/backend/canon_dr-cmd.h +++ b/backend/canon_dr-cmd.h @@ -1,7 +1,7 @@ #ifndef CANON_DR_CMD_H #define CANON_DR_CMD_H -/* +/* * Part of SANE - Scanner Access Now Easy. * Please see opening comments in canon_dr.c */ @@ -258,6 +258,11 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define R_FINE_uid_blue 0x09 #define R_FINE_uid_unknown 0x14 +/* get pixel size */ +#define R_PSIZE_len 16 +#define get_R_PSIZE_width(in) getnbyte(in + 0x08, 4) +#define get_R_PSIZE_length(in) getnbyte(in + 0x0c, 4) + /* ==================================================================== */ /* SEND */ #define SEND_code 0x2a @@ -431,6 +436,7 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define SM2_pc_df 0x00 #define SM2_pc_ultra 0x01 #define SM2_pc_buffer 0x02 +#define SM2_pc_hw_enhancement 0x03 #define SM2_pc_dropout 0x06 /* ==================================================================== */ @@ -447,6 +453,7 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) /* for DF (0x00) page */ #define set_SSM2_DF_thick(sb, val) setbitfield(sb+3, 1, 2, val) #define set_SSM2_DF_len(sb, val) setbitfield(sb+3, 1, 0, val) +#define set_SSM2_DF_staple(sb, val) setbitfield(sb+3, 1, 4, val) /* for ULTRA (0x01) page */ #define set_SSM2_ULTRA_top(sb, val) putnbyte(sb + 0x07, val, 2) @@ -457,9 +464,14 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define set_SSM2_BUFF_unk2(sb, val) sb[0x06] = val #define set_SSM2_BUFF_sync(sb, val) sb[0x09] = val +/* for HARDWARE ENHANCEMENT (0x03) */ +#define set_SSM2_roller_deskew(sb, val) setbitfield(sb+6, 1, 3, val) +#define set_SSM2_hw_crop(sb, val) setbitfield(sb+6, 1, 5, val) + /* for DROPOUT (0x06) page */ #define set_SSM2_DO_do(sb, val) sb[0x09] = val #define set_SSM2_DO_en(sb, val) sb[0x0a] = val +#define set_SSM2_DO_side(sb, val) sb[0x05] = val /* ==================================================================== */ /* window descriptor macros for SET_WINDOW and GET_WINDOW */ @@ -571,7 +583,7 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) /* FIXME: more params here? */ #define set_WD_reserved2(sb, val) sb[0x2a] = val #define get_WD_reserved2(sb) sb[0x2a] - + /* ==================================================================== */ diff --git a/backend/canon_dr.c b/backend/canon_dr.c index 3c058ab..64aec31 100644 --- a/backend/canon_dr.c +++ b/backend/canon_dr.c @@ -10,6 +10,7 @@ Canon, USA. www.usa.canon.com loaned equipment HPrint hprint.com.br provided funding and testing for DR-2510 support Stone-IT www.stone-it.com provided funding for DR-2010 and DR-2050 support + Smartmatic www.smartmatic.com provided testing and changes for DR-X10C support -------------------------------------------------------------------------- @@ -165,7 +166,7 @@ - correct rgb padding macro - skip send_panel and ssm_df commands for DR-20xx scanners v22 2009-03-25, MAN - - add deinterlacing code for DR-2510C in duplex and color + - add deinterlacing code for DR-2510C in duplex and color v23 2009-03-27, MAN - rewrite all image data processing code - handle more image interlacing formats @@ -335,6 +336,8 @@ - rename all DUPLEX_INTERLACE_* to indicate start and end of line v56 2016-08-23, MAN - initial support for P-150 + v57 2019-02-24, manuarg + - complete support for X-10, including hardware cropping SANE FLOW DIAGRAM @@ -352,7 +355,7 @@ . . - sane_start() : start image acquisition . . - sane_get_parameters() : returns actual scan parameters . . - sane_read() : read image data (from pipe) - . . (sane_read called multiple times; after sane_read returns EOF, + . . (sane_read called multiple times; after sane_read returns EOF, . . loop may continue with sane_start which may return a 2nd page . . when doing duplex scans, or load the next page from the ADF) . . @@ -385,14 +388,14 @@ #include "canon_dr.h" #define DEBUG 1 -#define BUILD 56 +#define BUILD 57 /* values for SANE_DEBUG_CANON_DR env var: - errors 5 - function trace 10 - function detail 15 - get/setopt cmds 20 - - scsi/usb trace 25 + - scsi/usb trace 25 - scsi/usb writes 30 - scsi/usb reads 31 - useless noise 35 @@ -455,7 +458,7 @@ static struct scanner *scanner_devList = NULL; /* * Called by SANE initially. - * + * * From the SANE spec: * This function must be called before any other SANE function can be * called. The behavior of a SANE backend is undefined if this @@ -487,7 +490,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) /* * Called by SANE to find out about supported devices. - * + * * From the SANE spec: * This function can be used to query the list of devices that are * available. If the function executes successfully, it stores a @@ -500,7 +503,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) * returned (devices directly attached to the machine that SANE is * running on). If it is false, the device list includes all remote * devices that are accessible to the SANE library. - * + * * SANE does not require that this function is called before a * sane_open() call is performed. A device name may be specified * explicitly by a user which would make it unnecessary and @@ -544,42 +547,42 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) CANON_DR_CONFIG_FILE); while (sanei_config_read (line, PATH_MAX, fp)) { - + lp = line; - + /* ignore comments */ if (*lp == '#') continue; - + /* skip empty lines */ if (*lp == 0) continue; - + if (!strncmp ("option", lp, 6) && isspace (lp[6])) { - + lp += 6; lp = sanei_config_skip_whitespace (lp); - + /* BUFFERSIZE: > 4K */ if (!strncmp (lp, "buffer-size", 11) && isspace (lp[11])) { - + int buf; lp += 11; lp = sanei_config_skip_whitespace (lp); buf = atoi (lp); - + if (buf < 4096) { DBG (5, "sane_get_devices: config option \"buffer-size\" " "(%d) is < 4096, ignoring!\n", buf); continue; } - + if (buf > global_buffer_size_default) { DBG (5, "sane_get_devices: config option \"buffer-size\" " "(%d) is > %d, scanning problems may result\n", buf, global_buffer_size_default); } - + DBG (15, "sane_get_devices: setting \"buffer-size\" to %d\n", buf); @@ -588,24 +591,24 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) /* PADDED READ: we clamp to 0 or 1 */ else if (!strncmp (lp, "padded-read", 11) && isspace (lp[11])) { - + int buf; lp += 11; lp = sanei_config_skip_whitespace (lp); buf = atoi (lp); - + if (buf < 0) { DBG (5, "sane_get_devices: config option \"padded-read\" " "(%d) is < 0, ignoring!\n", buf); continue; } - + if (buf > 1) { DBG (5, "sane_get_devices: config option \"padded-read\" " "(%d) is > 1, ignoring!\n", buf); continue; } - + DBG (15, "sane_get_devices: setting \"padded-read\" to %d\n", buf); @@ -614,24 +617,24 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) /* EXTRA STATUS: we clamp to 0 or 1 */ else if (!strncmp (lp, "extra-status", 12) && isspace (lp[12])) { - + int buf; lp += 12; lp = sanei_config_skip_whitespace (lp); buf = atoi (lp); - + if (buf < 0) { DBG (5, "sane_get_devices: config option \"extra-status\" " "(%d) is < 0, ignoring!\n", buf); continue; } - + if (buf > 1) { DBG (5, "sane_get_devices: config option \"extra-status\" " "(%d) is > 1, ignoring!\n", buf); continue; } - + DBG (15, "sane_get_devices: setting \"extra-status\" to %d\n", buf); @@ -640,18 +643,18 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) /* DUPLEXOFFSET: < 2400 */ else if (!strncmp (lp, "duplex-offset", 13) && isspace (lp[13])) { - + int buf; lp += 13; lp = sanei_config_skip_whitespace (lp); buf = atoi (lp); - + if (buf > 2400) { DBG (5, "sane_get_devices: config option \"duplex-offset\" " "(%d) is > 2400, ignoring!\n", buf); continue; } - + if (buf < 0) { DBG (5, "sane_get_devices: config option \"duplex-offset\" " "(%d) is < 0, ignoring!\n", buf); @@ -671,7 +674,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) lp = sanei_config_skip_whitespace (lp); strncpy(global_vendor_name, lp, 8); global_vendor_name[8] = 0; - + DBG (15, "sane_get_devices: setting \"vendor-name\" to %s\n", global_vendor_name); } @@ -683,7 +686,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) lp = sanei_config_skip_whitespace (lp); strncpy(global_model_name, lp, 16); global_model_name[16] = 0; - + DBG (15, "sane_get_devices: setting \"model-name\" to %s\n", global_model_name); } @@ -695,7 +698,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) lp = sanei_config_skip_whitespace (lp); strncpy(global_version_name, lp, 4); global_version_name[4] = 0; - + DBG (15, "sane_get_devices: setting \"version-name\" to %s\n", global_version_name); } @@ -801,8 +804,8 @@ attach_one_usb (const char *device_name) return attach_one(device_name,CONNECTION_USB); } -/* build the scanner struct and link to global list - * unless struct is already loaded, then pretend +/* build the scanner struct and link to global list + * unless struct is already loaded, then pretend */ static SANE_Status attach_one (const char *device_name, int connType) @@ -974,8 +977,8 @@ connect_fd (struct scanner *s) if(ret == SANE_STATUS_GOOD){ - /* first generation usb scanners can get flaky if not closed - * properly after last use. very first commands sent to device + /* first generation usb scanners can get flaky if not closed + * properly after last use. very first commands sent to device * must be prepared to correct this- see wait_scanner() */ ret = wait_scanner(s); if (ret != SANE_STATUS_GOOD) { @@ -1016,9 +1019,9 @@ init_inquire (struct scanner *s) set_IN_return_size (cmd, inLen); set_IN_evpd (cmd, 0); set_IN_page_code (cmd, 0); - + ret = do_cmd ( - s, 1, 0, + s, 1, 0, cmd, cmdLen, NULL, 0, in, &inLen @@ -1323,7 +1326,7 @@ init_model (struct scanner *s) s->std_res_y[DPI_400]=1; s->std_res_x[DPI_600]=1; s->std_res_y[DPI_600]=1; - + /*weirdness*/ s->has_ssm = 0; s->has_ssm2 = 1; @@ -1522,7 +1525,7 @@ init_model (struct scanner *s) s->std_res_y[DPI_400]=1; s->std_res_x[DPI_600]=1; s->std_res_y[DPI_600]=1; - + s->has_comp_JPEG = 1; s->rgb_format = 1; s->has_df_ultra = 1; @@ -1562,7 +1565,7 @@ init_model (struct scanner *s) s->std_res_y[DPI_400]=1; s->std_res_x[DPI_600]=1; s->std_res_y[DPI_600]=1; - + s->has_comp_JPEG = 1; s->rgb_format = 1; s->has_df_ultra = 1; @@ -1690,6 +1693,31 @@ init_model (struct scanner *s) s->can_halftone = 0; } + else if (strstr (s->model_name,"DR-X10C")){ + + /* Required for USB coms */ + s->has_ssm = 0; + s->has_ssm2 = 1; + + /* missing */ + s->std_res_x[DPI_100]=1; + s->std_res_y[DPI_100]=1; + s->std_res_x[DPI_150]=1; + s->std_res_y[DPI_150]=1; + s->std_res_x[DPI_200]=1; + s->std_res_y[DPI_200]=1; + s->std_res_x[DPI_240]=1; + s->std_res_y[DPI_240]=1; + s->std_res_x[DPI_300]=1; + s->std_res_y[DPI_300]=1; + s->std_res_x[DPI_400]=1; + s->std_res_y[DPI_400]=1; + s->std_res_x[DPI_600]=1; + s->std_res_y[DPI_600]=1; + + s->has_hwcrop = 1; + } + DBG (10, "init_model: finish\n"); return SANE_STATUS_GOOD; @@ -1801,9 +1829,9 @@ init_options (struct scanner *s) s->opt[i].cap = SANE_CAP_INACTIVE; } - /* go ahead and setup the first opt, because - * frontend may call control_option on it - * before calling get_option_descriptor + /* go ahead and setup the first opt, because + * frontend may call control_option on it + * before calling get_option_descriptor */ s->opt[OPT_NUM_OPTS].name = SANE_NAME_NUM_OPTIONS; s->opt[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS; @@ -1831,7 +1859,7 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) struct scanner *dev = NULL; struct scanner *s = NULL; SANE_Status ret; - + DBG (10, "sane_open: start\n"); if(scanner_devList){ @@ -1852,7 +1880,7 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) } else{ DBG (15, "sane_open: device %s requested\n", name); - + for (dev = scanner_devList; dev; dev = dev->next) { if (strcmp (dev->sane.name, name) == 0 || strcmp (dev->device_name, name) == 0) { /*always allow sanei devname*/ @@ -1928,7 +1956,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) } if(s->has_adf){ s->source_list[i++]=STRING_ADFFRONT; - + if(s->has_back){ s->source_list[i++]=STRING_ADFBACK; } @@ -1938,7 +1966,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) } if(s->has_card){ s->source_list[i++]=STRING_CARDFRONT; - + if(s->has_back){ s->source_list[i++]=STRING_CARDBACK; } @@ -1974,7 +2002,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->mode_list[i++]=STRING_COLOR; } s->mode_list[i]=NULL; - + opt->name = SANE_NAME_SCAN_MODE; opt->title = SANE_TITLE_SCAN_MODE; opt->desc = SANE_DESC_SCAN_MODE; @@ -2041,14 +2069,14 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->res_list[++i] = 1200; } s->res_list[0] = i; - + opt->name = SANE_NAME_SCAN_RESOLUTION; opt->title = SANE_TITLE_SCAN_RESOLUTION; opt->desc = SANE_DESC_SCAN_RESOLUTION; opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_DPI; opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - + if(s->step_y_res){ s->res_range.min = s->min_y_res; s->res_range.max = s->max_y_res; @@ -2078,7 +2106,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->tl_x_range.min = SCANNER_UNIT_TO_FIXED_MM(s->min_x); s->tl_x_range.max = SCANNER_UNIT_TO_FIXED_MM(get_page_width(s)); s->tl_x_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_TL_X; opt->title = SANE_TITLE_SCAN_TL_X; opt->desc = SANE_DESC_SCAN_TL_X; @@ -2096,7 +2124,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->tl_y_range.min = SCANNER_UNIT_TO_FIXED_MM(s->min_y); s->tl_y_range.max = SCANNER_UNIT_TO_FIXED_MM(get_page_height(s)); s->tl_y_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_TL_Y; opt->title = SANE_TITLE_SCAN_TL_Y; opt->desc = SANE_DESC_SCAN_TL_Y; @@ -2114,7 +2142,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->br_x_range.min = SCANNER_UNIT_TO_FIXED_MM(s->min_x); s->br_x_range.max = SCANNER_UNIT_TO_FIXED_MM(get_page_width(s)); s->br_x_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_BR_X; opt->title = SANE_TITLE_SCAN_BR_X; opt->desc = SANE_DESC_SCAN_BR_X; @@ -2132,7 +2160,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->br_y_range.min = SCANNER_UNIT_TO_FIXED_MM(s->min_y); s->br_y_range.max = SCANNER_UNIT_TO_FIXED_MM(get_page_height(s)); s->br_y_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_BR_Y; opt->title = SANE_TITLE_SCAN_BR_Y; opt->desc = SANE_DESC_SCAN_BR_Y; @@ -2370,7 +2398,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /*double feed by thickness */ if(option==OPT_DF_THICKNESS){ - + opt->name = "df-thickness"; opt->title = "DF by thickness"; opt->desc = "Detect double feeds using thickness sensor"; @@ -2482,7 +2510,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->do_color_list[5] = STRING_EN_GREEN; s->do_color_list[6] = STRING_EN_BLUE; s->do_color_list[7] = NULL; - + opt->name = "dropout-front"; opt->title = "Dropout color front"; opt->desc = "One-pass scanners use only one color during gray or binary scanning, useful for colored paper or ink"; @@ -2510,7 +2538,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->do_color_list[5] = STRING_EN_GREEN; s->do_color_list[6] = STRING_EN_BLUE; s->do_color_list[7] = NULL; - + opt->name = "dropout-back"; opt->title = "Dropout color back"; opt->desc = "One-pass scanners use only one color during gray or binary scanning, useful for colored paper or ink"; @@ -2551,6 +2579,18 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->constraint_type = SANE_CONSTRAINT_NONE; } + /*hardware crop*/ + if(option==OPT_HW_CROP){ + opt->name = "hwcrop"; + opt->title = "Hardware crop"; + opt->desc = "Request scanner to crop image automatically"; + opt->type = SANE_TYPE_BOOL; + if (s->has_hwcrop) + opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + else + opt->cap = SANE_CAP_INACTIVE; + } + /* "Sensor" group ------------------------------------------------------ */ if(option==OPT_SENSOR_GROUP){ opt->name = SANE_NAME_SENSORS; @@ -2671,7 +2711,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /** * Gets or sets an option value. - * + * * From the SANE spec: * This function is used to set or inquire the current value of option * number n of the device represented by handle h. The manner in which @@ -2682,7 +2722,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) * area pointed to by v must be big enough to hold the entire option * value (determined by member size in the corresponding option * descriptor). - * + * * The only exception to this rule is that when setting the value of a * string option, the string pointed to by argument v may be shorter * since the backend will stop reading the option value upon @@ -2918,6 +2958,10 @@ sane_control_option (SANE_Handle handle, SANE_Int option, *val_p = s->side; return SANE_STATUS_GOOD; + case OPT_HW_CROP: + *val_p = s->hwcrop; + return SANE_STATUS_GOOD; + /* Sensor Group */ case OPT_START: ret = read_panel(s,OPT_START); @@ -2999,7 +3043,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, * below. */ switch (option) { - + /* Mode Group */ case OPT_SOURCE: if (!strcmp (val, STRING_ADFFRONT)) { @@ -3024,7 +3068,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, tmp = SOURCE_FLATBED; } - if (s->u.source == tmp) + if (s->u.source == tmp) return SANE_STATUS_GOOD; s->u.source = tmp; @@ -3056,7 +3100,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_RES: - if (s->u.dpi_x == val_c && s->u.dpi_y == val_c) + if (s->u.dpi_x == val_c && s->u.dpi_y == val_c) return SANE_STATUS_GOOD; s->u.dpi_x = val_c; @@ -3237,6 +3281,10 @@ sane_control_option (SANE_Handle handle, SANE_Int option, s->buffermode = val_c; return SANE_STATUS_GOOD; + case OPT_HW_CROP: + s->hwcrop = val_c; + return SANE_STATUS_GOOD; + } } /* else */ @@ -3251,25 +3299,25 @@ ssm_buffer (struct scanner *s) DBG (10, "ssm_buffer: start\n"); if(s->has_ssm){ - + unsigned char cmd[SET_SCAN_MODE_len]; size_t cmdLen = SET_SCAN_MODE_len; - + unsigned char out[SSM_PAY_len]; size_t outLen = SSM_PAY_len; - + memset(cmd,0,cmdLen); set_SCSI_opcode(cmd, SET_SCAN_MODE_code); set_SSM_pf(cmd, 1); set_SSM_pay_len(cmd, outLen); - + memset(out,0,outLen); if(s->has_ssm_pay_head_len){ set_SSM_pay_head_len(out, SSM_PAY_HEAD_len); } set_SSM_page_code(out, SM_pc_buffer); set_SSM_page_len(out, SSM_PAGE_len); - + if(s->s.source == SOURCE_ADF_DUPLEX || s->s.source == SOURCE_CARD_DUPLEX){ set_SSM_BUFF_duplex(out, 1); } @@ -3288,7 +3336,7 @@ ssm_buffer (struct scanner *s) if(0){ set_SSM_BUFF_unk(out,1); } - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, @@ -3301,20 +3349,20 @@ ssm_buffer (struct scanner *s) unsigned char cmd[SET_SCAN_MODE2_len]; size_t cmdLen = SET_SCAN_MODE2_len; - + unsigned char out[SSM2_PAY_len]; size_t outLen = SSM2_PAY_len; - + memset(cmd,0,cmdLen); set_SCSI_opcode(cmd, SET_SCAN_MODE2_code); set_SSM2_page_code(cmd, SM2_pc_buffer); set_SSM2_pay_len(cmd, outLen); - + memset(out,0,outLen); set_SSM2_BUFF_unk(out, !s->buffermode); set_SSM2_BUFF_unk2(out, 0x40); set_SSM2_BUFF_sync(out, !s->buffermode); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, @@ -3338,52 +3386,52 @@ ssm_df (struct scanner *s) SANE_Status ret = SANE_STATUS_GOOD; DBG (10, "ssm_df: start\n"); - + if(!s->has_df){ DBG (10, "ssm_df: unsupported, finishing\n"); return ret; } - + if(s->has_ssm){ unsigned char cmd[SET_SCAN_MODE_len]; size_t cmdLen = SET_SCAN_MODE_len; - + unsigned char out[SSM_PAY_len]; size_t outLen = SSM_PAY_len; - + memset(cmd,0,cmdLen); set_SCSI_opcode(cmd, SET_SCAN_MODE_code); set_SSM_pf(cmd, 1); set_SSM_pay_len(cmd, outLen); - + memset(out,0,outLen); if(s->has_ssm_pay_head_len){ set_SSM_pay_head_len(out, SSM_PAY_HEAD_len); } set_SSM_page_code(out, SM_pc_df); set_SSM_page_len(out, SSM_PAGE_len); - + /* deskew by roller */ if(s->rollerdeskew){ set_SSM_DF_deskew_roll(out, 1); } - + /* staple detection */ if(s->stapledetect){ set_SSM_DF_staple(out, 1); } - + /* thickness */ if(s->df_thickness){ set_SSM_DF_thick(out, 1); } - + /* length */ if(s->df_length){ set_SSM_DF_len(out, 1); } - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, @@ -3397,7 +3445,7 @@ ssm_df (struct scanner *s) unsigned char cmd[SET_SCAN_MODE2_len]; size_t cmdLen = SET_SCAN_MODE2_len; - + unsigned char out[SSM2_PAY_len]; size_t outLen = SSM2_PAY_len; @@ -3407,11 +3455,11 @@ ssm_df (struct scanner *s) set_SCSI_opcode(cmd, SET_SCAN_MODE2_code); set_SSM2_page_code(cmd, SM2_pc_ultra); set_SSM2_pay_len(cmd, outLen); - + memset(out,0,outLen); set_SSM2_ULTRA_top(out, 0); set_SSM2_ULTRA_bot(out, 0); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, @@ -3424,19 +3472,24 @@ ssm_df (struct scanner *s) set_SCSI_opcode(cmd, SET_SCAN_MODE2_code); set_SSM2_page_code(cmd, SM2_pc_df); set_SSM2_pay_len(cmd, outLen); - + memset(out,0,outLen); - + /* thickness */ if(s->df_thickness){ set_SSM2_DF_thick(out, 1); } - + /* length */ if(s->df_length){ set_SSM2_DF_len(out, 1); } - + + /* staple detection */ + if(s->stapledetect){ + set_SSM2_DF_staple(out, 1); + } + ret = do_cmd ( s, 1, 0, cmd, cmdLen, @@ -3455,6 +3508,53 @@ ssm_df (struct scanner *s) return ret; } +static SANE_Status +ssm2_hw_enhancement (struct scanner *s) +{ + SANE_Status ret = SANE_STATUS_GOOD; + + DBG (10, "ssm2_hw_enhancement: start\n"); + + if(s->has_ssm2){ + unsigned char cmd[SET_SCAN_MODE2_len]; + size_t cmdLen = SET_SCAN_MODE2_len; + + unsigned char out[SSM2_PAY_len]; + size_t outLen = SSM2_PAY_len; + + memset(cmd,0,cmdLen); + set_SCSI_opcode(cmd, SET_SCAN_MODE2_code); + set_SSM2_page_code(cmd, SM2_pc_hw_enhancement); + set_SSM2_pay_len(cmd, outLen); + + memset(out,0,outLen); + + if(s->rollerdeskew){ + set_SSM2_roller_deskew(out, 1); + } + + if(s->hwcrop){ + set_SSM2_hw_crop(out, 1); + } + + ret = do_cmd ( + s, 1, 0, + cmd, cmdLen, + out, outLen, + NULL, NULL + ); + + } + + else{ + DBG (10, "ssm2_hw_enhancement: unsupported\n"); + } + + DBG (10, "ssm2_hw_enhancement: finish\n"); + + return ret; +} + static SANE_Status ssm_do (struct scanner *s) { @@ -3466,7 +3566,7 @@ ssm_do (struct scanner *s) DBG (10, "ssm_do: unsupported, finishing\n"); return ret; } - + if(s->s.mode == MODE_COLOR){ DBG (10, "ssm_do: unneeded, finishing\n"); return ret; @@ -3476,24 +3576,24 @@ ssm_do (struct scanner *s) unsigned char cmd[SET_SCAN_MODE_len]; size_t cmdLen = SET_SCAN_MODE_len; - + unsigned char out[SSM_PAY_len]; size_t outLen = SSM_PAY_len; - + memset(cmd,0,cmdLen); set_SCSI_opcode(cmd, SET_SCAN_MODE_code); set_SSM_pf(cmd, 1); set_SSM_pay_len(cmd, outLen); - + memset(out,0,outLen); if(s->has_ssm_pay_head_len){ set_SSM_pay_head_len(out, SSM_PAY_HEAD_len); } set_SSM_page_code(out, SM_pc_dropout); set_SSM_page_len(out, SSM_PAGE_len); - + set_SSM_DO_unk1(out, 0x03); - + switch(s->dropout_color[SIDE_FRONT]){ case COLOR_RED: set_SSM_DO_unk2(out, 0x05); @@ -3520,7 +3620,7 @@ ssm_do (struct scanner *s) set_SSM_DO_f_en(out,SSM_DO_blue); break; } - + switch(s->dropout_color[SIDE_BACK]){ case COLOR_RED: set_SSM_DO_unk2(out, 0x05); @@ -3547,7 +3647,7 @@ ssm_do (struct scanner *s) set_SSM_DO_b_en(out,SSM_DO_blue); break; } - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, @@ -3561,17 +3661,17 @@ ssm_do (struct scanner *s) unsigned char cmd[SET_SCAN_MODE2_len]; size_t cmdLen = SET_SCAN_MODE2_len; - + unsigned char out[SSM2_PAY_len]; size_t outLen = SSM2_PAY_len; - + memset(cmd,0,cmdLen); set_SCSI_opcode(cmd, SET_SCAN_MODE2_code); set_SSM2_page_code(cmd, SM2_pc_dropout); set_SSM2_pay_len(cmd, outLen); - + memset(out,0,outLen); - + switch(s->dropout_color[SIDE_FRONT]){ case COLOR_RED: set_SSM2_DO_do(out,SSM_DO_red); @@ -3599,6 +3699,46 @@ ssm_do (struct scanner *s) out, outLen, NULL, NULL ); + + if(ret == SANE_STATUS_GOOD && + (s->s.source == SOURCE_ADF_DUPLEX || s->s.source == SOURCE_CARD_DUPLEX)){ + + memset(cmd,0,cmdLen); + set_SCSI_opcode(cmd, SET_SCAN_MODE2_code); + set_SSM2_page_code(cmd, SM2_pc_dropout); + set_SSM2_DO_side(cmd, SIDE_BACK); + set_SSM2_pay_len(cmd, outLen); + + memset(out,0,outLen); + + switch(s->dropout_color[SIDE_BACK]){ + case COLOR_RED: + set_SSM2_DO_do(out,SSM_DO_red); + break; + case COLOR_GREEN: + set_SSM2_DO_do(out,SSM_DO_green); + break; + case COLOR_BLUE: + set_SSM2_DO_do(out,SSM_DO_blue); + break; + case COLOR_EN_RED: + set_SSM2_DO_en(out,SSM_DO_red); + break; + case COLOR_EN_GREEN: + set_SSM2_DO_en(out,SSM_DO_green); + break; + case COLOR_EN_BLUE: + set_SSM2_DO_en(out,SSM_DO_blue); + break; + } + + ret = do_cmd ( + s, 1, 0, + cmd, cmdLen, + out, outLen, + NULL, NULL + ); + } } else{ @@ -3622,7 +3762,7 @@ read_sensors(struct scanner *s,SANE_Int option) size_t inLen = R_SENSORS_len; DBG (10, "read_sensors: start %d\n", option); - + if(!s->can_read_sensors){ DBG (10, "read_sensors: unsupported, finishing\n"); return ret; @@ -3638,14 +3778,14 @@ read_sensors(struct scanner *s,SANE_Int option) set_SCSI_opcode(cmd, READ_code); set_R_datatype_code (cmd, SR_datatype_sensors); set_R_xfer_length (cmd, inLen); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, NULL, 0, in, &inLen ); - + if (ret == SANE_STATUS_GOOD || ret == SANE_STATUS_EOF) { /*set flags indicating there is data to read*/ memset(s->sensors_read,1,sizeof(s->sensors_read)); @@ -3656,12 +3796,12 @@ read_sensors(struct scanner *s,SANE_Int option) ret = SANE_STATUS_GOOD; } } - + if(option) s->sensors_read[option-OPT_ADF_LOADED] = 0; DBG (10, "read_sensors: finish\n"); - + return ret; } @@ -3677,7 +3817,7 @@ read_panel(struct scanner *s,SANE_Int option) size_t inLen = R_PANEL_len; DBG (10, "read_panel: start %d\n", option); - + if(!s->can_read_panel){ DBG (10, "read_panel: unsupported, finishing\n"); return ret; @@ -3693,14 +3833,14 @@ read_panel(struct scanner *s,SANE_Int option) set_SCSI_opcode(cmd, READ_code); set_R_datatype_code (cmd, SR_datatype_panel); set_R_xfer_length (cmd, inLen); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, NULL, 0, in, &inLen ); - + if (ret == SANE_STATUS_GOOD || ret == SANE_STATUS_EOF) { /*set flags indicating there is data to read*/ memset(s->panel_read,1,sizeof(s->panel_read)); @@ -3717,12 +3857,12 @@ read_panel(struct scanner *s,SANE_Int option) ret = SANE_STATUS_GOOD; } } - + if(option) s->panel_read[option-OPT_START] = 0; DBG (10, "read_panel: finish %d\n",s->panel_counter); - + return ret; } @@ -3752,23 +3892,111 @@ send_panel(struct scanner *s) memset(out,0,outLen); set_S_PANEL_enable_led(out,s->panel_enable_led); set_S_PANEL_counter(out,s->panel_counter); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, out, outLen, NULL, NULL ); - + if (ret == SANE_STATUS_EOF) { ret = SANE_STATUS_GOOD; } - + DBG (10, "send_panel: finish %d\n", ret); - + return ret; } +/* + * Request the size of the scanned image + */ +/* we should really be updating s->s and s->i instead */ +static SANE_Status +get_pixelsize(struct scanner *s) +{ + SANE_Status ret = SANE_STATUS_GOOD; + + unsigned char cmd[READ_len]; + size_t cmdLen = READ_len; + + unsigned char in[R_PSIZE_len]; + size_t inLen = R_PSIZE_len; + + int i = 0; + const int MAX_TRIES = 5; + + DBG (10, "get_pixelsize: start\n"); + + if(!s->hwcrop){ + DBG (10, "get_pixelsize: unneeded, finishing\n"); + return ret; + } + + memset(cmd,0,cmdLen); + set_SCSI_opcode(cmd, READ_code); + set_R_datatype_code(cmd, SR_datatype_pixelsize); + set_R_xfer_lid(cmd, 0x02); + set_R_xfer_length(cmd, inLen); + + /* May need to retry/block until the scanner is done */ + for(i=0;i 0 && + get_R_PSIZE_length(in) > 0){ + + DBG (15, "get_pixelsize: w:%d h:%d\n", + get_R_PSIZE_width(in) * s->u.dpi_x / 1200, + get_R_PSIZE_length(in) * s->u.dpi_y / 1200); + + /* + * Round up to byte boundary if needed. + * For 1 bpp the resulting size may not fit in a byte boundary. + */ + int remainder = (get_R_PSIZE_width(in) * s->u.dpi_x / 1200) % 8; + + if (s->u.mode < MODE_GRAYSCALE && remainder) + { + int rounded_up = (8 - remainder) + (get_R_PSIZE_width(in) * s->u.dpi_x / 1200); + + s->u.br_x = rounded_up * 1200 / s->u.dpi_x; + } + else{ + s->u.br_x = get_R_PSIZE_width(in); + } + + s->u.tl_x = 0; + s->u.br_y = get_R_PSIZE_length(in); + s->u.tl_y = 0; + + s->u.page_x = s->u.br_x; + s->u.page_y = s->u.br_y; + + update_params(s,0); + clean_params(s); + break; + } + + else{ + DBG (10, "get_pixelsize: error reading, status = %d w:%d h:%d\n", + ret, get_R_PSIZE_width(in), get_R_PSIZE_length(in)); + ret = SANE_STATUS_INVAL; + usleep(1000000); + } + } + DBG (10, "get_pixelsize: finish\n"); + + return ret; +} + /* * @@ Section 4 - SANE scanning functions */ @@ -3783,7 +4011,7 @@ send_panel(struct scanner *s) * completion of that request. Outside of that window, the returned * values are best-effort estimates of what the parameters will be * when sane_start() gets invoked. - * + * * Calling this function before a scan has actually started allows, * for example, to get an estimate of how big the scanned image will * be. The parameters passed to this function are the handle h of the @@ -3795,7 +4023,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) { SANE_Status ret = SANE_STATUS_GOOD; struct scanner *s = (struct scanner *) handle; - + DBG (10, "sane_get_parameters: start\n"); if(!s->started){ @@ -3825,14 +4053,14 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) DBG(15,"sane_get_parameters: area: tlx=%d, brx=%d, tly=%d, bry=%d\n", s->i.tl_x, s->i.br_x, s->i.tl_y, s->i.br_y); - DBG (15, "sane_get_parameters: params: ppl=%d, Bpl=%d, lines=%d\n", + DBG (15, "sane_get_parameters: params: ppl=%d, Bpl=%d, lines=%d\n", params->pixels_per_line, params->bytes_per_line, params->lines); - DBG (15, "sane_get_parameters: params: format=%d, depth=%d, last=%d\n", + DBG (15, "sane_get_parameters: params: format=%d, depth=%d, last=%d\n", params->format, params->depth, params->last_frame); DBG (10, "sane_get_parameters: finish\n"); - + return ret; } @@ -3840,9 +4068,9 @@ SANE_Status update_params(struct scanner *s, int calib) { SANE_Status ret = SANE_STATUS_GOOD; - + DBG (10, "update_params: start\n"); - + s->u.width = (s->u.br_x - s->u.tl_x) * s->u.dpi_x / 1200; s->u.height = (s->u.br_y - s->u.tl_y) * s->u.dpi_y / 1200; @@ -3884,7 +4112,7 @@ update_params(struct scanner *s, int calib) s->u.br_x, s->u.tl_x, s->u.dpi_x, s->u.br_y, s->u.tl_y, s->u.dpi_y); /* some scanners are limited in their valid scan params - * make a second version of the params struct, but + * make a second version of the params struct, but * override the user's values with what the scanner can actually do */ memcpy(&s->s,&s->u,sizeof(struct img_params)); @@ -3971,7 +4199,7 @@ update_params(struct scanner *s, int calib) /* round lines up to even number */ s->s.height += s->s.height % 2; - + DBG (15, "update_params: scan params: w:%d h:%d m:%d f:%d b:%d\n", s->s.width, s->s.height, s->s.mode, s->s.format, s->s.bpp); DBG (15, "update_params: scan params: B:%d vB:%d vw:%d\n", @@ -4011,12 +4239,12 @@ SANE_Status update_i_params(struct scanner *s) { SANE_Status ret = SANE_STATUS_GOOD; - + DBG (10, "update_i_params: start\n"); s->i.width = s->u.width; s->i.Bpl = s->u.Bpl; - + DBG (10, "update_i_params: finish\n"); return ret; } @@ -4105,6 +4333,16 @@ sane_start (SANE_Handle handle) DBG (5, "sane_start: ERROR: cannot send panel\n"); } + /* we should really be updating s->s and s->i instead */ + if(s->hwcrop){ + s->u.br_x = s->max_x; + s->u.tl_x = 0; + s->u.br_y = s->max_y; + s->u.tl_y = 0; + s->u.page_x = s->max_x; + s->u.page_y = s->max_y; + } + /* load our own private copy of scan params */ ret = update_params(s,0); if (ret != SANE_STATUS_GOOD) { @@ -4140,6 +4378,12 @@ sane_start (SANE_Handle handle) goto errors; } + ret = ssm2_hw_enhancement(s); + if (ret != SANE_STATUS_GOOD) { + DBG (5, "sane_start: ERROR: cannot ssm2 hw enhancement\n"); + goto errors; + } + /* clean scan params for new scan */ ret = clean_params(s); if (ret != SANE_STATUS_GOOD) { @@ -4169,7 +4413,7 @@ sane_start (SANE_Handle handle) DBG (5, "sane_start: ERROR: cannot load page\n"); goto errors; } - + /* wait for scanner to finish load */ ret = wait_scanner (s); if (ret != SANE_STATUS_GOOD) { @@ -4185,6 +4429,12 @@ sane_start (SANE_Handle handle) goto errors; } + ret = get_pixelsize(s); + if (ret != SANE_STATUS_GOOD) { + DBG (5, "sane_start: ERROR: cannot get pixel size\n"); + goto errors; + } + s->started = 1; } @@ -4235,7 +4485,7 @@ sane_start (SANE_Handle handle) } } } - + /* small, buffering scanners check for more pages by reading counter */ else{ ret = read_panel (s, OPT_COUNTER); @@ -4251,6 +4501,12 @@ sane_start (SANE_Handle handle) DBG (5, "sane_start: diff counter (%d/%d)\n", s->prev_page,s->panel_counter); } + + ret = get_pixelsize(s); + if (ret != SANE_STATUS_GOOD) { + DBG (5, "sane_start: ERROR: cannot get pixel size\n"); + goto errors; + } } } @@ -4261,9 +4517,9 @@ sane_start (SANE_Handle handle) DBG (15, "started=%d, side=%d, source=%d\n", s->started, s->side, s->u.source); - /* certain options require the entire image to + /* certain options require the entire image to * be collected from the scanner before we can - * tell the user the size of the image. the sane + * tell the user the size of the image. the sane * API has no way to inform the frontend of this, * so we block and buffer. yuck */ if(must_fully_buffer(s)){ @@ -4294,7 +4550,7 @@ sane_start (SANE_Handle handle) } if(s->swskip){ /* Skipping means throwing out this image. - * Pretend the user read the whole thing + * Pretend the user read the whole thing * and call sane_start again. * This assumes we are running in batch mode. */ if(buffer_isblank(s,s->side)){ @@ -4349,7 +4605,7 @@ clean_params (struct scanner *s) s->s.bytes_tot[0]=0; s->s.bytes_tot[1]=0; - /* store the number of front bytes */ + /* store the number of front bytes */ if ( s->u.source != SOURCE_ADF_BACK && s->u.source != SOURCE_CARD_BACK ) s->u.bytes_tot[SIDE_FRONT] = s->u.Bpl * s->u.height; @@ -4359,8 +4615,8 @@ clean_params (struct scanner *s) if ( s->s.source != SOURCE_ADF_BACK && s->s.source != SOURCE_CARD_BACK ) s->s.bytes_tot[SIDE_FRONT] = s->s.Bpl * s->s.height; - /* store the number of back bytes */ - if ( s->u.source == SOURCE_ADF_DUPLEX || s->u.source == SOURCE_ADF_BACK + /* store the number of back bytes */ + if ( s->u.source == SOURCE_ADF_DUPLEX || s->u.source == SOURCE_ADF_BACK || s->u.source == SOURCE_CARD_DUPLEX || s->u.source == SOURCE_CARD_BACK ) s->u.bytes_tot[SIDE_BACK] = s->u.Bpl * s->u.height; @@ -4421,14 +4677,14 @@ set_window (struct scanner *s) { SANE_Status ret = SANE_STATUS_GOOD; - /* The command specifies the number of bytes in the data phase - * the data phase has a header, followed by 1 window desc block + /* The command specifies the number of bytes in the data phase + * the data phase has a header, followed by 1 window desc block * the header specifies the number of bytes in 1 window desc block */ unsigned char cmd[SET_WINDOW_len]; size_t cmdLen = SET_WINDOW_len; - + unsigned char out[SW_header_len + SW_desc_len]; size_t outLen = SW_header_len + SW_desc_len; @@ -4484,9 +4740,9 @@ set_window (struct scanner *s) /*convert our common -127 to +127 range into HW's range *FIXME: this code assumes hardware range of 0-255 */ set_WD_brightness (desc1, s->brightness+128); - + set_WD_threshold (desc1, s->threshold); - + /*convert our common -127 to +127 range into HW's range *FIXME: this code assumes hardware range of 0-255 */ set_WD_contrast (desc1, s->contrast+128); @@ -4593,7 +4849,7 @@ object_position (struct scanner *s, int i_load) /* * Issues SCAN command. - * + * * (This doesn't actually read anything, it just tells the scanner * to start scanning.) */ @@ -4641,7 +4897,7 @@ start_scan (struct scanner *s, int type) /* * Called by SANE to read data. - * + * * From the SANE spec: * This function is used to read image data from the device * represented by handle h. Argument buf is a pointer to a memory @@ -4649,7 +4905,7 @@ start_scan (struct scanner *s, int type) * returned is stored in *len. A backend must set this to zero when * the call fails (i.e., when a status other than SANE_STATUS_GOOD is * returned). - * + * * When the call succeeds, the number of bytes returned can be * anywhere in the range from 0 to maxlen bytes. */ @@ -4698,7 +4954,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len } } } - + /* simplex or non-alternating duplex */ else{ if(!s->s.eof[s->side]){ @@ -4719,7 +4975,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len ret = read_from_buffer(s,buf,max_len,len,s->side); if(ret) goto errors; - + ret = check_for_cancel(s); s->reading = 0; @@ -4813,13 +5069,13 @@ read_from_scanner(struct scanner *s, int side, int exact) size_t i; for(i=0;ijpeg_stage == JPEG_STAGE_NONE && in[i] == 0xff){ s->jpeg_ff_offset=0; continue; } - + s->jpeg_ff_offset++; /* last byte was an ff, this byte is SOF */ @@ -4827,7 +5083,7 @@ read_from_scanner(struct scanner *s, int side, int exact) s->jpeg_stage = JPEG_STAGE_SOF; continue; } - + if(s->jpeg_stage == JPEG_STAGE_SOF){ /* lines in start of frame, overwrite it */ @@ -4839,7 +5095,7 @@ read_from_scanner(struct scanner *s, int side, int exact) in[i] = s->s.height & 0xff; continue; } - + /* width in start of frame, overwrite it */ if(s->jpeg_ff_offset == 7){ in[i] = (s->s.width >> 8) & 0xff; @@ -4883,7 +5139,7 @@ read_from_scanner(struct scanner *s, int side, int exact) s->s.bytes_tot[side] = s->s.bytes_sent[side]; s->i.bytes_tot[side] = s->i.bytes_sent[side]; s->u.bytes_tot[side] = s->i.bytes_sent[side]; - } + } /* this is non-jpeg data, fill remainder, change rx'd size */ else{ @@ -5025,7 +5281,7 @@ read_from_scanner_duplex(struct scanner *s,int exact) return ret; } -/* these functions copy image data from input buffer to scanner struct +/* these functions copy image data from input buffer to scanner struct * descrambling it, and putting it in the right side buffer */ /* NOTE: they assume buffer is scanline aligned */ static SANE_Status @@ -5051,7 +5307,7 @@ copy_simplex(struct scanner *s, unsigned char * buf, int len, int side) s->s.bytes_sent[side] += len; return ret; } - + DBG (15, "copy_simplex: per-line copy\n"); line = malloc(bwidth); @@ -5061,7 +5317,7 @@ copy_simplex(struct scanner *s, unsigned char * buf, int len, int side) for(i=0; is.bytes_sent[side] / bwidth; - + /*increment number of bytes rx'd from scanner*/ s->s.bytes_sent[side] += bwidth; @@ -5075,9 +5331,9 @@ copy_simplex(struct scanner *s, unsigned char * buf, int len, int side) line_next = 0; if(s->s.format == SANE_FRAME_GRAY){ - + switch (s->gray_interlace[side]) { - + /* one line has the following format: ggg...GGG * where the 'capital' letters are the beginning of the line */ case GRAY_INTERLACE_gG: @@ -5086,10 +5342,10 @@ copy_simplex(struct scanner *s, unsigned char * buf, int len, int side) line[line_next++] = buf[i+j]; } break; - + case GRAY_INTERLACE_2510: DBG (17, "copy_simplex: gray, 2510\n"); - + /* first read head (third byte of every three) */ for(j=bwidth-1;j>=0;j-=3){ line[line_next++] = buf[i+j]; @@ -5109,11 +5365,11 @@ copy_simplex(struct scanner *s, unsigned char * buf, int len, int side) break; } } - + else if (s->s.format == SANE_FRAME_RGB){ - + switch (inter) { - + /* scanner returns color data as bgrbgr... */ case COLOR_INTERLACE_BGR: DBG (17, "copy_simplex: color, BGR\n"); @@ -5123,7 +5379,7 @@ copy_simplex(struct scanner *s, unsigned char * buf, int len, int side) line[line_next++] = buf[i+j*3]; } break; - + /* scanner returns color data as gbrgbr... */ case COLOR_INTERLACE_GBR: DBG (17, "copy_simplex: color, GBR\n"); @@ -5133,7 +5389,7 @@ copy_simplex(struct scanner *s, unsigned char * buf, int len, int side) line[line_next++] = buf[i+j*3+1]; } break; - + /* scanner returns color data as brgbrg... */ case COLOR_INTERLACE_BRG: DBG (17, "copy_simplex: color, BRG\n"); @@ -5143,7 +5399,7 @@ copy_simplex(struct scanner *s, unsigned char * buf, int len, int side) line[line_next++] = buf[i+j*3]; } break; - + /* one line has the following format: RRR...rrrGGG...gggBBB...bbb */ case COLOR_INTERLACE_RRGGBB: DBG (17, "copy_simplex: color, RRGGBB\n"); @@ -5153,7 +5409,7 @@ copy_simplex(struct scanner *s, unsigned char * buf, int len, int side) line[line_next++] = buf[i+2*pwidth+j]; } break; - + /* one line has the following format: rrr...RRRggg...GGGbbb...BBB * where the 'capital' letters are the beginning of the line */ case COLOR_INTERLACE_rRgGbB: @@ -5164,10 +5420,10 @@ copy_simplex(struct scanner *s, unsigned char * buf, int len, int side) line[line_next++] = buf[i+2*pwidth+j]; } break; - + case COLOR_INTERLACE_2510: DBG (17, "copy_simplex: color, 2510\n"); - + /* first read head (third byte of every three) */ for(j=t-1;j>=0;j-=3){ line[line_next++] = buf[i+j]; @@ -5193,7 +5449,7 @@ copy_simplex(struct scanner *s, unsigned char * buf, int len, int side) break; } } - + /* nothing sent above? just copy one line of the block */ /* used by uninterlaced gray/color */ if(!line_next){ @@ -5201,14 +5457,14 @@ copy_simplex(struct scanner *s, unsigned char * buf, int len, int side) memcpy(line+line_next,buf+i,bwidth); line_next = bwidth; } - + /* invert image if scanner needs it for this mode */ if(s->reverse_by_mode[s->s.mode]){ for(j=0; jf_offset[side]){ DBG (17, "copy_simplex: apply offset\n"); @@ -5227,7 +5483,7 @@ copy_simplex(struct scanner *s, unsigned char * buf, int len, int side) line[j] = curr; } } - + /* apply brightness and contrast if hardware cannot do it */ if(s->sw_lut && (s->s.mode == MODE_COLOR || s->s.mode == MODE_GRAYSCALE)){ DBG (17, "copy_simplex: apply brightness/contrast\n"); @@ -5283,7 +5539,7 @@ copy_duplex(struct scanner *s, unsigned char * buf, int len) DBG (10, "copy_duplex: 2510\n"); for(i=0; ii.width != s->s.width){ offset = ((s->valid_x-s->i.page_x) / 2 + s->i.tl_x) * s->i.dpi_x/1200; @@ -5481,12 +5737,12 @@ copy_line(struct scanner *s, unsigned char * buff, int side) /* change mode, store line in buffer */ switch (s->i.mode) { - + case MODE_COLOR: memcpy(s->buffers[side]+s->i.bytes_sent[side], line+(offset*3), ibwidth); s->i.bytes_sent[side] += ibwidth; break; - + case MODE_GRAYSCALE: for(i=0;i remain) bytes = remain; - + *len = bytes; - + /*FIXME this needs to timeout eventually */ if(!bytes){ DBG(5,"read_from_buffer: nothing to do\n"); return SANE_STATUS_GOOD; } - + DBG(15, "read_from_buffer: si:%d to:%d tx:%d bu:%d pa:%d\n", side, s->i.bytes_tot[side], s->u.bytes_sent[side], max_len, bytes); @@ -5701,7 +5957,7 @@ calibrate_AFE (struct scanner *s) DBG (5, "calibrate_AFE: ERROR: cannot set window\n"); goto cleanup; } - + /* first pass (black offset), lamp off, no offset/gain/exposure */ DBG (15, "calibrate_AFE: offset\n"); @@ -5925,7 +6181,7 @@ calibrate_fine_buffer (struct scanner *s) DBG (5, "calibrate_fine_buffer: ERROR: cannot load offset buffers\n"); goto cleanup; } - + DBG (5, "calibrate_fine_buffer: %d %x\n", s->s.dpi_x/10, s->s.dpi_x/10); memset(cmd,0,cmdLen); @@ -5952,13 +6208,13 @@ calibrate_fine_buffer (struct scanner *s) /*color mode, expand offset across all three channels? */ if(s->s.format == SANE_FRAME_RGB){ for(j=0; js.valid_width; j++){ - - /*red*/ + + /*red*/ s->f_offset[i][j*3] = in[j*2+i]; if(s->f_offset[i][j*3] < 1) s->f_offset[i][j*3] = 1; - /*green and blue, same as red*/ + /*green and blue, same as red*/ s->f_offset[i][j*3+1] = s->f_offset[i][j*3+2] = s->f_offset[i][j*3]; } } @@ -5995,10 +6251,10 @@ calibrate_fine_buffer (struct scanner *s) int codes[] = {R_FINE_uid_red,R_FINE_uid_green,R_FINE_uid_blue}; for(k=0;k<3;k++){ - + set_R_xfer_uid (cmd, codes[k]); inLen = reqLen; - + hexdump(15, "cmd:", cmd, cmdLen); ret = do_cmd ( @@ -6009,12 +6265,12 @@ calibrate_fine_buffer (struct scanner *s) ); if (ret != SANE_STATUS_GOOD) goto cleanup; - + for(i=0;i<2;i++){ for(j=0; js.valid_width; j++){ - + s->f_gain[i][j*3+k] = in[j*2+i]*3/4; - + if(s->f_gain[i][j*3+k] < 1) s->f_gain[i][j*3+k] = 1; } @@ -6027,7 +6283,7 @@ calibrate_fine_buffer (struct scanner *s) set_R_xfer_uid (cmd, R_FINE_uid_gray); inLen = reqLen; - + hexdump(15, "cmd:", cmd, cmdLen); ret = do_cmd ( @@ -6038,12 +6294,12 @@ calibrate_fine_buffer (struct scanner *s) ); if (ret != SANE_STATUS_GOOD) goto cleanup; - + for(i=0;i<2;i++){ for(j=0; js.valid_width; j++){ - + s->f_gain[i][j] = in[j*2+i]*3/4; - + if(s->f_gain[i][j] < 1) s->f_gain[i][j] = 1; } @@ -6127,7 +6383,7 @@ calibrate_fine (struct scanner *s) DBG (5, "calibrate_fine: ERROR: cannot load buffers\n"); goto cleanup; } - + /*blast the existing fine cal data so reading code wont apply it*/ ret = offset_buffers(s,0); ret = gain_buffers(s,0); @@ -6138,14 +6394,14 @@ calibrate_fine (struct scanner *s) DBG (5, "calibrate_fine: ERROR: cannot ssm buffer\n"); goto cleanup; } - + /* set window command */ ret = set_window(s); if (ret != SANE_STATUS_GOOD) { DBG (5, "calibrate_fine: ERROR: cannot set window\n"); goto cleanup; } - + /*handle fifth pass (fine offset), lamp off*/ DBG (15, "calibrate_fine: offset\n"); ret = calibration_scan(s,0xff); @@ -6159,7 +6415,7 @@ calibrate_fine (struct scanner *s) DBG (5, "calibrate_fine: ERROR: cannot load offset buffers\n"); goto cleanup; } - + for(i=0;i<2;i++){ for(j=0; js.valid_Bpl; j++){ min = 0; @@ -6184,7 +6440,7 @@ calibrate_fine (struct scanner *s) DBG (5, "calibrate_fine: ERROR: cannot load gain buffers\n"); goto cleanup; } - + for(i=0;i<2;i++){ for(j=0; js.valid_Bpl; j++){ max = 0; @@ -6231,14 +6487,14 @@ calibration_scan (struct scanner *s, int scan) DBG (5, "calibration_scan: ERROR: cannot clean_params\n"); return ret; } - + /* start scanning */ ret = start_scan (s,scan); if (ret != SANE_STATUS_GOOD) { DBG (5, "calibration_scan: ERROR: cannot start_scan\n"); return ret; } - + while(!s->s.eof[SIDE_FRONT] && !s->s.eof[SIDE_BACK]){ ret = read_from_scanner_duplex(s,1); } @@ -6260,7 +6516,7 @@ write_AFE(struct scanner *s) size_t cmdLen = COR_CAL_len; /*use the longest payload for buffer*/ - unsigned char pay[CC3_pay_len]; + unsigned char pay[CC3_pay_len]; size_t payLen = CC3_pay_len; DBG (10, "write_AFE: start\n"); @@ -6272,7 +6528,7 @@ write_AFE(struct scanner *s) set_SCSI_opcode(cmd, COR_CAL_code); set_CC_version(cmd,CC3_pay_ver); set_CC_xferlen(cmd,payLen); - + memset(pay,0,payLen); set_CC3_gain_f_r(pay,s->c_gain[SIDE_FRONT]); @@ -6282,7 +6538,7 @@ write_AFE(struct scanner *s) set_CC3_off_f_r(pay,s->c_offset[SIDE_FRONT]); set_CC3_off_f_g(pay,s->c_offset[SIDE_FRONT]); set_CC3_off_f_b(pay,s->c_offset[SIDE_FRONT]); - + set_CC3_exp_f_r(pay,s->c_exposure[SIDE_FRONT][CHAN_RED]); set_CC3_exp_f_g(pay,s->c_exposure[SIDE_FRONT][CHAN_GREEN]); set_CC3_exp_f_b(pay,s->c_exposure[SIDE_FRONT][CHAN_BLUE]); @@ -6307,7 +6563,7 @@ write_AFE(struct scanner *s) set_SCSI_opcode(cmd, COR_CAL_code); set_CC_version(cmd,CC_pay_ver); set_CC_xferlen(cmd,payLen); - + memset(pay,0,payLen); set_CC_f_gain(pay,s->c_gain[SIDE_FRONT]); set_CC_unk1(pay,1); @@ -6319,7 +6575,7 @@ write_AFE(struct scanner *s) set_CC_exp_f_r2(pay,s->c_exposure[SIDE_FRONT][CHAN_RED]); set_CC_exp_f_g2(pay,s->c_exposure[SIDE_FRONT][CHAN_GREEN]); set_CC_exp_f_b2(pay,s->c_exposure[SIDE_FRONT][CHAN_BLUE]); - + set_CC_b_gain(pay,s->c_gain[SIDE_BACK]); set_CC_b_offset(pay,s->c_offset[SIDE_BACK]); set_CC_exp_b_r1(pay,s->c_exposure[SIDE_BACK][CHAN_RED]); @@ -6414,26 +6670,26 @@ gain_buffers (struct scanner *s, int setup) * @@ Section 6 - SANE cleanup functions */ /* - * Cancels a scan. + * Cancels a scan. * * It has been said on the mailing list that sane_cancel is a bit of a * misnomer because it is routinely called to signal the end of a * batch - quoting David Mosberger-Tang: - * + * * > In other words, the idea is to have sane_start() be called, and * > collect as many images as the frontend wants (which could in turn * > consist of multiple frames each as indicated by frame-type) and - * > when the frontend is done, it should call sane_cancel(). + * > when the frontend is done, it should call sane_cancel(). * > Sometimes it's better to think of sane_cancel() as "sane_stop()" * > but that name would have had some misleading connotations as * > well, that's why we stuck with "cancel". - * + * * The current consensus regarding duplex and ADF scans seems to be * the following call sequence: sane_start; sane_read (repeat until * EOF); sane_start; sane_read... and then call sane_cancel if the * batch is at an end. I.e. do not call sane_cancel during the run but * as soon as you get a SANE_STATUS_NO_DOCS. - * + * * From the SANE spec: * This function is used to immediately or as quickly as possible * cancel the currently pending operation of the device represented by @@ -6478,13 +6734,13 @@ check_for_cancel(struct scanner *s) if(s->started && s->cancelled){ unsigned char cmd[CANCEL_len]; size_t cmdLen = CANCEL_len; - + DBG (15, "check_for_cancel: cancelling\n"); - + /* cancel scan */ memset(cmd,0,cmdLen); set_SCSI_opcode(cmd, CANCEL_code); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, @@ -6494,7 +6750,7 @@ check_for_cancel(struct scanner *s) if(ret){ DBG (5, "check_for_cancel: ignoring bad cancel: %d\n",ret); } - + ret = object_position(s,SANE_FALSE); if(ret){ DBG (5, "check_for_cancel: ignoring bad eject: %d\n",ret); @@ -6516,7 +6772,7 @@ check_for_cancel(struct scanner *s) /* * Ends use of the scanner. - * + * * From the SANE spec: * This function terminates the association between the device handle * passed in argument h and the device it represents. If the device is @@ -6560,7 +6816,7 @@ disconnect_fd (struct scanner *s) /* * Terminates the backend. - * + * * From the SANE spec: * This function must be called to terminate use of a backend. The * function will first close all device handles that still might be @@ -6983,19 +7239,19 @@ do_usb_cmd(struct scanner *s, int runRS, int shortTime, DBG(5,"cmd: no mem\n"); return SANE_STATUS_NO_MEM; } - + /* build a USB packet around the SCSI command */ cmdBuffer[3] = cmdLength-4; cmdBuffer[5] = 1; cmdBuffer[6] = 0x90; memcpy(cmdBuffer+cmdOffset,cmdBuff,cmdLen); - + /* write the command out */ DBG(25, "cmd: writing %d bytes, timeout %d\n", (int)cmdLength, cmdTimeout); hexdump(30, "cmd: >>", cmdBuffer, cmdLength); ret = sanei_usb_write_bulk(s->fd, cmdBuffer, &cmdActual); DBG(25, "cmd: wrote %d bytes, retVal %d\n", (int)cmdActual, ret); - + if(cmdLength != cmdActual){ DBG(5,"cmd: wrong size %d/%d\n", (int)cmdLength, (int)cmdActual); free(cmdBuffer); @@ -7043,19 +7299,19 @@ do_usb_cmd(struct scanner *s, int runRS, int shortTime, DBG(5,"out: no mem\n"); return SANE_STATUS_NO_MEM; } - + /* build a USB packet around the SCSI command */ outBuffer[3] = outLength-4; outBuffer[5] = 2; outBuffer[6] = 0xb0; memcpy(outBuffer+outOffset,outBuff,outLen); - + /* write the command out */ DBG(25, "out: writing %d bytes, timeout %d\n", (int)outLength, outTimeout); hexdump(30, "out: >>", outBuffer, outLength); ret = sanei_usb_write_bulk(s->fd, outBuffer, &outActual); DBG(25, "out: wrote %d bytes, retVal %d\n", (int)outActual, ret); - + if(outLength != outActual){ DBG(5,"out: wrong size %d/%d\n", (int)outLength, (int)outActual); free(outBuffer); @@ -7102,7 +7358,7 @@ do_usb_cmd(struct scanner *s, int runRS, int shortTime, DBG(5,"in: no mem\n"); return SANE_STATUS_NO_MEM; } - + DBG(25, "in: reading %d bytes, timeout %d\n", (int)inActual, inTimeout); ret = sanei_usb_read_bulk(s->fd, inBuffer, &inActual); DBG(25, "in: read %d bytes, retval %d\n", (int)inActual, ret); @@ -7161,11 +7417,11 @@ do_usb_cmd(struct scanner *s, int runRS, int shortTime, ret = SANE_STATUS_EOF; DBG(5,"in: short read, %d/%d\n", (int)inLength,(int)inActual); } - + /* ignore the USB packet around the SCSI command */ *inLen = inActual - inOffset; memcpy(inBuff,inBuffer+inOffset,*inLen); - + free(inBuffer); } @@ -7214,12 +7470,12 @@ do_usb_status(struct scanner *s, int runRS, int shortTime, size_t * extraLength) DBG(5,"stat: no mem\n"); return SANE_STATUS_NO_MEM; } - + DBG(25, "stat: reading %d bytes, timeout %d\n", (int)statLength, statTimeout); ret = sanei_usb_read_bulk(s->fd, statBuffer, &statActual); DBG(25, "stat: read %d bytes, retval %d\n", (int)statActual, ret); hexdump(30, "stat: <<", statBuffer, statActual); - + /*weird status*/ if(ret != SANE_STATUS_GOOD){ DBG(5,"stat: clearing error '%s'\n",sane_strstatus(ret)); @@ -7232,7 +7488,7 @@ do_usb_status(struct scanner *s, int runRS, int shortTime, size_t * extraLength) } /*inspect the status byte of the response*/ else if(statBuffer[statOffset]){ - DBG(5,"stat: status %d\n",statBuffer[statLength-1-4]); + DBG(5,"stat: status %d\n",statBuffer[statOffset]); ret = do_usb_clear(s,0,runRS); } @@ -7286,7 +7542,7 @@ do_usb_clear(struct scanner *s, int clear, int runRS) rs_in, &rs_inLen ); DBG(25,"rs sub call <<\n"); - + if(ret2 == SANE_STATUS_EOF){ DBG(5,"rs: got EOF, returning IO_ERROR\n"); return SANE_STATUS_IO_ERROR; @@ -7309,7 +7565,7 @@ do_usb_clear(struct scanner *s, int clear, int runRS) } static SANE_Status -wait_scanner(struct scanner *s) +wait_scanner(struct scanner *s) { SANE_Status ret = SANE_STATUS_GOOD; @@ -7360,11 +7616,11 @@ wait_scanner(struct scanner *s) /* Some scanners have per-resolution * color interlacing values, but most - * don't. This helper can tell the + * don't. This helper can tell the * difference. */ static int -get_color_inter(struct scanner *s, int side, int res) +get_color_inter(struct scanner *s, int side, int res) { int i; for(i=0;iu.page_x; @@ -7408,7 +7664,7 @@ get_page_width(struct scanner *s) * due to using FB or overscan. */ static int -get_page_height(struct scanner *s) +get_page_height(struct scanner *s) { int height = s->u.page_y; @@ -7600,7 +7856,7 @@ buffer_crop(struct scanner *s, int side) /* if we will later binarize this image, make sure the width * is a multiple of 8 pixels, by adjusting the right side */ - if ( must_downsample(s) && s->u.mode < MODE_GRAYSCALE ){ + if ( must_downsample(s) && s->u.mode < MODE_GRAYSCALE ){ s->crop_vals[3] -= (s->crop_vals[3]-s->crop_vals[2]) % 8; } @@ -7618,13 +7874,13 @@ buffer_crop(struct scanner *s, int side) s->i.width = s->s_params.pixels_per_line; s->i.height = s->s_params.lines; s->i.Bpl = s->s_params.bytes_per_line; - + /* update image size counter to new, smaller size */ s->i.bytes_tot[side] = s->s_params.lines * s->s_params.bytes_per_line; s->i.bytes_sent[side] = s->i.bytes_tot[side]; s->u.bytes_sent[side] = 0; - - cleanup: + + cleanup: DBG (10, "buffer_crop: finish\n"); return ret; } @@ -7679,7 +7935,7 @@ buffer_isblank(struct scanner *s, int side) return status; } -/* certain options require the entire image to +/* certain options require the entire image to * be collected from the scanner before we can * tell the user the size of the image. */ static int @@ -7696,7 +7952,7 @@ must_fully_buffer(struct scanner *s) return 0; } -/* certain scanners require the mode of the +/* certain scanners require the mode of the * image to be changed in software. */ static int must_downsample(struct scanner *s) @@ -7714,7 +7970,7 @@ must_downsample(struct scanner *s) used by scanners to implement brightness/contrast/gamma or by backends to speed binarization/thresholding - offset and slope inputs are -127 to +127 + offset and slope inputs are -127 to +127 slope rotates line around central input/output val, 0 makes horizontal line @@ -7730,9 +7986,9 @@ must_downsample(struct scanner *s) offset moves line vertically, and clamps to output range 0 keeps the line crossing the center of the table - pos zero neg + pos zero neg . xxxxxxxx . xx . - . x . x . + . x . x . out x . x . x . . x . x ............ xx.......... xxxxxxxx.... @@ -7761,7 +8017,7 @@ load_lut (unsigned char * lut, * first [-127,127] to [-.999,.999] * then to [-PI/4,PI/4] then [0,PI/2] * then take the tangent (T.O.A) - * then multiply by the normal linear slope + * then multiply by the normal linear slope * because the table may not be square, i.e. 1024x256*/ rise = tan((double)slope/128 * M_PI_4 + M_PI_4) * max_out_val / max_in_val; @@ -7793,4 +8049,3 @@ load_lut (unsigned char * lut, DBG (10, "load_lut: finish\n"); return ret; } - diff --git a/backend/canon_dr.conf.in b/backend/canon_dr.conf.in index 29b6db1..2f9d4e4 100644 --- a/backend/canon_dr.conf.in +++ b/backend/canon_dr.conf.in @@ -1,6 +1,6 @@ ####################################################################### # NOTE: 'option' lines only apply to the devices found by -# the NEXT 'usb' or 'scsi' line. You may repeat the option line if +# the NEXT 'usb' or 'scsi' line. You may repeat the option line if # required for multiple scanners of different models/connections. ####################################################################### diff --git a/backend/canon_dr.h b/backend/canon_dr.h index d96fbba..4ffb360 100644 --- a/backend/canon_dr.h +++ b/backend/canon_dr.h @@ -1,12 +1,12 @@ #ifndef CANON_DR_H #define CANON_DR_H -/* +/* * Part of SANE - Scanner Access Now Easy. * Please see opening comments in canon_dr.c */ -/* ------------------------------------------------------------------------- +/* ------------------------------------------------------------------------- * This option list has to contain all options for all scanners supported by * this driver. If a certain scanner cannot handle a certain option, there's * still the possibility to say so, later. @@ -49,6 +49,7 @@ enum scanner_Option OPT_DROPOUT_COLOR_B, OPT_BUFFERMODE, OPT_SIDE, + OPT_HW_CROP, /*sensor group*/ OPT_SENSOR_GROUP, @@ -89,7 +90,7 @@ struct img_params int Bpl; /* in bytes */ int valid_width; /*some machines have black padding*/ - int valid_Bpl; + int valid_Bpl; /* done yet? */ int eof[2]; @@ -183,9 +184,10 @@ struct scanner int has_df; int has_df_ultra; int has_btc; - int has_ssm; /* older scanners use this set scan mode command */ + int has_ssm; /* older scanners use this set scan mode command */ int has_ssm2; /* newer scanners user this similar command */ int has_ssm_pay_head_len; /* newer scanners put the length twice in ssm */ + int has_hwcrop; int can_read_sensors; int can_read_panel; int can_write_panel; @@ -286,6 +288,7 @@ struct scanner int swcrop; int swskip; int stapledetect; + int hwcrop; /* --------------------------------------------------------------------- */ /* values which are derived from setting the options above */ @@ -454,8 +457,8 @@ enum { #define DUPLEX_INTERLACE_2510 3 #define DUPLEX_INTERLACE_fFBb 4 -#define JPEG_INTERLACE_ALT 0 -#define JPEG_INTERLACE_NONE 1 +#define JPEG_INTERLACE_ALT 0 +#define JPEG_INTERLACE_NONE 1 #define CROP_RELATIVE 0 #define CROP_ABSOLUTE 1 diff --git a/backend/canon_pp-dev.c b/backend/canon_pp-dev.c index a357cf0..df7c4aa 100644 --- a/backend/canon_pp-dev.c +++ b/backend/canon_pp-dev.c @@ -40,12 +40,12 @@ ----- - This file is part of the canon_pp backend, supporting Canon CanoScan - Parallel scanners and also distributed as part of the stand-alone driver. + This file is part of the canon_pp backend, supporting Canon CanoScan + Parallel scanners and also distributed as part of the stand-alone driver. canon_pp-dev.c: $Revision$ - Misc constants for Canon CanoScan Parallel scanners and high-level scan + Misc constants for Canon CanoScan Parallel scanners and high-level scan functions. Simon Krix @@ -105,7 +105,7 @@ struct scanner_hardware_desc { unsigned int type; }; -static const struct scanner_hardware_desc +static const struct scanner_hardware_desc /* The known scanner types */ hw_fb320p = { "FB320P", 2, 2, 3508, 2552, 0 }, hw_fb330p = { "FB330P", 2, 2, 3508, 0, 1 }, @@ -124,7 +124,7 @@ struct scanner_id { char *id; const struct scanner_hardware_desc *hw; }; -static const struct scanner_id scanner_id_table[] = { +static const struct scanner_id scanner_id_table[] = { { "CANON IX-03055C", &hw_fb320p }, { "CANON IX-06025C", &hw_fb620p }, { "CANON IX-03075E", &hw_fb330p }, @@ -139,15 +139,15 @@ static const int fileversion = 3; /* Internal functions */ static unsigned long column_sum(image_segment *image, int x); -static int adjust_output(image_segment *image, scan_parameters *scanp, +static int adjust_output(image_segment *image, scan_parameters *scanp, scanner_parameters *scannerp); static int check8(unsigned char *p, int s); /* Converts from weird scanner format -> sequential data */ -static void convdata(unsigned char *srcbuffer, unsigned char *dstbuffer, +static void convdata(unsigned char *srcbuffer, unsigned char *dstbuffer, int width, int mode); /* Sets up the scan command. This could use a better name (and a rewrite). */ -static int scanner_setup_params(unsigned char *buf, scanner_parameters *sp, +static int scanner_setup_params(unsigned char *buf, scanner_parameters *sp, scan_parameters *scanp); /* file reading and writing helpers */ @@ -155,7 +155,7 @@ static int safe_write(int fd, const char *p, unsigned long len); static int safe_read(int fd, char *p, unsigned long len); /* Command sending loop (waiting for ready status) */ -static int send_command(struct parport *port, unsigned char *buf, int bufsize, +static int send_command(struct parport *port, unsigned char *buf, int bufsize, int delay, int timeout); /* Commands ================================================ */ @@ -219,8 +219,8 @@ static unsigned char command_14[32] = 0, 0, 0, 0, 0x12, 0xd1, 0x14, 0x82, 0, 0, 0, 0, - 0x0f, 0xff, - 0x0f, 0xff, + 0x0f, 0xff, + 0x0f, 0xff, 0x0f, 0xff, 0, 0 }; #endif @@ -229,15 +229,15 @@ static unsigned char command_14[32] = /* * safe_write(): a small wrapper which ensures all the data is written in calls - * to write(), since the POSIX call doesn't ensure it. + * to write(), since the POSIX call doesn't ensure it. */ static int safe_write(int fd, const char *p, unsigned long len) { - int diff; + int diff; unsigned long total = 0; do { diff = write(fd, p+total, len-total); - if (diff < 0) + if (diff < 0) { if (errno == EINTR) continue; return -1; @@ -249,7 +249,7 @@ static int safe_write(int fd, const char *p, unsigned long len) { } -/* same dealie for read, except in the case of read the return of 0 bytes with +/* same dealie for read, except in the case of read the return of 0 bytes with * no INTR error indicates EOF */ static int safe_read(int fd, char *p, unsigned long len) { int diff; @@ -257,7 +257,7 @@ static int safe_read(int fd, char *p, unsigned long len) { do { diff = read(fd, p+total, len-total); - if (diff <= 0) + if (diff <= 0) { if (errno == EINTR) continue; if (diff == 0) return -2; @@ -282,7 +282,7 @@ int sanei_canon_pp_init_scan(scanner_parameters *sp, scan_parameters *scanp) /* Buffer for buffer info block */ unsigned char buffer_info_block[6]; - /* The image size the scanner says we asked for + /* The image size the scanner says we asked for (based on the scanner's replies) */ int true_scanline_size, true_scanline_count; @@ -301,7 +301,7 @@ int sanei_canon_pp_init_scan(scanner_parameters *sp, scan_parameters *scanp) if (send_command(sp->port, command_b, 56, 50000, 1000000)) return -1; - + /* Ask the scanner about the buffer */ if (send_command(sp->port, cmd_buf_status, 10, 50000, 1000000)) return -1; @@ -309,7 +309,7 @@ int sanei_canon_pp_init_scan(scanner_parameters *sp, scan_parameters *scanp) /* Read buffer information block */ sanei_canon_pp_read(sp->port, 6, buffer_info_block); - if (check8(buffer_info_block, 6)) + if (check8(buffer_info_block, 6)) DBG(1, "init_scan: ** Warning: Checksum error reading buffer " "info block.\n"); @@ -321,7 +321,7 @@ int sanei_canon_pp_init_scan(scanner_parameters *sp, scan_parameters *scanp) expected_scanline_size = scanp->width * 1.25; break; case 1: /* true-colour; 30 bits per pixel */ expected_scanline_size = scanp->width * 3.75; break; - default: + default: DBG(1, "init_scan: Illegal mode %i requested in " "init_scan().\n", scanp->mode); DBG(1, "This is a bug. Please report it.\n"); @@ -329,29 +329,29 @@ int sanei_canon_pp_init_scan(scanner_parameters *sp, scan_parameters *scanp) } /* The scanner's idea of the length of each scanline in bytes */ - true_scanline_size = (buffer_info_block[0]<<8) | buffer_info_block[1]; + true_scanline_size = (buffer_info_block[0]<<8) | buffer_info_block[1]; /* The scanner's idea of the number of scanlines in total */ - true_scanline_count = (buffer_info_block[2]<<8) | buffer_info_block[3]; + true_scanline_count = (buffer_info_block[2]<<8) | buffer_info_block[3]; - if ((expected_scanline_size != true_scanline_size) + if ((expected_scanline_size != true_scanline_size) || (expected_scanline_count != true_scanline_count)) { DBG(10, "init_scan: Warning: Scanner is producing an image " "of unexpected size:\n"); - DBG(10, "expected: %i bytes wide, %i scanlines tall.\n", - expected_scanline_size, + DBG(10, "expected: %i bytes wide, %i scanlines tall.\n", + expected_scanline_size, expected_scanline_count); - DBG(10, "true: %i bytes wide, %i scanlines tall.\n", + DBG(10, "true: %i bytes wide, %i scanlines tall.\n", true_scanline_size, true_scanline_count); if (scanp->mode == 0) scanp->width = true_scanline_size / 1.25; else - scanp->width = true_scanline_size / 3.75; + scanp->width = true_scanline_size / 3.75; scanp->height = true_scanline_count; } - return 0; + return 0; } @@ -373,7 +373,7 @@ int sanei_canon_pp_initialise(scanner_parameters *sp, int mode) DBG(50, "initialise: >> scanner_init\n"); if (sanei_canon_pp_scanner_init(sp->port)) { - /* If we're using an unsupported ieee1284 mode here, this is + /* If we're using an unsupported ieee1284 mode here, this is * where it will fail, so fall back to nibble. */ sanei_canon_pp_set_ieee1284_mode(M1284_NIBBLE); if (sanei_canon_pp_scanner_init(sp->port)) @@ -416,12 +416,12 @@ int sanei_canon_pp_initialise(scanner_parameters *sp, int mode) { hw = cur_id->hw; } - else if (sp->scanheadwidth == 5104) + else if (sp->scanheadwidth == 5104) { /* Guess 600dpi scanner */ hw = &hw_alien600; } - else if (sp->scanheadwidth == 2552) + else if (sp->scanheadwidth == 2552) { /* Guess 300dpi scanner */ hw = &hw_alien300; @@ -433,24 +433,24 @@ int sanei_canon_pp_initialise(scanner_parameters *sp, int mode) } strcpy(sp->name, hw->name); - sp->natural_xresolution = hw->natural_xresolution; - sp->natural_yresolution = hw->natural_yresolution; + sp->natural_xresolution = hw->natural_xresolution; + sp->natural_yresolution = hw->natural_yresolution; sp->scanbedlength = hw->scanbedlength; if (hw->scanheadwidth) sp->scanheadwidth = hw->scanheadwidth; sp->type = hw->type; - return 0; + return 0; } /* Shut scanner down */ int sanei_canon_pp_close_scanner(scanner_parameters *sp) { - /* Put scanner in transparent mode */ + /* Put scanner in transparent mode */ sanei_canon_pp_sleep_scanner(sp->port); /* Free memory (with purchase of memory of equal or greater value) */ - if (sp->blackweight != NULL) + if (sp->blackweight != NULL) { free(sp->blackweight); sp->blackweight = NULL; @@ -471,7 +471,7 @@ int sanei_canon_pp_close_scanner(scanner_parameters *sp) sp->blueweight = NULL; } - return 0; + return 0; } /* Read the calibration information from file */ @@ -497,7 +497,7 @@ int sanei_canon_pp_load_weights(const char *filename, scanner_parameters *sp) return -2; } - /* Read and check file version (the calibrate file + /* Read and check file version (the calibrate file format changes from time to time) */ ret = safe_read(fd, (char *)&temp, sizeof(int)); @@ -512,7 +512,7 @@ int sanei_canon_pp_load_weights(const char *filename, scanner_parameters *sp) if (((sp->blueweight = malloc(cal_data_size)) == NULL) || ((sp->redweight = malloc(cal_data_size)) == NULL) || ((sp->greenweight = malloc(cal_data_size)) == NULL) - || ((sp->blackweight = malloc(cal_data_size)) == NULL)) + || ((sp->blackweight = malloc(cal_data_size)) == NULL)) return -4; /* Read width of calibration data */ @@ -555,20 +555,20 @@ int sanei_canon_pp_load_weights(const char *filename, scanner_parameters *sp) } /* Read white-balance/gamma data */ - + if (safe_read(fd, (char *)&(sp->gamma), 32) < 0) { close(fd); return -10; } - close(fd); + close(fd); return 0; } /* Mode is 0 for greyscale source data or 1 for RGB */ -static void convert_to_rgb(image_segment *dest, unsigned char *src, +static void convert_to_rgb(image_segment *dest, unsigned char *src, int width, int scanlines, int mode) { int curline; @@ -581,23 +581,23 @@ static void convert_to_rgb(image_segment *dest, unsigned char *src, if (mode == 0) /* Grey */ { - convdata(src + (curline * scanline_size), - dest->image_data + + convdata(src + (curline * scanline_size), + dest->image_data + (curline * width * 2), width, 1); } else if (mode == 1) /* Truecolour */ { /* Red */ - convdata(src + (curline * scanline_size), - dest->image_data + + convdata(src + (curline * scanline_size), + dest->image_data + (curline * width *3*2) + 4, width, 2); /* Green */ - convdata(src + (curline * scanline_size) + colour_size, - dest->image_data + + convdata(src + (curline * scanline_size) + colour_size, + dest->image_data + (curline * width *3*2) + 2, width, 2); /* Blue */ - convdata(src + (curline * scanline_size) + - (2 * colour_size), dest->image_data + + convdata(src + (curline * scanline_size) + + (2 * colour_size), dest->image_data + (curline * width *3*2), width, 2); } @@ -605,7 +605,7 @@ static void convert_to_rgb(image_segment *dest, unsigned char *src, } -int sanei_canon_pp_read_segment(image_segment **dest, scanner_parameters *sp, +int sanei_canon_pp_read_segment(image_segment **dest, scanner_parameters *sp, scan_parameters *scanp, int scanline_number, int do_adjust, int scanlines_left) { @@ -646,8 +646,8 @@ int sanei_canon_pp_read_segment(image_segment **dest, scanner_parameters *sp, /* Allocate memory for dest image segment */ - output_image->image_data = - malloc(output_image->width * output_image->height * + output_image->image_data = + malloc(output_image->width * output_image->height * (scanp->mode ? 3 : 1) * 2); if (output_image->image_data == NULL) @@ -679,17 +679,17 @@ int sanei_canon_pp_read_segment(image_segment **dest, scanner_parameters *sp, if ((packet_header[2]<<8) + packet_header[3] != read_data_size) { - DBG(1, "read_segment: Error: Expected data size: %i bytes.\n", + DBG(1, "read_segment: Error: Expected data size: %i bytes.\n", read_data_size); DBG(1, "read_segment: Expecting %i bytes times %i " "scanlines.\n", scanline_size, scanline_number); - DBG(1, "read_segment: Actual data size: %i bytes.\n", + DBG(1, "read_segment: Actual data size: %i bytes.\n", (packet_header[2] << 8) + packet_header[3]); goto error_out; } /* Read scanlines_this_packet scanlines into the input buf */ - + if (sanei_canon_pp_read(sp->port, read_data_size, input_buffer)) { DBG(1, "read_segment: Segment read incorrectly, and we don't " @@ -697,11 +697,11 @@ int sanei_canon_pp_read_segment(image_segment **dest, scanner_parameters *sp, goto error_out; } - /* This is the only place we can abort safely - + /* This is the only place we can abort safely - * between reading one segment and requesting the next one. */ if (sp->abort_now) goto error_out; - if (scanlines_left >= (scanline_number * 2)) + if (scanlines_left >= (scanline_number * 2)) { DBG(100, "read_segment: Speculatively starting more scanning " "(%d left)\n", scanlines_left); @@ -711,7 +711,7 @@ int sanei_canon_pp_read_segment(image_segment **dest, scanner_parameters *sp, DBG(100, "read_segment: Convert to RGB\n"); /* Convert data */ - convert_to_rgb(output_image, input_buffer, scanp->width, + convert_to_rgb(output_image, input_buffer, scanp->width, scanline_number, scanp->mode); /* Adjust pixel readings according to calibration data */ @@ -724,10 +724,10 @@ int sanei_canon_pp_read_segment(image_segment **dest, scanner_parameters *sp, *dest = output_image; /* finished with this now */ free(input_buffer); - return 0; + return 0; error_out: - if (output_image && output_image->image_data) + if (output_image && output_image->image_data) free(output_image->image_data); if (output_image) free(output_image); if (input_buffer) free(input_buffer); @@ -735,13 +735,13 @@ int sanei_canon_pp_read_segment(image_segment **dest, scanner_parameters *sp, return -1; } -/* +/* check8: Calculates the checksum-8 for s bytes pointed to by p. For messages from the scanner, this should normally end up returning -0, since the last byte of most packets is the value that makes the +0, since the last byte of most packets is the value that makes the total up to 0 (or 256 if you're left-handed). -Hence, usage: if (check8(buffer, size)) {DBG(10, "checksum error!\n");} +Hence, usage: if (check8(buffer, size)) {DBG(10, "checksum error!\n");} Can also be used to generate valid checksums for sending to the scanner. */ @@ -756,13 +756,13 @@ static int check8(unsigned char *p, int s) { /* Converts from scanner format -> linear width is in pixels, not bytes. */ /* This function could use a rewrite */ -static void convdata(unsigned char *srcbuffer, unsigned char *dstbuffer, +static void convdata(unsigned char *srcbuffer, unsigned char *dstbuffer, int width, int mode) -/* This is a tricky (read: crap) function (read: hack) which is why I probably - spent more time commenting it than programming it. The thing to remember +/* This is a tricky (read: crap) function (read: hack) which is why I probably + spent more time commenting it than programming it. The thing to remember here is that the scanner uses interpolated scanlines, so it's - RRRRRRRGGGGGGBBBBBB not RGBRGBRGBRGBRGB. So, the calling function just - increments the destination pointer slightly to handle green, then a bit + RRRRRRRGGGGGGBBBBBB not RGBRGBRGBRGBRGB. So, the calling function just + increments the destination pointer slightly to handle green, then a bit more for blue. If you don't understand, tough. */ { int count; @@ -770,13 +770,13 @@ static void convdata(unsigned char *srcbuffer, unsigned char *dstbuffer, for (count = 0; count < width; count++) { - /* The scanner stores data in a bizzare butchered 10-bit + /* The scanner stores data in a bizzare butchered 10-bit format. I'll try to explain it in 100 words or less: - Scanlines are made up of groups of 4 pixels. Each group of - 4 is stored inside 5 bytes. The first 4 bytes of the group - contain the lowest 8 bits of one pixel each (in the right - order). The 5th byte contains the most significant 2 bits + Scanlines are made up of groups of 4 pixels. Each group of + 4 is stored inside 5 bytes. The first 4 bytes of the group + contain the lowest 8 bits of one pixel each (in the right + order). The 5th byte contains the most significant 2 bits of each pixel in the same order. */ i = srcbuffer[count + (count >> 2)]; /* Low byte for pixel */ @@ -784,7 +784,7 @@ static void convdata(unsigned char *srcbuffer, unsigned char *dstbuffer, j = j >> ((count % 4) * 2); /* Get upper 2 bits of intensity */ j = j & 0x03; /* Can't hurt */ /* And the final 10-bit pixel value is: */ - k = (j << 8) | i; + k = (j << 8) | i; /* now we return this as a 16 bit value */ k = k << 6; @@ -797,17 +797,17 @@ static void convdata(unsigned char *srcbuffer, unsigned char *dstbuffer, else if (mode == 2) /* Scanner -> RGB */ { dstbuffer[count * 3 * 2] = HIGH_BYTE(k); - dstbuffer[(count * 3 * 2) + 1] = LOW_BYTE(k); + dstbuffer[(count * 3 * 2) + 1] = LOW_BYTE(k); } } } -static int adjust_output(image_segment *image, scan_parameters *scanp, +static int adjust_output(image_segment *image, scan_parameters *scanp, scanner_parameters *scannerp) /* Needing a good cleanup */ { - /* light and dark points for the CCD sensor in question + /* light and dark points for the CCD sensor in question * (stored in file as 0-1024, scaled to 0-65536) */ unsigned long hi, lo; /* The result of our calculations */ @@ -827,70 +827,70 @@ static int adjust_output(image_segment *image, scan_parameters *scanp, { /* Figure out CCD sensor number */ /* MAGIC FORMULA ALERT! */ - ccd = (pixelnum << (scannerp->natural_xresolution - - scanp->xresolution)) + (1 << - (scannerp->natural_xresolution + ccd = (pixelnum << (scannerp->natural_xresolution - + scanp->xresolution)) + (1 << + (scannerp->natural_xresolution - scanp->xresolution)) - 1; - scaled_xoff = scanp->xoffset << - (scannerp->natural_xresolution - + scaled_xoff = scanp->xoffset << + (scannerp->natural_xresolution - scanp->xresolution); - ccd += scaled_xoff; + ccd += scaled_xoff; for (colour = 0; colour < cols; colour++) { /* Address of pixel under scrutiny */ - pixel_address = + pixel_address = (scanline * image->width * cols * 2) + (pixelnum * cols * 2) + (colour * 2); - /* Dark value is easy + /* Dark value is easy * Range of lo is 0-18k */ lo = (scannerp->blackweight[ccd]) * 3; - /* Light value depends on the colour, + /* Light value depends on the colour, * and is an average in greyscale mode. */ if (scanp->mode == 1) /* RGB */ { switch (colour) { - case 0: hi = scannerp->redweight[ccd] * 3; + case 0: hi = scannerp->redweight[ccd] * 3; break; - case 1: hi = scannerp->greenweight[ccd] * 3; + case 1: hi = scannerp->greenweight[ccd] * 3; break; - default: hi = scannerp->blueweight[ccd] * 3; + default: hi = scannerp->blueweight[ccd] * 3; break; } } else /* Grey - scanned using green */ { - hi = scannerp->greenweight[ccd] * 3; + hi = scannerp->greenweight[ccd] * 3; } - /* Check for bad calibration data as it + /* Check for bad calibration data as it can cause a divide-by-0 error */ if (hi <= lo) { DBG(1, "adjust_output: Bad cal data!" " hi: %ld lo: %ld\n" "Recalibrate, that " - "should fix it.\n", + "should fix it.\n", hi, lo); return -1; } /* Start with the pixel value in result */ - result = MAKE_SHORT(*(image->image_data + - pixel_address), - *(image->image_data + + result = MAKE_SHORT(*(image->image_data + + pixel_address), + *(image->image_data + pixel_address + 1)); result = result >> 6; /* Range now = 0-1023 */ /* if (scanline == 10) DBG(200, "adjust_output: Initial pixel" - " value: %ld\n", + " value: %ld\n", result); */ result *= 54; /* Range now = 0-54k */ @@ -913,13 +913,13 @@ static int adjust_output(image_segment *image, scan_parameters *scanp, { DBG(200, "adjust_output: %d: base = " "%lu, result %lu (%lu " - "- %lu)\n", pixelnum, + "- %lu)\n", pixelnum, result, temp, lo, hi); - } + } */ result = temp; - /* Store the value back where it came + /* Store the value back where it came * from (always bigendian) */ *(image->image_data + pixel_address) = HIGH_BYTE(result); @@ -934,7 +934,7 @@ static int adjust_output(image_segment *image, scan_parameters *scanp, /* Calibration run. Aborting allowed at "safe" points where the scanner won't * be left in a crap state. */ -int sanei_canon_pp_calibrate(scanner_parameters *sp, char *cal_file) +int sanei_canon_pp_calibrate(scanner_parameters *sp, char *cal_file) { int count, readnum, colournum, scanlinenum; int outfile; @@ -962,11 +962,11 @@ int sanei_canon_pp_calibrate(scanner_parameters *sp, char *cal_file) if (sp->abort_now) return -1; DBG(40, "Calibrating %ix%i pixels calibration image " - "(%i bytes each scan).\n", - sp->scanheadwidth, scanline_count, + "(%i bytes each scan).\n", + sp->scanheadwidth, scanline_count, scanline_size * scanline_count); - /* Allocate memory for calibration data */ + /* Allocate memory for calibration data */ sp->blackweight = (unsigned long *) calloc(sizeof(unsigned long), sp->scanheadwidth); sp->redweight = (unsigned long *) @@ -981,7 +981,7 @@ int sanei_canon_pp_calibrate(scanner_parameters *sp, char *cal_file) databuf = malloc(scanline_size * scanline_count * calibration_reads*3); /* And allocate space for converted image data in this image_segment */ - image.image_data = malloc(scanline_count * sp->scanheadwidth * 2 * + image.image_data = malloc(scanline_count * sp->scanheadwidth * 2 * calibration_reads); image.width = sp->scanheadwidth; image.height = scanline_count * calibration_reads; @@ -996,7 +996,7 @@ int sanei_canon_pp_calibrate(scanner_parameters *sp, char *cal_file) DBG(40, "Step 1/3: Calibrating black level...\n"); for (readnum = 0; readnum < calibration_reads; readnum++) { - DBG(40, " * Black scan number %d/%d.\n", readnum + 1, + DBG(40, " * Black scan number %d/%d.\n", readnum + 1, calibration_reads); if (sp->abort_now) return -1; @@ -1007,32 +1007,32 @@ int sanei_canon_pp_calibrate(scanner_parameters *sp, char *cal_file) free (image.image_data); free(databuf); return -1; - + } /* Black reference data */ sanei_canon_pp_read(sp->port, scanline_size * scanline_count, - databuf + + databuf + (readnum * scanline_size * scanline_count)); } /* Convert scanner format to a greyscale 16bpp image */ - for (scanlinenum = 0; - scanlinenum < scanline_count * calibration_reads; + for (scanlinenum = 0; + scanlinenum < scanline_count * calibration_reads; scanlinenum++) { - convdata(databuf + (scanlinenum * scanline_size), - image.image_data + - (scanlinenum * sp->scanheadwidth*2), + convdata(databuf + (scanlinenum * scanline_size), + image.image_data + + (scanlinenum * sp->scanheadwidth*2), sp->scanheadwidth, 1); } /* Take column totals */ for (count = 0; count < sp->scanheadwidth; count++) { - /* Value is normalised as if we took 6 scanlines, even if we + /* Value is normalised as if we took 6 scanlines, even if we * didn't (620P I'm looking at you!) */ - sp->blackweight[count] = (column_sum(&image, count) * 6) + sp->blackweight[count] = (column_sum(&image, count) * 6) / scanline_count >> 6; } @@ -1057,7 +1057,7 @@ int sanei_canon_pp_calibrate(scanner_parameters *sp, char *cal_file) DBG(20, " * Snoozing for 15 seconds while the scanner calibrates..."); usleep(15000000); DBG(40, "done.\n"); - + DBG(40, " * Requesting gamma table values..."); if (send_command(sp->port, cmd_readgamma, 10, 100000, 10000000)) { @@ -1088,7 +1088,7 @@ int sanei_canon_pp_calibrate(scanner_parameters *sp, char *cal_file) command_buffer[3] = colournum; for (readnum = 0; readnum < 3; readnum++) { - DBG(10, " * %s sensors, scan number %d/%d.\n", + DBG(10, " * %s sensors, scan number %d/%d.\n", colours[colournum-1], readnum + 1, calibration_reads); @@ -1102,20 +1102,20 @@ int sanei_canon_pp_calibrate(scanner_parameters *sp, char *cal_file) return -1; } - sanei_canon_pp_read(sp->port, scanline_size * - scanline_count, databuf + - (readnum * scanline_size * + sanei_canon_pp_read(sp->port, scanline_size * + scanline_count, databuf + + (readnum * scanline_size * scanline_count)); } /* Convert colour data from scanner format to RGB data */ - for (scanlinenum = 0; scanlinenum < scanline_count * + for (scanlinenum = 0; scanlinenum < scanline_count * calibration_reads; scanlinenum++) { - convdata(databuf + (scanlinenum * scanline_size), - image.image_data + - (scanlinenum * sp->scanheadwidth * 2), + convdata(databuf + (scanlinenum * scanline_size), + image.image_data + + (scanlinenum * sp->scanheadwidth * 2), sp->scanheadwidth, 1); } @@ -1123,14 +1123,14 @@ int sanei_canon_pp_calibrate(scanner_parameters *sp, char *cal_file) for (count = 0; count < sp->scanheadwidth; count++) { if (colournum == 1) - sp->redweight[count] = - column_sum(&image, count) >> 6; + sp->redweight[count] = + column_sum(&image, count) >> 6; else if (colournum == 2) - sp->greenweight[count] = - column_sum(&image, count) >> 6; + sp->greenweight[count] = + column_sum(&image, count) >> 6; else - sp->blueweight[count] = - column_sum(&image, count) >> 6; + sp->blueweight[count] = + column_sum(&image, count) >> 6; } } @@ -1154,19 +1154,19 @@ int sanei_canon_pp_calibrate(scanner_parameters *sp, char *cal_file) DBG(10, "Write error on calibration file %s", cal_file); /* Data */ - if (safe_write(outfile, (char *)&(sp->scanheadwidth), + if (safe_write(outfile, (char *)&(sp->scanheadwidth), sizeof(sp->scanheadwidth)) < 0) DBG(10, "Write error on calibration file %s", cal_file); - if (safe_write(outfile, (char *)(sp->blackweight), + if (safe_write(outfile, (char *)(sp->blackweight), sp->scanheadwidth * sizeof(long)) < 0) DBG(10, "Write error on calibration file %s", cal_file); - if (safe_write(outfile, (char *)(sp->redweight), + if (safe_write(outfile, (char *)(sp->redweight), sp->scanheadwidth * sizeof(long)) < 0) DBG(10, "Write error on calibration file %s", cal_file); - if (safe_write(outfile, (char *)(sp->greenweight), + if (safe_write(outfile, (char *)(sp->greenweight), sp->scanheadwidth * sizeof(long)) < 0) DBG(10, "Write error on calibration file %s", cal_file); - if (safe_write(outfile, (char *)(sp->blueweight), + if (safe_write(outfile, (char *)(sp->blueweight), sp->scanheadwidth * sizeof(long)) < 0) DBG(10, "Write error on calibration file %s", cal_file); if (safe_write(outfile, (char *)(sp->gamma), 32) < 0) @@ -1198,7 +1198,7 @@ static unsigned long column_sum(image_segment *image, int x) } -static int scanner_setup_params(unsigned char *buf, scanner_parameters *sp, +static int scanner_setup_params(unsigned char *buf, scanner_parameters *sp, scan_parameters *scanp) { int scaled_width, scaled_height; @@ -1218,14 +1218,14 @@ static int scanner_setup_params(unsigned char *buf, scanner_parameters *sp, buf[3] = 0x58; } - scaled_width = scanp->width << + scaled_width = scanp->width << (sp->natural_xresolution - scanp->xresolution); /* YO! This needs fixing if we ever use yresolution! */ - scaled_height = scanp->height << + scaled_height = scanp->height << (sp->natural_xresolution - scanp->xresolution); - scaled_xoff = scanp->xoffset << + scaled_xoff = scanp->xoffset << (sp->natural_xresolution - scanp->xresolution); - scaled_yoff = scanp->yoffset << + scaled_yoff = scanp->yoffset << (sp->natural_xresolution - scanp->xresolution); /* Input resolution */ @@ -1247,7 +1247,7 @@ static int scanner_setup_params(unsigned char *buf, scanner_parameters *sp, buf[14] = (scaled_yoff & 0xff00) >> 8; buf[15] = scaled_yoff & 0xff; - /* Width of image to be scanned */ + /* Width of image to be scanned */ buf[16] = (scaled_width & 0xff000000) >> 24; buf[17] = (scaled_width & 0xff0000) >> 16; buf[18] = (scaled_width & 0xff00) >> 8; @@ -1260,7 +1260,7 @@ static int scanner_setup_params(unsigned char *buf, scanner_parameters *sp, buf[23] = scaled_height & 0xff; - /* These appear to be the only two colour mode possibilities. + /* These appear to be the only two colour mode possibilities. Pure black-and-white mode probably just uses greyscale and then gets its contrast adjusted by the driver. I forget. */ if (scanp->mode == 1) /* Truecolour */ @@ -1307,15 +1307,15 @@ int sanei_canon_pp_sleep_scanner(struct parport *port) int sanei_canon_pp_detect(struct parport *port, int mode) { /*int caps;*/ - /* This code needs to detect whether or not a scanner is present on - * the port, quickly and reliably. Fast version of - * sanei_canon_pp_initialise() + /* This code needs to detect whether or not a scanner is present on + * the port, quickly and reliably. Fast version of + * sanei_canon_pp_initialise() * - * If this detect returns true, a more comprehensive check will + * If this detect returns true, a more comprehensive check will * be conducted - * Return values: + * Return values: * 0 = scanner present - * anything else = scanner not present + * anything else = scanner not present * PRE: port is open/unclaimed * POST: port is closed/unclaimed */ @@ -1343,9 +1343,9 @@ int sanei_canon_pp_detect(struct parport *port, int mode) return 0; } -static int send_command(struct parport *port, unsigned char *buf, int bufsize, +static int send_command(struct parport *port, unsigned char *buf, int bufsize, int delay, int timeout) -/* Sends a command until the scanner says it is ready. +/* Sends a command until the scanner says it is ready. * sleeps for delay microsecs between reads * returns -1 on error, -2 on timeout */ { @@ -1359,7 +1359,7 @@ static int send_command(struct parport *port, unsigned char *buf, int bufsize, /* sleep a bit */ usleep(delay); - } while (sanei_canon_pp_check_status(port) && + } while (sanei_canon_pp_check_status(port) && retries++ < (timeout/delay)); if (retries >= (timeout/delay)) return -2; diff --git a/backend/canon_pp-dev.h b/backend/canon_pp-dev.h index e8f36a8..4ad2e45 100644 --- a/backend/canon_pp-dev.h +++ b/backend/canon_pp-dev.h @@ -42,7 +42,7 @@ canon_pp-dev.h: $Revision$ - This file is part of the canon_pp backend, supporting Canon FBX30P + This file is part of the canon_pp backend, supporting Canon FBX30P and NX40P scanners and also part of the stand-alone driver. Simon Krix @@ -105,9 +105,9 @@ typedef struct scanner_parameter_struct int max_xresolution; int max_yresolution; - /* ID String. Should only be 38(?) bytes long, so we can + /* ID String. Should only be 38(?) bytes long, so we can reduce the size later. */ - char id_string[80]; + char id_string[80]; /* Short, readable scanner name, such as "FB330P" */ char name[40]; @@ -120,7 +120,7 @@ typedef struct scanner_parameter_struct unsigned long *blueweight; /* Not understood white-balance/gain values */ - unsigned char gamma[32]; + unsigned char gamma[32]; /* Type of scanner ( 0 = *20P, 1 = [*30P|*40P] ) */ unsigned char type; @@ -154,7 +154,7 @@ typedef struct image_segment_struct /* Scan-related functions ========================= */ -/* Brings the scanner in and out of transparent mode +/* Brings the scanner in and out of transparent mode and detects model information */ int sanei_canon_pp_initialise(scanner_parameters *sp, int mode); int sanei_canon_pp_close_scanner(scanner_parameters *sp); @@ -162,7 +162,7 @@ int sanei_canon_pp_close_scanner(scanner_parameters *sp); /* Image scanning functions */ int sanei_canon_pp_init_scan(scanner_parameters *sp, scan_parameters *scanp); -int sanei_canon_pp_read_segment(image_segment **dest, scanner_parameters *sp, +int sanei_canon_pp_read_segment(image_segment **dest, scanner_parameters *sp, scan_parameters *scanp, int scanline_count, int do_adjust, int scanlines_left); diff --git a/backend/canon_pp-io.c b/backend/canon_pp-io.c index 881ac24..97ee526 100644 --- a/backend/canon_pp-io.c +++ b/backend/canon_pp-io.c @@ -41,7 +41,7 @@ ----- This file is part of the canon_pp backend, supporting Canon CanoScan - Parallel scanners and also distributed as part of the stand-alone driver. + Parallel scanners and also distributed as part of the stand-alone driver. canon_pp-io.c: $Revision$ @@ -89,8 +89,8 @@ static void DBG(int level, const char *format, ...) /* 0x00 = Nibble Mode (M1284_NIBBLE) 0x10 = ECP Mode (M1284_ECP) - The scanner driver seems not to support ECP RLE mode - (which is a huge bummer because compression would be + The scanner driver seems not to support ECP RLE mode + (which is a huge bummer because compression would be ace) nor EPP mode. */ static int ieee_mode = M1284_NIBBLE; @@ -109,12 +109,12 @@ static void scanner_chessboard_control(struct parport *port); static void scanner_chessboard_data(struct parport *port, int mode); /* Used by read_data */ -static int ieee_transfer(struct parport *port, int length, +static int ieee_transfer(struct parport *port, int length, unsigned char *data); /* Low level functions */ static int readstatus(struct parport *port); -static int expect(struct parport *port, const char *step, int s, +static int expect(struct parport *port, const char *step, int s, int mask, unsigned int delay); /* Port-level functions */ @@ -124,7 +124,7 @@ static void outboth(struct parport *port, int d, int c); /************************************/ -/* +/* * IEEE 1284 defines many values for m, * but these scanners only support 2: nibble and ECP modes. * And no data compression either (argh!) @@ -144,7 +144,7 @@ int sanei_canon_pp_wake_scanner(struct parport *port, int mode) int i = 0; int tmp; int max_cycles = 3; - + tmp = readstatus(port); /* Reset only works on 30/40 models */ @@ -171,7 +171,7 @@ int sanei_canon_pp_wake_scanner(struct parport *port, int mode) scanner_chessboard_control(port); scanner_chessboard_data(port, mode); - if (expect(port, NULL, 0x03, 0x1f, 800000) && + if (expect(port, NULL, 0x03, 0x1f, 800000) && (mode == INITMODE_AUTO)) { /* 630 Style init failed, try 620 style */ @@ -187,7 +187,7 @@ int sanei_canon_pp_wake_scanner(struct parport *port, int mode) usleep(100000); } - } while ((i < max_cycles) && (!expect(port,"Scanner wakeup reply 2", + } while ((i < max_cycles) && (!expect(port,"Scanner wakeup reply 2", 0x03, 0x1f, 100000) == 0)); /* Block just after chessboarding @@ -201,7 +201,7 @@ int sanei_canon_pp_wake_scanner(struct parport *port, int mode) return -1; outboth(port, 0, NSELECTIN | NINIT | HOSTCLK); /* Clear D, C3+, C1- */ - /* If we had to try the wakeup cycle more than once, we should wait + /* If we had to try the wakeup cycle more than once, we should wait * here for 10 seconds to let the scanner pull itself together - * it can actually take longer, but I can't wait that long! */ if (i > 1) @@ -227,7 +227,7 @@ int sanei_canon_pp_write(struct parport *port, int length, unsigned char *data) DBG(10,"%02x ", data[count]); if (count % 20 == 19) DBG(10,"\n "); - } + } if (count % 20 != 19) DBG(10,"\n"); #endif @@ -238,20 +238,20 @@ int sanei_canon_pp_write(struct parport *port, int length, unsigned char *data) case M1284_BECP: case M1284_ECPRLE: case M1284_ECPSWE: - case M1284_ECP: + case M1284_ECP: ieee1284_negotiate(port, ieee_mode); - if (ieee1284_ecp_write_data(port, 0, (char *)data, + if (ieee1284_ecp_write_data(port, 0, (char *)data, length) != length) return -1; break; - case M1284_NIBBLE: - if (ieee1284_compat_write(port, 0, (char *)data, + case M1284_NIBBLE: + if (ieee1284_compat_write(port, 0, (char *)data, length) != length) return -1; break; default: DBG(0, "Invalid mode in write!\n"); - } + } DBG(100, "<< write"); @@ -265,7 +265,7 @@ int sanei_canon_pp_read(struct parport *port, int length, unsigned char *data) DBG(200, "NEW read_data (%i bytes):\n", length); ieee1284_negotiate(port, ieee_mode); - /* This is special; Nibble mode needs a little + /* This is special; Nibble mode needs a little extra help from us. */ if (ieee_mode == M1284_NIBBLE) @@ -275,7 +275,7 @@ int sanei_canon_pp_read(struct parport *port, int length, unsigned char *data) if (expect(port, "Read Data 1", 0, NDATAAVAIL, 6000000)) { DBG(10,"Error 1\n"); - ieee1284_terminate(port); + ieee1284_terminate(port); return 1; } outcont(port, HOSTBUSY, HOSTBUSY); @@ -283,7 +283,7 @@ int sanei_canon_pp_read(struct parport *port, int length, unsigned char *data) if (expect(port, "Read Data 2", NACK, NACK, 1000000)) { DBG(1,"Error 2\n"); - ieee1284_terminate(port); + ieee1284_terminate(port); return 1; } if (expect(port, "Read Data 3 (Ready?)", 0, PERROR, 1000000)) @@ -319,7 +319,7 @@ int sanei_canon_pp_read(struct parport *port, int length, unsigned char *data) /* If 0 bytes were transferred, it's a legal "No data" condition (I think). Otherwise, it may have run out of buffer.. keep reading*/ - + if (count < 0) { DBG(10, "Couldn't read enough data (need %d more " "of %d)\n", length+count,length+offset); @@ -344,14 +344,14 @@ int sanei_canon_pp_read(struct parport *port, int length, unsigned char *data) DBG(10,"%02x ", data[count]); if (count % 20 == 19) DBG(10,"\n "); - } + } if (count % 20 != 19) DBG(10,"\n"); } else { DBG(10,"Read: %i bytes\n", length); - } + } #endif if (ieee_mode == M1284_NIBBLE) @@ -367,17 +367,17 @@ static int ieee_transfer(struct parport *port, int length, unsigned char *data) DBG(100, "IEEE transfer (%i bytes)\n", length); - switch (ieee_mode) + switch (ieee_mode) { case M1284_BECP: case M1284_ECP: case M1284_ECPRLE: case M1284_ECPSWE: - result = ieee1284_ecp_read_data(port, 0, (char *)data, + result = ieee1284_ecp_read_data(port, 0, (char *)data, length); break; case M1284_NIBBLE: - result = ieee1284_nibble_read(port, 0, (char *)data, + result = ieee1284_nibble_read(port, 0, (char *)data, length); break; default: @@ -405,22 +405,22 @@ int sanei_canon_pp_check_status(struct parport *port) { case 0x0606: DBG(200, "Ready - 0x0606\n"); - return 0; + return 0; break; case 0x1414: - DBG(200, "Busy - 0x1414\n"); + DBG(200, "Busy - 0x1414\n"); return 1; break; case 0x0805: - DBG(200, "Resetting - 0x0805\n"); + DBG(200, "Resetting - 0x0805\n"); return 3; break; case 0x1515: DBG(1, "!! Invalid Command - 0x1515\n"); - return 2; + return 2; break; case 0x0000: - DBG(200, "Nothing - 0x0000"); + DBG(200, "Nothing - 0x0000"); return 4; break; @@ -451,9 +451,9 @@ static void outboth(struct parport *port, int d, int c) { ieee1284_write_data(port, d & 0xff); outcont(port, c, 0x0f); -} +} -/* readstatus(): +/* readstatus(): Returns the LOGIC value of the S register (ie: all input lines) shifted right to to make it easier to read. Note: S5 is inverted by ieee1284_read_status so we don't need to */ @@ -472,7 +472,7 @@ static void scanner_chessboard_control(struct parport *port) outcont(port, 13, 0xf); usleep(10); outcont(port, 7, 0xf); - usleep(10); + usleep(10); } static void scanner_chessboard_data(struct parport *port, int mode) @@ -490,28 +490,28 @@ static void scanner_chessboard_data(struct parport *port, int mode) outdata(port, 0x55); else outdata(port, 0x33); - outcont(port, HOSTBUSY, HOSTBUSY); + outcont(port, HOSTBUSY, HOSTBUSY); usleep(10); - outcont(port, 0, HOSTBUSY); + outcont(port, 0, HOSTBUSY); usleep(10); - outcont(port, HOSTBUSY, HOSTBUSY); + outcont(port, HOSTBUSY, HOSTBUSY); usleep(10); if (mode == INITMODE_20P) outdata(port, 0xaa); else outdata(port, 0xcc); - outcont(port, HOSTBUSY, HOSTBUSY); + outcont(port, HOSTBUSY, HOSTBUSY); usleep(10); - outcont(port, 0, HOSTBUSY); + outcont(port, 0, HOSTBUSY); usleep(10); - outcont(port, HOSTBUSY, HOSTBUSY); + outcont(port, HOSTBUSY, HOSTBUSY); usleep(10); } } /* Reset the scanner. At least, it works 50% of the time. */ -static int scanner_reset(struct parport *port) +static int scanner_reset(struct parport *port) { /* Resetting only works for the *30Ps, sorry */ @@ -545,7 +545,7 @@ static int scanner_reset(struct parport *port) outcont(port, 0x0f, 0xf); /* All lines must be 1. */ /* All lines 1 */ - if (expect(port, "Reset 2 response 2 (READY)", + if (expect(port, "Reset 2 response 2 (READY)", 0x1f, 0x1f, 500000)) return 1; @@ -556,9 +556,9 @@ static int scanner_reset(struct parport *port) return 0; } -/* A timed version of expect, which will wait for delay before erroring +/* A timed version of expect, which will wait for delay before erroring This is the one and only one we should be using */ -static int expect(struct parport *port, const char *msg, int s, +static int expect(struct parport *port, const char *msg, int s, int mask, unsigned int delay) { struct timeval tv; @@ -591,7 +591,7 @@ int sanei_canon_pp_scanner_init(struct parport *port) /* In Windows, this is always ECP (or an attempt at it) */ if (sanei_canon_pp_write(port, 10, cmd_init)) return -1; - /* Note that we don't really mind what the status was as long as it + /* Note that we don't really mind what the status was as long as it * wasn't a read error (returns -1) */ /* In fact, the 620P gives an error on that last command, but they * keep going anyway */ @@ -605,7 +605,7 @@ int sanei_canon_pp_scanner_init(struct parport *port) if (tmp < 0) return -1; DBG(10, "scanner_init: Giving the scanner a snooze...\n"); - usleep(500000); + usleep(500000); tries++; diff --git a/backend/canon_pp-io.h b/backend/canon_pp-io.h index 376af8a..ad04180 100644 --- a/backend/canon_pp-io.h +++ b/backend/canon_pp-io.h @@ -42,7 +42,7 @@ canon_pp-io.h: $Revision$ - This file is part of the canon_pp backend, supporting Canon FBX30P + This file is part of the canon_pp backend, supporting Canon FBX30P and NX40P scanners and also distributed as part of the stand-alone driver. @@ -50,14 +50,14 @@ */ #ifndef CANON_PP_IO_H -#define CANON_PP_IO_H +#define CANON_PP_IO_H /* Actual Interface */ void sanei_canon_pp_set_ieee1284_mode(int m); int sanei_canon_pp_wake_scanner(struct parport *port, int mode); -int sanei_canon_pp_write(struct parport *port, int length, +int sanei_canon_pp_write(struct parport *port, int length, unsigned char *data); -int sanei_canon_pp_read(struct parport *port, int length, +int sanei_canon_pp_read(struct parport *port, int length, unsigned char *data); int sanei_canon_pp_check_status(struct parport *port); int sanei_canon_pp_scanner_init(struct parport *port); diff --git a/backend/canon_pp.c b/backend/canon_pp.c index cc7c27e..822eaf1 100644 --- a/backend/canon_pp.c +++ b/backend/canon_pp.c @@ -42,7 +42,7 @@ canon_pp.c: $Revision$ - This file is part of the canon_pp backend, supporting Canon FBX30P + This file is part of the canon_pp backend, supporting Canon FBX30P and NX40P scanners */ @@ -114,9 +114,9 @@ static SANE_Bool force_nibble = SANE_FALSE; /* Constants */ /* Colour Modes */ -static const SANE_String_Const cmodes[] = { - SANE_VALUE_SCAN_MODE_GRAY, - SANE_VALUE_SCAN_MODE_COLOR, +static const SANE_String_Const cmodes[] = { + SANE_VALUE_SCAN_MODE_GRAY, + SANE_VALUE_SCAN_MODE_COLOR, NULL }; /* bit depths */ @@ -139,7 +139,7 @@ static const SANE_Int res600[] = {4, 75, 150, 300, 600}; sane_init (SANE_Int *vc, SANE_Auth_Callback cb) { SANE_Status status = SANE_STATUS_GOOD; - int i, tmp; + int i, tmp; int tmp_im = INITMODE_AUTO; FILE *fp; char line[81]; /* plus 1 for a null */ @@ -150,7 +150,7 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) DBG_INIT(); #if defined PACKAGE && defined VERSION - DBG(2, ">> sane_init (version %s null, authorize %s null): " PACKAGE " " VERSION "\n", + DBG(2, ">> sane_init (version %s null, authorize %s null): " PACKAGE " " VERSION "\n", (vc) ? "!=" : "==", (cb) ? "!=" : "=="); #endif @@ -192,8 +192,8 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) /* just to be extra sure, the line will always have an end: */ line[sizeof(line)-1] = '\0'; - /* - * Read information from config file: pixel weight location and default + /* + * Read information from config file: pixel weight location and default * port. */ if((fp = sanei_config_open(CANONP_CONFIG_FILE))) @@ -208,24 +208,24 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) if(strncmp(line,"calibrate ", 10) == 0) { - /* warning: pointer trickyness ahead + /* warning: pointer trickyness ahead * Do not free tmp_port! */ - DBG(40, "sane_init: calibrate line, %s\n", + DBG(40, "sane_init: calibrate line, %s\n", line); tmp_wf = strdup(line+10); tmp_port = strstr(tmp_wf, " "); if ((tmp_port == tmp_wf) || (tmp_port == NULL)) { - /* They have used an old style config + /* They have used an old style config * file which does not specify scanner * Assume first port */ DBG(1, "sane_init: old config line:" "\"%s\". Please add " - "a port argument.\n", + "a port argument.\n", line); /* first_dev should never be null here - * because we found at least one + * because we found at least one * parallel port above */ first_dev->weights_file = tmp_wf; DBG(100, "sane_init: Successfully " @@ -236,7 +236,7 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) } - /* Now find which scanner wants + /* Now find which scanner wants * this calibration file */ s_tmp = first_dev; DBG(100, "sane_init: Finding scanner on port " @@ -247,7 +247,7 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) tmp_port+1)) { DBG(100, "sane_init: Found!\n"); - /* Now terminate the weight + /* Now terminate the weight * file string */ *tmp_port = '\0'; s_tmp->weights_file = tmp_wf; @@ -255,7 +255,7 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) "cal, for port" " '%s', weight" " file is '%s'" - ".\n", + ".\n", s_tmp->params. port->name, tmp_wf); @@ -295,7 +295,7 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) if(strncmp(line,"init_mode ", 10) == 0) { - /* parse what sort of initialisation mode to + /* parse what sort of initialisation mode to * use */ if (strncmp(line+10, "FB620P", 6) == 0) tmp_im = INITMODE_20P; @@ -311,7 +311,7 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) if (tmp_port == NULL) { /* first_dev should never be null here - * because we found at least one + * because we found at least one * parallel port above */ first_dev->init_mode = tmp_im; DBG(100, "sane_init: Parsed init-1.\n"); @@ -344,9 +344,9 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) } DBG(1, "sane_init: Unknown configuration command!"); - } + } fclose (fp); - } + } /* There should now be a LL of ports starting at first_dev */ @@ -355,23 +355,23 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) /* Assume there's no scanner present until proven otherwise */ s_tmp->scanner_present = SANE_FALSE; - /* Try to detect if there's a scanner there, and if so, + /* Try to detect if there's a scanner there, and if so, * what sort of scanner it is */ status = detect_mode(s_tmp); - if (status != SANE_STATUS_GOOD) + if (status != SANE_STATUS_GOOD) { DBG(10,"sane_init: Error detecting port mode on %s!\n", s_tmp->params.port->name); s_tmp->scanner_present = SANE_FALSE; continue; - } - + } + /* detect_mode suceeded, so the port is open. This beholdens * us to call ieee1284_close in any of the remaining error * cases in this loop. */ #if 0 - tmp = sanei_canon_pp_detect(s_tmp->params.port, + tmp = sanei_canon_pp_detect(s_tmp->params.port, s_tmp->init_mode); @@ -383,7 +383,7 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) s_tmp->ieee1284_mode = M1284_NIBBLE; sanei_canon_pp_set_ieee1284_mode(s_tmp->ieee1284_mode); - tmp = sanei_canon_pp_detect(s_tmp->params.port, + tmp = sanei_canon_pp_detect(s_tmp->params.port, s_tmp->init_mode); } /* still no go? */ @@ -395,7 +395,7 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) ieee1284_close(s_tmp->params.port); continue; } - + #endif /* all signs point to yes, try it out */ if (ieee1284_claim(s_tmp->params.port) != E1284_OK) { @@ -405,9 +405,9 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) ieee1284_close(s_tmp->params.port); continue; } - + DBG(2, "sane_init: >> initialise\n"); - tmp = sanei_canon_pp_initialise(&(s_tmp->params), + tmp = sanei_canon_pp_initialise(&(s_tmp->params), s_tmp->init_mode); DBG(2, "sane_init: << %d initialise\n", tmp); if (tmp) { @@ -420,13 +420,13 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) continue; } - /* put it back to sleep until we're ready to + /* put it back to sleep until we're ready to * open for business again - this will only work * if we actually have a scanner there! */ DBG(100, "sane_init: And back to sleep again\n"); sanei_canon_pp_sleep_scanner(s_tmp->params.port); - /* leave the port open but not claimed - this is regardless + /* leave the port open but not claimed - this is regardless * of the return value of initialise */ ieee1284_release(s_tmp->params.port); @@ -435,7 +435,7 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) if (fix_weights_file(s_tmp) != SANE_STATUS_GOOD) { DBG(1, "sane_init: Eeek! fix_weights_file failed for " - "scanner on port %s!\n", + "scanner on port %s!\n", s_tmp->params.port->name); /* non-fatal.. scans will look ugly as sin unless * they calibrate */ @@ -462,7 +462,7 @@ sane_init (SANE_Int *vc, SANE_Auth_Callback cb) *************************************************************************/ SANE_Status sane_get_devices (const SANE_Device ***dl, SANE_Bool local) -{ +{ static const SANE_Device **devlist; CANONP_Scanner *dev; int i; @@ -521,7 +521,7 @@ sane_open (SANE_String_Const name, SANE_Handle *h) DBG(2, ">> sane_open (h=%p, name=\"%s\")\n", (void *)h, name); - if ((h == NULL) || (name == NULL)) + if ((h == NULL) || (name == NULL)) { DBG(2,"sane_open: Null pointer received!\n"); return SANE_STATUS_INVAL; @@ -543,12 +543,12 @@ sane_open (SANE_String_Const name, SANE_Handle *h) while((cs != NULL) && strcmp(cs->params.port->name, name)) cs = cs->next; - /* if we didn't find the port they want, or there's no scanner + /* if we didn't find the port they want, or there's no scanner * there, we just want to find _any_ scanner */ if ((cs == NULL) || (cs->scanner_present != SANE_TRUE)) { cs = first_dev; - while((cs != NULL) && + while((cs != NULL) && (cs->scanner_present == SANE_FALSE)) cs = cs->next; } @@ -563,7 +563,7 @@ sane_open (SANE_String_Const name, SANE_Handle *h) } - if (cs == NULL) + if (cs == NULL) { DBG(2,"sane_open: No scanner found or requested port " "doesn't exist (%s)\n", name); @@ -575,15 +575,15 @@ sane_open (SANE_String_Const name, SANE_Handle *h) "(%s)\n", name); return SANE_STATUS_IO_ERROR; } - if (cs->opened == SANE_TRUE) + if (cs->opened == SANE_TRUE) { DBG(2,"sane_open; Oi!, That scanner's already open.\n"); return SANE_STATUS_DEVICE_BUSY; } - /* If the scanner has already been opened once, we don't have to do + /* If the scanner has already been opened once, we don't have to do * this setup again */ - if (cs->setup == SANE_TRUE) + if (cs->setup == SANE_TRUE) { cs->opened = SANE_TRUE; *h = (SANE_Handle)cs; @@ -613,11 +613,11 @@ sane_open (SANE_String_Const name, SANE_Handle *h) } if (cs->weights_file != NULL) - DBG(2, "sane_open: >> load_weights(%s, %p)\n", - cs->weights_file, + DBG(2, "sane_open: >> load_weights(%s, %p)\n", + cs->weights_file, (const void *)(&(cs->params))); else - DBG(2, "sane_open: >> load_weights(NULL, %p)\n", + DBG(2, "sane_open: >> load_weights(NULL, %p)\n", (const void *)(&(cs->params))); tmp = sanei_canon_pp_load_weights(cs->weights_file, &(cs->params)); DBG(2, "sane_open: << %d load_weights\n", tmp); @@ -638,10 +638,10 @@ sane_open (SANE_String_Const name, SANE_Handle *h) DBG(1, "sane_open: WARNING: adjust_gamma returned " "%d!\n", tmp); - DBG(10, "sane_open: after adjust_gamma Status = %i\n", + DBG(10, "sane_open: after adjust_gamma Status = %i\n", sanei_canon_pp_check_status(cs->params.port)); } - + /* Configure ranges etc */ @@ -744,11 +744,11 @@ sane_control_option (SANE_Handle h, SANE_Int opt, SANE_Action act, int i = 0, tmp, maxresi; DBG(2, ">> sane_control_option (h=%p, opt=%d, act=%d)\n", - h,opt,act); - /* Do some sanity checks on the parameters + h,opt,act); + /* Do some sanity checks on the parameters * note that val can be null for buttons */ - if ((h == NULL) || ((val == NULL) && (opt != OPT_CAL))) - /* || (info == NULL)) - Don't check this any more.. + if ((h == NULL) || ((val == NULL) && (opt != OPT_CAL))) + /* || (info == NULL)) - Don't check this any more.. * frontends seem to like passing a null */ { DBG(1,"sane_control_option: Frontend passed me a null! " @@ -757,7 +757,7 @@ sane_control_option (SANE_Handle h, SANE_Int opt, SANE_Action act, return SANE_STATUS_INVAL; } - if (((unsigned)opt) >= NUM_OPTIONS) + if (((unsigned)opt) >= NUM_OPTIONS) { DBG(1,"sane_control_option: I don't do option %d.\n", opt); return SANE_STATUS_INVAL; @@ -777,17 +777,17 @@ sane_control_option (SANE_Handle h, SANE_Int opt, SANE_Action act, return SANE_STATUS_DEVICE_BUSY; } - switch(act) + switch(act) { case SANE_ACTION_GET_VALUE: - switch (opt) + switch (opt) { case OPT_COLOUR_MODE: - strcpy((char *)val, + strcpy((char *)val, cmodes[cs->vals[opt]]); break; case OPT_DEPTH: - strcpy((char *)val, + strcpy((char *)val, depths[cs->vals[opt]]); break; case OPT_RESOLUTION: @@ -812,40 +812,40 @@ sane_control_option (SANE_Handle h, SANE_Int opt, SANE_Action act, maxresi = cs->opt[OPT_RESOLUTION]. constraint.word_list[0]; - while ((cs->vals[opt] <= maxresi) && + while ((cs->vals[opt] <= maxresi) && (res600[cs->vals[opt]] < *((int *)val))) { cs->vals[opt] += 1; } - if (res600[cs->vals[opt]] != + if (res600[cs->vals[opt]] != *((int *)val)) { - if (info != NULL) *info |= + if (info != NULL) *info |= SANE_INFO_INEXACT; } break; case OPT_COLOUR_MODE: cs->vals[opt] = 0; while ((cmodes[cs->vals[opt]] != NULL) - && strcmp(cmodes[cs->vals[opt]], + && strcmp(cmodes[cs->vals[opt]], (char *)val)) { cs->vals[opt] += 1; } - if (info != NULL) *info |= + if (info != NULL) *info |= SANE_INFO_RELOAD_PARAMS; break; case OPT_DEPTH: cs->vals[opt] = 0; while ((depths[cs->vals[opt]] != NULL) - && strcmp(depths[cs->vals[opt]], + && strcmp(depths[cs->vals[opt]], (char *)val)) { cs->vals[opt] += 1; } - if (info != NULL) *info |= + if (info != NULL) *info |= SANE_INFO_RELOAD_PARAMS; break; case OPT_TL_X: @@ -861,34 +861,34 @@ sane_control_option (SANE_Handle h, SANE_Int opt, SANE_Action act, if ((cs->weights_file==NULL) || cs->cal_readonly ) - DBG(2, ">> calibrate(x, " + DBG(2, ">> calibrate(x, " "NULL)\n"); else DBG(2, ">> calibrate(x," "%s)\n", cs->weights_file); - if (cs->cal_readonly) tmp = + if (cs->cal_readonly) tmp = sanei_canon_pp_calibrate( - &(cs->params), + &(cs->params), NULL); else tmp = sanei_canon_pp_calibrate( - &(cs->params), + &(cs->params), cs->weights_file); - DBG(2, "<< %d calibrate\n", + DBG(2, "<< %d calibrate\n", tmp); if (tmp != 0) { DBG(1, "sane_control_option: " "WARNING: " "calibrate " - "returned %d!", + "returned %d!", tmp); - cs->cal_valid = + cs->cal_valid = SANE_FALSE; return SANE_STATUS_IO_ERROR; } else { - cs->cal_valid = + cs->cal_valid = SANE_TRUE; } @@ -930,7 +930,7 @@ sane_get_parameters (SANE_Handle h, SANE_Parameters *params) { int res, max_width, max_height, max_res; CANONP_Scanner *cs = ((CANONP_Scanner *)h); - DBG(2, ">> sane_get_parameters (h=%p, params=%p)\n", (void*)h, + DBG(2, ">> sane_get_parameters (h=%p, params=%p)\n", (void*)h, (void*)params); if (h == NULL) return SANE_STATUS_INVAL; @@ -946,16 +946,16 @@ sane_get_parameters (SANE_Handle h, SANE_Parameters *params) * version, so this will always work. */ res = res600[cs->vals[OPT_RESOLUTION]]; - /* - * These don't change whether we're scanning or not + /* + * These don't change whether we're scanning or not * NOTE: Assumes options don't change after scanning commences, which * is part of the standard */ /* Copy the options stored in the vals into the scaninfo */ - params->pixels_per_line = + params->pixels_per_line = ((cs->vals[OPT_BR_X] - cs->vals[OPT_TL_X]) * res) / MM_PER_IN; - params->lines = ((cs->vals[OPT_BR_Y] - cs->vals[OPT_TL_Y]) * res) + params->lines = ((cs->vals[OPT_BR_Y] - cs->vals[OPT_TL_Y]) * res) / MM_PER_IN; /* FIXME: Magic numbers ahead! */ @@ -970,17 +970,17 @@ sane_get_parameters (SANE_Handle h, SANE_Parameters *params) max_width = cs->params.scanheadwidth / (max_res / res); - max_height = (cs->params.scanheadwidth == 2552 ? 3508 : 7016) / + max_height = (cs->params.scanheadwidth == 2552 ? 3508 : 7016) / (max_res / res); - if(params->pixels_per_line > max_width) + if(params->pixels_per_line > max_width) params->pixels_per_line = max_width; if(params->lines > max_height) params->lines = max_height; params->depth = cs->vals[OPT_DEPTH] ? 16 : 8; - switch (cs->vals[OPT_COLOUR_MODE]) + switch (cs->vals[OPT_COLOUR_MODE]) { case 0: params->format = SANE_FRAME_GRAY; @@ -997,7 +997,7 @@ sane_get_parameters (SANE_Handle h, SANE_Parameters *params) if (!(params->pixels_per_line)) { params->last_frame = SANE_TRUE; params->lines = 0; - } + } /* Always the "last frame" */ params->last_frame = SANE_TRUE; @@ -1009,7 +1009,7 @@ sane_get_parameters (SANE_Handle h, SANE_Parameters *params) "max_res=%d, res=%d, max_height=%d, br_y=%d, tl_y=%d, " "mm_per_in=%f\n", params->bytes_per_line, params->pixels_per_line, params->lines, - max_res, res, max_height, cs->vals[OPT_BR_Y], + max_res, res, max_height, cs->vals[OPT_BR_Y], cs->vals[OPT_TL_Y], MM_PER_IN); DBG(2, "<< sane_get_parameters\n"); @@ -1047,18 +1047,18 @@ sane_start (SANE_Handle h) res = res600[cs->vals[OPT_RESOLUTION]]; /* Copy the options stored in the vals into the scaninfo */ - cs->scan.width = ((cs->vals[OPT_BR_X] - cs->vals[OPT_TL_X]) * res) + cs->scan.width = ((cs->vals[OPT_BR_X] - cs->vals[OPT_TL_X]) * res) / MM_PER_IN; - cs->scan.height = ((cs->vals[OPT_BR_Y] - cs->vals[OPT_TL_Y]) * res) + cs->scan.height = ((cs->vals[OPT_BR_Y] - cs->vals[OPT_TL_Y]) * res) / MM_PER_IN; cs->scan.xoffset = (cs->vals[OPT_TL_X] * res) / MM_PER_IN; cs->scan.yoffset = (cs->vals[OPT_TL_Y] * res) / MM_PER_IN; - /* - * These values have to pass the requirements of not exceeding - * dimensions (simple clipping) and both width values have to be some - * integer multiple of 4 + /* + * These values have to pass the requirements of not exceeding + * dimensions (simple clipping) and both width values have to be some + * integer multiple of 4 */ /* FIXME: Magic numbers ahead! */ @@ -1074,11 +1074,11 @@ sane_start (SANE_Handle h) max_width = cs->params.scanheadwidth / (max_res / res); - max_height = (cs->params.scanheadwidth == 2552 ? 3508 : 7016) / + max_height = (cs->params.scanheadwidth == 2552 ? 3508 : 7016) / (max_res / res); if (cs->scan.width > max_width) cs->scan.width = max_width; - if (cs->scan.width + cs->scan.xoffset > max_width) cs->scan.xoffset = + if (cs->scan.width + cs->scan.xoffset > max_width) cs->scan.xoffset = max_width - cs->scan.width; if (cs->scan.height > max_height) cs->scan.height = max_height; @@ -1104,7 +1104,7 @@ sane_start (SANE_Handle h) cs->scan.xresolution = i; cs->scan.yresolution = i; - if (((cs->vals[OPT_BR_Y] - cs->vals[OPT_TL_Y]) <= 0) || + if (((cs->vals[OPT_BR_Y] - cs->vals[OPT_TL_Y]) <= 0) || ((cs->vals[OPT_BR_X] - cs->vals[OPT_TL_X]) <= 0)) { DBG(1,"sane_start: height = %d, Width = %d. " @@ -1156,26 +1156,26 @@ sane_read (SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) static SANE_Byte *lbuf; static unsigned int bytesleft; - DBG(2, ">> sane_read (h=%p, buf=%p, maxlen=%d)\n", h, + DBG(2, ">> sane_read (h=%p, buf=%p, maxlen=%d)\n", h, (const void *)buf, maxlen); /* default to returning 0 - for errors */ *lenp = 0; - if ((h == NULL) || (buf == NULL) || (lenp == NULL)) + if ((h == NULL) || (buf == NULL) || (lenp == NULL)) { DBG(1, "sane_read: This frontend's passing me dodgy gear! " - "(h=%p, buf=%p, lenp=%p)\n", + "(h=%p, buf=%p, lenp=%p)\n", (void*)h, (void*)buf, (void*)lenp); return SANE_STATUS_INVAL; } /* Now we have to see if we have some leftover from last time */ - if (read_leftover != NULL) + if (read_leftover != NULL) { - /* feed some more data in until we've run out - don't care - * whether or not we _think_ the scanner is scanning now, + /* feed some more data in until we've run out - don't care + * whether or not we _think_ the scanner is scanning now, * because we may still have data left over to send */ DBG(200, "sane_read: didn't send it all last time\n"); @@ -1204,11 +1204,11 @@ sane_read (SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) return SANE_STATUS_GOOD; } - } + } /* Has the last scan ended (other than by cancelling)? */ - if (((unsigned)cs->scan.height <= (unsigned)cs->lines_scanned) + if (((unsigned)cs->scan.height <= (unsigned)cs->lines_scanned) || (cs->sent_eof) || !(cs->scanning)) { cs->sent_eof = SANE_TRUE; @@ -1220,7 +1220,7 @@ sane_read (SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) return SANE_STATUS_EOF; } - /* At this point we have to read more data from the scanner - or the + /* At this point we have to read more data from the scanner - or the * scan has been cancelled, which means we have to call read_segment * to leave the scanner consistant */ @@ -1230,17 +1230,17 @@ sane_read (SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) else bpl = cs->scan.width * (cs->vals[OPT_COLOUR_MODE] ? 6 : 2); - /* New way: scan a whole scanner buffer full, and return as much as - * the frontend wants. It's faster and more reliable since the + /* New way: scan a whole scanner buffer full, and return as much as + * the frontend wants. It's faster and more reliable since the * scanners crack the shits if we ask for too many small packets */ lines = (BUF_MAX * 4 / 5) / bpl; - if (lines > (cs->scan.height - cs->lines_scanned)) + if (lines > (cs->scan.height - cs->lines_scanned)) lines = cs->scan.height - cs->lines_scanned; if (!lines) { - /* can't fit a whole line into the buffer + /* can't fit a whole line into the buffer * (should never happen!) */ lines = 1; } @@ -1268,16 +1268,16 @@ sane_read (SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) DBG(10, "scan_params->: width=%d, height=%d, xoffset=%d, " "yoffset=%d\n\txresolution=%d, yresolution=%d, " "mode=%d, (lines=%d)\n", - cs->scan.width, cs->scan.height, + cs->scan.width, cs->scan.height, cs->scan.xoffset, cs->scan.yoffset, cs->scan.xresolution, cs->scan.yresolution, cs->scan.mode, lines); DBG(2, ">> read_segment(x, x, x, %d, %d, %d)\n", - lines, cs->cal_valid, + lines, cs->cal_valid, cs->scan.height - cs->lines_scanned); - tmp = sanei_canon_pp_read_segment(&is, &(cs->params), &(cs->scan), - lines, cs->cal_valid, + tmp = sanei_canon_pp_read_segment(&is, &(cs->params), &(cs->scan), + lines, cs->cal_valid, cs->scan.height - cs->lines_scanned); DBG(2, "<< %d read_segment\n", tmp); @@ -1361,7 +1361,7 @@ sane_read (SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) if ((unsigned)cs->lines_scanned >= cs->scan.height) { - /* The scan is over! Don't need to call anything in the + /* The scan is over! Don't need to call anything in the * hardware, it will sort itself out */ DBG(10, "sane_read: Scan is finished.\n"); cs->scanning = SANE_FALSE; @@ -1392,7 +1392,7 @@ sane_cancel (SANE_Handle h) read_leftover = NULL; - if (!(cs->scanning)) + if (!(cs->scanning)) { DBG(2, "<< sane_cancel (not scanning)\n"); return; @@ -1431,7 +1431,7 @@ sane_close (SANE_Handle h) sanei_canon_pp_close_scanner(&(cs->params)); cs->opened = SANE_FALSE; - + /* if it was scanning, it's not any more */ cs->scanning = SANE_FALSE; cs->sent_eof = SANE_TRUE; @@ -1461,9 +1461,9 @@ sane_exit (void) next = dev->next; /* These were only created if the scanner has been init'd */ - + /* Should normally nullify pointers after freeing, but in - * this case we're about to free the whole structure so + * this case we're about to free the whole structure so * theres not a lot of point. */ /* Constraints (mostly) allocated when the scanner is opened */ @@ -1513,17 +1513,17 @@ sane_exit (void) * (Not part of the SANE API) * * Initialises a CANONP_Scanner data structure for a new device. - * NOTE: The device is not ready to scan until initialise() has been + * NOTE: The device is not ready to scan until initialise() has been * called in scan library! * *************************************************************************/ -static SANE_Status init_device(struct parport *pp) +static SANE_Status init_device(struct parport *pp) { int i; static const char *hw_vendor = "CANON"; static const char *hw_type = "flatbed scanner"; static const char *opt_names[] = { - SANE_NAME_NUM_OPTIONS, + SANE_NAME_NUM_OPTIONS, SANE_NAME_SCAN_RESOLUTION, SANE_NAME_SCAN_MODE, SANE_NAME_BIT_DEPTH, @@ -1539,7 +1539,7 @@ static SANE_Status init_device(struct parport *pp) #endif }; static const char *opt_titles[] = { - SANE_TITLE_NUM_OPTIONS, + SANE_TITLE_NUM_OPTIONS, SANE_TITLE_SCAN_RESOLUTION, SANE_TITLE_SCAN_MODE, SANE_TITLE_BIT_DEPTH, @@ -1555,7 +1555,7 @@ static SANE_Status init_device(struct parport *pp) #endif }; static const char *opt_descs[] = { - SANE_DESC_NUM_OPTIONS, + SANE_DESC_NUM_OPTIONS, SANE_DESC_SCAN_RESOLUTION, SANE_DESC_SCAN_MODE, SANE_DESC_BIT_DEPTH, @@ -1583,7 +1583,7 @@ static SANE_Status init_device(struct parport *pp) memset(cs, 0, sizeof(*cs)); #if 0 - if ((cs->params.port = malloc(sizeof(*(cs->params.port)))) == NULL) + if ((cs->params.port = malloc(sizeof(*(cs->params.port)))) == NULL) return SANE_STATUS_NO_MEM; memcpy(cs->params.port, pp, sizeof(*pp)); @@ -1637,7 +1637,7 @@ static SANE_Status init_device(struct parport *pp) cs->opt[OPT_RESOLUTION].unit = SANE_UNIT_DPI; cs->opt[OPT_RESOLUTION].constraint_type = SANE_CONSTRAINT_WORD_LIST; /* should never point at first element (wordlist size) */ - cs->vals[OPT_RESOLUTION] = 1; + cs->vals[OPT_RESOLUTION] = 1; DBG(100, "init_device: configuring opt: colour mode\n"); @@ -1689,8 +1689,8 @@ static SANE_Status init_device(struct parport *pp) /* The calibration button */ cs->opt[OPT_CAL].type = SANE_TYPE_BUTTON; cs->opt[OPT_CAL].constraint_type = SANE_CONSTRAINT_NONE; - if (cs->cal_readonly) - cs->opt[OPT_CAL].cap |= SANE_CAP_INACTIVE; + if (cs->cal_readonly) + cs->opt[OPT_CAL].cap |= SANE_CAP_INACTIVE; #if 0 /* the gamma values (once we do them) */ @@ -1700,8 +1700,8 @@ static SANE_Status init_device(struct parport *pp) #endif /* - * NOTE: Ranges and lists are actually set when scanner is opened, - * becase that's when we find out what sort of scanner it is + * NOTE: Ranges and lists are actually set when scanner is opened, + * becase that's when we find out what sort of scanner it is */ DBG(100, "init_device: done opts\n"); @@ -1720,7 +1720,7 @@ static SANE_Status init_device(struct parport *pp) /************************************************************************* * - * These two are optional ones... maybe if I get really keen? + * These two are optional ones... maybe if I get really keen? * *************************************************************************/ SANE_Status @@ -1739,7 +1739,7 @@ sane_set_io_mode (SANE_Handle h, SANE_Bool non_blocking) SANE_Status sane_get_select_fd (SANE_Handle h, SANE_Int *fdp) { - DBG(2, ">> sane_get_select_fd (%p, %p) (not supported)\n", h, + DBG(2, ">> sane_get_select_fd (%p, %p) (not supported)\n", h, (const void *)fdp); DBG(2, "<< sane_get_select_fd\n"); return SANE_STATUS_UNSUPPORTED; @@ -1762,7 +1762,7 @@ static int init_cal(char *file) if (errno == ENOENT) { /* we need to try and make ~/.sane perhaps - - * find the last / in the file path, and try + * find the last / in the file path, and try * to create it */ if ((tmp = strrchr(file, '/')) == NULL) return -1; @@ -1775,9 +1775,9 @@ static int init_cal(char *file) if ((f = open(file, O_CREAT | O_WRONLY, 0600)) < 0) return -1; } - else + else { - /* Error is something like access denied - too + /* Error is something like access denied - too * hard to fix, so i give up... */ return -1; } @@ -1789,7 +1789,7 @@ static int init_cal(char *file) /************************************************************************* * - * fix_weights_file(): Ensures that the weights_file setting for a given + * fix_weights_file(): Ensures that the weights_file setting for a given * scanner is valid * ************************************************************************/ @@ -1821,7 +1821,7 @@ static SANE_Status fix_weights_file(CANONP_Scanner *cs) /* Get the user's home dir if they used ~ */ if (cs->weights_file[0] == '~') { - if ((tmp = malloc(PATH_MAX)) == NULL) + if ((tmp = malloc(PATH_MAX)) == NULL) return SANE_STATUS_NO_MEM; if ((myhome = getenv("HOME")) == NULL) { @@ -1832,7 +1832,7 @@ static SANE_Status fix_weights_file(CANONP_Scanner *cs) return SANE_STATUS_INVAL; } strncpy(tmp, myhome, PATH_MAX); - strncpy(tmp+strlen(tmp), (cs->weights_file)+1, + strncpy(tmp+strlen(tmp), (cs->weights_file)+1, PATH_MAX-strlen(tmp)); free(cs->weights_file); @@ -1869,8 +1869,8 @@ static SANE_Status fix_weights_file(CANONP_Scanner *cs) i = open(cs->weights_file, O_RDONLY); if (i <= 0) { - /* - * Open failed (do i care why?) + /* + * Open failed (do i care why?) */ DBG(2,"fix_weights_file: error opening cal " "(%s)\n", strerror(errno)); @@ -1904,10 +1904,10 @@ static SANE_Status fix_weights_file(CANONP_Scanner *cs) * PRE: * cs->params.port is not open * POST: - * cs->params.port is left opened iff SANE_STATUS_GOOD returned. + * cs->params.port is left opened iff SANE_STATUS_GOOD returned. */ -SANE_Status detect_mode(CANONP_Scanner *cs) +SANE_Status detect_mode(CANONP_Scanner *cs) { int capabilities, tmp; @@ -1925,7 +1925,7 @@ SANE_Status detect_mode(CANONP_Scanner *cs) DBG(1, "detect_mode: Invalid port.\n"); break; case E1284_SYS: - DBG(1, "detect_mode: System error: %s\n", + DBG(1, "detect_mode: System error: %s\n", strerror(errno)); break; case E1284_INIT: @@ -1973,7 +1973,7 @@ SANE_Status detect_mode(CANONP_Scanner *cs) { cs->ieee1284_mode = M1284_ECP; DBG(10, "detect_mode: Using ECP-H Mode\n"); - } + } else if (capabilities & CAP1284_ECPSWE) { cs->ieee1284_mode = M1284_ECPSWE; @@ -1993,11 +1993,11 @@ SANE_Status detect_mode(CANONP_Scanner *cs) } /* Check to make sure ECP mode really is supported */ - /* Have disabled the hardware ECP check because it's always supported - * by libieee1284 now, and it's too prone to hitting a ppdev bug + /* Have disabled the hardware ECP check because it's always supported + * by libieee1284 now, and it's too prone to hitting a ppdev bug */ - /* Disabled check entirely.. check now in initialise when we + /* Disabled check entirely.. check now in initialise when we * actually do a read */ #if 0 if ((cs->ieee1284_mode == M1284_ECP) || @@ -2005,17 +2005,17 @@ SANE_Status detect_mode(CANONP_Scanner *cs) { DBG(1, "detect_mode: attempting a 0 byte read, if we hang " "here, it's a ppdev bug!\n"); - /* - * 29/06/02 + /* + * 29/06/02 * NOTE: - * This causes an infinite loop in ppdev on 2.4.18. - * Not checking on hardware ECP mode should work-around + * This causes an infinite loop in ppdev on 2.4.18. + * Not checking on hardware ECP mode should work-around * effectively. * - * I have sent email to twaugh about it, should be fixed in + * I have sent email to twaugh about it, should be fixed in * 2.4.19 and above. */ - if (ieee1284_ecp_read_data(cs->params.port, 0, NULL, 0) == + if (ieee1284_ecp_read_data(cs->params.port, 0, NULL, 0) == E1284_NOTIMPL) { DBG(10, "detect_mode: Your version of libieee1284 " diff --git a/backend/canon_pp.conf.in b/backend/canon_pp.conf.in index 14b3110..c12d763 100644 --- a/backend/canon_pp.conf.in +++ b/backend/canon_pp.conf.in @@ -1,4 +1,4 @@ -# Define which port to use if one isn't specified - you should only have +# Define which port to use if one isn't specified - you should only have # one of these lines! # This is the default port to be used - others will be detected ieee1284 parport0 @@ -21,7 +21,7 @@ calibrate ~/.sane/canon_pp-calibration-pp0 parport0 # calibrate /etc/sane/my_calibration parport1 -# Enable the next line if you're having trouble with ECP mode such as I/O +# Enable the next line if you're having trouble with ECP mode such as I/O # errors. Nibble mode is slower, but more reliable. #force_nibble diff --git a/backend/canon_pp.h b/backend/canon_pp.h index 4797924..2dfee98 100644 --- a/backend/canon_pp.h +++ b/backend/canon_pp.h @@ -42,7 +42,7 @@ canon_pp.h: $Revision$ - This file is part of the canon_pp backend, supporting Canon FBX30P + This file is part of the canon_pp backend, supporting Canon FBX30P and NX40P scanners */ @@ -69,7 +69,7 @@ #define CANONP_CONFIG_FILE "canon_pp.conf" /* options: num,res,colour,depth,tl-x,tl-y,br-x,br-y,cal */ /* preview option disabled */ -#define NUM_OPTIONS 9 +#define NUM_OPTIONS 9 #define BUF_MAX 64000 /* Indexes into options array */ @@ -122,4 +122,3 @@ struct CANONP_Scanner_Struct #endif - diff --git a/backend/cardscan.c b/backend/cardscan.c index eab6500..ec776d1 100644 --- a/backend/cardscan.c +++ b/backend/cardscan.c @@ -199,7 +199,7 @@ four times { . . - sane_start() : start image acquisition . . - sane_get_parameters() : returns actual scan parameters . . - sane_read() : read image data (from pipe) - . . (sane_read called multiple times; after sane_read returns EOF, + . . (sane_read called multiple times; after sane_read returns EOF, . . loop may continue with sane_start which may return a 2nd page . . when doing duplex scans, or load the next page from the ADF) . . @@ -226,14 +226,14 @@ four times { #include "cardscan.h" #define DEBUG 1 -#define BUILD 3 +#define BUILD 3 /* values for SANE_DEBUG_CARDSCAN env var: - errors 5 - function trace 10 - function detail 15 - get/setopt cmds 20 - - usb cmd trace 25 + - usb cmd trace 25 - usb cmd detail 30 - useless noise 35 */ @@ -259,7 +259,7 @@ static struct scanner *scanner_devList = NULL; /* * Called by SANE initially. - * + * * From the SANE spec: * This function must be called before any other SANE function can be * called. The behavior of a SANE backend is undefined if this @@ -274,26 +274,26 @@ SANE_Status sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) { authorize = authorize; /* get rid of compiler warning */ - + DBG_INIT (); DBG (10, "sane_init: start\n"); - + sanei_usb_init(); - + if (version_code) *version_code = SANE_VERSION_CODE (SANE_CURRENT_MAJOR, V_MINOR, BUILD); - + DBG (5, "sane_init: cardscan backend %d.%d.%d, from %s\n", SANE_CURRENT_MAJOR, V_MINOR, BUILD, PACKAGE_STRING); - + DBG (10, "sane_init: finish\n"); - + return SANE_STATUS_GOOD; } /* * Called by SANE to find out about supported devices. - * + * * From the SANE spec: * This function can be used to query the list of devices that are * available. If the function executes successfully, it stores a @@ -306,7 +306,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) * returned (devices directly attached to the machine that SANE is * running on). If it is false, the device list includes all remote * devices that are accessible to the SANE library. - * + * * SANE does not require that this function is called before a * sane_open() call is performed. A device name may be specified * explicitly by a user which would make it unnecessary and @@ -324,64 +324,64 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) FILE *fp; int num_devices=0; int i=0; - + local_only = local_only; /* get rid of compiler warning */ - + DBG (10, "sane_get_devices: start\n"); - + global_has_cal_buffer = 1; global_lines_per_block = 16; fp = sanei_config_open (CONFIG_FILE); - + if (fp) { - + DBG (15, "sane_get_devices: reading config file %s\n", CONFIG_FILE); - + while (sanei_config_read (line, PATH_MAX, fp)) { - + lp = line; /* ignore comments */ if (*lp == '#') continue; - + /* skip empty lines */ if (*lp == 0) continue; - + if ((strncmp ("usb", lp, 3) == 0) && isspace (lp[3])) { DBG (15, "sane_get_devices: looking for '%s'\n", lp); sanei_usb_attach_matching_devices(lp, attach_one); } else if (!strncmp(lp, "has_cal_buffer", 14) && isspace (lp[14])) { - + int buf; lp += 14; lp = sanei_config_skip_whitespace (lp); buf = atoi (lp); - + if(buf){ global_has_cal_buffer = 1; } else{ global_has_cal_buffer = 0; } - + DBG (15, "sane_get_devices: setting \"has_cal_buffer\" to %d\n", global_has_cal_buffer); } else if (!strncmp(lp, "lines_per_block", 15) && isspace (lp[15])) { - + int buf; lp += 15; lp = sanei_config_skip_whitespace (lp); buf = atoi (lp); - + if(buf < 1 || buf > 32){ - DBG (15, + DBG (15, "sane_get_devices: \"lines_per_block\"=%d\n out of range", buf ); @@ -398,42 +398,42 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) } fclose (fp); } - + else { DBG (5, "sane_get_devices: no config file '%s', using defaults\n", CONFIG_FILE); - + DBG (15, "sane_get_devices: looking for 'usb 0x08F0 0x0005'\n"); sanei_usb_attach_matching_devices("usb 0x08F0 0x0005", attach_one); } - + for (dev = scanner_devList; dev; dev=dev->next) { DBG (15, "sane_get_devices: found scanner %s\n",dev->device_name); num_devices++; } - + DBG (15, "sane_get_devices: found %d scanner(s)\n",num_devices); - + sane_devArray = calloc (num_devices + 1, sizeof (SANE_Device*)); if (!sane_devArray) return SANE_STATUS_NO_MEM; - + for (dev = scanner_devList; dev; dev=dev->next) { sane_devArray[i++] = (SANE_Device *)&dev->sane; } - + sane_devArray[i] = 0; - + *device_list = sane_devArray; - + DBG (10, "sane_get_devices: finish\n"); - + return SANE_STATUS_GOOD; } /* callback used by sane_get_devices - * build the scanner struct and link to global list - * unless struct is already loaded, then pretend + * build the scanner struct and link to global list + * unless struct is already loaded, then pretend */ static SANE_Status attach_one (const char *device_name) @@ -441,32 +441,32 @@ attach_one (const char *device_name) struct scanner *s; int ret, i; SANE_Word vid, pid; - + DBG (10, "attach_one: start '%s'\n", device_name); - + for (s = scanner_devList; s; s = s->next) { if (strcmp (s->sane.name, device_name) == 0) { DBG (10, "attach_one: already attached!\n"); return SANE_STATUS_GOOD; } } - + /* build a scanner struct to hold it */ DBG (15, "attach_one: init struct\n"); - + if ((s = calloc (sizeof (*s), 1)) == NULL) return SANE_STATUS_NO_MEM; - + /* copy the device name */ s->device_name = strdup (device_name); if (!s->device_name){ free (s); return SANE_STATUS_NO_MEM; } - + /* connect the fd */ DBG (15, "attach_one: connect fd\n"); - + s->fd = -1; ret = connect_fd(s); if(ret != SANE_STATUS_GOOD){ @@ -474,11 +474,11 @@ attach_one (const char *device_name) free (s); return ret; } - + /* clean up the scanner struct based on model */ /* this is the only piece of model specific code */ sanei_usb_get_vendor_product(s->fd,&vid,&pid); - + if(vid == 0x08f0){ s->vendor_name = "CardScan"; if(pid == 0x0005){ @@ -507,10 +507,10 @@ attach_one (const char *device_name) s->vendor_name = "Unknown"; s->product_name = "Unknown"; } - + DBG (15, "attach_one: Found %s scanner %s at %s\n", s->vendor_name, s->product_name, s->device_name); - + /*copy config file settings*/ s->has_cal_buffer = global_has_cal_buffer; s->lines_per_block = global_lines_per_block; @@ -520,7 +520,7 @@ attach_one (const char *device_name) /* try to get calibration */ if(s->has_cal_buffer){ DBG (15, "attach_one: scanner calibration\n"); - + ret = load_calibration(s); if (ret != SANE_STATUS_GOOD) { DBG (5, "sane_start: ERROR: cannot calibrate, incompatible?\n"); @@ -532,13 +532,13 @@ attach_one (const char *device_name) else{ DBG (15, "attach_one: skipping calibration\n"); } - + /* set SANE option 'values' to good defaults */ DBG (15, "attach_one: init options\n"); - - /* go ahead and setup the first opt, because - * frontend may call control_option on it - * before calling get_option_descriptor + + /* go ahead and setup the first opt, because + * frontend may call control_option on it + * before calling get_option_descriptor */ memset (s->opt, 0, sizeof (s->opt)); for (i = 0; i < NUM_OPTIONS; ++i) { @@ -546,29 +546,29 @@ attach_one (const char *device_name) s->opt[i].size = sizeof (SANE_Word); s->opt[i].cap = SANE_CAP_INACTIVE; } - + s->opt[OPT_NUM_OPTS].name = SANE_NAME_NUM_OPTIONS; s->opt[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS; s->opt[OPT_NUM_OPTS].desc = SANE_DESC_NUM_OPTIONS; s->opt[OPT_NUM_OPTS].type = SANE_TYPE_INT; s->opt[OPT_NUM_OPTS].cap = SANE_CAP_SOFT_DETECT; - + DBG (15, "attach_one: init settings\n"); - + /* we close the connection, so that another backend can talk to scanner */ disconnect_fd(s); - + /* load info into sane_device struct */ s->sane.name = s->device_name; s->sane.vendor = s->vendor_name; s->sane.model = s->product_name; s->sane.type = "scanner"; - + s->next = scanner_devList; scanner_devList = s; - + DBG (10, "attach_one: finish\n"); - + return SANE_STATUS_GOOD; } @@ -579,9 +579,9 @@ static SANE_Status connect_fd (struct scanner *s) { SANE_Status ret; - + DBG (10, "connect_fd: start\n"); - + if(s->fd > -1){ DBG (5, "connect_fd: already open\n"); ret = SANE_STATUS_GOOD; @@ -590,13 +590,13 @@ connect_fd (struct scanner *s) DBG (15, "connect_fd: opening USB device\n"); ret = sanei_usb_open (s->device_name, &(s->fd)); } - + if(ret != SANE_STATUS_GOOD){ DBG (5, "connect_fd: could not open device: %d\n", ret); } - + DBG (10, "connect_fd: finish\n"); - + return ret; } @@ -608,25 +608,25 @@ load_calibration(struct scanner *s) unsigned char * buf; size_t bytes = HEADER_SIZE + CAL_COLOR_SIZE*2 + CAL_GRAY_SIZE*2; int j; - + DBG (10, "load_calibration: start\n"); - + buf = malloc(bytes); if(!buf){ DBG(5, "load_calibration: not enough mem for buffer: %ld\n",(long)bytes); return SANE_STATUS_NO_MEM; } - + ret = do_cmd( s, 0, cmd, sizeof(cmd), NULL, 0, buf, &bytes ); - + if (ret == SANE_STATUS_GOOD) { DBG(15, "load_calibration: got GOOD\n"); - + /* * color cal data comes from scaner like: * bbbbbbbBBBBBBBgggggggGGGGGGGrrrrrrrRRRRRRR @@ -634,40 +634,40 @@ load_calibration(struct scanner *s) * reorder the data into two buffers * bbbbbbbgggggggrrrrrrr and BBBBBBBGGGGGGGRRRRRRR */ - + /*dark/light blue*/ memcpy(s->cal_color_b, buf+HEADER_SIZE, PIXELS_PER_LINE); memcpy(s->cal_color_w, buf+HEADER_SIZE+PIXELS_PER_LINE, PIXELS_PER_LINE); - + /*dark/light green*/ memcpy(s->cal_color_b+PIXELS_PER_LINE, buf+HEADER_SIZE+(PIXELS_PER_LINE*2), PIXELS_PER_LINE); memcpy(s->cal_color_w+PIXELS_PER_LINE, buf+HEADER_SIZE+(PIXELS_PER_LINE*3), PIXELS_PER_LINE); - + /*dark/light red*/ memcpy(s->cal_color_b+(PIXELS_PER_LINE*2), buf+HEADER_SIZE+(PIXELS_PER_LINE*4), PIXELS_PER_LINE); memcpy(s->cal_color_w+(PIXELS_PER_LINE*2), buf+HEADER_SIZE+(PIXELS_PER_LINE*5), PIXELS_PER_LINE); - + /* then slide the light data down using the dark offset */ for(j=0;jcal_color_w[j] -= s->cal_color_b[j]; } - + /*dark/light gray*/ memcpy(s->cal_gray_b, buf+HEADER_SIZE+(CAL_COLOR_SIZE*2), PIXELS_PER_LINE); memcpy(s->cal_gray_w, buf+HEADER_SIZE+(CAL_COLOR_SIZE*2)+PIXELS_PER_LINE, PIXELS_PER_LINE); - + /* then slide the light data down using the dark offset */ for(j=0;jcal_gray_w[j] -= s->cal_gray_b[j]; } - + hexdump(35, "cal_color_b:", s->cal_color_b, CAL_COLOR_SIZE); hexdump(35, "cal_color_w:", s->cal_color_w, CAL_COLOR_SIZE); hexdump(35, "cal_gray_b:", s->cal_gray_b, CAL_GRAY_SIZE); @@ -676,9 +676,9 @@ load_calibration(struct scanner *s) else { DBG(5, "load_calibration: error reading data block status = %d\n", ret); } - + DBG (10, "load_calibration: finish\n"); - + return ret; } @@ -697,9 +697,9 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) struct scanner *dev = NULL; struct scanner *s = NULL; SANE_Status ret; - + DBG (10, "sane_open: start\n"); - + if(name[0] == 0){ if(scanner_devList){ DBG (15, "sane_open: no device requested, using first\n"); @@ -725,24 +725,24 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) } } } - + if (!s) { DBG (5, "sane_open: no device found\n"); return SANE_STATUS_INVAL; } - + DBG (15, "sane_open: device %s found\n", s->sane.name); - + *handle = s; - + /* connect the fd so we can talk to scanner */ ret = connect_fd(s); if(ret != SANE_STATUS_GOOD){ return ret; } - + DBG (10, "sane_open: finish\n"); - + return SANE_STATUS_GOOD; } @@ -789,7 +789,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->mode_list[i++]=STRING_GRAYSCALE; s->mode_list[i++]=STRING_COLOR; s->mode_list[i]=NULL; - + opt->name = SANE_NAME_SCAN_MODE; opt->title = SANE_TITLE_SCAN_MODE; opt->desc = SANE_DESC_SCAN_MODE; @@ -805,7 +805,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /** * Gets or sets an option value. - * + * * From the SANE spec: * This function is used to set or inquire the current value of option * number n of the device represented by handle h. The manner in which @@ -816,7 +816,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) * area pointed to by v must be big enough to hold the entire option * value (determined by member size in the corresponding option * descriptor). - * + * * The only exception to this rule is that when setting the value of a * string option, the string pointed to by argument v may be shorter * since the backend will stop reading the option value upon @@ -902,7 +902,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, * below. */ switch (option) { - + /* Mode Group */ case OPT_MODE: if (!strcmp (val, STRING_GRAYSCALE)) { @@ -939,7 +939,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, * completion of that request. Outside of that window, the returned * values are best-effort estimates of what the parameters will be * when sane_start() gets invoked. - * + * * Calling this function before a scan has actually started allows, * for example, to get an estimate of how big the scanned image will * be. The parameters passed to this function are the handle h of the @@ -986,38 +986,38 @@ sane_start (SANE_Handle handle) { struct scanner *s = handle; SANE_Status ret; - + DBG (10, "sane_start: start\n"); - + /* first page of batch */ if(s->started){ DBG(5,"sane_start: previous transfer not finished?"); sane_cancel((SANE_Handle)s); return SANE_STATUS_CANCELLED; } - + /* set clean defaults */ s->started=1; s->bytes_rx=0; s->bytes_tx=0; s->paperless_lines=0; - - /* heat up the lamp */ + + /* heat up the lamp */ if(s->mode == MODE_COLOR){ ret = heat_lamp_color(s); } else{ ret = heat_lamp_gray(s); } - + if (ret != SANE_STATUS_GOOD) { DBG (5, "sane_start: ERROR: failed to heat lamp\n"); sane_cancel((SANE_Handle)s); return ret; } - + DBG (10, "sane_start: finish\n"); - + return SANE_STATUS_GOOD; } @@ -1031,9 +1031,9 @@ heat_lamp_gray(struct scanner *s) size_t bytes = HEADER_SIZE + 1; unsigned char * buf; int i; - + DBG (10, "heat_lamp_gray: start\n"); - + buf = malloc(bytes); if(!buf){ DBG(5, "heat_lamp_gray: not enough mem for buffer: %lu\n", @@ -1042,26 +1042,26 @@ heat_lamp_gray(struct scanner *s) } for(i=0;i<10;i++){ - + ret2 = do_cmd( s, 0, cmd, sizeof(cmd), NULL, 0, buf, &bytes ); - + if (ret2 != SANE_STATUS_GOOD) { DBG(5, "heat_lamp_gray: %d error\n",i); ret = ret2; break; } - + if(!buf[1]){ DBG(5, "heat_lamp_gray: %d got no docs\n",i); ret = SANE_STATUS_NO_DOCS; break; } - + DBG(15, "heat_lamp_gray: %d got: %d %d\n",i, buf[HEADER_SIZE],s->cal_gray_b[0]); @@ -1075,11 +1075,11 @@ heat_lamp_gray(struct scanner *s) ret = SANE_STATUS_DEVICE_BUSY; } } - + free(buf); - + DBG (10, "heat_lamp_gray: finish %d\n",ret); - + return ret; } @@ -1093,9 +1093,9 @@ heat_lamp_color(struct scanner *s) size_t bytes = HEADER_SIZE + 3; unsigned char * buf; int i; - + DBG (10, "heat_lamp_color: start\n"); - + buf = malloc(bytes); if(!buf){ DBG(5, "heat_lamp_color: not enough mem for buffer: %lu\n", @@ -1104,26 +1104,26 @@ heat_lamp_color(struct scanner *s) } for(i=0;i<10;i++){ - + ret2 = do_cmd( s, 0, cmd, sizeof(cmd), NULL, 0, buf, &bytes ); - + if (ret2 != SANE_STATUS_GOOD) { DBG(5, "heat_lamp_color: %d error\n",i); ret = ret2; break; } - + if(!buf[1]){ DBG(5, "heat_lamp_color: %d got no docs\n",i); ret = SANE_STATUS_NO_DOCS; break; } - + DBG(15, "heat_lamp_color: %d got: %d,%d,%d %d,%d,%d\n",i, buf[HEADER_SIZE],buf[HEADER_SIZE+1],buf[HEADER_SIZE+2], s->cal_color_b[0],s->cal_color_b[1],s->cal_color_b[2]); @@ -1140,17 +1140,17 @@ heat_lamp_color(struct scanner *s) ret = SANE_STATUS_DEVICE_BUSY; } } - + free(buf); - + DBG (10, "heat_lamp_color: finish %d\n",ret); - + return ret; } /* * Called by SANE to read data. - * + * * From the SANE spec: * This function is used to read image data from the device * represented by handle h. Argument buf is a pointer to a memory @@ -1158,7 +1158,7 @@ heat_lamp_color(struct scanner *s) * returned is stored in *len. A backend must set this to zero when * the call fails (i.e., when a status other than SANE_STATUS_GOOD is * returned). - * + * * When the call succeeds, the number of bytes returned can be * anywhere in the range from 0 to maxlen bytes. */ @@ -1167,55 +1167,55 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len { struct scanner *s = (struct scanner *) handle; SANE_Status ret=SANE_STATUS_GOOD; - + DBG (10, "sane_read: start\n"); - + *len = 0; - + /* cancelled? */ if(!s->started){ DBG (5, "sane_read: call sane_start first\n"); return SANE_STATUS_CANCELLED; } - + /* have sent all of current buffer */ if(s->bytes_tx == s->bytes_rx){ - + /* at end of data, stop */ if(s->paperless_lines >= MAX_PAPERLESS_LINES){ DBG (15, "sane_read: returning eof\n"); power_down(s); return SANE_STATUS_EOF; } - + /* more to get, reset and go */ s->bytes_tx = 0; s->bytes_rx = 0; - + if(s->mode == MODE_COLOR){ ret = read_from_scanner_color(s); } else{ ret = read_from_scanner_gray(s); } - + if(ret){ DBG(5,"sane_read: returning %d\n",ret); return ret; } } - + /* data in current buffer, send some of it */ *len = s->bytes_rx - s->bytes_tx; if(*len > max_len){ *len = max_len; } - + memcpy(buf,s->buffer+s->bytes_tx,*len); s->bytes_tx += *len; - + DBG (10, "sane_read: %d,%d,%d finish\n", *len,s->bytes_rx,s->bytes_tx); - + return ret; } @@ -1229,9 +1229,9 @@ read_from_scanner_gray(struct scanner *s) size_t bytes = HEADER_SIZE + s->gray_block_size; unsigned char * buf; int i,j; - + DBG (10, "read_from_scanner_gray: start\n"); - + cmd[4] = s->lines_per_block; buf = malloc(bytes); @@ -1240,14 +1240,14 @@ read_from_scanner_gray(struct scanner *s) (long unsigned)bytes); return SANE_STATUS_NO_MEM; } - + ret = do_cmd( s, 0, cmd, sizeof(cmd), NULL, 0, buf, &bytes ); - + if (ret == SANE_STATUS_GOOD) { DBG(15, "read_from_scanner_gray: got GOOD\n"); @@ -1255,19 +1255,19 @@ read_from_scanner_gray(struct scanner *s) if(!buf[1]){ s->paperless_lines += s->lines_per_block; } - + s->bytes_rx = s->gray_block_size; - + /*memcpy(s->buffer,buf+HEADER_SIZE,s->gray_block_size);*/ - + /* reorder the gray data into the struct's buffer */ for(i=0;igray_block_size;i+=PIXELS_PER_LINE){ for(j=0;jcal_gray_b[j]; unsigned char wcal = s->cal_gray_w[j]; - + byte = (byte <= bcal)?0:(byte-bcal); byte = (byte >= wcal)?255:(byte*255/wcal); s->buffer[i+j] = byte; @@ -1277,11 +1277,11 @@ read_from_scanner_gray(struct scanner *s) else { DBG(5, "read_from_scanner_gray: error reading status = %d\n", ret); } - + free(buf); - + DBG (10, "read_from_scanner_gray: finish\n"); - + return ret; } @@ -1294,9 +1294,9 @@ read_from_scanner_color(struct scanner *s) size_t bytes = HEADER_SIZE + s->color_block_size; unsigned char * buf; int i,j,k; - + DBG (10, "read_from_scanner_color: start\n"); - + cmd[4] = s->lines_per_block; buf = malloc(bytes); @@ -1305,14 +1305,14 @@ read_from_scanner_color(struct scanner *s) (long unsigned)bytes); return SANE_STATUS_NO_MEM; } - + ret = do_cmd( s, 0, cmd, sizeof(cmd), NULL, 0, buf, &bytes ); - + if (ret == SANE_STATUS_GOOD) { DBG(15, "read_from_scanner_color: got GOOD\n"); @@ -1320,21 +1320,21 @@ read_from_scanner_color(struct scanner *s) if(!buf[1]){ s->paperless_lines += s->lines_per_block; } - + s->bytes_rx = s->color_block_size; - + /*memcpy(s->buffer,buf+HEADER_SIZE,s->color_block_size);*/ - + /* reorder the color data into the struct's buffer */ for(i=0;icolor_block_size;i+=PIXELS_PER_LINE*3){ for(j=0;jcal_color_b[offset]; unsigned char wcal = s->cal_color_w[offset]; - + byte = (byte <= bcal)?0:(byte-bcal); byte = (byte >= wcal)?255:(byte*255/wcal); s->buffer[i+j*3+k] = byte; @@ -1345,11 +1345,11 @@ read_from_scanner_color(struct scanner *s) else { DBG(5, "read_from_scanner_color: error reading status = %d\n", ret); } - + free(buf); - + DBG (10, "read_from_scanner_color: finish\n"); - + return ret; } @@ -1357,7 +1357,7 @@ read_from_scanner_color(struct scanner *s) * @@ Section 4 - SANE cleanup functions */ /* - * Cancels a scan. + * Cancels a scan. * * From the SANE spec: * This function is used to immediately or as quickly as possible @@ -1393,7 +1393,7 @@ power_down(struct scanner *s) unsigned char buf[6]; size_t bytes = sizeof(buf); int i; - + DBG (10, "power_down: start\n"); for(i=0;i<5;i++){ @@ -1413,9 +1413,9 @@ power_down(struct scanner *s) unsigned char cmd[] = {0x35, 0x01, 0x00, 0xff}; unsigned char buf[5]; size_t bytes = sizeof(buf); - + DBG (10, "power_down: start\n"); - + ret = do_cmd( s, 0, cmd, sizeof(cmd), @@ -1423,15 +1423,15 @@ power_down(struct scanner *s) buf, &bytes ); #endif - + DBG (10, "power_down: finish %d\n",ret); - + return ret; } /* * Ends use of the scanner. - * + * * From the SANE spec: * This function terminates the association between the device handle * passed in argument h and the device it represents. If the device is @@ -1467,7 +1467,7 @@ disconnect_fd (struct scanner *s) /* * Terminates the backend. - * + * * From the SANE spec: * This function must be called to terminate use of a backend. The * function will first close all device handles that still might be diff --git a/backend/cardscan.h b/backend/cardscan.h index a673dc6..56bd08d 100644 --- a/backend/cardscan.h +++ b/backend/cardscan.h @@ -1,12 +1,12 @@ #ifndef CARDSCAN_H #define CARDSCAN_H -/* +/* * Part of SANE - Scanner Access Now Easy. * Please see opening comment in cardscan.c */ -/* ------------------------------------------------------------------------- +/* ------------------------------------------------------------------------- * This option list has to contain all options for all scanners supported by * this driver. If a certain scanner cannot handle a certain option, there's * still the possibility to say so, later. @@ -48,10 +48,10 @@ struct scanner /* --------------------------------------------------------------------- */ /* immutable values which are set during reading of config file. */ - int has_cal_buffer; - int lines_per_block; - int color_block_size; - int gray_block_size; + int has_cal_buffer; + int lines_per_block; + int color_block_size; + int gray_block_size; /* --------------------------------------------------------------------- */ /* changeable SANE_Option structs provide our interface to frontend. */ diff --git a/backend/coolscan-scsidef.h b/backend/coolscan-scsidef.h index 4f1a27e..da7eaa6 100644 --- a/backend/coolscan-scsidef.h +++ b/backend/coolscan-scsidef.h @@ -179,7 +179,7 @@ static scsiblk inquiry = /* ==================================================================== */ /* static unsigned char mode_selectC[] = { - MODE_SELECT, 0x10, 0x00, 0x00, 0x00, 0x00 + MODE_SELECT, 0x10, 0x00, 0x00, 0x00, 0x00 static scsiblk mode_select = { mode_selectC,sizeof(mode_selectC) }; */ @@ -518,7 +518,7 @@ static scsiblk window_descriptor_block = -/* LS-30 has different window-descriptor ! +/* LS-30 has different window-descriptor ! */ static unsigned char window_descriptor_blockC_LS30[] = @@ -529,11 +529,11 @@ static unsigned char window_descriptor_blockC_LS30[] = 0x00, /* 0x00 */ /* Window Identifier */ #define WD_wid_0 0x00 /* Only one supported */ -#define WD_wid_1 0x01 -#define WD_wid_2 0x02 -#define WD_wid_3 0x03 -#define WD_wid_4 0x04 -#define WD_wid_9 0x09 +#define WD_wid_1 0x01 +#define WD_wid_2 0x02 +#define WD_wid_3 0x03 +#define WD_wid_4 0x04 +#define WD_wid_9 0x09 0x00, /* reserved, AUTO */ 0x00, 0x00, /* 0x02 */ @@ -784,7 +784,7 @@ static unsigned char autofocusLS30C[] = static unsigned char autofocuspos[] = { - 0x00, + 0x00, 0x00, 0x00, 0x05, 0x10, /* x-position */ 0x00, 0x00, 0x07, 0x9b, /* y-position */ }; diff --git a/backend/coolscan.c b/backend/coolscan.c index 239b546..4904afc 100644 --- a/backend/coolscan.c +++ b/backend/coolscan.c @@ -35,7 +35,7 @@ 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. @@ -267,10 +267,10 @@ request_sense_parse (unsigned char *sensed_data) return ret; } -/* +/* * wait_scanner should spin until TEST_UNIT_READY returns 0 (GOOD) * returns 0 on success, - * returns -1 on error. + * returns -1 on error. */ static int wait_scanner (Coolscan_t * s) @@ -319,7 +319,7 @@ wait_scanner (Coolscan_t * s) * GOOD * RESERVE UNIT * GOOD - * + * * It is then responsible for installing appropriate signal handlers * to call emergency_give_scanner() if user aborts. */ @@ -331,7 +331,7 @@ coolscan_grab_scanner (Coolscan_t * s) DBG (10, "grabbing scanner\n"); - wait_scanner (s); /* wait for scanner ready, if not print + wait_scanner (s); /* wait for scanner ready, if not print sense and return 1 */ ret = do_scsi_cmd (s->sfd, reserve_unit.cmd, reserve_unit.size, NULL, 0); if (ret) @@ -341,15 +341,15 @@ coolscan_grab_scanner (Coolscan_t * s) return 0; } -/* +/* * Convert a size in ilu to the units expected by the scanner */ static int resDivToVal (int res_div) -{ +{ if (res_div < 1 || res_div > resolution_list[0]) - { + { DBG (1, "Invalid resolution divisor %d \n", res_div); return 2700; } @@ -379,7 +379,7 @@ resValToDiv (int res_val) return res_div; } } -/* +/* * use mode select to force a mesurement divisor of 2700 */ static unsigned char mode_select[] = @@ -414,7 +414,7 @@ coolscan_autofocus_LS30 (Coolscan_t * s) /* Trashes when used in combination with scsi-driver AM53C974.o */ do_scsi_cmd (s->sfd, command_c1.cmd, command_c1.size, NULL, 0); - + DBG (10, "\tWaiting end of Autofocus\n"); wait_scanner (s); DBG (10, "AutoFocused.\n"); @@ -662,7 +662,7 @@ coolscan_set_window_param_LS20 (Coolscan_t * s, int prescan) set_WD_shift_G (buffer_r, s->shift_G); set_WD_shift_B (buffer_r, s->shift_B); - + /* FIXME: LUT-[RGB] */ /* FIXME: stop on/off */ } @@ -738,7 +738,7 @@ coolscan_set_window_param_LS30 (Coolscan_t * s, int wid, int prescan) { set_WD_scanmode_LS30 (buffer_r, WD_Scan); - /* the coolscan LS-30 uses the upper left corner + /* the coolscan LS-30 uses the upper left corner as the origin of coordinates */ /* xmax and ymax are given in 1200 dpi */ set_WD_ULX (buffer_r, s->tlx); @@ -787,11 +787,11 @@ coolscan_set_window_param_LS30 (Coolscan_t * s, int wid, int prescan) set_WD_negative_LS30(buffer_r, s->negative); /* Negative/positive slide */ switch(wid) - { case 1: set_gain_LS30(buffer_r,(s->exposure_R*s->pretv_r)/50); + { case 1: set_gain_LS30(buffer_r,(s->exposure_R*s->pretv_r)/50); break; - case 2: set_gain_LS30(buffer_r,(s->exposure_G*s->pretv_g)/50); + case 2: set_gain_LS30(buffer_r,(s->exposure_G*s->pretv_g)/50); break; - case 3: set_gain_LS30(buffer_r,(s->exposure_B*s->pretv_b)/50); + case 3: set_gain_LS30(buffer_r,(s->exposure_B*s->pretv_b)/50); break; } @@ -837,7 +837,7 @@ coolscan_set_window_param (Coolscan_t * s, int prescan) int ret; ret=0; DBG (10, "set_window_param\n"); - + if(s->LS<2) /* distinquish between old and new scanners */ { ret=coolscan_set_window_param_LS20 (s,prescan); } @@ -847,7 +847,7 @@ coolscan_set_window_param (Coolscan_t * s, int prescan) wait_scanner (s); coolscan_set_window_param_LS30(s,1,prescan); ret=coolscan_set_window_param_LS30(s,2,prescan); - ret=coolscan_set_window_param_LS30(s,3,prescan); + ret=coolscan_set_window_param_LS30(s,3,prescan); if(s->colormode&0x08) { ret=coolscan_set_window_param_LS30(s,9,prescan); } @@ -856,9 +856,9 @@ coolscan_set_window_param (Coolscan_t * s, int prescan) } -/* +/* * The only purpose of get_window is debugging. None of the return parameters - * is currently used. + * is currently used. */ static int coolscan_get_window_param_LS30 (Coolscan_t * s, int wid,int prescanok) @@ -896,11 +896,11 @@ coolscan_get_window_param_LS30 (Coolscan_t * s, int wid,int prescanok) if(prescanok) { switch(wid) - { case 1: s->pretv_r = get_gain_LS30(buf); + { case 1: s->pretv_r = get_gain_LS30(buf); break; - case 2: s->pretv_g = get_gain_LS30(buf); + case 2: s->pretv_g = get_gain_LS30(buf); break; - case 3: s->pretv_b = get_gain_LS30(buf); + case 3: s->pretv_b = get_gain_LS30(buf); break; } } @@ -920,9 +920,9 @@ coolscan_get_window_param_LS30 (Coolscan_t * s, int wid,int prescanok) return 0; } -/* +/* * The only purpose of get_window is debugging. None of the return parameters - * is currently used. + * is currently used. */ static int coolscan_get_window_param_LS20 (Coolscan_t * s) @@ -982,9 +982,9 @@ coolscan_get_window_param_LS20 (Coolscan_t * s) return 0; } -/* +/* * The only purpose of get_window is debugging. None of the return parameters - * is currently used. + * is currently used. */ static int coolscan_get_window_param (Coolscan_t * s, int prescanok) @@ -992,12 +992,12 @@ coolscan_get_window_param (Coolscan_t * s, int prescanok) int ret; DBG (10, "get_window_param\n"); - ret=0; + ret=0; if(s->LS<2) /* distinquish between old and new scanners */ { ret=coolscan_get_window_param_LS20 (s); } else - { + { ret=coolscan_get_window_param_LS30(s,1,prescanok); ret=coolscan_get_window_param_LS30(s,2,prescanok); ret=coolscan_get_window_param_LS30(s,3,prescanok); @@ -1017,24 +1017,24 @@ coolscan_start_scanLS30 (Coolscan_t * s) memcpy (s->buffer, scan.cmd, scan.size); switch(s->colormode) { case RGB: - case GREYSCALE: + case GREYSCALE: channels=s->buffer[4]=0x03; /* window 1 */ s->buffer[6]=0x01; /* window 1 */ s->buffer[7]=0x02; /* window 2 */ - s->buffer[8]=0x03; /* window 3 */ - - break; + s->buffer[8]=0x03; /* window 3 */ + + break; case RGBI: channels=s->buffer[4]=0x04; /* window 1 */ s->buffer[6]=0x01; /* window 1 */ s->buffer[7]=0x02; /* window 2 */ - s->buffer[8]=0x03; /* window 3 */ - s->buffer[9]=0x09; /* window 3 */ - break; + s->buffer[8]=0x03; /* window 3 */ + s->buffer[9]=0x09; /* window 3 */ + break; case IRED: channels=s->buffer[4]=0x01; /* window 1 */ - s->buffer[8]=0x09; /* window 3 */ - break; + s->buffer[8]=0x09; /* window 3 */ + break; } return do_scsi_cmd (s->sfd, s->buffer, scan.size+channels, NULL, 0); @@ -1061,14 +1061,14 @@ prescan (Coolscan_t * s) { coolscan_set_window_param (s, 1); } else - { + { do_scsi_cmd (s->sfd,commande1.cmd,commande1.size,s->buffer,0x0d); wait_scanner (s); wait_scanner (s); coolscan_set_window_param_LS30 (s,1,1); coolscan_set_window_param_LS30 (s,2,1); coolscan_set_window_param_LS30 (s,3,1); - + } ret = coolscan_start_scan(s); @@ -1119,7 +1119,7 @@ do_prescan_now (Coolscan_t * scanner) return SANE_STATUS_DEVICE_BUSY; } - prescan (scanner); + prescan (scanner); if(scanner->LS<2) { get_internal_info(scanner); } @@ -1157,7 +1157,7 @@ send_one_LUT (Coolscan_t * s, SANE_Word * LUT, int reg) gamma = alloca (send.size + s->lutlength*2); memcpy (gamma, send.cmd, send.size); - if(s->LS<2) + if(s->LS<2) { gamma_p = &gamma[send.size]; for (i = 0; i < s->lutlength; i++) { @@ -1166,45 +1166,45 @@ send_one_LUT (Coolscan_t * s, SANE_Word * LUT, int reg) *gamma_p++ = (unsigned char) LUT[i]; } } - else if(s->LS==2) + else if(s->LS==2) { gamma_s = (unsigned short*)( &gamma[send.size]); for (i = 0; i < s->lutlength; i++) { if(s->negative) { - lutval=(unsigned short)(LUT[(s->lutlength-i)]); + lutval=(unsigned short)(LUT[(s->lutlength-i)]); } - else + else { - lutval=(unsigned short)(LUT[i]); - } + lutval=(unsigned short)(LUT[i]); + } if (LUT[i] >= s->max_lut_val) LUT[i] = s->max_lut_val-1; /* broken gtk */ if(s->low_byte_first) /* if on little endian machine: */ { - lutval=((lutval&0x00ff)<<8)+((lutval&0xff00)>>8); /* inverse byteorder */ + lutval=((lutval&0x00ff)<<8)+((lutval&0xff00)>>8); /* inverse byteorder */ } - *gamma_s++ = lutval; + *gamma_s++ = lutval; } } - else if(s->LS==3) + else if(s->LS==3) { gamma_s = (unsigned short*)( &gamma[send.size]); for (i = 0; i < s->lutlength; i++) { if(s->negative) { - lutval=(unsigned short)(LUT[s->lutlength-i]); + lutval=(unsigned short)(LUT[s->lutlength-i]); } - else + else { - lutval=(unsigned short)(LUT[i]); - } + lutval=(unsigned short)(LUT[i]); + } if (LUT[i] >= s->max_lut_val) LUT[i] = s->max_lut_val-1; /* broken gtk */ if(s->low_byte_first) /* if on little endian machine: */ - { lutval=((lutval&0x00ff)<<8)+((lutval&0xff00)>>8); /* inverse byteorder */ + { lutval=((lutval&0x00ff)<<8)+((lutval&0xff00)>>8); /* inverse byteorder */ } - *gamma_s++ = lutval; + *gamma_s++ = lutval; } } return do_scsi_cmd (s->sfd, gamma, send.size + s->lutlength*bytesperval, NULL, 0); @@ -1223,7 +1223,7 @@ send_LUT (Coolscan_t * s) send_one_LUT (s, s->gamma, S_DQ_Reg3); if(s->colormode&0x08) { send_one_LUT (s, s->gamma, S_DQ_Reg9); - } + } } } @@ -1234,7 +1234,7 @@ send_LUT (Coolscan_t * s) send_one_LUT (s, s->gamma_b, S_DQ_Reg3); if(s->colormode&0x08) { send_one_LUT (s, s->gamma_r, S_DQ_Reg9); - } + } } return 0; } @@ -1352,10 +1352,10 @@ pixels_per_line (Coolscan_t * s) { int pic_dot; if(s->LS<2) - { pic_dot = (s->brx - s->tlx + s->x_nres) / s->x_nres; + { pic_dot = (s->brx - s->tlx + s->x_nres) / s->x_nres; } else - { pic_dot = (s->brx - s->tlx + 1) / s->x_nres; + { pic_dot = (s->brx - s->tlx + 1) / s->x_nres; } DBG (10, "pic_dot=%d\n", pic_dot); return pic_dot; @@ -1366,10 +1366,10 @@ lines_per_scan (Coolscan_t * s) { int pic_line; if(s->LS<2) - { pic_line = (s->bry - s->tly + s->y_nres) / s->y_nres; + { pic_line = (s->bry - s->tly + s->y_nres) / s->y_nres; } else - { pic_line = (( s->bry - s->tly + 1.0 ) / s->y_nres); + { pic_line = (( s->bry - s->tly + 1.0 ) / s->y_nres); } DBG (10, "pic_line=%d\n", pic_line); return pic_line; @@ -1384,13 +1384,13 @@ scan_bytes_per_line (Coolscan_t * s) bpl=pixels_per_line (s) * 3; if(s->bits_per_color>8) bpl=bpl*2; return bpl; - break; + break; case RGBI: case IRED: bpl=pixels_per_line (s) * 4; if(s->bits_per_color>8) bpl=bpl*2; return bpl; - break; + break; } return 0; } @@ -1403,18 +1403,18 @@ write_bytes_per_line (Coolscan_t * s) bpl=pixels_per_line (s) * 3; if(s->bits_per_color>8) bpl=bpl*2; return bpl; - break; + break; case RGBI: bpl=pixels_per_line (s) * 4; if(s->bits_per_color>8) bpl=bpl*2; return bpl; - break; + break; case IRED: case GREYSCALE: bpl= pixels_per_line (s) ; if(s->bits_per_color>8) bpl=bpl*2; return bpl; - break; + break; } return 0; } @@ -1449,7 +1449,7 @@ coolscan_check_values (Coolscan_t * s) /* test_little_endian */ -static SANE_Bool +static SANE_Bool coolscan_test_little_endian(void) { SANE_Int testvalue = 255; @@ -1463,7 +1463,7 @@ coolscan_test_little_endian(void) static int get_inquiery_part_LS30 (Coolscan_t * s, unsigned char part) -{ +{ int size; /* Get length of reponse */ @@ -1473,7 +1473,7 @@ get_inquiery_part_LS30 (Coolscan_t * s, unsigned char part) set_inquiry_return_size (inquiry.cmd, size); do_scsi_cmd (s->sfd, inquiry.cmd, inquiry.size, s->buffer, size); - size=get_inquiry_length(s->buffer); + size=get_inquiry_length(s->buffer); size+=4; /* then get inquiry with actual size */ set_inquiry_return_size (inquiry.cmd, size); @@ -1498,7 +1498,7 @@ coolscan_read_var_data_block (Coolscan_t * s,int datatype) set_R_xfer_length (sread.cmd, size); r = do_scsi_cmd (s->sfd, sread.cmd, sread.size, s->buffer, size); - size=s->buffer[5]; + size=s->buffer[5]; set_R_xfer_length (sread.cmd, size); r = do_scsi_cmd (s->sfd, sread.cmd, sread.size, s->buffer, size); @@ -1507,14 +1507,14 @@ coolscan_read_var_data_block (Coolscan_t * s,int datatype) static int get_inquiery_LS30 (Coolscan_t * s) -{ +{ unsigned char part; unsigned char parts[5]; int i; /* Get vector of inquiery parts */ get_inquiery_part_LS30(s, (unsigned char) 0); - /* Get the parts of inquiery */ + /* Get the parts of inquiery */ for(i=0;i<5;i++) { parts[i]=((unsigned char *)s->buffer)[4+11+i]; } @@ -1522,7 +1522,7 @@ get_inquiery_LS30 (Coolscan_t * s) { part=parts[i]; get_inquiery_part_LS30 (s, part); switch(part) - { case 0x0c1:/* max size and resolution */ + { case 0x0c1:/* max size and resolution */ s->adbits = 8; s->outputbits = 8; s->maxres = getnbyte(s->buffer+0x12,2)-1; @@ -1537,7 +1537,7 @@ get_inquiery_LS30 (Coolscan_t * s) break; case 0x0f8: break; - } + } } /* get windows */ @@ -1556,7 +1556,7 @@ get_inquiery_LS30 (Coolscan_t * s) static int get_feeder_type_LS30 (Coolscan_t * s) -{ +{ int size; unsigned char *ptr; int ima; @@ -1668,7 +1668,7 @@ get_internal_info_LS20 (Coolscan_t * s) "\tdevice error code = 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n" "\tpower-on errors = 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n", s->offsetdata_r, s->offsetdata_g, s->offsetdata_b, - s->limitcondition, + s->limitcondition, s->derr[0], s->derr[1], s->derr[2], s->derr[3], s->derr[4], s->derr[5], s->derr[6], s->derr[7], s->power_on_errors[0], s->power_on_errors[1], @@ -1685,7 +1685,7 @@ get_internal_info (Coolscan_t * s) int ret; DBG (10, "get_internal_info\n"); - + if(s->LS<2) /* distinquish between old and new scanners */ { ret=get_internal_info_LS20 (s); } @@ -1734,7 +1734,7 @@ coolscan_initialize_values (Coolscan_t * s) } if(s->LS>=2) /* LS-30 */ { - get_inquiery_LS30(s); /* Info about scanner*/ + get_inquiery_LS30(s); /* Info about scanner*/ select_MUD (s); /* must be before mode_sense */ get_feeder_type_LS30(s); s->wdb_len = 117; @@ -1773,7 +1773,7 @@ coolscan_initialize_values (Coolscan_t * s) s->exposure_B = 50; s->pretv_r=40000; - s->pretv_g=40000; + s->pretv_g=40000; s->pretv_b=40000; s->shift_R = 128; @@ -1808,7 +1808,7 @@ coolscan_initialize_values (Coolscan_t * s) s->gamma_r[i] = s->gamma[i]; s->gamma_g[i] = s->gamma[i]; s->gamma_b[i] = s->gamma[i]; - } + } if (coolscan_test_little_endian() == SANE_TRUE) { @@ -1863,7 +1863,7 @@ sense_handler (int scsi_fd, unsigned char * result, void *arg) return SANE_STATUS_IO_ERROR; /* we only know about this one */ } return request_sense_parse(result); - + } @@ -1904,7 +1904,7 @@ static SANE_String_Const scan_mode_list_LS30[] = { colorStr, grayStr, -#ifdef HAS_IRED +#ifdef HAS_IRED rgbiStr, #endif /* HAS_IRED */ NULL @@ -1928,7 +1928,7 @@ static SANE_String_Const autofocus_mode_list[] = static SANE_String_Const source_list[4] = {NULL, NULL, NULL, NULL}; -static const SANE_Range gamma_range_8 = +static const SANE_Range gamma_range_8 = { 0, /* minimum */ 255, /* maximum */ @@ -1936,21 +1936,21 @@ static const SANE_Range gamma_range_8 = }; -static const SANE_Range gamma_range_9 = +static const SANE_Range gamma_range_9 = { 0, /* minimum */ 511, /* maximum */ 1 /* quantization */ }; -static const SANE_Range gamma_range_10 = +static const SANE_Range gamma_range_10 = { 0, /* minimum */ 1023, /* maximum */ 1 /* quantization */ }; -static const SANE_Range gamma_range_12 = +static const SANE_Range gamma_range_12 = { 0, /* minimum */ 4096, /* maximum */ @@ -2037,7 +2037,7 @@ do_cancel (Coolscan_t * scanner) sanei_thread_kill (scanner->reader_pid); while (sanei_thread_waitpid(scanner->reader_pid, &exit_status) != scanner->reader_pid ); - scanner->reader_pid = -1; + sanei_thread_invalidate (scanner->reader_pid); } if (scanner->sfd >= 0) @@ -2082,10 +2082,10 @@ attach_scanner (const char *devicename, Coolscan_t ** devp) if (NULL == (dev = malloc (sizeof (*dev)))) return SANE_STATUS_NO_MEM; - + dev->row_bufsize = (sanei_scsi_max_request_size < (64 * 1024)) ? sanei_scsi_max_request_size : 64 * 1024; - + if ((dev->buffer = malloc (dev->row_bufsize)) == NULL) /* if ((dev->buffer = malloc (sanei_scsi_max_request_size)) == NULL)*/ return SANE_STATUS_NO_MEM; @@ -2170,16 +2170,16 @@ typedef struct Color_correct_s double sumri; /* sum of red*ired pixel values*/ double sumii; /* sum of ired*ired pixel values*/ double sumrr; /* sum of ired*ired pixel values*/ - int mr; /* factor between red and ired values (*256) */ - int br; /* offset of ired values */ + int mr; /* factor between red and ired values (*256) */ + int br; /* offset of ired values */ } ColorCorrect; -/* --------------------------------------------------------------- +/* --------------------------------------------------------------- function: RGBIfix taks: Correct the infrared channel - + import: unsigned char * rgbimat - RGBI - matrix from scanner int size - number of pixels to correct int *lutr - lookup table for red correction @@ -2188,13 +2188,13 @@ typedef struct Color_correct_s int *lutr - lookup table for red correction export: unsigned char * orgbimat - RGBI - corrected matrix - + written by: Andreas RICK 19.6.1999 - + ----------------------------------------------------------------*/ static int Calc_fix_LUT(Coolscan_t * s) -{ int uselutr,uselutg,uselutb,useluti; +{ int uselutr,uselutg,uselutb,useluti; /* static int irmulr= -34*25; */ int irmulr= -64*25; int irmulg= -1*25; @@ -2207,11 +2207,11 @@ static int Calc_fix_LUT(Coolscan_t * s) irmulg=s->ired_green*(25); irmulb=s->ired_blue*(25); irmuli=25*256; - + if(s->LS==2) /* TODO: right conversion factors for 10 and 12 bit */ { div=4; } - else if(s->LS==3) + else if(s->LS==3) { div=16; } else @@ -2233,10 +2233,10 @@ static int Calc_fix_LUT(Coolscan_t * s) uselutb=s->gamma_b[i]/div; useluti=s->gamma_r[i]/div; } - s->lutr[uselutr]=(int)(irmulr*pow((double)i,(double)0.333333)); - s->lutg[uselutg]=(int)(irmulg*pow((double)i,(double)0.333333)); - s->lutb[uselutb]=(int)(irmulb*pow((double)i,(double)0.333333)); - s->luti[useluti]=(int)(irmuli*pow((double)i,(double)0.333333)); + s->lutr[uselutr]=(int)(irmulr*pow((double)i,(double)0.333333)); + s->lutg[uselutg]=(int)(irmulg*pow((double)i,(double)0.333333)); + s->lutb[uselutb]=(int)(irmulb*pow((double)i,(double)0.333333)); + s->luti[useluti]=(int)(irmuli*pow((double)i,(double)0.333333)); if(uselutr<255) { if(s->lutr[uselutr+1]==0) s->lutr[uselutr+1]=s->lutr[uselutr]; } @@ -2261,12 +2261,12 @@ static int Calc_fix_LUT(Coolscan_t * s) -/* --------------------------------------------------------------- +/* --------------------------------------------------------------- function: RGBIfix taks: Correct the infrared channel - + import: unsigned char * rgbimat - RGBI - matrix from scanner int size - number of pixels to correct int *lutr - lookup table for red correction @@ -2275,20 +2275,20 @@ static int Calc_fix_LUT(Coolscan_t * s) int *lutr - lookup table for red correction export: unsigned char * orgbimat - RGBI - corrected matrix - + written by: Andreas RICK 19.6.1999 - + ----------------------------------------------------------------*/ static int RGBIfix(Coolscan_t * scanner, unsigned char* rgbimat, - unsigned char* orgbimat, + unsigned char* orgbimat, int size, int *lutr, int *lutg, int *lutb, int *luti) - + { unsigned char *pr,*pg,*pb,*pi; unsigned char *opr,*opg,*opb,*opi; @@ -2299,42 +2299,42 @@ static int RGBIfix(Coolscan_t * scanner, for(x=0;x255*256)ii=255*256; if(scanner->negative) { - (*opi)=(unsigned char)(255-(ii>>8)); + (*opi)=(unsigned char)(255-(ii>>8)); } else { - (*opi)=(unsigned char)(ii>>8); + (*opi)=(unsigned char)(ii>>8); } } return 1; } -/* --------------------------------------------------------------- +/* --------------------------------------------------------------- function: RGBIfix16 taks: Correct the infrared channel for 16 bit images (doesn't do anything for now) - + import: unsigned char * rgbimat - RGBI - matrix from scanner int size - number of pixels to correct int *lutr - lookup table for red correction @@ -2343,21 +2343,21 @@ static int RGBIfix(Coolscan_t * scanner, int *lutr - lookup table for red correction export: unsigned char * orgbimat - RGBI - corrected matrix - + written by: Andreas RICK 19.6.1999 - + ----------------------------------------------------------------*/ static int RGBIfix16(Coolscan_t * scanner, unsigned short* rgbimat, - unsigned short* orgbimat, + unsigned short* orgbimat, int size, int *lutr, int *lutg, int *lutb, int *luti) - -{ + +{ unsigned short *pr,*pg,*pb,*pi; unsigned short *opr,*opg,*opb,*opi; int x; @@ -2367,43 +2367,43 @@ static int RGBIfix16(Coolscan_t * scanner, for(x=0;x>8); - (*opg)=(((*pg)&0x00ff)<<8)+(((*pg)&0xff00)>>8); - (*opb)=(((*pb)&0x00ff)<<8)+(((*pb)&0xff00)>>8); - (*opi)=(((*pi)&0x00ff)<<8)+(((*pi)&0xff00)>>8); + (*opr)=(((*pr)&0x00ff)<<8)+(((*pr)&0xff00)>>8); + (*opg)=(((*pg)&0x00ff)<<8)+(((*pg)&0xff00)>>8); + (*opb)=(((*pb)&0x00ff)<<8)+(((*pb)&0xff00)>>8); + (*opi)=(((*pi)&0x00ff)<<8)+(((*pi)&0xff00)>>8); } return 1; } -/* --------------------------------------------------------------- +/* --------------------------------------------------------------- function: rgb2g taks: Convert RGB data to grey - + import: unsigned char * rgbimat - RGB - matrix from scanner int size - size of input data (num pixel) export: unsigned char * gomat - Grey matrix - + written by: Andreas RICK 13.7.1999 - + ----------------------------------------------------------------*/ #define RtoG ((int)(0.27*256)) #define GtoG ((int)(0.54*256)) #define BtoG ((int)(0.19*256)) -static int rgb2g(unsigned char* rgbimat,unsigned char* gomat, +static int rgb2g(unsigned char* rgbimat,unsigned char* gomat, int size) - + { unsigned char *pr,*pg,*pb; unsigned char *opg; @@ -2412,17 +2412,17 @@ static int rgb2g(unsigned char* rgbimat,unsigned char* gomat, for(x=0;x>8); + (*opg)=(unsigned char)(g>>8); } return 1; } -/* --------------------------------------------------------------- +/* --------------------------------------------------------------- function: RGBIfix1 @@ -2433,7 +2433,7 @@ static int rgb2g(unsigned char* rgbimat,unsigned char* gomat, The infrared values is corrected by: Ir=mr*lutr(r)+luti(i) - + import: unsigned char * rgbimat - RGBI - matrix from scanner int size - number of pixels to correct ColorCorrect *cc, @@ -2441,18 +2441,18 @@ static int rgb2g(unsigned char* rgbimat,unsigned char* gomat, int *luti - lookup table for ired correction export: unsigned char * orgbimat - RGBI - corrected matrix - + written by: Andreas RICK 3.7.1999 - + ----------------------------------------------------------------*/ #if 0 -static int RGBIfix1(unsigned char* rgbimat,unsigned char* orgbimat, +static int RGBIfix1(unsigned char* rgbimat,unsigned char* orgbimat, int size, int *lutr, int *lutg, int *lutb, int *luti) - + { unsigned char *pr,*pg,*pb,*pi; unsigned char *opr,*opg,*opb,*opi; ColorCorrect cc; @@ -2468,7 +2468,7 @@ static int RGBIfix1(unsigned char* rgbimat,unsigned char* orgbimat, cc.sumr=cc.sumii=cc.sumrr=cc.sumi=cc.sumri=0.0; for(x=0;x>10)-cc.br)>>2) +128; (*opr)=(*pr); (*opg)=(*pg); - (*opb)=(*pb); + (*opb)=(*pb); if(ii<0) ii=0; if(ii>255) ii=255; - (*opi)=(unsigned char)(ii); + (*opi)=(unsigned char)(ii); } return 1; } @@ -2582,7 +2582,7 @@ reader_process (void *data ) data_left = scan_bytes_per_line (scanner) * lines_per_scan (scanner); - + /*scanner->row_bufsize = sanei_scsi_max_request_size;*/ coolscan_trim_rowbufsize (scanner); /* trim bufsize */ @@ -2612,27 +2612,27 @@ reader_process (void *data ) fclose (fp); return (-1); } - + if (scanner->LS == 1) { /* mirror image for LS-1000 */ bpl = scan_bytes_per_line(scanner); linesPerBuf = data_to_read / bpl; - - for (line = 0, lineOffset = 0; line < linesPerBuf; + + for (line = 0, lineOffset = 0; line < linesPerBuf; line++, lineOffset += bpl ) { - + if (scanner->colormode == RGB) { for (j = 0; j < bpl/2 ; j += 3) { r_data=scanner->buffer[lineOffset + j]; g_data=scanner->buffer[lineOffset + j + 1]; b_data=scanner->buffer[lineOffset + j + 2]; - - scanner->buffer[lineOffset + j] = + + scanner->buffer[lineOffset + j] = scanner->buffer[lineOffset + bpl -1 - j - 2 ]; - scanner->buffer[lineOffset + j + 1] = + scanner->buffer[lineOffset + j + 1] = scanner->buffer[lineOffset + bpl -1 - j - 1 ]; - scanner->buffer[lineOffset + j + 2] = + scanner->buffer[lineOffset + j + 2] = scanner->buffer[lineOffset + bpl -1 - j ]; - + scanner->buffer[lineOffset + bpl -1 - j - 2 ] = r_data; scanner->buffer[lineOffset + bpl -1 - j - 1] = g_data; scanner->buffer[lineOffset + bpl -1 - j] = b_data; @@ -2641,18 +2641,18 @@ reader_process (void *data ) else { for (j = 0; j < bpl/2; j++) { r_data=scanner->buffer[lineOffset + j]; - scanner->buffer[lineOffset + j] = + scanner->buffer[lineOffset + j] = scanner->buffer[lineOffset + bpl - 1 - j]; scanner->buffer[lineOffset + bpl - 1 - j] = r_data; } } - } - } - if(scanner->colormode==RGBI) + } + } + if(scanner->colormode==RGBI) { /* Correct Infrared Channel */ if(scanner->bits_per_color>8) { - RGBIfix16(scanner, (unsigned short * ) scanner->buffer, + RGBIfix16(scanner, (unsigned short * ) scanner->buffer, (unsigned short * )scanner->obuffer, data_to_read/8,scanner->lutr, scanner->lutg,scanner->lutb,scanner->luti); @@ -2672,9 +2672,9 @@ reader_process (void *data ) else { /* or just copy */ memcpy (scanner->obuffer, scanner->buffer,data_to_read); - } + } if((!scanner->low_byte_first)&&(scanner->bits_per_color>8)) - { for(i=0;iobuffer[i]; scanner->obuffer[i]=scanner->obuffer[i+1]; i++; @@ -2682,7 +2682,7 @@ reader_process (void *data ) } } fwrite (scanner->obuffer, 1, data_to_write, fp); - fflush (fp); + fflush (fp); data_left -= data_to_read; DBG (10, "reader_process: buffer of %d bytes read; %d bytes to go\n", data_to_read, data_left); @@ -2786,7 +2786,7 @@ init_options (Coolscan_t * scanner) scanner->opt[OPT_PRESCAN_NOW].constraint.string_list = 0; /* bit depth */ - + bit_depths=0; bit_depth_list[++bit_depths] = 8; if (scanner->LS==2) @@ -2886,7 +2886,7 @@ init_options (Coolscan_t * scanner) scanner->opt[OPT_GAMMA_BIND].type = SANE_TYPE_BOOL; scanner->opt[OPT_GAMMA_BIND].unit = SANE_UNIT_NONE; - + scanner->opt[OPT_ANALOG_GAMMA].name = "analog_gamma"; scanner->opt[OPT_ANALOG_GAMMA].title = "Analog Gamma"; scanner->opt[OPT_ANALOG_GAMMA].desc = "Analog Gamma"; @@ -3243,7 +3243,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) DBG_INIT (); sanei_thread_init (); - + DBG (10, "sane_init\n"); if (version_code) *version_code = SANE_VERSION_CODE (SANE_CURRENT_MAJOR, V_MINOR, 0); @@ -3286,7 +3286,7 @@ sane_exit (void) free (dev->obuffer); free (dev); } - + if (devlist) free (devlist); } @@ -3468,11 +3468,11 @@ sane_control_option (SANE_Handle handle, SANE_Int option, { case AF_NEVER: strcpy (val,neverStr); break; case AF_PREVIEW:strcpy (val,previewStr); - break; + break; case AF_SCAN:if(scanner->LS>=2) strcpy (val,scanStr); - break; + break; case AF_PREANDSCAN:if(scanner->LS>=2) strcpy (val,preandscanStr); - break; + break; } return SANE_STATUS_GOOD; @@ -3567,13 +3567,13 @@ sane_control_option (SANE_Handle handle, SANE_Int option, { case RGB: strcpy (val,colorStr); break; case GREYSCALE:strcpy (val,grayStr); - break; + break; case RGBI:if(scanner->LS>=2) strcpy (val,rgbiStr); else strcpy (val,colorStr); - break; - case IRED:if(scanner->LS>=2) strcpy (val,iredStr); + break; + case IRED:if(scanner->LS>=2) strcpy (val,iredStr); else strcpy (val,grayStr); - break; + break; } if (info) { @@ -3586,7 +3586,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, *(SANE_Word *) val = (scanner->prescan) ? SANE_TRUE : SANE_FALSE; return SANE_STATUS_GOOD; - case OPT_PRESCAN_NOW: + case OPT_PRESCAN_NOW: return SANE_STATUS_GOOD; case OPT_RGB_CONTROL: @@ -3598,7 +3598,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, return SANE_STATUS_GOOD; case OPT_ANALOG_GAMMA: - *(SANE_Word *) val = + *(SANE_Word *) val = (scanner->analog_gamma_r) ? SANE_TRUE : SANE_FALSE; return SANE_STATUS_GOOD; @@ -3692,7 +3692,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, return SANE_STATUS_GOOD; case OPT_PRESCAN_NOW: - do_prescan_now(scanner); + do_prescan_now(scanner); return SANE_STATUS_GOOD; case OPT_BIT_DEPTH: @@ -3811,16 +3811,16 @@ sane_control_option (SANE_Handle handle, SANE_Int option, return SANE_STATUS_GOOD; case OPT_AUTOFOCUS: - if(strcmp(val,neverStr)==0) + if(strcmp(val,neverStr)==0) { scanner->autofocus=AF_NEVER; } - if(strcmp(val,previewStr)==0) + if(strcmp(val,previewStr)==0) { scanner->autofocus=AF_PREVIEW; } - if(strcmp(val,scanStr)==0) + if(strcmp(val,scanStr)==0) { scanner->autofocus=AF_SCAN; } - if(strcmp(val,preandscanStr)==0) + if(strcmp(val,preandscanStr)==0) { scanner->autofocus=AF_PREANDSCAN;; } return SANE_STATUS_GOOD; @@ -3877,7 +3877,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, return SANE_STATUS_GOOD; case OPT_IRED_RED: - scanner->ired_red= *(SANE_Word *) val; + scanner->ired_red= *(SANE_Word *) val; return SANE_STATUS_GOOD; case OPT_SOURCE: @@ -3892,11 +3892,11 @@ sane_control_option (SANE_Handle handle, SANE_Int option, } return SANE_STATUS_GOOD; case OPT_MODE: - if(strcmp(val,colorStr)==0) + if(strcmp(val,colorStr)==0) { scanner->colormode=RGB; scanner->colormode_p=RGB; } - if(strcmp(val,grayStr)==0) + if(strcmp(val,grayStr)==0) { scanner->colormode=GREYSCALE; scanner->colormode_p=GREYSCALE; } @@ -3904,7 +3904,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, { scanner->colormode=RGBI; scanner->colormode_p=RGB; } - if(strcmp(val,iredStr)==0) + if(strcmp(val,iredStr)==0) { scanner->colormode=IRED; scanner->colormode_p=GREYSCALE; } @@ -3951,8 +3951,8 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) break; #ifdef HAS_IRED case RGBI: - params->format = SANE_FRAME_RGBA; - break; + params->format = SANE_FRAME_RGBA; + break; #endif /* HAS_RGBI */ case GREYSCALE: params->format = SANE_FRAME_GRAY; @@ -4039,12 +4039,12 @@ sane_start (SANE_Handle handle) } } else - { + { if(scanner->autofocus & 0x01) { coolscan_autofocus (scanner); } if (scanner->prescan) { - prescan (scanner); + prescan (scanner); if(scanner->LS<2) { get_internal_info(scanner); } @@ -4155,7 +4155,7 @@ sane_cancel (SANE_Handle handle) { sanei_thread_kill ( s->reader_pid ); sanei_thread_waitpid( s->reader_pid, NULL ); - s->reader_pid = -1; + sanei_thread_invalidate (s->reader_pid); } swap_res (s); s->scanning = SANE_FALSE; diff --git a/backend/coolscan.h b/backend/coolscan.h index d3e4154..4f40aa4 100644 --- a/backend/coolscan.h +++ b/backend/coolscan.h @@ -110,7 +110,7 @@ typedef struct Image_Pos { int start; /* start position of image on film strip */ int end; /* end position of image on film strip */ int offset /* always 0 */; - int height; /* image height always 2591 */ + int height; /* image height always 2591 */ } Image_Pos_t; @@ -213,19 +213,19 @@ typedef struct Coolscan int adbits; /* Number of A/D bits [8 or 12] */ int outputbits; /* Number of output image data bits [8] */ int maxres; /* Maximum resolution [2700] (dpi) */ - int xmax; /* X-axis coordinate maximum value - (basic measurement unit when measurement + int xmax; /* X-axis coordinate maximum value + (basic measurement unit when measurement unit divisor = 1200) [1151] */ - int ymax; /* Y-axis coordinate maximum value - (basic measurement unit when measurement + int ymax; /* Y-axis coordinate maximum value + (basic measurement unit when measurement unit divisor = 1200) [1727] */ - int xmaxpix; /* X-axis coordinate maximum value (pixel + int xmaxpix; /* X-axis coordinate maximum value (pixel address value) [2591] */ - int ymaxpix; /* Y-axis coordinate maximum value (pixel + int ymaxpix; /* Y-axis coordinate maximum value (pixel address value) [3887] */ - int ycurrent; /* Current stage position (Y-axis direction + int ycurrent; /* Current stage position (Y-axis direction pixel address) [0-7652] */ - int currentfocus; /* Current focus position (focus direction + int currentfocus; /* Current focus position (focus direction address) [0-200] */ int currentscanpitch; /* Current scan pitch [1-25] */ int autofeeder; /* Provision of auto feeder [Yes: 1, No: 0] */ @@ -276,7 +276,7 @@ typedef struct Coolscan int analog_gamma_g; /* analog gamma green */ int analog_gamma_b; /* analog gamma blue */ - /* Infrared correction values */ + /* Infrared correction values */ int ired_red; int ired_green; int ired_blue; diff --git a/backend/coolscan2.c b/backend/coolscan2.c index d54bf39..04c4d10 100644 --- a/backend/coolscan2.c +++ b/backend/coolscan2.c @@ -36,14 +36,14 @@ 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. This file implements a SANE backend for Nikon Coolscan film scanners. - Written by Andrs Major (andras@users.sourceforge.net), 2001-2002. + Written by András Major (andras@users.sourceforge.net), 2001-2002. The developers wish to express their thanks to Nikon Corporation for providing technical information and thus making this backend diff --git a/backend/coolscan3.c b/backend/coolscan3.c index 42814d1..6163ec9 100644 --- a/backend/coolscan3.c +++ b/backend/coolscan3.c @@ -4,7 +4,7 @@ * * This file implements a SANE backend for Nikon Coolscan film scanners. * - * coolscan3.c is based on coolscan2.c, a work of Andrs Major, Ariel Garcia + * coolscan3.c is based on coolscan2.c, a work of András Major, Ariel Garcia * and Giuseppe Sacco. * * Copyright (C) 2007-08 Tower Technologies diff --git a/backend/dc210.c b/backend/dc210.c index 32da710..85ffb20 100644 --- a/backend/dc210.c +++ b/backend/dc210.c @@ -1,7 +1,7 @@ /*************************************************************************** * SANE - Scanner Access Now Easy. - dc210.c + dc210.c 11/11/98 @@ -43,17 +43,17 @@ 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. + If you do not wish that, delete this exception notice. *************************************************************************** This file implements a SANE backend for the Kodak DC-210 - digital camera. THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!! + digital camera. THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!! (feedback to: sane-dc210@interlinx.bc.ca This backend is based somewhat on the dc25 backend included in this - package by Peter Fales + package by Peter Fales ***************************************************************************/ @@ -395,7 +395,7 @@ init_dc210 (DC210 * camera) } /* send a break to get it back to a known state */ - /* Used to supply a non-zero argument to tcsendbreak(), TCSBRK, + /* Used to supply a non-zero argument to tcsendbreak(), TCSBRK, * and TCSBRKP, but that is system dependent. e.g. on irix a non-zero * value does a drain instead of a break. A zero value is universally * used to send a break. @@ -423,8 +423,8 @@ init_dc210 (DC210 * camera) if (send_pck (camera->fd, init_pck) == -1) { /* - * The camera always powers up at 9600, so we try - * that first. However, it may be already set to + * The camera always powers up at 9600, so we try + * that first. However, it may be already set to * a different speed. Try the entries in the table: */ @@ -455,7 +455,7 @@ init_dc210 (DC210 * camera) } } /* - Set speed to requested speed. + Set speed to requested speed. */ cfsetospeed (&tty_new, Camera.baud); cfsetispeed (&tty_new, Camera.baud); @@ -954,7 +954,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, if (dc210_opt_thumbnails) { - /* + /* * DC210 thumbnail are 96x72x8x3 */ parms.bytes_per_line = 96 * 3; @@ -1190,7 +1190,7 @@ sane_start (SANE_Handle handle) { /* - * Don't allow picture unless there is room in the + * Don't allow picture unless there is room in the * camera. */ if (Camera.pic_left == 0) diff --git a/backend/dc210.conf.in b/backend/dc210.conf.in index 9281043..8293170 100644 --- a/backend/dc210.conf.in +++ b/backend/dc210.conf.in @@ -18,7 +18,7 @@ port=/dev/ttyS0 ## This works for most UNIX's baud=38400 # Prints some extra information during the init phase. This can be -# handy, but note that printing anything to stderr breaks the saned +# handy, but note that printing anything to stderr breaks the saned # network scanning. #dumpinquiry # How many usec (1,000,000ths of a) between writing the command and reading the diff --git a/backend/dc210.h b/backend/dc210.h index fe2b633..2cbbf46 100644 --- a/backend/dc210.h +++ b/backend/dc210.h @@ -1,7 +1,7 @@ /*************************************************************************** * SANE - Scanner Access Now Easy. - dc210.c + dc210.c 11/11/98 @@ -43,17 +43,17 @@ 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. + If you do not wish that, delete this exception notice. *************************************************************************** This file implements a SANE backend for the Kodak DC-210 - digital camera. THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!! + digital camera. THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!! (feedback to: sane-dc210@interlinx.bc.ca This backend is based somewhat on the dc25 backend included in this - package by Peter Fales + package by Peter Fales ***************************************************************************/ diff --git a/backend/dc240.c b/backend/dc240.c index 74ab2e0..0a53405 100644 --- a/backend/dc240.c +++ b/backend/dc240.c @@ -1,13 +1,13 @@ /*************************************************************************** * _S_A_N_E - Scanner Access Now Easy. - dc240.c + dc240.c 03/12/01 - Peter Fales Based on the dc210 driver, (C) 1998 Brian J. Murrell (which is based on dc25 driver (C) 1998 by Peter Fales) - + This file (C) 2001 by Peter Fales This file is part of the SANE package. @@ -46,12 +46,12 @@ 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. + If you do not wish that, delete this exception notice. *************************************************************************** This file implements a SANE backend for the Kodak DC-240 - digital camera. THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!! + digital camera. THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!! (feedback to: dc240-devel@fales-lorenz.net) @@ -440,7 +440,7 @@ init_dc240 (DC240 * camera) } /* send a break to get it back to a known state */ - /* Used to supply a non-zero argument to tcsendbreak(), TCSBRK, + /* Used to supply a non-zero argument to tcsendbreak(), TCSBRK, * and TCSBRKP, but that is system dependent. e.g. on irix a non-zero * value does a drain instead of a break. A zero value is universally * used to send a break. @@ -465,7 +465,7 @@ init_dc240 (DC240 * camera) sleep (1); #endif - /* We seem to get some garbage following the break, so + /* We seem to get some garbage following the break, so * read anything pending */ n = read (camera->fd, buf, 5); @@ -476,8 +476,8 @@ init_dc240 (DC240 * camera) if (send_pck (camera->fd, init_pck) == -1) { /* - * The camera always powers up at 9600, so we try - * that first. However, it may be already set to + * The camera always powers up at 9600, so we try + * that first. However, it may be already set to * a different speed. Try the entries in the table: */ @@ -491,7 +491,7 @@ init_dc240 (DC240 * camera) buf[1], buf[2], buf[3], buf[4]); /* - Set speed to requested speed. + Set speed to requested speed. */ cfsetospeed (&tty_new, Camera.baud); cfsetispeed (&tty_new, Camera.baud); @@ -597,7 +597,7 @@ get_info (DC240 * camera) n = read_dir ("\\PCCARD\\DCIM\\*.*"); /* If we've already got a folder_list, free it up before starting - * the new one + * the new one */ if (folder_list != NULL) { @@ -1083,8 +1083,8 @@ sane_control_option (SANE_Handle handle, SANE_Int option, myinfo |= SANE_INFO_RELOAD_PARAMS; - /* get the image's resolution, unless the camera has no - * pictures yet + /* get the image's resolution, unless the camera has no + * pictures yet */ if (Camera.pic_taken != 0) { @@ -1367,7 +1367,7 @@ sane_start (SANE_Handle handle) if (dc240_opt_snap) { /* - * Don't allow picture unless there is room in the + * Don't allow picture unless there is room in the * camera. */ if (Camera.pic_left == 0) @@ -1719,7 +1719,7 @@ get_picture_info (PictureInfo * pic, SANE_Int p) read_info (e->name); - /* Validate picture info + /* Validate picture info * byte 0 - 1 == picture info * byte 1 - 5 == DC240 Camera * byte 2 - 3 == JFIF file @@ -1736,7 +1736,7 @@ get_picture_info (PictureInfo * pic, SANE_Int p) pic->low_res = info_buf[3] == 0 ? SANE_TRUE : SANE_FALSE; - /* + /* * byte 12 - Year MSB * byte 13 - Year LSB * byte 14 - Month @@ -1991,8 +1991,8 @@ read_info (SANE_String fname) /* - * send_data - Send a data block - assumes all data blocks to camera - * are 60 bytes long + * send_data - Send a data block - assumes all data blocks to camera + * are 60 bytes long */ static SANE_Int @@ -2090,7 +2090,7 @@ dir_insert (struct cam_dirent *entry) } /* - * dir_delete - Delete a directory entry from the linked list of file + * dir_delete - Delete a directory entry from the linked list of file * names */ static SANE_Int @@ -2123,7 +2123,7 @@ dir_delete (SANE_String fname) } /* - * set_res - set picture size depending on resolution settings + * set_res - set picture size depending on resolution settings */ static void set_res (SANE_Int lowres) diff --git a/backend/dc240.conf.in b/backend/dc240.conf.in index 9281043..8293170 100644 --- a/backend/dc240.conf.in +++ b/backend/dc240.conf.in @@ -18,7 +18,7 @@ port=/dev/ttyS0 ## This works for most UNIX's baud=38400 # Prints some extra information during the init phase. This can be -# handy, but note that printing anything to stderr breaks the saned +# handy, but note that printing anything to stderr breaks the saned # network scanning. #dumpinquiry # How many usec (1,000,000ths of a) between writing the command and reading the diff --git a/backend/dc240.h b/backend/dc240.h index fae3628..27e2ee9 100644 --- a/backend/dc240.h +++ b/backend/dc240.h @@ -46,12 +46,12 @@ 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. + If you do not wish that, delete this exception notice. *************************************************************************** This file implements a SANE backend for the Kodak DC-240 - digital camera. THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!! + digital camera. THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!! (feedback to: dc240-devel@fales-lorenz.net) @@ -143,16 +143,16 @@ static SANE_Int get_info (DC240 *); * Resolution: 0x00 = low, 0x01 = high */ #define THUMBS_PCK {0x93, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x1A} -/* - * +/* + * */ #define PICS_PCK {0x9A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A} -/* - * +/* + * */ #define PICS_INFO_PCK {0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A} -/* - * +/* + * */ #define OPEN_CARD_PCK {0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A} #define READ_DIR_PCK {0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A} diff --git a/backend/dc25.c b/backend/dc25.c index fd7a0db..3bb81f5 100644 --- a/backend/dc25.c +++ b/backend/dc25.c @@ -1,7 +1,7 @@ /*************************************************************************** * SANE - Scanner Access Now Easy. - dc25.c + dc25.c $Id$ @@ -43,13 +43,13 @@ 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. + If you do not wish that, delete this exception notice. *************************************************************************** - This file implements a SANE backend for the Kodak DC-25 (and + This file implements a SANE backend for the Kodak DC-25 (and probably the DC-20) digital cameras. THIS IS EXTREMELY ALPHA CODE! - USE AT YOUR OWN RISK!! + USE AT YOUR OWN RISK!! (feedback to: dc25-devel@fales-lorenz.net) @@ -73,7 +73,7 @@ * conversion routine written by YOSHIDA Hideki * * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published + * it under the terms of the GNU General Public License as published * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * @@ -148,12 +148,6 @@ static SANE_Byte contrast_table[256]; static struct pixmap *pp; -static const SANE_Range percentage_range = { - -100 << SANE_FIXED_SCALE_SHIFT, /* minimum */ - 100 << SANE_FIXED_SCALE_SHIFT, /* maximum */ - 0 << SANE_FIXED_SCALE_SHIFT /* quantization */ -}; - static const SANE_Range contrast_range = { 0 << SANE_FIXED_SCALE_SHIFT, /* minimum */ 3 << SANE_FIXED_SCALE_SHIFT, /* maximum */ @@ -352,9 +346,9 @@ static SANE_Parameters parms = { static unsigned char init_pck[] = INIT_PCK; /* - * List of speeds to try to establish connection with the camera. + * List of speeds to try to establish connection with the camera. * Check 9600 first, as it's the speed the camera comes up in, then - * 115200, as that is the one most likely to be configured from a + * 115200, as that is the one most likely to be configured from a * previous run */ static struct pkt_speed speeds[] = { {B9600, {0x96, 0x00}}, @@ -468,8 +462,8 @@ init_dc20 (char *device, speed_t speed) if (send_pck (tfd, init_pck) == -1) { /* - * The camera always powers up at 9600, so we try - * that first. However, it may be already set to + * The camera always powers up at 9600, so we try + * that first. However, it may be already set to * a different speed. Try the entries in the table: */ @@ -594,7 +588,7 @@ get_info (int fd) { /* Not sure where the previous line came from. All the * information I have says that even on the DC20 the number of - * standard res pics left is in byte 23 and the number of high res + * standard res pics left is in byte 23 and the number of high res * pics left is in byte 21. It seems to me that the conservative * approach is to report the number of high res pics left. */ @@ -1114,7 +1108,7 @@ if (verbose) printf ("%s: determine_limits: low_i = %d, high_i = %d\n", __progna /* * The original dc20ctrl program used a default gamma of 0.35, but I thougt - * 0.45 looks better. In addition, since xscanimage seems to always force + * 0.45 looks better. In addition, since xscanimage seems to always force * a resolution of 0.1, I multiply everything by 10 and make the default * 4.5. */ @@ -1689,8 +1683,8 @@ shoot (int fd) cfsetispeed (&tty_temp, B9600); cfsetospeed (&tty_temp, B9600); - /* - * Apparently there is a bug in the DC20 where the response to + /* + * Apparently there is a bug in the DC20 where the response to * the shoot request is always at 9600. The DC25 does not have * this bug, so we skip this block. */ @@ -1728,7 +1722,7 @@ shoot (int fd) { if (CameraInfo.model == 0x25) { - /* + /* * If we don't put this in, the next read will time out * and return failure. Does the DC-20 need it too? */ @@ -1771,7 +1765,7 @@ erase (int fd) * This block may really apply to the DC20 also, but since I * don't have one, it's hard to say for sure. On the DC25, erase * takes long enought that the read may timeout without returning - * any data before the erase is complete. We let this happen + * any data before the erase is complete. We let this happen * up to 4 times, then give up. */ while (count < 4) @@ -2121,7 +2115,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, if (dc25_opt_thumbnails) { - /* + /* * DC20 thumbnail are 80x60 grayscale, DC25 * thumbnails are color. */ @@ -2200,7 +2194,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, /* * erase and erase_one are mutually exclusive. If - * this one is turned on, the other must be off + * this one is turned on, the other must be off */ if (dc25_opt_erase && dc25_opt_erase_one) { @@ -2214,7 +2208,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, /* * erase and erase_one are mutually exclusive. If - * this one is turned on, the other must be off + * this one is turned on, the other must be off */ if (dc25_opt_erase_one && dc25_opt_erase) { @@ -2350,7 +2344,7 @@ sane_start (SANE_Handle handle) { /* - * Don't allow picture unless there is room in the + * Don't allow picture unless there is room in the * camera. */ if (CameraInfo.pic_left == 0) @@ -2359,7 +2353,7 @@ sane_start (SANE_Handle handle) return SANE_STATUS_INVAL; } - /* + /* * DC-20 can only change resolution when camer is empty. * DC-25 can do it any time. */ @@ -2403,7 +2397,7 @@ sane_start (SANE_Handle handle) /* * For thumbnails, we can do things right where we - * start the download, and grab the first block + * start the download, and grab the first block * from the camera. The reamining blocks will be * fetched as necessary by sane_read(). */ @@ -2421,7 +2415,7 @@ sane_start (SANE_Handle handle) return SANE_STATUS_INVAL; } - /* + /* * DC20 thumbnail are 80x60 grayscale, DC25 * thumbnails are color. */ @@ -2439,10 +2433,10 @@ sane_start (SANE_Handle handle) { /* * We do something a little messy, and violates the SANE - * philosophy. However, since it is fairly tricky to + * philosophy. However, since it is fairly tricky to * convert the DC2x "comet" files on the fly, we read in * the entire data stream in sane_open(), and use convert_pic - * to convert it to an in-memory pixpmap. Then when + * to convert it to an in-memory pixpmap. Then when * sane_read() is called, we fill the requests from * memory. A good project for me (or some kind volunteer) * would be to rewrite this and move the actual download @@ -2450,7 +2444,7 @@ sane_start (SANE_Handle handle) * this way is that the data comes down pretty fast, and * it helps to dedicate the processor to this task. We * might get serial port overruns if we try to do other - * things at the same time. + * things at the same time. * * Also, as a side note, I was constantly getting serial * port overruns on a 90MHz pentium until I used hdparm @@ -2634,7 +2628,7 @@ sane_read (SANE_Handle __sane_unused__ handle, SANE_Byte * data, int i; int filesize = parms.bytes_per_line * parms.lines; - /* + /* * If outbytes is zero, then this is the first time * we've been called, so update the contrast table. * The formula is something I came up with that has the @@ -2642,10 +2636,10 @@ sane_read (SANE_Handle __sane_unused__ handle, SANE_Byte * data, * 1) It's a smooth curve that provides the effect I wanted * (bright pixels are made brighter, dim pixels are made * dimmer) - * 2) The contrast parameter can be adjusted to provide + * 2) The contrast parameter can be adjusted to provide * different amounts of contrast. * 3) A parameter of 1.0 can be used to pass the data - * through unchanged (but values around 1.75 look + * through unchanged (but values around 1.75 look * a lot better */ if (outbytes == 0) diff --git a/backend/dc25.conf.in b/backend/dc25.conf.in index 33cfd89..af2cfb1 100644 --- a/backend/dc25.conf.in +++ b/backend/dc25.conf.in @@ -18,6 +18,6 @@ port=/dev/ttyS0 ## This works for most UNIX's baud=38400 # Prints some extra information during the init phase. This can be -# handy, but note that printing anything to stderr breaks the saned +# handy, but note that printing anything to stderr breaks the saned # network scanning. #dumpinquiry diff --git a/backend/dc25.h b/backend/dc25.h index fe12f74..b323835 100644 --- a/backend/dc25.h +++ b/backend/dc25.h @@ -43,13 +43,13 @@ 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. + If you do not wish that, delete this exception notice. *************************************************************************** - This file implements a SANE backend for the Kodak DC-25 (and + This file implements a SANE backend for the Kodak DC-25 (and probably the DC-20) digital cameras. THIS IS EXTREMELY ALPHA CODE! - USE AT YOUR OWN RISK!! + USE AT YOUR OWN RISK!! (feedback to: dc25-devel@fales-lorenz.net) @@ -73,7 +73,7 @@ * conversion routine written by YOSHIDA Hideki * * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published + * it under the terms of the GNU General Public License as published * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * @@ -97,7 +97,7 @@ #include #ifndef TRUE -#define TRUE (1==1) +#define TRUE (1==1) #endif #ifndef FALSE @@ -255,7 +255,7 @@ static int read_data (int fd, unsigned char *buf, int sz); static int end_of_data (int fd); -static int set_pixel_rgb (struct pixmap *, int, int, unsigned char, unsigned char, unsigned char); +static int set_pixel_rgb (struct pixmap *, int, int, unsigned char, unsigned char, unsigned char); static struct pixmap *alloc_pixmap (int x, int y, int d); @@ -266,5 +266,3 @@ static int zoom_x (struct pixmap *source, struct pixmap *dest); static int zoom_y (struct pixmap *source, struct pixmap *dest); static int comet_to_pixmap (unsigned char *, struct pixmap *); - - diff --git a/backend/dell1600n_net.c b/backend/dell1600n_net.c index 3586215..c8717d4 100644 --- a/backend/dell1600n_net.c +++ b/backend/dell1600n_net.c @@ -1,47 +1,47 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2006 Jon Chambers - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. - + Dell 1600n network scan driver for SANE. - + To debug: SANE_DEBUG_DELL1600N_NET=255 scanimage --verbose 2>scan.errs 1>scan.png */ @@ -136,8 +136,8 @@ struct ScannerState unsigned int m_currentPageBytes;/* number of bytes of current page read (host byte order) */ }; -/* state data for a single page - NOTE: all ints are in host byte order +/* state data for a single page + NOTE: all ints are in host byte order */ struct PageInfo { @@ -199,7 +199,7 @@ static void FinalisePacket (struct ComBuf *pBuf); static int MessageIsComplete (unsigned char *pData, size_t size); /* process a registration broadcast response - \return DeviceRecord pointer on success (caller frees), NULL on failure + \return DeviceRecord pointer on success (caller frees), NULL on failure */ static struct DeviceRecord *ProcessFindResponse (unsigned char *pData, size_t size); @@ -400,7 +400,7 @@ sane_get_devices (const SANE_Device *** device_list, remoteAddr.sin_addr.s_addr = 0xFFFFFFFF; /* broadcast */ if (sendto (sock, queryPacket.m_pBuf, queryPacket.m_used, 0, - &remoteAddr, sizeof (remoteAddr)) == -1) + (struct sockaddr *) &remoteAddr, sizeof (remoteAddr)) == -1) { DBG (1, "Error sending broadcast packet\n"); ret = SANE_STATUS_NO_MEM; @@ -638,7 +638,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) height = pageInfo.m_height; imageSize = width * height * 3; - DBG( 5, "sane_get_parameters: bytes remaining on this page: %d, num pages: %d, size: %dx%d\n", + DBG( 5, "sane_get_parameters: bytes remaining on this page: %d, num pages: %d, size: %dx%d\n", pageInfo.m_bytesRemaining, gOpenScanners[iHandle]->m_numPages, width, @@ -705,7 +705,7 @@ sane_start (SANE_Handle handle) /* determine local IP address */ addrSize = sizeof (myAddr); - if (getsockname (gOpenScanners[iHandle]->m_udpFd, &myAddr, &addrSize)) + if (getsockname (gOpenScanners[iHandle]->m_udpFd, (struct sockaddr *) &myAddr, &addrSize)) { DBG (1, "sane_start: Error getting own IP address\n"); return SANE_STATUS_IO_ERROR; @@ -781,7 +781,7 @@ sane_start (SANE_Handle handle) cleanup: FreeComBuf (&buf); - + return status; } /* sane_start */ @@ -805,7 +805,7 @@ sane_read (SANE_Handle handle, SANE_Byte * data, return SANE_STATUS_INVAL; /* check for end of data (no further pages) */ - if ( ( ! gOpenScanners[iHandle]->m_imageData.m_used ) + if ( ( ! gOpenScanners[iHandle]->m_imageData.m_used ) || ( ! gOpenScanners[iHandle]->m_numPages ) ) { /* remove empty page if there are no more cached pages */ @@ -845,7 +845,7 @@ sane_read (SANE_Handle handle, SANE_Byte * data, DBG (5, "sane_read: sending %d bytes, image total %d, %d page bytes remaining, %lu total remaining, image: %dx%d\n", dataSize, gOpenScanners[iHandle]->m_bytesRead, pageInfo.m_bytesRemaining , - (unsigned long)(gOpenScanners[iHandle]->m_imageData.m_used - dataSize), + (unsigned long)(gOpenScanners[iHandle]->m_imageData.m_used - dataSize), pageInfo.m_width, pageInfo.m_height); @@ -1037,7 +1037,7 @@ FreeComBuf (struct ComBuf *pBuf) /* add data to a ComBuf struct \return 0 on success, >0 on failure \note If pData is NULL then buffer size will be increased but no copying will take place - \note In case of failure pBuf will be released using FreeComBuf + \note In case of failure pBuf will be released using FreeComBuf */ int AppendToComBuf (struct ComBuf *pBuf, const unsigned char *pData, @@ -1178,7 +1178,7 @@ MessageIsComplete (unsigned char *pData, size_t size) /***********************************************************/ /* process a registration broadcast response - \return struct DeviceRecord pointer on success (caller frees), NULL on failure + \return struct DeviceRecord pointer on success (caller frees), NULL on failure */ struct DeviceRecord * ProcessFindResponse (unsigned char *pData, size_t size) @@ -1730,7 +1730,7 @@ ProcessTcpResponse (struct ScannerState *pState, struct ComBuf *pTcpBuf) } /* if */ } /* while */ - /* process page data if required */ + /* process page data if required */ if ( bProcessImage ) errorCheck |= ProcessPageData (pState); cleanup: @@ -1824,10 +1824,10 @@ ProcessPageData (struct ScannerState *pState) jpegCinfo.m_cinfo.src = &jpegSrcMgr; jpegCinfo.m_bytesRemaining = pState->m_buf.m_used; jpegCinfo.m_pData = pState->m_buf.m_pBuf; - + jpeg_read_header (&jpegCinfo.m_cinfo, TRUE); jpeg_start_decompress (&jpegCinfo.m_cinfo); - + /* allocate space for a single scanline */ scanLineSize = jpegCinfo.m_cinfo.output_width * jpegCinfo.m_cinfo.output_components; diff --git a/backend/dell1600n_net.conf.in b/backend/dell1600n_net.conf.in index 35d4eae..615549b 100644 --- a/backend/dell1600n_net.conf.in +++ b/backend/dell1600n_net.conf.in @@ -10,5 +10,3 @@ #named_scanner: printer #named_scanner: 192.168.0.20 #named_scanner: myscanner.somewhere.else.org - - diff --git a/backend/dll.c b/backend/dll.c index 5eaa046..8f0983d 100644 --- a/backend/dll.c +++ b/backend/dll.c @@ -42,7 +42,7 @@ allows managing an arbitrary number of SANE backends by using dynamic linking to load backends on demand. */ -/* Please increase version number with every change +/* Please increase version number with every change (don't forget to update dll.desc) */ #define DLL_VERSION "1.0.13" @@ -353,7 +353,7 @@ load (struct backend *be) image_id id = -1; int i, w; directory_which which[3] = { B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, B_BEOS_ADDONS_DIRECTORY }; - + /* look for config files in SANE/conf */ for (w = 0; (w < 3) && (id < 0) && (find_directory(which[w],0,true,path,PATH_MAX) == 0); w++) { @@ -373,7 +373,7 @@ load (struct backend *be) continue; /* try next path */ } be->handle=(void *)id; - + for (i = 0; i < NUM_OPS; ++i) { void *(*op) (); @@ -492,7 +492,7 @@ load (struct backend *be) break; DBG (4, "load: couldn't open `%s' (%s)\n", libname, strerror (errno)); -#ifdef ALT_POSTFIX +#ifdef ALT_POSTFIX /* Some platforms have two ways of storing their libraries, try both postfixes */ snprintf (libname, sizeof (libname), "%s/" PREFIX "%s" ALT_POSTFIX, @@ -882,7 +882,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) char path[1024]; directory_which which[3] = { B_USER_ADDONS_DIRECTORY, B_COMMON_ADDONS_DIRECTORY, B_BEOS_ADDONS_DIRECTORY }; int i; -#endif +#endif DBG_INIT (); @@ -934,7 +934,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) } fclose (fp); -#else +#else /* no ugly config files, just get scanners from their ~/config/add-ons/SANE */ /* look for drivers */ for (i = 0; i < 3; i++) @@ -943,13 +943,13 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) continue; strcat(path,"/SANE/"); dir=opendir(path); - if(!dir) continue; + if(!dir) continue; while((dirent=readdir(dir))) { if((strcmp(dirent->d_name,".")==0) || (strcmp(dirent->d_name,"..")==0)) continue; if((strcmp(dirent->d_name,"dll")==0)) continue; - add_backend(dirent->d_name,0); + add_backend(dirent->d_name,0); } closedir(dir); } @@ -1155,7 +1155,8 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) SANE_Status sane_open (SANE_String_Const full_name, SANE_Handle * meta_handle) { - const char *be_name, *dev_name; + char *be_name; + const char *dev_name; struct meta_scanner *s; SANE_Handle handle; struct backend *be; @@ -1178,16 +1179,7 @@ sane_open (SANE_String_Const full_name, SANE_Handle * meta_handle) dev_name = strchr (full_name, ':'); if (dev_name) { -#ifdef strndupa - be_name = strndupa (full_name, dev_name - full_name); -#else - char *tmp; - - tmp = alloca (dev_name - full_name + 1); - memcpy (tmp, full_name, dev_name - full_name); - tmp[dev_name - full_name] = '\0'; - be_name = tmp; -#endif + be_name = strndup(full_name, dev_name - full_name); ++dev_name; /* skip colon */ } else @@ -1195,10 +1187,13 @@ sane_open (SANE_String_Const full_name, SANE_Handle * meta_handle) /* if no colon interpret full_name as the backend name; an empty backend device name will cause us to open the first device of that backend. */ - be_name = full_name; + be_name = strdup(full_name); dev_name = ""; } + if (!be_name) + return SANE_STATUS_NO_MEM; + if (!be_name[0]) be = first_backend; else @@ -1210,8 +1205,12 @@ sane_open (SANE_String_Const full_name, SANE_Handle * meta_handle) { status = add_backend (be_name, &be); if (status != SANE_STATUS_GOOD) - return status; + { + free(be_name); + return status; + } } + free(be_name); if (!be->inited) { diff --git a/backend/dll.conf.in b/backend/dll.conf.in index 3ee5428..8d459ab 100644 --- a/backend/dll.conf.in +++ b/backend/dll.conf.in @@ -73,6 +73,7 @@ plustek #pnm qcam ricoh +ricoh2 rts8891 s9036 sceptre diff --git a/backend/dmc.c b/backend/dmc.c index c5c57c4..ddc76c3 100644 --- a/backend/dmc.c +++ b/backend/dmc.c @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. Copyright (C) 1998 David F. Skoll - Heavily based on "hp.c" driver for HP Scanners, by + Heavily based on "hp.c" driver for HP Scanners, by David Mosberger-Tang. This file is part of the SANE package. @@ -425,7 +425,7 @@ DMCInitOptions(DMC_Camera *c) c->opt[OPT_TL_X].constraint_type = SANE_CONSTRAINT_RANGE; c->opt[OPT_TL_X].constraint.range = &c->tl_x_range; c->val[OPT_TL_X].w = c->tl_x_range.min; - + /* top-left y */ c->opt[OPT_TL_Y].name = SANE_NAME_SCAN_TL_Y; c->opt[OPT_TL_Y].title = SANE_TITLE_SCAN_TL_Y; @@ -435,7 +435,7 @@ DMCInitOptions(DMC_Camera *c) c->opt[OPT_TL_Y].constraint_type = SANE_CONSTRAINT_RANGE; c->opt[OPT_TL_Y].constraint.range = &c->tl_y_range; c->val[OPT_TL_Y].w = c->tl_y_range.min; - + /* bottom-right x */ c->opt[OPT_BR_X].name = SANE_NAME_SCAN_BR_X; c->opt[OPT_BR_X].title = SANE_TITLE_SCAN_BR_X; @@ -445,7 +445,7 @@ DMCInitOptions(DMC_Camera *c) c->opt[OPT_BR_X].constraint_type = SANE_CONSTRAINT_RANGE; c->opt[OPT_BR_X].constraint.range = &c->br_x_range; c->val[OPT_BR_X].w = c->br_x_range.min; - + /* bottom-right y */ c->opt[OPT_BR_Y].name = SANE_NAME_SCAN_BR_Y; c->opt[OPT_BR_Y].title = SANE_TITLE_SCAN_BR_Y; @@ -485,7 +485,7 @@ DMCInitOptions(DMC_Camera *c) c->opt[OPT_SHUTTER_SPEED].constraint_type = SANE_CONSTRAINT_RANGE; c->opt[OPT_SHUTTER_SPEED].constraint.range = &c->hw->shutterSpeedRange; c->val[OPT_SHUTTER_SPEED].w = c->hw->shutterSpeed; - + c->opt[OPT_WHITE_BALANCE].name = "whitebalance"; c->opt[OPT_WHITE_BALANCE].title = "White Balance"; c->opt[OPT_WHITE_BALANCE].desc = "Selects white balance"; @@ -618,7 +618,7 @@ DMCSetASA(int fd, unsigned int asa) if (i > ASA_100+1) return SANE_STATUS_INVAL; - status = DMCRead(fd, 0x87, 0x4, exposureCalculationResults, + status = DMCRead(fd, 0x87, 0x4, exposureCalculationResults, sizeof(exposureCalculationResults), &len); if (status != SANE_STATUS_GOOD) return status; if (len < sizeof(exposureCalculationResults)) return SANE_STATUS_IO_ERROR; @@ -647,7 +647,7 @@ DMCSetWhiteBalance(int fd, int mode) size_t len; DBG(3, "DMCSetWhiteBalance: %d\n", mode); - status = DMCRead(fd, 0x82, 0x0, userInterfaceSettings, + status = DMCRead(fd, 0x82, 0x0, userInterfaceSettings, sizeof(userInterfaceSettings), &len); if (status != SANE_STATUS_GOOD) return status; if (len < sizeof(userInterfaceSettings)) return SANE_STATUS_IO_ERROR; @@ -749,7 +749,7 @@ DMCReadTwoSuperResolutionLines(DMC_Camera *c, SANE_Byte *buf, int lastLine) greenCoeff = ADVANCE_COEFF(greenCoeff); blueCoeff = ADVANCE_COEFF(blueCoeff); } - + /* Do the next super-resolution line and interpolate vertically */ if (lastLine) { memcpy(buf+BYTES_PER_RAW_LINE*3, buf, BYTES_PER_RAW_LINE*3); @@ -868,7 +868,7 @@ sane_exit(void) free(dev); dev = next; } - + if (devlist) free (devlist); } @@ -1103,7 +1103,7 @@ sane_control_option(SANE_Handle handle, SANE_Int option, if (c->val[OPT_SHUTTER_SPEED].w != * (SANE_Int *) val) { if (info) *info |= SANE_INFO_INEXACT; } - + return SANE_STATUS_GOOD; default: @@ -1328,7 +1328,7 @@ sane_read(SANE_Handle handle, SANE_Byte *buf, SANE_Int max_len, SANE_Int *len) *len = max_len; return SANE_STATUS_GOOD; } - + if (c->imageMode == IMAGE_MFI || c->imageMode == IMAGE_RAW) { /* We have to read complete rows... */ max_len = (max_len / c->params.bytes_per_line) * c->params.bytes_per_line; diff --git a/backend/epjitsu-cmd.h b/backend/epjitsu-cmd.h index 40a5c1a..b71c7b0 100644 --- a/backend/epjitsu-cmd.h +++ b/backend/epjitsu-cmd.h @@ -720,4 +720,3 @@ static unsigned char setWindowScan_S1100_600_U[] = { 0x00, 0x80, 0x80, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - diff --git a/backend/epjitsu.c b/backend/epjitsu.c index ce79a20..bee4310 100644 --- a/backend/epjitsu.c +++ b/backend/epjitsu.c @@ -1,7 +1,7 @@ /* sane - Scanner Access Now Easy. This file implements a SANE backend for the Fujitsu fi-60F, the - ScanSnap S300/S1300, and (hopefully) other Epson-based scanners. + ScanSnap S300/S1300, and (hopefully) other Epson-based scanners. Copyright 2007-2015 by m. allan noah Copyright 2009 by Richard Goedeken @@ -174,7 +174,7 @@ . . - sane_start() : start image acquisition . . - sane_get_parameters() : returns actual scan parameters . . - sane_read() : read image data (from pipe) - . . (sane_read called multiple times; after sane_read returns EOF, + . . (sane_read called multiple times; after sane_read returns EOF, . . loop may continue with sane_start which may return a 2nd page . . when doing duplex scans, or load the next page from the ADF) . . @@ -218,7 +218,7 @@ unsigned char global_firmware_filename[PATH_MAX]; - function trace 10 - function detail 15 - get/setopt cmds 20 - - usb cmd trace 25 + - usb cmd trace 25 - usb cmd detail 30 - useless noise 35 */ @@ -253,7 +253,7 @@ static struct scanner *scanner_devList = NULL; /* * Called by SANE initially. - * + * * From the SANE spec: * This function must be called before any other SANE function can be * called. The behavior of a SANE backend is undefined if this @@ -271,21 +271,21 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) DBG_INIT (); DBG (10, "sane_init: start\n"); - + if (version_code) *version_code = SANE_VERSION_CODE (SANE_CURRENT_MAJOR, V_MINOR, BUILD); - + DBG (5, "sane_init: epjitsu backend %d.%d.%d, from %s\n", SANE_CURRENT_MAJOR, V_MINOR, BUILD, PACKAGE_STRING); DBG (10, "sane_init: finish\n"); - + return SANE_STATUS_GOOD; } /* * Called by SANE to find out about supported devices. - * + * * From the SANE spec: * This function can be used to query the list of devices that are * available. If the function executes successfully, it stores a @@ -298,7 +298,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) * returned (devices directly attached to the machine that SANE is * running on). If it is false, the device list includes all remote * devices that are accessible to the SANE library. - * + * * SANE does not require that this function is called before a * sane_open() call is performed. A device name may be specified * explicitly by a user which would make it unnecessary and @@ -318,36 +318,36 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) FILE *fp; int num_devices=0; int i=0; - + local_only = local_only; /* get rid of compiler warning */ - + DBG (10, "sane_get_devices: start\n"); - + /* mark all existing scanners as missing, attach_one will remove mark */ for (s = scanner_devList; s; s = s->next) { s->missing = 1; } sanei_usb_init(); - + fp = sanei_config_open (CONFIG_FILE); - + if (fp) { - + DBG (15, "sane_get_devices: reading config file %s\n", CONFIG_FILE); - + while (sanei_config_read (line, PATH_MAX, fp)) { - + lp = line; /* ignore comments */ if (*lp == '#') continue; - + /* skip empty lines */ if (*lp == 0) continue; - + if ((strncmp ("firmware", lp, 8) == 0) && isspace (lp[8])) { lp += 8; lp = sanei_config_skip_whitespace (lp); @@ -364,7 +364,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) } fclose (fp); } - + else { DBG (5, "sane_get_devices: no config file '%s'!\n", CONFIG_FILE); @@ -374,7 +374,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) for (s = scanner_devList; s;) { if(s->missing){ DBG (5, "sane_get_devices: missing scanner %s\n",s->sane.name); - + /*splice s out of list by changing pointer in prev to next*/ if(prev){ prev->next = s->next; @@ -387,7 +387,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) s = s->next; free(prev); prev=NULL; - + /*reset head to next s*/ scanner_devList = s; } @@ -397,21 +397,21 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) s=prev->next; } } - + for (s = scanner_devList; s; s=s->next) { DBG (15, "sane_get_devices: found scanner %s\n",s->sane.name); num_devices++; } - + DBG (15, "sane_get_devices: found %d scanner(s)\n",num_devices); if (sane_devArray) free (sane_devArray); - + sane_devArray = calloc (num_devices + 1, sizeof (SANE_Device*)); if (!sane_devArray) return SANE_STATUS_NO_MEM; - + for (s = scanner_devList; s; s=s->next) { sane_devArray[i++] = (SANE_Device *)&s->sane; } @@ -420,24 +420,24 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) if(device_list){ *device_list = sane_devArray; } - + DBG (10, "sane_get_devices: finish\n"); - + return ret; } /* callback used by sane_init - * build the scanner struct and link to global list - * unless struct is already loaded, then pretend + * build the scanner struct and link to global list + * unless struct is already loaded, then pretend */ static SANE_Status attach_one (const char *name) { struct scanner *s; int ret, i; - + DBG (10, "attach_one: start '%s'\n", name); - + for (s = scanner_devList; s; s = s->next) { if (strcmp (s->sane.name, name) == 0) { DBG (10, "attach_one: already attached!\n"); @@ -445,30 +445,30 @@ attach_one (const char *name) return SANE_STATUS_GOOD; } } - + /* build a scanner struct to hold it */ DBG (15, "attach_one: init struct\n"); - + if ((s = calloc (sizeof (*s), 1)) == NULL) return SANE_STATUS_NO_MEM; - + /* copy the device name */ s->sane.name = strdup (name); if (!s->sane.name){ destroy(s); return SANE_STATUS_NO_MEM; } - + /* connect the fd */ DBG (15, "attach_one: connect fd\n"); - + s->fd = -1; ret = connect_fd(s); if(ret != SANE_STATUS_GOOD){ destroy(s); return ret; } - + /* load the firmware file into scanner */ ret = load_fw(s); if (ret != SANE_STATUS_GOOD) { @@ -487,7 +487,7 @@ attach_one (const char *name) DBG (15, "attach_one: Found %s scanner %s at %s\n", s->sane.vendor, s->sane.model, s->sane.name); - + if (strstr (s->sane.model, "S1300i")){ unsigned char stat; @@ -498,7 +498,7 @@ attach_one (const char *name) DBG (5, "attach_one: on USB power?\n"); s->usb_power=1; } - + s->model = MODEL_S1300i; s->has_adf = 1; @@ -530,7 +530,7 @@ attach_one (const char *name) DBG (5, "attach_one: on USB power?\n"); s->usb_power=1; } - + s->model = MODEL_S300; s->has_adf = 1; @@ -624,13 +624,13 @@ attach_one (const char *name) else{ DBG (15, "attach_one: Found other\n"); } - + /* set SANE option 'values' to good defaults */ DBG (15, "attach_one: init options\n"); - - /* go ahead and setup the first opt, because - * frontend may call control_option on it - * before calling get_option_descriptor + + /* go ahead and setup the first opt, because + * frontend may call control_option on it + * before calling get_option_descriptor */ memset (s->opt, 0, sizeof (s->opt)); for (i = 0; i < NUM_OPTIONS; ++i) { @@ -638,23 +638,23 @@ attach_one (const char *name) s->opt[i].size = sizeof (SANE_Word); s->opt[i].cap = SANE_CAP_INACTIVE; } - + s->opt[OPT_NUM_OPTS].name = SANE_NAME_NUM_OPTIONS; s->opt[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS; s->opt[OPT_NUM_OPTS].desc = SANE_DESC_NUM_OPTIONS; s->opt[OPT_NUM_OPTS].cap = SANE_CAP_SOFT_DETECT; - + DBG (15, "attach_one: init settings\n"); ret = change_params(s); /* we close the connection, so that another backend can talk to scanner */ disconnect_fd(s); - + s->next = scanner_devList; scanner_devList = s; - + DBG (10, "attach_one: finish\n"); - + return SANE_STATUS_GOOD; } @@ -665,9 +665,9 @@ static SANE_Status connect_fd (struct scanner *s) { SANE_Status ret; - + DBG (10, "connect_fd: start\n"); - + if(s->fd > -1){ DBG (5, "connect_fd: already open\n"); ret = SANE_STATUS_GOOD; @@ -676,13 +676,13 @@ connect_fd (struct scanner *s) DBG (15, "connect_fd: opening USB device\n"); ret = sanei_usb_open (s->sane.name, &(s->fd)); } - + if(ret != SANE_STATUS_GOOD){ DBG (5, "connect_fd: could not open device: %d\n", ret); } - + DBG (10, "connect_fd: finish\n"); - + return ret; } @@ -701,7 +701,7 @@ load_fw (struct scanner *s) size_t cmdLen; unsigned char stat[2]; size_t statLen; - + DBG (10, "load_fw: start\n"); /*check status*/ @@ -712,7 +712,7 @@ load_fw (struct scanner *s) DBG (5, "load_fw: firmware already loaded?\n"); return SANE_STATUS_GOOD; } - + if(!global_firmware_filename[0]){ DBG (5, "load_fw: missing filename\n"); return SANE_STATUS_NO_DOCS; @@ -757,7 +757,7 @@ load_fw (struct scanner *s) cmd[1] = 0x06; cmdLen = 2; statLen = 1; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -774,14 +774,14 @@ load_fw (struct scanner *s) free(buf); return SANE_STATUS_IO_ERROR; } - + /*length/data*/ cmd[0] = 0x01; cmd[1] = 0x00; cmd[2] = 0x01; cmd[3] = 0x00; cmdLen = 4; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -803,7 +803,7 @@ load_fw (struct scanner *s) cmdLen = 1; statLen = 1; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -818,13 +818,13 @@ load_fw (struct scanner *s) DBG (5, "load_fw: bad stat on cmd 3\n"); return SANE_STATUS_IO_ERROR; } - + /*reinit*/ cmd[0] = 0x1b; cmd[1] = 0x16; cmdLen = 2; statLen = 1; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -843,7 +843,7 @@ load_fw (struct scanner *s) cmd[0] = 0x80; cmdLen = 1; statLen = 1; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -882,7 +882,7 @@ get_stat(struct scanner *s) size_t cmdLen; unsigned char stat[2]; size_t statLen; - + DBG (10, "get_stat: start\n"); /*check status*/ @@ -890,7 +890,7 @@ get_stat(struct scanner *s) cmd[1] = 0x03; cmdLen = 2; statLen = 2; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -928,7 +928,7 @@ get_ident(struct scanner *s) NULL, 0, in, &inLen ); - + if (ret != SANE_STATUS_GOOD){ return ret; } @@ -945,7 +945,7 @@ get_ident(struct scanner *s) s->sane.model= strndup((char *)in+8, 24); s->sane.type = "scanner"; - + DBG (10, "get_ident: finish\n"); return ret; } @@ -965,7 +965,7 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) struct scanner *dev = NULL; struct scanner *s = NULL; SANE_Status ret; - + DBG (10, "sane_open: start\n"); if(scanner_devList){ @@ -973,13 +973,13 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) } else{ DBG (15, "sane_open: no scanners currently attached, attaching\n"); - + ret = sane_get_devices(NULL,0); if(ret != SANE_STATUS_GOOD){ return ret; } } - + if(name[0] == 0){ DBG (15, "sane_open: no device requested, using default\n"); s = scanner_devList; @@ -994,24 +994,24 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) } } } - + if (!s) { DBG (5, "sane_open: no device found\n"); return SANE_STATUS_INVAL; } - + DBG (15, "sane_open: device %s found\n", s->sane.name); - + *handle = s; - + /* connect the fd so we can talk to scanner */ ret = connect_fd(s); if(ret != SANE_STATUS_GOOD){ return ret; } - + DBG (10, "sane_open: finish\n"); - + return SANE_STATUS_GOOD; } @@ -1086,7 +1086,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->mode_list[i++]=STRING_GRAYSCALE; s->mode_list[i++]=STRING_COLOR; s->mode_list[i]=NULL; - + opt->name = SANE_NAME_SCAN_MODE; opt->title = SANE_TITLE_SCAN_MODE; opt->desc = SANE_DESC_SCAN_MODE; @@ -1130,7 +1130,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->tl_x_range.min = SCANNER_UNIT_TO_FIXED_MM(0); s->tl_x_range.max = SCANNER_UNIT_TO_FIXED_MM(get_page_width(s)-s->min_x); s->tl_x_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_TL_X; opt->title = SANE_TITLE_SCAN_TL_X; opt->desc = SANE_DESC_SCAN_TL_X; @@ -1149,7 +1149,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->tl_y_range.min = SCANNER_UNIT_TO_FIXED_MM(0); s->tl_y_range.max = SCANNER_UNIT_TO_FIXED_MM(get_page_height(s)-s->min_y); s->tl_y_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_TL_Y; opt->title = SANE_TITLE_SCAN_TL_Y; opt->desc = SANE_DESC_SCAN_TL_Y; @@ -1167,7 +1167,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->br_x_range.min = SCANNER_UNIT_TO_FIXED_MM(s->min_x); s->br_x_range.max = SCANNER_UNIT_TO_FIXED_MM(get_page_width(s)); s->br_x_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_BR_X; opt->title = SANE_TITLE_SCAN_BR_X; opt->desc = SANE_DESC_SCAN_BR_X; @@ -1186,7 +1186,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->br_y_range.min = SCANNER_UNIT_TO_FIXED_MM(s->min_y); s->br_y_range.max = SCANNER_UNIT_TO_FIXED_MM(get_page_height(s)); s->br_y_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_BR_Y; opt->title = SANE_TITLE_SCAN_BR_Y; opt->desc = SANE_DESC_SCAN_BR_Y; @@ -1377,7 +1377,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_adf) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -1389,7 +1389,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_adf) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -1401,7 +1401,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_adf) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -1413,7 +1413,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_adf) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -1425,7 +1425,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_adf) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -1434,7 +1434,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /** * Gets or sets an option value. - * + * * From the SANE spec: * This function is used to set or inquire the current value of option * number n of the device represented by handle h. The manner in which @@ -1445,7 +1445,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) * area pointed to by v must be big enough to hold the entire option * value (determined by member size in the corresponding option * descriptor). - * + * * The only exception to this rule is that when setting the value of a * string option, the string pointed to by argument v may be shorter * since the backend will stop reading the option value upon @@ -1574,22 +1574,22 @@ sane_control_option (SANE_Handle handle, SANE_Int option, get_hardware_status(s); *val_p = s->hw_scan_sw; return SANE_STATUS_GOOD; - + case OPT_HOPPER: get_hardware_status(s); *val_p = s->hw_hopper; return SANE_STATUS_GOOD; - + case OPT_TOP: get_hardware_status(s); *val_p = s->hw_top; return SANE_STATUS_GOOD; - + case OPT_ADF_OPEN: get_hardware_status(s); *val_p = s->hw_adf_open; return SANE_STATUS_GOOD; - + case OPT_SLEEP: get_hardware_status(s); *val_p = s->hw_sleep; @@ -1630,7 +1630,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, * below. */ switch (option) { - + /* Mode Group */ case OPT_SOURCE: if (!strcmp (val, STRING_ADFFRONT)) { @@ -1766,7 +1766,7 @@ static void update_transfer_totals(struct transfer * t) { if (t->image == NULL) return; - + t->total_bytes = t->line_stride * t->image->height; t->rx_bytes = 0; t->done = 0; @@ -1810,7 +1810,7 @@ static struct model_res settings[] = { /*S300 AC*/ /* model mode xres yres u mxx mnx mxy mny lin_s pln_s pln_w bh cls cps cpw */ - { MODEL_S300, MODE_COLOR, 150, 150, 0, 1296, 32, 2662, 32, 4256*3, 1480*3, 1296, 41, 8512*3, 2960*3, 2592, + { MODEL_S300, MODE_COLOR, 150, 150, 0, 1296, 32, 2662, 32, 4256*3, 1480*3, 1296, 41, 8512*3, 2960*3, 2592, setWindowCoarseCal_S300_150, setWindowFineCal_S300_150, setWindowSendCal_S300_150, sendCal1Header_S300_150, sendCal2Header_S300_150, setWindowScan_S300_150 }, @@ -2056,7 +2056,7 @@ change_params(struct scanner *s) s->page_width = s->min_x; s->tl_x = (s->max_x - s->page_width)/2; s->br_x = (s->max_x + s->page_width)/2; - + /*=============================================================*/ /* set up the calibration scan structs */ /* generally full width, short height, full resolution */ @@ -2102,7 +2102,7 @@ change_params(struct scanner *s) s->sendcal.y_res = settings[i].y_res; s->sendcal.pages = img_pages; s->sendcal.buffer = NULL; - + /*=============================================================*/ /* set up the fullscan parameters */ /* this is bookkeeping for what we actually pull from the scanner */ @@ -2230,7 +2230,7 @@ change_params(struct scanner *s) s->pages[SIDE_BACK].done = 0; DBG (10, "change_params: finish\n"); - + return ret; } @@ -2238,7 +2238,7 @@ change_params(struct scanner *s) used by scanners to implement brightness/contrast/gamma or by backends to speed binarization/thresholding - offset and slope inputs are -127 to +127 + offset and slope inputs are -127 to +127 slope rotates line around central input/output val, 0 makes horizontal line @@ -2254,9 +2254,9 @@ change_params(struct scanner *s) offset moves line vertically, and clamps to output range 0 keeps the line crossing the center of the table - high low + high low . xxxxxxxx . - . x . + . x . out x . x . . x ............ xxxxxxxx.... @@ -2285,7 +2285,7 @@ load_lut (unsigned char * lut, * first [-127,127] to [-1,1] * then multiply by PI/2 to convert to radians * then take the tangent (T.O.A) - * then multiply by the normal linear slope + * then multiply by the normal linear slope * because the table may not be square, i.e. 1024x256*/ rise = tan((double)slope/127 * M_PI/2) * max_out_val / max_in_val; @@ -2332,7 +2332,7 @@ load_lut (unsigned char * lut, * completion of that request. Outside of that window, the returned * values are best-effort estimates of what the parameters will be * when sane_start() gets invoked. - * + * * Calling this function before a scan has actually started allows, * for example, to get an estimate of how big the scanned image will * be. The parameters passed to this function are the handle h of the @@ -2389,9 +2389,9 @@ sane_start (SANE_Handle handle) struct scanner *s = handle; SANE_Status ret; int i; - + DBG (10, "sane_start: start\n"); - + /* set side marker on first page */ if(!s->started){ if(s->source == SOURCE_ADF_BACK){ @@ -2462,7 +2462,7 @@ sane_start (SANE_Handle handle) sane_cancel((SANE_Handle)s); return ret; } - + ret = finecal(s); if (ret != SANE_STATUS_GOOD) { DBG (5, "sane_start: ERROR: failed to finecal\n"); @@ -2476,14 +2476,14 @@ sane_start (SANE_Handle handle) sane_cancel((SANE_Handle)s); return ret; } - + ret = lamp(s,1); if (ret != SANE_STATUS_GOOD) { DBG (5, "sane_start: ERROR: failed to heat lamp\n"); sane_cancel((SANE_Handle)s); return ret; } - + /*should this be between each page*/ ret = set_window(s,WINDOW_SCAN); if (ret != SANE_STATUS_GOOD) { @@ -2491,7 +2491,7 @@ sane_start (SANE_Handle handle) sane_cancel((SANE_Handle)s); return ret; } - + } /* reset everything when starting any front, or just back */ @@ -2503,7 +2503,7 @@ sane_start (SANE_Handle handle) s->fullscan.done = 0; s->fullscan.rx_bytes = 0; s->fullscan.total_bytes = s->fullscan.width_bytes * s->fullscan.height; - + /* reset block */ update_transfer_totals(&s->block_xfr); @@ -2532,7 +2532,7 @@ sane_start (SANE_Handle handle) } DBG (10, "sane_start: finish\n"); - + return SANE_STATUS_GOOD; } @@ -2644,7 +2644,7 @@ coarsecal_send_cal(struct scanner *s, unsigned char *pay) unsigned char cmd[2]; unsigned char stat[1]; size_t cmdLen,statLen,payLen; - + DBG (5, "coarsecal_send_cal: start\n"); /* send coarse cal (c6) */ cmd[0] = 0x1b; @@ -2652,7 +2652,7 @@ coarsecal_send_cal(struct scanner *s, unsigned char *pay) cmdLen = 2; stat[0] = 0; statLen = 1; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -2667,7 +2667,7 @@ coarsecal_send_cal(struct scanner *s, unsigned char *pay) DBG (5, "coarsecal_send_cal: cmd bad c6 status?\n"); return SANE_STATUS_IO_ERROR; } - + /*send coarse cal payload*/ stat[0] = 0; statLen = 1; @@ -2708,7 +2708,7 @@ coarsecal_get_line(struct scanner *s, struct image *img) cmdLen = 2; stat[0] = 0; statLen = 1; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -2726,7 +2726,7 @@ coarsecal_get_line(struct scanner *s, struct image *img) s->cal_image.image = img; update_transfer_totals(&s->cal_image); - + while(!s->cal_image.done){ ret = read_from_scanner(s,&s->cal_image); if(ret){ @@ -2782,7 +2782,7 @@ coarsecal_dark(struct scanner *s, unsigned char *pay) } ret = coarsecal_send_cal(s, pay); - + DBG(15, "coarsecal_dark offset: parameter front: %i back: %i\n", param[0], param[1]); ret = coarsecal_get_line(s, &s->coarsecal); @@ -2857,7 +2857,7 @@ coarsecal_light(struct scanner *s, unsigned char *pay) return ret; } - try_count = 8; + try_count = 8; param[0] = pay[11]; param[1] = pay[13]; low_param[0] = low_param[1] = 0; @@ -2872,7 +2872,7 @@ coarsecal_light(struct scanner *s, unsigned char *pay) DBG(15, "coarsecal_light gain: parameter front: %i back: %i\n", param[0], param[1]); ret = coarsecal_get_line(s, &s->coarsecal); - + /* gather statistics: count the proportion of 255-valued pixels in each color channel */ /* count the average pixel value in each color channel */ for (i = 0; i < s->coarsecal.pages; i++) @@ -3119,7 +3119,7 @@ finecal_send_cal(struct scanner *s) /*second unknown cal block*/ cmd[1] = 0xc4; statLen = 1; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -3441,13 +3441,13 @@ lamp(struct scanner *s, unsigned char set) size_t cmdLen = 2; unsigned char stat[1]; size_t statLen = 1; - + DBG (10, "lamp: start (%d)\n", set); /*send cmd*/ cmd[0] = 0x1b; cmd[1] = 0xd0; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -3467,7 +3467,7 @@ lamp(struct scanner *s, unsigned char set) cmd[0] = set; cmdLen = 1; statLen = 1; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -3542,7 +3542,7 @@ set_window(struct scanner *s, int window) /*send payload*/ statLen = 1; - + ret = do_cmd( s, 0, payload, paylen, @@ -3565,7 +3565,7 @@ set_window(struct scanner *s, int window) /* instead of internal brightness/contrast/gamma scanners uses 12bit x 12bit LUT default is linear table of slope 1 - brightness and contrast inputs are -127 to +127 + brightness and contrast inputs are -127 to +127 contrast rotates slope of line around central input val @@ -3581,7 +3581,7 @@ set_window(struct scanner *s, int window) bright dark . xxxxxxxx . - . x . + . x . out x . x . . x ............ xxxxxxxx.... @@ -3598,12 +3598,12 @@ send_lut (struct scanner *s) size_t statLen = 1; unsigned char *out; size_t outLen; - + int i, j; double b, slope, offset; int width; int height; - + DBG (10, "send_lut: start\n"); if (s->model == MODEL_S1100){ @@ -3630,7 +3630,7 @@ send_lut (struct scanner *s) * first [-127,127] to [0,254] then to [0,1] * then multiply by PI/2 to convert to radians * then take the tangent to get slope (T.O.A) - * then multiply by the normal linear slope + * then multiply by the normal linear slope * because the table may not be square, i.e. 1024x256*/ slope = tan(((double)s->contrast+127)/254 * M_PI/2); @@ -3642,17 +3642,17 @@ send_lut (struct scanner *s) * into a scale that covers the range required * to slide the contrast curve entirely off the table */ b = ((double)s->brightness/127) * (slope*(width-1) + offset); - + DBG (15, "send_lut: %d %f %d %f %f\n", s->brightness, b, s->contrast, slope, offset); - + for(i=0;i(height-1)){ j=height-1; } @@ -3675,7 +3675,7 @@ send_lut (struct scanner *s) out[width*4 + i*2] = (j >> 8) & 0xff; out[width*4 + i*2+1] = j & 0xff; } - else { + else { /*first table, le order*/ out[i*2] = j & 0xff; out[i*2+1] = (j >> 8) & 0x0f; @@ -3745,7 +3745,7 @@ get_hardware_status (struct scanner *s) cmd[0] = 0x1b; cmd[1] = 0x33; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -3790,12 +3790,12 @@ object_position(struct scanner *s, int ingest) i = (ingest)?5:1; - while(i--){ + while(i--){ /*send paper load cmd*/ cmd[0] = 0x1b; cmd[1] = 0xd4; statLen = 1; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -3810,12 +3810,12 @@ object_position(struct scanner *s, int ingest) DBG (5, "object_position: cmd bad status? %d\n",stat[0]); continue; } - + /*send payload*/ statLen = 1; payLen = 1; pay[0] = ingest; - + ret = do_cmd( s, 0, pay, payLen, @@ -3853,7 +3853,7 @@ scan(struct scanner *s) size_t cmdLen = 2; unsigned char stat[1]; size_t statLen = 1; - + DBG (10, "scan: start\n"); if(s->model == MODEL_S300 || s->model == MODEL_S1100 || s->model == MODEL_S1300i){ @@ -3876,13 +3876,13 @@ scan(struct scanner *s) } DBG (10, "scan: finish\n"); - + return ret; } /* * Called by SANE to read data. - * + * * From the SANE spec: * This function is used to read image data from the device * represented by handle h. Argument buf is a pointer to a memory @@ -3890,7 +3890,7 @@ scan(struct scanner *s) * returned is stored in *len. A backend must set this to zero when * the call fails (i.e., when a status other than SANE_STATUS_GOOD is * returned). - * + * * When the call succeeds, the number of bytes returned can be * anywhere in the range from 0 to maxlen bytes. */ @@ -3900,7 +3900,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len struct scanner *s = (struct scanner *) handle; SANE_Status ret=SANE_STATUS_GOOD; struct page * page; - + DBG (10, "sane_read: start si:%d len:%d max:%d\n",s->side,*len,max_len); *len = 0; @@ -3910,7 +3910,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len DBG (5, "sane_read: call sane_start first\n"); return SANE_STATUS_CANCELLED; } - + page = &s->pages[s->side]; /* have sent all of current buffer */ @@ -3920,14 +3920,14 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len /*S1100 needs help to turn off button*/ if(s->model == MODEL_S1100){ usleep(15000); - + /* eject paper */ ret = object_position(s,EPJITSU_PAPER_EJECT); if (ret != SANE_STATUS_GOOD && ret != SANE_STATUS_NO_DOCS) { DBG (5, "sane_read: ERROR: failed to eject\n"); return ret; } - + /* reset flashing button? */ ret = six5(s); if (ret != SANE_STATUS_GOOD) { @@ -3937,12 +3937,12 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len } return SANE_STATUS_EOF; - } + } /* scan not finished, get more into block buffer */ if(!s->fullscan.done) { - /* block buffer currently empty, clean up */ + /* block buffer currently empty, clean up */ if(!s->block_xfr.rx_bytes) { /* block buffer bigger than remainder of scan, shrink block */ @@ -3959,9 +3959,9 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len size_t cmdLen = 2; unsigned char stat[1]; size_t statLen = 1; - + DBG (15, "sane_read: d3\n"); - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -4002,7 +4002,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len size_t cmdLen = 2; unsigned char in[10]; size_t inLen = 10; - + ret = do_cmd( s, 0, cmd, cmdLen, @@ -4010,7 +4010,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len in, &inLen ); hexdump(15, "cmd 43: ", in, inLen); - + if(ret){ DBG (5, "sane_read: error sending 43 cmd\n"); return ret; @@ -4076,19 +4076,19 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len if(*len){ DBG (10, "sane_read: copy rx:%d tx:%d tot:%d len:%d\n", page->bytes_scanned, page->bytes_read, page->bytes_total,*len); - + memcpy(buf, page->image->buffer + page->bytes_read, *len); page->bytes_read += *len; - + /* sent it all, return eof on next read */ if(page->bytes_read == page->bytes_scanned && s->fullscan.done){ DBG (10, "sane_read: side done\n"); page->done = 1; } - } + } DBG (10, "sane_read: finish si:%d len:%d max:%d\n",s->side,*len,max_len); - + return ret; } @@ -4152,39 +4152,39 @@ descramble_raw(struct scanner *s, struct transfer * tp) for (j = 0; j < height; j++){ /* row (y)*/ int curr_col = 0; int r=0, g=0, b=0, ppc=0; - + for (k = 0; k <= tp->plane_width; k++){ /* column (x) */ int this_col = k*tp->image->x_res/tp->x_res; - + /* going to change output pixel, dump rgb and reset */ if(ppc && curr_col != this_col){ *p_out = r/ppc; p_out++; - + *p_out = g/ppc; p_out++; - + *p_out = b/ppc; p_out++; - + r = g = b = ppc = 0; - + curr_col = this_col; } - + if(k == tp->plane_width || this_col >= tp->image->width_pix){ break; } - + /*red is first*/ r += tp->raw_data[j*tp->line_stride + k*3 + i]; - + /*green is second*/ g += tp->raw_data[j*tp->line_stride + tp->plane_stride + k*3 + i]; - + /*blue is third*/ b += tp->raw_data[j*tp->line_stride + 2*tp->plane_stride + k*3 + i]; - + ppc++; } } @@ -4194,39 +4194,39 @@ descramble_raw(struct scanner *s, struct transfer * tp) for (j = 0; j < height; j++){ /* row (y)*/ int curr_col = 0; int r=0, g=0, b=0, ppc=0; - + for (k = 0; k <= tp->plane_width; k++){ /* column (x) */ int this_col = k*tp->image->x_res/tp->x_res; - + /* going to change output pixel, dump rgb and reset */ if(ppc && curr_col != this_col){ *p_out = r/ppc; p_out++; - + *p_out = g/ppc; p_out++; - + *p_out = b/ppc; p_out++; - + r = g = b = ppc = 0; - + curr_col = this_col; } - + if(k == tp->plane_width || this_col >= tp->image->width_pix){ break; } /*red is second*/ r += tp->raw_data[j*tp->line_stride + tp->plane_stride + k]; - + /*green is third*/ g += tp->raw_data[j*tp->line_stride + 2*tp->plane_stride + k]; - + /*blue is first*/ b += tp->raw_data[j*tp->line_stride + k]; - + ppc++; } } @@ -4238,39 +4238,39 @@ descramble_raw(struct scanner *s, struct transfer * tp) for (i = 0; i < 3; i++){ /* read head */ int r=0, g=0, b=0, ppc=0; - + for (k = 0; k <= tp->plane_width; k++){ /* column (x) within the read head */ int this_col = (k+i*tp->plane_width)*tp->image->x_res/tp->x_res; - + /* going to change output pixel, dump rgb and reset */ if(ppc && curr_col != this_col){ *p_out = r/ppc; p_out++; - + *p_out = g/ppc; p_out++; - + *p_out = b/ppc; p_out++; - + r = g = b = ppc = 0; - + curr_col = this_col; } - + if(k == tp->plane_width || this_col >= tp->image->width_pix){ break; } - + /*red is first*/ r += tp->raw_data[j*tp->line_stride + k*3 + i]; - + /*green is second*/ g += tp->raw_data[j*tp->line_stride + tp->plane_stride + k*3 + i]; - + /*blue is third*/ b += tp->raw_data[j*tp->line_stride + 2*tp->plane_stride + k*3 + i]; - + ppc++; } } @@ -4297,15 +4297,15 @@ descramble_raw_gray(struct scanner *s, struct transfer * tp) if (s->model == MODEL_FI60F || s->model == MODEL_FI65F) { for (row = 0; row < height; row++){ - + unsigned char *p_in = tp->raw_data + row * tp->line_stride; unsigned char *p_out = tp->image->buffer + row * tp->image->width_pix; - + for (col_out = 0; col_out < tp->image->width_pix; col_out++){ int col_in = col_out * tp->x_res/tp->image->x_res; int offset = col_in%tp->plane_width; int step = col_in/tp->plane_width; - + *p_out = *(p_in + offset*3 + step); p_out++; } @@ -4388,12 +4388,12 @@ read_from_scanner(struct scanner *s, struct transfer * tp) else { DBG(5, "read_from_scanner: error reading status = %d\n", ret); } - + free(buf); DBG (10, "read_from_scanner: finish rB:%lu len:%lu\n", (unsigned long)(tp->total_bytes - tp->rx_bytes + 8), (unsigned long)bytes); - + return ret; } @@ -4439,7 +4439,7 @@ copy_block_to_page(struct scanner *s,int side) int this_out_row = (this_in_row - page->image->y_skip_offset) * page->image->y_res / s->fullscan.y_res; DBG (15, "copy_block_to_page: in %d out %d lastout %d\n", this_in_row, this_out_row, last_out_row); DBG (15, "copy_block_to_page: bs %d wb %d\n", page->bytes_scanned, page->image->width_bytes); - + /* don't walk off the end of the output buffer */ if(this_out_row >= page->image->height || this_out_row < 0){ DBG (10, "copy_block_to_page: out of space? %d\n", side); @@ -4447,7 +4447,7 @@ copy_block_to_page(struct scanner *s,int side) page->bytes_scanned, page->bytes_read, page->bytes_total,page->image->width_bytes); return ret; } - + /* ok, different output row, so we do the math */ if(this_out_row > last_out_row){ @@ -4459,11 +4459,11 @@ copy_block_to_page(struct scanner *s,int side) last_out_row = this_out_row; if (block->mode == MODE_COLOR){ - + /* reverse order for back side or FI-60F scanner */ if (line_reverse) p_in += (page_width - 1) * 3; - + /* convert all of the pixels in this row */ for (j = 0; j < page_width; j++) { @@ -4492,18 +4492,18 @@ copy_block_to_page(struct scanner *s,int side) p_in += 3; } } - + /* grayscale input */ else{ unsigned char * p_in = block->image->buffer + (side * block_page_stride) + (i * block->image->width_bytes) + page->image->x_start_offset; - + /* reverse order for back side or FI-60F scanner */ if (line_reverse) p_in += (page_width - 1); - + //memcpy(p_out,p_in,page->image->width_bytes); - + for (j = 0; j < page_width; j++) { if (s->mode == MODE_GRAYSCALE) @@ -4570,7 +4570,7 @@ binarize_line(struct scanner *s, unsigned char *lineOut, int width) { int addCol = j + windowX/2; int dropCol = addCol - windowX; - + if (dropCol >= 0 && addCol < width) { sum -= s->dt.buffer[dropCol]; @@ -4584,7 +4584,7 @@ binarize_line(struct scanner *s, unsigned char *lineOut, int width) *lineOut &= ~mask; /* white */ else *lineOut |= mask; /* black */ - + if (offset == 7) lineOut++; } @@ -4596,7 +4596,7 @@ binarize_line(struct scanner *s, unsigned char *lineOut, int width) * @@ Section 4 - SANE cleanup functions */ /* - * Cancels a scan. + * Cancels a scan. * * From the SANE spec: * This function is used to immediately or as quickly as possible @@ -4626,7 +4626,7 @@ sane_cancel (SANE_Handle handle) /* * Ends use of the scanner. - * + * * From the SANE spec: * This function terminates the association between the device handle * passed in argument h and the device it represents. If the device is @@ -4684,7 +4684,7 @@ destroy(struct scanner *s) if(s->sane.model){ free((void *) s->sane.model); } - + free(s); DBG (10, "destroy: finish\n"); @@ -4758,7 +4758,7 @@ teardown_buffers(struct scanner *s) /* * Terminates the backend. - * + * * From the SANE spec: * This function must be called to terminate use of a backend. The * function will first close all device handles that still might be @@ -4828,13 +4828,13 @@ do_cmd(struct scanner *s, int shortTime, /* change timeout */ sanei_usb_set_timeout(cmdTime); - + /* write the command out */ DBG(25, "cmd: writing %ld bytes, timeout %d\n", (long)cmdLen, cmdTime); hexdump(30, "cmd: >>", cmdBuff, cmdLen); ret = sanei_usb_write_bulk(s->fd, cmdBuff, &cmdLen); DBG(25, "cmd: wrote %ld bytes, retVal %d\n", (long)cmdLen, ret); - + if(ret == SANE_STATUS_EOF){ DBG(5,"cmd: got EOF, returning IO_ERROR\n"); return SANE_STATUS_IO_ERROR; @@ -4993,7 +4993,7 @@ sane_get_select_fd (SANE_Handle h, SANE_Int *fdp) * due to using FB */ static int -get_page_width(struct scanner *s) +get_page_width(struct scanner *s) { /* scanner max for fb */ if(s->source == SOURCE_FLATBED){ @@ -5009,7 +5009,7 @@ get_page_width(struct scanner *s) * due to using FB. */ static int -get_page_height(struct scanner *s) +get_page_height(struct scanner *s) { /* scanner max for fb */ if(s->source == SOURCE_FLATBED){ @@ -5018,4 +5018,3 @@ get_page_height(struct scanner *s) return s->page_height; } - diff --git a/backend/epjitsu.conf.in b/backend/epjitsu.conf.in index 3ba1c15..4dc9dfc 100644 --- a/backend/epjitsu.conf.in +++ b/backend/epjitsu.conf.in @@ -12,7 +12,7 @@ # extracted from the Fujitsu Windows driver. Presumably the Mac versions # contain the firmware as well, but the author has no access such a machine. -# Firmware is installed in several different locations by the fujitsu software, +# Firmware is installed in several different locations by the fujitsu software, # using the windows 'search' feature to look for '*.nal' is the easiest way to # find them. They should be ~65K, and have the scanner's name as part of the # file name. They are often inside a .cab file. @@ -80,4 +80,3 @@ usb 0x04c5 0x128d # Fujitsu S1100i firmware @DATADIR@/sane/epjitsu/1100i_0A00.nal usb 0x04c5 0x1447 - diff --git a/backend/epjitsu.h b/backend/epjitsu.h index 6dfaf67..87d6836 100644 --- a/backend/epjitsu.h +++ b/backend/epjitsu.h @@ -1,12 +1,12 @@ #ifndef EPJITSU_H #define EPJITSU_H -/* +/* * Part of SANE - Scanner Access Now Easy. * Please see opening comment in epjitsu.c */ -/* ------------------------------------------------------------------------- +/* ------------------------------------------------------------------------- * This option list has to contain all options for all scanners supported by * this driver. If a certain scanner cannot handle a certain option, there's * still the possibility to say so, later. @@ -197,7 +197,7 @@ struct scanner unsigned char * setWindowScan; /* sent before scan */ size_t setWindowScanLen; - + /* --------------------------------------------------------------------- */ /* values which are set by scanning functions to keep track of pages, etc */ int started; diff --git a/backend/epson.c b/backend/epson.c index 3fc264f..20cafc4 100644 --- a/backend/epson.c +++ b/backend/epson.c @@ -1,4 +1,4 @@ -/* +/* epson.c - SANE library for Epson flatbed scanners. Based on Kazuhiro Sasayama previous @@ -63,7 +63,7 @@ 2006-08-21 Fix buffer overflow error (submitted by Johannes Meixner) 2006-06-11 Applied patch from Henning. Fixed a number of compiler warnings 2006-03-12 Added support for perfetion 4990 photo 4800 dpi - 2005-01-09 "flaming hack to get USB scanners working without timeouts under linux" + 2005-01-09 "flaming hack to get USB scanners working without timeouts under linux" submitted by "Steve" (in comment to bug #300830) 2004-12-18 Added USB IDs for CX-4600 and CX-3650 2004-10-16 Added USB ID for Expression 10000XL @@ -78,7 +78,7 @@ Added EPSON Kowa copyright message 2003-08-15 Added support for GT-30000, with support for the ADF in simplex mode Borrowed some code from the EPSON Kowa IScan version of the backend - Use sanei_scsi_cmd2() to send commands. This makes this backend + Use sanei_scsi_cmd2() to send commands. This makes this backend useable for SBP-2 under FreeBSD 2003-05-11 Initialize OPT_LIMIT_RESOLUTION before first call to filter_resolution_list() Fix memory problem in get_identity_information(). Both problems were @@ -88,14 +88,14 @@ 2003-02-15 Move sanei_usb_init() to sane_init(). Thanks to Ron Cemer for providing the patch. 2003-02-15 Fix problem with "usb syntax in config file - 2002-12-28 Added advanced option to display only short resolution list for + 2002-12-28 Added advanced option to display only short resolution list for displays that can not show the complete list. 2002-11-23 Fixed problem with dropout color. 2002-11-03 Full libusb support. 2002-10-05 Fixed problem with incorrect response to sane_get_parameters() in certain situations. 2002-09-01 USB scanners are now using libsane-usb funtions - 2002-08-17 Fixed typo in variable name. + 2002-08-17 Fixed typo in variable name. Fixed IEEE-1394 problem with Perfection-2450. Fixed problem with older B3 level SCSI scanners that do not support the extended status request. @@ -104,12 +104,12 @@ 2002-04-13 Check if scanner needs to be opened for the reset call. (Thanks to Thomas Wenrich for pointing this out) Added product IDs for Perfection 1650 and 2450 - 2002-01-18 Recognize GT-xxxx type scanners also when using the SCSI + 2002-01-18 Recognize GT-xxxx type scanners also when using the SCSI or IEEE-1394 interface 2002-01-06 Disable TEST_IOCTL again, which was enabled by accident. Also protect the ioctl portion with an #ifdef __linux__ 2002-01-05 Version 0.2.17 - Check for and set s->fd to -1 when device is closed. + Check for and set s->fd to -1 when device is closed. Removed black gamma table - only use RGB even for grayscale 2002-01-01 Do not call access() for OS/2 systems 2001-11-13 Version 0.2.16 @@ -126,8 +126,8 @@ 2001-06-09 Version 0.2.09 Changed debug level for sense handler from 0 to 2 2001-05-25 Version 0.2.07 - Allow more than 8 bit color depth even for preview mode - since Xsane can handle this. Some code cleanup. + Allow more than 8 bit color depth even for preview mode + since Xsane can handle this. Some code cleanup. 2001-05-24 Removed ancient code that was used to determine the resolution back when the backend still had a slider for the resolution selection. @@ -156,12 +156,12 @@ Fixed problem with bilevel scanning with Perfection610: The line count has to be an even number with this scanner. Several initialization fixes regarding bit depth selection. - This version goes back into the CVS repository, the 1.0.4 + This version goes back into the CVS repository, the 1.0.4 release is out and therefore the code freeze is over. Some general cleanup, added more comments. 2000-12-09 Version 0.2.00 Cleaned up printing of gamma table data. 16 elements - are now printed in one line without the [epson] in + are now printed in one line without the [epson] in between the values. Values are only printed for Debug levels >= 10. 2000-12-04 We've introduced the concept of inverting images @@ -175,7 +175,7 @@ 2000-12-03 added the 12/14/16 bit support again. 2000-12-03 Version 0.1.38 removed changes regarding 12/14 bit support because - of SANE feature freeze for 1.0.4. The D1 fix for + of SANE feature freeze for 1.0.4. The D1 fix for reading the values from the scanner instead of using hardcoded values and the fix for the off-by-one error in the reorder routine are still in the code base. @@ -194,13 +194,13 @@ sane/... include files. 2000-07-26 Fixed problem with Perfection610: The variable s->color_shuffle_line was never correctly initialized - 2000-06-28 When closing the scanner device the data that's + 2000-06-28 When closing the scanner device the data that's still in the scanner, waiting to be transferred is flushed. This fixes the problem with scanimage -T 2000-06-13 Invert image when scanning negative with TPU, Show film type only when TPU is selected 2000-06-13 Initialize optical_res to 0 (Dave Hill) - 2000-06-07 Fix in sane_close() - found by Henning Meier-Geinitz + 2000-06-07 Fix in sane_close() - found by Henning Meier-Geinitz 2000-06-01 Threshhold should only be active when scan depth is 1 and halftoning is off. (mjp) 2000-05-28 Turned on scanner based color correction. @@ -212,16 +212,16 @@ Help prevent extraneous option reloads. Split sane_control_option in getvalue and setvalue. Further split up setvalue into several different - routines. (mjp) - 2000-05-21 In sane_close use close_scanner instead of just the + routines. (mjp) + 2000-05-21 In sane_close use close_scanner instead of just the SCSI close function. 2000-05-20 ... finally fixed the problem with the 610 Added resolution_list to Epson_Device structure in - epson.h - this fixes a bug that caused problems when + epson.h - this fixes a bug that caused problems when more than one EPSON scanner was connected. 2000-05-13 Fixed the color problem with the Perfection 610. The few lines with "garbage" at the beginning of the scan are not - yet removed. + yet removed. 2000-05-06 Added support for multiple EPSON scanners. At this time this may not be bug free, but it's a start and it seems to work well with just one scanner. @@ -235,21 +235,21 @@ fix an OS/2 bug. It now turned out that they are not necessary. The real fix was in the repository for a long time (2000-01-25). - 2000-03-19 Fixed problem with A4 level devices - they use the - line mode instead of the block mode. The routine to - handle this was screwed up pretty bad. Now I have + 2000-03-19 Fixed problem with A4 level devices - they use the + line mode instead of the block mode. The routine to + handle this was screwed up pretty bad. Now I have a solid version that handles all variations of line mode (automatically deals with the order the color lines are sent). 2000-03-06 Fixed occasional crash after warm up when the "in warmup state" went away in between doing ESC G and getting the - extended status message. - 2000-03-02 Code cleanup, disabled ZOOM until I have time to + extended status message. + 2000-03-02 Code cleanup, disabled ZOOM until I have time to deal with all the side effects. 2000-03-01 More D1 fixes. In the future I have to come up with a more elegant solution to destinguish between different function levels. The level > n does not work anymore with - D1. + D1. Added support for "set threshold" and "set zoom". 2000-02-23 First stab at level D1 support, also added a test for valid "set halftone" command to enable OPT_HALFTONE @@ -275,11 +275,11 @@ because of hte changes to attach a few days ago. (KHK) 2000-01-29 fixed core dump with xscanimage by moving the gamma curves to the standard interface (no longer advanced) - Removed pragma pack() from source code to make it + Removed pragma pack() from source code to make it easier to compile on non-gcc compilers (KHK) 2000-01-26 fixed problem with resolution selection when using the resolution list in xsane (KHK) - 2000-01-25 moved the section where the device name is assigned + 2000-01-25 moved the section where the device name is assigned in attach. This avoids the core dump of frontend applications when no scanner is found (Dave Hill) 2000-01-24 reorganization of SCSI related "helper" functions @@ -395,7 +395,7 @@ #define EPSON_LEVEL_D7 12 #define EPSON_LEVEL_D8 13 -/* there is also a function level "A5", which I'm igoring here until somebody can +/* there is also a function level "A5", which I'm igoring here until somebody can convince me that this is still needed. The A5 level was for the GT-300, which was (is) a monochrome only scanner. So if somebody really wants to use this scanner with SANE get in touch with me and we can work something out - khk */ @@ -437,7 +437,7 @@ static EpsonCmdRec epson_cmd[] = { * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | set bay * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | set threshold * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | set focus position - * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | request focus position + * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | request focus position * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | */ @@ -460,7 +460,7 @@ static EpsonCmdRec epson_cmd[] = { /* - * Definition of the mode_param struct, that is used to + * Definition of the mode_param struct, that is used to * specify the valid parameters for the different scan modes. * * The depth variable gets updated when the bit depth is modified. @@ -508,10 +508,10 @@ static const SANE_String_Const adf_mode_list[] = { * of the scanner. */ -static SANE_String_Const source_list[] = { - FBF_STR, - NULL, - NULL, +static SANE_String_Const source_list[] = { + FBF_STR, + NULL, + NULL, NULL }; @@ -519,9 +519,9 @@ static SANE_String_Const source_list[] = { #define FILM_TYPE_POSITIVE (0) #define FILM_TYPE_NEGATIVE (1) -static const SANE_String_Const film_list[] = { - SANE_I18N ("Positive Film"), - SANE_I18N ("Negative Film"), +static const SANE_String_Const film_list[] = { + SANE_I18N ("Positive Film"), + SANE_I18N ("Negative Film"), NULL }; @@ -538,67 +538,67 @@ static const SANE_String_Const focus_list[] = { #define HALFTONE_NONE 0x01 #define HALFTONE_TET 0x03 -static int halftone_params[] = { - HALFTONE_NONE, - 0x00, - 0x10, - 0x20, - 0x80, - 0x90, - 0xa0, - 0xb0, +static int halftone_params[] = { + HALFTONE_NONE, + 0x00, + 0x10, + 0x20, + 0x80, + 0x90, + 0xa0, + 0xb0, HALFTONE_TET, - 0xc0, + 0xc0, 0xd0 }; -static const SANE_String_Const halftone_list[] = { - SANE_I18N ("None"), +static const SANE_String_Const halftone_list[] = { + SANE_I18N ("None"), SANE_I18N ("Halftone A (Hard Tone)"), - SANE_I18N ("Halftone B (Soft Tone)"), + SANE_I18N ("Halftone B (Soft Tone)"), SANE_I18N ("Halftone C (Net Screen)"), NULL }; -static const SANE_String_Const halftone_list_4[] = { - SANE_I18N ("None"), +static const SANE_String_Const halftone_list_4[] = { + SANE_I18N ("None"), SANE_I18N ("Halftone A (Hard Tone)"), - SANE_I18N ("Halftone B (Soft Tone)"), + SANE_I18N ("Halftone B (Soft Tone)"), SANE_I18N ("Halftone C (Net Screen)"), SANE_I18N ("Dither A (4x4 Bayer)"), SANE_I18N ("Dither B (4x4 Spiral)"), SANE_I18N ("Dither C (4x4 Net Screen)"), - SANE_I18N ("Dither D (8x4 Net Screen)"), + SANE_I18N ("Dither D (8x4 Net Screen)"), NULL }; -static const SANE_String_Const halftone_list_7[] = { - SANE_I18N ("None"), +static const SANE_String_Const halftone_list_7[] = { + SANE_I18N ("None"), SANE_I18N ("Halftone A (Hard Tone)"), - SANE_I18N ("Halftone B (Soft Tone)"), + SANE_I18N ("Halftone B (Soft Tone)"), SANE_I18N ("Halftone C (Net Screen)"), SANE_I18N ("Dither A (4x4 Bayer)"), SANE_I18N ("Dither B (4x4 Spiral)"), SANE_I18N ("Dither C (4x4 Net Screen)"), SANE_I18N ("Dither D (8x4 Net Screen)"), - SANE_I18N ("Text Enhanced Technology"), + SANE_I18N ("Text Enhanced Technology"), SANE_I18N ("Download pattern A"), - SANE_I18N ("Download pattern B"), + SANE_I18N ("Download pattern B"), NULL }; -static int dropout_params[] = { +static int dropout_params[] = { 0x00, /* none */ 0x10, /* red */ 0x20, /* green */ 0x30 /* blue */ }; -static const SANE_String_Const dropout_list[] = { - SANE_I18N ("None"), - SANE_I18N ("Red"), +static const SANE_String_Const dropout_list[] = { + SANE_I18N ("None"), + SANE_I18N ("Red"), SANE_I18N ("Green"), - SANE_I18N ("Blue"), + SANE_I18N ("Blue"), NULL }; @@ -606,34 +606,34 @@ static const SANE_String_Const dropout_list[] = { * Color correction: * One array for the actual parameters that get sent to the scanner (color_params[]), * one array for the strings that get displayed in the user interface (color_list[]) - * and one array to mark the user defined color correction (dolor_userdefined[]). + * and one array to mark the user defined color correction (dolor_userdefined[]). */ -static int color_params[] = { - 0x00, - 0x01, - 0x10, - 0x20, - 0x40, +static int color_params[] = { + 0x00, + 0x01, + 0x10, + 0x20, + 0x40, 0x80 }; -static SANE_Bool color_userdefined[] = { - SANE_FALSE, - SANE_TRUE, - SANE_FALSE, - SANE_FALSE, - SANE_FALSE, +static SANE_Bool color_userdefined[] = { + SANE_FALSE, + SANE_TRUE, + SANE_FALSE, + SANE_FALSE, + SANE_FALSE, SANE_FALSE }; -static const SANE_String_Const color_list[] = { - SANE_I18N ("No Correction"), +static const SANE_String_Const color_list[] = { + SANE_I18N ("No Correction"), SANE_I18N ("User defined"), - SANE_I18N ("Impact-dot printers"), + SANE_I18N ("Impact-dot printers"), SANE_I18N ("Thermal printers"), SANE_I18N ("Ink-jet printers"), - SANE_I18N ("CRT monitors"), + SANE_I18N ("CRT monitors"), NULL }; @@ -644,20 +644,20 @@ static const SANE_String_Const color_list[] = { * the actally used params and list arrays at runtime. */ -static int gamma_params_ab[] = { - 0x01, - 0x03, - 0x00, - 0x10, +static int gamma_params_ab[] = { + 0x01, + 0x03, + 0x00, + 0x10, 0x20 }; -static const SANE_String_Const gamma_list_ab[] = { - SANE_I18N ("Default"), +static const SANE_String_Const gamma_list_ab[] = { + SANE_I18N ("Default"), SANE_I18N ("User defined"), - SANE_I18N ("High density printing"), + SANE_I18N ("High density printing"), SANE_I18N ("Low density printing"), - SANE_I18N ("High contrast printing"), + SANE_I18N ("High contrast printing"), NULL }; @@ -669,14 +669,14 @@ static SANE_Bool gamma_userdefined_ab[] = { SANE_FALSE, }; -static int gamma_params_d[] = { - 0x03, +static int gamma_params_d[] = { + 0x03, 0x04 }; -static const SANE_String_Const gamma_list_d[] = { +static const SANE_String_Const gamma_list_d[] = { SANE_I18N ("User defined (Gamma=1.0)"), - SANE_I18N ("User defined (Gamma=1.8)"), + SANE_I18N ("User defined (Gamma=1.8)"), NULL }; @@ -701,13 +701,13 @@ static unsigned int w_cmd_count = 0; * this is used for the FilmScan */ -static const SANE_String_Const bay_list[] = { - " 1 ", - " 2 ", - " 3 ", - " 4 ", - " 5 ", - " 6 ", +static const SANE_String_Const bay_list[] = { + " 1 ", + " 2 ", + " 3 ", + " 4 ", + " 5 ", + " 6 ", NULL }; @@ -744,7 +744,7 @@ struct qf_param }; /* gcc don't like to overwrite const field */ -static /*const */ struct qf_param qf_params[] = { +static /*const */ struct qf_param qf_params[] = { {0, 0, SANE_FIX (120.0), SANE_FIX (120.0)}, {0, 0, SANE_FIX (148.5), SANE_FIX (210.0)}, {0, 0, SANE_FIX (210.0), SANE_FIX (148.5)}, @@ -753,13 +753,13 @@ static /*const */ struct qf_param qf_params[] = { {0, 0, 0, 0} }; -static const SANE_String_Const qf_list[] = { - SANE_I18N ("CD"), - SANE_I18N ("A5 portrait"), +static const SANE_String_Const qf_list[] = { + SANE_I18N ("CD"), + SANE_I18N ("A5 portrait"), SANE_I18N ("A5 landscape"), - SANE_I18N ("Letter"), - SANE_I18N ("A4"), - SANE_I18N ("Max"), + SANE_I18N ("Letter"), + SANE_I18N ("A4"), + SANE_I18N ("Max"), NULL }; @@ -770,7 +770,7 @@ static SANE_Word *bitDepthList = NULL; /* * List of pointers to devices - will be dynamically allocated depending - * on the number of devices found. + * on the number of devices found. */ static const SANE_Device **devlist = 0; @@ -1199,10 +1199,10 @@ set_resolution (Epson_Scanner * s, int xres, int yres) } /* - * set_scan_area() + * set_scan_area() * - * Sends the "set scan area" command to the scanner with the currently selected - * scan area. This scan area is already corrected for "color shuffling" if + * Sends the "set scan area" command to the scanner with the currently selected + * scan area. This scan area is already corrected for "color shuffling" if * necessary. */ static SANE_Status @@ -1472,7 +1472,7 @@ DetectSize: * is reported as a warning (only visible if debug level is set to 10 or greater) - * every other condition is reported as an error. * - * This function only gets called when we are dealing with a scanner that supports the + * This function only gets called when we are dealing with a scanner that supports the * "warming up" code, so it's not a problem for B3 level scanners, that don't handle * request extended status commands. */ @@ -1650,7 +1650,7 @@ close_scanner (Epson_Scanner * s) if (s->fd == -1) return; - if (r_cmd_count % 2) + if (r_cmd_count % 2) { /* send a request_status. This toggles w_cmd_count and r_cmd_count */ u_char param[3]; @@ -1668,7 +1668,7 @@ close_scanner (Epson_Scanner * s) DBG (5, "w_cmd_count = %d\n",w_cmd_count); DBG (5, "r_cmd_count = %d\n",r_cmd_count); - if (w_cmd_count % 2) + if (w_cmd_count % 2) { int junk1,junk2; @@ -1700,8 +1700,8 @@ close_scanner (Epson_Scanner * s) /* * open_scanner() * - * Open the scanner device. Depending on the connection method, - * different open functions are called. + * Open the scanner device. Depending on the connection method, + * different open functions are called. */ static SANE_Status @@ -1798,7 +1798,7 @@ feed (Epson_Scanner * s) /* * eject() - * + * * Eject the current page from the ADF. The scanner is opened prior to * sending the command and closed afterwards. * @@ -2011,7 +2011,7 @@ attach (const char *dev_name, Epson_Device * *devp, int type) } /* check for PIO devices */ - /* can we convert the device name to an integer? This is only possible + /* can we convert the device name to an integer? This is only possible with PIO devices */ port = atoi (dev_name); if (port != 0) @@ -2088,7 +2088,7 @@ attach (const char *dev_name, Epson_Device * *devp, int type) buf[INQUIRY_BUF_SIZE] = 0; DBG (1, ">%s<\n", buf + 8); - /* + /* * For USB and PIO scanners this will be done later, once * we have communication established with the device. */ @@ -2140,7 +2140,7 @@ attach (const char *dev_name, Epson_Device * *devp, int type) status = sanei_usb_find_devices (vendor, product, attach_one_usb); } - return SANE_STATUS_INVAL; /* return - the attach_one_usb() + return SANE_STATUS_INVAL; /* return - the attach_one_usb() will take care of this */ } @@ -2179,7 +2179,7 @@ attach (const char *dev_name, Epson_Device * *devp, int type) is_valid = SANE_FALSE; i = 0; - /* check all known product IDs to verify that we know + /* check all known product IDs to verify that we know about the device */ while (i != numIds && !is_valid) { @@ -2287,7 +2287,7 @@ attach (const char *dev_name, Epson_Device * *devp, int type) /* - * Check for "request focus position" command. If this command is + * Check for "request focus position" command. If this command is * supported, then the scanner does also support the "set focus * position" command. */ @@ -2350,10 +2350,10 @@ attach (const char *dev_name, Epson_Device * *devp, int type) * this also requests the scanner device name from the scanner */ /* - * because we are also using the device name from this command, + * because we are also using the device name from this command, * we have to run this block even if the scanner does not report * an extension. The extensions are only reported if the ADF or - * the TPU are actually detected. + * the TPU are actually detected. */ if (s->hw->cmd->request_extended_status != 0) { @@ -2493,7 +2493,7 @@ attach (const char *dev_name, Epson_Device * *devp, int type) SANE_FIX ((buf[10] << 8 | buf[9]) * 25.4 / dev->dpi_range.max); dev->tpu_y_range.quant = 0; - /* + /* * Check for Perfection 4990 photo/GT-X800 scanner. * This scanner only report 3200 dpi back. * The scanner fysical supports 4800 dpi. @@ -2503,11 +2503,11 @@ attach (const char *dev_name, Epson_Device * *devp, int type) */ if (strncmp((char *) buf + 0x1A,"GT-X800",7) == 0) { - dev->tpu_x_range.max = (dev->tpu_x_range.max/32)*48; - dev->tpu_y_range.max = (dev->tpu_y_range.max/32)*48; + dev->tpu_x_range.max = (dev->tpu_x_range.max/32)*48; + dev->tpu_y_range.max = (dev->tpu_y_range.max/32)*48; DBG (5, "dpi_range.max %x \n", dev->dpi_range.max); } - + DBG (5, "tpu tlx %f tly %f brx %f bry %f [mm]\n", SANE_UNFIX (dev->tpu_x_range.min), SANE_UNFIX (dev->tpu_y_range.min), @@ -2597,8 +2597,8 @@ attach (const char *dev_name, Epson_Device * *devp, int type) close_scanner (s); - /* - * we are done with this one, prepare for the next scanner: + /* + * we are done with this one, prepare for the next scanner: */ ++num_devices; @@ -2689,7 +2689,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) { int numIds; - /* add the vendor and product IDs to the list of + /* add the vendor and product IDs to the list of known devices before we call the attach function */ numIds = sanei_epson_getNumberOfUSBProductIds (); if (vendor != 0x4b8) @@ -2723,7 +2723,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) /* * void sane_exit(void) * - * Clean up the list of attached scanners. + * Clean up the list of attached scanners. */ void @@ -2914,11 +2914,11 @@ init_options (Epson_Scanner * s) s->opt[OPT_GAMMA_CORRECTION].type = SANE_TYPE_STRING; s->opt[OPT_GAMMA_CORRECTION].constraint_type = SANE_CONSTRAINT_STRING_LIST; - /* + /* * special handling for D1 function level - at this time I'm not * testing for D1, I'm just assuming that all D level scanners will * behave the same way. This has to be confirmed with the next D-level - * scanner + * scanner */ if (s->hw->cmd->level[0] == 'D') { @@ -2944,7 +2944,7 @@ init_options (Epson_Scanner * s) /* gamma vector */ -/* +/* s->opt[ OPT_GAMMA_VECTOR].name = SANE_NAME_GAMMA_VECTOR; s->opt[ OPT_GAMMA_VECTOR].title = SANE_TITLE_GAMMA_VECTOR; s->opt[ OPT_GAMMA_VECTOR].desc = SANE_DESC_GAMMA_VECTOR; @@ -3585,7 +3585,7 @@ sane_close (SANE_Handle handle) Epson_Scanner *s, *prev; /* - * Test if there is still data pending from + * Test if there is still data pending from * the scanner. If so, then do a cancel */ @@ -3828,14 +3828,14 @@ handle_source (Epson_Scanner * s, SANE_Int optindex, char *value) Handles setting the source (flatbed, transparency adapter (TPU), or auto document feeder (ADF)). - For newer scanners it also sets the focus according to the + For newer scanners it also sets the focus according to the glass / TPU settings. */ { int force_max = SANE_FALSE; SANE_Bool dummy; - /* reset the scanner when we are changing the source setting - + /* reset the scanner when we are changing the source setting - this is necessary for the Perfection 1650 */ if (s->hw->need_reset_on_source_change) reset (s); @@ -4237,7 +4237,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) DBG (5, "sane_get_parameters()\n"); - /* + /* * If sane_start was already called, then just retrieve the parameters * from the scanner data structure */ @@ -4275,7 +4275,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) s->params.lines = SANE_UNFIX (s->val[OPT_BR_Y].w - s->val[OPT_TL_Y].w) / 25.4 * ndpi + 0.5; - /* + /* * Make sure that the number of lines is correct for color shuffling: * The shuffling alghorithm produces 2xline_distance lines at the * beginning and the same amount at the end of the scan that are not @@ -4302,10 +4302,10 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) SANE_UNFIX (s->val[OPT_BR_Y].w)); - /* - * Calculate bytes_per_pixel and bytes_per_line for + /* + * Calculate bytes_per_pixel and bytes_per_line for * any color depths. - * + * * The default color depth is stored in mode_params.depth: */ @@ -4320,8 +4320,8 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) if (s->params.depth > 8) { - s->params.depth = 16; /* - * The frontends can only handle 8 or 16 bits + s->params.depth = 16; /* + * The frontends can only handle 8 or 16 bits * for gray or color - so if it's more than 8, * it gets automatically set to 16. This works * as long as EPSON does not come out with a @@ -4366,7 +4366,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) /* * sane_start() * - * This function is part of the SANE API and gets called from the front end to + * This function is part of the SANE API and gets called from the front end to * start the scan process. * */ @@ -4396,7 +4396,7 @@ sane_start (SANE_Handle handle) * off 0 ACK * off 1 NAK * - * It makes no sense to scan with TPU powered on and source flatbed, because + * It makes no sense to scan with TPU powered on and source flatbed, because * light will come from both sides. */ @@ -4447,7 +4447,7 @@ sane_start (SANE_Handle handle) } - /* + /* * set the focus position according to the extension used: * if the TPU is selected, then focus 2.5mm above the glass, * otherwise focus on the glass. Scanners that don't support @@ -4499,7 +4499,7 @@ sane_start (SANE_Handle handle) } /* - * The byte sequence mode was introduced in B5, for B[34] we need line sequence mode + * The byte sequence mode was introduced in B5, for B[34] we need line sequence mode */ if ((s->hw->cmd->level[0] == 'D' || @@ -4641,7 +4641,7 @@ sane_start (SANE_Handle handle) if (s->hw->cmd->level[0] == 'D') { /* - * The D1 level has only the two user defined gamma + * The D1 level has only the two user defined gamma * settings. */ val = gamma_params[s->val[OPT_GAMMA_CORRECTION].w]; @@ -4652,8 +4652,8 @@ sane_start (SANE_Handle handle) /* * If "Default" is selected then determine the actual value - * to send to the scanner: If bilevel mode, just send the - * value from the table (0x01), for grayscale or color mode + * to send to the scanner: If bilevel mode, just send the + * value from the table (0x01), for grayscale or color mode * add one and send 0x02. */ /* if( s->val[ OPT_GAMMA_CORRECTION].w <= 1) { */ @@ -4766,7 +4766,7 @@ sane_start (SANE_Handle handle) /* - * If WAIT_FOR_BUTTON is active, then do just that: Wait until the button is + * If WAIT_FOR_BUTTON is active, then do just that: Wait until the button is * pressed. If the button was already pressed, then we will get the button * Pressed event right away. */ @@ -4841,8 +4841,8 @@ sane_start (SANE_Handle handle) s->hw->color_shuffle = SANE_FALSE; } -/* - * for debugging purposes: +/* + * for debugging purposes: */ #ifdef FORCE_COLOR_SHUFFLE DBG (1, "Test mode: FORCE_COLOR_SHUFFLE = TRUE\n"); @@ -4850,7 +4850,7 @@ sane_start (SANE_Handle handle) #endif - /* + /* * Modify the scan area: If the scanner requires color shuffling, then we try to * scan more lines to compensate for the lines that will be removed from the scan * due to the color shuffling alghorithm. @@ -4872,7 +4872,7 @@ sane_start (SANE_Handle handle) s->params.lines += 4 * s->line_distance; } - /* + /* * If (top + s->params.lines) is larger than the max scan area, reset * the number of scan lines: */ @@ -4897,7 +4897,7 @@ sane_start (SANE_Handle handle) lcount = 1; /* - * The set line count commands needs to be sent for certain scanners in + * The set line count commands needs to be sent for certain scanners in * color mode. The D1 level requires it, we are however only testing for * 'D' and not for the actual numeric level. */ @@ -5167,7 +5167,7 @@ read_data_block (Epson_Scanner * s, EpsonDataRec * result) /* * Hack Alert!!! - * If the status is SANE_STATUS_DEVICE_BUSY then we need to + * If the status is SANE_STATUS_DEVICE_BUSY then we need to * re-issue the command again. We can assume that the command that * caused this problem was ESC G, so in a loop with a sleep 1 we * are testing this over and over and over again, until the lamp @@ -5319,7 +5319,7 @@ START_READ: */ - /* + /* * read the first color line - the number of bytes to read * is already known (from last call to read_data_block() * We determine where to write the line from the color information @@ -5345,7 +5345,7 @@ START_READ: if (SANE_STATUS_GOOD != status) return status; - /* + /* * send the ACK signal to the scanner in order to make * it ready for the next data block. */ @@ -5484,7 +5484,7 @@ START_READ: */ /* - * Some scaners (e.g. the Perfection 1640 and GT-2200) seem + * Some scaners (e.g. the Perfection 1640 and GT-2200) seem * to have the R and G channels swapped. * The GT-8700 is the Asian version of the Perfection1640. * If the scanner name is one of these, and the scan mode is @@ -5499,9 +5499,9 @@ START_READ: s->params.format == SANE_FRAME_RGB; /* - * Certain Perfection 1650 also need this re-ordering of the two - * color channels. These scanners are identified by the problem - * with the half vertical scanning area. When we corrected this, + * Certain Perfection 1650 also need this re-ordering of the two + * color channels. These scanners are identified by the problem + * with the half vertical scanning area. When we corrected this, * we also set the variable s->hw->need_color_reorder */ if (s->hw->need_color_reorder) @@ -5551,7 +5551,7 @@ START_READ: } } - /* + /* * Do the color_shuffle if everything else is correct - at this time * most of the stuff is hardcoded for the Perfection 610 */ @@ -5562,8 +5562,8 @@ START_READ: status = color_shuffle (s, &new_length); - /* - * If no bytes are returned, check if the scanner is already done, if so, + /* + * If no bytes are returned, check if the scanner is already done, if so, * we'll probably just return, but if there is more data to process get * the next batch. */ @@ -5584,7 +5584,7 @@ START_READ: - /* + /* * copy the image data to the data memory area */ @@ -5689,10 +5689,10 @@ color_shuffle (SANE_Handle handle, int *new_length) /* - * Initialize the variables we are going to use for the + * Initialize the variables we are going to use for the * copying of the data. data_ptr is the pointer to * the currently worked on scan line. data_end is the - * end of the data area as calculated from adding *length + * end of the data area as calculated from adding *length * to the start of data. * out_data_ptr is used when writing out the processed data * and always points to the beginning of the next line to @@ -5709,7 +5709,7 @@ color_shuffle (SANE_Handle handle, int *new_length) /* * The buffer area is supposed to have a number of full scan - * lines, let's test if this is the case. + * lines, let's test if this is the case. */ if (length % s->params.bytes_per_line != 0) @@ -5785,7 +5785,7 @@ color_shuffle (SANE_Handle handle, int *new_length) */ /* - * Strip the first and last n lines and limit to + * Strip the first and last n lines and limit to */ if ((s->current_output_line >= s->line_distance) && (s->current_output_line < s->params.lines + s->line_distance)) @@ -5800,9 +5800,9 @@ color_shuffle (SANE_Handle handle, int *new_length) /* - * Now remove the 0-entry and move all other - * lines up by one. There are 2*line_distance + 1 - * buffers, * therefore the loop has to run from 0 + * Now remove the 0-entry and move all other + * lines up by one. There are 2*line_distance + 1 + * buffers, * therefore the loop has to run from 0 * to * 2*line_distance, and because we want to * copy every n+1st entry to n the loop runs * from - to 2*line_distance-1! @@ -6008,7 +6008,7 @@ get_identity_information (SANE_Handle handle) DBG (1, "maximum scan area: x %d y %d\n", x, y); k = 5; - /* + /* * Check for Perfection 4990 photo/GT-X800 scanner. * This scanner only report 3200 dpi back. * The scanner fysical supports 4800 dpi. @@ -6031,8 +6031,8 @@ get_identity_information (SANE_Handle handle) DBG (1, "product name %x %x %x %x %x %x %x %x \n", buf[0], buf[1],buf[2],buf[3],buf[4], buf[5],buf[6], buf[7] ); if (strncmp((char *) buf,"GT-X800",7) == 0) { - int val = 0x12 << 8 | 0xC0; - + int val = 0x12 << 8 | 0xC0; + s->hw->res_list_size++; s->hw->res_list = (SANE_Int *) realloc (s->hw->res_list, @@ -6169,7 +6169,7 @@ get_identity2_information (SANE_Handle handle) /* * void sane_cancel(SANE_Handle handle) - * + * * Set the cancel flag to true. The next time the backend requests data * from the scanner the CAN message will be sent. */ @@ -6260,7 +6260,7 @@ request_focus_position (SANE_Handle handle, u_char * position) /* - * Request the push button status + * Request the push button status * returns SANE_TRUE if the button was pressed * and SANE_FALSE if the button was not pressed * it also returns SANE_TRUE in case of an error. diff --git a/backend/epson.conf.in b/backend/epson.conf.in index 2cd505f..796541b 100644 --- a/backend/epson.conf.in +++ b/backend/epson.conf.in @@ -16,7 +16,7 @@ scsi "EPSON SC" # There are two different methods of configuring a USB scanner: libusb and the kernel module # For any system with libusb support (which is pretty much any recent Linux distribution) the # following line is sufficient. This however assumes that the connected scanner (or to be more -# accurate, it's device ID) is known to the backend. +# accurate, it's device ID) is known to the backend. usb # For libusb support for unknown scanners use the following command # usb diff --git a/backend/epson2-commands.c b/backend/epson2-commands.c index eccd4ba..836080a 100644 --- a/backend/epson2-commands.c +++ b/backend/epson2-commands.c @@ -199,7 +199,7 @@ round_cct(double org_cct[], int rnd_cct[]) mult_cct[i] = org_cct[i] * 32; rnd_cct[i] = (int) floor(mult_cct[i] + 0.5); } - + do { for (i = 0; i < 3; i++) { @@ -265,8 +265,8 @@ profile_to_colorcoeff(double *profile, unsigned char *color_coeff) for (i = 0; i < 9; i++) color_coeff[i] = int2cpt(color_table[cc_idx[i]]); } - - + + /* * Sends the "set color correction coefficients" command with the * currently selected parameters to the scanner. @@ -825,7 +825,7 @@ esci_request_command_parameter(SANE_Handle handle, unsigned char *buf) return status; } -/* ESC q - Request Focus Position +/* ESC q - Request Focus Position * -> ESC q * <- Information block * <- Focus position status (2) diff --git a/backend/epson2-ops.c b/backend/epson2-ops.c index 1ba2292..ba0d9cb 100644 --- a/backend/epson2-ops.c +++ b/backend/epson2-ops.c @@ -66,7 +66,7 @@ * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | set bay * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | set threshold * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | set focus position - * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | request focus position + * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | request focus position * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | request extended identity * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | request scanner status * | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | @@ -160,7 +160,7 @@ e2_dev_init(Epson_Device *dev, const char *devname, int conntype) dev->need_double_vertical = SANE_FALSE; dev->cct_profile = &epson_cct_profiles[0]; /* default profile */ - + dev->cmd = &epson_cmd[EPSON_LEVEL_DEFAULT]; /* Change default level when using a network connection */ @@ -936,8 +936,8 @@ e2_set_extended_scanning_parameters(Epson_Scanner * s) } if (s->val[OPT_MODE].w == MODE_INFRARED) { - /* only infrared in TPU mode (NOT in TPU2 or flatbeth) - * XXX investigate this ... only tested on GT-X800 + /* only infrared in TPU mode (NOT in TPU2 or flatbeth) + * XXX investigate this ... only tested on GT-X800 */ if (extensionCtrl == 1) /* test for TPU */ diff --git a/backend/epson2.c b/backend/epson2.c index df84b1d..f119018 100644 --- a/backend/epson2.c +++ b/backend/epson2.c @@ -241,7 +241,7 @@ enum { * therefore I define two different sets of arrays, plus one set of * variables that get set to the actally used params and list arrays at runtime. */ - + static int gamma_params_ab[] = { 0x01, 0x03, @@ -303,7 +303,6 @@ static const SANE_String_Const bay_list[] = { /* minimum, maximum, quantization */ static const SANE_Range u8_range = { 0, 255, 0 }; -static const SANE_Range s8_range = { -127, 127, 0 }; static const SANE_Range fx_range = { SANE_FIX(-2.0), SANE_FIX(2.0), 0 }; static const SANE_Range outline_emphasis_range = { -2, 2, 0 }; @@ -497,7 +496,7 @@ open_scanner(Epson_Scanner *s) DBG(32, "scanner locked\n"); } - + } else if (s->hw->connection == SANE_EPSON_SCSI) status = sanei_scsi_open(s->hw->sane.name, &s->fd, sanei_epson2_scsi_sense_handler, @@ -515,7 +514,7 @@ open_scanner(Epson_Scanner *s) DBG(1, "disable any conflicting driver (like usblp).\n"); } - if (status != SANE_STATUS_GOOD) + if (status != SANE_STATUS_GOOD) DBG(1, "%s open failed: %s\n", s->hw->sane.name, sane_strstatus(status)); else @@ -604,7 +603,7 @@ detect_usb(struct Epson_Scanner *s, SANE_Bool assume_valid) DBG(1, "the device cannot be verified - will continue\n"); return SANE_STATUS_GOOD; } - + /* check the vendor ID to see if we are dealing with an EPSON device */ if (vendor != SANE_EPSON_VENDOR_ID) { /* this is not a supported vendor ID */ @@ -631,11 +630,11 @@ detect_usb(struct Epson_Scanner *s, SANE_Bool assume_valid) s->hw->sane.name, product); return SANE_STATUS_INVAL; } - + DBG(1, "found valid Epson scanner: 0x%x/0x%x (vendorID/productID)\n", vendor, product); - return SANE_STATUS_GOOD; + return SANE_STATUS_GOOD; } static int num_devices; /* number of scanners attached to backend */ @@ -684,7 +683,7 @@ device_detect(const char *name, int type, SANE_Bool assume_valid, SANE_Status *s *status = SANE_STATUS_INVAL; return NULL; } - + /* alloc and clear our device structure */ dev = malloc(sizeof(*dev)); if (!dev) { @@ -797,7 +796,7 @@ attach_one_usb(const char *dev) static SANE_Status attach_one_net(const char *dev) { - char name[39+4]; + char name[39+4]; DBG(7, "%s: dev = %s\n", __func__, dev); @@ -821,7 +820,7 @@ attach_one_config(SANEI_Config __sane_unused__ *config, const char *line) int len = strlen(line); DBG(7, "%s: len = %d, line = %s\n", __func__, len, line); - + if (sscanf(line, "usb %i %i", &vendor, &product) == 2) { /* add the vendor and product IDs to the list of @@ -1248,7 +1247,7 @@ init_options(Epson_Scanner *s) /* if (!s->hw->cmd->set_color_correction) s->opt[OPT_FILM_TYPE].cap |= SANE_CAP_INACTIVE; -*/ +*/ /* mirror */ s->opt[OPT_MIRROR].name = "mirror"; @@ -1501,12 +1500,12 @@ sane_open(SANE_String_Const name, SANE_Handle *handle) if (s == NULL) return status; } else { - + /* as a last resort, check for a match * in the device list. This should handle SCSI * devices and platforms without libusb. */ - + if (first_dev == NULL) probe_devices(); @@ -1515,7 +1514,7 @@ sane_open(SANE_String_Const name, SANE_Handle *handle) DBG(1, "invalid device name: %s\n", name); return SANE_STATUS_INVAL; } - } + } } @@ -1538,7 +1537,7 @@ sane_open(SANE_String_Const name, SANE_Handle *handle) } *handle = (SANE_Handle)s; - + return SANE_STATUS_GOOD; } @@ -2132,7 +2131,7 @@ sane_start(SANE_Handle handle) return status; } - + if (s->val[OPT_COLOR_CORRECTION].w == CORR_AUTO) { /* Automatic */ DBG(1, "using built in CCT profile\n"); @@ -2142,7 +2141,7 @@ sane_start(SANE_Handle handle) if (0) { /* XXX TPU */ - + /* XXX check this */ if (s->val[OPT_FILM_TYPE].w == 0) e2_load_cct_profile(s, CCTP_COLORPOS); @@ -2153,7 +2152,7 @@ sane_start(SANE_Handle handle) e2_load_cct_profile(s, CCTP_REFLECTIVE); } } - + /* ESC m, user defined color correction */ if (s->hw->cmd->set_color_correction_coefficients && correction_userdefined[s->val[OPT_COLOR_CORRECTION].w]) { diff --git a/backend/epson2.conf.in b/backend/epson2.conf.in index 797df2d..b41c862 100644 --- a/backend/epson2.conf.in +++ b/backend/epson2.conf.in @@ -21,7 +21,6 @@ usb # usb 0x4b8 0x110 # Network -# +# # net 192.168.1.123 net autodiscovery - diff --git a/backend/epson2_net.c b/backend/epson2_net.c index 4b3e7e9..8d0fe9e 100644 --- a/backend/epson2_net.c +++ b/backend/epson2_net.c @@ -124,7 +124,7 @@ sanei_epson_net_read(Epson_Scanner *s, unsigned char *buf, ssize_t wanted, if (read < 0) { return 0; } - + /* } else if (wanted < size && s->netlen == size) { */ } else { DBG(23, "%s: partial read\n", __func__); @@ -187,7 +187,7 @@ sanei_epson_net_write(Epson_Scanner *s, unsigned int cmd, const unsigned char *b DBG(24, "H1[0]: %02x %02x %02x %02x\n", h1[0], h1[1], h1[2], h1[3]); if((cmd >> 8) == 0x20) { - htobe32a(&h1[6], buf_size + 8); + htobe32a(&h1[6], buf_size + 8); htobe32a(&h2[0], buf_size); htobe32a(&h2[4], reply_len); diff --git a/backend/epson2_usb.c b/backend/epson2_usb.c index 8e29943..87830c6 100644 --- a/backend/epson2_usb.c +++ b/backend/epson2_usb.c @@ -17,7 +17,11 @@ SANE_Word sanei_epson_usb_product_ids[] = { 0x10c, /* GT-6700U, Perfection 640U */ 0x10e, /* ES-2200, Expression 1680 */ 0x110, /* GT-8200U, GT-8200UF, Perfection 1650, Perfection 1650 PHOTO */ + 0x1116, /* XP-243 245 247 Series, XP-427 */ 0x112, /* GT-9700F, Perfection 2450 PHOTO */ + 0x1120, /* L380 */ + 0x1121, /* ET-2650, L495 */ + 0x113d, /* XP-255 */ 0x11b, /* GT-9300UF, Perfection 2400 PHOTO */ 0x11c, /* GT-9800F, Perfection 3200 PHOTO */ 0x11e, /* GT-8300UF, Perfection 1660 PHOTO */ @@ -31,6 +35,7 @@ SANE_Word sanei_epson_usb_product_ids[] = { 0x138, /* ES-H7200, GT-20000 */ 0x14b, /* ES-G11000, Expression 11000XL */ 0x151, /* GT-X980, Perfection V800 Photo, Perfection V850 Pro */ + 0x15b, /* DS-G20000, Expression 12000XL */ 0x801, /* CC-600PX, Stylus CX5100, Stylus CX5200 */ 0x802, /* CC-570L, Stylus CX3100, Stylus CX3200 */ 0x805, /* Stylus CX6300, Stylus CX6400 */ @@ -171,7 +176,7 @@ SANE_Word sanei_epson_usb_product_ids[] = { 0x8ca, /* L850 Series */ 0x8cd, /* WF-R4640 Series, WF-R5690 Series */ 0x8d0, /* PX-M350F, WF-M5690 Series */ - 0 /* last entry - this is used for devices that are specified + 0 /* last entry - this is used for devices that are specified in the config file as "usb " */ }; diff --git a/backend/epson_usb.c b/backend/epson_usb.c index 520b49f..7fc5c91 100644 --- a/backend/epson_usb.c +++ b/backend/epson_usb.c @@ -41,7 +41,7 @@ SANE_Word sanei_epson_usb_product_ids[] = { 0x82e, /* DX-6000 */ 0x82f, /* DX-4050 */ 0x838, /* DX-7400 */ - 0 /* last entry - this is used for devices that are specified + 0 /* last entry - this is used for devices that are specified in the config file as "usb " */ }; diff --git a/backend/epsonds-cmd.h b/backend/epsonds-cmd.h index 923e811..973609a 100644 --- a/backend/epsonds-cmd.h +++ b/backend/epsonds-cmd.h @@ -26,4 +26,3 @@ SANE_Status esci2_trdt(epsonds_scanner *s); SANE_Status esci2_img(struct epsonds_scanner *s, SANE_Int *length) ; #endif - diff --git a/backend/epsonds-io.c b/backend/epsonds-io.c index e153ad4..0baa125 100644 --- a/backend/epsonds-io.c +++ b/backend/epsonds-io.c @@ -186,5 +186,3 @@ SANE_Status eds_lock(epsonds_scanner *s) return status; } - - diff --git a/backend/epsonds-io.h b/backend/epsonds-io.h index 1bb67c6..b3b3735 100644 --- a/backend/epsonds-io.h +++ b/backend/epsonds-io.h @@ -30,4 +30,3 @@ SANE_Status eds_fsx(epsonds_scanner *s); SANE_Status eds_lock(epsonds_scanner *s); #endif - diff --git a/backend/epsonds-jpeg.c b/backend/epsonds-jpeg.c index 62e8bb5..244f442 100644 --- a/backend/epsonds-jpeg.c +++ b/backend/epsonds-jpeg.c @@ -224,5 +224,3 @@ eds_jpeg_read(SANE_Handle handle, SANE_Byte *data, memcpy(data, src->linebuffer + src->linebuffer_index, *length); src->linebuffer_index += *length; } - - diff --git a/backend/epsonds-ops.c b/backend/epsonds-ops.c index f7a07fb..8b9d115 100644 --- a/backend/epsonds-ops.c +++ b/backend/epsonds-ops.c @@ -490,5 +490,3 @@ void eds_ring_flush(ring_buffer *ring) { eds_ring_skip(ring, ring->fill); } - - diff --git a/backend/epsonds-ops.h b/backend/epsonds-ops.h index ac5e71b..fe503d6 100644 --- a/backend/epsonds-ops.h +++ b/backend/epsonds-ops.h @@ -38,4 +38,3 @@ extern SANE_Int eds_ring_read(ring_buffer *ring, SANE_Byte *buf, SANE_Int size); extern SANE_Int eds_ring_skip(ring_buffer *ring, SANE_Int size); extern SANE_Int eds_ring_avail(ring_buffer *ring); extern void eds_ring_flush(ring_buffer *ring) ; - diff --git a/backend/epsonds.c b/backend/epsonds.c index 218e08c..d402f58 100644 --- a/backend/epsonds.c +++ b/backend/epsonds.c @@ -41,6 +41,12 @@ #include "sane/config.h" #include +#ifdef HAVE_SYS_SELECT_H +#include +#endif +#ifdef HAVE_SYS_TIME_H +# include +#endif #include #include "sane/saneopts.h" diff --git a/backend/fujitsu-scsi.h b/backend/fujitsu-scsi.h index 42598cb..38425a6 100644 --- a/backend/fujitsu-scsi.h +++ b/backend/fujitsu-scsi.h @@ -1,9 +1,9 @@ #ifndef FUJITSU_SCSI_H #define FUJITSU_SCSI_H -/* +/* * Part of SANE - Scanner Access Now Easy. - * + * * Please see to opening comments in fujitsu.c */ @@ -233,7 +233,7 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define get_IN_has_cmd_sdiag(in) getbitfield(in+0x28, 1, 2) #define get_IN_has_cmd_rdiag(in) getbitfield(in+0x28, 1, 1) #define get_IN_has_cmd_scan(in) getbitfield(in+0x28, 1, 0) - + #define get_IN_has_cmd_msen6(in) getbitfield(in+0x29, 1, 7) #define get_IN_has_cmd_copy(in) getbitfield(in+0x29, 1, 6) #define get_IN_has_cmd_rel(in) getbitfield(in+0x29, 1, 5) @@ -244,7 +244,7 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define get_IN_has_cmd_tur(in) getbitfield(in+0x29, 1, 0) /* more stuff here? (vendor commands) */ -#define get_IN_has_cmd_subwindow(in) getbitfield(in+0x2b, 1, 0) +#define get_IN_has_cmd_subwindow(in) getbitfield(in+0x2b, 1, 0) #define get_IN_has_cmd_endorser(in) getbitfield(in+0x2b, 1, 1) #define get_IN_has_cmd_hw_status(in) getbitfield(in+0x2b, 1, 2) #define get_IN_has_cmd_hw_status_2(in) getbitfield(in+0x2b, 1, 3) @@ -276,7 +276,7 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define get_IN_ipc_ipc3(in) getbitfield(in+0x59, 1, 5) #define get_IN_ipc_rotation(in) getbitfield(in+0x59, 1, 4) #define get_IN_ipc_hybrid_crop_deskew(in) getbitfield(in+0x59, 1, 3) -#define get_IN_ipc_ipc2_byte67(in) getbitfield(in+0x59, 1, 0) +#define get_IN_vpd_thru_byte_6f(in) getbitfield(in+0x59, 1, 0) #define get_IN_compression_MH(in) getbitfield(in+0x5a, 1, 7) #define get_IN_compression_MR(in) getbitfield(in+0x5a, 1, 6) @@ -383,9 +383,6 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define get_IN_op_halt(in) getbitfield(in+0x7a, 1, 7) -/* some scanners need evpd inquiry data manipulated */ -#define set_IN_page_length(in,val) in[0x04]=val - /* ==================================================================== */ /* page codes used by mode_sense and mode_select */ #define MS_pc_unk 0x2c /* Used by iX500 */ @@ -413,7 +410,7 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define set_MSEL_pf(sb, val) setbitfield(sb + 1, 1, 4, val) #define set_MSEL_xferlen(sb, val) sb[0x04] = (unsigned char)val -/* MS payloads are combined 4 byte header and 8 or 10 byte page +/* MS payloads are combined 4 byte header and 8 or 10 byte page * there is also 'descriptor block' & 'vendor-specific block' * but fujitsu seems not to use these */ /* 10 byte page only used by dropout? */ @@ -439,7 +436,7 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define set_MSEL_df_thickness(sb, val) setbitfield(sb + 2, 1, 4, val) #define set_MSEL_df_length(sb, val) setbitfield(sb + 2, 1, 3, val) #define set_MSEL_df_diff(sb, val) setbitfield(sb + 2, 3, 0, val) -#define MSEL_df_diff_DEFAULT 0 +#define MSEL_df_diff_DEFAULT 0 #define MSEL_df_diff_10MM 1 #define MSEL_df_diff_15MM 2 #define MSEL_df_diff_20MM 3 @@ -940,7 +937,7 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define get_WD_contrast(sb) sb[0x18] /* 0x19 - Image Composition (color mode) - * 3091 - use 0x00 for line art, 0x01 for halftone, + * 3091 - use 0x00 for line art, 0x01 for halftone, * 0x02 for grayscale, 0x05 for color. * 3096 - same but minus color. */ @@ -961,9 +958,9 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define get_WD_bitsperpixel(sb) sb[0x1a] /* 0x1b,0x1c - Halftone Pattern - * 3091 byte 1b: 00h default(=dither), 01h dither, + * 3091 byte 1b: 00h default(=dither), 01h dither, * 02h error dispersion - * 1c: 00 dark images, 01h dark text+images, + * 1c: 00 dark images, 01h dark text+images, * 02h light images, * 03h light text+images, 80h download pattern * 3096: 1b unused; 1c bit 7=1: use downloadable pattern, @@ -983,8 +980,8 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) /* 0x1d - Reverse image, padding type * 3091: bit 7=1: reverse black&white * bits 0-2: padding type, must be 0 - * 3096: the same; bit 7 must be set for gray and not - * set for b/w. + * 3096: the same; bit 7 must be set for gray and not + * set for b/w. */ #define set_WD_rif(sb, val) setbitfield(sb + 0x1d, 1, 7, val) #define get_WD_rif(sb) getbitfield(sb + 0x1d, 1, 7) diff --git a/backend/fujitsu.c b/backend/fujitsu.c index 433f75a..3ac4c8e 100644 --- a/backend/fujitsu.c +++ b/backend/fujitsu.c @@ -107,7 +107,7 @@ - removed SP15 code - sane_open actually opens the device you request v11 2003-06-11, MAN - - fixed bug in that code when a scanner is disconnected + - fixed bug in that code when a scanner is disconnected v12 2003-10-06, MAN - added code to support color modes of more recent scanners v13 2003-11-07, OS @@ -136,7 +136,7 @@ v19 2004-06-28, MAN - 4220 use model code not strcmp (stan a t saticed.me.uk) v20 2004-08-24, OS - - bugfix: 3091 did not work since 15.12.2003 + - bugfix: 3091 did not work since 15.12.2003 - M4099 supported (bw only) v21 2006-05-01, MAN - Complete rewrite, half code size @@ -264,7 +264,7 @@ - change window_gamma determination - add fi-5650C usb id and color mode v48 2007-04-16, MAN - - re-enable brightness/contrast for built-in models + - re-enable brightness/contrast for built-in models v49 2007-06-28, MAN - add fi-5750C usb id and color mode v50 2007-07-10, MAN @@ -600,6 +600,9 @@ - initial support for fi-7600/7700 - autodetect various double feed capabilities using VPD - call send_lut if we are using a downloaded gamma table + v134 2019-02-23, MAN + - rewrite init_vpd for scanners which fail to report + overscan correctly SANE FLOW DIAGRAM @@ -617,7 +620,7 @@ . . - sane_start() : start image acquisition . . - sane_get_parameters() : returns actual scan parameters . . - sane_read() : read image data (from pipe) - . . (sane_read called multiple times; after sane_read returns EOF, + . . (sane_read called multiple times; after sane_read returns EOF, . . loop may continue with sane_start which may return a 2nd page . . when doing duplex scans, or load the next page from the ADF) . . @@ -649,14 +652,14 @@ #include "fujitsu.h" #define DEBUG 1 -#define BUILD 133 +#define BUILD 134 /* values for SANE_DEBUG_FUJITSU env var: - errors 5 - function trace 10 - function detail 15 - get/setopt cmds 20 - - scsi/usb trace 25 + - scsi/usb trace 25 - scsi/usb writes 30 - scsi/usb reads 31 - useless noise 35 @@ -736,7 +739,7 @@ static struct fujitsu *fujitsu_devList = NULL; /* * Called by SANE initially. - * + * * From the SANE spec: * This function must be called before any other SANE function can be * called. The behavior of a SANE backend is undefined if this @@ -770,7 +773,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) /* * Called by SANE to find out about supported devices. - * + * * From the SANE spec: * This function can be used to query the list of devices that are * available. If the function executes successfully, it stores a @@ -783,7 +786,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) * returned (devices directly attached to the machine that SANE is * running on). If it is false, the device list includes all remote * devices that are accessible to the SANE library. - * + * * SANE does not require that this function is called before a * sane_open() call is performed. A device name may be specified * explicitly by a user which would make it unnecessary and @@ -827,39 +830,39 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) FUJITSU_CONFIG_FILE); while (sanei_config_read (line, PATH_MAX, fp)) { - + lp = line; - + /* ignore comments */ if (*lp == '#') continue; - + /* skip empty lines */ if (*lp == 0) continue; - + if ((strncmp ("option", lp, 6) == 0) && isspace (lp[6])) { - + lp += 6; lp = sanei_config_skip_whitespace (lp); - + /* we allow setting buffersize too big */ if ((strncmp (lp, "buffer-size", 11) == 0) && isspace (lp[11])) { - + int buf; lp += 11; lp = sanei_config_skip_whitespace (lp); buf = atoi (lp); - + if (buf < 4096) { DBG (5, "sane_get_devices: config option \"buffer-size\" (%d) is < 4096, ignoring!\n", buf); continue; } - + if (buf > 64*1024) { DBG (5, "sane_get_devices: config option \"buffer-size\" (%d) is > %d, warning!\n", buf, 64*1024); } - + DBG (15, "sane_get_devices: setting \"buffer-size\" to %d\n", buf); global_buffer_size = buf; } @@ -956,8 +959,8 @@ attach_one_usb (const char *device_name) return attach_one(device_name,CONNECTION_USB); } -/* build the scanner struct and link to global list - * unless struct is already loaded, then pretend +/* build the scanner struct and link to global list + * unless struct is already loaded, then pretend */ static SANE_Status attach_one (const char *device_name, int connType) @@ -1105,7 +1108,7 @@ connect_fd (struct fujitsu *s) } else { DBG (15, "connect_fd: opening SCSI device\n"); - ret = sanei_scsi_open_extended (s->device_name, &(s->fd), sense_handler, s, + ret = sanei_scsi_open_extended (s->device_name, &(s->fd), sense_handler, s, &s->buffer_size); if(!ret && buffer_size != s->buffer_size){ DBG (5, "connect_fd: cannot get requested buffer size (%d/%d)\n", @@ -1115,8 +1118,8 @@ connect_fd (struct fujitsu *s) if(ret == SANE_STATUS_GOOD){ - /* first generation usb scanners can get flaky if not closed - * properly after last use. very first commands sent to device + /* first generation usb scanners can get flaky if not closed + * properly after last use. very first commands sent to device * must be prepared to correct this- see wait_scanner() */ ret = wait_scanner(s); if (ret != SANE_STATUS_GOOD) { @@ -1157,9 +1160,9 @@ init_inquire (struct fujitsu *s) set_IN_return_size (cmd, inLen); set_IN_evpd (cmd, 0); set_IN_page_code (cmd, 0); - + ret = do_cmd ( - s, 1, 0, + s, 1, 0, cmd, cmdLen, NULL, 0, in, &inLen @@ -1238,6 +1241,8 @@ init_vpd (struct fujitsu *s) unsigned char in[INQUIRY_vpd_len]; size_t inLen = INQUIRY_vpd_len; + int payload_len, payload_off; + DBG (10, "init_vpd: start\n"); /* get EVPD */ @@ -1254,531 +1259,573 @@ init_vpd (struct fujitsu *s) in, &inLen ); + /*FIXME no vpd, set some defaults? */ + if (ret != SANE_STATUS_GOOD && ret != SANE_STATUS_EOF) { + DBG (5, "init_vpd: Your scanner does not support VPD?\n"); + DBG (5, "init_vpd: Please contact kitno455 at gmail dot com\n"); + DBG (5, "init_vpd: with details of your scanner model.\n"); + return ret; + } + + /* In byte 4, the scanner sends the length of the remainder of + * the payload. But, this value is often bogus. */ + payload_len = get_IN_page_length(in); + + DBG (15, "init_vpd: length=%0x\n", payload_len); + /* M3099 gives all data, but wrong length */ - if (strstr (s->model_name, "M3099") - && (ret == SANE_STATUS_GOOD || ret == SANE_STATUS_EOF) - && get_IN_page_length (in) == 0x19){ - DBG (5, "init_vpd: M3099 repair\n"); - set_IN_page_length(in,0x5f); + if (strstr (s->model_name, "M3099") && payload_len == 0x19){ + DBG (5, "init_vpd: M3099 repair\n"); + payload_len = 0x5f; } /* M3097G has short vpd, fill in missing part */ - else if (strstr (s->model_name, "M3097G") - && (ret == SANE_STATUS_GOOD || ret == SANE_STATUS_EOF) - && get_IN_page_length (in) == 0x19){ - unsigned char vpd3097g[] = { + else if (strstr (s->model_name, "M3097G") && payload_len == 0x19){ + unsigned char vpd3097g[] = { 0, 0, 0xc2, 0x08, 0, 0, 0, 0, 0, 0, 0xed, 0xbf, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff, 0xff, 0, 0x45, 0x35, 0, 0xe0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }; - DBG (5, "init_vpd: M3097G repair\n"); - set_IN_page_length(in,0x5f); - memcpy(in+0x1e,vpd3097g,sizeof(vpd3097g)); + }; - /*IPC*/ - if(strstr (s->model_name, "i")){ - DBG (5, "init_vpd: M3097G IPC repair\n"); + DBG (5, "init_vpd: M3097G repair\n"); + payload_len = 0x5f; + memcpy(in+0x1e,vpd3097g,sizeof(vpd3097g)); - /*subwin cmd*/ - in[0x2b] = 1; + /*IPC*/ + if(strstr (s->model_name, "i")){ + DBG (5, "init_vpd: M3097G IPC repair\n"); - /*rif/dtc/sdtc/outline/emph/sep/mirr/wlf*/ - in[0x58] = 0xff; + /*subwin cmd*/ + in[0x2b] = 1; - /*subwin/diffusion*/ - in[0x59] = 0xc0; - } + /*rif/dtc/sdtc/outline/emph/sep/mirr/wlf*/ + in[0x58] = 0xff; - /*CMP*/ - if(strstr (s->model_name, "m")){ - DBG (5, "init_vpd: M3097G CMP repair\n"); + /*subwin/diffusion*/ + in[0x59] = 0xc0; + } - /*4megs*/ - in[0x23] = 0x40; + /*CMP*/ + if(strstr (s->model_name, "m")){ + DBG (5, "init_vpd: M3097G CMP repair\n"); - /*mh/mr/mmr*/ - in[0x5a] = 0xe0; - } + /*4megs*/ + in[0x23] = 0x40; + + /*mh/mr/mmr*/ + in[0x5a] = 0xe0; + } } - DBG (15, "init_vpd: length=%0x\n",get_IN_page_length (in)); + /* all other known scanners have at least 0x5f, + * less would require software changes like above */ + else if (payload_len < 0x5f) { + DBG (5, "init_vpd: Your scanner supports only partial VPD?\n"); + DBG (5, "init_vpd: Please contact kitno455 at gmail dot com\n"); + DBG (5, "init_vpd: with details of your scanner model.\n"); + return SANE_STATUS_INVAL; + } - /* This scanner supports vital product data. - * Use this data to set dpi-lists etc. */ - if (ret == SANE_STATUS_GOOD || ret == SANE_STATUS_EOF) { + /* Special case- some scanners will under-report the amount of + * valid vpd that they send, and return the default length. + * Adding 4 more bytes allows us to include the overscan info. + * Scanners that don't support overscan seem to have all zeros + * in these bytes, so no harm is done. + * This may be an 'off-by-four' error in the firmware. */ + else if (payload_len == 0x5f){ + payload_len += 4; + } - DBG (15, "standard options\n"); + /* Having an offset from the beginning of the payload + * is more useful than from byte 4, as that matches the + * documentation more closely. */ + payload_off = payload_len + 4; - s->basic_x_res = get_IN_basic_x_res (in); - DBG (15, " basic x res: %d dpi\n",s->basic_x_res); + /* everything that appears in bytes 0 to 0x1d */ + DBG (15, "standard options\n"); - s->basic_y_res = get_IN_basic_y_res (in); - DBG (15, " basic y res: %d dpi\n",s->basic_y_res); + s->basic_x_res = get_IN_basic_x_res (in); + DBG (15, " basic x res: %d dpi\n",s->basic_x_res); - s->step_x_res[MODE_LINEART] = get_IN_step_x_res (in); - DBG (15, " step x res: %d dpi\n", s->step_x_res[MODE_LINEART]); + s->basic_y_res = get_IN_basic_y_res (in); + DBG (15, " basic y res: %d dpi\n",s->basic_y_res); - s->step_y_res[MODE_LINEART] = get_IN_step_y_res (in); - DBG (15, " step y res: %d dpi\n", s->step_y_res[MODE_LINEART]); + s->step_x_res[MODE_LINEART] = get_IN_step_x_res (in); + DBG (15, " step x res: %d dpi\n", s->step_x_res[MODE_LINEART]); - s->max_x_res = get_IN_max_x_res (in); - DBG (15, " max x res: %d dpi\n", s->max_x_res); + s->step_y_res[MODE_LINEART] = get_IN_step_y_res (in); + DBG (15, " step y res: %d dpi\n", s->step_y_res[MODE_LINEART]); - s->max_y_res = get_IN_max_y_res (in); - DBG (15, " max y res: %d dpi\n", s->max_y_res); + s->max_x_res = get_IN_max_x_res (in); + DBG (15, " max x res: %d dpi\n", s->max_x_res); - s->min_x_res = get_IN_min_x_res (in); - DBG (15, " min x res: %d dpi\n", s->min_x_res); + s->max_y_res = get_IN_max_y_res (in); + DBG (15, " max y res: %d dpi\n", s->max_y_res); - s->min_y_res = get_IN_min_y_res (in); - DBG (15, " min y res: %d dpi\n", s->min_y_res); + s->min_x_res = get_IN_min_x_res (in); + DBG (15, " min x res: %d dpi\n", s->min_x_res); - /* some scanners list B&W resolutions. */ - s->std_res[0] = get_IN_std_res_60 (in); - DBG (15, " 60 dpi: %d\n", s->std_res[0]); + s->min_y_res = get_IN_min_y_res (in); + DBG (15, " min y res: %d dpi\n", s->min_y_res); - s->std_res[1] = get_IN_std_res_75 (in); - DBG (15, " 75 dpi: %d\n", s->std_res[1]); + /* some scanners list B&W resolutions. */ + s->std_res[0] = get_IN_std_res_60 (in); + DBG (15, " 60 dpi: %d\n", s->std_res[0]); - s->std_res[2] = get_IN_std_res_100 (in); - DBG (15, " 100 dpi: %d\n", s->std_res[2]); + s->std_res[1] = get_IN_std_res_75 (in); + DBG (15, " 75 dpi: %d\n", s->std_res[1]); - s->std_res[3] = get_IN_std_res_120 (in); - DBG (15, " 120 dpi: %d\n", s->std_res[3]); + s->std_res[2] = get_IN_std_res_100 (in); + DBG (15, " 100 dpi: %d\n", s->std_res[2]); - s->std_res[4] = get_IN_std_res_150 (in); - DBG (15, " 150 dpi: %d\n", s->std_res[4]); + s->std_res[3] = get_IN_std_res_120 (in); + DBG (15, " 120 dpi: %d\n", s->std_res[3]); - s->std_res[5] = get_IN_std_res_160 (in); - DBG (15, " 160 dpi: %d\n", s->std_res[5]); + s->std_res[4] = get_IN_std_res_150 (in); + DBG (15, " 150 dpi: %d\n", s->std_res[4]); - s->std_res[6] = get_IN_std_res_180 (in); - DBG (15, " 180 dpi: %d\n", s->std_res[6]); + s->std_res[5] = get_IN_std_res_160 (in); + DBG (15, " 160 dpi: %d\n", s->std_res[5]); - s->std_res[7] = get_IN_std_res_200 (in); - DBG (15, " 200 dpi: %d\n", s->std_res[7]); + s->std_res[6] = get_IN_std_res_180 (in); + DBG (15, " 180 dpi: %d\n", s->std_res[6]); - s->std_res[8] = get_IN_std_res_240 (in); - DBG (15, " 240 dpi: %d\n", s->std_res[8]); + s->std_res[7] = get_IN_std_res_200 (in); + DBG (15, " 200 dpi: %d\n", s->std_res[7]); - s->std_res[9] = get_IN_std_res_300 (in); - DBG (15, " 300 dpi: %d\n", s->std_res[9]); + s->std_res[8] = get_IN_std_res_240 (in); + DBG (15, " 240 dpi: %d\n", s->std_res[8]); - s->std_res[10] = get_IN_std_res_320 (in); - DBG (15, " 320 dpi: %d\n", s->std_res[10]); + s->std_res[9] = get_IN_std_res_300 (in); + DBG (15, " 300 dpi: %d\n", s->std_res[9]); - s->std_res[11] = get_IN_std_res_400 (in); - DBG (15, " 400 dpi: %d\n", s->std_res[11]); + s->std_res[10] = get_IN_std_res_320 (in); + DBG (15, " 320 dpi: %d\n", s->std_res[10]); - s->std_res[12] = get_IN_std_res_480 (in); - DBG (15, " 480 dpi: %d\n", s->std_res[12]); + s->std_res[11] = get_IN_std_res_400 (in); + DBG (15, " 400 dpi: %d\n", s->std_res[11]); - s->std_res[13] = get_IN_std_res_600 (in); - DBG (15, " 600 dpi: %d\n", s->std_res[13]); + s->std_res[12] = get_IN_std_res_480 (in); + DBG (15, " 480 dpi: %d\n", s->std_res[12]); - s->std_res[14] = get_IN_std_res_800 (in); - DBG (15, " 800 dpi: %d\n", s->std_res[14]); + s->std_res[13] = get_IN_std_res_600 (in); + DBG (15, " 600 dpi: %d\n", s->std_res[13]); - s->std_res[15] = get_IN_std_res_1200 (in); - DBG (15, " 1200 dpi: %d\n", s->std_res[15]); + s->std_res[14] = get_IN_std_res_800 (in); + DBG (15, " 800 dpi: %d\n", s->std_res[14]); - /* maximum window width and length are reported in basic units.*/ - s->max_x_basic = get_IN_window_width(in); - DBG(15, " max width: %2.2f inches\n",(float)s->max_x_basic/s->basic_x_res); + s->std_res[15] = get_IN_std_res_1200 (in); + DBG (15, " 1200 dpi: %d\n", s->std_res[15]); - s->max_y_basic = get_IN_window_length(in); - DBG(15, " max length: %2.2f inches\n",(float)s->max_y_basic/s->basic_y_res); + /* maximum window width and length are reported in basic units.*/ + s->max_x_basic = get_IN_window_width(in); + DBG(15, " max width: %2.2f inches\n",(float)s->max_x_basic/s->basic_x_res); - /* known modes */ - s->can_overflow = get_IN_overflow(in); - DBG (15, " overflow: %d\n", s->can_overflow); + s->max_y_basic = get_IN_window_length(in); + DBG(15, " max length: %2.2f inches\n",(float)s->max_y_basic/s->basic_y_res); - s->can_mode[MODE_LINEART] = get_IN_monochrome (in); - DBG (15, " monochrome: %d\n", s->can_mode[MODE_LINEART]); + /* known modes */ + s->can_overflow = get_IN_overflow(in); + DBG (15, " overflow: %d\n", s->can_overflow); - s->can_mode[MODE_HALFTONE] = get_IN_half_tone (in); - DBG (15, " halftone: %d\n", s->can_mode[MODE_HALFTONE]); + s->can_mode[MODE_LINEART] = get_IN_monochrome (in); + DBG (15, " monochrome: %d\n", s->can_mode[MODE_LINEART]); - s->can_mode[MODE_GRAYSCALE] = get_IN_multilevel (in); - DBG (15, " grayscale: %d\n", s->can_mode[MODE_GRAYSCALE]); + s->can_mode[MODE_HALFTONE] = get_IN_half_tone (in); + DBG (15, " halftone: %d\n", s->can_mode[MODE_HALFTONE]); - DBG (15, " color_monochrome: %d\n", get_IN_monochrome_rgb(in)); - DBG (15, " color_halftone: %d\n", get_IN_half_tone_rgb(in)); + s->can_mode[MODE_GRAYSCALE] = get_IN_multilevel (in); + DBG (15, " grayscale: %d\n", s->can_mode[MODE_GRAYSCALE]); - s->can_mode[MODE_COLOR] = get_IN_multilevel_rgb (in); - DBG (15, " color_grayscale: %d\n", s->can_mode[MODE_COLOR]); + DBG (15, " color_monochrome: %d\n", get_IN_monochrome_rgb(in)); + DBG (15, " color_halftone: %d\n", get_IN_half_tone_rgb(in)); - /* now we look at vendor specific data */ - if (get_IN_page_length (in) >= 0x5f) { + s->can_mode[MODE_COLOR] = get_IN_multilevel_rgb (in); + DBG (15, " color_grayscale: %d\n", s->can_mode[MODE_COLOR]); - DBG (15, "vendor options\n"); + /* now we look at vendor specific data in bytes 0x1e onward */ + DBG (15, "vendor options\n"); - s->has_adf = get_IN_adf(in); - DBG (15, " adf: %d\n", s->has_adf); + s->has_adf = get_IN_adf(in); + DBG (15, " adf: %d\n", s->has_adf); - s->has_flatbed = get_IN_flatbed(in); - DBG (15, " flatbed: %d\n", s->has_flatbed); + s->has_flatbed = get_IN_flatbed(in); + DBG (15, " flatbed: %d\n", s->has_flatbed); - s->has_transparency = get_IN_transparency(in); - DBG (15, " transparency: %d\n", s->has_transparency); + s->has_transparency = get_IN_transparency(in); + DBG (15, " transparency: %d\n", s->has_transparency); - s->has_duplex = get_IN_duplex(in); - s->has_back = s->has_duplex; - DBG (15, " duplex: %d\n", s->has_duplex); + s->has_duplex = get_IN_duplex(in); + s->has_back = s->has_duplex; + DBG (15, " duplex: %d\n", s->has_duplex); - s->has_endorser_b = get_IN_endorser_b(in); - DBG (15, " back endorser: %d\n", s->has_endorser_b); + s->has_endorser_b = get_IN_endorser_b(in); + DBG (15, " back endorser: %d\n", s->has_endorser_b); - s->has_barcode = get_IN_barcode(in); - DBG (15, " barcode: %d\n", s->has_barcode); + s->has_barcode = get_IN_barcode(in); + DBG (15, " barcode: %d\n", s->has_barcode); - s->has_operator_panel = get_IN_operator_panel(in); - DBG (15, " operator panel: %d\n", s->has_operator_panel); + s->has_operator_panel = get_IN_operator_panel(in); + DBG (15, " operator panel: %d\n", s->has_operator_panel); - s->has_endorser_f = get_IN_endorser_f(in); - DBG (15, " front endorser: %d\n", s->has_endorser_f); + s->has_endorser_f = get_IN_endorser_f(in); + DBG (15, " front endorser: %d\n", s->has_endorser_f); - DBG (15, " multi-purpose stacker: %d\n", get_IN_mp_stacker(in)); + DBG (15, " multi-purpose stacker: %d\n", get_IN_mp_stacker(in)); - DBG (15, " prepick: %d\n", get_IN_prepick(in)); - DBG (15, " mf detect: %d\n", get_IN_mf_detect(in)); + DBG (15, " prepick: %d\n", get_IN_prepick(in)); + DBG (15, " mf detect: %d\n", get_IN_mf_detect(in)); - s->has_paper_protect = get_IN_paperprot(in); - DBG (15, " paper protection: %d\n", s->has_paper_protect); + s->has_paper_protect = get_IN_paperprot(in); + DBG (15, " paper protection: %d\n", s->has_paper_protect); - s->adbits = get_IN_adbits(in); - DBG (15, " A/D bits: %d\n",s->adbits); + s->adbits = get_IN_adbits(in); + DBG (15, " A/D bits: %d\n",s->adbits); - s->buffer_bytes = get_IN_buffer_bytes(in); - DBG (15, " buffer bytes: %d\n",s->buffer_bytes); + s->buffer_bytes = get_IN_buffer_bytes(in); + DBG (15, " buffer bytes: %d\n",s->buffer_bytes); - DBG (15, "Standard commands\n"); + DBG (15, "Standard commands\n"); - /* std scsi command support byte 26*/ - s->has_cmd_msen10 = get_IN_has_cmd_msen10(in); - DBG (15, " mode_sense_10 cmd: %d\n", s->has_cmd_msen10); + /* std scsi command support byte 26*/ + s->has_cmd_msen10 = get_IN_has_cmd_msen10(in); + DBG (15, " mode_sense_10 cmd: %d\n", s->has_cmd_msen10); - s->has_cmd_msel10 = get_IN_has_cmd_msel10(in); - DBG (15, " mode_select_10 cmd: %d\n", s->has_cmd_msel10); + s->has_cmd_msel10 = get_IN_has_cmd_msel10(in); + DBG (15, " mode_select_10 cmd: %d\n", s->has_cmd_msel10); - /* std scsi command support byte 27*/ - s->has_cmd_lsen = get_IN_has_cmd_lsen(in); - DBG (15, " log_sense cmd: %d\n", s->has_cmd_lsen); + /* std scsi command support byte 27*/ + s->has_cmd_lsen = get_IN_has_cmd_lsen(in); + DBG (15, " log_sense cmd: %d\n", s->has_cmd_lsen); - s->has_cmd_lsel = get_IN_has_cmd_lsel(in); - DBG (15, " log_select cmd: %d\n", s->has_cmd_lsel); + s->has_cmd_lsel = get_IN_has_cmd_lsel(in); + DBG (15, " log_select cmd: %d\n", s->has_cmd_lsel); - s->has_cmd_change = get_IN_has_cmd_change(in); - DBG (15, " change cmd: %d\n", s->has_cmd_change); + s->has_cmd_change = get_IN_has_cmd_change(in); + DBG (15, " change cmd: %d\n", s->has_cmd_change); - s->has_cmd_rbuff = get_IN_has_cmd_rbuff(in); - DBG (15, " read_buffer cmd: %d\n", s->has_cmd_rbuff); + s->has_cmd_rbuff = get_IN_has_cmd_rbuff(in); + DBG (15, " read_buffer cmd: %d\n", s->has_cmd_rbuff); - s->has_cmd_wbuff = get_IN_has_cmd_wbuff(in); - DBG (15, " write_buffer cmd: %d\n", s->has_cmd_wbuff); + s->has_cmd_wbuff = get_IN_has_cmd_wbuff(in); + DBG (15, " write_buffer cmd: %d\n", s->has_cmd_wbuff); - s->has_cmd_cav = get_IN_has_cmd_cav(in); - DBG (15, " copy_and_verify cmd: %d\n", s->has_cmd_cav); + s->has_cmd_cav = get_IN_has_cmd_cav(in); + DBG (15, " copy_and_verify cmd: %d\n", s->has_cmd_cav); - s->has_cmd_comp = get_IN_has_cmd_comp(in); - DBG (15, " compare cmd: %d\n", s->has_cmd_comp); + s->has_cmd_comp = get_IN_has_cmd_comp(in); + DBG (15, " compare cmd: %d\n", s->has_cmd_comp); - s->has_cmd_gdbs = get_IN_has_cmd_gdbs(in); - DBG (15, " get_d_b_status cmd: %d\n", s->has_cmd_gdbs); + s->has_cmd_gdbs = get_IN_has_cmd_gdbs(in); + DBG (15, " get_d_b_status cmd: %d\n", s->has_cmd_gdbs); - /* std scsi command support byte 28*/ - s->has_cmd_op = get_IN_has_cmd_op(in); - DBG (15, " object_pos cmd: %d\n", s->has_cmd_op); + /* std scsi command support byte 28*/ + s->has_cmd_op = get_IN_has_cmd_op(in); + DBG (15, " object_pos cmd: %d\n", s->has_cmd_op); - s->has_cmd_send = get_IN_has_cmd_send(in); - DBG (15, " send cmd: %d\n", s->has_cmd_send); + s->has_cmd_send = get_IN_has_cmd_send(in); + DBG (15, " send cmd: %d\n", s->has_cmd_send); - s->has_cmd_read = get_IN_has_cmd_read(in); - DBG (15, " read cmd: %d\n", s->has_cmd_read); + s->has_cmd_read = get_IN_has_cmd_read(in); + DBG (15, " read cmd: %d\n", s->has_cmd_read); - s->has_cmd_gwin = get_IN_has_cmd_gwin(in); - DBG (15, " get_window cmd: %d\n", s->has_cmd_gwin); + s->has_cmd_gwin = get_IN_has_cmd_gwin(in); + DBG (15, " get_window cmd: %d\n", s->has_cmd_gwin); - s->has_cmd_swin = get_IN_has_cmd_swin(in); - DBG (15, " set_window cmd: %d\n", s->has_cmd_swin); + s->has_cmd_swin = get_IN_has_cmd_swin(in); + DBG (15, " set_window cmd: %d\n", s->has_cmd_swin); - s->has_cmd_sdiag = get_IN_has_cmd_sdiag(in); - DBG (15, " send_diag cmd: %d\n", s->has_cmd_sdiag); + s->has_cmd_sdiag = get_IN_has_cmd_sdiag(in); + DBG (15, " send_diag cmd: %d\n", s->has_cmd_sdiag); - s->has_cmd_rdiag = get_IN_has_cmd_rdiag(in); - DBG (15, " read_diag cmd: %d\n", s->has_cmd_rdiag); + s->has_cmd_rdiag = get_IN_has_cmd_rdiag(in); + DBG (15, " read_diag cmd: %d\n", s->has_cmd_rdiag); - s->has_cmd_scan = get_IN_has_cmd_scan(in); - DBG (15, " scan cmd: %d\n", s->has_cmd_scan); + s->has_cmd_scan = get_IN_has_cmd_scan(in); + DBG (15, " scan cmd: %d\n", s->has_cmd_scan); - /* std scsi command support byte 29*/ - s->has_cmd_msen6 = get_IN_has_cmd_msen6(in); - DBG (15, " mode_sense_6 cmd: %d\n", s->has_cmd_msen6); + /* std scsi command support byte 29*/ + s->has_cmd_msen6 = get_IN_has_cmd_msen6(in); + DBG (15, " mode_sense_6 cmd: %d\n", s->has_cmd_msen6); - s->has_cmd_copy = get_IN_has_cmd_copy(in); - DBG (15, " copy cmd: %d\n", s->has_cmd_copy); + s->has_cmd_copy = get_IN_has_cmd_copy(in); + DBG (15, " copy cmd: %d\n", s->has_cmd_copy); - s->has_cmd_rel = get_IN_has_cmd_rel(in); - DBG (15, " release cmd: %d\n", s->has_cmd_rel); + s->has_cmd_rel = get_IN_has_cmd_rel(in); + DBG (15, " release cmd: %d\n", s->has_cmd_rel); - s->has_cmd_runit = get_IN_has_cmd_runit(in); - DBG (15, " reserve_unit cmd: %d\n", s->has_cmd_runit); + s->has_cmd_runit = get_IN_has_cmd_runit(in); + DBG (15, " reserve_unit cmd: %d\n", s->has_cmd_runit); - s->has_cmd_msel6 = get_IN_has_cmd_msel6(in); - DBG (15, " mode_select_6 cmd: %d\n", s->has_cmd_msel6); + s->has_cmd_msel6 = get_IN_has_cmd_msel6(in); + DBG (15, " mode_select_6 cmd: %d\n", s->has_cmd_msel6); - s->has_cmd_inq = get_IN_has_cmd_inq(in); - DBG (15, " inquiry cmd: %d\n", s->has_cmd_inq); + s->has_cmd_inq = get_IN_has_cmd_inq(in); + DBG (15, " inquiry cmd: %d\n", s->has_cmd_inq); - s->has_cmd_rs = get_IN_has_cmd_rs(in); - DBG (15, " request_sense cmd: %d\n", s->has_cmd_rs); + s->has_cmd_rs = get_IN_has_cmd_rs(in); + DBG (15, " request_sense cmd: %d\n", s->has_cmd_rs); - s->has_cmd_tur = get_IN_has_cmd_tur(in); - DBG (15, " test_unit_ready cmd: %d\n", s->has_cmd_tur); + s->has_cmd_tur = get_IN_has_cmd_tur(in); + DBG (15, " test_unit_ready cmd: %d\n", s->has_cmd_tur); - /* vendor added scsi command support */ - /* FIXME: there are more of these... */ - DBG (15, "Vendor commands\n"); + /* vendor added scsi command support */ + /* FIXME: there are more of these... */ + DBG (15, "Vendor commands\n"); - s->has_cmd_subwindow = get_IN_has_cmd_subwindow(in); - DBG (15, " subwindow cmd: %d\n", s->has_cmd_subwindow); + s->has_cmd_subwindow = get_IN_has_cmd_subwindow(in); + DBG (15, " subwindow cmd: %d\n", s->has_cmd_subwindow); - s->has_cmd_endorser = get_IN_has_cmd_endorser(in); - DBG (15, " endorser cmd: %d\n", s->has_cmd_endorser); + s->has_cmd_endorser = get_IN_has_cmd_endorser(in); + DBG (15, " endorser cmd: %d\n", s->has_cmd_endorser); - s->has_cmd_hw_status = get_IN_has_cmd_hw_status (in); - DBG (15, " hardware status cmd: %d\n", s->has_cmd_hw_status); + s->has_cmd_hw_status = get_IN_has_cmd_hw_status (in); + DBG (15, " hardware status cmd: %d\n", s->has_cmd_hw_status); - s->has_cmd_hw_status_2 = get_IN_has_cmd_hw_status_2 (in); - DBG (15, " hardware status 2 cmd: %d\n", s->has_cmd_hw_status_2); + s->has_cmd_hw_status_2 = get_IN_has_cmd_hw_status_2 (in); + DBG (15, " hardware status 2 cmd: %d\n", s->has_cmd_hw_status_2); - s->has_cmd_hw_status_3 = get_IN_has_cmd_hw_status_3 (in); - DBG (15, " hardware status 3 cmd: %d\n", s->has_cmd_hw_status_3); + s->has_cmd_hw_status_3 = get_IN_has_cmd_hw_status_3 (in); + DBG (15, " hardware status 3 cmd: %d\n", s->has_cmd_hw_status_3); - s->has_cmd_scanner_ctl = get_IN_has_cmd_scanner_ctl(in); - DBG (15, " scanner control cmd: %d\n", s->has_cmd_scanner_ctl); + s->has_cmd_scanner_ctl = get_IN_has_cmd_scanner_ctl(in); + DBG (15, " scanner control cmd: %d\n", s->has_cmd_scanner_ctl); - s->has_cmd_device_restart = get_IN_has_cmd_device_restart(in); - DBG (15, " device restart cmd: %d\n", s->has_cmd_device_restart); + s->has_cmd_device_restart = get_IN_has_cmd_device_restart(in); + DBG (15, " device restart cmd: %d\n", s->has_cmd_device_restart); - /* get threshold, brightness and contrast ranges. */ - s->brightness_steps = get_IN_brightness_steps(in); - DBG (15, " brightness steps: %d\n", s->brightness_steps); + /* get threshold, brightness and contrast ranges. */ + s->brightness_steps = get_IN_brightness_steps(in); + DBG (15, " brightness steps: %d\n", s->brightness_steps); - s->threshold_steps = get_IN_threshold_steps(in); - DBG (15, " threshold steps: %d\n", s->threshold_steps); + s->threshold_steps = get_IN_threshold_steps(in); + DBG (15, " threshold steps: %d\n", s->threshold_steps); - s->contrast_steps = get_IN_contrast_steps(in); - DBG (15, " contrast steps: %d\n", s->contrast_steps); + s->contrast_steps = get_IN_contrast_steps(in); + DBG (15, " contrast steps: %d\n", s->contrast_steps); - /* dither/gamma patterns */ - s->num_internal_gamma = get_IN_num_gamma_internal (in); - DBG (15, " built in gamma patterns: %d\n", s->num_internal_gamma); + /* dither/gamma patterns */ + s->num_internal_gamma = get_IN_num_gamma_internal (in); + DBG (15, " built in gamma patterns: %d\n", s->num_internal_gamma); - s->num_download_gamma = get_IN_num_gamma_download (in); - DBG (15, " download gamma patterns: %d\n", s->num_download_gamma); + s->num_download_gamma = get_IN_num_gamma_download (in); + DBG (15, " download gamma patterns: %d\n", s->num_download_gamma); - s->num_internal_dither = get_IN_num_dither_internal (in); - DBG (15, " built in dither patterns: %d\n", s->num_internal_dither); + s->num_internal_dither = get_IN_num_dither_internal (in); + DBG (15, " built in dither patterns: %d\n", s->num_internal_dither); - s->num_download_dither = get_IN_num_dither_download (in); - DBG (15, " download dither patterns: %d\n", s->num_download_dither); + s->num_download_dither = get_IN_num_dither_download (in); + DBG (15, " download dither patterns: %d\n", s->num_download_dither); - /* ipc functions */ - s->has_rif = get_IN_ipc_bw_rif (in); - DBG (15, " RIF: %d\n", s->has_rif); + /* ipc functions */ + s->has_rif = get_IN_ipc_bw_rif (in); + DBG (15, " RIF: %d\n", s->has_rif); - s->has_dtc = get_IN_ipc_dtc(in); - DBG (15, " DTC (AutoI): %d\n", s->has_dtc); + s->has_dtc = get_IN_ipc_dtc(in); + DBG (15, " DTC (AutoI): %d\n", s->has_dtc); - s->has_sdtc = get_IN_ipc_sdtc(in); - DBG (15, " SDTC (AutoII): %d\n", s->has_sdtc); + s->has_sdtc = get_IN_ipc_sdtc(in); + DBG (15, " SDTC (AutoII): %d\n", s->has_sdtc); - s->has_outline = get_IN_ipc_outline_extraction (in); - DBG (15, " outline extraction: %d\n", s->has_outline); + s->has_outline = get_IN_ipc_outline_extraction (in); + DBG (15, " outline extraction: %d\n", s->has_outline); - s->has_emphasis = get_IN_ipc_image_emphasis (in); - DBG (15, " image emphasis: %d\n", s->has_emphasis); + s->has_emphasis = get_IN_ipc_image_emphasis (in); + DBG (15, " image emphasis: %d\n", s->has_emphasis); - s->has_autosep = get_IN_ipc_auto_separation (in); - DBG (15, " automatic separation: %d\n", s->has_autosep); + s->has_autosep = get_IN_ipc_auto_separation (in); + DBG (15, " automatic separation: %d\n", s->has_autosep); - s->has_mirroring = get_IN_ipc_mirroring (in); - DBG (15, " mirror image: %d\n", s->has_mirroring); + s->has_mirroring = get_IN_ipc_mirroring (in); + DBG (15, " mirror image: %d\n", s->has_mirroring); - s->has_wl_follow = get_IN_ipc_wl_follow (in); - DBG (15, " white level follower: %d\n", s->has_wl_follow); + s->has_wl_follow = get_IN_ipc_wl_follow (in); + DBG (15, " white level follower: %d\n", s->has_wl_follow); - /* byte 58 */ - s->has_subwindow = get_IN_ipc_subwindow (in); - DBG (15, " subwindow: %d\n", s->has_subwindow); + /* byte 58 */ + s->has_subwindow = get_IN_ipc_subwindow (in); + DBG (15, " subwindow: %d\n", s->has_subwindow); - s->has_diffusion = get_IN_ipc_diffusion (in); - DBG (15, " diffusion: %d\n", s->has_diffusion); + s->has_diffusion = get_IN_ipc_diffusion (in); + DBG (15, " diffusion: %d\n", s->has_diffusion); - s->has_ipc3 = get_IN_ipc_ipc3 (in); - DBG (15, " ipc3: %d\n", s->has_ipc3); + s->has_ipc3 = get_IN_ipc_ipc3 (in); + DBG (15, " ipc3: %d\n", s->has_ipc3); - s->has_rotation = get_IN_ipc_rotation (in); - DBG (15, " rotation: %d\n", s->has_rotation); + s->has_rotation = get_IN_ipc_rotation (in); + DBG (15, " rotation: %d\n", s->has_rotation); - s->has_hybrid_crop_deskew = get_IN_ipc_hybrid_crop_deskew(in); - DBG (15, " hybrid crop deskew: %d\n", s->has_hybrid_crop_deskew); + s->has_hybrid_crop_deskew = get_IN_ipc_hybrid_crop_deskew(in); + DBG (15, " hybrid crop deskew: %d\n", s->has_hybrid_crop_deskew); - DBG (15, " ipc2 byte 67: %d\n", get_IN_ipc_ipc2_byte67(in)); + /* this one is weird, overrides the payload length from scanner */ + DBG (15, " vpd extends to byte 6f: %d\n", get_IN_vpd_thru_byte_6f(in)); + if(get_IN_vpd_thru_byte_6f(in) && payload_off < 0x6f){ + payload_off = 0x6f; + } - /* compression modes */ - s->has_comp_MH = get_IN_compression_MH (in); - DBG (15, " compression MH: %d\n", s->has_comp_MH); + /* compression modes */ + s->has_comp_MH = get_IN_compression_MH (in); + DBG (15, " compression MH: %d\n", s->has_comp_MH); - s->has_comp_MR = get_IN_compression_MR (in); - DBG (15, " compression MR: %d\n", s->has_comp_MR); + s->has_comp_MR = get_IN_compression_MR (in); + DBG (15, " compression MR: %d\n", s->has_comp_MR); - s->has_comp_MMR = get_IN_compression_MMR (in); - DBG (15, " compression MMR: %d\n", s->has_comp_MMR); + s->has_comp_MMR = get_IN_compression_MMR (in); + DBG (15, " compression MMR: %d\n", s->has_comp_MMR); - s->has_comp_JBIG = get_IN_compression_JBIG (in); - DBG (15, " compression JBIG: %d\n", s->has_comp_JBIG); + s->has_comp_JBIG = get_IN_compression_JBIG (in); + DBG (15, " compression JBIG: %d\n", s->has_comp_JBIG); - s->has_comp_JPG1 = get_IN_compression_JPG_BASE (in); - DBG (15, " compression JPG1: %d\n", s->has_comp_JPG1); + s->has_comp_JPG1 = get_IN_compression_JPG_BASE (in); + DBG (15, " compression JPG1: %d\n", s->has_comp_JPG1); #ifdef SANE_JPEG_DISABLED - DBG (15, " (Disabled)\n"); + DBG (15, " (Disabled)\n"); #endif - s->has_comp_JPG2 = get_IN_compression_JPG_EXT (in); - DBG (15, " compression JPG2: %d\n", s->has_comp_JPG2); - - s->has_comp_JPG3 = get_IN_compression_JPG_INDEP (in); - DBG (15, " compression JPG3: %d\n", s->has_comp_JPG3); - - /* FIXME: we dont store these? */ - DBG (15, " back endorser mech: %d\n", get_IN_endorser_b_mech(in)); - DBG (15, " back endorser stamp: %d\n", get_IN_endorser_b_stamp(in)); - DBG (15, " back endorser elec: %d\n", get_IN_endorser_b_elec(in)); - DBG (15, " endorser max id: %d\n", get_IN_endorser_max_id(in)); - - DBG (15, " front endorser mech: %d\n", get_IN_endorser_f_mech(in)); - DBG (15, " front endorser stamp: %d\n", get_IN_endorser_f_stamp(in)); - DBG (15, " front endorser elec: %d\n", get_IN_endorser_f_elec(in)); - - s->endorser_type_b = get_IN_endorser_b_type(in); - DBG (15, " back endorser type: %d\n", s->endorser_type_b); - - s->endorser_type_f = get_IN_endorser_f_type(in); - DBG (15, " back endorser type: %d\n", s->endorser_type_f); - - /*not all scanners go this far*/ - if (get_IN_page_length (in) >= 0x67-5) { - DBG (15, " connection type: %d\n", get_IN_connection(in)); - - DBG (15, " endorser ext: %d\n", get_IN_endorser_type_ext(in)); - DBG (15, " endorser pr_b: %d\n", get_IN_endorser_pre_back(in)); - DBG (15, " endorser pr_f: %d\n", get_IN_endorser_pre_front(in)); - DBG (15, " endorser po_b: %d\n", get_IN_endorser_post_back(in)); - DBG (15, " endorser po_f: %d\n", get_IN_endorser_post_front(in)); - - s->os_x_basic = get_IN_x_overscan_size(in); - DBG (15, " horizontal overscan: %d\n", s->os_x_basic); - - s->os_y_basic = get_IN_y_overscan_size(in); - DBG (15, " vertical overscan: %d\n", s->os_y_basic); - } + s->has_comp_JPG2 = get_IN_compression_JPG_EXT (in); + DBG (15, " compression JPG2: %d\n", s->has_comp_JPG2); - if (get_IN_page_length (in) >= 0x70-5) { - DBG (15, " default bg adf b: %d\n", get_IN_default_bg_adf_b(in)); - DBG (15, " default bg adf f: %d\n", get_IN_default_bg_adf_f(in)); - DBG (15, " default bg fb: %d\n", get_IN_default_bg_fb(in)); + s->has_comp_JPG3 = get_IN_compression_JPG_INDEP (in); + DBG (15, " compression JPG3: %d\n", s->has_comp_JPG3); - DBG (15, " auto color: %d\n", get_IN_auto_color(in)); - DBG (15, " blank skip: %d\n", get_IN_blank_skip(in)); - DBG (15, " multi image: %d\n", get_IN_multi_image(in)); - DBG (15, " f b type indep: %d\n", get_IN_f_b_type_indep(in)); - DBG (15, " f b res indep: %d\n", get_IN_f_b_res_indep(in)); + /* FIXME: we dont store these? */ + DBG (15, " back endorser mech: %d\n", get_IN_endorser_b_mech(in)); + DBG (15, " back endorser stamp: %d\n", get_IN_endorser_b_stamp(in)); + DBG (15, " back endorser elec: %d\n", get_IN_endorser_b_elec(in)); + DBG (15, " endorser max id: %d\n", get_IN_endorser_max_id(in)); - DBG (15, " dropout spec: %d\n", get_IN_dropout_spec(in)); - DBG (15, " dropout non: %d\n", get_IN_dropout_non(in)); - DBG (15, " dropout white: %d\n", get_IN_dropout_white(in)); + DBG (15, " front endorser mech: %d\n", get_IN_endorser_f_mech(in)); + DBG (15, " front endorser stamp: %d\n", get_IN_endorser_f_stamp(in)); + DBG (15, " front endorser elec: %d\n", get_IN_endorser_f_elec(in)); - DBG (15, " skew check: %d\n", get_IN_skew_check(in)); - DBG (15, " new feed roller: %d\n", get_IN_new_fd_roll(in)); + s->endorser_type_b = get_IN_endorser_b_type(in); + DBG (15, " back endorser type: %d\n", s->endorser_type_b); - s->has_adv_paper_prot = get_IN_paper_prot_2(in); - DBG (15, " paper protection: %d\n", s->has_adv_paper_prot); - } + s->endorser_type_f = get_IN_endorser_f_type(in); + DBG (15, " back endorser type: %d\n", s->endorser_type_f); - if (get_IN_page_length (in) > 0x70-5) { + DBG (15, " connection type: %d\n", get_IN_connection(in)); - DBG (15, " paper count: %d\n", get_IN_paper_count(in)); - DBG (15, " paper number: %d\n", get_IN_paper_number(in)); - DBG (15, " ext send to: %d\n", get_IN_ext_send_to(in)); + DBG (15, " endorser ext: %d\n", get_IN_endorser_type_ext(in)); + DBG (15, " endorser pr_b: %d\n", get_IN_endorser_pre_back(in)); + DBG (15, " endorser pr_f: %d\n", get_IN_endorser_pre_front(in)); + DBG (15, " endorser po_b: %d\n", get_IN_endorser_post_back(in)); + DBG (15, " endorser po_f: %d\n", get_IN_endorser_post_front(in)); - s->has_staple_detect = get_IN_staple_det(in); - DBG (15, " staple det: %d\n", s->has_staple_detect); + s->os_x_basic = get_IN_x_overscan_size(in); + DBG (15, " horizontal overscan: %d\n", s->os_x_basic); - DBG (15, " pause host: %d\n", get_IN_pause_host(in)); - DBG (15, " pause panel: %d\n", get_IN_pause_panel(in)); - DBG (15, " pause conf: %d\n", get_IN_pause_conf(in)); - DBG (15, " hq print: %d\n", get_IN_hq_print(in)); + s->os_y_basic = get_IN_y_overscan_size(in); + DBG (15, " vertical overscan: %d\n", s->os_y_basic); - DBG (15, " ext GHS len: %d\n", get_IN_ext_GHS_len(in)); + /* not all scanners go this far */ + if (payload_off >= 0x68) { + DBG (15, " default bg adf b: %d\n", get_IN_default_bg_adf_b(in)); + DBG (15, " default bg adf f: %d\n", get_IN_default_bg_adf_f(in)); + DBG (15, " default bg fb: %d\n", get_IN_default_bg_fb(in)); + } - DBG (15, " smbc func: %d\n", get_IN_smbc_func(in)); - DBG (15, " imprint chk b: %d\n", get_IN_imprint_chk_b(in)); - DBG (15, " imprint chk f: %d\n", get_IN_imprint_chk_f(in)); - DBG (15, " force w bg: %d\n", get_IN_force_w_bg(in)); + if (payload_off >= 0x69) { + DBG (15, " auto color: %d\n", get_IN_auto_color(in)); + DBG (15, " blank skip: %d\n", get_IN_blank_skip(in)); + DBG (15, " multi image: %d\n", get_IN_multi_image(in)); + DBG (15, " f b type indep: %d\n", get_IN_f_b_type_indep(in)); + DBG (15, " f b res indep: %d\n", get_IN_f_b_res_indep(in)); + } - s->has_df_recovery = get_IN_mf_recover_lvl(in); - DBG (15, " mf recover lvl: %d\n", s->has_df_recovery); + if (payload_off >= 0x6a) { + DBG (15, " dropout spec: %d\n", get_IN_dropout_spec(in)); + DBG (15, " dropout non: %d\n", get_IN_dropout_non(in)); + DBG (15, " dropout white: %d\n", get_IN_dropout_white(in)); + } - DBG (15, " first read time: %d\n", get_IN_first_read_time(in)); - DBG (15, " div scanning: %d\n", get_IN_div_scanning(in)); - DBG (15, " start job: %d\n", get_IN_start_job(in)); - DBG (15, " lifetime log: %d\n", get_IN_lifetime_log(in)); - DBG (15, " imff save rest: %d\n", get_IN_imff_save_rest(in)); - DBG (15, " wide scsi type: %d\n", get_IN_wide_scsi_type(in)); + if (payload_off >= 0x6d) { + DBG (15, " skew check: %d\n", get_IN_skew_check(in)); + DBG (15, " new feed roller: %d\n", get_IN_new_fd_roll(in)); + s->has_adv_paper_prot = get_IN_paper_prot_2(in); + DBG (15, " paper protection: %d\n", s->has_adv_paper_prot); + } - DBG (15, " lut hybrid crop: %d\n", get_IN_lut_hybrid_crop(in)); - DBG (15, " over under amt: %d\n", get_IN_over_under_amt(in)); - DBG (15, " rgb lut: %d\n", get_IN_rgb_lut(in)); - DBG (15, " num lut dl: %d\n", get_IN_num_lut_dl(in)); + /* this one is weird, overrides the payload length from scanner, + * but the enlarged area is just null bytes, so we ignore this */ + if (payload_off >= 0x6f) { + DBG (15, " extra evpd length: %d\n", get_IN_evpd_len(in)); + } - s->has_off_mode = get_IN_erp_lot6_supp(in); - DBG (15, " ErP Lot6 (power off timer): %d\n", s->has_off_mode); - DBG (15, " sync next feed: %d\n", get_IN_sync_next_feed(in)); + if (payload_off >= 0x70) { + DBG (15, " paper count: %d\n", get_IN_paper_count(in)); + DBG (15, " paper number: %d\n", get_IN_paper_number(in)); + DBG (15, " ext send to: %d\n", get_IN_ext_send_to(in)); - s->has_op_halt = get_IN_op_halt(in); - DBG (15, " object position halt: %d\n", s->has_op_halt); - } + s->has_staple_detect = get_IN_staple_det(in); + DBG (15, " staple det: %d\n", s->has_staple_detect); - ret = SANE_STATUS_GOOD; - } + DBG (15, " pause host: %d\n", get_IN_pause_host(in)); + DBG (15, " pause panel: %d\n", get_IN_pause_panel(in)); + DBG (15, " pause conf: %d\n", get_IN_pause_conf(in)); + DBG (15, " hq print: %d\n", get_IN_hq_print(in)); + } - /*FIXME no vendor vpd, set some defaults? */ - else{ - DBG (5, "init_vpd: Your scanner supports only partial VPD?\n"); - DBG (5, "init_vpd: Please contact kitno455 at gmail dot com\n"); - DBG (5, "init_vpd: with details of your scanner model.\n"); - ret = SANE_STATUS_INVAL; - } + if (payload_off >= 0x71) { + DBG (15, " ext GHS len: %d\n", get_IN_ext_GHS_len(in)); } - /*FIXME no vpd, set some defaults? */ - else{ - DBG (5, "init_vpd: Your scanner does not support VPD?\n"); - DBG (5, "init_vpd: Please contact kitno455 at gmail dot com\n"); - DBG (5, "init_vpd: with details of your scanner model.\n"); + + if (payload_off >= 0x72) { + DBG (15, " smbc func: %d\n", get_IN_smbc_func(in)); + DBG (15, " imprint chk b: %d\n", get_IN_imprint_chk_b(in)); + DBG (15, " imprint chk f: %d\n", get_IN_imprint_chk_f(in)); + DBG (15, " force w bg: %d\n", get_IN_force_w_bg(in)); + + s->has_df_recovery = get_IN_mf_recover_lvl(in); + DBG (15, " mf recover lvl: %d\n", s->has_df_recovery); + } + + if (payload_off >= 0x73) { + DBG (15, " first read time: %d\n", get_IN_first_read_time(in)); + DBG (15, " div scanning: %d\n", get_IN_div_scanning(in)); + DBG (15, " start job: %d\n", get_IN_start_job(in)); + DBG (15, " lifetime log: %d\n", get_IN_lifetime_log(in)); + DBG (15, " imff save rest: %d\n", get_IN_imff_save_rest(in)); + DBG (15, " wide scsi type: %d\n", get_IN_wide_scsi_type(in)); + } + + if (payload_off >= 0x74) { + DBG (15, " lut hybrid crop: %d\n", get_IN_lut_hybrid_crop(in)); + DBG (15, " over under amt: %d\n", get_IN_over_under_amt(in)); + DBG (15, " rgb lut: %d\n", get_IN_rgb_lut(in)); + DBG (15, " num lut dl: %d\n", get_IN_num_lut_dl(in)); + } + + /* Various items below are poorly documented or missing */ + + if (payload_off >= 0x76) { + s->has_off_mode = get_IN_erp_lot6_supp(in); + DBG (15, " ErP Lot6 (power off timer): %d\n", s->has_off_mode); + DBG (15, " sync next feed: %d\n", get_IN_sync_next_feed(in)); + } + + if (payload_off >= 0x79) { + DBG (15, " battery: %d\n", get_IN_battery(in)); + DBG (15, " battery save: %d\n", get_IN_battery_save(in)); + DBG (15, " object position reverse: %d\n", get_IN_op_reverse(in)); + } + + if (payload_off >= 0x7a) { + s->has_op_halt = get_IN_op_halt(in); + DBG (15, " object position halt: %d\n", s->has_op_halt); } DBG (10, "init_vpd: finish\n"); - return ret; + return SANE_STATUS_GOOD; } static SANE_Status -init_ms(struct fujitsu *s) +init_ms(struct fujitsu *s) { int ret; int oldDbg=0; @@ -2543,9 +2590,9 @@ init_options (struct fujitsu *s) s->opt[i].cap = SANE_CAP_INACTIVE; } - /* go ahead and setup the first opt, because - * frontend may call control_option on it - * before calling get_option_descriptor + /* go ahead and setup the first opt, because + * frontend may call control_option on it + * before calling get_option_descriptor */ s->opt[OPT_NUM_OPTS].name = SANE_NAME_NUM_OPTIONS; s->opt[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS; @@ -2660,11 +2707,11 @@ init_serial (struct fujitsu *s) set_SCSI_opcode(cmd, SEND_DIAGNOSTIC_code); set_SD_slftst(cmd, 0); set_SD_xferlen(cmd, outLen); - + memcpy(out,SD_gdi_string,outLen); ret = do_cmd ( - s, 1, 0, + s, 1, 0, cmd, cmdLen, out, outLen, NULL, NULL @@ -2680,7 +2727,7 @@ init_serial (struct fujitsu *s) set_RD_xferlen(cmd, inLen); ret = do_cmd ( - s, 1, 0, + s, 1, 0, cmd, cmdLen, NULL, 0, in, &inLen @@ -2719,7 +2766,7 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) struct fujitsu *dev = NULL; struct fujitsu *s = NULL; SANE_Status ret; - + DBG (10, "sane_open: start\n"); if(fujitsu_devList){ @@ -2740,7 +2787,7 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) } else{ DBG (15, "sane_open: device %s requested\n", name); - + for (dev = fujitsu_devList; dev; dev = dev->next) { if (strcmp (dev->sane.name, name) == 0 || strcmp (dev->device_name, name) == 0) { /*always allow sanei devname*/ @@ -2816,7 +2863,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) } if(s->has_adf){ s->source_list[i++]=STRING_ADFFRONT; - + if(s->has_back){ s->source_list[i++]=STRING_ADFBACK; } @@ -2852,7 +2899,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->mode_list[i++]=STRING_COLOR; } s->mode_list[i]=NULL; - + opt->name = SANE_NAME_SCAN_MODE; opt->title = SANE_TITLE_SCAN_MODE; opt->desc = SANE_DESC_SCAN_MODE; @@ -2873,7 +2920,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_DPI; opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - + if(s->step_x_res[s->s_mode] && s->step_y_res[s->s_mode]){ s->res_range.min = s->min_x_res; s->res_range.max = s->max_x_res; @@ -2895,7 +2942,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) } } s->res_list[0] = i; - + opt->constraint_type = SANE_CONSTRAINT_WORD_LIST; opt->constraint.word_list = s->res_list; } @@ -2917,7 +2964,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->tl_x_range.min = SCANNER_UNIT_TO_FIXED_MM(s->min_x); s->tl_x_range.max = SCANNER_UNIT_TO_FIXED_MM(get_page_width(s)); s->tl_x_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_TL_X; opt->title = SANE_TITLE_SCAN_TL_X; opt->desc = SANE_DESC_SCAN_TL_X; @@ -2935,7 +2982,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->tl_y_range.min = SCANNER_UNIT_TO_FIXED_MM(s->min_y); s->tl_y_range.max = SCANNER_UNIT_TO_FIXED_MM(get_page_height(s)); s->tl_y_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_TL_Y; opt->title = SANE_TITLE_SCAN_TL_Y; opt->desc = SANE_DESC_SCAN_TL_Y; @@ -2953,7 +3000,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->br_x_range.min = SCANNER_UNIT_TO_FIXED_MM(s->min_x); s->br_x_range.max = SCANNER_UNIT_TO_FIXED_MM(get_page_width(s)); s->br_x_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_BR_X; opt->title = SANE_TITLE_SCAN_BR_X; opt->desc = SANE_DESC_SCAN_BR_X; @@ -2971,7 +3018,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->br_y_range.min = SCANNER_UNIT_TO_FIXED_MM(s->min_y); s->br_y_range.max = SCANNER_UNIT_TO_FIXED_MM(get_page_height(s)); s->br_y_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_BR_Y; opt->title = SANE_TITLE_SCAN_BR_Y; opt->desc = SANE_DESC_SCAN_BR_Y; @@ -3160,7 +3207,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->ht_type_list[i++]=STRING_DITHER; s->ht_type_list[i++]=STRING_DIFFUSION; s->ht_type_list[i]=NULL; - + opt->name = "ht-type"; opt->title = SANE_I18N ("Halftone type"); opt->desc = SANE_I18N ("Control type of halftone filter"); @@ -3265,7 +3312,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->wl_follow_list[i++]=STRING_ON; s->wl_follow_list[i++]=STRING_OFF; s->wl_follow_list[i]=NULL; - + opt->name = "wl-follow"; opt->title = SANE_I18N ("White level follower"); opt->desc = SANE_I18N ("Control white level follower"); @@ -3503,7 +3550,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /*automatic width detection */ if(option==OPT_AWD){ - + opt->name = "awd"; opt->title = SANE_I18N ("Auto width detection"); opt->desc = SANE_I18N ("Scanner detects paper sides. May reduce scanning speed."); @@ -3521,7 +3568,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /*automatic length detection */ if(option==OPT_ALD){ - + opt->name = "ald"; opt->title = SANE_I18N ("Auto length detection"); opt->desc = SANE_I18N ("Scanner detects paper lower edge. May confuse some frontends."); @@ -3600,7 +3647,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->df_action_list[1] = STRING_CONTINUE; s->df_action_list[2] = STRING_STOP; s->df_action_list[3] = NULL; - + opt->name = "df-action"; opt->title = SANE_I18N ("DF action"); opt->desc = SANE_I18N ("Action following double feed error"); @@ -3617,7 +3664,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /*double feed by skew*/ if(option==OPT_DF_SKEW){ - + opt->name = "df-skew"; opt->title = SANE_I18N ("DF skew"); opt->desc = SANE_I18N ("Enable double feed error due to skew"); @@ -3636,7 +3683,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /*double feed by thickness */ if(option==OPT_DF_THICKNESS){ - + opt->name = "df-thickness"; opt->title = SANE_I18N ("DF thickness"); opt->desc = SANE_I18N ("Enable double feed error due to paper thickness"); @@ -3655,7 +3702,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /*double feed by length*/ if(option==OPT_DF_LENGTH){ - + opt->name = "df-length"; opt->title = SANE_I18N ("DF length"); opt->desc = SANE_I18N ("Enable double feed error due to paper length"); @@ -3679,7 +3726,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->df_diff_list[2] = STRING_15MM; s->df_diff_list[3] = STRING_20MM; s->df_diff_list[4] = NULL; - + opt->name = "df-diff"; opt->title = SANE_I18N ("DF length difference"); opt->desc = SANE_I18N ("Difference in page length to trigger double feed error"); @@ -3703,7 +3750,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->df_recovery_list[1] = STRING_OFF; s->df_recovery_list[2] = STRING_ON; s->df_recovery_list[3] = NULL; - + opt->name = "df-recovery"; opt->title = SANE_I18N ("DF recovery mode"); opt->desc = SANE_I18N ("Request scanner to reverse feed on paper jam"); @@ -3723,7 +3770,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->paper_protect_list[1] = STRING_OFF; s->paper_protect_list[2] = STRING_ON; s->paper_protect_list[3] = NULL; - + opt->name = "paper-protect"; opt->title = SANE_I18N ("Paper protection"); opt->desc = SANE_I18N ("Request scanner to predict jams in the ADF"); @@ -3743,7 +3790,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->adv_paper_prot_list[1] = STRING_OFF; s->adv_paper_prot_list[2] = STRING_ON; s->adv_paper_prot_list[3] = NULL; - + opt->name = "adv-paper-protect"; opt->title = SANE_I18N ("Advanced paper protection"); opt->desc = SANE_I18N ("Request scanner to predict jams in the ADF using improved sensors"); @@ -3763,7 +3810,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->staple_detect_list[1] = STRING_OFF; s->staple_detect_list[2] = STRING_ON; s->staple_detect_list[3] = NULL; - + opt->name = "staple-detect"; opt->title = SANE_I18N ("Staple detection"); opt->desc = SANE_I18N ("Request scanner to detect jams in the ADF caused by staples"); @@ -3783,7 +3830,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->bg_color_list[1] = STRING_WHITE; s->bg_color_list[2] = STRING_BLACK; s->bg_color_list[3] = NULL; - + opt->name = "bgcolor"; opt->title = SANE_I18N ("Background color"); opt->desc = SANE_I18N ("Set color of background for scans. May conflict with overscan option"); @@ -3804,7 +3851,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->do_color_list[2] = STRING_GREEN; s->do_color_list[3] = STRING_BLUE; s->do_color_list[4] = NULL; - + opt->name = "dropoutcolor"; opt->title = SANE_I18N ("Dropout color"); opt->desc = SANE_I18N ("One-pass scanners use only one color during gray or binary scanning, useful for colored paper or ink"); @@ -3828,7 +3875,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->buff_mode_list[1] = STRING_OFF; s->buff_mode_list[2] = STRING_ON; s->buff_mode_list[3] = NULL; - + opt->name = "buffermode"; opt->title = SANE_I18N ("Buffer mode"); opt->desc = SANE_I18N ("Request scanner to read pages quickly from ADF into internal memory"); @@ -3848,7 +3895,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->prepick_list[1] = STRING_OFF; s->prepick_list[2] = STRING_ON; s->prepick_list[3] = NULL; - + opt->name = "prepick"; opt->title = SANE_I18N ("Prepick"); opt->desc = SANE_I18N ("Request scanner to grab next page from ADF"); @@ -3868,7 +3915,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->overscan_list[1] = STRING_OFF; s->overscan_list[2] = STRING_ON; s->overscan_list[3] = NULL; - + opt->name = "overscan"; opt->title = SANE_I18N ("Overscan"); opt->desc = SANE_I18N ("Collect a few mm of background on top side of scan, before paper enters ADF, and increase maximum scan area beyond paper size, to allow collection on remaining sides. May conflict with bgcolor option"); @@ -3887,10 +3934,10 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->sleep_time_range.min = 0; s->sleep_time_range.max = 60; s->sleep_time_range.quant = 1; - + opt->name = "sleeptimer"; opt->title = SANE_I18N ("Sleep timer"); - opt->desc = SANE_I18N ("Time in minutes until the internal power supply switches to sleep mode"); + opt->desc = SANE_I18N ("Time in minutes until the internal power supply switches to sleep mode"); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_RANGE; @@ -3906,10 +3953,10 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->off_time_range.min = 0; s->off_time_range.max = 960; s->off_time_range.quant = 1; - + opt->name = "offtimer"; opt->title = SANE_I18N ("Off timer"); - opt->desc = SANE_I18N ("Time in minutes until the internal power supply switches the scanner off. Will be rounded to nearest 15 minutes. Zero means never power off."); + opt->desc = SANE_I18N ("Time in minutes until the internal power supply switches the scanner off. Will be rounded to nearest 15 minutes. Zero means never power off."); opt->type = SANE_TYPE_INT; opt->unit = SANE_UNIT_NONE; opt->constraint_type = SANE_CONSTRAINT_RANGE; @@ -3925,7 +3972,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->duplex_offset_range.min = -16; s->duplex_offset_range.max = 16; s->duplex_offset_range.quant = 1; - + opt->name = "duplexoffset"; opt->title = SANE_I18N ("Duplex offset"); opt->desc = SANE_I18N ("Adjust front/back offset"); @@ -3943,7 +3990,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->green_offset_range.min = -16; s->green_offset_range.max = 16; s->green_offset_range.quant = 1; - + opt->name = "greenoffset"; opt->title = SANE_I18N ("Green offset"); opt->desc = SANE_I18N ("Adjust green/red offset"); @@ -3956,12 +4003,12 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) else opt->cap = SANE_CAP_INACTIVE; } - + if(option==OPT_BLUE_OFFSET){ s->blue_offset_range.min = -16; s->blue_offset_range.max = 16; s->blue_offset_range.quant = 1; - + opt->name = "blueoffset"; opt->title = SANE_I18N ("Blue offset"); opt->desc = SANE_I18N ("Adjust blue/red offset"); @@ -3974,7 +4021,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) else opt->cap = SANE_CAP_INACTIVE; } - + if(option==OPT_LOW_MEM){ opt->name = "lowmemory"; opt->title = SANE_I18N ("Low Memory"); @@ -3985,7 +4032,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if (1) opt->cap= SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; opt->constraint_type = SANE_CONSTRAINT_NONE; @@ -4112,7 +4159,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if (s->has_endorser_f || s->has_endorser_b) opt->cap= SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; opt->constraint_type = SANE_CONSTRAINT_NONE; @@ -4335,7 +4382,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status || s->ghs_in_rs) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4347,7 +4394,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4359,7 +4406,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4371,7 +4418,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4383,7 +4430,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4395,7 +4442,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status || s->ghs_in_rs) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4407,7 +4454,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4419,7 +4466,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status || s->ghs_in_rs) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4431,7 +4478,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4443,7 +4490,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status || s->ghs_in_rs) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4455,7 +4502,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4467,7 +4514,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status || s->ghs_in_rs) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4479,7 +4526,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status || s->ghs_in_rs) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4491,7 +4538,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status && (s->has_endorser_f || s->has_endorser_b)) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4503,7 +4550,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status || s->ghs_in_rs) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4515,7 +4562,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4527,7 +4574,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4539,7 +4586,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status && (s->has_endorser_f || s->has_endorser_b)) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4551,7 +4598,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->ghs_in_rs) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4563,7 +4610,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) opt->unit = SANE_UNIT_NONE; if (s->ghs_in_rs) opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else + else opt->cap = SANE_CAP_INACTIVE; } @@ -4572,7 +4619,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /** * Gets or sets an option value. - * + * * From the SANE spec: * This function is used to set or inquire the current value of option * number n of the device represented by handle h. The manner in which @@ -4583,7 +4630,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) * area pointed to by v must be big enough to hold the entire option * value (determined by member size in the corresponding option * descriptor). - * + * * The only exception to this rule is that when setting the value of a * string option, the string pointed to by argument v may be shorter * since the backend will stop reading the option value upon @@ -5056,23 +5103,23 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_ENDORSER: *val_p = s->u_endorser; return SANE_STATUS_GOOD; - + case OPT_ENDORSER_BITS: *val_p = s->u_endorser_bits; return SANE_STATUS_GOOD; - + case OPT_ENDORSER_VAL: *val_p = s->u_endorser_val; return SANE_STATUS_GOOD; - + case OPT_ENDORSER_STEP: *val_p = s->u_endorser_step; return SANE_STATUS_GOOD; - + case OPT_ENDORSER_Y: *val_p = SCANNER_UNIT_TO_FIXED_MM(s->u_endorser_y); return SANE_STATUS_GOOD; - + case OPT_ENDORSER_FONT: switch (s->u_endorser_font) { case FONT_H: @@ -5092,7 +5139,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, break; } return SANE_STATUS_GOOD; - + case OPT_ENDORSER_DIR: switch (s->u_endorser_dir) { case DIR_TTB: @@ -5103,7 +5150,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, break; } return SANE_STATUS_GOOD; - + case OPT_ENDORSER_SIDE: switch (s->u_endorser_side) { case ED_front: @@ -5114,7 +5161,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, break; } return SANE_STATUS_GOOD; - + case OPT_ENDORSER_STRING: strncpy( (SANE_String)val, @@ -5128,102 +5175,102 @@ sane_control_option (SANE_Handle handle, SANE_Int option, ret = get_hardware_status(s,option); *val_p = s->hw_top; return ret; - + case OPT_A3: ret = get_hardware_status(s,option); *val_p = s->hw_A3; return ret; - + case OPT_B4: ret = get_hardware_status(s,option); *val_p = s->hw_B4; return ret; - + case OPT_A4: ret = get_hardware_status(s,option); *val_p = s->hw_A4; return ret; - + case OPT_B5: ret = get_hardware_status(s,option); *val_p = s->hw_B5; return ret; - + case OPT_HOPPER: ret = get_hardware_status(s,option); *val_p = s->hw_hopper; return ret; - + case OPT_OMR: ret = get_hardware_status(s,option); *val_p = s->hw_omr; return ret; - + case OPT_ADF_OPEN: ret = get_hardware_status(s,option); *val_p = s->hw_adf_open; return ret; - + case OPT_SLEEP: ret = get_hardware_status(s,option); *val_p = s->hw_sleep; return ret; - + case OPT_SEND_SW: ret = get_hardware_status(s,option); *val_p = s->hw_send_sw; return ret; - + case OPT_MANUAL_FEED: ret = get_hardware_status(s,option); *val_p = s->hw_manual_feed; return ret; - + case OPT_SCAN_SW: ret = get_hardware_status(s,option); *val_p = s->hw_scan_sw; return ret; - + case OPT_FUNCTION: ret = get_hardware_status(s,option); *val_p = s->hw_function; return ret; - + case OPT_INK_EMPTY: ret = get_hardware_status(s,option); *val_p = s->hw_ink_empty; return ret; - + case OPT_DOUBLE_FEED: ret = get_hardware_status(s,option); *val_p = s->hw_double_feed; return ret; - + case OPT_ERROR_CODE: ret = get_hardware_status(s,option); *val_p = s->hw_error_code; return ret; - + case OPT_SKEW_ANGLE: ret = get_hardware_status(s,option); *val_p = s->hw_skew_angle; return ret; - + case OPT_INK_REMAIN: ret = get_hardware_status(s,option); *val_p = s->hw_ink_remain; return ret; - + case OPT_DENSITY_SW: ret = get_hardware_status(s,option); *val_p = s->hw_density_sw; return ret; - + case OPT_DUPLEX_SW: ret = get_hardware_status(s,option); *val_p = s->hw_duplex_sw; return ret; - + } } else if (action == SANE_ACTION_SET_VALUE) { @@ -5260,7 +5307,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, * below. */ switch (option) { - + /* Mode Group */ case OPT_SOURCE: if (!strcmp (val, STRING_ADFFRONT)) { @@ -5276,7 +5323,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, tmp = SOURCE_FLATBED; } - if (s->source == tmp) + if (s->source == tmp) return SANE_STATUS_GOOD; s->source = tmp; @@ -5307,7 +5354,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_RES: - if (s->resolution_x == val_c) + if (s->resolution_x == val_c) return SANE_STATUS_GOOD; s->resolution_x = val_c; @@ -5703,24 +5750,24 @@ sane_control_option (SANE_Handle handle, SANE_Int option, s->u_endorser = val_c; *info |= SANE_INFO_RELOAD_OPTIONS; return SANE_STATUS_GOOD; - + case OPT_ENDORSER_BITS: s->u_endorser_bits = val_c; return SANE_STATUS_GOOD; - + /*this val not used in send_endorser*/ case OPT_ENDORSER_VAL: s->u_endorser_val = val_c; return SANE_STATUS_GOOD; - + case OPT_ENDORSER_STEP: s->u_endorser_step = val_c; return SANE_STATUS_GOOD; - + case OPT_ENDORSER_Y: s->u_endorser_y = FIXED_MM_TO_SCANNER_UNIT(val_c); return SANE_STATUS_GOOD; - + case OPT_ENDORSER_FONT: if (!strcmp (val, STRING_HORIZONTAL)){ @@ -5739,7 +5786,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, s->u_endorser_font = FONT_VB; } return SANE_STATUS_GOOD; - + case OPT_ENDORSER_DIR: if (!strcmp (val, STRING_TOPTOBOTTOM)){ s->u_endorser_dir = DIR_TTB; @@ -5748,7 +5795,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, s->u_endorser_dir = DIR_BTT; } return SANE_STATUS_GOOD; - + /*this val not used in send_endorser*/ case OPT_ENDORSER_SIDE: if (!strcmp (val, STRING_FRONT)){ @@ -5758,7 +5805,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, s->u_endorser_side = ED_back; } return SANE_STATUS_GOOD; - + case OPT_ENDORSER_STRING: strncpy( (SANE_String)s->u_endorser_string, @@ -5773,7 +5820,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, } static SANE_Status -set_sleep_mode(struct fujitsu *s) +set_sleep_mode(struct fujitsu *s) { SANE_Status ret = SANE_STATUS_GOOD; @@ -5830,13 +5877,13 @@ set_off_mode(struct fujitsu *s) set_SCSI_opcode(cmd, SEND_DIAGNOSTIC_code); set_SD_slftst(cmd, 0); set_SD_xferlen(cmd, outLen); - + memcpy(out,SD_powoff_string,SD_powoff_stringlen); set_SD_powoff_disable(out,!s->off_time); set_SD_powoff_interval(out,s->off_time/15); ret = do_cmd ( - s, 1, 0, + s, 1, 0, cmd, cmdLen, out, outLen, NULL, NULL @@ -5880,14 +5927,14 @@ get_hardware_status (struct fujitsu *s, SANE_Int option) set_GHS_allocation_length(cmd, inLen); DBG (15, "get_hardware_status: calling ghs\n"); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, NULL, 0, in, &inLen ); - + if (ret == SANE_STATUS_GOOD || ret == SANE_STATUS_EOF) { s->hw_top = get_GHS_top(in); @@ -5895,23 +5942,23 @@ get_hardware_status (struct fujitsu *s, SANE_Int option) s->hw_B4 = get_GHS_B4(in); s->hw_A4 = get_GHS_A4(in); s->hw_B5 = get_GHS_B5(in); - + s->hw_hopper = get_GHS_hopper(in); s->hw_omr = get_GHS_omr(in); s->hw_adf_open = get_GHS_adf_open(in); - + s->hw_sleep = get_GHS_sleep(in); s->hw_send_sw = get_GHS_send_sw(in); s->hw_manual_feed = get_GHS_manual_feed(in); s->hw_scan_sw = get_GHS_scan_sw(in); - + s->hw_function = get_GHS_function(in); s->hw_ink_empty = get_GHS_ink_empty(in); s->hw_double_feed = get_GHS_double_feed(in); - + s->hw_error_code = get_GHS_error_code(in); - + s->hw_skew_angle = get_GHS_skew_angle(in); if(inLen > 9){ @@ -5942,7 +5989,7 @@ get_hardware_status (struct fujitsu *s, SANE_Int option) NULL,0, in, &inLen ); - + /* parse the rs data */ if(ret == SANE_STATUS_GOOD){ if(get_RS_sense_key(in)==0 && get_RS_ASC(in)==0x80){ @@ -5972,13 +6019,13 @@ get_hardware_status (struct fujitsu *s, SANE_Int option) } static SANE_Status -send_endorser(struct fujitsu *s) +send_endorser(struct fujitsu *s) { SANE_Status ret = SANE_STATUS_GOOD; unsigned char cmd[SEND_len]; size_t cmdLen = SEND_len; - + size_t strLen = strlen(s->u_endorser_string); unsigned char out[S_e_data_max_len]; /*we probably send less below*/ @@ -6080,7 +6127,7 @@ send_endorser(struct fujitsu *s) /* instead of internal brightness/contrast/gamma most scanners use a 256x256 or 1024x256 LUT default is linear table of slope 1 or 1/4 resp. - brightness and contrast inputs are -127 to +127 + brightness and contrast inputs are -127 to +127 contrast rotates slope of line around central input val @@ -6096,7 +6143,7 @@ send_endorser(struct fujitsu *s) bright dark . xxxxxxxx . - . x . + . x . out x . x . . x ............ xxxxxxxx.... @@ -6128,7 +6175,7 @@ send_lut (struct fujitsu *s) * first [-127,127] to [0,254] then to [0,1] * then multiply by PI/2 to convert to radians * then take the tangent to get slope (T.O.A) - * then multiply by the normal linear slope + * then multiply by the normal linear slope * because the table may not be square, i.e. 1024x256*/ slope = tan(((double)s->contrast+127)/254 * M_PI/2) * 256/bytes; @@ -6156,7 +6203,7 @@ send_lut (struct fujitsu *s) set_S_lut_order (out, S_lut_order_single); set_S_lut_ssize (out, bytes); set_S_lut_dsize (out, 256); - + for(i=0;iresolution_x); set_SD_preread_yres(out,s->resolution_y); @@ -6322,7 +6369,7 @@ diag_preread (struct fujitsu *s) set_SD_preread_composition(out, s->s_mode); ret = do_cmd ( - s, 1, 0, + s, 1, 0, cmd, cmdLen, out, outLen, NULL, NULL @@ -6374,17 +6421,17 @@ mode_select_df (struct fujitsu *s) if(s->df_action == DF_CONTINUE){ set_MSEL_df_continue (page, 1); } - + /* skew */ if(s->df_skew){ set_MSEL_df_skew (page, 1); } - + /* thickness */ if(s->df_thickness){ set_MSEL_df_thickness (page, 1); } - + /* length */ if(s->df_length){ set_MSEL_df_length (page, 1); @@ -6446,7 +6493,7 @@ mode_select_bg (struct fujitsu *s) set_MSEL_bg_fb (page, 1); } } - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, @@ -6489,7 +6536,7 @@ mode_select_dropout (struct fujitsu *s) set_MSEL_dropout_front (page, s->dropout_color); set_MSEL_dropout_back (page, s->dropout_color); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, @@ -6574,7 +6621,7 @@ mode_select_prepick (struct fujitsu *s) set_MSEL_page_len(page, MSEL_data_min_len-2); set_MSEL_prepick(page, s->prepick); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, @@ -6620,7 +6667,7 @@ mode_select_auto (struct fujitsu *s) set_MSEL_awd(page, s->awd || s->hwdeskewcrop); set_MSEL_req_driv_crop(page, s->hwdeskewcrop && (s->swcrop || s->swdeskew)); set_MSEL_deskew(page, s->hwdeskewcrop); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, @@ -6648,7 +6695,7 @@ mode_select_auto (struct fujitsu *s) * completion of that request. Outside of that window, the returned * values are best-effort estimates of what the parameters will be * when sane_start() gets invoked. - * + * * Calling this function before a scan has actually started allows, * for example, to get an estimate of how big the scanned image will * be. The parameters passed to this function are the handle h of the @@ -6660,9 +6707,9 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) { SANE_Status ret = SANE_STATUS_GOOD; struct fujitsu *s = (struct fujitsu *) handle; - + DBG (10, "sane_get_parameters: start\n"); - + /* not started? update param data from user settings */ if(!s->started){ ret = update_params(s); @@ -6760,10 +6807,10 @@ update_params (struct fujitsu * s) DBG(15,"update_params: area: tlx=%d, brx=%d, tly=%d, bry=%d\n", s->tl_x, s->br_x, s->tl_y, s->br_y); - DBG(15,"update_params: params: ppl=%d, Bpl=%d, lines=%d\n", + DBG(15,"update_params: params: ppl=%d, Bpl=%d, lines=%d\n", params->pixels_per_line, params->bytes_per_line, params->lines); - DBG(15,"update_params: params: format=%d, depth=%d, last=%d\n", + DBG(15,"update_params: params: format=%d, depth=%d, last=%d\n", params->format, params->depth, params->last_frame); /* second, we setup u_params to describe the image to the user */ @@ -6801,20 +6848,20 @@ update_u_params (struct fujitsu * s) params->format = SANE_FRAME_GRAY; params->bytes_per_line = params->pixels_per_line / 8; } - + DBG(15,"update_u_params: x: max=%d, page=%d, gpw=%d, res=%d\n", s->max_x, s->page_width, get_page_width(s), s->resolution_x); - + DBG(15,"update_u_params: y: max=%d, page=%d, gph=%d, res=%d\n", s->max_y, s->page_height, get_page_height(s), s->resolution_y); - + DBG(15,"update_u_params: area: tlx=%d, brx=%d, tly=%d, bry=%d\n", s->tl_x, s->br_x, s->tl_y, s->br_y); - - DBG(15,"update_u_params: params: ppl=%d, Bpl=%d, lines=%d\n", + + DBG(15,"update_u_params: params: ppl=%d, Bpl=%d, lines=%d\n", params->pixels_per_line, params->bytes_per_line, params->lines); - - DBG(15,"update_u_params: params: format=%d, depth=%d, last=%d\n", + + DBG(15,"update_u_params: params: format=%d, depth=%d, last=%d\n", params->format, params->depth, params->last_frame); } @@ -6939,14 +6986,14 @@ sane_start (SANE_Handle handle) if (ret != SANE_STATUS_GOOD) DBG (5, "sane_start: WARNING: cannot early send_lut %d\n", ret); } - + /* set window command */ ret = set_window(s); if (ret != SANE_STATUS_GOOD) { DBG (5, "sane_start: ERROR: cannot set window\n"); goto errors; } - + /* send lut if scanner has no hardware brightness/contrast, * or we are going to ask it to use a downloaded gamma table */ if (s->late_lut && (!s->brightness_steps || !s->contrast_steps || s->window_gamma & 0x80)){ @@ -6954,7 +7001,7 @@ sane_start (SANE_Handle handle) if (ret != SANE_STATUS_GOOD) DBG (5, "sane_start: WARNING: cannot late send_lut %d\n", ret); } - + /* some scanners need the q table sent, even when not scanning jpeg */ if (s->need_q_table){ ret = send_q_table(s); @@ -6968,7 +7015,7 @@ sane_start (SANE_Handle handle) DBG (5, "sane_start: ERROR: cannot start/stop endorser\n"); goto errors; } - + /* turn lamp on */ ret = scanner_control(s, SC_function_lamp_on); if (ret != SANE_STATUS_GOOD) { @@ -7043,7 +7090,7 @@ sane_start (SANE_Handle handle) goto errors; } - /* store the number of front bytes */ + /* store the number of front bytes */ if ( s->source != SOURCE_ADF_BACK ){ s->bytes_tot[SIDE_FRONT] = s->s_params.bytes_per_line * s->s_params.lines; s->buff_tot[SIDE_FRONT] = s->buffer_size; @@ -7062,7 +7109,7 @@ sane_start (SANE_Handle handle) s->buff_tot[SIDE_FRONT] = 0; } - /* store the number of back bytes */ + /* store the number of back bytes */ if ( s->source == SOURCE_ADF_DUPLEX || s->source == SOURCE_ADF_BACK ){ s->bytes_tot[SIDE_BACK] = s->s_params.bytes_per_line * s->s_params.lines; s->buff_tot[SIDE_BACK] = s->bytes_tot[SIDE_BACK]; @@ -7087,7 +7134,7 @@ sane_start (SANE_Handle handle) DBG (5, "sane_start: ERROR: cannot load buffers\n"); goto errors; } - + s->started=1; } } @@ -7102,9 +7149,9 @@ sane_start (SANE_Handle handle) DBG (15, "started=%d, side=%d, source=%d\n", s->started, s->side, s->source); - /* certain options require the entire image to + /* certain options require the entire image to * be collected from the scanner before we can - * tell the user the size of the image. the sane + * tell the user the size of the image. the sane * API has no way to inform the frontend of this, * so we block and buffer. yuck */ if( must_fully_buffer(s) ){ @@ -7142,7 +7189,7 @@ sane_start (SANE_Handle handle) } if(s->swskip){ /* Skipping means throwing out this image. - * Pretend the user read the whole thing + * Pretend the user read the whole thing * and call sane_start again. * This assumes we are running in batch mode. */ if(buffer_isblank(s,s->side)){ @@ -7166,7 +7213,7 @@ sane_start (SANE_Handle handle) errors: DBG (10, "sane_start: error %d\n", ret); - /* if we are started, but something went wrong, + /* if we are started, but something went wrong, * chances are there is image data inside scanner, * which should be discarded via cancel command */ if(s->started){ @@ -7181,7 +7228,7 @@ sane_start (SANE_Handle handle) } static SANE_Status -endorser(struct fujitsu *s) +endorser(struct fujitsu *s) { SANE_Status ret = SANE_STATUS_GOOD; @@ -7243,7 +7290,7 @@ endorser(struct fujitsu *s) } static SANE_Status -scanner_control (struct fujitsu *s, int function) +scanner_control (struct fujitsu *s, int function) { SANE_Status ret = SANE_STATUS_GOOD; int tries = 0; @@ -7283,7 +7330,7 @@ scanner_control (struct fujitsu *s, int function) } usleep(500000); - } + } if(ret == SANE_STATUS_GOOD){ DBG (15, "scanner_control: success, tries %d, ret %d\n",tries,ret); @@ -7299,7 +7346,7 @@ scanner_control (struct fujitsu *s, int function) } static SANE_Status -scanner_control_ric (struct fujitsu *s, int bytes, int side) +scanner_control_ric (struct fujitsu *s, int bytes, int side) { SANE_Status ret = SANE_STATUS_GOOD; int tries = 0; @@ -7325,7 +7372,7 @@ scanner_control_ric (struct fujitsu *s, int bytes, int side) set_SC_ric_len(cmd, bytes); DBG (15, "scanner_control_ric: %d %d\n",bytes,side); - + /* extremely long retry period */ while(tries++ < 120){ @@ -7341,7 +7388,7 @@ scanner_control_ric (struct fujitsu *s, int bytes, int side) } usleep(500000); - } + } if(ret == SANE_STATUS_GOOD){ DBG (15, "scanner_control_ric: success, tries %d, ret %d\n",tries,ret); @@ -7408,14 +7455,14 @@ set_window (struct fujitsu *s) { SANE_Status ret = SANE_STATUS_GOOD; - /* The command specifies the number of bytes in the data phase - * the data phase has a header, followed by 1 or 2 window desc blocks + /* The command specifies the number of bytes in the data phase + * the data phase has a header, followed by 1 or 2 window desc blocks * the header specifies the number of bytes in 1 window desc block */ unsigned char cmd[SET_WINDOW_len]; size_t cmdLen = SET_WINDOW_len; - + /*this is max size, we might send less below*/ unsigned char out[SW_header_len + SW_desc_len + SW_desc_len]; size_t outLen = SW_header_len + SW_desc_len + SW_desc_len; @@ -7687,7 +7734,7 @@ get_pixelsize(struct fujitsu *s, int actual) set_R_window_id (cmd, WD_wid_front); } set_R_xfer_length (cmd, inLen); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, @@ -7732,7 +7779,7 @@ get_pixelsize(struct fujitsu *s, int actual) else { s->s_params.bytes_per_line = s->s_params.pixels_per_line / 8; } - + /* some scanners can request that the driver clean img */ if(!s->has_short_pixelsize && get_PSIZE_req_driv_valid(in)){ s->req_driv_crop = get_PSIZE_req_driv_crop(in); @@ -7741,7 +7788,7 @@ get_pixelsize(struct fujitsu *s, int actual) s->req_driv_crop,s->req_driv_lut); } - DBG (15, "get_pixelsize: scan_x=%d, Bpl=%d, scan_y=%d\n", + DBG (15, "get_pixelsize: scan_x=%d, Bpl=%d, scan_y=%d\n", s->s_params.pixels_per_line, s->s_params.bytes_per_line, s->s_params.lines ); /* the user params are usually the same */ @@ -7758,7 +7805,7 @@ get_pixelsize(struct fujitsu *s, int actual) else { s->u_params.bytes_per_line = s->u_params.pixels_per_line / 8; } - + } else{ DBG (10, "get_pixelsize: got bad status %d, ignoring\n", ret); @@ -7812,7 +7859,7 @@ object_position (struct fujitsu *s, int action) /* * Issues SCAN command. - * + * * (This doesn't actually read anything, it just tells the scanner * to start scanning.) */ @@ -7897,7 +7944,7 @@ check_for_cancel(struct fujitsu *s) /* * Called by SANE to read data. - * + * * From the SANE spec: * This function is used to read image data from the device * represented by handle h. Argument buf is a pointer to a memory @@ -7905,7 +7952,7 @@ check_for_cancel(struct fujitsu *s) * returned is stored in *len. A backend must set this to zero when * the call fails (i.e., when a status other than SANE_STATUS_GOOD is * returned). - * + * * When the call succeeds, the number of bytes returned can be * anywhere in the range from 0 to maxlen bytes. */ @@ -7963,7 +8010,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len /* alternating jpeg duplex interlacing */ else if(s->source == SOURCE_ADF_DUPLEX - && s->s_params.format == SANE_FRAME_JPEG + && s->s_params.format == SANE_FRAME_JPEG && s->jpeg_interlace == JPEG_INTERLACE_ALT ){ ret = read_from_JPEGduplex(s); @@ -7985,7 +8032,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int * len DBG(5,"sane_read: front returning %d\n",ret); return ret; } - + /* buffer back side, but don't get too far ahead of the front! */ if(s->bytes_rx[SIDE_BACK] < s->bytes_rx[SIDE_FRONT] + s->buffer_size){ ret = read_from_scanner(s, SIDE_BACK); @@ -8084,9 +8131,9 @@ read_from_JPEGduplex(struct fujitsu *s) int bytes = s->buffer_size; int i = 0; - + DBG (10, "read_from_JPEGduplex: start\n"); - + if(s->eof_rx[SIDE_FRONT] && s->eof_rx[SIDE_BACK]){ DBG (10, "read_from_JPEGduplex: already have eofs, done\n"); return ret; @@ -8112,7 +8159,7 @@ read_from_JPEGduplex(struct fujitsu *s) bytes -= JFIF_APP0_LENGTH; } } - + DBG(15, "read_from_JPEGduplex: fto:%d frx:%d bto:%d brx:%d pa:%d\n", s->bytes_tot[SIDE_FRONT], s->bytes_rx[SIDE_FRONT], s->bytes_tot[SIDE_BACK], s->bytes_rx[SIDE_BACK], @@ -8123,7 +8170,7 @@ read_from_JPEGduplex(struct fujitsu *s) DBG(5, "read_from_JPEGduplex: Warning: no bytes this pass\n"); return ret; } - + /* fi-6770A gets mad if you 'read' too soon on usb, see if it is ready */ if(!s->bytes_rx[SIDE_FRONT] && s->connection == CONNECTION_USB){ DBG (15, "read: start of usb page, checking RIC\n"); @@ -8147,14 +8194,14 @@ read_from_JPEGduplex(struct fujitsu *s) /* interlaced jpeg duplex always reads from front */ set_R_window_id (cmd, WD_wid_front); set_R_xfer_length (cmd, inLen); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, NULL, 0, in, &inLen ); - + if (ret == SANE_STATUS_GOOD || ret == SANE_STATUS_EOF) { DBG(15, "read_from_JPEGduplex: got GOOD/EOF, returning GOOD\n"); } @@ -8167,7 +8214,7 @@ read_from_JPEGduplex(struct fujitsu *s) DBG(5, "read_from_JPEGduplex: error reading data status = %d\n", ret); inLen = 0; } - + for(i=0;i<(int)inLen;i++){ /* about to change stage */ @@ -8359,9 +8406,9 @@ read_from_JPEGduplex(struct fujitsu *s) s->eof_rx[SIDE_BACK] = 1; } } - + free(in); - + /* jpeg uses in-band EOI marker, so this is ususally redundant */ if(ret == SANE_STATUS_EOF){ DBG(15, "read_from_JPEGduplex: got EOF, finishing\n"); @@ -8372,7 +8419,7 @@ read_from_JPEGduplex(struct fujitsu *s) } DBG (10, "read_from_JPEGduplex: finish\n"); - + return ret; } @@ -8411,7 +8458,7 @@ read_from_3091duplex(struct fujitsu *s) if(bytes > avail) bytes = avail; } - + /* all requests must end on a line boundary */ bytes -= (bytes % s->s_params.bytes_per_line); @@ -8534,9 +8581,9 @@ read_from_scanner(struct fujitsu *s, int side) int bytes = s->buffer_size; int avail = s->buff_tot[side] - s->buff_rx[side]; int remain = s->bytes_tot[side] - s->bytes_rx[side]; - + DBG (10, "read_from_scanner: start %d\n", side); - + if(s->eof_rx[side]){ DBG (10, "read_from_scanner: already have eof, done\n"); return ret; @@ -8545,7 +8592,7 @@ read_from_scanner(struct fujitsu *s, int side) /* figure out the max amount to transfer */ if(bytes > avail) bytes = avail; - + /* all requests must end on line boundary */ bytes -= (bytes % s->s_params.bytes_per_line); @@ -8559,7 +8606,7 @@ read_from_scanner(struct fujitsu *s, int side) /* jpeg scans leave space for JFIF header at start of image */ if(s->s_params.format == SANE_FRAME_JPEG && s->bytes_rx[side] < 2) bytes -= JFIF_APP0_LENGTH; - + DBG(15, "read_from_scanner: si:%d re:%d bs:%d by:%d av:%d\n", side, remain, s->buffer_size, bytes, avail); @@ -8569,13 +8616,13 @@ read_from_scanner(struct fujitsu *s, int side) DBG(15, "read_from_scanner: buf to:%d rx:%d tx:%d\n", s->buff_tot[side], s->buff_rx[side], s->buff_tx[side]); - + /* this will happen if buffer is not drained yet */ if(bytes < 1){ DBG(5, "read_from_scanner: no bytes this pass\n"); return ret; } - + /* fi-6770A gets mad if you 'read' too soon on usb, see if it is ready */ if(!s->bytes_rx[side] && s->connection == CONNECTION_USB){ DBG (15, "read_from_scanner: start of usb page, checking RIC\n"); @@ -8592,27 +8639,27 @@ read_from_scanner(struct fujitsu *s, int side) DBG(5, "read_from_scanner: not enough mem for buffer: %d\n",(int)inLen); return SANE_STATUS_NO_MEM; } - + memset(cmd,0,cmdLen); set_SCSI_opcode(cmd, READ_code); set_R_datatype_code (cmd, R_datatype_imagedata); - + if (side == SIDE_BACK) { set_R_window_id (cmd, WD_wid_back); } else{ set_R_window_id (cmd, WD_wid_front); } - + set_R_xfer_length (cmd, inLen); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, NULL, 0, in, &inLen ); - + if (ret == SANE_STATUS_GOOD || ret == SANE_STATUS_EOF) { DBG(15, "read_from_scanner: got GOOD/EOF, returning GOOD\n"); ret = SANE_STATUS_GOOD; @@ -8626,7 +8673,7 @@ read_from_scanner(struct fujitsu *s, int side) DBG(5, "read_from_scanner: error reading data block status = %d\n",ret); inLen = 0; } - + DBG(15, "read_from_scanner: read %lu bytes\n",(unsigned long)inLen); if(inLen){ @@ -8640,7 +8687,7 @@ read_from_scanner(struct fujitsu *s, int side) copy_buffer (s, in, inLen, side); } } - + free(in); /* if this was a short read or not, log it */ @@ -8655,7 +8702,7 @@ read_from_scanner(struct fujitsu *s, int side) s->eom_rx = 1; } - /* paper ran out. lets try to set the eof flag on both sides, + /* paper ran out. lets try to set the eof flag on both sides, * but only if that side had a short read last time */ if(s->eom_rx){ int i; @@ -8668,7 +8715,7 @@ read_from_scanner(struct fujitsu *s, int side) } DBG (10, "read_from_scanner: finish\n"); - + return ret; } @@ -8682,7 +8729,7 @@ copy_3091(struct fujitsu *s, unsigned char * buf, int len, int side) /* Data is RR...GG...BB... on each line, * green is back 8 lines from red at 300 dpi - * blue is back 4 lines from red at 300 dpi. + * blue is back 4 lines from red at 300 dpi. * * Here, we get things on correct line, and * interlace to make RGBRGB. @@ -8726,12 +8773,12 @@ copy_3091(struct fujitsu *s, unsigned char * buf, int len, int side) s->lines_rx[side]++; } - /* even if we have read data, we may not have any + /* even if we have read data, we may not have any * full lines loaded yet, so we may have to lie */ i = (s->lines_rx[side]-goff) * s->s_params.bytes_per_line; if(i < 0){ i = 0; - } + } s->bytes_rx[side] = i; s->buff_rx[side] = i; @@ -8753,11 +8800,11 @@ copy_JPEG(struct fujitsu *s, unsigned char * buf, int len, int side) { SANE_Status ret=SANE_STATUS_GOOD; int i, seen = 0; - + DBG (10, "copy_JPEG: start\n"); /* A jpeg image starts with the SOI marker, FF D8. - * This is optionally followed by the JFIF APP0 + * This is optionally followed by the JFIF APP0 * marker, FF E0. If that marker is not present, * we add it, so we can insert the resolution */ @@ -8797,7 +8844,7 @@ copy_buffer(struct fujitsu *s, unsigned char * buf, int len, int side) int i, j; int bwidth = s->s_params.bytes_per_line; int pwidth = s->s_params.pixels_per_line; - + DBG (10, "copy_buffer: start\n"); /* invert image if scanner needs it for this mode */ @@ -8810,9 +8857,9 @@ copy_buffer(struct fujitsu *s, unsigned char * buf, int len, int side) /* scanners interlace colors in many different ways */ if(s->s_params.format == SANE_FRAME_RGB){ - + switch (s->color_interlace) { - + /* scanner returns pixel data as bgrbgr... */ case COLOR_INTERLACE_BGR: for(i=0; ibuffers[side]+s->buff_rx[side],buf,len); s->buff_rx[side] += len; @@ -8847,7 +8894,7 @@ copy_buffer(struct fujitsu *s, unsigned char * buf, int len, int side) memcpy(s->buffers[side]+s->buff_rx[side],buf,len); s->buff_rx[side] += len; } - + s->bytes_rx[side] += len; s->lines_rx[side] += len/s->s_params.bytes_per_line; @@ -8867,16 +8914,16 @@ read_from_buffer(struct fujitsu *s, SANE_Byte * buf, SANE_Status ret=SANE_STATUS_GOOD; int bytes = max_len; int remain = s->buff_rx[side] - s->buff_tx[side]; - + DBG (10, "read_from_buffer: start\n"); - + /* figure out the max amount to transfer */ if(bytes > remain){ bytes = remain; } - + *len = bytes; - + DBG(15, "read_from_buffer: si:%d re:%d ml:%d by:%d\n", side, remain, max_len, bytes); @@ -8885,19 +8932,19 @@ read_from_buffer(struct fujitsu *s, SANE_Byte * buf, DBG(15, "read_from_buffer: buf to:%d rx:%d tx:%d\n", s->buff_tot[side], s->buff_rx[side], s->buff_tx[side]); - + /*FIXME this needs to timeout eventually */ if(!bytes){ DBG(5,"read_from_buffer: nothing to do\n"); return SANE_STATUS_GOOD; } - + memcpy(buf,s->buffers[side]+s->buff_tx[side],bytes); s->buff_tx[side] += bytes; s->bytes_tx[side] += bytes; DBG (10, "read_from_buffer: finish\n"); - + return ret; } @@ -8911,7 +8958,7 @@ downsample_from_buffer(struct fujitsu *s, SANE_Byte * buf, SANE_Status ret=SANE_STATUS_GOOD; DBG (10, "downsample_from_buffer: start %d %d %d %d\n", s->bytes_rx[side], s->bytes_tx[side], s->buff_rx[side], s->buff_tx[side]); - + if(s->s_mode == MODE_COLOR && s->u_mode == MODE_GRAYSCALE){ while(*len < max_len && s->buff_rx[side] - s->buff_tx[side] >= 3){ @@ -8959,7 +9006,7 @@ downsample_from_buffer(struct fujitsu *s, SANE_Byte * buf, for(i=0; i<8; i++){ int gray = 0; - + switch (s->dropout_color) { case COLOR_RED: gray = *(s->buffers[side]+s->buff_tx[side]) * 3; @@ -8999,7 +9046,7 @@ downsample_from_buffer(struct fujitsu *s, SANE_Byte * buf, } DBG (10, "downsample_from_buffer: finish %d %d %d %d\n", s->bytes_rx[side], s->bytes_tx[side], s->buff_rx[side], s->buff_tx[side]); - + return ret; } @@ -9008,26 +9055,26 @@ downsample_from_buffer(struct fujitsu *s, SANE_Byte * buf, * @@ Section 5 - SANE cleanup functions */ /* - * Cancels a scan. + * Cancels a scan. * * It has been said on the mailing list that sane_cancel is a bit of a * misnomer because it is routinely called to signal the end of a * batch - quoting David Mosberger-Tang: - * + * * > In other words, the idea is to have sane_start() be called, and * > collect as many images as the frontend wants (which could in turn * > consist of multiple frames each as indicated by frame-type) and - * > when the frontend is done, it should call sane_cancel(). + * > when the frontend is done, it should call sane_cancel(). * > Sometimes it's better to think of sane_cancel() as "sane_stop()" * > but that name would have had some misleading connotations as * > well, that's why we stuck with "cancel". - * + * * The current consensus regarding duplex and ADF scans seems to be * the following call sequence: sane_start; sane_read (repeat until * EOF); sane_start; sane_read... and then call sane_cancel if the * batch is at an end. I.e. do not call sane_cancel during the run but * as soon as you get a SANE_STATUS_NO_DOCS. - * + * * From the SANE spec: * This function is used to immediately or as quickly as possible * cancel the currently pending operation of the device represented by @@ -9061,7 +9108,7 @@ sane_cancel (SANE_Handle handle) /* * Ends use of the scanner. - * + * * From the SANE spec: * This function terminates the association between the device handle * passed in argument h and the device it represents. If the device is @@ -9104,7 +9151,7 @@ disconnect_fd (struct fujitsu *s) /* * Terminates the backend. - * + * * From the SANE spec: * This function must be called to terminate use of a backend. The * function will first close all device handles that still might be @@ -9703,7 +9750,7 @@ do_usb_cmd(struct fujitsu *s, int runRS, int shortTime, rs_in, &rs_inLen ); DBG(25,"rs sub call <<\n"); - + if(ret2 == SANE_STATUS_EOF){ DBG(5,"rs: got EOF, returning IO_ERROR\n"); return SANE_STATUS_IO_ERROR; @@ -9736,7 +9783,7 @@ do_usb_cmd(struct fujitsu *s, int runRS, int shortTime, } static SANE_Status -wait_scanner(struct fujitsu *s) +wait_scanner(struct fujitsu *s) { SANE_Status ret = SANE_STATUS_GOOD; @@ -9754,7 +9801,7 @@ wait_scanner(struct fujitsu *s) NULL, 0, NULL, NULL ); - + if (ret != SANE_STATUS_GOOD) { DBG(5,"WARNING: Brain-dead scanner. Hitting with stick\n"); ret = do_cmd ( @@ -9783,7 +9830,7 @@ wait_scanner(struct fujitsu *s) return ret; } -/* certain options require the entire image to +/* certain options require the entire image to * be collected from the scanner before we can * tell the user the size of the image. */ static int @@ -9803,7 +9850,7 @@ must_fully_buffer(struct fujitsu *s) return 0; } -/* certain scanners require the mode of the +/* certain scanners require the mode of the * image to be changed in software. */ static int must_downsample(struct fujitsu *s) @@ -9823,7 +9870,7 @@ must_downsample(struct fujitsu *s) * due to using FB or overscan. */ static int -get_page_width(struct fujitsu *s) +get_page_width(struct fujitsu *s) { int width = s->page_width + 2 * (s->os_x_basic*1200/s->basic_x_res); @@ -9852,7 +9899,7 @@ get_page_width(struct fujitsu *s) * due to using FB or overscan. */ static int -get_page_height(struct fujitsu *s) +get_page_height(struct fujitsu *s) { int height = s->page_height + 2 * (s->os_y_basic*1200/s->basic_y_res); @@ -9883,7 +9930,7 @@ get_page_height(struct fujitsu *s) * and pick the right mode to match. */ static int -get_ipc_mode(struct fujitsu *s) +get_ipc_mode(struct fujitsu *s) { if ( s->bp_filter || s->smoothing @@ -9912,10 +9959,10 @@ get_ipc_mode(struct fujitsu *s) return WD_ipc_DEFAULT; } -/* s->max_y gives the maximum height of paper which can be scanned +/* s->max_y gives the maximum height of paper which can be scanned * this actually varies by resolution, so a helper to change it */ static int -set_max_y(struct fujitsu *s) +set_max_y(struct fujitsu *s) { int i; @@ -10046,7 +10093,7 @@ buffer_deskew(struct fujitsu *s, int side) s->deskew_stat = sanei_magic_findSkew( &s->s_params,s->buffers[side],s->resolution_x,s->resolution_y, &s->deskew_vals[0],&s->deskew_vals[1],&s->deskew_slope); - + if(s->deskew_stat){ DBG (5, "buffer_deskew: bad findSkew, bailing\n"); goto cleanup; @@ -10101,7 +10148,7 @@ buffer_crop(struct fujitsu *s, int side) ret = SANE_STATUS_GOOD; goto cleanup; } - + DBG (15, "buffer_crop: t:%d b:%d l:%d r:%d\n", s->crop_vals[0],s->crop_vals[1],s->crop_vals[2],s->crop_vals[3]); @@ -10127,7 +10174,7 @@ buffer_crop(struct fujitsu *s, int side) /* update image size counter to new, smaller size */ s->bytes_rx[side] = s->s_params.lines * s->s_params.bytes_per_line; s->buff_rx[side] = s->bytes_rx[side]; - + cleanup: DBG (10, "buffer_crop: finish\n"); return ret; @@ -10178,4 +10225,3 @@ buffer_isblank(struct fujitsu *s, int side) DBG (10, "buffer_isblank: finished\n"); return status; } - diff --git a/backend/fujitsu.conf.in b/backend/fujitsu.conf.in index 5fa0003..cb33f15 100644 --- a/backend/fujitsu.conf.in +++ b/backend/fujitsu.conf.in @@ -121,12 +121,6 @@ usb 0x04c5 0x119e #S1500 & S1500M usb 0x04c5 0x11a2 -#fi-6125 -usb 0x04c5 0x11ee - -#fi-6225 -usb 0x04c5 0x11ef - #fi-6140Z/fi-6160ZLA usb 0x04c5 0x11f1 @@ -169,15 +163,6 @@ usb 0x04c5 0x13f3 #ScanSnap iX100 usb 0x04c5 0x13f4 -#ScanPartner SP25 -usb 0x04c5 0x1409 - -#ScanPartner SP30 -usb 0x04c5 0x140a - -#ScanPartner SP30F -usb 0x04c5 0x140c - #fi-6140ZLA usb 0x04c5 0x145f @@ -267,4 +252,3 @@ usb 0x04c5 0x1521 #fi-7700S usb 0x04c5 0x1522 - diff --git a/backend/fujitsu.h b/backend/fujitsu.h index 916f069..4c20474 100644 --- a/backend/fujitsu.h +++ b/backend/fujitsu.h @@ -1,12 +1,12 @@ #ifndef FUJITSU_H #define FUJITSU_H -/* +/* * Part of SANE - Scanner Access Now Easy. * Please see opening comment in fujitsu.c */ -/* ------------------------------------------------------------------------- +/* ------------------------------------------------------------------------- * This option list has to contain all options for all scanners supported by * this driver. If a certain scanner cannot handle a certain option, there's * still the possibility to say so, later. @@ -219,7 +219,7 @@ struct fujitsu int has_cmd_sdiag; int has_cmd_rdiag; int has_cmd_scan; - + int has_cmd_msen6; int has_cmd_copy; int has_cmd_rel; @@ -330,8 +330,8 @@ struct fujitsu int broken_diag_serial; /* some scanners are just plain borked */ int need_q_table; /* some scanners wont work without these */ - int need_diag_preread; - int late_lut; + int need_diag_preread; + int late_lut; int hopper_before_op; /* some scanners dont like OP when hopper empty */ int no_wait_after_op; /* some scanners dont like TUR after OP */ @@ -669,15 +669,15 @@ struct fujitsu #define COLOR_INTERLACE_RRGGBB 3 #define COLOR_INTERLACE_3091 4 -#define DUPLEX_INTERLACE_ALT 0 -#define DUPLEX_INTERLACE_NONE 1 -#define DUPLEX_INTERLACE_3091 2 +#define DUPLEX_INTERLACE_ALT 0 +#define DUPLEX_INTERLACE_NONE 1 +#define DUPLEX_INTERLACE_3091 2 -#define JPEG_INTERLACE_ALT 0 -#define JPEG_INTERLACE_NONE 1 +#define JPEG_INTERLACE_ALT 0 +#define JPEG_INTERLACE_NONE 1 -#define CROP_RELATIVE 0 -#define CROP_ABSOLUTE 1 +#define CROP_RELATIVE 0 +#define CROP_ABSOLUTE 1 #define DF_DEFAULT 0 #define DF_CONTINUE 1 diff --git a/backend/genesys.c b/backend/genesys.c deleted file mode 100644 index db0a2b2..0000000 --- a/backend/genesys.c +++ /dev/null @@ -1,8047 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2003, 2004 Henning Meier-Geinitz - Copyright (C) 2004, 2005 Gerhard Jaeger - Copyright (C) 2004-2016 Stphane Voltz - Copyright (C) 2005-2009 Pierre Willenbrock - Copyright (C) 2006 Laurent Charpentier - Copyright (C) 2007 Luke - Copyright (C) 2010 Chris Berry and Michael Rickmann - for Plustek Opticbook 3600 support - - Dynamic rasterization code was taken from the epjistsu backend by - m. allan noah - - Software processing for deskew, crop and dspeckle are inspired by allan's - noah work in the fujitsu backend - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -/* - * SANE backend for Genesys Logic GL646/GL841/GL842/GL843/GL846/GL847/GL124 based scanners - */ - -#define BUILD 2511 -#define BACKEND_NAME genesys - -#include "genesys.h" -#include "../include/sane/sanei_config.h" -#include "../include/sane/sanei_magic.h" -#include "genesys_devices.c" - -static SANE_Int num_devices = 0; -static Genesys_Device *first_dev = 0; -static Genesys_Scanner *first_handle = 0; -static const SANE_Device **devlist = 0; -/* Array of newly attached devices */ -static Genesys_Device **new_dev = 0; -/* Length of new_dev array */ -static SANE_Int new_dev_len = 0; -/* Number of entries alloced for new_dev */ -static SANE_Int new_dev_alloced = 0; - -static SANE_String_Const mode_list[] = { - SANE_VALUE_SCAN_MODE_COLOR, - SANE_VALUE_SCAN_MODE_GRAY, - /* SANE_TITLE_HALFTONE, currently unused */ - SANE_VALUE_SCAN_MODE_LINEART, - 0 -}; - -static SANE_String_Const color_filter_list[] = { - SANE_I18N ("Red"), - SANE_I18N ("Green"), - SANE_I18N ("Blue"), - 0 -}; - -static SANE_String_Const cis_color_filter_list[] = { - SANE_I18N ("Red"), - SANE_I18N ("Green"), - SANE_I18N ("Blue"), - SANE_I18N ("None"), - 0 -}; - -static SANE_String_Const source_list[] = { - SANE_I18N (FLATBED), - SANE_I18N (TRANSPARENCY_ADAPTER), - 0 -}; - -static SANE_Range swdespeck_range = { - 1, - 9, - 1 -}; - -static SANE_Range time_range = { - 0, /* minimum */ - 60, /* maximum */ - 0 /* quantization */ -}; - -static const SANE_Range u12_range = { - 0, /* minimum */ - 4095, /* maximum */ - 0 /* quantization */ -}; - -static const SANE_Range u14_range = { - 0, /* minimum */ - 16383, /* maximum */ - 0 /* quantization */ -}; - -static const SANE_Range u16_range = { - 0, /* minimum */ - 65535, /* maximum */ - 0 /* quantization */ -}; - -static const SANE_Range percentage_range = { - SANE_FIX (0), /* minimum */ - SANE_FIX (100), /* maximum */ - SANE_FIX (1) /* quantization */ -}; - -static const SANE_Range threshold_curve_range = { - 0, /* minimum */ - 127, /* maximum */ - 1 /* quantization */ -}; - -/** - * range for brightness and contrast - */ -static const SANE_Range enhance_range = { - -100, /* minimum */ - 100, /* maximum */ - 1 /* quantization */ -}; - -/** - * range for expiration time - */ -static const SANE_Range expiration_range = { - -1, /* minimum */ - 30000, /* maximum */ - 1 /* quantization */ -}; - -void -sanei_genesys_init_structs (Genesys_Device * dev) -{ - unsigned int i, sensor_ok = 0, gpo_ok = 0, motor_ok = 0; - - /* initialize the sensor data stuff */ - for (i = 0; i < sizeof (Sensor) / sizeof (Genesys_Sensor); i++) - { - if (dev->model->ccd_type == Sensor[i].sensor_id) - { - memcpy (&dev->sensor, &Sensor[i], sizeof (Genesys_Sensor)); - sensor_ok = 1; - } - } - - /* initialize the GPO data stuff */ - for (i = 0; i < sizeof (Gpo) / sizeof (Genesys_Gpo); i++) - { - if (dev->model->gpo_type == Gpo[i].gpo_id) - { - memcpy (&dev->gpo, &Gpo[i], sizeof (Genesys_Gpo)); - gpo_ok = 1; - } - } - - /* initialize the motor data stuff */ - for (i = 0; i < sizeof (Motor) / sizeof (Genesys_Motor); i++) - { - if (dev->model->motor_type == Motor[i].motor_id) - { - memcpy (&dev->motor, &Motor[i], sizeof (Genesys_Motor)); - motor_ok = 1; - } - } - - /* sanity check */ - if (sensor_ok == 0 || motor_ok == 0 || gpo_ok == 0) - { - DBG (DBG_error0, - "sanei_genesys_init_structs: bad description(s) for ccd/gpo/motor=%d/%d/%d\n", - dev->model->ccd_type, dev->model->gpo_type, - dev->model->motor_type); - } - - /* set up initial line distance shift */ - dev->ld_shift_r = dev->model->ld_shift_r; - dev->ld_shift_g = dev->model->ld_shift_g; - dev->ld_shift_b = dev->model->ld_shift_b; -} - -void -sanei_genesys_init_fe (Genesys_Device * dev) -{ - unsigned int i; - - DBGSTART; - for (i = 0; i < sizeof (Wolfson) / sizeof (Genesys_Frontend); i++) - { - if (dev->model->dac_type == Wolfson[i].fe_id) - { - memcpy (&dev->frontend, &Wolfson[i], sizeof (Genesys_Frontend)); - return; - } - } - DBG (DBG_error0, - "sanei_genesys_init_fe: failed to find description for dac_type %d\n", - dev->model->dac_type); - DBG (DBG_info, "sanei_genesys_init_fe: dac_type %d set up\n", - dev->model->dac_type); - DBGCOMPLETED; -} - -/* main function for slope creation */ -/** - * This function generates a slope table using the given slope - * truncated at the given exposure time or step count, whichever comes first. - * The reached step time is then stored in final_exposure and used for the rest - * of the table. The summed time of the acceleration steps is returned, and the - * number of accerelation steps is put into used_steps. - * - * @param slope_table Table to write to - * @param max_steps Size of slope_table in steps - * @param use_steps Maximum number of steps to use for acceleration - * @param stop_at Minimum step time to use - * @param vstart Start step time of default slope - * @param vend End step time of default slope - * @param steps Step count of default slope - * @param g Power for default slope - * @param used_steps Final number of steps is stored here - * @param vfinal Final step time is stored here - * @return Time for acceleration - * @note All times in pixel time. Correction for other motor timings is not - * done. - */ -SANE_Int -sanei_genesys_generate_slope_table (uint16_t * slope_table, - unsigned int max_steps, - unsigned int use_steps, - uint16_t stop_at, - uint16_t vstart, - uint16_t vend, - unsigned int steps, - double g, - unsigned int *used_steps, - unsigned int *vfinal) -{ - double t; - SANE_Int sum = 0; - unsigned int i; - unsigned int c = 0; - uint16_t t2; - unsigned int dummy; - unsigned int _vfinal; - if (!used_steps) - used_steps = &dummy; - if (!vfinal) - vfinal = &_vfinal; - - DBG (DBG_proc, "sanei_genesys_generate_slope_table: table size: %d\n", - max_steps); - - DBG (DBG_proc, - "sanei_genesys_generate_slope_table: stop at time: %d, use %d steps max\n", - stop_at, use_steps); - - DBG (DBG_proc, - "sanei_genesys_generate_slope_table: target slope: " - "vstart: %d, vend: %d, steps: %d, g: %g\n", vstart, vend, steps, g); - - sum = 0; - c = 0; - *used_steps = 0; - - if (use_steps < 1) - use_steps = 1; - - if (stop_at < vstart) - { - t2 = vstart; - for (i = 0; i < steps && i < use_steps - 1 && i < max_steps; i++, c++) - { - t = pow (((double) i) / ((double) (steps - 1)), g); - t2 = vstart * (1 - t) + t * vend; - if (t2 < stop_at) - break; - *slope_table++ = t2; - /* DBG (DBG_io, "slope_table[%3d] = %5d\n", c, t2); */ - sum += t2; - } - if (t2 > stop_at) - { - DBG (DBG_warn, "Can not reach target speed(%d) in %d steps.\n", - stop_at, use_steps); - DBG (DBG_warn, "Expect image to be distorted. " - "Ignore this if only feeding.\n"); - } - *vfinal = t2; - *used_steps += i; - max_steps -= i; - } - else - *vfinal = stop_at; - - for (i = 0; i < max_steps; i++, c++) - { - *slope_table++ = *vfinal; - /* DBG (DBG_io, "slope_table[%3d] = %5d\n", c, *vfinal); */ - } - - (*used_steps)++; - sum += *vfinal; - - DBG (DBG_proc, - "sanei_genesys_generate_slope_table: returns sum=%d, used %d steps, completed\n", - sum, *used_steps); - - return sum; -} - -/* Generate slope table for motor movement */ -/** - * This function generates a slope table using the slope from the motor struct - * truncated at the given exposure time or step count, whichever comes first. - * The reached step time is then stored in final_exposure and used for the rest - * of the table. The summed time of the acceleration steps is returned, and the - * number of accerelation steps is put into used_steps. - * - * @param dev Device struct - * @param slope_table Table to write to - * @param max_step Size of slope_table in steps - * @param use_steps Maximum number of steps to use for acceleration - * @param step_type Generate table for this step_type. 0=>full, 1=>half, - * 2=>quarter - * @param exposure_time Minimum exposure time of a scan line - * @param yres Resolution of a scan line - * @param used_steps Final number of steps is stored here - * @param final_exposure Final step time is stored here - * @param power_mode Power mode (related to the Vref used) of the motor - * @return Time for acceleration - * @note all times in pixel time - */ -SANE_Int -sanei_genesys_create_slope_table3 (Genesys_Device * dev, - uint16_t * slope_table, - int max_step, - unsigned int use_steps, - int step_type, - int exposure_time, - double yres, - unsigned int *used_steps, - unsigned int *final_exposure, - int power_mode) -{ - unsigned int sum_time = 0; - unsigned int vtarget; - unsigned int vend; - unsigned int vstart; - unsigned int vfinal; - - DBG (DBG_proc, - "%s: step_type = %d, " - "exposure_time = %d, yres = %g, power_mode = %d\n", __func__, step_type, - exposure_time, yres, power_mode); - - /* final speed */ - vtarget = (exposure_time * yres) / dev->motor.base_ydpi; - - vstart = dev->motor.slopes[power_mode][step_type].maximum_start_speed; - vend = dev->motor.slopes[power_mode][step_type].maximum_speed; - - vtarget >>= step_type; - if (vtarget > 65535) - vtarget = 65535; - - vstart >>= step_type; - if (vstart > 65535) - vstart = 65535; - - vend >>= step_type; - if (vend > 65535) - vend = 65535; - - sum_time = sanei_genesys_generate_slope_table (slope_table, - max_step, - use_steps, - vtarget, - vstart, - vend, - dev->motor.slopes[power_mode][step_type].minimum_steps << step_type, - dev->motor.slopes[power_mode][step_type].g, - used_steps, - &vfinal); - - if (final_exposure) - *final_exposure = (vfinal * dev->motor.base_ydpi) / yres; - - DBG (DBG_proc, - "sanei_genesys_create_slope_table: returns sum_time=%d, completed\n", - sum_time); - - return sum_time; -} - - -/* alternate slope table creation function */ -/* the hardcoded values (g and vstart) will go in a motor struct */ -static SANE_Int -genesys_create_slope_table2 (Genesys_Device * dev, - uint16_t * slope_table, int steps, - int step_type, int exposure_time, - SANE_Bool same_speed, double yres, - int power_mode) -{ - double t, g; - SANE_Int sum = 0; - int vstart, vend; - int i; - - DBG (DBG_proc, - "sanei_genesys_create_slope_table2: %d steps, step_type = %d, " - "exposure_time = %d, same_speed = %d, yres = %.2f, power_mode = %d\n", - steps, step_type, exposure_time, same_speed, yres, power_mode); - - /* start speed */ - if (dev->model->motor_type == MOTOR_5345) - { - if (yres < dev->motor.base_ydpi / 6) - vstart = 2500; - else - vstart = 2000; - } - else - { - if (steps == 2) - vstart = exposure_time; - else if (steps == 3) - vstart = 2 * exposure_time; - else if (steps == 4) - vstart = 1.5 * exposure_time; - else if (steps == 120) - vstart = 1.81674 * exposure_time; - else - vstart = exposure_time; - } - - /* final speed */ - vend = (exposure_time * yres) / (dev->motor.base_ydpi * (1 << step_type)); - - /* - type=1 : full - type=2 : half - type=4 : quarter - vend * type * base_ydpi / exposure = yres - */ - - /* acceleration */ - switch (steps) - { - case 255: - /* test for special case: fast moving slope */ - /* todo: a 'fast' boolean parameter should be better */ - if (vstart == 2000) - g = 0.2013; - else - g = 0.1677; - break; - case 120: - g = 0.5; - break; - case 67: - g = 0.5; - break; - case 64: - g = 0.2555; - break; - case 44: - g = 0.5; - break; - case 4: - g = 0.5; - break; - case 3: - g = 1; - break; - case 2: - vstart = vend; - g = 1; - break; - default: - g = 0.2635; - } - - /* if same speed, no 'g' */ - sum = 0; - if (same_speed) - { - for (i = 0; i < 255; i++) - { - slope_table[i] = vend; - sum += slope_table[i]; - DBG (DBG_io, "slope_table[%3d] = %5d\n", i, slope_table[i]); - } - } - else - { - for (i = 0; i < steps; i++) - { - t = pow (((double) i) / ((double) (steps - 1)), g); - slope_table[i] = vstart * (1 - t) + t * vend; - DBG (DBG_io, "slope_table[%3d] = %5d\n", i, slope_table[i]); - sum += slope_table[i]; - } - for (i = steps; i < 255; i++) - { - slope_table[i] = vend; - DBG (DBG_io, "slope_table[%3d] = %5d\n", i, slope_table[i]); - sum += slope_table[i]; - } - } - - DBG (DBG_proc, - "sanei_genesys_create_slope_table2: returns sum=%d, completed\n", sum); - - return sum; -} - -/* Generate slope table for motor movement */ -/* todo: check details */ -SANE_Int -sanei_genesys_create_slope_table (Genesys_Device * dev, - uint16_t * slope_table, int steps, - int step_type, int exposure_time, - SANE_Bool same_speed, double yres, - int power_mode) -{ - double t; - double start_speed; - double g; - uint32_t time_period; - int sum_time = 0; - int i, divider; - int same_step; - - if (dev->model->motor_type == MOTOR_5345 - || dev->model->motor_type == MOTOR_HP2300 - || dev->model->motor_type == MOTOR_HP2400) - return genesys_create_slope_table2 (dev, slope_table, steps, - step_type, exposure_time, - same_speed, yres, power_mode); - - DBG (DBG_proc, - "sanei_genesys_create_slope_table: %d steps, step_type = %d, " - "exposure_time = %d, same_speed =%d\n", steps, step_type, - exposure_time, same_speed); - DBG (DBG_proc, "sanei_genesys_create_slope_table: yres = %.2f\n", yres); - - g = 0.6; - start_speed = 0.01; - same_step = 4; - divider = 1 << step_type; - - time_period = - (uint32_t) (yres * exposure_time / dev->motor.base_ydpi /*MOTOR_GEAR */ ); - if ((time_period < 2000) && (same_speed)) - same_speed = SANE_FALSE; - - time_period = time_period / divider; - - if (same_speed) - { - for (i = 0; i < steps; i++) - { - slope_table[i] = (uint16_t) time_period; - sum_time += time_period; - - DBG (DBG_io, "slope_table[%d] = %d\n", i, time_period); - } - DBG (DBG_info, - "sanei_genesys_create_slope_table: returns sum_time=%d, completed\n", - sum_time); - return sum_time; - } - - if (time_period > MOTOR_SPEED_MAX * 5) - { - g = 1.0; - start_speed = 0.05; - same_step = 2; - } - else if (time_period > MOTOR_SPEED_MAX * 4) - { - g = 0.8; - start_speed = 0.04; - same_step = 2; - } - else if (time_period > MOTOR_SPEED_MAX * 3) - { - g = 0.7; - start_speed = 0.03; - same_step = 2; - } - else if (time_period > MOTOR_SPEED_MAX * 2) - { - g = 0.6; - start_speed = 0.02; - same_step = 3; - } - - if (dev->model->motor_type == MOTOR_ST24) - { - steps = 255; - switch ((int) yres) - { - case 2400: - g = 0.1672; - start_speed = 1.09; - break; - case 1200: - g = 1; - start_speed = 6.4; - break; - case 600: - g = 0.1672; - start_speed = 1.09; - break; - case 400: - g = 0.2005; - start_speed = 20.0 / 3.0 /*7.5 */ ; - break; - case 300: - g = 0.253; - start_speed = 2.182; - break; - case 150: - g = 0.253; - start_speed = 4.367; - break; - default: - g = 0.262; - start_speed = 7.29; - } - same_step = 1; - } - - if (steps <= same_step) - { - time_period = - (uint32_t) (yres * exposure_time / - dev->motor.base_ydpi /*MOTOR_GEAR */ ); - time_period = time_period / divider; - - if (time_period > 65535) - time_period = 65535; - - for (i = 0; i < same_step; i++) - { - slope_table[i] = (uint16_t) time_period; - sum_time += time_period; - - DBG (DBG_io, "slope_table[%d] = %d\n", i, time_period); - } - - DBG (DBG_proc, - "sanei_genesys_create_slope_table: returns sum_time=%d, completed\n", - sum_time); - return sum_time; - } - - for (i = 0; i < steps; i++) - { - double j = ((double) i) - same_step + 1; /* start from 1/16 speed */ - - if (j <= 0) - t = 0; - else - t = pow (j / (steps - same_step), g); - - time_period = /* time required for full steps */ - (uint32_t) (yres * exposure_time / - dev->motor.base_ydpi /*MOTOR_GEAR */ * - (start_speed + (1 - start_speed) * t)); - - time_period = time_period / divider; - if (time_period > 65535) - time_period = 65535; - - slope_table[i] = (uint16_t) time_period; - sum_time += time_period; - - DBG (DBG_io, "slope_table[%d] = %d\n", i, slope_table[i]); - } - - DBG (DBG_proc, - "sanei_genesys_create_slope_table: returns sum_time=%d, completed\n", - sum_time); - - return sum_time; -} - -/** @brief computes gamma table - * Generates a gamma table of the given length within 0 and the given - * maximum value - * @param gamma_table gamma table to fill - * @param size size of the table - * @param maximum value allowed for gamma - * @param gamma_max maximum gamma value - * @param gamma gamma to compute values - * @return a gamma table filled with the computed values - * */ -void -sanei_genesys_create_gamma_table (uint16_t * gamma_table, int size, - float maximum, float gamma_max, float gamma) -{ - int i; - float value; - - if(gamma_table==NULL) - { - DBG (DBG_proc, "sanei_genesys_create_gamma_table: gamma table is NULL\n"); - return; - } - DBG (DBG_proc, - "sanei_genesys_create_gamma_table: size = %d, " - "maximum = %g, gamma_max = %g, gamma = %g\n", - size, maximum, gamma_max, gamma); - for (i = 0; i < size; i++) - { - value = gamma_max * pow ((float) i / size, 1.0 / gamma); - if (value > maximum) - value = maximum; - gamma_table[i] = value; - } - DBG (DBG_proc, "sanei_genesys_create_gamma_table: completed\n"); -} - - -/* computes the exposure_time on the basis of the given vertical dpi, - the number of pixels the ccd needs to send, - the step_type and the corresponding maximum speed from the motor struct */ -/* - Currently considers maximum motor speed at given step_type, minimum - line exposure needed for conversion and led exposure time. - - TODO: Should also consider maximum transfer rate: ~6.5MB/s. - Note: The enhance option of the scanners does _not_ help. It only halves - the amount of pixels transfered. - */ -SANE_Int -sanei_genesys_exposure_time2 (Genesys_Device * dev, float ydpi, - int step_type, int endpixel, - int exposure_by_led, int power_mode) -{ - int exposure_by_ccd = endpixel + 32; - int exposure_by_motor = - (dev->motor.slopes[power_mode][step_type].maximum_speed - * dev->motor.base_ydpi) / ydpi; - - int exposure = exposure_by_ccd; - - if (exposure < exposure_by_motor) - exposure = exposure_by_motor; - - if (exposure < exposure_by_led && dev->model->is_cis) - exposure = exposure_by_led; - - DBG (DBG_info, "%s: ydpi=%d, step=%d, endpixel=%d led=%d, power=%d => exposure=%d\n", - __func__, (int)ydpi, step_type, endpixel, exposure_by_led, power_mode, exposure); - return exposure; -} - -/* computes the exposure_time on the basis of the given horizontal dpi */ -/* we will clean/simplify it by using constants from a future motor struct */ -SANE_Int -sanei_genesys_exposure_time (Genesys_Device * dev, Genesys_Register_Set * reg, - int xdpi) -{ - if (dev->model->motor_type == MOTOR_5345) - { - if (dev->model->cmd_set->get_filter_bit (reg)) - { - /* monochrome */ - switch (xdpi) - { - case 600: - return 8500; - case 500: - case 400: - case 300: - case 250: - case 200: - case 150: - return 5500; - case 100: - return 6500; - case 50: - return 12000; - default: - return 11000; - } - } - else - { - /* color scan */ - switch (xdpi) - { - case 300: - case 250: - case 200: - return 5500; - case 50: - return 12000; - default: - return 11000; - } - } - } - else if (dev->model->motor_type == MOTOR_HP2400) - { - if (dev->model->cmd_set->get_filter_bit (reg)) - { - /* monochrome */ - switch (xdpi) - { - case 200: - return 7210; - default: - return 11111; - } - } - else - { - /* color scan */ - switch (xdpi) - { - case 600: - return 8751; /*11902; 19200 */ - default: - return 11111; - } - } - } - else if (dev->model->motor_type == MOTOR_HP2300) - { - if (dev->model->cmd_set->get_filter_bit (reg)) - { - /* monochrome */ - switch (xdpi) - { - case 600: - return 8699; /* 3200; */ - case 300: - return 3200; /*10000;, 3200 -> too dark */ - case 150: - return 4480; /* 3200 ???, warmup needs 4480 */ - case 75: - return 5500; - default: - return 11111; - } - } - else - { - /* color scan */ - switch (xdpi) - { - case 600: - return 8699; - case 300: - return 4349; - case 150: - case 75: - return 4480; - default: - return 11111; - } - } - } - return dev->settings.exposure_time; -} - - - -/* Sends a block of shading information to the scanner. - The data is placed at address 0x0000 for color mode, gray mode and - unconditionally for the following CCD chips: HP2300, HP2400 and HP5345 - In the other cases (lineart, halftone on ccd chips not mentioned) the - addresses are 0x2a00 for dpihw==0, 0x5500 for dpihw==1 and 0xa800 for - dpihw==2. //Note: why this? - - The data needs to be of size "size", and in little endian byte order. - */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -genesys_send_offset_and_shading (Genesys_Device * dev, uint8_t * data, - int size) -{ - int dpihw; - int start_address; - SANE_Status status; - - DBG (DBG_proc, "%s: (size = %d)\n", __func__, size); - - /* ASIC higher than gl843 doesn't have register 2A/2B, so we route to - * a per ASIC shading data loading function if available. - * It is also used for scanners using SHDAREA */ - if(dev->model->cmd_set->send_shading_data!=NULL) - { - status=dev->model->cmd_set->send_shading_data(dev, data, size); - DBGCOMPLETED; - return status; - } - - /* gl646, gl84[123] case */ - dpihw = sanei_genesys_read_reg_from_set (dev->reg, 0x05) >> 6; - - /* TODO invert the test so only the 2 models behaving like that are - * tested instead of adding all the others */ - /* many scanners send coefficient for lineart/gray like in color mode */ - if (dev->settings.scan_mode < 2 - && dev->model->ccd_type != CCD_PLUSTEK3800 - && dev->model->ccd_type != CCD_KVSS080 - && dev->model->ccd_type != CCD_G4050 - && dev->model->ccd_type != CCD_CS4400F - && dev->model->ccd_type != CCD_CS8400F - && dev->model->ccd_type != CCD_DSMOBILE600 - && dev->model->ccd_type != CCD_XP300 - && dev->model->ccd_type != CCD_DP665 - && dev->model->ccd_type != CCD_DP685 - && dev->model->ccd_type != CIS_CANONLIDE80 - && dev->model->ccd_type != CCD_ROADWARRIOR - && dev->model->ccd_type != CCD_HP2300 - && dev->model->ccd_type != CCD_HP2400 - && dev->model->ccd_type != CCD_HP3670 - && dev->model->ccd_type != CCD_5345) /* lineart, halftone */ - { - if (dpihw == 0) /* 600 dpi */ - start_address = 0x02a00; - else if (dpihw == 1) /* 1200 dpi */ - start_address = 0x05500; - else if (dpihw == 2) /* 2400 dpi */ - start_address = 0x0a800; - else /* reserved */ - return SANE_STATUS_INVAL; - } - else /* color */ - start_address = 0x00; - - status = sanei_genesys_set_buffer_address (dev, start_address); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to set buffer address: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - status = dev->model->cmd_set->bulk_write_data (dev, 0x3c, data, size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to send shading table: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -/* ? */ -SANE_Status -sanei_genesys_init_shading_data (Genesys_Device * dev, int pixels_per_line) -{ - SANE_Status status; - uint8_t *shading_data, *shading_data_ptr; - int channels; - int i; - - /* these models don't need to init shading data due to the use of specific send shading data - function */ - if (dev->model->ccd_type==CCD_KVSS080 - || dev->model->ccd_type==CCD_G4050 - || dev->model->ccd_type==CCD_CS4400F - || dev->model->ccd_type==CCD_CS8400F - || dev->model->cmd_set->send_shading_data!=NULL) - return SANE_STATUS_GOOD; - - DBG (DBG_proc, "sanei_genesys_init_shading_data (pixels_per_line = %d)\n", - pixels_per_line); - - if (dev->settings.scan_mode >= 2) /* 3 pass or single pass color */ - channels = 3; - else - channels = 1; - - shading_data = malloc (pixels_per_line * 4 * channels); /* 16 bit black, 16 bit white */ - if (!shading_data) - { - DBG (DBG_error, - "sanei_genesys_init_shading_data: failed to allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - - shading_data_ptr = shading_data; - - for (i = 0; i < pixels_per_line * channels; i++) - { - *shading_data_ptr++ = 0x00; /* dark lo */ - *shading_data_ptr++ = 0x00; /* dark hi */ - *shading_data_ptr++ = 0x00; /* white lo */ - *shading_data_ptr++ = 0x40; /* white hi -> 0x4000 */ - } - - status = genesys_send_offset_and_shading (dev, - shading_data, - pixels_per_line * 4 * channels); - free (shading_data); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to send shading data: %s\n", __func__, - sane_strstatus (status)); - } - - DBGCOMPLETED; - return status; -} - - -/* Find the position of the reference point: - takes gray level 8 bits data and find - first CCD usable pixel and top of scanning area */ -SANE_Status -sanei_genesys_search_reference_point (Genesys_Device * dev, uint8_t * data, - int start_pixel, int dpi, int width, - int height) -{ - int x, y; - int current, left, top = 0; - uint8_t *image; - int size, count; - int level = 80; /* edge threshold level */ - - /*sanity check */ - if ((width < 3) || (height < 3)) - return SANE_STATUS_INVAL; - - /* transformed image data */ - size = width * height; - image = malloc (size); - if (!image) - { - DBG (DBG_error, - "sanei_genesys_search_reference_point: failed to allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - - /* laplace filter to denoise picture */ - memcpy (image, data, size); /* to initialize unprocessed part of the image buffer */ - for (y = 1; y < height - 1; y++) - for (x = 1; x < width - 1; x++) - { - image[y * width + x] = - (data[(y - 1) * width + x + 1] + 2 * data[(y - 1) * width + x] + - data[(y - 1) * width + x - 1] + 2 * data[y * width + x + 1] + - 4 * data[y * width + x] + 2 * data[y * width + x - 1] + - data[(y + 1) * width + x + 1] + 2 * data[(y + 1) * width + x] + - data[(y + 1) * width + x - 1]) / 16; - } - - memcpy (data, image, size); - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("laplace.pnm", image, 8, 1, width, height); - - /* apply X direction sobel filter - -1 0 1 - -2 0 2 - -1 0 1 - and finds threshold level - */ - level = 0; - for (y = 2; y < height - 2; y++) - for (x = 2; x < width - 2; x++) - { - current = - data[(y - 1) * width + x + 1] - data[(y - 1) * width + x - 1] + - 2 * data[y * width + x + 1] - 2 * data[y * width + x - 1] + - data[(y + 1) * width + x + 1] - data[(y + 1) * width + x - 1]; - if (current < 0) - current = -current; - if (current > 255) - current = 255; - image[y * width + x] = current; - if (current > level) - level = current; - } - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("xsobel.pnm", image, 8, 1, width, height); - - /* set up detection level */ - level = level / 3; - - /* find left black margin first - todo: search top before left - we average the result of N searches */ - left = 0; - count = 0; - for (y = 2; y < 11; y++) - { - x = 8; - while ((x < width / 2) && (image[y * width + x] < level)) - { - image[y * width + x] = 255; - x++; - } - count++; - left += x; - } - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("detected-xsobel.pnm", image, 8, 1, width, - height); - left = left / count; - - /* turn it in CCD pixel at full sensor optical resolution */ - dev->sensor.CCD_start_xoffset = - start_pixel + (left * dev->sensor.optical_res) / dpi; - - /* find top edge by detecting black strip */ - /* apply Y direction sobel filter - -1 -2 -1 - 0 0 0 - 1 2 1 - */ - level = 0; - for (y = 2; y < height - 2; y++) - for (x = 2; x < width - 2; x++) - { - current = - -data[(y - 1) * width + x + 1] - 2 * data[(y - 1) * width + x] - - data[(y - 1) * width + x - 1] + data[(y + 1) * width + x + 1] + - 2 * data[(y + 1) * width + x] + data[(y + 1) * width + x - 1]; - if (current < 0) - current = -current; - if (current > 255) - current = 255; - image[y * width + x] = current; - if (current > level) - level = current; - } - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("ysobel.pnm", image, 8, 1, width, height); - - /* set up detection level */ - level = level / 3; - - /* search top of horizontal black stripe : TODO yet another flag */ - if (dev->model->ccd_type == CCD_5345 - && dev->model->motor_type == MOTOR_5345) - { - top = 0; - count = 0; - for (x = width / 2; x < width - 1; x++) - { - y = 2; - while ((y < height) && (image[x + y * width] < level)) - { - image[y * width + x] = 255; - y++; - } - count++; - top += y; - } - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("detected-ysobel.pnm", image, 8, 1, - width, height); - top = top / count; - - /* bottom of black stripe is of fixed witdh, this hardcoded value - * will be moved into device struct if more such values are needed */ - top += 10; - dev->model->y_offset_calib = SANE_FIX ((top * MM_PER_INCH) / dpi); - DBG (DBG_info, - "sanei_genesys_search_reference_point: black stripe y_offset = %f mm \n", - SANE_UNFIX (dev->model->y_offset_calib)); - } - - /* find white corner in dark area : TODO yet another flag */ - if ((dev->model->ccd_type == CCD_HP2300 - && dev->model->motor_type == MOTOR_HP2300) - || (dev->model->ccd_type == CCD_HP2400 - && dev->model->motor_type == MOTOR_HP2400) - || (dev->model->ccd_type == CCD_HP3670 - && dev->model->motor_type == MOTOR_HP3670)) - { - top = 0; - count = 0; - for (x = 10; x < 60; x++) - { - y = 2; - while ((y < height) && (image[x + y * width] < level)) - y++; - top += y; - count++; - } - top = top / count; - dev->model->y_offset_calib = SANE_FIX ((top * MM_PER_INCH) / dpi); - DBG (DBG_info, - "sanei_genesys_search_reference_point: white corner y_offset = %f mm\n", - SANE_UNFIX (dev->model->y_offset_calib)); - } - - free (image); - DBG (DBG_proc, - "sanei_genesys_search_reference_point: CCD_start_xoffset = %d, left = %d, top = %d\n", - dev->sensor.CCD_start_xoffset, left, top); - - return SANE_STATUS_GOOD; -} - - -void -sanei_genesys_calculate_zmode2 (SANE_Bool two_table, - uint32_t exposure_time, - uint16_t * slope_table, - int reg21, - int move, int reg22, uint32_t * z1, - uint32_t * z2) -{ - int i; - int sum; - DBG (DBG_info, "sanei_genesys_calculate_zmode2: two_table=%d\n", two_table); - - /* acceleration total time */ - sum = 0; - for (i = 0; i < reg21; i++) - sum += slope_table[i]; - - /* compute Z1MOD */ - /* c=sum(slope_table;reg21) - d=reg22*cruising speed - Z1MOD=(c+d) % exposure_time */ - *z1 = (sum + reg22 * slope_table[reg21 - 1]) % exposure_time; - - /* compute Z2MOD */ - /* a=sum(slope_table;reg21), b=move or 1 if 2 tables */ - /* Z2MOD=(a+b) % exposure_time */ - if (!two_table) - sum = sum + (move * slope_table[reg21 - 1]); - else - sum = sum + slope_table[reg21 - 1]; - *z2 = sum % exposure_time; -} - - -/* huh? */ -/* todo: double check */ -/* Z1 and Z2 seem to be a time to synchronize with clock or a phase correction */ -/* steps_sum is the result of create_slope_table */ -/* last_speed is the last entry of the slope_table */ -/* feedl is registers 3d,3e,3f */ -/* fastfed is register 02 bit 3 */ -/* scanfed is register 1f */ -/* fwdstep is register 22 */ -/* tgtime is register 6c bit 6+7 >> 6 */ - -void -sanei_genesys_calculate_zmode (uint32_t exposure_time, - uint32_t steps_sum, uint16_t last_speed, - uint32_t feedl, uint8_t fastfed, - uint8_t scanfed, uint8_t fwdstep, - uint8_t tgtime, uint32_t * z1, uint32_t * z2) -{ - uint8_t exposure_factor; - - exposure_factor = pow (2, tgtime); /* todo: originally, this is always 2^0 ! */ - - /* Z1 is for buffer-full backward forward moving */ - *z1 = - exposure_factor * ((steps_sum + fwdstep * last_speed) % exposure_time); - - /* Z2 is for acceleration before scan */ - if (fastfed) /* two curve mode */ - { - *z2 = - exposure_factor * ((steps_sum + scanfed * last_speed) % - exposure_time); - } - else /* one curve mode */ - { - *z2 = - exposure_factor * ((steps_sum + feedl * last_speed) % exposure_time); - } -} - - -static void -genesys_adjust_gain (double *applied_multi, - uint8_t * new_gain, double multi, uint8_t gain) -{ - double voltage, original_voltage; - - DBG (DBG_proc, "genesys_adjust_gain: multi=%f, gain=%d\n", multi, gain); - - voltage = 0.5 + gain * 0.25; - original_voltage = voltage; - - voltage *= multi; - - *new_gain = (uint8_t) ((voltage - 0.5) * 4); - if (*new_gain > 0x0e) - *new_gain = 0x0e; - - voltage = 0.5 + (*new_gain) * 0.25; - - *applied_multi = voltage / original_voltage; - - DBG (DBG_proc, - "genesys_adjust_gain: orig voltage=%.2f, new voltage=%.2f, " - "*applied_multi=%f, *new_gain=%d\n", original_voltage, voltage, - *applied_multi, *new_gain); - return; -} - - -/* todo: is return status necessary (unchecked?) */ -static SANE_Status -genesys_average_white (Genesys_Device * dev, int channels, int channel, - uint8_t * data, int size, int *max_average) -{ - int gain_white_ref, sum, range; - int average; - int i; - - DBG (DBG_proc, - "genesys_average_white: channels=%d, channel=%d, size=%d\n", - channels, channel, size); - - range = size / 50; - - if (dev->settings.scan_method == SCAN_METHOD_TRANSPARENCY) /* transparency mode */ - gain_white_ref = dev->sensor.fau_gain_white_ref * 256; - else - gain_white_ref = dev->sensor.gain_white_ref * 256; - - if (range < 1) - range = 1; - - size = size / (2 * range * channels); - - data += (channel * 2); - - *max_average = 0; - - while (size--) - { - sum = 0; - for (i = 0; i < range; i++) - { - sum += (*data); - sum += *(data + 1) * 256; - data += (2 * channels); /* byte based */ - } - - average = (sum / range); - if (average > *max_average) - *max_average = average; - } - - DBG (DBG_proc, - "genesys_average_white: max_average=%d, gain_white_ref = %d, finished\n", - *max_average, gain_white_ref); - - if (*max_average >= gain_white_ref) - return SANE_STATUS_INVAL; - - return SANE_STATUS_GOOD; -} - -/* todo: understand, values are too high */ -static int -genesys_average_black (Genesys_Device * dev, int channel, - uint8_t * data, int pixels) -{ - int i; - int sum; - int pixel_step; - - DBG (DBG_proc, "genesys_average_black: channel=%d, pixels=%d\n", - channel, pixels); - - sum = 0; - - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - { - data += (channel * 2); - pixel_step = 3 * 2; - } - else - { - pixel_step = 2; - } - - for (i = 0; i < pixels; i++) - { - sum += *data; - sum += *(data + 1) * 256; - - data += pixel_step; - } - - DBG (DBG_proc, "genesys_average_black = %d\n", sum / pixels); - - return (int) (sum / pixels); -} - - -/* todo: check; it works but the lines 1, 2, and 3 are too dark even with the - same offset and gain settings? */ -static SANE_Status -genesys_coarse_calibration (Genesys_Device * dev) -{ - int size; - int black_pixels; - int white_average; - int channels; - SANE_Status status; - uint8_t offset[4] = { 0xa0, 0x00, 0xa0, 0x40 }; /* first value isn't used */ - uint16_t white[12], dark[12]; - int i, j; - uint8_t *calibration_data, *all_data; - - DBG (DBG_info, "genesys_coarse_calibration (scan_mode = %d)\n", - dev->settings.scan_mode); - - black_pixels = dev->sensor.black_pixels - * dev->settings.xres / dev->sensor.optical_res; - - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - channels = 3; - else - channels = 1; - - DBG (DBG_info, "channels %d y_size %d xres %d\n", - channels, dev->model->y_size, dev->settings.xres); - size = - channels * 2 * SANE_UNFIX (dev->model->y_size) * dev->settings.xres / - 25.4; - /* 1 1 mm 1/inch inch/mm */ - - calibration_data = malloc (size); - if (!calibration_data) - { - DBG (DBG_error, - "genesys_coarse_calibration: failed to allocate memory(%d bytes)\n", - size); - return SANE_STATUS_NO_MEM; - } - - all_data = calloc (1, size * 4); - - status = dev->model->cmd_set->set_fe (dev, AFE_INIT); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to set frontend: %s\n", __func__, - sane_strstatus (status)); - free(all_data); - free(calibration_data); - return status; - } - - dev->frontend.sign[0] = 0; - dev->frontend.sign[1] = 0; - dev->frontend.sign[2] = 0; - dev->frontend.gain[0] = 2; - dev->frontend.gain[1] = 2; - dev->frontend.gain[2] = 2; /* todo: ? was 2 */ - dev->frontend.offset[0] = offset[0]; - dev->frontend.offset[1] = offset[0]; - dev->frontend.offset[2] = offset[0]; - - for (i = 0; i < 4; i++) /* read 4 lines */ - { - if (i < 3) /* first 3 lines */ - { - dev->frontend.offset[0] = offset[i]; - dev->frontend.offset[1] = offset[i]; - dev->frontend.offset[2] = offset[i]; - } - - if (i == 1) /* second line */ - { - double applied_multi; - double gain_white_ref; - - if (dev->settings.scan_method == SCAN_METHOD_TRANSPARENCY) /* Transparency */ - gain_white_ref = dev->sensor.fau_gain_white_ref * 256; - else - gain_white_ref = dev->sensor.gain_white_ref * 256; - /* white and black are defined downwards */ - - genesys_adjust_gain (&applied_multi, - &dev->frontend.gain[0], - gain_white_ref / (white[0] - dark[0]), - dev->frontend.gain[0]); - genesys_adjust_gain (&applied_multi, - &dev->frontend.gain[1], - gain_white_ref / (white[1] - dark[1]), - dev->frontend.gain[1]); - genesys_adjust_gain (&applied_multi, - &dev->frontend.gain[2], - gain_white_ref / (white[2] - dark[2]), - dev->frontend.gain[2]); - - dev->frontend.gain[0] = dev->frontend.gain[1] = - dev->frontend.gain[2] = 2; - - status = - sanei_genesys_fe_write_data (dev, 0x28, dev->frontend.gain[0]); - if (status != SANE_STATUS_GOOD) /* todo: this was 0x28 + 3 ? */ - { - DBG (DBG_error, - "genesys_coarse_calibration: Failed to write gain[0]: %s\n", - sane_strstatus (status)); - return status; - } - - status = - sanei_genesys_fe_write_data (dev, 0x29, dev->frontend.gain[1]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_coarse_calibration: Failed to write gain[1]: %s\n", - sane_strstatus (status)); - return status; - } - - status = - sanei_genesys_fe_write_data (dev, 0x2a, dev->frontend.gain[2]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_coarse_calibration: Failed to write gain[2]: %s\n", - sane_strstatus (status)); - return status; - } - } - - if (i == 3) /* last line */ - { - double x, y, rate; - - for (j = 0; j < 3; j++) - { - - x = - (double) (dark[(i - 2) * 3 + j] - - dark[(i - 1) * 3 + j]) * 254 / (offset[i - 1] / 2 - - offset[i - 2] / 2); - y = x - x * (offset[i - 1] / 2) / 254 - dark[(i - 1) * 3 + j]; - rate = (x - DARK_VALUE - y) * 254 / x + 0.5; - - dev->frontend.offset[j] = (uint8_t) (rate); - - if (dev->frontend.offset[j] > 0x7f) - dev->frontend.offset[j] = 0x7f; - dev->frontend.offset[j] <<= 1; - } - } - status = - sanei_genesys_fe_write_data (dev, 0x20, dev->frontend.offset[0]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_coarse_calibration: Failed to write offset[0]: %s\n", - sane_strstatus (status)); - return status; - } - - status = - sanei_genesys_fe_write_data (dev, 0x21, dev->frontend.offset[1]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_coarse_calibration: Failed to write offset[1]: %s\n", - sane_strstatus (status)); - return status; - } - - status = - sanei_genesys_fe_write_data (dev, 0x22, dev->frontend.offset[2]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_coarse_calibration: Failed to write offset[2]: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_info, - "genesys_coarse_calibration: doing scan: sign: %d/%d/%d, gain: %d/%d/%d, offset: %d/%d/%d\n", - dev->frontend.sign[0], dev->frontend.sign[1], - dev->frontend.sign[2], dev->frontend.gain[0], - dev->frontend.gain[1], dev->frontend.gain[2], - dev->frontend.offset[0], dev->frontend.offset[1], - dev->frontend.offset[2]); - - status = - dev->model->cmd_set->begin_scan (dev, dev->calib_reg, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_coarse_calibration: Failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - status = - sanei_genesys_read_data_from_scanner (dev, calibration_data, size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_coarse_calibration: Failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - memcpy (all_data + i * size, calibration_data, size); - if (i == 3) /* last line */ - { - SANE_Byte *all_data_8 = malloc (size * 4 / 2); - unsigned int count; - - for (count = 0; count < (unsigned int) (size * 4 / 2); count++) - all_data_8[count] = all_data[count * 2 + 1]; - status = - sanei_genesys_write_pnm_file ("coarse.pnm", all_data_8, 8, - channels, size / 6, 4); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_coarse_calibration: sanei_genesys_write_pnm_file failed: %s\n", - sane_strstatus (status)); - return status; - } - } - - status = dev->model->cmd_set->end_scan (dev, dev->calib_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_coarse_calibration: Failed to end scan: %s\n", - sane_strstatus (status)); - return status; - } - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - { - for (j = 0; j < 3; j++) - { - genesys_average_white (dev, 3, j, calibration_data, size, - &white_average); - white[i * 3 + j] = white_average; - dark[i * 3 + j] = - genesys_average_black (dev, j, calibration_data, - black_pixels); - DBG (DBG_info, - "genesys_coarse_calibration: white[%d]=%d, black[%d]=%d\n", - i * 3 + j, white[i * 3 + j], i * 3 + j, dark[i * 3 + j]); - } - } - else /* one color-component modes */ - { - genesys_average_white (dev, 1, 0, calibration_data, size, - &white_average); - white[i * 3 + 0] = white[i * 3 + 1] = white[i * 3 + 2] = - white_average; - dark[i * 3 + 0] = dark[i * 3 + 1] = dark[i * 3 + 2] = - genesys_average_black (dev, 0, calibration_data, black_pixels); - } - - if (i == 3) - { - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - { - /* todo: huh? */ - dev->dark[0] = - (uint16_t) (1.6925 * dark[i * 3 + 0] + 0.1895 * 256); - dev->dark[1] = - (uint16_t) (1.4013 * dark[i * 3 + 1] + 0.3147 * 256); - dev->dark[2] = - (uint16_t) (1.2931 * dark[i * 3 + 2] + 0.1558 * 256); - } - else /* one color-component modes */ - { - switch (dev->settings.color_filter) - { - case 0: - default: - dev->dark[0] = - (uint16_t) (1.6925 * dark[i * 3 + 0] + - (1.1895 - 1.0) * 256); - dev->dark[1] = dev->dark[2] = dev->dark[0]; - break; - - case 1: - dev->dark[1] = - (uint16_t) (1.4013 * dark[i * 3 + 1] + - (1.3147 - 1.0) * 256); - dev->dark[0] = dev->dark[2] = dev->dark[1]; - break; - - case 2: - dev->dark[2] = - (uint16_t) (1.2931 * dark[i * 3 + 2] + - (1.1558 - 1.0) * 256); - dev->dark[0] = dev->dark[1] = dev->dark[2]; - break; - } - } - } - } /* for (i = 0; i < 4; i++) */ - - free(all_data); - DBG (DBG_info, - "genesys_coarse_calibration: final: sign: %d/%d/%d, gain: %d/%d/%d, offset: %d/%d/%d\n", - dev->frontend.sign[0], dev->frontend.sign[1], dev->frontend.sign[2], - dev->frontend.gain[0], dev->frontend.gain[1], dev->frontend.gain[2], - dev->frontend.offset[0], dev->frontend.offset[1], - dev->frontend.offset[2]); - DBGCOMPLETED; - - return status; -} - -/* Averages image data. - average_data and calibration_data are little endian 16 bit words. - */ -#ifndef UNIT_TESTING -static -#endif -void -genesys_average_data (uint8_t * average_data, - uint8_t * calibration_data, - uint32_t lines, - uint32_t pixel_components_per_line) -{ - uint32_t x, y; - uint32_t sum; - - for (x = 0; x < pixel_components_per_line; x++) - { - sum = 0; - for (y = 0; y < lines; y++) - { - sum += calibration_data[(x + y * pixel_components_per_line) * 2]; - sum += - calibration_data[(x + y * pixel_components_per_line) * 2 + - 1] * 256; - } - sum /= lines; - *average_data++ = sum & 255; - *average_data++ = sum / 256; - } -} - -/** - * scans a white area with motor and lamp off to get the per CCD pixel offset - * that will be used to compute shading coefficient - * @param dev scanner's device - * @return SANE_STATUS_GOOD if OK, else an error - */ -static SANE_Status -genesys_dark_shading_calibration (Genesys_Device * dev) -{ - SANE_Status status; - size_t size; - uint32_t pixels_per_line; - uint8_t channels; - uint8_t *calibration_data; - SANE_Bool motor; - - DBGSTART; - - /* end pixel - start pixel */ - pixels_per_line = dev->calib_pixels; - channels = dev->calib_channels; - - FREE_IFNOT_NULL (dev->dark_average_data); - - dev->average_size = channels * 2 * pixels_per_line; - - dev->dark_average_data = malloc (dev->average_size); - if (!dev->dark_average_data) - { - DBG (DBG_error, - "genesys_dark_shading_calibration: failed to allocate average memory\n"); - return SANE_STATUS_NO_MEM; - } - - /* size is size in bytes for scanarea: bytes_per_line * lines */ - size = channels * 2 * pixels_per_line * (dev->calib_lines + 1); - - calibration_data = malloc (size); - if (!calibration_data) - { - DBG (DBG_error, - "genesys_dark_shading_calibration: failed to allocate calibration data memory\n"); - return SANE_STATUS_NO_MEM; - } - - motor=SANE_TRUE; - if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE) - { - motor=SANE_FALSE; - } - - /* turn off motor and lamp power for flatbed scanners, but not for sheetfed scanners - * because they have a calibration sheet with a sufficient black strip */ - if (dev->model->is_sheetfed == SANE_FALSE) - { - dev->model->cmd_set->set_lamp_power (dev, dev->calib_reg, SANE_FALSE); - dev->model->cmd_set->set_motor_power (dev->calib_reg, motor); - } - else - { - dev->model->cmd_set->set_lamp_power (dev, dev->calib_reg, SANE_TRUE); - dev->model->cmd_set->set_motor_power (dev->calib_reg, motor); - } - - status = - dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, - dev->model-> - cmd_set->bulk_full_size ()); - if (status != SANE_STATUS_GOOD) - { - free (calibration_data); - DBG (DBG_error, - "genesys_dark_shading_calibration: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - usleep (200 * 1000); /* wait 200 ms: lamp needs some time to get dark */ - - status = dev->model->cmd_set->begin_scan (dev, dev->calib_reg, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - free (calibration_data); - DBG (DBG_error, - "genesys_dark_shading_calibration: Failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_read_data_from_scanner (dev, calibration_data, size); - if (status != SANE_STATUS_GOOD) - { - free (calibration_data); - DBG (DBG_error, - "genesys_dark_shading_calibration: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - status = dev->model->cmd_set->end_scan (dev, dev->calib_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (calibration_data); - DBG (DBG_error, - "genesys_dark_shading_calibration: failed to end scan: %s\n", - sane_strstatus (status)); - return status; - } - - genesys_average_data (dev->dark_average_data, calibration_data, - dev->calib_lines, - pixels_per_line * channels); - - if (DBG_LEVEL >= DBG_data) - { - sanei_genesys_write_pnm_file ("black_shading.pnm", calibration_data, 16, - channels, pixels_per_line, - dev->calib_lines); - sanei_genesys_write_pnm_file ("black_average.pnm", - dev->dark_average_data, 16, channels, - pixels_per_line, 1); - } - - free (calibration_data); - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -/* - * this function builds dummy dark calibration data so that we can - * compute shading coefficient in a clean way - * todo: current values are hardcoded, we have to find if they - * can be computed from previous calibration data (when doing offset - * calibration ?) - */ -static SANE_Status -genesys_dummy_dark_shading (Genesys_Device * dev) -{ - uint32_t pixels_per_line; - uint8_t channels; - uint32_t x, skip, xend; - int dummy1, dummy2, dummy3; /* dummy black average per channel */ - - DBGSTART; - - pixels_per_line = dev->calib_pixels; - channels = dev->calib_channels; - - FREE_IFNOT_NULL (dev->dark_average_data); - - dev->average_size = channels * 2 * pixels_per_line; - dev->dark_average_data = malloc (dev->average_size); - if (!dev->dark_average_data) - { - DBG (DBG_error, - "genesys_dummy_dark_shading: failed to allocate average memory\n"); - return SANE_STATUS_NO_MEM; - } - memset (dev->dark_average_data, 0x00, channels * 2 * pixels_per_line); - - /* we average values on 'the left' where CCD pixels are under casing and - give darkest values. We then use these as dummy dark calibration */ - if (dev->settings.xres <= dev->sensor.optical_res / 2) - { - skip = 4; - xend = 36; - } - else - { - skip = 4; - xend = 68; - } - if (dev->model->ccd_type==CCD_G4050 - || dev->model->ccd_type==CCD_CS4400F - || dev->model->ccd_type==CCD_CS8400F - || dev->model->ccd_type==CCD_KVSS080) - { - skip = 2; - xend = dev->sensor.black_pixels; - } - - /* average each channels on half left margin */ - dummy1 = 0; - dummy2 = 0; - dummy3 = 0; - - for (x = skip + 1; x <= xend; x++) - { - dummy1 += - dev->white_average_data[channels * 2 * x] + - 256 * dev->white_average_data[channels * 2 * x + 1]; - if (channels > 1) - { - dummy2 += - (dev->white_average_data[channels * 2 * x + 2] + - 256 * dev->white_average_data[channels * 2 * x + 3]); - dummy3 += - (dev->white_average_data[channels * 2 * x + 4] + - 256 * dev->white_average_data[channels * 2 * x + 5]); - } - } - - dummy1 /= (xend - skip); - if (channels > 1) - { - dummy2 /= (xend - skip); - dummy3 /= (xend - skip); - } - DBG (DBG_proc, - "genesys_dummy_dark_shading: dummy1=%d, dummy2=%d, dummy3=%d \n", - dummy1, dummy2, dummy3); - - /* fill dark_average */ - for (x = 0; x < pixels_per_line; x++) - { - dev->dark_average_data[channels * 2 * x] = dummy1 & 0xff; - dev->dark_average_data[channels * 2 * x + 1] = dummy1 >> 8; - if (channels > 1) - { - dev->dark_average_data[channels * 2 * x + 2] = dummy2 & 0xff; - dev->dark_average_data[channels * 2 * x + 3] = dummy2 >> 8; - dev->dark_average_data[channels * 2 * x + 4] = dummy3 & 0xff; - dev->dark_average_data[channels * 2 * x + 5] = dummy3 >> 8; - } - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -static SANE_Status -genesys_white_shading_calibration (Genesys_Device * dev) -{ - SANE_Status status; - size_t size; - uint32_t pixels_per_line; - uint8_t *calibration_data; - uint8_t channels; - SANE_Bool motor; - - DBG (DBG_proc, "genesys_white_shading_calibration (lines = %d)\n", - (unsigned int)dev->calib_lines); - - pixels_per_line = dev->calib_pixels; - channels = dev->calib_channels; - - if (dev->white_average_data) - free (dev->white_average_data); - - dev->white_average_data = malloc (channels * 2 * pixels_per_line); - if (!dev->white_average_data) - { - DBG (DBG_error, - "genesys_white_shading_calibration: failed to allocate average memory\n"); - return SANE_STATUS_NO_MEM; - } - - size = channels * 2 * pixels_per_line * (dev->calib_lines + 1); - - calibration_data = malloc (size); - if (!calibration_data) - { - DBG (DBG_error, - "genesys_white_shading_calibration: failed to allocate calibration memory\n"); - return SANE_STATUS_NO_MEM; - } - - motor=SANE_TRUE; - if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE) - { - motor=SANE_FALSE; - } - - /* turn on motor and lamp power */ - dev->model->cmd_set->set_lamp_power (dev, dev->calib_reg, SANE_TRUE); - dev->model->cmd_set->set_motor_power (dev->calib_reg, motor); - - /* if needed, go back before doin next scan, by using rewind, registers and - * slopes table are kept intact from previous scan */ - if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK && dev->model->cmd_set->rewind) - { - status = dev->model->cmd_set->rewind (dev); - } - - status = - dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, - dev->model-> - cmd_set->bulk_full_size ()); - if (status != SANE_STATUS_GOOD) - { - free (calibration_data); - DBG (DBG_error, - "genesys_white_shading_calibration: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) - usleep (500 * 1000); /* wait 500ms to make sure lamp is bright again */ - - status = dev->model->cmd_set->begin_scan (dev, dev->calib_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (calibration_data); - DBG (DBG_error, - "genesys_white_shading_calibration: Failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_read_data_from_scanner (dev, calibration_data, size); - if (status != SANE_STATUS_GOOD) - { - free (calibration_data); - DBG (DBG_error, - "genesys_white_shading_calibration: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - status = dev->model->cmd_set->end_scan (dev, dev->calib_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (calibration_data); - DBG (DBG_error, - "genesys_white_shading_calibration: failed to end scan: %s\n", - sane_strstatus (status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("white_shading.pnm", calibration_data, 16, - channels, pixels_per_line, - dev->calib_lines); - - genesys_average_data (dev->white_average_data, calibration_data, - dev->calib_lines, - pixels_per_line * channels); - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("white_average.pnm", - dev->white_average_data, 16, channels, - pixels_per_line, 1); - - free (calibration_data); - - /* in case we haven't done dark calibration, build dummy data from white_average */ - if (!(dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION)) - { - status = genesys_dummy_dark_shading (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_white_shading_calibration: failed to do dummy dark shading calibration: %s\n", - sane_strstatus (status)); - return status; - } - } - - if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) - { - status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE); - } - - DBGCOMPLETED; - - return status; -} - -/* This calibration uses a scan over the calibration target, comprising a - * black and a white strip. (So the motor must be on.) - */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -genesys_dark_white_shading_calibration (Genesys_Device * dev) -{ - SANE_Status status; - size_t size; - uint32_t pixels_per_line; - uint8_t *calibration_data, *average_white, *average_dark; - uint8_t channels; - unsigned int x; - int y; - uint32_t dark, white, dark_sum, white_sum, dark_count, white_count, col, - dif; - SANE_Bool motor; - - - DBG (DBG_proc, "%s: (lines = %d)\n", __func__, (unsigned int)dev->calib_lines); - - pixels_per_line = dev->calib_pixels; - channels = dev->calib_channels; - - if (dev->white_average_data) - free (dev->white_average_data); - - dev->average_size = channels * 2 * pixels_per_line; - - dev->white_average_data = malloc (dev->average_size); - if (!dev->white_average_data) - { - DBG (DBG_error, "%s: failed to allocate white average memory\n", __func__); - return SANE_STATUS_NO_MEM; - } - - if (dev->dark_average_data) - free (dev->dark_average_data); - - dev->dark_average_data = malloc (channels * 2 * pixels_per_line); - if (!dev->dark_average_data) - { - DBG (DBG_error, "%s: failed to allocate dark average memory\n", __func__); - return SANE_STATUS_NO_MEM; - } - - size = channels * 2 * pixels_per_line * dev->calib_lines; - - calibration_data = malloc (size); - if (!calibration_data) - { - DBG (DBG_error, "%s: failed to allocate calibration memory\n", __func__); - return SANE_STATUS_NO_MEM; - } - - motor=SANE_TRUE; - if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE) - { - motor=SANE_FALSE; - } - - /* turn on motor and lamp power */ - dev->model->cmd_set->set_lamp_power (dev, dev->calib_reg, SANE_TRUE); - dev->model->cmd_set->set_motor_power (dev->calib_reg, motor); - - status = - dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, - dev->model-> - cmd_set->bulk_full_size ()); - if (status != SANE_STATUS_GOOD) - { - free (calibration_data); - DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - status = dev->model->cmd_set->begin_scan (dev, dev->calib_reg, SANE_FALSE); - - if (status != SANE_STATUS_GOOD) - { - free (calibration_data); - DBG (DBG_error, "%s: failed to begin scan: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_read_data_from_scanner (dev, calibration_data, size); - if (status != SANE_STATUS_GOOD) - { - free (calibration_data); - DBG (DBG_error, "%s: failed to read data: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - status = dev->model->cmd_set->end_scan (dev, dev->calib_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (calibration_data); - DBG (DBG_error, "%s: Failed to end scan: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - if (dev->model->is_cis) - { - sanei_genesys_write_pnm_file ("black_white_shading.pnm", calibration_data, - 16, 1, pixels_per_line*channels, - dev->calib_lines); - } - else - { - sanei_genesys_write_pnm_file ("black_white_shading.pnm", calibration_data, - 16, channels, pixels_per_line, - dev->calib_lines); - } - } - - - average_white = dev->white_average_data; - average_dark = dev->dark_average_data; - - for (x = 0; x < pixels_per_line * channels; x++) - { - dark = 0xffff; - white = 0; - - for (y = 0; y < (int)dev->calib_lines; y++) - { - col = calibration_data[(x + y * pixels_per_line * channels) * 2]; - col |= - calibration_data[(x + y * pixels_per_line * channels) * 2 + - 1] << 8; - - if (col > white) - white = col; - if (col < dark) - dark = col; - } - - dif = white - dark; - - dark = dark + dif / 8; - white = white - dif / 8; - - dark_count = 0; - dark_sum = 0; - - white_count = 0; - white_sum = 0; - - for (y = 0; y < (int)dev->calib_lines; y++) - { - col = calibration_data[(x + y * pixels_per_line * channels) * 2]; - col |= - calibration_data[(x + y * pixels_per_line * channels) * 2 + - 1] << 8; - - if (col >= white) - { - white_sum += col; - white_count++; - } - if (col <= dark) - { - dark_sum += col; - dark_count++; - } - - } - - dark_sum /= dark_count; - white_sum /= white_count; - - *average_dark++ = dark_sum & 255; - *average_dark++ = dark_sum >> 8; - - *average_white++ = white_sum & 255; - *average_white++ = white_sum >> 8; - } - - if (DBG_LEVEL >= DBG_data) - { - sanei_genesys_write_pnm_file ("white_average.pnm", - dev->white_average_data, 16, channels, - pixels_per_line, 1); - sanei_genesys_write_pnm_file ("dark_average.pnm", - dev->dark_average_data, 16, channels, - pixels_per_line, 1); - } - - free (calibration_data); - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -/* computes one coefficient given bright-dark value - * @param coeff factor giving 1.00 gain - * @param target desired target code - * @param value brght-dark value - * */ -static unsigned int -compute_coefficient (unsigned int coeff, unsigned int target, unsigned int value) -{ - int result; - - if (value > 0) - { - result = (coeff * target) / value; - if (result >= 65535) - { - result = 65535; - } - } - else - { - result = coeff; - } - return result; -} - -/** @brief compute shading coefficients for LiDE scanners - * The dark/white shading is actually performed _after_ reducing - * resolution via averaging. only dark/white shading data for what would be - * first pixel at full resolution is used. - * - * scanner raw input to output value calculation: - * o=(i-off)*(gain/coeff) - * - * from datasheet: - * off=dark_average - * gain=coeff*bright_target/(bright_average-dark_average) - * works for dark_target==0 - * - * what we want is these: - * bright_target=(bright_average-off)*(gain/coeff) - * dark_target=(dark_average-off)*(gain/coeff) - * leading to - * off = (dark_average*bright_target - bright_average*dark_target)/(bright_target - dark_target) - * gain = (bright_target - dark_target)/(bright_average - dark_average)*coeff - * - * @param dev scanner's device - * @param shading_data memory area where to store the computed shading coefficients - * @param pixels_per_line number of pixels per line - * @param words_per_color memory words per color channel - * @param channels number of color channels (actually 1 or 3) - * @param o shading coefficients left offset - * @param coeff 4000h or 2000h depending on fast scan mode or not (GAIN4 bit) - * @param target_bright value of the white target code - * @param target_dark value of the black target code -*/ -#ifndef UNIT_TESTING -static -#endif -void -compute_averaged_planar (Genesys_Device * dev, - uint8_t * shading_data, - unsigned int pixels_per_line, - unsigned int words_per_color, - unsigned int channels, - unsigned int o, - unsigned int coeff, - unsigned int target_bright, - unsigned int target_dark) -{ - unsigned int x, i, j, br, dk, res, avgpixels, basepixels, val; - unsigned int fill,factor; - - DBG (DBG_info, "%s: pixels=%d, offset=%d\n", __func__, pixels_per_line, o); - - /* initialize result */ - memset (shading_data, 0xff, words_per_color * 3 * 2); - - /* - strangely i can write 0x20000 bytes beginning at 0x00000 without overwriting - slope tables - which begin at address 0x10000(for 1200dpi hw mode): - memory is organized in words(2 bytes) instead of single bytes. explains - quite some things - */ -/* - another one: the dark/white shading is actually performed _after_ reducing - resolution via averaging. only dark/white shading data for what would be - first pixel at full resolution is used. - */ -/* - scanner raw input to output value calculation: - o=(i-off)*(gain/coeff) - - from datasheet: - off=dark_average - gain=coeff*bright_target/(bright_average-dark_average) - works for dark_target==0 - - what we want is these: - bright_target=(bright_average-off)*(gain/coeff) - dark_target=(dark_average-off)*(gain/coeff) - leading to - off = (dark_average*bright_target - bright_average*dark_target)/(bright_target - dark_target) - gain = (bright_target - dark_target)/(bright_average - dark_average)*coeff - */ - res = dev->settings.xres; - - /* duplicate half-ccd logic */ - if ((dev->model->flags & GENESYS_FLAG_HALF_CCD_MODE) && - dev->settings.xres <= dev->sensor.optical_res / 2) - res *= 2; - - /* this should be evenly dividable */ - basepixels = dev->sensor.optical_res / res; - - /* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ - if (basepixels < 1) - avgpixels = 1; - else if (basepixels < 6) - avgpixels = basepixels; - else if (basepixels < 8) - avgpixels = 6; - else if (basepixels < 10) - avgpixels = 8; - else if (basepixels < 12) - avgpixels = 10; - else if (basepixels < 15) - avgpixels = 12; - else - avgpixels = 15; - - /* LiDE80 packs shading data */ - if(dev->model->ccd_type != CIS_CANONLIDE80) - { - factor=1; - fill=avgpixels; - } - else - { - factor=avgpixels; - fill=1; - } - - DBG (DBG_info, "%s: averaging over %d pixels\n", __func__, avgpixels); - DBG (DBG_info, "%s: packing factor is %d\n", __func__, factor); - DBG (DBG_info, "%s: fill length is %d\n", __func__, fill); - - for (x = 0; x <= pixels_per_line - avgpixels; x += avgpixels) - { - if ((x + o) * 2 * 2 + 3 > words_per_color * 2) - break; - - for (j = 0; j < channels; j++) - { - - dk = 0; - br = 0; - for (i = 0; i < avgpixels; i++) - { - /* dark data */ - dk += - (dev->dark_average_data[(x + i + - pixels_per_line * j) * - 2] | - (dev->dark_average_data - [(x + i + pixels_per_line * j) * 2 + 1] << 8)); - - /* white data */ - br += - (dev->white_average_data[(x + i + - pixels_per_line * j) * - 2] | - (dev->white_average_data - [(x + i + pixels_per_line * j) * 2 + 1] << 8)); - } - - br /= avgpixels; - dk /= avgpixels; - - if (br * target_dark > dk * target_bright) - val = 0; - else if (dk * target_bright - br * target_dark > - 65535 * (target_bright - target_dark)) - val = 65535; - else - { - val = (dk * target_bright - br * target_dark) / (target_bright - target_dark); - } - - /*fill all pixels, even if only the last one is relevant*/ - for (i = 0; i < fill; i++) - { - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j] = val & 0xff; - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 1] = val >> 8; - } - - val = br - dk; - - if (65535 * val > (target_bright - target_dark) * coeff) - { - val = (coeff * (target_bright - target_dark)) / val; - } - else - { - val = 65535; - } - - /*fill all pixels, even if only the last one is relevant*/ - for (i = 0; i < fill; i++) - { - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 2] = val & 0xff; - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 3] = val >> 8; - } - } - - /* fill remaining channels */ - for (j = channels; j < 3; j++) - { - for (i = 0; i < fill; i++) - { - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j ] = shading_data[(x/factor + o + i) * 2 * 2 ]; - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 1] = shading_data[(x/factor + o + i) * 2 * 2 + 1]; - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 2] = shading_data[(x/factor + o + i) * 2 * 2 + 2]; - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 3] = shading_data[(x/factor + o + i) * 2 * 2 + 3]; - } - } - } -} - -/** - * Computes shading coefficient using formula in data sheet. 16bit data values - * manipulated here are little endian. For now we assume deletion scanning type - * and that there is always 3 channels. - * @param dev scanner's device - * @param shading_data memory area where to store the computed shading coefficients - * @param pixels_per_line number of pixels per line - * @param channels number of color channels (actually 1 or 3) - * @param cmat color transposition matrix - * @param offset shading coefficients left offset - * @param coeff 4000h or 2000h depending on fast scan mode or not - * @param target value of the target code - */ -#ifndef UNIT_TESTING -static -#endif -void -compute_coefficients (Genesys_Device * dev, - uint8_t * shading_data, - unsigned int pixels_per_line, - unsigned int channels, - unsigned int cmat[3], - int offset, - unsigned int coeff, - unsigned int target) -{ - uint8_t *ptr; /* contain 16bit words in little endian */ - unsigned int x, c; - unsigned int val, br, dk; - unsigned int start, end; - - DBG (DBG_io, - "compute_coefficients: pixels_per_line=%d, coeff=0x%04x\n", pixels_per_line, coeff); - - /* compute start & end values depending of the offset */ - if (offset < 0) - { - start = -1 * offset; - end = pixels_per_line; - } - else - { - start = 0; - end = pixels_per_line - offset; - } - - for (c = 0; c < channels; c++) - { - for (x = start; x < end; x++) - { - /* TODO if channels=1 , use filter to know the base addr */ - ptr = shading_data + 4 * ((x + offset) * channels + cmat[c]); - - /* dark data */ - dk = dev->dark_average_data[x * 2 * channels + c * 2]; - dk += 256 * dev->dark_average_data[x * 2 * channels + c * 2 + 1]; - - /* white data */ - br = dev->white_average_data[x * 2 * channels + c * 2]; - br += 256 * dev->white_average_data[x * 2 * channels + c * 2 + 1]; - - /* compute coeff */ - val=compute_coefficient(coeff,target,br-dk); - - /* assign it */ - ptr[0] = dk & 255; - ptr[1] = dk / 256; - ptr[2] = val & 0xff; - ptr[3] = val / 256; - - } - } -} - -/** - * Computes shading coefficient using formula in data sheet. 16bit data values - * manipulated here are little endian. Data is in planar form, ie grouped by - * lines of the same color component. - * @param dev scanner's device - * @param shading_data memory area where to store the computed shading coefficients - * @param factor averaging factor when the calibration scan is done at a higher resolution - * than the final scan - * @param pixels_per_line number of pixels per line - * @param words_per_color total number of shading data words for one color element - * @param channels number of color channels (actually 1 or 3) - * @param cmat transcoding matrix for color channel order - * @param offset shading coefficients left offset - * @param coeff 4000h or 2000h depending on fast scan mode or not - * @param target white target value - */ -#ifndef UNIT_TESTING -static -#endif -void -compute_planar_coefficients (Genesys_Device * dev, - uint8_t * shading_data, - unsigned int factor, - unsigned int pixels_per_line, - unsigned int words_per_color, - unsigned int channels, - unsigned int cmat[3], - unsigned int offset, - unsigned int coeff, - unsigned int target) -{ - uint8_t *ptr; /* contains 16bit words in little endian */ - uint32_t x, c, i; - uint32_t val, dk, br; - - DBG (DBG_io, - "compute_planar_coefficients: factor=%d, pixels_per_line=%d, words=0x%X, coeff=0x%04x\n", factor, - pixels_per_line, words_per_color, coeff); - for (c = 0; c < channels; c++) - { - /* shading data is larger than pixels_per_line so offset can be neglected */ - for (x = 0; x < pixels_per_line; x+=factor) - { - /* x2 because of 16 bit values, and x2 since one coeff for dark - * and another for white */ - ptr = shading_data + words_per_color * cmat[c] * 2 + (x + offset) * 4; - - dk = 0; - br = 0; - - /* average case */ - for(i=0;idark_average_data[((x+i) + pixels_per_line * c) * 2 + 1]; - dk += dev->dark_average_data[((x+i) + pixels_per_line * c) * 2]; - br += - 256 * dev->white_average_data[((x+i) + pixels_per_line * c) * 2 + 1]; - br += dev->white_average_data[((x+i) + pixels_per_line * c) * 2]; - } - dk /= factor; - br /= factor; - - val = compute_coefficient (coeff, target, br - dk); - - /* we duplicate the information to have calibration data at optical resolution */ - for (i = 0; i < factor; i++) - { - ptr[0 + 4 * i] = dk & 255; - ptr[1 + 4 * i] = dk / 256; - ptr[2 + 4 * i] = val & 0xff; - ptr[3 + 4 * i] = val / 256; - } - } - } - /* in case of gray level scan, we duplicate shading information on all - * three color channels */ - if(channels==1) - { - memcpy(shading_data+cmat[1]*2*words_per_color, - shading_data+cmat[0]*2*words_per_color, - words_per_color*2); - memcpy(shading_data+cmat[2]*2*words_per_color, - shading_data+cmat[0]*2*words_per_color, - words_per_color*2); - } -} - -#ifndef UNIT_TESTING -static -#endif -void -compute_shifted_coefficients (Genesys_Device * dev, - uint8_t * shading_data, - unsigned int pixels_per_line, - unsigned int channels, - unsigned int cmat[3], - int offset, - unsigned int coeff, - unsigned int target_dark, - unsigned int target_bright, - unsigned int patch_size) /* contigous extent */ -{ - unsigned int x, avgpixels, basepixels, i, j, val1, val2; - unsigned int br_tmp [3], dk_tmp [3]; - uint8_t *ptr = shading_data + offset * 3 * 4; /* contain 16bit words in little endian */ - unsigned int patch_cnt = offset * 3; /* at start, offset of first patch */ - - x = dev->settings.xres; - if ((dev->model->flags & GENESYS_FLAG_HALF_CCD_MODE) && - (dev->settings.xres <= dev->sensor.optical_res / 2)) - x *= 2; /* scanner is using half-ccd mode */ - basepixels = dev->sensor.optical_res / x; /*this should be evenly dividable */ - - /* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ - if (basepixels < 1) - avgpixels = 1; - else if (basepixels < 6) - avgpixels = basepixels; - else if (basepixels < 8) - avgpixels = 6; - else if (basepixels < 10) - avgpixels = 8; - else if (basepixels < 12) - avgpixels = 10; - else if (basepixels < 15) - avgpixels = 12; - else - avgpixels = 15; - DBG (DBG_info, "compute_shifted_coefficients: pixels_per_line=%d, coeff=0x%04x, averaging over %d pixels\n", pixels_per_line, coeff, avgpixels); - - for (x = 0; x <= pixels_per_line - avgpixels; x += avgpixels) { - memset (&br_tmp, 0, sizeof(br_tmp)); - memset (&dk_tmp, 0, sizeof(dk_tmp)); - - for (i = 0; i < avgpixels; i++) { - for (j = 0; j < channels; j++) { - br_tmp[j] += (dev->white_average_data[((x + i) * channels + j) * 2] | - (dev->white_average_data[((x + i) * channels + j) * 2 + 1] << 8)); - dk_tmp[i] += (dev->dark_average_data[((x + i) * channels + j) * 2] | - (dev->dark_average_data[((x + i) * channels + j) * 2 + 1] << 8)); - } - } - for (j = 0; j < channels; j++) { - br_tmp[j] /= avgpixels; - dk_tmp[j] /= avgpixels; - - if (br_tmp[j] * target_dark > dk_tmp[j] * target_bright) - val1 = 0; - else if (dk_tmp[j] * target_bright - br_tmp[j] * target_dark > 65535 * (target_bright - target_dark)) - val1 = 65535; - else - val1 = (dk_tmp[j] * target_bright - br_tmp[j] * target_dark) / (target_bright - target_dark); - - val2 = br_tmp[j] - dk_tmp[j]; - if (65535 * val2 > (target_bright - target_dark) * coeff) - val2 = (coeff * (target_bright - target_dark)) / val2; - else - val2 = 65535; - - br_tmp[j] = val1; - dk_tmp[j] = val2; - } - for (i = 0; i < avgpixels; i++) { - for (j = 0; j < channels; j++) { - * ptr++ = br_tmp[ cmat[j] ] & 0xff; - * ptr++ = br_tmp[ cmat[j] ] >> 8; - * ptr++ = dk_tmp[ cmat[j] ] & 0xff; - * ptr++ = dk_tmp[ cmat[j] ] >> 8; - patch_cnt++; - if (patch_cnt == patch_size) { - patch_cnt = 0; - val1 = cmat[2]; - cmat[2] = cmat[1]; - cmat[1] = cmat[0]; - cmat[0] = val1; - } - } - } - } -} - -GENESYS_STATIC SANE_Status -genesys_send_shading_coefficient (Genesys_Device * dev) -{ - SANE_Status status; - uint32_t pixels_per_line; - uint8_t *shading_data; /**> contains 16bit words in little endian */ - uint8_t channels; - int o; - unsigned int length; /**> number of shading calibration data words */ - unsigned int factor; - unsigned int cmat[3]; /**> matrix of color channels */ - unsigned int coeff, target_code, words_per_color = 0; - - DBGSTART; - - pixels_per_line = dev->calib_pixels; - channels = dev->calib_channels; - - /* we always build data for three channels, even for gray - * we make the shading data such that each color channel data line is contiguous - * to the next one, which allow to write the 3 channels in 1 write - * during genesys_send_shading_coefficient, some values are words, other bytes - * hence the x2 factor */ - switch (sanei_genesys_read_reg_from_set (dev->reg, 0x05) >> 6) - { - /* 600 dpi */ - case 0: - words_per_color = 0x2a00; - break; - /* 1200 dpi */ - case 1: - words_per_color = 0x5500; - break; - /* 2400 dpi */ - case 2: - words_per_color = 0xa800; - break; - /* 4800 dpi */ - case 3: - words_per_color = 0x15000; - break; - } - - /* special case, memory is aligned on 0x5400, this has yet to be explained */ - /* could be 0xa800 because sensor is truly 2400 dpi, then halved because - * we only set 1200 dpi */ - if(dev->model->ccd_type==CIS_CANONLIDE80) - { - words_per_color = 0x5400; - } - - length = words_per_color * 3 * 2; - - /* allocate computed size */ - shading_data = malloc (length); - if (!shading_data) - { - DBG (DBG_error, "%s: failed to allocate memory\n", __func__); - return SANE_STATUS_NO_MEM; - } - memset (shading_data, 0, length); - - /* TARGET/(Wn-Dn) = white gain -> ~1.xxx then it is multiplied by 0x2000 - or 0x4000 to give an integer - Wn = white average for column n - Dn = dark average for column n - */ - if (dev->model->cmd_set->get_gain4_bit (dev->calib_reg)) - coeff = 0x4000; - else - coeff = 0x2000; - - /* compute avg factor */ - if(dev->settings.xres>dev->sensor.optical_res) - { - factor=1; - } - else - { - factor=dev->sensor.optical_res/dev->settings.xres; - } - - /* for GL646, shading data is planar if REG01_FASTMOD is set and - * chunky if not. For now we rely on the fact that we know that - * each sensor is used only in one mode. Currently only the CIS_XP200 - * sets REG01_FASTMOD. - */ - - /* TODO setup a struct in genesys_devices that - * will handle these settings instead of having this switch growing up */ - cmat[0] = 0; - cmat[1] = 1; - cmat[2] = 2; - switch (dev->model->ccd_type) - { - case CCD_XP300: - case CCD_ROADWARRIOR: - case CCD_DP665: - case CCD_DP685: - case CCD_DSMOBILE600: - target_code = 0xdc00; - o = 4; - compute_planar_coefficients (dev, - shading_data, - factor, - pixels_per_line, - words_per_color, - channels, - cmat, - o, - coeff, - target_code); - break; - case CIS_XP200: - target_code = 0xdc00; - o = 2; - cmat[0] = 2; /* red is last */ - cmat[1] = 0; /* green is first */ - cmat[2] = 1; /* blue is second */ - compute_planar_coefficients (dev, - shading_data, - 1, - pixels_per_line, - words_per_color, - channels, - cmat, - o, - coeff, - target_code); - break; - case CCD_HP2300: - target_code = 0xdc00; - o = 2; - if(dev->settings.xres<=dev->sensor.optical_res/2) - { - o = o - dev->sensor.dummy_pixel / 2; - } - compute_coefficients (dev, - shading_data, - pixels_per_line, - 3, - cmat, - o, - coeff, - target_code); - break; - case CCD_5345: - target_code = 0xe000; - o = 4; - if(dev->settings.xres<=dev->sensor.optical_res/2) - { - o = o - dev->sensor.dummy_pixel; - } - compute_coefficients (dev, - shading_data, - pixels_per_line, - 3, - cmat, - o, - coeff, - target_code); - break; - case CCD_HP3670: - case CCD_HP2400: - target_code = 0xe000; - /* offset is cksel dependent, but we can't use this in common code */ - if(dev->settings.xres<=300) - { - o = -10; /* OK for <=300 */ - } - else if(dev->settings.xres<=600) - { - o = -6; /* ok at 600 */ - } - else - { - o = +2; - } - compute_coefficients (dev, - shading_data, - pixels_per_line, - 3, - cmat, - o, - coeff, - target_code); - break; - case CCD_KVSS080: - case CCD_PLUSTEK3800: - case CCD_G4050: - case CCD_CS4400F: - case CCD_CS8400F: - target_code = 0xe000; - o = 0; - compute_coefficients (dev, - shading_data, - pixels_per_line, - 3, - cmat, - o, - coeff, - target_code); - break; - case CIS_CANONLIDE700: - case CIS_CANONLIDE100: - case CIS_CANONLIDE200: - case CIS_CANONLIDE110: - case CIS_CANONLIDE120: - case CIS_CANONLIDE210: - case CIS_CANONLIDE220: - /* TODO store this in a data struct so we avoid - * growing this switch */ - if(dev->model->ccd_type!=CIS_CANONLIDE110 - && dev->model->ccd_type!=CIS_CANONLIDE210 - && dev->model->ccd_type!=CIS_CANONLIDE120 - && dev->model->ccd_type!=CIS_CANONLIDE220) - target_code=0xdc00; - else - target_code=0xf000; - words_per_color=pixels_per_line*2; - length = words_per_color * 3 * 2; - free(shading_data); - shading_data = malloc (length); - if (!shading_data) - { - DBG (DBG_error, "%s: failed to allocate memory\n", __func__); - return SANE_STATUS_NO_MEM; - } - memset (shading_data, 0, length); - compute_planar_coefficients (dev, - shading_data, - 1, - pixels_per_line, - words_per_color, - channels, - cmat, - 0, - coeff, - target_code); - break; - case CCD_CANONLIDE35: - compute_averaged_planar (dev, - shading_data, - pixels_per_line, - words_per_color, - channels, - 4, - coeff, - 0xe000, - 0x0a00); - break; - case CIS_CANONLIDE80: - compute_averaged_planar (dev, - shading_data, - pixels_per_line, - words_per_color, - channels, - 0, - coeff, - 0xd000, - 0x0800); - break; - case CCD_PLUSTEK_3600: - compute_shifted_coefficients (dev, - shading_data, - pixels_per_line, - channels, - cmat, - 12, /* offset */ - coeff, - 0x0001, /* target_dark */ - 0xf900, /* target_bright */ - 256); /* patch_size: contigous extent */ - break; - default: - DBG (DBG_error, "%s: sensor %d not supported\n", __func__, dev->model->ccd_type); - return SANE_STATUS_UNSUPPORTED; - break; - } - - /* do the actual write of shading calibration data to the scanner */ - status = genesys_send_offset_and_shading (dev, shading_data, length); - free (shading_data); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to send shading data: %s\n", __func__, - sane_strstatus (status)); - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** - * search calibration cache list for an entry matching required scan. - * If one is found, set device calibration with it - * @param dev scanner's device - * @return SANE_STATUS_UNSUPPORTED if no matching cache entry has been - * found, SANE_STATUS_GOOD if one has been found and used. - */ -static SANE_Status -genesys_restore_calibration (Genesys_Device * dev) -{ - SANE_Status status; - Genesys_Calibration_Cache *cache; - - DBGSTART; - - /* if no cache or no function to evaluate cache entry ther can be no match */ - if (!dev->model->cmd_set->is_compatible_calibration - || dev->calibration_cache == NULL) - return SANE_STATUS_UNSUPPORTED; - - /* we walk the link list of calibration cache in search for a - * matching one */ - for (cache = dev->calibration_cache; cache; cache = cache->next) - { - status = dev->model->cmd_set->is_compatible_calibration (dev, cache, SANE_FALSE); - /* SANE_STATUS_GOOD, a matching cache has been found - * so we use it to populate calibration data - */ - if (status == SANE_STATUS_GOOD) - { - memcpy (&dev->frontend, &cache->frontend, sizeof (dev->frontend)); - /* we don't restore the gamma fields */ - memcpy (dev->sensor.regs_0x10_0x1d, cache->sensor.regs_0x10_0x1d, 6); - free (dev->dark_average_data); - free (dev->white_average_data); - - dev->average_size = cache->average_size; - dev->calib_pixels = cache->calib_pixels; - dev->calib_channels = cache->calib_channels; - - dev->dark_average_data = (uint8_t *) malloc (cache->average_size); - dev->white_average_data = (uint8_t *) malloc (cache->average_size); - - if (!dev->dark_average_data || !dev->white_average_data) - return SANE_STATUS_NO_MEM; - - memcpy (dev->dark_average_data, - cache->dark_average_data, dev->average_size); - memcpy (dev->white_average_data, - cache->white_average_data, dev->average_size); - - - if(dev->model->cmd_set->send_shading_data==NULL) - { - status = genesys_send_shading_coefficient (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_restore_calibration: failed to send shading calibration coefficients: %s\n", - sane_strstatus (status)); - return status; - } - } - - DBG (DBG_proc, "genesys_restore_calibration: restored\n"); - return SANE_STATUS_GOOD; - } - - /* here status is either SANE_STATUS_UNSUPPORTED which mean tested cache - * entry doesn't match, or an fatal error */ - if (status != SANE_STATUS_UNSUPPORTED) - { - DBG (DBG_error, - "genesys_restore_calibration: fail while checking compatibility: %s\n", - sane_strstatus (status)); - return status; - } - } - DBG (DBG_proc, "genesys_restore_calibration: completed(nothing found)\n"); - return SANE_STATUS_UNSUPPORTED; -} - - -static SANE_Status -genesys_save_calibration (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_UNSUPPORTED; - Genesys_Calibration_Cache *cache = NULL; -#ifdef HAVE_SYS_TIME_H - struct timeval time; -#endif - - DBGSTART; - - if (!dev->model->cmd_set->is_compatible_calibration) - return SANE_STATUS_UNSUPPORTED; - - if (dev->calibration_cache != NULL) - { - for (cache = dev->calibration_cache; cache; cache = cache->next) - { - status = dev->model->cmd_set->is_compatible_calibration (dev, cache, SANE_TRUE); - if (status == SANE_STATUS_UNSUPPORTED) - { - continue; - } - else if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_save_calibration: fail while checking compatibility: %s\n", - sane_strstatus (status)); - return status; - } - break; - } - } - - /* if we found on overridable cache, we reuse it */ - if (cache) - { - free(cache->dark_average_data); - free(cache->white_average_data); - } - else - { - /* create a new cache entry and insert it in the linked list */ - cache = malloc (sizeof (Genesys_Calibration_Cache)); - if (!cache) - return SANE_STATUS_NO_MEM; - - memset (cache, 0, sizeof (Genesys_Calibration_Cache)); - - cache->next = dev->calibration_cache; - dev->calibration_cache = cache; - } - - cache->average_size = dev->average_size; - - cache->dark_average_data = (uint8_t *) malloc (cache->average_size); - if (!cache->dark_average_data) - return SANE_STATUS_NO_MEM; - cache->white_average_data = (uint8_t *) malloc (cache->average_size); - if (!cache->white_average_data) - return SANE_STATUS_NO_MEM; - - memcpy (&cache->used_setup, &dev->current_setup, sizeof (cache->used_setup)); - memcpy (&cache->frontend, &dev->frontend, sizeof (cache->frontend)); - memcpy (&cache->sensor, &dev->sensor, sizeof (cache->sensor)); - - cache->calib_pixels = dev->calib_pixels; - cache->calib_channels = dev->calib_channels; - memcpy (cache->dark_average_data, dev->dark_average_data, cache->average_size); - memcpy (cache->white_average_data, dev->white_average_data, cache->average_size); -#ifdef HAVE_SYS_TIME_H - gettimeofday(&time,NULL); - cache->last_calibration = time.tv_sec; -#endif - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * does the calibration process for a flatbed scanner - * - offset calibration - * - gain calibration - * - shading calibration - * @param dev device to calibrate - * @return SANE_STATUS_GOOD if everything when all right, else the error code. - */ -GENESYS_STATIC SANE_Status -genesys_flatbed_calibration (Genesys_Device * dev) -{ - SANE_Status status; - uint32_t pixels_per_line; - int yres; - - DBG (DBG_info, "genesys_flatbed_calibration\n"); - - yres = dev->sensor.optical_res; - if (dev->settings.yres <= dev->sensor.optical_res / 2) - yres /= 2; - - /* do offset calibration if needed */ - if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) - { - status = dev->model->cmd_set->offset_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: offset calibration failed: %s\n", - sane_strstatus (status)); - return status; - } - - /* since all the registers are set up correctly, just use them */ - status = dev->model->cmd_set->coarse_gain_calibration (dev, yres); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: coarse gain calibration: %s\n", - sane_strstatus (status)); - return status; - } - - } - else - /* since we have 2 gain calibration proc, skip second if first one was - used. */ - { - status = dev->model->cmd_set->init_regs_for_coarse_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: failed to send calibration registers: %s\n", - sane_strstatus (status)); - return status; - } - - status = genesys_coarse_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: failed to do coarse gain calibration: %s\n", - sane_strstatus (status)); - return status; - } - - } - - if (dev->model->is_cis) - { - /* the afe now sends valid data for doing led calibration */ - status = dev->model->cmd_set->led_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: led calibration failed: %s\n", - sane_strstatus (status)); - return status; - } - - /* calibrate afe again to match new exposure */ - if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) - { - status = dev->model->cmd_set->offset_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: offset calibration failed: %s\n", - sane_strstatus (status)); - return status; - } - - /* since all the registers are set up correctly, just use them */ - - status = dev->model->cmd_set->coarse_gain_calibration (dev, yres); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: coarse gain calibration: %s\n", - sane_strstatus (status)); - return status; - } - } - else - /* since we have 2 gain calibration proc, skip second if first one was - used. */ - { - status = - dev->model->cmd_set->init_regs_for_coarse_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: failed to send calibration registers: %s\n", - sane_strstatus (status)); - return status; - } - - status = genesys_coarse_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: failed to do static calibration: %s\n", - sane_strstatus (status)); - return status; - } - } - } - - /* we always use sensor pixel number when the ASIC can't handle multi-segments sensor */ - if (!(dev->model->flags & GENESYS_FLAG_SIS_SENSOR)) - { - pixels_per_line = (SANE_UNFIX (dev->model->x_size) * dev->settings.xres) / MM_PER_INCH; - } - else - { - pixels_per_line = dev->sensor.sensor_pixels; - } - - /* send default shading data */ - status = sanei_genesys_init_shading_data (dev, pixels_per_line); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: failed to init shading process: %s\n", - sane_strstatus (status)); - return status; - } - - /* shading calibration */ - status = dev->model->cmd_set->init_regs_for_shading (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "genesys_flatbed_calibration: failed to send shading " - "registers: %s\n", sane_strstatus (status)); - return status; - } - - if (dev->model->flags & GENESYS_FLAG_DARK_WHITE_CALIBRATION) - { - status = genesys_dark_white_shading_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: failed to do dark+white shading calibration: %s\n", - sane_strstatus (status)); - return status; - } - } - else - { - if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) - { - status = genesys_dark_shading_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: failed to do dark shading calibration: %s\n", - sane_strstatus (status)); - return status; - } - } - - status = genesys_white_shading_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: failed to do white shading calibration: %s\n", - sane_strstatus (status)); - return status; - } - } - - if(dev->model->cmd_set->send_shading_data==NULL) - { - status = genesys_send_shading_coefficient (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_flatbed_calibration: failed to send shading calibration coefficients: %s\n", - sane_strstatus (status)); - return status; - } - } - - DBG (DBG_info, "genesys_flatbed_calibration: completed\n"); - - return SANE_STATUS_GOOD; -} - -/** - * Does the calibration process for a sheetfed scanner - * - offset calibration - * - gain calibration - * - shading calibration - * During calibration a predefined calibration sheet with specific black and white - * areas is used. - * @param dev device to calibrate - * @return SANE_STATUS_GOOD if everything when all right, else the error code. - */ -static SANE_Status -genesys_sheetfed_calibration (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Bool forward = SANE_TRUE; - int xres; - - DBGSTART; - if (dev->model->cmd_set->search_strip == NULL) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: no strip searching function available\n"); - return SANE_STATUS_UNSUPPORTED; - } - - /* first step, load document */ - status = dev->model->cmd_set->load_document (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: failed to load document: %s\n", - sane_strstatus (status)); - return status; - } - - - DBG (DBG_info, "genesys_sheetfed_calibration\n"); - - /* led, offset and gain calibration are influenced by scan - * settings. So we set it to sensor resolution */ - xres = dev->sensor.optical_res; - dev->settings.xres = dev->sensor.optical_res; - /* XP200 needs to calibrate a full and half sensor's resolution */ - if (dev->model->ccd_type == CIS_XP200 - && dev->settings.xres <= dev->sensor.optical_res / 2) - dev->settings.xres /= 2; - - /* the afe needs to sends valid data even before calibration */ - - /* go to a white area */ - status = dev->model->cmd_set->search_strip (dev, forward, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: failed to find white strip: %s\n", - sane_strstatus (status)); - dev->model->cmd_set->eject_document (dev); - return status; - } - - if (dev->model->is_cis) - { - status = dev->model->cmd_set->led_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: led calibration failed: %s\n", - sane_strstatus (status)); - return status; - } - } - - /* calibrate afe */ - if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) - { - status = dev->model->cmd_set->offset_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: offset calibration failed: %s\n", - sane_strstatus (status)); - return status; - } - - /* since all the registers are set up correctly, just use them */ - - status = dev->model->cmd_set->coarse_gain_calibration (dev, xres); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: coarse gain calibration: %s\n", - sane_strstatus (status)); - return status; - } - } - else - /* since we have 2 gain calibration proc, skip second if first one was - used. */ - { - status = - dev->model->cmd_set->init_regs_for_coarse_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: failed to send calibration registers: %s\n", - sane_strstatus (status)); - return status; - } - - status = genesys_coarse_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: failed to do static calibration: %s\n", - sane_strstatus (status)); - return status; - } - } - - /* search for a full width black strip and then do a 16 bit scan to - * gather black shading data */ - if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) - { - /* seek black/white reverse/forward */ - status = dev->model->cmd_set->search_strip (dev, forward, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: failed to find black strip: %s\n", - sane_strstatus (status)); - dev->model->cmd_set->eject_document (dev); - return status; - } - - status = dev->model->cmd_set->init_regs_for_shading (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: failed to do set up registers for shading calibration: %s\n", - sane_strstatus (status)); - return status; - } - status = genesys_dark_shading_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - dev->model->cmd_set->eject_document (dev); - DBG (DBG_error, - "genesys_sheetfed_calibration: failed to do dark shading calibration: %s\n", - sane_strstatus (status)); - return status; - } - forward = SANE_FALSE; - } - - - /* go to a white area */ - status = dev->model->cmd_set->search_strip (dev, forward, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: failed to find white strip: %s\n", - sane_strstatus (status)); - dev->model->cmd_set->eject_document (dev); - return status; - } - - status = dev->model->cmd_set->init_regs_for_shading (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: failed to do set up registers for shading calibration: %s\n", - sane_strstatus (status)); - return status; - } - status = genesys_white_shading_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - dev->model->cmd_set->eject_document (dev); - DBG (DBG_error, "%s: failed eject target: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* in case we haven't black shading data, build it from black pixels - * of white calibration */ - if (!(dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION)) - { - FREE_IFNOT_NULL (dev->dark_average_data); - dev->dark_average_data = malloc (dev->average_size); - memset (dev->dark_average_data, 0x0f, dev->average_size); - /* XXX STEF XXX - * with black point in white shading, build an average black - * pixel and use it to fill the dark_average - * dev->calib_pixels - (dev->sensor.sensor_pixels * dev->settings.xres) / dev->sensor.optical_res, - dev->calib_lines, - */ - } - - /* send the shading coefficient when doing whole line shading - * but not when using SHDAREA like GL124 */ - if(dev->model->cmd_set->send_shading_data==NULL) - { - status = genesys_send_shading_coefficient (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: failed to send shading calibration coefficients: %s\n", - sane_strstatus (status)); - return status; - } - } - - /* save the calibration data */ - genesys_save_calibration (dev); - - /* and finally eject calibration sheet */ - status = dev->model->cmd_set->eject_document (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_sheetfed_calibration: failed to eject document: %s\n", - sane_strstatus (status)); - return status; - } - - /* resotre settings */ - dev->settings.xres = xres; - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * does the calibration process for a device - * @param dev device to calibrate - */ -static SANE_Status -genesys_scanner_calibration (Genesys_Device * dev) -{ - if (dev->model->is_sheetfed == SANE_FALSE) - { - return genesys_flatbed_calibration (dev); - } - return genesys_sheetfed_calibration (dev); -} - -/* unused function kept in case it may be usefull in the futur */ -#if 0 -static SANE_Status -genesys_wait_not_moving (Genesys_Device * dev, int mseconds) -{ - uint8_t value; - SANE_Status status; - - DBG (DBG_proc, - "genesys_wait_not_moving: waiting %d mseconds for motor to stop\n", - mseconds); - while (mseconds > 0) - { - RIE (sanei_genesys_get_status (dev, &value)); - - if (dev->model->cmd_set->test_motor_flag_bit (value)) - { - usleep (100 * 1000); - mseconds -= 100; - DBG (DBG_io, - "genesys_wait_not_moving: motor is moving, %d mseconds to go\n", - mseconds); - } - else - { - DBG (DBG_info, - "genesys_wait_not_moving: motor is not moving, exiting\n"); - return SANE_STATUS_GOOD; - } - - } - DBG (DBG_error, - "genesys_wait_not_moving: motor is still moving, timeout exceeded\n"); - return SANE_STATUS_DEVICE_BUSY; -} -#endif - - -/* ------------------------------------------------------------------------ */ -/* High level (exported) functions */ -/* ------------------------------------------------------------------------ */ - -/* - * wait lamp to be warm enough by scanning the same line until - * differences between two scans are below a threshold - */ -static SANE_Status -genesys_warmup_lamp (Genesys_Device * dev) -{ - uint8_t *first_line, *second_line; - int seconds = 0; - int pixel; - int channels, total_size; - double first_average = 0; - double second_average = 0; - int difference = 255; - int empty, lines = 3; - SANE_Status status = SANE_STATUS_IO_ERROR; - - DBGSTART; - - /* check if the current chipset implements warmup */ - if(dev->model->cmd_set->init_regs_for_warmup==NULL) - { - DBG (DBG_error, "%s: init_regs_for_warmup not implemented\n", __func__); - return status; - } - - dev->model->cmd_set->init_regs_for_warmup (dev, dev->reg, &channels, &total_size); - first_line = malloc (total_size); - if (!first_line) - return SANE_STATUS_NO_MEM; - - second_line = malloc (total_size); - if (!second_line) - { - free(first_line); - DBGCOMPLETED; - return SANE_STATUS_NO_MEM; - } - - do - { - DBG (DBG_info, "genesys_warmup_lamp: one more loop\n"); - RIEF2 (dev->model->cmd_set->begin_scan (dev, dev->reg, SANE_FALSE), first_line, second_line); - do - { - sanei_genesys_test_buffer_empty (dev, &empty); - } - while (empty); - - status = sanei_genesys_read_data_from_scanner (dev, first_line, total_size); - if (status != SANE_STATUS_GOOD) - { - RIEF2 (sanei_genesys_read_data_from_scanner - (dev, first_line, total_size), first_line, second_line); - } - - RIEF2 (dev->model->cmd_set->end_scan (dev, dev->reg, SANE_TRUE), first_line, second_line); - - sleep (1); /* sleep 1 s */ - seconds++; - - RIEF2 (dev->model->cmd_set->begin_scan (dev, dev->reg, SANE_FALSE), first_line, second_line); - do - { - sanei_genesys_test_buffer_empty (dev, &empty); - usleep (100 * 1000); - } - while (empty); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, second_line, total_size), first_line, second_line); - RIEF2 (dev->model->cmd_set->end_scan (dev, dev->reg, SANE_TRUE), first_line, second_line); - - /* compute difference between the two scans */ - for (pixel = 0; pixel < total_size; pixel++) - { - /* 16 bit data */ - if (dev->model->cmd_set->get_bitset_bit (dev->reg)) - { - first_average += (first_line[pixel] + first_line[pixel + 1] * 256); - second_average += (second_line[pixel] + second_line[pixel + 1] * 256); - pixel++; - } - else - { - first_average += first_line[pixel]; - second_average += second_line[pixel]; - } - } - if (dev->model->cmd_set->get_bitset_bit (dev->reg)) - { - first_average /= pixel; - second_average /= pixel; - difference = fabs (first_average - second_average); - DBG (DBG_info, - "genesys_warmup_lamp: average = %.2f, diff = %.3f\n", - 100 * ((second_average) / (256 * 256)), - 100 * (difference / second_average)); - - if (second_average > (100 * 256) - && (difference / second_average) < 0.002) - break; - } - else - { - first_average /= pixel; - second_average /= pixel; - if (DBG_LEVEL >= DBG_data) - { - sanei_genesys_write_pnm_file ("warmup1.pnm", first_line, 8, - channels, - total_size / (lines * channels), - lines); - sanei_genesys_write_pnm_file ("warmup2.pnm", second_line, 8, - channels, - total_size / (lines * channels), - lines); - } - DBG (DBG_info, "genesys_warmup_lamp: average 1 = %.2f, average 2 = %.2f\n", first_average, second_average); - /* if delta below 15/255 ~= 5.8%, lamp is considred warm enough */ - if (fabs (first_average - second_average) < 15 - && second_average > 55) - break; - } - - /* sleep another second before next loop */ - sleep (1); - seconds++; - } - while (seconds < WARMUP_TIME); - - if (seconds >= WARMUP_TIME) - { - DBG (DBG_error, - "genesys_warmup_lamp: warmup timed out after %d seconds. Lamp defective?\n", - seconds); - status = SANE_STATUS_IO_ERROR; - } - else - { - DBG (DBG_info, - "genesys_warmup_lamp: warmup succeeded after %d seconds\n", - seconds); - } - - free (first_line); - free (second_line); - - DBGCOMPLETED; - - return status; -} - - -/* High-level start of scanning */ -static SANE_Status -genesys_start_scan (Genesys_Device * dev, SANE_Bool lamp_off) -{ - SANE_Status status; - unsigned int steps, expected; - SANE_Bool empty; - - DBGSTART; - - /* since not all scanners are set ot wait for head to park - * we check we are not still parking before starting a new scan */ - if (dev->parking == SANE_TRUE) - { - status = sanei_genesys_wait_for_home (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to wait for head to park: %s\n", - sane_strstatus (status)); - return status; - } - } - - /* disable power saving*/ - status = dev->model->cmd_set->save_power (dev, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to disable power saving mode: %s\n", - sane_strstatus (status)); - return status; - } - - /* wait for lamp warmup : until a warmup for TRANSPARENCY is designed, skip - * it when scanning from XPA. */ - if (!(dev->model->flags & GENESYS_FLAG_SKIP_WARMUP) - && (dev->settings.scan_method == SCAN_METHOD_FLATBED)) - { - RIE (genesys_warmup_lamp (dev)); - } - - /* set top left x and y values by scanning the internals if flatbed scanners */ - if (dev->model->is_sheetfed == SANE_FALSE) - { - /* do the geometry detection only once */ - if ((dev->model->flags & GENESYS_FLAG_SEARCH_START) - && (dev->model->y_offset_calib == 0)) - { - status = dev->model->cmd_set->search_start_position (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to search start position: %s\n", - sane_strstatus (status)); - return status; - } - - dev->parking = SANE_FALSE; - status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to move scanhead to " - "home position: %s\n", sane_strstatus (status)); - return status; - } - dev->scanhead_position_in_steps = 0; - } - else - { - /* Go home */ - /* TODO: check we can drop this since we cannot have the - scanner's head wandering here */ - dev->parking = SANE_FALSE; - status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to move scanhead to " - "home position: %s\n", sane_strstatus (status)); - return status; - } - dev->scanhead_position_in_steps = 0; - } - } - - /* move to calibration area for transparency adapter */ - if ((dev->settings.scan_method == SCAN_METHOD_TRANSPARENCY) - && dev->model->cmd_set->move_to_ta != NULL) - { - status=dev->model->cmd_set->move_to_ta(dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to move to start of transparency adapter: %s\n", - sane_strstatus (status)); - return status; - } - } - - /* load document if needed (for sheetfed scanner for instance) */ - if (dev->model->is_sheetfed == SANE_TRUE - && dev->model->cmd_set->load_document != NULL) - { - status = dev->model->cmd_set->load_document (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to load document: %s\n", - sane_strstatus (status)); - return status; - } - } - - /* send gamma tables. They have been set to device or user value - * when setting option value */ - status = dev->model->cmd_set->send_gamma_table (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to init gamma table: %s\n", - sane_strstatus (status)); - return status; - } - - /* try to use cached calibration first */ - status = genesys_restore_calibration (dev); - if (status == SANE_STATUS_UNSUPPORTED) - { - /* calibration : sheetfed scanners can't calibrate before each scan */ - /* and also those who have the NO_CALIBRATION flag */ - if (!(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION) - &&dev->model->is_sheetfed == SANE_FALSE) - { - status = genesys_scanner_calibration (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to do scanner calibration: %s\n", - sane_strstatus (status)); - return status; - } - - genesys_save_calibration (dev); - } - else - { - DBG (DBG_warn, "genesys_start_scan: no calibration done\n"); - } - } - else if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to restore calibration: %s\n", - sane_strstatus (status)); - return status; - } - - /* build look up table for dynamic lineart */ - if(dev->settings.dynamic_lineart==SANE_TRUE) - { - status = sanei_genesys_load_lut(dev->lineart_lut, 8, 8, 50, 205, - dev->settings.threshold_curve, - dev->settings.threshold-127); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "genesys_start_scan: failed to build lut\n"); - return status; - } - } - - status = dev->model->cmd_set->init_regs_for_scan (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to do init registers for scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* no lamp during scan */ - if(lamp_off == SANE_TRUE) - { - dev->model->cmd_set->set_lamp_power (dev, dev->reg, SANE_FALSE); - } - - /* GL124 is using SHDAREA, so we have to wait for scan to be set up before - * sending shading data */ - if( (dev->model->cmd_set->send_shading_data!=NULL) - && !(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) - { - status = genesys_send_shading_coefficient (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to send shading calibration coefficients: %s\n", - sane_strstatus (status)); - return status; - } - } - - /* now send registers for scan */ - status = - dev->model->cmd_set->bulk_write_register (dev, dev->reg, - dev->model-> - cmd_set->bulk_full_size ()); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to bulk write registers, status = %d\n", - status); - return status; - } - - /* start effective scan */ - status = dev->model->cmd_set->begin_scan (dev, dev->reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to begin scan: %s\n", - sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - - /*do we really need this? the valid data check should be sufficent -- pierre*/ - /* waits for head to reach scanning position */ - expected = sanei_genesys_read_reg_from_set (dev->reg, 0x3d) * 65536 - + sanei_genesys_read_reg_from_set (dev->reg, 0x3e) * 256 - + sanei_genesys_read_reg_from_set (dev->reg, 0x3f); - do - { - /* wait 1/10th of second between each test to avoid - overloading USB and CPU */ - usleep (100 * 1000); - status = sanei_genesys_read_feed_steps (dev, &steps); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: Failed to read feed steps: %s\n", - sane_strstatus (status)); - return status; - } - } - while (steps < expected); - - /* wait for buffers to be filled */ - do - { - RIE (sanei_genesys_test_buffer_empty (dev, &empty)); - } - while (empty); - - /* when doing one or two-table movement, let the motor settle to scanning speed */ - /* and scanning start before reading data */ -/* the valid data check already waits until the scanner delivers data. this here leads to unnecessary buffer full conditions in the scanner. - if (dev->model->cmd_set->get_fast_feed_bit (dev->reg)) - usleep (1000 * 1000); - else - usleep (500 * 1000); -*/ - /* then we wait for at least one word of valid scan data - - this is also done in sanei_genesys_read_data_from_scanner -- pierre */ - if (dev->model->is_sheetfed == SANE_FALSE) - { - do - { - usleep (100 * 1000); - status = sanei_genesys_read_valid_words (dev, &steps); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: failed to read valid words: %s\n", - sane_strstatus (status)); - return status; - } - } - while (steps < 1); - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* this is _not_ a ringbuffer. - if we need a block which does not fit at the end of our available data, - we move the available data to the beginning. - */ - -SANE_Status -sanei_genesys_buffer_alloc (Genesys_Buffer * buf, size_t size) -{ - buf->buffer = (SANE_Byte *) malloc (size); - if (!buf->buffer) - return SANE_STATUS_NO_MEM; - buf->avail = 0; - buf->pos = 0; - buf->size = size; - return SANE_STATUS_GOOD; -} - -SANE_Status -sanei_genesys_buffer_free (Genesys_Buffer * buf) -{ - SANE_Byte *tmp = buf->buffer; - buf->avail = 0; - buf->size = 0; - buf->pos = 0; - buf->buffer = NULL; - if (tmp) - free (tmp); - return SANE_STATUS_GOOD; -} - -SANE_Byte * -sanei_genesys_buffer_get_write_pos (Genesys_Buffer * buf, size_t size) -{ - if (buf->avail + size > buf->size) - return NULL; - if (buf->pos + buf->avail + size > buf->size) - { - memmove (buf->buffer, buf->buffer + buf->pos, buf->avail); - buf->pos = 0; - } - return buf->buffer + buf->pos + buf->avail; -} - -SANE_Byte * -sanei_genesys_buffer_get_read_pos (Genesys_Buffer * buf) -{ - return buf->buffer + buf->pos; -} - -SANE_Status -sanei_genesys_buffer_produce (Genesys_Buffer * buf, size_t size) -{ - if (size > buf->size - buf->avail) - return SANE_STATUS_INVAL; - buf->avail += size; - return SANE_STATUS_GOOD; -} - -SANE_Status -sanei_genesys_buffer_consume (Genesys_Buffer * buf, size_t size) -{ - if (size > buf->avail) - return SANE_STATUS_INVAL; - buf->avail -= size; - buf->pos += size; - return SANE_STATUS_GOOD; -} - - -#include "genesys_conv.c" - -static SANE_Status accurate_line_read(Genesys_Device * dev, - SANE_Byte *buffer, - size_t size) -{ - SANE_Status status; - status = dev->model->cmd_set->bulk_read_data (dev, 0x45, buffer, size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "accurate_line_read: failed to read %lu bytes (%s)\n", - (u_long) size, sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - - /* done reading */ - dev->oe_buffer.avail = size; - dev->oe_buffer.pos = 0; - return status; -} - -/** @brief fill buffer while reducing vertical resolution - * This function fills a read buffer with scanned data from a sensor - * which puts odd and even pixels in 2 different data segment. So a complete - * must be read and bytes interleaved to get usable by the other stages - * of the backend - */ -static SANE_Status -genesys_fill_line_interp_buffer (Genesys_Device * dev, uint8_t *work_buffer_dst, size_t size) -{ - size_t count; - SANE_Status status; - - /* fill buffer if needed */ - if (dev->oe_buffer.avail == 0) - { - status = accurate_line_read(dev,dev->oe_buffer.buffer,dev->oe_buffer.size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read %lu bytes (%s)\n", __func__, - (u_long) dev->oe_buffer.size, sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - } - - /* copy size bytes of data, copying from a line when line count matches */ - count = 0; - while (count < size) - { - /* line counter */ - /* dev->line_interp holds the number of lines scanned for one line of data sent */ - if(((dev->line_count/dev->current_setup.channels) % dev->line_interp)==0) - { - /* copy pixel when line matches */ - work_buffer_dst[count] = dev->oe_buffer.buffer[dev->cur + dev->oe_buffer.pos]; - count++; - } - - /* always update pointer so we skip uncopied data */ - dev->cur++; - - /* go to next line if needed */ - if (dev->cur == dev->len) - { - dev->oe_buffer.pos += dev->bpl; - dev->cur = 0; - dev->line_count++; - } - - /* read a new buffer if needed */ - if (dev->oe_buffer.pos >= dev->oe_buffer.avail) - { - status = accurate_line_read(dev,dev->oe_buffer.buffer,dev->oe_buffer.size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read %lu bytes (%s)\n", __func__, - (u_long) dev->oe_buffer.size, sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - } - } - - return SANE_STATUS_GOOD; -} - -/** @brief fill buffer for segmented sensors - * This function fills a read buffer with scanned data from a sensor segmented - * in several parts (multi-lines sensors). Data of the same valid area is read - * back to back and must be interleaved to get usable by the other stages - * of the backend - */ -static SANE_Status -genesys_fill_segmented_buffer (Genesys_Device * dev, uint8_t *work_buffer_dst, size_t size) -{ - size_t count; - SANE_Status status; - int depth,i,n,k; - - depth = dev->settings.depth; - if (dev->settings.scan_mode == SCAN_MODE_LINEART && dev->settings.dynamic_lineart==SANE_FALSE) - depth = 1; - - /* fill buffer if needed */ - if (dev->oe_buffer.avail == 0) - { - status = accurate_line_read(dev,dev->oe_buffer.buffer,dev->oe_buffer.size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read %lu bytes (%s)\n", __func__, - (u_long) dev->oe_buffer.size, sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - } - - /* copy size bytes of data, copying from a subwindow of each line - * when last line of buffer is exhausted, read another one */ - count = 0; - while (count < size) - { - if(dev->settings.double_xres==SANE_TRUE) - { - /* copy only even pixel */ - work_buffer_dst[count] = dev->oe_buffer.buffer[dev->cur + dev->oe_buffer.pos]; - /* update counter and pointer */ - count++; - dev->cur++; - } - else - { - if(depth==1) - { - while (dev->cur < dev->len && count < size) - { - for(n=0;nsegnb;n++) - { - work_buffer_dst[count+n] = 0; - } - /* interleaving is at bit level */ - for(i=0;i<8;i++) - { - k=count+(i*dev->segnb)/8; - for(n=0;nsegnb;n++) - { - work_buffer_dst[k] = work_buffer_dst[k] << 1; - if((dev->oe_buffer.buffer[dev->cur + dev->skip + dev->dist*dev->order[n] + dev->oe_buffer.pos])&(128>>i)) - { - work_buffer_dst[k] |= 1; - } - } - } - - /* update counter and pointer */ - count += dev->segnb; - dev->cur++; - } - } - if(depth==8) - { - while (dev->cur < dev->len && count < size) - { - for(n=0;nsegnb;n++) - { - work_buffer_dst[count+n] = dev->oe_buffer.buffer[dev->cur + dev->skip + dev->dist*dev->order[n] + dev->oe_buffer.pos]; - } - /* update counter and pointer */ - count += dev->segnb; - dev->cur++; - } - } - if(depth==16) - { - while (dev->cur < dev->len && count < size) - { - for(n=0;nsegnb;n++) - { - work_buffer_dst[count+n*2] = dev->oe_buffer.buffer[dev->cur + dev->skip + dev->dist*dev->order[n] + dev->oe_buffer.pos]; - work_buffer_dst[count+n*2+1] = dev->oe_buffer.buffer[dev->cur + dev->skip + dev->dist*dev->order[n] + dev->oe_buffer.pos+1]; - } - /* update counter and pointer */ - count += dev->segnb*2; - dev->cur+=2; - } - } - } - - /* go to next line if needed */ - if (dev->cur == dev->len) - { - dev->oe_buffer.pos += dev->bpl; - dev->cur = 0; - } - - /* read a new buffer if needed */ - if (dev->oe_buffer.pos >= dev->oe_buffer.avail) - { - status = accurate_line_read(dev,dev->oe_buffer.buffer,dev->oe_buffer.size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read %lu bytes (%s)\n", __func__, - (u_long) dev->oe_buffer.size, sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - } - } - - return SANE_STATUS_GOOD; -} - -/** - * - */ -static SANE_Status -genesys_fill_read_buffer (Genesys_Device * dev) -{ - size_t size; - size_t space; - SANE_Status status; - uint8_t *work_buffer_dst; - - DBGSTART; - - /* for sheetfed scanner, we must check is document is shorter than - * the requested scan */ - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = dev->model->cmd_set->detect_document_end (dev); - if (status != SANE_STATUS_GOOD) - return status; - } - - space = dev->read_buffer.size - dev->read_buffer.avail; - - work_buffer_dst = sanei_genesys_buffer_get_write_pos (&(dev->read_buffer), - space); - - size = space; - - /* never read an odd number. exception: last read - the chip internal counter does not count half words. */ - size &= ~1; - /* Some setups need the reads to be multiples of 256 bytes */ - size &= ~0xff; - - if (dev->read_bytes_left < size) - { - size = dev->read_bytes_left; - /*round up to a multiple of 256 bytes */ - size += (size & 0xff) ? 0x100 : 0x00; - size &= ~0xff; - } - - /* early out if our remaining buffer capacity is too low */ - if (size == 0) - return SANE_STATUS_GOOD; - - DBG (DBG_io, "genesys_fill_read_buffer: reading %lu bytes\n", - (u_long) size); - - /* size is already maxed to our needs. for most models bulk_read_data - will read as much data as requested. */ - - /* due to sensors and motors, not all data can be directly used. It - * may have to be read from another intermediate buffer and then processed. - * There are currently 3 intermediate stages: - * - handling of odd/even sensors - * - handling of line interpolation for motors that can't have low - * enough dpi - * - handling of multi-segments sensors - * - * This is also the place where full duplex data will be handled. - */ - if (dev->line_interp>0) - { - /* line interpolation */ - status = genesys_fill_line_interp_buffer (dev, work_buffer_dst, size); - } - else if (dev->segnb>1) - { - /* multi-segment sensors processing */ - status = genesys_fill_segmented_buffer (dev, work_buffer_dst, size); - } - else /* regular case with no extra copy */ - { - status = dev->model->cmd_set->bulk_read_data (dev, 0x45, work_buffer_dst, size); - } - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_fill_read_buffer: failed to read %lu bytes (%s)\n", - (u_long) size, sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - - if (size > dev->read_bytes_left) - size = dev->read_bytes_left; - - dev->read_bytes_left -= size; - - RIE (sanei_genesys_buffer_produce (&(dev->read_buffer), size)); - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -/* this function does the effective data read in a manner that suits - the scanner. It does data reordering and resizing if need. - It also manages EOF and I/O errors, and line distance correction. - */ -static SANE_Status -genesys_read_ordered_data (Genesys_Device * dev, SANE_Byte * destination, - size_t * len) -{ - SANE_Status status; - size_t bytes, extra; - unsigned int channels, depth, src_pixels; - unsigned int ccd_shift[12], shift_count; - uint8_t *work_buffer_src; - uint8_t *work_buffer_dst; - unsigned int dst_lines; - unsigned int step_1_mode; - unsigned int needs_reorder; - unsigned int needs_ccd; - unsigned int needs_shrink; - unsigned int needs_reverse; - Genesys_Buffer *src_buffer; - Genesys_Buffer *dst_buffer; - - DBGSTART; - if (dev->read_active != SANE_TRUE) - { - DBG (DBG_error, "genesys_read_ordered_data: read not active!\n"); - *len = 0; - return SANE_STATUS_INVAL; - } - - - DBG (DBG_info, "genesys_read_ordered_data: dumping current_setup:\n" - "\tpixels: %d\n" - "\tlines: %d\n" - "\tdepth: %d\n" - "\tchannels: %d\n" - "\texposure_time: %d\n" - "\txres: %g\n" - "\tyres: %g\n" - "\thalf_ccd: %s\n" - "\tstagger: %d\n" - "\tmax_shift: %d\n", - dev->current_setup.pixels, - dev->current_setup.lines, - dev->current_setup.depth, - dev->current_setup.channels, - dev->current_setup.exposure_time, - dev->current_setup.xres, - dev->current_setup.yres, - dev->current_setup.half_ccd ? "yes" : "no", - dev->current_setup.stagger, dev->current_setup.max_shift); - - /* prepare conversion */ - /* current settings */ - channels = dev->current_setup.channels; - depth = dev->current_setup.depth; - - src_pixels = dev->current_setup.pixels; - - needs_reorder = 1; - if (channels != 3 && depth != 16) - needs_reorder = 0; -#ifndef WORDS_BIGENDIAN - if (channels != 3 && depth == 16) - needs_reorder = 0; - if (channels == 3 && depth == 16 && !dev->model->is_cis && - dev->model->line_mode_color_order == COLOR_ORDER_RGB) - needs_reorder = 0; -#endif - if (channels == 3 && depth == 8 && !dev->model->is_cis && - dev->model->line_mode_color_order == COLOR_ORDER_RGB) - needs_reorder = 0; - - needs_ccd = dev->current_setup.max_shift > 0; - needs_shrink = dev->settings.pixels != src_pixels; - needs_reverse = depth == 1; - - DBG (DBG_info, - "genesys_read_ordered_data: using filters:%s%s%s%s\n", - needs_reorder ? " reorder" : "", - needs_ccd ? " ccd" : "", - needs_shrink ? " shrink" : "", - needs_reverse ? " reverse" : ""); - - DBG (DBG_info, - "genesys_read_ordered_data: frontend requested %lu bytes\n", - (u_long) * len); - - DBG (DBG_info, - "genesys_read_ordered_data: bytes_to_read=%lu, total_bytes_read=%lu\n", - (u_long) dev->total_bytes_to_read, (u_long) dev->total_bytes_read); - /* is there data left to scan */ - if (dev->total_bytes_read >= dev->total_bytes_to_read) - { - DBG (DBG_proc, - "genesys_read_ordered_data: nothing more to scan: EOF\n"); - *len = 0; - - /* issue park command immediatly in case scanner can handle it - * so we save time */ - if (dev->model->is_sheetfed == SANE_FALSE - && !(dev->model->flags & GENESYS_FLAG_MUST_WAIT) - && dev->parking == SANE_FALSE) - { - dev->model->cmd_set->slow_back_home (dev, SANE_FALSE); - dev->parking = SANE_TRUE; - } - return SANE_STATUS_EOF; - } - - DBG (DBG_info, "genesys_read_ordered_data: %lu lines left by output\n", - ((dev->total_bytes_to_read - dev->total_bytes_read) * 8UL) / - (dev->settings.pixels * channels * depth)); - DBG (DBG_info, "genesys_read_ordered_data: %lu lines left by input\n", - ((dev->read_bytes_left + dev->read_buffer.avail) * 8UL) / - (src_pixels * channels * depth)); - - if (channels == 1) - { - ccd_shift[0] = 0; - ccd_shift[1] = dev->current_setup.stagger; - shift_count = 2; - } - else - { - ccd_shift[0] = - ((dev->ld_shift_r * dev->settings.yres) / - dev->motor.base_ydpi); - ccd_shift[1] = - ((dev->ld_shift_g * dev->settings.yres) / - dev->motor.base_ydpi); - ccd_shift[2] = - ((dev->ld_shift_b * dev->settings.yres) / - dev->motor.base_ydpi); - - ccd_shift[3] = ccd_shift[0] + dev->current_setup.stagger; - ccd_shift[4] = ccd_shift[1] + dev->current_setup.stagger; - ccd_shift[5] = ccd_shift[2] + dev->current_setup.stagger; - - shift_count = 6; - } - - -/* convert data */ -/* - 0. fill_read_buffer --------------- read_buffer ---------------------- - 1a). (opt)uncis (assumes color components to be laid out - planar) - 1b). (opt)reverse_RGB (assumes pixels to be BGR or BBGGRR)) --------------- lines_buffer ---------------------- - 2a). (opt)line_distance_correction (assumes RGB or RRGGBB) - 2b). (opt)unstagger (assumes pixels to be depth*channels/8 - bytes long, unshrinked) -------------- shrink_buffer --------------------- - 3. (opt)shrink_lines (assumes component separation in pixels) --------------- out_buffer ----------------------- - 4. memcpy to destination (for lineart with bit reversal) -*/ -/*FIXME: for lineart we need sub byte addressing in buffers, or conversion to - bytes at 0. and back to bits at 4. -Problems with the first approach: - - its not clear how to check if we need to output an incomplete byte - because it is the last one. - */ -/*FIXME: add lineart support for gl646. in the meantime add logic to convert - from gray to lineart at the end? would suffer the above problem, - total_bytes_to_read and total_bytes_read help in that case. - */ - - status = genesys_fill_read_buffer (dev); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_read_ordered_data: genesys_fill_read_buffer failed\n"); - return status; - } - - src_buffer = &(dev->read_buffer); - -/* maybe reorder components/bytes */ - if (needs_reorder) - { -/*not implemented for depth == 1.*/ - if (depth == 1) - { - DBG (DBG_error, "Can't reorder single bit data\n"); - return SANE_STATUS_INVAL; - } - - dst_buffer = &(dev->lines_buffer); - - work_buffer_src = sanei_genesys_buffer_get_read_pos (src_buffer); - bytes = src_buffer->avail; - -/*how many bytes can be processed here?*/ -/*we are greedy. we work as much as possible*/ - if (bytes > dst_buffer->size - dst_buffer->avail) - bytes = dst_buffer->size - dst_buffer->avail; - - dst_lines = (bytes * 8) / (src_pixels * channels * depth); - bytes = (dst_lines * src_pixels * channels * depth) / 8; - - work_buffer_dst = sanei_genesys_buffer_get_write_pos (dst_buffer, - bytes); - - DBG (DBG_info, "genesys_read_ordered_data: reordering %d lines\n", - dst_lines); - - if (dst_lines != 0) - { - - if (channels == 3) - { - step_1_mode = 0; - - if (depth == 16) - step_1_mode |= 1; - - if (dev->model->is_cis) - step_1_mode |= 2; - - if (dev->model->line_mode_color_order == COLOR_ORDER_BGR) - step_1_mode |= 4; - - switch (step_1_mode) - { - case 1: /* RGB, chunky, 16 bit */ -#ifdef WORDS_BIGENDIAN - status = - genesys_reorder_components_endian_16 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels, 3); - break; -#endif /*WORDS_BIGENDIAN */ - case 0: /* RGB, chunky, 8 bit */ - status = SANE_STATUS_GOOD; - break; - case 2: /* RGB, cis, 8 bit */ - status = - genesys_reorder_components_cis_8 (work_buffer_src, - work_buffer_dst, - dst_lines, src_pixels); - break; - case 3: /* RGB, cis, 16 bit */ - status = - genesys_reorder_components_cis_16 (work_buffer_src, - work_buffer_dst, - dst_lines, src_pixels); - break; - case 4: /* BGR, chunky, 8 bit */ - status = - genesys_reorder_components_bgr_8 (work_buffer_src, - work_buffer_dst, - dst_lines, src_pixels); - break; - case 5: /* BGR, chunky, 16 bit */ - status = - genesys_reorder_components_bgr_16 (work_buffer_src, - work_buffer_dst, - dst_lines, src_pixels); - break; - case 6: /* BGR, cis, 8 bit */ - status = - genesys_reorder_components_cis_bgr_8 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels); - break; - case 7: /* BGR, cis, 16 bit */ - status = - genesys_reorder_components_cis_bgr_16 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels); - break; - } - } - else - { -#ifdef WORDS_BIGENDIAN - if (depth == 16) - { - status = - genesys_reorder_components_endian_16 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels, 1); - } - else - { - status = SANE_STATUS_GOOD; - } -#else /*!WORDS_BIGENDIAN */ - status = SANE_STATUS_GOOD; -#endif /*WORDS_BIGENDIAN */ - } - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_read_ordered_data: failed to convert byte ordering(%s)\n", - sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - - RIE (sanei_genesys_buffer_produce (dst_buffer, bytes)); - - RIE (sanei_genesys_buffer_consume (src_buffer, bytes)); - } - src_buffer = dst_buffer; - } - -/* maybe reverse effects of ccd layout */ - if (needs_ccd) - { -/*should not happen with depth == 1.*/ - if (depth == 1) - { - DBG (DBG_error, "Can't reverse ccd for single bit data\n"); - return SANE_STATUS_INVAL; - } - - dst_buffer = &(dev->shrink_buffer); - - work_buffer_src = sanei_genesys_buffer_get_read_pos (src_buffer); - bytes = src_buffer->avail; - - extra = - (dev->current_setup.max_shift * src_pixels * channels * depth) / 8; - -/*extra bytes are reserved, and should not be consumed*/ - if (bytes < extra) - bytes = 0; - else - bytes -= extra; - -/*how many bytes can be processed here?*/ -/*we are greedy. we work as much as possible*/ - if (bytes > dst_buffer->size - dst_buffer->avail) - bytes = dst_buffer->size - dst_buffer->avail; - - dst_lines = (bytes * 8) / (src_pixels * channels * depth); - bytes = (dst_lines * src_pixels * channels * depth) / 8; - - work_buffer_dst = - sanei_genesys_buffer_get_write_pos (dst_buffer, bytes); - - DBG (DBG_info, "genesys_read_ordered_data: un-ccd-ing %d lines\n", - dst_lines); - - if (dst_lines != 0) - { - - if (depth == 8) - status = genesys_reverse_ccd_8 (work_buffer_src, work_buffer_dst, - dst_lines, - src_pixels * channels, - ccd_shift, shift_count); - else - status = genesys_reverse_ccd_16 (work_buffer_src, work_buffer_dst, - dst_lines, - src_pixels * channels, - ccd_shift, shift_count); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_read_ordered_data: failed to reverse ccd effects(%s)\n", - sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - - RIE (sanei_genesys_buffer_produce (dst_buffer, bytes)); - - RIE (sanei_genesys_buffer_consume (src_buffer, bytes)); - } - src_buffer = dst_buffer; - } - -/* maybe shrink(or enlarge) lines */ - if (needs_shrink) - { - - dst_buffer = &(dev->out_buffer); - - work_buffer_src = sanei_genesys_buffer_get_read_pos (src_buffer); - bytes = src_buffer->avail; - -/*lines in input*/ - dst_lines = (bytes * 8) / (src_pixels * channels * depth); - - /* how many lines can be processed here? */ - /* we are greedy. we work as much as possible */ - bytes = dst_buffer->size - dst_buffer->avail; - - if (dst_lines > (bytes * 8) / (dev->settings.pixels * channels * depth)) - dst_lines = (bytes * 8) / (dev->settings.pixels * channels * depth); - - bytes = (dst_lines * dev->settings.pixels * channels * depth) / 8; - - work_buffer_dst = - sanei_genesys_buffer_get_write_pos (dst_buffer, bytes); - - DBG (DBG_info, "genesys_read_ordered_data: shrinking %d lines\n", - dst_lines); - - if (dst_lines != 0) - { - if (depth == 1) - status = genesys_shrink_lines_1 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels, - dev->settings.pixels, - channels); - else if (depth == 8) - status = genesys_shrink_lines_8 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels, - dev->settings.pixels, channels); - else - status = genesys_shrink_lines_16 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels, - dev->settings.pixels, channels); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_read_ordered_data: failed to shrink lines(%s)\n", - sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - - /* we just consumed this many bytes*/ - bytes = (dst_lines * src_pixels * channels * depth) / 8; - RIE (sanei_genesys_buffer_consume (src_buffer, bytes)); - - /* we just created this many bytes*/ - bytes = (dst_lines * dev->settings.pixels * channels * depth) / 8; - RIE (sanei_genesys_buffer_produce (dst_buffer, bytes)); - - } - src_buffer = dst_buffer; - } - - /* move data to destination */ - bytes = src_buffer->avail; - if (bytes > *len) - bytes = *len; - work_buffer_src = sanei_genesys_buffer_get_read_pos (src_buffer); - - if (needs_reverse) - { - status = genesys_reverse_bits (work_buffer_src, destination, bytes); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_read_ordered_data: failed to reverse bits(%s)\n", - sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - *len = bytes; - } - else - { - memcpy (destination, work_buffer_src, bytes); - *len = bytes; - } - - /* avoid signaling some extra data because we have treated a full block - * on the last block */ - if (dev->total_bytes_read + *len > dev->total_bytes_to_read) - *len = dev->total_bytes_to_read - dev->total_bytes_read; - - /* count bytes sent to frontend */ - dev->total_bytes_read += *len; - - RIE (sanei_genesys_buffer_consume (src_buffer, bytes)); - - /* end scan if all needed data have been read */ - if(dev->total_bytes_read >= dev->total_bytes_to_read) - { - dev->model->cmd_set->end_scan (dev, dev->reg, SANE_TRUE); - if (dev->model->is_sheetfed == SANE_TRUE) - { - dev->model->cmd_set->eject_document (dev); - } - } - - DBG (DBG_proc, "genesys_read_ordered_data: completed, %lu bytes read\n", - (u_long) bytes); - return SANE_STATUS_GOOD; -} - - - -/* ------------------------------------------------------------------------ */ -/* Start of higher level functions */ -/* ------------------------------------------------------------------------ */ - -static size_t -max_string_size (const SANE_String_Const strings[]) -{ - size_t size, max_size = 0; - SANE_Int i; - - for (i = 0; strings[i]; ++i) - { - size = strlen (strings[i]) + 1; - if (size > max_size) - max_size = size; - } - return max_size; -} - -static SANE_Status -calc_parameters (Genesys_Scanner * s) -{ - SANE_String mode, source, color_filter; - SANE_Status status = SANE_STATUS_GOOD; - SANE_Int depth = 0, resolution = 0; - double tl_x = 0, tl_y = 0, br_x = 0, br_y = 0; - - mode = s->val[OPT_MODE].s; - source = s->val[OPT_SOURCE].s; - color_filter = s->val[OPT_COLOR_FILTER].s; - depth = s->val[OPT_BIT_DEPTH].w; - resolution = s->val[OPT_RESOLUTION].w; - tl_x = SANE_UNFIX (s->val[OPT_TL_X].w); - tl_y = SANE_UNFIX (s->val[OPT_TL_Y].w); - br_x = SANE_UNFIX (s->val[OPT_BR_X].w); - br_y = SANE_UNFIX (s->val[OPT_BR_Y].w); - - s->params.last_frame = SANE_TRUE; /* only single pass scanning supported */ - - if (strcmp (mode, SANE_VALUE_SCAN_MODE_GRAY) == 0 - || strcmp (mode, SANE_VALUE_SCAN_MODE_LINEART) == 0) - s->params.format = SANE_FRAME_GRAY; - else /* Color */ - s->params.format = SANE_FRAME_RGB; - - if (strcmp (mode, SANE_VALUE_SCAN_MODE_LINEART) == 0) - s->params.depth = 1; - else - s->params.depth = depth; - s->dev->settings.depth = depth; - - /* interpolation */ - s->dev->settings.disable_interpolation = - s->val[OPT_DISABLE_INTERPOLATION].w == SANE_TRUE; - - /* hardware settings */ - if (resolution > s->dev->sensor.optical_res && - s->dev->settings.disable_interpolation) - s->dev->settings.xres = s->dev->sensor.optical_res; - else - s->dev->settings.xres = resolution; - s->dev->settings.yres = resolution; - - s->params.lines = ((br_y - tl_y) * s->dev->settings.yres) / MM_PER_INCH; - s->params.pixels_per_line = - ((br_x - tl_x) * resolution) / MM_PER_INCH; - - /* we need an even pixels number - * TODO invert test logic or generalize behaviour across all ASICs */ - if ((s->dev->model->flags & GENESYS_FLAG_SIS_SENSOR) - || s->dev->model->asic_type == GENESYS_GL847 - || s->dev->model->asic_type == GENESYS_GL124 - || s->dev->model->asic_type == GENESYS_GL845 - || s->dev->model->asic_type == GENESYS_GL846 - || s->dev->model->asic_type == GENESYS_GL843) - { - if (s->dev->settings.xres <= 1200) - s->params.pixels_per_line = (s->params.pixels_per_line/4)*4; - else - s->params.pixels_per_line = (s->params.pixels_per_line/16)*16; - } - - /* corner case for true lineart for sensor with several segments - * or when xres is doubled to match yres */ - if (s->dev->settings.xres >= 1200 - && ( s->dev->model->asic_type == GENESYS_GL124 - || s->dev->model->asic_type == GENESYS_GL847 - || s->dev->current_setup.xres < s->dev->current_setup.yres - ) - ) - { - s->params.pixels_per_line = (s->params.pixels_per_line/16)*16; - } - - s->params.bytes_per_line = s->params.pixels_per_line; - if (s->params.depth > 8) - { - s->params.depth = 16; - s->params.bytes_per_line *= 2; - } - else if (s->params.depth == 1) - { - s->params.bytes_per_line /= 8; - /* round down pixel number - really? rounding down means loss of at most 7 pixels! -- pierre */ - s->params.pixels_per_line = 8 * s->params.bytes_per_line; - } - - if (s->params.format == SANE_FRAME_RGB) - s->params.bytes_per_line *= 3; - - if (strcmp (mode, SANE_VALUE_SCAN_MODE_COLOR) == 0) - s->dev->settings.scan_mode = SCAN_MODE_COLOR; - else if (strcmp (mode, SANE_VALUE_SCAN_MODE_GRAY) == 0) - s->dev->settings.scan_mode = SCAN_MODE_GRAY; - else if (strcmp (mode, SANE_TITLE_HALFTONE) == 0) - s->dev->settings.scan_mode = SCAN_MODE_HALFTONE; - else /* Lineart */ - s->dev->settings.scan_mode = SCAN_MODE_LINEART; - - /* TODO: change and check */ - if (strcmp (source, FLATBED) == 0) - s->dev->settings.scan_method = SCAN_METHOD_FLATBED; - else /* transparency */ - s->dev->settings.scan_method = SCAN_METHOD_TRANSPARENCY; - - s->dev->settings.lines = s->params.lines; - s->dev->settings.pixels = s->params.pixels_per_line; - s->dev->settings.tl_x = tl_x; - s->dev->settings.tl_y = tl_y; - - /* threshold setting */ - s->dev->settings.threshold = 2.55 * (SANE_UNFIX (s->val[OPT_THRESHOLD].w)); - - /* color filter */ - if (strcmp (color_filter, "Red") == 0) - s->dev->settings.color_filter = 0; - else if (strcmp (color_filter, "Green") == 0) - s->dev->settings.color_filter = 1; - else if (strcmp (color_filter, "Blue") == 0) - s->dev->settings.color_filter = 2; - else - s->dev->settings.color_filter = 3; - - /* true gray */ - if (strcmp (color_filter, "None") == 0) - s->dev->settings.true_gray = 1; - else - s->dev->settings.true_gray = 0; - - /* dynamic lineart */ - s->dev->settings.dynamic_lineart = SANE_FALSE; - s->dev->settings.threshold_curve=0; - if(s->val[OPT_DISABLE_DYNAMIC_LINEART].w ==SANE_FALSE - &&s->dev->settings.scan_mode == SCAN_MODE_LINEART) - { - s->dev->settings.dynamic_lineart = SANE_TRUE; - } - - /* hardware lineart works only when we don't have interleave data - * for GL847 scanners, ie up to 600 DPI, then we have to rely on - * dynamic_lineart */ - if(s->dev->settings.xres > 600 - && s->dev->model->asic_type==GENESYS_GL847 - && s->dev->settings.scan_mode == SCAN_MODE_LINEART) - { - s->dev->settings.dynamic_lineart = SANE_TRUE; - } - - /* threshold curve for dynamic rasterization */ - s->dev->settings.threshold_curve=s->val[OPT_THRESHOLD_CURVE].w; - - /* some digital processing requires the whole picture to be buffered */ - /* no digital processing takes place when doing preview, or when bit depth is - * higher than 8 bits */ - if ((s->val[OPT_SWDESPECK].b - || s->val[OPT_SWCROP].b - || s->val[OPT_SWDESKEW].b - || s->val[OPT_SWDEROTATE].b - ||(SANE_UNFIX(s->val[OPT_SWSKIP].w)>0)) - && (!s->val[OPT_PREVIEW].b) - && (s->val[OPT_BIT_DEPTH].w <= 8)) - { - s->dev->buffer_image=SANE_TRUE; - } - else - { - s->dev->buffer_image=SANE_FALSE; - } - - /* brigthness and contrast only for for 8 bit scans */ - if(s->val[OPT_BIT_DEPTH].w <= 8) - { - s->dev->settings.contrast=(s->val[OPT_CONTRAST].w*127)/100; - s->dev->settings.brightness=(s->val[OPT_BRIGHTNESS].w*127)/100; - } - else - { - s->dev->settings.contrast=0; - s->dev->settings.brightness=0; - } - - /* cache expiration time */ - s->dev->settings.expiration_time=s->val[OPT_EXPIRATION_TIME].w; - - return status; -} - - -static SANE_Status -create_bpp_list (Genesys_Scanner * s, SANE_Int * bpp) -{ - int count; - - for (count = 0; bpp[count] != 0; count++) - ; - s->bpp_list[0] = count; - for (count = 0; bpp[count] != 0; count++) - { - s->bpp_list[s->bpp_list[0] - count] = bpp[count]; - } - return SANE_STATUS_GOOD; -} - -/** @brief this function initialize a gamma vector based on the ASIC: - * Set up a default gamma table vector based on device description - * gl646: 12 or 14 bits gamma table depending on GENESYS_FLAG_14BIT_GAMMA - * gl84x: 16 bits - * gl12x: 16 bits - * @param scanner pointer to scanner session to get options - * @param option option number of the gamma table to set - */ -static void -init_gamma_vector_option (Genesys_Scanner * scanner, int option) -{ - /* the option is inactive until the custom gamma control - * is enabled */ - scanner->opt[option].type = SANE_TYPE_INT; - scanner->opt[option].cap |= SANE_CAP_INACTIVE | SANE_CAP_ADVANCED; - scanner->opt[option].unit = SANE_UNIT_NONE; - scanner->opt[option].constraint_type = SANE_CONSTRAINT_RANGE; - if (scanner->dev->model->asic_type == GENESYS_GL646) - { - if ((scanner->dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) != 0) - { - scanner->opt[option].size = 16384 * sizeof (SANE_Word); - scanner->opt[option].constraint.range = &u14_range; - } - else - { /* 12 bits gamma tables */ - scanner->opt[option].size = 4096 * sizeof (SANE_Word); - scanner->opt[option].constraint.range = &u12_range; - } - } - else - { /* other asics have 16 bits words gamma table */ - scanner->opt[option].size = 256 * sizeof (SANE_Word); - scanner->opt[option].constraint.range = &u16_range; - } - /* default value is NULL */ - scanner->val[option].wa = NULL; -} - -/** - * allocate a geometry range - * @param size maximum size of the range - * @return a pointer to a valid range or NULL - */ -static SANE_Range *create_range(SANE_Fixed size) -{ -SANE_Range *range=NULL; - - range=(SANE_Range *)malloc(sizeof(SANE_Range)); - if(range!=NULL) - { - range->min = SANE_FIX (0.0); - range->max = size; - range->quant = SANE_FIX (0.0); - } - return range; -} - -/** @brief generate calibration cache file nam - * Generates the calibration cache file name to use. - * Tries to store the chache in $HOME/.sane or - * then fallbacks to $TMPDIR or TMP. The filename - * uses the model name if only one scanner is plugged - * else is uses the device name when several identical - * scanners are in use. - * @param currdev current scanner device - * @return an allocated string containing a file name - */ -GENESYS_STATIC char *calibration_filename(Genesys_Device *currdev) -{ - char *tmpstr; - char *ptr; - char filename[80]; - Genesys_Device *dev; - unsigned int count; - unsigned int i; - - /* allocate space for result */ - tmpstr=malloc(PATH_MAX); - if(tmpstr==NULL) - { - return NULL; - } - - /* first compute the DIR where we can store cache: - * 1 - home dir - * 2 - $TMPDIR - * 3 - $TMP - * 4 - tmp dir - * 5 - temp dir - * 6 - then resort to current dir - */ - ptr = getenv ("HOME"); - if(ptr==NULL) - { - ptr = getenv ("USERPROFILE"); - } - if(ptr==NULL) - { - ptr = getenv ("TMPDIR"); - } - if(ptr==NULL) - { - ptr = getenv ("TMP"); - } - - /* now choose filename: - * 1 - if only one scanner, name of the model - * 2 - if several scanners of the same model, use device name, - * replacing special chars - */ - count=0; - /* count models of the same names if several scanners attached */ - if(num_devices>1) - { - for (dev = first_dev; dev; dev = dev->next) - { - if(strcmp(dev->model->name,currdev->model->name)==0) - { - count++; - } - } - } - if(count>1) - { - snprintf(filename,sizeof(filename),"%s.cal",currdev->file_name); - for(i=0;imodel->name); - } - - /* build final final name : store dir + filename */ - if (NULL == ptr) - { - snprintf (tmpstr, PATH_MAX, "%s", filename); - } - else - { -#ifdef HAVE_MKDIR - /* make sure .sane directory exists in existing store dir */ - snprintf (tmpstr, PATH_MAX, "%s%c.sane", ptr, PATH_SEP); - mkdir(tmpstr,0700); -#endif - snprintf (tmpstr, PATH_MAX, "%s%c.sane%c%s", ptr, PATH_SEP, PATH_SEP, filename); - } - - DBG (DBG_info, "%s: calibration filename >%s<\n", __func__, tmpstr); - - return tmpstr; -} - - -static SANE_Status -init_options (Genesys_Scanner * s) -{ - SANE_Int option, count, min_dpi; - SANE_Status status; - SANE_Word *dpi_list; - Genesys_Model *model = s->dev->model; - SANE_Range *x_range, *y_range; - - DBGSTART; - - memset (s->opt, 0, sizeof (s->opt)); - memset (s->val, 0, sizeof (s->val)); - - for (option = 0; option < NUM_OPTIONS; ++option) - { - s->opt[option].size = sizeof (SANE_Word); - s->opt[option].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - } - s->opt[OPT_NUM_OPTS].name = SANE_NAME_NUM_OPTIONS; - s->opt[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS; - s->opt[OPT_NUM_OPTS].desc = SANE_DESC_NUM_OPTIONS; - s->opt[OPT_NUM_OPTS].type = SANE_TYPE_INT; - s->opt[OPT_NUM_OPTS].cap = SANE_CAP_SOFT_DETECT; - s->val[OPT_NUM_OPTS].w = NUM_OPTIONS; - - /* "Mode" group: */ - s->opt[OPT_MODE_GROUP].title = SANE_I18N ("Scan Mode"); - s->opt[OPT_MODE_GROUP].desc = ""; - s->opt[OPT_MODE_GROUP].type = SANE_TYPE_GROUP; - s->opt[OPT_MODE_GROUP].size = 0; - s->opt[OPT_MODE_GROUP].cap = 0; - s->opt[OPT_MODE_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - - /* scan mode */ - s->opt[OPT_MODE].name = SANE_NAME_SCAN_MODE; - s->opt[OPT_MODE].title = SANE_TITLE_SCAN_MODE; - s->opt[OPT_MODE].desc = SANE_DESC_SCAN_MODE; - s->opt[OPT_MODE].type = SANE_TYPE_STRING; - s->opt[OPT_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST; - s->opt[OPT_MODE].size = max_string_size (mode_list); - s->opt[OPT_MODE].constraint.string_list = mode_list; - s->val[OPT_MODE].s = strdup (SANE_VALUE_SCAN_MODE_GRAY); - - /* scan source */ - s->opt[OPT_SOURCE].name = SANE_NAME_SCAN_SOURCE; - s->opt[OPT_SOURCE].title = SANE_TITLE_SCAN_SOURCE; - s->opt[OPT_SOURCE].desc = SANE_DESC_SCAN_SOURCE; - s->opt[OPT_SOURCE].type = SANE_TYPE_STRING; - s->opt[OPT_SOURCE].constraint_type = SANE_CONSTRAINT_STRING_LIST; - s->opt[OPT_SOURCE].size = max_string_size (source_list); - s->opt[OPT_SOURCE].constraint.string_list = source_list; - s->val[OPT_SOURCE].s = strdup (FLATBED); - if (model->flags & GENESYS_FLAG_HAS_UTA) - { - ENABLE (OPT_SOURCE); - } - else - { - DISABLE (OPT_SOURCE); - } - - /* preview */ - s->opt[OPT_PREVIEW].name = SANE_NAME_PREVIEW; - s->opt[OPT_PREVIEW].title = SANE_TITLE_PREVIEW; - s->opt[OPT_PREVIEW].desc = SANE_DESC_PREVIEW; - s->opt[OPT_PREVIEW].type = SANE_TYPE_BOOL; - s->opt[OPT_PREVIEW].unit = SANE_UNIT_NONE; - s->opt[OPT_PREVIEW].constraint_type = SANE_CONSTRAINT_NONE; - s->val[OPT_PREVIEW].w = SANE_FALSE; - - /* bit depth */ - s->opt[OPT_BIT_DEPTH].name = SANE_NAME_BIT_DEPTH; - s->opt[OPT_BIT_DEPTH].title = SANE_TITLE_BIT_DEPTH; - s->opt[OPT_BIT_DEPTH].desc = SANE_DESC_BIT_DEPTH; - s->opt[OPT_BIT_DEPTH].type = SANE_TYPE_INT; - s->opt[OPT_BIT_DEPTH].constraint_type = SANE_CONSTRAINT_WORD_LIST; - s->opt[OPT_BIT_DEPTH].size = sizeof (SANE_Word); - s->opt[OPT_BIT_DEPTH].constraint.word_list = 0; - s->opt[OPT_BIT_DEPTH].constraint.word_list = s->bpp_list; - create_bpp_list (s, model->bpp_gray_values); - s->val[OPT_BIT_DEPTH].w = 8; - if (s->opt[OPT_BIT_DEPTH].constraint.word_list[0] < 2) - DISABLE (OPT_BIT_DEPTH); - - /* resolution */ - min_dpi=200000; - for (count = 0; model->xdpi_values[count] != 0; count++) - { - if(model->xdpi_values[count]xdpi_values[count]; - } - } - dpi_list = malloc ((count + 1) * sizeof (SANE_Word)); - if (!dpi_list) - return SANE_STATUS_NO_MEM; - dpi_list[0] = count; - for (count = 0; model->xdpi_values[count] != 0; count++) - dpi_list[count + 1] = model->xdpi_values[count]; - s->opt[OPT_RESOLUTION].name = SANE_NAME_SCAN_RESOLUTION; - s->opt[OPT_RESOLUTION].title = SANE_TITLE_SCAN_RESOLUTION; - s->opt[OPT_RESOLUTION].desc = SANE_DESC_SCAN_RESOLUTION; - s->opt[OPT_RESOLUTION].type = SANE_TYPE_INT; - s->opt[OPT_RESOLUTION].unit = SANE_UNIT_DPI; - s->opt[OPT_RESOLUTION].constraint_type = SANE_CONSTRAINT_WORD_LIST; - s->opt[OPT_RESOLUTION].constraint.word_list = dpi_list; - s->val[OPT_RESOLUTION].w = min_dpi; - - /* "Geometry" group: */ - s->opt[OPT_GEOMETRY_GROUP].title = SANE_I18N ("Geometry"); - s->opt[OPT_GEOMETRY_GROUP].desc = ""; - s->opt[OPT_GEOMETRY_GROUP].type = SANE_TYPE_GROUP; - s->opt[OPT_GEOMETRY_GROUP].cap = SANE_CAP_ADVANCED; - s->opt[OPT_GEOMETRY_GROUP].size = 0; - s->opt[OPT_GEOMETRY_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - - x_range=create_range(model->x_size); - if(x_range==NULL) - { - return SANE_STATUS_NO_MEM; - } - - y_range=create_range(model->y_size); - if(y_range==NULL) - { - return SANE_STATUS_NO_MEM; - } - - /* top-left x */ - s->opt[OPT_TL_X].name = SANE_NAME_SCAN_TL_X; - s->opt[OPT_TL_X].title = SANE_TITLE_SCAN_TL_X; - s->opt[OPT_TL_X].desc = SANE_DESC_SCAN_TL_X; - s->opt[OPT_TL_X].type = SANE_TYPE_FIXED; - s->opt[OPT_TL_X].unit = SANE_UNIT_MM; - s->opt[OPT_TL_X].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_TL_X].constraint.range = x_range; - s->val[OPT_TL_X].w = 0; - - /* top-left y */ - s->opt[OPT_TL_Y].name = SANE_NAME_SCAN_TL_Y; - s->opt[OPT_TL_Y].title = SANE_TITLE_SCAN_TL_Y; - s->opt[OPT_TL_Y].desc = SANE_DESC_SCAN_TL_Y; - s->opt[OPT_TL_Y].type = SANE_TYPE_FIXED; - s->opt[OPT_TL_Y].unit = SANE_UNIT_MM; - s->opt[OPT_TL_Y].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_TL_Y].constraint.range = y_range; - s->val[OPT_TL_Y].w = 0; - - /* bottom-right x */ - s->opt[OPT_BR_X].name = SANE_NAME_SCAN_BR_X; - s->opt[OPT_BR_X].title = SANE_TITLE_SCAN_BR_X; - s->opt[OPT_BR_X].desc = SANE_DESC_SCAN_BR_X; - s->opt[OPT_BR_X].type = SANE_TYPE_FIXED; - s->opt[OPT_BR_X].unit = SANE_UNIT_MM; - s->opt[OPT_BR_X].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_BR_X].constraint.range = x_range; - s->val[OPT_BR_X].w = x_range->max; - - /* bottom-right y */ - s->opt[OPT_BR_Y].name = SANE_NAME_SCAN_BR_Y; - s->opt[OPT_BR_Y].title = SANE_TITLE_SCAN_BR_Y; - s->opt[OPT_BR_Y].desc = SANE_DESC_SCAN_BR_Y; - s->opt[OPT_BR_Y].type = SANE_TYPE_FIXED; - s->opt[OPT_BR_Y].unit = SANE_UNIT_MM; - s->opt[OPT_BR_Y].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_BR_Y].constraint.range = y_range; - s->val[OPT_BR_Y].w = y_range->max; - - /* "Enhancement" group: */ - s->opt[OPT_ENHANCEMENT_GROUP].title = SANE_I18N ("Enhancement"); - s->opt[OPT_ENHANCEMENT_GROUP].desc = ""; - s->opt[OPT_ENHANCEMENT_GROUP].type = SANE_TYPE_GROUP; - s->opt[OPT_ENHANCEMENT_GROUP].cap = SANE_CAP_ADVANCED; - s->opt[OPT_ENHANCEMENT_GROUP].size = 0; - s->opt[OPT_ENHANCEMENT_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - - /* custom-gamma table */ - s->opt[OPT_CUSTOM_GAMMA].name = SANE_NAME_CUSTOM_GAMMA; - s->opt[OPT_CUSTOM_GAMMA].title = SANE_TITLE_CUSTOM_GAMMA; - s->opt[OPT_CUSTOM_GAMMA].desc = SANE_DESC_CUSTOM_GAMMA; - s->opt[OPT_CUSTOM_GAMMA].type = SANE_TYPE_BOOL; - s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_ADVANCED; - s->val[OPT_CUSTOM_GAMMA].b = SANE_FALSE; - - /* grayscale gamma vector */ - s->opt[OPT_GAMMA_VECTOR].name = SANE_NAME_GAMMA_VECTOR; - s->opt[OPT_GAMMA_VECTOR].title = SANE_TITLE_GAMMA_VECTOR; - s->opt[OPT_GAMMA_VECTOR].desc = SANE_DESC_GAMMA_VECTOR; - init_gamma_vector_option (s, OPT_GAMMA_VECTOR); - - /* red gamma vector */ - s->opt[OPT_GAMMA_VECTOR_R].name = SANE_NAME_GAMMA_VECTOR_R; - s->opt[OPT_GAMMA_VECTOR_R].title = SANE_TITLE_GAMMA_VECTOR_R; - s->opt[OPT_GAMMA_VECTOR_R].desc = SANE_DESC_GAMMA_VECTOR_R; - init_gamma_vector_option (s, OPT_GAMMA_VECTOR_R); - - /* green gamma vector */ - s->opt[OPT_GAMMA_VECTOR_G].name = SANE_NAME_GAMMA_VECTOR_G; - s->opt[OPT_GAMMA_VECTOR_G].title = SANE_TITLE_GAMMA_VECTOR_G; - s->opt[OPT_GAMMA_VECTOR_G].desc = SANE_DESC_GAMMA_VECTOR_G; - init_gamma_vector_option (s, OPT_GAMMA_VECTOR_G); - - /* blue gamma vector */ - s->opt[OPT_GAMMA_VECTOR_B].name = SANE_NAME_GAMMA_VECTOR_B; - s->opt[OPT_GAMMA_VECTOR_B].title = SANE_TITLE_GAMMA_VECTOR_B; - s->opt[OPT_GAMMA_VECTOR_B].desc = SANE_DESC_GAMMA_VECTOR_B; - init_gamma_vector_option (s, OPT_GAMMA_VECTOR_B); - - /* currently, there are only gamma table options in this group, - * so if the scanner doesn't support gamma table, disable the - * whole group */ - if (!(model->flags & GENESYS_FLAG_CUSTOM_GAMMA)) - { - s->opt[OPT_ENHANCEMENT_GROUP].cap |= SANE_CAP_INACTIVE; - s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_INACTIVE; - DBG (DBG_info, "init_options: custom gamma disabled\n"); - } - - /* software base image enhancements, these are consuming as many - * memory than used by the full scanned image and may fail at high - * resolution - */ - /* software deskew */ - s->opt[OPT_SWDESKEW].name = "swdeskew"; - s->opt[OPT_SWDESKEW].title = "Software deskew"; - s->opt[OPT_SWDESKEW].desc = "Request backend to rotate skewed pages digitally"; - s->opt[OPT_SWDESKEW].type = SANE_TYPE_BOOL; - s->opt[OPT_SWDESKEW].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; - s->val[OPT_SWDESKEW].b = SANE_FALSE; - - /* software deskew */ - s->opt[OPT_SWDESPECK].name = "swdespeck"; - s->opt[OPT_SWDESPECK].title = "Software despeck"; - s->opt[OPT_SWDESPECK].desc = "Request backend to remove lone dots digitally"; - s->opt[OPT_SWDESPECK].type = SANE_TYPE_BOOL; - s->opt[OPT_SWDESPECK].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; - s->val[OPT_SWDESPECK].b = SANE_FALSE; - - /* software despeckle radius */ - s->opt[OPT_DESPECK].name = "despeck"; - s->opt[OPT_DESPECK].title = "Software despeckle diameter"; - s->opt[OPT_DESPECK].desc = "Maximum diameter of lone dots to remove from scan"; - s->opt[OPT_DESPECK].type = SANE_TYPE_INT; - s->opt[OPT_DESPECK].unit = SANE_UNIT_NONE; - s->opt[OPT_DESPECK].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_DESPECK].constraint.range = &swdespeck_range; - s->opt[OPT_DESPECK].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED | SANE_CAP_INACTIVE; - s->val[OPT_DESPECK].w = 1; - - /* crop by software */ - s->opt[OPT_SWCROP].name = "swcrop"; - s->opt[OPT_SWCROP].title = SANE_I18N ("Software crop"); - s->opt[OPT_SWCROP].desc = SANE_I18N ("Request backend to remove border from pages digitally"); - s->opt[OPT_SWCROP].type = SANE_TYPE_BOOL; - s->opt[OPT_SWCROP].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; - s->opt[OPT_SWCROP].unit = SANE_UNIT_NONE; - s->val[OPT_SWCROP].b = SANE_FALSE; - - /* Software blank page skip */ - s->opt[OPT_SWSKIP].name = "swskip"; - s->opt[OPT_SWSKIP].title = SANE_I18N ("Software blank skip percentage"); - s->opt[OPT_SWSKIP].desc = SANE_I18N("Request driver to discard pages with low numbers of dark pixels"); - s->opt[OPT_SWSKIP].type = SANE_TYPE_FIXED; - s->opt[OPT_SWSKIP].unit = SANE_UNIT_PERCENT; - s->opt[OPT_SWSKIP].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_SWSKIP].constraint.range = &(percentage_range); - s->opt[OPT_SWSKIP].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; - /* disable by default */ - s->val[OPT_SWSKIP].w = 0; - - /* Software Derotate */ - s->opt[OPT_SWDEROTATE].name = "swderotate"; - s->opt[OPT_SWDEROTATE].title = SANE_I18N ("Software derotate"); - s->opt[OPT_SWDEROTATE].desc = SANE_I18N("Request driver to detect and correct 90 degree image rotation"); - s->opt[OPT_SWDEROTATE].type = SANE_TYPE_BOOL; - s->opt[OPT_SWDEROTATE].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; - s->opt[OPT_SWDEROTATE].unit = SANE_UNIT_NONE; - s->val[OPT_SWDEROTATE].b = SANE_FALSE; - - /* Software brightness */ - s->opt[OPT_BRIGHTNESS].name = SANE_NAME_BRIGHTNESS; - s->opt[OPT_BRIGHTNESS].title = SANE_TITLE_BRIGHTNESS; - s->opt[OPT_BRIGHTNESS].desc = SANE_DESC_BRIGHTNESS; - s->opt[OPT_BRIGHTNESS].type = SANE_TYPE_INT; - s->opt[OPT_BRIGHTNESS].unit = SANE_UNIT_NONE; - s->opt[OPT_BRIGHTNESS].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_BRIGHTNESS].constraint.range = &(enhance_range); - s->opt[OPT_BRIGHTNESS].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - /* disable by default */ - s->val[OPT_BRIGHTNESS].w = 0; - - /* Sowftware contrast */ - s->opt[OPT_CONTRAST].name = SANE_NAME_CONTRAST; - s->opt[OPT_CONTRAST].title = SANE_TITLE_CONTRAST; - s->opt[OPT_CONTRAST].desc = SANE_DESC_CONTRAST; - s->opt[OPT_CONTRAST].type = SANE_TYPE_INT; - s->opt[OPT_CONTRAST].unit = SANE_UNIT_NONE; - s->opt[OPT_CONTRAST].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_CONTRAST].constraint.range = &(enhance_range); - s->opt[OPT_CONTRAST].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - /* disable by default */ - s->val[OPT_CONTRAST].w = 0; - - /* "Extras" group: */ - s->opt[OPT_EXTRAS_GROUP].title = SANE_I18N ("Extras"); - s->opt[OPT_EXTRAS_GROUP].desc = ""; - s->opt[OPT_EXTRAS_GROUP].type = SANE_TYPE_GROUP; - s->opt[OPT_EXTRAS_GROUP].cap = SANE_CAP_ADVANCED; - s->opt[OPT_EXTRAS_GROUP].size = 0; - s->opt[OPT_EXTRAS_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - - /* BW threshold */ - s->opt[OPT_THRESHOLD].name = SANE_NAME_THRESHOLD; - s->opt[OPT_THRESHOLD].title = SANE_TITLE_THRESHOLD; - s->opt[OPT_THRESHOLD].desc = SANE_DESC_THRESHOLD; - s->opt[OPT_THRESHOLD].type = SANE_TYPE_FIXED; - s->opt[OPT_THRESHOLD].unit = SANE_UNIT_PERCENT; - s->opt[OPT_THRESHOLD].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_THRESHOLD].constraint.range = &percentage_range; - s->val[OPT_THRESHOLD].w = SANE_FIX (50); - - /* BW threshold curve */ - s->opt[OPT_THRESHOLD_CURVE].name = "threshold-curve"; - s->opt[OPT_THRESHOLD_CURVE].title = SANE_I18N ("Threshold curve"); - s->opt[OPT_THRESHOLD_CURVE].desc = SANE_I18N ("Dynamic threshold curve, from light to dark, normally 50-65"); - s->opt[OPT_THRESHOLD_CURVE].type = SANE_TYPE_INT; - s->opt[OPT_THRESHOLD_CURVE].unit = SANE_UNIT_NONE; - s->opt[OPT_THRESHOLD_CURVE].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_THRESHOLD_CURVE].constraint.range = &threshold_curve_range; - s->val[OPT_THRESHOLD_CURVE].w = 50; - - /* dynamic linart */ - s->opt[OPT_DISABLE_DYNAMIC_LINEART].name = "disable-dynamic-lineart"; - s->opt[OPT_DISABLE_DYNAMIC_LINEART].title = SANE_I18N ("Disable dynamic lineart"); - s->opt[OPT_DISABLE_DYNAMIC_LINEART].desc = - SANE_I18N ("Disable use of a software adaptive algorithm to generate lineart relying instead on hardware lineart."); - s->opt[OPT_DISABLE_DYNAMIC_LINEART].type = SANE_TYPE_BOOL; - s->opt[OPT_DISABLE_DYNAMIC_LINEART].unit = SANE_UNIT_NONE; - s->opt[OPT_DISABLE_DYNAMIC_LINEART].constraint_type = SANE_CONSTRAINT_NONE; - s->val[OPT_DISABLE_DYNAMIC_LINEART].w = SANE_FALSE; - - /* fastmod is required for hw lineart to work */ - if ((s->dev->model->asic_type == GENESYS_GL646) - &&(s->dev->model->motor_type != MOTOR_XP200)) - { - s->opt[OPT_DISABLE_DYNAMIC_LINEART].cap = SANE_CAP_INACTIVE; - } - - /* disable_interpolation */ - s->opt[OPT_DISABLE_INTERPOLATION].name = "disable-interpolation"; - s->opt[OPT_DISABLE_INTERPOLATION].title = - SANE_I18N ("Disable interpolation"); - s->opt[OPT_DISABLE_INTERPOLATION].desc = - SANE_I18N - ("When using high resolutions where the horizontal resolution is smaller " - "than the vertical resolution this disables horizontal interpolation."); - s->opt[OPT_DISABLE_INTERPOLATION].type = SANE_TYPE_BOOL; - s->opt[OPT_DISABLE_INTERPOLATION].unit = SANE_UNIT_NONE; - s->opt[OPT_DISABLE_INTERPOLATION].constraint_type = SANE_CONSTRAINT_NONE; - s->val[OPT_DISABLE_INTERPOLATION].w = SANE_FALSE; - - /* color filter */ - s->opt[OPT_COLOR_FILTER].name = "color-filter"; - s->opt[OPT_COLOR_FILTER].title = SANE_I18N ("Color filter"); - s->opt[OPT_COLOR_FILTER].desc = - SANE_I18N - ("When using gray or lineart this option selects the used color."); - s->opt[OPT_COLOR_FILTER].type = SANE_TYPE_STRING; - s->opt[OPT_COLOR_FILTER].constraint_type = SANE_CONSTRAINT_STRING_LIST; - /* true gray not yet supported for GL847 and GL124 scanners */ - if(!model->is_cis || model->asic_type==GENESYS_GL847 || model->asic_type==GENESYS_GL124) - { - s->opt[OPT_COLOR_FILTER].size = max_string_size (color_filter_list); - s->opt[OPT_COLOR_FILTER].constraint.string_list = color_filter_list; - s->val[OPT_COLOR_FILTER].s = strdup (s->opt[OPT_COLOR_FILTER].constraint.string_list[1]); - } - else - { - s->opt[OPT_COLOR_FILTER].size = max_string_size (cis_color_filter_list); - s->opt[OPT_COLOR_FILTER].constraint.string_list = cis_color_filter_list; - /* default to "None" ie true gray */ - s->val[OPT_COLOR_FILTER].s = strdup (s->opt[OPT_COLOR_FILTER].constraint.string_list[3]); - } - - /* no support for color filter for cis+gl646 scanners */ - if (model->asic_type == GENESYS_GL646 && model->is_cis) - { - DISABLE (OPT_COLOR_FILTER); - } - - /* calibration store file name */ - s->opt[OPT_CALIBRATION_FILE].name = "calibration-file"; - s->opt[OPT_CALIBRATION_FILE].title = SANE_I18N ("Calibration file"); - s->opt[OPT_CALIBRATION_FILE].desc = SANE_I18N ("Specify the calibration file to use"); - s->opt[OPT_CALIBRATION_FILE].type = SANE_TYPE_STRING; - s->opt[OPT_CALIBRATION_FILE].unit = SANE_UNIT_NONE; - s->opt[OPT_CALIBRATION_FILE].size = PATH_MAX; - s->opt[OPT_CALIBRATION_FILE].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED; - s->opt[OPT_CALIBRATION_FILE].constraint_type = SANE_CONSTRAINT_NONE; - s->val[OPT_CALIBRATION_FILE].s = NULL; - /* disable option if ran as root */ -#ifdef HAVE_GETUID - if(geteuid()==0) - { - DISABLE (OPT_CALIBRATION_FILE); - } -#endif - - /* expiration time for calibration cache entries */ - s->opt[OPT_EXPIRATION_TIME].name = "expiration-time"; - s->opt[OPT_EXPIRATION_TIME].title = SANE_I18N ("Calibration cache expiration time"); - s->opt[OPT_EXPIRATION_TIME].desc = SANE_I18N ("Time (in minutes) before a cached calibration expires. " - "A value of 0 means cache is not used. A negative value means cache never expires."); - s->opt[OPT_EXPIRATION_TIME].type = SANE_TYPE_INT; - s->opt[OPT_EXPIRATION_TIME].unit = SANE_UNIT_NONE; - s->opt[OPT_EXPIRATION_TIME].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_EXPIRATION_TIME].constraint.range = &expiration_range; - s->val[OPT_EXPIRATION_TIME].w = 60; /* 60 minutes by default */ - - /* Powersave time (turn lamp off) */ - s->opt[OPT_LAMP_OFF_TIME].name = "lamp-off-time"; - s->opt[OPT_LAMP_OFF_TIME].title = SANE_I18N ("Lamp off time"); - s->opt[OPT_LAMP_OFF_TIME].desc = - SANE_I18N - ("The lamp will be turned off after the given time (in minutes). " - "A value of 0 means, that the lamp won't be turned off."); - s->opt[OPT_LAMP_OFF_TIME].type = SANE_TYPE_INT; - s->opt[OPT_LAMP_OFF_TIME].unit = SANE_UNIT_NONE; - s->opt[OPT_LAMP_OFF_TIME].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_LAMP_OFF_TIME].constraint.range = &time_range; - s->val[OPT_LAMP_OFF_TIME].w = 15; /* 15 minutes */ - - /* turn lamp off during scan */ - s->opt[OPT_LAMP_OFF].name = "lamp-off-scan"; - s->opt[OPT_LAMP_OFF].title = SANE_I18N ("Lamp off during scan"); - s->opt[OPT_LAMP_OFF].desc = SANE_I18N ("The lamp will be turned off during scan. "); - s->opt[OPT_LAMP_OFF].type = SANE_TYPE_BOOL; - s->opt[OPT_LAMP_OFF].unit = SANE_UNIT_NONE; - s->opt[OPT_LAMP_OFF].constraint_type = SANE_CONSTRAINT_NONE; - s->val[OPT_LAMP_OFF].w = SANE_FALSE; - - s->opt[OPT_SENSOR_GROUP].title = SANE_TITLE_SENSORS; - s->opt[OPT_SENSOR_GROUP].desc = SANE_DESC_SENSORS; - s->opt[OPT_SENSOR_GROUP].type = SANE_TYPE_GROUP; - s->opt[OPT_SENSOR_GROUP].cap = SANE_CAP_ADVANCED; - s->opt[OPT_SENSOR_GROUP].size = 0; - s->opt[OPT_SENSOR_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - - s->opt[OPT_SCAN_SW].name = SANE_NAME_SCAN; - s->opt[OPT_SCAN_SW].title = SANE_TITLE_SCAN; - s->opt[OPT_SCAN_SW].desc = SANE_DESC_SCAN; - s->opt[OPT_SCAN_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_SCAN_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_SCAN_SW) - s->opt[OPT_SCAN_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_SCAN_SW].cap = SANE_CAP_INACTIVE; - s->val[OPT_SCAN_SW].b = 0; - s->last_val[OPT_SCAN_SW].b = 0; - - /* SANE_NAME_FILE is not for buttons */ - s->opt[OPT_FILE_SW].name = "file"; - s->opt[OPT_FILE_SW].title = SANE_I18N ("File button"); - s->opt[OPT_FILE_SW].desc = SANE_I18N ("File button"); - s->opt[OPT_FILE_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_FILE_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_FILE_SW) - s->opt[OPT_FILE_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_FILE_SW].cap = SANE_CAP_INACTIVE; - s->val[OPT_FILE_SW].b = 0; - s->last_val[OPT_FILE_SW].b = 0; - - s->opt[OPT_EMAIL_SW].name = SANE_NAME_EMAIL; - s->opt[OPT_EMAIL_SW].title = SANE_TITLE_EMAIL; - s->opt[OPT_EMAIL_SW].desc = SANE_DESC_EMAIL; - s->opt[OPT_EMAIL_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_EMAIL_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_EMAIL_SW) - s->opt[OPT_EMAIL_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_EMAIL_SW].cap = SANE_CAP_INACTIVE; - s->val[OPT_EMAIL_SW].b = 0; - s->last_val[OPT_EMAIL_SW].b = 0; - - s->opt[OPT_COPY_SW].name = SANE_NAME_COPY; - s->opt[OPT_COPY_SW].title = SANE_TITLE_COPY; - s->opt[OPT_COPY_SW].desc = SANE_DESC_COPY; - s->opt[OPT_COPY_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_COPY_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_COPY_SW) - s->opt[OPT_COPY_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_COPY_SW].cap = SANE_CAP_INACTIVE; - s->val[OPT_COPY_SW].b = 0; - s->last_val[OPT_COPY_SW].b = 0; - - s->opt[OPT_PAGE_LOADED_SW].name = SANE_NAME_PAGE_LOADED; - s->opt[OPT_PAGE_LOADED_SW].title = SANE_TITLE_PAGE_LOADED; - s->opt[OPT_PAGE_LOADED_SW].desc = SANE_DESC_PAGE_LOADED; - s->opt[OPT_PAGE_LOADED_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_PAGE_LOADED_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_PAGE_LOADED_SW) - s->opt[OPT_PAGE_LOADED_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_PAGE_LOADED_SW].cap = SANE_CAP_INACTIVE; - s->val[OPT_PAGE_LOADED_SW].b = 0; - s->last_val[OPT_PAGE_LOADED_SW].b = 0; - - /* OCR button */ - s->opt[OPT_OCR_SW].name = "ocr"; - s->opt[OPT_OCR_SW].title = SANE_I18N ("OCR button"); - s->opt[OPT_OCR_SW].desc = SANE_I18N ("OCR button"); - s->opt[OPT_OCR_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_OCR_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_OCR_SW) - s->opt[OPT_OCR_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_OCR_SW].cap = SANE_CAP_INACTIVE; - s->val[OPT_OCR_SW].b = 0; - s->last_val[OPT_OCR_SW].b = 0; - - /* power button */ - s->opt[OPT_POWER_SW].name = "power"; - s->opt[OPT_POWER_SW].title = SANE_I18N ("Power button"); - s->opt[OPT_POWER_SW].desc = SANE_I18N ("Power button"); - s->opt[OPT_POWER_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_POWER_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_POWER_SW) - s->opt[OPT_POWER_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_POWER_SW].cap = SANE_CAP_INACTIVE; - s->val[OPT_POWER_SW].b = 0; - s->last_val[OPT_POWER_SW].b = 0; - - /* extra button */ - s->opt[OPT_EXTRA_SW].name = "extra"; - s->opt[OPT_EXTRA_SW].title = SANE_I18N ("Extra button"); - s->opt[OPT_EXTRA_SW].desc = SANE_I18N ("Extra button"); - s->opt[OPT_EXTRA_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_EXTRA_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_EXTRA_SW) - s->opt[OPT_EXTRA_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_EXTRA_SW].cap = SANE_CAP_INACTIVE; - s->val[OPT_EXTRA_SW].b = 0; - s->last_val[OPT_EXTRA_SW].b = 0; - - /* calibration needed */ - s->opt[OPT_NEED_CALIBRATION_SW].name = "need-calibration"; - s->opt[OPT_NEED_CALIBRATION_SW].title = SANE_I18N ("Need calibration"); - s->opt[OPT_NEED_CALIBRATION_SW].desc = SANE_I18N ("The scanner needs calibration for the current settings"); - s->opt[OPT_NEED_CALIBRATION_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_NEED_CALIBRATION_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_CALIBRATE) - s->opt[OPT_NEED_CALIBRATION_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_NEED_CALIBRATION_SW].cap = SANE_CAP_INACTIVE; - s->val[OPT_NEED_CALIBRATION_SW].b = 0; - s->last_val[OPT_NEED_CALIBRATION_SW].b = 0; - - /* button group */ - s->opt[OPT_BUTTON_GROUP].title = SANE_I18N ("Buttons"); - s->opt[OPT_BUTTON_GROUP].desc = ""; - s->opt[OPT_BUTTON_GROUP].type = SANE_TYPE_GROUP; - s->opt[OPT_BUTTON_GROUP].cap = SANE_CAP_ADVANCED; - s->opt[OPT_BUTTON_GROUP].size = 0; - s->opt[OPT_BUTTON_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - - /* calibrate button */ - s->opt[OPT_CALIBRATE].name = "calibrate"; - s->opt[OPT_CALIBRATE].title = SANE_I18N ("Calibrate"); - s->opt[OPT_CALIBRATE].desc = - SANE_I18N ("Start calibration using special sheet"); - s->opt[OPT_CALIBRATE].type = SANE_TYPE_BUTTON; - s->opt[OPT_CALIBRATE].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_CALIBRATE) - s->opt[OPT_CALIBRATE].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED | - SANE_CAP_AUTOMATIC; - else - s->opt[OPT_CALIBRATE].cap = SANE_CAP_INACTIVE; - s->val[OPT_CALIBRATE].b = 0; - s->last_val[OPT_CALIBRATE].b = 0; - - /* clear calibration cache button */ - s->opt[OPT_CLEAR_CALIBRATION].name = "clear-calibration"; - s->opt[OPT_CLEAR_CALIBRATION].title = SANE_I18N ("Clear calibration"); - s->opt[OPT_CLEAR_CALIBRATION].desc = SANE_I18N ("Clear calibration cache"); - s->opt[OPT_CLEAR_CALIBRATION].type = SANE_TYPE_BUTTON; - s->opt[OPT_CLEAR_CALIBRATION].unit = SANE_UNIT_NONE; - s->opt[OPT_CLEAR_CALIBRATION].size = 0; - s->opt[OPT_CLEAR_CALIBRATION].constraint_type = SANE_CONSTRAINT_NONE; - s->opt[OPT_CLEAR_CALIBRATION].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED; - s->val[OPT_CLEAR_CALIBRATION].b = 0; - s->last_val[OPT_CLEAR_CALIBRATION].b = 0; - - RIE (calc_parameters (s)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Bool present; -static SANE_Status -check_present (SANE_String_Const devname) -{ - present=SANE_TRUE; - DBG (DBG_io, "check_present: %s detected.\n",devname); - return SANE_STATUS_GOOD; -} - -/** @brief add a scanner device - * Insert the given device into the backend list of devices. - * @param dev device to add - */ -GENESYS_STATIC void add_device(Genesys_Device *dev) -{ - ++num_devices; - dev->next = first_dev; - first_dev = dev; -} - -static SANE_Status -attach (SANE_String_Const devname, Genesys_Device ** devp, SANE_Bool may_wait) -{ - Genesys_Device *dev = 0; - SANE_Int dn, vendor, product; - SANE_Status status; - unsigned int i; - - - DBG (DBG_proc, "attach: start: devp %s NULL, may_wait = %d\n", - devp ? "!=" : "==", may_wait); - - if (devp) - *devp = 0; - - if (!devname) - { - DBG (DBG_error, "attach: devname == NULL\n"); - return SANE_STATUS_INVAL; - } - - for (dev = first_dev; dev; dev = dev->next) - { - if (strcmp (dev->file_name, devname) == 0) - { - if (devp) - *devp = dev; - DBG (DBG_info, "attach: device `%s' was already in device list\n", - devname); - return SANE_STATUS_GOOD; - } - } - - DBG (DBG_info, "attach: trying to open device `%s'\n", devname); - - status = sanei_usb_open (devname, &dn); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_warn, "attach: couldn't open device `%s': %s\n", devname, - sane_strstatus (status)); - return status; - } - else - DBG (DBG_info, "attach: device `%s' successfully opened\n", devname); - - status = sanei_usb_get_vendor_product (dn, &vendor, &product); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "attach: couldn't get vendor and product ids of device `%s': %s\n", - devname, sane_strstatus (status)); - return status; - } - - /* KV-SS080 is an auxiliary device which requires a master device to be here */ - if(vendor == 0x04da && product == 0x100f) - { - present=SANE_FALSE; - sanei_usb_find_devices (vendor, 0x1006, check_present); - sanei_usb_find_devices (vendor, 0x1007, check_present); - sanei_usb_find_devices (vendor, 0x1010, check_present); - if(present==SANE_FALSE) - { - DBG (DBG_error,"attach: master device not present\n"); - return SANE_STATUS_INVAL; - } - } - - for (i = 0; i < MAX_SCANNERS && genesys_usb_device_list[i].model != 0; i++) - { - if (vendor == genesys_usb_device_list[i].vendor && - product == genesys_usb_device_list[i].product) - { - dev = malloc (sizeof (*dev)); - if (!dev) - return SANE_STATUS_NO_MEM; - break; - } - } - - if (!dev) - { - DBG (DBG_error, - "attach: vendor %d product %d is not supported by this backend\n", - vendor, product); - return SANE_STATUS_INVAL; - } - - dev->file_name = strdup (devname); - if (!dev->file_name) - { - free(dev); - return SANE_STATUS_NO_MEM; - } - - dev->model = genesys_usb_device_list[i].model; - dev->vendorId = genesys_usb_device_list[i].vendor; - dev->productId = genesys_usb_device_list[i].product; - dev->already_initialized = SANE_FALSE; - - DBG (DBG_info, "attach: found %s flatbed scanner %s at %s\n", - dev->model->vendor, dev->model->model, dev->file_name); - add_device(dev); - - if (devp) - *devp = dev; - sanei_usb_close (dn); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -attach_one_device (SANE_String_Const devname) -{ - Genesys_Device *dev; - SANE_Status status; - Genesys_Device **tmp_dev; - - RIE (attach (devname, &dev, SANE_FALSE)); - - if (dev) - { - /* Keep track of newly attached devices so we can set options as - necessary. */ - tmp_dev=NULL; - /* increase device list capacity if needed */ - if (new_dev_len >= new_dev_alloced) - { - new_dev_alloced += 4; - if (new_dev) - { - tmp_dev = new_dev; - new_dev = realloc (new_dev, new_dev_alloced * sizeof (new_dev[0])); - } - else - { - new_dev = malloc (new_dev_alloced * sizeof (new_dev[0])); - tmp_dev = NULL; - } - if (!new_dev) - { - FREE_IFNOT_NULL(tmp_dev) - DBG (DBG_error, "attach_one_device: out of memory\n"); - return SANE_STATUS_NO_MEM; - } - } - new_dev[new_dev_len++] = dev; - } - return SANE_STATUS_GOOD; -} - -/* configuration framework functions */ -static SANE_Status -config_attach_genesys (SANEI_Config __sane_unused__ *config, const char *devname) -{ - /* the devname has been processed and is ready to be used - * directly. Since the backend is an USB only one, we can - * call sanei_usb_attach_matching_devices straight */ - sanei_usb_attach_matching_devices (devname, attach_one_device); - - return SANE_STATUS_GOOD; -} - -/* probes for scanner to attach to the backend */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -probe_genesys_devices (void) -{ - SANEI_Config config; - SANE_Status status; - - DBGSTART; - - new_dev = 0; - new_dev_len = 0; - new_dev_alloced = 0; - - /* set configuration options structure : no option for this backend */ - config.descriptors = NULL; - config.values = NULL; - config.count = 0; - - /* generic configure and attach function */ - status = sanei_configure_attach (GENESYS_CONFIG_FILE, &config, - config_attach_genesys); - - if (new_dev_alloced > 0) - { - new_dev_len = new_dev_alloced = 0; - free (new_dev); - } - - DBG(DBG_info, "%s: %d devices currently attached\n", __func__, num_devices); - - DBGCOMPLETED; - - return status; -} - -/** - * This should be changed if one of the substructures of - Genesys_Calibration_Cache change, but it must be changed if there are - changes that don't change size -- at least for now, as we store most - of Genesys_Calibration_Cache as is. -*/ -#define CALIBRATION_VERSION 1 - -/** - * reads previously cached calibration data - * from file define in dev->calib_file - */ -SANE_Status -sanei_genesys_read_calibration (Genesys_Device * dev) -{ - FILE *fp; - uint8_t vers = 0; - uint32_t size = 0; - struct Genesys_Calibration_Cache *cache; - SANE_Status status=SANE_STATUS_GOOD; - - DBGSTART; - - /* open calibration cache file */ - fp = fopen (dev->calib_file, "rb"); - if (!fp) - { - DBG (DBG_info, "Calibration: Cannot open %s\n", dev->calib_file); - DBGCOMPLETED; - return SANE_STATUS_IO_ERROR; - } - - /* these two checks ensure that most bad things cannot happen */ - fread (&vers, 1, 1, fp); - if (vers != CALIBRATION_VERSION) - { - DBG (DBG_info, "Calibration: Bad version\n"); - fclose (fp); - DBGCOMPLETED; - return SANE_STATUS_INVAL; - } - fread (&size, 4, 1, fp); - if (size != sizeof (struct Genesys_Calibration_Cache)) - { - DBG (DBG_info, - "Calibration: Size of calibration cache struct differs\n"); - fclose (fp); - DBGCOMPLETED; - return SANE_STATUS_INVAL; - } - - /* clear device calibration cache */ - while(dev->calibration_cache!=NULL) - { - cache=dev->calibration_cache; - dev->calibration_cache=dev->calibration_cache->next; - free(cache); - } - - /* loop on cache records in file */ - while (!feof (fp) && status==SANE_STATUS_GOOD) - { - DBG (DBG_info, "sanei_genesys_read_calibration: reading one record\n"); - cache = (struct Genesys_Calibration_Cache *) malloc (sizeof (*cache)); - - if (!cache) - { - DBG (DBG_error, - "sanei_genesys_read_calibration: could not allocate cache struct\n"); - break; - } - -#define BILT1( x ) \ - do \ - { \ - if ((x) < 1) \ - { \ - free(cache); \ - DBG (DBG_warn, "sanei_genesys_read_calibration: partial calibration record\n"); \ - status=SANE_STATUS_EOF; \ - break; \ - } \ - } while(0) - - - if (fread (&cache->used_setup, sizeof (cache->used_setup), 1, fp) < 1) - { /* eof is only detected here */ - free (cache); - status=SANE_STATUS_GOOD; - break; - } - BILT1 (fread (&cache->last_calibration, sizeof (cache->last_calibration), 1, fp)); - BILT1 (fread (&cache->frontend, sizeof (cache->frontend), 1, fp)); - /* the gamma (and later) fields are not stored */ - BILT1 (fread (&cache->sensor, offsetof (Genesys_Sensor, gamma[0]), 1, fp)); - BILT1 (fread (&cache->calib_pixels, sizeof (cache->calib_pixels), 1, fp)); - BILT1 (fread (&cache->calib_channels, sizeof (cache->calib_channels), 1, fp)); - BILT1 (fread (&cache->average_size, sizeof (cache->average_size), 1, fp)); - - cache->white_average_data = (uint8_t *) malloc (cache->average_size); - cache->dark_average_data = (uint8_t *) malloc (cache->average_size); - - if (!cache->white_average_data || !cache->dark_average_data) - { - status=SANE_STATUS_NO_MEM; - FREE_IFNOT_NULL (cache->white_average_data); - FREE_IFNOT_NULL (cache->dark_average_data); - free (cache); - DBG (DBG_error, - "sanei_genesys_read_calibration: could not allocate space for average data\n"); - break; - } - - if (fread (cache->white_average_data, cache->average_size, 1, fp) < 1) - { - status=SANE_STATUS_EOF; - DBG (DBG_warn, "sanei_genesys_read_calibration: partial calibration record\n"); - free (cache->white_average_data); - free (cache->dark_average_data); - free (cache); - break; - } - if (fread (cache->dark_average_data, cache->average_size, 1, fp) < 1) - { - DBG (DBG_warn, "sanei_genesys_read_calibration: partial calibration record\n"); - free (cache->white_average_data); - free (cache->dark_average_data); - free (cache); - status=SANE_STATUS_EOF; - break; - } -#undef BILT1 - DBG (DBG_info, "sanei_genesys_read_calibration: adding record to list\n"); - cache->next = dev->calibration_cache; - dev->calibration_cache = cache; - } - - fclose (fp); - DBGCOMPLETED; - return status; -} - -static void -write_calibration (Genesys_Device * dev) -{ - FILE *fp; - uint8_t vers = 0; - uint32_t size = 0; - struct Genesys_Calibration_Cache *cache; - - DBGSTART; - fp = fopen (dev->calib_file, "wb"); - if (!fp) - { - DBG (DBG_info, "write_calibration: Cannot open %s for writing\n", dev->calib_file); - return; - } - - vers = CALIBRATION_VERSION; - fwrite (&vers, 1, 1, fp); - size = sizeof (struct Genesys_Calibration_Cache); - fwrite (&size, 4, 1, fp); - - for (cache = dev->calibration_cache; cache; cache = cache->next) - { - fwrite (&cache->used_setup, sizeof (cache->used_setup), 1, fp); - fwrite (&cache->last_calibration, sizeof (cache->last_calibration), 1, fp); - fwrite (&cache->frontend, sizeof (cache->frontend), 1, fp); - /* the gamma (and later) fields are not stored */ - fwrite (&cache->sensor, offsetof (Genesys_Sensor, gamma[0]), 1, fp); - - fwrite (&cache->calib_pixels, sizeof (cache->calib_pixels), 1, fp); - fwrite (&cache->calib_channels, sizeof (cache->calib_channels), 1, fp); - fwrite (&cache->average_size, sizeof (cache->average_size), 1, fp); - fwrite (cache->white_average_data, cache->average_size, 1, fp); - fwrite (cache->dark_average_data, cache->average_size, 1, fp); - } - DBGCOMPLETED; - fclose (fp); -} - -/** @brief buffer scanned picture - * In order to allow digital processing, we must be able to put all the - * scanned picture in a buffer. - */ -static SANE_Status -genesys_buffer_image(Genesys_Scanner *s) -{ - SANE_Status status = SANE_STATUS_GOOD; - size_t maximum; /**> maximum bytes size of the scan */ - size_t len; /**> length of scanned data read */ - size_t total; /**> total of butes read */ - size_t size; /**> size of image buffer */ - size_t read_size; /**> size of reads */ - int lines; /** number of lines of the scan */ - Genesys_Device *dev = s->dev; - SANE_Byte *lineart=NULL; - - /* compute maximum number of lines for the scan */ - if (s->params.lines > 0) - { - lines = s->params.lines; - } - else - { - lines = - (SANE_UNFIX (dev->model->y_size) * dev->settings.yres) / MM_PER_INCH; - } - DBG (DBG_info, "%s: buffering %d lines of %d bytes\n", __func__, lines, - s->params.bytes_per_line); - - /* maximum bytes to read */ - maximum = s->params.bytes_per_line * lines; - if(s->dev->settings.dynamic_lineart==SANE_TRUE) - { - maximum *= 8; - } - - /* initial size of the read buffer */ - size = - ((2048 * 2048) / s->params.bytes_per_line) * s->params.bytes_per_line; - - /* read size */ - read_size = size / 2; - - /* allocate memory */ - dev->img_buffer = (SANE_Byte *) malloc (size); - if (dev->img_buffer == NULL) - { - DBG (DBG_error, - "%s: digital processing requires too much memory.\nConsider disabling it\n", - __func__); - return SANE_STATUS_NO_MEM; - } - - /* loop reading data until we reach maximum or EOF */ - total = 0; - while (total < maximum && status != SANE_STATUS_EOF) - { - len = size - maximum; - if (len > read_size) - { - len = read_size; - } - status = genesys_read_ordered_data (dev, dev->img_buffer + total, &len); - if (status != SANE_STATUS_EOF && status != SANE_STATUS_GOOD) - { - free (s->dev->img_buffer); - DBG (DBG_error, "%s: %s buffering failed\n", __func__, - sane_strstatus (status)); - return status; - } - total += len; - - /* do we need to enlarge read buffer ? */ - if (total + read_size > size && status != SANE_STATUS_EOF) - { - size += read_size; - dev->img_buffer = (SANE_Byte *) realloc (dev->img_buffer, size); - if (dev->img_buffer == NULL) - { - DBG (DBG_error0, - "%s: digital processing requires too much memory.\nConsider disabling it\n", - __func__); - return SANE_STATUS_NO_MEM; - } - } - } - - /* since digital processing is going to take place, - * issue head parking command so that the head move while - * computing so we can save time - */ - if (dev->model->is_sheetfed == SANE_FALSE && - dev->parking == SANE_FALSE) - { - dev->model->cmd_set->slow_back_home (dev, dev->model->flags & GENESYS_FLAG_MUST_WAIT); - dev->parking = !(s->dev->model->flags & GENESYS_FLAG_MUST_WAIT); - } - - /* in case of dynamic lineart, we have buffered gray data which - * must be converted to lineart first */ - if(s->dev->settings.dynamic_lineart==SANE_TRUE) - { - total/=8; - lineart=(SANE_Byte *)malloc(total); - if (lineart == NULL) - { - DBG (DBG_error0, - "%s: digital processing requires too much memory.\nConsider disabling it\n", - __func__); - return SANE_STATUS_NO_MEM; - } - genesys_gray_lineart (dev, - dev->img_buffer, - lineart, - dev->settings.pixels, - (total*8)/dev->settings.pixels, - dev->settings.threshold); - free(dev->img_buffer); - dev->img_buffer = lineart; - } - - /* update counters */ - dev->total_bytes_to_read = total; - dev->total_bytes_read = 0; - - /* update params */ - s->params.lines = total / s->params.bytes_per_line; - if (DBG_LEVEL >= DBG_io2) - { - sanei_genesys_write_pnm_file ("unprocessed.pnm", - dev->img_buffer, - s->params.depth, - s->params.format==SANE_FRAME_RGB ? 3:1, - s->params.pixels_per_line, - s->params.lines); - } - - return SANE_STATUS_GOOD; -} - -/* -------------------------- SANE API functions ------------------------- */ - -SANE_Status -sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) -{ - SANE_Status status; - - DBG_INIT (); - DBG (DBG_init, "SANE Genesys backend version %d.%d build %d from %s\n", - SANE_CURRENT_MAJOR, V_MINOR, BUILD, PACKAGE_STRING); -#ifdef HAVE_LIBUSB - DBG (DBG_init, "SANE Genesys backend built with libusb-1.0\n"); -#endif -#ifdef HAVE_LIBUSB_LEGACY - DBG (DBG_init, "SANE Genesys backend built with libusb\n"); -#endif - - if (version_code) - *version_code = SANE_VERSION_CODE (SANE_CURRENT_MAJOR, V_MINOR, BUILD); - - DBG (DBG_proc, "sane_init: authorize %s null\n", authorize ? "!=" : "=="); - - /* init usb use */ - sanei_usb_init (); - - /* init sanei_magic */ - sanei_magic_init(); - - DBG (DBG_info, "sane_init: %s endian machine\n", -#ifdef WORDS_BIGENDIAN - "big" -#else - "little" -#endif - ); - - /* set up to no devices at first */ - num_devices = 0; - first_dev = 0; - first_handle = 0; - devlist = 0; - - /* cold-plug case :detection of allready connected scanners */ - status = probe_genesys_devices (); - - DBGCOMPLETED; - - return status; -} - -void -sane_exit (void) -{ - Genesys_Device *dev, *next; - - DBGSTART; - for (dev = first_dev; dev; dev = next) - { - /* sane_close() free many fields, not much things left to - * do here */ - next = dev->next; - free (dev->file_name); - free (dev); - } - first_dev = 0; - first_handle = 0; - if (devlist) - free (devlist); - devlist = 0; - - sanei_usb_exit(); - - DBGCOMPLETED; -} - -SANE_Status -sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) -{ - Genesys_Device *dev, *prev; - SANE_Int index; - SANE_Device *sane_device; - - DBG (DBG_proc, "sane_get_devices: start: local_only = %s\n", - local_only == SANE_TRUE ? "true" : "false"); - - /* hot-plug case : detection of newly connected scanners */ - sanei_usb_scan_devices (); - probe_genesys_devices (); - - if (devlist) - free (devlist); - - devlist = malloc ((num_devices + 1) * sizeof (devlist[0])); - if (!devlist) - return SANE_STATUS_NO_MEM; - - prev = NULL; - index = 0; - dev = first_dev; - while (dev != NULL) - { - /* check if device removed */ - present = SANE_FALSE; - sanei_usb_find_devices (dev->vendorId, dev->productId, check_present); - if (present) - { - sane_device = malloc (sizeof (*sane_device)); - if (!sane_device) - return SANE_STATUS_NO_MEM; - sane_device->name = dev->file_name; - sane_device->vendor = dev->model->vendor; - sane_device->model = dev->model->model; - sane_device->type = strdup ("flatbed scanner"); - devlist[index] = sane_device; - index++; - prev = dev; - dev = dev->next; - } - else - { - /* remove device from internal list */ - /* case 1 : removed device is first_dev */ - if (prev == NULL) - { - /* test for another dev */ - if (dev->next == NULL) - { - /* empty the whole list */ - free (dev); - first_dev = NULL; - num_devices = 0; - dev = NULL; - } - else - { - /* assign new start */ - first_dev = dev->next; - num_devices--; - free (dev); - dev = first_dev; - } - } - /* case 2 : removed device is not first_dev */ - else - { - /* link previous dev to next dev */ - prev->next = dev->next; - free (dev); - num_devices--; - - /* next loop */ - dev = prev->next; - } - } - } - devlist[index] = 0; - - *device_list = devlist; - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -SANE_Status -sane_open (SANE_String_Const devicename, SANE_Handle * handle) -{ - Genesys_Device *dev; - SANE_Status status; - Genesys_Scanner *s; - char *tmpstr; - - DBG (DBG_proc, "sane_open: start (devicename = `%s')\n", devicename); - - /* devicename="" or devicename="genesys" are default values that use - * first available device - */ - if (devicename[0] && strcmp ("genesys", devicename) != 0) - { - /* search for the given devicename in the device list */ - for (dev = first_dev; dev; dev = dev->next) - if (strcmp (dev->file_name, devicename) == 0) - break; - - if (!dev) - { - DBG (DBG_info, - "sane_open: couldn't find `%s' in devlist, trying attach\n", - devicename); - RIE (attach (devicename, &dev, SANE_TRUE)); - } - else - DBG (DBG_info, "sane_open: found `%s' in devlist\n", - dev->model->name); - } - else - { - /* empty devicename or "genesys" -> use first device */ - dev = first_dev; - if (dev) - { - devicename = dev->file_name; - DBG (DBG_info, "sane_open: empty devicename, trying `%s'\n", - devicename); - } - } - - if (!dev) - return SANE_STATUS_INVAL; - - if (dev->model->flags & GENESYS_FLAG_UNTESTED) - { - DBG (DBG_error0, - "WARNING: Your scanner is not fully supported or at least \n"); - DBG (DBG_error0, - " had only limited testing. Please be careful and \n"); - DBG (DBG_error0, " report any failure/success to \n"); - DBG (DBG_error0, - " sane-devel@lists.alioth.debian.org. Please provide as many\n"); - DBG (DBG_error0, - " details as possible, e.g. the exact name of your\n"); - DBG (DBG_error0, " scanner and what does (not) work.\n"); - } - - status = sanei_usb_open (dev->file_name, &dev->dn); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_warn, "sane_open: couldn't open device `%s': %s\n", - dev->file_name, sane_strstatus (status)); - return status; - } - - - s = malloc (sizeof (*s)); - if (!s) - return SANE_STATUS_NO_MEM; - - s->dev = dev; - s->scanning = SANE_FALSE; - s->dev->read_buffer.buffer = NULL; - s->dev->lines_buffer.buffer = NULL; - s->dev->shrink_buffer.buffer = NULL; - s->dev->out_buffer.buffer = NULL; - s->dev->binarize_buffer.buffer = NULL; - s->dev->local_buffer.buffer = NULL; - s->dev->parking = SANE_FALSE; - s->dev->read_active = SANE_FALSE; - s->dev->white_average_data = NULL; - s->dev->dark_average_data = NULL; - s->dev->calibration_cache = NULL; - s->dev->calib_file = NULL; - s->dev->img_buffer = NULL; - s->dev->line_interp = 0; - s->dev->line_count = 0; - s->dev->segnb = 0; - s->dev->oe_buffer.buffer=NULL; - s->dev->binary=NULL; - - /* insert newly opened handle into list of open handles: */ - s->next = first_handle; - first_handle = s; - *handle = s; - - if (!dev->already_initialized) - sanei_genesys_init_structs (dev); - - RIE (init_options (s)); - - if (sanei_genesys_init_cmd_set (s->dev) != SANE_STATUS_GOOD) - { - DBG (DBG_error0, "This device doesn't have a valid command set!!\n"); - return SANE_STATUS_IO_ERROR; - } - - RIE (dev->model->cmd_set->init (dev)); - - /* some hardware capabilities are detected through sensors */ - RIE (s->dev->model->cmd_set->update_hardware_sensors (s)); - - /* here is the place to fetch a stored calibration cache */ - tmpstr=calibration_filename(s->dev); - s->val[OPT_CALIBRATION_FILE].s = strdup (tmpstr); - s->dev->calib_file = strdup (tmpstr); - DBG (DBG_info, "%s: Calibration filename set to:\n", __func__); - DBG (DBG_info, "%s: >%s<\n", __func__, s->dev->calib_file); - free(tmpstr); - - /* now open file, fetch calibration records */ - - sanei_genesys_read_calibration (s->dev); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -void -sane_close (SANE_Handle handle) -{ - Genesys_Scanner *prev, *s; - Genesys_Calibration_Cache *cache, *next_cache; - SANE_Status status; - - DBGSTART; - - /* remove handle from list of open handles: */ - prev = 0; - for (s = first_handle; s; s = s->next) - { - if (s == handle) - break; - prev = s; - } - if (!s) - { - DBG (DBG_error, "sane_close: invalid handle %p\n", handle); - return; /* oops, not a handle we know about */ - } - - /* eject document for sheetfed scanners */ - if (s->dev->model->is_sheetfed == SANE_TRUE) - { - s->dev->model->cmd_set->eject_document (s->dev); - } - else - { - /* in case scanner is parking, wait for the head - * to reach home position */ - if(s->dev->parking==SANE_TRUE) - { - status = sanei_genesys_wait_for_home (s->dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sane_close: failed to wait for head to park: %s\n", - sane_strstatus (status)); - } - } - } - - /* enable power saving before leaving */ - status = s->dev->model->cmd_set->save_power (s->dev, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sane_close: failed to enable power saving mode: %s\n", - sane_strstatus (status)); - } - - /* here is the place to store calibration cache */ - write_calibration (s->dev); - - for (cache = s->dev->calibration_cache; cache; cache = next_cache) - { - next_cache = cache->next; - free (cache->dark_average_data); - free (cache->white_average_data); - free (cache); - } - - sanei_genesys_buffer_free (&(s->dev->read_buffer)); - sanei_genesys_buffer_free (&(s->dev->lines_buffer)); - sanei_genesys_buffer_free (&(s->dev->shrink_buffer)); - sanei_genesys_buffer_free (&(s->dev->out_buffer)); - sanei_genesys_buffer_free (&(s->dev->binarize_buffer)); - sanei_genesys_buffer_free (&(s->dev->local_buffer)); - FREE_IFNOT_NULL (s->dev->white_average_data); - FREE_IFNOT_NULL (s->dev->dark_average_data); - FREE_IFNOT_NULL (s->dev->calib_file); - - /* free allocated gamma tables */ - FREE_IFNOT_NULL (s->dev->sensor.gamma_table[0]); - FREE_IFNOT_NULL (s->dev->sensor.gamma_table[1]); - FREE_IFNOT_NULL (s->dev->sensor.gamma_table[2]); - - s->dev->already_initialized = SANE_FALSE; - - /* for an handful of bytes .. */ - free ((void *)(size_t)s->opt[OPT_RESOLUTION].constraint.word_list); - free (s->val[OPT_SOURCE].s); - free (s->val[OPT_MODE].s); - free (s->val[OPT_COLOR_FILTER].s); - free ((void *)(size_t)s->opt[OPT_TL_X].constraint.range); - free ((void *)(size_t)s->opt[OPT_TL_Y].constraint.range); - - if (prev) - prev->next = s->next; - else - first_handle = s->next; - - /* LAMP OFF : same register across all the ASICs */ - sanei_genesys_write_register (s->dev, 0x03, 0x00); - - /* clear before closing */ - sanei_usb_clear_halt (s->dev->dn); - - /* we need this to avoid these ASIC getting stuck - * in bulk writes */ - sanei_usb_reset (s->dev->dn); - - sanei_usb_close (s->dev->dn); - free (s); - - DBGCOMPLETED; -} - -const SANE_Option_Descriptor * -sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) -{ - Genesys_Scanner *s = handle; - - if ((unsigned) option >= NUM_OPTIONS) - return 0; - DBG (DBG_io2, "sane_get_option_descriptor: option = %s (%d)\n", - s->opt[option].name, option); - return s->opt + option; -} - -/* gets an option , called by sane_control_option */ -static SANE_Status -get_option_value (Genesys_Scanner * s, int option, void *val) -{ - unsigned int i; - SANE_Word *table ,tmp; - uint16_t *gamma; - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Calibration_Cache *cache; - - switch (option) - { - /* geometry */ - case OPT_TL_X: - case OPT_TL_Y: - case OPT_BR_X: - case OPT_BR_Y: - *(SANE_Word *) val = s->val[option].w; - /* switch coordinate to keep them coherent */ - if (s->val[OPT_TL_X].w >= s->val[OPT_BR_X].w) - { - tmp=s->val[OPT_BR_X].w; - s->val[OPT_BR_X].w=s->val[OPT_TL_X].w; - s->val[OPT_TL_X].w=tmp; - } - if (s->val[OPT_TL_Y].w >= s->val[OPT_BR_Y].w) - { - tmp=s->val[OPT_BR_Y].w; - s->val[OPT_BR_Y].w=s->val[OPT_TL_Y].w; - s->val[OPT_TL_Y].w=tmp; - } - break; - /* word options: */ - case OPT_NUM_OPTS: - case OPT_RESOLUTION: - case OPT_BIT_DEPTH: - case OPT_PREVIEW: - case OPT_THRESHOLD: - case OPT_THRESHOLD_CURVE: - case OPT_DISABLE_DYNAMIC_LINEART: - case OPT_DISABLE_INTERPOLATION: - case OPT_LAMP_OFF: - case OPT_LAMP_OFF_TIME: - case OPT_SWDESKEW: - case OPT_SWCROP: - case OPT_SWDESPECK: - case OPT_SWDEROTATE: - case OPT_SWSKIP: - case OPT_DESPECK: - case OPT_CONTRAST: - case OPT_BRIGHTNESS: - case OPT_EXPIRATION_TIME: - *(SANE_Word *) val = s->val[option].w; - break; - case OPT_CUSTOM_GAMMA: - *(SANE_Word *) val = s->val[option].w; - break; - - /* string options: */ - case OPT_MODE: - case OPT_COLOR_FILTER: - case OPT_CALIBRATION_FILE: - case OPT_SOURCE: - strcpy (val, s->val[option].s); - break; - - /* word array options */ - case OPT_GAMMA_VECTOR: - table = (SANE_Word *) val; - if (strcmp (s->val[OPT_COLOR_FILTER].s, "Red") == 0) - { - gamma = s->dev->sensor.gamma_table[GENESYS_RED]; - } - else if (strcmp (s->val[OPT_COLOR_FILTER].s, "Blue") == 0) - { - gamma = s->dev->sensor.gamma_table[GENESYS_BLUE]; - } - else - { - gamma = s->dev->sensor.gamma_table[GENESYS_GREEN]; - } - for (i = 0; i < s->opt[option].size / sizeof (SANE_Word); i++) - { - table[i] = gamma[i]; - } - break; - case OPT_GAMMA_VECTOR_R: - table = (SANE_Word *) val; - for (i = 0; i < s->opt[option].size / sizeof (SANE_Word); i++) - { - table[i] = s->dev->sensor.gamma_table[GENESYS_RED][i]; - } - break; - case OPT_GAMMA_VECTOR_G: - table = (SANE_Word *) val; - for (i = 0; i < s->opt[option].size / sizeof (SANE_Word); i++) - { - table[i] = s->dev->sensor.gamma_table[GENESYS_GREEN][i]; - } - break; - case OPT_GAMMA_VECTOR_B: - table = (SANE_Word *) val; - for (i = 0; i < s->opt[option].size / sizeof (SANE_Word); i++) - { - table[i] = s->dev->sensor.gamma_table[GENESYS_BLUE][i]; - } - break; - /* sensors */ - case OPT_SCAN_SW: - case OPT_FILE_SW: - case OPT_EMAIL_SW: - case OPT_COPY_SW: - case OPT_PAGE_LOADED_SW: - case OPT_OCR_SW: - case OPT_POWER_SW: - case OPT_EXTRA_SW: - RIE (s->dev->model->cmd_set->update_hardware_sensors (s)); - *(SANE_Bool *) val = s->val[option].b; - s->last_val[option].b = *(SANE_Bool *) val; - break; - case OPT_NEED_CALIBRATION_SW: - /* scanner needs calibration for current mode unless a matching - * calibration cache is found */ - *(SANE_Bool *) val = SANE_TRUE; - for (cache = s->dev->calibration_cache; cache; cache = cache->next) - { - if (s->dev->model-> - cmd_set->is_compatible_calibration (s->dev, cache, SANE_FALSE) == SANE_STATUS_GOOD) - { - *(SANE_Bool *) val = SANE_FALSE; - } - } - break; - default: - DBG (DBG_warn, "get_option_value: can't get unknown option %d\n", - option); - } - return status; -} - -/** @brief set calibration file value - * Set calibration file value. Load new cache values from file if it exists, - * else creates the file*/ -static SANE_Status set_calibration_value (Genesys_Scanner * s, int option, void *val) -{ - SANE_Status status=SANE_STATUS_GOOD; - char *tmp; - Genesys_Device *dev=s->dev; - - DBGSTART; - - /* try to load file */ - tmp=dev->calib_file; - dev->calib_file=val; - status=sanei_genesys_read_calibration (dev); - - /* file exists but is invalid, so fall back to previous cache file - * an re-read it */ - if (status!=SANE_STATUS_IO_ERROR && status!=SANE_STATUS_GOOD) - { - dev->calib_file=tmp; - status=sanei_genesys_read_calibration (dev); - return status; - } - - /* now we can set file name value */ - if (s->val[option].s) - free (s->val[option].s); - s->val[option].s = strdup (val); - if (tmp) - free (tmp); - dev->calib_file = strdup (val); - DBG (DBG_info, "%s: Calibration filename set to:\n", __func__); - DBG (DBG_info, "%s: >%s<\n", __func__, s->dev->calib_file); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* sets an option , called by sane_control_option */ -static SANE_Status -set_option_value (Genesys_Scanner * s, int option, void *val, - SANE_Int * myinfo) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Word *table; - unsigned int i; - SANE_Range *x_range, *y_range; - Genesys_Calibration_Cache *cache, *next_cache; - - switch (option) - { - case OPT_TL_X: - case OPT_TL_Y: - case OPT_BR_X: - case OPT_BR_Y: - s->val[option].w = *(SANE_Word *) val; - RIE (calc_parameters (s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_RESOLUTION: - case OPT_THRESHOLD: - case OPT_THRESHOLD_CURVE: - case OPT_DISABLE_DYNAMIC_LINEART: - case OPT_SWCROP: - case OPT_SWDESKEW: - case OPT_DESPECK: - case OPT_SWDEROTATE: - case OPT_SWSKIP: - case OPT_DISABLE_INTERPOLATION: - case OPT_LAMP_OFF: - case OPT_PREVIEW: - case OPT_BRIGHTNESS: - case OPT_CONTRAST: - s->val[option].w = *(SANE_Word *) val; - RIE (calc_parameters (s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_SWDESPECK: - s->val[option].w = *(SANE_Word *) val; - if (s->val[OPT_SWDESPECK].b == SANE_TRUE) - { - ENABLE(OPT_DESPECK); - } - else - { - DISABLE(OPT_DESPECK); - } - RIE (calc_parameters (s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - break; - /* software enhancement functions only apply to 8 or 1 bits data */ - case OPT_BIT_DEPTH: - s->val[option].w = *(SANE_Word *) val; - if(s->val[OPT_BIT_DEPTH].w>8) - { - DISABLE(OPT_SWDESKEW); - DISABLE(OPT_SWDESPECK); - DISABLE(OPT_SWCROP); - DISABLE(OPT_DESPECK); - DISABLE(OPT_SWDEROTATE); - DISABLE(OPT_SWSKIP); - DISABLE(OPT_CONTRAST); - DISABLE(OPT_BRIGHTNESS); - } - else - { - ENABLE(OPT_SWDESKEW); - ENABLE(OPT_SWDESPECK); - ENABLE(OPT_SWCROP); - ENABLE(OPT_DESPECK); - ENABLE(OPT_SWDEROTATE); - ENABLE(OPT_SWSKIP); - ENABLE(OPT_CONTRAST); - ENABLE(OPT_BRIGHTNESS); - } - RIE (calc_parameters (s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - break; - case OPT_SOURCE: - if (strcmp (s->val[option].s, val) != 0) - { /* something changed */ - if (s->val[option].s) - free (s->val[option].s); - s->val[option].s = strdup (val); - - /* change geometry constraint to the new source value */ - if (strcmp (s->val[option].s, FLATBED) == 0) - { - x_range=create_range(s->dev->model->x_size); - y_range=create_range(s->dev->model->y_size); - } - else - { - x_range=create_range(s->dev->model->x_size_ta); - y_range=create_range(s->dev->model->y_size_ta); - } - if(x_range==NULL || y_range==NULL) - { - return SANE_STATUS_NO_MEM; - } - - /* assign new values */ - free((void *)(size_t)s->opt[OPT_TL_X].constraint.range); - free((void *)(size_t)s->opt[OPT_TL_Y].constraint.range); - s->opt[OPT_TL_X].constraint.range = x_range; - s->val[OPT_TL_X].w = 0; - s->opt[OPT_TL_Y].constraint.range = y_range; - s->val[OPT_TL_Y].w = 0; - s->opt[OPT_BR_X].constraint.range = x_range; - s->val[OPT_BR_Y].w = y_range->max; - s->opt[OPT_BR_Y].constraint.range = y_range; - s->val[OPT_BR_X].w = x_range->max; - - /* signals reload */ - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - } - break; - case OPT_MODE: - if (s->val[option].s) - free (s->val[option].s); - s->val[option].s = strdup (val); - - if (strcmp (s->val[option].s, SANE_VALUE_SCAN_MODE_LINEART) == 0) - { - ENABLE (OPT_THRESHOLD); - ENABLE (OPT_THRESHOLD_CURVE); - DISABLE (OPT_BIT_DEPTH); - if (s->dev->model->asic_type != GENESYS_GL646 || !s->dev->model->is_cis) - { - ENABLE (OPT_COLOR_FILTER); - } - ENABLE (OPT_DISABLE_DYNAMIC_LINEART); - } - else - { - DISABLE (OPT_THRESHOLD); - DISABLE (OPT_THRESHOLD_CURVE); - DISABLE (OPT_DISABLE_DYNAMIC_LINEART); - if (strcmp (s->val[option].s, SANE_VALUE_SCAN_MODE_GRAY) == 0) - { - if (s->dev->model->asic_type != GENESYS_GL646 || !s->dev->model->is_cis) - { - ENABLE (OPT_COLOR_FILTER); - } - create_bpp_list (s, s->dev->model->bpp_gray_values); - } - else - { - DISABLE (OPT_COLOR_FILTER); - create_bpp_list (s, s->dev->model->bpp_color_values); - } - if (s->bpp_list[0] < 2) - DISABLE (OPT_BIT_DEPTH); - else - ENABLE (OPT_BIT_DEPTH); - } - RIE (calc_parameters (s)); - - /* if custom gamma, toggle gamma table options according to the mode */ - if (s->val[OPT_CUSTOM_GAMMA].b == SANE_TRUE) - { - if (strcmp (s->val[option].s, SANE_VALUE_SCAN_MODE_COLOR) == 0) - { - DISABLE (OPT_GAMMA_VECTOR); - ENABLE (OPT_GAMMA_VECTOR_R); - ENABLE (OPT_GAMMA_VECTOR_G); - ENABLE (OPT_GAMMA_VECTOR_B); - } - else - { - ENABLE (OPT_GAMMA_VECTOR); - DISABLE (OPT_GAMMA_VECTOR_R); - DISABLE (OPT_GAMMA_VECTOR_G); - DISABLE (OPT_GAMMA_VECTOR_B); - } - } - - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - break; - case OPT_COLOR_FILTER: - if (s->val[option].s) - free (s->val[option].s); - s->val[option].s = strdup (val); - RIE (calc_parameters (s)); - break; - case OPT_CALIBRATION_FILE: - RIE(set_calibration_value (s, option, val)); - break; - case OPT_LAMP_OFF_TIME: - case OPT_EXPIRATION_TIME: - if (*(SANE_Word *) val != s->val[option].w) - { - s->val[option].w = *(SANE_Word *) val; - RIE (s->dev->model->cmd_set-> - set_powersaving (s->dev, s->val[option].w)); - } - break; - - case OPT_CUSTOM_GAMMA: - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - s->val[OPT_CUSTOM_GAMMA].b = *(SANE_Bool *) val; - - if (s->val[OPT_CUSTOM_GAMMA].b == SANE_TRUE) - { - if (strcmp (s->val[OPT_MODE].s, SANE_VALUE_SCAN_MODE_COLOR) == 0) - { - DISABLE (OPT_GAMMA_VECTOR); - ENABLE (OPT_GAMMA_VECTOR_R); - ENABLE (OPT_GAMMA_VECTOR_G); - ENABLE (OPT_GAMMA_VECTOR_B); - } - else - { - ENABLE (OPT_GAMMA_VECTOR); - DISABLE (OPT_GAMMA_VECTOR_R); - DISABLE (OPT_GAMMA_VECTOR_G); - DISABLE (OPT_GAMMA_VECTOR_B); - } - } - else - { - DISABLE (OPT_GAMMA_VECTOR); - DISABLE (OPT_GAMMA_VECTOR_R); - DISABLE (OPT_GAMMA_VECTOR_G); - DISABLE (OPT_GAMMA_VECTOR_B); - /* restore default sensor gamma table */ - /* currently there is no sensor's specific gamma table, - * tables are built by sanei_genesys_create_gamma_table */ - sanei_genesys_create_gamma_table (s->dev->sensor.gamma_table[GENESYS_RED], - s->opt[OPT_GAMMA_VECTOR_R].size / sizeof (SANE_Word), - s->opt[OPT_GAMMA_VECTOR_R].constraint.range->max, - s->opt[OPT_GAMMA_VECTOR_R].constraint.range->max, - s->dev->sensor.gamma[GENESYS_RED]); - sanei_genesys_create_gamma_table (s->dev->sensor.gamma_table[GENESYS_GREEN], - s->opt[OPT_GAMMA_VECTOR_G].size / sizeof (SANE_Word), - s->opt[OPT_GAMMA_VECTOR_G].constraint.range->max, - s->opt[OPT_GAMMA_VECTOR_G].constraint.range->max, - s->dev->sensor.gamma[GENESYS_GREEN]); - sanei_genesys_create_gamma_table (s->dev->sensor.gamma_table[GENESYS_BLUE], - s->opt[OPT_GAMMA_VECTOR_B].size / sizeof (SANE_Word), - s->opt[OPT_GAMMA_VECTOR_B].constraint.range->max, - s->opt[OPT_GAMMA_VECTOR_B].constraint.range->max, - s->dev->sensor.gamma[GENESYS_BLUE]); - } - break; - - case OPT_GAMMA_VECTOR: - table = (SANE_Word *) val; - for (i = 0; i < s->opt[option].size / sizeof (SANE_Word); i++) - { - s->dev->sensor.gamma_table[GENESYS_RED][i] = table[i]; - s->dev->sensor.gamma_table[GENESYS_GREEN][i] = table[i]; - s->dev->sensor.gamma_table[GENESYS_BLUE][i] = table[i]; - } - break; - case OPT_GAMMA_VECTOR_R: - table = (SANE_Word *) val; - for (i = 0; i < s->opt[option].size / sizeof (SANE_Word); i++) - { - s->dev->sensor.gamma_table[GENESYS_RED][i] = table[i]; - } - break; - case OPT_GAMMA_VECTOR_G: - table = (SANE_Word *) val; - for (i = 0; i < s->opt[option].size / sizeof (SANE_Word); i++) - { - s->dev->sensor.gamma_table[GENESYS_GREEN][i] = table[i]; - } - break; - case OPT_GAMMA_VECTOR_B: - table = (SANE_Word *) val; - for (i = 0; i < s->opt[option].size / sizeof (SANE_Word); i++) - { - s->dev->sensor.gamma_table[GENESYS_BLUE][i] = table[i]; - } - break; - case OPT_CALIBRATE: - status = s->dev->model->cmd_set->save_power (s->dev, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to disable power saving mode: %s\n", - __func__, sane_strstatus (status)); - } - else - status = genesys_scanner_calibration (s->dev); - /* not critical if this fails*/ - s->dev->model->cmd_set->save_power (s->dev, SANE_TRUE); - /* signals that sensors will have to be read again */ - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - break; - case OPT_CLEAR_CALIBRATION: - /* clear calibration cache */ - if (s->dev->calibration_cache != NULL) - { - for (cache = s->dev->calibration_cache; cache; cache = next_cache) - { - next_cache = cache->next; - free (cache->dark_average_data); - free (cache->white_average_data); - free (cache); - } - } - s->dev->calibration_cache = NULL; - /* remove file */ - unlink (s->dev->calib_file); - /* signals that sensors will have to be read again */ - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - break; - - default: - DBG (DBG_warn, "set_option_value: can't set unknown option %d\n", - option); - } - return status; -} - - -/* sets and gets scanner option values */ -SANE_Status -sane_control_option (SANE_Handle handle, SANE_Int option, - SANE_Action action, void *val, SANE_Int * info) -{ - Genesys_Scanner *s = handle; - SANE_Status status = SANE_STATUS_GOOD; - SANE_Word cap; - SANE_Int myinfo = 0; - - DBG (DBG_io2, - "sane_control_option: start: action = %s, option = %s (%d)\n", - (action == SANE_ACTION_GET_VALUE) ? "get" : (action == - SANE_ACTION_SET_VALUE) ? - "set" : (action == SANE_ACTION_SET_AUTO) ? "set_auto" : "unknown", - s->opt[option].name, option); - - if (info) - *info = 0; - - if (s->scanning) - { - DBG (DBG_warn, "sane_control_option: don't call this function while " - "scanning (option = %s (%d))\n", s->opt[option].name, option); - - return SANE_STATUS_DEVICE_BUSY; - } - if (option >= NUM_OPTIONS || option < 0) - { - DBG (DBG_warn, - "sane_control_option: option %d >= NUM_OPTIONS || option < 0\n", - option); - return SANE_STATUS_INVAL; - } - - cap = s->opt[option].cap; - - if (!SANE_OPTION_IS_ACTIVE (cap)) - { - DBG (DBG_warn, "sane_control_option: option %d is inactive\n", option); - return SANE_STATUS_INVAL; - } - - switch (action) - { - case SANE_ACTION_GET_VALUE: - status = get_option_value (s, option, val); - break; - - case SANE_ACTION_SET_VALUE: - if (!SANE_OPTION_IS_SETTABLE (cap)) - { - DBG (DBG_warn, "sane_control_option: option %d is not settable\n", - option); - return SANE_STATUS_INVAL; - } - - status = sanei_constrain_value (s->opt + option, val, &myinfo); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_warn, - "sane_control_option: sanei_constrain_value returned %s\n", - sane_strstatus (status)); - return status; - } - - status = set_option_value (s, option, val, &myinfo); - break; - - case SANE_ACTION_SET_AUTO: - DBG (DBG_error, - "sane_control_option: SANE_ACTION_SET_AUTO unsupported since no option has SANE_CAP_AUTOMATIC\n"); - status = SANE_STATUS_INVAL; - break; - - default: - DBG (DBG_warn, "sane_control_option: unknown action %d for option %d\n", - action, option); - status = SANE_STATUS_INVAL; - break; - } - - if (info) - *info = myinfo; - - DBG (DBG_io2, "sane_control_option: exit\n"); - return status; -} - - - -SANE_Status -sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) -{ - Genesys_Scanner *s = handle; - SANE_Status status; - - DBGSTART; - - /* don't recompute parameters once data reading is active, ie during scan */ - if(s->dev->read_active == SANE_FALSE) - { - RIE (calc_parameters (s)); - } - if (params) - { - *params = s->params; - - /* in the case of a sheetfed scanner, when full height is specified - * we override the computed line number with -1 to signal that we - * don't know the real document height. - * We don't do that doing buffering image for digital processing - */ - if (s->dev->model->is_sheetfed == SANE_TRUE - && s->dev->buffer_image == SANE_FALSE - && s->val[OPT_BR_Y].w == s->opt[OPT_BR_Y].constraint.range->max) - { - params->lines = -1; - } - } - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -SANE_Status -sane_start (SANE_Handle handle) -{ - Genesys_Scanner *s = handle; - SANE_Status status=SANE_STATUS_GOOD; - - DBGSTART; - - if (s->val[OPT_TL_X].w >= s->val[OPT_BR_X].w) - { - DBG (DBG_error0, - "sane_start: top left x >= bottom right x --- exiting\n"); - return SANE_STATUS_INVAL; - } - if (s->val[OPT_TL_Y].w >= s->val[OPT_BR_Y].w) - { - DBG (DBG_error0, - "sane_start: top left y >= bottom right y --- exiting\n"); - return SANE_STATUS_INVAL; - } - - /* First make sure we have a current parameter set. Some of the - parameters will be overwritten below, but that's OK. */ - - RIE (calc_parameters (s)); - RIE (genesys_start_scan (s->dev, s->val[OPT_LAMP_OFF].w)); - - s->scanning = SANE_TRUE; - - /* allocate intermediate buffer when doing dynamic lineart */ - if(s->dev->settings.dynamic_lineart==SANE_TRUE) - { - RIE (sanei_genesys_buffer_free (&(s->dev->binarize_buffer))); - RIE (sanei_genesys_buffer_alloc (&(s->dev->binarize_buffer), s->dev->settings.pixels)); - RIE (sanei_genesys_buffer_free (&(s->dev->local_buffer))); - RIE (sanei_genesys_buffer_alloc (&(s->dev->local_buffer), s->dev->binarize_buffer.size * 8)); - } - - /* if one of the software enhancement option is selected, - * we do the scan internally, process picture then put it an internal - * buffer. Since cropping may change scan parameters, we recompute them - * at the end */ - if (s->dev->buffer_image) - { - RIE(genesys_buffer_image(s)); - - /* check if we need to skip this page, sheetfed scanners - * can go to next doc while flatbed ones can't */ - if (s->val[OPT_SWSKIP].w && IS_ACTIVE(OPT_SWSKIP)) - { - status = sanei_magic_isBlank(&s->params, - s->dev->img_buffer, - SANE_UNFIX(s->val[OPT_SWSKIP].w)); - if(status == SANE_STATUS_NO_DOCS) - { - if (s->dev->model->is_sheetfed == SANE_TRUE) - { - DBG (DBG_info, "sane_start: blank page, recurse\n"); - return sane_start(handle); - } - return status; - } - } - - /* deskew image if required */ - if(s->val[OPT_SWDESKEW].b == SANE_TRUE) - { - RIE(genesys_deskew(s)); - } - - /* despeck image if required */ - if(s->val[OPT_SWDESPECK].b == SANE_TRUE) - { - RIE(genesys_despeck(s)); - } - - /* crop image if required */ - if(s->val[OPT_SWCROP].b == SANE_TRUE) - { - RIE(genesys_crop(s)); - } - - /* de-rotate image if required */ - if(s->val[OPT_SWDEROTATE].b == SANE_TRUE) - { - RIE(genesys_derotate(s)); - } - } - - DBGCOMPLETED; - return status; -} - -SANE_Status -sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, - SANE_Int * len) -{ - Genesys_Scanner *s = handle; - Genesys_Device *dev; - SANE_Status status=SANE_STATUS_GOOD; - size_t local_len; - - if (!s) - { - DBG (DBG_error, "sane_read: handle is null!\n"); - return SANE_STATUS_INVAL; - } - - dev=s->dev; - if (!dev) - { - DBG (DBG_error, "sane_read: dev is null!\n"); - return SANE_STATUS_INVAL; - } - - if (!buf) - { - DBG (DBG_error, "sane_read: buf is null!\n"); - return SANE_STATUS_INVAL; - } - - if (!len) - { - DBG (DBG_error, "sane_read: len is null!\n"); - return SANE_STATUS_INVAL; - } - - *len = 0; - - if (!s->scanning) - { - DBG (DBG_warn, "sane_read: scan was cancelled, is over or has not been " - "initiated yet\n"); - return SANE_STATUS_CANCELLED; - } - - DBG (DBG_proc, "sane_read: start, %d maximum bytes required\n", max_len); - DBG (DBG_io2, "sane_read: bytes_to_read=%lu, total_bytes_read=%lu\n", - (u_long) dev->total_bytes_to_read, (u_long) dev->total_bytes_read); - DBG (DBG_io2, "sane_read: physical bytes to read = %lu\n", (u_long) dev->read_bytes_left); - - if(dev->total_bytes_read>=dev->total_bytes_to_read) - { - DBG (DBG_proc, "sane_read: nothing more to scan: EOF\n"); - - /* issue park command immediatly in case scanner can handle it - * so we save time */ - if (dev->model->is_sheetfed == SANE_FALSE - && !(dev->model->flags & GENESYS_FLAG_MUST_WAIT) - && dev->parking == SANE_FALSE) - { - dev->model->cmd_set->slow_back_home (dev, SANE_FALSE); - dev->parking = SANE_TRUE; - } - return SANE_STATUS_EOF; - } - - local_len = max_len; - - /* in case of image processing, all data has been stored in - * buffer_image. So read data from it if it exists, else from scanner */ - if(!dev->buffer_image) - { - /* dynamic lineart is another kind of digital processing that needs - * another layer of buffering on top of genesys_read_ordered_data */ - if(dev->settings.dynamic_lineart==SANE_TRUE) - { - /* if buffer is empty, fill it with genesys_read_ordered_data */ - if(dev->binarize_buffer.avail==0) - { - /* store gray data */ - local_len=dev->local_buffer.size; - status = genesys_read_ordered_data (dev, dev->local_buffer.buffer, &local_len); - - /* binarize data is read successful */ - if(status==SANE_STATUS_GOOD) - { - dev->local_buffer.avail=local_len; - dev->local_buffer.pos=0; - dev->binarize_buffer.avail=local_len/8; - dev->binarize_buffer.pos=0; - genesys_gray_lineart (dev, - dev->local_buffer.buffer, - dev->binarize_buffer.buffer, - dev->settings.pixels, - local_len/dev->settings.pixels, - dev->settings.threshold); - } - - } - - /* return data from lineart buffer if any, up to the available amount */ - local_len = max_len; - if((size_t)max_len>dev->binarize_buffer.avail) - { - local_len=dev->binarize_buffer.avail; - } - if(local_len) - { - memcpy(buf,sanei_genesys_buffer_get_read_pos (&(dev->binarize_buffer)),local_len); - RIE (sanei_genesys_buffer_consume (&(dev->binarize_buffer), local_len)); - } - } - else - { - /* most usual case, direct read of data from scanner */ - status = genesys_read_ordered_data (dev, buf, &local_len); - } - } - else /* read data from buffer */ - { - if(dev->total_bytes_read+local_len>dev->total_bytes_to_read) - { - local_len=dev->total_bytes_to_read-dev->total_bytes_read; - } - memcpy(buf,dev->img_buffer+dev->total_bytes_read,local_len); - dev->total_bytes_read+=local_len; - } - - *len = local_len; - if(local_len>(size_t)max_len) - { - fprintf (stderr, "[genesys] sane_read: returning incorrect length!!\n"); - } - DBG (DBG_proc, "sane_read: %d bytes returned\n", *len); - return status; -} - -void -sane_cancel (SANE_Handle handle) -{ - Genesys_Scanner *s = handle; - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - /* end binary logging if needed */ - if (s->dev->binary!=NULL) - { - fclose(s->dev->binary); - s->dev->binary=NULL; - } - - s->scanning = SANE_FALSE; - s->dev->read_active = SANE_FALSE; - if(s->dev->img_buffer!=NULL) - { - free(s->dev->img_buffer); - s->dev->img_buffer=NULL; - } - - /* no need to end scan if we are parking the head */ - if(s->dev->parking==SANE_FALSE) - { - status = s->dev->model->cmd_set->end_scan (s->dev, s->dev->reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "sane_cancel: failed to end scan: %s\n", - sane_strstatus (status)); - return; - } - } - - /* park head if flatbed scanner */ - if (s->dev->model->is_sheetfed == SANE_FALSE) - { - if(s->dev->parking==SANE_FALSE) - { - status = s->dev->model->cmd_set->slow_back_home (s->dev, s->dev->model->flags & GENESYS_FLAG_MUST_WAIT); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sane_cancel: failed to move scanhead to home position: %s\n", - sane_strstatus (status)); - return; - } - s->dev->parking = !(s->dev->model->flags & GENESYS_FLAG_MUST_WAIT); - } - } - else - { /* in case of sheetfed scanners, we have to eject the document if still present */ - status = s->dev->model->cmd_set->eject_document (s->dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "sane_cancel: failed to eject document: %s\n", - sane_strstatus (status)); - return; - } - } - - /* enable power saving mode unless we are parking .... */ - if(s->dev->parking==SANE_FALSE) - { - status = s->dev->model->cmd_set->save_power (s->dev, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "sane_cancel: failed to enable power saving mode: %s\n", - sane_strstatus (status)); - return; - } - } - - DBGCOMPLETED; - return; -} - -SANE_Status -sane_set_io_mode (SANE_Handle handle, SANE_Bool non_blocking) -{ - Genesys_Scanner *s = handle; - - DBG (DBG_proc, "sane_set_io_mode: handle = %p, non_blocking = %s\n", - handle, non_blocking == SANE_TRUE ? "true" : "false"); - - if (!s->scanning) - { - DBG (DBG_error, "sane_set_io_mode: not scanning\n"); - return SANE_STATUS_INVAL; - } - if (non_blocking) - return SANE_STATUS_UNSUPPORTED; - return SANE_STATUS_GOOD; -} - -SANE_Status -sane_get_select_fd (SANE_Handle handle, SANE_Int * fd) -{ - Genesys_Scanner *s = handle; - - DBG (DBG_proc, "sane_get_select_fd: handle = %p, fd = %p\n", handle, - (void *) fd); - - if (!s->scanning) - { - DBG (DBG_error, "sane_get_select_fd: not scanning\n"); - return SANE_STATUS_INVAL; - } - return SANE_STATUS_UNSUPPORTED; -} - -/* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/genesys.cc b/backend/genesys.cc new file mode 100644 index 0000000..0368e21 --- /dev/null +++ b/backend/genesys.cc @@ -0,0 +1,7580 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2003, 2004 Henning Meier-Geinitz + Copyright (C) 2004, 2005 Gerhard Jaeger + Copyright (C) 2004-2016 Stéphane Voltz + Copyright (C) 2005-2009 Pierre Willenbrock + Copyright (C) 2006 Laurent Charpentier + Copyright (C) 2007 Luke + Copyright (C) 2010 Chris Berry and Michael Rickmann + for Plustek Opticbook 3600 support + + Dynamic rasterization code was taken from the epjistsu backend by + m. allan noah + + Software processing for deskew, crop and dspeckle are inspired by allan's + noah work in the fujitsu backend + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +/* + * SANE backend for Genesys Logic GL646/GL841/GL842/GL843/GL846/GL847/GL124 based scanners + */ + +#define DEBUG_NOT_STATIC + +#include "genesys.h" +#include "genesys_sanei.h" +#include "../include/sane/sanei_config.h" +#include "../include/sane/sanei_magic.h" +#include "genesys_devices.cc" + +#include +#include +#include +#include +#include + +StaticInit> s_scanners; +StaticInit> s_sane_devices; +StaticInit> s_sane_devices_ptrs; +StaticInit> s_devices; + +static SANE_String_Const mode_list[] = { + SANE_VALUE_SCAN_MODE_COLOR, + SANE_VALUE_SCAN_MODE_GRAY, + /* SANE_TITLE_HALFTONE, currently unused */ + SANE_VALUE_SCAN_MODE_LINEART, + 0 +}; + +static SANE_String_Const color_filter_list[] = { + SANE_I18N ("Red"), + SANE_I18N ("Green"), + SANE_I18N ("Blue"), + 0 +}; + +static SANE_String_Const cis_color_filter_list[] = { + SANE_I18N ("Red"), + SANE_I18N ("Green"), + SANE_I18N ("Blue"), + SANE_I18N ("None"), + 0 +}; + +static SANE_String_Const source_list[] = { + SANE_I18N (STR_FLATBED), + SANE_I18N (STR_TRANSPARENCY_ADAPTER), + 0 +}; + +static const char* source_list_infrared[] = { + SANE_I18N(STR_FLATBED), + SANE_I18N(STR_TRANSPARENCY_ADAPTER), + SANE_I18N(STR_TRANSPARENCY_ADAPTER_INFRARED), + 0 +}; + +static SANE_Range swdespeck_range = { + 1, + 9, + 1 +}; + +static SANE_Range time_range = { + 0, /* minimum */ + 60, /* maximum */ + 0 /* quantization */ +}; + +static const SANE_Range u12_range = { + 0, /* minimum */ + 4095, /* maximum */ + 0 /* quantization */ +}; + +static const SANE_Range u14_range = { + 0, /* minimum */ + 16383, /* maximum */ + 0 /* quantization */ +}; + +static const SANE_Range u16_range = { + 0, /* minimum */ + 65535, /* maximum */ + 0 /* quantization */ +}; + +static const SANE_Range percentage_range = { + SANE_FIX (0), /* minimum */ + SANE_FIX (100), /* maximum */ + SANE_FIX (1) /* quantization */ +}; + +static const SANE_Range threshold_curve_range = { + 0, /* minimum */ + 127, /* maximum */ + 1 /* quantization */ +}; + +/** + * range for brightness and contrast + */ +static const SANE_Range enhance_range = { + -100, /* minimum */ + 100, /* maximum */ + 1 /* quantization */ +}; + +/** + * range for expiration time + */ +static const SANE_Range expiration_range = { + -1, /* minimum */ + 30000, /* maximum */ + 1 /* quantization */ +}; + +Genesys_Sensor& sanei_genesys_find_sensor_any_for_write(Genesys_Device* dev) +{ + for (auto& sensor : *s_sensors) { + if (dev->model->ccd_type == sensor.sensor_id) { + return sensor; + } + } + throw std::runtime_error("Given device does not have sensor defined"); +} + +const Genesys_Sensor& sanei_genesys_find_sensor_any(Genesys_Device* dev) +{ + for (const auto& sensor : *s_sensors) { + if (dev->model->ccd_type == sensor.sensor_id) { + return sensor; + } + } + throw std::runtime_error("Given device does not have sensor defined"); +} + +const Genesys_Sensor& sanei_genesys_find_sensor(Genesys_Device* dev, int dpi, + ScanMethod scan_method) +{ + for (const auto& sensor : *s_sensors) { + if (dev->model->ccd_type == sensor.sensor_id && + (sensor.min_resolution == -1 || dpi >= sensor.min_resolution) && + (sensor.max_resolution == -1 || dpi <= sensor.max_resolution) && + sensor.method == scan_method) { + return sensor; + } + } + throw std::runtime_error("Given device does not have sensor defined"); +} + +Genesys_Sensor& sanei_genesys_find_sensor_for_write(Genesys_Device* dev, int dpi, + ScanMethod scan_method) +{ + for (auto& sensor : *s_sensors) { + if (dev->model->ccd_type == sensor.sensor_id && + (sensor.min_resolution == -1 || dpi >= sensor.min_resolution) && + (sensor.max_resolution == -1 || dpi <= sensor.max_resolution) && + sensor.method == scan_method) { + return sensor; + } + } + throw std::runtime_error("Given device does not have sensor defined"); +} + + +void +sanei_genesys_init_structs (Genesys_Device * dev) +{ + unsigned int i, gpo_ok = 0, motor_ok = 0; + bool fe_ok = false; + + /* initialize the GPO data stuff */ + for (i = 0; i < sizeof (Gpo) / sizeof (Genesys_Gpo); i++) + { + if (dev->model->gpo_type == Gpo[i].gpo_id) + { + dev->gpo = Gpo[i]; + gpo_ok = 1; + } + } + + /* initialize the motor data stuff */ + for (i = 0; i < sizeof (Motor) / sizeof (Genesys_Motor); i++) + { + if (dev->model->motor_type == Motor[i].motor_id) + { + dev->motor = Motor[i]; + motor_ok = 1; + } + } + + for (const auto& frontend : *s_frontends) { + if (dev->model->dac_type == frontend.fe_id) { + dev->frontend_initial = frontend; + fe_ok = true; + break; + } + } + + /* sanity check */ + if (motor_ok == 0 || gpo_ok == 0 || !fe_ok) + { + DBG(DBG_error0, "%s: bad description(s) for fe/gpo/motor=%d/%d/%d\n", __func__, + dev->model->ccd_type, dev->model->gpo_type, dev->model->motor_type); + } + + /* set up initial line distance shift */ + dev->ld_shift_r = dev->model->ld_shift_r; + dev->ld_shift_g = dev->model->ld_shift_g; + dev->ld_shift_b = dev->model->ld_shift_b; +} + +/* main function for slope creation */ +/** + * This function generates a slope table using the given slope + * truncated at the given exposure time or step count, whichever comes first. + * The reached step time is then stored in final_exposure and used for the rest + * of the table. The summed time of the acceleration steps is returned, and the + * number of accerelation steps is put into used_steps. + * + * @param slope_table Table to write to + * @param max_steps Size of slope_table in steps + * @param use_steps Maximum number of steps to use for acceleration + * @param stop_at Minimum step time to use + * @param vstart Start step time of default slope + * @param vend End step time of default slope + * @param steps Step count of default slope + * @param g Power for default slope + * @param used_steps Final number of steps is stored here + * @param vfinal Final step time is stored here + * @return Time for acceleration + * @note All times in pixel time. Correction for other motor timings is not + * done. + */ +SANE_Int +sanei_genesys_generate_slope_table (uint16_t * slope_table, + unsigned int max_steps, + unsigned int use_steps, + uint16_t stop_at, + uint16_t vstart, + uint16_t vend, + unsigned int steps, + double g, + unsigned int *used_steps, + unsigned int *vfinal) +{ + double t; + SANE_Int sum = 0; + unsigned int i; + unsigned int c = 0; + uint16_t t2; + unsigned int dummy; + unsigned int _vfinal; + if (!used_steps) + used_steps = &dummy; + if (!vfinal) + vfinal = &_vfinal; + + DBG(DBG_proc, "%s: table size: %d\n", __func__, max_steps); + + DBG(DBG_proc, "%s: stop at time: %d, use %d steps max\n", __func__, stop_at, use_steps); + + DBG(DBG_proc, "%s: target slope: vstart: %d, vend: %d, steps: %d, g: %g\n", __func__, vstart, + vend, steps, g); + + sum = 0; + c = 0; + *used_steps = 0; + + if (use_steps < 1) + use_steps = 1; + + if (stop_at < vstart) + { + t2 = vstart; + for (i = 0; i < steps && i < use_steps - 1 && i < max_steps; i++, c++) + { + t = pow (((double) i) / ((double) (steps - 1)), g); + t2 = vstart * (1 - t) + t * vend; + if (t2 < stop_at) + break; + *slope_table++ = t2; + /* DBG (DBG_io, "slope_table[%3d] = %5d\n", c, t2); */ + sum += t2; + } + if (t2 > stop_at) + { + DBG(DBG_warn, "Can not reach target speed(%d) in %d steps.\n", stop_at, use_steps); + DBG(DBG_warn, "Expect image to be distorted. Ignore this if only feeding.\n"); + } + *vfinal = t2; + *used_steps += i; + max_steps -= i; + } + else + *vfinal = stop_at; + + for (i = 0; i < max_steps; i++, c++) + { + *slope_table++ = *vfinal; + /* DBG (DBG_io, "slope_table[%3d] = %5d\n", c, *vfinal); */ + } + + (*used_steps)++; + sum += *vfinal; + + DBG(DBG_proc, "%s: returns sum=%d, used %d steps, completed\n", __func__, sum, *used_steps); + + return sum; +} + +/* Generate slope table for motor movement */ +/** + * This function generates a slope table using the slope from the motor struct + * truncated at the given exposure time or step count, whichever comes first. + * The reached step time is then stored in final_exposure and used for the rest + * of the table. The summed time of the acceleration steps is returned, and the + * number of accerelation steps is put into used_steps. + * + * @param dev Device struct + * @param slope_table Table to write to + * @param max_step Size of slope_table in steps + * @param use_steps Maximum number of steps to use for acceleration + * @param step_type Generate table for this step_type. 0=>full, 1=>half, + * 2=>quarter + * @param exposure_time Minimum exposure time of a scan line + * @param yres Resolution of a scan line + * @param used_steps Final number of steps is stored here + * @param final_exposure Final step time is stored here + * @param power_mode Power mode (related to the Vref used) of the motor + * @return Time for acceleration + * @note all times in pixel time + */ +SANE_Int +sanei_genesys_create_slope_table3 (Genesys_Device * dev, + uint16_t * slope_table, + int max_step, + unsigned int use_steps, + int step_type, + int exposure_time, + double yres, + unsigned int *used_steps, + unsigned int *final_exposure, + int power_mode) +{ + unsigned int sum_time = 0; + unsigned int vtarget; + unsigned int vend; + unsigned int vstart; + unsigned int vfinal; + + DBG(DBG_proc, "%s: step_type = %d, exposure_time = %d, yres = %g, power_mode = %d\n", __func__, + step_type, exposure_time, yres, power_mode); + + /* final speed */ + vtarget = (exposure_time * yres) / dev->motor.base_ydpi; + + vstart = dev->motor.slopes[power_mode][step_type].maximum_start_speed; + vend = dev->motor.slopes[power_mode][step_type].maximum_speed; + + vtarget >>= step_type; + if (vtarget > 65535) + vtarget = 65535; + + vstart >>= step_type; + if (vstart > 65535) + vstart = 65535; + + vend >>= step_type; + if (vend > 65535) + vend = 65535; + + sum_time = sanei_genesys_generate_slope_table (slope_table, + max_step, + use_steps, + vtarget, + vstart, + vend, + dev->motor.slopes[power_mode][step_type].minimum_steps << step_type, + dev->motor.slopes[power_mode][step_type].g, + used_steps, + &vfinal); + + if (final_exposure) + *final_exposure = (vfinal * dev->motor.base_ydpi) / yres; + + DBG(DBG_proc, "%s: returns sum_time=%d, completed\n", __func__, sum_time); + + return sum_time; +} + + +/* alternate slope table creation function */ +/* the hardcoded values (g and vstart) will go in a motor struct */ +static SANE_Int +genesys_create_slope_table2 (Genesys_Device * dev, + uint16_t * slope_table, int steps, + int step_type, int exposure_time, + SANE_Bool same_speed, double yres, + int power_mode) +{ + double t, g; + SANE_Int sum = 0; + int vstart, vend; + int i; + + DBG(DBG_proc, "%s: %d steps, step_type = %d, " + "exposure_time = %d, same_speed = %d, yres = %.2f, power_mode = %d\n", __func__, steps, + step_type, exposure_time, same_speed, yres, power_mode); + + /* start speed */ + if (dev->model->motor_type == MOTOR_5345) + { + if (yres < dev->motor.base_ydpi / 6) + vstart = 2500; + else + vstart = 2000; + } + else + { + if (steps == 2) + vstart = exposure_time; + else if (steps == 3) + vstart = 2 * exposure_time; + else if (steps == 4) + vstart = 1.5 * exposure_time; + else if (steps == 120) + vstart = 1.81674 * exposure_time; + else + vstart = exposure_time; + } + + /* final speed */ + vend = (exposure_time * yres) / (dev->motor.base_ydpi * (1 << step_type)); + + /* + type=1 : full + type=2 : half + type=4 : quarter + vend * type * base_ydpi / exposure = yres + */ + + /* acceleration */ + switch (steps) + { + case 255: + /* test for special case: fast moving slope */ + /* todo: a 'fast' boolean parameter should be better */ + if (vstart == 2000) + g = 0.2013; + else + g = 0.1677; + break; + case 120: + g = 0.5; + break; + case 67: + g = 0.5; + break; + case 64: + g = 0.2555; + break; + case 44: + g = 0.5; + break; + case 4: + g = 0.5; + break; + case 3: + g = 1; + break; + case 2: + vstart = vend; + g = 1; + break; + default: + g = 0.2635; + } + + /* if same speed, no 'g' */ + sum = 0; + if (same_speed) + { + for (i = 0; i < 255; i++) + { + slope_table[i] = vend; + sum += slope_table[i]; + DBG (DBG_io, "slope_table[%3d] = %5d\n", i, slope_table[i]); + } + } + else + { + for (i = 0; i < steps; i++) + { + t = pow (((double) i) / ((double) (steps - 1)), g); + slope_table[i] = vstart * (1 - t) + t * vend; + DBG (DBG_io, "slope_table[%3d] = %5d\n", i, slope_table[i]); + sum += slope_table[i]; + } + for (i = steps; i < 255; i++) + { + slope_table[i] = vend; + DBG (DBG_io, "slope_table[%3d] = %5d\n", i, slope_table[i]); + sum += slope_table[i]; + } + } + + DBG(DBG_proc, "%s: returns sum=%d, completed\n", __func__, sum); + + return sum; +} + +/* Generate slope table for motor movement */ +/* todo: check details */ +SANE_Int +sanei_genesys_create_slope_table (Genesys_Device * dev, + uint16_t * slope_table, int steps, + int step_type, int exposure_time, + SANE_Bool same_speed, double yres, + int power_mode) +{ + double t; + double start_speed; + double g; + uint32_t time_period; + int sum_time = 0; + int i, divider; + int same_step; + + if (dev->model->motor_type == MOTOR_5345 + || dev->model->motor_type == MOTOR_HP2300 + || dev->model->motor_type == MOTOR_HP2400) + return genesys_create_slope_table2 (dev, slope_table, steps, + step_type, exposure_time, + same_speed, yres, power_mode); + + DBG(DBG_proc, "%s: %d steps, step_type = %d, exposure_time = %d, same_speed =%d\n", __func__, + steps, step_type, exposure_time, same_speed); + DBG(DBG_proc, "%s: yres = %.2f\n", __func__, yres); + + g = 0.6; + start_speed = 0.01; + same_step = 4; + divider = 1 << step_type; + + time_period = + (uint32_t) (yres * exposure_time / dev->motor.base_ydpi /*MOTOR_GEAR */ ); + if ((time_period < 2000) && (same_speed)) + same_speed = SANE_FALSE; + + time_period = time_period / divider; + + if (same_speed) + { + for (i = 0; i < steps; i++) + { + slope_table[i] = (uint16_t) time_period; + sum_time += time_period; + + DBG (DBG_io, "slope_table[%d] = %d\n", i, time_period); + } + DBG(DBG_info, "%s: returns sum_time=%d, completed\n", __func__, sum_time); + return sum_time; + } + + if (time_period > MOTOR_SPEED_MAX * 5) + { + g = 1.0; + start_speed = 0.05; + same_step = 2; + } + else if (time_period > MOTOR_SPEED_MAX * 4) + { + g = 0.8; + start_speed = 0.04; + same_step = 2; + } + else if (time_period > MOTOR_SPEED_MAX * 3) + { + g = 0.7; + start_speed = 0.03; + same_step = 2; + } + else if (time_period > MOTOR_SPEED_MAX * 2) + { + g = 0.6; + start_speed = 0.02; + same_step = 3; + } + + if (dev->model->motor_type == MOTOR_ST24) + { + steps = 255; + switch ((int) yres) + { + case 2400: + g = 0.1672; + start_speed = 1.09; + break; + case 1200: + g = 1; + start_speed = 6.4; + break; + case 600: + g = 0.1672; + start_speed = 1.09; + break; + case 400: + g = 0.2005; + start_speed = 20.0 / 3.0 /*7.5 */ ; + break; + case 300: + g = 0.253; + start_speed = 2.182; + break; + case 150: + g = 0.253; + start_speed = 4.367; + break; + default: + g = 0.262; + start_speed = 7.29; + } + same_step = 1; + } + + if (steps <= same_step) + { + time_period = + (uint32_t) (yres * exposure_time / + dev->motor.base_ydpi /*MOTOR_GEAR */ ); + time_period = time_period / divider; + + if (time_period > 65535) + time_period = 65535; + + for (i = 0; i < same_step; i++) + { + slope_table[i] = (uint16_t) time_period; + sum_time += time_period; + + DBG (DBG_io, "slope_table[%d] = %d\n", i, time_period); + } + + DBG(DBG_proc, "%s: returns sum_time=%d, completed\n", __func__, sum_time); + return sum_time; + } + + for (i = 0; i < steps; i++) + { + double j = ((double) i) - same_step + 1; /* start from 1/16 speed */ + + if (j <= 0) + t = 0; + else + t = pow (j / (steps - same_step), g); + + time_period = /* time required for full steps */ + (uint32_t) (yres * exposure_time / + dev->motor.base_ydpi /*MOTOR_GEAR */ * + (start_speed + (1 - start_speed) * t)); + + time_period = time_period / divider; + if (time_period > 65535) + time_period = 65535; + + slope_table[i] = (uint16_t) time_period; + sum_time += time_period; + + DBG (DBG_io, "slope_table[%d] = %d\n", i, slope_table[i]); + } + + DBG(DBG_proc, "%s: returns sum_time=%d, completed\n", __func__, sum_time); + + return sum_time; +} + +/** @brief computes gamma table + * Generates a gamma table of the given length within 0 and the given + * maximum value + * @param gamma_table gamma table to fill + * @param size size of the table + * @param maximum value allowed for gamma + * @param gamma_max maximum gamma value + * @param gamma gamma to compute values + * @return a gamma table filled with the computed values + * */ +void +sanei_genesys_create_gamma_table (std::vector& gamma_table, int size, + float maximum, float gamma_max, float gamma) +{ + gamma_table.clear(); + gamma_table.resize(size, 0); + + int i; + float value; + + DBG(DBG_proc, "%s: size = %d, ""maximum = %g, gamma_max = %g, gamma = %g\n", __func__, size, + maximum, gamma_max, gamma); + for (i = 0; i < size; i++) + { + value = gamma_max * pow ((float) i / size, 1.0 / gamma); + if (value > maximum) + value = maximum; + gamma_table[i] = value; + } + DBG(DBG_proc, "%s: completed\n", __func__); +} + +void sanei_genesys_create_default_gamma_table(Genesys_Device* dev, + std::vector& gamma_table, float gamma) +{ + int size = 0; + int max = 0; + if (dev->model->asic_type == GENESYS_GL646) { + if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) { + size = 16384; + } else { + size = 4096; + } + max = size - 1; + } else { + size = 256; + max = 65535; + } + sanei_genesys_create_gamma_table(gamma_table, size, max, max, gamma); +} + +/* computes the exposure_time on the basis of the given vertical dpi, + the number of pixels the ccd needs to send, + the step_type and the corresponding maximum speed from the motor struct */ +/* + Currently considers maximum motor speed at given step_type, minimum + line exposure needed for conversion and led exposure time. + + TODO: Should also consider maximum transfer rate: ~6.5MB/s. + Note: The enhance option of the scanners does _not_ help. It only halves + the amount of pixels transfered. + */ +SANE_Int +sanei_genesys_exposure_time2 (Genesys_Device * dev, float ydpi, + int step_type, int endpixel, + int exposure_by_led, int power_mode) +{ + int exposure_by_ccd = endpixel + 32; + int exposure_by_motor = + (dev->motor.slopes[power_mode][step_type].maximum_speed + * dev->motor.base_ydpi) / ydpi; + + int exposure = exposure_by_ccd; + + if (exposure < exposure_by_motor) + exposure = exposure_by_motor; + + if (exposure < exposure_by_led && dev->model->is_cis) + exposure = exposure_by_led; + + DBG(DBG_info, "%s: ydpi=%d, step=%d, endpixel=%d led=%d, power=%d => exposure=%d\n", __func__, + (int)ydpi, step_type, endpixel, exposure_by_led, power_mode, exposure); + return exposure; +} + +/* computes the exposure_time on the basis of the given horizontal dpi */ +/* we will clean/simplify it by using constants from a future motor struct */ +SANE_Int +sanei_genesys_exposure_time (Genesys_Device * dev, Genesys_Register_Set * reg, + int xdpi) +{ + if (dev->model->motor_type == MOTOR_5345) + { + if (dev->model->cmd_set->get_filter_bit (reg)) + { + /* monochrome */ + switch (xdpi) + { + case 600: + return 8500; + case 500: + case 400: + case 300: + case 250: + case 200: + case 150: + return 5500; + case 100: + return 6500; + case 50: + return 12000; + default: + return 11000; + } + } + else + { + /* color scan */ + switch (xdpi) + { + case 300: + case 250: + case 200: + return 5500; + case 50: + return 12000; + default: + return 11000; + } + } + } + else if (dev->model->motor_type == MOTOR_HP2400) + { + if (dev->model->cmd_set->get_filter_bit (reg)) + { + /* monochrome */ + switch (xdpi) + { + case 200: + return 7210; + default: + return 11111; + } + } + else + { + /* color scan */ + switch (xdpi) + { + case 600: + return 8751; /*11902; 19200 */ + default: + return 11111; + } + } + } + else if (dev->model->motor_type == MOTOR_HP2300) + { + if (dev->model->cmd_set->get_filter_bit (reg)) + { + /* monochrome */ + switch (xdpi) + { + case 600: + return 8699; /* 3200; */ + case 300: + return 3200; /*10000;, 3200 -> too dark */ + case 150: + return 4480; /* 3200 ???, warmup needs 4480 */ + case 75: + return 5500; + default: + return 11111; + } + } + else + { + /* color scan */ + switch (xdpi) + { + case 600: + return 8699; + case 300: + return 4349; + case 150: + case 75: + return 4480; + default: + return 11111; + } + } + } + return 11000; +} + + + +/* Sends a block of shading information to the scanner. + The data is placed at address 0x0000 for color mode, gray mode and + unconditionally for the following CCD chips: HP2300, HP2400 and HP5345 + In the other cases (lineart, halftone on ccd chips not mentioned) the + addresses are 0x2a00 for dpihw==0, 0x5500 for dpihw==1 and 0xa800 for + dpihw==2. //Note: why this? + + The data needs to be of size "size", and in little endian byte order. + */ +static SANE_Status +genesys_send_offset_and_shading (Genesys_Device * dev, const Genesys_Sensor& sensor, + uint8_t * data, + int size) +{ + int dpihw; + int start_address; + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s: (size = %d)\n", __func__, size); + + /* ASIC higher than gl843 doesn't have register 2A/2B, so we route to + * a per ASIC shading data loading function if available. + * It is also used for scanners using SHDAREA */ + if(dev->model->cmd_set->send_shading_data!=NULL) + { + status=dev->model->cmd_set->send_shading_data(dev, sensor, data, size); + DBGCOMPLETED; + return status; + } + + /* gl646, gl84[123] case */ + dpihw = dev->reg.get8(0x05) >> 6; + + /* TODO invert the test so only the 2 models behaving like that are + * tested instead of adding all the others */ + /* many scanners send coefficient for lineart/gray like in color mode */ + if ((dev->settings.scan_mode == ScanColorMode::LINEART || + dev->settings.scan_mode == ScanColorMode::HALFTONE) + && dev->model->ccd_type != CCD_PLUSTEK3800 + && dev->model->ccd_type != CCD_KVSS080 + && dev->model->ccd_type != CCD_G4050 + && dev->model->ccd_type != CCD_CS4400F + && dev->model->ccd_type != CCD_CS8400F + && dev->model->ccd_type != CCD_CS8600F + && dev->model->ccd_type != CCD_DSMOBILE600 + && dev->model->ccd_type != CCD_XP300 + && dev->model->ccd_type != CCD_DP665 + && dev->model->ccd_type != CCD_DP685 + && dev->model->ccd_type != CIS_CANONLIDE80 + && dev->model->ccd_type != CCD_ROADWARRIOR + && dev->model->ccd_type != CCD_HP2300 + && dev->model->ccd_type != CCD_HP2400 + && dev->model->ccd_type != CCD_HP3670 + && dev->model->ccd_type != CCD_5345) /* lineart, halftone */ + { + if (dpihw == 0) /* 600 dpi */ + start_address = 0x02a00; + else if (dpihw == 1) /* 1200 dpi */ + start_address = 0x05500; + else if (dpihw == 2) /* 2400 dpi */ + start_address = 0x0a800; + else /* reserved */ + return SANE_STATUS_INVAL; + } + else /* color */ + start_address = 0x00; + + status = sanei_genesys_set_buffer_address (dev, start_address); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = dev->model->cmd_set->bulk_write_data (dev, 0x3c, data, size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send shading table: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBGCOMPLETED; + + return SANE_STATUS_GOOD; +} + +/* ? */ +SANE_Status +sanei_genesys_init_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, + int pixels_per_line) +{ + SANE_Status status = SANE_STATUS_GOOD; + int channels; + int i; + + /* these models don't need to init shading data due to the use of specific send shading data + function */ + if (dev->model->ccd_type==CCD_KVSS080 + || dev->model->ccd_type==CCD_G4050 + || dev->model->ccd_type==CCD_CS4400F + || dev->model->ccd_type==CCD_CS8400F + || dev->model->cmd_set->send_shading_data!=NULL) + return SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s (pixels_per_line = %d)\n", __func__, pixels_per_line); + + // BUG: GRAY shouldn't probably be in the if condition below. Discovered when refactoring + if (dev->settings.scan_mode == ScanColorMode::GRAY || + dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + channels = 3; + } else { + channels = 1; + } + + // 16 bit black, 16 bit white + std::vector shading_data(pixels_per_line * 4 * channels, 0); + + uint8_t* shading_data_ptr = shading_data.data(); + + for (i = 0; i < pixels_per_line * channels; i++) + { + *shading_data_ptr++ = 0x00; /* dark lo */ + *shading_data_ptr++ = 0x00; /* dark hi */ + *shading_data_ptr++ = 0x00; /* white lo */ + *shading_data_ptr++ = 0x40; /* white hi -> 0x4000 */ + } + + status = genesys_send_offset_and_shading (dev, sensor, + shading_data.data(), + pixels_per_line * 4 * channels); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send shading data: %s\n", __func__, + sane_strstatus (status)); + } + + DBGCOMPLETED; + return status; +} + + +/* Find the position of the reference point: + takes gray level 8 bits data and find + first CCD usable pixel and top of scanning area */ +SANE_Status +sanei_genesys_search_reference_point (Genesys_Device * dev, Genesys_Sensor& sensor, + uint8_t * data, + int start_pixel, int dpi, int width, + int height) +{ + int x, y; + int current, left, top = 0; + int size, count; + int level = 80; /* edge threshold level */ + + /*sanity check */ + if ((width < 3) || (height < 3)) + return SANE_STATUS_INVAL; + + /* transformed image data */ + size = width * height; + std::vector image(size, 0); + + /* laplace filter to denoise picture */ + memcpy(image.data(), data, size); // to initialize unprocessed part of the image buffer + for (y = 1; y < height - 1; y++) + for (x = 1; x < width - 1; x++) + { + image[y * width + x] = + (data[(y - 1) * width + x + 1] + 2 * data[(y - 1) * width + x] + + data[(y - 1) * width + x - 1] + 2 * data[y * width + x + 1] + + 4 * data[y * width + x] + 2 * data[y * width + x - 1] + + data[(y + 1) * width + x + 1] + 2 * data[(y + 1) * width + x] + + data[(y + 1) * width + x - 1]) / 16; + } + + memcpy (data, image.data(), size); + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl_laplace.pnm", image.data(), 8, 1, width, height); + + /* apply X direction sobel filter + -1 0 1 + -2 0 2 + -1 0 1 + and finds threshold level + */ + level = 0; + for (y = 2; y < height - 2; y++) + for (x = 2; x < width - 2; x++) + { + current = + data[(y - 1) * width + x + 1] - data[(y - 1) * width + x - 1] + + 2 * data[y * width + x + 1] - 2 * data[y * width + x - 1] + + data[(y + 1) * width + x + 1] - data[(y + 1) * width + x - 1]; + if (current < 0) + current = -current; + if (current > 255) + current = 255; + image[y * width + x] = current; + if (current > level) + level = current; + } + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl_xsobel.pnm", image.data(), 8, 1, width, height); + + /* set up detection level */ + level = level / 3; + + /* find left black margin first + todo: search top before left + we average the result of N searches */ + left = 0; + count = 0; + for (y = 2; y < 11; y++) + { + x = 8; + while ((x < width / 2) && (image[y * width + x] < level)) + { + image[y * width + x] = 255; + x++; + } + count++; + left += x; + } + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl_detected-xsobel.pnm", image.data(), 8, 1, width, height); + left = left / count; + + /* turn it in CCD pixel at full sensor optical resolution */ + sensor.CCD_start_xoffset = start_pixel + (left * sensor.optical_res) / dpi; + + /* find top edge by detecting black strip */ + /* apply Y direction sobel filter + -1 -2 -1 + 0 0 0 + 1 2 1 + */ + level = 0; + for (y = 2; y < height - 2; y++) + for (x = 2; x < width - 2; x++) + { + current = + -data[(y - 1) * width + x + 1] - 2 * data[(y - 1) * width + x] - + data[(y - 1) * width + x - 1] + data[(y + 1) * width + x + 1] + + 2 * data[(y + 1) * width + x] + data[(y + 1) * width + x - 1]; + if (current < 0) + current = -current; + if (current > 255) + current = 255; + image[y * width + x] = current; + if (current > level) + level = current; + } + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl_ysobel.pnm", image.data(), 8, 1, width, height); + + /* set up detection level */ + level = level / 3; + + /* search top of horizontal black stripe : TODO yet another flag */ + if (dev->model->ccd_type == CCD_5345 + && dev->model->motor_type == MOTOR_5345) + { + top = 0; + count = 0; + for (x = width / 2; x < width - 1; x++) + { + y = 2; + while ((y < height) && (image[x + y * width] < level)) + { + image[y * width + x] = 255; + y++; + } + count++; + top += y; + } + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl_detected-ysobel.pnm", image.data(), 8, 1, width, height); + top = top / count; + + /* bottom of black stripe is of fixed witdh, this hardcoded value + * will be moved into device struct if more such values are needed */ + top += 10; + dev->model->y_offset_calib = SANE_FIX ((top * MM_PER_INCH) / dpi); + DBG(DBG_info, "%s: black stripe y_offset = %f mm \n", __func__, + SANE_UNFIX (dev->model->y_offset_calib)); + } + + /* find white corner in dark area : TODO yet another flag */ + if ((dev->model->ccd_type == CCD_HP2300 + && dev->model->motor_type == MOTOR_HP2300) + || (dev->model->ccd_type == CCD_HP2400 + && dev->model->motor_type == MOTOR_HP2400) + || (dev->model->ccd_type == CCD_HP3670 + && dev->model->motor_type == MOTOR_HP3670)) + { + top = 0; + count = 0; + for (x = 10; x < 60; x++) + { + y = 2; + while ((y < height) && (image[x + y * width] < level)) + y++; + top += y; + count++; + } + top = top / count; + dev->model->y_offset_calib = SANE_FIX ((top * MM_PER_INCH) / dpi); + DBG(DBG_info, "%s: white corner y_offset = %f mm\n", __func__, + SANE_UNFIX (dev->model->y_offset_calib)); + } + + DBG(DBG_proc, "%s: CCD_start_xoffset = %d, left = %d, top = %d\n", __func__, + sensor.CCD_start_xoffset, left, top); + + return SANE_STATUS_GOOD; +} + + +void +sanei_genesys_calculate_zmode2 (SANE_Bool two_table, + uint32_t exposure_time, + uint16_t * slope_table, + int reg21, + int move, int reg22, uint32_t * z1, + uint32_t * z2) +{ + int i; + int sum; + DBG(DBG_info, "%s: two_table=%d\n", __func__, two_table); + + /* acceleration total time */ + sum = 0; + for (i = 0; i < reg21; i++) + sum += slope_table[i]; + + /* compute Z1MOD */ + /* c=sum(slope_table;reg21) + d=reg22*cruising speed + Z1MOD=(c+d) % exposure_time */ + *z1 = (sum + reg22 * slope_table[reg21 - 1]) % exposure_time; + + /* compute Z2MOD */ + /* a=sum(slope_table;reg21), b=move or 1 if 2 tables */ + /* Z2MOD=(a+b) % exposure_time */ + if (!two_table) + sum = sum + (move * slope_table[reg21 - 1]); + else + sum = sum + slope_table[reg21 - 1]; + *z2 = sum % exposure_time; +} + + +/* huh? */ +/* todo: double check */ +/* Z1 and Z2 seem to be a time to synchronize with clock or a phase correction */ +/* steps_sum is the result of create_slope_table */ +/* last_speed is the last entry of the slope_table */ +/* feedl is registers 3d,3e,3f */ +/* fastfed is register 02 bit 3 */ +/* scanfed is register 1f */ +/* fwdstep is register 22 */ +/* tgtime is register 6c bit 6+7 >> 6 */ + +void +sanei_genesys_calculate_zmode (uint32_t exposure_time, + uint32_t steps_sum, uint16_t last_speed, + uint32_t feedl, uint8_t fastfed, + uint8_t scanfed, uint8_t fwdstep, + uint8_t tgtime, uint32_t * z1, uint32_t * z2) +{ + uint8_t exposure_factor; + + exposure_factor = pow (2, tgtime); /* todo: originally, this is always 2^0 ! */ + + /* Z1 is for buffer-full backward forward moving */ + *z1 = + exposure_factor * ((steps_sum + fwdstep * last_speed) % exposure_time); + + /* Z2 is for acceleration before scan */ + if (fastfed) /* two curve mode */ + { + *z2 = + exposure_factor * ((steps_sum + scanfed * last_speed) % + exposure_time); + } + else /* one curve mode */ + { + *z2 = + exposure_factor * ((steps_sum + feedl * last_speed) % exposure_time); + } +} + + +static uint8_t genesys_adjust_gain(double* applied_multi, double multi, uint8_t gain) +{ + double voltage, original_voltage; + uint8_t new_gain = 0; + + DBG(DBG_proc, "%s: multi=%f, gain=%d\n", __func__, multi, gain); + + voltage = 0.5 + gain * 0.25; + original_voltage = voltage; + + voltage *= multi; + + new_gain = (uint8_t) ((voltage - 0.5) * 4); + if (new_gain > 0x0e) + new_gain = 0x0e; + + voltage = 0.5 + (new_gain) * 0.25; + + *applied_multi = voltage / original_voltage; + + DBG(DBG_proc, "%s: orig voltage=%.2f, new voltage=%.2f, *applied_multi=%f, new_gain=%d\n", + __func__, original_voltage, voltage, *applied_multi, new_gain); + + return new_gain; +} + + +/* todo: is return status necessary (unchecked?) */ +static SANE_Status +genesys_average_white (Genesys_Device * dev, Genesys_Sensor& sensor, int channels, int channel, + uint8_t * data, int size, int *max_average) +{ + int gain_white_ref, sum, range; + int average; + int i; + + DBG(DBG_proc, "%s: channels=%d, channel=%d, size=%d\n", __func__, channels, channel, size); + + range = size / 50; + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) /* transparency mode */ + gain_white_ref = sensor.fau_gain_white_ref * 256; + else + gain_white_ref = sensor.gain_white_ref * 256; + + if (range < 1) + range = 1; + + size = size / (2 * range * channels); + + data += (channel * 2); + + *max_average = 0; + + while (size--) + { + sum = 0; + for (i = 0; i < range; i++) + { + sum += (*data); + sum += *(data + 1) * 256; + data += (2 * channels); /* byte based */ + } + + average = (sum / range); + if (average > *max_average) + *max_average = average; + } + + DBG(DBG_proc, "%s: max_average=%d, gain_white_ref = %d, finished\n", __func__, *max_average, + gain_white_ref); + + if (*max_average >= gain_white_ref) + return SANE_STATUS_INVAL; + + return SANE_STATUS_GOOD; +} + +/* todo: understand, values are too high */ +static int +genesys_average_black (Genesys_Device * dev, int channel, + uint8_t * data, int pixels) +{ + int i; + int sum; + int pixel_step; + + DBG(DBG_proc, "%s: channel=%d, pixels=%d\n", __func__, channel, pixels); + + sum = 0; + + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + data += (channel * 2); + pixel_step = 3 * 2; + } + else + { + pixel_step = 2; + } + + for (i = 0; i < pixels; i++) + { + sum += *data; + sum += *(data + 1) * 256; + + data += pixel_step; + } + + DBG(DBG_proc, "%s = %d\n", __func__, sum / pixels); + + return (int) (sum / pixels); +} + + +/* todo: check; it works but the lines 1, 2, and 3 are too dark even with the + same offset and gain settings? */ +static SANE_Status genesys_coarse_calibration(Genesys_Device * dev, Genesys_Sensor& sensor) +{ + int size; + int black_pixels; + int white_average; + int channels; + SANE_Status status = SANE_STATUS_GOOD; + uint8_t offset[4] = { 0xa0, 0x00, 0xa0, 0x40 }; /* first value isn't used */ + uint16_t white[12], dark[12]; + int i, j; + + DBG(DBG_info, "%s (scan_mode = %d)\n", __func__, static_cast(dev->settings.scan_mode)); + + black_pixels = sensor.black_pixels + * dev->settings.xres / sensor.optical_res; + + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else + channels = 1; + + DBG(DBG_info, "channels %d y_size %d xres %d\n", channels, dev->model->y_size, + dev->settings.xres); + size = + channels * 2 * SANE_UNFIX (dev->model->y_size) * dev->settings.xres / + 25.4; + /* 1 1 mm 1/inch inch/mm */ + + std::vector calibration_data(size); + std::vector all_data(size * 4, 1); + + status = dev->model->cmd_set->set_fe(dev, sensor, AFE_INIT); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); + return status; + } + + dev->frontend.set_gain(0, 2); + dev->frontend.set_gain(1, 2); + dev->frontend.set_gain(2, 2); // TODO: ? was 2 + dev->frontend.set_offset(0, offset[0]); + dev->frontend.set_offset(1, offset[0]); + dev->frontend.set_offset(2, offset[0]); + + for (i = 0; i < 4; i++) /* read 4 lines */ + { + if (i < 3) /* first 3 lines */ + { + dev->frontend.set_offset(0, offset[i]); + dev->frontend.set_offset(1, offset[i]); + dev->frontend.set_offset(2, offset[i]); + } + + if (i == 1) /* second line */ + { + double applied_multi; + double gain_white_ref; + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) /* Transparency */ + gain_white_ref = sensor.fau_gain_white_ref * 256; + else + gain_white_ref = sensor.gain_white_ref * 256; + /* white and black are defined downwards */ + + uint8_t gain0 = genesys_adjust_gain(&applied_multi, + gain_white_ref / (white[0] - dark[0]), + dev->frontend.get_gain(0)); + uint8_t gain1 = genesys_adjust_gain(&applied_multi, + gain_white_ref / (white[1] - dark[1]), + dev->frontend.get_gain(1)); + uint8_t gain2 = genesys_adjust_gain(&applied_multi, + gain_white_ref / (white[2] - dark[2]), + dev->frontend.get_gain(2)); + // FIXME: looks like overwritten data. Are the above calculations doing + // anything at all? + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain1); + dev->frontend.set_gain(2, gain2); + dev->frontend.set_gain(0, 2); + dev->frontend.set_gain(1, 2); + dev->frontend.set_gain(2, 2); + + status = + sanei_genesys_fe_write_data(dev, 0x28, dev->frontend.get_gain(0)); + if (status != SANE_STATUS_GOOD) /* todo: this was 0x28 + 3 ? */ + { + DBG(DBG_error, "%s: Failed to write gain[0]: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = + sanei_genesys_fe_write_data(dev, 0x29, dev->frontend.get_gain(1)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to write gain[1]: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = + sanei_genesys_fe_write_data(dev, 0x2a, dev->frontend.get_gain(2)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to write gain[2]: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + if (i == 3) /* last line */ + { + double x, y, rate; + + for (j = 0; j < 3; j++) + { + + x = + (double) (dark[(i - 2) * 3 + j] - + dark[(i - 1) * 3 + j]) * 254 / (offset[i - 1] / 2 - + offset[i - 2] / 2); + y = x - x * (offset[i - 1] / 2) / 254 - dark[(i - 1) * 3 + j]; + rate = (x - DARK_VALUE - y) * 254 / x + 0.5; + + uint8_t curr_offset = static_cast(rate); + + if (curr_offset > 0x7f) { + curr_offset = 0x7f; + } + curr_offset <<= 1; + dev->frontend.set_offset(j, curr_offset); + } + } + status = + sanei_genesys_fe_write_data(dev, 0x20, dev->frontend.get_offset(0)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to write offset[0]: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = + sanei_genesys_fe_write_data(dev, 0x21, dev->frontend.get_offset(1)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to write offset[1]: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = + sanei_genesys_fe_write_data(dev, 0x22, dev->frontend.get_offset(2)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to write offset[2]: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_info, + "%s: doing scan: gain: %d/%d/%d, offset: %d/%d/%d\n", __func__, + dev->frontend.get_gain(0), + dev->frontend.get_gain(1), + dev->frontend.get_gain(2), + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); + + status = + dev->model->cmd_set->begin_scan(dev, sensor, &dev->calib_reg, SANE_FALSE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = + sanei_genesys_read_data_from_scanner (dev, calibration_data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + std::memcpy(all_data.data() + i * size, calibration_data.data(), size); + if (i == 3) /* last line */ + { + std::vector all_data_8(size * 4 / 2); + unsigned int count; + + for (count = 0; count < (unsigned int) (size * 4 / 2); count++) + all_data_8[count] = all_data[count * 2 + 1]; + status = + sanei_genesys_write_pnm_file("gl_coarse.pnm", all_data_8.data(), 8, channels, size / 6, 4); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + status = dev->model->cmd_set->end_scan(dev, &dev->calib_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to end scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + for (j = 0; j < 3; j++) + { + genesys_average_white (dev, sensor, 3, j, calibration_data.data(), size, + &white_average); + white[i * 3 + j] = white_average; + dark[i * 3 + j] = + genesys_average_black (dev, j, calibration_data.data(), + black_pixels); + DBG(DBG_info, "%s: white[%d]=%d, black[%d]=%d\n", __func__, + i * 3 + j, white[i * 3 + j], i * 3 + j, dark[i * 3 + j]); + } + } + else /* one color-component modes */ + { + genesys_average_white (dev, sensor, 1, 0, calibration_data.data(), size, + &white_average); + white[i * 3 + 0] = white[i * 3 + 1] = white[i * 3 + 2] = + white_average; + dark[i * 3 + 0] = dark[i * 3 + 1] = dark[i * 3 + 2] = + genesys_average_black (dev, 0, calibration_data.data(), black_pixels); + } + + if (i == 3) + { + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + /* todo: huh? */ + dev->dark[0] = + (uint16_t) (1.6925 * dark[i * 3 + 0] + 0.1895 * 256); + dev->dark[1] = + (uint16_t) (1.4013 * dark[i * 3 + 1] + 0.3147 * 256); + dev->dark[2] = + (uint16_t) (1.2931 * dark[i * 3 + 2] + 0.1558 * 256); + } + else /* one color-component modes */ + { + switch (dev->settings.color_filter) + { + case ColorFilter::RED: + default: + dev->dark[0] = + (uint16_t) (1.6925 * dark[i * 3 + 0] + + (1.1895 - 1.0) * 256); + dev->dark[1] = dev->dark[2] = dev->dark[0]; + break; + + case ColorFilter::GREEN: + dev->dark[1] = + (uint16_t) (1.4013 * dark[i * 3 + 1] + + (1.3147 - 1.0) * 256); + dev->dark[0] = dev->dark[2] = dev->dark[1]; + break; + + case ColorFilter::BLUE: + dev->dark[2] = + (uint16_t) (1.2931 * dark[i * 3 + 2] + + (1.1558 - 1.0) * 256); + dev->dark[0] = dev->dark[1] = dev->dark[2]; + break; + } + } + } + } /* for (i = 0; i < 4; i++) */ + + DBG(DBG_info, "%s: final: gain: %d/%d/%d, offset: %d/%d/%d\n", __func__, + dev->frontend.get_gain(0), + dev->frontend.get_gain(1), + dev->frontend.get_gain(2), + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); + DBGCOMPLETED; + + return status; +} + +/* Averages image data. + average_data and calibration_data are little endian 16 bit words. + */ +static void +genesys_average_data (uint8_t * average_data, + uint8_t * calibration_data, + uint32_t lines, + uint32_t pixel_components_per_line) +{ + uint32_t x, y; + uint32_t sum; + + for (x = 0; x < pixel_components_per_line; x++) + { + sum = 0; + for (y = 0; y < lines; y++) + { + sum += calibration_data[(x + y * pixel_components_per_line) * 2]; + sum += + calibration_data[(x + y * pixel_components_per_line) * 2 + + 1] * 256; + } + sum /= lines; + *average_data++ = sum & 255; + *average_data++ = sum / 256; + } +} + +/** + * scans a white area with motor and lamp off to get the per CCD pixel offset + * that will be used to compute shading coefficient + * @param dev scanner's device + * @return SANE_STATUS_GOOD if OK, else an error + */ +static SANE_Status +genesys_dark_shading_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + SANE_Status status = SANE_STATUS_GOOD; + size_t size; + uint32_t pixels_per_line; + uint8_t channels; + SANE_Bool motor; + + DBGSTART; + + /* end pixel - start pixel */ + pixels_per_line = dev->calib_pixels; + channels = dev->calib_channels; + + uint32_t out_pixels_per_line = pixels_per_line + dev->calib_pixels_offset; + dev->average_size = channels * 2 * out_pixels_per_line; + + dev->dark_average_data.clear(); + dev->dark_average_data.resize(dev->average_size); + + // FIXME: the current calculation is likely incorrect on non-GENESYS_GL843 implementations, + // but this needs checking + if (dev->calib_total_bytes_to_read > 0) { + size = dev->calib_total_bytes_to_read; + } else if (dev->model->asic_type == GENESYS_GL843) { + size = channels * 2 * pixels_per_line * dev->calib_lines; + } else { + size = channels * 2 * pixels_per_line * (dev->calib_lines + 1); + } + + std::vector calibration_data(size); + + motor=SANE_TRUE; + if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE) + { + motor=SANE_FALSE; + } + + /* turn off motor and lamp power for flatbed scanners, but not for sheetfed scanners + * because they have a calibration sheet with a sufficient black strip */ + if (dev->model->is_sheetfed == SANE_FALSE) + { + sanei_genesys_set_lamp_power(dev, sensor, dev->calib_reg, false); + sanei_genesys_set_motor_power(dev->calib_reg, motor); + } + else + { + sanei_genesys_set_lamp_power(dev, sensor, dev->calib_reg, true); + sanei_genesys_set_motor_power(dev->calib_reg, motor); + } + + status = + dev->model->cmd_set->bulk_write_register(dev, dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + // wait some time to let lamp to get dark + sanei_genesys_sleep_ms(200); + + status = dev->model->cmd_set->begin_scan(dev, sensor, &dev->calib_reg, SANE_FALSE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_read_data_from_scanner (dev, calibration_data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = dev->model->cmd_set->end_scan(dev, &dev->calib_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + std::fill(dev->dark_average_data.begin(), + dev->dark_average_data.begin() + dev->calib_pixels_offset * channels, + 0x00); + + genesys_average_data(dev->dark_average_data.data() + dev->calib_pixels_offset * channels, + calibration_data.data(), + dev->calib_lines, pixels_per_line * channels); + + if (DBG_LEVEL >= DBG_data) + { + sanei_genesys_write_pnm_file("gl_black_shading.pnm", calibration_data.data(), 16, + channels, pixels_per_line, dev->calib_lines); + sanei_genesys_write_pnm_file("gl_black_average.pnm", dev->dark_average_data.data(), 16, + channels, out_pixels_per_line, 1); + } + + DBGCOMPLETED; + + return SANE_STATUS_GOOD; +} + +/* + * this function builds dummy dark calibration data so that we can + * compute shading coefficient in a clean way + * todo: current values are hardcoded, we have to find if they + * can be computed from previous calibration data (when doing offset + * calibration ?) + */ +static SANE_Status +genesys_dummy_dark_shading (Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + uint32_t pixels_per_line; + uint8_t channels; + uint32_t x, skip, xend; + int dummy1, dummy2, dummy3; /* dummy black average per channel */ + + DBGSTART; + + pixels_per_line = dev->calib_pixels; + channels = dev->calib_channels; + + uint32_t out_pixels_per_line = pixels_per_line + dev->calib_pixels_offset; + + dev->average_size = channels * 2 * out_pixels_per_line; + dev->dark_average_data.clear(); + dev->dark_average_data.resize(dev->average_size, 0); + + /* we average values on 'the left' where CCD pixels are under casing and + give darkest values. We then use these as dummy dark calibration */ + if (dev->settings.xres <= sensor.optical_res / 2) + { + skip = 4; + xend = 36; + } + else + { + skip = 4; + xend = 68; + } + if (dev->model->ccd_type==CCD_G4050 + || dev->model->ccd_type==CCD_CS4400F + || dev->model->ccd_type==CCD_CS8400F + || dev->model->ccd_type==CCD_KVSS080) + { + skip = 2; + xend = sensor.black_pixels; + } + + /* average each channels on half left margin */ + dummy1 = 0; + dummy2 = 0; + dummy3 = 0; + + for (x = skip + 1; x <= xend; x++) + { + dummy1 += + dev->white_average_data[channels * 2 * x] + + 256 * dev->white_average_data[channels * 2 * x + 1]; + if (channels > 1) + { + dummy2 += + (dev->white_average_data[channels * 2 * x + 2] + + 256 * dev->white_average_data[channels * 2 * x + 3]); + dummy3 += + (dev->white_average_data[channels * 2 * x + 4] + + 256 * dev->white_average_data[channels * 2 * x + 5]); + } + } + + dummy1 /= (xend - skip); + if (channels > 1) + { + dummy2 /= (xend - skip); + dummy3 /= (xend - skip); + } + DBG(DBG_proc, "%s: dummy1=%d, dummy2=%d, dummy3=%d \n", __func__, dummy1, dummy2, dummy3); + + /* fill dark_average */ + for (x = 0; x < out_pixels_per_line; x++) + { + dev->dark_average_data[channels * 2 * x] = dummy1 & 0xff; + dev->dark_average_data[channels * 2 * x + 1] = dummy1 >> 8; + if (channels > 1) + { + dev->dark_average_data[channels * 2 * x + 2] = dummy2 & 0xff; + dev->dark_average_data[channels * 2 * x + 3] = dummy2 >> 8; + dev->dark_average_data[channels * 2 * x + 4] = dummy3 & 0xff; + dev->dark_average_data[channels * 2 * x + 5] = dummy3 >> 8; + } + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +static SANE_Status +genesys_white_shading_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + SANE_Status status = SANE_STATUS_GOOD; + size_t size; + uint32_t pixels_per_line; + uint8_t channels; + SANE_Bool motor; + + DBG(DBG_proc, "%s (lines = %d)\n", __func__, (unsigned int)dev->calib_lines); + + pixels_per_line = dev->calib_pixels; + channels = dev->calib_channels; + + uint32_t out_pixels_per_line = pixels_per_line + dev->calib_pixels_offset; + + dev->white_average_data.clear(); + dev->white_average_data.resize(channels * 2 * out_pixels_per_line); + + // FIXME: the current calculation is likely incorrect on non-GENESYS_GL843 implementations, + // but this needs checking + if (dev->calib_total_bytes_to_read > 0) { + size = dev->calib_total_bytes_to_read; + } else if (dev->model->asic_type == GENESYS_GL843) { + size = channels * 2 * pixels_per_line * dev->calib_lines; + } else { + size = channels * 2 * pixels_per_line * (dev->calib_lines + 1); + } + + std::vector calibration_data(size); + + motor=SANE_TRUE; + if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE) + { + motor=SANE_FALSE; + } + + // turn on motor and lamp power + sanei_genesys_set_lamp_power(dev, sensor, dev->calib_reg, true); + sanei_genesys_set_motor_power(dev->calib_reg, motor); + + /* if needed, go back before doing next scan */ + if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) + { + /* rewind keeps registers and slopes table intact from previous + scan but is not available on all supported chipsets (or may + cause scan artifacts, see #7) */ + status = (dev->model->cmd_set->rewind + ? dev->model->cmd_set->rewind (dev) + : dev->model->cmd_set->slow_back_home (dev, SANE_TRUE)); + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) + { + dev->model->cmd_set->move_to_ta(dev); + } + } + + status = + dev->model->cmd_set->bulk_write_register(dev, dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) + sanei_genesys_sleep_ms(500); // make sure lamp is bright again + + status = dev->model->cmd_set->begin_scan(dev, sensor, &dev->calib_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_read_data_from_scanner (dev, calibration_data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = dev->model->cmd_set->end_scan(dev, &dev->calib_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl_white_shading.pnm", calibration_data.data(), 16, + channels, pixels_per_line, dev->calib_lines); + + std::fill(dev->dark_average_data.begin(), + dev->dark_average_data.begin() + dev->calib_pixels_offset * channels, + 0x00); + + genesys_average_data (dev->white_average_data.data() + dev->calib_pixels_offset * channels, + calibration_data.data(), dev->calib_lines, + pixels_per_line * channels); + + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl_white_average.pnm", dev->white_average_data.data(), 16, + channels, out_pixels_per_line, 1); + + /* in case we haven't done dark calibration, build dummy data from white_average */ + if (!(dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION)) + { + status = genesys_dummy_dark_shading(dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to do dummy dark shading calibration: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } + + if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) + { + status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE); + } + + DBGCOMPLETED; + + return status; +} + +/* This calibration uses a scan over the calibration target, comprising a + * black and a white strip. (So the motor must be on.) + */ +static SANE_Status +genesys_dark_white_shading_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + SANE_Status status = SANE_STATUS_GOOD; + size_t size; + uint32_t pixels_per_line; + uint8_t *average_white, *average_dark; + uint8_t channels; + unsigned int x; + int y; + uint32_t dark, white, dark_sum, white_sum, dark_count, white_count, col, + dif; + SANE_Bool motor; + + + DBG(DBG_proc, "%s: (lines = %d)\n", __func__, (unsigned int)dev->calib_lines); + + pixels_per_line = dev->calib_pixels; + channels = dev->calib_channels; + + uint32_t out_pixels_per_line = pixels_per_line + dev->calib_pixels_offset; + + dev->average_size = channels * 2 * out_pixels_per_line; + + dev->white_average_data.clear(); + dev->white_average_data.resize(dev->average_size); + + dev->dark_average_data.clear(); + dev->dark_average_data.resize(dev->average_size); + + if (dev->calib_total_bytes_to_read > 0) + size = dev->calib_total_bytes_to_read; + else + size = channels * 2 * pixels_per_line * dev->calib_lines; + + std::vector calibration_data(size); + + motor=SANE_TRUE; + if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE) + { + motor=SANE_FALSE; + } + + // turn on motor and lamp power + sanei_genesys_set_lamp_power(dev, sensor, dev->calib_reg, true); + sanei_genesys_set_motor_power(dev->calib_reg, motor); + + status = + dev->model->cmd_set->bulk_write_register(dev, dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = dev->model->cmd_set->begin_scan(dev, sensor, &dev->calib_reg, SANE_FALSE); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_read_data_from_scanner (dev, calibration_data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = dev->model->cmd_set->end_scan(dev, &dev->calib_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to end scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + if (DBG_LEVEL >= DBG_data) + { + if (dev->model->is_cis) + { + sanei_genesys_write_pnm_file("gl_black_white_shading.pnm", calibration_data.data(), + 16, 1, pixels_per_line*channels, + dev->calib_lines); + } + else + { + sanei_genesys_write_pnm_file("gl_black_white_shading.pnm", calibration_data.data(), + 16, channels, pixels_per_line, + dev->calib_lines); + } + } + + + std::fill(dev->dark_average_data.begin(), + dev->dark_average_data.begin() + dev->calib_pixels_offset * channels, + 0x00); + std::fill(dev->white_average_data.begin(), + dev->white_average_data.begin() + dev->calib_pixels_offset * channels, + 0x00); + + average_white = dev->white_average_data.data() + dev->calib_pixels_offset * channels; + average_dark = dev->dark_average_data.data() + dev->calib_pixels_offset * channels; + + for (x = 0; x < pixels_per_line * channels; x++) + { + dark = 0xffff; + white = 0; + + for (y = 0; y < (int)dev->calib_lines; y++) + { + col = calibration_data[(x + y * pixels_per_line * channels) * 2]; + col |= + calibration_data[(x + y * pixels_per_line * channels) * 2 + + 1] << 8; + + if (col > white) + white = col; + if (col < dark) + dark = col; + } + + dif = white - dark; + + dark = dark + dif / 8; + white = white - dif / 8; + + dark_count = 0; + dark_sum = 0; + + white_count = 0; + white_sum = 0; + + for (y = 0; y < (int)dev->calib_lines; y++) + { + col = calibration_data[(x + y * pixels_per_line * channels) * 2]; + col |= + calibration_data[(x + y * pixels_per_line * channels) * 2 + + 1] << 8; + + if (col >= white) + { + white_sum += col; + white_count++; + } + if (col <= dark) + { + dark_sum += col; + dark_count++; + } + + } + + dark_sum /= dark_count; + white_sum /= white_count; + + *average_dark++ = dark_sum & 255; + *average_dark++ = dark_sum >> 8; + + *average_white++ = white_sum & 255; + *average_white++ = white_sum >> 8; + } + + if (DBG_LEVEL >= DBG_data) + { + sanei_genesys_write_pnm_file("gl_white_average.pnm", + dev->white_average_data.data(), 16, channels, + out_pixels_per_line, 1); + sanei_genesys_write_pnm_file("gl_dark_average.pnm", + dev->dark_average_data.data(), 16, channels, + out_pixels_per_line, 1); + } + + DBGCOMPLETED; + + return SANE_STATUS_GOOD; +} + +/* computes one coefficient given bright-dark value + * @param coeff factor giving 1.00 gain + * @param target desired target code + * @param value brght-dark value + * */ +static unsigned int +compute_coefficient (unsigned int coeff, unsigned int target, unsigned int value) +{ + int result; + + if (value > 0) + { + result = (coeff * target) / value; + if (result >= 65535) + { + result = 65535; + } + } + else + { + result = coeff; + } + return result; +} + +/** @brief compute shading coefficients for LiDE scanners + * The dark/white shading is actually performed _after_ reducing + * resolution via averaging. only dark/white shading data for what would be + * first pixel at full resolution is used. + * + * scanner raw input to output value calculation: + * o=(i-off)*(gain/coeff) + * + * from datasheet: + * off=dark_average + * gain=coeff*bright_target/(bright_average-dark_average) + * works for dark_target==0 + * + * what we want is these: + * bright_target=(bright_average-off)*(gain/coeff) + * dark_target=(dark_average-off)*(gain/coeff) + * leading to + * off = (dark_average*bright_target - bright_average*dark_target)/(bright_target - dark_target) + * gain = (bright_target - dark_target)/(bright_average - dark_average)*coeff + * + * @param dev scanner's device + * @param shading_data memory area where to store the computed shading coefficients + * @param pixels_per_line number of pixels per line + * @param words_per_color memory words per color channel + * @param channels number of color channels (actually 1 or 3) + * @param o shading coefficients left offset + * @param coeff 4000h or 2000h depending on fast scan mode or not (GAIN4 bit) + * @param target_bright value of the white target code + * @param target_dark value of the black target code +*/ +static void +compute_averaged_planar (Genesys_Device * dev, const Genesys_Sensor& sensor, + uint8_t * shading_data, + unsigned int pixels_per_line, + unsigned int words_per_color, + unsigned int channels, + unsigned int o, + unsigned int coeff, + unsigned int target_bright, + unsigned int target_dark) +{ + unsigned int x, i, j, br, dk, res, avgpixels, basepixels, val; + unsigned int fill,factor; + + DBG(DBG_info, "%s: pixels=%d, offset=%d\n", __func__, pixels_per_line, o); + + /* initialize result */ + memset (shading_data, 0xff, words_per_color * 3 * 2); + + /* + strangely i can write 0x20000 bytes beginning at 0x00000 without overwriting + slope tables - which begin at address 0x10000(for 1200dpi hw mode): + memory is organized in words(2 bytes) instead of single bytes. explains + quite some things + */ +/* + another one: the dark/white shading is actually performed _after_ reducing + resolution via averaging. only dark/white shading data for what would be + first pixel at full resolution is used. + */ +/* + scanner raw input to output value calculation: + o=(i-off)*(gain/coeff) + + from datasheet: + off=dark_average + gain=coeff*bright_target/(bright_average-dark_average) + works for dark_target==0 + + what we want is these: + bright_target=(bright_average-off)*(gain/coeff) + dark_target=(dark_average-off)*(gain/coeff) + leading to + off = (dark_average*bright_target - bright_average*dark_target)/(bright_target - dark_target) + gain = (bright_target - dark_target)/(bright_average - dark_average)*coeff + */ + res = dev->settings.xres; + + if (sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres) > 1) + { + res *= 2; + } + + /* this should be evenly dividable */ + basepixels = sensor.optical_res / res; + + /* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ + if (basepixels < 1) + avgpixels = 1; + else if (basepixels < 6) + avgpixels = basepixels; + else if (basepixels < 8) + avgpixels = 6; + else if (basepixels < 10) + avgpixels = 8; + else if (basepixels < 12) + avgpixels = 10; + else if (basepixels < 15) + avgpixels = 12; + else + avgpixels = 15; + + /* LiDE80 packs shading data */ + if(dev->model->ccd_type != CIS_CANONLIDE80) + { + factor=1; + fill=avgpixels; + } + else + { + factor=avgpixels; + fill=1; + } + + DBG(DBG_info, "%s: averaging over %d pixels\n", __func__, avgpixels); + DBG(DBG_info, "%s: packing factor is %d\n", __func__, factor); + DBG(DBG_info, "%s: fill length is %d\n", __func__, fill); + + for (x = 0; x <= pixels_per_line - avgpixels; x += avgpixels) + { + if ((x + o) * 2 * 2 + 3 > words_per_color * 2) + break; + + for (j = 0; j < channels; j++) + { + + dk = 0; + br = 0; + for (i = 0; i < avgpixels; i++) + { + /* dark data */ + dk += + (dev->dark_average_data[(x + i + + pixels_per_line * j) * + 2] | + (dev->dark_average_data + [(x + i + pixels_per_line * j) * 2 + 1] << 8)); + + /* white data */ + br += + (dev->white_average_data[(x + i + + pixels_per_line * j) * + 2] | + (dev->white_average_data + [(x + i + pixels_per_line * j) * 2 + 1] << 8)); + } + + br /= avgpixels; + dk /= avgpixels; + + if (br * target_dark > dk * target_bright) + val = 0; + else if (dk * target_bright - br * target_dark > + 65535 * (target_bright - target_dark)) + val = 65535; + else + { + val = (dk * target_bright - br * target_dark) / (target_bright - target_dark); + } + + /*fill all pixels, even if only the last one is relevant*/ + for (i = 0; i < fill; i++) + { + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j] = val & 0xff; + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 1] = val >> 8; + } + + val = br - dk; + + if (65535 * val > (target_bright - target_dark) * coeff) + { + val = (coeff * (target_bright - target_dark)) / val; + } + else + { + val = 65535; + } + + /*fill all pixels, even if only the last one is relevant*/ + for (i = 0; i < fill; i++) + { + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 2] = val & 0xff; + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 3] = val >> 8; + } + } + + /* fill remaining channels */ + for (j = channels; j < 3; j++) + { + for (i = 0; i < fill; i++) + { + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j ] = shading_data[(x/factor + o + i) * 2 * 2 ]; + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 1] = shading_data[(x/factor + o + i) * 2 * 2 + 1]; + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 2] = shading_data[(x/factor + o + i) * 2 * 2 + 2]; + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 3] = shading_data[(x/factor + o + i) * 2 * 2 + 3]; + } + } + } +} + +/** + * Computes shading coefficient using formula in data sheet. 16bit data values + * manipulated here are little endian. For now we assume deletion scanning type + * and that there is always 3 channels. + * @param dev scanner's device + * @param shading_data memory area where to store the computed shading coefficients + * @param pixels_per_line number of pixels per line + * @param channels number of color channels (actually 1 or 3) + * @param cmat color transposition matrix + * @param offset shading coefficients left offset + * @param coeff 4000h or 2000h depending on fast scan mode or not + * @param target value of the target code + */ +static void +compute_coefficients (Genesys_Device * dev, + uint8_t * shading_data, + unsigned int pixels_per_line, + unsigned int channels, + unsigned int cmat[3], + int offset, + unsigned int coeff, + unsigned int target) +{ + uint8_t *ptr; /* contain 16bit words in little endian */ + unsigned int x, c; + unsigned int val, br, dk; + unsigned int start, end; + + DBG(DBG_io, "%s: pixels_per_line=%d, coeff=0x%04x\n", __func__, pixels_per_line, coeff); + + /* compute start & end values depending of the offset */ + if (offset < 0) + { + start = -1 * offset; + end = pixels_per_line; + } + else + { + start = 0; + end = pixels_per_line - offset; + } + + for (c = 0; c < channels; c++) + { + for (x = start; x < end; x++) + { + /* TODO if channels=1 , use filter to know the base addr */ + ptr = shading_data + 4 * ((x + offset) * channels + cmat[c]); + + /* dark data */ + dk = dev->dark_average_data[x * 2 * channels + c * 2]; + dk += 256 * dev->dark_average_data[x * 2 * channels + c * 2 + 1]; + + /* white data */ + br = dev->white_average_data[x * 2 * channels + c * 2]; + br += 256 * dev->white_average_data[x * 2 * channels + c * 2 + 1]; + + /* compute coeff */ + val=compute_coefficient(coeff,target,br-dk); + + /* assign it */ + ptr[0] = dk & 255; + ptr[1] = dk / 256; + ptr[2] = val & 0xff; + ptr[3] = val / 256; + + } + } +} + +/** + * Computes shading coefficient using formula in data sheet. 16bit data values + * manipulated here are little endian. Data is in planar form, ie grouped by + * lines of the same color component. + * @param dev scanner's device + * @param shading_data memory area where to store the computed shading coefficients + * @param factor averaging factor when the calibration scan is done at a higher resolution + * than the final scan + * @param pixels_per_line number of pixels per line + * @param words_per_color total number of shading data words for one color element + * @param channels number of color channels (actually 1 or 3) + * @param cmat transcoding matrix for color channel order + * @param offset shading coefficients left offset + * @param coeff 4000h or 2000h depending on fast scan mode or not + * @param target white target value + */ +static void +compute_planar_coefficients (Genesys_Device * dev, + uint8_t * shading_data, + unsigned int factor, + unsigned int pixels_per_line, + unsigned int words_per_color, + unsigned int channels, + unsigned int cmat[3], + unsigned int offset, + unsigned int coeff, + unsigned int target) +{ + uint8_t *ptr; /* contains 16bit words in little endian */ + uint32_t x, c, i; + uint32_t val, dk, br; + + DBG(DBG_io, "%s: factor=%d, pixels_per_line=%d, words=0x%X, coeff=0x%04x\n", __func__, factor, + pixels_per_line, words_per_color, coeff); + for (c = 0; c < channels; c++) + { + /* shading data is larger than pixels_per_line so offset can be neglected */ + for (x = 0; x < pixels_per_line; x+=factor) + { + /* x2 because of 16 bit values, and x2 since one coeff for dark + * and another for white */ + ptr = shading_data + words_per_color * cmat[c] * 2 + (x + offset) * 4; + + dk = 0; + br = 0; + + /* average case */ + for(i=0;idark_average_data[((x+i) + pixels_per_line * c) * 2 + 1]; + dk += dev->dark_average_data[((x+i) + pixels_per_line * c) * 2]; + br += + 256 * dev->white_average_data[((x+i) + pixels_per_line * c) * 2 + 1]; + br += dev->white_average_data[((x+i) + pixels_per_line * c) * 2]; + } + dk /= factor; + br /= factor; + + val = compute_coefficient (coeff, target, br - dk); + + /* we duplicate the information to have calibration data at optical resolution */ + for (i = 0; i < factor; i++) + { + ptr[0 + 4 * i] = dk & 255; + ptr[1 + 4 * i] = dk / 256; + ptr[2 + 4 * i] = val & 0xff; + ptr[3 + 4 * i] = val / 256; + } + } + } + /* in case of gray level scan, we duplicate shading information on all + * three color channels */ + if(channels==1) + { + memcpy(shading_data+cmat[1]*2*words_per_color, + shading_data+cmat[0]*2*words_per_color, + words_per_color*2); + memcpy(shading_data+cmat[2]*2*words_per_color, + shading_data+cmat[0]*2*words_per_color, + words_per_color*2); + } +} + +static void +compute_shifted_coefficients (Genesys_Device * dev, + const Genesys_Sensor& sensor, + uint8_t * shading_data, + unsigned int pixels_per_line, + unsigned int channels, + unsigned int cmat[3], + int offset, + unsigned int coeff, + unsigned int target_dark, + unsigned int target_bright, + unsigned int patch_size) /* contigous extent */ +{ + unsigned int x, avgpixels, basepixels, i, j, val1, val2; + unsigned int br_tmp [3], dk_tmp [3]; + uint8_t *ptr = shading_data + offset * 3 * 4; /* contain 16bit words in little endian */ + unsigned int patch_cnt = offset * 3; /* at start, offset of first patch */ + + x = dev->settings.xres; + if (sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres) > 1) + x *= 2; /* scanner is using half-ccd mode */ + basepixels = sensor.optical_res / x; /*this should be evenly dividable */ + + /* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ + if (basepixels < 1) + avgpixels = 1; + else if (basepixels < 6) + avgpixels = basepixels; + else if (basepixels < 8) + avgpixels = 6; + else if (basepixels < 10) + avgpixels = 8; + else if (basepixels < 12) + avgpixels = 10; + else if (basepixels < 15) + avgpixels = 12; + else + avgpixels = 15; + DBG(DBG_info, "%s: pixels_per_line=%d, coeff=0x%04x, averaging over %d pixels\n", __func__, + pixels_per_line, coeff, avgpixels); + + for (x = 0; x <= pixels_per_line - avgpixels; x += avgpixels) { + memset (&br_tmp, 0, sizeof(br_tmp)); + memset (&dk_tmp, 0, sizeof(dk_tmp)); + + for (i = 0; i < avgpixels; i++) { + for (j = 0; j < channels; j++) { + br_tmp[j] += (dev->white_average_data[((x + i) * channels + j) * 2] | + (dev->white_average_data[((x + i) * channels + j) * 2 + 1] << 8)); + dk_tmp[i] += (dev->dark_average_data[((x + i) * channels + j) * 2] | + (dev->dark_average_data[((x + i) * channels + j) * 2 + 1] << 8)); + } + } + for (j = 0; j < channels; j++) { + br_tmp[j] /= avgpixels; + dk_tmp[j] /= avgpixels; + + if (br_tmp[j] * target_dark > dk_tmp[j] * target_bright) + val1 = 0; + else if (dk_tmp[j] * target_bright - br_tmp[j] * target_dark > 65535 * (target_bright - target_dark)) + val1 = 65535; + else + val1 = (dk_tmp[j] * target_bright - br_tmp[j] * target_dark) / (target_bright - target_dark); + + val2 = br_tmp[j] - dk_tmp[j]; + if (65535 * val2 > (target_bright - target_dark) * coeff) + val2 = (coeff * (target_bright - target_dark)) / val2; + else + val2 = 65535; + + br_tmp[j] = val1; + dk_tmp[j] = val2; + } + for (i = 0; i < avgpixels; i++) { + for (j = 0; j < channels; j++) { + * ptr++ = br_tmp[ cmat[j] ] & 0xff; + * ptr++ = br_tmp[ cmat[j] ] >> 8; + * ptr++ = dk_tmp[ cmat[j] ] & 0xff; + * ptr++ = dk_tmp[ cmat[j] ] >> 8; + patch_cnt++; + if (patch_cnt == patch_size) { + patch_cnt = 0; + val1 = cmat[2]; + cmat[2] = cmat[1]; + cmat[1] = cmat[0]; + cmat[0] = val1; + } + } + } + } +} + +static SANE_Status +genesys_send_shading_coefficient(Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint32_t pixels_per_line; + uint8_t channels; + int o; + unsigned int length; /**> number of shading calibration data words */ + unsigned int factor; + unsigned int cmat[3]; /**> matrix of color channels */ + unsigned int coeff, target_code, words_per_color = 0; + + DBGSTART; + + pixels_per_line = dev->calib_pixels + dev->calib_pixels_offset; + channels = dev->calib_channels; + + /* we always build data for three channels, even for gray + * we make the shading data such that each color channel data line is contiguous + * to the next one, which allow to write the 3 channels in 1 write + * during genesys_send_shading_coefficient, some values are words, other bytes + * hence the x2 factor */ + switch (dev->reg.get8(0x05) >> 6) + { + /* 600 dpi */ + case 0: + words_per_color = 0x2a00; + break; + /* 1200 dpi */ + case 1: + words_per_color = 0x5500; + break; + /* 2400 dpi */ + case 2: + words_per_color = 0xa800; + break; + /* 4800 dpi */ + case 3: + words_per_color = 0x15000; + break; + } + + /* special case, memory is aligned on 0x5400, this has yet to be explained */ + /* could be 0xa800 because sensor is truly 2400 dpi, then halved because + * we only set 1200 dpi */ + if(dev->model->ccd_type==CIS_CANONLIDE80) + { + words_per_color = 0x5400; + } + + length = words_per_color * 3 * 2; + + /* allocate computed size */ + // contains 16bit words in little endian + std::vector shading_data(length, 0); + + /* TARGET/(Wn-Dn) = white gain -> ~1.xxx then it is multiplied by 0x2000 + or 0x4000 to give an integer + Wn = white average for column n + Dn = dark average for column n + */ + if (dev->model->cmd_set->get_gain4_bit(&dev->calib_reg)) + coeff = 0x4000; + else + coeff = 0x2000; + + /* compute avg factor */ + if(dev->settings.xres>sensor.optical_res) + { + factor=1; + } + else + { + factor=sensor.optical_res/dev->settings.xres; + } + + /* for GL646, shading data is planar if REG01_FASTMOD is set and + * chunky if not. For now we rely on the fact that we know that + * each sensor is used only in one mode. Currently only the CIS_XP200 + * sets REG01_FASTMOD. + */ + + /* TODO setup a struct in genesys_devices that + * will handle these settings instead of having this switch growing up */ + cmat[0] = 0; + cmat[1] = 1; + cmat[2] = 2; + switch (dev->model->ccd_type) + { + case CCD_XP300: + case CCD_ROADWARRIOR: + case CCD_DP665: + case CCD_DP685: + case CCD_DSMOBILE600: + target_code = 0xdc00; + o = 4; + compute_planar_coefficients (dev, + shading_data.data(), + factor, + pixels_per_line, + words_per_color, + channels, + cmat, + o, + coeff, + target_code); + break; + case CIS_XP200: + target_code = 0xdc00; + o = 2; + cmat[0] = 2; /* red is last */ + cmat[1] = 0; /* green is first */ + cmat[2] = 1; /* blue is second */ + compute_planar_coefficients (dev, + shading_data.data(), + 1, + pixels_per_line, + words_per_color, + channels, + cmat, + o, + coeff, + target_code); + break; + case CCD_HP2300: + target_code = 0xdc00; + o = 2; + if(dev->settings.xres<=sensor.optical_res/2) + { + o = o - sensor.dummy_pixel / 2; + } + compute_coefficients (dev, + shading_data.data(), + pixels_per_line, + 3, + cmat, + o, + coeff, + target_code); + break; + case CCD_5345: + target_code = 0xe000; + o = 4; + if(dev->settings.xres<=sensor.optical_res/2) + { + o = o - sensor.dummy_pixel; + } + compute_coefficients (dev, + shading_data.data(), + pixels_per_line, + 3, + cmat, + o, + coeff, + target_code); + break; + case CCD_HP3670: + case CCD_HP2400: + target_code = 0xe000; + /* offset is cksel dependent, but we can't use this in common code */ + if(dev->settings.xres<=300) + { + o = -10; /* OK for <=300 */ + } + else if(dev->settings.xres<=600) + { + o = -6; /* ok at 600 */ + } + else + { + o = +2; + } + compute_coefficients (dev, + shading_data.data(), + pixels_per_line, + 3, + cmat, + o, + coeff, + target_code); + break; + case CCD_KVSS080: + case CCD_PLUSTEK3800: + case CCD_G4050: + case CCD_CS4400F: + case CCD_CS8400F: + case CCD_CS8600F: + target_code = 0xe000; + o = 0; + compute_coefficients (dev, + shading_data.data(), + pixels_per_line, + 3, + cmat, + o, + coeff, + target_code); + break; + case CIS_CANONLIDE700: + case CIS_CANONLIDE100: + case CIS_CANONLIDE200: + case CIS_CANONLIDE110: + case CIS_CANONLIDE120: + case CIS_CANONLIDE210: + case CIS_CANONLIDE220: + /* TODO store this in a data struct so we avoid + * growing this switch */ + switch(dev->model->ccd_type) + { + case CIS_CANONLIDE110: + case CIS_CANONLIDE120: + case CIS_CANONLIDE210: + case CIS_CANONLIDE220: + target_code = 0xf000; + break; + case CIS_CANONLIDE700: + target_code = 0xc000; /* from experimentation */ + break; + default: + target_code = 0xdc00; + } + words_per_color=pixels_per_line*2; + length = words_per_color * 3 * 2; + shading_data.clear(); + shading_data.resize(length, 0); + compute_planar_coefficients (dev, + shading_data.data(), + 1, + pixels_per_line, + words_per_color, + channels, + cmat, + 0, + coeff, + target_code); + break; + case CCD_CANONLIDE35: + compute_averaged_planar (dev, sensor, + shading_data.data(), + pixels_per_line, + words_per_color, + channels, + 4, + coeff, + 0xe000, + 0x0a00); + break; + case CIS_CANONLIDE80: + compute_averaged_planar (dev, sensor, + shading_data.data(), + pixels_per_line, + words_per_color, + channels, + 0, + coeff, + 0xe000, + 0x0800); + break; + case CCD_PLUSTEK_3600: + compute_shifted_coefficients (dev, sensor, + shading_data.data(), + pixels_per_line, + channels, + cmat, + 12, /* offset */ + coeff, + 0x0001, /* target_dark */ + 0xf900, /* target_bright */ + 256); /* patch_size: contigous extent */ + break; + default: + DBG (DBG_error, "%s: sensor %d not supported\n", __func__, dev->model->ccd_type); + return SANE_STATUS_UNSUPPORTED; + break; + } + + /* do the actual write of shading calibration data to the scanner */ + status = genesys_send_offset_and_shading (dev, sensor, shading_data.data(), length); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to send shading data: %s\n", __func__, + sane_strstatus (status)); + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/** + * search calibration cache list for an entry matching required scan. + * If one is found, set device calibration with it + * @param dev scanner's device + * @return false if no matching cache entry has been + * found, true if one has been found and used. + */ +static bool +genesys_restore_calibration(Genesys_Device * dev, Genesys_Sensor& sensor) +{ + DBGSTART; + + /* if no cache or no function to evaluate cache entry ther can be no match */ + if (!dev->model->cmd_set->is_compatible_calibration + || dev->calibration_cache.empty()) + return false; + + /* we walk the link list of calibration cache in search for a + * matching one */ + for (auto& cache : dev->calibration_cache) + { + if (dev->model->cmd_set->is_compatible_calibration(dev, sensor, &cache, SANE_FALSE)) + { + dev->frontend = cache.frontend; + /* we don't restore the gamma fields */ + sensor.exposure = cache.sensor.exposure; + + dev->average_size = cache.average_size; + dev->calib_pixels = cache.calib_pixels; + dev->calib_channels = cache.calib_channels; + + dev->dark_average_data = cache.dark_average_data; + dev->white_average_data = cache.white_average_data; + + if(dev->model->cmd_set->send_shading_data==NULL) + { + TIE(genesys_send_shading_coefficient(dev, sensor)); + } + + DBG(DBG_proc, "%s: restored\n", __func__); + return true; + } + } + DBG(DBG_proc, "%s: completed(nothing found)\n", __func__); + return false; +} + + +static SANE_Status +genesys_save_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor) +{ +#ifdef HAVE_SYS_TIME_H + struct timeval time; +#endif + + DBGSTART; + + if (!dev->model->cmd_set->is_compatible_calibration) + return SANE_STATUS_UNSUPPORTED; + + auto found_cache_it = dev->calibration_cache.end(); + for (auto cache_it = dev->calibration_cache.begin(); cache_it != dev->calibration_cache.end(); + cache_it++) + { + if (dev->model->cmd_set->is_compatible_calibration(dev, sensor, &*cache_it, SANE_TRUE)) + { + found_cache_it = cache_it; + break; + } + } + + /* if we found on overridable cache, we reuse it */ + if (found_cache_it == dev->calibration_cache.end()) + { + /* create a new cache entry and insert it in the linked list */ + dev->calibration_cache.push_back(Genesys_Calibration_Cache()); + found_cache_it = std::prev(dev->calibration_cache.end()); + } + + found_cache_it->average_size = dev->average_size; + + found_cache_it->dark_average_data = dev->dark_average_data; + found_cache_it->white_average_data = dev->white_average_data; + + found_cache_it->used_setup = dev->current_setup; + found_cache_it->frontend = dev->frontend; + found_cache_it->sensor = sensor; + + found_cache_it->calib_pixels = dev->calib_pixels; + found_cache_it->calib_channels = dev->calib_channels; + +#ifdef HAVE_SYS_TIME_H + gettimeofday(&time,NULL); + found_cache_it->last_calibration = time.tv_sec; +#endif + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** + * does the calibration process for a flatbed scanner + * - offset calibration + * - gain calibration + * - shading calibration + * @param dev device to calibrate + * @return SANE_STATUS_GOOD if everything when all right, else the error code. + */ +static SANE_Status +genesys_flatbed_calibration(Genesys_Device * dev, Genesys_Sensor& sensor) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint32_t pixels_per_line; + int yres; + + DBG(DBG_info, "%s\n", __func__); + + yres = sensor.optical_res; + if (dev->settings.yres <= sensor.optical_res / 2) + yres /= 2; + + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + yres = 1200; + + /* do offset calibration if needed */ + if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) + { + status = dev->model->cmd_set->offset_calibration(dev, sensor, dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: offset calibration failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* since all the registers are set up correctly, just use them */ + status = dev->model->cmd_set->coarse_gain_calibration(dev, sensor, dev->calib_reg, yres); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: coarse gain calibration: %s\n", __func__, sane_strstatus(status)); + return status; + } + + } + else + /* since we have 2 gain calibration proc, skip second if first one was + used. */ + { + status = dev->model->cmd_set->init_regs_for_coarse_calibration(dev, sensor, dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send calibration registers: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + status = genesys_coarse_calibration(dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to do coarse gain calibration: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + } + + if (dev->model->is_cis) + { + /* the afe now sends valid data for doing led calibration */ + status = dev->model->cmd_set->led_calibration(dev, sensor, dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: led calibration failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* calibrate afe again to match new exposure */ + if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) + { + status = dev->model->cmd_set->offset_calibration(dev, sensor, dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: offset calibration failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* since all the registers are set up correctly, just use them */ + + status = dev->model->cmd_set->coarse_gain_calibration(dev, sensor, dev->calib_reg, yres); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: coarse gain calibration: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + else + /* since we have 2 gain calibration proc, skip second if first one was + used. */ + { + status = dev->model->cmd_set->init_regs_for_coarse_calibration(dev, sensor, + dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send calibration registers: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + status = genesys_coarse_calibration(dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to do static calibration: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } + } + + /* we always use sensor pixel number when the ASIC can't handle multi-segments sensor */ + if (!(dev->model->flags & GENESYS_FLAG_SIS_SENSOR)) + { + pixels_per_line = (SANE_UNFIX (dev->model->x_size) * dev->settings.xres) / MM_PER_INCH; + } + else + { + pixels_per_line = sensor.sensor_pixels; + } + + /* send default shading data */ + status = sanei_genesys_init_shading_data(dev, sensor, pixels_per_line); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to init shading process: %s\n", __func__, sane_strstatus(status)); + return status; + } + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) { + RIE(dev->model->cmd_set->move_to_ta(dev)); + } + + /* shading calibration */ + status = dev->model->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send shading registers: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + if (dev->model->flags & GENESYS_FLAG_DARK_WHITE_CALIBRATION) + { + status = genesys_dark_white_shading_calibration (dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to do dark+white shading calibration: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } + else + { + if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) + { + status = genesys_dark_shading_calibration(dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to do dark shading calibration: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } + + status = genesys_white_shading_calibration (dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to do white shading calibration: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } + + if(dev->model->cmd_set->send_shading_data==NULL) + { + status = genesys_send_shading_coefficient(dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send shading calibration coefficients: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } + + DBG(DBG_info, "%s: completed\n", __func__); + + return SANE_STATUS_GOOD; +} + +/** + * Does the calibration process for a sheetfed scanner + * - offset calibration + * - gain calibration + * - shading calibration + * During calibration a predefined calibration sheet with specific black and white + * areas is used. + * @param dev device to calibrate + * @return SANE_STATUS_GOOD if everything when all right, else the error code. + */ +static SANE_Status genesys_sheetfed_calibration(Genesys_Device * dev, Genesys_Sensor& sensor) +{ + SANE_Status status = SANE_STATUS_GOOD; + SANE_Bool forward = SANE_TRUE; + int xres; + + DBGSTART; + if (dev->model->cmd_set->search_strip == NULL) + { + DBG(DBG_error, "%s: no strip searching function available\n", __func__); + return SANE_STATUS_UNSUPPORTED; + } + + /* first step, load document */ + status = dev->model->cmd_set->load_document (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to load document: %s\n", __func__, sane_strstatus(status)); + return status; + } + + + DBG(DBG_info, "%s\n", __func__); + + /* led, offset and gain calibration are influenced by scan + * settings. So we set it to sensor resolution */ + xres = sensor.optical_res; + dev->settings.xres = sensor.optical_res; + /* XP200 needs to calibrate a full and half sensor's resolution */ + if (dev->model->ccd_type == CIS_XP200 + && dev->settings.xres <= sensor.optical_res / 2) + dev->settings.xres /= 2; + + /* the afe needs to sends valid data even before calibration */ + + /* go to a white area */ + try { + status = dev->model->cmd_set->search_strip(dev, sensor, forward, SANE_FALSE); + if (status != SANE_STATUS_GOOD) { + DBG(DBG_error, "%s: failed to find white strip: %s\n", __func__, + sane_strstatus(status)); + dev->model->cmd_set->eject_document (dev); + return status; + } + } catch (...) { + dev->model->cmd_set->eject_document(dev); + throw; + } + + if (dev->model->is_cis) + { + status = dev->model->cmd_set->led_calibration(dev, sensor, dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: led calibration failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + /* calibrate afe */ + if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) + { + status = dev->model->cmd_set->offset_calibration(dev, sensor, dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: offset calibration failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* since all the registers are set up correctly, just use them */ + + status = dev->model->cmd_set->coarse_gain_calibration(dev, sensor, dev->calib_reg, xres); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: coarse gain calibration: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + else + /* since we have 2 gain calibration proc, skip second if first one was + used. */ + { + status = dev->model->cmd_set->init_regs_for_coarse_calibration(dev, sensor, dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send calibration registers: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + status = genesys_coarse_calibration(dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to do static calibration: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + /* search for a full width black strip and then do a 16 bit scan to + * gather black shading data */ + if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) + { + /* seek black/white reverse/forward */ + try { + status = dev->model->cmd_set->search_strip(dev, sensor, forward, SANE_TRUE); + if (status != SANE_STATUS_GOOD) { + DBG(DBG_error, "%s: failed to find black strip: %s\n", __func__, + sane_strstatus(status)); + dev->model->cmd_set->eject_document(dev); + return status; + } + } catch (...) { + dev->model->cmd_set->eject_document(dev); + throw; + } + + status = dev->model->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to do set up registers for shading calibration: %s\n", + __func__, sane_strstatus(status)); + return status; + } + try { + status = genesys_dark_shading_calibration(dev, sensor); + if (status != SANE_STATUS_GOOD) { + dev->model->cmd_set->eject_document(dev); + DBG(DBG_error, "%s: failed to do dark shading calibration: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } catch (...) { + dev->model->cmd_set->eject_document(dev); + throw; + } + forward = SANE_FALSE; + } + + + /* go to a white area */ + try { + status = dev->model->cmd_set->search_strip(dev, sensor, forward, SANE_FALSE); + if (status != SANE_STATUS_GOOD) { + DBG(DBG_error, "%s: failed to find white strip: %s\n", __func__, + sane_strstatus(status)); + dev->model->cmd_set->eject_document (dev); + return status; + } + } catch (...) { + dev->model->cmd_set->eject_document (dev); + throw; + } + + status = dev->model->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to do set up registers for shading calibration: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + try { + status = genesys_white_shading_calibration(dev, sensor); + if (status != SANE_STATUS_GOOD) { + dev->model->cmd_set->eject_document(dev); + DBG(DBG_error, "%s: failed eject target: %s\n", __func__, sane_strstatus(status)); + return status; + } + } catch (...) { + dev->model->cmd_set->eject_document (dev); + throw; + } + + /* in case we haven't black shading data, build it from black pixels + * of white calibration */ + if (!(dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION)) + { + dev->dark_average_data.clear(); + dev->dark_average_data.resize(dev->average_size, 0x0f); + /* XXX STEF XXX + * with black point in white shading, build an average black + * pixel and use it to fill the dark_average + * dev->calib_pixels + (sensor.sensor_pixels * dev->settings.xres) / sensor.optical_res, + dev->calib_lines, + */ + } + + /* send the shading coefficient when doing whole line shading + * but not when using SHDAREA like GL124 */ + if(dev->model->cmd_set->send_shading_data==NULL) + { + status = genesys_send_shading_coefficient(dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send shading calibration coefficients: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } + + /* save the calibration data */ + genesys_save_calibration (dev, sensor); + + /* and finally eject calibration sheet */ + status = dev->model->cmd_set->eject_document (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to eject document: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* resotre settings */ + dev->settings.xres = xres; + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** + * does the calibration process for a device + * @param dev device to calibrate + */ +static SANE_Status +genesys_scanner_calibration(Genesys_Device * dev, Genesys_Sensor& sensor) +{ + if (dev->model->is_sheetfed == SANE_FALSE) + { + return genesys_flatbed_calibration (dev, sensor); + } + return genesys_sheetfed_calibration(dev, sensor); +} + +/* unused function kept in case it may be usefull in the futur */ +#if 0 +static SANE_Status +genesys_wait_not_moving (Genesys_Device * dev, int mseconds) +{ + uint8_t value; + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s: waiting %d mseconds for motor to stop\n", __func__, mseconds); + while (mseconds > 0) + { + RIE (sanei_genesys_get_status (dev, &value)); + + if (dev->model->cmd_set->test_motor_flag_bit (value)) + { + sanei_genesys_sleep_ms(100); + mseconds -= 100; + DBG(DBG_io, "%s: motor is moving, %d mseconds to go\n", __func__, mseconds); + } + else + { + DBG(DBG_info, "%s: motor is not moving, exiting\n", __func__); + return SANE_STATUS_GOOD; + } + + } + DBG(DBG_error, "%s: motor is still moving, timeout exceeded\n", __func__); + return SANE_STATUS_DEVICE_BUSY; +} +#endif + + +/* ------------------------------------------------------------------------ */ +/* High level (exported) functions */ +/* ------------------------------------------------------------------------ */ + +/* + * wait lamp to be warm enough by scanning the same line until + * differences between two scans are below a threshold + */ +static SANE_Status +genesys_warmup_lamp (Genesys_Device * dev) +{ + int seconds = 0; + int pixel; + int channels, total_size; + double first_average = 0; + double second_average = 0; + int difference = 255; + int empty, lines = 3; + SANE_Status status = SANE_STATUS_IO_ERROR; + + DBGSTART; + + /* check if the current chipset implements warmup */ + if(dev->model->cmd_set->init_regs_for_warmup==NULL) + { + DBG(DBG_error,"%s: init_regs_for_warmup not implemented\n", __func__); + return status; + } + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + dev->model->cmd_set->init_regs_for_warmup(dev, sensor, &dev->reg, &channels, &total_size); + std::vector first_line(total_size); + std::vector second_line(total_size); + + do + { + DBG(DBG_info, "%s: one more loop\n", __func__); + RIE(dev->model->cmd_set->begin_scan(dev, sensor, &dev->reg, SANE_FALSE)); + do + { + sanei_genesys_test_buffer_empty (dev, &empty); + } + while (empty); + + try { + status = sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size); + if (status != SANE_STATUS_GOOD) { + RIE(sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size)); + } + } catch (...) { + RIE(sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size)); + } + + RIE(dev->model->cmd_set->end_scan(dev, &dev->reg, SANE_TRUE)); + + sanei_genesys_sleep_ms(1000); + seconds++; + + RIE(dev->model->cmd_set->begin_scan(dev, sensor, &dev->reg, SANE_FALSE)); + do + { + sanei_genesys_test_buffer_empty (dev, &empty); + sanei_genesys_sleep_ms(100); + } + while (empty); + RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); + RIE(dev->model->cmd_set->end_scan(dev, &dev->reg, SANE_TRUE)); + + /* compute difference between the two scans */ + for (pixel = 0; pixel < total_size; pixel++) + { + /* 16 bit data */ + if (dev->model->cmd_set->get_bitset_bit(&dev->reg)) + { + first_average += (first_line[pixel] + first_line[pixel + 1] * 256); + second_average += (second_line[pixel] + second_line[pixel + 1] * 256); + pixel++; + } + else + { + first_average += first_line[pixel]; + second_average += second_line[pixel]; + } + } + if (dev->model->cmd_set->get_bitset_bit(&dev->reg)) + { + first_average /= pixel; + second_average /= pixel; + difference = fabs (first_average - second_average); + DBG(DBG_info, "%s: average = %.2f, diff = %.3f\n", __func__, + 100 * ((second_average) / (256 * 256)), + 100 * (difference / second_average)); + + if (second_average > (100 * 256) + && (difference / second_average) < 0.002) + break; + } + else + { + first_average /= pixel; + second_average /= pixel; + if (DBG_LEVEL >= DBG_data) + { + sanei_genesys_write_pnm_file("gl_warmup1.pnm", first_line.data(), 8, channels, + total_size / (lines * channels), lines); + sanei_genesys_write_pnm_file("gl_warmup2.pnm", second_line.data(), 8, channels, + total_size / (lines * channels), lines); + } + DBG(DBG_info, "%s: average 1 = %.2f, average 2 = %.2f\n", __func__, first_average, + second_average); + /* if delta below 15/255 ~= 5.8%, lamp is considred warm enough */ + if (fabs (first_average - second_average) < 15 + && second_average > 55) + break; + } + + /* sleep another second before next loop */ + sanei_genesys_sleep_ms(1000); + seconds++; + } + while (seconds < WARMUP_TIME); + + if (seconds >= WARMUP_TIME) + { + DBG(DBG_error, "%s: warmup timed out after %d seconds. Lamp defective?\n", __func__, seconds); + status = SANE_STATUS_IO_ERROR; + } + else + { + DBG(DBG_info, "%s: warmup succeeded after %d seconds\n", __func__, seconds); + } + + DBGCOMPLETED; + + return status; +} + + +/* High-level start of scanning */ +static SANE_Status +genesys_start_scan (Genesys_Device * dev, SANE_Bool lamp_off) +{ + SANE_Status status = SANE_STATUS_GOOD; + unsigned int steps, expected; + SANE_Bool empty; + + DBGSTART; + + /* since not all scanners are set ot wait for head to park + * we check we are not still parking before starting a new scan */ + if (dev->parking == SANE_TRUE) + { + status = sanei_genesys_wait_for_home (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to wait for head to park: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } + + /* disable power saving*/ + status = dev->model->cmd_set->save_power (dev, SANE_FALSE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to disable power saving mode: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + /* wait for lamp warmup : until a warmup for TRANSPARENCY is designed, skip + * it when scanning from XPA. */ + if (!(dev->model->flags & GENESYS_FLAG_SKIP_WARMUP) + && (dev->settings.scan_method == ScanMethod::FLATBED)) + { + RIE (genesys_warmup_lamp (dev)); + } + + /* set top left x and y values by scanning the internals if flatbed scanners */ + if (dev->model->is_sheetfed == SANE_FALSE) + { + /* do the geometry detection only once */ + if ((dev->model->flags & GENESYS_FLAG_SEARCH_START) + && (dev->model->y_offset_calib == 0)) + { + status = dev->model->cmd_set->search_start_position (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to search start position: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + dev->parking = SANE_FALSE; + status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to move scanhead to home position: %s\n", __func__, + sane_strstatus(status)); + return status; + } + dev->scanhead_position_in_steps = 0; + } + else + { + /* Go home */ + /* TODO: check we can drop this since we cannot have the + scanner's head wandering here */ + dev->parking = SANE_FALSE; + status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to move scanhead to home position: %s\n", __func__, + sane_strstatus(status)); + return status; + } + dev->scanhead_position_in_steps = 0; + } + } + + /* move to calibration area for transparency adapter */ + if ((dev->settings.scan_method == ScanMethod::TRANSPARENCY) + && dev->model->cmd_set->move_to_ta != NULL) + { + status=dev->model->cmd_set->move_to_ta(dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to move to start of transparency adapter: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } + + /* load document if needed (for sheetfed scanner for instance) */ + if (dev->model->is_sheetfed == SANE_TRUE + && dev->model->cmd_set->load_document != NULL) + { + status = dev->model->cmd_set->load_document (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to load document: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + auto& sensor = sanei_genesys_find_sensor_for_write(dev, dev->settings.xres, + dev->settings.scan_method); + + /* send gamma tables. They have been set to device or user value + * when setting option value */ + status = dev->model->cmd_set->send_gamma_table(dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to init gamma table: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* try to use cached calibration first */ + if (!genesys_restore_calibration (dev, sensor)) + { + /* calibration : sheetfed scanners can't calibrate before each scan */ + /* and also those who have the NO_CALIBRATION flag */ + if (!(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION) + &&dev->model->is_sheetfed == SANE_FALSE) + { + status = genesys_scanner_calibration(dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to do scanner calibration: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + genesys_save_calibration (dev, sensor); + } + else + { + DBG(DBG_warn, "%s: no calibration done\n", __func__); + } + } + + /* build look up table for dynamic lineart */ + if(dev->settings.dynamic_lineart==SANE_TRUE) + { + status = sanei_genesys_load_lut(dev->lineart_lut, 8, 8, 50, 205, + dev->settings.threshold_curve, + dev->settings.threshold-127); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to build lut\n", __func__); + return status; + } + } + + if (dev->model->cmd_set->wait_for_motor_stop) { + dev->model->cmd_set->wait_for_motor_stop(dev); + } + + if (dev->model->cmd_set->needs_home_before_init_regs_for_scan && + dev->model->cmd_set->needs_home_before_init_regs_for_scan(dev) && + dev->model->cmd_set->slow_back_home) + { + RIE(dev->model->cmd_set->slow_back_home(dev, SANE_TRUE)); + } + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) { + RIE(dev->model->cmd_set->move_to_ta(dev)); + } + + status = dev->model->cmd_set->init_regs_for_scan(dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to do init registers for scan: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + /* no lamp during scan */ + if(lamp_off == SANE_TRUE) + { + sanei_genesys_set_lamp_power(dev, sensor, dev->reg, false); + } + + /* GL124 is using SHDAREA, so we have to wait for scan to be set up before + * sending shading data */ + if( (dev->model->cmd_set->send_shading_data!=NULL) + && !(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) + { + status = genesys_send_shading_coefficient(dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send shading calibration coefficients: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } + + /* now send registers for scan */ + status = + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers, status = %d\n", __func__, status); + return status; + } + + /* start effective scan */ + status = dev->model->cmd_set->begin_scan(dev, sensor, &dev->reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + + /*do we really need this? the valid data check should be sufficent -- pierre*/ + /* waits for head to reach scanning position */ + expected = dev->reg.get8(0x3d) * 65536 + + dev->reg.get8(0x3e) * 256 + + dev->reg.get8(0x3f); + do + { + // wait some time between each test to avoid overloading USB and CPU + sanei_genesys_sleep_ms(100); + status = sanei_genesys_read_feed_steps (dev, &steps); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to read feed steps: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + while (steps < expected); + + /* wait for buffers to be filled */ + do + { + RIE (sanei_genesys_test_buffer_empty (dev, &empty)); + } + while (empty); + + /* when doing one or two-table movement, let the motor settle to scanning speed */ + /* and scanning start before reading data */ +/* the valid data check already waits until the scanner delivers data. this here leads to unnecessary buffer full conditions in the scanner. + if (dev->model->cmd_set->get_fast_feed_bit (dev->reg)) + sanei_genesys_sleep_ms(1000); + else + sanei_genesys_sleep_ms(500); +*/ + /* then we wait for at least one word of valid scan data + + this is also done in sanei_genesys_read_data_from_scanner -- pierre */ + if (dev->model->is_sheetfed == SANE_FALSE) + { + do + { + sanei_genesys_sleep_ms(100); + status = sanei_genesys_read_valid_words (dev, &steps); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read valid words: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } + while (steps < 1); + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/* this is _not_ a ringbuffer. + if we need a block which does not fit at the end of our available data, + we move the available data to the beginning. + */ + +void Genesys_Buffer::alloc(size_t size) +{ + buffer_.resize(size); + avail_ = 0; + pos_ = 0; +} + +void Genesys_Buffer::clear() +{ + buffer_.clear(); + avail_ = 0; + pos_ = 0; +} + +void Genesys_Buffer::reset() +{ + avail_ = 0; + pos_ = 0; +} + +uint8_t* Genesys_Buffer::get_write_pos(size_t size) +{ + if (avail_ + size > buffer_.size()) + return nullptr; + if (pos_ + avail_ + size > buffer_.size()) + { + std::memmove(buffer_.data(), buffer_.data() + pos_, avail_); + pos_ = 0; + } + return buffer_.data() + pos_ + avail_; +} + +uint8_t* Genesys_Buffer::get_read_pos() +{ + return buffer_.data() + pos_; +} + +void Genesys_Buffer::produce(size_t size) +{ + if (size > buffer_.size() - avail_) + throw std::runtime_error("buffer size exceeded"); + avail_ += size; +} + +void Genesys_Buffer::consume(size_t size) +{ + if (size > avail_) + throw std::runtime_error("no more data in buffer"); + avail_ -= size; + pos_ += size; +} + + +#include "genesys_conv.cc" + +static SANE_Status accurate_line_read(Genesys_Device * dev, + Genesys_Buffer& buffer) +{ + buffer.reset(); + + SANE_Status status = SANE_STATUS_GOOD; + status = dev->model->cmd_set->bulk_read_data(dev, 0x45, buffer.get_write_pos(buffer.size()), + buffer.size()); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read %lu bytes (%s)\n", __func__, (u_long) buffer.size(), + sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + + buffer.produce(buffer.size()); + return status; +} + +/** @brief fill buffer while reducing vertical resolution + * This function fills a read buffer with scanned data from a sensor + * which puts odd and even pixels in 2 different data segment. So a complete + * must be read and bytes interleaved to get usable by the other stages + * of the backend + */ +static SANE_Status +genesys_fill_line_interp_buffer (Genesys_Device * dev, uint8_t *work_buffer_dst, size_t size) +{ + size_t count; + SANE_Status status = SANE_STATUS_GOOD; + + /* fill buffer if needed */ + if (dev->oe_buffer.avail() == 0) + { + status = accurate_line_read(dev, dev->oe_buffer); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read %lu bytes (%s)\n", __func__, + (u_long) dev->oe_buffer.size(), sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + } + + /* copy size bytes of data, copying from a line when line count matches */ + count = 0; + while (count < size) + { + /* line counter */ + /* dev->line_interp holds the number of lines scanned for one line of data sent */ + if(((dev->line_count/dev->current_setup.channels) % dev->line_interp)==0) + { + /* copy pixel when line matches */ + work_buffer_dst[count] = dev->oe_buffer.get_read_pos()[dev->cur]; + count++; + } + + /* always update pointer so we skip uncopied data */ + dev->cur++; + + /* go to next line if needed */ + if (dev->cur == dev->len) + { + dev->oe_buffer.set_pos(dev->oe_buffer.pos() + dev->bpl); + dev->cur = 0; + dev->line_count++; + } + + /* read a new buffer if needed */ + if (dev->oe_buffer.pos() >= dev->oe_buffer.avail()) + { + status = accurate_line_read(dev, dev->oe_buffer); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read %lu bytes (%s)\n", __func__, + (u_long) dev->oe_buffer.size(), sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + } + } + + return SANE_STATUS_GOOD; +} + +/** @brief fill buffer for segmented sensors + * This function fills a read buffer with scanned data from a sensor segmented + * in several parts (multi-lines sensors). Data of the same valid area is read + * back to back and must be interleaved to get usable by the other stages + * of the backend + */ +static SANE_Status +genesys_fill_segmented_buffer (Genesys_Device * dev, uint8_t *work_buffer_dst, size_t size) +{ + size_t count; + SANE_Status status = SANE_STATUS_GOOD; + int depth,i,n,k; + + depth = dev->settings.depth; + if (dev->settings.scan_mode == ScanColorMode::LINEART && dev->settings.dynamic_lineart==SANE_FALSE) + depth = 1; + + /* fill buffer if needed */ + if (dev->oe_buffer.avail() == 0) + { + status = accurate_line_read(dev, dev->oe_buffer); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read %lu bytes (%s)\n", __func__, + (u_long) dev->oe_buffer.size(), sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + } + + /* copy size bytes of data, copying from a subwindow of each line + * when last line of buffer is exhausted, read another one */ + count = 0; + while (count < size) + { + if (depth==1) { + while (dev->cur < dev->len && count < size) { + for (n=0; nsegnb; n++) { + work_buffer_dst[count+n] = 0; + } + /* interleaving is at bit level */ + for (i=0;i<8;i++) { + k=count+(i*dev->segnb)/8; + for (n=0;nsegnb;n++) { + work_buffer_dst[k] = work_buffer_dst[k] << 1; + if ((dev->oe_buffer.get_read_pos()[dev->cur + dev->skip + dev->dist*dev->order[n]])&(128>>i)) { + work_buffer_dst[k] |= 1; + } + } + } + + /* update counter and pointer */ + count += dev->segnb; + dev->cur++; + } + } + if (depth==8) { + while (dev->cur < dev->len && count < size) { + for (n=0;nsegnb;n++) { + work_buffer_dst[count+n] = dev->oe_buffer.get_read_pos()[dev->cur + dev->skip + dev->dist*dev->order[n]]; + } + /* update counter and pointer */ + count += dev->segnb; + dev->cur++; + } + } + if (depth==16) { + while (dev->cur < dev->len && count < size) { + for (n=0;nsegnb;n++) { + work_buffer_dst[count+n*2] = dev->oe_buffer.get_read_pos()[dev->cur + dev->skip + dev->dist*dev->order[n]]; + work_buffer_dst[count+n*2+1] = dev->oe_buffer.get_read_pos()[dev->cur + dev->skip + dev->dist*dev->order[n] + 1]; + } + /* update counter and pointer */ + count += dev->segnb*2; + dev->cur+=2; + } + } + + /* go to next line if needed */ + if (dev->cur == dev->len) + { + dev->oe_buffer.set_pos(dev->oe_buffer.pos() + dev->bpl); + dev->cur = 0; + } + + /* read a new buffer if needed */ + if (dev->oe_buffer.pos() >= dev->oe_buffer.avail()) + { + status = accurate_line_read(dev, dev->oe_buffer); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read %lu bytes (%s)\n", __func__, + (u_long) dev->oe_buffer.size(), sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + } + } + + return SANE_STATUS_GOOD; +} + +/** + * + */ +static SANE_Status +genesys_fill_read_buffer (Genesys_Device * dev) +{ + size_t size; + size_t space; + SANE_Status status = SANE_STATUS_GOOD; + uint8_t *work_buffer_dst; + + DBGSTART; + + /* for sheetfed scanner, we must check is document is shorter than + * the requested scan */ + if (dev->model->is_sheetfed == SANE_TRUE) + { + status = dev->model->cmd_set->detect_document_end (dev); + if (status != SANE_STATUS_GOOD) + return status; + } + + space = dev->read_buffer.size() - dev->read_buffer.avail(); + + work_buffer_dst = dev->read_buffer.get_write_pos(space); + + size = space; + + /* never read an odd number. exception: last read + the chip internal counter does not count half words. */ + size &= ~1; + /* Some setups need the reads to be multiples of 256 bytes */ + size &= ~0xff; + + if (dev->read_bytes_left < size) + { + size = dev->read_bytes_left; + /*round up to a multiple of 256 bytes */ + size += (size & 0xff) ? 0x100 : 0x00; + size &= ~0xff; + } + + /* early out if our remaining buffer capacity is too low */ + if (size == 0) + return SANE_STATUS_GOOD; + + DBG(DBG_io, "%s: reading %lu bytes\n", __func__, (u_long) size); + + /* size is already maxed to our needs. for most models bulk_read_data + will read as much data as requested. */ + + /* due to sensors and motors, not all data can be directly used. It + * may have to be read from another intermediate buffer and then processed. + * There are currently 3 intermediate stages: + * - handling of odd/even sensors + * - handling of line interpolation for motors that can't have low + * enough dpi + * - handling of multi-segments sensors + * + * This is also the place where full duplex data will be handled. + */ + if (dev->line_interp>0) + { + /* line interpolation */ + status = genesys_fill_line_interp_buffer (dev, work_buffer_dst, size); + } + else if (dev->segnb>1) + { + /* multi-segment sensors processing */ + status = genesys_fill_segmented_buffer (dev, work_buffer_dst, size); + } + else /* regular case with no extra copy */ + { + status = dev->model->cmd_set->bulk_read_data (dev, 0x45, work_buffer_dst, size); + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read %lu bytes (%s)\n", __func__, (u_long) size, + sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + + if (size > dev->read_bytes_left) + size = dev->read_bytes_left; + + dev->read_bytes_left -= size; + + dev->read_buffer.produce(size); + + DBGCOMPLETED; + + return SANE_STATUS_GOOD; +} + +/* this function does the effective data read in a manner that suits + the scanner. It does data reordering and resizing if need. + It also manages EOF and I/O errors, and line distance correction. + */ +static SANE_Status +genesys_read_ordered_data (Genesys_Device * dev, SANE_Byte * destination, + size_t * len) +{ + SANE_Status status = SANE_STATUS_GOOD; + size_t bytes, extra; + unsigned int channels, depth, src_pixels; + unsigned int ccd_shift[12], shift_count; + uint8_t *work_buffer_src; + uint8_t *work_buffer_dst; + unsigned int dst_lines; + unsigned int step_1_mode; + unsigned int needs_reorder; + unsigned int needs_ccd; + unsigned int needs_shrink; + unsigned int needs_reverse; + Genesys_Buffer *src_buffer; + Genesys_Buffer *dst_buffer; + + DBGSTART; + if (dev->read_active != SANE_TRUE) + { + DBG(DBG_error, "%s: read not active!\n", __func__); + *len = 0; + return SANE_STATUS_INVAL; + } + + DBG(DBG_info, "%s: ", __func__); + debug_dump(DBG_info, dev->current_setup); + + /* prepare conversion */ + /* current settings */ + channels = dev->current_setup.channels; + depth = dev->current_setup.depth; + + src_pixels = dev->current_setup.pixels; + + needs_reorder = 1; + if (channels != 3 && depth != 16) + needs_reorder = 0; +#ifndef WORDS_BIGENDIAN + if (channels != 3 && depth == 16) + needs_reorder = 0; + if (channels == 3 && depth == 16 && !dev->model->is_cis && + dev->model->line_mode_color_order == COLOR_ORDER_RGB) + needs_reorder = 0; +#endif + if (channels == 3 && depth == 8 && !dev->model->is_cis && + dev->model->line_mode_color_order == COLOR_ORDER_RGB) + needs_reorder = 0; + + needs_ccd = dev->current_setup.max_shift > 0; + needs_shrink = dev->settings.pixels != src_pixels; + needs_reverse = depth == 1; + + DBG(DBG_info, "%s: using filters:%s%s%s%s\n", __func__, + needs_reorder ? " reorder" : "", + needs_ccd ? " ccd" : "", + needs_shrink ? " shrink" : "", + needs_reverse ? " reverse" : ""); + + DBG(DBG_info, "%s: frontend requested %lu bytes\n", __func__, (u_long) * len); + + DBG(DBG_info, "%s: bytes_to_read=%lu, total_bytes_read=%lu\n", __func__, + (u_long) dev->total_bytes_to_read, (u_long) dev->total_bytes_read); + /* is there data left to scan */ + if (dev->total_bytes_read >= dev->total_bytes_to_read) + { + DBG(DBG_proc, "%s: nothing more to scan: EOF\n", __func__); + *len = 0; + + /* issue park command immediatly in case scanner can handle it + * so we save time */ + if (dev->model->is_sheetfed == SANE_FALSE + && !(dev->model->flags & GENESYS_FLAG_MUST_WAIT) + && dev->parking == SANE_FALSE) + { + dev->model->cmd_set->slow_back_home (dev, SANE_FALSE); + dev->parking = SANE_TRUE; + } + return SANE_STATUS_EOF; + } + + DBG(DBG_info, "%s: %lu lines left by output\n", __func__, + ((dev->total_bytes_to_read - dev->total_bytes_read) * 8UL) / + (dev->settings.pixels * channels * depth)); + DBG(DBG_info, "%s: %lu lines left by input\n", __func__, + ((dev->read_bytes_left + dev->read_buffer.avail()) * 8UL) / + (src_pixels * channels * depth)); + + if (channels == 1) + { + ccd_shift[0] = 0; + ccd_shift[1] = dev->current_setup.stagger; + shift_count = 2; + } + else + { + ccd_shift[0] = + ((dev->ld_shift_r * dev->settings.yres) / + dev->motor.base_ydpi); + ccd_shift[1] = + ((dev->ld_shift_g * dev->settings.yres) / + dev->motor.base_ydpi); + ccd_shift[2] = + ((dev->ld_shift_b * dev->settings.yres) / + dev->motor.base_ydpi); + + ccd_shift[3] = ccd_shift[0] + dev->current_setup.stagger; + ccd_shift[4] = ccd_shift[1] + dev->current_setup.stagger; + ccd_shift[5] = ccd_shift[2] + dev->current_setup.stagger; + + shift_count = 6; + } + + +/* convert data */ +/* + 0. fill_read_buffer +-------------- read_buffer ---------------------- + 1a). (opt)uncis (assumes color components to be laid out + planar) + 1b). (opt)reverse_RGB (assumes pixels to be BGR or BBGGRR)) +-------------- lines_buffer ---------------------- + 2a). (opt)line_distance_correction (assumes RGB or RRGGBB) + 2b). (opt)unstagger (assumes pixels to be depth*channels/8 + bytes long, unshrinked) +------------- shrink_buffer --------------------- + 3. (opt)shrink_lines (assumes component separation in pixels) +-------------- out_buffer ----------------------- + 4. memcpy to destination (for lineart with bit reversal) +*/ +/*FIXME: for lineart we need sub byte addressing in buffers, or conversion to + bytes at 0. and back to bits at 4. +Problems with the first approach: + - its not clear how to check if we need to output an incomplete byte + because it is the last one. + */ +/*FIXME: add lineart support for gl646. in the meantime add logic to convert + from gray to lineart at the end? would suffer the above problem, + total_bytes_to_read and total_bytes_read help in that case. + */ + + status = genesys_fill_read_buffer (dev); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: genesys_fill_read_buffer failed\n", __func__); + return status; + } + + src_buffer = &(dev->read_buffer); + +/* maybe reorder components/bytes */ + if (needs_reorder) + { +/*not implemented for depth == 1.*/ + if (depth == 1) + { + DBG(DBG_error, "Can't reorder single bit data\n"); + return SANE_STATUS_INVAL; + } + + dst_buffer = &(dev->lines_buffer); + + work_buffer_src = src_buffer->get_read_pos(); + bytes = src_buffer->avail(); + +/*how many bytes can be processed here?*/ +/*we are greedy. we work as much as possible*/ + if (bytes > dst_buffer->size() - dst_buffer->avail()) + bytes = dst_buffer->size() - dst_buffer->avail(); + + dst_lines = (bytes * 8) / (src_pixels * channels * depth); + bytes = (dst_lines * src_pixels * channels * depth) / 8; + + work_buffer_dst = dst_buffer->get_write_pos(bytes); + + DBG(DBG_info, "%s: reordering %d lines\n", __func__, dst_lines); + + if (dst_lines != 0) + { + + if (channels == 3) + { + step_1_mode = 0; + + if (depth == 16) + step_1_mode |= 1; + + if (dev->model->is_cis) + step_1_mode |= 2; + + if (dev->model->line_mode_color_order == COLOR_ORDER_BGR) + step_1_mode |= 4; + + switch (step_1_mode) + { + case 1: /* RGB, chunky, 16 bit */ +#ifdef WORDS_BIGENDIAN + status = + genesys_reorder_components_endian_16 (work_buffer_src, + work_buffer_dst, + dst_lines, + src_pixels, 3); + break; +#endif /*WORDS_BIGENDIAN */ + case 0: /* RGB, chunky, 8 bit */ + status = SANE_STATUS_GOOD; + break; + case 2: /* RGB, cis, 8 bit */ + status = + genesys_reorder_components_cis_8 (work_buffer_src, + work_buffer_dst, + dst_lines, src_pixels); + break; + case 3: /* RGB, cis, 16 bit */ + status = + genesys_reorder_components_cis_16 (work_buffer_src, + work_buffer_dst, + dst_lines, src_pixels); + break; + case 4: /* BGR, chunky, 8 bit */ + status = + genesys_reorder_components_bgr_8 (work_buffer_src, + work_buffer_dst, + dst_lines, src_pixels); + break; + case 5: /* BGR, chunky, 16 bit */ + status = + genesys_reorder_components_bgr_16 (work_buffer_src, + work_buffer_dst, + dst_lines, src_pixels); + break; + case 6: /* BGR, cis, 8 bit */ + status = + genesys_reorder_components_cis_bgr_8 (work_buffer_src, + work_buffer_dst, + dst_lines, + src_pixels); + break; + case 7: /* BGR, cis, 16 bit */ + status = + genesys_reorder_components_cis_bgr_16 (work_buffer_src, + work_buffer_dst, + dst_lines, + src_pixels); + break; + } + } + else + { +#ifdef WORDS_BIGENDIAN + if (depth == 16) + { + status = + genesys_reorder_components_endian_16 (work_buffer_src, + work_buffer_dst, + dst_lines, + src_pixels, 1); + } + else + { + status = SANE_STATUS_GOOD; + } +#else /*!WORDS_BIGENDIAN */ + status = SANE_STATUS_GOOD; +#endif /*WORDS_BIGENDIAN */ + } + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to convert byte ordering(%s)\n", __func__, + sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + + dst_buffer->produce(bytes); + src_buffer->consume(bytes); + } + src_buffer = dst_buffer; + } + +/* maybe reverse effects of ccd layout */ + if (needs_ccd) + { +/*should not happen with depth == 1.*/ + if (depth == 1) + { + DBG(DBG_error, "Can't reverse ccd for single bit data\n"); + return SANE_STATUS_INVAL; + } + + dst_buffer = &(dev->shrink_buffer); + + work_buffer_src = src_buffer->get_read_pos(); + bytes = src_buffer->avail(); + + extra = + (dev->current_setup.max_shift * src_pixels * channels * depth) / 8; + +/*extra bytes are reserved, and should not be consumed*/ + if (bytes < extra) + bytes = 0; + else + bytes -= extra; + +/*how many bytes can be processed here?*/ +/*we are greedy. we work as much as possible*/ + if (bytes > dst_buffer->size() - dst_buffer->avail()) + bytes = dst_buffer->size() - dst_buffer->avail(); + + dst_lines = (bytes * 8) / (src_pixels * channels * depth); + bytes = (dst_lines * src_pixels * channels * depth) / 8; + + work_buffer_dst = dst_buffer->get_write_pos(bytes); + + DBG(DBG_info, "%s: un-ccd-ing %d lines\n", __func__, dst_lines); + + if (dst_lines != 0) + { + + if (depth == 8) + status = genesys_reverse_ccd_8 (work_buffer_src, work_buffer_dst, + dst_lines, + src_pixels * channels, + ccd_shift, shift_count); + else + status = genesys_reverse_ccd_16 (work_buffer_src, work_buffer_dst, + dst_lines, + src_pixels * channels, + ccd_shift, shift_count); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to reverse ccd effects(%s)\n", __func__, + sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + + dst_buffer->produce(bytes); + src_buffer->consume(bytes); + } + src_buffer = dst_buffer; + } + +/* maybe shrink(or enlarge) lines */ + if (needs_shrink) + { + + dst_buffer = &(dev->out_buffer); + + work_buffer_src = src_buffer->get_read_pos(); + bytes = src_buffer->avail(); + +/*lines in input*/ + dst_lines = (bytes * 8) / (src_pixels * channels * depth); + + /* how many lines can be processed here? */ + /* we are greedy. we work as much as possible */ + bytes = dst_buffer->size() - dst_buffer->avail(); + + if (dst_lines > (bytes * 8) / (dev->settings.pixels * channels * depth)) + dst_lines = (bytes * 8) / (dev->settings.pixels * channels * depth); + + bytes = (dst_lines * dev->settings.pixels * channels * depth) / 8; + + work_buffer_dst = dst_buffer->get_write_pos(bytes); + + DBG(DBG_info, "%s: shrinking %d lines\n", __func__, dst_lines); + + if (dst_lines != 0) + { + if (depth == 1) + status = genesys_shrink_lines_1 (work_buffer_src, + work_buffer_dst, + dst_lines, + src_pixels, + dev->settings.pixels, + channels); + else if (depth == 8) + status = genesys_shrink_lines_8 (work_buffer_src, + work_buffer_dst, + dst_lines, + src_pixels, + dev->settings.pixels, channels); + else + status = genesys_shrink_lines_16 (work_buffer_src, + work_buffer_dst, + dst_lines, + src_pixels, + dev->settings.pixels, channels); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to shrink lines(%s)\n", __func__, sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + + /* we just consumed this many bytes*/ + bytes = (dst_lines * src_pixels * channels * depth) / 8; + src_buffer->consume(bytes); + + /* we just created this many bytes*/ + bytes = (dst_lines * dev->settings.pixels * channels * depth) / 8; + dst_buffer->produce(bytes); + } + src_buffer = dst_buffer; + } + + /* move data to destination */ + bytes = src_buffer->avail(); + if (bytes > *len) + bytes = *len; + work_buffer_src = src_buffer->get_read_pos(); + + if (needs_reverse) + { + status = genesys_reverse_bits (work_buffer_src, destination, bytes); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to reverse bits(%s)\n", __func__, sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + *len = bytes; + } + else + { + memcpy (destination, work_buffer_src, bytes); + *len = bytes; + } + + /* avoid signaling some extra data because we have treated a full block + * on the last block */ + if (dev->total_bytes_read + *len > dev->total_bytes_to_read) + *len = dev->total_bytes_to_read - dev->total_bytes_read; + + /* count bytes sent to frontend */ + dev->total_bytes_read += *len; + + src_buffer->consume(bytes); + + /* end scan if all needed data have been read */ + if(dev->total_bytes_read >= dev->total_bytes_to_read) + { + dev->model->cmd_set->end_scan(dev, &dev->reg, SANE_TRUE); + if (dev->model->is_sheetfed == SANE_TRUE) + { + dev->model->cmd_set->eject_document (dev); + } + } + + DBG(DBG_proc, "%s: completed, %lu bytes read\n", __func__, (u_long) bytes); + return SANE_STATUS_GOOD; +} + + + +/* ------------------------------------------------------------------------ */ +/* Start of higher level functions */ +/* ------------------------------------------------------------------------ */ + +static size_t +max_string_size (const SANE_String_Const strings[]) +{ + size_t size, max_size = 0; + SANE_Int i; + + for (i = 0; strings[i]; ++i) + { + size = strlen (strings[i]) + 1; + if (size > max_size) + max_size = size; + } + return max_size; +} + +static SANE_Status +calc_parameters (Genesys_Scanner * s) +{ + SANE_Status status = SANE_STATUS_GOOD; + double tl_x = 0, tl_y = 0, br_x = 0, br_y = 0; + + tl_x = SANE_UNFIX(s->pos_top_left_x); + tl_y = SANE_UNFIX(s->pos_top_left_y); + br_x = SANE_UNFIX(s->pos_bottom_right_x); + br_y = SANE_UNFIX(s->pos_bottom_right_y); + + s->params.last_frame = SANE_TRUE; /* only single pass scanning supported */ + + if (s->mode == SANE_VALUE_SCAN_MODE_GRAY || s->mode == SANE_VALUE_SCAN_MODE_LINEART) { + s->params.format = SANE_FRAME_GRAY; + } else { + s->params.format = SANE_FRAME_RGB; + } + + if (s->mode == SANE_VALUE_SCAN_MODE_LINEART) { + s->params.depth = 1; + } else { + s->params.depth = s->bit_depth; + } + + s->dev->settings.depth = s->bit_depth; + + /* interpolation */ + s->dev->settings.disable_interpolation = s->disable_interpolation; + + // FIXME: use correct sensor + const auto& sensor = sanei_genesys_find_sensor_any(s->dev); + + // hardware settings + if (s->resolution > sensor.optical_res && s->dev->settings.disable_interpolation) { + s->dev->settings.xres = sensor.optical_res; + } else { + s->dev->settings.xres = s->resolution; + } + s->dev->settings.yres = s->resolution; + + s->params.lines = ((br_y - tl_y) * s->dev->settings.yres) / MM_PER_INCH; + s->params.pixels_per_line = ((br_x - tl_x) * s->resolution) / MM_PER_INCH; + + /* we need an even pixels number + * TODO invert test logic or generalize behaviour across all ASICs */ + if ((s->dev->model->flags & GENESYS_FLAG_SIS_SENSOR) + || s->dev->model->asic_type == GENESYS_GL847 + || s->dev->model->asic_type == GENESYS_GL124 + || s->dev->model->asic_type == GENESYS_GL845 + || s->dev->model->asic_type == GENESYS_GL846 + || s->dev->model->asic_type == GENESYS_GL843) + { + if (s->dev->settings.xres <= 1200) + s->params.pixels_per_line = (s->params.pixels_per_line/4)*4; + else + s->params.pixels_per_line = (s->params.pixels_per_line/16)*16; + } + + /* corner case for true lineart for sensor with several segments + * or when xres is doubled to match yres */ + if (s->dev->settings.xres >= 1200 + && ( s->dev->model->asic_type == GENESYS_GL124 + || s->dev->model->asic_type == GENESYS_GL847 + || s->dev->current_setup.xres < s->dev->current_setup.yres + ) + ) + { + s->params.pixels_per_line = (s->params.pixels_per_line/16)*16; + } + + s->params.bytes_per_line = s->params.pixels_per_line; + if (s->params.depth > 8) + { + s->params.depth = 16; + s->params.bytes_per_line *= 2; + } + else if (s->params.depth == 1) + { + s->params.bytes_per_line /= 8; + /* round down pixel number + really? rounding down means loss of at most 7 pixels! -- pierre */ + s->params.pixels_per_line = 8 * s->params.bytes_per_line; + } + + if (s->params.format == SANE_FRAME_RGB) { + s->params.bytes_per_line *= 3; + } + + if (s->mode == SANE_VALUE_SCAN_MODE_COLOR) { + s->dev->settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + } else if (s->mode == SANE_VALUE_SCAN_MODE_GRAY) { + s->dev->settings.scan_mode = ScanColorMode::GRAY; + } else if (s->mode == SANE_TITLE_HALFTONE) { + s->dev->settings.scan_mode = ScanColorMode::HALFTONE; + } else { /* Lineart */ + s->dev->settings.scan_mode = ScanColorMode::LINEART; + } + + if (s->source == STR_FLATBED) { + s->dev->settings.scan_method = ScanMethod::FLATBED; + } else if (s->source == STR_TRANSPARENCY_ADAPTER) { + s->dev->settings.scan_method = ScanMethod::TRANSPARENCY; + } else if (s->source == STR_TRANSPARENCY_ADAPTER_INFRARED) { + s->dev->settings.scan_method = ScanMethod::TRANSPARENCY_INFRARED; + } + + s->dev->settings.lines = s->params.lines; + s->dev->settings.pixels = s->params.pixels_per_line; + s->dev->settings.tl_x = tl_x; + s->dev->settings.tl_y = tl_y; + + // threshold setting + s->dev->settings.threshold = 2.55 * (SANE_UNFIX(s->threshold)); + + // color filter + if (s->color_filter == "Red") { + s->dev->settings.color_filter = ColorFilter::RED; + } else if (s->color_filter == "Green") { + s->dev->settings.color_filter = ColorFilter::GREEN; + } else if (s->color_filter == "Blue") { + s->dev->settings.color_filter = ColorFilter::BLUE; + } else { + s->dev->settings.color_filter = ColorFilter::NONE; + } + + // true gray + if (s->color_filter == "None") { + s->dev->settings.true_gray = 1; + } else { + s->dev->settings.true_gray = 0; + } + + /* dynamic lineart */ + s->dev->settings.dynamic_lineart = SANE_FALSE; + s->dev->settings.threshold_curve=0; + if (!s->disable_dynamic_lineart && s->dev->settings.scan_mode == ScanColorMode::LINEART) { + s->dev->settings.dynamic_lineart = SANE_TRUE; + } + + /* hardware lineart works only when we don't have interleave data + * for GL847 scanners, ie up to 600 DPI, then we have to rely on + * dynamic_lineart */ + if(s->dev->settings.xres > 600 + && s->dev->model->asic_type==GENESYS_GL847 + && s->dev->settings.scan_mode == ScanColorMode::LINEART) + { + s->dev->settings.dynamic_lineart = SANE_TRUE; + } + + // threshold curve for dynamic rasterization + s->dev->settings.threshold_curve = s->threshold_curve; + + /* some digital processing requires the whole picture to be buffered */ + /* no digital processing takes place when doing preview, or when bit depth is + * higher than 8 bits */ + if ((s->swdespeck || s->swcrop || s->swdeskew || s->swderotate ||(SANE_UNFIX(s->swskip)>0)) + && (!s->preview) + && (s->bit_depth <= 8)) + { + s->dev->buffer_image=SANE_TRUE; + } + else + { + s->dev->buffer_image=SANE_FALSE; + } + + /* brigthness and contrast only for for 8 bit scans */ + if(s->bit_depth <= 8) + { + s->dev->settings.contrast = (s->contrast * 127) / 100; + s->dev->settings.brightness = (s->brightness * 127) / 100; + } + else + { + s->dev->settings.contrast=0; + s->dev->settings.brightness=0; + } + + /* cache expiration time */ + s->dev->settings.expiration_time = s->expiration_time; + + return status; +} + + +static SANE_Status +create_bpp_list (Genesys_Scanner * s, SANE_Int * bpp) +{ + int count; + + for (count = 0; bpp[count] != 0; count++) + ; + s->bpp_list[0] = count; + for (count = 0; bpp[count] != 0; count++) + { + s->bpp_list[s->bpp_list[0] - count] = bpp[count]; + } + return SANE_STATUS_GOOD; +} + +/** @brief this function initialize a gamma vector based on the ASIC: + * Set up a default gamma table vector based on device description + * gl646: 12 or 14 bits gamma table depending on GENESYS_FLAG_14BIT_GAMMA + * gl84x: 16 bits + * gl12x: 16 bits + * @param scanner pointer to scanner session to get options + * @param option option number of the gamma table to set + */ +static void +init_gamma_vector_option (Genesys_Scanner * scanner, int option) +{ + /* the option is inactive until the custom gamma control + * is enabled */ + scanner->opt[option].type = SANE_TYPE_INT; + scanner->opt[option].cap |= SANE_CAP_INACTIVE | SANE_CAP_ADVANCED; + scanner->opt[option].unit = SANE_UNIT_NONE; + scanner->opt[option].constraint_type = SANE_CONSTRAINT_RANGE; + if (scanner->dev->model->asic_type == GENESYS_GL646) + { + if ((scanner->dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) != 0) + { + scanner->opt[option].size = 16384 * sizeof (SANE_Word); + scanner->opt[option].constraint.range = &u14_range; + } + else + { /* 12 bits gamma tables */ + scanner->opt[option].size = 4096 * sizeof (SANE_Word); + scanner->opt[option].constraint.range = &u12_range; + } + } + else + { /* other asics have 16 bits words gamma table */ + scanner->opt[option].size = 256 * sizeof (SANE_Word); + scanner->opt[option].constraint.range = &u16_range; + } +} + +/** + * allocate a geometry range + * @param size maximum size of the range + * @return a pointer to a valid range or NULL + */ +static SANE_Range *create_range(SANE_Fixed size) +{ +SANE_Range *range=NULL; + + range=(SANE_Range *)malloc(sizeof(SANE_Range)); + if(range!=NULL) + { + range->min = SANE_FIX (0.0); + range->max = size; + range->quant = SANE_FIX (0.0); + } + return range; +} + +/** @brief generate calibration cache file nam + * Generates the calibration cache file name to use. + * Tries to store the chache in $HOME/.sane or + * then fallbacks to $TMPDIR or TMP. The filename + * uses the model name if only one scanner is plugged + * else is uses the device name when several identical + * scanners are in use. + * @param currdev current scanner device + * @return an allocated string containing a file name + */ +static char *calibration_filename(Genesys_Device *currdev) +{ + char *tmpstr; + char *ptr; + char filename[80]; + unsigned int count; + unsigned int i; + + /* allocate space for result */ + tmpstr = (char*) malloc(PATH_MAX); + if(tmpstr==NULL) + { + return NULL; + } + + /* first compute the DIR where we can store cache: + * 1 - home dir + * 2 - $TMPDIR + * 3 - $TMP + * 4 - tmp dir + * 5 - temp dir + * 6 - then resort to current dir + */ + ptr = getenv ("HOME"); + if(ptr==NULL) + { + ptr = getenv ("USERPROFILE"); + } + if(ptr==NULL) + { + ptr = getenv ("TMPDIR"); + } + if(ptr==NULL) + { + ptr = getenv ("TMP"); + } + + /* now choose filename: + * 1 - if only one scanner, name of the model + * 2 - if several scanners of the same model, use device name, + * replacing special chars + */ + count=0; + /* count models of the same names if several scanners attached */ + if(s_devices->size() > 1) { + for (const auto& dev : *s_devices) { + if (dev.model->model_id == currdev->model->model_id) { + count++; + } + } + } + if(count>1) + { + snprintf(filename,sizeof(filename),"%s.cal",currdev->file_name); + for(i=0;imodel->name); + } + + /* build final final name : store dir + filename */ + if (NULL == ptr) + { + snprintf (tmpstr, PATH_MAX, "%s", filename); + } + else + { +#ifdef HAVE_MKDIR + /* make sure .sane directory exists in existing store dir */ + snprintf (tmpstr, PATH_MAX, "%s%c.sane", ptr, PATH_SEP); + mkdir(tmpstr,0700); +#endif + snprintf (tmpstr, PATH_MAX, "%s%c.sane%c%s", ptr, PATH_SEP, PATH_SEP, filename); + } + + DBG(DBG_info, "%s: calibration filename >%s<\n", __func__, tmpstr); + + return tmpstr; +} + + +static SANE_Status +init_options (Genesys_Scanner * s) +{ + SANE_Int option, count, min_dpi; + SANE_Status status = SANE_STATUS_GOOD; + SANE_Word *dpi_list; + Genesys_Model *model = s->dev->model; + SANE_Range *x_range, *y_range; + + DBGSTART; + + memset (s->opt, 0, sizeof (s->opt)); + + for (option = 0; option < NUM_OPTIONS; ++option) + { + s->opt[option].size = sizeof (SANE_Word); + s->opt[option].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; + } + s->opt[OPT_NUM_OPTS].name = SANE_NAME_NUM_OPTIONS; + s->opt[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS; + s->opt[OPT_NUM_OPTS].desc = SANE_DESC_NUM_OPTIONS; + s->opt[OPT_NUM_OPTS].type = SANE_TYPE_INT; + s->opt[OPT_NUM_OPTS].cap = SANE_CAP_SOFT_DETECT; + + /* "Mode" group: */ + s->opt[OPT_MODE_GROUP].title = SANE_I18N ("Scan Mode"); + s->opt[OPT_MODE_GROUP].desc = ""; + s->opt[OPT_MODE_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_MODE_GROUP].size = 0; + s->opt[OPT_MODE_GROUP].cap = 0; + s->opt[OPT_MODE_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + /* scan mode */ + s->opt[OPT_MODE].name = SANE_NAME_SCAN_MODE; + s->opt[OPT_MODE].title = SANE_TITLE_SCAN_MODE; + s->opt[OPT_MODE].desc = SANE_DESC_SCAN_MODE; + s->opt[OPT_MODE].type = SANE_TYPE_STRING; + s->opt[OPT_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST; + s->opt[OPT_MODE].size = max_string_size (mode_list); + s->opt[OPT_MODE].constraint.string_list = mode_list; + s->mode = SANE_VALUE_SCAN_MODE_GRAY; + + /* scan source */ + s->opt[OPT_SOURCE].name = SANE_NAME_SCAN_SOURCE; + s->opt[OPT_SOURCE].title = SANE_TITLE_SCAN_SOURCE; + s->opt[OPT_SOURCE].desc = SANE_DESC_SCAN_SOURCE; + s->opt[OPT_SOURCE].type = SANE_TYPE_STRING; + s->opt[OPT_SOURCE].constraint_type = SANE_CONSTRAINT_STRING_LIST; + s->opt[OPT_SOURCE].size = max_string_size (source_list); + s->opt[OPT_SOURCE].constraint.string_list = source_list; + s->source = STR_FLATBED; + if (model->flags & GENESYS_FLAG_HAS_UTA) + { + ENABLE (OPT_SOURCE); + if (model->flags & GENESYS_FLAG_HAS_UTA_INFRARED) { + s->opt[OPT_SOURCE].size = max_string_size(source_list_infrared); + s->opt[OPT_SOURCE].constraint.string_list = source_list_infrared; + } + } + else + { + DISABLE (OPT_SOURCE); + } + + /* preview */ + s->opt[OPT_PREVIEW].name = SANE_NAME_PREVIEW; + s->opt[OPT_PREVIEW].title = SANE_TITLE_PREVIEW; + s->opt[OPT_PREVIEW].desc = SANE_DESC_PREVIEW; + s->opt[OPT_PREVIEW].type = SANE_TYPE_BOOL; + s->opt[OPT_PREVIEW].unit = SANE_UNIT_NONE; + s->opt[OPT_PREVIEW].constraint_type = SANE_CONSTRAINT_NONE; + s->preview = false; + + /* bit depth */ + s->opt[OPT_BIT_DEPTH].name = SANE_NAME_BIT_DEPTH; + s->opt[OPT_BIT_DEPTH].title = SANE_TITLE_BIT_DEPTH; + s->opt[OPT_BIT_DEPTH].desc = SANE_DESC_BIT_DEPTH; + s->opt[OPT_BIT_DEPTH].type = SANE_TYPE_INT; + s->opt[OPT_BIT_DEPTH].constraint_type = SANE_CONSTRAINT_WORD_LIST; + s->opt[OPT_BIT_DEPTH].size = sizeof (SANE_Word); + s->opt[OPT_BIT_DEPTH].constraint.word_list = 0; + s->opt[OPT_BIT_DEPTH].constraint.word_list = s->bpp_list; + create_bpp_list (s, model->bpp_gray_values); + s->bit_depth = 8; + if (s->opt[OPT_BIT_DEPTH].constraint.word_list[0] < 2) + DISABLE (OPT_BIT_DEPTH); + + /* resolution */ + min_dpi=200000; + for (count = 0; model->xdpi_values[count] != 0; count++) + { + if(model->xdpi_values[count]xdpi_values[count]; + } + } + dpi_list = (SANE_Word*) malloc((count + 1) * sizeof(SANE_Word)); + if (!dpi_list) + return SANE_STATUS_NO_MEM; + dpi_list[0] = count; + for (count = 0; model->xdpi_values[count] != 0; count++) + dpi_list[count + 1] = model->xdpi_values[count]; + s->opt[OPT_RESOLUTION].name = SANE_NAME_SCAN_RESOLUTION; + s->opt[OPT_RESOLUTION].title = SANE_TITLE_SCAN_RESOLUTION; + s->opt[OPT_RESOLUTION].desc = SANE_DESC_SCAN_RESOLUTION; + s->opt[OPT_RESOLUTION].type = SANE_TYPE_INT; + s->opt[OPT_RESOLUTION].unit = SANE_UNIT_DPI; + s->opt[OPT_RESOLUTION].constraint_type = SANE_CONSTRAINT_WORD_LIST; + s->opt[OPT_RESOLUTION].constraint.word_list = dpi_list; + s->resolution = min_dpi; + + /* "Geometry" group: */ + s->opt[OPT_GEOMETRY_GROUP].title = SANE_I18N ("Geometry"); + s->opt[OPT_GEOMETRY_GROUP].desc = ""; + s->opt[OPT_GEOMETRY_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_GEOMETRY_GROUP].cap = SANE_CAP_ADVANCED; + s->opt[OPT_GEOMETRY_GROUP].size = 0; + s->opt[OPT_GEOMETRY_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + x_range=create_range(model->x_size); + if(x_range==NULL) + { + return SANE_STATUS_NO_MEM; + } + + y_range=create_range(model->y_size); + if(y_range==NULL) + { + return SANE_STATUS_NO_MEM; + } + + /* top-left x */ + s->opt[OPT_TL_X].name = SANE_NAME_SCAN_TL_X; + s->opt[OPT_TL_X].title = SANE_TITLE_SCAN_TL_X; + s->opt[OPT_TL_X].desc = SANE_DESC_SCAN_TL_X; + s->opt[OPT_TL_X].type = SANE_TYPE_FIXED; + s->opt[OPT_TL_X].unit = SANE_UNIT_MM; + s->opt[OPT_TL_X].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_TL_X].constraint.range = x_range; + s->pos_top_left_x = 0; + + /* top-left y */ + s->opt[OPT_TL_Y].name = SANE_NAME_SCAN_TL_Y; + s->opt[OPT_TL_Y].title = SANE_TITLE_SCAN_TL_Y; + s->opt[OPT_TL_Y].desc = SANE_DESC_SCAN_TL_Y; + s->opt[OPT_TL_Y].type = SANE_TYPE_FIXED; + s->opt[OPT_TL_Y].unit = SANE_UNIT_MM; + s->opt[OPT_TL_Y].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_TL_Y].constraint.range = y_range; + s->pos_top_left_y = 0; + + /* bottom-right x */ + s->opt[OPT_BR_X].name = SANE_NAME_SCAN_BR_X; + s->opt[OPT_BR_X].title = SANE_TITLE_SCAN_BR_X; + s->opt[OPT_BR_X].desc = SANE_DESC_SCAN_BR_X; + s->opt[OPT_BR_X].type = SANE_TYPE_FIXED; + s->opt[OPT_BR_X].unit = SANE_UNIT_MM; + s->opt[OPT_BR_X].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_BR_X].constraint.range = x_range; + s->pos_bottom_right_x = x_range->max; + + /* bottom-right y */ + s->opt[OPT_BR_Y].name = SANE_NAME_SCAN_BR_Y; + s->opt[OPT_BR_Y].title = SANE_TITLE_SCAN_BR_Y; + s->opt[OPT_BR_Y].desc = SANE_DESC_SCAN_BR_Y; + s->opt[OPT_BR_Y].type = SANE_TYPE_FIXED; + s->opt[OPT_BR_Y].unit = SANE_UNIT_MM; + s->opt[OPT_BR_Y].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_BR_Y].constraint.range = y_range; + s->pos_bottom_right_y = y_range->max; + + /* "Enhancement" group: */ + s->opt[OPT_ENHANCEMENT_GROUP].title = SANE_I18N ("Enhancement"); + s->opt[OPT_ENHANCEMENT_GROUP].desc = ""; + s->opt[OPT_ENHANCEMENT_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_ENHANCEMENT_GROUP].cap = SANE_CAP_ADVANCED; + s->opt[OPT_ENHANCEMENT_GROUP].size = 0; + s->opt[OPT_ENHANCEMENT_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + /* custom-gamma table */ + s->opt[OPT_CUSTOM_GAMMA].name = SANE_NAME_CUSTOM_GAMMA; + s->opt[OPT_CUSTOM_GAMMA].title = SANE_TITLE_CUSTOM_GAMMA; + s->opt[OPT_CUSTOM_GAMMA].desc = SANE_DESC_CUSTOM_GAMMA; + s->opt[OPT_CUSTOM_GAMMA].type = SANE_TYPE_BOOL; + s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_ADVANCED; + s->custom_gamma = false; + + /* grayscale gamma vector */ + s->opt[OPT_GAMMA_VECTOR].name = SANE_NAME_GAMMA_VECTOR; + s->opt[OPT_GAMMA_VECTOR].title = SANE_TITLE_GAMMA_VECTOR; + s->opt[OPT_GAMMA_VECTOR].desc = SANE_DESC_GAMMA_VECTOR; + init_gamma_vector_option (s, OPT_GAMMA_VECTOR); + + /* red gamma vector */ + s->opt[OPT_GAMMA_VECTOR_R].name = SANE_NAME_GAMMA_VECTOR_R; + s->opt[OPT_GAMMA_VECTOR_R].title = SANE_TITLE_GAMMA_VECTOR_R; + s->opt[OPT_GAMMA_VECTOR_R].desc = SANE_DESC_GAMMA_VECTOR_R; + init_gamma_vector_option (s, OPT_GAMMA_VECTOR_R); + + /* green gamma vector */ + s->opt[OPT_GAMMA_VECTOR_G].name = SANE_NAME_GAMMA_VECTOR_G; + s->opt[OPT_GAMMA_VECTOR_G].title = SANE_TITLE_GAMMA_VECTOR_G; + s->opt[OPT_GAMMA_VECTOR_G].desc = SANE_DESC_GAMMA_VECTOR_G; + init_gamma_vector_option (s, OPT_GAMMA_VECTOR_G); + + /* blue gamma vector */ + s->opt[OPT_GAMMA_VECTOR_B].name = SANE_NAME_GAMMA_VECTOR_B; + s->opt[OPT_GAMMA_VECTOR_B].title = SANE_TITLE_GAMMA_VECTOR_B; + s->opt[OPT_GAMMA_VECTOR_B].desc = SANE_DESC_GAMMA_VECTOR_B; + init_gamma_vector_option (s, OPT_GAMMA_VECTOR_B); + + /* currently, there are only gamma table options in this group, + * so if the scanner doesn't support gamma table, disable the + * whole group */ + if (!(model->flags & GENESYS_FLAG_CUSTOM_GAMMA)) + { + s->opt[OPT_ENHANCEMENT_GROUP].cap |= SANE_CAP_INACTIVE; + s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_INACTIVE; + DBG(DBG_info, "%s: custom gamma disabled\n", __func__); + } + + /* software base image enhancements, these are consuming as many + * memory than used by the full scanned image and may fail at high + * resolution + */ + /* software deskew */ + s->opt[OPT_SWDESKEW].name = "swdeskew"; + s->opt[OPT_SWDESKEW].title = "Software deskew"; + s->opt[OPT_SWDESKEW].desc = "Request backend to rotate skewed pages digitally"; + s->opt[OPT_SWDESKEW].type = SANE_TYPE_BOOL; + s->opt[OPT_SWDESKEW].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + s->swdeskew = false; + + /* software deskew */ + s->opt[OPT_SWDESPECK].name = "swdespeck"; + s->opt[OPT_SWDESPECK].title = "Software despeck"; + s->opt[OPT_SWDESPECK].desc = "Request backend to remove lone dots digitally"; + s->opt[OPT_SWDESPECK].type = SANE_TYPE_BOOL; + s->opt[OPT_SWDESPECK].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + s->swdespeck = false; + + /* software despeckle radius */ + s->opt[OPT_DESPECK].name = "despeck"; + s->opt[OPT_DESPECK].title = "Software despeckle diameter"; + s->opt[OPT_DESPECK].desc = "Maximum diameter of lone dots to remove from scan"; + s->opt[OPT_DESPECK].type = SANE_TYPE_INT; + s->opt[OPT_DESPECK].unit = SANE_UNIT_NONE; + s->opt[OPT_DESPECK].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_DESPECK].constraint.range = &swdespeck_range; + s->opt[OPT_DESPECK].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED | SANE_CAP_INACTIVE; + s->despeck = 1; + + /* crop by software */ + s->opt[OPT_SWCROP].name = "swcrop"; + s->opt[OPT_SWCROP].title = SANE_I18N ("Software crop"); + s->opt[OPT_SWCROP].desc = SANE_I18N ("Request backend to remove border from pages digitally"); + s->opt[OPT_SWCROP].type = SANE_TYPE_BOOL; + s->opt[OPT_SWCROP].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + s->opt[OPT_SWCROP].unit = SANE_UNIT_NONE; + s->swcrop = false; + + /* Software blank page skip */ + s->opt[OPT_SWSKIP].name = "swskip"; + s->opt[OPT_SWSKIP].title = SANE_I18N ("Software blank skip percentage"); + s->opt[OPT_SWSKIP].desc = SANE_I18N("Request driver to discard pages with low numbers of dark pixels"); + s->opt[OPT_SWSKIP].type = SANE_TYPE_FIXED; + s->opt[OPT_SWSKIP].unit = SANE_UNIT_PERCENT; + s->opt[OPT_SWSKIP].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_SWSKIP].constraint.range = &(percentage_range); + s->opt[OPT_SWSKIP].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + s->swskip = 0; // disable by default + + /* Software Derotate */ + s->opt[OPT_SWDEROTATE].name = "swderotate"; + s->opt[OPT_SWDEROTATE].title = SANE_I18N ("Software derotate"); + s->opt[OPT_SWDEROTATE].desc = SANE_I18N("Request driver to detect and correct 90 degree image rotation"); + s->opt[OPT_SWDEROTATE].type = SANE_TYPE_BOOL; + s->opt[OPT_SWDEROTATE].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + s->opt[OPT_SWDEROTATE].unit = SANE_UNIT_NONE; + s->swderotate = false; + + /* Software brightness */ + s->opt[OPT_BRIGHTNESS].name = SANE_NAME_BRIGHTNESS; + s->opt[OPT_BRIGHTNESS].title = SANE_TITLE_BRIGHTNESS; + s->opt[OPT_BRIGHTNESS].desc = SANE_DESC_BRIGHTNESS; + s->opt[OPT_BRIGHTNESS].type = SANE_TYPE_INT; + s->opt[OPT_BRIGHTNESS].unit = SANE_UNIT_NONE; + s->opt[OPT_BRIGHTNESS].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_BRIGHTNESS].constraint.range = &(enhance_range); + s->opt[OPT_BRIGHTNESS].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; + s->brightness = 0; // disable by default + + /* Sowftware contrast */ + s->opt[OPT_CONTRAST].name = SANE_NAME_CONTRAST; + s->opt[OPT_CONTRAST].title = SANE_TITLE_CONTRAST; + s->opt[OPT_CONTRAST].desc = SANE_DESC_CONTRAST; + s->opt[OPT_CONTRAST].type = SANE_TYPE_INT; + s->opt[OPT_CONTRAST].unit = SANE_UNIT_NONE; + s->opt[OPT_CONTRAST].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_CONTRAST].constraint.range = &(enhance_range); + s->opt[OPT_CONTRAST].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; + s->contrast = 0; // disable by default + + /* "Extras" group: */ + s->opt[OPT_EXTRAS_GROUP].title = SANE_I18N ("Extras"); + s->opt[OPT_EXTRAS_GROUP].desc = ""; + s->opt[OPT_EXTRAS_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_EXTRAS_GROUP].cap = SANE_CAP_ADVANCED; + s->opt[OPT_EXTRAS_GROUP].size = 0; + s->opt[OPT_EXTRAS_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + /* BW threshold */ + s->opt[OPT_THRESHOLD].name = SANE_NAME_THRESHOLD; + s->opt[OPT_THRESHOLD].title = SANE_TITLE_THRESHOLD; + s->opt[OPT_THRESHOLD].desc = SANE_DESC_THRESHOLD; + s->opt[OPT_THRESHOLD].type = SANE_TYPE_FIXED; + s->opt[OPT_THRESHOLD].unit = SANE_UNIT_PERCENT; + s->opt[OPT_THRESHOLD].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_THRESHOLD].constraint.range = &percentage_range; + s->threshold = SANE_FIX(50); + + /* BW threshold curve */ + s->opt[OPT_THRESHOLD_CURVE].name = "threshold-curve"; + s->opt[OPT_THRESHOLD_CURVE].title = SANE_I18N ("Threshold curve"); + s->opt[OPT_THRESHOLD_CURVE].desc = SANE_I18N ("Dynamic threshold curve, from light to dark, normally 50-65"); + s->opt[OPT_THRESHOLD_CURVE].type = SANE_TYPE_INT; + s->opt[OPT_THRESHOLD_CURVE].unit = SANE_UNIT_NONE; + s->opt[OPT_THRESHOLD_CURVE].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_THRESHOLD_CURVE].constraint.range = &threshold_curve_range; + s->threshold_curve = 50; + + /* dynamic linart */ + s->opt[OPT_DISABLE_DYNAMIC_LINEART].name = "disable-dynamic-lineart"; + s->opt[OPT_DISABLE_DYNAMIC_LINEART].title = SANE_I18N ("Disable dynamic lineart"); + s->opt[OPT_DISABLE_DYNAMIC_LINEART].desc = + SANE_I18N ("Disable use of a software adaptive algorithm to generate lineart relying instead on hardware lineart."); + s->opt[OPT_DISABLE_DYNAMIC_LINEART].type = SANE_TYPE_BOOL; + s->opt[OPT_DISABLE_DYNAMIC_LINEART].unit = SANE_UNIT_NONE; + s->opt[OPT_DISABLE_DYNAMIC_LINEART].constraint_type = SANE_CONSTRAINT_NONE; + s->disable_dynamic_lineart = false; + + /* fastmod is required for hw lineart to work */ + if ((s->dev->model->asic_type == GENESYS_GL646) + &&(s->dev->model->motor_type != MOTOR_XP200)) + { + s->opt[OPT_DISABLE_DYNAMIC_LINEART].cap = SANE_CAP_INACTIVE; + } + + /* disable_interpolation */ + s->opt[OPT_DISABLE_INTERPOLATION].name = "disable-interpolation"; + s->opt[OPT_DISABLE_INTERPOLATION].title = + SANE_I18N ("Disable interpolation"); + s->opt[OPT_DISABLE_INTERPOLATION].desc = + SANE_I18N + ("When using high resolutions where the horizontal resolution is smaller " + "than the vertical resolution this disables horizontal interpolation."); + s->opt[OPT_DISABLE_INTERPOLATION].type = SANE_TYPE_BOOL; + s->opt[OPT_DISABLE_INTERPOLATION].unit = SANE_UNIT_NONE; + s->opt[OPT_DISABLE_INTERPOLATION].constraint_type = SANE_CONSTRAINT_NONE; + s->disable_interpolation = false; + + /* color filter */ + s->opt[OPT_COLOR_FILTER].name = "color-filter"; + s->opt[OPT_COLOR_FILTER].title = SANE_I18N ("Color filter"); + s->opt[OPT_COLOR_FILTER].desc = + SANE_I18N + ("When using gray or lineart this option selects the used color."); + s->opt[OPT_COLOR_FILTER].type = SANE_TYPE_STRING; + s->opt[OPT_COLOR_FILTER].constraint_type = SANE_CONSTRAINT_STRING_LIST; + /* true gray not yet supported for GL847 and GL124 scanners */ + if(!model->is_cis || model->asic_type==GENESYS_GL847 || model->asic_type==GENESYS_GL124) + { + s->opt[OPT_COLOR_FILTER].size = max_string_size (color_filter_list); + s->opt[OPT_COLOR_FILTER].constraint.string_list = color_filter_list; + s->color_filter = s->opt[OPT_COLOR_FILTER].constraint.string_list[1]; + } + else + { + s->opt[OPT_COLOR_FILTER].size = max_string_size (cis_color_filter_list); + s->opt[OPT_COLOR_FILTER].constraint.string_list = cis_color_filter_list; + /* default to "None" ie true gray */ + s->color_filter = s->opt[OPT_COLOR_FILTER].constraint.string_list[3]; + } + + /* no support for color filter for cis+gl646 scanners */ + if (model->asic_type == GENESYS_GL646 && model->is_cis) + { + DISABLE (OPT_COLOR_FILTER); + } + + /* calibration store file name */ + s->opt[OPT_CALIBRATION_FILE].name = "calibration-file"; + s->opt[OPT_CALIBRATION_FILE].title = SANE_I18N ("Calibration file"); + s->opt[OPT_CALIBRATION_FILE].desc = SANE_I18N ("Specify the calibration file to use"); + s->opt[OPT_CALIBRATION_FILE].type = SANE_TYPE_STRING; + s->opt[OPT_CALIBRATION_FILE].unit = SANE_UNIT_NONE; + s->opt[OPT_CALIBRATION_FILE].size = PATH_MAX; + s->opt[OPT_CALIBRATION_FILE].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED; + s->opt[OPT_CALIBRATION_FILE].constraint_type = SANE_CONSTRAINT_NONE; + s->calibration_file.clear(); + /* disable option if ran as root */ +#ifdef HAVE_GETUID + if(geteuid()==0) + { + DISABLE (OPT_CALIBRATION_FILE); + } +#endif + + /* expiration time for calibration cache entries */ + s->opt[OPT_EXPIRATION_TIME].name = "expiration-time"; + s->opt[OPT_EXPIRATION_TIME].title = SANE_I18N ("Calibration cache expiration time"); + s->opt[OPT_EXPIRATION_TIME].desc = SANE_I18N ("Time (in minutes) before a cached calibration expires. " + "A value of 0 means cache is not used. A negative value means cache never expires."); + s->opt[OPT_EXPIRATION_TIME].type = SANE_TYPE_INT; + s->opt[OPT_EXPIRATION_TIME].unit = SANE_UNIT_NONE; + s->opt[OPT_EXPIRATION_TIME].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_EXPIRATION_TIME].constraint.range = &expiration_range; + s->expiration_time = 60; // 60 minutes by default + + /* Powersave time (turn lamp off) */ + s->opt[OPT_LAMP_OFF_TIME].name = "lamp-off-time"; + s->opt[OPT_LAMP_OFF_TIME].title = SANE_I18N ("Lamp off time"); + s->opt[OPT_LAMP_OFF_TIME].desc = + SANE_I18N + ("The lamp will be turned off after the given time (in minutes). " + "A value of 0 means, that the lamp won't be turned off."); + s->opt[OPT_LAMP_OFF_TIME].type = SANE_TYPE_INT; + s->opt[OPT_LAMP_OFF_TIME].unit = SANE_UNIT_NONE; + s->opt[OPT_LAMP_OFF_TIME].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_LAMP_OFF_TIME].constraint.range = &time_range; + s->lamp_off_time = 15; // 15 minutes + + /* turn lamp off during scan */ + s->opt[OPT_LAMP_OFF].name = "lamp-off-scan"; + s->opt[OPT_LAMP_OFF].title = SANE_I18N ("Lamp off during scan"); + s->opt[OPT_LAMP_OFF].desc = SANE_I18N ("The lamp will be turned off during scan. "); + s->opt[OPT_LAMP_OFF].type = SANE_TYPE_BOOL; + s->opt[OPT_LAMP_OFF].unit = SANE_UNIT_NONE; + s->opt[OPT_LAMP_OFF].constraint_type = SANE_CONSTRAINT_NONE; + s->lamp_off = false; + + s->opt[OPT_SENSOR_GROUP].title = SANE_TITLE_SENSORS; + s->opt[OPT_SENSOR_GROUP].desc = SANE_DESC_SENSORS; + s->opt[OPT_SENSOR_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_SENSOR_GROUP].cap = SANE_CAP_ADVANCED; + s->opt[OPT_SENSOR_GROUP].size = 0; + s->opt[OPT_SENSOR_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + s->opt[OPT_SCAN_SW].name = SANE_NAME_SCAN; + s->opt[OPT_SCAN_SW].title = SANE_TITLE_SCAN; + s->opt[OPT_SCAN_SW].desc = SANE_DESC_SCAN; + s->opt[OPT_SCAN_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_SCAN_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_SCAN_SW) + s->opt[OPT_SCAN_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_SCAN_SW].cap = SANE_CAP_INACTIVE; + + /* SANE_NAME_FILE is not for buttons */ + s->opt[OPT_FILE_SW].name = "file"; + s->opt[OPT_FILE_SW].title = SANE_I18N ("File button"); + s->opt[OPT_FILE_SW].desc = SANE_I18N ("File button"); + s->opt[OPT_FILE_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_FILE_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_FILE_SW) + s->opt[OPT_FILE_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_FILE_SW].cap = SANE_CAP_INACTIVE; + + s->opt[OPT_EMAIL_SW].name = SANE_NAME_EMAIL; + s->opt[OPT_EMAIL_SW].title = SANE_TITLE_EMAIL; + s->opt[OPT_EMAIL_SW].desc = SANE_DESC_EMAIL; + s->opt[OPT_EMAIL_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_EMAIL_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_EMAIL_SW) + s->opt[OPT_EMAIL_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_EMAIL_SW].cap = SANE_CAP_INACTIVE; + + s->opt[OPT_COPY_SW].name = SANE_NAME_COPY; + s->opt[OPT_COPY_SW].title = SANE_TITLE_COPY; + s->opt[OPT_COPY_SW].desc = SANE_DESC_COPY; + s->opt[OPT_COPY_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_COPY_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_COPY_SW) + s->opt[OPT_COPY_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_COPY_SW].cap = SANE_CAP_INACTIVE; + + s->opt[OPT_PAGE_LOADED_SW].name = SANE_NAME_PAGE_LOADED; + s->opt[OPT_PAGE_LOADED_SW].title = SANE_TITLE_PAGE_LOADED; + s->opt[OPT_PAGE_LOADED_SW].desc = SANE_DESC_PAGE_LOADED; + s->opt[OPT_PAGE_LOADED_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_PAGE_LOADED_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_PAGE_LOADED_SW) + s->opt[OPT_PAGE_LOADED_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_PAGE_LOADED_SW].cap = SANE_CAP_INACTIVE; + + /* OCR button */ + s->opt[OPT_OCR_SW].name = "ocr"; + s->opt[OPT_OCR_SW].title = SANE_I18N ("OCR button"); + s->opt[OPT_OCR_SW].desc = SANE_I18N ("OCR button"); + s->opt[OPT_OCR_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_OCR_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_OCR_SW) + s->opt[OPT_OCR_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_OCR_SW].cap = SANE_CAP_INACTIVE; + + /* power button */ + s->opt[OPT_POWER_SW].name = "power"; + s->opt[OPT_POWER_SW].title = SANE_I18N ("Power button"); + s->opt[OPT_POWER_SW].desc = SANE_I18N ("Power button"); + s->opt[OPT_POWER_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_POWER_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_POWER_SW) + s->opt[OPT_POWER_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_POWER_SW].cap = SANE_CAP_INACTIVE; + + /* extra button */ + s->opt[OPT_EXTRA_SW].name = "extra"; + s->opt[OPT_EXTRA_SW].title = SANE_I18N ("Extra button"); + s->opt[OPT_EXTRA_SW].desc = SANE_I18N ("Extra button"); + s->opt[OPT_EXTRA_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_EXTRA_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_EXTRA_SW) + s->opt[OPT_EXTRA_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_EXTRA_SW].cap = SANE_CAP_INACTIVE; + + /* calibration needed */ + s->opt[OPT_NEED_CALIBRATION_SW].name = "need-calibration"; + s->opt[OPT_NEED_CALIBRATION_SW].title = SANE_I18N ("Need calibration"); + s->opt[OPT_NEED_CALIBRATION_SW].desc = SANE_I18N ("The scanner needs calibration for the current settings"); + s->opt[OPT_NEED_CALIBRATION_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_NEED_CALIBRATION_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_CALIBRATE) + s->opt[OPT_NEED_CALIBRATION_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_NEED_CALIBRATION_SW].cap = SANE_CAP_INACTIVE; + + /* button group */ + s->opt[OPT_BUTTON_GROUP].title = SANE_I18N ("Buttons"); + s->opt[OPT_BUTTON_GROUP].desc = ""; + s->opt[OPT_BUTTON_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_BUTTON_GROUP].cap = SANE_CAP_ADVANCED; + s->opt[OPT_BUTTON_GROUP].size = 0; + s->opt[OPT_BUTTON_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + /* calibrate button */ + s->opt[OPT_CALIBRATE].name = "calibrate"; + s->opt[OPT_CALIBRATE].title = SANE_I18N ("Calibrate"); + s->opt[OPT_CALIBRATE].desc = + SANE_I18N ("Start calibration using special sheet"); + s->opt[OPT_CALIBRATE].type = SANE_TYPE_BUTTON; + s->opt[OPT_CALIBRATE].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_CALIBRATE) + s->opt[OPT_CALIBRATE].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED | + SANE_CAP_AUTOMATIC; + else + s->opt[OPT_CALIBRATE].cap = SANE_CAP_INACTIVE; + + /* clear calibration cache button */ + s->opt[OPT_CLEAR_CALIBRATION].name = "clear-calibration"; + s->opt[OPT_CLEAR_CALIBRATION].title = SANE_I18N ("Clear calibration"); + s->opt[OPT_CLEAR_CALIBRATION].desc = SANE_I18N ("Clear calibration cache"); + s->opt[OPT_CLEAR_CALIBRATION].type = SANE_TYPE_BUTTON; + s->opt[OPT_CLEAR_CALIBRATION].unit = SANE_UNIT_NONE; + s->opt[OPT_CLEAR_CALIBRATION].size = 0; + s->opt[OPT_CLEAR_CALIBRATION].constraint_type = SANE_CONSTRAINT_NONE; + s->opt[OPT_CLEAR_CALIBRATION].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED; + + /* force calibration cache button */ + s->opt[OPT_FORCE_CALIBRATION].name = "force-calibration"; + s->opt[OPT_FORCE_CALIBRATION].title = SANE_I18N("Force calibration"); + s->opt[OPT_FORCE_CALIBRATION].desc = SANE_I18N("Force calibration ignoring all and any calibration caches"); + s->opt[OPT_FORCE_CALIBRATION].type = SANE_TYPE_BUTTON; + s->opt[OPT_FORCE_CALIBRATION].unit = SANE_UNIT_NONE; + s->opt[OPT_FORCE_CALIBRATION].size = 0; + s->opt[OPT_FORCE_CALIBRATION].constraint_type = SANE_CONSTRAINT_NONE; + s->opt[OPT_FORCE_CALIBRATION].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED; + + RIE (calc_parameters (s)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Bool present; + +// this function is passed to C API, it must not throw +static SANE_Status +check_present (SANE_String_Const devname) noexcept +{ + present=SANE_TRUE; + DBG(DBG_io, "%s: %s detected.\n", __func__, devname); + return SANE_STATUS_GOOD; +} + +static SANE_Status +attach (SANE_String_Const devname, Genesys_Device ** devp, SANE_Bool may_wait) +{ + DBG_HELPER(dbg); + + Genesys_Device *dev = 0; + unsigned int i; + + + DBG(DBG_proc, "%s: start: devp %s NULL, may_wait = %d\n", __func__, devp ? "!=" : "==", may_wait); + + if (devp) + *devp = 0; + + if (!devname) + { + DBG(DBG_error, "%s: devname == NULL\n", __func__); + return SANE_STATUS_INVAL; + } + + for (auto& dev : *s_devices) { + if (strcmp(dev.file_name, devname) == 0) { + if (devp) + *devp = &dev; + DBG(DBG_info, "%s: device `%s' was already in device list\n", __func__, devname); + return SANE_STATUS_GOOD; + } + } + + DBG(DBG_info, "%s: trying to open device `%s'\n", __func__, devname); + + UsbDevice usb_dev; + + usb_dev.open(devname); + DBG(DBG_info, "%s: device `%s' successfully opened\n", __func__, devname); + + int vendor, product; + usb_dev.get_vendor_product(vendor, product); + + /* KV-SS080 is an auxiliary device which requires a master device to be here */ + if(vendor == 0x04da && product == 0x100f) + { + present=SANE_FALSE; + sanei_usb_find_devices (vendor, 0x1006, check_present); + sanei_usb_find_devices (vendor, 0x1007, check_present); + sanei_usb_find_devices (vendor, 0x1010, check_present); + if (present == SANE_FALSE) { + throw SaneException("master device not present"); + } + } + + bool found_dev = false; + for (i = 0; i < MAX_SCANNERS && genesys_usb_device_list[i].model != 0; i++) + { + if (vendor == genesys_usb_device_list[i].vendor && + product == genesys_usb_device_list[i].product) + { + found_dev = true; + break; + } + } + + if (!found_dev) { + DBG(DBG_error, "%s: vendor 0x%xd product 0x%xd is not supported by this backend\n", __func__, + vendor, product); + return SANE_STATUS_INVAL; + } + + char* new_devname = strdup (devname); + if (!new_devname) { + return SANE_STATUS_NO_MEM; + } + + s_devices->emplace_back(); + dev = &s_devices->back(); + dev->file_name = new_devname; + + dev->model = genesys_usb_device_list[i].model; + dev->vendorId = genesys_usb_device_list[i].vendor; + dev->productId = genesys_usb_device_list[i].product; + dev->usb_mode = 0; /* i.e. unset */ + dev->already_initialized = SANE_FALSE; + + DBG(DBG_info, "%s: found %s flatbed scanner %s at %s\n", __func__, dev->model->vendor, + dev->model->model, dev->file_name); + + if (devp) { + *devp = dev; + } + + usb_dev.close(); + return SANE_STATUS_GOOD; +} + +static SANE_Status +attach_one_device_impl(SANE_String_Const devname) +{ + Genesys_Device *dev; + SANE_Status status = SANE_STATUS_GOOD; + + RIE (attach (devname, &dev, SANE_FALSE)); + + return SANE_STATUS_GOOD; +} + +static SANE_Status attach_one_device(SANE_String_Const devname) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + return attach_one_device_impl(devname); + }); +} + +/* configuration framework functions */ + +// this function is passed to C API, it must not throw +static SANE_Status +config_attach_genesys(SANEI_Config __sane_unused__ *config, const char *devname) noexcept +{ + /* the devname has been processed and is ready to be used + * directly. Since the backend is an USB only one, we can + * call sanei_usb_attach_matching_devices straight */ + sanei_usb_attach_matching_devices (devname, attach_one_device); + + return SANE_STATUS_GOOD; +} + +/* probes for scanner to attach to the backend */ +static SANE_Status +probe_genesys_devices (void) +{ + SANEI_Config config; + SANE_Status status = SANE_STATUS_GOOD; + + DBGSTART; + + /* set configuration options structure : no option for this backend */ + config.descriptors = NULL; + config.values = NULL; + config.count = 0; + + /* generic configure and attach function */ + status = sanei_configure_attach (GENESYS_CONFIG_FILE, &config, + config_attach_genesys); + + DBG(DBG_info, "%s: %d devices currently attached\n", __func__, (int) s_devices->size()); + + DBGCOMPLETED; + + return status; +} + +/** + * This should be changed if one of the substructures of + Genesys_Calibration_Cache change, but it must be changed if there are + changes that don't change size -- at least for now, as we store most + of Genesys_Calibration_Cache as is. +*/ +static const char* CALIBRATION_IDENT = "sane_genesys"; +static const int CALIBRATION_VERSION = 2; + +bool read_calibration(std::istream& str, Genesys_Device::Calibration& calibration, + const std::string& path) +{ + std::string ident; + serialize(str, ident); + + if (ident != CALIBRATION_IDENT) { + DBG(DBG_info, "%s: Incorrect calibration file '%s' header\n", __func__, path.c_str()); + return false; + } + + size_t version; + serialize(str, version); + + if (version != CALIBRATION_VERSION) { + DBG(DBG_info, "%s: Incorrect calibration file '%s' version\n", __func__, path.c_str()); + return false; + } + + calibration.clear(); + serialize(str, calibration); + return true; +} + +/** + * reads previously cached calibration data + * from file defined in dev->calib_file + */ +static bool sanei_genesys_read_calibration(Genesys_Device::Calibration& calibration, + const std::string& path) +{ + DBG_HELPER(dbg); + + std::ifstream str; + str.open(path); + if (!str.is_open()) { + DBG(DBG_info, "%s: Cannot open %s\n", __func__, path.c_str()); + return false; + } + + return read_calibration(str, calibration, path); +} + +void write_calibration(std::ostream& str, Genesys_Device::Calibration& calibration) +{ + std::string ident = CALIBRATION_IDENT; + serialize(str, ident); + size_t version = CALIBRATION_VERSION; + serialize(str, version); + serialize_newline(str); + serialize(str, calibration); +} + +static void write_calibration(Genesys_Device::Calibration& calibration, const std::string& path) +{ + DBG_HELPER(dbg); + + std::ofstream str; + str.open(path); + if (!str.is_open()) { + throw SaneException("Cannot open calibration for writing"); + } + write_calibration(str, calibration); +} + +/** @brief buffer scanned picture + * In order to allow digital processing, we must be able to put all the + * scanned picture in a buffer. + */ +static SANE_Status +genesys_buffer_image(Genesys_Scanner *s) +{ + SANE_Status status = SANE_STATUS_GOOD; + size_t maximum; /**> maximum bytes size of the scan */ + size_t len; /**> length of scanned data read */ + size_t total; /**> total of butes read */ + size_t size; /**> size of image buffer */ + size_t read_size; /**> size of reads */ + int lines; /** number of lines of the scan */ + Genesys_Device *dev = s->dev; + + /* compute maximum number of lines for the scan */ + if (s->params.lines > 0) + { + lines = s->params.lines; + } + else + { + lines = + (SANE_UNFIX (dev->model->y_size) * dev->settings.yres) / MM_PER_INCH; + } + DBG(DBG_info, "%s: buffering %d lines of %d bytes\n", __func__, lines, + s->params.bytes_per_line); + + /* maximum bytes to read */ + maximum = s->params.bytes_per_line * lines; + if(s->dev->settings.dynamic_lineart==SANE_TRUE) + { + maximum *= 8; + } + + /* initial size of the read buffer */ + size = + ((2048 * 2048) / s->params.bytes_per_line) * s->params.bytes_per_line; + + /* read size */ + read_size = size / 2; + + dev->img_buffer.resize(size); + + /* loop reading data until we reach maximum or EOF */ + total = 0; + while (total < maximum && status != SANE_STATUS_EOF) + { + len = size - maximum; + if (len > read_size) + { + len = read_size; + } + + status = genesys_read_ordered_data(dev, dev->img_buffer.data() + total, &len); + if (status != SANE_STATUS_EOF && status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: %s buffering failed\n", __func__, sane_strstatus(status)); + return status; + } + total += len; + + /* do we need to enlarge read buffer ? */ + if (total + read_size > size && status != SANE_STATUS_EOF) + { + size += read_size; + dev->img_buffer.resize(size); + } + } + + /* since digital processing is going to take place, + * issue head parking command so that the head move while + * computing so we can save time + */ + if (dev->model->is_sheetfed == SANE_FALSE && + dev->parking == SANE_FALSE) + { + dev->model->cmd_set->slow_back_home (dev, dev->model->flags & GENESYS_FLAG_MUST_WAIT); + dev->parking = !(s->dev->model->flags & GENESYS_FLAG_MUST_WAIT); + } + + /* in case of dynamic lineart, we have buffered gray data which + * must be converted to lineart first */ + if(s->dev->settings.dynamic_lineart==SANE_TRUE) + { + total/=8; + std::vector lineart(total); + + genesys_gray_lineart (dev, + dev->img_buffer.data(), + lineart.data(), + dev->settings.pixels, + (total*8)/dev->settings.pixels, + dev->settings.threshold); + dev->img_buffer = lineart; + } + + /* update counters */ + dev->total_bytes_to_read = total; + dev->total_bytes_read = 0; + + /* update params */ + s->params.lines = total / s->params.bytes_per_line; + if (DBG_LEVEL >= DBG_io2) + { + sanei_genesys_write_pnm_file("gl_unprocessed.pnm", dev->img_buffer.data(), s->params.depth, + s->params.format==SANE_FRAME_RGB ? 3 : 1, + s->params.pixels_per_line, s->params.lines); + } + + return SANE_STATUS_GOOD; +} + +/* -------------------------- SANE API functions ------------------------- */ + +SANE_Status +sane_init_impl(SANE_Int * version_code, SANE_Auth_Callback authorize) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG_INIT (); + DBG(DBG_init, "SANE Genesys backend version %d.%d from %s\n", + SANE_CURRENT_MAJOR, V_MINOR, PACKAGE_STRING); +#ifdef HAVE_LIBUSB + DBG(DBG_init, "SANE Genesys backend built with libusb-1.0\n"); +#endif +#ifdef HAVE_LIBUSB_LEGACY + DBG(DBG_init, "SANE Genesys backend built with libusb\n"); +#endif + + if (version_code) + *version_code = SANE_VERSION_CODE (SANE_CURRENT_MAJOR, V_MINOR, 0); + + DBG(DBG_proc, "%s: authorize %s null\n", __func__, authorize ? "!=" : "=="); + + /* init usb use */ + sanei_usb_init (); + + /* init sanei_magic */ + sanei_magic_init(); + + s_scanners.init(); + s_devices.init(); + s_sane_devices.init(); + s_sane_devices_ptrs.init(); + genesys_init_sensor_tables(); + genesys_init_frontend_tables(); + + DBG(DBG_info, "%s: %s endian machine\n", __func__, +#ifdef WORDS_BIGENDIAN + "big" +#else + "little" +#endif + ); + + /* cold-plug case :detection of allready connected scanners */ + status = probe_genesys_devices (); + + DBGCOMPLETED; + + return status; +} + + +extern "C" SANE_Status sane_init(SANE_Int * version_code, SANE_Auth_Callback authorize) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + return sane_init_impl(version_code, authorize); + }); +} + +void +sane_exit_impl(void) +{ + DBGSTART; + + sanei_usb_exit(); + + run_functions_at_backend_exit(); + + DBGCOMPLETED; +} + +void sane_exit() +{ + catch_all_exceptions(__func__, [](){ sane_exit_impl(); }); +} + +SANE_Status +sane_get_devices_impl(const SANE_Device *** device_list, SANE_Bool local_only) +{ + DBG(DBG_proc, "%s: start: local_only = %s\n", __func__, + local_only == SANE_TRUE ? "true" : "false"); + + /* hot-plug case : detection of newly connected scanners */ + sanei_usb_scan_devices (); + probe_genesys_devices (); + + s_sane_devices->clear(); + s_sane_devices_ptrs->clear(); + s_sane_devices->reserve(s_devices->size()); + s_sane_devices_ptrs->reserve(s_devices->size() + 1); + + for (auto dev_it = s_devices->begin(); dev_it != s_devices->end();) { + present = SANE_FALSE; + sanei_usb_find_devices(dev_it->vendorId, dev_it->productId, check_present); + if (present) { + s_sane_devices->emplace_back(); + auto& sane_device = s_sane_devices->back(); + sane_device.name = dev_it->file_name; + sane_device.vendor = dev_it->model->vendor; + sane_device.model = dev_it->model->model; + sane_device.type = "flatbed scanner"; + s_sane_devices_ptrs->push_back(&sane_device); + dev_it++; + } else { + dev_it = s_devices->erase(dev_it); + } + } + s_sane_devices_ptrs->push_back(nullptr); + + *((SANE_Device ***)device_list) = s_sane_devices_ptrs->data(); + + DBGCOMPLETED; + + return SANE_STATUS_GOOD; +} + +SANE_Status sane_get_devices(const SANE_Device *** device_list, SANE_Bool local_only) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + return sane_get_devices_impl(device_list, local_only); + }); +} + +SANE_Status +sane_open_impl(SANE_String_Const devicename, SANE_Handle * handle) +{ + DBG_HELPER(dbg); + Genesys_Device *dev = nullptr; + SANE_Status status = SANE_STATUS_GOOD; + char *tmpstr; + + DBG(DBG_proc, "%s: devicename = `%s')\n", __func__, devicename); + + /* devicename="" or devicename="genesys" are default values that use + * first available device + */ + if (devicename[0] && strcmp ("genesys", devicename) != 0) + { + /* search for the given devicename in the device list */ + for (auto& d : *s_devices) { + if (strcmp(d.file_name, devicename) == 0) { + dev = &d; + break; + } + } + + if (!dev) + { + DBG(DBG_info, "%s: couldn't find `%s' in devlist, trying attach\n", __func__, devicename); + RIE (attach (devicename, &dev, SANE_TRUE)); + } + else + DBG(DBG_info, "%s: found `%s' in devlist\n", __func__, dev->model->name); + } + else + { + // empty devicename or "genesys" -> use first device + if (!s_devices->empty()) { + dev = &s_devices->front(); + devicename = dev->file_name; + DBG(DBG_info, "%s: empty devicename, trying `%s'\n", __func__, devicename); + } + } + + if (!dev) + return SANE_STATUS_INVAL; + + if (dev->model->flags & GENESYS_FLAG_UNTESTED) + { + DBG(DBG_error0, "WARNING: Your scanner is not fully supported or at least \n"); + DBG(DBG_error0, " had only limited testing. Please be careful and \n"); + DBG(DBG_error0, " report any failure/success to \n"); + DBG(DBG_error0, " sane-devel@alioth-lists.debian.net. Please provide as many\n"); + DBG(DBG_error0, " details as possible, e.g. the exact name of your\n"); + DBG(DBG_error0, " scanner and what does (not) work.\n"); + } + + dbg.vstatus("open device '%s'", dev->file_name); + dev->usb_dev.open(dev->file_name); + dbg.clear(); + + + s_scanners->push_back(Genesys_Scanner()); + auto* s = &s_scanners->back(); + + s->dev = dev; + s->scanning = SANE_FALSE; + s->dev->parking = SANE_FALSE; + s->dev->read_active = SANE_FALSE; + s->dev->force_calibration = 0; + s->dev->line_interp = 0; + s->dev->line_count = 0; + s->dev->segnb = 0; + s->dev->binary=NULL; + + *handle = s; + + if (!dev->already_initialized) + sanei_genesys_init_structs (dev); + + RIE (init_options (s)); + + if (sanei_genesys_init_cmd_set (s->dev) != SANE_STATUS_GOOD) + { + DBG(DBG_error0, "This device doesn't have a valid command set!!\n"); + return SANE_STATUS_IO_ERROR; + } + + // FIXME: we create sensor tables for the sensor, this should happen when we know which sensor + // we will select + RIE (dev->model->cmd_set->init(dev)); + + /* some hardware capabilities are detected through sensors */ + RIE (s->dev->model->cmd_set->update_hardware_sensors (s)); + + /* here is the place to fetch a stored calibration cache */ + if (s->dev->force_calibration == 0) + { + tmpstr=calibration_filename(s->dev); + s->calibration_file = tmpstr; + s->dev->calib_file = tmpstr; + DBG(DBG_info, "%s: Calibration filename set to:\n", __func__); + DBG(DBG_info, "%s: >%s<\n", __func__, s->dev->calib_file.c_str()); + free(tmpstr); + + catch_all_exceptions(__func__, [&]() + { + sanei_genesys_read_calibration(s->dev->calibration_cache, s->dev->calib_file); + }); + } + + return SANE_STATUS_GOOD; +} + +SANE_Status sane_open(SANE_String_Const devicename, SANE_Handle* handle) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + return sane_open_impl(devicename, handle); + }); +} + +void +sane_close_impl(SANE_Handle handle) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBGSTART; + + /* remove handle from list of open handles: */ + auto it = s_scanners->end(); + for (auto it2 = s_scanners->begin(); it2 != s_scanners->end(); it2++) + { + if (&*it2 == handle) { + it = it2; + break; + } + } + if (it == s_scanners->end()) + { + DBG(DBG_error, "%s: invalid handle %p\n", __func__, handle); + return; /* oops, not a handle we know about */ + } + + Genesys_Scanner* s = &*it; + + /* eject document for sheetfed scanners */ + if (s->dev->model->is_sheetfed == SANE_TRUE) + { + s->dev->model->cmd_set->eject_document (s->dev); + } + else + { + /* in case scanner is parking, wait for the head + * to reach home position */ + if(s->dev->parking==SANE_TRUE) + { + status = sanei_genesys_wait_for_home (s->dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to wait for head to park: %s\n", __func__, + sane_strstatus(status)); + } + } + } + + /* enable power saving before leaving */ + status = s->dev->model->cmd_set->save_power (s->dev, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to enable power saving mode: %s\n", __func__, + sane_strstatus(status)); + } + + // here is the place to store calibration cache + if (s->dev->force_calibration == 0) { + catch_all_exceptions(__func__, [&](){ write_calibration(s->dev->calibration_cache, + s->dev->calib_file); }); + } + + s->dev->already_initialized = SANE_FALSE; + + /* for an handful of bytes .. */ + free ((void *)(size_t)s->opt[OPT_RESOLUTION].constraint.word_list); + free ((void *)(size_t)s->opt[OPT_TL_X].constraint.range); + free ((void *)(size_t)s->opt[OPT_TL_Y].constraint.range); + + s->dev->clear(); + + /* LAMP OFF : same register across all the ASICs */ + sanei_genesys_write_register (s->dev, 0x03, 0x00); + + catch_all_exceptions(__func__, [&](){ s->dev->usb_dev.clear_halt(); }); + + // we need this to avoid these ASIC getting stuck in bulk writes + catch_all_exceptions(__func__, [&](){ s->dev->usb_dev.reset(); }); + + // not freeing s->dev because it's in the dev list + catch_all_exceptions(__func__, [&](){ s->dev->usb_dev.close(); }); + + s_scanners->erase(it); + + DBGCOMPLETED; +} + +void sane_close(SANE_Handle handle) +{ + catch_all_exceptions(__func__, [=]() + { + sane_close_impl(handle); + }); +} + +const SANE_Option_Descriptor * +sane_get_option_descriptor_impl(SANE_Handle handle, SANE_Int option) +{ + Genesys_Scanner *s = (Genesys_Scanner*) handle; + + if ((unsigned) option >= NUM_OPTIONS) + return 0; + DBG(DBG_io2, "%s: option = %s (%d)\n", __func__, s->opt[option].name, option); + return s->opt + option; +} + + +const SANE_Option_Descriptor * +sane_get_option_descriptor(SANE_Handle handle, SANE_Int option) +{ + const SANE_Option_Descriptor* ret = NULL; + catch_all_exceptions(__func__, [&]() + { + ret = sane_get_option_descriptor_impl(handle, option); + }); + return ret; +} + +/* gets an option , called by sane_control_option */ +static SANE_Status +get_option_value (Genesys_Scanner * s, int option, void *val) +{ + unsigned int i; + SANE_Word* table = nullptr; + std::vector gamma_table; + unsigned option_size = 0; + SANE_Status status = SANE_STATUS_GOOD; + + // FIXME: we should pick correct sensor here + const Genesys_Sensor& sensor = sanei_genesys_find_sensor_any(s->dev); + + switch (option) + { + /* geometry */ + case OPT_TL_X: + *reinterpret_cast(val) = s->pos_top_left_x; + break; + case OPT_TL_Y: + *reinterpret_cast(val) = s->pos_top_left_y; + break; + case OPT_BR_X: + *reinterpret_cast(val) = s->pos_bottom_right_x; + break; + case OPT_BR_Y: + *reinterpret_cast(val) = s->pos_bottom_right_y; + break; + /* word options: */ + case OPT_NUM_OPTS: + *reinterpret_cast(val) = NUM_OPTIONS; + break; + case OPT_RESOLUTION: + *reinterpret_cast(val) = s->resolution; + break; + case OPT_BIT_DEPTH: + *reinterpret_cast(val) = s->bit_depth; + break; + case OPT_PREVIEW: + *reinterpret_cast(val) = s->preview; + break; + case OPT_THRESHOLD: + *reinterpret_cast(val) = s->threshold; + break; + case OPT_THRESHOLD_CURVE: + *reinterpret_cast(val) = s->threshold_curve; + break; + case OPT_DISABLE_DYNAMIC_LINEART: + *reinterpret_cast(val) = s->disable_dynamic_lineart; + break; + case OPT_DISABLE_INTERPOLATION: + *reinterpret_cast(val) = s->disable_interpolation; + break; + case OPT_LAMP_OFF: + *reinterpret_cast(val) = s->lamp_off; + break; + case OPT_LAMP_OFF_TIME: + *reinterpret_cast(val) = s->lamp_off_time; + break; + case OPT_SWDESKEW: + *reinterpret_cast(val) = s->swdeskew; + break; + case OPT_SWCROP: + *reinterpret_cast(val) = s->swcrop; + break; + case OPT_SWDESPECK: + *reinterpret_cast(val) = s->swdespeck; + break; + case OPT_SWDEROTATE: + *reinterpret_cast(val) = s->swderotate; + break; + case OPT_SWSKIP: + *reinterpret_cast(val) = s->swskip; + break; + case OPT_DESPECK: + *reinterpret_cast(val) = s->despeck; + break; + case OPT_CONTRAST: + *reinterpret_cast(val) = s->contrast; + break; + case OPT_BRIGHTNESS: + *reinterpret_cast(val) = s->brightness; + break; + case OPT_EXPIRATION_TIME: + *reinterpret_cast(val) = s->expiration_time; + break; + case OPT_CUSTOM_GAMMA: + *reinterpret_cast(val) = s->custom_gamma; + break; + + /* string options: */ + case OPT_MODE: + std::strcpy(reinterpret_cast(val), s->mode.c_str()); + break; + case OPT_COLOR_FILTER: + std::strcpy(reinterpret_cast(val), s->color_filter.c_str()); + break; + case OPT_CALIBRATION_FILE: + std::strcpy(reinterpret_cast(val), s->calibration_file.c_str()); + break; + case OPT_SOURCE: + std::strcpy(reinterpret_cast(val), s->source.c_str()); + break; + + /* word array options */ + case OPT_GAMMA_VECTOR: + table = (SANE_Word *) val; + if (s->color_filter == "Red") { + gamma_table = get_gamma_table(s->dev, sensor, GENESYS_RED); + } else if (s->color_filter == "Blue") { + gamma_table = get_gamma_table(s->dev, sensor, GENESYS_BLUE); + } else { + gamma_table = get_gamma_table(s->dev, sensor, GENESYS_GREEN); + } + option_size = s->opt[option].size / sizeof (SANE_Word); + if (gamma_table.size() != option_size) { + throw std::runtime_error("The size of the gamma tables does not match"); + } + for (i = 0; i < option_size; i++) { + table[i] = gamma_table[i]; + } + break; + case OPT_GAMMA_VECTOR_R: + table = (SANE_Word *) val; + gamma_table = get_gamma_table(s->dev, sensor, GENESYS_RED); + option_size = s->opt[option].size / sizeof (SANE_Word); + if (gamma_table.size() != option_size) { + throw std::runtime_error("The size of the gamma tables does not match"); + } + for (i = 0; i < option_size; i++) { + table[i] = gamma_table[i]; + } + break; + case OPT_GAMMA_VECTOR_G: + table = (SANE_Word *) val; + gamma_table = get_gamma_table(s->dev, sensor, GENESYS_GREEN); + option_size = s->opt[option].size / sizeof (SANE_Word); + if (gamma_table.size() != option_size) { + throw std::runtime_error("The size of the gamma tables does not match"); + } + for (i = 0; i < option_size; i++) { + table[i] = gamma_table[i]; + } + break; + case OPT_GAMMA_VECTOR_B: + table = (SANE_Word *) val; + gamma_table = get_gamma_table(s->dev, sensor, GENESYS_BLUE); + option_size = s->opt[option].size / sizeof (SANE_Word); + if (gamma_table.size() != option_size) { + throw std::runtime_error("The size of the gamma tables does not match"); + } + for (i = 0; i < option_size; i++) { + table[i] = gamma_table[i]; + } + break; + /* sensors */ + case OPT_SCAN_SW: + case OPT_FILE_SW: + case OPT_EMAIL_SW: + case OPT_COPY_SW: + case OPT_PAGE_LOADED_SW: + case OPT_OCR_SW: + case OPT_POWER_SW: + case OPT_EXTRA_SW: + RIE (s->dev->model->cmd_set->update_hardware_sensors (s)); + *(SANE_Bool *) val = s->buttons[genesys_option_to_button(option)].read(); + break; + case OPT_NEED_CALIBRATION_SW: + /* scanner needs calibration for current mode unless a matching + * calibration cache is found */ + *(SANE_Bool *) val = SANE_TRUE; + for (auto& cache : s->dev->calibration_cache) + { + if (s->dev->model->cmd_set->is_compatible_calibration(s->dev, sensor, &cache, SANE_FALSE)) + { + *(SANE_Bool *) val = SANE_FALSE; + } + } + break; + default: + DBG(DBG_warn, "%s: can't get unknown option %d\n", __func__, option); + } + return status; +} + +/** @brief set calibration file value + * Set calibration file value. Load new cache values from file if it exists, + * else creates the file*/ +static void set_calibration_value(Genesys_Scanner* s, const char* val) +{ + DBG_HELPER(dbg); + + std::string new_calib_path = val; + Genesys_Device::Calibration new_calibration; + + bool is_calib_success = false; + catch_all_exceptions(__func__, [&]() + { + is_calib_success = sanei_genesys_read_calibration(new_calibration, new_calib_path); + }); + + if (!is_calib_success) { + return; + } + + s->dev->calibration_cache = std::move(new_calibration); + s->dev->calib_file = new_calib_path; + s->calibration_file = new_calib_path; + DBG(DBG_info, "%s: Calibration filename set to '%s':\n", __func__, new_calib_path.c_str()); +} + +/* sets an option , called by sane_control_option */ +static SANE_Status +set_option_value (Genesys_Scanner * s, int option, void *val, + SANE_Int * myinfo) +{ + SANE_Status status = SANE_STATUS_GOOD; + SANE_Word *table; + unsigned int i; + SANE_Range *x_range, *y_range; + unsigned option_size = 0; + + // FIXME: we should modify device-specific sensor + auto& sensor = sanei_genesys_find_sensor_any_for_write(s->dev); + + switch (option) + { + case OPT_TL_X: + s->pos_top_left_x = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_TL_Y: + s->pos_top_left_y = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_BR_X: + s->pos_bottom_right_x = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_BR_Y: + s->pos_bottom_right_y = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_RESOLUTION: + s->resolution = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_THRESHOLD: + s->threshold = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_THRESHOLD_CURVE: + s->threshold_curve = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_DISABLE_DYNAMIC_LINEART: + s->disable_dynamic_lineart = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_SWCROP: + s->swcrop = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_SWDESKEW: + s->swdeskew = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_DESPECK: + s->despeck = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_SWDEROTATE: + s->swderotate = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_SWSKIP: + s->swskip = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_DISABLE_INTERPOLATION: + s->disable_interpolation = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_LAMP_OFF: + s->lamp_off = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_PREVIEW: + s->preview = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_BRIGHTNESS: + s->brightness = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_CONTRAST: + s->contrast = *reinterpret_cast(val); + RIE (calc_parameters(s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_SWDESPECK: + s->swdespeck = *reinterpret_cast(val); + if (s->swdespeck) { + ENABLE(OPT_DESPECK); + } else { + DISABLE(OPT_DESPECK); + } + RIE (calc_parameters (s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + break; + /* software enhancement functions only apply to 8 or 1 bits data */ + case OPT_BIT_DEPTH: + s->bit_depth = *reinterpret_cast(val); + if(s->bit_depth>8) + { + DISABLE(OPT_SWDESKEW); + DISABLE(OPT_SWDESPECK); + DISABLE(OPT_SWCROP); + DISABLE(OPT_DESPECK); + DISABLE(OPT_SWDEROTATE); + DISABLE(OPT_SWSKIP); + DISABLE(OPT_CONTRAST); + DISABLE(OPT_BRIGHTNESS); + } + else + { + ENABLE(OPT_SWDESKEW); + ENABLE(OPT_SWDESPECK); + ENABLE(OPT_SWCROP); + ENABLE(OPT_DESPECK); + ENABLE(OPT_SWDEROTATE); + ENABLE(OPT_SWSKIP); + ENABLE(OPT_CONTRAST); + ENABLE(OPT_BRIGHTNESS); + } + RIE (calc_parameters (s)); + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + break; + case OPT_SOURCE: + if (s->source != reinterpret_cast(val)) { + s->source = reinterpret_cast(val); + + // change geometry constraint to the new source value + if (s->source == STR_FLATBED) + { + x_range=create_range(s->dev->model->x_size); + y_range=create_range(s->dev->model->y_size); + } + else + { + x_range=create_range(s->dev->model->x_size_ta); + y_range=create_range(s->dev->model->y_size_ta); + } + if(x_range==NULL || y_range==NULL) + { + return SANE_STATUS_NO_MEM; + } + + /* assign new values */ + free((void *)(size_t)s->opt[OPT_TL_X].constraint.range); + free((void *)(size_t)s->opt[OPT_TL_Y].constraint.range); + s->opt[OPT_TL_X].constraint.range = x_range; + s->pos_top_left_x = 0; + s->opt[OPT_TL_Y].constraint.range = y_range; + s->pos_top_left_y = 0; + s->opt[OPT_BR_X].constraint.range = x_range; + s->pos_bottom_right_x = x_range->max; + s->opt[OPT_BR_Y].constraint.range = y_range; + s->pos_bottom_right_y = y_range->max; + + /* signals reload */ + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + } + break; + case OPT_MODE: + s->mode = reinterpret_cast(val); + + if (s->mode == SANE_VALUE_SCAN_MODE_LINEART) + { + ENABLE (OPT_THRESHOLD); + ENABLE (OPT_THRESHOLD_CURVE); + DISABLE (OPT_BIT_DEPTH); + if (s->dev->model->asic_type != GENESYS_GL646 || !s->dev->model->is_cis) + { + ENABLE (OPT_COLOR_FILTER); + } + ENABLE (OPT_DISABLE_DYNAMIC_LINEART); + } + else + { + DISABLE (OPT_THRESHOLD); + DISABLE (OPT_THRESHOLD_CURVE); + DISABLE (OPT_DISABLE_DYNAMIC_LINEART); + if (s->mode == SANE_VALUE_SCAN_MODE_GRAY) + { + if (s->dev->model->asic_type != GENESYS_GL646 || !s->dev->model->is_cis) + { + ENABLE (OPT_COLOR_FILTER); + } + create_bpp_list (s, s->dev->model->bpp_gray_values); + } + else + { + DISABLE (OPT_COLOR_FILTER); + create_bpp_list (s, s->dev->model->bpp_color_values); + } + if (s->bpp_list[0] < 2) + DISABLE (OPT_BIT_DEPTH); + else + ENABLE (OPT_BIT_DEPTH); + } + RIE (calc_parameters (s)); + + /* if custom gamma, toggle gamma table options according to the mode */ + if (s->custom_gamma) + { + if (s->mode == SANE_VALUE_SCAN_MODE_COLOR) + { + DISABLE (OPT_GAMMA_VECTOR); + ENABLE (OPT_GAMMA_VECTOR_R); + ENABLE (OPT_GAMMA_VECTOR_G); + ENABLE (OPT_GAMMA_VECTOR_B); + } + else + { + ENABLE (OPT_GAMMA_VECTOR); + DISABLE (OPT_GAMMA_VECTOR_R); + DISABLE (OPT_GAMMA_VECTOR_G); + DISABLE (OPT_GAMMA_VECTOR_B); + } + } + + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + break; + case OPT_COLOR_FILTER: + s->color_filter = reinterpret_cast(val); + RIE (calc_parameters (s)); + break; + case OPT_CALIBRATION_FILE: + if (s->dev->force_calibration == 0) { + set_calibration_value(s, reinterpret_cast(val)); + } + break; + case OPT_LAMP_OFF_TIME: + if (*reinterpret_cast(val) != s->lamp_off_time) { + s->lamp_off_time = *reinterpret_cast(val); + RIE(s->dev->model->cmd_set->set_powersaving(s->dev, s->lamp_off_time)); + } + break; + case OPT_EXPIRATION_TIME: + if (*reinterpret_cast(val) != s->expiration_time) { + s->expiration_time = *reinterpret_cast(val); + // BUG: this is most likely not intended behavior, found out during refactor + RIE(s->dev->model->cmd_set->set_powersaving(s->dev, s->expiration_time)); + } + break; + + case OPT_CUSTOM_GAMMA: + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + s->custom_gamma = *reinterpret_cast(val); + + if (s->custom_gamma) { + if (s->mode == SANE_VALUE_SCAN_MODE_COLOR) + { + DISABLE (OPT_GAMMA_VECTOR); + ENABLE (OPT_GAMMA_VECTOR_R); + ENABLE (OPT_GAMMA_VECTOR_G); + ENABLE (OPT_GAMMA_VECTOR_B); + } + else + { + ENABLE (OPT_GAMMA_VECTOR); + DISABLE (OPT_GAMMA_VECTOR_R); + DISABLE (OPT_GAMMA_VECTOR_G); + DISABLE (OPT_GAMMA_VECTOR_B); + } + } + else + { + DISABLE (OPT_GAMMA_VECTOR); + DISABLE (OPT_GAMMA_VECTOR_R); + DISABLE (OPT_GAMMA_VECTOR_G); + DISABLE (OPT_GAMMA_VECTOR_B); + for (auto& table : s->dev->gamma_override_tables) { + table.clear(); + } + } + break; + + case OPT_GAMMA_VECTOR: + table = (SANE_Word *) val; + option_size = s->opt[option].size / sizeof (SANE_Word); + + s->dev->gamma_override_tables[GENESYS_RED].resize(option_size); + s->dev->gamma_override_tables[GENESYS_GREEN].resize(option_size); + s->dev->gamma_override_tables[GENESYS_BLUE].resize(option_size); + for (i = 0; i < option_size; i++) { + s->dev->gamma_override_tables[GENESYS_RED][i] = table[i]; + s->dev->gamma_override_tables[GENESYS_GREEN][i] = table[i]; + s->dev->gamma_override_tables[GENESYS_BLUE][i] = table[i]; + } + break; + case OPT_GAMMA_VECTOR_R: + table = (SANE_Word *) val; + option_size = s->opt[option].size / sizeof (SANE_Word); + s->dev->gamma_override_tables[GENESYS_RED].resize(option_size); + for (i = 0; i < option_size; i++) { + s->dev->gamma_override_tables[GENESYS_RED][i] = table[i]; + } + break; + case OPT_GAMMA_VECTOR_G: + table = (SANE_Word *) val; + option_size = s->opt[option].size / sizeof (SANE_Word); + s->dev->gamma_override_tables[GENESYS_GREEN].resize(option_size); + for (i = 0; i < option_size; i++) { + s->dev->gamma_override_tables[GENESYS_GREEN][i] = table[i]; + } + break; + case OPT_GAMMA_VECTOR_B: + table = (SANE_Word *) val; + option_size = s->opt[option].size / sizeof (SANE_Word); + s->dev->gamma_override_tables[GENESYS_BLUE].resize(option_size); + for (i = 0; i < option_size; i++) { + s->dev->gamma_override_tables[GENESYS_BLUE][i] = table[i]; + } + break; + case OPT_CALIBRATE: + status = s->dev->model->cmd_set->save_power (s->dev, SANE_FALSE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to disable power saving mode: %s\n", __func__, + sane_strstatus(status)); + } + else + status = genesys_scanner_calibration(s->dev, sensor); + /* not critical if this fails*/ + s->dev->model->cmd_set->save_power (s->dev, SANE_TRUE); + /* signals that sensors will have to be read again */ + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + break; + case OPT_CLEAR_CALIBRATION: + s->dev->calibration_cache.clear(); + + /* remove file */ + unlink(s->dev->calib_file.c_str()); + /* signals that sensors will have to be read again */ + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + break; + case OPT_FORCE_CALIBRATION: + s->dev->force_calibration = 1; + s->dev->calibration_cache.clear(); + s->dev->calib_file.clear(); + + /* signals that sensors will have to be read again */ + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + break; + + default: + DBG(DBG_warn, "%s: can't set unknown option %d\n", __func__, option); + } + return status; +} + + +/* sets and gets scanner option values */ +SANE_Status +sane_control_option_impl(SANE_Handle handle, SANE_Int option, + SANE_Action action, void *val, SANE_Int * info) +{ + Genesys_Scanner *s = (Genesys_Scanner*) handle; + SANE_Status status = SANE_STATUS_GOOD; + SANE_Word cap; + SANE_Int myinfo = 0; + + DBG(DBG_io2, "%s: start: action = %s, option = %s (%d)\n", __func__, + (action == SANE_ACTION_GET_VALUE) ? "get" : (action == SANE_ACTION_SET_VALUE) ? + "set" : (action == SANE_ACTION_SET_AUTO) ? "set_auto" : "unknown", + s->opt[option].name, option); + + if (info) + *info = 0; + + if (s->scanning) + { + DBG(DBG_warn, "%s: don't call this function while scanning (option = %s (%d))\n", __func__, + s->opt[option].name, option); + + return SANE_STATUS_DEVICE_BUSY; + } + if (option >= NUM_OPTIONS || option < 0) + { + DBG(DBG_warn, "%s: option %d >= NUM_OPTIONS || option < 0\n", __func__, option); + return SANE_STATUS_INVAL; + } + + cap = s->opt[option].cap; + + if (!SANE_OPTION_IS_ACTIVE (cap)) + { + DBG(DBG_warn, "%s: option %d is inactive\n", __func__, option); + return SANE_STATUS_INVAL; + } + + switch (action) + { + case SANE_ACTION_GET_VALUE: + status = get_option_value (s, option, val); + break; + + case SANE_ACTION_SET_VALUE: + if (!SANE_OPTION_IS_SETTABLE (cap)) + { + DBG(DBG_warn, "%s: option %d is not settable\n", __func__, option); + return SANE_STATUS_INVAL; + } + + status = sanei_constrain_value (s->opt + option, val, &myinfo); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_warn, "%s: sanei_constrain_value returned %s\n", __func__, + sane_strstatus(status)); + return status; + } + + status = set_option_value (s, option, val, &myinfo); + break; + + case SANE_ACTION_SET_AUTO: + DBG(DBG_error, + "%s: SANE_ACTION_SET_AUTO unsupported since no option has SANE_CAP_AUTOMATIC\n", + __func__); + status = SANE_STATUS_INVAL; + break; + + default: + DBG(DBG_warn, "%s: unknown action %d for option %d\n", __func__, action, option); + status = SANE_STATUS_INVAL; + break; + } + + if (info) + *info = myinfo; + + DBG(DBG_io2, "%s: exit\n", __func__); + return status; +} + +SANE_Status sane_control_option(SANE_Handle handle, SANE_Int option, + SANE_Action action, void *val, SANE_Int * info) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + return sane_control_option_impl(handle, option, action, val, info); + }); +} + +SANE_Status sane_get_parameters_impl(SANE_Handle handle, SANE_Parameters* params) +{ + Genesys_Scanner *s = (Genesys_Scanner*) handle; + SANE_Status status = SANE_STATUS_GOOD; + + DBGSTART; + + /* don't recompute parameters once data reading is active, ie during scan */ + if(s->dev->read_active == SANE_FALSE) + { + RIE (calc_parameters (s)); + } + if (params) + { + *params = s->params; + + /* in the case of a sheetfed scanner, when full height is specified + * we override the computed line number with -1 to signal that we + * don't know the real document height. + * We don't do that doing buffering image for digital processing + */ + if (s->dev->model->is_sheetfed == SANE_TRUE + && s->dev->buffer_image == SANE_FALSE + && s->pos_bottom_right_y == s->opt[OPT_BR_Y].constraint.range->max) + { + params->lines = -1; + } + } + + DBGCOMPLETED; + + return SANE_STATUS_GOOD; +} + +SANE_Status sane_get_parameters(SANE_Handle handle, SANE_Parameters* params) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + return sane_get_parameters_impl(handle, params); + }); +} + +SANE_Status sane_start_impl(SANE_Handle handle) +{ + Genesys_Scanner *s = (Genesys_Scanner*) handle; + SANE_Status status=SANE_STATUS_GOOD; + + DBGSTART; + + if (s->pos_top_left_x >= s->pos_bottom_right_x) + { + DBG(DBG_error0, "%s: top left x >= bottom right x --- exiting\n", __func__); + return SANE_STATUS_INVAL; + } + if (s->pos_top_left_y >= s->pos_bottom_right_y) + { + DBG(DBG_error0, "%s: top left y >= bottom right y --- exiting\n", __func__); + return SANE_STATUS_INVAL; + } + + /* First make sure we have a current parameter set. Some of the + parameters will be overwritten below, but that's OK. */ + + RIE (calc_parameters (s)); + RIE(genesys_start_scan(s->dev, s->lamp_off)); + + s->scanning = SANE_TRUE; + + /* allocate intermediate buffer when doing dynamic lineart */ + if(s->dev->settings.dynamic_lineart==SANE_TRUE) + { + s->dev->binarize_buffer.clear(); + s->dev->binarize_buffer.alloc(s->dev->settings.pixels); + s->dev->local_buffer.clear(); + s->dev->local_buffer.alloc(s->dev->binarize_buffer.size() * 8); + } + + /* if one of the software enhancement option is selected, + * we do the scan internally, process picture then put it an internal + * buffer. Since cropping may change scan parameters, we recompute them + * at the end */ + if (s->dev->buffer_image) + { + RIE(genesys_buffer_image(s)); + + /* check if we need to skip this page, sheetfed scanners + * can go to next doc while flatbed ones can't */ + if (s->swskip > 0 && IS_ACTIVE(OPT_SWSKIP)) { + status = sanei_magic_isBlank(&s->params, + s->dev->img_buffer.data(), + SANE_UNFIX(s->swskip)); + if(status == SANE_STATUS_NO_DOCS) + { + if (s->dev->model->is_sheetfed == SANE_TRUE) + { + DBG(DBG_info, "%s: blank page, recurse\n", __func__); + return sane_start(handle); + } + return status; + } + } + + if (s->swdeskew) { + const auto& sensor = sanei_genesys_find_sensor(s->dev, s->dev->settings.xres, + s->dev->settings.scan_method); + RIE(genesys_deskew(s, sensor)); + } + + if (s->swdespeck) { + RIE(genesys_despeck(s)); + } + + if(s->swcrop) { + RIE(genesys_crop(s)); + } + + if(s->swderotate) { + RIE(genesys_derotate(s)); + } + } + + DBGCOMPLETED; + return status; +} + +SANE_Status sane_start(SANE_Handle handle) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + return sane_start_impl(handle); + }); +} + +SANE_Status +sane_read_impl(SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int* len) +{ + Genesys_Scanner *s = (Genesys_Scanner*) handle; + Genesys_Device *dev; + SANE_Status status=SANE_STATUS_GOOD; + size_t local_len; + + if (!s) + { + DBG(DBG_error, "%s: handle is null!\n", __func__); + return SANE_STATUS_INVAL; + } + + dev=s->dev; + if (!dev) + { + DBG(DBG_error, "%s: dev is null!\n", __func__); + return SANE_STATUS_INVAL; + } + + if (!buf) + { + DBG(DBG_error, "%s: buf is null!\n", __func__); + return SANE_STATUS_INVAL; + } + + if (!len) + { + DBG(DBG_error, "%s: len is null!\n", __func__); + return SANE_STATUS_INVAL; + } + + *len = 0; + + if (!s->scanning) + { + DBG(DBG_warn, "%s: scan was cancelled, is over or has not been initiated yet\n", __func__); + return SANE_STATUS_CANCELLED; + } + + DBG(DBG_proc, "%s: start, %d maximum bytes required\n", __func__, max_len); + DBG(DBG_io2, "%s: bytes_to_read=%lu, total_bytes_read=%lu\n", __func__, + (u_long) dev->total_bytes_to_read, (u_long) dev->total_bytes_read); + DBG(DBG_io2, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); + + if(dev->total_bytes_read>=dev->total_bytes_to_read) + { + DBG(DBG_proc, "%s: nothing more to scan: EOF\n", __func__); + + /* issue park command immediatly in case scanner can handle it + * so we save time */ + if (dev->model->is_sheetfed == SANE_FALSE + && !(dev->model->flags & GENESYS_FLAG_MUST_WAIT) + && dev->parking == SANE_FALSE) + { + dev->model->cmd_set->slow_back_home (dev, SANE_FALSE); + dev->parking = SANE_TRUE; + } + return SANE_STATUS_EOF; + } + + local_len = max_len; + + /* in case of image processing, all data has been stored in + * buffer_image. So read data from it if it exists, else from scanner */ + if(!dev->buffer_image) + { + /* dynamic lineart is another kind of digital processing that needs + * another layer of buffering on top of genesys_read_ordered_data */ + if(dev->settings.dynamic_lineart==SANE_TRUE) + { + /* if buffer is empty, fill it with genesys_read_ordered_data */ + if(dev->binarize_buffer.avail() == 0) + { + /* store gray data */ + local_len=dev->local_buffer.size(); + dev->local_buffer.reset(); + status = genesys_read_ordered_data (dev, dev->local_buffer.get_write_pos(local_len), + &local_len); + dev->local_buffer.produce(local_len); + + /* binarize data is read successful */ + if(status==SANE_STATUS_GOOD) + { + dev->binarize_buffer.reset(); + genesys_gray_lineart (dev, + dev->local_buffer.get_read_pos(), + dev->binarize_buffer.get_write_pos(local_len / 8), + dev->settings.pixels, + local_len/dev->settings.pixels, + dev->settings.threshold); + dev->binarize_buffer.produce(local_len / 8); + } + + } + + /* return data from lineart buffer if any, up to the available amount */ + local_len = max_len; + if((size_t)max_len>dev->binarize_buffer.avail()) + { + local_len=dev->binarize_buffer.avail(); + } + if(local_len) + { + memcpy(buf, dev->binarize_buffer.get_read_pos(), local_len); + dev->binarize_buffer.consume(local_len); + } + } + else + { + /* most usual case, direct read of data from scanner */ + status = genesys_read_ordered_data (dev, buf, &local_len); + } + } + else /* read data from buffer */ + { + if(dev->total_bytes_read+local_len>dev->total_bytes_to_read) + { + local_len=dev->total_bytes_to_read-dev->total_bytes_read; + } + memcpy(buf, dev->img_buffer.data() + dev->total_bytes_read, local_len); + dev->total_bytes_read+=local_len; + } + + *len = local_len; + if(local_len>(size_t)max_len) + { + fprintf (stderr, "[genesys] sane_read: returning incorrect length!!\n"); + } + DBG(DBG_proc, "%s: %d bytes returned\n", __func__, *len); + return status; +} + +SANE_Status sane_read(SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int* len) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + return sane_read_impl(handle, buf, max_len, len); + }); +} + +void sane_cancel_impl(SANE_Handle handle) +{ + Genesys_Scanner *s = (Genesys_Scanner*) handle; + SANE_Status status = SANE_STATUS_GOOD; + + DBGSTART; + + /* end binary logging if needed */ + if (s->dev->binary!=NULL) + { + fclose(s->dev->binary); + s->dev->binary=NULL; + } + + s->scanning = SANE_FALSE; + s->dev->read_active = SANE_FALSE; + s->dev->img_buffer.clear(); + + /* no need to end scan if we are parking the head */ + if(s->dev->parking==SANE_FALSE) + { + status = s->dev->model->cmd_set->end_scan(s->dev, &s->dev->reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); + return; + } + } + + /* park head if flatbed scanner */ + if (s->dev->model->is_sheetfed == SANE_FALSE) + { + if(s->dev->parking==SANE_FALSE) + { + status = s->dev->model->cmd_set->slow_back_home (s->dev, s->dev->model->flags & GENESYS_FLAG_MUST_WAIT); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to move scanhead to home position: %s\n", __func__, + sane_strstatus(status)); + return; + } + s->dev->parking = !(s->dev->model->flags & GENESYS_FLAG_MUST_WAIT); + } + } + else + { /* in case of sheetfed scanners, we have to eject the document if still present */ + status = s->dev->model->cmd_set->eject_document (s->dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to eject document: %s\n", __func__, sane_strstatus(status)); + return; + } + } + + /* enable power saving mode unless we are parking .... */ + if(s->dev->parking==SANE_FALSE) + { + status = s->dev->model->cmd_set->save_power (s->dev, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to enable power saving mode: %s\n", __func__, + sane_strstatus(status)); + return; + } + } + + DBGCOMPLETED; + return; +} + +void sane_cancel(SANE_Handle handle) +{ + catch_all_exceptions(__func__, [=]() { sane_cancel_impl(handle); }); +} + +SANE_Status +sane_set_io_mode_impl(SANE_Handle handle, SANE_Bool non_blocking) +{ + Genesys_Scanner *s = (Genesys_Scanner*) handle; + + DBG(DBG_proc, "%s: handle = %p, non_blocking = %s\n", __func__, handle, + non_blocking == SANE_TRUE ? "true" : "false"); + + if (!s->scanning) + { + DBG(DBG_error, "%s: not scanning\n", __func__); + return SANE_STATUS_INVAL; + } + if (non_blocking) + return SANE_STATUS_UNSUPPORTED; + return SANE_STATUS_GOOD; +} + +SANE_Status +sane_set_io_mode(SANE_Handle handle, SANE_Bool non_blocking) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + return sane_set_io_mode_impl(handle, non_blocking); + }); +} + +SANE_Status +sane_get_select_fd_impl(SANE_Handle handle, SANE_Int * fd) +{ + Genesys_Scanner *s = (Genesys_Scanner*) handle; + + DBG(DBG_proc, "%s: handle = %p, fd = %p\n", __func__, handle, (void *) fd); + + if (!s->scanning) + { + DBG(DBG_error, "%s: not scanning\n", __func__); + return SANE_STATUS_INVAL; + } + return SANE_STATUS_UNSUPPORTED; +} + +SANE_Status +sane_get_select_fd(SANE_Handle handle, SANE_Int * fd) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + return sane_get_select_fd_impl(handle, fd); + }); +} + +GenesysButtonName genesys_option_to_button(int option) +{ + switch (option) { + case OPT_SCAN_SW: return BUTTON_SCAN_SW; + case OPT_FILE_SW: return BUTTON_FILE_SW; + case OPT_EMAIL_SW: return BUTTON_EMAIL_SW; + case OPT_COPY_SW: return BUTTON_COPY_SW; + case OPT_PAGE_LOADED_SW: return BUTTON_PAGE_LOADED_SW; + case OPT_OCR_SW: return BUTTON_OCR_SW; + case OPT_POWER_SW: return BUTTON_POWER_SW; + case OPT_EXTRA_SW: return BUTTON_EXTRA_SW; + default: throw std::runtime_error("Unknown option to convert to button index"); + } +} diff --git a/backend/genesys.conf.in b/backend/genesys.conf.in index 5273d51..b1a0861 100644 --- a/backend/genesys.conf.in +++ b/backend/genesys.conf.in @@ -69,6 +69,9 @@ usb 0x04a9 0x190f # Canon 5600f usb 0x04a9 0x1906 +# Canon 8600F +usb 0x04a9 0x2229 + # Visioneer Strobe XP200 usb 0x04a7 0x0426 diff --git a/backend/genesys.h b/backend/genesys.h index eab92bb..47a684c 100644 --- a/backend/genesys.h +++ b/backend/genesys.h @@ -47,7 +47,12 @@ #ifndef GENESYS_H #define GENESYS_H +#ifndef BACKEND_NAME +# define BACKEND_NAME genesys +#endif + #include "genesys_low.h" +#include #ifndef PATH_MAX # define PATH_MAX 1024 @@ -69,8 +74,9 @@ /* Maximum time for lamp warm-up */ #define WARMUP_TIME 65 -#define FLATBED "Flatbed" -#define TRANSPARENCY_ADAPTER "Transparency Adapter" +#define STR_FLATBED "Flatbed" +#define STR_TRANSPARENCY_ADAPTER "Transparency Adapter" +#define STR_TRANSPARENCY_ADAPTER_INFRARED "Transparency Adapter Infrared" #ifndef SANE_I18N #define SANE_I18N(text) text @@ -135,31 +141,110 @@ enum Genesys_Option OPT_BUTTON_GROUP, OPT_CALIBRATE, OPT_CLEAR_CALIBRATION, + OPT_FORCE_CALIBRATION, /* must come last: */ NUM_OPTIONS }; +enum GenesysButtonName : unsigned { + BUTTON_SCAN_SW = 0, + BUTTON_FILE_SW, + BUTTON_EMAIL_SW, + BUTTON_COPY_SW, + BUTTON_PAGE_LOADED_SW, + BUTTON_OCR_SW, + BUTTON_POWER_SW, + BUTTON_EXTRA_SW, + NUM_BUTTONS +}; + +GenesysButtonName genesys_option_to_button(int option); + +class GenesysButton { +public: + void write(bool value) + { + if (value == value_) { + return; + } + values_to_read_.push(value); + value_ = value; + } + + bool read() + { + if (values_to_read_.empty()) { + return value_; + } + bool ret = values_to_read_.front(); + values_to_read_.pop(); + return ret; + } + +private: + bool value_ = false; + std::queue values_to_read_; +}; /** Scanner object. Should have better be called Session than Scanner */ -typedef struct Genesys_Scanner +struct Genesys_Scanner { - struct Genesys_Scanner *next; /**< Next scanner in list */ - Genesys_Device *dev; /**< Low-level device object */ - - /* SANE data */ - SANE_Bool scanning; /**< We are currently scanning */ - SANE_Option_Descriptor opt[NUM_OPTIONS]; /**< Option descriptors */ - Option_Value val[NUM_OPTIONS]; /**< Option values */ - Option_Value last_val[NUM_OPTIONS]; /**< Option values as read by the frontend. used for sensors. */ - SANE_Parameters params; /**< SANE Parameters */ - SANE_Int bpp_list[5]; /**< */ -} Genesys_Scanner; - -#ifdef UNIT_TESTING -SANE_Status genesys_dark_white_shading_calibration (Genesys_Device * dev); -char *calibration_filename(Genesys_Device *currdev); -void add_device(Genesys_Device *dev); -#endif + Genesys_Scanner() = default; + ~Genesys_Scanner() = default; + + // Next scanner in list + struct Genesys_Scanner *next; + + // Low-level device object + Genesys_Device* dev = nullptr; + + // SANE data + // We are currently scanning + SANE_Bool scanning; + // Option descriptors + SANE_Option_Descriptor opt[NUM_OPTIONS]; + + // Option values + SANE_Word bit_depth = 0; + SANE_Word resolution = 0; + bool preview = false; + SANE_Word threshold = 0; + SANE_Word threshold_curve = 0; + bool disable_dynamic_lineart = false; + bool disable_interpolation = false; + bool lamp_off = false; + SANE_Word lamp_off_time = 0; + bool swdeskew = false; + bool swcrop = false; + bool swdespeck = false; + bool swderotate = false; + SANE_Word swskip = 0; + SANE_Word despeck = 0; + SANE_Word contrast = 0; + SANE_Word brightness = 0; + SANE_Word expiration_time = 0; + bool custom_gamma = false; + + SANE_Word pos_top_left_y = 0; + SANE_Word pos_top_left_x = 0; + SANE_Word pos_bottom_right_y = 0; + SANE_Word pos_bottom_right_x = 0; + + std::string mode, source, color_filter; + + std::string calibration_file; + // Button states + GenesysButton buttons[NUM_BUTTONS]; + + // SANE Parameters + SANE_Parameters params = {}; + SANE_Int bpp_list[5] = {}; +}; + +void write_calibration(std::ostream& str, Genesys_Device::Calibration& cache); +bool read_calibration(std::istream& str, Genesys_Device::Calibration& cache, + const std::string& path); + #endif /* not GENESYS_H */ diff --git a/backend/genesys_conv.c b/backend/genesys_conv.c deleted file mode 100644 index 61f466e..0000000 --- a/backend/genesys_conv.c +++ /dev/null @@ -1,478 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2005, 2006 Pierre Willenbrock - Copyright (C) 2010-2013 Stéphane Voltz - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -/* - * Conversion filters for genesys backend - */ - - -/*8 bit*/ -#define SINGLE_BYTE -#define BYTES_PER_COMPONENT 1 -#define COMPONENT_TYPE uint8_t - -#define FUNC_NAME(f) f ## _8 - -#include "genesys_conv_hlp.c" - -#undef FUNC_NAME - -#undef COMPONENT_TYPE -#undef BYTES_PER_COMPONENT -#undef SINGLE_BYTE - -/*16 bit*/ -#define DOUBLE_BYTE -#define BYTES_PER_COMPONENT 2 -#define COMPONENT_TYPE uint16_t - -#define FUNC_NAME(f) f ## _16 - -#include "genesys_conv_hlp.c" - -#undef FUNC_NAME - -#undef COMPONENT_TYPE -#undef BYTES_PER_COMPONENT -#undef DOUBLE_BYTE - -static SANE_Status -genesys_reverse_bits( - uint8_t *src_data, - uint8_t *dst_data, - size_t bytes) -{ - size_t i; - for(i = 0; i < bytes; i++) { - *dst_data++ = ~ *src_data++; - } - return SANE_STATUS_GOOD; -} - -/** - * uses the threshold/threshold_curve to control software binarization - * This code was taken from the epjistsu backend by m. allan noah - * @param dev device set up for the scan - * @param src pointer to raw data - * @param dst pointer where to store result - * @param width width of the processed line - * */ -static SANE_Status -binarize_line(Genesys_Device * dev, uint8_t *src, uint8_t *dst, int width) -{ - int j, windowX, sum = 0; - int thresh; - int offset, addCol, dropCol; - unsigned char mask; - - int x; - uint8_t min, max; - - /* normalize line */ - min = 255; - max = 0; - for (x = 0; x < width; x++) - { - if (src[x] > max) - { - max = src[x]; - } - if (src[x] < min) - { - min = src[x]; - } - } - - /* safeguard against dark or white areas */ - if(min>80) - min=0; - if(max<80) - max=255; - for (x = 0; x < width; x++) - { - src[x] = ((src[x] - min) * 255) / (max - min); - } - - /* ~1mm works best, but the window needs to have odd # of pixels */ - windowX = (6 * dev->settings.xres) / 150; - if (!(windowX % 2)) - windowX++; - - /* second, prefill the sliding sum */ - for (j = 0; j < windowX; j++) - sum += src[j]; - - /* third, walk the input buffer, update the sliding sum, */ - /* determine threshold, output bits */ - for (j = 0; j < width; j++) - { - /* output image location */ - offset = j % 8; - mask = 0x80 >> offset; - thresh = dev->settings.threshold; - - /* move sum/update threshold only if there is a curve */ - if (dev->settings.threshold_curve) - { - addCol = j + windowX / 2; - dropCol = addCol - windowX; - - if (dropCol >= 0 && addCol < width) - { - sum -= src[dropCol]; - sum += src[addCol]; - } - thresh = dev->lineart_lut[sum / windowX]; - } - - /* use average to lookup threshold */ - if (src[j] > thresh) - *dst &= ~mask; /* white */ - else - *dst |= mask; /* black */ - - if (offset == 7) - dst++; - } - - return SANE_STATUS_GOOD; -} - -/** - * software lineart using data from a 8 bit gray scan. We assume true gray - * or monochrome scan as input. - */ -static SANE_Status -genesys_gray_lineart( - Genesys_Device *dev, - uint8_t *src_data, - uint8_t *dst_data, - size_t pixels, - size_t lines, - uint8_t threshold) -{ - size_t y; - - DBG (DBG_io2, "genesys_gray_lineart: converting %lu lines of %lu pixels\n", - (unsigned long)lines, (unsigned long)pixels); - DBG (DBG_io2, "genesys_gray_lineart: threshold=%d\n",threshold); - - for (y = 0; y < lines; y++) - { - binarize_line (dev, src_data + y * pixels, dst_data, pixels); - dst_data += pixels / 8; - } - return SANE_STATUS_GOOD; -} - -/** @brief shrink or grow scanned data to fit the final scan size - * This function shrinks the scanned data it the required resolution is lower than the hardware one, - * or grows it in case it is the opposite like when motor resolution is higher than - * sensor's one. - */ -static SANE_Status -genesys_shrink_lines_1 ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int src_pixels, - unsigned int dst_pixels, - unsigned int channels) -{ - unsigned int dst_x, src_x, y, c, cnt; - unsigned int avg[3], val; - uint8_t *src = (uint8_t *) src_data; - uint8_t *dst = (uint8_t *) dst_data; - - /* choose between case where me must reduce or grow the scanned data */ - if (src_pixels > dst_pixels) - { - /* shrink data */ - /* TODO action must be taken at bit level, no bytes */ - src_pixels /= 8; - dst_pixels /= 8; - /*take first _byte_ */ - for (y = 0; y < lines; y++) - { - cnt = src_pixels / 2; - src_x = 0; - for (dst_x = 0; dst_x < dst_pixels; dst_x++) - { - while (cnt < src_pixels && src_x < src_pixels) - { - cnt += dst_pixels; - - for (c = 0; c < channels; c++) - avg[c] = *src++; - src_x++; - } - cnt -= src_pixels; - - for (c = 0; c < channels; c++) - *dst++ = avg[c]; - } - } - } - else - { - /* common case where y res is double x res */ - for (y = 0; y < lines; y++) - { - if (2 * src_pixels == dst_pixels) - { - /* double and interleave on line */ - for (c = 0; c < src_pixels/8; c++) - { - /* first 4 bits */ - val = 0; - val |= (*src & 0x80) >> 0; /* X___ ____ --> X___ ____ */ - val |= (*src & 0x80) >> 1; /* X___ ____ --> _X__ ____ */ - val |= (*src & 0x40) >> 1; /* _X__ ____ --> __X_ ____ */ - val |= (*src & 0x40) >> 2; /* _X__ ____ --> ___X ____ */ - val |= (*src & 0x20) >> 2; /* __X_ ____ --> ____ X___ */ - val |= (*src & 0x20) >> 3; /* __X_ ____ --> ____ _X__ */ - val |= (*src & 0x10) >> 3; /* ___X ____ --> ____ __X_ */ - val |= (*src & 0x10) >> 4; /* ___X ____ --> ____ ___X */ - *dst = val; - dst++; - - /* last for bits */ - val = 0; - val |= (*src & 0x08) << 4; /* ____ X___ --> X___ ____ */ - val |= (*src & 0x08) << 3; /* ____ X___ --> _X__ ____ */ - val |= (*src & 0x04) << 3; /* ____ _X__ --> __X_ ____ */ - val |= (*src & 0x04) << 2; /* ____ _X__ --> ___X ____ */ - val |= (*src & 0x02) << 2; /* ____ __X_ --> ____ X___ */ - val |= (*src & 0x02) << 1; /* ____ __X_ --> ____ _X__ */ - val |= (*src & 0x01) << 1; /* ____ ___X --> ____ __X_ */ - val |= (*src & 0x01) << 0; /* ____ ___X --> ____ ___X */ - *dst = val; - dst++; - src++; - } - } - else - { - /* TODO: since depth is 1, we must interpolate bit within bytes */ - DBG (DBG_warn, "%s: inaccurate bit expansion!\n", __func__); - cnt = dst_pixels / 2; - dst_x = 0; - for (src_x = 0; src_x < src_pixels; src_x++) - { - for (c = 0; c < channels; c++) - avg[c] = *src++; - while (cnt < dst_pixels && dst_x < dst_pixels) - { - cnt += src_pixels; - for (c = 0; c < channels; c++) - *dst++ = avg[c]; - dst_x++; - } - cnt -= dst_pixels; - } - } - } - } - - return SANE_STATUS_GOOD; -} - - -/** Look in image for likely left/right/bottom paper edges, then crop image. - * Since failing to crop isn't fatal, we always return SANE_STATUS_GOOD . - */ -static SANE_Status -genesys_crop(Genesys_Scanner *s) -{ - SANE_Status status; - Genesys_Device *dev = s->dev; - int top = 0; - int bottom = 0; - int left = 0; - int right = 0; - - DBG (DBG_proc, "%s: start\n", __func__); - - /* first find edges if any */ - status = sanei_magic_findEdges (&s->params, - dev->img_buffer, - dev->settings.xres, - dev->settings.yres, - &top, - &bottom, - &left, - &right); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_info, "%s: bad or no edges, bailing\n", __func__); - goto cleanup; - } - DBG (DBG_io, "%s: t:%d b:%d l:%d r:%d\n", __func__, top, bottom, left, - right); - - /* now crop the image */ - status = - sanei_magic_crop (&(s->params), dev->img_buffer, top, bottom, left, right); - if (status) - { - DBG (DBG_warn, "%s: failed to crop\n", __func__); - goto cleanup; - } - - /* update counters to new image size */ - dev->total_bytes_to_read = s->params.bytes_per_line * s->params.lines; - -cleanup: - DBG (DBG_proc, "%s: completed\n", __func__); - return SANE_STATUS_GOOD; -} - -/** Look in image for likely upper and left paper edges, then rotate - * image so that upper left corner of paper is upper left of image. - * @return since failure doens't prevent scanning, we always return - * SANE_STATUS_GOOD - */ -static SANE_Status -genesys_deskew(Genesys_Scanner *s) -{ - SANE_Status status; - Genesys_Device *dev = s->dev; - - int x = 0, y = 0, bg; - double slope = 0; - - DBG (DBG_proc, "%s: start\n", __func__); - - bg=0; - if(s->params.format==SANE_FRAME_GRAY && s->params.depth == 1) - { - bg=0xff; - } - status = sanei_magic_findSkew (&s->params, - dev->img_buffer, - dev->sensor.optical_res, - dev->sensor.optical_res, - &x, - &y, - &slope); - if (status!=SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: bad findSkew, bailing\n", __func__); - return SANE_STATUS_GOOD; - } - DBG(DBG_info, "%s: slope=%f => %f\n",__func__,slope, (slope/M_PI_2)*90); - /* rotate image slope is in [-PI/2,PI/2] - * positive values rotate trigonometric direction wise */ - status = sanei_magic_rotate (&s->params, - dev->img_buffer, - x, - y, - slope, - bg); - if (status!=SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: rotate error: %s", __func__, sane_strstatus(status)); - } - - DBG (DBG_proc, "%s: completed\n", __func__); - return SANE_STATUS_GOOD; -} - -/** remove lone dots - * @return since failure doens't prevent scanning, we always return - * SANE_STATUS_GOOD - */ -static SANE_Status -genesys_despeck(Genesys_Scanner *s) -{ - if(sanei_magic_despeck(&s->params, - s->dev->img_buffer, - s->val[OPT_DESPECK].w)!=SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: bad despeck, bailing\n",__func__); - } - - return SANE_STATUS_GOOD; -} - -/** Look if image needs rotation and apply it - * */ -static SANE_Status -genesys_derotate (Genesys_Scanner * s) -{ - SANE_Status status; - int angle = 0; - int resolution = s->val[OPT_RESOLUTION].w; - - DBGSTART; - status = sanei_magic_findTurn (&s->params, - s->dev->img_buffer, - resolution, - resolution, - &angle); - - if (status) - { - DBG (DBG_warn, "%s: failed : %d\n", __func__, status); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* apply rotation angle found */ - status = sanei_magic_turn (&s->params, s->dev->img_buffer, angle); - if (status) - { - DBG (DBG_warn, "%s: failed : %d\n", __func__, status); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* update counters to new image size */ - s->dev->total_bytes_to_read = s->params.bytes_per_line * s->params.lines; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/genesys_conv.cc b/backend/genesys_conv.cc new file mode 100644 index 0000000..06fd4e0 --- /dev/null +++ b/backend/genesys_conv.cc @@ -0,0 +1,474 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2005, 2006 Pierre Willenbrock + Copyright (C) 2010-2013 Stéphane Voltz + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +/* + * Conversion filters for genesys backend + */ + + +/*8 bit*/ +#define SINGLE_BYTE +#define BYTES_PER_COMPONENT 1 +#define COMPONENT_TYPE uint8_t + +#define FUNC_NAME(f) f ## _8 + +#include "genesys_conv_hlp.cc" + +#undef FUNC_NAME + +#undef COMPONENT_TYPE +#undef BYTES_PER_COMPONENT +#undef SINGLE_BYTE + +/*16 bit*/ +#define DOUBLE_BYTE +#define BYTES_PER_COMPONENT 2 +#define COMPONENT_TYPE uint16_t + +#define FUNC_NAME(f) f ## _16 + +#include "genesys_conv_hlp.cc" + +#undef FUNC_NAME + +#undef COMPONENT_TYPE +#undef BYTES_PER_COMPONENT +#undef DOUBLE_BYTE + +static SANE_Status +genesys_reverse_bits( + uint8_t *src_data, + uint8_t *dst_data, + size_t bytes) +{ + size_t i; + for(i = 0; i < bytes; i++) { + *dst_data++ = ~ *src_data++; + } + return SANE_STATUS_GOOD; +} + +/** + * uses the threshold/threshold_curve to control software binarization + * This code was taken from the epjistsu backend by m. allan noah + * @param dev device set up for the scan + * @param src pointer to raw data + * @param dst pointer where to store result + * @param width width of the processed line + * */ +static SANE_Status +binarize_line(Genesys_Device * dev, uint8_t *src, uint8_t *dst, int width) +{ + int j, windowX, sum = 0; + int thresh; + int offset, addCol, dropCol; + unsigned char mask; + + int x; + uint8_t min, max; + + /* normalize line */ + min = 255; + max = 0; + for (x = 0; x < width; x++) + { + if (src[x] > max) + { + max = src[x]; + } + if (src[x] < min) + { + min = src[x]; + } + } + + /* safeguard against dark or white areas */ + if(min>80) + min=0; + if(max<80) + max=255; + for (x = 0; x < width; x++) + { + src[x] = ((src[x] - min) * 255) / (max - min); + } + + /* ~1mm works best, but the window needs to have odd # of pixels */ + windowX = (6 * dev->settings.xres) / 150; + if (!(windowX % 2)) + windowX++; + + /* second, prefill the sliding sum */ + for (j = 0; j < windowX; j++) + sum += src[j]; + + /* third, walk the input buffer, update the sliding sum, */ + /* determine threshold, output bits */ + for (j = 0; j < width; j++) + { + /* output image location */ + offset = j % 8; + mask = 0x80 >> offset; + thresh = dev->settings.threshold; + + /* move sum/update threshold only if there is a curve */ + if (dev->settings.threshold_curve) + { + addCol = j + windowX / 2; + dropCol = addCol - windowX; + + if (dropCol >= 0 && addCol < width) + { + sum -= src[dropCol]; + sum += src[addCol]; + } + thresh = dev->lineart_lut[sum / windowX]; + } + + /* use average to lookup threshold */ + if (src[j] > thresh) + *dst &= ~mask; /* white */ + else + *dst |= mask; /* black */ + + if (offset == 7) + dst++; + } + + return SANE_STATUS_GOOD; +} + +/** + * software lineart using data from a 8 bit gray scan. We assume true gray + * or monochrome scan as input. + */ +static SANE_Status +genesys_gray_lineart( + Genesys_Device *dev, + uint8_t *src_data, + uint8_t *dst_data, + size_t pixels, + size_t lines, + uint8_t threshold) +{ + size_t y; + + DBG(DBG_io2, "%s: converting %lu lines of %lu pixels\n", __func__, (unsigned long)lines, + (unsigned long)pixels); + DBG(DBG_io2, "%s: threshold=%d\n", __func__, threshold); + + for (y = 0; y < lines; y++) + { + binarize_line (dev, src_data + y * pixels, dst_data, pixels); + dst_data += pixels / 8; + } + return SANE_STATUS_GOOD; +} + +/** @brief shrink or grow scanned data to fit the final scan size + * This function shrinks the scanned data it the required resolution is lower than the hardware one, + * or grows it in case it is the opposite like when motor resolution is higher than + * sensor's one. + */ +static SANE_Status +genesys_shrink_lines_1 ( + uint8_t *src_data, + uint8_t *dst_data, + unsigned int lines, + unsigned int src_pixels, + unsigned int dst_pixels, + unsigned int channels) +{ + unsigned int dst_x, src_x, y, c, cnt; + unsigned int avg[3], val; + uint8_t *src = (uint8_t *) src_data; + uint8_t *dst = (uint8_t *) dst_data; + + /* choose between case where me must reduce or grow the scanned data */ + if (src_pixels > dst_pixels) + { + /* shrink data */ + /* TODO action must be taken at bit level, no bytes */ + src_pixels /= 8; + dst_pixels /= 8; + /*take first _byte_ */ + for (y = 0; y < lines; y++) + { + cnt = src_pixels / 2; + src_x = 0; + for (dst_x = 0; dst_x < dst_pixels; dst_x++) + { + while (cnt < src_pixels && src_x < src_pixels) + { + cnt += dst_pixels; + + for (c = 0; c < channels; c++) + avg[c] = *src++; + src_x++; + } + cnt -= src_pixels; + + for (c = 0; c < channels; c++) + *dst++ = avg[c]; + } + } + } + else + { + /* common case where y res is double x res */ + for (y = 0; y < lines; y++) + { + if (2 * src_pixels == dst_pixels) + { + /* double and interleave on line */ + for (c = 0; c < src_pixels/8; c++) + { + /* first 4 bits */ + val = 0; + val |= (*src & 0x80) >> 0; /* X___ ____ --> X___ ____ */ + val |= (*src & 0x80) >> 1; /* X___ ____ --> _X__ ____ */ + val |= (*src & 0x40) >> 1; /* _X__ ____ --> __X_ ____ */ + val |= (*src & 0x40) >> 2; /* _X__ ____ --> ___X ____ */ + val |= (*src & 0x20) >> 2; /* __X_ ____ --> ____ X___ */ + val |= (*src & 0x20) >> 3; /* __X_ ____ --> ____ _X__ */ + val |= (*src & 0x10) >> 3; /* ___X ____ --> ____ __X_ */ + val |= (*src & 0x10) >> 4; /* ___X ____ --> ____ ___X */ + *dst = val; + dst++; + + /* last for bits */ + val = 0; + val |= (*src & 0x08) << 4; /* ____ X___ --> X___ ____ */ + val |= (*src & 0x08) << 3; /* ____ X___ --> _X__ ____ */ + val |= (*src & 0x04) << 3; /* ____ _X__ --> __X_ ____ */ + val |= (*src & 0x04) << 2; /* ____ _X__ --> ___X ____ */ + val |= (*src & 0x02) << 2; /* ____ __X_ --> ____ X___ */ + val |= (*src & 0x02) << 1; /* ____ __X_ --> ____ _X__ */ + val |= (*src & 0x01) << 1; /* ____ ___X --> ____ __X_ */ + val |= (*src & 0x01) << 0; /* ____ ___X --> ____ ___X */ + *dst = val; + dst++; + src++; + } + } + else + { + /* TODO: since depth is 1, we must interpolate bit within bytes */ + DBG (DBG_warn, "%s: inaccurate bit expansion!\n", __func__); + cnt = dst_pixels / 2; + dst_x = 0; + for (src_x = 0; src_x < src_pixels; src_x++) + { + for (c = 0; c < channels; c++) + avg[c] = *src++; + while (cnt < dst_pixels && dst_x < dst_pixels) + { + cnt += src_pixels; + for (c = 0; c < channels; c++) + *dst++ = avg[c]; + dst_x++; + } + cnt -= dst_pixels; + } + } + } + } + + return SANE_STATUS_GOOD; +} + + +/** Look in image for likely left/right/bottom paper edges, then crop image. + * Since failing to crop isn't fatal, we always return SANE_STATUS_GOOD . + */ +static SANE_Status +genesys_crop(Genesys_Scanner *s) +{ + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Device *dev = s->dev; + int top = 0; + int bottom = 0; + int left = 0; + int right = 0; + + DBG (DBG_proc, "%s: start\n", __func__); + + /* first find edges if any */ + status = sanei_magic_findEdges (&s->params, + dev->img_buffer.data(), + dev->settings.xres, + dev->settings.yres, + &top, + &bottom, + &left, + &right); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_info, "%s: bad or no edges, bailing\n", __func__); + return SANE_STATUS_GOOD; + } + DBG (DBG_io, "%s: t:%d b:%d l:%d r:%d\n", __func__, top, bottom, left, + right); + + /* now crop the image */ + status = + sanei_magic_crop (&(s->params), dev->img_buffer.data(), top, bottom, left, right); + if (status) + { + DBG (DBG_warn, "%s: failed to crop\n", __func__); + return SANE_STATUS_GOOD; + } + + /* update counters to new image size */ + dev->total_bytes_to_read = s->params.bytes_per_line * s->params.lines; + + DBG (DBG_proc, "%s: completed\n", __func__); + return SANE_STATUS_GOOD; +} + +/** Look in image for likely upper and left paper edges, then rotate + * image so that upper left corner of paper is upper left of image. + * @return since failure doens't prevent scanning, we always return + * SANE_STATUS_GOOD + */ +static SANE_Status +genesys_deskew(Genesys_Scanner *s, const Genesys_Sensor& sensor) +{ + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Device *dev = s->dev; + + int x = 0, y = 0, bg; + double slope = 0; + + DBG (DBG_proc, "%s: start\n", __func__); + + bg=0; + if(s->params.format==SANE_FRAME_GRAY && s->params.depth == 1) + { + bg=0xff; + } + status = sanei_magic_findSkew (&s->params, + dev->img_buffer.data(), + sensor.optical_res, + sensor.optical_res, + &x, + &y, + &slope); + if (status!=SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: bad findSkew, bailing\n", __func__); + return SANE_STATUS_GOOD; + } + DBG(DBG_info, "%s: slope=%f => %f\n",__func__,slope, (slope/M_PI_2)*90); + /* rotate image slope is in [-PI/2,PI/2] + * positive values rotate trigonometric direction wise */ + status = sanei_magic_rotate (&s->params, + dev->img_buffer.data(), + x, + y, + slope, + bg); + if (status!=SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: rotate error: %s", __func__, sane_strstatus(status)); + } + + DBG (DBG_proc, "%s: completed\n", __func__); + return SANE_STATUS_GOOD; +} + +/** remove lone dots + * @return since failure doens't prevent scanning, we always return + * SANE_STATUS_GOOD + */ +static SANE_Status +genesys_despeck(Genesys_Scanner *s) +{ + if(sanei_magic_despeck(&s->params, + s->dev->img_buffer.data(), + s->despeck)!=SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: bad despeck, bailing\n",__func__); + } + + return SANE_STATUS_GOOD; +} + +/** Look if image needs rotation and apply it + * */ +static SANE_Status +genesys_derotate (Genesys_Scanner * s) +{ + SANE_Status status = SANE_STATUS_GOOD; + int angle = 0; + + DBGSTART; + status = sanei_magic_findTurn (&s->params, + s->dev->img_buffer.data(), + s->resolution, + s->resolution, + &angle); + + if (status) + { + DBG (DBG_warn, "%s: failed : %d\n", __func__, status); + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + /* apply rotation angle found */ + status = sanei_magic_turn (&s->params, s->dev->img_buffer.data(), angle); + if (status) + { + DBG (DBG_warn, "%s: failed : %d\n", __func__, status); + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + /* update counters to new image size */ + s->dev->total_bytes_to_read = s->params.bytes_per_line * s->params.lines; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} diff --git a/backend/genesys_conv_hlp.c b/backend/genesys_conv_hlp.c deleted file mode 100644 index 7663a87..0000000 --- a/backend/genesys_conv_hlp.c +++ /dev/null @@ -1,345 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2005 Pierre Willenbrock - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -/* - * Conversion filters for genesys backend - */ - -static SANE_Status -FUNC_NAME(genesys_reorder_components_cis) ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int pixels) -{ - unsigned int x, y; - uint8_t *src[3]; - uint8_t *dst = dst_data; - unsigned int rest = pixels * 2 * BYTES_PER_COMPONENT; - - src[0] = src_data + pixels * BYTES_PER_COMPONENT * 0; - src[1] = src_data + pixels * BYTES_PER_COMPONENT * 1; - src[2] = src_data + pixels * BYTES_PER_COMPONENT * 2; - - for(y = 0; y < lines; y++) { - for(x = 0; x < pixels; x++) { - -#ifndef DOUBLE_BYTE - *dst++ = *src[0]++; - *dst++ = *src[1]++; - *dst++ = *src[2]++; -#else -# ifndef WORDS_BIGENDIAN - *dst++ = *src[0]++; - *dst++ = *src[0]++; - *dst++ = *src[1]++; - *dst++ = *src[1]++; - *dst++ = *src[2]++; - *dst++ = *src[2]++; -# else - *dst++ = src[0][1]; - *dst++ = src[0][0]; - *dst++ = src[1][1]; - *dst++ = src[1][0]; - *dst++ = src[2][1]; - *dst++ = src[2][0]; - src[0] += 2; - src[1] += 2; - src[2] += 2; -# endif -#endif - } - - src[0] += rest; - src[1] += rest; - src[2] += rest; - } - return SANE_STATUS_GOOD; -} - -static SANE_Status -FUNC_NAME(genesys_reorder_components_cis_bgr) ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int pixels) -{ - unsigned int x, y; - uint8_t *src[3]; - uint8_t *dst = dst_data; - unsigned int rest = pixels * 2 * BYTES_PER_COMPONENT; - - src[0] = src_data + pixels * BYTES_PER_COMPONENT * 0; - src[1] = src_data + pixels * BYTES_PER_COMPONENT * 1; - src[2] = src_data + pixels * BYTES_PER_COMPONENT * 2; - - for(y = 0; y < lines; y++) { - for(x = 0; x < pixels; x++) { -#ifndef DOUBLE_BYTE - *dst++ = *src[2]++; - *dst++ = *src[1]++; - *dst++ = *src[0]++; -#else -# ifndef WORDS_BIGENDIAN - *dst++ = *src[2]++; - *dst++ = *src[2]++; - *dst++ = *src[1]++; - *dst++ = *src[1]++; - *dst++ = *src[0]++; - *dst++ = *src[0]++; -# else - *dst++ = src[2][1]; - *dst++ = src[2][0]; - *dst++ = src[1][1]; - *dst++ = src[1][0]; - *dst++ = src[0][1]; - *dst++ = src[0][0]; - src[0] += 2; - src[1] += 2; - src[2] += 2; -# endif -#endif - } - - src[0] += rest; - src[1] += rest; - src[2] += rest; - } - return SANE_STATUS_GOOD; -} - -static SANE_Status -FUNC_NAME(genesys_reorder_components_bgr) ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int pixels) -{ - unsigned int c; - uint8_t *src = src_data; - uint8_t *dst = dst_data; - - for(c = 0; c < lines * pixels; c++) { - -#ifndef DOUBLE_BYTE - *dst++ = src[2]; - *dst++ = src[1]; - *dst++ = src[0]; - src += 3; -#else -# ifndef WORDS_BIGENDIAN - *dst++ = src[2 * 2 + 0]; - *dst++ = src[2 * 2 + 1]; - *dst++ = src[1 * 2 + 0]; - *dst++ = src[1 * 2 + 1]; - *dst++ = src[0 * 2 + 0]; - *dst++ = src[0 * 2 + 1]; -# else - *dst++ = src[2 * 2 + 1]; - *dst++ = src[2 * 2 + 0]; - *dst++ = src[1 * 2 + 1]; - *dst++ = src[1 * 2 + 0]; - *dst++ = src[0 * 2 + 1]; - *dst++ = src[0 * 2 + 0]; -# endif - src += 3 * 2; -#endif - - } - return SANE_STATUS_GOOD; -} - -#if defined(DOUBLE_BYTE) && defined(WORDS_BIGENDIAN) -static SANE_Status -FUNC_NAME(genesys_reorder_components_endian) ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int pixels, - unsigned int channels) -{ - unsigned int c; - uint8_t *src = src_data; - uint8_t *dst = dst_data; - - for(c = 0; c < lines * pixels * channels; c++) { - *dst++ = src[1]; - *dst++ = src[0]; - src += 2; - } -return SANE_STATUS_GOOD; -} -#endif /*defined(DOUBLE_BYTE) && defined(WORDS_BIGENDIAN)*/ - - -static SANE_Status -FUNC_NAME(genesys_reverse_ccd) ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int components_per_line, - unsigned int *ccd_shift, - unsigned int component_count) -{ - unsigned int x, y, c; - COMPONENT_TYPE *src = (COMPONENT_TYPE *)src_data; - COMPONENT_TYPE *dst = (COMPONENT_TYPE *)dst_data; - COMPONENT_TYPE *srcp; - COMPONENT_TYPE *dstp; - unsigned int pitch = components_per_line; - unsigned int ccd_shift_pitch[12]; - unsigned int *csp; - - for (c = 0; c < component_count; c++) - ccd_shift_pitch[c] = ccd_shift[c] * pitch; - -/* - * cache efficiency: - we are processing a single line component_count times, so it should fit - into the cpu cache for maximum efficiency. our lines take - maximum 252kb(3 channels, 16bit, 2400dpi, full gl841 shading range) - * instruction efficiency: - the innermost loop runs long and consists of 3 adds, one compare, - 2 derefences. - */ -/* - for (y = 0; y < lines; y++) { - csp = ccd_shift_pitch; - for (c = 0; c < component_count; c++) { - srcp = src + c + *csp++; - dstp = dst + c; - for (x = 0; x < pitch; x += component_count) { - *dstp = *srcp; - srcp += component_count; - dstp += component_count; - } - } - dst += pitch; - src += pitch; - } - */ -/* - * cache efficency: - here only line_dist_pitch needs to stay in cache. 12*4 = 48 bytes - * instruction efficiency: - we have a short running inner loop, consisting of 4 incs, 2 compare, 1 add, - 2 dereference and 1 indexed dereference. - the enclosing loop is long running, consisting of 1 add, 1 compare. - */ - srcp = src; - dstp = dst; - for (y = 0; y < lines; y++) { - for (x = 0; x < pitch; x += component_count) { - csp = ccd_shift_pitch; - for (c = 0; c < component_count && c + x < pitch; c++) { - *dstp = srcp[*csp++]; - dstp++; - srcp++; - } - } - } - return SANE_STATUS_GOOD; -} - -static SANE_Status -FUNC_NAME(genesys_shrink_lines) ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int src_pixels, - unsigned int dst_pixels, - unsigned int channels) -{ - unsigned int dst_x, src_x, y, c, cnt; - unsigned int avg[3]; - unsigned int count; - COMPONENT_TYPE *src = (COMPONENT_TYPE *)src_data; - COMPONENT_TYPE *dst = (COMPONENT_TYPE *)dst_data; - - if (src_pixels > dst_pixels) { -/*average*/ - for (c = 0; c < channels; c++) - avg[c] = 0; - for(y = 0; y < lines; y++) { - cnt = src_pixels / 2; - src_x = 0; - for (dst_x = 0; dst_x < dst_pixels; dst_x++) { - count = 0; - while (cnt < src_pixels && src_x < src_pixels) { - cnt += dst_pixels; - - for (c = 0; c < channels; c++) - avg[c] += *src++; - src_x++; - count++; - } - cnt -= src_pixels; - - for (c = 0; c < channels; c++) { - *dst++ = avg[c] / count; - avg[c] = 0; - } - } - } - } else { -/*interpolate. copy pixels*/ - for(y = 0; y < lines; y++) { - cnt = dst_pixels / 2; - dst_x = 0; - for (src_x = 0; src_x < src_pixels; src_x++) { - for (c = 0; c < channels; c++) - avg[c] = *src++; - while ((cnt < dst_pixels || src_x + 1 == src_pixels) && - dst_x < dst_pixels) { - cnt += src_pixels; - - for (c = 0; c < channels; c++) - *dst++ = avg[c]; - dst_x++; - } - cnt -= dst_pixels; - } - } - } - return SANE_STATUS_GOOD; -} diff --git a/backend/genesys_conv_hlp.cc b/backend/genesys_conv_hlp.cc new file mode 100644 index 0000000..7663a87 --- /dev/null +++ b/backend/genesys_conv_hlp.cc @@ -0,0 +1,345 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2005 Pierre Willenbrock + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +/* + * Conversion filters for genesys backend + */ + +static SANE_Status +FUNC_NAME(genesys_reorder_components_cis) ( + uint8_t *src_data, + uint8_t *dst_data, + unsigned int lines, + unsigned int pixels) +{ + unsigned int x, y; + uint8_t *src[3]; + uint8_t *dst = dst_data; + unsigned int rest = pixels * 2 * BYTES_PER_COMPONENT; + + src[0] = src_data + pixels * BYTES_PER_COMPONENT * 0; + src[1] = src_data + pixels * BYTES_PER_COMPONENT * 1; + src[2] = src_data + pixels * BYTES_PER_COMPONENT * 2; + + for(y = 0; y < lines; y++) { + for(x = 0; x < pixels; x++) { + +#ifndef DOUBLE_BYTE + *dst++ = *src[0]++; + *dst++ = *src[1]++; + *dst++ = *src[2]++; +#else +# ifndef WORDS_BIGENDIAN + *dst++ = *src[0]++; + *dst++ = *src[0]++; + *dst++ = *src[1]++; + *dst++ = *src[1]++; + *dst++ = *src[2]++; + *dst++ = *src[2]++; +# else + *dst++ = src[0][1]; + *dst++ = src[0][0]; + *dst++ = src[1][1]; + *dst++ = src[1][0]; + *dst++ = src[2][1]; + *dst++ = src[2][0]; + src[0] += 2; + src[1] += 2; + src[2] += 2; +# endif +#endif + } + + src[0] += rest; + src[1] += rest; + src[2] += rest; + } + return SANE_STATUS_GOOD; +} + +static SANE_Status +FUNC_NAME(genesys_reorder_components_cis_bgr) ( + uint8_t *src_data, + uint8_t *dst_data, + unsigned int lines, + unsigned int pixels) +{ + unsigned int x, y; + uint8_t *src[3]; + uint8_t *dst = dst_data; + unsigned int rest = pixels * 2 * BYTES_PER_COMPONENT; + + src[0] = src_data + pixels * BYTES_PER_COMPONENT * 0; + src[1] = src_data + pixels * BYTES_PER_COMPONENT * 1; + src[2] = src_data + pixels * BYTES_PER_COMPONENT * 2; + + for(y = 0; y < lines; y++) { + for(x = 0; x < pixels; x++) { +#ifndef DOUBLE_BYTE + *dst++ = *src[2]++; + *dst++ = *src[1]++; + *dst++ = *src[0]++; +#else +# ifndef WORDS_BIGENDIAN + *dst++ = *src[2]++; + *dst++ = *src[2]++; + *dst++ = *src[1]++; + *dst++ = *src[1]++; + *dst++ = *src[0]++; + *dst++ = *src[0]++; +# else + *dst++ = src[2][1]; + *dst++ = src[2][0]; + *dst++ = src[1][1]; + *dst++ = src[1][0]; + *dst++ = src[0][1]; + *dst++ = src[0][0]; + src[0] += 2; + src[1] += 2; + src[2] += 2; +# endif +#endif + } + + src[0] += rest; + src[1] += rest; + src[2] += rest; + } + return SANE_STATUS_GOOD; +} + +static SANE_Status +FUNC_NAME(genesys_reorder_components_bgr) ( + uint8_t *src_data, + uint8_t *dst_data, + unsigned int lines, + unsigned int pixels) +{ + unsigned int c; + uint8_t *src = src_data; + uint8_t *dst = dst_data; + + for(c = 0; c < lines * pixels; c++) { + +#ifndef DOUBLE_BYTE + *dst++ = src[2]; + *dst++ = src[1]; + *dst++ = src[0]; + src += 3; +#else +# ifndef WORDS_BIGENDIAN + *dst++ = src[2 * 2 + 0]; + *dst++ = src[2 * 2 + 1]; + *dst++ = src[1 * 2 + 0]; + *dst++ = src[1 * 2 + 1]; + *dst++ = src[0 * 2 + 0]; + *dst++ = src[0 * 2 + 1]; +# else + *dst++ = src[2 * 2 + 1]; + *dst++ = src[2 * 2 + 0]; + *dst++ = src[1 * 2 + 1]; + *dst++ = src[1 * 2 + 0]; + *dst++ = src[0 * 2 + 1]; + *dst++ = src[0 * 2 + 0]; +# endif + src += 3 * 2; +#endif + + } + return SANE_STATUS_GOOD; +} + +#if defined(DOUBLE_BYTE) && defined(WORDS_BIGENDIAN) +static SANE_Status +FUNC_NAME(genesys_reorder_components_endian) ( + uint8_t *src_data, + uint8_t *dst_data, + unsigned int lines, + unsigned int pixels, + unsigned int channels) +{ + unsigned int c; + uint8_t *src = src_data; + uint8_t *dst = dst_data; + + for(c = 0; c < lines * pixels * channels; c++) { + *dst++ = src[1]; + *dst++ = src[0]; + src += 2; + } +return SANE_STATUS_GOOD; +} +#endif /*defined(DOUBLE_BYTE) && defined(WORDS_BIGENDIAN)*/ + + +static SANE_Status +FUNC_NAME(genesys_reverse_ccd) ( + uint8_t *src_data, + uint8_t *dst_data, + unsigned int lines, + unsigned int components_per_line, + unsigned int *ccd_shift, + unsigned int component_count) +{ + unsigned int x, y, c; + COMPONENT_TYPE *src = (COMPONENT_TYPE *)src_data; + COMPONENT_TYPE *dst = (COMPONENT_TYPE *)dst_data; + COMPONENT_TYPE *srcp; + COMPONENT_TYPE *dstp; + unsigned int pitch = components_per_line; + unsigned int ccd_shift_pitch[12]; + unsigned int *csp; + + for (c = 0; c < component_count; c++) + ccd_shift_pitch[c] = ccd_shift[c] * pitch; + +/* + * cache efficiency: + we are processing a single line component_count times, so it should fit + into the cpu cache for maximum efficiency. our lines take + maximum 252kb(3 channels, 16bit, 2400dpi, full gl841 shading range) + * instruction efficiency: + the innermost loop runs long and consists of 3 adds, one compare, + 2 derefences. + */ +/* + for (y = 0; y < lines; y++) { + csp = ccd_shift_pitch; + for (c = 0; c < component_count; c++) { + srcp = src + c + *csp++; + dstp = dst + c; + for (x = 0; x < pitch; x += component_count) { + *dstp = *srcp; + srcp += component_count; + dstp += component_count; + } + } + dst += pitch; + src += pitch; + } + */ +/* + * cache efficency: + here only line_dist_pitch needs to stay in cache. 12*4 = 48 bytes + * instruction efficiency: + we have a short running inner loop, consisting of 4 incs, 2 compare, 1 add, + 2 dereference and 1 indexed dereference. + the enclosing loop is long running, consisting of 1 add, 1 compare. + */ + srcp = src; + dstp = dst; + for (y = 0; y < lines; y++) { + for (x = 0; x < pitch; x += component_count) { + csp = ccd_shift_pitch; + for (c = 0; c < component_count && c + x < pitch; c++) { + *dstp = srcp[*csp++]; + dstp++; + srcp++; + } + } + } + return SANE_STATUS_GOOD; +} + +static SANE_Status +FUNC_NAME(genesys_shrink_lines) ( + uint8_t *src_data, + uint8_t *dst_data, + unsigned int lines, + unsigned int src_pixels, + unsigned int dst_pixels, + unsigned int channels) +{ + unsigned int dst_x, src_x, y, c, cnt; + unsigned int avg[3]; + unsigned int count; + COMPONENT_TYPE *src = (COMPONENT_TYPE *)src_data; + COMPONENT_TYPE *dst = (COMPONENT_TYPE *)dst_data; + + if (src_pixels > dst_pixels) { +/*average*/ + for (c = 0; c < channels; c++) + avg[c] = 0; + for(y = 0; y < lines; y++) { + cnt = src_pixels / 2; + src_x = 0; + for (dst_x = 0; dst_x < dst_pixels; dst_x++) { + count = 0; + while (cnt < src_pixels && src_x < src_pixels) { + cnt += dst_pixels; + + for (c = 0; c < channels; c++) + avg[c] += *src++; + src_x++; + count++; + } + cnt -= src_pixels; + + for (c = 0; c < channels; c++) { + *dst++ = avg[c] / count; + avg[c] = 0; + } + } + } + } else { +/*interpolate. copy pixels*/ + for(y = 0; y < lines; y++) { + cnt = dst_pixels / 2; + dst_x = 0; + for (src_x = 0; src_x < src_pixels; src_x++) { + for (c = 0; c < channels; c++) + avg[c] = *src++; + while ((cnt < dst_pixels || src_x + 1 == src_pixels) && + dst_x < dst_pixels) { + cnt += src_pixels; + + for (c = 0; c < channels; c++) + *dst++ = avg[c]; + dst_x++; + } + cnt -= dst_pixels; + } + } + } + return SANE_STATUS_GOOD; +} diff --git a/backend/genesys_devices.c b/backend/genesys_devices.c deleted file mode 100644 index 11f2579..0000000 --- a/backend/genesys_devices.c +++ /dev/null @@ -1,3706 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2003 Oliver Rauch - Copyright (C) 2003-2005 Henning Meier-Geinitz - Copyright (C) 2004, 2005 Gerhard Jaeger - Copyright (C) 2004-2013 Stéphane Voltz - Copyright (C) 2005-2009 Pierre Willenbrock - Copyright (C) 2007 Luke - Copyright (C) 2010 Jack McGill - Copyright (C) 2010 Andrey Loginov , - xerox travelscan device entry - Copyright (C) 2010 Chris Berry and Michael Rickmann - for Plustek Opticbook 3600 support - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -/* ------------------------------------------------------------------------ */ -/* Some setup DAC and CCD tables */ -/* ------------------------------------------------------------------------ */ - -/** Setup table for various scanners using a Wolfson DAC - */ -static Genesys_Frontend Wolfson[] = { - { DAC_WOLFSON_UMAX, {0x00, 0x03, 0x05, 0x11} - , {0x00, 0x00, 0x00} - , {0x80, 0x80, 0x80} - , {0x02, 0x02, 0x02} - , {0x00, 0x00, 0x00} - } - , /* 0: UMAX */ - {DAC_WOLFSON_ST12, {0x00, 0x03, 0x05, 0x03} - , {0x00, 0x00, 0x00} - , {0xc8, 0xc8, 0xc8} - , {0x04, 0x04, 0x04} - , {0x00, 0x00, 0x00} - } - , /* 1: ST12 */ - {DAC_WOLFSON_ST24,{0x00, 0x03, 0x05, 0x21} - , {0x00, 0x00, 0x00} - , {0xc8, 0xc8, 0xc8} - , {0x06, 0x06, 0x06} - , {0x00, 0x00, 0x00} - } - , /* 2: ST24 */ - {DAC_WOLFSON_5345,{0x00, 0x03, 0x05, 0x12} - , {0x00, 0x00, 0x00} - , {0xb8, 0xb8, 0xb8} - , {0x04, 0x04, 0x04} - , {0x00, 0x00, 0x00} - } - , /* 3: MD6228/MD6471 */ - {DAC_WOLFSON_HP2400, - /* reg0 reg1 reg2 reg3 */ - {0x00, 0x03, 0x05, 0x02} /* reg3=0x02 for 50-600 dpi, 0x32 (0x12 also works well) at 1200 */ - , {0x00, 0x00, 0x00} - , {0xb4, 0xb6, 0xbc} - , {0x06, 0x09, 0x08} - , {0x00, 0x00, 0x00} - } - , /* 4: HP2400c */ - {DAC_WOLFSON_HP2300, - {0x00, 0x03, 0x04, 0x02} - , {0x00, 0x00, 0x00} - , {0xbe, 0xbe, 0xbe} - , {0x04, 0x04, 0x04} - , {0x00, 0x00, 0x00} - } - , /* 5: HP2300c */ - {DAC_CANONLIDE35,{0x00, 0x3d, 0x08, 0x00} - , {0x00, 0x00, 0x00} - , {0xe1, 0xe1, 0xe1} - , {0x93, 0x93, 0x93} - , {0x00, 0x19, 0x06} - } - , /* 6: CANONLIDE35 */ - {DAC_AD_XP200, - {0x58, 0x80, 0x00, 0x00} /* reg1=0x80 ? */ - , {0x00, 0x00, 0x00} - , {0x09, 0x09, 0x09} - , {0x09, 0x09, 0x09} - , {0x00, 0x00, 0x00} - } - , - {DAC_WOLFSON_XP300,{0x00, 0x35, 0x20, 0x14} /* 7: XP300 */ - , {0x00, 0x00, 0x00} - , {0xe1, 0xe1, 0xe1} - , {0x93, 0x93, 0x93} - , {0x07, 0x00, 0x00} - } - , /* 8: HP3670 */ - {DAC_WOLFSON_HP3670, - /* reg0 reg1 reg2 reg3 */ - {0x00, 0x03, 0x05, 0x32} /* reg3=0x32 for 100-300 dpi, 0x12 at 1200 */ - , {0x00, 0x00, 0x00} /* sign */ - , {0xba, 0xb8, 0xb8} /* offset */ - , {0x06, 0x05, 0x04} /* gain 4,3,2 at 1200 ?*/ - , {0x00, 0x00, 0x00} - } - , - {DAC_WOLFSON_DSM600,{0x00, 0x35, 0x20, 0x14} /* 9: DSMOBILE600 */ - , {0x00, 0x00, 0x00} - , {0x85, 0x85, 0x85} - , {0xa0, 0xa0, 0xa0} - , {0x07, 0x00, 0x00} - } - , - {DAC_CANONLIDE200, - {0x9d, 0x91, 0x00, 0x00} - , {0x00, 0x00, 0x00} - , {0x00, 0x3f, 0x00} /* 0x00 0x3f 0x00 : offset/brigthness ? */ - , {0x32, 0x04, 0x00} - , {0x00, 0x00, 0x00} - } - , - {DAC_CANONLIDE700, - {0x9d, 0x9e, 0x00, 0x00} - , {0x00, 0x00, 0x00} - , {0x00, 0x3f, 0x00} /* 0x00 0x3f 0x00 : offset/brigthness ? */ - , {0x2f, 0x04, 0x00} - , {0x00, 0x00, 0x00} - } - , /* KV-SS080 */ - {DAC_KVSS080, - {0x00, 0x23, 0x24, 0x0f} - , {0x00, 0x00, 0x00} - , {0x80, 0x80, 0x80} - , {0x4b, 0x4b, 0x4b} - , {0x00,0x00,0x00} - } - , - {DAC_G4050, - {0x00, 0x23, 0x24, 0x1f} - , {0x00, 0x00, 0x00} - , {0x45, 0x45, 0x45} /* 0x20, 0x21, 0x22 */ - , {0x4b, 0x4b, 0x4b} /* 0x28, 0x29, 0x2a */ - , {0x00,0x00,0x00} - } - , - {DAC_CANONLIDE110, - {0x80, 0x8a, 0x23, 0x4c} - , {0x00, 0xca, 0x94} - , {0x00, 0x00, 0x00} - , {0x00, 0x00, 0x00} - , {0x00, 0x00, 0x00} - } - , - /** @brief GL124 special case - * for GL124 based scanners, this struct is "abused" - * in fact the fields are map like below to AFE registers - * (from Texas Instrument or alike ?) - */ - {DAC_CANONLIDE120, - {0x80, - /* 0001 0002 0003 */ - 0xa3, 0x2b, 0x4c} - /* 0005 0006 0007 */ - , {0x00, 0xca, 0x95} - , {0x00, 0x00, 0x00} - , {0x00, 0x00, 0x00} - , {0x00, 0x00, 0x00} - } - , - {DAC_PLUSTEK_3600, - {0x70, 0x80, 0x00, 0x00} - , {0x00, 0x00, 0x00} - , {0x00, 0x00, 0x00} - , {0x3f, 0x3d, 0x3d} - , {0x00, 0x00, 0x00} - } - , - {DAC_CS8400F, - {0x00, 0x23, 0x24, 0x0f} - , {0x00, 0x00, 0x00} - , {0x60, 0x5c, 0x6c} /* 0x20, 0x21, 0x22 */ - , {0x8a, 0x9f, 0xc2} /* 0x28, 0x29, 0x2a */ - , {0x00, 0x00, 0x00} - } - , - {DAC_IMG101, - {0x78, 0xf0, 0x00, 0x00} - , {0x00, 0x00, 0x00} - , {0x00, 0x00, 0x00} /* 0x20, 0x21, 0x22 */ - , {0x00, 0x00, 0x00} /* 0x28, 0x29, 0x2a */ - , {0x00, 0x00, 0x00} - } - , - {DAC_PLUSTEK3800, - {0x78, 0xf0, 0x00, 0x00} - , {0x00, 0x00, 0x00} - , {0x00, 0x00, 0x00} /* 0x20, 0x21, 0x22 */ - , {0x00, 0x00, 0x00} /* 0x28, 0x29, 0x2a */ - , {0x00, 0x00, 0x00} - }, - {DAC_CANONLIDE80, - /* reg0: control 74 data, 70 no data - * reg3: offset - * reg6: gain - * reg0 , reg3, reg6 */ - {0x70, 0x16, 0x60, 0x00} - , {0x00, 0x00, 0x00} - , {0x00, 0x00, 0x00} - , {0x00, 0x00, 0x00} - , {0x00, 0x00, 0x00} - } -}; - - -/** for setting up the sensor-specific settings: - * Optical Resolution, number of black pixels, number of dummy pixels, - * CCD_start_xoffset, and overall number of sensor pixels - * registers 0x08-0x0b, 0x10-0x1d and 0x52-0x5e - */ -static Genesys_Sensor Sensor[] = { - /* 0: UMAX */ - {CCD_UMAX, - 1200, 48, 64, 0, 10800, 210, 230, - {0x01, 0x03, 0x05, 0x07} - , - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x05, 0x31, 0x2a, 0x00, 0x00, - 0x00, 0x02} - , - {0x13, 0x17, 0x03, 0x07, 0x0b, 0x0f, 0x23, 0x00, 0xc1, 0x00, 0x00, 0x00, - 0x00} - , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL}} - , - /* 1: Plustek OpticPro S12/ST12 */ - {CCD_ST12, - 600, 48, 85, 152, 5416, 210, 230, - {0x02, 0x00, 0x06, 0x04} , - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x08, 0x20, 0x2a, 0x00, 0x00, 0x0c, 0x03} , - {0x0f, 0x13, 0x17, 0x03, 0x07, 0x0b, 0x83, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00} , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } - , - /* 2: Plustek OpticPro S24/ST24 */ - {CCD_ST24, - 1200, - 48, 64, 0, 10800, 210, 230, - {0x0e, 0x0c, 0x00, 0x0c} , - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x08, 0x31, 0x2a, 0x00, 0x00, 0x00, 0x02} , - {0x17, 0x03, 0x07, 0x0b, 0x0f, 0x13, 0x03, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00} , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } - , - /* 3: MD6471 */ - {CCD_5345, - 1200, - 48, - 16, 0, 10872, - 190, 190, - {0x0d, 0x0f, 0x11, 0x13} , - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x30, 0x2a, 0x00, 0x00, 0x00, 0x03} , - {0x0f, 0x13, 0x17, 0x03, 0x07, 0x0b, 0x23, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00} , - {2.38, 2.35, 2.34}, - {NULL, NULL, NULL} - } - , - /* 4: HP2400c */ - {CCD_HP2400, - 1200, - 48, - 15, 0, 10872, 210, 200, - {0x14, 0x15, 0x00, 0x00} /* registers 0x08-0x0b */ , - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x08, 0x3f, 0x2a, 0x00, 0x00, 0x00, 0x02} , - {0x0b, 0x0f, 0x13, 0x17, 0x03, 0x07, 0x63, 0x00, 0xc1, 0x00, 0x0e, 0x00, 0x00} , - {2.1, 2.1, 2.1}, - {NULL, NULL, NULL} - } - , - /* 5: HP2300c */ - {CCD_HP2300, - 600, - 48, - 20, 0, 5368, 180, 180, /* 5376 */ - {0x16, 0x00, 0x01, 0x03} , - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x0a, 0x20, 0x2a, 0x6a, 0x8a, 0x00, 0x05} , - {0x0f, 0x13, 0x17, 0x03, 0x07, 0x0b, 0x83, 0x00, 0xc1, 0x06, 0x0b, 0x10, 0x16} , - {2.1, 2.1, 2.1}, - {NULL, NULL, NULL} - } - , - /* CANOLIDE35 */ - {CCD_CANONLIDE35, - 1200, - 87, /* (black) */ - 87, /* (dummy) */ - 0, /* (startxoffset) */ - 10400, /* sensor_pixels */ - 0, - 0, - {0x00, 0x00, 0x00, 0x00}, - {0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x50, - 0x00, 0x00, 0x00, 0x02 /* TODO(these do no harm, but may be neccessery for CCD) */ - }, - {0x05, 0x07, - 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ - 0x3a, 0x03, - 0x40, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x00 /*TODO (these do no harm, but may be neccessery for CCD) */ - } - , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } - , - /* 7: Strobe XP200 */ - {CIS_XP200, 600, - 5, - 38, 0, 5200, 200, 200, /* 5125 */ - {0x16, 0x00, 0x01, 0x03} , - {0x14, 0x50, 0x0c, 0x80, 0x0a, 0x28, 0xb7, 0x0a, 0x20, 0x2a, 0x6a, 0x8a, 0x00, 0x05} , - {0x0f, 0x13, 0x17, 0x03, 0x07, 0x0b, 0x83, 0x00, 0xc1, 0x06, 0x0b, 0x10, 0x16} , - {2.1, 2.1, 2.1}, - {NULL, NULL, NULL} - } - , - /* HP3670 */ - {CCD_HP3670,1200, - 48, - 16, 0, 10872, - 210, 200, - {0x00, 0x0a, 0x0b, 0x0d} , - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x07, 0x20, 0x2a, 0x00, 0x00, 0xc0, 0x43} , - {0x0f, 0x13, 0x17, 0x03, 0x07, 0x0b, 0x83, 0x00, 0x15, 0x05, 0x0a, 0x0f, 0x00}, - {1.00, 1.00, 1.00}, - {NULL, NULL, NULL} - } - , - /* Syscan DP 665 */ - {CCD_DP665, 600, - 27, /*(black) */ - 27, /* (dummy) */ - 0, /* (startxoffset) */ - 2496, /*sensor_pixels */ - 210, - 200, - {0x00, 0x00, 0x00, 0x00}, - {0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x00, 0x02, 0x04, 0x50, - 0x10, 0x00, 0x20, 0x02 - }, - {0x04, 0x05, - 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ - 0x54, 0x03, - 0x00, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ - } - , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } - , - /* Visioneer Roadwarrior */ - {CCD_ROADWARRIOR, 600, - 27, /*(black) */ - 27, /* (dummy) */ - 0, /* (startxoffset) */ - 5200, /*sensor_pixels */ - 210, - 200, - {0x00, 0x00, 0x00, 0x00}, - {0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x00, 0x02, 0x04, 0x50, - 0x10, 0x00, 0x20, 0x02 - }, - {0x04, 0x05, - 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ - 0x54, 0x03, - 0x00, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ - } - , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } -, - /* Pentax DS Mobile 600 */ - {CCD_DSMOBILE600, 600, - 28, /*(black) */ - 28, /* (dummy) */ - 0, /* (startxoffset) */ - 5200, /*sensor_pixels */ - 210, - 200, - {0x00, 0x00, 0x00, 0x00}, - {0x15, 0x44, 0x15, 0x44, 0x15, 0x44, 0x00, 0x02, 0x04, 0x50, - 0x10, 0x00, 0x20, 0x02 - }, - {0x04, 0x05, - 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ - 0x54, 0x03, - 0x00, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ - } - , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } - , - /* 13: Strobe XP300 */ - {CCD_XP300, 600, - 27, /*(black) */ - 27, /* (dummy) */ - 0, /* (startxoffset) */ - 10240, /*sensor_pixels */ - 210, - 200, - {0x00, 0x00, 0x00, 0x00}, - {0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x00, 0x02, 0x04, 0x50, - 0x10, 0x00, 0x20, 0x02 - }, - {0x04, 0x05, - 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ - 0x54, 0x03, - 0x00, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ - } - , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } - , - /* 13: Strobe XP300 */ - {CCD_DP685, 600, - 27, /*(black) */ - 27, /* (dummy) */ - 0, /* (startxoffset) */ - 5020, /*sensor_pixels */ - 210, - 200, - {0x00, 0x00, 0x00, 0x00}, - {0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x00, 0x02, 0x04, 0x50, - 0x10, 0x00, 0x20, 0x02 - }, - {0x04, 0x05, - 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ - 0x54, 0x03, - 0x00, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ - } - , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } - , - /* CANONLIDE200 */ - {CIS_CANONLIDE200, - 4800, /* optical resolution */ - 87*4, /* black pixels */ - 16*4, /* dummy pixels */ - 320*8, /* CCD_startx_offset 323 */ - 5136*8, - 210, - 200, - {0x00, 0x00, 0x00, 0x00}, - /* reg 0x10 - 0x1d */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* EXPR/EXPG/EXPB */ - 0x10, 0x08, 0x00, 0xff, 0x34, 0x00, 0x02, 0x04 }, - /* reg 0x52 - 0x5e */ - {0x03, 0x07, - 0x00, 0x00, 0x00, 0x00, - 0x2a, 0xe1, - 0x55, - 0x00, 0x00, 0x00, - 0x41 - } - , - {1.7, 1.7, 1.7}, - {NULL, NULL, NULL} - } - , - /* CANONLIDE700 */ - {CIS_CANONLIDE700, - 4800, /* optical resolution */ - 73*8, /* black pixels 73 at 600 dpi */ - 16*8, /* dummy pixels */ - 384*8, /* CCD_startx_offset 384 at 600 dpi */ - 5188*8, /* 8x5570 segments , 5187+1 for rounding */ - 210, - 200, - {0x00, 0x00, 0x00, 0x00}, - /* reg 0x10 - 0x1d */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* EXPR/EXPG/EXPB */ - 0x10, 0x08, 0x00, 0xff, 0x34, 0x00, 0x02, 0x04 }, - /* reg 0x52 - 0x5e */ - {0x07, 0x03, - 0x00, 0x00, 0x00, 0x00, - 0x2a, 0xe1, - 0x55, - 0x00, 0x00, 0x00, - 0x41 - } - , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } - , - /* CANONLIDE100 */ - {CIS_CANONLIDE100, - 2400, /* optical resolution */ - 87*4, /* black pixels */ - 16*4, /* dummy pixels 16 */ - 320*4, /* 323 */ - 5136*4, /* 10272 */ - 210, - 200, - {0x00, 0x00, 0x00, 0x00}, - /* reg 0x10 - 0x15 */ - {0x01, 0xc1, 0x01, 0x26, 0x00, 0xe5, /* EXPR/EXPG/EXPB */ - /* reg 0x16 - 0x1d 0x19=0x50*/ - 0x10, 0x08, 0x00, 0x50, 0x34, 0x00, 0x02, 0x04 }, - /* reg 0x52 - 0x5e */ - {0x03, 0x07, - 0x00, 0x00, 0x00, 0x00, - 0x2a, 0xe1, - 0x55, - 0x00, 0x00, 0x00, - 0x41 - } - , - {1.7, 1.7, 1.7}, - {NULL, NULL, NULL} - } - , - {CCD_KVSS080, - 600, - 38, /* black pixels on left */ - 38, /* 36 dummy pixels */ - 152, - 5376, /* 5100-> 5200 */ - 160, /* TAU white ref */ - 160, /* gain white ref */ - /* 08 09 0a 0b */ - {0x00, 0x00, 0x00, 0x6a} , - /* 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x1c, 0x00, 0x2a, 0x2c, 0x00, 0x20, 0x04} , /* 18=00 at 600 dpi */ - /* 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e */ - {0x0c, 0x0f, 0x00, 0x03, 0x06, 0x09, 0x6b, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x23} , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } - , - {CCD_G4050, - 4800, - 50*8, /* black_pixels */ - 58, /* 31 at 600 dpi dummy_pixels 58 at 1200 */ - 152, - 5360*8, /* 5360 max at 600 dpi */ - 160, - 160, - /* 08 09 0a 0b */ - {0x00, 0x00, 0x18, 0x69} , - /* 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d */ - {0x2c, 0x09, 0x22, 0xb8, 0x10, 0xf0, 0x33, 0x0c, 0x00, 0x2a, 0x30, 0x00, 0x00, 0x08} , - /* 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e */ - {0x0b, 0x0e, 0x11, 0x02, 0x05, 0x08, 0x63, 0x00, 0x40, 0x00, 0x00, 0x00, 0x6f} , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } - , - {CCD_CS4400F, - 4800, - 50*8, /* black_pixels */ - 20, /* 31 at 600 dpi dummy_pixels 58 at 1200 */ - 152, - 5360*8, /* 5360 max at 600 dpi */ - 160, - 160, - /* 08 09 0a 0b */ - {0x00, 0x00, 0x18, 0x69} , - /* 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d */ - {0x9c, 0x40, 0x9c, 0x40, 0x9c, 0x40, 0x13, 0x0a, 0x10, 0x2a, 0x30, 0x00, 0x00, 0x6b}, - /* 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e */ - {0x0a, 0x0d, 0x00, 0x03, 0x06, 0x08, 0x5b, 0x00, 0x40, 0x00, 0x00, 0x00, 0x3f}, - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } - , - {CCD_CS8400F, - 4800, - 50*8, /* black_pixels */ - 20, /* 31 at 600 dpi dummy_pixels 58 at 1200 */ - 152, - 5360*8, /* 5360 max at 600 dpi */ - 160, - 160, - /* 08 09 0a 0b */ - {0x00, 0x00, 0x18, 0x69} , - /* 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d */ - {0x9c, 0x40, 0x9c, 0x40, 0x9c, 0x40, 0x13, 0x0a, 0x10, 0x2a, 0x30, 0x00, 0x00, 0x6b}, - /* 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e */ - {0x0a, 0x0d, 0x00, 0x03, 0x06, 0x08, 0x5b, 0x00, 0x40, 0x00, 0x00, 0x00, 0x3f}, - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } - , - /* HP N6310 */ - {CCD_HP_N6310, - 2400, - 96, - 26, - 128, - 42720, - 210, - 230, - /* 08 09 0a 0b */ - {0x00, 0x10, 0x10, 0x0c} , - /* 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x0c, 0x02, 0x2a, 0x30, 0x00, 0x00, 0x08} , - /* 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e */ - {0x0b, 0x0e, 0x11, 0x02, 0x05, 0x08, 0x63, 0x00, 0x40, 0x00, 0x00, 0x06, 0x6f} , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL} - } - , - - /* CANONLIDE110 */ - {CIS_CANONLIDE110, - 2400, /* optical resolution */ - 87, /* black pixels */ - 16, /* dummy pixels 16 */ - 303, /* 303 */ - 5168*4, /* total pixels */ - 210, - 200, - {0x00, 0x00, 0x00, 0x00}, - /* reg 0x10 - 0x15 : EXPR, EXPG and EXPB */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /* reg 0x16 - 0x1d */ - 0x10, 0x04, 0x00, 0x01, 0x30, 0x00, 0x02, 0x01 }, - /* reg 0x52 - 0x5e */ - { - 0x00, 0x02, 0x04, 0x06, 0x04, 0x04, 0x04, 0x04, - 0x1a, 0x00, 0xc0, 0x00, 0x00 - } - , - {2.1, 2.1, 2.1}, - {NULL, NULL, NULL}} - , - - /* CANONLIDE120 */ - {CIS_CANONLIDE120, - 2400, /* optical resolution */ - 87, /* black pixels */ - 16, /* dummy pixels 16 */ - 303, - /* SEGCNT at 600 DPI by number of segments */ - 5104*4, /* total pixels */ - 210, - 200, - {0x00, 0x00, 0x00, 0x00}, - /* reg 0x10 - 0x15 : EXPR, EXPG and EXPB */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /* reg 0x16 - 0x1d */ - 0x15, 0x04, 0x00, 0x01, 0x30, 0x00, 0x02, 0x01 }, - /* reg 0x52 - 0x5e */ - { - /* 52 53 54 55 56 57 58 59 */ - 0x04, 0x06, 0x00, 0x02, 0x04, 0x04, 0x04, 0x04, - /* 5a 5b 5c 5d 5e */ - 0x3a, 0x00, 0x00, 0x00, 0x1f - } - , - {2.1, 2.1, 2.1}, - {NULL, NULL, NULL}} - , - /* CANON LIDE 210 sensor */ - {CIS_CANONLIDE210, - 2400, /* optical resolution */ - 87, /* black pixels */ - 16, /* dummy pixels 16 */ - 303, /* 303 */ - 5168*4, /* total pixels */ - 210, - 200, - {0x00, 0x00, 0x00, 0x00}, - /* reg 0x10 - 0x15 : EXPR, EXPG and EXPB */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /* reg 0x16 - 0x1d */ - 0x10, 0x04, 0x00, 0x01, 0x30, 0x00, 0x02, 0x01 }, - /* reg 0x52 - 0x5e */ - { - 0x00, 0x02, 0x04, 0x06, 0x04, 0x04, 0x04, 0x04, - 0x1a, 0x00, 0xc0, 0x00, 0x00 - } - , - {2.1, 2.1, 2.1}, - {NULL, NULL, NULL}} - , - /* CANON LIDE 220 sensor */ - {CIS_CANONLIDE220, - 2400, /* optical resolution */ - 87, /* black pixels */ - 16, /* dummy pixels 16 */ - 303, /* 303 */ - 5168*4, /* total pixels */ - 210, - 200, - {0x00, 0x00, 0x00, 0x00}, - /* reg 0x10 - 0x15 : EXPR, EXPG and EXPB */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /* reg 0x16 - 0x1d */ - 0x10, 0x04, 0x00, 0x01, 0x30, 0x00, 0x02, 0x01 }, - /* reg 0x52 - 0x5e */ - { - 0x00, 0x02, 0x04, 0x06, 0x04, 0x04, 0x04, 0x04, - 0x1a, 0x00, 0xc0, 0x00, 0x00 - } - , - {2.1, 2.1, 2.1}, - {NULL, NULL, NULL}} - , - {CCD_PLUSTEK_3600, - 1200, - 87, /*(black) */ - 87, /* (dummy) */ - 0, /* (startxoffset) */ - 10100, /*sensor_pixels */ - 210, - 230, - {0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x0b, 0x11, 0x2a, - 0x00, 0x00, 0x00, 0xc4 /* TODO(these do no harm, but may be neccessery for CCD) */ - }, - {0x07, 0x0a, - 0x0c, 0x00, 0x02, 0x06, /*[GB](HI|LOW) not needed for cis */ - 0x22, 0x69, - 0x40, /*TODO: bit7 */ - 0x00, 0x00, 0x00, 0x02 /*TODO (these do no harm, but may be neccessery for CCD) */ - } - , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL}} - , - /* Canon Image formula 101 */ - {CCD_IMG101, - 1200, /* optical resolution */ - 31, - 31, - 0, - 10800, - 210, - 200, - {0x60, 0x00, 0x00, 0x8b}, - /* reg 0x10 - 0x15 */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* EXPR/EXPG/EXPB */ - /* reg 0x16 - 0x1d 0x19=0x50*/ - 0xbb, 0x13, 0x10, 0x2a, 0x34, 0x00, 0x20, 0x06 }, - /* reg 0x52 - 0x5e */ - {0x02, 0x04, - 0x06, 0x08, 0x0a, 0x00, - 0x59, 0x31, - 0x40, - 0x00, 0x00, 0x00, - 0x1f - } - , - {1.7, 1.7, 1.7}, - {NULL, NULL, NULL} - } - , - /* Plustek OpticBook 3800 */ - {CCD_PLUSTEK3800, - 1200, /* optical resolution */ - 31, - 31, - 0, - 10200, - 210, - 200, - {0x60, 0x00, 0x00, 0x8b}, - /* reg 0x10 - 0x15 */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* EXPR/EXPG/EXPB */ - /* reg 0x16 - 0x1d 0x19=0x50*/ - 0xbb, 0x13, 0x10, 0x2a, 0x34, 0x00, 0x20, 0x06 }, - /* reg 0x52 - 0x5e */ - {0x02, 0x04, - 0x06, 0x08, 0x0a, 0x00, - 0x59, 0x31, - 0x40, - 0x00, 0x00, 0x00, - 0x1f - } - , - {1.7, 1.7, 1.7}, - {NULL, NULL, NULL} - }, - /* CANOLIDE80 */ - {CIS_CANONLIDE80, - 1200, /* real hardware limit is 2400 */ - 20, /* black pixels */ - 6, /* expdummy 6 */ - /* tuned to give 3*8 multiple startx coordinate during shading calibration */ - 34, /* CCD_start_xoffset 14=>3, 20=>2 */ - 10240, /* 10400, too wide=>10288 in shading data 10240~, 10208 too short for shading, max shading data = 10240 pixels, endpix-startpix=10208 */ - 150, - 150, - {0x00, 0x05, 0x07, 0x09}, /* in fact ,maps to 0x70-0x73 for GL841 */ - /* [0x10-0x15] values are initial led exposure values */ - /* 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d*/ - {0x10, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x01, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04}, - {0x03, 0x07, 0x00, 0x00, 0x00, 0x00, 0x29, 0x69, 0x55, 0x00, 0x00, 0x20, 0x41} , - {1.0, 1.0, 1.0}, - {NULL, NULL, NULL}} -}; - -/** for General Purpose Output specific settings: - * initial GPO value (registers 0x66-0x67/0x6c-0x6d) - * GPO enable mask (registers 0x68-0x69/0x6e-0x6f) - * The first register is for GPIO9-GPIO16, the second for GPIO1-GPIO8 - */ -static Genesys_Gpo Gpo[] = { - /* UMAX */ - {GPO_UMAX, - {0x11, 0x00} - , - {0x51, 0x20} - , - } - , - /* Plustek OpticPro S12/ST12 */ - {GPO_ST12, - {0x11, 0x00} - , - {0x51, 0x20} - , - } - , - /* Plustek OpticPro S24/ST24 */ - {GPO_ST24, - {0x00, 0x00} - , - {0x51, 0x20} - , - } - , - /* MD5345/MD6471 */ - {GPO_5345, - {0x30, 0x18} - , /* bits 11-12 are for bipolar V-ref input voltage */ - {0xa0, 0x18} - , - } - , - /* HP2400C */ - {GPO_HP2400, - {0x30, 0x00} - , - {0x31, 0x00} - , - } - , - /* HP2300C */ - {GPO_HP2300, - {0x00, 0x00} - , - {0x00, 0x00} - , - } - , - /* CANONLIDE35 */ - {GPO_CANONLIDE35, - {0x02, 0x80} - , - {0xef, 0x80} - , - } - , - /* 7: XP200 */ - {GPO_XP200, - {0x30, 0x00} - , - {0xb0, 0x00} - , - }, - /* HP3670 */ - {GPO_HP3670, - {0x00, 0x00} - , - {0x00, 0x00} - } - , - /* 8: XP300 */ - {GPO_XP300, - {0x09, 0xc6}, - {0xbb, 0x00}, - } - , - /* Syscan DP 665 */ - { - GPO_DP665, - {0x18, 0x00},/*0x19,0x00*/ - {0xbb, 0x00}, - } - , - /* Syscan DP 685 */ - { - GPO_DP685, - {0x3f, 0x46}, /* 6c, 6d */ - {0xfb, 0x00}, /* 6e, 6f */ - }, - /* CANONLIDE200 */ - {GPO_CANONLIDE200, - {0xfb, 0x20}, /* 0xfb when idle , 0xf9/0xe9 (1200) when scanning */ - {0xff, 0x00}, - }, - /* CANONLIDE700 */ - {GPO_CANONLIDE700, - {0xdb, 0xff}, - {0xff, 0x80}, - }, - {GPO_KVSS080, - {0xf5, 0x20}, - {0x7e, 0xa1}, - } - , - {GPO_G4050, - {0x20, 0x00}, - {0xfc, 0x00}, - } - , - /* HP N6310 */ - {GPO_HP_N6310, - {0xa3, 0x00}, - {0x7f, 0x00}, - } - , - /* CANONLIDE110 */ - {GPO_CANONLIDE110, - {0xfb, 0x20}, - {0xff, 0x00}, - } - , - /* CANONLIDE120 */ - {GPO_CANONLIDE120, - {0xfb, 0x20}, - {0xff, 0x00}, - } - , - /* CANONLIDE210 */ - {GPO_CANONLIDE210, - {0xfb, 0x20}, - {0xff, 0x00}, - } - , - /* Plustek 3600 */ - {GPO_PLUSTEK_3600, - {0x02, 0x00}, - {0x1e, 0x80}, - } - /* CanoScan 4400f */ - , - {GPO_CS4400F, - {0x01, 0x7f}, - {0xff, 0x00}, - } - /* CanoScan 8400f */ - , - {GPO_CS8400F, - {0x9a, 0xdf}, - {0xfe, 0x60}, - } - /* Canon Image formula 101 */ - , - {GPO_IMG101, - {0x41, 0xa4}, - {0x13, 0xa7} - } - /* Plustek OpticBook 3800 */ - , - {GPO_PLUSTEK3800, - {0x41, 0xa4}, - {0x13, 0xa7} - }, - /* Canon LiDE 80 */ - { - GPO_CANONLIDE80, - {0x28, 0x90}, /* 6c, 6d */ - {0x75, 0x80}, /* 6e, 6f */ - } -}; - -static Genesys_Motor Motor[] = { - /* UMAX */ - {MOTOR_UMAX, - 1200, /* motor base steps */ - 2400, /* maximum motor resolution */ - 1, /* maximum step mode */ - 1, /* number of power modes*/ - {{{ - 11000, /* maximum start speed */ - 3000, /* maximum end speed */ - 128, /* step count */ - 1.0, /* nonlinearity */ - }, - { - 11000, - 3000, - 128, - 1.0, - },},}, - }, - {MOTOR_5345, /* MD5345/6228/6471 */ - 1200, - 2400, - 1, - 1, - {{{ - 2000, - 1375, - 128, - 0.5, - }, - { - 2000, - 1375, - 128, - 0.5, - },},}, - }, - {MOTOR_ST24, /* ST24 */ - 2400, - 2400, - 1, - 1, - {{{ - 2289, - 2100, - 128, - 0.3, - }, - { - 2289, - 2100, - 128, - 0.3, - },},}, - }, - {MOTOR_HP3670, /* HP 3670 */ - 1200, - 2400, - 1, - 1, - {{{ - 11000, /* start speed */ - 3000, /* max speed */ - 128, /* min steps */ - 0.25, - }, - { - 11000, - 3000, - 128, - 0.5, - },},}, - }, - {MOTOR_HP2400, /* HP 2400c */ - 1200, - 1200, - 1, - 1, - {{{ - 11000, /* start speed */ - 3000, /* max speed */ - 128, /* min steps */ - 0.25, - }, - { - 11000, - 3000, - 128, - 0.5, - },},}, - }, - {MOTOR_HP2300, /* HP 2300c */ - 600, /* 600/1200 */ - 1200, - 1, - 1, - {{{ - 3200, - 1200, - 128, - 0.5, - }, - { - 3200, - 1200, - 128, - 0.5, - },},}, - }, - {MOTOR_CANONLIDE35, /* Canon LiDE 35 */ - 1200, - 2400, - 1, - 1, - {{{ 3500, 1300, 60, 0.8, }, - { 3500, 1400, 60, 0.8, },},}, - }, - {MOTOR_XP200, /* Strobe XP200 */ - 600, - 600, - 1, - 1, - {{{ - 3500, - 1300, - 60, - 0.25, - }, - { - 3500, - 1400, - 60, - 0.5, - },},}, - }, - {MOTOR_XP300, /* 7: Visioneer Strobe XP300 */ - 300, - 600, - 1, - 1, - {{{ /* works best with GPIO10, GPIO14 off */ - 3700, - 3700, - 2, - 0.8, - }, - { - 11000, - 11000, - 2, - 0.8, - },},}, - }, - {MOTOR_DP665, /* Syscan DP 665 */ - 750, - 1500, - 1, - 1, - {{{ - 3000, - 2500, - 10, - 0.8, - }, - { - 11000, - 11000, - 2, - 0.8, - },},}, - }, - {MOTOR_ROADWARRIOR, /* Visioneer Roadwarrior */ - 750, - 1500, - 1, - 1, - {{{ - 3000, - 2600, - 10, - 0.8, - }, - { - 11000, - 11000, - 2, - 0.8, - },},}, - }, - {MOTOR_DSMOBILE_600, /* Pentax DSmobile 600 */ - 750, - 1500, - 2, - 1, - {{{ - 6666, - 3700, - 8, - 0.8, - }, - { - 6666, - 3700, - 8, - 0.8, - },},}, - }, - {MOTOR_CANONLIDE100, /* Canon LiDE 100 */ - 1200, - 6400, - 2, /* maximum step type count */ - 1, /* maximum power modes count */ - { /* motor slopes */ - { /* power mode 0 */ - { 3000, 1000, 127, 0.50}, /* full step */ - { 3000, 1500, 127, 0.50}, /* half step */ - { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ - }, - }, - }, - {MOTOR_CANONLIDE200, /* Canon LiDE 200 */ - 1200, - 6400, - 2, - 1, - { /* motor slopes */ - { /* power mode 0 */ - { 3000, 1000, 127, 0.50}, /* full step */ - { 3000, 1500, 127, 0.50}, /* half step */ - { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ - }, - }, - }, - {MOTOR_CANONLIDE700, /* Canon LiDE 700 */ - 1200, - 6400, - 2, - 1, - { /* motor slopes */ - { /* power mode 0 */ - { 3000, 1000, 127, 0.50}, /* full step */ - { 3000, 1500, 127, 0.50}, /* half step */ - { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ - }, - }, - }, - {MOTOR_KVSS080, - 1200, - 1200, - 2, - 1, - { /* motor slopes */ - { /* power mode 0 */ - { 22222, 500, 246, 0.5 }, /* max speed / dpi * base dpi => exposure */ - { 22222, 500, 246, 0.5 }, - { 22222, 500, 246, 0.5 }, - }, - }, - }, - {MOTOR_G4050, - 2400, - 9600, - 2, - 1, - { /* motor slopes */ - { /* power mode 0 */ - { 3961, 240, 246, 0.8 }, /* full step */ - { 3961, 240, 246, 0.8 }, /* half step */ - { 3961, 240, 246, 0.8 }, /* quarter step */ - }, - }, - }, - {MOTOR_CS8400F, - 2400, - 9600, - 2, - 1, - { /* motor slopes */ - { /* power mode 0 */ - { 3961, 240, 246, 0.8 }, /* full step */ - { 3961, 240, 246, 0.8 }, /* half step */ - { 3961, 240, 246, 0.8 }, /* quarter step */ - }, - }, - }, - {MOTOR_CANONLIDE110, /* Canon LiDE 110 */ - 4800, - 9600, - 1, /* maximum step type count */ - 1, /* maximum power modes count */ - { /* motor slopes */ - { /* power mode 0 */ - { 3000, 1000, 256, 0.50}, /* full step */ - }, - }, - }, - {MOTOR_CANONLIDE120, /* Canon LiDE 120 */ - 4800, - 9600, - 1, /* maximum step type count */ - 1, /* maximum power modes count */ - { /* motor slopes */ - { /* power mode 0 */ - { 3000, 1000, 256, 0.50}, /* full step */ - }, - }, - }, - {MOTOR_CANONLIDE210, /* Canon LiDE 210 */ - 4800, - 9600, - 1, /* maximum step type count */ - 1, /* maximum power modes count */ - { /* motor slopes */ - { /* power mode 0 */ - { 3000, 1000, 256, 0.50}, /* full step */ - }, - }, - }, - {MOTOR_PLUSTEK_3600, /* PLUSTEK 3600 */ - 1200, - 2400, - 1, - 1, - { - { - { 3500, 1300, 60, 0.8 }, - { 3500, 3250, 60, 0.8 }, - }, - },}, - {MOTOR_IMG101, /* Canon Image Formula 101 */ - 600, - 1200, - 1, - 1, - { - { - { 3500, 1300, 60, 0.8 }, - { 3500, 3250, 60, 0.8 }, - }, - },}, - {MOTOR_PLUSTEK3800, /* Plustek OpticBook 3800 */ - 600, - 1200, - 1, - 1, - { - { - { 3500, 1300, 60, 0.8 }, - { 3500, 3250, 60, 0.8 }, - }, - },}, - {MOTOR_CANONLIDE80, - 2400, /* 2400 ???? */ - 4800, /* 9600 ???? */ - 1, /* max step type */ - 1, /* power mode count */ - { - { /* start speed, max end speed, step number */ - /* maximum speed (second field) is used to compute exposure as seen by motor */ - /* exposure=max speed/ slope dpi * base dpi */ - /* 5144 = max pixels at 600 dpi */ - /* 1288=(5144+8)*ydpi(=300)/base_dpi(=1200) , where 5152 is exposure */ - /* 6440=9660/(1932/1288) */ - { 9560, 1912, 31, 0.8 }, - }, - },}, -}; - -/* here we have the various device settings... - */ -static Genesys_Model umax_astra_4500_model = { - "umax-astra-4500", /* Name */ - "UMAX", /* Device vendor string */ - "Astra 4500", /* Device model name */ - GENESYS_GL646, - NULL, - - {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (3.5), /* Start of scan area in mm (x) */ - SANE_FIX (7.5), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_UMAX, - DAC_WOLFSON_UMAX, - GPO_UMAX, - MOTOR_UMAX, - GENESYS_FLAG_UNTESTED, /* Which flags are needed for this scanner? */ - /* untested, values set by hmg */ - GENESYS_HAS_NO_BUTTONS, /* no buttons supported */ - 20, - 200 -}; - -static Genesys_Model canon_lide_50_model = { - "canon-lide-50", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 35/40/50", /* Device model name */ - GENESYS_GL841, - NULL, - - { 1200, 600, 400, 300, 240, 200, 150, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 240, 200, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.42), /* Start of scan area in mm (x) */ - SANE_FIX (7.9), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (6.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_CANONLIDE35, - DAC_CANONLIDE35, - GPO_CANONLIDE35, - MOTOR_CANONLIDE35, - GENESYS_FLAG_LAZY_INIT | /* Which flags are needed for this scanner? */ - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_DARK_WHITE_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA | - GENESYS_FLAG_HALF_CCD_MODE, - GENESYS_HAS_SCAN_SW | - GENESYS_HAS_FILE_SW | - GENESYS_HAS_EMAIL_SW | - GENESYS_HAS_COPY_SW, - 280, - 400 -}; - -static Genesys_Model panasonic_kvss080_model = { - "panasonic-kv-ss080", /* Name */ - "Panasonic", /* Device vendor string */ - "KV-SS080", /* Device model name */ - GENESYS_GL843, - NULL, - - { 600, /* 500, 400,*/ 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - { 1200, 600, /* 500, 400, */ 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (7.2), /* Start of scan area in mm (x) */ - SANE_FIX (14.7), /* Start of scan area in mm (y) */ - SANE_FIX (217.7), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ - - SANE_FIX (9.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_KVSS080, - DAC_KVSS080, - GPO_KVSS080, - MOTOR_KVSS080, - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW , - 100, - 100 -}; - -static Genesys_Model hp4850c_model = { - "hewlett-packard-scanjet-4850c", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet 4850C", /* Device model name */ - GENESYS_GL843, - NULL, - - {2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (7.9), /* Start of scan area in mm (x) */ - SANE_FIX (5.9), /* Start of scan area in mm (y) */ - SANE_FIX (219.6), /* Size of scan area in mm (x) */ - SANE_FIX (314.5), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_G4050, - DAC_G4050, - GPO_G4050, - MOTOR_G4050, - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_STAGGERED_LINE | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_DARK_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, - 100, - 100 -}; - -static Genesys_Model hpg4010_model = { - "hewlett-packard-scanjet-g4010", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet G4010", /* Device model name */ - GENESYS_GL843, - NULL, - - { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (8.0), /* Start of scan area in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (315.0), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_G4050, - DAC_G4050, - GPO_G4050, - MOTOR_G4050, - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_STAGGERED_LINE | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_DARK_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, - 100, - 100 -}; - -static Genesys_Model hpg4050_model = { - "hewlett-packard-scanjet-g4050", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet G4050", /* Device model name */ - GENESYS_GL843, - NULL, - - { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (8.0), /* Start of scan area in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (315.0), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_G4050, - DAC_G4050, - GPO_G4050, - MOTOR_G4050, - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_STAGGERED_LINE | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_DARK_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, - 100, - 100 -}; - - -static Genesys_Model canon_4400f_model = { - "canon-canoscan-4400f", /* Name */ - "Canon", /* Device vendor string */ - "Canoscan 4400f", /* Device model name */ - GENESYS_GL843, - NULL, - - { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (6.0), /* Start of scan area in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (315.0), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_CS4400F, - DAC_G4050, - GPO_CS4400F, - MOTOR_G4050, - GENESYS_FLAG_NO_CALIBRATION | - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_STAGGERED_LINE | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_DARK_CALIBRATION | - GENESYS_FLAG_FULL_HWDPI_MODE | - GENESYS_FLAG_HALF_CCD_MODE | /* actually quarter CCD mode ... */ - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, - 100, - 100 -}; - - -static Genesys_Model canon_8400f_model = { - "canon-canoscan-8400f", /* Name */ - "Canon", /* Device vendor string */ - "Canoscan 8400f", /* Device model name */ - GENESYS_GL843, - NULL, - - { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (4.0), /* Start of scan area in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (315.0), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_CS8400F, - DAC_CS8400F, - GPO_CS8400F, - MOTOR_CS8400F, - GENESYS_FLAG_NO_CALIBRATION | - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_STAGGERED_LINE | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_DARK_CALIBRATION | - GENESYS_FLAG_FULL_HWDPI_MODE | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, - 100, - 100 -}; - - - -static Genesys_Model canon_lide_100_model = { - "canon-lide-100", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 100", /* Device model name */ - GENESYS_GL847, - NULL, - - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (1.1), /* Start of scan area in mm (x) */ - SANE_FIX (8.3), /* Start of scan area in mm (y) */ - SANE_FIX (216.07), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (1.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE100, - DAC_CANONLIDE200, - GPO_CANONLIDE200, - MOTOR_CANONLIDE100, - /* Which flags are needed for this scanner? */ - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_SIS_SENSOR - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, - 50, - 400 -}; - -static Genesys_Model canon_lide_110_model = { - "canon-lide-110", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 110", /* Device model name */ - GENESYS_GL124, - NULL, - - {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (2.2), /* Start of scan area in mm (x) */ - SANE_FIX (9.0), /* Start of scan area in mm (y) */ - SANE_FIX (216.70), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ - - SANE_FIX (1.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE110, - DAC_CANONLIDE110, - GPO_CANONLIDE110, - MOTOR_CANONLIDE110, - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_HALF_CCD_MODE - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, - 50, - 400 -}; - -static Genesys_Model canon_lide_120_model = { - "canon-lide-120", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 120", /* Device model name */ - GENESYS_GL124, - NULL, - - {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (8.0), /* Start of scan area in mm (y) */ - SANE_FIX (216.0), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ - - SANE_FIX (1.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE120, - DAC_CANONLIDE120, - GPO_CANONLIDE120, - MOTOR_CANONLIDE120, - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_HALF_CCD_MODE - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, - 50, - 400 -}; - - -static Genesys_Model canon_lide_210_model = { - "canon-lide-210", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 210", /* Device model name */ - GENESYS_GL124, - NULL, - - {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (2.2), /* Start of scan area in mm (x) */ - SANE_FIX (8.7), /* Start of scan area in mm (y) */ - SANE_FIX (216.70), /* Size of scan area in mm (x) */ - SANE_FIX (297.5), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE210, - DAC_CANONLIDE110, - GPO_CANONLIDE210, - MOTOR_CANONLIDE210, - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_HALF_CCD_MODE - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_EXTRA_SW, - 60, - 400 -}; - -static Genesys_Model canon_lide_220_model = { - "canon-lide-220", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 220", /* Device model name */ - GENESYS_GL124, /* or a compatible one */ - NULL, - - {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (2.2), /* Start of scan area in mm (x) */ - SANE_FIX (8.7), /* Start of scan area in mm (y) */ - SANE_FIX (216.70), /* Size of scan area in mm (x) */ - SANE_FIX (297.5), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE220, - DAC_CANONLIDE110, - GPO_CANONLIDE210, - MOTOR_CANONLIDE210, - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_HALF_CCD_MODE - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_EXTRA_SW, - 60, - 400 -}; - -static Genesys_Model canon_5600f_model = { - "canon-5600f", /* Name */ - "Canon", /* Device vendor string */ - "5600F", /* Device model name */ - GENESYS_GL847, - NULL, - - {1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (1.1), /* Start of scan area in mm (x) */ - SANE_FIX (8.3), /* Start of scan area in mm (y) */ - SANE_FIX (216.07), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE200, - DAC_CANONLIDE200, - GPO_CANONLIDE200, - MOTOR_CANONLIDE200, - GENESYS_FLAG_UNTESTED /* not working yet */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_SIS_SENSOR - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, - 50, - 400 -}; - -static Genesys_Model canon_lide_700f_model = { - "canon-lide-700f", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 700F", /* Device model name */ - GENESYS_GL847, - NULL, - - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (3.1), /* Start of scan area in mm (x) */ - SANE_FIX (8.1), /* Start of scan area in mm (y) */ - SANE_FIX (216.07), /* Size of scan area in mm (x) */ - SANE_FIX (297.0), /* Size of scan area in mm (y) */ - - SANE_FIX (1.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE700, - DAC_CANONLIDE700, - GPO_CANONLIDE700, - MOTOR_CANONLIDE700, - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_SIS_SENSOR - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, - 70, - 400 -}; - - - -static Genesys_Model canon_lide_200_model = { - "canon-lide-200", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 200", /* Device model name */ - GENESYS_GL847, - NULL, - - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (1.1), /* Start of scan area in mm (x) */ - SANE_FIX (8.3), /* Start of scan area in mm (y) */ - SANE_FIX (216.07), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE200, - DAC_CANONLIDE200, - GPO_CANONLIDE200, - MOTOR_CANONLIDE200, - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_SIS_SENSOR - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, - 50, - 400 -}; - - -static Genesys_Model canon_lide_60_model = { - "canon-lide-60", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 60", /* Device model name */ - GENESYS_GL841, - NULL, - - {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.42), /* Start of scan area in mm (x) */ - SANE_FIX (7.9), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (6.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_CANONLIDE35, - DAC_CANONLIDE35, - GPO_CANONLIDE35, - MOTOR_CANONLIDE35, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_WHITE_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_HALF_CCD_MODE, - - GENESYS_HAS_NO_BUTTONS, /* no buttons supported */ - 300, - 400 -}; /* this is completely untested -- hmg */ - -static Genesys_Model canon_lide_80_model = { - "canon-lide-80", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 80", /* Device model name */ - GENESYS_GL841, - NULL, - - { 1200, 600, 400, 300, 240, 150, 100, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 240, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.42), /* Start of scan area in mm (x) 0.42 */ - SANE_FIX (7.90), /* Start of scan area in mm (y) 7.90 */ - SANE_FIX (216.07), /* Size of scan area in mm (x) 218.00 */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (4.5), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE80, - DAC_CANONLIDE80, - GPO_CANONLIDE80, - MOTOR_CANONLIDE80, - GENESYS_FLAG_LAZY_INIT | /* Which flags are needed for this scanner? */ - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_DARK_WHITE_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA | - GENESYS_FLAG_HALF_CCD_MODE, - GENESYS_HAS_SCAN_SW | - GENESYS_HAS_FILE_SW | - GENESYS_HAS_EMAIL_SW | - GENESYS_HAS_COPY_SW, - 160, /* 280 @2400 */ - 400 -}; - - -static Genesys_Model hp2300c_model = { - "hewlett-packard-scanjet-2300c", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet 2300c", /* Device model name */ - GENESYS_GL646, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions, motor can go up to 1200 dpi */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (2.0), /* Start of scan area in mm (x_offset) */ - SANE_FIX (7.5), /* Start of scan area in mm (y_offset) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (295.0), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 16, 8, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_HP2300, - DAC_WOLFSON_HP2300, - GPO_HP2300, - MOTOR_HP2300, - GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_SEARCH_START - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_HALF_CCD_MODE - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW, - 40, - 132 -}; - -static -Genesys_Model hp2400c_model = { - "hewlett-packard-scanjet-2400c", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet 2400c", /* Device model name */ - GENESYS_GL646, - NULL, - - {1200, 600, 300, 150, 100, 50, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 100, 50, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (6.5), /* Start of scan area in mm (x) */ - SANE_FIX (2.5), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (297.2), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_HP2400, - DAC_WOLFSON_HP2400, - GPO_HP2400, - MOTOR_HP2400, - GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_STAGGERED_LINE - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW, - 20, - 132 -}; - -static -Genesys_Model visioneer_xp200_model = { - "visioneer-strobe-xp200", /* Name */ - "Visioneer", /* Device vendor string */ - "Strobe XP200", /* Device model name */ - GENESYS_GL646, - NULL, - - {600, 300, 200, 100, 75, 0}, /* possible x-resolutions */ - {600, 300, 200, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.5), /* Start of scan area in mm (x) */ - SANE_FIX (16.0), /* Start of scan area in mm (y) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (297.2), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CIS_XP200, - DAC_AD_XP200, /* Analog Device frontend */ - GPO_XP200, - MOTOR_XP200, - GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 120, - 132 -}; - -static Genesys_Model hp3670c_model = { - "hewlett-packard-scanjet-3670c", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet 3670c", /* Device model name */ - GENESYS_GL646, - NULL, - - {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (8.5), /* Start of scan area in mm (x) */ - SANE_FIX (11.0), /* Start of scan area in mm (y) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ - - SANE_FIX (104.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (55.6), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (25.6), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (78.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (76.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_HP3670, - DAC_WOLFSON_HP3670, - GPO_HP3670, - MOTOR_HP3670, - GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_XPA - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_STAGGERED_LINE - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW, - 20, - 200 -}; - -static Genesys_Model plustek_st12_model = { - "plustek-opticpro-st12", /* Name */ - "Plustek", /* Device vendor string */ - "OpticPro ST12", /* Device model name */ - GENESYS_GL646, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (3.5), /* Start of scan area in mm (x) */ - SANE_FIX (7.5), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_ST12, - DAC_WOLFSON_ST12, - GPO_ST12, - MOTOR_UMAX, - GENESYS_FLAG_UNTESTED | GENESYS_FLAG_14BIT_GAMMA, /* Which flags are needed for this scanner? */ - GENESYS_HAS_NO_BUTTONS, /* no buttons supported */ - 20, - 200 -}; - -static Genesys_Model plustek_st24_model = { - "plustek-opticpro-st24", /* Name */ - "Plustek", /* Device vendor string */ - "OpticPro ST24", /* Device model name */ - GENESYS_GL646, - NULL, - - {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (3.5), /* Start of scan area in mm (x) */ - SANE_FIX (7.5), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_ST24, - DAC_WOLFSON_ST24, - GPO_ST24, - MOTOR_ST24, - GENESYS_FLAG_UNTESTED - | GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_SEARCH_START - | GENESYS_FLAG_OFFSET_CALIBRATION, - GENESYS_HAS_NO_BUTTONS, /* no buttons supported */ - 20, - 200 -}; - -static Genesys_Model medion_md5345_model = { - "medion-md5345-model", /* Name */ - "Medion", /* Device vendor string */ - "MD5345/MD6228/MD6471", /* Device model name */ - GENESYS_GL646, - NULL, - - {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX ( 0.30), /* Start of scan area in mm (x) */ - SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (296.4), /* Size of scan area in mm (y) */ - - SANE_FIX (0.00), /* Start of white strip in mm (y) */ - SANE_FIX (0.00), /* Start of black mark in mm (x) */ - - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_5345, - DAC_WOLFSON_5345, - GPO_5345, - MOTOR_5345, - GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_SEARCH_START - | GENESYS_FLAG_STAGGERED_LINE - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_HALF_CCD_MODE - | GENESYS_FLAG_SHADING_NO_MOVE - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_POWER_SW | GENESYS_HAS_OCR_SW | GENESYS_HAS_SCAN_SW, - 40, - 200 -}; - -static Genesys_Model visioneer_xp300_model = { - "visioneer-strobe-xp300", /* Name */ - "Visioneer", /* Device vendor string */ - "Strobe XP300", /* Device model name */ - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (1.0), /* Start of scan area in mm (y) */ - SANE_FIX (435.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (26.5), /* Size of scan area after paper sensor stops - sensing document in mm */ - /* this is larger than needed -- accounts for second sensor head, which is a - calibration item */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_XP300, - DAC_WOLFSON_XP300, - GPO_XP300, - MOTOR_XP300, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 400 -}; - -static Genesys_Model syscan_docketport_665_model = { - "syscan-docketport-665", /* Name */ - "Syscan/Ambir", /* Device vendor string */ - "DocketPORT 665", /* Device model name */ - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (108.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (17.5), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_DP665, - DAC_WOLFSON_XP300, - GPO_DP665, - MOTOR_DP665, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 400 -}; - -static Genesys_Model visioneer_roadwarrior_model = { - "visioneer-roadwarrior", /* Name */ - "Visioneer", /* Device vendor string */ - "Readwarrior", /* Device model name */ - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (16.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_ROADWARRIOR, - DAC_WOLFSON_XP300, - GPO_DP665, - MOTOR_ROADWARRIOR, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 400 -}; - -static Genesys_Model syscan_docketport_465_model = { - "syscan-docketport-465", /* Name */ - "Syscan", /* Device vendor string */ - "DocketPORT 465", /* Device model name */ - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (16.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_ROADWARRIOR, - DAC_WOLFSON_XP300, - GPO_DP665, - MOTOR_ROADWARRIOR, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_NO_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_UNTESTED, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW, - 300, - 400 -}; - -static Genesys_Model visioneer_xp100_r3_model = { - "visioneer-xp100-revision3", /* Name */ - "Visioneer", /* Device vendor string */ - "XP100 Revision 3", /* Device model name */ - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (16.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_ROADWARRIOR, - DAC_WOLFSON_XP300, - GPO_DP665, - MOTOR_ROADWARRIOR, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 400 -}; - -static Genesys_Model pentax_dsmobile_600_model = { - "pentax-dsmobile-600", /* Name */ - "Pentax", /* Device vendor string */ - "DSmobile 600", /* Device model name */ - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (16.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_DSMOBILE600, - DAC_WOLFSON_DSM600, - GPO_DP665, - MOTOR_DSMOBILE_600, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 400 -}; - -static Genesys_Model syscan_docketport_467_model = { - "syscan-docketport-467", /* Name */ - "Syscan", /* Device vendor string */ - "DocketPORT 467", /* Device model name */ - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (16.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_DSMOBILE600, - DAC_WOLFSON_DSM600, - GPO_DP665, - MOTOR_DSMOBILE_600, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 400 -}; - -static Genesys_Model syscan_docketport_685_model = { - "syscan-docketport-685", /* Name */ - "Syscan/Ambir", /* Device vendor string */ - "DocketPORT 685", /* Device model name */ - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (1.0), /* Start of scan area in mm (y) */ - SANE_FIX (212.0), /* Size of scan area in mm (x) */ - SANE_FIX (500), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (26.5), /* Size of scan area after paper sensor stops - sensing document in mm */ - /* this is larger than needed -- accounts for second sensor head, which is a - calibration item */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_DP685, - DAC_WOLFSON_DSM600, - GPO_DP685, - MOTOR_XP300, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 400 -}; - -static Genesys_Model syscan_docketport_485_model = { - "syscan-docketport-485", /* Name */ - "Syscan/Ambir", /* Device vendor string */ - "DocketPORT 485", /* Device model name */ - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (1.0), /* Start of scan area in mm (y) */ - SANE_FIX (435.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (26.5), /* Size of scan area after paper sensor stops - sensing document in mm */ - /* this is larger than needed -- accounts for second sensor head, which is a - calibration item */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_XP300, - DAC_WOLFSON_XP300, - GPO_XP300, - MOTOR_XP300, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 400 -}; - -static Genesys_Model dct_docketport_487_model = { - "dct-docketport-487", /* Name */ - "DCT", /* Device vendor string */ - "DocketPORT 487", /* Device model name */ - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (1.0), /* Start of scan area in mm (y) */ - SANE_FIX (435.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (26.5), /* Size of scan area after paper sensor stops - sensing document in mm */ - /* this is larger than needed -- accounts for second sensor head, which is a - calibration item */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_XP300, - DAC_WOLFSON_XP300, - GPO_XP300, - MOTOR_XP300, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_UNTESTED, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 400 -}; - -static Genesys_Model visioneer_7100_model = { - "visioneer-7100-model", /* Name */ - "Visioneer", /* Device vendor string */ - "OneTouch 7100", /* Device model name */ - GENESYS_GL646, - NULL, - - {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX ( 4.00), /* Start of scan area in mm (x) */ - SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (296.4), /* Size of scan area in mm (y) */ - - SANE_FIX (0.00), /* Start of white strip in mm (y) */ - SANE_FIX (0.00), /* Start of black mark in mm (x) */ - - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ -/* 48, 24, 0, */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_5345, - DAC_WOLFSON_5345, - GPO_5345, - MOTOR_5345, - GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_SEARCH_START - | GENESYS_FLAG_STAGGERED_LINE - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_HALF_CCD_MODE - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_POWER_SW | GENESYS_HAS_OCR_SW | GENESYS_HAS_SCAN_SW, - 40, - 200 -}; - -static Genesys_Model xerox_2400_model = { - "xerox-2400-model", /* Name */ - "Xerox", /* Device vendor string */ - "OneTouch 2400", /* Device model name */ - GENESYS_GL646, - NULL, - - {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX ( 4.00), /* Start of scan area in mm (x) */ - SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (296.4), /* Size of scan area in mm (y) */ - - SANE_FIX (0.00), /* Start of white strip in mm (y) */ - SANE_FIX (0.00), /* Start of black mark in mm (x) */ - - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ -/* 48, 24, 0, */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_5345, - DAC_WOLFSON_5345, - GPO_5345, - MOTOR_5345, - GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_SEARCH_START - | GENESYS_FLAG_STAGGERED_LINE - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_HALF_CCD_MODE - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_POWER_SW | GENESYS_HAS_OCR_SW | GENESYS_HAS_SCAN_SW, - 40, - 200 -}; - - -static Genesys_Model xerox_travelscanner_model = { - "xerox-travelscanner", /* Name */ - "Xerox", /* Device vendor string */ - "Travelscanner 100", /* Device model name */ - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (4.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (16.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_ROADWARRIOR, - DAC_WOLFSON_XP300, - GPO_DP665, - MOTOR_ROADWARRIOR, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 400 -}; - -static Genesys_Model plustek_3600_model = { - "plustek-opticbook-3600", /* Name */ - "PLUSTEK", /* Device vendor string */ - "OpticBook 3600", /* Device model name */ - GENESYS_GL841, - NULL, - {/*1200,*/ 600, 400, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {/*2400,*/ 1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.42),/*SANE_FIX (0.42), Start of scan area in mm (x) */ - SANE_FIX (6.75),/*SANE_FIX (7.9), Start of scan area in mm (y) */ - SANE_FIX (216.0),/*SANE_FIX (216.0), Size of scan area in mm (x) */ - SANE_FIX (297.0),/*SANE_FIX (297.0), Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_PLUSTEK_3600, - DAC_PLUSTEK_3600, - GPO_PLUSTEK_3600, - MOTOR_PLUSTEK_3600, - GENESYS_FLAG_UNTESTED /* not fully working yet */ - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_HALF_CCD_MODE,/* - | GENESYS_FLAG_NO_CALIBRATION,*/ - GENESYS_HAS_NO_BUTTONS, - 7, - 200 -}; - -static Genesys_Model hpn6310_model = { - "hewlett-packard-scanjet-N6310", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet N6310", /* Device model name */ - GENESYS_GL847, - NULL, - - { 2400, 1200, 600, 400, 300, 200, 150, 100, 75, 0}, - { 2400, 1200, 600, 400, 300, 200, 150, 100, 75, 0}, - - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (6), /* Start of scan area in mm (x) */ - SANE_FIX (2), /* Start of scan area in mm (y) */ - SANE_FIX (216), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_HP_N6310, - DAC_CANONLIDE200, /*Not defined yet for N6310 */ - GPO_HP_N6310, - MOTOR_CANONLIDE200, /*Not defined yet for N6310 */ - GENESYS_FLAG_UNTESTED /* not fully working yet */ - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_NO_CALIBRATION, -/* | GENESYS_FLAG_HALF_CCD_MODE,*/ - - GENESYS_HAS_NO_BUTTONS, - 100, - 100 -}; - - -static Genesys_Model plustek_3800_model = { - "plustek-opticbook-3800", /* Name */ - "PLUSTEK", /* Device vendor string */ - "OpticBook 3800", /* Device model name */ - GENESYS_GL845, - NULL, - - {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (7.2), /* Start of scan area in mm (x) */ - SANE_FIX (14.7), /* Start of scan area in mm (y) */ - SANE_FIX (217.7), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ - - SANE_FIX (9.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_PLUSTEK3800, - DAC_PLUSTEK3800, - GPO_PLUSTEK3800, - MOTOR_PLUSTEK3800, - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_NO_BUTTONS, /* TODO there are 4 buttons to support */ - 100, - 100 -}; - - -static Genesys_Model canon_formula101_model = { - "canon-image-formula-101", /* Name */ - "Canon", /* Device vendor string */ - "Image Formula 101", /* Device model name */ - GENESYS_GL846, - NULL, - - {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (7.2), /* Start of scan area in mm (x) */ - SANE_FIX (14.7), /* Start of scan area in mm (y) */ - SANE_FIX (217.7), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ - - SANE_FIX (9.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_IMG101, - DAC_IMG101, - GPO_IMG101, - MOTOR_IMG101, - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_NO_BUTTONS , - 100, - 100 -}; - - -static Genesys_USB_Device_Entry genesys_usb_device_list[] = { - /* GL646 devices */ - {0x03f0, 0x0901, &hp2300c_model}, - {0x03f0, 0x0a01, &hp2400c_model}, - {0x03f0, 0x1405, &hp3670c_model}, - {0x0461, 0x0377, &medion_md5345_model}, - {0x04a7, 0x0229, &visioneer_7100_model}, - {0x0461, 0x038b, &xerox_2400_model}, - {0x04a7, 0x0426, &visioneer_xp200_model}, - {0x0638, 0x0a10, &umax_astra_4500_model}, - {0x07b3, 0x0600, &plustek_st12_model}, - {0x07b3, 0x0601, &plustek_st24_model}, - /* GL841 devices */ - {0x04a7, 0x0474, &visioneer_xp300_model}, - {0x04a7, 0x0494, &visioneer_roadwarrior_model}, - {0x04a7, 0x049b, &visioneer_xp100_r3_model}, - {0x04a7, 0x04ac, &xerox_travelscanner_model}, - {0x04a9, 0x2213, &canon_lide_50_model}, - {0x04a9, 0x221c, &canon_lide_60_model}, - {0x04a9, 0x2214, &canon_lide_80_model}, - {0x07b3, 0x0900, &plustek_3600_model}, - {0x0a17, 0x3210, &pentax_dsmobile_600_model}, - {0x04f9, 0x2038, &pentax_dsmobile_600_model}, /* clone, only usb id is different */ - {0x0a82, 0x4800, &syscan_docketport_485_model}, - {0x0a82, 0x4802, &syscan_docketport_465_model}, - {0x0a82, 0x4803, &syscan_docketport_665_model}, - {0x0a82, 0x480c, &syscan_docketport_685_model}, - {0x1dcc, 0x4810, &dct_docketport_487_model}, - {0x1dcc, 0x4812, &syscan_docketport_467_model}, - /* GL843 devices */ - {0x04da, 0x100f, &panasonic_kvss080_model}, - {0x03f0, 0x1b05, &hp4850c_model}, - {0x03f0, 0x4505, &hpg4010_model}, - {0x03f0, 0x4605, &hpg4050_model}, - {0x04a9, 0x2228, &canon_4400f_model}, - {0x04a9, 0x221e, &canon_8400f_model}, - /* GL845 devices */ - {0x07b3, 0x1300, &plustek_3800_model}, - /* GL846 devices */ - {0x1083, 0x162e, &canon_formula101_model}, - /* GL847 devices */ - {0x04a9, 0x1904, &canon_lide_100_model}, - {0x04a9, 0x1905, &canon_lide_200_model}, - {0x04a9, 0x1906, &canon_5600f_model}, - {0x04a9, 0x1907, &canon_lide_700f_model}, - {0x03f0, 0x4705, &hpn6310_model}, - /* GL124 devices */ - {0x04a9, 0x1909, &canon_lide_110_model}, - {0x04a9, 0x190e, &canon_lide_120_model}, - {0x04a9, 0x190a, &canon_lide_210_model}, - {0x04a9, 0x190f, &canon_lide_220_model}, - {0, 0, NULL} -}; - -#define MAX_SCANNERS (sizeof(genesys_usb_device_list) / \ - sizeof(genesys_usb_device_list[0])) diff --git a/backend/genesys_devices.cc b/backend/genesys_devices.cc new file mode 100644 index 0000000..b4ae5ca --- /dev/null +++ b/backend/genesys_devices.cc @@ -0,0 +1,5165 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2003 Oliver Rauch + Copyright (C) 2003-2005 Henning Meier-Geinitz + Copyright (C) 2004, 2005 Gerhard Jaeger + Copyright (C) 2004-2013 Stéphane Voltz + Copyright (C) 2005-2009 Pierre Willenbrock + Copyright (C) 2007 Luke + Copyright (C) 2010 Jack McGill + Copyright (C) 2010 Andrey Loginov , + xerox travelscan device entry + Copyright (C) 2010 Chris Berry and Michael Rickmann + for Plustek Opticbook 3600 support + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +/* ------------------------------------------------------------------------ */ +/* Some setup DAC and CCD tables */ +/* ------------------------------------------------------------------------ */ + +#include "genesys_low.h" + +StaticInit> s_frontends; + +void genesys_init_frontend_tables() +{ + s_frontends.init(); + + GenesysFrontendLayout wolfson_layout; + wolfson_layout.offset_addr = { 0x20, 0x21, 0x22 }; + wolfson_layout.gain_addr = { 0x28, 0x29, 0x2a }; + + Genesys_Frontend fe; + fe.fe_id = DAC_WOLFSON_UMAX; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x11 }, + { 0x20, 0x80 }, + { 0x21, 0x80 }, + { 0x22, 0x80 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x02 }, + { 0x29, 0x02 }, + { 0x2a, 0x02 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_WOLFSON_ST12; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x03 }, + { 0x20, 0xc8 }, + { 0x21, 0xc8 }, + { 0x22, 0xc8 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x04 }, + { 0x29, 0x04 }, + { 0x2a, 0x04 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_WOLFSON_ST24; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x21 }, + { 0x20, 0xc8 }, + { 0x21, 0xc8 }, + { 0x22, 0xc8 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x06 }, + { 0x29, 0x06 }, + { 0x2a, 0x06 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_WOLFSON_5345; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x12 }, + { 0x20, 0xb8 }, + { 0x21, 0xb8 }, + { 0x22, 0xb8 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x04 }, + { 0x29, 0x04 }, + { 0x2a, 0x04 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + // reg3=0x02 for 50-600 dpi, 0x32 (0x12 also works well) at 1200 + fe = Genesys_Frontend(); + fe.fe_id = DAC_WOLFSON_HP2400; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x02 }, + { 0x20, 0xb4 }, + { 0x21, 0xb6 }, + { 0x22, 0xbc }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x06 }, + { 0x29, 0x09 }, + { 0x2a, 0x08 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_WOLFSON_HP2300; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x04 }, + { 0x03, 0x02 }, + { 0x20, 0xbe }, + { 0x21, 0xbe }, + { 0x22, 0xbe }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x04 }, + { 0x29, 0x04 }, + { 0x2a, 0x04 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_CANONLIDE35; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x3d }, + { 0x02, 0x08 }, + { 0x03, 0x00 }, + { 0x20, 0xe1 }, + { 0x21, 0xe1 }, + { 0x22, 0xe1 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x93 }, + { 0x29, 0x93 }, + { 0x2a, 0x93 }, + }; + fe.reg2 = {0x00, 0x19, 0x06}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_AD_XP200; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x58 }, + { 0x01, 0x80 }, + { 0x02, 0x00 }, + { 0x03, 0x00 }, + { 0x20, 0x09 }, + { 0x21, 0x09 }, + { 0x22, 0x09 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x09 }, + { 0x29, 0x09 }, + { 0x2a, 0x09 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_WOLFSON_XP300; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x35 }, + { 0x02, 0x20 }, + { 0x03, 0x14 }, + { 0x20, 0xe1 }, + { 0x21, 0xe1 }, + { 0x22, 0xe1 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x93 }, + { 0x29, 0x93 }, + { 0x2a, 0x93 }, + }; + fe.reg2 = {0x07, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_WOLFSON_HP3670; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x32 }, + { 0x20, 0xba }, + { 0x21, 0xb8 }, + { 0x22, 0xb8 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x06 }, + { 0x29, 0x05 }, + { 0x2a, 0x04 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_WOLFSON_DSM600; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x35 }, + { 0x02, 0x20 }, + { 0x03, 0x14 }, + { 0x20, 0x85 }, + { 0x21, 0x85 }, + { 0x22, 0x85 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0xa0 }, + { 0x29, 0xa0 }, + { 0x2a, 0xa0 }, + }; + fe.reg2 = {0x07, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_CANONLIDE200; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x9d }, + { 0x01, 0x91 }, + { 0x02, 0x00 }, + { 0x03, 0x00 }, + { 0x20, 0x00 }, + { 0x21, 0x3f }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x32 }, + { 0x29, 0x04 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_CANONLIDE700; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x9d }, + { 0x01, 0x9e }, + { 0x02, 0x00 }, + { 0x03, 0x00 }, + { 0x20, 0x00 }, + { 0x21, 0x3f }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x2f }, + { 0x29, 0x04 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_KVSS080; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x23 }, + { 0x02, 0x24 }, + { 0x03, 0x0f }, + { 0x20, 0x80 }, + { 0x21, 0x80 }, + { 0x22, 0x80 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x4b }, + { 0x29, 0x4b }, + { 0x2a, 0x4b }, + }; + fe.reg2 = {0x00,0x00,0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_G4050; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x23 }, + { 0x02, 0x24 }, + { 0x03, 0x1f }, + { 0x20, 0x45 }, + { 0x21, 0x45 }, + { 0x22, 0x45 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x4b }, + { 0x29, 0x4b }, + { 0x2a, 0x4b }, + }; + fe.reg2 = {0x00,0x00,0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_CANONLIDE110; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x80 }, + { 0x01, 0x8a }, + { 0x02, 0x23 }, + { 0x03, 0x4c }, + { 0x20, 0x00 }, + { 0x21, 0x00 }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0xca }, + { 0x26, 0x94 }, + { 0x28, 0x00 }, + { 0x29, 0x00 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + /** @brief GL124 special case + * for GL124 based scanners, this struct is "abused" + * in fact the fields are map like below to AFE registers + * (from Texas Instrument or alike ?) + */ + fe = Genesys_Frontend(); + fe.fe_id = DAC_CANONLIDE120; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x80 }, + { 0x01, 0xa3 }, + { 0x02, 0x2b }, + { 0x03, 0x4c }, + { 0x20, 0x00 }, + { 0x21, 0x00 }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, // actual address 0x05 + { 0x25, 0xca }, // actual address 0x06 + { 0x26, 0x95 }, // actual address 0x07 + { 0x28, 0x00 }, + { 0x29, 0x00 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_PLUSTEK_3600; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x70 }, + { 0x01, 0x80 }, + { 0x02, 0x00 }, + { 0x03, 0x00 }, + { 0x20, 0x00 }, + { 0x21, 0x00 }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x3f }, + { 0x29, 0x3d }, + { 0x2a, 0x3d }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_CS8400F; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x23 }, + { 0x02, 0x24 }, + { 0x03, 0x0f }, + { 0x20, 0x60 }, + { 0x21, 0x5c }, + { 0x22, 0x6c }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x8a }, + { 0x29, 0x9f }, + { 0x2a, 0xc2 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_CS8600F; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x23 }, + { 0x02, 0x24 }, + { 0x03, 0x2f }, + { 0x20, 0x67 }, + { 0x21, 0x69 }, + { 0x22, 0x68 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0xdb }, + { 0x29, 0xda }, + { 0x2a, 0xd7 }, + }; + fe.reg2 = { 0x00, 0x00, 0x00 }; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_IMG101; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x78 }, + { 0x01, 0xf0 }, + { 0x02, 0x00 }, + { 0x03, 0x00 }, + { 0x20, 0x00 }, + { 0x21, 0x00 }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x00 }, + { 0x29, 0x00 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.fe_id = DAC_PLUSTEK3800; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x78 }, + { 0x01, 0xf0 }, + { 0x02, 0x00 }, + { 0x03, 0x00 }, + { 0x20, 0x00 }, + { 0x21, 0x00 }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x00 }, + { 0x29, 0x00 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + /* reg0: control 74 data, 70 no data + * reg3: offset + * reg6: gain + * reg0 , reg3, reg6 */ + fe = Genesys_Frontend(); + fe.fe_id = DAC_CANONLIDE80; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x70 }, + { 0x01, 0x16 }, + { 0x02, 0x60 }, + { 0x03, 0x00 }, + { 0x20, 0x00 }, + { 0x21, 0x00 }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x00 }, + { 0x29, 0x00 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); +} + + +/** for setting up the sensor-specific settings: + * Optical Resolution, number of black pixels, number of dummy pixels, + * CCD_start_xoffset, and overall number of sensor pixels + * registers 0x08-0x0b, 0x10-0x1d and 0x52-0x5e + */ +StaticInit> s_sensors; + +void genesys_init_sensor_tables() +{ + s_sensors.init(); + + Genesys_Sensor sensor; + sensor.sensor_id = CCD_UMAX; + sensor.optical_res = 1200; + sensor.black_pixels = 48; + sensor.dummy_pixel = 64; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 10800; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x01 }, + { 0x09, 0x03 }, + { 0x0a, 0x05 }, + { 0x0b, 0x07 }, + { 0x16, 0x33 }, + { 0x17, 0x05 }, + { 0x18, 0x31 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x13 }, + { 0x53, 0x17 }, + { 0x54, 0x03 }, + { 0x55, 0x07 }, + { 0x56, 0x0b }, + { 0x57, 0x0f }, + { 0x58, 0x23 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_ST12; + sensor.optical_res = 600; + sensor.black_pixels = 48; + sensor.dummy_pixel = 85; + sensor.CCD_start_xoffset = 152; + sensor.sensor_pixels = 5416; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x02 }, + { 0x09, 0x00 }, + { 0x0a, 0x06 }, + { 0x0b, 0x04 }, + { 0x16, 0x2b }, + { 0x17, 0x08 }, + { 0x18, 0x20 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x0c }, + { 0x1d, 0x03 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_ST24; + sensor.optical_res = 1200; + sensor.black_pixels = 48; + sensor.dummy_pixel = 64; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 10800; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x0e }, + { 0x09, 0x0c }, + { 0x0a, 0x00 }, + { 0x0b, 0x0c }, + { 0x16, 0x33 }, + { 0x17, 0x08 }, + { 0x18, 0x31 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x17 }, + { 0x53, 0x03 }, + { 0x54, 0x07 }, + { 0x55, 0x0b }, + { 0x56, 0x0f }, + { 0x57, 0x13 }, + { 0x58, 0x03 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_5345; + sensor.optical_res = 1200; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 48; + sensor.dummy_pixel = 16; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 10872; + sensor.fau_gain_white_ref = 190; + sensor.gain_white_ref = 190; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x0d }, + { 0x09, 0x0f }, + { 0x0a, 0x11 }, + { 0x0b, 0x13 }, + { 0x16, 0x0b }, + { 0x17, 0x0a }, + { 0x18, 0x30 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x03 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x23 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = {2.38, 2.35, 2.34}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_HP2400; + sensor.optical_res = 1200, + sensor.black_pixels = 48; + sensor.dummy_pixel = 15; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 10872; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x14 }, + { 0x09, 0x15 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0xbf }, + { 0x17, 0x08 }, + { 0x18, 0x3f }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x0b }, + { 0x53, 0x0f }, + { 0x54, 0x13 }, + { 0x55, 0x17 }, + { 0x56, 0x03 }, + { 0x57, 0x07 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x0e }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = {2.1, 2.1, 2.1}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_HP2300; + sensor.optical_res = 600; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 48; + sensor.dummy_pixel = 20; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 5368; + sensor.fau_gain_white_ref = 180; + sensor.gain_white_ref = 180; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x16 }, + { 0x09, 0x00 }, + { 0x0a, 0x01 }, + { 0x0b, 0x03 }, + { 0x16, 0xb7 }, + { 0x17, 0x0a }, + { 0x18, 0x20 }, + { 0x19, 0x2a }, + { 0x1a, 0x6a }, + { 0x1b, 0x8a }, + { 0x1c, 0x00 }, + { 0x1d, 0x05 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x06 }, + { 0x5c, 0x0b }, + { 0x5d, 0x10 }, + { 0x5e, 0x16 }, + }; + sensor.gamma = {2.1, 2.1, 2.1}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_CANONLIDE35; + sensor.optical_res = 1200; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 87; + sensor.dummy_pixel = 87; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 10400; + sensor.fau_gain_white_ref = 0; + sensor.gain_white_ref = 0; + sensor.exposure = { 0x0400, 0x0400, 0x0400 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x02 }, + { 0x18, 0x00 }, + { 0x19, 0x50 }, + { 0x1a, 0x00 }, // TODO: 1a-1d: these do no harm, but may be neccessery for CCD + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x05 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x07 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x3a }, + { 0x59, 0x03 }, + { 0x5a, 0x40 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CIS_XP200; + sensor.optical_res = 600; + sensor.black_pixels = 5; + sensor.dummy_pixel = 38; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 5200; + sensor.fau_gain_white_ref = 200; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x1450, 0x0c80, 0x0a28 }; + sensor.custom_regs = { + { 0x08, 0x16 }, + { 0x09, 0x00 }, + { 0x0a, 0x01 }, + { 0x0b, 0x03 }, + { 0x16, 0xb7 }, + { 0x17, 0x0a }, + { 0x18, 0x20 }, + { 0x19, 0x2a }, + { 0x1a, 0x6a }, + { 0x1b, 0x8a }, + { 0x1c, 0x00 }, + { 0x1d, 0x05 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x06 }, + { 0x5c, 0x0b }, + { 0x5d, 0x10 }, + { 0x5e, 0x16 }, + }; + sensor.gamma = {2.1, 2.1, 2.1}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_HP3670; + sensor.optical_res = 1200; + sensor.black_pixels = 48; + sensor.dummy_pixel = 16; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 10872; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x0a }, + { 0x0a, 0x0b }, + { 0x0b, 0x0d }, + { 0x16, 0x33 }, + { 0x17, 0x07 }, + { 0x18, 0x20 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0xc0 }, + { 0x1d, 0x43 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0x15 }, + { 0x5b, 0x05 }, + { 0x5c, 0x0a }, + { 0x5d, 0x0f }, + { 0x5e, 0x00 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_DP665; + sensor.optical_res = 600; + sensor.black_pixels = 27; + sensor.dummy_pixel = 27; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 2496; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x1100, 0x1100, 0x1100 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x02 }, + { 0x18, 0x04 }, + { 0x19, 0x50 }, + { 0x1a, 0x10 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x02 }, + { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x05 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x54 }, + { 0x59, 0x03 }, + { 0x5a, 0x00 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x01 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_ROADWARRIOR; + sensor.optical_res = 600; + sensor.black_pixels = 27; + sensor.dummy_pixel = 27; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 5200; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x1100, 0x1100, 0x1100 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x02 }, + { 0x18, 0x04 }, + { 0x19, 0x50 }, + { 0x1a, 0x10 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x02 }, + { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x05 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x54 }, + { 0x59, 0x03 }, + { 0x5a, 0x00 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x01 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_DSMOBILE600; + sensor.optical_res = 600; + sensor.black_pixels = 28; + sensor.dummy_pixel = 28; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 5200; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x1544, 0x1544, 0x1544 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x02 }, + { 0x18, 0x04 }, + { 0x19, 0x50 }, + { 0x1a, 0x10 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x02 }, + { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x05 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x54 }, + { 0x59, 0x03 }, + { 0x5a, 0x00 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x01 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_XP300; + sensor.optical_res = 600; + sensor.black_pixels = 27; + sensor.dummy_pixel = 27; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 10240; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x1100, 0x1100, 0x1100 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x02 }, + { 0x18, 0x04 }, + { 0x19, 0x50 }, + { 0x1a, 0x10 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x02 }, + { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x05 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x54 }, + { 0x59, 0x03 }, + { 0x5a, 0x00 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x01 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_DP685; + sensor.optical_res = 600; + sensor.black_pixels = 27; + sensor.dummy_pixel = 27; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 5020; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x1100, 0x1100, 0x1100 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x02 }, + { 0x18, 0x04 }, + { 0x19, 0x50 }, + { 0x1a, 0x10 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x02 }, + { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x05 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x54 }, + { 0x59, 0x03 }, + { 0x5a, 0x00 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x01 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CIS_CANONLIDE200; + sensor.optical_res = 4800; + sensor.black_pixels = 87*4; + sensor.dummy_pixel = 16*4; + sensor.CCD_start_xoffset = 320*8; + sensor.sensor_pixels = 5136*8; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x10 }, + { 0x17, 0x08 }, + { 0x18, 0x00 }, + { 0x19, 0xff }, + { 0x1a, 0x34 }, + { 0x1b, 0x00 }, + { 0x1c, 0x02 }, + { 0x1d, 0x04 }, + { 0x52, 0x03 }, + { 0x53, 0x07 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x2a }, + { 0x59, 0xe1 }, + { 0x5a, 0x55 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x41 }, + }; + sensor.gamma = {1.7, 1.7, 1.7}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CIS_CANONLIDE700; + sensor.optical_res = 4800; + sensor.black_pixels = 73*8; // black pixels 73 at 600 dpi + sensor.dummy_pixel = 16*8; + // 384 at 600 dpi + sensor.CCD_start_xoffset = 384*8; + // 8x5570 segments, 5187+1 for rounding + sensor.sensor_pixels = 5188*8; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x10 }, + { 0x17, 0x08 }, + { 0x18, 0x00 }, + { 0x19, 0xff }, + { 0x1a, 0x34 }, + { 0x1b, 0x00 }, + { 0x1c, 0x02 }, + { 0x1d, 0x04 }, + { 0x52, 0x07 }, + { 0x53, 0x03 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x2a }, + { 0x59, 0xe1 }, + { 0x5a, 0x55 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x41 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CIS_CANONLIDE100; + sensor.optical_res = 2400; + sensor.black_pixels = 87*4, /* black pixels */ + sensor.dummy_pixel = 16*4; + sensor.CCD_start_xoffset = 320*4; + sensor.sensor_pixels = 5136*4; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x01c1, 0x0126, 0x00e5 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x10 }, + { 0x17, 0x08 }, + { 0x18, 0x00 }, + { 0x19, 0x50 }, + { 0x1a, 0x34 }, + { 0x1b, 0x00 }, + { 0x1c, 0x02 }, + { 0x1d, 0x04 }, + { 0x52, 0x03 }, + { 0x53, 0x07 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x2a }, + { 0x59, 0xe1 }, + { 0x5a, 0x55 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x41 }, + }; + sensor.gamma = {1.7, 1.7, 1.7}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_KVSS080; + sensor.optical_res = 600; + sensor.black_pixels = 38; + sensor.dummy_pixel = 38; + sensor.CCD_start_xoffset = 152; + sensor.sensor_pixels = 5376; + sensor.fau_gain_white_ref = 160; + sensor.gain_white_ref = 160; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.exposure_lperiod = 8000; + sensor.custom_regs = { + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x00 }, + { 0x77, 0x00 }, { 0x78, 0xff }, { 0x79, 0xff }, + { 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, + { 0x0c, 0x00 }, + { 0x70, 0x01 }, + { 0x71, 0x03 }, + { 0x9e, 0x00 }, + { 0xaa, 0x00 }, + { 0x16, 0x33 }, + { 0x17, 0x1c }, + { 0x18, 0x00 }, + { 0x19, 0x2a }, + { 0x1a, 0x2c }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x04 }, + { 0x52, 0x0c }, + { 0x53, 0x0f }, + { 0x54, 0x00 }, + { 0x55, 0x03 }, + { 0x56, 0x06 }, + { 0x57, 0x09 }, + { 0x58, 0x6b }, + { 0x59, 0x00 }, + { 0x5a, 0xc0 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_G4050; + sensor.optical_res = 4800; + sensor.black_pixels = 50*8; + // 31 at 600 dpi dummy_pixels 58 at 1200 + sensor.dummy_pixel = 58; + sensor.CCD_start_xoffset = 152; + sensor.sensor_pixels = 5360*8; + sensor.fau_gain_white_ref = 160; + sensor.gain_white_ref = 160; + sensor.exposure = { 0x2c09, 0x22b8, 0x10f0 }; + sensor.custom_regs = {}; + sensor.gamma = {1.0, 1.0, 1.0}; + + { + struct CustomSensorSettings { + int min_resolution; + int max_resolution; + int exposure_lperiod; + ScanMethod method; + GenesysRegisterSettingSet extra_custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { -1, 600, 8016, ScanMethod::FLATBED, { + { 0x74, 0x00 }, { 0x75, 0x01 }, { 0x76, 0xff }, + { 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff }, + { 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, + { 0x0c, 0x00 }, + { 0x70, 0x00 }, + { 0x71, 0x02 }, + { 0x9e, 0x00 }, + { 0xaa, 0x00 }, + { 0x16, 0x33 }, + { 0x17, 0x0c }, + { 0x18, 0x00 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x08 }, + { 0x52, 0x0b }, + { 0x53, 0x0e }, + { 0x54, 0x11 }, + { 0x55, 0x02 }, + { 0x56, 0x05 }, + { 0x57, 0x08 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + } + }, + { 1200, 1200, 56064, ScanMethod::FLATBED, { + { 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff }, + { 0x77, 0x00 }, { 0x78, 0x01 }, { 0x79, 0xff }, + { 0x7a, 0x00 }, { 0x7b, 0x01 }, { 0x7c, 0xff }, + { 0x0c, 0x20 }, + { 0x70, 0x08 }, + { 0x71, 0x0c }, + { 0x9e, 0xc0 }, + { 0xaa, 0x05 }, + { 0x16, 0x3b }, + { 0x17, 0x0c }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x38 }, + { 0x1b, 0x10 }, + { 0x1c, 0x00 }, + { 0x1d, 0x08 }, + { 0x52, 0x02 }, + { 0x53, 0x05 }, + { 0x54, 0x08 }, + { 0x55, 0x0b }, + { 0x56, 0x0e }, + { 0x57, 0x11 }, + { 0x58, 0x1b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + } + }, + { 2400, 2400, 56064, ScanMethod::FLATBED, { + { 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, + { 0x0c, 0x20 }, + { 0x70, 0x08 }, + { 0x71, 0x0a }, + { 0x9e, 0xc0 }, + { 0xaa, 0x05 }, + { 0x16, 0x3b }, + { 0x17, 0x0c }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x38 }, + { 0x1b, 0x10 }, + { 0x1c, 0xc0 }, + { 0x1d, 0x08 }, + { 0x52, 0x02 }, + { 0x53, 0x05 }, + { 0x54, 0x08 }, + { 0x55, 0x0b }, + { 0x56, 0x0e }, + { 0x57, 0x11 }, + { 0x58, 0x1b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + } + }, + { 4800, 4800, 42752, ScanMethod::FLATBED, { + { 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, + { 0x0c, 0x21 }, + { 0x70, 0x08 }, + { 0x71, 0x0a }, + { 0x9e, 0xc0 }, + { 0xaa, 0x07 }, + { 0x16, 0x3b }, + { 0x17, 0x0c }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x38 }, + { 0x1b, 0x10 }, + { 0x1c, 0xc1 }, + { 0x1d, 0x08 }, + { 0x52, 0x02 }, + { 0x53, 0x05 }, + { 0x54, 0x08 }, + { 0x55, 0x0b }, + { 0x56, 0x0e }, + { 0x57, 0x11 }, + { 0x58, 0x1b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + } + }, + { -1, -1, 15624, ScanMethod::TRANSPARENCY, { + { 0x74, 0x00 }, { 0x75, 0x1c }, { 0x76, 0x7f }, + { 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff }, + { 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, + { 0x0c, 0x00 }, + { 0x70, 0x00 }, + { 0x71, 0x02 }, + { 0x9e, 0x00 }, + { 0xaa, 0x00 }, + { 0x16, 0x33 }, + { 0x17, 0x4c }, + { 0x18, 0x01 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x08 }, + { 0x52, 0x0e }, + { 0x53, 0x11 }, + { 0x54, 0x02 }, + { 0x55, 0x05 }, + { 0x56, 0x08 }, + { 0x57, 0x0b }, + { 0x58, 0x6b }, + { 0x59, 0x00 }, + { 0x5a, 0xc0 }, + } + } + }; + + auto base_custom_regs = sensor.custom_regs; + for (const CustomSensorSettings& setting : custom_settings) + { + sensor.min_resolution = setting.min_resolution; + sensor.max_resolution = setting.max_resolution; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.method = setting.method; + sensor.custom_regs = base_custom_regs; + sensor.custom_regs.merge(setting.extra_custom_regs); + s_sensors->push_back(sensor); + } + } + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_CS4400F; + sensor.optical_res = 4800; + sensor.ccd_size_divisor = 4; + sensor.black_pixels = 50*8; + // 31 at 600 dpi, 58 at 1200 dpi + sensor.dummy_pixel = 20; + sensor.CCD_start_xoffset = 152; + // 5360 max at 600 dpi + sensor.sensor_pixels = 5360*8; + sensor.fau_gain_white_ref = 160; + sensor.gain_white_ref = 160; + sensor.exposure = { 0x9c40, 0x9c40, 0x9c40 }; + sensor.exposure_lperiod = 11640; + sensor.custom_regs = { + { 0x74, 0x00 }, { 0x75, 0xf8 }, { 0x76, 0x38 }, + { 0x77, 0x00 }, { 0x78, 0xfc }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0xa4 }, + { 0x0c, 0x00 }, + { 0x70, 0x00 }, + { 0x71, 0x02 }, + { 0x9e, 0x2d }, + { 0xaa, 0x00 }, + { 0x16, 0x13 }, + { 0x17, 0x0a }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x6b }, + { 0x52, 0x0a }, + { 0x53, 0x0d }, + { 0x54, 0x00 }, + { 0x55, 0x03 }, + { 0x56, 0x06 }, + { 0x57, 0x08 }, + { 0x58, 0x5b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_CS8400F; + sensor.optical_res = 4800; + sensor.black_pixels = 50*8; + // 31 at 600 dpi, 58 at 1200 dpi + sensor.dummy_pixel = 20; + sensor.CCD_start_xoffset = 152; + // 5360 max at 600 dpi + sensor.sensor_pixels = 5360*8; + sensor.fau_gain_white_ref = 160; + sensor.gain_white_ref = 160; + sensor.exposure = { 0x9c40, 0x9c40, 0x9c40 }; + sensor.exposure_lperiod = 7200; + sensor.custom_regs = { + { 0x74, 0x00 }, { 0x75, 0x0e }, { 0x76, 0x3f }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x01 }, { 0x7b, 0xb6 }, { 0x7c, 0xdb }, + { 0x0c, 0x00 }, + { 0x70, 0x01 }, + { 0x71, 0x02 }, + { 0x9e, 0x00 }, + { 0xaa, 0x00 }, + { 0x16, 0x33 }, + { 0x17, 0x0c }, + { 0x18, 0x13 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x84 }, + { 0x52, 0x0d }, + { 0x53, 0x10 }, + { 0x54, 0x01 }, + { 0x55, 0x04 }, + { 0x56, 0x07 }, + { 0x57, 0x0a }, + { 0x58, 0x6b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_CS8600F; + sensor.optical_res = 4800; + sensor.ccd_size_divisor = 4; + sensor.black_pixels = 31; + sensor.dummy_pixel = 20; + sensor.CCD_start_xoffset = 0; // not used at the moment + // 11372 pixels at 1200 dpi + sensor.sensor_pixels = 11372*4; + sensor.fau_gain_white_ref = 160; + sensor.gain_white_ref = 160; + sensor.exposure = { 0x9c40, 0x9c40, 0x9c40 }; + sensor.custom_regs = {}; + sensor.gamma = {1.0, 1.0, 1.0}; + + { + struct CustomSensorSettings { + int min_resolution; + int max_resolution; + int exposure_lperiod; + ScanMethod method; + GenesysRegisterSettingSet extra_custom_regs; + GenesysRegisterSettingSet custom_fe_regs; + }; + + CustomSensorSettings custom_settings[] = { + { -1, 1200, 24000, ScanMethod::FLATBED, { + { 0x74, 0x03 }, { 0x75, 0xf0 }, { 0x76, 0xf0 }, + { 0x77, 0x03 }, { 0x78, 0xfe }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0x49 }, + { 0x0c, 0x00 }, + { 0x70, 0x00 }, + { 0x71, 0x02 }, + { 0x9e, 0x2d }, + { 0xaa, 0x00 }, + { 0x16, 0x13 }, + { 0x17, 0x0a }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x6b }, + { 0x52, 0x0c }, + { 0x53, 0x0f }, + { 0x54, 0x00 }, + { 0x55, 0x03 }, + { 0x56, 0x06 }, + { 0x57, 0x09 }, + { 0x58, 0x6b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + }, + {}, + }, + { -1, 1200, 24000, ScanMethod::TRANSPARENCY, { + { 0x74, 0x03 }, { 0x75, 0xf0 }, { 0x76, 0xf0 }, + { 0x77, 0x03 }, { 0x78, 0xfe }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0x49 }, + { 0x0c, 0x00 }, + { 0x70, 0x00 }, + { 0x71, 0x02 }, + { 0x9e, 0x2d }, + { 0xaa, 0x00 }, + { 0x16, 0x13 }, + { 0x17, 0x0a }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x6b }, + { 0x52, 0x0c }, + { 0x53, 0x0f }, + { 0x54, 0x00 }, + { 0x55, 0x03 }, + { 0x56, 0x06 }, + { 0x57, 0x09 }, + { 0x58, 0x6b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + }, + {}, + }, + { 2400, 2400, 24000, ScanMethod::TRANSPARENCY, { + { 0x74, 0x03 }, { 0x75, 0xfe }, { 0x76, 0x00 }, + { 0x77, 0x03 }, { 0x78, 0xfe }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0x49 }, + { 0x0c, 0x00 }, + { 0x70, 0x00 }, + { 0x71, 0x02 }, + { 0x9e, 0x2d }, + { 0xaa, 0x00 }, + { 0x16, 0x13 }, + { 0x17, 0x15 }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x01 }, + { 0x1d, 0x75 }, + { 0x52, 0x0c }, + { 0x53, 0x0f }, + { 0x54, 0x00 }, + { 0x55, 0x03 }, + { 0x56, 0x06 }, + { 0x57, 0x09 }, + { 0x58, 0x6b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + }, + {}, + }, + { 4800, 4800, 24000, ScanMethod::TRANSPARENCY, { + { 0x74, 0x03 }, { 0x75, 0xff }, { 0x76, 0xff }, + { 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff }, + { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0x49 }, + { 0x0c, 0x00 }, + { 0x70, 0x0a }, + { 0x71, 0x0c }, + { 0x72, 0x0c }, + { 0x73, 0x0e }, + { 0x9e, 0x2d }, + { 0xaa, 0x00 }, + { 0x16, 0x13 }, + { 0x17, 0x15 }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x61 }, + { 0x1d, 0x75 }, + { 0x52, 0x03 }, + { 0x53, 0x06 }, + { 0x54, 0x09 }, + { 0x55, 0x0c }, + { 0x56, 0x0f }, + { 0x57, 0x00 }, + { 0x58, 0x23 }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + }, + { { 0x03, 0x1f }, + }, + }, + }; + + auto base_custom_regs = sensor.custom_regs; + for (const CustomSensorSettings& setting : custom_settings) + { + sensor.min_resolution = setting.min_resolution; + sensor.max_resolution = setting.max_resolution; + sensor.method = setting.method; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.custom_regs = base_custom_regs; + sensor.custom_regs.merge(setting.extra_custom_regs); + sensor.custom_fe_regs = setting.custom_fe_regs; + s_sensors->push_back(sensor); + } + } + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_HP_N6310; + sensor.optical_res = 2400; + // sensor.ccd_size_divisor = 2; Possibly half CCD, needs checking + sensor.black_pixels = 96; + sensor.dummy_pixel = 26; + sensor.CCD_start_xoffset = 128; + sensor.sensor_pixels = 42720; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x10 }, + { 0x0a, 0x10 }, + { 0x0b, 0x0c }, + { 0x16, 0x33 }, + { 0x17, 0x0c }, + { 0x18, 0x02 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x08 }, + { 0x52, 0x0b }, + { 0x53, 0x0e }, + { 0x54, 0x11 }, + { 0x55, 0x02 }, + { 0x56, 0x05 }, + { 0x57, 0x08 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x06 }, + { 0x5e, 0x6f }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CIS_CANONLIDE110; + sensor.optical_res = 2400; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 87; + sensor.dummy_pixel = 16; + sensor.CCD_start_xoffset = 303; + sensor.sensor_pixels = 5168*4; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x10 }, + { 0x17, 0x04 }, + { 0x18, 0x00 }, + { 0x19, 0x01 }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x02 }, + { 0x1d, 0x01 }, + { 0x52, 0x00 }, + { 0x53, 0x02 }, + { 0x54, 0x04 }, + { 0x55, 0x06 }, + { 0x56, 0x04 }, + { 0x57, 0x04 }, + { 0x58, 0x04 }, + { 0x59, 0x04 }, + { 0x5a, 0x1a }, + { 0x5b, 0x00 }, + { 0x5c, 0xc0 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = {2.1, 2.1, 2.1}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CIS_CANONLIDE120; + sensor.optical_res = 2400; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 87; + sensor.dummy_pixel = 16; + sensor.CCD_start_xoffset = 303; + // SEGCNT at 600 DPI by number of segments + sensor.sensor_pixels = 5104*4; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x15 }, + { 0x17, 0x04 }, + { 0x18, 0x00 }, + { 0x19, 0x01 }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x02 }, + { 0x1d, 0x01 }, + { 0x52, 0x04 }, + { 0x53, 0x06 }, + { 0x54, 0x00 }, + { 0x55, 0x02 }, + { 0x56, 0x04 }, + { 0x57, 0x04 }, + { 0x58, 0x04 }, + { 0x59, 0x04 }, + { 0x5a, 0x3a }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x1f }, + }; + sensor.gamma = {2.1, 2.1, 2.1}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CIS_CANONLIDE210; + sensor.optical_res = 2400; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 87; + sensor.dummy_pixel = 16; + sensor.CCD_start_xoffset = 303; + sensor.sensor_pixels = 5168*4; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x10 }, + { 0x17, 0x04 }, + { 0x18, 0x00 }, + { 0x19, 0x01 }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x02 }, + { 0x1d, 0x01 }, + { 0x52, 0x00 }, + { 0x53, 0x02 }, + { 0x54, 0x04 }, + { 0x55, 0x06 }, + { 0x56, 0x04 }, + { 0x57, 0x04 }, + { 0x58, 0x04 }, + { 0x59, 0x04 }, + { 0x5a, 0x1a }, + { 0x5b, 0x00 }, + { 0x5c, 0xc0 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = {2.1, 2.1, 2.1}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CIS_CANONLIDE220; + sensor.optical_res = 2400; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 87; + sensor.dummy_pixel = 16; + sensor.CCD_start_xoffset = 303; + sensor.sensor_pixels = 5168*4; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x10 }, + { 0x17, 0x04 }, + { 0x18, 0x00 }, + { 0x19, 0x01 }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x02 }, + { 0x1d, 0x01 }, + { 0x52, 0x00 }, + { 0x53, 0x02 }, + { 0x54, 0x04 }, + { 0x55, 0x06 }, + { 0x56, 0x04 }, + { 0x57, 0x04 }, + { 0x58, 0x04 }, + { 0x59, 0x04 }, + { 0x5a, 0x1a }, + { 0x5b, 0x00 }, + { 0x5c, 0xc0 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = {2.1, 2.1, 2.1}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_PLUSTEK_3600; + sensor.optical_res = 1200; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 87; + sensor.dummy_pixel = 87; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 10100; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x33 }, + { 0x17, 0x0b }, + { 0x18, 0x11 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0xc4 }, + { 0x52, 0x07 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x0a }, + { 0x54, 0x0c }, + { 0x55, 0x00 }, + { 0x56, 0x02 }, + { 0x57, 0x06 }, + { 0x58, 0x22 }, + { 0x59, 0x69 }, + { 0x5a, 0x40 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x02 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_IMG101; + sensor.optical_res = 1200; + sensor.black_pixels = 31; + sensor.dummy_pixel = 31; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 10800; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x60 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x8b }, + { 0x16, 0xbb }, + { 0x17, 0x13 }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x34 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x06 }, + { 0x52, 0x02 }, + { 0x53, 0x04 }, + { 0x54, 0x06 }, + { 0x55, 0x08 }, + { 0x56, 0x0a }, + { 0x57, 0x00 }, + { 0x58, 0x59 }, + { 0x59, 0x31 }, + { 0x5a, 0x40 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x1f }, + }; + sensor.gamma = {1.7, 1.7, 1.7}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CCD_PLUSTEK3800; + sensor.optical_res = 1200; + sensor.black_pixels = 31; + sensor.dummy_pixel = 31; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 10200; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x60 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x8b }, + { 0x16, 0xbb }, + { 0x17, 0x13 }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x34 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x06 }, + { 0x52, 0x02 }, + { 0x53, 0x04 }, + { 0x54, 0x06 }, + { 0x55, 0x08 }, + { 0x56, 0x0a }, + { 0x57, 0x00 }, + { 0x58, 0x59 }, + { 0x59, 0x31 }, + { 0x5a, 0x40 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x1f }, + }; + sensor.gamma = {1.7, 1.7, 1.7}; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = CIS_CANONLIDE80, + sensor.optical_res = 1200; // real hardware limit is 2400 + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 20; + sensor.dummy_pixel = 6; + // tuned to give 3*8 multiple startx coordinate during shading calibration + sensor.CCD_start_xoffset = 34; // 14=>3, 20=>2 + // 10400, too wide=>10288 in shading data 10240~ + // 10208 too short for shading, max shading data = 10240 pixels, endpix-startpix=10208 + sensor.sensor_pixels = 10240; + sensor.fau_gain_white_ref = 150; + sensor.gain_white_ref = 150; + // maps to 0x70-0x73 for GL841 + sensor.exposure = { 0x1000, 0x1000, 0x0500 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x05 }, + { 0x0a, 0x07 }, + { 0x0b, 0x09 }, + { 0x16, 0x00 }, + { 0x17, 0x01 }, + { 0x18, 0x00 }, + { 0x19, 0x06 }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x04 }, + { 0x52, 0x03 }, + { 0x53, 0x07 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x29 }, + { 0x59, 0x69 }, + { 0x5a, 0x55 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x20 }, + { 0x5e, 0x41 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + s_sensors->push_back(sensor); +} + +/** for General Purpose Output specific settings: + * initial GPO value (registers 0x66-0x67/0x6c-0x6d) + * GPO enable mask (registers 0x68-0x69/0x6e-0x6f) + * The first register is for GPIO9-GPIO16, the second for GPIO1-GPIO8 + */ +static Genesys_Gpo Gpo[] = { + /* UMAX */ + {GPO_UMAX, + {0x11, 0x00} + , + {0x51, 0x20} + , + } + , + /* Plustek OpticPro S12/ST12 */ + {GPO_ST12, + {0x11, 0x00} + , + {0x51, 0x20} + , + } + , + /* Plustek OpticPro S24/ST24 */ + {GPO_ST24, + {0x00, 0x00} + , + {0x51, 0x20} + , + } + , + /* MD5345/MD6471 */ + {GPO_5345, + {0x30, 0x18} + , /* bits 11-12 are for bipolar V-ref input voltage */ + {0xa0, 0x18} + , + } + , + /* HP2400C */ + {GPO_HP2400, + {0x30, 0x00} + , + {0x31, 0x00} + , + } + , + /* HP2300C */ + {GPO_HP2300, + {0x00, 0x00} + , + {0x00, 0x00} + , + } + , + /* CANONLIDE35 */ + {GPO_CANONLIDE35, + {0x02, 0x80} + , + {0xef, 0x80} + , + } + , + /* 7: XP200 */ + {GPO_XP200, + {0x30, 0x00} + , + {0xb0, 0x00} + , + }, + /* HP3670 */ + {GPO_HP3670, + {0x00, 0x00} + , + {0x00, 0x00} + } + , + /* 8: XP300 */ + {GPO_XP300, + {0x09, 0xc6}, + {0xbb, 0x00}, + } + , + /* Syscan DP 665 */ + { + GPO_DP665, + {0x18, 0x00},/*0x19,0x00*/ + {0xbb, 0x00}, + } + , + /* Syscan DP 685 */ + { + GPO_DP685, + {0x3f, 0x46}, /* 6c, 6d */ + {0xfb, 0x00}, /* 6e, 6f */ + }, + /* CANONLIDE200 */ + {GPO_CANONLIDE200, + {0xfb, 0x20}, /* 0xfb when idle , 0xf9/0xe9 (1200) when scanning */ + {0xff, 0x00}, + }, + /* CANONLIDE700 */ + {GPO_CANONLIDE700, + {0xdb, 0xff}, + {0xff, 0x80}, + }, + {GPO_KVSS080, + {0xf5, 0x20}, + {0x7e, 0xa1}, + } + , + {GPO_G4050, + {0x20, 0x00}, + {0xfc, 0x00}, + } + , + /* HP N6310 */ + {GPO_HP_N6310, + {0xa3, 0x00}, + {0x7f, 0x00}, + } + , + /* CANONLIDE110 */ + {GPO_CANONLIDE110, + {0xfb, 0x20}, + {0xff, 0x00}, + } + , + /* CANONLIDE120 */ + {GPO_CANONLIDE120, + {0xfb, 0x20}, + {0xff, 0x00}, + } + , + /* CANONLIDE210 */ + {GPO_CANONLIDE210, + {0xfb, 0x20}, + {0xff, 0x00}, + } + , + /* Plustek 3600 */ + {GPO_PLUSTEK_3600, + {0x02, 0x00}, + {0x1e, 0x80}, + } + /* CanoScan 4400f */ + , + {GPO_CS4400F, + {0x01, 0x7f}, + {0xff, 0x00}, + } + /* CanoScan 8400f */ + , + {GPO_CS8400F, + {0x9a, 0xdf}, + {0xfe, 0x60}, + } + /* CanoScan 8600F */ + , + { GPO_CS8600F, + { 0x20, 0x7c }, + { 0xff, 0x00 }, + } + /* Canon Image formula 101 */ + , + {GPO_IMG101, + {0x41, 0xa4}, + {0x13, 0xa7} + } + /* Plustek OpticBook 3800 */ + , + {GPO_PLUSTEK3800, + {0x41, 0xa4}, + {0x13, 0xa7} + }, + /* Canon LiDE 80 */ + { + GPO_CANONLIDE80, + {0x28, 0x90}, + {0x75, 0x80}, + } +}; + +static Genesys_Motor Motor[] = { + /* UMAX */ + {MOTOR_UMAX, + 1200, /* motor base steps */ + 2400, /* maximum motor resolution */ + 1, /* maximum step mode */ + 1, /* number of power modes*/ + {{{ + 11000, /* maximum start speed */ + 3000, /* maximum end speed */ + 128, /* step count */ + 1.0, /* nonlinearity */ + }, + { + 11000, + 3000, + 128, + 1.0, + },},}, + }, + {MOTOR_5345, /* MD5345/6228/6471 */ + 1200, + 2400, + 1, + 1, + {{{ + 2000, + 1375, + 128, + 0.5, + }, + { + 2000, + 1375, + 128, + 0.5, + },},}, + }, + {MOTOR_ST24, /* ST24 */ + 2400, + 2400, + 1, + 1, + {{{ + 2289, + 2100, + 128, + 0.3, + }, + { + 2289, + 2100, + 128, + 0.3, + },},}, + }, + {MOTOR_HP3670, /* HP 3670 */ + 1200, + 2400, + 1, + 1, + {{{ + 11000, /* start speed */ + 3000, /* max speed */ + 128, /* min steps */ + 0.25, + }, + { + 11000, + 3000, + 128, + 0.5, + },},}, + }, + {MOTOR_HP2400, /* HP 2400c */ + 1200, + 1200, + 1, + 1, + {{{ + 11000, /* start speed */ + 3000, /* max speed */ + 128, /* min steps */ + 0.25, + }, + { + 11000, + 3000, + 128, + 0.5, + },},}, + }, + {MOTOR_HP2300, /* HP 2300c */ + 600, /* 600/1200 */ + 1200, + 1, + 1, + {{{ + 3200, + 1200, + 128, + 0.5, + }, + { + 3200, + 1200, + 128, + 0.5, + },},}, + }, + {MOTOR_CANONLIDE35, /* Canon LiDE 35 */ + 1200, + 2400, + 1, + 1, + {{{ 3500, 1300, 60, 0.8, }, + { 3500, 1400, 60, 0.8, },},}, + }, + {MOTOR_XP200, /* Strobe XP200 */ + 600, + 600, + 1, + 1, + {{{ + 3500, + 1300, + 60, + 0.25, + }, + { + 3500, + 1400, + 60, + 0.5, + },},}, + }, + {MOTOR_XP300, /* 7: Visioneer Strobe XP300 */ + 300, + 600, + 1, + 1, + {{{ /* works best with GPIO10, GPIO14 off */ + 3700, + 3700, + 2, + 0.8, + }, + { + 11000, + 11000, + 2, + 0.8, + },},}, + }, + {MOTOR_DP665, /* Syscan DP 665 */ + 750, + 1500, + 1, + 1, + {{{ + 3000, + 2500, + 10, + 0.8, + }, + { + 11000, + 11000, + 2, + 0.8, + },},}, + }, + {MOTOR_ROADWARRIOR, /* Visioneer Roadwarrior */ + 750, + 1500, + 1, + 1, + {{{ + 3000, + 2600, + 10, + 0.8, + }, + { + 11000, + 11000, + 2, + 0.8, + },},}, + }, + {MOTOR_DSMOBILE_600, /* Pentax DSmobile 600 */ + 750, + 1500, + 2, + 1, + {{{ + 6666, + 3700, + 8, + 0.8, + }, + { + 6666, + 3700, + 8, + 0.8, + },},}, + }, + {MOTOR_CANONLIDE100, /* Canon LiDE 100 */ + 1200, + 6400, + 2, /* maximum step type count */ + 1, /* maximum power modes count */ + { /* motor slopes */ + { /* power mode 0 */ + { 3000, 1000, 127, 0.50}, /* full step */ + { 3000, 1500, 127, 0.50}, /* half step */ + { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ + }, + }, + }, + {MOTOR_CANONLIDE200, /* Canon LiDE 200 */ + 1200, + 6400, + 2, + 1, + { /* motor slopes */ + { /* power mode 0 */ + { 3000, 1000, 127, 0.50}, /* full step */ + { 3000, 1500, 127, 0.50}, /* half step */ + { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ + }, + }, + }, + {MOTOR_CANONLIDE700, /* Canon LiDE 700 */ + 1200, + 6400, + 2, + 1, + { /* motor slopes */ + { /* power mode 0 */ + { 3000, 1000, 127, 0.50}, /* full step */ + { 3000, 1500, 127, 0.50}, /* half step */ + { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ + }, + }, + }, + {MOTOR_KVSS080, + 1200, + 1200, + 2, + 1, + { /* motor slopes */ + { /* power mode 0 */ + { 22222, 500, 246, 0.5 }, /* max speed / dpi * base dpi => exposure */ + { 22222, 500, 246, 0.5 }, + { 22222, 500, 246, 0.5 }, + }, + }, + }, + {MOTOR_G4050, + 2400, + 9600, + 2, + 1, + { /* motor slopes */ + { /* power mode 0 */ + { 3961, 240, 246, 0.8 }, /* full step */ + { 3961, 240, 246, 0.8 }, /* half step */ + { 3961, 240, 246, 0.8 }, /* quarter step */ + }, + }, + }, + {MOTOR_CS8400F, + 2400, + 9600, + 2, + 1, + { /* motor slopes */ + { /* power mode 0 */ + { 3961, 240, 246, 0.8 }, /* full step */ + { 3961, 240, 246, 0.8 }, /* half step */ + { 3961, 240, 246, 0.8 }, /* quarter step */ + }, + }, + }, + { + MOTOR_CS8600F, + 2400, + 9600, + 2, + 1, + { /* motor slopes */ + { /* power mode 0 */ + { 3961, 240, 246, 0.8 }, /* full step */ + { 3961, 240, 246, 0.8 }, /* half step */ + { 3961, 240, 246, 0.8 }, /* quarter step */ + }, + }, + }, + {MOTOR_CANONLIDE110, /* Canon LiDE 110 */ + 4800, + 9600, + 1, /* maximum step type count */ + 1, /* maximum power modes count */ + { /* motor slopes */ + { /* power mode 0 */ + { 3000, 1000, 256, 0.50}, /* full step */ + }, + }, + }, + {MOTOR_CANONLIDE120, /* Canon LiDE 120 */ + 4800, + 9600, + 1, /* maximum step type count */ + 1, /* maximum power modes count */ + { /* motor slopes */ + { /* power mode 0 */ + { 3000, 1000, 256, 0.50}, /* full step */ + }, + }, + }, + {MOTOR_CANONLIDE210, /* Canon LiDE 210 */ + 4800, + 9600, + 1, /* maximum step type count */ + 1, /* maximum power modes count */ + { /* motor slopes */ + { /* power mode 0 */ + { 3000, 1000, 256, 0.50}, /* full step */ + }, + }, + }, + {MOTOR_PLUSTEK_3600, /* PLUSTEK 3600 */ + 1200, + 2400, + 1, + 1, + { + { + { 3500, 1300, 60, 0.8 }, + { 3500, 3250, 60, 0.8 }, + }, + },}, + {MOTOR_IMG101, /* Canon Image Formula 101 */ + 600, + 1200, + 1, + 1, + { + { + { 3500, 1300, 60, 0.8 }, + { 3500, 3250, 60, 0.8 }, + }, + },}, + {MOTOR_PLUSTEK3800, /* Plustek OpticBook 3800 */ + 600, + 1200, + 1, + 1, + { + { + { 3500, 1300, 60, 0.8 }, + { 3500, 3250, 60, 0.8 }, + }, + },}, + {MOTOR_CANONLIDE80, + 2400, /* 2400 ???? */ + 4800, /* 9600 ???? */ + 1, /* max step type */ + 1, /* power mode count */ + { + { /* start speed, max end speed, step number */ + /* maximum speed (second field) is used to compute exposure as seen by motor */ + /* exposure=max speed/ slope dpi * base dpi */ + /* 5144 = max pixels at 600 dpi */ + /* 1288=(5144+8)*ydpi(=300)/base_dpi(=1200) , where 5152 is exposure */ + /* 6440=9660/(1932/1288) */ + { 9560, 1912, 31, 0.8 }, + }, + },}, +}; + +/* here we have the various device settings... + */ +static Genesys_Model umax_astra_4500_model = { + "umax-astra-4500", /* Name */ + "UMAX", /* Device vendor string */ + "Astra 4500", /* Device model name */ + MODEL_UMAX_ASTRA_4500, + GENESYS_GL646, + NULL, + + {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (3.5), /* Start of scan area in mm (x) */ + SANE_FIX (7.5), /* Start of scan area in mm (y) */ + SANE_FIX (218.0), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (1.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_UMAX, + DAC_WOLFSON_UMAX, + GPO_UMAX, + MOTOR_UMAX, + GENESYS_FLAG_UNTESTED, /* Which flags are needed for this scanner? */ + /* untested, values set by hmg */ + GENESYS_HAS_NO_BUTTONS, /* no buttons supported */ + 20, + 0, // shading_ta_lines + 200 +}; + +static Genesys_Model canon_lide_50_model = { + "canon-lide-50", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 35/40/50", /* Device model name */ + MODEL_CANON_LIDE_50, + GENESYS_GL841, + NULL, + + { 1200, 600, 400, 300, 240, 200, 150, 75, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 400, 300, 240, 200, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.42), /* Start of scan area in mm (x) */ + SANE_FIX (7.9), /* Start of scan area in mm (y) */ + SANE_FIX (218.0), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ + + SANE_FIX (6.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_CANONLIDE35, + DAC_CANONLIDE35, + GPO_CANONLIDE35, + MOTOR_CANONLIDE35, + GENESYS_FLAG_LAZY_INIT | /* Which flags are needed for this scanner? */ + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_WHITE_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | + GENESYS_HAS_FILE_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_COPY_SW, + 280, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model panasonic_kvss080_model = { + "panasonic-kv-ss080", /* Name */ + "Panasonic", /* Device vendor string */ + "KV-SS080", /* Device model name */ + MODEL_PANASONIC_KV_SS080, + GENESYS_GL843, + NULL, + + { 600, /* 500, 400,*/ 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ + { 1200, 600, /* 500, 400, */ 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (7.2), /* Start of scan area in mm (x) */ + SANE_FIX (14.7), /* Start of scan area in mm (y) */ + SANE_FIX (217.7), /* Size of scan area in mm (x) */ + SANE_FIX (300.0), /* Size of scan area in mm (y) */ + + SANE_FIX (9.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_KVSS080, + DAC_KVSS080, + GPO_KVSS080, + MOTOR_KVSS080, + GENESYS_FLAG_LAZY_INIT | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW , + 100, + 0, // shading_ta_lines + 100 +}; + +static Genesys_Model hp4850c_model = { + "hewlett-packard-scanjet-4850c", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet 4850C", /* Device model name */ + MODEL_HP_SCANJET_4850C, + GENESYS_GL843, + NULL, + + {2400, 1200, 600, 400, 300, 200, 150, 100, 0}, + {2400, 1200, 600, 400, 300, 200, 150, 100, 0}, + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (7.9), /* Start of scan area in mm (x) */ + SANE_FIX (5.9), /* Start of scan area in mm (y) */ + SANE_FIX (219.6), /* Size of scan area in mm (x) */ + SANE_FIX (314.5), /* Size of scan area in mm (y) */ + + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 24, 48, /* RGB CCD Line-distance correction in line number */ + /* 0 38 76 OK 1200/2400 */ + /* 0 24 48 OK [100,600] dpi */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_G4050, + DAC_G4050, + GPO_G4050, + MOTOR_G4050, + GENESYS_FLAG_LAZY_INIT | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_STAGGERED_LINE | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, + 100, + 0, // shading_ta_lines + 100 +}; + +static Genesys_Model hpg4010_model = { + "hewlett-packard-scanjet-g4010", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet G4010", /* Device model name */ + MODEL_HP_SCANJET_G4010, + GENESYS_GL843, + NULL, + + { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, + { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (8.0), /* Start of scan area in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ + SANE_FIX (315.0), /* Size of scan area in mm (y) */ + + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 24, 48, /* RGB CCD Line-distance correction in line number */ + /* 0 38 76 OK 1200/2400 */ + /* 0 24 48 OK [100,600] dpi */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_G4050, + DAC_G4050, + GPO_G4050, + MOTOR_G4050, + GENESYS_FLAG_LAZY_INIT | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_STAGGERED_LINE | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, + 100, + 0, // shading_ta_lines + 100 +}; + +static Genesys_Model hpg4050_model = { + "hewlett-packard-scanjet-g4050", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet G4050", /* Device model name */ + MODEL_HP_SCANJET_G4050, + GENESYS_GL843, + NULL, + + { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, + { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (8.0), /* Start of scan area in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ + SANE_FIX (315.0), /* Size of scan area in mm (y) */ + + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 24, 48, /* RGB CCD Line-distance correction in line number */ + /* 0 38 76 OK 1200/2400 */ + /* 0 24 48 OK [100,600] dpi */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_G4050, + DAC_G4050, + GPO_G4050, + MOTOR_G4050, + GENESYS_FLAG_LAZY_INIT | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_STAGGERED_LINE | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, + 100, + 0, // shading_ta_lines + 100 +}; + + +static Genesys_Model canon_4400f_model = { + "canon-canoscan-4400f", /* Name */ + "Canon", /* Device vendor string */ + "Canoscan 4400f", /* Device model name */ + MODEL_CANON_CANOSCAN_4400F, + GENESYS_GL843, + NULL, + + { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, + { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (6.0), /* Start of scan area in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ + SANE_FIX (315.0), /* Size of scan area in mm (y) */ + + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 24, 48, /* RGB CCD Line-distance correction in line number */ + /* 0 38 76 OK 1200/2400 */ + /* 0 24 48 OK [100,600] dpi */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_CS4400F, + DAC_G4050, + GPO_CS4400F, + MOTOR_G4050, + GENESYS_FLAG_NO_CALIBRATION | + GENESYS_FLAG_LAZY_INIT | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_STAGGERED_LINE | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_FULL_HWDPI_MODE | + GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, + 100, + 0, // shading_ta_lines + 100 +}; + + +static Genesys_Model canon_8400f_model = { + "canon-canoscan-8400f", /* Name */ + "Canon", /* Device vendor string */ + "Canoscan 8400f", /* Device model name */ + MODEL_CANON_CANOSCAN_8400F, + GENESYS_GL843, + NULL, + + { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, + { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (4.0), /* Start of scan area in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ + SANE_FIX (315.0), /* Size of scan area in mm (y) */ + + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 24, 48, /* RGB CCD Line-distance correction in line number */ + /* 0 38 76 OK 1200/2400 */ + /* 0 24 48 OK [100,600] dpi */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_CS8400F, + DAC_CS8400F, + GPO_CS8400F, + MOTOR_CS8400F, + GENESYS_FLAG_NO_CALIBRATION | + GENESYS_FLAG_LAZY_INIT | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_STAGGERED_LINE | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_FULL_HWDPI_MODE | + GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, + 100, + 0, // shading_ta_lines + 100 +}; + + +static Genesys_Model canon_8600f_model = { + "canon-canoscan-8600f", // name + "Canon", // Device vendor string + "Canoscan 8600f", // Device model name + MODEL_CANON_CANOSCAN_8600F, + GENESYS_GL843, // ASIC type + NULL, + + { 4800, 2400, 1200, 600, 400, 300, 0}, // TODO: resolutions for non-XPA mode + { 4800, 2400, 1200, 600, 400, 300, 0}, // TODO: resolutions for non-XPA mode + { 16, 8, 0 }, // possible depths in gray mode + { 16, 8, 0 }, // possible depths in color mode + + SANE_FIX(24.0), // Start of scan area in mm (x) + SANE_FIX(10.0), // Start of scan area in mm (y) + SANE_FIX(216.0), // Size of scan area in mm (x) + SANE_FIX(297.0), // Size of scan area in mm (y) + + SANE_FIX(0.0), // Start of white strip in mm (y) + SANE_FIX(8.0), // Start of black mark in mm (x) + + SANE_FIX(95.0), // x_offset_ta + SANE_FIX(26.0), // y_offset_ta + SANE_FIX(70.0), // x_size_ta + SANE_FIX(230.0), // y_size_ta + + SANE_FIX(12.5), // y_offset_calib + + SANE_FIX(0.0), // Size of scan area after paper sensor stops + // sensing document in mm + SANE_FIX(0.0), // Amount of feeding needed to eject document + // after finishing scanning in mm + + 0, 48, 96, // RGB CCD Line-distance correction in line number + + COLOR_ORDER_RGB, // Order of the CCD/CIS colors + + SANE_FALSE, // Is this a CIS scanner? + SANE_FALSE, // Is this a sheetfed scanner? + CCD_CS8600F, + DAC_CS8600F, + GPO_CS8600F, + MOTOR_CS8600F, + GENESYS_FLAG_HAS_UTA | + GENESYS_FLAG_LAZY_INIT | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_STAGGERED_LINE | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_FULL_HWDPI_MODE | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_SHADING_REPARK, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, + 50, // shading_lines + 50, // shading_ta_lines + 100 +}; + + +static Genesys_Model canon_lide_100_model = { + "canon-lide-100", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 100", /* Device model name */ + MODEL_CANON_LIDE_100, + GENESYS_GL847, + NULL, + + {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (1.1), /* Start of scan area in mm (x) */ + SANE_FIX (8.3), /* Start of scan area in mm (y) */ + SANE_FIX (216.07), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ + + SANE_FIX (1.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CIS_CANONLIDE100, + DAC_CANONLIDE200, + GPO_CANONLIDE200, + MOTOR_CANONLIDE100, + /* Which flags are needed for this scanner? */ + GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_SIS_SENSOR + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_SHADING_REPARK + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, + 50, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model canon_lide_110_model = { + "canon-lide-110", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 110", /* Device model name */ + MODEL_CANON_LIDE_110, + GENESYS_GL124, + NULL, + + {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (2.2), /* Start of scan area in mm (x) */ + SANE_FIX (9.0), /* Start of scan area in mm (y) */ + SANE_FIX (216.70), /* Size of scan area in mm (x) */ + SANE_FIX (300.0), /* Size of scan area in mm (y) */ + + SANE_FIX (1.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CIS_CANONLIDE110, + DAC_CANONLIDE110, + GPO_CANONLIDE110, + MOTOR_CANONLIDE110, + GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_SHADING_REPARK + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, + 50, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model canon_lide_120_model = { + "canon-lide-120", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 120", /* Device model name */ + MODEL_CANON_LIDE_120, + GENESYS_GL124, + NULL, + + {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (8.0), /* Start of scan area in mm (y) */ + SANE_FIX (216.0), /* Size of scan area in mm (x) */ + SANE_FIX (300.0), /* Size of scan area in mm (y) */ + + SANE_FIX (1.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CIS_CANONLIDE120, + DAC_CANONLIDE120, + GPO_CANONLIDE120, + MOTOR_CANONLIDE120, + GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_SHADING_REPARK + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, + 50, + 0, // shading_ta_lines + 400 +}; + + +static Genesys_Model canon_lide_210_model = { + "canon-lide-210", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 210", /* Device model name */ + MODEL_CANON_LIDE_210, + GENESYS_GL124, + NULL, + + {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (2.2), /* Start of scan area in mm (x) */ + SANE_FIX (8.7), /* Start of scan area in mm (y) */ + SANE_FIX (216.70), /* Size of scan area in mm (x) */ + SANE_FIX (297.5), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CIS_CANONLIDE210, + DAC_CANONLIDE110, + GPO_CANONLIDE210, + MOTOR_CANONLIDE210, + GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_SHADING_REPARK + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_EXTRA_SW, + 60, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model canon_lide_220_model = { + "canon-lide-220", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 220", /* Device model name */ + MODEL_CANON_LIDE_220, + GENESYS_GL124, /* or a compatible one */ + NULL, + + {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (2.2), /* Start of scan area in mm (x) */ + SANE_FIX (8.7), /* Start of scan area in mm (y) */ + SANE_FIX (216.70), /* Size of scan area in mm (x) */ + SANE_FIX (297.5), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CIS_CANONLIDE220, + DAC_CANONLIDE110, + GPO_CANONLIDE210, + MOTOR_CANONLIDE210, + GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_SHADING_REPARK + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_EXTRA_SW, + 60, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model canon_5600f_model = { + "canon-5600f", /* Name */ + "Canon", /* Device vendor string */ + "5600F", /* Device model name */ + MODEL_CANON_CANOSCAN_5600F, + GENESYS_GL847, + NULL, + + {1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ + {1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (1.1), /* Start of scan area in mm (x) */ + SANE_FIX (8.3), /* Start of scan area in mm (y) */ + SANE_FIX (216.07), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ + + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CIS_CANONLIDE200, + DAC_CANONLIDE200, + GPO_CANONLIDE200, + MOTOR_CANONLIDE200, + GENESYS_FLAG_UNTESTED /* not working yet */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_SIS_SENSOR + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, + 50, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model canon_lide_700f_model = { + "canon-lide-700f", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 700F", /* Device model name */ + MODEL_CANON_LIDE_700F, + GENESYS_GL847, + NULL, + + {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (3.1), /* Start of scan area in mm (x) */ + SANE_FIX (8.1), /* Start of scan area in mm (y) */ + SANE_FIX (216.07), /* Size of scan area in mm (x) */ + SANE_FIX (297.0), /* Size of scan area in mm (y) */ + + SANE_FIX (1.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CIS_CANONLIDE700, + DAC_CANONLIDE700, + GPO_CANONLIDE700, + MOTOR_CANONLIDE700, + GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_SIS_SENSOR + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_SHADING_REPARK + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, + 70, + 0, // shading_ta_lines + 400 +}; + + + +static Genesys_Model canon_lide_200_model = { + "canon-lide-200", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 200", /* Device model name */ + MODEL_CANON_LIDE_200, + GENESYS_GL847, + NULL, + + {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ + {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (1.1), /* Start of scan area in mm (x) */ + SANE_FIX (8.3), /* Start of scan area in mm (y) */ + SANE_FIX (216.07), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CIS_CANONLIDE200, + DAC_CANONLIDE200, + GPO_CANONLIDE200, + MOTOR_CANONLIDE200, + GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_SIS_SENSOR + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_SHADING_REPARK + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, + 50, + 0, // shading_ta_lines + 400 +}; + + +static Genesys_Model canon_lide_60_model = { + "canon-lide-60", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 60", /* Device model name */ + MODEL_CANON_LIDE_60, + GENESYS_GL841, + NULL, + + {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.42), /* Start of scan area in mm (x) */ + SANE_FIX (7.9), /* Start of scan area in mm (y) */ + SANE_FIX (218.0), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ + + SANE_FIX (6.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_CANONLIDE35, + DAC_CANONLIDE35, + GPO_CANONLIDE35, + MOTOR_CANONLIDE35, + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_DARK_WHITE_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA, + + GENESYS_HAS_COPY_SW /* Has four buttons: COPY, SCAN, PDF, EMAIL */ + | GENESYS_HAS_SCAN_SW + | GENESYS_HAS_FILE_SW + | GENESYS_HAS_EMAIL_SW, + 300, + 0, // shading_ta_lines + 400 +}; /* this is completely untested -- hmg */ + +static Genesys_Model canon_lide_80_model = { + "canon-lide-80", /* Name */ + "Canon", /* Device vendor string */ + "LiDE 80", /* Device model name */ + MODEL_CANON_LIDE_80, + GENESYS_GL841, + NULL, + + { 1200, 600, 400, 300, 240, 150, 100, 75, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 400, 300, 240, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + SANE_FIX (0.42), /* Start of scan area in mm (x) 0.42 */ + SANE_FIX (7.90), /* Start of scan area in mm (y) 7.90 */ + SANE_FIX (216.07), /* Size of scan area in mm (x) 218.00 */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ + + SANE_FIX (4.5), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CIS_CANONLIDE80, + DAC_CANONLIDE80, + GPO_CANONLIDE80, + MOTOR_CANONLIDE80, + GENESYS_FLAG_LAZY_INIT | /* Which flags are needed for this scanner? */ + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_WHITE_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | + GENESYS_HAS_FILE_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_COPY_SW, + 160, /* 280 @2400 */ + 0, // shading_ta_lines + 400 +}; + + +static Genesys_Model hp2300c_model = { + "hewlett-packard-scanjet-2300c", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet 2300c", /* Device model name */ + MODEL_HP_SCANJET_2300C, + GENESYS_GL646, + NULL, + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions, motor can go up to 1200 dpi */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (2.0), /* Start of scan area in mm (x_offset) */ + SANE_FIX (7.5), /* Start of scan area in mm (y_offset) */ + SANE_FIX (215.9), /* Size of scan area in mm (x) */ + SANE_FIX (295.0), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (1.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 16, 8, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_HP2300, + DAC_WOLFSON_HP2300, + GPO_HP2300, + MOTOR_HP2300, + GENESYS_FLAG_14BIT_GAMMA + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_LAZY_INIT + | GENESYS_FLAG_SEARCH_START + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW, + 40, + 0, // shading_ta_lines + 132 +}; + +static +Genesys_Model hp2400c_model = { + "hewlett-packard-scanjet-2400c", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet 2400c", /* Device model name */ + MODEL_HP_SCANJET_2400C, + GENESYS_GL646, + NULL, + + {1200, 600, 300, 150, 100, 50, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 100, 50, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (6.5), /* Start of scan area in mm (x) */ + SANE_FIX (2.5), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (297.2), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (1.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_HP2400, + DAC_WOLFSON_HP2400, + GPO_HP2400, + MOTOR_HP2400, + GENESYS_FLAG_LAZY_INIT + | GENESYS_FLAG_14BIT_GAMMA + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_STAGGERED_LINE + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW, + 20, + 0, // shading_ta_lines + 132 +}; + +static +Genesys_Model visioneer_xp200_model = { + "visioneer-strobe-xp200", /* Name */ + "Visioneer", /* Device vendor string */ + "Strobe XP200", /* Device model name */ + MODEL_VISIONEER_STROBE_XP200, + GENESYS_GL646, + NULL, + + {600, 300, 200, 100, 75, 0}, /* possible x-resolutions */ + {600, 300, 200, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.5), /* Start of scan area in mm (x) */ + SANE_FIX (16.0), /* Start of scan area in mm (y) */ + SANE_FIX (215.9), /* Size of scan area in mm (x) */ + SANE_FIX (297.2), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ + CIS_XP200, + DAC_AD_XP200, /* Analog Device frontend */ + GPO_XP200, + MOTOR_XP200, + GENESYS_FLAG_14BIT_GAMMA + | GENESYS_FLAG_LAZY_INIT + | GENESYS_FLAG_CUSTOM_GAMMA + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_OFFSET_CALIBRATION, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, + 120, + 0, // shading_ta_lines + 132 +}; + +static Genesys_Model hp3670c_model = { + "hewlett-packard-scanjet-3670c", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet 3670c", /* Device model name */ + MODEL_HP_SCANJET_3670C, + GENESYS_GL646, + NULL, + + {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (8.5), /* Start of scan area in mm (x) */ + SANE_FIX (11.0), /* Start of scan area in mm (y) */ + SANE_FIX (215.9), /* Size of scan area in mm (x) */ + SANE_FIX (300.0), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (1.0), /* Start of black mark in mm (x) */ + + SANE_FIX (104.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (55.6), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (25.6), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (78.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (76.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_HP3670, + DAC_WOLFSON_HP3670, + GPO_HP3670, + MOTOR_HP3670, + GENESYS_FLAG_LAZY_INIT + | GENESYS_FLAG_14BIT_GAMMA + | GENESYS_FLAG_XPA + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_STAGGERED_LINE + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW, + 20, + 0, // shading_ta_lines + 200 +}; + +static Genesys_Model plustek_st12_model = { + "plustek-opticpro-st12", /* Name */ + "Plustek", /* Device vendor string */ + "OpticPro ST12", /* Device model name */ + MODEL_PLUSTEK_OPTICPRO_ST12, + GENESYS_GL646, + NULL, + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (3.5), /* Start of scan area in mm (x) */ + SANE_FIX (7.5), /* Start of scan area in mm (y) */ + SANE_FIX (218.0), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (1.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_ST12, + DAC_WOLFSON_ST12, + GPO_ST12, + MOTOR_UMAX, + GENESYS_FLAG_UNTESTED | GENESYS_FLAG_14BIT_GAMMA, /* Which flags are needed for this scanner? */ + GENESYS_HAS_NO_BUTTONS, /* no buttons supported */ + 20, + 0, // shading_ta_lines + 200 +}; + +static Genesys_Model plustek_st24_model = { + "plustek-opticpro-st24", /* Name */ + "Plustek", /* Device vendor string */ + "OpticPro ST24", /* Device model name */ + MODEL_PLUSTEK_OPTICPRO_ST24, + GENESYS_GL646, + NULL, + + {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (3.5), /* Start of scan area in mm (x) */ + SANE_FIX (7.5), /* Start of scan area in mm (y) */ + SANE_FIX (218.0), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (1.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_ST24, + DAC_WOLFSON_ST24, + GPO_ST24, + MOTOR_ST24, + GENESYS_FLAG_UNTESTED + | GENESYS_FLAG_14BIT_GAMMA + | GENESYS_FLAG_LAZY_INIT + | GENESYS_FLAG_CUSTOM_GAMMA + | GENESYS_FLAG_SEARCH_START + | GENESYS_FLAG_OFFSET_CALIBRATION, + GENESYS_HAS_NO_BUTTONS, /* no buttons supported */ + 20, + 0, // shading_ta_lines + 200 +}; + +static Genesys_Model medion_md5345_model = { + "medion-md5345-model", /* Name */ + "Medion", /* Device vendor string */ + "MD5345/MD6228/MD6471", /* Device model name */ + MODEL_MEDION_MD5345, + GENESYS_GL646, + NULL, + + {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX ( 0.30), /* Start of scan area in mm (x) */ + SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (296.4), /* Size of scan area in mm (y) */ + + SANE_FIX (0.00), /* Start of white strip in mm (y) */ + SANE_FIX (0.00), /* Start of black mark in mm (x) */ + + SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_5345, + DAC_WOLFSON_5345, + GPO_5345, + MOTOR_5345, + GENESYS_FLAG_14BIT_GAMMA + | GENESYS_FLAG_LAZY_INIT + | GENESYS_FLAG_SEARCH_START + | GENESYS_FLAG_STAGGERED_LINE + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_SHADING_NO_MOVE + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_POWER_SW | GENESYS_HAS_OCR_SW | GENESYS_HAS_SCAN_SW, + 40, + 0, // shading_ta_lines + 200 +}; + +static Genesys_Model visioneer_xp300_model = { + "visioneer-strobe-xp300", /* Name */ + "Visioneer", /* Device vendor string */ + "Strobe XP300", /* Device model name */ + MODEL_VISIONEER_STROBE_XP300, + GENESYS_GL841, + NULL, + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (1.0), /* Start of scan area in mm (y) */ + SANE_FIX (435.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (26.5), /* Size of scan area after paper sensor stops + sensing document in mm */ + /* this is larger than needed -- accounts for second sensor head, which is a + calibration item */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ + CCD_XP300, + DAC_WOLFSON_XP300, + GPO_XP300, + MOTOR_XP300, + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, + 100, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model syscan_docketport_665_model = { + "syscan-docketport-665", /* Name */ + "Syscan/Ambir", /* Device vendor string */ + "DocketPORT 665", /* Device model name */ + MODEL_SYSCAN_DOCKETPORT_665, + GENESYS_GL841, + NULL, + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (108.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (17.5), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ + CCD_DP665, + DAC_WOLFSON_XP300, + GPO_DP665, + MOTOR_DP665, + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, + 100, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model visioneer_roadwarrior_model = { + "visioneer-roadwarrior", /* Name */ + "Visioneer", /* Device vendor string */ + "Readwarrior", /* Device model name */ + MODEL_VISIONEER_ROADWARRIOR, + GENESYS_GL841, + NULL, + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (16.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ + CCD_ROADWARRIOR, + DAC_WOLFSON_XP300, + GPO_DP665, + MOTOR_ROADWARRIOR, + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA + | GENESYS_FLAG_DARK_CALIBRATION, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, + 100, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model syscan_docketport_465_model = { + "syscan-docketport-465", /* Name */ + "Syscan", /* Device vendor string */ + "DocketPORT 465", /* Device model name */ + MODEL_SYSCAN_DOCKETPORT_465, + GENESYS_GL841, + NULL, + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (16.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ + CCD_ROADWARRIOR, + DAC_WOLFSON_XP300, + GPO_DP665, + MOTOR_ROADWARRIOR, + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_NO_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA + | GENESYS_FLAG_UNTESTED, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW, + 300, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model visioneer_xp100_r3_model = { + "visioneer-xp100-revision3", /* Name */ + "Visioneer", /* Device vendor string */ + "XP100 Revision 3", /* Device model name */ + MODEL_VISIONEER_STROBE_XP100_REVISION3, + GENESYS_GL841, + NULL, + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (16.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ + CCD_ROADWARRIOR, + DAC_WOLFSON_XP300, + GPO_DP665, + MOTOR_ROADWARRIOR, + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA + | GENESYS_FLAG_DARK_CALIBRATION, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, + 100, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model pentax_dsmobile_600_model = { + "pentax-dsmobile-600", /* Name */ + "Pentax", /* Device vendor string */ + "DSmobile 600", /* Device model name */ + MODEL_PENTAX_DSMOBILE_600, + GENESYS_GL841, + NULL, + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (16.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ + CCD_DSMOBILE600, + DAC_WOLFSON_DSM600, + GPO_DP665, + MOTOR_DSMOBILE_600, + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA + | GENESYS_FLAG_DARK_CALIBRATION, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, + 100, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model syscan_docketport_467_model = { + "syscan-docketport-467", /* Name */ + "Syscan", /* Device vendor string */ + "DocketPORT 467", /* Device model name */ + MODEL_SYSCAN_DOCKETPORT_467, + GENESYS_GL841, + NULL, + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (16.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ + CCD_DSMOBILE600, + DAC_WOLFSON_DSM600, + GPO_DP665, + MOTOR_DSMOBILE_600, + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA + | GENESYS_FLAG_DARK_CALIBRATION, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, + 100, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model syscan_docketport_685_model = { + "syscan-docketport-685", /* Name */ + "Syscan/Ambir", /* Device vendor string */ + "DocketPORT 685", /* Device model name */ + MODEL_SYSCAN_DOCKETPORT_685, + GENESYS_GL841, + NULL, + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (1.0), /* Start of scan area in mm (y) */ + SANE_FIX (212.0), /* Size of scan area in mm (x) */ + SANE_FIX (500), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (26.5), /* Size of scan area after paper sensor stops + sensing document in mm */ + /* this is larger than needed -- accounts for second sensor head, which is a + calibration item */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ + CCD_DP685, + DAC_WOLFSON_DSM600, + GPO_DP685, + MOTOR_XP300, + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA + | GENESYS_FLAG_DARK_CALIBRATION, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, + 100, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model syscan_docketport_485_model = { + "syscan-docketport-485", /* Name */ + "Syscan/Ambir", /* Device vendor string */ + "DocketPORT 485", /* Device model name */ + MODEL_SYSCAN_DOCKETPORT_485, + GENESYS_GL841, + NULL, + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (1.0), /* Start of scan area in mm (y) */ + SANE_FIX (435.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (26.5), /* Size of scan area after paper sensor stops + sensing document in mm */ + /* this is larger than needed -- accounts for second sensor head, which is a + calibration item */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ + CCD_XP300, + DAC_WOLFSON_XP300, + GPO_XP300, + MOTOR_XP300, + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA + | GENESYS_FLAG_DARK_CALIBRATION, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, + 100, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model dct_docketport_487_model = { + "dct-docketport-487", /* Name */ + "DCT", /* Device vendor string */ + "DocketPORT 487", /* Device model name */ + MODEL_DCT_DOCKETPORT_487, + GENESYS_GL841, + NULL, + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (1.0), /* Start of scan area in mm (y) */ + SANE_FIX (435.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (26.5), /* Size of scan area after paper sensor stops + sensing document in mm */ + /* this is larger than needed -- accounts for second sensor head, which is a + calibration item */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ + CCD_XP300, + DAC_WOLFSON_XP300, + GPO_XP300, + MOTOR_XP300, + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA + | GENESYS_FLAG_UNTESTED, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, + 100, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model visioneer_7100_model = { + "visioneer-7100-model", /* Name */ + "Visioneer", /* Device vendor string */ + "OneTouch 7100", /* Device model name */ + MODEL_VISIONEER_7100, + GENESYS_GL646, + NULL, + + {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX ( 4.00), /* Start of scan area in mm (x) */ + SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ + SANE_FIX (215.9), /* Size of scan area in mm (x) */ + SANE_FIX (296.4), /* Size of scan area in mm (y) */ + + SANE_FIX (0.00), /* Start of white strip in mm (y) */ + SANE_FIX (0.00), /* Start of black mark in mm (x) */ + + SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ +/* 48, 24, 0, */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_5345, + DAC_WOLFSON_5345, + GPO_5345, + MOTOR_5345, + GENESYS_FLAG_14BIT_GAMMA + | GENESYS_FLAG_LAZY_INIT + | GENESYS_FLAG_SEARCH_START + | GENESYS_FLAG_STAGGERED_LINE + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_POWER_SW | GENESYS_HAS_OCR_SW | GENESYS_HAS_SCAN_SW, + 40, + 0, // shading_ta_lines + 200 +}; + +static Genesys_Model xerox_2400_model = { + "xerox-2400-model", /* Name */ + "Xerox", /* Device vendor string */ + "OneTouch 2400", /* Device model name */ + MODEL_XEROX_2400, + GENESYS_GL646, + NULL, + + {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ + {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX ( 4.00), /* Start of scan area in mm (x) */ + SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ + SANE_FIX (215.9), /* Size of scan area in mm (x) */ + SANE_FIX (296.4), /* Size of scan area in mm (y) */ + + SANE_FIX (0.00), /* Start of white strip in mm (y) */ + SANE_FIX (0.00), /* Start of black mark in mm (x) */ + + SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ +/* 48, 24, 0, */ + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_5345, + DAC_WOLFSON_5345, + GPO_5345, + MOTOR_5345, + GENESYS_FLAG_14BIT_GAMMA + | GENESYS_FLAG_LAZY_INIT + | GENESYS_FLAG_SEARCH_START + | GENESYS_FLAG_STAGGERED_LINE + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_POWER_SW | GENESYS_HAS_OCR_SW | GENESYS_HAS_SCAN_SW, + 40, + 0, // shading_ta_lines + 200 +}; + + +static Genesys_Model xerox_travelscanner_model = { + "xerox-travelscanner", /* Name */ + "Xerox", /* Device vendor string */ + "Travelscanner 100", /* Device model name */ + MODEL_XEROX_TRAVELSCANNER_100, + GENESYS_GL841, + NULL, + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (4.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (16.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_TRUE, /* Is this a CIS scanner? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ + CCD_ROADWARRIOR, + DAC_WOLFSON_XP300, + GPO_DP665, + MOTOR_ROADWARRIOR, + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA + | GENESYS_FLAG_DARK_CALIBRATION, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, + 100, + 0, // shading_ta_lines + 400 +}; + +static Genesys_Model plustek_3600_model = { + "plustek-opticbook-3600", /* Name */ + "PLUSTEK", /* Device vendor string */ + "OpticBook 3600", /* Device model name */ + MODEL_PLUSTEK_OPTICPRO_3600, + GENESYS_GL841, + NULL, + {/*1200,*/ 600, 400, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ + {/*2400,*/ 1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (0.42),/*SANE_FIX (0.42), Start of scan area in mm (x) */ + SANE_FIX (6.75),/*SANE_FIX (7.9), Start of scan area in mm (y) */ + SANE_FIX (216.0),/*SANE_FIX (216.0), Size of scan area in mm (x) */ + SANE_FIX (297.0),/*SANE_FIX (297.0), Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_PLUSTEK_3600, + DAC_PLUSTEK_3600, + GPO_PLUSTEK_3600, + MOTOR_PLUSTEK_3600, + GENESYS_FLAG_UNTESTED /* not fully working yet */ + | GENESYS_FLAG_CUSTOM_GAMMA + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_LAZY_INIT,/* + | GENESYS_FLAG_NO_CALIBRATION,*/ + GENESYS_HAS_NO_BUTTONS, + 7, + 0, // shading_ta_lines + 200 +}; + +static Genesys_Model hpn6310_model = { + "hewlett-packard-scanjet-N6310", /* Name */ + "Hewlett Packard", /* Device vendor string */ + "ScanJet N6310", /* Device model name */ + MODEL_HP_SCANJET_N6310, + GENESYS_GL847, + NULL, + + { 2400, 1200, 600, 400, 300, 200, 150, 100, 75, 0}, + { 2400, 1200, 600, 400, 300, 200, 150, 100, 75, 0}, + + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (6), /* Start of scan area in mm (x) */ + SANE_FIX (2), /* Start of scan area in mm (y) */ + SANE_FIX (216), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ + SANE_FIX (511), /* Size of scan area in mm (y) */ + + SANE_FIX (3.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_HP_N6310, + DAC_CANONLIDE200, /*Not defined yet for N6310 */ + GPO_HP_N6310, + MOTOR_CANONLIDE200, /*Not defined yet for N6310 */ + GENESYS_FLAG_UNTESTED /* not fully working yet */ + | GENESYS_FLAG_LAZY_INIT + | GENESYS_FLAG_14BIT_GAMMA + | GENESYS_FLAG_DARK_CALIBRATION + | GENESYS_FLAG_OFFSET_CALIBRATION + | GENESYS_FLAG_CUSTOM_GAMMA + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_NO_CALIBRATION, + + GENESYS_HAS_NO_BUTTONS, + 100, + 0, // shading_ta_lines + 100 +}; + + +static Genesys_Model plustek_3800_model = { + "plustek-opticbook-3800", /* Name */ + "PLUSTEK", /* Device vendor string */ + "OpticBook 3800", /* Device model name */ + MODEL_PLUSTEK_OPTICBOOK_3800, + GENESYS_GL845, + NULL, + + {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (7.2), /* Start of scan area in mm (x) */ + SANE_FIX (14.7), /* Start of scan area in mm (y) */ + SANE_FIX (217.7), /* Size of scan area in mm (x) */ + SANE_FIX (300.0), /* Size of scan area in mm (y) */ + + SANE_FIX (9.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_PLUSTEK3800, + DAC_PLUSTEK3800, + GPO_PLUSTEK3800, + MOTOR_PLUSTEK3800, + GENESYS_FLAG_LAZY_INIT | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_NO_BUTTONS, /* TODO there are 4 buttons to support */ + 100, + 0, // shading_ta_lines + 100 +}; + + +static Genesys_Model canon_formula101_model = { + "canon-image-formula-101", /* Name */ + "Canon", /* Device vendor string */ + "Image Formula 101", /* Device model name */ + MODEL_CANON_IMAGE_FORMULA_101, + GENESYS_GL846, + NULL, + + {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (7.2), /* Start of scan area in mm (x) */ + SANE_FIX (14.7), /* Start of scan area in mm (y) */ + SANE_FIX (217.7), /* Size of scan area in mm (x) */ + SANE_FIX (300.0), /* Size of scan area in mm (y) */ + + SANE_FIX (9.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + + SANE_FALSE, /* Is this a CIS scanner? */ + SANE_FALSE, /* Is this a sheetfed scanner? */ + CCD_IMG101, + DAC_IMG101, + GPO_IMG101, + MOTOR_IMG101, + GENESYS_FLAG_LAZY_INIT | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA, + GENESYS_HAS_NO_BUTTONS , + 100, + 0, // shading_ta_lines + 100 +}; + + +static Genesys_USB_Device_Entry genesys_usb_device_list[] = { + /* GL646 devices */ + {0x03f0, 0x0901, &hp2300c_model}, + {0x03f0, 0x0a01, &hp2400c_model}, + {0x03f0, 0x1405, &hp3670c_model}, + {0x0461, 0x0377, &medion_md5345_model}, + {0x04a7, 0x0229, &visioneer_7100_model}, + {0x0461, 0x038b, &xerox_2400_model}, + {0x04a7, 0x0426, &visioneer_xp200_model}, + {0x0638, 0x0a10, &umax_astra_4500_model}, + {0x07b3, 0x0600, &plustek_st12_model}, + {0x07b3, 0x0601, &plustek_st24_model}, + /* GL841 devices */ + {0x04a7, 0x0474, &visioneer_xp300_model}, + {0x04a7, 0x0494, &visioneer_roadwarrior_model}, + {0x04a7, 0x049b, &visioneer_xp100_r3_model}, + {0x04a7, 0x04ac, &xerox_travelscanner_model}, + {0x04a9, 0x2213, &canon_lide_50_model}, + {0x04a9, 0x221c, &canon_lide_60_model}, + {0x04a9, 0x2214, &canon_lide_80_model}, + {0x07b3, 0x0900, &plustek_3600_model}, + {0x0a17, 0x3210, &pentax_dsmobile_600_model}, + {0x04f9, 0x2038, &pentax_dsmobile_600_model}, /* clone, only usb id is different */ + {0x0a82, 0x4800, &syscan_docketport_485_model}, + {0x0a82, 0x4802, &syscan_docketport_465_model}, + {0x0a82, 0x4803, &syscan_docketport_665_model}, + {0x0a82, 0x480c, &syscan_docketport_685_model}, + {0x1dcc, 0x4810, &dct_docketport_487_model}, + {0x1dcc, 0x4812, &syscan_docketport_467_model}, + /* GL843 devices */ + {0x04da, 0x100f, &panasonic_kvss080_model}, + {0x03f0, 0x1b05, &hp4850c_model}, + {0x03f0, 0x4505, &hpg4010_model}, + {0x03f0, 0x4605, &hpg4050_model}, + {0x04a9, 0x2228, &canon_4400f_model}, + {0x04a9, 0x221e, &canon_8400f_model}, + {0x04a9, 0x2229, &canon_8600f_model}, + /* GL845 devices */ + {0x07b3, 0x1300, &plustek_3800_model}, + /* GL846 devices */ + {0x1083, 0x162e, &canon_formula101_model}, + /* GL847 devices */ + {0x04a9, 0x1904, &canon_lide_100_model}, + {0x04a9, 0x1905, &canon_lide_200_model}, + {0x04a9, 0x1906, &canon_5600f_model}, + {0x04a9, 0x1907, &canon_lide_700f_model}, + {0x03f0, 0x4705, &hpn6310_model}, + /* GL124 devices */ + {0x04a9, 0x1909, &canon_lide_110_model}, + {0x04a9, 0x190e, &canon_lide_120_model}, + {0x04a9, 0x190a, &canon_lide_210_model}, + {0x04a9, 0x190f, &canon_lide_220_model}, + {0, 0, NULL} +}; + +#define MAX_SCANNERS (sizeof(genesys_usb_device_list) / \ + sizeof(genesys_usb_device_list[0])) diff --git a/backend/genesys_error.cc b/backend/genesys_error.cc new file mode 100644 index 0000000..c98a490 --- /dev/null +++ b/backend/genesys_error.cc @@ -0,0 +1,115 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "genesys_error.h" +#include +#include + +extern "C" void sanei_debug_msg(int level, int max_level, const char *be, const char *fmt, + va_list ap); + +#if (defined(__GNUC__) || defined(__CLANG__)) && (defined(__linux__) || defined(__APPLE__)) +extern "C" char* __cxa_get_globals(); +#endif + +static unsigned num_uncaught_exceptions() +{ +#if __cplusplus >= 201703L + int count = std::uncaught_exceptions(); + return count >= 0 ? count : 0; +#elif (defined(__GNUC__) || defined(__CLANG__)) && (defined(__linux__) || defined(__APPLE__)) + // the format of the __cxa_eh_globals struct is enshrined into the Itanium C++ ABI and it's + // very unlikely we'll get issues referencing it directly + char* cxa_eh_globals_ptr = __cxa_get_globals(); + return *reinterpret_cast(cxa_eh_globals_ptr + sizeof(void*)); +#else + return std::uncaught_exception() ? 1 : 0; +#endif +} + +DebugMessageHelper::DebugMessageHelper(const char* func) +{ + func_ = func; + num_exceptions_on_enter_ = num_uncaught_exceptions(); + msg_[0] = '\0'; + DBG(DBG_proc, "%s: start\n", func_); +} + +DebugMessageHelper::DebugMessageHelper(const char* func, const char* format, ...) +{ + func_ = func; + num_exceptions_on_enter_ = num_uncaught_exceptions(); + msg_[0] = '\0'; + DBG(DBG_proc, "%s: start\n", func_); + DBG(DBG_proc, "%s: ", func_); + + std::va_list args; + va_start(args, format); + sanei_debug_msg(DBG_proc, DBG_LEVEL, STRINGIFY(BACKEND_NAME), format, args); + va_end(args); + DBG(DBG_proc, "\n"); +} + + +DebugMessageHelper::~DebugMessageHelper() +{ + if (num_exceptions_on_enter_ < num_uncaught_exceptions()) { + if (msg_[0] != '\0') { + DBG(DBG_error, "%s: failed during %s\n", func_, msg_); + } else { + DBG(DBG_error, "%s: failed\n", func_); + } + } else { + DBG(DBG_proc, "%s: completed\n", func_); + } +} + +void DebugMessageHelper::vstatus(const char* format, ...) +{ + std::va_list args; + va_start(args, format); + std::vsnprintf(msg_, MAX_BUF_SIZE, format, args); + va_end(args); +} diff --git a/backend/genesys_error.h b/backend/genesys_error.h new file mode 100644 index 0000000..d456581 --- /dev/null +++ b/backend/genesys_error.h @@ -0,0 +1,202 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_ERROR_H +#define BACKEND_GENESYS_ERROR_H + +#include "../include/sane/config.h" +#include "../include/sane/sane.h" +#include "../include/sane/sanei_backend.h" + +#include +#include +#include + +#define DBG_error0 0 /* errors/warnings printed even with devuglevel 0 */ +#define DBG_error 1 /* fatal errors */ +#define DBG_init 2 /* initialization and scanning time messages */ +#define DBG_warn 3 /* warnings and non-fatal errors */ +#define DBG_info 4 /* informational messages */ +#define DBG_proc 5 /* starting/finishing functions */ +#define DBG_io 6 /* io functions */ +#define DBG_io2 7 /* io functions that are called very often */ +#define DBG_data 8 /* log image data */ + +class SaneException : std::exception { +public: + SaneException(SANE_Status status) : status_(status) + { + set_msg(nullptr); + } + + SaneException(SANE_Status status, const char* msg) : status_(status) + { + set_msg(msg); + } + + SaneException(const char* msg) : SaneException(SANE_STATUS_INVAL, msg) {} + + SANE_Status status() const { return status_; } + virtual const char* what() const noexcept override { return msg_.c_str(); } + +private: + + void set_msg(const char* msg) + { + const char* status_msg = sane_strstatus(status_); + std::size_t status_msg_len = std::strlen(status_msg); + + if (msg) { + std::size_t msg_len = std::strlen(msg); + msg_.reserve(msg_len + status_msg_len + 3); + msg_ = msg; + msg_ += " : "; + msg_ += status_msg; + return; + } + + msg_.reserve(status_msg_len); + msg_ = status_msg; + } + + std::string msg_; + SANE_Status status_; +}; + +/** + * call a function and return on error + */ +#define RIE(function) \ + do { status = function; \ + if (status != SANE_STATUS_GOOD) \ + { \ + DBG(DBG_error, "%s: %s\n", __func__, sane_strstatus (status)); \ + return status; \ + } \ + } while (SANE_FALSE) + +// call a function and throw an exception on error +#define TIE(function) \ + do { \ + SANE_Status tmp_status = function; \ + if (tmp_status != SANE_STATUS_GOOD) { \ + throw SaneException(tmp_status); \ + } \ + } while (false) + +#define DBGSTART DBG (DBG_proc, "%s start\n", __func__); +#define DBGCOMPLETED DBG (DBG_proc, "%s completed\n", __func__); + +class DebugMessageHelper { +public: + static constexpr unsigned MAX_BUF_SIZE = 120; + + DebugMessageHelper(const char* func); + DebugMessageHelper(const char* func, const char* format, ...) + #ifdef __GNUC__ + __attribute__((format(printf, 3, 4))) + #endif + ; + + ~DebugMessageHelper(); + + void status(const char* msg) { vstatus("%s", msg); } + void vstatus(const char* format, ...) + #ifdef __GNUC__ + __attribute__((format(printf, 2, 3))) + #endif + ; + + void clear() { msg_[0] = '\n'; } + +private: + const char* func_ = nullptr; + char msg_[MAX_BUF_SIZE]; + unsigned num_exceptions_on_enter_ = 0; +}; + +#define DBG_HELPER(var) DebugMessageHelper var(__func__) +#define DBG_HELPER_ARGS(var, ...) DebugMessageHelper var(__func__, __VA_ARGS__) + +template +SANE_Status wrap_exceptions_to_status_code(const char* func, F&& function) +{ + try { + return function(); + } catch (const SaneException& exc) { + return exc.status(); + } catch (const std::bad_alloc& exc) { + return SANE_STATUS_NO_MEM; + } catch (const std::exception& exc) { + DBG(DBG_error, "%s: got uncaught exception: %s\n", func, exc.what()); + return SANE_STATUS_INVAL; + } catch (...) { + DBG(DBG_error, "%s: got unknown uncaught exception\n", func); + return SANE_STATUS_INVAL; + } +} + +template +void catch_all_exceptions(const char* func, F&& function) +{ + try { + function(); + } catch (const SaneException& exc) { + DBG(DBG_error, "%s: got exception: %s\n", func, exc.what()); + } catch (const std::bad_alloc& exc) { + DBG(DBG_error, "%s: got exception: could not allocate memory: %s\n", func, exc.what()); + } catch (const std::exception& exc) { + DBG(DBG_error, "%s: got uncaught exception: %s\n", func, exc.what()); + } catch (...) { + DBG(DBG_error, "%s: got unknown uncaught exception\n", func); + } +} + +inline void wrap_status_code_to_exception(SANE_Status status) +{ + if (status == SANE_STATUS_GOOD) + return; + throw SaneException(status); +} + +#endif // BACKEND_GENESYS_ERROR_H diff --git a/backend/genesys_gl124.c b/backend/genesys_gl124.c deleted file mode 100644 index a98d3d4..0000000 --- a/backend/genesys_gl124.c +++ /dev/null @@ -1,3997 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2010-2016 Stéphane Voltz - - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#undef BACKEND_NAME -#define BACKEND_NAME genesys_gl124 - -#include "genesys_gl124.h" - -/**************************************************************************** - Low level function - ****************************************************************************/ - -/* ------------------------------------------------------------------------ */ -/* Read and write RAM, registers and AFE */ -/* ------------------------------------------------------------------------ */ - - -/** @brief read scanned data - * Read in 0xeff0 maximum sized blocks. This read is done in 2 - * parts if not multple of 512. First read is rounded to a multiple of 512 bytes, last read fetches the - * remainder. Read addr is always 0x10000000 with the memory layout setup. - * @param dev device to read data from - * @param addr address within ASIC emory space - * @param data pointer where to store the read data - * @param len size to read - */ -static SANE_Status -gl124_bulk_read_data (Genesys_Device * dev, uint8_t addr, - uint8_t * data, size_t len) -{ - SANE_Status status; - size_t size, target, read, done; - uint8_t outdata[8], *buffer; - - DBG (DBG_io, "gl124_bulk_read_data: requesting %lu bytes (unused addr=0x%02x)\n", (u_long) len,addr); - - if (len == 0) - return SANE_STATUS_GOOD; - - target = len; - buffer = data; - - /* loop until computed data size is read */ - while (target) - { - if (target > 0xeff0) - { - size = 0xeff0; - } - else - { - size = target; - } - - /* hard coded 0x10000000 addr */ - outdata[0] = 0; - outdata[1] = 0; - outdata[2] = 0; - outdata[3] = 0x10; - - /* data size to transfer */ - outdata[4] = (size & 0xff); - outdata[5] = ((size >> 8) & 0xff); - outdata[6] = ((size >> 16) & 0xff); - outdata[7] = ((size >> 24) & 0xff); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - VALUE_BUFFER, 0x00, sizeof (outdata), - outdata); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s failed while writing command: %s\n", - __func__, sane_strstatus (status)); - return status; - } - - /* blocks must be multiple of 512 but not last block */ - read = size; - read /= 512; - read *= 512; - - if(read>0) - { - DBG (DBG_io2, - "gl124_bulk_read_data: trying to read %lu bytes of data\n", - (u_long) read); - status = sanei_usb_read_bulk (dev->dn, data, &read); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_bulk_read_data failed while reading bulk data: %s\n", - sane_strstatus (status)); - return status; - } - } - - /* read less than 512 bytes remainder */ - if (read < size) - { - done = read; - read = size - read; - DBG (DBG_io2, - "gl124_bulk_read_data: trying to read remaining %lu bytes of data\n", - (u_long) read); - status = sanei_usb_read_bulk (dev->dn, data+done, &read); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_bulk_read_data failed while reading bulk data: %s\n", - sane_strstatus (status)); - return status; - } - } - - DBG (DBG_io2, "%s: read %lu bytes, %lu remaining\n", __func__, - (u_long) size, (u_long) (target - size)); - - target -= size; - data += size; - } - - if (DBG_LEVEL >= DBG_data && dev->binary!=NULL) - { - fwrite(buffer, len, 1, dev->binary); - } - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -/**************************************************************************** - Mid level functions - ****************************************************************************/ - -static SANE_Bool -gl124_get_fast_feed_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG02); - if (r && (r->value & REG02_FASTFED)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl124_get_filter_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_FILTER)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl124_get_lineart_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_LINEART)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl124_get_bitset_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_BITSET)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl124_get_gain4_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG06); - if (r && (r->value & REG06_GAIN4)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl124_test_buffer_empty_bit (SANE_Byte val) -{ - if (val & BUFEMPTY) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl124_test_motor_flag_bit (SANE_Byte val) -{ - if (val & MOTORENB) - return SANE_TRUE; - return SANE_FALSE; -} - -/** @brief sensor profile - * search for the database of motor profiles and get the best one. Each - * profile is at a specific dpihw. Use LiDE 110 table by default. - * @param sensor_type sensor id - * @param dpi hardware dpi for the scan - * @param half_ccd flag to signal half ccd mode - * @return a pointer to a Sensor_Profile struct - */ -static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi, int half_ccd) -{ - unsigned int i; - int idx; - - i=0; - idx=-1; - while(i=dpi - && sensors[i].dpiflags & GENESYS_FLAG_HALF_CCD_MODE)) - { - return SANE_TRUE; - } - return SANE_FALSE; -} - -/** @brief set all registers to default values . - * This function is called only once at the beginning and - * fills register startup values for registers reused across scans. - * Those that are rarely modified or not modified are written - * individually. - * @param dev device structure holding register set to initialize - */ -static void -gl124_init_registers (Genesys_Device * dev) -{ - DBGSTART; - - memset (dev->reg, 0, GENESYS_GL124_MAX_REGS * sizeof (Genesys_Register_Set)); - - /* default to LiDE 110 */ - SETREG (0x01,0xa2); /* + REG01_SHDAREA */ - SETREG (0x02,0x90); - SETREG (0x03,0x50); - SETREG (0x04,0x03); - SETREG (0x05,0x00); - if(dev->model->ccd_type==CIS_CANONLIDE120) - { - SETREG (0x06,0x50); - SETREG (0x07,0x00); - } - else - { - SETREG (0x03,0x50 & ~REG03_AVEENB); - SETREG (0x06,0x50 | REG06_GAIN4); - } - SETREG (0x09,0x00); - SETREG (0x0a,0xc0); - SETREG (0x0b,0x2a); - SETREG (0x0c,0x12); - SETREG (0x11,0x00); - SETREG (0x12,0x00); - SETREG (0x13,0x0f); - SETREG (0x14,0x00); - SETREG (0x15,0x80); - SETREG (0x16,0x10); - SETREG (0x17,0x04); - SETREG (0x18,0x00); - SETREG (0x19,0x01); - SETREG (0x1a,0x30); - SETREG (0x1b,0x00); - SETREG (0x1c,0x00); - SETREG (0x1d,0x01); - SETREG (0x1e,0x10); - SETREG (0x1f,0x00); - SETREG (0x20,0x15); - SETREG (0x21,0x00); - if(dev->model->ccd_type!=CIS_CANONLIDE120) - { - SETREG (0x22,0x02); - } - else - { - SETREG (0x22,0x14); - } - SETREG (0x23,0x00); - SETREG (0x24,0x00); - SETREG (0x25,0x00); - SETREG (0x26,0x0d); - SETREG (0x27,0x48); - SETREG (0x28,0x00); - SETREG (0x29,0x56); - SETREG (0x2a,0x5e); - SETREG (0x2b,0x02); - SETREG (0x2c,0x02); - SETREG (0x2d,0x58); - SETREG (0x3b,0x00); - SETREG (0x3c,0x00); - SETREG (0x3d,0x00); - SETREG (0x3e,0x00); - SETREG (0x3f,0x02); - SETREG (0x40,0x00); - SETREG (0x41,0x00); - SETREG (0x42,0x00); - SETREG (0x43,0x00); - SETREG (0x44,0x00); - SETREG (0x45,0x00); - SETREG (0x46,0x00); - SETREG (0x47,0x00); - SETREG (0x48,0x00); - SETREG (0x49,0x00); - SETREG (0x4f,0x00); - SETREG (0x52,0x00); - SETREG (0x53,0x02); - SETREG (0x54,0x04); - SETREG (0x55,0x06); - SETREG (0x56,0x04); - SETREG (0x57,0x04); - SETREG (0x58,0x04); - SETREG (0x59,0x04); - SETREG (0x5a,0x1a); - SETREG (0x5b,0x00); - SETREG (0x5c,0xc0); - SETREG (0x5f,0x00); - SETREG (0x60,0x02); - SETREG (0x61,0x00); - SETREG (0x62,0x00); - SETREG (0x63,0x00); - SETREG (0x64,0x00); - SETREG (0x65,0x00); - SETREG (0x66,0x00); - SETREG (0x67,0x00); - SETREG (0x68,0x00); - SETREG (0x69,0x00); - SETREG (0x6a,0x00); - SETREG (0x6b,0x00); - SETREG (0x6c,0x00); - SETREG (0x6e,0x00); - SETREG (0x6f,0x00); - if(dev->model->ccd_type!=CIS_CANONLIDE120) - { - SETREG (0x6d,0xd0); - SETREG (0x71,0x08); - } - else - { - SETREG (0x6d,0x00); - SETREG (0x71,0x1f); - } - SETREG (0x70,0x00); - SETREG (0x72,0x08); - SETREG (0x73,0x0a); - - /* CKxMAP */ - SETREG (0x74,0x00); - SETREG (0x75,0x00); - SETREG (0x76,0x3c); - SETREG (0x77,0x00); - SETREG (0x78,0x00); - SETREG (0x79,0x9f); - SETREG (0x7a,0x00); - SETREG (0x7b,0x00); - SETREG (0x7c,0x55); - - SETREG (0x7d,0x00); - SETREG (0x7e,0x08); - SETREG (0x7f,0x58); - if(dev->model->ccd_type!=CIS_CANONLIDE120) - { - SETREG (0x80,0x00); - SETREG (0x81,0x14); - } - else - { - SETREG (0x80,0x00); - SETREG (0x81,0x10); - } - - /* STRPIXEL */ - SETREG (0x82,0x00); - SETREG (0x83,0x00); - SETREG (0x84,0x00); - /* ENDPIXEL */ - SETREG (0x85,0x00); - SETREG (0x86,0x00); - SETREG (0x87,0x00); - - SETREG (0x88,0x00); - SETREG (0x89,0x65); - SETREG (0x8a,0x00); - SETREG (0x8b,0x00); - SETREG (0x8c,0x00); - SETREG (0x8d,0x00); - SETREG (0x8e,0x00); - SETREG (0x8f,0x00); - SETREG (0x90,0x00); - SETREG (0x91,0x00); - SETREG (0x92,0x00); - SETREG (0x93,0x00); - SETREG (0x94,0x14); - SETREG (0x95,0x30); - SETREG (0x96,0x00); - SETREG (0x97,0x90); - SETREG (0x98,0x01); - SETREG (0x99,0x1f); - SETREG (0x9a,0x00); - SETREG (0x9b,0x80); - SETREG (0x9c,0x80); - SETREG (0x9d,0x3f); - SETREG (0x9e,0x00); - SETREG (0x9f,0x00); - SETREG (0xa0,0x20); - SETREG (0xa1,0x30); - SETREG (0xa2,0x00); - SETREG (0xa3,0x20); - SETREG (0xa4,0x01); - SETREG (0xa5,0x00); - SETREG (0xa6,0x00); - SETREG (0xa7,0x08); - SETREG (0xa8,0x00); - SETREG (0xa9,0x08); - SETREG (0xaa,0x01); - SETREG (0xab,0x00); - SETREG (0xac,0x00); - SETREG (0xad,0x40); - SETREG (0xae,0x01); - SETREG (0xaf,0x00); - SETREG (0xb0,0x00); - SETREG (0xb1,0x40); - SETREG (0xb2,0x00); - SETREG (0xb3,0x09); - SETREG (0xb4,0x5b); - SETREG (0xb5,0x00); - SETREG (0xb6,0x10); - SETREG (0xb7,0x3f); - SETREG (0xb8,0x00); - SETREG (0xbb,0x00); - SETREG (0xbc,0xff); - SETREG (0xbd,0x00); - SETREG (0xbe,0x07); - SETREG (0xc3,0x00); - SETREG (0xc4,0x00); - - /* gamma - SETREG (0xc5,0x00); - SETREG (0xc6,0x00); - SETREG (0xc7,0x00); - SETREG (0xc8,0x00); - SETREG (0xc9,0x00); - SETREG (0xca,0x00); - SETREG (0xcb,0x00); - SETREG (0xcc,0x00); - SETREG (0xcd,0x00); - SETREG (0xce,0x00); - */ - if(dev->model->ccd_type==CIS_CANONLIDE120) - { - SETREG (0xc5,0x20); - SETREG (0xc6,0xeb); - SETREG (0xc7,0x20); - SETREG (0xc8,0xeb); - SETREG (0xc9,0x20); - SETREG (0xca,0xeb); - } - - /* memory layout - SETREG (0xd0,0x0a); - SETREG (0xd1,0x1f); - SETREG (0xd2,0x34); */ - SETREG (0xd3,0x00); - SETREG (0xd4,0x00); - SETREG (0xd5,0x00); - SETREG (0xd6,0x00); - SETREG (0xd7,0x00); - SETREG (0xd8,0x00); - SETREG (0xd9,0x00); - - /* memory layout - SETREG (0xe0,0x00); - SETREG (0xe1,0x48); - SETREG (0xe2,0x15); - SETREG (0xe3,0x90); - SETREG (0xe4,0x15); - SETREG (0xe5,0x91); - SETREG (0xe6,0x2a); - SETREG (0xe7,0xd9); - SETREG (0xe8,0x2a); - SETREG (0xe9,0xad); - SETREG (0xea,0x40); - SETREG (0xeb,0x22); - SETREG (0xec,0x40); - SETREG (0xed,0x23); - SETREG (0xee,0x55); - SETREG (0xef,0x6b); - SETREG (0xf0,0x55); - SETREG (0xf1,0x6c); - SETREG (0xf2,0x6a); - SETREG (0xf3,0xb4); - SETREG (0xf4,0x6a); - SETREG (0xf5,0xb5); - SETREG (0xf6,0x7f); - SETREG (0xf7,0xfd);*/ - - SETREG (0xf8,0x01); /* other value is 0x05 */ - SETREG (0xf9,0x00); - SETREG (0xfa,0x00); - SETREG (0xfb,0x00); - SETREG (0xfc,0x00); - SETREG (0xff,0x00); - - /* fine tune upon device description */ - dev->reg[reg_0x05].value &= ~REG05_DPIHW; - switch (dev->sensor.optical_res) - { - case 600: - dev->reg[reg_0x05].value |= REG05_DPIHW_600; - break; - case 1200: - dev->reg[reg_0x05].value |= REG05_DPIHW_1200; - break; - case 2400: - dev->reg[reg_0x05].value |= REG05_DPIHW_2400; - break; - case 4800: - dev->reg[reg_0x05].value |= REG05_DPIHW_4800; - break; - } - - /* initalize calibration reg */ - memcpy (dev->calib_reg, dev->reg, - GENESYS_GL124_MAX_REGS * sizeof (Genesys_Register_Set)); - - DBGCOMPLETED; -} - -/**@brief send slope table for motor movement - * Send slope_table in machine byte order - * @param dev device to send slope table - * @param table_nr index of the slope table in ASIC memory - * Must be in the [0-4] range. - * @param slope_table pointer to 16 bit values array of the slope table - * @param steps number of elemnts in the slope table - */ -GENESYS_STATIC SANE_Status -gl124_send_slope_table (Genesys_Device * dev, int table_nr, - uint16_t * slope_table, int steps) -{ - SANE_Status status; - uint8_t *table; - int i; - char msg[10000]; - - DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, - table_nr, steps); - - /* sanity check */ - if(table_nr<0 || table_nr>4) - { - DBG (DBG_error, "%s: invalid table number %d!\n", __func__, table_nr); - return SANE_STATUS_INVAL; - } - - table = (uint8_t *) malloc (steps * 2); - for (i = 0; i < steps; i++) - { - table[i * 2] = slope_table[i] & 0xff; - table[i * 2 + 1] = slope_table[i] >> 8; - } - - if (DBG_LEVEL >= DBG_io) - { - sprintf (msg, "write slope %d (%d)=", table_nr, steps); - for (i = 0; i < steps; i++) - { - sprintf (msg+strlen(msg), ",%d", slope_table[i]); - } - DBG (DBG_io, "%s: %s\n", __func__, msg); - } - - /* slope table addresses are fixed */ - status = - sanei_genesys_write_ahb (dev->dn, dev->usb_mode, 0x10000000 + 0x4000 * table_nr, steps * 2, table); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: write to AHB failed writing slope table %d (%s)\n", - __func__, table_nr, sane_strstatus (status)); - } - - free (table); - DBGCOMPLETED; - return status; -} - -/** @brief * Set register values of 'special' ti type frontend - * Registers value are taken from the frontend register data - * set. - * @param dev device owning the AFE - * @param set flag AFE_INIT to specify the AFE must be reset before writing data - * */ -static SANE_Status -gl124_set_ti_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - uint16_t val; - - DBGSTART; - if (set == AFE_INIT) - { - DBG (DBG_proc, "%s: setting DAC %u\n", __func__, dev->model->dac_type); - - /* sets to default values */ - sanei_genesys_init_fe (dev); - } - - /* start writing to DAC */ - status = sanei_genesys_fe_write_data (dev, 0x00, 0x80); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to write reg0: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* write values to analog frontend */ - for (i = 1; i < 4; i++) - { - val = dev->frontend.reg[i]; - status = sanei_genesys_fe_write_data (dev, i, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to write reg %d: %s\n", __func__, i, - sane_strstatus (status)); - return status; - } - } - - status = sanei_genesys_fe_write_data (dev, 0x04, 0x00); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to write reg4: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* these are not really sign for this AFE */ - for (i = 0; i < 3; i++) - { - val = dev->frontend.sign[i]; - status = sanei_genesys_fe_write_data (dev, 0x05 + i, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to write reg %d: %s\n", __func__, i+5, - sane_strstatus (status)); - return status; - } - } - - /* close writing to DAC */ - if(dev->model->dac_type == DAC_CANONLIDE120) - { - status = sanei_genesys_fe_write_data (dev, 0x00, 0x01); - } - else - { - status = sanei_genesys_fe_write_data (dev, 0x00, 0x11); - } - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to write reg0: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - DBGCOMPLETED; - - return status; -} - - -/* Set values of analog frontend */ -static SANE_Status -gl124_set_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status; - uint8_t val; - - DBG (DBG_proc, "gl124_set_fe (%s)\n", - set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == - AFE_POWER_SAVE ? "powersave" : "huh?"); - - if (set == AFE_INIT) - { - DBG (DBG_proc, "gl124_set_fe(): setting DAC %u\n", - dev->model->dac_type); - sanei_genesys_init_fe (dev); - } - - RIE (sanei_genesys_read_register (dev, REG0A, &val)); - - if(dev->usb_mode<0) - { - val=3<>REG0AS_SIFSEL) - { - case 3: - status=gl124_set_ti_fe (dev, set); - break; - case 0: - case 1: - case 2: - default: - DBG (DBG_error, "%s: unsupported analog FE 0x%02x\n",__func__,val); - status=SANE_STATUS_INVAL; - break; - } - - DBGCOMPLETED; - return status; -} - - -/**@brief compute exposure to use - * compute the sensor exposure based on target resolution - * @param dev pointer to device description - * @param xres sensor's required resolution - * @param half_ccd flag for half ccd mode - */ -static int gl124_compute_exposure(Genesys_Device *dev, int xres, int half_ccd) -{ - Sensor_Profile *sensor; - - sensor=get_sensor_profile(dev->model->ccd_type, xres, half_ccd); - return sensor->exposure; -} - - -static SANE_Status -gl124_init_motor_regs_scan (Genesys_Device * dev, - Genesys_Register_Set * reg, - unsigned int scan_exposure_time, - float scan_yres, - int scan_step_type, - unsigned int scan_lines, - unsigned int scan_dummy, - unsigned int feed_steps, - int scan_mode, - unsigned int flags) -{ - SANE_Status status; - int use_fast_fed; - unsigned int lincnt, fast_dpi; - uint16_t scan_table[SLOPE_TABLE_SIZE]; - uint16_t fast_table[SLOPE_TABLE_SIZE]; - int scan_steps,fast_steps,factor; - unsigned int feedl,dist; - Genesys_Register_Set *r; - uint32_t z1, z2; - float yres; - int min_speed; - unsigned int linesel; - - DBGSTART; - DBG (DBG_info, "gl124_init_motor_regs_scan : scan_exposure_time=%d, " - "scan_yres=%g, scan_step_type=%d, scan_lines=%d, scan_dummy=%d, " - "feed_steps=%d, scan_mode=%d, flags=%x\n", - scan_exposure_time, - scan_yres, - scan_step_type, - scan_lines, scan_dummy, feed_steps, scan_mode, flags); - - /* we never use fast fed since we do manual feed for the scans */ - use_fast_fed=0; - factor=1; - - /* enforce motor minimal scan speed - * @TODO extend motor struct for this value */ - if (scan_mode == SCAN_MODE_COLOR) - { - min_speed = 900; - } - else - { - switch(dev->model->motor_type) - { - case MOTOR_CANONLIDE110: - min_speed = 600; - break; - case MOTOR_CANONLIDE120: - min_speed = 900; - break; - default: - min_speed = 900; - break; - } - } - - /* compute min_speed and linesel */ - if(scan_yres 0 */ - if(linesel==0) - { - linesel=1; - yres=scan_yres*2; - } - } - else - { - yres=scan_yres; - linesel=0; - } - - DBG (DBG_io2, "%s: final yres=%f, linesel=%d\n", __func__, yres, linesel); - - lincnt=scan_lines*(linesel+1); - sanei_genesys_set_triple(reg,REG_LINCNT,lincnt); - DBG (DBG_io, "%s: lincnt=%d\n", __func__, lincnt); - - /* compute register 02 value */ - r = sanei_genesys_get_address (reg, REG02); - r->value = REG02_NOTHOME; - r->value |= REG02_MTRPWR; - - if (use_fast_fed) - r->value |= REG02_FASTFED; - else - r->value &= ~REG02_FASTFED; - - if (flags & MOTOR_FLAG_AUTO_GO_HOME) - r->value |= REG02_AGOHOME; - - if ((flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) - ||(yres>=dev->sensor.optical_res)) - r->value |= REG02_ACDCDIS; - - /* SCANFED */ - sanei_genesys_set_double(reg,REG_SCANFED,4); - - /* scan and backtracking slope table */ - sanei_genesys_slope_table(scan_table, - &scan_steps, - yres, - scan_exposure_time, - dev->motor.base_ydpi, - scan_step_type, - factor, - dev->model->motor_type, - motors); - RIE(gl124_send_slope_table (dev, SCAN_TABLE, scan_table, scan_steps)); - RIE(gl124_send_slope_table (dev, BACKTRACK_TABLE, scan_table, scan_steps)); - - /* STEPNO */ - sanei_genesys_set_double(reg,REG_STEPNO,scan_steps); - - /* fast table */ - fast_dpi=yres; - - /* - if (scan_mode != SCAN_MODE_COLOR) - { - fast_dpi*=3; - } - */ - sanei_genesys_slope_table(fast_table, - &fast_steps, - fast_dpi, - scan_exposure_time, - dev->motor.base_ydpi, - scan_step_type, - factor, - dev->model->motor_type, - motors); - RIE(gl124_send_slope_table (dev, STOP_TABLE, fast_table, fast_steps)); - RIE(gl124_send_slope_table (dev, FAST_TABLE, fast_table, fast_steps)); - - /* FASTNO */ - sanei_genesys_set_double(reg,REG_FASTNO,fast_steps); - - /* FSHDEC */ - sanei_genesys_set_double(reg,REG_FSHDEC,fast_steps); - - /* FMOVNO */ - sanei_genesys_set_double(reg,REG_FMOVNO,fast_steps); - - /* substract acceleration distance from feedl */ - feedl=feed_steps; - feedl<<=scan_step_type; - - dist = scan_steps; - if (flags & MOTOR_FLAG_FEED) - dist *=2; - if (use_fast_fed) - { - dist += fast_steps*2; - } - DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); - - /* get sure we don't use insane value */ - if(distvalue = (r->value & ~REG1D_LINESEL) | linesel; - - r = sanei_genesys_get_address (reg, REGA0); - r->value = (scan_step_type << REGA0S_STEPSEL) | (scan_step_type << REGA0S_FSTPSEL); - - /* FMOVDEC */ - sanei_genesys_set_double(reg,REG_FMOVDEC,fast_steps); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** @brief copy sensor specific settings - * Set up register set for the given sensor resolution. Values are from the device table - * in genesys_devices.c for registers: - * [0x16 ... 0x1d] - * [0x52 ... 0x5e] - * Other come from the specific device sensor table in genesys_gl124.h: - * 0x18, 0x20, 0x61, 0x98 and - * @param dev device to set up - * @param regs register set to modify - * @param dpi resolution of the sensor during scan - * @param half_ccd flag for half ccd mode - * */ -static void -gl124_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi, int half_ccd) -{ - Genesys_Register_Set *r; - int i; - Sensor_Profile *sensor; - int dpihw; - uint32_t exp; - - DBGSTART; - - /* we start at 6, 0-5 is a 16 bits cache for exposure */ - for (i = 0x06; i < 0x0e; i++) - { - r = sanei_genesys_get_address (regs, 0x10 + i); - if (r) - { - r->value = dev->sensor.regs_0x10_0x1d[i]; - } - } - - /* skip writing 5d,5e which is AFE address because - * they are not deifned in register set */ - for (i = 0; i < 11; i++) - { - r = sanei_genesys_get_address (regs, 0x52 + i); - if (r) - { - r->value = dev->sensor.regs_0x52_0x5e[i]; - } - } - - /* set EXPDUMMY and CKxMAP */ - dpihw=sanei_genesys_compute_dpihw(dev,dpi); - sensor=get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd); - - r = sanei_genesys_get_address (regs, 0x18); - if (r) - { - r->value = sensor->reg18; - } - r = sanei_genesys_get_address (regs, 0x20); - if (r) - { - r->value = sensor->reg20; - } - r = sanei_genesys_get_address (regs, 0x61); - if (r) - { - r->value = sensor->reg61; - } - r = sanei_genesys_get_address (regs, 0x98); - if (r) - { - r->value = sensor->reg98; - } - - if(sensor->reg16!=0) - { - r = sanei_genesys_get_address (regs, 0x16); - if (r) - { - r->value = sensor->reg16; - } - } - if(sensor->reg70!=0) - { - r = sanei_genesys_get_address (regs, 0x70); - if (r) - { - r->value = sensor->reg70; - } - } - - sanei_genesys_set_triple(regs,REG_SEGCNT,sensor->segcnt); - sanei_genesys_set_double(regs,REG_TG0CNT,sensor->tg0cnt); - sanei_genesys_set_double(regs,REG_EXPDMY,sensor->expdummy); - - /* if no calibration has been done, set default values for exposures */ - exp=dev->sensor.regs_0x10_0x1d[0]*256+dev->sensor.regs_0x10_0x1d[1]; - if(exp==0) - { - exp=sensor->expr; - } - sanei_genesys_set_triple(regs,REG_EXPR,exp); - - exp=dev->sensor.regs_0x10_0x1d[2]*256+dev->sensor.regs_0x10_0x1d[3]; - if(exp==0) - { - exp=sensor->expg; - } - sanei_genesys_set_triple(regs,REG_EXPG,exp); - - exp=dev->sensor.regs_0x10_0x1d[4]*256+dev->sensor.regs_0x10_0x1d[5]; - if(exp==0) - { - exp=sensor->expb; - } - sanei_genesys_set_triple(regs,REG_EXPB,exp); - - sanei_genesys_set_triple(regs,REG_CK1MAP,sensor->ck1map); - sanei_genesys_set_triple(regs,REG_CK3MAP,sensor->ck3map); - sanei_genesys_set_triple(regs,REG_CK4MAP,sensor->ck4map); - - /* order of the sub-segments */ - dev->order=sensor->order; - - DBGCOMPLETED; -} - -/** @brief setup optical related registers - * start and pixels are expressed in optical sensor resolution coordinate - * space. - * @param dev scanner device to use - * @param reg registers to set up - * @param exposure_time exposure time to use - * @param used_res scanning resolution used, may differ from - * scan's one - * @param start logical start pixel coordinate - * @param pixels logical number of pixels to use - * @param channels number of color channels (currently 1 or 3) - * @param depth bit depth of the scan (1, 8 or 16) - * @param half_ccd SANE_TRUE if sensor's timings are such that x coordinates - * must be halved - * @param color_filter color channel to use as gray data - * @param flags optical flags (@see ) - * @return SANE_STATUS_GOOD if OK - */ -static SANE_Status -gl124_init_optical_regs_scan (Genesys_Device * dev, - Genesys_Register_Set * reg, - unsigned int exposure_time, - int used_res, - unsigned int start, - unsigned int pixels, - int channels, - int depth, - SANE_Bool half_ccd, - int color_filter, - int flags) -{ - unsigned int words_per_line, segcnt; - unsigned int startx, endx, used_pixels, segnb; - unsigned int dpiset, cksel, dpihw, factor; - unsigned int bytes; - Genesys_Register_Set *r; - SANE_Status status; - uint32_t expmax, exp; - - DBG (DBG_proc, "%s : exposure_time=%d, " - "used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " - "half_ccd=%d, flags=%x\n", __func__, exposure_time, - used_res, start, pixels, channels, depth, half_ccd, flags); - - /* resolution is divided according to CKSEL */ - r = sanei_genesys_get_address (reg, REG18); - cksel= (r->value & REG18_CKSEL)+1; - DBG (DBG_io2, "%s: cksel=%d\n", __func__, cksel); - - /* to manage high resolution device while keeping good - * low resolution scanning speed, we make hardware dpi vary */ - dpihw=sanei_genesys_compute_dpihw(dev, used_res * cksel); - factor=dev->sensor.optical_res/dpihw; - DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); - - /* sensor parameters */ - gl124_setup_sensor (dev, reg, dpihw, half_ccd); - dpiset = used_res * cksel; - - /* start and end coordinate in optical dpi coordinates */ - /* startx = start/cksel + dev->sensor.dummy_pixel; XXX STEF XXX */ - startx = start/cksel; - used_pixels=pixels/cksel; - endx = startx + used_pixels; - - /* pixel coordinate factor correction when used dpihw is not maximal one */ - startx/=factor; - endx/=factor; - used_pixels=endx-startx; - - status = gl124_set_fe (dev, AFE_SET); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to set frontend: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* enable shading */ - r = sanei_genesys_get_address (reg, REG01); - r->value &= ~REG01_SCAN; - if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || - (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) - { - r->value &= ~REG01_DVDSET; - } - else - { - r->value |= REG01_DVDSET; - } - r->value &= ~REG01_SCAN; - - r = sanei_genesys_get_address (reg, REG03); - if((dev->model->ccd_type!=CIS_CANONLIDE120)&&(used_res>=600)) - { - r->value &= ~REG03_AVEENB; - DBG (DBG_io, "%s: disabling AVEENB\n", __func__); - } - else - { - r->value |= ~REG03_AVEENB; - DBG (DBG_io, "%s: enabling AVEENB\n", __func__); - } - - if (flags & OPTICAL_FLAG_DISABLE_LAMP) - r->value &= ~REG03_LAMPPWR; - else - r->value |= REG03_LAMPPWR; - - /* BW threshold */ - RIE (sanei_genesys_write_register (dev, REG114, dev->settings.threshold)); - RIE (sanei_genesys_write_register (dev, REG115, dev->settings.threshold)); - - /* monochrome / color scan */ - r = sanei_genesys_get_address (reg, REG04); - switch (depth) - { - case 1: - r->value &= ~REG04_BITSET; - r->value |= REG04_LINEART; - break; - case 8: - r->value &= ~(REG04_LINEART | REG04_BITSET); - break; - case 16: - r->value &= ~REG04_LINEART; - r->value |= REG04_BITSET; - break; - } - - r->value &= ~REG04_FILTER; - if (channels == 1) - { - switch (color_filter) - { - case 0: - r->value |= 0x10; /* red filter */ - break; - case 2: - r->value |= 0x30; /* blue filter */ - break; - default: - r->value |= 0x20; /* green filter */ - break; - } - } - - /* register 05 */ - r = sanei_genesys_get_address (reg, REG05); - - /* set up dpihw */ - r->value &= ~REG05_DPIHW; - switch(dpihw) - { - case 600: - r->value |= REG05_DPIHW_600; - break; - case 1200: - r->value |= REG05_DPIHW_1200; - break; - case 2400: - r->value |= REG05_DPIHW_2400; - break; - case 4800: - r->value |= REG05_DPIHW_4800; - break; - } - - /* enable gamma tables */ - if (flags & OPTICAL_FLAG_DISABLE_GAMMA) - r->value &= ~REG05_GMMENB; - else - r->value |= REG05_GMMENB; - - if(half_ccd) - { - sanei_genesys_set_double(reg,REG_DPISET,dpiset*2); - DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset*2); - } - else - { - sanei_genesys_set_double(reg,REG_DPISET,dpiset); - DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); - } - - r = sanei_genesys_get_address (reg, REG06); - r->value |= REG06_GAIN4; - - /* CIS scanners can do true gray by setting LEDADD */ - /* we set up LEDADD only when asked */ - if (dev->model->is_cis == SANE_TRUE) - { - r = sanei_genesys_get_address (reg, REG60); - r->value &= ~REG60_LEDADD; - if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) - { - r->value |= REG60_LEDADD; - sanei_genesys_get_triple(reg,REG_EXPR,&expmax); - sanei_genesys_get_triple(reg,REG_EXPG,&exp); - if(exp>expmax) - { - expmax=exp; - } - sanei_genesys_get_triple(reg,REG_EXPB,&exp); - if(exp>expmax) - { - expmax=exp; - } - sanei_genesys_set_triple(dev->reg,REG_EXPR,expmax); - sanei_genesys_set_triple(dev->reg,REG_EXPG,expmax); - sanei_genesys_set_triple(dev->reg,REG_EXPB,expmax); - } - /* RGB weighting, REG_TRUER,G and B are to be set */ - r = sanei_genesys_get_address (reg, 0x01); - r->value &= ~REG01_TRUEGRAY; - if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) - { - r->value |= REG01_TRUEGRAY; - sanei_genesys_write_register (dev, REG_TRUER, 0x80); - sanei_genesys_write_register (dev, REG_TRUEG, 0x80); - sanei_genesys_write_register (dev, REG_TRUEB, 0x80); - } - } - - /* segment number */ - r = sanei_genesys_get_address (reg, 0x98); - segnb = r->value & 0x0f; - - sanei_genesys_set_triple(reg,REG_STRPIXEL,startx/segnb); - DBG (DBG_io2, "%s: strpixel used=%d\n", __func__, startx/segnb); - sanei_genesys_get_triple(reg,REG_SEGCNT,&segcnt); - if(endx/segnb==segcnt) - { - endx=0; - } - sanei_genesys_set_triple(reg,REG_ENDPIXEL,endx/segnb); - DBG (DBG_io2, "%s: endpixel used=%d\n", __func__, endx/segnb); - - /* words(16bit) before gamma, conversion to 8 bit or lineart */ - words_per_line = (used_pixels * dpiset) / dpihw; - bytes = depth / 8; - if (depth == 1) - { - words_per_line = (words_per_line >> 3) + ((words_per_line & 7) ? 1 : 0); - } - else - { - words_per_line *= bytes; - } - - dev->bpl = words_per_line; - dev->cur = 0; - dev->skip = 0; - dev->len = dev->bpl/segnb; - dev->dist = dev->bpl/segnb; - dev->segnb = segnb; - dev->line_count = 0; - dev->line_interp = 0; - - DBG (DBG_io2, "%s: used_pixels =%d\n", __func__, used_pixels); - DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); - DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); - DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long)dev->bpl); - DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); - DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); - DBG (DBG_io2, "%s: dev->line_interp=%lu\n", __func__, (unsigned long)dev->line_interp); - - words_per_line *= channels; - dev->wpl = words_per_line; - - /* allocate buffer for odd/even pixels handling */ - if(dev->oe_buffer.buffer!=NULL) - { - sanei_genesys_buffer_free (&(dev->oe_buffer)); - } - RIE (sanei_genesys_buffer_alloc (&(dev->oe_buffer), dev->wpl)); - - /* MAXWD is expressed in 2 words unit */ - sanei_genesys_set_triple(reg,REG_MAXWD,(words_per_line)); - DBG (DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); - - sanei_genesys_set_triple(reg,REG_LPERIOD,exposure_time); - DBG (DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); - - sanei_genesys_set_double(reg,REG_DUMMY,dev->sensor.dummy_pixel); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** set up registers for an actual scan - * - * this function sets up the scanner to scan in normal or single line mode - */ -GENESYS_STATIC -SANE_Status -gl124_init_scan_regs (Genesys_Device * dev, - Genesys_Register_Set * reg, - float xres, /*dpi */ - float yres, /*dpi */ - float startx, /*optical_res, from dummy_pixel+1 */ - float starty, /*base_ydpi, from home! */ - float pixels, - float lines, - unsigned int depth, - unsigned int channels, - __sane_unused__ int scan_method, - int scan_mode, - int color_filter, - unsigned int flags) -{ - int used_res; - int start, used_pixels; - int bytes_per_line; - int move; - unsigned int lincnt; - unsigned int oflags, mflags; /**> optical and motor flags */ - int exposure_time; - int stagger; - - int dummy = 0; - int slope_dpi = 0; - int scan_step_type = 1; - int max_shift; - size_t requested_buffer_size, read_buffer_size; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - SANE_Status status; - - DBG (DBG_info, - "gl124_init_scan_regs settings:\n" - "Resolution : %gDPI/%gDPI\n" - "Lines : %g\n" - "PPL : %g\n" - "Startpos : %g/%g\n" - "Depth/Channels: %u/%u\n" - "Flags : %x\n\n", - xres, yres, lines, pixels, startx, starty, depth, channels, flags); - - half_ccd=compute_half_ccd(dev->model, xres); - - /* optical_res */ - optical_res = dev->sensor.optical_res; - if (half_ccd) - optical_res /= 2; - DBG (DBG_info, "%s: optical_res=%d\n", __func__, optical_res); - - /* stagger */ - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG (DBG_info, "gl124_init_scan_regs : stagger=%d lines\n", stagger); - - /** @brief compute used resolution */ - if (flags & SCAN_FLAG_USE_OPTICAL_RES) - { - used_res = optical_res; - } - else - { - /* resolution is choosen from a fixed list and can be used directly, - * unless we have ydpi higher than sensor's maximum one */ - if(xres>optical_res) - used_res=optical_res; - else - used_res = xres; - } - - /* compute scan parameters values */ - /* pixels are allways given at full optical resolution */ - /* use detected left margin and fixed value */ - /* start */ - /* add x coordinates */ - start = startx; - - if (stagger > 0) - start |= 1; - - /* compute correct pixels number */ - used_pixels = (pixels * optical_res) / xres; - DBG (DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); - - /* round up pixels number if needed */ - if (used_pixels * xres < pixels * optical_res) - used_pixels++; - - /* we want even number of pixels here */ - if(used_pixels & 1) - used_pixels++; - - /* slope_dpi */ - /* cis color scan is effectively a gray scan with 3 gray lines per color line and a FILTER of 0 */ - if (dev->model->is_cis) - slope_dpi = yres * channels; - else - slope_dpi = yres; - - /* scan_step_type */ - if(flags & SCAN_FLAG_FEEDING) - { - scan_step_type=0; - exposure_time=MOVE_EXPOSURE; - } - else - { - exposure_time = gl124_compute_exposure (dev, used_res, half_ccd); - scan_step_type = sanei_genesys_compute_step_type(motors, dev->model->motor_type, exposure_time); - } - - DBG (DBG_info, "gl124_init_scan_regs : exposure_time=%d pixels\n", exposure_time); - DBG (DBG_info, "gl124_init_scan_regs : scan_step_type=%d\n", scan_step_type); - - /*** optical parameters ***/ - /* in case of dynamic lineart, we use an internal 8 bit gray scan - * to generate 1 lineart data */ - if ((flags & SCAN_FLAG_DYNAMIC_LINEART) && (scan_mode == SCAN_MODE_LINEART)) - { - depth = 8; - } - - /* we enable true gray for cis scanners only, and just when doing - * scan since color calibration is OK for this mode - */ - oflags = 0; - if (flags & SCAN_FLAG_DISABLE_SHADING) - oflags |= OPTICAL_FLAG_DISABLE_SHADING; - if (flags & SCAN_FLAG_DISABLE_GAMMA) - oflags |= OPTICAL_FLAG_DISABLE_GAMMA; - if (flags & SCAN_FLAG_DISABLE_LAMP) - oflags |= OPTICAL_FLAG_DISABLE_LAMP; - if (flags & SCAN_FLAG_CALIBRATION) - oflags |= OPTICAL_FLAG_DISABLE_DOUBLE; - - if (dev->model->is_cis && dev->settings.true_gray) - { - oflags |= OPTICAL_FLAG_ENABLE_LEDADD; - } - - /* now _LOGICAL_ optical values used are known, setup registers */ - status = gl124_init_optical_regs_scan (dev, - reg, - exposure_time, - used_res, - start, - used_pixels, - channels, - depth, - half_ccd, - color_filter, - oflags); - if (status != SANE_STATUS_GOOD) - return status; - - /*** motor parameters ***/ - - /* max_shift */ - max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,flags); - - /* lines to scan */ - lincnt = lines + max_shift + stagger; - - /* add tl_y to base movement */ - move = starty; - DBG (DBG_info, "gl124_init_scan_regs: move=%d steps\n", move); - - mflags=0; - if(flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE) - mflags|=MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE; - if(flags & SCAN_FLAG_FEEDING) - mflags|=MOTOR_FLAG_FEED; - - status = gl124_init_motor_regs_scan (dev, - reg, - exposure_time, - slope_dpi, - scan_step_type, - dev->model->is_cis ? lincnt * channels : lincnt, - dummy, - move, - scan_mode, - mflags); - if (status != SANE_STATUS_GOOD) - return status; - - /*** prepares data reordering ***/ - - /* words_per_line */ - bytes_per_line = (used_pixels * used_res) / optical_res; - bytes_per_line = (bytes_per_line * channels * depth) / 8; - - /* since we don't have sheetfed scanners to handle, - * use huge read buffer */ - /* TODO find the best size according to settings */ - requested_buffer_size = 16 * bytes_per_line; - - read_buffer_size = - 2 * requested_buffer_size + - ((max_shift + stagger) * used_pixels * channels * depth) / 8; - - RIE (sanei_genesys_buffer_free (&(dev->read_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->read_buffer), read_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->lines_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->lines_buffer), read_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->shrink_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->shrink_buffer), - requested_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->out_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->out_buffer), - (8 * dev->settings.pixels * channels * - depth) / 8)); - - - dev->read_bytes_left = bytes_per_line * lincnt; - - DBG (DBG_info, - "gl124_init_scan_regs: physical bytes to read = %lu\n", - (u_long) dev->read_bytes_left); - dev->read_active = SANE_TRUE; - - - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - DBG (DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); - dev->current_setup.lines = lincnt; - dev->current_setup.depth = depth; - dev->current_setup.channels = channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = yres; - dev->current_setup.half_ccd = half_ccd; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - dev->total_bytes_read = 0; - if (depth == 1) - dev->total_bytes_to_read = - ((dev->settings.pixels * dev->settings.lines) / 8 + - (((dev->settings.pixels * dev->settings.lines) % 8) ? 1 : 0)) * - channels; - else - dev->total_bytes_to_read = - dev->settings.pixels * dev->settings.lines * channels * (depth / 8); - - DBG (DBG_info, "gl124_init_scan_regs: total bytes to send = %lu\n", - (u_long) dev->total_bytes_to_read); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl124_calculate_current_setup (Genesys_Device * dev) -{ - int channels; - int depth; - int start; - - float xres; /*dpi */ - float yres; /*dpi */ - float startx; /*optical_res, from dummy_pixel+1 */ - float pixels; - float lines; - - int used_res; - int used_pixels; - unsigned int lincnt; - int exposure_time; - int stagger; - SANE_Bool half_ccd; - - int max_shift, dpihw; - Sensor_Profile *sensor; - - int optical_res; - - DBG (DBG_info, - "gl124_calculate_current_setup settings:\n" - "Resolution: %ux%uDPI\n" - "Lines : %u\n" - "PPL : %u\n" - "Startpos : %.3f/%.3f\n" - "Scan mode : %d\n\n", - dev->settings.xres, - dev->settings.yres, dev->settings.lines, dev->settings.pixels, - dev->settings.tl_x, dev->settings.tl_y, dev->settings.scan_mode); - - /* channels */ - if (dev->settings.scan_mode == 4) /* single pass color */ - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == 0) - depth = 1; - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - start = (start * dev->sensor.optical_res) / MM_PER_INCH; - - - xres = dev->settings.xres; - yres = dev->settings.yres; - startx = start; - pixels = dev->settings.pixels; - lines = dev->settings.lines; - - half_ccd=compute_half_ccd(dev->model, xres); - - DBG (DBG_info, - "gl124_calculate_current_setup settings:\n" - "Resolution : %gDPI/%gDPI\n" - "Lines : %g\n" - "PPL : %g\n" - "Startpos : %g\n" - "Half ccd : %d\n" - "Depth/Channels: %u/%u\n\n", - xres, yres, lines, pixels, startx, depth, half_ccd, channels); - - /* optical_res */ - optical_res = dev->sensor.optical_res; - - if(xres<=optical_res) - used_res = xres; - else - used_res=optical_res; - - /* compute scan parameters values */ - /* pixels are allways given at half or full CCD optical resolution */ - /* use detected left margin and fixed value */ - - /* compute correct pixels number */ - used_pixels = (pixels * optical_res) / xres; - DBG (DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); - - /* exposure */ - exposure_time = gl124_compute_exposure (dev, xres, half_ccd); - DBG (DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); - - /* max_shift */ - max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,0); - - /* compute hw dpi for sensor */ - dpihw=sanei_genesys_compute_dpihw(dev,used_res); - - sensor=get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd); - dev->segnb=sensor->reg98 & 0x0f; - - /* stagger */ - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG (DBG_info, "%s: stagger=%d lines\n", __func__, stagger); - - /* lincnt */ - lincnt = lines + max_shift + stagger; - - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - DBG (DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); - dev->current_setup.lines = lincnt; - dev->current_setup.depth = depth; - dev->current_setup.channels = channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = yres; - dev->current_setup.half_ccd = half_ccd; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static void -gl124_set_motor_power (Genesys_Register_Set * regs, SANE_Bool set) -{ - - DBG (DBG_proc, "gl124_set_motor_power\n"); - - if (set) - { - sanei_genesys_set_reg_from_set (regs, REG02, - sanei_genesys_read_reg_from_set (regs, - REG02) - | REG02_MTRPWR); - } - else - { - sanei_genesys_set_reg_from_set (regs, REG02, - sanei_genesys_read_reg_from_set (regs, - REG02) - & ~REG02_MTRPWR); - } -} - -static void -gl124_set_lamp_power (Genesys_Device * dev, - Genesys_Register_Set * regs, SANE_Bool set) -{ - if (dev == NULL || regs==NULL) - return; - - if (set) - { - sanei_genesys_set_reg_from_set (regs, 0x03, - sanei_genesys_read_reg_from_set (regs, - 0x03) - | REG03_LAMPPWR); - } - else - { - sanei_genesys_set_reg_from_set (regs, 0x03, - sanei_genesys_read_reg_from_set (regs, - 0x03) - & ~REG03_LAMPPWR); - } -} - -/** - * for fast power saving methods only, like disabling certain amplifiers - * @param dev device to use - * @param enable true to set inot powersaving - * */ -static SANE_Status -gl124_save_power (Genesys_Device * dev, SANE_Bool enable) -{ - DBG (DBG_proc, "gl124_save_power: enable = %d\n", enable); - if (dev == NULL) - return SANE_STATUS_INVAL; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl124_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) -{ - Genesys_Register_Set *r; - - DBG (DBG_proc, "gl124_set_powersaving (delay = %d)\n", delay); - - r = sanei_genesys_get_address (dev->reg, REG03); - r->value &= ~0xf0; - if(delay<15) - { - r->value |= delay; - } - else - { - r->value |= 0x0f; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl124_start_action (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x01); -} - -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl124_stop_action (Genesys_Device * dev) -{ - SANE_Status status; - uint8_t val40, val; - unsigned int loop; - - DBGSTART; - - /* post scan gpio : without that HOMSNR is unreliable */ - gl124_homsnr_gpio(dev); - - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - status = sanei_genesys_read_register (dev, REG100, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read reg100: %s\n", __func__, - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* only stop action if needed */ - if (!(val40 & REG100_DATAENB) && !(val40 & REG100_MOTMFLG)) - { - DBG (DBG_info, "%s: already stopped\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* ends scan */ - val = sanei_genesys_read_reg_from_set (dev->reg, REG01); - val &= ~REG01_SCAN; - sanei_genesys_set_reg_from_set (dev->reg, REG01, val); - status = sanei_genesys_write_register (dev, REG01, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to write register 01: %s\n", __func__, - sane_strstatus (status)); - return status; - } - usleep (100 * 1000); - - loop = 10; - while (loop > 0) - { - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - status = sanei_genesys_read_register (dev, REG100, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* if scanner is in command mode, we are done */ - if (!(val40 & REG100_DATAENB) && !(val40 & REG100_MOTMFLG) - && !(val & MOTORENB)) - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - usleep (100 * 1000); - loop--; - } - - DBGCOMPLETED; - return SANE_STATUS_IO_ERROR; -} - - -/** @brief setup GPIOs for scan - * Setup GPIO values to drive motor (or light) needed for the - * target resolution - * @param *dev device to set up - * @param resolution dpi of the target scan - * @return SANE_STATUS_GOOD unless REG32 cannot be read - */ -static SANE_Status -gl124_setup_scan_gpio(Genesys_Device *dev, int resolution) -{ -SANE_Status status; -uint8_t val; - - DBGSTART; - RIE (sanei_genesys_read_register (dev, REG32, &val)); - - /* LiDE 110, 210 and 220 cases */ - if(dev->model->gpo_type != GPO_CANONLIDE120) - { - if(resolution>=dev->motor.base_ydpi/2) - { - val &= 0xf7; - } - else if(resolution>=dev->motor.base_ydpi/4) - { - val &= 0xef; - } - else - { - val |= 0x10; - } - } - /* 120 : <=300 => 0x53 */ - else - { /* base_ydpi is 4800 */ - if(resolution<=300) - { - val &= 0xf7; - } - else if(resolution<=600) - { - val |= 0x08; - } - else if(resolution<=1200) - { - val &= 0xef; - val |= 0x08; - } - else - { - val &= 0xf7; - } - } - val |= 0x02; - RIE (sanei_genesys_write_register (dev, REG32, val)); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* Send the low-level scan command */ -/* todo : is this that useful ? */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl124_begin_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool start_motor) -{ - SANE_Status status; - uint8_t val; - - DBGSTART; - if (reg == NULL) - return SANE_STATUS_INVAL; - - /* set up GPIO for scan */ - RIE(gl124_setup_scan_gpio(dev,dev->settings.yres)); - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* enable scan and motor */ - RIE (sanei_genesys_read_register (dev, REG01, &val)); - val |= REG01_SCAN; - RIE (sanei_genesys_write_register (dev, REG01, val)); - - if (start_motor) - { - RIE (sanei_genesys_write_register (dev, REG0F, 1)); - } - else - { - RIE (sanei_genesys_write_register (dev, REG0F, 0)); - } - - DBGCOMPLETED; - return status; -} - - -/* Send the stop scan command */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl124_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop) -{ - SANE_Status status; - - DBG (DBG_proc, "gl124_end_scan (check_stop = %d)\n", check_stop); - if (reg == NULL) - return SANE_STATUS_INVAL; - - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = SANE_STATUS_GOOD; - } - else /* flat bed scanners */ - { - status = gl124_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_end_scan: failed to stop: %s\n", - sane_strstatus (status)); - return status; - } - } - - DBGCOMPLETED; - return status; -} - - -/** rewind scan - * Move back by the same amount of distance than previous scan. - * @param dev device to rewind - * @returns SANE_STATUS_GOOD on success - */ -GENESYS_STATIC -SANE_Status gl124_rewind(Genesys_Device * dev) -{ - SANE_Status status; - uint8_t byte; - - DBGSTART; - - /* set motor reverse */ - RIE (sanei_genesys_read_register (dev, 0x02, &byte)); - byte |= 0x04; - RIE (sanei_genesys_write_register(dev, 0x02, byte)); - - /* and start scan, then wait completion */ - RIE (gl124_begin_scan (dev, dev->reg, SANE_TRUE)); - do - { - usleep(100*1000); - RIE (sanei_genesys_read_register (dev, REG100, &byte)); - } - while(byte & REG100_MOTMFLG); - RIE (gl124_end_scan (dev, dev->reg, SANE_TRUE)); - - /* restore direction */ - RIE (sanei_genesys_read_register (dev, 0x02, &byte)); - byte &= 0xfb; - RIE (sanei_genesys_write_register(dev, 0x02, byte)); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** Park head - * Moves the slider to the home (top) position slowly - * @param dev device to park - * @param wait_until_home true to make the function waiting for head - * to be home before returning, if fals returne immediately - * @returns SANE_STATUS_GOO on success */ -GENESYS_STATIC -SANE_Status -gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) -{ - Genesys_Register_Set local_reg[GENESYS_GL124_MAX_REGS]; - SANE_Status status; - Genesys_Register_Set *r; - uint8_t val; - float resolution; - int loop = 0; - - DBG (DBG_proc, "gl124_slow_back_home (wait_until_home = %d)\n", - wait_until_home); - - if(dev->usb_mode<0) - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* post scan gpio : without that HOMSNR is unreliable */ - gl124_homsnr_gpio(dev); - - /* first read gives HOME_SENSOR true */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - usleep (100000); /* sleep 100 ms */ - - /* second is reliable */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - /* is sensor at home? */ - if (val & HOMESNR) - { - DBG (DBG_info, "%s: already at home, completed\n", __func__); - dev->scanhead_position_in_steps = 0; - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* feed a little first */ - if (strcmp (dev->model->name, "canon-lide-210") == 0) - { - status = gl124_feed (dev, 20, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to do initial feed: %s\n", __func__, sane_strstatus (status)); - return status; - } - } - - memcpy (local_reg, dev->reg, GENESYS_GL124_MAX_REGS * sizeof (Genesys_Register_Set)); - resolution=sanei_genesys_get_lowest_dpi(dev); - - status = gl124_init_scan_regs (dev, - local_reg, - resolution, - resolution, - 100, - 30000, - 100, - 100, - 8, - 1, - dev->settings.scan_method, - SCAN_MODE_GRAY, - 0, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_slow_back_home: failed to set up registers: %s\n", - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* set up for reverse and no scan */ - r = sanei_genesys_get_address (local_reg, REG02); - r->value |= REG02_MTRREV; - - RIE (dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL124_MAX_REGS)); - - RIE(gl124_setup_scan_gpio(dev,resolution)); - - status = gl124_start_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_slow_back_home: failed to start motor: %s\n", - sane_strstatus (status)); - gl124_stop_action (dev); - /* restore original registers */ - dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL124_MAX_REGS); - return status; - } - - /* post scan gpio : without that HOMSNR is unreliable */ - gl124_homsnr_gpio(dev); - - if (wait_until_home) - { - - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - - if (val & HOMESNR) /* home sensor */ - { - DBG (DBG_info, "gl124_slow_back_home: reached home position\n"); - DBGCOMPLETED; - dev->scanhead_position_in_steps = 0; - return SANE_STATUS_GOOD; - } - usleep (100000); /* sleep 100 ms */ - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl124_stop_action (dev); - DBG (DBG_error, - "gl124_slow_back_home: timeout while waiting for scanhead to go home\n"); - return SANE_STATUS_IO_ERROR; - } - - DBG (DBG_info, "gl124_slow_back_home: scanhead is still moving\n"); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief moves the slider to steps at motor base dpi - * @param dev device to work on - * @param steps number of steps to move - * @param reverse true is moving backward - * */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl124_feed (Genesys_Device * dev, unsigned int steps, int reverse) -{ - Genesys_Register_Set local_reg[GENESYS_GL124_MAX_REGS]; - SANE_Status status; - Genesys_Register_Set *r; - float resolution; - uint8_t val; - - DBGSTART; - DBG (DBG_io, "%s: steps=%d\n", __func__, steps); - - /* prepare local registers */ - memcpy (local_reg, dev->reg, GENESYS_GL124_MAX_REGS * sizeof (Genesys_Register_Set)); - - resolution=sanei_genesys_get_lowest_ydpi(dev); - status = gl124_init_scan_regs (dev, - local_reg, - resolution, - resolution, - 0, - steps, - 100, - 3, - 8, - 3, - dev->settings.scan_method, - SCAN_MODE_COLOR, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_FEEDING | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* set exposure to zero */ - sanei_genesys_set_triple(local_reg,REG_EXPR,0); - sanei_genesys_set_triple(local_reg,REG_EXPG,0); - sanei_genesys_set_triple(local_reg,REG_EXPB,0); - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT)); - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRMCNT)); - - /* set up for no scan */ - r = sanei_genesys_get_address (local_reg, REG01); - r->value &= ~REG01_SCAN; - - /* set up for reverse if needed */ - if(reverse) - { - r = sanei_genesys_get_address (local_reg, REG02); - r->value |= REG02_MTRREV; - } - - /* send registers */ - RIE (dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL124_MAX_REGS)); - - status = gl124_start_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus (status)); - gl124_stop_action (dev); - - /* restore original registers */ - dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL124_MAX_REGS); - return status; - } - - /* wait until feed count reaches the required value, but do not - * exceed 30s */ - do - { - status = sanei_genesys_get_status (dev, &val); - } - while (status == SANE_STATUS_GOOD && !(val & FEEDFSH)); - - /* then stop scanning */ - RIE(gl124_stop_action (dev)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels - area at 600 dpi from very top of scanner */ -static SANE_Status -gl124_search_start_position (Genesys_Device * dev) -{ - int size; - SANE_Status status; - uint8_t *data; - Genesys_Register_Set local_reg[GENESYS_GL124_MAX_REGS]; - int steps; - - int pixels = 600; - int dpi = 300; - - DBGSTART; - - memcpy (local_reg, dev->reg, - GENESYS_GL124_MAX_REGS * sizeof (Genesys_Register_Set)); - - /* sets for a 200 lines * 600 pixels */ - /* normal scan with no shading */ - - status = gl124_init_scan_regs (dev, - local_reg, - dpi, - dpi, - 0, - 0, /*we should give a small offset here~60 steps */ - 600, - dev->model->search_lines, - 8, - 1, - dev->settings.scan_method, - SCAN_MODE_GRAY, - 1, /*green */ - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE); - if (status!=SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to init scan registers: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* send to scanner */ - status = dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL124_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_search_start_position: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - size = pixels * dev->model->search_lines; - - data = malloc (size); - if (!data) - { - DBG (DBG_error, - "gl124_search_start_position: failed to allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - - status = gl124_begin_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl124_search_start_position: failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data, size); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl124_search_start_position: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("search_position.pnm", data, 8, 1, pixels, - dev->model->search_lines); - - status = gl124_end_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl124_search_start_position: failed to end scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* update regs to copy ASIC internal state */ - memcpy (dev->reg, local_reg, - GENESYS_GL124_MAX_REGS * sizeof (Genesys_Register_Set)); - - status = - sanei_genesys_search_reference_point (dev, data, 0, dpi, pixels, - dev->model->search_lines); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl124_search_start_position: failed to set search reference point: %s\n", - sane_strstatus (status)); - return status; - } - - free (data); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* - * sets up register for coarse gain calibration - * todo: check it for scanners using it */ -static SANE_Status -gl124_init_regs_for_coarse_calibration (Genesys_Device * dev) -{ - SANE_Status status; - uint8_t channels; - uint8_t cksel; - - DBGSTART; - cksel = (dev->calib_reg[reg_0x18].value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ - - /* set line size */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - channels = 3; - else - channels = 1; - - status = gl124_init_scan_regs (dev, - dev->calib_reg, - dev->settings.xres, - dev->settings.yres, - 0, - 0, - dev->sensor.optical_res / cksel, - 20, - 16, - channels, - dev->settings.scan_method, - dev->settings.scan_mode, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_FEEDING | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_init_register_for_coarse_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - gl124_set_motor_power (dev->calib_reg, SANE_FALSE); - - DBG (DBG_info, - "gl124_init_register_for_coarse_calibration: optical sensor res: %d dpi, actual res: %d\n", - dev->sensor.optical_res / cksel, dev->settings.xres); - - status = dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL124_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_init_register_for_coarse_calibration: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* init registers for shading calibration */ -/* shading calibration is done at dpihw */ -static SANE_Status -gl124_init_regs_for_shading (Genesys_Device * dev) -{ - SANE_Status status; - int move, resolution, dpihw, factor; - - DBGSTART; - - /* initial calibration reg values */ - memcpy (dev->calib_reg, dev->reg, GENESYS_GL124_MAX_REGS * sizeof (Genesys_Register_Set)); - - dev->calib_channels = 3; - dev->calib_lines = dev->model->shading_lines; - dpihw=sanei_genesys_compute_dpihw(dev,dev->settings.xres); - if(dpihw>=2400) - { - dev->calib_lines *= 2; - } - resolution=dpihw; - - /* if half CCD mode, use half resolution */ - if(compute_half_ccd(dev->model, dev->settings.xres)==SANE_TRUE) - { - resolution /= 2; - dev->calib_lines /= 2; - } - dev->calib_resolution = resolution; - factor=dev->sensor.optical_res/resolution; - dev->calib_pixels = dev->sensor.sensor_pixels/factor; - - /* distance to move to reach white target at high resolution */ - move=0; - if(dev->settings.yres>=1200) - { - move = SANE_UNFIX (dev->model->y_offset_calib); - move = (move * (dev->motor.base_ydpi/4)) / MM_PER_INCH; - } - DBG (DBG_io, "%s: move=%d steps\n", __func__, move); - - status = gl124_init_scan_regs (dev, - dev->calib_reg, - resolution, - resolution, - 0, - move, - dev->calib_pixels, - dev->calib_lines, - 16, - dev->calib_channels, - dev->settings.scan_method, - SCAN_MODE_COLOR, - 0, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - gl124_set_motor_power (dev->calib_reg, SANE_FALSE); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - dev->scanhead_position_in_steps += dev->calib_lines + move; - - status = dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL124_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to bulk write registers: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief set up registers for the actual scan - */ -static SANE_Status -gl124_init_regs_for_scan (Genesys_Device * dev) -{ - int channels; - int flags; - int depth; - float move; - int move_dpi; - float start; - uint8_t val40,val; - - SANE_Status status; - - DBG (DBG_info, - "gl124_init_regs_for_scan settings:\nResolution: %ux%uDPI\n" - "Lines : %u\npixels : %u\nStartpos : %.3f/%.3f\nScan mode : %d\n\n", - dev->settings.xres, - dev->settings.yres, - dev->settings.lines, - dev->settings.pixels, - dev->settings.tl_x, - dev->settings.tl_y, - dev->settings.scan_mode); - - /* wait for motor to stop first */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - status = sanei_genesys_read_register (dev, REG100, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to read reg100: %s\n", __func__, sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - if((val & MOTORENB) || (val40 & REG100_MOTMFLG)) - { - do - { - usleep(10000); - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - status = sanei_genesys_read_register (dev, REG100, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to read reg100: %s\n", __func__, sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - } while ((val & MOTORENB) || (val40 & REG100_MOTMFLG)); - usleep(50000); - } - - /* ensure head is parked in case of calibration */ - RIE (gl124_slow_back_home (dev, SANE_TRUE)); - - /* channels */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == SCAN_MODE_LINEART) - depth = 1; - - /* y (motor) distance to move to reach scanned area */ - move_dpi = dev->motor.base_ydpi/4; - move = SANE_UNFIX (dev->model->y_offset); - move += dev->settings.tl_y; - move = (move * move_dpi) / MM_PER_INCH; - DBG (DBG_info, "%s: move=%f steps\n", __func__, move); - - if(channels*dev->settings.yres>=600 && move>700) - { - status = gl124_feed (dev, move-500, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to move to scan area\n",__func__); - return status; - } - move=500; - } - DBG (DBG_info, "gl124_init_regs_for_scan: move=%f steps\n", move); - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - if(compute_half_ccd(dev->model, dev->settings.xres)==SANE_TRUE) - { - start /=2; - } - start = (start * dev->sensor.optical_res) / MM_PER_INCH; - - flags = 0; - - /* enable emulated lineart from gray data */ - if(dev->settings.scan_mode == SCAN_MODE_LINEART - && dev->settings.dynamic_lineart) - { - flags |= SCAN_FLAG_DYNAMIC_LINEART; - } - - status = gl124_init_scan_regs (dev, - dev->reg, - dev->settings.xres, - dev->settings.yres, - start, - move, - dev->settings.pixels, - dev->settings.lines, - depth, - channels, - dev->settings.scan_method, - dev->settings.scan_mode, - dev->settings.color_filter, - flags); - - if (status != SANE_STATUS_GOOD) - return status; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * Send shading calibration data. The buffer is considered to always hold values - * for all the channels. - */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl124_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint32_t addr, length, strpixel ,endpixel, x, factor, segcnt, pixels, i; - uint32_t lines, channels; - uint16_t dpiset,dpihw; - uint8_t val,*buffer,*ptr,*src; - - DBGSTART; - DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__func__,size); - - /* logical size of a color as seen by generic code of the frontend */ - length = (uint32_t) (size / 3); - sanei_genesys_get_triple(dev->reg,REG_STRPIXEL,&strpixel); - sanei_genesys_get_triple(dev->reg,REG_ENDPIXEL,&endpixel); - sanei_genesys_get_triple(dev->reg,REG_SEGCNT,&segcnt); - if(endpixel==0) - { - endpixel=segcnt; - } - DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, SEGCNT=%d\n",__func__,strpixel,endpixel,endpixel-strpixel,segcnt); - - /* compute deletion factor */ - sanei_genesys_get_double(dev->reg,REG_DPISET,&dpiset); - dpihw=sanei_genesys_compute_dpihw(dev,dpiset); - factor=dpihw/dpiset; - DBG( DBG_io2, "%s: factor=%d\n",__func__,factor); - - /* binary data logging */ - if(DBG_LEVEL>=DBG_data) - { - dev->binary=fopen("binary.pnm","wb"); - sanei_genesys_get_triple(dev->reg, REG_LINCNT, &lines); - channels=dev->current_setup.channels; - if(dev->binary!=NULL) - { - fprintf(dev->binary,"P5\n%d %d\n%d\n",(endpixel-strpixel)/factor*channels*dev->segnb,lines/channels,255); - } - } - - /* turn pixel value into bytes 2x16 bits words */ - strpixel*=2*2; /* 2 words of 2 bytes */ - endpixel*=2*2; - segcnt*=2*2; - pixels=endpixel-strpixel; - - DBG( DBG_io2, "%s: using chunks of %d bytes (%d shading data pixels)\n",__func__,length, length/4); - buffer=(uint8_t *)malloc(pixels*dev->segnb); - memset(buffer,0,pixels*dev->segnb); - - /* write actual red data */ - for(i=0;i<3;i++) - { - /* copy data to work buffer and process it */ - /* coefficent destination */ - ptr=buffer; - - /* iterate on both sensor segment */ - for(x=0;xsegnb) - { - case 1: - ptr[0+pixels*0]=src[0+segcnt*0]; - ptr[1+pixels*0]=src[1+segcnt*0]; - ptr[2+pixels*0]=src[2+segcnt*0]; - ptr[3+pixels*0]=src[3+segcnt*0]; - break; - case 2: - ptr[0+pixels*0]=src[0+segcnt*0]; - ptr[1+pixels*0]=src[1+segcnt*0]; - ptr[2+pixels*0]=src[2+segcnt*0]; - ptr[3+pixels*0]=src[3+segcnt*0]; - ptr[0+pixels*1]=src[0+segcnt*1]; - ptr[1+pixels*1]=src[1+segcnt*1]; - ptr[2+pixels*1]=src[2+segcnt*1]; - ptr[3+pixels*1]=src[3+segcnt*1]; - break; - case 4: - ptr[0+pixels*0]=src[0+segcnt*0]; - ptr[1+pixels*0]=src[1+segcnt*0]; - ptr[2+pixels*0]=src[2+segcnt*0]; - ptr[3+pixels*0]=src[3+segcnt*0]; - ptr[0+pixels*1]=src[0+segcnt*2]; - ptr[1+pixels*1]=src[1+segcnt*2]; - ptr[2+pixels*1]=src[2+segcnt*2]; - ptr[3+pixels*1]=src[3+segcnt*2]; - ptr[0+pixels*2]=src[0+segcnt*1]; - ptr[1+pixels*2]=src[1+segcnt*1]; - ptr[2+pixels*2]=src[2+segcnt*1]; - ptr[3+pixels*2]=src[3+segcnt*1]; - ptr[0+pixels*3]=src[0+segcnt*3]; - ptr[1+pixels*3]=src[1+segcnt*3]; - ptr[2+pixels*3]=src[2+segcnt*3]; - ptr[3+pixels*3]=src[3+segcnt*3]; - break; - } - - /* next shading coefficient */ - ptr+=4; - } - RIE (sanei_genesys_read_register (dev, 0xd0+i, &val)); - addr = val * 8192 + 0x10000000; - status = sanei_genesys_write_ahb (dev->dn, dev->usb_mode, addr, pixels*dev->segnb, buffer); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl124_send_shading_data; write to AHB failed (%s)\n", - sane_strstatus (status)); - return status; - } - } - - free(buffer); - DBGCOMPLETED; - - return status; -} - - -/** @brief move to calibration area - * This functions moves scanning head to calibration area - * by doing a 600 dpi scan - * @param dev scanner device - * @return SANE_STATUS_GOOD on success, else the error code - */ -static SANE_Status -move_to_calibration_area (Genesys_Device * dev) -{ - int pixels; - int size; - uint8_t *line; - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - pixels = (dev->sensor.sensor_pixels*600)/dev->sensor.optical_res; - - /* initial calibration reg values */ - memcpy (dev->calib_reg, dev->reg, GENESYS_GL124_MAX_REGS * sizeof (Genesys_Register_Set)); - - /* set up for the calibration scan */ - status = gl124_init_scan_regs (dev, - dev->calib_reg, - 600, - 600, - 0, - 0, - pixels, - 1, - 8, - 3, - dev->settings.scan_method, - SCAN_MODE_COLOR, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); - return status; - } - - size = pixels * 3; - line = malloc (size); - if (!line) - return SANE_STATUS_NO_MEM; - - /* write registers and scan data */ - RIEF (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL124_MAX_REGS), line); - - DBG (DBG_info, "%s: starting line reading\n", __func__); - RIEF (gl124_begin_scan (dev, dev->calib_reg, SANE_TRUE), line); - RIEF (sanei_genesys_read_data_from_scanner (dev, line, size), line); - - /* stop scanning */ - RIE (gl124_stop_action (dev)); - - if (DBG_LEVEL >= DBG_data) - { - sanei_genesys_write_pnm_file ("movetocalarea.pnm", line, 8, 3, pixels, 1); - } - - /* cleanup before return */ - free (line); - - DBGCOMPLETED; - return status; -} - -/* this function does the led calibration by scanning one line of the calibration - area below scanner's top on white strip. - --needs working coarse/gain -*/ -static SANE_Status -gl124_led_calibration (Genesys_Device * dev) -{ - int num_pixels; - int total_size; - int resolution; - int dpihw; - uint8_t *line; - int i, j; - SANE_Status status = SANE_STATUS_GOOD; - int val; - int channels, depth; - int avg[3]; - int turn; - char fn[20]; - uint16_t exp[3],target; - Sensor_Profile *sensor; - SANE_Bool acceptable; - SANE_Bool half_ccd; - - DBGSTART; - - /* move to calibration area */ - move_to_calibration_area(dev); - - /* offset calibration is always done in 16 bit depth color mode */ - channels = 3; - depth=16; - dpihw=sanei_genesys_compute_dpihw(dev, dev->settings.xres); - half_ccd=compute_half_ccd(dev->model, dev->settings.xres); - if(half_ccd==SANE_TRUE) - { - resolution = dpihw/2; - } - else - { - resolution = dpihw; - } - sensor=get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd); - num_pixels = (dev->sensor.sensor_pixels*resolution)/dev->sensor.optical_res; - - /* initial calibration reg values */ - memcpy (dev->calib_reg, dev->reg, GENESYS_GL124_MAX_REGS * sizeof (Genesys_Register_Set)); - - /* set up for the calibration scan */ - status = gl124_init_scan_regs (dev, - dev->calib_reg, - resolution, - resolution, - 0, - 0, - num_pixels, - 1, - depth, - channels, - dev->settings.scan_method, - SCAN_MODE_COLOR, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); - return status; - } - - total_size = num_pixels * channels * (depth/8) * 1; /* colors * bytes_per_color * scan lines */ - line = malloc (total_size); - if (!line) - return SANE_STATUS_NO_MEM; - - /* initial loop values and boundaries */ - exp[0]=sensor->expr; - exp[1]=sensor->expg; - exp[2]=sensor->expb; - target=dev->sensor.gain_white_ref*256; - - turn = 0; - - /* no move during led calibration */ - gl124_set_motor_power (dev->calib_reg, SANE_FALSE); - do - { - /* set up exposure */ - sanei_genesys_set_triple(dev->calib_reg,REG_EXPR,exp[0]); - sanei_genesys_set_triple(dev->calib_reg,REG_EXPG,exp[1]); - sanei_genesys_set_triple(dev->calib_reg,REG_EXPB,exp[2]); - - /* write registers and scan data */ - RIEF (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL124_MAX_REGS), line); - - DBG (DBG_info, "gl124_led_calibration: starting line reading\n"); - RIEF (gl124_begin_scan (dev, dev->calib_reg, SANE_TRUE), line); - RIEF (sanei_genesys_read_data_from_scanner (dev, line, total_size), line); - - /* stop scanning */ - RIEF (gl124_stop_action (dev), line); - - if (DBG_LEVEL >= DBG_data) - { - snprintf (fn, 20, "led_%02d.pnm", turn); - sanei_genesys_write_pnm_file (fn, line, depth, channels, num_pixels, 1); - } - - /* compute average */ - for (j = 0; j < channels; j++) - { - avg[j] = 0; - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * num_pixels + 1] * 256 + - line[i * 2 + j * 2 * num_pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - avg[j] += val; - } - - avg[j] /= num_pixels; - } - - DBG (DBG_info, "gl124_led_calibration: average: %d,%d,%d\n", avg[0], avg[1], avg[2]); - - /* check if exposure gives average within the boundaries */ - acceptable = SANE_TRUE; - for(i=0;i<3;i++) - { - /* we accept +- 2% delta from target */ - if(abs(avg[i]-target)>target/50) - { - exp[i]=(exp[i]*target)/avg[i]; - acceptable = SANE_FALSE; - } - } - - turn++; - } - while (!acceptable && turn < 100); - - DBG (DBG_info, "gl124_led_calibration: acceptable exposure: %d,%d,%d\n", exp[0], exp[1], exp[2]); - - /* set these values as final ones for scan */ - sanei_genesys_set_triple(dev->reg,REG_EXPR,exp[0]); - sanei_genesys_set_triple(dev->reg,REG_EXPG,exp[1]); - sanei_genesys_set_triple(dev->reg,REG_EXPB,exp[2]); - - /* store in this struct since it is the one used by cache calibration */ - dev->sensor.regs_0x10_0x1d[0] = (exp[0] >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[1] = exp[0] & 0xff; - dev->sensor.regs_0x10_0x1d[2] = (exp[1] >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[3] = exp[1] & 0xff; - dev->sensor.regs_0x10_0x1d[4] = (exp[2] >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[5] = exp[2] & 0xff; - - /* cleanup before return */ - free (line); - - DBGCOMPLETED; - return status; -} - -/** - * average dark pixels of a 8 bits scan - */ -static int -dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, - unsigned int channels, unsigned int black) -{ - unsigned int i, j, k, average, count; - unsigned int avg[3]; - uint8_t val; - - /* computes average value on black margin */ - for (k = 0; k < channels; k++) - { - avg[k] = 0; - count = 0; - for (i = 0; i < lines; i++) - { - for (j = 0; j < black; j++) - { - val = data[i * channels * pixels + j + k]; - avg[k] += val; - count++; - } - } - if (count) - avg[k] /= count; - DBG (DBG_info, "dark_average: avg[%d] = %d\n", k, avg[k]); - } - average = 0; - for (i = 0; i < channels; i++) - average += avg[i]; - average /= channels; - DBG (DBG_info, "dark_average: average = %d\n", average); - return average; -} - - -static SANE_Status -gl124_offset_calibration (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t *first_line, *second_line, reg0a; - unsigned int channels, bpp; - char title[32]; - int pass = 0, avg, total_size; - int topavg, bottomavg, resolution, lines; - int top, bottom, black_pixels, pixels; - - DBGSTART; - - /* no gain nor offset for TI AFE */ - RIE (sanei_genesys_read_register (dev, REG0A, ®0a)); - if(((reg0a & REG0A_SIFSEL)>>REG0AS_SIFSEL)==3) - { - DBGCOMPLETED; - return status; - } - - /* offset calibration is always done in color mode */ - channels = 3; - resolution=dev->sensor.optical_res; - dev->calib_pixels = dev->sensor.sensor_pixels; - lines=1; - bpp=8; - pixels= (dev->sensor.sensor_pixels*resolution) / dev->sensor.optical_res; - black_pixels = (dev->sensor.black_pixels * resolution) / dev->sensor.optical_res; - DBG (DBG_io2, "gl124_offset_calibration: black_pixels=%d\n", black_pixels); - - status = gl124_init_scan_regs (dev, - dev->calib_reg, - resolution, - resolution, - 0, - 0, - pixels, - lines, - bpp, - channels, - dev->settings.scan_method, - SCAN_MODE_COLOR, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_offset_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - gl124_set_motor_power (dev->calib_reg, SANE_FALSE); - - /* allocate memory for scans */ - total_size = pixels * channels * lines * (bpp/8); /* colors * bytes_per_color * scan lines */ - - first_line = malloc (total_size); - if (!first_line) - return SANE_STATUS_NO_MEM; - - second_line = malloc (total_size); - if (!second_line) - { - free (first_line); - return SANE_STATUS_NO_MEM; - } - - /* init gain */ - dev->frontend.gain[0] = 0; - dev->frontend.gain[1] = 0; - dev->frontend.gain[2] = 0; - - /* scan with no move */ - bottom = 10; - dev->frontend.offset[0] = bottom; - dev->frontend.offset[1] = bottom; - dev->frontend.offset[2] = bottom; - - RIEF2 (gl124_set_fe(dev, AFE_SET), first_line, second_line); - RIEF2 (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL124_MAX_REGS), first_line, second_line); - DBG (DBG_info, "gl124_offset_calibration: starting first line reading\n"); - RIEF2 (gl124_begin_scan (dev, dev->calib_reg, SANE_TRUE), first_line, second_line); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, first_line, total_size), first_line, second_line); - if (DBG_LEVEL >= DBG_data) - { - snprintf(title,20,"offset%03d.pnm",bottom); - sanei_genesys_write_pnm_file (title, first_line, bpp, channels, pixels, lines); - } - - bottomavg = dark_average (first_line, pixels, lines, channels, black_pixels); - DBG (DBG_io2, "gl124_offset_calibration: bottom avg=%d\n", bottomavg); - - /* now top value */ - top = 255; - dev->frontend.offset[0] = top; - dev->frontend.offset[1] = top; - dev->frontend.offset[2] = top; - RIEF2 (gl124_set_fe(dev, AFE_SET), first_line, second_line); - RIEF2 (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL124_MAX_REGS), first_line, second_line); - DBG (DBG_info, "gl124_offset_calibration: starting second line reading\n"); - RIEF2 (gl124_begin_scan (dev, dev->calib_reg, SANE_TRUE), first_line, second_line); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, second_line, total_size), first_line, second_line); - - topavg = dark_average (second_line, pixels, lines, channels, black_pixels); - DBG (DBG_io2, "gl124_offset_calibration: top avg=%d\n", topavg); - - /* loop until acceptable level */ - while ((pass < 32) && (top - bottom > 1)) - { - pass++; - - /* settings for new scan */ - dev->frontend.offset[0] = (top + bottom) / 2; - dev->frontend.offset[1] = (top + bottom) / 2; - dev->frontend.offset[2] = (top + bottom) / 2; - - /* scan with no move */ - RIEF2 (gl124_set_fe(dev, AFE_SET), first_line, second_line); - RIEF2 (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL124_MAX_REGS), first_line, second_line); - DBG (DBG_info, "gl124_offset_calibration: starting second line reading\n"); - RIEF2 (gl124_begin_scan (dev, dev->calib_reg, SANE_TRUE), first_line, second_line); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, second_line, total_size), first_line, second_line); - - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "offset%03d.pnm", dev->frontend.offset[1]); - sanei_genesys_write_pnm_file (title, second_line, bpp, channels, pixels, lines); - } - - avg = dark_average (second_line, pixels, lines, channels, black_pixels); - DBG (DBG_info, "gl124_offset_calibration: avg=%d offset=%d\n", avg, - dev->frontend.offset[1]); - - /* compute new boundaries */ - if (topavg == avg) - { - topavg = avg; - top = dev->frontend.offset[1]; - } - else - { - bottomavg = avg; - bottom = dev->frontend.offset[1]; - } - } - DBG (DBG_info, "gl124_offset_calibration: offset=(%d,%d,%d)\n", dev->frontend.offset[0], dev->frontend.offset[1], dev->frontend.offset[2]); - - /* cleanup before return */ - free (first_line); - free (second_line); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* alternative coarse gain calibration - this on uses the settings from offset_calibration and - uses only one scanline - */ -/* - with offset and coarse calibration we only want to get our input range into - a reasonable shape. the fine calibration of the upper and lower bounds will - be done with shading. - */ -static SANE_Status -gl124_coarse_gain_calibration (Genesys_Device * dev, int dpi) -{ - int pixels; - int total_size; - uint8_t *line, reg0a; - int i, j, channels; - SANE_Status status = SANE_STATUS_GOOD; - int max[3]; - float gain[3],coeff; - int val, code, lines; - int resolution; - int bpp; - - DBG (DBG_proc, "gl124_coarse_gain_calibration: dpi = %d\n", dpi); - - /* no gain nor offset for TI AFE */ - RIE (sanei_genesys_read_register (dev, REG0A, ®0a)); - if(((reg0a & REG0A_SIFSEL)>>REG0AS_SIFSEL)==3) - { - DBGCOMPLETED; - return status; - } - - /* coarse gain calibration is always done in color mode */ - channels = 3; - - /* follow CKSEL */ - if(dev->settings.xressensor.optical_res) - { - coeff=0.9; - /*resolution=dev->sensor.optical_res/2;*/ - resolution=dev->sensor.optical_res; - } - else - { - resolution=dev->sensor.optical_res; - coeff=1.0; - } - lines=10; - bpp=8; - pixels = (dev->sensor.sensor_pixels * resolution) / dev->sensor.optical_res; - - status = gl124_init_scan_regs (dev, - dev->calib_reg, - resolution, - resolution, - 0, - 0, - pixels, - lines, - bpp, - channels, - dev->settings.scan_method, - SCAN_MODE_COLOR, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - gl124_set_motor_power (dev->calib_reg, SANE_FALSE); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_coarse_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - RIE (dev->model->cmd_set->bulk_write_register - (dev, dev->calib_reg, GENESYS_GL124_MAX_REGS)); - - total_size = pixels * channels * (16/bpp) * lines; - - line = malloc (total_size); - if (!line) - return SANE_STATUS_NO_MEM; - - RIEF (gl124_set_fe(dev, AFE_SET), line); - RIEF (gl124_begin_scan (dev, dev->calib_reg, SANE_TRUE), line); - RIEF (sanei_genesys_read_data_from_scanner (dev, line, total_size), line); - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("coarse.pnm", line, bpp, channels, pixels, lines); - - /* average value on each channel */ - for (j = 0; j < channels; j++) - { - max[j] = 0; - for (i = pixels/4; i < (pixels*3/4); i++) - { - if(bpp==16) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * pixels + 1] * 256 + - line[i * 2 + j * 2 * pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - } - else - { - if (dev->model->is_cis) - val = line[i + j * pixels]; - else - val = line[i * channels + j]; - } - - max[j] += val; - } - max[j] = max[j] / (pixels/2); - - gain[j] = ((float) dev->sensor.gain_white_ref*coeff) / max[j]; - - /* turn logical gain value into gain code, checking for overflow */ - code = 283 - 208 / gain[j]; - if (code > 255) - code = 255; - else if (code < 0) - code = 0; - dev->frontend.gain[j] = code; - - DBG (DBG_proc, - "gl124_coarse_gain_calibration: channel %d, max=%d, gain = %f, setting:%d\n", - j, max[j], gain[j], dev->frontend.gain[j]); - } - - if (dev->model->is_cis) - { - if (dev->frontend.gain[0] > dev->frontend.gain[1]) - dev->frontend.gain[0] = dev->frontend.gain[1]; - if (dev->frontend.gain[0] > dev->frontend.gain[2]) - dev->frontend.gain[0] = dev->frontend.gain[2]; - dev->frontend.gain[2] = dev->frontend.gain[1] = dev->frontend.gain[0]; - } - - if (channels == 1) - { - dev->frontend.gain[0] = dev->frontend.gain[1]; - dev->frontend.gain[2] = dev->frontend.gain[1]; - } - - free (line); - - RIE (gl124_stop_action (dev)); - - status = gl124_slow_back_home (dev, SANE_TRUE); - - DBGCOMPLETED; - return status; -} - -/* - * wait for lamp warmup by scanning the same line until difference - * between 2 scans is below a threshold - */ -static SANE_Status -gl124_init_regs_for_warmup (Genesys_Device * dev, - Genesys_Register_Set * reg, - int *channels, int *total_size) -{ - int num_pixels; - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - if (dev == NULL || reg == NULL || channels == NULL || total_size == NULL) - return SANE_STATUS_INVAL; - - *channels=3; - - memcpy (reg, dev->reg, (GENESYS_GL124_MAX_REGS + 1) * sizeof (Genesys_Register_Set)); - status = gl124_init_scan_regs (dev, - reg, - dev->sensor.optical_res, - dev->motor.base_ydpi, - dev->sensor.sensor_pixels/4, - 0, - dev->sensor.sensor_pixels/2, - 1, - 8, - *channels, - dev->settings.scan_method, - SCAN_MODE_COLOR, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl124_init_regs_for_warmup: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - num_pixels = dev->current_setup.pixels; - - *total_size = num_pixels * 3 * 1; /* colors * bytes_per_color * scan lines */ - - gl124_set_motor_power (reg, SANE_FALSE); - RIE (dev->model->cmd_set->bulk_write_register (dev, reg, GENESYS_GL124_MAX_REGS)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief default GPIO values - * set up GPIO/GPOE for idle state - * @param dev device to set up - * @return SANE_STATUS_GOOD unless a GPIO register cannot be written - */ -static SANE_Status -gl124_init_gpio (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx; - - DBGSTART; - - /* per model GPIO layout */ - if (strcmp (dev->model->name, "canon-lide-110") == 0) - { - idx = 0; - } - else if (strcmp (dev->model->name, "canon-lide-110") == 0) - { - idx = 2; - } - else - { /* canon LiDE 210 and 220 case */ - idx = 1; - } - - RIE (sanei_genesys_write_register (dev, REG31, gpios[idx].r31)); - RIE (sanei_genesys_write_register (dev, REG32, gpios[idx].r32)); - RIE (sanei_genesys_write_register (dev, REG33, gpios[idx].r33)); - RIE (sanei_genesys_write_register (dev, REG34, gpios[idx].r34)); - RIE (sanei_genesys_write_register (dev, REG35, gpios[idx].r35)); - RIE (sanei_genesys_write_register (dev, REG36, gpios[idx].r36)); - RIE (sanei_genesys_write_register (dev, REG38, gpios[idx].r38)); - - DBGCOMPLETED; - return status; -} - -/** - * set memory layout by filling values in dedicated registers - */ -static SANE_Status -gl124_init_memory_layout (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx = 0; - - DBGSTART; - - /* point to per model memory layout */ - if ((strcmp (dev->model->name, "canon-lide-110") == 0) - ||(strcmp (dev->model->name, "canon-lide-120") == 0)) - { - idx = 0; - } - else - { /* canon LiDE 210 and 220 case */ - idx = 1; - } - - /* setup base address for shading data. */ - /* values must be multiplied by 8192=0x4000 to give address on AHB */ - /* R-Channel shading bank0 address setting for CIS */ - sanei_genesys_write_register (dev, 0xd0, layouts[idx].rd0); - /* G-Channel shading bank0 address setting for CIS */ - sanei_genesys_write_register (dev, 0xd1, layouts[idx].rd1); - /* B-Channel shading bank0 address setting for CIS */ - sanei_genesys_write_register (dev, 0xd2, layouts[idx].rd2); - - /* setup base address for scanned data. */ - /* values must be multiplied by 1024*2=0x0800 to give address on AHB */ - /* R-Channel ODD image buffer 0x0124->0x92000 */ - /* size for each buffer is 0x16d*1k word */ - sanei_genesys_write_register (dev, 0xe0, layouts[idx].re0); - sanei_genesys_write_register (dev, 0xe1, layouts[idx].re1); - /* R-Channel ODD image buffer end-address 0x0291->0x148800 => size=0xB6800*/ - sanei_genesys_write_register (dev, 0xe2, layouts[idx].re2); - sanei_genesys_write_register (dev, 0xe3, layouts[idx].re3); - - /* R-Channel EVEN image buffer 0x0292 */ - sanei_genesys_write_register (dev, 0xe4, layouts[idx].re4); - sanei_genesys_write_register (dev, 0xe5, layouts[idx].re5); - /* R-Channel EVEN image buffer end-address 0x03ff*/ - sanei_genesys_write_register (dev, 0xe6, layouts[idx].re6); - sanei_genesys_write_register (dev, 0xe7, layouts[idx].re7); - - /* same for green, since CIS, same addresses */ - sanei_genesys_write_register (dev, 0xe8, layouts[idx].re0); - sanei_genesys_write_register (dev, 0xe9, layouts[idx].re1); - sanei_genesys_write_register (dev, 0xea, layouts[idx].re2); - sanei_genesys_write_register (dev, 0xeb, layouts[idx].re3); - sanei_genesys_write_register (dev, 0xec, layouts[idx].re4); - sanei_genesys_write_register (dev, 0xed, layouts[idx].re5); - sanei_genesys_write_register (dev, 0xee, layouts[idx].re6); - sanei_genesys_write_register (dev, 0xef, layouts[idx].re7); - -/* same for blue, since CIS, same addresses */ - sanei_genesys_write_register (dev, 0xf0, layouts[idx].re0); - sanei_genesys_write_register (dev, 0xf1, layouts[idx].re1); - sanei_genesys_write_register (dev, 0xf2, layouts[idx].re2); - sanei_genesys_write_register (dev, 0xf3, layouts[idx].re3); - sanei_genesys_write_register (dev, 0xf4, layouts[idx].re4); - sanei_genesys_write_register (dev, 0xf5, layouts[idx].re5); - sanei_genesys_write_register (dev, 0xf6, layouts[idx].re6); - sanei_genesys_write_register (dev, 0xf7, layouts[idx].re7); - - DBGCOMPLETED; - return status; -} - -/** - * initialize backend and ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home - */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl124_init (Genesys_Device * dev) -{ - SANE_Status status; - - DBG_INIT (); - DBGSTART; - - status=sanei_genesys_asic_init(dev, GENESYS_GL124_MAX_REGS); - - DBGCOMPLETED; - return status; -} - - -/* * - * initialize ASIC from power on condition - */ -static SANE_Status -gl124_boot (Genesys_Device * dev, SANE_Bool cold) -{ - SANE_Status status; - uint8_t val; - - DBGSTART; - - /* reset ASIC in case of cold boot */ - if(cold) - { - RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); - RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); - } - - /* enable GPOE 17 */ - RIE (sanei_genesys_write_register (dev, 0x36, 0x01)); - - /* set GPIO 17 */ - RIE (sanei_genesys_read_register (dev, 0x33, &val)); - val |= 0x01; - RIE (sanei_genesys_write_register (dev, 0x33, val)); - - /* test CHKVER */ - RIE (sanei_genesys_read_register (dev, REG100, &val)); - if (val & REG100_CHKVER) - { - RIE (sanei_genesys_read_register (dev, 0x00, &val)); - DBG (DBG_info, - "gl124_cold_boot: reported version for genesys chip is 0x%02x\n", - val); - } - - /* Set default values for registers */ - gl124_init_registers (dev); - - /* Write initial registers */ - RIE (dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL124_MAX_REGS)); - - /* tune reg 0B */ - val = REG0B_30MHZ | REG0B_ENBDRAM | REG0B_64M; - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg[reg_0x0b].address = 0x00; - - /* set up end access */ - RIE (sanei_genesys_write_0x8c (dev, 0x10, 0x0b)); - RIE (sanei_genesys_write_0x8c (dev, 0x13, 0x0e)); - - /* CIS_LINE */ - SETREG (0x08, REG08_CIS_LINE); - RIE (sanei_genesys_write_register (dev, 0x08, dev->reg[reg_0x08].value)); - - /* setup gpio */ - RIE (gl124_init_gpio (dev)); - - /* setup internal memory layout */ - RIE (gl124_init_memory_layout (dev)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -static SANE_Status -gl124_update_hardware_sensors (Genesys_Scanner * s) -{ - /* do what is needed to get a new set of events, but try to not loose - any of them. - */ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val=0; - - RIE (sanei_genesys_read_register (s->dev, REG31, &val)); - - /* TODO : for the next scanner special case, - * add another per scanner button profile struct to avoid growing - * hard-coded button mapping here. - */ - if((s->dev->model->gpo_type == GPO_CANONLIDE110) - ||(s->dev->model->gpo_type == GPO_CANONLIDE120)) - { - if (s->val[OPT_SCAN_SW].b == s->last_val[OPT_SCAN_SW].b) - s->val[OPT_SCAN_SW].b = (val & 0x01) == 0; - if (s->val[OPT_FILE_SW].b == s->last_val[OPT_FILE_SW].b) - s->val[OPT_FILE_SW].b = (val & 0x08) == 0; - if (s->val[OPT_EMAIL_SW].b == s->last_val[OPT_EMAIL_SW].b) - s->val[OPT_EMAIL_SW].b = (val & 0x04) == 0; - if (s->val[OPT_COPY_SW].b == s->last_val[OPT_COPY_SW].b) - s->val[OPT_COPY_SW].b = (val & 0x02) == 0; - } - else - { /* LiDE 210 case */ - if (s->val[OPT_EXTRA_SW].b == s->last_val[OPT_EXTRA_SW].b) - s->val[OPT_EXTRA_SW].b = (val & 0x01) == 0; - if (s->val[OPT_SCAN_SW].b == s->last_val[OPT_SCAN_SW].b) - s->val[OPT_SCAN_SW].b = (val & 0x02) == 0; - if (s->val[OPT_COPY_SW].b == s->last_val[OPT_COPY_SW].b) - s->val[OPT_COPY_SW].b = (val & 0x04) == 0; - if (s->val[OPT_EMAIL_SW].b == s->last_val[OPT_EMAIL_SW].b) - s->val[OPT_EMAIL_SW].b = (val & 0x08) == 0; - if (s->val[OPT_FILE_SW].b == s->last_val[OPT_FILE_SW].b) - s->val[OPT_FILE_SW].b = (val & 0x10) == 0; - } - return status; -} - - -/** the gl124 command set */ -static Genesys_Command_Set gl124_cmd_set = { - "gl124-generic", /* the name of this set */ - - gl124_init, - gl124_init_regs_for_warmup, - gl124_init_regs_for_coarse_calibration, - gl124_init_regs_for_shading, - gl124_init_regs_for_scan, - - gl124_get_filter_bit, - gl124_get_lineart_bit, - gl124_get_bitset_bit, - gl124_get_gain4_bit, - gl124_get_fast_feed_bit, - gl124_test_buffer_empty_bit, - gl124_test_motor_flag_bit, - - gl124_bulk_full_size, - - gl124_set_fe, - gl124_set_powersaving, - gl124_save_power, - - gl124_set_motor_power, - gl124_set_lamp_power, - - gl124_begin_scan, - gl124_end_scan, - - sanei_genesys_send_gamma_table, - - gl124_search_start_position, - - gl124_offset_calibration, - gl124_coarse_gain_calibration, - gl124_led_calibration, - - gl124_slow_back_home, - gl124_rewind, - - sanei_genesys_bulk_write_register, - NULL, - gl124_bulk_read_data, - - gl124_update_hardware_sensors, - - /* no sheetfed support for now */ - NULL, - NULL, - NULL, - NULL, - - sanei_genesys_is_compatible_calibration, - NULL, - gl124_send_shading_data, - gl124_calculate_current_setup, - gl124_boot, - gl124_init_scan_regs -}; - -SANE_Status -sanei_gl124_init_cmd_set (Genesys_Device * dev) -{ - dev->model->cmd_set = &gl124_cmd_set; - return SANE_STATUS_GOOD; -} - -/* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/genesys_gl124.cc b/backend/genesys_gl124.cc new file mode 100644 index 0000000..a535d58 --- /dev/null +++ b/backend/genesys_gl124.cc @@ -0,0 +1,3592 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2010-2016 Stéphane Voltz + + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "genesys_gl124.h" + +#include + +/**************************************************************************** + Mid level functions + ****************************************************************************/ + +static SANE_Bool gl124_get_fast_feed_bit(Genesys_Register_Set* regs) +{ + return (bool)(regs->get8(REG02) & REG02_FASTFED); +} + +static SANE_Bool gl124_get_filter_bit(Genesys_Register_Set* regs) +{ + return (bool)(regs->get8(REG04) & REG04_FILTER); +} + +static SANE_Bool gl124_get_lineart_bit(Genesys_Register_Set* regs) +{ + return (bool)(regs->get8(REG04) & REG04_LINEART); +} + +static SANE_Bool gl124_get_bitset_bit(Genesys_Register_Set* regs) +{ + return (bool)(regs->get8(REG04) & REG04_BITSET); +} + +static SANE_Bool gl124_get_gain4_bit (Genesys_Register_Set * regs) +{ + return (bool)(regs->get8(REG06) & REG06_GAIN4); +} + +static SANE_Bool +gl124_test_buffer_empty_bit (SANE_Byte val) +{ + if (val & BUFEMPTY) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl124_test_motor_flag_bit (SANE_Byte val) +{ + if (val & MOTORENB) + return SANE_TRUE; + return SANE_FALSE; +} + +/** @brief sensor profile + * search for the database of motor profiles and get the best one. Each + * profile is at a specific dpihw. Use LiDE 110 table by default. + * @param sensor_type sensor id + * @param dpi hardware dpi for the scan + * @param half_ccd flag to signal half ccd mode + * @return a pointer to a Sensor_Profile struct + */ +static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi, int half_ccd) +{ + unsigned int i; + int idx; + + i=0; + idx=-1; + while(i=dpi + && sensors[i].dpi 1) + { + return SANE_TRUE; + } + return SANE_FALSE; +} + +/** @brief set all registers to default values . + * This function is called only once at the beginning and + * fills register startup values for registers reused across scans. + * Those that are rarely modified or not modified are written + * individually. + * @param dev device structure holding register set to initialize + */ +static void +gl124_init_registers (Genesys_Device * dev) +{ + DBGSTART; + + dev->reg.clear(); + + /* default to LiDE 110 */ + SETREG (0x01,0xa2); /* + REG01_SHDAREA */ + SETREG (0x02,0x90); + SETREG (0x03,0x50); + SETREG (0x04,0x03); + SETREG (0x05,0x00); + if(dev->model->ccd_type==CIS_CANONLIDE120) + { + SETREG (0x06,0x50); + SETREG (0x07,0x00); + } + else + { + SETREG (0x03,0x50 & ~REG03_AVEENB); + SETREG (0x06,0x50 | REG06_GAIN4); + } + SETREG (0x09,0x00); + SETREG (0x0a,0xc0); + SETREG (0x0b,0x2a); + SETREG (0x0c,0x12); + SETREG (0x11,0x00); + SETREG (0x12,0x00); + SETREG (0x13,0x0f); + SETREG (0x14,0x00); + SETREG (0x15,0x80); + SETREG (0x16,0x10); + SETREG (0x17,0x04); + SETREG (0x18,0x00); + SETREG (0x19,0x01); + SETREG (0x1a,0x30); + SETREG (0x1b,0x00); + SETREG (0x1c,0x00); + SETREG (0x1d,0x01); + SETREG (0x1e,0x10); + SETREG (0x1f,0x00); + SETREG (0x20,0x15); + SETREG (0x21,0x00); + if(dev->model->ccd_type!=CIS_CANONLIDE120) + { + SETREG (0x22,0x02); + } + else + { + SETREG (0x22,0x14); + } + SETREG (0x23,0x00); + SETREG (0x24,0x00); + SETREG (0x25,0x00); + SETREG (0x26,0x0d); + SETREG (0x27,0x48); + SETREG (0x28,0x00); + SETREG (0x29,0x56); + SETREG (0x2a,0x5e); + SETREG (0x2b,0x02); + SETREG (0x2c,0x02); + SETREG (0x2d,0x58); + SETREG (0x3b,0x00); + SETREG (0x3c,0x00); + SETREG (0x3d,0x00); + SETREG (0x3e,0x00); + SETREG (0x3f,0x02); + SETREG (0x40,0x00); + SETREG (0x41,0x00); + SETREG (0x42,0x00); + SETREG (0x43,0x00); + SETREG (0x44,0x00); + SETREG (0x45,0x00); + SETREG (0x46,0x00); + SETREG (0x47,0x00); + SETREG (0x48,0x00); + SETREG (0x49,0x00); + SETREG (0x4f,0x00); + SETREG (0x52,0x00); + SETREG (0x53,0x02); + SETREG (0x54,0x04); + SETREG (0x55,0x06); + SETREG (0x56,0x04); + SETREG (0x57,0x04); + SETREG (0x58,0x04); + SETREG (0x59,0x04); + SETREG (0x5a,0x1a); + SETREG (0x5b,0x00); + SETREG (0x5c,0xc0); + SETREG (0x5f,0x00); + SETREG (0x60,0x02); + SETREG (0x61,0x00); + SETREG (0x62,0x00); + SETREG (0x63,0x00); + SETREG (0x64,0x00); + SETREG (0x65,0x00); + SETREG (0x66,0x00); + SETREG (0x67,0x00); + SETREG (0x68,0x00); + SETREG (0x69,0x00); + SETREG (0x6a,0x00); + SETREG (0x6b,0x00); + SETREG (0x6c,0x00); + SETREG (0x6e,0x00); + SETREG (0x6f,0x00); + if(dev->model->ccd_type!=CIS_CANONLIDE120) + { + SETREG (0x6d,0xd0); + SETREG (0x71,0x08); + } + else + { + SETREG (0x6d,0x00); + SETREG (0x71,0x1f); + } + SETREG (0x70,0x00); + SETREG (0x72,0x08); + SETREG (0x73,0x0a); + + /* CKxMAP */ + SETREG (0x74,0x00); + SETREG (0x75,0x00); + SETREG (0x76,0x3c); + SETREG (0x77,0x00); + SETREG (0x78,0x00); + SETREG (0x79,0x9f); + SETREG (0x7a,0x00); + SETREG (0x7b,0x00); + SETREG (0x7c,0x55); + + SETREG (0x7d,0x00); + SETREG (0x7e,0x08); + SETREG (0x7f,0x58); + if(dev->model->ccd_type!=CIS_CANONLIDE120) + { + SETREG (0x80,0x00); + SETREG (0x81,0x14); + } + else + { + SETREG (0x80,0x00); + SETREG (0x81,0x10); + } + + /* STRPIXEL */ + SETREG (0x82,0x00); + SETREG (0x83,0x00); + SETREG (0x84,0x00); + /* ENDPIXEL */ + SETREG (0x85,0x00); + SETREG (0x86,0x00); + SETREG (0x87,0x00); + + SETREG (0x88,0x00); + SETREG (0x89,0x65); + SETREG (0x8a,0x00); + SETREG (0x8b,0x00); + SETREG (0x8c,0x00); + SETREG (0x8d,0x00); + SETREG (0x8e,0x00); + SETREG (0x8f,0x00); + SETREG (0x90,0x00); + SETREG (0x91,0x00); + SETREG (0x92,0x00); + SETREG (0x93,0x00); + SETREG (0x94,0x14); + SETREG (0x95,0x30); + SETREG (0x96,0x00); + SETREG (0x97,0x90); + SETREG (0x98,0x01); + SETREG (0x99,0x1f); + SETREG (0x9a,0x00); + SETREG (0x9b,0x80); + SETREG (0x9c,0x80); + SETREG (0x9d,0x3f); + SETREG (0x9e,0x00); + SETREG (0x9f,0x00); + SETREG (0xa0,0x20); + SETREG (0xa1,0x30); + SETREG (0xa2,0x00); + SETREG (0xa3,0x20); + SETREG (0xa4,0x01); + SETREG (0xa5,0x00); + SETREG (0xa6,0x00); + SETREG (0xa7,0x08); + SETREG (0xa8,0x00); + SETREG (0xa9,0x08); + SETREG (0xaa,0x01); + SETREG (0xab,0x00); + SETREG (0xac,0x00); + SETREG (0xad,0x40); + SETREG (0xae,0x01); + SETREG (0xaf,0x00); + SETREG (0xb0,0x00); + SETREG (0xb1,0x40); + SETREG (0xb2,0x00); + SETREG (0xb3,0x09); + SETREG (0xb4,0x5b); + SETREG (0xb5,0x00); + SETREG (0xb6,0x10); + SETREG (0xb7,0x3f); + SETREG (0xb8,0x00); + SETREG (0xbb,0x00); + SETREG (0xbc,0xff); + SETREG (0xbd,0x00); + SETREG (0xbe,0x07); + SETREG (0xc3,0x00); + SETREG (0xc4,0x00); + + /* gamma + SETREG (0xc5,0x00); + SETREG (0xc6,0x00); + SETREG (0xc7,0x00); + SETREG (0xc8,0x00); + SETREG (0xc9,0x00); + SETREG (0xca,0x00); + SETREG (0xcb,0x00); + SETREG (0xcc,0x00); + SETREG (0xcd,0x00); + SETREG (0xce,0x00); + */ + if(dev->model->ccd_type==CIS_CANONLIDE120) + { + SETREG (0xc5,0x20); + SETREG (0xc6,0xeb); + SETREG (0xc7,0x20); + SETREG (0xc8,0xeb); + SETREG (0xc9,0x20); + SETREG (0xca,0xeb); + } + + /* memory layout + SETREG (0xd0,0x0a); + SETREG (0xd1,0x1f); + SETREG (0xd2,0x34); */ + SETREG (0xd3,0x00); + SETREG (0xd4,0x00); + SETREG (0xd5,0x00); + SETREG (0xd6,0x00); + SETREG (0xd7,0x00); + SETREG (0xd8,0x00); + SETREG (0xd9,0x00); + + /* memory layout + SETREG (0xe0,0x00); + SETREG (0xe1,0x48); + SETREG (0xe2,0x15); + SETREG (0xe3,0x90); + SETREG (0xe4,0x15); + SETREG (0xe5,0x91); + SETREG (0xe6,0x2a); + SETREG (0xe7,0xd9); + SETREG (0xe8,0x2a); + SETREG (0xe9,0xad); + SETREG (0xea,0x40); + SETREG (0xeb,0x22); + SETREG (0xec,0x40); + SETREG (0xed,0x23); + SETREG (0xee,0x55); + SETREG (0xef,0x6b); + SETREG (0xf0,0x55); + SETREG (0xf1,0x6c); + SETREG (0xf2,0x6a); + SETREG (0xf3,0xb4); + SETREG (0xf4,0x6a); + SETREG (0xf5,0xb5); + SETREG (0xf6,0x7f); + SETREG (0xf7,0xfd);*/ + + SETREG (0xf8,0x01); /* other value is 0x05 */ + SETREG (0xf9,0x00); + SETREG (0xfa,0x00); + SETREG (0xfb,0x00); + SETREG (0xfc,0x00); + SETREG (0xff,0x00); + + /* fine tune upon device description */ + dev->reg.find_reg(0x05).value &= ~REG05_DPIHW; + switch (sanei_genesys_find_sensor_any(dev).optical_res) + { + case 600: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_600; + break; + case 1200: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_1200; + break; + case 2400: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; + break; + case 4800: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_4800; + break; + } + + dev->calib_reg = dev->reg; + + DBGCOMPLETED; +} + +/**@brief send slope table for motor movement + * Send slope_table in machine byte order + * @param dev device to send slope table + * @param table_nr index of the slope table in ASIC memory + * Must be in the [0-4] range. + * @param slope_table pointer to 16 bit values array of the slope table + * @param steps number of elemnts in the slope table + */ +static SANE_Status +gl124_send_slope_table (Genesys_Device * dev, int table_nr, + uint16_t * slope_table, int steps) +{ + SANE_Status status = SANE_STATUS_GOOD; + int i; + char msg[10000]; + + DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, + table_nr, steps); + + /* sanity check */ + if(table_nr<0 || table_nr>4) + { + DBG (DBG_error, "%s: invalid table number %d!\n", __func__, table_nr); + return SANE_STATUS_INVAL; + } + + std::vector table(steps * 2); + for (i = 0; i < steps; i++) + { + table[i * 2] = slope_table[i] & 0xff; + table[i * 2 + 1] = slope_table[i] >> 8; + } + + if (DBG_LEVEL >= DBG_io) + { + sprintf (msg, "write slope %d (%d)=", table_nr, steps); + for (i = 0; i < steps; i++) + { + sprintf (msg+strlen(msg), ",%d", slope_table[i]); + } + DBG (DBG_io, "%s: %s\n", __func__, msg); + } + + /* slope table addresses are fixed */ + status = sanei_genesys_write_ahb(dev, 0x10000000 + 0x4000 * table_nr, steps * 2, table.data()); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "%s: write to AHB failed writing slope table %d (%s)\n", + __func__, table_nr, sane_strstatus (status)); + } + + DBGCOMPLETED; + return status; +} + +/** @brief * Set register values of 'special' ti type frontend + * Registers value are taken from the frontend register data + * set. + * @param dev device owning the AFE + * @param set flag AFE_INIT to specify the AFE must be reset before writing data + * */ +static SANE_Status +gl124_set_ti_fe (Genesys_Device * dev, uint8_t set) +{ + SANE_Status status = SANE_STATUS_GOOD; + int i; + + DBGSTART; + if (set == AFE_INIT) + { + DBG (DBG_proc, "%s: setting DAC %u\n", __func__, dev->model->dac_type); + + dev->frontend = dev->frontend_initial; + } + + /* start writing to DAC */ + status = sanei_genesys_fe_write_data (dev, 0x00, 0x80); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to write reg0: %s\n", __func__, + sane_strstatus (status)); + return status; + } + + /* write values to analog frontend */ + for (uint16_t addr = 0x01; addr < 0x04; addr++) + { + status = sanei_genesys_fe_write_data(dev, addr, dev->frontend.regs.get_value(addr)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write reg %d: %s\n", __func__, addr, + sane_strstatus(status)); + return status; + } + } + + status = sanei_genesys_fe_write_data (dev, 0x04, 0x00); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to write reg4: %s\n", __func__, + sane_strstatus (status)); + return status; + } + + /* these are not really sign for this AFE */ + for (i = 0; i < 3; i++) + { + status = sanei_genesys_fe_write_data(dev, 0x05 + i, dev->frontend.regs.get_value(0x24 + i)); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "%s: failed to write reg %d: %s\n", __func__, i+5, + sane_strstatus (status)); + return status; + } + } + + /* close writing to DAC */ + if(dev->model->dac_type == DAC_CANONLIDE120) + { + status = sanei_genesys_fe_write_data (dev, 0x00, 0x01); + } + else + { + status = sanei_genesys_fe_write_data (dev, 0x00, 0x11); + } + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to write reg0: %s\n", __func__, + sane_strstatus (status)); + return status; + } + + DBGCOMPLETED; + + return status; +} + + +/* Set values of analog frontend */ +static SANE_Status +gl124_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set) +{ + (void) sensor; + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + + DBG(DBG_proc, "%s (%s)\n", __func__, set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == + AFE_POWER_SAVE ? "powersave" : "huh?"); + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); + dev->frontend = dev->frontend_initial; + } + + RIE (sanei_genesys_read_register (dev, REG0A, &val)); + + /* route to correct analog FE */ + switch ((val & REG0A_SIFSEL)>>REG0AS_SIFSEL) + { + case 3: + status=gl124_set_ti_fe (dev, set); + break; + case 0: + case 1: + case 2: + default: + DBG(DBG_error, "%s: unsupported analog FE 0x%02x\n", __func__, val); + status=SANE_STATUS_INVAL; + break; + } + + DBGCOMPLETED; + return status; +} + + +/**@brief compute exposure to use + * compute the sensor exposure based on target resolution + * @param dev pointer to device description + * @param xres sensor's required resolution + * @param half_ccd flag for half ccd mode + */ +static int gl124_compute_exposure(Genesys_Device *dev, int xres, int half_ccd) +{ + Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, xres, half_ccd); + return sensor_profile->exposure; +} + + +static SANE_Status +gl124_init_motor_regs_scan (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, + unsigned int scan_exposure_time, + float scan_yres, + int scan_step_type, + unsigned int scan_lines, + unsigned int scan_dummy, + unsigned int feed_steps, + ScanColorMode scan_mode, + unsigned int flags) +{ + SANE_Status status = SANE_STATUS_GOOD; + int use_fast_fed; + unsigned int lincnt, fast_dpi; + uint16_t scan_table[SLOPE_TABLE_SIZE]; + uint16_t fast_table[SLOPE_TABLE_SIZE]; + int scan_steps,fast_steps,factor; + unsigned int feedl,dist; + uint32_t z1, z2; + float yres; + int min_speed; + unsigned int linesel; + + DBGSTART; + DBG(DBG_info, "%s : scan_exposure_time=%d, scan_yres=%g, scan_step_type=%d, scan_lines=%d, " + "scan_dummy=%d, feed_steps=%d, scan_mode=%d, flags=%x\n", __func__, scan_exposure_time, + scan_yres, scan_step_type, scan_lines, scan_dummy, feed_steps, + static_cast(scan_mode), flags); + + /* we never use fast fed since we do manual feed for the scans */ + use_fast_fed=0; + factor=1; + + /* enforce motor minimal scan speed + * @TODO extend motor struct for this value */ + if (scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + min_speed = 900; + } + else + { + switch(dev->model->motor_type) + { + case MOTOR_CANONLIDE110: + min_speed = 600; + break; + case MOTOR_CANONLIDE120: + min_speed = 900; + break; + default: + min_speed = 900; + break; + } + } + + /* compute min_speed and linesel */ + if(scan_yres 0 */ + if(linesel==0) + { + linesel=1; + yres=scan_yres*2; + } + } + else + { + yres=scan_yres; + linesel=0; + } + + DBG (DBG_io2, "%s: final yres=%f, linesel=%d\n", __func__, yres, linesel); + + lincnt=scan_lines*(linesel+1); + sanei_genesys_set_triple(reg,REG_LINCNT,lincnt); + DBG (DBG_io, "%s: lincnt=%d\n", __func__, lincnt); + + /* compute register 02 value */ + uint8_t r02 = REG02_NOTHOME; + + if (use_fast_fed) { + r02 |= REG02_FASTFED; + } else { + r02 &= ~REG02_FASTFED; + } + + if (flags & MOTOR_FLAG_AUTO_GO_HOME) + r02 |= REG02_AGOHOME; + + if ((flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) + ||(yres>=sensor.optical_res)) + { + r02 |= REG02_ACDCDIS; + } + + reg->set8(REG02, r02); + sanei_genesys_set_motor_power(*reg, true); + + /* SCANFED */ + sanei_genesys_set_double(reg,REG_SCANFED,4); + + /* scan and backtracking slope table */ + sanei_genesys_slope_table(scan_table, + &scan_steps, + yres, + scan_exposure_time, + dev->motor.base_ydpi, + scan_step_type, + factor, + dev->model->motor_type, + motors); + RIE(gl124_send_slope_table (dev, SCAN_TABLE, scan_table, scan_steps)); + RIE(gl124_send_slope_table (dev, BACKTRACK_TABLE, scan_table, scan_steps)); + + /* STEPNO */ + sanei_genesys_set_double(reg,REG_STEPNO,scan_steps); + + /* fast table */ + fast_dpi=yres; + + /* + if (scan_mode != ScanColorMode::COLOR_SINGLE_PASS) + { + fast_dpi*=3; + } + */ + sanei_genesys_slope_table(fast_table, + &fast_steps, + fast_dpi, + scan_exposure_time, + dev->motor.base_ydpi, + scan_step_type, + factor, + dev->model->motor_type, + motors); + RIE(gl124_send_slope_table (dev, STOP_TABLE, fast_table, fast_steps)); + RIE(gl124_send_slope_table (dev, FAST_TABLE, fast_table, fast_steps)); + + /* FASTNO */ + sanei_genesys_set_double(reg,REG_FASTNO,fast_steps); + + /* FSHDEC */ + sanei_genesys_set_double(reg,REG_FSHDEC,fast_steps); + + /* FMOVNO */ + sanei_genesys_set_double(reg,REG_FMOVNO,fast_steps); + + /* substract acceleration distance from feedl */ + feedl=feed_steps; + feedl<<=scan_step_type; + + dist = scan_steps; + if (flags & MOTOR_FLAG_FEED) + dist *=2; + if (use_fast_fed) + { + dist += fast_steps*2; + } + DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); + + /* get sure we don't use insane value */ + if(distset8_mask(REG1D, linesel, REG1D_LINESEL); + reg->set8(REGA0, (scan_step_type << REGA0S_STEPSEL) | (scan_step_type << REGA0S_FSTPSEL)); + + /* FMOVDEC */ + sanei_genesys_set_double(reg,REG_FMOVDEC,fast_steps); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/** @brief copy sensor specific settings + * Set up register set for the given sensor resolution. Values are from the device table + * in genesys_devices.c for registers: + * [0x16 ... 0x1d] + * [0x52 ... 0x5e] + * Other come from the specific device sensor table in genesys_gl124.h: + * 0x18, 0x20, 0x61, 0x98 and + * @param dev device to set up + * @param regs register set to modify + * @param dpi resolution of the sensor during scan + * @param half_ccd flag for half ccd mode + * */ +static void gl124_setup_sensor(Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * regs, int dpi, int half_ccd) +{ + int dpihw; + uint32_t exp; + + DBGSTART; + + // we start at 6, 0-5 is a 16 bits cache for exposure + for (uint16_t addr = 0x16; addr < 0x1e; addr++) { + regs->set8(addr, sensor.custom_regs.get_value(addr)); + } + + // skip writing 5d,5e which is AFE address because + // they are not defined in register set */ + for (uint16_t addr = 0x52; addr < 0x52 + 11; addr++) { + regs->set8(addr, sensor.custom_regs.get_value(addr)); + } + + /* set EXPDUMMY and CKxMAP */ + dpihw = sanei_genesys_compute_dpihw(dev, sensor, dpi); + Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd); + + regs->set8(0x18, sensor_profile->reg18); + regs->set8(0x20, sensor_profile->reg20); + regs->set8(0x61, sensor_profile->reg61); + regs->set8(0x98, sensor_profile->reg98); + if (sensor_profile->reg16 != 0) { + regs->set8(0x16, sensor_profile->reg16); + } + if (sensor_profile->reg70 != 0) { + regs->set8(0x70, sensor_profile->reg70); + } + + + sanei_genesys_set_triple(regs,REG_SEGCNT,sensor_profile->segcnt); + sanei_genesys_set_double(regs,REG_TG0CNT,sensor_profile->tg0cnt); + sanei_genesys_set_double(regs,REG_EXPDMY,sensor_profile->expdummy); + + /* if no calibration has been done, set default values for exposures */ + exp = sensor.exposure.red; + if(exp==0) + { + exp=sensor_profile->expr; + } + sanei_genesys_set_triple(regs,REG_EXPR,exp); + + exp =sensor.exposure.green; + if(exp==0) + { + exp=sensor_profile->expg; + } + sanei_genesys_set_triple(regs,REG_EXPG,exp); + + exp = sensor.exposure.blue; + if(exp==0) + { + exp=sensor_profile->expb; + } + sanei_genesys_set_triple(regs,REG_EXPB,exp); + + sanei_genesys_set_triple(regs,REG_CK1MAP,sensor_profile->ck1map); + sanei_genesys_set_triple(regs,REG_CK3MAP,sensor_profile->ck3map); + sanei_genesys_set_triple(regs,REG_CK4MAP,sensor_profile->ck4map); + + /* order of the sub-segments */ + dev->order=sensor_profile->order; + + DBGCOMPLETED; +} + +/** @brief setup optical related registers + * start and pixels are expressed in optical sensor resolution coordinate + * space. + * @param dev scanner device to use + * @param reg registers to set up + * @param exposure_time exposure time to use + * @param used_res scanning resolution used, may differ from + * scan's one + * @param start logical start pixel coordinate + * @param pixels logical number of pixels to use + * @param channels number of color channels (currently 1 or 3) + * @param depth bit depth of the scan (1, 8 or 16) + * @param half_ccd SANE_TRUE if sensor's timings are such that x coordinates + * must be halved + * @param color_filter color channel to use as gray data + * @param flags optical flags (@see ) + * @return SANE_STATUS_GOOD if OK + */ +static SANE_Status +gl124_init_optical_regs_scan (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, + unsigned int exposure_time, + int used_res, + unsigned int start, + unsigned int pixels, + int channels, + int depth, + SANE_Bool half_ccd, + ColorFilter color_filter, + int flags) +{ + unsigned int words_per_line, segcnt; + unsigned int startx, endx, used_pixels, segnb; + unsigned int dpiset, cksel, dpihw, factor; + unsigned int bytes; + GenesysRegister *r; + SANE_Status status = SANE_STATUS_GOOD; + uint32_t expmax, exp; + + DBG(DBG_proc, "%s : exposure_time=%d, used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " + "half_ccd=%d, flags=%x\n", __func__, exposure_time, used_res, start, pixels, channels, depth, + half_ccd, flags); + + /* resolution is divided according to CKSEL */ + r = sanei_genesys_get_address (reg, REG18); + cksel= (r->value & REG18_CKSEL)+1; + DBG (DBG_io2, "%s: cksel=%d\n", __func__, cksel); + + /* to manage high resolution device while keeping good + * low resolution scanning speed, we make hardware dpi vary */ + dpihw=sanei_genesys_compute_dpihw(dev, sensor, used_res * cksel); + factor=sensor.optical_res/dpihw; + DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); + + /* sensor parameters */ + gl124_setup_sensor(dev, sensor, reg, dpihw, half_ccd); + dpiset = used_res * cksel; + + /* start and end coordinate in optical dpi coordinates */ + /* startx = start/cksel + sensor.dummy_pixel; XXX STEF XXX */ + startx = start/cksel; + used_pixels=pixels/cksel; + endx = startx + used_pixels; + + /* pixel coordinate factor correction when used dpihw is not maximal one */ + startx/=factor; + endx/=factor; + used_pixels=endx-startx; + + status = gl124_set_fe(dev, sensor, AFE_SET); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to set frontend: %s\n", __func__, + sane_strstatus (status)); + return status; + } + + /* enable shading */ + r = sanei_genesys_get_address (reg, REG01); + r->value &= ~REG01_SCAN; + if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || + (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) + { + r->value &= ~REG01_DVDSET; + } + else + { + r->value |= REG01_DVDSET; + } + r->value &= ~REG01_SCAN; + + r = sanei_genesys_get_address (reg, REG03); + if((dev->model->ccd_type!=CIS_CANONLIDE120)&&(used_res>=600)) + { + r->value &= ~REG03_AVEENB; + DBG (DBG_io, "%s: disabling AVEENB\n", __func__); + } + else + { + r->value |= ~REG03_AVEENB; + DBG (DBG_io, "%s: enabling AVEENB\n", __func__); + } + + sanei_genesys_set_lamp_power(dev, sensor, *reg, !(flags & OPTICAL_FLAG_DISABLE_LAMP)); + + /* BW threshold */ + RIE (sanei_genesys_write_register (dev, REG114, dev->settings.threshold)); + RIE (sanei_genesys_write_register (dev, REG115, dev->settings.threshold)); + + /* monochrome / color scan */ + r = sanei_genesys_get_address (reg, REG04); + switch (depth) + { + case 1: + r->value &= ~REG04_BITSET; + r->value |= REG04_LINEART; + break; + case 8: + r->value &= ~(REG04_LINEART | REG04_BITSET); + break; + case 16: + r->value &= ~REG04_LINEART; + r->value |= REG04_BITSET; + break; + } + + r->value &= ~REG04_FILTER; + if (channels == 1) + { + switch (color_filter) + { + case ColorFilter::RED: + r->value |= 0x10; + break; + case ColorFilter::BLUE: + r->value |= 0x30; + break; + case ColorFilter::GREEN: + r->value |= 0x20; + break; + default: + break; // should not happen + } + } + + /* register 05 */ + r = sanei_genesys_get_address (reg, REG05); + + /* set up dpihw */ + r->value &= ~REG05_DPIHW; + switch(dpihw) + { + case 600: + r->value |= REG05_DPIHW_600; + break; + case 1200: + r->value |= REG05_DPIHW_1200; + break; + case 2400: + r->value |= REG05_DPIHW_2400; + break; + case 4800: + r->value |= REG05_DPIHW_4800; + break; + } + + /* enable gamma tables */ + if (flags & OPTICAL_FLAG_DISABLE_GAMMA) + r->value &= ~REG05_GMMENB; + else + r->value |= REG05_GMMENB; + + if(half_ccd) + { + sanei_genesys_set_double(reg,REG_DPISET,dpiset*2); + DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset*2); + } + else + { + sanei_genesys_set_double(reg,REG_DPISET,dpiset); + DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); + } + + r = sanei_genesys_get_address (reg, REG06); + r->value |= REG06_GAIN4; + + /* CIS scanners can do true gray by setting LEDADD */ + /* we set up LEDADD only when asked */ + if (dev->model->is_cis == SANE_TRUE) + { + r = sanei_genesys_get_address (reg, REG60); + r->value &= ~REG60_LEDADD; + if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) + { + r->value |= REG60_LEDADD; + sanei_genesys_get_triple(reg,REG_EXPR,&expmax); + sanei_genesys_get_triple(reg,REG_EXPG,&exp); + if(exp>expmax) + { + expmax=exp; + } + sanei_genesys_get_triple(reg,REG_EXPB,&exp); + if(exp>expmax) + { + expmax=exp; + } + sanei_genesys_set_triple(&dev->reg,REG_EXPR,expmax); + sanei_genesys_set_triple(&dev->reg,REG_EXPG,expmax); + sanei_genesys_set_triple(&dev->reg,REG_EXPB,expmax); + } + /* RGB weighting, REG_TRUER,G and B are to be set */ + r = sanei_genesys_get_address (reg, 0x01); + r->value &= ~REG01_TRUEGRAY; + if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) + { + r->value |= REG01_TRUEGRAY; + sanei_genesys_write_register (dev, REG_TRUER, 0x80); + sanei_genesys_write_register (dev, REG_TRUEG, 0x80); + sanei_genesys_write_register (dev, REG_TRUEB, 0x80); + } + } + + /* segment number */ + r = sanei_genesys_get_address (reg, 0x98); + segnb = r->value & 0x0f; + + sanei_genesys_set_triple(reg,REG_STRPIXEL,startx/segnb); + DBG (DBG_io2, "%s: strpixel used=%d\n", __func__, startx/segnb); + sanei_genesys_get_triple(reg,REG_SEGCNT,&segcnt); + if(endx/segnb==segcnt) + { + endx=0; + } + sanei_genesys_set_triple(reg,REG_ENDPIXEL,endx/segnb); + DBG (DBG_io2, "%s: endpixel used=%d\n", __func__, endx/segnb); + + /* words(16bit) before gamma, conversion to 8 bit or lineart */ + words_per_line = (used_pixels * dpiset) / dpihw; + bytes = depth / 8; + if (depth == 1) + { + words_per_line = (words_per_line >> 3) + ((words_per_line & 7) ? 1 : 0); + } + else + { + words_per_line *= bytes; + } + + dev->bpl = words_per_line; + dev->cur = 0; + dev->skip = 0; + dev->len = dev->bpl/segnb; + dev->dist = dev->bpl/segnb; + dev->segnb = segnb; + dev->line_count = 0; + dev->line_interp = 0; + + DBG (DBG_io2, "%s: used_pixels =%d\n", __func__, used_pixels); + DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); + DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); + DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long)dev->bpl); + DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); + DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); + DBG (DBG_io2, "%s: dev->line_interp=%lu\n", __func__, (unsigned long)dev->line_interp); + + words_per_line *= channels; + dev->wpl = words_per_line; + + /* allocate buffer for odd/even pixels handling */ + dev->oe_buffer.clear(); + dev->oe_buffer.alloc(dev->wpl); + + /* MAXWD is expressed in 2 words unit */ + sanei_genesys_set_triple(reg,REG_MAXWD,(words_per_line)); + DBG (DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); + + sanei_genesys_set_triple(reg,REG_LPERIOD,exposure_time); + DBG (DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); + + sanei_genesys_set_double(reg,REG_DUMMY,sensor.dummy_pixel); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** set up registers for an actual scan + * + * this function sets up the scanner to scan in normal or single line mode + */ +static SANE_Status +gl124_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set* reg, + SetupParams& params) +{ + params.assert_valid(); + + int used_res; + int start, used_pixels; + int bytes_per_line; + int move; + unsigned int lincnt; + unsigned int oflags, mflags; /**> optical and motor flags */ + int exposure_time; + int stagger; + + int dummy = 0; + int slope_dpi = 0; + int scan_step_type = 1; + int max_shift; + size_t requested_buffer_size, read_buffer_size; + + SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ + unsigned optical_res; + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, params); + + half_ccd=compute_half_ccd(sensor, params.xres); + + /* optical_res */ + optical_res = sensor.optical_res; + if (half_ccd) + optical_res /= 2; + DBG (DBG_info, "%s: optical_res=%d\n", __func__, optical_res); + + /* stagger */ + if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) + stagger = (4 * params.yres) / dev->motor.base_ydpi; + else + stagger = 0; + DBG (DBG_info, "gl124_init_scan_regs : stagger=%d lines\n", stagger); + + /** @brief compute used resolution */ + if (params.flags & SCAN_FLAG_USE_OPTICAL_RES) + { + used_res = optical_res; + } + else + { + /* resolution is choosen from a fixed list and can be used directly, + * unless we have ydpi higher than sensor's maximum one */ + if(params.xres>optical_res) + used_res=optical_res; + else + used_res = params.xres; + } + + /* compute scan parameters values */ + /* pixels are allways given at full optical resolution */ + /* use detected left margin and fixed value */ + /* start */ + /* add x coordinates */ + start = params.startx; + + if (stagger > 0) + start |= 1; + + /* compute correct pixels number */ + used_pixels = (params.pixels * optical_res) / params.xres; + DBG (DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); + + /* round up pixels number if needed */ + if (used_pixels * params.xres < params.pixels * optical_res) + used_pixels++; + + /* we want even number of pixels here */ + if(used_pixels & 1) + used_pixels++; + + /* slope_dpi */ + /* cis color scan is effectively a gray scan with 3 gray lines per color line and a FILTER of 0 */ + if (dev->model->is_cis) + slope_dpi = params.yres * params.channels; + else + slope_dpi = params.yres; + + /* scan_step_type */ + if(params.flags & SCAN_FLAG_FEEDING) + { + scan_step_type=0; + exposure_time=MOVE_EXPOSURE; + } + else + { + exposure_time = gl124_compute_exposure (dev, used_res, half_ccd); + scan_step_type = sanei_genesys_compute_step_type(motors, dev->model->motor_type, exposure_time); + } + + DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); + DBG(DBG_info, "%s : scan_step_type=%d\n", __func__, scan_step_type); + + /*** optical parameters ***/ + /* in case of dynamic lineart, we use an internal 8 bit gray scan + * to generate 1 lineart data */ + if (params.flags & SCAN_FLAG_DYNAMIC_LINEART) { + params.depth = 8; + } + + /* we enable true gray for cis scanners only, and just when doing + * scan since color calibration is OK for this mode + */ + oflags = 0; + if (params.flags & SCAN_FLAG_DISABLE_SHADING) + oflags |= OPTICAL_FLAG_DISABLE_SHADING; + if (params.flags & SCAN_FLAG_DISABLE_GAMMA) + oflags |= OPTICAL_FLAG_DISABLE_GAMMA; + if (params.flags & SCAN_FLAG_DISABLE_LAMP) + oflags |= OPTICAL_FLAG_DISABLE_LAMP; + if (params.flags & SCAN_FLAG_CALIBRATION) + oflags |= OPTICAL_FLAG_DISABLE_DOUBLE; + + if (dev->model->is_cis && dev->settings.true_gray) + { + oflags |= OPTICAL_FLAG_ENABLE_LEDADD; + } + + /* now _LOGICAL_ optical values used are known, setup registers */ + status = gl124_init_optical_regs_scan (dev, + sensor, + reg, + exposure_time, + used_res, + start, + used_pixels, + params.channels, + params.depth, + half_ccd, + params.color_filter, + oflags); + if (status != SANE_STATUS_GOOD) + return status; + + /*** motor parameters ***/ + + /* max_shift */ + max_shift=sanei_genesys_compute_max_shift(dev,params.channels,params.yres,params.flags); + + /* lines to scan */ + lincnt = params.lines + max_shift + stagger; + + /* add tl_y to base movement */ + move = params.starty; + DBG(DBG_info, "%s: move=%d steps\n", __func__, move); + + mflags=0; + if(params.flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE) + mflags|=MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE; + if(params.flags & SCAN_FLAG_FEEDING) + mflags|=MOTOR_FLAG_FEED; + + status = gl124_init_motor_regs_scan (dev, sensor, + reg, + exposure_time, + slope_dpi, + scan_step_type, + dev->model->is_cis ? lincnt * params.channels : lincnt, + dummy, + move, + params.scan_mode, + mflags); + if (status != SANE_STATUS_GOOD) + return status; + + /*** prepares data reordering ***/ + + /* words_per_line */ + bytes_per_line = (used_pixels * used_res) / optical_res; + bytes_per_line = (bytes_per_line * params.channels * params.depth) / 8; + + /* since we don't have sheetfed scanners to handle, + * use huge read buffer */ + /* TODO find the best size according to settings */ + requested_buffer_size = 16 * bytes_per_line; + + read_buffer_size = + 2 * requested_buffer_size + + ((max_shift + stagger) * used_pixels * params.channels * params.depth) / 8; + + dev->read_buffer.clear(); + dev->read_buffer.alloc(read_buffer_size); + + dev->lines_buffer.clear(); + dev->lines_buffer.alloc(read_buffer_size); + + dev->shrink_buffer.clear(); + dev->shrink_buffer.alloc(requested_buffer_size); + + dev->out_buffer.clear(); + dev->out_buffer.alloc((8 * dev->settings.pixels * params.channels * params.depth) / 8); + + dev->read_bytes_left = bytes_per_line * lincnt; + + DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); + dev->read_active = SANE_TRUE; + + + dev->current_setup.params = params; + dev->current_setup.pixels = (used_pixels * used_res) / optical_res; + DBG(DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); + dev->current_setup.lines = lincnt; + dev->current_setup.depth = params.depth; + dev->current_setup.channels = params.channels; + dev->current_setup.exposure_time = exposure_time; + dev->current_setup.xres = used_res; + dev->current_setup.yres = params.yres; + dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; + dev->current_setup.stagger = stagger; + dev->current_setup.max_shift = max_shift + stagger; + + dev->total_bytes_read = 0; + if (params.depth == 1) + dev->total_bytes_to_read = + ((dev->settings.pixels * dev->settings.lines) / 8 + + (((dev->settings.pixels * dev->settings.lines) % 8) ? 1 : 0)) * + params.channels; + else + dev->total_bytes_to_read = + dev->settings.pixels * dev->settings.lines * params.channels * (params.depth / 8); + + DBG(DBG_info, "%s: total bytes to send = %lu\n", __func__, (u_long) dev->total_bytes_to_read); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static void +gl124_calculate_current_setup (Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int channels; + int depth; + int start; + + int used_res; + int used_pixels; + unsigned int lincnt; + int exposure_time; + int stagger; + SANE_Bool half_ccd; + + int max_shift, dpihw; + + int optical_res; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, dev->settings); + + /* channels */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else + channels = 1; + + /* depth */ + depth = dev->settings.depth; + if (dev->settings.scan_mode == ScanColorMode::LINEART) + depth = 1; + + /* start */ + start = SANE_UNFIX (dev->model->x_offset); + start += dev->settings.tl_x; + start = (start * sensor.optical_res) / MM_PER_INCH; + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = start; + params.starty = 0; // not used + params.pixels = dev->settings.pixels; + params.lines = dev->settings.lines; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = dev->settings.scan_mode; + params.color_filter = dev->settings.color_filter; + params.flags = 0; + + half_ccd=compute_half_ccd(sensor, params.xres); + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, params); + + /* optical_res */ + optical_res = sensor.optical_res; + + if (params.xres <= (unsigned) optical_res) + used_res = params.xres; + else + used_res=optical_res; + + /* compute scan parameters values */ + /* pixels are allways given at half or full CCD optical resolution */ + /* use detected left margin and fixed value */ + + /* compute correct pixels number */ + used_pixels = (params.pixels * optical_res) / params.xres; + DBG (DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); + + /* exposure */ + exposure_time = gl124_compute_exposure (dev, params.xres, half_ccd); + DBG (DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); + + /* max_shift */ + max_shift=sanei_genesys_compute_max_shift(dev, params.channels, params.yres, 0); + + /* compute hw dpi for sensor */ + dpihw=sanei_genesys_compute_dpihw(dev, sensor,used_res); + + Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd); + dev->segnb=sensor_profile->reg98 & 0x0f; + + /* stagger */ + if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) + stagger = (4 * params.yres) / dev->motor.base_ydpi; + else + stagger = 0; + DBG (DBG_info, "%s: stagger=%d lines\n", __func__, stagger); + + /* lincnt */ + lincnt = params.lines + max_shift + stagger; + + dev->current_setup.params = params; + dev->current_setup.pixels = (used_pixels * used_res) / optical_res; + DBG (DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); + dev->current_setup.lines = lincnt; + dev->current_setup.depth = params.depth; + dev->current_setup.channels = params.channels; + dev->current_setup.exposure_time = exposure_time; + dev->current_setup.xres = used_res; + dev->current_setup.yres = params.yres; + dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; + dev->current_setup.stagger = stagger; + dev->current_setup.max_shift = max_shift + stagger; + + DBGCOMPLETED; +} + +/** + * for fast power saving methods only, like disabling certain amplifiers + * @param dev device to use + * @param enable true to set inot powersaving + * */ +static SANE_Status +gl124_save_power (Genesys_Device * dev, SANE_Bool enable) +{ + DBG(DBG_proc, "%s: enable = %d\n", __func__, enable); + if (dev == NULL) + return SANE_STATUS_INVAL; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl124_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) +{ + GenesysRegister *r; + + DBG(DBG_proc, "%s (delay = %d)\n", __func__, delay); + + r = sanei_genesys_get_address (&dev->reg, REG03); + r->value &= ~0xf0; + if(delay<15) + { + r->value |= delay; + } + else + { + r->value |= 0x0f; + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl124_start_action (Genesys_Device * dev) +{ + return sanei_genesys_write_register (dev, 0x0f, 0x01); +} + +static SANE_Status +gl124_stop_action (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val40, val; + unsigned int loop; + + DBGSTART; + + /* post scan gpio : without that HOMSNR is unreliable */ + gl124_homsnr_gpio(dev); + + status = sanei_genesys_get_status (dev, &val); + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + + status = sanei_genesys_read_register (dev, REG100, &val40); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read reg100: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* only stop action if needed */ + if (!(val40 & REG100_DATAENB) && !(val40 & REG100_MOTMFLG)) + { + DBG (DBG_info, "%s: already stopped\n", __func__); + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + /* ends scan */ + val = dev->reg.get8(REG01); + val &= ~REG01_SCAN; + dev->reg.set8(REG01, val); + status = sanei_genesys_write_register (dev, REG01, val); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "%s: failed to write register 01: %s\n", __func__, + sane_strstatus (status)); + return status; + } + sanei_genesys_sleep_ms(100); + + loop = 10; + while (loop > 0) + { + status = sanei_genesys_get_status (dev, &val); + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + status = sanei_genesys_read_register (dev, REG100, &val40); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "%s: failed to read home sensor: %s\n", __func__, + sane_strstatus (status)); + DBGCOMPLETED; + return status; + } + + /* if scanner is in command mode, we are done */ + if (!(val40 & REG100_DATAENB) && !(val40 & REG100_MOTMFLG) + && !(val & MOTORENB)) + { + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + sanei_genesys_sleep_ms(100); + loop--; + } + + DBGCOMPLETED; + return SANE_STATUS_IO_ERROR; +} + + +/** @brief setup GPIOs for scan + * Setup GPIO values to drive motor (or light) needed for the + * target resolution + * @param *dev device to set up + * @param resolution dpi of the target scan + * @return SANE_STATUS_GOOD unless REG32 cannot be read + */ +static SANE_Status +gl124_setup_scan_gpio(Genesys_Device *dev, int resolution) +{ +SANE_Status status = SANE_STATUS_GOOD; +uint8_t val; + + DBGSTART; + RIE (sanei_genesys_read_register (dev, REG32, &val)); + + /* LiDE 110, 210 and 220 cases */ + if(dev->model->gpo_type != GPO_CANONLIDE120) + { + if(resolution>=dev->motor.base_ydpi/2) + { + val &= 0xf7; + } + else if(resolution>=dev->motor.base_ydpi/4) + { + val &= 0xef; + } + else + { + val |= 0x10; + } + } + /* 120 : <=300 => 0x53 */ + else + { /* base_ydpi is 4800 */ + if(resolution<=300) + { + val &= 0xf7; + } + else if(resolution<=600) + { + val |= 0x08; + } + else if(resolution<=1200) + { + val &= 0xef; + val |= 0x08; + } + else + { + val &= 0xf7; + } + } + val |= 0x02; + RIE (sanei_genesys_write_register (dev, REG32, val)); + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/* Send the low-level scan command */ +/* todo : is this that useful ? */ +static SANE_Status +gl124_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, + SANE_Bool start_motor) +{ + (void) sensor; + + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + + DBGSTART; + if (reg == NULL) + return SANE_STATUS_INVAL; + + /* set up GPIO for scan */ + RIE(gl124_setup_scan_gpio(dev,dev->settings.yres)); + + /* clear scan and feed count */ + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); + + /* enable scan and motor */ + RIE (sanei_genesys_read_register (dev, REG01, &val)); + val |= REG01_SCAN; + RIE (sanei_genesys_write_register (dev, REG01, val)); + + if (start_motor) + { + RIE (sanei_genesys_write_register (dev, REG0F, 1)); + } + else + { + RIE (sanei_genesys_write_register (dev, REG0F, 0)); + } + + DBGCOMPLETED; + return status; +} + + +/* Send the stop scan command */ +static SANE_Status +gl124_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, + SANE_Bool check_stop) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s (check_stop = %d)\n", __func__, check_stop); + if (reg == NULL) + return SANE_STATUS_INVAL; + + if (dev->model->is_sheetfed == SANE_TRUE) + { + status = SANE_STATUS_GOOD; + } + else /* flat bed scanners */ + { + status = gl124_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + DBGCOMPLETED; + return status; +} + + +/** rewind scan + * Move back by the same amount of distance than previous scan. + * @param dev device to rewind + * @returns SANE_STATUS_GOOD on success + */ +static +SANE_Status gl124_rewind(Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t byte; + + DBGSTART; + + /* set motor reverse */ + RIE (sanei_genesys_read_register (dev, 0x02, &byte)); + byte |= 0x04; + RIE (sanei_genesys_write_register(dev, 0x02, byte)); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + /* and start scan, then wait completion */ + RIE (gl124_begin_scan (dev, sensor, &dev->reg, SANE_TRUE)); + do + { + sanei_genesys_sleep_ms(100); + RIE (sanei_genesys_read_register (dev, REG100, &byte)); + } + while(byte & REG100_MOTMFLG); + RIE (gl124_end_scan (dev, &dev->reg, SANE_TRUE)); + + /* restore direction */ + RIE (sanei_genesys_read_register (dev, 0x02, &byte)); + byte &= 0xfb; + RIE (sanei_genesys_write_register(dev, 0x02, byte)); + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/** Park head + * Moves the slider to the home (top) position slowly + * @param dev device to park + * @param wait_until_home true to make the function waiting for head + * to be home before returning, if fals returne immediately + * @returns SANE_STATUS_GOO on success */ +static +SANE_Status +gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) +{ + Genesys_Register_Set local_reg; + SANE_Status status = SANE_STATUS_GOOD; + GenesysRegister *r; + uint8_t val; + float resolution; + int loop = 0; + + DBG(DBG_proc, "%s (wait_until_home = %d)\n", __func__, wait_until_home); + + /* post scan gpio : without that HOMSNR is unreliable */ + gl124_homsnr_gpio(dev); + + /* first read gives HOME_SENSOR true */ + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + sanei_genesys_sleep_ms(100); + + /* second is reliable */ + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + + /* is sensor at home? */ + if (val & HOMESNR) + { + DBG (DBG_info, "%s: already at home, completed\n", __func__); + dev->scanhead_position_in_steps = 0; + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + /* feed a little first */ + if (dev->model->model_id == MODEL_CANON_LIDE_210) + { + status = gl124_feed (dev, 20, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to do initial feed: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + local_reg = dev->reg; + resolution=sanei_genesys_get_lowest_dpi(dev); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + SetupParams params; + params.xres = resolution; + params.yres = resolution; + params.startx = 100; + params.starty = 30000; + params.pixels = 100; + params.lines = 100; + params.depth = 8; + params.channels = 1; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::GRAY; + params.color_filter = ColorFilter::RED; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl124_init_scan_regs(dev, sensor, &local_reg, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* clear scan and feed count */ + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); + + /* set up for reverse and no scan */ + r = sanei_genesys_get_address(&local_reg, REG02); + r->value |= REG02_MTRREV; + + RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); + + RIE(gl124_setup_scan_gpio(dev,resolution)); + + try { + status = gl124_start_action (dev); + } catch (...) { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + try { + gl124_stop_action (dev); + } catch (...) {} + try { + // restore original registers + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + } catch (...) {} + throw; + } + if (status != SANE_STATUS_GOOD) { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + try { + gl124_stop_action (dev); + } catch (...) {} + /* restore original registers */ + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + return status; + } + + /* post scan gpio : without that HOMSNR is unreliable */ + gl124_homsnr_gpio(dev); + + if (wait_until_home) + { + + while (loop < 300) /* do not wait longer then 30 seconds */ + { + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + if (val & HOMESNR) /* home sensor */ + { + DBG(DBG_info, "%s: reached home position\n", __func__); + DBGCOMPLETED; + dev->scanhead_position_in_steps = 0; + return SANE_STATUS_GOOD; + } + sanei_genesys_sleep_ms(100); + ++loop; + } + + /* when we come here then the scanner needed too much time for this, so we better stop the motor */ + gl124_stop_action (dev); + DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); + return SANE_STATUS_IO_ERROR; + } + + DBG(DBG_info, "%s: scanhead is still moving\n", __func__); + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** @brief moves the slider to steps at motor base dpi + * @param dev device to work on + * @param steps number of steps to move + * @param reverse true is moving backward + * */ +static SANE_Status +gl124_feed (Genesys_Device * dev, unsigned int steps, int reverse) +{ + Genesys_Register_Set local_reg; + SANE_Status status = SANE_STATUS_GOOD; + GenesysRegister *r; + float resolution; + uint8_t val; + + DBGSTART; + DBG (DBG_io, "%s: steps=%d\n", __func__, steps); + + /* prepare local registers */ + local_reg = dev->reg; + + resolution=sanei_genesys_get_lowest_ydpi(dev); + const auto& sensor = sanei_genesys_find_sensor(dev, resolution); + + SetupParams params; + params.xres = resolution; + params.yres = resolution; + params.startx = 0; + params.starty = steps; + params.pixels = 100; + params.lines = 3; + params.depth = 8; + params.channels = 3; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_FEEDING | + SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl124_init_scan_regs(dev, sensor, &local_reg, params); + + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus (status)); + DBGCOMPLETED; + return status; + } + + /* set exposure to zero */ + sanei_genesys_set_triple(&local_reg,REG_EXPR,0); + sanei_genesys_set_triple(&local_reg,REG_EXPG,0); + sanei_genesys_set_triple(&local_reg,REG_EXPB,0); + + /* clear scan and feed count */ + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT)); + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRMCNT)); + + /* set up for no scan */ + r = sanei_genesys_get_address (&local_reg, REG01); + r->value &= ~REG01_SCAN; + + /* set up for reverse if needed */ + if(reverse) + { + r = sanei_genesys_get_address (&local_reg, REG02); + r->value |= REG02_MTRREV; + } + + /* send registers */ + RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); + + status = gl124_start_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus (status)); + gl124_stop_action (dev); + + /* restore original registers */ + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + return status; + } + + /* wait until feed count reaches the required value, but do not + * exceed 30s */ + do + { + status = sanei_genesys_get_status (dev, &val); + } + while (status == SANE_STATUS_GOOD && !(val & FEEDFSH)); + + /* then stop scanning */ + RIE(gl124_stop_action (dev)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels + area at 600 dpi from very top of scanner */ +static SANE_Status +gl124_search_start_position (Genesys_Device * dev) +{ + int size; + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Register_Set local_reg = dev->reg; + int steps; + + int pixels = 600; + int dpi = 300; + + DBGSTART; + + /* sets for a 200 lines * 600 pixels */ + /* normal scan with no shading */ + + // FIXME: the current approach of doing search only for one resolution does not work on scanners + // whith employ different sensors with potentially different settings. + auto& sensor = sanei_genesys_find_sensor_for_write(dev, dpi); + + SetupParams params; + params.xres = dpi; + params.yres = dpi; + params.startx = 0; + params.starty = 0; /*we should give a small offset here~60 steps */ + params.pixels = 600; + params.lines = dev->model->search_lines; + params.depth = 8; + params.channels = 1; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::GRAY; + params.color_filter = ColorFilter::GREEN; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_IGNORE_LINE_DISTANCE | + SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE; + + status = gl124_init_scan_regs(dev, sensor, &local_reg, params); + + if (status!=SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to init scan registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* send to scanner */ + status = dev->model->cmd_set->bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + size = pixels * dev->model->search_lines; + + std::vector data(size); + + status = gl124_begin_scan (dev, sensor, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* waits for valid data */ + do + sanei_genesys_test_buffer_empty (dev, &steps); + while (steps); + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner (dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl124_search_position.pnm", data.data(), 8, 1, pixels, + dev->model->search_lines); + + status = gl124_end_scan (dev, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* update regs to copy ASIC internal state */ + dev->reg = local_reg; + + status = + sanei_genesys_search_reference_point (dev, sensor, data.data(), 0, dpi, pixels, + dev->model->search_lines); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set search reference point: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/* + * sets up register for coarse gain calibration + * todo: check it for scanners using it */ +static SANE_Status +gl124_init_regs_for_coarse_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t channels; + uint8_t cksel; + + DBGSTART; + cksel = (regs.find_reg(0x18).value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ + + /* set line size */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) { + channels = 3; + } else { + channels = 1; + } + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = 0; + params.starty = 0; + params.pixels = sensor.optical_res / cksel; + params.lines = 20; + params.depth = 16; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = dev->settings.scan_mode; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_FEEDING | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl124_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + sanei_genesys_set_motor_power(regs, false); + + DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, + sensor.optical_res / cksel, dev->settings.xres); + + status = dev->model->cmd_set->bulk_write_register(dev, regs); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/* init registers for shading calibration */ +/* shading calibration is done at dpihw */ +static SANE_Status +gl124_init_regs_for_shading(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + int move, resolution, dpihw, factor; + + DBGSTART; + + /* initial calibration reg values */ + regs = dev->reg; + + dev->calib_channels = 3; + dev->calib_lines = dev->model->shading_lines; + dpihw=sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); + if(dpihw>=2400) + { + dev->calib_lines *= 2; + } + resolution=dpihw; + + /* if half CCD mode, use half resolution */ + if(compute_half_ccd(sensor, dev->settings.xres)==SANE_TRUE) + { + resolution /= 2; + dev->calib_lines /= 2; + } + dev->calib_resolution = resolution; + dev->calib_total_bytes_to_read = 0; + factor=sensor.optical_res/resolution; + dev->calib_pixels = sensor.sensor_pixels/factor; + + /* distance to move to reach white target at high resolution */ + move=0; + if(dev->settings.yres>=1200) + { + move = SANE_UNFIX (dev->model->y_offset_calib); + move = (move * (dev->motor.base_ydpi/4)) / MM_PER_INCH; + } + DBG (DBG_io, "%s: move=%d steps\n", __func__, move); + + SetupParams params; + params.xres = resolution; + params.yres = resolution; + params.startx = 0; + params.starty = move; + params.pixels = dev->calib_pixels; + params.lines = dev->calib_lines; + params.depth = 16; + params.channels = dev->calib_channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = ColorFilter::RED; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl124_init_scan_regs(dev, sensor, ®s, params); + + sanei_genesys_set_motor_power(regs, false); + + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, + sane_strstatus (status)); + return status; + } + + dev->scanhead_position_in_steps += dev->calib_lines + move; + + status = dev->model->cmd_set->bulk_write_register(dev, regs); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "%s: failed to bulk write registers: %s\n", __func__, + sane_strstatus (status)); + return status; + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static void gl124_wait_for_motor_stop(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + uint8_t val40, val; + + TIE(sanei_genesys_get_status(dev, &val)); + TIE(sanei_genesys_read_register(dev, REG100, &val40)); + + if ((val & MOTORENB) == 0 && (val40 & REG100_MOTMFLG) == 0) + return; + + do { + sanei_genesys_sleep_ms(10); + TIE(sanei_genesys_get_status(dev, &val)); + TIE(sanei_genesys_read_register(dev, REG100, &val40)); + } while ((val & MOTORENB) ||(val40 & REG100_MOTMFLG)); + sanei_genesys_sleep_ms(50); +} + +/** @brief set up registers for the actual scan + */ +static SANE_Status +gl124_init_regs_for_scan (Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int channels; + int flags; + int depth; + float move; + int move_dpi; + float start; + + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, dev->settings); + + /* channels */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else + channels = 1; + + /* depth */ + depth = dev->settings.depth; + if (dev->settings.scan_mode == ScanColorMode::LINEART) + depth = 1; + + /* y (motor) distance to move to reach scanned area */ + move_dpi = dev->motor.base_ydpi/4; + move = SANE_UNFIX (dev->model->y_offset); + move += dev->settings.tl_y; + move = (move * move_dpi) / MM_PER_INCH; + DBG (DBG_info, "%s: move=%f steps\n", __func__, move); + + if(channels*dev->settings.yres>=600 && move>700) + { + status = gl124_feed (dev, move-500, SANE_FALSE); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to move to scan area\n",__func__); + return status; + } + move=500; + } + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + /* start */ + start = SANE_UNFIX (dev->model->x_offset); + start += dev->settings.tl_x; + if(compute_half_ccd(sensor, dev->settings.xres)==SANE_TRUE) + { + start /=2; + } + start = (start * sensor.optical_res) / MM_PER_INCH; + + flags = 0; + + /* enable emulated lineart from gray data */ + if(dev->settings.scan_mode == ScanColorMode::LINEART + && dev->settings.dynamic_lineart) + { + flags |= SCAN_FLAG_DYNAMIC_LINEART; + } + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = start; + params.starty = move; + params.pixels = dev->settings.pixels; + params.lines = dev->settings.lines; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = dev->settings.scan_mode; + params.color_filter = dev->settings.color_filter; + params.flags = flags; + + status = gl124_init_scan_regs(dev, sensor, &dev->reg, params); + + if (status != SANE_STATUS_GOOD) + return status; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** + * Send shading calibration data. The buffer is considered to always hold values + * for all the channels. + */ +static SANE_Status +gl124_send_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, + uint8_t * data, int size) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint32_t addr, length, strpixel ,endpixel, x, factor, segcnt, pixels, i; + uint32_t lines, channels; + uint16_t dpiset,dpihw; + uint8_t val,*ptr,*src; + + DBGSTART; + DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__func__,size); + + /* logical size of a color as seen by generic code of the frontend */ + length = (uint32_t) (size / 3); + sanei_genesys_get_triple(&dev->reg,REG_STRPIXEL,&strpixel); + sanei_genesys_get_triple(&dev->reg,REG_ENDPIXEL,&endpixel); + sanei_genesys_get_triple(&dev->reg,REG_SEGCNT,&segcnt); + if(endpixel==0) + { + endpixel=segcnt; + } + DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, SEGCNT=%d\n",__func__,strpixel,endpixel,endpixel-strpixel,segcnt); + + /* compute deletion factor */ + sanei_genesys_get_double(&dev->reg,REG_DPISET,&dpiset); + dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpiset); + factor=dpihw/dpiset; + DBG( DBG_io2, "%s: factor=%d\n",__func__,factor); + + /* binary data logging */ + if(DBG_LEVEL>=DBG_data) + { + dev->binary=fopen("binary.pnm","wb"); + sanei_genesys_get_triple(&dev->reg, REG_LINCNT, &lines); + channels=dev->current_setup.channels; + if(dev->binary!=NULL) + { + fprintf(dev->binary,"P5\n%d %d\n%d\n",(endpixel-strpixel)/factor*channels*dev->segnb,lines/channels,255); + } + } + + /* turn pixel value into bytes 2x16 bits words */ + strpixel*=2*2; /* 2 words of 2 bytes */ + endpixel*=2*2; + segcnt*=2*2; + pixels=endpixel-strpixel; + + DBG( DBG_io2, "%s: using chunks of %d bytes (%d shading data pixels)\n",__func__,length, length/4); + std::vector buffer(pixels * dev->segnb, 0); + + /* write actual red data */ + for(i=0;i<3;i++) + { + /* copy data to work buffer and process it */ + /* coefficent destination */ + ptr = buffer.data(); + + /* iterate on both sensor segment */ + for(x=0;xsegnb) + { + case 1: + ptr[0+pixels*0]=src[0+segcnt*0]; + ptr[1+pixels*0]=src[1+segcnt*0]; + ptr[2+pixels*0]=src[2+segcnt*0]; + ptr[3+pixels*0]=src[3+segcnt*0]; + break; + case 2: + ptr[0+pixels*0]=src[0+segcnt*0]; + ptr[1+pixels*0]=src[1+segcnt*0]; + ptr[2+pixels*0]=src[2+segcnt*0]; + ptr[3+pixels*0]=src[3+segcnt*0]; + ptr[0+pixels*1]=src[0+segcnt*1]; + ptr[1+pixels*1]=src[1+segcnt*1]; + ptr[2+pixels*1]=src[2+segcnt*1]; + ptr[3+pixels*1]=src[3+segcnt*1]; + break; + case 4: + ptr[0+pixels*0]=src[0+segcnt*0]; + ptr[1+pixels*0]=src[1+segcnt*0]; + ptr[2+pixels*0]=src[2+segcnt*0]; + ptr[3+pixels*0]=src[3+segcnt*0]; + ptr[0+pixels*1]=src[0+segcnt*2]; + ptr[1+pixels*1]=src[1+segcnt*2]; + ptr[2+pixels*1]=src[2+segcnt*2]; + ptr[3+pixels*1]=src[3+segcnt*2]; + ptr[0+pixels*2]=src[0+segcnt*1]; + ptr[1+pixels*2]=src[1+segcnt*1]; + ptr[2+pixels*2]=src[2+segcnt*1]; + ptr[3+pixels*2]=src[3+segcnt*1]; + ptr[0+pixels*3]=src[0+segcnt*3]; + ptr[1+pixels*3]=src[1+segcnt*3]; + ptr[2+pixels*3]=src[2+segcnt*3]; + ptr[3+pixels*3]=src[3+segcnt*3]; + break; + } + + /* next shading coefficient */ + ptr+=4; + } + RIE (sanei_genesys_read_register (dev, 0xd0+i, &val)); + addr = val * 8192 + 0x10000000; + status = sanei_genesys_write_ahb(dev, addr, pixels*dev->segnb, buffer.data()); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s; write to AHB failed (%s)\n", __func__, sane_strstatus(status)); + return status; + } + } + + DBGCOMPLETED; + + return status; +} + + +/** @brief move to calibration area + * This functions moves scanning head to calibration area + * by doing a 600 dpi scan + * @param dev scanner device + * @return SANE_STATUS_GOOD on success, else the error code + */ +static SANE_Status +move_to_calibration_area (Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + int pixels; + int size; + SANE_Status status = SANE_STATUS_GOOD; + + DBGSTART; + + pixels = (sensor.sensor_pixels*600)/sensor.optical_res; + + /* initial calibration reg values */ + regs = dev->reg; + + SetupParams params; + params.xres = 600; + params.yres = 600; + params.startx = 0; + params.starty = 0; + params.pixels = pixels; + params.lines = 1; + params.depth = 8; + params.channels = 3; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl124_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); + return status; + } + + size = pixels * 3; + std::vector line(size); + + /* write registers and scan data */ + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + + DBG (DBG_info, "%s: starting line reading\n", __func__); + RIE(gl124_begin_scan (dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), size)); + + /* stop scanning */ + RIE(gl124_stop_action (dev)); + + if (DBG_LEVEL >= DBG_data) + { + sanei_genesys_write_pnm_file("gl124_movetocalarea.pnm", line.data(), 8, 3, pixels, 1); + } + + DBGCOMPLETED; + return status; +} + +/* this function does the led calibration by scanning one line of the calibration + area below scanner's top on white strip. + +-needs working coarse/gain +*/ +static SANE_Status +gl124_led_calibration (Genesys_Device * dev, Genesys_Sensor& sensor, Genesys_Register_Set& regs) +{ + int num_pixels; + int total_size; + int resolution; + int dpihw; + int i, j; + SANE_Status status = SANE_STATUS_GOOD; + int val; + int channels, depth; + int avg[3]; + int turn; + uint16_t exp[3],target; + SANE_Bool acceptable; + SANE_Bool half_ccd; + + DBGSTART; + + /* move to calibration area */ + move_to_calibration_area(dev, sensor, regs); + + /* offset calibration is always done in 16 bit depth color mode */ + channels = 3; + depth=16; + dpihw=sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); + half_ccd=compute_half_ccd(sensor, dev->settings.xres); + if(half_ccd==SANE_TRUE) + { + resolution = dpihw/2; + } + else + { + resolution = dpihw; + } + Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd); + num_pixels = (sensor.sensor_pixels*resolution)/sensor.optical_res; + + /* initial calibration reg values */ + regs = dev->reg; + + SetupParams params; + params.xres = resolution; + params.yres = resolution; + params.startx = 0; + params.starty = 0; + params.pixels = num_pixels; + params.lines = 1; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl124_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); + return status; + } + + total_size = num_pixels * channels * (depth/8) * 1; /* colors * bytes_per_color * scan lines */ + std::vector line(total_size); + + /* initial loop values and boundaries */ + exp[0]=sensor_profile->expr; + exp[1]=sensor_profile->expg; + exp[2]=sensor_profile->expb; + target=sensor.gain_white_ref*256; + + turn = 0; + + /* no move during led calibration */ + sanei_genesys_set_motor_power(regs, false); + do + { + /* set up exposure */ + sanei_genesys_set_triple(®s,REG_EXPR,exp[0]); + sanei_genesys_set_triple(®s,REG_EXPG,exp[1]); + sanei_genesys_set_triple(®s,REG_EXPB,exp[2]); + + /* write registers and scan data */ + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + + DBG(DBG_info, "%s: starting line reading\n", __func__); + RIE(gl124_begin_scan (dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner (dev, line.data(), total_size)); + + /* stop scanning */ + RIE(gl124_stop_action (dev)); + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + snprintf(fn, 30, "gl124_led_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, line.data(), depth, channels, num_pixels, 1); + } + + /* compute average */ + for (j = 0; j < channels; j++) + { + avg[j] = 0; + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * num_pixels + 1] * 256 + + line[i * 2 + j * 2 * num_pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + avg[j] += val; + } + + avg[j] /= num_pixels; + } + + DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); + + /* check if exposure gives average within the boundaries */ + acceptable = SANE_TRUE; + for(i=0;i<3;i++) + { + /* we accept +- 2% delta from target */ + if(abs(avg[i]-target)>target/50) + { + exp[i]=(exp[i]*target)/avg[i]; + acceptable = SANE_FALSE; + } + } + + turn++; + } + while (!acceptable && turn < 100); + + DBG(DBG_info, "%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0], exp[1], exp[2]); + + /* set these values as final ones for scan */ + sanei_genesys_set_triple(&dev->reg,REG_EXPR,exp[0]); + sanei_genesys_set_triple(&dev->reg,REG_EXPG,exp[1]); + sanei_genesys_set_triple(&dev->reg,REG_EXPB,exp[2]); + + /* store in this struct since it is the one used by cache calibration */ + sensor.exposure.red = exp[0]; + sensor.exposure.green = exp[1]; + sensor.exposure.blue = exp[2]; + + DBGCOMPLETED; + return status; +} + +/** + * average dark pixels of a 8 bits scan + */ +static int +dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, + unsigned int channels, unsigned int black) +{ + unsigned int i, j, k, average, count; + unsigned int avg[3]; + uint8_t val; + + /* computes average value on black margin */ + for (k = 0; k < channels; k++) + { + avg[k] = 0; + count = 0; + for (i = 0; i < lines; i++) + { + for (j = 0; j < black; j++) + { + val = data[i * channels * pixels + j + k]; + avg[k] += val; + count++; + } + } + if (count) + avg[k] /= count; + DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); + } + average = 0; + for (i = 0; i < channels; i++) + average += avg[i]; + average /= channels; + DBG(DBG_info, "%s: average = %d\n", __func__, average); + return average; +} + + +static SANE_Status +gl124_offset_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t reg0a; + unsigned int channels, bpp; + int pass = 0, avg, total_size; + int topavg, bottomavg, resolution, lines; + int top, bottom, black_pixels, pixels; + + DBGSTART; + + /* no gain nor offset for TI AFE */ + RIE (sanei_genesys_read_register (dev, REG0A, ®0a)); + if(((reg0a & REG0A_SIFSEL)>>REG0AS_SIFSEL)==3) + { + DBGCOMPLETED; + return status; + } + + /* offset calibration is always done in color mode */ + channels = 3; + resolution=sensor.optical_res; + dev->calib_pixels = sensor.sensor_pixels; + lines=1; + bpp=8; + pixels= (sensor.sensor_pixels*resolution) / sensor.optical_res; + black_pixels = (sensor.black_pixels * resolution) / sensor.optical_res; + DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); + + SetupParams params; + params.xres = resolution; + params.yres = resolution; + params.startx = 0; + params.starty = 0; + params.pixels = pixels; + params.lines = lines; + params.depth = bpp; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl124_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + sanei_genesys_set_motor_power(regs, false); + + /* allocate memory for scans */ + total_size = pixels * channels * lines * (bpp/8); /* colors * bytes_per_color * scan lines */ + + std::vector first_line(total_size); + std::vector second_line(total_size); + + /* init gain */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + + /* scan with no move */ + bottom = 10; + dev->frontend.set_offset(0, bottom); + dev->frontend.set_offset(1, bottom); + dev->frontend.set_offset(2, bottom); + + RIE(gl124_set_fe(dev, sensor, AFE_SET)); + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + DBG(DBG_info, "%s: starting first line reading\n", __func__); + RIE(gl124_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size)); + if (DBG_LEVEL >= DBG_data) + { + char title[30]; + snprintf(title, 30, "gl124_offset%03d.pnm", bottom); + sanei_genesys_write_pnm_file(title, first_line.data(), bpp, channels, pixels, lines); + } + + bottomavg = dark_average(first_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_io2, "%s: bottom avg=%d\n", __func__, bottomavg); + + /* now top value */ + top = 255; + dev->frontend.set_offset(0, top); + dev->frontend.set_offset(1, top); + dev->frontend.set_offset(2, top); + RIE(gl124_set_fe(dev, sensor, AFE_SET)); + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + RIE(gl124_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); + + topavg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_io2, "%s: top avg=%d\n", __func__, topavg); + + /* loop until acceptable level */ + while ((pass < 32) && (top - bottom > 1)) + { + pass++; + + /* settings for new scan */ + dev->frontend.set_offset(0, (top + bottom) / 2); + dev->frontend.set_offset(1, (top + bottom) / 2); + dev->frontend.set_offset(2, (top + bottom) / 2); + + /* scan with no move */ + RIE(gl124_set_fe(dev, sensor, AFE_SET)); + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + RIE(gl124_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size)); + + if (DBG_LEVEL >= DBG_data) + { + char title[30]; + snprintf(title, 30, "gl124_offset%03d.pnm", dev->frontend.get_offset(1)); + sanei_genesys_write_pnm_file(title, second_line.data(), bpp, channels, pixels, lines); + } + + avg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_info, "%s: avg=%d offset=%d\n", __func__, avg, dev->frontend.get_offset(1)); + + /* compute new boundaries */ + if (topavg == avg) + { + topavg = avg; + top = dev->frontend.get_offset(1); + } + else + { + bottomavg = avg; + bottom = dev->frontend.get_offset(1); + } + } + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/* alternative coarse gain calibration + this on uses the settings from offset_calibration and + uses only one scanline + */ +/* + with offset and coarse calibration we only want to get our input range into + a reasonable shape. the fine calibration of the upper and lower bounds will + be done with shading. + */ +static SANE_Status +gl124_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) +{ + int pixels; + int total_size; + uint8_t reg0a; + int i, j, channels; + SANE_Status status = SANE_STATUS_GOOD; + int max[3]; + float gain[3],coeff; + int val, code, lines; + int resolution; + int bpp; + + DBG(DBG_proc, "%s: dpi = %d\n", __func__, dpi); + + /* no gain nor offset for TI AFE */ + RIE (sanei_genesys_read_register (dev, REG0A, ®0a)); + if(((reg0a & REG0A_SIFSEL)>>REG0AS_SIFSEL)==3) + { + DBGCOMPLETED; + return status; + } + + /* coarse gain calibration is always done in color mode */ + channels = 3; + + /* follow CKSEL */ + if(dev->settings.xressettings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + try { + status = gl124_init_scan_regs(dev, sensor, ®s, params); + } catch (...) { + try { + sanei_genesys_set_motor_power(regs, false); + } catch (...) {} + throw; + } + + sanei_genesys_set_motor_power(regs, false); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + RIE (dev->model->cmd_set->bulk_write_register(dev, regs)); + + total_size = pixels * channels * (16/bpp) * lines; + + std::vector line(total_size); + + RIE(gl124_set_fe(dev, sensor, AFE_SET)); + RIE(gl124_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); + + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl124_gain.pnm", line.data(), bpp, channels, pixels, lines); + + /* average value on each channel */ + for (j = 0; j < channels; j++) + { + max[j] = 0; + for (i = pixels/4; i < (pixels*3/4); i++) + { + if(bpp==16) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * pixels + 1] * 256 + + line[i * 2 + j * 2 * pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + } + else + { + if (dev->model->is_cis) + val = line[i + j * pixels]; + else + val = line[i * channels + j]; + } + + max[j] += val; + } + max[j] = max[j] / (pixels/2); + + gain[j] = ((float) sensor.gain_white_ref*coeff) / max[j]; + + /* turn logical gain value into gain code, checking for overflow */ + code = 283 - 208 / gain[j]; + if (code > 255) + code = 255; + else if (code < 0) + code = 0; + dev->frontend.set_gain(j, code); + + DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], + gain[j], dev->frontend.get_gain(j)); + } + + if (dev->model->is_cis) { + uint8_t gain0 = dev->frontend.get_gain(0); + if (gain0 > dev->frontend.get_gain(1)) { + gain0 = dev->frontend.get_gain(1); + } + if (gain0 > dev->frontend.get_gain(2)) { + gain0 = dev->frontend.get_gain(2); + } + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain0); + dev->frontend.set_gain(2, gain0); + } + + if (channels == 1) { + dev->frontend.set_gain(0, dev->frontend.get_gain(1)); + dev->frontend.set_gain(2, dev->frontend.get_gain(1)); + } + + RIE (gl124_stop_action (dev)); + + status = gl124_slow_back_home (dev, SANE_TRUE); + + DBGCOMPLETED; + return status; +} + +/* + * wait for lamp warmup by scanning the same line until difference + * between 2 scans is below a threshold + */ +static SANE_Status +gl124_init_regs_for_warmup (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, + int *channels, int *total_size) +{ + int num_pixels; + SANE_Status status = SANE_STATUS_GOOD; + + DBGSTART; + if (dev == NULL || reg == NULL || channels == NULL || total_size == NULL) + return SANE_STATUS_INVAL; + + *channels=3; + + *reg = dev->reg; + + SetupParams params; + params.xres = sensor.optical_res; + params.yres = dev->motor.base_ydpi; + params.startx = sensor.sensor_pixels / 4; + params.starty = 0; + params.pixels = sensor.sensor_pixels / 2; + params.lines = 1; + params.depth = 8; + params.channels = *channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl124_init_scan_regs(dev, sensor, reg, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + num_pixels = dev->current_setup.pixels; + + *total_size = num_pixels * 3 * 1; /* colors * bytes_per_color * scan lines */ + + sanei_genesys_set_motor_power(*reg, false); + RIE (dev->model->cmd_set->bulk_write_register(dev, *reg)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** @brief default GPIO values + * set up GPIO/GPOE for idle state + * @param dev device to set up + * @return SANE_STATUS_GOOD unless a GPIO register cannot be written + */ +static SANE_Status +gl124_init_gpio (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + int idx; + + DBGSTART; + + /* per model GPIO layout */ + if (dev->model->model_id == MODEL_CANON_LIDE_110) + { + idx = 0; + } + else if (dev->model->model_id == MODEL_CANON_LIDE_120) + { + idx = 2; + } + else + { /* canon LiDE 210 and 220 case */ + idx = 1; + } + + RIE (sanei_genesys_write_register (dev, REG31, gpios[idx].r31)); + RIE (sanei_genesys_write_register (dev, REG32, gpios[idx].r32)); + RIE (sanei_genesys_write_register (dev, REG33, gpios[idx].r33)); + RIE (sanei_genesys_write_register (dev, REG34, gpios[idx].r34)); + RIE (sanei_genesys_write_register (dev, REG35, gpios[idx].r35)); + RIE (sanei_genesys_write_register (dev, REG36, gpios[idx].r36)); + RIE (sanei_genesys_write_register (dev, REG38, gpios[idx].r38)); + + DBGCOMPLETED; + return status; +} + +/** + * set memory layout by filling values in dedicated registers + */ +static SANE_Status +gl124_init_memory_layout (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + int idx = 0; + + DBGSTART; + + /* point to per model memory layout */ + if (dev->model->model_id == MODEL_CANON_LIDE_110 ||dev->model->model_id == MODEL_CANON_LIDE_120) + { + idx = 0; + } + else + { /* canon LiDE 210 and 220 case */ + idx = 1; + } + + /* setup base address for shading data. */ + /* values must be multiplied by 8192=0x4000 to give address on AHB */ + /* R-Channel shading bank0 address setting for CIS */ + sanei_genesys_write_register (dev, 0xd0, layouts[idx].rd0); + /* G-Channel shading bank0 address setting for CIS */ + sanei_genesys_write_register (dev, 0xd1, layouts[idx].rd1); + /* B-Channel shading bank0 address setting for CIS */ + sanei_genesys_write_register (dev, 0xd2, layouts[idx].rd2); + + /* setup base address for scanned data. */ + /* values must be multiplied by 1024*2=0x0800 to give address on AHB */ + /* R-Channel ODD image buffer 0x0124->0x92000 */ + /* size for each buffer is 0x16d*1k word */ + sanei_genesys_write_register (dev, 0xe0, layouts[idx].re0); + sanei_genesys_write_register (dev, 0xe1, layouts[idx].re1); + /* R-Channel ODD image buffer end-address 0x0291->0x148800 => size=0xB6800*/ + sanei_genesys_write_register (dev, 0xe2, layouts[idx].re2); + sanei_genesys_write_register (dev, 0xe3, layouts[idx].re3); + + /* R-Channel EVEN image buffer 0x0292 */ + sanei_genesys_write_register (dev, 0xe4, layouts[idx].re4); + sanei_genesys_write_register (dev, 0xe5, layouts[idx].re5); + /* R-Channel EVEN image buffer end-address 0x03ff*/ + sanei_genesys_write_register (dev, 0xe6, layouts[idx].re6); + sanei_genesys_write_register (dev, 0xe7, layouts[idx].re7); + + /* same for green, since CIS, same addresses */ + sanei_genesys_write_register (dev, 0xe8, layouts[idx].re0); + sanei_genesys_write_register (dev, 0xe9, layouts[idx].re1); + sanei_genesys_write_register (dev, 0xea, layouts[idx].re2); + sanei_genesys_write_register (dev, 0xeb, layouts[idx].re3); + sanei_genesys_write_register (dev, 0xec, layouts[idx].re4); + sanei_genesys_write_register (dev, 0xed, layouts[idx].re5); + sanei_genesys_write_register (dev, 0xee, layouts[idx].re6); + sanei_genesys_write_register (dev, 0xef, layouts[idx].re7); + +/* same for blue, since CIS, same addresses */ + sanei_genesys_write_register (dev, 0xf0, layouts[idx].re0); + sanei_genesys_write_register (dev, 0xf1, layouts[idx].re1); + sanei_genesys_write_register (dev, 0xf2, layouts[idx].re2); + sanei_genesys_write_register (dev, 0xf3, layouts[idx].re3); + sanei_genesys_write_register (dev, 0xf4, layouts[idx].re4); + sanei_genesys_write_register (dev, 0xf5, layouts[idx].re5); + sanei_genesys_write_register (dev, 0xf6, layouts[idx].re6); + sanei_genesys_write_register (dev, 0xf7, layouts[idx].re7); + + DBGCOMPLETED; + return status; +} + +/** + * initialize backend and ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home + */ +static SANE_Status +gl124_init(Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG_INIT (); + DBGSTART; + + status=sanei_genesys_asic_init(dev, 0); + + DBGCOMPLETED; + return status; +} + + +/* * + * initialize ASIC from power on condition + */ +static SANE_Status +gl124_boot (Genesys_Device * dev, SANE_Bool cold) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + + DBGSTART; + + /* reset ASIC in case of cold boot */ + if(cold) + { + RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); + RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); + } + + /* enable GPOE 17 */ + RIE (sanei_genesys_write_register (dev, 0x36, 0x01)); + + /* set GPIO 17 */ + RIE (sanei_genesys_read_register (dev, 0x33, &val)); + val |= 0x01; + RIE (sanei_genesys_write_register (dev, 0x33, val)); + + /* test CHKVER */ + RIE (sanei_genesys_read_register (dev, REG100, &val)); + if (val & REG100_CHKVER) + { + RIE (sanei_genesys_read_register (dev, 0x00, &val)); + DBG(DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); + } + + /* Set default values for registers */ + gl124_init_registers (dev); + + /* Write initial registers */ + RIE (dev->model->cmd_set->bulk_write_register(dev, dev->reg)); + + /* tune reg 0B */ + val = REG0B_30MHZ | REG0B_ENBDRAM | REG0B_64M; + RIE (sanei_genesys_write_register (dev, REG0B, val)); + dev->reg.remove_reg(0x0b); + + /* set up end access */ + RIE (sanei_genesys_write_0x8c (dev, 0x10, 0x0b)); + RIE (sanei_genesys_write_0x8c (dev, 0x13, 0x0e)); + + /* CIS_LINE */ + SETREG (0x08, REG08_CIS_LINE); + RIE (sanei_genesys_write_register (dev, 0x08, dev->reg.find_reg(0x08).value)); + + /* setup gpio */ + RIE (gl124_init_gpio (dev)); + + /* setup internal memory layout */ + RIE (gl124_init_memory_layout (dev)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +static SANE_Status +gl124_update_hardware_sensors (Genesys_Scanner * s) +{ + /* do what is needed to get a new set of events, but try to not loose + any of them. + */ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val=0; + + RIE (sanei_genesys_read_register (s->dev, REG31, &val)); + + /* TODO : for the next scanner special case, + * add another per scanner button profile struct to avoid growing + * hard-coded button mapping here. + */ + if((s->dev->model->gpo_type == GPO_CANONLIDE110) + ||(s->dev->model->gpo_type == GPO_CANONLIDE120)) + { + s->buttons[BUTTON_SCAN_SW].write((val & 0x01) == 0); + s->buttons[BUTTON_FILE_SW].write((val & 0x08) == 0); + s->buttons[BUTTON_EMAIL_SW].write((val & 0x04) == 0); + s->buttons[BUTTON_COPY_SW].write((val & 0x02) == 0); + } + else + { /* LiDE 210 case */ + s->buttons[BUTTON_EXTRA_SW].write((val & 0x01) == 0); + s->buttons[BUTTON_SCAN_SW].write((val & 0x02) == 0); + s->buttons[BUTTON_COPY_SW].write((val & 0x04) == 0); + s->buttons[BUTTON_EMAIL_SW].write((val & 0x08) == 0); + s->buttons[BUTTON_FILE_SW].write((val & 0x10) == 0); + } + return status; +} + + +/** the gl124 command set */ +static Genesys_Command_Set gl124_cmd_set = { + "gl124-generic", /* the name of this set */ + + [](Genesys_Device* dev) -> bool { (void) dev; return true; }, + + gl124_init, + gl124_init_regs_for_warmup, + gl124_init_regs_for_coarse_calibration, + gl124_init_regs_for_shading, + gl124_init_regs_for_scan, + + gl124_get_filter_bit, + gl124_get_lineart_bit, + gl124_get_bitset_bit, + gl124_get_gain4_bit, + gl124_get_fast_feed_bit, + gl124_test_buffer_empty_bit, + gl124_test_motor_flag_bit, + + gl124_set_fe, + gl124_set_powersaving, + gl124_save_power, + + gl124_begin_scan, + gl124_end_scan, + + sanei_genesys_send_gamma_table, + + gl124_search_start_position, + + gl124_offset_calibration, + gl124_coarse_gain_calibration, + gl124_led_calibration, + + gl124_wait_for_motor_stop, + gl124_slow_back_home, + gl124_rewind, + + sanei_genesys_bulk_write_register, + NULL, + sanei_genesys_bulk_read_data, + + gl124_update_hardware_sensors, + + /* no sheetfed support for now */ + NULL, + NULL, + NULL, + NULL, + + sanei_genesys_is_compatible_calibration, + NULL, + gl124_send_shading_data, + gl124_calculate_current_setup, + gl124_boot +}; + +SANE_Status +sanei_gl124_init_cmd_set (Genesys_Device * dev) +{ + dev->model->cmd_set = &gl124_cmd_set; + return SANE_STATUS_GOOD; +} diff --git a/backend/genesys_gl124.h b/backend/genesys_gl124.h index 9ca6afd..751321d 100644 --- a/backend/genesys_gl124.h +++ b/backend/genesys_gl124.h @@ -301,228 +301,7 @@ #define REG_TRUEG 0x111 #define REG_TRUEB 0x112 -/** - * writable scanner registers */ -enum -{ - reg_0x01 = 0, - reg_0x02, - reg_0x03, - reg_0x04, - reg_0x05, - reg_0x06, - reg_0x07, - reg_0x08, - reg_0x09, - reg_0x0a, - reg_0x0b, - reg_0x0c, - reg_0x11, - reg_0x12, - reg_0x13, - reg_0x14, - reg_0x15, - reg_0x16, - reg_0x17, - reg_0x18, - reg_0x19, - reg_0x1a, - reg_0x1b, - reg_0x1c, - reg_0x1d, - reg_0x1e, - reg_0x1f, - reg_0x20, - reg_0x21, - reg_0x22, - reg_0x23, - reg_0x24, - reg_0x25, - reg_0x26, - reg_0x27, - reg_0x28, - reg_0x29, - reg_0x2a, - reg_0x2b, - reg_0x2c, - reg_0x2d, - reg_0x3b, - reg_0x3c, - reg_0x3d, - reg_0x3e, - reg_0x3f, - reg_0x40, - reg_0x41, - reg_0x42, - reg_0x43, - reg_0x44, - reg_0x45, - reg_0x46, - reg_0x47, - reg_0x48, - reg_0x49, - reg_0x4f, - reg_0x52, - reg_0x53, - reg_0x54, - reg_0x55, - reg_0x56, - reg_0x57, - reg_0x58, - reg_0x59, - reg_0x5a, - reg_0x5b, - reg_0x5c, - reg_0x5f, - reg_0x60, - reg_0x61, - reg_0x62, - reg_0x63, - reg_0x64, - reg_0x65, - reg_0x66, - reg_0x67, - reg_0x68, - reg_0x69, - reg_0x6a, - reg_0x6b, - reg_0x6c, - reg_0x6d, - reg_0x6e, - reg_0x6f, - reg_0x70, - reg_0x71, - reg_0x72, - reg_0x73, - reg_0x74, - reg_0x75, - reg_0x76, - reg_0x77, - reg_0x78, - reg_0x79, - reg_0x7a, - reg_0x7b, - reg_0x7c, - reg_0x7d, - reg_0x7e, - reg_0x7f, - reg_0x80, - reg_0x81, - reg_0x82, - reg_0x83, - reg_0x84, - reg_0x85, - reg_0x86, - reg_0x87, - reg_0x88, - reg_0x89, - reg_0x8a, - reg_0x8b, - reg_0x8c, - reg_0x8d, - reg_0x8e, - reg_0x8f, - reg_0x90, - reg_0x91, - reg_0x92, - reg_0x93, - reg_0x94, - reg_0x95, - reg_0x96, - reg_0x97, - reg_0x98, - reg_0x99, - reg_0x9a, - reg_0x9b, - reg_0x9c, - reg_0x9d, - reg_0x9e, - reg_0x9f, - reg_0xa0, - reg_0xa1, - reg_0xa2, - reg_0xa3, - reg_0xa4, - reg_0xa5, - reg_0xa6, - reg_0xa7, - reg_0xa8, - reg_0xa9, - reg_0xaa, - reg_0xab, - reg_0xac, - reg_0xad, - reg_0xae, - reg_0xaf, - reg_0xb0, - reg_0xb1, - reg_0xb2, - reg_0xb3, - reg_0xb4, - reg_0xb5, - reg_0xb6, - reg_0xb7, - reg_0xb8, - reg_0xbb, - reg_0xbc, - reg_0xbd, - reg_0xbe, - reg_0xc3, - reg_0xc4, - reg_0xc5, - reg_0xc6, - reg_0xc7, - reg_0xc8, - reg_0xc9, - reg_0xca, - reg_0xcb, - reg_0xcc, - reg_0xcd, - reg_0xce, - reg_0xd0, - reg_0xd1, - reg_0xd2, - reg_0xd3, - reg_0xd4, - reg_0xd5, - reg_0xd6, - reg_0xd7, - reg_0xd8, - reg_0xd9, - reg_0xe0, - reg_0xe1, - reg_0xe2, - reg_0xe3, - reg_0xe4, - reg_0xe5, - reg_0xe6, - reg_0xe7, - reg_0xe8, - reg_0xe9, - reg_0xea, - reg_0xeb, - reg_0xec, - reg_0xed, - reg_0xee, - reg_0xef, - reg_0xf0, - reg_0xf1, - reg_0xf2, - reg_0xf3, - reg_0xf4, - reg_0xf5, - reg_0xf6, - reg_0xf7, - reg_0xf8, - reg_0xf9, - reg_0xfa, - reg_0xfb, - reg_0xfc, - reg_0xff, - GENESYS_GL124_MAX_REGS -}; - -#define SETREG(adr,val) {dev->reg[reg_##adr].address=adr;dev->reg[reg_##adr].value=val;} +#define SETREG(adr,val) { dev->reg.init_reg(adr, val); } typedef struct { @@ -616,8 +395,6 @@ typedef struct { static size_t order_01[]={0,1}; static size_t order_0213[]={0,2,1,3}; -/* *INDENT-OFF* */ - /** @brief database of sensor profiles * database of sensor profiles giving for each sensor and a given resolution, the period, and timings * to setup the sensor for the scan. @@ -684,63 +461,29 @@ static Motor_Profile motors[]={ {MOTOR_CANONLIDE210, 20864, 2, lide210_max}, {0, 0, 0, NULL}, }; -/* *INDENT-ON* */ -GENESYS_STATIC -SANE_Status gl124_init_scan_regs (Genesys_Device * dev, - Genesys_Register_Set * reg, - float xres, /*dpi */ - float yres, /*dpi */ - float startx, /*optical_res, from dummy_pixel+1 */ - float starty, /*base_ydpi, from home! */ - float pixels, - float lines, - unsigned int depth, - unsigned int channels, - int scan_method, - int scan_mode, - int color_filter, - unsigned int flags); - -#ifndef UNIT_TESTING -static -#endif - SANE_Status gl124_start_action (Genesys_Device * dev); -#ifndef UNIT_TESTING + static -#endif - SANE_Status -gl124_begin_scan (Genesys_Device * dev, Genesys_Register_Set * reg, +SANE_Status gl124_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, SetupParams& params); + +static SANE_Status gl124_start_action (Genesys_Device * dev); +static SANE_Status +gl124_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, SANE_Bool start_motor); -#ifndef UNIT_TESTING -static -#endif - SANE_Status +static SANE_Status gl124_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, SANE_Bool check_stop); -#ifndef UNIT_TESTING -static -#endif - SANE_Status +static SANE_Status gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home); -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl124_init (Genesys_Device * dev); -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl124_send_shading_data (Genesys_Device * dev, uint8_t * data, int size); +static SANE_Status gl124_init(Genesys_Device * dev); +static SANE_Status gl124_send_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, + uint8_t * data, int size); -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl124_feed (Genesys_Device * dev, unsigned int steps, int reverse); +static SANE_Status gl124_feed (Genesys_Device * dev, unsigned int steps, int reverse); -GENESYS_STATIC SANE_Status +static SANE_Status gl124_stop_action (Genesys_Device * dev); -GENESYS_STATIC SANE_Status +static SANE_Status gl124_send_slope_table (Genesys_Device * dev, int table_nr, uint16_t * slope_table, int steps); - -/* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/genesys_gl646.c b/backend/genesys_gl646.c deleted file mode 100644 index 58952fb..0000000 --- a/backend/genesys_gl646.c +++ /dev/null @@ -1,5799 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2003 Oliver Rauch - Copyright (C) 2003, 2004 Henning Meier-Geinitz - Copyright (C) 2004 Gerhard Jaeger - Copyright (C) 2004-2013 Stéphane Voltz - Copyright (C) 2005-2009 Pierre Willenbrock - Copyright (C) 2007 Luke - Copyright (C) 2011 Alexey Osipov for HP2400 description - and tuning - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#undef BACKEND_NAME -#define BACKEND_NAME genesys_gl646 - -#include "genesys_gl646.h" - -/** - * returns the value hold by a 3 word register - * @param regs register set from which reading the value - * @param regnum number of the register to read - * @return 24 bit value of the register - */ -static uint32_t -gl646_get_triple_reg (Genesys_Register_Set * regs, int regnum) -{ - Genesys_Register_Set *r = NULL; - uint32_t ret = 0; - - r = sanei_genesys_get_address (regs, regnum); - ret = r->value; - r = sanei_genesys_get_address (regs, regnum + 1); - ret = (ret << 8) + r->value; - r = sanei_genesys_get_address (regs, regnum + 2); - ret = (ret << 8) + r->value; - - return ret; -} - -/** - * returns the value hold by a 2 word register - * @param regs register set from which reading the value - * @param regnum number of the register to read - * @return 16 bit value of the register - */ -static uint32_t -gl646_get_double_reg (Genesys_Register_Set * regs, int regnum) -{ - Genesys_Register_Set *r = NULL; - uint32_t ret = 0; - - r = sanei_genesys_get_address (regs, regnum); - ret = r->value; - r = sanei_genesys_get_address (regs, regnum + 1); - ret = (ret << 8) + r->value; - - return ret; -} - -/* Write to many registers */ -static SANE_Status -gl646_bulk_write_register (Genesys_Device * dev, - Genesys_Register_Set * reg, size_t elems) -{ - SANE_Status status; - uint8_t outdata[8]; - uint8_t buffer[GENESYS_MAX_REGS * 2]; - size_t size; - unsigned int i; - - /* handle differently sized register sets, reg[0x00] may be the last one */ - i = 0; - while ((i < elems) && (reg[i].address != 0)) - i++; - elems = i; - size = i * 2; - - DBG (DBG_io, "gl646_bulk_write_register (elems= %lu, size = %lu)\n", - (u_long) elems, (u_long) size); - - - outdata[0] = BULK_OUT; - outdata[1] = BULK_REGISTER; - outdata[2] = 0x00; - outdata[3] = 0x00; - outdata[4] = (size & 0xff); - outdata[5] = ((size >> 8) & 0xff); - outdata[6] = ((size >> 16) & 0xff); - outdata[7] = ((size >> 24) & 0xff); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - VALUE_BUFFER, INDEX, sizeof (outdata), outdata); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_bulk_write_register: failed while writing command: %s\n", - sane_strstatus (status)); - return status; - } - - /* copy registers and values in data buffer */ - for (i = 0; i < size; i += 2) - { - buffer[i] = reg[i / 2].address; - buffer[i + 1] = reg[i / 2].value; - } - - status = sanei_usb_write_bulk (dev->dn, buffer, &size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_bulk_write_register: failed while writing bulk data: %s\n", - sane_strstatus (status)); - return status; - } - - if (DBG_LEVEL >= DBG_io2) - { - for (i = 0; i < size; i += 2) - { - DBG (DBG_io2, "reg[0x%02x] = 0x%02x\n", buffer[i], buffer[i + 1]); - } - /* when full size, decode register content */ - if (elems > 60) - { - DBG (DBG_io2, "DPISET =%d\n", - gl646_get_double_reg (reg, REG_DPISET)); - DBG (DBG_io2, "DUMMY =%d\n", - sanei_genesys_get_address (reg, REG_DUMMY)->value); - DBG (DBG_io2, "STRPIXEL =%d\n", - gl646_get_double_reg (reg, REG_STRPIXEL)); - DBG (DBG_io2, "ENDPIXEL =%d\n", - gl646_get_double_reg (reg, REG_ENDPIXEL)); - DBG (DBG_io2, "LINCNT =%d\n", - gl646_get_triple_reg (reg, REG_LINCNT)); - DBG (DBG_io2, "MAXWD =%d\n", - gl646_get_triple_reg (reg, REG_MAXWD)); - DBG (DBG_io2, "LPERIOD =%d\n", - gl646_get_double_reg (reg, REG_LPERIOD)); - DBG (DBG_io2, "FEEDL =%d\n", - gl646_get_triple_reg (reg, REG_FEEDL)); - } - } - - DBG (DBG_io, "gl646_bulk_write_register: wrote %lu bytes, %lu registers\n", - (u_long) size, (u_long) elems); - return status; -} - -/* Write bulk data (e.g. shading, gamma) */ -static SANE_Status -gl646_bulk_write_data (Genesys_Device * dev, uint8_t addr, - uint8_t * data, size_t len) -{ - SANE_Status status; - size_t size; - uint8_t outdata[8]; - - DBG (DBG_io, "gl646_bulk_write_data writing %lu bytes\n", (u_long) len); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_REGISTER, - VALUE_SET_REGISTER, INDEX, 1, &addr); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_bulk_write_data failed while setting register: %s\n", - sane_strstatus (status)); - return status; - } - - while (len) - { - if (len > BULKOUT_MAXSIZE) - size = BULKOUT_MAXSIZE; - else - size = len; - - outdata[0] = BULK_OUT; - outdata[1] = BULK_RAM; - outdata[2] = 0x00; - outdata[3] = 0x00; - outdata[4] = (size & 0xff); - outdata[5] = ((size >> 8) & 0xff); - outdata[6] = ((size >> 16) & 0xff); - outdata[7] = ((size >> 24) & 0xff); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - VALUE_BUFFER, INDEX, sizeof (outdata), - outdata); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_bulk_write_data failed while writing command: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_usb_write_bulk (dev->dn, data, &size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_bulk_write_data failed while writing bulk data: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_io2, - "gl646_bulk_write_data wrote %lu bytes, %lu remaining\n", - (u_long) size, (u_long) (len - size)); - - len -= size; - data += size; - } - - DBG (DBG_io, "gl646_bulk_write_data: end\n"); - - return status; -} - -/** - * reads value from gpio endpoint - */ -static SANE_Status -gl646_gpio_read (SANE_Int dn, uint8_t * value) -{ - return sanei_usb_control_msg (dn, REQUEST_TYPE_IN, - REQUEST_REGISTER, GPIO_READ, INDEX, 1, value); -} - -/** - * writes the given value to gpio endpoint - */ -static SANE_Status -gl646_gpio_write (SANE_Int dn, uint8_t value) -{ - DBG (DBG_proc, "gl646_gpio_write(0x%02x)\n", value); - return sanei_usb_control_msg (dn, REQUEST_TYPE_OUT, - REQUEST_REGISTER, GPIO_WRITE, - INDEX, 1, &value); -} - -/** - * writes the given value to gpio output enable endpoint - */ -static SANE_Status -gl646_gpio_output_enable (SANE_Int dn, uint8_t value) -{ - DBG (DBG_proc, "gl646_gpio_output_enable(0x%02x)\n", value); - return sanei_usb_control_msg (dn, REQUEST_TYPE_OUT, - REQUEST_REGISTER, GPIO_OUTPUT_ENABLE, - INDEX, 1, &value); -} - -/* Read bulk data (e.g. scanned data) */ -static SANE_Status -gl646_bulk_read_data (Genesys_Device * dev, uint8_t addr, - uint8_t * data, size_t len) -{ - SANE_Status status; - size_t size; - uint8_t outdata[8]; - - DBG (DBG_io, "gl646_bulk_read_data: requesting %lu bytes\n", (u_long) len); - - /* write requested size */ - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_REGISTER, - VALUE_SET_REGISTER, INDEX, 1, &addr); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_bulk_read_data failed while setting register: %s\n", - sane_strstatus (status)); - return status; - } - - outdata[0] = BULK_IN; - outdata[1] = BULK_RAM; - outdata[2] = 0x00; - outdata[3] = 0x00; - outdata[4] = (len & 0xff); - outdata[5] = ((len >> 8) & 0xff); - outdata[6] = ((len >> 16) & 0xff); - outdata[7] = ((len >> 24) & 0xff); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - VALUE_BUFFER, INDEX, sizeof (outdata), outdata); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_bulk_read_data failed while writing command: %s\n", - sane_strstatus (status)); - return status; - } - - while (len) - { - if (len > GL646_BULKIN_MAXSIZE) - size = GL646_BULKIN_MAXSIZE; - else - size = len; - - DBG (DBG_io2, - "gl646_bulk_read_data: trying to read %lu bytes of data\n", - (u_long) size); - status = sanei_usb_read_bulk (dev->dn, data, &size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_bulk_read_data failed while reading bulk data: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_io2, - "gl646_bulk_read_data read %lu bytes, %lu remaining\n", - (u_long) size, (u_long) (len - size)); - - len -= size; - data += size; - } - - if (dev->model->is_sheetfed == SANE_TRUE) - { - gl646_detect_document_end (dev); - } - - DBG (DBG_io, "gl646_bulk_read_data: end\n"); - - return status; -} - -#if 0 -static SANE_Status -read_triple_reg (Genesys_Device * dev, int index, unsigned int *words) -{ - SANE_Status status; - uint8_t value; - - DBG (DBG_proc, "read_triple_reg\n"); - - RIE (sanei_genesys_read_register (dev, index + 2, &value)); - *words = value; - RIE (sanei_genesys_read_register (dev, index + 1, &value)); - *words += (value * 256); - RIE (sanei_genesys_read_register (dev, index, &value)); - if (dev->model->asic_type == GENESYS_GL646) - *words += ((value & 0x03) * 256 * 256); - else - *words += ((value & 0x0f) * 256 * 256); - - DBG (DBG_proc, "read_triple_reg: value=%d\n", *words); - return status; -} -#endif - - -static SANE_Bool -gl646_get_fast_feed_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, 0x02); - if (r && (r->value & REG02_FASTFED)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl646_get_filter_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, 0x04); - if (r && (r->value & REG04_FILTER)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl646_get_lineart_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, 0x04); - if (r && (r->value & REG04_LINEART)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl646_get_bitset_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, 0x04); - if (r && (r->value & REG04_BITSET)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl646_get_gain4_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, 0x06); - if (r && (r->value & REG06_GAIN4)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl646_test_buffer_empty_bit (SANE_Byte val) -{ - if (val & REG41_BUFEMPTY) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl646_test_motor_flag_bit (SANE_Byte val) -{ - if (val & REG41_MOTMFLG) - return SANE_TRUE; - return SANE_FALSE; -} - -static void -gl646_set_triple_reg (Genesys_Register_Set * regs, int regnum, uint32_t value) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, regnum); - r->value = LOBYTE (HIWORD (value)); - r = sanei_genesys_get_address (regs, regnum + 1); - r->value = HIBYTE (LOWORD (value)); - r = sanei_genesys_get_address (regs, regnum + 2); - r->value = LOBYTE (LOWORD (value)); -} - -static void -gl646_set_double_reg (Genesys_Register_Set * regs, int regnum, uint16_t value) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, regnum); - r->value = HIBYTE (LOWORD (value)); - r = sanei_genesys_get_address (regs, regnum + 1); - r->value = LOBYTE (LOWORD (value)); -} - -/** - * decodes and prints content of status (0x41) register - * @param val value read from reg41 - */ -static void -print_status (uint8_t val) -{ - char msg[80]; - - sprintf (msg, "%s%s%s%s%s%s%s%s", - val & REG41_PWRBIT ? "PWRBIT " : "", - val & REG41_BUFEMPTY ? "BUFEMPTY " : "", - val & REG41_FEEDFSH ? "FEEDFSH " : "", - val & REG41_SCANFSH ? "SCANFSH " : "", - val & REG41_HOMESNR ? "HOMESNR " : "", - val & REG41_LAMPSTS ? "LAMPSTS " : "", - val & REG41_FEBUSY ? "FEBUSY " : "", - val & REG41_MOTMFLG ? "MOTMFLG" : ""); - DBG (DBG_info, "status=%s\n", msg); -} - -/** - * start scanner's motor - * @param dev scanner's device - */ -static SANE_Status -gl646_start_motor (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x01); -} - - -/** - * stop scanner's motor - * @param dev scanner's device - */ -static SANE_Status -gl646_stop_motor (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x00); -} - - -/** - * find the lowest resolution for the sensor in the given mode. - * @param sensor id of the sensor - * @param color true is color mode - * @return the closest resolution for the sensor and mode - */ -static int -get_lowest_resolution (int sensor, SANE_Bool color) -{ - int i, nb; - int dpi; - - i = 0; - dpi = 9600; - nb = sizeof (sensor_master) / sizeof (Sensor_Master); - while (i < nb) - { - /* computes distance and keep mode if it is closer than previous */ - if (sensor == sensor_master[i].sensor - && sensor_master[i].color == color) - { - if (sensor_master[i].dpi < dpi) - { - dpi = sensor_master[i].dpi; - } - } - i++; - } - DBG (DBG_info, "get_lowest_resolution: %d\n", dpi); - return dpi; -} - -/** - * find the closest match in mode tables for the given resolution and scan mode. - * @param sensor id of the sensor - * @param required required resolution - * @param color true is color mode - * @return the closest resolution for the sensor and mode - */ -static int -get_closest_resolution (int sensor, int required, SANE_Bool color) -{ - int i, nb; - int dist, dpi; - - i = 0; - dpi = 0; - dist = 9600; - nb = sizeof (sensor_master) / sizeof (Sensor_Master); - while (i < nb) - { - /* exit on perfect match */ - if (sensor == sensor_master[i].sensor - && sensor_master[i].dpi == required - && sensor_master[i].color == color) - { - DBG (DBG_info, "get_closest_resolution: match found for %d\n", - required); - return required; - } - /* computes distance and keep mode if it is closer than previous */ - if (sensor == sensor_master[i].sensor - && sensor_master[i].color == color) - { - if (abs (sensor_master[i].dpi - required) < dist) - { - dpi = sensor_master[i].dpi; - dist = abs (sensor_master[i].dpi - required); - } - } - i++; - } - DBG (DBG_info, "get_closest_resolution: closest match for %d is %d\n", - required, dpi); - return dpi; -} - -/** - * Computes if sensor will be set up for half ccd pixels for the given - * scan mode. - * @param sensor id of the sensor - * @param required required resolution - * @param color true is color mode - * @return SANE_TRUE if half ccd is used - */ -static SANE_Bool -is_half_ccd (int sensor, int required, SANE_Bool color) -{ - int i, nb; - - i = 0; - nb = sizeof (sensor_master) / sizeof (Sensor_Master); - while (i < nb) - { - /* exit on perfect match */ - if (sensor == sensor_master[i].sensor - && sensor_master[i].dpi == required - && sensor_master[i].color == color) - { - DBG (DBG_io, "is_half_ccd: match found for %d (half_ccd=%d)\n", - required, sensor_master[i].half_ccd); - return sensor_master[i].half_ccd; - } - i++; - } - DBG (DBG_info, "is_half_ccd: failed to find match for %d dpi\n", required); - return SANE_FALSE; -} - -/** - * Returns the cksel values used by the required scan mode. - * @param sensor id of the sensor - * @param required required resolution - * @param color true is color mode - * @return cksel value for mode - */ -static int -get_cksel (int sensor, int required, SANE_Bool color) -{ - int i, nb; - - i = 0; - nb = sizeof (sensor_master) / sizeof (Sensor_Master); - while (i < nb) - { - /* exit on perfect match */ - if (sensor == sensor_master[i].sensor - && sensor_master[i].dpi == required - && sensor_master[i].color == color) - { - DBG (DBG_io, "get_cksel: match found for %d (cksel=%d)\n", - required, sensor_master[i].cksel); - return sensor_master[i].cksel; - } - i++; - } - DBG (DBG_error, "get_cksel: failed to find match for %d dpi\n", required); - /* fail safe fallback */ - return 1; -} - -/** - * Setup register and motor tables for a scan at the - * given resolution and color mode. TODO try to not use any filed from - * the device. - * @param dev pointer to a struct describing the device - * @param regs register set to fill - * @param scan_settings scan's settings - * @param slope_table1 first motor table to fill - * @param slope_table2 second motor table to fill - * @param resolution dpi of the scan - * @param move distance to move (at scan's dpi) before scan - * @param linecnt number of lines to scan at scan's dpi - * @param startx start of scan area on CCD at CCD's optical resolution - * @param endx end of scan area on CCD at CCD's optical resolution - * @param color SANE_TRUE is color scan - * @param depth 1, 8 or 16 bits data sample - * @return SANE_STATUS_GOOD if registers could be set, SANE_STATUS_INVAL if - * conditions can't be met. - * @note No harcoded SENSOR or MOTOR 'names' should be present and - * registers are set from settings tables and flags related - * to the hardware capabilities. - * */ -static SANE_Status -gl646_setup_registers (Genesys_Device * dev, - Genesys_Register_Set * regs, - Genesys_Settings scan_settings, - uint16_t * slope_table1, - uint16_t * slope_table2, - SANE_Int resolution, - uint32_t move, - uint32_t linecnt, - uint16_t startx, - uint16_t endx, SANE_Bool color, - SANE_Int depth) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i, nb; - Sensor_Master *sensor = NULL; - Motor_Master *motor = NULL; - Sensor_Settings *settings = NULL; - Genesys_Register_Set *r; - unsigned int used1, used2, vfinal; - unsigned int bpp; /**> bytes per pixel */ - uint32_t z1, z2; - uint16_t ex, sx; - int channels = 1, stagger, words_per_line, max_shift; - size_t requested_buffer_size; - size_t read_buffer_size; - SANE_Bool half_ccd = SANE_FALSE; - SANE_Int xresolution; - int feedl; - - DBG (DBG_proc, "gl646_setup_registers: start\n"); - DBG (DBG_info, "gl646_setup_registers: startx=%d, endx=%d, linecnt=%d\n", - startx, endx, linecnt); - - /* x resolution is capped by sensor's capability */ - if (resolution > dev->sensor.optical_res) - { - xresolution = dev->sensor.optical_res; - } - else - { - xresolution = resolution; - } - - /* for the given resolution, search for master - * sensor mode setting */ - i = 0; - nb = sizeof (sensor_master) / sizeof (Sensor_Master); - while (i < nb) - { - if (dev->model->ccd_type == sensor_master[i].sensor - && sensor_master[i].dpi == xresolution - && sensor_master[i].color == color) - { - sensor = &sensor_master[i]; - } - i++; - } - if (sensor == NULL) - { - DBG (DBG_error, - "gl646_setup_registers: unable to find settings for sensor %d at %d dpi color=%d\n", - dev->model->ccd_type, xresolution, color); - return SANE_STATUS_INVAL; - } - - /* for the given resolution, search for master - * motor mode setting */ - i = 0; - nb = sizeof (motor_master) / sizeof (Motor_Master); - while (i < nb) - { - if (dev->model->motor_type == motor_master[i].motor - && motor_master[i].dpi == resolution - && motor_master[i].color == color) - { - motor = &motor_master[i]; - } - i++; - } - if (motor == NULL) - { - DBG (DBG_error, - "gl646_setup_registers: unable to find settings for motor %d at %d dpi, color=%d\n", - dev->model->motor_type, resolution, color); - return SANE_STATUS_INVAL; - } - - /* now we can search for the specific sensor settings */ - i = 0; - nb = sizeof (sensor_settings) / sizeof (Sensor_Settings); - while (i < nb) - { - if (sensor->sensor == sensor_settings[i].sensor - && sensor->cksel == sensor_settings[i].cksel) - { - settings = &sensor_settings[i]; - } - i++; - } - if (settings == NULL) - { - DBG (DBG_error, - "gl646_setup_registers: unable to find settings for sensor %d with '%d' ccd timing\n", - sensor->sensor, sensor->cksel); - return SANE_STATUS_INVAL; - } - - /* half_ccd if manual clock programming or dpi is half dpiset */ - half_ccd = sensor->half_ccd; - - /* now apply values from settings to registers */ - if (sensor->regs_0x10_0x15 != NULL) - { - for (i = 0; i < 6; i++) - { - r = sanei_genesys_get_address (regs, 0x10 + i); - r->value = sensor->regs_0x10_0x15[i]; - } - } - else - { - for (i = 0; i < 6; i++) - { - r = sanei_genesys_get_address (regs, 0x10 + i); - r->value = 0; - } - } - - for (i = 0; i < 4; i++) - { - r = sanei_genesys_get_address (regs, 0x08 + i); - if (half_ccd == SANE_TRUE) - r->value = settings->manual_0x08_0x0b[i]; - else - r->value = settings->regs_0x08_0x0b[i]; - } - - for (i = 0; i < 8; i++) - { - r = sanei_genesys_get_address (regs, 0x16 + i); - r->value = settings->regs_0x16_0x1d[i]; - } - - for (i = 0; i < 13; i++) - { - r = sanei_genesys_get_address (regs, 0x52 + i); - r->value = settings->regs_0x52_0x5e[i]; - } - if (half_ccd == SANE_TRUE) - { - for (i = 0; i < 7; i++) - { - r = sanei_genesys_get_address (regs, 0x52 + i); - r->value = settings->manual_0x52_0x58[i]; - } - } - - /* now generate slope tables : we are not using generate_slope_table3 yet */ - sanei_genesys_generate_slope_table (slope_table1, motor->steps1, - motor->steps1 + 1, motor->vend1, - motor->vstart1, motor->vend1, - motor->steps1, motor->g1, &used1, - &vfinal); - sanei_genesys_generate_slope_table (slope_table2, motor->steps2, - motor->steps2 + 1, motor->vend2, - motor->vstart2, motor->vend2, - motor->steps2, motor->g2, &used2, - &vfinal); - - if (color == SANE_TRUE) - channels = 3; - else - channels = 1; - - /* R01 */ - /* now setup other registers for final scan (ie with shading enabled) */ - /* watch dog + shading + scan enable */ - regs[reg_0x01].value |= REG01_DOGENB | REG01_DVDSET | REG01_SCAN; - if (dev->model->is_cis == SANE_TRUE) - regs[reg_0x01].value |= REG01_CISSET; - else - regs[reg_0x01].value &= ~REG01_CISSET; - - /* if device has no calibration, don't enable shading correction */ - if (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION) - { - regs[reg_0x01].value &= ~REG01_DVDSET; - } - - regs[reg_0x01].value &= ~REG01_FASTMOD; - if (motor->fastmod) - regs[reg_0x01].value |= REG01_FASTMOD; - - /* R02 */ - /* allow moving when buffer full by default */ - if (dev->model->is_sheetfed == SANE_FALSE) - dev->reg[reg_0x02].value &= ~REG02_ACDCDIS; - else - dev->reg[reg_0x02].value |= REG02_ACDCDIS; - - /* setup motor power and direction */ - regs[reg_0x02].value |= REG02_MTRPWR; - regs[reg_0x02].value &= ~REG02_MTRREV; - - /* fastfed enabled (2 motor slope tables) */ - if (motor->fastfed) - regs[reg_0x02].value |= REG02_FASTFED; - else - regs[reg_0x02].value &= ~REG02_FASTFED; - - /* step type */ - regs[reg_0x02].value &= ~REG02_STEPSEL; - switch (motor->steptype) - { - case FULL_STEP: - break; - case HALF_STEP: - regs[reg_0x02].value |= 1; - break; - case QUATER_STEP: - regs[reg_0x02].value |= 2; - break; - default: - regs[reg_0x02].value |= 3; - break; - } - - /* if sheetfed, no AGOHOME */ - if (dev->model->is_sheetfed == SANE_TRUE) - { - regs[reg_0x02].value &= ~REG02_AGOHOME; - } - else - { - regs[reg_0x02].value |= REG02_AGOHOME; - } - - /* R03 */ - regs[reg_0x03].value &= ~REG03_AVEENB; - /* regs[reg_0x03].value |= REG03_AVEENB; */ - regs[reg_0x03].value &= ~REG03_LAMPDOG; - - /* select XPA */ - regs[reg_0x03].value &= ~REG03_XPASEL; - if (scan_settings.scan_method == SCAN_METHOD_TRANSPARENCY) - { - regs[reg_0x03].value |= REG03_XPASEL; - } - - /* R04 */ - /* monochrome / color scan */ - switch (depth) - { - case 1: - regs[reg_0x04].value &= ~REG04_BITSET; - regs[reg_0x04].value |= REG04_LINEART; - break; - case 8: - regs[reg_0x04].value &= ~(REG04_LINEART | REG04_BITSET); - break; - case 16: - regs[reg_0x04].value &= ~REG04_LINEART; - regs[reg_0x04].value |= REG04_BITSET; - break; - } - - /* R05 */ - regs[reg_0x05].value &= ~REG05_DPIHW; - switch (dev->sensor.optical_res) - { - case 600: - regs[reg_0x05].value |= REG05_DPIHW_600; - break; - case 1200: - regs[reg_0x05].value |= REG05_DPIHW_1200; - break; - case 2400: - regs[reg_0x05].value |= REG05_DPIHW_2400; - break; - default: - regs[reg_0x05].value |= REG05_DPIHW; - } - - /* gamma enable for scans */ - if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) - regs[reg_0x05].value |= REG05_GMM14BIT; - - regs[reg_0x05].value &= ~REG05_GMMENB; - - /* true CIS gray if needed */ - if (dev->model->is_cis == SANE_TRUE && color == SANE_FALSE - && dev->settings.true_gray) - { - regs[reg_0x05].value |= REG05_LEDADD; - } - else - { - regs[reg_0x05].value &= ~REG05_LEDADD; - } - - /* cktoggle, ckdelay and cksel at once, cktdelay=2 => half_ccd for md5345 */ - regs[reg_0x18].value = sensor->r18; - - /* manual CCD/2 clock programming => half_ccd for hp2300 */ - regs[reg_0x1d].value = sensor->r1d; - - /* HP2400 1200dpi mode tuning */ - - if (dev->model->ccd_type == CCD_HP2400) - { - /* reset count of dummy lines to zero */ - regs[reg_0x1e].value &= ~REG1E_LINESEL; - if (scan_settings.xres >= 1200) - { - /* there must be one dummy line */ - regs[reg_0x1e].value |= 1 & REG1E_LINESEL; - - /* GPO12 need to be set to zero */ - regs[reg_0x66].value &= ~0x20; - } - else - { - /* set GPO12 back to one */ - regs[reg_0x66].value |= 0x20; - } - } - - /* motor steps used */ - regs[reg_0x21].value = motor->steps1; - regs[reg_0x22].value = motor->fwdbwd; - regs[reg_0x23].value = motor->fwdbwd; - regs[reg_0x24].value = motor->steps1; - - /* scanned area height must be enlarged by max color shift needed */ - max_shift=sanei_genesys_compute_max_shift(dev,channels,scan_settings.yres,0); - - /* we adjust linecnt according to real motor dpi */ - linecnt = (linecnt * motor->ydpi) / scan_settings.yres + max_shift; - - /* at QUATER_STEP lines are 'staggered' and need correction */ - stagger = 0; - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - { - /* for HP3670, stagger happens only at >=1200 dpi */ - if ((dev->model->motor_type != MOTOR_HP3670 - && dev->model->motor_type != MOTOR_HP2400) - || scan_settings.yres >= dev->sensor.optical_res) - { - stagger = (4 * scan_settings.yres) / dev->motor.base_ydpi; - } - } - linecnt += stagger; - - DBG (DBG_info, "gl646_setup_registers : max_shift=%d, stagger=%d lines\n", - max_shift, stagger); - - /* CIS scanners read one line per color channel - * since gray mode use 'add' we also read 3 channels even not in - * color mode */ - if (dev->model->is_cis == SANE_TRUE) - { - gl646_set_triple_reg (regs, REG_LINCNT, linecnt * 3); - linecnt *= channels; - } - else - { - gl646_set_triple_reg (regs, REG_LINCNT, linecnt); - } - - /* scanner's x coordinates are expressed in physical DPI but they must be divided by cksel */ - sx = startx / sensor->cksel; - ex = endx / sensor->cksel; - if (half_ccd == SANE_TRUE) - { - sx /= 2; - ex /= 2; - } - gl646_set_double_reg (regs, REG_STRPIXEL, sx); - gl646_set_double_reg (regs, REG_ENDPIXEL, ex); - DBG (DBG_info, "gl646_setup_registers: startx=%d, endx=%d, half_ccd=%d\n", - sx, ex, half_ccd); - - /* words_per_line must be computed according to the scan's resolution */ - /* in fact, words_per_line _gives_ the actual scan resolution */ - words_per_line = (((endx - startx) * sensor->xdpi) / dev->sensor.optical_res); - bpp=depth/8; - if (depth == 1) - { - words_per_line = (words_per_line+7)/8 ; - bpp=1; - } - else - { - words_per_line *= bpp; - } - dev->bpl = words_per_line; - words_per_line *= channels; - dev->wpl = words_per_line; - - DBG (DBG_info, "gl646_setup_registers: wpl=%d\n", words_per_line); - gl646_set_triple_reg (regs, REG_MAXWD, words_per_line); - - gl646_set_double_reg (regs, REG_DPISET, sensor->dpiset); - gl646_set_double_reg (regs, REG_LPERIOD, sensor->exposure); - - /* move distance must be adjusted to take into account the extra lines - * read to reorder data */ - feedl = move; - if (stagger + max_shift > 0 && feedl != 0) - { - if (feedl > - ((max_shift + stagger) * dev->motor.optical_ydpi) / motor->ydpi) - feedl = - feedl - - ((max_shift + stagger) * dev->motor.optical_ydpi) / motor->ydpi; - } - - /* we assume all scans are done with 2 tables */ - /* - feedl = feed_steps - fast_slope_steps*2 - - (slow_slope_steps >> scan_step_type); */ - /* but head has moved due to shading calibration => dev->scanhead_position_in_steps */ - if (feedl > 0) - { - /* take into account the distance moved during calibration */ - /* feedl -= dev->scanhead_position_in_steps; */ - DBG (DBG_info, "gl646_setup_registers: initial move=%d\n", feedl); - DBG (DBG_info, "gl646_setup_registers: scanhead_position_in_steps=%d\n", - dev->scanhead_position_in_steps); - - /* TODO clean up this when I'll fully understand. - * for now, special casing each motor */ - switch (dev->model->motor_type) - { - case MOTOR_5345: - switch (motor->ydpi) - { - case 200: - feedl -= 70; - break; - case 300: - feedl -= 70; - break; - case 400: - feedl += 130; - break; - case 600: - feedl += 160; - break; - case 1200: - feedl += 160; - break; - case 2400: - feedl += 180; - break; - default: - break; - } - break; - case MOTOR_HP2300: - switch (motor->ydpi) - { - case 75: - feedl -= 180; - break; - case 150: - feedl += 0; - break; - case 300: - feedl += 30; - break; - case 600: - feedl += 35; - break; - case 1200: - feedl += 45; - break; - default: - break; - } - break; - case MOTOR_HP2400: - switch (motor->ydpi) - { - case 150: - feedl += 150; - break; - case 300: - feedl += 220; - break; - case 600: - feedl += 260; - break; - case 1200: - feedl += 280; /* 300 */ - break; - case 50: - feedl += 0; - break; - case 100: - feedl += 100; - break; - default: - break; - } - break; - - /* theorical value */ - default: - if (motor->fastfed) - { - feedl = - feedl - 2 * motor->steps2 - - (motor->steps1 >> motor->steptype); - } - else - { - feedl = feedl - (motor->steps1 >> motor->steptype); - } - break; - } - /* security */ - if (feedl < 0) - feedl = 0; - } - - DBG (DBG_info, "gl646_setup_registers: final move=%d\n", feedl); - gl646_set_triple_reg (regs, REG_FEEDL, feedl); - - regs[reg_0x65].value = motor->mtrpwm; - - sanei_genesys_calculate_zmode2 (regs[reg_0x02].value & REG02_FASTFED, - sensor->exposure, - slope_table1, - motor->steps1, - move, motor->fwdbwd, &z1, &z2); - - /* no z1/z2 for sheetfed scanners */ - if (dev->model->is_sheetfed == SANE_TRUE) - { - z1 = 0; - z2 = 0; - } - gl646_set_double_reg (regs, REG_Z1MOD, z1); - gl646_set_double_reg (regs, REG_Z2MOD, z2); - regs[reg_0x6b].value = motor->steps2; - regs[reg_0x6c].value = - (regs[reg_0x6c].value & REG6C_TGTIME) | ((z1 >> 13) & 0x38) | ((z2 >> 16) - & 0x07); - - RIE (write_control (dev, xresolution)); - - /* setup analog frontend */ - RIE (gl646_set_fe (dev, AFE_SET, xresolution)); - - /* now we're done with registers setup values used by data transfer */ - /* we setup values needed for the data transfer */ - - /* we must use a round number of words_per_line */ - requested_buffer_size = 8 * words_per_line; - read_buffer_size = - 2 * requested_buffer_size + - ((max_shift + stagger) * scan_settings.pixels * channels * depth) / 8; - - RIE (sanei_genesys_buffer_free (&(dev->read_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->read_buffer), read_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->lines_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->lines_buffer), read_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->shrink_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->shrink_buffer), - requested_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->out_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->out_buffer), - 8 * scan_settings.pixels * channels * bpp)); - - /* scan bytes to read */ - dev->read_bytes_left = words_per_line * linecnt; - - DBG (DBG_info, - "gl646_setup_registers: physical bytes to read = %lu\n", - (u_long) dev->read_bytes_left); - dev->read_active = SANE_TRUE; - - dev->current_setup.pixels = - ((endx - startx) * sensor->xdpi) / dev->sensor.optical_res; - dev->current_setup.lines = linecnt; - dev->current_setup.depth = depth; - dev->current_setup.channels = channels; - dev->current_setup.exposure_time = sensor->exposure; - dev->current_setup.xres = sensor->xdpi; - dev->current_setup.yres = motor->ydpi; - dev->current_setup.half_ccd = half_ccd; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - /* total_bytes_to_read is the number of byte to send to frontend - * total_bytes_read is the number of bytes sent to frontend - * read_bytes_left is the number of bytes to read from the scanner - */ - dev->total_bytes_read = 0; - if (depth == 1) - dev->total_bytes_to_read = - ((scan_settings.pixels * scan_settings.lines) / 8 + - (((scan_settings.pixels * scan_settings.lines) % 8) ? 1 : 0)) * - channels; - else - dev->total_bytes_to_read = - scan_settings.pixels * scan_settings.lines * channels * bpp; - - DBG (DBG_proc, "gl646_setup_registers: end\n"); - return SANE_STATUS_GOOD; -} - - -/** copy sensor specific settings */ -/* *dev : device infos - *regs : regiters to be set - extended : do extended set up - half_ccd: set up for half ccd resolution - all registers 08-0B, 10-1D, 52-5E are set up. They shouldn't - appear anywhere else but in register init -*/ -static void -gl646_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r; - int i; - - DBG (DBG_proc, "gl646_setup_sensor: start\n"); - for (i = 0; i < 4; i++) - { - r = sanei_genesys_get_address (regs, 0x08 + i); - r->value = dev->sensor.regs_0x08_0x0b[i]; - } - - for (i = 0; i < 14; i++) - { - r = sanei_genesys_get_address (regs, 0x10 + i); - r->value = dev->sensor.regs_0x10_0x1d[i]; - } - - for (i = 0; i < 13; i++) - { - r = sanei_genesys_get_address (regs, 0x52 + i); - r->value = dev->sensor.regs_0x52_0x5e[i]; - } - DBG (DBG_proc, "gl646_setup_sensor: end\n"); - -} - -/** Test if the ASIC works - */ -static SANE_Status -gl646_asic_test (Genesys_Device * dev) -{ - SANE_Status status; - uint8_t val; - uint8_t *data; - uint8_t *verify_data; - size_t size, verify_size; - unsigned int i; - - DBG (DBG_proc, "gl646_asic_test: start\n"); - - /* set and read exposure time, compare if it's the same */ - status = sanei_genesys_write_register (dev, 0x38, 0xde); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_asic_test: failed to write register: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_write_register (dev, 0x39, 0xad); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_asic_test: failed to write register: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_read_register (dev, 0x4e, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_asic_test: failed to read register: %s\n", - sane_strstatus (status)); - return status; - } - if (val != 0xde) /* value of register 0x38 */ - { - DBG (DBG_error, "gl646_asic_test: register contains invalid value\n"); - return SANE_STATUS_IO_ERROR; - } - - status = sanei_genesys_read_register (dev, 0x4f, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_asic_test: failed to read register: %s\n", - sane_strstatus (status)); - return status; - } - if (val != 0xad) /* value of register 0x39 */ - { - DBG (DBG_error, "gl646_asic_test: register contains invalid value\n"); - return SANE_STATUS_IO_ERROR; - } - - /* ram test: */ - size = 0x40000; - verify_size = size + 0x80; - /* todo: looks like the read size must be a multiple of 128? - otherwise the read doesn't succeed the second time after the scanner has - been plugged in. Very strange. */ - - data = (uint8_t *) malloc (size); - if (!data) - { - DBG (DBG_error, "gl646_asic_test: could not allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - - verify_data = (uint8_t *) malloc (verify_size); - if (!verify_data) - { - free (data); - DBG (DBG_error, "gl646_asic_test: could not allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - - for (i = 0; i < (size - 1); i += 2) - { - data[i] = i / 512; - data[i + 1] = (i / 2) % 256; - } - - status = sanei_genesys_set_buffer_address (dev, 0x0000); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_asic_test: failed to set buffer address: %s\n", - sane_strstatus (status)); - free (data); - free (verify_data); - return status; - } - - status = gl646_bulk_write_data (dev, 0x3c, data, size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_asic_test: failed to bulk write data: %s\n", - sane_strstatus (status)); - free (data); - free (verify_data); - return status; - } - - status = sanei_genesys_set_buffer_address (dev, 0x0000); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_asic_test: failed to set buffer address: %s\n", - sane_strstatus (status)); - free (data); - free (verify_data); - return status; - } - - status = - gl646_bulk_read_data (dev, 0x45, (uint8_t *) verify_data, verify_size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_asic_test: failed to bulk read data: %s\n", - sane_strstatus (status)); - free (data); - free (verify_data); - return status; - } - - /* i + 2 is needed as the changed address goes into effect only after one - data word is sent. */ - for (i = 0; i < size; i++) - { - if (verify_data[i + 2] != data[i]) - { - DBG (DBG_error, "gl646_asic_test: data verification error\n"); - free (data); - free (verify_data); - return SANE_STATUS_IO_ERROR; - } - } - - free (data); - free (verify_data); - - DBG (DBG_info, "gl646_asic_test: end\n"); - - return SANE_STATUS_GOOD; -} - -/* returns the max register bulk size */ -static int -gl646_bulk_full_size (void) -{ - return GENESYS_GL646_MAX_REGS; -} - -/** - * Set all registers to default values after init - * @param dev scannerr's device to set - */ -static void -gl646_init_regs (Genesys_Device * dev) -{ - int nr, addr; - - DBG (DBG_proc, "gl646_init_regs\n"); - - nr = 0; - memset (dev->reg, 0, GENESYS_MAX_REGS * sizeof (Genesys_Register_Set)); - - for (addr = 1; addr <= 0x0b; addr++) - dev->reg[nr++].address = addr; - for (addr = 0x10; addr <= 0x29; addr++) - dev->reg[nr++].address = addr; - for (addr = 0x2c; addr <= 0x39; addr++) - dev->reg[nr++].address = addr; - for (addr = 0x3d; addr <= 0x3f; addr++) - dev->reg[nr++].address = addr; - for (addr = 0x52; addr <= 0x5e; addr++) - dev->reg[nr++].address = addr; - for (addr = 0x60; addr <= 0x6d; addr++) - dev->reg[nr++].address = addr; - - dev->reg[reg_0x01].value = 0x20 /*0x22 */ ; /* enable shading, CCD, color, 1M */ - dev->reg[reg_0x02].value = 0x30 /*0x38 */ ; /* auto home, one-table-move, full step */ - if (dev->model->motor_type == MOTOR_5345) - dev->reg[reg_0x02].value |= 0x01; /* half-step */ - switch (dev->model->motor_type) - { - case MOTOR_5345: - dev->reg[reg_0x02].value |= 0x01; /* half-step */ - break; - case MOTOR_XP200: - /* for this sheetfed scanner, no AGOHOME, nor backtracking */ - dev->reg[reg_0x02].value = 0x50; - break; - default: - break; - } - dev->reg[reg_0x03].value = 0x1f /*0x17 */ ; /* lamp on */ - dev->reg[reg_0x04].value = 0x13 /*0x03 */ ; /* 8 bits data, 16 bits A/D, color, Wolfson fe *//* todo: according to spec, 0x0 is reserved? */ - switch (dev->model->dac_type) - { - case DAC_AD_XP200: - dev->reg[reg_0x04].value = 0x12; - break; - default: - /* Wolfson frontend */ - dev->reg[reg_0x04].value = 0x13; - break; - } - - dev->reg[reg_0x05].value = 0x00; /* 12 bits gamma, disable gamma, 24 clocks/pixel */ - switch (dev->sensor.optical_res) - { - case 600: - dev->reg[reg_0x05].value |= REG05_DPIHW_600; - break; - case 1200: - dev->reg[reg_0x05].value |= REG05_DPIHW_1200; - break; - case 2400: - dev->reg[reg_0x05].value |= REG05_DPIHW_2400; - break; - default: - dev->reg[reg_0x05].value |= REG05_DPIHW; - break; - } - if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) - dev->reg[reg_0x05].value |= REG05_GMM14BIT; - if (dev->model->dac_type == DAC_AD_XP200) - dev->reg[reg_0x05].value |= 0x01; /* 12 clocks/pixel */ - - if (dev->model->ccd_type == CCD_HP2300) - dev->reg[reg_0x06].value = 0x00; /* PWRBIT off, shading gain=4, normal AFE image capture */ - else - dev->reg[reg_0x06].value = 0x18; /* PWRBIT on, shading gain=8, normal AFE image capture */ - - - gl646_setup_sensor (dev, dev->reg); - - dev->reg[reg_0x1e].value = 0xf0; /* watch-dog time */ - - switch (dev->model->ccd_type) - { - case CCD_HP2300: - dev->reg[reg_0x1e].value = 0xf0; - dev->reg[reg_0x1f].value = 0x10; - dev->reg[reg_0x20].value = 0x20; - break; - case CCD_HP2400: - dev->reg[reg_0x1e].value = 0x80; - dev->reg[reg_0x1f].value = 0x10; - dev->reg[reg_0x20].value = 0x20; - break; - case CCD_HP3670: - dev->reg[reg_0x19].value = 0x2a; - dev->reg[reg_0x1e].value = 0x80; - dev->reg[reg_0x1f].value = 0x10; - dev->reg[reg_0x20].value = 0x20; - break; - case CIS_XP200: - dev->reg[reg_0x1e].value = 0x10; - dev->reg[reg_0x1f].value = 0x01; - dev->reg[reg_0x20].value = 0x50; - break; - default: - dev->reg[reg_0x1f].value = 0x01; - dev->reg[reg_0x20].value = 0x50; - break; - } - - dev->reg[reg_0x21].value = 0x08 /*0x20 */ ; /* table one steps number for forward slope curve of the acc/dec */ - dev->reg[reg_0x22].value = 0x10 /*0x08 */ ; /* steps number of the forward steps for start/stop */ - dev->reg[reg_0x23].value = 0x10 /*0x08 */ ; /* steps number of the backward steps for start/stop */ - dev->reg[reg_0x24].value = 0x08 /*0x20 */ ; /* table one steps number backward slope curve of the acc/dec */ - dev->reg[reg_0x25].value = 0x00; /* scan line numbers (7000) */ - dev->reg[reg_0x26].value = 0x00 /*0x1b */ ; - dev->reg[reg_0x27].value = 0xd4 /*0x58 */ ; - dev->reg[reg_0x28].value = 0x01; /* PWM duty for lamp control */ - dev->reg[reg_0x29].value = 0xff; - - dev->reg[reg_0x2c].value = 0x02; /* set resolution (600 DPI) */ - dev->reg[reg_0x2d].value = 0x58; - dev->reg[reg_0x2e].value = 0x78; /* set black&white threshold high level */ - dev->reg[reg_0x2f].value = 0x7f; /* set black&white threshold low level */ - - dev->reg[reg_0x30].value = 0x00; /* begin pixel position (16) */ - dev->reg[reg_0x31].value = dev->sensor.dummy_pixel /*0x10 */ ; /* TGW + 2*TG_SHLD + x */ - dev->reg[reg_0x32].value = 0x2a /*0x15 */ ; /* end pixel position (5390) */ - dev->reg[reg_0x33].value = 0xf8 /*0x0e */ ; /* TGW + 2*TG_SHLD + y */ - dev->reg[reg_0x34].value = dev->sensor.dummy_pixel; - dev->reg[reg_0x35].value = 0x01 /*0x00 */ ; /* set maximum word size per line, for buffer full control (10800) */ - dev->reg[reg_0x36].value = 0x00 /*0x2a */ ; - dev->reg[reg_0x37].value = 0x00 /*0x30 */ ; - dev->reg[reg_0x38].value = HIBYTE (dev->settings.exposure_time) /*0x2a */ ; /* line period (exposure time = 11000 pixels) */ - dev->reg[reg_0x39].value = LOBYTE (dev->settings.exposure_time) /*0xf8 */ ; - dev->reg[reg_0x3d].value = 0x00; /* set feed steps number of motor move */ - dev->reg[reg_0x3e].value = 0x00; - dev->reg[reg_0x3f].value = 0x01 /*0x00 */ ; - - dev->reg[reg_0x60].value = 0x00; /* Z1MOD, 60h:61h:(6D b5:b3), remainder for start/stop */ - dev->reg[reg_0x61].value = 0x00; /* (21h+22h)/LPeriod */ - dev->reg[reg_0x62].value = 0x00; /* Z2MODE, 62h:63h:(6D b2:b0), remainder for start scan */ - dev->reg[reg_0x63].value = 0x00; /* (3Dh+3Eh+3Fh)/LPeriod for one-table mode,(21h+1Fh)/LPeriod */ - dev->reg[reg_0x64].value = 0x00; /* motor PWM frequency */ - dev->reg[reg_0x65].value = 0x00; /* PWM duty cycle for table one motor phase (63 = max) */ - if (dev->model->motor_type == MOTOR_5345) - dev->reg[reg_0x65].value = 0x02; /* PWM duty cycle for table one motor phase (63 = max) */ - dev->reg[reg_0x66].value = dev->gpo.value[0]; - dev->reg[reg_0x67].value = dev->gpo.value[1]; - dev->reg[reg_0x68].value = dev->gpo.enable[0]; - dev->reg[reg_0x69].value = dev->gpo.enable[1]; - - switch (dev->model->motor_type) - { - case MOTOR_HP2300: - case MOTOR_HP2400: - dev->reg[reg_0x6a].value = 0x7f; /* table two steps number for acc/dec */ - dev->reg[reg_0x6b].value = 0x78; /* table two steps number for acc/dec */ - dev->reg[reg_0x6d].value = 0x7f; - break; - case MOTOR_5345: - dev->reg[reg_0x6a].value = 0x42; /* table two fast moving step type, PWM duty for table two */ - dev->reg[reg_0x6b].value = 0xff; /* table two steps number for acc/dec */ - dev->reg[reg_0x6d].value = 0x41; /* select deceleration steps whenever go home (0), accel/decel stop time (31 * LPeriod) */ - break; - case MOTOR_XP200: - dev->reg[reg_0x6a].value = 0x7f; /* table two fast moving step type, PWM duty for table two */ - dev->reg[reg_0x6b].value = 0x08; /* table two steps number for acc/dec */ - dev->reg[reg_0x6d].value = 0x01; /* select deceleration steps whenever go home (0), accel/decel stop time (31 * LPeriod) */ - break; - case MOTOR_HP3670: - dev->reg[reg_0x6a].value = 0x41; /* table two steps number for acc/dec */ - dev->reg[reg_0x6b].value = 0xc8; /* table two steps number for acc/dec */ - dev->reg[reg_0x6d].value = 0x7f; - break; - default: - dev->reg[reg_0x6a].value = 0x40; /* table two fast moving step type, PWM duty for table two */ - dev->reg[reg_0x6b].value = 0xff; /* table two steps number for acc/dec */ - dev->reg[reg_0x6d].value = 0x01; /* select deceleration steps whenever go home (0), accel/decel stop time (31 * LPeriod) */ - break; - } - dev->reg[reg_0x6c].value = 0x00; /* peroid times for LPeriod, expR,expG,expB, Z1MODE, Z2MODE (one period time) */ -} - - -/* Send slope table for motor movement - slope_table in machine byte order -*/ -static SANE_Status -gl646_send_slope_table (Genesys_Device * dev, int table_nr, - uint16_t * slope_table, int steps) -{ - int dpihw; - int start_address; - SANE_Status status; - uint8_t *table; -#ifdef WORDS_BIGENDIAN - int i; -#endif - - DBG (DBG_proc, - "gl646_send_slope_table (table_nr = %d, steps = %d)=%d .. %d\n", - table_nr, steps, slope_table[0], slope_table[steps - 1]); - - dpihw = dev->reg[reg_0x05].value >> 6; - - if (dpihw == 0) /* 600 dpi */ - start_address = 0x08000; - else if (dpihw == 1) /* 1200 dpi */ - start_address = 0x10000; - else if (dpihw == 2) /* 2400 dpi */ - start_address = 0x1f800; - else /* reserved */ - return SANE_STATUS_INVAL; - -#ifdef WORDS_BIGENDIAN - table = (uint8_t *) malloc (steps * 2); - for (i = 0; i < steps; i++) - { - table[i * 2] = slope_table[i] & 0xff; - table[i * 2 + 1] = slope_table[i] >> 8; - } -#else - table = (uint8_t *) slope_table; -#endif - - status = - sanei_genesys_set_buffer_address (dev, start_address + table_nr * 0x100); - if (status != SANE_STATUS_GOOD) - { -#ifdef WORDS_BIGENDIAN - free (table); -#endif - DBG (DBG_error, - "gl646_send_slope_table: failed to set buffer address: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl646_bulk_write_data (dev, 0x3c, (uint8_t *) table, steps * 2); - if (status != SANE_STATUS_GOOD) - { -#ifdef WORDS_BIGENDIAN - free (table); -#endif - DBG (DBG_error, - "gl646_send_slope_table: failed to send slope table: %s\n", - sane_strstatus (status)); - return status; - } - -#ifdef WORDS_BIGENDIAN - free (table); -#endif - DBG (DBG_proc, "gl646_send_slope_table: end\n"); - return status; -} - -/* Set values of Analog Device type frontend */ -static SANE_Status -gl646_set_ad_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - uint16_t val; - - DBG (DBG_proc, "gl646_set_ad_fe(): start\n"); - if (set == AFE_INIT) - { - DBG (DBG_proc, "gl646_set_ad_fe(): setting DAC %u\n", - dev->model->dac_type); - - /* sets to default values */ - sanei_genesys_init_fe (dev); - - /* write them to analog frontend */ - val = dev->frontend.reg[0]; - status = sanei_genesys_fe_write_data (dev, 0x00, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_set_ad_fe: failed to write reg0: %s\n", - sane_strstatus (status)); - return status; - } - val = dev->frontend.reg[1]; - status = sanei_genesys_fe_write_data (dev, 0x01, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_set_ad_fe: failed to write reg1: %s\n", - sane_strstatus (status)); - return status; - } - } - if (set == AFE_SET) - { - for (i = 0; i < 3; i++) - { - val = dev->frontend.gain[i]; - status = sanei_genesys_fe_write_data (dev, 0x02 + i, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_set_ad_fe: failed to write gain %d: %s\n", i, - sane_strstatus (status)); - return status; - } - } - for (i = 0; i < 3; i++) - { - val = dev->frontend.offset[i]; - status = sanei_genesys_fe_write_data (dev, 0x05 + i, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_set_ad_fe: failed to write offset %d: %s\n", i, - sane_strstatus (status)); - return status; - } - } - } - /* - if (set == AFE_POWER_SAVE) - { - status = - sanei_genesys_fe_write_data (dev, 0x00, dev->frontend.reg[0] | 0x04); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_set_ad_fe: failed to write reg0: %s\n", - sane_strstatus (status)); - return status; - } - } */ - DBG (DBG_proc, "gl646_set_ad_fe(): end\n"); - - return status; -} - -/** set up analog frontend - * set up analog frontend - * @param dev device to set up - * @param set action from AFE_SET, AFE_INIT and AFE_POWERSAVE - * @param dpi resolution of the scan since it affects settings - * @return SANE_STATUS_GOOD if evrithing OK - */ -static SANE_Status -gl646_wm_hp3670 (Genesys_Device * dev, uint8_t set, int dpi) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - - DBGSTART; - switch (set) - { - case AFE_INIT: - status = sanei_genesys_fe_write_data (dev, 0x04, 0x80); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_wm_hp3670: reset failed: %s\n", - sane_strstatus (status)); - return status; - } - usleep (200000UL); - RIE (sanei_genesys_write_register (dev, 0x50, 0x00)); - sanei_genesys_init_fe (dev); - status = sanei_genesys_fe_write_data (dev, 0x01, dev->frontend.reg[1]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_wm_hp3670: writing reg1 failed: %s\n", - sane_strstatus (status)); - return status; - } - status = sanei_genesys_fe_write_data (dev, 0x02, dev->frontend.reg[2]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_wm_hp3670: writing reg2 failed: %s\n", - sane_strstatus (status)); - return status; - } - status = gl646_gpio_output_enable (dev->dn, 0x07); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_wm_hp3670: failed to enable GPIO: %s\n", - sane_strstatus (status)); - return status; - } - break; - case AFE_POWER_SAVE: - status = sanei_genesys_fe_write_data (dev, 0x01, 0x06); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_wm_hp3670: writing reg1 failed: %s\n", - sane_strstatus (status)); - return status; - } - status = sanei_genesys_fe_write_data (dev, 0x06, 0x0f); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_wm_hp3670: writing reg6 failed: %s\n", - sane_strstatus (status)); - return status; - } - return status; - break; - default: /* AFE_SET */ - /* mode setup */ - i = dev->frontend.reg[3]; - if (dpi > dev->sensor.optical_res / 2) - { - /* fe_reg_0x03 must be 0x12 for 1200 dpi in DAC_WOLFSON_HP3670. - * DAC_WOLFSON_HP2400 in 1200 dpi mode works well with - * fe_reg_0x03 set to 0x32 or 0x12 but not to 0x02 */ - i = 0x12; - } - status = sanei_genesys_fe_write_data (dev, 0x03, i); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_wm_hp3670: writing reg3 failed: %s\n", - sane_strstatus (status)); - return status; - } - /* offset and sign (or msb/lsb ?) */ - for (i = 0; i < 3; i++) - { - status = - sanei_genesys_fe_write_data (dev, 0x20 + i, - dev->frontend.offset[i]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_wm_hp3670: writing offset%d failed: %s\n", i, - sane_strstatus (status)); - return status; - } - status = sanei_genesys_fe_write_data (dev, 0x24 + i, dev->frontend.sign[i]); /* MSB/LSB ? */ - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_wm_hp3670: writing sign%d failed: %s\n", - i, sane_strstatus (status)); - return status; - } - } - - /* gain */ - for (i = 0; i < 3; i++) - { - status = - sanei_genesys_fe_write_data (dev, 0x28 + i, - dev->frontend.gain[i]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_wm_hp3670: writing gain%d failed: %s\n", - i, sane_strstatus (status)); - return status; - } - } - } - - DBGCOMPLETED; - return status; -} - -/** Set values of analog frontend - * @param dev device to set - * @param set action to execute - * @param dpi dpi to setup the AFE - * @return error or SANE_STATUS_GOOD */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl646_set_fe (Genesys_Device * dev, uint8_t set, int dpi) -{ - SANE_Status status; - int i; - uint8_t val; - - DBG (DBG_proc, "gl646_set_fe (%s,%d)\n", - set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == - AFE_POWER_SAVE ? "powersave" : "huh?", dpi); - - /* Analog Device type frontend */ - if ((dev->reg[reg_0x04].value & REG04_FESET) == 0x02) - return gl646_set_ad_fe (dev, set); - - /* Wolfson type frontend */ - if ((dev->reg[reg_0x04].value & REG04_FESET) != 0x03) - { - DBG (DBG_proc, "gl646_set_fe(): unsupported frontend type %d\n", - dev->reg[reg_0x04].value & REG04_FESET); - return SANE_STATUS_UNSUPPORTED; - } - - /* per frontend function to keep code clean */ - switch (dev->model->dac_type) - { - case DAC_WOLFSON_HP3670: - case DAC_WOLFSON_HP2400: - return gl646_wm_hp3670 (dev, set, dpi); - break; - default: - DBG (DBG_proc, "gl646_set_fe(): using old method\n"); - break; - } - - /* initialize analog frontend */ - if (set == AFE_INIT) - { - DBG (DBG_proc, "gl646_set_fe(): setting DAC %u\n", - dev->model->dac_type); - sanei_genesys_init_fe (dev); - - /* reset only done on init */ - status = sanei_genesys_fe_write_data (dev, 0x04, 0x80); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_set_fe: init fe failed: %s\n", - sane_strstatus (status)); - return status; - } - - /* enable GPIO for some models */ - if (dev->model->ccd_type == CCD_HP2300) - { - val = 0x07; - status = gl646_gpio_output_enable (dev->dn, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_set_fe: failed to enable GPIO: %s\n", - sane_strstatus (status)); - return status; - } - } - return status; - } - - /* set fontend to power saving mode */ - if (set == AFE_POWER_SAVE) - { - status = sanei_genesys_fe_write_data (dev, 0x01, 0x02); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_set_fe: writing data failed: %s\n", - sane_strstatus (status)); - } - return status; - } - - /* here starts AFE_SET */ - /* TODO : base this test on cfg reg3 or a CCD family flag to be created */ - /* if (dev->model->ccd_type != CCD_HP2300 - && dev->model->ccd_type != CCD_HP3670 - && dev->model->ccd_type != CCD_HP2400) */ - { - status = sanei_genesys_fe_write_data (dev, 0x00, dev->frontend.reg[0]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_set_fe: writing reg0 failed: %s\n", - sane_strstatus (status)); - return status; - } - status = sanei_genesys_fe_write_data (dev, 0x02, dev->frontend.reg[2]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_set_fe: writing reg2 failed: %s\n", - sane_strstatus (status)); - return status; - } - } - - /* start with reg3 */ - status = sanei_genesys_fe_write_data (dev, 0x03, dev->frontend.reg[3]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_set_fe: writing reg3 failed: %s\n", - sane_strstatus (status)); - return status; - } - - switch (dev->model->ccd_type) - { - default: - for (i = 0; i < 3; i++) - { - status = - sanei_genesys_fe_write_data (dev, 0x24 + i, - dev->frontend.sign[i]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_set_fe: writing sign[%d] failed: %s\n", - i, sane_strstatus (status)); - return status; - } - - status = - sanei_genesys_fe_write_data (dev, 0x28 + i, - dev->frontend.gain[i]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_set_fe: writing gain[%d] failed: %s\n", - i, sane_strstatus (status)); - return status; - } - - status = - sanei_genesys_fe_write_data (dev, 0x20 + i, - dev->frontend.offset[i]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_set_fe: writing offset[%d] failed: %s\n", i, - sane_strstatus (status)); - return status; - } - } - break; - /* just can't have it to work .... - case CCD_HP2300: - case CCD_HP2400: - case CCD_HP3670: - - status = - sanei_genesys_fe_write_data (dev, 0x23, dev->frontend.offset[1]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_set_fe: writing offset[1] failed: %s\n", - sane_strstatus (status)); - return status; - } - status = sanei_genesys_fe_write_data (dev, 0x28, dev->frontend.gain[1]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_set_fe: writing gain[1] failed: %s\n", - sane_strstatus (status)); - return status; - } - break; */ - } - - /* end with reg1 */ - status = sanei_genesys_fe_write_data (dev, 0x01, dev->frontend.reg[1]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_set_fe: writing reg1 failed: %s\n", - sane_strstatus (status)); - return status; - } - - - DBG (DBG_proc, "gl646_set_fe: end\n"); - - return SANE_STATUS_GOOD; -} - -/** Set values of analog frontend - * this this the public interface, the gl646 as to use one more - * parameter to work effectively, hence the redirection - * @param dev device to set - * @param set action to execute - * @return error or SANE_STATUS_GOOD */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl646_public_set_fe (Genesys_Device * dev, uint8_t set) -{ - return gl646_set_fe (dev, set, dev->settings.yres); -} - -static void -gl646_set_motor_power (Genesys_Register_Set * regs, SANE_Bool set) -{ - if (set) - { - sanei_genesys_set_reg_from_set (regs, 0x02, - sanei_genesys_read_reg_from_set (regs, - 0x02) | - REG02_MTRPWR); - } - else - { - sanei_genesys_set_reg_from_set (regs, 0x02, - sanei_genesys_read_reg_from_set (regs, - 0x02) & - ~REG02_MTRPWR); - } -} - -static void -gl646_set_lamp_power (Genesys_Device * dev, - Genesys_Register_Set * regs, SANE_Bool set) -{ - if (dev) - { - if (set) - { - sanei_genesys_set_reg_from_set (regs, 0x03, - sanei_genesys_read_reg_from_set - (regs, 0x03) | REG03_LAMPPWR); - } - else - { - sanei_genesys_set_reg_from_set (regs, 0x03, - sanei_genesys_read_reg_from_set - (regs, 0x03) & ~REG03_LAMPPWR); - } - } -} - -/** - * enters or leaves power saving mode - * limited to AFE for now. - * @param dev scanner's device - * @param enable SANE_TRUE to enable power saving, SANE_FALSE to leave it - * @return allways SANE_STATUS_GOOD - */ -GENESYS_STATIC -SANE_Status -gl646_save_power (Genesys_Device * dev, SANE_Bool enable) -{ - - DBGSTART; - DBG (DBG_info, "gl646_save_power: enable = %d\n", enable); - - if (enable) - { - /* gl646_set_fe (dev, AFE_POWER_SAVE); */ - } - else - { - gl646_set_fe (dev, AFE_INIT, 0); - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl646_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set local_reg[6]; - int rate, exposure_time, tgtime, time; - - DBG (DBG_proc, "gl646_set_powersaving (delay = %d)\n", delay); - - local_reg[0].address = 0x01; - local_reg[0].value = sanei_genesys_read_reg_from_set (dev->reg, 0x01); /* disable fastmode */ - - local_reg[1].address = 0x03; - local_reg[1].value = sanei_genesys_read_reg_from_set (dev->reg, 0x03); /* Lamp power control */ - - local_reg[2].address = 0x05; - local_reg[2].value = sanei_genesys_read_reg_from_set (dev->reg, 0x05) & ~REG05_BASESEL; /* 24 clocks/pixel */ - - local_reg[3].address = 0x38; /* line period low */ - local_reg[3].value = 0x00; - - local_reg[4].address = 0x39; /* line period high */ - local_reg[4].value = 0x00; - - local_reg[5].address = 0x6c; /* period times for LPeriod, expR,expG,expB, Z1MODE, Z2MODE */ - local_reg[5].value = 0x00; - - if (!delay) - local_reg[1].value = local_reg[1].value & 0xf0; /* disable lampdog and set lamptime = 0 */ - else if (delay < 20) - local_reg[1].value = (local_reg[1].value & 0xf0) | 0x09; /* enable lampdog and set lamptime = 1 */ - else - local_reg[1].value = (local_reg[1].value & 0xf0) | 0x0f; /* enable lampdog and set lamptime = 7 */ - - time = delay * 1000 * 60; /* -> msec */ - exposure_time = - (uint32_t) (time * 32000.0 / - (24.0 * 64.0 * (local_reg[1].value & REG03_LAMPTIM) * - 1024.0) + 0.5); - /* 32000 = system clock, 24 = clocks per pixel */ - rate = (exposure_time + 65536) / 65536; - if (rate > 4) - { - rate = 8; - tgtime = 3; - } - else if (rate > 2) - { - rate = 4; - tgtime = 2; - } - else if (rate > 1) - { - rate = 2; - tgtime = 1; - } - else - { - rate = 1; - tgtime = 0; - } - - local_reg[5].value |= tgtime << 6; - exposure_time /= rate; - - if (exposure_time > 65535) - exposure_time = 65535; - - local_reg[3].value = exposure_time / 256; /* highbyte */ - local_reg[4].value = exposure_time & 255; /* lowbyte */ - - status = gl646_bulk_write_register (dev, local_reg, - sizeof (local_reg) / - sizeof (local_reg[0])); - if (status != SANE_STATUS_GOOD) - DBG (DBG_error, - "gl646_set_powersaving: Failed to bulk write registers: %s\n", - sane_strstatus (status)); - - DBG (DBG_proc, "gl646_set_powersaving: end\n"); - return status; -} - - -/** - * loads document into scanner - * currently only used by XP200 - * bit2 (0x04) of gpio is paper event (document in/out) on XP200 - * HOMESNR is set if no document in front of sensor, the sequence of events is - * paper event -> document is in the sheet feeder - * HOMESNR becomes 0 -> document reach sensor - * HOMESNR becomes 1 ->document left sensor - * paper event -> document is out - */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl646_load_document (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set regs[11]; - unsigned int used, vfinal, count; - uint16_t slope_table[255]; - uint8_t val; - - DBG (DBG_proc, "gl646_load_document: start\n"); - - /* no need to load document is flatbed scanner */ - if (dev->model->is_sheetfed == SANE_FALSE) - { - DBG (DBG_proc, "gl646_load_document: nothing to load\n"); - DBG (DBG_proc, "gl646_load_document: end\n"); - return SANE_STATUS_GOOD; - } - - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_load_document: failed to read status: %s\n", - sane_strstatus (status)); - return status; - } - - /* HOMSNR is set if a document is inserted */ - if ((val & REG41_HOMESNR)) - { - /* if no document, waits for a paper event to start loading */ - /* with a 60 seconde minutes timeout */ - count = 0; - do - { - status = gl646_gpio_read (dev->dn, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_load_document: failed to read paper sensor %s\n", - sane_strstatus (status)); - return status; - } - DBG (DBG_info, "gl646_load_document: GPIO=0x%02x\n", val); - if ((val & 0x04) != 0x04) - { - DBG (DBG_warn, "gl646_load_document: no paper detected\n"); - } - usleep (200000UL); /* sleep 200 ms */ - count++; - } - while (((val & 0x04) != 0x04) && (count < 300)); /* 1 min time out */ - if (count == 300) - { - DBG (DBG_error, - "gl646_load_document: timeout waiting for document\n"); - return SANE_STATUS_NO_DOCS; - } - } - - /* set up to fast move before scan then move until document is detected */ - regs[0].address = 0x01; - regs[0].value = 0x90; - - /* AGOME, 2 slopes motor moving */ - regs[1].address = 0x02; - regs[1].value = 0x79; - - /* motor feeding steps to 0 */ - regs[2].address = 0x3d; - regs[2].value = 0; - regs[3].address = 0x3e; - regs[3].value = 0; - regs[4].address = 0x3f; - regs[4].value = 0; - - /* 50 fast moving steps */ - regs[5].address = 0x6b; - regs[5].value = 50; - - /* set GPO */ - regs[6].address = 0x66; - regs[6].value = 0x30; - - /* stesp NO */ - regs[7].address = 0x21; - regs[7].value = 4; - regs[8].address = 0x22; - regs[8].value = 1; - regs[9].address = 0x23; - regs[9].value = 1; - regs[10].address = 0x24; - regs[10].value = 4; - - /* generate slope table 2 */ - sanei_genesys_generate_slope_table (slope_table, - 50, - 51, - 2400, - 6000, 2400, 50, 0.25, &used, &vfinal); -/* document loading: - * send regs - * start motor - * wait e1 status to become e0 - */ - status = gl646_send_slope_table (dev, 1, slope_table, 50); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_load_document: failed to send slope table 1: %s\n", - sane_strstatus (status)); - return status; - } - status = - gl646_bulk_write_register (dev, regs, sizeof (regs) / sizeof (regs[0])); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_load_document: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl646_start_motor (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_load_document: failed to start motor: %s\n", - sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - - count = 0; - do - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_load_document: failed to read status: %s\n", - sane_strstatus (status)); - return status; - } - usleep (200000UL); /* sleep 200 ms */ - count++; - } - while ((val & REG41_MOTMFLG) && (count < 300)); - if (count == 300) - { - DBG (DBG_error, "gl646_load_document: can't load document\n"); - return SANE_STATUS_JAMMED; - } - - /* when loading OK, document is here */ - dev->document = SANE_TRUE; - - /* set up to idle */ - regs[1].value = 0x71; - regs[4].value = 1; - regs[5].value = 8; - status = - gl646_bulk_write_register (dev, regs, sizeof (regs) / sizeof (regs[0])); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_load_document: failed to bulk write idle registers: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_proc, "gl646_load_document: end\n"); - - return status; -} - -/** - * detects end of document and adjust current scan - * to take it into account - * used by sheetfed scanners - */ -static SANE_Status -gl646_detect_document_end (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val, gpio; - unsigned int bytes_left, lines; - - DBG (DBG_proc, "gl646_detect_document_end: start\n"); - - /* test for document presence */ - RIE (sanei_genesys_get_status (dev, &val)); - if (DBG_LEVEL > DBG_info) - { - print_status (val); - } - status = gl646_gpio_read (dev->dn, &gpio); - DBG (DBG_info, "gl646_detect_document_end: GPIO=0x%02x\n", gpio); - - /* detect document event. There one event when the document go in, - * then another when it leaves */ - if ((dev->document == SANE_TRUE) && (gpio & 0x04) - && (dev->total_bytes_read > 0)) - { - DBG (DBG_info, "gl646_detect_document_end: no more document\n"); - dev->document = SANE_FALSE; - - /* adjust number of bytes to read: - * total_bytes_to_read is the number of byte to send to frontend - * total_bytes_read is the number of bytes sent to frontend - * read_bytes_left is the number of bytes to read from the scanner - */ - DBG (DBG_io, "gl646_detect_document_end: total_bytes_to_read=%lu\n", - (u_long) dev->total_bytes_to_read); - DBG (DBG_io, "gl646_detect_document_end: total_bytes_read =%lu\n", - (u_long) dev->total_bytes_read); - DBG (DBG_io, "gl646_detect_document_end: read_bytes_left =%lu\n", - (u_long) dev->read_bytes_left); - - /* amount of data available from scanner is what to scan */ - status = sanei_genesys_read_valid_words (dev, &bytes_left); - - /* we add the number of lines needed to read the last part of the document in */ - lines = - (SANE_UNFIX (dev->model->y_offset) * dev->current_setup.yres) / - MM_PER_INCH; - DBG (DBG_io, "gl646_detect_document_end: adding %d line to flush\n", - lines); - bytes_left += lines * dev->wpl; - if (dev->current_setup.depth > 8) - { - bytes_left = 2 * bytes_left; - } - if (dev->current_setup.channels > 1) - { - bytes_left = 3 * bytes_left; - } - if (bytes_left < dev->read_bytes_left) - { - dev->total_bytes_to_read = dev->total_bytes_read + bytes_left; - dev->read_bytes_left = bytes_left; - } - DBG (DBG_io, "gl646_detect_document_end: total_bytes_to_read=%lu\n", - (u_long) dev->total_bytes_to_read); - DBG (DBG_io, "gl646_detect_document_end: total_bytes_read =%lu\n", - (u_long) dev->total_bytes_read); - DBG (DBG_io, "gl646_detect_document_end: read_bytes_left =%lu\n", - (u_long) dev->read_bytes_left); - } - DBG (DBG_proc, "gl646_detect_document_end: end\n"); - - return status; -} - -/** - * eject document from the feeder - * currently only used by XP200 - * TODO we currently rely on AGOHOME not being set for sheetfed scanners, - * maybe check this flag in eject to let the document being eject automaticaly - */ -static SANE_Status -gl646_eject_document (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set regs[11]; - unsigned int used, vfinal, count; - uint16_t slope_table[255]; - uint8_t gpio, state; - - DBG (DBG_proc, "gl646_eject_document: start\n"); - - /* at the end there will be noe more document */ - dev->document = SANE_FALSE; - - /* first check for document event */ - status = gl646_gpio_read (dev->dn, &gpio); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_eject_document: failed to read paper sensor %s\n", - sane_strstatus (status)); - return status; - } - DBG (DBG_info, "gl646_eject_document: GPIO=0x%02x\n", gpio); - - /* test status : paper event + HOMESNR -> no more doc ? */ - status = sanei_genesys_get_status (dev, &state); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_eject_document: failed to read status: %s\n", - sane_strstatus (status)); - return status; - } - DBG (DBG_info, "gl646_eject_document: state=0x%02x\n", state); - if (DBG_LEVEL > DBG_info) - { - print_status (state); - } - - /* HOMSNR=0 if no document inserted */ - if ((state & REG41_HOMESNR) != 0) - { - dev->document = SANE_FALSE; - DBG (DBG_info, "gl646_eject_document: no more document to eject\n"); - DBG (DBG_proc, "gl646_eject_document: end\n"); - return status; - } - - /* there is a document inserted, eject it */ - status = sanei_genesys_write_register (dev, 0x01, 0xb0); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_eject_document: failed to write register: %s\n", - sane_strstatus (status)); - return status; - } - - /* wait for motor to stop */ - do - { - usleep (200000UL); - status = sanei_genesys_get_status (dev, &state); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_eject_document: failed to read status: %s\n", - sane_strstatus (status)); - return status; - } - } - while (state & REG41_MOTMFLG); - - /* set up to fast move before scan then move until document is detected */ - regs[0].address = 0x01; - regs[0].value = 0xb0; - - /* AGOME, 2 slopes motor moving , eject 'backward' */ - regs[1].address = 0x02; - regs[1].value = 0x5d; - - /* motor feeding steps to 119880 */ - regs[2].address = 0x3d; - regs[2].value = 1; - regs[3].address = 0x3e; - regs[3].value = 0xd4; - regs[4].address = 0x3f; - regs[4].value = 0x48; - - /* 60 fast moving steps */ - regs[5].address = 0x6b; - regs[5].value = 60; - - /* set GPO */ - regs[6].address = 0x66; - regs[6].value = 0x30; - - /* stesp NO */ - regs[7].address = 0x21; - regs[7].value = 4; - regs[8].address = 0x22; - regs[8].value = 1; - regs[9].address = 0x23; - regs[9].value = 1; - regs[10].address = 0x24; - regs[10].value = 4; - - /* generate slope table 2 */ - sanei_genesys_generate_slope_table (slope_table, - 60, - 61, - 1600, - 10000, 1600, 60, 0.25, &used, &vfinal); -/* document eject: - * send regs - * start motor - * wait c1 status to become c8 : HOMESNR and ~MOTFLAG - */ - status = gl646_send_slope_table (dev, 1, slope_table, 60); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_eject_document: failed to send slope table 1: %s\n", - sane_strstatus (status)); - return status; - } - status = - gl646_bulk_write_register (dev, regs, sizeof (regs) / sizeof (regs[0])); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_eject_document: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl646_start_motor (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_eject_document: failed to start motor: %s\n", - sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - - /* loop until paper sensor tells paper is out, and till motor is running */ - /* use a 30 timeout */ - count = 0; - do - { - status = sanei_genesys_get_status (dev, &state); - print_status (state); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_eject_document: failed to read status: %s\n", - sane_strstatus (status)); - return status; - } - usleep (200000UL); /* sleep 200 ms */ - count++; - } - while (((state & REG41_HOMESNR) == 0) && (count < 150)); - - /* read GPIO on exit */ - status = gl646_gpio_read (dev->dn, &gpio); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_eject_document: failed to read paper sensor %s\n", - sane_strstatus (status)); - return status; - } - DBG (DBG_info, "gl646_eject_document: GPIO=0x%02x\n", gpio); - - DBG (DBG_proc, "gl646_eject_document: end\n"); - return status; -} - -/* Send the low-level scan command */ -static SANE_Status -gl646_begin_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool start_motor) -{ - SANE_Status status; - Genesys_Register_Set local_reg[3]; - - DBG (DBG_proc, "gl646_begin_scan\n"); - - local_reg[0].address = 0x03; - local_reg[0].value = sanei_genesys_read_reg_from_set (reg, 0x03); - - local_reg[1].address = 0x01; - local_reg[1].value = sanei_genesys_read_reg_from_set (reg, 0x01) | REG01_SCAN; /* set scan bit */ - - local_reg[2].address = 0x0f; - if (start_motor) - local_reg[2].value = 0x01; - else - local_reg[2].value = 0x00; /* do not start motor yet */ - - status = gl646_bulk_write_register (dev, local_reg, - sizeof (local_reg) / - sizeof (local_reg[0])); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_begin_scan: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_proc, "gl646_begin_scan: end\n"); - - return status; -} - - -/* Send the stop scan command */ -static SANE_Status -end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop, SANE_Bool eject) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i = 0; - uint8_t val, scanfsh = 0; - - DBG (DBG_proc, "end_scan (check_stop = %d, eject = %d)\n", check_stop, - eject); - - /* we need to compute scanfsh before cancelling scan */ - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "end_scan: failed to read register: %s\n", - sane_strstatus (status)); - return status; - } - if (val & REG41_SCANFSH) - scanfsh = 1; - if (DBG_LEVEL > DBG_io2) - { - print_status (val); - } - } - - /* ends scan */ - val = sanei_genesys_read_reg_from_set (reg, 0x01); - val &= ~REG01_SCAN; - sanei_genesys_set_reg_from_set (reg, 0x01, val); - status = sanei_genesys_write_register (dev, 0x01, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "end_scan: failed to write register 01: %s\n", - sane_strstatus (status)); - return status; - } - - /* for sheetfed scanners, we may have to eject document */ - if (dev->model->is_sheetfed == SANE_TRUE) - { - if (eject == SANE_TRUE && dev->document == SANE_TRUE) - { - status = gl646_eject_document (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "end_scan: failed to eject document\n"); - return status; - } - } - if (check_stop) - { - for (i = 0; i < 30; i++) /* do not wait longer than wait 3 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "end_scan: failed to read register: %s\n", - sane_strstatus (status)); - return status; - } - if (val & REG41_SCANFSH) - scanfsh = 1; - if (DBG_LEVEL > DBG_io2) - { - print_status (val); - } - - if (!(val & REG41_MOTMFLG) && (val & REG41_FEEDFSH) && scanfsh) - { - DBG (DBG_proc, "end_scan: scanfeed finished\n"); - break; /* leave for loop */ - } - - usleep (10000UL); /* sleep 100 ms */ - } - } - } - else /* flat bed scanners */ - { - if (check_stop) - { - for (i = 0; i < 300; i++) /* do not wait longer than wait 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "end_scan: failed to read register: %s\n", - sane_strstatus (status)); - return status; - } - if (val & REG41_SCANFSH) - scanfsh = 1; - if (DBG_LEVEL > DBG_io) - { - print_status (val); - } - - if (!(val & REG41_MOTMFLG) && (val & REG41_FEEDFSH) && scanfsh) - { - DBG (DBG_proc, "end_scan: scanfeed finished\n"); - break; /* leave while loop */ - } - - if ((!(val & REG41_MOTMFLG)) && (val & REG41_HOMESNR)) - { - DBG (DBG_proc, "end_scan: head at home\n"); - break; /* leave while loop */ - } - - usleep (10000UL); /* sleep 100 ms */ - } - } - } - - DBG (DBG_proc, "end_scan: end (i=%u)\n", i); - - return status; -} - -/* Send the stop scan command */ -static SANE_Status -gl646_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop) -{ - return end_scan (dev, reg, check_stop, SANE_FALSE); -} - -/** - * parks head - * @param dev scanner's device - * @param wait_until_home true if the function waits until head parked - */ -GENESYS_STATIC -SANE_Status -gl646_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) -{ - SANE_Status status; - Genesys_Settings settings; - uint8_t val; - int i; - int loop = 0; - - DBG (DBG_proc, "gl646_slow_back_home: start , wait_until_home = %d\n", - wait_until_home); - - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL > DBG_io) - { - print_status (val); - } - - dev->scanhead_position_in_steps = 0; - - if (val & REG41_HOMESNR) /* is sensor at home? */ - { - DBG (DBG_info, "gl646_slow_back_home: end since already at home\n"); - return SANE_STATUS_GOOD; - } - - /* stop motor if needed */ - if (val & REG41_MOTMFLG) - { - status = gl646_stop_motor (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_slow_back_home: failed to stop motor: %s\n", - sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - usleep (200000UL); - } - - /* when scanhead is moving then wait until scanhead stops or timeout */ - DBG (DBG_info, "gl646_slow_back_home: ensuring that motor is off\n"); - val = REG41_MOTMFLG; - for (i = 400; i > 0 && (val & REG41_MOTMFLG); i--) /* do not wait longer than 40 seconds, count down to get i = 0 when busy */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_slow_back_home: Failed to read home sensor & motor status: %s\n", - sane_strstatus (status)); - return status; - } - if (((val & (REG41_MOTMFLG | REG41_HOMESNR)) == REG41_HOMESNR)) /* at home and motor is off */ - { - DBG (DBG_info, - "gl646_slow_back_home: already at home and not moving\n"); - return SANE_STATUS_GOOD; - } - usleep (100 * 1000); /* sleep 100 ms (todo: fixed to really sleep 100 ms) */ - } - - if (!i) /* the loop counted down to 0, scanner still is busy */ - { - DBG (DBG_error, - "gl646_slow_back_home: motor is still on: device busy\n"); - return SANE_STATUS_DEVICE_BUSY; - } - - /* setup for a backward scan of 65535 steps, with no actual data reading */ - settings.scan_method = SCAN_METHOD_FLATBED; - settings.scan_mode = SCAN_MODE_COLOR; - settings.xres = get_lowest_resolution (dev->model->ccd_type, SANE_FALSE); - settings.yres = settings.xres; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = 600; - settings.lines = 1; - settings.depth = 8; - settings.color_filter = 0; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.exposure_time = 0; - settings.dynamic_lineart = SANE_FALSE; - - status = setup_for_scan (dev, dev->reg, settings, SANE_TRUE, SANE_TRUE, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to setup for scan: %s\n", __func__, - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* backward , no actual data scanned TODO more setup flags to avoid this register manipulations ? */ - dev->reg[reg_0x02].value |= REG02_MTRREV; - dev->reg[reg_0x01].value &= ~REG01_SCAN; - gl646_set_triple_reg (dev->reg, REG_FEEDL, 65535); - - /* sets frontend */ - status = gl646_set_fe (dev, AFE_SET, settings.xres); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to set frontend: %s\n", __func__, - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* write scan registers */ - status = gl646_bulk_write_register (dev, dev->reg, - sizeof (dev->reg) / - sizeof (dev->reg[0])); - if (status != SANE_STATUS_GOOD) - DBG (DBG_error, - "gl646_slow_back_home: failed to bulk write registers: %s\n", - sane_strstatus (status)); - - /* registers are restored to an iddl state, give up if no head to park */ - if (dev->model->is_sheetfed == SANE_TRUE) - { - DBG (DBG_proc, "gl646_slow_back_home: end \n"); - return SANE_STATUS_GOOD; - } - - /* starts scan */ - status = gl646_begin_scan (dev, dev->reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_slow_back_home: failed to begin scan: \n"); - return status; - } - - /* loop until head parked */ - if (wait_until_home) - { - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_slow_back_home: Failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - - if (val & 0x08) /* home sensor */ - { - DBG (DBG_info, "gl646_slow_back_home: reached home position\n"); - DBG (DBG_proc, "gl646_slow_back_home: end\n"); - usleep (500000); /* sleep 500 ms before returning */ - return SANE_STATUS_GOOD; - } - usleep (100000); /* sleep 100 ms */ - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl646_stop_motor (dev); - end_scan (dev, dev->reg, SANE_TRUE, SANE_FALSE); - DBG (DBG_error, - "gl646_slow_back_home: timeout while waiting for scanhead to go home\n"); - return SANE_STATUS_IO_ERROR; - } - - - DBG (DBG_info, "gl646_slow_back_home: scanhead is still moving\n"); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * Automatically set top-left edge of the scan area by scanning an - * area at 300 dpi from very top of scanner - * @param dev device stucture describing the scanner - * @return SANE_STATUS_GOOD in cas of success, else failure code - */ -static SANE_Status -gl646_search_start_position (Genesys_Device * dev) -{ - SANE_Status status; - unsigned char *data = NULL; - Genesys_Settings settings; - unsigned int resolution, x, y; - - DBG (DBG_proc, "gl646_search_start_position: start\n"); - - /* we scan at 300 dpi */ - resolution = get_closest_resolution (dev->model->ccd_type, 300, SANE_FALSE); - - /* fill settings for a gray level scan */ - settings.scan_method = SCAN_METHOD_FLATBED; - settings.scan_mode = SCAN_MODE_GRAY; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = 600; - settings.lines = dev->model->search_lines; - settings.depth = 8; - settings.color_filter = 0; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.exposure_time = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* scan the desired area */ - status = - simple_scan (dev, settings, SANE_TRUE, SANE_TRUE, SANE_FALSE, &data); - - /* process data if scan is OK */ - if (status == SANE_STATUS_GOOD) - { - /* handle stagger case : reorder gray data and thus loose some lines */ - if (dev->current_setup.stagger > 0) - { - DBG (DBG_proc, "gl646_search_start_position: 'un-staggering'\n"); - for (y = 0; y < settings.lines - dev->current_setup.stagger; y++) - { - /* one point out of 2 is 'unaligned' */ - for (x = 0; x < settings.pixels; x += 2) - { - data[y * settings.pixels + x] = - data[(y + dev->current_setup.stagger) * settings.pixels + - x]; - } - } - /* correct line number */ - settings.lines -= dev->current_setup.stagger; - } - if (DBG_LEVEL >= DBG_data) - { - sanei_genesys_write_pnm_file ("search_position.pnm", - data, - settings.depth, - 1, settings.pixels, settings.lines); - } - } - else - { - DBG (DBG_error, "gl646_search_start_position: simple_scan failed\n"); - free (data); - DBGCOMPLETED; - return status; - } - - /* now search reference points on the data */ - status = - sanei_genesys_search_reference_point (dev, data, - dev->sensor.CCD_start_xoffset, - resolution, settings.pixels, - settings.lines); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_search_start_position: failed to set search reference point: %s\n", - sane_strstatus (status)); - } - - free (data); - DBGCOMPLETED; - return status; -} - -/** - * internally overriden during effective calibration - * sets up register for coarse gain calibration - */ -static SANE_Status -gl646_init_regs_for_coarse_calibration (Genesys_Device * dev) -{ - DBG (DBG_proc, "gl646_init_regs_for_coarse_calibration\n"); - DBG (DBG_proc, "gl646_init_register_for_coarse_calibration: end\n"); - - /* to make compilers happy ... */ - if (!dev) - { - return SANE_STATUS_INVAL; - } - - return SANE_STATUS_GOOD; -} - - -/** - * init registers for shading calibration - * we assume that scanner's head is on an area suiting shading calibration. - * We scan a full scan width area by the shading line number for the device - * at either at full sensor's resolution or half depending upon half_ccd - * @param dev scanner's device - * @return SANE_STATUS_GOOD if success, else error code - */ -static SANE_Status -gl646_init_regs_for_shading (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Settings settings; - /* 1: no half_ccd, 2: use half number of pixels */ - int half_ccd = 1; - int cksel = 1; - - DBG (DBG_proc, "gl646_init_register_for_shading: start\n"); - - /* when shading all (full width) line, we must adapt to half_ccd case */ - if (dev->model->flags & GENESYS_FLAG_HALF_CCD_MODE) - { - /* walk the master mode list to find if half_ccd */ - if (is_half_ccd (dev->model->ccd_type, dev->settings.xres, SANE_TRUE) == - SANE_TRUE) - { - half_ccd = 2; - } - } - - /* fill settings for scan : always a color scan */ - settings.scan_method = dev->settings.scan_method; - settings.scan_mode = dev->settings.scan_mode; - if (dev->model->is_cis == SANE_FALSE) - { - settings.scan_mode = SCAN_MODE_COLOR; - } - settings.xres = dev->sensor.optical_res / half_ccd; - cksel = get_cksel (dev->model->ccd_type, dev->settings.xres, SANE_TRUE); - settings.xres = settings.xres / cksel; - settings.yres = settings.xres; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = - (dev->sensor.sensor_pixels * settings.xres) / dev->sensor.optical_res; - dev->calib_lines = dev->model->shading_lines; - settings.lines = dev->calib_lines * (3 - half_ccd); - settings.depth = 16; - settings.color_filter = dev->settings.color_filter; - - settings.disable_interpolation = dev->settings.disable_interpolation; - settings.threshold = dev->settings.threshold; - settings.exposure_time = dev->settings.exposure_time; - settings.dynamic_lineart = SANE_FALSE; - - /* keep account of the movement for final scan move */ - dev->scanhead_position_in_steps += settings.lines; - - /* we don't want top offset, but we need right margin to be the same - * than the one for the final scan */ - status = setup_for_scan (dev, dev->reg, settings, SANE_TRUE, SANE_FALSE, SANE_FALSE); - - /* used when sending shading calibration data */ - dev->calib_pixels = settings.pixels; - dev->calib_channels = dev->current_setup.channels; - if (dev->model->is_cis == SANE_FALSE) - { - dev->calib_channels = 3; - } - - /* no shading */ - dev->reg[reg_0x01].value &= ~REG01_DVDSET; - dev->reg[reg_0x02].value |= REG02_ACDCDIS; /* ease backtracking */ - dev->reg[reg_0x02].value &= ~(REG02_FASTFED | REG02_AGOHOME); - dev->reg[reg_0x05].value &= ~REG05_GMMENB; - gl646_set_motor_power (dev->reg, SANE_FALSE); - - /* TODO another flag to setup regs ? */ - /* enforce needed LINCNT, getting rid of extra lines for color reordering */ - if (dev->model->is_cis == SANE_FALSE) - { - gl646_set_triple_reg (dev->reg, REG_LINCNT, dev->calib_lines); - } - else - { - gl646_set_triple_reg (dev->reg, REG_LINCNT, dev->calib_lines * 3); - } - - /* copy reg to calib_reg */ - memcpy (dev->calib_reg, dev->reg, - GENESYS_GL646_MAX_REGS * sizeof (Genesys_Register_Set)); - - /* this is an hack to make calibration cache working .... */ - /* if we don't do this, cache will be identified at the shading calibration - * dpi which is different from calibration one */ - dev->current_setup.xres = dev->settings.xres; - DBG (DBG_info, - "gl646_init_register_for_shading:\n\tdev->settings.xres=%d\n\tdev->settings.yres=%d\n", - dev->settings.xres, dev->settings.yres); - - DBG (DBG_proc, "gl646_init_register_for_shading: end\n"); - return status; -} - - -/** - * set up registers for the actual scan. The scan's parameters are given - * through the device settings. It allocates the scan buffers. - */ -static SANE_Status -gl646_init_regs_for_scan (Genesys_Device * dev) -{ - SANE_Status status; - - DBGSTART; - - /* park head after calibration if needed */ - if (dev->scanhead_position_in_steps > 0 - && dev->settings.scan_method == SCAN_METHOD_FLATBED) - { - RIE(gl646_slow_back_home (dev, SANE_TRUE)); - dev->scanhead_position_in_steps = 0; - } - - RIE(setup_for_scan (dev, dev->reg, dev->settings, SANE_FALSE, SANE_TRUE, SANE_TRUE)); - - /* gamma is only enabled at final scan time */ - if (dev->settings.depth < 16) - dev->reg[reg_0x05].value |= REG05_GMMENB; - - DBGCOMPLETED; - return status; -} - -/** - * set up registers for the actual scan. The scan's parameters are given - * through the device settings. It allocates the scan buffers. - * @param dev scanner's device - * @param regs registers to set up - * @param settings settings of scan - * @param split SANE_TRUE if move to scan area is split from scan, SANE_FALSE is - * scan first moves to area - * @param xcorrection take x geometry correction into account (fixed and detected offsets) - * @param ycorrection take y geometry correction into account - */ -GENESYS_STATIC SANE_Status -setup_for_scan (Genesys_Device * dev, - Genesys_Register_Set *regs, - Genesys_Settings settings, - SANE_Bool split, - SANE_Bool xcorrection, - SANE_Bool ycorrection) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Bool color; - SANE_Int depth; - int channels; - uint16_t startx = 0, endx, pixels; - int move = 0; - - DBGSTART; - DBG (DBG_info, - "%s settings:\nResolution: %ux%uDPI\n" - "Lines : %u\nPixels : %u\nStartpos : %.3f/%.3f\nScan mode : %d\nScan method: %s\n\n", - __func__, - settings.xres, settings.yres, settings.lines, settings.pixels, - settings.tl_x, settings.tl_y, settings.scan_mode, - settings.scan_method == SCAN_METHOD_FLATBED ? "flatbed" : "XPA"); - - if (settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - { - channels = 3; - color = SANE_TRUE; - } - else - { - channels = 1; - color = SANE_FALSE; - } - - depth=settings.depth; - if (settings.scan_mode == SCAN_MODE_LINEART) - { - if (settings.dynamic_lineart == SANE_TRUE) - { - depth = 8; - } - else - { - /* XXX STEF XXX : why does the common layer never send depth=1 ? */ - depth = 1; - } - } - - /* compute distance to move */ - move = 0; - /* XXX STEF XXX MD5345 -> optical_ydpi, other base_ydpi => half/full step ? */ - if (split == SANE_FALSE) - { - if (dev->model->is_sheetfed == SANE_FALSE) - { - if (ycorrection == SANE_TRUE) - { - move = - (SANE_UNFIX (dev->model->y_offset) * - dev->motor.optical_ydpi) / MM_PER_INCH; - } - - /* add tl_y to base movement */ - move += (settings.tl_y * dev->motor.optical_ydpi) / MM_PER_INCH; - - } - else - { - move += (settings.tl_y * dev->motor.optical_ydpi) / MM_PER_INCH; - } - - DBG (DBG_info, "%s: move=%d steps\n", __func__, move); - - /* security check */ - if (move < 0) - { - DBG (DBG_error, "%s: overriding negative move value %d\n", __func__, move); - move = 0; - } - } - DBG (DBG_info, "%s: move=%d steps\n", __func__, move); - - /* pixels are allways given at full CCD optical resolution */ - /* use detected left margin and fixed value */ - if (xcorrection == SANE_TRUE) - { - if (dev->sensor.CCD_start_xoffset > 0) - startx = dev->sensor.CCD_start_xoffset; - else - startx = dev->sensor.dummy_pixel; - if (settings.scan_method == SCAN_METHOD_FLATBED) - { - startx += - ((SANE_UNFIX (dev->model->x_offset) * dev->sensor.optical_res) / - MM_PER_INCH); - } - else - { - startx += - ((SANE_UNFIX (dev->model->x_offset_ta) * - dev->sensor.optical_res) / MM_PER_INCH); - } - } - else - { - /* startx cannot be below dummy pixel value */ - startx = dev->sensor.dummy_pixel; - } - - /* add x coordinates : expressed in sensor max dpi */ - startx += (settings.tl_x * dev->sensor.optical_res) / MM_PER_INCH; - - /* stagger works with odd start cordinates */ - if (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE) - startx |= 1; - - pixels = (settings.pixels * dev->sensor.optical_res) / settings.xres; - /* special requirement for 400 dpi on 1200 dpi sensors */ - if (settings.xres == 400) - { - pixels = (pixels / 6) * 6; - } - endx = startx + pixels; - - /* TODO check for pixel width overflow */ - - /* set up correct values for scan (gamma and shading enabled) */ - status = gl646_setup_registers (dev, - regs, - settings, - dev->slope_table0, - dev->slope_table1, - settings.xres, - move, - settings.lines, - startx, endx, color, - depth); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed setup registers: %s\n", __func__, sane_strstatus (status)); - return status; - } - - /* now post-process values for register and options fine tuning */ - - /* select color filter based on settings */ - regs[reg_0x04].value &= ~REG04_FILTER; - if (channels == 1) - { - switch (settings.color_filter) - { - /* red */ - case 0: - regs[reg_0x04].value |= 0x04; - break; - /* green */ - case 1: - regs[reg_0x04].value |= 0x08; - break; - /* blue */ - case 2: - regs[reg_0x04].value |= 0x0c; - break; - default: - break; - } - } - - /* send computed slope tables */ - status = - gl646_send_slope_table (dev, 0, dev->slope_table0, - sanei_genesys_read_reg_from_set (regs, 0x21)); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to send slope table 0: %s\n", __func__, sane_strstatus (status)); - return status; - } - - status = - gl646_send_slope_table (dev, 1, dev->slope_table1, - sanei_genesys_read_reg_from_set (regs, 0x6b)); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to send slope table 1: %s\n", __func__, sane_strstatus (status)); - return status; - } - - DBGCOMPLETED; - return status; -} - -/** - * this function sen gamm table to ASIC - */ -static SANE_Status -gl646_send_gamma_table (Genesys_Device * dev) -{ - int size; - int address; - SANE_Status status; - uint8_t *gamma; - int bits; - - DBGSTART; - - /* gamma table size */ - if (dev->reg[reg_0x05].value & REG05_GMMTYPE) - { - size = 16384; - bits = 14; - } - else - { - size = 4096; - bits = 12; - } - - /* allocate temporary gamma tables: 16 bits words, 3 channels */ - gamma = (uint8_t *) malloc (size * 2 * 3); - if (gamma==NULL) - { - return SANE_STATUS_NO_MEM; - } - - RIE(sanei_genesys_generate_gamma_buffer(dev, bits, size-1, size, gamma)); - - /* table address */ - switch (dev->reg[reg_0x05].value >> 6) - { - case 0: /* 600 dpi */ - address = 0x09000; - break; - case 1: /* 1200 dpi */ - address = 0x11000; - break; - case 2: /* 2400 dpi */ - address = 0x20000; - break; - default: - free (gamma); - return SANE_STATUS_INVAL; - } - - /* send address */ - status = sanei_genesys_set_buffer_address (dev, address); - if (status != SANE_STATUS_GOOD) - { - free (gamma); - DBG (DBG_error, - "gl646_send_gamma_table: failed to set buffer address: %s\n", - sane_strstatus (status)); - return status; - } - - /* send data */ - status = gl646_bulk_write_data (dev, 0x3c, (uint8_t *) gamma, size * 2 * 3); - if (status != SANE_STATUS_GOOD) - { - free (gamma); - DBG (DBG_error, - "gl646_send_gamma_table: failed to send gamma table: %s\n", - sane_strstatus (status)); - return status; - } - free (gamma); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief this function does the led calibration. - * this function does the led calibration by scanning one line of the calibration - * area below scanner's top on white strip. The scope of this function is - * currently limited to the XP200 - */ -static SANE_Status -gl646_led_calibration (Genesys_Device * dev) -{ - int total_size; - uint8_t *line; - unsigned int i, j; - SANE_Status status = SANE_STATUS_GOOD; - int val; - unsigned int channels; - int avg[3], avga, avge; - int turn; - char fn[20]; - uint16_t expr, expg, expb; - Genesys_Settings settings; - SANE_Int resolution; - - SANE_Bool acceptable = SANE_FALSE; - - DBG (DBG_proc, "gl646_led_calibration\n"); - if (!dev->model->is_cis) - { - DBG (DBG_proc, - "gl646_led_calibration: not a cis scanner, nothing to do...\n"); - return SANE_STATUS_GOOD; - } - - /* get led calibration resolution */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) - { - resolution = - get_closest_resolution (dev->model->ccd_type, dev->sensor.optical_res, - SANE_TRUE); - settings.scan_mode = SCAN_MODE_COLOR; - channels = 3; - } - else - { - resolution = - get_closest_resolution (dev->model->ccd_type, dev->sensor.optical_res, - SANE_FALSE); - settings.scan_mode = SCAN_MODE_GRAY; - channels = 1; - } - - /* offset calibration is always done in color mode */ - settings.scan_method = SCAN_METHOD_FLATBED; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = - (dev->sensor.sensor_pixels * resolution) / dev->sensor.optical_res; - settings.lines = 1; - settings.depth = 16; - settings.color_filter = 0; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.exposure_time = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* colors * bytes_per_color * scan lines */ - total_size = settings.pixels * channels * 2 * 1; - - line = malloc (total_size); - if (!line) - { - DBG (DBG_error, "gl646_led_calibration: failed to allocate %d bytes\n", - total_size); - return SANE_STATUS_NO_MEM; - } - -/* - we try to get equal bright leds here: - - loop: - average per color - adjust exposure times - - Sensor_Master uint8_t regs_0x10_0x15[6]; - */ - - expr = (dev->sensor.regs_0x10_0x1d[0] << 8) | dev->sensor.regs_0x10_0x1d[1]; - expg = (dev->sensor.regs_0x10_0x1d[2] << 8) | dev->sensor.regs_0x10_0x1d[3]; - expb = (dev->sensor.regs_0x10_0x1d[4] << 8) | dev->sensor.regs_0x10_0x1d[5]; - - turn = 0; - - do - { - - dev->sensor.regs_0x10_0x1d[0] = (expr >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[1] = expr & 0xff; - dev->sensor.regs_0x10_0x1d[2] = (expg >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[3] = expg & 0xff; - dev->sensor.regs_0x10_0x1d[4] = (expb >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[5] = expb & 0xff; - - DBG (DBG_info, "gl646_led_calibration: starting first line reading\n"); - - status = - simple_scan (dev, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, &line); - if (status != SANE_STATUS_GOOD) - { - free(line); - DBG (DBG_error, - "gl646_led_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - snprintf (fn, 20, "led_%02d.pnm", turn); - sanei_genesys_write_pnm_file (fn, - line, - 16, channels, settings.pixels, 1); - } - - acceptable = SANE_TRUE; - - for (j = 0; j < channels; j++) - { - avg[j] = 0; - for (i = 0; i < settings.pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * settings.pixels + 1] * 256 + - line[i * 2 + j * 2 * settings.pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - avg[j] += val; - } - - avg[j] /= settings.pixels; - } - - DBG (DBG_info, "gl646_led_calibration: average: " - "%d,%d,%d\n", avg[0], avg[1], avg[2]); - - acceptable = SANE_TRUE; - - if (!acceptable) - { - avga = (avg[0] + avg[1] + avg[2]) / 3; - expr = (expr * avga) / avg[0]; - expg = (expg * avga) / avg[1]; - expb = (expb * avga) / avg[2]; - - /* keep exposure time in a working window */ - avge = (expr + expg + expb) / 3; - if (avge > 0x2000) - { - expr = (expr * 0x2000) / avge; - expg = (expg * 0x2000) / avge; - expb = (expb * 0x2000) / avge; - } - if (avge < 0x400) - { - expr = (expr * 0x400) / avge; - expg = (expg * 0x400) / avge; - expb = (expb * 0x400) / avge; - } - } - - turn++; - - } - while (!acceptable && turn < 100); - - DBG (DBG_info, - "gl646_led_calibration: acceptable exposure: 0x%04x,0x%04x,0x%04x\n", - expr, expg, expb); - - /* cleanup before return */ - free (line); - - DBGCOMPLETED; - return status; -} - -/** - * average dark pixels of a scan - */ -static int -dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, - unsigned int channels, unsigned int black) -{ - unsigned int i, j, k, average, count; - unsigned int avg[3]; - uint8_t val; - - /* computes average value on black margin */ - for (k = 0; k < channels; k++) - { - avg[k] = 0; - count = 0; - for (i = 0; i < lines; i++) - { - for (j = 0; j < black; j++) - { - val = data[i * channels * pixels + j + k]; - avg[k] += val; - count++; - } - } - if (count) - avg[k] /= count; - DBG (DBG_info, "dark_average: avg[%d] = %d\n", k, avg[k]); - } - average = 0; - for (i = 0; i < channels; i++) - average += avg[i]; - average /= channels; - DBG (DBG_info, "dark_average: average = %d\n", average); - return average; -} - - -/** @brief calibration for AD frontend devices - * we do simple scan until all black_pixels are higher than 0, - * raising offset at each turn. - */ -static SANE_Status -ad_fe_offset_calibration (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t *line; - unsigned int channels; - char title[32]; - int pass = 0; - SANE_Int resolution; - Genesys_Settings settings; - unsigned int x, y, adr, min; - unsigned int bottom, black_pixels; - - DBG (DBG_proc, "ad_fe_offset_calibration: start\n"); - resolution = - get_closest_resolution (dev->model->ccd_type, dev->sensor.optical_res, - SANE_TRUE); - channels = 3; - black_pixels = - (dev->sensor.black_pixels * resolution) / dev->sensor.optical_res; - DBG (DBG_io2, "ad_fe_offset_calibration: black_pixels=%d\n", black_pixels); - - settings.scan_method = SCAN_METHOD_FLATBED; - settings.scan_mode = SCAN_MODE_COLOR; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = - (dev->sensor.sensor_pixels * resolution) / dev->sensor.optical_res; - settings.lines = CALIBRATION_LINES; - settings.depth = 8; - settings.color_filter = 0; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.exposure_time = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* scan first line of data with no gain */ - dev->frontend.gain[0] = 0; - dev->frontend.gain[1] = 0; - dev->frontend.gain[2] = 0; - - /* scan with no move */ - bottom = 1; - do - { - pass++; - dev->frontend.offset[0] = bottom; - dev->frontend.offset[1] = bottom; - dev->frontend.offset[2] = bottom; - status = - simple_scan (dev, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, &line); - if (status != SANE_STATUS_GOOD) - { - free(line); - DBG (DBG_error, - "ad_fe_offset_calibration: failed to scan first line\n"); - return status; - } - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "offset%03d.pnm", (int)bottom); - sanei_genesys_write_pnm_file (title, line, 8, channels, - settings.pixels, settings.lines); - } - - min = 0; - for (y = 0; y < settings.lines; y++) - { - for (x = 0; x < black_pixels; x++) - { - adr = (x + y * settings.pixels) * channels; - if (line[adr] > min) - min = line[adr]; - if (line[adr + 1] > min) - min = line[adr + 1]; - if (line[adr + 2] > min) - min = line[adr + 2]; - } - } - - free (line); - DBG (DBG_io2, "ad_fe_offset_calibration: pass=%d, min=%d\n", pass, min); - bottom++; - } - while (pass < 128 && min == 0); - if (pass == 128) - { - DBG (DBG_error, - "ad_fe_offset_calibration: failed to find correct offset\n"); - return SANE_STATUS_INVAL; - } - - DBG (DBG_info, "ad_fe_offset_calibration: offset=(%d,%d,%d)\n", - dev->frontend.offset[0], dev->frontend.offset[1], - dev->frontend.offset[2]); - DBG (DBG_proc, "ad_fe_offset_calibration: end\n"); - return status; -} - -#define DARK_TARGET 8 -/** - * This function does the offset calibration by scanning one line of the calibration - * area below scanner's top. There is a black margin and the remaining is white. - * genesys_search_start() must have been called so that the offsets and margins - * are already known. - * @param dev scanner's device - * @return SANE_STATUS_GOOD if success, else error code is failure -*/ -static SANE_Status -gl646_offset_calibration (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t *first_line, *second_line; - unsigned int channels; - char title[32]; - int pass = 0, avg; - SANE_Int resolution; - Genesys_Settings settings; - int topavg, bottomavg; - int top, bottom, black_pixels; - - /* Analog Device fronted have a different calibration */ - if (dev->model->dac_type == DAC_AD_XP200) - { - return ad_fe_offset_calibration (dev); - } - - DBG (DBG_proc, "gl646_offset_calibration: start\n"); - - /* setup for a RGB scan, one full sensor's width line */ - /* resolution is the one from the final scan */ - if (dev->settings.xres > dev->sensor.optical_res) - { - resolution = - get_closest_resolution (dev->model->ccd_type, dev->sensor.optical_res, - SANE_TRUE); - } - else - { - resolution = - get_closest_resolution (dev->model->ccd_type, dev->settings.xres, - SANE_TRUE); - } - channels = 3; - black_pixels = - (dev->sensor.black_pixels * resolution) / dev->sensor.optical_res; - DBG (DBG_io2, "gl646_offset_calibration: black_pixels=%d\n", black_pixels); - - settings.scan_method = SCAN_METHOD_FLATBED; - settings.scan_mode = SCAN_MODE_COLOR; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = - (dev->sensor.sensor_pixels * resolution) / dev->sensor.optical_res; - settings.lines = CALIBRATION_LINES; - settings.depth = 8; - settings.color_filter = 0; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.exposure_time = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* scan first line of data with no gain, but with offset from - * last calibration */ - dev->frontend.gain[0] = 0; - dev->frontend.gain[1] = 0; - dev->frontend.gain[2] = 0; - - /* scan with no move */ - bottom = 90; - dev->frontend.offset[0] = bottom; - dev->frontend.offset[1] = bottom; - dev->frontend.offset[2] = bottom; - status = - simple_scan (dev, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, - &first_line); - if (status != SANE_STATUS_GOOD) - { - free(first_line); - DBG (DBG_error, - "gl646_offset_calibration: failed to scan first line\n"); - return status; - } - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "offset%03d.pnm", bottom); - sanei_genesys_write_pnm_file (title, first_line, 8, channels, - settings.pixels, settings.lines); - } - bottomavg = - dark_average (first_line, settings.pixels, settings.lines, channels, - black_pixels); - free (first_line); - DBG (DBG_io2, "gl646_offset_calibration: bottom avg=%d\n", bottomavg); - - /* now top value */ - top = 231; - dev->frontend.offset[0] = top; - dev->frontend.offset[1] = top; - dev->frontend.offset[2] = top; - status = - simple_scan (dev, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, - &second_line); - if (status != SANE_STATUS_GOOD) - { - free(second_line); - DBG (DBG_error, - "gl646_offset_calibration: failed to scan first line\n"); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "offset%03d.pnm", top); - sanei_genesys_write_pnm_file (title, second_line, 8, channels, - settings.pixels, settings.lines); - } - topavg = - dark_average (second_line, settings.pixels, settings.lines, channels, - black_pixels); - free (second_line); - DBG (DBG_io2, "gl646_offset_calibration: top avg=%d\n", topavg); - - /* loop until acceptable level */ - while ((pass < 32) && (top - bottom > 1)) - { - pass++; - - /* settings for new scan */ - dev->frontend.offset[0] = (top + bottom) / 2; - dev->frontend.offset[1] = (top + bottom) / 2; - dev->frontend.offset[2] = (top + bottom) / 2; - - /* scan with no move */ - status = - simple_scan (dev, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, - &second_line); - if (status != SANE_STATUS_GOOD) - { - free(second_line); - DBG (DBG_error, - "gl646_offset_calibration: failed to scan first line\n"); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "offset%03d.pnm", dev->frontend.offset[1]); - sanei_genesys_write_pnm_file (title, second_line, 8, channels, - settings.pixels, settings.lines); - } - - avg = - dark_average (second_line, settings.pixels, settings.lines, channels, - black_pixels); - DBG (DBG_info, "gl646_offset_calibration: avg=%d offset=%d\n", avg, - dev->frontend.offset[1]); - free (second_line); - - /* compute new boundaries */ - if (topavg == avg) - { - topavg = avg; - top = dev->frontend.offset[1]; - } - else - { - bottomavg = avg; - bottom = dev->frontend.offset[1]; - } - } - - /* in case of debug do a final scan to get result */ - if (DBG_LEVEL >= DBG_data) - { - status = - simple_scan (dev, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, - &second_line); - if (status != SANE_STATUS_GOOD) - { - free(second_line); - DBG (DBG_error, - "gl646_offset_calibration: failed to scan final line\n"); - return status; - } - sanei_genesys_write_pnm_file ("offset-final.pnm", second_line, 8, - channels, settings.pixels, - settings.lines); - free (second_line); - } - - DBG (DBG_info, "gl646_offset_calibration: offset=(%d,%d,%d)\n", - dev->frontend.offset[0], dev->frontend.offset[1], - dev->frontend.offset[2]); - DBG (DBG_proc, "gl646_offset_calibration: end\n"); - return status; -} - -/** @brief gain calibration for Analog Device frontends - * Alternative coarse gain calibration - */ -static SANE_Status -ad_fe_coarse_gain_calibration (Genesys_Device * dev, int dpi) -{ - uint8_t *line; - unsigned int i, channels, val; - unsigned int size, count, resolution, pass; - SANE_Status status = SANE_STATUS_GOOD; - float average; - Genesys_Settings settings; - char title[32]; - - DBGSTART; - - /* setup for a RGB scan, one full sensor's width line */ - /* resolution is the one from the final scan */ - resolution = get_closest_resolution (dev->model->ccd_type, dpi, SANE_TRUE); - channels = 3; - settings.scan_mode = SCAN_MODE_COLOR; - - settings.scan_method = SCAN_METHOD_FLATBED; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = - (dev->sensor.sensor_pixels * resolution) / dev->sensor.optical_res; - settings.lines = CALIBRATION_LINES; - settings.depth = 8; - settings.color_filter = 0; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.exposure_time = 0; - settings.dynamic_lineart = SANE_FALSE; - - size = channels * settings.pixels * settings.lines; - - /* start gain value */ - dev->frontend.gain[0] = 1; - dev->frontend.gain[1] = 1; - dev->frontend.gain[2] = 1; - - average = 0; - pass = 0; - - /* loop until each channel raises to acceptable level */ - while ((average < dev->sensor.gain_white_ref) && (pass < 30)) - { - /* scan with no move */ - status = - simple_scan (dev, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, &line); - if (status != SANE_STATUS_GOOD) - { - free(line); - DBG (DBG_error, - "ad_fe_coarse_gain_calibration: failed to scan first line\n"); - return status; - } - - /* log scanning data */ - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "alternative_coarse%02d.pnm", (int)pass); - sanei_genesys_write_pnm_file (title, line, 8, - channels, settings.pixels, - settings.lines); - } - pass++; - - /* computes white average */ - average = 0; - count = 0; - for (i = 0; i < size; i++) - { - val = line[i]; - average += val; - count++; - } - average = average / count; - - /* adjusts gain for the channel */ - if (average < dev->sensor.gain_white_ref) - dev->frontend.gain[0]++; - dev->frontend.gain[1] = dev->frontend.gain[0]; - dev->frontend.gain[2] = dev->frontend.gain[0]; - - DBG (DBG_proc, - "ad_fe_coarse_gain_calibration: average = %.2f, gain = %d\n", - average, dev->frontend.gain[0]); - free (line); - } - - DBG (DBG_info, "ad_fe_coarse_gain_calibration: gains=(%d,%d,%d)\n", - dev->frontend.gain[0], dev->frontend.gain[1], dev->frontend.gain[2]); - DBGCOMPLETED; - return status; -} - -/** - * Alternative coarse gain calibration - * this on uses the settings from offset_calibration. First scan moves so - * we can go to calibration area for XPA. - * @param dev device for scan - * @param dpi resolutnio to calibrate at - */ -static SANE_Status -gl646_coarse_gain_calibration (Genesys_Device * dev, int dpi) -{ - uint8_t *line; - unsigned int i, j, k, channels, val, maximum, idx; - unsigned int count, resolution, pass; - SANE_Status status = SANE_STATUS_GOOD; - float average[3]; - Genesys_Settings settings; - char title[32]; - - if (dev->model->ccd_type == CIS_XP200) - { - return ad_fe_coarse_gain_calibration (dev, dev->sensor.optical_res); - } - DBGSTART; - - /* setup for a RGB scan, one full sensor's width line */ - /* resolution is the one from the final scan */ - channels = 3; - - /* we are searching a sensor resolution */ - if (dpi > dev->sensor.optical_res) - { - resolution = dev->sensor.optical_res; - } - else - { - resolution = - get_closest_resolution (dev->model->ccd_type, dev->settings.xres, - SANE_TRUE); - } - - settings.scan_method = dev->settings.scan_method; - settings.scan_mode = SCAN_MODE_COLOR; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_y = 0; - if (settings.scan_method == SCAN_METHOD_FLATBED) - { - settings.tl_x = 0; - settings.pixels = (dev->sensor.sensor_pixels * resolution) / dev->sensor.optical_res; - } - else - { - settings.tl_x = SANE_UNFIX (dev->model->x_offset_ta); - settings.pixels = (SANE_UNFIX (dev->model->x_size_ta) * resolution) / MM_PER_INCH; - } - settings.lines = CALIBRATION_LINES; - settings.depth = 8; - settings.color_filter = 0; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.exposure_time = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* start gain value */ - dev->frontend.gain[0] = 1; - dev->frontend.gain[1] = 1; - dev->frontend.gain[2] = 1; - - if (channels > 1) - { - average[0] = 0; - average[1] = 0; - average[2] = 0; - idx = 0; - } - else - { - average[0] = 255; - average[1] = 255; - average[2] = 255; - idx = dev->settings.color_filter; - average[idx] = 0; - } - pass = 0; - - /* loop until each channel raises to acceptable level */ - while (((average[0] < dev->sensor.gain_white_ref) - || (average[1] < dev->sensor.gain_white_ref) - || (average[2] < dev->sensor.gain_white_ref)) && (pass < 30)) - { - /* scan with no move */ - status = - simple_scan (dev, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, &line); - if (status != SANE_STATUS_GOOD) - { - free(line); - DBG (DBG_error, "%s: failed to scan first line\n", __func__); - return status; - } - - /* log scanning data */ - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "coarse_gain%02d.pnm", (int)pass); - sanei_genesys_write_pnm_file (title, line, 8, - channels, settings.pixels, - settings.lines); - } - pass++; - - /* average high level for each channel and compute gain - to reach the target code - we only use the central half of the CCD data */ - for (k = idx; k < idx + channels; k++) - { - /* we find the maximum white value, so we can deduce a threshold - to average white values */ - maximum = 0; - for (i = 0; i < settings.lines; i++) - { - for (j = 0; j < settings.pixels; j++) - { - val = line[i * channels * settings.pixels + j + k]; - if (val > maximum) - maximum = val; - } - } - - /* threshold */ - maximum *= 0.9; - - /* computes white average */ - average[k] = 0; - count = 0; - for (i = 0; i < settings.lines; i++) - { - for (j = 0; j < settings.pixels; j++) - { - /* averaging only white points allow us not to care about dark margins */ - val = line[i * channels * settings.pixels + j + k]; - if (val > maximum) - { - average[k] += val; - count++; - } - } - } - average[k] = average[k] / count; - - /* adjusts gain for the channel */ - if (average[k] < dev->sensor.gain_white_ref) - dev->frontend.gain[k]++; - - DBG (DBG_proc, - "%s: channel %d, average = %.2f, gain = %d\n", __func__, - k, average[k], dev->frontend.gain[k]); - } - free (line); - } - - if (channels < 3) - { - dev->frontend.gain[1] = dev->frontend.gain[0]; - dev->frontend.gain[2] = dev->frontend.gain[0]; - } - - DBG (DBG_info, "%s: gains=(%d,%d,%d)\n", __func__, - dev->frontend.gain[0], dev->frontend.gain[1], dev->frontend.gain[2]); - DBGCOMPLETED; - return status; -} - -/** - * sets up the scanner's register for warming up. We scan 2 lines without moving. - * - */ -static SANE_Status -gl646_init_regs_for_warmup (Genesys_Device * dev, - Genesys_Register_Set * local_reg, - int *channels, int *total_size) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Settings settings; - int resolution, lines; - - DBG (DBG_proc, "gl646_init_regs_for_warmup: start\n"); - - sanei_genesys_init_fe (dev); - - resolution = get_closest_resolution (dev->model->ccd_type, 300, SANE_FALSE); - - /* set up for a half width 2 lines gray scan without moving */ - settings.scan_method = SCAN_METHOD_FLATBED; - settings.scan_mode = SCAN_MODE_GRAY; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = - (dev->sensor.sensor_pixels * resolution) / dev->sensor.optical_res; - settings.lines = 2; - settings.depth = 8; - settings.color_filter = 0; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.exposure_time = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* setup for scan */ - status = setup_for_scan (dev, dev->reg, settings, SANE_TRUE, SANE_FALSE, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_init_regs_for_warmup: setup_for_scan failed (%s)\n", - sane_strstatus (status)); - return status; - } - - /* we are not going to move, so clear these bits */ - dev->reg[reg_0x02].value &= ~(REG02_FASTFED | REG02_AGOHOME); - - /* don't enable any correction for this scan */ - dev->reg[reg_0x01].value &= ~REG01_DVDSET; - - /* copy to local_reg */ - memcpy (local_reg, dev->reg, (GENESYS_GL646_MAX_REGS + 1) * sizeof (Genesys_Register_Set)); - - /* turn off motor during this scan */ - gl646_set_motor_power (local_reg, SANE_FALSE); - - /* returned value to higher level warmup function */ - *channels = 1; - lines = gl646_get_triple_reg (local_reg, REG_LINCNT) + 1; - *total_size = lines * settings.pixels; - - /* now registers are ok, write them to scanner */ - RIE (gl646_set_fe (dev, AFE_SET, settings.xres)); - RIE (gl646_bulk_write_register (dev, local_reg, GENESYS_GL646_MAX_REGS)); - - DBGCOMPLETED; - return status; -} - - -/* - * this function moves head without scanning, forward, then backward - * so that the head goes to park position. - * as a by-product, also check for lock - */ -static SANE_Status -gl646_repark_head (Genesys_Device * dev) -{ - SANE_Status status; - Genesys_Settings settings; - unsigned int expected, steps; - - DBG (DBG_proc, "gl646_repark_head: start\n"); - - settings.scan_method = SCAN_METHOD_FLATBED; - settings.scan_mode = SCAN_MODE_COLOR; - settings.xres = - get_closest_resolution (dev->model->ccd_type, 75, SANE_FALSE); - settings.yres = settings.xres; - settings.tl_x = 0; - settings.tl_y = 5; - settings.pixels = 600; - settings.lines = 4; - settings.depth = 8; - settings.color_filter = 0; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.exposure_time = 0; - settings.dynamic_lineart = SANE_FALSE; - - status = setup_for_scan (dev, dev->reg, settings, SANE_FALSE, SANE_FALSE, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_repark_head: failed to setup for scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* TODO seems wrong ... no effective scan */ - dev->reg[reg_0x01].value &= ~REG01_SCAN; - - status = gl646_bulk_write_register (dev, dev->reg, GENESYS_GL646_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_repark_head: failed to send registers: %s\n", - sane_strstatus (status)); - return status; - } - - /* start scan */ - status = gl646_begin_scan (dev, dev->reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_repark_head: failed to begin scan: \n"); - return status; - } - - expected = gl646_get_triple_reg (dev->reg, REG_FEEDL); - do - { - usleep (100 * 1000); - status = sanei_genesys_read_feed_steps (dev, &steps); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_repark_head: failed to read feed steps: %s\n", - sane_strstatus (status)); - return status; - } - } - while (steps < expected); - - /* toggle motor flag, put an huge step number and redo move backward */ - status = gl646_slow_back_home (dev, 1); - DBG (DBG_proc, "gl646_repark_head: end\n"); - return status; -} - -/* * - * initialize ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home - * @param dev device description of the scanner to initailize - * @return SANE_STATUS_GOOD if success, error code if failure - */ -static SANE_Status -gl646_init (Genesys_Device * dev) -{ - SANE_Status status; - struct timeval tv; - uint8_t cold = 0, val = 0; - uint32_t addr = 0xdead; - int size, i; - size_t len; - - DBG_INIT (); - DBG (DBG_proc, "gl646_init: start\n"); - - /* to detect real power up condition, we write to REG41 - * with pwrbit set, then read it back. When scanner is cold (just replugged) - * PWRBIT will be set in the returned value - */ - RIE (sanei_genesys_get_status (dev, &cold)); - DBG (DBG_info, "gl646_init: status=0x%02x\n", cold); - cold = !(cold & REG41_PWRBIT); - if (cold) - { - DBG (DBG_info, "gl646_init: device is cold\n"); - } - else - { - DBG (DBG_info, "gl646_init: device is hot\n"); - } - - /* if scanning session hasn't been initialized, set it up */ - if (!dev->already_initialized) - { - dev->dark_average_data = NULL; - dev->white_average_data = NULL; - - dev->settings.color_filter = 1; /* green filter by default */ - gettimeofday (&tv, NULL); - dev->init_date = tv.tv_sec; - - switch (dev->model->motor_type) - { - /* set to 11111 to spot bugs, sanei_genesys_exposure_time should - have obsoleted this field */ - case MOTOR_5345: - dev->settings.exposure_time = 11111; - break; - - case MOTOR_ST24: - dev->settings.exposure_time = 11000; - break; - default: - dev->settings.exposure_time = 11000; - break; - } - - /* Set default values for registers */ - gl646_init_regs (dev); - - /* build default gamma tables */ - if (dev->reg[reg_0x05].value & REG05_GMMTYPE) - size = 16384; - else - size = 4096; - - for(i=0;i<3;i++) - { - if (dev->sensor.gamma_table[i] == NULL) - { - dev->sensor.gamma_table[i] = (uint16_t *) malloc (2 * size); - if (dev->sensor.gamma_table[i] == NULL) - { - DBG (DBG_error, "gl646_init: could not allocate memory for gamma table %d\n",i); - return SANE_STATUS_NO_MEM; - } - sanei_genesys_create_gamma_table (dev->sensor.gamma_table[i], - size, - size - 1, - size - 1, - dev->sensor.gamma[i]); - } - } - - /* Init shading data */ - RIE (sanei_genesys_init_shading_data (dev, dev->sensor.sensor_pixels)); - - /* initial calibration reg values */ - memcpy (dev->calib_reg, dev->reg, - (GENESYS_GL646_MAX_REGS + 1) * sizeof (Genesys_Register_Set)); - } - - /* execute physical unit init only if cold */ - if (cold) - { - DBG (DBG_info, "gl646_init: device is cold\n"); - val = 0x04; - RIE (sanei_usb_control_msg - (dev->dn, REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_INIT, - INDEX, 1, &val)); - - /* ASIC reset */ - RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); - usleep (100000UL); /* sleep 100 ms */ - - /* Write initial registers */ - RIE (gl646_bulk_write_register (dev, dev->reg, GENESYS_GL646_MAX_REGS)); - - /* Test ASIC and RAM */ - if (!(dev->model->flags & GENESYS_FLAG_LAZY_INIT)) - { - RIE (gl646_asic_test (dev)); - } - - /* send gamma tables if needed */ - status = gl646_send_gamma_table (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_init: failed to send generic gamma tables: %s\n", - sane_strstatus (status)); - return status; - } - - /* Set powersaving (default = 15 minutes) */ - RIE (gl646_set_powersaving (dev, 15)); - } /* end if cold */ - - /* Set analog frontend */ - RIE (gl646_set_fe (dev, AFE_INIT, 0)); - - /* GPO enabling for XP200 */ - if (dev->model->ccd_type == CIS_XP200) - { - sanei_genesys_write_register (dev, 0x68, dev->gpo.enable[0]); - sanei_genesys_write_register (dev, 0x69, dev->gpo.enable[1]); - - /* enable GPIO */ - val = 6; - status = gl646_gpio_output_enable (dev->dn, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_init: GPO enable failed ... %s\n", - sane_strstatus (status)); - } - val = 0; - - /* writes 0 to GPIO */ - status = gl646_gpio_write (dev->dn, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_init: GPO write failed ... %s\n", - sane_strstatus (status)); - } - - /* clear GPIO enable */ - status = gl646_gpio_output_enable (dev->dn, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_init: GPO disable failed ... %s\n", - sane_strstatus (status)); - } - sanei_genesys_write_register (dev, 0x66, 0x10); - sanei_genesys_write_register (dev, 0x66, 0x00); - sanei_genesys_write_register (dev, 0x66, 0x10); - } - - /* MD6471/G2410 and XP200 read/write data from an undocumented memory area which - * is after the second slope table */ - if (dev->model->gpo_type != GPO_HP3670 - && dev->model->gpo_type != GPO_HP2400) - { - switch (dev->sensor.optical_res) - { - case 600: - addr = 0x08200; - break; - case 1200: - addr = 0x10200; - break; - case 2400: - addr = 0x1fa00; - break; - } - status = sanei_genesys_set_buffer_address (dev, addr); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_init: failed to set up control address\n"); - return SANE_STATUS_INVAL; - } - sanei_usb_set_timeout (2 * 1000); - len = 6; - status = gl646_bulk_read_data (dev, 0x45, dev->control, len); - /* for some reason, read fails here for MD6471, HP2300 and XP200 - * one time out of 2 scanimage launches - */ - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_warn, "gl646_init: failed to read control\n"); - status = gl646_bulk_read_data (dev, 0x45, dev->control, len); - } - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_warn, "gl646_init: failed to read control\n"); - return SANE_STATUS_INVAL; - } - else - { - DBG (DBG_info, - "gl646_init: control read=0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x\n", - dev->control[0], dev->control[1], dev->control[2], - dev->control[3], dev->control[4], dev->control[5]); - } - sanei_usb_set_timeout (30 * 1000); - } - else - /* HP2400 and HP3670 case */ - { - dev->control[0] = 0x00; - dev->control[1] = 0x00; - dev->control[2] = 0x01; - dev->control[3] = 0x00; - dev->control[4] = 0x00; - dev->control[5] = 0x00; - } - - /* ensure head is correctly parked, and check lock */ - if (dev->model->is_sheetfed == SANE_FALSE) - { - if (dev->model->flags & GENESYS_FLAG_REPARK) - { - status = gl646_repark_head (dev); - if (status != SANE_STATUS_GOOD) - { - if (status == SANE_STATUS_INVAL) - { - DBG (DBG_error0, - "Your scanner is locked. Please move the lock switch " - "to the unlocked position\n"); -#ifdef SANE_STATUS_HW_LOCKED - return SANE_STATUS_HW_LOCKED; -#else - return SANE_STATUS_JAMMED; -#endif - } - else - DBG (DBG_error, - "gl646_init: gl646_repark_head failed: %s\n", - sane_strstatus (status)); - return status; - } - } - else - { - RIE (gl646_slow_back_home (dev, SANE_TRUE)); - } - } - - /* here session and device are initialized */ - dev->already_initialized = SANE_TRUE; - - DBG (DBG_proc, "gl646_init: end\n"); - return SANE_STATUS_GOOD; -} - -GENESYS_STATIC -SANE_Status -gl646_move_to_ta (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - if (simple_move (dev, SANE_UNFIX (dev->model->y_offset_calib_ta)) != - SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_move_to_ta: failed to move to calibration area\n"); - return status; - } - DBGCOMPLETED; - return status; -} - - -/** - * Does a simple scan: ie no line reordering and avanced data buffering and - * shading correction. Memory for data is allocated in this function - * and must be freed by caller. - * @param dev device of the scanner - * @param settings parameters of the scan - * @param move SANE_TRUE if moving during scan - * @param forward SANE_TRUE if moving forward during scan - * @param shading SANE_TRUE to enable shading correction - * @param data pointer for the data - */ -GENESYS_STATIC SANE_Status -simple_scan (Genesys_Device * dev, Genesys_Settings settings, SANE_Bool move, - SANE_Bool forward, SANE_Bool shading, unsigned char **data) -{ - SANE_Status status = SANE_STATUS_INVAL; - unsigned int size, lines, x, y, bpp; - SANE_Bool empty, split; - unsigned char *buffer; - int count; - uint8_t val; - - DBG (DBG_proc, "simple_scan: starting\n"); - DBG (DBG_io, "simple_scan: move=%d, forward=%d, shading=%d\n", move, - forward, shading); - - /* round up to multiple of 3 in case of CIS scanner */ - if (dev->model->is_cis == SANE_TRUE) - { - settings.lines = ((settings.lines + 2) / 3) * 3; - } - - /* setup for move then scan */ - if (move == SANE_TRUE && settings.tl_y > 0) - { - split = SANE_FALSE; - } - else - { - split = SANE_TRUE; - } - status = setup_for_scan (dev, dev->reg, settings, split, SANE_FALSE, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "simple_scan: setup_for_scan failed (%s)\n", - sane_strstatus (status)); - return status; - } - - /* allocate memory fo scan : LINCNT may have been adjusted for CCD reordering */ - if (dev->model->is_cis == SANE_TRUE) - { - lines = gl646_get_triple_reg (dev->reg, REG_LINCNT) / 3; - } - else - { - lines = gl646_get_triple_reg (dev->reg, REG_LINCNT) + 1; - } - size = lines * settings.pixels; - if (settings.depth == 16) - bpp = 2; - else - bpp = 1; - size *= bpp; - if (settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - size *= 3; - *data = malloc (size); - if (!*data) - { - DBG (DBG_error, - "simple_scan: failed to allocate %d bytes of memory\n", size); - return SANE_STATUS_NO_MEM; - } - DBG (DBG_io, "simple_scan: allocated %d bytes of memory for %d lines\n", - size, lines); - - /* put back real line number in settings */ - settings.lines = lines; - - /* initialize frontend */ - status = gl646_set_fe (dev, AFE_SET, settings.xres); - if (status != SANE_STATUS_GOOD) - { - free (*data); - DBG (DBG_error, - "simple_scan: failed to set frontend: %s\n", - sane_strstatus (status)); - return status; - } - - /* no shading correction and not watch dog for simple scan */ - dev->reg[reg_0x01].value &= ~(REG01_DVDSET | REG01_DOGENB); - if (shading == SANE_TRUE) - { - dev->reg[reg_0x01].value |= REG01_DVDSET; - } - - /* enable gamma table for the scan */ - dev->reg[reg_0x05].value |= REG05_GMMENB; - - /* one table movement for simple scan */ - dev->reg[reg_0x02].value &= ~REG02_FASTFED; - - if (move == SANE_FALSE) - { - /* clear motor power flag if no move */ - dev->reg[reg_0x02].value &= ~REG02_MTRPWR; - - /* no automatic go home if no movement */ - dev->reg[reg_0x02].value &= ~REG02_AGOHOME; - } - if (forward == SANE_FALSE) - { - dev->reg[reg_0x02].value |= REG02_MTRREV; - } - else - { - dev->reg[reg_0x02].value &= ~REG02_MTRREV; - } - - /* no automatic go home when using XPA */ - if (settings.scan_method == SCAN_METHOD_TRANSPARENCY) - { - dev->reg[reg_0x02].value &= ~REG02_AGOHOME; - } - - /* write scan registers */ - status = gl646_bulk_write_register (dev, dev->reg, - sizeof (dev->reg) / - sizeof (dev->reg[0])); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "simple_scan: failed to bulk write registers: %s\n", - sane_strstatus (status)); - free (*data); - return status; - } - - /* starts scan */ - status = gl646_begin_scan (dev, dev->reg, move); - if (status != SANE_STATUS_GOOD) - { - free (*data); - DBG (DBG_error, "simple_scan: failed to begin scan: \n"); - return status; - } - - /* wait for buffers to be filled */ - count = 0; - do - { - usleep (10000UL); - RIE (sanei_genesys_get_status (dev, &val)); - if (DBG_LEVEL > DBG_info) - { - print_status (val); - } - RIE (sanei_genesys_test_buffer_empty (dev, &empty)); - count++; - } - while (empty && count < 1000); - if (count == 1000) - { - free (*data); - DBG (DBG_error, "simple_scan: failed toread data\n"); - return SANE_STATUS_IO_ERROR; - } - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, *data, size); - if (status != SANE_STATUS_GOOD) - { - free (*data); - DBG (DBG_error, - "simple_scan: failed to read data: %s\n", sane_strstatus (status)); - return status; - } - - /* in case of CIS scanner, we must reorder data */ - if (dev->model->is_cis == SANE_TRUE - && settings.scan_mode == SCAN_MODE_COLOR) - { - /* alloc one line sized working buffer */ - buffer = (unsigned char *) malloc (settings.pixels * 3 * bpp); - if (buffer == NULL) - { - DBG (DBG_error, - "simple_scan: failed to allocate %d bytes of memory\n", - settings.pixels * 3); - return SANE_STATUS_NO_MEM; - } - - /* reorder one line of data and put it back to buffer */ - if (bpp == 1) - { - for (y = 0; y < lines; y++) - { - /* reorder line */ - for (x = 0; x < settings.pixels; x++) - { - buffer[x * 3] = (*data)[y * settings.pixels * 3 + x]; - buffer[x * 3 + 1] = - (*data)[y * settings.pixels * 3 + settings.pixels + x]; - buffer[x * 3 + 2] = - (*data)[y * settings.pixels * 3 + 2 * settings.pixels + - x]; - } - /* copy line back */ - memcpy ((*data) + settings.pixels * 3 * y, buffer, - settings.pixels * 3); - } - } - else - { - for (y = 0; y < lines; y++) - { - /* reorder line */ - for (x = 0; x < settings.pixels; x++) - { - buffer[x * 6] = (*data)[y * settings.pixels * 6 + x * 2]; - buffer[x * 6 + 1] = - (*data)[y * settings.pixels * 6 + x * 2 + 1]; - buffer[x * 6 + 2] = - (*data)[y * settings.pixels * 6 + 2 * settings.pixels + - x * 2]; - buffer[x * 6 + 3] = - (*data)[y * settings.pixels * 6 + 2 * settings.pixels + - x * 2 + 1]; - buffer[x * 6 + 4] = - (*data)[y * settings.pixels * 6 + 4 * settings.pixels + - x * 2]; - buffer[x * 6 + 5] = - (*data)[y * settings.pixels * 6 + 4 * settings.pixels + - x * 2 + 1]; - } - /* copy line back */ - memcpy ((*data) + settings.pixels * 6 * y, buffer, - settings.pixels * 6); - } - } - free (buffer); - } - - /* end scan , waiting the motor to stop if needed (if moving), but without ejecting doc */ - status = end_scan (dev, dev->reg, SANE_TRUE, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - free (*data); - DBG (DBG_error, - "simple_scan: failed to end scan: %s\n", sane_strstatus (status)); - return status; - } - - DBG (DBG_proc, "simple_scan: end\n"); - return status; -} - -/** - * Does a simple move of the given distance by doing a scan at lowest resolution - * shading correction. Memory for data is allocated in this function - * and must be freed by caller. - * @param dev device of the scanner - * @param distance distance to move in MM - */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -simple_move (Genesys_Device * dev, SANE_Int distance) -{ - SANE_Status status; - unsigned char *data = NULL; - Genesys_Settings settings; - - DBG (DBG_proc, "simple_move: %d mm\n", distance); - - /* TODO give a no AGOHOME flag */ - settings.scan_method = SCAN_METHOD_TRANSPARENCY; - settings.scan_mode = SCAN_MODE_COLOR; - settings.xres = get_lowest_resolution (dev->model->ccd_type, SANE_TRUE); - settings.yres = settings.xres; - settings.tl_y = 0; - settings.tl_x = 0; - settings.pixels = - (dev->sensor.sensor_pixels * settings.xres) / dev->sensor.optical_res; - settings.lines = (distance * settings.xres) / MM_PER_INCH; - settings.depth = 8; - settings.color_filter = 0; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.exposure_time = 0; - settings.dynamic_lineart = SANE_FALSE; - - status = simple_scan (dev, settings, SANE_TRUE, SANE_TRUE, SANE_FALSE, &data); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "simple_move: simple_scan failed\n"); - } - - free (data); - DBGCOMPLETED - return status; -} - -/** - * update the status of the required sensor in the scanner session - * the last_val fileds are used to make events 'sticky' - */ -static SANE_Status -gl646_update_hardware_sensors (Genesys_Scanner * session) -{ - Genesys_Device *dev = session->dev; - uint8_t value; - SANE_Status status; - - /* do what is needed to get a new set of events, but try to not loose - any of them. - */ - status = gl646_gpio_read (dev->dn, &value); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl646_update_hardware_sensors: failed to read GPIO %s\n", - sane_strstatus (status)); - return status; - } - DBG (DBG_io, "gl646_update_hardware_sensors: GPIO=0x%02x\n", value); - - /* scan button */ - if ((dev->model->buttons & GENESYS_HAS_SCAN_SW) - && session->val[OPT_SCAN_SW].b == session->last_val[OPT_SCAN_SW].b) - { - switch (dev->model->gpo_type) - { - case GPO_XP200: - session->val[OPT_SCAN_SW].b = ((value & 0x02) != 0); - break; - case GPO_5345: - session->val[OPT_SCAN_SW].b = (value == 0x16); - break; - case GPO_HP2300: - session->val[OPT_SCAN_SW].b = (value == 0x6c); - break; - case GPO_HP3670: - case GPO_HP2400: - session->val[OPT_SCAN_SW].b = ((value & 0x20) == 0); - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - /* email button */ - if ((dev->model->buttons & GENESYS_HAS_EMAIL_SW) - && session->val[OPT_EMAIL_SW].b == session->last_val[OPT_EMAIL_SW].b) - { - switch (dev->model->gpo_type) - { - case GPO_5345: - session->val[OPT_EMAIL_SW].b = (value == 0x12); - break; - case GPO_HP3670: - case GPO_HP2400: - session->val[OPT_EMAIL_SW].b = ((value & 0x08) == 0); - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - /* copy button */ - if ((dev->model->buttons & GENESYS_HAS_COPY_SW) - && session->val[OPT_COPY_SW].b == session->last_val[OPT_COPY_SW].b) - { - switch (dev->model->gpo_type) - { - case GPO_5345: - session->val[OPT_COPY_SW].b = (value == 0x11); - break; - case GPO_HP2300: - session->val[OPT_COPY_SW].b = (value == 0x5c); - break; - case GPO_HP3670: - case GPO_HP2400: - session->val[OPT_COPY_SW].b = ((value & 0x10) == 0); - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - /* power button */ - if ((dev->model->buttons & GENESYS_HAS_POWER_SW) - && session->val[OPT_POWER_SW].b == session->last_val[OPT_POWER_SW].b) - { - switch (dev->model->gpo_type) - { - case GPO_5345: - session->val[OPT_POWER_SW].b = (value == 0x14); - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - /* ocr button */ - if ((dev->model->buttons & GENESYS_HAS_OCR_SW) - && session->val[OPT_OCR_SW].b == session->last_val[OPT_OCR_SW].b) - { - switch (dev->model->gpo_type) - { - case GPO_5345: - session->val[OPT_OCR_SW].b = (value == 0x13); - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - /* document detection */ - if ((dev->model->buttons & GENESYS_HAS_PAGE_LOADED_SW) - && session->val[OPT_PAGE_LOADED_SW].b == - session->last_val[OPT_PAGE_LOADED_SW].b) - { - switch (dev->model->gpo_type) - { - case GPO_XP200: - session->val[OPT_PAGE_LOADED_SW].b = ((value & 0x04) != 0); - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - /* XPA detection */ - if (dev->model->flags & GENESYS_FLAG_XPA) - { - switch (dev->model->gpo_type) - { - case GPO_HP3670: - case GPO_HP2400: - /* test if XPA is plugged-in */ - if ((value & 0x40) == 0) - { - DBG (DBG_io, "gl646_update_hardware_sensors: enabling XPA\n"); - session->opt[OPT_SOURCE].cap &= ~SANE_CAP_INACTIVE; - } - else - { - DBG (DBG_io, "gl646_update_hardware_sensors: disabling XPA\n"); - session->opt[OPT_SOURCE].cap |= SANE_CAP_INACTIVE; - } - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - return status; -} - - -static SANE_Status -write_control (Genesys_Device * dev, int resolution) -{ - SANE_Status status; - uint8_t control[4]; - uint32_t addr = 0xdead; - - /* 2300 does not write to 'control' */ - if (dev->model->motor_type == MOTOR_HP2300) - return SANE_STATUS_GOOD; - - /* MD6471/G2410/HP2300 and XP200 read/write data from an undocumented memory area which - * is after the second slope table */ - switch (dev->sensor.optical_res) - { - case 600: - addr = 0x08200; - break; - case 1200: - addr = 0x10200; - break; - case 2400: - addr = 0x1fa00; - break; - default: - DBG (DBG_error, "write_control: failed to compute control address\n"); - return SANE_STATUS_INVAL; - } - - /* XP200 sets dpi, what other scanner put is unknown yet */ - switch (dev->model->motor_type) - { - case MOTOR_XP200: - /* we put scan's dpi, not motor one */ - control[0] = LOBYTE (resolution); - control[1] = HIBYTE (resolution); - control[2] = dev->control[4]; - control[3] = dev->control[5]; - break; - case MOTOR_HP3670: - case MOTOR_HP2400: - case MOTOR_5345: - default: - control[0] = dev->control[2]; - control[1] = dev->control[3]; - control[2] = dev->control[4]; - control[3] = dev->control[5]; - break; - } - - DBG (DBG_info, - "write_control: control write=0x%02x 0x%02x 0x%02x 0x%02x\n", - control[0], control[1], control[2], control[3]); - status = sanei_genesys_set_buffer_address (dev, addr); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "write_control: failed to set up control address\n"); - return SANE_STATUS_INVAL; - } - status = gl646_bulk_write_data (dev, 0x3c, control, 4); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "write_control: failed to set up control\n"); - return SANE_STATUS_INVAL; - } - return status; -} - -/** - * check if a stored calibration is compatible with requested scan. - * @return SANE_STATUS_GOOD if compatible, SANE_STATUS_UNSUPPORTED if not. - * Whenever an error is met, it is returned. - * @param dev scanner device - * @param cache cache entry to test - * @param for_overwrite reserved for future use ... - */ -static SANE_Status -gl646_is_compatible_calibration (Genesys_Device * dev, - Genesys_Calibration_Cache * cache, - int for_overwrite) -{ -#ifdef HAVE_SYS_TIME_H - struct timeval time; -#endif - int compatible = 1; - - DBG (DBG_proc, - "gl646_is_compatible_calibration: start (for_overwrite=%d)\n", - for_overwrite); - - if (cache == NULL) - return SANE_STATUS_UNSUPPORTED; - - /* build minimal current_setup for calibration cache use only, it will be better - * computed when during setup for scan - */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) - { - dev->current_setup.channels = 3; - } - else - { - dev->current_setup.channels = 1; - } - dev->current_setup.xres = dev->settings.xres; - dev->current_setup.scan_method = dev->settings.scan_method; - - DBG (DBG_io, - "gl646_is_compatible_calibration: requested=(%d,%f), tested=(%d,%f)\n", - dev->current_setup.channels, dev->current_setup.xres, - cache->used_setup.channels, cache->used_setup.xres); - - /* a calibration cache is compatible if color mode and x dpi match the user - * requested scan. In the case of CIS scanners, dpi isn't a criteria */ - if (dev->model->is_cis == SANE_FALSE) - { - compatible = - ((dev->current_setup.channels == cache->used_setup.channels) - && (((int) dev->current_setup.xres) == - ((int) cache->used_setup.xres))); - } - else - { - compatible = - (dev->current_setup.channels == cache->used_setup.channels); - } - if (dev->current_setup.scan_method != cache->used_setup.scan_method) - { - DBG (DBG_io, - "gl646_is_compatible_calibration: current method=%d, used=%d\n", - dev->current_setup.scan_method, cache->used_setup.scan_method); - compatible = 0; - } - if (!compatible) - { - DBG (DBG_proc, - "gl646_is_compatible_calibration: completed, non compatible cache\n"); - return SANE_STATUS_UNSUPPORTED; - } - - /* a cache entry expires after 30 minutes for non sheetfed scanners */ - /* this is not taken into account when overwriting cache entries */ -#ifdef HAVE_SYS_TIME_H - if(for_overwrite == SANE_FALSE) - { - gettimeofday (&time, NULL); - if ((time.tv_sec - cache->last_calibration > 30 * 60) - && (dev->model->is_sheetfed == SANE_FALSE)) - { - DBG (DBG_proc, - "gl646_is_compatible_calibration: expired entry, non compatible cache\n"); - return SANE_STATUS_UNSUPPORTED; - } - } -#endif - - DBG (DBG_proc, - "gl646_is_compatible_calibration: completed, cache compatible\n"); - return SANE_STATUS_GOOD; -} - -/** - * search for a full width black or white strip. - * @param dev scanner device - * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward - * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip - * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not - */ -static SANE_Status -gl646_search_strip (Genesys_Device * dev, SANE_Bool forward, SANE_Bool black) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Bool half_ccd = SANE_FALSE; - Genesys_Settings settings; - int res = get_closest_resolution (dev->model->ccd_type, 75, SANE_FALSE); - unsigned char *data = NULL; - unsigned int pass, count, found, x, y; - char title[80]; - - DBG (DBG_proc, "gl646_search_strip: start\n"); - /* adapt to half_ccd case */ - if (dev->model->flags & GENESYS_FLAG_HALF_CCD_MODE) - { - /* walk the master mode list to find if half_ccd */ - if (is_half_ccd (dev->model->ccd_type, res, SANE_TRUE) == SANE_TRUE) - { - half_ccd = SANE_TRUE; - } - } - - /* we set up for a lowest available resolution color grey scan, full width */ - settings.scan_method = SCAN_METHOD_FLATBED; - settings.scan_mode = SCAN_MODE_GRAY; - settings.xres = res; - settings.yres = res; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = (SANE_UNFIX (dev->model->x_size) * res) / MM_PER_INCH; - if (half_ccd == SANE_TRUE) - { - settings.pixels /= 2; - } - - /* 15 mm at at time */ - settings.lines = (15 * settings.yres) / MM_PER_INCH; /* may become a parameter from genesys_devices.c */ - settings.depth = 8; - settings.color_filter = 0; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.exposure_time = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* signals if a strip of the given color has been found */ - found = 0; - - /* detection pass done */ - pass = 0; - - /* loop until strip is found or maximum pass number done */ - while (pass < 20 && !found) - { - /* scan a full width strip */ - status = - simple_scan (dev, settings, SANE_TRUE, forward, SANE_FALSE, &data); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl646_search_strip: simple_scan failed\n"); - free (data); - return status; - } - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "search_strip_%s%02d.pnm", forward ? "fwd" : "bwd", - (int)pass); - sanei_genesys_write_pnm_file (title, data, settings.depth, 1, - settings.pixels, settings.lines); - } - - /* search data to find black strip */ - /* when searching forward, we only need one line of the searched color since we - * will scan forward. But when doing backward search, we need all the area of the - * same color */ - if (forward) - { - for (y = 0; y < settings.lines && !found; y++) - { - count = 0; - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < settings.pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * settings.pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * settings.pixels + x] < 60) - { - count++; - } - } - - /* at end of line, if count >= 3%, line is not fully of the desired color - * so we must go to next line of the buffer */ - /* count*100/pixels < 3 */ - if ((count * 100) / settings.pixels < 3) - { - found = 1; - DBG (DBG_data, - "gl646_search_strip: strip found forward during pass %d at line %d\n", - pass, y); - } - else - { - DBG (DBG_data, "gl646_search_strip: pixels=%d, count=%d\n", - settings.pixels, count); - } - } - } - else /* since calibration scans are done forward, we need the whole area - to be of the required color when searching backward */ - { - count = 0; - for (y = 0; y < settings.lines; y++) - { - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < settings.pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * settings.pixels + x] > 60) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * settings.pixels + x] < 60) - { - count++; - } - } - } - - /* at end of area, if count >= 3%, area is not fully of the desired color - * so we must go to next buffer */ - if ((count * 100) / (settings.pixels * settings.lines) < 3) - { - found = 1; - DBG (DBG_data, - "gl646_search_strip: strip found backward during pass %d \n", - pass); - } - else - { - DBG (DBG_data, "gl646_search_strip: pixels=%d, count=%d\n", - settings.pixels, count); - } - } - pass++; - } - free (data); - if (found) - { - status = SANE_STATUS_GOOD; - DBG (DBG_info, "gl646_search_strip: strip found\n"); - } - else - { - status = SANE_STATUS_UNSUPPORTED; - DBG (DBG_info, "gl646_search_strip: strip not found\n"); - } - return status; -} - -/** the gl646 command set */ -static Genesys_Command_Set gl646_cmd_set = { - "gl646-generic", /* the name of this set */ - - gl646_init, - gl646_init_regs_for_warmup, - gl646_init_regs_for_coarse_calibration, - gl646_init_regs_for_shading, - gl646_init_regs_for_scan, - - gl646_get_filter_bit, - gl646_get_lineart_bit, - gl646_get_bitset_bit, - gl646_get_gain4_bit, - gl646_get_fast_feed_bit, - gl646_test_buffer_empty_bit, - gl646_test_motor_flag_bit, - - gl646_bulk_full_size, - - gl646_public_set_fe, - gl646_set_powersaving, - gl646_save_power, - gl646_set_motor_power, - gl646_set_lamp_power, - - gl646_begin_scan, - gl646_end_scan, - - gl646_send_gamma_table, - - gl646_search_start_position, - - gl646_offset_calibration, - gl646_coarse_gain_calibration, - gl646_led_calibration, - - gl646_slow_back_home, - NULL, - - gl646_bulk_write_register, - gl646_bulk_write_data, - gl646_bulk_read_data, - - gl646_update_hardware_sensors, - - /* sheetfed related functions */ - gl646_load_document, - gl646_detect_document_end, - gl646_eject_document, - gl646_search_strip, - - gl646_is_compatible_calibration, - gl646_move_to_ta, - NULL, - NULL, - NULL, - NULL -}; - -SANE_Status -sanei_gl646_init_cmd_set (Genesys_Device * dev) -{ - dev->model->cmd_set = &gl646_cmd_set; - return SANE_STATUS_GOOD; -} - -/* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/genesys_gl646.cc b/backend/genesys_gl646.cc new file mode 100644 index 0000000..b2b9f62 --- /dev/null +++ b/backend/genesys_gl646.cc @@ -0,0 +1,4911 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2003 Oliver Rauch + Copyright (C) 2003, 2004 Henning Meier-Geinitz + Copyright (C) 2004 Gerhard Jaeger + Copyright (C) 2004-2013 Stéphane Voltz + Copyright (C) 2005-2009 Pierre Willenbrock + Copyright (C) 2007 Luke + Copyright (C) 2011 Alexey Osipov for HP2400 description + and tuning + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "genesys_gl646.h" + +#include + +/** + * reads value from gpio endpoint + */ +static void gl646_gpio_read(UsbDevice& usb_dev, uint8_t* value) +{ + DBG_HELPER(dbg); + usb_dev.control_msg(REQUEST_TYPE_IN, REQUEST_REGISTER, GPIO_READ, INDEX, 1, value); +} + +/** + * writes the given value to gpio endpoint + */ +static void gl646_gpio_write(UsbDevice& usb_dev, uint8_t value) +{ + DBG_HELPER_ARGS(dbg, "(0x%02x)", value); + usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, GPIO_WRITE, INDEX, 1, &value); +} + +/** + * writes the given value to gpio output enable endpoint + */ +static void gl646_gpio_output_enable(UsbDevice& usb_dev, uint8_t value) +{ + DBG_HELPER_ARGS(dbg, "(0x%02x)", value); + usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, GPIO_OUTPUT_ENABLE, INDEX, 1, &value); +} + +/* Read bulk data (e.g. scanned data) */ +static SANE_Status +gl646_bulk_read_data (Genesys_Device * dev, uint8_t addr, + uint8_t * data, size_t len) +{ + SANE_Status status = sanei_genesys_bulk_read_data(dev, addr, data, len); + if (status != SANE_STATUS_GOOD) { + return status; + } + if (dev->model->is_sheetfed == SANE_TRUE) { + gl646_detect_document_end (dev); + } + return status; +} + +static SANE_Bool +gl646_get_fast_feed_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, 0x02); + if (r && (r->value & REG02_FASTFED)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl646_get_filter_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, 0x04); + if (r && (r->value & REG04_FILTER)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl646_get_lineart_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, 0x04); + if (r && (r->value & REG04_LINEART)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl646_get_bitset_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, 0x04); + if (r && (r->value & REG04_BITSET)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl646_get_gain4_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, 0x06); + if (r && (r->value & REG06_GAIN4)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl646_test_buffer_empty_bit (SANE_Byte val) +{ + if (val & REG41_BUFEMPTY) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl646_test_motor_flag_bit (SANE_Byte val) +{ + if (val & REG41_MOTMFLG) + return SANE_TRUE; + return SANE_FALSE; +} + +/** + * decodes and prints content of status (0x41) register + * @param val value read from reg41 + */ +static void +print_status (uint8_t val) +{ + char msg[80]; + + sprintf (msg, "%s%s%s%s%s%s%s%s", + val & REG41_PWRBIT ? "PWRBIT " : "", + val & REG41_BUFEMPTY ? "BUFEMPTY " : "", + val & REG41_FEEDFSH ? "FEEDFSH " : "", + val & REG41_SCANFSH ? "SCANFSH " : "", + val & REG41_HOMESNR ? "HOMESNR " : "", + val & REG41_LAMPSTS ? "LAMPSTS " : "", + val & REG41_FEBUSY ? "FEBUSY " : "", + val & REG41_MOTMFLG ? "MOTMFLG" : ""); + DBG(DBG_info, "status=%s\n", msg); +} + +/** + * start scanner's motor + * @param dev scanner's device + */ +static SANE_Status +gl646_start_motor (Genesys_Device * dev) +{ + return sanei_genesys_write_register (dev, 0x0f, 0x01); +} + + +/** + * stop scanner's motor + * @param dev scanner's device + */ +static SANE_Status +gl646_stop_motor (Genesys_Device * dev) +{ + return sanei_genesys_write_register (dev, 0x0f, 0x00); +} + + +/** + * find the lowest resolution for the sensor in the given mode. + * @param sensor id of the sensor + * @param color true is color mode + * @return the closest resolution for the sensor and mode + */ +static int +get_lowest_resolution(int sensor_id, unsigned channels) +{ + int i, nb; + int dpi; + + i = 0; + dpi = 9600; + nb = sizeof (sensor_master) / sizeof (Sensor_Master); + while (i < nb) + { + /* computes distance and keep mode if it is closer than previous */ + if (sensor_id == sensor_master[i].sensor + && sensor_master[i].channels == channels) + { + if (sensor_master[i].dpi < dpi) + { + dpi = sensor_master[i].dpi; + } + } + i++; + } + DBG(DBG_info, "%s: %d\n", __func__, dpi); + return dpi; +} + +/** + * find the closest match in mode tables for the given resolution and scan mode. + * @param sensor id of the sensor + * @param required required resolution + * @param color true is color mode + * @return the closest resolution for the sensor and mode + */ +static int +get_closest_resolution(int sensor_id, int required, unsigned channels) +{ + int i, nb; + int dist, dpi; + + i = 0; + dpi = 0; + dist = 9600; + nb = sizeof (sensor_master) / sizeof (Sensor_Master); + while (i < nb) + { + /* exit on perfect match */ + if (sensor_id == sensor_master[i].sensor + && sensor_master[i].dpi == required + && sensor_master[i].channels == channels) + { + DBG(DBG_info, "%s: match found for %d\n", __func__, required); + return required; + } + /* computes distance and keep mode if it is closer than previous */ + if (sensor_id == sensor_master[i].sensor + && sensor_master[i].channels == channels) + { + if (abs (sensor_master[i].dpi - required) < dist) + { + dpi = sensor_master[i].dpi; + dist = abs (sensor_master[i].dpi - required); + } + } + i++; + } + DBG(DBG_info, "%s: closest match for %d is %d\n", __func__, required, dpi); + return dpi; +} + +/** + * Computes if sensor will be set up for half ccd pixels for the given + * scan mode. + * @param sensor id of the sensor + * @param required required resolution + * @param color true is color mode + * @return SANE_TRUE if half ccd is used + */ +static SANE_Bool is_half_ccd(int sensor_id, int required, unsigned channels) +{ + int i, nb; + + i = 0; + nb = sizeof (sensor_master) / sizeof (Sensor_Master); + while (i < nb) + { + /* exit on perfect match */ + if (sensor_id == sensor_master[i].sensor + && sensor_master[i].dpi == required + && sensor_master[i].channels == channels) + { + DBG(DBG_io, "%s: match found for %d (half_ccd=%d)\n", __func__, required, + sensor_master[i].half_ccd); + return sensor_master[i].half_ccd; + } + i++; + } + DBG(DBG_info, "%s: failed to find match for %d dpi\n", __func__, required); + return SANE_FALSE; +} + +/** + * Returns the cksel values used by the required scan mode. + * @param sensor id of the sensor + * @param required required resolution + * @param color true is color mode + * @return cksel value for mode + */ +static int get_cksel(int sensor_id, int required, unsigned channels) +{ + int i, nb; + + i = 0; + nb = sizeof (sensor_master) / sizeof (Sensor_Master); + while (i < nb) + { + /* exit on perfect match */ + if (sensor_id == sensor_master[i].sensor + && sensor_master[i].dpi == required + && sensor_master[i].channels == channels) + { + DBG(DBG_io, "%s: match found for %d (cksel=%d)\n", __func__, required, + sensor_master[i].cksel); + return sensor_master[i].cksel; + } + i++; + } + DBG(DBG_error, "%s: failed to find match for %d dpi\n", __func__, required); + /* fail safe fallback */ + return 1; +} + +/** + * Setup register and motor tables for a scan at the + * given resolution and color mode. TODO try to not use any filed from + * the device. + * @param dev pointer to a struct describing the device + * @param regs register set to fill + * @param slope_table1 first motor table to fill + * @param slope_table2 second motor table to fill + * @return SANE_STATUS_GOOD if registers could be set, SANE_STATUS_INVAL if + * conditions can't be met. + * @note No harcoded SENSOR or MOTOR 'names' should be present and + * registers are set from settings tables and flags related + * to the hardware capabilities. + * */ +static SANE_Status +gl646_setup_registers (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * regs, + SetupParams& params, + uint16_t * slope_table1, + uint16_t * slope_table2, + bool xcorrection) +{ + int resolution = params.xres; + uint32_t move = params.starty; + uint32_t linecnt = params.lines; + + uint32_t startx = 0; + /* pixels are allways given at full CCD optical resolution */ + /* use detected left margin and fixed value */ + if (xcorrection == SANE_TRUE) { + if (sensor.CCD_start_xoffset > 0) { + startx = sensor.CCD_start_xoffset; + } else { + startx = sensor.dummy_pixel; + } + } else { + // startx cannot be below dummy pixel value + startx = sensor.dummy_pixel; + } + + /* add x coordinates : expressed in sensor max dpi */ + startx += params.startx; + + /* stagger works with odd start cordinates */ + if (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE) { + startx |= 1; + } + + uint32_t pixels = (params.pixels * sensor.optical_res) / params.xres; + /* special requirement for 400 dpi on 1200 dpi sensors */ + if (params.xres == 400) + { + pixels = (pixels / 6) * 6; + } + /* TODO check for pixel width overflow */ + uint32_t endx = startx + pixels; + + SANE_Status status = SANE_STATUS_GOOD; + int i, nb; + Sensor_Master *sensor_mst = NULL; + Motor_Master *motor = NULL; + Sensor_Settings *settings = NULL; + GenesysRegister *r; + unsigned int used1, used2, vfinal; + unsigned int bpp; /**> bytes per pixel */ + uint32_t z1, z2; + uint16_t ex, sx; + int stagger, words_per_line, max_shift; + size_t requested_buffer_size; + size_t read_buffer_size; + SANE_Bool half_ccd = SANE_FALSE; + SANE_Int xresolution; + int feedl; + + DBG(DBG_proc, "%s: start\n", __func__); + DBG(DBG_info, "%s: startx=%d, endx=%d, linecnt=%d\n", __func__, startx, endx, linecnt); + + /* x resolution is capped by sensor's capability */ + if (resolution > sensor.optical_res) + { + xresolution = sensor.optical_res; + } + else + { + xresolution = resolution; + } + + /* for the given resolution, search for master + * sensor mode setting */ + i = 0; + nb = sizeof (sensor_master) / sizeof (Sensor_Master); + while (i < nb) + { + if (dev->model->ccd_type == sensor_master[i].sensor + && sensor_master[i].dpi == xresolution + && sensor_master[i].channels == params.channels) + { + sensor_mst = &sensor_master[i]; + } + i++; + } + if (sensor_mst == NULL) + { + DBG(DBG_error, "%s: unable to find settings for sensor %d at %d dpi channels=%d\n", __func__, + dev->model->ccd_type, xresolution, params.channels); + return SANE_STATUS_INVAL; + } + + /* for the given resolution, search for master + * motor mode setting */ + i = 0; + nb = sizeof (motor_master) / sizeof (Motor_Master); + while (i < nb) + { + if (dev->model->motor_type == motor_master[i].motor + && motor_master[i].dpi == resolution + && motor_master[i].channels == params.channels) + { + motor = &motor_master[i]; + } + i++; + } + if (motor == NULL) + { + DBG(DBG_error, "%s: unable to find settings for motor %d at %d dpi, color=%d\n", __func__, + dev->model->motor_type, resolution, params.channels); + return SANE_STATUS_INVAL; + } + + /* now we can search for the specific sensor settings */ + i = 0; + nb = sizeof (sensor_settings) / sizeof (Sensor_Settings); + while (i < nb) + { + if (sensor_mst->sensor == sensor_settings[i].sensor + && sensor_mst->cksel == sensor_settings[i].cksel) + { + settings = &sensor_settings[i]; + } + i++; + } + if (settings == NULL) + { + DBG(DBG_error, "%s: unable to find settings for sensor %d with '%d' ccd timing\n", __func__, + sensor_mst->sensor, sensor_mst->cksel); + return SANE_STATUS_INVAL; + } + + /* half_ccd if manual clock programming or dpi is half dpiset */ + half_ccd = sensor_mst->half_ccd; + + /* now apply values from settings to registers */ + if (sensor_mst->regs_0x10_0x15 != NULL) + { + for (i = 0; i < 6; i++) + { + r = sanei_genesys_get_address (regs, 0x10 + i); + r->value = sensor_mst->regs_0x10_0x15[i]; + } + } + else + { + for (i = 0; i < 6; i++) + { + r = sanei_genesys_get_address (regs, 0x10 + i); + r->value = 0; + } + } + + for (i = 0; i < 4; i++) + { + r = sanei_genesys_get_address (regs, 0x08 + i); + if (half_ccd == SANE_TRUE) + r->value = settings->manual_0x08_0x0b[i]; + else + r->value = settings->regs_0x08_0x0b[i]; + } + + for (i = 0; i < 8; i++) + { + r = sanei_genesys_get_address (regs, 0x16 + i); + r->value = settings->regs_0x16_0x1d[i]; + } + + for (i = 0; i < 13; i++) + { + r = sanei_genesys_get_address (regs, 0x52 + i); + r->value = settings->regs_0x52_0x5e[i]; + } + if (half_ccd == SANE_TRUE) + { + for (i = 0; i < 7; i++) + { + r = sanei_genesys_get_address (regs, 0x52 + i); + r->value = settings->manual_0x52_0x58[i]; + } + } + + /* now generate slope tables : we are not using generate_slope_table3 yet */ + sanei_genesys_generate_slope_table (slope_table1, motor->steps1, + motor->steps1 + 1, motor->vend1, + motor->vstart1, motor->vend1, + motor->steps1, motor->g1, &used1, + &vfinal); + sanei_genesys_generate_slope_table (slope_table2, motor->steps2, + motor->steps2 + 1, motor->vend2, + motor->vstart2, motor->vend2, + motor->steps2, motor->g2, &used2, + &vfinal); + + /* R01 */ + /* now setup other registers for final scan (ie with shading enabled) */ + /* watch dog + shading + scan enable */ + regs->find_reg(0x01).value |= REG01_DOGENB | REG01_DVDSET | REG01_SCAN; + if (dev->model->is_cis == SANE_TRUE) + regs->find_reg(0x01).value |= REG01_CISSET; + else + regs->find_reg(0x01).value &= ~REG01_CISSET; + + /* if device has no calibration, don't enable shading correction */ + if (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION) + { + regs->find_reg(0x01).value &= ~REG01_DVDSET; + } + + regs->find_reg(0x01).value &= ~REG01_FASTMOD; + if (motor->fastmod) + regs->find_reg(0x01).value |= REG01_FASTMOD; + + /* R02 */ + /* allow moving when buffer full by default */ + if (dev->model->is_sheetfed == SANE_FALSE) + dev->reg.find_reg(0x02).value &= ~REG02_ACDCDIS; + else + dev->reg.find_reg(0x02).value |= REG02_ACDCDIS; + + /* setup motor power and direction */ + sanei_genesys_set_motor_power(*regs, true); + regs->find_reg(0x02).value &= ~REG02_MTRREV; + + /* fastfed enabled (2 motor slope tables) */ + if (motor->fastfed) + regs->find_reg(0x02).value |= REG02_FASTFED; + else + regs->find_reg(0x02).value &= ~REG02_FASTFED; + + /* step type */ + regs->find_reg(0x02).value &= ~REG02_STEPSEL; + switch (motor->steptype) + { + case FULL_STEP: + break; + case HALF_STEP: + regs->find_reg(0x02).value |= 1; + break; + case QUATER_STEP: + regs->find_reg(0x02).value |= 2; + break; + default: + regs->find_reg(0x02).value |= 3; + break; + } + + /* if sheetfed, no AGOHOME */ + if (dev->model->is_sheetfed == SANE_TRUE) + { + regs->find_reg(0x02).value &= ~REG02_AGOHOME; + } + else + { + regs->find_reg(0x02).value |= REG02_AGOHOME; + } + + /* R03 */ + regs->find_reg(0x03).value &= ~REG03_AVEENB; + /* regs->find_reg(0x03).value |= REG03_AVEENB; */ + regs->find_reg(0x03).value &= ~REG03_LAMPDOG; + + /* select XPA */ + regs->find_reg(0x03).value &= ~REG03_XPASEL; + if (params.flags & SCAN_FLAG_USE_XPA) { + regs->find_reg(0x03).value |= REG03_XPASEL; + } + regs->state.is_xpa_on = params.flags & SCAN_FLAG_USE_XPA; + + /* R04 */ + /* monochrome / color scan */ + switch (params.depth) + { + case 1: + regs->find_reg(0x04).value &= ~REG04_BITSET; + regs->find_reg(0x04).value |= REG04_LINEART; + break; + case 8: + regs->find_reg(0x04).value &= ~(REG04_LINEART | REG04_BITSET); + break; + case 16: + regs->find_reg(0x04).value &= ~REG04_LINEART; + regs->find_reg(0x04).value |= REG04_BITSET; + break; + } + + /* R05 */ + regs->find_reg(0x05).value &= ~REG05_DPIHW; + switch (sensor.optical_res) + { + case 600: + regs->find_reg(0x05).value |= REG05_DPIHW_600; + break; + case 1200: + regs->find_reg(0x05).value |= REG05_DPIHW_1200; + break; + case 2400: + regs->find_reg(0x05).value |= REG05_DPIHW_2400; + break; + default: + regs->find_reg(0x05).value |= REG05_DPIHW; + } + + /* gamma enable for scans */ + if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) + regs->find_reg(0x05).value |= REG05_GMM14BIT; + + regs->find_reg(0x05).value &= ~REG05_GMMENB; + + /* true CIS gray if needed */ + if (dev->model->is_cis == SANE_TRUE && params.channels == 1 + && dev->settings.true_gray) + { + regs->find_reg(0x05).value |= REG05_LEDADD; + } + else + { + regs->find_reg(0x05).value &= ~REG05_LEDADD; + } + + /* cktoggle, ckdelay and cksel at once, cktdelay=2 => half_ccd for md5345 */ + regs->find_reg(0x18).value = sensor_mst->r18; + + /* manual CCD/2 clock programming => half_ccd for hp2300 */ + regs->find_reg(0x1d).value = sensor_mst->r1d; + + /* HP2400 1200dpi mode tuning */ + + if (dev->model->ccd_type == CCD_HP2400) + { + /* reset count of dummy lines to zero */ + regs->find_reg(0x1e).value &= ~REG1E_LINESEL; + if (params.xres >= 1200) + { + /* there must be one dummy line */ + regs->find_reg(0x1e).value |= 1 & REG1E_LINESEL; + + /* GPO12 need to be set to zero */ + regs->find_reg(0x66).value &= ~0x20; + } + else + { + /* set GPO12 back to one */ + regs->find_reg(0x66).value |= 0x20; + } + } + + /* motor steps used */ + regs->find_reg(0x21).value = motor->steps1; + regs->find_reg(0x22).value = motor->fwdbwd; + regs->find_reg(0x23).value = motor->fwdbwd; + regs->find_reg(0x24).value = motor->steps1; + + /* scanned area height must be enlarged by max color shift needed */ + max_shift=sanei_genesys_compute_max_shift(dev,params.channels, params.yres, 0); + + /* we adjust linecnt according to real motor dpi */ + linecnt = (linecnt * motor->ydpi) / params.yres + max_shift; + + /* at QUATER_STEP lines are 'staggered' and need correction */ + stagger = 0; + if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) + { + /* for HP3670, stagger happens only at >=1200 dpi */ + if ((dev->model->motor_type != MOTOR_HP3670 && dev->model->motor_type != MOTOR_HP2400) + || params.yres >= (unsigned) sensor.optical_res) + { + stagger = (4 * params.yres) / dev->motor.base_ydpi; + } + } + linecnt += stagger; + + DBG(DBG_info, "%s : max_shift=%d, stagger=%d lines\n", __func__, max_shift, stagger); + + /* CIS scanners read one line per color channel + * since gray mode use 'add' we also read 3 channels even not in + * color mode */ + if (dev->model->is_cis == SANE_TRUE) + { + sanei_genesys_set_triple(regs, REG_LINCNT, linecnt * 3); + linecnt *= params.channels; + } + else + { + sanei_genesys_set_triple(regs, REG_LINCNT, linecnt); + } + + /* scanner's x coordinates are expressed in physical DPI but they must be divided by cksel */ + sx = startx / sensor_mst->cksel; + ex = endx / sensor_mst->cksel; + if (half_ccd == SANE_TRUE) + { + sx /= 2; + ex /= 2; + } + sanei_genesys_set_double(regs, REG_STRPIXEL, sx); + sanei_genesys_set_double(regs, REG_ENDPIXEL, ex); + DBG(DBG_info, "%s: startx=%d, endx=%d, half_ccd=%d\n", __func__, sx, ex, half_ccd); + + /* words_per_line must be computed according to the scan's resolution */ + /* in fact, words_per_line _gives_ the actual scan resolution */ + words_per_line = (((endx - startx) * sensor_mst->xdpi) / sensor.optical_res); + bpp=params.depth/8; + if (params.depth == 1) + { + words_per_line = (words_per_line+7)/8 ; + bpp=1; + } + else + { + words_per_line *= bpp; + } + dev->bpl = words_per_line; + words_per_line *= params.channels; + dev->wpl = words_per_line; + + DBG(DBG_info, "%s: wpl=%d\n", __func__, words_per_line); + sanei_genesys_set_triple(regs, REG_MAXWD, words_per_line); + + sanei_genesys_set_double(regs, REG_DPISET, sensor_mst->dpiset); + sanei_genesys_set_double(regs, REG_LPERIOD, sensor_mst->exposure); + + /* move distance must be adjusted to take into account the extra lines + * read to reorder data */ + feedl = move; + if (stagger + max_shift > 0 && feedl != 0) + { + if (feedl > + ((max_shift + stagger) * dev->motor.optical_ydpi) / motor->ydpi) + feedl = + feedl - + ((max_shift + stagger) * dev->motor.optical_ydpi) / motor->ydpi; + } + + /* we assume all scans are done with 2 tables */ + /* + feedl = feed_steps - fast_slope_steps*2 - + (slow_slope_steps >> scan_step_type); */ + /* but head has moved due to shading calibration => dev->scanhead_position_in_steps */ + if (feedl > 0) + { + /* take into account the distance moved during calibration */ + /* feedl -= dev->scanhead_position_in_steps; */ + DBG(DBG_info, "%s: initial move=%d\n", __func__, feedl); + DBG(DBG_info, "%s: scanhead_position_in_steps=%d\n", __func__, + dev->scanhead_position_in_steps); + + /* TODO clean up this when I'll fully understand. + * for now, special casing each motor */ + switch (dev->model->motor_type) + { + case MOTOR_5345: + switch (motor->ydpi) + { + case 200: + feedl -= 70; + break; + case 300: + feedl -= 70; + break; + case 400: + feedl += 130; + break; + case 600: + feedl += 160; + break; + case 1200: + feedl += 160; + break; + case 2400: + feedl += 180; + break; + default: + break; + } + break; + case MOTOR_HP2300: + switch (motor->ydpi) + { + case 75: + feedl -= 180; + break; + case 150: + feedl += 0; + break; + case 300: + feedl += 30; + break; + case 600: + feedl += 35; + break; + case 1200: + feedl += 45; + break; + default: + break; + } + break; + case MOTOR_HP2400: + switch (motor->ydpi) + { + case 150: + feedl += 150; + break; + case 300: + feedl += 220; + break; + case 600: + feedl += 260; + break; + case 1200: + feedl += 280; /* 300 */ + break; + case 50: + feedl += 0; + break; + case 100: + feedl += 100; + break; + default: + break; + } + break; + + /* theorical value */ + default: + if (motor->fastfed) + { + feedl = + feedl - 2 * motor->steps2 - + (motor->steps1 >> motor->steptype); + } + else + { + feedl = feedl - (motor->steps1 >> motor->steptype); + } + break; + } + /* security */ + if (feedl < 0) + feedl = 0; + } + + DBG(DBG_info, "%s: final move=%d\n", __func__, feedl); + sanei_genesys_set_triple(regs, REG_FEEDL, feedl); + + regs->find_reg(0x65).value = motor->mtrpwm; + + sanei_genesys_calculate_zmode2 (regs->find_reg(0x02).value & REG02_FASTFED, + sensor_mst->exposure, + slope_table1, + motor->steps1, + move, motor->fwdbwd, &z1, &z2); + + /* no z1/z2 for sheetfed scanners */ + if (dev->model->is_sheetfed == SANE_TRUE) + { + z1 = 0; + z2 = 0; + } + sanei_genesys_set_double(regs, REG_Z1MOD, z1); + sanei_genesys_set_double(regs, REG_Z2MOD, z2); + regs->find_reg(0x6b).value = motor->steps2; + regs->find_reg(0x6c).value = + (regs->find_reg(0x6c).value & REG6C_TGTIME) | ((z1 >> 13) & 0x38) | ((z2 >> 16) + & 0x07); + + RIE (write_control (dev, sensor, xresolution)); + + /* setup analog frontend */ + RIE (gl646_set_fe(dev, sensor, AFE_SET, xresolution)); + + /* now we're done with registers setup values used by data transfer */ + /* we setup values needed for the data transfer */ + + /* we must use a round number of words_per_line */ + requested_buffer_size = 8 * words_per_line; + read_buffer_size = + 2 * requested_buffer_size + + ((max_shift + stagger) * params.pixels * params.channels * params.depth) / 8; + + dev->read_buffer.clear(); + dev->read_buffer.alloc(read_buffer_size); + + dev->lines_buffer.clear(); + dev->lines_buffer.alloc(read_buffer_size); + + dev->shrink_buffer.clear(); + dev->shrink_buffer.alloc(requested_buffer_size); + + dev->out_buffer.clear(); + dev->out_buffer.alloc(8 * params.pixels * params.channels * bpp); + + /* scan bytes to read */ + dev->read_bytes_left = words_per_line * linecnt; + + DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); + dev->read_active = SANE_TRUE; + + dev->current_setup.params = params; + dev->current_setup.pixels = + ((endx - startx) * sensor_mst->xdpi) / sensor.optical_res; + dev->current_setup.lines = linecnt; + dev->current_setup.depth = params.depth; + dev->current_setup.channels = params.channels; + dev->current_setup.exposure_time = sensor_mst->exposure; + dev->current_setup.xres = sensor_mst->xdpi; + dev->current_setup.yres = motor->ydpi; + dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; + dev->current_setup.stagger = stagger; + dev->current_setup.max_shift = max_shift + stagger; + + /* total_bytes_to_read is the number of byte to send to frontend + * total_bytes_read is the number of bytes sent to frontend + * read_bytes_left is the number of bytes to read from the scanner + */ + dev->total_bytes_read = 0; + if (params.depth == 1) { + dev->total_bytes_to_read = ((params.pixels * params.lines) / 8 + + (((params.pixels * params.lines) % 8) ? 1 : 0)) * params.channels; + } else { + dev->total_bytes_to_read = params.pixels * params.lines * params.channels * bpp; + } + + /* select color filter based on settings */ + regs->find_reg(0x04).value &= ~REG04_FILTER; + if (params.channels == 1) { + switch (params.color_filter) { + case ColorFilter::RED: + regs->find_reg(0x04).value |= 0x04; + break; + case ColorFilter::GREEN: + regs->find_reg(0x04).value |= 0x08; + break; + case ColorFilter::BLUE: + regs->find_reg(0x04).value |= 0x0c; + break; + default: + break; + } + } + + DBG(DBG_proc, "%s: end\n", __func__); + return SANE_STATUS_GOOD; +} + + +/** copy sensor specific settings */ +/* *dev : device infos + *regs : regiters to be set + extended : do extended set up + half_ccd: set up for half ccd resolution + all registers 08-0B, 10-1D, 52-5E are set up. They shouldn't + appear anywhere else but in register init +*/ +static void +gl646_setup_sensor (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * regs) +{ + (void) dev; + DBG(DBG_proc, "%s: start\n", __func__); + + for (const auto& reg_setting : sensor.custom_regs) { + regs->set8(reg_setting.address, reg_setting.value); + } + // FIXME: all other drivers don't set exposure here + sanei_genesys_set_exposure(*regs, sensor.exposure); + + DBG(DBG_proc, "%s: end\n", __func__); +} + +/** Test if the ASIC works + */ +static SANE_Status +gl646_asic_test (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + size_t size, verify_size; + unsigned int i; + + DBG(DBG_proc, "%s: start\n", __func__); + + /* set and read exposure time, compare if it's the same */ + status = sanei_genesys_write_register (dev, 0x38, 0xde); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write register: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_write_register (dev, 0x39, 0xad); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write register: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_read_register (dev, 0x4e, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read register: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (val != 0xde) /* value of register 0x38 */ + { + DBG(DBG_error, "%s: register contains invalid value\n", __func__); + return SANE_STATUS_IO_ERROR; + } + + status = sanei_genesys_read_register (dev, 0x4f, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read register: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (val != 0xad) /* value of register 0x39 */ + { + DBG(DBG_error, "%s: register contains invalid value\n", __func__); + return SANE_STATUS_IO_ERROR; + } + + /* ram test: */ + size = 0x40000; + verify_size = size + 0x80; + /* todo: looks like the read size must be a multiple of 128? + otherwise the read doesn't succeed the second time after the scanner has + been plugged in. Very strange. */ + + std::vector data(size); + std::vector verify_data(verify_size); + + for (i = 0; i < (size - 1); i += 2) + { + data[i] = i / 512; + data[i + 1] = (i / 2) % 256; + } + + status = sanei_genesys_set_buffer_address (dev, 0x0000); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_bulk_write_data(dev, 0x3c, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_set_buffer_address (dev, 0x0000); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = + gl646_bulk_read_data (dev, 0x45, verify_data.data(), verify_size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* i + 2 is needed as the changed address goes into effect only after one + data word is sent. */ + for (i = 0; i < size; i++) + { + if (verify_data[i + 2] != data[i]) + { + DBG(DBG_error, "%s: data verification error\n", __func__); + return SANE_STATUS_IO_ERROR; + } + } + + DBG(DBG_info, "%s: end\n", __func__); + + return SANE_STATUS_GOOD; +} + +/** + * Set all registers to default values after init + * @param dev scannerr's device to set + */ +static void +gl646_init_regs (Genesys_Device * dev) +{ + int addr; + + DBG(DBG_proc, "%s\n", __func__); + + dev->reg.clear(); + + for (addr = 1; addr <= 0x0b; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x10; addr <= 0x29; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x2c; addr <= 0x39; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x3d; addr <= 0x3f; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x52; addr <= 0x5e; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x60; addr <= 0x6d; addr++) + dev->reg.init_reg(addr, 0); + + dev->reg.find_reg(0x01).value = 0x20 /*0x22 */ ; /* enable shading, CCD, color, 1M */ + dev->reg.find_reg(0x02).value = 0x30 /*0x38 */ ; /* auto home, one-table-move, full step */ + if (dev->model->motor_type == MOTOR_5345) + dev->reg.find_reg(0x02).value |= 0x01; /* half-step */ + switch (dev->model->motor_type) + { + case MOTOR_5345: + dev->reg.find_reg(0x02).value |= 0x01; /* half-step */ + break; + case MOTOR_XP200: + /* for this sheetfed scanner, no AGOHOME, nor backtracking */ + dev->reg.find_reg(0x02).value = 0x50; + break; + default: + break; + } + dev->reg.find_reg(0x03).value = 0x1f /*0x17 */ ; /* lamp on */ + dev->reg.find_reg(0x04).value = 0x13 /*0x03 */ ; /* 8 bits data, 16 bits A/D, color, Wolfson fe *//* todo: according to spec, 0x0 is reserved? */ + switch (dev->model->dac_type) + { + case DAC_AD_XP200: + dev->reg.find_reg(0x04).value = 0x12; + break; + default: + /* Wolfson frontend */ + dev->reg.find_reg(0x04).value = 0x13; + break; + } + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + dev->reg.find_reg(0x05).value = 0x00; /* 12 bits gamma, disable gamma, 24 clocks/pixel */ + switch (sensor.optical_res) + { + case 600: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_600; + break; + case 1200: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_1200; + break; + case 2400: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; + break; + default: + dev->reg.find_reg(0x05).value |= REG05_DPIHW; + break; + } + if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) + dev->reg.find_reg(0x05).value |= REG05_GMM14BIT; + if (dev->model->dac_type == DAC_AD_XP200) + dev->reg.find_reg(0x05).value |= 0x01; /* 12 clocks/pixel */ + + if (dev->model->ccd_type == CCD_HP2300) + dev->reg.find_reg(0x06).value = 0x00; /* PWRBIT off, shading gain=4, normal AFE image capture */ + else + dev->reg.find_reg(0x06).value = 0x18; /* PWRBIT on, shading gain=8, normal AFE image capture */ + + + gl646_setup_sensor(dev, sensor, &dev->reg); + + dev->reg.find_reg(0x1e).value = 0xf0; /* watch-dog time */ + + switch (dev->model->ccd_type) + { + case CCD_HP2300: + dev->reg.find_reg(0x1e).value = 0xf0; + dev->reg.find_reg(0x1f).value = 0x10; + dev->reg.find_reg(0x20).value = 0x20; + break; + case CCD_HP2400: + dev->reg.find_reg(0x1e).value = 0x80; + dev->reg.find_reg(0x1f).value = 0x10; + dev->reg.find_reg(0x20).value = 0x20; + break; + case CCD_HP3670: + dev->reg.find_reg(0x19).value = 0x2a; + dev->reg.find_reg(0x1e).value = 0x80; + dev->reg.find_reg(0x1f).value = 0x10; + dev->reg.find_reg(0x20).value = 0x20; + break; + case CIS_XP200: + dev->reg.find_reg(0x1e).value = 0x10; + dev->reg.find_reg(0x1f).value = 0x01; + dev->reg.find_reg(0x20).value = 0x50; + break; + default: + dev->reg.find_reg(0x1f).value = 0x01; + dev->reg.find_reg(0x20).value = 0x50; + break; + } + + dev->reg.find_reg(0x21).value = 0x08 /*0x20 */ ; /* table one steps number for forward slope curve of the acc/dec */ + dev->reg.find_reg(0x22).value = 0x10 /*0x08 */ ; /* steps number of the forward steps for start/stop */ + dev->reg.find_reg(0x23).value = 0x10 /*0x08 */ ; /* steps number of the backward steps for start/stop */ + dev->reg.find_reg(0x24).value = 0x08 /*0x20 */ ; /* table one steps number backward slope curve of the acc/dec */ + dev->reg.find_reg(0x25).value = 0x00; /* scan line numbers (7000) */ + dev->reg.find_reg(0x26).value = 0x00 /*0x1b */ ; + dev->reg.find_reg(0x27).value = 0xd4 /*0x58 */ ; + dev->reg.find_reg(0x28).value = 0x01; /* PWM duty for lamp control */ + dev->reg.find_reg(0x29).value = 0xff; + + dev->reg.find_reg(0x2c).value = 0x02; /* set resolution (600 DPI) */ + dev->reg.find_reg(0x2d).value = 0x58; + dev->reg.find_reg(0x2e).value = 0x78; /* set black&white threshold high level */ + dev->reg.find_reg(0x2f).value = 0x7f; /* set black&white threshold low level */ + + dev->reg.find_reg(0x30).value = 0x00; /* begin pixel position (16) */ + dev->reg.find_reg(0x31).value = sensor.dummy_pixel /*0x10 */ ; /* TGW + 2*TG_SHLD + x */ + dev->reg.find_reg(0x32).value = 0x2a /*0x15 */ ; /* end pixel position (5390) */ + dev->reg.find_reg(0x33).value = 0xf8 /*0x0e */ ; /* TGW + 2*TG_SHLD + y */ + dev->reg.find_reg(0x34).value = sensor.dummy_pixel; + dev->reg.find_reg(0x35).value = 0x01 /*0x00 */ ; /* set maximum word size per line, for buffer full control (10800) */ + dev->reg.find_reg(0x36).value = 0x00 /*0x2a */ ; + dev->reg.find_reg(0x37).value = 0x00 /*0x30 */ ; + dev->reg.find_reg(0x38).value = 0x2a; // line period (exposure time = 11000 pixels) */ + dev->reg.find_reg(0x39).value = 0xf8; + dev->reg.find_reg(0x3d).value = 0x00; /* set feed steps number of motor move */ + dev->reg.find_reg(0x3e).value = 0x00; + dev->reg.find_reg(0x3f).value = 0x01 /*0x00 */ ; + + dev->reg.find_reg(0x60).value = 0x00; /* Z1MOD, 60h:61h:(6D b5:b3), remainder for start/stop */ + dev->reg.find_reg(0x61).value = 0x00; /* (21h+22h)/LPeriod */ + dev->reg.find_reg(0x62).value = 0x00; /* Z2MODE, 62h:63h:(6D b2:b0), remainder for start scan */ + dev->reg.find_reg(0x63).value = 0x00; /* (3Dh+3Eh+3Fh)/LPeriod for one-table mode,(21h+1Fh)/LPeriod */ + dev->reg.find_reg(0x64).value = 0x00; /* motor PWM frequency */ + dev->reg.find_reg(0x65).value = 0x00; /* PWM duty cycle for table one motor phase (63 = max) */ + if (dev->model->motor_type == MOTOR_5345) + dev->reg.find_reg(0x65).value = 0x02; /* PWM duty cycle for table one motor phase (63 = max) */ + dev->reg.find_reg(0x66).value = dev->gpo.value[0]; + dev->reg.find_reg(0x67).value = dev->gpo.value[1]; + dev->reg.find_reg(0x68).value = dev->gpo.enable[0]; + dev->reg.find_reg(0x69).value = dev->gpo.enable[1]; + + switch (dev->model->motor_type) + { + case MOTOR_HP2300: + case MOTOR_HP2400: + dev->reg.find_reg(0x6a).value = 0x7f; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6b).value = 0x78; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6d).value = 0x7f; + break; + case MOTOR_5345: + dev->reg.find_reg(0x6a).value = 0x42; /* table two fast moving step type, PWM duty for table two */ + dev->reg.find_reg(0x6b).value = 0xff; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6d).value = 0x41; /* select deceleration steps whenever go home (0), accel/decel stop time (31 * LPeriod) */ + break; + case MOTOR_XP200: + dev->reg.find_reg(0x6a).value = 0x7f; /* table two fast moving step type, PWM duty for table two */ + dev->reg.find_reg(0x6b).value = 0x08; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6d).value = 0x01; /* select deceleration steps whenever go home (0), accel/decel stop time (31 * LPeriod) */ + break; + case MOTOR_HP3670: + dev->reg.find_reg(0x6a).value = 0x41; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6b).value = 0xc8; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6d).value = 0x7f; + break; + default: + dev->reg.find_reg(0x6a).value = 0x40; /* table two fast moving step type, PWM duty for table two */ + dev->reg.find_reg(0x6b).value = 0xff; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6d).value = 0x01; /* select deceleration steps whenever go home (0), accel/decel stop time (31 * LPeriod) */ + break; + } + dev->reg.find_reg(0x6c).value = 0x00; /* peroid times for LPeriod, expR,expG,expB, Z1MODE, Z2MODE (one period time) */ +} + + +/* Send slope table for motor movement + slope_table in machine byte order +*/ +static SANE_Status +gl646_send_slope_table (Genesys_Device * dev, int table_nr, + uint16_t * slope_table, int steps) +{ + int dpihw; + int start_address; + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s (table_nr = %d, steps = %d)=%d .. %d\n", __func__, table_nr, steps, + slope_table[0], slope_table[steps - 1]); + + dpihw = dev->reg.find_reg(0x05).value >> 6; + + if (dpihw == 0) /* 600 dpi */ + start_address = 0x08000; + else if (dpihw == 1) /* 1200 dpi */ + start_address = 0x10000; + else if (dpihw == 2) /* 2400 dpi */ + start_address = 0x1f800; + else /* reserved */ + return SANE_STATUS_INVAL; + + std::vector table(steps * 2); + for (int i = 0; i < steps; i++) + { + table[i * 2] = slope_table[i] & 0xff; + table[i * 2 + 1] = slope_table[i] >> 8; + } + + status = + sanei_genesys_set_buffer_address (dev, start_address + table_nr * 0x100); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_bulk_write_data(dev, 0x3c, table.data(), steps * 2); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send slope table: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_proc, "%s: end\n", __func__); + return status; +} + +/* Set values of Analog Device type frontend */ +static SANE_Status +gl646_set_ad_fe (Genesys_Device * dev, uint8_t set) +{ + SANE_Status status = SANE_STATUS_GOOD; + int i; + + DBG(DBG_proc, "%s(): start\n", __func__); + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); + + dev->frontend = dev->frontend_initial; + + /* write them to analog frontend */ + status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write reg0: %s\n", __func__, sane_strstatus(status)); + return status; + } + status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write reg1: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + if (set == AFE_SET) + { + for (i = 0; i < 3; i++) + { + status = sanei_genesys_fe_write_data(dev, 0x02 + i, dev->frontend.get_gain(i)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write gain %d: %s\n", __func__, i, + sane_strstatus(status)); + return status; + } + } + for (i = 0; i < 3; i++) + { + status = sanei_genesys_fe_write_data(dev, 0x05 + i, dev->frontend.get_offset(i)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write offset %d: %s\n", __func__, i, + sane_strstatus(status)); + return status; + } + } + } + /* + if (set == AFE_POWER_SAVE) + { + status = + sanei_genesys_fe_write_data (dev, 0x00, dev->frontend.reg[0] | 0x04); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write reg0: %s\n", __func__, sane_strstatus(status)); + return status; + } + } */ + DBG(DBG_proc, "%s(): end\n", __func__); + + return status; +} + +/** set up analog frontend + * set up analog frontend + * @param dev device to set up + * @param set action from AFE_SET, AFE_INIT and AFE_POWERSAVE + * @param dpi resolution of the scan since it affects settings + * @return SANE_STATUS_GOOD if evrithing OK + */ +static SANE_Status +gl646_wm_hp3670(Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set, int dpi) +{ + SANE_Status status = SANE_STATUS_GOOD; + int i; + + DBGSTART; + switch (set) + { + case AFE_INIT: + status = sanei_genesys_fe_write_data (dev, 0x04, 0x80); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: reset failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + sanei_genesys_sleep_ms(200); + RIE (sanei_genesys_write_register (dev, 0x50, 0x00)); + dev->frontend = dev->frontend_initial; + status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg1 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + status = sanei_genesys_fe_write_data(dev, 0x02, dev->frontend.regs.get_value(0x02)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg2 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + gl646_gpio_output_enable(dev->usb_dev, 0x07); + break; + case AFE_POWER_SAVE: + status = sanei_genesys_fe_write_data (dev, 0x01, 0x06); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg1 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + status = sanei_genesys_fe_write_data (dev, 0x06, 0x0f); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg6 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + return status; + break; + default: /* AFE_SET */ + /* mode setup */ + i = dev->frontend.regs.get_value(0x03); + if (dpi > sensor.optical_res / 2) + { + /* fe_reg_0x03 must be 0x12 for 1200 dpi in DAC_WOLFSON_HP3670. + * DAC_WOLFSON_HP2400 in 1200 dpi mode works well with + * fe_reg_0x03 set to 0x32 or 0x12 but not to 0x02 */ + i = 0x12; + } + status = sanei_genesys_fe_write_data (dev, 0x03, i); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg3 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + /* offset and sign (or msb/lsb ?) */ + for (i = 0; i < 3; i++) + { + status = + sanei_genesys_fe_write_data(dev, 0x20 + i, dev->frontend.get_offset(i)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing offset%d failed: %s\n", __func__, i, + sane_strstatus (status)); + return status; + } + status = sanei_genesys_fe_write_data(dev, 0x24 + i, + dev->frontend.regs.get_value(0x24 + i)); /* MSB/LSB ? */ + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing sign%d failed: %s\n", __func__, i, + sane_strstatus(status)); + return status; + } + } + + /* gain */ + for (i = 0; i < 3; i++) + { + status = + sanei_genesys_fe_write_data(dev, 0x28 + i, dev->frontend.get_gain(i)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing gain%d failed: %s\n", __func__, i, + sane_strstatus(status)); + return status; + } + } + } + + DBGCOMPLETED; + return status; +} + +/** Set values of analog frontend + * @param dev device to set + * @param set action to execute + * @param dpi dpi to setup the AFE + * @return error or SANE_STATUS_GOOD */ +static SANE_Status +gl646_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set, int dpi) +{ + SANE_Status status = SANE_STATUS_GOOD; + int i; + uint8_t val; + + DBG(DBG_proc, "%s (%s,%d)\n", __func__, set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == + AFE_POWER_SAVE ? "powersave" : "huh?", dpi); + + /* Analog Device type frontend */ + if ((dev->reg.find_reg(0x04).value & REG04_FESET) == 0x02) + return gl646_set_ad_fe (dev, set); + + /* Wolfson type frontend */ + if ((dev->reg.find_reg(0x04).value & REG04_FESET) != 0x03) + { + DBG(DBG_proc, "%s(): unsupported frontend type %d\n", __func__, + dev->reg.find_reg(0x04).value & REG04_FESET); + return SANE_STATUS_UNSUPPORTED; + } + + /* per frontend function to keep code clean */ + switch (dev->model->dac_type) + { + case DAC_WOLFSON_HP3670: + case DAC_WOLFSON_HP2400: + return gl646_wm_hp3670(dev, sensor, set, dpi); + break; + default: + DBG(DBG_proc, "%s(): using old method\n", __func__); + break; + } + + /* initialize analog frontend */ + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); + dev->frontend = dev->frontend_initial; + + /* reset only done on init */ + status = sanei_genesys_fe_write_data (dev, 0x04, 0x80); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: init fe failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* enable GPIO for some models */ + if (dev->model->ccd_type == CCD_HP2300) + { + val = 0x07; + gl646_gpio_output_enable(dev->usb_dev, val); + } + return status; + } + + /* set fontend to power saving mode */ + if (set == AFE_POWER_SAVE) + { + status = sanei_genesys_fe_write_data (dev, 0x01, 0x02); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing data failed: %s\n", __func__, sane_strstatus(status)); + } + return status; + } + + /* here starts AFE_SET */ + /* TODO : base this test on cfg reg3 or a CCD family flag to be created */ + /* if (dev->model->ccd_type != CCD_HP2300 + && dev->model->ccd_type != CCD_HP3670 + && dev->model->ccd_type != CCD_HP2400) */ + { + status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg0 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + status = sanei_genesys_fe_write_data(dev, 0x02, dev->frontend.regs.get_value(0x02)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg2 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + /* start with reg3 */ + status = sanei_genesys_fe_write_data(dev, 0x03, dev->frontend.regs.get_value(0x03)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg3 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + switch (dev->model->ccd_type) + { + default: + for (i = 0; i < 3; i++) + { + status = + sanei_genesys_fe_write_data(dev, 0x24 + i, + dev->frontend.regs.get_value(0x24 + i)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing sign[%d] failed: %s\n", __func__, i, + sane_strstatus(status)); + return status; + } + + status = + sanei_genesys_fe_write_data(dev, 0x28 + i, dev->frontend.get_gain(i)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing gain[%d] failed: %s\n", __func__, i, + sane_strstatus(status)); + return status; + } + + status = + sanei_genesys_fe_write_data(dev, 0x20 + i, dev->frontend.get_offset(i)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing offset[%d] failed: %s\n", __func__, i, + sane_strstatus(status)); + return status; + } + } + break; + /* just can't have it to work .... + case CCD_HP2300: + case CCD_HP2400: + case CCD_HP3670: + + status = + sanei_genesys_fe_write_data(dev, 0x23, dev->frontend.get_offset(1)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing offset[1] failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + status = sanei_genesys_fe_write_data(dev, 0x28, dev->frontend.get_gain(1)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing gain[1] failed: %s\n", __func__, sane_strstatus (status)); + return status; + } + break; */ + } + + /* end with reg1 */ + status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg1 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + + DBG(DBG_proc, "%s: end\n", __func__); + + return SANE_STATUS_GOOD; +} + +/** Set values of analog frontend + * this this the public interface, the gl646 as to use one more + * parameter to work effectively, hence the redirection + * @param dev device to set + * @param set action to execute + * @return error or SANE_STATUS_GOOD */ +static SANE_Status +gl646_public_set_fe (Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set) +{ + return gl646_set_fe(dev, sensor, set, dev->settings.yres); +} + +/** + * enters or leaves power saving mode + * limited to AFE for now. + * @param dev scanner's device + * @param enable SANE_TRUE to enable power saving, SANE_FALSE to leave it + * @return allways SANE_STATUS_GOOD + */ +static +SANE_Status +gl646_save_power (Genesys_Device * dev, SANE_Bool enable) +{ + + DBGSTART; + DBG(DBG_info, "%s: enable = %d\n", __func__, enable); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + if (enable) + { + /* gl646_set_fe(dev, sensor, AFE_POWER_SAVE); */ + } + else + { + gl646_set_fe(dev, sensor, AFE_INIT, 0); + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl646_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) +{ + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Register_Set local_reg(Genesys_Register_Set::SEQUENTIAL); + int rate, exposure_time, tgtime, time; + + DBG(DBG_proc, "%s (delay = %d)\n", __func__, delay); + + local_reg.init_reg(0x01, dev->reg.get8(0x01)); // disable fastmode + local_reg.init_reg(0x03, dev->reg.get8(0x03)); // Lamp power control + local_reg.init_reg(0x05, dev->reg.get8(0x05) & ~REG05_BASESEL); // 24 clocks/pixel + local_reg.init_reg(0x38, 0x00); // line period low + local_reg.init_reg(0x39, 0x00); //line period high + local_reg.init_reg(0x6c, 0x00); // period times for LPeriod, expR,expG,expB, Z1MODE, Z2MODE + + if (!delay) + local_reg.find_reg(0x03).value &= 0xf0; /* disable lampdog and set lamptime = 0 */ + else if (delay < 20) + local_reg.find_reg(0x03).value = (local_reg.get8(0x03) & 0xf0) | 0x09; /* enable lampdog and set lamptime = 1 */ + else + local_reg.find_reg(0x03).value = (local_reg.get8(0x03) & 0xf0) | 0x0f; /* enable lampdog and set lamptime = 7 */ + + time = delay * 1000 * 60; /* -> msec */ + exposure_time = + (uint32_t) (time * 32000.0 / + (24.0 * 64.0 * (local_reg.get8(0x03) & REG03_LAMPTIM) * + 1024.0) + 0.5); + /* 32000 = system clock, 24 = clocks per pixel */ + rate = (exposure_time + 65536) / 65536; + if (rate > 4) + { + rate = 8; + tgtime = 3; + } + else if (rate > 2) + { + rate = 4; + tgtime = 2; + } + else if (rate > 1) + { + rate = 2; + tgtime = 1; + } + else + { + rate = 1; + tgtime = 0; + } + + local_reg.find_reg(0x6c).value |= tgtime << 6; + exposure_time /= rate; + + if (exposure_time > 65535) + exposure_time = 65535; + + local_reg.find_reg(0x38).value = exposure_time / 256; + local_reg.find_reg(0x39).value = exposure_time & 255; + + status = sanei_genesys_bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) { + DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_proc, "%s: end\n", __func__); + return status; +} + + +/** + * loads document into scanner + * currently only used by XP200 + * bit2 (0x04) of gpio is paper event (document in/out) on XP200 + * HOMESNR is set if no document in front of sensor, the sequence of events is + * paper event -> document is in the sheet feeder + * HOMESNR becomes 0 -> document reach sensor + * HOMESNR becomes 1 ->document left sensor + * paper event -> document is out + */ +static SANE_Status +gl646_load_document (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + + // FIXME: sequential not really needed in this case + Genesys_Register_Set regs(Genesys_Register_Set::SEQUENTIAL); + unsigned int used, vfinal, count; + uint16_t slope_table[255]; + uint8_t val; + + DBG(DBG_proc, "%s: start\n", __func__); + + /* no need to load document is flatbed scanner */ + if (dev->model->is_sheetfed == SANE_FALSE) + { + DBG(DBG_proc, "%s: nothing to load\n", __func__); + DBG(DBG_proc, "%s: end\n", __func__); + return SANE_STATUS_GOOD; + } + + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* HOMSNR is set if a document is inserted */ + if ((val & REG41_HOMESNR)) + { + /* if no document, waits for a paper event to start loading */ + /* with a 60 seconde minutes timeout */ + count = 0; + do + { + gl646_gpio_read(dev->usb_dev, &val); + + DBG(DBG_info, "%s: GPIO=0x%02x\n", __func__, val); + if ((val & 0x04) != 0x04) + { + DBG(DBG_warn, "%s: no paper detected\n", __func__); + } + sanei_genesys_sleep_ms(200); + count++; + } + while (((val & 0x04) != 0x04) && (count < 300)); /* 1 min time out */ + if (count == 300) + { + DBG(DBG_error, "%s: timeout waiting for document\n", __func__); + return SANE_STATUS_NO_DOCS; + } + } + + /* set up to fast move before scan then move until document is detected */ + regs.init_reg(0x01, 0x90); + + /* AGOME, 2 slopes motor moving */ + regs.init_reg(0x02, 0x79); + + /* motor feeding steps to 0 */ + regs.init_reg(0x3d, 0); + regs.init_reg(0x3e, 0); + regs.init_reg(0x3f, 0); + + /* 50 fast moving steps */ + regs.init_reg(0x6b, 50); + + /* set GPO */ + regs.init_reg(0x66, 0x30); + + /* stesp NO */ + regs.init_reg(0x21, 4); + regs.init_reg(0x22, 1); + regs.init_reg(0x23, 1); + regs.init_reg(0x24, 4); + + /* generate slope table 2 */ + sanei_genesys_generate_slope_table (slope_table, + 50, + 51, + 2400, + 6000, 2400, 50, 0.25, &used, &vfinal); +/* document loading: + * send regs + * start motor + * wait e1 status to become e0 + */ + status = gl646_send_slope_table (dev, 1, slope_table, 50); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send slope table 1: %s\n", __func__, sane_strstatus(status)); + return status; + } + status = sanei_genesys_bulk_write_register(dev, regs); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl646_start_motor (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + + count = 0; + do + { + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus(status)); + return status; + } + sanei_genesys_sleep_ms(200); + count++; + } + while ((val & REG41_MOTMFLG) && (count < 300)); + if (count == 300) + { + DBG(DBG_error, "%s: can't load document\n", __func__); + return SANE_STATUS_JAMMED; + } + + /* when loading OK, document is here */ + dev->document = SANE_TRUE; + + /* set up to idle */ + regs.set8(0x02, 0x71); + regs.set8(0x3f, 1); + regs.set8(0x6b, 8); + status = sanei_genesys_bulk_write_register(dev, regs); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write idle registers: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + DBG(DBG_proc, "%s: end\n", __func__); + + return status; +} + +/** + * detects end of document and adjust current scan + * to take it into account + * used by sheetfed scanners + */ +static SANE_Status +gl646_detect_document_end (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val, gpio; + unsigned int bytes_left, lines; + + DBG(DBG_proc, "%s: start\n", __func__); + + /* test for document presence */ + RIE (sanei_genesys_get_status (dev, &val)); + if (DBG_LEVEL > DBG_info) + { + print_status (val); + } + gl646_gpio_read(dev->usb_dev, &gpio); + DBG(DBG_info, "%s: GPIO=0x%02x\n", __func__, gpio); + + /* detect document event. There one event when the document go in, + * then another when it leaves */ + if ((dev->document == SANE_TRUE) && (gpio & 0x04) + && (dev->total_bytes_read > 0)) + { + DBG(DBG_info, "%s: no more document\n", __func__); + dev->document = SANE_FALSE; + + /* adjust number of bytes to read: + * total_bytes_to_read is the number of byte to send to frontend + * total_bytes_read is the number of bytes sent to frontend + * read_bytes_left is the number of bytes to read from the scanner + */ + DBG(DBG_io, "%s: total_bytes_to_read=%lu\n", __func__, (u_long) dev->total_bytes_to_read); + DBG(DBG_io, "%s: total_bytes_read =%lu\n", __func__, (u_long) dev->total_bytes_read); + DBG(DBG_io, "%s: read_bytes_left =%lu\n", __func__, (u_long) dev->read_bytes_left); + + /* amount of data available from scanner is what to scan */ + status = sanei_genesys_read_valid_words (dev, &bytes_left); + + /* we add the number of lines needed to read the last part of the document in */ + lines = + (SANE_UNFIX (dev->model->y_offset) * dev->current_setup.yres) / + MM_PER_INCH; + DBG(DBG_io, "%s: adding %d line to flush\n", __func__, lines); + bytes_left += lines * dev->wpl; + if (dev->current_setup.depth > 8) + { + bytes_left = 2 * bytes_left; + } + if (dev->current_setup.channels > 1) + { + bytes_left = 3 * bytes_left; + } + if (bytes_left < dev->read_bytes_left) + { + dev->total_bytes_to_read = dev->total_bytes_read + bytes_left; + dev->read_bytes_left = bytes_left; + } + DBG(DBG_io, "%s: total_bytes_to_read=%lu\n", __func__, (u_long) dev->total_bytes_to_read); + DBG(DBG_io, "%s: total_bytes_read =%lu\n", __func__, (u_long) dev->total_bytes_read); + DBG(DBG_io, "%s: read_bytes_left =%lu\n", __func__, (u_long) dev->read_bytes_left); + } + DBG(DBG_proc, "%s: end\n", __func__); + + return status; +} + +/** + * eject document from the feeder + * currently only used by XP200 + * TODO we currently rely on AGOHOME not being set for sheetfed scanners, + * maybe check this flag in eject to let the document being eject automaticaly + */ +static SANE_Status +gl646_eject_document (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + + // FIXME: SEQUENTIAL not really needed in this case + Genesys_Register_Set regs((Genesys_Register_Set::SEQUENTIAL)); + unsigned int used, vfinal, count; + uint16_t slope_table[255]; + uint8_t gpio, state; + + DBG(DBG_proc, "%s: start\n", __func__); + + /* at the end there will be noe more document */ + dev->document = SANE_FALSE; + + // first check for document event + gl646_gpio_read(dev->usb_dev, &gpio); + + DBG(DBG_info, "%s: GPIO=0x%02x\n", __func__, gpio); + + /* test status : paper event + HOMESNR -> no more doc ? */ + status = sanei_genesys_get_status (dev, &state); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus(status)); + return status; + } + DBG(DBG_info, "%s: state=0x%02x\n", __func__, state); + if (DBG_LEVEL > DBG_info) + { + print_status (state); + } + + /* HOMSNR=0 if no document inserted */ + if ((state & REG41_HOMESNR) != 0) + { + dev->document = SANE_FALSE; + DBG(DBG_info, "%s: no more document to eject\n", __func__); + DBG(DBG_proc, "%s: end\n", __func__); + return status; + } + + /* there is a document inserted, eject it */ + status = sanei_genesys_write_register (dev, 0x01, 0xb0); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write register: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* wait for motor to stop */ + do + { + sanei_genesys_sleep_ms(200); + status = sanei_genesys_get_status (dev, &state); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + while (state & REG41_MOTMFLG); + + /* set up to fast move before scan then move until document is detected */ + regs.init_reg(0x01, 0xb0); + + /* AGOME, 2 slopes motor moving , eject 'backward' */ + regs.init_reg(0x02, 0x5d); + + /* motor feeding steps to 119880 */ + regs.init_reg(0x3d, 1); + regs.init_reg(0x3e, 0xd4); + regs.init_reg(0x3f, 0x48); + + /* 60 fast moving steps */ + regs.init_reg(0x6b, 60); + + /* set GPO */ + regs.init_reg(0x66, 0x30); + + /* stesp NO */ + regs.init_reg(0x21, 4); + regs.init_reg(0x22, 1); + regs.init_reg(0x23, 1); + regs.init_reg(0x24, 4); + + /* generate slope table 2 */ + sanei_genesys_generate_slope_table (slope_table, + 60, + 61, + 1600, + 10000, 1600, 60, 0.25, &used, &vfinal); +/* document eject: + * send regs + * start motor + * wait c1 status to become c8 : HOMESNR and ~MOTFLAG + */ + status = gl646_send_slope_table (dev, 1, slope_table, 60); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send slope table 1: %s\n", __func__, sane_strstatus(status)); + return status; + } + status = sanei_genesys_bulk_write_register(dev, regs); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl646_start_motor (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus (status)); + return SANE_STATUS_IO_ERROR; + } + + /* loop until paper sensor tells paper is out, and till motor is running */ + /* use a 30 timeout */ + count = 0; + do + { + status = sanei_genesys_get_status (dev, &state); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus(status)); + return status; + } + print_status (state); + sanei_genesys_sleep_ms(200); + count++; + } + while (((state & REG41_HOMESNR) == 0) && (count < 150)); + + // read GPIO on exit + gl646_gpio_read(dev->usb_dev, &gpio); + + DBG(DBG_info, "%s: GPIO=0x%02x\n", __func__, gpio); + + DBG(DBG_proc, "%s: end\n", __func__); + return status; +} + +/* Send the low-level scan command */ +static SANE_Status +gl646_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, + SANE_Bool start_motor) +{ + (void) sensor; + SANE_Status status = SANE_STATUS_GOOD; + // FIXME: SEQUENTIAL not really needed in this case + Genesys_Register_Set local_reg(Genesys_Register_Set::SEQUENTIAL); + + DBG(DBG_proc, "%s\n", __func__); + + local_reg.init_reg(0x03, sanei_genesys_read_reg_from_set(reg, 0x03)); + local_reg.init_reg(0x01, sanei_genesys_read_reg_from_set(reg, 0x01) | REG01_SCAN); /* set scan bit */ + + if (start_motor) { + local_reg.init_reg(0x0f, 0x01); + } else { + local_reg.init_reg(0x0f, 0x00); // do not start motor yet + } + + status = sanei_genesys_bulk_write_register(dev, local_reg); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_proc, "%s: end\n", __func__); + + return status; +} + + +/* Send the stop scan command */ +static SANE_Status +end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, + SANE_Bool check_stop, SANE_Bool eject) +{ + SANE_Status status = SANE_STATUS_GOOD; + int i = 0; + uint8_t val, scanfsh = 0; + + DBG(DBG_proc, "%s (check_stop = %d, eject = %d)\n", __func__, check_stop, eject); + + /* we need to compute scanfsh before cancelling scan */ + if (dev->model->is_sheetfed == SANE_TRUE) + { + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read register: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (val & REG41_SCANFSH) + scanfsh = 1; + if (DBG_LEVEL > DBG_io2) + { + print_status (val); + } + } + + /* ends scan */ + val = sanei_genesys_read_reg_from_set (reg, 0x01); + val &= ~REG01_SCAN; + sanei_genesys_set_reg_from_set (reg, 0x01, val); + status = sanei_genesys_write_register (dev, 0x01, val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write register 01: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* for sheetfed scanners, we may have to eject document */ + if (dev->model->is_sheetfed == SANE_TRUE) + { + if (eject == SANE_TRUE && dev->document == SANE_TRUE) + { + status = gl646_eject_document (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to eject document\n", __func__); + return status; + } + } + if (check_stop) + { + for (i = 0; i < 30; i++) /* do not wait longer than wait 3 seconds */ + { + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read register: %s\n", __func__, + sane_strstatus(status)); + return status; + } + if (val & REG41_SCANFSH) + scanfsh = 1; + if (DBG_LEVEL > DBG_io2) + { + print_status (val); + } + + if (!(val & REG41_MOTMFLG) && (val & REG41_FEEDFSH) && scanfsh) + { + DBG(DBG_proc, "%s: scanfeed finished\n", __func__); + break; /* leave for loop */ + } + + sanei_genesys_sleep_ms(100); + } + } + } + else /* flat bed scanners */ + { + if (check_stop) + { + for (i = 0; i < 300; i++) /* do not wait longer than wait 30 seconds */ + { + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read register: %s\n", __func__, + sane_strstatus(status)); + return status; + } + if (val & REG41_SCANFSH) + scanfsh = 1; + if (DBG_LEVEL > DBG_io) + { + print_status (val); + } + + if (!(val & REG41_MOTMFLG) && (val & REG41_FEEDFSH) && scanfsh) + { + DBG(DBG_proc, "%s: scanfeed finished\n", __func__); + break; /* leave while loop */ + } + + if ((!(val & REG41_MOTMFLG)) && (val & REG41_HOMESNR)) + { + DBG(DBG_proc, "%s: head at home\n", __func__); + break; /* leave while loop */ + } + + sanei_genesys_sleep_ms(100); + } + } + } + + DBG(DBG_proc, "%s: end (i=%u)\n", __func__, i); + + return status; +} + +/* Send the stop scan command */ +static SANE_Status +gl646_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, + SANE_Bool check_stop) +{ + return end_scan (dev, reg, check_stop, SANE_FALSE); +} + +/** + * parks head + * @param dev scanner's device + * @param wait_until_home true if the function waits until head parked + */ +static +SANE_Status +gl646_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) +{ + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Settings settings; + uint8_t val; + int i; + int loop = 0; + + DBG(DBG_proc, "%s: start , wait_until_home = %d\n", __func__, wait_until_home); + + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (DBG_LEVEL > DBG_io) + { + print_status (val); + } + + dev->scanhead_position_in_steps = 0; + + if (val & REG41_HOMESNR) /* is sensor at home? */ + { + DBG(DBG_info, "%s: end since already at home\n", __func__); + return SANE_STATUS_GOOD; + } + + /* stop motor if needed */ + if (val & REG41_MOTMFLG) + { + status = gl646_stop_motor (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop motor: %s\n", __func__, sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + sanei_genesys_sleep_ms(200); + } + + /* when scanhead is moving then wait until scanhead stops or timeout */ + DBG(DBG_info, "%s: ensuring that motor is off\n", __func__); + val = REG41_MOTMFLG; + for (i = 400; i > 0 && (val & REG41_MOTMFLG); i--) /* do not wait longer than 40 seconds, count down to get i = 0 when busy */ + { + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to read home sensor & motor status: %s\n", __func__, + sane_strstatus(status)); + return status; + } + if (((val & (REG41_MOTMFLG | REG41_HOMESNR)) == REG41_HOMESNR)) /* at home and motor is off */ + { + DBG(DBG_info, "%s: already at home and not moving\n", __func__); + return SANE_STATUS_GOOD; + } + sanei_genesys_sleep_ms(100); + } + + if (!i) /* the loop counted down to 0, scanner still is busy */ + { + DBG(DBG_error, "%s: motor is still on: device busy\n", __func__); + return SANE_STATUS_DEVICE_BUSY; + } + + /* setup for a backward scan of 65535 steps, with no actual data reading */ + settings.scan_method = ScanMethod::FLATBED; + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + settings.xres = get_lowest_resolution(dev->model->ccd_type, 1); + settings.yres = settings.xres; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = 600; + settings.lines = 1; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + settings.dynamic_lineart = SANE_FALSE; + + const auto& sensor = sanei_genesys_find_sensor(dev, settings.xres); + + status = setup_for_scan(dev, sensor, &dev->reg, settings, SANE_TRUE, SANE_TRUE, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup for scan: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* backward , no actual data scanned TODO more setup flags to avoid this register manipulations ? */ + dev->reg.find_reg(0x02).value |= REG02_MTRREV; + dev->reg.find_reg(0x01).value &= ~REG01_SCAN; + sanei_genesys_set_triple(&dev->reg, REG_FEEDL, 65535); + + /* sets frontend */ + status = gl646_set_fe(dev, sensor, AFE_SET, settings.xres); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* write scan registers */ + try { + status = sanei_genesys_bulk_write_register(dev, dev->reg); + } catch (...) { + DBG(DBG_error, "%s: failed to bulk write registers\n", __func__); + } + if (status != SANE_STATUS_GOOD) + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + + /* registers are restored to an iddl state, give up if no head to park */ + if (dev->model->is_sheetfed == SANE_TRUE) + { + DBG(DBG_proc, "%s: end \n", __func__); + return SANE_STATUS_GOOD; + } + + /* starts scan */ + status = gl646_begin_scan(dev, sensor, &dev->reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: \n", __func__); + return status; + } + + /* loop until head parked */ + if (wait_until_home) + { + while (loop < 300) /* do not wait longer then 30 seconds */ + { + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to read home sensor: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + if (val & 0x08) /* home sensor */ + { + DBG(DBG_info, "%s: reached home position\n", __func__); + DBG(DBG_proc, "%s: end\n", __func__); + sanei_genesys_sleep_ms(500); + return SANE_STATUS_GOOD; + } + sanei_genesys_sleep_ms(100); + ++loop; + } + + /* when we come here then the scanner needed too much time for this, so we better stop the motor */ + gl646_stop_motor (dev); + end_scan(dev, &dev->reg, SANE_TRUE, SANE_FALSE); + DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); + return SANE_STATUS_IO_ERROR; + } + + + DBG(DBG_info, "%s: scanhead is still moving\n", __func__); + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** + * Automatically set top-left edge of the scan area by scanning an + * area at 300 dpi from very top of scanner + * @param dev device stucture describing the scanner + * @return SANE_STATUS_GOOD in cas of success, else failure code + */ +static SANE_Status +gl646_search_start_position (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Settings settings; + unsigned int resolution, x, y; + + DBG(DBG_proc, "%s: start\n", __func__); + + /* we scan at 300 dpi */ + resolution = get_closest_resolution(dev->model->ccd_type, 300, 1); + + // FIXME: the current approach of doing search only for one resolution does not work on scanners + // whith employ different sensors with potentially different settings. + auto& sensor = sanei_genesys_find_sensor_for_write(dev, resolution); + + /* fill settings for a gray level scan */ + settings.scan_method = ScanMethod::FLATBED; + settings.scan_mode = ScanColorMode::GRAY; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = 600; + settings.lines = dev->model->search_lines; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + settings.dynamic_lineart = SANE_FALSE; + + /* scan the desired area */ + std::vector data; + status = simple_scan(dev, sensor, settings, SANE_TRUE, SANE_TRUE, SANE_FALSE, data); + + /* process data if scan is OK */ + if (status != SANE_STATUS_GOOD) { + DBG(DBG_error, "%s: simple_scan failed\n", __func__); + DBGCOMPLETED; + return status; + } + + + /* handle stagger case : reorder gray data and thus loose some lines */ + if (dev->current_setup.stagger > 0) + { + DBG(DBG_proc, "%s: 'un-staggering'\n", __func__); + for (y = 0; y < settings.lines - dev->current_setup.stagger; y++) + { + /* one point out of 2 is 'unaligned' */ + for (x = 0; x < settings.pixels; x += 2) + { + data[y * settings.pixels + x] = + data[(y + dev->current_setup.stagger) * settings.pixels + + x]; + } + } + /* correct line number */ + settings.lines -= dev->current_setup.stagger; + } + if (DBG_LEVEL >= DBG_data) + { + sanei_genesys_write_pnm_file("gl646_search_position.pnm", data.data(), settings.depth, 1, + settings.pixels, settings.lines); + } + + /* now search reference points on the data */ + status = + sanei_genesys_search_reference_point (dev, sensor, data.data(), + sensor.CCD_start_xoffset, + resolution, settings.pixels, + settings.lines); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set search reference point: %s\n", __func__, + sane_strstatus(status)); + } + + DBGCOMPLETED; + return status; +} + +/** + * internally overriden during effective calibration + * sets up register for coarse gain calibration + */ +static SANE_Status +gl646_init_regs_for_coarse_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + (void) sensor; + (void) regs; + + DBG(DBG_proc, "%s\n", __func__); + DBG(DBG_proc, "%s: end\n", __func__); + + /* to make compilers happy ... */ + if (!dev) + { + return SANE_STATUS_INVAL; + } + + return SANE_STATUS_GOOD; +} + + +/** + * init registers for shading calibration + * we assume that scanner's head is on an area suiting shading calibration. + * We scan a full scan width area by the shading line number for the device + * at either at full sensor's resolution or half depending upon half_ccd + * @param dev scanner's device + * @return SANE_STATUS_GOOD if success, else error code + */ +static SANE_Status +gl646_init_regs_for_shading(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + (void) regs; + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Settings settings; + /* 1: no half_ccd, 2: use half number of pixels */ + int half_ccd = 1; + int cksel = 1; + + DBG(DBG_proc, "%s: start\n", __func__); + + /* fill settings for scan : always a color scan */ + int channels = 3; + + if (sensor.ccd_size_divisor > 1) + { + // when shading all (full width) line, we must adapt to half_ccd case + if (is_half_ccd(dev->model->ccd_type, dev->settings.xres, channels) == SANE_TRUE) + { + half_ccd = 2; + } + } + + settings.scan_method = dev->settings.scan_method; + settings.scan_mode = dev->settings.scan_mode; + if (dev->model->is_cis == SANE_FALSE) + { + // FIXME: always a color scan, but why don't we set scan_mode to COLOR_SINGLE_PASS always? + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + } + settings.xres = sensor.optical_res / half_ccd; + cksel = get_cksel(dev->model->ccd_type, dev->settings.xres, channels); + settings.xres = settings.xres / cksel; + settings.yres = settings.xres; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = + (sensor.sensor_pixels * settings.xres) / sensor.optical_res; + dev->calib_lines = dev->model->shading_lines; + settings.lines = dev->calib_lines * (3 - half_ccd); + settings.depth = 16; + settings.color_filter = dev->settings.color_filter; + + settings.disable_interpolation = dev->settings.disable_interpolation; + settings.threshold = dev->settings.threshold; + settings.dynamic_lineart = SANE_FALSE; + + /* keep account of the movement for final scan move */ + dev->scanhead_position_in_steps += settings.lines; + + /* we don't want top offset, but we need right margin to be the same + * than the one for the final scan */ + status = setup_for_scan(dev, sensor, &dev->reg, settings, SANE_TRUE, SANE_FALSE, SANE_FALSE); + + /* used when sending shading calibration data */ + dev->calib_pixels = settings.pixels; + dev->calib_channels = dev->current_setup.channels; + if (dev->model->is_cis == SANE_FALSE) + { + dev->calib_channels = 3; + } + + /* no shading */ + dev->reg.find_reg(0x01).value &= ~REG01_DVDSET; + dev->reg.find_reg(0x02).value |= REG02_ACDCDIS; /* ease backtracking */ + dev->reg.find_reg(0x02).value &= ~(REG02_FASTFED | REG02_AGOHOME); + dev->reg.find_reg(0x05).value &= ~REG05_GMMENB; + sanei_genesys_set_motor_power(dev->reg, false); + + /* TODO another flag to setup regs ? */ + /* enforce needed LINCNT, getting rid of extra lines for color reordering */ + if (dev->model->is_cis == SANE_FALSE) + { + sanei_genesys_set_triple(&dev->reg, REG_LINCNT, dev->calib_lines); + } + else + { + sanei_genesys_set_triple(&dev->reg, REG_LINCNT, dev->calib_lines * 3); + } + + /* copy reg to calib_reg */ + dev->calib_reg = dev->reg; + + /* this is an hack to make calibration cache working .... */ + /* if we don't do this, cache will be identified at the shading calibration + * dpi which is different from calibration one */ + dev->current_setup.xres = dev->settings.xres; + DBG(DBG_info, "%s:\n\tdev->settings.xres=%d\n\tdev->settings.yres=%d\n", __func__, + dev->settings.xres, dev->settings.yres); + + DBG(DBG_proc, "%s: end\n", __func__); + return status; +} + +static bool gl646_needs_home_before_init_regs_for_scan(Genesys_Device* dev) +{ + return (dev->scanhead_position_in_steps > 0 && + dev->settings.scan_method == ScanMethod::FLATBED); +} + +/** + * set up registers for the actual scan. The scan's parameters are given + * through the device settings. It allocates the scan buffers. + */ +static SANE_Status +gl646_init_regs_for_scan (Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBGSTART; + + RIE(setup_for_scan(dev, sensor, &dev->reg, dev->settings, SANE_FALSE, SANE_TRUE, SANE_TRUE)); + + /* gamma is only enabled at final scan time */ + if (dev->settings.depth < 16) + dev->reg.find_reg(0x05).value |= REG05_GMMENB; + + DBGCOMPLETED; + return status; +} + +/** + * set up registers for the actual scan. The scan's parameters are given + * through the device settings. It allocates the scan buffers. + * @param dev scanner's device + * @param regs registers to set up + * @param settings settings of scan + * @param split SANE_TRUE if move to scan area is split from scan, SANE_FALSE is + * scan first moves to area + * @param xcorrection take x geometry correction into account (fixed and detected offsets) + * @param ycorrection take y geometry correction into account + */ +static SANE_Status +setup_for_scan (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set *regs, + Genesys_Settings settings, + SANE_Bool split, + SANE_Bool xcorrection, + SANE_Bool ycorrection) +{ + SANE_Status status = SANE_STATUS_GOOD; + SANE_Int depth; + int channels; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, dev->settings); + + if (settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + channels = 3; + } + else + { + channels = 1; + } + + depth=settings.depth; + if (settings.scan_mode == ScanColorMode::LINEART) + { + if (settings.dynamic_lineart == SANE_TRUE) + { + depth = 8; + } + else + { + /* XXX STEF XXX : why does the common layer never send depth=1 ? */ + depth = 1; + } + } + + // compute distance to move + float move = 0; + // XXX STEF XXX MD5345 -> optical_ydpi, other base_ydpi => half/full step ? */ + if (split == SANE_FALSE) { + if (dev->model->is_sheetfed == SANE_FALSE) { + if (ycorrection == SANE_TRUE) { + move = SANE_UNFIX(dev->model->y_offset); + } + + // add tl_y to base movement + } + move += settings.tl_y; + + if (move < 0) { + DBG(DBG_error, "%s: overriding negative move value %f\n", __func__, move); + move = 0; + } + } + move = (move * dev->motor.optical_ydpi) / MM_PER_INCH; + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + float start = settings.tl_x; + if (xcorrection) { + if (settings.scan_method == ScanMethod::FLATBED) { + start += SANE_UNFIX(dev->model->x_offset); + } else { + start += SANE_UNFIX(dev->model->x_offset_ta); + } + } + start = (start * sensor.optical_res) / MM_PER_INCH; + + SetupParams params; + params.xres = settings.xres; + params.yres = settings.yres; + params.startx = start; + params.starty = move; + params.pixels = settings.pixels; + params.lines = settings.lines; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = settings.scan_mode; + params.color_filter = settings.color_filter; + params.flags = 0; + if (settings.scan_method == ScanMethod::TRANSPARENCY) { + params.flags |= SCAN_FLAG_USE_XPA; + } + + uint16_t slope_table0[256] = {}; + uint16_t slope_table1[256] = {}; + + /* set up correct values for scan (gamma and shading enabled) */ + status = gl646_setup_registers(dev, sensor, regs, params, slope_table0, slope_table1, + xcorrection); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed setup registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* send computed slope tables */ + status = + gl646_send_slope_table (dev, 0, slope_table0, + sanei_genesys_read_reg_from_set (regs, 0x21)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send slope table 0: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = + gl646_send_slope_table (dev, 1, slope_table1, + sanei_genesys_read_reg_from_set (regs, 0x6b)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send slope table 1: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBGCOMPLETED; + return status; +} + +/** + * this function sen gamm table to ASIC + */ +static SANE_Status +gl646_send_gamma_table (Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int size; + int address; + SANE_Status status = SANE_STATUS_GOOD; + int bits; + + DBGSTART; + + /* gamma table size */ + if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) + { + size = 16384; + bits = 14; + } + else + { + size = 4096; + bits = 12; + } + + /* allocate temporary gamma tables: 16 bits words, 3 channels */ + std::vector gamma(size * 2 * 3); + + RIE(sanei_genesys_generate_gamma_buffer(dev, sensor, bits, size-1, size, gamma.data())); + + /* table address */ + switch (dev->reg.find_reg(0x05).value >> 6) + { + case 0: /* 600 dpi */ + address = 0x09000; + break; + case 1: /* 1200 dpi */ + address = 0x11000; + break; + case 2: /* 2400 dpi */ + address = 0x20000; + break; + default: + return SANE_STATUS_INVAL; + } + + /* send address */ + status = sanei_genesys_set_buffer_address (dev, address); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* send data */ + status = sanei_genesys_bulk_write_data(dev, 0x3c, gamma.data(), size * 2 * 3); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send gamma table: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** @brief this function does the led calibration. + * this function does the led calibration by scanning one line of the calibration + * area below scanner's top on white strip. The scope of this function is + * currently limited to the XP200 + */ +static SANE_Status +gl646_led_calibration (Genesys_Device * dev, Genesys_Sensor& sensor, Genesys_Register_Set& regs) +{ + (void) regs; + int total_size; + unsigned int i, j; + SANE_Status status = SANE_STATUS_GOOD; + int val; + unsigned int channels; + int avg[3], avga, avge; + int turn; + uint16_t expr, expg, expb; + Genesys_Settings settings; + SANE_Int resolution; + + SANE_Bool acceptable = SANE_FALSE; + + DBG(DBG_proc, "%s\n", __func__); + if (!dev->model->is_cis) + { + DBG(DBG_proc, "%s: not a cis scanner, nothing to do...\n", __func__); + return SANE_STATUS_GOOD; + } + + /* get led calibration resolution */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + channels = 3; + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + } + else + { + channels = 1; + settings.scan_mode = ScanColorMode::GRAY; + } + resolution = get_closest_resolution(dev->model->ccd_type, sensor.optical_res, channels); + + /* offset calibration is always done in color mode */ + settings.scan_method = ScanMethod::FLATBED; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = + (sensor.sensor_pixels * resolution) / sensor.optical_res; + settings.lines = 1; + settings.depth = 16; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + settings.dynamic_lineart = SANE_FALSE; + + /* colors * bytes_per_color * scan lines */ + total_size = settings.pixels * channels * 2 * 1; + + std::vector line(total_size); + +/* + we try to get equal bright leds here: + + loop: + average per color + adjust exposure times + + Sensor_Master uint8_t regs_0x10_0x15[6]; + */ + expr = sensor.exposure.red; + expg = sensor.exposure.green; + expb = sensor.exposure.blue; + + turn = 0; + + do + { + sensor.exposure.red = expr; + sensor.exposure.green = expg; + sensor.exposure.blue = expb; + + DBG(DBG_info, "%s: starting first line reading\n", __func__); + + status = simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, line); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + snprintf(fn, 30, "gl646_led_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, line.data(), 16, channels, settings.pixels, 1); + } + + acceptable = SANE_TRUE; + + for (j = 0; j < channels; j++) + { + avg[j] = 0; + for (i = 0; i < settings.pixels; i++) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * settings.pixels + 1] * 256 + + line[i * 2 + j * 2 * settings.pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + avg[j] += val; + } + + avg[j] /= settings.pixels; + } + + DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); + + acceptable = SANE_TRUE; + + if (!acceptable) + { + avga = (avg[0] + avg[1] + avg[2]) / 3; + expr = (expr * avga) / avg[0]; + expg = (expg * avga) / avg[1]; + expb = (expb * avga) / avg[2]; + + /* keep exposure time in a working window */ + avge = (expr + expg + expb) / 3; + if (avge > 0x2000) + { + expr = (expr * 0x2000) / avge; + expg = (expg * 0x2000) / avge; + expb = (expb * 0x2000) / avge; + } + if (avge < 0x400) + { + expr = (expr * 0x400) / avge; + expg = (expg * 0x400) / avge; + expb = (expb * 0x400) / avge; + } + } + + turn++; + + } + while (!acceptable && turn < 100); + + DBG(DBG_info,"%s: acceptable exposure: 0x%04x,0x%04x,0x%04x\n", __func__, expr, expg, expb); + + DBGCOMPLETED; + return status; +} + +/** + * average dark pixels of a scan + */ +static int +dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, + unsigned int channels, unsigned int black) +{ + unsigned int i, j, k, average, count; + unsigned int avg[3]; + uint8_t val; + + /* computes average value on black margin */ + for (k = 0; k < channels; k++) + { + avg[k] = 0; + count = 0; + for (i = 0; i < lines; i++) + { + for (j = 0; j < black; j++) + { + val = data[i * channels * pixels + j + k]; + avg[k] += val; + count++; + } + } + if (count) + avg[k] /= count; + DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); + } + average = 0; + for (i = 0; i < channels; i++) + average += avg[i]; + average /= channels; + DBG(DBG_info, "%s: average = %d\n", __func__, average); + return average; +} + + +/** @brief calibration for AD frontend devices + * we do simple scan until all black_pixels are higher than 0, + * raising offset at each turn. + */ +static SANE_Status +ad_fe_offset_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + SANE_Status status = SANE_STATUS_GOOD; + unsigned int channels; + int pass = 0; + SANE_Int resolution; + Genesys_Settings settings; + unsigned int x, y, adr, min; + unsigned int bottom, black_pixels; + + DBG(DBG_proc, "%s: start\n", __func__); + channels = 3; + resolution = get_closest_resolution(dev->model->ccd_type, sensor.optical_res, channels); + black_pixels = + (sensor.black_pixels * resolution) / sensor.optical_res; + DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); + + settings.scan_method = ScanMethod::FLATBED; + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = + (sensor.sensor_pixels * resolution) / sensor.optical_res; + settings.lines = CALIBRATION_LINES; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + settings.dynamic_lineart = SANE_FALSE; + + /* scan first line of data with no gain */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + + std::vector line; + + /* scan with no move */ + bottom = 1; + do + { + pass++; + dev->frontend.set_offset(0, bottom); + dev->frontend.set_offset(1, bottom); + dev->frontend.set_offset(2, bottom); + status = + simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, line); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to scan first line\n", __func__); + return status; + } + if (DBG_LEVEL >= DBG_data) + { + char title[30]; + snprintf(title, 30, "gl646_offset%03d.pnm", (int)bottom); + sanei_genesys_write_pnm_file (title, line.data(), 8, channels, + settings.pixels, settings.lines); + } + + min = 0; + for (y = 0; y < settings.lines; y++) + { + for (x = 0; x < black_pixels; x++) + { + adr = (x + y * settings.pixels) * channels; + if (line[adr] > min) + min = line[adr]; + if (line[adr + 1] > min) + min = line[adr + 1]; + if (line[adr + 2] > min) + min = line[adr + 2]; + } + } + + DBG(DBG_io2, "%s: pass=%d, min=%d\n", __func__, pass, min); + bottom++; + } + while (pass < 128 && min == 0); + if (pass == 128) + { + DBG(DBG_error, "%s: failed to find correct offset\n", __func__); + return SANE_STATUS_INVAL; + } + + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); + DBG(DBG_proc, "%s: end\n", __func__); + return status; +} + +#define DARK_TARGET 8 +/** + * This function does the offset calibration by scanning one line of the calibration + * area below scanner's top. There is a black margin and the remaining is white. + * genesys_search_start() must have been called so that the offsets and margins + * are already known. + * @param dev scanner's device + * @return SANE_STATUS_GOOD if success, else error code is failure +*/ +static SANE_Status +gl646_offset_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + (void) regs; + SANE_Status status = SANE_STATUS_GOOD; + unsigned int channels; + int pass = 0, avg; + SANE_Int resolution; + Genesys_Settings settings; + int topavg, bottomavg; + int top, bottom, black_pixels; + + /* Analog Device fronted have a different calibration */ + if (dev->model->dac_type == DAC_AD_XP200) + { + return ad_fe_offset_calibration (dev, sensor); + } + + DBG(DBG_proc, "%s: start\n", __func__); + + /* setup for a RGB scan, one full sensor's width line */ + /* resolution is the one from the final scan */ + channels = 3; + if (dev->settings.xres > sensor.optical_res) { + resolution = get_closest_resolution(dev->model->ccd_type, sensor.optical_res, channels); + } else { + resolution = get_closest_resolution(dev->model->ccd_type, dev->settings.xres, channels); + } + black_pixels = + (sensor.black_pixels * resolution) / sensor.optical_res; + DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); + + settings.scan_method = ScanMethod::FLATBED; + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = + (sensor.sensor_pixels * resolution) / sensor.optical_res; + settings.lines = CALIBRATION_LINES; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + settings.dynamic_lineart = SANE_FALSE; + + /* scan first line of data with no gain, but with offset from + * last calibration */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + + /* scan with no move */ + bottom = 90; + dev->frontend.set_offset(0, bottom); + dev->frontend.set_offset(1, bottom); + dev->frontend.set_offset(2, bottom); + + std::vector first_line, second_line; + + status = simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, first_line); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to scan first line\n", __func__); + return status; + } + if (DBG_LEVEL >= DBG_data) + { + char title[30]; + snprintf(title, 30, "gl646_offset%03d.pnm", bottom); + sanei_genesys_write_pnm_file(title, first_line.data(), 8, channels, + settings.pixels, settings.lines); + } + bottomavg = dark_average(first_line.data(), settings.pixels, settings.lines, channels, + black_pixels); + DBG(DBG_io2, "%s: bottom avg=%d\n", __func__, bottomavg); + + /* now top value */ + top = 231; + dev->frontend.set_offset(0, top); + dev->frontend.set_offset(1, top); + dev->frontend.set_offset(2, top); + status = simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, second_line); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to scan first line\n", __func__); + return status; + } + + if (DBG_LEVEL >= DBG_data) + { + char title[30]; + snprintf(title, 30, "gl646_offset%03d.pnm", top); + sanei_genesys_write_pnm_file (title, second_line.data(), 8, channels, + settings.pixels, settings.lines); + } + topavg = dark_average(second_line.data(), settings.pixels, settings.lines, channels, + black_pixels); + DBG(DBG_io2, "%s: top avg=%d\n", __func__, topavg); + + /* loop until acceptable level */ + while ((pass < 32) && (top - bottom > 1)) + { + pass++; + + /* settings for new scan */ + dev->frontend.set_offset(0, (top + bottom) / 2); + dev->frontend.set_offset(1, (top + bottom) / 2); + dev->frontend.set_offset(2, (top + bottom) / 2); + + /* scan with no move */ + status = simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, second_line); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to scan first line\n", __func__); + return status; + } + + if (DBG_LEVEL >= DBG_data) + { + char title[30]; + snprintf(title, 30, "gl646_offset%03d.pnm", dev->frontend.get_offset(1)); + sanei_genesys_write_pnm_file (title, second_line.data(), 8, channels, + settings.pixels, settings.lines); + } + + avg = + dark_average (second_line.data(), settings.pixels, settings.lines, channels, + black_pixels); + DBG(DBG_info, "%s: avg=%d offset=%d\n", __func__, avg, dev->frontend.get_offset(1)); + + /* compute new boundaries */ + if (topavg == avg) + { + topavg = avg; + top = dev->frontend.get_offset(1); + } + else + { + bottomavg = avg; + bottom = dev->frontend.get_offset(1); + } + } + + /* in case of debug do a final scan to get result */ + if (DBG_LEVEL >= DBG_data) + { + status = simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, second_line); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to scan final line\n", __func__); + return status; + } + sanei_genesys_write_pnm_file("gl646_offset-final.pnm", second_line.data(), 8, channels, + settings.pixels, settings.lines); + } + + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); + DBG(DBG_proc, "%s: end\n", __func__); + return status; +} + +/** @brief gain calibration for Analog Device frontends + * Alternative coarse gain calibration + */ +static SANE_Status +ad_fe_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) +{ + (void) regs; + unsigned int i, channels, val; + unsigned int size, count, resolution, pass; + SANE_Status status = SANE_STATUS_GOOD; + float average; + Genesys_Settings settings; + char title[32]; + + DBGSTART; + + /* setup for a RGB scan, one full sensor's width line */ + /* resolution is the one from the final scan */ + channels = 3; + resolution = get_closest_resolution(dev->model->ccd_type, dpi, channels); + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + + settings.scan_method = ScanMethod::FLATBED; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = + (sensor.sensor_pixels * resolution) / sensor.optical_res; + settings.lines = CALIBRATION_LINES; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + settings.dynamic_lineart = SANE_FALSE; + + size = channels * settings.pixels * settings.lines; + + /* start gain value */ + dev->frontend.set_gain(0, 1); + dev->frontend.set_gain(1, 1); + dev->frontend.set_gain(2, 1); + + average = 0; + pass = 0; + + std::vector line; + + /* loop until each channel raises to acceptable level */ + while ((average < sensor.gain_white_ref) && (pass < 30)) + { + /* scan with no move */ + status = + simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, line); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to scan first line\n", __func__); + return status; + } + + /* log scanning data */ + if (DBG_LEVEL >= DBG_data) + { + sprintf (title, "gl646_alternative_gain%02d.pnm", (int)pass); + sanei_genesys_write_pnm_file(title, line.data(), 8, channels, settings.pixels, + settings.lines); + } + pass++; + + /* computes white average */ + average = 0; + count = 0; + for (i = 0; i < size; i++) + { + val = line[i]; + average += val; + count++; + } + average = average / count; + + uint8_t gain0 = dev->frontend.get_gain(0); + // adjusts gain for the channel + if (average < sensor.gain_white_ref) { + gain0 += 1; + } + + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain0); + dev->frontend.set_gain(2, gain0); + + DBG(DBG_proc, "%s: average = %.2f, gain = %d\n", __func__, average, gain0); + } + + DBG(DBG_info, "%s: gains=(%d,%d,%d)\n", __func__, + dev->frontend.get_gain(0), + dev->frontend.get_gain(1), + dev->frontend.get_gain(2)); + DBGCOMPLETED; + return status; +} + +/** + * Alternative coarse gain calibration + * this on uses the settings from offset_calibration. First scan moves so + * we can go to calibration area for XPA. + * @param dev device for scan + * @param dpi resolutnio to calibrate at + */ +static SANE_Status +gl646_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) +{ + unsigned int i, j, k, channels, val, maximum, idx; + unsigned int count, resolution, pass; + SANE_Status status = SANE_STATUS_GOOD; + float average[3]; + Genesys_Settings settings; + char title[32]; + + if (dev->model->ccd_type == CIS_XP200) + { + return ad_fe_coarse_gain_calibration (dev, sensor, regs, sensor.optical_res); + } + DBGSTART; + + /* setup for a RGB scan, one full sensor's width line */ + /* resolution is the one from the final scan */ + channels = 3; + + /* we are searching a sensor resolution */ + if (dpi > sensor.optical_res) { + resolution = sensor.optical_res; + } else { + resolution = get_closest_resolution(dev->model->ccd_type, dev->settings.xres, channels); + } + + settings.scan_method = dev->settings.scan_method; + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_y = 0; + if (settings.scan_method == ScanMethod::FLATBED) + { + settings.tl_x = 0; + settings.pixels = (sensor.sensor_pixels * resolution) / sensor.optical_res; + } + else + { + settings.tl_x = SANE_UNFIX (dev->model->x_offset_ta); + settings.pixels = (SANE_UNFIX (dev->model->x_size_ta) * resolution) / MM_PER_INCH; + } + settings.lines = CALIBRATION_LINES; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + settings.dynamic_lineart = SANE_FALSE; + + /* start gain value */ + dev->frontend.set_gain(0, 1); + dev->frontend.set_gain(1, 1); + dev->frontend.set_gain(2, 1); + + if (channels > 1) + { + average[0] = 0; + average[1] = 0; + average[2] = 0; + idx = 0; + } + else + { + average[0] = 255; + average[1] = 255; + average[2] = 255; + switch (dev->settings.color_filter) { + case ColorFilter::RED: idx = 0; break; + case ColorFilter::GREEN: idx = 1; break; + case ColorFilter::BLUE: idx = 2; break; + default: idx = 0; break; // should not happen + } + average[idx] = 0; + } + pass = 0; + + std::vector line; + + /* loop until each channel raises to acceptable level */ + while (((average[0] < sensor.gain_white_ref) + || (average[1] < sensor.gain_white_ref) + || (average[2] < sensor.gain_white_ref)) && (pass < 30)) + { + /* scan with no move */ + status = + simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, line); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to scan first line\n", __func__); + return status; + } + + /* log scanning data */ + if (DBG_LEVEL >= DBG_data) + { + sprintf (title, "gl646_gain%02d.pnm", (int)pass); + sanei_genesys_write_pnm_file(title, line.data(), 8, channels, settings.pixels, + settings.lines); + } + pass++; + + /* average high level for each channel and compute gain + to reach the target code + we only use the central half of the CCD data */ + for (k = idx; k < idx + channels; k++) + { + /* we find the maximum white value, so we can deduce a threshold + to average white values */ + maximum = 0; + for (i = 0; i < settings.lines; i++) + { + for (j = 0; j < settings.pixels; j++) + { + val = line[i * channels * settings.pixels + j + k]; + if (val > maximum) + maximum = val; + } + } + + /* threshold */ + maximum *= 0.9; + + /* computes white average */ + average[k] = 0; + count = 0; + for (i = 0; i < settings.lines; i++) + { + for (j = 0; j < settings.pixels; j++) + { + /* averaging only white points allow us not to care about dark margins */ + val = line[i * channels * settings.pixels + j + k]; + if (val > maximum) + { + average[k] += val; + count++; + } + } + } + average[k] = average[k] / count; + + /* adjusts gain for the channel */ + if (average[k] < sensor.gain_white_ref) + dev->frontend.set_gain(k, dev->frontend.get_gain(k) + 1); + + DBG(DBG_proc, "%s: channel %d, average = %.2f, gain = %d\n", __func__, k, average[k], + dev->frontend.get_gain(k)); + } + } + + if (channels < 3) { + dev->frontend.set_gain(1, dev->frontend.get_gain(0)); + dev->frontend.set_gain(2, dev->frontend.get_gain(0)); + } + + DBG(DBG_info, "%s: gains=(%d,%d,%d)\n", __func__, + dev->frontend.get_gain(0), + dev->frontend.get_gain(1), + dev->frontend.get_gain(2)); + DBGCOMPLETED; + return status; +} + +/** + * sets up the scanner's register for warming up. We scan 2 lines without moving. + * + */ +static SANE_Status +gl646_init_regs_for_warmup (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * local_reg, + int *channels, int *total_size) +{ + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Settings settings; + int resolution, lines; + + DBG(DBG_proc, "%s: start\n", __func__); + + dev->frontend = dev->frontend_initial; + + resolution = get_closest_resolution(dev->model->ccd_type, 300, 1); + + /* set up for a half width 2 lines gray scan without moving */ + settings.scan_method = ScanMethod::FLATBED; + settings.scan_mode = ScanColorMode::GRAY; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = + (sensor.sensor_pixels * resolution) / sensor.optical_res; + settings.lines = 2; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + settings.dynamic_lineart = SANE_FALSE; + + /* setup for scan */ + status = setup_for_scan(dev, sensor, &dev->reg, settings, SANE_TRUE, SANE_FALSE, SANE_FALSE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: setup_for_scan failed (%s)\n", __func__, sane_strstatus(status)); + return status; + } + + /* we are not going to move, so clear these bits */ + dev->reg.find_reg(0x02).value &= ~(REG02_FASTFED | REG02_AGOHOME); + + /* don't enable any correction for this scan */ + dev->reg.find_reg(0x01).value &= ~REG01_DVDSET; + + /* copy to local_reg */ + *local_reg = dev->reg; + + /* turn off motor during this scan */ + sanei_genesys_set_motor_power(*local_reg, false); + + /* returned value to higher level warmup function */ + *channels = 1; + uint32_t value = 0; + sanei_genesys_get_triple(local_reg, REG_LINCNT, &value); + lines = value + 1; + *total_size = lines * settings.pixels; + + /* now registers are ok, write them to scanner */ + RIE (gl646_set_fe(dev, sensor, AFE_SET, settings.xres)); + RIE(sanei_genesys_bulk_write_register(dev, *local_reg)); + + DBGCOMPLETED; + return status; +} + + +/* + * this function moves head without scanning, forward, then backward + * so that the head goes to park position. + * as a by-product, also check for lock + */ +static SANE_Status +gl646_repark_head (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Settings settings; + unsigned int expected, steps; + + DBG(DBG_proc, "%s: start\n", __func__); + + settings.scan_method = ScanMethod::FLATBED; + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + settings.xres = get_closest_resolution(dev->model->ccd_type, 75, 1); + settings.yres = settings.xres; + settings.tl_x = 0; + settings.tl_y = 5; + settings.pixels = 600; + settings.lines = 4; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + settings.dynamic_lineart = SANE_FALSE; + + const auto& sensor = sanei_genesys_find_sensor(dev, settings.xres); + + status = setup_for_scan(dev, sensor, &dev->reg, settings, SANE_FALSE, SANE_FALSE, SANE_FALSE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup for scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* TODO seems wrong ... no effective scan */ + dev->reg.find_reg(0x01).value &= ~REG01_SCAN; + + status = sanei_genesys_bulk_write_register(dev, dev->reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* start scan */ + status = gl646_begin_scan(dev, sensor, &dev->reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: \n", __func__); + return status; + } + + uint32_t value32 = 0; + sanei_genesys_get_triple(&dev->reg, REG_FEEDL, &value32); + expected = value32; + do + { + sanei_genesys_sleep_ms(100); + status = sanei_genesys_read_feed_steps (dev, &steps); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read feed steps: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + while (steps < expected); + + /* toggle motor flag, put an huge step number and redo move backward */ + status = gl646_slow_back_home (dev, 1); + DBG(DBG_proc, "%s: end\n", __func__); + return status; +} + +/* * + * initialize ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home + * @param dev device description of the scanner to initailize + * @return SANE_STATUS_GOOD if success, error code if failure + */ +static SANE_Status +gl646_init (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + struct timeval tv; + uint8_t cold = 0, val = 0; + uint32_t addr = 0xdead; + size_t len; + + DBG_INIT (); + DBG(DBG_proc, "%s: start\n", __func__); + + /* to detect real power up condition, we write to REG41 + * with pwrbit set, then read it back. When scanner is cold (just replugged) + * PWRBIT will be set in the returned value + */ + RIE (sanei_genesys_get_status (dev, &cold)); + DBG(DBG_info, "%s: status=0x%02x\n", __func__, cold); + cold = !(cold & REG41_PWRBIT); + if (cold) + { + DBG(DBG_info, "%s: device is cold\n", __func__); + } + else + { + DBG(DBG_info, "%s: device is hot\n", __func__); + } + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + /* if scanning session hasn't been initialized, set it up */ + if (!dev->already_initialized) + { + dev->dark_average_data.clear(); + dev->white_average_data.clear(); + + dev->settings.color_filter = ColorFilter::GREEN; + gettimeofday (&tv, NULL); + dev->init_date = tv.tv_sec; + + /* Set default values for registers */ + gl646_init_regs (dev); + + /* Init shading data */ + RIE (sanei_genesys_init_shading_data(dev, sensor, sensor.sensor_pixels)); + + /* initial calibration reg values */ + dev->calib_reg = dev->reg; + } + + /* execute physical unit init only if cold */ + if (cold) + { + DBG(DBG_info, "%s: device is cold\n", __func__); + + val = 0x04; + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_INIT, INDEX, 1, &val); + + /* ASIC reset */ + RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); + sanei_genesys_sleep_ms(100); + + /* Write initial registers */ + RIE(sanei_genesys_bulk_write_register(dev, dev->reg)); + + /* Test ASIC and RAM */ + if (!(dev->model->flags & GENESYS_FLAG_LAZY_INIT)) + { + RIE (gl646_asic_test (dev)); + } + + /* send gamma tables if needed */ + status = gl646_send_gamma_table(dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send generic gamma tables: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + /* Set powersaving (default = 15 minutes) */ + RIE (gl646_set_powersaving (dev, 15)); + } /* end if cold */ + + /* Set analog frontend */ + RIE (gl646_set_fe(dev, sensor, AFE_INIT, 0)); + + /* GPO enabling for XP200 */ + if (dev->model->ccd_type == CIS_XP200) + { + sanei_genesys_write_register (dev, 0x68, dev->gpo.enable[0]); + sanei_genesys_write_register (dev, 0x69, dev->gpo.enable[1]); + + // enable GPIO + gl646_gpio_output_enable(dev->usb_dev, 6); + + // writes 0 to GPIO + gl646_gpio_write(dev->usb_dev, 0); + + // clear GPIO enable + gl646_gpio_output_enable(dev->usb_dev, 0); + + sanei_genesys_write_register (dev, 0x66, 0x10); + sanei_genesys_write_register (dev, 0x66, 0x00); + sanei_genesys_write_register (dev, 0x66, 0x10); + } + + /* MD6471/G2410 and XP200 read/write data from an undocumented memory area which + * is after the second slope table */ + if (dev->model->gpo_type != GPO_HP3670 + && dev->model->gpo_type != GPO_HP2400) + { + switch (sensor.optical_res) + { + case 600: + addr = 0x08200; + break; + case 1200: + addr = 0x10200; + break; + case 2400: + addr = 0x1fa00; + break; + } + status = sanei_genesys_set_buffer_address (dev, addr); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set up control address\n", __func__); + return SANE_STATUS_INVAL; + } + sanei_usb_set_timeout (2 * 1000); + len = 6; + status = gl646_bulk_read_data (dev, 0x45, dev->control, len); + /* for some reason, read fails here for MD6471, HP2300 and XP200 + * one time out of 2 scanimage launches + */ + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_warn, "%s: failed to read control\n", __func__); + status = gl646_bulk_read_data (dev, 0x45, dev->control, len); + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_warn, "%s: failed to read control\n", __func__); + return SANE_STATUS_INVAL; + } + else + { + DBG(DBG_info, "%s: control read=0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x\n", __func__, + dev->control[0], dev->control[1], dev->control[2], dev->control[3], dev->control[4], + dev->control[5]); + } + sanei_usb_set_timeout (30 * 1000); + } + else + /* HP2400 and HP3670 case */ + { + dev->control[0] = 0x00; + dev->control[1] = 0x00; + dev->control[2] = 0x01; + dev->control[3] = 0x00; + dev->control[4] = 0x00; + dev->control[5] = 0x00; + } + + /* ensure head is correctly parked, and check lock */ + if (dev->model->is_sheetfed == SANE_FALSE) + { + if (dev->model->flags & GENESYS_FLAG_REPARK) + { + status = gl646_repark_head (dev); + if (status != SANE_STATUS_GOOD) + { + if (status == SANE_STATUS_INVAL) + { + DBG(DBG_error0, "Your scanner is locked. Please move the lock switch to the " + "unlocked position\n"); + return SANE_STATUS_JAMMED; + } + else + DBG(DBG_error, "%s: gl646_repark_head failed: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } + else + { + RIE (gl646_slow_back_home (dev, SANE_TRUE)); + } + } + + /* here session and device are initialized */ + dev->already_initialized = SANE_TRUE; + + DBG(DBG_proc, "%s: end\n", __func__); + return SANE_STATUS_GOOD; +} + +static +SANE_Status +gl646_move_to_ta (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBGSTART; + if (simple_move (dev, SANE_UNFIX (dev->model->y_offset_calib_ta)) != + SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to move to calibration area\n", __func__); + return status; + } + DBGCOMPLETED; + return status; +} + + +/** + * Does a simple scan: ie no line reordering and avanced data buffering and + * shading correction. Memory for data is allocated in this function + * and must be freed by caller. + * @param dev device of the scanner + * @param settings parameters of the scan + * @param move SANE_TRUE if moving during scan + * @param forward SANE_TRUE if moving forward during scan + * @param shading SANE_TRUE to enable shading correction + * @param data pointer for the data + */ +static SANE_Status +simple_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Settings settings, SANE_Bool move, + SANE_Bool forward, SANE_Bool shading, std::vector& data) +{ + SANE_Status status = SANE_STATUS_INVAL; + unsigned int size, lines, x, y, bpp; + SANE_Bool empty, split; + int count; + uint8_t val; + + DBG(DBG_proc, "%s: starting\n", __func__); + DBG(DBG_io, "%s: move=%d, forward=%d, shading=%d\n", __func__, move, forward, shading); + + /* round up to multiple of 3 in case of CIS scanner */ + if (dev->model->is_cis == SANE_TRUE) + { + settings.lines = ((settings.lines + 2) / 3) * 3; + } + + /* setup for move then scan */ + if (move == SANE_TRUE && settings.tl_y > 0) + { + split = SANE_FALSE; + } + else + { + split = SANE_TRUE; + } + status = setup_for_scan(dev, sensor, &dev->reg, settings, split, SANE_FALSE, SANE_FALSE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: setup_for_scan failed (%s)\n", __func__, sane_strstatus(status)); + return status; + } + + /* allocate memory fo scan : LINCNT may have been adjusted for CCD reordering */ + if (dev->model->is_cis == SANE_TRUE) + { + uint32_t value = 0; + sanei_genesys_get_triple(&dev->reg, REG_LINCNT, &value); + lines = value / 3; + } + else + { + uint32_t value = 0; + sanei_genesys_get_triple(&dev->reg, REG_LINCNT, &value); + lines = value + 1; + } + size = lines * settings.pixels; + if (settings.depth == 16) + bpp = 2; + else + bpp = 1; + size *= bpp; + if (settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + size *= 3; + data.clear(); + data.resize(size); + + DBG(DBG_io, "%s: allocated %d bytes of memory for %d lines\n", __func__, size, lines); + + /* put back real line number in settings */ + settings.lines = lines; + + /* initialize frontend */ + status = gl646_set_fe(dev, sensor, AFE_SET, settings.xres); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* no shading correction and not watch dog for simple scan */ + dev->reg.find_reg(0x01).value &= ~(REG01_DVDSET | REG01_DOGENB); + if (shading == SANE_TRUE) + { + dev->reg.find_reg(0x01).value |= REG01_DVDSET; + } + + /* enable gamma table for the scan */ + dev->reg.find_reg(0x05).value |= REG05_GMMENB; + + /* one table movement for simple scan */ + dev->reg.find_reg(0x02).value &= ~REG02_FASTFED; + + if (move == SANE_FALSE) + { + sanei_genesys_set_motor_power(dev->reg, false); + + /* no automatic go home if no movement */ + dev->reg.find_reg(0x02).value &= ~REG02_AGOHOME; + } + if (forward == SANE_FALSE) + { + dev->reg.find_reg(0x02).value |= REG02_MTRREV; + } + else + { + dev->reg.find_reg(0x02).value &= ~REG02_MTRREV; + } + + /* no automatic go home when using XPA */ + if (settings.scan_method == ScanMethod::TRANSPARENCY) + { + dev->reg.find_reg(0x02).value &= ~REG02_AGOHOME; + } + + /* write scan registers */ + status = sanei_genesys_bulk_write_register(dev, dev->reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* starts scan */ + status = gl646_begin_scan(dev, sensor, &dev->reg, move); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: \n", __func__); + return status; + } + + /* wait for buffers to be filled */ + count = 0; + do + { + sanei_genesys_sleep_ms(10); + RIE (sanei_genesys_get_status (dev, &val)); + if (DBG_LEVEL > DBG_info) + { + print_status (val); + } + RIE (sanei_genesys_test_buffer_empty (dev, &empty)); + count++; + } + while (empty && count < 1000); + if (count == 1000) + { + DBG(DBG_error, "%s: failed toread data\n", __func__); + return SANE_STATUS_IO_ERROR; + } + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner (dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* in case of CIS scanner, we must reorder data */ + if (dev->model->is_cis == SANE_TRUE + && settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + /* alloc one line sized working buffer */ + std::vector buffer(settings.pixels * 3 * bpp); + + /* reorder one line of data and put it back to buffer */ + if (bpp == 1) + { + for (y = 0; y < lines; y++) + { + /* reorder line */ + for (x = 0; x < settings.pixels; x++) + { + buffer[x * 3] = data[y * settings.pixels * 3 + x]; + buffer[x * 3 + 1] = data[y * settings.pixels * 3 + settings.pixels + x]; + buffer[x * 3 + 2] = data[y * settings.pixels * 3 + 2 * settings.pixels + x]; + } + /* copy line back */ + memcpy (data.data() + settings.pixels * 3 * y, buffer.data(), + settings.pixels * 3); + } + } + else + { + for (y = 0; y < lines; y++) + { + /* reorder line */ + for (x = 0; x < settings.pixels; x++) + { + buffer[x * 6] = data[y * settings.pixels * 6 + x * 2]; + buffer[x * 6 + 1] = data[y * settings.pixels * 6 + x * 2 + 1]; + buffer[x * 6 + 2] = data[y * settings.pixels * 6 + 2 * settings.pixels + x * 2]; + buffer[x * 6 + 3] = data[y * settings.pixels * 6 + 2 * settings.pixels + x * 2 + 1]; + buffer[x * 6 + 4] = data[y * settings.pixels * 6 + 4 * settings.pixels + x * 2]; + buffer[x * 6 + 5] = data[y * settings.pixels * 6 + 4 * settings.pixels + x * 2 + 1]; + } + /* copy line back */ + memcpy (data.data() + settings.pixels * 6 * y, buffer.data(), + settings.pixels * 6); + } + } + } + + /* end scan , waiting the motor to stop if needed (if moving), but without ejecting doc */ + status = end_scan(dev, &dev->reg, SANE_TRUE, SANE_FALSE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_proc, "%s: end\n", __func__); + return status; +} + +/** + * Does a simple move of the given distance by doing a scan at lowest resolution + * shading correction. Memory for data is allocated in this function + * and must be freed by caller. + * @param dev device of the scanner + * @param distance distance to move in MM + */ +static SANE_Status +simple_move (Genesys_Device * dev, SANE_Int distance) +{ + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Settings settings; + + DBG(DBG_proc, "%s: %d mm\n", __func__, distance); + + int resolution = get_lowest_resolution(dev->model->ccd_type, 3); + + const auto& sensor = sanei_genesys_find_sensor(dev, resolution); + + /* TODO give a no AGOHOME flag */ + settings.scan_method = ScanMethod::TRANSPARENCY; + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_y = 0; + settings.tl_x = 0; + settings.pixels = + (sensor.sensor_pixels * settings.xres) / sensor.optical_res; + settings.lines = (distance * settings.xres) / MM_PER_INCH; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + settings.dynamic_lineart = SANE_FALSE; + + std::vector data; + status = simple_scan(dev, sensor, settings, SANE_TRUE, SANE_TRUE, SANE_FALSE, data); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: simple_scan failed\n", __func__); + } + + DBGCOMPLETED + return status; +} + +/** + * update the status of the required sensor in the scanner session + * the button fileds are used to make events 'sticky' + */ +static SANE_Status +gl646_update_hardware_sensors (Genesys_Scanner * session) +{ + Genesys_Device *dev = session->dev; + uint8_t value; + + // do what is needed to get a new set of events, but try to not loose any of them. + gl646_gpio_read(dev->usb_dev, &value); + DBG(DBG_io, "%s: GPIO=0x%02x\n", __func__, value); + + // scan button + if (dev->model->buttons & GENESYS_HAS_SCAN_SW) { + switch (dev->model->gpo_type) { + case GPO_XP200: + session->buttons[BUTTON_SCAN_SW].write((value & 0x02) != 0); + break; + case GPO_5345: + session->buttons[BUTTON_SCAN_SW].write(value == 0x16); + break; + case GPO_HP2300: + session->buttons[BUTTON_SCAN_SW].write(value == 0x6c); + break; + case GPO_HP3670: + case GPO_HP2400: + session->buttons[BUTTON_SCAN_SW].write((value & 0x20) == 0); + break; + default: + return SANE_STATUS_UNSUPPORTED; + } + } + + // email button + if (dev->model->buttons & GENESYS_HAS_EMAIL_SW) { + switch (dev->model->gpo_type) { + case GPO_5345: + session->buttons[BUTTON_EMAIL_SW].write(value == 0x12); + break; + case GPO_HP3670: + case GPO_HP2400: + session->buttons[BUTTON_EMAIL_SW].write((value & 0x08) == 0); + break; + default: + return SANE_STATUS_UNSUPPORTED; + } + } + + // copy button + if (dev->model->buttons & GENESYS_HAS_COPY_SW) { + switch (dev->model->gpo_type) { + case GPO_5345: + session->buttons[BUTTON_COPY_SW].write(value == 0x11); + break; + case GPO_HP2300: + session->buttons[BUTTON_COPY_SW].write(value == 0x5c); + break; + case GPO_HP3670: + case GPO_HP2400: + session->buttons[BUTTON_COPY_SW].write((value & 0x10) == 0); + break; + default: + return SANE_STATUS_UNSUPPORTED; + } + } + + // power button + if (dev->model->buttons & GENESYS_HAS_POWER_SW) { + switch (dev->model->gpo_type) { + case GPO_5345: + session->buttons[BUTTON_POWER_SW].write(value == 0x14); + break; + default: + return SANE_STATUS_UNSUPPORTED; + } + } + + // ocr button + if (dev->model->buttons & GENESYS_HAS_OCR_SW) { + switch (dev->model->gpo_type) { + case GPO_5345: + session->buttons[BUTTON_OCR_SW].write(value == 0x13); + break; + default: + return SANE_STATUS_UNSUPPORTED; + } + } + + // document detection + if (dev->model->buttons & GENESYS_HAS_PAGE_LOADED_SW) { + switch (dev->model->gpo_type) { + case GPO_XP200: + session->buttons[BUTTON_PAGE_LOADED_SW].write((value & 0x04) != 0); + break; + default: + return SANE_STATUS_UNSUPPORTED; + } + } + + /* XPA detection */ + if (dev->model->flags & GENESYS_FLAG_XPA) + { + switch (dev->model->gpo_type) + { + case GPO_HP3670: + case GPO_HP2400: + /* test if XPA is plugged-in */ + if ((value & 0x40) == 0) + { + DBG(DBG_io, "%s: enabling XPA\n", __func__); + session->opt[OPT_SOURCE].cap &= ~SANE_CAP_INACTIVE; + } + else + { + DBG(DBG_io, "%s: disabling XPA\n", __func__); + session->opt[OPT_SOURCE].cap |= SANE_CAP_INACTIVE; + } + break; + default: + return SANE_STATUS_UNSUPPORTED; + } + } + + return SANE_STATUS_GOOD; +} + + +static SANE_Status +write_control (Genesys_Device * dev, const Genesys_Sensor& sensor, int resolution) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t control[4]; + uint32_t addr = 0xdead; + + /* 2300 does not write to 'control' */ + if (dev->model->motor_type == MOTOR_HP2300) + return SANE_STATUS_GOOD; + + /* MD6471/G2410/HP2300 and XP200 read/write data from an undocumented memory area which + * is after the second slope table */ + switch (sensor.optical_res) + { + case 600: + addr = 0x08200; + break; + case 1200: + addr = 0x10200; + break; + case 2400: + addr = 0x1fa00; + break; + default: + DBG(DBG_error, "%s: failed to compute control address\n", __func__); + return SANE_STATUS_INVAL; + } + + /* XP200 sets dpi, what other scanner put is unknown yet */ + switch (dev->model->motor_type) + { + case MOTOR_XP200: + /* we put scan's dpi, not motor one */ + control[0] = LOBYTE (resolution); + control[1] = HIBYTE (resolution); + control[2] = dev->control[4]; + control[3] = dev->control[5]; + break; + case MOTOR_HP3670: + case MOTOR_HP2400: + case MOTOR_5345: + default: + control[0] = dev->control[2]; + control[1] = dev->control[3]; + control[2] = dev->control[4]; + control[3] = dev->control[5]; + break; + } + + DBG(DBG_info, "%s: control write=0x%02x 0x%02x 0x%02x 0x%02x\n", __func__, control[0], control[1], + control[2], control[3]); + status = sanei_genesys_set_buffer_address (dev, addr); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set up control address\n", __func__); + return SANE_STATUS_INVAL; + } + status = sanei_genesys_bulk_write_data(dev, 0x3c, control, 4); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set up control\n", __func__); + return SANE_STATUS_INVAL; + } + return status; +} + +/** + * check if a stored calibration is compatible with requested scan. + * @return true if compatible, false if not. + * Whenever an error is met, it is returned. + * @param dev scanner device + * @param cache cache entry to test + * @param for_overwrite reserved for future use ... + */ +static bool +gl646_is_compatible_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Calibration_Cache * cache, + int for_overwrite) +{ + (void) sensor; +#ifdef HAVE_SYS_TIME_H + struct timeval time; +#endif + int compatible = 1; + + DBG(DBG_proc, "%s: start (for_overwrite=%d)\n", __func__, for_overwrite); + + if (cache == NULL) + return false; + + /* build minimal current_setup for calibration cache use only, it will be better + * computed when during setup for scan + */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + dev->current_setup.channels = 3; + } + else + { + dev->current_setup.channels = 1; + } + dev->current_setup.xres = dev->settings.xres; + + DBG(DBG_io, "%s: requested=(%d,%f), tested=(%d,%f)\n", __func__, dev->current_setup.channels, + dev->current_setup.xres, cache->used_setup.channels, cache->used_setup.xres); + + /* a calibration cache is compatible if color mode and x dpi match the user + * requested scan. In the case of CIS scanners, dpi isn't a criteria */ + if (dev->model->is_cis == SANE_FALSE) + { + compatible = + ((dev->current_setup.channels == cache->used_setup.channels) + && (((int) dev->current_setup.xres) == + ((int) cache->used_setup.xres))); + } + else + { + compatible = + (dev->current_setup.channels == cache->used_setup.channels); + } + if (dev->current_setup.params.scan_method != cache->used_setup.params.scan_method) + { + DBG(DBG_io, "%s: current method=%d, used=%d\n", __func__, + static_cast(dev->current_setup.params.scan_method), + static_cast(cache->used_setup.params.scan_method)); + compatible = 0; + } + if (!compatible) + { + DBG(DBG_proc, "%s: completed, non compatible cache\n", __func__); + return false; + } + + /* a cache entry expires after 30 minutes for non sheetfed scanners */ + /* this is not taken into account when overwriting cache entries */ +#ifdef HAVE_SYS_TIME_H + if(for_overwrite == SANE_FALSE) + { + gettimeofday (&time, NULL); + if ((time.tv_sec - cache->last_calibration > 30 * 60) + && (dev->model->is_sheetfed == SANE_FALSE)) + { + DBG(DBG_proc, "%s: expired entry, non compatible cache\n", __func__); + return false; + } + } +#endif + + DBG(DBG_proc, "%s: completed, cache compatible\n", __func__); + return true; +} + +/** + * search for a full width black or white strip. + * @param dev scanner device + * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward + * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip + * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not + */ +static SANE_Status +gl646_search_strip(Genesys_Device * dev, const Genesys_Sensor& sensor, SANE_Bool forward, SANE_Bool black) +{ + SANE_Status status = SANE_STATUS_GOOD; + SANE_Bool half_ccd = SANE_FALSE; + Genesys_Settings settings; + int res = get_closest_resolution(dev->model->ccd_type, 75, 1); + unsigned int pass, count, found, x, y; + char title[80]; + + DBG(DBG_proc, "%s: start\n", __func__); + /* adapt to half_ccd case */ + if (sensor.ccd_size_divisor > 1) + { + /* walk the master mode list to find if half_ccd */ + // FIXME: possibly wrong channel count for is_half_ccd + if (is_half_ccd (dev->model->ccd_type, res, 3) == SANE_TRUE) + { + half_ccd = SANE_TRUE; + } + } + + /* we set up for a lowest available resolution color grey scan, full width */ + settings.scan_method = ScanMethod::FLATBED; + settings.scan_mode = ScanColorMode::GRAY; + settings.xres = res; + settings.yres = res; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = (SANE_UNFIX (dev->model->x_size) * res) / MM_PER_INCH; + if (half_ccd == SANE_TRUE) + { + settings.pixels /= 2; + } + + /* 15 mm at at time */ + settings.lines = (15 * settings.yres) / MM_PER_INCH; /* may become a parameter from genesys_devices.c */ + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + settings.dynamic_lineart = SANE_FALSE; + + /* signals if a strip of the given color has been found */ + found = 0; + + /* detection pass done */ + pass = 0; + + std::vector data; + + /* loop until strip is found or maximum pass number done */ + while (pass < 20 && !found) + { + /* scan a full width strip */ + status = + simple_scan(dev, sensor, settings, SANE_TRUE, forward, SANE_FALSE, data); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: simple_scan failed\n", __func__); + return status; + } + if (DBG_LEVEL >= DBG_data) + { + sprintf (title, "gl646_search_strip_%s%02d.pnm", forward ? "fwd" : "bwd", + (int)pass); + sanei_genesys_write_pnm_file (title, data.data(), settings.depth, 1, + settings.pixels, settings.lines); + } + + /* search data to find black strip */ + /* when searching forward, we only need one line of the searched color since we + * will scan forward. But when doing backward search, we need all the area of the + * same color */ + if (forward) + { + for (y = 0; y < settings.lines && !found; y++) + { + count = 0; + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < settings.pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * settings.pixels + x] > 90) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * settings.pixels + x] < 60) + { + count++; + } + } + + /* at end of line, if count >= 3%, line is not fully of the desired color + * so we must go to next line of the buffer */ + /* count*100/pixels < 3 */ + if ((count * 100) / settings.pixels < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, + pass, y); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d\n", __func__, settings.pixels, count); + } + } + } + else /* since calibration scans are done forward, we need the whole area + to be of the required color when searching backward */ + { + count = 0; + for (y = 0; y < settings.lines; y++) + { + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < settings.pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * settings.pixels + x] > 60) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * settings.pixels + x] < 60) + { + count++; + } + } + } + + /* at end of area, if count >= 3%, area is not fully of the desired color + * so we must go to next buffer */ + if ((count * 100) / (settings.pixels * settings.lines) < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d\n", __func__, settings.pixels, count); + } + } + pass++; + } + if (found) + { + status = SANE_STATUS_GOOD; + DBG(DBG_info, "%s: strip found\n", __func__); + } + else + { + status = SANE_STATUS_UNSUPPORTED; + DBG(DBG_info, "%s: strip not found\n", __func__); + } + return status; +} + +/** the gl646 command set */ +static Genesys_Command_Set gl646_cmd_set = { + "gl646-generic", /* the name of this set */ + + gl646_needs_home_before_init_regs_for_scan, + + gl646_init, + gl646_init_regs_for_warmup, + gl646_init_regs_for_coarse_calibration, + gl646_init_regs_for_shading, + gl646_init_regs_for_scan, + + gl646_get_filter_bit, + gl646_get_lineart_bit, + gl646_get_bitset_bit, + gl646_get_gain4_bit, + gl646_get_fast_feed_bit, + gl646_test_buffer_empty_bit, + gl646_test_motor_flag_bit, + + gl646_public_set_fe, + gl646_set_powersaving, + gl646_save_power, + + gl646_begin_scan, + gl646_end_scan, + + gl646_send_gamma_table, + + gl646_search_start_position, + + gl646_offset_calibration, + gl646_coarse_gain_calibration, + gl646_led_calibration, + + NULL, + gl646_slow_back_home, + NULL, + + sanei_genesys_bulk_write_register, + sanei_genesys_bulk_write_data, + gl646_bulk_read_data, + + gl646_update_hardware_sensors, + + /* sheetfed related functions */ + gl646_load_document, + gl646_detect_document_end, + gl646_eject_document, + gl646_search_strip, + + gl646_is_compatible_calibration, + gl646_move_to_ta, + NULL, + NULL, + NULL +}; + +SANE_Status +sanei_gl646_init_cmd_set (Genesys_Device * dev) +{ + dev->model->cmd_set = &gl646_cmd_set; + return SANE_STATUS_GOOD; +} diff --git a/backend/genesys_gl646.h b/backend/genesys_gl646.h index 4c47d03..766176a 100644 --- a/backend/genesys_gl646.h +++ b/backend/genesys_gl646.h @@ -165,111 +165,21 @@ #include "genesys.h" -enum -{ - reg_0x01 = 0, - reg_0x02, - reg_0x03, - reg_0x04, - reg_0x05, - reg_0x06, - reg_0x07, - reg_0x08, - reg_0x09, - reg_0x0a, - reg_0x0b, - reg_0x10, - reg_0x11, - reg_0x12, - reg_0x13, - reg_0x14, - reg_0x15, - reg_0x16, - reg_0x17, - reg_0x18, - reg_0x19, - reg_0x1a, - reg_0x1b, - reg_0x1c, - reg_0x1d, - reg_0x1e, - reg_0x1f, - reg_0x20, - reg_0x21, - reg_0x22, - reg_0x23, - reg_0x24, - reg_0x25, - reg_0x26, - reg_0x27, - reg_0x28, - reg_0x29, - reg_0x2c, - reg_0x2d, - reg_0x2e, - reg_0x2f, - reg_0x30, - reg_0x31, - reg_0x32, - reg_0x33, - reg_0x34, - reg_0x35, - reg_0x36, - reg_0x37, - reg_0x38, - reg_0x39, - reg_0x3d, - reg_0x3e, - reg_0x3f, - reg_0x52, - reg_0x53, - reg_0x54, - reg_0x55, - reg_0x56, - reg_0x57, - reg_0x58, - reg_0x59, - reg_0x5a, - reg_0x5b, - reg_0x5c, - reg_0x5d, - reg_0x5e, - reg_0x60, - reg_0x61, - reg_0x62, - reg_0x63, - reg_0x64, - reg_0x65, - reg_0x66, - reg_0x67, - reg_0x68, - reg_0x69, - reg_0x6a, - reg_0x6b, - reg_0x6c, - reg_0x6d, - GENESYS_GL646_MAX_REGS -}; +static SANE_Status gl646_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, + uint8_t set, int dpi); -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl646_set_fe (Genesys_Device * dev, uint8_t set, int dpi); +static SANE_Status gl646_public_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, + uint8_t set); -#ifndef UNIT_TESTING static -#endif -SANE_Status gl646_public_set_fe (Genesys_Device * dev, uint8_t set); - -GENESYS_STATIC SANE_Status gl646_save_power (Genesys_Device * dev, SANE_Bool enable); -GENESYS_STATIC +static SANE_Status gl646_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home); -GENESYS_STATIC +static SANE_Status gl646_move_to_ta (Genesys_Device * dev); @@ -285,8 +195,9 @@ gl646_move_to_ta (Genesys_Device * dev); * @param ycorrection true if scanner's Y geometry must be taken into account to * compute Y, ie add top margins */ -GENESYS_STATIC SANE_Status +static SANE_Status setup_for_scan (Genesys_Device *device, + const Genesys_Sensor& sensor, Genesys_Register_Set *regs, Genesys_Settings settings, SANE_Bool split, @@ -300,15 +211,11 @@ setup_for_scan (Genesys_Device *device, * */ static SANE_Status gl646_setup_registers (Genesys_Device * dev, - Genesys_Register_Set * regs, - Genesys_Settings scan_settings, - uint16_t * slope_table1, - uint16_t * slope_table2, - SANE_Int resolution, - uint32_t move, - uint32_t linecnt, - uint16_t startx, - uint16_t endx, SANE_Bool color, SANE_Int depth); + const Genesys_Sensor& sensor, + Genesys_Register_Set * regs, SetupParams& params, + uint16_t * slope_table1, + uint16_t * slope_table2, + bool xcorrection); /** * Does a simple move of the given distance by doing a scan at lowest resolution @@ -317,10 +224,7 @@ gl646_setup_registers (Genesys_Device * dev, * @param dev device of the scanner * @param distance distance to move in MM */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status +static SANE_Status simple_move (Genesys_Device * dev, SANE_Int distance); /** @@ -335,12 +239,10 @@ simple_move (Genesys_Device * dev, SANE_Int distance); * @param shading flag to tell if shading correction should be done * @param data pointer that will point to the scanned data */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -simple_scan (Genesys_Device * dev, Genesys_Settings settings, SANE_Bool move, SANE_Bool forward, - SANE_Bool shading, unsigned char **data); +static SANE_Status +simple_scan(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Settings settings, SANE_Bool move, SANE_Bool forward, + SANE_Bool shading, std::vector& data); /** * Send the stop scan command @@ -351,7 +253,8 @@ end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, /** * writes control data to an area behind the last motor table. */ -static SANE_Status write_control (Genesys_Device * dev, int resolution); +static SANE_Status write_control (Genesys_Device * dev, const Genesys_Sensor& sensor, + int resolution); /** @@ -359,10 +262,7 @@ static SANE_Status write_control (Genesys_Device * dev, int resolution); */ static void gl646_init_regs (Genesys_Device * dev); -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl646_load_document (Genesys_Device * dev); +static SANE_Status gl646_load_document (Genesys_Device * dev); static SANE_Status gl646_detect_document_end (Genesys_Device * dev); @@ -381,7 +281,7 @@ typedef struct /* key */ SANE_Int motor; SANE_Int dpi; - SANE_Bool color; + unsigned channels; /* settings */ SANE_Int ydpi; /* real motor dpi, may be different from the resolution */ @@ -408,7 +308,7 @@ typedef struct /* key */ SANE_Int sensor; /**< sensor identifier */ SANE_Int dpi; /**< required dpi */ - SANE_Bool color; /**< SANE_TRUE if color scan */ + unsigned channels; // 3 channels if color scan, 1 channel for gray scan /* settings */ SANE_Int xdpi; /**< real sensor dpi, may be different from the required resolution */ @@ -448,88 +348,87 @@ static uint8_t xp200_gray[6]={0x05, 0x0a, 0x0f, 0xa0, 0x10, 0x10}; * master sensor settings, for a given sensor and dpi, * it gives exposure and CCD time */ -/* *INDENT-OFF* */ static Sensor_Master sensor_master[] = { /* HP3670 master settings */ - {CCD_HP3670, 75, SANE_TRUE , 75, 4879, 300, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 100, SANE_TRUE , 100, 4487, 400, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 150, SANE_TRUE , 150, 4879, 600, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 300, SANE_TRUE , 300, 4503, 1200, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 600, SANE_TRUE , 600, 10251, 1200, 2, 42, NULL, SANE_FALSE, 0x31, 0x43}, - {CCD_HP3670,1200, SANE_TRUE , 1200, 12750, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x43}, - {CCD_HP3670,2400, SANE_TRUE , 1200, 12750, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x43}, - {CCD_HP3670, 75, SANE_FALSE, 75, 4879, 300, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 100, SANE_FALSE, 100, 4487, 400, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 150, SANE_FALSE, 150, 4879, 600, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 300, SANE_FALSE, 300, 4503, 1200, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 600, SANE_FALSE, 600, 10251, 1200, 2, 42, NULL, SANE_FALSE, 0x31, 0x43}, - {CCD_HP3670,1200, SANE_FALSE, 1200, 12750, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x43}, - {CCD_HP3670,2400, SANE_FALSE, 1200, 12750, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x43}, + {CCD_HP3670, 75, 3, 75, 4879, 300, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, + {CCD_HP3670, 100, 3, 100, 4487, 400, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, + {CCD_HP3670, 150, 3, 150, 4879, 600, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, + {CCD_HP3670, 300, 3, 300, 4503, 1200, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, + {CCD_HP3670, 600, 3, 600, 10251, 1200, 2, 42, NULL, SANE_FALSE, 0x31, 0x43}, + {CCD_HP3670,1200, 3, 1200, 12750, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x43}, + {CCD_HP3670,2400, 3, 1200, 12750, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x43}, + {CCD_HP3670, 75, 1, 75, 4879, 300, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, + {CCD_HP3670, 100, 1, 100, 4487, 400, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, + {CCD_HP3670, 150, 1, 150, 4879, 600, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, + {CCD_HP3670, 300, 1, 300, 4503, 1200, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, + {CCD_HP3670, 600, 1, 600, 10251, 1200, 2, 42, NULL, SANE_FALSE, 0x31, 0x43}, + {CCD_HP3670,1200, 1, 1200, 12750, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x43}, + {CCD_HP3670,2400, 1, 1200, 12750, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x43}, /* HP 2400 master settings */ - {CCD_HP2400, 50, SANE_TRUE , 50, 7211, 200, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 100, SANE_TRUE , 100, 7211, 400, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 150, SANE_TRUE , 150, 7211, 600, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 300, SANE_TRUE , 300, 8751, 1200, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 600, SANE_TRUE , 600, 18760, 1200, 2, 42, NULL, SANE_FALSE, 0x31, 0x02}, - {CCD_HP2400,1200, SANE_TRUE , 1200, 21749, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x42}, - {CCD_HP2400, 50, SANE_FALSE, 50, 7211, 200, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 100, SANE_FALSE, 100, 7211, 400, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 150, SANE_FALSE, 150, 7211, 600, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 300, SANE_FALSE, 300, 8751, 1200, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 600, SANE_FALSE, 600, 18760, 1200, 2, 42, NULL, SANE_FALSE, 0x31, 0x02}, - {CCD_HP2400,1200, SANE_FALSE, 1200, 21749, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x42}, + {CCD_HP2400, 50, 3, 50, 7211, 200, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, + {CCD_HP2400, 100, 3, 100, 7211, 400, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, + {CCD_HP2400, 150, 3, 150, 7211, 600, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, + {CCD_HP2400, 300, 3, 300, 8751, 1200, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, + {CCD_HP2400, 600, 3, 600, 18760, 1200, 2, 42, NULL, SANE_FALSE, 0x31, 0x02}, + {CCD_HP2400,1200, 3, 1200, 21749, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x42}, + {CCD_HP2400, 50, 1, 50, 7211, 200, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, + {CCD_HP2400, 100, 1, 100, 7211, 400, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, + {CCD_HP2400, 150, 1, 150, 7211, 600, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, + {CCD_HP2400, 300, 1, 300, 8751, 1200, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, + {CCD_HP2400, 600, 1, 600, 18760, 1200, 2, 42, NULL, SANE_FALSE, 0x31, 0x02}, + {CCD_HP2400,1200, 1, 1200, 21749, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x42}, /* XP 200 master settings */ - {CIS_XP200 , 75, SANE_TRUE , 75, 5700, 75, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 100, SANE_TRUE , 100, 5700, 100, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 200, SANE_TRUE , 200, 5700, 200, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 300, SANE_TRUE , 300, 9000, 300, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 600, SANE_TRUE , 600, 16000, 600, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, - - {CIS_XP200 , 75, SANE_FALSE, 75, 16000, 75, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 100, SANE_FALSE, 100, 7800, 100, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 200, SANE_FALSE, 200, 11000, 200, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 300, SANE_FALSE, 300, 13000, 300, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 600, SANE_FALSE, 600, 24000, 600, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, + {CIS_XP200 , 75, 3, 75, 5700, 75, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, + {CIS_XP200 , 100, 3, 100, 5700, 100, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, + {CIS_XP200 , 200, 3, 200, 5700, 200, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, + {CIS_XP200 , 300, 3, 300, 9000, 300, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, + {CIS_XP200 , 600, 3, 600, 16000, 600, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, + + {CIS_XP200 , 75, 1, 75, 16000, 75, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, + {CIS_XP200 , 100, 1, 100, 7800, 100, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, + {CIS_XP200 , 200, 1, 200, 11000, 200, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, + {CIS_XP200 , 300, 1, 300, 13000, 300, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, + {CIS_XP200 , 600, 1, 600, 24000, 600, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, /* HP 2300 master settings */ - {CCD_HP2300, 75, SANE_TRUE , 75, 4480, 150, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, - {CCD_HP2300, 150, SANE_TRUE , 150, 4350, 300, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, - {CCD_HP2300, 300, SANE_TRUE, 300, 4350, 600, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, - {CCD_HP2300, 600, SANE_TRUE , 600, 8700, 600, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, - {CCD_HP2300,1200, SANE_TRUE , 600, 8700, 600, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, - {CCD_HP2300, 75, SANE_FALSE, 75, 4480, 150, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, - {CCD_HP2300, 150, SANE_FALSE, 150, 4350, 300, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, - {CCD_HP2300, 300, SANE_FALSE, 300, 4350, 600, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, - {CCD_HP2300, 600, SANE_FALSE, 600, 8700, 600, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, - {CCD_HP2300,1200, SANE_FALSE, 600, 8700, 600, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, + {CCD_HP2300, 75, 3, 75, 4480, 150, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, + {CCD_HP2300, 150, 3, 150, 4350, 300, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, + {CCD_HP2300, 300, 3, 300, 4350, 600, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, + {CCD_HP2300, 600, 3, 600, 8700, 600, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, + {CCD_HP2300,1200, 3, 600, 8700, 600, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, + {CCD_HP2300, 75, 1, 75, 4480, 150, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, + {CCD_HP2300, 150, 1, 150, 4350, 300, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, + {CCD_HP2300, 300, 1, 300, 4350, 600, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, + {CCD_HP2300, 600, 1, 600, 8700, 600, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, + {CCD_HP2300,1200, 1, 600, 8700, 600, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, /* non half ccd 300 dpi settings - {CCD_HP2300, 300, SANE_TRUE , 300, 8700, 300, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, - {CCD_HP2300, 300, SANE_FALSE, 300, 8700, 300, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, + {CCD_HP2300, 300, 3, 300, 8700, 300, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, + {CCD_HP2300, 300, 1, 300, 8700, 300, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, */ /* MD5345/6471 master settings */ - {CCD_5345 , 50, SANE_TRUE , 50, 12000, 100, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 75, SANE_TRUE , 75, 11000, 150, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 100, SANE_TRUE , 100, 11000, 200, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 150, SANE_TRUE , 150, 11000, 300, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 200, SANE_TRUE , 200, 11000, 400, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 300, SANE_TRUE , 300, 11000, 600, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 400, SANE_TRUE , 400, 11000, 800, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 600, SANE_TRUE , 600, 11000,1200, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 ,1200, SANE_TRUE ,1200, 11000,1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x03}, - {CCD_5345 ,2400, SANE_TRUE ,1200, 11000,1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x03}, - {CCD_5345 , 50, SANE_FALSE, 50, 12000, 100, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 75, SANE_FALSE, 75, 11000, 150, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 100, SANE_FALSE, 100, 11000, 200, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 150, SANE_FALSE, 150, 11000, 300, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 200, SANE_FALSE, 200, 11000, 400, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 300, SANE_FALSE, 300, 11000, 600, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 400, SANE_FALSE, 400, 11000, 800, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 600, SANE_FALSE, 600, 11000,1200, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 ,1200, SANE_FALSE,1200, 11000,1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x03}, - {CCD_5345 ,2400, SANE_FALSE,1200, 11000,1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x03}, + {CCD_5345 , 50, 3, 50, 12000, 100, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 75, 3, 75, 11000, 150, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 100, 3, 100, 11000, 200, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 150, 3, 150, 11000, 300, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 200, 3, 200, 11000, 400, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 300, 3, 300, 11000, 600, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 400, 3, 400, 11000, 800, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 600, 3, 600, 11000,1200, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 ,1200, 3, 1200, 11000,1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x03}, + {CCD_5345 ,2400, 3, 1200, 11000,1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x03}, + {CCD_5345 , 50, 1, 50, 12000, 100, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 75, 1, 75, 11000, 150, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 100, 1, 100, 11000, 200, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 150, 1, 150, 11000, 300, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 200, 1, 200, 11000, 400, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 300, 1, 300, 11000, 600, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 400, 1, 400, 11000, 800, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 , 600, 1, 600, 11000,1200, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, + {CCD_5345 ,1200, 1, 1200, 11000,1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x03}, + {CCD_5345 ,2400, 1, 1200, 11000,1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x03}, }; @@ -539,88 +438,88 @@ static Sensor_Master sensor_master[] = { */ static Motor_Master motor_master[] = { /* HP3670 motor settings */ - {MOTOR_HP3670, 75, SANE_TRUE , 75, FULL_STEP, SANE_FALSE, SANE_TRUE , 1, 200, 3429, 305, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 100, SANE_TRUE , 100, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 143, 2905, 187, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 150, SANE_TRUE , 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 73, 3429, 305, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 300, SANE_TRUE , 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 11, 1055, 563, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 600, SANE_TRUE , 600, FULL_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 10687, 5126, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670,1200, SANE_TRUE ,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 15937, 6375, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670,2400, SANE_TRUE ,2400, HALF_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 15937, 12750, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 75, SANE_FALSE, 75, FULL_STEP, SANE_FALSE, SANE_TRUE , 1, 200, 3429, 305, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 100, SANE_FALSE, 100, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 143, 2905, 187, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 150, SANE_FALSE, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 73, 3429, 305, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 300, SANE_FALSE, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 11, 1055, 563, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 600, SANE_FALSE, 600, FULL_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 10687, 5126, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670,1200, SANE_FALSE,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 15937, 6375, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670,2400, SANE_TRUE ,2400, HALF_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 15937, 12750, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670, 75, 3, 75, FULL_STEP, SANE_FALSE, SANE_TRUE , 1, 200, 3429, 305, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670, 100, 3, 100, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 143, 2905, 187, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670, 150, 3, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 73, 3429, 305, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670, 300, 3, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 11, 1055, 563, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670, 600, 3, 600, FULL_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 10687, 5126, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670,1200, 3,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 15937, 6375, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670,2400, 3,2400, HALF_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 15937, 12750, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670, 75, 1, 75, FULL_STEP, SANE_FALSE, SANE_TRUE , 1, 200, 3429, 305, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670, 100, 1, 100, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 143, 2905, 187, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670, 150, 1, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 73, 3429, 305, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670, 300, 1, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 11, 1055, 563, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670, 600, 1, 600, FULL_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 10687, 5126, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670,1200, 1,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 15937, 6375, 192, 3399, 337, 0.3, 0.4, 192}, + {MOTOR_HP3670,2400, 3,2400, HALF_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 15937, 12750, 192, 3399, 337, 0.3, 0.4, 192}, /* HP2400/G2410 motor settings base motor dpi = 600 */ - {MOTOR_HP2400, 50, SANE_TRUE , 50, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 120, 8736, 601, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 100, SANE_TRUE , 100, HALF_STEP, SANE_FALSE, SANE_TRUE, 63, 120, 8736, 601, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 150, SANE_TRUE , 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 67, 15902, 902, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 300, SANE_TRUE , 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 32, 16703, 2188, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 600, SANE_TRUE , 600, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 18761, 18761, 192, 4905, 627, 0.30, 0.4, 192}, - {MOTOR_HP2400,1200, SANE_TRUE ,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 43501, 43501, 192, 4905, 627, 0.30, 0.4, 192}, - {MOTOR_HP2400, 50, SANE_FALSE, 50, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 120, 8736, 601, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 100, SANE_FALSE, 100, HALF_STEP, SANE_FALSE, SANE_TRUE, 63, 120, 8736, 601, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 150, SANE_FALSE, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 67, 15902, 902, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 300, SANE_FALSE, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 32, 16703, 2188, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 600, SANE_FALSE, 600, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 18761, 18761, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400,1200, SANE_FALSE,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 43501, 43501, 192, 4905, 337, 0.30, 0.4, 192}, + {MOTOR_HP2400, 50, 3, 50, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 120, 8736, 601, 192, 4905, 337, 0.30, 0.4, 192}, + {MOTOR_HP2400, 100, 3, 100, HALF_STEP, SANE_FALSE, SANE_TRUE, 63, 120, 8736, 601, 192, 4905, 337, 0.30, 0.4, 192}, + {MOTOR_HP2400, 150, 3, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 67, 15902, 902, 192, 4905, 337, 0.30, 0.4, 192}, + {MOTOR_HP2400, 300, 3, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 32, 16703, 2188, 192, 4905, 337, 0.30, 0.4, 192}, + {MOTOR_HP2400, 600, 3, 600, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 18761, 18761, 192, 4905, 627, 0.30, 0.4, 192}, + {MOTOR_HP2400,1200, 3,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 43501, 43501, 192, 4905, 627, 0.30, 0.4, 192}, + {MOTOR_HP2400, 50, 1, 50, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 120, 8736, 601, 192, 4905, 337, 0.30, 0.4, 192}, + {MOTOR_HP2400, 100, 1, 100, HALF_STEP, SANE_FALSE, SANE_TRUE, 63, 120, 8736, 601, 192, 4905, 337, 0.30, 0.4, 192}, + {MOTOR_HP2400, 150, 1, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 67, 15902, 902, 192, 4905, 337, 0.30, 0.4, 192}, + {MOTOR_HP2400, 300, 1, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 32, 16703, 2188, 192, 4905, 337, 0.30, 0.4, 192}, + {MOTOR_HP2400, 600, 1, 600, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 18761, 18761, 192, 4905, 337, 0.30, 0.4, 192}, + {MOTOR_HP2400,1200, 1,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 43501, 43501, 192, 4905, 337, 0.30, 0.4, 192}, /* XP 200 motor settings */ - {MOTOR_XP200, 75, SANE_TRUE, 75, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6000, 2136, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 100, SANE_TRUE, 100, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6000, 2850, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 200, SANE_TRUE, 200, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6999, 5700, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 250, SANE_TRUE, 250, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6999, 6999, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 300, SANE_TRUE, 300, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 13500, 13500, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 600, SANE_TRUE, 600, HALF_STEP, SANE_TRUE , SANE_TRUE, 0, 4, 31998, 31998, 2, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 75, SANE_FALSE, 75, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6000, 2000, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 100, SANE_FALSE, 100, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6000, 1300, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 200, SANE_FALSE, 200, HALF_STEP, SANE_TRUE , SANE_TRUE, 0, 4, 6000, 3666, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 300, SANE_FALSE, 300, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6500, 6500, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 600, SANE_FALSE, 600, HALF_STEP, SANE_TRUE , SANE_TRUE, 0, 4, 24000, 24000, 2, 12000, 1200, 0.3, 0.5, 1}, + {MOTOR_XP200, 75, 3, 75, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6000, 2136, 8, 12000, 1200, 0.3, 0.5, 1}, + {MOTOR_XP200, 100, 3, 100, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6000, 2850, 8, 12000, 1200, 0.3, 0.5, 1}, + {MOTOR_XP200, 200, 3, 200, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6999, 5700, 8, 12000, 1200, 0.3, 0.5, 1}, + {MOTOR_XP200, 250, 3, 250, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6999, 6999, 8, 12000, 1200, 0.3, 0.5, 1}, + {MOTOR_XP200, 300, 3, 300, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 13500, 13500, 8, 12000, 1200, 0.3, 0.5, 1}, + {MOTOR_XP200, 600, 3, 600, HALF_STEP, SANE_TRUE , SANE_TRUE, 0, 4, 31998, 31998, 2, 12000, 1200, 0.3, 0.5, 1}, + {MOTOR_XP200, 75, 1, 75, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6000, 2000, 8, 12000, 1200, 0.3, 0.5, 1}, + {MOTOR_XP200, 100, 1, 100, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6000, 1300, 8, 12000, 1200, 0.3, 0.5, 1}, + {MOTOR_XP200, 200, 1, 200, HALF_STEP, SANE_TRUE , SANE_TRUE, 0, 4, 6000, 3666, 8, 12000, 1200, 0.3, 0.5, 1}, + {MOTOR_XP200, 300, 1, 300, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6500, 6500, 8, 12000, 1200, 0.3, 0.5, 1}, + {MOTOR_XP200, 600, 1, 600, HALF_STEP, SANE_TRUE , SANE_TRUE, 0, 4, 24000, 24000, 2, 12000, 1200, 0.3, 0.5, 1}, /* HP scanjet 2300c */ - {MOTOR_HP2300, 75, SANE_TRUE, 75, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 120, 8139, 560, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 150, SANE_TRUE, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 67, 7903, 543, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 300, SANE_TRUE, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 2175, 1087, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 600, SANE_TRUE, 600, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 8700, 4350, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300,1200, SANE_TRUE,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 17400, 8700, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 75, SANE_FALSE, 75, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 120, 8139, 560, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 150, SANE_FALSE, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 67, 7903, 543, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 300, SANE_FALSE, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 2175, 1087, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 600, SANE_FALSE, 600, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 8700, 4350, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300,1200, SANE_FALSE,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 17400, 8700, 120, 4905, 337, 0.3, 0.4, 16}, + {MOTOR_HP2300, 75, 3, 75, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 120, 8139, 560, 120, 4905, 337, 0.3, 0.4, 16}, + {MOTOR_HP2300, 150, 3, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 67, 7903, 543, 120, 4905, 337, 0.3, 0.4, 16}, + {MOTOR_HP2300, 300, 3, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 2175, 1087, 120, 4905, 337, 0.3, 0.4, 16}, + {MOTOR_HP2300, 600, 3, 600, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 8700, 4350, 120, 4905, 337, 0.3, 0.4, 16}, + {MOTOR_HP2300,1200, 3,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 17400, 8700, 120, 4905, 337, 0.3, 0.4, 16}, + {MOTOR_HP2300, 75, 1, 75, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 120, 8139, 560, 120, 4905, 337, 0.3, 0.4, 16}, + {MOTOR_HP2300, 150, 1, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 67, 7903, 543, 120, 4905, 337, 0.3, 0.4, 16}, + {MOTOR_HP2300, 300, 1, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 2175, 1087, 120, 4905, 337, 0.3, 0.4, 16}, + {MOTOR_HP2300, 600, 1, 600, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 8700, 4350, 120, 4905, 337, 0.3, 0.4, 16}, + {MOTOR_HP2300,1200, 1,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 17400, 8700, 120, 4905, 337, 0.3, 0.4, 16}, /* non half ccd settings for 300 dpi - {MOTOR_HP2300, 300, SANE_TRUE, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 44, 5386, 2175, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 300, SANE_FALSE, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 44, 5386, 2175, 120, 4905, 337, 0.3, 0.4, 16}, + {MOTOR_HP2300, 300, 3, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 44, 5386, 2175, 120, 4905, 337, 0.3, 0.4, 16}, + {MOTOR_HP2300, 300, 1, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 44, 5386, 2175, 120, 4905, 337, 0.3, 0.4, 16}, */ /* MD5345/6471 motor settings */ /* vfinal=(exposure/(1200/dpi))/step_type */ - {MOTOR_5345, 50, SANE_TRUE , 50, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 250, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 75, SANE_TRUE , 75, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 343, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 100, SANE_TRUE , 100, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 458, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 150, SANE_TRUE , 150, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 687, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 200, SANE_TRUE , 200, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 916, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 300, SANE_TRUE, 300, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 1375, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 400, SANE_TRUE, 400, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2000, 1833, 255, 2000, 300, 0.3, 0.4, 32}, - {MOTOR_5345, 500, SANE_TRUE, 500, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2291, 2291, 255, 2000, 300, 0.3, 0.4, 32}, - {MOTOR_5345, 600, SANE_TRUE, 600, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2750, 2750, 255, 2000, 300, 0.3, 0.4, 32}, - {MOTOR_5345, 1200, SANE_TRUE ,1200, QUATER_STEP, SANE_FALSE, SANE_TRUE , 0, 16, 2750, 2750, 255, 2000, 300, 0.3, 0.4, 146}, - {MOTOR_5345, 2400, SANE_TRUE ,2400, QUATER_STEP, SANE_FALSE, SANE_TRUE , 0, 16, 5500, 5500, 255, 2000, 300, 0.3, 0.4, 146}, - {MOTOR_5345, 50, SANE_FALSE, 50, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 250, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 75, SANE_FALSE, 75, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 343, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 100, SANE_FALSE, 100, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 458, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 150, SANE_FALSE, 150, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 687, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 200, SANE_FALSE, 200, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 916, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 300, SANE_FALSE, 300, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 1375, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 400, SANE_FALSE, 400, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2000, 1833, 255, 2000, 300, 0.3, 0.4, 32}, - {MOTOR_5345, 500, SANE_FALSE, 500, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2291, 2291, 255, 2000, 300, 0.3, 0.4, 32}, - {MOTOR_5345, 600, SANE_FALSE, 600, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2750, 2750, 255, 2000, 300, 0.3, 0.4, 32}, - {MOTOR_5345, 1200, SANE_FALSE,1200, QUATER_STEP, SANE_FALSE, SANE_TRUE , 0, 16, 2750, 2750, 255, 2000, 300, 0.3, 0.4, 146}, - {MOTOR_5345, 2400, SANE_FALSE,2400, QUATER_STEP, SANE_FALSE, SANE_TRUE , 0, 16, 5500, 5500, 255, 2000, 300, 0.3, 0.4, 146}, /* 5500 guessed */ + {MOTOR_5345, 50, 3, 50, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 250, 255, 2000, 300, 0.3, 0.4, 64}, + {MOTOR_5345, 75, 3, 75, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 343, 255, 2000, 300, 0.3, 0.4, 64}, + {MOTOR_5345, 100, 3, 100, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 458, 255, 2000, 300, 0.3, 0.4, 64}, + {MOTOR_5345, 150, 3, 150, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 687, 255, 2000, 300, 0.3, 0.4, 64}, + {MOTOR_5345, 200, 3, 200, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 916, 255, 2000, 300, 0.3, 0.4, 64}, + {MOTOR_5345, 300, 3, 300, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 1375, 255, 2000, 300, 0.3, 0.4, 64}, + {MOTOR_5345, 400, 3, 400, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2000, 1833, 255, 2000, 300, 0.3, 0.4, 32}, + {MOTOR_5345, 500, 3, 500, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2291, 2291, 255, 2000, 300, 0.3, 0.4, 32}, + {MOTOR_5345, 600, 3, 600, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2750, 2750, 255, 2000, 300, 0.3, 0.4, 32}, + {MOTOR_5345, 1200, 3,1200, QUATER_STEP, SANE_FALSE, SANE_TRUE , 0, 16, 2750, 2750, 255, 2000, 300, 0.3, 0.4, 146}, + {MOTOR_5345, 2400, 3,2400, QUATER_STEP, SANE_FALSE, SANE_TRUE , 0, 16, 5500, 5500, 255, 2000, 300, 0.3, 0.4, 146}, + {MOTOR_5345, 50, 1, 50, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 250, 255, 2000, 300, 0.3, 0.4, 64}, + {MOTOR_5345, 75, 1, 75, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 343, 255, 2000, 300, 0.3, 0.4, 64}, + {MOTOR_5345, 100, 1, 100, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 458, 255, 2000, 300, 0.3, 0.4, 64}, + {MOTOR_5345, 150, 1, 150, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 687, 255, 2000, 300, 0.3, 0.4, 64}, + {MOTOR_5345, 200, 1, 200, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 916, 255, 2000, 300, 0.3, 0.4, 64}, + {MOTOR_5345, 300, 1, 300, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 1375, 255, 2000, 300, 0.3, 0.4, 64}, + {MOTOR_5345, 400, 1, 400, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2000, 1833, 255, 2000, 300, 0.3, 0.4, 32}, + {MOTOR_5345, 500, 1, 500, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2291, 2291, 255, 2000, 300, 0.3, 0.4, 32}, + {MOTOR_5345, 600, 1, 600, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2750, 2750, 255, 2000, 300, 0.3, 0.4, 32}, + {MOTOR_5345, 1200, 1,1200, QUATER_STEP, SANE_FALSE, SANE_TRUE , 0, 16, 2750, 2750, 255, 2000, 300, 0.3, 0.4, 146}, + {MOTOR_5345, 2400, 1,2400, QUATER_STEP, SANE_FALSE, SANE_TRUE , 0, 16, 5500, 5500, 255, 2000, 300, 0.3, 0.4, 146}, /* 5500 guessed */ }; /** @@ -693,4 +592,3 @@ static Sensor_Settings sensor_settings[] = { {0x0f, 0x13, 0x17, 0x03, 0x07, 0x0b, 0x83} /* half ccd settings */ }, }; -/* *INDENT-ON* */ diff --git a/backend/genesys_gl841.c b/backend/genesys_gl841.c deleted file mode 100644 index 43c01ff..0000000 --- a/backend/genesys_gl841.c +++ /dev/null @@ -1,6383 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2003 Oliver Rauch - Copyright (C) 2003, 2004 Henning Meier-Geinitz - Copyright (C) 2004 Gerhard Jaeger - Copyright (C) 2004-2013 Stéphane Voltz - Copyright (C) 2005 Philipp Schmid - Copyright (C) 2005-2009 Pierre Willenbrock - Copyright (C) 2006 Laurent Charpentier - Copyright (C) 2010 Chris Berry and Michael Rickmann - for Plustek Opticbook 3600 support - - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#undef BACKEND_NAME -#define BACKEND_NAME genesys_gl841 - -#include "genesys_gl841.h" - -/**************************************************************************** - Low level function - ****************************************************************************/ - -/* ------------------------------------------------------------------------ */ -/* Read and write RAM, registers and AFE */ -/* ------------------------------------------------------------------------ */ - -/* Write to many registers */ -/* Note: There is no known bulk register write, - this function is sending single registers instead */ -static SANE_Status -gl841_bulk_write_register (Genesys_Device * dev, - Genesys_Register_Set * reg, size_t elems) -{ - SANE_Status status = SANE_STATUS_GOOD; - unsigned int i, c; - uint8_t buffer[GENESYS_MAX_REGS * 2]; - - /* handle differently sized register sets, reg[0x00] is the last one */ - i = 0; - while ((i < elems) && (reg[i].address != 0)) - i++; - - elems = i; - - DBG (DBG_io, "gl841_bulk_write_register (elems = %lu)\n", - (u_long) elems); - - for (i = 0; i < elems; i++) { - - buffer[i * 2 + 0] = reg[i].address; - buffer[i * 2 + 1] = reg[i].value; - - DBG (DBG_io2, "reg[0x%02x] = 0x%02x\n", buffer[i * 2 + 0], - buffer[i * 2 + 1]); - } - - for (i = 0; i < elems;) { - c = elems - i; - if (c > 32) /*32 is max. checked that.*/ - c = 32; - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - VALUE_SET_REGISTER, INDEX, c * 2, buffer + i * 2); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_bulk_write_register: failed while writing command: %s\n", - sane_strstatus (status)); - return status; - } - - i += c; - } - - DBG (DBG_io, "gl841_bulk_write_register: wrote %lu registers\n", - (u_long) elems); - return status; -} - -/* Write bulk data (e.g. shading, gamma) */ -static SANE_Status -gl841_bulk_write_data (Genesys_Device * dev, uint8_t addr, - uint8_t * data, size_t len) -{ - SANE_Status status; - size_t size; - uint8_t outdata[8]; - - DBG (DBG_io, "gl841_bulk_write_data writing %lu bytes\n", - (u_long) len); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_REGISTER, - VALUE_SET_REGISTER, INDEX, 1, &addr); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_bulk_write_data failed while setting register: %s\n", - sane_strstatus (status)); - return status; - } - - while (len) - { - if (len > BULKOUT_MAXSIZE) - size = BULKOUT_MAXSIZE; - else - size = len; - - outdata[0] = BULK_OUT; - outdata[1] = BULK_RAM; - outdata[2] = VALUE_BUFFER & 0xff; - outdata[3] = (VALUE_BUFFER >> 8) & 0xff; - outdata[4] = (size & 0xff); - outdata[5] = ((size >> 8) & 0xff); - outdata[6] = ((size >> 16) & 0xff); - outdata[7] = ((size >> 24) & 0xff); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - VALUE_BUFFER, INDEX, sizeof (outdata), - outdata); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_bulk_write_data failed while writing command: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_usb_write_bulk (dev->dn, data, &size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_bulk_write_data failed while writing bulk data: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_io2, - "gl841_bulk_write_data wrote %lu bytes, %lu remaining\n", - (u_long) size, (u_long) (len - size)); - - len -= size; - data += size; - } - - DBG (DBG_io, "gl841_bulk_write_data: completed\n"); - - return status; -} - -/* for debugging transfer rate*/ -/* -#include -static struct timeval start_time; -static void -starttime(){ - gettimeofday(&start_time,NULL); -} -static void -printtime(char *p) { - struct timeval t; - long long int dif; - gettimeofday(&t,NULL); - dif = t.tv_sec - start_time.tv_sec; - dif = dif*1000000 + t.tv_usec - start_time.tv_usec; - fprintf(stderr,"%s %lluµs\n",p,dif); -} -*/ - -/* Read bulk data (e.g. scanned data) */ -static SANE_Status -gl841_bulk_read_data (Genesys_Device * dev, uint8_t addr, - uint8_t * data, size_t len) -{ - SANE_Status status; - size_t size, target; - uint8_t outdata[8], *buffer; - - DBG (DBG_io, "gl841_bulk_read_data: requesting %lu bytes\n", - (u_long) len); - - if (len == 0) - return SANE_STATUS_GOOD; - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_REGISTER, - VALUE_SET_REGISTER, INDEX, 1, &addr); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_bulk_read_data failed while setting register: %s\n", - sane_strstatus (status)); - return status; - } - - outdata[0] = BULK_IN; - outdata[1] = BULK_RAM; - outdata[2] = VALUE_BUFFER & 0xff; - outdata[3] = (VALUE_BUFFER >> 8) & 0xff; - outdata[4] = (len & 0xff); - outdata[5] = ((len >> 8) & 0xff); - outdata[6] = ((len >> 16) & 0xff); - outdata[7] = ((len >> 24) & 0xff); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - VALUE_BUFFER, INDEX, sizeof (outdata), outdata); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_bulk_read_data failed while writing command: %s\n", - sane_strstatus (status)); - return status; - } - - target = len; - buffer = data; - while (target) - { - if (target > BULKIN_MAXSIZE) - size = BULKIN_MAXSIZE; - else - size = target; - - DBG (DBG_io2, - "gl841_bulk_read_data: trying to read %lu bytes of data\n", - (u_long) size); - - status = sanei_usb_read_bulk (dev->dn, data, &size); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_bulk_read_data failed while reading bulk data: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_io2, - "gl841_bulk_read_data read %lu bytes, %lu remaining\n", - (u_long) size, (u_long) (target - size)); - - target -= size; - data += size; - } - - - if (DBG_LEVEL >= DBG_data && dev->binary!=NULL) - { - fwrite(buffer, len, 1, dev->binary); - } - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* Set address for writing data */ -static SANE_Status -gl841_set_buffer_address_gamma (Genesys_Device * dev, uint32_t addr) -{ - SANE_Status status; - - DBG (DBG_io, "gl841_set_buffer_address_gamma: setting address to 0x%05x\n", - addr & 0xfffffff0); - - addr = addr >> 4; - - status = sanei_genesys_write_register (dev, 0x5c, (addr & 0xff)); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_set_buffer_address_gamma: failed while writing low byte: %s\n", - sane_strstatus (status)); - return status; - } - - addr = addr >> 8; - status = sanei_genesys_write_register (dev, 0x5b, (addr & 0xff)); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_set_buffer_address_gamma: failed while writing high byte: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_io, "gl841_set_buffer_address_gamma: completed\n"); - - return status; -} - -/* Write bulk data (e.g. gamma) */ -GENESYS_STATIC SANE_Status -gl841_bulk_write_data_gamma (Genesys_Device * dev, uint8_t addr, - uint8_t * data, size_t len) -{ - SANE_Status status; - size_t size; - uint8_t outdata[8]; - - DBG (DBG_io, "gl841_bulk_write_data_gamma writing %lu bytes\n", - (u_long) len); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_REGISTER, - VALUE_SET_REGISTER, INDEX, 1, &addr); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_bulk_write_data_gamma failed while setting register: %s\n", - sane_strstatus (status)); - return status; - } - - while (len) - { - if (len > BULKOUT_MAXSIZE) - size = BULKOUT_MAXSIZE; - else - size = len; - - outdata[0] = BULK_OUT; - outdata[1] = BULK_RAM; - outdata[2] = 0x00;/* 0x82 works, too */ - outdata[3] = 0x00; - outdata[4] = (size & 0xff); - outdata[5] = ((size >> 8) & 0xff); - outdata[6] = ((size >> 16) & 0xff); - outdata[7] = ((size >> 24) & 0xff); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - VALUE_BUFFER, INDEX, sizeof (outdata), - outdata); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_bulk_write_data_gamma failed while writing command: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_usb_write_bulk (dev->dn, data, &size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_bulk_write_data_gamma failed while writing bulk data: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_io2, - "genesys_bulk_write_data:gamma wrote %lu bytes, %lu remaining\n", - (u_long) size, (u_long) (len - size)); - - len -= size; - data += size; - } - - DBG (DBG_io, "genesys_bulk_write_data_gamma: completed\n"); - - return status; -} - - -/**************************************************************************** - Mid level functions - ****************************************************************************/ - -static SANE_Bool -gl841_get_fast_feed_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, 0x02); - if (r && (r->value & REG02_FASTFED)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl841_get_filter_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, 0x04); - if (r && (r->value & REG04_FILTER)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl841_get_lineart_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, 0x04); - if (r && (r->value & REG04_LINEART)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl841_get_bitset_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, 0x04); - if (r && (r->value & REG04_BITSET)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl841_get_gain4_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, 0x06); - if (r && (r->value & REG06_GAIN4)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl841_test_buffer_empty_bit (SANE_Byte val) -{ - if (val & REG41_BUFEMPTY) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl841_test_motor_flag_bit (SANE_Byte val) -{ - if (val & REG41_MOTORENB) - return SANE_TRUE; - return SANE_FALSE; -} - -/** copy sensor specific settings */ -/* *dev : device infos - *regs : registers to be set - extended : do extended set up - half_ccd: set up for half ccd resolution - all registers 08-0B, 10-1D, 52-59 are set up. They shouldn't - appear anywhere else but in register_ini - -Responsible for signals to CCD/CIS: - CCD_CK1X (CK1INV(0x16),CKDIS(0x16),CKTOGGLE(0x18),CKDELAY(0x18),MANUAL1(0x1A),CK1MTGL(0x1C),CK1LOW(0x1D),CK1MAP(0x74,0x75,0x76),CK1NEG(0x7D)) - CCD_CK2X (CK2INV(0x16),CKDIS(0x16),CKTOGGLE(0x18),CKDELAY(0x18),MANUAL1(0x1A),CK1LOW(0x1D),CK1NEG(0x7D)) - CCD_CK3X (MANUAL3(0x1A),CK3INV(0x1A),CK3MTGL(0x1C),CK3LOW(0x1D),CK3MAP(0x77,0x78,0x79),CK3NEG(0x7D)) - CCD_CK4X (MANUAL3(0x1A),CK4INV(0x1A),CK4MTGL(0x1C),CK4LOW(0x1D),CK4MAP(0x7A,0x7B,0x7C),CK4NEG(0x7D)) - CCD_CPX (CTRLHI(0x16),CTRLINV(0x16),CTRLDIS(0x16),CPH(0x72),CPL(0x73),CPNEG(0x7D)) - CCD_RSX (CTRLHI(0x16),CTRLINV(0x16),CTRLDIS(0x16),RSH(0x70),RSL(0x71),RSNEG(0x7D)) - CCD_TGX (TGINV(0x16),TGMODE(0x17),TGW(0x17),EXPR(0x10,0x11),TGSHLD(0x1D)) - CCD_TGG (TGINV(0x16),TGMODE(0x17),TGW(0x17),EXPG(0x12,0x13),TGSHLD(0x1D)) - CCD_TGB (TGINV(0x16),TGMODE(0x17),TGW(0x17),EXPB(0x14,0x15),TGSHLD(0x1D)) - LAMP_SW (EXPR(0x10,0x11),XPA_SEL(0x03),LAMP_PWR(0x03),LAMPTIM(0x03),MTLLAMP(0x04),LAMPPWM(0x29)) - XPA_SW (EXPG(0x12,0x13),XPA_SEL(0x03),LAMP_PWR(0x03),LAMPTIM(0x03),MTLLAMP(0x04),LAMPPWM(0x29)) - LAMP_B (EXPB(0x14,0x15),LAMP_PWR(0x03)) - -other registers: - CISSET(0x01),CNSET(0x18),DCKSEL(0x18),SCANMOD(0x18),EXPDMY(0x19),LINECLP(0x1A),CKAREA(0x1C),TGTIME(0x1C),LINESEL(0x1E),DUMMY(0x34) - -Responsible for signals to AFE: - VSMP (VSMP(0x58),VSMPW(0x58)) - BSMP (BSMP(0x59),BSMPW(0x59)) - -other register settings depending on this: - RHI(0x52),RLOW(0x53),GHI(0x54),GLOW(0x55),BHI(0x56),BLOW(0x57), - -*/ -static void -sanei_gl841_setup_sensor (Genesys_Device * dev, - Genesys_Register_Set * regs, - SANE_Bool extended, SANE_Bool half_ccd) -{ - Genesys_Register_Set *r; - int i; - - DBG (DBG_proc, "gl841_setup_sensor\n"); - - /* that one is tricky at least ....*/ - r = sanei_genesys_get_address (regs, 0x70); - for (i = 0; i < 4; i++, r++) - r->value = dev->sensor.regs_0x08_0x0b[i]; - - r = sanei_genesys_get_address (regs, 0x16); - for (i = 0x06; i < 0x0a; i++, r++) - r->value = dev->sensor.regs_0x10_0x1d[i]; - - r = sanei_genesys_get_address (regs, 0x1a); - for (i = 0x0a; i < 0x0e; i++, r++) - r->value = dev->sensor.regs_0x10_0x1d[i]; - - r = sanei_genesys_get_address (regs, 0x52); - for (i = 0; i < 9; i++, r++) - r->value = dev->sensor.regs_0x52_0x5e[i]; - - /* don't go any further if no extended setup */ - if (!extended) - return; - - /* todo : add more CCD types if needed */ - /* we might want to expand the Sensor struct to have these - 2 kind of settings */ - if (dev->model->ccd_type == CCD_5345) - { - if (half_ccd) - { - /* settings for CCD used at half is max resolution */ - r = sanei_genesys_get_address (regs, 0x70); - r->value = 0x00; - r = sanei_genesys_get_address (regs, 0x71); - r->value = 0x05; - r = sanei_genesys_get_address (regs, 0x72); - r->value = 0x06; - r = sanei_genesys_get_address (regs, 0x73); - r->value = 0x08; - r = sanei_genesys_get_address (regs, 0x18); - r->value = 0x28; - r = sanei_genesys_get_address (regs, 0x58); - r->value = 0x80 | (r->value & 0x03); /* VSMP=16 */ - } - else - { - /* swap latch times */ - r = sanei_genesys_get_address (regs, 0x18); - r->value = 0x30; - r = sanei_genesys_get_address (regs, 0x52); - for (i = 0; i < 6; i++, r++) - r->value = dev->sensor.regs_0x52_0x5e[(i + 3) % 6]; - r = sanei_genesys_get_address (regs, 0x58); - r->value = 0x20 | (r->value & 0x03); /* VSMP=4 */ - } - return; - } - - if (dev->model->ccd_type == CCD_HP2300) - { - /* settings for CCD used at half is max resolution */ - if (half_ccd) - { - r = sanei_genesys_get_address (regs, 0x70); - r->value = 0x16; - r = sanei_genesys_get_address (regs, 0x71); - r->value = 0x00; - r = sanei_genesys_get_address (regs, 0x72); - r->value = 0x01; - r = sanei_genesys_get_address (regs, 0x73); - r->value = 0x03; - /* manual clock programming */ - r = sanei_genesys_get_address (regs, 0x1d); - r->value |= 0x80; - } - else - { - r = sanei_genesys_get_address (regs, 0x70); - r->value = 1; - r = sanei_genesys_get_address (regs, 0x71); - r->value = 3; - r = sanei_genesys_get_address (regs, 0x72); - r->value = 4; - r = sanei_genesys_get_address (regs, 0x73); - r->value = 6; - } - r = sanei_genesys_get_address (regs, 0x58); - r->value = 0x80 | (r->value & 0x03); /* VSMP=16 */ - return; - } -} - -/** Test if the ASIC works - */ -/*TODO: make this functional*/ -static SANE_Status -sanei_gl841_asic_test (Genesys_Device * dev) -{ - SANE_Status status; - uint8_t val; - uint8_t *data; - uint8_t *verify_data; - size_t size, verify_size; - unsigned int i; - - DBG (DBG_proc, "sanei_gl841_asic_test\n"); - - return SANE_STATUS_INVAL; - - /* set and read exposure time, compare if it's the same */ - status = sanei_genesys_write_register (dev, 0x38, 0xde); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "sanei_gl841_asic_test: failed to write register: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_write_register (dev, 0x39, 0xad); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "sanei_gl841_asic_test: failed to write register: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_read_register (dev, 0x38, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "sanei_gl841_asic_test: failed to read register: %s\n", - sane_strstatus (status)); - return status; - } - if (val != 0xde) /* value of register 0x38 */ - { - DBG (DBG_error, - "sanei_gl841_asic_test: register contains invalid value\n"); - return SANE_STATUS_IO_ERROR; - } - - status = sanei_genesys_read_register (dev, 0x39, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "sanei_gl841_asic_test: failed to read register: %s\n", - sane_strstatus (status)); - return status; - } - if (val != 0xad) /* value of register 0x39 */ - { - DBG (DBG_error, - "sanei_gl841_asic_test: register contains invalid value\n"); - return SANE_STATUS_IO_ERROR; - } - - /* ram test: */ - size = 0x40000; - verify_size = size + 0x80; - /* todo: looks like the read size must be a multiple of 128? - otherwise the read doesn't succeed the second time after the scanner has - been plugged in. Very strange. */ - - data = (uint8_t *) malloc (size); - if (!data) - { - DBG (DBG_error, "sanei_gl841_asic_test: could not allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - - verify_data = (uint8_t *) malloc (verify_size); - if (!verify_data) - { - free (data); - DBG (DBG_error, "sanei_gl841_asic_test: could not allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - - for (i = 0; i < (size - 1); i += 2) - { - data[i] = i / 512; - data[i + 1] = (i / 2) % 256; - } - - status = sanei_genesys_set_buffer_address (dev, 0x0000); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_gl841_asic_test: failed to set buffer address: %s\n", - sane_strstatus (status)); - free (data); - free (verify_data); - return status; - } - -/* status = gl841_bulk_write_data (dev, 0x3c, data, size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_gl841_asic_test: failed to bulk write data: %s\n", - sane_strstatus (status)); - free (data); - free (verify_data); - return status; - }*/ - - status = sanei_genesys_set_buffer_address (dev, 0x0000); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_gl841_asic_test: failed to set buffer address: %s\n", - sane_strstatus (status)); - free (data); - free (verify_data); - return status; - } - - status = - gl841_bulk_read_data (dev, 0x45, (uint8_t *) verify_data, - verify_size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "sanei_gl841_asic_test: failed to bulk read data: %s\n", - sane_strstatus (status)); - free (data); - free (verify_data); - return status; - } - - /* todo: why i + 2 ? */ - for (i = 0; i < size; i++) - { - if (verify_data[i] != data[i]) - { - DBG (DBG_error, "sanei_gl841_asic_test: data verification error\n"); - DBG (DBG_info, "0x%.8x: got %.2x %.2x %.2x %.2x, expected %.2x %.2x %.2x %.2x\n", - i, - verify_data[i], - verify_data[i+1], - verify_data[i+2], - verify_data[i+3], - data[i], - data[i+1], - data[i+2], - data[i+3]); - free (data); - free (verify_data); - return SANE_STATUS_IO_ERROR; - } - } - - free (data); - free (verify_data); - - DBG (DBG_info, "sanei_gl841_asic_test: completed\n"); - - return SANE_STATUS_GOOD; -} - -/* returns the max register bulk size */ -static int -gl841_bulk_full_size (void) -{ - return GENESYS_GL841_MAX_REGS; -} - -/* - * Set all registers LiDE 80 to default values - * (function called only once at the beginning) - * we are doing a special case to ease development - */ -static void -gl841_init_lide80 (Genesys_Device * dev) -{ - uint8_t val; - int index=0; - - INITREG (0x01, 0x82); /* 0x02 = SHDAREA and no CISSET ! */ - INITREG (0x02, 0x10); - INITREG (0x03, 0x50); - INITREG (0x04, 0x02); - INITREG (0x05, 0x4c); /* 1200 DPI */ - INITREG (0x06, 0x38); /* 0x38 scanmod=1, pwrbit, GAIN4 */ - INITREG (0x07, 0x00); - INITREG (0x08, 0x00); - INITREG (0x09, 0x11); - INITREG (0x0a, 0x00); - - INITREG (0x10, 0x40); - INITREG (0x11, 0x00); - INITREG (0x12, 0x40); - INITREG (0x13, 0x00); - INITREG (0x14, 0x40); - INITREG (0x15, 0x00); - INITREG (0x16, 0x00); - INITREG (0x17, 0x01); - INITREG (0x18, 0x00); - INITREG (0x19, 0x06); - INITREG (0x1a, 0x00); - INITREG (0x1b, 0x00); - INITREG (0x1c, 0x00); - INITREG (0x1d, 0x04); - INITREG (0x1e, 0x10); - INITREG (0x1f, 0x04); - INITREG (0x20, 0x02); - INITREG (0x21, 0x10); - INITREG (0x22, 0x20); - INITREG (0x23, 0x20); - INITREG (0x24, 0x10); - INITREG (0x25, 0x00); - INITREG (0x26, 0x00); - INITREG (0x27, 0x00); - - INITREG (0x29, 0xff); - - INITREG (0x2c, dev->sensor.optical_res>>8); - INITREG (0x2d, dev->sensor.optical_res & 0xff); - INITREG (0x2e, 0x80); - INITREG (0x2f, 0x80); - INITREG (0x30, 0x00); - INITREG (0x31, 0x10); - INITREG (0x32, 0x15); - INITREG (0x33, 0x0e); - INITREG (0x34, 0x40); - INITREG (0x35, 0x00); - INITREG (0x36, 0x2a); - INITREG (0x37, 0x30); - INITREG (0x38, 0x2a); - INITREG (0x39, 0xf8); - - INITREG (0x3d, 0x00); - INITREG (0x3e, 0x00); - INITREG (0x3f, 0x00); - - INITREG (0x52, 0x03); - INITREG (0x53, 0x07); - INITREG (0x54, 0x00); - INITREG (0x55, 0x00); - INITREG (0x56, 0x00); - INITREG (0x57, 0x00); - INITREG (0x58, 0x29); - INITREG (0x59, 0x69); - INITREG (0x5a, 0x55); - - INITREG (0x5d, 0x20); - INITREG (0x5e, 0x41); - INITREG (0x5f, 0x40); - INITREG (0x60, 0x00); - INITREG (0x61, 0x00); - INITREG (0x62, 0x00); - INITREG (0x63, 0x00); - INITREG (0x64, 0x00); - INITREG (0x65, 0x00); - INITREG (0x66, 0x00); - INITREG (0x67, 0x40); - INITREG (0x68, 0x40); - INITREG (0x69, 0x20); - INITREG (0x6a, 0x20); - INITREG (0x6c, dev->gpo.value[0]); - INITREG (0x6d, dev->gpo.value[1]); - INITREG (0x6e, dev->gpo.enable[0]); - INITREG (0x6f, dev->gpo.enable[1]); - INITREG (0x70, 0x00); - INITREG (0x71, 0x05); - INITREG (0x72, 0x07); - INITREG (0x73, 0x09); - INITREG (0x74, 0x00); - INITREG (0x75, 0x01); - INITREG (0x76, 0xff); - INITREG (0x77, 0x00); - INITREG (0x78, 0x0f); - INITREG (0x79, 0xf0); - INITREG (0x7a, 0xf0); - INITREG (0x7b, 0x00); - INITREG (0x7c, 0x1e); - INITREG (0x7d, 0x11); - INITREG (0x7e, 0x00); - INITREG (0x7f, 0x50); - INITREG (0x80, 0x00); - INITREG (0x81, 0x00); - INITREG (0x82, 0x0f); - INITREG (0x83, 0x00); - INITREG (0x84, 0x0e); - INITREG (0x85, 0x00); - INITREG (0x86, 0x0d); - INITREG (0x87, 0x02); - INITREG (0x88, 0x00); - INITREG (0x89, 0x00); - - /* specific scanner settings, clock and gpio first */ - sanei_genesys_read_register (dev, REG6B, &val); - sanei_genesys_write_register (dev, REG6B, 0x0c); - sanei_genesys_write_register (dev, 0x06, 0x10); - sanei_genesys_write_register (dev, REG6E, 0x6d); - sanei_genesys_write_register (dev, REG6F, 0x80); - sanei_genesys_write_register (dev, REG6B, 0x0e); - sanei_genesys_read_register (dev, REG6C, &val); - sanei_genesys_write_register (dev, REG6C, 0x00); - sanei_genesys_read_register (dev, REG6D, &val); - sanei_genesys_write_register (dev, REG6D, 0x8f); - sanei_genesys_read_register (dev, REG6B, &val); - sanei_genesys_write_register (dev, REG6B, 0x0e); - sanei_genesys_read_register (dev, REG6B, &val); - sanei_genesys_write_register (dev, REG6B, 0x0e); - sanei_genesys_read_register (dev, REG6B, &val); - sanei_genesys_write_register (dev, REG6B, 0x0a); - sanei_genesys_read_register (dev, REG6B, &val); - sanei_genesys_write_register (dev, REG6B, 0x02); - sanei_genesys_read_register (dev, REG6B, &val); - sanei_genesys_write_register (dev, REG6B, 0x06); - - sanei_genesys_write_0x8c (dev, 0x10, 0x94); - sanei_genesys_write_register (dev, 0x09, 0x10); - - /* set up GPIO : no address, so no bulk write, doesn't written directly either ? */ - /* - dev->reg[reg_0x6c].value = dev->gpo.value[0]; - dev->reg[reg_0x6d].value = dev->gpo.value[1]; - dev->reg[reg_0x6e].value = dev->gpo.enable[0]; - dev->reg[reg_0x6f].value = dev->gpo.enable[1]; */ - - dev->reg[reg_0x6b].value |= REG6B_GPO18; - dev->reg[reg_0x6b].value &= ~REG6B_GPO17; - - sanei_gl841_setup_sensor (dev, dev->reg, 0, 0); -} - -/* - * Set all registers to default values - * (function called only once at the beginning) - */ -static void -gl841_init_registers (Genesys_Device * dev) -{ - int nr, addr; - - DBG (DBG_proc, "gl841_init_registers\n"); - - nr = 0; - memset (dev->reg, 0, GENESYS_MAX_REGS * sizeof (Genesys_Register_Set)); - if (strcmp (dev->model->name, "canon-lide-80") == 0) - { - gl841_init_lide80(dev); - return ; - } - - for (addr = 1; addr <= 0x0a; addr++) - dev->reg[nr++].address = addr; - for (addr = 0x10; addr <= 0x27; addr++) - dev->reg[nr++].address = addr; - dev->reg[nr++].address = 0x29; - for (addr = 0x2c; addr <= 0x39; addr++) - dev->reg[nr++].address = addr; - for (addr = 0x3d; addr <= 0x3f; addr++) - dev->reg[nr++].address = addr; - for (addr = 0x52; addr <= 0x5a; addr++) - dev->reg[nr++].address = addr; - for (addr = 0x5d; addr <= 0x87; addr++) - dev->reg[nr++].address = addr; - - - dev->reg[reg_0x01].value = 0x20; /* (enable shading), CCD, color, 1M */ - if (dev->model->is_cis == SANE_TRUE) - { - dev->reg[reg_0x01].value |= REG01_CISSET; - } - else - { - dev->reg[reg_0x01].value &= ~REG01_CISSET; - } - - dev->reg[reg_0x02].value = 0x30 /*0x38 */ ; /* auto home, one-table-move, full step */ - dev->reg[reg_0x02].value |= REG02_AGOHOME; - dev->reg[reg_0x02].value |= REG02_MTRPWR; - dev->reg[reg_0x02].value |= REG02_FASTFED; - - dev->reg[reg_0x03].value = 0x1f /*0x17 */ ; /* lamp on */ - dev->reg[reg_0x03].value |= REG03_AVEENB; - - if (dev->model->ccd_type == CCD_PLUSTEK_3600) /* AD front end */ - { - dev->reg[reg_0x04].value = (2 << REG04S_AFEMOD) | 0x02; - } - else /* Wolfson front end */ - { - dev->reg[reg_0x04].value |= 1 << REG04S_AFEMOD; - } - - dev->reg[reg_0x05].value = 0x00; /* disable gamma, 24 clocks/pixel */ - if (dev->sensor.sensor_pixels < 0x1500) - dev->reg[reg_0x05].value |= REG05_DPIHW_600; - else if (dev->sensor.sensor_pixels < 0x2a80) - dev->reg[reg_0x05].value |= REG05_DPIHW_1200; - else if (dev->sensor.sensor_pixels < 0x5400) - dev->reg[reg_0x05].value |= REG05_DPIHW_2400; - else - { - dev->reg[reg_0x05].value |= REG05_DPIHW_2400; - DBG (DBG_warn, - "gl841_init_registers: Cannot handle sensor pixel count %d\n", - dev->sensor.sensor_pixels); - } - - - dev->reg[reg_0x06].value |= REG06_PWRBIT; - dev->reg[reg_0x06].value |= REG06_GAIN4; - - /* XP300 CCD needs different clock and clock/pixels values */ - if (dev->model->ccd_type != CCD_XP300 && dev->model->ccd_type != CCD_DP685 - && dev->model->ccd_type != CCD_PLUSTEK_3600) - { - dev->reg[reg_0x06].value |= 0 << REG06S_SCANMOD; - dev->reg[reg_0x09].value |= 1 << REG09S_CLKSET; - } - else - { - dev->reg[reg_0x06].value |= 0x05 << REG06S_SCANMOD; /* 15 clocks/pixel */ - dev->reg[reg_0x09].value = 0; /* 24 MHz CLKSET */ - } - - dev->reg[reg_0x1e].value = 0xf0; /* watch-dog time */ - - dev->reg[reg_0x17].value |= 1 << REG17S_TGW; - - dev->reg[reg_0x19].value = 0x50; - - dev->reg[reg_0x1d].value |= 1 << REG1DS_TGSHLD; - - dev->reg[reg_0x1e].value |= 1 << REG1ES_WDTIME; - -/*SCANFED*/ - dev->reg[reg_0x1f].value = 0x01; - -/*BUFSEL*/ - dev->reg[reg_0x20].value = 0x20; - -/*LAMPPWM*/ - dev->reg[reg_0x29].value = 0xff; - -/*BWHI*/ - dev->reg[reg_0x2e].value = 0x80; - -/*BWLOW*/ - dev->reg[reg_0x2f].value = 0x80; - -/*LPERIOD*/ - dev->reg[reg_0x38].value = 0x4f; - dev->reg[reg_0x39].value = 0xc1; - -/*VSMPW*/ - dev->reg[reg_0x58].value |= 3 << REG58S_VSMPW; - -/*BSMPW*/ - dev->reg[reg_0x59].value |= 3 << REG59S_BSMPW; - -/*RLCSEL*/ - dev->reg[reg_0x5a].value |= REG5A_RLCSEL; - -/*STOPTIM*/ - dev->reg[reg_0x5e].value |= 0x2 << REG5ES_STOPTIM; - - sanei_gl841_setup_sensor (dev, dev->reg, 0, 0); - - /* set up GPIO */ - dev->reg[reg_0x6c].value = dev->gpo.value[0]; - dev->reg[reg_0x6d].value = dev->gpo.value[1]; - dev->reg[reg_0x6e].value = dev->gpo.enable[0]; - dev->reg[reg_0x6f].value = dev->gpo.enable[1]; - - /* TODO there is a switch calling to be written here */ - if (dev->model->gpo_type == GPO_CANONLIDE35) - { - dev->reg[reg_0x6b].value |= REG6B_GPO18; - dev->reg[reg_0x6b].value &= ~REG6B_GPO17; - } - if (dev->model->gpo_type == GPO_CANONLIDE80) - { - dev->reg[reg_0x6b].value |= REG6B_GPO18; - dev->reg[reg_0x6b].value &= ~REG6B_GPO17; - } - - if (dev->model->gpo_type == GPO_XP300) - { - dev->reg[reg_0x6b].value |= REG6B_GPO17; - } - - if (dev->model->gpo_type == GPO_DP685) - { - /* REG6B_GPO18 lights on green led */ - dev->reg[reg_0x6b].value |= REG6B_GPO17|REG6B_GPO18; - } - - DBG (DBG_proc, "gl841_init_registers complete\n"); -} - -/* Send slope table for motor movement - slope_table in machine byte order - */ -GENESYS_STATIC SANE_Status -gl841_send_slope_table (Genesys_Device * dev, int table_nr, - uint16_t * slope_table, int steps) -{ - int dpihw; - int start_address; - SANE_Status status; - uint8_t *table; - char msg[4000]; -/*#ifdef WORDS_BIGENDIAN*/ - int i; -/*#endif*/ - - DBG (DBG_proc, "gl841_send_slope_table (table_nr = %d, steps = %d)\n", - table_nr, steps); - - dpihw = dev->reg[reg_0x05].value >> 6; - - if (dpihw == 0) /* 600 dpi */ - start_address = 0x08000; - else if (dpihw == 1) /* 1200 dpi */ - start_address = 0x10000; - else if (dpihw == 2) /* 2400 dpi */ - start_address = 0x20000; - else /* reserved */ - return SANE_STATUS_INVAL; - -/*#ifdef WORDS_BIGENDIAN*/ - table = (uint8_t*)malloc(steps * 2); - for(i = 0; i < steps; i++) { - table[i * 2] = slope_table[i] & 0xff; - table[i * 2 + 1] = slope_table[i] >> 8; - } -/*#else - table = (uint8_t*)slope_table; - #endif*/ - if (DBG_LEVEL >= DBG_io) - { - sprintf (msg, "write slope %d (%d)=", table_nr, steps); - for (i = 0; i < steps; i++) - { - sprintf (msg+strlen(msg), ",%d", slope_table[i]); - } - DBG (DBG_io, "%s: %s\n", __func__, msg); - } - - status = - sanei_genesys_set_buffer_address (dev, start_address + table_nr * 0x200); - if (status != SANE_STATUS_GOOD) - { -/*#ifdef WORDS_BIGENDIAN*/ - free(table); -/*#endif*/ - DBG (DBG_error, - "gl841_send_slope_table: failed to set buffer address: %s\n", - sane_strstatus (status)); - return status; - } - - status = - gl841_bulk_write_data (dev, 0x3c, (uint8_t *) table, - steps * 2); - if (status != SANE_STATUS_GOOD) - { -/*#ifdef WORDS_BIGENDIAN*/ - free(table); -/*#endif*/ - DBG (DBG_error, - "gl841_send_slope_table: failed to send slope table: %s\n", - sane_strstatus (status)); - return status; - } - -/*#ifdef WORDS_BIGENDIAN*/ - free(table); -/*#endif*/ - DBG (DBG_proc, "gl841_send_slope_table: completed\n"); - return status; -} - -static SANE_Status -gl841_set_lide80_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - if (set == AFE_INIT) - { - DBG (DBG_proc, "%s(): setting DAC %u\n", __func__, - dev->model->dac_type); - - /* sets to default values */ - sanei_genesys_init_fe (dev); - - /* write them to analog frontend */ - status = sanei_genesys_fe_write_data (dev, 0x00, dev->frontend.reg[0]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: writing reg 0x00 failed: %s\n", __func__, - sane_strstatus (status)); - return status; - } - status = sanei_genesys_fe_write_data (dev, 0x03, dev->frontend.reg[1]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: writing reg 0x03 failed: %s\n", __func__, - sane_strstatus (status)); - return status; - } - status = sanei_genesys_fe_write_data (dev, 0x06, dev->frontend.reg[2]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: writing reg 0x06 failed: %s\n", __func__, - sane_strstatus (status)); - return status; - } - } - - if (set == AFE_SET) - { - status = sanei_genesys_fe_write_data (dev, 0x00, dev->frontend.reg[0]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: writing reg 0x00 failed: %s\n", __func__, - sane_strstatus (status)); - return status; - } - status = sanei_genesys_fe_write_data (dev, 0x06, dev->frontend.offset[0]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: writing offset failed: %s\n", __func__, - sane_strstatus (status)); - return status; - } - status = sanei_genesys_fe_write_data (dev, 0x03, dev->frontend.gain[0]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: writing gain failed: %s\n", __func__, - sane_strstatus (status)); - return status; - } - } - - return status; - DBGCOMPLETED; -} - -/* Set values of Analog Device type frontend */ -static SANE_Status -gl841_set_ad_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - - /* special case for LiDE 80 analog frontend */ - if(dev->model->dac_type==DAC_CANONLIDE80) - { - return gl841_set_lide80_fe(dev, set); - } - - DBG (DBG_proc, "gl841_set_ad_fe(): start\n"); - if (set == AFE_INIT) - { - DBG (DBG_proc, "gl841_set_ad_fe(): setting DAC %u\n", - dev->model->dac_type); - - /* sets to default values */ - sanei_genesys_init_fe (dev); - - /* write them to analog frontend */ - status = sanei_genesys_fe_write_data (dev, 0x00, dev->frontend.reg[0]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_ad_fe: writing reg 0x00 failed: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_fe_write_data (dev, 0x01, dev->frontend.reg[1]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_ad_fe: writing reg 0x01 failed: %s\n", - sane_strstatus (status)); - return status; - } - - for (i = 0; i < 6; i++) - { - status = - sanei_genesys_fe_write_data (dev, 0x02 + i, 0x00); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_set_ad_fe: writing sign[%d] failed: %s\n", 0x02 + i, - sane_strstatus (status)); - return status; - } - } - } - if (set == AFE_SET) - { - /* write them to analog frontend */ - status = sanei_genesys_fe_write_data (dev, 0x00, dev->frontend.reg[0]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_ad_fe: writing reg 0x00 failed: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_fe_write_data (dev, 0x01, dev->frontend.reg[1]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_ad_fe: writing reg 0x01 failed: %s\n", - sane_strstatus (status)); - return status; - } - - /* Write fe 0x02 (red gain)*/ - status = sanei_genesys_fe_write_data (dev, 0x02, dev->frontend.gain[0]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_ad_fe: writing fe 0x02 (gain r) fail: %s\n", - sane_strstatus (status)); - return status; - } - - /* Write fe 0x03 (green gain)*/ - status = sanei_genesys_fe_write_data (dev, 0x03, dev->frontend.gain[1]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_ad_fe: writing fe 0x03 (gain g) fail: %s\n", - sane_strstatus (status)); - return status; - } - - /* Write fe 0x04 (blue gain)*/ - status = sanei_genesys_fe_write_data (dev, 0x04, dev->frontend.gain[2]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_ad_fe: writing fe 0x04 (gain b) fail: %s\n", - sane_strstatus (status)); - return status; - } - - /* Write fe 0x05 (red offset)*/ - status = - sanei_genesys_fe_write_data (dev, 0x05, dev->frontend.offset[0]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_ad_fe: write fe 0x05 (offset r) fail: %s\n", - sane_strstatus (status)); - return status; - } - - /* Write fe 0x06 (green offset)*/ - status = - sanei_genesys_fe_write_data (dev, 0x06, dev->frontend.offset[1]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_ad_fe: write fe 0x06 (offset g) fail: %s\n", - sane_strstatus (status)); - return status; - } - - /* Write fe 0x07 (blue offset)*/ - status = - sanei_genesys_fe_write_data (dev, 0x07, dev->frontend.offset[2]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_ad_fe: write fe 0x07 (offset b) fail: %s\n", - sane_strstatus (status)); - return status; - } - } - DBG (DBG_proc, "gl841_set_ad_fe(): end\n"); - - return status; -} - -/* Set values of analog frontend */ -static SANE_Status -gl841_set_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status; - int i; - - DBG (DBG_proc, "gl841_set_fe (%s)\n", - set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == - AFE_POWER_SAVE ? "powersave" : "huh?"); - - /* Analog Device type frontend */ - if ((dev->reg[reg_0x04].value & REG04_FESET) == 0x02) - { - return gl841_set_ad_fe (dev, set); - } - - if ((dev->reg[reg_0x04].value & REG04_FESET) != 0x00) - { - DBG (DBG_proc, "gl841_set_fe(): unsupported frontend type %d\n", - dev->reg[reg_0x04].value & REG04_FESET); - return SANE_STATUS_UNSUPPORTED; - } - - if (set == AFE_INIT) - { - DBG (DBG_proc, "gl841_set_fe(): setting DAC %u\n", - dev->model->dac_type); - sanei_genesys_init_fe (dev); - - /* reset only done on init */ - status = sanei_genesys_fe_write_data (dev, 0x04, 0x80); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_fe: reset fe failed: %s\n", - sane_strstatus (status)); - return status; - /* - if (dev->model->ccd_type == CCD_HP2300 - || dev->model->ccd_type == CCD_HP2400) - { - val = 0x07; - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, - REQUEST_REGISTER, GPIO_OUTPUT_ENABLE, - INDEX, 1, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_set_fe failed resetting frontend: %s\n", - sane_strstatus (status)); - return status; - } - }*/ - } - DBG (DBG_proc, "gl841_set_fe(): frontend reset complete\n"); - } - - - if (set == AFE_POWER_SAVE) - { - status = sanei_genesys_fe_write_data (dev, 0x01, 0x02); - if (status != SANE_STATUS_GOOD) - DBG (DBG_error, "gl841_set_fe: writing data failed: %s\n", - sane_strstatus (status)); - return status; - } - - /* todo : base this test on cfg reg3 or a CCD family flag to be created */ - /*if (dev->model->ccd_type!=CCD_HP2300 && dev->model->ccd_type!=CCD_HP2400) */ - { - - status = sanei_genesys_fe_write_data (dev, 0x00, dev->frontend.reg[0]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_fe: writing reg0 failed: %s\n", - sane_strstatus (status)); - return status; - } - status = sanei_genesys_fe_write_data (dev, 0x02, dev->frontend.reg[2]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_fe: writing reg2 failed: %s\n", - sane_strstatus (status)); - return status; - } - } - - status = sanei_genesys_fe_write_data (dev, 0x01, dev->frontend.reg[1]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_fe: writing reg1 failed: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_fe_write_data (dev, 0x03, dev->frontend.reg[3]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_fe: writing reg3 failed: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_fe_write_data (dev, 0x06, dev->frontend.reg2[0]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_fe: writing reg6 failed: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_fe_write_data (dev, 0x08, dev->frontend.reg2[1]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_fe: writing reg8 failed: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_fe_write_data (dev, 0x09, dev->frontend.reg2[2]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_set_fe: writing reg9 failed: %s\n", - sane_strstatus (status)); - return status; - } - - for (i = 0; i < 3; i++) - { - status = - sanei_genesys_fe_write_data (dev, 0x24 + i, dev->frontend.sign[i]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_set_fe: writing sign[%d] failed: %s\n", i, - sane_strstatus (status)); - return status; - } - - status = - sanei_genesys_fe_write_data (dev, 0x28 + i, dev->frontend.gain[i]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_set_fe: writing gain[%d] failed: %s\n", i, - sane_strstatus (status)); - return status; - } - - status = - sanei_genesys_fe_write_data (dev, 0x20 + i, - dev->frontend.offset[i]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_set_fe: writing offset[%d] failed: %s\n", i, - sane_strstatus (status)); - return status; - } - } - - - DBG (DBG_proc, "gl841_set_fe: completed\n"); - - return SANE_STATUS_GOOD; -} - -#define MOTOR_ACTION_FEED 1 -#define MOTOR_ACTION_GO_HOME 2 -#define MOTOR_ACTION_HOME_FREE 3 - -/** @brief turn off motor - * - */ -static SANE_Status -gl841_init_motor_regs_off(Genesys_Register_Set * reg, - unsigned int scan_lines) -{ - unsigned int feedl; - Genesys_Register_Set * r; - - DBG (DBG_proc, "gl841_init_motor_regs_off : scan_lines=%d\n", - scan_lines); - - feedl = 2; - - r = sanei_genesys_get_address (reg, 0x3d); - r->value = (feedl >> 16) & 0xf; - r = sanei_genesys_get_address (reg, 0x3e); - r->value = (feedl >> 8) & 0xff; - r = sanei_genesys_get_address (reg, 0x3f); - r->value = feedl & 0xff; - r = sanei_genesys_get_address (reg, 0x5e); - r->value &= ~0xe0; - - r = sanei_genesys_get_address (reg, 0x25); - r->value = (scan_lines >> 16) & 0xf; - r = sanei_genesys_get_address (reg, 0x26); - r->value = (scan_lines >> 8) & 0xff; - r = sanei_genesys_get_address (reg, 0x27); - r->value = scan_lines & 0xff; - - r = sanei_genesys_get_address (reg, 0x02); - r->value &= ~0x01; /*LONGCURV OFF*/ - r->value &= ~0x80; /*NOT_HOME OFF*/ - - r->value &= ~0x10; - - r->value &= ~0x06; - - r->value &= ~0x08; - - r->value &= ~0x20; - - r->value &= ~0x40; - - r = sanei_genesys_get_address (reg, 0x67); - r->value = 0x3f; - - r = sanei_genesys_get_address (reg, 0x68); - r->value = 0x3f; - - r = sanei_genesys_get_address (reg, REG_STEPNO); - r->value = 0; - - r = sanei_genesys_get_address (reg, REG_FASTNO); - r->value = 0; - - r = sanei_genesys_get_address (reg, 0x69); - r->value = 0; - - r = sanei_genesys_get_address (reg, 0x6a); - r->value = 0; - - r = sanei_genesys_get_address (reg, 0x5f); - r->value = 0; - - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief write motor table frequency - * Write motor frequency data table. - * @param dev device to set up motor - * @param ydpi motor target resolution - * @return SANE_STATUS_GOOD on success - */ -GENESYS_STATIC SANE_Status gl841_write_freq(Genesys_Device *dev, unsigned int ydpi) -{ -SANE_Status status; -/**< fast table */ -uint8_t tdefault[] = {0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76}; -uint8_t t1200[] = {0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20}; -uint8_t t300[] = {0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60}; -uint8_t t150[] = {0x0c,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0x40,0x14,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x0c,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0x11,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x0c,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0x40,0xd4,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x0c,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0x11,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60}; - -uint8_t *table; - - DBGSTART; - if(dev->model->motor_type == MOTOR_CANONLIDE80) - { - switch(ydpi) - { - case 3600: - case 1200: - table=t1200; - break; - case 900: - case 300: - table=t300; - break; - case 450: - case 150: - table=t150; - break; - default: - table=tdefault; - } - RIE(sanei_genesys_write_register(dev, 0x66, 0x00)); - RIE(sanei_genesys_write_register(dev, 0x5b, 0x0c)); - RIE(sanei_genesys_write_register(dev, 0x5c, 0x00)); - RIE(gl841_bulk_write_data_gamma (dev, 0x28, table, 128)); - RIE(sanei_genesys_write_register(dev, 0x5b, 0x00)); - RIE(sanei_genesys_write_register(dev, 0x5c, 0x00)); - } - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl841_init_motor_regs(Genesys_Device * dev, - Genesys_Register_Set * reg, - unsigned int feed_steps,/*1/base_ydpi*/ -/*maybe float for half/quarter step resolution?*/ - unsigned int action, - unsigned int flags) -{ - SANE_Status status; - unsigned int fast_exposure; - int scan_power_mode; - int use_fast_fed = 0; - uint16_t fast_slope_table[256]; - unsigned int fast_slope_steps = 0; - unsigned int feedl; - Genesys_Register_Set * r; -/*number of scan lines to add in a scan_lines line*/ - - DBG (DBG_proc, "gl841_init_motor_regs : feed_steps=%d, action=%d, flags=%x\n", - feed_steps, - action, - flags); - - memset(fast_slope_table,0xff,512); - - gl841_send_slope_table (dev, 0, fast_slope_table, 256); - gl841_send_slope_table (dev, 1, fast_slope_table, 256); - gl841_send_slope_table (dev, 2, fast_slope_table, 256); - gl841_send_slope_table (dev, 3, fast_slope_table, 256); - gl841_send_slope_table (dev, 4, fast_slope_table, 256); - - gl841_write_freq(dev, dev->motor.base_ydpi / 4); - - fast_slope_steps = 256; - if (action == MOTOR_ACTION_FEED || action == MOTOR_ACTION_GO_HOME) - { - /* FEED and GO_HOME can use fastest slopes available */ - fast_exposure = gl841_exposure_time(dev, - dev->motor.base_ydpi / 4, - 0, - 0, - 0, - &scan_power_mode); - DBG (DBG_info, "%s : fast_exposure=%d pixels\n", __func__, fast_exposure); - } - - if (action == MOTOR_ACTION_HOME_FREE) { -/* HOME_FREE must be able to stop in one step, so do not try to get faster */ - fast_exposure = dev->motor.slopes[0][0].maximum_start_speed; - } - - sanei_genesys_create_slope_table3 ( - dev, - fast_slope_table, - 256, - fast_slope_steps, - 0, - fast_exposure, - dev->motor.base_ydpi / 4, - &fast_slope_steps, - &fast_exposure, 0); - - feedl = feed_steps - fast_slope_steps*2; - use_fast_fed = 1; - -/* all needed slopes available. we did even decide which mode to use. - what next? - - transfer slopes -SCAN: -flags \ use_fast_fed ! 0 1 -------------------------\-------------------- - 0 ! 0,1,2 0,1,2,3 -MOTOR_FLAG_AUTO_GO_HOME ! 0,1,2,4 0,1,2,3,4 -OFF: none -FEED: 3 -GO_HOME: 3 -HOME_FREE: 3 - - setup registers - * slope specific registers (already done) - * DECSEL for HOME_FREE/GO_HOME/SCAN - * FEEDL - * MTRREV - * MTRPWR - * FASTFED - * STEPSEL - * MTRPWM - * FSTPSEL - * FASTPWM - * HOMENEG - * BWDSTEP - * FWDSTEP - * Z1 - * Z2 - */ - - r = sanei_genesys_get_address (reg, 0x3d); - r->value = (feedl >> 16) & 0xf; - r = sanei_genesys_get_address (reg, 0x3e); - r->value = (feedl >> 8) & 0xff; - r = sanei_genesys_get_address (reg, 0x3f); - r->value = feedl & 0xff; - r = sanei_genesys_get_address (reg, 0x5e); - r->value &= ~0xe0; - - r = sanei_genesys_get_address (reg, 0x25); - r->value = 0; - r = sanei_genesys_get_address (reg, 0x26); - r->value = 0; - r = sanei_genesys_get_address (reg, 0x27); - r->value = 0; - - r = sanei_genesys_get_address (reg, 0x02); - r->value &= ~0x01; /*LONGCURV OFF*/ - r->value &= ~0x80; /*NOT_HOME OFF*/ - - r->value |= 0x10; - - if (action == MOTOR_ACTION_GO_HOME) - r->value |= 0x06; - else - r->value &= ~0x06; - - if (use_fast_fed) - r->value |= 0x08; - else - r->value &= ~0x08; - - if (flags & MOTOR_FLAG_AUTO_GO_HOME) - r->value |= 0x20; - else - r->value &= ~0x20; - - r->value &= ~0x40; - - status = gl841_send_slope_table (dev, 3, fast_slope_table, 256); - - if (status != SANE_STATUS_GOOD) - return status; - - r = sanei_genesys_get_address (reg, 0x67); - r->value = 0x3f; - - r = sanei_genesys_get_address (reg, 0x68); - r->value = 0x3f; - - r = sanei_genesys_get_address (reg, REG_STEPNO); - r->value = 0; - - r = sanei_genesys_get_address (reg, REG_FASTNO); - r->value = 0; - - r = sanei_genesys_get_address (reg, 0x69); - r->value = 0; - - r = sanei_genesys_get_address (reg, 0x6a); - r->value = (fast_slope_steps >> 1) + (fast_slope_steps & 1); - - r = sanei_genesys_get_address (reg, 0x5f); - r->value = (fast_slope_steps >> 1) + (fast_slope_steps & 1); - - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl841_init_motor_regs_scan(Genesys_Device * dev, - Genesys_Register_Set * reg, - unsigned int scan_exposure_time,/*pixel*/ - float scan_yres,/*dpi, motor resolution*/ - int scan_step_type,/*0: full, 1: half, 2: quarter*/ - unsigned int scan_lines,/*lines, scan resolution*/ - unsigned int scan_dummy, -/*number of scan lines to add in a scan_lines line*/ - unsigned int feed_steps,/*1/base_ydpi*/ -/*maybe float for half/quarter step resolution?*/ - int scan_power_mode, - unsigned int flags) -{ - SANE_Status status; - unsigned int fast_exposure; - int use_fast_fed = 0; - int dummy_power_mode; - unsigned int fast_time; - unsigned int slow_time; - uint16_t slow_slope_table[256]; - uint16_t fast_slope_table[256]; - uint16_t back_slope_table[256]; - unsigned int slow_slope_time; - unsigned int fast_slope_time; - unsigned int slow_slope_steps = 0; - unsigned int fast_slope_steps = 0; - unsigned int back_slope_steps = 0; - unsigned int feedl; - Genesys_Register_Set * r; - unsigned int min_restep = 0x20; - uint32_t z1, z2; - - DBG (DBG_proc, "gl841_init_motor_regs_scan : scan_exposure_time=%d, " - "scan_yres=%g, scan_step_type=%d, scan_lines=%d, scan_dummy=%d, " - "feed_steps=%d, scan_power_mode=%d, flags=%x\n", - scan_exposure_time, - scan_yres, - scan_step_type, - scan_lines, - scan_dummy, - feed_steps, - scan_power_mode, - flags); - - fast_exposure = gl841_exposure_time(dev, - dev->motor.base_ydpi / 4, - 0, - 0, - 0, - &dummy_power_mode); - - DBG (DBG_info, "%s : fast_exposure=%d pixels\n", __func__, fast_exposure); - - memset(slow_slope_table,0xff,512); - - gl841_send_slope_table (dev, 0, slow_slope_table, 256); - gl841_send_slope_table (dev, 1, slow_slope_table, 256); - gl841_send_slope_table (dev, 2, slow_slope_table, 256); - gl841_send_slope_table (dev, 3, slow_slope_table, 256); - gl841_send_slope_table (dev, 4, slow_slope_table, 256); - - /* motor frequency table */ - gl841_write_freq(dev, scan_yres); - -/* - we calculate both tables for SCAN. the fast slope step count depends on - how many steps we need for slow acceleration and how much steps we are - allowed to use. - */ - slow_slope_time = sanei_genesys_create_slope_table3 ( - dev, - slow_slope_table, 256, - 256, - scan_step_type, - scan_exposure_time, - scan_yres, - &slow_slope_steps, - NULL, - scan_power_mode); - - sanei_genesys_create_slope_table3 ( - dev, - back_slope_table, 256, - 256, - scan_step_type, - 0, - scan_yres, - &back_slope_steps, - NULL, - scan_power_mode); - - if (feed_steps < (slow_slope_steps >> scan_step_type)) { - /*TODO: what should we do here?? go back to exposure calculation?*/ - feed_steps = slow_slope_steps >> scan_step_type; - } - - if (feed_steps > fast_slope_steps*2 - - (slow_slope_steps >> scan_step_type)) - fast_slope_steps = 256; - else -/* we need to shorten fast_slope_steps here. */ - fast_slope_steps = (feed_steps - - (slow_slope_steps >> scan_step_type))/2; - - DBG(DBG_info,"gl841_init_motor_regs_scan: Maximum allowed slope steps for fast slope: %d\n",fast_slope_steps); - - fast_slope_time = sanei_genesys_create_slope_table3 ( - dev, - fast_slope_table, 256, - fast_slope_steps, - 0, - fast_exposure, - dev->motor.base_ydpi / 4, - &fast_slope_steps, - &fast_exposure, - scan_power_mode); - - /* fast fed special cases handling */ - if (dev->model->gpo_type == GPO_XP300 - || dev->model->gpo_type == GPO_DP685) - { - /* quirk: looks like at least this scanner is unable to use - 2-feed mode */ - use_fast_fed = 0; - } - else if (feed_steps < fast_slope_steps*2 + (slow_slope_steps >> scan_step_type)) { - use_fast_fed = 0; - DBG(DBG_info,"gl841_init_motor_regs_scan: feed too short, slow move forced.\n"); - } else { -/* for deciding whether we should use fast mode we need to check how long we - need for (fast)accelerating, moving, decelerating, (TODO: stopping?) - (slow)accelerating again versus (slow)accelerating and moving. we need - fast and slow tables here. -*/ -/*NOTE: scan_exposure_time is per scan_yres*/ -/*NOTE: fast_exposure is per base_ydpi/4*/ -/*we use full steps as base unit here*/ - fast_time = - fast_exposure / 4 * - (feed_steps - fast_slope_steps*2 - - (slow_slope_steps >> scan_step_type)) - + fast_slope_time*2 + slow_slope_time; - slow_time = - (scan_exposure_time * scan_yres) / dev->motor.base_ydpi * - (feed_steps - (slow_slope_steps >> scan_step_type)) - + slow_slope_time; - - DBG(DBG_info,"gl841_init_motor_regs_scan: Time for slow move: %d\n", - slow_time); - DBG(DBG_info,"gl841_init_motor_regs_scan: Time for fast move: %d\n", - fast_time); - - use_fast_fed = fast_time < slow_time; - } - - if (use_fast_fed) - feedl = feed_steps - fast_slope_steps*2 - - (slow_slope_steps >> scan_step_type); - else - if ((feed_steps << scan_step_type) < slow_slope_steps) - feedl = 0; - else - feedl = (feed_steps << scan_step_type) - slow_slope_steps; - DBG(DBG_info,"gl841_init_motor_regs_scan: Decided to use %s mode\n", - use_fast_fed?"fast feed":"slow feed"); - -/* all needed slopes available. we did even decide which mode to use. - what next? - - transfer slopes -SCAN: -flags \ use_fast_fed ! 0 1 -------------------------\-------------------- - 0 ! 0,1,2 0,1,2,3 -MOTOR_FLAG_AUTO_GO_HOME ! 0,1,2,4 0,1,2,3,4 -OFF: none -FEED: 3 -GO_HOME: 3 -HOME_FREE: 3 - - setup registers - * slope specific registers (already done) - * DECSEL for HOME_FREE/GO_HOME/SCAN - * FEEDL - * MTRREV - * MTRPWR - * FASTFED - * STEPSEL - * MTRPWM - * FSTPSEL - * FASTPWM - * HOMENEG - * BWDSTEP - * FWDSTEP - * Z1 - * Z2 - */ - - r = sanei_genesys_get_address (reg, 0x3d); - r->value = (feedl >> 16) & 0xf; - r = sanei_genesys_get_address (reg, 0x3e); - r->value = (feedl >> 8) & 0xff; - r = sanei_genesys_get_address (reg, 0x3f); - r->value = feedl & 0xff; - r = sanei_genesys_get_address (reg, 0x5e); - r->value &= ~0xe0; - - r = sanei_genesys_get_address (reg, 0x25); - r->value = (scan_lines >> 16) & 0xf; - r = sanei_genesys_get_address (reg, 0x26); - r->value = (scan_lines >> 8) & 0xff; - r = sanei_genesys_get_address (reg, 0x27); - r->value = scan_lines & 0xff; - - r = sanei_genesys_get_address (reg, 0x02); - r->value &= ~0x01; /*LONGCURV OFF*/ - r->value &= ~0x80; /*NOT_HOME OFF*/ - r->value |= 0x10; - - r->value &= ~0x06; - - if (use_fast_fed) - r->value |= 0x08; - else - r->value &= ~0x08; - - if (flags & MOTOR_FLAG_AUTO_GO_HOME) - r->value |= 0x20; - else - r->value &= ~0x20; - - if (flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) - r->value |= 0x40; - else - r->value &= ~0x40; - - status = gl841_send_slope_table (dev, 0, slow_slope_table, 256); - - if (status != SANE_STATUS_GOOD) - return status; - - status = gl841_send_slope_table (dev, 1, back_slope_table, 256); - - if (status != SANE_STATUS_GOOD) - return status; - - status = gl841_send_slope_table (dev, 2, slow_slope_table, 256); - - if (status != SANE_STATUS_GOOD) - return status; - - if (use_fast_fed) { - status = gl841_send_slope_table (dev, 3, fast_slope_table, 256); - - if (status != SANE_STATUS_GOOD) - return status; - } - - if (flags & MOTOR_FLAG_AUTO_GO_HOME){ - status = gl841_send_slope_table (dev, 4, fast_slope_table, 256); - - if (status != SANE_STATUS_GOOD) - return status; - } - - -/* now reg 0x21 and 0x24 are available, we can calculate reg 0x22 and 0x23, - reg 0x60-0x62 and reg 0x63-0x65 - rule: - 2*STEPNO+FWDSTEP=2*FASTNO+BWDSTEP -*/ -/* steps of table 0*/ - if (min_restep < slow_slope_steps*2+2) - min_restep = slow_slope_steps*2+2; -/* steps of table 1*/ - if (min_restep < back_slope_steps*2+2) - min_restep = back_slope_steps*2+2; -/* steps of table 0*/ - r = sanei_genesys_get_address (reg, REG_FWDSTEP); - r->value = min_restep - slow_slope_steps*2; -/* steps of table 1*/ - r = sanei_genesys_get_address (reg, REG_BWDSTEP); - r->value = min_restep - back_slope_steps*2; - -/* - for z1/z2: - in dokumentation mentioned variables a-d: - a = time needed for acceleration, table 1 - b = time needed for reg 0x1f... wouldn't that be reg0x1f*exposure_time? - c = time needed for acceleration, table 1 - d = time needed for reg 0x22... wouldn't that be reg0x22*exposure_time? - z1 = (c+d-1) % exposure_time - z2 = (a+b-1) % exposure_time -*/ -/* i don't see any effect of this. i can only guess that this will enhance - sub-pixel accuracy - z1 = (slope_0_time-1) % exposure_time; - z2 = (slope_0_time-1) % exposure_time; -*/ - z1 = z2 = 0; - - DBG (DBG_info, "gl841_init_motor_regs_scan: z1 = %d\n", z1); - DBG (DBG_info, "gl841_init_motor_regs_scan: z2 = %d\n", z2); - r = sanei_genesys_get_address (reg, 0x60); - r->value = ((z1 >> 16) & 0xff); - r = sanei_genesys_get_address (reg, 0x61); - r->value = ((z1 >> 8) & 0xff); - r = sanei_genesys_get_address (reg, 0x62); - r->value = (z1 & 0xff); - r = sanei_genesys_get_address (reg, 0x63); - r->value = ((z2 >> 16) & 0xff); - r = sanei_genesys_get_address (reg, 0x64); - r->value = ((z2 >> 8) & 0xff); - r = sanei_genesys_get_address (reg, 0x65); - r->value = (z2 & 0xff); - - r = sanei_genesys_get_address (reg, REG1E); - r->value &= REG1E_WDTIME; - r->value |= scan_dummy; - - r = sanei_genesys_get_address (reg, 0x67); - r->value = 0x3f | (scan_step_type << 6); - - r = sanei_genesys_get_address (reg, 0x68); - r->value = 0x3f; - - r = sanei_genesys_get_address (reg, REG_STEPNO); - r->value = (slow_slope_steps >> 1) + (slow_slope_steps & 1); - - r = sanei_genesys_get_address (reg, REG_FASTNO); - r->value = (back_slope_steps >> 1) + (back_slope_steps & 1); - - r = sanei_genesys_get_address (reg, 0x69); - r->value = (slow_slope_steps >> 1) + (slow_slope_steps & 1); - - r = sanei_genesys_get_address (reg, 0x6a); - r->value = (fast_slope_steps >> 1) + (fast_slope_steps & 1); - - r = sanei_genesys_get_address (reg, 0x5f); - r->value = (fast_slope_steps >> 1) + (fast_slope_steps & 1); - - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static int -gl841_get_dpihw(Genesys_Device * dev) -{ - Genesys_Register_Set * r; - r = sanei_genesys_get_address (dev->reg, 0x05); - if ((r->value & REG05_DPIHW) == REG05_DPIHW_600) - return 600; - if ((r->value & REG05_DPIHW) == REG05_DPIHW_1200) - return 1200; - if ((r->value & REG05_DPIHW) == REG05_DPIHW_2400) - return 2400; - return 0; -} - -static SANE_Status -gl841_init_optical_regs_off(Genesys_Register_Set * reg) -{ - Genesys_Register_Set * r; - - DBGSTART; - - r = sanei_genesys_get_address (reg, 0x01); - r->value &= ~REG01_SCAN; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl841_init_optical_regs_scan(Genesys_Device * dev, - Genesys_Register_Set * reg, - unsigned int exposure_time, - unsigned int used_res, - unsigned int start, - unsigned int pixels, - int channels, - int depth, - SANE_Bool half_ccd, - int color_filter, - int flags - ) -{ - unsigned int words_per_line; - unsigned int end; - unsigned int dpiset; - unsigned int i; - Genesys_Register_Set * r; - SANE_Status status; - uint16_t expavg, expr, expb, expg; - - DBG (DBG_proc, "gl841_init_optical_regs_scan : exposure_time=%d, " - "used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " - "half_ccd=%d, flags=%x\n", - exposure_time, - used_res, - start, - pixels, - channels, - depth, - half_ccd, - flags); - - end = start + pixels; - - status = gl841_set_fe (dev, AFE_SET); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_init_optical_regs_scan: failed to set frontend: %s\n", - sane_strstatus (status)); - return status; - } - - /* adjust used_res for chosen dpihw */ - used_res = used_res * gl841_get_dpihw(dev) / dev->sensor.optical_res; - -/* - with half_ccd the optical resolution of the ccd is halved. We don't apply this - to dpihw, so we need to double dpiset. - - For the scanner only the ratio of dpiset and dpihw is of relevance to scale - down properly. -*/ - if (half_ccd) - dpiset = used_res * 2; - else - dpiset = used_res; - - /* gpio part.*/ - if (dev->model->gpo_type == GPO_CANONLIDE35) - { - r = sanei_genesys_get_address (reg, REG6C); - if (half_ccd) - r->value &= ~0x80; - else - r->value |= 0x80; - } - if (dev->model->gpo_type == GPO_CANONLIDE80) - { - r = sanei_genesys_get_address (reg, REG6C); - if (half_ccd) - { - r->value &= ~0x40; - r->value |= 0x20; - } - else - { - r->value &= ~0x20; - r->value |= 0x40; - } - } - - /* enable shading */ - r = sanei_genesys_get_address (reg, 0x01); - r->value |= REG01_SCAN; - if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || - (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) - r->value &= ~REG01_DVDSET; - else - r->value |= REG01_DVDSET; - - /* average looks better than deletion, and we are already set up to - use one of the average enabled resolutions - */ - r = sanei_genesys_get_address (reg, 0x03); - r->value |= REG03_AVEENB; - if (flags & OPTICAL_FLAG_DISABLE_LAMP) - r->value &= ~REG03_LAMPPWR; - else - r->value |= REG03_LAMPPWR; - - /* exposure times */ - r = sanei_genesys_get_address (reg, 0x10); - for (i = 0; i < 6; i++, r++) { - if (flags & OPTICAL_FLAG_DISABLE_LAMP) - r->value = 0x01;/* 0x0101 is as off as possible */ - else - { /* EXP[R,G,B] only matter for CIS scanners */ - if (dev->sensor.regs_0x10_0x1d[i] == 0x00) - r->value = 0x01; /*0x00 will not be accepted*/ - else - r->value = dev->sensor.regs_0x10_0x1d[i]; - } - } - - r = sanei_genesys_get_address (reg, 0x19); - if (flags & OPTICAL_FLAG_DISABLE_LAMP) - r->value = 0xff; - else - r->value = 0x50; - - /* BW threshold */ - r = sanei_genesys_get_address (reg, 0x2e); - r->value = dev->settings.threshold; - r = sanei_genesys_get_address (reg, 0x2f); - r->value = dev->settings.threshold; - - - /* monochrome / color scan */ - r = sanei_genesys_get_address (reg, 0x04); - switch (depth) { - case 1: - r->value &= ~REG04_BITSET; - r->value |= REG04_LINEART; - break; - case 8: - r->value &= ~(REG04_LINEART | REG04_BITSET); - break; - case 16: - r->value &= ~REG04_LINEART; - r->value |= REG04_BITSET; - break; - } - - /* AFEMOD should depend on FESET, and we should set these - * bits separately */ - r->value &= ~(REG04_FILTER | REG04_AFEMOD); - if (flags & OPTICAL_FLAG_ENABLE_LEDADD) - { - r->value |= 0x10; /* no filter */ - } - else if (channels == 1) - { - switch (color_filter) - { - case 0: - r->value |= 0x14; /* red filter */ - break; - case 1: - r->value |= 0x18; /* green filter */ - break; - case 2: - r->value |= 0x1c; /* blue filter */ - break; - default: - r->value |= 0x10; /* no filter */ - break; - } - } - else - { - if (dev->model->ccd_type == CCD_PLUSTEK_3600) - { - r->value |= 0x22; /* slow color pixel by pixel */ - } - else - { - r->value |= 0x10; /* color pixel by pixel */ - } - } - - /* CIS scanners can do true gray by setting LEDADD */ - r = sanei_genesys_get_address (reg, 0x87); - r->value &= ~REG87_LEDADD; - if (flags & OPTICAL_FLAG_ENABLE_LEDADD) - { - r->value |= REG87_LEDADD; - sanei_genesys_get_double (reg, REG_EXPR, &expr); - sanei_genesys_get_double (reg, REG_EXPG, &expg); - sanei_genesys_get_double (reg, REG_EXPB, &expb); - - /* use minimal exposure for best image quality */ - expavg = expg; - if (expr < expg) - expavg = expr; - if (expb < expavg) - expavg = expb; - - sanei_genesys_set_double (dev->reg, REG_EXPR, expavg); - sanei_genesys_set_double (dev->reg, REG_EXPG, expavg); - sanei_genesys_set_double (dev->reg, REG_EXPB, expavg); - } - - /* enable gamma tables */ - r = sanei_genesys_get_address (reg, 0x05); - if (flags & OPTICAL_FLAG_DISABLE_GAMMA) - r->value &= ~REG05_GMMENB; - else - r->value |= REG05_GMMENB; - - /* sensor parameters */ - sanei_gl841_setup_sensor (dev, dev->reg, 1, half_ccd); - - r = sanei_genesys_get_address (reg, 0x29); - r->value = 255; /*<<<"magic" number, only suitable for cis*/ - - sanei_genesys_set_double(reg, REG_DPISET, dpiset); - sanei_genesys_set_double(reg, REG_STRPIXEL, start); - sanei_genesys_set_double(reg, REG_ENDPIXEL, end); - DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d\n",__func__,start,end); - - /* words(16bit) before gamma, conversion to 8 bit or lineart*/ - words_per_line = (pixels * dpiset) / gl841_get_dpihw(dev); - - words_per_line *= channels; - - if (depth == 1) - words_per_line = (words_per_line >> 3) + ((words_per_line & 7)?1:0); - else - words_per_line *= depth / 8; - - dev->wpl = words_per_line; - dev->bpl = words_per_line; - - r = sanei_genesys_get_address (reg, 0x35); - r->value = LOBYTE (HIWORD (words_per_line)); - r = sanei_genesys_get_address (reg, 0x36); - r->value = HIBYTE (LOWORD (words_per_line)); - r = sanei_genesys_get_address (reg, 0x37); - r->value = LOBYTE (LOWORD (words_per_line)); - - sanei_genesys_set_double(reg, REG_LPERIOD, exposure_time); - - r = sanei_genesys_get_address (reg, 0x34); - r->value = dev->sensor.dummy_pixel; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static int -gl841_get_led_exposure(Genesys_Device * dev) -{ - int d,r,g,b,m; - if (!dev->model->is_cis) - return 0; - d = dev->reg[reg_0x19].value; - r = dev->sensor.regs_0x10_0x1d[1] | (dev->sensor.regs_0x10_0x1d[0] << 8); - g = dev->sensor.regs_0x10_0x1d[3] | (dev->sensor.regs_0x10_0x1d[2] << 8); - b = dev->sensor.regs_0x10_0x1d[5] | (dev->sensor.regs_0x10_0x1d[4] << 8); - - m = r; - if (m < g) - m = g; - if (m < b) - m = b; - - return m + d; -} - -/** @brief compute exposure time - * Compute exposure time for the device and the given scan resolution, - * also compute scan_power_mode - */ -GENESYS_STATIC int -gl841_exposure_time(Genesys_Device *dev, - float slope_dpi, - int scan_step_type, - int start, - int used_pixels, - int *scan_power_mode) -{ -int exposure_time = 0; -int exposure_time2 = 0; -int led_exposure; - - *scan_power_mode=0; - led_exposure=gl841_get_led_exposure(dev); - exposure_time = sanei_genesys_exposure_time2( - dev, - slope_dpi, - scan_step_type, - start+used_pixels,/*+tgtime? currently done in sanei_genesys_exposure_time2 with tgtime = 32 pixel*/ - led_exposure, - *scan_power_mode); - - while(*scan_power_mode + 1 < dev->motor.power_mode_count) { - exposure_time2 = sanei_genesys_exposure_time2( - dev, - slope_dpi, - scan_step_type, - start+used_pixels,/*+tgtime? currently done in sanei_genesys_exposure_time2 with tgtime = 32 pixel*/ - led_exposure, - *scan_power_mode + 1); - if (exposure_time < exposure_time2) - break; - exposure_time = exposure_time2; - (*scan_power_mode)++; - } - - return exposure_time; -} - -/**@brief compute scan_step_type - * Try to do at least 4 steps per line. if that is impossible we will have to - * live with that. - * @param dev device - * @param yres motor resolution - */ -GENESYS_STATIC int -gl841_scan_step_type(Genesys_Device *dev, int yres) -{ -int scan_step_type=0; - - /* TODO : check if there is a bug around the use of max_step_type */ - /* should be <=1, need to chek all devices entry in genesys_devices */ - if (yres*4 < dev->motor.base_ydpi || dev->motor.max_step_type <= 0) - { - scan_step_type = 0; - } - else if (yres*4 < dev->motor.base_ydpi*2 || dev->motor.max_step_type <= 1) - { - scan_step_type = 1; - } - else - { - scan_step_type = 2; - } - - /* this motor behaves differently */ - if (dev->model->motor_type==MOTOR_CANONLIDE80) - { - /* driven by 'frequency' tables ? */ - scan_step_type = 0; - } - - return scan_step_type; -} - -/* set up registers for an actual scan - * - * this function sets up the scanner to scan in normal or single line mode - */ -GENESYS_STATIC -SANE_Status -gl841_init_scan_regs (Genesys_Device * dev, - Genesys_Register_Set * reg, - float xres,/*dpi*/ - float yres,/*dpi*/ - float startx,/*optical_res, from dummy_pixel+1*/ - float starty,/*base_ydpi, from home!*/ - float pixels, - float lines, - unsigned int depth, - unsigned int channels, - int color_filter, - unsigned int flags - ) -{ - int used_res; - int start, used_pixels; - int bytes_per_line; - int move; - unsigned int lincnt; - int exposure_time; - int scan_power_mode; - int i; - int stagger; - int avg; - - int slope_dpi = 0; - int dummy = 0; - int scan_step_type = 1; - int max_shift; - size_t requested_buffer_size, read_buffer_size; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - SANE_Status status; - unsigned int oflags; /**> optical flags */ - - DBG (DBG_info, - "gl841_init_scan_regs settings:\n" - "Resolution : %gDPI/%gDPI\n" - "Lines : %g\n" - "PPL : %g\n" - "Startpos : %g/%g\n" - "Depth/Channels: %u/%u\n" - "Flags : %x\n\n", - xres, yres, lines, pixels, - startx, starty, - depth, channels, - flags); - -/* -results: - -for scanner: -half_ccd -start -end -dpiset -exposure_time -dummy -z1 -z2 - -for ordered_read: - dev->words_per_line - dev->read_factor - dev->requested_buffer_size - dev->read_buffer_size - dev->read_pos - dev->read_bytes_in_buffer - dev->read_bytes_left - dev->max_shift - dev->stagger - -independent of our calculated values: - dev->total_bytes_read - dev->bytes_to_read - */ - -/* half_ccd */ - /* we have 2 domains for ccd: xres below or above half ccd max dpi */ - if (dev->sensor.optical_res < 2 * xres || - !(dev->model->flags & GENESYS_FLAG_HALF_CCD_MODE)) { - half_ccd = SANE_FALSE; - } else { - half_ccd = SANE_TRUE; - } - -/* optical_res */ - - optical_res = dev->sensor.optical_res; - if (half_ccd) - optical_res /= 2; - -/* stagger */ - - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG (DBG_info, "gl841_init_scan_regs : stagger=%d lines\n", - stagger); - -/* used_res */ - i = optical_res / xres; - -/* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ - - if (i < 2 || (flags & SCAN_FLAG_USE_OPTICAL_RES)) /* optical_res >= xres > optical_res/2 */ - used_res = optical_res; - else if (i < 3) /* optical_res/2 >= xres > optical_res/3 */ - used_res = optical_res/2; - else if (i < 4) /* optical_res/3 >= xres > optical_res/4 */ - used_res = optical_res/3; - else if (i < 5) /* optical_res/4 >= xres > optical_res/5 */ - used_res = optical_res/4; - else if (i < 6) /* optical_res/5 >= xres > optical_res/6 */ - used_res = optical_res/5; - else if (i < 8) /* optical_res/6 >= xres > optical_res/8 */ - used_res = optical_res/6; - else if (i < 10) /* optical_res/8 >= xres > optical_res/10 */ - used_res = optical_res/8; - else if (i < 12) /* optical_res/10 >= xres > optical_res/12 */ - used_res = optical_res/10; - else if (i < 15) /* optical_res/12 >= xres > optical_res/15 */ - used_res = optical_res/12; - else - used_res = optical_res/15; - - /* compute scan parameters values */ - /* pixels are allways given at half or full CCD optical resolution */ - /* use detected left margin and fixed value */ - /* start */ - /* add x coordinates */ - start = ((dev->sensor.CCD_start_xoffset + startx) * used_res) / dev->sensor.optical_res; - - /* needs to be aligned for used_res */ - start = (start * optical_res) / used_res; - - start += dev->sensor.dummy_pixel + 1; - - if (stagger > 0) - start |= 1; - - /* in case of SHDAREA, we need to align start - * on pixel average factor, startx is different of - * 0 only when calling for function to setup for - * scan, where shading data needs to be align */ - if((dev->reg[reg_0x01].value & REG01_SHDAREA) != 0) - { - avg=optical_res/used_res; - start=(start/avg)*avg; - } - - /* compute correct pixels number */ - /* pixels */ - used_pixels = (pixels * optical_res) / xres; - - /* round up pixels number if needed */ - if (used_pixels * xres < pixels * optical_res) - used_pixels++; - -/* dummy */ - /* dummy lines: may not be usefull, for instance 250 dpi works with 0 or 1 - dummy line. Maybe the dummy line adds correctness since the motor runs - slower (higher dpi) - */ -/* for cis this creates better aligned color lines: -dummy \ scanned lines - 0: R G B R ... - 1: R G B - R ... - 2: R G B - - R ... - 3: R G B - - - R ... - 4: R G B - - - - R ... - 5: R G B - - - - - R ... - 6: R G B - - - - - - R ... - 7: R G B - - - - - - - R ... - 8: R G B - - - - - - - - R ... - 9: R G B - - - - - - - - - R ... - 10: R G B - - - - - - - - - - R ... - 11: R G B - - - - - - - - - - - R ... - 12: R G B - - - - - - - - - - - - R ... - 13: R G B - - - - - - - - - - - - - R ... - 14: R G B - - - - - - - - - - - - - - R ... - 15: R G B - - - - - - - - - - - - - - - R ... - -- pierre - */ - dummy = 0; - -/* slope_dpi */ -/* cis color scan is effectively a gray scan with 3 gray lines per color - line and a FILTER of 0 */ - if (dev->model->is_cis) - slope_dpi = yres*channels; - else - slope_dpi = yres; - - slope_dpi = slope_dpi * (1 + dummy); - - scan_step_type = gl841_scan_step_type(dev, yres); - exposure_time = gl841_exposure_time(dev, - slope_dpi, - scan_step_type, - start, - used_pixels, - &scan_power_mode); - DBG (DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); - - /*** optical parameters ***/ - /* in case of dynamic lineart, we use an internal 8 bit gray scan - * to generate 1 lineart data */ - if(flags & SCAN_FLAG_DYNAMIC_LINEART) - { - depth=8; - } - - oflags=0; - if (flags & SCAN_FLAG_DISABLE_SHADING) - { - oflags |= OPTICAL_FLAG_DISABLE_SHADING; - } - if ((flags & SCAN_FLAG_DISABLE_GAMMA) || (depth==16)) - { - oflags |= OPTICAL_FLAG_DISABLE_GAMMA; - } - if (flags & SCAN_FLAG_DISABLE_LAMP) - { - oflags |= OPTICAL_FLAG_DISABLE_LAMP; - } - if (flags & SCAN_FLAG_ENABLE_LEDADD) - { - oflags |= OPTICAL_FLAG_ENABLE_LEDADD; - } - - status = gl841_init_optical_regs_scan(dev, - reg, - exposure_time, - used_res, - start, - used_pixels, - channels, - depth, - half_ccd, - color_filter, - oflags); - if (status != SANE_STATUS_GOOD) - { - return status; - } - -/*** motor parameters ***/ - - /* scanned area must be enlarged by max color shift needed */ - max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,flags); - - /* lincnt */ - lincnt = lines + max_shift + stagger; - - /* add tl_y to base movement */ - move = starty; - DBG (DBG_info, "gl841_init_scan_regs: move=%d steps\n", move); - - /* subtract current head position */ - move -= dev->scanhead_position_in_steps; - DBG (DBG_info, "gl841_init_scan_regs: move=%d steps\n", move); - - if (move < 0) - move = 0; - - /* round it */ -/* the move is not affected by dummy -- pierre */ -/* move = ((move + dummy) / (dummy + 1)) * (dummy + 1); - DBG (DBG_info, "gl841_init_scan_regs: move=%d steps\n", move);*/ - - if (flags & SCAN_FLAG_SINGLE_LINE) - status = gl841_init_motor_regs_off(reg, dev->model->is_cis?lincnt*channels:lincnt); - else - status = gl841_init_motor_regs_scan(dev, - reg, - exposure_time, - slope_dpi, - scan_step_type, - dev->model->is_cis?lincnt*channels:lincnt, - dummy, - move, - scan_power_mode, - (flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE)? - MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE:0 - ); - - if (status != SANE_STATUS_GOOD) - return status; - - - /*** prepares data reordering ***/ - -/* words_per_line */ - bytes_per_line = (used_pixels * used_res) / optical_res; - bytes_per_line = (bytes_per_line * channels * depth) / 8; - - requested_buffer_size = 8 * bytes_per_line; - /* we must use a round number of bytes_per_line */ - if (requested_buffer_size > BULKIN_MAXSIZE) - requested_buffer_size = - (BULKIN_MAXSIZE / bytes_per_line) * bytes_per_line; - - read_buffer_size = - 2 * requested_buffer_size + - ((max_shift + stagger) * used_pixels * channels * depth) / 8; - - RIE(sanei_genesys_buffer_free(&(dev->read_buffer))); - RIE(sanei_genesys_buffer_alloc(&(dev->read_buffer), read_buffer_size)); - - RIE(sanei_genesys_buffer_free(&(dev->lines_buffer))); - RIE(sanei_genesys_buffer_alloc(&(dev->lines_buffer), read_buffer_size)); - - RIE(sanei_genesys_buffer_free(&(dev->shrink_buffer))); - RIE(sanei_genesys_buffer_alloc(&(dev->shrink_buffer), - requested_buffer_size)); - - RIE(sanei_genesys_buffer_free(&(dev->out_buffer))); - RIE(sanei_genesys_buffer_alloc(&(dev->out_buffer), - (8 * dev->settings.pixels * channels * depth) / 8)); - - - dev->read_bytes_left = bytes_per_line * lincnt; - - DBG (DBG_info, - "gl841_init_scan_regs: physical bytes to read = %lu\n", - (u_long) dev->read_bytes_left); - dev->read_active = SANE_TRUE; - - - dev->current_setup.pixels = (used_pixels * used_res)/optical_res; - dev->current_setup.lines = lincnt; - dev->current_setup.depth = depth; - dev->current_setup.channels = channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = yres; - dev->current_setup.half_ccd = half_ccd; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - -/* TODO: should this be done elsewhere? */ - /* scan bytes to send to the frontend */ - /* theory : - target_size = - (dev->settings.pixels * dev->settings.lines * channels * depth) / 8; - but it suffers from integer overflow so we do the following: - - 1 bit color images store color data byte-wise, eg byte 0 contains - 8 bits of red data, byte 1 contains 8 bits of green, byte 2 contains - 8 bits of blue. - This does not fix the overflow, though. - 644mp*16 = 10gp, leading to an overflow - -- pierre - */ - - dev->total_bytes_read = 0; - if (depth == 1) - dev->total_bytes_to_read = - ((dev->settings.pixels * dev->settings.lines) / 8 + - (((dev->settings.pixels * dev->settings.lines)%8)?1:0) - ) * channels; - else - dev->total_bytes_to_read = - dev->settings.pixels * dev->settings.lines * channels * (depth / 8); - - DBG (DBG_info, "gl841_init_scan_regs: total bytes to send = %lu\n", - (u_long) dev->total_bytes_to_read); -/* END TODO */ - - DBG (DBG_proc, "gl841_init_scan_regs: completed\n"); - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl841_calculate_current_setup (Genesys_Device * dev) -{ - int channels; - int depth; - int start; - - float xres;/*dpi*/ - float yres;/*dpi*/ - float startx;/*optical_res, from dummy_pixel+1*/ - float pixels; - float lines; - - int used_res; - int used_pixels; - unsigned int lincnt; - int exposure_time; - int scan_power_mode; - int i; - int stagger; - - int slope_dpi = 0; - int dummy = 0; - int scan_step_type = 1; - int max_shift; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - - DBG (DBG_info, - "gl841_calculate_current_setup settings:\n" - "Resolution: %uDPI\n" - "Lines : %u\n" - "PPL : %u\n" - "Startpos : %.3f/%.3f\n" - "Scan mode : %d\n\n", - dev->settings.yres, dev->settings.lines, dev->settings.pixels, - dev->settings.tl_x, dev->settings.tl_y, dev->settings.scan_mode); - -/* channels */ - if (dev->settings.scan_mode == 4) /* single pass color */ - channels = 3; - else - channels = 1; - -/* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == 0) - depth = 1; - -/* start */ - start = SANE_UNFIX (dev->model->x_offset); - - start += dev->settings.tl_x; - - start = (start * dev->sensor.optical_res) / MM_PER_INCH; - - - xres = dev->settings.xres;/*dpi*/ - yres = dev->settings.yres;/*dpi*/ - startx = start;/*optical_res, from dummy_pixel+1*/ - pixels = dev->settings.pixels; - lines = dev->settings.lines; - - DBG (DBG_info, - "gl841_calculate_current_setup settings:\n" - "Resolution : %gDPI/%gDPI\n" - "Lines : %g\n" - "PPL : %g\n" - "Startpos : %g\n" - "Depth/Channels: %u/%u\n\n", - xres, yres, lines, pixels, - startx, - depth, channels); - -/* half_ccd */ - /* we have 2 domains for ccd: xres below or above half ccd max dpi */ - if ((dev->sensor.optical_res < 2 * xres) || - !(dev->model->flags & GENESYS_FLAG_HALF_CCD_MODE)) { - half_ccd = SANE_FALSE; - } else { - half_ccd = SANE_TRUE; - } - -/* optical_res */ - - optical_res = dev->sensor.optical_res; - if (half_ccd) - optical_res /= 2; - -/* stagger */ - - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG (DBG_info, "gl841_calculate_current_setup: stagger=%d lines\n", - stagger); - -/* used_res */ - i = optical_res / xres; - -/* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ - - if (i < 2) /* optical_res >= xres > optical_res/2 */ - used_res = optical_res; - else if (i < 3) /* optical_res/2 >= xres > optical_res/3 */ - used_res = optical_res/2; - else if (i < 4) /* optical_res/3 >= xres > optical_res/4 */ - used_res = optical_res/3; - else if (i < 5) /* optical_res/4 >= xres > optical_res/5 */ - used_res = optical_res/4; - else if (i < 6) /* optical_res/5 >= xres > optical_res/6 */ - used_res = optical_res/5; - else if (i < 8) /* optical_res/6 >= xres > optical_res/8 */ - used_res = optical_res/6; - else if (i < 10) /* optical_res/8 >= xres > optical_res/10 */ - used_res = optical_res/8; - else if (i < 12) /* optical_res/10 >= xres > optical_res/12 */ - used_res = optical_res/10; - else if (i < 15) /* optical_res/12 >= xres > optical_res/15 */ - used_res = optical_res/12; - else - used_res = optical_res/15; - - /* compute scan parameters values */ - /* pixels are allways given at half or full CCD optical resolution */ - /* use detected left margin and fixed value */ -/* start */ - /* add x coordinates */ - start = - ((dev->sensor.CCD_start_xoffset + startx) * used_res) / - dev->sensor.optical_res; - -/* needs to be aligned for used_res */ - start = (start * optical_res) / used_res; - - start += dev->sensor.dummy_pixel + 1; - - if (stagger > 0) - start |= 1; - - /* compute correct pixels number */ -/* pixels */ - used_pixels = - (pixels * optical_res) / xres; - - /* round up pixels number if needed */ - if (used_pixels * xres < pixels * optical_res) - used_pixels++; - -/* dummy */ - /* dummy lines: may not be usefull, for instance 250 dpi works with 0 or 1 - dummy line. Maybe the dummy line adds correctness since the motor runs - slower (higher dpi) - */ -/* for cis this creates better aligned color lines: -dummy \ scanned lines - 0: R G B R ... - 1: R G B - R ... - 2: R G B - - R ... - 3: R G B - - - R ... - 4: R G B - - - - R ... - 5: R G B - - - - - R ... - 6: R G B - - - - - - R ... - 7: R G B - - - - - - - R ... - 8: R G B - - - - - - - - R ... - 9: R G B - - - - - - - - - R ... - 10: R G B - - - - - - - - - - R ... - 11: R G B - - - - - - - - - - - R ... - 12: R G B - - - - - - - - - - - - R ... - 13: R G B - - - - - - - - - - - - - R ... - 14: R G B - - - - - - - - - - - - - - R ... - 15: R G B - - - - - - - - - - - - - - - R ... - -- pierre - */ - dummy = 0; - -/* slope_dpi */ -/* cis color scan is effectively a gray scan with 3 gray lines per color - line and a FILTER of 0 */ - if (dev->model->is_cis) - slope_dpi = yres*channels; - else - slope_dpi = yres; - - slope_dpi = slope_dpi * (1 + dummy); - - scan_step_type = gl841_scan_step_type(dev, yres); - exposure_time = gl841_exposure_time(dev, - slope_dpi, - scan_step_type, - start, - used_pixels, - &scan_power_mode); - DBG (DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); - - /* scanned area must be enlarged by max color shift needed */ - max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,0); - - /* lincnt */ - lincnt = lines + max_shift + stagger; - - dev->current_setup.pixels = (used_pixels * used_res)/optical_res; - dev->current_setup.lines = lincnt; - dev->current_setup.depth = depth; - dev->current_setup.channels = channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = yres; - dev->current_setup.half_ccd = half_ccd; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static void -gl841_set_motor_power (Genesys_Register_Set * regs, SANE_Bool set) -{ - - DBG (DBG_proc, "gl841_set_motor_power\n"); - - if (set) - { - sanei_genesys_set_reg_from_set (regs, 0x02, - sanei_genesys_read_reg_from_set (regs, - 0x02) | - REG02_MTRPWR); - } - else - { - sanei_genesys_set_reg_from_set (regs, 0x02, - sanei_genesys_read_reg_from_set (regs, - 0x02) & - ~REG02_MTRPWR); - } -} - -static void -gl841_set_lamp_power (Genesys_Device * dev, - Genesys_Register_Set * regs, SANE_Bool set) -{ - Genesys_Register_Set * r; - int i; - - if (set) - { - sanei_genesys_set_reg_from_set (regs, 0x03, - sanei_genesys_read_reg_from_set (regs, - 0x03) | - REG03_LAMPPWR); - - r = sanei_genesys_get_address (regs, 0x10); - for (i = 0; i < 6; i++, r++) { - if (dev->sensor.regs_0x10_0x1d[i] == 0x00) - r->value = 0x01;/*0x00 will not be accepted*/ - else - r->value = dev->sensor.regs_0x10_0x1d[i]; - } - r = sanei_genesys_get_address (regs, 0x19); - r->value = 0x50; - } - else - { - sanei_genesys_set_reg_from_set (regs, 0x03, - sanei_genesys_read_reg_from_set (regs, - 0x03) & - ~REG03_LAMPPWR); - - r = sanei_genesys_get_address (regs, 0x10); - for (i = 0; i < 6; i++, r++) { - r->value = 0x01;/* 0x0101 is as off as possible */ - } - r = sanei_genesys_get_address (regs, 0x19); - r->value = 0xff; - } -} - -/*for fast power saving methods only, like disabling certain amplifiers*/ -static SANE_Status -gl841_save_power(Genesys_Device * dev, SANE_Bool enable) { - uint8_t val; - - DBG(DBG_proc, "gl841_save_power: enable = %d\n", enable); - - if (enable) - { - if (dev->model->gpo_type == GPO_CANONLIDE35) - { -/* expect GPIO17 to be enabled, and GPIO9 to be disabled, - while GPIO8 is disabled*/ -/* final state: GPIO8 disabled, GPIO9 enabled, GPIO17 disabled, - GPIO18 disabled*/ - - sanei_genesys_read_register(dev, REG6D, &val); - sanei_genesys_write_register(dev, REG6D, val | 0x80); - - usleep(1000); - - /*enable GPIO9*/ - sanei_genesys_read_register(dev, REG6C, &val); - sanei_genesys_write_register(dev, REG6C, val | 0x01); - - /*disable GPO17*/ - sanei_genesys_read_register(dev, REG6B, &val); - sanei_genesys_write_register(dev, REG6B, val & ~REG6B_GPO17); - - /*disable GPO18*/ - sanei_genesys_read_register(dev, REG6B, &val); - sanei_genesys_write_register(dev, REG6B, val & ~REG6B_GPO18); - - usleep(1000); - - sanei_genesys_read_register(dev, REG6D, &val); - sanei_genesys_write_register(dev, REG6D, val & ~0x80); - - } - if (dev->model->gpo_type == GPO_DP685) - { - sanei_genesys_read_register(dev, REG6B, &val); - sanei_genesys_write_register(dev, REG6B, val & ~REG6B_GPO17); - dev->reg[reg_0x6b].value &= ~REG6B_GPO17; - dev->calib_reg[reg_0x6b].value &= ~REG6B_GPO17; - } - - gl841_set_fe (dev, AFE_POWER_SAVE); - - } - else - { - if (dev->model->gpo_type == GPO_CANONLIDE35) - { -/* expect GPIO17 to be enabled, and GPIO9 to be disabled, - while GPIO8 is disabled*/ -/* final state: GPIO8 enabled, GPIO9 disabled, GPIO17 enabled, - GPIO18 enabled*/ - - sanei_genesys_read_register(dev, REG6D, &val); - sanei_genesys_write_register(dev, REG6D, val | 0x80); - - usleep(10000); - - /*disable GPIO9*/ - sanei_genesys_read_register(dev, REG6C, &val); - sanei_genesys_write_register(dev, REG6C, val & ~0x01); - - /*enable GPIO10*/ - sanei_genesys_read_register(dev, REG6C, &val); - sanei_genesys_write_register(dev, REG6C, val | 0x02); - - /*enable GPO17*/ - sanei_genesys_read_register(dev, REG6B, &val); - sanei_genesys_write_register(dev, REG6B, val | REG6B_GPO17); - dev->reg[reg_0x6b].value |= REG6B_GPO17; - dev->calib_reg[reg_0x6b].value |= REG6B_GPO17; - - /*enable GPO18*/ - sanei_genesys_read_register(dev, REG6B, &val); - sanei_genesys_write_register(dev, REG6B, val | REG6B_GPO18); - dev->reg[reg_0x6b].value |= REG6B_GPO18; - dev->calib_reg[reg_0x6b].value |= REG6B_GPO18; - - } - if (dev->model->gpo_type == GPO_DP665 - || dev->model->gpo_type == GPO_DP685) - { - sanei_genesys_read_register(dev, REG6B, &val); - sanei_genesys_write_register(dev, REG6B, val | REG6B_GPO17); - dev->reg[reg_0x6b].value |= REG6B_GPO17; - dev->calib_reg[reg_0x6b].value |= REG6B_GPO17; - } - - } - - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl841_set_powersaving (Genesys_Device * dev, - int delay /* in minutes */ ) -{ - SANE_Status status; - Genesys_Register_Set local_reg[7]; - int rate, exposure_time, tgtime, time; - - DBG (DBG_proc, "gl841_set_powersaving (delay = %d)\n", delay); - - local_reg[0].address = 0x01; - local_reg[0].value = sanei_genesys_read_reg_from_set (dev->reg, 0x01); /* disable fastmode */ - - local_reg[1].address = 0x03; - local_reg[1].value = sanei_genesys_read_reg_from_set (dev->reg, 0x03); /* Lamp power control */ - - local_reg[2].address = 0x05; - local_reg[2].value = sanei_genesys_read_reg_from_set (dev->reg, 0x05) /*& ~REG05_BASESEL*/; /* 24 clocks/pixel */ - - local_reg[3].address = 0x18; /* Set CCD type */ - local_reg[3].value = 0x00; - - local_reg[4].address = 0x38; /* line period low */ - local_reg[4].value = 0x00; - - local_reg[5].address = 0x39; /* line period high */ - local_reg[5].value = 0x00; - - local_reg[6].address = 0x1c; /* period times for LPeriod, expR,expG,expB, Z1MODE, Z2MODE */ - local_reg[6].value = sanei_genesys_read_reg_from_set (dev->reg, 0x05) & ~REG1C_TGTIME; - - if (!delay) - local_reg[1].value = local_reg[1].value & 0xf0; /* disable lampdog and set lamptime = 0 */ - else if (delay < 20) - local_reg[1].value = (local_reg[1].value & 0xf0) | 0x09; /* enable lampdog and set lamptime = 1 */ - else - local_reg[1].value = (local_reg[1].value & 0xf0) | 0x0f; /* enable lampdog and set lamptime = 7 */ - - time = delay * 1000 * 60; /* -> msec */ - exposure_time = - (uint32_t) (time * 32000.0 / - (24.0 * 64.0 * (local_reg[1].value & REG03_LAMPTIM) * - 1024.0) + 0.5); - /* 32000 = system clock, 24 = clocks per pixel */ - rate = (exposure_time + 65536) / 65536; - if (rate > 4) - { - rate = 8; - tgtime = 3; - } - else if (rate > 2) - { - rate = 4; - tgtime = 2; - } - else if (rate > 1) - { - rate = 2; - tgtime = 1; - } - else - { - rate = 1; - tgtime = 0; - } - - local_reg[6].value |= tgtime; - exposure_time /= rate; - - if (exposure_time > 65535) - exposure_time = 65535; - - local_reg[4].value = exposure_time >> 8; /* highbyte */ - local_reg[5].value = exposure_time & 255; /* lowbyte */ - - status = - gl841_bulk_write_register (dev, local_reg, - sizeof (local_reg)/sizeof (local_reg[0])); - if (status != SANE_STATUS_GOOD) - DBG (DBG_error, - "gl841_set_powersaving: failed to bulk write registers: %s\n", - sane_strstatus (status)); - - DBG (DBG_proc, "gl841_set_powersaving: completed\n"); - return status; -} - -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl841_start_action (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x01); -} - -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl841_stop_action (Genesys_Device * dev) -{ - Genesys_Register_Set local_reg[GENESYS_GL841_MAX_REGS+1]; - SANE_Status status; - uint8_t val40, val; - unsigned int loop; - - DBG (DBG_proc, "%s\n", __func__); - - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - status = sanei_genesys_read_register(dev, 0x40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n",__func__, - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* only stop action if needed */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) - { - DBG (DBG_info, "%s: already stopped\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - memcpy (local_reg, dev->reg, (GENESYS_GL841_MAX_REGS+1) * sizeof (Genesys_Register_Set)); - - gl841_init_optical_regs_off(local_reg); - - gl841_init_motor_regs_off(local_reg,0); - status = gl841_bulk_write_register (dev, local_reg, GENESYS_GL841_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* looks like writing the right registers to zero is enough to get the chip - out of scan mode into command mode, actually triggering(writing to - register 0x0f) seems to be unnecessary */ - - loop = 10; - while (loop > 0) - { - status = sanei_genesys_read_register(dev, 0x40, &val40); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n",__func__, - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* if scanner is in command mode, we are done */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - usleep(100*1000); - loop--; - } - - DBGCOMPLETED; - return SANE_STATUS_IO_ERROR; -} - -static SANE_Status -gl841_get_paper_sensor(Genesys_Device * dev, SANE_Bool * paper_loaded) -{ - SANE_Status status; - uint8_t val; - - status = sanei_genesys_read_register(dev, REG6D, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_get_paper_sensor: failed to read gpio: %s\n", - sane_strstatus (status)); - return status; - } - *paper_loaded = (val & 0x1) == 0; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl841_eject_document (Genesys_Device * dev) -{ - Genesys_Register_Set local_reg[GENESYS_GL841_MAX_REGS+1]; - SANE_Status status; - uint8_t val; - SANE_Bool paper_loaded; - unsigned int init_steps; - float feed_mm; - int loop; - - DBG (DBG_proc, "gl841_eject_document\n"); - - if (dev->model->is_sheetfed == SANE_FALSE) - { - DBG (DBG_proc, "gl841_eject_document: there is no \"eject sheet\"-concept for non sheet fed\n"); - DBG (DBG_proc, "gl841_eject_document: finished\n"); - return SANE_STATUS_GOOD; - } - - - memset (local_reg, 0, sizeof (local_reg)); - val = 0; - - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_eject_document: failed to read status register: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_eject_document: failed to stop motor: %s\n", - sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - - memcpy (local_reg, dev->reg, (GENESYS_GL841_MAX_REGS+1) * sizeof (Genesys_Register_Set)); - - gl841_init_optical_regs_off(local_reg); - - gl841_init_motor_regs(dev,local_reg, - 65536,MOTOR_ACTION_FEED,0); - - status = - gl841_bulk_write_register (dev, local_reg, GENESYS_GL841_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_eject_document: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl841_start_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_eject_document: failed to start motor: %s\n", - sane_strstatus (status)); - gl841_stop_action (dev); - /* send original registers */ - gl841_bulk_write_register (dev, dev->reg, GENESYS_GL841_MAX_REGS); - return status; - } - - RIE(gl841_get_paper_sensor(dev, &paper_loaded)); - if (paper_loaded) - { - DBG (DBG_info, - "gl841_eject_document: paper still loaded\n"); - /* force document TRUE, because it is definitely present */ - dev->document = SANE_TRUE; - dev->scanhead_position_in_steps = 0; - - loop = 300; - while (loop > 0) /* do not wait longer then 30 seconds */ - { - - RIE(gl841_get_paper_sensor(dev, &paper_loaded)); - - if (!paper_loaded) - { - DBG (DBG_info, - "gl841_eject_document: reached home position\n"); - DBG (DBG_proc, "gl841_eject_document: finished\n"); - break; - } - usleep (100000); /* sleep 100 ms */ - --loop; - } - - if (loop == 0) - { - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl841_stop_action (dev); - DBG (DBG_error, - "gl841_eject_document: timeout while waiting for scanhead to go home\n"); - return SANE_STATUS_IO_ERROR; - } - } - - feed_mm = SANE_UNFIX(dev->model->eject_feed); - if (dev->document) - { - feed_mm += SANE_UNFIX(dev->model->post_scan); - } - - status = sanei_genesys_read_feed_steps(dev, &init_steps); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_eject_document: failed to read feed steps: %s\n", - sane_strstatus (status)); - return status; - } - - /* now feed for extra steps */ - loop = 0; - while (loop < 300) /* do not wait longer then 30 seconds */ - { - unsigned int steps; - - status = sanei_genesys_read_feed_steps(dev, &steps); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_eject_document: failed to read feed steps: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_info, "gl841_eject_document: init_steps: %d, steps: %d\n", - init_steps, steps); - - if (steps > init_steps + (feed_mm * dev->motor.base_ydpi) / MM_PER_INCH) - { - break; - } - - usleep (100000); /* sleep 100 ms */ - ++loop; - } - - status = gl841_stop_action(dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_eject_document: failed to stop motor: %s\n", - sane_strstatus (status)); - return status; - } - - dev->document = SANE_FALSE; - - DBG (DBG_proc, "gl841_eject_document: finished\n"); - return SANE_STATUS_GOOD; -} - - -static SANE_Status -gl841_load_document (Genesys_Device * dev) -{ - SANE_Status status; - SANE_Bool paper_loaded; - int loop = 300; - DBG (DBG_proc, "gl841_load_document\n"); - while (loop > 0) /* do not wait longer then 30 seconds */ - { - - RIE(gl841_get_paper_sensor(dev, &paper_loaded)); - - if (paper_loaded) - { - DBG (DBG_info, - "gl841_load_document: document inserted\n"); - - /* when loading OK, document is here */ - dev->document = SANE_TRUE; - - usleep (1000000); /* give user 1000ms to place document correctly */ - break; - } - usleep (100000); /* sleep 100 ms */ - --loop; - } - - if (loop == 0) - { - /* when we come here then the user needed to much time for this */ - DBG (DBG_error, - "gl841_load_document: timeout while waiting for document\n"); - return SANE_STATUS_IO_ERROR; - } - - DBG (DBG_proc, "gl841_load_document: finished\n"); - return SANE_STATUS_GOOD; -} - -/** - * detects end of document and adjust current scan - * to take it into account - * used by sheetfed scanners - */ -static SANE_Status -gl841_detect_document_end (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Bool paper_loaded; - unsigned int scancnt = 0, lincnt, postcnt; - uint8_t val; - size_t total_bytes_to_read; - - DBG (DBG_proc, "%s: begin\n", __func__); - - RIE (gl841_get_paper_sensor (dev, &paper_loaded)); - - /* sheetfed scanner uses home sensor as paper present */ - if ((dev->document == SANE_TRUE) && !paper_loaded) - { - DBG (DBG_info, "%s: no more document\n", __func__); - dev->document = SANE_FALSE; - - /* we can't rely on total_bytes_to_read since the frontend - * might have been slow to read data, so we re-evaluate the - * amount of data to scan form the hardware settings - */ - status=sanei_genesys_read_scancnt(dev,&scancnt); - if(status!=SANE_STATUS_GOOD) - { - dev->total_bytes_to_read = dev->total_bytes_read; - dev->read_bytes_left = 0; - DBG (DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; - } - if (dev->settings.scan_mode == SCAN_MODE_COLOR && dev->model->is_cis) - { - scancnt/=3; - } - DBG (DBG_io, "%s: scancnt=%u lines\n",__func__, scancnt); - - RIE(sanei_genesys_read_register(dev, 0x25, &val)); - lincnt=65536*val; - RIE(sanei_genesys_read_register(dev, 0x26, &val)); - lincnt+=256*val; - RIE(sanei_genesys_read_register(dev, 0x27, &val)); - lincnt+=val; - DBG (DBG_io, "%s: lincnt=%u lines\n",__func__, lincnt); - postcnt=(SANE_UNFIX(dev->model->post_scan)/MM_PER_INCH)*dev->settings.yres; - DBG (DBG_io, "%s: postcnt=%u lines\n",__func__, postcnt); - - /* the current scancnt is also the final one, so we use it to - * compute total bytes to read. We also add the line count to eject document */ - total_bytes_to_read=(scancnt+postcnt)*dev->wpl; - - DBG (DBG_io, "%s: old total_bytes_to_read=%u\n",__func__,(unsigned int)dev->total_bytes_to_read); - DBG (DBG_io, "%s: new total_bytes_to_read=%u\n",__func__,(unsigned int)total_bytes_to_read); - - /* assign new end value */ - if(dev->total_bytes_to_read>total_bytes_to_read) - { - DBG (DBG_io, "%s: scan shorten\n",__func__); - dev->total_bytes_to_read=total_bytes_to_read; - } - } - - DBG (DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; -} - -/* Send the low-level scan command */ -/* todo : is this that useful ? */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl841_begin_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool start_motor) -{ - SANE_Status status; - Genesys_Register_Set local_reg[4]; - uint8_t val; - - DBG (DBG_proc, "gl841_begin_scan\n"); - - if (dev->model->gpo_type == GPO_CANONLIDE80) - { - RIE (sanei_genesys_read_register (dev, REG6B, &val)); - val = REG6B_GPO18; - RIE (sanei_genesys_write_register (dev, REG6B, val)); - } - - local_reg[0].address = 0x03; - if (dev->model->ccd_type != CCD_PLUSTEK_3600) - { - local_reg[0].value = sanei_genesys_read_reg_from_set (reg, 0x03) | REG03_LAMPPWR; - } - else - { - local_reg[0].value = sanei_genesys_read_reg_from_set (reg, 0x03); /* TODO PLUSTEK_3600: why ?? */ - } - - local_reg[1].address = 0x01; - local_reg[1].value = sanei_genesys_read_reg_from_set (reg, 0x01) | REG01_SCAN; /* set scan bit */ - - local_reg[2].address = 0x0d; - local_reg[2].value = 0x01; - - local_reg[3].address = 0x0f; - if (start_motor) - local_reg[3].value = 0x01; - else - local_reg[3].value = 0x00; /* do not start motor yet */ - - status = - gl841_bulk_write_register (dev, local_reg, - sizeof (local_reg)/sizeof (local_reg[0])); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_begin_scan: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_proc, "gl841_begin_scan: completed\n"); - - return status; -} - - -/* Send the stop scan command */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl841_end_scan (Genesys_Device * dev, Genesys_Register_Set __sane_unused__ * reg, - SANE_Bool check_stop) -{ - SANE_Status status; - - DBG (DBG_proc, "gl841_end_scan (check_stop = %d)\n", check_stop); - - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = SANE_STATUS_GOOD; - } - else /* flat bed scanners */ - { - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_end_scan: failed to stop: %s\n", - sane_strstatus (status)); - return status; - } - } - - DBG (DBG_proc, "gl841_end_scan: completed\n"); - - return status; -} - -/* Moves the slider to steps */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl841_feed (Genesys_Device * dev, int steps) -{ - Genesys_Register_Set local_reg[GENESYS_GL841_MAX_REGS+1]; - SANE_Status status; - uint8_t val; - int loop; - - DBG (DBG_proc, "gl841_feed (steps = %d)\n", steps); - - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl841_feed: failed to stop action: %s\n", - sane_strstatus (status)); - return status; - } - - memcpy (local_reg, dev->reg, (GENESYS_GL841_MAX_REGS+1) * sizeof (Genesys_Register_Set)); - - gl841_init_optical_regs_off(local_reg); - - gl841_init_motor_regs(dev,local_reg, steps,MOTOR_ACTION_FEED,0); - - status = gl841_bulk_write_register (dev, local_reg, GENESYS_GL841_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_feed: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl841_start_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_feed: failed to start motor: %s\n", - sane_strstatus (status)); - gl841_stop_action (dev); - /* send original registers */ - gl841_bulk_write_register (dev, dev->reg, GENESYS_GL841_MAX_REGS); - return status; - } - - loop = 0; - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_feed: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - - if (!(val & REG41_MOTORENB)) /* motor enabled */ - { - DBG (DBG_proc, "gl841_feed: finished\n"); - dev->scanhead_position_in_steps += steps; - return SANE_STATUS_GOOD; - } - usleep (100000); /* sleep 100 ms */ - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl841_stop_action (dev); - - DBG (DBG_error, - "gl841_feed: timeout while waiting for scanhead to go home\n"); - return SANE_STATUS_IO_ERROR; -} - -/* Moves the slider to the home (top) position slowly */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl841_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) -{ - Genesys_Register_Set local_reg[GENESYS_GL841_MAX_REGS+1]; - SANE_Status status; - Genesys_Register_Set *r; - uint8_t val; - int loop = 0; - - DBG (DBG_proc, "gl841_slow_back_home (wait_until_home = %d)\n", - wait_until_home); - - if (dev->model->is_sheetfed == SANE_TRUE) - { - DBG (DBG_proc, "gl841_slow_back_home: there is no \"home\"-concept for sheet fed\n"); - DBG (DBG_proc, "gl841_slow_back_home: finished\n"); - return SANE_STATUS_GOOD; - } - - /* reset gpio pin */ - if (dev->model->gpo_type == GPO_CANONLIDE35) - { - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - val = dev->gpo.value[0]; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - } - if (dev->model->gpo_type == GPO_CANONLIDE80) - { - RIE (sanei_genesys_read_register (dev, REG6B, &val)); - val = REG6B_GPO18 | REG6B_GPO17; - RIE (sanei_genesys_write_register (dev, REG6B, val)); - } - gl841_save_power(dev, SANE_FALSE); - - /* first read gives HOME_SENSOR true */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - usleep (100000); /* sleep 100 ms */ - - /* second is reliable */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - dev->scanhead_position_in_steps = 0; - - if (val & REG41_HOMESNR) /* is sensor at home? */ - { - DBG (DBG_info, - "gl841_slow_back_home: already at home, completed\n"); - dev->scanhead_position_in_steps = 0; - return SANE_STATUS_GOOD; - } - - /* end previous scan if any */ - r = sanei_genesys_get_address (dev->reg, REG01); - r->value &= ~REG01_SCAN; - status = sanei_genesys_write_register (dev, REG01, r->value); - - /* if motor is on, stop current action */ - if (val & REG41_MOTORENB) - { - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_slow_back_home: failed to stop motor: %s\n", - sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - } - - memcpy (local_reg, dev->reg, (GENESYS_GL841_MAX_REGS+1) * sizeof (Genesys_Register_Set)); - - gl841_init_motor_regs(dev,local_reg, 65536,MOTOR_ACTION_GO_HOME,0); - - /* set up for reverse and no scan */ - r = sanei_genesys_get_address (local_reg, REG02); - r->value |= REG02_MTRREV; - r = sanei_genesys_get_address (local_reg, REG01); - r->value &= ~REG01_SCAN; - - RIE (gl841_bulk_write_register (dev, local_reg, GENESYS_GL841_MAX_REGS)); - - status = gl841_start_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_slow_back_home: failed to start motor: %s\n", - sane_strstatus (status)); - gl841_stop_action (dev); - /* send original registers */ - gl841_bulk_write_register (dev, dev->reg, GENESYS_GL841_MAX_REGS); - return status; - } - - if (wait_until_home) - { - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - - if (val & REG41_HOMESNR) /* home sensor */ - { - DBG (DBG_info, "gl841_slow_back_home: reached home position\n"); - DBG (DBG_proc, "gl841_slow_back_home: finished\n"); - return SANE_STATUS_GOOD; - } - usleep (100000); /* sleep 100 ms */ - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl841_stop_action (dev); - DBG (DBG_error, - "gl841_slow_back_home: timeout while waiting for scanhead to go home\n"); - return SANE_STATUS_IO_ERROR; - } - - DBG (DBG_info, "gl841_slow_back_home: scanhead is still moving\n"); - DBG (DBG_proc, "gl841_slow_back_home: finished\n"); - return SANE_STATUS_GOOD; -} - -/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels - area at 600 dpi from very top of scanner */ -static SANE_Status -gl841_search_start_position (Genesys_Device * dev) -{ - int size; - SANE_Status status; - uint8_t *data; - Genesys_Register_Set local_reg[GENESYS_GL841_MAX_REGS+1]; - int steps; - - int pixels = 600; - int dpi = 300; - - DBGSTART; - - memcpy (local_reg, dev->reg, (GENESYS_GL841_MAX_REGS +1) * sizeof (Genesys_Register_Set)); - - /* sets for a 200 lines * 600 pixels */ - /* normal scan with no shading */ - - status = gl841_init_scan_regs (dev, - local_reg, - dpi, - dpi, - 0, - 0,/*we should give a small offset here~60 steps*/ - 600, - dev->model->search_lines, - 8, - 1, - 1,/*green*/ - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE); - if(status!=SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to init scan registers: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* send to scanner */ - status = - gl841_bulk_write_register (dev, local_reg, GENESYS_GL841_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - size = pixels * dev->model->search_lines; - - data = malloc (size); - if (!data) - { - DBG (DBG_error, - "gl841_search_start_position: failed to allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - - status = gl841_begin_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl841_search_start_position: failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data, size); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl841_search_start_position: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("search_position.pnm", data, 8, 1, pixels, - dev->model->search_lines); - - status = gl841_end_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl841_search_start_position: failed to end scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* update regs to copy ASIC internal state */ - memcpy (dev->reg, local_reg, (GENESYS_GL841_MAX_REGS + 1) * sizeof (Genesys_Register_Set)); - -/*TODO: find out where sanei_genesys_search_reference_point - stores information, and use that correctly*/ - status = - sanei_genesys_search_reference_point (dev, data, 0, dpi, pixels, - dev->model->search_lines); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl841_search_start_position: failed to set search reference point: %s\n", - sane_strstatus (status)); - return status; - } - - free (data); - return SANE_STATUS_GOOD; -} - -/* - * sets up register for coarse gain calibration - * todo: check it for scanners using it */ -static SANE_Status -gl841_init_regs_for_coarse_calibration (Genesys_Device * dev) -{ - SANE_Status status; - uint8_t channels; - uint8_t cksel; - - DBGSTART; - - cksel = (dev->calib_reg[reg_0x18].value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ - - /* set line size */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - channels = 3; - else - channels = 1; - - status = gl841_init_scan_regs (dev, - dev->calib_reg, - dev->settings.xres, - dev->settings.yres, - 0, - 0, - dev->sensor.optical_res / cksel, /* XXX STEF XXX !!! */ - 20, - 16, - channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE - ); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_init_register_for_coarse_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_info, - "gl841_init_register_for_coarse_calibration: optical sensor res: %d dpi, actual res: %d\n", - dev->sensor.optical_res / cksel, dev->settings.xres); - - status = - gl841_bulk_write_register (dev, dev->calib_reg, GENESYS_GL841_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_init_register_for_coarse_calibration: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - -/* if (DBG_LEVEL >= DBG_info) - sanei_gl841_print_registers (dev->calib_reg);*/ - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* init registers for shading calibration */ -static SANE_Status -gl841_init_regs_for_shading (Genesys_Device * dev) -{ - SANE_Status status; - SANE_Int ydpi; - float starty=0; - - DBGSTART; - DBG (DBG_proc, "%s: lines = %d\n", __func__, (int)(dev->calib_lines)); - - /* initial calibration reg values */ - memcpy (dev->calib_reg, dev->reg, GENESYS_GL841_MAX_REGS * sizeof (Genesys_Register_Set)); - - ydpi = dev->motor.base_ydpi; - if (dev->model->motor_type == MOTOR_PLUSTEK_3600) /* TODO PLUSTEK_3600: 1200dpi not yet working, produces dark bar */ - { - ydpi = 600; - } - if (dev->model->motor_type == MOTOR_CANONLIDE80) - { - ydpi = gl841_get_dpihw(dev); - /* get over extra dark area for this model */ - starty = 140; - } - - dev->calib_channels = 3; - dev->calib_lines = dev->model->shading_lines; - status = gl841_init_scan_regs (dev, - dev->calib_reg, - dev->settings.xres, - ydpi, - 0, - starty, - (dev->sensor.sensor_pixels * dev->settings.xres) / dev->sensor.optical_res, - dev->calib_lines, - 16, - dev->calib_channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_USE_OPTICAL_RES | - /*SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE |*/ - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); - return status; - } - - dev->calib_pixels = dev->current_setup.pixels; - dev->scanhead_position_in_steps += dev->calib_lines + starty; - - status = gl841_bulk_write_register (dev, dev->calib_reg, GENESYS_GL841_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* set up registers for the actual scan - */ -static SANE_Status -gl841_init_regs_for_scan (Genesys_Device * dev) -{ - int channels; - int flags; - int depth; - float move; - int move_dpi; - float start; - - SANE_Status status; - - DBG (DBG_info, - "gl841_init_regs_for_scan settings:\nResolution: %uDPI\n" - "Lines : %u\nPPL : %u\nStartpos : %.3f/%.3f\nScan mode : %d\n\n", - dev->settings.yres, dev->settings.lines, dev->settings.pixels, - dev->settings.tl_x, dev->settings.tl_y, dev->settings.scan_mode); - - gl841_slow_back_home(dev,SANE_TRUE); - -/* channels */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - channels = 3; - else - channels = 1; - -/* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == SCAN_MODE_LINEART) - depth = 1; - - - /* steps to move to reach scanning area: - - first we move to physical start of scanning - either by a fixed steps amount from the black strip - or by a fixed amount from parking position, - minus the steps done during shading calibration - - then we move by the needed offset whitin physical - scanning area - - assumption: steps are expressed at maximum motor resolution - - we need: - SANE_Fixed y_offset; - SANE_Fixed y_size; - SANE_Fixed y_offset_calib; - mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ - - /* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is - relative from origin, else, it is from parking position */ - - move_dpi = dev->motor.base_ydpi; - - move = 0; - if (dev->model->flags & GENESYS_FLAG_SEARCH_START) - { - move += SANE_UNFIX (dev->model->y_offset_calib); - } - - DBG (DBG_info, "gl841_init_regs_for_scan: move=%f steps\n", move); - - move += SANE_UNFIX (dev->model->y_offset); - DBG (DBG_info, "gl841_init_regs_for_scan: move=%f steps\n", move); - - move += dev->settings.tl_y; - DBG (DBG_info, "gl841_init_regs_for_scan: move=%f steps\n", move); - - move = (move * move_dpi) / MM_PER_INCH; - -/* start */ - start = SANE_UNFIX (dev->model->x_offset); - - start += dev->settings.tl_x; - - start = (start * dev->sensor.optical_res) / MM_PER_INCH; - - flags=0; - - /* we enable true gray for cis scanners only, and just when doing - * scan since color calibration is OK for this mode - */ - flags = 0; - - /* true gray (led add for cis scanners) */ - if(dev->model->is_cis && dev->settings.true_gray - && dev->settings.scan_mode != SCAN_MODE_COLOR) - { - DBG (DBG_io, "%s: activating LEDADD\n", __func__); - flags |= SCAN_FLAG_ENABLE_LEDADD; - } - - /* enable emulated lineart from gray data */ - if(dev->settings.scan_mode == SCAN_MODE_LINEART - && dev->settings.dynamic_lineart) - { - flags |= SCAN_FLAG_DYNAMIC_LINEART; - } - - status = gl841_init_scan_regs (dev, - dev->reg, - dev->settings.xres, - dev->settings.yres, - start, - move, - dev->settings.pixels, - dev->settings.lines, - depth, - channels, - dev->settings.color_filter, - flags); - - if (status != SANE_STATUS_GOOD) - return status; - - - DBG (DBG_proc, "gl841_init_register_for_scan: completed\n"); - return SANE_STATUS_GOOD; -} - -/* - * this function sends generic gamma table (ie linear ones) - * or the Sensor specific one if provided - */ -static SANE_Status -gl841_send_gamma_table (Genesys_Device * dev) -{ - int size; - SANE_Status status; - uint8_t *gamma; - - DBGSTART; - - size = 256; - - /* allocate temporary gamma tables: 16 bits words, 3 channels */ - gamma = (uint8_t *) malloc (size * 2 * 3); - if (gamma==NULL) - { - return SANE_STATUS_NO_MEM; - } - - RIE(sanei_genesys_generate_gamma_buffer(dev, 16, 65535, size, gamma)); - - /* send address */ - status = gl841_set_buffer_address_gamma (dev, 0x00000); - if (status != SANE_STATUS_GOOD) - { - free (gamma); - DBG (DBG_error, - "gl841_send_gamma_table: failed to set buffer address: %s\n", - sane_strstatus (status)); - return status; - } - - /* send data */ - status = gl841_bulk_write_data_gamma (dev, 0x28, (uint8_t *) gamma, size * 2 * 3); - if (status != SANE_STATUS_GOOD) - { - free (gamma); - DBG (DBG_error, - "gl841_send_gamma_table: failed to send gamma table: %s\n", - sane_strstatus (status)); - return status; - } - - free (gamma); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* this function does the led calibration by scanning one line of the calibration - area below scanner's top on white strip. - --needs working coarse/gain -*/ -GENESYS_STATIC SANE_Status -gl841_led_calibration (Genesys_Device * dev) -{ - int num_pixels; - int total_size; - uint8_t *line; - int i, j; - SANE_Status status = SANE_STATUS_GOOD; - int val; - int channels; - int avg[3], avga, avge; - int turn; - char fn[20]; - uint16_t exp[3], target; - Genesys_Register_Set *r; - int move; - - SANE_Bool acceptable = SANE_FALSE; - - /* these 2 boundaries should be per sensor */ - uint16_t min_exposure=500; - uint16_t max_exposure; - - DBGSTART; - - /* feed to white strip if needed */ - if (dev->model->y_offset_calib>0) - { - move = SANE_UNFIX (dev->model->y_offset_calib); - move = (move * (dev->motor.base_ydpi)) / MM_PER_INCH; - DBG (DBG_io, "%s: move=%d lines\n", __func__, move); - status = gl841_feed(dev, move); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to feed: %s\n", __func__, - sane_strstatus (status)); - return status; - } - } - - /* offset calibration is always done in color mode */ - channels = 3; - - status = gl841_init_scan_regs (dev, - dev->calib_reg, - dev->settings.xres, - dev->settings.yres, - 0, - 0, - (dev->sensor.sensor_pixels*dev->settings.xres) / dev->sensor.optical_res, - 1, - 16, - channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES - ); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to setup scan: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - RIE (gl841_bulk_write_register(dev, dev->calib_reg, GENESYS_GL841_MAX_REGS)); - - num_pixels = dev->current_setup.pixels; - - total_size = num_pixels * channels * 2 * 1; /* colors * bytes_per_color * scan lines */ - - line = malloc (total_size); - if (!line) - return SANE_STATUS_NO_MEM; - -/* - we try to get equal bright leds here: - - loop: - average per color - adjust exposure times - */ - - exp[0] = (dev->sensor.regs_0x10_0x1d[0] << 8) | dev->sensor.regs_0x10_0x1d[1]; - exp[1] = (dev->sensor.regs_0x10_0x1d[2] << 8) | dev->sensor.regs_0x10_0x1d[3]; - exp[2] = (dev->sensor.regs_0x10_0x1d[4] << 8) | dev->sensor.regs_0x10_0x1d[5]; - - turn = 0; - /* max exposure is set to ~2 time initial average - * exposure, or 2 time last calibration exposure */ - max_exposure=((exp[0]+exp[1]+exp[2])/3)*2; - target=dev->sensor.gain_white_ref*256; - - do { - - dev->sensor.regs_0x10_0x1d[0] = (exp[0] >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[1] = exp[0] & 0xff; - dev->sensor.regs_0x10_0x1d[2] = (exp[1] >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[3] = exp[1] & 0xff; - dev->sensor.regs_0x10_0x1d[4] = (exp[2] >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[5] = exp[2] & 0xff; - - r = &(dev->calib_reg[reg_0x10]); - for (i = 0; i < 6; i++, r++) { - r->value = dev->sensor.regs_0x10_0x1d[i]; - RIE (sanei_genesys_write_register (dev, 0x10+i, dev->sensor.regs_0x10_0x1d[i])); - } - - RIE (gl841_bulk_write_register (dev, dev->calib_reg, GENESYS_GL841_MAX_REGS)); - - DBG (DBG_info, "%s: starting line reading\n", __func__); - RIE (gl841_begin_scan (dev, dev->calib_reg, SANE_TRUE)); - RIE (sanei_genesys_read_data_from_scanner (dev, line, total_size)); - - if (DBG_LEVEL >= DBG_data) { - snprintf(fn,20,"led_%d.pnm",turn); - sanei_genesys_write_pnm_file (fn, - line, - 16, - channels, - num_pixels, 1); - } - - /* compute average */ - for (j = 0; j < channels; j++) - { - avg[j] = 0; - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * num_pixels + 1] * 256 + - line[i * 2 + j * 2 * num_pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - avg[j] += val; - } - - avg[j] /= num_pixels; - } - - DBG(DBG_info,"%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); - - acceptable = SANE_TRUE; - - /* exposure is acceptable if each color is in the %5 range - * of other color channels */ - if (avg[0] < avg[1] * 0.95 || avg[1] < avg[0] * 0.95 || - avg[0] < avg[2] * 0.95 || avg[2] < avg[0] * 0.95 || - avg[1] < avg[2] * 0.95 || avg[2] < avg[1] * 0.95) - { - acceptable = SANE_FALSE; - } - - /* led exposure is not acceptable if white level is too low - * ~80 hardcoded value for white level */ - if(avg[0]<20000 || avg[1]<20000 || avg[2]<20000) - { - acceptable = SANE_FALSE; - } - - /* for scanners using target value */ - if(target>0) - { - acceptable = SANE_TRUE; - for(i=0;i<3;i++) - { - /* we accept +- 2% delta from target */ - if(abs(avg[i]-target)>target/50) - { - exp[i]=(exp[i]*target)/avg[i]; - acceptable = SANE_FALSE; - } - } - } - else - { - if (!acceptable) - { - avga = (avg[0]+avg[1]+avg[2])/3; - exp[0] = (exp[0] * avga) / avg[0]; - exp[1] = (exp[1] * avga) / avg[1]; - exp[2] = (exp[2] * avga) / avg[2]; - /* - keep the resulting exposures below this value. - too long exposure drives the ccd into saturation. - we may fix this by relying on the fact that - we get a striped scan without shading, by means of - statistical calculation - */ - avge = (exp[0] + exp[1] + exp[2]) / 3; - - if (avge > max_exposure) { - exp[0] = (exp[0] * max_exposure) / avge; - exp[1] = (exp[1] * max_exposure) / avge; - exp[2] = (exp[2] * max_exposure) / avge; - } - if (avge < min_exposure) { - exp[0] = (exp[0] * min_exposure) / avge; - exp[1] = (exp[1] * min_exposure) / avge; - exp[2] = (exp[2] * min_exposure) / avge; - } - - } - } - - RIE (gl841_stop_action (dev)); - - turn++; - - } while (!acceptable && turn < 100); - - DBG(DBG_info,"%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0],exp[1],exp[2]); - - /* cleanup before return */ - free (line); - - gl841_slow_back_home(dev, SANE_TRUE); - - DBGCOMPLETED; - return status; -} - -/** @brief calibration for AD frontend devices - * offset calibration assumes that the scanning head is on a black area - * For LiDE80 analog frontend - * 0x0003 : is gain and belongs to [0..63] - * 0x0006 : is offset - * We scan a line with no gain until average offset reaches the target - */ -static SANE_Status -ad_fe_offset_calibration (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int num_pixels; - int total_size; - uint8_t *line; - int i; - int average; - int turn; - char fn[20]; - int top; - int bottom; - int target; - - DBGSTART; - - /* don't impact 3600 behavior since we can't test it */ - if (dev->model->ccd_type == CCD_PLUSTEK_3600) - { - DBGCOMPLETED; - return status; - } - - status = gl841_init_scan_regs (dev, - dev->calib_reg, - dev->settings.xres, - dev->settings.yres, - 0, - 0, - (dev->sensor.sensor_pixels*dev->settings.xres) / dev->sensor.optical_res, - 1, - 8, - 3, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_offset_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - num_pixels = dev->current_setup.pixels; - total_size = num_pixels * 3 * 2 * 1; - - line = malloc (total_size); - if (line==NULL) - { - DBGCOMPLETED; - return SANE_STATUS_NO_MEM; - } - - dev->frontend.gain[0] = 0x00; - dev->frontend.gain[1] = 0x00; - dev->frontend.gain[2] = 0x00; - - /* loop on scan until target offset is reached */ - turn=0; - target=24; - bottom=0; - top=255; - do { - /* set up offset mid range */ - dev->frontend.offset[0] = (top+bottom)/2; - dev->frontend.offset[1] = (top+bottom)/2; - dev->frontend.offset[2] = (top+bottom)/2; - - /* scan line */ - DBG (DBG_info, "%s: starting line reading\n",__func__); - gl841_bulk_write_register (dev, dev->calib_reg, GENESYS_GL841_MAX_REGS); - gl841_set_fe(dev, AFE_SET); - gl841_begin_scan (dev, dev->calib_reg, SANE_TRUE); - sanei_genesys_read_data_from_scanner (dev, line, total_size); - gl841_stop_action (dev); - if (DBG_LEVEL >= DBG_data) { - snprintf(fn,20,"offset_%02d.pnm",turn); - sanei_genesys_write_pnm_file (fn, line, 8, 3, num_pixels, 1); - } - - /* search for minimal value */ - average=0; - for(i=0;itarget) - { - top=(top+bottom)/2; - } - else - { - bottom=(top+bottom)/2; - } - turn++; - } while ((top-bottom)>1 && turn < 100); - - dev->frontend.offset[0]=0; - dev->frontend.offset[1]=0; - dev->frontend.offset[2]=0; - free(line); - DBG (DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, - dev->frontend.offset[0], - dev->frontend.offset[1], - dev->frontend.offset[2]); - DBGCOMPLETED; - return status; -} - -/* this function does the offset calibration by scanning one line of the calibration - area below scanner's top. There is a black margin and the remaining is white. - sanei_genesys_search_start() must have been called so that the offsets and margins - are allready known. - -this function expects the slider to be where? -*/ -GENESYS_STATIC SANE_Status -gl841_offset_calibration (Genesys_Device * dev) -{ - int num_pixels; - int total_size; - uint8_t *first_line, *second_line; - int i, j; - SANE_Status status = SANE_STATUS_GOOD; - int val; - int channels; - int off[3],offh[3],offl[3],off1[3],off2[3]; - int min1[3],min2[3]; - int cmin[3],cmax[3]; - int turn; - char fn[20]; - SANE_Bool acceptable = SANE_FALSE; - int mintgt = 0x400; - - DBG (DBG_proc, "gl841_offset_calibration\n"); - - /* Analog Device fronted have a different calibration */ - if ((dev->reg[reg_0x04].value & REG04_FESET) == 0x02) - { - return ad_fe_offset_calibration (dev); - } - - /* offset calibration is always done in color mode */ - channels = 3; - - status = gl841_init_scan_regs (dev, - dev->calib_reg, - dev->settings.xres, - dev->settings.yres, - 0, - 0, - (dev->sensor.sensor_pixels*dev->settings.xres) / dev->sensor.optical_res, - 1, - 16, - channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES | - SCAN_FLAG_DISABLE_LAMP - ); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_offset_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - num_pixels = dev->current_setup.pixels; - - total_size = num_pixels * channels * 2 * 1; /* colors * bytes_per_color * scan lines */ - - first_line = malloc (total_size); - if (!first_line) - return SANE_STATUS_NO_MEM; - - second_line = malloc (total_size); - if (!second_line) - { - free (first_line); - return SANE_STATUS_NO_MEM; - } - - /* scan first line of data with no offset nor gain */ -/*WM8199: gain=0.73; offset=-260mV*/ -/*okay. the sensor black level is now at -260mV. we only get 0 from AFE...*/ -/* we should probably do real calibration here: - * -detect acceptable offset with binary search - * -calculate offset from this last version - * - * acceptable offset means - * - few completely black pixels(<10%?) - * - few completely white pixels(<10%?) - * - * final offset should map the minimum not completely black - * pixel to 0(16 bits) - * - * this does account for dummy pixels at the end of ccd - * this assumes slider is at black strip(which is not quite as black as "no - * signal"). - * - */ - dev->frontend.gain[0] = 0x00; - dev->frontend.gain[1] = 0x00; - dev->frontend.gain[2] = 0x00; - offh[0] = 0xff; - offh[1] = 0xff; - offh[2] = 0xff; - offl[0] = 0x00; - offl[1] = 0x00; - offl[2] = 0x00; - turn = 0; - - do { - - RIEF2 (gl841_bulk_write_register - (dev, dev->calib_reg, GENESYS_GL841_MAX_REGS), first_line, second_line); - - for (j=0; j < channels; j++) { - off[j] = (offh[j]+offl[j])/2; - dev->frontend.offset[j] = off[j]; - } - - status = gl841_set_fe(dev, AFE_SET); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_offset_calibration: failed to setup frontend: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_info, - "gl841_offset_calibration: starting first line reading\n"); - RIEF2 (gl841_begin_scan (dev, dev->calib_reg, SANE_TRUE), first_line, second_line); - - RIEF2 (sanei_genesys_read_data_from_scanner (dev, first_line, total_size), first_line, second_line); - - if (DBG_LEVEL >= DBG_data) { - snprintf(fn,20,"offset1_%02d.pnm",turn); - sanei_genesys_write_pnm_file (fn, - first_line, - 16, - channels, - num_pixels, 1); - } - - acceptable = SANE_TRUE; - - for (j = 0; j < channels; j++) - { - cmin[j] = 0; - cmax[j] = 0; - - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - first_line[i * 2 + j * 2 * num_pixels + 1] * 256 + - first_line[i * 2 + j * 2 * num_pixels]; - else - val = - first_line[i * 2 * channels + 2 * j + 1] * 256 + - first_line[i * 2 * channels + 2 * j]; - if (val < 10) - cmin[j]++; - if (val > 65525) - cmax[j]++; - } - - /* TODO the DP685 has a black strip in the middle of the sensor - * should be handled in a more elegant way , could be a bug */ - if (dev->model->ccd_type == CCD_DP685) - cmin[j] -= 20; - - if (cmin[j] > num_pixels/100) { - acceptable = SANE_FALSE; - if (dev->model->is_cis) - offl[0] = off[0]; - else - offl[j] = off[j]; - } - if (cmax[j] > num_pixels/100) { - acceptable = SANE_FALSE; - if (dev->model->is_cis) - offh[0] = off[0]; - else - offh[j] = off[j]; - } - } - - DBG(DBG_info,"gl841_offset_calibration: black/white pixels: " - "%d/%d,%d/%d,%d/%d\n", - cmin[0],cmax[0],cmin[1],cmax[1],cmin[2],cmax[2]); - - if (dev->model->is_cis) { - offh[2] = offh[1] = offh[0]; - offl[2] = offl[1] = offl[0]; - } - - RIEF2 (gl841_stop_action (dev), first_line, second_line); - - turn++; - } while (!acceptable && turn < 100); - - DBG(DBG_info,"gl841_offset_calibration: acceptable offsets: %d,%d,%d\n", - off[0],off[1],off[2]); - - - for (j = 0; j < channels; j++) - { - off1[j] = off[j]; - - min1[j] = 65536; - - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - first_line[i * 2 + j * 2 * num_pixels + 1] * 256 + - first_line[i * 2 + j * 2 * num_pixels]; - else - val = - first_line[i * 2 * channels + 2 * j + 1] * 256 + - first_line[i * 2 * channels + 2 * j]; - if (min1[j] > val && val >= 10) - min1[j] = val; - } - } - - - offl[0] = off[0]; - offl[1] = off[0]; - offl[2] = off[0]; - turn = 0; - - do { - - for (j=0; j < channels; j++) { - off[j] = (offh[j]+offl[j])/2; - dev->frontend.offset[j] = off[j]; - } - - status = gl841_set_fe(dev, AFE_SET); - - if (status != SANE_STATUS_GOOD) - { - free (first_line); - free (second_line); - DBG (DBG_error, - "gl841_offset_calibration: failed to setup frontend: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_info, - "gl841_offset_calibration: starting second line reading\n"); - RIEF2 (gl841_bulk_write_register - (dev, dev->calib_reg, GENESYS_GL841_MAX_REGS), first_line, second_line); - RIEF2 (gl841_begin_scan (dev, dev->calib_reg, SANE_TRUE), first_line, second_line); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, second_line, total_size), first_line, second_line); - - if (DBG_LEVEL >= DBG_data) { - snprintf(fn,20,"offset2_%02d.pnm",turn); - sanei_genesys_write_pnm_file (fn, - second_line, - 16, - channels, - num_pixels, 1); - } - - acceptable = SANE_TRUE; - - for (j = 0; j < channels; j++) - { - cmin[j] = 0; - cmax[j] = 0; - - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - second_line[i * 2 + j * 2 * num_pixels + 1] * 256 + - second_line[i * 2 + j * 2 * num_pixels]; - else - val = - second_line[i * 2 * channels + 2 * j + 1] * 256 + - second_line[i * 2 * channels + 2 * j]; - if (val < 10) - cmin[j]++; - if (val > 65525) - cmax[j]++; - } - - if (cmin[j] > num_pixels/100) { - acceptable = SANE_FALSE; - if (dev->model->is_cis) - offl[0] = off[0]; - else - offl[j] = off[j]; - } - if (cmax[j] > num_pixels/100) { - acceptable = SANE_FALSE; - if (dev->model->is_cis) - offh[0] = off[0]; - else - offh[j] = off[j]; - } - } - - DBG(DBG_info,"gl841_offset_calibration: black/white pixels: " - "%d/%d,%d/%d,%d/%d\n", - cmin[0],cmax[0],cmin[1],cmax[1],cmin[2],cmax[2]); - - if (dev->model->is_cis) { - offh[2] = offh[1] = offh[0]; - offl[2] = offl[1] = offl[0]; - } - - RIEF2 (gl841_stop_action (dev), first_line, second_line); - - turn++; - - } while (!acceptable && turn < 100); - - DBG(DBG_info,"gl841_offset_calibration: acceptable offsets: %d,%d,%d\n", - off[0],off[1],off[2]); - - - for (j = 0; j < channels; j++) - { - off2[j] = off[j]; - - min2[j] = 65536; - - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - second_line[i * 2 + j * 2 * num_pixels + 1] * 256 + - second_line[i * 2 + j * 2 * num_pixels]; - else - val = - second_line[i * 2 * channels + 2 * j + 1] * 256 + - second_line[i * 2 * channels + 2 * j]; - if (min2[j] > val && val != 0) - min2[j] = val; - } - } - - DBG(DBG_info,"gl841_offset_calibration: first set: %d/%d,%d/%d,%d/%d\n", - off1[0],min1[0],off1[1],min1[1],off1[2],min1[2]); - - DBG(DBG_info,"gl841_offset_calibration: second set: %d/%d,%d/%d,%d/%d\n", - off2[0],min2[0],off2[1],min2[1],off2[2],min2[2]); - -/* - calculate offset for each channel - based on minimal pixel value min1 at offset off1 and minimal pixel value min2 - at offset off2 - - to get min at off, values are linearly interpolated: - min=real+off*fact - min1=real+off1*fact - min2=real+off2*fact - - fact=(min1-min2)/(off1-off2) - real=min1-off1*(min1-min2)/(off1-off2) - - off=(min-min1+off1*(min1-min2)/(off1-off2))/((min1-min2)/(off1-off2)) - - off=(min*(off1-off2)+min1*off2-off1*min2)/(min1-min2) - - */ - for (j = 0; j < channels; j++) - { - if (min2[j]-min1[j] == 0) { -/*TODO: try to avoid this*/ - DBG(DBG_warn,"gl841_offset_calibration: difference too small\n"); - if (mintgt * (off1[j] - off2[j]) + min1[j] * off2[j] - min2[j] * off1[j] >= 0) - off[j] = 0x0000; - else - off[j] = 0xffff; - } else - off[j] = (mintgt * (off1[j] - off2[j]) + min1[j] * off2[j] - min2[j] * off1[j])/(min1[j]-min2[j]); - if (off[j] > 255) - off[j] = 255; - if (off[j] < 0) - off[j] = 0; - dev->frontend.offset[j] = off[j]; - } - - DBG(DBG_info,"gl841_offset_calibration: final offsets: %d,%d,%d\n", - off[0],off[1],off[2]); - - if (dev->model->is_cis) { - if (off[0] < off[1]) - off[0] = off[1]; - if (off[0] < off[2]) - off[0] = off[2]; - dev->frontend.offset[0] = off[0]; - dev->frontend.offset[1] = off[0]; - dev->frontend.offset[2] = off[0]; - } - - if (channels == 1) - { - dev->frontend.offset[1] = dev->frontend.offset[0]; - dev->frontend.offset[2] = dev->frontend.offset[0]; - } - - /* cleanup before return */ - free (first_line); - free (second_line); - DBG (DBG_proc, "gl841_offset_calibration: completed\n"); - return status; -} - - -/* alternative coarse gain calibration - this on uses the settings from offset_calibration and - uses only one scanline - */ -/* - with offset and coarse calibration we only want to get our input range into - a reasonable shape. the fine calibration of the upper and lower bounds will - be done with shading. - */ -GENESYS_STATIC SANE_Status -gl841_coarse_gain_calibration (Genesys_Device * dev, int dpi) -{ - int num_pixels; - int total_size; - uint8_t *line; - int i, j, channels; - SANE_Status status = SANE_STATUS_GOOD; - int max[3]; - float gain[3]; - int val; - int lines=1; - int move; - - DBG (DBG_proc, "%s: dpi=%d\n", __func__, dpi); - - /* feed to white strip if needed */ - if (dev->model->y_offset_calib>0) - { - move = SANE_UNFIX (dev->model->y_offset_calib); - move = (move * (dev->motor.base_ydpi)) / MM_PER_INCH; - DBG (DBG_io, "%s: move=%d lines\n", __func__, move); - status = gl841_feed(dev, move); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to feed: %s\n", __func__, - sane_strstatus (status)); - return status; - } - } - - /* coarse gain calibration is allways done in color mode */ - channels = 3; - - status = gl841_init_scan_regs (dev, - dev->calib_reg, - dev->settings.xres, - dev->settings.yres, - 0, - 0, - (dev->sensor.sensor_pixels*dev->settings.xres) / dev->sensor.optical_res, - lines, - 16, - channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES - ); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - RIE (gl841_bulk_write_register (dev, dev->calib_reg, GENESYS_GL841_MAX_REGS)); - - num_pixels = dev->current_setup.pixels; - - total_size = num_pixels * channels * 2 * lines; /* colors * bytes_per_color * scan lines */ - - line = malloc (total_size); - if (!line) - return SANE_STATUS_NO_MEM; - - RIEF (gl841_begin_scan (dev, dev->calib_reg, SANE_TRUE), line); - RIEF (sanei_genesys_read_data_from_scanner (dev, line, total_size), line); - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("coarse.pnm", line, 16, channels, num_pixels, lines); - - /* average high level for each channel and compute gain - to reach the target code - we only use the central half of the CCD data */ - for (j = 0; j < channels; j++) - { - max[j] = 0; - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * num_pixels + 1] * 256 + - line[i * 2 + j * 2 * num_pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - - if (val > max[j]) - max[j] = val; - } - - gain[j] = 65535.0/max[j]; - - if (dev->model->dac_type == DAC_CANONLIDE35 || - dev->model->dac_type == DAC_WOLFSON_XP300 || - dev->model->dac_type == DAC_WOLFSON_DSM600) - { - gain[j] *= 0.69;/*seems we don't get the real maximum. empirically derived*/ - if (283 - 208/gain[j] > 255) - dev->frontend.gain[j] = 255; - else if (283 - 208/gain[j] < 0) - dev->frontend.gain[j] = 0; - else - dev->frontend.gain[j] = 283 - 208/gain[j]; - } - else if (dev->model->dac_type == DAC_CANONLIDE80) - { - dev->frontend.gain[j] = gain[j]*12; - } - - DBG (DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, - j, max[j], gain[j],dev->frontend.gain[j]); - } - - for (j = 0; j < channels; j++) - { - if(gain[j] > 10) - { - DBG (DBG_error0, "**********************************************\n"); - DBG (DBG_error0, "**********************************************\n"); - DBG (DBG_error0, "**** ****\n"); - DBG (DBG_error0, "**** Extremely low Brightness detected. ****\n"); - DBG (DBG_error0, "**** Check the scanning head is ****\n"); - DBG (DBG_error0, "**** unlocked and moving. ****\n"); - DBG (DBG_error0, "**** ****\n"); - DBG (DBG_error0, "**********************************************\n"); - DBG (DBG_error0, "**********************************************\n"); -#ifdef SANE_STATUS_HW_LOCKED - return SANE_STATUS_HW_LOCKED; -#else - return SANE_STATUS_JAMMED; -#endif - } - - } - - if (dev->model->is_cis) { - if (dev->frontend.gain[0] > dev->frontend.gain[1]) - dev->frontend.gain[0] = dev->frontend.gain[1]; - if (dev->frontend.gain[0] > dev->frontend.gain[2]) - dev->frontend.gain[0] = dev->frontend.gain[2]; - dev->frontend.gain[2] = dev->frontend.gain[1] = dev->frontend.gain[0]; - } - - if (channels == 1) - { - dev->frontend.gain[0] = dev->frontend.gain[1]; - dev->frontend.gain[2] = dev->frontend.gain[1]; - } - - free (line); - DBG (DBG_info, "%s: gain=(%d,%d,%d)\n", __func__, - dev->frontend.gain[0], - dev->frontend.gain[1], - dev->frontend.gain[2]); - - RIE (gl841_stop_action (dev)); - - gl841_slow_back_home(dev, SANE_TRUE); - - DBGCOMPLETED; - return status; -} - -/* - * wait for lamp warmup by scanning the same line until difference - * between 2 scans is below a threshold - */ -static SANE_Status -gl841_init_regs_for_warmup (Genesys_Device * dev, - Genesys_Register_Set * local_reg, - int *channels, int *total_size) -{ - int num_pixels = (int) (4 * 300); - SANE_Status status = SANE_STATUS_GOOD; - - DBG (DBG_proc, "sanei_gl841_warmup_lamp\n"); - - memcpy (local_reg, dev->reg, (GENESYS_GL841_MAX_REGS + 1) * sizeof (Genesys_Register_Set)); - -/* okay.. these should be defaults stored somewhere */ - dev->frontend.gain[0] = 0x00; - dev->frontend.gain[1] = 0x00; - dev->frontend.gain[2] = 0x00; - dev->frontend.offset[0] = 0x80; - dev->frontend.offset[1] = 0x80; - dev->frontend.offset[2] = 0x80; - - status = gl841_init_scan_regs (dev, - local_reg, - dev->sensor.optical_res, - dev->settings.yres, - dev->sensor.dummy_pixel, - 0, - num_pixels, - 1, - 16, - *channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES - ); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_init_regs_for_warmup: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - num_pixels = dev->current_setup.pixels; - - *total_size = num_pixels * 3 * 2 * 1; /* colors * bytes_per_color * scan lines */ - - RIE (gl841_bulk_write_register - (dev, local_reg, GENESYS_GL841_MAX_REGS)); - - return status; -} - - -/* - * this function moves head without scanning, forward, then backward - * so that the head goes to park position. - * as a by-product, also check for lock - */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -sanei_gl841_repark_head (Genesys_Device * dev) -{ - SANE_Status status; - - DBG (DBG_proc, "sanei_gl841_repark_head\n"); - - status = gl841_feed(dev,232); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_repark_head: failed to feed: %s\n", - sane_strstatus (status)); - return status; - } - - /* toggle motor flag, put an huge step number and redo move backward */ - status = gl841_slow_back_home (dev, SANE_TRUE); - DBG (DBG_proc, "gl841_park_head: completed\n"); - return status; -} - -static SANE_Status -gl841_is_compatible_calibration (Genesys_Device * dev, - Genesys_Calibration_Cache *cache, - int for_overwrite) -{ - SANE_Status status; -#ifdef HAVE_SYS_TIME_H - struct timeval time; -#endif - - DBGSTART; - - /* calibration cache not working yet for this model */ - if (dev->model->ccd_type == CCD_PLUSTEK_3600) - { - return SANE_STATUS_UNSUPPORTED; - } - - status = gl841_calculate_current_setup (dev); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_is_compatible_calibration: failed to calculate current setup: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_proc, "gl841_is_compatible_calibration: checking\n"); - - if (dev->current_setup.half_ccd != cache->used_setup.half_ccd) - return SANE_STATUS_UNSUPPORTED; - - /* a cache entry expires after 30 minutes for non sheetfed scanners */ - /* this is not taken into account when overwriting cache entries */ -#ifdef HAVE_SYS_TIME_H - if(for_overwrite == SANE_FALSE) - { - gettimeofday (&time, NULL); - if ((time.tv_sec - cache->last_calibration > 30 * 60) - && (dev->model->is_sheetfed == SANE_FALSE)) - { - DBG (DBG_proc, "%s: expired entry, non compatible cache\n",__func__); - return SANE_STATUS_UNSUPPORTED; - } - } -#endif - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* - * initialize ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home - */ -static SANE_Status -gl841_init (Genesys_Device * dev) -{ - SANE_Status status; - uint8_t val; - size_t size; - uint8_t *line; - int i; - - DBG_INIT (); - DBGSTART; - - dev->scanhead_position_in_steps = 0; - - /* Check if the device has already been initialized and powered up */ - if (dev->already_initialized) - { - RIE (sanei_genesys_get_status (dev, &val)); - if (val & REG41_PWRBIT) - { - DBG (DBG_info, "gl841_init: already initialized\n"); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - } - - dev->dark_average_data = NULL; - dev->white_average_data = NULL; - - dev->settings.color_filter = 0; - - /* ASIC reset */ - RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); - RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); - - /* Set default values for registers */ - gl841_init_registers (dev); - - /* Write initial registers */ - RIE (gl841_bulk_write_register (dev, dev->reg, GENESYS_GL841_MAX_REGS)); - - /* Test ASIC and RAM */ - if (!(dev->model->flags & GENESYS_FLAG_LAZY_INIT)) - { - RIE (sanei_gl841_asic_test (dev)); - } - - /* Set analog frontend */ - RIE (gl841_set_fe (dev, AFE_INIT)); - - /* Move home */ - RIE (gl841_slow_back_home (dev, SANE_TRUE)); - - /* Init shading data */ - RIE (sanei_genesys_init_shading_data (dev, dev->sensor.sensor_pixels)); - - /* ensure head is correctly parked, and check lock */ - if (dev->model->flags & GENESYS_FLAG_REPARK) - { - status = sanei_gl841_repark_head (dev); - if (status != SANE_STATUS_GOOD) - { - if (status == SANE_STATUS_INVAL) - DBG (DBG_error0, - "Your scanner is locked. Please move the lock switch " - "to the unlocked position\n"); - else - DBG (DBG_error, - "gl841_init: sanei_gl841_repark_head failed: %s\n", - sane_strstatus (status)); - return status; - } - } - - /* initalize sensor gamma tables */ - size = 256; - - for(i=0;i<3;i++) - { - if (dev->sensor.gamma_table[i] == NULL) - { - dev->sensor.gamma_table[i] = (uint16_t *) malloc (2 * size); - if (dev->sensor.gamma_table[i] == NULL) - { - DBG (DBG_error, - "gl841_init: could not allocate memory for gamma table %d\n",i); - return SANE_STATUS_NO_MEM; - } - sanei_genesys_create_gamma_table (dev->sensor.gamma_table[i], - size, - 65535, - 65535, - dev->sensor.gamma[i]); - } - } - - /* send gamma tables */ - status = gl841_send_gamma_table (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_init: failed to send initial gamma tables: %s\n", - sane_strstatus (status)); - return status; - } - - /* initial calibration reg values */ - memcpy (dev->calib_reg, dev->reg, (GENESYS_GL841_MAX_REGS + 1) * sizeof (Genesys_Register_Set)); - - status = gl841_init_scan_regs (dev, - dev->calib_reg, - 300, - 300, - 0, - 0, - (16 * 300) / dev->sensor.optical_res, - 1, - 16, - 3, - 0, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES - ); - - RIE (gl841_bulk_write_register - (dev, dev->calib_reg, GENESYS_GL841_MAX_REGS)); - - size = dev->current_setup.pixels * 3 * 2 * 1; /* colors * bytes_per_color * scan lines */ - - line = malloc (size); - if (!line) - return SANE_STATUS_NO_MEM; - - DBG (DBG_info, - "gl841_init: starting dummy data reading\n"); - RIEF (gl841_begin_scan (dev, dev->calib_reg, SANE_TRUE), line); - - sanei_usb_set_timeout(1000);/* 1 second*/ - -/*ignore errors. next read will succeed*/ - sanei_genesys_read_data_from_scanner (dev, line, size); - free(line); - - sanei_usb_set_timeout(30 * 1000);/* 30 seconds*/ - - RIE (gl841_end_scan (dev, dev->calib_reg, SANE_TRUE)); - - - memcpy (dev->calib_reg, dev->reg, (GENESYS_GL841_MAX_REGS + 1) * sizeof (Genesys_Register_Set)); - - /* Set powersaving (default = 15 minutes) */ - RIE (gl841_set_powersaving (dev, 15)); - dev->already_initialized = SANE_TRUE; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl841_update_hardware_sensors (Genesys_Scanner * s) -{ - /* do what is needed to get a new set of events, but try to not lose - any of them. - */ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - - if (s->dev->model->gpo_type == GPO_CANONLIDE35 - || s->dev->model->gpo_type == GPO_CANONLIDE80) - { - RIE(sanei_genesys_read_register(s->dev, REG6D, &val)); - - if (s->val[OPT_SCAN_SW].b == s->last_val[OPT_SCAN_SW].b) - s->val[OPT_SCAN_SW].b = (val & 0x01) == 0; - if (s->val[OPT_FILE_SW].b == s->last_val[OPT_FILE_SW].b) - s->val[OPT_FILE_SW].b = (val & 0x02) == 0; - if (s->val[OPT_EMAIL_SW].b == s->last_val[OPT_EMAIL_SW].b) - s->val[OPT_EMAIL_SW].b = (val & 0x04) == 0; - if (s->val[OPT_COPY_SW].b == s->last_val[OPT_COPY_SW].b) - s->val[OPT_COPY_SW].b = (val & 0x08) == 0; - } - - if (s->dev->model->gpo_type == GPO_XP300 || - s->dev->model->gpo_type == GPO_DP665 || - s->dev->model->gpo_type == GPO_DP685) - { - RIE(sanei_genesys_read_register(s->dev, REG6D, &val)); - - if (s->val[OPT_PAGE_LOADED_SW].b == s->last_val[OPT_PAGE_LOADED_SW].b) - s->val[OPT_PAGE_LOADED_SW].b = (val & 0x01) == 0; - if (s->val[OPT_SCAN_SW].b == s->last_val[OPT_SCAN_SW].b) - s->val[OPT_SCAN_SW].b = (val & 0x02) == 0; - } - - return status; -} - -/** @brief search for a full width black or white strip. - * This function searches for a black or white stripe across the scanning area. - * When searching backward, the searched area must completely be of the desired - * color since this area will be used for calibration which scans forward. - * @param dev scanner device - * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward - * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip - * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not - */ -static SANE_Status -gl841_search_strip (Genesys_Device * dev, SANE_Bool forward, SANE_Bool black) -{ - unsigned int pixels, lines, channels; - SANE_Status status; - Genesys_Register_Set local_reg[GENESYS_GL841_MAX_REGS + 1]; - size_t size; - uint8_t *data; - int steps, depth, dpi; - unsigned int pass, count, found, x, y, length; - char title[80]; - Genesys_Register_Set *r; - uint8_t white_level=90; /**< default white level to detect white dots */ - uint8_t black_level=60; /**< default black level to detect black dots */ - - DBG (DBG_proc, "gl841_search_strip %s %s\n", black ? "black" : "white", - forward ? "forward" : "reverse"); - - /* use maximum gain when doing forward white strip detection - * since we don't have calibrated the sensor yet */ - if(!black && forward) - { - dev->frontend.gain[0] = 0xff; - dev->frontend.gain[1] = 0xff; - dev->frontend.gain[2] = 0xff; - } - - gl841_set_fe (dev, AFE_SET); - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_search_strip: failed to stop: %s\n", - sane_strstatus (status)); - return status; - } - - /* set up for a gray scan at lowest dpi */ - dpi = 9600; - for (x = 0; x < MAX_RESOLUTIONS; x++) - { - if (dev->model->xdpi_values[x] > 0 && dev->model->xdpi_values[x] < dpi) - dpi = dev->model->xdpi_values[x]; - } - channels = 1; - - /* shading calibation is done with dev->motor.base_ydpi */ - /* lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; */ - lines = (10*dpi)/MM_PER_INCH; - - depth = 8; - pixels = (dev->sensor.sensor_pixels * dpi) / dev->sensor.optical_res; - size = pixels * channels * lines * (depth / 8); - data = malloc (size); - if (!data) - { - DBG (DBG_error, "gl841_search_strip: failed to allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - - /* 20 cm max length for calibration sheet */ - length = ((200 * dpi) / MM_PER_INCH)/lines; - - dev->scanhead_position_in_steps = 0; - - memcpy (local_reg, dev->reg, - (GENESYS_GL841_MAX_REGS + 1) * sizeof (Genesys_Register_Set)); - - status = gl841_init_scan_regs (dev, - local_reg, - dpi, - dpi, - 0, - 0, - pixels, - lines, - depth, - channels, - 0, - SCAN_FLAG_DISABLE_SHADING | SCAN_FLAG_DISABLE_GAMMA); - if (status != SANE_STATUS_GOOD) - { - free(data); - DBG (DBG_error, "%s: failed to setup for scan: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* set up for reverse or forward */ - r = sanei_genesys_get_address (local_reg, 0x02); - if (forward) - r->value &= ~4; - else - r->value |= 4; - - - status = gl841_bulk_write_register (dev, local_reg, GENESYS_GL841_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - free(data); - DBG (DBG_error, - "gl841_search_strip: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl841_begin_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl841_search_strip: failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data, size); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl841_search_start_position: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, "gl841_search_strip: gl841_stop_action failed\n"); - return status; - } - - pass = 0; - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "search_strip_%s_%s%02u.pnm", black ? "black" : "white", - forward ? "fwd" : "bwd", pass); - sanei_genesys_write_pnm_file (title, data, depth, channels, pixels, - lines); - } - - /* loop until strip is found or maximum pass number done */ - found = 0; - while (pass < length && !found) - { - status = - gl841_bulk_write_register (dev, local_reg, GENESYS_GL841_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl841_search_strip: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - /* now start scan */ - status = gl841_begin_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl841_search_strip: failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data, size); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl841_search_start_position: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, "gl841_search_strip: gl841_stop_action failed\n"); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "search_strip_%s_%s%02u.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", pass); - sanei_genesys_write_pnm_file (title, data, depth, channels, pixels, - lines); - } - - /* search data to find black strip */ - /* when searching forward, we only need one line of the searched color since we - * will scan forward. But when doing backward search, we need all the area of the - * same color */ - if (forward) - { - for (y = 0; y < lines && !found; y++) - { - count = 0; - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > white_level) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < black_level) - { - count++; - } - } - - /* at end of line, if count >= 3%, line is not fully of the desired color - * so we must go to next line of the buffer */ - /* count*100/pixels < 3 */ - if ((count * 100) / pixels < 3) - { - found = 1; - DBG (DBG_data, - "gl841_search_strip: strip found forward during pass %d at line %d\n", - pass, y); - } - else - { - DBG (DBG_data, - "gl841_search_strip: pixels=%d, count=%d (%d%%)\n", - pixels, count, (100 * count) / pixels); - } - } - } - else /* since calibration scans are done forward, we need the whole area - to be of the required color when searching backward */ - { - count = 0; - for (y = 0; y < lines; y++) - { - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > white_level) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < black_level) - { - count++; - } - } - } - - /* at end of area, if count >= 3%, area is not fully of the desired color - * so we must go to next buffer */ - if ((count * 100) / (pixels * lines) < 3) - { - found = 1; - DBG (DBG_data, - "gl841_search_strip: strip found backward during pass %d \n", - pass); - } - else - { - DBG (DBG_data, - "gl841_search_strip: pixels=%d, count=%d (%d%%)\n", pixels, - count, (100 * count) / pixels); - } - } - pass++; - } - free (data); - if (found) - { - status = SANE_STATUS_GOOD; - DBG (DBG_info, "gl841_search_strip: %s strip found\n", - black ? "black" : "white"); - } - else - { - status = SANE_STATUS_UNSUPPORTED; - DBG (DBG_info, "gl841_search_strip: %s strip not found\n", - black ? "black" : "white"); - } - - DBG (DBG_proc, "gl841_search_strip: completed\n"); - return status; -} - -/** - * Send shading calibration data. The buffer is considered to always hold values - * for all the channels. - */ -GENESYS_STATIC -SANE_Status -gl841_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint32_t length, x, factor, pixels, i; - uint32_t half; - uint32_t lines, channels; - uint16_t dpiset, dpihw, strpixel ,endpixel, beginpixel; - uint8_t *buffer,*ptr,*src; - - DBGSTART; - DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__func__,size); - - /* old method if no SHDAREA */ - if((dev->reg[reg_0x01].value & REG01_SHDAREA) == 0) - { - /* start address */ - status = sanei_genesys_set_buffer_address (dev, 0x0000); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to set buffer address: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* shading data whole line */ - status = dev->model->cmd_set->bulk_write_data (dev, 0x3c, data, size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to send shading table: %s\n", __func__, - sane_strstatus (status)); - return status; - } - DBGCOMPLETED; - return status; - } - - /* data is whole line, we extract only the part for the scanned area */ - length = (uint32_t) (size / 3); - sanei_genesys_get_double(dev->reg,REG_STRPIXEL,&strpixel); - sanei_genesys_get_double(dev->reg,REG_ENDPIXEL,&endpixel); - DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d\n",__func__,strpixel,endpixel,endpixel-strpixel); - - /* compute deletion/average factor */ - sanei_genesys_get_double(dev->reg,REG_DPISET,&dpiset); - dpihw = gl841_get_dpihw(dev); - half=dev->current_setup.half_ccd+1; - factor=dpihw/dpiset; - DBG( DBG_io2, "%s: dpihw=%d, dpiset=%d, half_ccd=%d, factor=%d\n",__func__,dpihw,dpiset,half-1,factor); - - /* binary data logging */ - if(DBG_LEVEL>=DBG_data) - { - dev->binary=fopen("binary.pnm","wb"); - sanei_genesys_get_triple(dev->reg, REG_LINCNT, &lines); - channels=dev->current_setup.channels; - if(dev->binary!=NULL) - { - fprintf(dev->binary,"P5\n%d %d\n%d\n",(endpixel-strpixel)/factor*channels,lines/channels,255); - } - } - - /* turn pixel value into bytes 2x16 bits words */ - strpixel*=2*2; /* 2 words of 2 bytes */ - endpixel*=2*2; - pixels=endpixel-strpixel; - - /* shading pixel begin is start pixel minus start pixel during shading - * calibration. Currently only cases handled are full and half ccd resolution. - */ - beginpixel = dev->sensor.CCD_start_xoffset / half; - beginpixel += dev->sensor.dummy_pixel + 1; - DBG(DBG_io2, "%s: ORIGIN PIXEL=%d\n", __func__, beginpixel); - beginpixel = (strpixel-beginpixel*2*2)/factor; - DBG(DBG_io2, "%s: BEGIN PIXEL=%d\n",__func__,beginpixel/4); - - DBG(DBG_io2, "%s: using chunks of %d bytes (%d shading data pixels)\n",__func__,length, length/4); - buffer=(uint8_t *)malloc(pixels); - memset(buffer,0,pixels); - - /* write actual shading data contigously - * channel by channel, starting at addr 0x0000 - * */ - for(i=0;i<3;i++) - { - /* copy data to work buffer and process it */ - /* coefficent destination */ - ptr=buffer; - - /* iterate on both sensor segment, data has been averaged, - * so is in the right order and we only have to copy it */ - for(x=0;xmodel->cmd_set->bulk_write_data (dev, 0x3c, buffer, pixels), buffer); - } - - free(buffer); - DBGCOMPLETED; - - return status; -} - - -/** the gl841 command set */ -static Genesys_Command_Set gl841_cmd_set = { - "gl841-generic", /* the name of this set */ - - gl841_init, - gl841_init_regs_for_warmup, - gl841_init_regs_for_coarse_calibration, - gl841_init_regs_for_shading, - gl841_init_regs_for_scan, - - gl841_get_filter_bit, - gl841_get_lineart_bit, - gl841_get_bitset_bit, - gl841_get_gain4_bit, - gl841_get_fast_feed_bit, - gl841_test_buffer_empty_bit, - gl841_test_motor_flag_bit, - - gl841_bulk_full_size, - - gl841_set_fe, - gl841_set_powersaving, - gl841_save_power, - - gl841_set_motor_power, - gl841_set_lamp_power, - - gl841_begin_scan, - gl841_end_scan, - - gl841_send_gamma_table, - - gl841_search_start_position, - - gl841_offset_calibration, - gl841_coarse_gain_calibration, - gl841_led_calibration, - - gl841_slow_back_home, - NULL, - - gl841_bulk_write_register, - gl841_bulk_write_data, - gl841_bulk_read_data, - - gl841_update_hardware_sensors, - - gl841_load_document, - gl841_detect_document_end, - gl841_eject_document, - gl841_search_strip, - - gl841_is_compatible_calibration, - NULL, - gl841_send_shading_data, - gl841_calculate_current_setup, - NULL, - NULL -}; - -SANE_Status -sanei_gl841_init_cmd_set (Genesys_Device * dev) -{ - dev->model->cmd_set = &gl841_cmd_set; - return SANE_STATUS_GOOD; -} - -/* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/genesys_gl841.cc b/backend/genesys_gl841.cc new file mode 100644 index 0000000..9e8fc15 --- /dev/null +++ b/backend/genesys_gl841.cc @@ -0,0 +1,5624 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2003 Oliver Rauch + Copyright (C) 2003, 2004 Henning Meier-Geinitz + Copyright (C) 2004 Gerhard Jaeger + Copyright (C) 2004-2013 Stéphane Voltz + Copyright (C) 2005 Philipp Schmid + Copyright (C) 2005-2009 Pierre Willenbrock + Copyright (C) 2006 Laurent Charpentier + Copyright (C) 2010 Chris Berry and Michael Rickmann + for Plustek Opticbook 3600 support + + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "genesys_gl841.h" + +#include + +/**************************************************************************** + Low level function + ****************************************************************************/ + +/* ------------------------------------------------------------------------ */ +/* Read and write RAM, registers and AFE */ +/* ------------------------------------------------------------------------ */ + +/* Set address for writing data */ +static SANE_Status +gl841_set_buffer_address_gamma (Genesys_Device * dev, uint32_t addr) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_io, "%s: setting address to 0x%05x\n", __func__, addr & 0xfffffff0); + + addr = addr >> 4; + + status = sanei_genesys_write_register (dev, 0x5c, (addr & 0xff)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed while writing low byte: %s\n", __func__, sane_strstatus(status)); + return status; + } + + addr = addr >> 8; + status = sanei_genesys_write_register (dev, 0x5b, (addr & 0xff)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed while writing high byte: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_io, "%s: completed\n", __func__); + + return status; +} + +/**************************************************************************** + Mid level functions + ****************************************************************************/ + +static SANE_Bool +gl841_get_fast_feed_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, 0x02); + if (r && (r->value & REG02_FASTFED)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl841_get_filter_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, 0x04); + if (r && (r->value & REG04_FILTER)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl841_get_lineart_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, 0x04); + if (r && (r->value & REG04_LINEART)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl841_get_bitset_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, 0x04); + if (r && (r->value & REG04_BITSET)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl841_get_gain4_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, 0x06); + if (r && (r->value & REG06_GAIN4)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl841_test_buffer_empty_bit (SANE_Byte val) +{ + if (val & REG41_BUFEMPTY) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl841_test_motor_flag_bit (SANE_Byte val) +{ + if (val & REG41_MOTORENB) + return SANE_TRUE; + return SANE_FALSE; +} + +/** copy sensor specific settings */ +/* *dev : device infos + *regs : registers to be set + extended : do extended set up + half_ccd: set up for half ccd resolution + all registers 08-0B, 10-1D, 52-59 are set up. They shouldn't + appear anywhere else but in register_ini + +Responsible for signals to CCD/CIS: + CCD_CK1X (CK1INV(0x16),CKDIS(0x16),CKTOGGLE(0x18),CKDELAY(0x18),MANUAL1(0x1A),CK1MTGL(0x1C),CK1LOW(0x1D),CK1MAP(0x74,0x75,0x76),CK1NEG(0x7D)) + CCD_CK2X (CK2INV(0x16),CKDIS(0x16),CKTOGGLE(0x18),CKDELAY(0x18),MANUAL1(0x1A),CK1LOW(0x1D),CK1NEG(0x7D)) + CCD_CK3X (MANUAL3(0x1A),CK3INV(0x1A),CK3MTGL(0x1C),CK3LOW(0x1D),CK3MAP(0x77,0x78,0x79),CK3NEG(0x7D)) + CCD_CK4X (MANUAL3(0x1A),CK4INV(0x1A),CK4MTGL(0x1C),CK4LOW(0x1D),CK4MAP(0x7A,0x7B,0x7C),CK4NEG(0x7D)) + CCD_CPX (CTRLHI(0x16),CTRLINV(0x16),CTRLDIS(0x16),CPH(0x72),CPL(0x73),CPNEG(0x7D)) + CCD_RSX (CTRLHI(0x16),CTRLINV(0x16),CTRLDIS(0x16),RSH(0x70),RSL(0x71),RSNEG(0x7D)) + CCD_TGX (TGINV(0x16),TGMODE(0x17),TGW(0x17),EXPR(0x10,0x11),TGSHLD(0x1D)) + CCD_TGG (TGINV(0x16),TGMODE(0x17),TGW(0x17),EXPG(0x12,0x13),TGSHLD(0x1D)) + CCD_TGB (TGINV(0x16),TGMODE(0x17),TGW(0x17),EXPB(0x14,0x15),TGSHLD(0x1D)) + LAMP_SW (EXPR(0x10,0x11),XPA_SEL(0x03),LAMP_PWR(0x03),LAMPTIM(0x03),MTLLAMP(0x04),LAMPPWM(0x29)) + XPA_SW (EXPG(0x12,0x13),XPA_SEL(0x03),LAMP_PWR(0x03),LAMPTIM(0x03),MTLLAMP(0x04),LAMPPWM(0x29)) + LAMP_B (EXPB(0x14,0x15),LAMP_PWR(0x03)) + +other registers: + CISSET(0x01),CNSET(0x18),DCKSEL(0x18),SCANMOD(0x18),EXPDMY(0x19),LINECLP(0x1A),CKAREA(0x1C),TGTIME(0x1C),LINESEL(0x1E),DUMMY(0x34) + +Responsible for signals to AFE: + VSMP (VSMP(0x58),VSMPW(0x58)) + BSMP (BSMP(0x59),BSMPW(0x59)) + +other register settings depending on this: + RHI(0x52),RLOW(0x53),GHI(0x54),GLOW(0x55),BHI(0x56),BLOW(0x57), + +*/ +static void sanei_gl841_setup_sensor(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set * regs, + SANE_Bool extended, SANE_Bool half_ccd) +{ + DBG(DBG_proc, "%s\n", __func__); + + // that one is tricky at least + for (uint16_t addr = 0x08; addr <= 0x0b; ++addr) { + regs->set8(0x70 + addr - 0x08, sensor.custom_regs.get_value(addr)); + } + + // ignore registers in range [0x10..0x16) + for (uint16_t addr = 0x16; addr < 0x1e; ++addr) { + regs->set8(addr, sensor.custom_regs.get_value(addr)); + } + + // ignore registers in range [0x5b..0x5e] + for (uint16_t addr = 0x52; addr < 0x52 + 9; ++addr) { + regs->set8(addr, sensor.custom_regs.get_value(addr)); + } + + /* don't go any further if no extended setup */ + if (!extended) + return; + + /* todo : add more CCD types if needed */ + /* we might want to expand the Sensor struct to have these + 2 kind of settings */ + if (dev->model->ccd_type == CCD_5345) + { + if (half_ccd) + { + GenesysRegister* r; + /* settings for CCD used at half is max resolution */ + r = sanei_genesys_get_address (regs, 0x70); + r->value = 0x00; + r = sanei_genesys_get_address (regs, 0x71); + r->value = 0x05; + r = sanei_genesys_get_address (regs, 0x72); + r->value = 0x06; + r = sanei_genesys_get_address (regs, 0x73); + r->value = 0x08; + r = sanei_genesys_get_address (regs, 0x18); + r->value = 0x28; + r = sanei_genesys_get_address (regs, 0x58); + r->value = 0x80 | (r->value & 0x03); /* VSMP=16 */ + } + else + { + GenesysRegister* r; + /* swap latch times */ + r = sanei_genesys_get_address (regs, 0x18); + r->value = 0x30; + regs->set8(0x52, sensor.custom_regs.get_value(0x55)); + regs->set8(0x53, sensor.custom_regs.get_value(0x56)); + regs->set8(0x54, sensor.custom_regs.get_value(0x57)); + regs->set8(0x55, sensor.custom_regs.get_value(0x52)); + regs->set8(0x56, sensor.custom_regs.get_value(0x53)); + regs->set8(0x57, sensor.custom_regs.get_value(0x54)); + r = sanei_genesys_get_address (regs, 0x58); + r->value = 0x20 | (r->value & 0x03); /* VSMP=4 */ + } + return; + } + + if (dev->model->ccd_type == CCD_HP2300) + { + /* settings for CCD used at half is max resolution */ + GenesysRegister* r; + if (half_ccd) + { + r = sanei_genesys_get_address (regs, 0x70); + r->value = 0x16; + r = sanei_genesys_get_address (regs, 0x71); + r->value = 0x00; + r = sanei_genesys_get_address (regs, 0x72); + r->value = 0x01; + r = sanei_genesys_get_address (regs, 0x73); + r->value = 0x03; + /* manual clock programming */ + r = sanei_genesys_get_address (regs, 0x1d); + r->value |= 0x80; + } + else + { + r = sanei_genesys_get_address (regs, 0x70); + r->value = 1; + r = sanei_genesys_get_address (regs, 0x71); + r->value = 3; + r = sanei_genesys_get_address (regs, 0x72); + r->value = 4; + r = sanei_genesys_get_address (regs, 0x73); + r->value = 6; + } + r = sanei_genesys_get_address (regs, 0x58); + r->value = 0x80 | (r->value & 0x03); /* VSMP=16 */ + return; + } +} + +/** Test if the ASIC works + */ +/*TODO: make this functional*/ +static SANE_Status +sanei_gl841_asic_test (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + size_t size, verify_size; + unsigned int i; + + DBG(DBG_proc, "%s\n", __func__); + + return SANE_STATUS_INVAL; + + /* set and read exposure time, compare if it's the same */ + status = sanei_genesys_write_register (dev, 0x38, 0xde); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write register: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_write_register (dev, 0x39, 0xad); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write register: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_read_register (dev, 0x38, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read register: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (val != 0xde) /* value of register 0x38 */ + { + DBG(DBG_error, "%s: register contains invalid value\n", __func__); + return SANE_STATUS_IO_ERROR; + } + + status = sanei_genesys_read_register (dev, 0x39, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read register: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (val != 0xad) /* value of register 0x39 */ + { + DBG(DBG_error, "%s: register contains invalid value\n", __func__); + return SANE_STATUS_IO_ERROR; + } + + /* ram test: */ + size = 0x40000; + verify_size = size + 0x80; + /* todo: looks like the read size must be a multiple of 128? + otherwise the read doesn't succeed the second time after the scanner has + been plugged in. Very strange. */ + + std::vector data(size); + std::vector verify_data(verify_size); + + for (i = 0; i < (size - 1); i += 2) + { + data[i] = i / 512; + data[i + 1] = (i / 2) % 256; + } + + status = sanei_genesys_set_buffer_address (dev, 0x0000); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); + return status; + } + +/* status = sanei_genesys_bulk_write_data(dev, 0x3c, data, size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write data: %s\n", __func__, sane_strstatus(status)); + free (data); + free (verify_data); + return status; + }*/ + + status = sanei_genesys_set_buffer_address (dev, 0x0000); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_bulk_read_data(dev, 0x45, verify_data.data(), verify_size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* todo: why i + 2 ? */ + for (i = 0; i < size; i++) + { + if (verify_data[i] != data[i]) + { + DBG(DBG_error, "%s: data verification error\n", __func__); + DBG(DBG_info, "0x%.8x: got %.2x %.2x %.2x %.2x, expected %.2x %.2x %.2x %.2x\n", + i, + verify_data[i], + verify_data[i+1], + verify_data[i+2], + verify_data[i+3], + data[i], + data[i+1], + data[i+2], + data[i+3]); + return SANE_STATUS_IO_ERROR; + } + } + + DBG(DBG_info, "%s: completed\n", __func__); + + return SANE_STATUS_GOOD; +} + +/* + * Set all registers LiDE 80 to default values + * (function called only once at the beginning) + * we are doing a special case to ease development + */ +static void +gl841_init_lide80 (Genesys_Device * dev) +{ + uint8_t val; + + INITREG (0x01, 0x82); /* 0x02 = SHDAREA and no CISSET ! */ + INITREG (0x02, 0x10); + INITREG (0x03, 0x50); + INITREG (0x04, 0x02); + INITREG (0x05, 0x4c); /* 1200 DPI */ + INITREG (0x06, 0x38); /* 0x38 scanmod=1, pwrbit, GAIN4 */ + INITREG (0x07, 0x00); + INITREG (0x08, 0x00); + INITREG (0x09, 0x11); + INITREG (0x0a, 0x00); + + INITREG (0x10, 0x40); + INITREG (0x11, 0x00); + INITREG (0x12, 0x40); + INITREG (0x13, 0x00); + INITREG (0x14, 0x40); + INITREG (0x15, 0x00); + INITREG (0x16, 0x00); + INITREG (0x17, 0x01); + INITREG (0x18, 0x00); + INITREG (0x19, 0x06); + INITREG (0x1a, 0x00); + INITREG (0x1b, 0x00); + INITREG (0x1c, 0x00); + INITREG (0x1d, 0x04); + INITREG (0x1e, 0x10); + INITREG (0x1f, 0x04); + INITREG (0x20, 0x02); + INITREG (0x21, 0x10); + INITREG (0x22, 0x20); + INITREG (0x23, 0x20); + INITREG (0x24, 0x10); + INITREG (0x25, 0x00); + INITREG (0x26, 0x00); + INITREG (0x27, 0x00); + + INITREG (0x29, 0xff); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + INITREG (0x2c, sensor.optical_res>>8); + INITREG (0x2d, sensor.optical_res & 0xff); + INITREG (0x2e, 0x80); + INITREG (0x2f, 0x80); + INITREG (0x30, 0x00); + INITREG (0x31, 0x10); + INITREG (0x32, 0x15); + INITREG (0x33, 0x0e); + INITREG (0x34, 0x40); + INITREG (0x35, 0x00); + INITREG (0x36, 0x2a); + INITREG (0x37, 0x30); + INITREG (0x38, 0x2a); + INITREG (0x39, 0xf8); + + INITREG (0x3d, 0x00); + INITREG (0x3e, 0x00); + INITREG (0x3f, 0x00); + + INITREG (0x52, 0x03); + INITREG (0x53, 0x07); + INITREG (0x54, 0x00); + INITREG (0x55, 0x00); + INITREG (0x56, 0x00); + INITREG (0x57, 0x00); + INITREG (0x58, 0x29); + INITREG (0x59, 0x69); + INITREG (0x5a, 0x55); + + INITREG (0x5d, 0x20); + INITREG (0x5e, 0x41); + INITREG (0x5f, 0x40); + INITREG (0x60, 0x00); + INITREG (0x61, 0x00); + INITREG (0x62, 0x00); + INITREG (0x63, 0x00); + INITREG (0x64, 0x00); + INITREG (0x65, 0x00); + INITREG (0x66, 0x00); + INITREG (0x67, 0x40); + INITREG (0x68, 0x40); + INITREG (0x69, 0x20); + INITREG (0x6a, 0x20); + INITREG (0x6c, dev->gpo.value[0]); + INITREG (0x6d, dev->gpo.value[1]); + INITREG (0x6e, dev->gpo.enable[0]); + INITREG (0x6f, dev->gpo.enable[1]); + INITREG (0x70, 0x00); + INITREG (0x71, 0x05); + INITREG (0x72, 0x07); + INITREG (0x73, 0x09); + INITREG (0x74, 0x00); + INITREG (0x75, 0x01); + INITREG (0x76, 0xff); + INITREG (0x77, 0x00); + INITREG (0x78, 0x0f); + INITREG (0x79, 0xf0); + INITREG (0x7a, 0xf0); + INITREG (0x7b, 0x00); + INITREG (0x7c, 0x1e); + INITREG (0x7d, 0x11); + INITREG (0x7e, 0x00); + INITREG (0x7f, 0x50); + INITREG (0x80, 0x00); + INITREG (0x81, 0x00); + INITREG (0x82, 0x0f); + INITREG (0x83, 0x00); + INITREG (0x84, 0x0e); + INITREG (0x85, 0x00); + INITREG (0x86, 0x0d); + INITREG (0x87, 0x02); + INITREG (0x88, 0x00); + INITREG (0x89, 0x00); + + /* specific scanner settings, clock and gpio first */ + sanei_genesys_read_register (dev, REG6B, &val); + sanei_genesys_write_register (dev, REG6B, 0x0c); + sanei_genesys_write_register (dev, 0x06, 0x10); + sanei_genesys_write_register (dev, REG6E, 0x6d); + sanei_genesys_write_register (dev, REG6F, 0x80); + sanei_genesys_write_register (dev, REG6B, 0x0e); + sanei_genesys_read_register (dev, REG6C, &val); + sanei_genesys_write_register (dev, REG6C, 0x00); + sanei_genesys_read_register (dev, REG6D, &val); + sanei_genesys_write_register (dev, REG6D, 0x8f); + sanei_genesys_read_register (dev, REG6B, &val); + sanei_genesys_write_register (dev, REG6B, 0x0e); + sanei_genesys_read_register (dev, REG6B, &val); + sanei_genesys_write_register (dev, REG6B, 0x0e); + sanei_genesys_read_register (dev, REG6B, &val); + sanei_genesys_write_register (dev, REG6B, 0x0a); + sanei_genesys_read_register (dev, REG6B, &val); + sanei_genesys_write_register (dev, REG6B, 0x02); + sanei_genesys_read_register (dev, REG6B, &val); + sanei_genesys_write_register (dev, REG6B, 0x06); + + sanei_genesys_write_0x8c (dev, 0x10, 0x94); + sanei_genesys_write_register (dev, 0x09, 0x10); + + /* set up GPIO : no address, so no bulk write, doesn't written directly either ? */ + /* + dev->reg.find_reg(0x6c).value = dev->gpo.value[0]; + dev->reg.find_reg(0x6d).value = dev->gpo.value[1]; + dev->reg.find_reg(0x6e).value = dev->gpo.enable[0]; + dev->reg.find_reg(0x6f).value = dev->gpo.enable[1]; */ + + // FIXME: the following code originally changed 0x6b, but due to bug the 0x6c register was + // effectively changed. The current behavior matches the old code, but should probably be fixed. + dev->reg.find_reg(0x6c).value |= REG6B_GPO18; + dev->reg.find_reg(0x6c).value &= ~REG6B_GPO17; + + sanei_gl841_setup_sensor(dev, sensor, &dev->reg, 0, 0); +} + +/* + * Set all registers to default values + * (function called only once at the beginning) + */ +static void +gl841_init_registers (Genesys_Device * dev) +{ + int addr; + + DBG(DBG_proc, "%s\n", __func__); + + dev->reg.clear(); + if (dev->model->model_id == MODEL_CANON_LIDE_80) + { + gl841_init_lide80(dev); + return ; + } + + for (addr = 1; addr <= 0x0a; addr++) { + dev->reg.init_reg(addr, 0); + } + for (addr = 0x10; addr <= 0x27; addr++) { + dev->reg.init_reg(addr, 0); + } + dev->reg.init_reg(0x29, 0); + for (addr = 0x2c; addr <= 0x39; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x3d; addr <= 0x3f; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x52; addr <= 0x5a; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x5d; addr <= 0x87; addr++) + dev->reg.init_reg(addr, 0); + + + dev->reg.find_reg(0x01).value = 0x20; /* (enable shading), CCD, color, 1M */ + if (dev->model->is_cis == SANE_TRUE) { + dev->reg.find_reg(0x01).value |= REG01_CISSET; + } else { + dev->reg.find_reg(0x01).value &= ~REG01_CISSET; + } + + dev->reg.find_reg(0x02).value = 0x30 /*0x38 */ ; /* auto home, one-table-move, full step */ + dev->reg.find_reg(0x02).value |= REG02_AGOHOME; + sanei_genesys_set_motor_power(dev->reg, true); + dev->reg.find_reg(0x02).value |= REG02_FASTFED; + + dev->reg.find_reg(0x03).value = 0x1f /*0x17 */ ; /* lamp on */ + dev->reg.find_reg(0x03).value |= REG03_AVEENB; + + if (dev->model->ccd_type == CCD_PLUSTEK_3600) /* AD front end */ + { + dev->reg.find_reg(0x04).value = (2 << REG04S_AFEMOD) | 0x02; + } + else /* Wolfson front end */ + { + dev->reg.find_reg(0x04).value |= 1 << REG04S_AFEMOD; + } + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + dev->reg.find_reg(0x05).value = 0x00; /* disable gamma, 24 clocks/pixel */ + if (sensor.sensor_pixels < 0x1500) + dev->reg.find_reg(0x05).value |= REG05_DPIHW_600; + else if (sensor.sensor_pixels < 0x2a80) + dev->reg.find_reg(0x05).value |= REG05_DPIHW_1200; + else if (sensor.sensor_pixels < 0x5400) + dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; + else + { + dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; + DBG(DBG_warn, "%s: Cannot handle sensor pixel count %d\n", __func__, + sensor.sensor_pixels); + } + + + dev->reg.find_reg(0x06).value |= REG06_PWRBIT; + dev->reg.find_reg(0x06).value |= REG06_GAIN4; + + /* XP300 CCD needs different clock and clock/pixels values */ + if (dev->model->ccd_type != CCD_XP300 && dev->model->ccd_type != CCD_DP685 + && dev->model->ccd_type != CCD_PLUSTEK_3600) + { + dev->reg.find_reg(0x06).value |= 0 << REG06S_SCANMOD; + dev->reg.find_reg(0x09).value |= 1 << REG09S_CLKSET; + } + else + { + dev->reg.find_reg(0x06).value |= 0x05 << REG06S_SCANMOD; /* 15 clocks/pixel */ + dev->reg.find_reg(0x09).value = 0; /* 24 MHz CLKSET */ + } + + dev->reg.find_reg(0x1e).value = 0xf0; /* watch-dog time */ + + dev->reg.find_reg(0x17).value |= 1 << REG17S_TGW; + + dev->reg.find_reg(0x19).value = 0x50; + + dev->reg.find_reg(0x1d).value |= 1 << REG1DS_TGSHLD; + + dev->reg.find_reg(0x1e).value |= 1 << REG1ES_WDTIME; + +/*SCANFED*/ + dev->reg.find_reg(0x1f).value = 0x01; + +/*BUFSEL*/ + dev->reg.find_reg(0x20).value = 0x20; + +/*LAMPPWM*/ + dev->reg.find_reg(0x29).value = 0xff; + +/*BWHI*/ + dev->reg.find_reg(0x2e).value = 0x80; + +/*BWLOW*/ + dev->reg.find_reg(0x2f).value = 0x80; + +/*LPERIOD*/ + dev->reg.find_reg(0x38).value = 0x4f; + dev->reg.find_reg(0x39).value = 0xc1; + +/*VSMPW*/ + dev->reg.find_reg(0x58).value |= 3 << REG58S_VSMPW; + +/*BSMPW*/ + dev->reg.find_reg(0x59).value |= 3 << REG59S_BSMPW; + +/*RLCSEL*/ + dev->reg.find_reg(0x5a).value |= REG5A_RLCSEL; + +/*STOPTIM*/ + dev->reg.find_reg(0x5e).value |= 0x2 << REG5ES_STOPTIM; + + sanei_gl841_setup_sensor(dev, sensor, &dev->reg, 0, 0); + + /* set up GPIO */ + dev->reg.find_reg(0x6c).value = dev->gpo.value[0]; + dev->reg.find_reg(0x6d).value = dev->gpo.value[1]; + dev->reg.find_reg(0x6e).value = dev->gpo.enable[0]; + dev->reg.find_reg(0x6f).value = dev->gpo.enable[1]; + + /* TODO there is a switch calling to be written here */ + if (dev->model->gpo_type == GPO_CANONLIDE35) + { + dev->reg.find_reg(0x6b).value |= REG6B_GPO18; + dev->reg.find_reg(0x6b).value &= ~REG6B_GPO17; + } + + if (dev->model->gpo_type == GPO_XP300) + { + dev->reg.find_reg(0x6b).value |= REG6B_GPO17; + } + + if (dev->model->gpo_type == GPO_DP685) + { + /* REG6B_GPO18 lights on green led */ + dev->reg.find_reg(0x6b).value |= REG6B_GPO17|REG6B_GPO18; + } + + DBG(DBG_proc, "%s complete\n", __func__); +} + +/* Send slope table for motor movement + slope_table in machine byte order + */ +static SANE_Status +gl841_send_slope_table (Genesys_Device * dev, int table_nr, + uint16_t * slope_table, int steps) +{ + int dpihw; + int start_address; + SANE_Status status = SANE_STATUS_GOOD; + char msg[4000]; +/*#ifdef WORDS_BIGENDIAN*/ + int i; +/*#endif*/ + + DBG(DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, table_nr, steps); + + dpihw = dev->reg.find_reg(0x05).value >> 6; + + if (dpihw == 0) /* 600 dpi */ + start_address = 0x08000; + else if (dpihw == 1) /* 1200 dpi */ + start_address = 0x10000; + else if (dpihw == 2) /* 2400 dpi */ + start_address = 0x20000; + else /* reserved */ + return SANE_STATUS_INVAL; + + std::vector table(steps * 2); + for(i = 0; i < steps; i++) { + table[i * 2] = slope_table[i] & 0xff; + table[i * 2 + 1] = slope_table[i] >> 8; + } + + if (DBG_LEVEL >= DBG_io) + { + sprintf (msg, "write slope %d (%d)=", table_nr, steps); + for (i = 0; i < steps; i++) + { + sprintf (msg+strlen(msg), ",%d", slope_table[i]); + } + DBG(DBG_io, "%s: %s\n", __func__, msg); + } + + status = + sanei_genesys_set_buffer_address (dev, start_address + table_nr * 0x200); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_bulk_write_data(dev, 0x3c, table.data(), steps * 2); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send slope table: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_proc, "%s: completed\n", __func__); + return status; +} + +static SANE_Status +gl841_set_lide80_fe (Genesys_Device * dev, uint8_t set) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBGSTART; + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); + + dev->frontend = dev->frontend_initial; + + /* write them to analog frontend */ + status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg 0x00 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + status = sanei_genesys_fe_write_data(dev, 0x03, dev->frontend.regs.get_value(0x01)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg 0x03 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + status = sanei_genesys_fe_write_data(dev, 0x06, dev->frontend.regs.get_value(0x02)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg 0x06 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + if (set == AFE_SET) + { + status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg 0x00 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + status = sanei_genesys_fe_write_data(dev, 0x06, dev->frontend.regs.get_value(0x20)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing offset failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + status = sanei_genesys_fe_write_data(dev, 0x03, dev->frontend.regs.get_value(0x28)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing gain failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + return status; + DBGCOMPLETED; +} + +/* Set values of Analog Device type frontend */ +static SANE_Status +gl841_set_ad_fe (Genesys_Device * dev, uint8_t set) +{ + SANE_Status status = SANE_STATUS_GOOD; + int i; + + /* special case for LiDE 80 analog frontend */ + if(dev->model->dac_type==DAC_CANONLIDE80) + { + return gl841_set_lide80_fe(dev, set); + } + + DBG(DBG_proc, "%s(): start\n", __func__); + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); + + dev->frontend = dev->frontend_initial; + + /* write them to analog frontend */ + status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg 0x00 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg 0x01 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + for (i = 0; i < 6; i++) + { + status = + sanei_genesys_fe_write_data (dev, 0x02 + i, 0x00); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing sign[%d] failed: %s\n", __func__, 0x02 + i, + sane_strstatus(status)); + return status; + } + } + } + if (set == AFE_SET) + { + /* write them to analog frontend */ + status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg 0x00 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg 0x01 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* Write fe 0x02 (red gain)*/ + status = sanei_genesys_fe_write_data(dev, 0x02, dev->frontend.get_gain(0)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing fe 0x02 (gain r) fail: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* Write fe 0x03 (green gain)*/ + status = sanei_genesys_fe_write_data(dev, 0x03, dev->frontend.get_gain(1)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing fe 0x03 (gain g) fail: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* Write fe 0x04 (blue gain)*/ + status = sanei_genesys_fe_write_data(dev, 0x04, dev->frontend.get_gain(2)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing fe 0x04 (gain b) fail: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* Write fe 0x05 (red offset)*/ + status = + sanei_genesys_fe_write_data(dev, 0x05, dev->frontend.get_offset(0)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: write fe 0x05 (offset r) fail: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* Write fe 0x06 (green offset)*/ + status = + sanei_genesys_fe_write_data(dev, 0x06, dev->frontend.get_offset(1)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: write fe 0x06 (offset g) fail: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* Write fe 0x07 (blue offset)*/ + status = + sanei_genesys_fe_write_data(dev, 0x07, dev->frontend.get_offset(2)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: write fe 0x07 (offset b) fail: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + DBG(DBG_proc, "%s(): end\n", __func__); + + return status; +} + +/* Set values of analog frontend */ +static SANE_Status +gl841_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set) +{ + (void) sensor; + SANE_Status status = SANE_STATUS_GOOD; + int i; + + DBG(DBG_proc, "%s (%s)\n", __func__, + set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == + AFE_POWER_SAVE ? "powersave" : "huh?"); + + /* Analog Device type frontend */ + if ((dev->reg.find_reg(0x04).value & REG04_FESET) == 0x02) + { + return gl841_set_ad_fe (dev, set); + } + + if ((dev->reg.find_reg(0x04).value & REG04_FESET) != 0x00) + { + DBG(DBG_proc, "%s(): unsupported frontend type %d\n", __func__, + dev->reg.find_reg(0x04).value & REG04_FESET); + return SANE_STATUS_UNSUPPORTED; + } + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); + dev->frontend = dev->frontend_initial; + + /* reset only done on init */ + status = sanei_genesys_fe_write_data (dev, 0x04, 0x80); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: reset fe failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + DBG(DBG_proc, "%s(): frontend reset complete\n", __func__); + } + + + if (set == AFE_POWER_SAVE) + { + status = sanei_genesys_fe_write_data (dev, 0x01, 0x02); + if (status != SANE_STATUS_GOOD) { + DBG(DBG_error, "%s: writing data failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + return status; + } + + /* todo : base this test on cfg reg3 or a CCD family flag to be created */ + /*if (dev->model->ccd_type!=CCD_HP2300 && dev->model->ccd_type!=CCD_HP2400) */ + { + + status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg0 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + status = sanei_genesys_fe_write_data(dev, 0x02, dev->frontend.regs.get_value(0x02)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg2 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg1 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_fe_write_data(dev, 0x03, dev->frontend.regs.get_value(0x03)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg3 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_fe_write_data (dev, 0x06, dev->frontend.reg2[0]); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg6 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_fe_write_data (dev, 0x08, dev->frontend.reg2[1]); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg8 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_fe_write_data (dev, 0x09, dev->frontend.reg2[2]); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg9 failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + for (i = 0; i < 3; i++) + { + status = + sanei_genesys_fe_write_data(dev, 0x24 + i, dev->frontend.regs.get_value(0x24 + i)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing sign[%d] failed: %s\n", __func__, i, + sane_strstatus(status)); + return status; + } + + status = + sanei_genesys_fe_write_data(dev, 0x28 + i, dev->frontend.get_gain(i)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing gain[%d] failed: %s\n", __func__, i, + sane_strstatus(status)); + return status; + } + + status = + sanei_genesys_fe_write_data(dev, 0x20 + i, + dev->frontend.get_offset(i)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing offset[%d] failed: %s\n", __func__, i, + sane_strstatus(status)); + return status; + } + } + + + DBG(DBG_proc, "%s: completed\n", __func__); + + return SANE_STATUS_GOOD; +} + +#define MOTOR_ACTION_FEED 1 +#define MOTOR_ACTION_GO_HOME 2 +#define MOTOR_ACTION_HOME_FREE 3 + +/** @brief turn off motor + * + */ +static SANE_Status +gl841_init_motor_regs_off(Genesys_Register_Set * reg, + unsigned int scan_lines) +{ + unsigned int feedl; + GenesysRegister* r; + + DBG(DBG_proc, "%s : scan_lines=%d\n", __func__, scan_lines); + + feedl = 2; + + r = sanei_genesys_get_address (reg, 0x3d); + r->value = (feedl >> 16) & 0xf; + r = sanei_genesys_get_address (reg, 0x3e); + r->value = (feedl >> 8) & 0xff; + r = sanei_genesys_get_address (reg, 0x3f); + r->value = feedl & 0xff; + r = sanei_genesys_get_address (reg, 0x5e); + r->value &= ~0xe0; + + r = sanei_genesys_get_address (reg, 0x25); + r->value = (scan_lines >> 16) & 0xf; + r = sanei_genesys_get_address (reg, 0x26); + r->value = (scan_lines >> 8) & 0xff; + r = sanei_genesys_get_address (reg, 0x27); + r->value = scan_lines & 0xff; + + r = sanei_genesys_get_address (reg, 0x02); + r->value &= ~0x01; /*LONGCURV OFF*/ + r->value &= ~0x80; /*NOT_HOME OFF*/ + + r->value &= ~0x10; + + r->value &= ~0x06; + + r->value &= ~0x08; + + r->value &= ~0x20; + + r->value &= ~0x40; + + r = sanei_genesys_get_address (reg, 0x67); + r->value = 0x3f; + + r = sanei_genesys_get_address (reg, 0x68); + r->value = 0x3f; + + r = sanei_genesys_get_address (reg, REG_STEPNO); + r->value = 0; + + r = sanei_genesys_get_address (reg, REG_FASTNO); + r->value = 0; + + r = sanei_genesys_get_address (reg, 0x69); + r->value = 0; + + r = sanei_genesys_get_address (reg, 0x6a); + r->value = 0; + + r = sanei_genesys_get_address (reg, 0x5f); + r->value = 0; + + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** @brief write motor table frequency + * Write motor frequency data table. + * @param dev device to set up motor + * @param ydpi motor target resolution + * @return SANE_STATUS_GOOD on success + */ +static SANE_Status gl841_write_freq(Genesys_Device *dev, unsigned int ydpi) +{ +SANE_Status status = SANE_STATUS_GOOD; +/**< fast table */ +uint8_t tdefault[] = {0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76}; +uint8_t t1200[] = {0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20}; +uint8_t t300[] = {0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60}; +uint8_t t150[] = {0x0c,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0x40,0x14,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x0c,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0x11,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x0c,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0x40,0xd4,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x0c,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0x11,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60}; + +uint8_t *table; + + DBGSTART; + if(dev->model->motor_type == MOTOR_CANONLIDE80) + { + switch(ydpi) + { + case 3600: + case 1200: + table=t1200; + break; + case 900: + case 300: + table=t300; + break; + case 450: + case 150: + table=t150; + break; + default: + table=tdefault; + } + RIE(sanei_genesys_write_register(dev, 0x66, 0x00)); + RIE(sanei_genesys_write_register(dev, 0x5b, 0x0c)); + RIE(sanei_genesys_write_register(dev, 0x5c, 0x00)); + RIE(sanei_genesys_bulk_write_data(dev, 0x28, table, 128)); + RIE(sanei_genesys_write_register(dev, 0x5b, 0x00)); + RIE(sanei_genesys_write_register(dev, 0x5c, 0x00)); + } + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +static SANE_Status +gl841_init_motor_regs(Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, + unsigned int feed_steps,/*1/base_ydpi*/ +/*maybe float for half/quarter step resolution?*/ + unsigned int action, + unsigned int flags) +{ + SANE_Status status = SANE_STATUS_GOOD; + unsigned int fast_exposure; + int scan_power_mode; + int use_fast_fed = 0; + uint16_t fast_slope_table[256]; + unsigned int fast_slope_steps = 0; + unsigned int feedl; + GenesysRegister* r; +/*number of scan lines to add in a scan_lines line*/ + + DBG(DBG_proc, "%s : feed_steps=%d, action=%d, flags=%x\n", __func__, feed_steps, action, flags); + + memset(fast_slope_table,0xff,512); + + gl841_send_slope_table (dev, 0, fast_slope_table, 256); + gl841_send_slope_table (dev, 1, fast_slope_table, 256); + gl841_send_slope_table (dev, 2, fast_slope_table, 256); + gl841_send_slope_table (dev, 3, fast_slope_table, 256); + gl841_send_slope_table (dev, 4, fast_slope_table, 256); + + gl841_write_freq(dev, dev->motor.base_ydpi / 4); + + fast_slope_steps = 256; + if (action == MOTOR_ACTION_FEED || action == MOTOR_ACTION_GO_HOME) + { + /* FEED and GO_HOME can use fastest slopes available */ + fast_exposure = gl841_exposure_time(dev, sensor, + dev->motor.base_ydpi / 4, + 0, + 0, + 0, + &scan_power_mode); + DBG(DBG_info, "%s : fast_exposure=%d pixels\n", __func__, fast_exposure); + } + + if (action == MOTOR_ACTION_HOME_FREE) { +/* HOME_FREE must be able to stop in one step, so do not try to get faster */ + fast_exposure = dev->motor.slopes[0][0].maximum_start_speed; + } + + sanei_genesys_create_slope_table3 ( + dev, + fast_slope_table, + 256, + fast_slope_steps, + 0, + fast_exposure, + dev->motor.base_ydpi / 4, + &fast_slope_steps, + &fast_exposure, 0); + + feedl = feed_steps - fast_slope_steps*2; + use_fast_fed = 1; + +/* all needed slopes available. we did even decide which mode to use. + what next? + - transfer slopes +SCAN: +flags \ use_fast_fed ! 0 1 +------------------------\-------------------- + 0 ! 0,1,2 0,1,2,3 +MOTOR_FLAG_AUTO_GO_HOME ! 0,1,2,4 0,1,2,3,4 +OFF: none +FEED: 3 +GO_HOME: 3 +HOME_FREE: 3 + - setup registers + * slope specific registers (already done) + * DECSEL for HOME_FREE/GO_HOME/SCAN + * FEEDL + * MTRREV + * MTRPWR + * FASTFED + * STEPSEL + * MTRPWM + * FSTPSEL + * FASTPWM + * HOMENEG + * BWDSTEP + * FWDSTEP + * Z1 + * Z2 + */ + + r = sanei_genesys_get_address(reg, 0x3d); + r->value = (feedl >> 16) & 0xf; + r = sanei_genesys_get_address(reg, 0x3e); + r->value = (feedl >> 8) & 0xff; + r = sanei_genesys_get_address(reg, 0x3f); + r->value = feedl & 0xff; + r = sanei_genesys_get_address(reg, 0x5e); + r->value &= ~0xe0; + + r = sanei_genesys_get_address(reg, 0x25); + r->value = 0; + r = sanei_genesys_get_address(reg, 0x26); + r->value = 0; + r = sanei_genesys_get_address(reg, 0x27); + r->value = 0; + + r = sanei_genesys_get_address(reg, 0x02); + r->value &= ~0x01; /*LONGCURV OFF*/ + r->value &= ~0x80; /*NOT_HOME OFF*/ + + r->value |= 0x10; + + if (action == MOTOR_ACTION_GO_HOME) + r->value |= 0x06; + else + r->value &= ~0x06; + + if (use_fast_fed) + r->value |= 0x08; + else + r->value &= ~0x08; + + if (flags & MOTOR_FLAG_AUTO_GO_HOME) + r->value |= 0x20; + else + r->value &= ~0x20; + + r->value &= ~0x40; + + status = gl841_send_slope_table (dev, 3, fast_slope_table, 256); + + if (status != SANE_STATUS_GOOD) + return status; + + r = sanei_genesys_get_address(reg, 0x67); + r->value = 0x3f; + + r = sanei_genesys_get_address(reg, 0x68); + r->value = 0x3f; + + r = sanei_genesys_get_address(reg, REG_STEPNO); + r->value = 0; + + r = sanei_genesys_get_address(reg, REG_FASTNO); + r->value = 0; + + r = sanei_genesys_get_address(reg, 0x69); + r->value = 0; + + r = sanei_genesys_get_address(reg, 0x6a); + r->value = (fast_slope_steps >> 1) + (fast_slope_steps & 1); + + r = sanei_genesys_get_address(reg, 0x5f); + r->value = (fast_slope_steps >> 1) + (fast_slope_steps & 1); + + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl841_init_motor_regs_scan(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, + unsigned int scan_exposure_time,/*pixel*/ + float scan_yres,/*dpi, motor resolution*/ + int scan_step_type,/*0: full, 1: half, 2: quarter*/ + unsigned int scan_lines,/*lines, scan resolution*/ + unsigned int scan_dummy, +/*number of scan lines to add in a scan_lines line*/ + unsigned int feed_steps,/*1/base_ydpi*/ +/*maybe float for half/quarter step resolution?*/ + int scan_power_mode, + unsigned int flags) +{ + SANE_Status status = SANE_STATUS_GOOD; + unsigned int fast_exposure; + int use_fast_fed = 0; + int dummy_power_mode; + unsigned int fast_time; + unsigned int slow_time; + uint16_t slow_slope_table[256]; + uint16_t fast_slope_table[256]; + uint16_t back_slope_table[256]; + unsigned int slow_slope_time; + unsigned int fast_slope_time; + unsigned int slow_slope_steps = 0; + unsigned int fast_slope_steps = 0; + unsigned int back_slope_steps = 0; + unsigned int feedl; + GenesysRegister* r; + unsigned int min_restep = 0x20; + uint32_t z1, z2; + + DBG(DBG_proc, "%s : scan_exposure_time=%d, scan_yres=%g, scan_step_type=%d, scan_lines=%d," + " scan_dummy=%d, feed_steps=%d, scan_power_mode=%d, flags=%x\n", __func__, + scan_exposure_time, + scan_yres, + scan_step_type, + scan_lines, + scan_dummy, + feed_steps, + scan_power_mode, + flags); + + fast_exposure = gl841_exposure_time(dev, sensor, + dev->motor.base_ydpi / 4, + 0, + 0, + 0, + &dummy_power_mode); + + DBG(DBG_info, "%s : fast_exposure=%d pixels\n", __func__, fast_exposure); + + memset(slow_slope_table,0xff,512); + + gl841_send_slope_table (dev, 0, slow_slope_table, 256); + gl841_send_slope_table (dev, 1, slow_slope_table, 256); + gl841_send_slope_table (dev, 2, slow_slope_table, 256); + gl841_send_slope_table (dev, 3, slow_slope_table, 256); + gl841_send_slope_table (dev, 4, slow_slope_table, 256); + + /* motor frequency table */ + gl841_write_freq(dev, scan_yres); + +/* + we calculate both tables for SCAN. the fast slope step count depends on + how many steps we need for slow acceleration and how much steps we are + allowed to use. + */ + slow_slope_time = sanei_genesys_create_slope_table3 ( + dev, + slow_slope_table, 256, + 256, + scan_step_type, + scan_exposure_time, + scan_yres, + &slow_slope_steps, + NULL, + scan_power_mode); + + sanei_genesys_create_slope_table3 ( + dev, + back_slope_table, 256, + 256, + scan_step_type, + 0, + scan_yres, + &back_slope_steps, + NULL, + scan_power_mode); + + if (feed_steps < (slow_slope_steps >> scan_step_type)) { + /*TODO: what should we do here?? go back to exposure calculation?*/ + feed_steps = slow_slope_steps >> scan_step_type; + } + + if (feed_steps > fast_slope_steps*2 - + (slow_slope_steps >> scan_step_type)) + fast_slope_steps = 256; + else +/* we need to shorten fast_slope_steps here. */ + fast_slope_steps = (feed_steps - + (slow_slope_steps >> scan_step_type))/2; + + DBG(DBG_info, "%s: Maximum allowed slope steps for fast slope: %d\n", __func__, + fast_slope_steps); + + fast_slope_time = sanei_genesys_create_slope_table3 ( + dev, + fast_slope_table, 256, + fast_slope_steps, + 0, + fast_exposure, + dev->motor.base_ydpi / 4, + &fast_slope_steps, + &fast_exposure, + scan_power_mode); + + /* fast fed special cases handling */ + if (dev->model->gpo_type == GPO_XP300 + || dev->model->gpo_type == GPO_DP685) + { + /* quirk: looks like at least this scanner is unable to use + 2-feed mode */ + use_fast_fed = 0; + } + else if (feed_steps < fast_slope_steps*2 + (slow_slope_steps >> scan_step_type)) { + use_fast_fed = 0; + DBG(DBG_info, "%s: feed too short, slow move forced.\n", __func__); + } else { +/* for deciding whether we should use fast mode we need to check how long we + need for (fast)accelerating, moving, decelerating, (TODO: stopping?) + (slow)accelerating again versus (slow)accelerating and moving. we need + fast and slow tables here. +*/ +/*NOTE: scan_exposure_time is per scan_yres*/ +/*NOTE: fast_exposure is per base_ydpi/4*/ +/*we use full steps as base unit here*/ + fast_time = + fast_exposure / 4 * + (feed_steps - fast_slope_steps*2 - + (slow_slope_steps >> scan_step_type)) + + fast_slope_time*2 + slow_slope_time; + slow_time = + (scan_exposure_time * scan_yres) / dev->motor.base_ydpi * + (feed_steps - (slow_slope_steps >> scan_step_type)) + + slow_slope_time; + + DBG(DBG_info, "%s: Time for slow move: %d\n", __func__, slow_time); + DBG(DBG_info, "%s: Time for fast move: %d\n", __func__, fast_time); + + use_fast_fed = fast_time < slow_time; + } + + if (use_fast_fed) + feedl = feed_steps - fast_slope_steps*2 - + (slow_slope_steps >> scan_step_type); + else + if ((feed_steps << scan_step_type) < slow_slope_steps) + feedl = 0; + else + feedl = (feed_steps << scan_step_type) - slow_slope_steps; + DBG(DBG_info, "%s: Decided to use %s mode\n", __func__, use_fast_fed?"fast feed":"slow feed"); + +/* all needed slopes available. we did even decide which mode to use. + what next? + - transfer slopes +SCAN: +flags \ use_fast_fed ! 0 1 +------------------------\-------------------- + 0 ! 0,1,2 0,1,2,3 +MOTOR_FLAG_AUTO_GO_HOME ! 0,1,2,4 0,1,2,3,4 +OFF: none +FEED: 3 +GO_HOME: 3 +HOME_FREE: 3 + - setup registers + * slope specific registers (already done) + * DECSEL for HOME_FREE/GO_HOME/SCAN + * FEEDL + * MTRREV + * MTRPWR + * FASTFED + * STEPSEL + * MTRPWM + * FSTPSEL + * FASTPWM + * HOMENEG + * BWDSTEP + * FWDSTEP + * Z1 + * Z2 + */ + + r = sanei_genesys_get_address (reg, 0x3d); + r->value = (feedl >> 16) & 0xf; + r = sanei_genesys_get_address (reg, 0x3e); + r->value = (feedl >> 8) & 0xff; + r = sanei_genesys_get_address (reg, 0x3f); + r->value = feedl & 0xff; + r = sanei_genesys_get_address (reg, 0x5e); + r->value &= ~0xe0; + + r = sanei_genesys_get_address (reg, 0x25); + r->value = (scan_lines >> 16) & 0xf; + r = sanei_genesys_get_address (reg, 0x26); + r->value = (scan_lines >> 8) & 0xff; + r = sanei_genesys_get_address (reg, 0x27); + r->value = scan_lines & 0xff; + + r = sanei_genesys_get_address (reg, 0x02); + r->value &= ~0x01; /*LONGCURV OFF*/ + r->value &= ~0x80; /*NOT_HOME OFF*/ + r->value |= 0x10; + + r->value &= ~0x06; + + if (use_fast_fed) + r->value |= 0x08; + else + r->value &= ~0x08; + + if (flags & MOTOR_FLAG_AUTO_GO_HOME) + r->value |= 0x20; + else + r->value &= ~0x20; + + if (flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) + r->value |= 0x40; + else + r->value &= ~0x40; + + status = gl841_send_slope_table (dev, 0, slow_slope_table, 256); + + if (status != SANE_STATUS_GOOD) + return status; + + status = gl841_send_slope_table (dev, 1, back_slope_table, 256); + + if (status != SANE_STATUS_GOOD) + return status; + + status = gl841_send_slope_table (dev, 2, slow_slope_table, 256); + + if (status != SANE_STATUS_GOOD) + return status; + + if (use_fast_fed) { + status = gl841_send_slope_table (dev, 3, fast_slope_table, 256); + + if (status != SANE_STATUS_GOOD) + return status; + } + + if (flags & MOTOR_FLAG_AUTO_GO_HOME){ + status = gl841_send_slope_table (dev, 4, fast_slope_table, 256); + + if (status != SANE_STATUS_GOOD) + return status; + } + + +/* now reg 0x21 and 0x24 are available, we can calculate reg 0x22 and 0x23, + reg 0x60-0x62 and reg 0x63-0x65 + rule: + 2*STEPNO+FWDSTEP=2*FASTNO+BWDSTEP +*/ +/* steps of table 0*/ + if (min_restep < slow_slope_steps*2+2) + min_restep = slow_slope_steps*2+2; +/* steps of table 1*/ + if (min_restep < back_slope_steps*2+2) + min_restep = back_slope_steps*2+2; +/* steps of table 0*/ + r = sanei_genesys_get_address (reg, REG_FWDSTEP); + r->value = min_restep - slow_slope_steps*2; +/* steps of table 1*/ + r = sanei_genesys_get_address (reg, REG_BWDSTEP); + r->value = min_restep - back_slope_steps*2; + +/* + for z1/z2: + in dokumentation mentioned variables a-d: + a = time needed for acceleration, table 1 + b = time needed for reg 0x1f... wouldn't that be reg0x1f*exposure_time? + c = time needed for acceleration, table 1 + d = time needed for reg 0x22... wouldn't that be reg0x22*exposure_time? + z1 = (c+d-1) % exposure_time + z2 = (a+b-1) % exposure_time +*/ +/* i don't see any effect of this. i can only guess that this will enhance + sub-pixel accuracy + z1 = (slope_0_time-1) % exposure_time; + z2 = (slope_0_time-1) % exposure_time; +*/ + z1 = z2 = 0; + + DBG(DBG_info, "%s: z1 = %d\n", __func__, z1); + DBG(DBG_info, "%s: z2 = %d\n", __func__, z2); + r = sanei_genesys_get_address (reg, 0x60); + r->value = ((z1 >> 16) & 0xff); + r = sanei_genesys_get_address (reg, 0x61); + r->value = ((z1 >> 8) & 0xff); + r = sanei_genesys_get_address (reg, 0x62); + r->value = (z1 & 0xff); + r = sanei_genesys_get_address (reg, 0x63); + r->value = ((z2 >> 16) & 0xff); + r = sanei_genesys_get_address (reg, 0x64); + r->value = ((z2 >> 8) & 0xff); + r = sanei_genesys_get_address (reg, 0x65); + r->value = (z2 & 0xff); + + r = sanei_genesys_get_address (reg, REG1E); + r->value &= REG1E_WDTIME; + r->value |= scan_dummy; + + r = sanei_genesys_get_address (reg, 0x67); + r->value = 0x3f | (scan_step_type << 6); + + r = sanei_genesys_get_address (reg, 0x68); + r->value = 0x3f; + + r = sanei_genesys_get_address (reg, REG_STEPNO); + r->value = (slow_slope_steps >> 1) + (slow_slope_steps & 1); + + r = sanei_genesys_get_address (reg, REG_FASTNO); + r->value = (back_slope_steps >> 1) + (back_slope_steps & 1); + + r = sanei_genesys_get_address (reg, 0x69); + r->value = (slow_slope_steps >> 1) + (slow_slope_steps & 1); + + r = sanei_genesys_get_address (reg, 0x6a); + r->value = (fast_slope_steps >> 1) + (fast_slope_steps & 1); + + r = sanei_genesys_get_address (reg, 0x5f); + r->value = (fast_slope_steps >> 1) + (fast_slope_steps & 1); + + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static int +gl841_get_dpihw(Genesys_Device * dev) +{ + GenesysRegister* r; + r = sanei_genesys_get_address(&dev->reg, 0x05); + if ((r->value & REG05_DPIHW) == REG05_DPIHW_600) + return 600; + if ((r->value & REG05_DPIHW) == REG05_DPIHW_1200) + return 1200; + if ((r->value & REG05_DPIHW) == REG05_DPIHW_2400) + return 2400; + return 0; +} + +static SANE_Status +gl841_init_optical_regs_off(Genesys_Register_Set * reg) +{ + GenesysRegister* r; + + DBGSTART; + + r = sanei_genesys_get_address(reg, 0x01); + r->value &= ~REG01_SCAN; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl841_init_optical_regs_scan(Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, + unsigned int exposure_time, + unsigned int used_res, + unsigned int start, + unsigned int pixels, + int channels, + int depth, + SANE_Bool half_ccd, + ColorFilter color_filter, + int flags + ) +{ + unsigned int words_per_line; + unsigned int end; + unsigned int dpiset; + GenesysRegister* r; + SANE_Status status = SANE_STATUS_GOOD; + uint16_t expavg, expr, expb, expg; + + DBG(DBG_proc, "%s : exposure_time=%d, used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " + "half_ccd=%d, flags=%x\n", __func__, + exposure_time, + used_res, + start, + pixels, + channels, + depth, + half_ccd, + flags); + + end = start + pixels; + + status = gl841_set_fe(dev, sensor, AFE_SET); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* adjust used_res for chosen dpihw */ + used_res = used_res * gl841_get_dpihw(dev) / sensor.optical_res; + +/* + with half_ccd the optical resolution of the ccd is halved. We don't apply this + to dpihw, so we need to double dpiset. + + For the scanner only the ratio of dpiset and dpihw is of relevance to scale + down properly. +*/ + if (half_ccd) + dpiset = used_res * 2; + else + dpiset = used_res; + + /* gpio part.*/ + if (dev->model->gpo_type == GPO_CANONLIDE35) + { + r = sanei_genesys_get_address (reg, REG6C); + if (half_ccd) + r->value &= ~0x80; + else + r->value |= 0x80; + } + if (dev->model->gpo_type == GPO_CANONLIDE80) + { + r = sanei_genesys_get_address (reg, REG6C); + if (half_ccd) + { + r->value &= ~0x40; + r->value |= 0x20; + } + else + { + r->value &= ~0x20; + r->value |= 0x40; + } + } + + /* enable shading */ + r = sanei_genesys_get_address (reg, 0x01); + r->value |= REG01_SCAN; + if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || + (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) + r->value &= ~REG01_DVDSET; + else + r->value |= REG01_DVDSET; + + /* average looks better than deletion, and we are already set up to + use one of the average enabled resolutions + */ + r = sanei_genesys_get_address (reg, 0x03); + r->value |= REG03_AVEENB; + sanei_genesys_set_lamp_power(dev, sensor, *reg, !(flags & OPTICAL_FLAG_DISABLE_LAMP)); + + /* BW threshold */ + r = sanei_genesys_get_address (reg, 0x2e); + r->value = dev->settings.threshold; + r = sanei_genesys_get_address (reg, 0x2f); + r->value = dev->settings.threshold; + + + /* monochrome / color scan */ + r = sanei_genesys_get_address (reg, 0x04); + switch (depth) { + case 1: + r->value &= ~REG04_BITSET; + r->value |= REG04_LINEART; + break; + case 8: + r->value &= ~(REG04_LINEART | REG04_BITSET); + break; + case 16: + r->value &= ~REG04_LINEART; + r->value |= REG04_BITSET; + break; + } + + /* AFEMOD should depend on FESET, and we should set these + * bits separately */ + r->value &= ~(REG04_FILTER | REG04_AFEMOD); + if (flags & OPTICAL_FLAG_ENABLE_LEDADD) + { + r->value |= 0x10; /* no filter */ + } + else if (channels == 1) + { + switch (color_filter) + { + case ColorFilter::RED: + r->value |= 0x14; + break; + case ColorFilter::GREEN: + r->value |= 0x18; + break; + case ColorFilter::BLUE: + r->value |= 0x1c; + break; + default: + r->value |= 0x10; + break; + } + } + else + { + if (dev->model->ccd_type == CCD_PLUSTEK_3600) + { + r->value |= 0x22; /* slow color pixel by pixel */ + } + else + { + r->value |= 0x10; /* color pixel by pixel */ + } + } + + /* CIS scanners can do true gray by setting LEDADD */ + r = sanei_genesys_get_address (reg, 0x87); + r->value &= ~REG87_LEDADD; + if (flags & OPTICAL_FLAG_ENABLE_LEDADD) + { + r->value |= REG87_LEDADD; + sanei_genesys_get_double (reg, REG_EXPR, &expr); + sanei_genesys_get_double (reg, REG_EXPG, &expg); + sanei_genesys_get_double (reg, REG_EXPB, &expb); + + /* use minimal exposure for best image quality */ + expavg = expg; + if (expr < expg) + expavg = expr; + if (expb < expavg) + expavg = expb; + + sanei_genesys_set_double(&dev->reg, REG_EXPR, expavg); + sanei_genesys_set_double(&dev->reg, REG_EXPG, expavg); + sanei_genesys_set_double(&dev->reg, REG_EXPB, expavg); + } + + /* enable gamma tables */ + r = sanei_genesys_get_address (reg, 0x05); + if (flags & OPTICAL_FLAG_DISABLE_GAMMA) + r->value &= ~REG05_GMMENB; + else + r->value |= REG05_GMMENB; + + /* sensor parameters */ + sanei_gl841_setup_sensor(dev, sensor, &dev->reg, 1, half_ccd); + + r = sanei_genesys_get_address (reg, 0x29); + r->value = 255; /*<<<"magic" number, only suitable for cis*/ + + sanei_genesys_set_double(reg, REG_DPISET, dpiset); + sanei_genesys_set_double(reg, REG_STRPIXEL, start); + sanei_genesys_set_double(reg, REG_ENDPIXEL, end); + DBG(DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d\n", __func__, start, end); + + /* words(16bit) before gamma, conversion to 8 bit or lineart*/ + words_per_line = (pixels * dpiset) / gl841_get_dpihw(dev); + + words_per_line *= channels; + + if (depth == 1) + words_per_line = (words_per_line >> 3) + ((words_per_line & 7)?1:0); + else + words_per_line *= depth / 8; + + dev->wpl = words_per_line; + dev->bpl = words_per_line; + + r = sanei_genesys_get_address (reg, 0x35); + r->value = LOBYTE (HIWORD (words_per_line)); + r = sanei_genesys_get_address (reg, 0x36); + r->value = HIBYTE (LOWORD (words_per_line)); + r = sanei_genesys_get_address (reg, 0x37); + r->value = LOBYTE (LOWORD (words_per_line)); + + sanei_genesys_set_double(reg, REG_LPERIOD, exposure_time); + + r = sanei_genesys_get_address (reg, 0x34); + r->value = sensor.dummy_pixel; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static int +gl841_get_led_exposure(Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int d,r,g,b,m; + if (!dev->model->is_cis) + return 0; + d = dev->reg.find_reg(0x19).value; + + r = sensor.exposure.red; + g = sensor.exposure.green; + b = sensor.exposure.blue; + + m = r; + if (m < g) + m = g; + if (m < b) + m = b; + + return m + d; +} + +/** @brief compute exposure time + * Compute exposure time for the device and the given scan resolution, + * also compute scan_power_mode + */ +static int +gl841_exposure_time(Genesys_Device *dev, const Genesys_Sensor& sensor, + float slope_dpi, + int scan_step_type, + int start, + int used_pixels, + int *scan_power_mode) +{ +int exposure_time = 0; +int exposure_time2 = 0; +int led_exposure; + + *scan_power_mode=0; + led_exposure=gl841_get_led_exposure(dev, sensor); + exposure_time = sanei_genesys_exposure_time2( + dev, + slope_dpi, + scan_step_type, + start+used_pixels,/*+tgtime? currently done in sanei_genesys_exposure_time2 with tgtime = 32 pixel*/ + led_exposure, + *scan_power_mode); + + while(*scan_power_mode + 1 < dev->motor.power_mode_count) { + exposure_time2 = sanei_genesys_exposure_time2( + dev, + slope_dpi, + scan_step_type, + start+used_pixels,/*+tgtime? currently done in sanei_genesys_exposure_time2 with tgtime = 32 pixel*/ + led_exposure, + *scan_power_mode + 1); + if (exposure_time < exposure_time2) + break; + exposure_time = exposure_time2; + (*scan_power_mode)++; + } + + return exposure_time; +} + +/**@brief compute scan_step_type + * Try to do at least 4 steps per line. if that is impossible we will have to + * live with that. + * @param dev device + * @param yres motor resolution + */ +static int +gl841_scan_step_type(Genesys_Device *dev, int yres) +{ +int scan_step_type=0; + + /* TODO : check if there is a bug around the use of max_step_type */ + /* should be <=1, need to chek all devices entry in genesys_devices */ + if (yres*4 < dev->motor.base_ydpi || dev->motor.max_step_type <= 0) + { + scan_step_type = 0; + } + else if (yres*4 < dev->motor.base_ydpi*2 || dev->motor.max_step_type <= 1) + { + scan_step_type = 1; + } + else + { + scan_step_type = 2; + } + + /* this motor behaves differently */ + if (dev->model->motor_type==MOTOR_CANONLIDE80) + { + /* driven by 'frequency' tables ? */ + scan_step_type = 0; + } + + return scan_step_type; +} + +/* set up registers for an actual scan + * + * this function sets up the scanner to scan in normal or single line mode + */ +static +SANE_Status +gl841_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, + SetupParams& params) +{ + params.assert_valid(); + + int used_res; + int start, used_pixels; + int bytes_per_line; + int move; + unsigned int lincnt; + int exposure_time; + int scan_power_mode; + int i; + int stagger; + int avg; + + int slope_dpi = 0; + int dummy = 0; + int scan_step_type = 1; + int max_shift; + size_t requested_buffer_size, read_buffer_size; + + SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ + int optical_res; + SANE_Status status = SANE_STATUS_GOOD; + unsigned int oflags; /**> optical flags */ + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, params); + +/* +results: + +for scanner: +half_ccd +start +end +dpiset +exposure_time +dummy +z1 +z2 + +for ordered_read: + dev->words_per_line + dev->read_factor + dev->requested_buffer_size + dev->read_buffer_size + dev->read_pos + dev->read_bytes_in_buffer + dev->read_bytes_left + dev->max_shift + dev->stagger + +independent of our calculated values: + dev->total_bytes_read + dev->bytes_to_read + */ + +/* half_ccd */ + /* we have 2 domains for ccd: xres below or above half ccd max dpi */ + if (sensor.get_ccd_size_divisor_for_dpi(params.xres) > 1) { + half_ccd = SANE_TRUE; + } else { + half_ccd = SANE_FALSE; + } + +/* optical_res */ + + optical_res = sensor.optical_res; + if (half_ccd) + optical_res /= 2; + +/* stagger */ + + if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) + stagger = (4 * params.yres) / dev->motor.base_ydpi; + else + stagger = 0; + DBG(DBG_info, "%s : stagger=%d lines\n", __func__, stagger); + +/* used_res */ + i = optical_res / params.xres; + +/* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ + + if (i < 2 || (params.flags & SCAN_FLAG_USE_OPTICAL_RES)) /* optical_res >= xres > optical_res/2 */ + used_res = optical_res; + else if (i < 3) /* optical_res/2 >= xres > optical_res/3 */ + used_res = optical_res/2; + else if (i < 4) /* optical_res/3 >= xres > optical_res/4 */ + used_res = optical_res/3; + else if (i < 5) /* optical_res/4 >= xres > optical_res/5 */ + used_res = optical_res/4; + else if (i < 6) /* optical_res/5 >= xres > optical_res/6 */ + used_res = optical_res/5; + else if (i < 8) /* optical_res/6 >= xres > optical_res/8 */ + used_res = optical_res/6; + else if (i < 10) /* optical_res/8 >= xres > optical_res/10 */ + used_res = optical_res/8; + else if (i < 12) /* optical_res/10 >= xres > optical_res/12 */ + used_res = optical_res/10; + else if (i < 15) /* optical_res/12 >= xres > optical_res/15 */ + used_res = optical_res/12; + else + used_res = optical_res/15; + + /* compute scan parameters values */ + /* pixels are allways given at half or full CCD optical resolution */ + /* use detected left margin and fixed value */ + /* start */ + /* add x coordinates */ + start = ((sensor.CCD_start_xoffset + params.startx) * used_res) / sensor.optical_res; + + /* needs to be aligned for used_res */ + start = (start * optical_res) / used_res; + + start += sensor.dummy_pixel + 1; + + if (stagger > 0) + start |= 1; + + /* in case of SHDAREA, we need to align start + * on pixel average factor, startx is different of + * 0 only when calling for function to setup for + * scan, where shading data needs to be align */ + if((dev->reg.find_reg(0x01).value & REG01_SHDAREA) != 0) + { + avg=optical_res/used_res; + start=(start/avg)*avg; + } + + /* compute correct pixels number */ + /* pixels */ + used_pixels = (params.pixels * optical_res) / params.xres; + + /* round up pixels number if needed */ + if (used_pixels * params.xres < params.pixels * optical_res) + used_pixels++; + +/* dummy */ + /* dummy lines: may not be usefull, for instance 250 dpi works with 0 or 1 + dummy line. Maybe the dummy line adds correctness since the motor runs + slower (higher dpi) + */ +/* for cis this creates better aligned color lines: +dummy \ scanned lines + 0: R G B R ... + 1: R G B - R ... + 2: R G B - - R ... + 3: R G B - - - R ... + 4: R G B - - - - R ... + 5: R G B - - - - - R ... + 6: R G B - - - - - - R ... + 7: R G B - - - - - - - R ... + 8: R G B - - - - - - - - R ... + 9: R G B - - - - - - - - - R ... + 10: R G B - - - - - - - - - - R ... + 11: R G B - - - - - - - - - - - R ... + 12: R G B - - - - - - - - - - - - R ... + 13: R G B - - - - - - - - - - - - - R ... + 14: R G B - - - - - - - - - - - - - - R ... + 15: R G B - - - - - - - - - - - - - - - R ... + -- pierre + */ + dummy = 0; + +/* slope_dpi */ +/* cis color scan is effectively a gray scan with 3 gray lines per color + line and a FILTER of 0 */ + if (dev->model->is_cis) + slope_dpi = params.yres* params.channels; + else + slope_dpi = params.yres; + + slope_dpi = slope_dpi * (1 + dummy); + + scan_step_type = gl841_scan_step_type(dev, params.yres); + exposure_time = gl841_exposure_time(dev, sensor, + slope_dpi, + scan_step_type, + start, + used_pixels, + &scan_power_mode); + DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); + + /*** optical parameters ***/ + /* in case of dynamic lineart, we use an internal 8 bit gray scan + * to generate 1 lineart data */ + if(params.flags & SCAN_FLAG_DYNAMIC_LINEART) + { + params.depth=8; + } + + oflags=0; + if (params.flags & SCAN_FLAG_DISABLE_SHADING) + { + oflags |= OPTICAL_FLAG_DISABLE_SHADING; + } + if ((params.flags & SCAN_FLAG_DISABLE_GAMMA) || (params.depth==16)) + { + oflags |= OPTICAL_FLAG_DISABLE_GAMMA; + } + if (params.flags & SCAN_FLAG_DISABLE_LAMP) + { + oflags |= OPTICAL_FLAG_DISABLE_LAMP; + } + if (params.flags & SCAN_FLAG_ENABLE_LEDADD) + { + oflags |= OPTICAL_FLAG_ENABLE_LEDADD; + } + + status = gl841_init_optical_regs_scan(dev, sensor, + reg, + exposure_time, + used_res, + start, + used_pixels, + params.channels, + params.depth, + half_ccd, + params.color_filter, + oflags); + if (status != SANE_STATUS_GOOD) + { + return status; + } + +/*** motor parameters ***/ + + /* scanned area must be enlarged by max color shift needed */ + max_shift=sanei_genesys_compute_max_shift(dev, params.channels,params.yres,params.flags); + + /* lincnt */ + lincnt = params.lines + max_shift + stagger; + + /* add tl_y to base movement */ + move = params.starty; + DBG(DBG_info, "%s: move=%d steps\n", __func__, move); + + /* subtract current head position */ + move -= dev->scanhead_position_in_steps; + DBG(DBG_info, "%s: move=%d steps\n", __func__, move); + + if (move < 0) + move = 0; + + /* round it */ +/* the move is not affected by dummy -- pierre */ +/* move = ((move + dummy) / (dummy + 1)) * (dummy + 1); + DBG(DBG_info, "%s: move=%d steps\n", __func__, move);*/ + + if (params.flags & SCAN_FLAG_SINGLE_LINE) + status = gl841_init_motor_regs_off(reg, dev->model->is_cis?lincnt* params.channels:lincnt); + else + status = gl841_init_motor_regs_scan(dev, sensor, + reg, + exposure_time, + slope_dpi, + scan_step_type, + dev->model->is_cis?lincnt* params.channels:lincnt, + dummy, + move, + scan_power_mode, + (params.flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE)? + MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE:0 + ); + + if (status != SANE_STATUS_GOOD) + return status; + + + /*** prepares data reordering ***/ + +/* words_per_line */ + bytes_per_line = (used_pixels * used_res) / optical_res; + bytes_per_line = (bytes_per_line * params.channels * params.depth) / 8; + + requested_buffer_size = 8 * bytes_per_line; + /* we must use a round number of bytes_per_line */ + if (requested_buffer_size > sanei_genesys_get_bulk_max_size(dev)) + requested_buffer_size = + (sanei_genesys_get_bulk_max_size(dev) / bytes_per_line) * bytes_per_line; + + read_buffer_size = + 2 * requested_buffer_size + + ((max_shift + stagger) * used_pixels * params.channels * params.depth) / 8; + + dev->read_buffer.clear(); + dev->read_buffer.alloc(read_buffer_size); + + dev->lines_buffer.clear(); + dev->lines_buffer.alloc(read_buffer_size); + + dev->shrink_buffer.clear(); + dev->shrink_buffer.alloc(requested_buffer_size); + + dev->out_buffer.clear(); + dev->out_buffer.alloc((8 * dev->settings.pixels * params.channels * params.depth) / 8); + + dev->read_bytes_left = bytes_per_line * lincnt; + + DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); + dev->read_active = SANE_TRUE; + + dev->current_setup.params = params; + dev->current_setup.pixels = (used_pixels * used_res)/optical_res; + dev->current_setup.lines = lincnt; + dev->current_setup.depth = params.depth; + dev->current_setup.channels = params.channels; + dev->current_setup.exposure_time = exposure_time; + dev->current_setup.xres = used_res; + dev->current_setup.yres = params.yres; + dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; + dev->current_setup.stagger = stagger; + dev->current_setup.max_shift = max_shift + stagger; + +/* TODO: should this be done elsewhere? */ + /* scan bytes to send to the frontend */ + /* theory : + target_size = + (dev->settings.pixels * dev->settings.lines * channels * depth) / 8; + but it suffers from integer overflow so we do the following: + + 1 bit color images store color data byte-wise, eg byte 0 contains + 8 bits of red data, byte 1 contains 8 bits of green, byte 2 contains + 8 bits of blue. + This does not fix the overflow, though. + 644mp*16 = 10gp, leading to an overflow + -- pierre + */ + + dev->total_bytes_read = 0; + if (params.depth == 1) + dev->total_bytes_to_read = + ((dev->settings.pixels * dev->settings.lines) / 8 + + (((dev->settings.pixels * dev->settings.lines)%8)?1:0) + ) * params.channels; + else + dev->total_bytes_to_read = + dev->settings.pixels * dev->settings.lines * params.channels * (params.depth / 8); + + DBG(DBG_info, "%s: total bytes to send = %lu\n", __func__, (u_long) dev->total_bytes_to_read); +/* END TODO */ + + DBG(DBG_proc, "%s: completed\n", __func__); + return SANE_STATUS_GOOD; +} + +static void gl841_calculate_current_setup(Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int channels; + int depth; + int start; + + int used_res; + int used_pixels; + unsigned int lincnt; + int exposure_time; + int scan_power_mode; + int i; + int stagger; + + int slope_dpi = 0; + int dummy = 0; + int scan_step_type = 1; + int max_shift; + + SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ + int optical_res; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, dev->settings); + +/* channels */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else + channels = 1; + +/* depth */ + depth = dev->settings.depth; + if (dev->settings.scan_mode == ScanColorMode::LINEART) + depth = 1; + +/* start */ + start = SANE_UNFIX (dev->model->x_offset); + + start += dev->settings.tl_x; + + start = (start * sensor.optical_res) / MM_PER_INCH; + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = start; + params.starty = 0; // not used + params.pixels = dev->settings.pixels; + params.lines = dev->settings.lines; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = dev->settings.scan_mode; + params.color_filter = dev->settings.color_filter; + params.flags = 0; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, params); + +/* half_ccd */ + /* we have 2 domains for ccd: xres below or above half ccd max dpi */ + if (sensor.get_ccd_size_divisor_for_dpi(params.xres) > 1) { + half_ccd = SANE_TRUE; + } else { + half_ccd = SANE_FALSE; + } + +/* optical_res */ + + optical_res = sensor.optical_res; + if (half_ccd) + optical_res /= 2; + +/* stagger */ + + if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) + stagger = (4 * params.yres) / dev->motor.base_ydpi; + else + stagger = 0; + DBG(DBG_info, "%s: stagger=%d lines\n", __func__, stagger); + +/* used_res */ + i = optical_res / params.xres; + +/* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ + + if (i < 2) /* optical_res >= xres > optical_res/2 */ + used_res = optical_res; + else if (i < 3) /* optical_res/2 >= xres > optical_res/3 */ + used_res = optical_res/2; + else if (i < 4) /* optical_res/3 >= xres > optical_res/4 */ + used_res = optical_res/3; + else if (i < 5) /* optical_res/4 >= xres > optical_res/5 */ + used_res = optical_res/4; + else if (i < 6) /* optical_res/5 >= xres > optical_res/6 */ + used_res = optical_res/5; + else if (i < 8) /* optical_res/6 >= xres > optical_res/8 */ + used_res = optical_res/6; + else if (i < 10) /* optical_res/8 >= xres > optical_res/10 */ + used_res = optical_res/8; + else if (i < 12) /* optical_res/10 >= xres > optical_res/12 */ + used_res = optical_res/10; + else if (i < 15) /* optical_res/12 >= xres > optical_res/15 */ + used_res = optical_res/12; + else + used_res = optical_res/15; + + /* compute scan parameters values */ + /* pixels are allways given at half or full CCD optical resolution */ + /* use detected left margin and fixed value */ + start = ((sensor.CCD_start_xoffset + params.startx) * used_res) / sensor.optical_res; + +/* needs to be aligned for used_res */ + start = (start * optical_res) / used_res; + + start += sensor.dummy_pixel + 1; + + if (stagger > 0) { + start |= 1; + } + + used_pixels = (params.pixels * optical_res) / params.xres; + + // round up pixels number if needed + if (used_pixels * params.xres < params.pixels * optical_res) { + used_pixels++; + } + + /* dummy lines: may not be usefull, for instance 250 dpi works with 0 or 1 + dummy line. Maybe the dummy line adds correctness since the motor runs + slower (higher dpi) + */ +/* for cis this creates better aligned color lines: +dummy \ scanned lines + 0: R G B R ... + 1: R G B - R ... + 2: R G B - - R ... + 3: R G B - - - R ... + 4: R G B - - - - R ... + 5: R G B - - - - - R ... + 6: R G B - - - - - - R ... + 7: R G B - - - - - - - R ... + 8: R G B - - - - - - - - R ... + 9: R G B - - - - - - - - - R ... + 10: R G B - - - - - - - - - - R ... + 11: R G B - - - - - - - - - - - R ... + 12: R G B - - - - - - - - - - - - R ... + 13: R G B - - - - - - - - - - - - - R ... + 14: R G B - - - - - - - - - - - - - - R ... + 15: R G B - - - - - - - - - - - - - - - R ... + -- pierre + */ + dummy = 0; + +/* cis color scan is effectively a gray scan with 3 gray lines per color + line and a FILTER of 0 */ + if (dev->model->is_cis) { + slope_dpi = params.yres * params.channels; + } else { + slope_dpi = params.yres; + } + + slope_dpi = slope_dpi * (1 + dummy); + + scan_step_type = gl841_scan_step_type(dev, params.yres); + exposure_time = gl841_exposure_time(dev, sensor, + slope_dpi, + scan_step_type, + start, + used_pixels, + &scan_power_mode); + DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); + + /* scanned area must be enlarged by max color shift needed */ + max_shift = sanei_genesys_compute_max_shift(dev, params.channels, params.yres, 0); + + lincnt = params.lines + max_shift + stagger; + + dev->current_setup.params = params; + dev->current_setup.pixels = (used_pixels * used_res)/optical_res; + dev->current_setup.lines = lincnt; + dev->current_setup.depth = params.depth; + dev->current_setup.channels = params.channels; + dev->current_setup.exposure_time = exposure_time; + dev->current_setup.xres = used_res; + dev->current_setup.yres = params.yres; + dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; + dev->current_setup.stagger = stagger; + dev->current_setup.max_shift = max_shift + stagger; + + DBGCOMPLETED; +} + +/*for fast power saving methods only, like disabling certain amplifiers*/ +static SANE_Status gl841_save_power(Genesys_Device * dev, SANE_Bool enable) +{ + uint8_t val; + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + DBG(DBG_proc, "%s: enable = %d\n", __func__, enable); + + if (enable) + { + if (dev->model->gpo_type == GPO_CANONLIDE35) + { +/* expect GPIO17 to be enabled, and GPIO9 to be disabled, + while GPIO8 is disabled*/ +/* final state: GPIO8 disabled, GPIO9 enabled, GPIO17 disabled, + GPIO18 disabled*/ + + sanei_genesys_read_register(dev, REG6D, &val); + sanei_genesys_write_register(dev, REG6D, val | 0x80); + + sanei_genesys_sleep_ms(1); + + /*enable GPIO9*/ + sanei_genesys_read_register(dev, REG6C, &val); + sanei_genesys_write_register(dev, REG6C, val | 0x01); + + /*disable GPO17*/ + sanei_genesys_read_register(dev, REG6B, &val); + sanei_genesys_write_register(dev, REG6B, val & ~REG6B_GPO17); + + /*disable GPO18*/ + sanei_genesys_read_register(dev, REG6B, &val); + sanei_genesys_write_register(dev, REG6B, val & ~REG6B_GPO18); + + sanei_genesys_sleep_ms(1); + + sanei_genesys_read_register(dev, REG6D, &val); + sanei_genesys_write_register(dev, REG6D, val & ~0x80); + + } + if (dev->model->gpo_type == GPO_DP685) + { + sanei_genesys_read_register(dev, REG6B, &val); + sanei_genesys_write_register(dev, REG6B, val & ~REG6B_GPO17); + dev->reg.find_reg(0x6b).value &= ~REG6B_GPO17; + dev->calib_reg.find_reg(0x6b).value &= ~REG6B_GPO17; + } + + gl841_set_fe(dev, sensor, AFE_POWER_SAVE); + + } + else + { + if (dev->model->gpo_type == GPO_CANONLIDE35) + { +/* expect GPIO17 to be enabled, and GPIO9 to be disabled, + while GPIO8 is disabled*/ +/* final state: GPIO8 enabled, GPIO9 disabled, GPIO17 enabled, + GPIO18 enabled*/ + + sanei_genesys_read_register(dev, REG6D, &val); + sanei_genesys_write_register(dev, REG6D, val | 0x80); + + sanei_genesys_sleep_ms(10); + + /*disable GPIO9*/ + sanei_genesys_read_register(dev, REG6C, &val); + sanei_genesys_write_register(dev, REG6C, val & ~0x01); + + /*enable GPIO10*/ + sanei_genesys_read_register(dev, REG6C, &val); + sanei_genesys_write_register(dev, REG6C, val | 0x02); + + /*enable GPO17*/ + sanei_genesys_read_register(dev, REG6B, &val); + sanei_genesys_write_register(dev, REG6B, val | REG6B_GPO17); + dev->reg.find_reg(0x6b).value |= REG6B_GPO17; + dev->calib_reg.find_reg(0x6b).value |= REG6B_GPO17; + + /*enable GPO18*/ + sanei_genesys_read_register(dev, REG6B, &val); + sanei_genesys_write_register(dev, REG6B, val | REG6B_GPO18); + dev->reg.find_reg(0x6b).value |= REG6B_GPO18; + dev->calib_reg.find_reg(0x6b).value |= REG6B_GPO18; + + } + if (dev->model->gpo_type == GPO_DP665 + || dev->model->gpo_type == GPO_DP685) + { + sanei_genesys_read_register(dev, REG6B, &val); + sanei_genesys_write_register(dev, REG6B, val | REG6B_GPO17); + dev->reg.find_reg(0x6b).value |= REG6B_GPO17; + dev->calib_reg.find_reg(0x6b).value |= REG6B_GPO17; + } + + } + + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl841_set_powersaving (Genesys_Device * dev, + int delay /* in minutes */ ) +{ + SANE_Status status = SANE_STATUS_GOOD; + // FIXME: SEQUENTIAL not really needed in this case + Genesys_Register_Set local_reg(Genesys_Register_Set::SEQUENTIAL); + int rate, exposure_time, tgtime, time; + + DBG(DBG_proc, "%s (delay = %d)\n", __func__, delay); + + local_reg.init_reg(0x01, dev->reg.get8(0x01)); /* disable fastmode */ + local_reg.init_reg(0x03, dev->reg.get8(0x03)); /* Lamp power control */ + local_reg.init_reg(0x05, dev->reg.get8(0x05)); /*& ~REG05_BASESEL*/; /* 24 clocks/pixel */ + local_reg.init_reg(0x18, 0x00); // Set CCD type + local_reg.init_reg(0x38, 0x00); + local_reg.init_reg(0x39, 0x00); + + // period times for LPeriod, expR,expG,expB, Z1MODE, Z2MODE + local_reg.init_reg(0x1c, dev->reg.get8(0x05) & ~REG1C_TGTIME); + + if (!delay) { + local_reg.find_reg(0x03).value = local_reg.find_reg(0x03).value & 0xf0; /* disable lampdog and set lamptime = 0 */ + } else if (delay < 20) { + local_reg.find_reg(0x03).value = (local_reg.find_reg(0x03).value & 0xf0) | 0x09; /* enable lampdog and set lamptime = 1 */ + } else { + local_reg.find_reg(0x03).value = (local_reg.find_reg(0x03).value & 0xf0) | 0x0f; /* enable lampdog and set lamptime = 7 */ + } + + time = delay * 1000 * 60; /* -> msec */ + exposure_time = + (uint32_t) (time * 32000.0 / + (24.0 * 64.0 * (local_reg.find_reg(0x03).value & REG03_LAMPTIM) * + 1024.0) + 0.5); + /* 32000 = system clock, 24 = clocks per pixel */ + rate = (exposure_time + 65536) / 65536; + if (rate > 4) + { + rate = 8; + tgtime = 3; + } + else if (rate > 2) + { + rate = 4; + tgtime = 2; + } + else if (rate > 1) + { + rate = 2; + tgtime = 1; + } + else + { + rate = 1; + tgtime = 0; + } + + local_reg.find_reg(0x1c).value |= tgtime; + exposure_time /= rate; + + if (exposure_time > 65535) + exposure_time = 65535; + + local_reg.set8(0x38, exposure_time >> 8); + local_reg.set8(0x39, exposure_time & 255); /* lowbyte */ + + status = sanei_genesys_bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + + DBG(DBG_proc, "%s: completed\n", __func__); + return status; +} + +static SANE_Status +gl841_start_action (Genesys_Device * dev) +{ + return sanei_genesys_write_register (dev, 0x0f, 0x01); +} + +static SANE_Status +gl841_stop_action (Genesys_Device * dev) +{ + Genesys_Register_Set local_reg; + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val40, val; + unsigned int loop; + + DBG(DBG_proc, "%s\n", __func__); + + status = sanei_genesys_get_status (dev, &val); + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + + status = sanei_genesys_read_register(dev, 0x40, &val40); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* only stop action if needed */ + if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) + { + DBG(DBG_info, "%s: already stopped\n", __func__); + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + local_reg = dev->reg; + + gl841_init_optical_regs_off(&local_reg); + + gl841_init_motor_regs_off(&local_reg,0); + status = sanei_genesys_bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* looks like writing the right registers to zero is enough to get the chip + out of scan mode into command mode, actually triggering(writing to + register 0x0f) seems to be unnecessary */ + + loop = 10; + while (loop > 0) + { + status = sanei_genesys_read_register(dev, 0x40, &val40); + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* if scanner is in command mode, we are done */ + if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) + { + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + sanei_genesys_sleep_ms(100); + loop--; + } + + DBGCOMPLETED; + return SANE_STATUS_IO_ERROR; +} + +static SANE_Status +gl841_get_paper_sensor(Genesys_Device * dev, SANE_Bool * paper_loaded) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + + status = sanei_genesys_read_register(dev, REG6D, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read gpio: %s\n", __func__, sane_strstatus(status)); + return status; + } + *paper_loaded = (val & 0x1) == 0; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl841_eject_document (Genesys_Device * dev) +{ + Genesys_Register_Set local_reg; + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + SANE_Bool paper_loaded; + unsigned int init_steps; + float feed_mm; + int loop; + + DBG(DBG_proc, "%s\n", __func__); + + if (dev->model->is_sheetfed == SANE_FALSE) + { + DBG(DBG_proc, "%s: there is no \"eject sheet\"-concept for non sheet fed\n", __func__); + DBG(DBG_proc, "%s: finished\n", __func__); + return SANE_STATUS_GOOD; + } + + + local_reg.clear(); + val = 0; + + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read status register: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl841_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop motor: %s\n", __func__, sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + + local_reg = dev->reg; + + gl841_init_optical_regs_off(&local_reg); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + gl841_init_motor_regs(dev, sensor, &local_reg, + 65536,MOTOR_ACTION_FEED,0); + + status = sanei_genesys_bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + try { + status = gl841_start_action (dev); + } catch (...) { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + try { + gl841_stop_action(dev); + } catch (...) {} + try { + // restore original registers + sanei_genesys_bulk_write_register(dev, dev->reg); + } catch (...) {} + throw; + } + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + gl841_stop_action (dev); + /* send original registers */ + sanei_genesys_bulk_write_register(dev, dev->reg); + return status; + } + + RIE(gl841_get_paper_sensor(dev, &paper_loaded)); + if (paper_loaded) + { + DBG(DBG_info, "%s: paper still loaded\n", __func__); + /* force document TRUE, because it is definitely present */ + dev->document = SANE_TRUE; + dev->scanhead_position_in_steps = 0; + + loop = 300; + while (loop > 0) /* do not wait longer then 30 seconds */ + { + + RIE(gl841_get_paper_sensor(dev, &paper_loaded)); + + if (!paper_loaded) + { + DBG(DBG_info, "%s: reached home position\n", __func__); + DBG(DBG_proc, "%s: finished\n", __func__); + break; + } + sanei_genesys_sleep_ms(100); + --loop; + } + + if (loop == 0) + { + /* when we come here then the scanner needed too much time for this, so we better stop the motor */ + gl841_stop_action (dev); + DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); + return SANE_STATUS_IO_ERROR; + } + } + + feed_mm = SANE_UNFIX(dev->model->eject_feed); + if (dev->document) + { + feed_mm += SANE_UNFIX(dev->model->post_scan); + } + + status = sanei_genesys_read_feed_steps(dev, &init_steps); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read feed steps: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* now feed for extra steps */ + loop = 0; + while (loop < 300) /* do not wait longer then 30 seconds */ + { + unsigned int steps; + + status = sanei_genesys_read_feed_steps(dev, &steps); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read feed steps: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_info, "%s: init_steps: %d, steps: %d\n", __func__, init_steps, steps); + + if (steps > init_steps + (feed_mm * dev->motor.base_ydpi) / MM_PER_INCH) + { + break; + } + + sanei_genesys_sleep_ms(100); + ++loop; + } + + status = gl841_stop_action(dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop motor: %s\n", __func__, sane_strstatus(status)); + return status; + } + + dev->document = SANE_FALSE; + + DBG(DBG_proc, "%s: finished\n", __func__); + return SANE_STATUS_GOOD; +} + + +static SANE_Status +gl841_load_document (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + SANE_Bool paper_loaded; + int loop = 300; + DBG(DBG_proc, "%s\n", __func__); + while (loop > 0) /* do not wait longer then 30 seconds */ + { + + RIE(gl841_get_paper_sensor(dev, &paper_loaded)); + + if (paper_loaded) + { + DBG(DBG_info, "%s: document inserted\n", __func__); + + /* when loading OK, document is here */ + dev->document = SANE_TRUE; + + // give user some time to place document correctly + sanei_genesys_sleep_ms(1000); + break; + } + sanei_genesys_sleep_ms(100); + --loop; + } + + if (loop == 0) + { + /* when we come here then the user needed to much time for this */ + DBG(DBG_error, "%s: timeout while waiting for document\n", __func__); + return SANE_STATUS_IO_ERROR; + } + + DBG(DBG_proc, "%s: finished\n", __func__); + return SANE_STATUS_GOOD; +} + +/** + * detects end of document and adjust current scan + * to take it into account + * used by sheetfed scanners + */ +static SANE_Status +gl841_detect_document_end (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + SANE_Bool paper_loaded; + unsigned int scancnt = 0, lincnt, postcnt; + uint8_t val; + size_t total_bytes_to_read; + + DBG(DBG_proc, "%s: begin\n", __func__); + + RIE (gl841_get_paper_sensor (dev, &paper_loaded)); + + /* sheetfed scanner uses home sensor as paper present */ + if ((dev->document == SANE_TRUE) && !paper_loaded) + { + DBG(DBG_info, "%s: no more document\n", __func__); + dev->document = SANE_FALSE; + + /* we can't rely on total_bytes_to_read since the frontend + * might have been slow to read data, so we re-evaluate the + * amount of data to scan form the hardware settings + */ + try { + status = sanei_genesys_read_scancnt(dev, &scancnt); + } catch (...) { + dev->total_bytes_to_read = dev->total_bytes_read; + dev->read_bytes_left = 0; + throw; + } + + if(status!=SANE_STATUS_GOOD) + { + dev->total_bytes_to_read = dev->total_bytes_read; + dev->read_bytes_left = 0; + DBG(DBG_proc, "%s: finished\n", __func__); + return SANE_STATUS_GOOD; + } + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS && dev->model->is_cis) + { + scancnt/=3; + } + DBG(DBG_io, "%s: scancnt=%u lines\n", __func__, scancnt); + + RIE(sanei_genesys_read_register(dev, 0x25, &val)); + lincnt=65536*val; + RIE(sanei_genesys_read_register(dev, 0x26, &val)); + lincnt+=256*val; + RIE(sanei_genesys_read_register(dev, 0x27, &val)); + lincnt+=val; + DBG(DBG_io, "%s: lincnt=%u lines\n", __func__, lincnt); + postcnt=(SANE_UNFIX(dev->model->post_scan)/MM_PER_INCH)*dev->settings.yres; + DBG(DBG_io, "%s: postcnt=%u lines\n", __func__, postcnt); + + /* the current scancnt is also the final one, so we use it to + * compute total bytes to read. We also add the line count to eject document */ + total_bytes_to_read=(scancnt+postcnt)*dev->wpl; + + DBG(DBG_io, "%s: old total_bytes_to_read=%u\n", __func__, + (unsigned int)dev->total_bytes_to_read); + DBG(DBG_io, "%s: new total_bytes_to_read=%u\n", __func__, (unsigned int)total_bytes_to_read); + + /* assign new end value */ + if(dev->total_bytes_to_read>total_bytes_to_read) + { + DBG(DBG_io, "%s: scan shorten\n", __func__); + dev->total_bytes_to_read=total_bytes_to_read; + } + } + + DBG(DBG_proc, "%s: finished\n", __func__); + return SANE_STATUS_GOOD; +} + +/* Send the low-level scan command */ +/* todo : is this that useful ? */ +static SANE_Status +gl841_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, + SANE_Bool start_motor) +{ + (void) sensor; + SANE_Status status = SANE_STATUS_GOOD; + // FIXME: SEQUENTIAL not really needed in this case + Genesys_Register_Set local_reg(Genesys_Register_Set::SEQUENTIAL); + uint8_t val; + + DBG(DBG_proc, "%s\n", __func__); + + if (dev->model->gpo_type == GPO_CANONLIDE80) + { + RIE (sanei_genesys_read_register (dev, REG6B, &val)); + val = REG6B_GPO18; + RIE (sanei_genesys_write_register (dev, REG6B, val)); + } + + if (dev->model->ccd_type != CCD_PLUSTEK_3600) { + local_reg.init_reg(0x03, sanei_genesys_read_reg_from_set(reg, 0x03) | REG03_LAMPPWR); + } else { + // TODO PLUSTEK_3600: why ?? + local_reg.init_reg(0x03, sanei_genesys_read_reg_from_set(reg, 0x03)); + } + + local_reg.init_reg(0x01, sanei_genesys_read_reg_from_set(reg, 0x01) | REG01_SCAN); /* set scan bit */ + local_reg.init_reg(0x0d, 0x01); + + if (start_motor) { + local_reg.init_reg(0x0f, 0x01); + } else { + // do not start motor yet + local_reg.init_reg(0x0f, 0x00); + } + + status = sanei_genesys_bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_proc, "%s: completed\n", __func__); + + return status; +} + + +/* Send the stop scan command */ +static SANE_Status +gl841_end_scan (Genesys_Device * dev, Genesys_Register_Set __sane_unused__ * reg, + SANE_Bool check_stop) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s (check_stop = %d)\n", __func__, check_stop); + + if (dev->model->is_sheetfed == SANE_TRUE) + { + status = SANE_STATUS_GOOD; + } + else /* flat bed scanners */ + { + status = gl841_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + DBG(DBG_proc, "%s: completed\n", __func__); + + return status; +} + +/* Moves the slider to steps */ +static SANE_Status +gl841_feed (Genesys_Device * dev, int steps) +{ + Genesys_Register_Set local_reg; + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + int loop; + + DBG(DBG_proc, "%s (steps = %d)\n", __func__, steps); + + status = gl841_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop action: %s\n", __func__, sane_strstatus(status)); + return status; + } + + // FIXME: we should pick sensor according to the resolution scanner is currently operating on + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + local_reg = dev->reg; + + gl841_init_optical_regs_off(&local_reg); + + gl841_init_motor_regs(dev, sensor, &local_reg, steps,MOTOR_ACTION_FEED,0); + + status = sanei_genesys_bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + try { + status = gl841_start_action (dev); + } catch (...) { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + try { + gl841_stop_action (dev); + } catch (...) {} + try { + // send original registers + sanei_genesys_bulk_write_register(dev, dev->reg); + } catch (...) {} + throw; + } + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + gl841_stop_action (dev); + /* send original registers */ + sanei_genesys_bulk_write_register(dev, dev->reg); + return status; + } + + loop = 0; + while (loop < 300) /* do not wait longer then 30 seconds */ + { + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + return status; + } + + if (!(val & REG41_MOTORENB)) /* motor enabled */ + { + DBG(DBG_proc, "%s: finished\n", __func__); + dev->scanhead_position_in_steps += steps; + return SANE_STATUS_GOOD; + } + sanei_genesys_sleep_ms(100); + ++loop; + } + + /* when we come here then the scanner needed too much time for this, so we better stop the motor */ + gl841_stop_action (dev); + + DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); + return SANE_STATUS_IO_ERROR; +} + +/* Moves the slider to the home (top) position slowly */ +static SANE_Status +gl841_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) +{ + Genesys_Register_Set local_reg; + SANE_Status status = SANE_STATUS_GOOD; + GenesysRegister *r; + uint8_t val; + int loop = 0; + + DBG(DBG_proc, "%s (wait_until_home = %d)\n", __func__, wait_until_home); + + if (dev->model->is_sheetfed == SANE_TRUE) + { + DBG(DBG_proc, "%s: there is no \"home\"-concept for sheet fed\n", __func__); + DBG(DBG_proc, "%s: finished\n", __func__); + return SANE_STATUS_GOOD; + } + + /* reset gpio pin */ + if (dev->model->gpo_type == GPO_CANONLIDE35) + { + RIE (sanei_genesys_read_register (dev, REG6C, &val)); + val = dev->gpo.value[0]; + RIE (sanei_genesys_write_register (dev, REG6C, val)); + } + if (dev->model->gpo_type == GPO_CANONLIDE80) + { + RIE (sanei_genesys_read_register (dev, REG6B, &val)); + val = REG6B_GPO18 | REG6B_GPO17; + RIE (sanei_genesys_write_register (dev, REG6B, val)); + } + gl841_save_power(dev, SANE_FALSE); + + /* first read gives HOME_SENSOR true */ + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + sanei_genesys_sleep_ms(100); + + /* second is reliable */ + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + + dev->scanhead_position_in_steps = 0; + + if (val & REG41_HOMESNR) /* is sensor at home? */ + { + DBG(DBG_info, "%s: already at home, completed\n", __func__); + dev->scanhead_position_in_steps = 0; + return SANE_STATUS_GOOD; + } + + /* end previous scan if any */ + r = sanei_genesys_get_address(&dev->reg, REG01); + r->value &= ~REG01_SCAN; + status = sanei_genesys_write_register (dev, REG01, r->value); + + /* if motor is on, stop current action */ + if (val & REG41_MOTORENB) + { + status = gl841_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop motor: %s\n", __func__, sane_strstatus(status)); + return SANE_STATUS_IO_ERROR; + } + } + + local_reg = dev->reg; + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + gl841_init_motor_regs(dev, sensor, &local_reg, 65536,MOTOR_ACTION_GO_HOME,0); + + /* set up for reverse and no scan */ + r = sanei_genesys_get_address(&local_reg, REG02); + r->value |= REG02_MTRREV; + r = sanei_genesys_get_address(&local_reg, REG01); + r->value &= ~REG01_SCAN; + + RIE (sanei_genesys_bulk_write_register(dev, local_reg)); + + try { + status = gl841_start_action (dev); + } catch (...) { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + try { + gl841_stop_action(dev); + } catch (...) {} + try { + sanei_genesys_bulk_write_register(dev, dev->reg); + } catch (...) {} + throw; + } + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + gl841_stop_action (dev); + /* send original registers */ + sanei_genesys_bulk_write_register(dev, dev->reg); + return status; + } + + if (wait_until_home) + { + while (loop < 300) /* do not wait longer then 30 seconds */ + { + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + if (val & REG41_HOMESNR) /* home sensor */ + { + DBG(DBG_info, "%s: reached home position\n", __func__); + DBG(DBG_proc, "%s: finished\n", __func__); + return SANE_STATUS_GOOD; + } + sanei_genesys_sleep_ms(100); + ++loop; + } + + /* when we come here then the scanner needed too much time for this, so we better stop the motor */ + gl841_stop_action (dev); + DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); + return SANE_STATUS_IO_ERROR; + } + + DBG(DBG_info, "%s: scanhead is still moving\n", __func__); + DBG(DBG_proc, "%s: finished\n", __func__); + return SANE_STATUS_GOOD; +} + +/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels + area at 600 dpi from very top of scanner */ +static SANE_Status +gl841_search_start_position (Genesys_Device * dev) +{ + int size; + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Register_Set local_reg; + int steps; + + int pixels = 600; + int dpi = 300; + + DBGSTART; + + local_reg = dev->reg; + + /* sets for a 200 lines * 600 pixels */ + /* normal scan with no shading */ + + // FIXME: the current approach of doing search only for one resolution does not work on scanners + // whith employ different sensors with potentially different settings. + auto& sensor = sanei_genesys_find_sensor_for_write(dev, dpi); + + SetupParams params; + params.xres = dpi; + params.yres = dpi; + params.startx = 0; + params.starty = 0; /*we should give a small offset here~60 steps*/ + params.pixels = 600; + params.lines = dev->model->search_lines; + params.depth = 8; + params.channels = 1; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::GRAY; + params.color_filter = ColorFilter::GREEN; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_IGNORE_LINE_DISTANCE | + SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE; + + status = gl841_init_scan_regs(dev, sensor, &local_reg, params); + + if(status!=SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to init scan registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* send to scanner */ + status = sanei_genesys_bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + size = pixels * dev->model->search_lines; + + std::vector data(size); + + status = gl841_begin_scan(dev, sensor, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* waits for valid data */ + do + sanei_genesys_test_buffer_empty (dev, &steps); + while (steps); + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl841_search_position.pnm", data.data(), 8, 1, pixels, + dev->model->search_lines); + + status = gl841_end_scan(dev, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* update regs to copy ASIC internal state */ + dev->reg = local_reg; + +/*TODO: find out where sanei_genesys_search_reference_point + stores information, and use that correctly*/ + status = + sanei_genesys_search_reference_point (dev, sensor, data.data(), 0, dpi, pixels, + dev->model->search_lines); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set search reference point: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + return SANE_STATUS_GOOD; +} + +/* + * sets up register for coarse gain calibration + * todo: check it for scanners using it */ +static SANE_Status +gl841_init_regs_for_coarse_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t channels; + uint8_t cksel; + + DBGSTART; + + cksel = (regs.find_reg(0x18).value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ + + /* set line size */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else { + channels = 1; + } + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = 0; + params.starty = 0; + params.pixels = sensor.optical_res / cksel; /* XXX STEF XXX !!! */ + params.lines = 20; + params.depth = 16; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = dev->settings.scan_mode; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl841_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, + sensor.optical_res / cksel, dev->settings.xres); + + status = sanei_genesys_bulk_write_register(dev, regs); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + +/* if (DBG_LEVEL >= DBG_info) + sanei_gl841_print_registers (regs);*/ + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/* init registers for shading calibration */ +static SANE_Status +gl841_init_regs_for_shading(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + SANE_Int ydpi; + float starty=0; + + DBGSTART; + DBG(DBG_proc, "%s: lines = %d\n", __func__, (int)(dev->calib_lines)); + + /* initial calibration reg values */ + regs = dev->reg; + + ydpi = dev->motor.base_ydpi; + if (dev->model->motor_type == MOTOR_PLUSTEK_3600) /* TODO PLUSTEK_3600: 1200dpi not yet working, produces dark bar */ + { + ydpi = 600; + } + if (dev->model->motor_type == MOTOR_CANONLIDE80) + { + ydpi = gl841_get_dpihw(dev); + /* get over extra dark area for this model. + It looks like different devices have dark areas of different width + due to manufacturing variability. The initial value of starty was 140, + but it moves the sensor almost past the dark area completely in places + on certain devices. + + On a particular device the black area starts at roughly position + 160 to 230 depending on location (the dark area is not completely + parallel to the frame). + */ + starty = 70; + } + + dev->calib_channels = 3; + dev->calib_lines = dev->model->shading_lines; + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = ydpi; + params.startx = 0; + params.starty = starty; + params.pixels = (sensor.sensor_pixels * dev->settings.xres) / sensor.optical_res; + params.lines = dev->calib_lines; + params.depth = 16; + params.channels = dev->calib_channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_USE_OPTICAL_RES | + /*SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE |*/ + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl841_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + dev->calib_pixels = dev->current_setup.pixels; + dev->scanhead_position_in_steps += dev->calib_lines + starty; + + status = sanei_genesys_bulk_write_register(dev, regs); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/* set up registers for the actual scan + */ +static SANE_Status +gl841_init_regs_for_scan (Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int channels; + int flags; + int depth; + float move; + int move_dpi; + float start; + + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, dev->settings); + +/* channels */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else + channels = 1; + +/* depth */ + depth = dev->settings.depth; + if (dev->settings.scan_mode == ScanColorMode::LINEART) + depth = 1; + + + /* steps to move to reach scanning area: + - first we move to physical start of scanning + either by a fixed steps amount from the black strip + or by a fixed amount from parking position, + minus the steps done during shading calibration + - then we move by the needed offset whitin physical + scanning area + + assumption: steps are expressed at maximum motor resolution + + we need: + SANE_Fixed y_offset; + SANE_Fixed y_size; + SANE_Fixed y_offset_calib; + mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ + + /* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is + relative from origin, else, it is from parking position */ + + move_dpi = dev->motor.base_ydpi; + + move = 0; + if (dev->model->flags & GENESYS_FLAG_SEARCH_START) + { + move += SANE_UNFIX (dev->model->y_offset_calib); + } + + DBG(DBG_info, "%s move=%f steps\n", __func__, move); + + move += SANE_UNFIX (dev->model->y_offset); + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + move += dev->settings.tl_y; + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + move = (move * move_dpi) / MM_PER_INCH; + +/* start */ + start = SANE_UNFIX (dev->model->x_offset); + + start += dev->settings.tl_x; + + start = (start * sensor.optical_res) / MM_PER_INCH; + + flags=0; + + /* we enable true gray for cis scanners only, and just when doing + * scan since color calibration is OK for this mode + */ + flags = 0; + + /* true gray (led add for cis scanners) */ + if(dev->model->is_cis && dev->settings.true_gray + && dev->settings.scan_mode != ScanColorMode::COLOR_SINGLE_PASS + && dev->model->ccd_type != CIS_CANONLIDE80) + { + // on Lide 80 the LEDADD bit results in only red LED array being lit + DBG(DBG_io, "%s: activating LEDADD\n", __func__); + flags |= SCAN_FLAG_ENABLE_LEDADD; + } + + /* enable emulated lineart from gray data */ + if(dev->settings.scan_mode == ScanColorMode::LINEART + && dev->settings.dynamic_lineart) + { + flags |= SCAN_FLAG_DYNAMIC_LINEART; + } + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = start; + params.starty = move; + params.pixels = dev->settings.pixels; + params.lines = dev->settings.lines; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = dev->settings.scan_mode; + params.color_filter = dev->settings.color_filter; + params.flags = flags; + + status = gl841_init_scan_regs(dev, sensor, &dev->reg, params); + + if (status != SANE_STATUS_GOOD) + return status; + + + DBG(DBG_proc, "%s: completed\n", __func__); + return SANE_STATUS_GOOD; +} + +/* + * this function sends generic gamma table (ie linear ones) + * or the Sensor specific one if provided + */ +static SANE_Status +gl841_send_gamma_table(Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int size; + SANE_Status status = SANE_STATUS_GOOD; + + DBGSTART; + + size = 256; + + /* allocate temporary gamma tables: 16 bits words, 3 channels */ + std::vector gamma(size * 2 * 3); + + RIE(sanei_genesys_generate_gamma_buffer(dev, sensor, 16, 65535, size, gamma.data())); + + /* send address */ + status = gl841_set_buffer_address_gamma (dev, 0x00000); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* send data */ + status = sanei_genesys_bulk_write_data(dev, 0x28, gamma.data(), size * 2 * 3); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send gamma table: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/* this function does the led calibration by scanning one line of the calibration + area below scanner's top on white strip. + +-needs working coarse/gain +*/ +static SANE_Status +gl841_led_calibration (Genesys_Device * dev, Genesys_Sensor& sensor, Genesys_Register_Set& regs) +{ + int num_pixels; + int total_size; + int i, j; + SANE_Status status = SANE_STATUS_GOOD; + int val; + int channels; + int avg[3], avga, avge; + int turn; + uint16_t exp[3], target; + int move; + + SANE_Bool acceptable = SANE_FALSE; + + /* these 2 boundaries should be per sensor */ + uint16_t min_exposure=500; + uint16_t max_exposure; + + DBGSTART; + + /* feed to white strip if needed */ + if (dev->model->y_offset_calib>0) + { + move = SANE_UNFIX (dev->model->y_offset_calib); + move = (move * (dev->motor.base_ydpi)) / MM_PER_INCH; + DBG(DBG_io, "%s: move=%d lines\n", __func__, move); + status = gl841_feed(dev, move); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to feed: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + /* offset calibration is always done in color mode */ + channels = 3; + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = 0; + params.starty = 0; + params.pixels = (sensor.sensor_pixels*dev->settings.xres) / sensor.optical_res; + params.lines = 1; + params.depth = 16; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE | + SCAN_FLAG_USE_OPTICAL_RES; + + status = gl841_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + RIE(sanei_genesys_bulk_write_register(dev, regs)); + + num_pixels = dev->current_setup.pixels; + + total_size = num_pixels * channels * 2 * 1; /* colors * bytes_per_color * scan lines */ + + std::vector line(total_size); + +/* + we try to get equal bright leds here: + + loop: + average per color + adjust exposure times + */ + + exp[0] = sensor.exposure.red; + exp[1] = sensor.exposure.green; + exp[2] = sensor.exposure.blue; + + turn = 0; + /* max exposure is set to ~2 time initial average + * exposure, or 2 time last calibration exposure */ + max_exposure=((exp[0]+exp[1]+exp[2])/3)*2; + target=sensor.gain_white_ref*256; + + do { + sensor.exposure.red = exp[0]; + sensor.exposure.green = exp[1]; + sensor.exposure.blue = exp[2]; + + sanei_genesys_set_exposure(regs, sensor.exposure); + RIE(sanei_genesys_write_register(dev, 0x10, (sensor.exposure.red >> 8) & 0xff)); + RIE(sanei_genesys_write_register(dev, 0x11, sensor.exposure.red & 0xff)); + RIE(sanei_genesys_write_register(dev, 0x12, (sensor.exposure.green >> 8) & 0xff)); + RIE(sanei_genesys_write_register(dev, 0x13, sensor.exposure.green & 0xff)); + RIE(sanei_genesys_write_register(dev, 0x14, (sensor.exposure.blue >> 8) & 0xff)); + RIE(sanei_genesys_write_register(dev, 0x15, sensor.exposure.blue & 0xff)); + + RIE(sanei_genesys_bulk_write_register(dev, regs)); + + DBG(DBG_info, "%s: starting line reading\n", __func__); + RIE(gl841_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); + + if (DBG_LEVEL >= DBG_data) { + char fn[30]; + snprintf(fn, 30, "gl841_led_%d.pnm", turn); + sanei_genesys_write_pnm_file(fn, line.data(), 16, channels, num_pixels, 1); + } + + /* compute average */ + for (j = 0; j < channels; j++) + { + avg[j] = 0; + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * num_pixels + 1] * 256 + + line[i * 2 + j * 2 * num_pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + avg[j] += val; + } + + avg[j] /= num_pixels; + } + + DBG(DBG_info,"%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); + + acceptable = SANE_TRUE; + + /* exposure is acceptable if each color is in the %5 range + * of other color channels */ + if (avg[0] < avg[1] * 0.95 || avg[1] < avg[0] * 0.95 || + avg[0] < avg[2] * 0.95 || avg[2] < avg[0] * 0.95 || + avg[1] < avg[2] * 0.95 || avg[2] < avg[1] * 0.95) + { + acceptable = SANE_FALSE; + } + + /* led exposure is not acceptable if white level is too low + * ~80 hardcoded value for white level */ + if(avg[0]<20000 || avg[1]<20000 || avg[2]<20000) + { + acceptable = SANE_FALSE; + } + + /* for scanners using target value */ + if(target>0) + { + acceptable = SANE_TRUE; + for(i=0;i<3;i++) + { + /* we accept +- 2% delta from target */ + if(abs(avg[i]-target)>target/50) + { + exp[i]=(exp[i]*target)/avg[i]; + acceptable = SANE_FALSE; + } + } + } + else + { + if (!acceptable) + { + avga = (avg[0]+avg[1]+avg[2])/3; + exp[0] = (exp[0] * avga) / avg[0]; + exp[1] = (exp[1] * avga) / avg[1]; + exp[2] = (exp[2] * avga) / avg[2]; + /* + keep the resulting exposures below this value. + too long exposure drives the ccd into saturation. + we may fix this by relying on the fact that + we get a striped scan without shading, by means of + statistical calculation + */ + avge = (exp[0] + exp[1] + exp[2]) / 3; + + if (avge > max_exposure) { + exp[0] = (exp[0] * max_exposure) / avge; + exp[1] = (exp[1] * max_exposure) / avge; + exp[2] = (exp[2] * max_exposure) / avge; + } + if (avge < min_exposure) { + exp[0] = (exp[0] * min_exposure) / avge; + exp[1] = (exp[1] * min_exposure) / avge; + exp[2] = (exp[2] * min_exposure) / avge; + } + + } + } + + RIE (gl841_stop_action (dev)); + + turn++; + + } while (!acceptable && turn < 100); + + DBG(DBG_info,"%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0], exp[1], exp[2]); + + gl841_slow_back_home(dev, SANE_TRUE); + + DBGCOMPLETED; + return status; +} + +/** @brief calibration for AD frontend devices + * offset calibration assumes that the scanning head is on a black area + * For LiDE80 analog frontend + * 0x0003 : is gain and belongs to [0..63] + * 0x0006 : is offset + * We scan a line with no gain until average offset reaches the target + */ +static SANE_Status +ad_fe_offset_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + int num_pixels; + int total_size; + int i; + int average; + int turn; + int top; + int bottom; + int target; + + DBGSTART; + + /* don't impact 3600 behavior since we can't test it */ + if (dev->model->ccd_type == CCD_PLUSTEK_3600) + { + DBGCOMPLETED; + return status; + } + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = 0; + params.starty = 0; + params.pixels = (sensor.sensor_pixels*dev->settings.xres) / sensor.optical_res; + params.lines = 1; + params.depth = 8; + params.channels = 3; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE | + SCAN_FLAG_USE_OPTICAL_RES; + + status = gl841_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + num_pixels = dev->current_setup.pixels; + total_size = num_pixels * 3 * 2 * 1; + + std::vector line(total_size); + + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + + /* loop on scan until target offset is reached */ + turn=0; + target=24; + bottom=0; + top=255; + do { + /* set up offset mid range */ + dev->frontend.set_offset(0, (top + bottom) / 2); + dev->frontend.set_offset(1, (top + bottom) / 2); + dev->frontend.set_offset(2, (top + bottom) / 2); + + /* scan line */ + DBG(DBG_info, "%s: starting line reading\n", __func__); + sanei_genesys_bulk_write_register(dev, regs); + gl841_set_fe(dev, sensor, AFE_SET); + gl841_begin_scan(dev, sensor, ®s, SANE_TRUE); + sanei_genesys_read_data_from_scanner(dev, line.data(), total_size); + gl841_stop_action (dev); + if (DBG_LEVEL >= DBG_data) { + char fn[30]; + snprintf(fn, 30, "gl841_offset_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, line.data(), 8, 3, num_pixels, 1); + } + + /* search for minimal value */ + average=0; + for(i=0;itarget) + { + top=(top+bottom)/2; + } + else + { + bottom=(top+bottom)/2; + } + turn++; + } while ((top-bottom)>1 && turn < 100); + + // FIXME: don't overwrite the calibrated values + dev->frontend.set_offset(0, 0); + dev->frontend.set_offset(1, 0); + dev->frontend.set_offset(2, 0); + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); + DBGCOMPLETED; + return status; +} + +/* this function does the offset calibration by scanning one line of the calibration + area below scanner's top. There is a black margin and the remaining is white. + sanei_genesys_search_start() must have been called so that the offsets and margins + are allready known. + +this function expects the slider to be where? +*/ +static SANE_Status +gl841_offset_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + int num_pixels; + int total_size; + int i, j; + SANE_Status status = SANE_STATUS_GOOD; + int val; + int channels; + int off[3],offh[3],offl[3],off1[3],off2[3]; + int min1[3],min2[3]; + int cmin[3],cmax[3]; + int turn; + SANE_Bool acceptable = SANE_FALSE; + int mintgt = 0x400; + + DBG(DBG_proc, "%s\n", __func__); + + /* Analog Device fronted have a different calibration */ + if ((dev->reg.find_reg(0x04).value & REG04_FESET) == 0x02) + { + return ad_fe_offset_calibration(dev, sensor, regs); + } + + /* offset calibration is always done in color mode */ + channels = 3; + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = 0; + params.starty = 0; + params.pixels = (sensor.sensor_pixels*dev->settings.xres) / sensor.optical_res; + params.lines = 1; + params.depth = 16; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE | + SCAN_FLAG_USE_OPTICAL_RES | + SCAN_FLAG_DISABLE_LAMP; + + status = gl841_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + num_pixels = dev->current_setup.pixels; + + total_size = num_pixels * channels * 2 * 1; /* colors * bytes_per_color * scan lines */ + + std::vector first_line(total_size); + std::vector second_line(total_size); + + /* scan first line of data with no offset nor gain */ +/*WM8199: gain=0.73; offset=-260mV*/ +/*okay. the sensor black level is now at -260mV. we only get 0 from AFE...*/ +/* we should probably do real calibration here: + * -detect acceptable offset with binary search + * -calculate offset from this last version + * + * acceptable offset means + * - few completely black pixels(<10%?) + * - few completely white pixels(<10%?) + * + * final offset should map the minimum not completely black + * pixel to 0(16 bits) + * + * this does account for dummy pixels at the end of ccd + * this assumes slider is at black strip(which is not quite as black as "no + * signal"). + * + */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + offh[0] = 0xff; + offh[1] = 0xff; + offh[2] = 0xff; + offl[0] = 0x00; + offl[1] = 0x00; + offl[2] = 0x00; + turn = 0; + + do { + + RIE(sanei_genesys_bulk_write_register(dev, regs)); + + for (j=0; j < channels; j++) { + off[j] = (offh[j]+offl[j])/2; + dev->frontend.set_offset(j, off[j]); + } + + status = gl841_set_fe(dev, sensor, AFE_SET); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup frontend: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_info, "%s: starting first line reading\n", __func__); + RIE(gl841_begin_scan(dev, sensor, ®s, SANE_TRUE)); + + RIE(sanei_genesys_read_data_from_scanner (dev, first_line.data(), total_size)); + + if (DBG_LEVEL >= DBG_data) { + char fn[30]; + snprintf(fn, 30, "gl841_offset1_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, first_line.data(), 16, channels, num_pixels, 1); + } + + acceptable = SANE_TRUE; + + for (j = 0; j < channels; j++) + { + cmin[j] = 0; + cmax[j] = 0; + + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + first_line[i * 2 + j * 2 * num_pixels + 1] * 256 + + first_line[i * 2 + j * 2 * num_pixels]; + else + val = + first_line[i * 2 * channels + 2 * j + 1] * 256 + + first_line[i * 2 * channels + 2 * j]; + if (val < 10) + cmin[j]++; + if (val > 65525) + cmax[j]++; + } + + /* TODO the DP685 has a black strip in the middle of the sensor + * should be handled in a more elegant way , could be a bug */ + if (dev->model->ccd_type == CCD_DP685) + cmin[j] -= 20; + + if (cmin[j] > num_pixels/100) { + acceptable = SANE_FALSE; + if (dev->model->is_cis) + offl[0] = off[0]; + else + offl[j] = off[j]; + } + if (cmax[j] > num_pixels/100) { + acceptable = SANE_FALSE; + if (dev->model->is_cis) + offh[0] = off[0]; + else + offh[j] = off[j]; + } + } + + DBG(DBG_info,"%s: black/white pixels: %d/%d,%d/%d,%d/%d\n", __func__, cmin[0], cmax[0], + cmin[1], cmax[1], cmin[2], cmax[2]); + + if (dev->model->is_cis) { + offh[2] = offh[1] = offh[0]; + offl[2] = offl[1] = offl[0]; + } + + RIE(gl841_stop_action(dev)); + + turn++; + } while (!acceptable && turn < 100); + + DBG(DBG_info,"%s: acceptable offsets: %d,%d,%d\n", __func__, off[0], off[1], off[2]); + + + for (j = 0; j < channels; j++) + { + off1[j] = off[j]; + + min1[j] = 65536; + + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + first_line[i * 2 + j * 2 * num_pixels + 1] * 256 + + first_line[i * 2 + j * 2 * num_pixels]; + else + val = + first_line[i * 2 * channels + 2 * j + 1] * 256 + + first_line[i * 2 * channels + 2 * j]; + if (min1[j] > val && val >= 10) + min1[j] = val; + } + } + + + offl[0] = off[0]; + offl[1] = off[0]; + offl[2] = off[0]; + turn = 0; + + do { + + for (j=0; j < channels; j++) { + off[j] = (offh[j]+offl[j])/2; + dev->frontend.set_offset(j, off[j]); + } + + status = gl841_set_fe(dev, sensor, AFE_SET); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup frontend: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_info, "%s: starting second line reading\n", __func__); + RIE(sanei_genesys_bulk_write_register(dev, regs)); + RIE(gl841_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); + + if (DBG_LEVEL >= DBG_data) { + char fn[30]; + snprintf(fn, 30, "gl841_offset2_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, second_line.data(), 16, channels, num_pixels, 1); + } + + acceptable = SANE_TRUE; + + for (j = 0; j < channels; j++) + { + cmin[j] = 0; + cmax[j] = 0; + + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + second_line[i * 2 + j * 2 * num_pixels + 1] * 256 + + second_line[i * 2 + j * 2 * num_pixels]; + else + val = + second_line[i * 2 * channels + 2 * j + 1] * 256 + + second_line[i * 2 * channels + 2 * j]; + if (val < 10) + cmin[j]++; + if (val > 65525) + cmax[j]++; + } + + if (cmin[j] > num_pixels/100) { + acceptable = SANE_FALSE; + if (dev->model->is_cis) + offl[0] = off[0]; + else + offl[j] = off[j]; + } + if (cmax[j] > num_pixels/100) { + acceptable = SANE_FALSE; + if (dev->model->is_cis) + offh[0] = off[0]; + else + offh[j] = off[j]; + } + } + + DBG(DBG_info, "%s: black/white pixels: %d/%d,%d/%d,%d/%d\n", __func__, cmin[0], cmax[0], + cmin[1], cmax[1], cmin[2], cmax[2]); + + if (dev->model->is_cis) { + offh[2] = offh[1] = offh[0]; + offl[2] = offl[1] = offl[0]; + } + + RIE(gl841_stop_action (dev)); + + turn++; + + } while (!acceptable && turn < 100); + + DBG(DBG_info, "%s: acceptable offsets: %d,%d,%d\n", __func__, off[0], off[1], off[2]); + + + for (j = 0; j < channels; j++) + { + off2[j] = off[j]; + + min2[j] = 65536; + + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + second_line[i * 2 + j * 2 * num_pixels + 1] * 256 + + second_line[i * 2 + j * 2 * num_pixels]; + else + val = + second_line[i * 2 * channels + 2 * j + 1] * 256 + + second_line[i * 2 * channels + 2 * j]; + if (min2[j] > val && val != 0) + min2[j] = val; + } + } + + DBG(DBG_info, "%s: first set: %d/%d,%d/%d,%d/%d\n", __func__, off1[0], min1[0], off1[1], min1[1], + off1[2], min1[2]); + + DBG(DBG_info, "%s: second set: %d/%d,%d/%d,%d/%d\n", __func__, off2[0], min2[0], off2[1], min2[1], + off2[2], min2[2]); + +/* + calculate offset for each channel + based on minimal pixel value min1 at offset off1 and minimal pixel value min2 + at offset off2 + + to get min at off, values are linearly interpolated: + min=real+off*fact + min1=real+off1*fact + min2=real+off2*fact + + fact=(min1-min2)/(off1-off2) + real=min1-off1*(min1-min2)/(off1-off2) + + off=(min-min1+off1*(min1-min2)/(off1-off2))/((min1-min2)/(off1-off2)) + + off=(min*(off1-off2)+min1*off2-off1*min2)/(min1-min2) + + */ + for (j = 0; j < channels; j++) + { + if (min2[j]-min1[j] == 0) { +/*TODO: try to avoid this*/ + DBG(DBG_warn, "%s: difference too small\n", __func__); + if (mintgt * (off1[j] - off2[j]) + min1[j] * off2[j] - min2[j] * off1[j] >= 0) + off[j] = 0x0000; + else + off[j] = 0xffff; + } else + off[j] = (mintgt * (off1[j] - off2[j]) + min1[j] * off2[j] - min2[j] * off1[j])/(min1[j]-min2[j]); + if (off[j] > 255) + off[j] = 255; + if (off[j] < 0) + off[j] = 0; + dev->frontend.set_offset(j, off[j]); + } + + DBG(DBG_info, "%s: final offsets: %d,%d,%d\n", __func__, off[0], off[1], off[2]); + + if (dev->model->is_cis) { + if (off[0] < off[1]) + off[0] = off[1]; + if (off[0] < off[2]) + off[0] = off[2]; + dev->frontend.set_offset(0, off[0]); + dev->frontend.set_offset(1, off[0]); + dev->frontend.set_offset(2, off[0]); + } + + if (channels == 1) + { + dev->frontend.set_offset(1, dev->frontend.get_offset(0)); + dev->frontend.set_offset(2, dev->frontend.get_offset(0)); + } + + DBG(DBG_proc, "%s: completed\n", __func__); + return status; +} + + +/* alternative coarse gain calibration + this on uses the settings from offset_calibration and + uses only one scanline + */ +/* + with offset and coarse calibration we only want to get our input range into + a reasonable shape. the fine calibration of the upper and lower bounds will + be done with shading. + */ +static SANE_Status +gl841_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) +{ + int num_pixels; + int total_size; + int i, j, channels; + SANE_Status status = SANE_STATUS_GOOD; + int max[3]; + float gain[3]; + int val; + int lines=1; + int move; + + DBG(DBG_proc, "%s: dpi=%d\n", __func__, dpi); + + /* feed to white strip if needed */ + if (dev->model->y_offset_calib>0) + { + move = SANE_UNFIX (dev->model->y_offset_calib); + move = (move * (dev->motor.base_ydpi)) / MM_PER_INCH; + DBG(DBG_io, "%s: move=%d lines\n", __func__, move); + status = gl841_feed(dev, move); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to feed: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + /* coarse gain calibration is allways done in color mode */ + channels = 3; + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = 0; + params.starty = 0; + params.pixels = (sensor.sensor_pixels*dev->settings.xres) / sensor.optical_res; + params.lines = lines; + params.depth = 16; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE | + SCAN_FLAG_USE_OPTICAL_RES; + + status = gl841_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + RIE(sanei_genesys_bulk_write_register(dev, regs)); + + num_pixels = dev->current_setup.pixels; + + total_size = num_pixels * channels * 2 * lines; /* colors * bytes_per_color * scan lines */ + + std::vector line(total_size); + + RIE(gl841_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); + + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl841_gain.pnm", line.data(), 16, channels, num_pixels, lines); + + /* average high level for each channel and compute gain + to reach the target code + we only use the central half of the CCD data */ + for (j = 0; j < channels; j++) + { + max[j] = 0; + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * num_pixels + 1] * 256 + + line[i * 2 + j * 2 * num_pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + + if (val > max[j]) + max[j] = val; + } + + gain[j] = 65535.0/max[j]; + + uint8_t out_gain = 0; + + if (dev->model->dac_type == DAC_CANONLIDE35 || + dev->model->dac_type == DAC_WOLFSON_XP300 || + dev->model->dac_type == DAC_WOLFSON_DSM600) + { + gain[j] *= 0.69;/*seems we don't get the real maximum. empirically derived*/ + if (283 - 208/gain[j] > 255) + out_gain = 255; + else if (283 - 208/gain[j] < 0) + out_gain = 0; + else + out_gain = 283 - 208/gain[j]; + } + else if (dev->model->dac_type == DAC_CANONLIDE80) + { + out_gain = gain[j]*12; + } + dev->frontend.set_gain(j, out_gain); + + DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], gain[j], + out_gain); + } + + for (j = 0; j < channels; j++) + { + if(gain[j] > 10) + { + DBG (DBG_error0, "**********************************************\n"); + DBG (DBG_error0, "**********************************************\n"); + DBG (DBG_error0, "**** ****\n"); + DBG (DBG_error0, "**** Extremely low Brightness detected. ****\n"); + DBG (DBG_error0, "**** Check the scanning head is ****\n"); + DBG (DBG_error0, "**** unlocked and moving. ****\n"); + DBG (DBG_error0, "**** ****\n"); + DBG (DBG_error0, "**********************************************\n"); + DBG (DBG_error0, "**********************************************\n"); + return SANE_STATUS_JAMMED; + } + + } + + if (dev->model->is_cis) { + uint8_t gain0 = dev->frontend.get_gain(0); + if (gain0 > dev->frontend.get_gain(1)) { + gain0 = dev->frontend.get_gain(1); + } + if (gain0 > dev->frontend.get_gain(2)) { + gain0 = dev->frontend.get_gain(2); + } + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain0); + dev->frontend.set_gain(2, gain0); + } + + if (channels == 1) { + dev->frontend.set_gain(0, dev->frontend.get_gain(1)); + dev->frontend.set_gain(2, dev->frontend.get_gain(1)); + } + + DBG(DBG_info, "%s: gain=(%d,%d,%d)\n", __func__, + dev->frontend.get_gain(0), + dev->frontend.get_gain(1), + dev->frontend.get_gain(2)); + + RIE (gl841_stop_action (dev)); + + gl841_slow_back_home(dev, SANE_TRUE); + + DBGCOMPLETED; + return status; +} + +/* + * wait for lamp warmup by scanning the same line until difference + * between 2 scans is below a threshold + */ +static SANE_Status +gl841_init_regs_for_warmup (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * local_reg, + int *channels, int *total_size) +{ + int num_pixels = (int) (4 * 300); + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s\n", __func__); + + *local_reg = dev->reg; + +/* okay.. these should be defaults stored somewhere */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + dev->frontend.set_offset(0, 0x80); + dev->frontend.set_offset(1, 0x80); + dev->frontend.set_offset(2, 0x80); + + SetupParams params; + params.xres = sensor.optical_res; + params.yres = dev->settings.yres; + params.startx = sensor.dummy_pixel; + params.starty = 0; + params.pixels = num_pixels; + params.lines = 1; + params.depth = 16; + params.channels = *channels; + params.scan_method = dev->settings.scan_method; + if (*channels == 3) { + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + } else { + params.scan_mode = ScanColorMode::GRAY; + } + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE | + SCAN_FLAG_USE_OPTICAL_RES; + + status = gl841_init_scan_regs(dev, sensor, local_reg, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + num_pixels = dev->current_setup.pixels; + + *total_size = num_pixels * 3 * 2 * 1; /* colors * bytes_per_color * scan lines */ + + RIE(sanei_genesys_bulk_write_register(dev, *local_reg)); + + return status; +} + + +/* + * this function moves head without scanning, forward, then backward + * so that the head goes to park position. + * as a by-product, also check for lock + */ +static SANE_Status +sanei_gl841_repark_head (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s\n", __func__); + + status = gl841_feed(dev,232); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to feed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* toggle motor flag, put an huge step number and redo move backward */ + status = gl841_slow_back_home (dev, SANE_TRUE); + DBG(DBG_proc, "%s: completed\n", __func__); + return status; +} + +static bool +gl841_is_compatible_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Calibration_Cache *cache, + int for_overwrite) +{ +#ifdef HAVE_SYS_TIME_H + struct timeval time; +#endif + + DBGSTART; + + /* calibration cache not working yet for this model */ + if (dev->model->ccd_type == CCD_PLUSTEK_3600) + { + return false; + } + + gl841_calculate_current_setup (dev, sensor); + + DBG(DBG_proc, "%s: checking\n", __func__); + + if (dev->current_setup.ccd_size_divisor != cache->used_setup.ccd_size_divisor) + return false; + + /* a cache entry expires after 30 minutes for non sheetfed scanners */ + /* this is not taken into account when overwriting cache entries */ +#ifdef HAVE_SYS_TIME_H + if(for_overwrite == SANE_FALSE) + { + gettimeofday (&time, NULL); + if ((time.tv_sec - cache->last_calibration > 30 * 60) + && (dev->model->is_sheetfed == SANE_FALSE)) + { + DBG(DBG_proc, "%s: expired entry, non compatible cache\n", __func__); + return false; + } + } +#endif + + DBGCOMPLETED; + return true; +} + +/* + * initialize ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home + */ +static SANE_Status +gl841_init (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + size_t size; + + DBG_INIT (); + DBGSTART; + + dev->scanhead_position_in_steps = 0; + + /* Check if the device has already been initialized and powered up */ + if (dev->already_initialized) + { + RIE (sanei_genesys_get_status (dev, &val)); + if (val & REG41_PWRBIT) + { + DBG(DBG_info, "%s: already initialized\n", __func__); + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + } + + dev->dark_average_data.clear(); + dev->white_average_data.clear(); + + dev->settings.color_filter = ColorFilter::RED; + + /* ASIC reset */ + RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); + RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); + + /* Set default values for registers */ + gl841_init_registers (dev); + + /* Write initial registers */ + RIE(sanei_genesys_bulk_write_register(dev, dev->reg)); + + /* Test ASIC and RAM */ + if (!(dev->model->flags & GENESYS_FLAG_LAZY_INIT)) + { + RIE (sanei_gl841_asic_test (dev)); + } + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + /* Set analog frontend */ + RIE (gl841_set_fe(dev, sensor, AFE_INIT)); + + /* Move home */ + RIE (gl841_slow_back_home (dev, SANE_TRUE)); + + /* Init shading data */ + RIE (sanei_genesys_init_shading_data(dev, sensor, sensor.sensor_pixels)); + + /* ensure head is correctly parked, and check lock */ + if (dev->model->flags & GENESYS_FLAG_REPARK) + { + status = sanei_gl841_repark_head (dev); + if (status != SANE_STATUS_GOOD) + { + if (status == SANE_STATUS_INVAL) + DBG(DBG_error0, "Your scanner is locked. Please move the lock switch to the unlocked " + "position\n"); + else + DBG(DBG_error, "%s: sanei_gl841_repark_head failed: %s\n", __func__, + sane_strstatus(status)); + return status; + } + } + + /* send gamma tables */ + status = gl841_send_gamma_table(dev, sensor); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send initial gamma tables: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + /* initial calibration reg values */ + Genesys_Register_Set& regs = dev->calib_reg; + regs = dev->reg; + + SetupParams params; + params.xres = 300; + params.yres = 300; + params.startx = 0; + params.starty = 0; + params.pixels = (16 * 300) / sensor.optical_res; + params.lines = 1; + params.depth = 16; + params.channels = 3; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = ColorFilter::RED; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE | + SCAN_FLAG_USE_OPTICAL_RES; + + status = gl841_init_scan_regs(dev, sensor, ®s, params); + + RIE(sanei_genesys_bulk_write_register(dev, regs)); + + size = dev->current_setup.pixels * 3 * 2 * 1; /* colors * bytes_per_color * scan lines */ + + std::vector line(size); + + DBG(DBG_info, "%s: starting dummy data reading\n", __func__); + RIE(gl841_begin_scan(dev, sensor, ®s, SANE_TRUE)); + + sanei_usb_set_timeout(1000);/* 1 second*/ + +/*ignore errors. next read will succeed*/ + sanei_genesys_read_data_from_scanner(dev, line.data(), size); + + sanei_usb_set_timeout(30 * 1000);/* 30 seconds*/ + + RIE (gl841_end_scan(dev, ®s, SANE_TRUE)); + + regs = dev->reg; + + /* Set powersaving (default = 15 minutes) */ + RIE (gl841_set_powersaving (dev, 15)); + dev->already_initialized = SANE_TRUE; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl841_update_hardware_sensors (Genesys_Scanner * s) +{ + /* do what is needed to get a new set of events, but try to not lose + any of them. + */ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + + if (s->dev->model->gpo_type == GPO_CANONLIDE35 + || s->dev->model->gpo_type == GPO_CANONLIDE80) + { + RIE(sanei_genesys_read_register(s->dev, REG6D, &val)); + s->buttons[BUTTON_SCAN_SW].write((val & 0x01) == 0); + s->buttons[BUTTON_FILE_SW].write((val & 0x02) == 0); + s->buttons[BUTTON_EMAIL_SW].write((val & 0x04) == 0); + s->buttons[BUTTON_COPY_SW].write((val & 0x08) == 0); + } + + if (s->dev->model->gpo_type == GPO_XP300 || + s->dev->model->gpo_type == GPO_DP665 || + s->dev->model->gpo_type == GPO_DP685) + { + RIE(sanei_genesys_read_register(s->dev, REG6D, &val)); + + s->buttons[BUTTON_PAGE_LOADED_SW].write((val & 0x01) == 0); + s->buttons[BUTTON_SCAN_SW].write((val & 0x02) == 0); + } + + return status; +} + +/** @brief search for a full width black or white strip. + * This function searches for a black or white stripe across the scanning area. + * When searching backward, the searched area must completely be of the desired + * color since this area will be used for calibration which scans forward. + * @param dev scanner device + * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward + * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip + * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not + */ +static SANE_Status +gl841_search_strip(Genesys_Device * dev, const Genesys_Sensor& sensor, + SANE_Bool forward, SANE_Bool black) +{ + unsigned int pixels, lines, channels; + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Register_Set local_reg; + size_t size; + int steps, depth, dpi; + unsigned int pass, count, found, x, y, length; + char title[80]; + GenesysRegister *r; + uint8_t white_level=90; /**< default white level to detect white dots */ + uint8_t black_level=60; /**< default black level to detect black dots */ + + DBG(DBG_proc, "%s %s %s\n", __func__, black ? "black" : "white", forward ? "forward" : "reverse"); + + /* use maximum gain when doing forward white strip detection + * since we don't have calibrated the sensor yet */ + if(!black && forward) + { + dev->frontend.set_gain(0, 0xff); + dev->frontend.set_gain(1, 0xff); + dev->frontend.set_gain(2, 0xff); + } + + gl841_set_fe(dev, sensor, AFE_SET); + status = gl841_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* set up for a gray scan at lowest dpi */ + dpi = 9600; + for (x = 0; x < MAX_RESOLUTIONS; x++) + { + if (dev->model->xdpi_values[x] > 0 && dev->model->xdpi_values[x] < dpi) + dpi = dev->model->xdpi_values[x]; + } + channels = 1; + + /* shading calibation is done with dev->motor.base_ydpi */ + /* lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; */ + lines = (10*dpi)/MM_PER_INCH; + + depth = 8; + pixels = (sensor.sensor_pixels * dpi) / sensor.optical_res; + size = pixels * channels * lines * (depth / 8); + std::vector data(size); + + /* 20 cm max length for calibration sheet */ + length = ((200 * dpi) / MM_PER_INCH)/lines; + + dev->scanhead_position_in_steps = 0; + + local_reg = dev->reg; + + SetupParams params; + params.xres = dpi; + params.yres = dpi; + params.startx = 0; + params.starty = 0; + params.pixels = pixels; + params.lines = lines; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::GRAY; + params.color_filter = ColorFilter::RED; + params.flags = SCAN_FLAG_DISABLE_SHADING | SCAN_FLAG_DISABLE_GAMMA; + + status = gl841_init_scan_regs(dev, sensor, &local_reg, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup for scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* set up for reverse or forward */ + r = sanei_genesys_get_address(&local_reg, 0x02); + if (forward) + r->value &= ~4; + else + r->value |= 4; + + + status = sanei_genesys_bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl841_begin_scan(dev, sensor, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* waits for valid data */ + do + sanei_genesys_test_buffer_empty (dev, &steps); + while (steps); + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl841_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: gl841_stop_action failed\n", __func__); + return status; + } + + pass = 0; + if (DBG_LEVEL >= DBG_data) + { + sprintf(title, "gl841_search_strip_%s_%s%02u.pnm", black ? "black" : "white", + forward ? "fwd" : "bwd", pass); + sanei_genesys_write_pnm_file(title, data.data(), depth, channels, pixels, lines); + } + + /* loop until strip is found or maximum pass number done */ + found = 0; + while (pass < length && !found) + { + status = sanei_genesys_bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + /* now start scan */ + status = gl841_begin_scan(dev, sensor, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error,"%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* waits for valid data */ + do + sanei_genesys_test_buffer_empty (dev, &steps); + while (steps); + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner (dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "g%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl841_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: gl841_stop_action failed\n", __func__); + return status; + } + + if (DBG_LEVEL >= DBG_data) + { + sprintf(title, "gl841_search_strip_%s_%s%02u.pnm", + black ? "black" : "white", forward ? "fwd" : "bwd", pass); + sanei_genesys_write_pnm_file(title, data.data(), depth, channels, pixels, lines); + } + + /* search data to find black strip */ + /* when searching forward, we only need one line of the searched color since we + * will scan forward. But when doing backward search, we need all the area of the + * same color */ + if (forward) + { + for (y = 0; y < lines && !found; y++) + { + count = 0; + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > white_level) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < black_level) + { + count++; + } + } + + /* at end of line, if count >= 3%, line is not fully of the desired color + * so we must go to next line of the buffer */ + /* count*100/pixels < 3 */ + if ((count * 100) / pixels < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, + pass, y); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + } + else /* since calibration scans are done forward, we need the whole area + to be of the required color when searching backward */ + { + count = 0; + for (y = 0; y < lines; y++) + { + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > white_level) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < black_level) + { + count++; + } + } + } + + /* at end of area, if count >= 3%, area is not fully of the desired color + * so we must go to next buffer */ + if ((count * 100) / (pixels * lines) < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + pass++; + } + + if (found) + { + status = SANE_STATUS_GOOD; + DBG(DBG_info, "%s: %s strip found\n", __func__, black ? "black" : "white"); + } + else + { + status = SANE_STATUS_UNSUPPORTED; + DBG(DBG_info, "%s: %s strip not found\n", __func__, black ? "black" : "white"); + } + + DBG(DBG_proc, "%s: completed\n", __func__); + return status; +} + +/** + * Send shading calibration data. The buffer is considered to always hold values + * for all the channels. + */ +static +SANE_Status +gl841_send_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, + uint8_t * data, int size) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint32_t length, x, factor, pixels, i; + uint32_t lines, channels; + uint16_t dpiset, dpihw, strpixel ,endpixel, beginpixel; + uint8_t *ptr,*src; + + DBGSTART; + DBG(DBG_io2, "%s: writing %d bytes of shading data\n", __func__, size); + + /* old method if no SHDAREA */ + if((dev->reg.find_reg(0x01).value & REG01_SHDAREA) == 0) + { + /* start address */ + status = sanei_genesys_set_buffer_address (dev, 0x0000); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + /* shading data whole line */ + status = dev->model->cmd_set->bulk_write_data (dev, 0x3c, data, size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send shading table: %s\n", __func__, + sane_strstatus(status)); + return status; + } + DBGCOMPLETED; + return status; + } + + /* data is whole line, we extract only the part for the scanned area */ + length = (uint32_t) (size / 3); + sanei_genesys_get_double(&dev->reg,REG_STRPIXEL,&strpixel); + sanei_genesys_get_double(&dev->reg,REG_ENDPIXEL,&endpixel); + DBG(DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d\n", __func__, strpixel, endpixel, + endpixel-strpixel); + + /* compute deletion/average factor */ + sanei_genesys_get_double(&dev->reg,REG_DPISET,&dpiset); + dpihw = gl841_get_dpihw(dev); + unsigned ccd_size_divisor = dev->current_setup.ccd_size_divisor; + factor=dpihw/dpiset; + DBG(DBG_io2, "%s: dpihw=%d, dpiset=%d, ccd_size_divisor=%d, factor=%d\n", __func__, dpihw, dpiset, + ccd_size_divisor, factor); + + /* binary data logging */ + if(DBG_LEVEL>=DBG_data) + { + dev->binary=fopen("binary.pnm","wb"); + sanei_genesys_get_triple(&dev->reg, REG_LINCNT, &lines); + channels=dev->current_setup.channels; + if(dev->binary!=NULL) + { + fprintf(dev->binary,"P5\n%d %d\n%d\n",(endpixel-strpixel)/factor*channels,lines/channels,255); + } + } + + /* turn pixel value into bytes 2x16 bits words */ + strpixel*=2*2; /* 2 words of 2 bytes */ + endpixel*=2*2; + pixels=endpixel-strpixel; + + /* shading pixel begin is start pixel minus start pixel during shading + * calibration. Currently only cases handled are full and half ccd resolution. + */ + beginpixel = sensor.CCD_start_xoffset / ccd_size_divisor; + beginpixel += sensor.dummy_pixel + 1; + DBG(DBG_io2, "%s: ORIGIN PIXEL=%d\n", __func__, beginpixel); + beginpixel = (strpixel-beginpixel*2*2)/factor; + DBG(DBG_io2, "%s: BEGIN PIXEL=%d\n", __func__, beginpixel/4); + + DBG(DBG_io2, "%s: using chunks of %d bytes (%d shading data pixels)\n", __func__, length, + length/4); + std::vector buffer(pixels, 0); + + /* write actual shading data contigously + * channel by channel, starting at addr 0x0000 + * */ + for(i=0;i<3;i++) + { + /* copy data to work buffer and process it */ + /* coefficent destination */ + ptr=buffer.data(); + + /* iterate on both sensor segment, data has been averaged, + * so is in the right order and we only have to copy it */ + for(x=0;xmodel->cmd_set->bulk_write_data(dev, 0x3c, buffer.data(), pixels)); + } + + DBGCOMPLETED; + + return status; +} + + +/** the gl841 command set */ +static Genesys_Command_Set gl841_cmd_set = { + "gl841-generic", /* the name of this set */ + + [](Genesys_Device* dev) -> bool { (void) dev; return true; }, + + gl841_init, + gl841_init_regs_for_warmup, + gl841_init_regs_for_coarse_calibration, + gl841_init_regs_for_shading, + gl841_init_regs_for_scan, + + gl841_get_filter_bit, + gl841_get_lineart_bit, + gl841_get_bitset_bit, + gl841_get_gain4_bit, + gl841_get_fast_feed_bit, + gl841_test_buffer_empty_bit, + gl841_test_motor_flag_bit, + + gl841_set_fe, + gl841_set_powersaving, + gl841_save_power, + + gl841_begin_scan, + gl841_end_scan, + + gl841_send_gamma_table, + + gl841_search_start_position, + + gl841_offset_calibration, + gl841_coarse_gain_calibration, + gl841_led_calibration, + + NULL, + gl841_slow_back_home, + NULL, + + sanei_genesys_bulk_write_register, + sanei_genesys_bulk_write_data, + sanei_genesys_bulk_read_data, + + gl841_update_hardware_sensors, + + gl841_load_document, + gl841_detect_document_end, + gl841_eject_document, + gl841_search_strip, + + gl841_is_compatible_calibration, + NULL, + gl841_send_shading_data, + gl841_calculate_current_setup, + NULL +}; + +SANE_Status +sanei_gl841_init_cmd_set (Genesys_Device * dev) +{ + dev->model->cmd_set = &gl841_cmd_set; + return SANE_STATUS_GOOD; +} diff --git a/backend/genesys_gl841.h b/backend/genesys_gl841.h index d1bd07e..3dbfc80 100644 --- a/backend/genesys_gl841.h +++ b/backend/genesys_gl841.h @@ -250,205 +250,14 @@ #define REG87_LEDADD 0x04 -enum -{ - reg_0x01 = 0, - reg_0x02, - reg_0x03, - reg_0x04, - reg_0x05, - reg_0x06, - reg_0x07, - reg_0x08, - reg_0x09, - reg_0x0a, - - reg_0x10, - reg_0x11, - reg_0x12, - reg_0x13, - reg_0x14, - reg_0x15, - reg_0x16, - reg_0x17, - reg_0x18, - reg_0x19, - reg_0x1a, - reg_0x1b, - reg_0x1c, - reg_0x1d, - reg_0x1e, - reg_0x1f, - reg_0x20, - reg_0x21, - reg_0x22, - reg_0x23, - reg_0x24, - reg_0x25, - reg_0x26, - reg_0x27, - - reg_0x29, - - reg_0x2c, - reg_0x2d, - reg_0x2e, - reg_0x2f, - reg_0x30, - reg_0x31, - reg_0x32, - reg_0x33, - reg_0x34, - reg_0x35, - reg_0x36, - reg_0x37, - reg_0x38, - reg_0x39, - - reg_0x3d, - reg_0x3e, - reg_0x3f, - - reg_0x52, - reg_0x53, - reg_0x54, - reg_0x55, - reg_0x56, - reg_0x57, - reg_0x58, - reg_0x59, - reg_0x5a, - - reg_0x5d, - reg_0x5e, - reg_0x5f, - reg_0x60, - reg_0x61, - reg_0x62, - reg_0x63, - reg_0x64, - reg_0x65, - reg_0x66, - reg_0x67, - reg_0x68, - reg_0x69, - reg_0x6a, - reg_0x6b, - reg_0x6c, - reg_0x6d, - reg_0x6e, - reg_0x6f, - reg_0x70, - reg_0x71, - reg_0x72, - reg_0x73, - reg_0x74, - reg_0x75, - reg_0x76, - reg_0x77, - reg_0x78, - reg_0x79, - reg_0x7a, - reg_0x7b, - reg_0x7c, - reg_0x7d, - reg_0x7e, - reg_0x7f, - reg_0x80, - reg_0x81, - reg_0x82, - reg_0x83, - reg_0x84, - reg_0x85, - reg_0x86, - reg_0x87, - reg_0x88, - reg_0x89, - GENESYS_GL841_MAX_REGS -}; - -#define INITREG(adr,val) {dev->reg[index].address=adr;dev->reg[index].value=val;index++;} +#define INITREG(adr,val) {dev->reg.init_reg(adr, val); } /** * prototypes declaration in case of unit testing */ -#ifdef UNIT_TESTING -SANE_Status -gl841_init_scan_regs (Genesys_Device * dev, - Genesys_Register_Set * reg, - float xres, - float yres, - float startx, - float starty, - float pixels, - float lines, - unsigned int depth, - unsigned int channels, - int color_filter, - unsigned int flags); - -SANE_Status -gl841_begin_scan (Genesys_Device * dev, - Genesys_Register_Set * reg, - SANE_Bool start_motor); - -SANE_Status -gl841_end_scan (Genesys_Device * dev, - Genesys_Register_Set __sane_unused__ * reg, - SANE_Bool check_stop); - -SANE_Status -gl841_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home); - -SANE_Status -sanei_gl841_repark_head (Genesys_Device * dev); - -SANE_Status -gl841_feed (Genesys_Device * dev, int steps); - -SANE_Status -gl841_init_motor_regs_scan(Genesys_Device * dev, - Genesys_Register_Set * reg, - unsigned int scan_exposure_time, - float scan_yres, - int scan_step_type, - unsigned int scan_lines, - unsigned int scan_dummy, - unsigned int feed_steps, - int scan_power_mode, - unsigned int flags) ; - -SANE_Status -gl841_stop_action (Genesys_Device * dev); - -SANE_Status -gl841_start_action (Genesys_Device * dev); - -SANE_Status -gl841_init_motor_regs(Genesys_Device * dev, - Genesys_Register_Set * reg, - unsigned int feed_steps, - unsigned int action, - unsigned int flags); - -SANE_Status gl841_send_slope_table (Genesys_Device * dev, int table_nr, uint16_t * slope_table, int steps); - -SANE_Status gl841_bulk_write_data_gamma (Genesys_Device * dev, uint8_t addr, uint8_t * data, size_t len); - -SANE_Status gl841_offset_calibration (Genesys_Device * dev); - -SANE_Status gl841_coarse_gain_calibration (Genesys_Device * dev, int dpi); - -SANE_Status gl841_led_calibration (Genesys_Device * dev); - -SANE_Status gl841_send_shading_data (Genesys_Device * dev, uint8_t * data, int size); - -int gl841_scan_step_type(Genesys_Device *dev, int yres); -SANE_Status gl841_write_freq(Genesys_Device *dev, unsigned int ydpi); -#endif - -GENESYS_STATIC -int gl841_exposure_time(Genesys_Device *dev, + +static +int gl841_exposure_time(Genesys_Device *dev, const Genesys_Sensor& sensor, float slope_dpi, int scan_step_type, int start, diff --git a/backend/genesys_gl843.c b/backend/genesys_gl843.c deleted file mode 100644 index b47fb7e..0000000 --- a/backend/genesys_gl843.c +++ /dev/null @@ -1,4477 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2010-2013 Stéphane Voltz - - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#undef BACKEND_NAME -#define BACKEND_NAME genesys_gl843 - -#include "genesys_gl843.h" - -/**************************************************************************** - Low level function - ****************************************************************************/ - -/* ------------------------------------------------------------------------ */ -/* Read and write RAM, registers and AFE */ -/* ------------------------------------------------------------------------ */ - - -/** - * Write bulk data (e.g. gamma or shading data) */ -static SANE_Status -gl843_bulk_write_data (Genesys_Device * dev, uint8_t addr, - uint8_t * data, size_t len) -{ - SANE_Status status; - size_t size; - uint8_t outdata[8]; - - DBGSTART; - DBG (DBG_io, "gl843_bulk_write_data writing %lu bytes\n", (u_long) len); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_REGISTER, - VALUE_SET_REGISTER, INDEX, 1, &addr); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_bulk_write_data failed while setting register: %s\n", - sane_strstatus (status)); - return status; - } - - while (len) - { - if(len>65472) - size=65472; - else - size = len; - - outdata[0] = BULK_OUT; - outdata[1] = BULK_RAM; - outdata[2] = 0x00; - outdata[3] = 0x00; - outdata[4] = (size & 0xff); - outdata[5] = ((size >> 8) & 0xff); - outdata[6] = ((size >> 16) & 0xff); - outdata[7] = ((size >> 24) & 0xff); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - VALUE_BUFFER, INDEX, sizeof (outdata), - outdata); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_bulk_write_data failed while writing command: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_usb_write_bulk (dev->dn, data, &size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_bulk_write_data failed while writing bulk data: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_io2, - "gl843_bulk_write_data: wrote %lu bytes, %lu remaining\n", - (u_long) size, (u_long) (len - size)); - - len -= size; - data += size; - } - - DBGCOMPLETED; - return status; -} - -/* Set address for writing data */ -static SANE_Status -gl843_set_buffer_address (Genesys_Device * dev, uint32_t addr) -{ - SANE_Status status; - - DBG (DBG_io, "gl843_set_buffer_address: setting address to 0x%05x\n", - addr & 0xffff); - - status = sanei_genesys_write_register (dev, 0x5b, ((addr >> 8) & 0xff)); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_set_buffer_address: failed while writing high byte: %s\n", - sane_strstatus (status)); - return status; - } - - status = sanei_genesys_write_register (dev, 0x5c, (addr & 0xff)); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_set_buffer_address: failed while writing low byte: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_io, "gl843_set_buffer_address: completed\n"); - - return status; -} - -/** - * writes a block of data to RAM - * @param dev USB device - * @param addr RAM address to write to - * @param size size of the chunk of data - * @param data pointer to the data to write - */ -static SANE_Status -write_data (Genesys_Device * dev, uint32_t addr, uint32_t size, - uint8_t * data) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - status = gl843_set_buffer_address (dev, addr); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "write_data: failed while setting address for bulk write data: %s\n", - sane_strstatus (status)); - return status; - } - - /* write actual data */ - status = gl843_bulk_write_data (dev, 0x28, data, size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "write_data: failed while writing bulk write data: %s\n", - sane_strstatus (status)); - return status; - } - - /* set back address to 0 */ - status = gl843_set_buffer_address (dev, 0); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "write_data: failed setting to default RAM address: %s\n", - sane_strstatus (status)); - return status; - } - DBGCOMPLETED; - return status; -} - - -static SANE_Status -gl843_bulk_read_data (Genesys_Device * dev, uint8_t addr, - uint8_t * data, size_t len) -{ - SANE_Status status; - size_t size; - uint8_t outdata[8]; - - DBGSTART; - DBG (DBG_io, - "gl843_bulk_read_data: requesting %lu bytes from 0x%02x addr\n", - (u_long) len, addr); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_REGISTER, - VALUE_SET_REGISTER, 0, 1, &addr); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "write_data: failed to set register address %s\n", - sane_strstatus (status)); - return status; - } - - if (len == 0) - return SANE_STATUS_GOOD; - - outdata[0] = BULK_IN; - outdata[1] = BULK_RAM; - outdata[2] = VALUE_BUFFER; - outdata[3] = 0; - outdata[4] = (len & 0xff); - outdata[5] = ((len >> 8) & 0xff); - outdata[6] = ((len >> 16) & 0xff); - outdata[7] = ((len >> 24) & 0xff); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - VALUE_BUFFER, INDEX, sizeof (outdata), outdata); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_bulk_read_data failed while writing command: %s\n", - sane_strstatus (status)); - return status; - } - - while (len) - { - if (len > 0xF000) - size = 0xF000; - else - size = len; - if (size >= 512) - { - size /= 512; - size *= 512; - } - - DBG (DBG_io2, - "gl843_bulk_read_data: trying to read %lu bytes of data\n", - (u_long) size); - - status = sanei_usb_read_bulk (dev->dn, data, &size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_bulk_read_data failed while reading bulk data: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_io2, - "gl843_bulk_read_data read %lu bytes, %lu remaining\n", - (u_long) size, (u_long) (len - size)); - - len -= size; - data += size; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/**************************************************************************** - Mid level functions - ****************************************************************************/ - -static SANE_Bool -gl843_get_fast_feed_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG02); - if (r && (r->value & REG02_FASTFED)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl843_get_filter_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_FILTER)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl843_get_lineart_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_LINEART)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl843_get_bitset_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_BITSET)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl843_get_gain4_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG06); - if (r && (r->value & REG06_GAIN4)) - return SANE_TRUE; - return SANE_FALSE; -} - -/** - * compute the step multiplier used - */ -static int -gl843_get_step_multiplier (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - int value = 1; - - r = sanei_genesys_get_address (regs, REG9D); - if (r != NULL) - { - switch (r->value & 0x0c) - { - case 0x04: - value = 2; - break; - case 0x08: - value = 4; - break; - default: - value = 1; - } - } - DBG (DBG_io, "%s: step multiplier is %d\n", __func__, value); - return value; -} - -static SANE_Bool -gl843_test_buffer_empty_bit (SANE_Byte val) -{ - if (val & REG41_BUFEMPTY) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl843_test_motor_flag_bit (SANE_Byte val) -{ - if (val & REG41_MOTORENB) - return SANE_TRUE; - return SANE_FALSE; -} - -/** @brief sensor profile - * search for the database of motor profiles and get the best one. Each - * profile is at a specific dpihw. Use first entry of table by default. - * @param sensor_type sensor id - * @param dpi hardware dpi for the scan - * @param flags to select between XPA, XPA+IR or regular scan from OPTICAL_FLAGS_* - * @return a pointer to a Sensor_Profile struct - */ -static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi, int flags) -{ - unsigned int i, count; - int idx; - Sensor_Profile *sp; - - if(flags & OPTICAL_FLAG_USE_XPA) - { - sp=xpa_sensors; - count=sizeof(xpa_sensors)/sizeof(Sensor_Profile); - } - else - { - sp=sensors; - count=sizeof(sensors)/sizeof(Sensor_Profile); - } - i=0; - idx=-1; - while(i=dpi - && sp[i].dpimodel->ccd_type, dpihw, flags); - - for (i = 0x06; i < 0x0e; i++) - { - r = sanei_genesys_get_address (regs, 0x10 + i); - if (r) - r->value = sensor->regs_0x10_0x1d[i]; - } - for (i = 0; i < 9; i++) - { - r = sanei_genesys_get_address (regs, 0x52 + i); - if (r) - r->value = sensor->regs_0x52_0x5e[i]; - } - - /* specific registers */ - r = sanei_genesys_get_address (regs, 0x0c); - if (r) - { - r->value = sensor->reg0c; - } - r = sanei_genesys_get_address (regs, 0x70); - if (r) - { - r->value = sensor->reg70; - } - r = sanei_genesys_get_address (regs, 0x71); - if (r) - { - r->value = sensor->reg71; - } - r = sanei_genesys_get_address (regs, 0x7d); - if (r) - { - if (!(dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE)) - { - r->value = 0x90; - } - } - r = sanei_genesys_get_address (regs, 0x9e); - if (r) - { - r->value = sensor->reg9e; - } - /* undocumented register */ - r = sanei_genesys_get_address (regs, 0xaa); - if (r) - { - r->value = sensor->regaa; - } - - /* CKxMAP */ - sanei_genesys_set_triple(regs,REG_CK1MAP,sensor->ck1map); - sanei_genesys_set_triple(regs,REG_CK3MAP,sensor->ck3map); - sanei_genesys_set_triple(regs,REG_CK4MAP,sensor->ck4map); - - DBGCOMPLETED; -} - - -/* returns the max register bulk size */ -static int -gl843_bulk_full_size (void) -{ - return GENESYS_GL843_MAX_REGS; -} - -/** @brief set all registers to default values . - * This function is called only once at the beginning and - * fills register startup values for registers reused across scans. - * Those that are rarely modified or not modified are written - * individually. - * @param dev device structure holding register set to initialize - */ -static void -gl843_init_registers (Genesys_Device * dev) -{ - DBGSTART; - - memset (dev->reg, 0, GENESYS_GL843_MAX_REGS * sizeof (Genesys_Register_Set)); - - /* default to KV-SS080 */ - SETREG (0xa2, 0x0f); - SETREG (0x01, 0x00); - SETREG (0x02, 0x78); - SETREG (0x03, 0x1f); - SETREG (0x04, 0x10); - SETREG (0x05, 0x80); - SETREG (0x06, 0xd8); /* SCANMOD=110, PWRBIT and GAIN4 */ - SETREG (0x08, 0x00); - SETREG (0x09, 0x00); - SETREG (0x0a, 0x00); - SETREG (0x0b, 0x6a); - SETREG (0x10, 0x00); - SETREG (0x11, 0x00); - SETREG (0x12, 0x00); - SETREG (0x13, 0x00); - SETREG (0x14, 0x00); - SETREG (0x15, 0x00); - SETREG (0x16, 0x33); - SETREG (0x17, 0x1c); - SETREG (0x18, 0x10); - SETREG (0x19, 0x2a); - SETREG (0x1a, 0x04); - SETREG (0x1b, 0x00); - SETREG (0x1c, 0x20); - SETREG (0x1d, 0x04); - SETREG (0x1e, 0x10); - SETREG (0x1f, 0x01); - SETREG (0x20, 0x10); - SETREG (0x21, 0x04); - SETREG (0x22, 0x01); - SETREG (0x23, 0x01); - SETREG (0x24, 0x04); - SETREG (0x25, 0x00); - SETREG (0x26, 0x00); - SETREG (0x27, 0x00); - SETREG (0x2c, 0x02); - SETREG (0x2d, 0x58); - SETREG (0x2e, 0x80); - SETREG (0x2f, 0x80); - SETREG (0x30, 0x00); - SETREG (0x31, 0x14); - SETREG (0x32, 0x27); - SETREG (0x33, 0xec); - SETREG (0x34, 0x24); - SETREG (0x35, 0x00); - SETREG (0x36, 0xff); - SETREG (0x37, 0xff); - SETREG (0x38, 0x55); - SETREG (0x39, 0xf0); - SETREG (0x3d, 0x00); - SETREG (0x3e, 0x00); - SETREG (0x3f, 0x01); - SETREG (0x52, 0x01); - SETREG (0x53, 0x04); - SETREG (0x54, 0x07); - SETREG (0x55, 0x0a); - SETREG (0x56, 0x0d); - SETREG (0x57, 0x10); - SETREG (0x58, 0x1b); - SETREG (0x59, 0x00); - SETREG (0x5a, 0x40); - SETREG (0x5e, 0x23); - SETREG (0x5f, 0x01); - SETREG (0x60, 0x00); - SETREG (0x61, 0x00); - SETREG (0x62, 0x00); - SETREG (0x63, 0x00); - SETREG (0x64, 0x00); - SETREG (0x65, 0x00); - SETREG (0x67, 0x7f); - SETREG (0x68, 0x7f); - SETREG (0x69, 0x01); - SETREG (0x6a, 0x04); - SETREG (0x6b, 0x30); - SETREG (0x70, 0x01); - SETREG (0x71, 0x03); - SETREG (0x72, 0x04); - SETREG (0x73, 0x05); - - /* CKxMAP */ - SETREG (0x74, 0x00); - SETREG (0x75, 0x00); - SETREG (0x76, 0x3c); - SETREG (0x77, 0x00); - SETREG (0x78, 0x00); - SETREG (0x79, 0x9f); - SETREG (0x7a, 0x00); - SETREG (0x7b, 0x00); - SETREG (0x7c, 0x55); - - SETREG (0x7d, 0x00); - SETREG (0x7f, 0x00); - SETREG (0x80, 0x00); - if (strcmp (dev->model->name, "canon-canoscan-4400f") != 0) - { - SETREG (0x81, 0x00); - SETREG (0x82, 0x00); - SETREG (0x83, 0x00); - SETREG (0x84, 0x00); - SETREG (0x85, 0x00); - SETREG (0x86, 0x00); - } - SETREG (0x87, 0x00); - SETREG (0x9d, 0x04); - SETREG (0x9e, 0x00); - if (strcmp (dev->model->name, "canon-canoscan-8400f") != 0) - { - SETREG (0x0c, 0x00); - SETREG (0x94, 0xff); - SETREG (0xab, 0x50); - } - - /* so many time burnt for this register ....*/ - if (strcmp (dev->model->name, "canon-canoscan-4400f") != 0 - &&strcmp (dev->model->name, "canon-canoscan-8400f") != 0) - { - SETREG (0xaa, 0x00); - } - - /* G4050 values */ - if ((strcmp (dev->model->name, "hewlett-packard-scanjet-g4050") == 0) - || (strcmp (dev->model->name, "hewlett-packard-scanjet-4850c") == 0) - || (strcmp (dev->model->name, "hewlett-packard-scanjet-g4010") == 0)) - { - SETREG (0x03, 0x1d); - SETREG (0x05, 0x08); - SETREG (0x06, 0xd0); /* SCANMOD=110, PWRBIT and no GAIN4 */ - SETREG (0x06, 0xd8); /* SCANMOD=110, PWRBIT and GAIN4 */ - SETREG (0x0a, 0x18); - SETREG (0x0b, 0x69); - - /* CIS exposure is used for XPA lamp movement */ - SETREG (0x10, 0x2c); - SETREG (0x11, 0x09); - SETREG (0x12, 0x22); - SETREG (0x13, 0xb8); - SETREG (0x14, 0x10); - SETREG (0x15, 0xf0); - - SETREG (0x6b, 0xf4); - - SETREG (0x70, 0x00); - SETREG (0x71, 0x02); - SETREG (0x72, 0x00); - SETREG (0x73, 0x00); - - SETREG (0x80, 0x50); - SETREG (0x9d, 0x08); - SETREG (0xab, 0x40); - - /* XXX STEF XXX TODO move to set for scan */ - SETREG (0x98, 0x03); - SETREG (0x99, 0x30); - SETREG (0x9a, 0x01); - SETREG (0x9b, 0x80); - SETREG (0xac, 0x00); - } - - if (strcmp (dev->model->name, "canon-canoscan-4400f") == 0) - { - SETREG (0x06, 0xf0); /* SCANMOD=111, PWRBIT and no GAIN4 */ - SETREG (0x0b, 0x69); /* 16M only */ - SETREG (0x1e, 0x20); - SETREG (0x22, 0xc8); - SETREG (0x23, 0xc8); - SETREG (0x5e, 0x3f); - SETREG (0x5f, 0xf0); - SETREG (0x6b, 0x72); - SETREG (0x72, 0x01); - SETREG (0x73, 0x03); - SETREG (0x80, 0x0c); - SETREG (0x87, 0x02); /* MCLOCK -> CK4MAP */ - SETREG (0x9d, 0x08); /* STEPTIM=2 */ - SETREG (0xa2, 0x1f); - SETREG (0xab, 0x00); - sanei_genesys_set_double(dev->reg,REG_EXPR,0x9c40); - sanei_genesys_set_double(dev->reg,REG_EXPG,0x9c40); - sanei_genesys_set_double(dev->reg,REG_EXPB,0x9c40); - } - - if (strcmp (dev->model->name, "canon-canoscan-8400f") == 0) - { - SETREG (0x03, 0x1c); - SETREG (0x06, 0xd0); /* SCANMOD=110, PWRBIT and no GAIN4 */ - SETREG (0x0a, 0x10); - SETREG (0x22, 0x50); - SETREG (0x23, 0x50); - SETREG (0x5e, 0x85); - SETREG (0x6b, 0xb1); - SETREG (0x1e, 0xa0); - SETREG (0x72, 0x03); - SETREG (0x73, 0x04); - SETREG (0x7d, 0x20); - SETREG (0x80, 0x28); - SETREG (0x87, 0x02); /* MCLOCK -> CK4MAP */ - SETREG (0x9d, 0x08); /* STEPTIM=2 */ - } - - /* fine tune upon device description */ - dev->reg[reg_0x05].value &= ~REG05_DPIHW; - switch (dev->sensor.optical_res) - { - case 600: - dev->reg[reg_0x05].value |= REG05_DPIHW_600; - break; - case 1200: - dev->reg[reg_0x05].value |= REG05_DPIHW_1200; - break; - case 2400: - dev->reg[reg_0x05].value |= REG05_DPIHW_2400; - break; - case 4800: - dev->reg[reg_0x05].value |= REG05_DPIHW_4800; - break; - } - - /* initalize calibration reg */ - memcpy (dev->calib_reg, dev->reg, GENESYS_GL843_MAX_REGS * sizeof (Genesys_Register_Set)); - - DBGCOMPLETED; -} - -/* Send slope table for motor movement - slope_table in machine byte order - */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl843_send_slope_table (Genesys_Device * dev, int table_nr, - uint16_t * slope_table, int steps) -{ - SANE_Status status; - uint8_t *table; - int i; - char msg[10000]; - - DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, - table_nr, steps); - - table = (uint8_t *) malloc (steps * 2); - for (i = 0; i < steps; i++) - { - table[i * 2] = slope_table[i] & 0xff; - table[i * 2 + 1] = slope_table[i] >> 8; - } - - if (DBG_LEVEL >= DBG_io) - { - sprintf (msg, "write slope %d (%d)=", table_nr, steps); - for (i = 0; i < steps; i++) - { - sprintf (msg+strlen(msg), "%d", slope_table[i]); - } - DBG (DBG_io, "%s: %s\n", __func__, msg); - } - - - /* slope table addresses are fixed : 0x4000, 0x4800, 0x5000, 0x5800, 0x6000 */ - /* XXX STEF XXX USB 1.1 ? sanei_genesys_write_0x8c (dev, 0x0f, 0x14); */ - status = write_data (dev, 0x4000 + 0x800 * table_nr, steps * 2, table); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: write data failed writing slope table %d (%s)\n", - __func__, table_nr, sane_strstatus (status)); - } - - free (table); - DBGCOMPLETED; - return status; -} - - -/* Set values of analog frontend */ -static SANE_Status -gl843_set_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status; - uint8_t val; - int i; - - DBG (DBG_proc, "gl843_set_fe (%s)\n", - set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == - AFE_POWER_SAVE ? "powersave" : "huh?"); - - if (set == AFE_INIT) - { - DBG (DBG_proc, "gl843_set_fe(): setting DAC %u\n", - dev->model->dac_type); - sanei_genesys_init_fe (dev); - } - - /* check analog frontend type */ - RIE (sanei_genesys_read_register (dev, REG04, &val)); - if ((val & REG04_FESET) != 0x00) - { - /* for now there is no support for AD fe */ - DBG (DBG_proc, "gl843_set_fe(): unsupported frontend type %d\n", - dev->reg[reg_0x04].value & REG04_FESET); - return SANE_STATUS_UNSUPPORTED; - } - - DBG (DBG_proc, "gl843_set_fe(): frontend reset complete\n"); - - for (i = 1; i <= 3; i++) - { - status = sanei_genesys_fe_write_data (dev, i, dev->frontend.reg[i]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_set_fe: writing reg[%d] failed: %s\n", i, - sane_strstatus (status)); - return status; - } - } - - for (i = 0; i < 3; i++) - { - status = - sanei_genesys_fe_write_data (dev, 0x20 + i, dev->frontend.offset[i]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_set_fe: writing offset[%d] failed: %s\n", i, - sane_strstatus (status)); - return status; - } - } - - if (dev->model->ccd_type == CCD_KVSS080) - { - for (i = 0; i < 3; i++) - { - status = - sanei_genesys_fe_write_data (dev, 0x24 + i, - dev->frontend.sign[i]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_set_fe: writing sign[%d] failed: %s\n", i, - sane_strstatus (status)); - return status; - } - } - } - - for (i = 0; i < 3; i++) - { - status = - sanei_genesys_fe_write_data (dev, 0x28 + i, dev->frontend.gain[i]); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_set_fe: writing gain[%d] failed: %s\n", i, - sane_strstatus (status)); - return status; - } - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -static SANE_Status -gl843_init_motor_regs_scan (Genesys_Device * dev, - Genesys_Register_Set * reg, - unsigned int exposure, - float scan_yres, - int scan_step_type, - unsigned int scan_lines, - unsigned int scan_dummy, - unsigned int feed_steps, - int scan_power_mode, - unsigned int flags) -{ - SANE_Status status; - int use_fast_fed, coeff; - unsigned int lincnt; - uint16_t scan_table[1024]; - uint16_t fast_table[1024]; - int scan_steps,fast_steps, fast_step_type; - unsigned int feedl,factor,dist; - Genesys_Register_Set *r; - uint32_t z1, z2; - - DBGSTART; - DBG (DBG_info, "gl843_init_motor_regs_scan : exposure=%d, " - "scan_yres=%g, scan_step_type=%d, scan_lines=%d, scan_dummy=%d, " - "feed_steps=%d, scan_power_mode=%d, flags=%x\n", - exposure, scan_yres, scan_step_type, - scan_lines, scan_dummy, feed_steps, scan_power_mode, flags); - - /* get step multiplier */ - factor = gl843_get_step_multiplier (reg); - - use_fast_fed = 0; - - if((scan_yres>=300 && feed_steps>900) || (flags & MOTOR_FLAG_FEED)) - use_fast_fed=1; - - lincnt=scan_lines; - sanei_genesys_set_triple(reg,REG_LINCNT,lincnt); - DBG (DBG_io, "%s: lincnt=%d\n", __func__, lincnt); - - /* compute register 02 value */ - r = sanei_genesys_get_address (reg, REG02); - r->value = 0x00; - r->value |= REG02_MTRPWR; - - if (use_fast_fed) - r->value |= REG02_FASTFED; - else - r->value &= ~REG02_FASTFED; - - /* in case of automatic go home, move until home sensor */ - if (flags & MOTOR_FLAG_AUTO_GO_HOME) - r->value |= REG02_AGOHOME | REG02_NOTHOME; - - /* disable backtracking */ - if ((flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) - ||(scan_yres>=2400) - ||(scan_yres>=dev->sensor.optical_res)) - r->value |= REG02_ACDCDIS; - - /* scan and backtracking slope table */ - sanei_genesys_slope_table(scan_table, - &scan_steps, - scan_yres, - exposure, - dev->motor.base_ydpi, - scan_step_type, - factor, - dev->model->motor_type, - gl843_motors); - RIE(gl843_send_slope_table (dev, SCAN_TABLE, scan_table, scan_steps*factor)); - RIE(gl843_send_slope_table (dev, BACKTRACK_TABLE, scan_table, scan_steps*factor)); - - /* STEPNO */ - r = sanei_genesys_get_address (reg, REG_STEPNO); - r->value = scan_steps; - - /* FSHDEC */ - r = sanei_genesys_get_address (reg, REG_FSHDEC); - r->value = scan_steps; - - /* fast table */ - fast_step_type=0; - if(scan_step_type<=fast_step_type) - { - fast_step_type=scan_step_type; - } - sanei_genesys_slope_table(fast_table, - &fast_steps, - sanei_genesys_get_lowest_ydpi(dev), - exposure, - dev->motor.base_ydpi, - fast_step_type, - factor, - dev->model->motor_type, - gl843_motors); - RIE(gl843_send_slope_table (dev, STOP_TABLE, fast_table, fast_steps*factor)); - RIE(gl843_send_slope_table (dev, FAST_TABLE, fast_table, fast_steps*factor)); - RIE(gl843_send_slope_table (dev, HOME_TABLE, fast_table, fast_steps*factor)); - - /* FASTNO */ - r = sanei_genesys_get_address (reg, REG_FASTNO); - r->value = fast_steps; - - /* FMOVNO */ - r = sanei_genesys_get_address (reg, REG_FMOVNO); - r->value = fast_steps; - - /* substract acceleration distance from feedl */ - feedl=feed_steps; - feedl<<=scan_step_type; - - dist = scan_steps; - if (use_fast_fed) - { - dist += fast_steps*2; - } - DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); - - /* get sure when don't insane value : XXX STEF XXX in this case we should - * fall back to single table move */ - if(dist600) - { - z1=0; - z2=0; - } - - sanei_genesys_set_triple(reg,REG_Z1MOD,z1); - DBG (DBG_info, "gl843_init_motor_regs_scan: z1 = %d\n", z1); - - sanei_genesys_set_triple(reg,REG_Z2MOD,z2); - DBG (DBG_info, "gl843_init_motor_regs_scan: z2 = %d\n", z2); - - r = sanei_genesys_get_address (reg, REG1E); - r->value &= 0xf0; /* 0 dummy lines */ - r->value |= scan_dummy; /* dummy lines */ - - r = sanei_genesys_get_address (reg, REG67); - r->value = 0x3f | (scan_step_type << REG67S_STEPSEL); - - r = sanei_genesys_get_address (reg, REG68); - r->value = 0x3f | (scan_step_type << REG68S_FSTPSEL); - - /* steps for STOP table */ - r = sanei_genesys_get_address (reg, REG_FMOVDEC); - r->value = fast_steps; - - /* Vref XXX STEF XXX : optical divider or step type ? */ - r = sanei_genesys_get_address (reg, 0x80); - if (!(dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE)) - { - r->value = 0x50; - coeff=dev->sensor.optical_res/sanei_genesys_compute_dpihw(dev, scan_yres); - if (dev->model->motor_type == MOTOR_KVSS080) - { - if(coeff>=1) - { - r->value |= 0x05; - } - } - else { - switch(coeff) - { - case 4: - r->value |= 0x0a; - break; - case 2: - r->value |= 0x0f; - break; - case 1: - r->value |= 0x0f; - break; - } - } - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/**@brief compute exposure to use - * compute the sensor exposure based on target resolution - */ -static int gl843_compute_exposure(Genesys_Device *dev, int xres, int flags) -{ - Sensor_Profile *sensor; - - sensor=get_sensor_profile(dev->model->ccd_type, xres, flags); - return sensor->exposure; -} - -/** @brief setup optical related registers - * start and pixels are expressed in optical sensor resolution coordinate - * space. - * @param dev device to use - * @param reg registers to set up - * @param exposure exposure time to use - * @param used_res scanning resolution used, may differ from - * scan's one - * @param start logical start pixel coordinate - * @param pixels logical number of pixels to use - * @param channels number of color channles used (1 or 3) - * @param depth bit depth of the scan (1, 8 or 16 bits) - * @param half_ccd SANE_TRUE if timings are such that x coordiantes must be halved - * @param color_filter to choose the color channel used in gray scans - * @param flags to drive specific settings such no calibration, XPA use ... - * @return SANE_STATUS_GOOD if OK - */ -static SANE_Status -gl843_init_optical_regs_scan (Genesys_Device * dev, - Genesys_Register_Set * reg, - unsigned int exposure, - int used_res, - unsigned int start, - unsigned int pixels, - int channels, - int depth, - SANE_Bool half_ccd, - int color_filter, - int flags) -{ - unsigned int words_per_line; - unsigned int startx, endx, used_pixels; - unsigned int dpiset, dpihw, factor; - unsigned int bytes; - unsigned int tgtime; /**> exposure time multiplier */ - unsigned int cksel; /**> clock per system pixel time in capturing image */ - Genesys_Register_Set *r; - SANE_Status status; - - DBG (DBG_proc, "gl843_init_optical_regs_scan : exposure=%d, " - "used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " - "half_ccd=%d, flags=%x\n", - exposure, - used_res, start, pixels, channels, depth, half_ccd, flags); - - /* tgtime */ - tgtime=1; - if (dev->model->ccd_type == CCD_G4050 && used_res>2400) - { - tgtime=2; - } - DBG (DBG_io2, "%s: tgtime=%d\n", __func__, tgtime); - - /* to manage high resolution device while keeping good - * low resolution scanning speed, we make hardware dpi vary */ - dpihw=sanei_genesys_compute_dpihw(dev, used_res); - factor=dev->sensor.optical_res/dpihw; - DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); - - /* sensor parameters */ - gl843_setup_sensor (dev, reg, dpihw, flags); - - /* resolution is divided according to CKSEL which is known once sensor is set up */ - r = sanei_genesys_get_address (reg, REG18); - cksel= (r->value & REG18_CKSEL)+1; - DBG (DBG_io2, "%s: cksel=%d\n", __func__, cksel); - dpiset = used_res * cksel; - - /* start and end coordinate in optical dpi coordinates */ - startx = (start + dev->sensor.dummy_pixel * tgtime)/cksel; - - used_pixels=pixels/cksel; - endx = startx + used_pixels; - - /* pixel coordinate factor correction when used dpihw is not maximal one */ - startx/=factor; - endx/=factor; - used_pixels=endx-startx; - - /* in case of stagger we have to start at an odd coordinate */ - if ((flags & OPTICAL_FLAG_STAGGER) - &&((startx & 1)==0)) - { - startx++; - endx++; - } - - status = gl843_set_fe (dev, AFE_SET); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to set frontend: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* enable shading */ - r = sanei_genesys_get_address (reg, REG01); - r->value &= ~REG01_SCAN; - if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) - { - r->value &= ~REG01_DVDSET; - } - else - { - r->value |= REG01_DVDSET; - } - if(dpihw>600) - { - r->value |= REG01_SHDAREA; - } - else - { - r->value &= ~REG01_SHDAREA; - } - - r = sanei_genesys_get_address (reg, REG03); - r->value &= ~REG03_AVEENB; - if (flags & OPTICAL_FLAG_DISABLE_LAMP) - r->value &= ~REG03_LAMPPWR; - else - r->value |= REG03_LAMPPWR; - - /* select XPA */ - r->value &= ~REG03_XPASEL; - if (flags & OPTICAL_FLAG_USE_XPA) - { - r->value |= REG03_XPASEL; - } - - /* BW threshold */ - r = sanei_genesys_get_address (reg, REG2E); - r->value = dev->settings.threshold; - r = sanei_genesys_get_address (reg, REG2F); - r->value = dev->settings.threshold; - - /* monochrome / color scan */ - r = sanei_genesys_get_address (reg, REG04); - switch (depth) - { - case 1: - r->value &= ~REG04_BITSET; - r->value |= REG04_LINEART; - break; - case 8: - r->value &= ~(REG04_LINEART | REG04_BITSET); - break; - case 16: - r->value &= ~REG04_LINEART; - r->value |= REG04_BITSET; - break; - } - - r->value &= ~(REG04_FILTER | REG04_AFEMOD); - if (channels == 1) - { - switch (color_filter) - { - case 0: - r->value |= 0x14; /* red filter */ - break; - case 2: - r->value |= 0x1c; /* blue filter */ - break; - default: - r->value |= 0x18; /* green filter */ - break; - } - } - else - r->value |= 0x10; /* mono */ - - /* register 05 */ - r = sanei_genesys_get_address (reg, REG05); - - /* set up dpihw */ - r->value &= ~REG05_DPIHW; - switch(dpihw) - { - case 600: - r->value |= REG05_DPIHW_600; - break; - case 1200: - r->value |= REG05_DPIHW_1200; - break; - case 2400: - r->value |= REG05_DPIHW_2400; - break; - case 4800: - r->value |= REG05_DPIHW_4800; - break; - } - - /* enable gamma tables */ - if (flags & OPTICAL_FLAG_DISABLE_GAMMA) - r->value &= ~REG05_GMMENB; - else - r->value |= REG05_GMMENB; - - if(half_ccd) - { - sanei_genesys_set_double(reg,REG_DPISET,dpiset*4); - DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset*4); - } - else - { - sanei_genesys_set_double(reg,REG_DPISET,dpiset); - DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); - } - - sanei_genesys_set_double(reg,REG_STRPIXEL,startx/tgtime); - sanei_genesys_set_double(reg,REG_ENDPIXEL,endx/tgtime); - - /* words(16bit) before gamma, conversion to 8 bit or lineart */ - words_per_line = (used_pixels * dpiset) / dpihw; - bytes = depth / 8; - if (depth == 1) - { - words_per_line = (words_per_line >> 3) + ((words_per_line & 7) ? 1 : 0); - } - else - { - words_per_line *= bytes; - } - - dev->wpl = words_per_line; - dev->bpl = words_per_line; - - DBG (DBG_io2, "%s: used_pixels=%d\n", __func__, used_pixels); - DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); - DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); - DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long) dev->bpl); - DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); - DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); - - words_per_line *= channels; - - /* MAXWD is expressed in 2 words unit */ - /* nousedspace = (mem_bank_range * 1024 / 256 -1 ) * 4; */ - sanei_genesys_set_triple(reg,REG_MAXWD,(words_per_line)>>1); - DBG (DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); - - sanei_genesys_set_double(reg,REG_LPERIOD,exposure/tgtime); - DBG (DBG_io2, "%s: exposure used=%d\n", __func__, exposure/tgtime); - - r = sanei_genesys_get_address (reg, REG_DUMMY); - r->value = dev->sensor.dummy_pixel * tgtime; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* set up registers for an actual scan - * - * this function sets up the scanner to scan in normal or single line mode - */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl843_init_scan_regs (Genesys_Device * dev, - Genesys_Register_Set * reg, - float xres, /*dpi */ - float yres, /*dpi */ - float startx, /*optical_res, from dummy_pixel+1 */ - float starty, /*base_ydpi, from home! */ - float pixels, - float lines, - unsigned int depth, - unsigned int channels, - int scan_mode, - int color_filter, - unsigned int flags) -{ - int used_res; - int start, used_pixels; - int bytes_per_line; - int move; - unsigned int lincnt; /**> line count to scan */ - unsigned int oflags, mflags; /**> optical and motor flags */ - int exposure; - int stagger; - - int slope_dpi = 0; - int dummy = 0; - int scan_step_type = 1; - int scan_power_mode = 0; - int max_shift; - size_t requested_buffer_size, read_buffer_size; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - SANE_Status status; - - DBG (DBG_info, - "gl843_init_scan_regs settings:\n" - "Resolution : %gDPI/%gDPI\n" - "Lines : %g\n" - "PPL : %g\n" - "Startpos : %g/%g\n" - "Depth/Channels: %u/%u\n" - "Flags : %x\n\n", - xres, yres, lines, pixels, startx, starty, depth, channels, flags); - - - /* we have 2 domains for ccd: xres below or above half ccd max dpi */ - if (dev->sensor.optical_res < 4 * xres || - !(dev->model->flags & GENESYS_FLAG_HALF_CCD_MODE)) - { - half_ccd = SANE_FALSE; - } - else - { - half_ccd = SANE_TRUE; - } - - /* optical_res */ - optical_res = dev->sensor.optical_res; - if (half_ccd) - optical_res /= 4; - - /* stagger starting at 2400, and not applied for calibration */ - stagger = 0; - if ( (yres>1200) - && ((flags & SCAN_FLAG_IGNORE_LINE_DISTANCE)==0) - && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - { - stagger = (4 * yres) / dev->motor.base_ydpi; - } - DBG (DBG_info, "%s : stagger=%d lines\n", __func__, stagger); - - /* we enable true gray for cis scanners only, and just when doing - * scan since color calibration is OK for this mode - */ - oflags = 0; - if (flags & SCAN_FLAG_DISABLE_SHADING) - oflags |= OPTICAL_FLAG_DISABLE_SHADING; - if (flags & SCAN_FLAG_DISABLE_GAMMA) - oflags |= OPTICAL_FLAG_DISABLE_GAMMA; - if (flags & SCAN_FLAG_DISABLE_LAMP) - oflags |= OPTICAL_FLAG_DISABLE_LAMP; - if (flags & SCAN_FLAG_CALIBRATION) - oflags |= OPTICAL_FLAG_DISABLE_DOUBLE; - if(stagger) - oflags |= OPTICAL_FLAG_STAGGER; - if (flags & SCAN_FLAG_USE_XPA) - oflags |= OPTICAL_FLAG_USE_XPA; - - /** @brief compute used resolution */ - if (flags & SCAN_FLAG_USE_OPTICAL_RES) - { - used_res = optical_res; - } - else - { - /* resolution is choosen from a fixed list and can be used directly - * unless we have ydpi higher than sensor's maximum one */ - if(xres>optical_res) - used_res=optical_res; - else - used_res = xres; - } - - /* compute scan parameters values */ - /* pixels are allways given at full optical resolution */ - /* use detected left margin and fixed value */ - /* start */ - start = startx; - - /* compute correct pixels number */ - used_pixels = (pixels * optical_res) / xres; - DBG (DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); - - /* round up pixels number if needed */ - if (used_pixels * xres < pixels * optical_res) - used_pixels++; - - /* we want even number of pixels here */ - if(used_pixels & 1) - used_pixels++; - - dummy = 0; - /* dummy = 1; XXX STEF XXX */ - - /* slope_dpi */ - /* cis color scan is effectively a gray scan with 3 gray lines per color line and a FILTER of 0 */ - if (dev->model->is_cis) - slope_dpi = yres * channels; - else - slope_dpi = yres; - slope_dpi = slope_dpi * (1 + dummy); - - /* scan_step_type */ - if(flags & SCAN_FLAG_FEEDING) - { - exposure=gl843_compute_exposure (dev, sanei_genesys_get_lowest_ydpi(dev), oflags); - scan_step_type=sanei_genesys_compute_step_type (gl843_motors, dev->model->motor_type, exposure); - } - else - { - exposure = gl843_compute_exposure (dev, used_res, oflags); - scan_step_type = sanei_genesys_compute_step_type(gl843_motors, dev->model->motor_type, exposure); - } - - DBG (DBG_info, "%s : exposure=%d pixels\n", __func__, exposure); - DBG (DBG_info, "%s : scan_step_type=%d\n", __func__, scan_step_type); - - /*** optical parameters ***/ - /* in case of dynamic lineart, we use an internal 8 bit gray scan - * to generate 1 lineart data */ - if ((flags & SCAN_FLAG_DYNAMIC_LINEART) && (scan_mode == SCAN_MODE_LINEART)) - { - depth = 8; - } - /* no 16 bit gamma for this ASIC */ - if (depth == 16) - { - flags |= SCAN_FLAG_DISABLE_GAMMA; - oflags |= OPTICAL_FLAG_DISABLE_GAMMA; - } - - /* now _LOGICAL_ optical values used are known, setup registers */ - status = gl843_init_optical_regs_scan (dev, - reg, - exposure, - used_res, - start, - used_pixels, - channels, - depth, - half_ccd, - color_filter, - oflags); - if (status != SANE_STATUS_GOOD) - return status; - - /*** motor parameters ***/ - - /* it seems base_dpi of the G4050 motor is changed above 600 dpi*/ - if (dev->model->motor_type == MOTOR_G4050 && yres>600) - { - dev->ld_shift_r = (dev->model->ld_shift_r*3800)/dev->motor.base_ydpi; - dev->ld_shift_g = (dev->model->ld_shift_g*3800)/dev->motor.base_ydpi; - dev->ld_shift_b = (dev->model->ld_shift_b*3800)/dev->motor.base_ydpi; - } - else - { - dev->ld_shift_r = dev->model->ld_shift_r; - dev->ld_shift_g = dev->model->ld_shift_g; - dev->ld_shift_b = dev->model->ld_shift_b; - } - - /* max_shift */ - /* scanned area must be enlarged by max color shift needed */ - max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,flags); - - /* lines to scan */ - lincnt = lines + max_shift + stagger; - - /* add tl_y to base movement */ - move = starty; - DBG (DBG_info, "gl843_init_scan_regs: move=%d steps\n", move); - - - mflags=0; - if(flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE) - mflags|=MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE; - if(flags & SCAN_FLAG_FEEDING) - mflags|=MOTOR_FLAG_FEED; - if (flags & SCAN_FLAG_USE_XPA) - mflags |= MOTOR_FLAG_USE_XPA; - - status = gl843_init_motor_regs_scan (dev, - reg, - exposure, - slope_dpi, - scan_step_type, - dev->model->is_cis ? lincnt * channels : lincnt, - dummy, - move, - scan_power_mode, - mflags); - if (status != SANE_STATUS_GOOD) - return status; - - /*** prepares data reordering ***/ - - /* words_per_line */ - bytes_per_line = (used_pixels * used_res) / optical_res; - bytes_per_line = (bytes_per_line * channels * depth) / 8; - - /* since we don't have sheetfed scanners to handle, - * use huge read buffer */ - /* TODO find the best size according to settings */ - requested_buffer_size = 16 * bytes_per_line; - - read_buffer_size = - 2 * requested_buffer_size + - ((max_shift + stagger) * used_pixels * channels * depth) / 8; - - RIE (sanei_genesys_buffer_free (&(dev->read_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->read_buffer), read_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->lines_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->lines_buffer), read_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->shrink_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->shrink_buffer), - requested_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->out_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->out_buffer), - (8 * dev->settings.pixels * channels * - depth) / 8)); - - - dev->read_bytes_left = bytes_per_line * lincnt; - - DBG (DBG_info, - "gl843_init_scan_regs: physical bytes to read = %lu\n", - (u_long) dev->read_bytes_left); - dev->read_active = SANE_TRUE; - - - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - DBG (DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); - dev->current_setup.lines = lincnt; - dev->current_setup.depth = depth; - dev->current_setup.channels = channels; - dev->current_setup.exposure_time = exposure; - dev->current_setup.xres = used_res; - dev->current_setup.yres = yres; - dev->current_setup.half_ccd = half_ccd; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - dev->total_bytes_read = 0; - if (depth == 1) - dev->total_bytes_to_read = - ((dev->settings.pixels * dev->settings.lines) / 8 + - (((dev->settings.pixels * dev->settings.lines) % 8) ? 1 : 0)) * - channels; - else - dev->total_bytes_to_read = - dev->settings.pixels * dev->settings.lines * channels * (depth / 8); - - DBG (DBG_info, "gl843_init_scan_regs: total bytes to send = %lu\n", - (u_long) dev->total_bytes_to_read); - - DBG (DBG_proc, "gl843_init_scan_regs: completed\n"); - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl843_calculate_current_setup (Genesys_Device * dev) -{ - int channels; - int depth; - int start; - - float xres; /*dpi */ - float yres; /*dpi */ - float startx; /*optical_res, from dummy_pixel+1 */ - float pixels; - float lines; - - int used_res; - int used_pixels; - unsigned int lincnt; - int exposure; - int stagger; - - int max_shift; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - int oflags; - - DBG (DBG_info, - "gl843_calculate_current_setup settings:\n" - "Resolution: %ux%uDPI\n" - "Lines : %u\n" - "PPL : %u\n" - "Startpos : %.3f/%.3f\n" - "Scan mode : %d\n\n", - dev->settings.xres, - dev->settings.yres, dev->settings.lines, dev->settings.pixels, - dev->settings.tl_x, dev->settings.tl_y, dev->settings.scan_mode); - - /* channels */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == SCAN_MODE_LINEART) - depth = 1; - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - start = (start * dev->sensor.optical_res) / MM_PER_INCH; - - /* optical flags */ - oflags=0; - if(dev->settings.scan_method==SCAN_METHOD_TRANSPARENCY) - { - oflags=OPTICAL_FLAG_USE_XPA; - } - - xres = dev->settings.xres; - yres = dev->settings.yres; - startx = start; - pixels = dev->settings.pixels; - lines = dev->settings.lines; - - DBG (DBG_info, - "gl843_calculate_current_setup settings:\n" - "Resolution : %gDPI/%gDPI\n" - "Lines : %g\n" - "PPL : %g\n" - "Startpos : %g\n" - "Depth/Channels: %u/%u\n\n", - xres, yres, lines, pixels, startx, depth, channels); - -/* half_ccd */ - /* we have 2 domains for ccd: xres below or above half ccd max dpi */ - if ((dev->sensor.optical_res < 4 * xres) || - !(dev->model->flags & GENESYS_FLAG_HALF_CCD_MODE)) - { - half_ccd = SANE_FALSE; - } - else - { - half_ccd = SANE_TRUE; - } - - - /* optical_res */ - optical_res = dev->sensor.optical_res; - if (half_ccd) - optical_res /= 4; - - /* stagger */ - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG (DBG_info, "%s: stagger=%d lines\n", __func__, stagger); - - if(xres<=optical_res) - used_res = xres; - else - used_res=optical_res; - - /* compute scan parameters values */ - /* pixels are allways given at half or full CCD optical resolution */ - /* use detected left margin and fixed value */ - - /* compute correct pixels number */ - used_pixels = (pixels * optical_res) / xres; - DBG (DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); - - /* exposure */ - exposure = gl843_compute_exposure (dev, used_res, oflags); - DBG (DBG_info, "%s : exposure=%d pixels\n", __func__, exposure); - - /* it seems base_dpi of the G4050 motor is changed above 600 dpi*/ - if (dev->model->motor_type == MOTOR_G4050 && yres>600) - { - dev->ld_shift_r = (dev->model->ld_shift_r*3800)/dev->motor.base_ydpi; - dev->ld_shift_g = (dev->model->ld_shift_g*3800)/dev->motor.base_ydpi; - dev->ld_shift_b = (dev->model->ld_shift_b*3800)/dev->motor.base_ydpi; - } - else - { - dev->ld_shift_r = dev->model->ld_shift_r; - dev->ld_shift_g = dev->model->ld_shift_g; - dev->ld_shift_b = dev->model->ld_shift_b; - } - - /* scanned area must be enlarged by max color shift needed */ - max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,0); - - /* lincnt */ - lincnt = lines + max_shift + stagger; - - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - DBG (DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); - dev->current_setup.lines = lincnt; - dev->current_setup.depth = depth; - dev->current_setup.channels = channels; - dev->current_setup.exposure_time = exposure; - dev->current_setup.xres = used_res; - dev->current_setup.yres = yres; - dev->current_setup.half_ccd = half_ccd; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - DBG (DBG_proc, "gl843_calculate_current_setup: completed\n"); - return SANE_STATUS_GOOD; -} - -static void -gl843_set_motor_power (Genesys_Register_Set * regs, SANE_Bool set) -{ - - DBG (DBG_proc, "gl843_set_motor_power\n"); - - if (set) - { - sanei_genesys_set_reg_from_set (regs, REG02, - sanei_genesys_read_reg_from_set (regs, - REG02) - | REG02_MTRPWR); - } - else - { - sanei_genesys_set_reg_from_set (regs, REG02, - sanei_genesys_read_reg_from_set (regs, - REG02) - & ~REG02_MTRPWR); - } -} - -static void -gl843_set_lamp_power (Genesys_Device * dev, - Genesys_Register_Set * regs, SANE_Bool set) -{ - Genesys_Register_Set *r; - int i; - uint8_t val; - - val = sanei_genesys_read_reg_from_set (regs, REG03); - if (set) - { - val |= REG03_LAMPPWR; - sanei_genesys_set_reg_from_set (regs, REG03, val); - for (i = 0; i < 6; i++) - { - r = sanei_genesys_get_address (regs, 0x10 + i); - r->value = dev->sensor.regs_0x10_0x1d[i]; - } - } - else - { - val &= ~REG03_LAMPPWR; - sanei_genesys_set_reg_from_set (regs, REG03, val); - for (i = 0; i < 6; i++) - { - r = sanei_genesys_get_address (regs, 0x10 + i); - r->value = 0x00; - } - } -} - -/** - * for fast power saving methods only, like disabling certain amplifiers - * @param dev device to use - * @param enable true to set inot powersaving - * */ -static SANE_Status -gl843_save_power (Genesys_Device * dev, SANE_Bool enable) -{ - uint8_t val; - SANE_Status status; - - DBG (DBG_proc, "gl843_save_power: enable = %d\n", enable); - if (dev == NULL) - return SANE_STATUS_INVAL; - - /* switch KV-SS080 lamp off */ - if (dev->model->gpo_type == GPO_KVSS080) - { - RIE(sanei_genesys_read_register (dev, REG6C, &val)); - if(enable) - val &= 0xef; - else - val |= 0x10; - RIE(sanei_genesys_write_register(dev,REG6C,val)); - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl843_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG (DBG_proc, "gl843_set_powersaving (delay = %d)\n", delay); - if (dev == NULL) - return SANE_STATUS_INVAL; - - DBGCOMPLETED; - return status; -} - -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl843_start_action (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x01); -} - -static SANE_Status -gl843_stop_action (Genesys_Device * dev) -{ - SANE_Status status; - uint8_t val40, val; - unsigned int loop; - - DBG (DBG_proc, "%s\n", __func__); - - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - val40 = 0; - status = sanei_genesys_read_register (dev, REG40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - DBG (DBG_proc, "%s: completed\n", __func__); - return status; - } - - /* only stop action if needed */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) - { - DBG (DBG_info, "%s: already stopped\n", __func__); - DBG (DBG_proc, "%s: completed\n", __func__); - return SANE_STATUS_GOOD; - } - - /* ends scan 646 */ - val = sanei_genesys_read_reg_from_set (dev->reg, REG01); - val &= ~REG01_SCAN; - sanei_genesys_set_reg_from_set (dev->reg, REG01, val); - status = sanei_genesys_write_register (dev, REG01, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to write register 01: %s\n", __func__, - sane_strstatus (status)); - return status; - } - usleep (100 * 1000); - - loop = 10; - while (loop > 0) - { - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - val40 = 0; - status = sanei_genesys_read_register (dev, 0x40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* if scanner is in command mode, we are done */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG) - && !(val & REG41_MOTORENB)) - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - usleep (100 * 1000); - loop--; - } - - DBGCOMPLETED; - return SANE_STATUS_IO_ERROR; -} - -static SANE_Status -gl843_get_paper_sensor (Genesys_Device * dev, SANE_Bool * paper_loaded) -{ - SANE_Status status; - uint8_t val; - - status = sanei_genesys_read_register (dev, REG6D, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_get_paper_sensor: failed to read gpio: %s\n", - sane_strstatus (status)); - return status; - } - *paper_loaded = (val & 0x1) == 0; - return SANE_STATUS_GOOD; - - return SANE_STATUS_INVAL; -} - -static SANE_Status -gl843_eject_document (Genesys_Device * dev) -{ - DBG (DBG_proc, "%s: not implemented \n", __func__); - if (dev == NULL) - return SANE_STATUS_INVAL; - return SANE_STATUS_GOOD; -} - - -static SANE_Status -gl843_load_document (Genesys_Device * dev) -{ - DBG (DBG_proc, "%s: not implemented \n", __func__); - if (dev == NULL) - return SANE_STATUS_INVAL; - return SANE_STATUS_GOOD; -} - -/** - * detects end of document and adjust current scan - * to take it into account - * used by sheetfed scanners - */ -static SANE_Status -gl843_detect_document_end (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Bool paper_loaded; - unsigned int scancnt = 0; - int flines, channels, depth, bytes_remain, sublines, - bytes_to_flush, lines, sub_bytes, tmp, read_bytes_left; - DBG (DBG_proc, "%s: begin\n", __func__); - - RIE (gl843_get_paper_sensor (dev, &paper_loaded)); - - /* sheetfed scanner uses home sensor as paper present */ - if ((dev->document == SANE_TRUE) && !paper_loaded) - { - DBG (DBG_info, "%s: no more document\n", __func__); - dev->document = SANE_FALSE; - - channels = dev->current_setup.channels; - depth = dev->current_setup.depth; - read_bytes_left = (int) dev->read_bytes_left; - DBG (DBG_io, "gl843_detect_document_end: read_bytes_left=%d\n", - read_bytes_left); - - /* get lines read */ - status = sanei_genesys_read_scancnt (dev, &scancnt); - if (status != SANE_STATUS_GOOD) - { - flines = 0; - } - else - { - /* compute number of line read */ - tmp = (int) dev->total_bytes_read; - if (depth == 1 || dev->settings.scan_mode == SCAN_MODE_LINEART) - flines = tmp * 8 / dev->settings.pixels / channels; - else - flines = tmp / (depth / 8) / dev->settings.pixels / channels; - - /* number of scanned lines, but no read yet */ - flines = scancnt - flines; - - DBG (DBG_io, - "gl843_detect_document_end: %d scanned but not read lines\n", - flines); - } - - /* adjust number of bytes to read - * we need to read the final bytes which are word per line * number of last lines - * to have doc leaving feeder */ - lines = - (SANE_UNFIX (dev->model->post_scan) * dev->current_setup.yres) / - MM_PER_INCH + flines; - DBG (DBG_io, "gl843_detect_document_end: adding %d line to flush\n", - lines); - - /* number of bytes to read from scanner to get document out of it after - * end of document dectected by hardware sensor */ - bytes_to_flush = lines * dev->wpl; - - /* if we are already close to end of scan, flushing isn't needed */ - if (bytes_to_flush < read_bytes_left) - { - /* we take all these step to work around an overflow on some plateforms */ - tmp = (int) dev->total_bytes_read; - DBG (DBG_io, "gl843_detect_document_end: tmp=%d\n", tmp); - bytes_remain = (int) dev->total_bytes_to_read; - DBG (DBG_io, "gl843_detect_document_end: bytes_remain=%d\n", - bytes_remain); - bytes_remain = bytes_remain - tmp; - DBG (DBG_io, "gl843_detect_document_end: bytes_remain=%d\n", - bytes_remain); - - /* remaining lines to read by frontend for the current scan */ - if (depth == 1 || dev->settings.scan_mode == SCAN_MODE_LINEART) - { - flines = bytes_remain * 8 / dev->settings.pixels / channels; - } - else - flines = bytes_remain / (depth / 8) - / dev->settings.pixels / channels; - DBG (DBG_io, "gl843_detect_document_end: flines=%d\n", flines); - - if (flines > lines) - { - /* change the value controlling communication with the frontend : - * total bytes to read is current value plus the number of remaining lines - * multiplied by bytes per line */ - sublines = flines - lines; - - if (depth == 1 || dev->settings.scan_mode == SCAN_MODE_LINEART) - sub_bytes = - ((dev->settings.pixels * sublines) / 8 + - (((dev->settings.pixels * sublines) % 8) ? 1 : 0)) * - channels; - else - sub_bytes = - dev->settings.pixels * sublines * channels * (depth / 8); - - dev->total_bytes_to_read -= sub_bytes; - - /* then adjust the physical bytes to read */ - if (read_bytes_left > sub_bytes) - { - dev->read_bytes_left -= sub_bytes; - } - else - { - dev->total_bytes_to_read = dev->total_bytes_read; - dev->read_bytes_left = 0; - } - - DBG (DBG_io, "gl843_detect_document_end: sublines=%d\n", - sublines); - DBG (DBG_io, "gl843_detect_document_end: subbytes=%d\n", - sub_bytes); - DBG (DBG_io, - "gl843_detect_document_end: total_bytes_to_read=%lu\n", - (unsigned long) dev->total_bytes_to_read); - DBG (DBG_io, - "gl843_detect_document_end: read_bytes_left=%d\n", - read_bytes_left); - } - } - else - { - DBG (DBG_io, "gl843_detect_document_end: no flushing needed\n"); - } - } - - DBG (DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; -} - -/** @brief disable XPA slider motor - * toggle gpios to switch disble XPA slider motor - * @param dev device to set up - */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl843_xpa_motor_off(Genesys_Device *dev) -{ - uint8_t val; - SANE_Status status=SANE_STATUS_GOOD; - - DBGSTART; - - /* unset GPOADF */ - RIE (sanei_genesys_read_register (dev, REG6B, &val)); - val &= ~REG6B_GPOADF; - RIE (sanei_genesys_write_register (dev, REG6B, val)); - - RIE (sanei_genesys_read_register (dev, REGA8, &val)); - val |= REGA8_GPO27; - RIE (sanei_genesys_write_register (dev, REGA8, val)); - - RIE (sanei_genesys_read_register (dev, REGA9, &val)); - val &= ~REGA9_GPO31; - RIE (sanei_genesys_write_register (dev, REGA9, val)); - - DBGCOMPLETED; - return status; -} - - -/** @brief enable XPA slider motor - * toggle gpios to switch enable XPA slider motor - * @param dev device to set up - */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl843_xpa_motor_on(Genesys_Device *dev) -{ - uint8_t val; - SANE_Status status=SANE_STATUS_GOOD; - - DBGSTART; - - /* set MULTFILM et GPOADF */ - RIE (sanei_genesys_read_register (dev, REG6B, &val)); - val |=REG6B_MULTFILM|REG6B_GPOADF; - RIE (sanei_genesys_write_register (dev, REG6B, val)); - - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - val &= ~REG6C_GPIO15; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - - /* Motor power ? No move at all without this one */ - RIE (sanei_genesys_read_register (dev, REGA6, &val)); - val |= REGA6_GPIO20; - RIE (sanei_genesys_write_register(dev,REGA6,val)); - - RIE (sanei_genesys_read_register (dev, REGA8, &val)); - val &= ~REGA8_GPO27; - RIE (sanei_genesys_write_register (dev, REGA8, val)); - - RIE (sanei_genesys_read_register (dev, REGA9, &val)); - val |= REGA9_GPO32|REGA9_GPO31; - RIE (sanei_genesys_write_register (dev, REGA9, val)); - - DBGCOMPLETED; - return status; -} - - -/** @brief light XPA lamp - * toggle gpios to switch off regular lamp and light on the - * XPA light - * @param dev device to set up - */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl843_xpa_lamp_on(Genesys_Device *dev) -{ - uint8_t val; - SANE_Status status=SANE_STATUS_GOOD; - - DBGSTART; - - /* REGA6 */ - RIE(sanei_genesys_read_register(dev, REGA6, &val)); - - /* cut regular lamp power */ - val &= ~(REGA6_GPIO24|REGA6_GPIO23); - - /* set XPA lamp power */ - val |= REGA6_GPIO22 | REGA6_GPIO21 | REGA6_GPIO19; - - RIE(sanei_genesys_write_register(dev, REGA6, val)); - - RIE(sanei_genesys_read_register(dev, REGA7, &val)); - val|=REGA7_GPOE24; /* lamp 1 off GPOE 24 */ - val|=REGA7_GPOE23; /* lamp 2 off GPOE 23 */ - val|=REGA7_GPOE22; /* full XPA lamp power */ - RIE(sanei_genesys_write_register(dev, REGA7, val)); - - DBGCOMPLETED; - return status; -} - -/* Send the low-level scan command */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl843_begin_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool start_motor) -{ - SANE_Status status; - uint8_t val,r03; - uint16_t dpiset, dpihw; - - DBGSTART; - - /* get back the target dpihw */ - sanei_genesys_get_double (reg, REG_DPISET, &dpiset); - dpihw = sanei_genesys_compute_dpihw (dev, dpiset); - - /* set up GPIO for scan */ - switch(dev->model->gpo_type) - { - /* KV case */ - case GPO_KVSS080: - RIE (sanei_genesys_write_register (dev, REGA9, 0x00)); - RIE (sanei_genesys_write_register (dev, REGA6, 0xf6)); - /* blinking led */ - RIE (sanei_genesys_write_register (dev, 0x7e, 0x04)); - break; - case GPO_G4050: - RIE (sanei_genesys_write_register (dev, REGA7, 0xfe)); - RIE (sanei_genesys_write_register (dev, REGA8, 0x3e)); - RIE (sanei_genesys_write_register (dev, REGA9, 0x06)); - switch (dpihw) - { - case 1200: - case 2400: - case 4800: - RIE (sanei_genesys_write_register (dev, REG6C, 0x60)); - RIE (sanei_genesys_write_register (dev, REGA6, 0x46)); - break; - default: /* 600 dpi case */ - RIE (sanei_genesys_write_register (dev, REG6C, 0x20)); - RIE (sanei_genesys_write_register (dev, REGA6, 0x44)); - } - - /* turn on XPA lamp if XPA is selected and lamp power on*/ - r03 = sanei_genesys_read_reg_from_set (reg, REG03); - if ((r03 & REG03_XPASEL) && (r03 & REG03_LAMPPWR)) - { - RIE(gl843_xpa_lamp_on(dev)); - } - - /* enable XPA lamp motor */ - if (r03 & REG03_XPASEL) - { - RIE(gl843_xpa_motor_on(dev)); - } - - /* blinking led */ - RIE (sanei_genesys_write_register (dev, REG7E, 0x01)); - break; - case GPO_CS4400F: - case GPO_CS8400F: - default: - break; - } - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register - (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* enable scan and motor */ - RIE (sanei_genesys_read_register (dev, REG01, &val)); - val |= REG01_SCAN; - RIE (sanei_genesys_write_register (dev, REG01, val)); - - if (start_motor) - { - RIE (sanei_genesys_write_register (dev, REG0F, 1)); - } - else - { - RIE (sanei_genesys_write_register (dev, REG0F, 0)); - } - - DBGCOMPLETED; - return status; -} - - -/* Send the stop scan command */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl843_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop) -{ - SANE_Status status; - uint8_t val; - - DBG (DBG_proc, "gl843_end_scan (check_stop = %d)\n", check_stop); - if (reg == NULL) - return SANE_STATUS_INVAL; - - /* post scan gpio */ - RIE(sanei_genesys_write_register(dev,0x7e,0x00)); - - /* turn off XPA lamp if XPA is selected and lamp power on*/ - val = sanei_genesys_read_reg_from_set (reg, REG03); - if (val & (REG03_XPASEL|REG03_LAMPPWR)) - { - sanei_genesys_read_register (dev, REGA6, &val); - - /* switch on regular lamp */ - val |= 0x40; - - /* no XPA lamp power (2 bits for level: __11 ____) */ - val &= ~0x30; - - RIE (sanei_genesys_write_register (dev, REGA6, val)); - } - - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = SANE_STATUS_GOOD; - } - else /* flat bed scanners */ - { - status = gl843_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_end_scan: failed to stop: %s\n", - sane_strstatus (status)); - return status; - } - } - - DBGCOMPLETED; - return status; -} - -/** @brief park XPA lamp - * park the XPA lamp if needed - */ -static SANE_Status gl843_park_xpa_lamp (Genesys_Device * dev) -{ - Genesys_Register_Set local_reg[GENESYS_GL843_MAX_REGS]; - SANE_Status status; - Genesys_Register_Set *r; - uint8_t val; - int loop = 0; - - DBGSTART; - - /* copy scan settings */ - memcpy (local_reg, dev->reg, GENESYS_GL843_MAX_REGS * sizeof (Genesys_Register_Set)); - - /* set a huge feedl and reverse direction */ - sanei_genesys_set_triple(local_reg,REG_FEEDL,0xbdcd); - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* set up for reverse and no scan */ - r = sanei_genesys_get_address (local_reg, REG02); - r->value |= REG02_MTRREV; - r = sanei_genesys_get_address (local_reg, REG01); - r->value &= ~REG01_SCAN; - - /* write to scanner and start action */ - RIE (dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL843_MAX_REGS)); - RIE (gl843_xpa_motor_on(dev)); - status = gl843_start_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to start motor: %s\n",__func__, sane_strstatus (status)); - gl843_stop_action (dev); - /* restore original registers */ - dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL843_MAX_REGS); - return status; - } - - while (loop < 600) /* do not wait longer then 60 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n",__func__, - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL >= DBG_io2) - { - sanei_genesys_print_status (val); - } - - if (val & REG41_HOMESNR) /* home sensor */ - { - DBG (DBG_info, "%s: reached home position\n",__func__); - DBG (DBG_proc, "%s: finished\n",__func__); - - /* clear GPOADF to avoid reparking again */ - sanei_genesys_read_register (dev, REG6B, &val); - val &= ~REG6B_GPOADF; - sanei_genesys_write_register (dev, REG6B, val); - - /* disable XPA slider motor */ - gl843_xpa_motor_off(dev); - return SANE_STATUS_GOOD; - } - usleep (100000); /* sleep 100 ms */ - ++loop; - } - - /* we are not parked here.... should we fail ? */ - DBG (DBG_info, "%s: XPA lamp is not parked\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief Moves the slider to the home (top) position slowly - * */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl843_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) -{ - Genesys_Register_Set local_reg[GENESYS_GL843_MAX_REGS]; - SANE_Status status; - Genesys_Register_Set *r; - uint8_t val; - float resolution; - int loop = 0; - - DBG (DBG_proc, "gl843_slow_back_home (wait_until_home = %d)\n", - wait_until_home); - - if (dev->model->gpo_type == GPO_G4050) - { - /* test if we need to park XPA lamp, we check GPOADF */ - RIE (sanei_genesys_read_register (dev, REG6B, &val)); - if(val & REG6B_GPOADF) - { - RIE(gl843_park_xpa_lamp(dev)); - } - } - - /* regular slow back home */ - dev->scanhead_position_in_steps = 0; - - /* first read gives HOME_SENSOR true */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus (status)); - return status; - } - usleep (100000); /* sleep 100 ms */ - - /* second is reliable */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - if (val & HOMESNR) /* is sensor at home? */ - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - memcpy (local_reg, dev->reg, GENESYS_GL843_MAX_REGS * sizeof (Genesys_Register_Set)); - resolution=sanei_genesys_get_lowest_ydpi(dev); - - status = gl843_init_scan_regs (dev, - local_reg, - resolution, - resolution, - 100, - 40000, - 100, - 100, - 8, - 1, - SCAN_MODE_LINEART, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_slow_back_home: failed to set up registers: %s\n", - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* set up for reverse and no scan */ - r = sanei_genesys_get_address (local_reg, REG02); - r->value |= REG02_MTRREV; - r = sanei_genesys_get_address (local_reg, REG01); - r->value &= ~REG01_SCAN; - - RIE (dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL843_MAX_REGS)); - - status = gl843_start_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_slow_back_home: failed to start motor: %s\n", - sane_strstatus (status)); - gl843_stop_action (dev); - /* restore original registers */ - dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL843_MAX_REGS); - return status; - } - - if (wait_until_home) - { - - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL >= DBG_io2) - { - sanei_genesys_print_status (val); - } - - if (val & REG41_HOMESNR) /* home sensor */ - { - DBG (DBG_info, "gl843_slow_back_home: reached home position\n"); - DBG (DBG_proc, "gl843_slow_back_home: finished\n"); - return SANE_STATUS_GOOD; - } - usleep (100000); /* sleep 100 ms */ - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl843_stop_action (dev); - DBG (DBG_error, - "gl843_slow_back_home: timeout while waiting for scanhead to go home\n"); - return SANE_STATUS_IO_ERROR; - } - - DBG (DBG_info, "%s: scanhead is still moving\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels - area at 600 dpi from very top of scanner */ -static SANE_Status -gl843_search_start_position (Genesys_Device * dev) -{ - int size; - SANE_Status status; - uint8_t *data; - Genesys_Register_Set local_reg[GENESYS_GL843_MAX_REGS]; - int steps; - - int pixels = 600; - int dpi = 300; - - DBG (DBG_proc, "gl843_search_start_position\n"); - - memcpy (local_reg, dev->reg, GENESYS_GL843_MAX_REGS * sizeof (Genesys_Register_Set)); - - /* sets for a 200 lines * 600 pixels */ - /* normal scan with no shading */ - - status = gl843_init_scan_regs (dev, - local_reg, - dpi, - dpi, - 0, - 0, /*we should give a small offset here~60 steps */ - 600, - dev->model->search_lines, - 8, - 1, - SCAN_MODE_GRAY, - 1, /*green */ - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_search_start_position: failed to bulk setup registers: %s\n", - sane_strstatus (status)); - return status; - } - - /* send to scanner */ - status = dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL843_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_search_start_position: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - size = pixels * dev->model->search_lines; - - data = malloc (size); - if (!data) - { - DBG (DBG_error, - "gl843_search_start_position: failed to allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - - status = gl843_begin_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl843_search_start_position: failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data, size); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl843_search_start_position: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("search_position.pnm", data, 8, 1, pixels, - dev->model->search_lines); - - status = gl843_end_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl843_search_start_position: failed to end scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* update regs to copy ASIC internal state */ - memcpy (dev->reg, local_reg, GENESYS_GL843_MAX_REGS * sizeof (Genesys_Register_Set)); - - status = - sanei_genesys_search_reference_point (dev, data, 0, dpi, pixels, - dev->model->search_lines); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl843_search_start_position: failed to set search reference point: %s\n", - sane_strstatus (status)); - return status; - } - - free (data); - return SANE_STATUS_GOOD; -} - -/* - * sets up register for coarse gain calibration - * todo: check it for scanners using it */ -static SANE_Status -gl843_init_regs_for_coarse_calibration (Genesys_Device * dev) -{ - SANE_Status status; - uint8_t channels; - uint8_t cksel; - - DBGSTART; - cksel = (dev->calib_reg[reg_0x18].value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ - - /* set line size */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - channels = 3; - else - channels = 1; - - status = gl843_init_scan_regs (dev, - dev->calib_reg, - dev->settings.xres, - dev->settings.yres, - 0, - 0, - /* XXX STEF XXX dpi instead of pixels !*/ - dev->sensor.optical_res / cksel, - 20, - 16, - channels, - dev->settings.scan_mode, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_init_register_for_coarse_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - gl843_set_motor_power (dev->calib_reg, SANE_FALSE); - - DBG (DBG_info, - "gl843_init_register_for_coarse_calibration: optical sensor res: %d dpi, actual res: %d\n", - dev->sensor.optical_res / cksel, dev->settings.xres); - - status = dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL843_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_init_register_for_coarse_calibration: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief moves the slider to steps at motor base dpi - * @param dev device to work on - * @param steps number of steps to move - * */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl843_feed (Genesys_Device * dev, unsigned int steps) -{ - Genesys_Register_Set local_reg[GENESYS_GL843_MAX_REGS]; - SANE_Status status; - Genesys_Register_Set *r; - float resolution; - uint8_t val; - - DBGSTART; - - /* prepare local registers */ - memcpy (local_reg, dev->reg, GENESYS_GL843_MAX_REGS * sizeof (Genesys_Register_Set)); - - resolution=sanei_genesys_get_lowest_ydpi(dev); - status = gl843_init_scan_regs (dev, - local_reg, - resolution, - resolution, - 0, - steps, - 100, - 3, - 8, - 3, - SCAN_MODE_COLOR, - 0, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_FEEDING | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_feed: failed to set up registers: %s\n", - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT)); - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRMCNT)); - - /* set up for no scan */ - r = sanei_genesys_get_address (local_reg, REG01); - r->value &= ~REG01_SCAN; - - /* send registers */ - RIE (dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL843_MAX_REGS)); - - status = gl843_start_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus (status)); - gl843_stop_action (dev); - - /* restore original registers */ - dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL843_MAX_REGS); - return status; - } - - /* wait until feed count reaches the required value, but do not - * exceed 30s */ - do - { - status = sanei_genesys_get_status (dev, &val); - } - while (status == SANE_STATUS_GOOD && !(val & FEEDFSH)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* init registers for shading calibration */ -/* shading calibration is done at dpihw */ -static SANE_Status -gl843_init_regs_for_shading (Genesys_Device * dev) -{ - SANE_Status status; - int move, resolution, dpihw, factor; - uint16_t strpixel; - - DBGSTART; - - /* initial calibration reg values */ - memcpy (dev->calib_reg, dev->reg, GENESYS_GL843_MAX_REGS * sizeof (Genesys_Register_Set)); - - dev->calib_channels = 3; - dev->calib_lines = dev->model->shading_lines; - dpihw=sanei_genesys_compute_dpihw(dev,dev->settings.xres); - factor=dev->sensor.optical_res/dpihw; - resolution=dpihw; - dev->calib_resolution = resolution; - dev->calib_pixels = dev->sensor.sensor_pixels/factor; - - /* distance to move to reach white target */ - move = SANE_UNFIX (dev->model->y_offset_calib); - move = (move * resolution) / MM_PER_INCH; - - status = gl843_init_scan_regs (dev, - dev->calib_reg, - resolution, - resolution, - 0, - move, - dev->calib_pixels, - dev->calib_lines, - 16, - dev->calib_channels, - dev->settings.scan_mode, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_init_registers_for_shading: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - dev->scanhead_position_in_steps += dev->calib_lines + move; - sanei_genesys_get_double(dev->calib_reg,REG_STRPIXEL,&strpixel); - DBG (DBG_info, "%s: STRPIXEL=%d\n", __func__, strpixel); - - status = dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL843_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_init_registers_for_shading: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief set up registers for the actual scan - */ -static SANE_Status -gl843_init_regs_for_scan (Genesys_Device * dev) -{ - int channels; - int flags; - int depth; - float move; - int move_dpi; - float start; - - SANE_Status status; - - DBG (DBG_info, - "gl843_init_regs_for_scan settings:\nResolution: %ux%uDPI\n" - "Lines : %u\npixels : %u\nStartpos : %.3f/%.3f\nScan mode : %d\n\n", - dev->settings.xres, - dev->settings.yres, - dev->settings.lines, - dev->settings.pixels, - dev->settings.tl_x, - dev->settings.tl_y, - dev->settings.scan_mode); - - /* ensure head is parked in case of calibration */ - gl843_slow_back_home (dev, SANE_TRUE); - - /* channels */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == SCAN_MODE_LINEART) - depth = 1; - - move_dpi = dev->motor.base_ydpi; - - move = SANE_UNFIX (dev->model->y_offset); - move += dev->settings.tl_y; - move = (move * move_dpi) / MM_PER_INCH; - DBG (DBG_info, "gl843_init_regs_for_scan: move=%f steps\n", move); - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - start = (start * dev->sensor.optical_res) / MM_PER_INCH; - - flags = 0; - - /* enable emulated lineart from gray data */ - if(dev->settings.scan_mode == SCAN_MODE_LINEART - && dev->settings.dynamic_lineart) - { - flags |= SCAN_FLAG_DYNAMIC_LINEART; - } - - status = gl843_init_scan_regs (dev, - dev->reg, - dev->settings.xres, - dev->settings.yres, - start, - move, - dev->settings.pixels, - dev->settings.lines, - depth, - channels, - dev->settings.scan_mode, - dev->settings.color_filter, - flags); - - if (status != SANE_STATUS_GOOD) - return status; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * This function sends gamma tables to ASIC - */ -static SANE_Status -gl843_send_gamma_table (Genesys_Device * dev) -{ - int size; - int status; - uint8_t *gamma; - int i; - - DBGSTART; - - size = 256; - - /* allocate temporary gamma tables: 16 bits words, 3 channels */ - gamma = (uint8_t *) malloc (size * 2 * 3); - if (!gamma) - return SANE_STATUS_NO_MEM; - - /* copy sensor specific's gamma tables */ - for (i = 0; i < size; i++) - { - gamma[i * 2 + size * 0 + 0] = dev->sensor.gamma_table[GENESYS_RED][i] & 0xff; - gamma[i * 2 + size * 0 + 1] = (dev->sensor.gamma_table[GENESYS_RED][i] >> 8) & 0xff; - gamma[i * 2 + size * 2 + 0] = dev->sensor.gamma_table[GENESYS_GREEN][i] & 0xff; - gamma[i * 2 + size * 2 + 1] = (dev->sensor.gamma_table[GENESYS_GREEN][i] >> 8) & 0xff; - gamma[i * 2 + size * 4 + 0] = dev->sensor.gamma_table[GENESYS_BLUE][i] & 0xff; - gamma[i * 2 + size * 4 + 1] = (dev->sensor.gamma_table[GENESYS_BLUE][i] >> 8) & 0xff; - } - - /* send address */ - status = gl843_set_buffer_address (dev, 0x0000); - if (status != SANE_STATUS_GOOD) - { - free (gamma); - DBG (DBG_error, - "gl843_send_gamma_table: failed to set buffer address: %s\n", - sane_strstatus (status)); - return status; - } - - /* send data */ - status = gl843_bulk_write_data (dev, 0x28, (uint8_t *) gamma, size * 2 * 3); - if (status != SANE_STATUS_GOOD) - { - free (gamma); - DBG (DBG_error, - "gl843_send_gamma_table: failed to send gamma table: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_proc, "gl843_send_gamma_table: completed\n"); - free (gamma); - return SANE_STATUS_GOOD; -} - -/* this function does the led calibration by scanning one line of the calibration - area below scanner's top on white strip. - --needs working coarse/gain -*/ -static SANE_Status -gl843_led_calibration (Genesys_Device * dev) -{ - int num_pixels; - int total_size; - int used_res; - uint8_t *line; - int i, j; - SANE_Status status = SANE_STATUS_GOOD; - int val; - int channels, depth; - int avg[3], avga, avge; - int turn; - char fn[20]; - uint16_t expr, expg, expb; - Genesys_Register_Set *r; - - SANE_Bool acceptable = SANE_FALSE; - - DBG (DBG_proc, "gl843_led_calibration\n"); - - /* offset calibration is always done in color mode */ - channels = 3; - depth = 16; - used_res = dev->sensor.optical_res; - num_pixels = - (dev->sensor.sensor_pixels * used_res) / dev->sensor.optical_res; - - /* initial calibration reg values */ - memcpy (dev->calib_reg, dev->reg, - GENESYS_GL843_MAX_REGS * sizeof (Genesys_Register_Set)); - - status = gl843_init_scan_regs (dev, - dev->calib_reg, - used_res, - dev->motor.base_ydpi, - 0, - 0, - num_pixels, - 1, - depth, - channels, - SCAN_MODE_COLOR, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_led_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - RIE (dev->model->cmd_set->bulk_write_register - (dev, dev->calib_reg, GENESYS_GL843_MAX_REGS)); - - - total_size = num_pixels * channels * (depth / 8) * 1; /* colors * bytes_per_color * scan lines */ - - line = malloc (total_size); - if (!line) - return SANE_STATUS_NO_MEM; - -/* - we try to get equal bright leds here: - - loop: - average per color - adjust exposure times - */ - - expr = (dev->sensor.regs_0x10_0x1d[0] << 8) | dev->sensor.regs_0x10_0x1d[1]; - expg = (dev->sensor.regs_0x10_0x1d[2] << 8) | dev->sensor.regs_0x10_0x1d[3]; - expb = (dev->sensor.regs_0x10_0x1d[4] << 8) | dev->sensor.regs_0x10_0x1d[5]; - - turn = 0; - - do - { - - dev->sensor.regs_0x10_0x1d[0] = (expr >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[1] = expr & 0xff; - dev->sensor.regs_0x10_0x1d[2] = (expg >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[3] = expg & 0xff; - dev->sensor.regs_0x10_0x1d[4] = (expb >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[5] = expb & 0xff; - - for (i = 0; i < 6; i++) - { - r = sanei_genesys_get_address (dev->calib_reg, 0x10 + i); - r->value = dev->sensor.regs_0x10_0x1d[i]; - } - - RIE (dev->model->cmd_set->bulk_write_register - (dev, dev->calib_reg, GENESYS_GL843_MAX_REGS)); - - DBG (DBG_info, "gl843_led_calibration: starting first line reading\n"); - RIE (gl843_begin_scan (dev, dev->calib_reg, SANE_TRUE)); - RIE (sanei_genesys_read_data_from_scanner (dev, line, total_size)); - - if (DBG_LEVEL >= DBG_data) - { - snprintf (fn, 20, "led_%02d.pnm", turn); - sanei_genesys_write_pnm_file (fn, - line, depth, channels, num_pixels, 1); - } - - acceptable = SANE_TRUE; - - for (j = 0; j < channels; j++) - { - avg[j] = 0; - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * num_pixels + 1] * 256 + - line[i * 2 + j * 2 * num_pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - avg[j] += val; - } - - avg[j] /= num_pixels; - } - - DBG (DBG_info, "gl843_led_calibration: average: " - "%d,%d,%d\n", avg[0], avg[1], avg[2]); - - acceptable = SANE_TRUE; - - if (avg[0] < avg[1] * 0.95 || avg[1] < avg[0] * 0.95 || - avg[0] < avg[2] * 0.95 || avg[2] < avg[0] * 0.95 || - avg[1] < avg[2] * 0.95 || avg[2] < avg[1] * 0.95) - acceptable = SANE_FALSE; - - if (!acceptable) - { - avga = (avg[0] + avg[1] + avg[2]) / 3; - expr = (expr * avga) / avg[0]; - expg = (expg * avga) / avg[1]; - expb = (expb * avga) / avg[2]; -/* - keep the resulting exposures below this value. - too long exposure drives the ccd into saturation. - we may fix this by relying on the fact that - we get a striped scan without shading, by means of - statistical calculation -*/ - avge = (expr + expg + expb) / 3; - - /* don't overflow max exposure */ - if (avge > 3000) - { - expr = (expr * 2000) / avge; - expg = (expg * 2000) / avge; - expb = (expb * 2000) / avge; - } - if (avge < 50) - { - expr = (expr * 50) / avge; - expg = (expg * 50) / avge; - expb = (expb * 50) / avge; - } - - } - - RIE (gl843_stop_action (dev)); - - turn++; - - } - while (!acceptable && turn < 100); - - DBG (DBG_info, "gl843_led_calibration: acceptable exposure: %d,%d,%d\n", - expr, expg, expb); - - /* cleanup before return */ - free (line); - - gl843_slow_back_home (dev, SANE_TRUE); - - DBG (DBG_proc, "gl843_led_calibration: completed\n"); - return status; -} - - - -/** - * average dark pixels of a 8 bits scan of a given channel - */ -static int -dark_average_channel (uint8_t * data, unsigned int pixels, unsigned int lines, - unsigned int channels, unsigned int black, int channel) -{ - unsigned int i, j, k, count; - unsigned int avg[3]; - uint8_t val; - - /* computes average values on black margin */ - for (k = 0; k < channels; k++) - { - avg[k] = 0; - count = 0; - for (i = 0; i < lines; i++) - { - for (j = 0; j < black; j++) - { - val = data[i * channels * pixels + j*channels + k]; - avg[k] += val; - count++; - } - } - if (count) - avg[k] /= count; - DBG (DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); - } - DBG (DBG_info, "%s: average = %d\n", __func__, avg[channel]); - return avg[channel]; -} - -/** @brief calibrate AFE offset - * Iterate doing scans at target dpi until AFE offset if correct. One - * color line is scanned at a time. Scanning head doesn't move. - * @param dev device to calibrate - */ -static SANE_Status -gl843_offset_calibration (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t *first_line, *second_line; - unsigned int channels, bpp; - char title[32]; - int pass, total_size, i, resolution, lines; - int topavg[3], bottomavg[3], avg[3]; - int top[3], bottom[3], black_pixels, pixels, factor, dpihw; - - DBGSTART; - - /* offset calibration is always done in color mode */ - channels = 3; - lines = 8; - bpp = 8; - - /* compute divider factor to compute final pixels number */ - dpihw = sanei_genesys_compute_dpihw (dev, dev->settings.xres); - factor = dev->sensor.optical_res / dpihw; - resolution = dpihw; - pixels = dev->sensor.sensor_pixels / factor; - black_pixels = dev->sensor.black_pixels / factor; - DBG (DBG_io, "gl843_offset_calibration: dpihw =%d\n", dpihw); - DBG (DBG_io, "gl843_offset_calibration: factor =%d\n", factor); - DBG (DBG_io, "gl843_offset_calibration: resolution =%d\n", resolution); - DBG (DBG_io, "gl843_offset_calibration: pixels =%d\n", pixels); - DBG (DBG_io, "gl843_offset_calibration: black_pixels=%d\n", black_pixels); - - status = gl843_init_scan_regs (dev, - dev->calib_reg, - resolution, - resolution, - 0, - 0, - pixels, - lines, - bpp, - channels, - SCAN_MODE_COLOR, - 0, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl843_offset_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - gl843_set_motor_power (dev->calib_reg, SANE_FALSE); - - /* allocate memory for scans */ - total_size = pixels * channels * lines * (bpp / 8); /* colors * bytes_per_color * scan lines */ - - first_line = malloc (total_size); - if (!first_line) - return SANE_STATUS_NO_MEM; - - second_line = malloc (total_size); - if (!second_line) - { - free (first_line); - return SANE_STATUS_NO_MEM; - } - - /* init gain and offset */ - for (i = 0; i < 3; i++) - { - bottom[i] = 10; - dev->frontend.offset[i] = bottom[i]; - dev->frontend.gain[i] = 0; - } - RIEF2 (gl843_set_fe (dev, AFE_SET), first_line, second_line); - - /* scan with obttom AFE settings */ - RIEF2 (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL843_MAX_REGS), first_line, second_line); - DBG (DBG_info, "gl843_offset_calibration: starting first line reading\n"); - RIEF2 (gl843_begin_scan (dev, dev->calib_reg, SANE_TRUE), first_line, second_line); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, first_line, total_size), first_line, second_line); - if (DBG_LEVEL >= DBG_data) - { - for (i = 0; i < 3; i++) - { - snprintf (title, 20, "offset_%d_%03d.pnm", i, bottom[i]); - sanei_genesys_write_pnm_file (title, first_line, bpp, channels, pixels, lines); - } - } - - for (i = 0; i < 3; i++) - { - bottomavg[i] = dark_average_channel (first_line, pixels, lines, channels, black_pixels, i); - DBG (DBG_io2, "gl843_offset_calibration: bottom avg %d=%d\n", i, bottomavg[i]); - } - - /* now top value */ - for (i = 0; i < 3; i++) - { - top[i] = 255; - dev->frontend.offset[i] = top[i]; - } - RIEF2 (gl843_set_fe (dev, AFE_SET), first_line, second_line); - - /* scan with top AFE values */ - RIEF2 (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL843_MAX_REGS), first_line, second_line); - DBG (DBG_info, "gl843_offset_calibration: starting second line reading\n"); - RIEF2 (gl843_begin_scan (dev, dev->calib_reg, SANE_TRUE), first_line, second_line); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, second_line, total_size), first_line, second_line); - - for (i = 0; i < 3; i++) - { - topavg[i] = dark_average_channel (second_line, pixels, lines, channels, black_pixels, i); - DBG (DBG_io2, "gl843_offset_calibration: top avg %d=%d\n", i, topavg[i]); - } - - pass = 0; - - /* loop until acceptable level */ - while ((pass < 32) - && ((top[0] - bottom[0] > 1) - || (top[1] - bottom[1] > 1) || (top[2] - bottom[2] > 1))) - { - pass++; - - /* settings for new scan */ - for (i = 0; i < 3; i++) - { - if (top[i] - bottom[i] > 1) - { - dev->frontend.offset[i] = (top[i] + bottom[i]) / 2; - } - } - RIEF2 (gl843_set_fe (dev, AFE_SET), first_line, second_line); - - /* scan with no move */ - RIEF2 (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL843_MAX_REGS), first_line, second_line); - DBG (DBG_info, "gl843_offset_calibration: starting second line reading\n"); - RIEF2 (gl843_begin_scan (dev, dev->calib_reg, SANE_TRUE), first_line, second_line); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, second_line, total_size), first_line, second_line); - - if (DBG_LEVEL >= DBG_data) - { - for (i = 0; i < 3; i++) - { - sprintf (title, "offset_%d_%03d.pnm", i, dev->frontend.offset[i]); - sanei_genesys_write_pnm_file (title, second_line, bpp, channels, pixels, lines); - } - } - - for (i = 0; i < 3; i++) - { - avg[i] = dark_average_channel (second_line, pixels, lines, channels, black_pixels, i); - DBG (DBG_info, "gl843_offset_calibration: avg[%d]=%d offset=%d\n", i, avg[i], dev->frontend.offset[i]); - } - - /* compute new boundaries */ - for (i = 0; i < 3; i++) - { - if (topavg[i] >= avg[i]) - { - topavg[i] = avg[i]; - top[i] = dev->frontend.offset[i]; - } - else - { - bottomavg[i] = avg[i]; - bottom[i] = dev->frontend.offset[i]; - } - } - } - DBG (DBG_info, "gl843_offset_calibration: offset=(%d,%d,%d)\n", - dev->frontend.offset[0], - dev->frontend.offset[1], - dev->frontend.offset[2]); - - /* cleanup before return */ - free (first_line); - free (second_line); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* alternative coarse gain calibration - this on uses the settings from offset_calibration and - uses only one scanline - */ -/* - with offset and coarse calibration we only want to get our input range into - a reasonable shape. the fine calibration of the upper and lower bounds will - be done with shading. - */ -static SANE_Status -gl843_coarse_gain_calibration (Genesys_Device * dev, int dpi) -{ - int pixels, factor, dpihw; - int total_size; - uint8_t *line; - int i, j, channels; - SANE_Status status = SANE_STATUS_GOOD; - int max[3]; - float gain[3],coeff; - int val, code, lines; - int resolution; - int bpp; - - DBG (DBG_proc, "gl843_coarse_gain_calibration: dpi = %d\n", dpi); - dpihw=sanei_genesys_compute_dpihw(dev, dpi); - factor=dev->sensor.optical_res/dpihw; - - /* coarse gain calibration is always done in color mode */ - channels = 3; - - /* follow CKSEL */ - if (dev->model->ccd_type == CCD_KVSS080) - { - if(dev->settings.xressensor.optical_res) - { - coeff=0.9; - } - else - { - coeff=1.0; - } - } - else - { - coeff=1.0; - } - resolution=dpihw; - lines=10; - bpp=8; - pixels = dev->sensor.sensor_pixels / factor; - - status = gl843_init_scan_regs (dev, - dev->calib_reg, - resolution, - resolution, - 0, - 0, - pixels, - lines, - bpp, - channels, - SCAN_MODE_COLOR, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - gl843_set_motor_power (dev->calib_reg, SANE_FALSE); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_coarse_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - RIE (dev->model->cmd_set->bulk_write_register - (dev, dev->calib_reg, GENESYS_GL843_MAX_REGS)); - - total_size = pixels * channels * (16/bpp) * lines; - - line = malloc (total_size); - if (!line) - return SANE_STATUS_NO_MEM; - - RIEF (gl843_set_fe(dev, AFE_SET), line); - RIEF (gl843_begin_scan (dev, dev->calib_reg, SANE_TRUE), line); - RIEF (sanei_genesys_read_data_from_scanner (dev, line, total_size), line); - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("coarse.pnm", line, bpp, channels, pixels, lines); - - /* average value on each channel */ - for (j = 0; j < channels; j++) - { - max[j] = 0; - for (i = pixels/4; i < (pixels*3/4); i++) - { - if(bpp==16) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * pixels + 1] * 256 + - line[i * 2 + j * 2 * pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - } - else - { - if (dev->model->is_cis) - val = line[i + j * pixels]; - else - val = line[i * channels + j]; - } - - max[j] += val; - } - max[j] = max[j] / (pixels/2); - - gain[j] = ((float) dev->sensor.gain_white_ref*coeff) / max[j]; - - /* turn logical gain value into gain code, checking for overflow */ - code = 283 - 208 / gain[j]; - if (code > 255) - code = 255; - else if (code < 0) - code = 0; - dev->frontend.gain[j] = code; - - DBG (DBG_proc, - "gl843_coarse_gain_calibration: channel %d, max=%d, gain = %f, setting:%d\n", - j, max[j], gain[j], dev->frontend.gain[j]); - } - - if (dev->model->is_cis) - { - if (dev->frontend.gain[0] > dev->frontend.gain[1]) - dev->frontend.gain[0] = dev->frontend.gain[1]; - if (dev->frontend.gain[0] > dev->frontend.gain[2]) - dev->frontend.gain[0] = dev->frontend.gain[2]; - dev->frontend.gain[2] = dev->frontend.gain[1] = dev->frontend.gain[0]; - } - - if (channels == 1) - { - dev->frontend.gain[0] = dev->frontend.gain[1]; - dev->frontend.gain[2] = dev->frontend.gain[1]; - } - - free (line); - - RIE (gl843_stop_action (dev)); - - status=gl843_slow_back_home (dev, SANE_TRUE); - - DBGCOMPLETED; - return status; -} - -/* - * wait for lamp warmup by scanning the same line until difference - * between 2 scans is below a threshold - */ -static SANE_Status -gl843_init_regs_for_warmup (Genesys_Device * dev, - Genesys_Register_Set * reg, - int *channels, int *total_size) -{ - int num_pixels; - SANE_Status status = SANE_STATUS_GOOD; - int dpihw; - int resolution; - int factor; - - DBGSTART; - if (dev == NULL || reg == NULL || channels == NULL || total_size == NULL) - return SANE_STATUS_INVAL; - - /* setup scan */ - *channels=3; - resolution=600; - dpihw=sanei_genesys_compute_dpihw(dev, resolution); - factor=dev->sensor.optical_res/dpihw; - num_pixels=dev->sensor.sensor_pixels/(factor*2); - *total_size = num_pixels * 3 * 1; - - memcpy (reg, dev->reg, (GENESYS_GL843_MAX_REGS + 1) * sizeof (Genesys_Register_Set)); - status = gl843_init_scan_regs (dev, - reg, - resolution, - resolution, - num_pixels/2, - 0, - num_pixels, - 1, - 8, - *channels, - SCAN_MODE_COLOR, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); - return status; - } - - gl843_set_motor_power (reg, SANE_FALSE); - RIE (dev->model->cmd_set->bulk_write_register (dev, reg, GENESYS_GL843_MAX_REGS)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * set up GPIO/GPOE for idle state -WRITE GPIO[17-21]= GPIO19 -WRITE GPOE[17-21]= GPOE21 GPOE20 GPOE19 GPOE18 -genesys_write_register(0xa8,0x3e) -GPIO(0xa8)=0x3e - */ -static SANE_Status -gl843_init_gpio (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx; - - DBGSTART; - - RIE (sanei_genesys_write_register (dev, REG6E, dev->gpo.enable[0])); - RIE (sanei_genesys_write_register (dev, REG6F, dev->gpo.enable[1])); - RIE (sanei_genesys_write_register (dev, REG6C, dev->gpo.value[0])); - RIE (sanei_genesys_write_register (dev, REG6D, dev->gpo.value[1])); - - idx=0; - while(dev->model->gpo_type != gpios[idx].gpo_type && gpios[idx].gpo_type!=0) - { - idx++; - } - if (gpios[idx].gpo_type!=0) - { - RIE (sanei_genesys_write_register (dev, REGA6, gpios[idx].ra6)); - RIE (sanei_genesys_write_register (dev, REGA7, gpios[idx].ra7)); - RIE (sanei_genesys_write_register (dev, REGA8, gpios[idx].ra8)); - RIE (sanei_genesys_write_register (dev, REGA9, gpios[idx].ra9)); - } - else - { - status=SANE_STATUS_INVAL; - } - - DBGCOMPLETED; - return status; -} - - -/* * - * initialize ASIC from power on condition - */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl843_boot (Genesys_Device * dev, SANE_Bool cold) -{ - SANE_Status status; - uint8_t val; - - DBGSTART; - - if(cold) - { - RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); - RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); - } - - if(dev->usb_mode == 1) - { - val = 0x14; - } - else - { - val = 0x11; - } - RIE (sanei_genesys_write_0x8c (dev, 0x0f, val)); - - /* test CHKVER */ - RIE (sanei_genesys_read_register (dev, REG40, &val)); - if (val & REG40_CHKVER) - { - RIE (sanei_genesys_read_register (dev, 0x00, &val)); - DBG (DBG_info, - "%s: reported version for genesys chip is 0x%02x\n", __func__, - val); - } - - /* Set default values for registers */ - gl843_init_registers (dev); - - RIE (sanei_genesys_write_register (dev, REG6B, 0x02)); - - /* Write initial registers */ - RIE (dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL843_MAX_REGS)); - - /* Enable DRAM by setting a rising edge on bit 3 of reg 0x0b */ - val = dev->reg[reg_0x0b].value & REG0B_DRAMSEL; - val = (val | REG0B_ENBDRAM); - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg[reg_0x0b].value = val; - /* URB 14 control 0x40 0x0c 0x8c 0x10 len 1 wrote 0xb4 */ - RIE (sanei_genesys_write_0x8c (dev, 0x10, 0xb4)); - - /* CLKSET */ - val = (dev->reg[reg_0x0b].value & ~REG0B_CLKSET) | REG0B_48MHZ; - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg[reg_0x0b].value = val; - - /* prevent further writings by bulk write register */ - dev->reg[reg_0x0b].address = 0x00; - - /* set up end access */ - sanei_genesys_write_register (dev, REGA7, 0x04); - sanei_genesys_write_register (dev, REGA9, 0x00); - - /* set RAM read address */ - RIE (sanei_genesys_write_register (dev, REG29, 0x00)); - RIE (sanei_genesys_write_register (dev, REG2A, 0x00)); - RIE (sanei_genesys_write_register (dev, REG2B, 0x00)); - - /* setup gpio */ - RIE (gl843_init_gpio (dev)); - - gl843_feed (dev, 300); - usleep (100000); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* * - * initialize backend and ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home - */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl843_init (Genesys_Device * dev) -{ - SANE_Status status; - - DBG_INIT (); - DBGSTART; - - status=sanei_genesys_asic_init(dev, GENESYS_GL843_MAX_REGS); - - DBGCOMPLETED; - return status; -} - -static SANE_Status -gl843_update_hardware_sensors (Genesys_Scanner * s) -{ - /* do what is needed to get a new set of events, but try to not lose - any of them. - */ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - - RIE (sanei_genesys_read_register (s->dev, REG6D, &val)); - - switch (s->dev->model->gpo_type) - { - case GPO_KVSS080: - if (s->val[OPT_SCAN_SW].b == s->last_val[OPT_SCAN_SW].b) - s->val[OPT_SCAN_SW].b = (val & 0x04) == 0; - break; - case GPO_G4050: - if (s->val[OPT_SCAN_SW].b == s->last_val[OPT_SCAN_SW].b) - s->val[OPT_SCAN_SW].b = (val & 0x01) == 0; - if (s->val[OPT_FILE_SW].b == s->last_val[OPT_FILE_SW].b) - s->val[OPT_FILE_SW].b = (val & 0x02) == 0; - if (s->val[OPT_EMAIL_SW].b == s->last_val[OPT_EMAIL_SW].b) - s->val[OPT_EMAIL_SW].b = (val & 0x04) == 0; - if (s->val[OPT_COPY_SW].b == s->last_val[OPT_COPY_SW].b) - s->val[OPT_COPY_SW].b = (val & 0x08) == 0; - break; - case GPO_CS4400F: - case GPO_CS8400F: - default: - break; - } - - return status; -} -#ifndef UNIT_TESTING -static -#endif -/** @brief move sensor to transparency adaptor - * Move sensor to the calibration of the transparency adapator (XPA). - * @param dev device to use - */ -SANE_Status gl843_move_to_ta (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - float resolution; - unsigned int feed; - - DBGSTART; - - resolution=sanei_genesys_get_lowest_ydpi(dev); - feed = 16*(SANE_UNFIX (dev->model->y_offset_calib_ta) * resolution) / MM_PER_INCH; - status = gl843_feed (dev, feed); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to move to XPA calibration area\n", __func__); - return status; - } - - DBGCOMPLETED; - return status; -} - - -/** @brief search for a full width black or white strip. - * This function searches for a black or white stripe across the scanning area. - * When searching backward, the searched area must completely be of the desired - * color since this area will be used for calibration which scans forward. - * @param dev scanner device - * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward - * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip - * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not - */ -static SANE_Status -gl843_search_strip (Genesys_Device * dev, SANE_Bool forward, SANE_Bool black) -{ - unsigned int pixels, lines, channels; - SANE_Status status; - Genesys_Register_Set local_reg[GENESYS_GL843_MAX_REGS]; - size_t size; - uint8_t *data; - int steps, depth, dpi; - unsigned int pass, count, found, x, y; - char title[80]; - Genesys_Register_Set *r; - - DBG (DBG_proc, "gl843_search_strip %s %s\n", black ? "black" : "white", - forward ? "forward" : "reverse"); - - gl843_set_fe (dev, AFE_SET); - status = gl843_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_search_strip: failed to stop: %s\n", - sane_strstatus (status)); - return status; - } - - /* set up for a gray scan at lowest dpi */ - dpi = sanei_genesys_get_lowest_dpi(dev); - channels = 1; - - /* 10 MM */ - /* lines = (10 * dpi) / MM_PER_INCH; */ - /* shading calibation is done with dev->motor.base_ydpi */ - lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; - depth = 8; - pixels = (dev->sensor.sensor_pixels * dpi) / dev->sensor.optical_res; - size = pixels * channels * lines * (depth / 8); - data = malloc (size); - if (!data) - { - DBG (DBG_error, "gl843_search_strip: failed to allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - dev->scanhead_position_in_steps = 0; - - memcpy (local_reg, dev->reg, - GENESYS_GL843_MAX_REGS * sizeof (Genesys_Register_Set)); - - status = gl843_init_scan_regs (dev, - local_reg, - dpi, - dpi, - 0, - 0, - pixels, - lines, - depth, - channels, - SCAN_MODE_GRAY, - 0, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA); - if (status != SANE_STATUS_GOOD) - { - free(data); - DBG (DBG_error, - "gl843_search_strip: failed to setup for scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* set up for reverse or forward */ - r = sanei_genesys_get_address (local_reg, REG02); - if (forward) - r->value &= ~REG02_MTRREV; - else - r->value |= REG02_MTRREV; - - - status = dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL843_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - free(data); - DBG (DBG_error, - "gl843_search_strip: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl843_begin_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl843_search_strip: failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data, size); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl843_search_start_position: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl843_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, "gl843_search_strip: gl843_stop_action failed\n"); - return status; - } - - pass = 0; - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "search_strip_%s_%s%02d.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); - sanei_genesys_write_pnm_file (title, data, depth, channels, pixels, - lines); - } - - /* loop until strip is found or maximum pass number done */ - found = 0; - while (pass < 20 && !found) - { - status = - dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL843_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl843_search_strip: failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - /* now start scan */ - status = gl843_begin_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl843_search_strip: failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data, size); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl843_search_start_position: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl843_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, "gl843_search_strip: gl843_stop_action failed\n"); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "search_strip_%s_%s%02d.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); - sanei_genesys_write_pnm_file (title, data, depth, channels, - pixels, lines); - } - - /* search data to find black strip */ - /* when searching forward, we only need one line of the searched color since we - * will scan forward. But when doing backward search, we need all the area of the - * same color */ - if (forward) - { - for (y = 0; y < lines && !found; y++) - { - count = 0; - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < 60) - { - count++; - } - } - - /* at end of line, if count >= 3%, line is not fully of the desired color - * so we must go to next line of the buffer */ - /* count*100/pixels < 3 */ - if ((count * 100) / pixels < 3) - { - found = 1; - DBG (DBG_data, - "gl843_search_strip: strip found forward during pass %d at line %d\n", - pass, y); - } - else - { - DBG (DBG_data, - "gl843_search_strip: pixels=%d, count=%d (%d%%)\n", - pixels, count, (100 * count) / pixels); - } - } - } - else /* since calibration scans are done forward, we need the whole area - to be of the required color when searching backward */ - { - count = 0; - for (y = 0; y < lines; y++) - { - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < 60) - { - count++; - } - } - } - - /* at end of area, if count >= 3%, area is not fully of the desired color - * so we must go to next buffer */ - if ((count * 100) / (pixels * lines) < 3) - { - found = 1; - DBG (DBG_data, - "gl843_search_strip: strip found backward during pass %d \n", - pass); - } - else - { - DBG (DBG_data, - "gl843_search_strip: pixels=%d, count=%d (%d%%)\n", - pixels, count, (100 * count) / pixels); - } - } - pass++; - } - free (data); - if (found) - { - status = SANE_STATUS_GOOD; - DBG (DBG_info, "gl843_search_strip: %s strip found\n", - black ? "black" : "white"); - } - else - { - status = SANE_STATUS_UNSUPPORTED; - DBG (DBG_info, "gl843_search_strip: %s strip not found\n", - black ? "black" : "white"); - } - - DBG (DBG_proc, "gl843_search_strip: completed\n"); - return status; -} - -/** - * Send shading calibration data. The buffer is considered to always hold values - * for all the channels. - */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl843_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) -{ - SANE_Status status; - uint32_t final_size, length, i; - uint8_t *final_data; - uint8_t *buffer; - int count,offset; - unsigned int tgtime; - unsigned int cksel; - Genesys_Register_Set *r; - uint16_t dpiset, strpixel, endpixel, startx, factor; - - DBGSTART; - - offset=0; - length=size; - r = sanei_genesys_get_address (dev->reg, REG01); - if(r->value & REG01_SHDAREA) - { - /* recompute STRPIXEL used shading calibration so we can - * compute offset within data for SHDAREA case */ - r = sanei_genesys_get_address (dev->reg, REG18); - cksel= (r->value & REG18_CKSEL)+1; - sanei_genesys_get_double(dev->reg,REG_DPISET,&strpixel); - tgtime=1; - sanei_genesys_get_double(dev->reg,REG_DPISET,&dpiset); - factor=dev->sensor.optical_res/sanei_genesys_compute_dpihw(dev,dpiset); - if (dev->model->ccd_type == CCD_G4050 && dpiset>2400) - { - tgtime=2; - } - - /* start coordinate in optical dpi coordinates */ - startx = ((dev->sensor.dummy_pixel * tgtime)/cksel)/factor; - - /* current scan coordinates */ - sanei_genesys_get_double(dev->reg,REG_STRPIXEL,&strpixel); - sanei_genesys_get_double(dev->reg,REG_ENDPIXEL,&endpixel); - strpixel*=tgtime; - endpixel*=tgtime; - - /* 16 bit words, 2 words per color, 3 color channels */ - offset=(strpixel-startx)*2*2*3; - length=(endpixel-strpixel)*2*2*3; - DBG (DBG_info, "%s: STRPIXEL=%d, ENDPIXEL=%d, startx=%d\n", __func__, strpixel, endpixel, startx); - } - - /* compute and allocate size for final data */ - final_size = ((length+251) / 252) * 256; - DBG (DBG_io, "%s: final shading size=%04x (length=%d)\n", __func__, final_size, length); - final_data = (uint8_t *) malloc (final_size); - if(final_data==NULL) - { - DBG (DBG_error, "%s: failed to allocate memory for shading data\n", __func__); - return SANE_STATUS_NO_MEM; - } - memset(final_data,0x00,final_size); - - /* copy regular shading data to the expected layout */ - buffer = final_data; - count = 0; - - /* loop over calibration data */ - for (i = 0; i < length; i++) - { - buffer[count] = data[offset+i]; - count++; - if ((count % (256*2)) == (252*2)) - { - count += 4*2; - } - } - - /* send data */ - status = sanei_genesys_set_buffer_address (dev, 0); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus (status)); - free(final_data); - return status; - } - - status = dev->model->cmd_set->bulk_write_data (dev, 0x3c, final_data, count); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to send shading table: %s\n", __func__, sane_strstatus (status)); - } - - free(final_data); - DBGCOMPLETED; - return status; -} - - -/** the gl843 command set */ -static Genesys_Command_Set gl843_cmd_set = { - "gl843-generic", /* the name of this set */ - - gl843_init, - gl843_init_regs_for_warmup, - gl843_init_regs_for_coarse_calibration, - gl843_init_regs_for_shading, - gl843_init_regs_for_scan, - - gl843_get_filter_bit, - gl843_get_lineart_bit, - gl843_get_bitset_bit, - gl843_get_gain4_bit, - gl843_get_fast_feed_bit, - gl843_test_buffer_empty_bit, - gl843_test_motor_flag_bit, - - gl843_bulk_full_size, - - gl843_set_fe, - gl843_set_powersaving, - gl843_save_power, - - gl843_set_motor_power, - gl843_set_lamp_power, - - gl843_begin_scan, - gl843_end_scan, - - gl843_send_gamma_table, - - gl843_search_start_position, - - gl843_offset_calibration, - gl843_coarse_gain_calibration, - gl843_led_calibration, - - gl843_slow_back_home, - NULL, - - sanei_genesys_bulk_write_register, - gl843_bulk_write_data, - gl843_bulk_read_data, - - gl843_update_hardware_sensors, - - gl843_load_document, - gl843_detect_document_end, - gl843_eject_document, - gl843_search_strip, - - sanei_genesys_is_compatible_calibration, - gl843_move_to_ta, - gl843_send_shading_data, - gl843_calculate_current_setup, - gl843_boot, - NULL -}; - -SANE_Status -sanei_gl843_init_cmd_set (Genesys_Device * dev) -{ - dev->model->cmd_set = &gl843_cmd_set; - return SANE_STATUS_GOOD; -} - -/* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/genesys_gl843.cc b/backend/genesys_gl843.cc new file mode 100644 index 0000000..a72dc5a --- /dev/null +++ b/backend/genesys_gl843.cc @@ -0,0 +1,4415 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2010-2013 Stéphane Voltz + + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "genesys_gl843.h" + +#include +#include + +/**************************************************************************** + Low level function + ****************************************************************************/ + +/* ------------------------------------------------------------------------ */ +/* Read and write RAM, registers and AFE */ +/* ------------------------------------------------------------------------ */ + +/* Set address for writing data */ +static SANE_Status +gl843_set_buffer_address (Genesys_Device * dev, uint32_t addr) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_io, "%s: setting address to 0x%05x\n", __func__, addr & 0xffff); + + status = sanei_genesys_write_register (dev, 0x5b, ((addr >> 8) & 0xff)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed while writing high byte: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = sanei_genesys_write_register (dev, 0x5c, (addr & 0xff)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed while writing low byte: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_io, "%s: completed\n", __func__); + + return status; +} + +/** + * writes a block of data to RAM + * @param dev USB device + * @param addr RAM address to write to + * @param size size of the chunk of data + * @param data pointer to the data to write + */ +static SANE_Status +write_data (Genesys_Device * dev, uint32_t addr, uint32_t size, + uint8_t * data) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBGSTART; + + status = gl843_set_buffer_address (dev, addr); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed while setting address for bulk write data: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + /* write actual data */ + status = sanei_genesys_bulk_write_data(dev, 0x28, data, size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed while writing bulk write data: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + /* set back address to 0 */ + status = gl843_set_buffer_address (dev, 0); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed setting to default RAM address: %s\n", __func__, + sane_strstatus(status)); + return status; + } + DBGCOMPLETED; + return status; +} + +/**************************************************************************** + Mid level functions + ****************************************************************************/ + +static SANE_Bool +gl843_get_fast_feed_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, REG02); + if (r && (r->value & REG02_FASTFED)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl843_get_filter_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, REG04); + if (r && (r->value & REG04_FILTER)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl843_get_lineart_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, REG04); + if (r && (r->value & REG04_LINEART)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl843_get_bitset_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, REG04); + if (r && (r->value & REG04_BITSET)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl843_get_gain4_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, REG06); + if (r && (r->value & REG06_GAIN4)) + return SANE_TRUE; + return SANE_FALSE; +} + +/** + * compute the step multiplier used + */ +static int +gl843_get_step_multiplier (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + int value = 1; + + r = sanei_genesys_get_address (regs, REG9D); + if (r != NULL) + { + switch (r->value & 0x0c) + { + case 0x04: + value = 2; + break; + case 0x08: + value = 4; + break; + default: + value = 1; + } + } + DBG(DBG_io, "%s: step multiplier is %d\n", __func__, value); + return value; +} + +static SANE_Bool +gl843_test_buffer_empty_bit (SANE_Byte val) +{ + if (val & REG41_BUFEMPTY) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl843_test_motor_flag_bit (SANE_Byte val) +{ + if (val & REG41_MOTORENB) + return SANE_TRUE; + return SANE_FALSE; +} + +/** copy sensor specific settings */ +static void +gl843_setup_sensor (Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set * regs, int dpi,int flags) +{ + (void) dpi; + (void) flags; + + DBGSTART; + + for (const auto& custom_reg : sensor.custom_regs) { + regs->set8(custom_reg.address, custom_reg.value); + } + if (!(dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE)) { + regs->set8(0x7d, 0x90); + } + + DBGCOMPLETED; +} + + +/** @brief set all registers to default values . + * This function is called only once at the beginning and + * fills register startup values for registers reused across scans. + * Those that are rarely modified or not modified are written + * individually. + * @param dev device structure holding register set to initialize + */ +static void +gl843_init_registers (Genesys_Device * dev) +{ + // Within this function SENSOR_DEF marker documents that a register is part + // of the sensors definition and the actual value is set in + // gl843_setup_sensor(). + + DBGSTART; + + dev->reg.clear(); + + /* default to KV-SS080 */ + SETREG (0xa2, 0x0f); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0xa2, 0x1f); + } + SETREG (0x01, 0x00); + SETREG (0x02, 0x78); + SETREG (0x03, 0x1f); + SETREG (0x04, 0x10); + + // fine tune upon device description + SETREG (0x05, 0x80); + if (dev->model->model_id == MODEL_HP_SCANJET_G4010 || + dev->model->model_id == MODEL_HP_SCANJET_G4050 || + dev->model->model_id == MODEL_HP_SCANJET_4850C) + { + SETREG (0x05, 0x08); + } + + dev->reg.find_reg(0x05).value &= ~REG05_DPIHW; + switch (sanei_genesys_find_sensor_any(dev).optical_res) + { + case 600: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_600; + break; + case 1200: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_1200; + break; + case 2400: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; + break; + case 4800: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_4800; + break; + } + + // TODO: on 8600F the windows driver turns off GAIN4 which is recommended + SETREG (0x06, 0xd8); /* SCANMOD=110, PWRBIT and GAIN4 */ + SETREG (0x08, 0x00); + SETREG (0x09, 0x00); + SETREG (0x0a, 0x00); + + // This register controls clock and RAM settings and is further modified in + // gl843_boot + SETREG (0x0b, 0x6a); + + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x0b, 0x89); + } + + // EXPR[0:15], EXPG[0:15], EXPB[0:15]: Exposure time settings. + SETREG(0x10, 0x00); // SENSOR_DEF + SETREG(0x11, 0x00); // SENSOR_DEF + SETREG(0x12, 0x00); // SENSOR_DEF + SETREG(0x13, 0x00); // SENSOR_DEF + SETREG(0x14, 0x00); // SENSOR_DEF + SETREG(0x15, 0x00); // SENSOR_DEF + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + dev->reg.set16(REG_EXPR, 0x9c40); + dev->reg.set16(REG_EXPG, 0x9c40); + dev->reg.set16(REG_EXPB, 0x9c40); + } + // CCD signal settings. + SETREG(0x16, 0x33); // SENSOR_DEF + SETREG(0x17, 0x1c); // SENSOR_DEF + SETREG(0x18, 0x10); // SENSOR_DEF + + // EXPDMY[0:7]: Exposure time of dummy lines. + SETREG(0x19, 0x2a); // SENSOR_DEF + + // Various CCD clock settings. + SETREG(0x1a, 0x04); // SENSOR_DEF + SETREG(0x1b, 0x00); // SENSOR_DEF + SETREG(0x1c, 0x20); // SENSOR_DEF + SETREG(0x1d, 0x04); // SENSOR_DEF + + SETREG (0x1e, 0x10); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x1e, 0x20); + } + + SETREG (0x1f, 0x01); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x1f, 0xff); + } + + SETREG (0x20, 0x10); + SETREG (0x21, 0x04); + SETREG (0x22, 0x01); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x22, 0xc8); + } + + SETREG (0x23, 0x01); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x23, 0xc8); + } + + SETREG (0x24, 0x04); + SETREG (0x25, 0x00); + SETREG (0x26, 0x00); + SETREG (0x27, 0x00); + SETREG (0x2c, 0x02); + SETREG (0x2d, 0x58); + // BWHI[0:7]: high level of black and white threshold + SETREG (0x2e, 0x80); + // BWLOW[0:7]: low level of black and white threshold + SETREG (0x2f, 0x80); + SETREG (0x30, 0x00); + SETREG (0x31, 0x14); + SETREG (0x32, 0x27); + SETREG (0x33, 0xec); + + // DUMMY: CCD dummy and optically black pixel count + SETREG (0x34, 0x24); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x34, 0x14); + } + + // MAXWD: If available buffer size is less than 2*MAXWD words, then + // "buffer full" state will be set. + SETREG (0x35, 0x00); + SETREG (0x36, 0xff); + SETREG (0x37, 0xff); + + // LPERIOD: Line period or exposure time for CCD or CIS. + SETREG(0x38, 0x55); // SENSOR_DEF + SETREG(0x39, 0xf0); // SENSOR_DEF + + // FEEDL[0:24]: The number of steps of motor movement. + SETREG(0x3d, 0x00); + SETREG (0x3e, 0x00); + SETREG (0x3f, 0x01); + + // Latch points for high and low bytes of R, G and B channels of AFE. If + // multiple clocks per pixel are consumed, then the setting defines during + // which clock the corresponding value will be read. + // RHI[0:4]: The latch point for high byte of R channel. + // RLOW[0:4]: The latch point for low byte of R channel. + // GHI[0:4]: The latch point for high byte of G channel. + // GLOW[0:4]: The latch point for low byte of G channel. + // BHI[0:4]: The latch point for high byte of B channel. + // BLOW[0:4]: The latch point for low byte of B channel. + SETREG(0x52, 0x01); // SENSOR_DEF + SETREG(0x53, 0x04); // SENSOR_DEF + SETREG(0x54, 0x07); // SENSOR_DEF + SETREG(0x55, 0x0a); // SENSOR_DEF + SETREG(0x56, 0x0d); // SENSOR_DEF + SETREG(0x57, 0x10); // SENSOR_DEF + + // VSMP[0:4]: The position of the image sampling pulse for AFE in cycles. + // VSMPW[0:2]: The length of the image sampling pulse for AFE in cycles. + SETREG(0x58, 0x1b); // SENSOR_DEF + + SETREG(0x59, 0x00); // SENSOR_DEF + SETREG(0x5a, 0x40); // SENSOR_DEF + + // 0x5b-0x5c: GMMADDR[0:15] address for gamma or motor tables download + // SENSOR_DEF + + // DECSEL[0:2]: The number of deceleratino steps after touching home sensor + // STOPTIM[0:4]: The stop duration between change of directions in + // backtracking + SETREG (0x5e, 0x23); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x5e, 0x1f); + } + + // FMOVDEC: The number of deceleration steps in table 5 for auto-go-home + SETREG (0x5f, 0x01); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x5f, 0xf0); + } + + // Z1MOD[0:20] + SETREG (0x60, 0x00); + SETREG (0x61, 0x00); + SETREG (0x62, 0x00); + + // Z2MOD[0:20] + SETREG (0x63, 0x00); + SETREG (0x64, 0x00); + SETREG (0x65, 0x00); + + // STEPSEL[0:1]. Motor movement step mode selection for tables 1-3 in + // scanning mode. + // MTRPWM[0:5]. Motor phase PWM duty cycle setting for tables 1-3 + SETREG (0x67, 0x7f); + // FSTPSEL[0:1]: Motor movement step mode selection for tables 4-5 in + // command mode. + // FASTPWM[5:0]: Motor phase PWM duty cycle setting for tables 4-5 + SETREG (0x68, 0x7f); + + // FSHDEC[0:7]: The number of deceleration steps after scanning is finished + // (table 3) + SETREG (0x69, 0x01); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x69, 64); + } + + // FMOVNO[0:7] The number of acceleration or deceleration steps for fast + // moving (table 4) + SETREG (0x6a, 0x04); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x69, 64); + } + + // GPIO-related register bits + SETREG (0x6b, 0x30); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x6b, 0x72); + } + + // 0x6c, 0x6d, 0x6e, 0x6f are set according to gpio tables. See + // gl843_init_gpio. + + // RSH[0:4]: The position of rising edge of CCD RS signal in cycles + // RSL[0:4]: The position of falling edge of CCD RS signal in cycles + // CPH[0:4]: The position of rising edge of CCD CP signal in cycles. + // CPL[0:4]: The position of falling edge of CCD CP signal in cycles + SETREG(0x70, 0x01); // SENSOR_DEF + SETREG(0x71, 0x03); // SENSOR_DEF + SETREG (0x72, 0x04); + SETREG (0x73, 0x05); + + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x70, 0x00); + SETREG(0x71, 0x02); + SETREG(0x72, 0x02); + SETREG(0x73, 0x04); + } + + // CK1MAP[0:17], CK3MAP[0:17], CK4MAP[0:17]: CCD clock bit mapping setting. + SETREG(0x74, 0x00); // SENSOR_DEF + SETREG(0x75, 0x00); // SENSOR_DEF + SETREG(0x76, 0x3c); // SENSOR_DEF + SETREG(0x77, 0x00); // SENSOR_DEF + SETREG(0x78, 0x00); // SENSOR_DEF + SETREG(0x79, 0x9f); // SENSOR_DEF + SETREG(0x7a, 0x00); // SENSOR_DEF + SETREG(0x7b, 0x00); // SENSOR_DEF + SETREG(0x7c, 0x55); // SENSOR_DEF + + // various AFE settings + SETREG(0x7d, 0x00); + + // GPOLED[x]: LED vs GPIO settings + SETREG(0x7e, 0x00); + + // BSMPDLY, VSMPDLY + // LEDCNT[0:1]: Controls led blinking and its period + SETREG (0x7f, 0x00); + + // VRHOME, VRMOVE, VRBACK, VRSCAN: Vref settings of the motor driver IC for + // moving in various situations. + SETREG (0x80, 0x00); + + if (dev->model->model_id != MODEL_CANON_CANOSCAN_4400F) + { + // NOTE: Historical code. None of the following 6 registers are + // documented in the datasheet. Their default value is 0, so probably it's + // not a bad idea to leave this here. + SETREG (0x81, 0x00); + SETREG (0x82, 0x00); + SETREG (0x83, 0x00); + SETREG (0x84, 0x00); + SETREG (0x85, 0x00); + SETREG (0x86, 0x00); + } + + SETREG (0x87, 0x00); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x87, 0x02); + } + + // MTRPLS[0:7]: The width of the ADF motor trigger signal pulse. + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x94, 0xff); + } + + // 0x95-0x97: SCANLEN[0:19]: Controls when paper jam bit is set in sheetfed + // scanners. + + // ONDUR[0:15]: The duration of PWM ON phase for LAMP control + // OFFDUR[0:15]: The duration of PWM OFF phase for LAMP control + // both of the above are in system clocks + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x98, 0x00); + SETREG(0x99, 0x00); + SETREG(0x9a, 0x00); + SETREG(0x9b, 0x00); + } + + // RMADLY[0:1], MOTLAG, CMODE, STEPTIM, MULDMYLN, IFRS + SETREG(0x9d, 0x04); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0x9d, 0x08); // additionally sets the multiplier for slope tables + } + + + // SEL3INV, TGSTIME[0:2], TGWTIME[0:2] + SETREG (0x9e, 0x00); // SENSOR_DEF + + // RFHSET[0:4]: Refresh time of SDRAM in units of 2us + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0xa2, 0x1f); + } + + // 0xa6-0xa9: controls gpio, see gl843_gpio_init + + // GPOM9, MULSTOP[0-2], NODECEL, TB3TB1, TB5TB2, FIX16CLK. + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0xab, 0x00); + } + + // VRHOME[3:2], VRMOVE[3:2], VRBACK[3:2]: Vref setting of the motor driver IC + // for various situations. + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + SETREG(0xac, 0x00); + } + + if (dev->model->model_id != MODEL_CANON_CANOSCAN_8400F) + { + SETREG (0x0c, 0x00); + SETREG (0x94, 0xff); + SETREG (0xab, 0x50); + } + + if (dev->model->model_id != MODEL_CANON_CANOSCAN_4400F + && dev->model->model_id != MODEL_CANON_CANOSCAN_8400F) + { + SETREG (0xaa, 0x00); + } + + /* G4050 values */ + if (dev->model->model_id == MODEL_HP_SCANJET_G4010 || + dev->model->model_id == MODEL_HP_SCANJET_G4050 || + dev->model->model_id == MODEL_HP_SCANJET_4850C) + { + SETREG (0x03, 0x1d); + SETREG (0x06, 0xd0); /* SCANMOD=110, PWRBIT and no GAIN4 */ + SETREG (0x06, 0xd8); /* SCANMOD=110, PWRBIT and GAIN4 */ + SETREG (0x0a, 0x18); + SETREG (0x0b, 0x69); + + /* CIS exposure is used for XPA lamp movement */ + SETREG (0x10, 0x2c); + SETREG (0x11, 0x09); + SETREG (0x12, 0x22); + SETREG (0x13, 0xb8); + SETREG (0x14, 0x10); + SETREG (0x15, 0xf0); + + SETREG (0x6b, 0xf4); + + SETREG (0x70, 0x00); + SETREG (0x71, 0x02); + SETREG (0x72, 0x00); + SETREG (0x73, 0x00); + + SETREG (0x80, 0x50); + SETREG (0x9d, 0x08); + SETREG (0xab, 0x40); + + /* XXX STEF XXX TODO move to set for scan */ + SETREG (0x98, 0x03); + SETREG (0x99, 0x30); + SETREG (0x9a, 0x01); + SETREG (0x9b, 0x80); + SETREG (0xac, 0x00); + } + + if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F) + { + SETREG (0x06, 0xf0); /* SCANMOD=111, PWRBIT and no GAIN4 */ + SETREG (0x0b, 0x69); /* 16M only */ + SETREG (0x1e, 0x20); + SETREG (0x22, 0xc8); + SETREG (0x23, 0xc8); + SETREG (0x5e, 0x3f); + SETREG (0x5f, 0xf0); + SETREG (0x6b, 0x72); + SETREG (0x72, 0x01); + SETREG (0x73, 0x03); + SETREG (0x80, 0x0c); + SETREG (0x87, 0x02); /* MCLOCK -> CK4MAP */ + SETREG (0x9d, 0x08); /* STEPTIM=2 */ + SETREG (0xa2, 0x1f); + SETREG (0xab, 0x00); + sanei_genesys_set_double(&dev->reg,REG_EXPR,0x9c40); + sanei_genesys_set_double(&dev->reg,REG_EXPG,0x9c40); + sanei_genesys_set_double(&dev->reg,REG_EXPB,0x9c40); + } + + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F) + { + SETREG (0x03, 0x1c); + SETREG (0x06, 0xd0); /* SCANMOD=110, PWRBIT and no GAIN4 */ + SETREG (0x0a, 0x10); + SETREG (0x22, 0x50); + SETREG (0x23, 0x50); + SETREG (0x5e, 0x85); + SETREG (0x6b, 0xb1); + SETREG (0x1e, 0xa0); + SETREG (0x72, 0x03); + SETREG (0x73, 0x04); + SETREG (0x7d, 0x20); + SETREG (0x80, 0x28); + SETREG (0x87, 0x02); /* MCLOCK -> CK4MAP */ + SETREG (0x9d, 0x08); /* STEPTIM=2 */ + } + + dev->calib_reg = dev->reg; + + DBGCOMPLETED; +} + +/* Send slope table for motor movement + slope_table in machine byte order + */ +static SANE_Status +gl843_send_slope_table (Genesys_Device * dev, int table_nr, + uint16_t * slope_table, int steps) +{ + SANE_Status status = SANE_STATUS_GOOD; + int i; + char msg[10000]; + + DBG(DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, table_nr, steps); + + std::vector table(steps * 2); + for (i = 0; i < steps; i++) + { + table[i * 2] = slope_table[i] & 0xff; + table[i * 2 + 1] = slope_table[i] >> 8; + } + + if (DBG_LEVEL >= DBG_io) + { + sprintf (msg, "write slope %d (%d)=", table_nr, steps); + for (i = 0; i < steps; i++) + { + sprintf (msg+strlen(msg), "%d", slope_table[i]); + } + DBG(DBG_io, "%s: %s\n", __func__, msg); + } + + + /* slope table addresses are fixed : 0x4000, 0x4800, 0x5000, 0x5800, 0x6000 */ + /* XXX STEF XXX USB 1.1 ? sanei_genesys_write_0x8c (dev, 0x0f, 0x14); */ + status = write_data (dev, 0x4000 + 0x800 * table_nr, steps * 2, table.data()); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: write data failed writing slope table %d (%s)\n", __func__, table_nr, + sane_strstatus(status)); + } + + DBGCOMPLETED; + return status; +} + + +/* Set values of analog frontend */ +static SANE_Status +gl843_set_fe (Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set) +{ + (void) sensor; + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + int i; + + DBG(DBG_proc, "%s (%s)\n", __func__, set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == + AFE_POWER_SAVE ? "powersave" : "huh?"); + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); + dev->frontend = dev->frontend_initial; + } + + /* check analog frontend type */ + // FIXME: looks like we write to that register with initial data + RIE (sanei_genesys_read_register (dev, REG04, &val)); + if ((val & REG04_FESET) != 0x00) + { + /* for now there is no support for AD fe */ + DBG(DBG_proc, "%s(): unsupported frontend type %d\n", __func__, + dev->reg.find_reg(0x04).value & REG04_FESET); + return SANE_STATUS_UNSUPPORTED; + } + + DBG(DBG_proc, "%s(): frontend reset complete\n", __func__); + + for (i = 1; i <= 3; i++) + { + // FIXME: BUG: we should initialize dev->frontend before first use. Right now it's + // initialized during genesys_coarse_calibration() + if (dev->frontend.regs.empty()) { + status = sanei_genesys_fe_write_data(dev, i, 0x00); + } else { + status = sanei_genesys_fe_write_data(dev, i, dev->frontend.regs.get_value(0x00 + i)); + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing reg[%d] failed: %s\n", __func__, i, sane_strstatus(status)); + return status; + } + } + for (const auto& reg : sensor.custom_fe_regs) { + status = sanei_genesys_fe_write_data(dev, reg.address, reg.value); + if (status != SANE_STATUS_GOOD) { + DBG(DBG_error, "%s: writing reg[%d] failed: %s\n", __func__, i, sane_strstatus(status)); + return status; + } + } + + for (i = 0; i < 3; i++) + { + // FIXME: BUG: see above + if (dev->frontend.regs.empty()) { + status = sanei_genesys_fe_write_data(dev, 0x20 + i, 0x00); + } else { + status = sanei_genesys_fe_write_data(dev, 0x20 + i, dev->frontend.get_offset(i)); + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing offset[%d] failed: %s\n", __func__, i, + sane_strstatus(status)); + return status; + } + } + + if (dev->model->ccd_type == CCD_KVSS080) + { + for (i = 0; i < 3; i++) + { + // FIXME: BUG: see above + if (dev->frontend.regs.empty()) { + status = sanei_genesys_fe_write_data(dev, 0x24 + i, 0x00); + } else { + status = sanei_genesys_fe_write_data(dev, 0x24 + i, + dev->frontend.regs.get_value(0x24 + i)); + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing sign[%d] failed: %s\n", __func__, i, + sane_strstatus(status)); + return status; + } + } + } + + for (i = 0; i < 3; i++) + { + // FIXME: BUG: see above + if (dev->frontend.regs.empty()) { + status = sanei_genesys_fe_write_data(dev, 0x28 + i, 0x00); + } else { + status = sanei_genesys_fe_write_data(dev, 0x28 + i, dev->frontend.get_gain(i)); + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: writing gain[%d] failed: %s\n", __func__, i, sane_strstatus(status)); + return status; + } + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +static SANE_Status +gl843_init_motor_regs_scan (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, + unsigned int exposure, + float scan_yres, + int scan_step_type, + unsigned int scan_lines, + unsigned int scan_dummy, + unsigned int feed_steps, + int scan_power_mode, + unsigned int flags) +{ + SANE_Status status = SANE_STATUS_GOOD; + int use_fast_fed, coeff; + unsigned int lincnt; + uint16_t scan_table[1024]; + uint16_t fast_table[1024]; + int scan_steps,fast_steps, fast_step_type; + unsigned int feedl,factor,dist; + GenesysRegister *r; + uint32_t z1, z2; + + DBGSTART; + DBG(DBG_info, "%s : exposure=%d, scan_yres=%g, scan_step_type=%d, scan_lines=%d, scan_dummy=%d, " + "feed_steps=%d, scan_power_mode=%d, flags=%x\n", __func__, exposure, scan_yres, + scan_step_type, scan_lines, scan_dummy, feed_steps, scan_power_mode, flags); + + /* get step multiplier */ + factor = gl843_get_step_multiplier (reg); + + use_fast_fed = 0; + + if((scan_yres>=300 && feed_steps>900) || (flags & MOTOR_FLAG_FEED)) + use_fast_fed=1; + + lincnt=scan_lines; + sanei_genesys_set_triple(reg,REG_LINCNT,lincnt); + DBG(DBG_io, "%s: lincnt=%d\n", __func__, lincnt); + + /* compute register 02 value */ + r = sanei_genesys_get_address (reg, REG02); + r->value = 0x00; + sanei_genesys_set_motor_power(*reg, true); + + if (use_fast_fed) + r->value |= REG02_FASTFED; + else + r->value &= ~REG02_FASTFED; + + /* in case of automatic go home, move until home sensor */ + if (flags & MOTOR_FLAG_AUTO_GO_HOME) + r->value |= REG02_AGOHOME | REG02_NOTHOME; + + /* disable backtracking */ + if ((flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) + ||(scan_yres>=2400) + ||(scan_yres>=sensor.optical_res)) + r->value |= REG02_ACDCDIS; + + /* scan and backtracking slope table */ + sanei_genesys_slope_table(scan_table, + &scan_steps, + scan_yres, + exposure, + dev->motor.base_ydpi, + scan_step_type, + factor, + dev->model->motor_type, + gl843_motors); + RIE(gl843_send_slope_table (dev, SCAN_TABLE, scan_table, scan_steps*factor)); + RIE(gl843_send_slope_table (dev, BACKTRACK_TABLE, scan_table, scan_steps*factor)); + + /* STEPNO */ + r = sanei_genesys_get_address (reg, REG_STEPNO); + r->value = scan_steps; + + /* FSHDEC */ + r = sanei_genesys_get_address (reg, REG_FSHDEC); + r->value = scan_steps; + + /* fast table */ + fast_step_type=0; + if(scan_step_type<=fast_step_type) + { + fast_step_type=scan_step_type; + } + sanei_genesys_slope_table(fast_table, + &fast_steps, + sanei_genesys_get_lowest_ydpi(dev), + exposure, + dev->motor.base_ydpi, + fast_step_type, + factor, + dev->model->motor_type, + gl843_motors); + RIE(gl843_send_slope_table (dev, STOP_TABLE, fast_table, fast_steps*factor)); + RIE(gl843_send_slope_table (dev, FAST_TABLE, fast_table, fast_steps*factor)); + RIE(gl843_send_slope_table (dev, HOME_TABLE, fast_table, fast_steps*factor)); + + /* FASTNO */ + r = sanei_genesys_get_address (reg, REG_FASTNO); + r->value = fast_steps; + + /* FMOVNO */ + r = sanei_genesys_get_address (reg, REG_FMOVNO); + r->value = fast_steps; + + /* substract acceleration distance from feedl */ + feedl=feed_steps; + feedl<<=scan_step_type; + + dist = scan_steps; + if (use_fast_fed) + { + dist += fast_steps*2; + } + DBG(DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); + + /* get sure when don't insane value : XXX STEF XXX in this case we should + * fall back to single table move */ + if(dist600) + { + z1=0; + z2=0; + } + + sanei_genesys_set_triple(reg,REG_Z1MOD,z1); + DBG(DBG_info, "%s: z1 = %d\n", __func__, z1); + + sanei_genesys_set_triple(reg,REG_Z2MOD,z2); + DBG(DBG_info, "%s: z2 = %d\n", __func__, z2); + + r = sanei_genesys_get_address (reg, REG1E); + r->value &= 0xf0; /* 0 dummy lines */ + r->value |= scan_dummy; /* dummy lines */ + + r = sanei_genesys_get_address (reg, REG67); + r->value = 0x3f | (scan_step_type << REG67S_STEPSEL); + + r = sanei_genesys_get_address (reg, REG68); + r->value = 0x3f | (scan_step_type << REG68S_FSTPSEL); + + /* steps for STOP table */ + r = sanei_genesys_get_address (reg, REG_FMOVDEC); + r->value = fast_steps; + + /* Vref XXX STEF XXX : optical divider or step type ? */ + r = sanei_genesys_get_address (reg, 0x80); + if (!(dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE)) + { + r->value = 0x50; + coeff=sensor.optical_res/sanei_genesys_compute_dpihw(dev, sensor, scan_yres); + if (dev->model->motor_type == MOTOR_KVSS080) + { + if(coeff>=1) + { + r->value |= 0x05; + } + } + else { + switch(coeff) + { + case 4: + r->value |= 0x0a; + break; + case 2: + r->value |= 0x0f; + break; + case 1: + r->value |= 0x0f; + break; + } + } + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/** @brief setup optical related registers + * start and pixels are expressed in optical sensor resolution coordinate + * space. + * @param dev device to use + * @param reg registers to set up + * @param exposure exposure time to use + * @param used_res scanning resolution used, may differ from + * scan's one + * @param start logical start pixel coordinate + * @param pixels logical number of pixels to use + * @param channels number of color channles used (1 or 3) + * @param depth bit depth of the scan (1, 8 or 16 bits) + * @param ccd_size_divisor SANE_TRUE specifies how much x coordinates must be shrunk + * @param color_filter to choose the color channel used in gray scans + * @param flags to drive specific settings such no calibration, XPA use ... + * @return SANE_STATUS_GOOD if OK + */ +static SANE_Status +gl843_init_optical_regs_scan (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, + unsigned int exposure, + int used_res, + unsigned int start, + unsigned int pixels, + int channels, + int depth, + unsigned ccd_size_divisor, + ColorFilter color_filter, + int flags) +{ + unsigned int words_per_line; + unsigned int startx, endx, used_pixels; + unsigned int dpiset, dpihw, factor; + unsigned int bytes; + unsigned int tgtime; /**> exposure time multiplier */ + unsigned int cksel; /**> clock per system pixel time in capturing image */ + GenesysRegister *r; + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s : exposure=%d, used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " + "ccd_size_divisor=%d, flags=%x\n", __func__, exposure, used_res, start, pixels, channels, + depth, ccd_size_divisor, flags); + + /* tgtime */ + tgtime = exposure / 65536 + 1; + DBG(DBG_io2, "%s: tgtime=%d\n", __func__, tgtime); + + /* to manage high resolution device while keeping good + * low resolution scanning speed, we make hardware dpi vary */ + dpihw=sanei_genesys_compute_dpihw(dev, sensor, used_res); + factor=sensor.optical_res/dpihw; + DBG(DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); + + /* sensor parameters */ + gl843_setup_sensor (dev, sensor, reg, dpihw, flags); + + /* resolution is divided according to CKSEL which is known once sensor is set up */ + r = sanei_genesys_get_address (reg, REG18); + cksel= (r->value & REG18_CKSEL)+1; + DBG(DBG_io2, "%s: cksel=%d\n", __func__, cksel); + dpiset = used_res * cksel; + + /* start and end coordinate in optical dpi coordinates */ + startx = (start + sensor.dummy_pixel)/cksel; + + used_pixels=pixels/cksel; + endx = startx + used_pixels; + + /* pixel coordinate factor correction when used dpihw is not maximal one */ + startx/=factor; + endx/=factor; + used_pixels=endx-startx; + + /* in case of stagger we have to start at an odd coordinate */ + if ((flags & OPTICAL_FLAG_STAGGER) + &&((startx & 1)==0)) + { + startx++; + endx++; + } + + status = gl843_set_fe(dev, sensor, AFE_SET); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* enable shading */ + r = sanei_genesys_get_address (reg, REG01); + r->value &= ~REG01_SCAN; + if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) + { + r->value &= ~REG01_DVDSET; + } + else + { + r->value |= REG01_DVDSET; + } + if(dpihw>600) + { + r->value |= REG01_SHDAREA; + } + else + { + r->value &= ~REG01_SHDAREA; + } + + r = sanei_genesys_get_address (reg, REG03); + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + r->value |= REG03_AVEENB; + else { + r->value &= ~REG03_AVEENB; + } + + // FIXME: we probably don't need to set exposure to registers at this point. It was this way + // before a refactor. + sanei_genesys_set_lamp_power(dev, sensor, *reg, !(flags & OPTICAL_FLAG_DISABLE_LAMP)); + + /* select XPA */ + r->value &= ~REG03_XPASEL; + if (flags & OPTICAL_FLAG_USE_XPA) + { + r->value |= REG03_XPASEL; + } + reg->state.is_xpa_on = flags & OPTICAL_FLAG_USE_XPA; + + /* BW threshold */ + r = sanei_genesys_get_address (reg, REG2E); + r->value = dev->settings.threshold; + r = sanei_genesys_get_address (reg, REG2F); + r->value = dev->settings.threshold; + + /* monochrome / color scan */ + r = sanei_genesys_get_address (reg, REG04); + switch (depth) + { + case 1: + r->value &= ~REG04_BITSET; + r->value |= REG04_LINEART; + break; + case 8: + r->value &= ~(REG04_LINEART | REG04_BITSET); + break; + case 16: + r->value &= ~REG04_LINEART; + r->value |= REG04_BITSET; + break; + } + + r->value &= ~(REG04_FILTER | REG04_AFEMOD); + if (channels == 1) + { + switch (color_filter) + { + case ColorFilter::RED: + r->value |= 0x14; + break; + case ColorFilter::BLUE: + r->value |= 0x1c; + break; + case ColorFilter::GREEN: + r->value |= 0x18; + break; + default: + break; // should not happen + } + } + else + r->value |= 0x10; /* mono */ + + /* register 05 */ + r = sanei_genesys_get_address (reg, REG05); + + /* set up dpihw */ + r->value &= ~REG05_DPIHW; + switch(dpihw) + { + case 600: + r->value |= REG05_DPIHW_600; + break; + case 1200: + r->value |= REG05_DPIHW_1200; + break; + case 2400: + r->value |= REG05_DPIHW_2400; + break; + case 4800: + r->value |= REG05_DPIHW_4800; + break; + } + + /* enable gamma tables */ + if (flags & OPTICAL_FLAG_DISABLE_GAMMA) + r->value &= ~REG05_GMMENB; + else + r->value |= REG05_GMMENB; + + sanei_genesys_set_double(reg, REG_DPISET, dpiset * ccd_size_divisor); + DBG(DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset * ccd_size_divisor); + + sanei_genesys_set_double(reg, REG_STRPIXEL, startx); + sanei_genesys_set_double(reg, REG_ENDPIXEL, endx); + + /* words(16bit) before gamma, conversion to 8 bit or lineart */ + words_per_line = (used_pixels * dpiset) / dpihw; + bytes = depth / 8; + if (depth == 1) + { + words_per_line = (words_per_line >> 3) + ((words_per_line & 7) ? 1 : 0); + } + else + { + words_per_line *= bytes; + } + + dev->wpl = words_per_line; + dev->bpl = words_per_line; + + DBG(DBG_io2, "%s: used_pixels=%d\n", __func__, used_pixels); + DBG(DBG_io2, "%s: pixels =%d\n", __func__, pixels); + DBG(DBG_io2, "%s: depth =%d\n", __func__, depth); + DBG(DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long) dev->bpl); + DBG(DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); + DBG(DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); + + words_per_line *= channels; + + /* MAXWD is expressed in 2 words unit */ + /* nousedspace = (mem_bank_range * 1024 / 256 -1 ) * 4; */ + sanei_genesys_set_triple(reg,REG_MAXWD,(words_per_line)>>1); + DBG(DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); + + sanei_genesys_set_double(reg,REG_LPERIOD,exposure/tgtime); + DBG(DBG_io2, "%s: exposure used=%d\n", __func__, exposure/tgtime); + + r = sanei_genesys_get_address (reg, REG_DUMMY); + r->value = sensor.dummy_pixel; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +struct ScanSession { + SetupParams params; + + // whether the session setup has been computed via gl843_compute_session() + bool computed = false; + + // whether CCD operates as half-resolution or full resolution at a specific resolution + unsigned ccd_size_divisor = 1; + + // the optical resolution of the scanner. + unsigned optical_resolution = 0; + + // the number of pixels at the optical resolution. + unsigned optical_pixels = 0; + + // the number of bytes in the output of a single line directly from scanner + unsigned optical_line_bytes = 0; + + // the resolution of the output data. + unsigned output_resolution = 0; + + // the number of pixels in output data + unsigned output_pixels = 0; + + // the number of bytes in the output of a single line + unsigned output_line_bytes = 0; + + // the number of lines in the output of the scanner. This must be larger than the user + // requested number due to line staggering and color channel shifting. + unsigned output_line_count = 0; + + // the number of staggered lines (i.e. lines that overlap during scanning due to line being + // thinner than the CCD element) + unsigned num_staggered_lines = 0; + + // the number of lines that color channels shift due to different physical positions of + // different color channels + unsigned max_color_shift_lines = 0; + + void assert_computed() const + { + if (!computed) { + throw std::runtime_error("ScanSession is not computed"); + } + } +}; + +static unsigned align_int_up(unsigned num, unsigned alignment) +{ + unsigned mask = alignment - 1; + if (num & mask) + num = (num & ~mask) + alignment; + return num; +} + +// computes physical parameters for specific scan setup +static void gl843_compute_session(Genesys_Device* dev, ScanSession& s, + const Genesys_Sensor& sensor) +{ + s.params.assert_valid(); + s.ccd_size_divisor = sensor.get_ccd_size_divisor_for_dpi(s.params.xres); + + s.optical_resolution = sensor.optical_res / s.ccd_size_divisor; + + if (s.params.flags & SCAN_FLAG_USE_OPTICAL_RES) { + s.output_resolution = s.optical_resolution; + } else { + // resolution is choosen from a fixed list and can be used directly + // unless we have ydpi higher than sensor's maximum one + if (s.params.xres > s.optical_resolution) + s.output_resolution = s.optical_resolution; + else + s.output_resolution = s.params.xres; + } + + // compute rounded up number of optical pixels + s.optical_pixels = (s.params.pixels * s.optical_resolution) / s.params.xres; + if (s.optical_pixels * s.params.xres < s.params.pixels * s.optical_resolution) + s.optical_pixels++; + + // ensure the number of optical pixels is divisible by 2. + // In quarter-CCD mode optical_pixels is 4x larger than the actual physical number + s.optical_pixels = align_int_up(s.optical_pixels, 2 * s.ccd_size_divisor); + + s.output_pixels = + (s.optical_pixels * s.output_resolution) / s.optical_resolution; + + // Note: staggering is not applied for calibration. Staggering starts at 2400 dpi + s.num_staggered_lines = 0; + if ((s.params.yres > 1200) && + ((s.params.flags & SCAN_FLAG_IGNORE_LINE_DISTANCE) == 0) && + (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) + { + s.num_staggered_lines = (4 * s.params.yres) / dev->motor.base_ydpi; + } + + s.max_color_shift_lines = sanei_genesys_compute_max_shift(dev, s.params.channels, + s.params.yres, s.params.flags); + + s.output_line_count = s.params.lines + s.max_color_shift_lines + s.num_staggered_lines; + + s.optical_line_bytes = (s.optical_pixels * s.params.channels * s.params.depth) / 8; + s.output_line_bytes = (s.output_pixels * s.params.channels * s.params.depth) / 8; + s.computed = true; +} + +/* set up registers for an actual scan + * + * this function sets up the scanner to scan in normal or single line mode + */ +static SANE_Status gl843_init_scan_regs(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + ScanSession& session) +{ + session.assert_computed(); + + int start; + int move; + unsigned int oflags, mflags; /**> optical and motor flags */ + int exposure; + + int slope_dpi = 0; + int dummy = 0; + int scan_step_type = 1; + int scan_power_mode = 0; + size_t requested_buffer_size, read_buffer_size; + + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, session.params); + + DBG(DBG_info, "%s : stagger=%d lines\n", __func__, session.num_staggered_lines); + + /* we enable true gray for cis scanners only, and just when doing + * scan since color calibration is OK for this mode + */ + oflags = 0; + if (session.params.flags & SCAN_FLAG_DISABLE_SHADING) + oflags |= OPTICAL_FLAG_DISABLE_SHADING; + if (session.params.flags & SCAN_FLAG_DISABLE_GAMMA) + oflags |= OPTICAL_FLAG_DISABLE_GAMMA; + if (session.params.flags & SCAN_FLAG_DISABLE_LAMP) + oflags |= OPTICAL_FLAG_DISABLE_LAMP; + if (session.params.flags & SCAN_FLAG_CALIBRATION) + oflags |= OPTICAL_FLAG_DISABLE_DOUBLE; + if (session.num_staggered_lines) + oflags |= OPTICAL_FLAG_STAGGER; + if (session.params.flags & SCAN_FLAG_USE_XPA) + oflags |= OPTICAL_FLAG_USE_XPA; + + + /* compute scan parameters values */ + /* pixels are allways given at full optical resolution */ + /* use detected left margin and fixed value */ + /* start */ + start = session.params.startx; + + dummy = 0; + /* dummy = 1; XXX STEF XXX */ + + /* slope_dpi */ + /* cis color scan is effectively a gray scan with 3 gray lines per color line and a FILTER of 0 */ + if (dev->model->is_cis) + slope_dpi = session.params.yres * session.params.channels; + else + slope_dpi = session.params.yres; + slope_dpi = slope_dpi * (1 + dummy); + + /* scan_step_type */ + exposure = sensor.exposure_lperiod; + if (exposure < 0) { + throw std::runtime_error("Exposure not defined in sensor definition"); + } + scan_step_type = sanei_genesys_compute_step_type(gl843_motors, dev->model->motor_type, exposure); + + DBG(DBG_info, "%s : exposure=%d pixels\n", __func__, exposure); + DBG(DBG_info, "%s : scan_step_type=%d\n", __func__, scan_step_type); + + /*** optical parameters ***/ + /* in case of dynamic lineart, we use an internal 8 bit gray scan + * to generate 1 lineart data */ + if (session.params.flags & SCAN_FLAG_DYNAMIC_LINEART) { + session.params.depth = 8; + } + + /* no 16 bit gamma for this ASIC */ + if (session.params.depth == 16) + { + session.params.flags |= SCAN_FLAG_DISABLE_GAMMA; + oflags |= OPTICAL_FLAG_DISABLE_GAMMA; + } + + /* now _LOGICAL_ optical values used are known, setup registers */ + status = gl843_init_optical_regs_scan (dev, sensor, + reg, + exposure, + session.output_resolution, + start, + session.optical_pixels, + session.params.channels, + session.params.depth, + session.ccd_size_divisor, + session.params.color_filter, + oflags); + if (status != SANE_STATUS_GOOD) + return status; + + /*** motor parameters ***/ + + /* it seems base_dpi of the G4050 motor is changed above 600 dpi*/ + if (dev->model->motor_type == MOTOR_G4050 && session.params.yres>600) + { + dev->ld_shift_r = (dev->model->ld_shift_r*3800)/dev->motor.base_ydpi; + dev->ld_shift_g = (dev->model->ld_shift_g*3800)/dev->motor.base_ydpi; + dev->ld_shift_b = (dev->model->ld_shift_b*3800)/dev->motor.base_ydpi; + } + else + { + dev->ld_shift_r = dev->model->ld_shift_r; + dev->ld_shift_g = dev->model->ld_shift_g; + dev->ld_shift_b = dev->model->ld_shift_b; + } + + /* add tl_y to base movement */ + move = session.params.starty; + DBG(DBG_info, "%s: move=%d steps\n", __func__, move); + + + mflags=0; + if(session.params.flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE) + mflags|=MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE; + if(session.params.flags & SCAN_FLAG_FEEDING) + mflags|=MOTOR_FLAG_FEED; + if (session.params.flags & SCAN_FLAG_USE_XPA) + mflags |= MOTOR_FLAG_USE_XPA; + + status = gl843_init_motor_regs_scan (dev, sensor, + reg, + exposure, + slope_dpi, + scan_step_type, + dev->model->is_cis ? session.output_line_count * session.params.channels + : session.output_line_count, + dummy, + move, + scan_power_mode, + mflags); + if (status != SANE_STATUS_GOOD) + return status; + + /* since we don't have sheetfed scanners to handle, + * use huge read buffer */ + /* TODO find the best size according to settings */ + requested_buffer_size = 16 * session.output_line_bytes; + + read_buffer_size = + 2 * requested_buffer_size + + (session.max_color_shift_lines + session.num_staggered_lines) * session.optical_line_bytes; + + dev->read_buffer.clear(); + dev->read_buffer.alloc(read_buffer_size); + + dev->lines_buffer.clear(); + dev->lines_buffer.alloc(read_buffer_size); + + dev->shrink_buffer.clear(); + dev->shrink_buffer.alloc(requested_buffer_size); + + dev->out_buffer.clear(); + dev->out_buffer.alloc((8 * session.params.pixels * session.params.channels * + session.params.depth) / 8); + + dev->read_bytes_left = session.output_line_bytes * session.output_line_count; + + DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); + dev->read_active = SANE_TRUE; + + dev->current_setup.params = session.params; + dev->current_setup.pixels = session.output_pixels; + DBG(DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); + dev->current_setup.lines = session.output_line_count; + dev->current_setup.depth = session.params.depth; + dev->current_setup.channels = session.params.channels; + dev->current_setup.exposure_time = exposure; + dev->current_setup.xres = session.output_resolution; + dev->current_setup.yres = session.params.yres; + dev->current_setup.ccd_size_divisor = session.ccd_size_divisor; + dev->current_setup.stagger = session.num_staggered_lines; + dev->current_setup.max_shift = session.max_color_shift_lines + session.num_staggered_lines; + + dev->total_bytes_read = 0; + if (session.params.depth == 1) { + dev->total_bytes_to_read = ((session.params.pixels * session.params.lines) / 8 + + (((session.params.pixels * session.params.lines) % 8) ? 1 : 0)) * + session.params.channels; + } else { + dev->total_bytes_to_read = session.params.pixels * session.params.lines * + session.params.channels * (session.params.depth / 8); + } + + DBG(DBG_info, "%s: total bytes to send = %lu\n", __func__, (u_long) dev->total_bytes_to_read); + + DBG(DBG_proc, "%s: completed\n", __func__); + return SANE_STATUS_GOOD; +} + +static void +gl843_calculate_current_setup(Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int channels; + int depth; + int start; + + int used_res; + int used_pixels; + unsigned int lincnt; + int exposure; + int stagger; + + int max_shift; + + int optical_res; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, dev->settings); + + /* we have 2 domains for ccd: xres below or above half ccd max dpi */ + unsigned ccd_size_divisor = sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres); + + /* channels */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else + channels = 1; + + /* depth */ + depth = dev->settings.depth; + if (dev->settings.scan_mode == ScanColorMode::LINEART) + depth = 1; + + /* start */ + if(dev->settings.scan_method==ScanMethod::TRANSPARENCY) + start = SANE_UNFIX (dev->model->x_offset_ta); + else + start = SANE_UNFIX (dev->model->x_offset); + + start /= ccd_size_divisor; + + start += dev->settings.tl_x; + start = (start * sensor.optical_res) / MM_PER_INCH; + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = start; // not used + params.starty = 0; // not used + params.pixels = dev->settings.pixels; + params.lines = dev->settings.lines; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = dev->settings.scan_mode; + params.color_filter = dev->settings.color_filter; + params.flags = 0; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, params); + + /* optical_res */ + optical_res = sensor.optical_res / ccd_size_divisor; + + /* stagger */ + if (ccd_size_divisor == 1 && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) + stagger = (4 * params.yres) / dev->motor.base_ydpi; + else + stagger = 0; + DBG(DBG_info, "%s: stagger=%d lines\n", __func__, stagger); + + if (params.xres <= (unsigned) optical_res) { + used_res = params.xres; + } else { + used_res = optical_res; + } + + /* compute scan parameters values */ + /* pixels are allways given at half or full CCD optical resolution */ + /* use detected left margin and fixed value */ + + /* compute correct pixels number */ + used_pixels = (params.pixels * optical_res) / params.xres; + DBG(DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); + + /* exposure */ + exposure = sensor.exposure_lperiod; + if (exposure < 0) { + throw std::runtime_error("Exposure not defined in sensor definition"); + } + DBG(DBG_info, "%s : exposure=%d pixels\n", __func__, exposure); + + /* it seems base_dpi of the G4050 motor is changed above 600 dpi*/ + if (dev->model->motor_type == MOTOR_G4050 && params.yres>600) + { + dev->ld_shift_r = (dev->model->ld_shift_r*3800)/dev->motor.base_ydpi; + dev->ld_shift_g = (dev->model->ld_shift_g*3800)/dev->motor.base_ydpi; + dev->ld_shift_b = (dev->model->ld_shift_b*3800)/dev->motor.base_ydpi; + } + else + { + dev->ld_shift_r = dev->model->ld_shift_r; + dev->ld_shift_g = dev->model->ld_shift_g; + dev->ld_shift_b = dev->model->ld_shift_b; + } + + /* scanned area must be enlarged by max color shift needed */ + max_shift = sanei_genesys_compute_max_shift(dev, params.channels, params.yres, 0); + + /* lincnt */ + lincnt = params.lines + max_shift + stagger; + + dev->current_setup.params = params; + dev->current_setup.pixels = (used_pixels * used_res) / optical_res; + DBG(DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); + dev->current_setup.lines = lincnt; + dev->current_setup.depth = params.depth; + dev->current_setup.channels = params.channels; + dev->current_setup.exposure_time = exposure; + dev->current_setup.xres = used_res; + dev->current_setup.yres = params.yres; + dev->current_setup.ccd_size_divisor = ccd_size_divisor; + dev->current_setup.stagger = stagger; + dev->current_setup.max_shift = max_shift + stagger; + + DBG(DBG_proc, "%s: completed\n", __func__); +} + +/** + * for fast power saving methods only, like disabling certain amplifiers + * @param dev device to use + * @param enable true to set inot powersaving + * */ +static SANE_Status +gl843_save_power (Genesys_Device * dev, SANE_Bool enable) +{ + uint8_t val; + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s: enable = %d\n", __func__, enable); + if (dev == NULL) + return SANE_STATUS_INVAL; + + /* switch KV-SS080 lamp off */ + if (dev->model->gpo_type == GPO_KVSS080) + { + RIE(sanei_genesys_read_register (dev, REG6C, &val)); + if(enable) + val &= 0xef; + else + val |= 0x10; + RIE(sanei_genesys_write_register(dev,REG6C,val)); + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl843_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s (delay = %d)\n", __func__, delay); + if (dev == NULL) + return SANE_STATUS_INVAL; + + DBGCOMPLETED; + return status; +} + +static SANE_Status +gl843_start_action (Genesys_Device * dev) +{ + return sanei_genesys_write_register (dev, 0x0f, 0x01); +} + +static SANE_Status +gl843_stop_action_no_move(Genesys_Device* dev, Genesys_Register_Set* reg) +{ + uint8_t val = sanei_genesys_read_reg_from_set(reg, REG01); + val &= ~REG01_SCAN; + sanei_genesys_set_reg_from_set(reg, REG01, val); + SANE_Status ret = sanei_genesys_write_register(dev, REG01, val); + sanei_genesys_sleep_ms(100); + return ret; +} + +static SANE_Status +gl843_stop_action (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val40, val; + unsigned int loop; + + DBG(DBG_proc, "%s\n", __func__); + + status = sanei_genesys_get_status (dev, &val); + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + + val40 = 0; + status = sanei_genesys_read_register (dev, REG40, &val40); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + DBG(DBG_proc, "%s: completed\n", __func__); + return status; + } + + /* only stop action if needed */ + if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) + { + DBG(DBG_info, "%s: already stopped\n", __func__); + DBG(DBG_proc, "%s: completed\n", __func__); + return SANE_STATUS_GOOD; + } + + /* ends scan 646 */ + val = dev->reg.get8(REG01); + val &= ~REG01_SCAN; + dev->reg.set8(REG01, val); + status = sanei_genesys_write_register (dev, REG01, val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write register 01: %s\n", __func__, sane_strstatus(status)); + return status; + } + sanei_genesys_sleep_ms(100); + + loop = 10; + while (loop > 0) + { + status = sanei_genesys_get_status (dev, &val); + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + val40 = 0; + status = sanei_genesys_read_register (dev, 0x40, &val40); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* if scanner is in command mode, we are done */ + if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG) + && !(val & REG41_MOTORENB)) + { + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + sanei_genesys_sleep_ms(100); + loop--; + } + + DBGCOMPLETED; + return SANE_STATUS_IO_ERROR; +} + +static SANE_Status +gl843_get_paper_sensor (Genesys_Device * dev, SANE_Bool * paper_loaded) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + + status = sanei_genesys_read_register (dev, REG6D, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read gpio: %s\n", __func__, sane_strstatus(status)); + return status; + } + *paper_loaded = (val & 0x1) == 0; + return SANE_STATUS_GOOD; + + return SANE_STATUS_INVAL; +} + +static SANE_Status +gl843_eject_document (Genesys_Device * dev) +{ + DBG(DBG_proc, "%s: not implemented \n", __func__); + if (dev == NULL) + return SANE_STATUS_INVAL; + return SANE_STATUS_GOOD; +} + + +static SANE_Status +gl843_load_document (Genesys_Device * dev) +{ + DBG(DBG_proc, "%s: not implemented \n", __func__); + if (dev == NULL) + return SANE_STATUS_INVAL; + return SANE_STATUS_GOOD; +} + +/** + * detects end of document and adjust current scan + * to take it into account + * used by sheetfed scanners + */ +static SANE_Status +gl843_detect_document_end (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + SANE_Bool paper_loaded; + unsigned int scancnt = 0; + int flines, channels, depth, bytes_remain, sublines, + bytes_to_flush, lines, sub_bytes, tmp, read_bytes_left; + DBG(DBG_proc, "%s: begin\n", __func__); + + RIE (gl843_get_paper_sensor (dev, &paper_loaded)); + + /* sheetfed scanner uses home sensor as paper present */ + if ((dev->document == SANE_TRUE) && !paper_loaded) + { + DBG(DBG_info, "%s: no more document\n", __func__); + dev->document = SANE_FALSE; + + channels = dev->current_setup.channels; + depth = dev->current_setup.depth; + read_bytes_left = (int) dev->read_bytes_left; + DBG(DBG_io, "%s: read_bytes_left=%d\n", __func__, read_bytes_left); + + /* get lines read */ + try { + status = sanei_genesys_read_scancnt(dev, &scancnt); + } catch (...) { + flines = 0; + } + if (status != SANE_STATUS_GOOD) + { + flines = 0; + } + else + { + /* compute number of line read */ + tmp = (int) dev->total_bytes_read; + if (depth == 1 || dev->settings.scan_mode == ScanColorMode::LINEART) + flines = tmp * 8 / dev->settings.pixels / channels; + else + flines = tmp / (depth / 8) / dev->settings.pixels / channels; + + /* number of scanned lines, but no read yet */ + flines = scancnt - flines; + + DBG(DBG_io, "%s: %d scanned but not read lines\n", __func__, flines); + } + + /* adjust number of bytes to read + * we need to read the final bytes which are word per line * number of last lines + * to have doc leaving feeder */ + lines = + (SANE_UNFIX (dev->model->post_scan) * dev->current_setup.yres) / + MM_PER_INCH + flines; + DBG(DBG_io, "%s: adding %d line to flush\n", __func__, lines); + + /* number of bytes to read from scanner to get document out of it after + * end of document dectected by hardware sensor */ + bytes_to_flush = lines * dev->wpl; + + /* if we are already close to end of scan, flushing isn't needed */ + if (bytes_to_flush < read_bytes_left) + { + /* we take all these step to work around an overflow on some plateforms */ + tmp = (int) dev->total_bytes_read; + DBG (DBG_io, "%s: tmp=%d\n", __func__, tmp); + bytes_remain = (int) dev->total_bytes_to_read; + DBG(DBG_io, "%s: bytes_remain=%d\n", __func__, bytes_remain); + bytes_remain = bytes_remain - tmp; + DBG(DBG_io, "%s: bytes_remain=%d\n", __func__, bytes_remain); + + /* remaining lines to read by frontend for the current scan */ + if (depth == 1 || dev->settings.scan_mode == ScanColorMode::LINEART) + { + flines = bytes_remain * 8 / dev->settings.pixels / channels; + } + else + flines = bytes_remain / (depth / 8) + / dev->settings.pixels / channels; + DBG(DBG_io, "%s: flines=%d\n", __func__, flines); + + if (flines > lines) + { + /* change the value controlling communication with the frontend : + * total bytes to read is current value plus the number of remaining lines + * multiplied by bytes per line */ + sublines = flines - lines; + + if (depth == 1 || dev->settings.scan_mode == ScanColorMode::LINEART) + sub_bytes = + ((dev->settings.pixels * sublines) / 8 + + (((dev->settings.pixels * sublines) % 8) ? 1 : 0)) * + channels; + else + sub_bytes = + dev->settings.pixels * sublines * channels * (depth / 8); + + dev->total_bytes_to_read -= sub_bytes; + + /* then adjust the physical bytes to read */ + if (read_bytes_left > sub_bytes) + { + dev->read_bytes_left -= sub_bytes; + } + else + { + dev->total_bytes_to_read = dev->total_bytes_read; + dev->read_bytes_left = 0; + } + + DBG(DBG_io, "%s: sublines=%d\n", __func__, sublines); + DBG(DBG_io, "%s: subbytes=%d\n", __func__, sub_bytes); + DBG(DBG_io, "%s: total_bytes_to_read=%lu\n", __func__, + (unsigned long) dev->total_bytes_to_read); + DBG(DBG_io, "%s: read_bytes_left=%d\n", __func__, read_bytes_left); + } + } + else + { + DBG(DBG_io, "%s: no flushing needed\n", __func__); + } + } + + DBG(DBG_proc, "%s: finished\n", __func__); + return SANE_STATUS_GOOD; +} + +// enables or disables XPA slider motor +static SANE_Status gl843_set_xpa_motor_power(Genesys_Device *dev, bool set) +{ + uint8_t val; + SANE_Status status=SANE_STATUS_GOOD; + + DBGSTART; + + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) { + + if (set) { + RIE(sanei_genesys_read_register(dev, REG6C, &val)); + val &= ~REG6C_GPIO14; + if (dev->current_setup.xres >= 2400) { + val |= REG6C_GPIO10; + } + RIE(sanei_genesys_write_register(dev, REG6C, val)); + + RIE(sanei_genesys_read_register(dev, REGA6, &val)); + val |= REGA6_GPIO17; + RIE(sanei_genesys_write_register(dev, REGA6,val)); + } else { + RIE(sanei_genesys_read_register(dev, REG6C, &val)); + val |= REG6C_GPIO14; + val &= ~REG6C_GPIO10; + RIE(sanei_genesys_write_register(dev, REG6C, val)); + + RIE(sanei_genesys_read_register(dev, REGA6, &val)); + val &= ~REGA6_GPIO17; + RIE(sanei_genesys_write_register(dev, REGA6,val)); + } + DBGCOMPLETED; + return status; + } + + if (dev->model->model_id == MODEL_HP_SCANJET_G4050) { + + if (set) { + /* set MULTFILM et GPOADF */ + RIE (sanei_genesys_read_register (dev, REG6B, &val)); + val |=REG6B_MULTFILM|REG6B_GPOADF; + RIE (sanei_genesys_write_register (dev, REG6B, val)); + + RIE (sanei_genesys_read_register (dev, REG6C, &val)); + val &= ~REG6C_GPIO15; + RIE (sanei_genesys_write_register (dev, REG6C, val)); + + /* Motor power ? No move at all without this one */ + RIE (sanei_genesys_read_register (dev, REGA6, &val)); + val |= REGA6_GPIO20; + RIE (sanei_genesys_write_register(dev,REGA6,val)); + + RIE (sanei_genesys_read_register (dev, REGA8, &val)); + val &= ~REGA8_GPO27; + RIE (sanei_genesys_write_register (dev, REGA8, val)); + + RIE (sanei_genesys_read_register (dev, REGA9, &val)); + val |= REGA9_GPO32|REGA9_GPO31; + RIE (sanei_genesys_write_register (dev, REGA9, val)); + } else { + /* unset GPOADF */ + RIE (sanei_genesys_read_register (dev, REG6B, &val)); + val &= ~REG6B_GPOADF; + RIE (sanei_genesys_write_register (dev, REG6B, val)); + + RIE (sanei_genesys_read_register (dev, REGA8, &val)); + val |= REGA8_GPO27; + RIE (sanei_genesys_write_register (dev, REGA8, val)); + + RIE (sanei_genesys_read_register (dev, REGA9, &val)); + val &= ~REGA9_GPO31; + RIE (sanei_genesys_write_register (dev, REGA9, val)); + } + DBGCOMPLETED; + return status; + } + + DBGCOMPLETED; + return status; +} + + +/** @brief light XPA lamp + * toggle gpios to switch off regular lamp and light on the + * XPA light + * @param dev device to set up + */ +static SANE_Status gl843_set_xpa_lamp_power(Genesys_Device *dev, bool set) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val = 0; + DBGSTART; + + if (set) { + RIE(sanei_genesys_read_register(dev, REGA6, &val)); + + // cut regular lamp power + val &= ~(REGA6_GPIO24 | REGA6_GPIO23); + + // set XPA lamp power + val |= REGA6_GPIO22 | REGA6_GPIO21 | REGA6_GPIO19; + + RIE(sanei_genesys_write_register(dev, REGA6, val)); + + RIE(sanei_genesys_read_register(dev, REGA7, &val)); + val|=REGA7_GPOE24; /* lamp 1 off GPOE 24 */ + val|=REGA7_GPOE23; /* lamp 2 off GPOE 23 */ + val|=REGA7_GPOE22; /* full XPA lamp power */ + RIE(sanei_genesys_write_register(dev, REGA7, val)); + } else { + RIE(sanei_genesys_read_register(dev, REGA6, &val)); + + // switch on regular lamp + val |= REGA6_GPIO23; + + // no XPA lamp power (2 bits for level: __11 ____) + val &= ~(REGA6_GPIO22 | REGA6_GPIO21); + + RIE(sanei_genesys_write_register(dev, REGA6, val)); + } + + DBGCOMPLETED; + return status; +} + +/* Send the low-level scan command */ +static SANE_Status +gl843_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, + SANE_Bool start_motor) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + uint16_t dpiset, dpihw; + + DBGSTART; + + /* get back the target dpihw */ + sanei_genesys_get_double (reg, REG_DPISET, &dpiset); + dpihw = sanei_genesys_compute_dpihw(dev, sensor, dpiset); + + /* set up GPIO for scan */ + switch(dev->model->gpo_type) + { + /* KV case */ + case GPO_KVSS080: + RIE (sanei_genesys_write_register (dev, REGA9, 0x00)); + RIE (sanei_genesys_write_register (dev, REGA6, 0xf6)); + /* blinking led */ + RIE (sanei_genesys_write_register (dev, 0x7e, 0x04)); + break; + case GPO_G4050: + RIE (sanei_genesys_write_register (dev, REGA7, 0xfe)); + RIE (sanei_genesys_write_register (dev, REGA8, 0x3e)); + RIE (sanei_genesys_write_register (dev, REGA9, 0x06)); + switch (dpihw) + { + case 1200: + case 2400: + case 4800: + RIE (sanei_genesys_write_register (dev, REG6C, 0x60)); + RIE (sanei_genesys_write_register (dev, REGA6, 0x46)); + break; + default: /* 600 dpi case */ + RIE (sanei_genesys_write_register (dev, REG6C, 0x20)); + RIE (sanei_genesys_write_register (dev, REGA6, 0x44)); + } + + if (reg->state.is_xpa_on && reg->state.is_lamp_on) { + RIE(gl843_set_xpa_lamp_power(dev, true)); + } + + if (reg->state.is_xpa_on) { + dev->needs_home_ta = SANE_TRUE; + RIE(gl843_set_xpa_motor_power(dev, true)); + } + + /* blinking led */ + RIE (sanei_genesys_write_register (dev, REG7E, 0x01)); + break; + case GPO_CS8600F: + if (reg->state.is_xpa_on) { + dev->needs_home_ta = SANE_TRUE; + RIE(gl843_set_xpa_motor_power(dev, true)); + } + break; + case GPO_CS4400F: + case GPO_CS8400F: + default: + break; + } + + /* clear scan and feed count */ + RIE (sanei_genesys_write_register + (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); + + /* enable scan and motor */ + RIE (sanei_genesys_read_register (dev, REG01, &val)); + val |= REG01_SCAN; + RIE (sanei_genesys_write_register (dev, REG01, val)); + + if (start_motor) + { + RIE (sanei_genesys_write_register (dev, REG0F, 1)); + } + else + { + RIE (sanei_genesys_write_register (dev, REG0F, 0)); + } + + DBGCOMPLETED; + return status; +} + + +/* Send the stop scan command */ +static SANE_Status +gl843_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, + SANE_Bool check_stop) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s (check_stop = %d)\n", __func__, check_stop); + if (reg == NULL) + return SANE_STATUS_INVAL; + + /* post scan gpio */ + RIE(sanei_genesys_write_register(dev,0x7e,0x00)); + + // turn off XPA lamp if needed + // BUG: the if condition below probably shouldn't be enabled when XPA is off + if (reg->state.is_xpa_on || reg->state.is_lamp_on) { + gl843_set_xpa_lamp_power(dev, false); + } + + if (dev->model->is_sheetfed == SANE_TRUE) + { + status = SANE_STATUS_GOOD; + } + else /* flat bed scanners */ + { + status = gl843_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + DBGCOMPLETED; + return status; +} + +/** @brief park XPA lamp + * park the XPA lamp if needed + */ +static SANE_Status gl843_park_xpa_lamp (Genesys_Device * dev) +{ + Genesys_Register_Set local_reg; + SANE_Status status = SANE_STATUS_GOOD; + GenesysRegister *r; + uint8_t val; + int loop = 0; + + DBGSTART; + + /* copy scan settings */ + local_reg = dev->reg; + + /* set a huge feedl and reverse direction */ + sanei_genesys_set_triple(&local_reg,REG_FEEDL,0xbdcd); + + /* clear scan and feed count */ + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); + + /* set up for reverse and no scan */ + r = sanei_genesys_get_address (&local_reg, REG02); + r->value |= REG02_MTRREV; + r = sanei_genesys_get_address (&local_reg, REG01); + r->value &= ~REG01_SCAN; + + /* write to scanner and start action */ + RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); + RIE(gl843_set_xpa_motor_power(dev, true)); + try { + status = gl843_start_action (dev); + } catch (...) { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + try { + gl843_stop_action(dev); + } catch (...) {} + try { + // restore original registers + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + } catch (...) {} + throw; + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + gl843_stop_action (dev); + /* restore original registers */ + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + return status; + } + + while (loop < 600) /* do not wait longer then 60 seconds */ + { + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, + sane_strstatus(status)); + return status; + } + if (DBG_LEVEL >= DBG_io2) + { + sanei_genesys_print_status (val); + } + + if (val & REG41_HOMESNR) /* home sensor */ + { + DBG(DBG_info, "%s: reached home position\n", __func__); + DBG(DBG_proc, "%s: finished\n", __func__); + + gl843_set_xpa_motor_power(dev, false); + dev->needs_home_ta = SANE_FALSE; + + return SANE_STATUS_GOOD; + } + sanei_genesys_sleep_ms(100); + ++loop; + } + + /* we are not parked here.... should we fail ? */ + DBG(DBG_info, "%s: XPA lamp is not parked\n", __func__); + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** @brief Moves the slider to the home (top) position slowly + * */ +static SANE_Status +gl843_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) +{ + Genesys_Register_Set local_reg; + SANE_Status status = SANE_STATUS_GOOD; + GenesysRegister *r; + uint8_t val; + float resolution; + int loop = 0; + + DBG(DBG_proc, "%s (wait_until_home = %d)\n", __func__, wait_until_home); + + if (dev->needs_home_ta) { + RIE(gl843_park_xpa_lamp(dev)); + } + + /* regular slow back home */ + dev->scanhead_position_in_steps = 0; + + /* first read gives HOME_SENSOR true */ + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + return status; + } + sanei_genesys_sleep_ms(100); + + /* second is reliable */ + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + if (val & HOMESNR) /* is sensor at home? */ + { + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + local_reg = dev->reg; + resolution=sanei_genesys_get_lowest_ydpi(dev); + + const auto& sensor = sanei_genesys_find_sensor(dev, resolution); + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = 100; + session.params.starty = 40000; + session.params.pixels = 100; + session.params.lines = 100; + session.params.depth = 8; + session.params.channels = 1; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::LINEART; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + gl843_compute_session(dev, session, sensor); + + status = gl843_init_scan_regs(dev, sensor, &local_reg, session); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* clear scan and feed count */ + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); + + /* set up for reverse and no scan */ + r = sanei_genesys_get_address(&local_reg, REG02); + r->value |= REG02_MTRREV; + r = sanei_genesys_get_address(&local_reg, REG01); + r->value &= ~REG01_SCAN; + + RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); + + try { + status = gl843_start_action (dev); + } catch (...) { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + try { + gl843_stop_action(dev); + } catch (...) {} + try { + // restore original registers + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + } catch (...) {} + throw; + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + gl843_stop_action (dev); + /* restore original registers */ + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + return status; + } + + if (wait_until_home) + { + + while (loop < 300) /* do not wait longer then 30 seconds */ + { + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, + sane_strstatus(status)); + return status; + } + if (DBG_LEVEL >= DBG_io2) + { + sanei_genesys_print_status (val); + } + + if (val & REG41_HOMESNR) /* home sensor */ + { + DBG(DBG_info, "%s: reached home position\n", __func__); + DBG(DBG_proc, "%s: finished\n", __func__); + return SANE_STATUS_GOOD; + } + sanei_genesys_sleep_ms(100); + ++loop; + } + + /* when we come here then the scanner needed too much time for this, so we better stop the motor */ + gl843_stop_action (dev); + DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); + return SANE_STATUS_IO_ERROR; + } + + DBG(DBG_info, "%s: scanhead is still moving\n", __func__); + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels + area at 600 dpi from very top of scanner */ +static SANE_Status +gl843_search_start_position (Genesys_Device * dev) +{ + int size; + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Register_Set local_reg; + int steps; + + int pixels = 600; + int dpi = 300; + + DBG(DBG_proc, "%s\n", __func__); + + local_reg = dev->reg; + + /* sets for a 200 lines * 600 pixels */ + /* normal scan with no shading */ + + // FIXME: the current approach of doing search only for one resolution does not work on scanners + // whith employ different sensors with potentially different settings. + auto& sensor = sanei_genesys_find_sensor_for_write(dev, dpi); + + ScanSession session; + session.params.xres = dpi; + session.params.yres = dpi; + session.params.startx = 0; + session.params.starty = 0; // we should give a small offset here - ~60 steps + session.params.pixels = 600; + session.params.lines = dev->model->search_lines; + session.params.depth = 8; + session.params.channels = 1; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::GRAY; + session.params.color_filter = ColorFilter::GREEN; + session.params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_IGNORE_LINE_DISTANCE | + SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE; + gl843_compute_session(dev, session, sensor); + + status = gl843_init_scan_regs(dev, sensor, &local_reg, session); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk setup registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* send to scanner */ + status = dev->model->cmd_set->bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + size = dev->read_bytes_left; + + std::vector data(size); + + status = gl843_begin_scan(dev, sensor, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* waits for valid data */ + do + sanei_genesys_test_buffer_empty (dev, &steps); + while (steps); + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + RIE(gl843_stop_action_no_move(dev, &local_reg)); + + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl843_search_position.pnm", data.data(), 8, 1, pixels, + dev->model->search_lines); + + status = gl843_end_scan(dev, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* update regs to copy ASIC internal state */ + dev->reg = local_reg; + + status = + sanei_genesys_search_reference_point (dev, sensor, data.data(), 0, dpi, pixels, + dev->model->search_lines); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set search reference point: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + return SANE_STATUS_GOOD; +} + +/* + * sets up register for coarse gain calibration + * todo: check it for scanners using it */ +static SANE_Status +gl843_init_regs_for_coarse_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t channels; + uint8_t cksel; + + DBGSTART; + cksel = (regs.find_reg(0x18).value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ + + /* set line size */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else + channels = 1; + + int flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) { + flags |= SCAN_FLAG_USE_XPA; + } + + ScanSession session; + session.params.xres = dev->settings.xres; + session.params.yres = dev->settings.yres; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = sensor.optical_res / cksel; // XXX STEF XXX dpi instead of pixels! + session.params.lines = 20; + session.params.depth = 16; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = flags; + gl843_compute_session(dev, session, sensor); + + status = gl843_init_scan_regs(dev, sensor, ®s, session); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + sanei_genesys_set_motor_power(regs, false); + + DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, + sensor.optical_res / cksel, dev->settings.xres); + + status = dev->model->cmd_set->bulk_write_register(dev, regs); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** @brief moves the slider to steps at motor base dpi + * @param dev device to work on + * @param steps number of steps to move + * */ +static SANE_Status +gl843_feed (Genesys_Device * dev, unsigned int steps) +{ + Genesys_Register_Set local_reg; + SANE_Status status = SANE_STATUS_GOOD; + GenesysRegister *r; + float resolution; + uint8_t val; + + DBGSTART; + + /* prepare local registers */ + local_reg = dev->reg; + + resolution=sanei_genesys_get_lowest_ydpi(dev); + + const auto& sensor = sanei_genesys_find_sensor(dev, resolution); + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = 0; + session.params.starty = steps; + session.params.pixels = 100; + session.params.lines = 3; + session.params.depth = 8; + session.params.channels = 3; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = ColorFilter::RED; + session.params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_FEEDING | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + gl843_compute_session(dev, session, sensor); + + status = gl843_init_scan_regs(dev, sensor, &local_reg, session); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* clear scan and feed count */ + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT)); + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRMCNT)); + + /* set up for no scan */ + r = sanei_genesys_get_address(&local_reg, REG01); + r->value &= ~REG01_SCAN; + + /* send registers */ + RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); + + try { + status = gl843_start_action (dev); + } catch (...) { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + try { + gl843_stop_action(dev); + } catch (...) {} + try { + // restore original registers + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + } catch (...) {} + throw; + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + gl843_stop_action (dev); + + /* restore original registers */ + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + return status; + } + + /* wait until feed count reaches the required value, but do not + * exceed 30s */ + do + { + status = sanei_genesys_get_status (dev, &val); + } + while (status == SANE_STATUS_GOOD && !(val & FEEDFSH)); + + // looks like the scanner locks up if we scan immediately after feeding + sanei_genesys_sleep_ms(100); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status gl843_move_to_ta (Genesys_Device * dev); + +/* init registers for shading calibration */ +/* shading calibration is done at dpihw */ +static SANE_Status +gl843_init_regs_for_shading(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + int move, resolution, dpihw, factor; + uint16_t strpixel; + + DBGSTART; + + /* initial calibration reg values */ + regs = dev->reg; + + dev->calib_channels = 3; + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) + dev->calib_lines = dev->model->shading_ta_lines; + else + dev->calib_lines = dev->model->shading_lines; + dpihw = sanei_genesys_compute_dpihw_calibration(dev, sensor, dev->settings.xres); + factor=sensor.optical_res/dpihw; + resolution=dpihw; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, + dev->settings.scan_method); + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY && + dev->model->model_id == MODEL_CANON_CANOSCAN_8600F && + dev->settings.xres == 4800) + { + float offset = SANE_UNFIX(dev->model->x_offset_ta); + offset /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); + offset = (offset * calib_sensor.optical_res) / MM_PER_INCH; + + unsigned size = SANE_UNFIX(dev->model->x_size_ta); + size /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); + size = (size * calib_sensor.optical_res) / MM_PER_INCH; + + dev->calib_pixels_offset = offset; + dev->calib_pixels = size; + } + else + { + dev->calib_pixels_offset = 0; + dev->calib_pixels = calib_sensor.sensor_pixels / factor; + } + + dev->calib_resolution = resolution; + + int flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) + { + // note: move_to_ta() function has already been called and the sensor is at the + // transparency adapter + move = 0; // already at dev->model->y_offset_calib_ta implicitly + flags |= SCAN_FLAG_USE_XPA; + } + else + move = SANE_UNFIX(dev->model->y_offset_calib); + + move = (move * resolution) / MM_PER_INCH; + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = dev->calib_pixels_offset; + session.params.starty = move; + session.params.pixels = dev->calib_pixels; + session.params.lines = dev->calib_lines; + session.params.depth = 16; + session.params.channels = dev->calib_channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = flags; + gl843_compute_session(dev, session, calib_sensor); + + status = gl843_init_scan_regs(dev, calib_sensor, ®s, session); + + // the pixel number may be updated to conform to scanner constraints + dev->calib_pixels = dev->current_setup.pixels; + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + dev->calib_total_bytes_to_read = dev->read_bytes_left; + + dev->scanhead_position_in_steps += dev->calib_lines + move; + sanei_genesys_get_double(®s,REG_STRPIXEL,&strpixel); + DBG(DBG_info, "%s: STRPIXEL=%d\n", __func__, strpixel); + + status = dev->model->cmd_set->bulk_write_register(dev, regs); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** @brief set up registers for the actual scan + */ +static SANE_Status +gl843_init_regs_for_scan (Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int channels; + int flags; + int depth; + float move; + int move_dpi; + float start; + + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, dev->settings); + + /* channels */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else + channels = 1; + + /* depth */ + depth = dev->settings.depth; + if (dev->settings.scan_mode == ScanColorMode::LINEART) + depth = 1; + + move_dpi = dev->motor.base_ydpi; + + flags = 0; + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) + { + // note: move_to_ta() function has already been called and the sensor is at the + // transparency adapter + move = SANE_UNFIX(dev->model->y_offset_ta) - SANE_UNFIX(dev->model->y_offset_calib_ta); + flags |= SCAN_FLAG_USE_XPA; + } + else + move = SANE_UNFIX(dev->model->y_offset); + + move += dev->settings.tl_y; + move = (move * move_dpi) / MM_PER_INCH; + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + /* start */ + if(dev->settings.scan_method==ScanMethod::TRANSPARENCY) + start = SANE_UNFIX (dev->model->x_offset_ta); + else + start = SANE_UNFIX (dev->model->x_offset); + + start /= sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres); + start += dev->settings.tl_x; + start = (start * sensor.optical_res) / MM_PER_INCH; + + /* enable emulated lineart from gray data */ + if(dev->settings.scan_mode == ScanColorMode::LINEART + && dev->settings.dynamic_lineart) + { + flags |= SCAN_FLAG_DYNAMIC_LINEART; + } + + ScanSession session; + session.params.xres = dev->settings.xres; + session.params.yres = dev->settings.yres; + session.params.startx = start; + session.params.starty = move; + session.params.pixels = dev->settings.pixels; + session.params.lines = dev->settings.lines; + session.params.depth = depth; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = flags; + gl843_compute_session(dev, session, sensor); + + status = gl843_init_scan_regs(dev, sensor, &dev->reg, session); + + if (status != SANE_STATUS_GOOD) + return status; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** + * This function sends gamma tables to ASIC + */ +static SANE_Status +gl843_send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) +{ + int size; + SANE_Status status = SANE_STATUS_GOOD; + int i; + + DBGSTART; + + size = 256; + + /* allocate temporary gamma tables: 16 bits words, 3 channels */ + std::vector gamma(size * 2 * 3); + + std::vector rgamma = get_gamma_table(dev, sensor, GENESYS_RED); + std::vector ggamma = get_gamma_table(dev, sensor, GENESYS_GREEN); + std::vector bgamma = get_gamma_table(dev, sensor, GENESYS_BLUE); + + // copy sensor specific's gamma tables + for (i = 0; i < size; i++) { + gamma[i * 2 + size * 0 + 0] = rgamma[i] & 0xff; + gamma[i * 2 + size * 0 + 1] = (rgamma[i] >> 8) & 0xff; + gamma[i * 2 + size * 2 + 0] = ggamma[i] & 0xff; + gamma[i * 2 + size * 2 + 1] = (ggamma[i] >> 8) & 0xff; + gamma[i * 2 + size * 4 + 0] = bgamma[i] & 0xff; + gamma[i * 2 + size * 4 + 1] = (bgamma[i] >> 8) & 0xff; + } + + /* send address */ + status = gl843_set_buffer_address (dev, 0x0000); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* send data */ + status = sanei_genesys_bulk_write_data(dev, 0x28, gamma.data(), size * 2 * 3); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send gamma table: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_proc, "%s: completed\n", __func__); + return SANE_STATUS_GOOD; +} + +/* this function does the led calibration by scanning one line of the calibration + area below scanner's top on white strip. + +-needs working coarse/gain +*/ +static SANE_Status +gl843_led_calibration (Genesys_Device * dev, Genesys_Sensor& sensor, Genesys_Register_Set& regs) +{ + int num_pixels; + int total_size; + int used_res; + int i, j; + SANE_Status status = SANE_STATUS_GOOD; + int val; + int channels, depth; + int avg[3], avga, avge; + int turn; + uint16_t expr, expg, expb; + + SANE_Bool acceptable = SANE_FALSE; + + DBG(DBG_proc, "%s\n", __func__); + + /* offset calibration is always done in color mode */ + channels = 3; + depth = 16; + used_res = sensor.optical_res; + + auto& calib_sensor = sanei_genesys_find_sensor_for_write(dev, used_res, + dev->settings.scan_method); + num_pixels = + (calib_sensor.sensor_pixels * used_res) / calib_sensor.optical_res; + + /* initial calibration reg values */ + regs = dev->reg; + + ScanSession session; + session.params.xres = used_res; + session.params.yres = dev->motor.base_ydpi; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = num_pixels; + session.params.lines = 1; + session.params.depth = depth; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + gl843_compute_session(dev, session, calib_sensor); + + status = gl843_init_scan_regs(dev, calib_sensor, ®s, session); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + + total_size = dev->read_bytes_left; + + std::vector line(total_size); + +/* + we try to get equal bright leds here: + + loop: + average per color + adjust exposure times + */ + + expr = calib_sensor.exposure.red; + expg = calib_sensor.exposure.green; + expb = calib_sensor.exposure.blue; + + turn = 0; + + do + { + + calib_sensor.exposure.red = expr; + calib_sensor.exposure.green = expg; + calib_sensor.exposure.blue = expb; + + sanei_genesys_set_exposure(regs, calib_sensor.exposure); + + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + + DBG(DBG_info, "%s: starting first line reading\n", __func__); + RIE (gl843_begin_scan(dev, calib_sensor, ®s, SANE_TRUE)); + RIE (sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); + RIE(gl843_stop_action_no_move(dev, ®s)); + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + snprintf(fn, 30, "gl843_led_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, line.data(), depth, channels, num_pixels, 1); + } + + acceptable = SANE_TRUE; + + for (j = 0; j < channels; j++) + { + avg[j] = 0; + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * num_pixels + 1] * 256 + + line[i * 2 + j * 2 * num_pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + avg[j] += val; + } + + avg[j] /= num_pixels; + } + + DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); + + acceptable = SANE_TRUE; + + if (avg[0] < avg[1] * 0.95 || avg[1] < avg[0] * 0.95 || + avg[0] < avg[2] * 0.95 || avg[2] < avg[0] * 0.95 || + avg[1] < avg[2] * 0.95 || avg[2] < avg[1] * 0.95) + acceptable = SANE_FALSE; + + if (!acceptable) + { + avga = (avg[0] + avg[1] + avg[2]) / 3; + expr = (expr * avga) / avg[0]; + expg = (expg * avga) / avg[1]; + expb = (expb * avga) / avg[2]; +/* + keep the resulting exposures below this value. + too long exposure drives the ccd into saturation. + we may fix this by relying on the fact that + we get a striped scan without shading, by means of + statistical calculation +*/ + avge = (expr + expg + expb) / 3; + + /* don't overflow max exposure */ + if (avge > 3000) + { + expr = (expr * 2000) / avge; + expg = (expg * 2000) / avge; + expb = (expb * 2000) / avge; + } + if (avge < 50) + { + expr = (expr * 50) / avge; + expg = (expg * 50) / avge; + expb = (expb * 50) / avge; + } + + } + + RIE (gl843_stop_action (dev)); + + turn++; + + } + while (!acceptable && turn < 100); + + DBG(DBG_info, "%s: acceptable exposure: %d,%d,%d\n", __func__, expr, expg, expb); + + sensor.exposure = calib_sensor.exposure; + + gl843_slow_back_home (dev, SANE_TRUE); + + DBG(DBG_proc, "%s: completed\n", __func__); + return status; +} + + + +/** + * average dark pixels of a 8 bits scan of a given channel + */ +static int +dark_average_channel (uint8_t * data, unsigned int pixels, unsigned int lines, + unsigned int channels, unsigned int black, int channel) +{ + unsigned int i, j, k, count; + unsigned int avg[3]; + uint8_t val; + + /* computes average values on black margin */ + for (k = 0; k < channels; k++) + { + avg[k] = 0; + count = 0; + // FIXME: start with the second line because the black pixels often have noise on the first + // line; the cause is probably incorrectly cleaned up previous scan + for (i = 1; i < lines; i++) + { + for (j = 0; j < black; j++) + { + val = data[i * channels * pixels + j*channels + k]; + avg[k] += val; + count++; + } + } + if (count) + avg[k] /= count; + DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); + } + DBG(DBG_info, "%s: average = %d\n", __func__, avg[channel]); + return avg[channel]; +} + +/** @brief calibrate AFE offset + * Iterate doing scans at target dpi until AFE offset if correct. One + * color line is scanned at a time. Scanning head doesn't move. + * @param dev device to calibrate + */ +static SANE_Status +gl843_offset_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + unsigned int channels, bpp; + int pass, total_size, i, resolution, lines; + int topavg[3], bottomavg[3], avg[3]; + int top[3], bottom[3], black_pixels, pixels, factor, dpihw; + + DBGSTART; + + /* offset calibration is always done in color mode */ + channels = 3; + lines = 8; + bpp = 8; + + /* compute divider factor to compute final pixels number */ + dpihw = sanei_genesys_compute_dpihw_calibration(dev, sensor, dev->settings.xres); + factor = sensor.optical_res / dpihw; + resolution = dpihw; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, + dev->settings.scan_method); + + int target_pixels = calib_sensor.sensor_pixels / factor; + int start_pixel = 0; + black_pixels = calib_sensor.black_pixels / factor; + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY && + dev->model->model_id == MODEL_CANON_CANOSCAN_8600F && + dev->settings.xres == 4800) + { + start_pixel = SANE_UNFIX(dev->model->x_offset_ta); + start_pixel /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); + start_pixel = (start_pixel * calib_sensor.optical_res) / MM_PER_INCH; + + target_pixels = SANE_UNFIX(dev->model->x_size_ta); + target_pixels /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); + target_pixels = (target_pixels * calib_sensor.optical_res) / MM_PER_INCH; + } + + int flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) + { + flags |= SCAN_FLAG_USE_XPA; + } + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = start_pixel; + session.params.starty = 0; + session.params.pixels = target_pixels; + session.params.lines = lines; + session.params.depth = bpp; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = ColorFilter::RED; + session.params.flags = flags; + gl843_compute_session(dev, session, calib_sensor); + pixels = session.output_pixels; + + DBG(DBG_io, "%s: dpihw =%d\n", __func__, dpihw); + DBG(DBG_io, "%s: factor =%d\n", __func__, factor); + DBG(DBG_io, "%s: resolution =%d\n", __func__, resolution); + DBG(DBG_io, "%s: pixels =%d\n", __func__, pixels); + DBG(DBG_io, "%s: black_pixels=%d\n", __func__, black_pixels); + status = gl843_init_scan_regs(dev, calib_sensor, ®s, session); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + sanei_genesys_set_motor_power(regs, false); + + /* allocate memory for scans */ + total_size = dev->read_bytes_left; + + std::vector first_line(total_size); + std::vector second_line(total_size); + + /* init gain and offset */ + for (i = 0; i < 3; i++) + { + bottom[i] = 10; + dev->frontend.set_offset(i, bottom[i]); + dev->frontend.set_gain(i, 0); + } + RIE(gl843_set_fe(dev, calib_sensor, AFE_SET)); + + /* scan with obttom AFE settings */ + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + DBG(DBG_info, "%s: starting first line reading\n", __func__); + RIE(gl843_begin_scan(dev, calib_sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size)); + RIE(gl843_stop_action_no_move(dev, ®s)); + + if (DBG_LEVEL >= DBG_data) + { + char fn[40]; + snprintf(fn, 40, "gl843_bottom_offset_%03d_%03d_%03d.pnm", + bottom[0], bottom[1], bottom[2]); + sanei_genesys_write_pnm_file(fn, first_line.data(), bpp, channels, pixels, lines); + } + + for (i = 0; i < 3; i++) + { + bottomavg[i] = dark_average_channel(first_line.data(), pixels, lines, channels, black_pixels, i); + DBG(DBG_io2, "%s: bottom avg %d=%d\n", __func__, i, bottomavg[i]); + } + + /* now top value */ + for (i = 0; i < 3; i++) + { + top[i] = 255; + dev->frontend.set_offset(i, top[i]); + } + RIE(gl843_set_fe(dev, calib_sensor, AFE_SET)); + + /* scan with top AFE values */ + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + RIE(gl843_begin_scan(dev, calib_sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size)); + RIE(gl843_stop_action_no_move(dev, ®s)); + + for (i = 0; i < 3; i++) + { + topavg[i] = dark_average_channel(second_line.data(), pixels, lines, channels, black_pixels, i); + DBG(DBG_io2, "%s: top avg %d=%d\n", __func__, i, topavg[i]); + } + + pass = 0; + + std::vector debug_image; + size_t debug_image_lines = 0; + std::string debug_image_info; + + /* loop until acceptable level */ + while ((pass < 32) + && ((top[0] - bottom[0] > 1) + || (top[1] - bottom[1] > 1) || (top[2] - bottom[2] > 1))) + { + pass++; + + /* settings for new scan */ + for (i = 0; i < 3; i++) + { + if (top[i] - bottom[i] > 1) + { + dev->frontend.set_offset(i, (top[i] + bottom[i]) / 2); + } + } + RIE(gl843_set_fe(dev, calib_sensor, AFE_SET)); + + /* scan with no move */ + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + RIE(gl843_begin_scan(dev, calib_sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size)); + RIE(gl843_stop_action_no_move(dev, ®s)); + + if (DBG_LEVEL >= DBG_data) + { + char title[100]; + snprintf(title, 100, "lines: %d pixels_per_line: %d offsets[0..2]: %d %d %d\n", + lines, pixels, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); + debug_image_info += title; + std::copy(second_line.begin(), second_line.end(), std::back_inserter(debug_image)); + debug_image_lines += lines; + } + + for (i = 0; i < 3; i++) + { + avg[i] = dark_average_channel(second_line.data(), pixels, lines, channels, black_pixels, i); + DBG(DBG_info, "%s: avg[%d]=%d offset=%d\n", __func__, i, avg[i], + dev->frontend.get_offset(i)); + } + + /* compute new boundaries */ + for (i = 0; i < 3; i++) + { + if (topavg[i] >= avg[i]) + { + topavg[i] = avg[i]; + top[i] = dev->frontend.get_offset(i); + } + else + { + bottomavg[i] = avg[i]; + bottom[i] = dev->frontend.get_offset(i); + } + } + } + + if (DBG_LEVEL >= DBG_data) + { + sanei_genesys_write_file("gl843_offset_all_desc.txt", + (uint8_t*) debug_image_info.data(), debug_image_info.size()); + sanei_genesys_write_pnm_file("gl843_offset_all.pnm", + debug_image.data(), bpp, channels, pixels, debug_image_lines); + } + + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/* alternative coarse gain calibration + this on uses the settings from offset_calibration and + uses only one scanline + */ +/* + with offset and coarse calibration we only want to get our input range into + a reasonable shape. the fine calibration of the upper and lower bounds will + be done with shading. + */ +static SANE_Status +gl843_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) +{ + int pixels, factor, dpihw; + int total_size; + int i, j, channels; + SANE_Status status = SANE_STATUS_GOOD; + int max[3]; + float coeff; + int val, lines; + int resolution; + int bpp; + + DBG(DBG_proc, "%s: dpi = %d\n", __func__, dpi); + dpihw=sanei_genesys_compute_dpihw_calibration(dev, sensor, dpi); + factor=sensor.optical_res/dpihw; + + /* coarse gain calibration is always done in color mode */ + channels = 3; + + /* follow CKSEL */ + if (dev->model->ccd_type == CCD_KVSS080) + { + if(dev->settings.xressettings.scan_method == ScanMethod::TRANSPARENCY) + { + flags |= SCAN_FLAG_USE_XPA; + } + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, + dev->settings.scan_method); + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = target_pixels; + session.params.lines = lines; + session.params.depth = bpp; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = flags; + gl843_compute_session(dev, session, calib_sensor); + pixels = session.output_pixels; + + try { + status = gl843_init_scan_regs(dev, calib_sensor, ®s, session); + } catch (...) { + try { + sanei_genesys_set_motor_power(regs, false); + } catch (...) {} + throw; + } + + sanei_genesys_set_motor_power(regs, false); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + + total_size = dev->read_bytes_left; + + std::vector line(total_size); + + RIE(gl843_set_fe(dev, calib_sensor, AFE_SET)); + RIE(gl843_begin_scan(dev, calib_sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner (dev, line.data(), total_size)); + RIE(gl843_stop_action_no_move(dev, ®s)); + + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl843_gain.pnm", line.data(), bpp, channels, pixels, lines); + + /* average value on each channel */ + for (j = 0; j < channels; j++) + { + max[j] = 0; + // FIXME: start from the second line because the first line often has artifacts. Probably + // caused by unclean cleanup of previous scans + for (i = pixels/4 + pixels; i < (pixels*3/4) + pixels; i++) + { + if(bpp==16) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * pixels + 1] * 256 + + line[i * 2 + j * 2 * pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + } + else + { + if (dev->model->is_cis) + val = line[i + j * pixels]; + else + val = line[i * channels + j]; + } + + max[j] += val; + } + max[j] = max[j] / (pixels/2); + + /* the flow of data through the frontend ADC is as follows (see e.g. VM8192 datasheet) + input + -> apply offset (o = i + 260mV * (DAC[7:0]-127.5)/127.5) -> + -> apply gain (o = i * 208/(283-PGA[7:0]) + -> ADC + + Here we have some input data that was acquired with zero gain (PGA==0). + We want to compute gain such that the output would approach full ADC range (controlled by + gain_white_ref). + + We want to solve the following for {PGA}: + + {input} * 208 / (283 - 0) = {output} + {input} * 208 / (283 - {PGA}) = {target output} + + The solution is the following equation: + + {PGA} = 283 * (1 - {output} / {target output}) + */ + float gain = ((float) max[j] / (calib_sensor.gain_white_ref*coeff)); + int code = 283 * (1 - gain); + if (code > 255) + code = 255; + else if (code < 0) + code = 0; + dev->frontend.set_gain(j, code); + + DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], gain, + code); + } + + if (dev->model->is_cis) { + uint8_t gain0 = dev->frontend.get_gain(0); + if (gain0 > dev->frontend.get_gain(1)) { + gain0 = dev->frontend.get_gain(1); + } + if (gain0 > dev->frontend.get_gain(2)) { + gain0 = dev->frontend.get_gain(2); + } + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain0); + dev->frontend.set_gain(2, gain0); + } + + if (channels == 1) { + dev->frontend.set_gain(0, dev->frontend.get_gain(1)); + dev->frontend.set_gain(2, dev->frontend.get_gain(1)); + } + + RIE (gl843_stop_action (dev)); + + status=gl843_slow_back_home (dev, SANE_TRUE); + + DBGCOMPLETED; + return status; +} + +/* + * wait for lamp warmup by scanning the same line until difference + * between 2 scans is below a threshold + */ +static SANE_Status +gl843_init_regs_for_warmup (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, + int *channels, int *total_size) +{ + int num_pixels; + SANE_Status status = SANE_STATUS_GOOD; + int dpihw; + int resolution; + int factor; + + DBGSTART; + if (dev == NULL || reg == NULL || channels == NULL || total_size == NULL) + return SANE_STATUS_INVAL; + + /* setup scan */ + *channels=3; + resolution=600; + dpihw=sanei_genesys_compute_dpihw_calibration(dev, sensor, resolution); + resolution=dpihw; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, + dev->settings.scan_method); + factor = calib_sensor.optical_res/dpihw; + num_pixels = calib_sensor.sensor_pixels/(factor*2); + *total_size = num_pixels * 3 * 1; + + *reg = dev->reg; + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = num_pixels/2; + session.params.starty = 0; + session.params.pixels = num_pixels; + session.params.lines = 1; + session.params.depth = 8; + session.params.channels = *channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + gl843_compute_session(dev, session, calib_sensor); + + status = gl843_init_scan_regs(dev, calib_sensor, reg, session); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + sanei_genesys_set_motor_power(*reg, false); + RIE(dev->model->cmd_set->bulk_write_register(dev, *reg)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** + * set up GPIO/GPOE for idle state +WRITE GPIO[17-21]= GPIO19 +WRITE GPOE[17-21]= GPOE21 GPOE20 GPOE19 GPOE18 +genesys_write_register(0xa8,0x3e) +GPIO(0xa8)=0x3e + */ +static SANE_Status +gl843_init_gpio (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + int idx; + + DBGSTART; + + RIE (sanei_genesys_write_register (dev, REG6E, dev->gpo.enable[0])); + RIE (sanei_genesys_write_register (dev, REG6F, dev->gpo.enable[1])); + RIE (sanei_genesys_write_register (dev, REG6C, dev->gpo.value[0])); + RIE (sanei_genesys_write_register (dev, REG6D, dev->gpo.value[1])); + + idx=0; + while(dev->model->gpo_type != gpios[idx].gpo_type && gpios[idx].gpo_type!=0) + { + idx++; + } + if (gpios[idx].gpo_type!=0) + { + RIE (sanei_genesys_write_register (dev, REGA6, gpios[idx].ra6)); + RIE (sanei_genesys_write_register (dev, REGA7, gpios[idx].ra7)); + RIE (sanei_genesys_write_register (dev, REGA8, gpios[idx].ra8)); + RIE (sanei_genesys_write_register (dev, REGA9, gpios[idx].ra9)); + } + else + { + status=SANE_STATUS_INVAL; + } + + DBGCOMPLETED; + return status; +} + + +/* * + * initialize ASIC from power on condition + */ +static SANE_Status +gl843_boot (Genesys_Device * dev, SANE_Bool cold) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + + DBGSTART; + + if(cold) + { + RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); + RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); + } + + if(dev->usb_mode == 1) + { + val = 0x14; + } + else + { + val = 0x11; + } + RIE (sanei_genesys_write_0x8c (dev, 0x0f, val)); + + /* test CHKVER */ + RIE (sanei_genesys_read_register (dev, REG40, &val)); + if (val & REG40_CHKVER) + { + RIE (sanei_genesys_read_register (dev, 0x00, &val)); + DBG(DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); + } + + /* Set default values for registers */ + gl843_init_registers (dev); + + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + // turns on vref control for maximum current of the motor driver + RIE(sanei_genesys_write_register (dev, REG6B, 0x72)); + } + else + { + RIE(sanei_genesys_write_register (dev, REG6B, 0x02)); + } + + /* Write initial registers */ + RIE (dev->model->cmd_set->bulk_write_register(dev, dev->reg)); + + // Enable DRAM by setting a rising edge on bit 3 of reg 0x0b + val = dev->reg.find_reg(0x0b).value & REG0B_DRAMSEL; + val = (val | REG0B_ENBDRAM); + RIE (sanei_genesys_write_register (dev, REG0B, val)); + dev->reg.find_reg(0x0b).value = val; + + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + RIE (sanei_genesys_write_0x8c (dev, 0x10, 0xc8)); + } + else + { + RIE (sanei_genesys_write_0x8c (dev, 0x10, 0xb4)); + } + + /* CLKSET */ + int clock_freq = REG0B_48MHZ; + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + clock_freq = REG0B_60MHZ; + + val = (dev->reg.find_reg(0x0b).value & ~REG0B_CLKSET) | clock_freq; + + RIE (sanei_genesys_write_register (dev, REG0B, val)); + dev->reg.find_reg(0x0b).value = val; + + /* prevent further writings by bulk write register */ + dev->reg.remove_reg(0x0b); + + if (dev->model->model_id != MODEL_CANON_CANOSCAN_8600F) + { + // set up end access + // FIXME: this is overwritten in gl843_init_gpio + sanei_genesys_write_register(dev, REGA7, 0x04); + sanei_genesys_write_register(dev, REGA9, 0x00); + } + + /* set RAM read address */ + RIE (sanei_genesys_write_register (dev, REG29, 0x00)); + RIE (sanei_genesys_write_register (dev, REG2A, 0x00)); + RIE (sanei_genesys_write_register (dev, REG2B, 0x00)); + + /* setup gpio */ + RIE (gl843_init_gpio (dev)); + + gl843_feed (dev, 300); + sanei_genesys_sleep_ms(100); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/* * + * initialize backend and ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home + */ +static SANE_Status +gl843_init (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG_INIT (); + DBGSTART; + + status=sanei_genesys_asic_init(dev, 0); + + DBGCOMPLETED; + return status; +} + +static SANE_Status +gl843_update_hardware_sensors (Genesys_Scanner * s) +{ + /* do what is needed to get a new set of events, but try to not lose + any of them. + */ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + + RIE (sanei_genesys_read_register (s->dev, REG6D, &val)); + + switch (s->dev->model->gpo_type) + { + case GPO_KVSS080: + s->buttons[BUTTON_SCAN_SW].write((val & 0x04) == 0); + break; + case GPO_G4050: + s->buttons[BUTTON_SCAN_SW].write((val & 0x01) == 0); + s->buttons[BUTTON_FILE_SW].write((val & 0x02) == 0); + s->buttons[BUTTON_EMAIL_SW].write((val & 0x04) == 0); + s->buttons[BUTTON_COPY_SW].write((val & 0x08) == 0); + break; + case GPO_CS4400F: + case GPO_CS8400F: + default: + break; + } + + return status; +} + +/** @brief move sensor to transparency adaptor + * Move sensor to the calibration of the transparency adapator (XPA). + * @param dev device to use + */ +static SANE_Status +gl843_move_to_ta (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + float resolution; + unsigned int feed; + + DBGSTART; + + resolution=sanei_genesys_get_lowest_ydpi(dev); + feed = 16*(SANE_UNFIX (dev->model->y_offset_calib_ta) * resolution) / MM_PER_INCH; + status = gl843_feed (dev, feed); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to move to XPA calibration area\n", __func__); + return status; + } + + DBGCOMPLETED; + return status; +} + + +/** @brief search for a full width black or white strip. + * This function searches for a black or white stripe across the scanning area. + * When searching backward, the searched area must completely be of the desired + * color since this area will be used for calibration which scans forward. + * @param dev scanner device + * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward + * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip + * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not + */ +static SANE_Status +gl843_search_strip (Genesys_Device * dev, const Genesys_Sensor& sensor, + SANE_Bool forward, SANE_Bool black) +{ + unsigned int pixels, lines, channels; + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Register_Set local_reg; + size_t size; + int steps, depth, dpi; + unsigned int pass, count, found, x, y; + GenesysRegister *r; + + DBG(DBG_proc, "%s %s %s\n", __func__, black ? "black" : "white", forward ? "forward" : "reverse"); + + gl843_set_fe(dev, sensor, AFE_SET); + status = gl843_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* set up for a gray scan at lowest dpi */ + dpi = sanei_genesys_get_lowest_dpi(dev); + channels = 1; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, dpi, dev->settings.scan_method); + + /* 10 MM */ + /* lines = (10 * dpi) / MM_PER_INCH; */ + /* shading calibation is done with dev->motor.base_ydpi */ + lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; + depth = 8; + pixels = (calib_sensor.sensor_pixels * dpi) / calib_sensor.optical_res; + + dev->scanhead_position_in_steps = 0; + + local_reg = dev->reg; + + ScanSession session; + session.params.xres = dpi; + session.params.yres = dpi; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = pixels; + session.params.lines = lines; + session.params.depth = depth; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::GRAY; + session.params.color_filter = ColorFilter::RED; + session.params.flags = SCAN_FLAG_DISABLE_SHADING | SCAN_FLAG_DISABLE_SHADING; + gl843_compute_session(dev, session, calib_sensor); + + status = gl843_init_scan_regs(dev, calib_sensor, &local_reg, session); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup for scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + size = dev->read_bytes_left; + std::vector data(size); + + /* set up for reverse or forward */ + r = sanei_genesys_get_address(&local_reg, REG02); + if (forward) + r->value &= ~REG02_MTRREV; + else + r->value |= REG02_MTRREV; + + + status = dev->model->cmd_set->bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl843_begin_scan(dev, calib_sensor, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* waits for valid data */ + do + sanei_genesys_test_buffer_empty (dev, &steps); + while (steps); + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl843_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: gl843_stop_action failed\n", __func__); + return status; + } + + pass = 0; + if (DBG_LEVEL >= DBG_data) + { + char fn[40]; + snprintf(fn, 40, "gl843_search_strip_%s_%s%02d.pnm", + black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); + sanei_genesys_write_pnm_file(fn, data.data(), depth, channels, pixels, lines); + } + + /* loop until strip is found or maximum pass number done */ + found = 0; + while (pass < 20 && !found) + { + status = + dev->model->cmd_set->bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + /* now start scan */ + status = gl843_begin_scan(dev, calib_sensor, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* waits for valid data */ + do + sanei_genesys_test_buffer_empty (dev, &steps); + while (steps); + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl843_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: gl843_stop_action failed\n", __func__); + return status; + } + + if (DBG_LEVEL >= DBG_data) + { + char fn[40]; + snprintf(fn, 40, "gl843_search_strip_%s_%s%02d.pnm", + black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); + sanei_genesys_write_pnm_file(fn, data.data(), depth, channels, pixels, lines); + } + + /* search data to find black strip */ + /* when searching forward, we only need one line of the searched color since we + * will scan forward. But when doing backward search, we need all the area of the + * same color */ + if (forward) + { + for (y = 0; y < lines && !found; y++) + { + count = 0; + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > 90) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < 60) + { + count++; + } + } + + /* at end of line, if count >= 3%, line is not fully of the desired color + * so we must go to next line of the buffer */ + /* count*100/pixels < 3 */ + if ((count * 100) / pixels < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, + pass, y); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + } + else /* since calibration scans are done forward, we need the whole area + to be of the required color when searching backward */ + { + count = 0; + for (y = 0; y < lines; y++) + { + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > 90) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < 60) + { + count++; + } + } + } + + /* at end of area, if count >= 3%, area is not fully of the desired color + * so we must go to next buffer */ + if ((count * 100) / (pixels * lines) < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + pass++; + } + if (found) + { + status = SANE_STATUS_GOOD; + DBG(DBG_info, "%s: %s strip found\n", __func__, black ? "black" : "white"); + } + else + { + status = SANE_STATUS_UNSUPPORTED; + DBG(DBG_info, "%s: %s strip not found\n", __func__, black ? "black" : "white"); + } + + DBG(DBG_proc, "%s: completed\n", __func__); + return status; +} + +/** + * Send shading calibration data. The buffer is considered to always hold values + * for all the channels. + */ +static SANE_Status +gl843_send_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, + uint8_t * data, int size) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint32_t final_size, length, i; + uint8_t *buffer; + int count,offset; + unsigned int cksel; + GenesysRegister *r; + uint16_t dpiset, strpixel, endpixel, startx, factor; + + DBGSTART; + + offset=0; + length=size; + r = sanei_genesys_get_address(&dev->reg, REG01); + if(r->value & REG01_SHDAREA) + { + /* recompute STRPIXEL used shading calibration so we can + * compute offset within data for SHDAREA case */ + r = sanei_genesys_get_address(&dev->reg, REG18); + cksel= (r->value & REG18_CKSEL)+1; + sanei_genesys_get_double(&dev->reg,REG_DPISET,&strpixel); + sanei_genesys_get_double(&dev->reg,REG_DPISET,&dpiset); + factor=sensor.optical_res/sanei_genesys_compute_dpihw(dev, sensor, dpiset); + + /* start coordinate in optical dpi coordinates */ + startx = (sensor.dummy_pixel / cksel) / factor; + + /* current scan coordinates */ + sanei_genesys_get_double(&dev->reg,REG_STRPIXEL,&strpixel); + sanei_genesys_get_double(&dev->reg,REG_ENDPIXEL,&endpixel); + + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + int optical_res = sensor.optical_res / dev->current_setup.ccd_size_divisor; + int dpiset_real = dpiset / dev->current_setup.ccd_size_divisor; + int half_ccd_factor = optical_res / + sanei_genesys_compute_dpihw_calibration(dev, sensor, dpiset_real); + strpixel /= half_ccd_factor; + endpixel /= half_ccd_factor; + } + + /* 16 bit words, 2 words per color, 3 color channels */ + offset=(strpixel-startx)*2*2*3; + length=(endpixel-strpixel)*2*2*3; + DBG(DBG_info, "%s: STRPIXEL=%d, ENDPIXEL=%d, startx=%d\n", __func__, strpixel, endpixel, + startx); + } + + /* compute and allocate size for final data */ + final_size = ((length+251) / 252) * 256; + DBG(DBG_io, "%s: final shading size=%04x (length=%d)\n", __func__, final_size, length); + std::vector final_data(final_size, 0); + + /* copy regular shading data to the expected layout */ + buffer = final_data.data(); + count = 0; + + /* loop over calibration data */ + for (i = 0; i < length; i++) + { + buffer[count] = data[offset+i]; + count++; + if ((count % (256*2)) == (252*2)) + { + count += 4*2; + } + } + + /* send data */ + status = sanei_genesys_set_buffer_address (dev, 0); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = dev->model->cmd_set->bulk_write_data (dev, 0x3c, final_data.data(), count); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to send shading table: %s\n", __func__, sane_strstatus(status)); + } + + DBGCOMPLETED; + return status; +} + + +/** the gl843 command set */ +static Genesys_Command_Set gl843_cmd_set = { + "gl843-generic", /* the name of this set */ + + [](Genesys_Device* dev) -> bool { (void) dev; return true; }, + + gl843_init, + gl843_init_regs_for_warmup, + gl843_init_regs_for_coarse_calibration, + gl843_init_regs_for_shading, + gl843_init_regs_for_scan, + + gl843_get_filter_bit, + gl843_get_lineart_bit, + gl843_get_bitset_bit, + gl843_get_gain4_bit, + gl843_get_fast_feed_bit, + gl843_test_buffer_empty_bit, + gl843_test_motor_flag_bit, + + gl843_set_fe, + gl843_set_powersaving, + gl843_save_power, + + gl843_begin_scan, + gl843_end_scan, + + gl843_send_gamma_table, + + gl843_search_start_position, + + gl843_offset_calibration, + gl843_coarse_gain_calibration, + gl843_led_calibration, + + NULL, + gl843_slow_back_home, + NULL, + + sanei_genesys_bulk_write_register, + sanei_genesys_bulk_write_data, + sanei_genesys_bulk_read_data, + + gl843_update_hardware_sensors, + + gl843_load_document, + gl843_detect_document_end, + gl843_eject_document, + gl843_search_strip, + + sanei_genesys_is_compatible_calibration, + gl843_move_to_ta, + gl843_send_shading_data, + gl843_calculate_current_setup, + gl843_boot +}; + +SANE_Status +sanei_gl843_init_cmd_set (Genesys_Device * dev) +{ + dev->model->cmd_set = &gl843_cmd_set; + return SANE_STATUS_GOOD; +} diff --git a/backend/genesys_gl843.h b/backend/genesys_gl843.h index 4be46cc..7651cc9 100644 --- a/backend/genesys_gl843.h +++ b/backend/genesys_gl843.h @@ -43,39 +43,6 @@ #include "genesys.h" -#ifdef UNIT_TESTING -SANE_Status gl843_send_slope_table (Genesys_Device * dev, int table_nr, uint16_t * slope_table, int steps); -SANE_Status gl843_init_scan_regs (Genesys_Device * dev, - Genesys_Register_Set * reg, - float xres, /*dpi */ - float yres, /*dpi */ - float startx, /*optical_res, from dummy_pixel+1 */ - float starty, /*base_ydpi, from home! */ - float pixels, - float lines, - unsigned int depth, - unsigned int channels, - int scan_mode, - int color_filter, - unsigned int flags); -SANE_Status gl843_start_action (Genesys_Device * dev); -SANE_Status gl843_begin_scan (Genesys_Device * dev, Genesys_Register_Set * reg, SANE_Bool start_motor); -SANE_Status gl843_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, SANE_Bool check_stop); -SANE_Status gl843_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home); -SANE_Status gl843_feed (Genesys_Device * dev, unsigned int steps); -SANE_Status gl843_init (Genesys_Device * dev); -SANE_Status gl843_boot (Genesys_Device * dev, SANE_Bool cold); -SANE_Status gl843_send_shading_data (Genesys_Device * dev, uint8_t * data, int size); -SANE_Status gl843_bulk_write_register (Genesys_Device * dev, Genesys_Register_Set * reg, size_t elems); -SANE_Status gl843_xpa_lamp_on (Genesys_Device * dev); -SANE_Status gl843_xpa_motor_on (Genesys_Device * dev); -SANE_Status gl843_xpa_motor_off (Genesys_Device * dev); -SANE_Status gl843_move_to_ta (Genesys_Device * dev); -#endif - -#define DBGSTART DBG (DBG_proc, "%s start\n", __func__); -#define DBGCOMPLETED DBG (DBG_proc, "%s completed\n", __func__); - #define REG01 0x01 #define REG01_CISSET 0x80 #define REG01_DOGENB 0x40 @@ -415,154 +382,7 @@ SANE_Status gl843_move_to_ta (Genesys_Device * dev); #define SCAN_FLAG_DISABLE_LAMP 0x040 #define SCAN_FLAG_DYNAMIC_LINEART 0x080 -/** - * writable scanner registers */ -enum -{ - reg_0x01 = 0, - reg_0x02, - reg_0x03, - reg_0x04, - reg_0x05, - reg_0x06, - reg_0x08, - reg_0x09, - reg_0x0a, - reg_0x0b, - reg_0x0c, - reg_0x0f, - reg_0x10, - reg_0x11, - reg_0x12, - reg_0x13, - reg_0x14, - reg_0x15, - reg_0x16, - reg_0x17, - reg_0x18, - reg_0x19, - reg_0x1a, - reg_0x1b, - reg_0x1c, - reg_0x1d, - reg_0x1e, - reg_0x1f, - reg_0x20, - reg_0x21, - reg_0x22, - reg_0x23, - reg_0x24, - reg_0x25, - reg_0x26, - reg_0x27, - reg_0x28, - reg_0x2c, - reg_0x2d, - reg_0x2e, - reg_0x2f, - reg_0x30, - reg_0x31, - reg_0x32, - reg_0x33, - reg_0x34, - reg_0x35, - reg_0x36, - reg_0x37, - reg_0x38, - reg_0x39, - reg_0x3a, - reg_0x3b, - reg_0x3c, - reg_0x3d, - reg_0x3e, - reg_0x3f, - reg_0x51, - reg_0x52, - reg_0x53, - reg_0x54, - reg_0x55, - reg_0x56, - reg_0x57, - reg_0x58, - reg_0x59, - reg_0x5a, - reg_0x5d, - reg_0x5e, - reg_0x5f, - reg_0x60, - reg_0x61, - reg_0x62, - reg_0x63, - reg_0x64, - reg_0x65, - reg_0x67, - reg_0x68, - reg_0x69, - reg_0x6a, - reg_0x6b, - reg_0x70, - reg_0x71, - reg_0x72, - reg_0x73, - reg_0x74, - reg_0x75, - reg_0x76, - reg_0x77, - reg_0x78, - reg_0x79, - reg_0x7a, - reg_0x7b, - reg_0x7c, - reg_0x7d, - reg_0x7e, - reg_0x7f, - reg_0x80, - reg_0x81, - reg_0x82, - reg_0x83, - reg_0x84, - reg_0x85, - reg_0x86, - reg_0x87, - reg_0x88, - reg_0x89, - reg_0x8a, - reg_0x8b, - reg_0x8c, - reg_0x8d, - reg_0x8e, - reg_0x8f, - reg_0x90, - reg_0x91, - reg_0x92, - reg_0x93, - reg_0x94, - reg_0x95, - reg_0x96, - reg_0x97, - reg_0x98, - reg_0x99, - reg_0x9a, - reg_0x9b, - reg_0x9c, - reg_0x9d, - reg_0x9e, - reg_0xa0, - reg_0xa1, - reg_0xa2, - reg_0xa3, - reg_0xa4, - reg_0xa5, - reg_0xaa, - reg_0xab, - reg_0xac, - reg_0xad, - reg_0xae, - reg_0xaf, - GENESYS_GL843_MAX_REGS -}; - -#define SETREG(adr,val) {dev->reg[reg_##adr].address=adr;dev->reg[reg_##adr].value=val;} +#define SETREG(adr,val) { dev->reg.init_reg(adr, val); } typedef struct { @@ -590,84 +410,15 @@ static Gpio_layout gpios[]={ { GPO_CS8400F, 0x00, 0x03, 0x00, 0x02 }, + { + GPO_CS8600F, 0x00, 0xff, 0x00, 0x00, + }, /* end marker */ { 0, 0, 0, 0, 0 }, }; -/** @brief structure for sensor settings - * this structure describes the sensor settings to use for a given - * exposure. - */ -typedef struct { - int sensor_type; /**> sensor id */ - int dpi; /**> maximum dpi for which data are valid */ - int exposure; /**> exposure */ - int ck1map; /**> CK1MAP */ - int ck3map; /**> CK2MAP */ - int ck4map; /**> CK3MAP */ - int segcnt; /**> SEGCNT */ - int tg0cnt; /**> TG0CNT */ - int expdummy; /**> exposure dummy */ - int expr; /**> initial red exposure */ - int expg; /**> initial green exposure */ - int expb; /**> initial blue exposure */ - uint8_t reg0c; /**> register 0x0c value */ - uint8_t reg70; /**> register 0x70 value */ - uint8_t reg71; /**> register 0x71 value */ - uint8_t reg9e; /**> register 0x9e value */ - uint8_t regaa; /**> either undocumented or mapping to somewhere else */ - uint8_t regs_0x10_0x1d[14]; - uint8_t regs_0x52_0x5e[13]; -} Sensor_Profile; - -/** - * database of sensor profiles - */ -static Sensor_Profile xpa_sensors[]={ - {CCD_G4050 , 600, 15624, 0x001c7f, 0x03ffff, 0x03ffff, 5168, 0, 0x2a, 0, 0, 0, 0x00, 0x00, 0x02, 0x00, 0x00, - {0x2c, 0x09, 0x22, 0xb8, 0x10, 0xf0, 0x33, 0x4c, 0x01, 0x2a, 0x30, 0x00, 0x00, 0x08} , - {0x0e, 0x11, 0x02, 0x05, 0x08, 0x0b, 0x6b, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x6f}, - }, -}; -static Sensor_Profile sensors[]={ - /* 0c 70 71 9e aa*/ - {CCD_KVSS080, 600, 8000, 0x000000, 0x00ffff, 0x03ffff, 5168, 0, 0x2a, 0, 0, 0, 0x00, 0x01, 0x03, 0x00, 0x00, - /* 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x1c, 0x00, 0x2a, 0x2c, 0x00, 0x20, 0x04} , - /* 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e */ - {0x0c, 0x0f, 0x00, 0x03, 0x06, 0x09, 0x6b, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x23}, - }, - - {CCD_G4050 , 600, 8016, 0x0001ff, 0x03ffff, 0x03ffff, 5168, 0, 0x2a, 0, 0, 0, 0x00, 0x00, 0x02, 0x00, 0x00, - {0x2c, 0x09, 0x22, 0xb8, 0x10, 0xf0, 0x33, 0x0c, 0x00, 0x2a, 0x30, 0x00, 0x00, 0x08} , - {0x0b, 0x0e, 0x11, 0x02, 0x05, 0x08, 0x63, 0x00, 0x40, 0x00, 0x00, 0x00, 0x63}, - }, - - {CCD_G4050 , 1200, 56064, 0x0fffff, 0x0001ff, 0x0001ff, 5168, 0, 0x2a, 0, 0, 0, 0x20, 0x08, 0x0c, 0xc0, 0x05, - {0x2c, 0x09, 0x22, 0xb8, 0x10, 0xf0, 0x3b, 0x0c, 0x10, 0x2a, 0x38, 0x10, 0x00, 0x08} , - {0x02, 0x05, 0x08, 0x0b, 0x0e, 0x11, 0x1b, 0x00, 0x40, 0x00, 0x00, 0x00, 0x63}, - }, - - {CCD_G4050 , 2400, 56064, 0x0fffff, 0x000000, 0x000000, 5168, 0, 0x2a, 0, 0, 0, 0x20, 0x08, 0x0a, 0xc0, 0x05, - {0x2c, 0x09, 0x22, 0xb8, 0x10, 0xf0, 0x3b, 0x0c, 0x10, 0x2a, 0x38, 0x10, 0xc0, 0x08} , - {0x02, 0x05, 0x08, 0x0b, 0x0e, 0x11, 0x1b, 0x00, 0x40, 0x00, 0x00, 0x00, 0x63}, - }, - - {CCD_G4050 , 4800, 42752, 0x0fffff, 0x000000, 0x000000, 5168, 0, 0x2a, 0, 0, 0, 0x21, 0x08, 0x0a, 0xc0, 0x07, - {0x2c, 0x09, 0x22, 0xb8, 0x10, 0xf0, 0x3b, 0x0c, 0x10, 0x2a, 0x38, 0x10, 0xc1, 0x08} , - {0x02, 0x05, 0x08, 0x0b, 0x0e, 0x11, 0x1b, 0x00, 0x40, 0x00, 0x00, 0x00, 0x63}, - }, - {CCD_CS4400F, 600, 11640, 0xf838, 0xfc00, 0x92a4, 5168, 0, 0x2a, 0x9c40, 0x9c40, 0x9c40, 0x00, 0x00, 0x02, 0x2d, 0x00, - {0x9c, 0x40, 0x9c, 0x40, 0x9c, 0x40, 0x13, 0x0a, 0x10, 0x2a, 0x30, 0x00, 0x00, 0x6b}, - {0x0a, 0x0d, 0x00, 0x03, 0x06, 0x08, 0x5b, 0x00, 0x40, 0x00, 0x00, 0x00, 0x3f}, - }, - {CCD_CS8400F, 600, 7200, 0x0e3f, 0x0000, 0x1b6db, 5168, 0, 0x2a, 0x0, 0x0, 0x0, 0x00, 0x01, 0x02, 0x00, 0x00, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x0c, 0x13, 0x2a, 0x30, 0x00, 0x00, 0x84}, - {0x0d, 0x10, 0x01, 0x04, 0x07, 0x0a, 0x6b, 0x00, 0x40, 0x00, 0x00, 0x00, 0x85}, - } -}; static uint32_t kvss080[]={44444, 34188, 32520, 29630, 26666, 24242, 22222, 19048, 16666, 15686, 14814, 14034, 12402, 11110, 8888, 7618, 6666, 5926, 5228, 4678, 4172, 3682, 3336, 3074, 2866, 2702, 2566, 2450, 2352, 2266, 2188, 2118, 2056, 2002, 1950, 1904, 1860, 1820, 1784, 1748, 1716, 1684, 1656, 1628, 1600, 1576, 1552, 1528, 1506, 1486, 1466, 1446, 1428, 1410, 1394, 1376, 1360, 1346, 1330, 1316, 1302, 1288, 1276, 1264, 1250, 1238, 1228, 1216, 1206, 1194, 1184, 1174, 1164, 1154, 1146, 1136, 1128, 1120, 1110, 1102, 1094, 1088, 1080, 1072, 1064, 1058, 1050, 1044, 1038, 1030, 1024, 1018, 1012, 1006, 1000, 994, 988, 984, 978, 972, 968, 962, 958, 952, 948, 942, 938, 934, 928, 924, 920, 916, 912, 908, 904, 900, 896, 892, 888, 884, 882, 878, 874, 870, 868, 864, 860, 858, 854, 850, 848, 844, 842, 838, 836, 832, 830, 826, 824, 822, 820, 816, 814, 812, 808, 806, 804, 802, 800, 796, 794, 792, 790, 788, 786, 784, 782, 778, 776, 774, 772, 770, 768, 766, 764, 762, 760, 758, 756, 754, 752, 750, 750, 748, 746, 744, 742, 740, 738, 736, 734, 734, 732, 730, 728, 726, 724, 724, 722, 720, 718, 716, 716, 714, 712, 710, 710, 708, 706, 704, 704, 702, 700, 698, 698, 696, 694, 694, 692, 690, 690, 688, 686, 686, 684, 682, 682, 680, 678, 678, 676, 674, 674, 672, 672, 670, 668, 668, 666, 666, 664, 662, 662, 660, 660, 658, 656, 656, 654, 654, 652, 652, 650, 650, 648, 646, 646, 644, 644, 642, 642, 640, 640, 638, 638, 636, 636, 636, 634, 634, 632, 632, 630, 630, 628, 628, 626, 626, 624, 624, 624, 622, 622, 620, 620, 618, 618, 618, 616, 616, 614, 614, 612, 612, 612, 610, 610, 608, 608, 608, 606, 606, 606, 604, 604, 602, 602, 602, 600, 600, 600, 598, 598, 596, 596, 596, 594, 594, 594, 592, 592, 592, 590, 590, 590, 588, 588, 588, 586, 586, 586, 584, 584, 584, 582, 582, 582, 590, 590, 590, 588, 588, 588, 586, 586, 586, 584, 584, 584, 582, 582, 582, 580, 580, 580, 578, 578, 578, 576, 576, 576, 576, 574, 574, 574, 572, 572, 572, 570, 570, 570, 568, 568, 568, 568, 566, 566, 566, 564, 564, 564, 562, 562, 562, 562, 560, 560, 560, 558, 558, 558, 558, 556, 556, 556, 554, 554, 554, 552, 552, 552, 552, 550, 550, 550, 548, 548, 548, 548, 546, 546, 546, 546, 544, 544, 544, 542, 542, 542, 542, 540, 540, 540, 538, 538, 538, 538, 536, 536, 536, 536, 534, 534, 534, 534, 532, 532, 532, 530, 530, 530, 530, 528, 528, 528, 528, 526, 526, 526, 526, 524, 524, 524, 524, 522, 522, 522, 522, 520, 520, 520, 520, 518, 518, 518, 516, 516, 516, 516, 514, 514, 514, 514, 514, 512, 512, 512, 512, 510, 510, 510, 510, 508, 508, 508, 508, 506, 506, 506, 506, 504, 504, 504, 504, 502, 502, 502, 502, 500, 500, 500, 500, 0}; static uint32_t g4050_fast[]={7842,5898,4384,4258,4152,4052,3956,3864,3786,3714,3632,3564,3498,3444,3384,3324,3276,3228,3174,3128,3086,3044,3002,2968,2930,2892,2860,2824,2794,2760,2732,2704,2676,2650,2618,2594,2568,2548,2524,2500,2478,2454,2436,2414,2392,2376,2354,2338,2318,2302,2282,2266,2252,2232,2218,2202,2188,2174,2160,2142,2128,2116,2102,2088,2076,2062,2054,2040,2028,2020,2014,2008,2004,2002,2002,2002,1946,1882,1826,1770,1716,1662,1612,1568,1526,1488,1454,1422,1390,1362,1336,1310,1288,1264,1242,1222,1204,1184,1166,1150,1134,1118,1104,1090,1076,1064,1050,1038,1026,1016,1004,994,984,972,964,954,944,936,928,920,910,902,896,888,880,874,866,860,854,848,840,834,828,822,816,812,806,800,796,790,784,780,776,770,766,760,756,752,748,744,740,736,732,728,724,720,716,712,708,704,702,698,694,690,688,684,682,678,674,672,668,666,662,660,656,654,650,648,646,644,640,638,636,632,630,628,624,622,620,618,616,614,610,608,606,604,602,600,598,596,594,592,590,588,586,584,582,580,578,576,574,572,570,568,566,564,564,562,560,558,556,554,552,552,550,548,546,546,544,542,540,538,538,536,534,532,532,530,528,528,526,524,522,522,520,518,518,516,514,514,512,512,510,508,508,506,504,504,502,502,500,498,498,496,496,494,494,492,490,490,488,488,486,486,484,484,482,480,480,478,478,476,476,474,474,472,472,470,470,468,468,468,466,466,464,464,462,462,460,460,458,458,456,456,456,454,454,452,452,450,450,450,448,448,446,446,444,444,444,442,442,440,440,440,438,438,438,436,436,434,434,434,432,432,432,430,430,428,428,428,426,426,426,424,424,424,422,422,422,420,420,420,418,418,418,416,416,416,414,414,414,412,412,412,410,410,410,408,408,408,406,406,406,404,404,404,404,402,402,402,400,400,400,400,398,398,398,396,396,396,396,394,394,394,392,392,392,392,390,390,390,388,388,388,388,386,386,386,386,384,384,384,384,382,382,382,382,380,380,380,380,378,378,378,378,376,376,376,376,376,374,374,374,374,374,372,372,372,372,372,370,370,370,370,370,368,368,368,368,368,366,366,366,366,366,364,364,364,364,364,364,362,362,362,362,362,360,360,360,360,360,360,358,358,358,358,358,358,356,356,356,356,356,356,354,354,354,354,354,352,352,352,352,352,352,350,350,350,350,350,350,350,348,348,348,348,348,348,346,346,346,346,346,346,344,344,344,344,344,344,344,342,342,342,342,342,342,340,340,340,340,340,340,340,338,338,338,338,338,338,338,336,336,336,336,336,336,336,334,334,334,334,334,334,334,332,332,332,332,332,332,332,332,330,330,330,330,330,330,330,328,328,328,328,328,328,328,328,326,326,326,326,326,326,326,324,324,324,324,324,324,324,324,322,322,322,322,322,322,322,322,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320, 0}; @@ -676,12 +427,35 @@ static uint32_t g4050_max[]={42752,42752,42752,42752,42752,42752,42752,42752, 41 static uint32_t g4050_xpa[]={9422,5978,4736,4028,3560,3220,2914,2756,2588,2448,2328,2224,2132,2052,1978,1914,1854,1800,1752,1706,1664,1626,1588,1554,1522,1492,1464,1438,1412,1388,1366,1344,1324,1304,1284,1268,1250,1232,1218,1202,1188,1172,1160,1146,1134,1120,1110,1098,1086,1076,1066,1056,1046,1036,1026,1018,1008,1000,992,984,976,968,960,952,946,938,932,924,918,912,906,898,892,888,882,876,870,864,860,854,848,844,838,834,828,824,820,814,810,806,802,798,794,790,786,782,778,774,770,766,762,758,754,752,748,744,740,738,734,730,728,724,722,718,716,712,710,706,704,700,698,696,692,690,686,684,682,678,676,674,672,668,666,664,662,660,656,654,652,650,648,646,644,642,638,636,634,632,630,628,626,624,622,620,618,616,614,612,612,610,608,606,604,602,600,598,596,594,594,592,590,588,586,584,584,582,580,578,576,576,574,572,570,570,568,566,564,564,562,560,560,558,556,554,554,552,550,550,548,546,546,544,542,542,540,540,538,536,536,534,532,532,530,530,528,526,526,524,524,522,522,520,518,518,516,516,514,514,512,512,510,508,508,506,506,504,504,502,502,500,500,498,498,496,496,494,494,492,492,492,490,490,488,488,486,486,484,484,482,482,480,480,480,478,478,476,476,474,474,474,472,472,470,470,468,468,468,466,466,464,464,464,462,462,462,460,460,458,458,458,456,456,454,454,454,452,452,452,450,450,450,448,448,446,446,446,444,444,444,442,442,442,440,440,440,438,438,438,436,436,436,434,434,434,432,432,432,430,430,430,430,428,428,428,426,426,426,424,424,424,424,422,422,422,420,420,420,418,418,418,418,416,416,416,414,414,414,414,412,412,412,412,410,410,410,408,408,408,408,406,406,406,406,404,404,404,404,402,402,402,402,400,400,400,400,398,398,398,398,396,396,396,396,394,394,394,394,392,392,392,392,392,390,390,390,390,388,388,388,388,386,386,386,386,386,384,384,384,384,384,382,382,382,382,380,380,380,380,380,378,378,378,378,378,376,376,376,376,376,374,374,374,374,374,372,372,372,372,372,370,370,370,370,370,368,368,368,368,368,366,366,366,366,366,364,364,364,364,364,364,362,362,362,362,362,360,360,360,360,360,360,358,358,358,358,358,358,356,356,356,356,356,354,354,354,354,354,354,352,352,352,352,352,352,350,350,350,350,350,350,350,348,348,348,348,348,348,346,346,346,346,346,346,344,344,344,344,344,344,344,342,342,342,342,342,342,340,340,340,340,340,340,340,338,338,338,338,338,338,338,336,336,336,336,336,336,336,334,334,334,334,334,334,334,332,332,332,332,332,332,332,330,330,330,330,330,330,330,330,328,328,328,328,328,328,328,326,326,326,326,326,326,326,326,324,324,324,324,324,324,324,324,322,322,322,322,322,322,322,322,320,320,320,320,320,320,320,320,318,318,318,318,318,318,318,318,318,316,316,316,316,316,316,316,316,314,314,314,314,314,314,314,314,314,312,312,312,312,312,312,312,312,312,310,310,310,310,310,310,310,310,310,308,308,308,308,308,308,308,308,308,306,306,306,306,306,306,306,306,306,306,304,304,304,304,304,304,304,304,304,302,302,302,302,302,302,302,302,302,302,300,300,300,300,300,300,300,300,300,300,298,298,298,298,298,298,298,298,298,298,298,296,296,296,296,296,296,296,296,296,296,294,294,294,294,294,294,294,294,294,294,294,292,292,292,292,292,292,292,292,292,292,292,290,290,290,290,290,290,290,290,290,290,290,288,288,288,288,288,288,288,288,288,288,288,288,286,286,286,286,286,286,286,286,286,286,286,286,284,284,284,284,284,284,284,284,284,284,284,284,282,282,282,282,282,282,282,282,282,282,282,282,280,280,280,280,280,280,280,280,280,280,280,280,280,278,278,278,278,278,278,278,278,278,278,278,278,278,276,276,276,276,276,276,276,276,276,276,276,276,276,274,274,274,274,274,274,274,274,274,274,274,274,274,274,272,272,272,272,272,272,272,272,272,272,272,272,272,272,270,270,270,270,270,270,270,270,270,270,270,270,270,270,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,266,266,266,266,266,266,266,266,266,266,266,266,266,266,266,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,260,260,260,260,260,260,260,260,260,260,260,260,260,260,260,260,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,0}; static uint32_t cs4400f_fast[]={49152, 49152, 31144, 23652, 19538, 16822, 14908, 13442, 12288, 11356, 10590, 9922, 9362, 8886, 8456, 8064, 7728, 7418, 7148, 6882, 6664, 6446, 6252, 6060, 5890, 5740, 5586, 5450, 5322, 5198, 5080, 4968, 4868, 4766, 4674, 4584, 4500, 4418, 4338, 4262, 4194, 4122, 4058, 3996, 3932, 3874, 3816, 3766, 3712, 3662, 3610, 3566, 3518, 3474, 3430, 3388, 3350, 3310, 3272, 3236, 3200, 3164, 3130, 3096, 3062, 3032, 3000, 2972, 2942, 2914, 2884, 2858, 2832, 2806, 2780, 2756, 2732, 2708, 2686, 2662, 2640, 2618, 2596, 2576, 2554, 2536, 2516, 2496, 2478, 2458, 2440, 2422, 2404, 2388, 2370, 2354, 2338, 2320, 2306, 2290, 2276, 2258, 2244, 2230, 2216, 2202, 2188, 2174, 2162, 2148, 2134, 2122, 2108, 2096, 2084, 2072, 2060, 2048, 2036, 2026, 2014, 2002, 1992, 1982, 1970, 1960, 1950, 1940, 1928, 1920, 1908, 1900, 1890, 1880, 1872, 1862, 1852, 1844, 1834, 1826, 1818, 1808, 1800, 1792, 1784, 1776, 1768, 1760, 1752, 1742, 1736, 1728, 1720, 1712, 1704, 1698, 1690, 1684, 1676, 1670, 1662, 1656, 1648, 1642, 1634, 1628, 1622, 1616, 1608, 1602, 1596, 1590, 1584, 1578, 1572, 1566, 1560, 1554, 1548, 1542, 1536, 1532, 1526, 1520, 1514, 1508, 1504, 1498, 1492, 1488, 1482, 1478, 1472, 1466, 1462, 1456, 1452, 1446, 1442, 1438, 1432, 1428, 1424, 1418, 1414, 1410, 1404, 1400, 1396, 1390, 1386, 1382, 1378, 1374, 1370, 1364, 1360, 1356, 1352, 1348, 1344, 1340, 1336, 1332, 1328, 1324, 1320, 1316, 1312, 1308, 1304, 1302, 1298, 1294, 1290, 1286, 1282, 1278, 1276, 1272, 1268, 1264, 1262, 1258, 1254, 1250, 1248, 1244, 1240, 1238, 1234, 1230, 1228, 1224, 1222, 1218, 1214, 1212, 1208, 1206, 1202, 1200, 1196, 1194, 1190, 1186, 1184, 1182, 1178, 1176, 1172, 1170, 1166, 1164, 1162, 1158, 1156, 1152, 1150, 1148, 1144, 1142, 1138, 1136, 1134, 1130, 1128, 1126, 1122, 1120, 1118, 1116, 1112, 1110, 1108, 1106, 1102, 1100, 1098, 1096, 1092, 1090, 1088, 1086, 1082, 1080, 1078, 1076, 1074, 1072, 1068, 1066, 1064, 1062, 1060, 1058, 1056, 1054, 1052, 1048, 1046, 1044, 1042, 1040, 1038, 1036, 1034, 1032, 1030, 1028, 1026, 1024, 1022, 1020, 1018, 1016, 1014, 1012, 1010, 1008, 1006, 1004, 1002, 1000, 998, 996, 994, 992, 990, 988, 986, 984, 982, 980, 978, 976, 974, 972, 972, 970, 968, 966, 964, 962, 960, 958, 956, 956, 954, 952, 950, 948, 946, 944, 944, 942, 940, 938, 936, 934, 934, 932, 930, 928, 926, 926, 924, 922, 920, 918, 918, 916, 914, 912, 912, 910, 908, 906, 904, 904, 902, 900, 898, 898, 896, 894, 892, 892, 890, 888, 888, 886, 884, 882, 882, 880, 878, 878, 876, 874, 874, 872, 870, 868, 868, 866, 864, 864, 862, 860, 860, 858, 856, 856, 854, 852, 852, 850, 848, 848, 846, 846, 844, 842, 842, 840, 838, 838, 836, 834, 834, 832, 832, 830, 828, 828, 826, 826, 824, 822, 822, 820, 820, 818, 816, 816, 814, 814, 812, 812, 810, 808, 808, 806, 806, 804, 802, 802, 800, 800, 798, 798, 796, 796, 794, 792, 792, 790, 790, 788, 788, 786, 786, 784, 784, 782, 782, 780, 780, 778, 778, 776, 774, 774, 772, 772, 770, 770, 768, 768, 766, 766, 764, 764, 762, 762, 760, 760, 758, 758, 758, 756, 756, 754, 754, 752, 752, 750, 750, 748, 748, 746, 746, 744, 744, 742, 742, 740, 740, 738, 738, 738, 736, 736, 734, 734, 732, 732, 730, 730, 730, 728, 728, 726, 726, 724, 724, 722, 722, 722, 720, 720, 718, 718, 718, 716, 716, 714, 714, 712, 712, 712, 710, 710, 708, 708, 708, 706, 706, 704, 704, 702, 702, 702, 700, 700, 698, 698, 698, 696, 696, 694, 694, 694, 692, 692, 692, 690, 690, 688, 688, 688, 686, 686, 684, 684, 684, 682, 682, 682, 680, 680, 680, 678, 678, 676, 676, 676, 674, 674, 674, 672, 672, 670, 670, 670, 668, 668, 668, 666, 666, 666, 664, 664, 664, 662, 662, 660, 660, 660, 658, 658, 658, 656, 656, 656, 654, 654, 654, 652, 652, 652, 650, 650, 650, 648, 648, 648, 646, 646, 646, 644, 644, 644, 642, 642, 642, 640, 640, 640, 640, 638, 638, 638, 636, 636, 636, 634, 634, 634, 632, 632, 632, 630, 630, 630, 630, 628, 628, 628, 626, 626, 626, 624, 624, 624, 624, 622, 622, 622, 620, 620, 620, 618, 618, 618, 618, 616, 616, 616, 614, 614, 614, 614, 612, 612, 612, 610, 610, 610, 610, 608, 608, 608, 606, 606, 606, 606, 604, 604, 604, 604, 602, 602, 602, 600, 600, 600, 600, 598, 598, 598, 598, 596, 596, 596, 594, 594, 594, 594, 592, 592, 592, 592, 590, 590, 590, 590, 588, 588, 588, 586, 586, 586, 586, 584, 584, 584, 584, 582, 582, 582, 582, 580, 580, 580, 580, 578, 578, 578, 578, 576, 576, 576, 576, 574, 574, 574, 574, 574, 572, 572, 572, 572, 570, 570, 570, 570, 568, 568, 568, 568, 566, 566, 566, 566, 564, 564, 564, 564, 564, 562, 562, 562, 562, 560, 560, 560, 560, 558, 558, 558, 558, 558, 556, 556, 556, 556, 554, 554, 554, 554, 554, 552, 552, 552, 552, 550, 550, 550, 550, 550, 548, 548, 548, 548, 546, 546, 546, 546, 546, 544, 544, 544, 544, 544, 542, 542, 542, 542, 540, 540, 540, 540, 540, 538, 538, 538, 538, 538, 536, 536, 536, 536, 536, 534, 534, 534, 534, 534, 532, 532, 532, 532, 532, 530, 530, 530, 530, 530, 528, 528, 528, 528, 528, 526, 526, 526, 526, 526, 524, 524, 524, 524, 524, 522, 522, 522, 522, 522, 520, 520, 520, 520, 520, 520, 518, 518, 518, 518, 518, 516, 516, 516, 516, 516, 514, 514, 514, 514, 514, 514, 512, 512, 512, 512, 512, 510, 510, 510, 510, 510, 510, 508, 508, 508, 508, 508, 506, 506, 506, 506, 506, 506, 504, 504, 504, 504, 504, 502, 502, 502, 502, 502, 502, 500, 500, 500, 500, 500, 500, 498, 498, 498, 498, 498, 498, 496, 496, 496, 496, 496, 496, 494, 494, 494, 494, 494, 494, 492, 492, 492, 492, 492, 492, 490, 490, 490, 490, 490, 490, 488, 488, 488, 488, 488, 488, 486, 486, 486, 486, 486, 486, 484, 484, 484, 484, 484, 484, 484, 0, 0, 0, 0, 0}; static uint32_t cs8400f_fast[]={8743, 8205, 7017, 6201, 4938, 4016, 3371, 2966, 2682, 2469, 2296, 2159, 2041, 1942, 1857, 1782, 1716, 1656, 1602, 1554, 1510, 1470, 1432, 1398, 1366, 1336, 1309, 1282, 1258, 1235, 1213, 1193, 1173, 1154, 1137, 1120, 1104, 1089, 1074, 1060, 1047, 1034, 1022, 1010, 998, 987, 976, 966, 956, 946, 937, 928, 919, 911, 902, 894, 887, 879, 872, 864, 858, 851, 844, 838, 832, 825, 819, 814, 808, 802, 797, 792, 786, 781, 776, 771, 766, 762, 757, 753, 748, 744, 740, 736, 731, 728, 724, 720, 716, 712, 709, 705, 701, 698, 695, 691, 688, 685, 682, 679, 675, 672, 669, 666, 664, 661, 658, 655, 652, 650, 647, 644, 642, 639, 637, 634, 632, 629, 627, 625, 622, 620, 618, 616, 613, 611, 609, 607, 605, 603, 601, 599, 597, 595, 593, 591, 589, 587, 585, 583, 581, 580, 578, 576, 574, 573, 571, 569, 567, 566, 564, 563, 561, 559, 558, 556, 555, 553, 552, 550, 549, 547, 546, 544, 543, 542, 540, 539, 537, 536, 535, 533, 532, 531, 529, 528, 527, 526, 524, 523, 522, 521, 519, 518, 517, 516, 515, 514, 512, 511, 510, 509, 508, 507, 506, 505, 504, 502, 501, 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, 488, 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, 477, 476, 475, 474, 473, 472, 472, 471, 470, 469, 468, 467, 467, 466, 465, 464, 464, 463, 462, 461, 460, 460, 459, 458, 457, 457, 456, 455, 454, 454, 453, 452, 452, 451, 450, 449, 449, 448, 448, 447, 446, 446, 445, 444, 444, 443, 442, 442, 441, 440, 440, 439, 438, 438, 437, 437, 436, 435, 435, 434, 434, 433, 432, 432, 431, 431, 430, 429, 429, 428, 428, 427, 427, 426, 425, 425, 424, 424, 423, 423, 422, 422, 421, 421, 420, 420, 419, 419, 418, 417, 417, 416, 416, 416, 415, 414, 414, 414, 413, 412, 412, 412, 411, 411, 410, 410, 409, 409, 408, 408, 407, 407, 406, 406, 406, 405, 405, 404, 404, 403, 403, 402, 402, 402, 401, 401, 400, 400, 399, 399, 398, 398, 398, 397, 397, 396, 396, 396, 395, 395, 394, 394, 394, 393, 393, 392, 392, 392, 391, 391, 391, 390, 390, 389, 389, 389, 388, 388, 387, 387, 387, 386, 386, 385, 385, 385, 384, 384, 384, 383, 383, 383, 382, 382, 382, 381, 381, 381, 380, 380, 380, 379, 379, 379, 378, 378, 378, 377, 377, 377, 376, 376, 376, 375, 375, 375, 374, 374, 374, 373, 373, 373, 372, 372, 372, 371, 371, 371, 370, 370, 370, 370, 369, 369, 369, 368, 368, 368, 368, 367, 367, 367, 367, 366, 366, 366, 365, 365, 365, 365, 364, 364, 364, 363, 363, 363, 363, 362, 362, 362, 362, 361, 361, 361, 360, 360, 360, 360, 359, 359, 359, 358, 358, 358, 358, 357, 357, 357, 356, 356, 356, 356, 355, 355, 355, 355, 354, 354, 354, 354, 354, 353, 353, 353, 353, 352, 352, 352, 352, 352, 351, 351, 351, 351, 350, 350, 350, 350, 350, 349, 349, 349, 349, 348, 348, 348, 348, 348, 347, 347, 347, 347, 346, 346, 346, 346, 346, 345, 345, 345, 345, 344, 344, 344, 344, 344, 343, 343, 343, 343, 342, 342, 342, 342, 342, 341, 341, 341, 341, 340, 340, 340, 340, 340, 339, 339, 339, 339, 338, 338, 338, 338, 338, 337, 337, 337, 337, 337, 337, 336, 336, 336, 336, 336, 336, 335, 335, 335, 335, 335, 335, 334, 334, 334, 334, 334, 334, 333, 333, 333, 333, 333, 333, 332, 332, 332, 332, 332, 332, 331, 331, 331, 331, 331, 331, 330, 330, 330, 330, 330, 330, 329, 329, 329, 329, 329, 329, 328, 328, 328, 328, 328, 328, 327, 327, 327, 327, 327, 327, 326, 326, 326, 326, 326, 326, 325, 325, 325, 325, 325, 325, 324, 324, 324, 324, 324, 324, 323, 323, 323, 323, 323, 323, 322, 322, 322, 322, 322, 322, 321, 321, 321, 321, 321, 321, 320, 320, 320, 320, 320, 320, 319, 319, 319, 319, 319, 319, 318, 318, 318, 318, 318, 318, 317, 317, 317, 317, 317, 317, 316, 316, 316, 316, 316, 316, 315, 315, 315, 315, 315, 315, 314, 314, 314, 314, 314, 314, 313, 313, 313, 313, 313, 313, 312, 312, 312, 312, 312, 312, 311, 311, 311, 311, 311, 311, 310, 310, 310, 310, 310, 310, 309, 309, 309, 309, 309, 309, 308, 308, 308, 308, 308, 308, 307, 307, 307, 307, 307, 307, 306, 306, 306, 306, 306, 306, 305, 305, 305, 305, 305, 305, 304, 304, 304, 304, 304, 304, 303, 303, 303, 303, 303, 303, 302, 302, 302, 302, 302, 302, 302, 301, 301, 301, 301, 301, 301, 301, 301, 301, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 0, 0, 0, 0, 0 }; +static uint32_t motor_speeds_cs8600f[] = { + 54612, 54612, 34604, 26280, 21708, 18688, 16564, 14936, 13652, 12616, + 11768, 11024, 10400, 9872, 9392, 8960, 8584, 8240, 7940, 7648, + 7404, 7160, 6948, 6732, 6544, 6376, 6208, 6056, 5912, 5776, + 5644, 5520, 5408, 5292, 5192, 5092, 5000, 4908, 4820, 4736, + 4660, 4580, 4508, 4440, 4368, 4304, 4240, 4184, 4124, 4068, + 4012, 3960, 3908, 3860, 3808, 3764, 3720, 3676, 3636, 3592, + 3552, 3516, 3476, 3440, 3400, 3368, 3332, 3300, 3268, 3236, + 3204, 3176, 3148, 3116, 3088, 3060, 3036, 3008, 2984, 2956, + 2932, 2908, 2884, 2860, 2836, 2816, 2796, 2772, 2752, 2732, + 2708, 2692, 2672, 2652, 2632, 2616, 2596, 2576, 2560, 2544, + 2528, 2508, 2492, 2476, 2460, 2444, 2432, 2416, 2400, 2384, + 2372, 2356, 2344, 2328, 2316, 2304, 2288, 2276, 2260, 2252, + 2236, 2224, 2212, 2200, 2188, 2176, 2164, 2156, 2144, 2132, + 2120, 2108, 2100, 2088, 2080, 2068, 2056, 2048, 2036, 2028, + 2020, 2008, 2000, 1988, 1980, 1972, 1964, 1952, 1944, 1936, + 1928, 1920, 1912, 1900, 1892, 1884, 1876, 1868, 1860, 1856, + 1848, 1840, 1832, 1824, 1816, 1808, 1800, 1796, 1788, 1780, + 1772, 1764, 1760, 1752, 1744, 1740, 1732, 1724, 1720, 1712, + 1708, 1700, 1692, 1688, 1680, 1676, 1668, 1664, 1656, 1652, + 1644, 1640, 1636, 1628, 1624, 1616, 1612, 1608, 1600, 1596, + 1592, 1584, 1580, 1576, 1568, 1564, 1560, 1556, 1548, 1544, + 1540, 1536, 1528, 1524, 1520, 1516, 1512, 1508, 1500, 0 +}; /** * database of motor profiles */ -/* *INDENT-OFF* */ static Motor_Profile gl843_motors[]={ /* KV-SS080 */ {MOTOR_KVSS080, 8000, 1, kvss080}, @@ -693,8 +467,6 @@ static Motor_Profile gl843_motors[]={ {MOTOR_G4050, 56064, 1, g4050_high}, /* CS8400F */ {MOTOR_CS8400F, 7200, 0, cs8400f_fast}, - {0, 0, 0, NULL}, + { MOTOR_CS8600F, 0x59d8, 2, motor_speeds_cs8600f }, // FIXME: if the exposure is lower then we'll select another motor + { 0, 0, 0, NULL }, }; -/* *INDENT-ON* */ - -/* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/genesys_gl846.c b/backend/genesys_gl846.c deleted file mode 100644 index 0716c17..0000000 --- a/backend/genesys_gl846.c +++ /dev/null @@ -1,3711 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2012-2013 Stéphane Voltz - - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -/** @file - * - * This file handles GL846 and GL845 ASICs since they are really close to each other. - */ -#undef BACKEND_NAME -#define BACKEND_NAME genesys_gl846 - -#include "genesys_gl846.h" - -/**************************************************************************** - Low level function - ****************************************************************************/ - -/* ------------------------------------------------------------------------ */ -/* Read and write RAM, registers and AFE */ -/* ------------------------------------------------------------------------ */ - - -/** @brief read scanned data - * Read in 0xeff0 maximum sized blocks. This read is done in 2 - * parts if not multple of 512. First read is rounded to a multiple of 512 bytes, last read fetches the - * remainder. Read addr is always 0x10000000 with the memory layout setup. - * @param dev device to read data from - * @param addr address within ASIC memory space, unused but kept for API - * @param data pointer where to store the read data - * @param len size to read - */ -static SANE_Status -gl846_bulk_read_data (Genesys_Device * dev, uint8_t addr, - uint8_t * data, size_t len) -{ - SANE_Status status; - size_t size, target, read, done; - uint8_t outdata[8]; - uint8_t *buffer; - - DBG (DBG_io, "gl846_bulk_read_data: requesting %lu bytes at addr=0x%02x\n", (u_long) len, addr); - - if (len == 0) - return SANE_STATUS_GOOD; - - target = len; - buffer = data; - - /* loop until computed data size is read */ - while (target) - { - if (target > 0xeff0) - { - size = 0xeff0; - } - else - { - size = target; - } - - /* hard coded 0x10000000 addr */ - outdata[0] = 0; - outdata[1] = 0; - outdata[2] = 0; - outdata[3] = 0x10; - - /* data size to transfer */ - outdata[4] = (size & 0xff); - outdata[5] = ((size >> 8) & 0xff); - outdata[6] = ((size >> 16) & 0xff); - outdata[7] = ((size >> 24) & 0xff); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - VALUE_BUFFER, 0x00, sizeof (outdata), - outdata); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s failed while writing command: %s\n", - __func__, sane_strstatus (status)); - return status; - } - - /* blocks must be multiple of 512 but not last block */ - read = size; - if (read >= 512) - { - read /= 512; - read *= 512; - } - - DBG (DBG_io2, - "gl846_bulk_read_data: trying to read %lu bytes of data\n", - (u_long) read); - status = sanei_usb_read_bulk (dev->dn, buffer, &read); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_bulk_read_data failed while reading bulk data: %s\n", - sane_strstatus (status)); - return status; - } - done=read; - DBG (DBG_io2, "gl846_bulk_read_data: %lu bytes of data read\n", (u_long) done); - - /* read less than 512 bytes remainder */ - if (read < size) - { - read = size - read; - DBG (DBG_io2, - "gl846_bulk_read_data: trying to read %lu bytes of data\n", - (u_long) read); - status = sanei_usb_read_bulk (dev->dn, buffer+done, &read); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_bulk_read_data failed while reading bulk data: %s\n", - sane_strstatus (status)); - return status; - } - done=read; - DBG (DBG_io2, "gl846_bulk_read_data: %lu bytes of data read\n", (u_long) done); - } - - DBG (DBG_io2, "%s: read %lu bytes, %lu remaining\n", __func__, - (u_long) size, (u_long) (target - size)); - - target -= size; - buffer += size; - } - - if (DBG_LEVEL >= DBG_data && dev->binary!=NULL) - { - fwrite(data, len, 1, dev->binary); - } - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -/**************************************************************************** - Mid level functions - ****************************************************************************/ - -static SANE_Bool -gl846_get_fast_feed_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG02); - if (r && (r->value & REG02_FASTFED)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl846_get_filter_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_FILTER)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl846_get_lineart_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_LINEART)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl846_get_bitset_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_BITSET)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl846_get_gain4_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, 0x06); - if (r && (r->value & REG06_GAIN4)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl846_test_buffer_empty_bit (SANE_Byte val) -{ - if (val & REG41_BUFEMPTY) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl846_test_motor_flag_bit (SANE_Byte val) -{ - if (val & REG41_MOTORENB) - return SANE_TRUE; - return SANE_FALSE; -} - -/** - * compute the step multiplier used - */ -static int -gl846_get_step_multiplier (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - int value = 1; - - r = sanei_genesys_get_address (regs, 0x9d); - if (r != NULL) - { - value = (r->value & 0x0f)>>1; - value = 1 << value; - } - DBG (DBG_io, "%s: step multiplier is %d\n", __func__, value); - return value; -} - -/** @brief sensor profile - * search for the database of motor profiles and get the best one. Each - * profile is at a specific dpihw. Use LiDE 110 table by default. - * @param sensor_type sensor id - * @param dpi hardware dpi for the scan - * @return a pointer to a Sensor_Profile struct - */ -static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi) -{ - unsigned int i; - int idx; - - i=0; - idx=-1; - while(i=dpi - && sensors[i].dpimodel->ccd_type, xres); - return sensor->exposure; -} - - -/** @brief sensor specific settings -*/ -static void -gl846_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi) -{ - Genesys_Register_Set *r; - Sensor_Profile *sensor; - int dpihw, i; - uint16_t exp; - - DBGSTART; - dpihw=sanei_genesys_compute_dpihw(dev,dpi); - - for (i = 0x06; i < 0x0e; i++) - { - r = sanei_genesys_get_address (regs, 0x10 + i); - if (r) - r->value = dev->sensor.regs_0x10_0x1d[i]; - } - - for (i = 0; i < 9; i++) - { - r = sanei_genesys_get_address (regs, 0x52 + i); - if (r) - r->value = dev->sensor.regs_0x52_0x5e[i]; - } - - /* set EXPDUMMY and CKxMAP */ - dpihw=sanei_genesys_compute_dpihw(dev,dpi); - sensor=get_sensor_profile(dev->model->ccd_type, dpihw); - - sanei_genesys_set_reg_from_set(regs,REG_EXPDMY,(uint8_t)((sensor->expdummy) & 0xff)); - - /* if no calibration has been done, set default values for exposures */ - exp=dev->sensor.regs_0x10_0x1d[0]*256+dev->sensor.regs_0x10_0x1d[1]; - if(exp==0) - { - exp=sensor->expr; - } - sanei_genesys_set_double(regs,REG_EXPR,exp); - - exp=dev->sensor.regs_0x10_0x1d[2]*256+dev->sensor.regs_0x10_0x1d[3]; - if(exp==0) - { - exp=sensor->expg; - } - sanei_genesys_set_double(regs,REG_EXPG,exp); - - exp=dev->sensor.regs_0x10_0x1d[4]*256+dev->sensor.regs_0x10_0x1d[5]; - if(exp==0) - { - exp=sensor->expb; - } - sanei_genesys_set_double(regs,REG_EXPB,exp); - - sanei_genesys_set_triple(regs,REG_CK1MAP,sensor->ck1map); - sanei_genesys_set_triple(regs,REG_CK3MAP,sensor->ck3map); - sanei_genesys_set_triple(regs,REG_CK4MAP,sensor->ck4map); - - /* order of the sub-segments */ - dev->order=sensor->order; - - r = sanei_genesys_get_address (regs, 0x17); - r->value = sensor->r17; - - DBGCOMPLETED; -} - - -/* returns the max register bulk size */ -static int -gl846_bulk_full_size (void) -{ - return GENESYS_GL846_MAX_REGS; -} - -/** @brief set all registers to default values . - * This function is called only once at the beginning and - * fills register startup values for registers reused across scans. - * Those that are rarely modified or not modified are written - * individually. - * @param dev device structure holding register set to initialize - */ -static void -gl846_init_registers (Genesys_Device * dev) -{ - DBGSTART; - - memset (dev->reg, 0, - GENESYS_GL846_MAX_REGS * sizeof (Genesys_Register_Set)); - - SETREG (0x01,0x60); - SETREG (0x02,0x38); - SETREG (0x03,0x03); - SETREG (0x04,0x22); - SETREG (0x05,0x60); - SETREG (0x06,0x10); - SETREG (0x08,0x60); - SETREG (0x09,0x00); - SETREG (0x0a,0x00); - SETREG (0x0b,0x8b); - SETREG (0x0c,0x00); - SETREG (0x0d,0x00); - SETREG (0x10,0x00); - SETREG (0x11,0x00); - SETREG (0x12,0x00); - SETREG (0x13,0x00); - SETREG (0x14,0x00); - SETREG (0x15,0x00); - SETREG (0x16,0xbb); - SETREG (0x17,0x13); - SETREG (0x18,0x10); - SETREG (0x19,0x2a); - SETREG (0x1a,0x34); - SETREG (0x1b,0x00); - SETREG (0x1c,0x20); - SETREG (0x1d,0x06); - SETREG (0x1e,0xf0); - SETREG (0x1f,0x01); - SETREG (0x20,0x03); - SETREG (0x21,0x10); - SETREG (0x22,0x60); - SETREG (0x23,0x60); - SETREG (0x24,0x60); - SETREG (0x25,0x00); - SETREG (0x26,0x00); - SETREG (0x27,0x00); - SETREG (0x2c,0x00); - SETREG (0x2d,0x00); - SETREG (0x2e,0x80); - SETREG (0x2f,0x80); - SETREG (0x30,0x00); - SETREG (0x31,0x00); - SETREG (0x32,0x00); - SETREG (0x33,0x00); - SETREG (0x34,0x1f); - SETREG (0x35,0x00); - SETREG (0x36,0x40); - SETREG (0x37,0x00); - SETREG (0x38,0x2a); - SETREG (0x39,0xf8); - SETREG (0x3d,0x00); - SETREG (0x3e,0x00); - SETREG (0x3f,0x01); - SETREG (0x52,0x02); - SETREG (0x53,0x04); - SETREG (0x54,0x06); - SETREG (0x55,0x08); - SETREG (0x56,0x0a); - SETREG (0x57,0x00); - SETREG (0x58,0x59); - SETREG (0x59,0x31); - SETREG (0x5a,0x40); - SETREG (0x5e,0x1f); - SETREG (0x5f,0x01); - SETREG (0x60,0x00); - SETREG (0x61,0x00); - SETREG (0x62,0x00); - SETREG (0x63,0x00); - SETREG (0x64,0x00); - SETREG (0x65,0x00); - SETREG (0x67,0x7f); - SETREG (0x68,0x7f); - SETREG (0x69,0x01); - SETREG (0x6a,0x01); - SETREG (0x70,0x01); - SETREG (0x71,0x00); - SETREG (0x72,0x02); - SETREG (0x73,0x01); - SETREG (0x74,0x00); - SETREG (0x75,0x00); - SETREG (0x76,0x00); - SETREG (0x77,0x00); - SETREG (0x78,0x00); - SETREG (0x79,0x3f); - SETREG (0x7a,0x00); - SETREG (0x7b,0x09); - SETREG (0x7c,0x99); - SETREG (0x7d,0x20); - SETREG (0x7f,0x05); - SETREG (0x80,0x4f); - SETREG (0x87,0x02); - SETREG (0x94,0xff); - SETREG (0x9d,0x04); - SETREG (0x9e,0x00); - SETREG (0xa1,0xe0); - SETREG (0xa2,0x1f); - SETREG (0xab,0xc0); - SETREG (0xbb,0x00); - SETREG (0xbc,0x0f); - SETREG (0xdb,0xff); - SETREG (0xfe,0x08); - SETREG (0xff,0x02); - SETREG (0x98,0x20); - SETREG (0x99,0x00); - SETREG (0x9a,0x90); - SETREG (0x9b,0x00); - SETREG (0xf8,0x05); - - /* fine tune upon device description */ - dev->reg[reg_0x05].value &= ~REG05_DPIHW; - switch (dev->sensor.optical_res) - { - case 600: - dev->reg[reg_0x05].value |= REG05_DPIHW_600; - break; - case 1200: - dev->reg[reg_0x05].value |= REG05_DPIHW_1200; - break; - case 2400: - dev->reg[reg_0x05].value |= REG05_DPIHW_2400; - break; - case 4800: - dev->reg[reg_0x05].value |= REG05_DPIHW_4800; - break; - } - - /* initalize calibration reg */ - memcpy (dev->calib_reg, dev->reg, - GENESYS_GL846_MAX_REGS * sizeof (Genesys_Register_Set)); - - DBGCOMPLETED; -} - -/**@brief send slope table for motor movement - * Send slope_table in machine byte order - * @param dev device to send slope table - * @param table_nr index of the slope table in ASIC memory - * Must be in the [0-4] range. - * @param slope_table pointer to 16 bit values array of the slope table - * @param steps number of elements in the slope table - */ -static SANE_Status -gl846_send_slope_table (Genesys_Device * dev, int table_nr, - uint16_t * slope_table, int steps) -{ - SANE_Status status; - uint8_t *table; - int i; - char msg[10000]; - - DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, - table_nr, steps); - - /* sanity check */ - if(table_nr<0 || table_nr>4) - { - DBG (DBG_error, "%s: invalid table number %d!\n", __func__, table_nr); - return SANE_STATUS_INVAL; - } - - table = (uint8_t *) malloc (steps * 2); - for (i = 0; i < steps; i++) - { - table[i * 2] = slope_table[i] & 0xff; - table[i * 2 + 1] = slope_table[i] >> 8; - } - - if (DBG_LEVEL >= DBG_io) - { - sprintf (msg, "write slope %d (%d)=", table_nr, steps); - for (i = 0; i < steps; i++) - { - sprintf (msg+strlen(msg), "%d", slope_table[i]); - } - DBG (DBG_io, "%s: %s\n", __func__, msg); - } - - /* slope table addresses are fixed */ - status = sanei_genesys_write_ahb (dev->dn, dev->usb_mode, 0x10000000 + 0x4000 * table_nr, steps * 2, table); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: write to AHB failed writing slope table %d (%s)\n", - __func__, table_nr, sane_strstatus (status)); - } - - free (table); - DBGCOMPLETED; - return status; -} - -/** - * Set register values of Analog Device type frontend - * */ -static SANE_Status -gl846_set_adi_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - uint16_t val; - uint8_t val8; - - DBGSTART; - - /* wait for FE to be ready */ - status = sanei_genesys_get_status (dev, &val8); - while (val8 & REG41_FEBUSY) - { - usleep (10000); - status = sanei_genesys_get_status (dev, &val8); - }; - - if (set == AFE_INIT) - { - DBG (DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); - - /* sets to default values */ - sanei_genesys_init_fe (dev); - } - - /* write them to analog frontend */ - val = dev->frontend.reg[0]; - status = sanei_genesys_fe_write_data (dev, 0x00, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to write reg0: %s\n", __func__, - sane_strstatus (status)); - return status; - } - val = dev->frontend.reg[1]; - status = sanei_genesys_fe_write_data (dev, 0x01, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to write reg1: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - for (i = 0; i < 3; i++) - { - val = dev->frontend.gain[i]; - status = sanei_genesys_fe_write_data (dev, 0x02 + i, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to write gain %d: %s\n", __func__, i, - sane_strstatus (status)); - return status; - } - } - for (i = 0; i < 3; i++) - { - val = dev->frontend.offset[i]; - status = sanei_genesys_fe_write_data (dev, 0x05 + i, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to write offset %d: %s\n", __func__, i, - sane_strstatus (status)); - return status; - } - } - - DBGCOMPLETED; - return status; -} - -static SANE_Status -gl846_homsnr_gpio(Genesys_Device *dev) -{ -uint8_t val; -SANE_Status status=SANE_STATUS_GOOD; - - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - val |= 0x41; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - - return status; -} - -/* Set values of analog frontend */ -static SANE_Status -gl846_set_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status; - - DBG(DBG_proc, "gl846_set_fe (%s)\n", - set == AFE_INIT ? "init" : set == AFE_SET ? "set" : - set == AFE_POWER_SAVE ? "powersave" : "huh?"); - - /* route to specific analog frontend setup */ - switch (dev->reg[reg_0x04].value & REG04_FESET) - { - case 0x02: /* ADI FE */ - status = gl846_set_adi_fe(dev, set); - break; - default: - DBG(DBG_proc, "gl846_set_fe(): unsupported frontend type %d\n", - dev->reg[reg_0x04].value & REG04_FESET); - status = SANE_STATUS_UNSUPPORTED; - } - - DBGCOMPLETED; - return status; -} - - -/** @brief set up motor related register for scan - */ -static SANE_Status -gl846_init_motor_regs_scan (Genesys_Device * dev, - Genesys_Register_Set * reg, - unsigned int scan_exposure_time, - float scan_yres, - int scan_step_type, - unsigned int scan_lines, - unsigned int scan_dummy, - unsigned int feed_steps, - int scan_power_mode, - unsigned int flags) -{ - SANE_Status status; - int use_fast_fed; - unsigned int fast_dpi; - uint16_t scan_table[SLOPE_TABLE_SIZE]; - uint16_t fast_table[SLOPE_TABLE_SIZE]; - int scan_steps, fast_steps, factor; - unsigned int feedl, dist; - Genesys_Register_Set *r; - uint32_t z1, z2; - unsigned int min_restep = 0x20; - uint8_t val; - int fast_step_type; - unsigned int ccdlmt,tgtime; - - DBGSTART; - DBG (DBG_proc, "gl846_init_motor_regs_scan : scan_exposure_time=%d, " - "scan_yres=%g, scan_step_type=%d, scan_lines=%d, scan_dummy=%d, " - "feed_steps=%d, scan_power_mode=%d, flags=%x\n", - scan_exposure_time, - scan_yres, - scan_step_type, - scan_lines, scan_dummy, feed_steps, scan_power_mode, flags); - - /* get step multiplier */ - factor = gl846_get_step_multiplier (reg); - - use_fast_fed=0; - /* no fast fed since feed works well */ - if(dev->settings.yres==4444 && feed_steps>100 - && ((flags & MOTOR_FLAG_FEED)==0)) - { - use_fast_fed=1; - } - DBG (DBG_io, "%s: use_fast_fed=%d\n", __func__, use_fast_fed); - - sanei_genesys_set_triple(reg, REG_LINCNT, scan_lines); - DBG (DBG_io, "%s: lincnt=%d\n", __func__, scan_lines); - - /* compute register 02 value */ - r = sanei_genesys_get_address (reg, REG02); - r->value = 0x00; - r->value |= REG02_MTRPWR; - - if (use_fast_fed) - r->value |= REG02_FASTFED; - else - r->value &= ~REG02_FASTFED; - - if (flags & MOTOR_FLAG_AUTO_GO_HOME) - r->value |= REG02_AGOHOME | REG02_NOTHOME; - - if ((flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) - ||(scan_yres>=dev->sensor.optical_res)) - { - r->value |= REG02_ACDCDIS; - } - - /* scan and backtracking slope table */ - sanei_genesys_slope_table(scan_table, - &scan_steps, - scan_yres, - scan_exposure_time, - dev->motor.base_ydpi, - scan_step_type, - factor, - dev->model->motor_type, - gl846_motors); - RIE(gl846_send_slope_table (dev, SCAN_TABLE, scan_table, scan_steps*factor)); - RIE(gl846_send_slope_table (dev, BACKTRACK_TABLE, scan_table, scan_steps*factor)); - - /* fast table */ - fast_dpi=sanei_genesys_get_lowest_ydpi(dev); - fast_step_type=scan_step_type; - if(scan_step_type>=2) - { - fast_step_type=2; - } - - sanei_genesys_slope_table(fast_table, - &fast_steps, - fast_dpi, - scan_exposure_time, - dev->motor.base_ydpi, - fast_step_type, - factor, - dev->model->motor_type, - gl846_motors); - - /* manual override of high start value */ - fast_table[0]=fast_table[1]; - - RIE(gl846_send_slope_table (dev, STOP_TABLE, fast_table, fast_steps*factor)); - RIE(gl846_send_slope_table (dev, FAST_TABLE, fast_table, fast_steps*factor)); - RIE(gl846_send_slope_table (dev, HOME_TABLE, fast_table, fast_steps*factor)); - - /* correct move distance by acceleration and deceleration amounts */ - feedl=feed_steps; - if (use_fast_fed) - { - feedl<<=fast_step_type; - dist=(scan_steps+2*fast_steps)*factor; - /* TODO read and decode REGAB */ - r = sanei_genesys_get_address (reg, 0x5e); - dist += (r->value & 31); - /* FEDCNT */ - r = sanei_genesys_get_address (reg, REG_FEDCNT); - dist += r->value; - } - else - { - feedl<<=scan_step_type; - dist=scan_steps*factor; - if (flags & MOTOR_FLAG_FEED) - dist *=2; - } - DBG (DBG_io2, "%s: scan steps=%d\n", __func__, scan_steps); - DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); - - /* check for overflow */ - if(distvalue & REG0C_CCDLMT)+1; - - r = sanei_genesys_get_address (reg, REG1C); - tgtime=1<<(r->value & REG1C_TGTIME); - - /* hi res motor speed GPIO */ - /* - RIE (sanei_genesys_read_register (dev, REG6C, &effective)); - */ - - /* if quarter step, bipolar Vref2 */ - /* XXX STEF XXX GPIO - if (scan_step_type > 1) - { - if (scan_step_type < 3) - { - val = effective & ~REG6C_GPIO13; - } - else - { - val = effective | REG6C_GPIO13; - } - } - else - { - val = effective; - } - RIE (sanei_genesys_write_register (dev, REG6C, val)); - */ - - /* effective scan */ - /* - RIE (sanei_genesys_read_register (dev, REG6C, &effective)); - val = effective | REG6C_GPIO10; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - */ - - if(dev->model->gpo_type==GPO_IMG101) - { - if(scan_yres==sanei_genesys_compute_dpihw(dev,scan_yres)) - { - val=1; - } - else - { - val=0; - } - RIE (sanei_genesys_write_register (dev, REG7E, val)); - } - - min_restep=scan_steps/2-1; - if (min_restep < 1) - min_restep = 1; - r = sanei_genesys_get_address (reg, REG_FWDSTEP); - r->value = min_restep; - r = sanei_genesys_get_address (reg, REG_BWDSTEP); - r->value = min_restep; - - sanei_genesys_calculate_zmode2(use_fast_fed, - scan_exposure_time*ccdlmt*tgtime, - scan_table, - scan_steps*factor, - feedl, - min_restep*factor, - &z1, - &z2); - - DBG (DBG_info, "gl846_init_motor_regs_scan: z1 = %d\n", z1); - sanei_genesys_set_triple(reg, REG60, z1 | (scan_step_type << (16+REG60S_STEPSEL))); - - DBG (DBG_info, "gl846_init_motor_regs_scan: z2 = %d\n", z2); - sanei_genesys_set_triple(reg, REG63, z2 | (scan_step_type << (16+REG63S_FSTPSEL))); - - r = sanei_genesys_get_address (reg, 0x1e); - r->value &= 0xf0; /* 0 dummy lines */ - r->value |= scan_dummy; /* dummy lines */ - - r = sanei_genesys_get_address (reg, REG67); - r->value = 0x7f; - - r = sanei_genesys_get_address (reg, REG68); - r->value = 0x7f; - - r = sanei_genesys_get_address (reg, REG_STEPNO); - r->value = scan_steps; - - r = sanei_genesys_get_address (reg, REG_FASTNO); - r->value = scan_steps; - - r = sanei_genesys_get_address (reg, REG_FSHDEC); - r->value = scan_steps; - - r = sanei_genesys_get_address (reg, REG_FMOVNO); - r->value = fast_steps; - - r = sanei_genesys_get_address (reg, REG_FMOVDEC); - r->value = fast_steps; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** @brief set up registers related to sensor - * Set up the following registers - 0x01 - 0x03 - 0x10-0x015 R/G/B exposures - 0x19 EXPDMY - 0x2e BWHI - 0x2f BWLO - 0x04 - 0x87 - 0x05 - 0x2c,0x2d DPISET - 0x30,0x31 STRPIXEL - 0x32,0x33 ENDPIXEL - 0x35,0x36,0x37 MAXWD [25:2] (>>2) - 0x38,0x39 LPERIOD - 0x34 DUMMY - */ -static SANE_Status -gl846_init_optical_regs_scan (Genesys_Device * dev, - Genesys_Register_Set * reg, - unsigned int exposure_time, - int used_res, - unsigned int start, - unsigned int pixels, - int channels, - int depth, - SANE_Bool half_ccd, int color_filter, int flags) -{ - unsigned int words_per_line; - unsigned int startx, endx, used_pixels; - unsigned int dpiset, dpihw,segnb,cksel,factor; - unsigned int bytes; - Genesys_Register_Set *r; - SANE_Status status; - Sensor_Profile *sensor; - - DBG (DBG_proc, "gl846_init_optical_regs_scan : exposure_time=%d, " - "used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " - "half_ccd=%d, flags=%x\n", exposure_time, - used_res, start, pixels, channels, depth, half_ccd, flags); - - /* resolution is divided according to CKSEL */ - r = sanei_genesys_get_address (reg, REG18); - cksel= (r->value & REG18_CKSEL)+1; - DBG (DBG_io2, "%s: cksel=%d\n", __func__, cksel); - - /* to manage high resolution device while keeping good - * low resolution scanning speed, we make hardware dpi vary */ - dpihw=sanei_genesys_compute_dpihw(dev, used_res * cksel); - factor=dev->sensor.optical_res/dpihw; - DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); - - /* sensor parameters */ - sensor=get_sensor_profile(dev->model->ccd_type, dpihw); - gl846_setup_sensor (dev, reg, dpihw); - dpiset = used_res * cksel; - - /* start and end coordinate in optical dpi coordinates */ - startx = start/cksel+dev->sensor.CCD_start_xoffset; - used_pixels=pixels/cksel; - - /* end of sensor window */ - endx = startx + used_pixels; - - /* sensors are built from 600 dpi segments for LiDE 100/200 - * and 1200 dpi for the 700F */ - if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR) - { - segnb=dpihw/600; - } - else - { - segnb=1; - } - - /* compute pixel coordinate in the given dpihw space, - * taking segments into account */ - startx/=factor*segnb; - endx/=factor*segnb; - dev->len=endx-startx; - dev->dist=0; - dev->skip=0; - - /* in cas of multi-segments sensor, we have to add the witdh - * of the sensor crossed by the scan area */ - if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR && segnb>1) - { - dev->dist = sensor->segcnt; - } - - /* use a segcnt rounded to next even number */ - endx += ((dev->dist+1)&0xfffe)*(segnb-1); - used_pixels=endx-startx; - - status = gl846_set_fe (dev, AFE_SET); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_init_optical_regs_scan: failed to set frontend: %s\n", - sane_strstatus (status)); - return status; - } - - /* enable shading */ - r = sanei_genesys_get_address (reg, REG01); - r->value &= ~REG01_SCAN; - r->value |= REG01_SHDAREA; - if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || - (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) - { - r->value &= ~REG01_DVDSET; - } - else - { - r->value |= REG01_DVDSET; - } - - r = sanei_genesys_get_address (reg, REG03); - r->value &= ~REG03_AVEENB; - - if (flags & OPTICAL_FLAG_DISABLE_LAMP) - r->value &= ~REG03_LAMPPWR; - else - r->value |= REG03_LAMPPWR; - - /* BW threshold */ - r = sanei_genesys_get_address (reg, 0x2e); - r->value = dev->settings.threshold; - r = sanei_genesys_get_address (reg, 0x2f); - r->value = dev->settings.threshold; - - /* monochrome / color scan */ - r = sanei_genesys_get_address (reg, REG04); - switch (depth) - { - case 1: - r->value &= ~REG04_BITSET; - r->value |= REG04_LINEART; - break; - case 8: - r->value &= ~(REG04_LINEART | REG04_BITSET); - break; - case 16: - r->value &= ~REG04_LINEART; - r->value |= REG04_BITSET; - break; - } - - r->value &= ~(REG04_FILTER | REG04_AFEMOD); - if (channels == 1) - { - switch (color_filter) - { - case 0: - r->value |= 0x24; /* red filter */ - break; - case 2: - r->value |= 0x2c; /* blue filter */ - break; - default: - r->value |= 0x28; /* green filter */ - break; - } - } - else - r->value |= 0x20; /* mono */ - - /* register 05 */ - r = sanei_genesys_get_address (reg, REG05); - - /* set up dpihw */ - r->value &= ~REG05_DPIHW; - switch(dpihw) - { - case 600: - r->value |= REG05_DPIHW_600; - break; - case 1200: - r->value |= REG05_DPIHW_1200; - break; - case 2400: - r->value |= REG05_DPIHW_2400; - break; - case 4800: - r->value |= REG05_DPIHW_4800; - break; - } - - /* enable gamma tables */ - if (flags & OPTICAL_FLAG_DISABLE_GAMMA) - r->value &= ~REG05_GMMENB; - else - r->value |= REG05_GMMENB; - - /* CIS scanners can do true gray by setting LEDADD */ - /* we set up LEDADD only when asked */ - if (dev->model->is_cis == SANE_TRUE) - { - r = sanei_genesys_get_address (reg, 0x87); - r->value &= ~REG87_LEDADD; - if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) - { - r->value |= REG87_LEDADD; - } - /* RGB weighting - r = sanei_genesys_get_address (reg, 0x01); - r->value &= ~REG01_TRUEGRAY; - if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) - { - r->value |= REG01_TRUEGRAY; - }*/ - } - - /* words(16bit) before gamma, conversion to 8 bit or lineart*/ - words_per_line = (used_pixels * dpiset) / dpihw; - bytes=depth/8; - if (depth == 1) - { - words_per_line = (words_per_line+7)/8 ; - dev->len = (dev->len >> 3) + ((dev->len & 7) ? 1 : 0); - dev->dist = (dev->dist >> 3) + ((dev->dist & 7) ? 1 : 0); - } - else - { - words_per_line *= bytes; - dev->dist *= bytes; - dev->len *= bytes; - } - - dev->bpl = words_per_line; - dev->cur=0; - dev->segnb=segnb; - dev->line_interp = 0; - - sanei_genesys_set_double(reg,REG_DPISET,dpiset); - DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); - - sanei_genesys_set_double(reg,REG_STRPIXEL,startx); - sanei_genesys_set_double(reg,REG_ENDPIXEL,endx); - DBG (DBG_io2, "%s: startx=%d\n", __func__, startx); - DBG (DBG_io2, "%s: endx =%d\n", __func__, endx); - - DBG (DBG_io2, "%s: used_pixels=%d\n", __func__, used_pixels); - DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); - DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); - DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long)dev->bpl); - DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); - DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); - DBG (DBG_io2, "%s: dev->segnb =%lu\n", __func__, (unsigned long)dev->segnb); - - words_per_line *= channels; - dev->wpl = words_per_line; - - if(dev->oe_buffer.buffer!=NULL) - { - sanei_genesys_buffer_free (&(dev->oe_buffer)); - } - RIE (sanei_genesys_buffer_alloc (&(dev->oe_buffer), dev->wpl)); - - /* MAXWD is expressed in 4 words unit */ - sanei_genesys_set_triple(reg, REG_MAXWD, (words_per_line >> 2)); - DBG (DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); - - sanei_genesys_set_double(reg, REG_LPERIOD, exposure_time); - DBG (DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); - - r = sanei_genesys_get_address (reg, 0x34); - r->value = dev->sensor.dummy_pixel; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* set up registers for an actual scan - * - * this function sets up the scanner to scan in normal or single line mode - */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl846_init_scan_regs (Genesys_Device * dev, - Genesys_Register_Set * reg, - float xres, /*dpi */ - float yres, /*dpi */ - float startx, /*optical_res, from dummy_pixel+1 */ - float starty, /*base_ydpi, from home! */ - float pixels, - float lines, - unsigned int depth, - unsigned int channels, - int color_filter, - unsigned int flags) -{ - int used_res; - int start, used_pixels; - int bytes_per_line; - int move; - unsigned int lincnt; - unsigned int oflags; /**> optical flags */ - unsigned int mflags; /**> motor flags */ - int exposure_time; - int stagger; - - int slope_dpi = 0; - int dummy = 0; - int scan_step_type = 1; - int scan_power_mode = 0; - int max_shift; - size_t requested_buffer_size, read_buffer_size; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - SANE_Status status; - - DBG (DBG_info, - "gl846_init_scan_regs settings:\n" - "Resolution : %gDPI/%gDPI\n" - "Lines : %g\n" - "PPL : %g\n" - "Startpos : %g/%g\n" - "Depth/Channels: %u/%u\n" - "Flags : %x\n\n", - xres, yres, lines, pixels, startx, starty, depth, channels, flags); - - /* we may have 2 domains for ccd: xres below or above half ccd max dpi */ - if (dev->sensor.optical_res < 2 * xres || - !(dev->model->flags & GENESYS_FLAG_HALF_CCD_MODE)) - { - half_ccd = SANE_FALSE; - } - else - { - half_ccd = SANE_TRUE; - } - - /* optical_res */ - optical_res = dev->sensor.optical_res; - if (half_ccd) - optical_res /= 2; - - /* stagger */ - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG (DBG_info, "gl846_init_scan_regs : stagger=%d lines\n", stagger); - - /* used_res */ - if (flags & SCAN_FLAG_USE_OPTICAL_RES) - { - used_res = optical_res; - } - else - { - /* resolution is choosen from a list */ - used_res = xres; - } - - /* compute scan parameters values */ - /* pixels are allways given at full optical resolution */ - /* use detected left margin and fixed value */ - /* start */ - /* add x coordinates */ - start = startx; - - if (stagger > 0) - start |= 1; - - /* compute correct pixels number */ - /* pixels */ - used_pixels = (pixels * optical_res) / xres; - - /* round up pixels number if needed */ - if (used_pixels * xres < pixels * optical_res) - used_pixels++; - - dummy = 3-channels; - -/* slope_dpi */ -/* cis color scan is effectively a gray scan with 3 gray lines per color - line and a FILTER of 0 */ - if (dev->model->is_cis) - slope_dpi = yres * channels; - else - slope_dpi = yres; - - slope_dpi = slope_dpi * (1 + dummy); - - exposure_time = gl846_compute_exposure (dev, used_res); - scan_step_type = sanei_genesys_compute_step_type(gl846_motors, dev->model->motor_type, exposure_time); - - DBG (DBG_info, "gl846_init_scan_regs : exposure_time=%d pixels\n", exposure_time); - DBG (DBG_info, "gl846_init_scan_regs : scan_step_type=%d\n", scan_step_type); - -/*** optical parameters ***/ - /* in case of dynamic lineart, we use an internal 8 bit gray scan - * to generate 1 lineart data */ - if ((flags & SCAN_FLAG_DYNAMIC_LINEART) && (dev->settings.scan_mode == SCAN_MODE_LINEART)) - { - depth = 8; - } - - /* we enable true gray for cis scanners only, and just when doing - * scan since color calibration is OK for this mode - */ - oflags = 0; - if(flags & SCAN_FLAG_DISABLE_SHADING) - oflags |= OPTICAL_FLAG_DISABLE_SHADING; - if(flags & SCAN_FLAG_DISABLE_GAMMA) - oflags |= OPTICAL_FLAG_DISABLE_GAMMA; - if(flags & SCAN_FLAG_DISABLE_LAMP) - oflags |= OPTICAL_FLAG_DISABLE_LAMP; - - if (dev->model->is_cis && dev->settings.true_gray) - { - oflags |= OPTICAL_FLAG_ENABLE_LEDADD; - } - - status = gl846_init_optical_regs_scan (dev, - reg, - exposure_time, - used_res, - start, - used_pixels, - channels, - depth, - half_ccd, - color_filter, - oflags); - - if (status != SANE_STATUS_GOOD) - return status; - -/*** motor parameters ***/ - - /* max_shift */ - max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,flags); - - /* lincnt */ - lincnt = lines + max_shift + stagger; - - /* add tl_y to base movement */ - move = starty; - DBG (DBG_info, "gl846_init_scan_regs: move=%d steps\n", move); - - mflags=0; - if(flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE) - mflags |= MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE; - if(flags & SCAN_FLAG_FEEDING) - mflags |= MOTOR_FLAG_FEED; - - status = gl846_init_motor_regs_scan (dev, - reg, - exposure_time, - slope_dpi, - scan_step_type, - dev->model->is_cis ? lincnt * - channels : lincnt, dummy, move, - scan_power_mode, - mflags); - - if (status != SANE_STATUS_GOOD) - return status; - - - /*** prepares data reordering ***/ - -/* words_per_line */ - bytes_per_line = (used_pixels * used_res) / optical_res; - bytes_per_line = (bytes_per_line * channels * depth) / 8; - - requested_buffer_size = 8 * bytes_per_line; - /* we must use a round number of bytes_per_line */ - /* XXX STEF XXX - if (requested_buffer_size > BULKIN_MAXSIZE) - requested_buffer_size = - (BULKIN_MAXSIZE / bytes_per_line) * bytes_per_line; - */ - - read_buffer_size = - 2 * requested_buffer_size + - ((max_shift + stagger) * used_pixels * channels * depth) / 8; - - RIE (sanei_genesys_buffer_free (&(dev->read_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->read_buffer), read_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->lines_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->lines_buffer), read_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->shrink_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->shrink_buffer), - requested_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->out_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->out_buffer), - (8 * dev->settings.pixels * channels * - depth) / 8)); - - - dev->read_bytes_left = bytes_per_line * lincnt; - - DBG (DBG_info, - "gl846_init_scan_regs: physical bytes to read = %lu\n", - (u_long) dev->read_bytes_left); - dev->read_active = SANE_TRUE; - - - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - dev->current_setup.lines = lincnt; - dev->current_setup.depth = depth; - dev->current_setup.channels = channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = yres; - dev->current_setup.half_ccd = half_ccd; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - -/* TODO: should this be done elsewhere? */ - /* scan bytes to send to the frontend */ - /* theory : - target_size = - (dev->settings.pixels * dev->settings.lines * channels * depth) / 8; - but it suffers from integer overflow so we do the following: - - 1 bit color images store color data byte-wise, eg byte 0 contains - 8 bits of red data, byte 1 contains 8 bits of green, byte 2 contains - 8 bits of blue. - This does not fix the overflow, though. - 644mp*16 = 10gp, leading to an overflow - -- pierre - */ - - dev->total_bytes_read = 0; - if (depth == 1) - dev->total_bytes_to_read = - ((dev->settings.pixels * dev->settings.lines) / 8 + - (((dev->settings.pixels * dev->settings.lines) % 8) ? 1 : 0)) * - channels; - else - dev->total_bytes_to_read = - dev->settings.pixels * dev->settings.lines * channels * (depth / 8); - - DBG (DBG_info, "gl846_init_scan_regs: total bytes to send = %lu\n", - (u_long) dev->total_bytes_to_read); -/* END TODO */ - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl846_calculate_current_setup (Genesys_Device * dev) -{ - int channels; - int depth; - int start; - - float xres; /*dpi */ - float yres; /*dpi */ - float startx; /*optical_res, from dummy_pixel+1 */ - float pixels; - float lines; - - int used_res; - int used_pixels; - unsigned int lincnt; - int exposure_time; - int stagger; - - int slope_dpi; - int dummy = 0; - int max_shift; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - - DBG (DBG_info, - "gl846_calculate_current_setup settings:\n" - "Resolution: %uDPI\n" - "Lines : %u\n" - "PPL : %u\n" - "Startpos : %.3f/%.3f\n" - "Scan mode : %d\n\n", - dev->settings.yres, dev->settings.lines, dev->settings.pixels, - dev->settings.tl_x, dev->settings.tl_y, dev->settings.scan_mode); - - /* channels */ - if (dev->settings.scan_mode == 4) /* single pass color */ - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == 0) - depth = 1; - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - start = (start * dev->sensor.optical_res) / MM_PER_INCH; - - - xres = dev->settings.xres; /*dpi */ - yres = dev->settings.yres; /*dpi */ - startx = start; /*optical_res, from dummy_pixel+1 */ - pixels = dev->settings.pixels; - lines = dev->settings.lines; - - DBG (DBG_info, - "gl846_calculate_current_setup settings:\n" - "Resolution : %gDPI/%gDPI\n" - "Lines : %g\n" - "PPL : %g\n" - "Startpos : %g\n" - "Depth/Channels: %u/%u\n\n", - xres, yres, lines, pixels, startx, depth, channels); - -/* half_ccd */ - /* we have 2 domains for ccd: xres below or above half ccd max dpi */ - if ((dev->sensor.optical_res < 2 * xres) || - !(dev->model->flags & GENESYS_FLAG_HALF_CCD_MODE)) - { - half_ccd = SANE_FALSE; - } - else - { - half_ccd = SANE_TRUE; - } - - /* optical_res */ - optical_res = dev->sensor.optical_res; - - /* stagger */ - if (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE) - stagger = (4 * yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG (DBG_info, "gl846_calculate_current_setup: stagger=%d lines\n", - stagger); - - /* resolution is choosen from a fixed list */ - used_res = xres; - - /* compute scan parameters values */ - /* pixels are allways given at half or full CCD optical resolution */ - /* use detected left margin and fixed value */ - - /* compute correct pixels number */ - used_pixels = (pixels * optical_res) / used_res; - dummy = 3-channels; - - /* slope_dpi */ - /* cis color scan is effectively a gray scan with 3 gray lines per color - line and a FILTER of 0 */ - if (dev->model->is_cis) - slope_dpi = yres * channels; - else - slope_dpi = yres; - - slope_dpi = slope_dpi * (1 + dummy); - - exposure_time = gl846_compute_exposure (dev, used_res); - DBG (DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); - - /* max_shift */ - max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,0); - - /* lincnt */ - lincnt = lines + max_shift + stagger; - - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - dev->current_setup.lines = lincnt; - dev->current_setup.depth = depth; - dev->current_setup.channels = channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = yres; - dev->current_setup.half_ccd = half_ccd; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static void -gl846_set_motor_power (Genesys_Register_Set * regs, SANE_Bool set) -{ - - DBG (DBG_proc, "gl846_set_motor_power\n"); - - if (set) - { - sanei_genesys_set_reg_from_set (regs, REG02, - sanei_genesys_read_reg_from_set (regs, - REG02) - | REG02_MTRPWR); - } - else - { - sanei_genesys_set_reg_from_set (regs, REG02, - sanei_genesys_read_reg_from_set (regs, - REG02) - & ~REG02_MTRPWR); - } -} - -static void -gl846_set_lamp_power (Genesys_Device __sane_unused__ * dev, - Genesys_Register_Set * regs, SANE_Bool set) -{ - if (set) - { - sanei_genesys_set_reg_from_set (regs, REG03, - sanei_genesys_read_reg_from_set (regs, REG03) - | REG03_LAMPPWR); - } - else - { - sanei_genesys_set_reg_from_set (regs, REG03, - sanei_genesys_read_reg_from_set (regs, REG03) - & ~REG03_LAMPPWR); - } -} - -/*for fast power saving methods only, like disabling certain amplifiers*/ -static SANE_Status -gl846_save_power (Genesys_Device * dev, SANE_Bool enable) -{ - DBG (DBG_proc, "gl846_save_power: enable = %d\n", enable); - if (dev == NULL) - return SANE_STATUS_INVAL; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl846_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) -{ - DBG (DBG_proc, "gl846_set_powersaving (delay = %d)\n", delay); - if (dev == NULL) - return SANE_STATUS_INVAL; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl846_start_action (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x01); -} - -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl846_stop_action (Genesys_Device * dev) -{ - SANE_Status status; - uint8_t val40, val; - unsigned int loop; - - DBGSTART; - - /* post scan gpio : without that HOMSNR is unreliable */ - gl846_homsnr_gpio(dev); - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - status = sanei_genesys_read_register (dev, REG40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* only stop action if needed */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) - { - DBG (DBG_info, "%s: already stopped\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* ends scan */ - val = sanei_genesys_read_reg_from_set (dev->reg, REG01); - val &= ~REG01_SCAN; - sanei_genesys_set_reg_from_set (dev->reg, REG01, val); - status = sanei_genesys_write_register (dev, REG01, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to write register 01: %s\n", __func__, - sane_strstatus (status)); - return status; - } - usleep (100 * 1000); - - loop = 10; - while (loop > 0) - { - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - status = sanei_genesys_read_register (dev, REG40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* if scanner is in command mode, we are done */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG) - && !(val & REG41_MOTORENB)) - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - usleep (100 * 1000); - loop--; - } - - DBGCOMPLETED; - return SANE_STATUS_IO_ERROR; -} - -/* Send the low-level scan command */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl846_begin_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool start_motor) -{ - SANE_Status status; - uint8_t val; - Genesys_Register_Set *r; - - DBGSTART; - - /* XXX STEF XXX SCAN GPIO */ - /* - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - RIE (sanei_genesys_write_register (dev, REG6C, val)); - */ - - val = REG0D_CLRLNCNT; - RIE (sanei_genesys_write_register (dev, REG0D, val)); - val = REG0D_CLRMCNT; - RIE (sanei_genesys_write_register (dev, REG0D, val)); - - RIE (sanei_genesys_read_register (dev, REG01, &val)); - val |= REG01_SCAN; - RIE (sanei_genesys_write_register (dev, REG01, val)); - r = sanei_genesys_get_address (reg, REG01); - r->value = val; - - if (start_motor) - { - RIE (sanei_genesys_write_register (dev, REG0F, 1)); - } - else - { - RIE (sanei_genesys_write_register (dev, REG0F, 0)); - } - - DBGCOMPLETED; - - return status; -} - - -/* Send the stop scan command */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl846_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop) -{ - SANE_Status status; - - DBG (DBG_proc, "gl846_end_scan (check_stop = %d)\n", check_stop); - if (reg == NULL) - return SANE_STATUS_INVAL; - - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = SANE_STATUS_GOOD; - } - else /* flat bed scanners */ - { - status = gl846_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_end_scan: failed to stop: %s\n", - sane_strstatus (status)); - return status; - } - } - - DBGCOMPLETED; - return status; -} - -/* Moves the slider to the home (top) postion slowly */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl846_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) -{ - Genesys_Register_Set local_reg[GENESYS_GL846_MAX_REGS]; - SANE_Status status; - Genesys_Register_Set *r; - float resolution; - uint8_t val; - int loop = 0; - int scan_mode; - - DBG (DBG_proc, "gl846_slow_back_home (wait_until_home = %d)\n", - wait_until_home); - - if(dev->usb_mode<0) - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* post scan gpio : without that HOMSNR is unreliable */ - gl846_homsnr_gpio(dev); - - /* first read gives HOME_SENSOR true */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - usleep (100000); /* sleep 100 ms */ - - /* second is reliable */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - /* is sensor at home? */ - if (val & HOMESNR) - { - DBG (DBG_info, "%s: already at home, completed\n", __func__); - dev->scanhead_position_in_steps = 0; - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - memcpy (local_reg, dev->reg, GENESYS_GL846_MAX_REGS * sizeof (Genesys_Register_Set)); - - resolution=sanei_genesys_get_lowest_ydpi(dev); - - /* TODO add scan_mode to the API */ - scan_mode= dev->settings.scan_mode; - dev->settings.scan_mode=SCAN_MODE_LINEART; - status = gl846_init_scan_regs (dev, - local_reg, - resolution, - resolution, - 100, - 30000, - 100, - 100, - 8, - 1, - 0, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_slow_back_home: failed to set up registers: %s\n", - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - dev->settings.scan_mode=scan_mode; - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* set up for reverse */ - r = sanei_genesys_get_address (local_reg, REG02); - r->value |= REG02_MTRREV; - - RIE (dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL846_MAX_REGS)); - - status = gl846_start_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_slow_back_home: failed to start motor: %s\n", - sane_strstatus (status)); - gl846_stop_action (dev); - /* send original registers */ - dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL846_MAX_REGS); - return status; - } - - /* post scan gpio : without that HOMSNR is unreliable */ - gl846_homsnr_gpio(dev); - - if (wait_until_home) - { - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - - if (val & HOMESNR) /* home sensor */ - { - DBG (DBG_info, "gl846_slow_back_home: reached home position\n"); - gl846_stop_action (dev); - dev->scanhead_position_in_steps = 0; - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - usleep (100000); /* sleep 100 ms */ - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl846_stop_action (dev); - DBG (DBG_error, - "gl846_slow_back_home: timeout while waiting for scanhead to go home\n"); - return SANE_STATUS_IO_ERROR; - } - - DBG (DBG_info, "gl846_slow_back_home: scanhead is still moving\n"); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels - area at 600 dpi from very top of scanner */ -static SANE_Status -gl846_search_start_position (Genesys_Device * dev) -{ - int size; - SANE_Status status; - uint8_t *data; - Genesys_Register_Set local_reg[GENESYS_GL846_MAX_REGS]; - int steps; - - int pixels = 600; - int dpi = 300; - - DBG (DBG_proc, "gl846_search_start_position\n"); - - memcpy (local_reg, dev->reg, - GENESYS_GL846_MAX_REGS * sizeof (Genesys_Register_Set)); - - /* sets for a 200 lines * 600 pixels */ - /* normal scan with no shading */ - - status = gl846_init_scan_regs (dev, local_reg, dpi, dpi, 0, 0, /*we should give a small offset here~60 steps */ - 600, dev->model->search_lines, 8, 1, 1, /*green */ - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_search_start_position: failed to set up registers: %s\n", - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* send to scanner */ - status = dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL846_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_search_start_position: failed to bulk write registers: %s\n", - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - size = pixels * dev->model->search_lines; - - data = malloc (size); - if (!data) - { - DBG (DBG_error, - "gl846_search_start_position: failed to allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - - status = gl846_begin_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl846_search_start_position: failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data, size); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl846_search_start_position: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("search_position.pnm", data, 8, 1, pixels, - dev->model->search_lines); - - status = gl846_end_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl846_search_start_position: failed to end scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* update regs to copy ASIC internal state */ - memcpy (dev->reg, local_reg, - GENESYS_GL846_MAX_REGS * sizeof (Genesys_Register_Set)); - -/*TODO: find out where sanei_genesys_search_reference_point - stores information, and use that correctly*/ - status = - sanei_genesys_search_reference_point (dev, data, 0, dpi, pixels, - dev->model->search_lines); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl846_search_start_position: failed to set search reference point: %s\n", - sane_strstatus (status)); - return status; - } - - free (data); - return SANE_STATUS_GOOD; -} - -/* - * sets up register for coarse gain calibration - * todo: check it for scanners using it */ -static SANE_Status -gl846_init_regs_for_coarse_calibration (Genesys_Device * dev) -{ - SANE_Status status; - uint8_t channels; - uint8_t cksel; - - DBG (DBG_proc, "gl846_init_regs_for_coarse_calibration\n"); - - - cksel = (dev->calib_reg[reg_0x18].value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ - - /* set line size */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - channels = 3; - else - channels = 1; - - status = gl846_init_scan_regs (dev, - dev->calib_reg, - dev->settings.xres, - dev->settings.yres, - 0, - 0, - dev->sensor.optical_res / cksel, - 20, - 16, - channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_init_register_for_coarse_calibration: Failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_info, - "gl846_init_register_for_coarse_calibration: optical sensor res: %d dpi, actual res: %d\n", - dev->sensor.optical_res / cksel, dev->settings.xres); - - status = dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL846_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_init_register_for_coarse_calibration: Failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief moves the slider to steps at motor base dpi - * @param dev device to work on - * @param steps number of steps to move in base_dpi line count - * */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl846_feed (Genesys_Device * dev, unsigned int steps) -{ - Genesys_Register_Set local_reg[GENESYS_GL846_MAX_REGS]; - SANE_Status status; - Genesys_Register_Set *r; - float resolution; - uint8_t val; - - DBGSTART; - DBG (DBG_io, "%s: steps=%d\n", __func__, steps); - - /* prepare local registers */ - memcpy (local_reg, dev->reg, GENESYS_GL846_MAX_REGS * sizeof (Genesys_Register_Set)); - - resolution=sanei_genesys_get_lowest_ydpi(dev); - status = gl846_init_scan_regs (dev, - local_reg, - resolution, - resolution, - 0, - steps, - 100, - 3, - 8, - 3, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_FEEDING | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_feed: failed to set up registers: %s\n", - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* set exposure to zero */ - sanei_genesys_set_triple(local_reg,REG_EXPR,0); - sanei_genesys_set_triple(local_reg,REG_EXPG,0); - sanei_genesys_set_triple(local_reg,REG_EXPB,0); - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT)); - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRMCNT)); - - /* set up for no scan */ - r = sanei_genesys_get_address (local_reg, REG01); - r->value &= ~REG01_SCAN; - - /* send registers */ - RIE (dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL846_MAX_REGS)); - - status = gl846_start_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus (status)); - gl846_stop_action (dev); - - /* restore original registers */ - dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL846_MAX_REGS); - return status; - } - - /* wait until feed count reaches the required value, but do not - * exceed 30s */ - do - { - status = sanei_genesys_get_status (dev, &val); - } - while (status == SANE_STATUS_GOOD && !(val & FEEDFSH)); - - /* then stop scanning */ - RIE(gl846_stop_action (dev)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* init registers for shading calibration */ -static SANE_Status -gl846_init_regs_for_shading (Genesys_Device * dev) -{ - SANE_Status status; - float move; - - DBGSTART; - dev->calib_channels = 3; - - /* initial calibration reg values */ - memcpy (dev->calib_reg, dev->reg, GENESYS_GL846_MAX_REGS * sizeof (Genesys_Register_Set)); - - dev->calib_resolution = sanei_genesys_compute_dpihw(dev,dev->settings.xres); - dev->calib_lines = dev->model->shading_lines; - if(dev->calib_resolution==4800) - dev->calib_lines *= 2; - dev->calib_pixels = (dev->sensor.sensor_pixels*dev->calib_resolution)/dev->sensor.optical_res; - DBG (DBG_io, "%s: calib_lines = %d\n", __func__, (unsigned int)dev->calib_lines); - DBG (DBG_io, "%s: calib_pixels = %d\n", __func__, (unsigned int)dev->calib_pixels); - - /* this is aworkaround insufficent distance for slope - * motor acceleration TODO special motor slope for shading */ - move=1; - if(dev->calib_resolution<1200) - { - move=40; - } - - status = gl846_init_scan_regs (dev, - dev->calib_reg, - dev->calib_resolution, - dev->calib_resolution, - 0, - move, - dev->calib_pixels, - dev->calib_lines, - 16, - dev->calib_channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); - return status; - } - - status = dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL846_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus (status)); - return status; - } - - /* we use GENESYS_FLAG_SHADING_REPARK */ - dev->scanhead_position_in_steps = 0; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief set up registers for the actual scan - */ -static SANE_Status -gl846_init_regs_for_scan (Genesys_Device * dev) -{ - int channels; - int flags; - int depth; - float move; - int move_dpi; - float start; - - SANE_Status status; - - DBG (DBG_info, - "gl846_init_regs_for_scan settings:\nResolution: %uDPI\n" - "Lines : %u\nPPL : %u\nStartpos : %.3f/%.3f\nScan mode : %d\n\n", - dev->settings.yres, dev->settings.lines, dev->settings.pixels, - dev->settings.tl_x, dev->settings.tl_y, dev->settings.scan_mode); - - /* channels */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == SCAN_MODE_LINEART) - depth = 1; - - - /* steps to move to reach scanning area: - - first we move to physical start of scanning - either by a fixed steps amount from the black strip - or by a fixed amount from parking position, - minus the steps done during shading calibration - - then we move by the needed offset whitin physical - scanning area - - assumption: steps are expressed at maximum motor resolution - - we need: - SANE_Fixed y_offset; - SANE_Fixed y_size; - SANE_Fixed y_offset_calib; - mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ - - /* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is - relative from origin, else, it is from parking position */ - - move_dpi = dev->motor.base_ydpi; - - move = SANE_UNFIX (dev->model->y_offset); - move += dev->settings.tl_y; - move = (move * move_dpi) / MM_PER_INCH; - move -= dev->scanhead_position_in_steps; - DBG (DBG_info, "%s: move=%f steps\n",__func__, move); - - /* fast move to scan area */ - /* we don't move fast the whole distance since it would involve - * computing acceleration/deceleration distance for scan - * resolution. So leave a remainder for it so scan makes the final - * move tuning */ - if(channels*dev->settings.yres>=600 && move>700) - { - status = gl846_feed (dev, move-500); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to move to scan area\n",__func__); - return status; - } - move=500; - } - - DBG (DBG_info, "gl846_init_regs_for_scan: move=%f steps\n", move); - DBG (DBG_info, "%s: move=%f steps\n", __func__, move); - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - start = (start * dev->sensor.optical_res) / MM_PER_INCH; - - flags = 0; - - /* emulated lineart from gray data is required for now */ - if(dev->settings.scan_mode == SCAN_MODE_LINEART - && dev->settings.dynamic_lineart) - { - flags |= SCAN_FLAG_DYNAMIC_LINEART; - } - - /* backtracking isn't handled well, so don't enable it */ - flags |= SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE; - - status = gl846_init_scan_regs (dev, - dev->reg, - dev->settings.xres, - dev->settings.yres, - start, - move, - dev->settings.pixels, - dev->settings.lines, - depth, - channels, - dev->settings.color_filter, - flags); - - if (status != SANE_STATUS_GOOD) - return status; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** - * Send shading calibration data. The buffer is considered to always hold values - * for all the channels. - */ -static SANE_Status -gl846_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint32_t addr, length, i, x, factor, pixels; - uint32_t dpiset, dpihw, strpixel, endpixel; - uint16_t tempo; - uint32_t lines, channels; - uint8_t val,*buffer,*ptr,*src; - - DBGSTART; - DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__func__,size); - - /* shading data is plit in 3 (up to 5 with IR) areas - write(0x10014000,0x00000dd8) - URB 23429 bulk_out len 3544 wrote 0x33 0x10 0x.... - write(0x1003e000,0x00000dd8) - write(0x10068000,0x00000dd8) - */ - length = (uint32_t) (size / 3); - sanei_genesys_get_double(dev->reg,REG_STRPIXEL,&tempo); - strpixel=tempo; - sanei_genesys_get_double(dev->reg,REG_ENDPIXEL,&tempo); - endpixel=tempo; - - /* compute deletion factor */ - sanei_genesys_get_double(dev->reg,REG_DPISET,&tempo); - dpiset=tempo; - DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, DPISET=%d\n",__func__,strpixel,endpixel,endpixel-strpixel,dpiset); - dpihw=sanei_genesys_compute_dpihw(dev,dpiset); - factor=dpihw/dpiset; - DBG( DBG_io2, "%s: factor=%d\n",__func__,factor); - - if(DBG_LEVEL>=DBG_data) - { - dev->binary=fopen("binary.pnm","wb"); - sanei_genesys_get_triple(dev->reg, REG_LINCNT, &lines); - channels=dev->current_setup.channels; - if(dev->binary!=NULL) - { - fprintf(dev->binary,"P5\n%d %d\n%d\n",(endpixel-strpixel)/factor*channels,lines/channels,255); - } - } - - pixels=endpixel-strpixel; - - /* since we're using SHDAREA, substract startx coordinate from shading */ - strpixel-=((dev->sensor.CCD_start_xoffset*600)/dev->sensor.optical_res); - - /* turn pixel value into bytes 2x16 bits words */ - strpixel*=2*2; - pixels*=2*2; - - /* allocate temporary buffer */ - buffer=(uint8_t *)malloc(pixels); - memset(buffer,0,pixels); - DBG( DBG_io2, "%s: using chunks of %d (0x%04x) bytes\n",__func__,pixels,pixels); - - /* base addr of data has been written in reg D0-D4 in 4K word, so AHB address - * is 8192*reg value */ - - /* write actual color channel data */ - for(i=0;i<3;i++) - { - /* build up actual shading data by copying the part from the full width one - * to the one corresponding to SHDAREA */ - ptr=buffer; - - /* iterate on both sensor segment */ - for(x=0;xdn, dev->usb_mode, addr, pixels, buffer); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl846_send_shading_data; write to AHB failed (%s)\n", - sane_strstatus (status)); - free(buffer); - return status; - } - } - - free(buffer); - DBGCOMPLETED; - - return status; -} - -/** @brief calibrates led exposure - * Calibrate exposure by scanning a white area until the used exposure gives - * data white enough. - * @param dev device to calibrate - */ -static SANE_Status -gl846_led_calibration (Genesys_Device * dev) -{ - int num_pixels; - int total_size; - int used_res; - uint8_t *line; - int i, j; - SANE_Status status = SANE_STATUS_GOOD; - int val; - int channels, depth; - int avg[3], top[3], bottom[3]; - int turn; - char fn[20]; - uint16_t exp[3]; - Sensor_Profile *sensor; - float move; - SANE_Bool acceptable; - - DBGSTART; - - move = SANE_UNFIX (dev->model->y_offset_calib); - move = (move * (dev->motor.base_ydpi/4)) / MM_PER_INCH; - if(move>20) - { - RIE(gl846_feed (dev, move)); - } - DBG (DBG_io, "%s: move=%f steps\n", __func__, move); - - /* offset calibration is always done in color mode */ - channels = 3; - depth=16; - used_res=sanei_genesys_compute_dpihw(dev,dev->settings.xres); - sensor=get_sensor_profile(dev->model->ccd_type, used_res); - num_pixels = (dev->sensor.sensor_pixels*used_res)/dev->sensor.optical_res; - - /* initial calibration reg values */ - memcpy (dev->calib_reg, dev->reg, GENESYS_GL846_MAX_REGS * sizeof (Genesys_Register_Set)); - - /* set up for the calibration scan */ - status = gl846_init_scan_regs (dev, - dev->calib_reg, - used_res, - used_res, - 0, - 0, - num_pixels, - 1, - depth, - channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); - return status; - } - - total_size = num_pixels * channels * (depth/8) * 1; /* colors * bytes_per_color * scan lines */ - line = malloc (total_size); - if (!line) - return SANE_STATUS_NO_MEM; - - /* initial loop values and boundaries */ - exp[0]=sensor->expr; - exp[1]=sensor->expg; - exp[2]=sensor->expb; - - bottom[0]=29000; - bottom[1]=29000; - bottom[2]=29000; - - top[0]=41000; - top[1]=51000; - top[2]=51000; - - turn = 0; - - /* no move during led calibration */ - gl846_set_motor_power (dev->calib_reg, SANE_FALSE); - do - { - /* set up exposure */ - sanei_genesys_set_double(dev->calib_reg,REG_EXPR,exp[0]); - sanei_genesys_set_double(dev->calib_reg,REG_EXPG,exp[1]); - sanei_genesys_set_double(dev->calib_reg,REG_EXPB,exp[2]); - - /* write registers and scan data */ - RIEF (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL846_MAX_REGS), line); - - DBG (DBG_info, "gl846_led_calibration: starting line reading\n"); - RIEF (gl846_begin_scan (dev, dev->calib_reg, SANE_TRUE), line); - RIEF (sanei_genesys_read_data_from_scanner (dev, line, total_size), line); - - /* stop scanning */ - RIEF (gl846_stop_action (dev), line); - - if (DBG_LEVEL >= DBG_data) - { - snprintf (fn, 20, "led_%02d.pnm", turn); - sanei_genesys_write_pnm_file (fn, line, depth, channels, num_pixels, 1); - } - - /* compute average */ - for (j = 0; j < channels; j++) - { - avg[j] = 0; - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * num_pixels + 1] * 256 + - line[i * 2 + j * 2 * num_pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - avg[j] += val; - } - - avg[j] /= num_pixels; - } - - DBG (DBG_info, "gl846_led_calibration: average: %d,%d,%d\n", avg[0], avg[1], avg[2]); - - /* check if exposure gives average within the boundaries */ - acceptable = SANE_TRUE; - for(i=0;i<3;i++) - { - if(avg[i]top[i]) - { - exp[i]=(exp[i]*top[i])/avg[i]; - acceptable = SANE_FALSE; - } - } - - turn++; - } - while (!acceptable && turn < 100); - - DBG (DBG_info, "gl846_led_calibration: acceptable exposure: %d,%d,%d\n", exp[0], exp[1], exp[2]); - - /* set these values as final ones for scan */ - sanei_genesys_set_double(dev->reg,REG_EXPR,exp[0]); - sanei_genesys_set_double(dev->reg,REG_EXPG,exp[1]); - sanei_genesys_set_double(dev->reg,REG_EXPB,exp[2]); - - /* store in this struct since it is the one used by cache calibration */ - dev->sensor.regs_0x10_0x1d[0] = (exp[0] >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[1] = exp[0] & 0xff; - dev->sensor.regs_0x10_0x1d[2] = (exp[1] >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[3] = exp[1] & 0xff; - dev->sensor.regs_0x10_0x1d[4] = (exp[2] >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[5] = exp[2] & 0xff; - - /* cleanup before return */ - free (line); - - /* go back home */ - if(move>20) - { - status=gl846_slow_back_home (dev, SANE_TRUE); - } - - DBGCOMPLETED; - return status; -} - -/** - * set up GPIO/GPOE for idle state - */ -static SANE_Status -gl846_init_gpio (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx=0; - - DBGSTART; - - /* search GPIO profile */ - while(gpios[idx].sensor_id!=0 && dev->model->gpo_type!=gpios[idx].sensor_id) - { - idx++; - } - if(gpios[idx].sensor_id==0) - { - DBG (DBG_error, "%s: failed to find GPIO profile for sensor_id=%d\n", __func__, dev->model->ccd_type); - return SANE_STATUS_INVAL; - } - - RIE (sanei_genesys_write_register (dev, REGA7, gpios[idx].ra7)); - RIE (sanei_genesys_write_register (dev, REGA6, gpios[idx].ra6)); - - RIE (sanei_genesys_write_register (dev, REG6B, gpios[idx].r6b)); - RIE (sanei_genesys_write_register (dev, REG6C, gpios[idx].r6c)); - RIE (sanei_genesys_write_register (dev, REG6D, gpios[idx].r6d)); - RIE (sanei_genesys_write_register (dev, REG6E, gpios[idx].r6e)); - RIE (sanei_genesys_write_register (dev, REG6F, gpios[idx].r6f)); - - RIE (sanei_genesys_write_register (dev, REGA8, gpios[idx].ra8)); - RIE (sanei_genesys_write_register (dev, REGA9, gpios[idx].ra9)); - - DBGCOMPLETED; - return status; -} - -/** - * set memory layout by filling values in dedicated registers - */ -static SANE_Status -gl846_init_memory_layout (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx = 0, i; - uint8_t val; - - DBGSTART - - /* point to per model memory layout */ - idx = 0; - while(layouts[idx].model!=NULL && strcmp(dev->model->name,layouts[idx].model)!=0) - { - if(strcmp(dev->model->name,layouts[idx].model)!=0) - idx++; - } - if(layouts[idx].model==NULL) - { - DBG(DBG_error, "%s: failed to find memory layout for model %s!\n", __func__, dev->model->name); - return SANE_STATUS_INVAL; - } - - /* CLKSET and DRAMSEL */ - val = layouts[idx].dramsel; - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg[reg_0x0b].value = val; - - /* prevent further writings by bulk write register */ - dev->reg[reg_0x0b].address = 0x00; - - /* setup base address for shading and scanned data. */ - for(i=0;i<10;i++) - { - sanei_genesys_write_register (dev, 0xe0+i, layouts[idx].rx[i]); - } - - DBGCOMPLETED; - return status; -} - -/* * - * initialize ASIC from power on condition - */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl846_boot (Genesys_Device * dev, SANE_Bool cold) -{ - SANE_Status status; - uint8_t val; - - DBGSTART; - - /* reset ASIC if cold boot */ - if(cold) - { - RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); - RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); - } - - if(dev->usb_mode == 1) - { - val = 0x14; - } - else - { - val = 0x11; - } - RIE (sanei_genesys_write_0x8c (dev, 0x0f, val)); - - /* test CHKVER */ - RIE (sanei_genesys_read_register (dev, REG40, &val)); - if (val & REG40_CHKVER) - { - RIE (sanei_genesys_read_register (dev, 0x00, &val)); - DBG (DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); - } - - /* Set default values for registers */ - gl846_init_registers (dev); - - /* Write initial registers */ - RIE (dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL846_MAX_REGS)); - - /* Enable DRAM by setting a rising edge on bit 3 of reg 0x0b */ - val = dev->reg[reg_0x0b].value & REG0B_DRAMSEL; - val = (val | REG0B_ENBDRAM); - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg[reg_0x0b].value = val; - - /* CIS_LINE */ - if (dev->model->is_cis) - { - SETREG (0x08, REG08_CIS_LINE); - RIE (sanei_genesys_write_register (dev, 0x08, dev->reg[reg_0x08].value)); - } - - /* set up clocks */ - RIE (sanei_genesys_write_0x8c (dev, 0x10, 0x0e)); - RIE (sanei_genesys_write_0x8c (dev, 0x13, 0x0e)); - - /* setup gpio */ - RIE (gl846_init_gpio (dev)); - - /* setup internal memory layout */ - RIE (gl846_init_memory_layout (dev)); - - SETREG (0xf8, 0x05); - RIE (sanei_genesys_write_register (dev, 0xf8, dev->reg[reg_0xf8].value)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * initialize backend and ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home - */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl846_init (Genesys_Device * dev) -{ - SANE_Status status; - - DBG_INIT (); - DBGSTART; - - status=sanei_genesys_asic_init(dev, GENESYS_GL846_MAX_REGS); - - DBGCOMPLETED; - return status; -} - -static SANE_Status -gl846_update_hardware_sensors (Genesys_Scanner * s) -{ - /* do what is needed to get a new set of events, but try to not lose - any of them. - */ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - uint8_t scan, file, email, copy; - switch(s->dev->model->gpo_type) - { - default: - scan=0x01; - file=0x02; - email=0x04; - copy=0x08; - } - RIE (sanei_genesys_read_register (s->dev, REG6D, &val)); - - if (s->val[OPT_SCAN_SW].b == s->last_val[OPT_SCAN_SW].b) - s->val[OPT_SCAN_SW].b = (val & scan) == 0; - if (s->val[OPT_FILE_SW].b == s->last_val[OPT_FILE_SW].b) - s->val[OPT_FILE_SW].b = (val & file) == 0; - if (s->val[OPT_EMAIL_SW].b == s->last_val[OPT_EMAIL_SW].b) - s->val[OPT_EMAIL_SW].b = (val & email) == 0; - if (s->val[OPT_COPY_SW].b == s->last_val[OPT_COPY_SW].b) - s->val[OPT_COPY_SW].b = (val & copy) == 0; - - return status; -} - -/** @brief search for a full width black or white strip. - * This function searches for a black or white stripe across the scanning area. - * When searching backward, the searched area must completely be of the desired - * color since this area will be used for calibration which scans forward. - * @param dev scanner device - * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward - * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip - * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not - */ -static SANE_Status -gl846_search_strip (Genesys_Device * dev, SANE_Bool forward, SANE_Bool black) -{ - unsigned int pixels, lines, channels; - SANE_Status status; - Genesys_Register_Set local_reg[GENESYS_GL846_MAX_REGS]; - size_t size; - uint8_t *data; - int steps, depth, dpi; - unsigned int pass, count, found, x, y; - char title[80]; - Genesys_Register_Set *r; - - DBG (DBG_proc, "gl846_search_strip %s %s\n", black ? "black" : "white", - forward ? "forward" : "reverse"); - - status = gl846_set_fe (dev, AFE_SET); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_search_strip: gl846_set_fe() failed: %s\n", - sane_strstatus(status)); - return status; - } - - status = gl846_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_search_strip: failed to stop: %s\n", - sane_strstatus (status)); - return status; - } - - /* set up for a gray scan at lowest dpi */ - dpi = 9600; - for (x = 0; x < MAX_RESOLUTIONS; x++) - { - if (dev->model->xdpi_values[x] > 0 && dev->model->xdpi_values[x] < dpi) - dpi = dev->model->xdpi_values[x]; - } - channels = 1; - /* 10 MM */ - /* lines = (10 * dpi) / MM_PER_INCH; */ - /* shading calibation is done with dev->motor.base_ydpi */ - lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; - depth = 8; - pixels = (dev->sensor.sensor_pixels * dpi) / dev->sensor.optical_res; - size = pixels * channels * lines * (depth / 8); - data = malloc (size); - if (!data) - { - DBG (DBG_error, "gl846_search_strip: failed to allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - dev->scanhead_position_in_steps = 0; - - memcpy (local_reg, dev->reg, - GENESYS_GL846_MAX_REGS * sizeof (Genesys_Register_Set)); - - status = gl846_init_scan_regs (dev, - local_reg, - dpi, - dpi, - 0, - 0, - pixels, - lines, - depth, - channels, - 0, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA); - if (status != SANE_STATUS_GOOD) - { - free(data); - DBG (DBG_error, - "gl846_search_strip: failed to setup for scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* set up for reverse or forward */ - r = sanei_genesys_get_address (local_reg, REG02); - if (forward) - r->value &= ~REG02_MTRREV; - else - r->value |= REG02_MTRREV; - - - status = dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL846_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - free(data); - DBG (DBG_error, - "gl846_search_strip: Failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl846_begin_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl846_search_strip: failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data, size); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl846_search_start_position: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl846_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, "gl846_search_strip: gl846_stop_action failed\n"); - return status; - } - - pass = 0; - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "search_strip_%s_%s%02d.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); - sanei_genesys_write_pnm_file (title, data, depth, channels, pixels, - lines); - } - - /* loop until strip is found or maximum pass number done */ - found = 0; - while (pass < 20 && !found) - { - status = dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL846_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_search_strip: Failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - /* now start scan */ - status = gl846_begin_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl846_search_strip: failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data, size); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl846_search_start_position: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl846_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, "gl846_search_strip: gl846_stop_action failed\n"); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "search_strip_%s_%s%02d.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); - sanei_genesys_write_pnm_file (title, data, depth, channels, - pixels, lines); - } - - /* search data to find black strip */ - /* when searching forward, we only need one line of the searched color since we - * will scan forward. But when doing backward search, we need all the area of the - * same color */ - if (forward) - { - for (y = 0; y < lines && !found; y++) - { - count = 0; - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < 60) - { - count++; - } - } - - /* at end of line, if count >= 3%, line is not fully of the desired color - * so we must go to next line of the buffer */ - /* count*100/pixels < 3 */ - if ((count * 100) / pixels < 3) - { - found = 1; - DBG (DBG_data, - "gl846_search_strip: strip found forward during pass %d at line %d\n", - pass, y); - } - else - { - DBG (DBG_data, - "gl846_search_strip: pixels=%d, count=%d (%d%%)\n", - pixels, count, (100 * count) / pixels); - } - } - } - else /* since calibration scans are done forward, we need the whole area - to be of the required color when searching backward */ - { - count = 0; - for (y = 0; y < lines; y++) - { - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < 60) - { - count++; - } - } - } - - /* at end of area, if count >= 3%, area is not fully of the desired color - * so we must go to next buffer */ - if ((count * 100) / (pixels * lines) < 3) - { - found = 1; - DBG (DBG_data, - "gl846_search_strip: strip found backward during pass %d \n", - pass); - } - else - { - DBG (DBG_data, - "gl846_search_strip: pixels=%d, count=%d (%d%%)\n", - pixels, count, (100 * count) / pixels); - } - } - pass++; - } - free (data); - if (found) - { - status = SANE_STATUS_GOOD; - DBG (DBG_info, "gl846_search_strip: %s strip found\n", - black ? "black" : "white"); - } - else - { - status = SANE_STATUS_UNSUPPORTED; - DBG (DBG_info, "gl846_search_strip: %s strip not found\n", - black ? "black" : "white"); - } - - DBGCOMPLETED; - return status; -} - -/** - * average dark pixels of a 8 bits scan - */ -static int -dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, - unsigned int channels, unsigned int black) -{ - unsigned int i, j, k, average, count; - unsigned int avg[3]; - uint8_t val; - - /* computes average value on black margin */ - for (k = 0; k < channels; k++) - { - avg[k] = 0; - count = 0; - for (i = 0; i < lines; i++) - { - for (j = 0; j < black; j++) - { - val = data[i * channels * pixels + j + k]; - avg[k] += val; - count++; - } - } - if (count) - avg[k] /= count; - DBG (DBG_info, "dark_average: avg[%d] = %d\n", k, avg[k]); - } - average = 0; - for (i = 0; i < channels; i++) - average += avg[i]; - average /= channels; - DBG (DBG_info, "dark_average: average = %d\n", average); - return average; -} - -static SANE_Status -gl846_offset_calibration (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t *first_line, *second_line, reg04; - unsigned int channels, bpp; - char title[32]; - int pass = 0, avg, total_size; - int topavg, bottomavg, resolution, lines; - int top, bottom, black_pixels, pixels; - - DBGSTART; - - /* no gain nor offset for AKM AFE */ - RIE (sanei_genesys_read_register (dev, REG04, ®04)); - if ((reg04 & REG04_FESET) == 0x02) - { - DBGCOMPLETED; - return status; - } - - /* offset calibration is always done in color mode */ - channels = 3; - resolution=dev->sensor.optical_res; - dev->calib_pixels = dev->sensor.sensor_pixels; - lines=1; - bpp=8; - pixels= (dev->sensor.sensor_pixels*resolution) / dev->sensor.optical_res; - black_pixels = (dev->sensor.black_pixels * resolution) / dev->sensor.optical_res; - DBG (DBG_io2, "gl846_offset_calibration: black_pixels=%d\n", black_pixels); - - status = gl846_init_scan_regs (dev, - dev->calib_reg, - resolution, - resolution, - 0, - 0, - pixels, - lines, - bpp, - channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_offset_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - gl846_set_motor_power (dev->calib_reg, SANE_FALSE); - - /* allocate memory for scans */ - total_size = pixels * channels * lines * (bpp/8); /* colors * bytes_per_color * scan lines */ - - first_line = malloc (total_size); - if (!first_line) - return SANE_STATUS_NO_MEM; - - second_line = malloc (total_size); - if (!second_line) - { - free (first_line); - return SANE_STATUS_NO_MEM; - } - - /* init gain */ - dev->frontend.gain[0] = 0; - dev->frontend.gain[1] = 0; - dev->frontend.gain[2] = 0; - - /* scan with no move */ - bottom = 10; - dev->frontend.offset[0] = bottom; - dev->frontend.offset[1] = bottom; - dev->frontend.offset[2] = bottom; - - RIEF2 (gl846_set_fe(dev, AFE_SET), first_line, second_line); - RIEF2 (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL846_MAX_REGS), first_line, second_line); - DBG (DBG_info, "gl846_offset_calibration: starting first line reading\n"); - RIEF2 (gl846_begin_scan (dev, dev->calib_reg, SANE_TRUE), first_line, second_line); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, first_line, total_size), first_line, second_line); - if (DBG_LEVEL >= DBG_data) - { - snprintf(title,20,"offset%03d.pnm",bottom); - sanei_genesys_write_pnm_file (title, first_line, bpp, channels, pixels, lines); - } - - bottomavg = dark_average (first_line, pixels, lines, channels, black_pixels); - DBG (DBG_io2, "gl846_offset_calibration: bottom avg=%d\n", bottomavg); - - /* now top value */ - top = 255; - dev->frontend.offset[0] = top; - dev->frontend.offset[1] = top; - dev->frontend.offset[2] = top; - RIEF2 (gl846_set_fe(dev, AFE_SET), first_line, second_line); - RIEF2 (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL846_MAX_REGS), first_line, second_line); - DBG (DBG_info, "gl846_offset_calibration: starting second line reading\n"); - RIEF2 (gl846_begin_scan (dev, dev->calib_reg, SANE_TRUE), first_line, second_line); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, second_line, total_size), first_line, second_line); - - topavg = dark_average (second_line, pixels, lines, channels, black_pixels); - DBG (DBG_io2, "gl846_offset_calibration: top avg=%d\n", topavg); - - /* loop until acceptable level */ - while ((pass < 32) && (top - bottom > 1)) - { - pass++; - - /* settings for new scan */ - dev->frontend.offset[0] = (top + bottom) / 2; - dev->frontend.offset[1] = (top + bottom) / 2; - dev->frontend.offset[2] = (top + bottom) / 2; - - /* scan with no move */ - RIEF2 (gl846_set_fe(dev, AFE_SET), first_line, second_line); - RIEF2 (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL846_MAX_REGS), first_line, second_line); - DBG (DBG_info, "gl846_offset_calibration: starting second line reading\n"); - RIEF2 (gl846_begin_scan (dev, dev->calib_reg, SANE_TRUE), first_line, second_line); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, second_line, total_size), first_line, second_line); - - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "offset%03d.pnm", dev->frontend.offset[1]); - sanei_genesys_write_pnm_file (title, second_line, bpp, channels, pixels, lines); - } - - avg = dark_average (second_line, pixels, lines, channels, black_pixels); - DBG (DBG_info, "gl846_offset_calibration: avg=%d offset=%d\n", avg, - dev->frontend.offset[1]); - - /* compute new boundaries */ - if (topavg == avg) - { - topavg = avg; - top = dev->frontend.offset[1]; - } - else - { - bottomavg = avg; - bottom = dev->frontend.offset[1]; - } - } - DBG (DBG_info, "gl846_offset_calibration: offset=(%d,%d,%d)\n", dev->frontend.offset[0], dev->frontend.offset[1], dev->frontend.offset[2]); - - /* cleanup before return */ - free (first_line); - free (second_line); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl846_coarse_gain_calibration (Genesys_Device * dev, int dpi) -{ - int pixels; - int total_size; - uint8_t *line, reg04; - int i, j, channels; - SANE_Status status = SANE_STATUS_GOOD; - int max[3]; - float gain[3],coeff; - int val, code, lines; - int resolution; - int bpp; - - DBG (DBG_proc, "gl846_coarse_gain_calibration: dpi = %d\n", dpi); - - /* no gain nor offset for AKM AFE */ - RIE (sanei_genesys_read_register (dev, REG04, ®04)); - if ((reg04 & REG04_FESET) == 0x02) - { - DBGCOMPLETED; - return status; - } - - /* coarse gain calibration is always done in color mode */ - channels = 3; - - /* follow CKSEL */ - if(dev->settings.xressensor.optical_res) - { - coeff=0.9; - /*resolution=dev->sensor.optical_res/2;*/ - resolution=dev->sensor.optical_res; - } - else - { - resolution=dev->sensor.optical_res; - coeff=1.0; - } - lines=10; - bpp=8; - pixels = (dev->sensor.sensor_pixels * resolution) / dev->sensor.optical_res; - - status = gl846_init_scan_regs (dev, - dev->calib_reg, - resolution, - resolution, - 0, - 0, - pixels, - lines, - bpp, - channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - gl846_set_motor_power (dev->calib_reg, SANE_FALSE); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl846_coarse_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - RIE (dev->model->cmd_set->bulk_write_register - (dev, dev->calib_reg, GENESYS_GL846_MAX_REGS)); - - total_size = pixels * channels * (16/bpp) * lines; - - line = malloc (total_size); - if (!line) - return SANE_STATUS_NO_MEM; - - RIEF (gl846_set_fe(dev, AFE_SET), line); - RIEF (gl846_begin_scan (dev, dev->calib_reg, SANE_TRUE), line); - RIEF (sanei_genesys_read_data_from_scanner (dev, line, total_size), line); - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("coarse.pnm", line, bpp, channels, pixels, lines); - - /* average value on each channel */ - for (j = 0; j < channels; j++) - { - max[j] = 0; - for (i = pixels/4; i < (pixels*3/4); i++) - { - if (dev->model->is_cis) - val = line[i + j * pixels]; - else - val = line[i * channels + j]; - - max[j] += val; - } - max[j] = max[j] / (pixels/2); - - gain[j] = ((float) dev->sensor.gain_white_ref*coeff) / max[j]; - - /* turn logical gain value into gain code, checking for overflow */ - code = 283 - 208 / gain[j]; - if (code > 255) - code = 255; - else if (code < 0) - code = 0; - dev->frontend.gain[j] = code; - - DBG (DBG_proc, - "gl846_coarse_gain_calibration: channel %d, max=%d, gain = %f, setting:%d\n", - j, max[j], gain[j], dev->frontend.gain[j]); - } - - if (dev->model->is_cis) - { - if (dev->frontend.gain[0] > dev->frontend.gain[1]) - dev->frontend.gain[0] = dev->frontend.gain[1]; - if (dev->frontend.gain[0] > dev->frontend.gain[2]) - dev->frontend.gain[0] = dev->frontend.gain[2]; - dev->frontend.gain[2] = dev->frontend.gain[1] = dev->frontend.gain[0]; - } - - free (line); - - RIE (gl846_stop_action (dev)); - - status=gl846_slow_back_home (dev, SANE_TRUE); - - DBGCOMPLETED; - return status; -} - - -/** the gl846 command set */ -static Genesys_Command_Set gl846_cmd_set = { - "gl846-generic", /* the name of this set */ - - gl846_init, - NULL, - gl846_init_regs_for_coarse_calibration, - gl846_init_regs_for_shading, - gl846_init_regs_for_scan, - - gl846_get_filter_bit, - gl846_get_lineart_bit, - gl846_get_bitset_bit, - gl846_get_gain4_bit, - gl846_get_fast_feed_bit, - gl846_test_buffer_empty_bit, - gl846_test_motor_flag_bit, - - gl846_bulk_full_size, - - gl846_set_fe, - gl846_set_powersaving, - gl846_save_power, - - gl846_set_motor_power, - gl846_set_lamp_power, - - gl846_begin_scan, - gl846_end_scan, - - sanei_genesys_send_gamma_table, - - gl846_search_start_position, - - gl846_offset_calibration, - gl846_coarse_gain_calibration, - gl846_led_calibration, - - gl846_slow_back_home, - NULL, - - sanei_genesys_bulk_write_register, - NULL, - gl846_bulk_read_data, - - gl846_update_hardware_sensors, - - NULL, - NULL, - NULL, - gl846_search_strip, - - sanei_genesys_is_compatible_calibration, - NULL, - gl846_send_shading_data, - gl846_calculate_current_setup, - gl846_boot, - NULL -}; - -SANE_Status -sanei_gl846_init_cmd_set (Genesys_Device * dev) -{ - dev->model->cmd_set = &gl846_cmd_set; - return SANE_STATUS_GOOD; -} - -/* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/genesys_gl846.cc b/backend/genesys_gl846.cc new file mode 100644 index 0000000..c5294b8 --- /dev/null +++ b/backend/genesys_gl846.cc @@ -0,0 +1,3393 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2012-2013 Stéphane Voltz + + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +/** @file + * + * This file handles GL846 and GL845 ASICs since they are really close to each other. + */ + +#define DEBUG_DECLARE_ONLY + +#include "genesys_gl846.h" + +#include + +/**************************************************************************** + Mid level functions + ****************************************************************************/ + +static SANE_Bool +gl846_get_fast_feed_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, REG02); + if (r && (r->value & REG02_FASTFED)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl846_get_filter_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, REG04); + if (r && (r->value & REG04_FILTER)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl846_get_lineart_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, REG04); + if (r && (r->value & REG04_LINEART)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl846_get_bitset_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, REG04); + if (r && (r->value & REG04_BITSET)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl846_get_gain4_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, 0x06); + if (r && (r->value & REG06_GAIN4)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl846_test_buffer_empty_bit (SANE_Byte val) +{ + if (val & REG41_BUFEMPTY) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl846_test_motor_flag_bit (SANE_Byte val) +{ + if (val & REG41_MOTORENB) + return SANE_TRUE; + return SANE_FALSE; +} + +/** + * compute the step multiplier used + */ +static int +gl846_get_step_multiplier (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + int value = 1; + + r = sanei_genesys_get_address (regs, 0x9d); + if (r != NULL) + { + value = (r->value & 0x0f)>>1; + value = 1 << value; + } + DBG (DBG_io, "%s: step multiplier is %d\n", __func__, value); + return value; +} + +/** @brief sensor profile + * search for the database of motor profiles and get the best one. Each + * profile is at a specific dpihw. Use LiDE 110 table by default. + * @param sensor_type sensor id + * @param dpi hardware dpi for the scan + * @return a pointer to a Sensor_Profile struct + */ +static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi) +{ + unsigned int i; + int idx; + + i=0; + idx=-1; + while(i=dpi + && sensors[i].dpimodel->ccd_type, xres); + return sensor_profile->exposure; +} + + +/** @brief sensor specific settings +*/ +static void gl846_setup_sensor(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set * regs, int dpi) +{ + GenesysRegister *r; + int dpihw; + uint16_t exp; + + DBGSTART; + dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpi); + + for (uint16_t addr = 0x16; addr < 0x1e; addr++) { + regs->set8(addr, sensor.custom_regs.get_value(addr)); + } + + for (uint16_t addr = 0x52; addr < 0x52 + 9; addr++) { + regs->set8(addr, sensor.custom_regs.get_value(addr)); + } + + /* set EXPDUMMY and CKxMAP */ + dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpi); + Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw); + + sanei_genesys_set_reg_from_set(regs,REG_EXPDMY,(uint8_t)((sensor_profile->expdummy) & 0xff)); + + /* if no calibration has been done, set default values for exposures */ + exp = sensor.exposure.red; + if(exp==0) + { + exp=sensor_profile->expr; + } + sanei_genesys_set_double(regs,REG_EXPR,exp); + + exp = sensor.exposure.green; + if(exp==0) + { + exp=sensor_profile->expg; + } + sanei_genesys_set_double(regs,REG_EXPG,exp); + + exp = sensor.exposure.blue; + if(exp==0) + { + exp=sensor_profile->expb; + } + sanei_genesys_set_double(regs,REG_EXPB,exp); + + sanei_genesys_set_triple(regs,REG_CK1MAP,sensor_profile->ck1map); + sanei_genesys_set_triple(regs,REG_CK3MAP,sensor_profile->ck3map); + sanei_genesys_set_triple(regs,REG_CK4MAP,sensor_profile->ck4map); + + /* order of the sub-segments */ + dev->order=sensor_profile->order; + + r = sanei_genesys_get_address (regs, 0x17); + r->value = sensor_profile->r17; + + DBGCOMPLETED; +} + + +/** @brief set all registers to default values . + * This function is called only once at the beginning and + * fills register startup values for registers reused across scans. + * Those that are rarely modified or not modified are written + * individually. + * @param dev device structure holding register set to initialize + */ +static void +gl846_init_registers (Genesys_Device * dev) +{ + DBGSTART; + + dev->reg.clear(); + + SETREG (0x01,0x60); + SETREG (0x02,0x38); + SETREG (0x03,0x03); + SETREG (0x04,0x22); + SETREG (0x05,0x60); + SETREG (0x06,0x10); + SETREG (0x08,0x60); + SETREG (0x09,0x00); + SETREG (0x0a,0x00); + SETREG (0x0b,0x8b); + SETREG (0x0c,0x00); + SETREG (0x0d,0x00); + SETREG (0x10,0x00); + SETREG (0x11,0x00); + SETREG (0x12,0x00); + SETREG (0x13,0x00); + SETREG (0x14,0x00); + SETREG (0x15,0x00); + SETREG (0x16,0xbb); + SETREG (0x17,0x13); + SETREG (0x18,0x10); + SETREG (0x19,0x2a); + SETREG (0x1a,0x34); + SETREG (0x1b,0x00); + SETREG (0x1c,0x20); + SETREG (0x1d,0x06); + SETREG (0x1e,0xf0); + SETREG (0x1f,0x01); + SETREG (0x20,0x03); + SETREG (0x21,0x10); + SETREG (0x22,0x60); + SETREG (0x23,0x60); + SETREG (0x24,0x60); + SETREG (0x25,0x00); + SETREG (0x26,0x00); + SETREG (0x27,0x00); + SETREG (0x2c,0x00); + SETREG (0x2d,0x00); + SETREG (0x2e,0x80); + SETREG (0x2f,0x80); + SETREG (0x30,0x00); + SETREG (0x31,0x00); + SETREG (0x32,0x00); + SETREG (0x33,0x00); + SETREG (0x34,0x1f); + SETREG (0x35,0x00); + SETREG (0x36,0x40); + SETREG (0x37,0x00); + SETREG (0x38,0x2a); + SETREG (0x39,0xf8); + SETREG (0x3d,0x00); + SETREG (0x3e,0x00); + SETREG (0x3f,0x01); + SETREG (0x52,0x02); + SETREG (0x53,0x04); + SETREG (0x54,0x06); + SETREG (0x55,0x08); + SETREG (0x56,0x0a); + SETREG (0x57,0x00); + SETREG (0x58,0x59); + SETREG (0x59,0x31); + SETREG (0x5a,0x40); + SETREG (0x5e,0x1f); + SETREG (0x5f,0x01); + SETREG (0x60,0x00); + SETREG (0x61,0x00); + SETREG (0x62,0x00); + SETREG (0x63,0x00); + SETREG (0x64,0x00); + SETREG (0x65,0x00); + SETREG (0x67,0x7f); + SETREG (0x68,0x7f); + SETREG (0x69,0x01); + SETREG (0x6a,0x01); + SETREG (0x70,0x01); + SETREG (0x71,0x00); + SETREG (0x72,0x02); + SETREG (0x73,0x01); + SETREG (0x74,0x00); + SETREG (0x75,0x00); + SETREG (0x76,0x00); + SETREG (0x77,0x00); + SETREG (0x78,0x00); + SETREG (0x79,0x3f); + SETREG (0x7a,0x00); + SETREG (0x7b,0x09); + SETREG (0x7c,0x99); + SETREG (0x7d,0x20); + SETREG (0x7f,0x05); + SETREG (0x80,0x4f); + SETREG (0x87,0x02); + SETREG (0x94,0xff); + SETREG (0x9d,0x04); + SETREG (0x9e,0x00); + SETREG (0xa1,0xe0); + SETREG (0xa2,0x1f); + SETREG (0xab,0xc0); + SETREG (0xbb,0x00); + SETREG (0xbc,0x0f); + SETREG (0xdb,0xff); + SETREG (0xfe,0x08); + SETREG (0xff,0x02); + SETREG (0x98,0x20); + SETREG (0x99,0x00); + SETREG (0x9a,0x90); + SETREG (0x9b,0x00); + SETREG (0xf8,0x05); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + /* fine tune upon device description */ + dev->reg.find_reg(0x05).value &= ~REG05_DPIHW; + switch (sensor.optical_res) + { + case 600: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_600; + break; + case 1200: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_1200; + break; + case 2400: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; + break; + case 4800: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_4800; + break; + } + + /* initalize calibration reg */ + dev->calib_reg = dev->reg; + + DBGCOMPLETED; +} + +/**@brief send slope table for motor movement + * Send slope_table in machine byte order + * @param dev device to send slope table + * @param table_nr index of the slope table in ASIC memory + * Must be in the [0-4] range. + * @param slope_table pointer to 16 bit values array of the slope table + * @param steps number of elements in the slope table + */ +static SANE_Status +gl846_send_slope_table (Genesys_Device * dev, int table_nr, + uint16_t * slope_table, int steps) +{ + SANE_Status status = SANE_STATUS_GOOD; + int i; + char msg[10000]; + + DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, + table_nr, steps); + + /* sanity check */ + if(table_nr<0 || table_nr>4) + { + DBG (DBG_error, "%s: invalid table number %d!\n", __func__, table_nr); + return SANE_STATUS_INVAL; + } + + std::vector table(steps * 2); + for (i = 0; i < steps; i++) + { + table[i * 2] = slope_table[i] & 0xff; + table[i * 2 + 1] = slope_table[i] >> 8; + } + + if (DBG_LEVEL >= DBG_io) + { + sprintf (msg, "write slope %d (%d)=", table_nr, steps); + for (i = 0; i < steps; i++) + { + sprintf (msg+strlen(msg), "%d", slope_table[i]); + } + DBG (DBG_io, "%s: %s\n", __func__, msg); + } + + /* slope table addresses are fixed */ + status = sanei_genesys_write_ahb(dev, 0x10000000 + 0x4000 * table_nr, steps * 2, table.data()); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: write to AHB failed writing slope table %d (%s)\n", __func__, table_nr, + sane_strstatus(status)); + } + + DBGCOMPLETED; + return status; +} + +/** + * Set register values of Analog Device type frontend + * */ +static SANE_Status +gl846_set_adi_fe (Genesys_Device * dev, uint8_t set) +{ + SANE_Status status = SANE_STATUS_GOOD; + int i; + uint8_t val8; + + DBGSTART; + + /* wait for FE to be ready */ + status = sanei_genesys_get_status (dev, &val8); + while (val8 & REG41_FEBUSY) + { + sanei_genesys_sleep_ms(10); + status = sanei_genesys_get_status (dev, &val8); + }; + + if (set == AFE_INIT) + { + DBG (DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); + dev->frontend = dev->frontend_initial; + } + + /* write them to analog frontend */ + status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to write reg0: %s\n", __func__, + sane_strstatus (status)); + return status; + } + status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to write reg1: %s\n", __func__, + sane_strstatus (status)); + return status; + } + + for (i = 0; i < 3; i++) + { + status = sanei_genesys_fe_write_data(dev, 0x02 + i, dev->frontend.get_gain(i)); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "%s: failed to write gain %d: %s\n", __func__, i, + sane_strstatus (status)); + return status; + } + } + for (i = 0; i < 3; i++) + { + status = sanei_genesys_fe_write_data(dev, 0x05 + i, dev->frontend.get_offset(i)); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "%s: failed to write offset %d: %s\n", __func__, i, + sane_strstatus (status)); + return status; + } + } + + DBGCOMPLETED; + return status; +} + +static SANE_Status +gl846_homsnr_gpio(Genesys_Device *dev) +{ +uint8_t val; +SANE_Status status=SANE_STATUS_GOOD; + + RIE (sanei_genesys_read_register (dev, REG6C, &val)); + val |= 0x41; + RIE (sanei_genesys_write_register (dev, REG6C, val)); + + return status; +} + +/* Set values of analog frontend */ +static SANE_Status +gl846_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set) +{ + (void) sensor; + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s (%s)\n", __func__, set == AFE_INIT ? "init" : set == AFE_SET ? "set" : + set == AFE_POWER_SAVE ? "powersave" : "huh?"); + + /* route to specific analog frontend setup */ + switch (dev->reg.find_reg(0x04).value & REG04_FESET) + { + case 0x02: /* ADI FE */ + status = gl846_set_adi_fe(dev, set); + break; + default: + DBG(DBG_proc, "%s(): unsupported frontend type %d\n", __func__, + dev->reg.find_reg(0x04).value & REG04_FESET); + status = SANE_STATUS_UNSUPPORTED; + } + + DBGCOMPLETED; + return status; +} + + +/** @brief set up motor related register for scan + */ +static SANE_Status +gl846_init_motor_regs_scan (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, + unsigned int scan_exposure_time, + float scan_yres, + int scan_step_type, + unsigned int scan_lines, + unsigned int scan_dummy, + unsigned int feed_steps, + int scan_power_mode, + unsigned int flags) +{ + SANE_Status status = SANE_STATUS_GOOD; + int use_fast_fed; + unsigned int fast_dpi; + uint16_t scan_table[SLOPE_TABLE_SIZE]; + uint16_t fast_table[SLOPE_TABLE_SIZE]; + int scan_steps, fast_steps, factor; + unsigned int feedl, dist; + GenesysRegister *r; + uint32_t z1, z2; + unsigned int min_restep = 0x20; + uint8_t val; + int fast_step_type; + unsigned int ccdlmt,tgtime; + + DBGSTART; + DBG(DBG_proc, "%s : scan_exposure_time=%d, scan_yres=%g, scan_step_type=%d, scan_lines=%d, " + "scan_dummy=%d, feed_steps=%d, scan_power_mode=%d, flags=%x\n", __func__, scan_exposure_time, + scan_yres, scan_step_type, scan_lines, scan_dummy, feed_steps, scan_power_mode, flags); + + /* get step multiplier */ + factor = gl846_get_step_multiplier (reg); + + use_fast_fed=0; + /* no fast fed since feed works well */ + if(dev->settings.yres==4444 && feed_steps>100 + && ((flags & MOTOR_FLAG_FEED)==0)) + { + use_fast_fed=1; + } + DBG (DBG_io, "%s: use_fast_fed=%d\n", __func__, use_fast_fed); + + sanei_genesys_set_triple(reg, REG_LINCNT, scan_lines); + DBG (DBG_io, "%s: lincnt=%d\n", __func__, scan_lines); + + /* compute register 02 value */ + r = sanei_genesys_get_address (reg, REG02); + r->value = 0x00; + sanei_genesys_set_motor_power(*reg, true); + + if (use_fast_fed) + r->value |= REG02_FASTFED; + else + r->value &= ~REG02_FASTFED; + + if (flags & MOTOR_FLAG_AUTO_GO_HOME) + r->value |= REG02_AGOHOME | REG02_NOTHOME; + + if ((flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) + ||(scan_yres>=sensor.optical_res)) + { + r->value |= REG02_ACDCDIS; + } + + /* scan and backtracking slope table */ + sanei_genesys_slope_table(scan_table, + &scan_steps, + scan_yres, + scan_exposure_time, + dev->motor.base_ydpi, + scan_step_type, + factor, + dev->model->motor_type, + gl846_motors); + RIE(gl846_send_slope_table (dev, SCAN_TABLE, scan_table, scan_steps*factor)); + RIE(gl846_send_slope_table (dev, BACKTRACK_TABLE, scan_table, scan_steps*factor)); + + /* fast table */ + fast_dpi=sanei_genesys_get_lowest_ydpi(dev); + fast_step_type=scan_step_type; + if(scan_step_type>=2) + { + fast_step_type=2; + } + + sanei_genesys_slope_table(fast_table, + &fast_steps, + fast_dpi, + scan_exposure_time, + dev->motor.base_ydpi, + fast_step_type, + factor, + dev->model->motor_type, + gl846_motors); + + /* manual override of high start value */ + fast_table[0]=fast_table[1]; + + RIE(gl846_send_slope_table (dev, STOP_TABLE, fast_table, fast_steps*factor)); + RIE(gl846_send_slope_table (dev, FAST_TABLE, fast_table, fast_steps*factor)); + RIE(gl846_send_slope_table (dev, HOME_TABLE, fast_table, fast_steps*factor)); + + /* correct move distance by acceleration and deceleration amounts */ + feedl=feed_steps; + if (use_fast_fed) + { + feedl<<=fast_step_type; + dist=(scan_steps+2*fast_steps)*factor; + /* TODO read and decode REGAB */ + r = sanei_genesys_get_address (reg, 0x5e); + dist += (r->value & 31); + /* FEDCNT */ + r = sanei_genesys_get_address (reg, REG_FEDCNT); + dist += r->value; + } + else + { + feedl<<=scan_step_type; + dist=scan_steps*factor; + if (flags & MOTOR_FLAG_FEED) + dist *=2; + } + DBG (DBG_io2, "%s: scan steps=%d\n", __func__, scan_steps); + DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); + + /* check for overflow */ + if(distvalue & REG0C_CCDLMT)+1; + + r = sanei_genesys_get_address (reg, REG1C); + tgtime=1<<(r->value & REG1C_TGTIME); + + /* hi res motor speed GPIO */ + /* + RIE (sanei_genesys_read_register (dev, REG6C, &effective)); + */ + + /* if quarter step, bipolar Vref2 */ + /* XXX STEF XXX GPIO + if (scan_step_type > 1) + { + if (scan_step_type < 3) + { + val = effective & ~REG6C_GPIO13; + } + else + { + val = effective | REG6C_GPIO13; + } + } + else + { + val = effective; + } + RIE (sanei_genesys_write_register (dev, REG6C, val)); + */ + + /* effective scan */ + /* + RIE (sanei_genesys_read_register (dev, REG6C, &effective)); + val = effective | REG6C_GPIO10; + RIE (sanei_genesys_write_register (dev, REG6C, val)); + */ + + if(dev->model->gpo_type==GPO_IMG101) + { + if(scan_yres==sanei_genesys_compute_dpihw(dev, sensor,scan_yres)) + { + val=1; + } + else + { + val=0; + } + RIE (sanei_genesys_write_register (dev, REG7E, val)); + } + + min_restep=scan_steps/2-1; + if (min_restep < 1) + min_restep = 1; + r = sanei_genesys_get_address (reg, REG_FWDSTEP); + r->value = min_restep; + r = sanei_genesys_get_address (reg, REG_BWDSTEP); + r->value = min_restep; + + sanei_genesys_calculate_zmode2(use_fast_fed, + scan_exposure_time*ccdlmt*tgtime, + scan_table, + scan_steps*factor, + feedl, + min_restep*factor, + &z1, + &z2); + + DBG(DBG_info, "%s: z1 = %d\n", __func__, z1); + sanei_genesys_set_triple(reg, REG60, z1 | (scan_step_type << (16+REG60S_STEPSEL))); + + DBG(DBG_info, "%s: z2 = %d\n", __func__, z2); + sanei_genesys_set_triple(reg, REG63, z2 | (scan_step_type << (16+REG63S_FSTPSEL))); + + r = sanei_genesys_get_address (reg, 0x1e); + r->value &= 0xf0; /* 0 dummy lines */ + r->value |= scan_dummy; /* dummy lines */ + + r = sanei_genesys_get_address (reg, REG67); + r->value = 0x7f; + + r = sanei_genesys_get_address (reg, REG68); + r->value = 0x7f; + + r = sanei_genesys_get_address (reg, REG_STEPNO); + r->value = scan_steps; + + r = sanei_genesys_get_address (reg, REG_FASTNO); + r->value = scan_steps; + + r = sanei_genesys_get_address (reg, REG_FSHDEC); + r->value = scan_steps; + + r = sanei_genesys_get_address (reg, REG_FMOVNO); + r->value = fast_steps; + + r = sanei_genesys_get_address (reg, REG_FMOVDEC); + r->value = fast_steps; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/** @brief set up registers related to sensor + * Set up the following registers + 0x01 + 0x03 + 0x10-0x015 R/G/B exposures + 0x19 EXPDMY + 0x2e BWHI + 0x2f BWLO + 0x04 + 0x87 + 0x05 + 0x2c,0x2d DPISET + 0x30,0x31 STRPIXEL + 0x32,0x33 ENDPIXEL + 0x35,0x36,0x37 MAXWD [25:2] (>>2) + 0x38,0x39 LPERIOD + 0x34 DUMMY + */ +static SANE_Status +gl846_init_optical_regs_scan (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, + unsigned int exposure_time, + int used_res, + unsigned int start, + unsigned int pixels, + int channels, + int depth, + SANE_Bool half_ccd, ColorFilter color_filter, int flags) +{ + unsigned int words_per_line; + unsigned int startx, endx, used_pixels; + unsigned int dpiset, dpihw,segnb,cksel,factor; + unsigned int bytes; + GenesysRegister *r; + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s : exposure_time=%d, used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " + "half_ccd=%d, flags=%x\n", __func__, exposure_time, used_res, start, pixels, channels, depth, + half_ccd, flags); + + /* resolution is divided according to CKSEL */ + r = sanei_genesys_get_address (reg, REG18); + cksel= (r->value & REG18_CKSEL)+1; + DBG(DBG_io2, "%s: cksel=%d\n", __func__, cksel); + + /* to manage high resolution device while keeping good + * low resolution scanning speed, we make hardware dpi vary */ + dpihw=sanei_genesys_compute_dpihw(dev, sensor, used_res * cksel); + factor=sensor.optical_res/dpihw; + DBG(DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); + + /* sensor parameters */ + Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw); + gl846_setup_sensor(dev, sensor, reg, dpihw); + dpiset = used_res * cksel; + + /* start and end coordinate in optical dpi coordinates */ + startx = start/cksel+sensor.CCD_start_xoffset; + used_pixels=pixels/cksel; + + /* end of sensor window */ + endx = startx + used_pixels; + + /* sensors are built from 600 dpi segments for LiDE 100/200 + * and 1200 dpi for the 700F */ + if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR) + { + segnb=dpihw/600; + } + else + { + segnb=1; + } + + /* compute pixel coordinate in the given dpihw space, + * taking segments into account */ + startx/=factor*segnb; + endx/=factor*segnb; + dev->len=endx-startx; + dev->dist=0; + dev->skip=0; + + /* in cas of multi-segments sensor, we have to add the witdh + * of the sensor crossed by the scan area */ + if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR && segnb>1) + { + dev->dist = sensor_profile->segcnt; + } + + /* use a segcnt rounded to next even number */ + endx += ((dev->dist+1)&0xfffe)*(segnb-1); + used_pixels=endx-startx; + + status = gl846_set_fe(dev, sensor, AFE_SET); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* enable shading */ + r = sanei_genesys_get_address (reg, REG01); + r->value &= ~REG01_SCAN; + r->value |= REG01_SHDAREA; + if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || + (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) + { + r->value &= ~REG01_DVDSET; + } + else + { + r->value |= REG01_DVDSET; + } + + r = sanei_genesys_get_address (reg, REG03); + r->value &= ~REG03_AVEENB; + + sanei_genesys_set_lamp_power(dev, sensor, *reg, !(flags & OPTICAL_FLAG_DISABLE_LAMP)); + + /* BW threshold */ + r = sanei_genesys_get_address (reg, 0x2e); + r->value = dev->settings.threshold; + r = sanei_genesys_get_address (reg, 0x2f); + r->value = dev->settings.threshold; + + /* monochrome / color scan */ + r = sanei_genesys_get_address (reg, REG04); + switch (depth) + { + case 1: + r->value &= ~REG04_BITSET; + r->value |= REG04_LINEART; + break; + case 8: + r->value &= ~(REG04_LINEART | REG04_BITSET); + break; + case 16: + r->value &= ~REG04_LINEART; + r->value |= REG04_BITSET; + break; + } + + r->value &= ~(REG04_FILTER | REG04_AFEMOD); + if (channels == 1) + { + switch (color_filter) + { + case ColorFilter::RED: + r->value |= 0x24; + break; + case ColorFilter::BLUE: + r->value |= 0x2c; + break; + case ColorFilter::GREEN: + r->value |= 0x28; + break; + default: + break; // should not happen + } + } + else + r->value |= 0x20; /* mono */ + + /* register 05 */ + r = sanei_genesys_get_address (reg, REG05); + + /* set up dpihw */ + r->value &= ~REG05_DPIHW; + switch(dpihw) + { + case 600: + r->value |= REG05_DPIHW_600; + break; + case 1200: + r->value |= REG05_DPIHW_1200; + break; + case 2400: + r->value |= REG05_DPIHW_2400; + break; + case 4800: + r->value |= REG05_DPIHW_4800; + break; + } + + /* enable gamma tables */ + if (flags & OPTICAL_FLAG_DISABLE_GAMMA) + r->value &= ~REG05_GMMENB; + else + r->value |= REG05_GMMENB; + + /* CIS scanners can do true gray by setting LEDADD */ + /* we set up LEDADD only when asked */ + if (dev->model->is_cis == SANE_TRUE) + { + r = sanei_genesys_get_address (reg, 0x87); + r->value &= ~REG87_LEDADD; + if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) + { + r->value |= REG87_LEDADD; + } + /* RGB weighting + r = sanei_genesys_get_address (reg, 0x01); + r->value &= ~REG01_TRUEGRAY; + if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) + { + r->value |= REG01_TRUEGRAY; + }*/ + } + + /* words(16bit) before gamma, conversion to 8 bit or lineart*/ + words_per_line = (used_pixels * dpiset) / dpihw; + bytes=depth/8; + if (depth == 1) + { + words_per_line = (words_per_line+7)/8 ; + dev->len = (dev->len >> 3) + ((dev->len & 7) ? 1 : 0); + dev->dist = (dev->dist >> 3) + ((dev->dist & 7) ? 1 : 0); + } + else + { + words_per_line *= bytes; + dev->dist *= bytes; + dev->len *= bytes; + } + + dev->bpl = words_per_line; + dev->cur=0; + dev->segnb=segnb; + dev->line_interp = 0; + + sanei_genesys_set_double(reg,REG_DPISET,dpiset); + DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); + + sanei_genesys_set_double(reg,REG_STRPIXEL,startx); + sanei_genesys_set_double(reg,REG_ENDPIXEL,endx); + DBG (DBG_io2, "%s: startx=%d\n", __func__, startx); + DBG (DBG_io2, "%s: endx =%d\n", __func__, endx); + + DBG (DBG_io2, "%s: used_pixels=%d\n", __func__, used_pixels); + DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); + DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); + DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long)dev->bpl); + DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); + DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); + DBG (DBG_io2, "%s: dev->segnb =%lu\n", __func__, (unsigned long)dev->segnb); + + words_per_line *= channels; + dev->wpl = words_per_line; + + dev->oe_buffer.clear(); + dev->oe_buffer.alloc(dev->wpl); + + /* MAXWD is expressed in 4 words unit */ + sanei_genesys_set_triple(reg, REG_MAXWD, (words_per_line >> 2)); + DBG (DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); + + sanei_genesys_set_double(reg, REG_LPERIOD, exposure_time); + DBG (DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); + + r = sanei_genesys_get_address (reg, 0x34); + r->value = sensor.dummy_pixel; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/* set up registers for an actual scan + * + * this function sets up the scanner to scan in normal or single line mode + */ +static SANE_Status +gl846_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, + SetupParams& params) +{ + params.assert_valid(); + + int used_res; + int start, used_pixels; + int bytes_per_line; + int move; + unsigned int lincnt; + unsigned int oflags; /**> optical flags */ + unsigned int mflags; /**> motor flags */ + int exposure_time; + int stagger; + + int slope_dpi = 0; + int dummy = 0; + int scan_step_type = 1; + int scan_power_mode = 0; + int max_shift; + size_t requested_buffer_size, read_buffer_size; + + SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ + int optical_res; + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, params); + + /* we may have 2 domains for ccd: xres below or above half ccd max dpi */ + if (sensor.get_ccd_size_divisor_for_dpi(params.xres) > 1) + { + half_ccd = SANE_TRUE; + } + else + { + half_ccd = SANE_FALSE; + } + + /* optical_res */ + optical_res = sensor.optical_res; + if (half_ccd) + optical_res /= 2; + + /* stagger */ + if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) + stagger = (4 * params.yres) / dev->motor.base_ydpi; + else + stagger = 0; + DBG(DBG_info, "%s : stagger=%d lines\n", __func__, stagger); + + /* used_res */ + if (params.flags & SCAN_FLAG_USE_OPTICAL_RES) + { + used_res = optical_res; + } + else + { + /* resolution is choosen from a list */ + used_res = params.xres; + } + + /* compute scan parameters values */ + /* pixels are allways given at full optical resolution */ + /* use detected left margin and fixed value */ + /* start */ + /* add x coordinates */ + start = params.startx; + + if (stagger > 0) + start |= 1; + + /* compute correct pixels number */ + /* pixels */ + used_pixels = (params.pixels * optical_res) / params.xres; + + /* round up pixels number if needed */ + if (used_pixels * params.xres < params.pixels * optical_res) + used_pixels++; + + dummy = 3-params.channels; + +/* slope_dpi */ +/* cis color scan is effectively a gray scan with 3 gray lines per color + line and a FILTER of 0 */ + if (dev->model->is_cis) + slope_dpi = params.yres * params.channels; + else + slope_dpi = params.yres; + + slope_dpi = slope_dpi * (1 + dummy); + + exposure_time = gl846_compute_exposure (dev, used_res); + scan_step_type = sanei_genesys_compute_step_type(gl846_motors, dev->model->motor_type, exposure_time); + + DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); + DBG(DBG_info, "%s : scan_step_type=%d\n", __func__, scan_step_type); + +/*** optical parameters ***/ + /* in case of dynamic lineart, we use an internal 8 bit gray scan + * to generate 1 lineart data */ + if (params.flags & SCAN_FLAG_DYNAMIC_LINEART) { + params.depth = 8; + } + + /* we enable true gray for cis scanners only, and just when doing + * scan since color calibration is OK for this mode + */ + oflags = 0; + if(params.flags & SCAN_FLAG_DISABLE_SHADING) + oflags |= OPTICAL_FLAG_DISABLE_SHADING; + if(params.flags & SCAN_FLAG_DISABLE_GAMMA) + oflags |= OPTICAL_FLAG_DISABLE_GAMMA; + if(params.flags & SCAN_FLAG_DISABLE_LAMP) + oflags |= OPTICAL_FLAG_DISABLE_LAMP; + + if (dev->model->is_cis && dev->settings.true_gray) + { + oflags |= OPTICAL_FLAG_ENABLE_LEDADD; + } + + status = gl846_init_optical_regs_scan (dev, sensor, + reg, + exposure_time, + used_res, + start, + used_pixels, + params.channels, + params.depth, + half_ccd, + params.color_filter, + oflags); + + if (status != SANE_STATUS_GOOD) + return status; + +/*** motor parameters ***/ + + /* max_shift */ + max_shift=sanei_genesys_compute_max_shift(dev,params.channels,params.yres,params.flags); + + /* lincnt */ + lincnt = params.lines + max_shift + stagger; + + /* add tl_y to base movement */ + move = params.starty; + DBG(DBG_info, "%s: move=%d steps\n", __func__, move); + + mflags=0; + if(params.flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE) + mflags |= MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE; + if(params.flags & SCAN_FLAG_FEEDING) + mflags |= MOTOR_FLAG_FEED; + + status = gl846_init_motor_regs_scan (dev, sensor, + reg, + exposure_time, + slope_dpi, + scan_step_type, + dev->model->is_cis ? lincnt * + params.channels : lincnt, dummy, move, + scan_power_mode, + mflags); + + if (status != SANE_STATUS_GOOD) + return status; + + + /*** prepares data reordering ***/ + +/* words_per_line */ + bytes_per_line = (used_pixels * used_res) / optical_res; + bytes_per_line = (bytes_per_line * params.channels * params.depth) / 8; + + requested_buffer_size = 8 * bytes_per_line; + + read_buffer_size = + 2 * requested_buffer_size + + ((max_shift + stagger) * used_pixels * params.channels * params.depth) / 8; + + dev->read_buffer.clear(); + dev->read_buffer.alloc(read_buffer_size); + + dev->lines_buffer.clear(); + dev->lines_buffer.alloc(read_buffer_size); + + dev->shrink_buffer.clear(); + dev->shrink_buffer.alloc(requested_buffer_size); + + dev->out_buffer.clear(); + dev->out_buffer.alloc((8 * params.pixels * params.channels * params.depth) / 8); + + dev->read_bytes_left = bytes_per_line * lincnt; + + DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); + dev->read_active = SANE_TRUE; + + dev->current_setup.params = params; + dev->current_setup.pixels = (used_pixels * used_res) / optical_res; + dev->current_setup.lines = lincnt; + dev->current_setup.depth = params.depth; + dev->current_setup.channels = params.channels; + dev->current_setup.exposure_time = exposure_time; + dev->current_setup.xres = used_res; + dev->current_setup.yres = params.yres; + dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; + dev->current_setup.stagger = stagger; + dev->current_setup.max_shift = max_shift + stagger; + +/* TODO: should this be done elsewhere? */ + /* scan bytes to send to the frontend */ + /* theory : + target_size = + (params.pixels * params.lines * channels * depth) / 8; + but it suffers from integer overflow so we do the following: + + 1 bit color images store color data byte-wise, eg byte 0 contains + 8 bits of red data, byte 1 contains 8 bits of green, byte 2 contains + 8 bits of blue. + This does not fix the overflow, though. + 644mp*16 = 10gp, leading to an overflow + -- pierre + */ + + dev->total_bytes_read = 0; + if (params.depth == 1) + dev->total_bytes_to_read = + ((params.pixels * params.lines) / 8 + + (((params.pixels * params.lines) % 8) ? 1 : 0)) * + params.channels; + else + dev->total_bytes_to_read = + params.pixels * params.lines * params.channels * (params.depth / 8); + + DBG(DBG_info, "%s: total bytes to send = %lu\n", __func__, (u_long) dev->total_bytes_to_read); +/* END TODO */ + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static void +gl846_calculate_current_setup(Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int channels; + int depth; + int start; + + int used_res; + int used_pixels; + unsigned int lincnt; + int exposure_time; + int stagger; + + int slope_dpi; + int dummy = 0; + int max_shift; + + SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ + int optical_res; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, dev->settings); + + /* channels */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else + channels = 1; + + /* depth */ + depth = dev->settings.depth; + if (dev->settings.scan_mode == ScanColorMode::LINEART) + depth = 1; + + /* start */ + start = SANE_UNFIX (dev->model->x_offset); + start += dev->settings.tl_x; + start = (start * sensor.optical_res) / MM_PER_INCH; + + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = start; // not used + params.starty = 0; // not used + params.pixels = dev->settings.pixels; + params.lines = dev->settings.lines; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = dev->settings.scan_mode; + params.color_filter = dev->settings.color_filter; + params.flags = 0; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, params); + +/* half_ccd */ + /* we have 2 domains for ccd: xres below or above half ccd max dpi */ + if (sensor.get_ccd_size_divisor_for_dpi(params.xres) > 1) { + half_ccd = SANE_TRUE; + } else { + half_ccd = SANE_FALSE; + } + + /* optical_res */ + optical_res = sensor.optical_res; + + /* stagger */ + if (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE) + stagger = (4 * params.yres) / dev->motor.base_ydpi; + else + stagger = 0; + DBG(DBG_info, "%s: stagger=%d lines\n", __func__, stagger); + + /* resolution is choosen from a fixed list */ + used_res = params.xres; + + /* compute scan parameters values */ + /* pixels are allways given at half or full CCD optical resolution */ + /* use detected left margin and fixed value */ + + /* compute correct pixels number */ + used_pixels = (params.pixels * optical_res) / used_res; + dummy = 3 - params.channels; + + /* cis color scan is effectively a gray scan with 3 gray lines per color + line and a FILTER of 0 */ + if (dev->model->is_cis) { + slope_dpi = params.yres * params.channels; + } else { + slope_dpi = params.yres; + } + + slope_dpi = slope_dpi * (1 + dummy); + + exposure_time = gl846_compute_exposure (dev, used_res); + DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); + + max_shift = sanei_genesys_compute_max_shift(dev, params.channels, params.yres, 0); + + /* lincnt */ + lincnt = params.lines + max_shift + stagger; + + dev->current_setup.params = params; + dev->current_setup.pixels = (used_pixels * used_res) / optical_res; + dev->current_setup.lines = lincnt; + dev->current_setup.depth = params.depth; + dev->current_setup.channels = params.channels; + dev->current_setup.exposure_time = exposure_time; + dev->current_setup.xres = used_res; + dev->current_setup.yres = params.yres; + dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; + dev->current_setup.stagger = stagger; + dev->current_setup.max_shift = max_shift + stagger; + + DBGCOMPLETED; +} + +/*for fast power saving methods only, like disabling certain amplifiers*/ +static SANE_Status +gl846_save_power (Genesys_Device * dev, SANE_Bool enable) +{ + DBG(DBG_proc, "%s: enable = %d\n", __func__, enable); + if (dev == NULL) + return SANE_STATUS_INVAL; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl846_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) +{ + DBG(DBG_proc, "%s (delay = %d)\n", __func__, delay); + if (dev == NULL) + return SANE_STATUS_INVAL; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl846_start_action (Genesys_Device * dev) +{ + return sanei_genesys_write_register (dev, 0x0f, 0x01); +} + +static SANE_Status +gl846_stop_action (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val40, val; + unsigned int loop; + + DBGSTART; + + /* post scan gpio : without that HOMSNR is unreliable */ + gl846_homsnr_gpio(dev); + status = sanei_genesys_get_status (dev, &val); + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + + status = sanei_genesys_read_register (dev, REG40, &val40); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* only stop action if needed */ + if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) + { + DBG(DBG_info, "%s: already stopped\n", __func__); + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + /* ends scan */ + val = dev->reg.get8(REG01); + val &= ~REG01_SCAN; + dev->reg.set8(REG01, val); + status = sanei_genesys_write_register (dev, REG01, val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write register 01: %s\n", __func__, sane_strstatus(status)); + return status; + } + sanei_genesys_sleep_ms(100); + + loop = 10; + while (loop > 0) + { + status = sanei_genesys_get_status (dev, &val); + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + status = sanei_genesys_read_register (dev, REG40, &val40); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* if scanner is in command mode, we are done */ + if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG) + && !(val & REG41_MOTORENB)) + { + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + sanei_genesys_sleep_ms(100); + loop--; + } + + DBGCOMPLETED; + return SANE_STATUS_IO_ERROR; +} + +/* Send the low-level scan command */ +static SANE_Status +gl846_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, + SANE_Bool start_motor) +{ + (void) sensor; + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + GenesysRegister *r; + + DBGSTART; + + /* XXX STEF XXX SCAN GPIO */ + /* + RIE (sanei_genesys_read_register (dev, REG6C, &val)); + RIE (sanei_genesys_write_register (dev, REG6C, val)); + */ + + val = REG0D_CLRLNCNT; + RIE (sanei_genesys_write_register (dev, REG0D, val)); + val = REG0D_CLRMCNT; + RIE (sanei_genesys_write_register (dev, REG0D, val)); + + RIE (sanei_genesys_read_register (dev, REG01, &val)); + val |= REG01_SCAN; + RIE (sanei_genesys_write_register (dev, REG01, val)); + r = sanei_genesys_get_address (reg, REG01); + r->value = val; + + if (start_motor) + { + RIE (sanei_genesys_write_register (dev, REG0F, 1)); + } + else + { + RIE (sanei_genesys_write_register (dev, REG0F, 0)); + } + + DBGCOMPLETED; + + return status; +} + + +/* Send the stop scan command */ +static SANE_Status +gl846_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, + SANE_Bool check_stop) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s (check_stop = %d)\n", __func__, check_stop); + if (reg == NULL) + return SANE_STATUS_INVAL; + + if (dev->model->is_sheetfed == SANE_TRUE) + { + status = SANE_STATUS_GOOD; + } + else /* flat bed scanners */ + { + status = gl846_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + DBGCOMPLETED; + return status; +} + +/* Moves the slider to the home (top) postion slowly */ +static SANE_Status +gl846_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) +{ + Genesys_Register_Set local_reg; + SANE_Status status = SANE_STATUS_GOOD; + GenesysRegister *r; + float resolution; + uint8_t val; + int loop = 0; + ScanColorMode scan_mode; + + DBG(DBG_proc, "%s (wait_until_home = %d)\n", __func__, wait_until_home); + + /* post scan gpio : without that HOMSNR is unreliable */ + gl846_homsnr_gpio(dev); + + /* first read gives HOME_SENSOR true */ + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + sanei_genesys_sleep_ms(100); + + /* second is reliable */ + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + + /* is sensor at home? */ + if (val & HOMESNR) + { + DBG(DBG_info, "%s: already at home, completed\n", __func__); + dev->scanhead_position_in_steps = 0; + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + local_reg = dev->reg; + + resolution=sanei_genesys_get_lowest_ydpi(dev); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + /* TODO add scan_mode to the API */ + scan_mode= dev->settings.scan_mode; + dev->settings.scan_mode = ScanColorMode::LINEART; + + SetupParams params; + params.xres = resolution; + params.yres = resolution; + params.startx = 100; + params.starty = 30000; + params.pixels = 100; + params.lines = 100; + params.depth = 8; + params.channels = 1; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::GRAY; + params.color_filter = ColorFilter::RED; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl846_init_scan_regs(dev, sensor, &local_reg, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + dev->settings.scan_mode=scan_mode; + + /* clear scan and feed count */ + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); + + /* set up for reverse */ + r = sanei_genesys_get_address(&local_reg, REG02); + r->value |= REG02_MTRREV; + + RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); + + try { + status = gl846_start_action(dev); + } catch (...) { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + try { + gl846_stop_action(dev); + } catch (...) {} + try { + // restore original registers + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + } catch (...) {} + throw; + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + gl846_stop_action (dev); + /* send original registers */ + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + return status; + } + + /* post scan gpio : without that HOMSNR is unreliable */ + gl846_homsnr_gpio(dev); + + if (wait_until_home) + { + while (loop < 300) /* do not wait longer then 30 seconds */ + { + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + if (val & HOMESNR) /* home sensor */ + { + DBG(DBG_info, "%s: reached home position\n", __func__); + gl846_stop_action (dev); + dev->scanhead_position_in_steps = 0; + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + sanei_genesys_sleep_ms(100); + ++loop; + } + + /* when we come here then the scanner needed too much time for this, so we better stop the motor */ + gl846_stop_action (dev); + DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); + return SANE_STATUS_IO_ERROR; + } + + DBG(DBG_info, "%s: scanhead is still moving\n", __func__); + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels + area at 600 dpi from very top of scanner */ +static SANE_Status +gl846_search_start_position (Genesys_Device * dev) +{ + int size; + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Register_Set local_reg; + int steps; + + int pixels = 600; + int dpi = 300; + + DBG(DBG_proc, "%s\n", __func__); + + local_reg = dev->reg; + + /* sets for a 200 lines * 600 pixels */ + /* normal scan with no shading */ + + // FIXME: the current approach of doing search only for one resolution does not work on scanners + // whith employ different sensors with potentially different settings. + auto& sensor = sanei_genesys_find_sensor_for_write(dev, dpi); + + SetupParams params; + params.xres = dpi; + params.yres = dpi; + params.startx = 0; + params.starty = 0; /*we should give a small offset here~60 steps */ + params.pixels = 600; + params.lines = dev->model->search_lines; + params.depth = 8; + params.channels = 1; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::GRAY; + params.color_filter = ColorFilter::GREEN; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl846_init_scan_regs(dev, sensor, &local_reg, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* send to scanner */ + status = dev->model->cmd_set->bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + size = pixels * dev->model->search_lines; + + std::vector data(size); + + status = gl846_begin_scan(dev, sensor, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* waits for valid data */ + do + sanei_genesys_test_buffer_empty (dev, &steps); + while (steps); + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl846_search_position.pnm", data.data(), 8, 1, pixels, + dev->model->search_lines); + + status = gl846_end_scan (dev, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* update regs to copy ASIC internal state */ + dev->reg = local_reg; + +/*TODO: find out where sanei_genesys_search_reference_point + stores information, and use that correctly*/ + status = + sanei_genesys_search_reference_point (dev, sensor, data.data(), 0, dpi, pixels, + dev->model->search_lines); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set search reference point: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + return SANE_STATUS_GOOD; +} + +/* + * sets up register for coarse gain calibration + * todo: check it for scanners using it */ +static SANE_Status +gl846_init_regs_for_coarse_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t channels; + uint8_t cksel; + + DBG(DBG_proc, "%s\n", __func__); + + + cksel = (regs.find_reg(0x18).value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ + + /* set line size */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else { + channels = 1; + } + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = 0; + params.starty = 0; + params.pixels = sensor.optical_res / cksel; + params.lines = 20; + params.depth = 16; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = dev->settings.scan_mode; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl846_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, + sensor.optical_res / cksel, dev->settings.xres); + + status = dev->model->cmd_set->bulk_write_register(dev, regs); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** @brief moves the slider to steps at motor base dpi + * @param dev device to work on + * @param steps number of steps to move in base_dpi line count + * */ +static SANE_Status +gl846_feed (Genesys_Device * dev, unsigned int steps) +{ + Genesys_Register_Set local_reg; + SANE_Status status = SANE_STATUS_GOOD; + GenesysRegister *r; + float resolution; + uint8_t val; + + DBGSTART; + DBG(DBG_io, "%s: steps=%d\n", __func__, steps); + + /* prepare local registers */ + local_reg = dev->reg; + + resolution=sanei_genesys_get_lowest_ydpi(dev); + const auto& sensor = sanei_genesys_find_sensor(dev, resolution); + + SetupParams params; + params.xres = resolution; + params.yres = resolution; + params.startx = 0; + params.starty = steps; + params.pixels = 100; + params.lines = 3; + params.depth = 8; + params.channels = 3; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_FEEDING | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl846_init_scan_regs(dev, sensor, &local_reg, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* set exposure to zero */ + sanei_genesys_set_triple(&local_reg,REG_EXPR,0); + sanei_genesys_set_triple(&local_reg,REG_EXPG,0); + sanei_genesys_set_triple(&local_reg,REG_EXPB,0); + + /* clear scan and feed count */ + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT)); + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRMCNT)); + + /* set up for no scan */ + r = sanei_genesys_get_address(&local_reg, REG01); + r->value &= ~REG01_SCAN; + + /* send registers */ + RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); + + try { + status = gl846_start_action (dev); + } catch (...) { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + try { + gl846_stop_action(dev); + } catch (...) {} + try { + // restore original registers + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + } catch (...) {} + throw; + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + gl846_stop_action (dev); + + /* restore original registers */ + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + return status; + } + + /* wait until feed count reaches the required value, but do not + * exceed 30s */ + do + { + status = sanei_genesys_get_status (dev, &val); + } + while (status == SANE_STATUS_GOOD && !(val & FEEDFSH)); + + /* then stop scanning */ + RIE(gl846_stop_action (dev)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/* init registers for shading calibration */ +static SANE_Status +gl846_init_regs_for_shading(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + float move; + + DBGSTART; + dev->calib_channels = 3; + + /* initial calibration reg values */ + regs = dev->reg; + + dev->calib_resolution = sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); + dev->calib_total_bytes_to_read = 0; + dev->calib_lines = dev->model->shading_lines; + if(dev->calib_resolution==4800) + dev->calib_lines *= 2; + dev->calib_pixels = (sensor.sensor_pixels*dev->calib_resolution)/sensor.optical_res; + DBG(DBG_io, "%s: calib_lines = %d\n", __func__, (unsigned int)dev->calib_lines); + DBG(DBG_io, "%s: calib_pixels = %d\n", __func__, (unsigned int)dev->calib_pixels); + + /* this is aworkaround insufficent distance for slope + * motor acceleration TODO special motor slope for shading */ + move=1; + if(dev->calib_resolution<1200) + { + move=40; + } + + SetupParams params; + params.xres = dev->calib_resolution; + params.yres = dev->calib_resolution; + params.startx = 0; + params.starty = move; + params.pixels = dev->calib_pixels; + params.lines = dev->calib_lines; + params.depth = 16; + params.channels = dev->calib_channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl846_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = dev->model->cmd_set->bulk_write_register(dev, regs); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* we use GENESYS_FLAG_SHADING_REPARK */ + dev->scanhead_position_in_steps = 0; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** @brief set up registers for the actual scan + */ +static SANE_Status +gl846_init_regs_for_scan (Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int channels; + int flags; + int depth; + float move; + int move_dpi; + float start; + + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, dev->settings); + + /* channels */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else + channels = 1; + + /* depth */ + depth = dev->settings.depth; + if (dev->settings.scan_mode == ScanColorMode::LINEART) + depth = 1; + + + /* steps to move to reach scanning area: + - first we move to physical start of scanning + either by a fixed steps amount from the black strip + or by a fixed amount from parking position, + minus the steps done during shading calibration + - then we move by the needed offset whitin physical + scanning area + + assumption: steps are expressed at maximum motor resolution + + we need: + SANE_Fixed y_offset; + SANE_Fixed y_size; + SANE_Fixed y_offset_calib; + mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ + + /* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is + relative from origin, else, it is from parking position */ + + move_dpi = dev->motor.base_ydpi; + + move = SANE_UNFIX (dev->model->y_offset); + move += dev->settings.tl_y; + move = (move * move_dpi) / MM_PER_INCH; + move -= dev->scanhead_position_in_steps; + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + /* fast move to scan area */ + /* we don't move fast the whole distance since it would involve + * computing acceleration/deceleration distance for scan + * resolution. So leave a remainder for it so scan makes the final + * move tuning */ + if(channels*dev->settings.yres>=600 && move>700) + { + status = gl846_feed (dev, move-500); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to move to scan area\n", __func__); + return status; + } + move=500; + } + + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + /* start */ + start = SANE_UNFIX (dev->model->x_offset); + start += dev->settings.tl_x; + start = (start * sensor.optical_res) / MM_PER_INCH; + + flags = 0; + + /* emulated lineart from gray data is required for now */ + if(dev->settings.scan_mode == ScanColorMode::LINEART + && dev->settings.dynamic_lineart) + { + flags |= SCAN_FLAG_DYNAMIC_LINEART; + } + + /* backtracking isn't handled well, so don't enable it */ + flags |= SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE; + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = start; + params.starty = move; + params.pixels = dev->settings.pixels; + params.lines = dev->settings.lines; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = dev->settings.scan_mode; + params.color_filter = dev->settings.color_filter; + params.flags = flags; + + status = gl846_init_scan_regs(dev, sensor, &dev->reg, params); + + if (status != SANE_STATUS_GOOD) + return status; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/** + * Send shading calibration data. The buffer is considered to always hold values + * for all the channels. + */ +static SANE_Status +gl846_send_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, + uint8_t * data, int size) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint32_t addr, length, i, x, factor, pixels; + uint32_t dpiset, dpihw, strpixel, endpixel; + uint16_t tempo; + uint32_t lines, channels; + uint8_t val,*ptr,*src; + + DBGSTART; + DBG(DBG_io2, "%s: writing %d bytes of shading data\n", __func__, size); + + /* shading data is plit in 3 (up to 5 with IR) areas + write(0x10014000,0x00000dd8) + URB 23429 bulk_out len 3544 wrote 0x33 0x10 0x.... + write(0x1003e000,0x00000dd8) + write(0x10068000,0x00000dd8) + */ + length = (uint32_t) (size / 3); + sanei_genesys_get_double(&dev->reg,REG_STRPIXEL,&tempo); + strpixel=tempo; + sanei_genesys_get_double(&dev->reg,REG_ENDPIXEL,&tempo); + endpixel=tempo; + + /* compute deletion factor */ + sanei_genesys_get_double(&dev->reg,REG_DPISET,&tempo); + dpiset=tempo; + DBG(DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, DPISET=%d\n", __func__, strpixel, endpixel, + endpixel-strpixel, dpiset); + dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpiset); + factor=dpihw/dpiset; + DBG(DBG_io2, "%s: factor=%d\n", __func__, factor); + + if(DBG_LEVEL>=DBG_data) + { + dev->binary=fopen("binary.pnm","wb"); + sanei_genesys_get_triple(&dev->reg, REG_LINCNT, &lines); + channels=dev->current_setup.channels; + if(dev->binary!=NULL) + { + fprintf(dev->binary,"P5\n%d %d\n%d\n",(endpixel-strpixel)/factor*channels,lines/channels,255); + } + } + + pixels=endpixel-strpixel; + + /* since we're using SHDAREA, substract startx coordinate from shading */ + strpixel-=((sensor.CCD_start_xoffset*600)/sensor.optical_res); + + /* turn pixel value into bytes 2x16 bits words */ + strpixel*=2*2; + pixels*=2*2; + + std::vector buffer(pixels, 0); + + DBG(DBG_io2, "%s: using chunks of %d (0x%04x) bytes\n", __func__, pixels, pixels); + + /* base addr of data has been written in reg D0-D4 in 4K word, so AHB address + * is 8192*reg value */ + + /* write actual color channel data */ + for(i=0;i<3;i++) + { + /* build up actual shading data by copying the part from the full width one + * to the one corresponding to SHDAREA */ + ptr = buffer.data(); + + /* iterate on both sensor segment */ + for(x=0;xmodel->y_offset_calib); + move = (move * (dev->motor.base_ydpi/4)) / MM_PER_INCH; + if(move>20) + { + RIE(gl846_feed (dev, move)); + } + DBG(DBG_io, "%s: move=%f steps\n", __func__, move); + + /* offset calibration is always done in color mode */ + channels = 3; + depth=16; + used_res=sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); + Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, used_res); + num_pixels = (sensor.sensor_pixels*used_res)/sensor.optical_res; + + /* initial calibration reg values */ + regs = dev->reg; + + SetupParams params; + params.xres = used_res; + params.yres = used_res; + params.startx = 0; + params.starty = 0; + params.pixels = num_pixels; + params.lines = 1; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl846_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + total_size = num_pixels * channels * (depth/8) * 1; /* colors * bytes_per_color * scan lines */ + std::vector line(total_size); + + /* initial loop values and boundaries */ + exp[0]=sensor_profile->expr; + exp[1]=sensor_profile->expg; + exp[2]=sensor_profile->expb; + + bottom[0]=29000; + bottom[1]=29000; + bottom[2]=29000; + + top[0]=41000; + top[1]=51000; + top[2]=51000; + + turn = 0; + + /* no move during led calibration */ + sanei_genesys_set_motor_power(regs, false); + do + { + /* set up exposure */ + sanei_genesys_set_double(®s,REG_EXPR,exp[0]); + sanei_genesys_set_double(®s,REG_EXPG,exp[1]); + sanei_genesys_set_double(®s,REG_EXPB,exp[2]); + + /* write registers and scan data */ + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + + DBG(DBG_info, "%s: starting line reading\n", __func__); + RIE(gl846_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); + + /* stop scanning */ + RIE(gl846_stop_action(dev)); + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + snprintf(fn, 30, "gl846_led_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, line.data(), depth, channels, num_pixels, 1); + } + + /* compute average */ + for (j = 0; j < channels; j++) + { + avg[j] = 0; + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * num_pixels + 1] * 256 + + line[i * 2 + j * 2 * num_pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + avg[j] += val; + } + + avg[j] /= num_pixels; + } + + DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); + + /* check if exposure gives average within the boundaries */ + acceptable = SANE_TRUE; + for(i=0;i<3;i++) + { + if(avg[i]top[i]) + { + exp[i]=(exp[i]*top[i])/avg[i]; + acceptable = SANE_FALSE; + } + } + + turn++; + } + while (!acceptable && turn < 100); + + DBG(DBG_info, "%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0], exp[1], exp[2]); + + /* set these values as final ones for scan */ + sanei_genesys_set_double(&dev->reg,REG_EXPR,exp[0]); + sanei_genesys_set_double(&dev->reg,REG_EXPG,exp[1]); + sanei_genesys_set_double(&dev->reg,REG_EXPB,exp[2]); + + /* store in this struct since it is the one used by cache calibration */ + sensor.exposure.red = exp[0]; + sensor.exposure.green = exp[1]; + sensor.exposure.blue = exp[2]; + + /* go back home */ + if(move>20) + { + status=gl846_slow_back_home (dev, SANE_TRUE); + } + + DBGCOMPLETED; + return status; +} + +/** + * set up GPIO/GPOE for idle state + */ +static SANE_Status +gl846_init_gpio (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + int idx=0; + + DBGSTART; + + /* search GPIO profile */ + while(gpios[idx].sensor_id!=0 && dev->model->gpo_type!=gpios[idx].sensor_id) + { + idx++; + } + if(gpios[idx].sensor_id==0) + { + DBG(DBG_error, "%s: failed to find GPIO profile for sensor_id=%d\n", __func__, + dev->model->ccd_type); + return SANE_STATUS_INVAL; + } + + RIE (sanei_genesys_write_register (dev, REGA7, gpios[idx].ra7)); + RIE (sanei_genesys_write_register (dev, REGA6, gpios[idx].ra6)); + + RIE (sanei_genesys_write_register (dev, REG6B, gpios[idx].r6b)); + RIE (sanei_genesys_write_register (dev, REG6C, gpios[idx].r6c)); + RIE (sanei_genesys_write_register (dev, REG6D, gpios[idx].r6d)); + RIE (sanei_genesys_write_register (dev, REG6E, gpios[idx].r6e)); + RIE (sanei_genesys_write_register (dev, REG6F, gpios[idx].r6f)); + + RIE (sanei_genesys_write_register (dev, REGA8, gpios[idx].ra8)); + RIE (sanei_genesys_write_register (dev, REGA9, gpios[idx].ra9)); + + DBGCOMPLETED; + return status; +} + +/** + * set memory layout by filling values in dedicated registers + */ +static SANE_Status +gl846_init_memory_layout (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + int idx = 0, i; + uint8_t val; + + DBGSTART + + /* point to per model memory layout */ + idx = 0; + while(layouts[idx].model!=NULL && strcmp(dev->model->name,layouts[idx].model)!=0) + { + if(strcmp(dev->model->name,layouts[idx].model)!=0) + idx++; + } + if(layouts[idx].model==NULL) + { + DBG(DBG_error, "%s: failed to find memory layout for model %s!\n", __func__, dev->model->name); + return SANE_STATUS_INVAL; + } + + /* CLKSET and DRAMSEL */ + val = layouts[idx].dramsel; + RIE (sanei_genesys_write_register (dev, REG0B, val)); + dev->reg.find_reg(0x0b).value = val; + + /* prevent further writings by bulk write register */ + dev->reg.remove_reg(0x0b); + + /* setup base address for shading and scanned data. */ + for(i=0;i<10;i++) + { + sanei_genesys_write_register (dev, 0xe0+i, layouts[idx].rx[i]); + } + + DBGCOMPLETED; + return status; +} + +/* * + * initialize ASIC from power on condition + */ +static SANE_Status +gl846_boot (Genesys_Device * dev, SANE_Bool cold) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + + DBGSTART; + + /* reset ASIC if cold boot */ + if(cold) + { + RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); + RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); + } + + if(dev->usb_mode == 1) + { + val = 0x14; + } + else + { + val = 0x11; + } + RIE (sanei_genesys_write_0x8c (dev, 0x0f, val)); + + /* test CHKVER */ + RIE (sanei_genesys_read_register (dev, REG40, &val)); + if (val & REG40_CHKVER) + { + RIE (sanei_genesys_read_register (dev, 0x00, &val)); + DBG(DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); + } + + /* Set default values for registers */ + gl846_init_registers (dev); + + /* Write initial registers */ + RIE (dev->model->cmd_set->bulk_write_register(dev, dev->reg)); + + /* Enable DRAM by setting a rising edge on bit 3 of reg 0x0b */ + val = dev->reg.find_reg(0x0b).value & REG0B_DRAMSEL; + val = (val | REG0B_ENBDRAM); + RIE (sanei_genesys_write_register (dev, REG0B, val)); + dev->reg.find_reg(0x0b).value = val; + + /* CIS_LINE */ + if (dev->model->is_cis) + { + SETREG (0x08, REG08_CIS_LINE); + RIE (sanei_genesys_write_register (dev, 0x08, dev->reg.find_reg(0x08).value)); + } + + /* set up clocks */ + RIE (sanei_genesys_write_0x8c (dev, 0x10, 0x0e)); + RIE (sanei_genesys_write_0x8c (dev, 0x13, 0x0e)); + + /* setup gpio */ + RIE (gl846_init_gpio (dev)); + + /* setup internal memory layout */ + RIE (gl846_init_memory_layout (dev)); + + SETREG (0xf8, 0x05); + RIE (sanei_genesys_write_register (dev, 0xf8, dev->reg.find_reg(0xf8).value)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** + * initialize backend and ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home + */ +static SANE_Status gl846_init(Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG_INIT (); + DBGSTART; + + status=sanei_genesys_asic_init(dev, 0); + + DBGCOMPLETED; + return status; +} + +static SANE_Status +gl846_update_hardware_sensors (Genesys_Scanner * s) +{ + /* do what is needed to get a new set of events, but try to not lose + any of them. + */ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + uint8_t scan, file, email, copy; + switch(s->dev->model->gpo_type) + { + default: + scan=0x01; + file=0x02; + email=0x04; + copy=0x08; + } + RIE (sanei_genesys_read_register (s->dev, REG6D, &val)); + + s->buttons[BUTTON_SCAN_SW].write((val & scan) == 0); + s->buttons[BUTTON_FILE_SW].write((val & file) == 0); + s->buttons[BUTTON_EMAIL_SW].write((val & email) == 0); + s->buttons[BUTTON_COPY_SW].write((val & copy) == 0); + + return status; +} + +/** @brief search for a full width black or white strip. + * This function searches for a black or white stripe across the scanning area. + * When searching backward, the searched area must completely be of the desired + * color since this area will be used for calibration which scans forward. + * @param dev scanner device + * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward + * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip + * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not + */ +static SANE_Status +gl846_search_strip(Genesys_Device * dev, const Genesys_Sensor& sensor, + SANE_Bool forward, SANE_Bool black) +{ + unsigned int pixels, lines, channels; + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Register_Set local_reg; + size_t size; + int steps, depth, dpi; + unsigned int pass, count, found, x, y; + char title[80]; + GenesysRegister *r; + + DBG(DBG_proc, "%s %s %s\n", __func__, black ? "black" : "white", forward ? "forward" : "reverse"); + + status = gl846_set_fe(dev, sensor, AFE_SET); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: gl846_set_fe() failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl846_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* set up for a gray scan at lowest dpi */ + dpi = 9600; + for (x = 0; x < MAX_RESOLUTIONS; x++) + { + if (dev->model->xdpi_values[x] > 0 && dev->model->xdpi_values[x] < dpi) + dpi = dev->model->xdpi_values[x]; + } + channels = 1; + /* 10 MM */ + /* lines = (10 * dpi) / MM_PER_INCH; */ + /* shading calibation is done with dev->motor.base_ydpi */ + lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; + depth = 8; + pixels = (sensor.sensor_pixels * dpi) / sensor.optical_res; + size = pixels * channels * lines * (depth / 8); + std::vector data(size); + + dev->scanhead_position_in_steps = 0; + + local_reg = dev->reg; + + SetupParams params; + params.xres = dpi; + params.yres = dpi; + params.startx = 0; + params.starty = 0; + params.pixels = pixels; + params.lines = lines; + params.depth = depth; + params.channels = channels; + params.scan_mode = ScanColorMode::GRAY; + params.color_filter = ColorFilter::RED; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA; + + status = gl846_init_scan_regs(dev, sensor, &local_reg, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup for scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* set up for reverse or forward */ + r = sanei_genesys_get_address (&local_reg, REG02); + if (forward) + r->value &= ~REG02_MTRREV; + else + r->value |= REG02_MTRREV; + + + status = dev->model->cmd_set->bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl846_begin_scan(dev, sensor, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* waits for valid data */ + do + sanei_genesys_test_buffer_empty (dev, &steps); + while (steps); + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl846_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: gl846_stop_action failed\n", __func__); + return status; + } + + pass = 0; + if (DBG_LEVEL >= DBG_data) + { + sprintf(title, "gl846_search_strip_%s_%s%02d.pnm", + black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); + sanei_genesys_write_pnm_file(title, data.data(), depth, channels, pixels, lines); + } + + /* loop until strip is found or maximum pass number done */ + found = 0; + while (pass < 20 && !found) + { + status = dev->model->cmd_set->bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + /* now start scan */ + status = gl846_begin_scan(dev, sensor, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* waits for valid data */ + do + sanei_genesys_test_buffer_empty (dev, &steps); + while (steps); + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl846_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: gl846_stop_action failed\n", __func__); + return status; + } + + if (DBG_LEVEL >= DBG_data) + { + sprintf(title, "gl846_search_strip_%s_%s%02d.pnm", + black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); + sanei_genesys_write_pnm_file(title, data.data(), depth, channels, pixels, lines); + } + + /* search data to find black strip */ + /* when searching forward, we only need one line of the searched color since we + * will scan forward. But when doing backward search, we need all the area of the + * same color */ + if (forward) + { + for (y = 0; y < lines && !found; y++) + { + count = 0; + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > 90) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < 60) + { + count++; + } + } + + /* at end of line, if count >= 3%, line is not fully of the desired color + * so we must go to next line of the buffer */ + /* count*100/pixels < 3 */ + if ((count * 100) / pixels < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, + pass, y); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + } + else /* since calibration scans are done forward, we need the whole area + to be of the required color when searching backward */ + { + count = 0; + for (y = 0; y < lines; y++) + { + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > 90) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < 60) + { + count++; + } + } + } + + /* at end of area, if count >= 3%, area is not fully of the desired color + * so we must go to next buffer */ + if ((count * 100) / (pixels * lines) < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + pass++; + } + + if (found) + { + status = SANE_STATUS_GOOD; + DBG(DBG_info, "%s: %s strip found\n", __func__, black ? "black" : "white"); + } + else + { + status = SANE_STATUS_UNSUPPORTED; + DBG(DBG_info, "%s: %s strip not found\n", __func__, black ? "black" : "white"); + } + + DBGCOMPLETED; + return status; +} + +/** + * average dark pixels of a 8 bits scan + */ +static int +dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, + unsigned int channels, unsigned int black) +{ + unsigned int i, j, k, average, count; + unsigned int avg[3]; + uint8_t val; + + /* computes average value on black margin */ + for (k = 0; k < channels; k++) + { + avg[k] = 0; + count = 0; + for (i = 0; i < lines; i++) + { + for (j = 0; j < black; j++) + { + val = data[i * channels * pixels + j + k]; + avg[k] += val; + count++; + } + } + if (count) + avg[k] /= count; + DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); + } + average = 0; + for (i = 0; i < channels; i++) + average += avg[i]; + average /= channels; + DBG(DBG_info, "%s: average = %d\n", __func__, average); + return average; +} + +static SANE_Status +gl846_offset_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t reg04; + unsigned int channels, bpp; + int pass = 0, avg, total_size; + int topavg, bottomavg, resolution, lines; + int top, bottom, black_pixels, pixels; + + DBGSTART; + + /* no gain nor offset for AKM AFE */ + RIE (sanei_genesys_read_register (dev, REG04, ®04)); + if ((reg04 & REG04_FESET) == 0x02) + { + DBGCOMPLETED; + return status; + } + + /* offset calibration is always done in color mode */ + channels = 3; + resolution=sensor.optical_res; + dev->calib_pixels = sensor.sensor_pixels; + lines=1; + bpp=8; + pixels= (sensor.sensor_pixels*resolution) / sensor.optical_res; + black_pixels = (sensor.black_pixels * resolution) / sensor.optical_res; + DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); + + SetupParams params; + params.xres = resolution; + params.yres = resolution; + params.startx = 0; + params.starty = 0; + params.pixels = pixels; + params.lines = lines; + params.depth = bpp; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl846_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + sanei_genesys_set_motor_power(regs, false); + + /* allocate memory for scans */ + total_size = pixels * channels * lines * (bpp/8); /* colors * bytes_per_color * scan lines */ + + std::vector first_line(total_size); + std::vector second_line(total_size); + + /* init gain */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + + /* scan with no move */ + bottom = 10; + dev->frontend.set_offset(0, bottom); + dev->frontend.set_offset(1, bottom); + dev->frontend.set_offset(2, bottom); + + RIE(gl846_set_fe(dev, sensor, AFE_SET)); + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + DBG(DBG_info, "%s: starting first line reading\n", __func__); + RIE(gl846_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner (dev, first_line.data(), total_size)); + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + snprintf(fn, 30, "gl846_offset%03d.pnm", bottom); + sanei_genesys_write_pnm_file(fn, first_line.data(), bpp, channels, pixels, lines); + } + + bottomavg = dark_average(first_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_io2, "%s: bottom avg=%d\n", __func__, bottomavg); + + /* now top value */ + top = 255; + dev->frontend.set_offset(0, top); + dev->frontend.set_offset(1, top); + dev->frontend.set_offset(2, top); + RIE(gl846_set_fe(dev, sensor, AFE_SET)); + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + RIE(gl846_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); + + topavg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_io2, "%s: top avg=%d\n", __func__, topavg); + + /* loop until acceptable level */ + while ((pass < 32) && (top - bottom > 1)) + { + pass++; + + /* settings for new scan */ + dev->frontend.set_offset(0, (top + bottom) / 2); + dev->frontend.set_offset(1, (top + bottom) / 2); + dev->frontend.set_offset(2, (top + bottom) / 2); + + /* scan with no move */ + RIE(gl846_set_fe(dev, sensor, AFE_SET)); + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + RIE(gl846_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + snprintf(fn, 30, "gl846_offset%03d.pnm", dev->frontend.get_offset(1)); + sanei_genesys_write_pnm_file(fn, second_line.data(), bpp, channels, pixels, lines); + } + + avg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_info, "%s: avg=%d offset=%d\n", __func__, avg, dev->frontend.get_offset(1)); + + /* compute new boundaries */ + if (topavg == avg) + { + topavg = avg; + top = dev->frontend.get_offset(1); + } + else + { + bottomavg = avg; + bottom = dev->frontend.get_offset(1); + } + } + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl846_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) +{ + int pixels; + int total_size; + uint8_t reg04; + int i, j, channels; + SANE_Status status = SANE_STATUS_GOOD; + int max[3]; + float gain[3],coeff; + int val, code, lines; + int resolution; + int bpp; + + DBG(DBG_proc, "%s: dpi = %d\n", __func__, dpi); + + /* no gain nor offset for AKM AFE */ + RIE (sanei_genesys_read_register (dev, REG04, ®04)); + if ((reg04 & REG04_FESET) == 0x02) + { + DBGCOMPLETED; + return status; + } + + /* coarse gain calibration is always done in color mode */ + channels = 3; + + /* follow CKSEL */ + if(dev->settings.xressettings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + try { + status = gl846_init_scan_regs(dev, sensor, ®s, params); + } catch (...) { + try { + sanei_genesys_set_motor_power(regs, false); + } catch (...) {} + throw; + } + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + RIE (dev->model->cmd_set->bulk_write_register(dev, regs)); + + total_size = pixels * channels * (16/bpp) * lines; + + std::vector line(total_size); + + RIE(gl846_set_fe(dev, sensor, AFE_SET)); + RIE(gl846_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); + + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl846_gain.pnm", line.data(), bpp, channels, pixels, lines); + + /* average value on each channel */ + for (j = 0; j < channels; j++) + { + max[j] = 0; + for (i = pixels/4; i < (pixels*3/4); i++) + { + if (dev->model->is_cis) + val = line[i + j * pixels]; + else + val = line[i * channels + j]; + + max[j] += val; + } + max[j] = max[j] / (pixels/2); + + gain[j] = ((float) sensor.gain_white_ref*coeff) / max[j]; + + /* turn logical gain value into gain code, checking for overflow */ + code = 283 - 208 / gain[j]; + if (code > 255) + code = 255; + else if (code < 0) + code = 0; + dev->frontend.set_gain(j, code); + + DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], gain[j], + dev->frontend.get_gain(j)); + } + + if (dev->model->is_cis) { + uint8_t gain0 = dev->frontend.get_gain(0); + if (gain0 > dev->frontend.get_gain(1)) { + gain0 = dev->frontend.get_gain(1); + } + if (gain0 > dev->frontend.get_gain(2)) { + gain0 = dev->frontend.get_gain(2); + } + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain0); + dev->frontend.set_gain(2, gain0); + } + + RIE (gl846_stop_action (dev)); + + status=gl846_slow_back_home (dev, SANE_TRUE); + + DBGCOMPLETED; + return status; +} + + +/** the gl846 command set */ +static Genesys_Command_Set gl846_cmd_set = { + "gl846-generic", /* the name of this set */ + + nullptr, + + gl846_init, + NULL, + gl846_init_regs_for_coarse_calibration, + gl846_init_regs_for_shading, + gl846_init_regs_for_scan, + + gl846_get_filter_bit, + gl846_get_lineart_bit, + gl846_get_bitset_bit, + gl846_get_gain4_bit, + gl846_get_fast_feed_bit, + gl846_test_buffer_empty_bit, + gl846_test_motor_flag_bit, + + gl846_set_fe, + gl846_set_powersaving, + gl846_save_power, + + gl846_begin_scan, + gl846_end_scan, + + sanei_genesys_send_gamma_table, + + gl846_search_start_position, + + gl846_offset_calibration, + gl846_coarse_gain_calibration, + gl846_led_calibration, + + NULL, + gl846_slow_back_home, + NULL, + + sanei_genesys_bulk_write_register, + NULL, + sanei_genesys_bulk_read_data, + + gl846_update_hardware_sensors, + + NULL, + NULL, + NULL, + gl846_search_strip, + + sanei_genesys_is_compatible_calibration, + NULL, + gl846_send_shading_data, + gl846_calculate_current_setup, + gl846_boot +}; + +SANE_Status +sanei_gl846_init_cmd_set (Genesys_Device * dev) +{ + dev->model->cmd_set = &gl846_cmd_set; + return SANE_STATUS_GOOD; +} diff --git a/backend/genesys_gl846.h b/backend/genesys_gl846.h index e1dc711..797c605 100644 --- a/backend/genesys_gl846.h +++ b/backend/genesys_gl846.h @@ -335,239 +335,39 @@ #define REGF8_SMAXSEL 4 #define REGF8_MINSEL 0x0f -/** - * writable scanner registers */ -enum -{ - reg_0x01 = 0, - reg_0x02, - reg_0x03, - reg_0x04, - reg_0x05, - reg_0x06, - reg_0x08, - reg_0x09, - reg_0x0a, - reg_0x0b, - reg_0x0c, - reg_0x0d, - reg_0x0e, - reg_0x0f, - reg_0x10, - reg_0x11, - reg_0x12, - reg_0x13, - reg_0x14, - reg_0x15, - reg_0x16, - reg_0x17, - reg_0x18, - reg_0x19, - reg_0x1a, - reg_0x1b, - reg_0x1c, - reg_0x1d, - reg_0x1e, - reg_0x1f, - reg_0x20, - reg_0x21, - reg_0x22, - reg_0x23, - reg_0x24, - reg_0x25, - reg_0x26, - reg_0x27, - reg_0x2c, - reg_0x2d, - reg_0x2e, - reg_0x2f, - reg_0x30, - reg_0x31, - reg_0x32, - reg_0x33, - reg_0x34, - reg_0x35, - reg_0x36, - reg_0x37, - reg_0x38, - reg_0x39, - reg_0x3a, - reg_0x3b, - reg_0x3d, - reg_0x3e, - reg_0x3f, - reg_0x51, - reg_0x52, - reg_0x53, - reg_0x54, - reg_0x55, - reg_0x56, - reg_0x57, - reg_0x58, - reg_0x59, - reg_0x5a, - reg_0x5e, - reg_0x5f, - reg_0x60, - reg_0x61, - reg_0x62, - reg_0x63, - reg_0x64, - reg_0x65, - reg_0x67, - reg_0x68, - reg_0x69, - reg_0x6a, - reg_0x6b, - reg_0x6c, - reg_0x6d, - reg_0x6e, - reg_0x6f, - reg_0x70, - reg_0x71, - reg_0x72, - reg_0x73, - reg_0x74, - reg_0x75, - reg_0x76, - reg_0x77, - reg_0x78, - reg_0x79, - reg_0x7a, - reg_0x7b, - reg_0x7c, - reg_0x7d, - reg_0x7e, - reg_0x7f, - reg_0x80, - reg_0x87, - reg_0x94, - reg_0x98, - reg_0x99, - reg_0x9a, - reg_0x9b, - reg_0x9d, - reg_0x9e, - reg_0xa1, - reg_0xa2, - reg_0xa3, - reg_0xa4, - reg_0xa5, - reg_0xa6, - reg_0xa7, - reg_0xa8, - reg_0xa9, - reg_0xab, - reg_0xbb, - reg_0xbc, - reg_0xbd, - reg_0xbe, - reg_0xc5, - reg_0xc6, - reg_0xc7, - reg_0xc8, - reg_0xc9, - reg_0xca, - reg_0xd0, - reg_0xd1, - reg_0xd2, - reg_0xdb, - reg_0xe0, - reg_0xe1, - reg_0xe2, - reg_0xe3, - reg_0xe4, - reg_0xe5, - reg_0xe6, - reg_0xe7, - reg_0xe8, - reg_0xe9, - reg_0xea, - reg_0xeb, - reg_0xec, - reg_0xed, - reg_0xee, - reg_0xef, - reg_0xf0, - reg_0xf1, - reg_0xf2, - reg_0xf3, - reg_0xf4, - reg_0xf5, - reg_0xf6, - reg_0xf7, - reg_0xf8, - reg_0xfe, - reg_0xff, - GENESYS_GL846_MAX_REGS -}; - -#define SETREG(adr,val) {dev->reg[reg_##adr].address=adr;dev->reg[reg_##adr].value=val;} +#define SETREG(adr,val) { dev->reg.init_reg(adr, val); } /** set up registers for an actual scan * * this function sets up the scanner to scan in normal or single line mode */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl846_init_scan_regs (Genesys_Device * dev, - Genesys_Register_Set * reg, - float xres, /*dpi */ - float yres, /*dpi */ - float startx, /*optical_res, from dummy_pixel+1 */ - float starty, /*base_ydpi, from home! */ - float pixels, - float lines, - unsigned int depth, - unsigned int channels, - int color_filter, - unsigned int flags); +static SANE_Status gl846_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, SetupParams& params); /* Send the low-level scan command */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl846_begin_scan (Genesys_Device * dev, Genesys_Register_Set * reg, SANE_Bool start_motor); +static SANE_Status gl846_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, SANE_Bool start_motor); /* Send the stop scan command */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl846_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, SANE_Bool check_stop); +static SANE_Status gl846_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, SANE_Bool check_stop); -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl846_init (Genesys_Device * dev); +static SANE_Status gl846_init (Genesys_Device * dev); /** @brief moves the slider to steps at motor base dpi * @param dev device to work on * @param steps number of steps to move * */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status +static SANE_Status gl846_feed (Genesys_Device * dev, unsigned int steps); -#ifndef UNIT_TESTING -static -#endif -SANE_Status +static SANE_Status gl846_stop_action (Genesys_Device * dev); -#ifndef UNIT_TESTING -static -#endif -SANE_Status +static SANE_Status gl846_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home); -#ifndef UNIT_TESTING -static -#endif -SANE_Status +static SANE_Status gl846_boot (Genesys_Device * dev, SANE_Bool cold); @@ -594,7 +394,7 @@ static Gpio_Profile gpios[]={ typedef struct { - char *model; + const char *model; uint8_t dramsel; /* shading data address */ uint8_t rd0; @@ -667,8 +467,6 @@ typedef struct { uint8_t r17; /**> TG width */ } Sensor_Profile; -/* *INDENT-OFF* */ - /** * order of the scanned pixel */ @@ -681,7 +479,6 @@ static Sensor_Profile sensors[]={ {CCD_IMG101, 1200, 11000, 60, 159, 85, 5136, 255, 0, 0, 0, order_01 , 0x13}, {CCD_PLUSTEK3800, 1200, 11000, 60, 159, 85, 5136, 255, 0, 0, 0, order_01 , 0x13}, }; -/* *INDENT-ON* */ /* base motor slopes in full step unit */ /* target=((exposure * dpi) / base_dpi)>>step_type; */ @@ -691,7 +488,6 @@ static uint32_t img101_high[] = {22000, 22000, 22000, 18450, 15974, 14284, 13054 * database of motor profiles */ -/* *INDENT-OFF* */ static Motor_Profile gl846_motors[]={ /* Image Formula 101 */ {MOTOR_IMG101, 11000, HALF_STEP , img101_high}, @@ -700,6 +496,3 @@ static Motor_Profile gl846_motors[]={ /* end of database entry */ {0, 0, 0, NULL}, }; -/* *INDENT-ON* */ - -/* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/genesys_gl847.c b/backend/genesys_gl847.c deleted file mode 100644 index a3b35a2..0000000 --- a/backend/genesys_gl847.c +++ /dev/null @@ -1,3824 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2010-2013 Stéphane Voltz - - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#undef BACKEND_NAME -#define BACKEND_NAME genesys_gl847 - -#include "genesys_gl847.h" - -/**************************************************************************** - Low level function - ****************************************************************************/ - -/* ------------------------------------------------------------------------ */ -/* Read and write RAM, registers and AFE */ -/* ------------------------------------------------------------------------ */ - - -/** @brief read scanned data - * Read in 0xeff0 maximum sized blocks. This read is done in 2 - * parts if not multple of 512. First read is rounded to a multiple of 512 bytes, last read fetches the - * remainder. Read addr is always 0x10000000 with the memory layout setup. - * @param dev device to read data from - * @param addr address within ASIC memory space, unused but kept for API - * @param data pointer where to store the read data - * @param len size to read - */ -static SANE_Status -gl847_bulk_read_data (Genesys_Device * dev, uint8_t addr, - uint8_t * data, size_t len) -{ - SANE_Status status; - size_t size, target, read, done; - uint8_t outdata[8]; - uint8_t *buffer; - - DBG (DBG_io, "gl847_bulk_read_data: requesting %lu bytes at addr=0x%02x\n", (u_long) len, addr); - - if (len == 0) - return SANE_STATUS_GOOD; - - target = len; - buffer = data; - - /* loop until computed data size is read */ - while (target) - { - if (target > 0xeff0) - { - size = 0xeff0; - } - else - { - size = target; - } - - /* hard coded 0x10000000 addr */ - outdata[0] = 0; - outdata[1] = 0; - outdata[2] = 0; - outdata[3] = 0x10; - - /* data size to transfer */ - outdata[4] = (size & 0xff); - outdata[5] = ((size >> 8) & 0xff); - outdata[6] = ((size >> 16) & 0xff); - outdata[7] = ((size >> 24) & 0xff); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - VALUE_BUFFER, 0x00, sizeof (outdata), - outdata); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s failed while writing command: %s\n", - __func__, sane_strstatus (status)); - return status; - } - - /* blocks must be multiple of 512 but not last block */ - read = size; - if (read >= 512) - { - read /= 512; - read *= 512; - } - - DBG (DBG_io2, - "gl847_bulk_read_data: trying to read %lu bytes of data\n", - (u_long) read); - status = sanei_usb_read_bulk (dev->dn, buffer, &read); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_bulk_read_data failed while reading bulk data: %s\n", - sane_strstatus (status)); - return status; - } - done=read; - DBG (DBG_io2, "gl847_bulk_read_data: %lu bytes of data read\n", (u_long) done); - - /* read less than 512 bytes remainder */ - if (read < size) - { - read = size - read; - DBG (DBG_io2, - "gl847_bulk_read_data: trying to read %lu bytes of data\n", - (u_long) read); - status = sanei_usb_read_bulk (dev->dn, buffer+done, &read); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_bulk_read_data failed while reading bulk data: %s\n", - sane_strstatus (status)); - return status; - } - done=read; - DBG (DBG_io2, "gl847_bulk_read_data: %lu bytes of data read\n", (u_long) done); - } - - DBG (DBG_io2, "%s: read %lu bytes, %lu remaining\n", __func__, - (u_long) size, (u_long) (target - size)); - - target -= size; - buffer += size; - } - - if (DBG_LEVEL >= DBG_data && dev->binary!=NULL) - { - fwrite(data, len, 1, dev->binary); - } - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -/**************************************************************************** - Mid level functions - ****************************************************************************/ - -static SANE_Bool -gl847_get_fast_feed_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG02); - if (r && (r->value & REG02_FASTFED)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl847_get_filter_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_FILTER)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl847_get_lineart_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_LINEART)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl847_get_bitset_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_BITSET)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl847_get_gain4_bit (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - - r = sanei_genesys_get_address (regs, 0x06); - if (r && (r->value & REG06_GAIN4)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl847_test_buffer_empty_bit (SANE_Byte val) -{ - if (val & REG41_BUFEMPTY) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl847_test_motor_flag_bit (SANE_Byte val) -{ - if (val & REG41_MOTORENB) - return SANE_TRUE; - return SANE_FALSE; -} - -/** - * compute the step multiplier used - */ -static int -gl847_get_step_multiplier (Genesys_Register_Set * regs) -{ - Genesys_Register_Set *r = NULL; - int value = 1; - - r = sanei_genesys_get_address (regs, 0x9d); - if (r != NULL) - { - value = (r->value & 0x0f)>>1; - value = 1 << value; - } - DBG (DBG_io, "%s: step multiplier is %d\n", __func__, value); - return value; -} - -/** @brief sensor profile - * search for the database of motor profiles and get the best one. Each - * profile is at a specific dpihw. Use LiDE 110 table by default. - * @param sensor_type sensor id - * @param dpi hardware dpi for the scan - * @return a pointer to a Sensor_Profile struct - */ -static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi) -{ - unsigned int i; - int idx; - - i=0; - idx=-1; - while(i=dpi - && sensors[i].dpimodel->ccd_type, xres); - return sensor->exposure; -} - - -/** @brief sensor specific settings -*/ -static void -gl847_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi) -{ - Genesys_Register_Set *r; - Sensor_Profile *sensor; - int dpihw, i; - uint16_t exp; - - DBGSTART; - dpihw=sanei_genesys_compute_dpihw(dev,dpi); - - for (i = 0x06; i < 0x0e; i++) - { - r = sanei_genesys_get_address (regs, 0x10 + i); - if (r) - r->value = dev->sensor.regs_0x10_0x1d[i]; - } - - for (i = 0; i < 9; i++) - { - r = sanei_genesys_get_address (regs, 0x52 + i); - if (r) - r->value = dev->sensor.regs_0x52_0x5e[i]; - } - - /* set EXPDUMMY and CKxMAP */ - dpihw=sanei_genesys_compute_dpihw(dev,dpi); - sensor=get_sensor_profile(dev->model->ccd_type, dpihw); - - sanei_genesys_set_reg_from_set(regs,REG_EXPDMY,(uint8_t)((sensor->expdummy) & 0xff)); - - /* if no calibration has been done, set default values for exposures */ - exp=dev->sensor.regs_0x10_0x1d[0]*256+dev->sensor.regs_0x10_0x1d[1]; - if(exp==0) - { - exp=sensor->expr; - } - sanei_genesys_set_double(regs,REG_EXPR,exp); - - exp=dev->sensor.regs_0x10_0x1d[2]*256+dev->sensor.regs_0x10_0x1d[3]; - if(exp==0) - { - exp=sensor->expg; - } - sanei_genesys_set_double(regs,REG_EXPG,exp); - - exp=dev->sensor.regs_0x10_0x1d[4]*256+dev->sensor.regs_0x10_0x1d[5]; - if(exp==0) - { - exp=sensor->expb; - } - sanei_genesys_set_double(regs,REG_EXPB,exp); - - sanei_genesys_set_triple(regs,REG_CK1MAP,sensor->ck1map); - sanei_genesys_set_triple(regs,REG_CK3MAP,sensor->ck3map); - sanei_genesys_set_triple(regs,REG_CK4MAP,sensor->ck4map); - - /* order of the sub-segments */ - dev->order=sensor->order; - - r = sanei_genesys_get_address (regs, 0x17); - r->value = sensor->r17; - - DBGCOMPLETED; -} - - -/* returns the max register bulk size */ -static int -gl847_bulk_full_size (void) -{ - return GENESYS_GL847_MAX_REGS; -} - -/** @brief set all registers to default values . - * This function is called only once at the beginning and - * fills register startup values for registers reused across scans. - * Those that are rarely modified or not modified are written - * individually. - * @param dev device structure holding register set to initialize - */ -static void -gl847_init_registers (Genesys_Device * dev) -{ - int lide700=0; - uint8_t val; - - DBGSTART; - /* 700F class needs some different initial settings */ - if (strcmp (dev->model->name, "canon-lide-700f") == 0) - { - lide700 = 1; - } - - memset (dev->reg, 0, - GENESYS_GL847_MAX_REGS * sizeof (Genesys_Register_Set)); - - SETREG (0x01, 0x82); - SETREG (0x02, 0x18); - SETREG (0x03, 0x50); - SETREG (0x04, 0x12); - SETREG (0x05, 0x80); - SETREG (0x06, 0x50); /* FASTMODE + POWERBIT */ - SETREG (0x08, 0x10); - SETREG (0x09, 0x01); - SETREG (0x0a, 0x00); - SETREG (0x0b, 0x01); - SETREG (0x0c, 0x02); - - /* LED exposures */ - SETREG (0x10, 0x00); - SETREG (0x11, 0x00); - SETREG (0x12, 0x00); - SETREG (0x13, 0x00); - SETREG (0x14, 0x00); - SETREG (0x15, 0x00); - - SETREG (0x16, 0x10); - SETREG (0x17, 0x08); - SETREG (0x18, 0x00); - - /* EXPDMY */ - SETREG (0x19, 0x50); - - SETREG (0x1a, 0x34); - SETREG (0x1b, 0x00); - SETREG (0x1c, 0x02); - SETREG (0x1d, 0x04); - SETREG (0x1e, 0x10); - SETREG (0x1f, 0x04); - SETREG (0x20, 0x02); - SETREG (0x21, 0x10); - SETREG (0x22, 0x7f); - SETREG (0x23, 0x7f); - SETREG (0x24, 0x10); - SETREG (0x25, 0x00); - SETREG (0x26, 0x00); - SETREG (0x27, 0x00); - SETREG (0x2c, 0x09); - SETREG (0x2d, 0x60); - SETREG (0x2e, 0x80); - SETREG (0x2f, 0x80); - SETREG (0x30, 0x00); - SETREG (0x31, 0x10); - SETREG (0x32, 0x15); - SETREG (0x33, 0x0e); - SETREG (0x34, 0x40); - SETREG (0x35, 0x00); - SETREG (0x36, 0x2a); - SETREG (0x37, 0x30); - SETREG (0x38, 0x2a); - SETREG (0x39, 0xf8); - SETREG (0x3d, 0x00); - SETREG (0x3e, 0x00); - SETREG (0x3f, 0x00); - SETREG (0x52, 0x03); - SETREG (0x53, 0x07); - SETREG (0x54, 0x00); - SETREG (0x55, 0x00); - SETREG (0x56, 0x00); - SETREG (0x57, 0x00); - SETREG (0x58, 0x2a); - SETREG (0x59, 0xe1); - SETREG (0x5a, 0x55); - SETREG (0x5e, 0x41); - SETREG (0x5f, 0x40); - SETREG (0x60, 0x00); - SETREG (0x61, 0x21); - SETREG (0x62, 0x40); - SETREG (0x63, 0x00); - SETREG (0x64, 0x21); - SETREG (0x65, 0x40); - SETREG (0x67, 0x80); - SETREG (0x68, 0x80); - SETREG (0x69, 0x20); - SETREG (0x6a, 0x20); - - /* CK1MAP */ - SETREG (0x74, 0x00); - SETREG (0x75, 0x00); - SETREG (0x76, 0x3c); - - /* CK3MAP */ - SETREG (0x77, 0x00); - SETREG (0x78, 0x00); - SETREG (0x79, 0x9f); - - /* CK4MAP */ - SETREG (0x7a, 0x00); - SETREG (0x7b, 0x00); - SETREG (0x7c, 0x55); - - SETREG (0x7d, 0x00); - - /* NOTE: autoconf is a non working option */ - SETREG (0x87, 0x02); - SETREG (0x9d, 0x06); - SETREG (0xa2, 0x0f); - SETREG (0xbd, 0x18); - SETREG (0xfe, 0x08); - - /* gamma[0] and gamma[256] values */ - SETREG (0xbe, 0x00); - SETREG (0xc5, 0x00); - SETREG (0xc6, 0x00); - SETREG (0xc7, 0x00); - SETREG (0xc8, 0x00); - SETREG (0xc9, 0x00); - SETREG (0xca, 0x00); - - /* LiDE 700 fixups */ - if(lide700) - { - SETREG (0x5f, 0x04); - SETREG (0x7d, 0x80); - - /* we write to these registers only once */ - val=0; - sanei_genesys_write_register (dev, REG7E, val); - sanei_genesys_write_register (dev, REG9E, val); - sanei_genesys_write_register (dev, REG9F, val); - sanei_genesys_write_register (dev, REGAB, val); - } - - /* fine tune upon device description */ - dev->reg[reg_0x05].value &= ~REG05_DPIHW; - switch (dev->sensor.optical_res) - { - case 600: - dev->reg[reg_0x05].value |= REG05_DPIHW_600; - break; - case 1200: - dev->reg[reg_0x05].value |= REG05_DPIHW_1200; - break; - case 2400: - dev->reg[reg_0x05].value |= REG05_DPIHW_2400; - break; - case 4800: - dev->reg[reg_0x05].value |= REG05_DPIHW_4800; - break; - } - - /* initalize calibration reg */ - memcpy (dev->calib_reg, dev->reg, - GENESYS_GL847_MAX_REGS * sizeof (Genesys_Register_Set)); - - DBGCOMPLETED; -} - -/**@brief send slope table for motor movement - * Send slope_table in machine byte order - * @param dev device to send slope table - * @param table_nr index of the slope table in ASIC memory - * Must be in the [0-4] range. - * @param slope_table pointer to 16 bit values array of the slope table - * @param steps number of elements in the slope table - */ -static SANE_Status -gl847_send_slope_table (Genesys_Device * dev, int table_nr, - uint16_t * slope_table, int steps) -{ - SANE_Status status; - uint8_t *table; - int i; - char msg[10000]; - - DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, - table_nr, steps); - - /* sanity check */ - if(table_nr<0 || table_nr>4) - { - DBG (DBG_error, "%s: invalid table number %d!\n", __func__, table_nr); - return SANE_STATUS_INVAL; - } - - table = (uint8_t *) malloc (steps * 2); - for (i = 0; i < steps; i++) - { - table[i * 2] = slope_table[i] & 0xff; - table[i * 2 + 1] = slope_table[i] >> 8; - } - - if (DBG_LEVEL >= DBG_io) - { - sprintf (msg, "write slope %d (%d)=", table_nr, steps); - for (i = 0; i < steps; i++) - { - sprintf (msg+strlen(msg), "%d", slope_table[i]); - } - DBG (DBG_io, "%s: %s\n", __func__, msg); - } - - /* slope table addresses are fixed */ - status = - sanei_genesys_write_ahb (dev->dn, dev->usb_mode, 0x10000000 + 0x4000 * table_nr, steps * 2, table); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: write to AHB failed writing slope table %d (%s)\n", - __func__, table_nr, sane_strstatus (status)); - } - - free (table); - DBGCOMPLETED; - return status; -} - -/** - * Set register values of Analog Device type frontend - * */ -static SANE_Status -gl847_set_ad_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - uint16_t val; - uint8_t val8; - - DBGSTART; - - /* wait for FE to be ready */ - status = sanei_genesys_get_status (dev, &val8); - while (val8 & REG41_FEBUSY); - { - usleep (10000); - status = sanei_genesys_get_status (dev, &val8); - }; - - if (set == AFE_INIT) - { - DBG (DBG_proc, "gl847_set_ad_fe(): setting DAC %u\n", - dev->model->dac_type); - - /* sets to default values */ - sanei_genesys_init_fe (dev); - } - - /* reset DAC */ - status = sanei_genesys_fe_write_data (dev, 0x00, 0x80); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl847_set_ad_fe: failed to write reg0: %s\n", - sane_strstatus (status)); - return status; - } - - /* write them to analog frontend */ - val = dev->frontend.reg[0]; - status = sanei_genesys_fe_write_data (dev, 0x00, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl847_set_ad_fe: failed to write reg0: %s\n", - sane_strstatus (status)); - return status; - } - val = dev->frontend.reg[1]; - status = sanei_genesys_fe_write_data (dev, 0x01, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl847_set_ad_fe: failed to write reg1: %s\n", - sane_strstatus (status)); - return status; - } - - for (i = 0; i < 3; i++) - { - val = dev->frontend.gain[i]; - status = sanei_genesys_fe_write_data (dev, 0x02 + i, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_set_ad_fe: failed to write gain %d: %s\n", i, - sane_strstatus (status)); - return status; - } - } - for (i = 0; i < 3; i++) - { - val = dev->frontend.offset[i]; - status = sanei_genesys_fe_write_data (dev, 0x05 + i, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_set_ad_fe: failed to write offset %d: %s\n", i, - sane_strstatus (status)); - return status; - } - } - - DBGCOMPLETED; - return status; -} - -static SANE_Status -gl847_homsnr_gpio(Genesys_Device *dev) -{ -uint8_t val; -SANE_Status status=SANE_STATUS_GOOD; - - if (dev->model->gpo_type == GPO_CANONLIDE700) - { - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - val &= ~REG6C_GPIO10; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - } - else - { - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - val |= REG6C_GPIO10; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - } - return status; -} - -/* Set values of analog frontend */ -static SANE_Status -gl847_set_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status; - uint8_t val; - - DBG (DBG_proc, "gl847_set_fe (%s)\n", - set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == - AFE_POWER_SAVE ? "powersave" : "huh?"); - - RIE (sanei_genesys_read_register (dev, REG04, &val)); - - /* route to AD devices */ - if ((val & REG04_FESET) == 0x02) - { - return gl847_set_ad_fe (dev, set); - } - - /* for now there is no support yet for wolfson fe */ - DBG (DBG_proc, "gl847_set_fe(): unsupported frontend type %d\n", - dev->reg[reg_0x04].value & REG04_FESET); - - DBGCOMPLETED; - return SANE_STATUS_UNSUPPORTED; -} - - -/** @brief set up motor related register for scan - */ -static SANE_Status -gl847_init_motor_regs_scan (Genesys_Device * dev, - Genesys_Register_Set * reg, - unsigned int scan_exposure_time, - float scan_yres, - int scan_step_type, - unsigned int scan_lines, - unsigned int scan_dummy, - unsigned int feed_steps, - int scan_power_mode, - unsigned int flags) -{ - SANE_Status status; - int use_fast_fed; - unsigned int fast_dpi; - uint16_t scan_table[SLOPE_TABLE_SIZE]; - uint16_t fast_table[SLOPE_TABLE_SIZE]; - int scan_steps, fast_steps, factor; - unsigned int feedl, dist; - Genesys_Register_Set *r; - uint32_t z1, z2; - unsigned int min_restep = 0x20; - uint8_t val, effective; - int fast_step_type; - unsigned int ccdlmt,tgtime; - - DBGSTART; - DBG (DBG_proc, "gl847_init_motor_regs_scan : scan_exposure_time=%d, " - "scan_yres=%g, scan_step_type=%d, scan_lines=%d, scan_dummy=%d, " - "feed_steps=%d, scan_power_mode=%d, flags=%x\n", - scan_exposure_time, - scan_yres, - scan_step_type, - scan_lines, scan_dummy, feed_steps, scan_power_mode, flags); - - /* get step multiplier */ - factor = gl847_get_step_multiplier (reg); - - use_fast_fed=0; - /* no fast fed since feed works well */ - if(dev->settings.yres==4444 && feed_steps>100 - && ((flags & MOTOR_FLAG_FEED)==0)) - { - use_fast_fed=1; - } - DBG (DBG_io, "%s: use_fast_fed=%d\n", __func__, use_fast_fed); - - sanei_genesys_set_triple(reg, REG_LINCNT, scan_lines); - DBG (DBG_io, "%s: lincnt=%d\n", __func__, scan_lines); - - /* compute register 02 value */ - r = sanei_genesys_get_address (reg, REG02); - r->value = 0x00; - r->value |= REG02_MTRPWR; - - if (use_fast_fed) - r->value |= REG02_FASTFED; - else - r->value &= ~REG02_FASTFED; - - if (flags & MOTOR_FLAG_AUTO_GO_HOME) - r->value |= REG02_AGOHOME | REG02_NOTHOME; - - if ((flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) - ||(scan_yres>=dev->sensor.optical_res)) - { - r->value |= REG02_ACDCDIS; - } - - /* scan and backtracking slope table */ - sanei_genesys_slope_table(scan_table, - &scan_steps, - scan_yres, - scan_exposure_time, - dev->motor.base_ydpi, - scan_step_type, - factor, - dev->model->motor_type, - gl847_motors); - RIE(gl847_send_slope_table (dev, SCAN_TABLE, scan_table, scan_steps*factor)); - RIE(gl847_send_slope_table (dev, BACKTRACK_TABLE, scan_table, scan_steps*factor)); - - /* fast table */ - fast_dpi=sanei_genesys_get_lowest_ydpi(dev); - fast_step_type=scan_step_type; - if(scan_step_type>=2) - { - fast_step_type=2; - } - - sanei_genesys_slope_table(fast_table, - &fast_steps, - fast_dpi, - scan_exposure_time, - dev->motor.base_ydpi, - fast_step_type, - factor, - dev->model->motor_type, - gl847_motors); - - /* manual override of high start value */ - fast_table[0]=fast_table[1]; - - RIE(gl847_send_slope_table (dev, STOP_TABLE, fast_table, fast_steps*factor)); - RIE(gl847_send_slope_table (dev, FAST_TABLE, fast_table, fast_steps*factor)); - RIE(gl847_send_slope_table (dev, HOME_TABLE, fast_table, fast_steps*factor)); - - /* correct move distance by acceleration and deceleration amounts */ - feedl=feed_steps; - if (use_fast_fed) - { - feedl<<=fast_step_type; - dist=(scan_steps+2*fast_steps)*factor; - /* TODO read and decode REGAB */ - r = sanei_genesys_get_address (reg, 0x5e); - dist += (r->value & 31); - /* FEDCNT */ - r = sanei_genesys_get_address (reg, REG_FEDCNT); - dist += r->value; - } - else - { - feedl<<=scan_step_type; - dist=scan_steps*factor; - if (flags & MOTOR_FLAG_FEED) - dist *=2; - } - DBG (DBG_io2, "%s: scan steps=%d\n", __func__, scan_steps); - DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); - - /* check for overflow */ - if(distvalue & REG0C_CCDLMT)+1; - - r = sanei_genesys_get_address (reg, REG1C); - tgtime=1<<(r->value & REG1C_TGTIME); - - /* hi res motor speed GPIO */ - RIE (sanei_genesys_read_register (dev, REG6C, &effective)); - - /* if quarter step, bipolar Vref2 */ - if (scan_step_type > 1) - { - if (scan_step_type < 3) - { - val = effective & ~REG6C_GPIO13; - } - else - { - val = effective | REG6C_GPIO13; - } - } - else - { - val = effective; - } - RIE (sanei_genesys_write_register (dev, REG6C, val)); - - /* effective scan */ - RIE (sanei_genesys_read_register (dev, REG6C, &effective)); - val = effective | REG6C_GPIO10; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - - min_restep=scan_steps/2-1; - if (min_restep < 1) - min_restep = 1; - r = sanei_genesys_get_address (reg, REG_FWDSTEP); - r->value = min_restep; - r = sanei_genesys_get_address (reg, REG_BWDSTEP); - r->value = min_restep; - - sanei_genesys_calculate_zmode2(use_fast_fed, - scan_exposure_time*ccdlmt*tgtime, - scan_table, - scan_steps*factor, - feedl, - min_restep*factor, - &z1, - &z2); - - DBG (DBG_info, "gl847_init_motor_regs_scan: z1 = %d\n", z1); - sanei_genesys_set_triple(reg, REG60, z1 | (scan_step_type << (16+REG60S_STEPSEL))); - - DBG (DBG_info, "gl847_init_motor_regs_scan: z2 = %d\n", z2); - sanei_genesys_set_triple(reg, REG63, z2 | (scan_step_type << (16+REG63S_FSTPSEL))); - - r = sanei_genesys_get_address (reg, 0x1e); - r->value &= 0xf0; /* 0 dummy lines */ - r->value |= scan_dummy; /* dummy lines */ - - r = sanei_genesys_get_address (reg, REG67); - r->value = REG67_MTRPWM; - - r = sanei_genesys_get_address (reg, REG68); - r->value = REG68_FASTPWM; - - r = sanei_genesys_get_address (reg, REG_STEPNO); - r->value = scan_steps; - - r = sanei_genesys_get_address (reg, REG_FASTNO); - r->value = scan_steps; - - r = sanei_genesys_get_address (reg, REG_FSHDEC); - r->value = scan_steps; - - r = sanei_genesys_get_address (reg, REG_FMOVNO); - r->value = fast_steps; - - r = sanei_genesys_get_address (reg, REG_FMOVDEC); - r->value = fast_steps; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** @brief set up registers related to sensor - * Set up the following registers - 0x01 - 0x03 - 0x10-0x015 R/G/B exposures - 0x19 EXPDMY - 0x2e BWHI - 0x2f BWLO - 0x04 - 0x87 - 0x05 - 0x2c,0x2d DPISET - 0x30,0x31 STRPIXEL - 0x32,0x33 ENDPIXEL - 0x35,0x36,0x37 MAXWD [25:2] (>>2) - 0x38,0x39 LPERIOD - 0x34 DUMMY - */ -static SANE_Status -gl847_init_optical_regs_scan (Genesys_Device * dev, - Genesys_Register_Set * reg, - unsigned int exposure_time, - int used_res, - unsigned int start, - unsigned int pixels, - int channels, - int depth, - SANE_Bool half_ccd, int color_filter, int flags) -{ - unsigned int words_per_line; - unsigned int startx, endx, used_pixels; - unsigned int dpiset, dpihw,segnb,cksel,factor; - unsigned int bytes; - Genesys_Register_Set *r; - SANE_Status status; - Sensor_Profile *sensor; - - DBG (DBG_proc, "gl847_init_optical_regs_scan : exposure_time=%d, " - "used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " - "half_ccd=%d, flags=%x\n", exposure_time, - used_res, start, pixels, channels, depth, half_ccd, flags); - - /* resolution is divided according to CKSEL */ - r = sanei_genesys_get_address (reg, REG18); - cksel= (r->value & REG18_CKSEL)+1; - DBG (DBG_io2, "%s: cksel=%d\n", __func__, cksel); - - /* to manage high resolution device while keeping good - * low resolution scanning speed, we make hardware dpi vary */ - dpihw=sanei_genesys_compute_dpihw(dev, used_res * cksel); - factor=dev->sensor.optical_res/dpihw; - DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); - - /* sensor parameters */ - sensor=get_sensor_profile(dev->model->ccd_type, dpihw); - gl847_setup_sensor (dev, reg, dpihw); - dpiset = used_res * cksel; - - /* start and end coordinate in optical dpi coordinates */ - startx = start/cksel+dev->sensor.CCD_start_xoffset; - used_pixels=pixels/cksel; - - /* end of sensor window */ - endx = startx + used_pixels; - - /* sensors are built from 600 dpi segments for LiDE 100/200 - * and 1200 dpi for the 700F */ - if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR) - { - segnb=dpihw/600; - } - else - { - segnb=1; - } - - /* compute pixel coordinate in the given dpihw space, - * taking segments into account */ - startx/=factor*segnb; - endx/=factor*segnb; - dev->len=endx-startx; - dev->dist=0; - dev->skip=0; - - /* in cas of multi-segments sensor, we have to add the witdh - * of the sensor crossed by the scan area */ - if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR && segnb>1) - { - dev->dist = sensor->segcnt; - } - - /* use a segcnt rounded to next even number */ - endx += ((dev->dist+1)&0xfffe)*(segnb-1); - used_pixels=endx-startx; - - status = gl847_set_fe (dev, AFE_SET); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_init_optical_regs_scan: failed to set frontend: %s\n", - sane_strstatus (status)); - return status; - } - - /* enable shading */ - r = sanei_genesys_get_address (reg, REG01); - r->value &= ~REG01_SCAN; - r->value |= REG01_SHDAREA; - if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || - (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) - { - r->value &= ~REG01_DVDSET; - } - else - { - r->value |= REG01_DVDSET; - } - - r = sanei_genesys_get_address (reg, REG03); - r->value &= ~REG03_AVEENB; - - if (flags & OPTICAL_FLAG_DISABLE_LAMP) - r->value &= ~REG03_LAMPPWR; - else - r->value |= REG03_LAMPPWR; - - /* BW threshold */ - r = sanei_genesys_get_address (reg, 0x2e); - r->value = dev->settings.threshold; - r = sanei_genesys_get_address (reg, 0x2f); - r->value = dev->settings.threshold; - - /* monochrome / color scan */ - r = sanei_genesys_get_address (reg, REG04); - switch (depth) - { - case 1: - r->value &= ~REG04_BITSET; - r->value |= REG04_LINEART; - break; - case 8: - r->value &= ~(REG04_LINEART | REG04_BITSET); - break; - case 16: - r->value &= ~REG04_LINEART; - r->value |= REG04_BITSET; - break; - } - - r->value &= ~(REG04_FILTER | REG04_AFEMOD); - if (channels == 1) - { - switch (color_filter) - { - case 0: - r->value |= 0x14; /* red filter */ - break; - case 2: - r->value |= 0x1c; /* blue filter */ - break; - default: - r->value |= 0x18; /* green filter */ - break; - } - } - else - r->value |= 0x10; /* mono */ - - /* register 05 */ - r = sanei_genesys_get_address (reg, REG05); - - /* set up dpihw */ - r->value &= ~REG05_DPIHW; - switch(dpihw) - { - case 600: - r->value |= REG05_DPIHW_600; - break; - case 1200: - r->value |= REG05_DPIHW_1200; - break; - case 2400: - r->value |= REG05_DPIHW_2400; - break; - case 4800: - r->value |= REG05_DPIHW_4800; - break; - } - - /* enable gamma tables */ - if (flags & OPTICAL_FLAG_DISABLE_GAMMA) - r->value &= ~REG05_GMMENB; - else - r->value |= REG05_GMMENB; - - /* CIS scanners can do true gray by setting LEDADD */ - /* we set up LEDADD only when asked */ - if (dev->model->is_cis == SANE_TRUE) - { - r = sanei_genesys_get_address (reg, 0x87); - r->value &= ~REG87_LEDADD; - if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) - { - r->value |= REG87_LEDADD; - } - /* RGB weighting - r = sanei_genesys_get_address (reg, 0x01); - r->value &= ~REG01_TRUEGRAY; - if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) - { - r->value |= REG01_TRUEGRAY; - }*/ - } - - /* words(16bit) before gamma, conversion to 8 bit or lineart*/ - words_per_line = (used_pixels * dpiset) / dpihw; - bytes=depth/8; - if (depth == 1) - { - words_per_line = (words_per_line+7)/8 ; - dev->len = (dev->len >> 3) + ((dev->len & 7) ? 1 : 0); - dev->dist = (dev->dist >> 3) + ((dev->dist & 7) ? 1 : 0); - } - else - { - words_per_line *= bytes; - dev->dist *= bytes; - dev->len *= bytes; - } - - dev->bpl = words_per_line; - dev->cur=0; - dev->segnb=segnb; - dev->line_interp = 0; - - sanei_genesys_set_double(reg,REG_DPISET,dpiset); - DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); - - sanei_genesys_set_double(reg,REG_STRPIXEL,startx); - sanei_genesys_set_double(reg,REG_ENDPIXEL,endx); - DBG (DBG_io2, "%s: startx=%d\n", __func__, startx); - DBG (DBG_io2, "%s: endx =%d\n", __func__, endx); - - DBG (DBG_io2, "%s: used_pixels=%d\n", __func__, used_pixels); - DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); - DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); - DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long)dev->bpl); - DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); - DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); - DBG (DBG_io2, "%s: dev->segnb =%lu\n", __func__, (unsigned long)dev->segnb); - - words_per_line *= channels; - dev->wpl = words_per_line; - - if(dev->oe_buffer.buffer!=NULL) - { - sanei_genesys_buffer_free (&(dev->oe_buffer)); - } - RIE (sanei_genesys_buffer_alloc (&(dev->oe_buffer), dev->wpl)); - - /* MAXWD is expressed in 4 words unit */ - sanei_genesys_set_triple(reg, REG_MAXWD, (words_per_line >> 2)); - DBG (DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); - - sanei_genesys_set_double(reg, REG_LPERIOD, exposure_time); - DBG (DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); - - r = sanei_genesys_get_address (reg, 0x34); - r->value = dev->sensor.dummy_pixel; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* set up registers for an actual scan - * - * this function sets up the scanner to scan in normal or single line mode - */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl847_init_scan_regs (Genesys_Device * dev, - Genesys_Register_Set * reg, - float xres, /*dpi */ - float yres, /*dpi */ - float startx, /*optical_res, from dummy_pixel+1 */ - float starty, /*base_ydpi, from home! */ - float pixels, - float lines, - unsigned int depth, - unsigned int channels, - int color_filter, - unsigned int flags) -{ - int used_res; - int start, used_pixels; - int bytes_per_line; - int move; - unsigned int lincnt; - unsigned int oflags; /**> optical flags */ - unsigned int mflags; /**> motor flags */ - int exposure_time; - int stagger; - - int slope_dpi = 0; - int dummy = 0; - int scan_step_type = 1; - int scan_power_mode = 0; - int max_shift; - size_t requested_buffer_size, read_buffer_size; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - SANE_Status status; - - DBG (DBG_info, - "gl847_init_scan_regs settings:\n" - "Resolution : %gDPI/%gDPI\n" - "Lines : %g\n" - "PPL : %g\n" - "Startpos : %g/%g\n" - "Depth/Channels: %u/%u\n" - "Flags : %x\n\n", - xres, yres, lines, pixels, startx, starty, depth, channels, flags); - - /* we may have 2 domains for ccd: xres below or above half ccd max dpi */ - if (dev->sensor.optical_res < 2 * xres || - !(dev->model->flags & GENESYS_FLAG_HALF_CCD_MODE)) - { - half_ccd = SANE_FALSE; - } - else - { - half_ccd = SANE_TRUE; - } - - /* optical_res */ - optical_res = dev->sensor.optical_res; - if (half_ccd) - optical_res /= 2; - - /* stagger */ - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG (DBG_info, "gl847_init_scan_regs : stagger=%d lines\n", stagger); - - /* used_res */ - if (flags & SCAN_FLAG_USE_OPTICAL_RES) - { - used_res = optical_res; - } - else - { - /* resolution is choosen from a list */ - used_res = xres; - } - - /* compute scan parameters values */ - /* pixels are allways given at full optical resolution */ - /* use detected left margin and fixed value */ - /* start */ - /* add x coordinates */ - start = startx; - - if (stagger > 0) - start |= 1; - - /* compute correct pixels number */ - /* pixels */ - used_pixels = (pixels * optical_res) / xres; - - /* round up pixels number if needed */ - if (used_pixels * xres < pixels * optical_res) - used_pixels++; - - dummy = 3-channels; - -/* slope_dpi */ -/* cis color scan is effectively a gray scan with 3 gray lines per color - line and a FILTER of 0 */ - if (dev->model->is_cis) - slope_dpi = yres * channels; - else - slope_dpi = yres; - - slope_dpi = slope_dpi * (1 + dummy); - - exposure_time = gl847_compute_exposure (dev, used_res); - scan_step_type = sanei_genesys_compute_step_type(gl847_motors, dev->model->motor_type, exposure_time); - - DBG (DBG_info, "gl847_init_scan_regs : exposure_time=%d pixels\n", exposure_time); - DBG (DBG_info, "gl847_init_scan_regs : scan_step_type=%d\n", scan_step_type); - -/*** optical parameters ***/ - /* in case of dynamic lineart, we use an internal 8 bit gray scan - * to generate 1 lineart data */ - if ((flags & SCAN_FLAG_DYNAMIC_LINEART) && (dev->settings.scan_mode == SCAN_MODE_LINEART)) - { - depth = 8; - } - - /* we enable true gray for cis scanners only, and just when doing - * scan since color calibration is OK for this mode - */ - oflags = 0; - if(flags & SCAN_FLAG_DISABLE_SHADING) - oflags |= OPTICAL_FLAG_DISABLE_SHADING; - if(flags & SCAN_FLAG_DISABLE_GAMMA) - oflags |= OPTICAL_FLAG_DISABLE_GAMMA; - if(flags & SCAN_FLAG_DISABLE_LAMP) - oflags |= OPTICAL_FLAG_DISABLE_LAMP; - - if (dev->model->is_cis && dev->settings.true_gray) - { - oflags |= OPTICAL_FLAG_ENABLE_LEDADD; - } - - status = gl847_init_optical_regs_scan (dev, - reg, - exposure_time, - used_res, - start, - used_pixels, - channels, - depth, - half_ccd, - color_filter, - oflags); - - if (status != SANE_STATUS_GOOD) - return status; - -/*** motor parameters ***/ - - /* max_shift */ - max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,flags); - - /* lincnt */ - lincnt = lines + max_shift + stagger; - - /* add tl_y to base movement */ - move = starty; - DBG (DBG_info, "gl847_init_scan_regs: move=%d steps\n", move); - - mflags=0; - if(flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE) - mflags |= MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE; - if(flags & SCAN_FLAG_FEEDING) - mflags |= MOTOR_FLAG_FEED; - - status = gl847_init_motor_regs_scan (dev, - reg, - exposure_time, - slope_dpi, - scan_step_type, - dev->model->is_cis ? lincnt * - channels : lincnt, dummy, move, - scan_power_mode, - mflags); - - if (status != SANE_STATUS_GOOD) - return status; - - - /*** prepares data reordering ***/ - -/* words_per_line */ - bytes_per_line = (used_pixels * used_res) / optical_res; - bytes_per_line = (bytes_per_line * channels * depth) / 8; - - requested_buffer_size = 8 * bytes_per_line; - /* we must use a round number of bytes_per_line */ - /* XXX STEF XXX - if (requested_buffer_size > BULKIN_MAXSIZE) - requested_buffer_size = - (BULKIN_MAXSIZE / bytes_per_line) * bytes_per_line; - */ - - read_buffer_size = - 2 * requested_buffer_size + - ((max_shift + stagger) * used_pixels * channels * depth) / 8; - - RIE (sanei_genesys_buffer_free (&(dev->read_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->read_buffer), read_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->lines_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->lines_buffer), read_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->shrink_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->shrink_buffer), - requested_buffer_size)); - - RIE (sanei_genesys_buffer_free (&(dev->out_buffer))); - RIE (sanei_genesys_buffer_alloc (&(dev->out_buffer), - (8 * dev->settings.pixels * channels * - depth) / 8)); - - - dev->read_bytes_left = bytes_per_line * lincnt; - - DBG (DBG_info, - "gl847_init_scan_regs: physical bytes to read = %lu\n", - (u_long) dev->read_bytes_left); - dev->read_active = SANE_TRUE; - - - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - dev->current_setup.lines = lincnt; - dev->current_setup.depth = depth; - dev->current_setup.channels = channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = yres; - dev->current_setup.half_ccd = half_ccd; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - -/* TODO: should this be done elsewhere? */ - /* scan bytes to send to the frontend */ - /* theory : - target_size = - (dev->settings.pixels * dev->settings.lines * channels * depth) / 8; - but it suffers from integer overflow so we do the following: - - 1 bit color images store color data byte-wise, eg byte 0 contains - 8 bits of red data, byte 1 contains 8 bits of green, byte 2 contains - 8 bits of blue. - This does not fix the overflow, though. - 644mp*16 = 10gp, leading to an overflow - -- pierre - */ - - dev->total_bytes_read = 0; - if (depth == 1) - dev->total_bytes_to_read = - ((dev->settings.pixels * dev->settings.lines) / 8 + - (((dev->settings.pixels * dev->settings.lines) % 8) ? 1 : 0)) * - channels; - else - dev->total_bytes_to_read = - dev->settings.pixels * dev->settings.lines * channels * (depth / 8); - - DBG (DBG_info, "gl847_init_scan_regs: total bytes to send = %lu\n", - (u_long) dev->total_bytes_to_read); -/* END TODO */ - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl847_calculate_current_setup (Genesys_Device * dev) -{ - int channels; - int depth; - int start; - - float xres; /*dpi */ - float yres; /*dpi */ - float startx; /*optical_res, from dummy_pixel+1 */ - float pixels; - float lines; - - int used_res; - int used_pixels; - unsigned int lincnt; - int exposure_time; - int stagger; - - int slope_dpi = 0; - int dummy = 0; - int max_shift; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - - DBG (DBG_info, - "gl847_calculate_current_setup settings:\n" - "Resolution: %uDPI\n" - "Lines : %u\n" - "PPL : %u\n" - "Startpos : %.3f/%.3f\n" - "Scan mode : %d\n\n", - dev->settings.yres, dev->settings.lines, dev->settings.pixels, - dev->settings.tl_x, dev->settings.tl_y, dev->settings.scan_mode); - - /* channels */ - if (dev->settings.scan_mode == 4) /* single pass color */ - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == 0) - depth = 1; - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - start = (start * dev->sensor.optical_res) / MM_PER_INCH; - - - xres = dev->settings.xres; /*dpi */ - yres = dev->settings.yres; /*dpi */ - startx = start; /*optical_res, from dummy_pixel+1 */ - pixels = dev->settings.pixels; - lines = dev->settings.lines; - - DBG (DBG_info, - "gl847_calculate_current_setup settings:\n" - "Resolution : %gDPI/%gDPI\n" - "Lines : %g\n" - "PPL : %g\n" - "Startpos : %g\n" - "Depth/Channels: %u/%u\n\n", - xres, yres, lines, pixels, startx, depth, channels); - -/* half_ccd */ - /* we have 2 domains for ccd: xres below or above half ccd max dpi */ - if ((dev->sensor.optical_res < 2 * xres) || - !(dev->model->flags & GENESYS_FLAG_HALF_CCD_MODE)) - { - half_ccd = SANE_FALSE; - } - else - { - half_ccd = SANE_TRUE; - } - - /* optical_res */ - optical_res = dev->sensor.optical_res; - - /* stagger */ - if (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE) - stagger = (4 * yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG (DBG_info, "gl847_calculate_current_setup: stagger=%d lines\n", - stagger); - - /* resolution is choosen from a fixed list */ - used_res = xres; - - /* compute scan parameters values */ - /* pixels are allways given at half or full CCD optical resolution */ - /* use detected left margin and fixed value */ - - /* compute correct pixels number */ - used_pixels = (pixels * optical_res) / used_res; - dummy = 3-channels; - - /* slope_dpi */ - /* cis color scan is effectively a gray scan with 3 gray lines per color - line and a FILTER of 0 */ - if (dev->model->is_cis) - slope_dpi = yres * channels; - else - slope_dpi = yres; - - slope_dpi = slope_dpi * (1 + dummy); - - exposure_time = gl847_compute_exposure (dev, used_res); - DBG (DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); - - /* max_shift */ - max_shift=sanei_genesys_compute_max_shift(dev,channels,yres,0); - - /* lincnt */ - lincnt = lines + max_shift + stagger; - - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - dev->current_setup.lines = lincnt; - dev->current_setup.depth = depth; - dev->current_setup.channels = channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = yres; - dev->current_setup.half_ccd = half_ccd; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static void -gl847_set_motor_power (Genesys_Register_Set * regs, SANE_Bool set) -{ - - DBG (DBG_proc, "gl847_set_motor_power\n"); - - if (set) - { - sanei_genesys_set_reg_from_set (regs, REG02, - sanei_genesys_read_reg_from_set (regs, - REG02) - | REG02_MTRPWR); - } - else - { - sanei_genesys_set_reg_from_set (regs, REG02, - sanei_genesys_read_reg_from_set (regs, - REG02) - & ~REG02_MTRPWR); - } -} - -static void -gl847_set_lamp_power (Genesys_Device __sane_unused__ * dev, - Genesys_Register_Set * regs, SANE_Bool set) -{ - if (set) - { - sanei_genesys_set_reg_from_set (regs, REG03, - sanei_genesys_read_reg_from_set (regs, REG03) - | REG03_LAMPPWR); - } - else - { - sanei_genesys_set_reg_from_set (regs, REG03, - sanei_genesys_read_reg_from_set (regs, REG03) - & ~REG03_LAMPPWR); - } -} - -/*for fast power saving methods only, like disabling certain amplifiers*/ -static SANE_Status -gl847_save_power (Genesys_Device * dev, SANE_Bool enable) -{ - DBG (DBG_proc, "gl847_save_power: enable = %d\n", enable); - if (dev == NULL) - return SANE_STATUS_INVAL; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl847_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) -{ - DBG (DBG_proc, "gl847_set_powersaving (delay = %d)\n", delay); - if (dev == NULL) - return SANE_STATUS_INVAL; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl847_start_action (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x01); -} - -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl847_stop_action (Genesys_Device * dev) -{ - SANE_Status status; - uint8_t val40, val; - unsigned int loop; - - DBGSTART; - - /* post scan gpio : without that HOMSNR is unreliable */ - gl847_homsnr_gpio(dev); - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - status = sanei_genesys_read_register (dev, REG40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* only stop action if needed */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) - { - DBG (DBG_info, "%s: already stopped\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* ends scan */ - val = sanei_genesys_read_reg_from_set (dev->reg, REG01); - val &= ~REG01_SCAN; - sanei_genesys_set_reg_from_set (dev->reg, REG01, val); - status = sanei_genesys_write_register (dev, REG01, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to write register 01: %s\n", __func__, - sane_strstatus (status)); - return status; - } - usleep (100 * 1000); - - loop = 10; - while (loop > 0) - { - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - status = sanei_genesys_read_register (dev, REG40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* if scanner is in command mode, we are done */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG) - && !(val & REG41_MOTORENB)) - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - usleep (100 * 1000); - loop--; - } - - DBGCOMPLETED; - return SANE_STATUS_IO_ERROR; -} - -/* Send the low-level scan command */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl847_begin_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool start_motor) -{ - SANE_Status status; - uint8_t val; - Genesys_Register_Set *r; - - DBGSTART; - - /* clear GPIO 10 */ - if (dev->model->gpo_type != GPO_CANONLIDE700) - { - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - val &= ~REG6C_GPIO10; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - } - - val = REG0D_CLRLNCNT; - RIE (sanei_genesys_write_register (dev, REG0D, val)); - val = REG0D_CLRMCNT; - RIE (sanei_genesys_write_register (dev, REG0D, val)); - - RIE (sanei_genesys_read_register (dev, REG01, &val)); - val |= REG01_SCAN; - RIE (sanei_genesys_write_register (dev, REG01, val)); - r = sanei_genesys_get_address (reg, REG01); - r->value = val; - - if (start_motor) - { - RIE (sanei_genesys_write_register (dev, REG0F, 1)); - } - else - { - RIE (sanei_genesys_write_register (dev, REG0F, 0)); - } - - DBGCOMPLETED; - - return status; -} - - -/* Send the stop scan command */ -#ifndef UNIT_TESTING -static -#endif - SANE_Status -gl847_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop) -{ - SANE_Status status; - - DBG (DBG_proc, "gl847_end_scan (check_stop = %d)\n", check_stop); - if (reg == NULL) - return SANE_STATUS_INVAL; - - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = SANE_STATUS_GOOD; - } - else /* flat bed scanners */ - { - status = gl847_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_end_scan: failed to stop: %s\n", - sane_strstatus (status)); - return status; - } - } - - DBGCOMPLETED; - return status; -} - -/** rewind scan - * Move back by the same amount of distance than previous scan. - * @param dev device to rewind - * @returns SANE_STATUS_GOOD on success - */ -GENESYS_STATIC -SANE_Status gl847_rewind(Genesys_Device * dev) -{ - SANE_Status status; - uint8_t byte; - - DBGSTART; - - /* set motor reverse */ - RIE (sanei_genesys_read_register (dev, 0x02, &byte)); - byte |= 0x04; - RIE (sanei_genesys_write_register(dev, 0x02, byte)); - - /* and start scan, then wait completion */ - RIE (gl847_begin_scan (dev, dev->reg, SANE_TRUE)); - do - { - usleep(100*1000); - RIE (sanei_genesys_read_register (dev, REG40, &byte)); - } - while(byte & REG40_MOTMFLG); - RIE (gl847_end_scan (dev, dev->reg, SANE_TRUE)); - - /* restore direction */ - RIE (sanei_genesys_read_register (dev, 0x02, &byte)); - byte &= 0xfb; - RIE (sanei_genesys_write_register(dev, 0x02, byte)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** Park head - * Moves the slider to the home (top) position slowly - * @param dev device to park - * @param wait_until_home true to make the function waiting for head - * to be home before returning, if fals returne immediately - * @returns SANE_STATUS_GOO on success */ -GENESYS_STATIC -SANE_Status -gl847_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) -{ - Genesys_Register_Set local_reg[GENESYS_GL847_MAX_REGS]; - SANE_Status status; - Genesys_Register_Set *r; - float resolution; - uint8_t val; - int loop = 0; - int scan_mode; - - DBG (DBG_proc, "gl847_slow_back_home (wait_until_home = %d)\n", - wait_until_home); - - /* post scan gpio : without that HOMSNR is unreliable */ - gl847_homsnr_gpio(dev); - - /* first read gives HOME_SENSOR true */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - usleep (100000); /* sleep 100 ms */ - - /* second is reliable */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - /* is sensor at home? */ - if (val & HOMESNR) - { - DBG (DBG_info, "%s: already at home, completed\n", __func__); - dev->scanhead_position_in_steps = 0; - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - memcpy (local_reg, dev->reg, GENESYS_GL847_MAX_REGS * sizeof (Genesys_Register_Set)); - - resolution=sanei_genesys_get_lowest_ydpi(dev); - - /* TODO add scan_mode to the API */ - scan_mode= dev->settings.scan_mode; - dev->settings.scan_mode=SCAN_MODE_LINEART; - status = gl847_init_scan_regs (dev, - local_reg, - resolution, - resolution, - 100, - 30000, - 100, - 100, - 8, - 1, - 0, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_slow_back_home: failed to set up registers: %s\n", - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - dev->settings.scan_mode=scan_mode; - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* set up for reverse */ - r = sanei_genesys_get_address (local_reg, REG02); - r->value |= REG02_MTRREV; - - RIE (dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL847_MAX_REGS)); - - status = gl847_start_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_slow_back_home: failed to start motor: %s\n", - sane_strstatus (status)); - gl847_stop_action (dev); - /* send original registers */ - dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL847_MAX_REGS); - return status; - } - - /* post scan gpio : without that HOMSNR is unreliable */ - gl847_homsnr_gpio(dev); - - if (wait_until_home) - { - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_slow_back_home: failed to read home sensor: %s\n", - sane_strstatus (status)); - return status; - } - - if (val & HOMESNR) /* home sensor */ - { - DBG (DBG_info, "gl847_slow_back_home: reached home position\n"); - gl847_stop_action (dev); - dev->scanhead_position_in_steps = 0; - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - usleep (100000); /* sleep 100 ms */ - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl847_stop_action (dev); - DBG (DBG_error, - "gl847_slow_back_home: timeout while waiting for scanhead to go home\n"); - return SANE_STATUS_IO_ERROR; - } - - DBG (DBG_info, "gl847_slow_back_home: scanhead is still moving\n"); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels - area at 600 dpi from very top of scanner */ -static SANE_Status -gl847_search_start_position (Genesys_Device * dev) -{ - int size; - SANE_Status status; - uint8_t *data; - Genesys_Register_Set local_reg[GENESYS_GL847_MAX_REGS]; - int steps; - - int pixels = 600; - int dpi = 300; - - DBG (DBG_proc, "gl847_search_start_position\n"); - - memcpy (local_reg, dev->reg, - GENESYS_GL847_MAX_REGS * sizeof (Genesys_Register_Set)); - - /* sets for a 200 lines * 600 pixels */ - /* normal scan with no shading */ - - status = gl847_init_scan_regs (dev, local_reg, dpi, dpi, 0, 0, /*we should give a small offset here~60 steps */ - 600, dev->model->search_lines, 8, 1, 1, /*green */ - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_search_start_position: failed to set up registers: %s\n", - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* send to scanner */ - status = dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL847_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_search_start_position: failed to bulk write registers: %s\n", - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - size = pixels * dev->model->search_lines; - - data = malloc (size); - if (!data) - { - DBG (DBG_error, - "gl847_search_start_position: failed to allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - - status = gl847_begin_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl847_search_start_position: failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data, size); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl847_search_start_position: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("search_position.pnm", data, 8, 1, pixels, - dev->model->search_lines); - - status = gl847_end_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl847_search_start_position: failed to end scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* update regs to copy ASIC internal state */ - memcpy (dev->reg, local_reg, - GENESYS_GL847_MAX_REGS * sizeof (Genesys_Register_Set)); - -/*TODO: find out where sanei_genesys_search_reference_point - stores information, and use that correctly*/ - status = - sanei_genesys_search_reference_point (dev, data, 0, dpi, pixels, - dev->model->search_lines); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl847_search_start_position: failed to set search reference point: %s\n", - sane_strstatus (status)); - return status; - } - - free (data); - return SANE_STATUS_GOOD; -} - -/* - * sets up register for coarse gain calibration - * todo: check it for scanners using it */ -static SANE_Status -gl847_init_regs_for_coarse_calibration (Genesys_Device * dev) -{ - SANE_Status status; - uint8_t channels; - uint8_t cksel; - - DBG (DBG_proc, "gl847_init_regs_for_coarse_calibration\n"); - - - cksel = (dev->calib_reg[reg_0x18].value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ - - /* set line size */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - channels = 3; - else - channels = 1; - - status = gl847_init_scan_regs (dev, - dev->calib_reg, - dev->settings.xres, - dev->settings.yres, - 0, - 0, - dev->sensor.optical_res / cksel, - 20, - 16, - channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_init_register_for_coarse_calibration: Failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_info, - "gl847_init_register_for_coarse_calibration: optical sensor res: %d dpi, actual res: %d\n", - dev->sensor.optical_res / cksel, dev->settings.xres); - - status = - dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL847_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_init_register_for_coarse_calibration: Failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief moves the slider to steps at motor base dpi - * @param dev device to work on - * @param steps number of steps to move in base_dpi line count - * */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status -gl847_feed (Genesys_Device * dev, unsigned int steps) -{ - Genesys_Register_Set local_reg[GENESYS_GL847_MAX_REGS]; - SANE_Status status; - Genesys_Register_Set *r; - float resolution; - uint8_t val; - - DBGSTART; - DBG (DBG_io, "%s: steps=%d\n", __func__, steps); - - /* prepare local registers */ - memcpy (local_reg, dev->reg, GENESYS_GL847_MAX_REGS * sizeof (Genesys_Register_Set)); - - resolution=sanei_genesys_get_lowest_ydpi(dev); - status = gl847_init_scan_regs (dev, - local_reg, - resolution, - resolution, - 0, - steps, - 100, - 3, - 8, - 3, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_FEEDING | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_feed: failed to set up registers: %s\n", - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* set exposure to zero */ - sanei_genesys_set_triple(local_reg,REG_EXPR,0); - sanei_genesys_set_triple(local_reg,REG_EXPG,0); - sanei_genesys_set_triple(local_reg,REG_EXPB,0); - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT)); - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRMCNT)); - - /* set up for no scan */ - r = sanei_genesys_get_address (local_reg, REG01); - r->value &= ~REG01_SCAN; - - /* send registers */ - RIE (dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL847_MAX_REGS)); - - status = gl847_start_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus (status)); - gl847_stop_action (dev); - - /* restore original registers */ - dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL847_MAX_REGS); - return status; - } - - /* wait until feed count reaches the required value, but do not - * exceed 30s */ - do - { - status = sanei_genesys_get_status (dev, &val); - } - while (status == SANE_STATUS_GOOD && !(val & FEEDFSH)); - - /* then stop scanning */ - RIE(gl847_stop_action (dev)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* init registers for shading calibration */ -static SANE_Status -gl847_init_regs_for_shading (Genesys_Device * dev) -{ - SANE_Status status; - float move; - - DBGSTART; - dev->calib_channels = 3; - - /* initial calibration reg values */ - memcpy (dev->calib_reg, dev->reg, GENESYS_GL847_MAX_REGS * sizeof (Genesys_Register_Set)); - - dev->calib_resolution = sanei_genesys_compute_dpihw(dev,dev->settings.xres); - dev->calib_lines = dev->model->shading_lines; - if(dev->calib_resolution==4800) - dev->calib_lines *= 2; - dev->calib_pixels = (dev->sensor.sensor_pixels*dev->calib_resolution)/dev->sensor.optical_res; - DBG (DBG_io, "%s: calib_lines = %d\n", __func__, (int)dev->calib_lines); - DBG (DBG_io, "%s: calib_pixels = %d\n", __func__, (int)dev->calib_pixels); - - /* this is aworkaround insufficent distance for slope - * motor acceleration TODO special motor slope for shading */ - move=1; - if(dev->calib_resolution<1200) - { - move=40; - } - - status = gl847_init_scan_regs (dev, - dev->calib_reg, - dev->calib_resolution, - dev->calib_resolution, - 0, - move, - dev->calib_pixels, - dev->calib_lines, - 16, - dev->calib_channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); - return status; - } - - status = dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL847_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus (status)); - return status; - } - - /* we use GENESYS_FLAG_SHADING_REPARK */ - dev->scanhead_position_in_steps = 0; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief set up registers for the actual scan - */ -static SANE_Status -gl847_init_regs_for_scan (Genesys_Device * dev) -{ - int channels; - int flags; - int depth; - float move; - int move_dpi; - float start; - - SANE_Status status; - - DBG (DBG_info, - "gl847_init_regs_for_scan settings:\nResolution: %uDPI\n" - "Lines : %u\nPPL : %u\nStartpos : %.3f/%.3f\nScan mode : %d\n\n", - dev->settings.yres, dev->settings.lines, dev->settings.pixels, - dev->settings.tl_x, dev->settings.tl_y, dev->settings.scan_mode); - - /* channels */ - if (dev->settings.scan_mode == SCAN_MODE_COLOR) /* single pass color */ - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == SCAN_MODE_LINEART) - depth = 1; - - - /* steps to move to reach scanning area: - - first we move to physical start of scanning - either by a fixed steps amount from the black strip - or by a fixed amount from parking position, - minus the steps done during shading calibration - - then we move by the needed offset whitin physical - scanning area - - assumption: steps are expressed at maximum motor resolution - - we need: - SANE_Fixed y_offset; - SANE_Fixed y_size; - SANE_Fixed y_offset_calib; - mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ - - /* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is - relative from origin, else, it is from parking position */ - - move_dpi = dev->motor.base_ydpi; - - move = SANE_UNFIX (dev->model->y_offset); - move += dev->settings.tl_y; - move = (move * move_dpi) / MM_PER_INCH; - move -= dev->scanhead_position_in_steps; - DBG (DBG_info, "%s: move=%f steps\n",__func__, move); - - /* fast move to scan area */ - /* we don't move fast the whole distance since it would involve - * computing acceleration/deceleration distance for scan - * resolution. So leave a remainder for it so scan makes the final - * move tuning */ - if(channels*dev->settings.yres>=600 && move>700) - { - status = gl847_feed (dev, move-500); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to move to scan area\n",__func__); - return status; - } - move=500; - } - - DBG (DBG_info, "gl124_init_regs_for_scan: move=%f steps\n", move); - DBG (DBG_info, "%s: move=%f steps\n", __func__, move); - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - start = (start * dev->sensor.optical_res) / MM_PER_INCH; - - flags = 0; - - /* emulated lineart from gray data is required for now */ - if(dev->settings.scan_mode == SCAN_MODE_LINEART - && dev->settings.dynamic_lineart) - { - flags |= SCAN_FLAG_DYNAMIC_LINEART; - } - - /* backtracking isn't handled well, so don't enable it */ - flags |= SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE; - - status = gl847_init_scan_regs (dev, - dev->reg, - dev->settings.xres, - dev->settings.yres, - start, - move, - dev->settings.pixels, - dev->settings.lines, - depth, - channels, - dev->settings.color_filter, - flags); - - if (status != SANE_STATUS_GOOD) - return status; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** - * Send shading calibration data. The buffer is considered to always hold values - * for all the channels. - */ -static SANE_Status -gl847_send_shading_data (Genesys_Device * dev, uint8_t * data, int size) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint32_t addr, length, i, x, factor, pixels; - uint32_t dpiset, dpihw, strpixel, endpixel; - uint16_t tempo; - uint32_t lines, channels; - uint8_t val,*buffer,*ptr,*src; - - DBGSTART; - DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__func__,size); - - /* shading data is plit in 3 (up to 5 with IR) areas - write(0x10014000,0x00000dd8) - URB 23429 bulk_out len 3544 wrote 0x33 0x10 0x.... - write(0x1003e000,0x00000dd8) - write(0x10068000,0x00000dd8) - */ - length = (uint32_t) (size / 3); - sanei_genesys_get_double(dev->reg,REG_STRPIXEL,&tempo); - strpixel=tempo; - sanei_genesys_get_double(dev->reg,REG_ENDPIXEL,&tempo); - endpixel=tempo; - - /* compute deletion factor */ - sanei_genesys_get_double(dev->reg,REG_DPISET,&tempo); - dpiset=tempo; - DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, DPISET=%d\n",__func__,strpixel,endpixel,endpixel-strpixel,dpiset); - dpihw=sanei_genesys_compute_dpihw(dev,dpiset); - factor=dpihw/dpiset; - DBG( DBG_io2, "%s: factor=%d\n",__func__,factor); - - if(DBG_LEVEL>=DBG_data) - { - dev->binary=fopen("binary.pnm","wb"); - sanei_genesys_get_triple(dev->reg, REG_LINCNT, &lines); - channels=dev->current_setup.channels; - if(dev->binary!=NULL) - { - fprintf(dev->binary,"P5\n%d %d\n%d\n",(endpixel-strpixel)/factor*channels,lines/channels,255); - } - } - - pixels=endpixel-strpixel; - - /* since we're using SHDAREA, substract startx coordinate from shading */ - strpixel-=((dev->sensor.CCD_start_xoffset*600)/dev->sensor.optical_res); - - /* turn pixel value into bytes 2x16 bits words */ - strpixel*=2*2; - pixels*=2*2; - - /* allocate temporary buffer */ - buffer=(uint8_t *)malloc(pixels); - memset(buffer,0,pixels); - DBG( DBG_io2, "%s: using chunks of %d (0x%04x) bytes\n",__func__,pixels,pixels); - - /* base addr of data has been written in reg D0-D4 in 4K word, so AHB address - * is 8192*reg value */ - - /* write actual color channel data */ - for(i=0;i<3;i++) - { - /* build up actual shading data by copying the part from the full width one - * to the one corresponding to SHDAREA */ - ptr=buffer; - - /* iterate on both sensor segment */ - for(x=0;xdn, dev->usb_mode, addr, pixels, buffer); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "gl847_send_shading_data; write to AHB failed (%s)\n", - sane_strstatus (status)); - return status; - } - } - - free(buffer); - DBGCOMPLETED; - - return status; -} - -/** @brief calibrates led exposure - * Calibrate exposure by scanning a white area until the used exposure gives - * data white enough. - * @param dev device to calibrate - */ -static SANE_Status -gl847_led_calibration (Genesys_Device * dev) -{ - int num_pixels; - int total_size; - int used_res; - uint8_t *line; - int i, j; - SANE_Status status = SANE_STATUS_GOOD; - int val; - int channels, depth; - int avg[3], top[3], bottom[3]; - int turn; - char fn[20]; - uint16_t exp[3]; - Sensor_Profile *sensor; - float move; - SANE_Bool acceptable; - - DBGSTART; - - move = SANE_UNFIX (dev->model->y_offset_calib); - move = (move * (dev->motor.base_ydpi/4)) / MM_PER_INCH; - if(move>20) - { - RIE(gl847_feed (dev, move)); - } - DBG (DBG_io, "%s: move=%f steps\n", __func__, move); - - /* offset calibration is always done in color mode */ - channels = 3; - depth=16; - used_res=sanei_genesys_compute_dpihw(dev,dev->settings.xres); - sensor=get_sensor_profile(dev->model->ccd_type, used_res); - num_pixels = (dev->sensor.sensor_pixels*used_res)/dev->sensor.optical_res; - - /* initial calibration reg values */ - memcpy (dev->calib_reg, dev->reg, GENESYS_GL847_MAX_REGS * sizeof (Genesys_Register_Set)); - - /* set up for the calibration scan */ - status = gl847_init_scan_regs (dev, - dev->calib_reg, - used_res, - used_res, - 0, - 0, - num_pixels, - 1, - depth, - channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); - return status; - } - - total_size = num_pixels * channels * (depth/8) * 1; /* colors * bytes_per_color * scan lines */ - line = malloc (total_size); - if (!line) - return SANE_STATUS_NO_MEM; - - /* initial loop values and boundaries */ - exp[0]=sensor->expr; - exp[1]=sensor->expg; - exp[2]=sensor->expb; - - bottom[0]=29000; - bottom[1]=29000; - bottom[2]=29000; - - top[0]=41000; - top[1]=51000; - top[2]=51000; - - turn = 0; - - /* no move during led calibration */ - gl847_set_motor_power (dev->calib_reg, SANE_FALSE); - do - { - /* set up exposure */ - sanei_genesys_set_double(dev->calib_reg,REG_EXPR,exp[0]); - sanei_genesys_set_double(dev->calib_reg,REG_EXPG,exp[1]); - sanei_genesys_set_double(dev->calib_reg,REG_EXPB,exp[2]); - - /* write registers and scan data */ - RIEF (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL847_MAX_REGS), line); - - DBG (DBG_info, "gl847_led_calibration: starting line reading\n"); - RIEF (gl847_begin_scan (dev, dev->calib_reg, SANE_TRUE), line); - RIEF (sanei_genesys_read_data_from_scanner (dev, line, total_size), line); - - /* stop scanning */ - RIEF (gl847_stop_action (dev), line); - - if (DBG_LEVEL >= DBG_data) - { - snprintf (fn, 20, "led_%02d.pnm", turn); - sanei_genesys_write_pnm_file (fn, line, depth, channels, num_pixels, 1); - } - - /* compute average */ - for (j = 0; j < channels; j++) - { - avg[j] = 0; - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * num_pixels + 1] * 256 + - line[i * 2 + j * 2 * num_pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - avg[j] += val; - } - - avg[j] /= num_pixels; - } - - DBG (DBG_info, "gl847_led_calibration: average: %d,%d,%d\n", avg[0], avg[1], avg[2]); - - /* check if exposure gives average within the boundaries */ - acceptable = SANE_TRUE; - for(i=0;i<3;i++) - { - if(avg[i]top[i]) - { - exp[i]=(exp[i]*top[i])/avg[i]; - acceptable = SANE_FALSE; - } - } - - turn++; - } - while (!acceptable && turn < 100); - - DBG (DBG_info, "gl847_led_calibration: acceptable exposure: %d,%d,%d\n", exp[0], exp[1], exp[2]); - - /* set these values as final ones for scan */ - sanei_genesys_set_double(dev->reg,REG_EXPR,exp[0]); - sanei_genesys_set_double(dev->reg,REG_EXPG,exp[1]); - sanei_genesys_set_double(dev->reg,REG_EXPB,exp[2]); - - /* store in this struct since it is the one used by cache calibration */ - dev->sensor.regs_0x10_0x1d[0] = (exp[0] >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[1] = exp[0] & 0xff; - dev->sensor.regs_0x10_0x1d[2] = (exp[1] >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[3] = exp[1] & 0xff; - dev->sensor.regs_0x10_0x1d[4] = (exp[2] >> 8) & 0xff; - dev->sensor.regs_0x10_0x1d[5] = exp[2] & 0xff; - - /* cleanup before return */ - free (line); - - /* go back home */ - if(move>20) - { - status=gl847_slow_back_home (dev, SANE_TRUE); - } - - DBGCOMPLETED; - return status; -} - -/** - * set up GPIO/GPOE for idle state - */ -static SANE_Status -gl847_init_gpio (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx=0; - - DBGSTART; - - /* search GPIO profile */ - while(gpios[idx].sensor_id!=0 && dev->model->gpo_type!=gpios[idx].sensor_id) - { - idx++; - } - if(gpios[idx].sensor_id==0) - { - DBG (DBG_error, "%s: failed to find GPIO profile for sensor_id=%d\n", __func__, dev->model->ccd_type); - return SANE_STATUS_INVAL; - } - - RIE (sanei_genesys_write_register (dev, REGA7, gpios[idx].ra7)); - RIE (sanei_genesys_write_register (dev, REGA6, gpios[idx].ra6)); - - RIE (sanei_genesys_write_register (dev, REG6E, gpios[idx].r6e)); - RIE (sanei_genesys_write_register (dev, REG6C, 0x00)); - - RIE (sanei_genesys_write_register (dev, REG6B, gpios[idx].r6b)); - RIE (sanei_genesys_write_register (dev, REG6C, gpios[idx].r6c)); - RIE (sanei_genesys_write_register (dev, REG6D, gpios[idx].r6d)); - RIE (sanei_genesys_write_register (dev, REG6E, gpios[idx].r6e)); - RIE (sanei_genesys_write_register (dev, REG6F, gpios[idx].r6f)); - - RIE (sanei_genesys_write_register (dev, REGA8, gpios[idx].ra8)); - RIE (sanei_genesys_write_register (dev, REGA9, gpios[idx].ra9)); - - DBGCOMPLETED; - return status; -} - -/** - * set memory layout by filling values in dedicated registers - */ -static SANE_Status -gl847_init_memory_layout (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx = 0; - uint8_t val; - - DBG (DBG_proc, "gl847_init_memory_layout\n"); - - /* point to per model memory layout */ - idx = 0; - if (strcmp (dev->model->name, "canon-lide-100") == 0) - { - idx = 0; - } - if (strcmp (dev->model->name, "canon-lide-200") == 0) - { - idx = 1; - } - if (strcmp (dev->model->name, "canon-5600f") == 0) - { - idx = 2; - } - if (strcmp (dev->model->name, "canon-lide-700f") == 0) - { - idx = 3; - } - - /* CLKSET nd DRAMSEL */ - val = layouts[idx].dramsel; - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg[reg_0x0b].value = val; - - /* prevent further writings by bulk write register */ - dev->reg[reg_0x0b].address = 0x00; - - /* setup base address for shading data. */ - /* values must be multiplied by 8192=0x4000 to give address on AHB */ - /* R-Channel shading bank0 address setting for CIS */ - sanei_genesys_write_register (dev, 0xd0, layouts[idx].rd0); - /* G-Channel shading bank0 address setting for CIS */ - sanei_genesys_write_register (dev, 0xd1, layouts[idx].rd1); - /* B-Channel shading bank0 address setting for CIS */ - sanei_genesys_write_register (dev, 0xd2, layouts[idx].rd2); - - /* setup base address for scanned data. */ - /* values must be multiplied by 1024*2=0x0800 to give address on AHB */ - /* R-Channel ODD image buffer 0x0124->0x92000 */ - /* size for each buffer is 0x16d*1k word */ - sanei_genesys_write_register (dev, 0xe0, layouts[idx].re0); - sanei_genesys_write_register (dev, 0xe1, layouts[idx].re1); - /* R-Channel ODD image buffer end-address 0x0291->0x148800 => size=0xB6800*/ - sanei_genesys_write_register (dev, 0xe2, layouts[idx].re2); - sanei_genesys_write_register (dev, 0xe3, layouts[idx].re3); - - /* R-Channel EVEN image buffer 0x0292 */ - sanei_genesys_write_register (dev, 0xe4, layouts[idx].re4); - sanei_genesys_write_register (dev, 0xe5, layouts[idx].re5); - /* R-Channel EVEN image buffer end-address 0x03ff*/ - sanei_genesys_write_register (dev, 0xe6, layouts[idx].re6); - sanei_genesys_write_register (dev, 0xe7, layouts[idx].re7); - - /* same for green, since CIS, same addresses */ - sanei_genesys_write_register (dev, 0xe8, layouts[idx].re0); - sanei_genesys_write_register (dev, 0xe9, layouts[idx].re1); - sanei_genesys_write_register (dev, 0xea, layouts[idx].re2); - sanei_genesys_write_register (dev, 0xeb, layouts[idx].re3); - sanei_genesys_write_register (dev, 0xec, layouts[idx].re4); - sanei_genesys_write_register (dev, 0xed, layouts[idx].re5); - sanei_genesys_write_register (dev, 0xee, layouts[idx].re6); - sanei_genesys_write_register (dev, 0xef, layouts[idx].re7); - -/* same for blue, since CIS, same addresses */ - sanei_genesys_write_register (dev, 0xf0, layouts[idx].re0); - sanei_genesys_write_register (dev, 0xf1, layouts[idx].re1); - sanei_genesys_write_register (dev, 0xf2, layouts[idx].re2); - sanei_genesys_write_register (dev, 0xf3, layouts[idx].re3); - sanei_genesys_write_register (dev, 0xf4, layouts[idx].re4); - sanei_genesys_write_register (dev, 0xf5, layouts[idx].re5); - sanei_genesys_write_register (dev, 0xf6, layouts[idx].re6); - sanei_genesys_write_register (dev, 0xf7, layouts[idx].re7); - - DBGCOMPLETED; - return status; -} - -/* * - * initialize ASIC from power on condition - */ -static SANE_Status -gl847_boot (Genesys_Device * dev, SANE_Bool cold) -{ - SANE_Status status; - uint8_t val; - - DBGSTART; - - /* reset ASIC if cold boot */ - if(cold) - { - RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); - RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); - } - - /* test CHKVER */ - RIE (sanei_genesys_read_register (dev, REG40, &val)); - if (val & REG40_CHKVER) - { - RIE (sanei_genesys_read_register (dev, 0x00, &val)); - DBG (DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); - } - - /* Set default values for registers */ - gl847_init_registers (dev); - - /* Write initial registers */ - RIE (dev->model->cmd_set->bulk_write_register (dev, dev->reg, GENESYS_GL847_MAX_REGS)); - - /* Enable DRAM by setting a rising edge on bit 3 of reg 0x0b */ - val = dev->reg[reg_0x0b].value & REG0B_DRAMSEL; - val = (val | REG0B_ENBDRAM); - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg[reg_0x0b].value = val; - - /* CIS_LINE */ - SETREG (0x08, REG08_CIS_LINE); - RIE (sanei_genesys_write_register (dev, 0x08, dev->reg[reg_0x08].value)); - - /* set up end access */ - RIE (sanei_genesys_write_0x8c (dev, 0x10, 0x0b)); - RIE (sanei_genesys_write_0x8c (dev, 0x13, 0x0e)); - - /* setup gpio */ - RIE (gl847_init_gpio (dev)); - - /* setup internal memory layout */ - RIE (gl847_init_memory_layout (dev)); - - SETREG (0xf8, 0x01); - RIE (sanei_genesys_write_register (dev, 0xf8, dev->reg[reg_0xf8].value)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * initialize backend and ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home - */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl847_init (Genesys_Device * dev) -{ - SANE_Status status; - - DBG_INIT (); - DBGSTART; - - status=sanei_genesys_asic_init(dev, GENESYS_GL847_MAX_REGS); - - DBGCOMPLETED; - return status; -} - -static SANE_Status -gl847_update_hardware_sensors (Genesys_Scanner * s) -{ - /* do what is needed to get a new set of events, but try to not lose - any of them. - */ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - uint8_t scan, file, email, copy; - switch(s->dev->model->gpo_type) - { - case GPO_CANONLIDE700: - scan=0x04; - file=0x02; - email=0x01; - copy=0x08; - break; - default: - scan=0x01; - file=0x02; - email=0x04; - copy=0x08; - } - RIE (sanei_genesys_read_register (s->dev, REG6D, &val)); - - if (s->val[OPT_SCAN_SW].b == s->last_val[OPT_SCAN_SW].b) - s->val[OPT_SCAN_SW].b = (val & scan) == 0; - if (s->val[OPT_FILE_SW].b == s->last_val[OPT_FILE_SW].b) - s->val[OPT_FILE_SW].b = (val & file) == 0; - if (s->val[OPT_EMAIL_SW].b == s->last_val[OPT_EMAIL_SW].b) - s->val[OPT_EMAIL_SW].b = (val & email) == 0; - if (s->val[OPT_COPY_SW].b == s->last_val[OPT_COPY_SW].b) - s->val[OPT_COPY_SW].b = (val & copy) == 0; - - return status; -} - -/** @brief search for a full width black or white strip. - * This function searches for a black or white stripe across the scanning area. - * When searching backward, the searched area must completely be of the desired - * color since this area will be used for calibration which scans forward. - * @param dev scanner device - * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward - * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip - * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not - */ -static SANE_Status -gl847_search_strip (Genesys_Device * dev, SANE_Bool forward, SANE_Bool black) -{ - unsigned int pixels, lines, channels; - SANE_Status status; - Genesys_Register_Set local_reg[GENESYS_GL847_MAX_REGS]; - size_t size; - uint8_t *data; - int steps, depth, dpi; - unsigned int pass, count, found, x, y; - char title[80]; - Genesys_Register_Set *r; - - DBG (DBG_proc, "gl847_search_strip %s %s\n", black ? "black" : "white", - forward ? "forward" : "reverse"); - - gl847_set_fe (dev, AFE_SET); - status = gl847_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_search_strip: failed to stop: %s\n", - sane_strstatus (status)); - return status; - } - - /* set up for a gray scan at lowest dpi */ - dpi = 9600; - for (x = 0; x < MAX_RESOLUTIONS; x++) - { - if (dev->model->xdpi_values[x] > 0 && dev->model->xdpi_values[x] < dpi) - dpi = dev->model->xdpi_values[x]; - } - channels = 1; - /* 10 MM */ - /* lines = (10 * dpi) / MM_PER_INCH; */ - /* shading calibation is done with dev->motor.base_ydpi */ - lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; - depth = 8; - pixels = (dev->sensor.sensor_pixels * dpi) / dev->sensor.optical_res; - size = pixels * channels * lines * (depth / 8); - data = malloc (size); - if (!data) - { - DBG (DBG_error, "gl847_search_strip: failed to allocate memory\n"); - return SANE_STATUS_NO_MEM; - } - dev->scanhead_position_in_steps = 0; - - memcpy (local_reg, dev->reg, - GENESYS_GL847_MAX_REGS * sizeof (Genesys_Register_Set)); - - status = gl847_init_scan_regs (dev, - local_reg, - dpi, - dpi, - 0, - 0, - pixels, - lines, - depth, - channels, - 0, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA); - if (status != SANE_STATUS_GOOD) - { - free(data); - DBG (DBG_error, - "gl847_search_strip: failed to setup for scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* set up for reverse or forward */ - r = sanei_genesys_get_address (local_reg, REG02); - if (forward) - r->value &= ~REG02_MTRREV; - else - r->value |= REG02_MTRREV; - - - status = dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL847_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - free(data); - DBG (DBG_error, - "gl847_search_strip: Failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl847_begin_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl847_search_strip: failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data, size); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl847_search_start_position: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl847_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, "gl847_search_strip: gl847_stop_action failed\n"); - return status; - } - - pass = 0; - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "search_strip_%s_%s%02d.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); - sanei_genesys_write_pnm_file (title, data, depth, channels, pixels, - lines); - } - - /* loop until strip is found or maximum pass number done */ - found = 0; - while (pass < 20 && !found) - { - status = - dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL847_MAX_REGS); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_search_strip: Failed to bulk write registers: %s\n", - sane_strstatus (status)); - return status; - } - - /* now start scan */ - status = gl847_begin_scan (dev, local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl847_search_strip: failed to begin scan: %s\n", - sane_strstatus (status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data, size); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, - "gl847_search_start_position: failed to read data: %s\n", - sane_strstatus (status)); - return status; - } - - status = gl847_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - free (data); - DBG (DBG_error, "gl847_search_strip: gl847_stop_action failed\n"); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "search_strip_%s_%s%02d.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); - sanei_genesys_write_pnm_file (title, data, depth, channels, - pixels, lines); - } - - /* search data to find black strip */ - /* when searching forward, we only need one line of the searched color since we - * will scan forward. But when doing backward search, we need all the area of the - * same color */ - if (forward) - { - for (y = 0; y < lines && !found; y++) - { - count = 0; - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < 60) - { - count++; - } - } - - /* at end of line, if count >= 3%, line is not fully of the desired color - * so we must go to next line of the buffer */ - /* count*100/pixels < 3 */ - if ((count * 100) / pixels < 3) - { - found = 1; - DBG (DBG_data, - "gl847_search_strip: strip found forward during pass %d at line %d\n", - pass, y); - } - else - { - DBG (DBG_data, - "gl847_search_strip: pixels=%d, count=%d (%d%%)\n", - pixels, count, (100 * count) / pixels); - } - } - } - else /* since calibration scans are done forward, we need the whole area - to be of the required color when searching backward */ - { - count = 0; - for (y = 0; y < lines; y++) - { - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < 60) - { - count++; - } - } - } - - /* at end of area, if count >= 3%, area is not fully of the desired color - * so we must go to next buffer */ - if ((count * 100) / (pixels * lines) < 3) - { - found = 1; - DBG (DBG_data, - "gl847_search_strip: strip found backward during pass %d \n", - pass); - } - else - { - DBG (DBG_data, - "gl847_search_strip: pixels=%d, count=%d (%d%%)\n", - pixels, count, (100 * count) / pixels); - } - } - pass++; - } - free (data); - if (found) - { - status = SANE_STATUS_GOOD; - DBG (DBG_info, "gl847_search_strip: %s strip found\n", - black ? "black" : "white"); - } - else - { - status = SANE_STATUS_UNSUPPORTED; - DBG (DBG_info, "gl847_search_strip: %s strip not found\n", - black ? "black" : "white"); - } - - DBGCOMPLETED; - return status; -} - -/** - * average dark pixels of a 8 bits scan - */ -static int -dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, - unsigned int channels, unsigned int black) -{ - unsigned int i, j, k, average, count; - unsigned int avg[3]; - uint8_t val; - - /* computes average value on black margin */ - for (k = 0; k < channels; k++) - { - avg[k] = 0; - count = 0; - for (i = 0; i < lines; i++) - { - for (j = 0; j < black; j++) - { - val = data[i * channels * pixels + j + k]; - avg[k] += val; - count++; - } - } - if (count) - avg[k] /= count; - DBG (DBG_info, "dark_average: avg[%d] = %d\n", k, avg[k]); - } - average = 0; - for (i = 0; i < channels; i++) - average += avg[i]; - average /= channels; - DBG (DBG_info, "dark_average: average = %d\n", average); - return average; -} - -static SANE_Status -gl847_offset_calibration (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t *first_line, *second_line, reg04; - unsigned int channels, bpp; - char title[32]; - int pass = 0, avg, total_size; - int topavg, bottomavg, resolution, lines; - int top, bottom, black_pixels, pixels; - - DBGSTART; - - /* no gain nor offset for AKM AFE */ - RIE (sanei_genesys_read_register (dev, REG04, ®04)); - if ((reg04 & REG04_FESET) == 0x02) - { - DBGCOMPLETED; - return status; - } - - /* offset calibration is always done in color mode */ - channels = 3; - resolution=dev->sensor.optical_res; - dev->calib_pixels = dev->sensor.sensor_pixels; - lines=1; - bpp=8; - pixels= (dev->sensor.sensor_pixels*resolution) / dev->sensor.optical_res; - black_pixels = (dev->sensor.black_pixels * resolution) / dev->sensor.optical_res; - DBG (DBG_io2, "gl847_offset_calibration: black_pixels=%d\n", black_pixels); - - status = gl847_init_scan_regs (dev, - dev->calib_reg, - resolution, - resolution, - 0, - 0, - pixels, - lines, - bpp, - channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_offset_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - gl847_set_motor_power (dev->calib_reg, SANE_FALSE); - - /* allocate memory for scans */ - total_size = pixels * channels * lines * (bpp/8); /* colors * bytes_per_color * scan lines */ - - first_line = malloc (total_size); - if (!first_line) - return SANE_STATUS_NO_MEM; - - second_line = malloc (total_size); - if (!second_line) - { - free (first_line); - return SANE_STATUS_NO_MEM; - } - - /* init gain */ - dev->frontend.gain[0] = 0; - dev->frontend.gain[1] = 0; - dev->frontend.gain[2] = 0; - - /* scan with no move */ - bottom = 10; - dev->frontend.offset[0] = bottom; - dev->frontend.offset[1] = bottom; - dev->frontend.offset[2] = bottom; - - RIEF2 (gl847_set_fe(dev, AFE_SET),first_line, second_line); - RIEF2 (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL847_MAX_REGS),first_line, second_line); - DBG (DBG_info, "gl847_offset_calibration: starting first line reading\n"); - RIEF2 (gl847_begin_scan (dev, dev->calib_reg, SANE_TRUE),first_line, second_line); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, first_line, total_size),first_line, second_line); - if (DBG_LEVEL >= DBG_data) - { - snprintf(title,20,"offset%03d.pnm",bottom); - sanei_genesys_write_pnm_file (title, first_line, bpp, channels, pixels, lines); - } - - bottomavg = dark_average (first_line, pixels, lines, channels, black_pixels); - DBG (DBG_io2, "gl847_offset_calibration: bottom avg=%d\n", bottomavg); - - /* now top value */ - top = 255; - dev->frontend.offset[0] = top; - dev->frontend.offset[1] = top; - dev->frontend.offset[2] = top; - RIEF2 (gl847_set_fe(dev, AFE_SET),first_line, second_line); - RIEF2 (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL847_MAX_REGS),first_line, second_line); - DBG (DBG_info, "gl847_offset_calibration: starting second line reading\n"); - RIEF2 (gl847_begin_scan (dev, dev->calib_reg, SANE_TRUE),first_line, second_line); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, second_line, total_size),first_line, second_line); - - topavg = dark_average (second_line, pixels, lines, channels, black_pixels); - DBG (DBG_io2, "gl847_offset_calibration: top avg=%d\n", topavg); - - /* loop until acceptable level */ - while ((pass < 32) && (top - bottom > 1)) - { - pass++; - - /* settings for new scan */ - dev->frontend.offset[0] = (top + bottom) / 2; - dev->frontend.offset[1] = (top + bottom) / 2; - dev->frontend.offset[2] = (top + bottom) / 2; - - /* scan with no move */ - RIEF2 (gl847_set_fe(dev, AFE_SET),first_line, second_line); - RIEF2 (dev->model->cmd_set->bulk_write_register (dev, dev->calib_reg, GENESYS_GL847_MAX_REGS),first_line, second_line); - DBG (DBG_info, "gl847_offset_calibration: starting second line reading\n"); - RIEF2 (gl847_begin_scan (dev, dev->calib_reg, SANE_TRUE),first_line, second_line); - RIEF2 (sanei_genesys_read_data_from_scanner (dev, second_line, total_size),first_line, second_line); - - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "offset%03d.pnm", dev->frontend.offset[1]); - sanei_genesys_write_pnm_file (title, second_line, bpp, channels, pixels, lines); - } - - avg = dark_average (second_line, pixels, lines, channels, black_pixels); - DBG (DBG_info, "gl847_offset_calibration: avg=%d offset=%d\n", avg, - dev->frontend.offset[1]); - - /* compute new boundaries */ - if (topavg == avg) - { - topavg = avg; - top = dev->frontend.offset[1]; - } - else - { - bottomavg = avg; - bottom = dev->frontend.offset[1]; - } - } - DBG (DBG_info, "gl847_offset_calibration: offset=(%d,%d,%d)\n", dev->frontend.offset[0], dev->frontend.offset[1], dev->frontend.offset[2]); - - /* cleanup before return */ - free (first_line); - free (second_line); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl847_coarse_gain_calibration (Genesys_Device * dev, int dpi) -{ - int pixels; - int total_size; - uint8_t *line, reg04; - int i, j, channels; - SANE_Status status = SANE_STATUS_GOOD; - int max[3]; - float gain[3],coeff; - int val, code, lines; - int resolution; - int bpp; - - DBG (DBG_proc, "gl847_coarse_gain_calibration: dpi = %d\n", dpi); - - /* no gain nor offset for AKM AFE */ - RIE (sanei_genesys_read_register (dev, REG04, ®04)); - if ((reg04 & REG04_FESET) == 0x02) - { - DBGCOMPLETED; - return status; - } - - /* coarse gain calibration is always done in color mode */ - channels = 3; - - /* follow CKSEL */ - if(dev->settings.xressensor.optical_res) - { - coeff=0.9; - /*resolution=dev->sensor.optical_res/2; */ - resolution=dev->sensor.optical_res; - } - else - { - resolution=dev->sensor.optical_res; - coeff=1.0; - } - lines=10; - bpp=8; - pixels = (dev->sensor.sensor_pixels * resolution) / dev->sensor.optical_res; - - status = gl847_init_scan_regs (dev, - dev->calib_reg, - resolution, - resolution, - 0, - 0, - pixels, - lines, - bpp, - channels, - dev->settings.color_filter, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE); - gl847_set_motor_power (dev->calib_reg, SANE_FALSE); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "gl847_coarse_calibration: failed to setup scan: %s\n", - sane_strstatus (status)); - return status; - } - - RIE (dev->model->cmd_set->bulk_write_register - (dev, dev->calib_reg, GENESYS_GL847_MAX_REGS)); - - total_size = pixels * channels * (16/bpp) * lines; - - line = malloc (total_size); - if (!line) - return SANE_STATUS_NO_MEM; - - RIEF (gl847_set_fe(dev, AFE_SET), line); - RIEF (gl847_begin_scan (dev, dev->calib_reg, SANE_TRUE), line); - RIEF (sanei_genesys_read_data_from_scanner (dev, line, total_size), line); - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file ("coarse.pnm", line, bpp, channels, pixels, lines); - - /* average value on each channel */ - for (j = 0; j < channels; j++) - { - max[j] = 0; - for (i = pixels/4; i < (pixels*3/4); i++) - { - if(bpp==16) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * pixels + 1] * 256 + - line[i * 2 + j * 2 * pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - } - else - { - if (dev->model->is_cis) - val = line[i + j * pixels]; - else - val = line[i * channels + j]; - } - - max[j] += val; - } - max[j] = max[j] / (pixels/2); - - gain[j] = ((float) dev->sensor.gain_white_ref*coeff) / max[j]; - - /* turn logical gain value into gain code, checking for overflow */ - code = 283 - 208 / gain[j]; - if (code > 255) - code = 255; - else if (code < 0) - code = 0; - dev->frontend.gain[j] = code; - - DBG (DBG_proc, - "gl847_coarse_gain_calibration: channel %d, max=%d, gain = %f, setting:%d\n", - j, max[j], gain[j], dev->frontend.gain[j]); - } - - if (dev->model->is_cis) - { - if (dev->frontend.gain[0] > dev->frontend.gain[1]) - dev->frontend.gain[0] = dev->frontend.gain[1]; - if (dev->frontend.gain[0] > dev->frontend.gain[2]) - dev->frontend.gain[0] = dev->frontend.gain[2]; - dev->frontend.gain[2] = dev->frontend.gain[1] = dev->frontend.gain[0]; - } - - if (channels == 1) - { - dev->frontend.gain[0] = dev->frontend.gain[1]; - dev->frontend.gain[2] = dev->frontend.gain[1]; - } - - free (line); - - RIE (gl847_stop_action (dev)); - - status=gl847_slow_back_home (dev, SANE_TRUE); - - DBGCOMPLETED; - return status; -} - - -/** the gl847 command set */ -static Genesys_Command_Set gl847_cmd_set = { - "gl847-generic", /* the name of this set */ - - gl847_init, - NULL, /*gl847_init_regs_for_warmup*/ - gl847_init_regs_for_coarse_calibration, - gl847_init_regs_for_shading, - gl847_init_regs_for_scan, - - gl847_get_filter_bit, - gl847_get_lineart_bit, - gl847_get_bitset_bit, - gl847_get_gain4_bit, - gl847_get_fast_feed_bit, - gl847_test_buffer_empty_bit, - gl847_test_motor_flag_bit, - - gl847_bulk_full_size, - - gl847_set_fe, - gl847_set_powersaving, - gl847_save_power, - - gl847_set_motor_power, - gl847_set_lamp_power, - - gl847_begin_scan, - gl847_end_scan, - - sanei_genesys_send_gamma_table, - - gl847_search_start_position, - - gl847_offset_calibration, - gl847_coarse_gain_calibration, - gl847_led_calibration, - - gl847_slow_back_home, - gl847_rewind, - - sanei_genesys_bulk_write_register, - NULL, - gl847_bulk_read_data, - - gl847_update_hardware_sensors, - - NULL, /* no known gl847 sheetfed scanner */ - NULL, /* no known gl847 sheetfed scanner */ - NULL, /* no known gl847 sheetfed scanner */ - gl847_search_strip, - - sanei_genesys_is_compatible_calibration, - NULL, - gl847_send_shading_data, - gl847_calculate_current_setup, - gl847_boot, - NULL -}; - -SANE_Status -sanei_gl847_init_cmd_set (Genesys_Device * dev) -{ - dev->model->cmd_set = &gl847_cmd_set; - return SANE_STATUS_GOOD; -} - -/* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/genesys_gl847.cc b/backend/genesys_gl847.cc new file mode 100644 index 0000000..b5748a5 --- /dev/null +++ b/backend/genesys_gl847.cc @@ -0,0 +1,3517 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2010-2013 Stéphane Voltz + + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "genesys_gl847.h" + +#include + +/**************************************************************************** + Mid level functions + ****************************************************************************/ + +static SANE_Bool +gl847_get_fast_feed_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, REG02); + if (r && (r->value & REG02_FASTFED)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl847_get_filter_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, REG04); + if (r && (r->value & REG04_FILTER)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl847_get_lineart_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, REG04); + if (r && (r->value & REG04_LINEART)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl847_get_bitset_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, REG04); + if (r && (r->value & REG04_BITSET)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl847_get_gain4_bit (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + + r = sanei_genesys_get_address (regs, 0x06); + if (r && (r->value & REG06_GAIN4)) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl847_test_buffer_empty_bit (SANE_Byte val) +{ + if (val & REG41_BUFEMPTY) + return SANE_TRUE; + return SANE_FALSE; +} + +static SANE_Bool +gl847_test_motor_flag_bit (SANE_Byte val) +{ + if (val & REG41_MOTORENB) + return SANE_TRUE; + return SANE_FALSE; +} + +/** + * compute the step multiplier used + */ +static int +gl847_get_step_multiplier (Genesys_Register_Set * regs) +{ + GenesysRegister *r = NULL; + int value = 1; + + r = sanei_genesys_get_address (regs, 0x9d); + if (r != NULL) + { + value = (r->value & 0x0f)>>1; + value = 1 << value; + } + DBG (DBG_io, "%s: step multiplier is %d\n", __func__, value); + return value; +} + +/** @brief sensor profile + * search for the database of motor profiles and get the best one. Each + * profile is at a specific dpihw. Use LiDE 110 table by default. + * @param sensor_type sensor id + * @param dpi hardware dpi for the scan + * @return a pointer to a Sensor_Profile struct + */ +static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi) +{ + unsigned int i; + int idx; + + i=0; + idx=-1; + while(i=dpi + && sensors[i].dpimodel->ccd_type, xres); + return sensor_profile->exposure; +} + + +/** @brief sensor specific settings +*/ +static void gl847_setup_sensor(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set * regs, int dpi) +{ + GenesysRegister *r; + int dpihw; + uint16_t exp; + + DBGSTART; + dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpi); + + for (uint16_t addr = 0x16; addr < 0x1e; addr++) { + regs->set8(addr, sensor.custom_regs.get_value(addr)); + } + + for (uint16_t addr = 0x52; addr < 0x52 + 9; addr++) { + regs->set8(addr, sensor.custom_regs.get_value(addr)); + } + + /* set EXPDUMMY and CKxMAP */ + dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpi); + Sensor_Profile* sensor_profile=get_sensor_profile(dev->model->ccd_type, dpihw); + + sanei_genesys_set_reg_from_set(regs,REG_EXPDMY,(uint8_t)((sensor_profile->expdummy) & 0xff)); + + /* if no calibration has been done, set default values for exposures */ + exp = sensor.exposure.red; + if(exp==0) + { + exp=sensor_profile->expr; + } + sanei_genesys_set_double(regs,REG_EXPR,exp); + + exp = sensor.exposure.green; + if(exp==0) + { + exp=sensor_profile->expg; + } + sanei_genesys_set_double(regs,REG_EXPG,exp); + + exp = sensor.exposure.blue; + if(exp==0) + { + exp=sensor_profile->expb; + } + sanei_genesys_set_double(regs,REG_EXPB,exp); + + sanei_genesys_set_triple(regs,REG_CK1MAP,sensor_profile->ck1map); + sanei_genesys_set_triple(regs,REG_CK3MAP,sensor_profile->ck3map); + sanei_genesys_set_triple(regs,REG_CK4MAP,sensor_profile->ck4map); + + /* order of the sub-segments */ + dev->order=sensor_profile->order; + + r = sanei_genesys_get_address (regs, 0x17); + r->value = sensor_profile->r17; + + DBGCOMPLETED; +} + + +/** @brief set all registers to default values . + * This function is called only once at the beginning and + * fills register startup values for registers reused across scans. + * Those that are rarely modified or not modified are written + * individually. + * @param dev device structure holding register set to initialize + */ +static void +gl847_init_registers (Genesys_Device * dev) +{ + int lide700=0; + uint8_t val; + + DBGSTART; + /* 700F class needs some different initial settings */ + if (dev->model->model_id == MODEL_CANON_LIDE_700F) + { + lide700 = 1; + } + + dev->reg.clear(); + + SETREG (0x01, 0x82); + SETREG (0x02, 0x18); + SETREG (0x03, 0x50); + SETREG (0x04, 0x12); + SETREG (0x05, 0x80); + SETREG (0x06, 0x50); /* FASTMODE + POWERBIT */ + SETREG (0x08, 0x10); + SETREG (0x09, 0x01); + SETREG (0x0a, 0x00); + SETREG (0x0b, 0x01); + SETREG (0x0c, 0x02); + + /* LED exposures */ + SETREG (0x10, 0x00); + SETREG (0x11, 0x00); + SETREG (0x12, 0x00); + SETREG (0x13, 0x00); + SETREG (0x14, 0x00); + SETREG (0x15, 0x00); + + SETREG (0x16, 0x10); + SETREG (0x17, 0x08); + SETREG (0x18, 0x00); + + /* EXPDMY */ + SETREG (0x19, 0x50); + + SETREG (0x1a, 0x34); + SETREG (0x1b, 0x00); + SETREG (0x1c, 0x02); + SETREG (0x1d, 0x04); + SETREG (0x1e, 0x10); + SETREG (0x1f, 0x04); + SETREG (0x20, 0x02); + SETREG (0x21, 0x10); + SETREG (0x22, 0x7f); + SETREG (0x23, 0x7f); + SETREG (0x24, 0x10); + SETREG (0x25, 0x00); + SETREG (0x26, 0x00); + SETREG (0x27, 0x00); + SETREG (0x2c, 0x09); + SETREG (0x2d, 0x60); + SETREG (0x2e, 0x80); + SETREG (0x2f, 0x80); + SETREG (0x30, 0x00); + SETREG (0x31, 0x10); + SETREG (0x32, 0x15); + SETREG (0x33, 0x0e); + SETREG (0x34, 0x40); + SETREG (0x35, 0x00); + SETREG (0x36, 0x2a); + SETREG (0x37, 0x30); + SETREG (0x38, 0x2a); + SETREG (0x39, 0xf8); + SETREG (0x3d, 0x00); + SETREG (0x3e, 0x00); + SETREG (0x3f, 0x00); + SETREG (0x52, 0x03); + SETREG (0x53, 0x07); + SETREG (0x54, 0x00); + SETREG (0x55, 0x00); + SETREG (0x56, 0x00); + SETREG (0x57, 0x00); + SETREG (0x58, 0x2a); + SETREG (0x59, 0xe1); + SETREG (0x5a, 0x55); + SETREG (0x5e, 0x41); + SETREG (0x5f, 0x40); + SETREG (0x60, 0x00); + SETREG (0x61, 0x21); + SETREG (0x62, 0x40); + SETREG (0x63, 0x00); + SETREG (0x64, 0x21); + SETREG (0x65, 0x40); + SETREG (0x67, 0x80); + SETREG (0x68, 0x80); + SETREG (0x69, 0x20); + SETREG (0x6a, 0x20); + + /* CK1MAP */ + SETREG (0x74, 0x00); + SETREG (0x75, 0x00); + SETREG (0x76, 0x3c); + + /* CK3MAP */ + SETREG (0x77, 0x00); + SETREG (0x78, 0x00); + SETREG (0x79, 0x9f); + + /* CK4MAP */ + SETREG (0x7a, 0x00); + SETREG (0x7b, 0x00); + SETREG (0x7c, 0x55); + + SETREG (0x7d, 0x00); + + /* NOTE: autoconf is a non working option */ + SETREG (0x87, 0x02); + SETREG (0x9d, 0x06); + SETREG (0xa2, 0x0f); + SETREG (0xbd, 0x18); + SETREG (0xfe, 0x08); + + /* gamma[0] and gamma[256] values */ + SETREG (0xbe, 0x00); + SETREG (0xc5, 0x00); + SETREG (0xc6, 0x00); + SETREG (0xc7, 0x00); + SETREG (0xc8, 0x00); + SETREG (0xc9, 0x00); + SETREG (0xca, 0x00); + + /* LiDE 700 fixups */ + if(lide700) + { + SETREG (0x5f, 0x04); + SETREG (0x7d, 0x80); + + /* we write to these registers only once */ + val=0; + sanei_genesys_write_register (dev, REG7E, val); + sanei_genesys_write_register (dev, REG9E, val); + sanei_genesys_write_register (dev, REG9F, val); + sanei_genesys_write_register (dev, REGAB, val); + } + + /* fine tune upon device description */ + dev->reg.find_reg(0x05).value &= ~REG05_DPIHW; + switch (sanei_genesys_find_sensor_any(dev).optical_res) + { + case 600: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_600; + break; + case 1200: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_1200; + break; + case 2400: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; + break; + case 4800: + dev->reg.find_reg(0x05).value |= REG05_DPIHW_4800; + break; + } + + /* initalize calibration reg */ + dev->calib_reg = dev->reg; + + DBGCOMPLETED; +} + +/**@brief send slope table for motor movement + * Send slope_table in machine byte order + * @param dev device to send slope table + * @param table_nr index of the slope table in ASIC memory + * Must be in the [0-4] range. + * @param slope_table pointer to 16 bit values array of the slope table + * @param steps number of elements in the slope table + */ +static SANE_Status +gl847_send_slope_table (Genesys_Device * dev, int table_nr, + uint16_t * slope_table, int steps) +{ + SANE_Status status = SANE_STATUS_GOOD; + int i; + char msg[10000]; + + DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, + table_nr, steps); + + /* sanity check */ + if(table_nr<0 || table_nr>4) + { + DBG (DBG_error, "%s: invalid table number %d!\n", __func__, table_nr); + return SANE_STATUS_INVAL; + } + + std::vector table(steps * 2); + for (i = 0; i < steps; i++) + { + table[i * 2] = slope_table[i] & 0xff; + table[i * 2 + 1] = slope_table[i] >> 8; + } + + if (DBG_LEVEL >= DBG_io) + { + sprintf (msg, "write slope %d (%d)=", table_nr, steps); + for (i = 0; i < steps; i++) + { + sprintf (msg+strlen(msg), "%d", slope_table[i]); + } + DBG (DBG_io, "%s: %s\n", __func__, msg); + } + + /* slope table addresses are fixed */ + status = sanei_genesys_write_ahb(dev, 0x10000000 + 0x4000 * table_nr, steps * 2, table.data()); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: write to AHB failed writing slope table %d (%s)\n", __func__, table_nr, + sane_strstatus(status)); + } + + DBGCOMPLETED; + return status; +} + +/** + * Set register values of Analog Device type frontend + * */ +static SANE_Status +gl847_set_ad_fe (Genesys_Device * dev, uint8_t set) +{ + SANE_Status status = SANE_STATUS_GOOD; + int i; + uint8_t val8; + + DBGSTART; + + /* wait for FE to be ready */ + status = sanei_genesys_get_status (dev, &val8); + while (val8 & REG41_FEBUSY) + { + sanei_genesys_sleep_ms(10); + status = sanei_genesys_get_status (dev, &val8); + }; + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); + + dev->frontend = dev->frontend_initial; + } + + /* reset DAC */ + status = sanei_genesys_fe_write_data (dev, 0x00, 0x80); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write reg0: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* write them to analog frontend */ + status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write reg0: %s\n", __func__, sane_strstatus(status)); + return status; + } + status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write reg1: %s\n", __func__, sane_strstatus(status)); + return status; + } + + for (i = 0; i < 3; i++) + { + status = sanei_genesys_fe_write_data(dev, 0x02 + i, dev->frontend.get_gain(i)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write gain %d: %s\n", __func__, i, sane_strstatus(status)); + return status; + } + } + for (i = 0; i < 3; i++) + { + status = sanei_genesys_fe_write_data(dev, 0x05 + i, dev->frontend.get_offset(i)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write offset %d: %s\n", __func__, i, + sane_strstatus(status)); + return status; + } + } + + DBGCOMPLETED; + return status; +} + +static SANE_Status +gl847_homsnr_gpio(Genesys_Device *dev) +{ +uint8_t val; +SANE_Status status=SANE_STATUS_GOOD; + + if (dev->model->gpo_type == GPO_CANONLIDE700) + { + RIE (sanei_genesys_read_register (dev, REG6C, &val)); + val &= ~REG6C_GPIO10; + RIE (sanei_genesys_write_register (dev, REG6C, val)); + } + else + { + RIE (sanei_genesys_read_register (dev, REG6C, &val)); + val |= REG6C_GPIO10; + RIE (sanei_genesys_write_register (dev, REG6C, val)); + } + return status; +} + +/* Set values of analog frontend */ +static SANE_Status +gl847_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set) +{ + (void) sensor; + + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + + DBG(DBG_proc, "%s (%s)\n", __func__, set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == + AFE_POWER_SAVE ? "powersave" : "huh?"); + + RIE (sanei_genesys_read_register (dev, REG04, &val)); + + /* route to AD devices */ + if ((val & REG04_FESET) == 0x02) + { + return gl847_set_ad_fe (dev, set); + } + + /* for now there is no support yet for wolfson fe */ + DBG(DBG_proc, "%s(): unsupported frontend type %d\n", __func__, + dev->reg.find_reg(0x04).value & REG04_FESET); + + DBGCOMPLETED; + return SANE_STATUS_UNSUPPORTED; +} + + +/** @brief set up motor related register for scan + */ +static SANE_Status +gl847_init_motor_regs_scan (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, + unsigned int scan_exposure_time, + float scan_yres, + int scan_step_type, + unsigned int scan_lines, + unsigned int scan_dummy, + unsigned int feed_steps, + int scan_power_mode, + unsigned int flags) +{ + SANE_Status status = SANE_STATUS_GOOD; + int use_fast_fed; + unsigned int fast_dpi; + uint16_t scan_table[SLOPE_TABLE_SIZE]; + uint16_t fast_table[SLOPE_TABLE_SIZE]; + int scan_steps, fast_steps, factor; + unsigned int feedl, dist; + GenesysRegister *r; + uint32_t z1, z2; + unsigned int min_restep = 0x20; + uint8_t val, effective; + int fast_step_type; + unsigned int ccdlmt,tgtime; + + DBGSTART; + DBG(DBG_proc, "%s : scan_exposure_time=%d, can_yres=%g, scan_step_type=%d, scan_lines=%d, " + "scan_dummy=%d, feed_steps=%d, scan_power_mode=%d, flags=%x\n", __func__, scan_exposure_time, + scan_yres, scan_step_type, scan_lines, scan_dummy, feed_steps, scan_power_mode, flags); + + /* get step multiplier */ + factor = gl847_get_step_multiplier (reg); + + use_fast_fed=0; + /* no fast fed since feed works well */ + if(dev->settings.yres==4444 && feed_steps>100 + && ((flags & MOTOR_FLAG_FEED)==0)) + { + use_fast_fed=1; + } + DBG(DBG_io, "%s: use_fast_fed=%d\n", __func__, use_fast_fed); + + sanei_genesys_set_triple(reg, REG_LINCNT, scan_lines); + DBG(DBG_io, "%s: lincnt=%d\n", __func__, scan_lines); + + /* compute register 02 value */ + r = sanei_genesys_get_address (reg, REG02); + r->value = 0x00; + sanei_genesys_set_motor_power(*reg, true); + + if (use_fast_fed) + r->value |= REG02_FASTFED; + else + r->value &= ~REG02_FASTFED; + + if (flags & MOTOR_FLAG_AUTO_GO_HOME) + r->value |= REG02_AGOHOME | REG02_NOTHOME; + + if ((flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) + ||(scan_yres>=sensor.optical_res)) + { + r->value |= REG02_ACDCDIS; + } + + /* scan and backtracking slope table */ + sanei_genesys_slope_table(scan_table, + &scan_steps, + scan_yres, + scan_exposure_time, + dev->motor.base_ydpi, + scan_step_type, + factor, + dev->model->motor_type, + gl847_motors); + RIE(gl847_send_slope_table (dev, SCAN_TABLE, scan_table, scan_steps*factor)); + RIE(gl847_send_slope_table (dev, BACKTRACK_TABLE, scan_table, scan_steps*factor)); + + /* fast table */ + fast_dpi=sanei_genesys_get_lowest_ydpi(dev); + fast_step_type=scan_step_type; + if(scan_step_type>=2) + { + fast_step_type=2; + } + + sanei_genesys_slope_table(fast_table, + &fast_steps, + fast_dpi, + scan_exposure_time, + dev->motor.base_ydpi, + fast_step_type, + factor, + dev->model->motor_type, + gl847_motors); + + /* manual override of high start value */ + fast_table[0]=fast_table[1]; + + RIE(gl847_send_slope_table (dev, STOP_TABLE, fast_table, fast_steps*factor)); + RIE(gl847_send_slope_table (dev, FAST_TABLE, fast_table, fast_steps*factor)); + RIE(gl847_send_slope_table (dev, HOME_TABLE, fast_table, fast_steps*factor)); + + /* correct move distance by acceleration and deceleration amounts */ + feedl=feed_steps; + if (use_fast_fed) + { + feedl<<=fast_step_type; + dist=(scan_steps+2*fast_steps)*factor; + /* TODO read and decode REGAB */ + r = sanei_genesys_get_address (reg, 0x5e); + dist += (r->value & 31); + /* FEDCNT */ + r = sanei_genesys_get_address (reg, REG_FEDCNT); + dist += r->value; + } + else + { + feedl<<=scan_step_type; + dist=scan_steps*factor; + if (flags & MOTOR_FLAG_FEED) + dist *=2; + } + DBG(DBG_io2, "%s: scan steps=%d\n", __func__, scan_steps); + DBG(DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); + + /* check for overflow */ + if(distvalue & REG0C_CCDLMT)+1; + + r = sanei_genesys_get_address (reg, REG1C); + tgtime=1<<(r->value & REG1C_TGTIME); + + /* hi res motor speed GPIO */ + RIE (sanei_genesys_read_register (dev, REG6C, &effective)); + + /* if quarter step, bipolar Vref2 */ + if (scan_step_type > 1) + { + if (scan_step_type < 3) + { + val = effective & ~REG6C_GPIO13; + } + else + { + val = effective | REG6C_GPIO13; + } + } + else + { + val = effective; + } + RIE (sanei_genesys_write_register (dev, REG6C, val)); + + /* effective scan */ + RIE (sanei_genesys_read_register (dev, REG6C, &effective)); + val = effective | REG6C_GPIO10; + RIE (sanei_genesys_write_register (dev, REG6C, val)); + + min_restep=scan_steps/2-1; + if (min_restep < 1) + min_restep = 1; + r = sanei_genesys_get_address (reg, REG_FWDSTEP); + r->value = min_restep; + r = sanei_genesys_get_address (reg, REG_BWDSTEP); + r->value = min_restep; + + sanei_genesys_calculate_zmode2(use_fast_fed, + scan_exposure_time*ccdlmt*tgtime, + scan_table, + scan_steps*factor, + feedl, + min_restep*factor, + &z1, + &z2); + + DBG(DBG_info, "%s: z1 = %d\n", __func__, z1); + sanei_genesys_set_triple(reg, REG60, z1 | (scan_step_type << (16+REG60S_STEPSEL))); + + DBG(DBG_info, "%s: z2 = %d\n", __func__, z2); + sanei_genesys_set_triple(reg, REG63, z2 | (scan_step_type << (16+REG63S_FSTPSEL))); + + r = sanei_genesys_get_address (reg, 0x1e); + r->value &= 0xf0; /* 0 dummy lines */ + r->value |= scan_dummy; /* dummy lines */ + + r = sanei_genesys_get_address (reg, REG67); + r->value = REG67_MTRPWM; + + r = sanei_genesys_get_address (reg, REG68); + r->value = REG68_FASTPWM; + + r = sanei_genesys_get_address (reg, REG_STEPNO); + r->value = scan_steps; + + r = sanei_genesys_get_address (reg, REG_FASTNO); + r->value = scan_steps; + + r = sanei_genesys_get_address (reg, REG_FSHDEC); + r->value = scan_steps; + + r = sanei_genesys_get_address (reg, REG_FMOVNO); + r->value = fast_steps; + + r = sanei_genesys_get_address (reg, REG_FMOVDEC); + r->value = fast_steps; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/** @brief set up registers related to sensor + * Set up the following registers + 0x01 + 0x03 + 0x10-0x015 R/G/B exposures + 0x19 EXPDMY + 0x2e BWHI + 0x2f BWLO + 0x04 + 0x87 + 0x05 + 0x2c,0x2d DPISET + 0x30,0x31 STRPIXEL + 0x32,0x33 ENDPIXEL + 0x35,0x36,0x37 MAXWD [25:2] (>>2) + 0x38,0x39 LPERIOD + 0x34 DUMMY + */ +static SANE_Status +gl847_init_optical_regs_scan (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, + unsigned int exposure_time, + int used_res, + unsigned int start, + unsigned int pixels, + int channels, + int depth, + SANE_Bool half_ccd, ColorFilter color_filter, int flags) +{ + unsigned int words_per_line; + unsigned int startx, endx, used_pixels; + unsigned int dpiset, dpihw,segnb,cksel,factor; + unsigned int bytes; + GenesysRegister *r; + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s : exposure_time=%d, used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " + "half_ccd=%d, flags=%x\n", __func__, exposure_time, used_res, start, pixels, channels, depth, + half_ccd, flags); + + /* resolution is divided according to CKSEL */ + r = sanei_genesys_get_address (reg, REG18); + cksel= (r->value & REG18_CKSEL)+1; + DBG(DBG_io2, "%s: cksel=%d\n", __func__, cksel); + + /* to manage high resolution device while keeping good + * low resolution scanning speed, we make hardware dpi vary */ + dpihw=sanei_genesys_compute_dpihw(dev, sensor, used_res * cksel); + factor=sensor.optical_res/dpihw; + DBG(DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); + + /* sensor parameters */ + Sensor_Profile* sensor_profile=get_sensor_profile(dev->model->ccd_type, dpihw); + gl847_setup_sensor(dev, sensor, reg, dpihw); + dpiset = used_res * cksel; + + /* start and end coordinate in optical dpi coordinates */ + startx = start/cksel+sensor.CCD_start_xoffset; + used_pixels=pixels/cksel; + + /* end of sensor window */ + endx = startx + used_pixels; + + /* sensors are built from 600 dpi segments for LiDE 100/200 + * and 1200 dpi for the 700F */ + if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR) + { + segnb=dpihw/600; + } + else + { + segnb=1; + } + + /* compute pixel coordinate in the given dpihw space, + * taking segments into account */ + startx/=factor*segnb; + endx/=factor*segnb; + dev->len=endx-startx; + dev->dist=0; + dev->skip=0; + + /* in cas of multi-segments sensor, we have to add the witdh + * of the sensor crossed by the scan area */ + if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR && segnb>1) + { + dev->dist = sensor_profile->segcnt; + } + + /* use a segcnt rounded to next even number */ + endx += ((dev->dist+1)&0xfffe)*(segnb-1); + used_pixels=endx-startx; + + status = gl847_set_fe(dev, sensor, AFE_SET); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* enable shading */ + r = sanei_genesys_get_address (reg, REG01); + r->value &= ~REG01_SCAN; + r->value |= REG01_SHDAREA; + if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || + (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) + { + r->value &= ~REG01_DVDSET; + } + else + { + r->value |= REG01_DVDSET; + } + + r = sanei_genesys_get_address (reg, REG03); + r->value &= ~REG03_AVEENB; + + sanei_genesys_set_lamp_power(dev, sensor, *reg, !(flags & OPTICAL_FLAG_DISABLE_LAMP)); + + /* BW threshold */ + r = sanei_genesys_get_address (reg, 0x2e); + r->value = dev->settings.threshold; + r = sanei_genesys_get_address (reg, 0x2f); + r->value = dev->settings.threshold; + + /* monochrome / color scan */ + r = sanei_genesys_get_address (reg, REG04); + switch (depth) + { + case 1: + r->value &= ~REG04_BITSET; + r->value |= REG04_LINEART; + break; + case 8: + r->value &= ~(REG04_LINEART | REG04_BITSET); + break; + case 16: + r->value &= ~REG04_LINEART; + r->value |= REG04_BITSET; + break; + } + + r->value &= ~(REG04_FILTER | REG04_AFEMOD); + if (channels == 1) + { + switch (color_filter) + { + + case ColorFilter::RED: + r->value |= 0x14; + break; + case ColorFilter::BLUE: + r->value |= 0x1c; + break; + case ColorFilter::GREEN: + r->value |= 0x18; + break; + default: + break; // should not happen + } + } + else + r->value |= 0x10; /* mono */ + + /* register 05 */ + r = sanei_genesys_get_address (reg, REG05); + + /* set up dpihw */ + r->value &= ~REG05_DPIHW; + switch(dpihw) + { + case 600: + r->value |= REG05_DPIHW_600; + break; + case 1200: + r->value |= REG05_DPIHW_1200; + break; + case 2400: + r->value |= REG05_DPIHW_2400; + break; + case 4800: + r->value |= REG05_DPIHW_4800; + break; + } + + /* enable gamma tables */ + if (flags & OPTICAL_FLAG_DISABLE_GAMMA) + r->value &= ~REG05_GMMENB; + else + r->value |= REG05_GMMENB; + + /* CIS scanners can do true gray by setting LEDADD */ + /* we set up LEDADD only when asked */ + if (dev->model->is_cis == SANE_TRUE) + { + r = sanei_genesys_get_address (reg, 0x87); + r->value &= ~REG87_LEDADD; + if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) + { + r->value |= REG87_LEDADD; + } + /* RGB weighting + r = sanei_genesys_get_address (reg, 0x01); + r->value &= ~REG01_TRUEGRAY; + if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) + { + r->value |= REG01_TRUEGRAY; + }*/ + } + + /* words(16bit) before gamma, conversion to 8 bit or lineart*/ + words_per_line = (used_pixels * dpiset) / dpihw; + bytes=depth/8; + if (depth == 1) + { + words_per_line = (words_per_line+7)/8 ; + dev->len = (dev->len >> 3) + ((dev->len & 7) ? 1 : 0); + dev->dist = (dev->dist >> 3) + ((dev->dist & 7) ? 1 : 0); + } + else + { + words_per_line *= bytes; + dev->dist *= bytes; + dev->len *= bytes; + } + + dev->bpl = words_per_line; + dev->cur=0; + dev->segnb=segnb; + dev->line_interp = 0; + + sanei_genesys_set_double(reg,REG_DPISET,dpiset); + DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); + + sanei_genesys_set_double(reg,REG_STRPIXEL,startx); + sanei_genesys_set_double(reg,REG_ENDPIXEL,endx); + DBG (DBG_io2, "%s: startx=%d\n", __func__, startx); + DBG (DBG_io2, "%s: endx =%d\n", __func__, endx); + + DBG (DBG_io2, "%s: used_pixels=%d\n", __func__, used_pixels); + DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); + DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); + DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long)dev->bpl); + DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); + DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); + DBG (DBG_io2, "%s: dev->segnb =%lu\n", __func__, (unsigned long)dev->segnb); + + words_per_line *= channels; + dev->wpl = words_per_line; + + dev->oe_buffer.clear(); + dev->oe_buffer.alloc(dev->wpl); + + /* MAXWD is expressed in 4 words unit */ + sanei_genesys_set_triple(reg, REG_MAXWD, (words_per_line >> 2)); + DBG(DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); + + sanei_genesys_set_double(reg, REG_LPERIOD, exposure_time); + DBG(DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); + + r = sanei_genesys_get_address (reg, 0x34); + r->value = sensor.dummy_pixel; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/* set up registers for an actual scan + * + * this function sets up the scanner to scan in normal or single line mode + */ +static SANE_Status +gl847_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, + SetupParams& params) + +{ + params.assert_valid(); + + int used_res; + int start, used_pixels; + int bytes_per_line; + int move; + unsigned int lincnt; + unsigned int oflags; /**> optical flags */ + unsigned int mflags; /**> motor flags */ + int exposure_time; + int stagger; + + int slope_dpi = 0; + int dummy = 0; + int scan_step_type = 1; + int scan_power_mode = 0; + int max_shift; + size_t requested_buffer_size, read_buffer_size; + + SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ + int optical_res; + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, params); + + /* we may have 2 domains for ccd: xres below or above half ccd max dpi */ + if (sensor.get_ccd_size_divisor_for_dpi(params.xres) > 1) + { + half_ccd = SANE_TRUE; + } + else + { + half_ccd = SANE_FALSE; + } + + /* optical_res */ + optical_res = sensor.optical_res; + if (half_ccd) + optical_res /= 2; + + /* stagger */ + if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) + stagger = (4 * params.yres) / dev->motor.base_ydpi; + else + stagger = 0; + DBG(DBG_info, "%s : stagger=%d lines\n", __func__, stagger); + + /* used_res */ + if (params.flags & SCAN_FLAG_USE_OPTICAL_RES) + { + used_res = optical_res; + } + else + { + /* resolution is choosen from a list */ + used_res = params.xres; + } + + /* compute scan parameters values */ + /* pixels are allways given at full optical resolution */ + /* use detected left margin and fixed value */ + /* start */ + /* add x coordinates */ + start = params.startx; + + if (stagger > 0) + start |= 1; + + /* compute correct pixels number */ + /* pixels */ + used_pixels = (params.pixels * optical_res) / params.xres; + + /* round up pixels number if needed */ + if (used_pixels * params.xres < params.pixels * optical_res) + used_pixels++; + + dummy = 3-params.channels; + +/* slope_dpi */ +/* cis color scan is effectively a gray scan with 3 gray lines per color + line and a FILTER of 0 */ + if (dev->model->is_cis) + slope_dpi = params.yres * params.channels; + else + slope_dpi = params.yres; + + slope_dpi = slope_dpi * (1 + dummy); + + exposure_time = gl847_compute_exposure (dev, used_res); + scan_step_type = sanei_genesys_compute_step_type(gl847_motors, dev->model->motor_type, exposure_time); + + DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); + DBG(DBG_info, "%s : scan_step_type=%d\n", __func__, scan_step_type); + +/*** optical parameters ***/ + /* in case of dynamic lineart, we use an internal 8 bit gray scan + * to generate 1 lineart data */ + if (params.flags & SCAN_FLAG_DYNAMIC_LINEART) { + params.depth = 8; + } + + /* we enable true gray for cis scanners only, and just when doing + * scan since color calibration is OK for this mode + */ + oflags = 0; + if(params.flags & SCAN_FLAG_DISABLE_SHADING) + oflags |= OPTICAL_FLAG_DISABLE_SHADING; + if(params.flags & SCAN_FLAG_DISABLE_GAMMA) + oflags |= OPTICAL_FLAG_DISABLE_GAMMA; + if(params.flags & SCAN_FLAG_DISABLE_LAMP) + oflags |= OPTICAL_FLAG_DISABLE_LAMP; + + if (dev->model->is_cis && dev->settings.true_gray) + { + oflags |= OPTICAL_FLAG_ENABLE_LEDADD; + } + + status = gl847_init_optical_regs_scan (dev, sensor, + reg, + exposure_time, + used_res, + start, + used_pixels, + params.channels, + params.depth, + half_ccd, + params.color_filter, + oflags); + + if (status != SANE_STATUS_GOOD) + return status; + +/*** motor parameters ***/ + + /* max_shift */ + max_shift=sanei_genesys_compute_max_shift(dev,params.channels,params.yres,params.flags); + + /* lincnt */ + lincnt = params.lines + max_shift + stagger; + + /* add tl_y to base movement */ + move = params.starty; + DBG(DBG_info, "%s: move=%d steps\n", __func__, move); + + mflags=0; + if(params.flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE) + mflags |= MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE; + if(params.flags & SCAN_FLAG_FEEDING) + mflags |= MOTOR_FLAG_FEED; + + status = gl847_init_motor_regs_scan (dev, sensor, + reg, + exposure_time, + slope_dpi, + scan_step_type, + dev->model->is_cis ? lincnt * + params.channels : lincnt, dummy, move, + scan_power_mode, + mflags); + + if (status != SANE_STATUS_GOOD) + return status; + + + /*** prepares data reordering ***/ + +/* words_per_line */ + bytes_per_line = (used_pixels * used_res) / optical_res; + bytes_per_line = (bytes_per_line * params.channels * params.depth) / 8; + + requested_buffer_size = 8 * bytes_per_line; + + read_buffer_size = + 2 * requested_buffer_size + + ((max_shift + stagger) * used_pixels * params.channels * params.depth) / 8; + + dev->read_buffer.clear(); + dev->read_buffer.alloc(read_buffer_size); + + dev->lines_buffer.clear(); + dev->lines_buffer.alloc(read_buffer_size); + + dev->shrink_buffer.clear(); + dev->shrink_buffer.alloc(requested_buffer_size); + + dev->out_buffer.clear(); + dev->out_buffer.alloc((8 * params.pixels * params.channels * params.depth) / 8); + + dev->read_bytes_left = bytes_per_line * lincnt; + + DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); + dev->read_active = SANE_TRUE; + + dev->current_setup.params = params; + dev->current_setup.pixels = (used_pixels * used_res) / optical_res; + dev->current_setup.lines = lincnt; + dev->current_setup.depth = params.depth; + dev->current_setup.channels = params.channels; + dev->current_setup.exposure_time = exposure_time; + dev->current_setup.xres = used_res; + dev->current_setup.yres = params.yres; + dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; + dev->current_setup.stagger = stagger; + dev->current_setup.max_shift = max_shift + stagger; + +/* TODO: should this be done elsewhere? */ + /* scan bytes to send to the frontend */ + /* theory : + target_size = + (params.pixels * params.lines * channels * depth) / 8; + but it suffers from integer overflow so we do the following: + + 1 bit color images store color data byte-wise, eg byte 0 contains + 8 bits of red data, byte 1 contains 8 bits of green, byte 2 contains + 8 bits of blue. + This does not fix the overflow, though. + 644mp*16 = 10gp, leading to an overflow + -- pierre + */ + + dev->total_bytes_read = 0; + if (params.depth == 1) + dev->total_bytes_to_read = + ((params.pixels * params.lines) / 8 + + (((params.pixels * params.lines) % 8) ? 1 : 0)) * + params.channels; + else + dev->total_bytes_to_read = + params.pixels * params.lines * params.channels * (params.depth / 8); + + DBG(DBG_info, "%s: total bytes to send = %lu\n", __func__, (u_long) dev->total_bytes_to_read); +/* END TODO */ + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static void +gl847_calculate_current_setup(Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int channels; + int depth; + int start; + + int used_res; + int used_pixels; + unsigned int lincnt; + int exposure_time; + int stagger; + + int slope_dpi = 0; + int dummy = 0; + int max_shift; + + SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ + int optical_res; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, dev->settings); + + /* channels */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else + channels = 1; + + /* depth */ + depth = dev->settings.depth; + if (dev->settings.scan_mode == ScanColorMode::LINEART) + depth = 1; + + /* start */ + start = SANE_UNFIX (dev->model->x_offset); + start += dev->settings.tl_x; + start = (start * sensor.optical_res) / MM_PER_INCH; + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = start; // not used + params.starty = 0; // not used + params.pixels = dev->settings.pixels; + params.lines = dev->settings.lines; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = dev->settings.scan_mode; + params.color_filter = dev->settings.color_filter; + params.flags = 0; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, params); + +/* half_ccd */ + /* we have 2 domains for ccd: xres below or above half ccd max dpi */ + if (sensor.get_ccd_size_divisor_for_dpi(params.xres) > 1) { + half_ccd = SANE_TRUE; + } else { + half_ccd = SANE_FALSE; + } + + /* optical_res */ + optical_res = sensor.optical_res; + + /* stagger */ + if (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE) + stagger = (4 * params.yres) / dev->motor.base_ydpi; + else + stagger = 0; + DBG(DBG_info, "%s: stagger=%d lines\n", __func__, stagger); + + /* resolution is choosen from a fixed list */ + used_res = params.xres; + + /* compute scan parameters values */ + /* pixels are allways given at half or full CCD optical resolution */ + /* use detected left margin and fixed value */ + + /* compute correct pixels number */ + used_pixels = (params.pixels * optical_res) / used_res; + dummy = 3 - params.channels; + + /* slope_dpi */ + /* cis color scan is effectively a gray scan with 3 gray lines per color + line and a FILTER of 0 */ + if (dev->model->is_cis) { + slope_dpi = params.yres * params.channels; + } else { + slope_dpi = params.yres; + } + + slope_dpi = slope_dpi * (1 + dummy); + + exposure_time = gl847_compute_exposure (dev, used_res); + DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); + + /* max_shift */ + max_shift = sanei_genesys_compute_max_shift(dev, params.channels, params.yres, 0); + + /* lincnt */ + lincnt = params.lines + max_shift + stagger; + + dev->current_setup.params = params; + dev->current_setup.pixels = (used_pixels * used_res) / optical_res; + dev->current_setup.lines = lincnt; + dev->current_setup.depth = params.depth; + dev->current_setup.channels = params.channels; + dev->current_setup.exposure_time = exposure_time; + dev->current_setup.xres = used_res; + dev->current_setup.yres = params.yres; + dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; + dev->current_setup.stagger = stagger; + dev->current_setup.max_shift = max_shift + stagger; + + DBGCOMPLETED; +} + +/*for fast power saving methods only, like disabling certain amplifiers*/ +static SANE_Status +gl847_save_power (Genesys_Device * dev, SANE_Bool enable) +{ + DBG(DBG_proc, "%s: enable = %d\n", __func__, enable); + if (dev == NULL) + return SANE_STATUS_INVAL; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl847_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) +{ + DBG(DBG_proc, "%s (delay = %d)\n", __func__, delay); + if (dev == NULL) + return SANE_STATUS_INVAL; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl847_start_action (Genesys_Device * dev) +{ + return sanei_genesys_write_register (dev, 0x0f, 0x01); +} + +static SANE_Status +gl847_stop_action (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val40, val; + unsigned int loop; + + DBGSTART; + + /* post scan gpio : without that HOMSNR is unreliable */ + gl847_homsnr_gpio(dev); + status = sanei_genesys_get_status (dev, &val); + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + + status = sanei_genesys_read_register (dev, REG40, &val40); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* only stop action if needed */ + if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) + { + DBG(DBG_info, "%s: already stopped\n", __func__); + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + /* ends scan */ + val = dev->reg.get8(REG01); + val &= ~REG01_SCAN; + sanei_genesys_set_reg_from_set(&dev->reg, REG01, val); + status = sanei_genesys_write_register (dev, REG01, val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to write register 01: %s\n", __func__, sane_strstatus(status)); + return status; + } + sanei_genesys_sleep_ms(100); + + loop = 10; + while (loop > 0) + { + status = sanei_genesys_get_status (dev, &val); + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + status = sanei_genesys_read_register (dev, REG40, &val40); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* if scanner is in command mode, we are done */ + if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG) + && !(val & REG41_MOTORENB)) + { + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + sanei_genesys_sleep_ms(100); + loop--; + } + + DBGCOMPLETED; + return SANE_STATUS_IO_ERROR; +} + +/* Send the low-level scan command */ +static SANE_Status +gl847_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, + SANE_Bool start_motor) +{ + (void) sensor; + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + GenesysRegister *r; + + DBGSTART; + + /* clear GPIO 10 */ + if (dev->model->gpo_type != GPO_CANONLIDE700) + { + RIE (sanei_genesys_read_register (dev, REG6C, &val)); + val &= ~REG6C_GPIO10; + RIE (sanei_genesys_write_register (dev, REG6C, val)); + } + + val = REG0D_CLRLNCNT; + RIE (sanei_genesys_write_register (dev, REG0D, val)); + val = REG0D_CLRMCNT; + RIE (sanei_genesys_write_register (dev, REG0D, val)); + + RIE (sanei_genesys_read_register (dev, REG01, &val)); + val |= REG01_SCAN; + RIE (sanei_genesys_write_register (dev, REG01, val)); + r = sanei_genesys_get_address (reg, REG01); + r->value = val; + + if (start_motor) + { + RIE (sanei_genesys_write_register (dev, REG0F, 1)); + } + else + { + RIE (sanei_genesys_write_register (dev, REG0F, 0)); + } + + DBGCOMPLETED; + + return status; +} + + +/* Send the stop scan command */ +static SANE_Status +gl847_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, + SANE_Bool check_stop) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_proc, "%s (check_stop = %d)\n", __func__, check_stop); + if (reg == NULL) + return SANE_STATUS_INVAL; + + if (dev->model->is_sheetfed == SANE_TRUE) + { + status = SANE_STATUS_GOOD; + } + else /* flat bed scanners */ + { + status = gl847_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); + return status; + } + } + + DBGCOMPLETED; + return status; +} + +/** rewind scan + * Move back by the same amount of distance than previous scan. + * @param dev device to rewind + * @returns SANE_STATUS_GOOD on success + */ +#if 0 /* disabled to fix #7 */ +static +SANE_Status gl847_rewind(Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t byte; + + DBGSTART; + + /* set motor reverse */ + RIE (sanei_genesys_read_register (dev, 0x02, &byte)); + byte |= 0x04; + RIE (sanei_genesys_write_register(dev, 0x02, byte)); + + /* and start scan, then wait completion */ + RIE (gl847_begin_scan (dev, dev->reg, SANE_TRUE)); + do + { + sanei_genesys_sleep_ms(100); + RIE (sanei_genesys_read_register (dev, REG40, &byte)); + } + while(byte & REG40_MOTMFLG); + RIE (gl847_end_scan (dev, dev->reg, SANE_TRUE)); + + /* restore direction */ + RIE (sanei_genesys_read_register (dev, 0x02, &byte)); + byte &= 0xfb; + RIE (sanei_genesys_write_register(dev, 0x02, byte)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} +#endif + +/** Park head + * Moves the slider to the home (top) position slowly + * @param dev device to park + * @param wait_until_home true to make the function waiting for head + * to be home before returning, if fals returne immediately + * @returns SANE_STATUS_GOO on success */ +static +SANE_Status +gl847_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) +{ + Genesys_Register_Set local_reg; + SANE_Status status = SANE_STATUS_GOOD; + GenesysRegister *r; + float resolution; + uint8_t val; + int loop = 0; + ScanColorMode scan_mode; + + DBG(DBG_proc, "%s (wait_until_home = %d)\n", __func__, wait_until_home); + + /* post scan gpio : without that HOMSNR is unreliable */ + gl847_homsnr_gpio(dev); + + /* first read gives HOME_SENSOR true */ + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + sanei_genesys_sleep_ms(100); + + /* second is reliable */ + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); + return status; + } + if (DBG_LEVEL >= DBG_io) + { + sanei_genesys_print_status (val); + } + + /* is sensor at home? */ + if (val & HOMESNR) + { + DBG(DBG_info, "%s: already at home, completed\n", __func__); + dev->scanhead_position_in_steps = 0; + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + + local_reg = dev->reg; + + resolution=sanei_genesys_get_lowest_ydpi(dev); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + /* TODO add scan_mode to the API */ + scan_mode = dev->settings.scan_mode; + dev->settings.scan_mode = ScanColorMode::LINEART; + + SetupParams params; + params.xres = resolution; + params.yres = resolution; + params.startx = 100; + params.starty = 30000; + params.pixels = 100; + params.lines = 100; + params.depth = 8; + params.channels = 1; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::GRAY; + params.color_filter = ColorFilter::RED; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl847_init_scan_regs(dev, sensor, &local_reg, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + dev->settings.scan_mode = scan_mode; + + /* clear scan and feed count */ + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); + + /* set up for reverse */ + r = sanei_genesys_get_address (&local_reg, REG02); + r->value |= REG02_MTRREV; + + RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); + + try { + status = gl847_start_action (dev); + } catch (...) { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + try { + gl847_stop_action(dev); + } catch (...) {} + try { + // restore original registers + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + } catch (...) {} + throw; + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + gl847_stop_action (dev); + /* send original registers */ + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + return status; + } + + /* post scan gpio : without that HOMSNR is unreliable */ + gl847_homsnr_gpio(dev); + + if (wait_until_home) + { + while (loop < 300) /* do not wait longer then 30 seconds */ + { + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + if (val & HOMESNR) /* home sensor */ + { + DBG(DBG_info, "%s: reached home position\n", __func__); + gl847_stop_action (dev); + dev->scanhead_position_in_steps = 0; + DBGCOMPLETED; + return SANE_STATUS_GOOD; + } + sanei_genesys_sleep_ms(100); + ++loop; + } + + /* when we come here then the scanner needed too much time for this, so we better stop the motor */ + gl847_stop_action (dev); + DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); + return SANE_STATUS_IO_ERROR; + } + + DBG(DBG_info, "%s: scanhead is still moving\n", __func__); + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels + area at 600 dpi from very top of scanner */ +static SANE_Status +gl847_search_start_position (Genesys_Device * dev) +{ + int size; + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Register_Set local_reg; + int steps; + + int pixels = 600; + int dpi = 300; + + DBG(DBG_proc, "%s\n", __func__); + + local_reg = dev->reg; + + /* sets for a 200 lines * 600 pixels */ + /* normal scan with no shading */ + + // FIXME: the current approach of doing search only for one resolution does not work on scanners + // whith employ different sensors with potentially different settings. + auto& sensor = sanei_genesys_find_sensor_for_write(dev, dpi); + + SetupParams params; + params.xres = dpi; + params.yres = dpi; + params.startx = 0; + params.starty = 0; /*we should give a small offset here~60 steps */ + params.pixels = 600; + params.lines = dev->model->search_lines; + params.depth = 8; + params.channels = 1; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::GRAY; + params.color_filter = ColorFilter::GREEN; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl847_init_scan_regs(dev, sensor, &local_reg, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* send to scanner */ + status = dev->model->cmd_set->bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + size = pixels * dev->model->search_lines; + + std::vector data(size); + + status = gl847_begin_scan(dev, sensor, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* waits for valid data */ + do + sanei_genesys_test_buffer_empty (dev, &steps); + while (steps); + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl847_search_position.pnm", data.data(), 8, 1, pixels, + dev->model->search_lines); + + status = gl847_end_scan(dev, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* update regs to copy ASIC internal state */ + dev->reg = local_reg; + +/*TODO: find out where sanei_genesys_search_reference_point + stores information, and use that correctly*/ + status = + sanei_genesys_search_reference_point(dev, sensor, data.data(), 0, dpi, pixels, + dev->model->search_lines); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set search reference point: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + return SANE_STATUS_GOOD; +} + +/* + * sets up register for coarse gain calibration + * todo: check it for scanners using it */ +static SANE_Status +gl847_init_regs_for_coarse_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t channels; + uint8_t cksel; + + DBG(DBG_proc, "%s\n", __func__); + + + cksel = (regs.find_reg(0x18).value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ + + /* set line size */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else { + channels = 1; + } + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = 0; + params.starty = 0; + params.pixels = sensor.optical_res / cksel; + params.lines = 20; + params.depth = 16; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = dev->settings.scan_mode; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl847_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, + sensor.optical_res / cksel, dev->settings.xres); + + status = + dev->model->cmd_set->bulk_write_register(dev, regs); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** @brief moves the slider to steps at motor base dpi + * @param dev device to work on + * @param steps number of steps to move in base_dpi line count + * */ +static SANE_Status +gl847_feed (Genesys_Device * dev, unsigned int steps) +{ + Genesys_Register_Set local_reg; + SANE_Status status = SANE_STATUS_GOOD; + GenesysRegister *r; + float resolution; + uint8_t val; + + DBGSTART; + DBG(DBG_io, "%s: steps=%d\n", __func__, steps); + + local_reg = dev->reg; + + resolution=sanei_genesys_get_lowest_ydpi(dev); + const auto& sensor = sanei_genesys_find_sensor(dev, resolution); + + SetupParams params; + params.xres = resolution; + params.yres = resolution; + params.startx = 0; + params.starty = steps; + params.pixels = 100; + params.lines = 3; + params.depth = 8; + params.channels = 3; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_FEEDING | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl847_init_scan_regs(dev, sensor, &local_reg, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); + DBGCOMPLETED; + return status; + } + + /* set exposure to zero */ + sanei_genesys_set_triple(&local_reg,REG_EXPR,0); + sanei_genesys_set_triple(&local_reg,REG_EXPG,0); + sanei_genesys_set_triple(&local_reg,REG_EXPB,0); + + /* clear scan and feed count */ + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT)); + RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRMCNT)); + + /* set up for no scan */ + r = sanei_genesys_get_address(&local_reg, REG01); + r->value &= ~REG01_SCAN; + + /* send registers */ + RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); + + try { + status = gl847_start_action (dev); + } catch (...) { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + try { + gl847_stop_action(dev); + } catch (...) {} + try { + // restore original registers + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + } catch (...) {} + throw; + } + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); + gl847_stop_action (dev); + + /* restore original registers */ + dev->model->cmd_set->bulk_write_register(dev, dev->reg); + return status; + } + + /* wait until feed count reaches the required value, but do not + * exceed 30s */ + do + { + status = sanei_genesys_get_status (dev, &val); + } + while (status == SANE_STATUS_GOOD && !(val & FEEDFSH)); + + /* then stop scanning */ + RIE(gl847_stop_action (dev)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/* init registers for shading calibration */ +static SANE_Status +gl847_init_regs_for_shading(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + float move; + + DBGSTART; + dev->calib_channels = 3; + + /* initial calibration reg values */ + regs = dev->reg; + + dev->calib_resolution = sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); + dev->calib_total_bytes_to_read = 0; + dev->calib_lines = dev->model->shading_lines; + if(dev->calib_resolution==4800) + dev->calib_lines *= 2; + dev->calib_pixels = (sensor.sensor_pixels*dev->calib_resolution)/sensor.optical_res; + DBG(DBG_io, "%s: calib_lines = %d\n", __func__, (int)dev->calib_lines); + DBG(DBG_io, "%s: calib_pixels = %d\n", __func__, (int)dev->calib_pixels); + + /* this is aworkaround insufficent distance for slope + * motor acceleration TODO special motor slope for shading */ + move=1; + if(dev->calib_resolution<1200) + { + move=40; + } + + SetupParams params; + params.xres = dev->calib_resolution; + params.yres = dev->calib_resolution; + params.startx = 0; + params.starty = move; + params.pixels = dev->calib_pixels; + params.lines = dev->calib_lines; + params.depth = 16; + params.channels = dev->calib_channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl847_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = dev->model->cmd_set->bulk_write_register(dev, regs); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* we use GENESYS_FLAG_SHADING_REPARK */ + dev->scanhead_position_in_steps = 0; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** @brief set up registers for the actual scan + */ +static SANE_Status +gl847_init_regs_for_scan (Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int channels; + int flags; + int depth; + float move; + int move_dpi; + float start; + + SANE_Status status = SANE_STATUS_GOOD; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, dev->settings); + + /* channels */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + channels = 3; + else + channels = 1; + + /* depth */ + depth = dev->settings.depth; + if (dev->settings.scan_mode == ScanColorMode::LINEART) + depth = 1; + + + /* steps to move to reach scanning area: + - first we move to physical start of scanning + either by a fixed steps amount from the black strip + or by a fixed amount from parking position, + minus the steps done during shading calibration + - then we move by the needed offset whitin physical + scanning area + + assumption: steps are expressed at maximum motor resolution + + we need: + SANE_Fixed y_offset; + SANE_Fixed y_size; + SANE_Fixed y_offset_calib; + mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ + + /* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is + relative from origin, else, it is from parking position */ + + move_dpi = dev->motor.base_ydpi; + + move = SANE_UNFIX (dev->model->y_offset); + move += dev->settings.tl_y; + move = (move * move_dpi) / MM_PER_INCH; + move -= dev->scanhead_position_in_steps; + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + /* fast move to scan area */ + /* we don't move fast the whole distance since it would involve + * computing acceleration/deceleration distance for scan + * resolution. So leave a remainder for it so scan makes the final + * move tuning */ + if(channels*dev->settings.yres>=600 && move>700) + { + status = gl847_feed (dev, move-500); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to move to scan area\n", __func__); + return status; + } + move=500; + } + + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + /* start */ + start = SANE_UNFIX (dev->model->x_offset); + start += dev->settings.tl_x; + start = (start * sensor.optical_res) / MM_PER_INCH; + + flags = 0; + + /* emulated lineart from gray data is required for now */ + if(dev->settings.scan_mode == ScanColorMode::LINEART + && dev->settings.dynamic_lineart) + { + flags |= SCAN_FLAG_DYNAMIC_LINEART; + } + + /* backtracking isn't handled well, so don't enable it */ + flags |= SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE; + + SetupParams params; + params.xres = dev->settings.xres; + params.yres = dev->settings.yres; + params.startx = start; + params.starty = move; + params.pixels = dev->settings.pixels; + params.lines = dev->settings.lines; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = dev->settings.scan_mode; + params.color_filter = dev->settings.color_filter; + params.flags = flags; + + status = gl847_init_scan_regs(dev, sensor, &dev->reg, params); + + if (status != SANE_STATUS_GOOD) + return status; + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + + +/** + * Send shading calibration data. The buffer is considered to always hold values + * for all the channels. + */ +static SANE_Status +gl847_send_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, + uint8_t * data, int size) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint32_t addr, length, i, x, factor, pixels; + uint32_t dpiset, dpihw, strpixel, endpixel; + uint16_t tempo; + uint32_t lines, channels; + uint8_t val,*ptr,*src; + + DBGSTART; + DBG(DBG_io2, "%s: writing %d bytes of shading data\n", __func__, size); + + /* shading data is plit in 3 (up to 5 with IR) areas + write(0x10014000,0x00000dd8) + URB 23429 bulk_out len 3544 wrote 0x33 0x10 0x.... + write(0x1003e000,0x00000dd8) + write(0x10068000,0x00000dd8) + */ + length = (uint32_t) (size / 3); + sanei_genesys_get_double(&dev->reg,REG_STRPIXEL,&tempo); + strpixel=tempo; + sanei_genesys_get_double(&dev->reg,REG_ENDPIXEL,&tempo); + endpixel=tempo; + + /* compute deletion factor */ + sanei_genesys_get_double(&dev->reg,REG_DPISET,&tempo); + dpiset=tempo; + DBG(DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, DPISET=%d\n", __func__, strpixel, endpixel, + endpixel-strpixel, dpiset); + dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpiset); + factor=dpihw/dpiset; + DBG(DBG_io2, "%s: factor=%d\n", __func__, factor); + + if(DBG_LEVEL>=DBG_data) + { + dev->binary=fopen("binary.pnm","wb"); + sanei_genesys_get_triple(&dev->reg, REG_LINCNT, &lines); + channels=dev->current_setup.channels; + if(dev->binary!=NULL) + { + fprintf(dev->binary,"P5\n%d %d\n%d\n",(endpixel-strpixel)/factor*channels,lines/channels,255); + } + } + + pixels=endpixel-strpixel; + + /* since we're using SHDAREA, substract startx coordinate from shading */ + strpixel-=((sensor.CCD_start_xoffset*600)/sensor.optical_res); + + /* turn pixel value into bytes 2x16 bits words */ + strpixel*=2*2; + pixels*=2*2; + + std::vector buffer(pixels, 0); + + DBG(DBG_io2, "%s: using chunks of %d (0x%04x) bytes\n", __func__, pixels, pixels); + + /* base addr of data has been written in reg D0-D4 in 4K word, so AHB address + * is 8192*reg value */ + + /* write actual color channel data */ + for(i=0;i<3;i++) + { + /* build up actual shading data by copying the part from the full width one + * to the one corresponding to SHDAREA */ + ptr = buffer.data(); + + /* iterate on both sensor segment */ + for(x=0;xmodel->y_offset_calib); + move = (move * (dev->motor.base_ydpi/4)) / MM_PER_INCH; + if(move>20) + { + RIE(gl847_feed (dev, move)); + } + DBG(DBG_io, "%s: move=%f steps\n", __func__, move); + + /* offset calibration is always done in color mode */ + channels = 3; + depth=16; + used_res=sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); + Sensor_Profile* sensor_profile=get_sensor_profile(dev->model->ccd_type, used_res); + num_pixels = (sensor.sensor_pixels*used_res)/sensor.optical_res; + + /* initial calibration reg values */ + regs = dev->reg; + + SetupParams params; + params.xres = used_res; + params.yres = used_res; + params.startx = 0; + params.starty = 0; + params.pixels = num_pixels; + params.lines = 1; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl847_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + total_size = num_pixels * channels * (depth/8) * 1; /* colors * bytes_per_color * scan lines */ + std::vector line(total_size); + + /* initial loop values and boundaries */ + exp[0]=sensor_profile->expr; + exp[1]=sensor_profile->expg; + exp[2]=sensor_profile->expb; + + bottom[0]=29000; + bottom[1]=29000; + bottom[2]=29000; + + top[0]=41000; + top[1]=51000; + top[2]=51000; + + turn = 0; + + /* no move during led calibration */ + sanei_genesys_set_motor_power(regs, false); + do + { + /* set up exposure */ + sanei_genesys_set_double(®s,REG_EXPR,exp[0]); + sanei_genesys_set_double(®s,REG_EXPG,exp[1]); + sanei_genesys_set_double(®s,REG_EXPB,exp[2]); + + /* write registers and scan data */ + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + + DBG(DBG_info, "%s: starting line reading\n", __func__); + RIE(gl847_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); + + /* stop scanning */ + RIE(gl847_stop_action (dev)); + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + snprintf(fn, 30, "gl847_led_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, line.data(), depth, channels, num_pixels, 1); + } + + /* compute average */ + for (j = 0; j < channels; j++) + { + avg[j] = 0; + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * num_pixels + 1] * 256 + + line[i * 2 + j * 2 * num_pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + avg[j] += val; + } + + avg[j] /= num_pixels; + } + + DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); + + /* check if exposure gives average within the boundaries */ + acceptable = SANE_TRUE; + for(i=0;i<3;i++) + { + if(avg[i]top[i]) + { + exp[i]=(exp[i]*top[i])/avg[i]; + acceptable = SANE_FALSE; + } + } + + turn++; + } + while (!acceptable && turn < 100); + + DBG(DBG_info, "%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0], exp[1], exp[2]); + + /* set these values as final ones for scan */ + sanei_genesys_set_double(&dev->reg,REG_EXPR,exp[0]); + sanei_genesys_set_double(&dev->reg,REG_EXPG,exp[1]); + sanei_genesys_set_double(&dev->reg,REG_EXPB,exp[2]); + + /* store in this struct since it is the one used by cache calibration */ + sensor.exposure.red = exp[0]; + sensor.exposure.green = exp[1]; + sensor.exposure.blue = exp[2]; + + /* go back home */ + if(move>20) + { + status=gl847_slow_back_home (dev, SANE_TRUE); + } + + DBGCOMPLETED; + return status; +} + +/** + * set up GPIO/GPOE for idle state + */ +static SANE_Status +gl847_init_gpio (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + int idx=0; + + DBGSTART; + + /* search GPIO profile */ + while(gpios[idx].sensor_id!=0 && dev->model->gpo_type!=gpios[idx].sensor_id) + { + idx++; + } + if(gpios[idx].sensor_id==0) + { + DBG(DBG_error, "%s: failed to find GPIO profile for sensor_id=%d\n", __func__, + dev->model->ccd_type); + return SANE_STATUS_INVAL; + } + + RIE (sanei_genesys_write_register (dev, REGA7, gpios[idx].ra7)); + RIE (sanei_genesys_write_register (dev, REGA6, gpios[idx].ra6)); + + RIE (sanei_genesys_write_register (dev, REG6E, gpios[idx].r6e)); + RIE (sanei_genesys_write_register (dev, REG6C, 0x00)); + + RIE (sanei_genesys_write_register (dev, REG6B, gpios[idx].r6b)); + RIE (sanei_genesys_write_register (dev, REG6C, gpios[idx].r6c)); + RIE (sanei_genesys_write_register (dev, REG6D, gpios[idx].r6d)); + RIE (sanei_genesys_write_register (dev, REG6E, gpios[idx].r6e)); + RIE (sanei_genesys_write_register (dev, REG6F, gpios[idx].r6f)); + + RIE (sanei_genesys_write_register (dev, REGA8, gpios[idx].ra8)); + RIE (sanei_genesys_write_register (dev, REGA9, gpios[idx].ra9)); + + DBGCOMPLETED; + return status; +} + +/** + * set memory layout by filling values in dedicated registers + */ +static SANE_Status +gl847_init_memory_layout (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + int idx = 0; + uint8_t val; + + DBG(DBG_proc, "%s\n" , __func__); + + /* point to per model memory layout */ + idx = 0; + if (dev->model->model_id == MODEL_CANON_LIDE_100) + { + idx = 0; + } + if (dev->model->model_id == MODEL_CANON_LIDE_200) + { + idx = 1; + } + if (dev->model->model_id == MODEL_CANON_CANOSCAN_5600F) + { + idx = 2; + } + if (dev->model->model_id == MODEL_CANON_LIDE_700F) + { + idx = 3; + } + + /* CLKSET nd DRAMSEL */ + val = layouts[idx].dramsel; + RIE (sanei_genesys_write_register (dev, REG0B, val)); + dev->reg.find_reg(0x0b).value = val; + + /* prevent further writings by bulk write register */ + dev->reg.remove_reg(0x0b); + + /* setup base address for shading data. */ + /* values must be multiplied by 8192=0x4000 to give address on AHB */ + /* R-Channel shading bank0 address setting for CIS */ + sanei_genesys_write_register (dev, 0xd0, layouts[idx].rd0); + /* G-Channel shading bank0 address setting for CIS */ + sanei_genesys_write_register (dev, 0xd1, layouts[idx].rd1); + /* B-Channel shading bank0 address setting for CIS */ + sanei_genesys_write_register (dev, 0xd2, layouts[idx].rd2); + + /* setup base address for scanned data. */ + /* values must be multiplied by 1024*2=0x0800 to give address on AHB */ + /* R-Channel ODD image buffer 0x0124->0x92000 */ + /* size for each buffer is 0x16d*1k word */ + sanei_genesys_write_register (dev, 0xe0, layouts[idx].re0); + sanei_genesys_write_register (dev, 0xe1, layouts[idx].re1); + /* R-Channel ODD image buffer end-address 0x0291->0x148800 => size=0xB6800*/ + sanei_genesys_write_register (dev, 0xe2, layouts[idx].re2); + sanei_genesys_write_register (dev, 0xe3, layouts[idx].re3); + + /* R-Channel EVEN image buffer 0x0292 */ + sanei_genesys_write_register (dev, 0xe4, layouts[idx].re4); + sanei_genesys_write_register (dev, 0xe5, layouts[idx].re5); + /* R-Channel EVEN image buffer end-address 0x03ff*/ + sanei_genesys_write_register (dev, 0xe6, layouts[idx].re6); + sanei_genesys_write_register (dev, 0xe7, layouts[idx].re7); + + /* same for green, since CIS, same addresses */ + sanei_genesys_write_register (dev, 0xe8, layouts[idx].re0); + sanei_genesys_write_register (dev, 0xe9, layouts[idx].re1); + sanei_genesys_write_register (dev, 0xea, layouts[idx].re2); + sanei_genesys_write_register (dev, 0xeb, layouts[idx].re3); + sanei_genesys_write_register (dev, 0xec, layouts[idx].re4); + sanei_genesys_write_register (dev, 0xed, layouts[idx].re5); + sanei_genesys_write_register (dev, 0xee, layouts[idx].re6); + sanei_genesys_write_register (dev, 0xef, layouts[idx].re7); + +/* same for blue, since CIS, same addresses */ + sanei_genesys_write_register (dev, 0xf0, layouts[idx].re0); + sanei_genesys_write_register (dev, 0xf1, layouts[idx].re1); + sanei_genesys_write_register (dev, 0xf2, layouts[idx].re2); + sanei_genesys_write_register (dev, 0xf3, layouts[idx].re3); + sanei_genesys_write_register (dev, 0xf4, layouts[idx].re4); + sanei_genesys_write_register (dev, 0xf5, layouts[idx].re5); + sanei_genesys_write_register (dev, 0xf6, layouts[idx].re6); + sanei_genesys_write_register (dev, 0xf7, layouts[idx].re7); + + DBGCOMPLETED; + return status; +} + +/* * + * initialize ASIC from power on condition + */ +static SANE_Status +gl847_boot (Genesys_Device * dev, SANE_Bool cold) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + + DBGSTART; + + /* reset ASIC if cold boot */ + if(cold) + { + RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); + RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); + } + + /* test CHKVER */ + RIE (sanei_genesys_read_register (dev, REG40, &val)); + if (val & REG40_CHKVER) + { + RIE (sanei_genesys_read_register (dev, 0x00, &val)); + DBG(DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); + } + + /* Set default values for registers */ + gl847_init_registers (dev); + + /* Write initial registers */ + RIE (dev->model->cmd_set->bulk_write_register(dev, dev->reg)); + + /* Enable DRAM by setting a rising edge on bit 3 of reg 0x0b */ + val = dev->reg.find_reg(0x0b).value & REG0B_DRAMSEL; + val = (val | REG0B_ENBDRAM); + RIE (sanei_genesys_write_register (dev, REG0B, val)); + dev->reg.find_reg(0x0b).value = val; + + /* CIS_LINE */ + SETREG (0x08, REG08_CIS_LINE); + RIE (sanei_genesys_write_register (dev, 0x08, dev->reg.find_reg(0x08).value)); + + /* set up end access */ + RIE (sanei_genesys_write_0x8c (dev, 0x10, 0x0b)); + RIE (sanei_genesys_write_0x8c (dev, 0x13, 0x0e)); + + /* setup gpio */ + RIE (gl847_init_gpio (dev)); + + /* setup internal memory layout */ + RIE (gl847_init_memory_layout (dev)); + + SETREG (0xf8, 0x01); + RIE (sanei_genesys_write_register (dev, 0xf8, dev->reg.find_reg(0xf8).value)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** + * initialize backend and ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home + */ +static SANE_Status gl847_init (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + + DBG_INIT (); + DBGSTART; + + status=sanei_genesys_asic_init(dev, 0); + + DBGCOMPLETED; + return status; +} + +static SANE_Status +gl847_update_hardware_sensors (Genesys_Scanner * s) +{ + /* do what is needed to get a new set of events, but try to not lose + any of them. + */ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + uint8_t scan, file, email, copy; + switch(s->dev->model->gpo_type) + { + case GPO_CANONLIDE700: + scan=0x04; + file=0x02; + email=0x01; + copy=0x08; + break; + default: + scan=0x01; + file=0x02; + email=0x04; + copy=0x08; + } + RIE (sanei_genesys_read_register (s->dev, REG6D, &val)); + + s->buttons[BUTTON_SCAN_SW].write((val & scan) == 0); + s->buttons[BUTTON_FILE_SW].write((val & file) == 0); + s->buttons[BUTTON_EMAIL_SW].write((val & email) == 0); + s->buttons[BUTTON_COPY_SW].write((val & copy) == 0); + + return status; +} + +/** @brief search for a full width black or white strip. + * This function searches for a black or white stripe across the scanning area. + * When searching backward, the searched area must completely be of the desired + * color since this area will be used for calibration which scans forward. + * @param dev scanner device + * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward + * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip + * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not + */ +static SANE_Status +gl847_search_strip (Genesys_Device * dev, const Genesys_Sensor& sensor, + SANE_Bool forward, SANE_Bool black) +{ + unsigned int pixels, lines, channels; + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Register_Set local_reg; + size_t size; + int steps, depth, dpi; + unsigned int pass, count, found, x, y; + char title[80]; + GenesysRegister *r; + + DBG(DBG_proc, "%s %s %s\n", __func__, black ? "black" : "white", forward ? "forward" : "reverse"); + + gl847_set_fe(dev, sensor, AFE_SET); + status = gl847_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* set up for a gray scan at lowest dpi */ + dpi = 9600; + for (x = 0; x < MAX_RESOLUTIONS; x++) + { + if (dev->model->xdpi_values[x] > 0 && dev->model->xdpi_values[x] < dpi) + dpi = dev->model->xdpi_values[x]; + } + channels = 1; + /* 10 MM */ + /* lines = (10 * dpi) / MM_PER_INCH; */ + /* shading calibation is done with dev->motor.base_ydpi */ + lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; + depth = 8; + pixels = (sensor.sensor_pixels * dpi) / sensor.optical_res; + size = pixels * channels * lines * (depth / 8); + std::vector data(size); + dev->scanhead_position_in_steps = 0; + + local_reg = dev->reg; + + SetupParams params; + params.xres = dpi; + params.yres = dpi; + params.startx = 0; + params.starty = 0; + params.pixels = pixels; + params.lines = lines; + params.depth = depth; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::GRAY; + params.color_filter = ColorFilter::RED; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA; + + status = gl847_init_scan_regs(dev, sensor, &local_reg, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup for scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* set up for reverse or forward */ + r = sanei_genesys_get_address(&local_reg, REG02); + if (forward) + r->value &= ~REG02_MTRREV; + else + r->value |= REG02_MTRREV; + + + status = dev->model->cmd_set->bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl847_begin_scan(dev, sensor, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* waits for valid data */ + do + sanei_genesys_test_buffer_empty (dev, &steps); + while (steps); + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl847_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: gl847_stop_action failed\n", __func__); + return status; + } + + pass = 0; + if (DBG_LEVEL >= DBG_data) + { + sprintf(title, "gl847_search_strip_%s_%s%02d.pnm", + black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); + sanei_genesys_write_pnm_file(title, data.data(), depth, channels, pixels, lines); + } + + /* loop until strip is found or maximum pass number done */ + found = 0; + while (pass < 20 && !found) + { + status = + dev->model->cmd_set->bulk_write_register(dev, local_reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + /* now start scan */ + status = gl847_begin_scan(dev, sensor, &local_reg, SANE_TRUE); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + /* waits for valid data */ + do + sanei_genesys_test_buffer_empty (dev, &steps); + while (steps); + + /* now we're on target, we can read data */ + status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); + return status; + } + + status = gl847_stop_action (dev); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: gl847_stop_action failed\n", __func__); + return status; + } + + if (DBG_LEVEL >= DBG_data) + { + sprintf(title, "gl847_search_strip_%s_%s%02d.pnm", + black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); + sanei_genesys_write_pnm_file(title, data.data(), depth, channels, pixels, lines); + } + + /* search data to find black strip */ + /* when searching forward, we only need one line of the searched color since we + * will scan forward. But when doing backward search, we need all the area of the + * same color */ + if (forward) + { + for (y = 0; y < lines && !found; y++) + { + count = 0; + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > 90) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < 60) + { + count++; + } + } + + /* at end of line, if count >= 3%, line is not fully of the desired color + * so we must go to next line of the buffer */ + /* count*100/pixels < 3 */ + if ((count * 100) / pixels < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, + pass, y); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + } + else /* since calibration scans are done forward, we need the whole area + to be of the required color when searching backward */ + { + count = 0; + for (y = 0; y < lines; y++) + { + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > 90) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < 60) + { + count++; + } + } + } + + /* at end of area, if count >= 3%, area is not fully of the desired color + * so we must go to next buffer */ + if ((count * 100) / (pixels * lines) < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + pass++; + } + + if (found) + { + status = SANE_STATUS_GOOD; + DBG(DBG_info, "%s: %s strip found\n", __func__, black ? "black" : "white"); + } + else + { + status = SANE_STATUS_UNSUPPORTED; + DBG(DBG_info, "%s: %s strip not found\n", __func__, black ? "black" : "white"); + } + + DBGCOMPLETED; + return status; +} + +/** + * average dark pixels of a 8 bits scan + */ +static int +dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, + unsigned int channels, unsigned int black) +{ + unsigned int i, j, k, average, count; + unsigned int avg[3]; + uint8_t val; + + /* computes average value on black margin */ + for (k = 0; k < channels; k++) + { + avg[k] = 0; + count = 0; + for (i = 0; i < lines; i++) + { + for (j = 0; j < black; j++) + { + val = data[i * channels * pixels + j + k]; + avg[k] += val; + count++; + } + } + if (count) + avg[k] /= count; + DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); + } + average = 0; + for (i = 0; i < channels; i++) + average += avg[i]; + average /= channels; + DBG(DBG_info, "%s: average = %d\n", __func__, average); + return average; +} + +static SANE_Status +gl847_offset_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t reg04; + unsigned int channels, bpp; + int pass = 0, avg, total_size; + int topavg, bottomavg, resolution, lines; + int top, bottom, black_pixels, pixels; + + DBGSTART; + + /* no gain nor offset for AKM AFE */ + RIE (sanei_genesys_read_register (dev, REG04, ®04)); + if ((reg04 & REG04_FESET) == 0x02) + { + DBGCOMPLETED; + return status; + } + + /* offset calibration is always done in color mode */ + channels = 3; + resolution=sensor.optical_res; + dev->calib_pixels = sensor.sensor_pixels; + lines=1; + bpp=8; + pixels= (sensor.sensor_pixels*resolution) / sensor.optical_res; + black_pixels = (sensor.black_pixels * resolution) / sensor.optical_res; + DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); + + SetupParams params; + params.xres = resolution; + params.yres = resolution; + params.startx = 0; + params.starty = 0; + params.pixels = pixels; + params.lines = lines; + params.depth = bpp; + params.channels = channels; + params.scan_method = dev->settings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + status = gl847_init_scan_regs(dev, sensor, ®s, params); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + sanei_genesys_set_motor_power(regs, false); + + /* allocate memory for scans */ + total_size = pixels * channels * lines * (bpp/8); /* colors * bytes_per_color * scan lines */ + + std::vector first_line(total_size); + std::vector second_line(total_size); + + /* init gain */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + + /* scan with no move */ + bottom = 10; + dev->frontend.set_offset(0, bottom); + dev->frontend.set_offset(1, bottom); + dev->frontend.set_offset(2, bottom); + + RIE(gl847_set_fe(dev, sensor, AFE_SET)); + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + DBG(DBG_info, "%s: starting first line reading\n", __func__); + RIE(gl847_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size)); + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + snprintf(fn, 30, "gl847_offset%03d.pnm", bottom); + sanei_genesys_write_pnm_file(fn, first_line.data(), bpp, channels, pixels, lines); + } + + bottomavg = dark_average (first_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_io2, "%s: bottom avg=%d\n", __func__, bottomavg); + + /* now top value */ + top = 255; + dev->frontend.set_offset(0, top); + dev->frontend.set_offset(1, top); + dev->frontend.set_offset(2, top); + RIE(gl847_set_fe(dev, sensor, AFE_SET)); + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + RIE(gl847_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); + + topavg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_io2, "%s: top avg=%d\n", __func__, topavg); + + /* loop until acceptable level */ + while ((pass < 32) && (top - bottom > 1)) + { + pass++; + + /* settings for new scan */ + dev->frontend.set_offset(0, (top + bottom) / 2); + dev->frontend.set_offset(1, (top + bottom) / 2); + dev->frontend.set_offset(2, (top + bottom) / 2); + + /* scan with no move */ + RIE(gl847_set_fe(dev, sensor, AFE_SET)); + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + RIE(gl847_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + snprintf(fn, 30, "gl847_offset%03d.pnm", dev->frontend.get_offset(1)); + sanei_genesys_write_pnm_file(fn, second_line.data(), bpp, channels, pixels, lines); + } + + avg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_info, "%s: avg=%d offset=%d\n", __func__, avg, dev->frontend.get_offset(1)); + + /* compute new boundaries */ + if (topavg == avg) + { + topavg = avg; + top = dev->frontend.get_offset(1); + } + else + { + bottomavg = avg; + bottom = dev->frontend.get_offset(1); + } + } + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); + + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +static SANE_Status +gl847_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) +{ + int pixels; + int total_size; + uint8_t reg04; + int i, j, channels; + SANE_Status status = SANE_STATUS_GOOD; + int max[3]; + float gain[3],coeff; + int val, code, lines; + int resolution; + int bpp; + + DBG(DBG_proc, "%s: dpi = %d\n", __func__, dpi); + + /* no gain nor offset for AKM AFE */ + RIE (sanei_genesys_read_register (dev, REG04, ®04)); + if ((reg04 & REG04_FESET) == 0x02) + { + DBGCOMPLETED; + return status; + } + + /* coarse gain calibration is always done in color mode */ + channels = 3; + + /* follow CKSEL */ + if(dev->settings.xressettings.scan_method; + params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + params.color_filter = dev->settings.color_filter; + params.flags = SCAN_FLAG_DISABLE_SHADING | + SCAN_FLAG_DISABLE_GAMMA | + SCAN_FLAG_SINGLE_LINE | + SCAN_FLAG_IGNORE_LINE_DISTANCE; + + try { + status = gl847_init_scan_regs(dev, sensor, ®s, params); + } catch (...) { + try { + sanei_genesys_set_motor_power(regs, false); + } catch (...) {} + throw; + } + + sanei_genesys_set_motor_power(regs, false); + + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); + return status; + } + + RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); + + total_size = pixels * channels * (16/bpp) * lines; + + std::vector line(total_size); + + RIE(gl847_set_fe(dev, sensor, AFE_SET)); + RIE(gl847_begin_scan(dev, sensor, ®s, SANE_TRUE)); + RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); + + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl847_gain.pnm", line.data(), bpp, channels, pixels, lines); + + /* average value on each channel */ + for (j = 0; j < channels; j++) + { + max[j] = 0; + for (i = pixels/4; i < (pixels*3/4); i++) + { + if(bpp==16) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * pixels + 1] * 256 + + line[i * 2 + j * 2 * pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + } + else + { + if (dev->model->is_cis) + val = line[i + j * pixels]; + else + val = line[i * channels + j]; + } + + max[j] += val; + } + max[j] = max[j] / (pixels/2); + + gain[j] = ((float) sensor.gain_white_ref*coeff) / max[j]; + + /* turn logical gain value into gain code, checking for overflow */ + code = 283 - 208 / gain[j]; + if (code > 255) + code = 255; + else if (code < 0) + code = 0; + dev->frontend.set_gain(j, code); + + DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], gain[j], + dev->frontend.get_gain(j)); + } + + if (dev->model->is_cis) { + uint8_t gain0 = dev->frontend.get_gain(0); + if (gain0 > dev->frontend.get_gain(1)) { + gain0 = dev->frontend.get_gain(1); + } + if (gain0 > dev->frontend.get_gain(2)) { + gain0 = dev->frontend.get_gain(2); + } + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain0); + dev->frontend.set_gain(2, gain0); + } + + if (channels == 1) { + dev->frontend.set_gain(0, dev->frontend.get_gain(1)); + dev->frontend.set_gain(2, dev->frontend.get_gain(1)); + } + + RIE (gl847_stop_action (dev)); + + status=gl847_slow_back_home (dev, SANE_TRUE); + + DBGCOMPLETED; + return status; +} + + +/** the gl847 command set */ +static Genesys_Command_Set gl847_cmd_set = { + "gl847-generic", /* the name of this set */ + + nullptr, + + gl847_init, + NULL, /*gl847_init_regs_for_warmup*/ + gl847_init_regs_for_coarse_calibration, + gl847_init_regs_for_shading, + gl847_init_regs_for_scan, + + gl847_get_filter_bit, + gl847_get_lineart_bit, + gl847_get_bitset_bit, + gl847_get_gain4_bit, + gl847_get_fast_feed_bit, + gl847_test_buffer_empty_bit, + gl847_test_motor_flag_bit, + + gl847_set_fe, + gl847_set_powersaving, + gl847_save_power, + + gl847_begin_scan, + gl847_end_scan, + + sanei_genesys_send_gamma_table, + + gl847_search_start_position, + + gl847_offset_calibration, + gl847_coarse_gain_calibration, + gl847_led_calibration, + + NULL, + gl847_slow_back_home, + NULL, /* disable gl847_rewind, see #7 */ + + sanei_genesys_bulk_write_register, + NULL, + sanei_genesys_bulk_read_data, + + gl847_update_hardware_sensors, + + NULL, /* no known gl847 sheetfed scanner */ + NULL, /* no known gl847 sheetfed scanner */ + NULL, /* no known gl847 sheetfed scanner */ + gl847_search_strip, + + sanei_genesys_is_compatible_calibration, + NULL, + gl847_send_shading_data, + gl847_calculate_current_setup, + gl847_boot +}; + +SANE_Status +sanei_gl847_init_cmd_set (Genesys_Device * dev) +{ + dev->model->cmd_set = &gl847_cmd_set; + return SANE_STATUS_GOOD; +} diff --git a/backend/genesys_gl847.h b/backend/genesys_gl847.h index 1da2065..7af9c36 100644 --- a/backend/genesys_gl847.h +++ b/backend/genesys_gl847.h @@ -43,12 +43,6 @@ #include "genesys.h" - -#ifdef UNIT_TESTING -SANE_Status gl847_stop_action (Genesys_Device * dev); -SANE_Status gl847_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home); -#endif - #define REG01 0x01 #define REG01_CISSET 0x80 #define REG01_DOGENB 0x40 @@ -326,201 +320,29 @@ SANE_Status gl847_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_hom #define REG_CK3MAP 0x77 #define REG_CK4MAP 0x7a -/** - * writable scanner registers */ -enum -{ - reg_0x01 = 0, - reg_0x02, - reg_0x03, - reg_0x04, - reg_0x05, - reg_0x06, - reg_0x08, - reg_0x09, - reg_0x0a, - reg_0x0b, - reg_0x0c, - reg_0x0d, - reg_0x0e, - reg_0x0f, - reg_0x10, - reg_0x11, - reg_0x12, - reg_0x13, - reg_0x14, - reg_0x15, - reg_0x16, - reg_0x17, - reg_0x18, - reg_0x19, - reg_0x1a, - reg_0x1b, - reg_0x1c, - reg_0x1d, - reg_0x1e, - reg_0x1f, - reg_0x20, - reg_0x21, - reg_0x22, - reg_0x23, - reg_0x24, - reg_0x25, - reg_0x26, - reg_0x27, - reg_0x2c, - reg_0x2d, - reg_0x2e, - reg_0x2f, - reg_0x30, - reg_0x31, - reg_0x32, - reg_0x33, - reg_0x34, - reg_0x35, - reg_0x36, - reg_0x37, - reg_0x38, - reg_0x39, - reg_0x3a, - reg_0x3b, - reg_0x3d, - reg_0x3e, - reg_0x3f, - reg_0x51, - reg_0x52, - reg_0x53, - reg_0x54, - reg_0x55, - reg_0x56, - reg_0x57, - reg_0x58, - reg_0x59, - reg_0x5a, - reg_0x5e, - reg_0x5f, - reg_0x60, - reg_0x61, - reg_0x62, - reg_0x63, - reg_0x64, - reg_0x65, - reg_0x67, - reg_0x68, - reg_0x69, - reg_0x6a, - reg_0x6b, - reg_0x6c, - reg_0x6d, - reg_0x6e, - reg_0x6f, - reg_0x74, - reg_0x75, - reg_0x76, - reg_0x77, - reg_0x78, - reg_0x79, - reg_0x7a, - reg_0x7b, - reg_0x7c, - reg_0x7d, - reg_0x87, - reg_0x9d, - reg_0xa2, - reg_0xa3, - reg_0xa4, - reg_0xa5, - reg_0xa6, - reg_0xa7, - reg_0xa8, - reg_0xa9, - reg_0xbd, - reg_0xbe, - reg_0xc5, - reg_0xc6, - reg_0xc7, - reg_0xc8, - reg_0xc9, - reg_0xca, - reg_0xd0, - reg_0xd1, - reg_0xd2, - reg_0xe0, - reg_0xe1, - reg_0xe2, - reg_0xe3, - reg_0xe4, - reg_0xe5, - reg_0xe6, - reg_0xe7, - reg_0xe8, - reg_0xe9, - reg_0xea, - reg_0xeb, - reg_0xec, - reg_0xed, - reg_0xee, - reg_0xef, - reg_0xf0, - reg_0xf1, - reg_0xf2, - reg_0xf3, - reg_0xf4, - reg_0xf5, - reg_0xf6, - reg_0xf7, - reg_0xf8, - reg_0xfe, - GENESYS_GL847_MAX_REGS -}; - -#define SETREG(adr,val) {dev->reg[reg_##adr].address=adr;dev->reg[reg_##adr].value=val;} +#define SETREG(adr,val) { dev->reg.init_reg(adr, val); } /** set up registers for an actual scan * * this function sets up the scanner to scan in normal or single line mode */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl847_init_scan_regs (Genesys_Device * dev, - Genesys_Register_Set * reg, - float xres, /*dpi */ - float yres, /*dpi */ - float startx, /*optical_res, from dummy_pixel+1 */ - float starty, /*base_ydpi, from home! */ - float pixels, - float lines, - unsigned int depth, - unsigned int channels, - int color_filter, - unsigned int flags); +static SANE_Status gl847_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, SetupParams& params); /* Send the low-level scan command */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl847_begin_scan (Genesys_Device * dev, Genesys_Register_Set * reg, SANE_Bool start_motor); +static SANE_Status gl847_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set * reg, SANE_Bool start_motor); /* Send the stop scan command */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl847_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, SANE_Bool check_stop); +static SANE_Status gl847_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, SANE_Bool check_stop); -#ifndef UNIT_TESTING -static -#endif -SANE_Status gl847_init (Genesys_Device * dev); +static SANE_Status gl847_init (Genesys_Device * dev); /** @brief moves the slider to steps at motor base dpi * @param dev device to work on * @param steps number of steps to move * */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status +static SANE_Status gl847_feed (Genesys_Device * dev, unsigned int steps); typedef struct @@ -606,8 +428,6 @@ typedef struct { uint8_t r17; /**> TG width */ } Sensor_Profile; -/* *INDENT-OFF* */ - static size_t order_01[]={0,1}; static size_t order_0213[]={0,2,1,3}; static size_t order_0246[]={0,2,4,6,1,3,5,7}; @@ -643,7 +463,6 @@ static Sensor_Profile sensors[]={ {CIS_CANONLIDE700, 2400, 10576, 135, 249, 85, 5187, 255, 2798, 1558, 972, new_order , 0x08}, {CIS_CANONLIDE700, 4800, 10576, 135, 249, 85, 5187, 255, 2798, 1558, 972, order_0145, 0x06}, }; -/* *INDENT-ON* */ /* base motor sopes in full step unit */ /* target=((exposure * dpi) / base_dpi)>>step_type; */ @@ -663,7 +482,6 @@ static uint32_t lide200_max[] = { 124992, 124992, 124992, 124992, 124992, 124992 * database of motor profiles */ -/* *INDENT-OFF* */ static Motor_Profile gl847_motors[]={ /* LiDE 100 */ {MOTOR_CANONLIDE100, 2848, HALF_STEP , lide200_base}, @@ -690,6 +508,3 @@ static Motor_Profile gl847_motors[]={ /* end of database entry */ {0, 0, 0, NULL}, }; -/* *INDENT-ON* */ - -/* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/genesys_low.c b/backend/genesys_low.c deleted file mode 100644 index 4cbd75d..0000000 --- a/backend/genesys_low.c +++ /dev/null @@ -1,2010 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2010-2013 Stéphane Voltz - - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ -#undef BACKEND_NAME -#define BACKEND_NAME genesys_low - -#include "genesys_low.h" - -/* ------------------------------------------------------------------------ */ -/* functions calling ASIC specific functions */ -/* ------------------------------------------------------------------------ */ - -/** - * setup the hardware dependent functions - */ -SANE_Status -sanei_genesys_init_cmd_set (Genesys_Device * dev) -{ - DBG_INIT (); - switch (dev->model->asic_type) - { - case GENESYS_GL646: - return sanei_gl646_init_cmd_set (dev); - case GENESYS_GL841: - return sanei_gl841_init_cmd_set (dev); - case GENESYS_GL843: - return sanei_gl843_init_cmd_set (dev); - case GENESYS_GL845: /* since only a few reg bits differs - we handle both together */ - case GENESYS_GL846: - return sanei_gl846_init_cmd_set (dev); - case GENESYS_GL847: - return sanei_gl847_init_cmd_set (dev); - case GENESYS_GL124: - return sanei_gl124_init_cmd_set (dev); - default: - return SANE_STATUS_INVAL; - } -} - -/* ------------------------------------------------------------------------ */ -/* General IO and debugging functions */ -/* ------------------------------------------------------------------------ */ - -/* Write data to a pnm file (e.g. calibration). For debugging only */ -/* data is RGB or grey, with little endian byte order */ -SANE_Status -sanei_genesys_write_pnm_file (char *filename, uint8_t * data, int depth, - int channels, int pixels_per_line, int lines) -{ - FILE *out; - int count; - - DBG (DBG_info, - "sanei_genesys_write_pnm_file: depth=%d, channels=%d, ppl=%d, lines=%d\n", - depth, channels, pixels_per_line, lines); - - out = fopen (filename, "w"); - if (!out) - { - DBG (DBG_error, - "sanei_genesys_write_pnm_file: could nor open %s for writing: %s\n", - filename, strerror (errno)); - return SANE_STATUS_INVAL; - } - if(depth==1) - { - fprintf (out, "P4\n%d\n%d\n", pixels_per_line, lines); - } - else - { - fprintf (out, "P%c\n%d\n%d\n%d\n", channels == 1 ? '5' : '6', - pixels_per_line, lines, (int) pow (2, depth) - 1); - } - if (channels == 3) - { - for (count = 0; count < (pixels_per_line * lines * 3); count++) - { - if (depth == 16) - fputc (*(data + 1), out); - fputc (*(data++), out); - if (depth == 16) - data++; - } - } - else - { - if (depth==1) - { - pixels_per_line/=8; - } - for (count = 0; count < (pixels_per_line * lines); count++) - { - switch (depth) - { - case 8: - fputc (*(data + count), out); - break; - case 16: - fputc (*(data + 1), out); - fputc (*(data), out); - data += 2; - break; - default: - fputc(data[count], out); - break; - } - } - } - fclose (out); - - DBG (DBG_proc, "sanei_genesys_write_pnm_file: finished\n"); - return SANE_STATUS_GOOD; -} - -/* the following 2 functions are used to handle registers in a - way that doesn't depend on the actual ASIC type */ - -/* Reads a register from a register set */ -SANE_Byte -sanei_genesys_read_reg_from_set (Genesys_Register_Set * reg, - uint16_t address) -{ - SANE_Int i; - - for (i = 0; i < GENESYS_MAX_REGS && reg[i].address; i++) - { - if (reg[i].address == address) - { - return reg[i].value; - } - } - return 0; -} - -/* Reads a register from a register set */ -void -sanei_genesys_set_reg_from_set (Genesys_Register_Set * reg, uint16_t address, - SANE_Byte value) -{ - SANE_Int i; - - for (i = 0; i < GENESYS_MAX_REGS && reg[i].address; i++) - { - if (reg[i].address == address) - { - reg[i].value = value; - break; - } - } -} - - -/* ------------------------------------------------------------------------ */ -/* Read and write RAM, registers and AFE */ -/* ------------------------------------------------------------------------ */ - -/** @brief write to one high (addr >= 0x100) register - * write to a register which address is higher than 0xff. - * @param dev opened device to write to - * @param reg LSB of register address - * @param val value to write - */ -SANE_Status -sanei_genesys_write_hregister (Genesys_Device * dev, uint16_t reg, uint8_t val) -{ - SANE_Status status; - uint8_t buffer[2]; - - buffer[0]=reg & 0xff; - buffer[1]=val; - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - 0x100 | VALUE_SET_REGISTER, INDEX, 2, buffer); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "sanei_genesys_write_hregister (0x%02x, 0x%02x): failed : %s\n", reg, val, sane_strstatus (status)); - return status; - } - - DBG (DBG_io, "sanei_genesys_write_hregister (0x%02x, 0x%02x) completed\n", - reg, val); - - return status; -} - -/** @brief read from one high (addr >= 0x100) register - * Read to a register which address is higher than 0xff. Second byte is check to detect - * physical link errors. - * @param dev opened device to read from - * @param reg LSB of register address - * @param val value to write - */ -SANE_Status -sanei_genesys_read_hregister (Genesys_Device * dev, uint16_t reg, uint8_t * val) -{ - SANE_Status status; - SANE_Byte value[2]; - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_IN, REQUEST_BUFFER, - 0x100 | VALUE_GET_REGISTER, 0x22+((reg & 0xff)<<8), 2, value); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_read_hregister (0x%02x): failed while reading register: %s\n", - reg, sane_strstatus (status)); - return status; - } - *val=value[0]; - DBG( DBG_io2, "sanei_genesys_read_hregister(0x%02x)=0x%02x\n",reg,*val); - - /* check usb link status */ - if((value[1] & 0xff) != 0x55) - { - DBG (DBG_error,"sanei_genesys_read_hregister: invalid read, scanner unplugged ?\n"); - status=SANE_STATUS_IO_ERROR; - } - return status; -} - -/** - * Write to one GL847 ASIC register -URB 10 control 0x40 0x04 0x83 0x00 len 2 wrote 0xa6 0x04 - */ -static SANE_Status -sanei_genesys_write_gl847_register (Genesys_Device * dev, uint8_t reg, uint8_t val) -{ - SANE_Status status; - uint8_t buffer[2]; - - buffer[0]=reg; - buffer[1]=val; - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, - VALUE_SET_REGISTER, INDEX, 2, buffer); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "sanei_genesys_write_gl847_register (0x%02x, 0x%02x): failed : %s\n", reg, val, sane_strstatus (status)); - return status; - } - - DBG (DBG_io, "sanei_genesys_write_gl847_register (0x%02x, 0x%02x) completed\n", - reg, val); - - return status; -} - -/** - * Write to one ASIC register - */ -SANE_Status -sanei_genesys_write_register (Genesys_Device * dev, uint16_t reg, uint8_t val) -{ - SANE_Status status; - SANE_Byte reg8; - -#ifdef UNIT_TESTING - if(dev->usb_mode<0) - { - return SANE_STATUS_GOOD; - } -#endif - - /* 16 bit register address space */ - if(reg>255) - { - return sanei_genesys_write_hregister(dev, reg, val); - } - - /* route to gl847 function if needed */ - if(dev->model->asic_type==GENESYS_GL847 - || dev->model->asic_type==GENESYS_GL845 - || dev->model->asic_type==GENESYS_GL846 - || dev->model->asic_type==GENESYS_GL124) - { - return sanei_genesys_write_gl847_register(dev, reg, val); - } - - reg8=reg & 0xff; - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_REGISTER, - VALUE_SET_REGISTER, INDEX, 1, ®8); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_write_register (0x%02x, 0x%02x): failed while setting register: %s\n", - reg, val, sane_strstatus (status)); - return status; - } - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_REGISTER, - VALUE_WRITE_REGISTER, INDEX, 1, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_write_register (0x%02x, 0x%02x): failed while writing register value: %s\n", - reg, val, sane_strstatus (status)); - return status; - } - - DBG (DBG_io, "sanei_genesys_write_register (0x%02x, 0x%02x) completed\n", - reg, val); - - return status; -} - -/** - * @brief write command to 0x8c endpoint - * Write a value to 0x8c end point (end access), for USB firmware related operations - * Known values are 0x0f, 0x11 for USB 2.0 data transfer and 0x0f,0x14 for USB1.1 - * @param dev device to write to - * @param index index of the command - * @param val value to write - */ -SANE_Status -sanei_genesys_write_0x8c (Genesys_Device * dev, uint8_t index, uint8_t val) -{ - SANE_Status status; - -#ifdef UNIT_TESTING - if(dev->usb_mode<0) - { - return SANE_STATUS_GOOD; - } -#endif - - DBG (DBG_io, "sanei_genesys_write_0x8c: 0x%02x,0x%02x\n", index, val); - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_REGISTER, - VALUE_BUF_ENDACCESS, index, 1, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_write_0x8c: failed %s\n", sane_strstatus (status)); - } - return status; -} - -/* read reg 0x41: - * URB 164 control 0xc0 0x04 0x8e 0x4122 len 2 read 0xfc 0x55 - */ -static SANE_Status -sanei_genesys_read_gl847_register (Genesys_Device * dev, uint16_t reg, uint8_t * val) -{ - SANE_Status status; - SANE_Byte value[2]; - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_IN, REQUEST_BUFFER, - VALUE_GET_REGISTER, 0x22+(reg<<8), 2, value); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_read_gl847_register (0x%02x): failed while setting register: %s\n", - reg, sane_strstatus (status)); - return status; - } - *val=value[0]; - DBG( DBG_io2, "sanei_genesys_read_gl847_register(0x%02x)=0x%02x\n",reg,*val); - - /* check usb link status */ - if((value[1] & 0xff) != 0x55) - { - DBG (DBG_error,"sanei_genesys_read_gl847_register: invalid read, scanner unplugged ?\n"); - status=SANE_STATUS_IO_ERROR; - } - return status; -} - -/* Read from one register */ -SANE_Status -sanei_genesys_read_register (Genesys_Device * dev, uint16_t reg, uint8_t * val) -{ - SANE_Status status; - SANE_Byte reg8; - -#ifdef UNIT_TESTING - if(dev->usb_mode<0) - { - *val=0; - return SANE_STATUS_GOOD; - } -#endif - - /* 16 bit register address space */ - if(reg>255) - { - return sanei_genesys_read_hregister(dev, reg, val); - } - - /* route to gl847 function if needed */ - if(dev->model->asic_type==GENESYS_GL847 - || dev->model->asic_type==GENESYS_GL845 - || dev->model->asic_type==GENESYS_GL846 - || dev->model->asic_type==GENESYS_GL124) - return sanei_genesys_read_gl847_register(dev, reg, val); - - /* 8 bit register address space */ - reg8=(SANE_Byte)(reg& 0Xff); - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_OUT, REQUEST_REGISTER, - VALUE_SET_REGISTER, INDEX, 1, ®8); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_read_register (0x%02x, 0x%02x): failed while setting register: %s\n", - reg, *val, sane_strstatus (status)); - return status; - } - - *val = 0; - - status = - sanei_usb_control_msg (dev->dn, REQUEST_TYPE_IN, REQUEST_REGISTER, - VALUE_READ_REGISTER, INDEX, 1, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_read_register (0x%02x, 0x%02x): failed while reading register value: %s\n", - reg, *val, sane_strstatus (status)); - return status; - } - - DBG (DBG_io, "sanei_genesys_read_register (0x%02x, 0x%02x) completed\n", - reg, *val); - - return status; -} - -/* Set address for writing data */ -SANE_Status -sanei_genesys_set_buffer_address (Genesys_Device * dev, uint32_t addr) -{ - SANE_Status status; - - if(dev->model->asic_type==GENESYS_GL847 - || dev->model->asic_type==GENESYS_GL845 - || dev->model->asic_type==GENESYS_GL846 - || dev->model->asic_type==GENESYS_GL124) - { - DBG (DBG_warn, - "sanei_genesys_set_buffer_address: shouldn't be used for GL846+ ASICs\n"); - return SANE_STATUS_GOOD; - } - - DBG (DBG_io, - "sanei_genesys_set_buffer_address: setting address to 0x%05x\n", - addr & 0xfffffff0); - - addr = addr >> 4; - - status = sanei_genesys_write_register (dev, 0x2b, (addr & 0xff)); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_set_buffer_address: failed while writing low byte: %s\n", - sane_strstatus (status)); - return status; - } - - addr = addr >> 8; - status = sanei_genesys_write_register (dev, 0x2a, (addr & 0xff)); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_set_buffer_address: failed while writing high byte: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_io, "sanei_genesys_set_buffer_address: completed\n"); - - return status; -} - -/**@brief read data from analog frontend (AFE) - * @param dev device owning the AFE - * @param addr register address to read - * @param data placeholder for the result - * @return SANE_STATUS_GOOD is OK, else the error code - */ -SANE_Status -sanei_genesys_fe_read_data (Genesys_Device * dev, uint8_t addr, - uint16_t *data) -{ - SANE_Status status; - uint8_t value; - Genesys_Register_Set reg[1]; - - - DBG (DBG_proc, "sanei_genesys_fe_read_data: start\n"); - - reg[0].address = 0x50; - reg[0].value = addr; - - /* set up read address */ - status = dev->model->cmd_set->bulk_write_register (dev, reg, 1); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_fe_read_data: failed while bulk writing registers: %s\n", - sane_strstatus (status)); - return status; - } - - /* read data */ - RIE (sanei_genesys_read_register (dev, 0x46, &value)); - *data=256*value; - RIE (sanei_genesys_read_register (dev, 0x47, &value)); - *data+=value; - - DBG (DBG_io, "sanei_genesys_fe_read_data (0x%02x, 0x%04x)\n", addr, *data); - DBG (DBG_proc, "sanei_genesys_fe_read_data: completed\n"); - - return status; -} - -/*@brief write data to analog frontend - * writes data to analog frontend to set it up accordingly - * to the sensor settings (exposure, timings, color, bit depth, ...) - * @param dev devie owning the AFE to write to - * @param addr AFE rister address - * @param data value to write to AFE register - **/ -SANE_Status -sanei_genesys_fe_write_data (Genesys_Device * dev, uint8_t addr, - uint16_t data) -{ - SANE_Status status; - Genesys_Register_Set reg[3]; - -#ifdef UNIT_TESTING - if(dev->usb_mode<0) - { - return SANE_STATUS_GOOD; - } -#endif - - DBG (DBG_io, "sanei_genesys_fe_write_data (0x%02x, 0x%04x)\n", addr, data); - - reg[0].address = 0x51; - reg[0].value = addr; - reg[1].address = 0x3a; - reg[1].value = (data / 256) & 0xff; - reg[2].address = 0x3b; - reg[2].value = data & 0xff; - if (dev->model->asic_type == GENESYS_GL124) - { - reg[1].address = 0x5d; - reg[2].address = 0x5e; - } - - status = dev->model->cmd_set->bulk_write_register (dev, reg, 3); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_fe_write_data: failed while bulk writing registers: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_io, "sanei_genesys_fe_write_data: completed\n"); - - return status; -} - -/* ------------------------------------------------------------------------ */ -/* Medium level functions */ -/* ------------------------------------------------------------------------ */ - -/** read the status register - */ -SANE_Status -sanei_genesys_get_status (Genesys_Device * dev, uint8_t * status) -{ -#ifdef UNIT_TESTING - if(dev->usb_mode<0) - { - *status=0; - return SANE_STATUS_GOOD; - } -#endif - - if(dev->model->asic_type==GENESYS_GL124) - return sanei_genesys_read_hregister(dev, 0x101, status); - return sanei_genesys_read_register (dev, 0x41, status); -} - -/** - * decodes and prints content of status register - * @param val value read from status register - */ -void sanei_genesys_print_status (uint8_t val) -{ - char msg[80]; - - sprintf (msg, "%s%s%s%s%s%s%s%s", - val & PWRBIT ? "PWRBIT " : "", - val & BUFEMPTY ? "BUFEMPTY " : "", - val & FEEDFSH ? "FEEDFSH " : "", - val & SCANFSH ? "SCANFSH " : "", - val & HOMESNR ? "HOMESNR " : "", - val & LAMPSTS ? "LAMPSTS " : "", - val & FEBUSY ? "FEBUSY " : "", - val & MOTORENB ? "MOTORENB" : ""); - DBG (DBG_info, "status=%s\n", msg); -} - -#if 0 -/* returns pixels per line from register set */ -/*candidate for moving into chip specific files?*/ -static int -genesys_pixels_per_line (Genesys_Register_Set * reg) -{ - int pixels_per_line; - - pixels_per_line = - sanei_genesys_read_reg_from_set (reg, - 0x32) * 256 + - sanei_genesys_read_reg_from_set (reg, 0x33); - pixels_per_line -= - (sanei_genesys_read_reg_from_set (reg, 0x30) * 256 + - sanei_genesys_read_reg_from_set (reg, 0x31)); - - return pixels_per_line; -} - -/* returns dpiset from register set */ -/*candidate for moving into chip specific files?*/ -static int -genesys_dpiset (Genesys_Register_Set * reg) -{ - int dpiset; - - dpiset = - sanei_genesys_read_reg_from_set (reg, - 0x2c) * 256 + - sanei_genesys_read_reg_from_set (reg, 0x2d); - - return dpiset; -} -#endif - -/** read the number of valid words in scanner's RAM - * ie registers 42-43-44 - */ -/*candidate for moving into chip specific files?*/ -SANE_Status -sanei_genesys_read_valid_words (Genesys_Device * dev, unsigned int *words) -{ - SANE_Status status; - uint8_t value; - - DBGSTART; - switch (dev->model->asic_type) - { - case GENESYS_GL124: - RIE (sanei_genesys_read_hregister (dev, 0x102, &value)); - *words = (value & 0x03); - RIE (sanei_genesys_read_hregister (dev, 0x103, &value)); - *words = *words * 256 + value; - RIE (sanei_genesys_read_hregister (dev, 0x104, &value)); - *words = *words * 256 + value; - RIE (sanei_genesys_read_hregister (dev, 0x105, &value)); - *words = *words * 256 + value; - break; - - case GENESYS_GL845: - case GENESYS_GL846: - RIE (sanei_genesys_read_register (dev, 0x42, &value)); - *words = (value & 0x02); - RIE (sanei_genesys_read_register (dev, 0x43, &value)); - *words = *words * 256 + value; - RIE (sanei_genesys_read_register (dev, 0x44, &value)); - *words = *words * 256 + value; - RIE (sanei_genesys_read_register (dev, 0x45, &value)); - *words = *words * 256 + value; - break; - - case GENESYS_GL847: - RIE (sanei_genesys_read_register (dev, 0x42, &value)); - *words = (value & 0x03); - RIE (sanei_genesys_read_register (dev, 0x43, &value)); - *words = *words * 256 + value; - RIE (sanei_genesys_read_register (dev, 0x44, &value)); - *words = *words * 256 + value; - RIE (sanei_genesys_read_register (dev, 0x45, &value)); - *words = *words * 256 + value; - break; - - default: - RIE (sanei_genesys_read_register (dev, 0x44, &value)); - *words = value; - RIE (sanei_genesys_read_register (dev, 0x43, &value)); - *words += (value * 256); - RIE (sanei_genesys_read_register (dev, 0x42, &value)); - if (dev->model->asic_type == GENESYS_GL646) - *words += ((value & 0x03) * 256 * 256); - else - *words += ((value & 0x0f) * 256 * 256); - } - - DBG (DBG_proc, "%s: %d words\n", __func__, *words); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** read the number of lines scanned - * ie registers 4b-4c-4d - */ -SANE_Status -sanei_genesys_read_scancnt (Genesys_Device * dev, unsigned int *words) -{ - SANE_Status status; - uint8_t value; - - DBG (DBG_proc, "sanei_genesys_read_scancnt: start\n"); - - if (dev->model->asic_type == GENESYS_GL124) - { - RIE (sanei_genesys_read_hregister (dev, 0x10b, &value)); - *words = (value & 0x0f) << 16; - RIE (sanei_genesys_read_hregister (dev, 0x10c, &value)); - *words += (value << 8); - RIE (sanei_genesys_read_hregister (dev, 0x10d, &value)); - *words += value; - } - else - { - RIE (sanei_genesys_read_register (dev, 0x4d, &value)); - *words = value; - RIE (sanei_genesys_read_register (dev, 0x4c, &value)); - *words += (value * 256); - RIE (sanei_genesys_read_register (dev, 0x4b, &value)); - if (dev->model->asic_type == GENESYS_GL646) - *words += ((value & 0x03) * 256 * 256); - else - *words += ((value & 0x0f) * 256 * 256); - } - - DBG (DBG_proc, "sanei_genesys_read_scancnt: %d lines\n", *words); - return SANE_STATUS_GOOD; -} - -/** - * Find register in set - * @param regs register set to search - * @param addr addres of the searched register - * @return a Genesys_Register_Set pointer corresponding to the required - * address in ASIC space. Or NULL if not found. - */ -Genesys_Register_Set * -sanei_genesys_get_address (Genesys_Register_Set * regs, uint16_t addr) -{ - int i; - for (i = 0; i < GENESYS_MAX_REGS; i++) - { - if (regs[i].address == addr) - return ®s[i]; - } - DBG (DBG_error, "sanei_genesys_get_address: failed to find address for register 0x%02x, crash expected !\n",addr); - return NULL; -} - -/** - * set a 16 bit value in the given register set. - * @param regs register set where to set values - * @param addr address of the first register index to set - * @param value value to set - * @return SANE_STATUS_INVAL if the index doesn't exist in register set - */ -SANE_Status -sanei_genesys_set_double(Genesys_Register_Set *regs, uint16_t addr, uint16_t value) -{ - Genesys_Register_Set *r; - - /* high byte */ - r = sanei_genesys_get_address (regs, addr); - if(r==NULL) - { - return SANE_STATUS_INVAL; - } - r->value = HIBYTE (value); - - /* low byte */ - r = sanei_genesys_get_address (regs, addr+1); - if(r==NULL) - { - return SANE_STATUS_INVAL; - } - r->value = LOBYTE (value); - - return SANE_STATUS_GOOD; -} - -/** - * set a 24 bit value in the given register set. - * @param regs register set where to set values - * @param addr address of the first register index to set - * @param value value to set - * @return SANE_STATUS_INVAL if the index doesn't exist in register set - */ -SANE_Status -sanei_genesys_set_triple(Genesys_Register_Set *regs, uint16_t addr, uint32_t value) -{ - Genesys_Register_Set *r; - - /* low byte of highword */ - r = sanei_genesys_get_address (regs, addr); - if(r==NULL) - { - return SANE_STATUS_INVAL; - } - r->value = LOBYTE (HIWORD(value)); - - /* high byte of low word */ - r = sanei_genesys_get_address (regs, addr+1); - if(r==NULL) - { - return SANE_STATUS_INVAL; - } - r->value = HIBYTE (LOWORD(value)); - - /* low byte of low word */ - r = sanei_genesys_get_address (regs, addr+2); - if(r==NULL) - { - return SANE_STATUS_INVAL; - } - r->value = LOBYTE (LOWORD(value)); - - return SANE_STATUS_GOOD; -} - -/** - * get a 16 bit value in the given register set. - * @param regs register set where to read values - * @param addr address of the first register index to read - * @param value value to set - * @return SANE_STATUS_INVAL if the index doesn't exist in register set - */ -SANE_Status -sanei_genesys_get_double(Genesys_Register_Set *regs, uint16_t addr, uint16_t *value) -{ - Genesys_Register_Set *r; - uint16_t result=0; - - /* high byte */ - r = sanei_genesys_get_address (regs, addr); - if(r==NULL) - { - return SANE_STATUS_INVAL; - } - result=r->value<<8; - - /* low byte */ - r = sanei_genesys_get_address (regs, addr+1); - if(r==NULL) - { - return SANE_STATUS_INVAL; - } - result+=r->value; - - *value=result; - return SANE_STATUS_GOOD; -} - -/** - * get a 24 bit value in the given register set. - * @param regs register set where to read values - * @param addr address of the first register index to read - * @param value value to set - * @return SANE_STATUS_INVAL if the index doesn't exist in register set - */ -SANE_Status -sanei_genesys_get_triple(Genesys_Register_Set *regs, uint16_t addr, uint32_t *value) -{ - Genesys_Register_Set *r; - uint32_t result=0; - - /* low byte of highword */ - r = sanei_genesys_get_address (regs, addr); - if(r==NULL) - { - return SANE_STATUS_INVAL; - } - result=r->value<<16; - - /* high byte of low word */ - r = sanei_genesys_get_address (regs, addr+1); - if(r==NULL) - { - return SANE_STATUS_INVAL; - } - result+=(r->value<<8); - - /* low byte of low word */ - r = sanei_genesys_get_address (regs, addr+2); - if(r==NULL) - { - return SANE_STATUS_INVAL; - } - result+=r->value; - - *value=result; - return SANE_STATUS_GOOD; -} - -/** @brief Check if the scanner's internal data buffer is empty - * @param *dev device to test for data - * @param *empty return value - * @return empty will be set to SANE_TRUE if there is no scanned data. - **/ -SANE_Status -sanei_genesys_test_buffer_empty (Genesys_Device * dev, SANE_Bool * empty) -{ - uint8_t val = 0; - SANE_Status status; - - usleep(1000); - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_test_buffer_empty: failed to read buffer status: %s\n", - sane_strstatus (status)); - return status; - } - - if (dev->model->cmd_set->test_buffer_empty_bit (val)) - { - /* fix timing issue on USB3 (or just may be too fast) hardware - * spotted by John S. Weber - */ - usleep(1000); - DBG (DBG_io2, "sanei_genesys_test_buffer_empty: buffer is empty\n"); - *empty = SANE_TRUE; - return SANE_STATUS_GOOD; - } - - *empty = SANE_FALSE; - - DBG (DBG_io, "sanei_genesys_test_buffer_empty: buffer is filled\n"); - return SANE_STATUS_GOOD; -} - - -/* Read data (e.g scanned image) from scan buffer */ -SANE_Status -sanei_genesys_read_data_from_scanner (Genesys_Device * dev, uint8_t * data, - size_t size) -{ - SANE_Status status; - int time_count = 0; - unsigned int words = 0; - - DBG (DBG_proc, "sanei_genesys_read_data_from_scanner (size = %lu bytes)\n", - (u_long) size); - - if (size & 1) - DBG (DBG_info, - "WARNING sanei_genesys_read_data_from_scanner: odd number of bytes\n"); - - /* wait until buffer not empty for up to 5 seconds */ - do - { - status = sanei_genesys_read_valid_words (dev, &words); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_read_data_from_scanner: checking for empty buffer failed: %s\n", - sane_strstatus (status)); - return status; - } - if (words == 0) - { - usleep (10000); /* wait 10 msec */ - time_count++; - } - } - while ((time_count < 2500*2) && (words == 0)); - - if (words == 0) /* timeout, buffer does not get filled */ - { - DBG (DBG_error, - "sanei_genesys_read_data_from_scanner: timeout, buffer does not get filled\n"); - return SANE_STATUS_IO_ERROR; - } - - status = dev->model->cmd_set->bulk_read_data (dev, 0x45, data, size); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_read_data_from_scanner: reading bulk data failed: %s\n", - sane_strstatus (status)); - return status; - } - - DBG (DBG_proc, "sanei_genesys_read_data_from_scanner: completed\n"); - return SANE_STATUS_GOOD; -} -SANE_Status -sanei_genesys_read_feed_steps (Genesys_Device * dev, unsigned int *steps) -{ - SANE_Status status; - uint8_t value; - - DBG (DBG_proc, "sanei_genesys_read_feed_steps\n"); - - if (dev->model->asic_type == GENESYS_GL124) - { - RIE (sanei_genesys_read_hregister (dev, 0x108, &value)); - *steps = (value & 0x1f) << 16; - RIE (sanei_genesys_read_hregister (dev, 0x109, &value)); - *steps += (value << 8); - RIE (sanei_genesys_read_hregister (dev, 0x10a, &value)); - *steps += value; - } - else - { - RIE (sanei_genesys_read_register (dev, 0x4a, &value)); - *steps = value; - RIE (sanei_genesys_read_register (dev, 0x49, &value)); - *steps += (value * 256); - RIE (sanei_genesys_read_register (dev, 0x48, &value)); - if (dev->model->asic_type == GENESYS_GL646) - *steps += ((value & 0x03) * 256 * 256); - else if (dev->model->asic_type == GENESYS_GL841) - *steps += ((value & 0x0f) * 256 * 256); - else - *steps += ((value & 0x1f) * 256 * 256); - } - - DBG (DBG_proc, "sanei_genesys_read_feed_steps: %d steps\n", *steps); - return SANE_STATUS_GOOD; -} - - -/** - * Write to many registers at once - * Note: sequential call to write register, no effective - * bulk write implemented. - * @param dev device to write to - * @param reg pointer to an array of registers - * @param elems size of the array - */ -SANE_Status -sanei_genesys_bulk_write_register (Genesys_Device * dev, - Genesys_Register_Set * reg, - size_t elems) -{ - SANE_Status status = SANE_STATUS_GOOD; - size_t i; - - for (i = 0; i < elems && status == SANE_STATUS_GOOD; i++) - { - if (reg[i].address != 0) - { - status = - sanei_genesys_write_register (dev, reg[i].address, reg[i].value); - } - } - - DBG (DBG_io, "%s: wrote %lu registers\n", __func__, (u_long) elems); - return status; -} - - - -/** - * writes a block of data to AHB - * @param dn USB device index - * @param usb_mode usb mode : -1, fake usb, 1 usb 1.1, 2 usb 2.0 - * @param addr AHB address to write to - * @param size size of the chunk of data - * @param data pointer to the data to write - */ -SANE_Status -sanei_genesys_write_ahb (SANE_Int dn, int usb_mode, uint32_t addr, uint32_t size, uint8_t * data) -{ - uint8_t outdata[8]; - size_t written,blksize; - SANE_Status status = SANE_STATUS_GOOD; - int i; - char msg[100]="AHB="; - - outdata[0] = addr & 0xff; - outdata[1] = ((addr >> 8) & 0xff); - outdata[2] = ((addr >> 16) & 0xff); - outdata[3] = ((addr >> 24) & 0xff); - outdata[4] = (size & 0xff); - outdata[5] = ((size >> 8) & 0xff); - outdata[6] = ((size >> 16) & 0xff); - outdata[7] = ((size >> 24) & 0xff); - - if (DBG_LEVEL >= DBG_io) - { - for (i = 0; i < 8; i++) - { - sprintf (msg+strlen(msg), " 0x%02x", outdata[i]); - } - DBG (DBG_io, "%s: write(0x%08x,0x%08x)\n", __func__, addr,size); - DBG (DBG_io, "%s: %s\n", __func__, msg); - } - - /* no effective write if fake USB */ - if(usb_mode<0) - { - DBGCOMPLETED; - return status; - } - - /* write addr and size for AHB */ - status = - sanei_usb_control_msg (dn, REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, - 0x01, 8, outdata); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "sanei_genesys_write_ahb: failed while setting addr and size: %s\n", - sane_strstatus (status)); - return status; - } - - /* write actual data */ - written = 0; - do - { - if (size - written > BULKOUT_MAXSIZE) - { - blksize = BULKOUT_MAXSIZE; - } - else - { - blksize = size - written; - } - status = sanei_usb_write_bulk (dn, data + written, &blksize); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "sanei_genesys_write_ahb: failed while writing bulk data: %s\n", - sane_strstatus (status)); - return status; - } - written += blksize; - } - while (written < size); - - return status; -} - -/** @brief generates gamma buffer to transfer - * Generates gamma table buffer to send to ASIC. Applies - * contrast and brightness if set. - * @param dev device to set up - * @param bits number of bits used by gamma - * @param max value for gamma - * @param size of the gamma table - * @param gamma allocated gamma buffer to fill - * @returns SANE_STATUS_GOOD or SANE_STATUS_NO_MEM - */ -SANE_Status sanei_genesys_generate_gamma_buffer(Genesys_Device * dev, - int bits, - int max, - int size, - uint8_t *gamma) -{ - int i; - uint16_t value, *lut=NULL; - - if(dev->settings.contrast!=0 || dev->settings.brightness!=0) - { - lut=(uint16_t *)malloc(65536*2); - if(lut==NULL) - { - free(gamma); - return SANE_STATUS_NO_MEM; - } - sanei_genesys_load_lut((unsigned char *)lut, - bits, - bits, - 0, - max, - dev->settings.contrast, - dev->settings.brightness); - for (i = 0; i < size; i++) - { - value=dev->sensor.gamma_table[GENESYS_RED][i]; - value=lut[value]; - gamma[i * 2 + size * 0 + 0] = value & 0xff; - gamma[i * 2 + size * 0 + 1] = (value >> 8) & 0xff; - - value=dev->sensor.gamma_table[GENESYS_GREEN][i]; - value=lut[value]; - gamma[i * 2 + size * 2 + 0] = value & 0xff; - gamma[i * 2 + size * 2 + 1] = (value >> 8) & 0xff; - - value=dev->sensor.gamma_table[GENESYS_BLUE][i]; - value=lut[value]; - gamma[i * 2 + size * 4 + 0] = value & 0xff; - gamma[i * 2 + size * 4 + 1] = (value >> 8) & 0xff; - } - } - else - { - for (i = 0; i < size; i++) - { - value=dev->sensor.gamma_table[GENESYS_RED][i]; - gamma[i * 2 + size * 0 + 0] = value & 0xff; - gamma[i * 2 + size * 0 + 1] = (value >> 8) & 0xff; - - value=dev->sensor.gamma_table[GENESYS_GREEN][i]; - gamma[i * 2 + size * 2 + 0] = value & 0xff; - gamma[i * 2 + size * 2 + 1] = (value >> 8) & 0xff; - - value=dev->sensor.gamma_table[GENESYS_BLUE][i]; - gamma[i * 2 + size * 4 + 0] = value & 0xff; - gamma[i * 2 + size * 4 + 1] = (value >> 8) & 0xff; - } - } - - - if(lut!=NULL) - { - free(lut); - } - - return SANE_STATUS_GOOD; -} - - -/** @brief send gamma table to scanner - * This function sends generic gamma table (ie ones built with - * provided gamma) or the user defined one if provided by - * fontend. Used by gl846+ ASICs - * @param dev device to write to - */ -SANE_Status -sanei_genesys_send_gamma_table (Genesys_Device * dev) -{ - int size; - int i; - uint8_t *gamma, val; - SANE_Status status; - - DBGSTART; - - size = 256 + 1; - - /* allocate temporary gamma tables: 16 bits words, 3 channels */ - gamma = (uint8_t *) malloc (size * 2 * 3); - if (!gamma) - { - return SANE_STATUS_NO_MEM; - } - memset(gamma, 255, size*3*2); - - RIE(sanei_genesys_generate_gamma_buffer(dev, 16, 65535, size, gamma)); - - /* loop sending gamma tables NOTE: 0x01000000 not 0x10000000 */ - for (i = 0; i < 3; i++) - { - /* clear corresponding GMM_N bit */ - RIEF (sanei_genesys_read_register (dev, 0xbd, &val), gamma); - val &= ~(0x01 << i); - RIEF (sanei_genesys_write_register (dev, 0xbd, val), gamma); - - /* clear corresponding GMM_F bit */ - RIEF (sanei_genesys_read_register (dev, 0xbe, &val), gamma); - val &= ~(0x01 << i); - RIEF (sanei_genesys_write_register (dev, 0xbe, val), gamma); - - /* set GMM_Z */ - RIEF (sanei_genesys_write_register (dev, 0xc5+2*i, gamma[size*2*i+1]), gamma); - RIEF (sanei_genesys_write_register (dev, 0xc6+2*i, gamma[size*2*i]), gamma); - - status = sanei_genesys_write_ahb (dev->dn, dev->usb_mode, 0x01000000 + 0x200 * i, (size-1) * 2, gamma + i * size * 2+2); - if (status != SANE_STATUS_GOOD) - { - free (gamma); - DBG (DBG_error, - "%s: write to AHB failed writing table %d (%s)\n", __func__, - i, sane_strstatus (status)); - } - } - - free (gamma); - DBGCOMPLETED; - return status; -} - -/** @brief initialize device - * Initialize backend and ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home. Designed for gl846+ ASICs. - * Detects cold boot (ie first boot since device plugged) in this case - * an extensice setup up is done at hardware level. - * - * @param dev device to initialize - * @param max_regs umber of maximum used registers - * @return SANE_STATUS_GOOD in case of success - */ -SANE_Status -sanei_genesys_asic_init (Genesys_Device * dev, int max_regs) -{ - SANE_Status status; - uint8_t val; - SANE_Bool cold = SANE_TRUE; - int size; /**< size of the device's gamma table */ - int i; - - DBGSTART; - - /* URB 16 control 0xc0 0x0c 0x8e 0x0b len 1 read 0x00 */ - if(dev->usb_mode>=0) - { - status = sanei_usb_control_msg (dev->dn, REQUEST_TYPE_IN, REQUEST_REGISTER, VALUE_GET_REGISTER, 0x00, 1, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: request register failed %s\n", __func__, - sane_strstatus (status)); - return status; - } - DBG (DBG_io2, "%s: value=0x%02x\n", __func__, val); - DBG (DBG_info, "%s: device is %s\n", __func__, (val & 0x08) ? "USB 1.0" : "USB2.0"); - if (val & 0x08) - { - dev->usb_mode = 1; - } - else - { - dev->usb_mode = 2; - } - } - - /* setup gamma tables */ - size = 256; - for(i=0;i<3;i++) - { - FREE_IFNOT_NULL (dev->sensor.gamma_table[i]); - dev->sensor.gamma_table[i] = (uint16_t *) malloc (2 * size); - if (dev->sensor.gamma_table[i] == NULL) - { - DBG (DBG_error, "%s: could not allocate memory for gamma table %d\n", - __func__, i); - return SANE_STATUS_NO_MEM; - } - sanei_genesys_create_gamma_table (dev->sensor.gamma_table[i], - size, - 65535, - 65535, - dev->sensor.gamma[i]); - } - - /* check if the device has already been initialized and powered up - * we read register 6 and check PWRBIT, if reset scanner has been - * freshly powered up. This bit will be set to later so that following - * reads can detect power down/up cycle*/ - RIE (sanei_genesys_read_register (dev, 0x06, &val)); - /* test for POWER bit */ - if (val & 0x10) - { - cold = SANE_FALSE; - } - DBG (DBG_info, "%s: device is %s\n", __func__, cold ? "cold" : "warm"); - - /* don't do anything if backend is initialized and hardware hasn't been - * replug */ - if (dev->already_initialized && !cold) - { - DBG (DBG_info, "%s: already initialized, nothing to do\n", __func__); - return SANE_STATUS_GOOD; - } - - /* set up hardware and registers */ - RIE (dev->model->cmd_set->asic_boot (dev, cold)); - - /* now hardware part is OK, set up device struct */ - FREE_IFNOT_NULL (dev->white_average_data); - FREE_IFNOT_NULL (dev->dark_average_data); - - dev->settings.color_filter = 0; - - /* duplicate initial values into calibration registers */ - memcpy (dev->calib_reg, dev->reg, max_regs * sizeof (Genesys_Register_Set)); - - /* Set analog frontend */ - RIE (dev->model->cmd_set->set_fe (dev, AFE_INIT)); - - dev->oe_buffer.buffer = NULL; - dev->already_initialized = SANE_TRUE; - - /* Move to home if needed */ - RIE (dev->model->cmd_set->slow_back_home (dev, SANE_TRUE)); - dev->scanhead_position_in_steps = 0; - - /* Set powersaving (default = 15 minutes) */ - RIE (dev->model->cmd_set->set_powersaving (dev, 15)); - - DBGCOMPLETED; - return status; -} - -/** - * Wait for the scanning head to park - */ -SANE_Status -sanei_genesys_wait_for_home (Genesys_Device * dev) -{ - SANE_Status status; - uint8_t val; - int loop; - int max=300; - - DBGSTART; - - /* clear the parking status whatever the outcome of the function */ - dev->parking=SANE_FALSE; - - /* read initial status, if head isn't at home and motor is on - * we are parking, so we wait. - * gl847/gl124 need 2 reads for reliable results */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - return status; - } - usleep (10000); - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* if at home, return */ - if(val & HOMESNR) - { - DBG (DBG_info, - "%s: already at home\n", __func__); - return status; - } - - /* loop for 30 s max, polling home sensor */ - loop = 0; - do - { - /* wait 100 ms */ - usleep (100000); - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL >= DBG_io2) - { - sanei_genesys_print_status (val); - } - ++loop; - } - while (loop < max && !(val & HOMESNR) && status == SANE_STATUS_GOOD); - - /* if after the timeout, head is still not parked, error out */ - if(loop >= max && !(val & HOMESNR) && status == SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to reach park position %ds\n", __func__, max/10); - return SANE_STATUS_IO_ERROR; - } - - DBGCOMPLETED; - return status; -} - -/**@brief compute hardware sensor dpi to use - * compute the sensor hardware dpi based on target resolution. - * A lower dpihw enable faster scans. - * @param dev device used for the scan - * @param xres x resolution of the scan - * @return the hardware dpi to use - */ -int sanei_genesys_compute_dpihw(Genesys_Device *dev, int xres) -{ - /* some scanners use alxways hardware dpi for sensor */ - if (dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE) - { - return dev->sensor.optical_res; - } - - /* can't be below 600 dpi */ - if (xres <= 600) - { - return 600; - } - if (xres <= dev->sensor.optical_res / 4) - { - return dev->sensor.optical_res / 4; - } - if (xres <= dev->sensor.optical_res / 2) - { - return dev->sensor.optical_res / 2; - } - return dev->sensor.optical_res; -} - -/** @brief motor profile - * search for the database of motor profiles and get the best one. Each - * profile is at full step and at a reference exposure. Use first entry - * by default. - * @param motors motor profile database - * @param motor_type motor id - * @param exposure exposure time - * @return a pointer to a Motor_Profile struct - */ -Motor_Profile *sanei_genesys_get_motor_profile(Motor_Profile *motors, int motor_type, int exposure) -{ - unsigned int i; - int idx; - - i=0; - idx=-1; - while(motors[i].exposure!=0) - { - /* exact match */ - if(motors[i].motor_type==motor_type && motors[i].exposure==exposure) - { - return &(motors[i]); - } - - /* closest match */ - if(motors[i].motor_type==motor_type) - { - /* if profile exposure is higher than the required one, - * the entry is a candidate for the closest match */ - if(motors[i].exposure>=exposure) - { - if(idx<0) - { - /* no match found yet */ - idx=i; - } - else - { - /* test for better match */ - if(motors[i].exposurestep_type; -} - -/** @brief generate slope table - * Generate the slope table to use for the scan using a reference slope - * table. - * @param slope pointer to the slope table to fill - * @param steps pointer to return used step number - * @param dpi desired motor resolution - * @param exposure exposure used - * @param base_dpi base resolution of the motor - * @param step_type step type used for scan - * @param factor shrink factor for the slope - * @param motor_type motor id - * @param motors motor profile database - */ -int sanei_genesys_slope_table(uint16_t *slope, - int *steps, - int dpi, - int exposure, - int base_dpi, - int step_type, - int factor, - int motor_type, - Motor_Profile *motors) -{ -int sum, i; -uint16_t target,current; -Motor_Profile *profile; - - /* required speed */ - target=((exposure * dpi) / base_dpi)>>step_type; - DBG (DBG_io2, "%s: exposure=%d, dpi=%d, target=%d\n", __func__, exposure, dpi, target); - - /* fill result with target speed */ - for(i=0;itable[0]; - - /* loop on profile copying and apply step type */ - while(profile->table[i]!=0 && current>=target) - { - slope[i]=current; - sum+=slope[i]; - i++; - current=profile->table[i]>>step_type; - } - - /* ensure last step is required speed in case profile doesn't contain it */ - if(current!=0 && currenttable[i]==0 && DBG_LEVEL >= DBG_warn && current>target) - { - DBG (DBG_warn,"%s: short slope table, failed to reach %d. target too low ?\n",__func__,target); - } - if(i<3 && DBG_LEVEL >= DBG_warn) - { - DBG (DBG_warn,"%s: short slope table, failed to reach %d. target too high ?\n",__func__,target); - } - - /* align on factor */ - while(i%factor!=0) - { - slope[i+1]=slope[i]; - sum+=slope[i]; - i++; - } - - /* ensure minimal slope size */ - while(i<2*factor) - { - slope[i+1]=slope[i]; - sum+=slope[i]; - i++; - } - - /* return used steps and acceleration sum */ - *steps=i/factor; - return sum; -} - -/** @brief returns the lowest possible ydpi for the device - * Parses device entry to find lowest motor dpi. - * @param dev device description - * @return lowest motor resolution - */ -int sanei_genesys_get_lowest_ydpi(Genesys_Device *dev) -{ - int min=20000; - int i=0; - - while(dev->model->ydpi_values[i]!=0) - { - if(dev->model->ydpi_values[i]model->ydpi_values[i]; - } - i++; - } - return min; -} - -/** @brief returns the lowest possible dpi for the device - * Parses device entry to find lowest motor or sensor dpi. - * @param dev device description - * @return lowest motor resolution - */ -int sanei_genesys_get_lowest_dpi(Genesys_Device *dev) -{ - int min=20000; - int i=0; - - while(dev->model->ydpi_values[i]!=0) - { - if(dev->model->ydpi_values[i]model->ydpi_values[i]; - } - i++; - } - i=0; - while(dev->model->xdpi_values[i]!=0) - { - if(dev->model->xdpi_values[i]model->xdpi_values[i]; - } - i++; - } - return min; -} - -/** @brief check is a cache entry may be used - * Compares current settings with the cache entry and return - * SANE_TRUE if they are compatible. - * A calibration cache is compatible if color mode and x dpi match the user - * requested scan. In the case of CIS scanners, dpi isn't a criteria. - * flatbed cache entries are considred too old and then expires if they - * are older than the expiration time option, forcing calibration at least once - * then given time. */ -SANE_Status -sanei_genesys_is_compatible_calibration (Genesys_Device * dev, - Genesys_Calibration_Cache * cache, - int for_overwrite) -{ -#ifdef HAVE_SYS_TIME_H - struct timeval time; -#endif - int compatible = 1, resolution; - SANE_Status status; - - DBGSTART; - - if(dev->model->cmd_set->calculate_current_setup==NULL) - { - DBG (DBG_proc, "%s: no calculate_setup, non compatible cache\n", __func__); - return SANE_STATUS_UNSUPPORTED; - } - - status = dev->model->cmd_set->calculate_current_setup (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to calculate current setup: %s\n", __func__, - sane_strstatus (status)); - return status; - } - dev->current_setup.scan_method = dev->settings.scan_method; - - DBG (DBG_proc, "%s: checking\n", __func__); - - /* a calibration cache is compatible if color mode and x dpi match the user - * requested scan. In the case of CIS scanners, dpi isn't a criteria */ - if (dev->model->is_cis == SANE_FALSE) - { - resolution = dev->settings.xres; - if(resolution>dev->sensor.optical_res) - { - resolution=dev->sensor.optical_res; - } - compatible = (resolution == ((int) cache->used_setup.xres)); - } - else - { - resolution=sanei_genesys_compute_dpihw(dev,dev->settings.xres); - compatible = (resolution == ((int) sanei_genesys_compute_dpihw(dev,cache->used_setup.xres))); - } - DBG (DBG_io, "%s: after resolution check current compatible=%d\n", __func__, compatible); - if (dev->current_setup.half_ccd != cache->used_setup.half_ccd) - { - DBG (DBG_io, "%s: half_ccd=%d, used=%d\n", __func__, - dev->current_setup.half_ccd, cache->used_setup.half_ccd); - compatible = 0; - } - if (dev->current_setup.scan_method != cache->used_setup.scan_method) - { - DBG (DBG_io, "%s: current method=%d, used=%d\n", __func__, - dev->current_setup.scan_method, cache->used_setup.scan_method); - compatible = 0; - } - if (!compatible) - { - DBG (DBG_proc, "%s: completed, non compatible cache\n", __func__); - return SANE_STATUS_UNSUPPORTED; - } - - /* a cache entry expires after afetr expiration time for non sheetfed scanners */ - /* this is not taken into account when overwriting cache entries */ -#ifdef HAVE_SYS_TIME_H - if(for_overwrite == SANE_FALSE && dev->settings.expiration_time >=0) - { - gettimeofday (&time, NULL); - if ((time.tv_sec - cache->last_calibration > dev->settings.expiration_time*60) - && (dev->model->is_sheetfed == SANE_FALSE) - && (dev->settings.scan_method == SCAN_METHOD_FLATBED)) - { - DBG (DBG_proc, "%s: expired entry, non compatible cache\n", __func__); - return SANE_STATUS_UNSUPPORTED; - } - } -#endif - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** @brief compute maximum line distance shift - * compute maximum line distance shift for the motor and sensor - * combination. Line distance shift is the distance between different - * color component of CCD sensors. Since these components aren't at - * the same physical place, they scan diffrent lines. Software must - * take this into account to accurately mix color data. - * @param dev device session to compute max_shift for - * @param channels number of color channels for the scan - * @param yres motor resolution used for the scan - * @param flags scan flags - * @return 0 or line distance shift - */ -int sanei_genesys_compute_max_shift(Genesys_Device *dev, - int channels, - int yres, - int flags) -{ - int max_shift; - - max_shift=0; - if (channels > 1 && !(flags & SCAN_FLAG_IGNORE_LINE_DISTANCE)) - { - max_shift = dev->ld_shift_r; - if (dev->ld_shift_b > max_shift) - max_shift = dev->ld_shift_b; - if (dev->ld_shift_g > max_shift) - max_shift = dev->ld_shift_g; - max_shift = (max_shift * yres) / dev->motor.base_ydpi; - } - return max_shift; -} - -/** @brief build lookup table for digital enhancements - * Function to build a lookup table (LUT), often - used by scanners to implement brightness/contrast/gamma - or by backends to speed binarization/thresholding - - offset and slope inputs are -127 to +127 - - slope rotates line around central input/output val, - 0 makes horizontal line - - pos zero neg - . x . . x - . x . . x - out . x .xxxxxxxxxxx . x - . x . . x - ....x....... ............ .......x.... - in in in - - offset moves line vertically, and clamps to output range - 0 keeps the line crossing the center of the table - - high low - . xxxxxxxx . - . x . - out x . x - . . x - ............ xxxxxxxx.... - in in - - out_min/max provide bounds on output values, - useful when building thresholding lut. - 0 and 255 are good defaults otherwise. - * @param lut pointer where to store the generated lut - * @param in_bits number of bits for in values - * @param out_bits number of bits of out values - * @param out_min minimal out value - * @param out_max maximal out value - * @param slope slope of the generated data - * @param offset offset of the generated data - */ -SANE_Status -sanei_genesys_load_lut (unsigned char * lut, - int in_bits, - int out_bits, - int out_min, - int out_max, - int slope, - int offset) -{ - SANE_Status ret = SANE_STATUS_GOOD; - int i, j; - double shift, rise; - int max_in_val = (1 << in_bits) - 1; - int max_out_val = (1 << out_bits) - 1; - uint8_t *lut_p8 = lut; - uint16_t *lut_p16 = (uint16_t *) lut; - - DBGSTART; - - /* slope is converted to rise per unit run: - * first [-127,127] to [-.999,.999] - * then to [-PI/4,PI/4] then [0,PI/2] - * then take the tangent (T.O.A) - * then multiply by the normal linear slope - * because the table may not be square, i.e. 1024x256*/ - rise = tan ((double) slope / 128 * M_PI_4 + M_PI_4) * max_out_val / max_in_val; - - /* line must stay vertically centered, so figure - * out vertical offset at central input value */ - shift = (double) max_out_val / 2 - (rise * max_in_val / 2); - - /* convert the user offset setting to scale of output - * first [-127,127] to [-1,1] - * then to [-max_out_val/2,max_out_val/2]*/ - shift += (double) offset / 127 * max_out_val / 2; - - for (i = 0; i <= max_in_val; i++) - { - j = rise * i + shift; - - /* cap data to required range */ - if (j < out_min) - { - j = out_min; - } - else if (j > out_max) - { - j = out_max; - } - - /* copy result according to bit depth */ - if (out_bits <= 8) - { - *lut_p8 = j; - lut_p8++; - } - else - { - *lut_p16 = j; - lut_p16++; - } - } - - DBGCOMPLETED; - return ret; -} - -/* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/genesys_low.cc b/backend/genesys_low.cc new file mode 100644 index 0000000..097375f --- /dev/null +++ b/backend/genesys_low.cc @@ -0,0 +1,2059 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2010-2013 Stéphane Voltz + + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "genesys_low.h" +#include "assert.h" + +#include + + +Genesys_Device::~Genesys_Device() +{ + clear(); + + if (file_name != nullptr) + free(file_name); +} + +void Genesys_Device::clear() +{ + read_buffer.clear(); + lines_buffer.clear(); + shrink_buffer.clear(); + out_buffer.clear(); + binarize_buffer.clear(); + local_buffer.clear(); + + calib_file.clear(); + + calibration_cache.clear(); + + white_average_data.clear(); + dark_average_data.clear(); +} + +/* ------------------------------------------------------------------------ */ +/* functions calling ASIC specific functions */ +/* ------------------------------------------------------------------------ */ + +/** + * setup the hardware dependent functions + */ +SANE_Status +sanei_genesys_init_cmd_set (Genesys_Device * dev) +{ + DBG_INIT (); + switch (dev->model->asic_type) + { + case GENESYS_GL646: + return sanei_gl646_init_cmd_set (dev); + case GENESYS_GL841: + return sanei_gl841_init_cmd_set (dev); + case GENESYS_GL843: + return sanei_gl843_init_cmd_set (dev); + case GENESYS_GL845: /* since only a few reg bits differs + we handle both together */ + case GENESYS_GL846: + return sanei_gl846_init_cmd_set (dev); + case GENESYS_GL847: + return sanei_gl847_init_cmd_set (dev); + case GENESYS_GL124: + return sanei_gl124_init_cmd_set (dev); + default: + return SANE_STATUS_INVAL; + } +} + +/* ------------------------------------------------------------------------ */ +/* General IO and debugging functions */ +/* ------------------------------------------------------------------------ */ + +SANE_Status sanei_genesys_write_file(const char *filename, uint8_t * data, size_t length) +{ + FILE *out; + + out = fopen (filename, "w"); + if (!out) { + DBG(DBG_error, "%s: could nor open %s for writing: %s\n", __func__, filename, + strerror(errno)); + return SANE_STATUS_INVAL; + } + fwrite(data, 1, length, out); + fclose(out); + + DBG(DBG_proc, "%s: finished\n", __func__); + return SANE_STATUS_GOOD; +} + +/* Write data to a pnm file (e.g. calibration). For debugging only */ +/* data is RGB or grey, with little endian byte order */ +SANE_Status +sanei_genesys_write_pnm_file (const char *filename, uint8_t * data, int depth, + int channels, int pixels_per_line, int lines) +{ + FILE *out; + int count; + + DBG(DBG_info, "%s: depth=%d, channels=%d, ppl=%d, lines=%d\n", __func__,depth, channels, + pixels_per_line, lines); + + out = fopen (filename, "w"); + if (!out) + { + DBG(DBG_error, "%s: could nor open %s for writing: %s\n", __func__, filename, + strerror(errno)); + return SANE_STATUS_INVAL; + } + if(depth==1) + { + fprintf (out, "P4\n%d\n%d\n", pixels_per_line, lines); + } + else + { + fprintf (out, "P%c\n%d\n%d\n%d\n", channels == 1 ? '5' : '6', + pixels_per_line, lines, (int) pow (2, depth) - 1); + } + if (channels == 3) + { + for (count = 0; count < (pixels_per_line * lines * 3); count++) + { + if (depth == 16) + fputc (*(data + 1), out); + fputc (*(data++), out); + if (depth == 16) + data++; + } + } + else + { + if (depth==1) + { + pixels_per_line/=8; + } + for (count = 0; count < (pixels_per_line * lines); count++) + { + switch (depth) + { + case 8: + fputc (*(data + count), out); + break; + case 16: + fputc (*(data + 1), out); + fputc (*(data), out); + data += 2; + break; + default: + fputc(data[count], out); + break; + } + } + } + fclose (out); + + DBG(DBG_proc, "%s: finished\n", __func__); + return SANE_STATUS_GOOD; +} + +/* ------------------------------------------------------------------------ */ +/* Read and write RAM, registers and AFE */ +/* ------------------------------------------------------------------------ */ + +extern unsigned sanei_genesys_get_bulk_max_size(Genesys_Device * dev) +{ + /* Genesys supports 0xFE00 maximum size in general, wheraus GL646 supports + 0xFFC0. We use 0xF000 because that's the packet limit in the Linux usbmon + USB capture stack. By default it limits packet size to b_size / 5 where + b_size is the size of the ring buffer. By default it's 300*1024, so the + packet is limited 61440 without any visibility to acquiring software. + */ + if (dev->model->asic_type == GENESYS_GL124 || + dev->model->asic_type == GENESYS_GL846 || + dev->model->asic_type == GENESYS_GL847) { + return 0xeff0; + } + return 0xf000; +} + +void sanei_genesys_bulk_read_data_send_header(Genesys_Device* dev, size_t len) +{ + DBG_HELPER(dbg); + + uint8_t outdata[8]; + if (dev->model->asic_type == GENESYS_GL124 || + dev->model->asic_type == GENESYS_GL846 || + dev->model->asic_type == GENESYS_GL847) + { + // hard coded 0x10000000 address + outdata[0] = 0; + outdata[1] = 0; + outdata[2] = 0; + outdata[3] = 0x10; + } else if (dev->model->asic_type == GENESYS_GL841 || + dev->model->asic_type == GENESYS_GL843) { + outdata[0] = BULK_IN; + outdata[1] = BULK_RAM; + outdata[2] = VALUE_BUFFER & 0xff; + outdata[3] = (VALUE_BUFFER >> 8) & 0xff; + } else { + outdata[0] = BULK_IN; + outdata[1] = BULK_RAM; + outdata[2] = 0x00; + outdata[3] = 0x00; + } + + /* data size to transfer */ + outdata[4] = (len & 0xff); + outdata[5] = ((len >> 8) & 0xff); + outdata[6] = ((len >> 16) & 0xff); + outdata[7] = ((len >> 24) & 0xff); + + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, 0x00, + sizeof(outdata), outdata); +} + +SANE_Status sanei_genesys_bulk_read_data(Genesys_Device * dev, uint8_t addr, uint8_t* data, + size_t len) +{ + DBG_HELPER(dbg); + + // currently supported: GL646, GL841, GL843, GL846, GL847, GL124 + size_t size, target; + uint8_t *buffer; + + unsigned is_addr_used = 1; + unsigned has_header_before_each_chunk = 0; + if (dev->model->asic_type == GENESYS_GL124 || + dev->model->asic_type == GENESYS_GL846 || + dev->model->asic_type == GENESYS_GL847) + { + is_addr_used = 0; + has_header_before_each_chunk = 1; + } + + if (is_addr_used) { + DBG(DBG_io, "%s: requesting %lu bytes from 0x%02x addr\n", __func__, (u_long) len, addr); + } else { + DBG(DBG_io, "%s: requesting %lu bytes\n", __func__, (u_long) len); + } + + if (len == 0) + return SANE_STATUS_GOOD; + + if (is_addr_used) { + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, 0x00, + 1, &addr); + } + + target = len; + buffer = data; + + size_t max_in_size = sanei_genesys_get_bulk_max_size(dev); + + if (!has_header_before_each_chunk) { + sanei_genesys_bulk_read_data_send_header(dev, len); + } + + // loop until computed data size is read + while (target) { + if (target > max_in_size) { + size = max_in_size; + } else { + size = target; + } + + if (has_header_before_each_chunk) { + sanei_genesys_bulk_read_data_send_header(dev, size); + } + + DBG(DBG_io2, "%s: trying to read %lu bytes of data\n", __func__, (u_long) size); + + dev->usb_dev.bulk_read(data, &size); + + DBG(DBG_io2, "%s: read %lu bytes, %lu remaining\n", __func__, + (u_long) size, (u_long) (target - size)); + + target -= size; + data += size; + } + + if (DBG_LEVEL >= DBG_data && dev->binary!=NULL) { + fwrite(buffer, len, 1, dev->binary); + } + + return SANE_STATUS_GOOD; +} + +SANE_Status sanei_genesys_bulk_write_data(Genesys_Device * dev, uint8_t addr, uint8_t* data, + size_t len) +{ + DBG_HELPER(dbg); + + // supported: GL646, GL841, GL843 + size_t size; + uint8_t outdata[8]; + + DBG(DBG_io, "%s writing %lu bytes\n", __func__, (u_long) len); + + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, INDEX, + 1, &addr); + + + size_t max_out_size = sanei_genesys_get_bulk_max_size(dev); + + while (len) { + if (len > max_out_size) + size = max_out_size; + else + size = len; + + if (dev->model->asic_type == GENESYS_GL841) { + outdata[0] = BULK_OUT; + outdata[1] = BULK_RAM; + outdata[2] = VALUE_BUFFER & 0xff; + outdata[3] = (VALUE_BUFFER >> 8) & 0xff; + } else { + outdata[0] = BULK_OUT; + outdata[1] = BULK_RAM; + outdata[2] = 0x00; + outdata[3] = 0x00; + } + + outdata[4] = (size & 0xff); + outdata[5] = ((size >> 8) & 0xff); + outdata[6] = ((size >> 16) & 0xff); + outdata[7] = ((size >> 24) & 0xff); + + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, 0x00, + sizeof(outdata), outdata); + + dev->usb_dev.bulk_write(data, &size); + + DBG(DBG_io2, "%s: wrote %lu bytes, %lu remaining\n", __func__, (u_long) size, + (u_long) (len - size)); + + len -= size; + data += size; + } + + return SANE_STATUS_GOOD; +} + +/** @brief write to one high (addr >= 0x100) register + * write to a register which address is higher than 0xff. + * @param dev opened device to write to + * @param reg LSB of register address + * @param val value to write + */ +SANE_Status +sanei_genesys_write_hregister (Genesys_Device * dev, uint16_t reg, uint8_t val) +{ + DBG_HELPER(dbg); + + uint8_t buffer[2]; + + buffer[0]=reg & 0xff; + buffer[1]=val; + + + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, 0x100 | VALUE_SET_REGISTER, INDEX, + 2, buffer); + + DBG(DBG_io, "%s (0x%02x, 0x%02x) completed\n", __func__, reg, val); + + return SANE_STATUS_GOOD; +} + +/** @brief read from one high (addr >= 0x100) register + * Read to a register which address is higher than 0xff. Second byte is check to detect + * physical link errors. + * @param dev opened device to read from + * @param reg LSB of register address + * @param val value to write + */ +SANE_Status +sanei_genesys_read_hregister (Genesys_Device * dev, uint16_t reg, uint8_t * val) +{ + DBG_HELPER(dbg); + + SANE_Byte value[2]; + + dev->usb_dev.control_msg(REQUEST_TYPE_IN, REQUEST_BUFFER, 0x100 | VALUE_GET_REGISTER, + 0x22+((reg & 0xff)<<8), 2, value); + + *val=value[0]; + DBG(DBG_io2, "%s(0x%02x)=0x%02x\n", __func__, reg, *val); + + /* check usb link status */ + if((value[1] & 0xff) != 0x55) + { + DBG(DBG_error,"%s: invalid read, scanner unplugged ?\n", __func__); + return SANE_STATUS_IO_ERROR; + } + return SANE_STATUS_GOOD; +} + +/** + * Write to one GL847 ASIC register +URB 10 control 0x40 0x04 0x83 0x00 len 2 wrote 0xa6 0x04 + */ +static SANE_Status +sanei_genesys_write_gl847_register (Genesys_Device * dev, uint8_t reg, uint8_t val) +{ + DBG_HELPER(dbg); + + uint8_t buffer[2]; + + buffer[0]=reg; + buffer[1]=val; + + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_SET_REGISTER, INDEX, + 2, buffer); + + DBG(DBG_io, "%s (0x%02x, 0x%02x) completed\n", __func__, reg, val); + + return SANE_STATUS_GOOD; +} + +/** + * Write to one ASIC register + */ +SANE_Status +sanei_genesys_write_register (Genesys_Device * dev, uint16_t reg, uint8_t val) +{ + DBG_HELPER(dbg); + + SANE_Byte reg8; + + /* 16 bit register address space */ + if(reg>255) + { + return sanei_genesys_write_hregister(dev, reg, val); + } + + /* route to gl847 function if needed */ + if(dev->model->asic_type==GENESYS_GL847 + || dev->model->asic_type==GENESYS_GL845 + || dev->model->asic_type==GENESYS_GL846 + || dev->model->asic_type==GENESYS_GL124) + { + return sanei_genesys_write_gl847_register(dev, reg, val); + } + + reg8=reg & 0xff; + + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, INDEX, + 1, ®8); + + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_WRITE_REGISTER, INDEX, + 1, &val); + + DBG(DBG_io, "%s (0x%02x, 0x%02x) completed\n", __func__, reg, val); + + return SANE_STATUS_GOOD; +} + +/** + * @brief write command to 0x8c endpoint + * Write a value to 0x8c end point (end access), for USB firmware related operations + * Known values are 0x0f, 0x11 for USB 2.0 data transfer and 0x0f,0x14 for USB1.1 + * @param dev device to write to + * @param index index of the command + * @param val value to write + */ +SANE_Status +sanei_genesys_write_0x8c(Genesys_Device * dev, uint8_t index, uint8_t val) +{ + DBG_HELPER_ARGS(dbg, "0x%02x,0x%02x", index, val); + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_BUF_ENDACCESS, index, + 1, &val); + return SANE_STATUS_GOOD; +} + +/* read reg 0x41: + * URB 164 control 0xc0 0x04 0x8e 0x4122 len 2 read 0xfc 0x55 + */ +static SANE_Status +sanei_genesys_read_gl847_register (Genesys_Device * dev, uint16_t reg, uint8_t * val) +{ + DBG_HELPER(dbg); + SANE_Status status = SANE_STATUS_GOOD; + SANE_Byte value[2]; + + dev->usb_dev.control_msg(REQUEST_TYPE_IN, REQUEST_BUFFER, VALUE_GET_REGISTER, 0x22+(reg<<8), + 2, value); + + *val=value[0]; + DBG(DBG_io2, "%s(0x%02x)=0x%02x\n", __func__, reg, *val); + + /* check usb link status */ + if((value[1] & 0xff) != 0x55) + { + DBG(DBG_error,"%s: invalid read, scanner unplugged ?\n", __func__); + status=SANE_STATUS_IO_ERROR; + } + return status; +} + +/* Read from one register */ +SANE_Status +sanei_genesys_read_register (Genesys_Device * dev, uint16_t reg, uint8_t * val) +{ + DBG_HELPER(dbg); + + SANE_Byte reg8; + + /* 16 bit register address space */ + if(reg>255) + { + return sanei_genesys_read_hregister(dev, reg, val); + } + + /* route to gl847 function if needed */ + if(dev->model->asic_type==GENESYS_GL847 + || dev->model->asic_type==GENESYS_GL845 + || dev->model->asic_type==GENESYS_GL846 + || dev->model->asic_type==GENESYS_GL124) + return sanei_genesys_read_gl847_register(dev, reg, val); + + /* 8 bit register address space */ + reg8=(SANE_Byte)(reg& 0Xff); + + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, INDEX, + 1, ®8); + + *val = 0; + + dev->usb_dev.control_msg(REQUEST_TYPE_IN, REQUEST_REGISTER, VALUE_READ_REGISTER, INDEX, + 1, val); + + DBG(DBG_io, "%s (0x%02x, 0x%02x) completed\n", __func__, reg, *val); + + return SANE_STATUS_GOOD; +} + +/* Set address for writing data */ +SANE_Status +sanei_genesys_set_buffer_address (Genesys_Device * dev, uint32_t addr) +{ + SANE_Status status = SANE_STATUS_GOOD; + + if(dev->model->asic_type==GENESYS_GL847 + || dev->model->asic_type==GENESYS_GL845 + || dev->model->asic_type==GENESYS_GL846 + || dev->model->asic_type==GENESYS_GL124) + { + DBG(DBG_warn, "%s: shouldn't be used for GL846+ ASICs\n", __func__); + return SANE_STATUS_GOOD; + } + + DBG(DBG_io, "%s: setting address to 0x%05x\n", __func__, addr & 0xfffffff0); + + addr = addr >> 4; + + status = sanei_genesys_write_register (dev, 0x2b, (addr & 0xff)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed while writing low byte: %s\n", __func__, sane_strstatus(status)); + return status; + } + + addr = addr >> 8; + status = sanei_genesys_write_register (dev, 0x2a, (addr & 0xff)); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed while writing high byte: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_io, "%s: completed\n", __func__); + + return status; +} + +/**@brief read data from analog frontend (AFE) + * @param dev device owning the AFE + * @param addr register address to read + * @param data placeholder for the result + * @return SANE_STATUS_GOOD is OK, else the error code + */ +SANE_Status +sanei_genesys_fe_read_data (Genesys_Device * dev, uint8_t addr, + uint16_t *data) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t value; + Genesys_Register_Set reg; + + + DBG(DBG_proc, "%s: start\n", __func__); + + reg.init_reg(0x50, addr); + + /* set up read address */ + status = dev->model->cmd_set->bulk_write_register(dev, reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed while bulk writing registers: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + /* read data */ + RIE (sanei_genesys_read_register (dev, 0x46, &value)); + *data=256*value; + RIE (sanei_genesys_read_register (dev, 0x47, &value)); + *data+=value; + + DBG(DBG_io, "%s (0x%02x, 0x%04x)\n", __func__, addr, *data); + DBG(DBG_proc, "%s: completed\n", __func__); + + return status; +} + +/*@brief write data to analog frontend + * writes data to analog frontend to set it up accordingly + * to the sensor settings (exposure, timings, color, bit depth, ...) + * @param dev devie owning the AFE to write to + * @param addr AFE rister address + * @param data value to write to AFE register + **/ +SANE_Status +sanei_genesys_fe_write_data (Genesys_Device * dev, uint8_t addr, + uint16_t data) +{ + SANE_Status status = SANE_STATUS_GOOD; + Genesys_Register_Set reg(Genesys_Register_Set::SEQUENTIAL); + + DBG(DBG_io, "%s (0x%02x, 0x%04x)\n", __func__, addr, data); + + reg.init_reg(0x51, addr); + if (dev->model->asic_type == GENESYS_GL124) { + reg.init_reg(0x5d, (data / 256) & 0xff); + reg.init_reg(0x5e, data & 0xff); + } else { + reg.init_reg(0x3a, (data / 256) & 0xff); + reg.init_reg(0x3b, data & 0xff); + } + + status = dev->model->cmd_set->bulk_write_register(dev, reg); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed while bulk writing registers: %s\n", __func__, + sane_strstatus(status)); + return status; + } + + DBG(DBG_io, "%s: completed\n", __func__); + + return status; +} + +/* ------------------------------------------------------------------------ */ +/* Medium level functions */ +/* ------------------------------------------------------------------------ */ + +/** read the status register + */ +SANE_Status +sanei_genesys_get_status (Genesys_Device * dev, uint8_t * status) +{ + if(dev->model->asic_type==GENESYS_GL124) + return sanei_genesys_read_hregister(dev, 0x101, status); + return sanei_genesys_read_register (dev, 0x41, status); +} + +/** + * decodes and prints content of status register + * @param val value read from status register + */ +void sanei_genesys_print_status (uint8_t val) +{ + char msg[80]; + + sprintf (msg, "%s%s%s%s%s%s%s%s", + val & PWRBIT ? "PWRBIT " : "", + val & BUFEMPTY ? "BUFEMPTY " : "", + val & FEEDFSH ? "FEEDFSH " : "", + val & SCANFSH ? "SCANFSH " : "", + val & HOMESNR ? "HOMESNR " : "", + val & LAMPSTS ? "LAMPSTS " : "", + val & FEBUSY ? "FEBUSY " : "", + val & MOTORENB ? "MOTORENB" : ""); + DBG(DBG_info, "status=%s\n", msg); +} + +#if 0 +/* returns pixels per line from register set */ +/*candidate for moving into chip specific files?*/ +static int +genesys_pixels_per_line (Genesys_Register_Set * reg) +{ + int pixels_per_line; + + pixels_per_line = + sanei_genesys_read_reg_from_set (reg, + 0x32) * 256 + + sanei_genesys_read_reg_from_set (reg, 0x33); + pixels_per_line -= + (sanei_genesys_read_reg_from_set (reg, 0x30) * 256 + + sanei_genesys_read_reg_from_set (reg, 0x31)); + + return pixels_per_line; +} + +/* returns dpiset from register set */ +/*candidate for moving into chip specific files?*/ +static int +genesys_dpiset (Genesys_Register_Set * reg) +{ + int dpiset; + + dpiset = + sanei_genesys_read_reg_from_set (reg, + 0x2c) * 256 + + sanei_genesys_read_reg_from_set (reg, 0x2d); + + return dpiset; +} +#endif + +/** read the number of valid words in scanner's RAM + * ie registers 42-43-44 + */ +/*candidate for moving into chip specific files?*/ +SANE_Status +sanei_genesys_read_valid_words (Genesys_Device * dev, unsigned int *words) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t value; + + DBGSTART; + switch (dev->model->asic_type) + { + case GENESYS_GL124: + RIE (sanei_genesys_read_hregister (dev, 0x102, &value)); + *words = (value & 0x03); + RIE (sanei_genesys_read_hregister (dev, 0x103, &value)); + *words = *words * 256 + value; + RIE (sanei_genesys_read_hregister (dev, 0x104, &value)); + *words = *words * 256 + value; + RIE (sanei_genesys_read_hregister (dev, 0x105, &value)); + *words = *words * 256 + value; + break; + + case GENESYS_GL845: + case GENESYS_GL846: + RIE (sanei_genesys_read_register (dev, 0x42, &value)); + *words = (value & 0x02); + RIE (sanei_genesys_read_register (dev, 0x43, &value)); + *words = *words * 256 + value; + RIE (sanei_genesys_read_register (dev, 0x44, &value)); + *words = *words * 256 + value; + RIE (sanei_genesys_read_register (dev, 0x45, &value)); + *words = *words * 256 + value; + break; + + case GENESYS_GL847: + RIE (sanei_genesys_read_register (dev, 0x42, &value)); + *words = (value & 0x03); + RIE (sanei_genesys_read_register (dev, 0x43, &value)); + *words = *words * 256 + value; + RIE (sanei_genesys_read_register (dev, 0x44, &value)); + *words = *words * 256 + value; + RIE (sanei_genesys_read_register (dev, 0x45, &value)); + *words = *words * 256 + value; + break; + + default: + RIE (sanei_genesys_read_register (dev, 0x44, &value)); + *words = value; + RIE (sanei_genesys_read_register (dev, 0x43, &value)); + *words += (value * 256); + RIE (sanei_genesys_read_register (dev, 0x42, &value)); + if (dev->model->asic_type == GENESYS_GL646) + *words += ((value & 0x03) * 256 * 256); + else + *words += ((value & 0x0f) * 256 * 256); + } + + DBG(DBG_proc, "%s: %d words\n", __func__, *words); + DBGCOMPLETED; + return SANE_STATUS_GOOD; +} + +/** read the number of lines scanned + * ie registers 4b-4c-4d + */ +SANE_Status +sanei_genesys_read_scancnt (Genesys_Device * dev, unsigned int *words) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t value; + + DBG(DBG_proc, "%s: start\n", __func__); + + if (dev->model->asic_type == GENESYS_GL124) + { + RIE (sanei_genesys_read_hregister (dev, 0x10b, &value)); + *words = (value & 0x0f) << 16; + RIE (sanei_genesys_read_hregister (dev, 0x10c, &value)); + *words += (value << 8); + RIE (sanei_genesys_read_hregister (dev, 0x10d, &value)); + *words += value; + } + else + { + RIE (sanei_genesys_read_register (dev, 0x4d, &value)); + *words = value; + RIE (sanei_genesys_read_register (dev, 0x4c, &value)); + *words += (value * 256); + RIE (sanei_genesys_read_register (dev, 0x4b, &value)); + if (dev->model->asic_type == GENESYS_GL646) + *words += ((value & 0x03) * 256 * 256); + else + *words += ((value & 0x0f) * 256 * 256); + } + + DBG(DBG_proc, "%s: %d lines\n", __func__, *words); + return SANE_STATUS_GOOD; +} + +/** @brief Check if the scanner's internal data buffer is empty + * @param *dev device to test for data + * @param *empty return value + * @return empty will be set to SANE_TRUE if there is no scanned data. + **/ +SANE_Status +sanei_genesys_test_buffer_empty (Genesys_Device * dev, SANE_Bool * empty) +{ + uint8_t val = 0; + SANE_Status status = SANE_STATUS_GOOD; + + sanei_genesys_sleep_ms(1); + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: failed to read buffer status: %s\n", __func__, sane_strstatus(status)); + return status; + } + + if (dev->model->cmd_set->test_buffer_empty_bit (val)) + { + /* fix timing issue on USB3 (or just may be too fast) hardware + * spotted by John S. Weber + */ + sanei_genesys_sleep_ms(1); + DBG(DBG_io2, "%s: buffer is empty\n", __func__); + *empty = SANE_TRUE; + return SANE_STATUS_GOOD; + } + + *empty = SANE_FALSE; + + DBG(DBG_io, "%s: buffer is filled\n", __func__); + return SANE_STATUS_GOOD; +} + + +/* Read data (e.g scanned image) from scan buffer */ +SANE_Status +sanei_genesys_read_data_from_scanner (Genesys_Device * dev, uint8_t * data, + size_t size) +{ + SANE_Status status = SANE_STATUS_GOOD; + int time_count = 0; + unsigned int words = 0; + + DBG(DBG_proc, "%s (size = %lu bytes)\n", __func__, (u_long) size); + + if (size & 1) + DBG(DBG_info, "WARNING %s: odd number of bytes\n", __func__); + + /* wait until buffer not empty for up to 5 seconds */ + do + { + status = sanei_genesys_read_valid_words (dev, &words); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: checking for empty buffer failed: %s\n", __func__, + sane_strstatus(status)); + return status; + } + if (words == 0) + { + sanei_genesys_sleep_ms(10); + time_count++; + } + } + while ((time_count < 2500*2) && (words == 0)); + + if (words == 0) /* timeout, buffer does not get filled */ + { + DBG(DBG_error, "%s: timeout, buffer does not get filled\n", __func__); + return SANE_STATUS_IO_ERROR; + } + + status = dev->model->cmd_set->bulk_read_data (dev, 0x45, data, size); + if (status != SANE_STATUS_GOOD) + { + DBG(DBG_error, "%s: reading bulk data failed: %s\n", __func__, sane_strstatus(status)); + return status; + } + + DBG(DBG_proc, "%s: completed\n", __func__); + return SANE_STATUS_GOOD; +} +SANE_Status +sanei_genesys_read_feed_steps (Genesys_Device * dev, unsigned int *steps) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t value; + + DBG(DBG_proc, "%s\n", __func__); + + if (dev->model->asic_type == GENESYS_GL124) + { + RIE (sanei_genesys_read_hregister (dev, 0x108, &value)); + *steps = (value & 0x1f) << 16; + RIE (sanei_genesys_read_hregister (dev, 0x109, &value)); + *steps += (value << 8); + RIE (sanei_genesys_read_hregister (dev, 0x10a, &value)); + *steps += value; + } + else + { + RIE (sanei_genesys_read_register (dev, 0x4a, &value)); + *steps = value; + RIE (sanei_genesys_read_register (dev, 0x49, &value)); + *steps += (value * 256); + RIE (sanei_genesys_read_register (dev, 0x48, &value)); + if (dev->model->asic_type == GENESYS_GL646) + *steps += ((value & 0x03) * 256 * 256); + else if (dev->model->asic_type == GENESYS_GL841) + *steps += ((value & 0x0f) * 256 * 256); + else + *steps += ((value & 0x1f) * 256 * 256); + } + + DBG(DBG_proc, "%s: %d steps\n", __func__, *steps); + return SANE_STATUS_GOOD; +} + +void sanei_genesys_set_lamp_power(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, bool set) +{ + static const uint8_t REG03_LAMPPWR = 0x10; + + if (set) { + regs.find_reg(0x03).value |= REG03_LAMPPWR; + + if (dev->model->asic_type == GENESYS_GL841) { + sanei_genesys_set_exposure(regs, sanei_genesys_fixup_exposure(sensor.exposure)); + regs.set8(0x19, 0x50); + } + + if (dev->model->asic_type == GENESYS_GL843) { + sanei_genesys_set_exposure(regs, sensor.exposure); + } + } else { + regs.find_reg(0x03).value &= ~REG03_LAMPPWR; + + if (dev->model->asic_type == GENESYS_GL841) { + sanei_genesys_set_exposure(regs, {0x0101, 0x0101, 0x0101}); + regs.set8(0x19, 0xff); + } + + if (dev->model->asic_type == GENESYS_GL843) { + if (dev->model->model_id != MODEL_CANON_CANOSCAN_8600F) { + // BUG: datasheet says we shouldn't set exposure to zero + sanei_genesys_set_exposure(regs, {0, 0, 0}); + } + } + } + regs.state.is_lamp_on = set; +} + +void sanei_genesys_set_motor_power(Genesys_Register_Set& regs, bool set) +{ + static const uint8_t REG02_MTRPWR = 0x10; + + if (set) { + regs.find_reg(0x02).value |= REG02_MTRPWR; + } else { + regs.find_reg(0x02).value &= ~REG02_MTRPWR; + } +} + +/** + * Write to many registers at once + * Note: sequential call to write register, no effective + * bulk write implemented. + * @param dev device to write to + * @param reg pointer to an array of registers + * @param elems size of the array + */ +SANE_Status sanei_genesys_bulk_write_register(Genesys_Device * dev, Genesys_Register_Set& reg) +{ + DBG_HELPER(dbg); + + SANE_Status status = SANE_STATUS_GOOD; + + if (dev->model->asic_type == GENESYS_GL646 || + dev->model->asic_type == GENESYS_GL841) + { + uint8_t outdata[8]; + std::vector buffer; + buffer.reserve(reg.size() * 2); + + /* copy registers and values in data buffer */ + for (const auto& r : reg) { + buffer.push_back(r.address); + buffer.push_back(r.value); + } + + DBG(DBG_io, "%s (elems= %lu, size = %lu)\n", __func__, (u_long) reg.size(), + (u_long) buffer.size()); + + if (dev->model->asic_type == GENESYS_GL646) { + outdata[0] = BULK_OUT; + outdata[1] = BULK_REGISTER; + outdata[2] = 0x00; + outdata[3] = 0x00; + outdata[4] = (buffer.size() & 0xff); + outdata[5] = ((buffer.size() >> 8) & 0xff); + outdata[6] = ((buffer.size() >> 16) & 0xff); + outdata[7] = ((buffer.size() >> 24) & 0xff); + + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, INDEX, + sizeof(outdata), outdata); + + size_t write_size = buffer.size(); + + dev->usb_dev.bulk_write(buffer.data(), &write_size); + } else { + for (size_t i = 0; i < reg.size();) { + size_t c = reg.size() - i; + if (c > 32) /*32 is max on GL841. checked that.*/ + c = 32; + + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_SET_REGISTER, + INDEX, c * 2, buffer.data() + i * 2); + + i += c; + } + } + } else { + for (const auto& r : reg) { + status = sanei_genesys_write_register (dev, r.address, r.value); + if (status != SANE_STATUS_GOOD) + return status; + } + } + + DBG (DBG_io, "%s: wrote %lu registers\n", __func__, (u_long) reg.size()); + return status; +} + + + +/** + * writes a block of data to AHB + * @param dn USB device index + * @param usb_mode usb mode : 1 usb 1.1, 2 usb 2.0 + * @param addr AHB address to write to + * @param size size of the chunk of data + * @param data pointer to the data to write + */ +SANE_Status +sanei_genesys_write_ahb(Genesys_Device* dev, uint32_t addr, uint32_t size, uint8_t * data) +{ + DBG_HELPER(dbg); + + uint8_t outdata[8]; + size_t written,blksize; + SANE_Status status = SANE_STATUS_GOOD; + int i; + char msg[100]="AHB="; + + outdata[0] = addr & 0xff; + outdata[1] = ((addr >> 8) & 0xff); + outdata[2] = ((addr >> 16) & 0xff); + outdata[3] = ((addr >> 24) & 0xff); + outdata[4] = (size & 0xff); + outdata[5] = ((size >> 8) & 0xff); + outdata[6] = ((size >> 16) & 0xff); + outdata[7] = ((size >> 24) & 0xff); + + if (DBG_LEVEL >= DBG_io) + { + for (i = 0; i < 8; i++) + { + sprintf (msg+strlen(msg), " 0x%02x", outdata[i]); + } + DBG (DBG_io, "%s: write(0x%08x,0x%08x)\n", __func__, addr,size); + DBG (DBG_io, "%s: %s\n", __func__, msg); + } + + // write addr and size for AHB + dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, 0x01, 8, outdata); + + size_t max_out_size = sanei_genesys_get_bulk_max_size(dev); + + /* write actual data */ + written = 0; + do + { + if (size - written > max_out_size) + { + blksize = max_out_size; + } + else + { + blksize = size - written; + } + dev->usb_dev.bulk_write(data + written, &blksize); + + written += blksize; + } + while (written < size); + + return status; +} + + +std::vector get_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor, + int color) +{ + if (!dev->gamma_override_tables[color].empty()) { + return dev->gamma_override_tables[color]; + } else { + std::vector ret; + sanei_genesys_create_default_gamma_table(dev, ret, sensor.gamma[color]); + return ret; + } +} + +/** @brief generates gamma buffer to transfer + * Generates gamma table buffer to send to ASIC. Applies + * contrast and brightness if set. + * @param dev device to set up + * @param bits number of bits used by gamma + * @param max value for gamma + * @param size of the gamma table + * @param gamma allocated gamma buffer to fill + * @returns SANE_STATUS_GOOD or SANE_STATUS_NO_MEM + */ +SANE_Status sanei_genesys_generate_gamma_buffer(Genesys_Device * dev, + const Genesys_Sensor& sensor, + int bits, + int max, + int size, + uint8_t *gamma) +{ + std::vector rgamma = get_gamma_table(dev, sensor, GENESYS_RED); + std::vector ggamma = get_gamma_table(dev, sensor, GENESYS_GREEN); + std::vector bgamma = get_gamma_table(dev, sensor, GENESYS_BLUE); + + if(dev->settings.contrast!=0 || dev->settings.brightness!=0) + { + std::vector lut(65536); + sanei_genesys_load_lut((unsigned char *)lut.data(), + bits, + bits, + 0, + max, + dev->settings.contrast, + dev->settings.brightness); + for (int i = 0; i < size; i++) + { + uint16_t value=rgamma[i]; + value=lut[value]; + gamma[i * 2 + size * 0 + 0] = value & 0xff; + gamma[i * 2 + size * 0 + 1] = (value >> 8) & 0xff; + + value=ggamma[i]; + value=lut[value]; + gamma[i * 2 + size * 2 + 0] = value & 0xff; + gamma[i * 2 + size * 2 + 1] = (value >> 8) & 0xff; + + value=bgamma[i]; + value=lut[value]; + gamma[i * 2 + size * 4 + 0] = value & 0xff; + gamma[i * 2 + size * 4 + 1] = (value >> 8) & 0xff; + } + } + else + { + for (int i = 0; i < size; i++) + { + uint16_t value=rgamma[i]; + gamma[i * 2 + size * 0 + 0] = value & 0xff; + gamma[i * 2 + size * 0 + 1] = (value >> 8) & 0xff; + + value=ggamma[i]; + gamma[i * 2 + size * 2 + 0] = value & 0xff; + gamma[i * 2 + size * 2 + 1] = (value >> 8) & 0xff; + + value=bgamma[i]; + gamma[i * 2 + size * 4 + 0] = value & 0xff; + gamma[i * 2 + size * 4 + 1] = (value >> 8) & 0xff; + } + } + + return SANE_STATUS_GOOD; +} + + +/** @brief send gamma table to scanner + * This function sends generic gamma table (ie ones built with + * provided gamma) or the user defined one if provided by + * fontend. Used by gl846+ ASICs + * @param dev device to write to + */ +SANE_Status +sanei_genesys_send_gamma_table(Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int size; + int i; + uint8_t val; + SANE_Status status = SANE_STATUS_GOOD; + + DBGSTART; + + size = 256 + 1; + + /* allocate temporary gamma tables: 16 bits words, 3 channels */ + std::vector gamma(size * 2 * 3, 255); + + RIE(sanei_genesys_generate_gamma_buffer(dev, sensor, 16, 65535, size, gamma.data())); + + /* loop sending gamma tables NOTE: 0x01000000 not 0x10000000 */ + for (i = 0; i < 3; i++) + { + /* clear corresponding GMM_N bit */ + RIE(sanei_genesys_read_register(dev, 0xbd, &val)); + val &= ~(0x01 << i); + RIE(sanei_genesys_write_register(dev, 0xbd, val)); + + /* clear corresponding GMM_F bit */ + RIE(sanei_genesys_read_register(dev, 0xbe, &val)); + val &= ~(0x01 << i); + RIE(sanei_genesys_write_register(dev, 0xbe, val)); + + // FIXME: currently the last word of each gamma table is not initialied, so to work around + // unstable data, just set it to 0 which is the most likely value of uninitialized memory + // (proper value is probably 0xff) + gamma[size * 2 * i + size * 2 - 2] = 0; + gamma[size * 2 * i + size * 2 - 1] = 0; + + /* set GMM_Z */ + RIE(sanei_genesys_write_register (dev, 0xc5+2*i, gamma[size*2*i+1])); + RIE(sanei_genesys_write_register (dev, 0xc6+2*i, gamma[size*2*i])); + + status = sanei_genesys_write_ahb(dev, 0x01000000 + 0x200 * i, (size-1) * 2, gamma.data() + i * size * 2+2); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "%s: write to AHB failed writing table %d (%s)\n", __func__, + i, sane_strstatus (status)); + break; + } + } + + DBGCOMPLETED; + return status; +} + +/** @brief initialize device + * Initialize backend and ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home. Designed for gl846+ ASICs. + * Detects cold boot (ie first boot since device plugged) in this case + * an extensice setup up is done at hardware level. + * + * @param dev device to initialize + * @param max_regs umber of maximum used registers + * @return SANE_STATUS_GOOD in case of success + */ +SANE_Status +sanei_genesys_asic_init(Genesys_Device* dev, int /*max_regs*/) +{ + DBG_HELPER(dbg); + + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + SANE_Bool cold = SANE_TRUE; + + DBGSTART; + + // URB 16 control 0xc0 0x0c 0x8e 0x0b len 1 read 0x00 */ + dev->usb_dev.control_msg(REQUEST_TYPE_IN, REQUEST_REGISTER, VALUE_GET_REGISTER, 0x00, 1, &val); + + DBG (DBG_io2, "%s: value=0x%02x\n", __func__, val); + DBG (DBG_info, "%s: device is %s\n", __func__, (val & 0x08) ? "USB 1.0" : "USB2.0"); + if (val & 0x08) + { + dev->usb_mode = 1; + } + else + { + dev->usb_mode = 2; + } + + /* check if the device has already been initialized and powered up + * we read register 6 and check PWRBIT, if reset scanner has been + * freshly powered up. This bit will be set to later so that following + * reads can detect power down/up cycle*/ + RIE (sanei_genesys_read_register (dev, 0x06, &val)); + /* test for POWER bit */ + if (val & 0x10) + { + cold = SANE_FALSE; + } + DBG (DBG_info, "%s: device is %s\n", __func__, cold ? "cold" : "warm"); + + /* don't do anything if backend is initialized and hardware hasn't been + * replug */ + if (dev->already_initialized && !cold) + { + DBG (DBG_info, "%s: already initialized, nothing to do\n", __func__); + return SANE_STATUS_GOOD; + } + + /* set up hardware and registers */ + RIE (dev->model->cmd_set->asic_boot (dev, cold)); + + /* now hardware part is OK, set up device struct */ + dev->white_average_data.clear(); + dev->dark_average_data.clear(); + + dev->settings.color_filter = ColorFilter::RED; + + /* duplicate initial values into calibration registers */ + dev->calib_reg = dev->reg; + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + /* Set analog frontend */ + RIE (dev->model->cmd_set->set_fe(dev, sensor, AFE_INIT)); + + dev->already_initialized = SANE_TRUE; + + /* Move to home if needed */ + RIE (dev->model->cmd_set->slow_back_home (dev, SANE_TRUE)); + dev->scanhead_position_in_steps = 0; + + /* Set powersaving (default = 15 minutes) */ + RIE (dev->model->cmd_set->set_powersaving (dev, 15)); + + return status; +} + +/** + * Wait for the scanning head to park + */ +SANE_Status +sanei_genesys_wait_for_home (Genesys_Device * dev) +{ + SANE_Status status = SANE_STATUS_GOOD; + uint8_t val; + int loop; + int max=300; + + DBGSTART; + + /* clear the parking status whatever the outcome of the function */ + dev->parking=SANE_FALSE; + + /* read initial status, if head isn't at home and motor is on + * we are parking, so we wait. + * gl847/gl124 need 2 reads for reliable results */ + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "%s: failed to read home sensor: %s\n", __func__, + sane_strstatus (status)); + return status; + } + sanei_genesys_sleep_ms(10); + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "%s: failed to read home sensor: %s\n", __func__, + sane_strstatus (status)); + return status; + } + + /* if at home, return */ + if(val & HOMESNR) + { + DBG (DBG_info, + "%s: already at home\n", __func__); + return status; + } + + /* loop for 30 s max, polling home sensor */ + loop = 0; + do + { + sanei_genesys_sleep_ms(100); + status = sanei_genesys_get_status (dev, &val); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "%s: failed to read home sensor: %s\n", __func__, + sane_strstatus (status)); + return status; + } + if (DBG_LEVEL >= DBG_io2) + { + sanei_genesys_print_status (val); + } + ++loop; + } + while (loop < max && !(val & HOMESNR) && status == SANE_STATUS_GOOD); + + /* if after the timeout, head is still not parked, error out */ + if(loop >= max && !(val & HOMESNR) && status == SANE_STATUS_GOOD) + { + DBG (DBG_error, "%s: failed to reach park position %ds\n", __func__, max/10); + return SANE_STATUS_IO_ERROR; + } + + DBGCOMPLETED; + return status; +} + +/**@brief compute hardware sensor dpi to use + * compute the sensor hardware dpi based on target resolution. + * A lower dpihw enable faster scans. + * @param dev device used for the scan + * @param xres x resolution of the scan + * @return the hardware dpi to use + */ +int sanei_genesys_compute_dpihw(Genesys_Device *dev, const Genesys_Sensor& sensor, int xres) +{ + /* some scanners use always hardware dpi for sensor */ + if (dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE) + { + return sensor.optical_res; + } + + /* can't be below 600 dpi */ + if (xres <= 600) + { + return 600; + } + if (xres <= sensor.optical_res / 4) + { + return sensor.optical_res / 4; + } + if (xres <= sensor.optical_res / 2) + { + return sensor.optical_res / 2; + } + return sensor.optical_res; +} + +// sanei_genesys_compute_dpihw returns the dpihw that is written to register. +// However the number of pixels depends on half_ccd mode +int sanei_genesys_compute_dpihw_calibration(Genesys_Device *dev, const Genesys_Sensor& sensor, + int xres) +{ + if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) + { + // real resolution is half of the "official" resolution - half_ccd mode + int hwres = sensor.optical_res / sensor.get_ccd_size_divisor_for_dpi(xres); + + if (xres <= hwres / 4) + { + return hwres / 4; + } + if (xres <= hwres / 2) + { + return hwres / 2; + } + return hwres; + } + + return sanei_genesys_compute_dpihw(dev, sensor, xres); +} + +/** @brief motor profile + * search for the database of motor profiles and get the best one. Each + * profile is at full step and at a reference exposure. Use first entry + * by default. + * @param motors motor profile database + * @param motor_type motor id + * @param exposure exposure time + * @return a pointer to a Motor_Profile struct + */ +Motor_Profile *sanei_genesys_get_motor_profile(Motor_Profile *motors, int motor_type, int exposure) +{ + unsigned int i; + int idx; + + i=0; + idx=-1; + while(motors[i].exposure!=0) + { + /* exact match */ + if(motors[i].motor_type==motor_type && motors[i].exposure==exposure) + { + return &(motors[i]); + } + + /* closest match */ + if(motors[i].motor_type==motor_type) + { + /* if profile exposure is higher than the required one, + * the entry is a candidate for the closest match */ + if(motors[i].exposure>=exposure) + { + if(idx<0) + { + /* no match found yet */ + idx=i; + } + else + { + /* test for better match */ + if(motors[i].exposurestep_type; +} + +/** @brief generate slope table + * Generate the slope table to use for the scan using a reference slope + * table. + * @param slope pointer to the slope table to fill + * @param steps pointer to return used step number + * @param dpi desired motor resolution + * @param exposure exposure used + * @param base_dpi base resolution of the motor + * @param step_type step type used for scan + * @param factor shrink factor for the slope + * @param motor_type motor id + * @param motors motor profile database + */ +int sanei_genesys_slope_table(uint16_t *slope, + int *steps, + int dpi, + int exposure, + int base_dpi, + int step_type, + int factor, + int motor_type, + Motor_Profile *motors) +{ +int sum, i; +uint16_t target,current; +Motor_Profile *profile; + + /* required speed */ + target=((exposure * dpi) / base_dpi)>>step_type; + DBG (DBG_io2, "%s: exposure=%d, dpi=%d, target=%d\n", __func__, exposure, dpi, target); + + /* fill result with target speed */ + for(i=0;itable[0]; + + /* loop on profile copying and apply step type */ + while(profile->table[i]!=0 && current>=target) + { + slope[i]=current; + sum+=slope[i]; + i++; + current=profile->table[i]>>step_type; + } + + /* ensure last step is required speed in case profile doesn't contain it */ + if(current!=0 && currenttable[i]==0 && DBG_LEVEL >= DBG_warn && current>target) + { + DBG (DBG_warn,"%s: short slope table, failed to reach %d. target too low ?\n",__func__,target); + } + if(i<3 && DBG_LEVEL >= DBG_warn) + { + DBG (DBG_warn,"%s: short slope table, failed to reach %d. target too high ?\n",__func__,target); + } + + /* align on factor */ + while(i%factor!=0) + { + slope[i+1]=slope[i]; + sum+=slope[i]; + i++; + } + + /* ensure minimal slope size */ + while(i<2*factor) + { + slope[i+1]=slope[i]; + sum+=slope[i]; + i++; + } + + // return used steps and taken time + *steps=i/factor; + return sum; +} + +/** @brief returns the lowest possible ydpi for the device + * Parses device entry to find lowest motor dpi. + * @param dev device description + * @return lowest motor resolution + */ +int sanei_genesys_get_lowest_ydpi(Genesys_Device *dev) +{ + int min=20000; + int i=0; + + while(dev->model->ydpi_values[i]!=0) + { + if(dev->model->ydpi_values[i]model->ydpi_values[i]; + } + i++; + } + return min; +} + +/** @brief returns the lowest possible dpi for the device + * Parses device entry to find lowest motor or sensor dpi. + * @param dev device description + * @return lowest motor resolution + */ +int sanei_genesys_get_lowest_dpi(Genesys_Device *dev) +{ + int min=20000; + int i=0; + + while(dev->model->ydpi_values[i]!=0) + { + if(dev->model->ydpi_values[i]model->ydpi_values[i]; + } + i++; + } + i=0; + while(dev->model->xdpi_values[i]!=0) + { + if(dev->model->xdpi_values[i]model->xdpi_values[i]; + } + i++; + } + return min; +} + +/** @brief check is a cache entry may be used + * Compares current settings with the cache entry and return + * SANE_TRUE if they are compatible. + * A calibration cache is compatible if color mode and x dpi match the user + * requested scan. In the case of CIS scanners, dpi isn't a criteria. + * flatbed cache entries are considred too old and then expires if they + * are older than the expiration time option, forcing calibration at least once + * then given time. */ +bool sanei_genesys_is_compatible_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Calibration_Cache * cache, int for_overwrite) +{ +#ifdef HAVE_SYS_TIME_H + struct timeval time; +#endif + int compatible = 1, resolution; + + DBGSTART; + + if(dev->model->cmd_set->calculate_current_setup==NULL) + { + DBG (DBG_proc, "%s: no calculate_setup, non compatible cache\n", __func__); + return false; + } + + dev->model->cmd_set->calculate_current_setup(dev, sensor); + + DBG (DBG_proc, "%s: checking\n", __func__); + + /* a calibration cache is compatible if color mode and x dpi match the user + * requested scan. In the case of CIS scanners, dpi isn't a criteria */ + if (dev->model->is_cis == SANE_FALSE) + { + resolution = dev->settings.xres; + if(resolution>sensor.optical_res) + { + resolution=sensor.optical_res; + } + compatible = (resolution == ((int) cache->used_setup.xres)); + } + else + { + resolution=sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); + compatible = (resolution == ((int) sanei_genesys_compute_dpihw(dev, sensor,cache->used_setup.xres))); + } + DBG (DBG_io, "%s: after resolution check current compatible=%d\n", __func__, compatible); + if (dev->current_setup.ccd_size_divisor != cache->used_setup.ccd_size_divisor) + { + DBG (DBG_io, "%s: half_ccd=%d, used=%d\n", __func__, + dev->current_setup.ccd_size_divisor, cache->used_setup.ccd_size_divisor); + compatible = 0; + } + if (dev->current_setup.params.scan_method != cache->used_setup.params.scan_method) + { + DBG (DBG_io, "%s: current method=%d, used=%d\n", __func__, + static_cast(dev->current_setup.params.scan_method), + static_cast(cache->used_setup.params.scan_method)); + compatible = 0; + } + if (!compatible) + { + DBG (DBG_proc, "%s: completed, non compatible cache\n", __func__); + return false; + } + + /* a cache entry expires after afetr expiration time for non sheetfed scanners */ + /* this is not taken into account when overwriting cache entries */ +#ifdef HAVE_SYS_TIME_H + if(for_overwrite == SANE_FALSE && dev->settings.expiration_time >=0) + { + gettimeofday (&time, NULL); + if ((time.tv_sec - cache->last_calibration > dev->settings.expiration_time*60) + && (dev->model->is_sheetfed == SANE_FALSE) + && (dev->settings.scan_method == ScanMethod::FLATBED)) + { + DBG (DBG_proc, "%s: expired entry, non compatible cache\n", __func__); + return false; + } + } +#endif + + DBGCOMPLETED; + return true; +} + + +/** @brief compute maximum line distance shift + * compute maximum line distance shift for the motor and sensor + * combination. Line distance shift is the distance between different + * color component of CCD sensors. Since these components aren't at + * the same physical place, they scan diffrent lines. Software must + * take this into account to accurately mix color data. + * @param dev device session to compute max_shift for + * @param channels number of color channels for the scan + * @param yres motor resolution used for the scan + * @param flags scan flags + * @return 0 or line distance shift + */ +int sanei_genesys_compute_max_shift(Genesys_Device *dev, + int channels, + int yres, + int flags) +{ + int max_shift; + + max_shift=0; + if (channels > 1 && !(flags & SCAN_FLAG_IGNORE_LINE_DISTANCE)) + { + max_shift = dev->ld_shift_r; + if (dev->ld_shift_b > max_shift) + max_shift = dev->ld_shift_b; + if (dev->ld_shift_g > max_shift) + max_shift = dev->ld_shift_g; + max_shift = (max_shift * yres) / dev->motor.base_ydpi; + } + return max_shift; +} + +/** @brief build lookup table for digital enhancements + * Function to build a lookup table (LUT), often + used by scanners to implement brightness/contrast/gamma + or by backends to speed binarization/thresholding + + offset and slope inputs are -127 to +127 + + slope rotates line around central input/output val, + 0 makes horizontal line + + pos zero neg + . x . . x + . x . . x + out . x .xxxxxxxxxxx . x + . x . . x + ....x....... ............ .......x.... + in in in + + offset moves line vertically, and clamps to output range + 0 keeps the line crossing the center of the table + + high low + . xxxxxxxx . + . x . + out x . x + . . x + ............ xxxxxxxx.... + in in + + out_min/max provide bounds on output values, + useful when building thresholding lut. + 0 and 255 are good defaults otherwise. + * @param lut pointer where to store the generated lut + * @param in_bits number of bits for in values + * @param out_bits number of bits of out values + * @param out_min minimal out value + * @param out_max maximal out value + * @param slope slope of the generated data + * @param offset offset of the generated data + */ +SANE_Status +sanei_genesys_load_lut (unsigned char * lut, + int in_bits, + int out_bits, + int out_min, + int out_max, + int slope, + int offset) +{ + SANE_Status ret = SANE_STATUS_GOOD; + int i, j; + double shift, rise; + int max_in_val = (1 << in_bits) - 1; + int max_out_val = (1 << out_bits) - 1; + uint8_t *lut_p8 = lut; + uint16_t *lut_p16 = (uint16_t *) lut; + + DBGSTART; + + /* slope is converted to rise per unit run: + * first [-127,127] to [-.999,.999] + * then to [-PI/4,PI/4] then [0,PI/2] + * then take the tangent (T.O.A) + * then multiply by the normal linear slope + * because the table may not be square, i.e. 1024x256*/ + rise = tan ((double) slope / 128 * M_PI_4 + M_PI_4) * max_out_val / max_in_val; + + /* line must stay vertically centered, so figure + * out vertical offset at central input value */ + shift = (double) max_out_val / 2 - (rise * max_in_val / 2); + + /* convert the user offset setting to scale of output + * first [-127,127] to [-1,1] + * then to [-max_out_val/2,max_out_val/2]*/ + shift += (double) offset / 127 * max_out_val / 2; + + for (i = 0; i <= max_in_val; i++) + { + j = rise * i + shift; + + /* cap data to required range */ + if (j < out_min) + { + j = out_min; + } + else if (j > out_max) + { + j = out_max; + } + + /* copy result according to bit depth */ + if (out_bits <= 8) + { + *lut_p8 = j; + lut_p8++; + } + else + { + *lut_p16 = j; + lut_p16++; + } + } + + DBGCOMPLETED; + return ret; +} + +void sanei_genesys_usleep(unsigned int useconds) +{ + usleep(useconds); +} + +void sanei_genesys_sleep_ms(unsigned int milliseconds) +{ + sanei_genesys_usleep(milliseconds * 1000); +} + +static std::unique_ptr>> s_functions_run_at_backend_exit; + +void add_function_to_run_at_backend_exit(std::function function) +{ + if (!s_functions_run_at_backend_exit) + s_functions_run_at_backend_exit.reset(new std::vector>()); + s_functions_run_at_backend_exit->push_back(std::move(function)); +} + +void run_functions_at_backend_exit() +{ + for (auto it = s_functions_run_at_backend_exit->rbegin(); + it != s_functions_run_at_backend_exit->rend(); ++it) + { + (*it)(); + } + s_functions_run_at_backend_exit.release(); +} + +void debug_dump(unsigned level, const Genesys_Settings& settings) +{ + DBG(level, "settings:\n" + "Resolution X/Y : %u / %u dpi\n" + "Lines : %u\n" + "Pixels per line : %u\n" + "Depth : %u\n" + "Start position X/Y : %.3f/%.3f\n" + "Scan mode : %d\n\n", + settings.xres, settings.yres, + settings.lines, settings.pixels, settings.depth, + settings.tl_x, settings.tl_y, + static_cast(settings.scan_mode)); +} + +void debug_dump(unsigned level, const SetupParams& params) +{ + DBG(level, "settings:\n" + "Resolution X/Y : %u / %u dpi\n" + "Lines : %u\n" + "Pixels per line : %u\n" + "Depth : %u\n" + "Channels : %u\n" + "Start position X/Y : %g / %g\n" + "Scan mode : %d\n" + "Color filter : %d\n" + "Flags : %x\n", + params.xres, params.yres, + params.lines, params.pixels, + params.depth, params.channels, + params.startx, params.starty, + static_cast(params.scan_mode), + static_cast(params.color_filter), + params.flags); +} + +void debug_dump(unsigned level, const Genesys_Current_Setup& setup) +{ + DBG(level, "current_setup:\n" + "Pixels: %d\n" + "Lines: %d\n" + "Depth: %d\n" + "Channels: %d\n" + "exposure_time: %d\n" + "Resolution X/Y: %g %g\n" + "ccd_size_divisor: %d\n" + "stagger: %d\n" + "max_shift: %d\n", + setup.pixels, + setup.lines, + setup.depth, + setup.channels, + setup.exposure_time, + setup.xres, setup.yres, + setup.ccd_size_divisor, + setup.stagger, + setup.max_shift); +} diff --git a/backend/genesys_low.h b/backend/genesys_low.h index 56627b4..e750808 100644 --- a/backend/genesys_low.h +++ b/backend/genesys_low.h @@ -1,4 +1,4 @@ -/* sane - Scanner Access Now Easy. +/* sane - Scanner Access Now Easy. Copyright (C) 2003 Oliver Rauch Copyright (C) 2003, 2004 Henning Meier-Geinitz @@ -81,56 +81,20 @@ #include "../include/_stdint.h" -#ifndef UNIT_TESTING -#define GENESYS_STATIC static -#else -#define GENESYS_STATIC -#endif - -#define DBG_error0 0 /* errors/warnings printed even with devuglevel 0 */ -#define DBG_error 1 /* fatal errors */ -#define DBG_init 2 /* initialization and scanning time messages */ -#define DBG_warn 3 /* warnings and non-fatal errors */ -#define DBG_info 4 /* informational messages */ -#define DBG_proc 5 /* starting/finishing functions */ -#define DBG_io 6 /* io functions */ -#define DBG_io2 7 /* io functions that are called very often */ -#define DBG_data 8 /* log image data */ - -/** - * call a function and return on error - */ -#define RIE(function) \ - do { status = function; \ - if (status != SANE_STATUS_GOOD) \ - { \ - DBG(DBG_error, "%s: %s\n", __func__, sane_strstatus (status)); \ - return status; \ - } \ - } while (SANE_FALSE) - -#define RIEF(function, mem) \ - do { status = function; \ - if (status != SANE_STATUS_GOOD) \ - { \ - free(mem); \ - DBG(DBG_error, "%s: %s\n", __func__, sane_strstatus (status)); \ - return status; \ - } \ - } while (SANE_FALSE) - -#define RIEF2(function, mem1, mem2) \ - do { status = function; \ - if (status != SANE_STATUS_GOOD) \ - { \ - free(mem1); \ - free(mem2); \ - return status; \ - } \ - } while (SANE_FALSE) - -#define DBGSTART DBG (DBG_proc, "%s start\n", __func__); -#define DBGCOMPLETED DBG (DBG_proc, "%s completed\n", __func__); +#include "genesys_error.h" +#include "genesys_sanei.h" +#include "genesys_serialize.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #define FREE_IFNOT_NULL(x) if(x!=NULL) { free(x); x=NULL;} @@ -163,11 +127,12 @@ #define GENESYS_FLAG_DARK_WHITE_CALIBRATION (1 << 12) /**< yet another calibration method. does white and dark shading in one run, depending on a black and a white strip*/ #define GENESYS_FLAG_CUSTOM_GAMMA (1 << 13) /**< allow custom gamma tables */ #define GENESYS_FLAG_NO_CALIBRATION (1 << 14) /**< allow scanners to use skip the calibration, needed for sheetfed scanners */ -#define GENESYS_FLAG_HALF_CCD_MODE (1 << 15) /**< scanner has setting for half ccd mode */ #define GENESYS_FLAG_SIS_SENSOR (1 << 16) /**< handling of multi-segments sensors in software */ #define GENESYS_FLAG_SHADING_NO_MOVE (1 << 17) /**< scanner doesn't move sensor during shading calibration */ #define GENESYS_FLAG_SHADING_REPARK (1 << 18) /**< repark head between shading scans */ #define GENESYS_FLAG_FULL_HWDPI_MODE (1 << 19) /**< scanner always use maximum hw dpi to setup the sensor */ +// scanner has infrared transparency scanning capability +#define GENESYS_FLAG_HAS_UTA_INFRARED (1 << 20) #define GENESYS_HAS_NO_BUTTONS 0 /**< scanner has no supported button */ #define GENESYS_HAS_SCAN_SW (1 << 0) /**< scanner has SCAN button */ @@ -207,9 +172,6 @@ #define BULK_RAM 0x00 #define BULK_REGISTER 0x11 -#define BULKIN_MAXSIZE 0xFE00 -#define GL646_BULKIN_MAXSIZE 0xFFC0 -#define GL646_BULKIN_MINSIZE 0x0800 #define BULKOUT_MAXSIZE 0xF000 /* AFE values */ @@ -236,77 +198,619 @@ #define FEBUSY 0x02 #define MOTORENB 0x01 -typedef struct Genesys_Register_Set +#define GENESYS_MAX_REGS 256 + +enum class ScanMethod : unsigned { + // normal scan method + FLATBED = 0, + // scan using transparency adaptor + TRANSPARENCY = 1, + // scan using transparency adaptor via infrared channel + TRANSPARENCY_INFRARED = 2 +}; + +inline void serialize(std::istream& str, ScanMethod& x) +{ + unsigned value; + serialize(str, value); + x = static_cast(value); +} + +inline void serialize(std::ostream& str, ScanMethod& x) +{ + unsigned value = static_cast(x); + serialize(str, value); +} + +enum class ScanColorMode : unsigned { + LINEART = 0, + HALFTONE, + GRAY, + COLOR_SINGLE_PASS +}; + +inline void serialize(std::istream& str, ScanColorMode& x) +{ + unsigned value; + serialize(str, value); + x = static_cast(value); +} + +inline void serialize(std::ostream& str, ScanColorMode& x) +{ + unsigned value = static_cast(x); + serialize(str, value); +} + +enum class ColorFilter : unsigned { + RED = 0, + GREEN, + BLUE, + NONE +}; + +inline void serialize(std::istream& str, ColorFilter& x) +{ + unsigned value; + serialize(str, value); + x = static_cast(value); +} + +inline void serialize(std::ostream& str, ColorFilter& x) +{ + unsigned value = static_cast(x); + serialize(str, value); +} + +struct GenesysRegister { + uint16_t address = 0; + uint8_t value = 0; +}; + +inline bool operator<(const GenesysRegister& lhs, const GenesysRegister& rhs) +{ + return lhs.address < rhs.address; +} + +struct GenesysRegisterSetState { + bool is_lamp_on = false; + bool is_xpa_on = false; +}; + +class Genesys_Register_Set { +public: + using container = std::vector; + using iterator = typename container::iterator; + using const_iterator = typename container::const_iterator; + + // FIXME: this shouldn't live here, but in a separate struct that contains Genesys_Register_Set + GenesysRegisterSetState state; + + enum Options { + SEQUENTIAL = 1 + }; + + Genesys_Register_Set() + { + registers_.reserve(GENESYS_MAX_REGS); + } + + // by default the register set is sorted by address. In certain cases it's importand to send + // the registers in certain order: use the SEQUENTIAL option for that + Genesys_Register_Set(Options opts) : Genesys_Register_Set() + { + if ((opts & SEQUENTIAL) == SEQUENTIAL) { + sorted_ = false; + } + } + + void init_reg(uint16_t address, uint8_t default_value) + { + if (find_reg_index(address) >= 0) { + set8(address, default_value); + return; + } + GenesysRegister reg; + reg.address = address; + reg.value = default_value; + registers_.push_back(reg); + if (sorted_) + std::sort(registers_.begin(), registers_.end()); + } + + void remove_reg(uint16_t address) + { + int i = find_reg_index(address); + if (i < 0) { + throw std::runtime_error("the register does not exist"); + } + registers_.erase(registers_.begin() + i); + } + + GenesysRegister& find_reg(uint16_t address) + { + int i = find_reg_index(address); + if (i < 0) { + throw std::runtime_error("the register does not exist"); + } + return registers_[i]; + } + + const GenesysRegister& find_reg(uint16_t address) const + { + int i = find_reg_index(address); + if (i < 0) { + throw std::runtime_error("the register does not exist"); + } + return registers_[i]; + } + + GenesysRegister* find_reg_address(uint16_t address) + { + return &find_reg(address); + } + + const GenesysRegister* find_reg_address(uint16_t address) const + { + return &find_reg(address); + } + + void set8(uint16_t address, uint8_t value) + { + find_reg(address).value = value; + } + + void set8_mask(uint16_t address, uint8_t value, uint8_t mask) + { + auto& reg = find_reg(address); + reg.value = (reg.value & ~mask) | value; + } + + void set16(uint16_t address, uint16_t value) + { + find_reg(address).value = (value >> 8) & 0xff; + find_reg(address + 1).value = value & 0xff; + } + + void set24(uint16_t address, uint32_t value) + { + find_reg(address).value = (value >> 16) & 0xff; + find_reg(address + 1).value = (value >> 8) & 0xff; + find_reg(address + 2).value = value & 0xff; + } + + uint8_t get8(uint16_t address) const + { + return find_reg(address).value; + } + + uint16_t get16(uint16_t address) const + { + return (find_reg(address).value << 8) | find_reg(address + 1).value; + } + + uint32_t get24(uint16_t address) const + { + return (find_reg(address).value << 16) | + (find_reg(address + 1).value << 8) | + find_reg(address + 2).value; + } + + void clear() { registers_.clear(); } + size_t size() const { return registers_.size(); } + + iterator begin() { return registers_.begin(); } + const_iterator begin() const { return registers_.begin(); } + + iterator end() { return registers_.end(); } + const_iterator end() const { return registers_.end(); } + +private: + int find_reg_index(uint16_t address) const + { + if (!sorted_) { + for (size_t i = 0; i < registers_.size(); i++) { + if (registers_[i].address == address) { + return i; + } + } + return -1; + } + + GenesysRegister search; + search.address = address; + auto it = std::lower_bound(registers_.begin(), registers_.end(), search); + if (it == registers_.end()) + return -1; + if (it->address != address) + return -1; + return std::distance(registers_.begin(), it); + } + + // registers are stored in a sorted vector + bool sorted_ = true; + std::vector registers_; +}; + +template +struct AssignableArray : public std::array { + AssignableArray() = default; + AssignableArray(const AssignableArray&) = default; + AssignableArray& operator=(const AssignableArray&) = default; + + AssignableArray& operator=(std::initializer_list init) + { + if (init.size() != std::array::size()) + throw std::runtime_error("An array of incorrect size assigned"); + std::copy(init.begin(), init.end(), std::array::begin()); + return *this; + } +}; + +struct GenesysRegisterSetting { + GenesysRegisterSetting() = default; + + GenesysRegisterSetting(uint16_t p_address, uint8_t p_value) : + address(p_address), value(p_value) + {} + + GenesysRegisterSetting(uint16_t p_address, uint8_t p_value, uint8_t p_mask) : + address(p_address), value(p_value), mask(p_mask) + {} + + uint16_t address = 0; + uint8_t value = 0; + uint8_t mask = 0xff; + + bool operator==(const GenesysRegisterSetting& other) const + { + return address == other.address && value == other.value && mask == other.mask; + } +}; + +template +void serialize(Stream& str, GenesysRegisterSetting& reg) +{ + serialize(str, reg.address); + serialize(str, reg.value); + serialize(str, reg.mask); +} + +class GenesysRegisterSettingSet { +public: + using container = std::vector; + using iterator = typename container::iterator; + using const_iterator = typename container::const_iterator; + + GenesysRegisterSettingSet() = default; + GenesysRegisterSettingSet(std::initializer_list ilist) : regs_(ilist) {} + + iterator begin() { return regs_.begin(); } + const_iterator begin() const { return regs_.begin(); } + iterator end() { return regs_.end(); } + const_iterator end() const { return regs_.end(); } + + GenesysRegisterSetting& operator[](size_t i) { return regs_[i]; } + const GenesysRegisterSetting& operator[](size_t i) const { return regs_[i]; } + + size_t size() const { return regs_.size(); } + bool empty() const { return regs_.empty(); } + void clear() { regs_.clear(); } + + void push_back(GenesysRegisterSetting reg) { regs_.push_back(reg); } + + void merge(const GenesysRegisterSettingSet& other) + { + for (const auto& reg : other) { + set_value(reg.address, reg.value); + } + } + + uint8_t get_value(uint16_t address) const + { + for (const auto& reg : regs_) { + if (reg.address == address) + return reg.value; + } + throw std::runtime_error("Unknown register"); + } + + void set_value(uint16_t address, uint8_t value) + { + for (auto& reg : regs_) { + if (reg.address == address) { + reg.value = value; + return; + } + } + push_back(GenesysRegisterSetting(address, value)); + } + + friend void serialize(std::istream& str, GenesysRegisterSettingSet& reg); + friend void serialize(std::ostream& str, GenesysRegisterSettingSet& reg); + + bool operator==(const GenesysRegisterSettingSet& other) const + { + return regs_ == other.regs_; + } + +private: + std::vector regs_; +}; + +inline void serialize(std::istream& str, GenesysRegisterSettingSet& reg) +{ + reg.clear(); + const size_t max_register_address = + 1 << (sizeof(GenesysRegisterSetting::address) * CHAR_BIT); + serialize(str, reg.regs_, max_register_address); +} + +inline void serialize(std::ostream& str, GenesysRegisterSettingSet& reg) +{ + serialize(str, reg.regs_); +} + +struct GenesysFrontendLayout { - uint16_t address; - uint8_t value; -} Genesys_Register_Set; + std::array offset_addr = {}; + std::array gain_addr = {}; + + bool operator==(const GenesysFrontendLayout& other) const + { + return offset_addr == other.offset_addr && gain_addr == other.gain_addr; + } +}; /** @brief Data structure to set up analog frontend. - * The analog frontend converts analog value from image sensor to - * digital value. It has its own control registers which are set up - * with this structure. The values are written using sanei_genesys_fe_write_data. - * The actual register addresses they map to depends on the frontend used. - * @see sanei_genesys_fe_write_data + The analog frontend converts analog value from image sensor to digital value. It has its own + control registers which are set up with this structure. The values are written using + sanei_genesys_fe_write_data. */ -typedef struct +struct Genesys_Frontend { - uint8_t fe_id; /**< id of the frontend description */ - uint8_t reg[4]; /**< values to set up frontend control register, they - usually map to analog register 0x00 to 0x03 */ - uint8_t sign[3]; /**< sets the sign of the digital value */ - uint8_t offset[3]; /**< offset correction to apply to signal, most often - maps to frontend register 0x20-0x22 */ - uint8_t gain[3]; /**< amplification to apply to signal, most often - maps to frontend register 0x28-0x2a */ - uint8_t reg2[3]; /**< extra control registers */ -} Genesys_Frontend; - -typedef struct + Genesys_Frontend() = default; + + // id of the frontend description + uint8_t fe_id = 0; + + // all registers of the frontend + GenesysRegisterSettingSet regs; + + // extra control registers + std::array reg2 = {}; + + GenesysFrontendLayout layout; + + void set_offset(unsigned which, uint8_t value) + { + regs.set_value(layout.offset_addr[which], value); + } + + void set_gain(unsigned which, uint8_t value) + { + regs.set_value(layout.gain_addr[which], value); + } + + uint8_t get_offset(unsigned which) const + { + return regs.get_value(layout.offset_addr[which]); + } + + uint8_t get_gain(unsigned which) const + { + return regs.get_value(layout.gain_addr[which]); + } + + bool operator==(const Genesys_Frontend& other) const + { + return fe_id == other.fe_id && + regs == other.regs && + reg2 == other.reg2 && + layout == other.layout; + } +}; + +template +void serialize(Stream& str, Genesys_Frontend& x) { - uint8_t sensor_id; /**< id of the sensor description */ - int optical_res; - int black_pixels; - int dummy_pixel; /* value of dummy register. */ - int CCD_start_xoffset; /* last pixel of CCD margin at optical resolution */ - int sensor_pixels; /* total pixels used by the sensor */ - int fau_gain_white_ref; /* TA CCD target code (reference gain) */ - int gain_white_ref; /* CCD target code (reference gain) */ - uint8_t regs_0x08_0x0b[4]; - uint8_t regs_0x10_0x1d[14]; - uint8_t regs_0x52_0x5e[13]; - float gamma[3]; /**< red, green and blue gamma coefficient for default gamma tables */ - uint16_t *gamma_table[3]; /**< sensor specific gamma tables */ -} Genesys_Sensor; - -typedef struct + serialize(str, x.fe_id); + serialize_newline(str); + serialize(str, x.regs); + serialize_newline(str); + serialize(str, x.reg2); + serialize_newline(str); + serialize(str, x.layout.offset_addr); + serialize(str, x.layout.gain_addr); +} + +struct SensorExposure { + uint16_t red, green, blue; +}; + +struct Genesys_Sensor { + + Genesys_Sensor() = default; + ~Genesys_Sensor() = default; + + // id of the sensor description + uint8_t sensor_id = 0; + int optical_res = 0; + + // the minimum and maximum resolution this sensor is usable at. -1 means that the resolution + // can be any. + int min_resolution = -1; + int max_resolution = -1; + + // the scan method used with the sensor + ScanMethod method = ScanMethod::FLATBED; + + // CCD may present itself as half or quarter-size CCD on certain resolutions + int ccd_size_divisor = 1; + + int black_pixels = 0; + // value of the dummy register + int dummy_pixel = 0; + // last pixel of CCD margin at optical resolution + int CCD_start_xoffset = 0; + // total pixels used by the sensor + int sensor_pixels = 0; + // TA CCD target code (reference gain) + int fau_gain_white_ref = 0; + // CCD target code (reference gain) + int gain_white_ref = 0; + + // red, green and blue initial exposure values + SensorExposure exposure; + + int exposure_lperiod = -1; + + GenesysRegisterSettingSet custom_regs; + GenesysRegisterSettingSet custom_fe_regs; + + // red, green and blue gamma coefficient for default gamma tables + AssignableArray gamma; + + int get_ccd_size_divisor_for_dpi(int xres) const + { + if (ccd_size_divisor >= 4 && xres * 4 <= optical_res) { + return 4; + } + if (ccd_size_divisor >= 2 && xres * 2 <= optical_res) { + return 2; + } + return 1; + } + + bool operator==(const Genesys_Sensor& other) const + { + return sensor_id == other.sensor_id && + optical_res == other.optical_res && + min_resolution == other.min_resolution && + max_resolution == other.max_resolution && + method == other.method && + ccd_size_divisor == other.ccd_size_divisor && + black_pixels == other.black_pixels && + dummy_pixel == other.dummy_pixel && + CCD_start_xoffset == other.CCD_start_xoffset && + sensor_pixels == other.sensor_pixels && + fau_gain_white_ref == other.fau_gain_white_ref && + gain_white_ref == other.gain_white_ref && + exposure.blue == other.exposure.blue && + exposure.green == other.exposure.green && + exposure.red == other.exposure.red && + exposure_lperiod == other.exposure_lperiod && + custom_regs == other.custom_regs && + custom_fe_regs == other.custom_fe_regs && + gamma == other.gamma; + } +}; + +template +void serialize(Stream& str, Genesys_Sensor& x) { - uint8_t gpo_id; /**< id of the gpo description */ - uint8_t value[2]; /**< registers 0x6c and 0x6d on gl843 */ - uint8_t enable[2]; /**< registers 0x6e and 0x6F on gl843 */ -} Genesys_Gpo; + serialize(str, x.sensor_id); + serialize(str, x.optical_res); + serialize(str, x.min_resolution); + serialize(str, x.max_resolution); + serialize(str, x.method); + serialize(str, x.ccd_size_divisor); + serialize(str, x.black_pixels); + serialize(str, x.dummy_pixel); + serialize(str, x.CCD_start_xoffset); + serialize(str, x.sensor_pixels); + serialize(str, x.fau_gain_white_ref); + serialize(str, x.gain_white_ref); + serialize_newline(str); + serialize(str, x.exposure.blue); + serialize(str, x.exposure.green); + serialize(str, x.exposure.red); + serialize(str, x.exposure_lperiod); + serialize_newline(str); + serialize(str, x.custom_regs); + serialize_newline(str); + serialize(str, x.custom_fe_regs); + serialize_newline(str); + serialize(str, x.gamma); +} -typedef struct +struct Genesys_Gpo { - SANE_Int maximum_start_speed; /* maximum speed allowed when accelerating from standstill. Unit: pixeltime/step */ - SANE_Int maximum_speed; /* maximum speed allowed. Unit: pixeltime/step */ - SANE_Int minimum_steps; /* number of steps used for default curve */ - float g; /* power for non-linear acceleration curves. */ -/* vs*(1-i^g)+ve*(i^g) where - vs = start speed, ve = end speed, - i = 0.0 for first entry and i = 1.0 for last entry in default table*/ -} Genesys_Motor_Slope; + Genesys_Gpo() = default; + + Genesys_Gpo(uint8_t id, const std::array& v, const std::array& e) + { + gpo_id = id; + value[0] = v[0]; + value[1] = v[1]; + enable[0] = e[0]; + enable[1] = e[1]; + } + // Genesys_Gpo + uint8_t gpo_id = 0; -typedef struct + // registers 0x6c and 0x6d on GL841, GL842, GL843, GL846, GL848 and possibly others + uint8_t value[2] = { 0, 0 }; + + // registers 0x6e and 0x6f on GL841, GL842, GL843, GL846, GL848 and possibly others + uint8_t enable[2] = { 0, 0 }; +}; + +struct Genesys_Motor_Slope +{ + Genesys_Motor_Slope() = default; + Genesys_Motor_Slope(int p_maximum_start_speed, int p_maximum_speed, int p_minimum_steps, + float p_g) : + maximum_start_speed(p_maximum_start_speed), + maximum_speed(p_maximum_speed), + minimum_steps(p_minimum_steps), + g(p_g) + {} + + // maximum speed allowed when accelerating from standstill. Unit: pixeltime/step + int maximum_start_speed = 0; + // maximum speed allowed. Unit: pixeltime/step + int maximum_speed = 0; + // number of steps used for default curve + int minimum_steps = 0; + + /* power for non-linear acceleration curves. + vs*(1-i^g)+ve*(i^g) where + vs = start speed, ve = end speed, + i = 0.0 for first entry and i = 1.0 for last entry in default table + */ + float g = 0; +}; + + +struct Genesys_Motor { - uint8_t motor_id; /**< id of the motor description */ - SANE_Int base_ydpi; /* motor base steps. Unit: 1/" */ - SANE_Int optical_ydpi; /* maximum resolution in y-direction. Unit: 1/" */ - SANE_Int max_step_type; /* maximum step type. 0-2 */ - SANE_Int power_mode_count; /* number of power modes*/ - Genesys_Motor_Slope slopes[2][3]; /* slopes to derive individual slopes from */ -} Genesys_Motor; + Genesys_Motor() = default; + Genesys_Motor(uint8_t p_motor_id, int p_base_ydpi, int p_optical_ydpi, int p_max_step_type, + int p_power_mode_count, + const std::vector>& p_slopes) : + motor_id(p_motor_id), + base_ydpi(p_base_ydpi), + optical_ydpi(p_optical_ydpi), + max_step_type(p_max_step_type), + power_mode_count(p_power_mode_count), + slopes(p_slopes) + {} + + // id of the motor description + uint8_t motor_id = 0; + // motor base steps. Unit: 1/inch + int base_ydpi = 0; + // maximum resolution in y-direction. Unit: 1/inch + int optical_ydpi = 0; + // maximum step type. 0-2 + int max_step_type = 0; + // number of power modes + int power_mode_count = 0; + // slopes to derive individual slopes from + std::vector> slopes; +}; typedef enum Genesys_Color_Order { @@ -329,116 +833,175 @@ Genesys_Color_Order; #define GENESYS_GL123 123 #define GENESYS_GL124 124 -#define GENESYS_MAX_REGS 256 +enum Genesys_Model_Type +{ + MODEL_UMAX_ASTRA_4500 = 0, + MODEL_CANON_LIDE_50, + MODEL_PANASONIC_KV_SS080, + MODEL_HP_SCANJET_4850C, + MODEL_HP_SCANJET_G4010, + MODEL_HP_SCANJET_G4050, + MODEL_CANON_CANOSCAN_4400F, + MODEL_CANON_CANOSCAN_8400F, + MODEL_CANON_CANOSCAN_8600F, + MODEL_CANON_LIDE_100, + MODEL_CANON_LIDE_110, + MODEL_CANON_LIDE_120, + MODEL_CANON_LIDE_210, + MODEL_CANON_LIDE_220, + MODEL_CANON_CANOSCAN_5600F, + MODEL_CANON_LIDE_700F, + MODEL_CANON_LIDE_200, + MODEL_CANON_LIDE_60, + MODEL_CANON_LIDE_80, + MODEL_HP_SCANJET_2300C, + MODEL_HP_SCANJET_2400C, + MODEL_VISIONEER_STROBE_XP200, + MODEL_HP_SCANJET_3670C, + MODEL_PLUSTEK_OPTICPRO_ST12, + MODEL_PLUSTEK_OPTICPRO_ST24, + MODEL_MEDION_MD5345, + MODEL_VISIONEER_STROBE_XP300, + MODEL_SYSCAN_DOCKETPORT_665, + MODEL_VISIONEER_ROADWARRIOR, + MODEL_SYSCAN_DOCKETPORT_465, + MODEL_VISIONEER_STROBE_XP100_REVISION3, + MODEL_PENTAX_DSMOBILE_600, + MODEL_SYSCAN_DOCKETPORT_467, + MODEL_SYSCAN_DOCKETPORT_685, + MODEL_SYSCAN_DOCKETPORT_485, + MODEL_DCT_DOCKETPORT_487, + MODEL_VISIONEER_7100, + MODEL_XEROX_2400, + MODEL_XEROX_TRAVELSCANNER_100, + MODEL_PLUSTEK_OPTICPRO_3600, + MODEL_HP_SCANJET_N6310, + MODEL_PLUSTEK_OPTICBOOK_3800, + MODEL_CANON_IMAGE_FORMULA_101 +}; -#define DAC_WOLFSON_UMAX 0 -#define DAC_WOLFSON_ST12 1 -#define DAC_WOLFSON_ST24 2 -#define DAC_WOLFSON_5345 3 -#define DAC_WOLFSON_HP2400 4 -#define DAC_WOLFSON_HP2300 5 -#define DAC_CANONLIDE35 6 -#define DAC_AD_XP200 7 /* Analog Device frontend */ -#define DAC_WOLFSON_XP300 8 -#define DAC_WOLFSON_HP3670 9 -#define DAC_WOLFSON_DSM600 10 -#define DAC_CANONLIDE200 11 -#define DAC_KVSS080 12 -#define DAC_G4050 13 -#define DAC_CANONLIDE110 14 -#define DAC_PLUSTEK_3600 15 -#define DAC_CANONLIDE700 16 -#define DAC_CS8400F 17 -#define DAC_IMG101 18 -#define DAC_PLUSTEK3800 19 -#define DAC_CANONLIDE80 20 -#define DAC_CANONLIDE120 21 - -#define CCD_UMAX 0 -#define CCD_ST12 1 /* SONY ILX548: 5340 Pixel ??? */ -#define CCD_ST24 2 /* SONY ILX569: 10680 Pixel ??? */ -#define CCD_5345 3 -#define CCD_HP2400 4 -#define CCD_HP2300 5 -#define CCD_CANONLIDE35 6 -#define CIS_XP200 7 /* CIS sensor for Strobe XP200 */ - /* 8 is unused currently */ -#define CCD_HP3670 9 -#define CCD_DP665 10 -#define CCD_ROADWARRIOR 11 -#define CCD_DSMOBILE600 12 -#define CCD_XP300 13 -#define CCD_DP685 14 -#define CIS_CANONLIDE200 15 -#define CIS_CANONLIDE100 16 -#define CCD_KVSS080 17 -#define CCD_G4050 18 -#define CIS_CANONLIDE110 19 -#define CCD_PLUSTEK_3600 20 -#define CCD_HP_N6310 21 -#define CIS_CANONLIDE700 22 -#define CCD_CS4400F 23 -#define CCD_CS8400F 24 -#define CCD_IMG101 25 -#define CCD_PLUSTEK3800 26 -#define CIS_CANONLIDE210 27 -#define CIS_CANONLIDE80 28 -#define CIS_CANONLIDE220 29 -#define CIS_CANONLIDE120 30 - -#define GPO_UMAX 0 -#define GPO_ST12 1 -#define GPO_ST24 2 -#define GPO_5345 3 -#define GPO_HP2400 4 -#define GPO_HP2300 5 -#define GPO_CANONLIDE35 6 -#define GPO_XP200 7 -#define GPO_XP300 8 -#define GPO_HP3670 9 -#define GPO_DP665 10 -#define GPO_DP685 11 -#define GPO_CANONLIDE200 12 -#define GPO_KVSS080 13 -#define GPO_G4050 14 -#define GPO_CANONLIDE110 15 -#define GPO_PLUSTEK_3600 16 -#define GPO_CANONLIDE210 17 -#define GPO_HP_N6310 18 -#define GPO_CANONLIDE700 19 -#define GPO_CS4400F 20 -#define GPO_CS8400F 21 -#define GPO_IMG101 22 -#define GPO_PLUSTEK3800 23 -#define GPO_CANONLIDE80 24 -#define GPO_CANONLIDE120 25 - -#define MOTOR_UMAX 0 -#define MOTOR_5345 1 -#define MOTOR_ST24 2 -#define MOTOR_HP2400 3 -#define MOTOR_HP2300 4 -#define MOTOR_CANONLIDE35 5 -#define MOTOR_XP200 6 -#define MOTOR_XP300 7 -#define MOTOR_HP3670 9 -#define MOTOR_DP665 10 -#define MOTOR_ROADWARRIOR 11 -#define MOTOR_DSMOBILE_600 12 -#define MOTOR_CANONLIDE200 13 -#define MOTOR_CANONLIDE100 14 -#define MOTOR_KVSS080 15 -#define MOTOR_G4050 16 -#define MOTOR_CANONLIDE110 17 -#define MOTOR_PLUSTEK_3600 18 -#define MOTOR_CANONLIDE700 19 -#define MOTOR_CS8400F 20 -#define MOTOR_IMG101 21 -#define MOTOR_PLUSTEK3800 22 -#define MOTOR_CANONLIDE210 23 -#define MOTOR_CANONLIDE80 24 -#define MOTOR_CANONLIDE120 25 +enum Genesys_Dac_Type +{ + DAC_WOLFSON_UMAX = 0, + DAC_WOLFSON_ST12, + DAC_WOLFSON_ST24, + DAC_WOLFSON_5345, + DAC_WOLFSON_HP2400, + DAC_WOLFSON_HP2300, + DAC_CANONLIDE35, + DAC_AD_XP200, + DAC_WOLFSON_XP300, + DAC_WOLFSON_HP3670, + DAC_WOLFSON_DSM600, + DAC_CANONLIDE200, + DAC_KVSS080, + DAC_G4050, + DAC_CANONLIDE110, + DAC_PLUSTEK_3600, + DAC_CANONLIDE700, + DAC_CS8400F, + DAC_CS8600F, + DAC_IMG101, + DAC_PLUSTEK3800, + DAC_CANONLIDE80, + DAC_CANONLIDE120 +}; + +enum Genesys_Sensor_Type +{ + CCD_UMAX = 0, + CCD_ST12, // SONY ILX548: 5340 Pixel ??? + CCD_ST24, // SONY ILX569: 10680 Pixel ??? + CCD_5345, + CCD_HP2400, + CCD_HP2300, + CCD_CANONLIDE35, + CIS_XP200, // CIS sensor for Strobe XP200, + CCD_HP3670, + CCD_DP665, + CCD_ROADWARRIOR, + CCD_DSMOBILE600, + CCD_XP300, + CCD_DP685, + CIS_CANONLIDE200, + CIS_CANONLIDE100, + CCD_KVSS080, + CCD_G4050, + CIS_CANONLIDE110, + CCD_PLUSTEK_3600, + CCD_HP_N6310, + CIS_CANONLIDE700, + CCD_CS4400F, + CCD_CS8400F, + CCD_CS8600F, + CCD_IMG101, + CCD_PLUSTEK3800, + CIS_CANONLIDE210, + CIS_CANONLIDE80, + CIS_CANONLIDE220, + CIS_CANONLIDE120, +}; +enum Genesys_Gpo_Type +{ + GPO_UMAX, + GPO_ST12, + GPO_ST24, + GPO_5345, + GPO_HP2400, + GPO_HP2300, + GPO_CANONLIDE35, + GPO_XP200, + GPO_XP300, + GPO_HP3670, + GPO_DP665, + GPO_DP685, + GPO_CANONLIDE200, + GPO_KVSS080, + GPO_G4050, + GPO_CANONLIDE110, + GPO_PLUSTEK_3600, + GPO_CANONLIDE210, + GPO_HP_N6310, + GPO_CANONLIDE700, + GPO_CS4400F, + GPO_CS8400F, + GPO_CS8600F, + GPO_IMG101, + GPO_PLUSTEK3800, + GPO_CANONLIDE80, + GPO_CANONLIDE120 +}; + +enum Genesys_Motor_Type +{ + MOTOR_UMAX = 0, + MOTOR_5345, + MOTOR_ST24, + MOTOR_HP2400, + MOTOR_HP2300, + MOTOR_CANONLIDE35, + MOTOR_XP200, + MOTOR_XP300, + MOTOR_HP3670, + MOTOR_DP665, + MOTOR_ROADWARRIOR, + MOTOR_DSMOBILE_600, + MOTOR_CANONLIDE200, + MOTOR_CANONLIDE100, + MOTOR_KVSS080, + MOTOR_G4050, + MOTOR_CANONLIDE110, + MOTOR_PLUSTEK_3600, + MOTOR_CANONLIDE700, + MOTOR_CS8400F, + MOTOR_CS8600F, + MOTOR_IMG101, + MOTOR_PLUSTEK3800, + MOTOR_CANONLIDE210, + MOTOR_CANONLIDE80, + MOTOR_CANONLIDE120 +}; /* Forward typedefs */ typedef struct Genesys_Device Genesys_Device; @@ -462,15 +1025,21 @@ typedef struct Genesys_Command_Set /*@} */ + bool (*needs_home_before_init_regs_for_scan) (Genesys_Device* dev); + /** For ASIC initialization */ SANE_Status (*init) (Genesys_Device * dev); SANE_Status (*init_regs_for_warmup) (Genesys_Device * dev, + const Genesys_Sensor& sensor, Genesys_Register_Set * regs, int *channels, int *total_size); - SANE_Status (*init_regs_for_coarse_calibration) (Genesys_Device * dev); - SANE_Status (*init_regs_for_shading) (Genesys_Device * dev); - SANE_Status (*init_regs_for_scan) (Genesys_Device * dev); + SANE_Status (*init_regs_for_coarse_calibration) (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set& regs); + SANE_Status (*init_regs_for_shading) (Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs); + SANE_Status (*init_regs_for_scan) (Genesys_Device * dev, const Genesys_Sensor& sensor); SANE_Bool (*get_filter_bit) (Genesys_Register_Set * reg); SANE_Bool (*get_lineart_bit) (Genesys_Register_Set * reg); @@ -481,18 +1050,12 @@ typedef struct Genesys_Command_Set SANE_Bool (*test_buffer_empty_bit) (SANE_Byte val); SANE_Bool (*test_motor_flag_bit) (SANE_Byte val); - int (*bulk_full_size) (void); - - SANE_Status (*set_fe) (Genesys_Device * dev, uint8_t set); + SANE_Status (*set_fe) (Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set); SANE_Status (*set_powersaving) (Genesys_Device * dev, int delay); SANE_Status (*save_power) (Genesys_Device * dev, SANE_Bool enable); - void (*set_motor_power) (Genesys_Register_Set * regs, SANE_Bool set); - void (*set_lamp_power) (Genesys_Device * dev, - Genesys_Register_Set * regs, - SANE_Bool set); - SANE_Status (*begin_scan) (Genesys_Device * dev, + const Genesys_Sensor& sensor, Genesys_Register_Set * regs, SANE_Bool start_motor); SANE_Status (*end_scan) (Genesys_Device * dev, @@ -502,32 +1065,31 @@ typedef struct Genesys_Command_Set /** * Send gamma tables to ASIC */ - SANE_Status (*send_gamma_table) (Genesys_Device * dev); + SANE_Status (*send_gamma_table) (Genesys_Device * dev, const Genesys_Sensor& sensor); SANE_Status (*search_start_position) (Genesys_Device * dev); - SANE_Status (*offset_calibration) (Genesys_Device * dev); - SANE_Status (*coarse_gain_calibration) (Genesys_Device * dev, int dpi); - SANE_Status (*led_calibration) (Genesys_Device * dev); - + SANE_Status (*offset_calibration) (Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs); + SANE_Status (*coarse_gain_calibration) (Genesys_Device * dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi); + SANE_Status (*led_calibration) (Genesys_Device * dev, Genesys_Sensor& sensor, + Genesys_Register_Set& regs); + + void (*wait_for_motor_stop) (Genesys_Device* dev); SANE_Status (*slow_back_home) (Genesys_Device * dev, SANE_Bool wait_until_home); SANE_Status (*rewind) (Genesys_Device * dev); SANE_Status (*bulk_write_register) (Genesys_Device * dev, - Genesys_Register_Set * reg, - size_t elems); + Genesys_Register_Set& regs); + SANE_Status (*bulk_write_data) (Genesys_Device * dev, uint8_t addr, uint8_t * data, size_t len); SANE_Status (*bulk_read_data) (Genesys_Device * dev, uint8_t addr, uint8_t * data, size_t len); - /* Updates hardware sensor information in Genesys_Scanner.val[]. - If possible, just get information for given option. - The sensor state in Genesys_Scanner.val[] should be merged with the - new sensor state, using the information that was last read by the frontend - in Genesys_Scanner.last_val[], in such a way that a button up/down - relative to Genesys_Scanner.last_val[] is not lost. - */ + // Updates hardware sensor information in Genesys_Scanner.val[]. SANE_Status (*update_hardware_sensors) (struct Genesys_Scanner * s); /* functions for sheetfed scanners */ @@ -548,12 +1110,11 @@ typedef struct Genesys_Command_Set /** * search for an black or white area in forward or reverse * direction */ - SANE_Status (*search_strip) (Genesys_Device * dev, SANE_Bool forward, SANE_Bool black); + SANE_Status (*search_strip) (Genesys_Device * dev, const Genesys_Sensor& sensor, + SANE_Bool forward, SANE_Bool black); - SANE_Status (*is_compatible_calibration) ( - Genesys_Device * dev, - Genesys_Calibration_Cache *cache, - SANE_Bool for_overwrite); + bool (*is_compatible_calibration) (Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Calibration_Cache* cache, SANE_Bool for_overwrite); /* functions for transparency adapter */ /** @@ -564,36 +1125,17 @@ typedef struct Genesys_Command_Set /** * write shading data calibration to ASIC */ - SANE_Status (*send_shading_data) (Genesys_Device * dev, uint8_t * data, int size); + SANE_Status (*send_shading_data) (Genesys_Device * dev, const Genesys_Sensor& sensor, + uint8_t * data, int size); - /** - * calculate current scan setup - */ - SANE_Status (*calculate_current_setup) (Genesys_Device * dev); + // calculate current scan setup + void (*calculate_current_setup) (Genesys_Device * dev, const Genesys_Sensor& sensor); /** * cold boot init function */ SANE_Status (*asic_boot) (Genesys_Device * dev, SANE_Bool cold); - /** - * Scan register setting interface - */ - SANE_Status (*init_scan_regs) (Genesys_Device * dev, - Genesys_Register_Set * reg, - float xres, - float yres, - float startx, - float starty, - float pixels, - float lines, - unsigned int depth, - unsigned int channels, - int scan_method, - int scan_mode, - int color_filter, - unsigned int flags); - } Genesys_Command_Set; /** @brief structure to describe a scanner model @@ -605,6 +1147,7 @@ typedef struct Genesys_Model SANE_String_Const name; SANE_String_Const vendor; SANE_String_Const model; + SANE_Int model_id; SANE_Int asic_type; /* ASIC type gl646 or gl841 */ Genesys_Command_Set *cmd_set; /* pointers to low level functions */ @@ -653,108 +1196,277 @@ typedef struct Genesys_Model SANE_Word buttons; /* Button flags, described existing buttons for the model */ /*@} */ SANE_Int shading_lines; /* how many lines are used for shading calibration */ + SANE_Int shading_ta_lines; // how many lines are used for shading calibration in TA mode SANE_Int search_lines; /* how many lines are used to search start position */ } Genesys_Model; -#define SCAN_METHOD_FLATBED 0 /**< normal scan method */ -#define SCAN_METHOD_TRANSPARENCY 2 /**< scan using transparency adaptor */ -#define SCAN_METHOD_NEGATIVE 0x88 /**< scan using negative adaptor */ +struct Genesys_Settings +{ + ScanMethod scan_method = ScanMethod::FLATBED; + ScanColorMode scan_mode = ScanColorMode::LINEART; -#define SCAN_MODE_LINEART 0 /**< lineart scan mode */ -#define SCAN_MODE_HALFTONE 1 /**< halftone scan mode */ -#define SCAN_MODE_GRAY 2 /**< gray scan mode */ -#define SCAN_MODE_COLOR 4 /**< color scan mode */ + // horizontal dpi + int xres = 0; + // vertical dpi + int yres = 0; -typedef struct -{ - int scan_method; /* todo: change >=2: Transparency, 0x88: negative film */ - int scan_mode; /* todo: change 0,1 = lineart, halftone; 2 = gray, 3 = 3pass color, 4=single pass color */ - int xres; /**< horizontal dpi */ - int yres; /**< vertical dpi */ + //x start on scan table in mm + double tl_x = 0; + // y start on scan table in mm + double tl_y = 0; - double tl_x; /* x start on scan table in mm */ - double tl_y; /* y start on scan table in mm */ + // number of lines at scan resolution + unsigned int lines = 0; + // number of pixels at scan resolution + unsigned int pixels = 0; - unsigned int lines; /**< number of lines at scan resolution */ - unsigned int pixels; /**< number of pixels at scan resolution */ + // bit depth of the scan + unsigned int depth = 0; - unsigned int depth;/* bit depth of the scan */ + ColorFilter color_filter = ColorFilter::NONE; - /* todo : remove these fields ? */ - int exposure_time; + // true if scan is true gray, false if monochrome scan + int true_gray = 0; - unsigned int color_filter; + // lineart threshold + int threshold = 0; - /**< true if scan is true gray, false if monochrome scan */ - int true_gray; + // lineart threshold curve for dynamic rasterization + int threshold_curve = 0; - /**< lineart threshold */ - int threshold; + // Disable interpolation for xres::max(); + + // resolution in x direction + unsigned xres = NOT_SET; + // resolution in y direction + unsigned yres = NOT_SET; + // start pixel in X direction, from dummy_pixel + 1 + float startx = -1; + // start pixel in Y direction, counted according to base_ydpi + float starty = -1; + // the number of pixels in X direction + unsigned pixels = NOT_SET; + // the number of pixels in Y direction + unsigned lines = NOT_SET; + // the depth of the scan in bits. Allowed are 1, 8, 16 + unsigned depth = NOT_SET; + // the number of channels + unsigned channels = NOT_SET; + + ScanMethod scan_method = static_cast(NOT_SET); + + ScanColorMode scan_mode = static_cast(NOT_SET); + + ColorFilter color_filter = static_cast(NOT_SET); + + unsigned flags = NOT_SET; + + void assert_valid() const + { + if (xres == NOT_SET || yres == NOT_SET || startx < 0 || starty < 0 || + pixels == NOT_SET || lines == NOT_SET ||depth == NOT_SET || channels == NOT_SET || + scan_method == static_cast(NOT_SET) || + scan_mode == static_cast(NOT_SET) || + color_filter == static_cast(NOT_SET) || + flags == NOT_SET) + { + throw std::runtime_error("SetupParams are not valid"); + } + } + + bool operator==(const SetupParams& other) const + { + return xres == other.xres && + yres == other.yres && + startx == other.startx && + starty == other.starty && + pixels == other.pixels && + lines == other.lines && + depth == other.depth && + channels == other.channels && + scan_method == other.scan_method && + scan_mode == other.scan_mode && + color_filter == other.color_filter && + flags == other.flags; + } +}; - /**< value for brightness enhancement in the [-100..100] range */ - int brightness; - - /**< cahe entries expiration time */ - int expiration_time; -} Genesys_Settings; +template +void serialize(Stream& str, SetupParams& x) +{ + serialize(str, x.xres); + serialize(str, x.yres); + serialize(str, x.startx); + serialize(str, x.starty); + serialize(str, x.pixels); + serialize(str, x.lines); + serialize(str, x.depth); + serialize(str, x.channels); + serialize(str, x.scan_method); + serialize(str, x.scan_mode); + serialize(str, x.color_filter); + serialize(str, x.flags); +} -typedef struct Genesys_Current_Setup +struct Genesys_Current_Setup { - int pixels; /* pixel count expected from scanner */ - int lines; /* line count expected from scanner */ - int depth; /* depth expected from scanner */ - int channels; /* channel count expected from scanner */ - int scan_method; /* scanning method: flatbed or XPA */ - int exposure_time; /* used exposure time */ - float xres; /* used xres */ - float yres; /* used yres*/ - SANE_Bool half_ccd; /* half ccd mode */ - SANE_Int stagger; - SANE_Int max_shift; /* max shift of any ccd component, including staggered pixels*/ -} Genesys_Current_Setup; - -typedef struct Genesys_Buffer + // params used for this setup + SetupParams params; + + // pixel count expected from scanner + int pixels = 0; + // line count expected from scanner + int lines = 0; + // depth expected from scanner + int depth = 0; + // channel count expected from scanner + int channels = 0; + + // used exposure time + int exposure_time = 0; + // used xres + float xres = 0; + // used yres + float yres = 0; + // half ccd mode + unsigned ccd_size_divisor = 1; + SANE_Int stagger = 0; + // max shift of any ccd component, including staggered pixels + SANE_Int max_shift = 0; + + bool operator==(const Genesys_Current_Setup& other) const + { + return params == other.params && + pixels == other.pixels && + lines == other.lines && + depth == other.depth && + channels == other.channels && + exposure_time == other.exposure_time && + xres == other.xres && + yres == other.yres && + ccd_size_divisor == other.ccd_size_divisor && + stagger == other.stagger && + max_shift == other.max_shift; + } +}; + +template +void serialize(Stream& str, Genesys_Current_Setup& x) { - SANE_Byte *buffer; - size_t size; - size_t pos; /* current position in read buffer */ - size_t avail; /* data bytes currently in buffer */ -} Genesys_Buffer; + serialize(str, x.params); + serialize_newline(str); + serialize(str, x.pixels); + serialize(str, x.lines); + serialize(str, x.depth); + serialize(str, x.channels); + serialize(str, x.exposure_time); + serialize(str, x.xres); + serialize(str, x.yres); + serialize(str, x.ccd_size_divisor); + serialize(str, x.stagger); + serialize(str, x.max_shift); +} -struct Genesys_Calibration_Cache +struct Genesys_Buffer { - Genesys_Current_Setup used_setup;/* used to check if entry is compatible */ - time_t last_calibration; + Genesys_Buffer() = default; - Genesys_Frontend frontend; - Genesys_Sensor sensor; + size_t size() const { return buffer_.size(); } + size_t avail() const { return avail_; } + size_t pos() const { return pos_; } - size_t calib_pixels; - size_t calib_channels; - size_t average_size; - uint8_t *white_average_data; - uint8_t *dark_average_data; + // TODO: refactor code that uses this function to no longer use it + void set_pos(size_t pos) { pos_ = pos; } - struct Genesys_Calibration_Cache *next; + void alloc(size_t size); + void clear(); + + void reset(); + + uint8_t* get_write_pos(size_t size); + uint8_t* get_read_pos(); // TODO: mark as const + + void produce(size_t size); + void consume(size_t size); + +private: + std::vector buffer_; + // current position in read buffer + size_t pos_ = 0; + // data bytes currently in buffer + size_t avail_ = 0; }; +struct Genesys_Calibration_Cache +{ + Genesys_Calibration_Cache() = default; + ~Genesys_Calibration_Cache() = default; + + // used to check if entry is compatible + Genesys_Current_Setup used_setup; + time_t last_calibration = 0; + + Genesys_Frontend frontend; + Genesys_Sensor sensor; + + size_t calib_pixels = 0; + size_t calib_channels = 0; + size_t average_size = 0; + std::vector white_average_data; + std::vector dark_average_data; + + bool operator==(const Genesys_Calibration_Cache& other) const + { + return used_setup == other.used_setup && + last_calibration == other.last_calibration && + frontend == other.frontend && + sensor == other.sensor && + calib_pixels == other.calib_pixels && + calib_channels == other.calib_channels && + average_size == other.average_size && + white_average_data == other.white_average_data && + dark_average_data == other.dark_average_data; + } +}; + +template +void serialize(Stream& str, Genesys_Calibration_Cache& x) +{ + serialize(str, x.used_setup); + serialize_newline(str); + serialize(str, x.last_calibration); + serialize_newline(str); + serialize(str, x.frontend); + serialize_newline(str); + serialize(str, x.sensor); + serialize_newline(str); + serialize(str, x.calib_pixels); + serialize(str, x.calib_channels); + serialize(str, x.average_size); + serialize_newline(str); + serialize(str, x.white_average_data); + serialize_newline(str); + serialize(str, x.dark_average_data); +} + /** * Describes the current device status for the backend * session. This should be more accurately called @@ -762,86 +1474,140 @@ struct Genesys_Calibration_Cache */ struct Genesys_Device { - SANE_Int dn; - SANE_Word vendorId; /**< USB vendor identifier */ - SANE_Word productId; /**< USB product identifier */ - SANE_Int usb_mode; /**< USB mode: 1 for USB 1.1, 2 for USB 2.0, - 0 unset and -1 for fake USB device */ - SANE_String file_name; - SANE_String calib_file; - Genesys_Model *model; - - Genesys_Register_Set reg[256]; - Genesys_Register_Set calib_reg[256]; - Genesys_Settings settings; - Genesys_Frontend frontend; - Genesys_Sensor sensor; - Genesys_Gpo gpo; - Genesys_Motor motor; - uint16_t slope_table0[256]; - uint16_t slope_table1[256]; - uint8_t control[6]; - time_t init_date; - - size_t average_size; - size_t calib_pixels; /**< number of pixels used during shading calibration */ - size_t calib_lines; /**< number of lines used during shading calibration */ - size_t calib_channels; - size_t calib_resolution; - uint8_t *white_average_data; - uint8_t *dark_average_data; - uint16_t dark[3]; - - SANE_Bool already_initialized; - SANE_Int scanhead_position_in_steps; - SANE_Int lamp_off_time; - - SANE_Bool read_active; - SANE_Bool parking; /**< signal wether the park command has been issued */ - SANE_Bool document; /**< for sheetfed scanner's, is TRUE when there - is a document in the scanner */ - - Genesys_Buffer read_buffer; - Genesys_Buffer lines_buffer; - Genesys_Buffer shrink_buffer; - Genesys_Buffer out_buffer; - Genesys_Buffer binarize_buffer; /**< buffer for digital lineart from gray data */ - Genesys_Buffer local_buffer; /**< local buffer for gray data during dynamix lineart */ - - size_t read_bytes_left; /**< bytes to read from scanner */ - - size_t total_bytes_read; /**< total bytes read sent to frontend */ - size_t total_bytes_to_read; /**< total bytes read to be sent to frontend */ - size_t wpl; /**< asic's word per line */ - - Genesys_Current_Setup current_setup; /* contains the real used values */ - - /**< look up table used in dynamic rasterization */ - unsigned char lineart_lut[256]; - - Genesys_Calibration_Cache *calibration_cache; - - struct Genesys_Device *next; - - SANE_Int ld_shift_r; /**< used red line-distance shift*/ - SANE_Int ld_shift_g; /**< used green line-distance shift*/ - SANE_Int ld_shift_b; /**< used blue line-distance shift*/ - int segnb; /**< number of segments composing the sensor */ - int line_interp; /**< number of lines used in line interpolation */ - int line_count; /**< number of scan lines used during scan */ - size_t bpl; /**< bytes per full scan widthline */ - size_t dist; /**< bytes distance between an odd and an even pixel */ - size_t len; /**< number of even pixels */ - size_t cur; /**< current pixel position within sub window */ - size_t skip; /**< number of bytes to skip at start of line */ - size_t *order; /**< array describing the order of the sub-segments of the sensor */ - Genesys_Buffer oe_buffer; /**< buffer to handle even/odd data */ - - SANE_Bool buffer_image; /**< when true the scanned picture is first buffered - * to allow software image enhancements */ - SANE_Byte *img_buffer; /**< image buffer where the scanned picture is stored */ - - FILE *binary; /**< binary logger file */ + Genesys_Device() = default; + ~Genesys_Device(); + + using Calibration = std::vector; + + // frees commonly used data + void clear(); + + UsbDevice usb_dev; + SANE_Word vendorId = 0; /**< USB vendor identifier */ + SANE_Word productId = 0; /**< USB product identifier */ + + // USB mode: + // 0: not set + // 1: USB 1.1 + // 2: USB 2.0 + SANE_Int usb_mode = 0; + + SANE_String file_name = nullptr; + std::string calib_file; + + // if enabled, no calibration data will be loaded or saved to files + SANE_Int force_calibration = 0; + Genesys_Model *model = nullptr; + + Genesys_Register_Set reg; + Genesys_Register_Set calib_reg; + Genesys_Settings settings; + Genesys_Frontend frontend, frontend_initial; + Genesys_Gpo gpo; + Genesys_Motor motor; + uint8_t control[6] = {}; + time_t init_date = 0; + + size_t average_size = 0; + // number of pixels used during shading calibration + size_t calib_pixels = 0; + // number of lines used during shading calibration + size_t calib_lines = 0; + size_t calib_channels = 0; + size_t calib_resolution = 0; + // bytes to read from USB when calibrating. If 0, this is not set + size_t calib_total_bytes_to_read = 0; + // certain scanners support much higher resolution when scanning transparency, but we can't + // read whole width of the scanner as a single line at that resolution. Thus for stuff like + // calibration we want to read only the possible calibration area. + size_t calib_pixels_offset = 0; + + // gamma overrides. If a respective array is not empty then it means that the gamma for that + // color is overridden. + std::vector gamma_override_tables[3]; + + std::vector white_average_data; + std::vector dark_average_data; + uint16_t dark[3] = {}; + + SANE_Bool already_initialized = 0; + SANE_Int scanhead_position_in_steps = 0; + SANE_Int lamp_off_time = 0; + + SANE_Bool read_active = 0; + // signal wether the park command has been issued + SANE_Bool parking = 0; + + // for sheetfed scanner's, is TRUE when there is a document in the scanner + SANE_Bool document = 0; + + SANE_Bool needs_home_ta = 0; + + Genesys_Buffer read_buffer; + Genesys_Buffer lines_buffer; + Genesys_Buffer shrink_buffer; + Genesys_Buffer out_buffer; + + // buffer for digital lineart from gray data + Genesys_Buffer binarize_buffer = {}; + // local buffer for gray data during dynamix lineart + Genesys_Buffer local_buffer = {}; + + // bytes to read from scanner + size_t read_bytes_left = 0; + + // total bytes read sent to frontend + size_t total_bytes_read = 0; + // total bytes read to be sent to frontend + size_t total_bytes_to_read = 0; + // asic's word per line + size_t wpl = 0; + + // contains the real used values + Genesys_Current_Setup current_setup; + + // look up table used in dynamic rasterization + unsigned char lineart_lut[256] = {}; + + Calibration calibration_cache; + + // used red line-distance shift + SANE_Int ld_shift_r = 0; + // used green line-distance shift + SANE_Int ld_shift_g = 0; + // used blue line-distance shift + SANE_Int ld_shift_b = 0; + // number of segments composing the sensor + int segnb = 0; + // number of lines used in line interpolation + int line_interp = 0; + // number of scan lines used during scan + int line_count = 0; + // bytes per full scan widthline + size_t bpl = 0; + // bytes distance between an odd and an even pixel + size_t dist = 0; + // number of even pixels + size_t len = 0; + // current pixel position within sub window + size_t cur = 0; + // number of bytes to skip at start of line + size_t skip = 0; + + // array describing the order of the sub-segments of the sensor + size_t* order = nullptr; + + // buffer to handle even/odd data + Genesys_Buffer oe_buffer = {}; + + // when true the scanned picture is first buffered to allow software image enhancements + SANE_Bool buffer_image = 0; + + // image buffer where the scanned picture is stored + std::vector img_buffer; + + // binary logger file + FILE *binary = nullptr; }; typedef struct Genesys_USB_Device_Entry @@ -858,7 +1624,7 @@ typedef struct { int motor_type; /**< motor id */ int exposure; /**< exposure for the slope table */ int step_type; /**< default step type for given exposure */ - uint32_t *table; /**< 0 terminated slope table at full step */ + uint32_t *table; // 0-terminated slope table at full step (i.e. step_type == 0) } Motor_Profile; #define FULL_STEP 0 @@ -908,13 +1674,26 @@ typedef struct { /* common functions needed by low level specific functions */ /*--------------------------------------------------------------------------*/ -extern Genesys_Register_Set *sanei_genesys_get_address (Genesys_Register_Set * regs, uint16_t addr); +inline GenesysRegister* sanei_genesys_get_address(Genesys_Register_Set* regs, uint16_t addr) +{ + auto* ret = regs->find_reg_address(addr); + if (ret == nullptr) { + DBG(DBG_error, "%s: failed to find address for register 0x%02x, crash expected !\n", + __func__, addr); + } + return ret; +} -extern SANE_Byte -sanei_genesys_read_reg_from_set (Genesys_Register_Set * regs, uint16_t address); +inline uint8_t sanei_genesys_read_reg_from_set(Genesys_Register_Set* regs, uint16_t address) +{ + return regs->get8(address); +} -extern void -sanei_genesys_set_reg_from_set (Genesys_Register_Set * regs, uint16_t address, SANE_Byte value); +inline void sanei_genesys_set_reg_from_set(Genesys_Register_Set* regs, uint16_t address, + uint8_t value) +{ + regs->set8(address, value); +} extern SANE_Status sanei_genesys_init_cmd_set (Genesys_Device * dev); @@ -931,25 +1710,38 @@ extern SANE_Status sanei_genesys_write_hregister (Genesys_Device * dev, uint16_t reg, uint8_t val); extern SANE_Status -sanei_genesys_bulk_write_register (Genesys_Device * dev, - Genesys_Register_Set * reg, - size_t elems); +sanei_genesys_bulk_write_register(Genesys_Device * dev, + Genesys_Register_Set& regs); extern SANE_Status sanei_genesys_write_0x8c (Genesys_Device * dev, uint8_t index, uint8_t val); +extern unsigned sanei_genesys_get_bulk_max_size(Genesys_Device * dev); + +extern SANE_Status sanei_genesys_bulk_read_data(Genesys_Device * dev, uint8_t addr, uint8_t* data, + size_t len); + +extern SANE_Status sanei_genesys_bulk_write_data(Genesys_Device * dev, uint8_t addr, uint8_t* data, + size_t len); + extern SANE_Status sanei_genesys_get_status (Genesys_Device * dev, uint8_t * status); extern void sanei_genesys_print_status (uint8_t val); extern SANE_Status -sanei_genesys_write_ahb (SANE_Int dn, int usb_mode, uint32_t addr, uint32_t size, uint8_t * data); - -extern void sanei_genesys_init_fe (Genesys_Device * dev); +sanei_genesys_write_ahb(Genesys_Device* dev, uint32_t addr, uint32_t size, uint8_t * data); extern void sanei_genesys_init_structs (Genesys_Device * dev); +const Genesys_Sensor& sanei_genesys_find_sensor_any(Genesys_Device* dev); +Genesys_Sensor& sanei_genesys_find_sensor_any_for_write(Genesys_Device* dev); +const Genesys_Sensor& sanei_genesys_find_sensor(Genesys_Device* dev, int dpi, + ScanMethod scan_method = ScanMethod::FLATBED); +Genesys_Sensor& sanei_genesys_find_sensor_for_write(Genesys_Device* dev, int dpi, + ScanMethod scan_method = ScanMethod::FLATBED); + extern SANE_Status -sanei_genesys_init_shading_data (Genesys_Device * dev, int pixels_per_line); +sanei_genesys_init_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, + int pixels_per_line); extern SANE_Status sanei_genesys_read_valid_words (Genesys_Device * dev, unsigned int *steps); @@ -960,6 +1752,11 @@ extern SANE_Status sanei_genesys_read_scancnt (Genesys_Device * dev, extern SANE_Status sanei_genesys_read_feed_steps (Genesys_Device * dev, unsigned int *steps); +void sanei_genesys_set_lamp_power(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, bool set); + +void sanei_genesys_set_motor_power(Genesys_Register_Set& regs, bool set); + extern void sanei_genesys_calculate_zmode2 (SANE_Bool two_table, uint32_t exposure_time, @@ -1026,24 +1823,28 @@ sanei_genesys_create_slope_table3 (Genesys_Device * dev, unsigned int *final_exposure, int power_mode); -extern void -sanei_genesys_create_gamma_table (uint16_t * gamma_table, int size, - float maximum, float gamma_max, - float gamma); +void sanei_genesys_create_default_gamma_table(Genesys_Device* dev, + std::vector& gamma_table, float gamma); + +std::vector get_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor, + int color); -extern SANE_Status sanei_genesys_send_gamma_table (Genesys_Device * dev); +SANE_Status sanei_genesys_send_gamma_table(Genesys_Device * dev, const Genesys_Sensor& sensor); extern SANE_Status sanei_genesys_start_motor (Genesys_Device * dev); extern SANE_Status sanei_genesys_stop_motor (Genesys_Device * dev); extern SANE_Status -sanei_genesys_search_reference_point (Genesys_Device * dev, uint8_t * data, - int start_pixel, int dpi, int width, - int height); +sanei_genesys_search_reference_point(Genesys_Device * dev, Genesys_Sensor& sensor, + uint8_t * data, + int start_pixel, int dpi, int width, + int height); + +extern SANE_Status sanei_genesys_write_file(const char *filename, uint8_t* data, size_t length); extern SANE_Status -sanei_genesys_write_pnm_file (char *filename, uint8_t * data, int depth, +sanei_genesys_write_pnm_file (const char *filename, uint8_t * data, int depth, int channels, int pixels_per_line, int lines); extern SANE_Status @@ -1053,35 +1854,54 @@ extern SANE_Status sanei_genesys_read_data_from_scanner (Genesys_Device * dev, uint8_t * data, size_t size); -extern SANE_Status -sanei_genesys_buffer_alloc(Genesys_Buffer * buf, size_t size); - -extern SANE_Status -sanei_genesys_buffer_free(Genesys_Buffer * buf); - -extern SANE_Byte * -sanei_genesys_buffer_get_write_pos(Genesys_Buffer * buf, size_t size); - -extern SANE_Byte * -sanei_genesys_buffer_get_read_pos(Genesys_Buffer * buf); +inline void sanei_genesys_set_double(Genesys_Register_Set* regs, uint16_t addr, uint16_t value) +{ + regs->set16(addr, value); +} -extern SANE_Status -sanei_genesys_buffer_produce(Genesys_Buffer * buf, size_t size); +inline void sanei_genesys_set_triple(Genesys_Register_Set* regs, uint16_t addr, uint32_t value) +{ + regs->set24(addr, value); +} -extern SANE_Status -sanei_genesys_buffer_consume(Genesys_Buffer * buf, size_t size); +inline void sanei_genesys_get_double(Genesys_Register_Set* regs, uint16_t addr, uint16_t* value) +{ + *value = regs->get16(addr); +} -extern SANE_Status -sanei_genesys_set_double(Genesys_Register_Set *regs, uint16_t addr, uint16_t value); +inline void sanei_genesys_get_triple(Genesys_Register_Set* regs, uint16_t addr, uint32_t* value) +{ + *value = regs->get24(addr); +} -extern SANE_Status -sanei_genesys_set_triple(Genesys_Register_Set *regs, uint16_t addr, uint32_t value); +inline void sanei_genesys_set_exposure(Genesys_Register_Set& regs, const SensorExposure& exposure) +{ + regs.set8(0x10, (exposure.red >> 8) & 0xff); + regs.set8(0x11, exposure.red & 0xff); + regs.set8(0x12, (exposure.green >> 8) & 0xff); + regs.set8(0x13, exposure.green & 0xff); + regs.set8(0x14, (exposure.blue >> 8) & 0xff); + regs.set8(0x15, exposure.blue & 0xff); +} -extern SANE_Status -sanei_genesys_get_double(Genesys_Register_Set *regs, uint16_t addr, uint16_t *value); +inline uint16_t sanei_genesys_fixup_exposure_value(uint16_t value) +{ + if ((value & 0xff00) == 0) { + value |= 0x100; + } + if ((value & 0x00ff) == 0) { + value |= 0x1; + } + return value; +} -extern SANE_Status -sanei_genesys_get_triple(Genesys_Register_Set *regs, uint16_t addr, uint32_t *value); +inline SensorExposure sanei_genesys_fixup_exposure(SensorExposure exposure) +{ + exposure.red = sanei_genesys_fixup_exposure_value(exposure.red); + exposure.green = sanei_genesys_fixup_exposure_value(exposure.green); + exposure.blue = sanei_genesys_fixup_exposure_value(exposure.blue); + return exposure; +} extern SANE_Status sanei_genesys_wait_for_home(Genesys_Device *dev); @@ -1089,8 +1909,10 @@ sanei_genesys_wait_for_home(Genesys_Device *dev); extern SANE_Status sanei_genesys_asic_init(Genesys_Device *dev, SANE_Bool cold); -extern -int sanei_genesys_compute_dpihw(Genesys_Device *dev, int xres); +int sanei_genesys_compute_dpihw(Genesys_Device *dev, const Genesys_Sensor& sensor, int xres); + +int sanei_genesys_compute_dpihw_calibration(Genesys_Device *dev, const Genesys_Sensor& sensor, + int xres); extern Motor_Profile *sanei_genesys_get_motor_profile(Motor_Profile *motors, int motor_type, int exposure); @@ -1119,15 +1941,8 @@ int sanei_genesys_get_lowest_ydpi(Genesys_Device *dev); extern int sanei_genesys_get_lowest_dpi(Genesys_Device *dev); -/** - * reads previously cached calibration data - * from file - */ -extern SANE_Status -sanei_genesys_read_calibration (Genesys_Device * dev); - -extern SANE_Status -sanei_genesys_is_compatible_calibration (Genesys_Device * dev, +extern bool +sanei_genesys_is_compatible_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Calibration_Cache * cache, int for_overwrite); @@ -1160,78 +1975,12 @@ sanei_genesys_load_lut (unsigned char * lut, extern SANE_Status sanei_genesys_generate_gamma_buffer(Genesys_Device * dev, + const Genesys_Sensor& sensor, int bits, int max, int size, uint8_t *gamma); -#ifdef UNIT_TESTING -SANE_Status -genesys_send_offset_and_shading (Genesys_Device * dev, - uint8_t * data, - int size); - -void -genesys_average_data (uint8_t * average_data, - uint8_t * calibration_data, - uint32_t lines, - uint32_t pixel_components_per_line); - -void -compute_averaged_planar (Genesys_Device * dev, - uint8_t * shading_data, - unsigned int pixels_per_line, - unsigned int words_per_color, - unsigned int channels, - unsigned int o, - unsigned int coeff, - unsigned int target_bright, - unsigned int target_dark); - - -void -compute_coefficients (Genesys_Device * dev, - uint8_t * shading_data, - unsigned int pixels_per_line, - unsigned int channels, - unsigned int cmat[3], - int offset, - unsigned int coeff, - unsigned int target); - -void -compute_planar_coefficients (Genesys_Device * dev, - uint8_t * shading_data, - unsigned int factor, - unsigned int pixels_per_line, - unsigned int words_per_color, - unsigned int channels, - unsigned int cmat[3], - unsigned int offset, - unsigned int coeff, - unsigned int target); - -void -compute_shifted_coefficients (Genesys_Device * dev, - uint8_t * shading_data, - unsigned int pixels_per_line, - unsigned int channels, - unsigned int cmat[3], - int offset, - unsigned int coeff, - unsigned int target_dark, - unsigned int target_bright, - unsigned int patch_size); /* contigous extent */ - -SANE_Status -probe_genesys_devices (void); - -SANE_Status genesys_flatbed_calibration (Genesys_Device *dev); - -SANE_Status genesys_send_shading_coefficient (Genesys_Device *dev); -#endif - - /*---------------------------------------------------------------------------*/ /* ASIC specific functions declarations */ /*---------------------------------------------------------------------------*/ @@ -1242,4 +1991,52 @@ extern SANE_Status sanei_gl846_init_cmd_set (Genesys_Device * dev); extern SANE_Status sanei_gl847_init_cmd_set (Genesys_Device * dev); extern SANE_Status sanei_gl124_init_cmd_set (Genesys_Device * dev); +// same as usleep, except that it does nothing if testing mode is enabled +extern void sanei_genesys_usleep(unsigned int useconds); + +// same as sanei_genesys_usleep just that the duration is in milliseconds +extern void sanei_genesys_sleep_ms(unsigned int milliseconds); + +void add_function_to_run_at_backend_exit(std::function function); + +// calls functions added via add_function_to_run_at_backend_exit() in reverse order of being +// added. +void run_functions_at_backend_exit(); + +template +class StaticInit { +public: + StaticInit() = default; + StaticInit(const StaticInit&) = delete; + StaticInit& operator=(const StaticInit&) = delete; + + template + void init(Args&& ... args) + { + ptr_ = std::unique_ptr(new T(std::forward(args)...)); + add_function_to_run_at_backend_exit([this](){ deinit(); }); + } + + void deinit() + { + ptr_.release(); + } + + const T* operator->() const { return ptr_.get(); } + T* operator->() { return ptr_.get(); } + const T& operator*() const { return *ptr_.get(); } + T& operator*() { return *ptr_.get(); } + +private: + std::unique_ptr ptr_; +}; + +extern StaticInit> s_sensors; +void genesys_init_sensor_tables(); +void genesys_init_frontend_tables(); + +void debug_dump(unsigned level, const Genesys_Settings& settings); +void debug_dump(unsigned level, const SetupParams& params); +void debug_dump(unsigned level, const Genesys_Current_Setup& setup); + #endif /* not GENESYS_LOW_H */ diff --git a/backend/genesys_sanei.cc b/backend/genesys_sanei.cc new file mode 100644 index 0000000..5b5b40a --- /dev/null +++ b/backend/genesys_sanei.cc @@ -0,0 +1,140 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "genesys_sanei.h" + +UsbDevice::~UsbDevice() +{ + if (is_open()) { + DBG(DBG_error, "UsbDevice not closed; closing automatically"); + close(); + } +} + +void UsbDevice::open(const char* dev_name) +{ + DBG_HELPER(dbg); + + if (is_open()) { + throw SaneException("device already open"); + } + int device_num = 0; + + dbg.status("open device"); + TIE(sanei_usb_open(dev_name, &device_num)); + + name_ = dev_name; + device_num_ = device_num; + is_open_ = true; +} + +void UsbDevice::clear_halt() +{ + DBG_HELPER(dbg); + assert_is_open(); + TIE(sanei_usb_clear_halt(device_num_)); +} + +void UsbDevice::reset() +{ + DBG_HELPER(dbg); + assert_is_open(); + TIE(sanei_usb_reset(device_num_)); +} + +void UsbDevice::close() +{ + DBG_HELPER(dbg); + assert_is_open(); + + // we can't do much if closing fails, so we close the device on our side regardless of the + // function succeeds + int device_num = device_num_; + + set_not_open(); + sanei_usb_close(device_num); +} + +void UsbDevice::get_vendor_product(int& vendor, int& product) +{ + DBG_HELPER(dbg); + assert_is_open(); + TIE(sanei_usb_get_vendor_product(device_num_, &vendor, &product)); +} + +void UsbDevice::control_msg(int rtype, int reg, int value, int index, int length, uint8_t* data) +{ + DBG_HELPER(dbg); + assert_is_open(); + TIE(sanei_usb_control_msg(device_num_, rtype, reg, value, index, length, data)); +} + +void UsbDevice::bulk_read(uint8_t* buffer, size_t* size) +{ + DBG_HELPER(dbg); + assert_is_open(); + TIE(sanei_usb_read_bulk(device_num_, buffer, size)); +} + +void UsbDevice::bulk_write(const uint8_t* buffer, size_t* size) +{ + DBG_HELPER(dbg); + assert_is_open(); + TIE(sanei_usb_write_bulk(device_num_, buffer, size)); +} + +void UsbDevice::assert_is_open() const +{ + if (!is_open()) { + throw SaneException("device not open"); + } +} + +void UsbDevice::set_not_open() +{ + device_num_ = 0; + is_open_ = false; + name_ = ""; +} diff --git a/backend/genesys_sanei.h b/backend/genesys_sanei.h new file mode 100644 index 0000000..0e41600 --- /dev/null +++ b/backend/genesys_sanei.h @@ -0,0 +1,97 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_SANEI_H +#define BACKEND_GENESYS_SANEI_H + +#include "genesys_error.h" +#include "../include/sane/sanei_usb.h" + +#include +#include + +class UsbDevice { +public: + UsbDevice() = default; + UsbDevice(const UsbDevice& other) = delete; + UsbDevice& operator=(const UsbDevice&) = delete; + + UsbDevice(UsbDevice&& other) : + name_(other.name_), + is_open_(other.is_open_), + device_num_(other.device_num_) + { + other.set_not_open(); + } + + ~UsbDevice(); + + bool is_open() const { return is_open_; } + + int device_number() const { return device_num_; } + + const std::string& name() const { return name_; } + + void open(const char* dev_name); + + void clear_halt(); + void reset(); + void close(); + + void get_vendor_product(int& vendor, int& product); + + void control_msg(int rtype, int reg, int value, int index, int length, uint8_t* data); + void bulk_read(uint8_t* buffer, size_t* size); + void bulk_write(const uint8_t* buffer, size_t* size); + +private: + + void assert_is_open() const; + void set_not_open(); + + std::string name_; + bool is_open_ = false; + int device_num_ = 0; +}; + +#endif // BACKEND_GENESYS_SANEI_H diff --git a/backend/genesys_serialize.cc b/backend/genesys_serialize.cc new file mode 100644 index 0000000..e69de29 diff --git a/backend/genesys_serialize.h b/backend/genesys_serialize.h new file mode 100644 index 0000000..481e872 --- /dev/null +++ b/backend/genesys_serialize.h @@ -0,0 +1,144 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_SERIALIZE_H +#define BACKEND_GENESYS_SERIALIZE_H + +#include "genesys_error.h" +#include +#include +#include +#include +#include + +// it would be best to use something like boost.serialization + +inline void serialize_newline(std::ostream& str) { str << '\n'; } +inline void serialize_newline(std::istream& str) { (void) str; } + +inline void serialize(std::ostream& str, char x) { str << static_cast(x) << " "; } +inline void serialize(std::istream& str, char& x) { int v; str >> v; x = v; } +inline void serialize(std::ostream& str, unsigned char x) { str << static_cast(x) << " "; } +inline void serialize(std::istream& str, unsigned char& x) { unsigned v; str >> v; x = v; } +inline void serialize(std::ostream& str, signed char x) { str << static_cast(x) << " "; } +inline void serialize(std::istream& str, signed char& x) { int v; str >> v; x = v; } +inline void serialize(std::ostream& str, short x) { str << x << " "; } +inline void serialize(std::istream& str, short& x) { str >> x; } +inline void serialize(std::ostream& str, unsigned short x) { str << x << " "; } +inline void serialize(std::istream& str, unsigned short& x) { str >> x; } +inline void serialize(std::ostream& str, int x) { str << x << " "; } +inline void serialize(std::istream& str, int& x) { str >> x; } +inline void serialize(std::ostream& str, unsigned int x) { str << x << " "; } +inline void serialize(std::istream& str, unsigned int& x) { str >> x; } +inline void serialize(std::ostream& str, long x) { str << x << " "; } +inline void serialize(std::istream& str, long& x) { str >> x; } +inline void serialize(std::ostream& str, unsigned long x) { str << x << " "; } +inline void serialize(std::istream& str, unsigned long& x) { str >> x; } +inline void serialize(std::ostream& str, long long x) { str << x << " "; } +inline void serialize(std::istream& str, long long& x) { str >> x; } +inline void serialize(std::ostream& str, unsigned long long x) { str << x << " "; } +inline void serialize(std::istream& str, unsigned long long& x) { str >> x; } +inline void serialize(std::ostream& str, float x) { str << x << " "; } +inline void serialize(std::istream& str, float& x) { str >> x; } +inline void serialize(std::ostream& str, double x) { str << x << " "; } +inline void serialize(std::istream& str, double& x) { str >> x; } +inline void serialize(std::ostream& str, const std::string& x) { str << x << " "; } +inline void serialize(std::istream& str, std::string& x) { str >> x; } + +template +void serialize(std::ostream& str, std::vector& x) +{ + serialize(str, x.size()); + serialize_newline(str); + + for (auto& item : x) { + serialize(str, item); + serialize_newline(str); + } +} + +template +void serialize(std::istream& str, std::vector& x, + size_t max_size = std::numeric_limits::max()) +{ + size_t new_size; + serialize(str, new_size); + + if (new_size > max_size) { + throw SaneException("Too large std::vector to deserialize"); + } + x.reserve(new_size); + for (size_t i = 0; i < new_size; ++i) { + T item; + serialize(str, item); + x.push_back(item); + } +} + +template +void serialize(std::ostream& str, std::array& x) +{ + serialize(str, x.size()); + serialize_newline(str); + + for (auto& item : x) { + serialize(str, item); + serialize_newline(str); + } +} + +template +void serialize(std::istream& str, std::array& x) +{ + size_t new_size; + serialize(str, new_size); + + if (new_size > Size) { + throw SaneException("Incorrect std::array size to deserialize"); + } + for (auto& item : x) { + serialize(str, item); + } +} + +#endif diff --git a/backend/gphoto2.c b/backend/gphoto2.c index c8af306..973257c 100644 --- a/backend/gphoto2.c +++ b/backend/gphoto2.c @@ -1,28 +1,28 @@ /* Please note! Although intended to support multiple camera types * it's been tested with only cameras I have access to: the Kodak DC240 - * and the Directory Browse "camera." I'm very interested - * in learning what it would take to support more cameras. In + * and the Directory Browse "camera." I'm very interested + * in learning what it would take to support more cameras. In * particular, the current incarnation will only support cameras * that directly generate jpeg files. - * + * * Please report sucesses or failures using this backend! - * + * * However, having said that, I've already found it to be quite useful * even in its current form - one reason is that gphoto2 provides access - * to the camera via USB which is not supported by the regular DC240 + * to the camera via USB which is not supported by the regular DC240 * backend and is dramatically faster than the serial port. */ /*************************************************************************** * _S_A_N_E - Scanner Access Now Easy. - gphoto2.c + gphoto2.c 03/12/01 - Peter Fales Based on the dc210 driver, (C) 1998 Brian J. Murrell (which is based on dc25 driver (C) 1998 by Peter Fales) - + This file (C) 2001 by Peter Fales This file is part of the SANE package. @@ -61,14 +61,14 @@ 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. + If you do not wish that, delete this exception notice. *************************************************************************** - This file implements a SANE backend for digital cameras + This file implements a SANE backend for digital cameras supported by the gphoto2 libraries. - - THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!! + + THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!! (feedback to: gphoto2-devel@fales-lorenz.net) @@ -96,7 +96,7 @@ #include "../include/sane/sanei_backend.h" /* PSF 1/12/02 - gphoto2.h does a #include of config.h. We don't have - * config.h by that name (we call it sane/config.h), so the #undef of + * config.h by that name (we call it sane/config.h), so the #undef of * HAVE_CONFIG_H will cause it to skip that. */ #undef HAVE_CONFIG_H @@ -349,7 +349,7 @@ static const SANE_Device *devlist[] = { dev + 0, 0 }; -/* +/* * debug_func - called for gphoto2 debugging output (if enabled) */ static void @@ -397,9 +397,9 @@ init_gphoto2 (void) { /* * We get here if re-initializing the camera: either because - * the user clicked the "re-establish" button, or we need to - * recalculate the number of photos after taking a picture. - * We must release the old camera before starting over. + * the user clicked the "re-establish" button, or we need to + * recalculate the number of photos after taking a picture. + * We must release the old camera before starting over. */ CHECK_RET (gp_camera_unref (camera)); } @@ -455,14 +455,14 @@ init_gphoto2 (void) * knows that and will complain if we try to set the speed for * ports other than serial ones. Because we are paranoid here and * check every single error message returned by gphoto2, we need - * to make sure that we have a serial port. + * to make sure that we have a serial port. */ if (Cam_data.speed && !strncmp (Cam_data.port, "serial:", 7)) { - /* + /* * Not sure why we need this hack. The API keeps opening/closing * the port, and that seems to confuse the camera. Holding - * the port open seems to fix it. + * the port open seems to fix it. */ if ((hack_fd = open (Cam_data.port + 7, O_RDONLY)) < 0) { @@ -514,7 +514,7 @@ init_gphoto2 (void) } /* - * close_gphoto2() - Shutdown camera interface + * close_gphoto2() - Shutdown camera interface */ static void close_gphoto2 (void) @@ -565,7 +565,7 @@ get_info (void) } /* If we've already got a folder_list, free it up before starting - * the new one + * the new one */ if (folder_list != NULL) { @@ -613,8 +613,8 @@ get_info (void) } -/* - * erase() - erase file from camera corresponding to +/* + * erase() - erase file from camera corresponding to * current picture number. Does not update any of the other * backend data structures. */ @@ -689,7 +689,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback __sane_unused__ authorize /* Earlier versions why would try to keep going with compiled in * defaults if the config file is missing. But, now we have so * options and combinations of options, that success without a config - * file is unlikely. So, give and return failure + * file is unlikely. So, give and return failure */ DBG (0, "warning: %s: missing config file '%s'\n" "If you aren't using gphoto2, you should disable it in dll.conf.\n" @@ -794,7 +794,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback __sane_unused__ authorize /* Special case: Force port to special value for the * "Directory Browse" camera - overriding anything in * the config file - or more likely when not specified - * in the config file. + * in the config file. */ if (strcmp (Cam_data.camera_name, "Directory Browse") == 0) @@ -1086,14 +1086,14 @@ sane_control_option (SANE_Handle handle, SANE_Int option, else Cam_data.current_picture_number = Cam_data.pic_taken; - /* + /* * Setting a new image number could change image size (if * we supported that - which we hope to do someday! */ myinfo |= SANE_INFO_RELOAD_PARAMS; - /* get the image's resolution, unless the camera has no - * pictures yet + /* get the image's resolution, unless the camera has no + * pictures yet */ if (Cam_data.pic_taken != 0) { @@ -1141,7 +1141,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, if (gphoto2_opt_snap) { /* activate the resolution setting */ -/* Until we figure out how to do this +/* Until we figure out how to do this sod[GPHOTO2_OPT_LOWRES].cap &= ~SANE_CAP_INACTIVE; */ /* and de-activate the image number selector */ @@ -1151,7 +1151,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, { /* deactivate the resolution setting */ sod[GPHOTO2_OPT_LOWRES].cap |= SANE_CAP_INACTIVE; - /* and activate the image number selector, if there are + /* and activate the image number selector, if there are * pictures available */ if (Cam_data.current_picture_number) { @@ -1405,7 +1405,7 @@ sane_start (SANE_Handle handle) if (gphoto2_opt_snap) { /* - * Don't allow picture unless there is room in the + * Don't allow picture unless there is room in the * camera. */ if (Cam_data.pic_left == 0) @@ -1458,7 +1458,7 @@ sane_start (SANE_Handle handle) if ( converter_init (handle) != SANE_STATUS_GOOD ) return SANE_STATUS_INVAL; - /* Check if a linebuffer has been allocated. If we had one + /* Check if a linebuffer has been allocated. If we had one * previously, free it up and allocate one for (possibly) new * size. parms.bytes_per_line is set by converter_init() */ @@ -1588,7 +1588,7 @@ sane_get_select_fd (SANE_Handle __sane_unused__ handle, SANE_Int __sane_unused__ * get_pictures_info - load information about all pictures currently in * camera: Mainly the mapping of picture number * to picture name. We'ld like to get other - * information such as image size, but the API + * information such as image size, but the API * doesn't provide any support for that. */ static PictureInfo * @@ -1684,7 +1684,7 @@ snap_pic (void) return SANE_STATUS_INVAL; } - /* + /* * This is needed when the camera has no files and the first picture * is taken. I guess it's because a folder needs to be created and * the filesystem doesn't know about it. @@ -1699,9 +1699,9 @@ snap_pic (void) /* Can't just increment picture count, because if the camera has * zero pictures we may not know the folder name. Start over * with get_info and get_pictures_info. (We didn't have the call - * to init_gphoto2() here before, but that was causing us to not + * to init_gphoto2() here before, but that was causing us to not * see the new image - need to use a biggger hammer to get it to - * re-read the camera directory + * re-read the camera directory */ if (init_gphoto2 () != SANE_STATUS_GOOD) @@ -1772,7 +1772,7 @@ read_dir (SANE_String dir, SANE_Bool read_files) /* * read_info - read the info block from camera for the specified file - * NOT YET SUPPORTED - If it were we could use it to do things + * NOT YET SUPPORTED - If it were we could use it to do things * like update the image size parameters displayed by the GUI */ static SANE_Int @@ -1789,7 +1789,7 @@ read_info (SANE_String_Const fname) } /* - * set_res - set picture size depending on resolution settings + * set_res - set picture size depending on resolution settings */ static void set_res (SANE_Int __sane_unused__ lowres) @@ -1809,8 +1809,8 @@ set_res (SANE_Int __sane_unused__ lowres) } /* - * converter_do_scan_complete_cleanup - do everything that needs to be - * once a "scan" has been completed: Unref the file, Erase the image, + * converter_do_scan_complete_cleanup - do everything that needs to be + * once a "scan" has been completed: Unref the file, Erase the image, * and increment image number to point to next picture. */ static SANE_Status @@ -1902,17 +1902,17 @@ converter_do_scan_complete_cleanup (void) } /* - * converter_fill_buffer - Fill line buffer with next input line from image. - * Currently assumes jpeg, but this is where we would put the switch + * converter_fill_buffer - Fill line buffer with next input line from image. + * Currently assumes jpeg, but this is where we would put the switch * to handle other image types. */ static SANE_Int converter_fill_buffer (void) { -/* +/* * FIXME: Current implementation reads one scan line at a time. Part - * of the reason for this is in the original code is to give the frontend + * of the reason for this is in the original code is to give the frontend * a chance to update * the progress marker periodically. Since the gphoto2 * driver sucks in the whole image before decoding it, perhaps we could * come up with a simpler implementation. @@ -1927,8 +1927,8 @@ converter_fill_buffer (void) } /* - * converter_scan_complete - Check if all the data for the image has been read. - * Currently assumes jpeg, but this is where we would put the + * converter_scan_complete - Check if all the data for the image has been read. + * Currently assumes jpeg, but this is where we would put the * switch to handle other image types. */ static SANE_Bool @@ -1946,7 +1946,7 @@ converter_scan_complete (void) /* * converter_init - Initialize image conversion data. - * Currently assumes jpeg, but this is where we would put the + * Currently assumes jpeg, but this is where we would put the * switch to handle other image types. */ static SANE_Status diff --git a/backend/gphoto2.conf.in b/backend/gphoto2.conf.in index f5a660a..646fa76 100644 --- a/backend/gphoto2.conf.in +++ b/backend/gphoto2.conf.in @@ -1,23 +1,23 @@ # Interface port where the camera is connected -# This should be one of the values returned by "gphoto2 --list-ports", +# This should be one of the values returned by "gphoto2 --list-ports", # such # as serial:/dev/ttyS6 or usb: port=serial:/dev/ttyd1 -# Port speed. This should be one of the values returned by +# Port speed. This should be one of the values returned by # "gphoto2 --abilities" speed=115200 -# Name of camera. This should be one of the values returned by +# Name of camera. This should be one of the values returned by # "gphoto2 --list-cameras" camera=Kodak DC240 -# Prints some extra information during the init phase. +# Prints some extra information during the init phase. dumpinquiry -# The resolution should be the maximum resolution supported by the +# The resolution should be the maximum resolution supported by the # camera. It's not really used for much, since the actual size will be # reported by the camera when the download starts. But it may be useful -# for the frontend to have a clue prior to the download. (e.g. it +# for the frontend to have a clue prior to the download. (e.g. it # may want to create an image window, or report the maximum file size. # Width x Height. resolution=1280x960 @@ -27,6 +27,6 @@ thumb_resolution=160x120 # top-level (fixed) folder directory in camera. Backend assumes # that there is one variable directory under this (e.g. 100DC240) -# which will be read from the camera, and all the images in the -# camera are under that. +# which will be read from the camera, and all the images in the +# camera are under that. topfolder=/DCIM diff --git a/backend/gphoto2.h b/backend/gphoto2.h index 60591cf..b792875 100644 --- a/backend/gphoto2.h +++ b/backend/gphoto2.h @@ -47,12 +47,12 @@ 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. + If you do not wish that, delete this exception notice. *************************************************************************** This file implements a SANE backend for the Kodak DC-240 - digital camera. THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!! + digital camera. THIS IS EXTREMELY ALPHA CODE! USE AT YOUR OWN RISK!! (feedback to: gphoto2-devel@fales-lorenz.net) diff --git a/backend/gt68xx.c b/backend/gt68xx.c index 13efe91..fb3bfb4 100644 --- a/backend/gt68xx.c +++ b/backend/gt68xx.c @@ -2,46 +2,46 @@ Copyright (C) 2002 Sergey Vlasov Copyright (C) 2002 - 2007 Henning Geinitz - Copyright (C) 2009 Stphane Voltz for sheetfed + Copyright (C) 2009 Stéphane Voltz for sheetfed calibration code. 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ /* @@ -162,13 +162,6 @@ static SANE_Range y_range = { SANE_FIX (0.0) /* quantization */ }; - -static const SANE_Range offset_range = { - -63, /* minimum */ - 63, /* maximum */ - 1 /* quantization */ -}; - static SANE_Range gamma_range = { SANE_FIX (0.01), /* minimum */ SANE_FIX (5.0), /* maximum */ @@ -756,7 +749,7 @@ init_options (GT68xx_Scanner * s) s->opt[OPT_SENSOR_GROUP].desc = SANE_DESC_SENSORS; s->opt[OPT_SENSOR_GROUP].type = SANE_TYPE_GROUP; s->opt[OPT_SENSOR_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - + /* calibration needed */ s->opt[OPT_NEED_CALIBRATION_SW].name = "need-calibration"; s->opt[OPT_NEED_CALIBRATION_SW].title = SANE_I18N ("Need calibration"); @@ -1487,7 +1480,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) DBG (0, "WARNING: Your scanner is not fully supported or at least \n"); DBG (0, " had only limited testing. Please be careful and \n"); DBG (0, " report any failure/success to \n"); - DBG (0, " sane-devel@lists.alioth.debian.org. Please provide as many\n"); + DBG (0, " sane-devel@alioth-lists.debian.net. Please provide as many\n"); DBG (0, " details as possible, e.g. the exact name of your\n"); DBG (0, " scanner and what does (not) work.\n"); } @@ -1502,7 +1495,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) DBG (0, " the scanner immediately if you hear unusual noise. \n"); DBG (0, " Please report any success to \n"); - DBG (0, " sane-devel@lists.alioth.debian.org. Please provide as many\n"); + DBG (0, " sane-devel@alioth-lists.debian.net. Please provide as many\n"); DBG (0, " details as possible, e.g. the exact name of your\n"); DBG (0, " scanner, ids, settings etc.\n"); @@ -1616,7 +1609,7 @@ sane_close (SANE_Handle handle) gt68xx_device_lamp_control (s->dev, SANE_FALSE, SANE_FALSE); dev = s->dev; - + free (s->val[OPT_MODE].s); free (s->val[OPT_GRAY_MODE_COLOR].s); free (s->val[OPT_SOURCE].s); @@ -1624,7 +1617,7 @@ sane_close (SANE_Handle handle) free ((void *)(size_t)s->opt[OPT_RESOLUTION].constraint.word_list); gt68xx_scanner_free (s); - + gt68xx_device_fix_descriptor (dev); gt68xx_device_deactivate (dev); @@ -1859,7 +1852,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, status = gt68xx_sheetfed_scanner_calibrate (s); myinfo |= SANE_INFO_RELOAD_OPTIONS; break; - + case OPT_CLEAR_CALIBRATION: gt68xx_clear_calibration (s); myinfo |= SANE_INFO_RELOAD_OPTIONS; @@ -2045,14 +2038,14 @@ sane_start (SANE_Handle handle) { /* compute scan parameters */ scan_request.calculate = SANE_TRUE; - gt68xx_device_setup_scan (s->dev, &scan_request, SA_SCAN, &scan_params); + gt68xx_device_setup_scan (s->dev, &scan_request, SA_SCAN, &scan_params); /* restore settings from calibration stored */ memcpy(s->dev->afe,&(s->afe_params), sizeof(GT68xx_AFE_Parameters)); RIE (gt68xx_assign_calibration (s, scan_params)); scan_request.calculate = SANE_FALSE; } - + /* send scan request to the scanner */ RIE (gt68xx_scanner_start_scan (s, &scan_request, &scan_params)); @@ -2331,7 +2324,7 @@ sane_cancel (SANE_Handle handle) if (s->dev->model->flags & GT68XX_FLAG_SHEET_FED) { gt68xx_device_paperfeed (s->dev); - } + } else { sanei_usb_set_timeout (SHORT_TIMEOUT); diff --git a/backend/gt68xx.conf.in b/backend/gt68xx.conf.in index 4affdcc..e9a9706 100644 --- a/backend/gt68xx.conf.in +++ b/backend/gt68xx.conf.in @@ -6,8 +6,8 @@ # Manual configuration is necessary for some scanners. Please uncomment the # override line and optinally the vendor and product lines that apply to your -# scanner. For some scanners it's also necessary to change the name of the -# firmware file. +# scanner. For some scanners it's also necessary to change the name of the +# firmware file. ############################################################################# # For testing scanners that are not yet supported by this backend add the @@ -43,32 +43,32 @@ usb 0x05d8 0x4002 #override "mustek-scanexpress-2400-usb" # Artec Ultima 2000: -#override "artec-ultima-2000" +#override "artec-ultima-2000" #firmware "ePlus2k.usb" # Artec Ultima 2000e+: -#override "artec-ultima-2000" +#override "artec-ultima-2000" #firmware "ePlus2k.usb" #vendor "Artec" #model "Ultima 2000e+" # Boeder SmartScan Slim Edition: -#override "artec-ultima-2000" +#override "artec-ultima-2000" #vendor "Boeder" #model "SmartScan Slim Edition" # Medion/Lifetec/Tevion/Cytron MD/LT 9385: -#override "artec-ultima-2000" +#override "artec-ultima-2000" #vendor "Medion" #model "MD/LT 9385" # Medion/Lifetec/Tevion/Cytron MD 9458: -#override "artec-ultima-2000" +#override "artec-ultima-2000" #vendor "Medion" #model "MD 9458" # Trust Flat Scan USB 19200: -#override "artec-ultima-2000" +#override "artec-ultima-2000" #vendor "Trust" #model "Flat Scan USB 19200" @@ -196,6 +196,11 @@ usb 0x07b3 0x045f # Autodetect NeatReceipts Mobile Scanner usb 0x07b3 0x0462 +############################################################################## +# Autodetect Plustek OpticSlim 500 Plus +usb 0x07b3 0x046e +override "plustek-opticslim-500plus" + ############################################################################## # Autodetect Plustek OpticSlim 1200 usb 0x07b3 0x0413 diff --git a/backend/gt68xx.h b/backend/gt68xx.h index 20f8c6c..96ad418 100644 --- a/backend/gt68xx.h +++ b/backend/gt68xx.h @@ -1,44 +1,44 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2002 Sergey Vlasov - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ #ifndef GT68XX_H diff --git a/backend/gt68xx_devices.c b/backend/gt68xx_devices.c index 1239190..2df24f6 100644 --- a/backend/gt68xx_devices.c +++ b/backend/gt68xx_devices.c @@ -2,44 +2,44 @@ Copyright (C) 2002 Sergey Vlasov Copyright (C) 2002 - 2007 Henning Geinitz - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ /* Scanner-specific data */ @@ -406,7 +406,7 @@ static GT68xx_Model mustek_2448taplus_model = { SANE_FALSE, /* Is this a CIS scanner? */ GT68XX_FLAG_NO_STOP /* Which flags are needed for this scanner? */ - /* Based on data from Jakub Dvo?k . */ + /* Based on data from Jakub Dvořák . */ }; static GT68xx_Model mustek_1200ta_model = { @@ -805,6 +805,54 @@ static GT68xx_Model artec_ultima2000_model = { /* Setup for Cytron TCM MD 9385 */ }; +static GT68xx_Model plustek_opticslim500plus_model = { + "plustek-opticslim-500plus", /* Name */ + "Plustek", /* Device vendor string */ + "OpticSlim 500 Plus", /* Device model name */ + "cis3R5B1.fw", /* Name of the firmware file */ + SANE_FALSE, /* Dynamic allocation flag */ + + &mustek_gt6816_command_set, /* Command set used by this scanner */ + + 600, /* maximum optical sensor resolution */ + 1200, /* maximum motor resolution */ + 600, /* base x-res used to calculate geometry */ + 600, /* base y-res used to calculate geometry */ + 1200, /* if ydpi is equal or higher, disable backtracking */ + SANE_FALSE, /* Use base_ydpi for all resolutions */ + + {600, 300, 150, 75, 50, 0}, /* possible x-resolutions */ + {1200, 600, 300, 150, 75, 50, 0},/* possible y-resolutions */ + {16, 8, 0}, /* possible depths in gray mode */ + {16, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (1.0), /* Start of scan area in mm (x) */ + SANE_FIX (9.5), /* Start of scan area in mm (y) */ + SANE_FIX (218.0), /* Size of scan area in mm (x) */ + SANE_FIX (142.0), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (0.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ + 0, /* CCD distcance for CCD with 6 lines) */ + + COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ + {0x32, 0x02, 0x26, 0x07, 0x26, 0x09}, /* Default offset/gain */ + {0x127, 0x127, 0x127}, /* Default exposure parameters */ + SANE_FIX (1.5), /* Default gamma value */ + + SANE_TRUE, /* Is this a CIS scanner? */ + GT68XX_FLAG_NO_CALIBRATE /* Which flags are needed for this scanner? */ +}; + static GT68xx_Model mustek_2400cu_model = { "mustek-bearpaw-2400-cu", /* Name */ "Mustek", /* Device vendor string */ @@ -1930,6 +1978,7 @@ static GT68xx_USB_Device_Entry gt68xx_usb_device_list[] = { {0x07b3, 0x040b, &plustek_ops12_model}, {0x07b3, 0x040e, &plustek_ops24_model}, {0x07b3, 0x0412, &plustek_opticslim_m12_model}, + {0x07b3, 0x046e, &plustek_opticslim500plus_model}, {0x07b3, 0x0413, &plustek_opticslim1200_model}, {0x07b3, 0x0422, &plustek_opticslim2400_model}, {0x07b3, 0x045f, &iriscan_express_2_model}, diff --git a/backend/gt68xx_generic.c b/backend/gt68xx_generic.c index f5e5bb6..9fd8006 100644 --- a/backend/gt68xx_generic.c +++ b/backend/gt68xx_generic.c @@ -2,44 +2,44 @@ Copyright (C) 2002 Sergey Vlasov Copyright (C) 2005-2007 Henning Geinitz - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ /** @file @@ -112,7 +112,7 @@ gt68xx_generic_fix_gain (SANE_Int gain) gain += 12; else if (gain > 51) gain = 63; - + return gain; } @@ -330,7 +330,7 @@ gt68xx_generic_setup_scan (GT68xx_Device * dev, request->mbs = SANE_TRUE; } } - + } else { @@ -571,7 +571,7 @@ gt68xx_generic_setup_scan (GT68xx_Device * dev, motor_mode_2 = (request->lamp ? 0 : 1) << 0; motor_mode_2 |= (line_mode ? 0 : 1) << 2; - if ((action != SA_SCAN) + if ((action != SA_SCAN) && (strcmp (dev->model->command_set->name, "mustek-gt6816") == 0)) motor_mode_2 |= 1 << 3; @@ -657,11 +657,11 @@ gt68xx_generic_move_paper (GT68xx_Device * dev, if (ydpi > model->base_ydpi) ydpi = base_ydpi; - + pixel_y0 = SANE_UNFIX ((request->y0 + model->y_offset)) * ydpi / MM_PER_INCH + 0.5; abs_y0 = pixel_y0 * base_ydpi / ydpi; - + DBG (6, "gt68xx_generic_move_paper: base_ydpi=%d\n", base_ydpi); DBG (6, "gt68xx_generic_move_paper: ydpi=%d\n", ydpi); DBG (6, "gt68xx_generic_move_paper: abs_y0=%d\n", abs_y0); diff --git a/backend/gt68xx_generic.h b/backend/gt68xx_generic.h index 01ecff9..2008974 100644 --- a/backend/gt68xx_generic.h +++ b/backend/gt68xx_generic.h @@ -1,44 +1,44 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2002 Sergey Vlasov - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ #ifndef GT68XX_GENERIC_H diff --git a/backend/gt68xx_gt6801.c b/backend/gt68xx_gt6801.c index d61729c..c0a6288 100644 --- a/backend/gt68xx_gt6801.c +++ b/backend/gt68xx_gt6801.c @@ -3,44 +3,44 @@ Copyright (C) 2002 Sergey Vlasov GT6801 support by Andreas Nowack Copyright (C) 2002-2007 Henning Geinitz - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ /** @file @@ -143,7 +143,7 @@ gt6801_download_firmware (GT68xx_Device * dev, * For GT6816 this was: * if (memcmp (block, check_buf, block_size) != 0) ... * Apparently the GT6801 does something different... - * + * * hmg: For my BP 1200 CU the result is 00 09 so maybe only the 0 is * relevant? */ diff --git a/backend/gt68xx_gt6801.h b/backend/gt68xx_gt6801.h index 750ce39..d6d1ceb 100644 --- a/backend/gt68xx_gt6801.h +++ b/backend/gt68xx_gt6801.h @@ -2,44 +2,44 @@ Copyright (C) 2002 Sergey Vlasov GT6801 support by Andreas Nowack - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ #ifndef GT68XX_GT6801_H diff --git a/backend/gt68xx_gt6816.c b/backend/gt68xx_gt6816.c index 045194a..a7880bd 100644 --- a/backend/gt68xx_gt6816.c +++ b/backend/gt68xx_gt6816.c @@ -2,44 +2,44 @@ Copyright (C) 2002 Sergey Vlasov Copyright (C) 2002-2007 Henning Geinitz - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ /** @file diff --git a/backend/gt68xx_gt6816.h b/backend/gt68xx_gt6816.h index 7b72071..f941811 100644 --- a/backend/gt68xx_gt6816.h +++ b/backend/gt68xx_gt6816.h @@ -1,44 +1,44 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2002 Sergey Vlasov - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ #ifndef GT68XX_GT6816_H diff --git a/backend/gt68xx_high.c b/backend/gt68xx_high.c index 25885b0..782b4f3 100644 --- a/backend/gt68xx_high.c +++ b/backend/gt68xx_high.c @@ -3,46 +3,46 @@ Copyright (C) 2002 Sergey Vlasov AFE offset/gain setting by David Stevenson Copyright (C) 2002 - 2007 Henning Geinitz - Copyright (C) 2009 Stphane Voltz for sheetfed + Copyright (C) 2009 Stéphane Voltz for sheetfed calibration code. 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ #include "gt68xx_high.h" @@ -560,7 +560,7 @@ gt68xx_scanner_start_scan_extended (GT68xx_Scanner * scanner, return status; } - if (scanner->dev->model->is_cis + if (scanner->dev->model->is_cis && !((scanner->dev->model->flags & GT68XX_FLAG_SHEET_FED) && scanner->calibrated == SANE_FALSE)) { status = @@ -1016,7 +1016,7 @@ struct GT68xx_Afe_Values /** Calculate average black and maximum white * * This function is used for CCD scanners. The black mark to the left ist used - * for the calculation of average black. The remaining calibration strip + * for the calculation of average black. The remaining calibration strip * is used for searching the segment whose white average is the highest. * * @param values AFE values @@ -1189,7 +1189,7 @@ finish: /* Wait for lamp to give stable brightness */ static SANE_Status -gt68xx_wait_lamp_stable (GT68xx_Scanner * scanner, +gt68xx_wait_lamp_stable (GT68xx_Scanner * scanner, GT68xx_Scan_Parameters * params, GT68xx_Scan_Request *request, unsigned int *buffer_pointers[3], @@ -1848,6 +1848,11 @@ gt68xx_afe_cis_auto (GT68xx_Scanner * scanner) DBG (5, "gt68xx_afe_cis_auto: start\n"); + if (scanner->dev->model->flags & GT68XX_FLAG_NO_CALIBRATE) + { + return SANE_STATUS_GOOD; + } + memset (&old_afe, 255, sizeof (old_afe)); /* Start with the preset exposure settings */ @@ -2006,7 +2011,7 @@ gt68xx_calibrator_create_copy (GT68xx_Calibrator ** calibrator, return status; } - + static SANE_Status gt68xx_sheetfed_move_to_scan_area (GT68xx_Scanner * scanner, GT68xx_Scan_Request * request) @@ -2032,8 +2037,8 @@ gt68xx_sheetfed_move_to_scan_area (GT68xx_Scanner * scanner, * target (which may be a blank page). It first move to a white area then * does afe and exposure calibration. Then it scans white lines to get data * for shading correction. - * @param scanner structure describing the frontend session and the device - * @return SANE_STATUS_GOOD is everything goes right, SANE_STATUS_INVAL + * @param scanner structure describing the frontend session and the device + * @return SANE_STATUS_GOOD is everything goes right, SANE_STATUS_INVAL * otherwise. */ static SANE_Status @@ -2349,10 +2354,10 @@ gt68xx_sheetfed_scanner_calibrate (GT68xx_Scanner * scanner) /** @brief assign calibration for scan * This function creates the calibrators and set up afe for the requested - * scan. It uses calibration data that has been created by + * scan. It uses calibration data that has been created by * gt68xx_sheetfed_scanner_calibrate. - * @param scanner structure describing the frontend session and the device - * @return SANE_STATUS_GOOD is everything goes right, SANE_STATUS_INVAL + * @param scanner structure describing the frontend session and the device + * @return SANE_STATUS_GOOD is everything goes right, SANE_STATUS_INVAL * otherwise. */ static SANE_Status diff --git a/backend/gt68xx_high.h b/backend/gt68xx_high.h index d830e96..da4ab6a 100644 --- a/backend/gt68xx_high.h +++ b/backend/gt68xx_high.h @@ -2,44 +2,44 @@ Copyright (C) 2002 Sergey Vlasov Copyright (C) 2002-2007 Henning Geinitz - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ #ifndef GT68XX_HIGH_H @@ -77,11 +77,11 @@ struct GT68xx_Calibrator /** Calibration data for a given resolution */ struct GT68xx_Calibration -{ +{ SANE_Int dpi; /**< optical horizontal dpi used to build the calibration data */ SANE_Int pixel_x0; /**< x start position used at calibration time */ - + GT68xx_Calibrator *gray; /**< Calibrator for grayscale data */ GT68xx_Calibrator *red; /**< Calibrator for the red channel */ GT68xx_Calibrator *green; /**< Calibrator for the green channel */ diff --git a/backend/gt68xx_low.c b/backend/gt68xx_low.c index 6060c45..3ea4590 100644 --- a/backend/gt68xx_low.c +++ b/backend/gt68xx_low.c @@ -2,44 +2,44 @@ Copyright (C) 2002 Sergey Vlasov Copyright (C) 2002 - 2007 Henning Geinitz - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ /** @file @@ -1023,7 +1023,7 @@ gt68xx_device_get_id (GT68xx_Device * dev) return SANE_STATUS_UNSUPPORTED; } -static void +static void gt68xx_device_fix_descriptor (GT68xx_Device * dev) { SANE_Byte data[8]; diff --git a/backend/gt68xx_low.h b/backend/gt68xx_low.h index 0743230..89bd365 100644 --- a/backend/gt68xx_low.h +++ b/backend/gt68xx_low.h @@ -2,44 +2,44 @@ Copyright (C) 2002 Sergey Vlasov Copyright (C) 2002 - 2007 Henning Geinitz - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ #ifndef GT68XX_LOW_H @@ -112,6 +112,9 @@ #define GT68XX_FLAG_SHEET_FED (1 << 12) /* we have a sheet fed scanner */ #define GT68XX_FLAG_HAS_CALIBRATE (1 << 13) /* for sheet fed scanners that be calibrated with an calibration sheet */ +#define GT68XX_FLAG_NO_CALIBRATE (1 << 14) /* don't calibrate, because calibration is broken */ + + /* Forward typedefs */ typedef struct GT68xx_USB_Device_Entry GT68xx_USB_Device_Entry; @@ -162,7 +165,7 @@ struct GT68xx_USB_Device_Entry /** List of all supported devices. * - * This is an array of GT68xx_USB_Device_Entry structures which describe + * This is an array of GT68xx_USB_Device_Entry structures which describe * USB devices supported by this backend. The array is terminated by an * entry with model = NULL. * @@ -319,7 +322,7 @@ struct GT68xx_Command_Set SANE_Status (*lamp_control) (GT68xx_Device * dev, SANE_Bool fb_lamp, SANE_Bool ta_lamp); - /** Check whether the scanner carriage is still moving. + /** Check whether the scanner carriage is still moving. * * @param dev Device object. * @param moving Returned state of the scanner: @@ -400,7 +403,7 @@ struct GT68xx_Command_Set /** Detect if a document is inserted in the feeder * * @param dev Device object. - * @param present + * @param present */ SANE_Status (*document_present) (GT68xx_Device * dev, SANE_Bool *present); @@ -564,7 +567,7 @@ struct GT68xx_Scan_Request * * These parameters describe a low-level scan request; many such requests are * executed during calibration, and they need to have parameters separate from - * the main request (GT68xx_Scan_Request). + * the main request (GT68xx_Scan_Request). */ struct GT68xx_Scan_Parameters { @@ -883,7 +886,7 @@ static SANE_Status gt68xx_device_lamp_control (GT68xx_Device * dev, SANE_Bool fb_lamp, SANE_Bool ta_lamp); -/** Check whether the scanner carriage is still moving. +/** Check whether the scanner carriage is still moving. * * @param dev Device object. * @param moving Returned state of the scanner: @@ -1067,7 +1070,7 @@ static SANE_Status gt68xx_device_read_finish (GT68xx_Device * dev); * * @param res Result packet from the last command * @param command Command - * + * * @return * - #SANE_STATUS_GOOD - success. * - #SANE_STATUS_IO_ERROR - the command wasn't successful @@ -1076,7 +1079,7 @@ static SANE_Status gt68xx_device_check_result (GT68xx_Packet res, SANE_Byte command); -static SANE_Status +static SANE_Status gt68xx_device_get_id (GT68xx_Device * dev); /** Read the device descriptor of the scanner. @@ -1088,7 +1091,7 @@ gt68xx_device_get_id (GT68xx_Device * dev); * * @param dev device */ -static void +static void gt68xx_device_fix_descriptor (GT68xx_Device * dev); #endif /* not GT68XX_LOW_H */ diff --git a/backend/gt68xx_mid.c b/backend/gt68xx_mid.c index 1301139..0d5cbe4 100644 --- a/backend/gt68xx_mid.c +++ b/backend/gt68xx_mid.c @@ -2,44 +2,44 @@ Copyright (C) 2002 Sergey Vlasov Copyright (C) 2002-2007 Henning Geinitz - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ #include "gt68xx_mid.h" diff --git a/backend/gt68xx_mid.h b/backend/gt68xx_mid.h index 4ba6c4c..2bbaac2 100644 --- a/backend/gt68xx_mid.h +++ b/backend/gt68xx_mid.h @@ -1,44 +1,44 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2002 Sergey Vlasov - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ #ifndef GT68XX_MID_H diff --git a/backend/gt68xx_shm_channel.c b/backend/gt68xx_shm_channel.c index bca7425..496a959 100644 --- a/backend/gt68xx_shm_channel.c +++ b/backend/gt68xx_shm_channel.c @@ -1,44 +1,44 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2002 Sergey Vlasov - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ /** @file diff --git a/backend/gt68xx_shm_channel.h b/backend/gt68xx_shm_channel.h index c6cfdff..54b5eca 100644 --- a/backend/gt68xx_shm_channel.h +++ b/backend/gt68xx_shm_channel.h @@ -1,44 +1,44 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2002 Sergey Vlasov - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ #ifndef GT68XX_SHM_CHANNEL_H diff --git a/backend/hp-device.c b/backend/hp-device.c index 6a50f84..30e7a79 100644 --- a/backend/hp-device.c +++ b/backend/hp-device.c @@ -471,4 +471,3 @@ sanei_hp_device_sanedevice (HpDevice this) { return &this->sanedev; } - diff --git a/backend/hp-handle.c b/backend/hp-handle.c index ec8adbc..63e9fcb 100644 --- a/backend/hp-handle.c +++ b/backend/hp-handle.c @@ -227,16 +227,9 @@ hp_handle_stopScan (HpHandle this) { int info; DBG(3, "hp_handle_stopScan: killing child (%ld)\n", (long) this->reader_pid); - if (this->child_forked) - { - kill(this->reader_pid, SIGTERM); - waitpid(this->reader_pid, &info, 0); - } - else - { - sanei_thread_kill (this->reader_pid); - sanei_thread_waitpid(this->reader_pid, &info); - } + sanei_thread_kill (this->reader_pid); + sanei_thread_waitpid(this->reader_pid, &info); + DBG(1, "hp_handle_stopScan: child %s = %d\n", WIFEXITED(info) ? "exited, status" : "signalled, signal", WIFEXITED(info) ? WEXITSTATUS(info) : WTERMSIG(info)); @@ -746,10 +739,7 @@ sanei_hp_handle_cancel (HpHandle this) { DBG(3,"sanei_hp_handle_cancel: send SIGTERM to child (%ld)\n", (long) this->reader_pid); - if (this->child_forked) - kill(this->reader_pid, SIGTERM); - else - sanei_thread_kill(this->reader_pid); + sanei_thread_kill(this->reader_pid); } } diff --git a/backend/hp-option.c b/backend/hp-option.c index ba799b7..f4d23f8 100644 --- a/backend/hp-option.c +++ b/backend/hp-option.c @@ -851,16 +851,19 @@ _probe_resolution (_HpOption this, HpScsi scsi, HpOptSet __sane_unused__ optset, if ( (sanei_hp_device_probe (&compat, scsi) == SANE_STATUS_GOOD) && (compat & HP_COMPAT_PS) ) - {int val, mi, ma; + { + int val, mi, ma; - if ( (sanei_hp_scl_inquire(scsi, SCL_MEDIA, &val, &mi, &ma) + if ( (sanei_hp_scl_inquire(scsi, SCL_MEDIA, &val, &mi, &ma) == SANE_STATUS_GOOD) - && ((val == HP_MEDIA_SLIDE) || (val == HP_MEDIA_NEGATIVE)) ) - quant = 300; - minval = (minval+quant-1)/quant; - minval *= quant; - maxval = (maxval+quant-1)/quant; - maxval *= quant; + && ((val == HP_MEDIA_SLIDE) || (val == HP_MEDIA_NEGATIVE)) ) + { + quant = 300; + minval = (minval+quant-1)/quant; + minval *= quant; + maxval = (maxval+quant-1)/quant; + maxval *= quant; + } } DBG(5, "_probe_resolution: set range %d..%d, quant=%d\n",minval,maxval,quant); @@ -2431,7 +2434,7 @@ _program_scan_type (HpOption this, HpScsi scsi, HpOptSet optset, HpData data) sanei_hp_scl_set(scsi, SCL_TONE_MAP, -1); /* Select tone map */ } } - + return SANE_STATUS_GOOD; } diff --git a/backend/hp-scl.c b/backend/hp-scl.c index f1813c7..a7376e6 100644 --- a/backend/hp-scl.c +++ b/backend/hp-scl.c @@ -553,7 +553,7 @@ hp_scsi_close (HpScsi this, int completely) DBG(3, "scsi_close: not closing. Keep open\n"); return; } - + } assert(this->fd >= 0); diff --git a/backend/hp.README b/backend/hp.README index 756ddca..0727221 100644 --- a/backend/hp.README +++ b/backend/hp.README @@ -51,7 +51,7 @@ to xhp just to get a better acceptance. Test support of commands to be independant from inquired model number. - + Wed Mar 28 10:00:00 UT+1 1998 Bring it on its way to the SANE-project. Geoffrey accepted to add diff --git a/backend/hp.c b/backend/hp.c index f00b82d..f6a3637 100644 --- a/backend/hp.c +++ b/backend/hp.c @@ -73,7 +73,7 @@ static char *hp_backend_revision = "$Revision$"; Revision 1.17 2003/10/06 19:54:07 kig-guest Bug #300248: correct "Negatives" to "Negative" in option description - + V 1.04, 24-Jul-2003, PK (peter@kirchgessner.net) - Add internationalization diff --git a/backend/hp3500.c b/backend/hp3500.c index 26fe071..fc2c6b5 100644 --- a/backend/hp3500.c +++ b/backend/hp3500.c @@ -253,7 +253,7 @@ static const SANE_Device **devlist = 0; /** * Called by SANE initially. - * + * * From the SANE spec: * This function must be called before any other SANE function can be * called. The behavior of a SANE backend is undefined if this @@ -287,7 +287,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) /** * Called by SANE to find out about supported devices. - * + * * From the SANE spec: * This function can be used to query the list of devices that are * available. If the function executes successfully, it stores a @@ -300,7 +300,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) * returned (devices directly attached to the machine that SANE is * running on). If it is false, the device list includes all remote * devices that are accessible to the SANE library. - * + * * SANE does not require that this function is called before a * sane_open() call is performed. A device name may be specified * explicitly by a user which would make it unnecessary and @@ -452,7 +452,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /** * Gets or sets an option value. - * + * * From the SANE spec: * This function is used to set or inquire the current value of option * number n of the device represented by handle h. The manner in which @@ -463,7 +463,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) * area pointed to by v must be big enough to hold the entire option * value (determined by member size in the corresponding option * descriptor). - * + * * The only exception to this rule is that when setting the value of a * string option, the string pointed to by argument v may be shorter * since the backend will stop reading the option value upon @@ -751,7 +751,7 @@ sane_start (SANE_Handle handle) * completion of that request. Outside of that window, the returned * values are best-effort estimates of what the parameters will be * when sane_start() gets invoked. - * + * * Calling this function before a scan has actually started allows, * for example, to get an estimate of how big the scanned image will * be. The parameters passed to this function are the handle h of the @@ -788,12 +788,12 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) /** * Called by SANE to read data. - * + * * In this implementation, sane_read does nothing much besides reading * data from a pipe and handing it back. On the other end of the pipe * there's the reader process which gets data from the scanner and * stuffs it into the pipe. - * + * * From the SANE spec: * This function is used to read image data from the device * represented by handle h. Argument buf is a pointer to a memory @@ -801,7 +801,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) * returned is stored in *len. A backend must set this to zero when * the call fails (i.e., when a status other than SANE_STATUS_GOOD is * returned). - * + * * When the call succeeds, the number of bytes returned can be * anywhere in the range from 0 to maxlen bytes. */ @@ -846,26 +846,26 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, /** - * Cancels a scan. + * Cancels a scan. * * It has been said on the mailing list that sane_cancel is a bit of a * misnomer because it is routinely called to signal the end of a * batch - quoting David Mosberger-Tang: - * + * * > In other words, the idea is to have sane_start() be called, and * > collect as many images as the frontend wants (which could in turn * > consist of multiple frames each as indicated by frame-type) and - * > when the frontend is done, it should call sane_cancel(). + * > when the frontend is done, it should call sane_cancel(). * > Sometimes it's better to think of sane_cancel() as "sane_stop()" * > but that name would have had some misleading connotations as * > well, that's why we stuck with "cancel". - * + * * The current consensus regarding duplex and ADF scans seems to be * the following call sequence: sane_start; sane_read (repeat until * EOF); sane_start; sane_read... and then call sane_cancel if the * batch is at an end. I.e. do not call sane_cancel during the run but * as soon as you get a SANE_STATUS_NO_DOCS. - * + * * From the SANE spec: * This function is used to immediately or as quickly as possible * cancel the currently pending operation of the device represented by @@ -892,7 +892,7 @@ sane_cancel (SANE_Handle h) /** * Ends use of the scanner. - * + * * From the SANE spec: * This function terminates the association between the device handle * passed in argument h and the device it represents. If the device is @@ -910,7 +910,7 @@ sane_close (SANE_Handle handle) /** * Terminates the backend. - * + * * From the SANE spec: * This function must be called to terminate use of a backend. The * function will first close all device handles that still might be @@ -1134,7 +1134,7 @@ do_cancel (struct hp3500_data *scanner) sanei_thread_waitpid (scanner->reader_pid, &exit_status); } - scanner->reader_pid = -1; + sanei_thread_invalidate (scanner->reader_pid); } if (scanner->pipe_r >= 0) { @@ -1149,7 +1149,7 @@ calculateDerivedValues (struct hp3500_data *scanner) DBG (12, "calculateDerivedValues\n"); - /* Convert the SANE_FIXED values for the scan area into 1/1200 inch + /* Convert the SANE_FIXED values for the scan area into 1/1200 inch * scanner units */ scanner->fullres_pixels.left = @@ -3139,7 +3139,7 @@ rts8801_fullscan (unsigned x, tg_setting = resparms[rmres].tg; rt_set_ccd_shift_clock_multiplier (regs, tg_info[tg_setting].tg_cph0p); rt_set_ccd_clock_reset_interval (regs, tg_info[tg_setting].tg_crsp); - rt_set_ccd_clamp_clock_multiplier (regs, tg_info[tg_setting].tg_cclpp); + rt_set_ccd_clamp_clock_multiplier (regs, tg_info[tg_setting].tg_cclpp); rt_set_one_register (0xc6, 0); rt_set_one_register (0xc6, 0); @@ -3386,7 +3386,7 @@ rts8801_scan (unsigned x, iCalibY = (resolution == 25) ? 1 : 2; iCalibTarget = 550; - + rt_turn_off_lamp(); for (i = 0; i < 6; ++i) @@ -3394,7 +3394,7 @@ rts8801_scan (unsigned x, aiBestOffset[i] = 0xbf; aiPassed[i] = 0; } - + do { DBG (30, "Initial calibration pass commences\n"); @@ -3405,7 +3405,7 @@ rts8801_scan (unsigned x, calib_info[i * 3] = aiBestOffset[i]; calib_info[i * 3 + 1] = aiBestOffset[i + 3]; } - + cd.buffer = calibbuf; cd.space = sizeof (calibbuf); DBG (30, "Commencing scan for initial calibration pass\n"); @@ -3453,7 +3453,7 @@ rts8801_scan (unsigned x, calib_info[i * 3 + 2] = 1; aiPassed[i] = 0; } - + do { struct dcalibdata dcdt; @@ -3782,12 +3782,14 @@ writefunc (struct hp3500_write_info *winfo, int bytes, char *data) return write (winfo->scanner->pipe_w, data, bytes) == bytes; } +#ifdef _POSIX_SOURCE static void sigtermHandler (int signal) { signal = signal; /* get rid of compiler warning */ cancelled_scan = 1; } +#endif static int reader_process (void *pv) diff --git a/backend/hp3900.conf.in b/backend/hp3900.conf.in index 2de0001..0b0262b 100644 --- a/backend/hp3900.conf.in +++ b/backend/hp3900.conf.in @@ -28,4 +28,3 @@ usb 0x06dc 0x0020 # BenQ 5550 usb 0x04a5 0x2211 - diff --git a/backend/hp3900_config.c b/backend/hp3900_config.c index 3c0ed77..830243b 100644 --- a/backend/hp3900_config.c +++ b/backend/hp3900_config.c @@ -243,7 +243,7 @@ enum fcsec6 CALIBOFFSET2ON, OFFSETTUNESTEP2, OFFSETBOUNDARYRATIO2, OFFSETAVGRATIO2, - + OFFSETEVEN2R, OFFSETEVEN2G, OFFSETEVEN2B, OFFSETODD2R, OFFSETODD2G, OFFSETODD2B, @@ -5622,7 +5622,7 @@ static int fitcalibrate_get(int section, int option, int defvalue) case SCANINFO: rst = fc_scaninfo_get(option, defvalue); break; } - + return rst; } diff --git a/backend/hp3900_debug.c b/backend/hp3900_debug.c index eb7d45c..b8cd8f1 100644 --- a/backend/hp3900_debug.c +++ b/backend/hp3900_debug.c @@ -764,7 +764,7 @@ dbg_buffer (SANE_Int level, char *title, SANE_Byte * buffer, SANE_Int size, bzero (&text, sizeof (text)); } data = _B0 (buffer[cont]); - text[col] = (data > 31) ? data : ''; + text[col] = (data > 31) ? data : '·'; snprintf (sdata, 80, "%02x ", data); sline = strcat (sline, sdata); col++; diff --git a/backend/hp3900_rts8822.c b/backend/hp3900_rts8822.c index 9c8deaa..bbd1e38 100644 --- a/backend/hp3900_rts8822.c +++ b/backend/hp3900_rts8822.c @@ -1774,7 +1774,7 @@ SetScanParams (struct st_device *dev, SANE_Byte * Regs, 8)) ? hwdcfg->compression : FALSE; if ((arrangeline2 == FIX_BY_HARD) || (mycolormode == CM_LINEART)) - arrangeline2 = mycolormode; /*? */ + arrangeline2 = mycolormode; /*¿? */ else if ((mycolormode == CM_GRAY) && (hwdcfg->highresolution == FALSE)) arrangeline2 = 0; @@ -2372,7 +2372,7 @@ IsScannerLinked (struct st_device *dev) lamp = FLB_LAMP; - /* Comprobar si es la primera conexin con el escaner */ + /* Comprobar si es la primera conexión con el escaner */ if (Read_Word (dev->usb_handle, 0xe829, &var2) == OK) { SANE_Int firstconnection; @@ -2385,7 +2385,7 @@ IsScannerLinked (struct st_device *dev) if (firstconnection == TRUE) { - /* primera conexin */ + /* primera conexión */ SANE_Byte flb_lamp, tma_lamp; flb_lamp = 0; @@ -7049,7 +7049,7 @@ Triplet_Colour_LRes (SANE_Int Width, SANE_Byte * Buffer, */ /* Esta funcion une los tres canales de color en un triplete - Inicialmente cada color est separado en 3 buffers apuntados + Inicialmente cada color está separado en 3 buffers apuntados por pChannel1 ,2 y 3 */ SANE_Int Value; @@ -7591,11 +7591,11 @@ Read_Block (struct st_device *dev, SANE_Int buffer_size, SANE_Byte * buffer, /* scan2: 04F0155C 01 08 00 02 03 00 58 02 ..X -04F01564 58 02 58 02 C5 00 00 00 XX... -04F0156C B4 07 00 00 8B 01 00 00 .... -04F01574 10 06 00 00 EC 13 00 00 .... -04F0157C B2 07 00 00 B4 07 00 00 .... -04F01584 CF 08 00 00 .. +04F01564 58 02 58 02 C5 00 00 00 XXÅ... +04F0156C B4 07 00 00 8B 01 00 00 ´..‹.. +04F01574 10 06 00 00 EC 13 00 00 ..ì.. +04F0157C B2 07 00 00 B4 07 00 00 ²..´.. +04F01584 CF 08 00 00 Ï.. arrangeline2 = 1 */ @@ -8329,7 +8329,7 @@ if (Calib_test(dev, Regs, &myCalib, &scancfg) == OK ) } else { - /*5e7c *//* entra aqu */ + /*5e7c *//* entra aquí */ if ((scancfg.resolution_y / 10) > scancfg.coord.top) runb1 = 0; } @@ -9209,7 +9209,7 @@ RTS_Setup (struct st_device *dev, SANE_Byte * Regs, if (scancfg->colormode == CM_LINEART) data_bitset (&Regs[0x60b], 0x0c, 0); - /* disable gamma correction ? */ + /* disable gamma correction ¿? */ data_bitset (&Regs[0x1d0], 0x40, 0); } @@ -13902,7 +13902,7 @@ Constrains_Check (struct st_device *dev, SANE_Int Resolution, SANE_Int scantype, struct st_coords *mycoords) { /* - Constrains: + Constrains: 100 dpi 850 x 1170 | 164 x 327 300 dpi 2550 x 3510 600 dpi 5100 x 7020 diff --git a/backend/hp4200.c b/backend/hp4200.c index 589157d..d4d4f64 100644 --- a/backend/hp4200.c +++ b/backend/hp4200.c @@ -5,24 +5,24 @@ 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Developers: - Adrian Perez Jorge (APJ) - + Adrian Perez Jorge (APJ) - Creator of the original HP4200C backend code. adrianpj@easynews.com - - Andrew John Lewis (AJL) - + + Andrew John Lewis (AJL) - lewi0235@tc.umn.edu Arnar Mar Hrafnkelsson (AMH) - @@ -43,7 +43,7 @@ TODO: image size and the scanner-to-host bandwidth. - improve image quality. - fix problem concerning mangled images - + */ #define BUILD 2 @@ -1498,7 +1498,7 @@ do_fine_calibration (HP4200_Scanner * s, struct coarse_t *coarse) int i; for (i = 0; i < 12; i++) { - memset (registro[i], 0, 5460 * 3); + memset (registro[i], 0, 5460 * 3 * sizeof(registro[0])); } } @@ -1884,7 +1884,7 @@ prepare_for_a_scan (HP4200_Scanner * s) calculated horizontal dpi code */ hdpi_div = hdpi_mapping[hdpi_code]; - /* image_width is set to the correct number of pixels by calling + /* image_width is set to the correct number of pixels by calling fxn. This might be the reason we can't do high res full width scans though...not sure. */ /*s->user_parms.image_width /= 4; */ diff --git a/backend/hp4200.h b/backend/hp4200.h index 13c0d7f..1547847 100644 --- a/backend/hp4200.h +++ b/backend/hp4200.h @@ -5,15 +5,15 @@ 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef _HP4200_H diff --git a/backend/hp5400.c b/backend/hp5400.c index cfa2dc9..58d01f8 100644 --- a/backend/hp5400.c +++ b/backend/hp5400.c @@ -4,21 +4,21 @@ This file was initially copied from the hp3300 testools and adjusted to suit. Original copyright notice follows: - + Copyright (C) 2001 Bertrik Sikken (bertrik@zonnet.nl) 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -81,5 +81,3 @@ #include "hp5400_internal.c" #include "hp5400_sane.c" #include "hp5400_sanei.c" - - diff --git a/backend/hp5400_debug.c b/backend/hp5400_debug.c index 0460e8b..ad2e4fb 100644 --- a/backend/hp5400_debug.c +++ b/backend/hp5400_debug.c @@ -69,5 +69,3 @@ void hp5400_dbg_start() { #include "../include/sane/sanei_debug.h" #endif - - diff --git a/backend/hp5400_internal.c b/backend/hp5400_internal.c index 65a434f..34bf55d 100644 --- a/backend/hp5400_internal.c +++ b/backend/hp5400_internal.c @@ -212,10 +212,10 @@ SetCalibration (int iHandle, int numPixels, unsigned int *low_vals[3], { char cmd[8]; /* unsigned char cmd[8]; */ /* should fix the compilation warning - but I don't have a scanner right now + but I don't have a scanner right now to check that the fix does not break calibration */ - + int i, j, k; struct CalPixel { @@ -413,7 +413,7 @@ CircBufferGetLine (int iHandle, TDataPipe * p, void *pabLine) int i; int maxoff = 0; char* buftmp = (char*) (p->buffer); - + /* HP5400_DBG(DBG_MSG, "CircBufferGetLine:\n"); */ if (p->roff > maxoff) @@ -1018,7 +1018,7 @@ InitScan (enum ScanType scantype, TScanParams * pParams, struct ScanRequest req; struct ScanResponse res; int ret; - + memset(&req, 0, sizeof(req)); req.x1 = 0x08; @@ -1089,7 +1089,7 @@ InitScan2 (enum ScanType scantype, struct ScanRequest *req, req->offx = htons (0x09F8); if (htons (req->offy) > 0x0DB6) req->offy = htons (0x0DB6); - /* These tests are meaningless as htons() returns unsigned + /* These tests are meaningless as htons() returns unsigned if( htons( req->offx ) < 0 ) req->offx = 0; if( htons( req->offy ) < 0 ) req->offy = 0; */ diff --git a/backend/hp5400_sanei.c b/backend/hp5400_sanei.c index 1396cb1..10c90ef 100644 --- a/backend/hp5400_sanei.c +++ b/backend/hp5400_sanei.c @@ -133,7 +133,7 @@ hp5400_open (const char *filename) sane_strstatus (status)); return -1; } - + status = sanei_usb_get_vendor_product (fd, &iVendor, &iProduct); if (status != SANE_STATUS_GOOD) { @@ -313,7 +313,7 @@ hp5400_bulk_read_block (int iHandle, int iCmd, void *cmd, int cmdlen, _UsbWriteControl (fd, iCmd, 0, cmd, cmdlen); res = len; sanei_usb_read_bulk (fd, (SANE_Byte *) buffer, &res); - HP5400_DBG (DBG_MSG, "Read block returned %lu when reading %d\n", + HP5400_DBG (DBG_MSG, "Read block returned %lu when reading %d\n", (u_long) res, len); return res; } @@ -384,4 +384,3 @@ hp5400_isOn (int iHandle) return 0; /* is off */ } #endif - diff --git a/backend/hp5400_xfer.h b/backend/hp5400_xfer.h index e3e823d..b3a1cc6 100644 --- a/backend/hp5400_xfer.h +++ b/backend/hp5400_xfer.h @@ -47,7 +47,7 @@ If you do not wish that, delete this exception notice. Transport layer for communication with HP5400/5470 scanner. - + Add support for bulk transport of data - 19/02/2003 Martijn */ diff --git a/backend/hp5590.c b/backend/hp5590.c index fabf40a..b206406 100644 --- a/backend/hp5590.c +++ b/backend/hp5590.c @@ -1,6 +1,8 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2007 Ilia Sotnikov HP ScanJet 4570c support by Markham Thomas + ADF page detection and high DPI fixes by Bernard Badeer + scanbd integration by Damiano Scaramuzza and Bernard Badeer This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -59,47 +61,161 @@ #include "../include/sane/saneopts.h" #include "hp5590_cmds.c" #include "hp5590_low.c" +#include "../include/sane/sanei_net.h" /* Debug levels */ -#define DBG_err 0 -#define DBG_proc 10 -#define DBG_verbose 20 +#define DBG_err 0 +#define DBG_proc 10 +#define DBG_verbose 20 +#define DBG_details 30 #define hp5590_assert(exp) if(!(exp)) { \ - DBG (DBG_err, "Assertion '%s' failed at %s:%u\n", #exp, __FILE__, __LINE__);\ - return SANE_STATUS_INVAL; \ + DBG (DBG_err, "Assertion '%s' failed at %s:%u\n", #exp, __FILE__, __LINE__);\ + return SANE_STATUS_INVAL; \ } #define hp5590_assert_void_return(exp) if(!(exp)) { \ - DBG (DBG_err, "Assertion '%s' failed at %s:%u\n", #exp, __FILE__, __LINE__);\ - return; \ + DBG (DBG_err, "Assertion '%s' failed at %s:%u\n", #exp, __FILE__, __LINE__);\ + return; \ } +#define MY_MIN(a, b) (((a) < (b)) ? (a) : (b)) +#define MY_MAX(a, b) (((a) > (b)) ? (a) : (b)) + /* #define HAS_WORKING_COLOR_48 */ -#define BUILD 7 -#define USB_TIMEOUT 30 * 1000 +#define BUILD 8 +#define USB_TIMEOUT 30 * 1000 static SANE_Word res_list[] = { 6, 100, 200, 300, 600, 1200, 2400 }; -#define SANE_VALUE_SCAN_SOURCE_FLATBED SANE_I18N("Flatbed") -#define SANE_VALUE_SCAN_SOURCE_ADF SANE_I18N("ADF") -#define SANE_VALUE_SCAN_SOURCE_ADF_DUPLEX SANE_I18N("ADF Duplex") -#define SANE_VALUE_SCAN_SOURCE_TMA_SLIDES SANE_I18N("TMA Slides") -#define SANE_VALUE_SCAN_SOURCE_TMA_NEGATIVES SANE_I18N("TMA Negatives") +#define SANE_VALUE_SCAN_SOURCE_FLATBED SANE_I18N("Flatbed") +#define SANE_VALUE_SCAN_SOURCE_ADF SANE_I18N("ADF") +#define SANE_VALUE_SCAN_SOURCE_ADF_DUPLEX SANE_I18N("ADF Duplex") +#define SANE_VALUE_SCAN_SOURCE_TMA_SLIDES SANE_I18N("TMA Slides") +#define SANE_VALUE_SCAN_SOURCE_TMA_NEGATIVES SANE_I18N("TMA Negatives") +static SANE_String_Const +sources_list[] = { + SANE_VALUE_SCAN_SOURCE_FLATBED, + SANE_VALUE_SCAN_SOURCE_ADF, + SANE_VALUE_SCAN_SOURCE_ADF_DUPLEX, + SANE_VALUE_SCAN_SOURCE_TMA_SLIDES, + SANE_VALUE_SCAN_SOURCE_TMA_NEGATIVES, + NULL +}; + +#define SANE_VALUE_SCAN_MODE_COLOR_24 SANE_VALUE_SCAN_MODE_COLOR +#define SANE_VALUE_SCAN_MODE_COLOR_48 SANE_I18N("Color (48 bits)") +#define HAS_WORKING_COLOR_48 1 + +#define SANE_NAME_LAMP_TIMEOUT "extend-lamp-timeout" +#define SANE_TITLE_LAMP_TIMEOUT SANE_I18N("Extend lamp timeout") +#define SANE_DESC_LAMP_TIMEOUT SANE_I18N("Extends lamp timeout (from 15 minutes to 1 hour)") +#define SANE_NAME_WAIT_FOR_BUTTON "wait-for-button" +#define SANE_TITLE_WAIT_FOR_BUTTON SANE_I18N("Wait for button") +#define SANE_DESC_WAIT_FOR_BUTTON SANE_I18N("Waits for button before scanning") +#define SANE_NAME_BUTTON_PRESSED "button-pressed" +#define SANE_TITLE_BUTTON_PRESSED SANE_I18N("Last button pressed") +#define SANE_DESC_BUTTON_PRESSED SANE_I18N("Get ID of last button pressed (read only)") +#define SANE_NAME_LCD_COUNTER "counter-value" +#define SANE_TITLE_LCD_COUNTER SANE_I18N("LCD counter") +#define SANE_DESC_LCD_COUNTER SANE_I18N("Get value of LCD counter (read only)") +#define SANE_NAME_COLOR_LED "color-led" +#define SANE_TITLE_COLOR_LED SANE_I18N("Color LED indicator") +#define SANE_DESC_COLOR_LED SANE_I18N("Get value of LED indicator (read only)") +#define SANE_NAME_DOC_IN_ADF "doc-in-adf" +#define SANE_TITLE_DOC_IN_ADF SANE_I18N("Document available in ADF") +#define SANE_DESC_DOC_IN_ADF SANE_I18N("Get state of document-available indicator in ADF (read only)") +#define SANE_NAME_OVERWRITE_EOP_PIXEL "hide-eop-pixel" +#define SANE_TITLE_OVERWRITE_EOP_PIXEL SANE_I18N("Hide end-of-page pixel") +#define SANE_DESC_OVERWRITE_EOP_PIXEL SANE_I18N("Hide end-of-page indicator pixels and overwrite with neighbor pixels") +#define SANE_NAME_TRAILING_LINES_MODE "trailing-lines-mode" +#define SANE_TITLE_TRAILING_LINES_MODE SANE_I18N("Filling mode of trailing lines after scan data (ADF)") +#define SANE_DESC_TRAILING_LINES_MODE SANE_I18N("raw = raw scan data, last = repeat last scan line, raster = b/w raster, "\ + "white = white color, black = black color, color = RGB or gray color value") +#define SANE_NAME_TRAILING_LINES_COLOR "trailing-lines-color" +#define SANE_TITLE_TRAILING_LINES_COLOR SANE_I18N("RGB or gray color value for filling mode 'color'") +#define SANE_DESC_TRAILING_LINES_COLOR SANE_I18N("Color value for trailing lines filling mode 'color'. "\ + "RGB color as r*65536+256*g+b or gray value (default=violet or gray)") + +#define BUTTON_PRESSED_VALUE_COUNT 11 +#define BUTTON_PRESSED_VALUE_NONE_KEY "none" +#define BUTTON_PRESSED_VALUE_POWER_KEY "power" +#define BUTTON_PRESSED_VALUE_SCAN_KEY "scan" +#define BUTTON_PRESSED_VALUE_COLLECT_KEY "collect" +#define BUTTON_PRESSED_VALUE_FILE_KEY "file" +#define BUTTON_PRESSED_VALUE_EMAIL_KEY "email" +#define BUTTON_PRESSED_VALUE_COPY_KEY "copy" +#define BUTTON_PRESSED_VALUE_UP_KEY "up" +#define BUTTON_PRESSED_VALUE_DOWN_KEY "down" +#define BUTTON_PRESSED_VALUE_MODE_KEY "mode" +#define BUTTON_PRESSED_VALUE_CANCEL_KEY "cancel" +#define BUTTON_PRESSED_VALUE_MAX_KEY_LEN 32 +static SANE_String_Const +buttonstate_list[] = { + BUTTON_PRESSED_VALUE_NONE_KEY, + BUTTON_PRESSED_VALUE_POWER_KEY, + BUTTON_PRESSED_VALUE_SCAN_KEY, + BUTTON_PRESSED_VALUE_COLLECT_KEY, + BUTTON_PRESSED_VALUE_FILE_KEY, + BUTTON_PRESSED_VALUE_EMAIL_KEY, + BUTTON_PRESSED_VALUE_COPY_KEY, + BUTTON_PRESSED_VALUE_UP_KEY, + BUTTON_PRESSED_VALUE_DOWN_KEY, + BUTTON_PRESSED_VALUE_MODE_KEY, + BUTTON_PRESSED_VALUE_CANCEL_KEY, + NULL +}; + +#define COLOR_LED_VALUE_COUNT 2 +#define COLOR_LED_VALUE_COLOR_KEY "color" +#define COLOR_LED_VALUE_BLACKWHITE_KEY "black_white" +#define COLOR_LED_VALUE_MAX_KEY_LEN 32 +static SANE_String_Const +colorledstate_list[] = { + COLOR_LED_VALUE_COLOR_KEY, + COLOR_LED_VALUE_BLACKWHITE_KEY, + NULL +}; -#define SANE_VALUE_SCAN_MODE_COLOR_24 SANE_VALUE_SCAN_MODE_COLOR -#define SANE_VALUE_SCAN_MODE_COLOR_48 SANE_I18N("Color (48 bits)") +#define LCD_COUNTER_VALUE_MIN 1 +#define LCD_COUNTER_VALUE_MAX 99 +#define LCD_COUNTER_VALUE_QUANT 1 +static SANE_Range +lcd_counter_range = { + LCD_COUNTER_VALUE_MIN, + LCD_COUNTER_VALUE_MAX, + LCD_COUNTER_VALUE_QUANT +}; -#define SANE_NAME_LAMP_TIMEOUT "extend-lamp-timeout" -#define SANE_TITLE_LAMP_TIMEOUT SANE_I18N("Extend lamp timeout") -#define SANE_DESC_LAMP_TIMEOUT SANE_I18N("Extends lamp timeout (from 15 minutes to 1 hour)") -#define SANE_NAME_WAIT_FOR_BUTTON "wait-for-button" -#define SANE_TITLE_WAIT_FOR_BUTTON SANE_I18N("Wait for button") -#define SANE_DESC_WAIT_FOR_BUTTON SANE_I18N("Waits for button before scanning") +#define TRAILING_LINES_MODE_RAW 0 +#define TRAILING_LINES_MODE_LAST 1 +#define TRAILING_LINES_MODE_RASTER 2 +#define TRAILING_LINES_MODE_WHITE 3 +#define TRAILING_LINES_MODE_BLACK 4 +#define TRAILING_LINES_MODE_COLOR 5 +#define TRAILING_LINES_MODE_VALUE_COUNT 6 + +#define TRAILING_LINES_MODE_RAW_KEY "raw" +#define TRAILING_LINES_MODE_LAST_KEY "last" +#define TRAILING_LINES_MODE_RASTER_KEY "raster" +#define TRAILING_LINES_MODE_WHITE_KEY "white" +#define TRAILING_LINES_MODE_BLACK_KEY "black" +#define TRAILING_LINES_MODE_COLOR_KEY "color" +#define TRAILING_LINES_MODE_MAX_KEY_LEN 24 +static SANE_String_Const +trailingmode_list[] = { + TRAILING_LINES_MODE_RAW_KEY, + TRAILING_LINES_MODE_LAST_KEY, + TRAILING_LINES_MODE_RASTER_KEY, + TRAILING_LINES_MODE_WHITE_KEY, + TRAILING_LINES_MODE_BLACK_KEY, + TRAILING_LINES_MODE_COLOR_KEY, + NULL +}; -#define MAX_SCAN_SOURCE_VALUE_LEN 24 -#define MAX_SCAN_MODE_VALUE_LEN 24 +#define MAX_SCAN_SOURCE_VALUE_LEN 24 +#define MAX_SCAN_MODE_VALUE_LEN 24 static SANE_Range range_x, range_y, range_qual; @@ -126,29 +242,51 @@ enum hp5590_opt_idx { HP5590_OPT_RESOLUTION, HP5590_OPT_LAMP_TIMEOUT, HP5590_OPT_WAIT_FOR_BUTTON, + HP5590_OPT_BUTTON_PRESSED, + HP5590_OPT_COLOR_LED, + HP5590_OPT_LCD_COUNTER, + HP5590_OPT_DOC_IN_ADF, HP5590_OPT_PREVIEW, + HP5590_OPT_OVERWRITE_EOP_PIXEL, + HP5590_OPT_TRAILING_LINES_MODE, + HP5590_OPT_TRAILING_LINES_COLOR, HP5590_OPT_LAST }; struct hp5590_scanner { - struct scanner_info *info; - enum proto_flags proto_flags; - SANE_Device sane; - SANE_Int dn; - float br_x, br_y, tl_x, tl_y; - unsigned int dpi; - enum color_depths depth; - enum scan_sources source; - SANE_Bool extend_lamp_timeout; - SANE_Bool wait_for_button; - SANE_Bool preview; - unsigned int quality; - SANE_Option_Descriptor *opts; - struct hp5590_scanner *next; - unsigned int image_size; - SANE_Int transferred_image_size; - void *bulk_read_state; - SANE_Bool scanning; + struct scanner_info *info; + enum proto_flags proto_flags; + SANE_Device sane; + SANE_Int dn; + float br_x, br_y, tl_x, tl_y; + unsigned int dpi; + enum color_depths depth; + enum scan_sources source; + SANE_Bool extend_lamp_timeout; + SANE_Bool wait_for_button; + SANE_Bool preview; + unsigned int quality; + SANE_Option_Descriptor *opts; + struct hp5590_scanner *next; + unsigned long long image_size; + unsigned long long transferred_image_size; + void *bulk_read_state; + SANE_Bool scanning; + SANE_Bool overwrite_eop_pixel; + SANE_Byte *eop_last_line_data; + unsigned int eop_last_line_data_rpos; + SANE_Int eop_trailing_lines_mode; + SANE_Int eop_trailing_lines_color; + SANE_Byte *adf_next_page_lines_data; + unsigned int adf_next_page_lines_data_size; + unsigned int adf_next_page_lines_data_rpos; + unsigned int adf_next_page_lines_data_wpos; + SANE_Byte *one_line_read_buffer; + unsigned int one_line_read_buffer_rpos; + SANE_Byte *color_shift_line_buffer1; + unsigned int color_shift_buffered_lines1; + SANE_Byte *color_shift_line_buffer2; + unsigned int color_shift_buffered_lines2; }; static @@ -157,19 +295,19 @@ struct hp5590_scanner *scanners_list; /******************************************************************************/ static SANE_Status calc_image_params (struct hp5590_scanner *scanner, - unsigned int *pixel_bits, - unsigned int *pixels_per_line, - unsigned int *bytes_per_line, - unsigned int *lines, - unsigned int *image_size) + unsigned int *pixel_bits, + unsigned int *pixels_per_line, + unsigned int *bytes_per_line, + unsigned int *lines, + unsigned long long *image_size) { - unsigned int _pixel_bits; - SANE_Status ret; - unsigned int _pixels_per_line; - unsigned int _bytes_per_line; - unsigned int _lines; - unsigned int _image_size; - float var; + unsigned int _pixel_bits; + SANE_Status ret; + unsigned int _pixels_per_line; + unsigned int _bytes_per_line; + unsigned int _lines; + unsigned int _image_size; + float var; DBG (DBG_proc, "%s\n", __func__); @@ -195,7 +333,7 @@ calc_image_params (struct hp5590_scanner *scanner, if (var > _bytes_per_line) _bytes_per_line++; - _image_size = _lines * _bytes_per_line; + _image_size = (unsigned long long) _lines * _bytes_per_line; DBG (DBG_verbose, "%s: pixel_bits: %u, pixels_per_line: %u, " "bytes_per_line: %u, lines: %u, image_size: %u\n", @@ -219,18 +357,18 @@ calc_image_params (struct hp5590_scanner *scanner, return SANE_STATUS_GOOD; } - + /******************************************************************************/ static SANE_Status attach_usb_device (SANE_String_Const devname, - enum hp_scanner_types hp_scanner_type) + enum hp_scanner_types hp_scanner_type) { - struct scanner_info *info; - struct hp5590_scanner *scanner, *ptr; - unsigned int max_count, count; - SANE_Int dn; - SANE_Status ret; - const struct hp5590_model *hp5590_model; + struct scanner_info *info; + struct hp5590_scanner *scanner, *ptr; + unsigned int max_count, count; + SANE_Int dn; + SANE_Status ret; + const struct hp5590_model *hp5590_model; DBG (DBG_proc, "%s: Opening USB device\n", __func__); if (sanei_usb_open (devname, &dn) != SANE_STATUS_GOOD) @@ -242,7 +380,7 @@ attach_usb_device (SANE_String_Const devname, return ret; if (hp5590_init_scanner (dn, hp5590_model->proto_flags, - &info, hp_scanner_type) != 0) + &info, hp_scanner_type) != 0) return SANE_STATUS_IO_ERROR; DBG (1, "%s: found HP%s scanner at '%s'\n", @@ -250,13 +388,13 @@ attach_usb_device (SANE_String_Const devname, DBG (DBG_verbose, "%s: Reading max scan count\n", __func__); if (hp5590_read_max_scan_count (dn, hp5590_model->proto_flags, - &max_count) != 0) + &max_count) != 0) return SANE_STATUS_IO_ERROR; DBG (DBG_verbose, "%s: Max Scanning count %u\n", __func__, max_count); DBG (DBG_verbose, "%s: Reading scan count\n", __func__); if (hp5590_read_scan_count (dn, hp5590_model->proto_flags, - &count) != 0) + &count) != 0) return SANE_STATUS_IO_ERROR; DBG (DBG_verbose, "%s: Scanning count %u\n", __func__, count); @@ -282,6 +420,18 @@ attach_usb_device (SANE_String_Const devname, scanner->info = info; scanner->bulk_read_state = NULL; scanner->opts = NULL; + scanner->eop_last_line_data = NULL; + scanner->eop_last_line_data_rpos = 0; + scanner->adf_next_page_lines_data = NULL; + scanner->adf_next_page_lines_data_size = 0; + scanner->adf_next_page_lines_data_rpos = 0; + scanner->adf_next_page_lines_data_wpos = 0; + scanner->one_line_read_buffer = NULL; + scanner->one_line_read_buffer_rpos = 0; + scanner->color_shift_line_buffer1 = NULL; + scanner->color_shift_buffered_lines1 = 0; + scanner->color_shift_line_buffer2 = NULL; + scanner->color_shift_buffered_lines2 = 0; if (!scanners_list) scanners_list = scanner; @@ -326,11 +476,11 @@ attach_hp7650 (SANE_String_Const devname) SANE_Status sane_init (SANE_Int * version_code, SANE_Auth_Callback __sane_unused__ authorize) { - SANE_Status ret; - SANE_Word vendor_id, product_id; - + SANE_Status ret; + SANE_Word vendor_id, product_id; + DBG_INIT(); - + DBG (1, "SANE backed for HP ScanJet 4500C/4570C/5500C/5550C/5590/7650 %u.%u.%u\n", SANE_CURRENT_MAJOR, V_MINOR, BUILD); DBG (1, "(c) Ilia Sotnikov \n"); @@ -389,7 +539,34 @@ void sane_exit (void) for (ptr = scanners_list; ptr; ptr = pnext) { if (ptr->opts != NULL) - free (ptr->opts); + free (ptr->opts); + if (ptr->eop_last_line_data != NULL) { + free (ptr->eop_last_line_data); + ptr->eop_last_line_data = NULL; + ptr->eop_last_line_data_rpos = 0; + } + if (ptr->adf_next_page_lines_data != NULL) { + free (ptr->adf_next_page_lines_data); + ptr->adf_next_page_lines_data = NULL; + ptr->adf_next_page_lines_data_size = 0; + ptr->adf_next_page_lines_data_wpos = 0; + ptr->adf_next_page_lines_data_rpos = 0; + } + if (ptr->one_line_read_buffer != NULL) { + free (ptr->one_line_read_buffer); + ptr->one_line_read_buffer = NULL; + ptr->one_line_read_buffer_rpos = 0; + } + if (ptr->color_shift_line_buffer1 != NULL) { + free (ptr->color_shift_line_buffer1); + ptr->color_shift_line_buffer1 = NULL; + ptr->color_shift_buffered_lines1 = 0; + } + if (ptr->color_shift_line_buffer2 != NULL) { + free (ptr->color_shift_line_buffer2); + ptr->color_shift_line_buffer2 = NULL; + ptr->color_shift_buffered_lines2 = 0; + } pnext = ptr->next; free (ptr); } @@ -428,11 +605,8 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) SANE_Status sane_open (SANE_String_Const devicename, SANE_Handle * handle) { - struct hp5590_scanner *ptr; - SANE_Option_Descriptor *opts; - unsigned int available_sources; - SANE_String_Const *sources_list; - unsigned int source_idx; + struct hp5590_scanner *ptr; + SANE_Option_Descriptor *opts; DBG (DBG_proc, "%s: device name: %s\n", __func__, devicename); @@ -444,19 +618,31 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) ptr = scanners_list; } else { for (ptr = scanners_list; - ptr && strcmp (ptr->sane.name, devicename) != 0; - ptr = ptr->next); + ptr && strcmp (ptr->sane.name, devicename) != 0; + ptr = ptr->next); } if (!ptr) return SANE_STATUS_INVAL; + /* DS: Without this after the first scan (and sane_close) + * it was impossible to use again the read_buttons usb routine. + * Function sane_close puts dn = -1. Now sane_open needs to open + * the usb communication again. + */ + if (ptr->dn < 0) { + DBG (DBG_proc, "%s: Reopening USB device\n", __func__); + if (sanei_usb_open (ptr->sane.name, &ptr->dn) != SANE_STATUS_GOOD) + return SANE_STATUS_IO_ERROR; + DBG (DBG_proc, "%s: USB device reopened\n", __func__); + } + ptr->tl_x = 0; ptr->tl_y = 0; ptr->br_x = ptr->info->max_size_x; ptr->br_y = ptr->info->max_size_y; ptr->dpi = res_list[1]; - ptr->depth = DEPTH_BW; + ptr->depth = DEPTH_BW; ptr->source = SOURCE_FLATBED; ptr->extend_lamp_timeout = SANE_FALSE; ptr->wait_for_button = SANE_FALSE; @@ -464,6 +650,9 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) ptr->quality = 4; ptr->image_size = 0; ptr->scanning = SANE_FALSE; + ptr->overwrite_eop_pixel = SANE_TRUE; + ptr->eop_trailing_lines_mode = TRAILING_LINES_MODE_LAST; + ptr->eop_trailing_lines_color = 0x7f007f; *handle = ptr; @@ -542,29 +731,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) opts[HP5590_OPT_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST; opts[HP5590_OPT_MODE].constraint.string_list = mode_list; - available_sources = 1; /* Flatbed is always available */ - if (ptr->info->features & FEATURE_ADF) - available_sources += 2; - if (ptr->info->features & FEATURE_TMA) - available_sources += 2; - available_sources++; /* Count terminating NULL */ - sources_list = malloc (available_sources * sizeof (SANE_String_Const)); - if (!sources_list) - return SANE_STATUS_NO_MEM; - source_idx = 0; - sources_list[source_idx++] = SANE_VALUE_SCAN_SOURCE_FLATBED; - if (ptr->info->features & FEATURE_ADF) - { - sources_list[source_idx++] = SANE_VALUE_SCAN_SOURCE_ADF; - sources_list[source_idx++] = SANE_VALUE_SCAN_SOURCE_ADF_DUPLEX; - } - if (ptr->info->features & FEATURE_TMA) - { - sources_list[source_idx++] = SANE_VALUE_SCAN_SOURCE_TMA_SLIDES; - sources_list[source_idx++] = SANE_VALUE_SCAN_SOURCE_TMA_NEGATIVES; - } - sources_list[source_idx] = NULL; - + /* Show all features, check on feature in command line evaluation. */ opts[HP5590_OPT_SOURCE].name = SANE_NAME_SCAN_SOURCE; opts[HP5590_OPT_SOURCE].title = SANE_TITLE_SCAN_SOURCE; opts[HP5590_OPT_SOURCE].desc = SANE_DESC_SCAN_SOURCE; @@ -605,6 +772,46 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) opts[HP5590_OPT_WAIT_FOR_BUTTON].constraint_type = SANE_CONSTRAINT_NONE; opts[HP5590_OPT_WAIT_FOR_BUTTON].constraint.string_list = NULL; + opts[HP5590_OPT_BUTTON_PRESSED].name = SANE_NAME_BUTTON_PRESSED; + opts[HP5590_OPT_BUTTON_PRESSED].title = SANE_TITLE_BUTTON_PRESSED; + opts[HP5590_OPT_BUTTON_PRESSED].desc = SANE_DESC_BUTTON_PRESSED; + opts[HP5590_OPT_BUTTON_PRESSED].type = SANE_TYPE_STRING; + opts[HP5590_OPT_BUTTON_PRESSED].unit = SANE_UNIT_NONE; + opts[HP5590_OPT_BUTTON_PRESSED].size = BUTTON_PRESSED_VALUE_MAX_KEY_LEN; + opts[HP5590_OPT_BUTTON_PRESSED].cap = SANE_CAP_HARD_SELECT | SANE_CAP_SOFT_DETECT; + opts[HP5590_OPT_BUTTON_PRESSED].constraint_type = SANE_CONSTRAINT_STRING_LIST; + opts[HP5590_OPT_BUTTON_PRESSED].constraint.string_list = buttonstate_list; + + opts[HP5590_OPT_COLOR_LED].name = SANE_NAME_COLOR_LED; + opts[HP5590_OPT_COLOR_LED].title = SANE_TITLE_COLOR_LED; + opts[HP5590_OPT_COLOR_LED].desc = SANE_DESC_COLOR_LED; + opts[HP5590_OPT_COLOR_LED].type = SANE_TYPE_STRING; + opts[HP5590_OPT_COLOR_LED].unit = SANE_UNIT_NONE; + opts[HP5590_OPT_COLOR_LED].size = COLOR_LED_VALUE_MAX_KEY_LEN; + opts[HP5590_OPT_COLOR_LED].cap = SANE_CAP_HARD_SELECT | SANE_CAP_SOFT_DETECT; + opts[HP5590_OPT_COLOR_LED].constraint_type = SANE_CONSTRAINT_STRING_LIST; + opts[HP5590_OPT_COLOR_LED].constraint.string_list = colorledstate_list; + + opts[HP5590_OPT_LCD_COUNTER].name = SANE_NAME_LCD_COUNTER; + opts[HP5590_OPT_LCD_COUNTER].title = SANE_TITLE_LCD_COUNTER; + opts[HP5590_OPT_LCD_COUNTER].desc = SANE_DESC_LCD_COUNTER; + opts[HP5590_OPT_LCD_COUNTER].type = SANE_TYPE_INT; + opts[HP5590_OPT_LCD_COUNTER].unit = SANE_UNIT_NONE; + opts[HP5590_OPT_LCD_COUNTER].size = sizeof(SANE_Int); + opts[HP5590_OPT_LCD_COUNTER].cap = SANE_CAP_HARD_SELECT | SANE_CAP_SOFT_DETECT; + opts[HP5590_OPT_LCD_COUNTER].constraint_type = SANE_CONSTRAINT_RANGE; + opts[HP5590_OPT_LCD_COUNTER].constraint.range = &lcd_counter_range; + + opts[HP5590_OPT_DOC_IN_ADF].name = SANE_NAME_DOC_IN_ADF; + opts[HP5590_OPT_DOC_IN_ADF].title = SANE_TITLE_DOC_IN_ADF; + opts[HP5590_OPT_DOC_IN_ADF].desc = SANE_DESC_DOC_IN_ADF; + opts[HP5590_OPT_DOC_IN_ADF].type = SANE_TYPE_BOOL; + opts[HP5590_OPT_DOC_IN_ADF].unit = SANE_UNIT_NONE; + opts[HP5590_OPT_DOC_IN_ADF].size = sizeof(SANE_Bool); + opts[HP5590_OPT_DOC_IN_ADF].cap = SANE_CAP_HARD_SELECT | SANE_CAP_SOFT_DETECT; + opts[HP5590_OPT_DOC_IN_ADF].constraint_type = SANE_CONSTRAINT_NONE; + opts[HP5590_OPT_DOC_IN_ADF].constraint.range = NULL; + opts[HP5590_OPT_PREVIEW].name = SANE_NAME_PREVIEW; opts[HP5590_OPT_PREVIEW].title = SANE_TITLE_PREVIEW; opts[HP5590_OPT_PREVIEW].desc = SANE_DESC_PREVIEW; @@ -615,6 +822,36 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) opts[HP5590_OPT_PREVIEW].constraint_type = SANE_CONSTRAINT_NONE; opts[HP5590_OPT_PREVIEW].constraint.string_list = NULL; + opts[HP5590_OPT_OVERWRITE_EOP_PIXEL].name = SANE_NAME_OVERWRITE_EOP_PIXEL; + opts[HP5590_OPT_OVERWRITE_EOP_PIXEL].title = SANE_TITLE_OVERWRITE_EOP_PIXEL; + opts[HP5590_OPT_OVERWRITE_EOP_PIXEL].desc = SANE_DESC_OVERWRITE_EOP_PIXEL; + opts[HP5590_OPT_OVERWRITE_EOP_PIXEL].type = SANE_TYPE_BOOL; + opts[HP5590_OPT_OVERWRITE_EOP_PIXEL].unit = SANE_UNIT_NONE; + opts[HP5590_OPT_OVERWRITE_EOP_PIXEL].size = sizeof(SANE_Bool); + opts[HP5590_OPT_OVERWRITE_EOP_PIXEL].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + opts[HP5590_OPT_OVERWRITE_EOP_PIXEL].constraint_type = SANE_CONSTRAINT_NONE; + opts[HP5590_OPT_OVERWRITE_EOP_PIXEL].constraint.string_list = NULL; + + opts[HP5590_OPT_TRAILING_LINES_MODE].name = SANE_NAME_TRAILING_LINES_MODE; + opts[HP5590_OPT_TRAILING_LINES_MODE].title = SANE_TITLE_TRAILING_LINES_MODE; + opts[HP5590_OPT_TRAILING_LINES_MODE].desc = SANE_DESC_TRAILING_LINES_MODE; + opts[HP5590_OPT_TRAILING_LINES_MODE].type = SANE_TYPE_STRING; + opts[HP5590_OPT_TRAILING_LINES_MODE].unit = SANE_UNIT_NONE; + opts[HP5590_OPT_TRAILING_LINES_MODE].size = TRAILING_LINES_MODE_MAX_KEY_LEN; + opts[HP5590_OPT_TRAILING_LINES_MODE].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + opts[HP5590_OPT_TRAILING_LINES_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST; + opts[HP5590_OPT_TRAILING_LINES_MODE].constraint.string_list = trailingmode_list; + + opts[HP5590_OPT_TRAILING_LINES_COLOR].name = SANE_NAME_TRAILING_LINES_COLOR; + opts[HP5590_OPT_TRAILING_LINES_COLOR].title = SANE_TITLE_TRAILING_LINES_COLOR; + opts[HP5590_OPT_TRAILING_LINES_COLOR].desc = SANE_DESC_TRAILING_LINES_COLOR; + opts[HP5590_OPT_TRAILING_LINES_COLOR].type = SANE_TYPE_INT; + opts[HP5590_OPT_TRAILING_LINES_COLOR].unit = SANE_UNIT_NONE; + opts[HP5590_OPT_TRAILING_LINES_COLOR].size = sizeof(SANE_Int); + opts[HP5590_OPT_TRAILING_LINES_COLOR].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + opts[HP5590_OPT_TRAILING_LINES_COLOR].constraint_type = SANE_CONSTRAINT_NONE; + opts[HP5590_OPT_TRAILING_LINES_COLOR].constraint.string_list = NULL; + ptr->opts = opts; return SANE_STATUS_GOOD; @@ -646,285 +883,541 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) return &scanner->opts[option]; } +/*************************************DS:Support function read buttons status */ +SANE_Status +read_button_pressed(SANE_Handle handle, enum button_status * button_pressed) +{ + struct hp5590_scanner * scanner = handle; + *button_pressed = BUTTON_NONE; + enum button_status status = BUTTON_NONE; + DBG (DBG_verbose, "%s: Checking button status (device_number = %u) (device_name = %s)\n", __func__, scanner->dn, scanner->sane.name); + SANE_Status ret = hp5590_read_buttons (scanner->dn, scanner->proto_flags, &status); + if (ret != SANE_STATUS_GOOD) + { + DBG (DBG_proc, "%s: Error reading button status (%u)\n", __func__, ret); + return ret; + } + DBG (DBG_verbose, "%s: Button pressed = %d\n", __func__, status); + *button_pressed = status; + return SANE_STATUS_GOOD; +} + +/******************************************************************************/ +SANE_Status +read_lcd_and_led_values(SANE_Handle handle, + SANE_Int * lcd_counter, + enum color_led_status * color_led) +{ + struct hp5590_scanner * scanner = handle; + *lcd_counter = 1; + *color_led = LED_COLOR; + DBG (DBG_verbose, "%s: Reading LCD and LED values (device_number = %u) (device_name = %s)\n", + __func__, scanner->dn, scanner->sane.name); + SANE_Status ret = hp5590_read_lcd_and_led (scanner->dn, scanner->proto_flags, lcd_counter, color_led); + if (ret != SANE_STATUS_GOOD) + { + DBG (DBG_proc, "%s: Error reading LCD and LED values (%u)\n", __func__, ret); + return ret; + } + DBG (DBG_verbose, "%s: LCD = %d, LED = %s\n", __func__, *lcd_counter, + *color_led == LED_BLACKWHITE ? COLOR_LED_VALUE_BLACKWHITE_KEY : COLOR_LED_VALUE_COLOR_KEY); + return SANE_STATUS_GOOD; +} + +/******************************************************************************/ +SANE_Status +read_doc_in_adf_value(SANE_Handle handle, + SANE_Bool * doc_in_adf) +{ + struct hp5590_scanner * scanner = handle; + DBG (DBG_verbose, "%s: Reading state of document-available in ADF (device_number = %u) (device_name = %s)\n", + __func__, scanner->dn, scanner->sane.name); + SANE_Status ret = hp5590_is_data_available (scanner->dn, scanner->proto_flags); + if (ret == SANE_STATUS_GOOD) + *doc_in_adf = SANE_TRUE; + else if (ret == SANE_STATUS_NO_DOCS) + *doc_in_adf = SANE_FALSE; + else + { + DBG (DBG_proc, "%s: Error reading state of document-available in ADF (%u)\n", __func__, ret); + return ret; + } + DBG (DBG_verbose, "%s: doc_in_adf = %s\n", __func__, *doc_in_adf == SANE_FALSE ? "false" : "true"); + return SANE_STATUS_GOOD; +} + /******************************************************************************/ SANE_Status sane_control_option (SANE_Handle handle, SANE_Int option, - SANE_Action action, void *value, + SANE_Action action, void *value, SANE_Int * info) { - struct hp5590_scanner *scanner = handle; - + struct hp5590_scanner *scanner = handle; + if (!value) return SANE_STATUS_INVAL; if (!handle) return SANE_STATUS_INVAL; - + if (option >= HP5590_OPT_LAST) return SANE_STATUS_INVAL; if (action == SANE_ACTION_GET_VALUE) { if (option == HP5590_OPT_NUM) - { - DBG(3, "%s: get total number of options - %u\n", __func__, HP5590_OPT_LAST); - *((SANE_Int *) value) = HP5590_OPT_LAST; - return SANE_STATUS_GOOD; - } - + { + DBG(3, "%s: get total number of options - %u\n", __func__, HP5590_OPT_LAST); + *((SANE_Int *) value) = HP5590_OPT_LAST; + return SANE_STATUS_GOOD; + } + if (!scanner->opts) - return SANE_STATUS_INVAL; - + return SANE_STATUS_INVAL; + DBG (DBG_proc, "%s: get option '%s' value\n", __func__, scanner->opts[option].name); if (option == HP5590_OPT_BR_X) - { - *(SANE_Fixed *) value = SANE_FIX (scanner->br_x * 25.4); - } + { + *(SANE_Fixed *) value = SANE_FIX (scanner->br_x * 25.4); + } if (option == HP5590_OPT_BR_Y) - { - *(SANE_Fixed *) value = SANE_FIX (scanner->br_y * 25.4); - } + { + *(SANE_Fixed *) value = SANE_FIX (scanner->br_y * 25.4); + } if (option == HP5590_OPT_TL_X) - { - *(SANE_Fixed *) value = SANE_FIX ((scanner->tl_x) * 25.4); - } + { + *(SANE_Fixed *) value = SANE_FIX ((scanner->tl_x) * 25.4); + } if (option == HP5590_OPT_TL_Y) - { - *(SANE_Fixed *) value = SANE_FIX (scanner->tl_y * 25.4); - } + { + *(SANE_Fixed *) value = SANE_FIX (scanner->tl_y * 25.4); + } if (option == HP5590_OPT_MODE) - { - switch (scanner->depth) { - case DEPTH_BW: - memset (value , 0, scanner->opts[option].size); - memcpy (value, SANE_VALUE_SCAN_MODE_LINEART, strlen (SANE_VALUE_SCAN_MODE_LINEART)); - break; - case DEPTH_GRAY: - memset (value , 0, scanner->opts[option].size); - memcpy (value, SANE_VALUE_SCAN_MODE_GRAY, strlen (SANE_VALUE_SCAN_MODE_GRAY)); - break; - case DEPTH_COLOR_24: - memset (value , 0, scanner->opts[option].size); - memcpy (value, SANE_VALUE_SCAN_MODE_COLOR_24, strlen (SANE_VALUE_SCAN_MODE_COLOR_24)); - break; - case DEPTH_COLOR_48: - memset (value , 0, scanner->opts[option].size); - memcpy (value, SANE_VALUE_SCAN_MODE_COLOR_48, strlen (SANE_VALUE_SCAN_MODE_COLOR_48)); - break; - default: - return SANE_STATUS_INVAL; - } - } + { + switch (scanner->depth) { + case DEPTH_BW: + memset (value , 0, scanner->opts[option].size); + memcpy (value, SANE_VALUE_SCAN_MODE_LINEART, strlen (SANE_VALUE_SCAN_MODE_LINEART)); + break; + case DEPTH_GRAY: + memset (value , 0, scanner->opts[option].size); + memcpy (value, SANE_VALUE_SCAN_MODE_GRAY, strlen (SANE_VALUE_SCAN_MODE_GRAY)); + break; + case DEPTH_COLOR_24: + memset (value , 0, scanner->opts[option].size); + memcpy (value, SANE_VALUE_SCAN_MODE_COLOR_24, strlen (SANE_VALUE_SCAN_MODE_COLOR_24)); + break; + case DEPTH_COLOR_48: + memset (value , 0, scanner->opts[option].size); + memcpy (value, SANE_VALUE_SCAN_MODE_COLOR_48, strlen (SANE_VALUE_SCAN_MODE_COLOR_48)); + break; + default: + return SANE_STATUS_INVAL; + } + } if (option == HP5590_OPT_SOURCE) - { - switch (scanner->source) { - case SOURCE_FLATBED: - memset (value , 0, scanner->opts[option].size); - memcpy (value, SANE_VALUE_SCAN_SOURCE_FLATBED, strlen (SANE_VALUE_SCAN_SOURCE_FLATBED)); - break; - case SOURCE_ADF: - memset (value , 0, scanner->opts[option].size); - memcpy (value, SANE_VALUE_SCAN_SOURCE_ADF, strlen (SANE_VALUE_SCAN_SOURCE_ADF)); - break; - case SOURCE_ADF_DUPLEX: - memset (value , 0, scanner->opts[option].size); - memcpy (value, SANE_VALUE_SCAN_SOURCE_ADF_DUPLEX, strlen (SANE_VALUE_SCAN_SOURCE_ADF_DUPLEX)); - break; - case SOURCE_TMA_SLIDES: - memset (value , 0, scanner->opts[option].size); - memcpy (value, SANE_VALUE_SCAN_SOURCE_TMA_SLIDES, strlen (SANE_VALUE_SCAN_SOURCE_TMA_SLIDES)); - break; - case SOURCE_TMA_NEGATIVES: - memset (value , 0, scanner->opts[option].size); - memcpy (value, SANE_VALUE_SCAN_SOURCE_TMA_NEGATIVES, strlen (SANE_VALUE_SCAN_SOURCE_TMA_NEGATIVES)); - break; - case SOURCE_NONE: - default: - return SANE_STATUS_INVAL; - } - } + { + switch (scanner->source) { + case SOURCE_FLATBED: + memset (value , 0, scanner->opts[option].size); + memcpy (value, SANE_VALUE_SCAN_SOURCE_FLATBED, strlen (SANE_VALUE_SCAN_SOURCE_FLATBED)); + break; + case SOURCE_ADF: + memset (value , 0, scanner->opts[option].size); + memcpy (value, SANE_VALUE_SCAN_SOURCE_ADF, strlen (SANE_VALUE_SCAN_SOURCE_ADF)); + break; + case SOURCE_ADF_DUPLEX: + memset (value , 0, scanner->opts[option].size); + memcpy (value, SANE_VALUE_SCAN_SOURCE_ADF_DUPLEX, strlen (SANE_VALUE_SCAN_SOURCE_ADF_DUPLEX)); + break; + case SOURCE_TMA_SLIDES: + memset (value , 0, scanner->opts[option].size); + memcpy (value, SANE_VALUE_SCAN_SOURCE_TMA_SLIDES, strlen (SANE_VALUE_SCAN_SOURCE_TMA_SLIDES)); + break; + case SOURCE_TMA_NEGATIVES: + memset (value , 0, scanner->opts[option].size); + memcpy (value, SANE_VALUE_SCAN_SOURCE_TMA_NEGATIVES, strlen (SANE_VALUE_SCAN_SOURCE_TMA_NEGATIVES)); + break; + case SOURCE_NONE: + default: + return SANE_STATUS_INVAL; + } + } if (option == HP5590_OPT_RESOLUTION) - { - *(SANE_Int *) value = scanner->dpi; - } + { + *(SANE_Int *) value = scanner->dpi; + } if (option == HP5590_OPT_LAMP_TIMEOUT) - { - *(SANE_Bool *) value = scanner->extend_lamp_timeout; - } + { + *(SANE_Bool *) value = scanner->extend_lamp_timeout; + } if (option == HP5590_OPT_WAIT_FOR_BUTTON) - { - *(SANE_Bool *) value = scanner->wait_for_button; - } + { + *(SANE_Bool *) value = scanner->wait_for_button; + } + + if (option == HP5590_OPT_BUTTON_PRESSED) + { + enum button_status button_pressed = BUTTON_NONE; + SANE_Status ret = read_button_pressed(scanner, &button_pressed); + if (ret != SANE_STATUS_GOOD) + return ret; + switch (button_pressed) { + case BUTTON_POWER: + strncpy (value, BUTTON_PRESSED_VALUE_POWER_KEY, scanner->opts[option].size); + break; + case BUTTON_SCAN: + strncpy (value, BUTTON_PRESSED_VALUE_SCAN_KEY, scanner->opts[option].size); + break; + case BUTTON_COLLECT: + strncpy (value, BUTTON_PRESSED_VALUE_COLLECT_KEY, scanner->opts[option].size); + break; + case BUTTON_FILE: + strncpy (value, BUTTON_PRESSED_VALUE_FILE_KEY, scanner->opts[option].size); + break; + case BUTTON_EMAIL: + strncpy (value, BUTTON_PRESSED_VALUE_EMAIL_KEY, scanner->opts[option].size); + break; + case BUTTON_COPY: + strncpy (value, BUTTON_PRESSED_VALUE_COPY_KEY, scanner->opts[option].size); + break; + case BUTTON_UP: + strncpy (value, BUTTON_PRESSED_VALUE_UP_KEY, scanner->opts[option].size); + break; + case BUTTON_DOWN: + strncpy (value, BUTTON_PRESSED_VALUE_DOWN_KEY, scanner->opts[option].size); + break; + case BUTTON_MODE: + strncpy (value, BUTTON_PRESSED_VALUE_MODE_KEY, scanner->opts[option].size); + break; + case BUTTON_CANCEL: + strncpy (value, BUTTON_PRESSED_VALUE_CANCEL_KEY, scanner->opts[option].size); + break; + case BUTTON_NONE: + default: + strncpy (value, BUTTON_PRESSED_VALUE_NONE_KEY, scanner->opts[option].size); + } + } + + if (option == HP5590_OPT_COLOR_LED) + { + SANE_Int lcd_counter = 0; + enum color_led_status color_led = LED_COLOR; + SANE_Status ret = read_lcd_and_led_values(scanner, &lcd_counter, &color_led); + if (ret != SANE_STATUS_GOOD) + return ret; + switch (color_led) { + case LED_BLACKWHITE: + strncpy (value, COLOR_LED_VALUE_BLACKWHITE_KEY, scanner->opts[option].size); + break; + case LED_COLOR: + default: + strncpy (value, COLOR_LED_VALUE_COLOR_KEY, scanner->opts[option].size); + } + } + + if (option == HP5590_OPT_LCD_COUNTER) + { + SANE_Int lcd_counter = 0; + enum color_led_status color_led = LED_COLOR; + SANE_Status ret = read_lcd_and_led_values(scanner, &lcd_counter, &color_led); + if (ret != SANE_STATUS_GOOD) + return ret; + *(SANE_Int *) value = lcd_counter; + } + + if (option == HP5590_OPT_DOC_IN_ADF) + { + SANE_Bool doc_in_adf = SANE_FALSE; + SANE_Status ret = read_doc_in_adf_value(scanner, &doc_in_adf); + if (ret != SANE_STATUS_GOOD) + return ret; + *(SANE_Bool *) value = doc_in_adf; + } if (option == HP5590_OPT_PREVIEW) - { - *(SANE_Bool *) value = scanner->preview; - } + { + *(SANE_Bool *) value = scanner->preview; + } + + if (option == HP5590_OPT_OVERWRITE_EOP_PIXEL) + { + *(SANE_Bool *) value = scanner->overwrite_eop_pixel; + } + + if (option == HP5590_OPT_TRAILING_LINES_MODE) + { + switch (scanner->eop_trailing_lines_mode) { + case TRAILING_LINES_MODE_RAW: + memset (value , 0, scanner->opts[option].size); + memcpy (value, TRAILING_LINES_MODE_RAW_KEY, strlen (TRAILING_LINES_MODE_RAW_KEY)); + break; + case TRAILING_LINES_MODE_LAST: + memset (value , 0, scanner->opts[option].size); + memcpy (value, TRAILING_LINES_MODE_LAST_KEY, strlen (TRAILING_LINES_MODE_LAST_KEY)); + break; + case TRAILING_LINES_MODE_RASTER: + memset (value , 0, scanner->opts[option].size); + memcpy (value, TRAILING_LINES_MODE_RASTER_KEY, strlen (TRAILING_LINES_MODE_RASTER_KEY)); + break; + case TRAILING_LINES_MODE_BLACK: + memset (value , 0, scanner->opts[option].size); + memcpy (value, TRAILING_LINES_MODE_BLACK_KEY, strlen (TRAILING_LINES_MODE_BLACK_KEY)); + break; + case TRAILING_LINES_MODE_WHITE: + memset (value , 0, scanner->opts[option].size); + memcpy (value, TRAILING_LINES_MODE_WHITE_KEY, strlen (TRAILING_LINES_MODE_WHITE_KEY)); + break; + case TRAILING_LINES_MODE_COLOR: + memset (value , 0, scanner->opts[option].size); + memcpy (value, TRAILING_LINES_MODE_COLOR_KEY, strlen (TRAILING_LINES_MODE_COLOR_KEY)); + break; + default: + return SANE_STATUS_INVAL; + } + } + + if (option == HP5590_OPT_TRAILING_LINES_COLOR) + { + *(SANE_Int *) value = scanner->eop_trailing_lines_color; + } } - + if (action == SANE_ACTION_SET_VALUE) { if (option == HP5590_OPT_NUM) - return SANE_STATUS_INVAL; + return SANE_STATUS_INVAL; if (option == HP5590_OPT_BR_X) - { - float val = SANE_UNFIX(*(SANE_Fixed *) value) / 25.4; - if (val <= scanner->tl_x) - return SANE_STATUS_GOOD; - scanner->br_x = val; - if (info) - *info = SANE_INFO_RELOAD_PARAMS; - } + { + float val = SANE_UNFIX(*(SANE_Fixed *) value) / 25.4; + if (val <= scanner->tl_x) + return SANE_STATUS_GOOD; + scanner->br_x = val; + if (info) + *info = SANE_INFO_RELOAD_PARAMS; + } if (option == HP5590_OPT_BR_Y) - { - float val = SANE_UNFIX(*(SANE_Fixed *) value) / 25.4; - if (val <= scanner->tl_y) - return SANE_STATUS_GOOD; - scanner->br_y = val; - if (info) - *info = SANE_INFO_RELOAD_PARAMS; - } + { + float val = SANE_UNFIX(*(SANE_Fixed *) value) / 25.4; + if (val <= scanner->tl_y) + return SANE_STATUS_GOOD; + scanner->br_y = val; + if (info) + *info = SANE_INFO_RELOAD_PARAMS; + } if (option == HP5590_OPT_TL_X) - { - float val = SANE_UNFIX(*(SANE_Fixed *) value) / 25.4; - if (val >= scanner->br_x) - return SANE_STATUS_GOOD; - scanner->tl_x = val; - if (info) - *info = SANE_INFO_RELOAD_PARAMS; - } + { + float val = SANE_UNFIX(*(SANE_Fixed *) value) / 25.4; + if (val >= scanner->br_x) + return SANE_STATUS_GOOD; + scanner->tl_x = val; + if (info) + *info = SANE_INFO_RELOAD_PARAMS; + } if (option == HP5590_OPT_TL_Y) - { - float val = SANE_UNFIX(*(SANE_Fixed *) value) / 25.4; - if (val >= scanner->br_y) - return SANE_STATUS_GOOD; - scanner->tl_y = val; - if (info) - *info = SANE_INFO_RELOAD_PARAMS; - } + { + float val = SANE_UNFIX(*(SANE_Fixed *) value) / 25.4; + if (val >= scanner->br_y) + return SANE_STATUS_GOOD; + scanner->tl_y = val; + if (info) + *info = SANE_INFO_RELOAD_PARAMS; + } if (option == HP5590_OPT_MODE) - { - if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_MODE_LINEART) == 0) - { - scanner->depth = DEPTH_BW; - } - - if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_MODE_GRAY) == 0) - { - scanner->depth = DEPTH_GRAY; - } - - if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_MODE_COLOR_24) == 0) - { - scanner->depth = DEPTH_COLOR_24; - } - - if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_MODE_COLOR_48) == 0) - { - scanner->depth = DEPTH_COLOR_48; - } - if (info) - *info = SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - } + { + if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_MODE_LINEART) == 0) + { + scanner->depth = DEPTH_BW; + } + else if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_MODE_GRAY) == 0) + { + scanner->depth = DEPTH_GRAY; + } + else if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_MODE_COLOR_24) == 0) + { + scanner->depth = DEPTH_COLOR_24; + } + else if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_MODE_COLOR_48) == 0) + { + scanner->depth = DEPTH_COLOR_48; + } + else + { + return SANE_STATUS_INVAL; + } + + if (info) + *info = SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + } if (option == HP5590_OPT_SOURCE) - { + { range_y.max = SANE_FIX(scanner->info->max_size_y * 25.4); - if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_SOURCE_FLATBED) == 0) - { - scanner->source = SOURCE_FLATBED; - range_x.max = SANE_FIX(scanner->info->max_size_x * 25.4); - range_y.max = SANE_FIX(scanner->info->max_size_y * 25.4); - scanner->br_x = scanner->info->max_size_x; - scanner->br_y = scanner->info->max_size_y; - } - /* In ADF modes the device can scan up to ADF_MAX_Y_INCHES, which is usually - * bigger than what scanner reports back during initialization - */ - if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_SOURCE_ADF) == 0) - { - scanner->source = SOURCE_ADF; - range_x.max = SANE_FIX(scanner->info->max_size_x * 25.4); - range_y.max = SANE_FIX(ADF_MAX_Y_INCHES * 25.4); - scanner->br_x = scanner->info->max_size_x; - scanner->br_y = ADF_MAX_Y_INCHES * 25.4; - } - if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_SOURCE_ADF_DUPLEX) == 0) - { - scanner->source = SOURCE_ADF_DUPLEX; - range_x.max = SANE_FIX(scanner->info->max_size_x * 25.4); - range_y.max = SANE_FIX(ADF_MAX_Y_INCHES * 25.4 * 2); - scanner->br_y = ADF_MAX_Y_INCHES * 25.4 * 2; - scanner->br_x = scanner->info->max_size_x; - } - if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_SOURCE_TMA_SLIDES) == 0) - { - scanner->source = SOURCE_TMA_SLIDES; - range_x.max = SANE_FIX(TMA_MAX_X_INCHES * 25.4); - range_y.max = SANE_FIX(TMA_MAX_Y_INCHES * 25.4); - scanner->br_x = TMA_MAX_X_INCHES * 25.4; - scanner->br_y = TMA_MAX_Y_INCHES * 25.4; - } - if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_SOURCE_TMA_NEGATIVES) == 0) - { - scanner->source = SOURCE_TMA_NEGATIVES; - range_x.max = SANE_FIX(TMA_MAX_X_INCHES * 25.4); - range_y.max = SANE_FIX(TMA_MAX_Y_INCHES * 25.4); - scanner->br_x = TMA_MAX_X_INCHES * 25.4; - scanner->br_y = TMA_MAX_Y_INCHES * 25.4; - } - if (info) - *info = SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - } + if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_SOURCE_FLATBED) == 0) + { + scanner->source = SOURCE_FLATBED; + range_x.max = SANE_FIX(scanner->info->max_size_x * 25.4); + range_y.max = SANE_FIX(scanner->info->max_size_y * 25.4); + scanner->br_x = scanner->info->max_size_x; + scanner->br_y = scanner->info->max_size_y; + } + else if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_SOURCE_ADF) == 0) + { + /* In ADF modes the device can scan up to ADF_MAX_Y_INCHES, which is usually + * bigger than what scanner reports back during initialization + */ + if (! (scanner->info->features & FEATURE_ADF)) + { + DBG(DBG_err, "ADF feature not available: %s\n", (char *) value); + return SANE_STATUS_UNSUPPORTED; + } + scanner->source = SOURCE_ADF; + range_x.max = SANE_FIX(scanner->info->max_size_x * 25.4); + range_y.max = SANE_FIX(ADF_MAX_Y_INCHES * 25.4); + scanner->br_x = scanner->info->max_size_x; + scanner->br_y = ADF_MAX_Y_INCHES; + } + else if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_SOURCE_ADF_DUPLEX) == 0) + { + if (! (scanner->info->features & FEATURE_ADF)) + { + DBG(DBG_err, "ADF feature not available: %s\n", (char *) value); + return SANE_STATUS_UNSUPPORTED; + } + scanner->source = SOURCE_ADF_DUPLEX; + range_x.max = SANE_FIX(scanner->info->max_size_x * 25.4); + range_y.max = SANE_FIX(ADF_MAX_Y_INCHES * 25.4); + scanner->br_x = scanner->info->max_size_x; + scanner->br_y = ADF_MAX_Y_INCHES; + } + else if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_SOURCE_TMA_SLIDES) == 0) + { + if (! (scanner->info->features & FEATURE_TMA)) + { + DBG(DBG_err, "TMA feature not available: %s\n", (char *) value); + return SANE_STATUS_UNSUPPORTED; + } + scanner->source = SOURCE_TMA_SLIDES; + range_x.max = SANE_FIX(TMA_MAX_X_INCHES * 25.4); + range_y.max = SANE_FIX(TMA_MAX_Y_INCHES * 25.4); + scanner->br_x = TMA_MAX_X_INCHES; + scanner->br_y = TMA_MAX_Y_INCHES; + } + else if (strcmp ((char *) value, (char *) SANE_VALUE_SCAN_SOURCE_TMA_NEGATIVES) == 0) + { + if (! (scanner->info->features & FEATURE_TMA)) + { + DBG(DBG_err, "TMA feature not available: %s\n", (char *) value); + return SANE_STATUS_UNSUPPORTED; + } + scanner->source = SOURCE_TMA_NEGATIVES; + range_x.max = SANE_FIX(TMA_MAX_X_INCHES * 25.4); + range_y.max = SANE_FIX(TMA_MAX_Y_INCHES * 25.4); + scanner->br_x = TMA_MAX_X_INCHES; + scanner->br_y = TMA_MAX_Y_INCHES; + } + else + { + return SANE_STATUS_INVAL; + } + if (info) + *info = SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + } if (option == HP5590_OPT_RESOLUTION) - { - scanner->dpi = *(SANE_Int *) value; - if (info) - *info = SANE_INFO_RELOAD_PARAMS; - } + { + scanner->dpi = *(SANE_Int *) value; + if (info) + *info = SANE_INFO_RELOAD_PARAMS; + } if (option == HP5590_OPT_LAMP_TIMEOUT) - { - scanner->extend_lamp_timeout = *(SANE_Bool *) value; - } + { + scanner->extend_lamp_timeout = *(SANE_Bool *) value; + } if (option == HP5590_OPT_WAIT_FOR_BUTTON) - { - scanner->wait_for_button = *(SANE_Bool *) value; - } + { + scanner->wait_for_button = *(SANE_Bool *) value; + } + + if (option == HP5590_OPT_BUTTON_PRESSED) + { + DBG(DBG_verbose, "State of buttons is read only. Setting of state will be ignored.\n"); + } + + if (option == HP5590_OPT_COLOR_LED) + { + DBG(DBG_verbose, "State of color LED indicator is read only. Setting of state will be ignored.\n"); + } + + if (option == HP5590_OPT_LCD_COUNTER) + { + DBG(DBG_verbose, "Value of LCD counter is read only. Setting of value will be ignored.\n"); + } + + if (option == HP5590_OPT_DOC_IN_ADF) + { + DBG(DBG_verbose, "Value of document-available indicator is read only. Setting of value will be ignored.\n"); + } if (option == HP5590_OPT_PREVIEW) - { - scanner->preview = *(SANE_Bool *) value; - } + { + scanner->preview = *(SANE_Bool *) value; + } + + if (option == HP5590_OPT_OVERWRITE_EOP_PIXEL) + { + scanner->overwrite_eop_pixel = *(SANE_Bool *) value; + } + + if (option == HP5590_OPT_TRAILING_LINES_MODE) + { + if (strcmp ((char *) value, (char *) TRAILING_LINES_MODE_RAW_KEY) == 0) + scanner->eop_trailing_lines_mode = TRAILING_LINES_MODE_RAW; + if (strcmp ((char *) value, (char *) TRAILING_LINES_MODE_LAST_KEY) == 0) + scanner->eop_trailing_lines_mode = TRAILING_LINES_MODE_LAST; + if (strcmp ((char *) value, (char *) TRAILING_LINES_MODE_RASTER_KEY) == 0) + scanner->eop_trailing_lines_mode = TRAILING_LINES_MODE_RASTER; + if (strcmp ((char *) value, (char *) TRAILING_LINES_MODE_BLACK_KEY) == 0) + scanner->eop_trailing_lines_mode = TRAILING_LINES_MODE_BLACK; + if (strcmp ((char *) value, (char *) TRAILING_LINES_MODE_WHITE_KEY) == 0) + scanner->eop_trailing_lines_mode = TRAILING_LINES_MODE_WHITE; + if (strcmp ((char *) value, (char *) TRAILING_LINES_MODE_COLOR_KEY) == 0) + scanner->eop_trailing_lines_mode = TRAILING_LINES_MODE_COLOR; + } + + if (option == HP5590_OPT_TRAILING_LINES_COLOR) + { + scanner->eop_trailing_lines_color = *(SANE_Int *) value; + } } - + return SANE_STATUS_GOOD; } /******************************************************************************/ SANE_Status sane_get_parameters (SANE_Handle handle, - SANE_Parameters * params) + SANE_Parameters * params) { - struct hp5590_scanner *scanner = handle; - SANE_Status ret; - unsigned int pixel_bits; + struct hp5590_scanner *scanner = handle; + SANE_Status ret; + unsigned int pixel_bits; DBG (DBG_proc, "%s\n", __func__); @@ -935,10 +1428,10 @@ SANE_Status sane_get_parameters (SANE_Handle handle, return SANE_STATUS_INVAL; ret = calc_image_params (scanner, - (unsigned int *) &pixel_bits, - (unsigned int *) ¶ms->pixels_per_line, - (unsigned int *) ¶ms->bytes_per_line, - (unsigned int *) ¶ms->lines, NULL); + (unsigned int *) &pixel_bits, + (unsigned int *) ¶ms->pixels_per_line, + (unsigned int *) ¶ms->bytes_per_line, + (unsigned int *) ¶ms->lines, NULL); if (ret != SANE_STATUS_GOOD) return ret; @@ -964,11 +1457,11 @@ SANE_Status sane_get_parameters (SANE_Handle handle, params->format = SANE_FRAME_RGB; break; default: - DBG(0, "%s: Unknown depth\n", __func__); + DBG(DBG_err, "%s: Unknown depth\n", __func__); return SANE_STATUS_INVAL; } - + DBG (DBG_proc, "format: %u, last_frame: %u, bytes_per_line: %u, " "pixels_per_line: %u, lines: %u, depth: %u\n", params->format, params->last_frame, @@ -982,31 +1475,61 @@ SANE_Status sane_get_parameters (SANE_Handle handle, SANE_Status sane_start (SANE_Handle handle) { - struct hp5590_scanner *scanner = handle; - SANE_Status ret; - unsigned int bytes_per_line; + struct hp5590_scanner *scanner = handle; + SANE_Status ret; + unsigned int bytes_per_line; DBG (DBG_proc, "%s\n", __func__); if (!scanner) return SANE_STATUS_INVAL; + /* Cleanup for all pages. */ + if (scanner->eop_last_line_data) + { + /* Release last line data */ + free (scanner->eop_last_line_data); + scanner->eop_last_line_data = NULL; + scanner->eop_last_line_data_rpos = 0; + } + if (scanner->one_line_read_buffer) + { + /* Release temporary line buffer. */ + free (scanner->one_line_read_buffer); + scanner->one_line_read_buffer = NULL; + scanner->one_line_read_buffer_rpos = 0; + } + if (scanner->color_shift_line_buffer1) + { + /* Release line buffer1 for shifting colors. */ + free (scanner->color_shift_line_buffer1); + scanner->color_shift_line_buffer1 = NULL; + scanner->color_shift_buffered_lines1 = 0; + } + if (scanner->color_shift_line_buffer2) + { + /* Release line buffer2 for shifting colors. */ + free (scanner->color_shift_line_buffer2); + scanner->color_shift_line_buffer2 = NULL; + scanner->color_shift_buffered_lines2 = 0; + } + if ( scanner->scanning == SANE_TRUE && ( scanner->source == SOURCE_ADF - || scanner->source == SOURCE_ADF_DUPLEX)) + || scanner->source == SOURCE_ADF_DUPLEX)) { DBG (DBG_verbose, "%s: Scanner is scanning, check if more data is available\n", - __func__); + __func__); ret = hp5590_is_data_available (scanner->dn, scanner->proto_flags); if (ret == SANE_STATUS_GOOD) - { - DBG (DBG_verbose, "%s: More data is available\n", __func__); - scanner->transferred_image_size = scanner->image_size; - return SANE_STATUS_GOOD; - } + { + DBG (DBG_verbose, "%s: More data is available\n", __func__); + scanner->transferred_image_size = scanner->image_size; + return SANE_STATUS_GOOD; + } if (ret != SANE_STATUS_NO_DOCS) - return ret; + return ret; } sane_cancel (handle); @@ -1015,25 +1538,25 @@ sane_start (SANE_Handle handle) { enum button_status status; for (;;) - { - ret = hp5590_read_buttons (scanner->dn, - scanner->proto_flags, - &status); - if (ret != SANE_STATUS_GOOD) - return ret; - - if (status == BUTTON_CANCEL) - return SANE_STATUS_CANCELLED; - - if (status != BUTTON_NONE && status != BUTTON_POWER) - break; - sleep (1); - } + { + ret = hp5590_read_buttons (scanner->dn, + scanner->proto_flags, + &status); + if (ret != SANE_STATUS_GOOD) + return ret; + + if (status == BUTTON_CANCEL) + return SANE_STATUS_CANCELLED; + + if (status != BUTTON_NONE && status != BUTTON_POWER) + break; + usleep (100 * 1000); + } } - DBG (DBG_verbose, "Init scanner\n"); + DBG (DBG_verbose, "Init scanner\n"); ret = hp5590_init_scanner (scanner->dn, scanner->proto_flags, - NULL, SCANNER_NONE); + NULL, SCANNER_NONE); if (ret != SANE_STATUS_GOOD) return ret; @@ -1043,21 +1566,21 @@ sane_start (SANE_Handle handle) DBG (DBG_verbose, "Wakeup\n"); ret = hp5590_select_source_and_wakeup (scanner->dn, scanner->proto_flags, - scanner->source, - scanner->extend_lamp_timeout); + scanner->source, + scanner->extend_lamp_timeout); if (ret != SANE_STATUS_GOOD) return ret; - + ret = hp5590_set_scan_params (scanner->dn, - scanner->proto_flags, - scanner->info, - scanner->tl_x * scanner->dpi, - scanner->tl_y * scanner->dpi, - (scanner->br_x - scanner->tl_x) * scanner->dpi, - (scanner->br_y - scanner->tl_y) * scanner->dpi, - scanner->dpi, - scanner->depth, scanner->preview ? MODE_PREVIEW : MODE_NORMAL, - scanner->source); + scanner->proto_flags, + scanner->info, + scanner->tl_x * scanner->dpi, + scanner->tl_y * scanner->dpi, + (scanner->br_x - scanner->tl_x) * scanner->dpi, + (scanner->br_y - scanner->tl_y) * scanner->dpi, + scanner->dpi, + scanner->depth, scanner->preview ? MODE_PREVIEW : MODE_NORMAL, + scanner->source); if (ret != SANE_STATUS_GOOD) { hp5590_reset_scan_head (scanner->dn, scanner->proto_flags); @@ -1065,8 +1588,8 @@ sane_start (SANE_Handle handle) } ret = calc_image_params (scanner, NULL, NULL, - &bytes_per_line, NULL, - &scanner->image_size); + &bytes_per_line, NULL, + &scanner->image_size); if (ret != SANE_STATUS_GOOD) { hp5590_reset_scan_head (scanner->dn, scanner->proto_flags); @@ -1079,35 +1602,35 @@ sane_start (SANE_Handle handle) || scanner->depth == DEPTH_COLOR_48) { DBG (1, "Color 24/48 bits: checking if image size is correctly " - "aligned on number of colors\n"); + "aligned on number of colors\n"); if (bytes_per_line % 3) - { - DBG (DBG_err, "Color 24/48 bits: image size doesn't lined up on number of colors (3) " - "(image size: %u, bytes per line %u)\n", - scanner->image_size, bytes_per_line); + { + DBG (DBG_err, "Color 24/48 bits: image size doesn't lined up on number of colors (3) " + "(image size: %llu, bytes per line %u)\n", + scanner->image_size, bytes_per_line); hp5590_reset_scan_head (scanner->dn, scanner->proto_flags); - return SANE_STATUS_INVAL; - } + return SANE_STATUS_INVAL; + } DBG (1, "Color 24/48 bits: image size is correctly aligned on number of colors " - "(image size: %u, bytes per line %u)\n", - scanner->image_size, bytes_per_line); + "(image size: %llu, bytes per line %u)\n", + scanner->image_size, bytes_per_line); DBG (1, "Color 24/48 bits: checking if image size is correctly " - "aligned on bytes per line\n"); + "aligned on bytes per line\n"); if (scanner->image_size % bytes_per_line) - { - DBG (DBG_err, "Color 24/48 bits: image size doesn't lined up on bytes per line " - "(image size: %u, bytes per line %u)\n", - scanner->image_size, bytes_per_line); + { + DBG (DBG_err, "Color 24/48 bits: image size doesn't lined up on bytes per line " + "(image size: %llu, bytes per line %u)\n", + scanner->image_size, bytes_per_line); hp5590_reset_scan_head (scanner->dn, scanner->proto_flags); - return SANE_STATUS_INVAL; - } + return SANE_STATUS_INVAL; + } DBG (1, "Color 24/48 bits: image size correctly aligned on bytes per line " - "(images size: %u, bytes per line: %u)\n", - scanner->image_size, bytes_per_line); + "(images size: %llu, bytes per line: %u)\n", + scanner->image_size, bytes_per_line); } - - DBG (DBG_verbose, "Final image size: %u\n", scanner->image_size); + + DBG (DBG_verbose, "Final image size: %llu\n", scanner->image_size); DBG (DBG_verbose, "Reverse calibration maps\n"); ret = hp5590_send_reverse_calibration_map (scanner->dn, scanner->proto_flags); @@ -1125,14 +1648,23 @@ sane_start (SANE_Handle handle) return ret; } + if (scanner->adf_next_page_lines_data) + { + free (scanner->adf_next_page_lines_data); + scanner->adf_next_page_lines_data = NULL; + scanner->adf_next_page_lines_data_size = 0; + scanner->adf_next_page_lines_data_rpos = 0; + scanner->adf_next_page_lines_data_wpos = 0; + } + scanner->scanning = SANE_TRUE; DBG (DBG_verbose, "Starting scan\n"); ret = hp5590_start_scan (scanner->dn, scanner->proto_flags); /* Check for paper jam */ - if ( ret == SANE_STATUS_DEVICE_BUSY + if ( ret == SANE_STATUS_DEVICE_BUSY && ( scanner->source == SOURCE_ADF - || scanner->source == SOURCE_ADF_DUPLEX)) + || scanner->source == SOURCE_ADF_DUPLEX)) return SANE_STATUS_JAMMED; if (ret != SANE_STATUS_GOOD) @@ -1145,44 +1677,218 @@ sane_start (SANE_Handle handle) } /******************************************************************************/ -static SANE_Status -convert_lineart (struct hp5590_scanner *scanner, SANE_Byte *data, SANE_Int size) +static void +invert_negative_colors (unsigned char *buf, unsigned int bytes_per_line, struct hp5590_scanner *scanner) { - SANE_Int i; + /* Invert lineart or negatives. */ + int is_linear = (scanner->depth == DEPTH_BW); + int is_negative = (scanner->source == SOURCE_TMA_NEGATIVES); + if (is_linear ^ is_negative) + { + for (unsigned int k = 0; k < bytes_per_line; k++) + buf[k] ^= 0xff; + } +} - DBG (DBG_proc, "%s\n", __func__); +/******************************************************************************/ +static SANE_Status +convert_gray_and_lineart (struct hp5590_scanner *scanner, SANE_Byte *data, SANE_Int size) +{ + unsigned int pixels_per_line; + unsigned int pixel_bits; + unsigned int bytes_per_line; + unsigned int lines; + unsigned char *buf; + SANE_Status ret; hp5590_assert (scanner != NULL); hp5590_assert (data != NULL); - /* Invert lineart */ - if (scanner->depth == DEPTH_BW) + if ( ! (scanner->depth == DEPTH_BW || scanner->depth == DEPTH_GRAY)) + return SANE_STATUS_GOOD; + + DBG (DBG_proc, "%s\n", __func__); + + ret = calc_image_params (scanner, + &pixel_bits, + &pixels_per_line, &bytes_per_line, + NULL, NULL); + if (ret != SANE_STATUS_GOOD) + return ret; + + lines = size / bytes_per_line; + + buf = data; + for (unsigned int i = 0; i < lines; buf += bytes_per_line, ++i) { - for (i = 0; i < size; i++) - data[i] ^= 0xff; + if (! scanner->eop_last_line_data) + { + if (pixels_per_line > 0) + { + /* Test for last-line indicator pixel. If found, store last line + * and optionally overwrite indicator pixel with neighbor value. + */ + unsigned int j = bytes_per_line - 1; + int eop_found = 0; + if (scanner->depth == DEPTH_GRAY) + { + eop_found = (buf[j] != 0); + if (scanner->overwrite_eop_pixel && (j > 0)) + { + buf[j] = buf[j-1]; + } + } + else if (scanner->depth == DEPTH_BW) + { + eop_found = (buf[j] != 0); + if (scanner->overwrite_eop_pixel && (j > 0)) + { + buf[j] = (buf[j-1] & 0x01) ? 0xff : 0; + } + } + + invert_negative_colors (buf, bytes_per_line, scanner); + + if (eop_found && (! scanner->eop_last_line_data)) + { + DBG (DBG_verbose, "Found end-of-page at line %u in reading block.\n", i); + scanner->eop_last_line_data = malloc(bytes_per_line); + if (! scanner->eop_last_line_data) + return SANE_STATUS_NO_MEM; + + memcpy (scanner->eop_last_line_data, buf, bytes_per_line); + scanner->eop_last_line_data_rpos = 0; + + /* Fill trailing line buffer with requested color. */ + if (scanner->eop_trailing_lines_mode == TRAILING_LINES_MODE_RASTER) + { + /* Black-white raster. */ + if (scanner->depth == DEPTH_BW) + { + memset (scanner->eop_last_line_data, 0xaa, bytes_per_line); + } + else + { + /* Gray. */ + for (unsigned int k = 0; k < bytes_per_line; ++k) + { + scanner->eop_last_line_data[k] = (k & 1 ? 0xff : 0); + } + } + } + else if (scanner->eop_trailing_lines_mode == TRAILING_LINES_MODE_WHITE) + { + /* White. */ + if (scanner->depth == DEPTH_BW) + { + memset (scanner->eop_last_line_data, 0x00, bytes_per_line); + } + else + { + memset (scanner->eop_last_line_data, 0xff, bytes_per_line); + } + } + else if (scanner->eop_trailing_lines_mode == TRAILING_LINES_MODE_BLACK) + { + /* Black. */ + if (scanner->depth == DEPTH_BW) + { + memset (scanner->eop_last_line_data, 0xff, bytes_per_line); + } + else + { + memset (scanner->eop_last_line_data, 0x00, bytes_per_line); + } + } + else if (scanner->eop_trailing_lines_mode == TRAILING_LINES_MODE_COLOR) + { + if (scanner->depth == DEPTH_BW) + { + /* Black or white. */ + memset (scanner->eop_last_line_data, scanner->eop_trailing_lines_color & 0x01 ? 0x00 : 0xff, bytes_per_line); + } + else + { + /* Gray value */ + memset (scanner->eop_last_line_data, scanner->eop_trailing_lines_color & 0xff, bytes_per_line); + } + } + } + } + } + else + { + DBG (DBG_verbose, "Trailing lines mode: line=%u, mode=%d, color=%u\n", + i, scanner->eop_trailing_lines_mode, scanner->eop_trailing_lines_color); + + if ((scanner->source == SOURCE_ADF) || (scanner->source == SOURCE_ADF_DUPLEX)) + { + /* We are in in ADF mode after last-line and store next page data + * to buffer. + */ + if (! scanner->adf_next_page_lines_data) + { + unsigned int n_rest_lines = lines - i; + unsigned int buf_size = n_rest_lines * bytes_per_line; + scanner->adf_next_page_lines_data = malloc(buf_size); + if (! scanner->adf_next_page_lines_data) + return SANE_STATUS_NO_MEM; + scanner->adf_next_page_lines_data_size = buf_size; + scanner->adf_next_page_lines_data_rpos = 0; + scanner->adf_next_page_lines_data_wpos = 0; + DBG (DBG_verbose, "ADF between pages: Save n=%u next page lines in buffer.\n", n_rest_lines); + } + DBG (DBG_verbose, "ADF between pages: Store line %u of %u.\n", i, lines); + invert_negative_colors (buf, bytes_per_line, scanner); + memcpy (scanner->adf_next_page_lines_data + scanner->adf_next_page_lines_data_wpos, buf, bytes_per_line); + scanner->adf_next_page_lines_data_wpos += bytes_per_line; + } + + if (scanner->eop_trailing_lines_mode != TRAILING_LINES_MODE_RAW) + { + /* Copy last line data or corresponding color over trailing lines + * data. + */ + memcpy (buf, scanner->eop_last_line_data, bytes_per_line); + } + } } return SANE_STATUS_GOOD; } +/******************************************************************************/ +static unsigned char +get_checked (unsigned char *ptr, unsigned int i, unsigned int length) +{ + if (i < length) + { + return ptr[i]; + } + DBG (DBG_details, "get from array out of range: idx=%u, size=%u\n", i, length); + return 0; +} + /******************************************************************************/ static SANE_Status convert_to_rgb (struct hp5590_scanner *scanner, SANE_Byte *data, SANE_Int size) { unsigned int pixels_per_line; + unsigned int pixel_bits; unsigned int bytes_per_color; unsigned int bytes_per_line; + unsigned int bytes_per_line_limit; unsigned int lines; unsigned int i, j; unsigned char *buf; + unsigned char *bufptr; unsigned char *ptr; - SANE_Status ret; + SANE_Status ret; hp5590_assert (scanner != NULL); hp5590_assert (data != NULL); - if ( scanner->depth == DEPTH_BW - || scanner->depth == DEPTH_GRAY) + if ( ! (scanner->depth == DEPTH_COLOR_24 || scanner->depth == DEPTH_COLOR_48)) return SANE_STATUS_GOOD; DBG (DBG_proc, "%s\n", __func__); @@ -1193,79 +1899,555 @@ convert_to_rgb (struct hp5590_scanner *scanner, SANE_Byte *data, SANE_Int size) #endif ret = calc_image_params (scanner, - NULL, - &pixels_per_line, &bytes_per_line, - NULL, NULL); + &pixel_bits, + &pixels_per_line, &bytes_per_line, + NULL, NULL); if (ret != SANE_STATUS_GOOD) return ret; lines = size / bytes_per_line; - bytes_per_color = bytes_per_line / 3; - - DBG (DBG_verbose, "Length : %u\n", size); + bytes_per_color = (pixel_bits + 7) / 8; + + bytes_per_line_limit = bytes_per_line; + if ((scanner->depth == DEPTH_COLOR_48) && (bytes_per_line_limit > 3)) + { + /* Last-line indicator pixel has only 3 bytes instead of 6. */ + bytes_per_line_limit -= 3; + } + + DBG (DBG_verbose, "Length : %u\n", size); DBG (DBG_verbose, "Converting row RGB to normal RGB\n"); DBG (DBG_verbose, "Bytes per line %u\n", bytes_per_line); + DBG (DBG_verbose, "Bytes per line limited %u\n", bytes_per_line_limit); DBG (DBG_verbose, "Bytes per color %u\n", bytes_per_color); + DBG (DBG_verbose, "Pixels per line %u\n", pixels_per_line); DBG (DBG_verbose, "Lines %u\n", lines); - buf = malloc (bytes_per_line); - if (!buf) + /* Use working buffer for color mapping. */ + bufptr = malloc (size); + if (! bufptr) return SANE_STATUS_NO_MEM; + memset (bufptr, 0, size); + buf = bufptr; ptr = data; - for (j = 0; j < lines; ptr += bytes_per_line, j++) + for (j = 0; j < lines; ptr += bytes_per_line_limit, buf += bytes_per_line, j++) { - memset (buf, 0, bytes_per_line); for (i = 0; i < pixels_per_line; i++) - { - if (scanner->depth == DEPTH_COLOR_24) - { - /* R */ - buf[i*3] = ptr[i]; - /* G */ - buf[i*3+1] = ptr[i+bytes_per_color]; - /* B */ - buf[i*3+2] = ptr[i+bytes_per_color*2]; - } - else - { - /* R */ - buf[i*6] = ptr[2*i+1]; - buf[i*6+1] = ptr[2*i]; - /* G */ - buf[i*6+2] = ptr[2*i+bytes_per_color+1]; - buf[i*6+3] = ptr[2*i+bytes_per_color]; - /* B */ - buf[i*6+4] = ptr[2*i+bytes_per_color*2+1]; - buf[i*6+5] = ptr[2*i+bytes_per_color*2]; - } - } - - /* Invert pixels in case of TMA Negatives source has been selected */ - if (scanner->source == SOURCE_TMA_NEGATIVES) { - for (i = 0; i < bytes_per_line; i++) - buf[i] ^= 0xff; + /* Color mapping from raw scanner data to RGB buffer. */ + if (scanner->depth == DEPTH_COLOR_24) + { + /* R */ + buf[i*3] = get_checked(ptr, i, bytes_per_line_limit); + /* G */ + buf[i*3+1] = get_checked(ptr, i+pixels_per_line, bytes_per_line_limit);; + /* B */ + buf[i*3+2] = get_checked(ptr, i+pixels_per_line*2, bytes_per_line_limit); + } + else if (scanner->depth == DEPTH_COLOR_48) + { + /* Note: The last-line indicator pixel uses only 24 bits, not 48. + *Blue uses offset of 2 bytes. Green swaps lo and hi. + */ + /* R lo, hi*/ + buf[i*6] = get_checked(ptr, 2*i+(pixels_per_line-1)*0+1, bytes_per_line_limit); + buf[i*6+1] = get_checked(ptr, 2*i+(pixels_per_line-1)*0+0, bytes_per_line_limit); + /* G lo, hi*/ + buf[i*6+2] = get_checked(ptr, 2*i+(pixels_per_line-1)*2+0, bytes_per_line_limit); + buf[i*6+3] = get_checked(ptr, 2*i+(pixels_per_line-1)*2+1, bytes_per_line_limit); + /* B lo, hi*/ + buf[i*6+4] = get_checked(ptr, 2*i+(pixels_per_line-1)*4+1+2, bytes_per_line_limit); + buf[i*6+5] = get_checked(ptr, 2*i+(pixels_per_line-1)*4+0+2, bytes_per_line_limit); + } + } + + if (! scanner->eop_last_line_data) + { + if (pixels_per_line > 0) + { + /* Test for last-line indicator pixel on blue. If found, store + * last line and optionally overwrite indicator pixel with + * neighbor value. + */ + i = pixels_per_line - 1; + int eop_found = 0; + if (scanner->depth == DEPTH_COLOR_24) + { + /* DBG (DBG_details, "BUF24: %u %u %u\n", buf[i*3], buf[i*3+1], buf[i*3+2]); */ + eop_found = (buf[i*3+2] != 0); + if (scanner->overwrite_eop_pixel && (i > 0)) + { + buf[i*3] = buf[(i-1)*3]; + buf[i*3+1] = buf[(i-1)*3+1]; + buf[i*3+2] = buf[(i-1)*3+2]; + } + } + else if (scanner->depth == DEPTH_COLOR_48) + { + /* DBG (DBG_details, "BUF48: %u %u %u\n", buf[i*6+1], buf[i*6+3], buf[i*6+5]); */ + eop_found = (buf[i*6+5] != 0); + if (scanner->overwrite_eop_pixel && (i > 0)) + { + buf[i*6] = buf[(i-1)*6]; + buf[i*6+1] = buf[(i-1)*6+1]; + buf[i*6+2] = buf[(i-1)*6+2]; + buf[i*6+3] = buf[(i-1)*6+3]; + buf[i*6+4] = buf[(i-1)*6+4]; + buf[i*6+5] = buf[(i-1)*6+5]; + } + } + + invert_negative_colors (buf, bytes_per_line, scanner); + + if (eop_found && (! scanner->eop_last_line_data)) + { + DBG (DBG_verbose, "Found end-of-page at line %u in reading block.\n", j); + scanner->eop_last_line_data = malloc(bytes_per_line); + if (! scanner->eop_last_line_data) + return SANE_STATUS_NO_MEM; + + memcpy (scanner->eop_last_line_data, buf, bytes_per_line); + scanner->eop_last_line_data_rpos = 0; + + /* Fill trailing line buffer with requested color. */ + if (scanner->eop_trailing_lines_mode == TRAILING_LINES_MODE_RASTER) + { + /* Black-white raster. */ + if (scanner->depth == DEPTH_COLOR_24) + { + for (unsigned int k = 0; k < bytes_per_line; ++k) + { + scanner->eop_last_line_data[k] = (k % 6 < 3 ? 0xff : 0); + } + } + else + { + /* Color48. */ + for (unsigned int k = 0; k < bytes_per_line; ++k) + { + scanner->eop_last_line_data[k] = (k % 12 < 6 ? 0xff : 0); + } + } + } + else if (scanner->eop_trailing_lines_mode == TRAILING_LINES_MODE_WHITE) + { + memset (scanner->eop_last_line_data, 0xff, bytes_per_line); + } + else if (scanner->eop_trailing_lines_mode == TRAILING_LINES_MODE_BLACK) + { + memset (scanner->eop_last_line_data, 0x00, bytes_per_line); + } + else if (scanner->eop_trailing_lines_mode == TRAILING_LINES_MODE_COLOR) + { + /* RGB color value. */ + int rgb[3]; + rgb[0] = (scanner->eop_trailing_lines_color >> 16) & 0xff; + rgb[1] = (scanner->eop_trailing_lines_color >> 8) & 0xff; + rgb[2] = scanner->eop_trailing_lines_color & 0xff; + if (scanner->depth == DEPTH_COLOR_24) + { + for (unsigned int k = 0; k < bytes_per_line; ++k) + { + scanner->eop_last_line_data[k] = rgb[k % 3]; + } + } + else + { + /* Color48. */ + for (unsigned int k = 0; k < bytes_per_line; ++k) + { + scanner->eop_last_line_data[k] = rgb[(k % 6) >> 1]; + } + } + } + } + } + } + else + { + DBG (DBG_verbose, "Trailing lines mode: line=%u, mode=%d, color=%u\n", + j, scanner->eop_trailing_lines_mode, scanner->eop_trailing_lines_color); + + if ((scanner->source == SOURCE_ADF) || (scanner->source == SOURCE_ADF_DUPLEX)) + { + /* We are in in ADF mode after last-line and store next page data + * to buffer. + */ + if (! scanner->adf_next_page_lines_data) + { + unsigned int n_rest_lines = lines - j; + unsigned int buf_size = n_rest_lines * bytes_per_line; + scanner->adf_next_page_lines_data = malloc(buf_size); + if (! scanner->adf_next_page_lines_data) + return SANE_STATUS_NO_MEM; + scanner->adf_next_page_lines_data_size = buf_size; + scanner->adf_next_page_lines_data_rpos = 0; + scanner->adf_next_page_lines_data_wpos = 0; + DBG (DBG_verbose, "ADF between pages: Save n=%u next page lines in buffer.\n", n_rest_lines); + } + DBG (DBG_verbose, "ADF between pages: Store line %u of %u.\n", j, lines); + invert_negative_colors (buf, bytes_per_line, scanner); + memcpy (scanner->adf_next_page_lines_data + scanner->adf_next_page_lines_data_wpos, buf, bytes_per_line); + scanner->adf_next_page_lines_data_wpos += bytes_per_line; + } + + if (scanner->eop_trailing_lines_mode != TRAILING_LINES_MODE_RAW) + { + /* Copy last line data or corresponding color over trailing lines + * data. + */ + memcpy (buf, scanner->eop_last_line_data, bytes_per_line); + } + } + } + memcpy (data, bufptr, size); + free (bufptr); + + return SANE_STATUS_GOOD; +} + +/******************************************************************************/ +static void +read_data_from_temporary_buffer(struct hp5590_scanner *scanner, + SANE_Byte * data, unsigned int max_length, + unsigned int bytes_per_line, SANE_Int *length) +{ + *length = 0; + if (scanner && scanner->one_line_read_buffer) + { + /* Copy scan data from temporary read buffer and return size copied data. */ + /* Release buffer, when no data left. */ + unsigned int rest_len; + rest_len = bytes_per_line - scanner->one_line_read_buffer_rpos; + rest_len = (rest_len < max_length) ? rest_len : max_length; + if (rest_len > 0) + { + memcpy (data, scanner->one_line_read_buffer + scanner->one_line_read_buffer_rpos, rest_len); + scanner->one_line_read_buffer_rpos += rest_len; + scanner->transferred_image_size -= rest_len; + *length = rest_len; + } + + DBG (DBG_verbose, "Copy scan data from temporary buffer: length = %u, rest in buffer = %u.\n", + *length, bytes_per_line - scanner->one_line_read_buffer_rpos); + + if (scanner->one_line_read_buffer_rpos >= bytes_per_line) + { + DBG (DBG_verbose, "Release temporary buffer.\n"); + free (scanner->one_line_read_buffer); + scanner->one_line_read_buffer = NULL; + scanner->one_line_read_buffer_rpos = 0; + } + } +} + +/******************************************************************************/ +static SANE_Status +sane_read_internal (struct hp5590_scanner * scanner, SANE_Byte * data, + SANE_Int max_length, SANE_Int * length, unsigned int bytes_per_line) +{ + SANE_Status ret; + + DBG (DBG_proc, "%s, length %u, left %llu\n", + __func__, + max_length, + scanner->transferred_image_size); + + SANE_Int length_limited = 0; + *length = max_length; + if ((unsigned long long) *length > scanner->transferred_image_size) + *length = (SANE_Int) scanner->transferred_image_size; + + /* Align reading size to bytes per line. */ + *length -= *length % bytes_per_line; + + if (scanner->depth == DEPTH_COLOR_48) + { + /* Note: The last-line indicator pixel uses only 24 bits (3 bytes), not + * 48 bits (6 bytes). + */ + if (bytes_per_line > 3) + { + length_limited = *length - *length % (bytes_per_line - 3); + } + } + + DBG (DBG_verbose, "Aligning requested size to bytes per line " + "(requested: %d, aligned: %u, limit_for_48bit: %u)\n", + max_length, *length, length_limited); + + if (max_length <= 0) + { + DBG (DBG_verbose, "Buffer too small for one scan line. Need at least %u bytes per line.\n", + bytes_per_line); + scanner->scanning = SANE_FALSE; + return SANE_STATUS_UNSUPPORTED; + } + + if (scanner->one_line_read_buffer) + { + /* Copy scan data from temporary read buffer. */ + read_data_from_temporary_buffer (scanner, data, max_length, bytes_per_line, length); + if (*length > 0) + { + DBG (DBG_verbose, "Return %d bytes, left %llu bytes.\n", *length, scanner->transferred_image_size); + return SANE_STATUS_GOOD; + } + } + + /* Buffer to return scanned data. We need at least space for one line to + * simplify color processing and last-line detection. If call buffer is too + * small, use temporary read buffer for reading one line instead. + */ + SANE_Byte * scan_data; + SANE_Int scan_data_length; + scan_data = data; + scan_data_length = *length; + + /* Note, read length is shorter in 48bit mode. */ + SANE_Int length_for_read = length_limited ? length_limited : scan_data_length; + if (length_for_read == 0) + { + /* Call buffer is too small for one line. Use temporary read buffer + * instead. + */ + if (! scanner->one_line_read_buffer) + { + scanner->one_line_read_buffer = malloc (bytes_per_line); + if (! scanner->one_line_read_buffer) + return SANE_STATUS_NO_MEM; + memset (scanner->one_line_read_buffer, 0, bytes_per_line); } - memcpy (ptr, buf, bytes_per_line); + DBG (DBG_verbose, "Call buffer too small for one scan line. Use temporary read buffer for one line with %u bytes.\n", + bytes_per_line); + + /* Scan and process next line in temporary buffer. */ + scan_data = scanner->one_line_read_buffer; + scan_data_length = bytes_per_line; + length_for_read = bytes_per_line; + if (scanner->depth == DEPTH_COLOR_48) + { + /* The last-line indicator pixel uses only 24 bits (3 bytes), not 48 + * bits (6 bytes). + */ + if (length_for_read > 3) + { + length_for_read -= 3; + } + } } - free (buf); + int read_from_scanner = 1; + if ((scanner->source == SOURCE_ADF) || (scanner->source == SOURCE_ADF_DUPLEX)) + { + if (scanner->eop_last_line_data) + { + /* Scanner is in ADF mode between last-line of previous page and + * start of next page. + * Fill remaining lines with last-line data. + */ + unsigned int wpos = 0; + while (wpos < (unsigned int) scan_data_length) + { + unsigned int n1 = scan_data_length - wpos; + unsigned int n2 = bytes_per_line - scanner->eop_last_line_data_rpos; + n1 = (n1 < n2) ? n1 : n2; + memcpy (scan_data + wpos, scanner->eop_last_line_data + scanner->eop_last_line_data_rpos, n1); + wpos += n1; + scanner->eop_last_line_data_rpos += n1; + if (scanner->eop_last_line_data_rpos >= bytes_per_line) + scanner->eop_last_line_data_rpos = 0; + } + read_from_scanner = (wpos == 0); + DBG (DBG_verbose, "ADF use last-line data, wlength=%u, length=%u\n", wpos, scan_data_length); + } + else if (scanner->adf_next_page_lines_data) + { + /* Scanner is in ADF mode at start of next page and already some next + * page data is available from earlier read operation. Return this + * data. + */ + unsigned int wpos = 0; + while ((wpos < (unsigned int) scan_data_length) && + (scanner->adf_next_page_lines_data_rpos < scanner->adf_next_page_lines_data_size)) + { + unsigned int n1 = scan_data_length - wpos; + unsigned int n2 = scanner->adf_next_page_lines_data_size - scanner->adf_next_page_lines_data_rpos; + n1 = (n1 < n2) ? n1 : n2; + memcpy (scan_data + wpos, scanner->adf_next_page_lines_data + scanner->adf_next_page_lines_data_rpos, n1); + wpos += n1; + scanner->adf_next_page_lines_data_rpos += n1; + if (scanner->adf_next_page_lines_data_rpos >= scanner->adf_next_page_lines_data_size) + { + free (scanner->adf_next_page_lines_data); + scanner->adf_next_page_lines_data = NULL; + scanner->adf_next_page_lines_data_size = 0; + scanner->adf_next_page_lines_data_rpos = 0; + scanner->adf_next_page_lines_data_wpos = 0; + } + } + scan_data_length = wpos; + read_from_scanner = (wpos == 0); + DBG (DBG_verbose, "ADF use next-page data, wlength=%u, length=%u\n", wpos, scan_data_length); + } + } + + if (read_from_scanner) + { + /* Read data from scanner. */ + ret = hp5590_read (scanner->dn, scanner->proto_flags, + scan_data, length_for_read, + scanner->bulk_read_state); + if (ret != SANE_STATUS_GOOD) + { + scanner->scanning = SANE_FALSE; + return ret; + } + + /* Look for last-line indicator pixels in convert functions. + * If found: + * - Overwrite indicator pixel with neighboring color (optional). + * - Save last line data for later use. + */ + ret = convert_to_rgb (scanner, scan_data, scan_data_length); + if (ret != SANE_STATUS_GOOD) + { + scanner->scanning = SANE_FALSE; + return ret; + } + + ret = convert_gray_and_lineart (scanner, scan_data, scan_data_length); + if (ret != SANE_STATUS_GOOD) + return ret; + } + + if (data == scan_data) + { + /* Scanned to call buffer. */ + scanner->transferred_image_size -= scan_data_length; + *length = scan_data_length; + } + else + { + /* Scanned to temporary read buffer. */ + if (scanner->one_line_read_buffer) + { + /* Copy scan data from temporary read buffer. */ + read_data_from_temporary_buffer (scanner, data, max_length, scan_data_length, length); + } + else + { + *length = 0; + } + } + + DBG (DBG_verbose, "Return %d bytes, left %llu bytes\n", *length, scanner->transferred_image_size); return SANE_STATUS_GOOD; } +/****************************************************************************** + * Copy at maximum the last n lines from the src buffer to the begin of the dst + * buffer. + * Return number of lines copied. + */ +static SANE_Int +copy_n_last_lines(SANE_Byte * src, SANE_Int src_len, SANE_Byte * dst, SANE_Int n, unsigned int bytes_per_line) +{ + DBG (DBG_proc, "%s\n", __func__); + SANE_Int n_copy = MY_MIN(src_len, n); + SANE_Byte * src1 = src + (src_len - n_copy) * bytes_per_line; + memcpy (dst, src1, n_copy * bytes_per_line); + return n_copy; +} + +/****************************************************************************** + * Copy the color values from line - delta_lines to line. + * buffer2 : Source and target buffer. + * buffer1 : Only source buffer. Contains lines scanned before lines in buffer1. + * color_idx : Index of color to be copied (0..2). + * delta_lines : color shift. + * color_48 : True = 2 byte , false = 1 byte per color. + */ +static void +shift_color_lines(SANE_Byte * buffer2, SANE_Int n_lines2, SANE_Byte * buffer1, SANE_Int n_lines1, SANE_Int color_idx, SANE_Int delta_lines, SANE_Bool color_48, unsigned int bytes_per_line) +{ + DBG (DBG_proc, "%s\n", __func__); + for (SANE_Int i = n_lines2 - 1; i >= 0; --i) { + SANE_Byte * dst = buffer2 + i * bytes_per_line; + SANE_Int ii = i - delta_lines; + SANE_Byte * src = NULL; + SANE_Int source_color_idx = color_idx; + if (ii >= 0) { + /* Read from source and target buffer. */ + src = buffer2 + ii * bytes_per_line; + } else { + ii += n_lines1; + if (ii >= 0) { + /* Read from source only buffer. */ + src = buffer1 + ii * bytes_per_line; + } else { + /* Read other color from source position. */ + src = dst; + source_color_idx = 2; + } + } + /* Copy selected color values. */ + SANE_Int step = color_48 ? 2 : 1; + SANE_Int stride = 3 * step; + for (unsigned int pos = 0; pos < bytes_per_line; pos += stride) { + SANE_Int p1 = pos + step * source_color_idx; + SANE_Int p2 = pos + step * color_idx; + dst[p2] = src[p1]; + if (color_48) { + dst[p2 + 1] = src[p1 + 1]; + } + } + } +} + +/****************************************************************************** + * Append all lines from buffer2 to the end of buffer1 and keep max_lines last + * lines. + * buffer2 : Source line buffer. + * buffer1 : Target line buffer. Length will be adjusted. + * max_lines : Max number of lines in buffer1. + */ +static void +append_and_move_lines(SANE_Byte * buffer2, SANE_Int n_lines2, SANE_Byte * buffer1, unsigned int * n_lines1_ptr, SANE_Int max_lines, unsigned int bytes_per_line) +{ + DBG (DBG_proc, "%s\n", __func__); + SANE_Int rest1 = max_lines - *n_lines1_ptr; + SANE_Int copy2 = MY_MIN(n_lines2, max_lines); + if (copy2 > rest1) { + SANE_Int shift1 = *n_lines1_ptr + copy2 - max_lines; + SANE_Int blen = MY_MIN(max_lines - shift1, (SANE_Int) *n_lines1_ptr); + SANE_Byte * pdst = buffer1; + SANE_Byte * psrc = pdst + shift1 * bytes_per_line; + for (SANE_Int i = 0; i < blen; ++i) { + memcpy (pdst, psrc, bytes_per_line); + pdst += bytes_per_line; + psrc += bytes_per_line; + } + *n_lines1_ptr -= shift1; + } + SANE_Int n_copied = copy_n_last_lines(buffer2, n_lines2, buffer1 + *n_lines1_ptr * bytes_per_line, copy2, bytes_per_line); + *n_lines1_ptr += n_copied; +} + + /******************************************************************************/ SANE_Status sane_read (SANE_Handle handle, SANE_Byte * data, - SANE_Int max_length, SANE_Int * length) + SANE_Int max_length, SANE_Int * length) { - struct hp5590_scanner *scanner = handle; - SANE_Status ret; + struct hp5590_scanner *scanner = handle; + SANE_Status ret; - DBG (DBG_proc, "%s, length %u, left %u\n", + DBG (DBG_proc, "%s, length %u, left %llu\n", __func__, max_length, scanner->transferred_image_size); @@ -1283,7 +2465,7 @@ sane_read (SANE_Handle handle, SANE_Byte * data, ret = hp5590_inc_scan_count (scanner->dn, scanner->proto_flags); if (ret != SANE_STATUS_GOOD) - return ret; + return ret; /* Don't free bulk read state, some bytes could be left * for the next images from ADF @@ -1295,70 +2477,78 @@ sane_read (SANE_Handle handle, SANE_Byte * data, { ret = hp5590_low_init_bulk_read_state (&scanner->bulk_read_state); if (ret != SANE_STATUS_GOOD) - { - scanner->scanning = SANE_FALSE; - return ret; - } + { + scanner->scanning = SANE_FALSE; + return ret; + } } - *length = max_length; - if (*length > scanner->transferred_image_size) - *length = scanner->transferred_image_size; - - if ( scanner->depth == DEPTH_COLOR_24 - || scanner->depth == DEPTH_COLOR_48) - { - unsigned int bytes_per_line; - ret = calc_image_params (scanner, - NULL, NULL, - &bytes_per_line, - NULL, NULL); - if (ret != SANE_STATUS_GOOD) - return ret; + unsigned int bytes_per_line; + ret = calc_image_params (scanner, + NULL, NULL, + &bytes_per_line, + NULL, NULL); + if (ret != SANE_STATUS_GOOD) + return ret; - *length -= *length % bytes_per_line; - DBG (2, "Aligning requested size to bytes per line " - "(requested: %u, aligned: %u)\n", - max_length, *length); - } + ret = sane_read_internal(scanner, data, max_length, length, bytes_per_line); - ret = hp5590_read (scanner->dn, scanner->proto_flags, - data, *length, scanner->bulk_read_state); - if (ret != SANE_STATUS_GOOD) + if ((ret == SANE_STATUS_GOOD) && (scanner->dpi == 2400) && + ((scanner->depth == DEPTH_COLOR_48) || (scanner->depth == DEPTH_COLOR_24))) { - scanner->scanning = SANE_FALSE; - return ret; - } + /* Correct color shift bug for 2400 dpi. + * Note: 2400 dpi only works in color mode. Grey mode and lineart seem to + * fail. + * Align colors by shifting B channel by 48 lines and G channel by 24 + * lines. + */ + const SANE_Int offset_max = 48; + const SANE_Int offset_part = 24; + SANE_Bool color_48 = (scanner->depth == DEPTH_COLOR_48); - scanner->transferred_image_size -= *length; + if (! scanner->color_shift_line_buffer1) + { + scanner->color_shift_buffered_lines1 = 0; + scanner->color_shift_line_buffer1 = malloc (bytes_per_line * offset_max); + if (! scanner->color_shift_line_buffer1) + return SANE_STATUS_NO_MEM; + memset (scanner->color_shift_line_buffer1, 0, bytes_per_line * offset_max); + } + if (! scanner->color_shift_line_buffer2) + { + scanner->color_shift_buffered_lines2 = 0; + scanner->color_shift_line_buffer2 = malloc (bytes_per_line * offset_max); + if (! scanner->color_shift_line_buffer2) + return SANE_STATUS_NO_MEM; + memset (scanner->color_shift_line_buffer2, 0, bytes_per_line * offset_max); + } - ret = convert_to_rgb (scanner, data, *length); - if (ret != SANE_STATUS_GOOD) - { - scanner->scanning = SANE_FALSE; - return ret; - } + SANE_Int n_lines = *length / bytes_per_line; + scanner->color_shift_buffered_lines2 = MY_MIN(n_lines, offset_max); + copy_n_last_lines(data, n_lines, scanner->color_shift_line_buffer2, scanner->color_shift_buffered_lines2, bytes_per_line); - ret = convert_lineart (scanner, data, *length); - if (ret != SANE_STATUS_GOOD) - return ret; + shift_color_lines(data, n_lines, scanner->color_shift_line_buffer1, scanner->color_shift_buffered_lines1, 1, offset_part, color_48, bytes_per_line); + shift_color_lines(data, n_lines, scanner->color_shift_line_buffer1, scanner->color_shift_buffered_lines1, 0, offset_max, color_48, bytes_per_line); - return SANE_STATUS_GOOD; + append_and_move_lines(scanner->color_shift_line_buffer2, scanner->color_shift_buffered_lines2, scanner->color_shift_line_buffer1, &(scanner->color_shift_buffered_lines1), offset_max, bytes_per_line); + } + + return ret; } /******************************************************************************/ void sane_cancel (SANE_Handle handle) { - struct hp5590_scanner *scanner = handle; - SANE_Status ret; + struct hp5590_scanner *scanner = handle; + SANE_Status ret; DBG (DBG_proc, "%s\n", __func__); scanner->scanning = SANE_FALSE; if (scanner->dn < 0) - return; + return; hp5590_low_free_bulk_read_state (&scanner->bulk_read_state); @@ -1371,7 +2561,7 @@ sane_cancel (SANE_Handle handle) SANE_Status sane_set_io_mode (SANE_Handle __sane_unused__ handle, - SANE_Bool __sane_unused__ non_blocking) + SANE_Bool __sane_unused__ non_blocking) { DBG (DBG_proc, "%s\n", __func__); @@ -1381,7 +2571,7 @@ sane_set_io_mode (SANE_Handle __sane_unused__ handle, /******************************************************************************/ SANE_Status sane_get_select_fd (SANE_Handle __sane_unused__ handle, - SANE_Int __sane_unused__ * fd) + SANE_Int __sane_unused__ * fd) { DBG (DBG_proc, "%s\n", __func__); diff --git a/backend/hp5590_cmds.c b/backend/hp5590_cmds.c index 06fd91a..1eb96d3 100644 --- a/backend/hp5590_cmds.c +++ b/backend/hp5590_cmds.c @@ -1,6 +1,8 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2007 Ilia Sotnikov HP ScanJet 4570c support by Markham Thomas + ADF page detection and high DPI fixes by Bernard Badeer + scanbd integration by Damiano Scaramuzza and Bernard Badeer This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -71,9 +73,9 @@ hp5590_models[] = { SCANNER_HP5550, 0x03f0, 0x1205, "SILITEKIPenguin", "4500C/5550C", "Workgroup scanner", - PF_NO_USB_IN_USB_ACK /* These devices need no - * acknowledgement after USB-in-USB - * commands */ + PF_NO_USB_IN_USB_ACK /* These devices need no + * acknowledgment after USB-in-USB + * commands */ }, { SCANNER_HP5590, @@ -90,35 +92,36 @@ hp5590_models[] = { }; /* Debug levels */ -#define DBG_err 0 -#define DBG_proc 10 -#define DBG_cmds 40 +#define DBG_err 0 +#define DBG_proc 10 +#define DBG_verbose 20 +#define DBG_cmds 40 #define hp5590_cmds_assert(exp) if(!(exp)) { \ DBG (DBG_err, "Assertion '%s' failed at %s:%u\n", #exp, __FILE__, __LINE__);\ return SANE_STATUS_INVAL; \ } -#define WAKEUP_TIMEOUT 90 +#define WAKEUP_TIMEOUT 90 /* First byte of init (0x12 cmd) response */ -#define INIT_FLAG_TMA 1 << 0 -#define INIT_FLAG_ADF 1 << 1 -#define INIT_FLAG_LCD 1 << 3 +#define INIT_FLAG_TMA 1 << 0 +#define INIT_FLAG_ADF 1 << 1 +#define INIT_FLAG_LCD 1 << 3 /* Power (0x24 cmd) */ -#define POWER_FLAG_ON 1 << 1 +#define POWER_FLAG_ON 1 << 1 /* ADF (0x03 cmd) */ -#define FLAG_ADF_EMPTY 1 << 1 +#define FLAG_ADF_EMPTY 1 << 1 -#define PART_NUMBER_LEN 10 +#define PART_NUMBER_LEN 10 -#define REVERSE_MAP_LEN 128 * 1024 / sizeof(uint16_t) -#define FORWARD_MAP_LEN 128 * 1024 / sizeof(uint16_t) +#define REVERSE_MAP_LEN 128 * 1024 / sizeof(uint16_t) +#define FORWARD_MAP_LEN 128 * 1024 / sizeof(uint16_t) /* Button flags */ -/* From left to rigth */ +/* From left to right */ /* 1: Power * 1: Scan * 2: Collect @@ -129,48 +132,49 @@ hp5590_models[] = { * 8: Mode * 9: Cancel */ -#define BUTTON_FLAG_EMAIL 1 << 15 -#define BUTTON_FLAG_COPY 1 << 14 -#define BUTTON_FLAG_DOWN 1 << 13 -#define BUTTON_FLAG_MODE 1 << 12 -#define BUTTON_FLAG_UP 1 << 11 -#define BUTTON_FLAG_FILE 1 << 9 -#define BUTTON_FLAG_POWER 1 << 5 -#define BUTTON_FLAG_SCAN 1 << 2 -#define BUTTON_FLAG_COLLECT 1 << 1 -#define BUTTON_FLAG_CANCEL 1 << 0 - -#define CMD_INIT 0x0012 -#define CMD_EEPROM_ADDR 0x00f2 -#define CMD_EEPROM_READ 0x0bf0 -#define CMD_EEPROM_WRITE 0x0bf1 -#define CMD_DATA_STATUS 0x0001 -#define CMD_STOP_SCAN 0x011b -#define CMD_CONTROL_LAMP 0x00c0 -#define CMD_POWER_STATUS 0x0024 -#define CMD_SELECT_SOURCE 0x00d6 -#define CMD_MISC_STATUS 0x0003 -#define CMD_LOCK_UNLOCK 0x0000 -#define CMD_SET_BASE_DPI 0x0015 -#define CMD_SET_COLOR_MAP 0x0240 -#define CMD_SET_SCAN_PARAMS 0x0025 -#define CMD_GET_IMAGE_PARAMS 0x0034 -#define CMD_START_SCAN 0x051b -#define CMD_BUTTON_STATUS 0x0020 +#define BUTTON_FLAG_EMAIL 1 << 15 +#define BUTTON_FLAG_COPY 1 << 14 +#define BUTTON_FLAG_DOWN 1 << 13 +#define BUTTON_FLAG_MODE 1 << 12 +#define BUTTON_FLAG_UP 1 << 11 +#define BUTTON_FLAG_FILE 1 << 9 +#define BUTTON_FLAG_POWER 1 << 5 +#define BUTTON_FLAG_SCAN 1 << 2 +#define BUTTON_FLAG_COLLECT 1 << 1 +#define BUTTON_FLAG_CANCEL 1 << 0 + +#define CMD_INIT 0x0012 +#define CMD_EEPROM_ADDR 0x00f2 +#define CMD_EEPROM_READ 0x0bf0 +#define CMD_EEPROM_WRITE 0x0bf1 +#define CMD_DATA_STATUS 0x0001 +#define CMD_STOP_SCAN 0x011b +#define CMD_CONTROL_LAMP 0x00c0 +#define CMD_POWER_STATUS 0x0024 +#define CMD_SELECT_SOURCE 0x00d6 +#define CMD_MISC_STATUS 0x0003 +#define CMD_LOCK_UNLOCK 0x0000 +#define CMD_SET_BASE_DPI 0x0015 +#define CMD_SET_COLOR_MAP 0x0240 +#define CMD_SET_SCAN_PARAMS 0x0025 +#define CMD_GET_IMAGE_PARAMS 0x0034 +#define CMD_START_SCAN 0x051b +#define CMD_BUTTON_STATUS 0x0020 +#define CMD_LCD_STATUS 0x0021 struct init_resp { - uint8_t flags; /* bit 0 - TMA, bit 1 - ADF, bit 3 - LCD present */ - uint8_t id[15]; /* SILITEKPenguin */ - uint8_t pad1[9]; /* 00 00 00 00 00 00 00 00 00 */ - uint8_t version[5]; /* 0.0.67 */ - uint16_t max_dpi_x; /* 09 60 = 2400 */ - uint16_t max_dpi_y; /* 09 60 = 2400 */ - uint16_t max_pixels_x; /* 4F B0 = 20400 (20400 / 2400 = 8.5") */ - uint16_t max_pixels_y; /* 6D E0 = 28128 (28128 / 2400 = 11.72") */ - uint8_t pad2[8]; /* 00 00 00 00 00 00 00 00 */ - uint16_t motor_param_normal; /* 00 64 = 100 */ - uint16_t motor_param_max; /* 03 E8 = 1000 */ + uint8_t flags; /* bit 0 - TMA, bit 1 - ADF, bit 3 - LCD present */ + uint8_t id[15]; /* SILITEKPenguin */ + uint8_t pad1[9]; /* 00 00 00 00 00 00 00 00 00 */ + uint8_t version[5]; /* 0.0.67 */ + uint16_t max_dpi_x; /* 09 60 = 2400 */ + uint16_t max_dpi_y; /* 09 60 = 2400 */ + uint16_t max_pixels_x; /* 4F B0 = 20400 (20400 / 2400 = 8.5") */ + uint16_t max_pixels_y; /* 6D E0 = 28128 (28128 / 2400 = 11.72") */ + uint8_t pad2[8]; /* 00 00 00 00 00 00 00 00 */ + uint16_t motor_param_normal; /* 00 64 = 100 */ + uint16_t motor_param_max; /* 03 E8 = 1000 */ } __attribute__ ((packed)); struct power_resp @@ -179,10 +183,10 @@ struct power_resp uint16_t unk1; } __attribute__ ((packed)); -/* +/* * 215.9 mm x 297.2 mm * 8.5" x 11.72" - * + * * 50 : 425.00 x 586.00 * 75 : 637.50 x 879.50 * 100 : 850.00 x 1172.00 @@ -193,264 +197,264 @@ struct power_resp * 600 : 5100.00 x 7032.00 (base DPI) */ -#define SCAN_PARAMS_SOURCE_TMA_NEGATIVES 1 << 0 -#define SCAN_PARAMS_SOURCE_TMA_SLIDES 1 << 1 -#define SCAN_PARAMS_SOURCE_ADF 1 << 2 -#define SCAN_PARAMS_SOURCE_FLATBED 1 << 3 -#define SCAN_PARAMS_SOURCE_SIMPLEX 1 << 4 -#define SCAN_PARAMS_SOURCE_DUPLEX 1 << 6 +#define SCAN_PARAMS_SOURCE_TMA_NEGATIVES 1 << 0 +#define SCAN_PARAMS_SOURCE_TMA_SLIDES 1 << 1 +#define SCAN_PARAMS_SOURCE_ADF 1 << 2 +#define SCAN_PARAMS_SOURCE_FLATBED 1 << 3 +#define SCAN_PARAMS_SOURCE_SIMPLEX 1 << 4 +#define SCAN_PARAMS_SOURCE_DUPLEX 1 << 6 struct scan_params { - uint8_t source; /* - * TMA Negatives : 11 = 17 - * TMA Slides : 12 = 18 - * ADF : 14 = 20 - * Flatbed : 18 = 24 - * ADF Duplex : 54 = 84 - */ - - uint16_t dpi_x; /* - * 50 : 00 64 = 100 - * 75 : 00 64 = 100 - * 100 : 00 64 = 100 - * 150 : 00 c8 = 200 - * 200 : 00 c8 = 200 - * 300 : 01 2c = 300 - * 400 : 02 58 = 600 - * 600 : 02 58 = 600 - * 1200 : 04 b0 = 1200 - */ - - uint16_t dpi_y; /* - * 50 : 00 64 = 100 - * 75 : 00 64 = 100 - * 100 : 00 64 = 100 - * 150 : 00 c8 = 200 - * 200 : 00 c8 = 200 - * 300 : 01 2c = 300 - * 400 : 02 58 = 600 - * 600 : 02 58 = 600 - * 1200 : 04 b0 = 1200 - */ - - uint16_t top_x; /* - * pixels * (Base DPI / current DPI) - * 00 00, 01 6e = 366 (x = 425 - 302 = 123) - * 04 b0 = 1200 (x = 425 - 24 = 401) - */ - - uint16_t top_y; /* - * pixels * (Base DPI / current DPI) - * 00 00, 06 99 = 1689 (y = 585 - 21 = 564) - */ - - uint16_t size_x; /* X pixels in Base DPI (CMD 15) - * 50 : 04f8 = 1272 ; 150 - * 75 : 04f8 = 1272 ; 150 - * 100 : 04f8 = 1272 ; 150 - * 100 TMA : 00fc = 252 ; 150 - * 150 : 09f6 = 2550, 09f0 = 2544, 09f4 = 2548 ; 300 - * 200 : 09f0 = 2544, 09f6 = 2550, 09f6 = 2550 ; 300 - * 300 : 09f6 = 2550, 09f0 = 2544, 09f4 = 2548 ; 300 - * 300 TMA : 01fc = 508 ; 300 - * 400 : 13ec = 5100 ; 600 - * 600 : 13e8 = 5096, 13ec = 5100 ,13ec = 5100 ; 600 - * 1200 : 27a8 = 10152 ; 1200 - */ - - uint16_t size_y; /* Y pixels in Base DPI (CMD 15) - * 50 : 06db = 1755 ; 150 - * 75 : 06da = 1754 ; 150 - * 100 : 06db = 1755 ; 150 - * 100 TMA : 0384 = 900 ; 150 - * 150 : 0db6 = 3510 ; 300 - * 200 : 0db6 = 3510 ; 300 - * 300 : 0db6 = 3510 ; 300 - * 300 TMA : 0708 = 1800 ; 300 - * 400 : 1b6c = 7020 ; 600 - * 600 : 1b6c = 7020 ; 600 - * 1200 : 36d8 = 14040 ; 1200 - */ - - uint16_t unk1; /* 00 80 */ - - uint16_t bw_gray_flag; /* - * 00 40 - bw (ntsc gray)/gray, - * 00 20 - bw (by green band), - * 00 10 - bw (by red band), - * 00 30 - bw (by blue band), - * 00 00 - color - */ - - uint8_t pixel_bits; /* - * bw 50/75/150/400 : 08 = 8 - * bw 100/200/300/600/1200 : 01 = 1 - * gray 50/75/100/150/200/400/600 : 08 = 8 - * color 24 bit 50/75/100/150/200/400/600 : 18 = 24 - * color 48 bit 100/200 : 30 = 48 - */ - - uint16_t flags; /* - * 50/75/100/150/200/300 : e8 40 = 59456 - * 400/600/1200 : c8 40 = 51264 - */ - - uint16_t motor_param1; /* - * 00 64 = 100 - */ - uint16_t motor_param2; /* - * 00 64 = 100 - ADF, Flatbed, TMA slides - * 00 c8 = 200 - TMA Negatives - */ - uint16_t motor_param3; /* - * 00 64 = 100 - ADF, Flatbed, TMA slides - * 01 90 = 400 - TMA negatives - */ - uint32_t pad1; /* 00 00 00 00 */ - uint16_t pad2; /* 00 00 */ - uint8_t mode; /* 00 - normal scan, 04 - preview scan */ - uint16_t pad3; /* 00 00 */ - - uint16_t line_width; /* Based on current .dpi_x - * bw 50 : 03 50 = 848 - * gray 50 : 03 50 = 848 - * color 50 : 09 f0 = 2544 (3 * gray) - * - * bw 75 : 03 50 = 848 - * gray 75 : 03 50 = 848 - * color 75 : 09 f0 = 2544 (3 * gray) - * - * bw 100 : 00 6a = 106 - * gray 100 : 03 50 = 848 (8 * bw) - * color 100(24) : 09 f0 = 2544 (3 * gray) - * color 100(48) : 13 e0 = 5088 (2 * color 24) - * color 100(48) TMA : 03 f0 = 1008 - * - * bw 150 : 06 a4 = 1700 - * gray 150 : 06 a4 = 1700 - * color 150 : 13 ec = 5100 (3 * gray) - * - * bw 200 : 00 d4 = 212 - * gray 200 : 06 a4 = 1700 (8 * bw) - * color 200(24) : 13 ec = 5100 (3 * gray) - * color 200(48) : 27 a8 = 10152 - * - * bw 300 : 01 3e = 318 - * gray 300 : 09 f4 = 2548 (8 * bw) - * color 300 : 1d dc = 7644 (3 * gray) - * color 300(48) TMA : 0b e8 = 3048 - * - * bw 400 : 13 ec = 5100 - * gray 400 : 13 ec = 5100 - * color 400 : 3b c4 = 15300 (3 * gray) - * - * bw 600 : 02 7d = 637 - * gray 600 : 13 ec = 5100 (8 * bw) - * color 600 : 3b c4 = 15300 (3 * gray) - * - * bw 1200 : 04 f5 = 1269 - */ + uint8_t source; /* + * TMA Negatives : 11 = 17 + * TMA Slides : 12 = 18 + * ADF : 14 = 20 + * Flatbed : 18 = 24 + * ADF Duplex : 54 = 84 + */ + + uint16_t dpi_x; /* + * 50 : 00 64 = 100 + * 75 : 00 64 = 100 + * 100 : 00 64 = 100 + * 150 : 00 c8 = 200 + * 200 : 00 c8 = 200 + * 300 : 01 2c = 300 + * 400 : 02 58 = 600 + * 600 : 02 58 = 600 + * 1200 : 04 b0 = 1200 + */ + + uint16_t dpi_y; /* + * 50 : 00 64 = 100 + * 75 : 00 64 = 100 + * 100 : 00 64 = 100 + * 150 : 00 c8 = 200 + * 200 : 00 c8 = 200 + * 300 : 01 2c = 300 + * 400 : 02 58 = 600 + * 600 : 02 58 = 600 + * 1200 : 04 b0 = 1200 + */ + + uint16_t top_x; /* + * pixels * (Base DPI / current DPI) + * 00 00, 01 6e = 366 (x = 425 - 302 = 123) + * 04 b0 = 1200 (x = 425 - 24 = 401) + */ + + uint16_t top_y; /* + * pixels * (Base DPI / current DPI) + * 00 00, 06 99 = 1689 (y = 585 - 21 = 564) + */ + + uint16_t size_x; /* X pixels in Base DPI (CMD 15) + * 50 : 04f8 = 1272 ; 150 + * 75 : 04f8 = 1272 ; 150 + * 100 : 04f8 = 1272 ; 150 + * 100 TMA : 00fc = 252 ; 150 + * 150 : 09f6 = 2550, 09f0 = 2544, 09f4 = 2548 ; 300 + * 200 : 09f0 = 2544, 09f6 = 2550, 09f6 = 2550 ; 300 + * 300 : 09f6 = 2550, 09f0 = 2544, 09f4 = 2548 ; 300 + * 300 TMA : 01fc = 508 ; 300 + * 400 : 13ec = 5100 ; 600 + * 600 : 13e8 = 5096, 13ec = 5100 ,13ec = 5100 ; 600 + * 1200 : 27a8 = 10152 ; 1200 + */ + + uint16_t size_y; /* Y pixels in Base DPI (CMD 15) + * 50 : 06db = 1755 ; 150 + * 75 : 06da = 1754 ; 150 + * 100 : 06db = 1755 ; 150 + * 100 TMA : 0384 = 900 ; 150 + * 150 : 0db6 = 3510 ; 300 + * 200 : 0db6 = 3510 ; 300 + * 300 : 0db6 = 3510 ; 300 + * 300 TMA : 0708 = 1800 ; 300 + * 400 : 1b6c = 7020 ; 600 + * 600 : 1b6c = 7020 ; 600 + * 1200 : 36d8 = 14040 ; 1200 + */ + + uint16_t unk1; /* 00 80 */ + + uint16_t bw_gray_flag; /* + * 00 40 - bw (ntsc gray)/gray, + * 00 20 - bw (by green band), + * 00 10 - bw (by red band), + * 00 30 - bw (by blue band), + * 00 00 - color + */ + + uint8_t pixel_bits; /* + * bw 50/75/150/400 : 08 = 8 + * bw 100/200/300/600/1200 : 01 = 1 + * gray 50/75/100/150/200/400/600 : 08 = 8 + * color 24 bit 50/75/100/150/200/400/600 : 18 = 24 + * color 48 bit 100/200 : 30 = 48 + */ + + uint16_t flags; /* + * 50/75/100/150/200/300 : e8 40 = 59456 + * 400/600/1200 : c8 40 = 51264 + */ + + uint16_t motor_param1; /* + * 00 64 = 100 + */ + uint16_t motor_param2; /* + * 00 64 = 100 - ADF, Flatbed, TMA slides + * 00 c8 = 200 - TMA Negatives + */ + uint16_t motor_param3; /* + * 00 64 = 100 - ADF, Flatbed, TMA slides + * 01 90 = 400 - TMA negatives + */ + uint32_t pad1; /* 00 00 00 00 */ + uint16_t pad2; /* 00 00 */ + uint8_t mode; /* 00 - normal scan, 04 - preview scan */ + uint16_t pad3; /* 00 00 */ + + uint16_t line_width; /* Based on current .dpi_x + * bw 50 : 03 50 = 848 + * gray 50 : 03 50 = 848 + * color 50 : 09 f0 = 2544 (3 * gray) + * + * bw 75 : 03 50 = 848 + * gray 75 : 03 50 = 848 + * color 75 : 09 f0 = 2544 (3 * gray) + * + * bw 100 : 00 6a = 106 + * gray 100 : 03 50 = 848 (8 * bw) + * color 100(24) : 09 f0 = 2544 (3 * gray) + * color 100(48) : 13 e0 = 5088 (2 * color 24) + * color 100(48) TMA : 03 f0 = 1008 + * + * bw 150 : 06 a4 = 1700 + * gray 150 : 06 a4 = 1700 + * color 150 : 13 ec = 5100 (3 * gray) + * + * bw 200 : 00 d4 = 212 + * gray 200 : 06 a4 = 1700 (8 * bw) + * color 200(24) : 13 ec = 5100 (3 * gray) + * color 200(48) : 27 a8 = 10152 + * + * bw 300 : 01 3e = 318 + * gray 300 : 09 f4 = 2548 (8 * bw) + * color 300 : 1d dc = 7644 (3 * gray) + * color 300(48) TMA : 0b e8 = 3048 + * + * bw 400 : 13 ec = 5100 + * gray 400 : 13 ec = 5100 + * color 400 : 3b c4 = 15300 (3 * gray) + * + * bw 600 : 02 7d = 637 + * gray 600 : 13 ec = 5100 (8 * bw) + * color 600 : 3b c4 = 15300 (3 * gray) + * + * bw 1200 : 04 f5 = 1269 + */ } __attribute__ ((packed)); struct image_params { - uint8_t signature; /* c0 */ - uint8_t pad1; /* 00 */ - uint32_t image_size; /* - * bw 50 : 00 0f 23 a0 = 992 160 - * gray 50 : 00 0f 23 a0 = 992 160 - * color 50 : 00 2d 6a e0 = 2 976 480 - * - * bw 75 : 00 0f 20 50 = 991 312 - * gray 75 : 00 0f 20 50 = 991 312 - * color 75 : 00 2d 60 f0 = 2 973 936 - * color 75(48) : 00 5a 86 40 = 5 932 608 - * - * bw 100 : 00 01 e4 74 = 124 020 - * gray 100 : 00 0f 23 a0 = 992 160 - * color 100 : 00 2d 6a e0 = 2 976 480 - * color 100(48) : 00 5a 68 10 = 5 924 880 - * color 100(48), preview: 00 5a d5 c0 = 5 952 960 - * - * bw 150 : 00 3c b3 10 = 3 978 000 - * gray 150 : 00 3c b3 10 = 3 978 000 - * color 150 : 00 b6 19 30 = 11 934 000 - * color 150(48) : 01 6a 7b a0 = 23 755 680 - * - * bw 200 : 00 07 91 d0 = 496 080 - * gray 200 : 00 3c b3 10 = 3 978 000 - * color 200 : 00 b6 19 30 = 11 934 000 - * color 200(48) : 01 6a f3 a0 = 23 786 400 - * - * bw 300 : 00 11 08 14 = 1 116 180 - * gray 300 : 00 88 77 78 = 8 943 480 - * color 300 : 01 99 66 68 = 26 830 440 - * - * bw 400 : 02 22 4b 90 = 35 802 000 - * gray 400 : 02 22 4b 90 = 35 802 000 - * color 400 : 06 66 e2 b0 = 107 406 000 - * - * bw 600 : 00 44 3b bc = 4 471 740 - * gray 600 : 02 22 4b 90 = 35 802 000 - * color 600 : 06 66 e2 b0 = 107 406 000 - */ - uint16_t pad2; /* 00 00 */ + uint8_t signature; /* c0 */ + uint8_t pad1; /* 00 */ + uint32_t image_size; /* + * bw 50 : 00 0f 23 a0 = 992 160 + * gray 50 : 00 0f 23 a0 = 992 160 + * color 50 : 00 2d 6a e0 = 2 976 480 + * + * bw 75 : 00 0f 20 50 = 991 312 + * gray 75 : 00 0f 20 50 = 991 312 + * color 75 : 00 2d 60 f0 = 2 973 936 + * color 75(48) : 00 5a 86 40 = 5 932 608 + * + * bw 100 : 00 01 e4 74 = 124 020 + * gray 100 : 00 0f 23 a0 = 992 160 + * color 100 : 00 2d 6a e0 = 2 976 480 + * color 100(48) : 00 5a 68 10 = 5 924 880 + * color 100(48), preview: 00 5a d5 c0 = 5 952 960 + * + * bw 150 : 00 3c b3 10 = 3 978 000 + * gray 150 : 00 3c b3 10 = 3 978 000 + * color 150 : 00 b6 19 30 = 11 934 000 + * color 150(48) : 01 6a 7b a0 = 23 755 680 + * + * bw 200 : 00 07 91 d0 = 496 080 + * gray 200 : 00 3c b3 10 = 3 978 000 + * color 200 : 00 b6 19 30 = 11 934 000 + * color 200(48) : 01 6a f3 a0 = 23 786 400 + * + * bw 300 : 00 11 08 14 = 1 116 180 + * gray 300 : 00 88 77 78 = 8 943 480 + * color 300 : 01 99 66 68 = 26 830 440 + * + * bw 400 : 02 22 4b 90 = 35 802 000 + * gray 400 : 02 22 4b 90 = 35 802 000 + * color 400 : 06 66 e2 b0 = 107 406 000 + * + * bw 600 : 00 44 3b bc = 4 471 740 + * gray 600 : 02 22 4b 90 = 35 802 000 + * color 600 : 06 66 e2 b0 = 107 406 000 + */ + uint16_t pad2; /* 00 00 */ uint16_t line_width; uint16_t real_size_y; - uint32_t pad3; /* 00 00 00 00 */ + uint32_t pad3; /* 00 00 00 00 */ } __attribute__ ((packed)); struct lamp_state { - uint8_t unk1; /* 02 */ - uint8_t flag; /* 01 on start, 02 - TMA, 03 - all other */ - uint16_t turnoff_time; /* 0a 0a, 03 36, 0f 36 */ + uint8_t unk1; /* 02 */ + uint8_t flag; /* 01 on start, 02 - TMA, 03 - all other */ + uint16_t turnoff_time; /* 0a 0a, 03 36, 0f 36 */ } __attribute__ ((packed)); struct color_map { - uint8_t color1[6]; /* 00 00 00 00 01 00 */ - uint8_t color2[6]; /* 00 00 00 00 01 00 */ - uint8_t color3[6]; /* 00 00 00 00 01 00 */ + uint8_t color1[6]; /* 00 00 00 00 01 00 */ + uint8_t color2[6]; /* 00 00 00 00 01 00 */ + uint8_t color3[6]; /* 00 00 00 00 01 00 */ } __attribute__ ((packed)); struct reg_03 { - uint8_t unk1; /* 0x0b - ADF ready, 0x03 - not */ - uint8_t unk2; /* 0x80 */ - uint8_t adf_flags; /* 0x01 - ADF ready when selected, 0x02 - not */ + uint8_t unk1; /* 0x0b - ADF ready, 0x03 - not */ + uint8_t unk2; /* 0x80 */ + uint8_t adf_flags; /* 0x01 - ADF ready when selected, 0x02 - not */ } __attribute__ ((packed)); /******************************************************************************/ static SANE_Status hp5590_model_def (enum hp_scanner_types scanner_type, - const struct hp5590_model ** model) + const struct hp5590_model ** model) { unsigned int i; - + hp5590_cmds_assert (model != NULL); for (i = 0; i < sizeof (hp5590_models) / sizeof (struct hp5590_model); i++) { if (hp5590_models[i].scanner_type == scanner_type) - { - *model = &hp5590_models[i]; - return SANE_STATUS_GOOD; - } + { + *model = &hp5590_models[i]; + return SANE_STATUS_GOOD; + } } - + return SANE_STATUS_INVAL; } /******************************************************************************/ static SANE_Status hp5590_vendor_product_id (enum hp_scanner_types scanner_type, - SANE_Word * vendor_id, - SANE_Word * product_id) + SANE_Word * vendor_id, + SANE_Word * product_id) { - const struct hp5590_model *model; - SANE_Status ret; + const struct hp5590_model *model; + SANE_Status ret; hp5590_cmds_assert (vendor_id != NULL); hp5590_cmds_assert (product_id != NULL); @@ -467,15 +471,15 @@ hp5590_vendor_product_id (enum hp_scanner_types scanner_type, /******************************************************************************/ static SANE_Status hp5590_init_scanner (SANE_Int dn, - enum proto_flags proto_flags, - struct scanner_info ** info, - enum hp_scanner_types scanner_type) + enum proto_flags proto_flags, + struct scanner_info ** info, + enum hp_scanner_types scanner_type) { - struct init_resp init_resp; - char id_buf[sizeof (init_resp.id) + 1]; - char ver_buf[sizeof (init_resp.version) + 1]; - SANE_Status ret; - const struct hp5590_model *scanner_model; + struct init_resp init_resp; + char id_buf[sizeof (init_resp.id) + 1]; + char ver_buf[sizeof (init_resp.version) + 1]; + SANE_Status ret; + const struct hp5590_model *scanner_model; /* * 0A 53 49 4C 49 54 45 4B 49 50 65 6E 67 75 69 6E .SILITEKIPenguin @@ -489,11 +493,11 @@ hp5590_init_scanner (SANE_Int dn, /* Init scanner */ ret = hp5590_cmd (dn, - proto_flags, - CMD_IN | CMD_VERIFY, - CMD_INIT, - (unsigned char *) &init_resp, - sizeof (init_resp), CORE_NONE); + proto_flags, + CMD_IN | CMD_VERIFY, + CMD_INIT, + (unsigned char *) &init_resp, + sizeof (init_resp), CORE_NONE); if (ret != SANE_STATUS_GOOD) return ret; @@ -504,23 +508,23 @@ hp5590_init_scanner (SANE_Int dn, { unsigned int i; for (i = 0; i < sizeof (hp5590_models) / sizeof (struct hp5590_model); - i++) - { - if (hp5590_models[i].scanner_type == scanner_type) - { - if (strcmp (id_buf, hp5590_models[i].vendor_id) != 0) - { - DBG (DBG_err, "%s: Vendor id mismatch for scanner HP%s - " - "required '%s', got '%s'\n", - __func__, - hp5590_models[i].model, - hp5590_models[i].vendor_id, id_buf); - return SANE_STATUS_INVAL; - } - scanner_model = &hp5590_models[i]; - break; - } - } + i++) + { + if (hp5590_models[i].scanner_type == scanner_type) + { + if (strcmp (id_buf, hp5590_models[i].vendor_id) != 0) + { + DBG (DBG_err, "%s: Vendor id mismatch for scanner HP%s - " + "required '%s', got '%s'\n", + __func__, + hp5590_models[i].model, + hp5590_models[i].vendor_id, id_buf); + return SANE_STATUS_INVAL; + } + scanner_model = &hp5590_models[i]; + break; + } + } hp5590_cmds_assert (scanner_model != NULL); } @@ -529,10 +533,10 @@ hp5590_init_scanner (SANE_Int dn, DBG (DBG_cmds, "HP%s flags (0x%02x)\n", scanner_model->model, init_resp.flags); DBG (DBG_cmds, "HP%s flags: ADF %s, TMA %s, LCD %s\n", - scanner_model->model, - init_resp.flags & INIT_FLAG_ADF ? "yes" : "no", - init_resp.flags & INIT_FLAG_TMA ? "yes" : "no", - init_resp.flags & INIT_FLAG_LCD ? "yes" : "no"); + scanner_model->model, + init_resp.flags & INIT_FLAG_ADF ? "yes" : "no", + init_resp.flags & INIT_FLAG_TMA ? "yes" : "no", + init_resp.flags & INIT_FLAG_LCD ? "yes" : "no"); memset (ver_buf, 0, sizeof (ver_buf)); @@ -540,33 +544,33 @@ hp5590_init_scanner (SANE_Int dn, DBG (DBG_cmds, "HP%s firmware version: %s\n", scanner_model->model, ver_buf); DBG (DBG_cmds, "HP%s max resolution X: %u DPI\n", - scanner_model->model, ntohs (init_resp.max_dpi_x)); + scanner_model->model, ntohs (init_resp.max_dpi_x)); DBG (DBG_cmds, "HP%s max resolution Y: %u DPI\n", - scanner_model->model, ntohs (init_resp.max_dpi_y)); + scanner_model->model, ntohs (init_resp.max_dpi_y)); DBG (DBG_cmds, "HP%s max pixels X: %u\n", - scanner_model->model, ntohs (init_resp.max_pixels_x)); + scanner_model->model, ntohs (init_resp.max_pixels_x)); DBG (DBG_cmds, "HP%s max pixels Y: %u\n", - scanner_model->model, ntohs (init_resp.max_pixels_y)); + scanner_model->model, ntohs (init_resp.max_pixels_y)); DBG (DBG_cmds, "HP%s max size X: %.3f inches\n", - scanner_model->model, - ntohs (init_resp.max_pixels_x) * 1.0 / - ntohs (init_resp.max_dpi_x)); + scanner_model->model, + ntohs (init_resp.max_pixels_x) * 1.0 / + ntohs (init_resp.max_dpi_x)); DBG (DBG_cmds, "HP%s max size Y: %.3f inches\n", scanner_model->model, - ntohs (init_resp.max_pixels_y) * 1.0 / - ntohs (init_resp.max_dpi_y)); + ntohs (init_resp.max_pixels_y) * 1.0 / + ntohs (init_resp.max_dpi_y)); DBG (DBG_cmds, "HP%s normal motor param: %u, max motor param: %u\n", - scanner_model->model, ntohs (init_resp.motor_param_normal), - ntohs (init_resp.motor_param_max)); + scanner_model->model, ntohs (init_resp.motor_param_normal), + ntohs (init_resp.motor_param_max)); } if (info) { *info = malloc (sizeof (struct scanner_info)); if (!*info) - { - DBG (DBG_err, "Memory allocation failed\n"); - return SANE_STATUS_NO_MEM; - } + { + DBG (DBG_err, "Memory allocation failed\n"); + return SANE_STATUS_NO_MEM; + } memset (*info, 0, sizeof (struct scanner_info)); (*info)->max_dpi_x = ntohs (init_resp.max_dpi_x); @@ -577,23 +581,23 @@ hp5590_init_scanner (SANE_Int dn, (*info)->max_size_y = (*info)->max_pixels_y * 1.0 / (*info)->max_dpi_y; (*info)->features = FEATURE_NONE; if (init_resp.flags & INIT_FLAG_LCD) - (*info)->features |= FEATURE_LCD; + (*info)->features |= FEATURE_LCD; if (init_resp.flags & INIT_FLAG_ADF) - (*info)->features |= FEATURE_ADF; + (*info)->features |= FEATURE_ADF; if (init_resp.flags & INIT_FLAG_TMA) - (*info)->features |= FEATURE_TMA; + (*info)->features |= FEATURE_TMA; if (scanner_model) - { - (*info)->model = scanner_model->model; - (*info)->kind = scanner_model->kind; - } + { + (*info)->model = scanner_model->model; + (*info)->kind = scanner_model->kind; + } } ret = hp5590_get_status (dn, proto_flags); if (ret != SANE_STATUS_GOOD) { DBG (DBG_err, "%s: scanner reports non-zero status: %s\n", - __func__, sane_strstatus (ret)); + __func__, sane_strstatus (ret)); return ret; } DBG (DBG_cmds, "%s: scanner status OK\n", __func__); @@ -604,9 +608,9 @@ hp5590_init_scanner (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_read_eeprom (SANE_Int dn, - enum proto_flags proto_flags, - unsigned int addr, - unsigned char *data, unsigned int size) + enum proto_flags proto_flags, + unsigned int addr, + unsigned char *data, unsigned int size) { uint8_t eeprom_addr = addr; SANE_Status ret; @@ -618,18 +622,18 @@ hp5590_read_eeprom (SANE_Int dn, DBG (DBG_proc, "Reading EEPROM: addr %04x, size %u\n", addr, size); ret = hp5590_cmd (dn, - proto_flags, - CMD_VERIFY, - CMD_EEPROM_ADDR, - (unsigned char *) &eeprom_addr, - sizeof (eeprom_addr), CORE_NONE); + proto_flags, + CMD_VERIFY, + CMD_EEPROM_ADDR, + (unsigned char *) &eeprom_addr, + sizeof (eeprom_addr), CORE_NONE); if (ret != SANE_STATUS_GOOD) return ret; ret = hp5590_cmd (dn, - proto_flags, - CMD_IN | CMD_VERIFY, - CMD_EEPROM_READ, data, size, CORE_NONE); + proto_flags, + CMD_IN | CMD_VERIFY, + CMD_EEPROM_READ, data, size, CORE_NONE); if (ret != SANE_STATUS_GOOD) return ret; @@ -639,9 +643,9 @@ hp5590_read_eeprom (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_write_eeprom (SANE_Int dn, - enum proto_flags proto_flags, - unsigned int addr, - unsigned char *data, unsigned int size) + enum proto_flags proto_flags, + unsigned int addr, + unsigned char *data, unsigned int size) { uint8_t eeprom_addr = addr; SANE_Status ret; @@ -653,18 +657,18 @@ hp5590_write_eeprom (SANE_Int dn, DBG (DBG_proc, "Writing EEPROM: addr %04x, size: %u\n", addr, size); ret = hp5590_cmd (dn, - proto_flags, - CMD_VERIFY, - CMD_EEPROM_ADDR, - (unsigned char *) &eeprom_addr, - sizeof (eeprom_addr), CORE_NONE); + proto_flags, + CMD_VERIFY, + CMD_EEPROM_ADDR, + (unsigned char *) &eeprom_addr, + sizeof (eeprom_addr), CORE_NONE); if (ret != SANE_STATUS_GOOD) return ret; ret = hp5590_cmd (dn, - proto_flags, - CMD_VERIFY, - CMD_EEPROM_WRITE, data, size, CORE_DATA); + proto_flags, + CMD_VERIFY, + CMD_EEPROM_WRITE, data, size, CORE_DATA); if (ret != SANE_STATUS_GOOD) return ret; @@ -674,8 +678,8 @@ hp5590_write_eeprom (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_read_scan_count (SANE_Int dn, - enum proto_flags proto_flags, - unsigned int *count) + enum proto_flags proto_flags, + unsigned int *count) { uint32_t scan_count; SANE_Status ret; @@ -687,10 +691,10 @@ hp5590_read_scan_count (SANE_Int dn, DBG (DBG_proc, "Reading scan count\n"); ret = hp5590_read_eeprom (dn, - proto_flags, - 0x00, - (unsigned char *) &scan_count, - sizeof (scan_count)); + proto_flags, + 0x00, + (unsigned char *) &scan_count, + sizeof (scan_count)); if (ret != SANE_STATUS_GOOD) return ret; @@ -706,11 +710,11 @@ hp5590_read_scan_count (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_inc_scan_count (SANE_Int dn, - enum proto_flags proto_flags) + enum proto_flags proto_flags) { uint32_t scan_count; - unsigned int count; - unsigned int new_count; + uint32_t count; + uint32_t new_count; SANE_Status ret; DBG (DBG_proc, "%s\n", __func__); @@ -721,12 +725,13 @@ hp5590_inc_scan_count (SANE_Int dn, return ret; scan_count = ++count; + DBG (DBG_verbose, "Scan count = %u\n", scan_count); ret = hp5590_write_eeprom (dn, - proto_flags, - 0x00, - (unsigned char *) &scan_count, - sizeof (scan_count)); + proto_flags, + 0x00, + (unsigned char *) &scan_count, + sizeof (scan_count)); if (ret != SANE_STATUS_GOOD) return ret; @@ -747,8 +752,8 @@ hp5590_inc_scan_count (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_read_max_scan_count (SANE_Int dn, - enum proto_flags proto_flags, - unsigned int *max_count) + enum proto_flags proto_flags, + unsigned int *max_count) { uint8_t max_scan_count[3]; SANE_Status ret; @@ -760,10 +765,10 @@ hp5590_read_max_scan_count (SANE_Int dn, DBG (DBG_proc, "Reading max scan count\n"); ret = hp5590_read_eeprom (dn, - proto_flags, - 0x10, - (unsigned char *) max_scan_count, - sizeof (max_scan_count)); + proto_flags, + 0x10, + (unsigned char *) max_scan_count, + sizeof (max_scan_count)); if (ret != SANE_STATUS_GOOD) return ret; @@ -777,9 +782,9 @@ hp5590_read_max_scan_count (SANE_Int dn, } /*************************************************************************** - * + * * EEPROM contents: - * + * * 0000: 6A 11 00 00 FF FF FF FF FF FF FF FF 09 0E 0F 00 j............... * 0010: 0C 13 0F 00 00 3A 00 FF FF FF 4E 35 39 45 54 52 ..........N59ETR * 0020: 31 52 4D 00 FF FF 00 16 00 0A 00 0D 00 11 00 10 1RM............. @@ -806,7 +811,7 @@ hp5590_read_max_scan_count (SANE_Int dn, /******************************************************************************/ static __sane_unused__ SANE_Status hp5590_read_eeprom_all_cmd (SANE_Int dn, - enum proto_flags proto_flags) + enum proto_flags proto_flags) { uint8_t eeprom[255]; SANE_Status ret; @@ -814,14 +819,35 @@ hp5590_read_eeprom_all_cmd (SANE_Int dn, DBG (DBG_proc, "%s\n", __func__); ret = hp5590_read_eeprom (dn, - proto_flags, - 0x00, - (unsigned char *) eeprom, - sizeof (eeprom)); + proto_flags, + 0x00, + (unsigned char *) eeprom, + sizeof (eeprom)); if (ret != SANE_STATUS_GOOD) return ret; - /* FIXME: Debug output */ + DBG (DBG_verbose, "hp5590_read_eeprom_all_cmd: rc = %d\n", ret); + { + const int LEN = 4096; + char buf[LEN]; + char* p = buf; + for (size_t i = 0; i < sizeof(eeprom); ++i) { + if (i % 16 == 0) { + int n = sprintf(p, "\n%04x ", (int)i); + if (n < 0) { + break; + } + p += n; + } + int n = sprintf(p, " %02x", eeprom[i]); + if (n < 0 ) { + break; + } + p += n; + } + *p = '\0'; + DBG (DBG_verbose, "dump:%s\n", buf); + } return SANE_STATUS_GOOD; } @@ -829,7 +855,7 @@ hp5590_read_eeprom_all_cmd (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_read_part_number (SANE_Int dn, - enum proto_flags proto_flags) + enum proto_flags proto_flags) { unsigned int part_number_len = PART_NUMBER_LEN; unsigned char part_number[PART_NUMBER_LEN + 1]; @@ -839,9 +865,9 @@ hp5590_read_part_number (SANE_Int dn, memset (part_number, 0, sizeof (part_number)); ret = hp5590_read_eeprom (dn, - proto_flags, - 0x1a, - part_number, part_number_len); + proto_flags, + 0x1a, + part_number, part_number_len); if (ret != SANE_STATUS_GOOD) return ret; @@ -853,7 +879,7 @@ hp5590_read_part_number (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_is_data_available (SANE_Int dn, - enum proto_flags proto_flags) + enum proto_flags proto_flags) { uint8_t data_status; SANE_Status ret; @@ -865,11 +891,11 @@ hp5590_is_data_available (SANE_Int dn, data_available = SANE_FALSE; ret = hp5590_cmd (dn, - proto_flags, - CMD_IN | CMD_VERIFY, - CMD_DATA_STATUS, - (unsigned char *) &data_status, - sizeof (data_status), CORE_DATA); + proto_flags, + CMD_IN | CMD_VERIFY, + CMD_DATA_STATUS, + (unsigned char *) &data_status, + sizeof (data_status), CORE_DATA); if (ret != SANE_STATUS_GOOD) return ret; @@ -888,7 +914,7 @@ hp5590_is_data_available (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_stop_scan (SANE_Int dn, - enum proto_flags proto_flags) + enum proto_flags proto_flags) { uint8_t reg_011b = 0x40; SANE_Status ret; @@ -898,11 +924,11 @@ hp5590_stop_scan (SANE_Int dn, hp5590_cmds_assert (sizeof (reg_011b) == 1); ret = hp5590_cmd (dn, - proto_flags, - CMD_VERIFY, - CMD_STOP_SCAN, - (unsigned char *) ®_011b, - sizeof (reg_011b), CORE_NONE); + proto_flags, + CMD_VERIFY, + CMD_STOP_SCAN, + (unsigned char *) ®_011b, + sizeof (reg_011b), CORE_NONE); if (ret != SANE_STATUS_GOOD) return ret; @@ -914,8 +940,8 @@ hp5590_stop_scan (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_turnon_lamp (SANE_Int dn, - enum proto_flags proto_flags, - enum hp5590_lamp_state state) + enum proto_flags proto_flags, + enum hp5590_lamp_state state) { struct lamp_state lamp_state; SANE_Status ret; @@ -961,11 +987,11 @@ hp5590_turnon_lamp (SANE_Int dn, } ret = hp5590_cmd (dn, - proto_flags, - CMD_VERIFY, - CMD_CONTROL_LAMP, - (unsigned char *) &lamp_state, - sizeof (lamp_state), CORE_DATA); + proto_flags, + CMD_VERIFY, + CMD_CONTROL_LAMP, + (unsigned char *) &lamp_state, + sizeof (lamp_state), CORE_DATA); if (ret != SANE_STATUS_GOOD) return ret; @@ -973,7 +999,7 @@ hp5590_turnon_lamp (SANE_Int dn, { ret = hp5590_init_scanner (dn, proto_flags, NULL, SCANNER_NONE); if (ret != SANE_STATUS_GOOD) - return ret; + return ret; } return SANE_STATUS_GOOD; @@ -982,7 +1008,7 @@ hp5590_turnon_lamp (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_power_status (SANE_Int dn, - enum proto_flags proto_flags) + enum proto_flags proto_flags) { struct power_resp power_resp; SANE_Status ret; @@ -992,11 +1018,11 @@ hp5590_power_status (SANE_Int dn, hp5590_cmds_assert (sizeof (power_resp) == 3); ret = hp5590_cmd (dn, - proto_flags, - CMD_IN | CMD_VERIFY, - CMD_POWER_STATUS, - (unsigned char *) &power_resp, - sizeof (power_resp), CORE_NONE); + proto_flags, + CMD_IN | CMD_VERIFY, + CMD_POWER_STATUS, + (unsigned char *) &power_resp, + sizeof (power_resp), CORE_NONE); if (ret != SANE_STATUS_GOOD) return ret; @@ -1008,7 +1034,7 @@ hp5590_power_status (SANE_Int dn, DBG (DBG_cmds, "Turning lamp on\n"); ret = hp5590_turnon_lamp (dn, proto_flags, LAMP_STATE_TURNON); if (ret != SANE_STATUS_GOOD) - return ret; + return ret; } return SANE_STATUS_GOOD; @@ -1017,25 +1043,25 @@ hp5590_power_status (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_read_error_code (SANE_Int dn, - enum proto_flags proto_flags, - unsigned int *adf_flags) + enum proto_flags proto_flags, + unsigned int *adf_flags) { struct reg_03 reg_03; - SANE_Status ret; + SANE_Status ret; DBG (DBG_proc, "%s\n", __func__); - + hp5590_cmds_assert (sizeof (reg_03) == 3); hp5590_cmds_assert (adf_flags != NULL); memset (®_03, 0, sizeof (reg_03)); *adf_flags = 0; ret = hp5590_cmd (dn, - proto_flags, - CMD_IN, - CMD_MISC_STATUS, - (unsigned char *) ®_03, - sizeof (reg_03), CORE_NONE); + proto_flags, + CMD_IN, + CMD_MISC_STATUS, + (unsigned char *) ®_03, + sizeof (reg_03), CORE_NONE); if (ret != SANE_STATUS_GOOD) return ret; @@ -1052,12 +1078,12 @@ hp5590_read_error_code (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_reset_scan_head (SANE_Int dn, - enum proto_flags proto_flags) + enum proto_flags proto_flags) { - SANE_Status ret; + SANE_Status ret; DBG (DBG_proc, "%s\n", __func__); - + ret = hp5590_turnon_lamp (dn, proto_flags, LAMP_STATE_TURNOFF); if (ret != SANE_STATUS_GOOD) return ret; @@ -1074,13 +1100,13 @@ hp5590_reset_scan_head (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_select_source_and_wakeup (SANE_Int dn, - enum proto_flags proto_flags, - enum scan_sources source, - SANE_Bool extend_lamp_timeout) + enum proto_flags proto_flags, + enum scan_sources source, + SANE_Bool extend_lamp_timeout) { - uint8_t reg_d6 = 0x04; - SANE_Status ret; - unsigned int adf_flags; + uint8_t reg_d6 = 0x04; + SANE_Status ret; + unsigned int adf_flags; DBG (DBG_proc, "%s\n", __func__); @@ -1090,50 +1116,50 @@ hp5590_select_source_and_wakeup (SANE_Int dn, { ret = hp5590_turnon_lamp (dn, proto_flags, LAMP_STATE_TURNOFF); if (ret != SANE_STATUS_GOOD) - return ret; + return ret; } else { ret = hp5590_turnon_lamp (dn, - proto_flags, - extend_lamp_timeout == SANE_TRUE ? - LAMP_STATE_SET_TURNOFF_TIME_LONG : - LAMP_STATE_SET_TURNOFF_TIME); + proto_flags, + extend_lamp_timeout == SANE_TRUE ? + LAMP_STATE_SET_TURNOFF_TIME_LONG : + LAMP_STATE_SET_TURNOFF_TIME); if (ret != SANE_STATUS_GOOD) - return ret; + return ret; } switch (source) { case SOURCE_ADF: case SOURCE_ADF_DUPLEX: - reg_d6 = 0x03; - break; + reg_d6 = 0x03; + break; case SOURCE_FLATBED: - reg_d6 = 0x04; - break; + reg_d6 = 0x04; + break; case SOURCE_TMA_SLIDES: - reg_d6 = 0x02; - break; + reg_d6 = 0x02; + break; case SOURCE_TMA_NEGATIVES: - reg_d6 = 0x01; - break; + reg_d6 = 0x01; + break; case SOURCE_NONE: - DBG (DBG_err, "Scan source not selected\n"); - return SANE_STATUS_INVAL; + DBG (DBG_err, "Scan source not selected\n"); + return SANE_STATUS_INVAL; default: - DBG (DBG_err, "Unknown scan source: %u\n", source); - return SANE_STATUS_INVAL; + DBG (DBG_err, "Unknown scan source: %u\n", source); + return SANE_STATUS_INVAL; } DBG (DBG_cmds, "Scan source: %u\n", reg_d6); ret = hp5590_cmd (dn, - proto_flags, - CMD_VERIFY, - CMD_SELECT_SOURCE, - (unsigned char *) ®_d6, - sizeof (reg_d6), CORE_NONE); + proto_flags, + CMD_VERIFY, + CMD_SELECT_SOURCE, + (unsigned char *) ®_d6, + sizeof (reg_d6), CORE_NONE); if (ret != SANE_STATUS_GOOD && ret != SANE_STATUS_DEVICE_BUSY) return ret; @@ -1154,12 +1180,12 @@ hp5590_select_source_and_wakeup (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_lock_unlock_scanner (SANE_Int dn, - enum proto_flags proto_flags) + enum proto_flags proto_flags) { - uint8_t reg_00 = 0x01; - SANE_Status ret; - unsigned int adf_flags; - unsigned int waiting; + uint8_t reg_00 = 0x01; + SANE_Status ret; + unsigned int adf_flags; + unsigned int waiting; DBG (DBG_proc, "%s\n", __func__); hp5590_cmds_assert (sizeof (reg_00) == 1); @@ -1167,27 +1193,27 @@ hp5590_lock_unlock_scanner (SANE_Int dn, for (waiting = 0; waiting < WAKEUP_TIMEOUT; waiting++, sleep (1)) { ret = hp5590_cmd (dn, - proto_flags, - CMD_VERIFY, - CMD_LOCK_UNLOCK, - (unsigned char *) ®_00, - sizeof (reg_00), CORE_NONE); + proto_flags, + CMD_VERIFY, + CMD_LOCK_UNLOCK, + (unsigned char *) ®_00, + sizeof (reg_00), CORE_NONE); if (ret == SANE_STATUS_GOOD) - break; + break; if (ret != SANE_STATUS_DEVICE_BUSY) - return ret; + return ret; DBG (DBG_cmds, "Waiting for scanner...\n"); ret = hp5590_read_error_code (dn, proto_flags, &adf_flags); if (ret != SANE_STATUS_GOOD) - return ret; + return ret; if (adf_flags & FLAG_ADF_EMPTY) - { - DBG (DBG_cmds, "ADF empty\n"); - return SANE_STATUS_NO_DOCS; - } + { + DBG (DBG_cmds, "ADF empty\n"); + return SANE_STATUS_NO_DOCS; + } } if (waiting == WAKEUP_TIMEOUT) @@ -1199,9 +1225,9 @@ hp5590_lock_unlock_scanner (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_set_base_dpi (SANE_Int dn, - enum proto_flags proto_flags, - struct scanner_info *scanner_info, - unsigned int base_dpi) + enum proto_flags proto_flags, + struct scanner_info *scanner_info, + unsigned int base_dpi) { uint16_t _base_dpi; SANE_Status ret; @@ -1216,21 +1242,21 @@ hp5590_set_base_dpi (SANE_Int dn, || base_dpi > scanner_info->max_dpi_y) { DBG (DBG_err, "Base DPI too large " - "(given: %u, max X DPI: %u, max Y DPI: %u)\n", - base_dpi, - scanner_info->max_dpi_x, - scanner_info->max_dpi_y); + "(given: %u, max X DPI: %u, max Y DPI: %u)\n", + base_dpi, + scanner_info->max_dpi_x, + scanner_info->max_dpi_y); return SANE_STATUS_INVAL; } _base_dpi = htons (base_dpi); ret = hp5590_cmd (dn, - proto_flags, - CMD_VERIFY, - CMD_SET_BASE_DPI, - (unsigned char *) &_base_dpi, - sizeof (_base_dpi), CORE_DATA); + proto_flags, + CMD_VERIFY, + CMD_SET_BASE_DPI, + (unsigned char *) &_base_dpi, + sizeof (_base_dpi), CORE_DATA); if (ret != SANE_STATUS_GOOD) return ret; @@ -1240,8 +1266,8 @@ hp5590_set_base_dpi (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_set_color_map (SANE_Int dn, - enum proto_flags proto_flags, - unsigned int base_dpi) + enum proto_flags proto_flags, + unsigned int base_dpi) { struct color_map color_map; SANE_Status ret; @@ -1260,28 +1286,48 @@ hp5590_set_color_map (SANE_Int dn, } else { - color_map.color1[2] = 0xff; - color_map.color1[3] = 0x01; - color_map.color1[4] = 0x04; - color_map.color1[5] = 0x02; - - color_map.color2[2] = 0xff; - color_map.color2[3] = 0x01; - color_map.color2[4] = 0x04; - color_map.color2[5] = 0x02; - - color_map.color3[2] = 0xff; - color_map.color3[3] = 0x01; - color_map.color3[4] = 0x04; - color_map.color3[5] = 0x02; + if (0) { + /* Does not work with hp5590 and 2400 dpi. */ + color_map.color1[2] = 0xff; + color_map.color1[3] = 0x01; + color_map.color1[4] = 0x04; + color_map.color1[5] = 0x02; + + color_map.color2[2] = 0xff; + color_map.color2[3] = 0x01; + color_map.color2[4] = 0x04; + color_map.color2[5] = 0x02; + + color_map.color3[2] = 0xff; + color_map.color3[3] = 0x01; + color_map.color3[4] = 0x04; + color_map.color3[5] = 0x02; + + } else { + /* Needs documentation. */ + color_map.color1[2] = 0x00; + color_map.color1[3] = 0x00; + color_map.color1[4] = 0x01; + color_map.color1[5] = 0x00; + + color_map.color2[2] = 0x00; + color_map.color2[3] = 0x00; + color_map.color2[4] = 0x01; + color_map.color2[5] = 0x00; + + color_map.color3[2] = 0x00; + color_map.color3[3] = 0x00; + color_map.color3[4] = 0x01; + color_map.color3[5] = 0x00; + } } ret = hp5590_cmd (dn, - proto_flags, - CMD_VERIFY, - CMD_SET_COLOR_MAP, - (unsigned char *) &color_map, - sizeof (color_map), CORE_DATA); + proto_flags, + CMD_VERIFY, + CMD_SET_COLOR_MAP, + (unsigned char *) &color_map, + sizeof (color_map), CORE_DATA); if (ret != SANE_STATUS_GOOD) return ret; @@ -1394,7 +1440,7 @@ calc_scanner_dpi (unsigned int dpi, unsigned int *scanner_dpi) /******************************************************************************/ static SANE_Status hp5590_calc_pixel_bits (unsigned int dpi, enum color_depths color_depth, - unsigned int *pixel_bits) + unsigned int *pixel_bits) { unsigned int scanner_dpi; SANE_Status ret; @@ -1429,9 +1475,9 @@ hp5590_calc_pixel_bits (unsigned int dpi, enum color_depths color_depth, if (color_depth == DEPTH_BW) { if (dpi == scanner_dpi) - *pixel_bits = 1; + *pixel_bits = 1; else - *pixel_bits = 8; + *pixel_bits = 8; return SANE_STATUS_GOOD; } @@ -1442,28 +1488,28 @@ hp5590_calc_pixel_bits (unsigned int dpi, enum color_depths color_depth, /******************************************************************************/ static SANE_Status hp5590_set_scan_area (SANE_Int dn, - enum proto_flags proto_flags, - struct scanner_info *scanner_info, - unsigned int top_x, unsigned int top_y, - unsigned int width, unsigned int height, - unsigned int dpi, enum color_depths color_depth, - enum scan_modes scan_mode, - enum scan_sources scan_source) + enum proto_flags proto_flags, + struct scanner_info *scanner_info, + unsigned int top_x, unsigned int top_y, + unsigned int width, unsigned int height, + unsigned int dpi, enum color_depths color_depth, + enum scan_modes scan_mode, + enum scan_sources scan_source) { - struct scan_params scan_params; - unsigned int scanner_top_x; - unsigned int scanner_top_y; - unsigned int scanner_pixels_x; - unsigned int scanner_pixels_y; - unsigned int base_dpi; - unsigned int scanner_dpi; - unsigned int pixel_bits; - unsigned int scanner_line_width; - unsigned int max_pixels_x_current_dpi; - unsigned int max_pixels_y_current_dpi; - unsigned int pixels_x; - unsigned int pixels_y; - SANE_Status ret; + struct scan_params scan_params; + unsigned int scanner_top_x; + unsigned int scanner_top_y; + unsigned int scanner_pixels_x; + unsigned int scanner_pixels_y; + unsigned int base_dpi; + unsigned int scanner_dpi; + unsigned int pixel_bits; + unsigned int scanner_line_width; + unsigned int max_pixels_x_current_dpi; + unsigned int max_pixels_y_current_dpi; + unsigned int pixels_x; + unsigned int pixels_y; + SANE_Status ret; DBG (DBG_proc, "%s\n", __func__); @@ -1491,8 +1537,8 @@ hp5590_set_scan_area (SANE_Int dn, if (dpi > scanner_info->max_dpi_x || dpi > scanner_info->max_dpi_y) { DBG (DBG_err, "DPI too large " - "(given: %u, max X DPI: %u, max Y DPI: %u)\n", - dpi, scanner_info->max_dpi_x, scanner_info->max_dpi_y); + "(given: %u, max X DPI: %u, max Y DPI: %u)\n", + dpi, scanner_info->max_dpi_x, scanner_info->max_dpi_y); return SANE_STATUS_INVAL; } @@ -1580,14 +1626,14 @@ hp5590_set_scan_area (SANE_Int dn, if (top_x + pixels_x > max_pixels_x_current_dpi) { DBG (DBG_err, "Top X (%u) + pixels X (%u) exceeds max X %u\n", - top_x, pixels_x, max_pixels_x_current_dpi); + top_x, pixels_x, max_pixels_x_current_dpi); return SANE_STATUS_INVAL; } if (top_y + pixels_y > max_pixels_y_current_dpi) { DBG (DBG_err, "Top Y (%u) + pixels Y (%u) exceeds max Y %u\n", - top_y, pixels_y, max_pixels_y_current_dpi); + top_y, pixels_y, max_pixels_y_current_dpi); return SANE_STATUS_INVAL; } @@ -1597,23 +1643,23 @@ hp5590_set_scan_area (SANE_Int dn, scan_params.size_y = htons (scanner_pixels_y); scanner_line_width = (float) (pixels_x - * (1.0 * scanner_dpi / dpi) / 8 * pixel_bits); + * (1.0 * scanner_dpi / dpi) / 8 * pixel_bits); /* Scanner hangs at scan command if line width less than 18 */ if (scanner_line_width < 18) { - DBG (DBG_err, "Line width too smal, extending to minimum\n"); + DBG (DBG_err, "Line width too small, extending to minimum\n"); scanner_line_width = 18; } scan_params.line_width = htons (scanner_line_width); DBG (DBG_cmds, "Line width: %u\n", scanner_line_width); ret = hp5590_cmd (dn, - proto_flags, - CMD_VERIFY, - CMD_SET_SCAN_PARAMS, - (unsigned char *) &scan_params, - sizeof (scan_params), CORE_DATA); + proto_flags, + CMD_VERIFY, + CMD_SET_SCAN_PARAMS, + (unsigned char *) &scan_params, + sizeof (scan_params), CORE_DATA); if (ret != SANE_STATUS_GOOD) return ret; @@ -1623,7 +1669,7 @@ hp5590_set_scan_area (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_read_image_params (SANE_Int dn, - enum proto_flags proto_flags) + enum proto_flags proto_flags) { struct image_params image_params; SANE_Status ret; @@ -1635,18 +1681,18 @@ hp5590_read_image_params (SANE_Int dn, memset (&image_params, 0, sizeof (image_params)); ret = hp5590_cmd (dn, - proto_flags, - CMD_IN | CMD_VERIFY, - CMD_GET_IMAGE_PARAMS, - (unsigned char *) &image_params, - sizeof (image_params), CORE_NONE); + proto_flags, + CMD_IN | CMD_VERIFY, + CMD_GET_IMAGE_PARAMS, + (unsigned char *) &image_params, + sizeof (image_params), CORE_NONE); if (ret != SANE_STATUS_GOOD) return ret; if (image_params.signature != 0xc0) { DBG (DBG_err, "Wrong signature for image parameters structure " - "received (needed 0xc0, got %02x)\n", image_params.signature); + "received (needed 0xc0, got %02x)\n", image_params.signature); return SANE_STATUS_IO_ERROR; } DBG (DBG_cmds, "Received image params:\n"); @@ -1665,13 +1711,13 @@ hp5590_read_image_params (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_set_scan_params (SANE_Int dn, - enum proto_flags proto_flags, - struct scanner_info * scanner_info, - unsigned int top_x, unsigned int top_y, - unsigned int width, unsigned int height, - unsigned int dpi, enum color_depths color_depth, - enum scan_modes scan_mode, - enum scan_sources scan_source) + enum proto_flags proto_flags, + struct scanner_info * scanner_info, + unsigned int top_x, unsigned int top_y, + unsigned int width, unsigned int height, + unsigned int dpi, enum color_depths color_depth, + enum scan_modes scan_mode, + enum scan_sources scan_source) { unsigned int base_dpi; SANE_Status ret; @@ -1714,11 +1760,11 @@ hp5590_set_scan_params (SANE_Int dn, } ret = hp5590_set_scan_area (dn, - proto_flags, - scanner_info, - top_x, top_y, - width, height, - dpi, color_depth, scan_mode, scan_source); + proto_flags, + scanner_info, + top_x, top_y, + width, height, + dpi, color_depth, scan_mode, scan_source); if (ret != SANE_STATUS_GOOD) { /* Unlock scanner */ @@ -1745,7 +1791,7 @@ hp5590_set_scan_params (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_send_reverse_calibration_map (SANE_Int dn, - enum proto_flags proto_flags) + enum proto_flags proto_flags) { unsigned int reverse_map_size = REVERSE_MAP_LEN; uint16_t reverse_map[REVERSE_MAP_LEN]; @@ -1778,16 +1824,21 @@ hp5590_send_reverse_calibration_map (SANE_Int dn, for (i = len * 3; i < len * 4; i++) { - reverse_map[i] = htons (0xffff); + if (1) { + reverse_map[i] = htons (0xffff); + } else { + reverse_map[i] = htons (val); + val -= 1; + } } - DBG (DBG_proc, "Done preparing reverse calibration map\n"); + DBG (DBG_proc, "Done preparing reverse calibration map. n=%u, bytes_per_entry=%zu\n", reverse_map_size, sizeof(uint16_t)); ret = hp5590_bulk_write (dn, - proto_flags, - 0x2b, - (unsigned char *) reverse_map, - reverse_map_size * sizeof (uint16_t)); + proto_flags, + 0x2b, + (unsigned char *) reverse_map, + reverse_map_size * sizeof (uint16_t)); if (ret != SANE_STATUS_GOOD) return ret; @@ -1797,7 +1848,7 @@ hp5590_send_reverse_calibration_map (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_send_forward_calibration_maps (SANE_Int dn, - enum proto_flags proto_flags) + enum proto_flags proto_flags) { unsigned int forward_map_size = FORWARD_MAP_LEN; uint16_t forward_map[FORWARD_MAP_LEN]; @@ -1812,31 +1863,31 @@ hp5590_send_forward_calibration_maps (SANE_Int dn, { forward_map[i] = htons (val); if (val < 0xffff) - val += 1; + val += 1; } - DBG (DBG_proc, "Done preparing forward calibration map\n"); + DBG (DBG_proc, "Done preparing forward calibration map. n=%u, bytes_per_entry=%zu\n", forward_map_size, sizeof(uint16_t)); ret = hp5590_bulk_write (dn, - proto_flags, - 0x012a, - (unsigned char *) forward_map, - forward_map_size * sizeof (uint16_t)); + proto_flags, + 0x012a, + (unsigned char *) forward_map, + forward_map_size * sizeof (uint16_t)); if (ret != SANE_STATUS_GOOD) return ret; ret = hp5590_bulk_write (dn, - proto_flags, - 0x022a, - (unsigned char *) forward_map, - forward_map_size * sizeof (uint16_t)); + proto_flags, + 0x022a, + (unsigned char *) forward_map, + forward_map_size * sizeof (uint16_t)); if (ret != SANE_STATUS_GOOD) return ret; ret = hp5590_bulk_write (dn, - proto_flags, - 0x032a, - (unsigned char *) forward_map, - forward_map_size * sizeof (uint16_t)); + proto_flags, + 0x032a, + (unsigned char *) forward_map, + forward_map_size * sizeof (uint16_t)); if (ret != SANE_STATUS_GOOD) return ret; @@ -1846,9 +1897,9 @@ hp5590_send_forward_calibration_maps (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_read (SANE_Int dn, - enum proto_flags proto_flags, - unsigned char *bytes, unsigned int size, - void *state) + enum proto_flags proto_flags, + unsigned char *bytes, unsigned int size, + void *state) { SANE_Status ret; @@ -1867,7 +1918,7 @@ hp5590_read (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_start_scan (SANE_Int dn, - enum proto_flags proto_flags) + enum proto_flags proto_flags) { uint8_t reg_051b = 0x40; SANE_Status ret; @@ -1877,11 +1928,11 @@ hp5590_start_scan (SANE_Int dn, hp5590_cmds_assert (sizeof (reg_051b) == 1); ret = hp5590_cmd (dn, - proto_flags, - CMD_VERIFY, - CMD_START_SCAN, - (unsigned char *) ®_051b, - sizeof (reg_051b), CORE_NONE); + proto_flags, + CMD_VERIFY, + CMD_START_SCAN, + (unsigned char *) ®_051b, + sizeof (reg_051b), CORE_NONE); if (ret != SANE_STATUS_GOOD) return ret; @@ -1891,8 +1942,8 @@ hp5590_start_scan (SANE_Int dn, /******************************************************************************/ static SANE_Status hp5590_read_buttons (SANE_Int dn, - enum proto_flags proto_flags, - enum button_status * status) + enum proto_flags proto_flags, + enum button_status * status) { uint16_t button_status; SANE_Status ret; @@ -1903,11 +1954,11 @@ hp5590_read_buttons (SANE_Int dn, hp5590_cmds_assert (sizeof (button_status) == 2); ret = hp5590_cmd (dn, - proto_flags, - CMD_IN | CMD_VERIFY, - CMD_BUTTON_STATUS, - (unsigned char *) &button_status, - sizeof (button_status), CORE_NONE); + proto_flags, + CMD_IN | CMD_VERIFY, + CMD_BUTTON_STATUS, + (unsigned char *) &button_status, + sizeof (button_status), CORE_NONE); if (ret != SANE_STATUS_GOOD) return ret; @@ -1962,6 +2013,47 @@ hp5590_read_buttons (SANE_Int dn, return SANE_STATUS_GOOD; } +/******************************************************************************/ +static SANE_Status +hp5590_read_lcd_and_led (SANE_Int dn, + enum proto_flags proto_flags, + SANE_Int * lcd_counter, + enum color_led_status * color_led) +{ + SANE_Status ret; + + DBG (DBG_proc, "%s\n", __func__); + + hp5590_cmds_assert (lcd_counter != NULL); + hp5590_cmds_assert (color_led != NULL); + + /* + * Read LCD status bytes and get current value of counter and + * state of color/black_white LED. + * data[0x29]: LCD counter value, data[0x2a]: 1=color / 2=black_white. + */ + uint8_t data[0x30]; + ret = hp5590_cmd (dn, + proto_flags, + CMD_IN | CMD_VERIFY, + CMD_LCD_STATUS, + (unsigned char *) &data, + sizeof (data), CORE_NONE); + if (ret != SANE_STATUS_GOOD) + return ret; + + *lcd_counter = data[0x29]; + if (data[0x2a] == 2) { + *color_led = LED_BLACKWHITE; + } else { + *color_led = LED_COLOR; + } + DBG (DBG_cmds, "LCD and LED values: lcd=%d, led=%s\n", *lcd_counter, + *color_led == LED_BLACKWHITE ? "black_white" : "color"); + + return SANE_STATUS_GOOD; +} + /* SET SCAN PARAMETERS ==================== 50 ======================= BW 50 (425 x 585) @@ -2040,13 +2132,13 @@ GRAY 100 18 00 64 00 64 00 00 00 00 04 f8 06 db 00 80 00 40 08 e8 40 00 64 00 64 00 64 00 00 00 00 00 00 00 00 00 03 50 - + COLOR 100 18 00 64 00 64 00 00 00 00 04 f8 06 db 00 80 00 00 18 e8 40 00 64 00 64 00 64 00 00 00 00 00 00 00 00 00 09 f0 -COLOR 100 48bit, preview +COLOR 100 48bit, preview 18 00 64 00 64 00 00 00 00 04 f8 06 db 00 80 00 00 30 e8 40 00 64 00 64 00 64 00 00 00 00 00 00 04 00 00 13 e0 @@ -2144,7 +2236,7 @@ GRAY 400 18 02 58 02 58 00 00 00 00 13 ec 1b 6c 00 80 00 40 08 c8 40 00 64 00 64 00 64 00 00 00 00 00 00 00 00 00 13 ec - + COLOR 400 18 02 58 02 58 00 00 00 00 13 ec 1b 6c 00 80 00 00 18 c8 40 00 64 00 64 00 64 00 00 00 00 00 00 diff --git a/backend/hp5590_cmds.h b/backend/hp5590_cmds.h index c8da0f2..7179853 100644 --- a/backend/hp5590_cmds.h +++ b/backend/hp5590_cmds.h @@ -48,10 +48,10 @@ #include "hp5590_low.h" -#define TMA_MAX_X_INCHES 1.69 -#define TMA_MAX_Y_INCHES 6 +#define TMA_MAX_X_INCHES 1.69 +#define TMA_MAX_Y_INCHES 6 -#define ADF_MAX_Y_INCHES 14 +#define ADF_MAX_Y_INCHES 14 enum hp_scanner_types { @@ -101,6 +101,12 @@ enum button_status BUTTON_CANCEL }; +enum color_led_status +{ + LED_COLOR = 1, + LED_BLACKWHITE +}; + enum hp5590_lamp_state { LAMP_STATE_TURNOFF = 1, @@ -111,92 +117,92 @@ enum hp5590_lamp_state struct hp5590_model { - enum hp_scanner_types scanner_type; - unsigned int usb_vendor_id; - unsigned int usb_product_id; - const char *vendor_id; - const char *model; - const char *kind; - enum proto_flags proto_flags; + enum hp_scanner_types scanner_type; + unsigned int usb_vendor_id; + unsigned int usb_product_id; + const char *vendor_id; + const char *model; + const char *kind; + enum proto_flags proto_flags; }; -#define FEATURE_NONE 0 -#define FEATURE_ADF 1 << 0 -#define FEATURE_TMA 1 << 1 -#define FEATURE_LCD 1 << 2 +#define FEATURE_NONE 0 +#define FEATURE_ADF 1 << 0 +#define FEATURE_TMA 1 << 1 +#define FEATURE_LCD 1 << 2 struct scanner_info { - const char *model; - const char *kind; - unsigned int features; - const char *fw_version; - unsigned int max_dpi_x; - unsigned int max_dpi_y; - unsigned int max_pixels_x; - unsigned int max_pixels_y; - float max_size_x; - float max_size_y; - unsigned int max_motor_param; - unsigned int normal_motor_param; + const char *model; + const char *kind; + unsigned int features; + const char *fw_version; + unsigned int max_dpi_x; + unsigned int max_dpi_y; + unsigned int max_pixels_x; + unsigned int max_pixels_y; + float max_size_x; + float max_size_y; + unsigned int max_motor_param; + unsigned int normal_motor_param; }; static SANE_Status hp5590_model_def (enum hp_scanner_types scanner_type, - const struct hp5590_model ** model); + const struct hp5590_model ** model); static SANE_Status hp5590_vendor_product_id (enum hp_scanner_types scanner_type, - SANE_Word * vendor_id, - SANE_Word * product_id); + SANE_Word * vendor_id, + SANE_Word * product_id); static SANE_Status hp5590_init_scanner (SANE_Int dn, - enum proto_flags proto_flags, - struct scanner_info **info, - enum hp_scanner_types scanner_type); + enum proto_flags proto_flags, + struct scanner_info **info, + enum hp_scanner_types scanner_type); static SANE_Status hp5590_power_status (SANE_Int dn, - enum proto_flags proto_flags); + enum proto_flags proto_flags); static SANE_Status hp5590_read_max_scan_count (SANE_Int dn, - enum proto_flags proto_flags, - unsigned int *max_count); + enum proto_flags proto_flags, + unsigned int *max_count); static SANE_Status hp5590_select_source_and_wakeup (SANE_Int dn, - enum proto_flags proto_flags, - enum scan_sources source, - SANE_Bool extend_lamp_timeout); + enum proto_flags proto_flags, + enum scan_sources source, + SANE_Bool extend_lamp_timeout); static SANE_Status hp5590_stop_scan (SANE_Int dn, - enum proto_flags proto_flags); + enum proto_flags proto_flags); static SANE_Status hp5590_read_scan_count (SANE_Int dn, - enum proto_flags proto_flags, - unsigned int *count); + enum proto_flags proto_flags, + unsigned int *count); static SANE_Status hp5590_set_scan_params (SANE_Int dn, - enum proto_flags proto_flags, - struct scanner_info *scanner_info, - unsigned int top_x, unsigned int top_y, - unsigned int width, unsigned int height, - unsigned int dpi, - enum color_depths color_depth, - enum scan_modes scan_mode, - enum scan_sources scan_source); + enum proto_flags proto_flags, + struct scanner_info *scanner_info, + unsigned int top_x, unsigned int top_y, + unsigned int width, unsigned int height, + unsigned int dpi, + enum color_depths color_depth, + enum scan_modes scan_mode, + enum scan_sources scan_source); static SANE_Status hp5590_send_forward_calibration_maps (SANE_Int dn, - enum proto_flags proto_flags); + enum proto_flags proto_flags); static SANE_Status hp5590_send_reverse_calibration_map (SANE_Int dn, - enum proto_flags proto_flags); + enum proto_flags proto_flags); static SANE_Status hp5590_inc_scan_count (SANE_Int dn, - enum proto_flags proto_flags); + enum proto_flags proto_flags); static SANE_Status hp5590_start_scan (SANE_Int dn, - enum proto_flags proto_flags); + enum proto_flags proto_flags); static SANE_Status hp5590_read (SANE_Int dn, - enum proto_flags proto_flags, - unsigned char *bytes, - unsigned int size, void *state); + enum proto_flags proto_flags, + unsigned char *bytes, + unsigned int size, void *state); static SANE_Status hp5590_read_buttons (SANE_Int dn, - enum proto_flags proto_flags, - enum button_status *status); + enum proto_flags proto_flags, + enum button_status *status); static SANE_Status hp5590_read_part_number (SANE_Int dn, - enum proto_flags proto_flags); + enum proto_flags proto_flags); static SANE_Status hp5590_calc_pixel_bits (unsigned int dpi, - enum color_depths color_depth, - unsigned int *pixel_bits); + enum color_depths color_depth, + unsigned int *pixel_bits); static SANE_Status hp5590_is_data_available (SANE_Int dn, - enum proto_flags proto_flags); + enum proto_flags proto_flags); static SANE_Status hp5590_reset_scan_head (SANE_Int dn, - enum proto_flags proto_flags); + enum proto_flags proto_flags); #endif /* HP5590_H */ /* vim: sw=2 ts=8 */ diff --git a/backend/hp5590_low.c b/backend/hp5590_low.c index 4961fd7..4936c58 100644 --- a/backend/hp5590_low.c +++ b/backend/hp5590_low.c @@ -59,9 +59,9 @@ #include "hp5590_low.h" /* Debug levels */ -#define DBG_err 0 -#define DBG_proc 10 -#define DBG_usb 50 +#define DBG_err 0 +#define DBG_proc 10 +#define DBG_usb 50 /* Custom assert() macro */ #define hp5590_low_assert(exp) if(!(exp)) { \ @@ -72,38 +72,38 @@ /* Structure describing bulk transfer size */ struct bulk_size { - uint16_t size; - uint8_t unused; + uint16_t size; + uint8_t unused; } __attribute__ ((packed)); /* Structure describing bulk URB */ /* FIXME: Verify according to USB standard */ struct usb_in_usb_bulk_setup { - uint8_t bRequestType; - uint8_t bRequest; - uint8_t bEndpoint; - uint16_t unknown; - uint16_t wLength; /* MSB first */ - uint8_t pad; + uint8_t bRequestType; + uint8_t bRequest; + uint8_t bEndpoint; + uint16_t unknown; + uint16_t wLength; /* MSB first */ + uint8_t pad; } __attribute__ ((packed)); /* Structure describing control URB */ struct usb_in_usb_ctrl_setup { uint8_t bRequestType; uint8_t bRequest; - uint16_t wValue; /* MSB first */ - uint16_t wIndex; /* MSB first */ - uint16_t wLength; /* LSB first */ + uint16_t wValue; /* MSB first */ + uint16_t wIndex; /* MSB first */ + uint16_t wLength; /* LSB first */ } __attribute__ ((packed)); /* CORE status flag - ready or not */ -#define CORE_FLAG_NOT_READY 1 << 1 +#define CORE_FLAG_NOT_READY 1 << 1 /* Bulk transfers are done in pages, below their respective sizes */ -#define BULK_WRITE_PAGE_SIZE 0x0f000 -#define BULK_READ_PAGE_SIZE 0x10000 -#define ALLOCATE_BULK_READ_PAGES 16 /* 16 * 65536 = 1Mb */ +#define BULK_WRITE_PAGE_SIZE 0x0f000 +#define BULK_READ_PAGE_SIZE 0x10000 +#define ALLOCATE_BULK_READ_PAGES 16 /* 16 * 65536 = 1Mb */ /* Structure describing bulk read state, because bulk reads will be done in * pages, but function caller uses its own buffer, whose size is certainly @@ -112,14 +112,14 @@ struct usb_in_usb_ctrl_setup { */ struct bulk_read_state { - unsigned char *buffer; - unsigned int buffer_size; - unsigned int bytes_available; + unsigned char *buffer; + unsigned int buffer_size; + unsigned int bytes_available; unsigned char *buffer_out_ptr; unsigned char *buffer_in_ptr; - unsigned int total_pages; + unsigned int total_pages; unsigned char *buffer_end_ptr; - unsigned int initialized; + unsigned int initialized; }; /******************************************************************************* @@ -134,10 +134,10 @@ struct bulk_read_state */ static SANE_Status hp5590_get_ack (SANE_Int dn, - enum proto_flags proto_flags) + enum proto_flags proto_flags) { - uint8_t status; - SANE_Status ret; + uint8_t status; + SANE_Status ret; /* Bypass reading acknowledge if the device doesn't need it */ if (proto_flags & PF_NO_USB_IN_USB_ACK) @@ -147,22 +147,22 @@ hp5590_get_ack (SANE_Int dn, /* Check if USB-in-USB operation was accepted */ ret = sanei_usb_control_msg (dn, USB_DIR_IN | USB_TYPE_VENDOR, - 0x0c, 0x8e, 0x20, - sizeof (status), &status); + 0x0c, 0x8e, 0x20, + sizeof (status), &status); if (ret != SANE_STATUS_GOOD) { DBG (DBG_err, "%s: USB-in-USB: error getting acknowledge\n", - __func__); + __func__); return ret; } DBG (DBG_usb, "%s: USB-in-USB: accepted\n", __func__); - /* Check if we received correct acknowledgement */ + /* Check if we received correct acknowledgment */ if (status != 0x01) { DBG (DBG_err, "%s: USB-in-USB: not accepted (status %u)\n", - __func__, status); + __func__, status); return SANE_STATUS_DEVICE_BUSY; } @@ -181,7 +181,7 @@ hp5590_get_ack (SANE_Int dn, */ static SANE_Status hp5590_get_status (SANE_Int dn, - __sane_unused__ enum proto_flags proto_flags) + __sane_unused__ enum proto_flags proto_flags) { uint8_t status; SANE_Status ret; @@ -189,12 +189,12 @@ hp5590_get_status (SANE_Int dn, DBG (DBG_proc, "%s\n", __func__); ret = sanei_usb_control_msg (dn, USB_DIR_IN | USB_TYPE_VENDOR, - 0x0c, 0x8e, 0x00, - sizeof (status), &status); + 0x0c, 0x8e, 0x00, + sizeof (status), &status); if (ret != SANE_STATUS_GOOD) { DBG (DBG_err, "%s: USB-in-USB: error getting device status\n", - __func__); + __func__); return ret; } @@ -202,7 +202,7 @@ hp5590_get_status (SANE_Int dn, if (status != 0x00) { DBG (DBG_err, "%s: USB-in-USB: got non-zero device status (status %u)\n", - __func__, status); + __func__, status); return SANE_STATUS_DEVICE_BUSY; } @@ -214,15 +214,15 @@ hp5590_get_status (SANE_Int dn, * * Parameters * dn - sanei_usb device descriptor - * requesttype, request, value, index - their meaninings are similar to + * requesttype, request, value, index - their meanings are similar to * sanei_control_msg() * bytes - pointer to data buffer * size - size of data - * core_flags - + * core_flags - * CORE_NONE - no CORE operation will be performed * CORE_DATA - operation on CORE data will be performed * CORE_BULK_IN - preparation for bulk IN transfer (not used yet) - * CORE_BULK_OUT - preparation for bulk OUT trasfer + * CORE_BULK_OUT - preparation for bulk OUT transfer * * Returns * SANE_STATUS_GOOD - control message was sent w/o any errors @@ -230,18 +230,18 @@ hp5590_get_status (SANE_Int dn, */ static SANE_Status hp5590_control_msg (SANE_Int dn, - enum proto_flags proto_flags, - int requesttype, int request, - int value, int index, unsigned char *bytes, - int size, int core_flags) + enum proto_flags proto_flags, + int requesttype, int request, + int value, int index, unsigned char *bytes, + int size, int core_flags) { - struct usb_in_usb_ctrl_setup ctrl; - SANE_Status ret; - unsigned int len; - unsigned char *ptr; - uint8_t ack; - uint8_t response; - unsigned int needed_response; + struct usb_in_usb_ctrl_setup ctrl; + SANE_Status ret; + unsigned int len; + unsigned char *ptr; + uint8_t ack; + uint8_t response; + unsigned int needed_response; DBG (DBG_proc, "%s: USB-in-USB: core data: %s\n", __func__, core_flags & CORE_DATA ? "yes" : "no"); @@ -262,60 +262,60 @@ hp5590_control_msg (SANE_Int dn, DBG (DBG_usb, "%s: USB-in-USB: sending control msg\n", __func__); /* Send USB-in-USB control message */ ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, - 0x04, 0x8f, 0x00, - sizeof (ctrl), (unsigned char *) &ctrl); + 0x04, 0x8f, 0x00, + sizeof (ctrl), (unsigned char *) &ctrl); if (ret != SANE_STATUS_GOOD) - { - DBG (DBG_err, "%s: USB-in-USB: error sending control message\n", - __func__); - return ret; - } + { + DBG (DBG_err, "%s: USB-in-USB: error sending control message\n", + __func__); + return ret; + } /* USB-in-USB: checking acknowledge for control message */ ret = hp5590_get_ack (dn, proto_flags); if (ret != SANE_STATUS_GOOD) - return ret; + return ret; len = size; ptr = bytes; /* Data is read in 8 byte portions */ while (len) - { - unsigned int next_packet_size; - next_packet_size = 8; - if (len < 8) - next_packet_size = len; - - /* Read USB-in-USB data */ - ret = sanei_usb_control_msg (dn, USB_DIR_IN | USB_TYPE_VENDOR, - core_flags & CORE_DATA ? 0x0c : 0x04, - 0x90, 0x00, next_packet_size, ptr); - if (ret != SANE_STATUS_GOOD) - { - DBG (DBG_err, "%s: USB-in-USB: error reading data\n", __func__); - return ret; - } - - ptr += next_packet_size; - len -= next_packet_size; - } + { + unsigned int next_packet_size; + next_packet_size = 8; + if (len < 8) + next_packet_size = len; + + /* Read USB-in-USB data */ + ret = sanei_usb_control_msg (dn, USB_DIR_IN | USB_TYPE_VENDOR, + core_flags & CORE_DATA ? 0x0c : 0x04, + 0x90, 0x00, next_packet_size, ptr); + if (ret != SANE_STATUS_GOOD) + { + DBG (DBG_err, "%s: USB-in-USB: error reading data\n", __func__); + return ret; + } + + ptr += next_packet_size; + len -= next_packet_size; + } /* Confirm data reception */ ack = 0; ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, - 0x0c, 0x8f, 0x00, - sizeof (ack), &ack); + 0x0c, 0x8f, 0x00, + sizeof (ack), &ack); if (ret != SANE_STATUS_GOOD) - { - DBG (DBG_err, "%s: USB-in-USB: error confirming data reception\n", - __func__); - return -1; - } + { + DBG (DBG_err, "%s: USB-in-USB: error confirming data reception\n", + __func__); + return -1; + } /* USB-in-USB: checking if confirmation was acknowledged */ ret = hp5590_get_ack (dn, proto_flags); if (ret != SANE_STATUS_GOOD) - return ret; + return ret; } /* OUT (write) operation will be performed */ @@ -332,112 +332,112 @@ hp5590_control_msg (SANE_Int dn, DBG (DBG_usb, "%s: USB-in-USB: sending control msg\n", __func__); /* Send USB-in-USB control message */ ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, - 0x04, 0x8f, 0x00, - sizeof (ctrl), (unsigned char *) &ctrl); + 0x04, 0x8f, 0x00, + sizeof (ctrl), (unsigned char *) &ctrl); if (ret != SANE_STATUS_GOOD) - { - DBG (DBG_err, "%s: USB-in-USB: error sending control message\n", - __func__); - return ret; - } + { + DBG (DBG_err, "%s: USB-in-USB: error sending control message\n", + __func__); + return ret; + } /* USB-in-USB: checking acknowledge for control message */ ret = hp5590_get_ack (dn, proto_flags); if (ret != SANE_STATUS_GOOD) - return ret; + return ret; len = size; ptr = bytes; /* Data is sent in 8 byte portions */ while (len) - { - unsigned int next_packet_size; - next_packet_size = 8; - if (len < 8) - next_packet_size = len; - - /* Send USB-in-USB data */ - ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, - core_flags & CORE_DATA ? 0x04 : 0x0c, - 0x8f, 0x00, next_packet_size, ptr); - if (ret != SANE_STATUS_GOOD) - { - DBG (DBG_err, "%s: USB-in-USB: error sending data\n", __func__); - return ret; - } - - /* CORE data is acknowledged packet by packet */ - if (core_flags & CORE_DATA) - { - /* USB-in-USB: checking if data was accepted */ - ret = hp5590_get_ack (dn, proto_flags); - if (ret != SANE_STATUS_GOOD) - return ret; - } - - ptr += next_packet_size; - len -= next_packet_size; - } + { + unsigned int next_packet_size; + next_packet_size = 8; + if (len < 8) + next_packet_size = len; + + /* Send USB-in-USB data */ + ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, + core_flags & CORE_DATA ? 0x04 : 0x0c, + 0x8f, 0x00, next_packet_size, ptr); + if (ret != SANE_STATUS_GOOD) + { + DBG (DBG_err, "%s: USB-in-USB: error sending data\n", __func__); + return ret; + } + + /* CORE data is acknowledged packet by packet */ + if (core_flags & CORE_DATA) + { + /* USB-in-USB: checking if data was accepted */ + ret = hp5590_get_ack (dn, proto_flags); + if (ret != SANE_STATUS_GOOD) + return ret; + } + + ptr += next_packet_size; + len -= next_packet_size; + } /* Normal (non-CORE) data is acknowledged after its full transmission */ if (!(core_flags & CORE_DATA)) - { - /* USB-in-USB: checking if data was accepted */ - ret = hp5590_get_ack (dn, proto_flags); - if (ret != SANE_STATUS_GOOD) - return ret; - } + { + /* USB-in-USB: checking if data was accepted */ + ret = hp5590_get_ack (dn, proto_flags); + if (ret != SANE_STATUS_GOOD) + return ret; + } /* Getting response after data transmission */ DBG (DBG_usb, "%s: USB-in-USB: getting response\n", __func__); ret = sanei_usb_control_msg (dn, USB_DIR_IN | USB_TYPE_VENDOR, - 0x0c, 0x90, 0x00, - sizeof (response), &response); + 0x0c, 0x90, 0x00, + sizeof (response), &response); if (ret != SANE_STATUS_GOOD) - { - DBG (DBG_err, "%s: USB-in-USB: error getting response\n", __func__); - return ret; - } + { + DBG (DBG_err, "%s: USB-in-USB: error getting response\n", __func__); + return ret; + } /* Necessary response after normal (non-CORE) data is 0x00, * after bulk OUT preparation - 0x24 */ needed_response = core_flags & CORE_BULK_OUT ? 0x24 : 0x00; if (response == needed_response) - DBG (DBG_usb, "%s: USB-in-USB: got correct response\n", - __func__); + DBG (DBG_usb, "%s: USB-in-USB: got correct response\n", + __func__); if (response != needed_response) - { - DBG (DBG_err, - "%s: USB-in-USB: invalid response received " - "(needed %04x, got %04x)\n", - __func__, needed_response, response); - return SANE_STATUS_IO_ERROR; - } + { + DBG (DBG_err, + "%s: USB-in-USB: invalid response received " + "(needed %04x, got %04x)\n", + __func__, needed_response, response); + return SANE_STATUS_IO_ERROR; + } /* Send bulk OUT flags is bulk OUT preparation is performed */ if (core_flags & CORE_BULK_OUT) - { - uint8_t bulk_flags = 0x24; - DBG (DBG_usb, "%s: USB-in-USB: sending bulk flags\n", - __func__); - - ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, - 0x0c, 0x83, 0x00, - sizeof (bulk_flags), &bulk_flags); - if (ret != SANE_STATUS_GOOD) - { - DBG (DBG_err, "%s: USB-in-USB: error sending bulk flags\n", - __func__); - return ret; - } - - /* USB-in-USB: checking confirmation for bulk flags */ - ret = hp5590_get_ack (dn, proto_flags); - if (ret != SANE_STATUS_GOOD) - return ret; - } + { + uint8_t bulk_flags = 0x24; + DBG (DBG_usb, "%s: USB-in-USB: sending bulk flags\n", + __func__); + + ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, + 0x0c, 0x83, 0x00, + sizeof (bulk_flags), &bulk_flags); + if (ret != SANE_STATUS_GOOD) + { + DBG (DBG_err, "%s: USB-in-USB: error sending bulk flags\n", + __func__); + return ret; + } + + /* USB-in-USB: checking confirmation for bulk flags */ + ret = hp5590_get_ack (dn, proto_flags); + if (ret != SANE_STATUS_GOOD) + return ret; + } } return SANE_STATUS_GOOD; @@ -458,24 +458,24 @@ hp5590_control_msg (SANE_Int dn, */ static SANE_Status hp5590_verify_last_cmd (SANE_Int dn, - enum proto_flags proto_flags, - unsigned int cmd) + enum proto_flags proto_flags, + unsigned int cmd) { - uint16_t verify_cmd; - unsigned int last_cmd; - unsigned int core_status; - SANE_Status ret; + uint16_t verify_cmd; + unsigned int last_cmd; + unsigned int core_status; + SANE_Status ret; DBG (3, "%s: USB-in-USB: command verification requested\n", __func__); /* Read last command along with CORE status */ ret = hp5590_control_msg (dn, - proto_flags, - USB_DIR_IN, - 0x04, 0xc5, 0x00, - (unsigned char *) &verify_cmd, - sizeof (verify_cmd), CORE_NONE); + proto_flags, + USB_DIR_IN, + 0x04, 0xc5, 0x00, + (unsigned char *) &verify_cmd, + sizeof (verify_cmd), CORE_NONE); if (ret != SANE_STATUS_GOOD) return ret; @@ -493,8 +493,8 @@ hp5590_verify_last_cmd (SANE_Int dn, if ((cmd & 0x00ff) != last_cmd) { DBG (DBG_err, "%s: USB-in-USB: command verification failed: " - "expected 0x%04x, got 0x%04x\n", - __func__, cmd, last_cmd); + "expected 0x%04x, got 0x%04x\n", + __func__, cmd, last_cmd); return SANE_STATUS_IO_ERROR; } @@ -511,15 +511,15 @@ hp5590_verify_last_cmd (SANE_Int dn, * * Parameters * dn - sanei_usb device descriptor - * requesttype, request, value, index - their meaninings are similar to + * requesttype, request, value, index - their meanings are similar to * sanei_control_msg() * bytes - pointer to data buffer * size - size of data - * core_flags - + * core_flags - * CORE_NONE - no CORE operation will be performed * CORE_DATA - operation on CORE data will be performed * CORE_BULK_IN - preparation for bulk IN transfer (not used yet) - * CORE_BULK_OUT - preparation for bulk OUT trasfer + * CORE_BULK_OUT - preparation for bulk OUT transfer * * Returns * SANE_STATUS_GOOD - command was sent (and possible verified) w/o any errors @@ -527,19 +527,19 @@ hp5590_verify_last_cmd (SANE_Int dn, */ static SANE_Status hp5590_cmd (SANE_Int dn, - enum proto_flags proto_flags, - unsigned int flags, - unsigned int cmd, unsigned char *data, unsigned int size, - unsigned int core_flags) + enum proto_flags proto_flags, + unsigned int flags, + unsigned int cmd, unsigned char *data, unsigned int size, + unsigned int core_flags) { SANE_Status ret; DBG (3, "%s: USB-in-USB: command : %04x\n", __func__, cmd); ret = hp5590_control_msg (dn, - proto_flags, - flags & CMD_IN ? USB_DIR_IN : USB_DIR_OUT, - 0x04, cmd, 0x00, data, size, core_flags); + proto_flags, + flags & CMD_IN ? USB_DIR_IN : USB_DIR_OUT, + 0x04, cmd, 0x00, data, size, core_flags); if (ret != SANE_STATUS_GOOD) return ret; @@ -578,21 +578,21 @@ hp5590_low_init_bulk_read_state (void **state) memset (bulk_read_state, 0, sizeof (struct bulk_read_state)); bulk_read_state->buffer = malloc (ALLOCATE_BULK_READ_PAGES - * BULK_READ_PAGE_SIZE); + * BULK_READ_PAGE_SIZE); if (!bulk_read_state->buffer) { DBG (DBG_err, "%s: Memory allocation failed for %u bytes\n", - __func__, ALLOCATE_BULK_READ_PAGES * BULK_READ_PAGE_SIZE); + __func__, ALLOCATE_BULK_READ_PAGES * BULK_READ_PAGE_SIZE); return SANE_STATUS_NO_MEM; } bulk_read_state->buffer_size = ALLOCATE_BULK_READ_PAGES - * BULK_READ_PAGE_SIZE; + * BULK_READ_PAGE_SIZE; bulk_read_state->bytes_available = 0; bulk_read_state->buffer_out_ptr = bulk_read_state->buffer; bulk_read_state->buffer_in_ptr = bulk_read_state->buffer; bulk_read_state->total_pages = 0; bulk_read_state->buffer_end_ptr = bulk_read_state->buffer - + bulk_read_state->buffer_size; + + bulk_read_state->buffer_size; bulk_read_state->initialized = 1; *state = bulk_read_state; @@ -644,17 +644,17 @@ hp5590_low_free_bulk_read_state (void **state) */ static SANE_Status hp5590_bulk_read (SANE_Int dn, - enum proto_flags proto_flags, - unsigned char *bytes, unsigned int size, - void *state) + enum proto_flags proto_flags, + unsigned char *bytes, unsigned int size, + void *state) { - struct usb_in_usb_bulk_setup ctrl; - SANE_Status ret; - unsigned int next_pages; - uint8_t bulk_flags; - size_t next_portion; - struct bulk_read_state *bulk_read_state; - unsigned int bytes_until_buffer_end; + struct usb_in_usb_bulk_setup ctrl; + SANE_Status ret; + unsigned int next_pages; + uint8_t bulk_flags; + size_t next_portion; + struct bulk_read_state *bulk_read_state; + unsigned int bytes_until_buffer_end; DBG (3, "%s\n", __func__); @@ -665,7 +665,7 @@ hp5590_bulk_read (SANE_Int dn, if (bulk_read_state->initialized == 0) { DBG (DBG_err, "%s: USB-in-USB: bulk read state not initialized\n", - __func__); + __func__); return SANE_STATUS_INVAL; } @@ -675,8 +675,8 @@ hp5590_bulk_read (SANE_Int dn, if (size > bulk_read_state->buffer_size) { DBG (DBG_err, "Data requested won't fit in the bulk read buffer " - "(requested: %u, buffer size: %u\n", size, - bulk_read_state->buffer_size); + "(requested: %u, buffer size: %u\n", size, + bulk_read_state->buffer_size); return SANE_STATUS_NO_MEM; } @@ -684,8 +684,8 @@ hp5590_bulk_read (SANE_Int dn, while (bulk_read_state->bytes_available < size) { DBG (DBG_usb, "%s: USB-in-USB: not enough data in buffer available " - "(available: %u, requested: %u)\n", - __func__, bulk_read_state->bytes_available, size); + "(available: %u, requested: %u)\n", + __func__, bulk_read_state->bytes_available, size); /* IMPORTANT! 'next_pages' means 'request and receive next_pages pages in * one bulk transfer request '. Windows driver uses 4 pages between each @@ -703,114 +703,114 @@ hp5590_bulk_read (SANE_Int dn, */ bulk_read_state->total_pages++; DBG (DBG_usb, "%s: USB-in-USB: total pages done: %u\n", - __func__, bulk_read_state->total_pages); + __func__, bulk_read_state->total_pages); /* Send another bulk request for 'next_pages' before first * page or next necessary one */ if ( bulk_read_state->total_pages == 1 - || bulk_read_state->total_pages % next_pages == 0) - { - /* Send bulk flags */ - DBG (DBG_usb, "%s: USB-in-USB: sending USB-in-USB bulk flags\n", - __func__); - bulk_flags = 0x24; - ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, - 0x0c, 0x83, 0x00, - sizeof (bulk_flags), &bulk_flags); - if (ret != SANE_STATUS_GOOD) - { - DBG (DBG_err, "%s: USB-in-USB: error sending bulk flags\n", - __func__); - return ret; - } - - /* USB-in-USB: checking confirmation for bulk flags\n" */ - ret = hp5590_get_ack (dn, proto_flags); - if (ret != SANE_STATUS_GOOD) - return ret; - - /* Prepare bulk read request */ - memset (&ctrl, 0, sizeof (ctrl)); - ctrl.bRequestType = 0x00; - ctrl.bEndpoint = 0x82; - ctrl.wLength = htons (next_pages); - - /* Send bulk read request */ - DBG (DBG_usb, "%s: USB-in-USB: sending control msg for bulk\n", - __func__); - ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, - 0x04, 0x82, 0x00, - sizeof (ctrl), - (unsigned char *) &ctrl); - if (ret != SANE_STATUS_GOOD) - { - DBG (DBG_err, "%s: USB-in-USB: error sending control msg\n", - __func__); - return ret; - } - - /* USB-in-USB: checking if control msg was accepted */ - ret = hp5590_get_ack (dn, proto_flags); - if (ret != SANE_STATUS_GOOD) - return ret; - } + || bulk_read_state->total_pages % next_pages == 0) + { + /* Send bulk flags */ + DBG (DBG_usb, "%s: USB-in-USB: sending USB-in-USB bulk flags\n", + __func__); + bulk_flags = 0x24; + ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, + 0x0c, 0x83, 0x00, + sizeof (bulk_flags), &bulk_flags); + if (ret != SANE_STATUS_GOOD) + { + DBG (DBG_err, "%s: USB-in-USB: error sending bulk flags\n", + __func__); + return ret; + } + + /* USB-in-USB: checking confirmation for bulk flags\n" */ + ret = hp5590_get_ack (dn, proto_flags); + if (ret != SANE_STATUS_GOOD) + return ret; + + /* Prepare bulk read request */ + memset (&ctrl, 0, sizeof (ctrl)); + ctrl.bRequestType = 0x00; + ctrl.bEndpoint = 0x82; + ctrl.wLength = htons (next_pages); + + /* Send bulk read request */ + DBG (DBG_usb, "%s: USB-in-USB: sending control msg for bulk\n", + __func__); + ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, + 0x04, 0x82, 0x00, + sizeof (ctrl), + (unsigned char *) &ctrl); + if (ret != SANE_STATUS_GOOD) + { + DBG (DBG_err, "%s: USB-in-USB: error sending control msg\n", + __func__); + return ret; + } + + /* USB-in-USB: checking if control msg was accepted */ + ret = hp5590_get_ack (dn, proto_flags); + if (ret != SANE_STATUS_GOOD) + return ret; + } next_portion = BULK_READ_PAGE_SIZE; /* Check if next page will fit into the buffer */ if (bulk_read_state->buffer_size - - bulk_read_state->bytes_available < next_portion) - { - DBG (DBG_err, "%s: USB-in-USB: buffer too small\n", __func__); - return SANE_STATUS_NO_MEM; - } + - bulk_read_state->bytes_available < next_portion) + { + DBG (DBG_err, "%s: USB-in-USB: buffer too small\n", __func__); + return SANE_STATUS_NO_MEM; + } /* Bulk read next page */ DBG (DBG_usb, "%s: USB-in-USB: bulk reading %lu bytes\n", - __func__, (u_long) next_portion); + __func__, (u_long) next_portion); ret = sanei_usb_read_bulk (dn, - bulk_read_state->buffer_in_ptr, - &next_portion); + bulk_read_state->buffer_in_ptr, + &next_portion); if (ret != SANE_STATUS_GOOD) - { - if (ret == SANE_STATUS_EOF) - return ret; - DBG (DBG_err, "%s: USB-in-USB: error during bulk read: %s\n", - __func__, sane_strstatus (ret)); - return ret; - } - - /* Check if we received the same amount of data as requsted */ + { + if (ret == SANE_STATUS_EOF) + return ret; + DBG (DBG_err, "%s: USB-in-USB: error during bulk read: %s\n", + __func__, sane_strstatus (ret)); + return ret; + } + + /* Check if we received the same amount of data as requested */ if (next_portion != BULK_READ_PAGE_SIZE) - { - DBG (DBG_err, "%s: USB-in-USB: incomplete bulk read " - "(requested %u bytes, got %lu bytes)\n", - __func__, BULK_READ_PAGE_SIZE, (u_long) next_portion); - return SANE_STATUS_IO_ERROR; - } + { + DBG (DBG_err, "%s: USB-in-USB: incomplete bulk read " + "(requested %u bytes, got %lu bytes)\n", + __func__, BULK_READ_PAGE_SIZE, (u_long) next_portion); + return SANE_STATUS_IO_ERROR; + } /* Move pointers to the next position */ bulk_read_state->buffer_in_ptr += next_portion; /* Check for the end of the buffer */ if (bulk_read_state->buffer_in_ptr > bulk_read_state->buffer_end_ptr) - { - DBG (DBG_err, - "%s: USB-in-USB: attempted to access over the end of buffer " - "(in_ptr: %p, end_ptr: %p, ptr: %p, buffer size: %u\n", - __func__, bulk_read_state->buffer_in_ptr, - bulk_read_state->buffer_end_ptr, bulk_read_state->buffer, - bulk_read_state->buffer_size); - return SANE_STATUS_NO_MEM; - } + { + DBG (DBG_err, + "%s: USB-in-USB: attempted to access over the end of buffer " + "(in_ptr: %p, end_ptr: %p, ptr: %p, buffer size: %u\n", + __func__, bulk_read_state->buffer_in_ptr, + bulk_read_state->buffer_end_ptr, bulk_read_state->buffer, + bulk_read_state->buffer_size); + return SANE_STATUS_NO_MEM; + } /* Check for buffer pointer wrapping */ if (bulk_read_state->buffer_in_ptr == bulk_read_state->buffer_end_ptr) - { - DBG (DBG_usb, "%s: USB-in-USB: buffer wrapped while writing\n", - __func__); - bulk_read_state->buffer_in_ptr = bulk_read_state->buffer; - } + { + DBG (DBG_usb, "%s: USB-in-USB: buffer wrapped while writing\n", + __func__); + bulk_read_state->buffer_in_ptr = bulk_read_state->buffer; + } /* Count the amount of data we read */ bulk_read_state->bytes_available += next_portion; @@ -832,13 +832,13 @@ hp5590_bulk_read (SANE_Int dn, bulk_read_state->buffer_out_ptr = bulk_read_state->buffer; /* And second part (if any) */ if (bytes_until_buffer_end < size) - { - DBG (DBG_usb, "%s: USB-in-USB: giving 2nd buffer part\n", __func__); - memcpy (bytes + bytes_until_buffer_end, - bulk_read_state->buffer_out_ptr, - size - bytes_until_buffer_end); - bulk_read_state->buffer_out_ptr += size - bytes_until_buffer_end; - } + { + DBG (DBG_usb, "%s: USB-in-USB: giving 2nd buffer part\n", __func__); + memcpy (bytes + bytes_until_buffer_end, + bulk_read_state->buffer_out_ptr, + size - bytes_until_buffer_end); + bulk_read_state->buffer_out_ptr += size - bytes_until_buffer_end; + } } else { @@ -846,11 +846,11 @@ hp5590_bulk_read (SANE_Int dn, memcpy (bytes, bulk_read_state->buffer_out_ptr, size); bulk_read_state->buffer_out_ptr += size; if (bulk_read_state->buffer_out_ptr == bulk_read_state->buffer_end_ptr) - { - DBG (DBG_usb, "%s: USB-in-USB: buffer wrapped while reading\n", - __func__); - bulk_read_state->buffer_out_ptr = bulk_read_state->buffer; - } + { + DBG (DBG_usb, "%s: USB-in-USB: buffer wrapped while reading\n", + __func__); + bulk_read_state->buffer_out_ptr = bulk_read_state->buffer; + } } /* Count the amount of data transferred to the caller */ @@ -870,17 +870,17 @@ hp5590_bulk_read (SANE_Int dn, * * Returns * SANE_STATUS_GOOD - all data transferred successfully - * all other SANE_Status value - otherwise + * all other SANE_Status value - otherwise */ static SANE_Status hp5590_bulk_write (SANE_Int dn, - enum proto_flags proto_flags, - int cmd, unsigned char *bytes, - unsigned int size) + enum proto_flags proto_flags, + int cmd, unsigned char *bytes, + unsigned int size) { - struct usb_in_usb_bulk_setup ctrl; - SANE_Status ret; - struct bulk_size bulk_size; + struct usb_in_usb_bulk_setup ctrl; + SANE_Status ret; + struct bulk_size bulk_size; unsigned int len; unsigned char *ptr; @@ -891,7 +891,7 @@ hp5590_bulk_write (SANE_Int dn, hp5590_low_assert (bytes != NULL); - /* Prepare bulk write request */ + /* Prepare bulk write request */ memset (&bulk_size, 0, sizeof (bulk_size)); /* Counted in page size */ bulk_size.size = size / BULK_WRITE_PAGE_SIZE; @@ -900,11 +900,11 @@ hp5590_bulk_write (SANE_Int dn, DBG (3, "%s: USB-in-USB: total %u pages (each of %u bytes)\n", __func__, bulk_size.size, BULK_WRITE_PAGE_SIZE); ret = hp5590_control_msg (dn, - proto_flags, - USB_DIR_OUT, - 0x04, cmd, 0, - (unsigned char *) &bulk_size, sizeof (bulk_size), - CORE_DATA | CORE_BULK_OUT); + proto_flags, + USB_DIR_OUT, + 0x04, cmd, 0, + (unsigned char *) &bulk_size, sizeof (bulk_size), + CORE_DATA | CORE_BULK_OUT); if (ret != SANE_STATUS_GOOD) return ret; @@ -916,10 +916,10 @@ hp5590_bulk_write (SANE_Int dn, { next_portion = BULK_WRITE_PAGE_SIZE; if (len < next_portion) - next_portion = len; + next_portion = len; DBG (3, "%s: USB-in-USB: next portion %lu bytes\n", - __func__, (u_long) next_portion); + __func__, (u_long) next_portion); /* Prepare bulk write request */ memset (&ctrl, 0, sizeof (ctrl)); @@ -929,29 +929,29 @@ hp5590_bulk_write (SANE_Int dn, /* Send bulk write request */ ret = sanei_usb_control_msg (dn, USB_DIR_OUT | USB_TYPE_VENDOR, - 0x04, 0x82, 0, - sizeof (ctrl), (unsigned char *) &ctrl); + 0x04, 0x82, 0, + sizeof (ctrl), (unsigned char *) &ctrl); if (ret != SANE_STATUS_GOOD) - return ret; + return ret; /* USB-in-USB: checking if command was accepted */ ret = hp5590_get_ack (dn, proto_flags); if (ret != SANE_STATUS_GOOD) - return ret; + return ret; /* Write bulk data */ DBG (3, "%s: USB-in-USB: bulk writing %lu bytes\n", - __func__, (u_long) next_portion); + __func__, (u_long) next_portion); ret = sanei_usb_write_bulk (dn, ptr, &next_portion); if (ret != SANE_STATUS_GOOD) - { - /* Treast EOF as successful result */ - if (ret == SANE_STATUS_EOF) - break; - DBG (DBG_err, "%s: USB-in-USB: error during bulk write: %s\n", - __func__, sane_strstatus (ret)); - return ret; - } + { + /* Treast EOF as successful result */ + if (ret == SANE_STATUS_EOF) + break; + DBG (DBG_err, "%s: USB-in-USB: error during bulk write: %s\n", + __func__, sane_strstatus (ret)); + return ret; + } /* Move to the next page */ len -= next_portion; diff --git a/backend/hp5590_low.h b/backend/hp5590_low.h index 5ca191d..4882860 100644 --- a/backend/hp5590_low.h +++ b/backend/hp5590_low.h @@ -48,40 +48,40 @@ #include "../include/sane/sane.h" enum proto_flags { - PF_NONE = 0, - PF_NO_USB_IN_USB_ACK = 1 << 0 /* Getting acknowledge after USB-in-USB command - * will be skipped */ + PF_NONE = 0, + PF_NO_USB_IN_USB_ACK = 1 << 0 /* Getting acknowledge after USB-in-USB command + * will be skipped */ }; /* Flags for hp5590_cmd() */ -#define CMD_IN 1 << 0 /* Indicates IN direction, otherwise - OUT */ -#define CMD_VERIFY 1 << 1 /* Requests last command verification */ +#define CMD_IN 1 << 0 /* Indicates IN direction, otherwise - OUT */ +#define CMD_VERIFY 1 << 1 /* Requests last command verification */ /* Core flags for hp5590_cmd() - they indicate so called CORE commands */ -#define CORE_NONE 0 /* No CORE operation */ -#define CORE_DATA 1 << 0 /* Operate on CORE data */ -#define CORE_BULK_IN 1 << 1 /* CORE bulk operation - prepare for bulk IN - * transfer (not used yet) - */ -#define CORE_BULK_OUT 1 << 2 /* CORE bulk operation - prepare for bulk OUT - * transfer - */ +#define CORE_NONE 0 /* No CORE operation */ +#define CORE_DATA 1 << 0 /* Operate on CORE data */ +#define CORE_BULK_IN 1 << 1 /* CORE bulk operation - prepare for bulk IN + * transfer (not used yet) + */ +#define CORE_BULK_OUT 1 << 2 /* CORE bulk operation - prepare for bulk OUT + * transfer + */ static SANE_Status hp5590_cmd (SANE_Int dn, - enum proto_flags proto_flags, - unsigned int flags, - unsigned int cmd, unsigned char *data, - unsigned int size, unsigned int core_flags); + enum proto_flags proto_flags, + unsigned int flags, + unsigned int cmd, unsigned char *data, + unsigned int size, unsigned int core_flags); static SANE_Status hp5590_bulk_read (SANE_Int dn, - enum proto_flags proto_flags, - unsigned char *bytes, - unsigned int size, void *state); + enum proto_flags proto_flags, + unsigned char *bytes, + unsigned int size, void *state); static SANE_Status hp5590_bulk_write (SANE_Int dn, - enum proto_flags proto_flags, - int cmd, - unsigned char *bytes, - unsigned int size); + enum proto_flags proto_flags, + int cmd, + unsigned char *bytes, + unsigned int size); static SANE_Status hp5590_get_status (SANE_Int dn, - enum proto_flags proto_flags); + enum proto_flags proto_flags); static SANE_Status hp5590_low_init_bulk_read_state (void **state); static SANE_Status hp5590_low_free_bulk_read_state (void **state); #endif /* HP5590_LOW_H */ diff --git a/backend/hpljm1005.c b/backend/hpljm1005.c index 9460c48..be3b8f4 100644 --- a/backend/hpljm1005.c +++ b/backend/hpljm1005.c @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2007-2008 Philippe Rtornaz + Copyright (C) 2007-2008 Philippe Rétornaz This file is part of the SANE package. @@ -41,7 +41,7 @@ If you do not wish that, delete this exception notice. This backend is for HP LaserJet M1005 MFP - + Highly inspired from the epson backend */ @@ -177,7 +177,7 @@ static int devlist_count; /* Number of element in the list */ /* * List of pointers to devices - will be dynamically allocated depending - * on the number of devices found. + * on the number of devices found. */ static SANE_Device **devlist = NULL; @@ -193,7 +193,7 @@ update_img_size (struct device_s *dev) { int dx, dy; - /* Only update the width when not scanning, + /* Only update the width when not scanning, * otherwise the scanner give us the correct width */ if (dev->status == STATUS_SCANNING) { @@ -235,7 +235,7 @@ update_img_size (struct device_s *dev) dev->height = round2 ((dy / ((double) MAX_Y_S)) * 14025); break; } - + DBG(2,"New image size: %dx%d\n",dev->width, dev->height); } @@ -990,8 +990,8 @@ sane_start (SANE_Handle h) } -static void -do_cancel(struct device_s *dev) +static void +do_cancel(struct device_s *dev) { while (get_data (dev) == SANE_STATUS_GOOD); free (dev->buffer); @@ -1064,7 +1064,7 @@ sane_read (SANE_Handle h, SANE_Byte * buf, SANE_Int maxlen, SANE_Int * len) } /* Special case where sane_cancel is called while scanning */ - if (dev->status == STATUS_CANCELING) + if (dev->status == STATUS_CANCELING) { do_cancel(dev); return SANE_STATUS_CANCELLED; @@ -1078,7 +1078,7 @@ sane_cancel (SANE_Handle h) struct device_s *dev = (struct device_s *) h; - if (dev->status == STATUS_SCANNING) + if (dev->status == STATUS_SCANNING) { dev->status = STATUS_CANCELING; return; @@ -1101,4 +1101,3 @@ sane_get_select_fd (SANE_Handle __sane_unused__ handle, { return SANE_STATUS_UNSUPPORTED; } - diff --git a/backend/hpsj5s.c b/backend/hpsj5s.c index 9c6ad79..786a8d6 100644 --- a/backend/hpsj5s.c +++ b/backend/hpsj5s.c @@ -1065,7 +1065,7 @@ CalibrateScanElements () SANE_Byte CurrentLowTransferBorder; SANE_Byte CurrentUpSaveBorder; SANE_Byte CurrentLowSaveBorder; - SANE_Byte CurrentSpeed1, CurrentSpeed2; + SANE_Byte CurrentSpeed1, CurrentSpeed2; SANE_Byte CorrectionValue; SANE_Byte FilteredBuffer[2570]; @@ -1167,14 +1167,14 @@ CalibrateScanElements () CallFunctionWithParameter (0x91, 0); /*Stop engine. */ /*Note: if first read failed, junk would be calculated, but if previous - read was succeded, but last one failed, previous data'ld be used. + read was succeeded, but last one failed, previous data'ld be used. */ for(Temp = 0, j = 0; j < 2570; j++) Temp += FilteredBuffer[j]; Temp /= 2570; if((Average == 0)||(Average > Temp)) - Average = Temp; + Average = Temp; } for(Index = 0; Index < 3; Index++) /*Three color components*/ @@ -1190,7 +1190,7 @@ CalibrateScanElements () CallFunctionWithParameter (0x92, CurrentLowTransferBorder|0x80); for(j=2999; j>0; j--) CallFunctionWithParameter (0xC6, 0); - + CurrentUpSaveBorder = arUpSaveBorders[Index]; CallFunctionWithParameter (CurrentUpSaveBorder, 0xFF); @@ -1199,9 +1199,9 @@ CalibrateScanElements () CallFunctionWithParameter (0x90,0); Calibration = 0x80; CallFunctionWithParameter (CurrentUpSaveBorder, 0x80); - + CurrentSpeed1 = CurrentSpeed2 = arSpeeds[Index]; - + for(CorrectionValue = 0x40; CorrectionValue != 0;CorrectionValue >>= 2) { CallFunctionWithParameter (0x91, CurrentSpeed2); @@ -1235,11 +1235,11 @@ CalibrateScanElements () Perhaps, we can optimize it in future.*/ WriteScannerRegister (0x91, 0); usleep(10); - + for(Temp = 0,j = 0; j < 16;j++) Temp += FilteredBuffer[509+j]; /*At this offset calcalates HP's driver.*/ Temp /= 16; - + if(Average > Temp) { Calibration += CorrectionValue; @@ -1247,7 +1247,7 @@ CalibrateScanElements () } else Calibration -= CorrectionValue; - + WriteScannerRegister (CurrentUpSaveBorder, Calibration); }/*By CorrectionValue we tune UpSaveBorder*/ diff --git a/backend/hpsj5s.conf.in b/backend/hpsj5s.conf.in index 77fb4e4..d2e5f96 100644 --- a/backend/hpsj5s.conf.in +++ b/backend/hpsj5s.conf.in @@ -1,2 +1,2 @@ #hpsj5s.conf -#parport0 \ No newline at end of file +#parport0 diff --git a/backend/hs2p-saneopts.h b/backend/hs2p-saneopts.h index 0e712a3..938c7da 100644 --- a/backend/hs2p-saneopts.h +++ b/backend/hs2p-saneopts.h @@ -2,7 +2,7 @@ Copyright (C) 2007 Jeremy Johnson This file is part of a SANE backend for Ricoh IS450 and IS420 family of HS2P Scanners using the SCSI controller. - + This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -309,7 +309,7 @@ typedef enum /*OPT_CHECK_ADF, check for page in ADF before scanning */ OPT_ENHANCEMENT_GROUP, - /* OPT_ACE_FUNCTION, + /* OPT_ACE_FUNCTION, OPT_ACE_SENSITIVITY, */ OPT_BRIGHTNESS, /* Brightness */ OPT_THRESHOLD, /* Threshold */ diff --git a/backend/hs2p-scsi.c b/backend/hs2p-scsi.c index 431ba9d..6063acd 100644 --- a/backend/hs2p-scsi.c +++ b/backend/hs2p-scsi.c @@ -2,7 +2,7 @@ Copyright (C) 2007 Jeremy Johnson This file is part of a SANE backend for Ricoh IS450 and IS420 family of HS2P Scanners using the SCSI controller. - + This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -291,7 +291,7 @@ print_jis_info (struct inquiry_jis_data *jbuf) DBG (DBG_info, "[29] reserved %#02x\n", jbuf->reserved2); } -/* 1-3-1 TEST UNIT READY +/* 1-3-1 TEST UNIT READY Byte0: | 0x00 | Byte1: | 7-5 Logical Unit Number | Reserved | Byte2: | Reserved | @@ -407,8 +407,8 @@ lookup_ascq_errmsg (unsigned int code) } /* a sensible sense handler - arg is a pointer to the associated HS2P_Scanner structure - + arg is a pointer to the associated HS2P_Scanner structure + SENSE DATA FORMAT: 14 bytes bits[7-0] Byte 0: [7]:valid [6-0]:Error Code Byte 1: Segment Number @@ -488,9 +488,9 @@ sense_handler (int __sane_unused__ scsi_fd, u_char * sense_buffer, void *sd) DBG (DBG_sense, "sense_handler: ascq=(%#x,%#x): %#x '%s'\n", asc, ascq, ascq_key->codequalifier, ascq_key->description); - /* handle each sense key: Translate from HS2P message to SANE_STATUS_ message - * SANE_STATUS_GOOD, _ACCESS_DEINIED, _NO_MEM, _INVAL, _IO_ERROR, _DEVICE_BUSY, - * _EOF, _UNSUPPORTED, _CANCELLED, _JAMMED, _NO_DOCS, _COVER_OPEN + /* handle each sense key: Translate from HS2P message to SANE_STATUS_ message + * SANE_STATUS_GOOD, _ACCESS_DEINIED, _NO_MEM, _INVAL, _IO_ERROR, _DEVICE_BUSY, + * _EOF, _UNSUPPORTED, _CANCELLED, _JAMMED, _NO_DOCS, _COVER_OPEN */ switch (sense) { @@ -1436,7 +1436,7 @@ set_halftone_mask (int fd, SANE_Byte halftone_id, void *buf, cmd.dtc = DATA_TYPE_HALFTONE; _lto2b (halftone_id, cmd.dtq); - /* Each cell of an NxM dither pattern is 1 byte from the set {2,3,4,6,8,16} + /* Each cell of an NxM dither pattern is 1 byte from the set {2,3,4,6,8,16} * 0x80, 0x81 are User definable custom dither patterns */ if (halftone_id != 0x80 && halftone_id != 0x81) @@ -1547,7 +1547,7 @@ read_adf_status (int fd, SANE_Byte * adf_status_byte) /* 1-3-4 MODE SELECT */ -/* 1-3-5 Reserve Unit: 0x16 +/* 1-3-5 Reserve Unit: 0x16 * 1-3-6 Release Unit: 0x17 */ static SANE_Status @@ -1750,7 +1750,7 @@ trigger_scan (HS2P_Scanner * s) /* Transfer length is the byte length of Window List transferred * Window List is a list of Window Identifier created by SET WINDOW command * Since only 1 Window is supported by SCAN command, 0 or 1 is used for Window Identifier - * and 1 or 2 for length + * and 1 or 2 for length status = sanei_scsi_cmd (s->fd, &trigger, sizeof (trigger), &window_id_list[0], &wl_size); */ scan.cmd.len = (s->val[OPT_DUPLEX].w == SANE_TRUE) ? 2 : 1; diff --git a/backend/hs2p-scsi.h b/backend/hs2p-scsi.h index eecb60c..cdf227e 100644 --- a/backend/hs2p-scsi.h +++ b/backend/hs2p-scsi.h @@ -2,7 +2,7 @@ Copyright (C) 2007 Jeremy Johnson This file is part of a SANE backend for Ricoh IS450 and IS420 family of HS2P Scanners using the SCSI controller. - + This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -56,14 +56,14 @@ /* All other status byte keys are reserved */ /* - * SCSI Command List for Command Descriptor Block + * SCSI Command List for Command Descriptor Block * All reserved bit and fields in the CDB must be zero * Values in the CDB described as "Reserved" must no be specified * The FLAG and LINK bits in the CONTROL byte must be zero * Any values in the Vendor Unique field are ignored * The Logical Unit Number in the CDB must always be zero * All Reserved bit and fields in the data fields must be zero - * Values of parameters in the data fields described as + * Values of parameters in the data fields described as * "Reserved" or "Not supported" must not be specified */ @@ -132,7 +132,7 @@ static struct sense_key sensekey_errmsg[16] = { {0x0f, "RESERVED", "Invalid"} }; -/* When Error_Code = 0x70 more detailed information is available: +/* When Error_Code = 0x70 more detailed information is available: * code, qualifier, description */ struct ASCQ @@ -219,7 +219,7 @@ static struct ASCQ ascq_errmsg[74] = { typedef struct sense_data { /* HS2P_REQUEST_SENSE_DATA */ - /* bit7:valid is 1 if information byte is valid, + /* bit7:valid is 1 if information byte is valid, bits6:0 error_code */ SANE_Byte error_code; @@ -249,10 +249,10 @@ typedef struct sense_data #define HS2P_INQUIRY_JIS_PAGE_CODE 0xF0 /* - * The EVPD and Page Code are used in pair. When the EVPD bit is 0, INQUIRY data + * The EVPD and Page Code are used in pair. When the EVPD bit is 0, INQUIRY data * in the standard format is returned to the initiator. When the EVPD bit is 1, * the EVPD information specified by each Page Code is returned in each Page Code - * data format. + * data format. * * EVPD=0x00, Page_Code=0x00 => Standard Data Format * @@ -273,7 +273,7 @@ struct inquiry_standard_data */ SANE_Byte devtype; /* must be 0x06 */ - /* bit7: repaceable media bit is set to 0 + /* bit7: repaceable media bit is set to 0 * bits6-1: reserved * bit0: EVPD */ @@ -324,21 +324,21 @@ struct inquiry_vpd_data SANE_Byte pagecode; /* Page Code => 0xC0 */ SANE_Byte byte2; /* Reserved */ SANE_Byte pagelength; /* Page Length => 12 (0x0C) */ - SANE_Byte adf_id; /* ADF Identification + SANE_Byte adf_id; /* ADF Identification * 0: No ADF is mounted * 1: Single sided ADF is mounted * 2: Double sided ADF is mounted * 3: ARDF is mounted. (Reverse double side scanning available) - * 4: Reserved + * 4: Reserved * It should be 1 or 2 with this scanner. */ - SANE_Byte end_id; /* Endorser Identification + SANE_Byte end_id; /* Endorser Identification * 0: No endorser * 1: Endorser mounted - * 2: Reserved + * 2: Reserved * It should be 0 or 1 with this scanner */ - SANE_Byte ipu_id; /* Image Processing Unit Identification + SANE_Byte ipu_id; /* Image Processing Unit Identification * bits 7:2 Reserved * bit 1 0:Extended board not mounted * 1:Extended board is mounted @@ -346,8 +346,8 @@ struct inquiry_vpd_data * 1:IPU is mounted * It should always be 0 with this scanner */ - SANE_Byte imagecomposition; /* indicates supported image data type. - * This is set to 0x37 + SANE_Byte imagecomposition; /* indicates supported image data type. + * This is set to 0x37 * bit0 => Line art supported ? 1:0 * bit1 => Dither supported ? 1:0 * bit2 => Error Diffusion supported ? 1:0 @@ -379,13 +379,13 @@ struct inquiry_vpd_data * bit0 => Marker Recognition supported ? 1:0 * bits1-7 => Reserved */ - SANE_Byte sizerecognition; /* Size Detection + SANE_Byte sizerecognition; /* Size Detection * bit0 => Size Detection Supported ? 1:0 * bits1-7 => Reserved */ SANE_Byte byte13; /* Reserved */ SANE_Byte xmaxoutputpixels[2]; /* X Maximum Output Pixel is set to 4960 (0x1360) - * indicates maximum number of pixels in the main + * indicates maximum number of pixels in the main * scanning direction that can be output by scanner */ @@ -440,8 +440,8 @@ struct inquiry_jis_data typedef struct scsi_mode_select_cmd { SANE_Byte opcode; /* 15H */ - SANE_Byte byte1; /* 7-5:LUN; 4:PF; 2:Reserved; 1:SP - * Save Page Bit must be 0 since pages cannot be saved + SANE_Byte byte1; /* 7-5:LUN; 4:PF; 2:Reserved; 1:SP + * Save Page Bit must be 0 since pages cannot be saved * Page Format Bit must be 1 */ SANE_Byte reserved[2]; SANE_Byte len; /* Parameter List Length */ @@ -538,7 +538,7 @@ typedef struct mode_page_scanning_measurement SANE_Byte len; /* Parameter Length (06H) */ SANE_Byte bmu; /* Basic Measurement Unit */ SANE_Byte reserved0; - SANE_Byte mud[2]; /* Measurement Unit Divisor + SANE_Byte mud[2]; /* Measurement Unit Divisor * produces an error if 0 * mud is fixed to 1 for millimeter or point * point is default when scanner powers on */ @@ -574,9 +574,9 @@ typedef struct mode_page_adf_control * 01H Simplex ADF * 02H Duplex ADF * 03H-FFH Reserved */ - SANE_Byte adf_mode_control; /* 7-3:Reserved; 2:Prefeed Mode Validity 1-0:Ignored + SANE_Byte adf_mode_control; /* 7-3:Reserved; 2:Prefeed Mode Validity 1-0:Ignored * Prefeed Mode "0" means invalid, "1" means valid */ - SANE_Byte medium_wait_timer; /* indicates time for scanner to wait for media. Scanner + SANE_Byte medium_wait_timer; /* indicates time for scanner to wait for media. Scanner * will send CHECK on timeout. NOT SUPPORTED */ SANE_Byte ignored[3]; } MP_ADF; /* ADF Control */ @@ -636,9 +636,9 @@ typedef struct scsi_mode_sense_cmd SANE_Byte len; /* Allocation length */ SANE_Byte control; /* 7-6:Vendor Unique; 5-2:Reserved; 1:Flag; 0:Link */ } SENSE; -/* MODE SENSE DATA FORMAT -- - * The format of Sense Data to be returned is Mode Parameter Header + Page - * see struct scsi_mode_parameter_header +/* MODE SENSE DATA FORMAT -- + * The format of Sense Data to be returned is Mode Parameter Header + Page + * see struct scsi_mode_parameter_header * struct mode_pages */ @@ -649,8 +649,8 @@ typedef struct scsi_start_scan_cmd SANE_Byte byte1; /* 7-5:LUN; 4-0:Reserved */ SANE_Byte page_code; SANE_Byte reserved; - SANE_Byte len; /* Transfer Length - * Length of Window List in bytes + SANE_Byte len; /* Transfer Length + * Length of Window List in bytes * Since scanner supports up to 2 windows, len is 1 or 2 */ SANE_Byte control; /* 7-6:Vendor Unique; 5-2:Reserved; 1:Flag; 0:Link */ @@ -847,7 +847,7 @@ struct window_section * Transfer length indicates the byte length of Window Parameters (Set Window Data Header + * Window Descriptor Bytes transferred from the initiator in the DATA OUT PHASE * The scanner supports 2 windows, so Transfer Length is 648 bytes: - * Set Window Header 8 bytes + Window Descriptor Bytes 640 (320*2) bytes). + * Set Window Header 8 bytes + Window Descriptor Bytes 640 (320*2) bytes). * If data length is longer than 648 bytes only the first 648 bytes are valid, The remainng data is ignored. * If data length is shorter than 648 only the specified byte length is valid data. * @@ -874,19 +874,19 @@ struct hs2p_window_data SANE_Byte brightness; /* 22: Brightness [0-255] dark-light 0 means default value of 128 */ SANE_Byte threshold; /* 23: Threshold [0-255] 0 means default value of 128 */ SANE_Byte contrast; /* 24: Contrast [0-255] low-high 0 means default value of 128 */ - SANE_Byte image_composition; /* 25: Image Composition + SANE_Byte image_composition; /* 25: Image Composition * 00H Lineart * 01H Dithered Halftone * 02H Gray scale */ SANE_Byte bpp; /* 26: Bits Per Pixel */ - SANE_Byte halftone_code; /* 27: Halftone Code + SANE_Byte halftone_code; /* 27: Halftone Code * 00H-01H Reserved * 02H Dither (partial Dot) * 03H Error Diffusion * 04H-07H Reserved */ - SANE_Byte halftone_id; /* 28: Halftone ID + SANE_Byte halftone_id; /* 28: Halftone ID * 00H Reserved * 01H 8x4, 45 degree * 02H 6x6, 90 degree @@ -907,7 +907,7 @@ struct hs2p_window_data * Image Composition field must be lineart or dithered halftone * RIF=0: White=0 Black=1 * RIF=1: White=1 Black=0 - * 6-3: Reserved; + * 6-3: Reserved; * 2-0: Padding Type: * 00H Reserved * 01H Pad with 0's to byte boundary @@ -940,7 +940,7 @@ struct hs2p_window_data * 100 Reserved * 110 Reserved * 111 Reserved - * 3-0: Gamma ID + * 3-0: Gamma ID * 00H Normal * 01H Soft * 02H Sharp @@ -951,7 +951,7 @@ struct hs2p_window_data */ SANE_Byte ignored3; /* 43: Ignored */ SANE_Byte ignored4; /* 44: Ignored */ - SANE_Byte binary_filtering; /* 45: Binary Filtering + SANE_Byte binary_filtering; /* 45: Binary Filtering * 0-1: Noise Removal Matrix: * 00: 3x3 * 01: 4x4 @@ -965,14 +965,14 @@ struct hs2p_window_data * Setting is ignored for reverse side because optional IPU is not valid * for reverse side scanning */ - /* + /* * The following is only available when IPU is installed: * SECTION, Automatic Separation, Automatic Binarization - * 46-319 is ignored for Window 2 + * 46-319 is ignored for Window 2 */ SANE_Byte ignored5; /* 46: Ignored */ SANE_Byte ignored6; /* 47: Ignored */ - SANE_Byte automatic_separation; /* 48: Automatic Separation + SANE_Byte automatic_separation; /* 48: Automatic Separation * 00H OFF * 01H Default * 02H-7FH Reserved @@ -980,7 +980,7 @@ struct hs2p_window_data * 91H-FFH Reserved */ SANE_Byte ignored7; /* 49: Ignored */ - SANE_Byte automatic_binarization; /* 50: Automatic Binarization + SANE_Byte automatic_binarization; /* 50: Automatic Binarization * 00H OFF * 01H Default * 02H Enhancement of light characters @@ -992,8 +992,8 @@ struct hs2p_window_data SANE_Byte ignored8[13]; /* 51-63: Ignored */ struct window_section sec[8]; /* Each window can have multiple sections, each of 32 bytes long * 53-319: = 256 bytes = 8 sections of 32 bytes - * IS450 supports up to 4 sections, - * IS420 supports up to 6 sections + * IS450 supports up to 4 sections, + * IS420 supports up to 6 sections */ }; struct set_window_cmd @@ -1031,7 +1031,7 @@ struct get_window_cmd SANE_Byte control; /* 7-6:Vendor Unique; 5-2:Reserved; 1:Flag; 0:Link */ }; /* The data format to be returned is Get Window Data header + Window Descriptor Bytes - * The format of Window Descriptor Bytes is the same as that for SET WINDOW + * The format of Window Descriptor Bytes is the same as that for SET WINDOW */ struct get_window_data_hdr { @@ -1149,9 +1149,9 @@ typedef struct maintenance_data SANE_Byte reserved2; SANE_Byte zero[2]; /* All set as 0 */ } MAINTENANCE_DATA; -/* ADF status 1byte: - * 7-3:Reserved; - * 2:Reserved; +/* ADF status 1byte: + * 7-3:Reserved; + * 2:Reserved; * 1: '0'-ADF cover closed; '1'-ADF cover open * 0: '0'-Document on ADF; '1'-No document on ADF * @@ -1164,7 +1164,7 @@ struct IPU }; struct IPU_Auto_PhotoLetter { - /* Halftone Separations for each level + /* Halftone Separations for each level * 256 steps of relative value with 0 the sharpest and 255 the softest * The relation of strength is Strength2 > Strength3 > Strength4 ... */ @@ -1173,7 +1173,7 @@ struct IPU_Auto_PhotoLetter SANE_Byte level[6]; } halftone_separation[2]; - /* 7-2:Reversed 1-0:Halftone + /* 7-2:Reversed 1-0:Halftone * 00 Default * 01 Peak Detection Soft * 10 Peak Detection Sharp @@ -1198,40 +1198,40 @@ struct IPU_Auto_PhotoLetter */ SANE_Byte byte24; - /* 7-4:Filter A; 3-0:Filter B + /* 7-4:Filter A; 3-0:Filter B * FilterA: 16 types are valid from 0000 to 1111 * FilterB: 0000 to 1110 are valid; 1111 is not valid */ SANE_Byte MTF_correction; - /* 7-4:Filter A; 3-0:Filter B + /* 7-4:Filter A; 3-0:Filter B * 0000(soft) to 0111(sharp) are valid; 1000 to 1111 are invalid */ SANE_Byte MTF_strength; - /* 7-4:Filter A; 3-0:Filter B + /* 7-4:Filter A; 3-0:Filter B * slightly adjusts the strength of the filters */ SANE_Byte MTF_adjustment; - /* 7-4:Reserved; 3-0: smoothing filter select + /* 7-4:Reserved; 3-0: smoothing filter select * 14 kinds are valid from 0000 to 1101; 1110 to 1111 are invalid */ SANE_Byte smoothing; - /* 7-2:Reversed; 1-0: Filter Select + /* 7-2:Reversed; 1-0: Filter Select * 10 MTF Correction Select * 11 Smoothing Select * from 00 to 01 are not valid and basically it is set as 10 */ SANE_Byte byte29; - /* 7-4:Reserved; 3-0: MTF Correction Filter C + /* 7-4:Reserved; 3-0: MTF Correction Filter C * 16 kinds are valid from 0000 to 1111 */ SANE_Byte MTF_correction_c; - /* 7-3:Reserved; 2-0: MTF Correction Filter strength C + /* 7-3:Reserved; 2-0: MTF Correction Filter strength C * 000(soft) to 111(sharp) are valid */ SANE_Byte MTF_strength_c; diff --git a/backend/hs2p.c b/backend/hs2p.c index de3be42..deee3b0 100644 --- a/backend/hs2p.c +++ b/backend/hs2p.c @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2007 Jeremy Johnson - This file is part of a SANE backend for Ricoh IS450 + This file is part of a SANE backend for Ricoh IS450 and IS420 family of HS2P Scanners using the SCSI controller. This file is part of the SANE package. @@ -217,8 +217,8 @@ init_options (HS2P_Scanner * s) s->val[OPT_NUM_OPTS].w = NUM_OPTIONS; - /* - * "Scan Mode" GROUP: + /* + * "Scan Mode" GROUP: */ s->opt[OPT_MODE_GROUP].name = ""; s->opt[OPT_MODE_GROUP].title = SANE_TITLE_SCAN_MODE_GROUP; @@ -311,8 +311,8 @@ init_options (HS2P_Scanner * s) - /* - * "Geometry" GROUP: + /* + * "Geometry" GROUP: */ s->opt[OPT_GEOMETRY_GROUP].name = ""; s->opt[OPT_GEOMETRY_GROUP].title = SANE_TITLE_GEOMETRY_GROUP; @@ -419,8 +419,8 @@ init_options (HS2P_Scanner * s) - /* - * "Feeder" GROUP: + /* + * "Feeder" GROUP: */ s->opt[OPT_FEEDER_GROUP].name = ""; s->opt[OPT_FEEDER_GROUP].title = SANE_TITLE_FEEDER_GROUP; @@ -493,8 +493,8 @@ init_options (HS2P_Scanner * s) /* timeout ADF */ /* timeout Manual */ - /* - * "Enhancement" GROUP: + /* + * "Enhancement" GROUP: */ s->opt[OPT_ENHANCEMENT_GROUP].name = ""; s->opt[OPT_ENHANCEMENT_GROUP].title = SANE_TITLE_ENHANCEMENT_GROUP; @@ -684,7 +684,7 @@ init_options (HS2P_Scanner * s) if (!s->hw->info.hasIPU) s->opt[OPT_AUTOBIN].cap |= SANE_CAP_INACTIVE; - /* SECTION + /* SECTION * The IS450 supports up to 4 Section; The IS420 supports up to 6 Sections * For each struct window_section[i] we need to fill in ulx,uly,width,height,etc * NOT YET IMPLEMENTED @@ -708,8 +708,8 @@ init_options (HS2P_Scanner * s) s->opt[OPT_WHITE_BALANCE].constraint_type = SANE_CONSTRAINT_NONE; s->val[OPT_WHITE_BALANCE].w = SANE_FALSE; /* F/T = Relative/Absolute White */ - /* - * "Miscellaneous" GROUP: + /* + * "Miscellaneous" GROUP: */ s->opt[OPT_MISCELLANEOUS_GROUP].name = ""; s->opt[OPT_MISCELLANEOUS_GROUP].title = SANE_TITLE_MISCELLANEOUS_GROUP; @@ -1192,7 +1192,7 @@ attach (SANE_String_Const devname, int __sane_unused__ connType, /* ipu_id: Bit0: '0'-no IPU, '1'-has IPU * Bit1: '0'-no extended board, '1'-has extended board; - * should always be 0 + * should always be 0 */ dev->info.hasIPU = (vbuf.ipu_id & 0x01) == 0x01 ? SANE_TRUE : SANE_FALSE; dev->info.hasXBD = (vbuf.ipu_id & 0x02) == 0x02 ? SANE_TRUE : SANE_FALSE; @@ -1229,8 +1229,8 @@ attach (SANE_String_Const devname, int __sane_unused__ connType, dev->sane.type = strdup (device_string); /* ACE Image Data Processing Binary Filters - * For IS450 this is set to 0x18 (0001 1000) if IPU installed, else 0x00 - * For IS420 this is set to 0x3C (0011 1100) if IPU installed, else 0x00 + * For IS450 this is set to 0x18 (0001 1000) if IPU installed, else 0x00 + * For IS420 this is set to 0x3C (0011 1100) if IPU installed, else 0x00 */ dev->info.supports_whiteframing = ((vbuf.imagedataprocessing[0] & 0x01) == 0x01) ? SANE_TRUE : SANE_FALSE; @@ -1272,16 +1272,16 @@ attach (SANE_String_Const devname, int __sane_unused__ connType, dev->info.supports_markerrecognition = ((vbuf.markerrecognition & 0x01) == 0x01) ? SANE_TRUE : SANE_FALSE; - /* Size Recognition + /* Size Recognition * For IS450 this is set to 0x01 when IPU installed; else 0x00 - * For IS420 this is set to 0x01 + * For IS420 this is set to 0x01 */ dev->info.supports_sizerecognition = ((vbuf.sizerecognition & 0x01) == 0x01) ? SANE_TRUE : SANE_FALSE; - /* X Maximum Output Pixel in main scanning direction - * For IS450 this is set to 0x1360 (4960) - * For IS420 this is set to (4880) + /* X Maximum Output Pixel in main scanning direction + * For IS450 this is set to 0x1360 (4960) + * For IS420 this is set to (4880) * [MostSignificantByte LeastSignificantByte] */ dev->info.xmaxoutputpixels = @@ -2397,7 +2397,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, return SANE_STATUS_GOOD; case OPT_SCAN_SOURCE: /* a string option */ - /* Since the scanner ejects the sheet in ADF mode + /* Since the scanner ejects the sheet in ADF mode * it is impossible to scan multiple sections in one document * In ADF mode, because of mechanical limitations: * the minimum document size is (x,y)=(69mm x 120mm) @@ -2824,7 +2824,7 @@ set_window_data (HS2P_Scanner * s, SWD * wbuf) (paddingtype[get_paddingtype_id (s->val[OPT_PADDING_TYPE].s)]. val & 0x07); - /* Bit Ordering: + /* Bit Ordering: * Manual Says DEFAULT: [1111 1111][1111 1000] * Bits15-8 reserved; * Bit7: '0'-Normal '1'-Mirroring @@ -2877,7 +2877,7 @@ set_window_data (HS2P_Scanner * s, SWD * wbuf) data->automatic_binarization = get_auto_binarization_val (s->val[OPT_AUTOBIN].s); /* fill in values for each section - for(j=0; jEOM = SANE_TRUE; - /* + /* * If status != SANE_STATUS_GOOD, then sense_handler() has already * been called and the sanei_* functions have already gotten the * sense data buffer (which apparently clears the error conditionn) @@ -3283,7 +3283,7 @@ sane_cancel (SANE_Handle handle) DBG (DBG_proc, ">> sane_cancel\n"); if (s->scanning) - { /* if batchmode is enabled, then call set_window to abort the batch + { /* if batchmode is enabled, then call set_window to abort the batch if (_OPT_VAL_WORD(s, OPT_BATCH) == SANE_TRUE) { DBG(5, "sane_cancel: calling set_window to abort batch\n"); set_window(s, BH_BATCH_ABORT); diff --git a/backend/hs2p.h b/backend/hs2p.h index 091fce2..6270154 100644 --- a/backend/hs2p.h +++ b/backend/hs2p.h @@ -2,7 +2,7 @@ Copyright (C) 2007 Jeremy Johnson This file is part of a SANE backend for Ricoh IS450 and IS420 family of HS2P Scanners using the SCSI controller. - + This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -117,8 +117,8 @@ typedef struct char inquiry_data[256]; - SANE_Byte max_win_sections; /* Number of supported window subsections - IS450 supports max of 4 sections + SANE_Byte max_win_sections; /* Number of supported window subsections + IS450 supports max of 4 sections IS420 supports max of 6 sections */ @@ -239,7 +239,7 @@ typedef struct HS2P_Device struct HS2P_Device *next; /* * struct with pointers to device/vendor/model names, and a type value - * used to inform sane frontend about the device + * used to inform sane frontend about the device */ SANE_Device sane; HS2P_Info info; diff --git a/backend/ibm-scsi.c b/backend/ibm-scsi.c index 59b42cb..b6436bd 100644 --- a/backend/ibm-scsi.c +++ b/backend/ibm-scsi.c @@ -1,5 +1,5 @@ /* sane - Scanner Access Now Easy. - + This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -38,7 +38,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. */ -/* +/* */ #include @@ -62,7 +62,7 @@ /* for object_position command */ #define OBJECT_POSITION_UNLOAD 0 #define OBJECT_POSITION_LOAD 1 - + struct scsi_window_cmd { SANE_Byte opcode; SANE_Byte byte2; @@ -162,7 +162,7 @@ inquiry (int fd, void *buf, size_t * buf_size) memset (cmd, 0, sizeof (cmd)); cmd[0] = IBM_SCSI_INQUIRY; - cmd[4] = *buf_size; + cmd[4] = *buf_size; status = sanei_scsi_cmd (fd, cmd, sizeof (cmd), buf, buf_size); DBG (11, "<< inquiry\n"); @@ -266,7 +266,7 @@ set_window (int fd, struct ibm_window_data *iwd) static SANE_Status get_window (int fd, struct ibm_window_data *iwd) { - + static struct scsi_window_cmd cmd; static size_t iwd_size; SANE_Status status; @@ -343,7 +343,7 @@ get_data_status (int fd, struct scsi_status_desc *dbs) status = sanei_scsi_cmd (fd, &cmd, sizeof (cmd), &ssd, &ssd_size); memcpy (dbs, &ssd.desc, sizeof(*dbs)); - if (status == SANE_STATUS_GOOD && + if (status == SANE_STATUS_GOOD && ((unsigned int) _3btol(ssd.len) <= sizeof(*dbs) || _3btol(ssd.desc.filled) == 0)) { DBG (11, "get_data_status: busy\n"); status = SANE_STATUS_DEVICE_BUSY; diff --git a/backend/ibm.c b/backend/ibm.c index 3ab7890..e527a04 100644 --- a/backend/ibm.c +++ b/backend/ibm.c @@ -1,5 +1,5 @@ /* sane - Scanner Access Now Easy. - + This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -157,12 +157,12 @@ attach (const char *devnam, Ibm_Device ** devp) if (!( (strncmp ((char *)ibuf.vendor, "IBM", 3) ==0 && strncmp ((char *)ibuf.product, "2456", 4) == 0) - || (strncmp ((char *)ibuf.vendor, "RICOH", 5) == 0 - && strncmp ((char *)ibuf.product, "IS420", 5) == 0) - || (strncmp ((char *)ibuf.vendor, "RICOH", 5) == 0 - && strncmp ((char *)ibuf.product, "IS410", 5) == 0) - || (strncmp ((char *)ibuf.vendor, "RICOH", 5) == 0 - && strncmp ((char *)ibuf.product, "IS430", 5) == 0) + || (strncmp ((char *)ibuf.vendor, "RICOH", 5) == 0 + && strncmp ((char *)ibuf.product, "IS420", 5) == 0) + || (strncmp ((char *)ibuf.vendor, "RICOH", 5) == 0 + && strncmp ((char *)ibuf.product, "IS410", 5) == 0) + || (strncmp ((char *)ibuf.vendor, "RICOH", 5) == 0 + && strncmp ((char *)ibuf.product, "IS430", 5) == 0) )) { DBG (1, "attach: device \"%s\" doesn't look like a scanner I know\n", @@ -213,7 +213,7 @@ attach (const char *devnam, Ibm_Device ** devp) DBG (1, "attach: MODE_SELECT failed\n"); sanei_scsi_close (fd); return (SANE_STATUS_INVAL); - } + } #endif #if 0 @@ -286,13 +286,13 @@ attach (const char *devnam, Ibm_Device ** devp) dev->info.brightness_default = wbuf.brightness; dev->info.contrast_default = wbuf.contrast; } - + /* da rivedere dev->info.adf_default = wbuf.adf_state; */ dev->info.adf_default = ADF_UNUSED; dev->info.adf_default = IBM_PAPER_USER_DEFINED; - + #if 1 dev->info.bmu = mup.bmu; dev->info.mud = _2btol(mup.mud); @@ -324,7 +324,7 @@ attach (const char *devnam, Ibm_Device ** devp) DBG (5, "brightness=%d\n", dev->info.brightness_default); DBG (5, "contrast=%d\n", dev->info.contrast_default); - + DBG (5, "adf_state=%d\n", dev->info.adf_default); DBG (5, "bmu=%d\n", dev->info.bmu); @@ -411,7 +411,7 @@ init_options (Ibm_Scanner * s) s->opt[OPT_Y_RESOLUTION].constraint_type = SANE_CONSTRAINT_RANGE; s->val[OPT_Y_RESOLUTION].w = s->hw->info.yres_default; s->opt[OPT_Y_RESOLUTION].constraint.range = &ibm2456_res_range; - + /* adf */ s->opt[OPT_ADF].name = "adf"; s->opt[OPT_ADF].title = "Use ADF"; @@ -437,7 +437,7 @@ init_options (Ibm_Scanner * s) s->opt[OPT_PAPER].constraint_type = SANE_CONSTRAINT_STRING_LIST; s->opt[OPT_PAPER].constraint.string_list = paper_list; s->val[OPT_PAPER].s = strdup (paper_list[s->hw->info.paper_default]); - + /* top-left x */ s->opt[OPT_TL_X].name = SANE_NAME_SCAN_TL_X; s->opt[OPT_TL_X].title = SANE_TITLE_SCAN_TL_X; @@ -563,7 +563,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) if (line[0] == '#') /* ignore line comments */ continue; len = strlen (line); - + if (!len) continue; /* ignore empty lines */ @@ -734,7 +734,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_CONTRAST: *(SANE_Word *) val = s->val[option].w; return (SANE_STATUS_GOOD); - + /* bool options: */ case OPT_ADF: *(SANE_Bool *) val = s->val[option].b; @@ -767,7 +767,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, *info |= SANE_INFO_RELOAD_PARAMS; s->val[option].w = *(SANE_Word *) val; return (SANE_STATUS_GOOD); - + case OPT_TL_X: case OPT_TL_Y: case OPT_BR_X: @@ -785,7 +785,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, s->val[OPT_PAPER].s = strdup (paper_list[IBM_PAPER_USER_DEFINED]); } return (SANE_STATUS_GOOD); - + case OPT_NUM_OPTS: case OPT_BRIGHTNESS: case OPT_CONTRAST: @@ -799,15 +799,15 @@ sane_control_option (SANE_Handle handle, SANE_Int option, free (s->val[option].s); s->val[option].s = strdup (val); return (SANE_STATUS_GOOD); - + case OPT_ADF: s->val[option].b = *(SANE_Bool *) val; if (*(SANE_Bool *) val) s->adf_state = ADF_ARMED; - else + else s->adf_state = ADF_UNUSED; return (SANE_STATUS_GOOD); - + case OPT_PAPER: if (info && strcmp (s->val[option].s, (SANE_String) val)) *info |= SANE_INFO_RELOAD_OPTIONS | SANE_INFO_RELOAD_PARAMS; @@ -957,7 +957,7 @@ sane_start (SANE_Handle handle) s->hw->sane.name, sane_strstatus (status)); return (status); } - + mode_str = s->val[OPT_MODE].s; s->xres = s->val[OPT_X_RESOLUTION].w; s->yres = s->val[OPT_Y_RESOLUTION].w; @@ -968,7 +968,7 @@ sane_start (SANE_Handle handle) s->brightness = s->val[OPT_BRIGHTNESS].w; s->contrast = s->val[OPT_CONTRAST].w; s->bpp = s->params.depth; - if (strcmp (mode_str, SANE_VALUE_SCAN_MODE_LINEART) == 0) + if (strcmp (mode_str, SANE_VALUE_SCAN_MODE_LINEART) == 0) { s->image_composition = IBM_BINARY_MONOCHROME; } @@ -996,11 +996,11 @@ sane_start (SANE_Handle handle) wbuf.image_comp = s->image_composition; /* if you throw the MRIF bit the brighness control reverses too */ /* so I reverse the reversal in software for symmetry's sake */ - if (wbuf.image_comp == IBM_GRAYSCALE || wbuf.image_comp == IBM_DITHERED_MONOCHROME) + if (wbuf.image_comp == IBM_GRAYSCALE || wbuf.image_comp == IBM_DITHERED_MONOCHROME) { - if (wbuf.image_comp == IBM_GRAYSCALE) + if (wbuf.image_comp == IBM_GRAYSCALE) wbuf.mrif_filtering_gamma_id = (SANE_Byte) 0x80; /* it was 0x90 */ - if (wbuf.image_comp == IBM_DITHERED_MONOCHROME) + if (wbuf.image_comp == IBM_DITHERED_MONOCHROME) wbuf.mrif_filtering_gamma_id = (SANE_Byte) 0x10; wbuf.brightness = 256 - (SANE_Byte) s->brightness; /* @@ -1048,7 +1048,7 @@ sane_start (SANE_Handle handle) if (status != SANE_STATUS_GOOD) { DBG (1, "GET WINDOW failed: %s\n", sane_strstatus (status)); - return (status); + return (status); } DBG (5, "xres=%d\n", _2btol(wbuf.x_res)); DBG (5, "yres=%d\n", _2btol(wbuf.y_res)); @@ -1073,7 +1073,7 @@ sane_start (SANE_Handle handle) else mup.adf_control = 0; /* end lines by mf */ - + status = mode_select (s->fd, (struct mode_pages *) &mup); if (status != SANE_STATUS_GOOD) { @@ -1096,18 +1096,18 @@ sane_start (SANE_Handle handle) { DBG (1, "GET DATA STATUS failed: %s\n", sane_strstatus (status)); return (status); - } + } s->bytes_to_read = s->params.bytes_per_line * s->params.lines; DBG (1, "%d pixels per line, %d bytes, %d lines high, total %lu bytes, " "dpi=%d\n", s->params.pixels_per_line, s->params.bytes_per_line, s->params.lines, (u_long) s->bytes_to_read, s->val[OPT_Y_RESOLUTION].w); - + s->scanning = SANE_TRUE; - DBG (11, "<< sane_start\n"); - return (SANE_STATUS_GOOD); + DBG (11, "<< sane_start\n"); + return (SANE_STATUS_GOOD); } SANE_Status @@ -1122,7 +1122,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, *len = 0; DBG (11, "sane_read: bytes left to read: %ld\n", (u_long) s->bytes_to_read); - + if (s->bytes_to_read == 0) { do_cancel (s); @@ -1132,7 +1132,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, if (!s->scanning) { DBG (11, "sane_read: scanning is false!\n"); return (do_cancel (s)); - } + } nread = max_len; if (nread > s->bytes_to_read) diff --git a/backend/ibm.h b/backend/ibm.h index a10c923..742ebeb 100644 --- a/backend/ibm.h +++ b/backend/ibm.h @@ -1,5 +1,5 @@ /* sane - Scanner Access Now Easy. - + This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -154,7 +154,7 @@ static const SANE_Range default_y_range = static inline void _lto2b(SANE_Int val, SANE_Byte *bytes) - + { bytes[0] = (val >> 8) & 0xff; @@ -163,7 +163,7 @@ _lto2b(SANE_Int val, SANE_Byte *bytes) static inline void _lto3b(SANE_Int val, SANE_Byte *bytes) - + { bytes[0] = (val >> 16) & 0xff; @@ -214,7 +214,7 @@ _4btol(SANE_Byte *bytes) return (rv); } -typedef enum +typedef enum { OPT_NUM_OPTS = 0, @@ -374,7 +374,7 @@ struct measurements_units_page { }; struct mode_pages { - SANE_Byte page_code; + SANE_Byte page_code; SANE_Byte parameter_length; SANE_Byte rest[14]; /* modified by mf; it was 6; see above */ #if 0 diff --git a/backend/kodak-cmd.h b/backend/kodak-cmd.h index 9f9880e..995d622 100644 --- a/backend/kodak-cmd.h +++ b/backend/kodak-cmd.h @@ -1,9 +1,9 @@ #ifndef KODAK_CMD_H #define KODAK_CMD_H -/* +/* * Part of SANE - Scanner Access Now Easy. - * + * * Please see to opening comments in kodak.c */ @@ -27,7 +27,7 @@ getnbyte (unsigned char *pnt, int nbytes) { unsigned int result = 0; int i; - + for (i = 0; i < nbytes; i++) result = (result << 8) | (pnt[i] & 0xff); return result; @@ -37,7 +37,7 @@ static void putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) { int i; - + for (i = nbytes - 1; i >= 0; i--) { pnt[i] = value & 0xff; value = value >> 8; @@ -398,7 +398,7 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) /* output */ #define set_SR_datatype_code(sb, val) sb[0x02] = val #define SR_datatype_imagedata 0x00 -#define SR_datatype_random 0x80 +#define SR_datatype_random 0x80 #define SR_datatype_imageheader 0x81 #define SR_len_imageheader 1088 @@ -416,11 +416,11 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes) #define get_SR_ih_length(in) getnbyte(in + 23, 4) #define get_SR_ih_bpp(in) in[27] #define get_SR_ih_comp_type(in) in[28] -#define get_SR_ih_ACD(in) getbit(in + 29, 1, 5) -#define get_SR_ih_MF(in) getbit(in + 29, 1, 4) -#define get_SR_ih_RIF(in) getbit(in + 29, 1, 2) -#define get_SR_ih_ID(in) getbit(in + 29, 1, 1) -#define get_SR_ih_DE(in) getbit(in + 29, 1, 0) +#define get_SR_ih_ACD(in) getbit(in + 29, 1, 5) +#define get_SR_ih_MF(in) getbit(in + 29, 1, 4) +#define get_SR_ih_RIF(in) getbit(in + 29, 1, 2) +#define get_SR_ih_ID(in) getbit(in + 29, 1, 1) +#define get_SR_ih_DE(in) getbit(in + 29, 1, 0) #define get_SR_ih_skew_angle(in) getnbyte(in + 30, 2) #define get_SR_ih_ia_level(in) in[32] #define get_SR_ih_ia(in) getnbyte(in + 33, 60) diff --git a/backend/kodak.c b/backend/kodak.c index 73243db..845ad11 100644 --- a/backend/kodak.c +++ b/backend/kodak.c @@ -83,7 +83,7 @@ . . - sane_start() : start image acquisition . . - sane_get_parameters() : returns actual scan parameters . . - sane_read() : read image data (from pipe) - . . (sane_read called multiple times; after sane_read returns EOF, + . . (sane_read called multiple times; after sane_read returns EOF, . . loop may continue with sane_start which may return a 2nd page . . when doing duplex scans, or load the next page from the ADF) . . @@ -124,14 +124,14 @@ #include "kodak.h" #define DEBUG 1 -#define BUILD 7 +#define BUILD 7 /* values for SANE_DEBUG_KODAK env var: - errors 5 - function trace 10 - function detail 15 - get/setopt cmds 20 - - scsi cmd trace 25 + - scsi cmd trace 25 - scsi cmd detail 30 - useless noise 35 */ @@ -163,7 +163,7 @@ static struct scanner *scanner_devList = NULL; /* * Called by SANE initially. - * + * * From the SANE spec: * This function must be called before any other SANE function can be * called. The behavior of a SANE backend is undefined if this @@ -195,7 +195,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) /* * Called by SANE to find out about supported devices. - * + * * From the SANE spec: * This function can be used to query the list of devices that are * available. If the function executes successfully, it stores a @@ -208,7 +208,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) * returned (devices directly attached to the machine that SANE is * running on). If it is false, the device list includes all remote * devices that are accessible to the SANE library. - * + * * SANE does not require that this function is called before a * sane_open() call is performed. A device name may be specified * explicitly by a user which would make it unnecessary and @@ -241,41 +241,41 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) DBG (15, "sane_get_devices: reading config file %s\n", KODAK_CONFIG_FILE); while (sanei_config_read (line, PATH_MAX, fp)) { - + lp = line; - + /* ignore comments */ if (*lp == '#') continue; - + /* skip empty lines */ if (*lp == 0) continue; - + if ((strncmp ("option", lp, 6) == 0) && isspace (lp[6])) { - + lp += 6; lp = sanei_config_skip_whitespace (lp); - + /* we allow setting buffersize too big */ if ((strncmp (lp, "buffer-size", 11) == 0) && isspace (lp[11])) { - + int buf; lp += 11; lp = sanei_config_skip_whitespace (lp); buf = atoi (lp); - + if (buf < 4096) { DBG (5, "sane_get_devices: config option \"buffer-size\" \ (%d) is < 4096, ignoring!\n", buf); continue; } - + if (buf > DEFAULT_BUFFER_SIZE) { DBG (5, "sane_get_devices: config option \"buffer-size\" \ (%d) is > %d, warning!\n", buf, DEFAULT_BUFFER_SIZE); } - + DBG (15, "sane_get_devices: setting \"buffer-size\" to %d\n", buf); global_buffer_size = buf; @@ -330,8 +330,8 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) return SANE_STATUS_GOOD; } -/* build the scanner struct and link to global list - * unless struct is already loaded, then pretend +/* build the scanner struct and link to global list + * unless struct is already loaded, then pretend */ static SANE_Status attach_one (const char *device_name) @@ -485,9 +485,9 @@ init_inquire (struct scanner *s) set_I_evpd (cmd, 0); set_I_page_code (cmd, I_page_code_default); set_I_data_length (cmd, inLen); - + ret = do_cmd ( - s, 1, 0, + s, 1, 0, cmd, cmdLen, NULL, 0, in, &inLen @@ -648,7 +648,7 @@ init_model (struct scanner *s) s->s_mode[MODE_HALFTONE] = 1; s->s_mode[MODE_GRAYSCALE] = 1; s->s_mode[MODE_COLOR] = 1; - + /* scanner did not tell us these */ s->s_res_min[MODE_HALFTONE] = s->s_res_min[MODE_LINEART]; s->s_res_max[MODE_HALFTONE] = s->s_res_max[MODE_LINEART]; @@ -728,9 +728,9 @@ init_options (struct scanner *s) s->opt[i].cap = SANE_CAP_INACTIVE; } - /* go ahead and setup the first opt, because - * frontend may call control_option on it - * before calling get_option_descriptor + /* go ahead and setup the first opt, because + * frontend may call control_option on it + * before calling get_option_descriptor */ s->opt[OPT_NUM_OPTS].name = SANE_NAME_NUM_OPTIONS; s->opt[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS; @@ -765,7 +765,7 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) time_t gmt_tt; struct tm * gmt_tm_p; struct tm * local_tm_p; - + DBG (10, "sane_open: start\n"); if(scanner_devList){ @@ -786,7 +786,7 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) } else{ DBG (15, "sane_open: device %s requested\n", name); - + for (dev = scanner_devList; dev; dev = dev->next) { if (strcmp (dev->sane.name, name) == 0) { s = dev; @@ -998,7 +998,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->o_mode_list[i++]=STRING_COLOR; } s->o_mode_list[i]=NULL; - + opt->name = SANE_NAME_SCAN_MODE; opt->title = SANE_TITLE_SCAN_MODE; opt->desc = SANE_DESC_SCAN_MODE; @@ -1017,13 +1017,13 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) i=0; for(j=0;j<6;j++){ - if(reslist[j] >= s->s_res_min[s->u_mode] + if(reslist[j] >= s->s_res_min[s->u_mode] && reslist[j] <= s->s_res_max[s->u_mode]){ s->o_res_list[s->u_mode][++i] = reslist[j]; } } s->o_res_list[s->u_mode][0] = i; - + opt->name = SANE_NAME_SCAN_RESOLUTION; opt->title = SANE_TITLE_SCAN_RESOLUTION; opt->desc = SANE_DESC_SCAN_RESOLUTION; @@ -1049,7 +1049,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->o_tl_x_range.min = SCANNER_UNIT_TO_FIXED_MM(s->s_width_min); s->o_tl_x_range.max = SCANNER_UNIT_TO_FIXED_MM(s->s_width_max); s->o_tl_x_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_TL_X; opt->title = SANE_TITLE_SCAN_TL_X; opt->desc = SANE_DESC_SCAN_TL_X; @@ -1067,7 +1067,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->o_tl_y_range.min = SCANNER_UNIT_TO_FIXED_MM(s->s_length_min); s->o_tl_y_range.max = SCANNER_UNIT_TO_FIXED_MM(s->s_length_max); s->o_tl_y_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_TL_Y; opt->title = SANE_TITLE_SCAN_TL_Y; opt->desc = SANE_DESC_SCAN_TL_Y; @@ -1085,7 +1085,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->o_br_x_range.min = SCANNER_UNIT_TO_FIXED_MM(s->s_width_min); s->o_br_x_range.max = SCANNER_UNIT_TO_FIXED_MM(s->s_width_max); s->o_br_x_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_BR_X; opt->title = SANE_TITLE_SCAN_BR_X; opt->desc = SANE_DESC_SCAN_BR_X; @@ -1103,7 +1103,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) s->o_br_y_range.min = SCANNER_UNIT_TO_FIXED_MM(s->s_length_min); s->o_br_y_range.max = SCANNER_UNIT_TO_FIXED_MM(s->s_length_max); s->o_br_y_range.quant = MM_PER_UNIT_FIX; - + opt->name = SANE_NAME_SCAN_BR_Y; opt->title = SANE_TITLE_SCAN_BR_Y; opt->desc = SANE_DESC_SCAN_BR_Y; @@ -1236,7 +1236,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /** * Gets or sets an option value. - * + * * From the SANE spec: * This function is used to set or inquire the current value of option * number n of the device represented by handle h. The manner in which @@ -1247,7 +1247,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) * area pointed to by v must be big enough to hold the entire option * value (determined by member size in the corresponding option * descriptor). - * + * * The only exception to this rule is that when setting the value of a * string option, the string pointed to by argument v may be shorter * since the backend will stop reading the option value upon @@ -1304,7 +1304,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, strcpy (val, STRING_ADFDUPLEX); } else{ - DBG(5,"missing option val for source\n"); + DBG(5,"missing option val for source\n"); } return SANE_STATUS_GOOD; @@ -1402,7 +1402,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, * below. */ switch (option) { - + /* Mode Group */ case OPT_SOURCE: if (!strcmp (val, STRING_ADFFRONT)) { @@ -1537,7 +1537,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, * completion of that request. Outside of that window, the returned * values are best-effort estimates of what the parameters will be * when sane_start() gets invoked. - * + * * Calling this function before a scan has actually started allows, * for example, to get an estimate of how big the scanned image will * be. The parameters passed to this function are the handle h of the @@ -1557,9 +1557,9 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) { SANE_Status ret = SANE_STATUS_GOOD; struct scanner *s = (struct scanner *) handle; - + DBG (10, "sane_get_parameters: start\n"); - + /* started? get param data from image header */ if(s->started){ DBG (15, "sane_get_parameters: image settings:\n"); @@ -1574,7 +1574,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) params->last_frame = 1; params->lines = s->i_length; params->pixels_per_line = s->i_width; - + /* bitonal */ if (s->i_bpp == 1) { params->format = SANE_FRAME_GRAY; @@ -1632,7 +1632,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) DBG (15, " res=%d, user_x=%d, user_y=%d\n", s->u_res, (s->u_res * (s->u_br_x - s->u_tl_x) / 1200), (s->u_res * (s->u_br_y - s->u_tl_y) / 1200)); - + if (s->u_mode == MODE_COLOR) { params->format = SANE_FRAME_RGB; params->depth = 8; @@ -1649,7 +1649,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) params->last_frame = 1; params->lines = s->u_res * (s->u_br_y - s->u_tl_y) / 1200; params->pixels_per_line = s->u_res * (s->u_br_x - s->u_tl_x) / 1200; - + /* bytes per line differs by mode */ if (s->u_mode == MODE_COLOR) { params->bytes_per_line = params->pixels_per_line * 3; @@ -1662,16 +1662,16 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) } } - + DBG (15, "sane_get_parameters: returning:\n"); - DBG (15, " scan_x=%d, Bpl=%d, depth=%d\n", + DBG (15, " scan_x=%d, Bpl=%d, depth=%d\n", params->pixels_per_line, params->bytes_per_line, params->depth ); - - DBG (15, " scan_y=%d, frame=%d, last=%d\n", + + DBG (15, " scan_y=%d, frame=%d, last=%d\n", params->lines, params->format, params->last_frame ); DBG (10, "sane_get_parameters: finish\n"); - + return ret; } @@ -1680,7 +1680,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) * commands: scanner control (lampon), send (lut), send (dither), * set window, object pos, and scan * - * this will be called before each image, including duplex backsides, + * this will be called before each image, including duplex backsides, * and at the start of adf batch. * hence, we spend alot of time playing with s->started, etc. */ @@ -1716,7 +1716,7 @@ sane_start (SANE_Handle handle) do_cancel(s); return ret; } - + /* read/send JQ command */ /* read/send SC command */ @@ -1726,13 +1726,13 @@ sane_start (SANE_Handle handle) do_cancel(s); return ret; } - + /* read/send CT command */ DBG (15, "sane_start: send SCAN\n"); memset(cmd, 0, SCAN_len); set_SCSI_opcode(cmd, SCAN_code); - + ret = do_cmd ( s, 1, 0, cmd, SCAN_len, @@ -1752,11 +1752,11 @@ sane_start (SANE_Handle handle) set_SR_datatype_code(cmd,SR_datatype_random); set_SR_datatype_qual(cmd,SR_qual_startstop); set_SR_xfer_length(cmd,SR_len_startstop); - + memset(pay,0,SR_len_startstop); set_SR_payload_len(pay,SR_len_startstop); set_SR_startstop_cmd(pay,1); - + ret = do_cmd ( s, 1, 0, cmd, SEND_len, @@ -1786,7 +1786,7 @@ sane_start (SANE_Handle handle) /* make large buffer to hold the images */ DBG (15, "sane_start: setup buffer\n"); - + /* free current buffer if too small */ if (s->buffer && s->bytes_buf < s->i_bytes) { DBG (15, "sane_start: free buffer.\n"); @@ -1794,7 +1794,7 @@ sane_start (SANE_Handle handle) s->buffer = NULL; s->bytes_buf = 0; } - + /* grab new buffer if dont have one */ if (!s->buffer) { DBG (15, "sane_start: calloc buffer.\n"); @@ -1827,7 +1827,7 @@ set_window (struct scanner *s) unsigned char cmd[SET_WINDOW_len]; size_t cmdLen = SET_WINDOW_len; - /* the data phase has a header, followed by a window desc block + /* the data phase has a header, followed by a window desc block * the header specifies the number of bytes in 1 window desc block */ unsigned char pay[WINDOW_HEADER_len + WINDOW_DESCRIPTOR_len]; size_t payLen = WINDOW_HEADER_len + WINDOW_DESCRIPTOR_len; @@ -2059,7 +2059,7 @@ send_sc(struct scanner *s) set_SR_datatype_code(cmd,SR_datatype_random); set_SR_datatype_qual(cmd,SR_qual_config); set_SR_xfer_length(cmd,SR_len_config); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, @@ -2077,7 +2077,7 @@ send_sc(struct scanner *s) set_SR_datatype_code(cmd,SR_datatype_random); set_SR_datatype_qual(cmd,SR_qual_config); set_SR_xfer_length(cmd,payLen); - + if(s->u_source == SOURCE_ADF_FRONT){ if(s->u_mode == MODE_COLOR || s->u_mode == MODE_GRAYSCALE){ set_SR_sc_io1(pay,SR_sc_io_front_color); @@ -2150,7 +2150,7 @@ read_imageheader (struct scanner *s) set_SR_xfer_length(cmd,SR_len_imageheader); while (pass++ < 1000){ - + DBG (15, "read_imageheader: pass %d\n", pass); payLen = SR_len_imageheader; @@ -2174,34 +2174,34 @@ read_imageheader (struct scanner *s) if (ret == SANE_STATUS_GOOD){ DBG (15, "image header:\n"); - + DBG (15, " bytes: %d\n",get_SR_ih_image_length(pay)); s->i_bytes = get_SR_ih_image_length(pay); - + DBG (15, " id: %d\n",get_SR_ih_image_id(pay)); s->i_id = get_SR_ih_image_id(pay); - + DBG (15, " dpi: %d\n",get_SR_ih_resolution(pay)); s->i_dpi = get_SR_ih_resolution(pay); - + DBG (15, " tlx: %d\n",get_SR_ih_ulx(pay)); s->i_tlx = get_SR_ih_ulx(pay); - + DBG (15, " tly: %d\n",get_SR_ih_uly(pay)); s->i_tly = get_SR_ih_uly(pay); - + DBG (15, " width: %d\n",get_SR_ih_width(pay)); s->i_width = get_SR_ih_width(pay); - + DBG (15, " length: %d\n",get_SR_ih_length(pay)); s->i_length = get_SR_ih_length(pay); - + DBG (15, " bpp: %d\n",get_SR_ih_bpp(pay)); s->i_bpp = get_SR_ih_bpp(pay); - + DBG (15, " comp: %d\n",get_SR_ih_comp_type(pay)); s->i_compr = get_SR_ih_comp_type(pay); - + /*FIXME: there are alot more of these?*/ } @@ -2212,7 +2212,7 @@ read_imageheader (struct scanner *s) /* * Called by SANE to read data. - * + * * From the SANE spec: * This function is used to read image data from the device * represented by handle h. Argument buf is a pointer to a memory @@ -2220,7 +2220,7 @@ read_imageheader (struct scanner *s) * returned is stored in *len. A backend must set this to zero when * the call fails (i.e., when a status other than SANE_STATUS_GOOD is * returned). - * + * * When the call succeeds, the number of bytes returned can be * anywhere in the range from 0 to maxlen bytes. */ @@ -2270,12 +2270,12 @@ read_from_scanner(struct scanner *s) int remain = s->i_bytes - s->bytes_rx; unsigned char * buf; size_t inLen = 0; - + unsigned char cmd[READ_len]; int cmdLen=READ_len; DBG (10, "read_from_scanner: start\n"); - + memset(cmd, 0, cmdLen); set_SCSI_opcode(cmd, READ_code); @@ -2283,32 +2283,32 @@ read_from_scanner(struct scanner *s) if(bytes > remain){ bytes = remain; } - + DBG(15, "read_from_scanner: to:%d rx:%d re:%d bu:%d pa:%d\n", s->i_bytes, s->bytes_rx, remain, s->buffer_size, bytes); - + if(ret){ return ret; } - + inLen = bytes; - + buf = malloc(bytes); if(!buf){ DBG(5, "read_from_scanner: not enough mem for buffer: %d\n",bytes); return SANE_STATUS_NO_MEM; } - + set_SR_datatype_code (cmd, SR_datatype_imagedata); set_SR_xfer_length (cmd, bytes); - + ret = do_cmd ( s, 1, 0, cmd, cmdLen, NULL, 0, buf, &inLen ); - + if (ret == SANE_STATUS_GOOD) { DBG(15, "read_from_scanner: got GOOD, returning GOOD\n"); } @@ -2324,13 +2324,13 @@ read_from_scanner(struct scanner *s) DBG(5, "read_from_scanner: error reading data block status = %d\n",ret); inLen = 0; } - + if(inLen){ copy_buffer (s, buf, inLen); } - + free(buf); - + if(ret == SANE_STATUS_EOF){ DBG (5, "read_from_scanner: unexpected EOF, shortening image\n"); s->i_bytes = s->bytes_rx; @@ -2338,7 +2338,7 @@ read_from_scanner(struct scanner *s) } DBG (10, "read_from_scanner: finish\n"); - + return ret; } @@ -2364,31 +2364,31 @@ read_from_buffer(struct scanner *s, SANE_Byte * buf, SANE_Status ret=SANE_STATUS_GOOD; int bytes = max_len; int remain = s->bytes_rx - s->bytes_tx; - + DBG (10, "read_from_buffer: start\n"); - + /* figure out the max amount to transfer */ if(bytes > remain){ bytes = remain; } - + *len = bytes; - + DBG(15, "read_from_buffer: to:%d tx:%d re:%d bu:%d pa:%d\n", s->i_bytes, s->bytes_tx, remain, max_len, bytes); - + /*FIXME this needs to timeout eventually */ if(!bytes){ DBG(5,"read_from_buffer: nothing to do\n"); return SANE_STATUS_GOOD; } - + memcpy(buf,s->buffer+s->bytes_tx,bytes); - + s->bytes_tx += *len; - + DBG (10, "read_from_buffer: finish\n"); - + return ret; } @@ -2397,26 +2397,26 @@ read_from_buffer(struct scanner *s, SANE_Byte * buf, * @@ Section 4 - SANE cleanup functions */ /* - * Cancels a scan. + * Cancels a scan. * * It has been said on the mailing list that sane_cancel is a bit of a * misnomer because it is routinely called to signal the end of a * batch - quoting David Mosberger-Tang: - * + * * > In other words, the idea is to have sane_start() be called, and * > collect as many images as the frontend wants (which could in turn * > consist of multiple frames each as indicated by frame-type) and - * > when the frontend is done, it should call sane_cancel(). + * > when the frontend is done, it should call sane_cancel(). * > Sometimes it's better to think of sane_cancel() as "sane_stop()" * > but that name would have had some misleading connotations as * > well, that's why we stuck with "cancel". - * + * * The current consensus regarding duplex and ADF scans seems to be * the following call sequence: sane_start; sane_read (repeat until * EOF); sane_start; sane_read... and then call sane_cancel if the * batch is at an end. I.e. do not call sane_cancel during the run but * as soon as you get a SANE_STATUS_NO_DOCS. - * + * * From the SANE spec: * This function is used to immediately or as quickly as possible * cancel the currently pending operation of the device represented by @@ -2459,7 +2459,7 @@ do_cancel (struct scanner *s) /* * Ends use of the scanner. - * + * * From the SANE spec: * This function terminates the association between the device handle * passed in argument h and the device it represents. If the device is @@ -2495,7 +2495,7 @@ disconnect_fd (struct scanner *s) /* * Terminates the backend. - * + * * From the SANE spec: * This function must be called to terminate use of a backend. The * function will first close all device handles that still might be @@ -2721,9 +2721,9 @@ do_rs(scanner * s) SANE_Status ret; unsigned char cmd[REQUEST_SENSE_len]; size_t cmdLen = REQUEST_SENSE_len; - + DBG (10, "do_rs: start\n"); - + memset(cmd,0,cmdLen); set_SCSI_opcode(cmd,REQUEST_SENSE_code); set_SR_datatype_code(cmd,SR_datatype_random); @@ -2792,7 +2792,7 @@ do_cmd(struct scanner *s, int runRS, int shortTime, #if 0 /* unused */ static SANE_Status -wait_scanner(struct scanner *s) +wait_scanner(struct scanner *s) { int ret; @@ -2810,7 +2810,7 @@ wait_scanner(struct scanner *s) NULL, 0, NULL, NULL ); - + if (ret != SANE_STATUS_GOOD) { DBG(5,"WARNING: Brain-dead scanner. Hitting with stick\n"); ret = do_cmd ( diff --git a/backend/kodak.h b/backend/kodak.h index ea2a3e4..31c5712 100644 --- a/backend/kodak.h +++ b/backend/kodak.h @@ -1,12 +1,12 @@ #ifndef KODAK_H #define KODAK_H -/* +/* * Part of SANE - Scanner Access Now Easy. * Please see opening comment in kodak.c */ -/* ------------------------------------------------------------------------- +/* ------------------------------------------------------------------------- * This option list has to contain all options for all scanners supported by * this driver. If a certain scanner cannot handle a certain option, there's * still the possibility to say so, later. diff --git a/backend/kodakaio.c b/backend/kodakaio.c index a9bec7b..c8cc9a7 100644 --- a/backend/kodakaio.c +++ b/backend/kodakaio.c @@ -3,7 +3,7 @@ * * Copyright (C) 2011-2017 Paul Newall * - * Based on the Magicolor sane backend: + * Based on the Magicolor sane backend: * Based on the epson2 sane backend: * Based on Kazuhiro Sasayama previous * work on epson.[ch] file from the SANE package. @@ -16,13 +16,13 @@ * Modified 30/12/14 to fix bug where network connection was broken after 30s of idle time. * The connection is now made in sane_start and ended in sane_cancel. - * 01/01/13 Now with adf, the scan can be padded to make up the full page length, + * 01/01/13 Now with adf, the scan can be padded to make up the full page length, * or the page can terminate at the end of the paper. This is a selectable option. * 25/11/12 Using avahi now for net autodiscovery. Use configure option --enable-avahi * 1/5/17 patched to use local pointer for avahi callback */ -/* +/* Packages to add to a clean ubuntu install libavahi-common-dev libusb-dev @@ -45,7 +45,7 @@ If you want to use the test backend, for example with sane-troubleshoot, you sho */ /* SANE-FLOW-DIAGRAM Kodakaio commands in [] brackets - + - sane_init() : initialize backend, attach scanners(devicename,0) . - sane_get_devices() : query list of scanner-devices . - sane_open() : open a particular scanner-device and attach_scanner(devicename,&dev) @@ -58,7 +58,7 @@ If you want to use the test backend, for example with sane-troubleshoot, you sho . . - sane_get_parameters() : returns actual scan-parameters . . - sane_read() : read image-data (from pipe) . . - sane_cancel() : cancel operation, kill reader_process [(F), U] - + . - sane_close() : close opened scanner-device, do_cancel, free buffer and handle - sane_exit() : terminate use of backend, free devicename and device-struture */ @@ -169,7 +169,7 @@ In terminal use: export SANE_DEBUG_KODAKAIO=40 to set the level to 40 or whateve level you want. Then you can scan with scanimage or simple-scan from terminal and see debug info -use these defines to promote certain functions that you are interested in +use these defines to promote certain functions that you are interested in define low values to make detail of a section appear when DBG level is low define a high value eg 99 to get normal behaviour. */ #define DBG_READ 99 @@ -248,7 +248,7 @@ FILE *RawScan = NULL; char RawScanPath[] = ""; /* empty path means no raw scan file is made */ /* - * Devices supported by this backend + * Devices supported by this backend */ /* kodak command strings */ @@ -286,7 +286,7 @@ The following are not used but may be in future commandtype, max depth, pointer to depth list */ -/* list of cap data the first scanner is the default +/* list of cap data the first scanner is the default */ /* KODAK AIO DEFAULT, */ { @@ -295,7 +295,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(100), 0}, {0, SANE_FIX(100), 0} /* ADF x/y ranges (TODO!) */ }, /* KODAK ESP 5100, */ @@ -305,7 +305,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP 5300, */ @@ -315,7 +315,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP 5500, */ @@ -325,7 +325,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP 5000, */ @@ -335,7 +335,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP 3300, */ @@ -345,7 +345,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP5, */ @@ -355,7 +355,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP7, */ @@ -365,7 +365,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP9, */ @@ -375,7 +375,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP5210 or 5250, */ @@ -385,7 +385,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP3200 , */ @@ -395,7 +395,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP4100 , */ @@ -405,7 +405,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP6100 , */ @@ -415,7 +415,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_TRUE, SANE_FALSE, /* ADF, duplex */ + SANE_TRUE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP7200 , */ @@ -425,7 +425,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP C110 , */ @@ -435,7 +435,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP C115 , */ @@ -445,7 +445,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP 2150 , */ @@ -455,7 +455,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_TRUE, SANE_FALSE, /* ADF, duplex */ + SANE_TRUE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP C310 , */ @@ -465,7 +465,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP C315 , */ @@ -475,7 +475,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_FALSE, SANE_FALSE, /* ADF, duplex */ + SANE_FALSE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* ADVENT AW10, */ @@ -525,7 +525,7 @@ commandtype, max depth, pointer to depth list 600, {75, 600, 0}, kodakaio_resolution_list, 4, /* 600 dpi max, 4 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_TRUE, SANE_FALSE, /* ADF, duplex */ + SANE_TRUE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK ESP2170 , */ @@ -535,7 +535,7 @@ commandtype, max depth, pointer to depth list 1200, {75, 1200, 0}, kodakaio_resolution_list, 5, /* 1200 dpi optical, {from, to, 0} 5 resolutions */ 8, kodakaio_depth_list, /* color depth max 8, list above */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(11.7 * MM_PER_INCH), 0}, /* FBF x/y ranges */ - SANE_TRUE, SANE_FALSE, /* ADF, duplex */ + SANE_TRUE, SANE_FALSE, /* ADF, duplex */ {0, SANE_FIX(8.5 * MM_PER_INCH), 0}, {0, SANE_FIX(14 * MM_PER_INCH), 0} /* 14 ADF x/y ranges */ }, /* KODAK HERO 9.1, */ @@ -748,7 +748,7 @@ sanei_kodakaio_net_write_raw(struct KodakAio_Scanner *s, SANE_Status *status) { DBG(32, "net write:%x,%x,%x,%x,%x,%x,%x,%x\n",buf[0],buf[1],buf[2],buf[3],buf[4],buf[5],buf[6],buf[7]); - + sanei_tcp_write(s->fd, buf, buf_size); /* TODO: Check whether sending failed... */ @@ -863,8 +863,8 @@ static ssize_t k_recv(KodakAio_Scanner * s, void *buf, ssize_t buf_size, SANE_Status * status) { -/* requests and receives data this function makes the split between USB and NET -this function called by a number of others +/* requests and receives data this function makes the split between USB and NET +this function called by a number of others In USB mode, this function will wait until data is available for a maximum of SCANNER_READ_TIMEOUT seconds. In NET mode the timeout is in kodakaio_net_read @@ -878,7 +878,7 @@ In NET mode the timeout is in kodakaio_net_read usb_delay.tv_nsec = 300000000; /* 0.3 sec */ if (s->hw->connection == SANE_KODAKAIO_NET) { - + time(&time_start); DBG(min(16,DBG_READ), "[%ld] %s: net req size = %ld ", (long) time_start, __func__, (long) buf_size); n = kodakaio_net_read(s, buf, buf_size, status); @@ -1015,7 +1015,7 @@ and returns appropriate status s->adf_loaded = SANE_TRUE; DBG(5, "%s: News - docs in ADF\n", __func__); } - else if (rxbuf[4] != + else if (rxbuf[4] != 0x01 && s->adf_loaded == SANE_TRUE) { s->adf_loaded = SANE_FALSE; DBG(5, "%s: News - ADF is empty\n", __func__); @@ -1031,7 +1031,7 @@ and returns appropriate status } /* unused function -static ssize_t +static ssize_t kodakaio_rxflush(KodakAio_Scanner *s) Tries to get 64 byte reply @@ -1052,7 +1052,7 @@ and returns number of bytes read */ /* - * high-level communication commands + * high-level communication commands */ static SANE_Status @@ -1064,7 +1064,7 @@ k_hello (KodakAio_Scanner * s) DBG(5, "%s\n", __func__); -/* check that there is nothing already in the input buffer before starting +/* check that there is nothing already in the input buffer before starting kodakaio_rxflush(s); */ /* preset the reply, so I can see if it gets changed */ @@ -1129,12 +1129,12 @@ cmd_cancel_scan (SANE_Handle handle) unsigned char reply[8]; /* adf added 20/2/12 should it be adf? or adf with paper in? */ if (strcmp(source_list[s->val[OPT_SOURCE].w], ADF_STR) == 0) { /* adf */ - if (kodakaio_txrxack(s, KodakEsp_F, reply)!= SANE_STATUS_GOOD) + if (kodakaio_txrxack(s, KodakEsp_F, reply)!= SANE_STATUS_GOOD) { DBG(1, "%s: KodakEsp_F command failed\n", __func__); return SANE_STATUS_IO_ERROR; } - if (kodakaio_txrxack(s, KodakEsp_UnLock, reply)!= SANE_STATUS_GOOD) + if (kodakaio_txrxack(s, KodakEsp_UnLock, reply)!= SANE_STATUS_GOOD) { DBG(1, "%s: KodakEsp_UnLock command failed\n", __func__); return SANE_STATUS_IO_ERROR; @@ -1193,7 +1193,7 @@ cmd_set_color_curve(SANE_Handle handle, unsigned char col) int i; /* 7/9/14 was unsigned char and that stopped the loop that made the linear curve from going to 255 */ DBG(32, "%s: start\n", __func__); tx_col[0]=0x1b; tx_col[1]='S'; tx_col[2]='K'; tx_col[3]=col; tx_col[4]=0; tx_col[5]=0; tx_col[6]=0; tx_col[7]=0; -/* linear curve now but could send tailor made curves in future */ +/* linear curve now but could send tailor made curves in future */ for(i=0;i<=255;++i) tx_curve[i]=i; /* 7/9/14 was i<255 the missing elements caused speckles */ k_send(s, tx_col, 8, &status); @@ -1255,7 +1255,7 @@ cmd_set_scanning_parameters(SANE_Handle handle, tx_dpi[7]=0; kodakaio_txrxack(s, tx_dpi, bufread); -/* colour curves don't seem to be sent for usb preview +/* colour curves don't seem to be sent for usb preview but it seems to do no harm to send them */ cmd_set_color_curve(s, 'R'); cmd_set_color_curve(s, 'G'); @@ -1298,7 +1298,7 @@ this command needs actual DPI units*/ int cmparray (unsigned char *array1, unsigned char *array2, size_t len) { -/* compares len bytes of the arrays returns 0 if they match +/* compares len bytes of the arrays returns 0 if they match returns the first missmatch position if they don't match */ unsigned int i; for(i=0; iack and do padding if the padding option is selected @@ -1363,7 +1363,7 @@ But it seems that the scanner takes care of that, and gives you the ack as a sep /* it may be the last block from the scanner so look for Ack response in last 8 bytes */ Last8 = buf + bytecount - 8; - /* only compare 4 bytes because we sometimes get escSS02.. or escSS00.. + /* only compare 4 bytes because we sometimes get escSS02.. or escSS00.. is 4 the right number ? */ if (cmparray(Last8,KodakEsp_Ack,4) == 0) { DBG(min(10,DBG_READ), "%s: found KodakEsp_Ack at %lu bytes of %lu\n", __func__, (unsigned long) bytecount, (unsigned long) *len); @@ -1404,12 +1404,12 @@ But it seems that the scanner takes care of that, and gives you the ack as a sep if (status == SANE_STATUS_GOOD) if (s->bytes_unread <= 0) - DBG(min(2,DBG_READ), "%s: Page fully read %d blocks, %ld bytes unread\n", __func__, s->counter, (long) s->bytes_unread); + DBG(min(2,DBG_READ), "%s: Page fully read %d blocks, %ld bytes unread\n", __func__, s->counter, (long) s->bytes_unread); else DBG(min(20,DBG_READ), "%s: Image data successfully read %ld bytes, %ld bytes unread\n", __func__, (long) bytecount, (long) s->bytes_unread); else if (s->ack) /* was (status == SANE_STATUS_EOF) */ DBG(min(2,DBG_READ), "%s: scanner data read ended %d blocks %ld bytes, %ld bytes unread\n", __func__, s->counter, (long) bytecount, (long) s->bytes_unread); - else + else DBG(min(1,DBG_READ), "%s: Image data read stopped with %s after %d blocks %ld bytes, %ld bytes unread\n", __func__, sane_strstatus(status), s->counter, (long) bytecount, (long) s->bytes_unread); return status; @@ -1549,7 +1549,7 @@ k_setup_block_mode (KodakAio_Scanner *s) return SANE_STATUS_GOOD; } -/* Call the commands to set scanning parameters +/* Call the commands to set scanning parameters In the Kodak Aio the parameters are: (x1b,"S","F",0,0,0,0,0) (x1b,"S","S",1,0,0,0,0) @@ -1615,7 +1615,7 @@ k_set_scanning_parameters(KodakAio_Scanner * s) /* TODO: Any way to set PREVIEW??? */ /* Remaining bytes unused */ - status = cmd_set_scanning_parameters(s, dpi, + status = cmd_set_scanning_parameters(s, dpi, s->left * dpi / optres, s->top * dpi / optres, /* top/left start (dpi units)*/ s->params.pixels_per_line, s->params.lines, /* extent was s->width, s->height*/ source); /* source */ @@ -1696,7 +1696,7 @@ k_scan_finish(KodakAio_Scanner * s) static void k_copy_image_data(KodakAio_Scanner * s, SANE_Byte * data, SANE_Int max_length, SANE_Int * length) -/* copies the read data from s->line_buffer to the position in data pointer to by s->ptr +/* copies the read data from s->line_buffer to the position in data pointer to by s->ptr uncompressed data is RRRR...GGGG...BBBB per line */ { SANE_Int bytes_available; @@ -1724,7 +1724,7 @@ uncompressed data is RRRR...GGGG...BBBB per line */ /* We have filled as much as possible of the current line * with data from the scanner. If we have a complete line, - * copy it over. + * copy it over. line points to the current byte in the input s->line_buffer data points to the output buffer*/ if ((s->bytes_read_in_line >= s->scan_bytes_per_line) && @@ -1753,8 +1753,8 @@ uncompressed data is RRRR...GGGG...BBBB per line */ *data &= ~mask; /* white clear the bit in mask */ else *data |= mask; /* black set the bit in mask */ - - if (offset == 7 || i == s->params.pixels_per_line-1) + + if (offset == 7 || i == s->params.pixels_per_line-1) data++; /* move on a byte if the byte is full or the line is complete */ } @@ -1768,7 +1768,7 @@ uncompressed data is RRRR...GGGG...BBBB per line */ } /*debug file The same for color or grey because the scan is colour */ if (RawScan != NULL) { - for (i=0; i< s->scan_bytes_per_line; ++i) fputc(s->line_buffer[i],RawScan); + for (i=0; i< s->scan_bytes_per_line; ++i) fputc(s->line_buffer[i],RawScan); } max_length -= s->params.bytes_per_line; s->bytes_read_in_line -= s->scan_bytes_per_line; @@ -1840,7 +1840,7 @@ k_init_parametersta(KodakAio_Scanner * s) s->params.last_frame = SANE_TRUE; s->params.bytes_per_line = 3 * ceil (s->params.depth * s->params.pixels_per_line / 8.0); -/* kodak only scans in color and conversion to grey or lineart is done in the driver +/* kodak only scans in color and conversion to grey or lineart is done in the driver s->params.format = SANE_FRAME_RGB; */ DBG(20, "%s: s->val[OPT_MODE].w = %d (color is %d)\n", __func__,s->val[OPT_MODE].w, MODE_COLOR); if (s->val[OPT_MODE].w == MODE_COLOR) s->params.format = SANE_FRAME_RGB; @@ -1870,7 +1870,7 @@ k_read(struct KodakAio_Scanner *s) { unsigned char rx[8]; -/* monitors progress of blocks and calls cmd_read_data to get each block +/* monitors progress of blocks and calls cmd_read_data to get each block you don't know how many blocks there will be in advance because their size may be determined by the scanner*/ SANE_Status status = SANE_STATUS_GOOD; size_t buf_len = 0; @@ -1907,7 +1907,7 @@ you don't know how many blocks there will be in advance because their size may b if (status == SANE_STATUS_EOF) { /* page ended prematurely. */ } - } + } else { /* s->bytes_unread <=0 This is the end of a page */ s->eof = SANE_TRUE; DBG(min(10,DBG_READ), "%s: set EOF after %d blocks\n=============\n", __func__, s->counter); @@ -1932,7 +1932,7 @@ you don't know how many blocks there will be in advance because their size may b } /* - * SANE API implementation (high-level functions) + * SANE API implementation (high-level functions) */ #if WITH_AVAHI @@ -1951,12 +1951,12 @@ get_device_from_identification (const char *ident, const char *vid, const char * return NULL; } for (n = 0; n < NELEMS (kodakaio_cap); n++) { - + if (strcmp (kodakaio_cap[n].model, ident)==0) { DBG(20, "matched <%s> & <%s>\n", kodakaio_cap[n].model, ident); return &kodakaio_cap[n]; } - else + else if (kodakaio_cap[n].id == pidnum && 0x040A == vidnum) { DBG(20, "matched <%s> & <%s:%s>\n", kodakaio_cap[n].model, vid, pid); return &kodakaio_cap[n]; @@ -2124,7 +2124,7 @@ detect_usb(struct KodakAio_Scanner *s) * about the device */ while (i != numIds && !is_valid) { /* if (product == kodakaio_usb_product_ids[i]) */ - if (product == kodakaio_cap[i].id) + if (product == kodakaio_cap[i].id) is_valid = SANE_TRUE; i++; } @@ -2259,20 +2259,20 @@ device_detect(const char *name, int type, SANE_Status *status) #if WITH_AVAHI /* ProcessAvahiDevice is called to process each discovered device in turn */ -void +void ProcessAvahiDevice(const char *device_id, const char *vid, const char *pid, const char *ip_addr) { struct KodakaioCap *cap; DBG(min(10,DBG_AUTO),"device_id = <%s> vid:pid = <%s:%s>\n", device_id,vid,pid); -/* check if it is a model likely to be supported: "KODAK ESP" or "KODAK HERO" +/* check if it is a model likely to be supported: "KODAK ESP" or "KODAK HERO" DBG(min(10,DBG_AUTO),"look up model <%s>\n", device_model); */ cap = get_device_from_identification("", vid, pid); if (cap == NULL) { return; - } + } DBG(min(10,DBG_AUTO), "%s: Found autodiscovered device: %s (type 0x%x)\n", __func__, cap->model, cap->id); attach_one_net (ip_addr, cap->id); @@ -2337,12 +2337,12 @@ static void resolve_callback( else DBG(min(10,DBG_AUTO), "didn't call ProcessAvahiDevice\n"); if(vid_pair_list != NULL) { - avahi_free(vidkey); + avahi_free(vidkey); avahi_free(vidvalue); DBG(min(15,DBG_AUTO), "vidkey and vidvalue freed\n"); } if(pid_pair_list != NULL) { - avahi_free(pidkey); + avahi_free(pidkey); avahi_free(pidvalue); DBG(min(15,DBG_AUTO), "pidkey and pidvalue freed\n"); } @@ -2413,7 +2413,7 @@ static void client_callback(AvahiClient *c, AvahiClientState state, void * userd static int kodak_network_discovery(const char*host) -/* If host = NULL do autodiscovery. If host != NULL try to verify the model +/* If host = NULL do autodiscovery. If host != NULL try to verify the model First version only does autodiscovery */ { AvahiSimplePoll *simple_poll; @@ -2586,7 +2586,7 @@ attach_one_config(SANEI_Config __sane_unused__ *config, const char *line) /* Timeout for all other read requests */ DBG(50, "%s: Request timeout set to %d\n", __func__, timeout); K_Request_Timeout = timeout; - + } else { /* TODO: Warning about unparsable line! */ } @@ -2790,7 +2790,7 @@ init_options(KodakAio_Scanner *s) s->opt[OPT_BIT_DEPTH].constraint.word_list = s->hw->cap->depth_list; s->opt[OPT_BIT_DEPTH].cap |= SANE_CAP_INACTIVE; s->val[OPT_BIT_DEPTH].w = s->hw->cap->depth_list[1]; /* the first "real" element is the default */ - + DBG(20, "%s: depth list has depth_list[0] = %d entries\n", __func__, s->hw->cap->depth_list[0]); if (s->hw->cap->depth_list[0] == 1) { /* only one element in the list -> hide the option */ s->opt[OPT_BIT_DEPTH].cap |= SANE_CAP_INACTIVE; @@ -2814,7 +2814,7 @@ init_options(KodakAio_Scanner *s) s->val[OPT_RESOLUTION].w = s->hw->cap->dpi_range.min; - /* trial option for debugging + /* trial option for debugging s->opt[OPT_TRIALOPT].name = "trialoption"; s->opt[OPT_TRIALOPT].title = "trialoption"; s->opt[OPT_TRIALOPT].desc = "trialoption"; @@ -2834,7 +2834,7 @@ init_options(KodakAio_Scanner *s) for(i=0;source_list[i]!=NULL;++i) DBG(18, "source_list: %s\n",source_list[i]); - + /* source */ s->opt[OPT_SOURCE].name = SANE_NAME_SCAN_SOURCE; s->opt[OPT_SOURCE].title = SANE_TITLE_SCAN_SOURCE; @@ -2850,7 +2850,7 @@ init_options(KodakAio_Scanner *s) s->opt[OPT_SOURCE].cap |= SANE_CAP_INACTIVE; } -/* Are there any ESP scanners that are duplex? */ +/* Are there any ESP scanners that are duplex? */ s->opt[OPT_ADF_MODE].name = "adf-mode"; s->opt[OPT_ADF_MODE].title = SANE_I18N("ADF Mode"); s->opt[OPT_ADF_MODE].desc = @@ -2991,7 +2991,7 @@ sane_open(SANE_String_Const name, SANE_Handle *handle) /* s is always valid here */ DBG(10, "handle obtained\n"); - status = k_discover_capabilities(s); /* added 27/12/11 to fix source list problem + status = k_discover_capabilities(s); /* added 27/12/11 to fix source list problem maybe we should only be rebuilding the source list here? */ if (status != SANE_STATUS_GOOD) return status; @@ -3000,7 +3000,7 @@ maybe we should only be rebuilding the source list here? */ *handle = (SANE_Handle) s; -/* moving the open scanner section below to sane_start 27/12/14 +/* moving the open scanner section below to sane_start 27/12/14 status = open_scanner(s); if (status != SANE_STATUS_GOOD) { free(s); @@ -3400,8 +3400,8 @@ sane_start(SANE_Handle handle) /* set scanning parameters; also query the current image * parameters from the sanner and save - * them to s->params -Only set scanning params the first time, or after a cancel + * them to s->params +Only set scanning params the first time, or after a cancel try change 22/2/12 take lock scanner out of k_set_scanning_parameters */ /* moved open_scanner here 27/12/14 from sane_open */ diff --git a/backend/kodakaio.conf.in b/backend/kodakaio.conf.in index 2ad3ed4..0241408 100644 --- a/backend/kodakaio.conf.in +++ b/backend/kodakaio.conf.in @@ -9,7 +9,7 @@ # snmp-timeout controls auto-detection timeout in ms (1500=1.5s). snmp-timeout 2000 -# scan-data-timeout controls the timeout for scan data +# scan-data-timeout controls the timeout for scan data # (scans may take several seconds to initialize, so we need to wait longer) scan-data-timeout 10000 @@ -77,4 +77,3 @@ usb # 0x4062, /* kodak Office Hero 6.1 */ # 0x4063, /* kodak Hero 7.1 */ # 0x4067, /* kodak Hero 9.1 */ - diff --git a/backend/kvs1025_low.c b/backend/kvs1025_low.c index d834f61..98cf3be 100644 --- a/backend/kvs1025_low.c +++ b/backend/kvs1025_low.c @@ -988,7 +988,7 @@ buffer_deskew(PKV_DEV s, int side) &s->params[side_index],s->img_buffers[side_index], resolution,resolution, &s->deskew_vals[0],&s->deskew_vals[1],&s->deskew_slope); - + if(s->deskew_stat){ DBG (5, "buffer_despeck: bad findSkew, bailing\n"); goto cleanup; @@ -997,7 +997,7 @@ buffer_deskew(PKV_DEV s, int side) /* backside images can use a 'flipped' version of frontside data */ else{ s->deskew_slope *= -1; - s->deskew_vals[0] + s->deskew_vals[0] = s->params[side_index].pixels_per_line - s->deskew_vals[0]; } @@ -1039,7 +1039,7 @@ buffer_crop(PKV_DEV s, int side) DBG (5, "buffer_crop: bad edges, bailing\n"); goto cleanup; } - + DBG (15, "buffer_crop: t:%d b:%d l:%d r:%d\n", s->crop_vals[0],s->crop_vals[1],s->crop_vals[2],s->crop_vals[3]); @@ -1066,9 +1066,9 @@ buffer_crop(PKV_DEV s, int side) } /* update image size counter to new, smaller size */ - s->img_size[side_index] + s->img_size[side_index] = s->params[side_index].lines * s->params[side_index].bytes_per_line; - + cleanup: DBG (10, "buffer_crop: finish\n"); return ret; @@ -1143,7 +1143,7 @@ buffer_rotate(PKV_DEV s, int side) ret = sanei_magic_findTurn( &s->params[side_index],s->img_buffers[side_index], resolution,resolution,&angle); - + if(ret){ DBG (5, "buffer_rotate: error %d\n",ret); ret = SANE_STATUS_GOOD; @@ -1161,7 +1161,7 @@ buffer_rotate(PKV_DEV s, int side) ret = sanei_magic_turn( &s->params[side_index],s->img_buffers[side_index], angle); - + if(ret){ DBG (5, "buffer_rotate: error %d\n",ret); ret = SANE_STATUS_GOOD; @@ -1169,9 +1169,9 @@ buffer_rotate(PKV_DEV s, int side) } /* update image size counter to new, smaller size */ - s->img_size[side_index] + s->img_size[side_index] = s->params[side_index].lines * s->params[side_index].bytes_per_line; - + cleanup: DBG (10, "buffer_rotate: finished\n"); return ret; diff --git a/backend/kvs1025_opt.c b/backend/kvs1025_opt.c index b7581f9..71fbf89 100644 --- a/backend/kvs1025_opt.c +++ b/backend/kvs1025_opt.c @@ -141,7 +141,6 @@ static const KV_PAPER_SIZE go_paper_sizes[] = { }; static const int default_paper_size_idx = 3; /* A4 */ -static const int go_paper_max_width = 216; /* US letter */ /* Lists of supported halftone. They are only valid with * for the Black&White mode. */ diff --git a/backend/kvs1025_usb.c b/backend/kvs1025_usb.c index 90ce4d0..d7a4dde 100644 --- a/backend/kvs1025_usb.c +++ b/backend/kvs1025_usb.c @@ -303,7 +303,7 @@ kv_usb_escape (PKV_DEV dev, size_t len = 16; ret = sanei_usb_read_bulk (dev->usb_fd, (SANE_Byte *) cmd_buff, &len); - + if (ret || len != 16) { DBG (DBG_error, "usb_bulk_read: Error reading response." diff --git a/backend/kvs20xx_opt.c b/backend/kvs20xx_opt.c index 94c4133..fc527f3 100644 --- a/backend/kvs20xx_opt.c +++ b/backend/kvs20xx_opt.c @@ -207,7 +207,7 @@ kvs20xx_init_options (struct scanner *s) o->unit = SANE_UNIT_NONE; s->val[DUPLEX].w = SANE_FALSE; - /*FIXME + /*FIXME if (!s->support_info.support_duplex) o->cap |= SANE_CAP_INACTIVE; */ diff --git a/backend/kvs40xx_opt.c b/backend/kvs40xx_opt.c index bd9d85e..2bf9a5c 100644 --- a/backend/kvs40xx_opt.c +++ b/backend/kvs40xx_opt.c @@ -356,7 +356,7 @@ kvs40xx_init_options (struct scanner *s) o->unit = SANE_UNIT_NONE; s->val[DUPLEX].w = SANE_FALSE; - /*FIXME + /*FIXME if (!s->support_info.support_duplex) o->cap |= SANE_CAP_INACTIVE; */ diff --git a/backend/leo.c b/backend/leo.c index b44a343..e0200de 100644 --- a/backend/leo.c +++ b/backend/leo.c @@ -1,44 +1,44 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2002-2003 Frank Zago (sane at zago dot net) - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ /* @@ -945,7 +945,7 @@ leo_init_options (Leo_Scanner * dev) (SANE_String_Const *) scan_mode_list[0], NULL); } -/* +/* * Wait until the scanner is ready. */ static SANE_Status @@ -1000,7 +1000,7 @@ leo_fill_image (Leo_Scanner * dev) while (dev->real_bytes_left) { - /* + /* * Try to read the maximum number of bytes. */ size = 0; @@ -1027,7 +1027,7 @@ leo_fill_image (Leo_Scanner * dev) if (size == 0) { - /* Probably reached the end of the buffer. + /* Probably reached the end of the buffer. * Check, just in case. */ assert (dev->image_end != 0); return (SANE_STATUS_GOOD); @@ -1093,7 +1093,7 @@ leo_fill_image (Leo_Scanner * dev) return (SANE_STATUS_GOOD); /* unreachable */ } -/* Copy from the raw buffer to the buffer given by the backend. +/* Copy from the raw buffer to the buffer given by the backend. * * len in input is the maximum length available in buf, and, in * output, is the length written into buf. diff --git a/backend/leo.conf.in b/backend/leo.conf.in index ecd918c..8aeb9bf 100644 --- a/backend/leo.conf.in +++ b/backend/leo.conf.in @@ -5,4 +5,3 @@ scsi ACROSS * Scanner * * * 0 scsi "LEO" "LEOScan-S3" /dev/scanner - diff --git a/backend/leo.h b/backend/leo.h index 73bb7b1..d9595bf 100644 --- a/backend/leo.h +++ b/backend/leo.h @@ -38,10 +38,10 @@ 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. + If you do not wish that, delete this exception notice. */ -/* +/* $Id$ */ @@ -241,8 +241,8 @@ enum Leo_Option /*--------------------------------------------------------------------------*/ -/* - * Scanner supported by this backend. +/* + * Scanner supported by this backend. */ struct scanners_supported { @@ -338,7 +338,7 @@ Leo_Scanner; /*--------------------------------------------------------------------------*/ -/* Debug levels. +/* Debug levels. * Should be common to all backends. */ #define DBG_error0 0 diff --git a/backend/lexmark.c b/backend/lexmark.c index e0cd21f..36c33f3 100644 --- a/backend/lexmark.c +++ b/backend/lexmark.c @@ -2,9 +2,9 @@ (C) 2003-2004 Lexmark International, Inc. (Original Source code) (C) 2005 Fred Odendaal - (C) 2006-2013 Stphane Voltz + (C) 2006-2013 Stéphane Voltz (C) 2010 "Torsten Houwaart" X74 support - + This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -625,7 +625,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) * Open the backend, ie return the struct handle of a detected scanner * The struct returned is choosne if it matches the name given, which is * usefull when several scanners handled by the backend have been detected. - * However, special case empty string "" and "lexmark" pick the first + * However, special case empty string "" and "lexmark" pick the first * available handle. */ SANE_Status @@ -1144,7 +1144,7 @@ sane_start (SANE_Handle handle) lexmark_device->eof = SANE_FALSE; - /* Need this cancel_ctr to determine how many times sane_cancel is called + /* Need this cancel_ctr to determine how many times sane_cancel is called since it is called more than once. */ lexmark_device->cancel_ctr = 0; @@ -1180,15 +1180,15 @@ sane_start (SANE_Handle handle) return status; } - /* At this point we're somewhere in the dot. We need to read a number of - lines greater than the diameter of the dot and determine how many lines - past the dot we've gone. We then use this information to see how far the + /* At this point we're somewhere in the dot. We need to read a number of + lines greater than the diameter of the dot and determine how many lines + past the dot we've gone. We then use this information to see how far the scan head must move before starting the scan. */ /* offset is in 600 dpi unit */ offset = sanei_lexmark_low_find_start_line (lexmark_device); DBG (7, "start line offset=%d\n", offset); - /* Set the shadow registers for scan with the options (resolution, mode, + /* Set the shadow registers for scan with the options (resolution, mode, size) set in the front end. Pass the offset so we can get the vert. start. */ sanei_lexmark_low_set_scan_regs (lexmark_device, diff --git a/backend/lexmark.h b/backend/lexmark.h index 0790551..9b7de98 100644 --- a/backend/lexmark.h +++ b/backend/lexmark.h @@ -2,7 +2,7 @@ lexmark.h - SANE library for Lexmark scanners. Copyright (C) 2003-2004 Lexmark International, Inc. (original source) Copyright (C) 2005 Fred Odendaal - Copyright (C) 2006-2010 Stphane Voltz + Copyright (C) 2006-2010 Stéphane Voltz Copyright (C) 2010 "Torsten Houwaart" X74 support This file is part of the SANE package. diff --git a/backend/lexmark_low.c b/backend/lexmark_low.c index fe20e89..db1dab5 100644 --- a/backend/lexmark_low.c +++ b/backend/lexmark_low.c @@ -1,9 +1,9 @@ /* lexmark-low.c: scanner-interface file for low Lexmark scanners. (C) 2005 Fred Odendaal - (C) 2006-2013 Stphane Voltz + (C) 2006-2013 Stéphane Voltz (C) 2010 "Torsten Houwaart" X74 support - + This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -180,7 +180,7 @@ rts88xx_set_scan_frequency (SANE_Byte * regs, int frequency) } /* - * read one register at given index + * read one register at given index */ static SANE_Status rts88xx_read_reg (SANE_Int devnum, SANE_Int index, SANE_Byte * reg) @@ -218,7 +218,7 @@ rts88xx_read_reg (SANE_Int devnum, SANE_Int index, SANE_Byte * reg) } /* - * write one register at given index + * write one register at given index */ static SANE_Status rts88xx_write_reg (SANE_Int devnum, SANE_Int index, SANE_Byte * reg) @@ -412,7 +412,7 @@ lexmark_low_wake_up (Lexmark_Device * dev) /** - * + * */ #ifdef DEEP_DEBUG static void @@ -1254,7 +1254,7 @@ sanei_lexmark_low_close_device (Lexmark_Device * dev) } -/* This function writes the contents of the given registers to the +/* This function writes the contents of the given registers to the scanner. */ SANE_Status low_write_all_regs (SANE_Int devnum, SANE_Byte * regs) @@ -1306,31 +1306,31 @@ SANE_Bool low_is_home_line (Lexmark_Device * dev, unsigned char *buffer) { /* - This function assumes the buffer has a size of 2500 bytes.It is + This function assumes the buffer has a size of 2500 bytes.It is destructive to the buffer. Here is what it does: - Go through the buffer finding low and high values, which are computed by - comparing to the average: + Go through the buffer finding low and high values, which are computed by + comparing to the average: average = (lowest value + highest value)/2 - High bytes are changed to 0xFF (white), lower or equal bytes are changed - to 0x00 (black),so that the buffer only contains white (0xFF) or black + High bytes are changed to 0xFF (white), lower or equal bytes are changed + to 0x00 (black),so that the buffer only contains white (0xFF) or black (0x00) values. Next, we go through the buffer. We use a tolerance of 5 bytes on each end of the buffer and check a region from bytes 5 to 2495. We start assuming we are in a white region and look for the start of a black region. We save - this index as the transition from white to black. We also save where we - change from black back to white. We continue checking for transitions - until the end of the check region. If we don't have exactly two + this index as the transition from white to black. We also save where we + change from black back to white. We continue checking for transitions + until the end of the check region. If we don't have exactly two transitions when we reach the end we return SANE_FALSE. The final check compares the transition indices to the nominal values plus or minus the tolerence. For the first transition (white to black index) the value must lie in the range 1235-30 (1205) to 1235+30 (1265). For the second transition (black to white) the value must lie in the range - 1258-30 (1228) to 1258+30 (1288). If the indices are out of range we + 1258-30 (1228) to 1258+30 (1288). If the indices are out of range we return SANE_FALSE. Otherwise, we return SANE_TRUE. */ @@ -1467,9 +1467,9 @@ sanei_lexmark_low_move_fwd (SANE_Int distance, Lexmark_Device * dev, SANE_Byte * regs) { /* - This function moves the scan head forward with the highest vertical + This function moves the scan head forward with the highest vertical resolution of 1200dpi. The distance moved is given by the distance - parameter. + parameter. As an example, given a distance parameter of 600, the scan head will move 600/1200", or 1/2" forward. @@ -1950,7 +1950,7 @@ sanei_lexmark_low_search_home_bwd (Lexmark_Device * dev) /* This function must only be called if the scan head is past the home dot. It could damage the scanner if not. - This function tells the scanner to do a grayscale scan backwards with a + This function tells the scanner to do a grayscale scan backwards with a 300dpi resolution. It reads 2500 bytes of data between horizontal co-ordinates 0x6a and 0x13f2. @@ -1959,8 +1959,8 @@ sanei_lexmark_low_search_home_bwd (Lexmark_Device * dev) before it bangs against the end. A line limit is set so that a maximum of 0x0F3C (13"*300dpi) lines can be read. - To read the scan data we create a buffer space large enough to hold 10 - lines of data. For each read we poll twice, ignoring the first poll. This + To read the scan data we create a buffer space large enough to hold 10 + lines of data. For each read we poll twice, ignoring the first poll. This is required for timing. We repeat the double poll until there is data available. The number of lines (or number of buffers in our buffer space) is calculated from the size of the data available from the scanner. The @@ -2462,10 +2462,10 @@ sanei_lexmark_low_find_start_line (Lexmark_Device * dev) This function scans forward 59 lines, reading 88 bytes per line from the middle of the horizontal line: pixel 0xa84 to pixel 0x9d4. It scans with the following parameters: - dir=fwd + dir=fwd mode=grayscale h.res=300 dpi - v.res=600 dpi + v.res=600 dpi hor. pixels = (0xa84 - 0x9d4)/2 = 0x58 = 88 vert. pixels = 0x3e - 0x03 = 0x3b = 59 data = 88x59=5192=0x1448 @@ -2479,18 +2479,18 @@ sanei_lexmark_low_find_start_line (Lexmark_Device * dev) Byte swap the order of the bytes in the buffer. - Go through the buffer finding low and high values, which are computed by - comparing to the weighted average: + Go through the buffer finding low and high values, which are computed by + comparing to the weighted average: weighted_average = (lowest value + (highest value - lowest value)/4) - Low bytes are changed to 0xFF (white), higher of equal bytes are changed - to 0x00 (black),so that the buffer only contains white (0xFF) or black + Low bytes are changed to 0xFF (white), higher of equal bytes are changed + to 0x00 (black),so that the buffer only contains white (0xFF) or black (0x00) values. Next, we go through the buffer a line (88 bytes) at a time for 59 lines to read the entire buffer. For each byte in a line we check if the byte is black. If it is we increment the black byte counter. - After each line we check the black byte counter. If it is greater than 0 + After each line we check the black byte counter. If it is greater than 0 we increment the black line count and set the white line count to 0. If there were no black bytes in the line we set the black line count to 0 and increment the white line count. @@ -2852,7 +2852,7 @@ sanei_lexmark_low_find_start_line (Lexmark_Device * dev) } /* end for buffer */ free (buffer); - /* Stop the scanner. + /* Stop the scanner. This is needed to get the right distance to the scanning area */ if (dev->model.sensor_type == X74_SENSOR) low_stop_mvmt (dev->devnum); @@ -3879,7 +3879,7 @@ sanei_lexmark_low_set_scan_regs (Lexmark_Device * dev, SANE_Int resolution, /* set motor resolution divisor */ dev->shadow_regs[0x39] = 0x03; - /* data compression + /* data compression dev->shadow_regs[0x40] = 0x90; dev->shadow_regs[0x50] = 0x20; */ /* no data compression */ @@ -4296,7 +4296,7 @@ sanei_lexmark_low_set_scan_regs (Lexmark_Device * dev, SANE_Int resolution, dev->shadow_regs[0x36] = 0x0a; dev->shadow_regs[0x38] = 0x04; - /* data compression + /* data compression dev->shadow_regs[0x40] = 0x90; dev->shadow_regs[0x50] = 0x20; */ @@ -4499,8 +4499,8 @@ sanei_lexmark_low_set_scan_regs (Lexmark_Device * dev, SANE_Int resolution, dev->shadow_regs[0x37] = 0x07; dev->shadow_regs[0x38] = 0x0b; - /* data compression - dev->shadow_regs[0x40] = 0x90; + /* data compression + dev->shadow_regs[0x40] = 0x90; dev->shadow_regs[0x50] = 0x20; */ /* no data compression */ dev->shadow_regs[0x40] = 0x80; @@ -5471,7 +5471,7 @@ read_buffer_is_empty (Read_Buffer * read_buffer) return read_buffer->empty; } -/* +/* * average a width*height rgb/monochrome area * return values in given pointers */ @@ -5882,7 +5882,7 @@ sanei_lexmark_low_shading_calibration (Lexmark_Device * dev) /* computes coefficients */ /* there are 8 lines usable for shading calibration at 150 dpi, between - bottom of "home position" dot and the start of the scanner's window + bottom of "home position" dot and the start of the scanner's window assembly, we only use 7 of them */ if (yoffset + (8 * 4) / regs[0x7a] < lines) lines = yoffset + (8 * 4) / regs[0x7a]; @@ -6003,7 +6003,7 @@ sanei_lexmark_low_calibration (Lexmark_Device * dev) return status; } - /* put the calibrated or manual settings before shading calibration + /* put the calibrated or manual settings before shading calibration which must be done with final setting values */ if (rts88xx_is_color (dev->shadow_regs)) { @@ -6049,7 +6049,7 @@ sanei_lexmark_low_assign_sensor (Lexmark_Device * dev) return SANE_STATUS_GOOD; } -/* assign model description, based on USB id, and register content when +/* assign model description, based on USB id, and register content when * available */ SANE_Status sanei_lexmark_low_assign_model (Lexmark_Device * dev, diff --git a/backend/lexmark_models.c b/backend/lexmark_models.c index 7819a8d..4ca675d 100644 --- a/backend/lexmark_models.c +++ b/backend/lexmark_models.c @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2006-2010 Stphane Voltz + Copyright (C) 2006-2010 Stéphane Voltz Copyright (C) 2010 "Torsten Houwaart" X74 support This file is part of the SANE package. diff --git a/backend/lexmark_sensors.c b/backend/lexmark_sensors.c index 9a34354..4b63d7d 100644 --- a/backend/lexmark_sensors.c +++ b/backend/lexmark_sensors.c @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2006-2010 Stphane Voltz + Copyright (C) 2006-2010 Stéphane Voltz Copyright (C) 2010 "Torsten Houwaart" X74 support This file is part of the SANE package. diff --git a/backend/magicolor.c b/backend/magicolor.c index d3af142..3b27a85 100644 --- a/backend/magicolor.c +++ b/backend/magicolor.c @@ -1288,9 +1288,10 @@ mc_scan_finish(Magicolor_Scanner * s) status = cmd_finish_scan (s); status = cmd_request_error(s); - if (status != SANE_STATUS_GOOD) + if (status != SANE_STATUS_GOOD) { cmd_cancel_scan (s); return status; + } /* XXX required? */ /* TODO: cmd_reset(s);*/ @@ -2050,7 +2051,7 @@ mc_network_discovery(const char*host) fd_set fdset; DBG(1, " loop=%d\n", i++); timeout.tv_sec = 0; - /* Use a 125ms timeout for select. If we get a response, + /* Use a 125ms timeout for select. If we get a response, * the loop will be entered earlier again, anyway */ timeout.tv_usec = 125000; FD_ZERO (&fdset); @@ -2193,7 +2194,7 @@ attach_one_config(SANEI_Config __sane_unused__ *config, const char *line) /* Timeout for all other read requests */ DBG(50, "%s: Request timeout set to %d\n", __func__, timeout); MC_Request_Timeout = timeout; - + } else { /* TODO: Warning about unparsable line! */ } @@ -2414,7 +2415,7 @@ init_options(Magicolor_Scanner *s) s->opt[OPT_SOURCE].constraint_type = SANE_CONSTRAINT_STRING_LIST; s->opt[OPT_SOURCE].constraint.string_list = source_list; s->val[OPT_SOURCE].w = 0; /* always use Flatbed as default */ - + s->opt[OPT_ADF_MODE].name = "adf-mode"; s->opt[OPT_ADF_MODE].title = SANE_I18N("ADF Mode"); s->opt[OPT_ADF_MODE].desc = diff --git a/backend/magicolor.conf.in b/backend/magicolor.conf.in index 9c25994..a7b7a4f 100644 --- a/backend/magicolor.conf.in +++ b/backend/magicolor.conf.in @@ -39,4 +39,3 @@ usb ### e.g.: # usb 0x132b 0x2098 - diff --git a/backend/matsushita.c b/backend/matsushita.c index e70c60a..62bfb06 100644 --- a/backend/matsushita.c +++ b/backend/matsushita.c @@ -2,49 +2,49 @@ Copyright (C) 2002, 2004 Frank Zago (sane at zago dot net) Copyright (C) 2002 Other SANE contributors - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ /* $Id$ - Matsushita/Panasonic KV-SS25, KV-SS50, KV-SS55, KV-SS50EX, + Matsushita/Panasonic KV-SS25, KV-SS50, KV-SS55, KV-SS50EX, KV-SS55EX, KV-SS850, KV-SS855 SCSI scanners. This backend may support more Panasonic scanners. @@ -132,7 +132,7 @@ static const SANE_Word resolutions_rounds_400[8] = { /*--------------------------------------------------------------------------*/ -/* Lists of supported halftone. They are only valid with +/* Lists of supported halftone. They are only valid with * for the Black&White mode. */ static SANE_String_Const halftone_pattern_list[] = { SANE_I18N ("None"), @@ -265,7 +265,7 @@ static const int feeder_mode_val[] = { /*--------------------------------------------------------------------------*/ -/* Paper size in millimeters. +/* Paper size in millimeters. * Values from http://www.twics.com/~eds/paper/. */ static const struct paper_sizes paper_sizes[] = { {"2A0", 1189, 1682}, @@ -1317,7 +1317,7 @@ matsushita_init_options (Matsushita_Scanner * dev) /* Wait until the scanner is ready. * * The only reason I know the scanner is not ready is because it is - * moving the CCD. + * moving the CCD. */ static SANE_Status matsushita_wait_scanner (Matsushita_Scanner * dev) @@ -1524,17 +1524,17 @@ matsushita_fill_image (Matsushita_Scanner * dev) while (dev->real_bytes_left) { - /* + /* * Try to read the maximum number of bytes. * - * The windows driver reads no more than 0x8000 byte. + * The windows driver reads no more than 0x8000 byte. * * This backend operates differently than the windows * driver. The windows TWAIN driver always read 2 more bytes * at the end, so it gets a CHECK CONDITION with a short read * sense. Since the linux scsi layer seem to be buggy * regarding the resid, always read exactly the number of - * remaining bytes. + * remaining bytes. */ size = dev->real_bytes_left; @@ -1545,7 +1545,7 @@ matsushita_fill_image (Matsushita_Scanner * dev) if (size == 0) { - /* Probably reached the end of the buffer. + /* Probably reached the end of the buffer. * Check, just in case. */ assert (dev->image_end != 0); return (SANE_STATUS_GOOD); @@ -1620,7 +1620,7 @@ matsushita_fill_image (Matsushita_Scanner * dev) case 4: { - /* Adjust from a depth of 4 bits ([0..15]) to + /* Adjust from a depth of 4 bits ([0..15]) to * a depth of 8 bits ([0..255]) */ unsigned char *src = dev->buffer; @@ -1654,7 +1654,7 @@ matsushita_fill_image (Matsushita_Scanner * dev) return (SANE_STATUS_GOOD); /* unreachable */ } -/* Copy from the raw buffer to the buffer given by the backend. +/* Copy from the raw buffer to the buffer given by the backend. * * len in input is the maximum length available in buf, and, in * output, is the length written into buf. diff --git a/backend/matsushita.conf.in b/backend/matsushita.conf.in index 4d3cf24..98eaa88 100644 --- a/backend/matsushita.conf.in +++ b/backend/matsushita.conf.in @@ -7,7 +7,7 @@ scsi "K.M.E. " "KV-S2025C " scsi "K.M.E. " "KV-S2045C " scsi "K.M.E. " "KV-S2065L " -# These scanners are untested. +# These scanners are untested. # If you have one: # - check that the vendor/product strings are correct # - uncomment the line diff --git a/backend/matsushita.h b/backend/matsushita.h index a1528bf..bff7a04 100644 --- a/backend/matsushita.h +++ b/backend/matsushita.h @@ -37,10 +37,10 @@ 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. + If you do not wish that, delete this exception notice. */ -/* +/* $Id$ */ @@ -228,7 +228,7 @@ SANE_I18N("Automatic separation") /*--------------------------------------------------------------------------*/ -/* Differences between the scanners. +/* Differences between the scanners. * The scsi_* fields are used to lookup the correcte entry. */ struct scanners_supported { @@ -342,7 +342,7 @@ Matsushita_Scanner; /*--------------------------------------------------------------------------*/ -/* Debug levels. +/* Debug levels. * Should be common to all backends. */ #define DBG_error0 0 diff --git a/backend/microtek.c b/backend/microtek.c index ff82df4..05f8003 100644 --- a/backend/microtek.c +++ b/backend/microtek.c @@ -1,7 +1,7 @@ /*************************************************************************** * SANE - Scanner Access Now Easy. - microtek.c + microtek.c This file Copyright 2002 Matthew Marjanovic @@ -151,7 +151,7 @@ static SANE_Range brightness_range = {-100, 100, 1}; /*static SANE_Range exposure_range = {-18, 21, 3};*/ /*static SANE_Range contrast_range = {-42, 49, 7};*/ static SANE_Range u8_range = {0, 255, 1}; -static SANE_Range analog_gamma_range = +static SANE_Range analog_gamma_range = { SANE_FIX(0.1), SANE_FIX(4.0), SANE_FIX(0) }; @@ -235,7 +235,7 @@ ring_alloc (size_t initial_size, size_t bpl, size_t ppl) rb->green_extra = 0; rb->blue_extra = 0; rb->complete_count = 0; - + return rb; } @@ -260,7 +260,7 @@ ring_expand (ring_buffer *rb, size_t amount) DBG(23, "ring_expand: old, new, inc size: %lu, %lu, %lu\n", (u_long)oldsize, (u_long)rb->size, (u_long)amount); DBG(23, "ring_expand: old tr: %lu tg: %lu tb: %lu hc: %lu\n", - (u_long)rb->tail_red, (u_long)rb->tail_green, + (u_long)rb->tail_red, (u_long)rb->tail_green, (u_long)rb->tail_blue, (u_long)rb->head_complete); /* if necessary, move data and fix up them pointers */ /* (will break subtly if ring is filled with G or B bytes, @@ -276,20 +276,20 @@ ring_expand (ring_buffer *rb, size_t amount) oldsize - rb->head_complete); if ((rb->tail_red > rb->head_complete) || ((rb->tail_red == rb->head_complete) && - !(rb->complete_count) && !(rb->red_extra))) + !(rb->complete_count) && !(rb->red_extra))) rb->tail_red += amount; if ((rb->tail_green > rb->head_complete) || ((rb->tail_green == rb->head_complete) && - !(rb->complete_count) && !(rb->green_extra))) + !(rb->complete_count) && !(rb->green_extra))) rb->tail_green += amount; if ((rb->tail_blue > rb->head_complete) || ((rb->tail_blue == rb->head_complete) && - !(rb->complete_count) && !(rb->blue_extra))) + !(rb->complete_count) && !(rb->blue_extra))) rb->tail_blue += amount; rb->head_complete += amount; } DBG(23, "ring_expand: new tr: %lu tg: %lu tb: %lu hc: %lu\n", - (u_long)rb->tail_red, (u_long)rb->tail_green, + (u_long)rb->tail_red, (u_long)rb->tail_green, (u_long)rb->tail_blue, (u_long)rb->head_complete); return SANE_STATUS_GOOD; } @@ -320,13 +320,13 @@ ring_free (ring_buffer *rb) /* typically misinterpreted/munged by the low-level scsi driver) */ /********************************************************************/ static SANE_Status -sense_handler (int scsi_fd, u_char *sense, void *arg) +sense_handler (int scsi_fd, u_char *sense, void *arg) { int *sense_flags = (int *)arg; SANE_Status stat; DBG(10, "SENSE! fd = %d\n", scsi_fd); - DBG(10, "sense = %02x %02x %02x %02x.\n", + DBG(10, "sense = %02x %02x %02x %02x.\n", sense[0], sense[1], sense[2], sense[3]); switch(sense[0]) { case 0x00: @@ -340,7 +340,7 @@ sense_handler (int scsi_fd, u_char *sense, void *arg) DBG(10, "sense: ERR_SCSICMD\n"); stat = SANE_STATUS_IO_ERROR; } - } + } if (sense[1] & 0x02) { DBG(10, "sense: ERR_TOOMANY\n"); stat = SANE_STATUS_IO_ERROR; @@ -394,7 +394,7 @@ wait_ready(Microtek_Scanner *ms) int retry = 0; DBG(23, ".wait_ready %d...\n", ms->sfd); - while ((status = sanei_scsi_cmd(ms->sfd, comm, 6, 0, 0)) + while ((status = sanei_scsi_cmd(ms->sfd, comm, 6, 0, 0)) != SANE_STATUS_GOOD) { DBG(23, "wait_ready failed (%d)\n", retry); if (retry > 5) return SANE_STATUS_IO_ERROR; /* XXXXXXXX */ @@ -403,7 +403,7 @@ wait_ready(Microtek_Scanner *ms) } return SANE_STATUS_GOOD; } - + /********************************************************************/ /* send scan region coordinates */ @@ -432,7 +432,7 @@ scanning_frame(Microtek_Scanner *ms) ms->x1, ms->y1, ms->x2, ms->y2); DBG(23, ".scanning_frame: out- %d,%d %d,%d\n", x1, y1, x2, y2); data = comm + 6; - data[0] = + data[0] = ((ms->unit_type == MS_UNIT_PIXELS) ? 0x08 : 0 ) | ((ms->mode == MS_MODE_HALFTONE) ? 0x01 : 0 ); data[1] = x1 & 0xFF; @@ -444,7 +444,7 @@ scanning_frame(Microtek_Scanner *ms) data[7] = y2 & 0xFF; data[8] = (y2 >> 8) & 0xFF; if (DBG_LEVEL >= 192) { - int i; + int i; #if 0 fprintf(stderr, "SF: "); for (i=0;i<6+0x09;i++) fprintf(stderr, "%2x ", comm[i]); @@ -468,8 +468,8 @@ mode_select(Microtek_Scanner *ms) uint8_t *data, comm[19] = { 0x15, 0, 0, 0, 0, 0 }; DBG(23, ".mode_select %d...\n", ms->sfd); - data = comm + 6; - data[0] = + data = comm + 6; + data[0] = 0x81 | ((ms->unit_type == MS_UNIT_18INCH) ? 0 : 0x08) | ((ms->res_type == MS_RES_5PER) ? 0 : 0x02); @@ -488,8 +488,8 @@ mode_select(Microtek_Scanner *ms) comm[4] = (ms->midtone_support) ? 0x0B : 0x0A; if (DBG_LEVEL >= 192) { - int i; -#if 0 + int i; +#if 0 fprintf(stderr, "MSL: "); for (i=0;i<6+comm[4];i++) fprintf(stderr, "%2x ", comm[i]); fprintf(stderr, "\n"); @@ -518,8 +518,8 @@ mode_select_1(Microtek_Scanner *ms) data[3] = ((ms->allow_calibrate) ? 0 : 0x02); /* | 0x01; */ if (DBG_LEVEL >= 192) { - int i; -#if 0 + int i; +#if 0 fprintf(stderr, "MSL1: "); for (i=0;i<6+0x0A;i++) fprintf(stderr, "%2x ", comm[i]); fprintf(stderr, "\n"); @@ -532,7 +532,7 @@ mode_select_1(Microtek_Scanner *ms) } - + /********************************************************************/ /* record mode_sense results in the mode_sense buffer */ /* (this is to tell if something catastrophic has happened */ @@ -556,7 +556,7 @@ save_mode_sense(Microtek_Scanner *ms) for (i=0; i<10; i++) ms->mode_sense_cache[i] = data[i]; if (DBG_LEVEL >= 192) { - unsigned int i; + unsigned int i; #if 0 fprintf(stderr, "SMS: "); for (i=0;isfd, comm, 6, data, &lenp); *match = 1; - for (i=0; i<10; i++) + for (i=0; i<10; i++) *match = *match && (ms->mode_sense_cache[i] == data[i]); if (DBG_LEVEL >= 192) { - unsigned int i; + unsigned int i; #if 0 fprintf(stderr, "CMS: "); - for (i=0;imode_sense_cache[i]); fprintf(stderr, "\n"); #endif MDBG_INIT("CMS: "); - for (i=0;imode_sense_cache[i]); MDBG_FINISH(192); @@ -611,10 +611,10 @@ compare_mode_sense(Microtek_Scanner *ms, int *match) return status; } - + /********************************************************************/ /* send mode_sense_1, and upset every scsi driver known to mankind */ -/********************************************************************/ +/********************************************************************/ #if 0 static SANE_Status mode_sense_1(Microtek_Scanner *ms) @@ -628,7 +628,7 @@ mode_sense_1(Microtek_Scanner *ms) data[2] = ms->bright_g; data[3] = ms->bright_b; if (DBG_LEVEL >= 192) { - int i; + int i; fprintf(stderr, "MS1: "); for (i=0;i<6+0x1E;i++) fprintf(stderr, "%2x ", comm[i]); fprintf(stderr, "\n"); @@ -639,23 +639,23 @@ mode_sense_1(Microtek_Scanner *ms) -/********************************************************************/ +/********************************************************************/ /* send "accessory" command */ -/********************************************************************/ +/********************************************************************/ static SANE_Status accessory(Microtek_Scanner *ms) { uint8_t comm[6] = { 0x10, 0, 0, 0, 0, 0 }; DBG(23, ".accessory...\n"); - comm[4] = + comm[4] = ((ms->useADF) ? 0x41 : 0x40) | ((ms->prescan) ? 0x18 : 0x10) | ((ms->transparency) ? 0x24 : 0x20) | ((ms->allowbacktrack) ? 0x82 : 0x80); if (DBG_LEVEL >= 192) { - int i; + int i; #if 0 fprintf(stderr, "AC: "); for (i=0;i<6;i++) fprintf(stderr, "%2x ", comm[i]); @@ -670,16 +670,16 @@ accessory(Microtek_Scanner *ms) -/********************************************************************/ +/********************************************************************/ /* start the scanner a-scannin' */ -/********************************************************************/ +/********************************************************************/ static SANE_Status start_scan(Microtek_Scanner *ms) { uint8_t comm[6] = { 0x1B, 0, 0, 0, 0, 0 }; DBG(23, ".start_scan...\n"); - comm[4] = + comm[4] = 0x01 | /* "start" */ ((ms->expandedresolution) ? 0x80 : 0) | ((ms->multibit) ? 0x40 : 0) | @@ -691,7 +691,7 @@ start_scan(Microtek_Scanner *ms) ((ms->filter == MS_FILT_BLUE) ? 0x18 : 0) ; if (DBG_LEVEL >= 192) { - int i; + int i; #if 0 fprintf(stderr, "SS: "); for (i=0;i<6;i++) fprintf(stderr, "%2x ", comm[i]); @@ -706,9 +706,9 @@ start_scan(Microtek_Scanner *ms) -/********************************************************************/ +/********************************************************************/ /* stop the scanner a-scannin' */ -/********************************************************************/ +/********************************************************************/ static SANE_Status stop_scan(Microtek_Scanner *ms) { @@ -716,8 +716,8 @@ stop_scan(Microtek_Scanner *ms) DBG(23, ".stop_scan...\n"); if (DBG_LEVEL >= 192) { - int i; -#if 0 + int i; +#if 0 fprintf(stderr, "SPS:"); for (i=0;i<6;i++) fprintf(stderr, "%2x ", comm[i]); fprintf(stderr, "\n"); @@ -729,11 +729,11 @@ stop_scan(Microtek_Scanner *ms) return sanei_scsi_cmd(ms->sfd, comm, 6, 0, 0); } - -/********************************************************************/ + +/********************************************************************/ /* get scan status */ -/********************************************************************/ +/********************************************************************/ static SANE_Status get_scan_status(Microtek_Scanner *ms, SANE_Int *busy, @@ -758,8 +758,8 @@ get_scan_status(Microtek_Scanner *ms, *busy = data[0]; *bytes_per_line = (data[1]) + (data[2] << 8); *lines = (data[3]) + (data[4] << 8) + (data[5] << 16); - - DBG(20, "get_scan_status(%lu): %d, %d, %d -> #%d\n", + + DBG(20, "get_scan_status(%lu): %d, %d, %d -> #%d\n", (u_long) lenp, *busy, *bytes_per_line, *lines, retry); DBG(20, "> %2x %2x %2x %2x %2x %2x\n", data[0], data[1], data[2], data[3], data[4], data[5]); @@ -770,20 +770,20 @@ get_scan_status(Microtek_Scanner *ms, sleep(M_GSS_WAIT * retry); } } while ((*busy != 0) && (retry < 4)); - + if (*busy == 0) return status; else return SANE_STATUS_IO_ERROR; } -/********************************************************************/ +/********************************************************************/ /* get scanlines from scanner */ -/********************************************************************/ +/********************************************************************/ static SANE_Status read_scan_data(Microtek_Scanner *ms, int lines, - uint8_t *buffer, + uint8_t *buffer, size_t *bufsize) { uint8_t comm[6] = { 0x08, 0, 0, 0, 0, 0 }; @@ -792,15 +792,15 @@ read_scan_data(Microtek_Scanner *ms, comm[2] = (lines >> 16) & 0xFF; comm[3] = (lines >> 8) & 0xFF; comm[4] = (lines) & 0xFF; - + return sanei_scsi_cmd(ms->sfd, comm, 6, buffer, bufsize); } - - -/********************************************************************/ + + +/********************************************************************/ /* download color LUT to scanner (if it takes one) */ -/********************************************************************/ +/********************************************************************/ static SANE_Status download_gamma(Microtek_Scanner *ms) { @@ -824,7 +824,7 @@ download_gamma(Microtek_Scanner *ms) } max_entry = (1 << bit_depth) - 1; - + DBG(23, ".download_gamma: %d entries of %d bytes, max %d\n", ms->gamma_entries, ms->gamma_entry_size, max_entry); commsize = 10 + (ms->gamma_entries * ms->gamma_entry_size); @@ -835,7 +835,7 @@ download_gamma(Microtek_Scanner *ms) return SANE_STATUS_NO_MEM; } data = comm + 10; - + comm[0] = 0x55; comm[1] = 0; comm[2] = 0x27; @@ -873,9 +873,9 @@ download_gamma(Microtek_Scanner *ms) do { SANE_Int *pl_lut; switch (pl) { - case 1: pl_lut = ms->red_lut; break; - case 2: pl_lut = ms->green_lut; break; - case 3: pl_lut = ms->blue_lut; break; + case 1: pl_lut = ms->red_lut; break; + case 2: pl_lut = ms->green_lut; break; + case 3: pl_lut = ms->blue_lut; break; default: DBG(23, ".download_gamma: uh, exceeded pl bound!\n"); free(comm); @@ -906,7 +906,7 @@ download_gamma(Microtek_Scanner *ms) if (ms->val[OPT_GAMMA_BIND].w == SANE_TRUE) { double gamma = SANE_UNFIX(ms->val[OPT_ANALOG_GAMMA].w); for (i=0; igamma_entries; i++) { - int val = (max_entry * + int val = (max_entry * pow((double) i / ((double) ms->gamma_entries - 1.0), 1.0 / gamma)); switch (ms->gamma_entry_size) { @@ -931,7 +931,7 @@ download_gamma(Microtek_Scanner *ms) default: gamma = 1.0; break; /* should never happen */ } for (i=0; igamma_entries; i++) { - int val = (max_entry * + int val = (max_entry * pow((double) i / ((double) ms->gamma_entries - 1.0), 1.0 / gamma)); switch (ms->gamma_entry_size) { @@ -949,15 +949,15 @@ download_gamma(Microtek_Scanner *ms) pl++; } while ((pl < 4) && (status == SANE_STATUS_GOOD)); } - } else { + } else { /***** No custom Gamma *****/ DBG(23, ".download_gamma: by default\n"); for (i=0; igamma_entries; i++) { /* int val = (((double) max_entry * (double) i / ((double) ms->gamma_entries - 1.0)) + 0.5); ROUNDING????*/ - int val = + int val = (double) max_entry * (double) i / - ((double) ms->gamma_entries - 1.0); + ((double) ms->gamma_entries - 1.0); switch (ms->gamma_entry_size) { case 1: data[i] = (uint8_t) val; @@ -975,9 +975,9 @@ download_gamma(Microtek_Scanner *ms) } -/********************************************************************/ +/********************************************************************/ /* magic command to start calibration */ -/********************************************************************/ +/********************************************************************/ static SANE_Status start_calibration(Microtek_Scanner *ms) { @@ -985,7 +985,7 @@ start_calibration(Microtek_Scanner *ms) DBG(23, ".start_calibrate...\n"); if (DBG_LEVEL >= 192) { - int i; + int i; #if 0 fprintf(stderr, "STCal:"); for (i=0;i<8;i++) fprintf(stderr, "%2x ", comm[i]); @@ -995,14 +995,14 @@ start_calibration(Microtek_Scanner *ms) for (i=0;i<8;i++) MDBG_ADD("%2x ", comm[i]); MDBG_FINISH(192); } - return sanei_scsi_cmd(ms->sfd, comm, 8, 0, 0); + return sanei_scsi_cmd(ms->sfd, comm, 8, 0, 0); } - -/********************************************************************/ + +/********************************************************************/ /* magic command to download calibration values */ -/********************************************************************/ +/********************************************************************/ static SANE_Status download_calibration(Microtek_Scanner *ms, uint8_t *comm, uint8_t letter, int linewidth) @@ -1042,7 +1042,7 @@ download_calibration(Microtek_Scanner *ms, uint8_t *comm, /********************************************************************/ /* Initialize the options registry */ /********************************************************************/ -static SANE_Status +static SANE_Status init_options(Microtek_Scanner *ms) { int i; @@ -1136,7 +1136,7 @@ init_options(Microtek_Scanner *ms) sod[OPT_NEGATIVE].title = SANE_TITLE_NEGATIVE; sod[OPT_NEGATIVE].desc = SANE_DESC_NEGATIVE; sod[OPT_NEGATIVE].type = SANE_TYPE_BOOL; - sod[OPT_NEGATIVE].cap |= + sod[OPT_NEGATIVE].cap |= (ms->dev->info.modes & MI_MODES_NEGATIVE) ? 0 : SANE_CAP_INACTIVE; val[OPT_NEGATIVE].w = SANE_FALSE; @@ -1171,7 +1171,7 @@ init_options(Microtek_Scanner *ms) source_list[i] = NULL; sod[OPT_SOURCE].constraint.string_list = source_list; sod[OPT_SOURCE].size = max_string_size(source_list); - if (i < 2) + if (i < 2) sod[OPT_SOURCE].cap |= SANE_CAP_INACTIVE; val[OPT_SOURCE].s = strdup(source_list[0]); } @@ -1179,7 +1179,7 @@ init_options(Microtek_Scanner *ms) sod[OPT_PREVIEW].name = SANE_NAME_PREVIEW; sod[OPT_PREVIEW].title = SANE_TITLE_PREVIEW; sod[OPT_PREVIEW].desc = SANE_DESC_PREVIEW; - sod[OPT_PREVIEW].type = SANE_TYPE_BOOL; + sod[OPT_PREVIEW].type = SANE_TYPE_BOOL; sod[OPT_PREVIEW].unit = SANE_UNIT_NONE; sod[OPT_PREVIEW].size = sizeof(SANE_Word); val[OPT_PREVIEW].w = SANE_FALSE; @@ -1224,10 +1224,10 @@ init_options(Microtek_Scanner *ms) sod[OPT_BR_Y].unit = SANE_UNIT_MM; sod[OPT_BR_Y].size = sizeof(SANE_Word); sod[OPT_BR_Y].constraint_type = SANE_CONSTRAINT_RANGE; - - sod[OPT_TL_X].constraint.range = + + sod[OPT_TL_X].constraint.range = sod[OPT_BR_X].constraint.range = &(ms->dev->info.doc_x_range); - sod[OPT_TL_Y].constraint.range = + sod[OPT_TL_Y].constraint.range = sod[OPT_BR_Y].constraint.range = &(ms->dev->info.doc_y_range); /* set default scan region to be maximum size */ @@ -1262,7 +1262,7 @@ init_options(Microtek_Scanner *ms) sod[OPT_BRIGHTNESS].type = SANE_TYPE_INT; sod[OPT_BRIGHTNESS].unit = SANE_UNIT_PERCENT; sod[OPT_BRIGHTNESS].size = sizeof(SANE_Word); - sod[OPT_BRIGHTNESS].cap |= + sod[OPT_BRIGHTNESS].cap |= ((ms->dev->info.extra_cap & MI_EXCAP_OFF_CTL) ? 0: SANE_CAP_INACTIVE); sod[OPT_BRIGHTNESS].constraint_type = SANE_CONSTRAINT_RANGE; sod[OPT_BRIGHTNESS].constraint.range = &brightness_range; @@ -1308,8 +1308,8 @@ init_options(Microtek_Scanner *ms) } else { sod[OPT_HIGHLIGHT].cap |= SANE_CAP_INACTIVE; sod[OPT_SHADOW].cap |= SANE_CAP_INACTIVE; - } - + } + sod[OPT_MIDTONE].name = "midtone"; sod[OPT_MIDTONE].title = "Midtone Level"; sod[OPT_MIDTONE].desc = "Midtone Level"; @@ -1465,7 +1465,7 @@ init_options(Microtek_Scanner *ms) if (!(ms->do_real_calib)) { sod[OPT_CALIB_ONCE].cap |= SANE_CAP_INACTIVE; val[OPT_CALIB_ONCE].w = SANE_FALSE; - } else + } else val[OPT_CALIB_ONCE].w = SANE_TRUE; /* @@ -1499,7 +1499,7 @@ parse_inquiry(Microtek_Info *mi, unsigned char *result) 0x32,0x2e,0x33,0x30,0x53,0x43,0x53,0x49,0x20,0x46,0x2f,0x57,0x56,0x33,0x2e,0x31, 0x20,0x43,0x54,0x4c,0x35,0x33,0x38,0x30,0x03,0x4f,0x8c,0xc5,0x00,0xee,0x5b,0x43, 0x01,0x01,0x02,0x00,0x00,0x03,0x00,0x01,0x00,0x4a,0x01,0x04,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff }; #endif DBG(15, "parse_inquiry...\n"); @@ -1511,14 +1511,14 @@ parse_inquiry(Microtek_Info *mi, unsigned char *result) mi->model_name[16] = 0; mi->revision_num[4] = 0; mi->vendor_string[20] = 0; - + mi->device_type = (SANE_Byte)(result[0] & 0x1f); mi->SCSI_firmware_ver_major = (SANE_Byte)((result[1] & 0xf0) >> 4); mi->SCSI_firmware_ver_minor = (SANE_Byte)(result[1] & 0x0f); mi->scanner_firmware_ver_major = (SANE_Byte)((result[2] & 0xf0) >> 4); mi->scanner_firmware_ver_minor = (SANE_Byte)(result[2] & 0x0f); mi->response_data_format = (SANE_Byte)(result[3]); - + mi->res_step = (SANE_Byte)(result[56] & 0x03); mi->modes = (SANE_Byte)(result[57]); mi->pattern_count = (SANE_Int)(result[58] & 0x7f); @@ -1526,7 +1526,7 @@ parse_inquiry(Microtek_Info *mi, unsigned char *result) mi->feed_type = (SANE_Byte)(result[59] & 0x0F); mi->compress_type = (SANE_Byte)(result[59] & 0x30); mi->unit_type = (SANE_Byte)(result[59] & 0xC0); - + mi->doc_size_code = (SANE_Byte)result[60]; /* we'll compute the max sizes after we know base resolution... */ @@ -1536,7 +1536,7 @@ parse_inquiry(Microtek_Info *mi, unsigned char *result) mi->cont_settings = (SANE_Int)(result[72]); mi->min_contrast = -42; mi->max_contrast = (mi->cont_settings * 7) - 49; - + mi->exp_settings = (SANE_Int)(result[61] & 0x0f); if ((SANE_Int)(result[73])) mi->exp_settings = (SANE_Int)(result[73]); @@ -1548,7 +1548,7 @@ parse_inquiry(Microtek_Info *mi, unsigned char *result) mi->max_contrast = 49; if (mi->contrast_vals) mi->max_contrast = (mi->contrast_vals * 7) - 49; - + mi->exposure_vals = (SANE_Int)(result[73]); mi->min_exposure = -18; mi->max_exposure = 21; @@ -1606,7 +1606,7 @@ parse_inquiry(Microtek_Info *mi, unsigned char *result) mi->max_x = 8.5 * mi->base_resolution - 1; mi->max_y = 14.0 * mi->base_resolution - 1; break; - case 0x01: + case 0x01: mi->max_x = 8.5 * mi->base_resolution - 1; mi->max_y = 11.0 * mi->base_resolution - 1; break; @@ -1625,15 +1625,15 @@ parse_inquiry(Microtek_Info *mi, unsigned char *result) case 0x05: mi->max_x = 8.3 * mi->base_resolution - 1; mi->max_y = 14.0 * mi->base_resolution - 1; - break; + break; case 0x06: mi->max_x = 8.3 * mi->base_resolution - 1; mi->max_y = 13.5 * mi->base_resolution - 1; - break; + break; case 0x07: mi->max_x = 8.0 * mi->base_resolution - 1; mi->max_y = 14.0 * mi->base_resolution - 1; - break; + break; case 0x80: /* Slide format, size is mm */ mi->max_x = (35.0 / MM_PER_INCH) * mi->base_resolution - 1; @@ -1666,9 +1666,9 @@ parse_inquiry(Microtek_Info *mi, unsigned char *result) mi->doc_y_range.max = SANE_FIX((float)mi->max_y / base_res_dpmm); mi->doc_y_range.quant = SANE_FIX(0); } - - mi->source_options = (SANE_Byte)(result[63]); - + + mi->source_options = (SANE_Byte)(result[63]); + mi->expanded_resolution = (result[64] & 0x01); /* my E6 reports exp-res capability incorrectly */ if ((mi->model_code == 0x66) || (mi->model_code == 0x63)) { @@ -1685,27 +1685,27 @@ parse_inquiry(Microtek_Info *mi, unsigned char *result) mi->enhance_cap = (result[65] & 0x03); - /* + /* switch (result[66] & 0x0F) { case 0x00: mi->max_lookup_size = 0; break; case 0x01: mi->max_lookup_size = 256; break; case 0x03: mi->max_lookup_size = 1024; break; case 0x05: mi->max_lookup_size = 4096; break; case 0x09: mi->max_lookup_size = 65536; break; - default: + default: mi->max_lookup_size = 0; DBG(15, "parse_inquiry: Unknown gamma LUT size! 0x%x\n", result[66]); } */ - + /* This is not how the vague documentation specifies this register. We're going to take it literally here -- i.e. if the bit is set, the scanner supports the value, otherwise it doesn't. (The docs say all lower values are always supported. This is - not the case for the StudioScan IIsi, at least, which only + not the case for the StudioScan IIsi, at least, which only specifies 0x02==1024-byte table, and only supports that, too.) - + All-in-all, it doesn't matter, since we take the largest allowed LUT size anyway. */ @@ -1717,7 +1717,7 @@ parse_inquiry(Microtek_Info *mi, unsigned char *result) mi->max_lookup_size = 1024; else if (result[66] & 0x01) mi->max_lookup_size = 256; - else + else mi->max_lookup_size = 0; /* my E6 reports incorrectly */ @@ -1748,13 +1748,13 @@ parse_inquiry(Microtek_Info *mi, unsigned char *result) DBG(15, "parse_inquiry: Unknown gamma max val! 0x%x\n", result[66]); } - + mi->fast_color_preview = (SANE_Byte)(result[67] & 0x01); mi->xfer_format_select = (SANE_Byte)(result[68] & 0x01); mi->color_sequence = (SANE_Byte)(result[69] & 0x7f); mi->does_3pass = (SANE_Byte)(!(result[69] & 0x80)); mi->does_mode1 = (SANE_Byte)(result[71] & 0x01); - + mi->bit_formats = (SANE_Byte)(result[74] & 0x0F); mi->extra_cap = (SANE_Byte)(result[75] & 0x07); @@ -1780,7 +1780,7 @@ parse_inquiry(Microtek_Info *mi, unsigned char *result) /********************************************************************/ /* Dump all we know about scanner to stderr */ /********************************************************************/ -static SANE_Status +static SANE_Status dump_inquiry(Microtek_Info *mi, unsigned char *result) { int i; @@ -1802,12 +1802,12 @@ dump_inquiry(Microtek_Info *mi, unsigned char *result) mi->vendor_id, mi->model_name); DBG(1, "Vendor Specific String: '%s'\n", mi->vendor_string); DBG(1, "Firmware Rev: '%s'\n", mi->revision_num); - DBG(1, + DBG(1, "SCSI F/W version: %1d.%1d Scanner F/W version: %1d.%1d\n", mi->SCSI_firmware_ver_major, mi->SCSI_firmware_ver_minor, mi->scanner_firmware_ver_major, mi->scanner_firmware_ver_minor); DBG(1, "Response data format: 0x%02x\n", mi->response_data_format); - + DBG(1, "===== Imaging Capabilities...\n"); DBG(1, "Modes: %s%s%s%s%s%s%s\n", (mi->modes & MI_MODES_LINEART) ? "Lineart " : "", @@ -1817,7 +1817,7 @@ dump_inquiry(Microtek_Info *mi, unsigned char *result) (mi->modes & MI_MODES_TRANSMSV) ? "(X-msv) " : "", (mi->modes & MI_MODES_ONEPASS) ? "(OnePass) " : "", (mi->modes & MI_MODES_NEGATIVE) ? "(Negative) " : ""); - DBG(1, + DBG(1, "Resolution Step Sizes: %s%s Expanded Resolution Support? %s%s\n", (mi->res_step & MI_RESSTEP_1PER) ? "1% " : "", (mi->res_step & MI_RESSTEP_5PER) ? "5%" : "", @@ -1849,11 +1849,11 @@ dump_inquiry(Microtek_Info *mi, unsigned char *result) DBG(1, "Digital brightness/offset? %s\n", (mi->extra_cap & MI_EXCAP_OFF_CTL) ? "yes" : "no"); /* - fprintf(stderr, + fprintf(stderr, "Gamma Table Size: %d entries of %d bytes (max. value: %d)\n", mi->max_lookup_size, mi->gamma_size, mi->max_gamma_val); */ - DBG(1, + DBG(1, "Gamma Table Size: %d entries of %d bytes (max. depth: %d)\n", mi->max_lookup_size, mi->gamma_size, mi->max_gamma_bit_depth); @@ -1861,7 +1861,7 @@ dump_inquiry(Microtek_Info *mi, unsigned char *result) DBG(1, "Feed type: %s%s ADF support? %s\n", (mi->feed_type & MI_FEED_FLATBED) ? "flatbed " : "", (mi->feed_type & MI_FEED_EDGEFEED) ? "edge-feed " : "", - (mi->feed_type & MI_FEED_AUTOSUPP) ? "yes" : "no"); + (mi->feed_type & MI_FEED_AUTOSUPP) ? "yes" : "no"); DBG(1, "Document Feeder Support? %s Feeder Backtracking? %s\n", (mi->source_options & MI_SRC_FEED_SUPP) ? "yes" : "no ", (mi->source_options & MI_SRC_FEED_BT) ? "yes" : "no "); @@ -1882,15 +1882,15 @@ dump_inquiry(Microtek_Info *mi, unsigned char *result) (mi->xfer_format_select) ? "yes" : "no"); MDBG_INIT("Color Transfer Sequence: "); switch (mi->color_sequence) { - case MI_COLSEQ_PLANE: + case MI_COLSEQ_PLANE: MDBG_ADD("plane-by-plane (3-pass)"); break; - case MI_COLSEQ_PIXEL: + case MI_COLSEQ_PIXEL: MDBG_ADD("pixel-by-pixel RGB"); break; case MI_COLSEQ_RGB: MDBG_ADD("line-by-line, R-G-B sequence"); break; case MI_COLSEQ_NONRGB: MDBG_ADD("line-by-line, non-sequential with headers"); break; - case MI_COLSEQ_2PIXEL: + case MI_COLSEQ_2PIXEL: MDBG_ADD("2pixel-by-2pixel RRGGBB"); break; default: MDBG_ADD("UNKNOWN CODE (0x%02x)", mi->color_sequence); @@ -1905,7 +1905,7 @@ dump_inquiry(Microtek_Info *mi, unsigned char *result) (mi->extra_cap & MI_EXCAP_DIS_LNTBL) ? "yes" : "no"); DBG(1, "Can Disable Start-of-Scan Recalibration? %s\n", (mi->extra_cap & MI_EXCAP_DIS_RECAL) ? "yes" : "no"); - + DBG(1, "Internal expanded expansion? %s\n", mi->does_expansion ? "yes" : "no"); /* @@ -1922,7 +1922,7 @@ dump_inquiry(Microtek_Info *mi, unsigned char *result) /********************************************************************/ /* Dump all we know about some unknown scanner to stderr */ /********************************************************************/ -static SANE_Status +static SANE_Status dump_suspect_inquiry(unsigned char *result) { int i; @@ -1953,7 +1953,7 @@ dump_suspect_inquiry(unsigned char *result) strncpy(revision_num, (char *)&result[32], 4); vendor_id[8] = 0; model_name[16] = 0; - revision_num[5] = 0; + revision_num[5] = 0; device_type = (SANE_Byte)(result[0] & 0x1f); SCSI_firmware_ver_major = (SANE_Byte)((result[1] & 0xf0) >> 4); SCSI_firmware_ver_minor = (SANE_Byte)(result[1] & 0x0f); @@ -1969,7 +1969,7 @@ dump_suspect_inquiry(unsigned char *result) DBG(1, "Vendor Name: '%s' Model Name: '%s'\n", vendor_id, model_name); DBG(1, "Firmware Rev: '%s'\n", revision_num); - DBG(1, + DBG(1, "SCSI F/W version: %1d.%1d Scanner F/W version: %1d.%1d\n", SCSI_firmware_ver_major, SCSI_firmware_ver_minor, scanner_firmware_ver_major, scanner_firmware_ver_minor); @@ -2035,7 +2035,7 @@ id_microtek(uint8_t *result, char **model_string) case 0x5f : *model_string = "ScanMaker E3"; break; case 0x62 : - if (!(strncmp("Polaroid", (char *)&(result[8]), 8))) + if (!(strncmp("Polaroid", (char *)&(result[8]), 8))) *model_string = "Polaroid SprintScan 35/LE"; else *model_string = "ScanMaker 35t+"; @@ -2123,7 +2123,7 @@ id_microtek(uint8_t *result, char **model_string) /********************************************************************/ /* Try to attach a device as a Microtek scanner */ /********************************************************************/ -static SANE_Status +static SANE_Status attach_scanner(const char *devicename, Microtek_Device **devp) { Microtek_Device *dev; @@ -2165,7 +2165,7 @@ attach_scanner(const char *devicename, Microtek_Device **devp) if (DBG_LEVEL >= 5) dump_suspect_inquiry(result); return SANE_STATUS_INVAL; } - + dev=malloc(sizeof(*dev)); if (!dev) return SANE_STATUS_NO_MEM; memset(dev, 0, sizeof(*dev)); @@ -2217,7 +2217,7 @@ static SANE_Status end_scan(Microtek_Scanner *s, SANE_Status ostat) /* stop the scanner */ if (s->scan_started) { status = stop_scan(s); - if (status != SANE_STATUS_GOOD) + if (status != SANE_STATUS_GOOD) DBG(23, "end_scan: OY! on stop_scan\n"); s->scan_started = SANE_FALSE; } @@ -2285,7 +2285,7 @@ static void sort_values(int *result, uint8_t *scanline[], int pix) /********************************************************************/ -static void calc_calibration(uint8_t *caldata, uint8_t *scanline[], +static void calc_calibration(uint8_t *caldata, uint8_t *scanline[], int pixels) { int i,j; @@ -2303,14 +2303,14 @@ static void calc_calibration(uint8_t *caldata, uint8_t *scanline[], q3 = sorted[STRIPS * 3 / 4]; /* third quartile */ bot = q1 - 3 * (q3 - q1) / 2; /* quick'n'easy bounds */ top = q3 + 3 * (q3 - q1) / 2; - + for (j=0; j= bot) && (sorted[j] <= top)) { sum += sorted[j]; count++; } } - if (count) + if (count) caldata[i] = (sum + (count / 2)) / count; else { DBG(23, "zero: i=%d b/t=%d/%d ", i, bot, top); @@ -2343,9 +2343,9 @@ static SANE_Status do_real_calibrate(Microtek_Scanner *s) uint8_t letter; int i, spot; int nmax, ntoget, nleft; - + DBG(10, "do_real_calibrate...\n"); - + /* tell scanner to read it's little chart */ if ((status = start_calibration(s)) != SANE_STATUS_GOOD) return status; if ((status = get_scan_status(s, &busy, &linewidth, &lines)) @@ -2372,7 +2372,7 @@ static SANE_Status do_real_calibrate(Microtek_Scanner *s) buffsize = ntoget * 3 * linewidth; DBG(23, "...nleft %d toget %d size %lu spot %d input+spot %p\n", nleft, ntoget, (u_long) buffsize, spot, input+spot); - if ((statusA = read_scan_data(s, ntoget, input+spot, &buffsize)) + if ((statusA = read_scan_data(s, ntoget, input+spot, &buffsize)) != SANE_STATUS_GOOD) { DBG(23, "...read scan failed\n"); break; @@ -2409,7 +2409,7 @@ static SANE_Status do_real_calibrate(Microtek_Scanner *s) switch (letter) { case 'R': letter = 'G'; break; case 'G': letter = 'B'; break; - case 'B': + case 'B': default: letter = 'X'; break; } } @@ -2431,9 +2431,9 @@ static SANE_Status do_precalibrate(SANE_Handle handle) Microtek_Scanner *s = handle; SANE_Status status, statusA; SANE_Int busy, linewidth, lines; - + DBG(10, "do_precalibrate...\n"); - + if ((status = wait_ready(s)) != SANE_STATUS_GOOD) return status; { SANE_Int y1 = s->y1; @@ -2441,7 +2441,7 @@ static SANE_Status do_precalibrate(SANE_Handle handle) /* some small range, but large enough to cause the scanner to think it'll scan *something*... */ s->y1 = 0; - s->y2 = + s->y2 = (s->resolution > s->dev->info.base_resolution) ? 4 : 4 * s->dev->info.base_resolution / s->resolution; status = scanning_frame(s); @@ -2450,7 +2450,7 @@ static SANE_Status do_precalibrate(SANE_Handle handle) if (status != SANE_STATUS_GOOD) return status; } - if (s->dev->info.source_options & + if (s->dev->info.source_options & (MI_SRC_FEED_BT | MI_SRC_HAS_TRANS | MI_SRC_FEED_SUPP | MI_SRC_HAS_FEED)) { /* ZZZZZZZZZZZ */ if ((status = accessory(s)) != SANE_STATUS_GOOD) return status; @@ -2465,10 +2465,10 @@ static SANE_Status do_precalibrate(SANE_Handle handle) s->allow_calibrate = allow_calibrate; if (status != SANE_STATUS_GOOD) return status; } - + if ((status = wait_ready(s)) != SANE_STATUS_GOOD) return status; if ((status = start_scan(s)) != SANE_STATUS_GOOD) return status; - if ((statusA = get_scan_status(s, &busy, + if ((statusA = get_scan_status(s, &busy, &linewidth, &lines)) != SANE_STATUS_GOOD) { DBG(10, "do_precalibrate: get_scan_status fails\n"); } @@ -2492,7 +2492,7 @@ static SANE_Status finagle_precal(SANE_Handle handle) int match; /* try to check if scanner has been reset */ - /* if so, calibrate it + /* if so, calibrate it (either for real, or via a fake scan, with calibration */ /* (but only bother if you *could* disable calibration) */ DBG(23, "finagle_precal...\n"); @@ -2523,7 +2523,7 @@ static SANE_Status finagle_precal(SANE_Handle handle) } else s->precal_record = MS_PRECAL_GRAY; } else - DBG(23, "finagle_precal: no precalibrate necessary.\n"); + DBG(23, "finagle_precal: no precalibrate necessary.\n"); } return SANE_STATUS_GOOD; } @@ -2544,7 +2544,7 @@ set_pass_parameters (SANE_Handle handle) switch (s->this_pass) { case 1: s->filter = MS_FILT_RED; - s->params.format = SANE_FRAME_RED; + s->params.format = SANE_FRAME_RED; s->params.last_frame = SANE_FALSE; break; case 2: @@ -2552,7 +2552,7 @@ set_pass_parameters (SANE_Handle handle) s->params.format = SANE_FRAME_GREEN; s->params.last_frame = SANE_FALSE; break; - case 3: + case 3: s->filter = MS_FILT_BLUE; s->params.format = SANE_FRAME_BLUE; s->params.last_frame = SANE_TRUE; @@ -2588,7 +2588,7 @@ static SANE_Status pack_flat_data(Microtek_Scanner *s, size_t nlines) size_t nbytes = nlines * rb->bpl; size_t start = (rb->head_complete + rb->complete_count) % rb->size; - size_t max_xfer = + size_t max_xfer = (start < rb->head_complete) ? (rb->head_complete - start) : (rb->size - start + rb->head_complete); @@ -2616,14 +2616,14 @@ static SANE_Status pack_flat_data(Microtek_Scanner *s, size_t nlines) size_t i; double x1, x2, n1, n2; for (i = 0, x1 = 0.0, x2 = s->exp_aspect, n1 = 0.0, n2 = floor(x2); - i < rb->bpl; + i < rb->bpl; i++) { byte = 0; - for (bit=0; - bit < 8; + for (bit=0; + bit < 8; bit++, x1 = x2, n1 = n2, x2 += s->exp_aspect, n2 = floor(x2)) { /* #define getbit(byte, index) (((byte)>>(index))&1) */ - byte |= + byte |= (( (x2 == n2) ? (((sb[(int)n1 / 8])>>(7 - ((int)n1) % 8))&1) : @@ -2638,13 +2638,13 @@ static SANE_Status pack_flat_data(Microtek_Scanner *s, size_t nlines) sb += s->pixel_bpl; } } else { /* multibit scan (8 is assumed!) */ - for (line=0; lineexp_aspect, n1 = 0.0, n2 = floor(x2); - i < s->dest_ppl; + i < s->dest_ppl; i++, x1 = x2, n1 = n2, x2 += s->exp_aspect, n2 = floor(x2)) { - db[pos] = + db[pos] = (x2 == n2) ? sb[(int)n1] : (int)(((double)sb[(int)n1] * (n2 - x1) + @@ -2683,12 +2683,12 @@ pack_seqrgb_data (Microtek_Scanner *s, size_t nlines) size_t completed; size_t spot; SANE_Byte id; - + { size_t ar, ag, ab; /* allowed additions */ size_t dr, dg, db; /* additions which will occur */ SANE_Status status; - + dr = dg = db = nlines * rb->bpl; ar = rb->size - (rb->complete_count + rb->red_extra * 3); ag = rb->size - (rb->complete_count + rb->green_extra * 3); @@ -2700,7 +2700,7 @@ pack_seqrgb_data (Microtek_Scanner *s, size_t nlines) if ((dr > ar) || (dg > ag) || (db > ab)) { - size_t increase = 0; + size_t increase = 0; if (dr > ar) increase = (dr - ar); if (dg > ag) increase = MAX(increase, (dg - ag)); if (db > ab) increase = MAX(increase, (db - ab)); @@ -2725,9 +2725,9 @@ pack_seqrgb_data (Microtek_Scanner *s, size_t nlines) int i; double x1, x2, n1, n2; for (i = 0, x1 = 0.0, x2 = s->exp_aspect, n1 = 0.0, n2 = floor(x2); - i < s->dest_ppl; + i < s->dest_ppl; i++, x1 = x2, n1 = n2, x2 += s->exp_aspect, n2 = floor(x2)) { - db[spot] = + db[spot] = (x2 == n2) ? sb[(int)n1] : (int)(((double)sb[(int)n1] * (n2 - x1) + @@ -2756,9 +2756,9 @@ pack_seqrgb_data (Microtek_Scanner *s, size_t nlines) rb->red_extra -= completed; rb->green_extra -= completed; rb->blue_extra -= completed; - + DBG(18, "pack_seq: extra r: %lu g: %lu b: %lu\n", - (u_long)rb->red_extra, + (u_long)rb->red_extra, (u_long)rb->green_extra, (u_long)rb->blue_extra); DBG(18, "pack_seq: completed: %lu complete: %lu\n", @@ -2767,21 +2767,21 @@ pack_seqrgb_data (Microtek_Scanner *s, size_t nlines) return SANE_STATUS_GOOD; } - + /********************************************************************/ /* Process non-sequential R,G, and B scan-lines */ /********************************************************************/ static SANE_Status pack_goofyrgb_data(Microtek_Scanner *s, size_t nlines) { - ring_buffer *rb = s->rb; + ring_buffer *rb = s->rb; unsigned int seg; /* , i;*/ SANE_Byte *db; SANE_Byte *sb = s->scsi_buffer; size_t completed; size_t spot; SANE_Byte id; - + /* prescan to decide if ring should be expanded */ { size_t ar, ag, ab; /* allowed additions */ @@ -2790,7 +2790,7 @@ pack_goofyrgb_data(Microtek_Scanner *s, size_t nlines) SANE_Byte *pt; for (dr = dg = db = 0, seg = 0, pt = s->scsi_buffer + 1; - seg < nlines * 3; + seg < nlines * 3; seg++, pt += s->ppl + 2) { switch (*pt) { case 'R': dr += rb->bpl; break; @@ -2809,7 +2809,7 @@ pack_goofyrgb_data(Microtek_Scanner *s, size_t nlines) if ((dr > ar) || (dg > ag) || (db > ab)) { - size_t increase = 0; + size_t increase = 0; if (dr > ar) increase = (dr - ar); if (dg > ag) increase = MAX(increase, (dg - ag)); if (db > ab) increase = MAX(increase, (db - ab)); @@ -2838,9 +2838,9 @@ pack_goofyrgb_data(Microtek_Scanner *s, size_t nlines) int i; double x1, x2, n1, n2; for (i = 0, x1 = 0.0, x2 = s->exp_aspect, n1 = 0.0, n2 = floor(x2); - i < s->dest_ppl; + i < s->dest_ppl; i++, x1 = x2, n1 = n2, x2 += s->exp_aspect, n2 = floor(x2)) { - db[spot] = + db[spot] = (x2 == n2) ? sb[(int)n1] : (int)(((double)sb[(int)n1] * (n2 - x1) + @@ -2868,9 +2868,9 @@ pack_goofyrgb_data(Microtek_Scanner *s, size_t nlines) rb->red_extra -= completed; rb->green_extra -= completed; rb->blue_extra -= completed; - + DBG(18, "pack_goofy: extra r: %lu g: %lu b: %lu\n", - (u_long)rb->red_extra, + (u_long)rb->red_extra, (u_long)rb->green_extra, (u_long)rb->blue_extra); DBG(18, "pack_goofy: completed: %lu complete: %lu\n", @@ -2878,7 +2878,7 @@ pack_goofyrgb_data(Microtek_Scanner *s, size_t nlines) return SANE_STATUS_GOOD; } - + /********************************************************************/ @@ -2891,14 +2891,14 @@ pack_seq2r2g2b_data(Microtek_Scanner *s, size_t nlines) SANE_Status status; ring_buffer *rb = s->rb; size_t nbytes = nlines * rb->bpl; - + size_t start = (rb->head_complete + rb->complete_count) % rb->size; - size_t max_xfer = + size_t max_xfer = (start < rb->head_complete) ? (rb->head_complete - start) : (rb->size - start + rb->head_complete); size_t length = MIN(nbytes, max_xfer); - + if (nbytes > max_xfer) { DBG(23, "pack_2r2g2b: must expand ring, %lu + %lu\n", (u_long)rb->size, (u_long)(nbytes - max_xfer)); @@ -2908,7 +2908,7 @@ pack_seq2r2g2b_data(Microtek_Scanner *s, size_t nlines) { unsigned int line; int p; - size_t pos = start; + size_t pos = start; SANE_Byte *sb = s->scsi_buffer; SANE_Byte *db = rb->base; @@ -2968,11 +2968,11 @@ read_from_scanner (Microtek_Scanner *s, int *nlines) DBG(18, "read_from_scanner: no gss/no unscanned\n"); remaining = 0; } - + *nlines = MIN(remaining, s->max_scsi_lines); DBG(18, "sane_read: max_scsi: %d, rem: %d, nlines: %d\n", s->max_scsi_lines, remaining, *nlines); - + /* grab them bytes! (only if the scanner still has bytes to give...) */ if (*nlines > 0) { buffsize = *nlines * (s->pixel_bpl + s->header_bpl);/* == "* linewidth" */ @@ -3002,7 +3002,7 @@ pack_into_ring(Microtek_Scanner *s, int nlines) switch (s->line_format) { case MS_LNFMT_FLAT: status = pack_flat_data(s, nlines); break; - case MS_LNFMT_SEQ_RGB: + case MS_LNFMT_SEQ_RGB: status = pack_seqrgb_data(s, nlines); break; case MS_LNFMT_GOOFY_RGB: status = pack_goofyrgb_data(s, nlines); break; @@ -3081,13 +3081,13 @@ sane_init(SANE_Int *version_code, SANE_Auth_Callback authorize) DBG(23, "sane_init: config-> %s\n", dev_name); if (dev_name[0] == '#') continue; /* ignore comments */ if (!(strncmp("noprecal", dev_name, 8))) { - DBG(23, + DBG(23, "sane_init: Clever Precalibration will be forcibly disabled...\n"); inhibit_clever_precal = SANE_TRUE; continue; } if (!(strncmp("norealcal", dev_name, 9))) { - DBG(23, + DBG(23, "sane_init: Real calibration will be forcibly disabled...\n"); inhibit_real_calib = SANE_TRUE; continue; @@ -3106,7 +3106,7 @@ sane_init(SANE_Int *version_code, SANE_Auth_Callback authorize) /* sane_get_devices */ /********************************************************************/ SANE_Status -sane_get_devices(const SANE_Device ***device_list, +sane_get_devices(const SANE_Device ***device_list, SANE_Bool local_only) { Microtek_Device *dev; @@ -3168,14 +3168,14 @@ sane_open(SANE_String_Const devicename, /* initialize scanner dependent stuff */ DBG(23, "sane_open: initialize scanner dependent stuff...\n"); /* ZZZZZZZZZZZZZZ */ - scanner->unit_type = + scanner->unit_type = (dev->info.unit_type & MI_UNIT_PIXELS) ? MS_UNIT_PIXELS : MS_UNIT_18INCH; scanner->res_type = (dev->info.res_step & MI_RESSTEP_1PER) ? MS_RES_1PER : MS_RES_5PER; - scanner->midtone_support = + scanner->midtone_support = (dev->info.enhance_cap & MI_ENH_CAP_MIDTONE) ? SANE_TRUE : SANE_FALSE; - scanner->paper_length = - (scanner->unit_type == MS_UNIT_PIXELS) ? + scanner->paper_length = + (scanner->unit_type == MS_UNIT_PIXELS) ? dev->info.max_y : (SANE_Int)((double)dev->info.max_y * 8.0 / (double)dev->info.base_resolution); @@ -3202,7 +3202,7 @@ sane_open(SANE_String_Const devicename, scanner->do_clever_precal = SANE_TRUE; } else { DBG(23, "sane_open: All calibration routines disabled.\n"); - scanner->allow_calibrate = SANE_TRUE; + scanner->allow_calibrate = SANE_TRUE; scanner->do_real_calib = SANE_FALSE; scanner->do_clever_precal = SANE_FALSE; } @@ -3227,7 +3227,7 @@ sane_open(SANE_String_Const devicename, scanner->gray_lut = calloc(scanner->gamma_entries, sizeof(scanner->gray_lut[0])); - scanner->red_lut = calloc(scanner->gamma_entries, + scanner->red_lut = calloc(scanner->gamma_entries, sizeof(scanner->red_lut[0])); scanner->green_lut = calloc(scanner->gamma_entries, sizeof(scanner->green_lut[0])); @@ -3246,7 +3246,7 @@ sane_open(SANE_String_Const devicename, free(scanner->blue_lut); } for (j=0; jgamma_entries; j += scanner->gamma_entry_size) { - v = (SANE_Int) + v = (SANE_Int) ((double) j * (double) max_entry / ((double) scanner->gamma_entries - 1.0) + 0.5); scanner->gray_lut[j] = v; @@ -3278,7 +3278,7 @@ sane_open(SANE_String_Const devicename, /* clear out that clever cache, so it doesn't match anything */ { int j; - for (j=0; j<10; j++) + for (j=0; j<10; j++) scanner->mode_sense_cache[j] = 0; scanner->precal_record = MS_PRECAL_NONE; } @@ -3347,7 +3347,7 @@ sane_get_option_descriptor (SANE_Handle handle, /********************************************************************/ /* sane_control_option */ /********************************************************************/ -SANE_Status +SANE_Status sane_control_option (SANE_Handle handle, SANE_Int option, SANE_Action action, @@ -3429,12 +3429,12 @@ sane_control_option (SANE_Handle handle, return SANE_STATUS_INVAL; } break; - + case SANE_ACTION_SET_VALUE: { status = sanei_constrain_value(sod + option, value, info); if (status != SANE_STATUS_GOOD) return status; - + switch (option) { /* set word options... */ case OPT_TL_X: @@ -3457,12 +3457,12 @@ sane_control_option (SANE_Handle handle, case OPT_ANALOG_GAMMA_B: val[option].w = *(SANE_Word *)value; return SANE_STATUS_GOOD; - + case OPT_HIGHLIGHT: case OPT_SHADOW: case OPT_MIDTONE: val[option].w = *(SANE_Word *)value; - /* we need to (silently) make sure shadow <= midtone <= highlight */ + /* we need to (silently) make sure shadow <= midtone <= highlight */ if (scanner->midtone_support) { if (val[OPT_SHADOW].w > val[OPT_MIDTONE].w) { if (option == OPT_SHADOW) @@ -3514,7 +3514,7 @@ sane_control_option (SANE_Handle handle, val[option].w = *(SANE_Word *) value; } else if (option == OPT_CUSTOM_GAMMA) { if (val[option].s) { - if (strcmp(value, val[option].s)) + if (strcmp(value, val[option].s)) if (info) *info |= SANE_INFO_RELOAD_OPTIONS; free(val[option].s); } @@ -3526,7 +3526,7 @@ sane_control_option (SANE_Handle handle, sod[OPT_GAMMA_VECTOR_R].cap |= SANE_CAP_INACTIVE; sod[OPT_GAMMA_VECTOR_G].cap |= SANE_CAP_INACTIVE; sod[OPT_GAMMA_VECTOR_B].cap |= SANE_CAP_INACTIVE; - } + } if ( !(strcmp(val[OPT_CUSTOM_GAMMA].s, M_NONE)) || !(strcmp(val[OPT_CUSTOM_GAMMA].s, M_TABLE)) ) { sod[OPT_ANALOG_GAMMA].cap |= SANE_CAP_INACTIVE; @@ -3565,12 +3565,12 @@ sane_control_option (SANE_Handle handle, else if (!(strcmp(val[OPT_MODE].s, M_COLOR))) sod[OPT_GAMMA_BIND].cap &= ~SANE_CAP_INACTIVE; return SANE_STATUS_GOOD; - - case OPT_MODE: + + case OPT_MODE: if (val[option].s) { if (strcmp(val[option].s, value)) - if (info) + if (info) *info |= SANE_INFO_RELOAD_OPTIONS | SANE_INFO_RELOAD_PARAMS; free(val[option].s); } @@ -3586,7 +3586,7 @@ sane_control_option (SANE_Handle handle, { SANE_Bool Trueness = SANE_TRUE; SANE_Status status; - status = sane_control_option(handle, + status = sane_control_option(handle, OPT_GAMMA_BIND, SANE_ACTION_SET_VALUE, &Trueness, @@ -3619,7 +3619,7 @@ sane_control_option (SANE_Handle handle, } } break; - + case SANE_ACTION_SET_AUTO: return SANE_STATUS_UNSUPPORTED; /* We are DUMB. */ } @@ -3662,7 +3662,7 @@ sane_get_parameters (SANE_Handle handle, s->threepasscolor = SANE_TRUE; s->onepasscolor = SANE_FALSE; s->color_seq = s->dev->info.color_sequence; - } + } } else { /* not color! */ DBG(23, "sane_get_parameters: non-color\n"); s->threepasscolor = SANE_FALSE; @@ -3673,18 +3673,18 @@ sane_get_parameters (SANE_Handle handle, s->transparency = !(strcmp(s->val[OPT_SOURCE].s, M_TRANS)); s->useADF = !(strcmp(s->val[OPT_SOURCE].s, M_AUTOFEED)); /* disallow exp. res. during preview scan XXXXXXXXXXX */ - /*s->expandedresolution = + /*s->expandedresolution = (s->val[OPT_EXP_RES].w) && !(s->val[OPT_PREVIEW].w);*/ s->expandedresolution = (s->val[OPT_EXP_RES].w); s->doexpansion = (s->expandedresolution && !(s->dev->info.does_expansion)); if (s->res_type == MS_RES_1PER) { s->resolution = (SANE_Int)(SANE_UNFIX(s->val[OPT_RESOLUTION].w)); - s->resolution_code = - 0xFF & ((s->resolution * 100) / + s->resolution_code = + 0xFF & ((s->resolution * 100) / s->dev->info.base_resolution / (s->expandedresolution ? 2 : 1)); - DBG(23, "sane_get_parameters: res_code = %d (%2x)\n", + DBG(23, "sane_get_parameters: res_code = %d (%2x)\n", s->resolution_code, s->resolution_code); } else { DBG(23, "sane_get_parameters: 5 percent!!!\n"); @@ -3725,18 +3725,18 @@ sane_get_parameters (SANE_Handle handle, s->pattern = ((i < s->dev->info.pattern_count) ? i : 0); } else s->pattern = 0; - + { /* need to 'round' things properly! XXXXXXXX */ SANE_Int widthpix; double dots_per_mm = s->resolution / MM_PER_INCH; - double units_per_mm = - (s->unit_type == MS_UNIT_18INCH) ? + double units_per_mm = + (s->unit_type == MS_UNIT_18INCH) ? (8.0 / MM_PER_INCH) : /* 1/8 inches */ (s->dev->info.base_resolution / MM_PER_INCH); /* pixels */ - + DBG(23, "sane_get_parameters: dots_per_mm: %f\n", dots_per_mm); DBG(23, "sane_get_parameters: units_per_mm: %f\n", units_per_mm); @@ -3755,22 +3755,22 @@ sane_get_parameters (SANE_Handle handle, /* these are just an estimate... (but *should* be completely accurate) * real values come from scanner after sane_start. */ - if (s->unit_type == MS_UNIT_18INCH) { + if (s->unit_type == MS_UNIT_18INCH) { /* who *knows* what happens */ - widthpix = + widthpix = (SANE_Int)((double)(s->x2 - s->x1 + 1) / 8.0 * (double)s->resolution); - s->params.lines = + s->params.lines = (SANE_Int)((double)(s->y2 - s->y1 + 1) / 8.0 * (double)s->resolution); } else { /* calculate pixels per scanline returned by scanner... */ /* scanner (E6 at least) always seems to return an -even- number of -bytes- */ - if (s->resolution <= s->dev->info.base_resolution) + if (s->resolution <= s->dev->info.base_resolution) widthpix = (SANE_Int)((double)(s->x2 - s->x1 + 1) * - (double)(s->resolution) / + (double)(s->resolution) / (double)(s->dev->info.base_resolution)); else widthpix = (s->x2 - s->x1 + 1); @@ -3784,14 +3784,14 @@ sane_get_parameters (SANE_Handle handle, } DBG(23, "WIDTHPIX: before exp: %d\n", widthpix); /* ok, now fix up expanded-mode conversions */ - if (s->resolution > s->dev->info.base_resolution) + if (s->resolution > s->dev->info.base_resolution) widthpix = (SANE_Int) ((double)widthpix * (double)s->resolution / (double)s->dev->info.base_resolution); s->params.pixels_per_line = widthpix; - s->params.lines = + s->params.lines = (SANE_Int)((double)(s->y2 - s->y1 + 1) * - (double)(s->resolution) / + (double)(s->resolution) / (double)(s->dev->info.base_resolution)); } } @@ -3822,13 +3822,13 @@ sane_get_parameters (SANE_Handle handle, } else { /* a three-pass color scan */ s->params.depth = s->bits_per_color; /* this will be correctly set in sane_start */ - s->params.format = SANE_FRAME_RED; + s->params.format = SANE_FRAME_RED; s->params.bytes_per_line = s->params.pixels_per_line; } break; } - DBG(23, "sane_get_parameters: lines: %d ppl: %d bpl: %d\n", + DBG(23, "sane_get_parameters: lines: %d ppl: %d bpl: %d\n", s->params.lines, s->params.pixels_per_line, s->params.bytes_per_line); /* also fixed in sane_start for multi-pass scans */ @@ -3852,7 +3852,7 @@ sane_start_guts (SANE_Handle handle) Microtek_Scanner *s = handle; SANE_Status status; SANE_Int busy, linewidth; - + DBG(10, "sane_start...\n"); if (s->sfd != -1) { @@ -3863,10 +3863,10 @@ sane_start_guts (SANE_Handle handle) if ((status = sane_get_parameters(s, 0)) != SANE_STATUS_GOOD) return end_scan(s, status); set_pass_parameters(s); - + s->scanning = SANE_TRUE; s->cancel = SANE_FALSE; - + status = sanei_scsi_open(s->dev->sane.name, &(s->sfd), sense_handler, @@ -3877,50 +3877,50 @@ sane_start_guts (SANE_Handle handle) s->sfd = -1; return end_scan(s, status); } - + if ((status = wait_ready(s)) != SANE_STATUS_GOOD) return end_scan(s, status); - if ((status = finagle_precal(s)) != SANE_STATUS_GOOD) + if ((status = finagle_precal(s)) != SANE_STATUS_GOOD) return end_scan(s, status); if ((status = scanning_frame(s)) != SANE_STATUS_GOOD) return end_scan(s, status); - if (s->dev->info.source_options & + if (s->dev->info.source_options & (MI_SRC_FEED_BT | MI_SRC_HAS_TRANS | MI_SRC_FEED_SUPP | MI_SRC_HAS_FEED)) { /* ZZZZZZZZZZZ */ if ((status = accessory(s)) != SANE_STATUS_GOOD) return end_scan(s, status); /* if SWslct ???? XXXXXXXXXXXXXXX */ } - if ((status = download_gamma(s)) != SANE_STATUS_GOOD) + if ((status = download_gamma(s)) != SANE_STATUS_GOOD) return end_scan(s, status); - if ((status = mode_select(s)) != SANE_STATUS_GOOD) + if ((status = mode_select(s)) != SANE_STATUS_GOOD) return end_scan(s, status); if (s->dev->info.does_mode1) { - if ((status = mode_select_1(s)) != SANE_STATUS_GOOD) + if ((status = mode_select_1(s)) != SANE_STATUS_GOOD) return end_scan(s, status); } if ((s->do_clever_precal) || (s->do_real_calib)) { - if ((status = save_mode_sense(s)) != SANE_STATUS_GOOD) + if ((status = save_mode_sense(s)) != SANE_STATUS_GOOD) return end_scan(s, status); - } + } if ((status = wait_ready(s)) != SANE_STATUS_GOOD) return end_scan(s, status); s->scan_started = SANE_TRUE; if ((status = start_scan(s)) != SANE_STATUS_GOOD) return end_scan(s, status); - if ((status = get_scan_status(s, &busy, + if ((status = get_scan_status(s, &busy, &linewidth, &(s->unscanned_lines))) != SANE_STATUS_GOOD) { DBG(10, "sane_start: get_scan_status fails\n"); return end_scan(s, status); } /* check for a bizarre linecount */ - if ((s->unscanned_lines < 0) || - (s->unscanned_lines > + if ((s->unscanned_lines < 0) || + (s->unscanned_lines > (s->params.lines * 2 * (s->expandedresolution ? 2 : 1)))) { DBG(10, "sane_start: get_scan_status returns weird line count %d\n", s->unscanned_lines); return end_scan(s, SANE_STATUS_DEVICE_BUSY); } - - + + /* figure out image format parameters */ switch (s->mode) { case MS_MODE_LINEART: @@ -3990,16 +3990,16 @@ sane_start_guts (SANE_Handle handle) DBG(10, "sane_start: Unknown scan mode: %d\n", s->mode); return end_scan(s, SANE_STATUS_INVAL); } - + if ((s->doexpansion) && (s->resolution > s->dev->info.base_resolution)) { s->dest_ppl = (int) ((double)s->ppl * (double)s->resolution / (double)s->dev->info.base_resolution); - /*+ 0.5 XXXXXX */ + /*+ 0.5 XXXXXX */ s->exp_aspect = (double)s->ppl / (double)s->dest_ppl; s->dest_pixel_bpl = (int) ceil((double)s->pixel_bpl / s->exp_aspect); - /*s->exp_aspect = + /*s->exp_aspect = (double) s->dev->info.base_resolution / (double) s->resolution;*/ /* s->dest_pixel_bpl = s->pixel_bpl / s->exp_aspect; s->dest_ppl = s->ppl / s->exp_aspect;*/ @@ -4012,27 +4012,27 @@ sane_start_guts (SANE_Handle handle) s->dest_pixel_bpl = s->pixel_bpl; s->dest_ppl = s->ppl; } - + s->params.lines = s->unscanned_lines; - s->params.pixels_per_line = s->dest_ppl; - s->params.bytes_per_line = s->dest_pixel_bpl; - + s->params.pixels_per_line = s->dest_ppl; + s->params.bytes_per_line = s->dest_pixel_bpl; + /* calculate maximum line capacity of SCSI buffer */ s->max_scsi_lines = SCSI_BUFF_SIZE / (s->pixel_bpl + s->header_bpl); if (s->max_scsi_lines < 1) { DBG(10, "sane_start: SCSI buffer smaller that one scan line!\n"); return end_scan(s, SANE_STATUS_NO_MEM); } - + s->scsi_buffer = (uint8_t *) malloc(SCSI_BUFF_SIZE * sizeof(uint8_t)); if (s->scsi_buffer == NULL) return SANE_STATUS_NO_MEM; - + /* what's a good initial size for this? */ s->rb = ring_alloc(s->max_scsi_lines * s->dest_pixel_bpl, s->dest_pixel_bpl, s->dest_ppl); - + s->undelivered_bytes = s->unscanned_lines * s->dest_pixel_bpl; - + DBG(23, "Scan Param:\n"); DBG(23, "pix bpl: %d hdr bpl: %d ppl: %d\n", s->pixel_bpl, s->header_bpl, s->ppl); @@ -4040,7 +4040,7 @@ sane_start_guts (SANE_Handle handle) s->undelivered_bytes, s->unscanned_lines, s->planes); DBG(23, "dest bpl: %d dest ppl: %d aspect: %f\n", s->dest_pixel_bpl, s->dest_ppl, s->exp_aspect); - + return SANE_STATUS_GOOD; } @@ -4062,7 +4062,7 @@ sane_start (SANE_Handle handle) /********************************************************************/ /* sane_read */ /********************************************************************/ -static SANE_Status +static SANE_Status sane_read_guts (SANE_Handle handle, SANE_Byte *dest_buffer, SANE_Int dest_length, SANE_Int *ret_length) { @@ -4072,7 +4072,7 @@ sane_read_guts (SANE_Handle handle, SANE_Byte *dest_buffer, ring_buffer *rb = s->rb; DBG(10, "sane_read...\n"); - + *ret_length = 0; /* default: no data */ /* we have been cancelled... */ if (s->cancel) return end_scan(s, SANE_STATUS_CANCELLED); @@ -4102,7 +4102,7 @@ sane_read_guts (SANE_Handle handle, SANE_Byte *dest_buffer, } -SANE_Status +SANE_Status sane_read (SANE_Handle handle, SANE_Byte *dest_buffer, SANE_Int dest_length, SANE_Int *ret_length) { diff --git a/backend/microtek.h b/backend/microtek.h index d4c7abf..880dc3c 100644 --- a/backend/microtek.h +++ b/backend/microtek.h @@ -1,7 +1,7 @@ /*************************************************************************** * SANE - Scanner Access Now Easy. - microtek.h + microtek.h This file Copyright 2002 Matthew Marjanovic @@ -60,13 +60,13 @@ /*******************************************************************/ -/***** enumeration of Option Descriptors *****/ +/***** enumeration of Option Descriptors *****/ /*******************************************************************/ enum Mtek_Option { OPT_NUM_OPTS = 0, - + OPT_MODE_GROUP, OPT_MODE, /* -a,b,c,g */ OPT_HALFTONE_PATTERN, /* -H */ @@ -77,13 +77,13 @@ enum Mtek_Option OPT_SOURCE, /* -t */ OPT_PREVIEW, OPT_CALIB_ONCE, - + OPT_GEOMETRY_GROUP, /* -f .... */ OPT_TL_X, /* top-left x */ OPT_TL_Y, /* top-left y */ OPT_BR_X, /* bottom-right x */ - OPT_BR_Y, /* bottom-right y */ - + OPT_BR_Y, /* bottom-right y */ + OPT_ENHANCEMENT_GROUP, OPT_EXPOSURE, OPT_BRIGHTNESS, /* -d */ @@ -91,7 +91,7 @@ enum Mtek_Option OPT_HIGHLIGHT, /* -l */ OPT_SHADOW, /* -s */ OPT_MIDTONE, /* -m */ - + OPT_GAMMA_GROUP, OPT_CUSTOM_GAMMA, OPT_ANALOG_GAMMA, @@ -106,16 +106,16 @@ enum Mtek_Option OPT_GAMMA_BIND, NUM_OPTIONS, - + OPT_BACKTRACK, /* -B */ - + /* must come last: */ RNUM_OPTIONS }; /*******************************************************************/ -/***** scanner hardware information (as discovered by INQUIRY) *****/ +/***** scanner hardware information (as discovered by INQUIRY) *****/ /*******************************************************************/ typedef struct Microtek_Info { @@ -131,7 +131,7 @@ typedef struct Microtek_Info { SANE_Byte response_data_format; #define MI_RESSTEP_1PER 0x01 #define MI_RESSTEP_5PER 0x02 - SANE_Byte res_step; + SANE_Byte res_step; #define MI_MODES_LINEART 0x01 #define MI_MODES_HALFTONE 0x02 #define MI_MODES_GRAY 0x04 /* ??????? or "MultiBit"??? XXXXX*/ @@ -139,9 +139,9 @@ typedef struct Microtek_Info { #define MI_MODES_TRANSMSV 0x20 #define MI_MODES_ONEPASS 0x40 #define MI_MODES_NEGATIVE 0x80 - SANE_Byte modes; - SANE_Int pattern_count; - SANE_Byte pattern_dwnld; + SANE_Byte modes; + SANE_Int pattern_count; + SANE_Byte pattern_dwnld; #define MI_FEED_FLATBED 0x01 #define MI_FEED_EDGEFEED 0x02 #define MI_FEED_AUTOSUPP 0x04 @@ -191,7 +191,7 @@ typedef struct Microtek_Info { #define MI_FMT_CAP_12BPP 0x04 #define MI_FMT_CAP_16BPP 0x08 SANE_Byte bit_formats; /* output bit formats capabilities */ -#define MI_EXCAP_OFF_CTL 0x01 +#define MI_EXCAP_OFF_CTL 0x01 #define MI_EXCAP_DIS_LNTBL 0x02 #define MI_EXCAP_DIS_RECAL 0x04 SANE_Byte extra_cap; @@ -240,7 +240,7 @@ typedef struct ring_buffer { size_t green_extra; /* unmatched green bytes */ size_t red_extra; /* unmatched red bytes */ - size_t complete_count; + size_t complete_count; size_t head_complete; } ring_buffer; @@ -256,7 +256,7 @@ typedef struct ring_buffer { typedef struct Microtek_Scanner { struct Microtek_Scanner *next; /* for linked list */ Microtek_Device *dev; /* raw device info */ - + SANE_Option_Descriptor sod[RNUM_OPTIONS]; /* option list for session */ Option_Value val[RNUM_OPTIONS]; /* option values for session */ @@ -295,7 +295,7 @@ typedef struct Microtek_Scanner { SANE_Int gamma_entry_size; SANE_Int gamma_bit_depth; /* SANE_Int gamma_max_entry;*/ - + SANE_Range gamma_entry_range; SANE_Range contrast_range; SANE_Range exposure_range; @@ -366,7 +366,7 @@ typedef struct Microtek_Scanner { #define MS_PRECAL_EXP_COLOR 3 SANE_Byte precal_record; /* record what precalibrations have been done */ -#define MS_SENSE_IGNORE 1 +#define MS_SENSE_IGNORE 1 int sense_flags; /* flags passed to the sense handler */ uint8_t *scsi_buffer; @@ -376,4 +376,3 @@ typedef struct Microtek_Scanner { #endif /* microtek_h */ - diff --git a/backend/microtek2.c b/backend/microtek2.c index dccd707..f7c63d6 100644 --- a/backend/microtek2.c +++ b/backend/microtek2.c @@ -554,7 +554,7 @@ sane_open(SANE_String_Const name, SANE_Handle *handle) ms->cancelled = SANE_FALSE; ms->current_pass = 0; ms->sfd = -1; - ms->pid = -1; + sanei_thread_initialize(ms->pid); ms->fp = NULL; ms->gamma_table = NULL; ms->buf.src_buf = ms->buf.src_buffer[0] = ms->buf.src_buffer[1] = NULL; @@ -692,7 +692,7 @@ add_device_list(SANE_String_Const dev_name, Microtek2_Device **mdev) if ( (hdev = strdup(dev_name)) == NULL) - { + { DBG(5, "add_device_list: malloc() for hdev failed\n"); return SANE_STATUS_NO_MEM; } @@ -760,7 +760,7 @@ attach(Microtek2_Device *md) /* device is passed in sane_open() this function may also be called */ /* from sane_open() or sane_get_devices(). */ - SANE_String model_string; + SANE_String model_string; SANE_Status status; SANE_Byte source_info; @@ -1172,7 +1172,7 @@ check_inquiry(Microtek2_Device *md, SANE_String *model_string) md->shading_depth = 12; else if ( mi->depth & MI_HASDEPTH_10 ) md->shading_depth = 10; - else + else md->shading_depth = 8; switch (mi->model_code) @@ -1353,7 +1353,7 @@ cleanup_scanner(Microtek2_Scanner *ms) if ( ms->sfd != -1 ) sanei_scsi_close(ms->sfd); ms->sfd = -1; - ms->pid = -1; + sanei_thread_invalidate(ms->pid); ms->fp = NULL; ms->current_pass = 0; ms->scanning = SANE_FALSE; @@ -1465,7 +1465,7 @@ do_authorization(char *ressource) return SANE_STATUS_ACCESS_DENIED; } } - + linep = &line[0]; device_found = 0; while ( fgets(line, MAX_LINE_LEN, fp) ) @@ -1479,7 +1479,7 @@ do_authorization(char *ressource) { DBG(2, "equal\n"); device_found = 1; - break; + break; } } } @@ -1491,9 +1491,9 @@ do_authorization(char *ressource) } fseek(fp, 0L, SEEK_SET); - + (*auth_callback) (ressource, username, password); - + status = SANE_STATUS_ACCESS_DENIED; do { @@ -1509,7 +1509,7 @@ do_authorization(char *ressource) if ( strcmp( device, ressource) != 0 ) /* not a matching entry */ continue; - linep = ++p; + linep = ++p; p = index(linep, SEPARATOR); if ( p == NULL ) continue; @@ -1616,7 +1616,7 @@ dump_area2(uint8_t *area, int len, char *info) char *outbuf; if ( ! info[0] ) - info = "No additional info available"; + info = "No additional info available"; DBG(1, "[%s]\n", info); @@ -3241,7 +3241,7 @@ sane_control_option(SANE_Handle handle, SANE_Int option, case OPT_BR_Y: if ( info ) *info |= SANE_INFO_RELOAD_PARAMS; - return SANE_STATUS_GOOD; + return SANE_STATUS_GOOD; case OPT_DISABLE_BACKTRACK: case OPT_CALIB_BACKEND: case OPT_LIGHTLID35: @@ -3300,7 +3300,7 @@ sane_control_option(SANE_Handle handle, SANE_Int option, if ( info ) *info |= SANE_INFO_RELOAD_PARAMS; - return SANE_STATUS_GOOD; + return SANE_STATUS_GOOD; case OPT_SOURCE: if ( info ) @@ -3751,12 +3751,12 @@ get_calib_params(Microtek2_Scanner *ms) Microtek2_Device *md; Microtek2_Info *mi; - + DBG(30, "get_calib_params: handle=%p\n", (void *) ms); md = ms->dev; mi = &md->info[md->scan_source]; - + if ( md->model_flags & MD_CALIB_DIVISOR_600 ) { if ( ms->x_resolution_dpi <= 600 ) @@ -3787,7 +3787,7 @@ get_calib_params(Microtek2_Scanner *ms) ms->depth = 12; else if ( mi->depth & MI_HASDEPTH_10 ) ms->depth = 10; - else + else ms->depth = 8; ms->stay = 0; @@ -3830,7 +3830,7 @@ get_scan_parameters(Microtek2_Scanner *ms) get_scan_mode_and_depth(ms, &ms->mode, &ms->depth, &ms->bits_per_pixel_in, &ms->bits_per_pixel_out); - + /* get the scan_source */ if ( strcmp(ms->val[OPT_SOURCE].s, MD_SOURCESTRING_FLATBED) == 0 ) ms->scan_source = MS_SOURCE_FLATBED; @@ -3871,19 +3871,19 @@ get_scan_parameters(Microtek2_Scanner *ms) if ( ms->mode == MS_MODE_HALFTONE ) { i = 0; - while ( strcmp(md->halftone_mode_list[i], ms->val[OPT_HALFTONE].s) ) + while ( strcmp(md->halftone_mode_list[i], ms->val[OPT_HALFTONE].s) ) ++i; ms->internal_ht_index = i; } - /* if lineart get the value for threshold */ - if ( ms->mode == MS_MODE_LINEART || ms->mode == MS_MODE_LINEARTFAKE) + /* if lineart get the value for threshold */ + if ( ms->mode == MS_MODE_LINEART || ms->mode == MS_MODE_LINEARTFAKE) ms->threshold = (uint8_t) ms->val[OPT_THRESHOLD].w; else ms->threshold = (uint8_t) M_THRESHOLD_DEFAULT; DBG(30, "get_scan_parameters: mode=%d, depth=%d, bpp_in=%d, bpp_out=%d\n", - ms->mode, ms->depth, ms->bits_per_pixel_in, + ms->mode, ms->depth, ms->bits_per_pixel_in, ms->bits_per_pixel_out); /* calculate positions, width and height in dots */ @@ -4115,7 +4115,7 @@ get_scan_mode_and_depth(Microtek2_Scanner *ms, " bits_pp_in=%d, bits_pp_out=%d, preview=%d\n", *mode, *depth, *bits_per_pixel_in, *bits_per_pixel_out, ms->val[OPT_PREVIEW].w); - + return SANE_STATUS_GOOD; } @@ -5237,8 +5237,8 @@ scsi_test_unit_ready(Microtek2_Device *md) status = sanei_scsi_cmd(sfd, tur, sizeof(tur), NULL, 0); if ( status != SANE_STATUS_GOOD ) DBG(1, "scsi_test_unit_ready: cmd '%s'\n", sane_strstatus(status)); - - sanei_scsi_close(sfd); + + sanei_scsi_close(sfd); return status; } @@ -5319,7 +5319,7 @@ sane_start(SANE_Handle handle) goto cleanup; } } - + status = get_scan_parameters(ms); if ( status != SANE_STATUS_GOOD ) goto cleanup; @@ -5349,7 +5349,7 @@ sane_start(SANE_Handle handle) /* md->status.tlamp |= MD_TLAMP_ON;*/ /* with this line on some scanners (X6, 0x91) the Flamp goes on */ } - + if ( ms->no_backtracking ) md->status.ntrack |= MD_NTRACK_ON; else @@ -5447,8 +5447,8 @@ sane_start(SANE_Handle handle) if ( status != SANE_STATUS_GOOD ) goto cleanup; } - - if ( ms->lightlid35 ) + + if ( ms->lightlid35 ) /* hopefully this leads to a switched off flatbed lamp with lightlid */ { status = scsi_read_system_status(md, ms->sfd); @@ -5457,7 +5457,7 @@ sane_start(SANE_Handle handle) md->status.flamp &= ~MD_FLAMP_ON; md->status.tlamp &= ~MD_TLAMP_ON; - + status = scsi_send_system_status(md, ms->sfd); if ( status != SANE_STATUS_GOOD ) goto cleanup; @@ -5518,7 +5518,7 @@ prepare_buffers(Microtek2_Scanner *ms) status = SANE_STATUS_GOOD; DBG(30, "prepare_buffers: ms=0x%p\n", (void *) ms); - + md = ms->dev; mi = &md->info[md->scan_source]; @@ -5541,19 +5541,19 @@ prepare_buffers(Microtek2_Scanner *ms) } /* allocate buffers */ - ms->src_buffer_size = ms->src_max_lines * ms->bpl; + ms->src_buffer_size = ms->src_max_lines * ms->bpl; - if ( ms->mode == MS_MODE_COLOR && mi->data_format == MI_DATAFMT_LPLSEGREG ) - { + if ( ms->mode == MS_MODE_COLOR && mi->data_format == MI_DATAFMT_LPLSEGREG ) + { /* In this case the data is not neccessarily in the order RGB */ /* and there may be different numbers of read red, green and blue */ /* segments. We allocate a second buffer to read new lines in */ /* and hold undelivered pixels in the other buffer */ int extra_buf_size; - extra_buf_size = 2 * ms->bpl * mi->ccd_gap + extra_buf_size = 2 * ms->bpl * mi->ccd_gap * (int) ceil( (double) mi->max_yresolution - / (double) mi->opt_resolution); + / (double) mi->opt_resolution); for ( i = 0; i < 2; i++ ) { if ( ms->buf.src_buffer[i] ) @@ -5610,15 +5610,15 @@ prepare_buffers(Microtek2_Scanner *ms) DBG(1, "sane_start: malloc() for temporary buffer failed\n"); status = SANE_STATUS_NO_MEM; goto cleanup; - } + } } - else + else ms->temporary_buffer = NULL; /* some data formats have additional information in a scan line, which */ /* is not transferred to the frontend; real_bpl is the number of bytes */ /* per line, that is copied into the frontend's buffer */ - ms->real_bpl = (uint32_t) ceil( ((double) ms->ppl * + ms->real_bpl = (uint32_t) ceil( ((double) ms->ppl * (double) ms->bits_per_pixel_out) / 8.0 ); if ( mi->onepass && ms->mode == MS_MODE_COLOR ) ms->real_bpl *= 3; @@ -5629,7 +5629,7 @@ prepare_buffers(Microtek2_Scanner *ms) cleanup: cleanup_scanner(ms); - return status; + return status; } static void @@ -5691,7 +5691,7 @@ write_shading_buf_pnm(Microtek2_Scanner *ms, uint32_t lines) + mi->color_sequence[color] * ( ms->bpl / ms->lut_entry_size / 3 ) + pixel); - + break; case MI_DATAFMT_CHUNKY: case MI_DATAFMT_9800: @@ -7067,7 +7067,7 @@ set_exposure(Microtek2_Scanner *ms) uint8_t exposure; uint8_t exposure_rgb[3]; - + DBG(30, "set_exposure: ms=%p\n", (void *) ms); md = ms->dev; @@ -7118,7 +7118,7 @@ set_exposure(Microtek2_Scanner *ms) for ( byte = 0; byte < size; byte++ ) { val32 = (uint32_t) *((uint16_t *) from + color * size + byte); - val32 = MIN(val32 + val32 + val32 = MIN(val32 + val32 * (2 * (uint32_t) exposure_rgb[color] / 100), (uint32_t) maxval); *((uint16_t *) from + color * size + byte) = (uint16_t) val32; @@ -7162,7 +7162,7 @@ reader_process(void *data) DBG(1, "reader_process: fdopen() failed, errno=%d\n", errno); return SANE_STATUS_IO_ERROR; } - + if ( ms->auto_adjust == 1 ) { if ( temp_current == NULL ) @@ -7171,7 +7171,7 @@ reader_process(void *data) while ( ms->src_remaining_lines > 0 ) { - + ms->src_lines_to_read = MIN(ms->src_remaining_lines, ms->src_max_lines); ms->transfer_length = ms->src_lines_to_read * ms->bpl; @@ -7182,13 +7182,13 @@ reader_process(void *data) sigprocmask (SIG_BLOCK, &sigterm_set, 0); status = scsi_read_image(ms, ms->buf.src_buf, (ms->depth > 8) ? 2 : 1); sigprocmask (SIG_UNBLOCK, &sigterm_set, 0); - if ( status != SANE_STATUS_GOOD ) + if ( status != SANE_STATUS_GOOD ) return SANE_STATUS_IO_ERROR; ms->src_remaining_lines -= ms->src_lines_to_read; /* prepare data for frontend */ - switch (ms->mode) + switch (ms->mode) { case MS_MODE_COLOR: if ( ! mi->onepass ) @@ -7197,9 +7197,9 @@ reader_process(void *data) DBG(1, "reader_process: 3 pass not yet supported\n"); return SANE_STATUS_IO_ERROR; } - else + else { - switch ( mi->data_format ) + switch ( mi->data_format ) { case MI_DATAFMT_CHUNKY: case MI_DATAFMT_9800: @@ -7225,9 +7225,9 @@ reader_process(void *data) default: DBG(1, "reader_process: format %d\n", mi->data_format); return SANE_STATUS_IO_ERROR; - } + } } - break; + break; case MS_MODE_GRAY: status = gray_proc_data(ms); if ( status != SANE_STATUS_GOOD ) @@ -7260,7 +7260,7 @@ reader_process(void *data) /*---------- chunky_proc_data() ----------------------------------------------*/ -static SANE_Status +static SANE_Status chunky_proc_data(Microtek2_Scanner *ms) { SANE_Status status; @@ -7275,7 +7275,7 @@ chunky_proc_data(Microtek2_Scanner *ms) DBG(30, "chunky_proc_data: ms=%p\n", (void *) ms); - + md = ms->dev; bits_pp_in = ms->bits_per_pixel_in; bits_pp_out = ms->bits_per_pixel_out; @@ -7621,7 +7621,7 @@ segreg_copy_pixels(Microtek2_Scanner *ms) val = MAX( 0.0, val); val = MIN( maxval, val ); } - + val16 = (uint16_t) val; val8 = (uint8_t) val; @@ -7789,7 +7789,7 @@ lplconcat_copy_pixels(Microtek2_Scanner *ms, DBG(1, "lplconcat_copy_pixels: Unknown depth %d\n", ms->depth); return SANE_STATUS_IO_ERROR; } - + if ((md->model_flags & MD_READ_CONTROL_BIT) && ms->calib_backend && ( ms->condensed_shading_w != NULL )) /* apply shading by backend */ diff --git a/backend/microtek2.h b/backend/microtek2.h index 2a1f697..326eac8 100644 --- a/backend/microtek2.h +++ b/backend/microtek2.h @@ -1,7 +1,7 @@ /******************************************************************************* * SANE - Scanner Access Now Easy. - microtek2.h + microtek2.h This file (C) 1998, 1999 Bernd Schroeder 2000, 2001 Karsten Festag @@ -160,7 +160,7 @@ #define RG_COLOR(d,p) (d)[5] |= (((p) << 5) & 0x60) #define RG_WORD(d,p) (d)[5] |= ((p) & 0x01) #define RG_TRANSFERLENGTH(d,p) (d)[7] = (((p) >> 8) & 0xff); \ - (d)[8] = ((p) & 0xff) + (d)[8] = ((p) & 0xff) /* SEND GAMMA TABLE */ #define SG_SET_CMD(d) (d)[0] = 0x2a; (d)[1] = 0x00; (d)[2] = 0x03; \ @@ -172,7 +172,7 @@ #define SG_SET_COLOR(d,p) (d)[5] |= (((p) << 5) & 0x60) #define SG_SET_WORD(d,p) (d)[5] |= ((p) & 0x01) #define SG_SET_TRANSFERLENGTH(d,p) (d)[7] = (((p) >> 8) & 0xff); \ - (d)[8] = ((p) & 0xff) + (d)[8] = ((p) & 0xff) #define SG_DATA_P SG_CMD_L @@ -394,7 +394,7 @@ #define SW_BODY_L 61 #define SW_CMD_P 0 /* command at postion 0 */ #define SW_HEADER_P SW_CMD_L -#define SW_BODY_P(n) SW_CMD_L + SW_HEADER_L + (n) * SW_BODY_L +#define SW_BODY_P(n) SW_CMD_L + SW_HEADER_L + (n) * SW_BODY_L /* d: SW_CMD_P, SW_HEADER_P, SW_BODY_P(n) */ #define SW_PARAM_LENGTH(d,p) (d)[6] = ((p) >> 16) & 0xff; \ @@ -402,7 +402,7 @@ (d)[8] = (p) & 0xff #define SW_WNDDESCVAL SW_BODY_L #define SW_WNDDESCLEN(d,p) (d)[6] = ((p) >> 8) & 0xff; \ - (d)[7] = (p) & 0xff + (d)[7] = (p) & 0xff #define SW_WNDID(d,p) (d)[0] = (p) #define SW_XRESDPI(d,p) (d)[2] = ((p) >> 8) & 0xff; \ (d)[3] = (p) & 0xff @@ -415,15 +415,15 @@ #define SW_YPOSTL(d,p) (d)[10] = ((p) >> 24) & 0xff; \ (d)[11] = ((p) >> 16) & 0xff; \ (d)[12] = ((p) >> 8) & 0xff; \ - (d)[13] = (p) & 0xff + (d)[13] = (p) & 0xff #define SW_WNDWIDTH(d,p) (d)[14] = ((p) >> 24) & 0xff; \ (d)[15] = ((p) >> 16) & 0xff; \ (d)[16] = ((p) >> 8) & 0xff; \ - (d)[17] = (p) & 0xff + (d)[17] = (p) & 0xff #define SW_WNDHEIGHT(d,p) (d)[18] = ((p) >> 24) & 0xff; \ (d)[19] = ((p) >> 16) & 0xff; \ (d)[20] = ((p) >> 8) & 0xff; \ - (d)[21] = (p) & 0xff + (d)[21] = (p) & 0xff #define SW_BRIGHTNESS_M(d,p) (d)[22] = (p) #define SW_THRESHOLD(d,p) (d)[23] = (p) #define SW_CONTRAST_M(d,p) (d)[24] = (p) @@ -1219,7 +1219,7 @@ static SANE_Status dump_to_file(uint8_t *, int, char *, char *); #endif -static SANE_Status +static SANE_Status dump_attributes(Microtek2_Info *); static void @@ -1251,7 +1251,7 @@ gray_set_exposure(uint8_t *, uint32_t, uint8_t, uint8_t); static SANE_Status init_options(Microtek2_Scanner *, uint8_t); -static SANE_Status +static SANE_Status lineartfake_copy_pixels(Microtek2_Scanner *, uint8_t *, uint32_t, uint8_t, int, FILE *); diff --git a/backend/mustek.c b/backend/mustek.c index 8426dfe..eafdb99 100644 --- a/backend/mustek.c +++ b/backend/mustek.c @@ -3,7 +3,7 @@ 1998 Andreas Bolsch for extension to ScanExpress models version 0.6, 2000-2005 Henning Meier-Geinitz, 2003 James Perry (600 EP). - + This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -188,9 +188,9 @@ static SANE_String_Const halftone_list[] = { /* Range used for brightness and contrast */ static const SANE_Range percentage_range = { - -100 << SANE_FIXED_SCALE_SHIFT, /* minimum */ - 100 << SANE_FIXED_SCALE_SHIFT, /* maximum */ - 1 << SANE_FIXED_SCALE_SHIFT /* quantization */ + SANE_FIX(-100), /* minimum */ + SANE_FIX(100), /* maximum */ + SANE_FIX(1) /* quantization */ }; /* SCSI command buffers used by the backend */ @@ -200,9 +200,15 @@ static const SANE_Byte scsi_inquiry[] = { static const SANE_Byte scsi_test_unit_ready[] = { MUSTEK_SCSI_TEST_UNIT_READY, 0x00, 0x00, 0x00, 0x00, 0x00 }; +/* Remove #ifdef and this comment when this SCSI command is used for + something. Keeping this definition around so we don't loose info + about the protocol. + */ +#ifdef ENABLE_MUSTEK_SCSI_AREA_AND_WINDOWS static const SANE_Byte scsi_area_and_windows[] = { MUSTEK_SCSI_AREA_AND_WINDOWS, 0x00, 0x00, 0x00, 0x09, 0x00 }; +#endif static const SANE_Byte scsi_request_sense[] = { MUSTEK_SCSI_REQUEST_SENSE, 0x00, 0x00, 0x00, 0x04, 0x00 }; @@ -227,10 +233,16 @@ static const SANE_Byte scsi_read_data[] = { static const SANE_Byte scsi_send_data[] = { MUSTEK_SCSI_SEND_DATA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; +/* Remove #ifdef and this comment when this SCSI command is used for + something. Keeping this definition around so we don't loose info + about the protocol. + */ +#ifdef ENABLE_MUSTEK_SCSI_LOOKUP_TABLE static const SANE_Byte scsi_lookup_table[] = { MUSTEK_SCSI_LOOKUP_TABLE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; +#endif /* prototypes */ static SANE_Status area_and_windows (Mustek_Scanner * s); @@ -1214,7 +1226,7 @@ attach (SANE_String_Const devname, Mustek_Device ** devp, SANE_Bool may_wait) /* Paragon 1-pass 14" series I */ /* I haven't seen a single report for this, but it is mentioned in - the old man page. All reported Paragon 1200SP had a model name + the old man page. All reported Paragon 1200SP had a model name "MFS-12000SP" */ else if (strncmp ((SANE_String) model_name, "MSF-12000SP", 11) == 0) { @@ -1269,7 +1281,7 @@ attach (SANE_String_Const devname, Mustek_Device ** devp, SANE_Bool may_wait) dev->y_trans_range.max = SANE_FIX (255.0); dev->dpi_range.max = SANE_FIX (600); /* Looks like at least some versions of this scanner produce black images - in gray and color mode if MUSTEK_FORCE_GAMMA is not set. At least + in gray and color mode if MUSTEK_FORCE_GAMMA is not set. At least versions 2.01, 2.02 and 2.10 are reported as having this bug. 3.12 doesn't need this workaround but it doesn't harm either. */ dev->flags |= MUSTEK_FLAG_FORCE_GAMMA; @@ -1451,12 +1463,12 @@ attach (SANE_String_Const devname, Mustek_Device ** devp, SANE_Bool may_wait) dev->y_range.min = SANE_FIX (0); dev->x_range.max = SANE_FIX (215.9); dev->y_range.max = SANE_FIX (291.2); - + dev->x_trans_range.min = SANE_FIX (0); dev->y_trans_range.min = SANE_FIX (0); dev->x_trans_range.max = SANE_FIX (150.0); dev->y_trans_range.max = SANE_FIX (175.0); - + dev->dpi_range.max = SANE_FIX (1200); dev->dpi_range.min = SANE_FIX (60); dev->flags |= MUSTEK_FLAG_SE; @@ -1476,12 +1488,12 @@ attach (SANE_String_Const devname, Mustek_Device ** devp, SANE_Bool may_wait) dev->y_range.min = SANE_FIX (0); dev->x_range.max = SANE_FIX (215.9); dev->y_range.max = SANE_FIX (291.2); - + dev->x_trans_range.min = SANE_FIX (0); dev->y_trans_range.min = SANE_FIX (0); dev->x_trans_range.max = SANE_FIX (150.0); dev->y_trans_range.max = SANE_FIX (175.0); - + dev->dpi_range.max = SANE_FIX (1200); dev->dpi_range.min = SANE_FIX (60); dev->flags |= MUSTEK_FLAG_SE; @@ -1672,7 +1684,7 @@ attach (SANE_String_Const devname, Mustek_Device ** devp, SANE_Bool may_wait) "careful and read\n the PROBLEMS file in the sane directory. " "Please set the debug level of this\n backend to maximum " "(export SANE_DEBUG_MUSTEK=255) and send the output of\n " - "scanimage -L to the SANE mailing list sane-devel@lists.alioth.debian.org. " + "scanimage -L to the SANE mailing list sane-devel@alioth-lists.debian.net. " "Please include\n the exact model name of your scanner and to " "which extend it works.\n"); } @@ -2996,7 +3008,7 @@ do_stop (Mustek_Scanner * s) status = exit_status; } - s->reader_pid = -1; + sanei_thread_invalidate (s->reader_pid); } if (s->fd >= 0) @@ -3415,7 +3427,7 @@ fix_line_distance_n_2 (Mustek_Scanner * s, SANE_Int num_lines, SANE_Int bpl, if (!s->ld.buf[0]) { /* This buffer must be big enough to hold maximum line distance - times max_bpl bytes. The maximum line distance for the + times max_bpl bytes. The maximum line distance for the Paragon 600 II N scanner is 23, so 40 should be safe. */ DBG (5, "fix_line_distance_n_2: allocating temp buffer of %d*%d bytes\n", @@ -3495,7 +3507,7 @@ fix_line_distance_n_1 (Mustek_Scanner * s, SANE_Int num_lines, SANE_Int bpl, if (!s->ld.buf[0]) { /* This buffer must be big enough to hold maximum line distance - times max_bpl bytes. The maximum line distance for the 600 II N + times max_bpl bytes. The maximum line distance for the 600 II N is 23, so 40 is safe. */ DBG (5, "fix_line_distance_n_1: allocating temp buffer of %d*%d bytes\n", @@ -3643,7 +3655,7 @@ fix_line_distance_se (Mustek_Scanner * s, SANE_Int num_lines, SANE_Int bpl, DBG (5, "fix_line_distance_se: start color: %d; %d lines \n", s->ld.color, num_lines); - /* First scan the lines read and count red, green and blue ones. + /* First scan the lines read and count red, green and blue ones. Since we will step through the lines a second time we must not alter any global variables here! */ for (color = 0; color < 3; ++color) @@ -3676,8 +3688,8 @@ fix_line_distance_se (Mustek_Scanner * s, SANE_Int num_lines, SANE_Int bpl, color = 0; } - /* Calculate how many triples of color lines we can output now. - Because the number of available red lines is always greater + /* Calculate how many triples of color lines we can output now. + Because the number of available red lines is always greater than for the other colors we may ignore the red ones here. */ num_lines = MIN (lines[1], lines[2]); @@ -3688,7 +3700,7 @@ fix_line_distance_se (Mustek_Scanner * s, SANE_Int num_lines, SANE_Int bpl, lines[0] = lines[1] = lines[2] = num_lines; - /* Output the color lines saved in previous call first. + /* Output the color lines saved in previous call first. Note that data is converted in r/g/b interleave on the fly. */ for (color = 0; color < 3; ++color) { @@ -4710,7 +4722,7 @@ output_data (Mustek_Scanner * s, FILE * fp, else { DBG (5, "output_data: write %d lpb; %d bpl\n", lines_per_buffer, bpl); - /* Scale x-resolution above 1/2 of the maximum resolution for + /* Scale x-resolution above 1/2 of the maximum resolution for SE and Pro scanners */ if ((s->hw->flags & MUSTEK_FLAG_ENLARGE_X) && (s->val[OPT_RESOLUTION].w > (s->hw->dpi_range.max / 2))) @@ -6011,7 +6023,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, { /* enable brightness/contrast for when in a binary mode */ s->opt[OPT_BRIGHTNESS].cap &= ~SANE_CAP_INACTIVE; - /* The SE and paragon models support only threshold + /* The SE and paragon models support only threshold in lineart */ if (!(s->hw->flags & MUSTEK_FLAG_SE) && !(s->hw->flags & MUSTEK_FLAG_PRO)) @@ -6548,8 +6560,8 @@ sane_start (SANE_Handle handle) s->line = 0; - /* don't call any SIGTERM or SIGCHLD handlers - this is to stop xsane and other frontends from calling + /* don't call any SIGTERM or SIGCHLD handlers + this is to stop xsane and other frontends from calling its quit handlers */ memset (&act, 0, sizeof (act)); sigaction (SIGTERM, &act, 0); diff --git a/backend/mustek.conf.in b/backend/mustek.conf.in index 3233fd8..3868d0e 100644 --- a/backend/mustek.conf.in +++ b/backend/mustek.conf.in @@ -1,7 +1,7 @@ # See sane-mustek(5) for documentation. #--------------------------- Global options --------------------------------- -#option strip-height 1 # some SCSI adapters need this; scanning may +#option strip-height 1 # some SCSI adapters need this; scanning may # be faster without this option #option force-wait # wait for scanner to be ready (only necessary # when scanner freezes) @@ -36,6 +36,6 @@ scsi SCANNER # option linedistance-fix # only neccessary with firmware 2.x #-------------------------- 600 II EP --------------------------------------- -#parport0 - # parport0, parport1, ..., +#parport0 + # parport0, parport1, ..., # or: 0x378(=lpt1), 0x278(=lpt2), 0x3bc(=lpt3) diff --git a/backend/mustek.h b/backend/mustek.h index 5532af5..ca7aa2e 100644 --- a/backend/mustek.h +++ b/backend/mustek.h @@ -3,7 +3,7 @@ extension to ScanExpress models version 0.5, 2000 - 2005 Henning Meier-Geinitz. 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 @@ -38,7 +38,7 @@ 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. + If you do not wish that, delete this exception notice. This file implements a SANE backend for Mustek and some Trust flatbed scanners with SCSI or proprietary interface. */ @@ -292,7 +292,7 @@ typedef struct Mustek_Scanner /* these are used for SE, MFS and N line-distance correction: */ SANE_Byte *buf[3]; /* these are used for N line-distance correction only: */ - SANE_Int ld_line; /* line # currently processed in + SANE_Int ld_line; /* line # currently processed in ld-correction */ SANE_Int lmod3; /* line # modulo 3 */ } diff --git a/backend/mustek_pp.c b/backend/mustek_pp.c index 9c9a533..912c3bd 100644 --- a/backend/mustek_pp.c +++ b/backend/mustek_pp.c @@ -86,7 +86,7 @@ #include "mustek_pp_drivers.h" #define MIN(a,b) ((a) < (b) ? (a) : (b)) - + /* converts millimeter to pixels at a given resolution */ #define MM_TO_PIXEL(mm, dpi) (((float )mm * 5.0 / 127.0) * (float)dpi) /* and back */ @@ -120,27 +120,27 @@ static Mustek_pp_Handle *first_hndl = NULL; static SANE_String_Const mustek_pp_modes[4] = {SANE_VALUE_SCAN_MODE_LINEART, SANE_VALUE_SCAN_MODE_GRAY, SANE_VALUE_SCAN_MODE_COLOR, NULL}; static SANE_Word mustek_pp_modes_size = 10; - + static SANE_String_Const mustek_pp_speeds[6] = {"Slowest", "Slower", "Normal", "Faster", "Fastest", NULL}; static SANE_Word mustek_pp_speeds_size = 8; -static SANE_Word mustek_pp_depths[5] = {4, 8, 10, 12, 16}; +static SANE_Word mustek_pp_depths[5] = {4, 8, 10, 12, 16}; /* prototypes */ static void free_cfg_options(int *numoptions, Mustek_pp_config_option** options); static SANE_Status do_eof(Mustek_pp_Handle *hndl); static SANE_Status do_stop(Mustek_pp_Handle *hndl); static int reader_process (Mustek_pp_Handle * hndl, int pipe); -static SANE_Status sane_attach(SANE_String_Const port, SANE_String_Const name, +static SANE_Status sane_attach(SANE_String_Const port, SANE_String_Const name, SANE_Int driver, SANE_Int info); static void init_options(Mustek_pp_Handle *hndl); -static void attach_device(SANE_String *driver, SANE_String *name, +static void attach_device(SANE_String *driver, SANE_String *name, SANE_String *port, SANE_String *option_ta); /* - * Auxiliary function for freeing arrays of configuration options, + * Auxiliary function for freeing arrays of configuration options, */ -static void +static void free_cfg_options(int *numoptions, Mustek_pp_config_option** options) { int i; @@ -225,7 +225,7 @@ do_stop(Mustek_pp_Handle *hndl) * * EDG - Jan 14, 2004: * Make sure that the parport is released again by the child process - * under all circumstances, because otherwise the parent process may no + * under all circumstances, because otherwise the parent process may no * longer be able to claim it (they share the same file descriptor, and * the kernel doesn't release the child's claim because the file * descriptor isn't cleaned up). If that would happen, the lamp may stay @@ -267,13 +267,13 @@ reader_process (Mustek_pp_Handle * hndl, int pipe) sigemptyset (&sigterm_set); sigaddset (&sigterm_set, SIGTERM); - + if (!(buffer = malloc (hndl->params.bytes_per_line))) return SANE_STATUS_NO_MEM; - + if (!(fp = fdopen(pipe, "w"))) return SANE_STATUS_IO_ERROR; - + fd_to_release = hndl->fd; memset (&act, 0, sizeof(act)); act.sa_handler = sigterm_handler; @@ -290,11 +290,11 @@ reader_process (Mustek_pp_Handle * hndl, int pipe) sigprocmask (SIG_BLOCK, &sigterm_set, NULL); hndl->dev->func->read (hndl, buffer); - + if (getppid() == 1) { /* The parent process has died. Stop the scan (to make sure that the lamp is off and returns home). This is - a safety measure to make sure that we don't break + a safety measure to make sure that we don't break the scanner in case the frontend crashes. */ DBG (1, "reader_process: front-end died; aborting.\n"); hndl->dev->func->stop (hndl); @@ -312,7 +312,7 @@ reader_process (Mustek_pp_Handle * hndl, int pipe) return SANE_STATUS_GOOD; } - + /* sane_attach: @@ -334,7 +334,7 @@ sane_attach (SANE_String_Const port, SANE_String_Const name, SANE_Int driver, SA { Mustek_pp_Device *dev; - DBG (3, "sane_attach: attaching device ``%s'' to port %s (driver %s v%s by %s)\n", + DBG (3, "sane_attach: attaching device ``%s'' to port %s (driver %s v%s by %s)\n", name, port, Mustek_pp_Drivers[driver].driver, Mustek_pp_Drivers[driver].version, Mustek_pp_Drivers[driver].author); @@ -355,7 +355,7 @@ sane_attach (SANE_String_Const port, SANE_String_Const name, SANE_Int driver, SA dev->sane.name = dev->name = strdup (name); dev->port = strdup (port); dev->info = info; /* Modified by EDG */ - + /* Transfer the options parsed from the configuration file */ dev->numcfgoptions = numcfgoptions; dev->cfgoptions = cfgoptions; @@ -469,7 +469,7 @@ init_options(Mustek_pp_Handle *hndl) /* color dept */ hndl->opt[OPT_DEPTH].name = SANE_NAME_BIT_DEPTH; hndl->opt[OPT_DEPTH].title = SANE_TITLE_BIT_DEPTH; - hndl->opt[OPT_DEPTH].desc = + hndl->opt[OPT_DEPTH].desc = "Number of bits per sample for color scans, typical values are 8 for truecolor (24bpp)" "up to 16 for far-to-many-color (48bpp)."; hndl->opt[OPT_DEPTH].type = SANE_TYPE_INT; @@ -634,7 +634,7 @@ init_options(Mustek_pp_Handle *hndl) * this driver is called to initialize the device. */ static void -attach_device(SANE_String *driver, SANE_String *name, +attach_device(SANE_String *driver, SANE_String *name, SANE_String *port, SANE_String *option_ta) { int found = 0, driver_no, port_no; @@ -681,15 +681,15 @@ attach_device(SANE_String *driver, SANE_String *name, if (*option_ta) free (*option_ta); *name = *port = *driver = *option_ta = 0; - + /* In case of a successful initialization, the configuration options should have been transfered to the device, but this function can deal with that. */ free_cfg_options(&numcfgoptions, &cfgoptions); } - + /* sane_init: - * Reads configuration file and registers hardware driver + * Reads configuration file and registers hardware driver * * ChangeLog: * @@ -711,7 +711,7 @@ attach_device(SANE_String *driver, SANE_String *name, * * if the optional argument "option_ta" is present the driver uses special * parameters fitting for a trasparency adapter. - */ + */ SANE_Status sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) @@ -740,9 +740,9 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) char driver_name[64]; const char **devices = sanei_pa4s2_devices(); int device_no; - + DBG (2, "sane_init: could not open configuration file\n"); - + for (device_no = 0; devices[device_no] != NULL; device_no++) { DBG (3, "sane_init: trying ``%s''\n", devices[device_no]); @@ -774,14 +774,14 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) if (strncmp(config_line_ptr, "scanner", 7) == 0) { config_line_ptr += 7; - + if (name) { /* Parsing of previous scanner + options is finished. Attach the device before we parse the next section. */ attach_device(&driver, &name, &port, &option_ta); } - + config_line_ptr = sanei_config_skip_whitespace (config_line_ptr); if (!*config_line_ptr) { @@ -858,7 +858,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) config_line_ptr = sanei_config_get_string (config_line_ptr, &option_ta); - if ((option_ta == NULL) || (!*option_ta) || + if ((option_ta == NULL) || (!*option_ta) || (strcasecmp (option_ta, "use_ta") != 0)) { DBG (1, "sane_init: parse error in line %d after " @@ -889,12 +889,12 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) } else if (strncmp(config_line_ptr, "option", 6) == 0) { - /* Format for options: option [] - Note that the value is optional. */ + /* Format for options: option [] + Note that the value is optional. */ char *optname, *optval = 0; Mustek_pp_config_option *tmpoptions; - config_line_ptr += 6; + config_line_ptr += 6; config_line_ptr = sanei_config_skip_whitespace (config_line_ptr); if (!*config_line_ptr) { @@ -918,7 +918,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) { /* The option has a value. No need to check the value; that's up to the backend */ - config_line_ptr = sanei_config_get_string (config_line_ptr, + config_line_ptr = sanei_config_get_string (config_line_ptr, &optval); config_line_ptr = sanei_config_skip_whitespace (config_line_ptr); @@ -927,10 +927,10 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) if (*config_line_ptr) { DBG (1, "sane_init: parse error in line %d after " - "``option %s %s''\n", line, optname, + "``option %s %s''\n", line, optname, (optval == 0 ? "" : optval)); free (optname); - if (optval) + if (optval) free (optval); continue; } @@ -959,14 +959,14 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) DBG (1, "sane_init: parse error in line %d: unexpected " " ``option''\n", line); free (optname); - if (optval) + if (optval) free (optval); continue; } /* Extend the (global) array of options */ - tmpoptions = realloc(cfgoptions, + tmpoptions = realloc(cfgoptions, (numcfgoptions+1)*sizeof(cfgoptions[0])); if (!tmpoptions) { @@ -987,7 +987,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) } } - + /* If we hit the end of the file, we still may have to process the last driver */ if (name) @@ -996,7 +996,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) fclose(fp); return SANE_STATUS_GOOD; -} +} /* sane_exit: * Unloads all drivers and frees allocated memory @@ -1060,7 +1060,7 @@ sane_exit (void) */ /*ARGSUSED*/ SANE_Status -sane_get_devices (const SANE_Device *** device_list, +sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only __UNUSED__) { int ctr; @@ -1078,7 +1078,7 @@ sane_get_devices (const SANE_Device *** device_list, } dev = devlist; - + for (ctr=0 ; ctrsane; dev = dev->next; @@ -1142,7 +1142,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) return SANE_STATUS_INVAL; } - DBG (3, "sane_open: Using device ``%s'' (driver %s v%s by %s)\n", + DBG (3, "sane_open: Using device ``%s'' (driver %s v%s by %s)\n", dev->name, dev->func->driver, dev->func->version, dev->func->author); if ((hndl = malloc (sizeof (Mustek_pp_Handle))) == NULL) { @@ -1151,7 +1151,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) return SANE_STATUS_NO_MEM; } - + if ((status = dev->func->open (dev->port, dev->caps, &fd)) != SANE_STATUS_GOOD) { DBG (1, "sane_open: could not open device (%s)\n", @@ -1167,32 +1167,32 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) hndl->pipe = -1; init_options (hndl); - + dev->func->setup (hndl); - + /* Initialize driver-specific configuration options. This must be done after calling the setup() function because only then the driver is guaranteed to be fully initialized */ for (i = 0; inumcfgoptions; ++i) { - status = dev->func->config (hndl, + status = dev->func->config (hndl, dev->cfgoptions[i].name, dev->cfgoptions[i].value); if (status != SANE_STATUS_GOOD) { DBG (1, "sane_open: could not set option %s for device (%s)\n", dev->cfgoptions[i].name, sane_strstatus (status)); - - /* Question: should the initialization be aborted when an - option cannot be handled ? - The driver should have reasonable built-in defaults, so - an illegal option value or an unknown option should not + + /* Question: should the initialization be aborted when an + option cannot be handled ? + The driver should have reasonable built-in defaults, so + an illegal option value or an unknown option should not be fatal. Therefore, it's probably ok to ignore the error. */ } } first_hndl = hndl; - + *handle = hndl; return SANE_STATUS_GOOD; @@ -1297,7 +1297,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) * values aren't supported. * * before a value is written, some checks are performed. Depending - * on the option, that is written, other options also change + * on the option, that is written, other options also change * */ SANE_Status @@ -1487,7 +1487,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, hndl->opt[OPT_GAMMA_VECTOR_B].cap |= SANE_CAP_INACTIVE; hndl->opt[OPT_DEPTH].cap |= SANE_CAP_INACTIVE; - + if ((hndl->dev->caps & CAP_DEPTH) && (strcmp(val, SANE_VALUE_SCAN_MODE_COLOR) == 0)) hndl->opt[OPT_DEPTH].cap &= ~SANE_CAP_INACTIVE; @@ -1543,7 +1543,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, * supported) or 24bit by default * (ignored in bw/grayscale or if not * supported) - * dpi: resolution + * dpi: resolution * invert: if supported else defaults to false * gamma: if supported and selected * ta: if supported by the device @@ -1577,9 +1577,9 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) hndl->depth = hndl->val[OPT_DEPTH].w; else hndl->depth = 8; - + dpi = (int) (SANE_UNFIX (hndl->val[OPT_RESOLUTION].w) + 0.5); - + hndl->res = dpi; if (hndl->dev->caps & CAP_INVERT) @@ -1603,11 +1603,11 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) if (strcmp(mustek_pp_speeds[ctr], hndl->val[OPT_SPEED].s) == 0) hndl->speed = ctr; - + } else hndl->speed = SPEED_NORMAL; - + mode = hndl->val[OPT_MODE].s; if (strcmp (mode, SANE_VALUE_SCAN_MODE_LINEART) == 0) @@ -1651,7 +1651,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) MIN ((int) (MM_TO_PIXEL (SANE_UNFIX(hndl->val[OPT_BR_Y].w), hndl->dev->maxres) + 0.5), hndl->dev->maxvsize); - + /* If necessary, swap the upper and lower boundaries to avoid negative distances. */ if (hndl->topX > hndl->bottomX) { @@ -1913,7 +1913,7 @@ sane_set_io_mode (SANE_Handle handle, SANE_Bool non_blocking) if (hndl->state != STATE_SCANNING) return SANE_STATUS_INVAL; - + if (fcntl (hndl->pipe, F_SETFL, non_blocking ? O_NONBLOCK : 0) < 0) { @@ -1943,7 +1943,7 @@ sane_get_select_fd (SANE_Handle handle, SANE_Int * fd) if (hndl->state != STATE_SCANNING) return SANE_STATUS_INVAL; - + *fd = hndl->pipe; return SANE_STATUS_GOOD; diff --git a/backend/mustek_pp.conf.in b/backend/mustek_pp.conf.in index 17f0e26..b2abf9a 100644 --- a/backend/mustek_pp.conf.in +++ b/backend/mustek_pp.conf.in @@ -12,7 +12,7 @@ # # SANE_DEBUG_SANEI_PA4S2=128 scanimage -L # ... # hangs here -> [sanei_pa4s2] sanei_pa4s2_readbyte: read in EPP mode -# +# # Scanner definition template: # ============================ # @@ -39,20 +39,20 @@ # - cis1200+ (for Mustek 1200CP+ & OEM versions), # - ccd300 (for Mustek 600 III EPP & OEM versions) # - ... more types will be added in the future -# +# # is a name of an option, and an optional value # for the option. # Currently available options for *CIS* type scanners are: -# - top_adjust : +# - top_adjust : # Vertical adjustment of origin, in millimeter. -# Values between -5.0 and +5.0 mm are possible +# Values between -5.0 and +5.0 mm are possible # (floating point). # Default: 0.0 -# - slow_skip: +# - slow_skip: # Boolean option. Disables fast skipping to the start # of the scan region. May be necessary in case fast # skipping results in inaccuracies. -# Default: fast skipping enabled +# Default: fast skipping enabled # - bw : # Black/white discrimination value for lineart scans. # Pixel values below that value are considered black, diff --git a/backend/mustek_pp.h b/backend/mustek_pp.h index 19f1765..09b4ceb 100644 --- a/backend/mustek_pp.h +++ b/backend/mustek_pp.h @@ -47,13 +47,13 @@ #if defined(HAVE_SYS_TIME_H) # include #endif - + #define DEBUG_NOT_STATIC #include "../include/sane/sanei_debug.h" /* Please note: ASSERT won't go away if you define NDEBUG, it just won't * output a message when ASSERT failes. So if "cond" does anything, it will - * be executed, even if NDEBUG is defined... + * be executed, even if NDEBUG is defined... */ #define ASSERT(cond, retval) do { \ if (!(cond)) { \ @@ -112,7 +112,7 @@ typedef struct { void (*setup)(SANE_Handle hndl); /* processes a configuration option */ - SANE_Status (*config)(SANE_Handle hndl, + SANE_Status (*config)(SANE_Handle hndl, SANE_String_Const optname, SANE_String_Const optval); @@ -150,7 +150,7 @@ typedef struct Mustek_pp_config_option { SANE_String name; SANE_String value; - + } Mustek_pp_config_option; typedef struct Mustek_pp_Device { @@ -174,11 +174,11 @@ typedef struct Mustek_pp_Device { /* functions */ Mustek_pp_Functions *func; - + /* Modified by EDG: device identification is needed to initialize private device descriptor */ SANE_Int info; - + /* Array of configuration file options */ int numcfgoptions; Mustek_pp_config_option *cfgoptions; @@ -240,8 +240,8 @@ typedef struct Mustek_pp_Handle { struct Mustek_pp_Handle *next; - - + + Mustek_pp_Device *dev; int fd; @@ -250,7 +250,7 @@ typedef struct Mustek_pp_Handle { int pipe; int state; - + int topX, topY; int bottomX, bottomY; int mode; @@ -263,7 +263,7 @@ typedef struct Mustek_pp_Handle { int use_ta; int depth; int speed; - + /* current parameters */ SANE_Parameters params; @@ -271,7 +271,7 @@ typedef struct Mustek_pp_Handle { SANE_Range x_range; SANE_Range y_range; SANE_Range gamma_range; - + /* options */ SANE_Option_Descriptor opt[NUM_OPTIONS]; Option_Value val[NUM_OPTIONS]; @@ -280,7 +280,7 @@ typedef struct Mustek_pp_Handle { time_t lamp_on; void *priv; - + } Mustek_pp_Handle; #endif /* mustek_pp_h */ diff --git a/backend/mustek_pp_ccd300.c b/backend/mustek_pp_ccd300.c index 41ad0ec..2bf06b3 100644 --- a/backend/mustek_pp_ccd300.c +++ b/backend/mustek_pp_ccd300.c @@ -36,8 +36,8 @@ 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. - + If you do not wish that, delete this exception notice. + This file implements the hardware driver scanners using a 300dpi CCD */ #include "mustek_pp_ccd300.h" @@ -1881,7 +1881,7 @@ ccd300_start (SANE_Handle handle) priv->hwres); priv->skipimagebytes = dev->topX; - + sanei_pa4s2_enable (dev->fd, SANE_TRUE); config_ccd (dev); set_voltages (dev); diff --git a/backend/mustek_pp_ccd300.h b/backend/mustek_pp_ccd300.h index 5dfe42d..a8cf009 100644 --- a/backend/mustek_pp_ccd300.h +++ b/backend/mustek_pp_ccd300.h @@ -36,8 +36,8 @@ 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. - + If you do not wish that, delete this exception notice. + This file implements the hardware driver scanners using a 300dpi CCD */ #ifndef __MUSTEK_PP_CCD300_H #define __MUSTEK_PP_CCD300_H diff --git a/backend/mustek_pp_cis.c b/backend/mustek_pp_cis.c index 96e89f1..e95c6cf 100644 --- a/backend/mustek_pp_cis.c +++ b/backend/mustek_pp_cis.c @@ -44,14 +44,14 @@ /* Global picture - + Mustek_PP_handle -> Mustek_PP_dev -> priv = Mustek_PP_CIS_dev -> CIS */ - + /* * This flag determines whether the scanner uses fast skipping at high - * resolutions. It is possible that this fast skipping introduces + * resolutions. It is possible that this fast skipping introduces * inaccuracies. It if turns out to be a problem, fast skipping can * be disabled by setting this flag to 0. */ @@ -68,7 +68,7 @@ #define MUSTEK_PP_CIS_1200CP_DEFAULT_SKIP 330 /* - * Number of scan lines on which the average is taken to determine the + * Number of scan lines on which the average is taken to determine the * maximum number of color levels. */ #define MUSTEK_PP_CIS_AVERAGE_COUNT 32 @@ -110,14 +110,14 @@ *** MA1015 chipset related functionality *** ****************************************************************************** *****************************************************************************/ - + /* - These defines control some debugging functionality + These defines control some debugging functionality #define M1015_TRACE_REGS -> trace the status of the internal registers #define M1015_LOG_HL -> create a high-level log file (register-level) #define M1015_LOG_LL -> create a low-level log file (byte-level) - + By default, all logging/tracing is turned off. */ @@ -130,13 +130,13 @@ #ifdef M1015_LOG_LL static FILE* M1015_LOG_1; - + #define M1015_START_LL\ M1015_LOG_1 = fopen("cis_ll.log", "w"); - + #define M1015_STOP_LL\ fclose(M1015_LOG_1); - + #define SANEI_PA4S2_WRITEBYTE(fd, reg, val)\ do\ {\ @@ -144,10 +144,10 @@ fprintf(M1015_LOG_1, "\tsanei_pa4s2_writebyte(fd, %d, 0x%02X);\n", \ reg, val);\ } while (0) - + static const char* cis_last_rreg_name; - static int cis_read_count; - + static int cis_read_count; + #define SANEI_PA4S2_READBEGIN(fd, reg)\ do\ {\ @@ -155,14 +155,14 @@ cis_read_count = 0;\ sanei_pa4s2_readbegin(fd, reg);\ } while (0) - + #define SANEI_PA4S2_READBYTE(fd, val)\ do\ {\ sanei_pa4s2_readbyte(fd, val);\ ++cis_read_count;\ } while (0) - + #define SANEI_PA4S2_READEND(fd)\ do\ {\ @@ -170,41 +170,41 @@ fprintf(M1015_LOG_1, "\tread_reg(%s, %d);\n", \ cis_last_rreg_name, cis_read_count);\ } while (0) - + #define M1015_MARK_LL(info)\ fprintf(M1015_LOG_1, "* %s\n", info); - + #else /* M1015_LOG_LL */ #define M1015_START_LL #define M1015_STOP_LL - + #define SANEI_PA4S2_WRITEBYTE(fd, reg, val)\ sanei_pa4s2_writebyte (fd, reg, val) - + #define SANEI_PA4S2_READBEGIN(fd, reg)\ sanei_pa4s2_readbegin(fd, reg) - + #define SANEI_PA4S2_READBYTE(fd, val)\ sanei_pa4s2_readbyte(fd, val) - + #define SANEI_PA4S2_READEND(fd)\ sanei_pa4s2_readend(fd) - + #define M1015_MARK_LL(info) - + #endif /* M1015_LOG_LL */ - + /****************************************************************************** * High-level logging: traces the flow of the driver in a hierarchical way * up to the level of register acccesses. - *****************************************************************************/ + *****************************************************************************/ #ifdef M1015_LOG_HL static FILE* M1015_LOG_2; static char hl_prev_line[4096], hl_next_line[4096], hl_repeat_count; - + /* * A few variables for hierarchical log message indentation. */ @@ -213,7 +213,7 @@ " "; static const char* cis_indent; static const char* cis_indent_end; - + #define M1015_START_HL\ M1015_LOG_2 = fopen("cis_hl.log", "w");\ cis_indent = cis_indent_start + strlen(cis_indent_start);\ @@ -221,7 +221,7 @@ hl_prev_line[0] = 0;\ hl_next_line[0] = 0;\ hl_repeat_count = 0; - + #define M1015_FLUSH_HL\ if (strcmp(hl_prev_line, hl_next_line))\ {\ @@ -238,7 +238,7 @@ {\ hl_repeat_count += 1;\ } - + #define M1015_MARK(info)\ sprintf(&hl_next_line[0], "%s+ %s\n", cis_indent, info);\ M1015_FLUSH_HL @@ -246,45 +246,45 @@ #define M1015_STOP_HL\ hl_next_line[0] = 0;\ M1015_FLUSH_HL\ - fclose(M1015_LOG_2); - -#else /* M1015_LOG_HL */ + fclose(M1015_LOG_2); + +#else /* M1015_LOG_HL */ #define M1015_START_HL #define M1015_STOP_HL #define M1015_MARK(info) #define M1015_FLUSH_HL - + #endif /* M1015_LOG_HL */ #ifdef M1015_TRACE_REGS #define M1015_DISPLAY_REGS(dev, msg) Mustek_PP_1015_display_regs(dev, msg) #define M1015_DISPLAY_REG(msg, val) Mustek_PP_1015_display_reg(msg, val) #else - #define M1015_DISPLAY_REGS(dev, msg) - #define M1015_DISPLAY_REG(msg, val) + #define M1015_DISPLAY_REGS(dev, msg) + #define M1015_DISPLAY_REG(msg, val) #endif - + #if defined (M1015_LOG_HL) || defined (M1015_LOG_LL) -static const char* +static const char* Mustek_PP_1015_reg_r_name(Mustek_PP_1015R_reg id) { static const char* names[4] = { "ASIC", "SCAN_VAL", "MOTOR", "BANK_COUNT" }; return names[id & 0x03]; } -static const char* +static const char* Mustek_PP_1015_bit_name(Mustek_PP_1015R_bit id) { static const char* names[4] = { "????", "MOTOR_HOME", "????", "MOTOR_BUSY" }; return names[id & 0x03]; } -static const char* +static const char* Mustek_PP_1015_reg_w_name(Mustek_PP_1015R_reg id) { - static const char* names[4][4] = + static const char* names[4][4] = { { "RED_REF", "GREEN_REF", "BLUE_REF", "DPI_CONTROL" }, { "BYTE_COUNT_HB", "BYTE_COUNT_LB", "SKIP_COUNT", "EXPOSE_TIME" }, @@ -304,9 +304,9 @@ Mustek_PP_1015_show_val(int val) /* Since we use a static temporary buffer, we must make sure that the buffer isn't altered while it is still in use (typically because - more than one value is converted in a printf statement). + more than one value is converted in a printf statement). Therefore the buffer is organized as a ring buffer. If should contain - at least 21 elements in order to be able to display all registers + at least 21 elements in order to be able to display all registers with one printf statement. */ #define Mustek_PP_1015_RING_BUFFER_SIZE 50 @@ -314,9 +314,9 @@ Mustek_PP_1015_show_val(int val) static int index = 0; int i; char* current = (char*)buf[index++]; - + if (index >= Mustek_PP_1015_RING_BUFFER_SIZE) index = 0; - + if (val < 0) { /* The register has not been initialized yet. */ @@ -345,8 +345,8 @@ Mustek_PP_1015_display_regs(Mustek_PP_CIS_dev * dev, const char* info) * Rx : read-only register no. x * ByWx : write-only register no. x of bank no. y */ - - fprintf(stderr, + + fprintf(stderr, "\n" "Register status: %s\n" "\n" @@ -403,12 +403,12 @@ Mustek_PP_1015_display_regs(Mustek_PP_CIS_dev * dev, const char* info) (dev->CIS.regs.channel == 0x40 ? "GREEN" : (dev->CIS.regs.channel == 0xC0 ? "BLUE" : "unknown"))) ); -} +} /****************************************************************************** * Displays a single register value *****************************************************************************/ -static void +static void Mustek_PP_1015_display_reg(const char* info, int val) { fprintf (stderr, "%s: %s\n", info, Mustek_PP_1015_show_val(val)); @@ -432,21 +432,21 @@ Mustek_PP_1015_read_reg(Mustek_PP_CIS_dev * dev, Mustek_PP_1015R_reg reg) { SANE_Byte tmp; assert(reg <= 3); - - SANEI_PA4S2_READBEGIN (dev->desc->fd, reg & 0x03); - SANEI_PA4S2_READBYTE (dev->desc->fd, &tmp); - SANEI_PA4S2_READEND (dev->desc->fd); - + + SANEI_PA4S2_READBEGIN (dev->desc->fd, reg & 0x03); + SANEI_PA4S2_READBYTE (dev->desc->fd, &tmp); + SANEI_PA4S2_READEND (dev->desc->fd); + #ifdef M1015_LOG_HL - sprintf(&hl_next_line[0], "%s read_reg(%s); [%s]\n", cis_indent, + sprintf(&hl_next_line[0], "%s read_reg(%s); [%s]\n", cis_indent, Mustek_PP_1015_reg_r_name(reg), Mustek_PP_1015_show_val(tmp)); M1015_FLUSH_HL; #endif - -#ifdef M1015_TRACE_REGS + +#ifdef M1015_TRACE_REGS dev->CIS.regs.in_regs[reg & 0x03] = tmp; #endif - + return tmp; } @@ -463,12 +463,12 @@ Mustek_PP_1015_wait_bit(Mustek_PP_CIS_dev * dev, Mustek_PP_1015R_reg reg, SANE_Byte tmp; SANE_Byte mask, val; int tries = 0; - + assert(reg <= 3); assert(bit <= 3); - + mask = 1 << bit; - + /* We don't want to wait forever */ while (dev->desc->state != STATE_CANCELLED) { @@ -476,26 +476,26 @@ Mustek_PP_1015_wait_bit(Mustek_PP_CIS_dev * dev, Mustek_PP_1015R_reg reg, ++tries; #endif - sanei_pa4s2_readbegin (dev->desc->fd, reg & 0x03); - sanei_pa4s2_readbyte (dev->desc->fd, &tmp); - sanei_pa4s2_readend (dev->desc->fd); - + sanei_pa4s2_readbegin (dev->desc->fd, reg & 0x03); + sanei_pa4s2_readbyte (dev->desc->fd, &tmp); + sanei_pa4s2_readend (dev->desc->fd); + #ifdef M1015_LOG_HL - sprintf(&hl_next_line[0], "%s wait_bit(%s, %s, %d): %s %s;\n", cis_indent, + sprintf(&hl_next_line[0], "%s wait_bit(%s, %s, %d): %s %s;\n", cis_indent, Mustek_PP_1015_reg_r_name(reg), Mustek_PP_1015_bit_name(bit), on?1:0, Mustek_PP_1015_show_val(mask), Mustek_PP_1015_show_val(tmp)); M1015_FLUSH_HL; #endif val = ((on == SANE_TRUE) ? tmp : ~tmp ) & mask; - + if (val != 0) break; - + if (period) usleep(period); - - if (tries > 50000) + + if (tries > 50000) { #ifdef M1015_LOG_HL - sprintf(&hl_next_line[0], "%s wait_bit(%s, %s, %d): failed;\n", cis_indent, + sprintf(&hl_next_line[0], "%s wait_bit(%s, %s, %d): failed;\n", cis_indent, Mustek_PP_1015_reg_r_name(reg), Mustek_PP_1015_bit_name(bit), on?1:0); M1015_FLUSH_HL; #endif @@ -504,9 +504,9 @@ Mustek_PP_1015_wait_bit(Mustek_PP_CIS_dev * dev, Mustek_PP_1015R_reg reg, return SANE_FALSE; } } - + #ifdef M1015_LOG_HL - sprintf(&hl_next_line[0], "%s wait_bit(%s, %s, %d);\n", cis_indent, + sprintf(&hl_next_line[0], "%s wait_bit(%s, %s, %d);\n", cis_indent, Mustek_PP_1015_reg_r_name(reg), Mustek_PP_1015_bit_name(bit), on?1:0); M1015_FLUSH_HL; #endif @@ -514,12 +514,12 @@ Mustek_PP_1015_wait_bit(Mustek_PP_CIS_dev * dev, Mustek_PP_1015R_reg reg, fprintf(M1015_LOG_1, "\tread_reg(%s, %d);\n", Mustek_PP_1015_reg_r_name(reg), tries); #endif - -#ifdef M1015_TRACE_REGS + +#ifdef M1015_TRACE_REGS dev->CIS.regs.in_regs[reg & 0x03] = tmp; #endif return dev->desc->state != STATE_CANCELLED ? SANE_TRUE : SANE_FALSE; -} +} /****************************************************************************** * @@ -540,9 +540,9 @@ Mustek_PP_1015_wait_bit(Mustek_PP_CIS_dev * dev, Mustek_PP_1015R_reg reg, * Bank 2 * 0: unknown, used to start linear sequence during calibration * 1: motor control code (forward, return home, ...) - * 2: never used + * 2: never used * 3: never used - * + * * Bank 3 * 0: reduction factor (16bit internal -> 8bit) -> target for calibration * 1: unknown -> always set to 0x05 @@ -550,27 +550,27 @@ Mustek_PP_1015_wait_bit(Mustek_PP_CIS_dev * dev, Mustek_PP_1015R_reg reg, * 3: never used * *****************************************************************************/ - + static void Mustek_PP_1015_write_reg(Mustek_PP_CIS_dev * dev, Mustek_PP_1015W_reg reg, SANE_Byte val) { - + SANE_Byte regBank = (reg & 0xF0) >> 4; SANE_Byte regNo = (reg & 0x0F); - + assert (regNo <= 3); assert (regBank <= 3); - + SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, (1 << (4+regNo))+ regBank); SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 5, val); SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, regBank); - -#ifdef M1015_TRACE_REGS + +#ifdef M1015_TRACE_REGS dev->CIS.regs.out_regs[regBank][regNo] = val; #endif #ifdef M1015_LOG_HL - sprintf(&hl_next_line[0], "%s write_reg(%s, 0x%02X);\n", cis_indent, + sprintf(&hl_next_line[0], "%s write_reg(%s, 0x%02X);\n", cis_indent, Mustek_PP_1015_reg_w_name(reg), val); M1015_FLUSH_HL; #endif @@ -586,28 +586,28 @@ Mustek_PP_1015_write_reg(Mustek_PP_CIS_dev * dev, Mustek_PP_1015W_reg reg, SANE_ * *****************************************************************************/ static void -Mustek_PP_1015_write_reg2(Mustek_PP_CIS_dev * dev, Mustek_PP_1015W_reg reg, +Mustek_PP_1015_write_reg2(Mustek_PP_CIS_dev * dev, Mustek_PP_1015W_reg reg, SANE_Byte val1, SANE_Byte val2) { SANE_Byte regBank = (reg & 0xF0) >> 4; SANE_Byte regNo = (reg & 0x0F); - + assert (regNo <= 2); assert (regBank <= 3); - + SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, (1 << (4+regNo))+ regBank); SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 5, val1); SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, (1 << (5+regNo))+ regBank); SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 5, val2); SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, regBank); - -#ifdef M1015_TRACE_REGS + +#ifdef M1015_TRACE_REGS dev->CIS.regs.out_regs[regBank][regNo] = val1; dev->CIS.regs.out_regs[regBank][regNo+1] = val2; #endif - + #ifdef M1015_LOG_HL - sprintf(&hl_next_line[0], "%s write_reg2(%s, 0x%02X, 0x%02X);\n", + sprintf(&hl_next_line[0], "%s write_reg2(%s, 0x%02X, 0x%02X);\n", cis_indent, Mustek_PP_1015_reg_w_name(reg), val1, val2); M1015_FLUSH_HL; #endif @@ -624,15 +624,15 @@ Mustek_PP_1015_write_reg2(Mustek_PP_CIS_dev * dev, Mustek_PP_1015W_reg reg, * *****************************************************************************/ static void -Mustek_PP_1015_write_reg3(Mustek_PP_CIS_dev * dev, Mustek_PP_1015W_reg reg, +Mustek_PP_1015_write_reg3(Mustek_PP_CIS_dev * dev, Mustek_PP_1015W_reg reg, SANE_Byte val1, SANE_Byte val2, SANE_Byte val3) { SANE_Byte regBank = (reg & 0xF0) >> 4; SANE_Byte regNo = (reg & 0x0F); - + assert (regNo <= 1); assert (regBank <= 3); - + SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, (1 << (4+regNo))+ regBank); SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 5, val1); SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, (1 << (5+regNo))+ regBank); @@ -640,15 +640,15 @@ Mustek_PP_1015_write_reg3(Mustek_PP_CIS_dev * dev, Mustek_PP_1015W_reg reg, SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, (1 << (6+regNo))+ regBank); SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 5, val3); SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, regBank); - -#ifdef M1015_TRACE_REGS + +#ifdef M1015_TRACE_REGS dev->CIS.regs.out_regs[regBank][regNo ] = val1; dev->CIS.regs.out_regs[regBank][regNo+1] = val2; dev->CIS.regs.out_regs[regBank][regNo+2] = val3; #endif - + #ifdef M1015_LOG_HL - sprintf(&hl_next_line[0], "%s write_reg3(%s, 0x%02X, 0x%02X, 0x%02X);\n", + sprintf(&hl_next_line[0], "%s write_reg3(%s, 0x%02X, 0x%02X, 0x%02X);\n", cis_indent, Mustek_PP_1015_reg_w_name(reg), val1, val2, val3); M1015_FLUSH_HL; #endif @@ -656,43 +656,43 @@ Mustek_PP_1015_write_reg3(Mustek_PP_CIS_dev * dev, Mustek_PP_1015W_reg reg, /****************************************************************************** * Opens a register for a (series of) write operation(s). - *****************************************************************************/ + *****************************************************************************/ static void Mustek_PP_1015_write_reg_start(Mustek_PP_CIS_dev * dev, Mustek_PP_1015W_reg reg) { SANE_Byte regBank = (reg & 0xF0) >> 4; SANE_Byte regNo = (reg & 0x0F); - + assert (regNo <= 3); assert (regBank <= 3); - + dev->CIS.regs.current_write_reg = reg; - + #ifdef M1015_LOG_HL dev->CIS.regs.write_count = 0; #endif - + SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, (1 << (4+regNo))+ regBank); } /****************************************************************************** * Writes a value to the currently open register. - *****************************************************************************/ + *****************************************************************************/ static void Mustek_PP_1015_write_reg_val(Mustek_PP_CIS_dev * dev, SANE_Byte val) { -#ifdef M1015_TRACE_REGS +#ifdef M1015_TRACE_REGS SANE_Byte regBank = (dev->CIS.regs.current_write_reg & 0xF0) >> 4; SANE_Byte regNo = (dev->CIS.regs.current_write_reg & 0x0F); - + assert (regNo <= 3); assert (regBank <= 3); - + dev->CIS.regs.out_regs[regBank][regNo] = val; #endif - + SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 5, val); - + #ifdef M1015_LOG_HL ++dev->CIS.regs.write_count; #endif @@ -700,7 +700,7 @@ Mustek_PP_1015_write_reg_val(Mustek_PP_CIS_dev * dev, SANE_Byte val) /****************************************************************************** * Closes a register after a (series of) write operation(s). - *****************************************************************************/ + *****************************************************************************/ static void Mustek_PP_1015_write_reg_stop(Mustek_PP_CIS_dev * dev) { @@ -708,16 +708,16 @@ Mustek_PP_1015_write_reg_stop(Mustek_PP_CIS_dev * dev) #ifdef M1015_LOG_HL SANE_Byte regNo = (dev->CIS.regs.current_write_reg & 0x0F); assert (regNo <= 3); - + sprintf(&hl_next_line[0], "%s write_reg_multi(%s, *%d);\n", cis_indent, - Mustek_PP_1015_reg_w_name(dev->CIS.regs.current_write_reg), + Mustek_PP_1015_reg_w_name(dev->CIS.regs.current_write_reg), dev->CIS.regs.write_count); M1015_FLUSH_HL; #endif assert (regBank <= 3); - + SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, regBank); -} +} /****************************************************************************** * @@ -725,12 +725,12 @@ Mustek_PP_1015_write_reg_stop(Mustek_PP_CIS_dev * dev) * internal registers, ie., the 3rd bit should not be zero. * *****************************************************************************/ -static void +static void Mustek_PP_1015_send_command(Mustek_PP_CIS_dev * dev, SANE_Byte command) { assert (command & 0x04); SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, command); - + #ifdef M1015_LOG_HL sprintf(&hl_next_line[0], "%s send_command(0x%02X);\n", cis_indent, command); M1015_FLUSH_HL; @@ -742,7 +742,7 @@ Mustek_PP_1015_send_command(Mustek_PP_CIS_dev * dev, SANE_Byte command) ## CIS driver ## ############################################################################## *****************************************************************************/ - + /****************************************************************************** * Resolution conversion functions *****************************************************************************/ @@ -810,7 +810,7 @@ cis_wait_bank_change (Mustek_PP_CIS_dev * dev, int bankcount) struct timeval start, end; unsigned long diff; int firsttime = 1; - + gettimeofday (&start, NULL); do @@ -830,14 +830,14 @@ cis_wait_bank_change (Mustek_PP_CIS_dev * dev, int bankcount) } while ((dev->bank_count != bankcount) && (diff < MUSTEK_PP_CIS_WAIT_BANK)); - + if (dev->bank_count != bankcount && dev->desc->state != STATE_CANCELLED) { u_char tmp; tmp = Mustek_PP_1015_read_reg(dev, 3); DBG(2, "cis_wait_bank_change: Missed a bank: got %d [%s], " - "wanted %d, waited %d msec\n", - dev->bank_count, Mustek_PP_1015_show_val(tmp), bankcount, + "wanted %d, waited %d msec\n", + dev->bank_count, Mustek_PP_1015_show_val(tmp), bankcount, MUSTEK_PP_CIS_WAIT_BANK); } @@ -846,10 +846,10 @@ cis_wait_bank_change (Mustek_PP_CIS_dev * dev, int bankcount) /****************************************************************************** * Configure the CIS for a given resolution. - * - * CIS scanners seem to have 2 modes: * - * low resolution (50-300 DPI) and + * CIS scanners seem to have 2 modes: + * + * low resolution (50-300 DPI) and * high resolution (300-600 DPI). * * Depending on the resolution requested by the user, the scanner is used @@ -861,7 +861,7 @@ static void cis_set_dpi_value (Mustek_PP_CIS_dev * dev) { u_char val = 0; - + if (dev->model == MUSTEK_PP_CIS1200PLUS) { /* Toshiba CIS: only 600 DPI + decimation */ @@ -887,7 +887,7 @@ cis_set_dpi_value (Mustek_PP_CIS_dev * dev) break; default: assert (0); - } + } } else { @@ -916,7 +916,7 @@ cis_set_dpi_value (Mustek_PP_CIS_dev * dev) assert (0); } } - + Mustek_PP_1015_write_reg(dev, MA1015W_DPI_CONTROL, val | 0x04); DBG (4, "cis_set_dpi_value: dpi: %d -> value 0x%02x\n", dev->CIS.hw_hres, val); @@ -928,19 +928,19 @@ cis_set_ccd_channel (Mustek_PP_CIS_dev * dev) SANE_Byte codes[] = { 0x84, 0x44, 0xC4 }; SANE_Byte chancode; - + assert (dev->CIS.channel < 3); - + chancode = codes[dev->CIS.channel]; - - /* - The TWAIN driver sets an extra bit in lineart mode. - When I do this too, I don't see any effect on the image. - Moreover, for 1 resolution, namely 400 dpi, the bank counter seems + + /* + The TWAIN driver sets an extra bit in lineart mode. + When I do this too, I don't see any effect on the image. + Moreover, for 1 resolution, namely 400 dpi, the bank counter seems to behave strangely, and the synchronization get completely lost. I guess the software conversion from gray to lineart is good enough, so I'll leave it like that. - + if (dev->CIS.setParameters) { chancode |= (dev->desc->mode == MODE_BW) ? 0x20: 0; @@ -948,7 +948,7 @@ cis_set_ccd_channel (Mustek_PP_CIS_dev * dev) */ SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, chancode); - + #ifdef M1015_TRACE_REGS dev->CIS.regs.channel = chancode; #endif @@ -958,43 +958,43 @@ static void cis_config_ccd (Mustek_PP_CIS_dev * dev) { SANE_Int skipCount, byteCount; - + if (dev->CIS.res != 0) dev->CIS.hres_step = SANE_FIX ((float) dev->CIS.hw_hres / (float) dev->CIS.res); /* CIS: <= 300 dpi -> 0x86 - > 300 dpi -> 0x96 */ + > 300 dpi -> 0x96 */ if (dev->CIS.cisRes == 600) SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, 0x96); else SANEI_PA4S2_WRITEBYTE (dev->desc->fd, 6, 0x86); - + cis_set_dpi_value(dev); - + if (dev->CIS.setParameters) { dev->CIS.channel = dev->desc->mode == MODE_COLOR ? MUSTEK_PP_CIS_CHANNEL_RED : MUSTEK_PP_CIS_CHANNEL_GRAY; } else - { + { dev->CIS.channel = MUSTEK_PP_CIS_CHANNEL_GRAY; } - + cis_set_ccd_channel (dev); - + Mustek_PP_1015_write_reg (dev, MA1015W_POWER_ON_DELAY, 0xAA); - Mustek_PP_1015_write_reg (dev, MA1015W_CCD_TIMING, 0x05); - Mustek_PP_1015_write_reg (dev, MA1015W_CCD_TIMING_ADJ, 0x00); + Mustek_PP_1015_write_reg (dev, MA1015W_CCD_TIMING, 0x05); + Mustek_PP_1015_write_reg (dev, MA1015W_CCD_TIMING_ADJ, 0x00); Mustek_PP_1015_send_command (dev, 0x45); /* or 0x05 for no 8kbank */ /* * Unknown sequence. * Seems to be always the same during configuration, independent of the - * mode and the resolution. + * mode and the resolution. */ CIS_CLEAR_FULLFLAG(dev); CIS_INC_READ(dev); @@ -1020,14 +1020,14 @@ cis_config_ccd (Mustek_PP_CIS_dev * dev) # > 300 DPI # # Skip = 67 + skipimage - # + # # Skip1 = Skip / 32 # Skip2 = Skip % 32 # # Bytes = Skip2*hw_hres/600 + (imagebytes * hw_hres/res) + 2 # */ - + skipCount = 67; /* Hardware parameter - fixed */ if (dev->CIS.setParameters == SANE_TRUE) @@ -1043,11 +1043,11 @@ cis_config_ccd (Mustek_PP_CIS_dev * dev) */ DBG(4, "cis_config_ccd: Skip count: %d\n", skipCount); skipCount += max2cis_hres(dev, dev->CIS.skipimagebytes); - DBG(4, "cis_config_ccd: Skip count: %d (cis res: %d)\n", skipCount, + DBG(4, "cis_config_ccd: Skip count: %d (cis res: %d)\n", skipCount, dev->CIS.cisRes); skipCount += (int)(2.0/25.4*dev->CIS.cisRes); DBG(4, "cis_config_ccd: Skip count: %d\n", skipCount); - + Mustek_PP_1015_write_reg (dev, MA1015W_SKIP_COUNT, skipCount / 32); DBG(4, "cis_config_ccd: Skip count: %d (x32)\n", skipCount / 32); } @@ -1056,12 +1056,12 @@ cis_config_ccd (Mustek_PP_CIS_dev * dev) Mustek_PP_1015_write_reg (dev, MA1015W_SKIP_COUNT, 0); DBG(4, "cis_config_ccd: Skip count: 67 (x32)\n"); } - + skipCount %= 32; skipCount = cis2max_res(dev, skipCount); /* Back to max res */ - - Mustek_PP_1015_write_reg(dev, MA1015W_EXPOSE_TIME, dev->CIS.exposeTime); - + + Mustek_PP_1015_write_reg(dev, MA1015W_EXPOSE_TIME, dev->CIS.exposeTime); + DBG(4, "cis_config_ccd: skipcount: %d imagebytes: %d\n", skipCount, dev->CIS.imagebytes); /* set_initial_skip_1015 (dev); */ if (dev->CIS.setParameters == SANE_TRUE) @@ -1071,20 +1071,20 @@ cis_config_ccd (Mustek_PP_CIS_dev * dev) /* The TWAIN drivers always sends the same value: 0x96 */ Mustek_PP_1015_write_reg3(dev, MA1015W_RED_REF, 0x96, 0x96, 0x96); dev->CIS.adjustskip = max2hw_hres(dev, skipCount); - byteCount = max2hw_hres(dev, skipCount + dev->CIS.imagebytes) + 2; + byteCount = max2hw_hres(dev, skipCount + dev->CIS.imagebytes) + 2; dev->CIS.setParameters = SANE_FALSE; } else { dev->CIS.adjustskip = 0; - byteCount = max2hw_hres(dev, skipCount); + byteCount = max2hw_hres(dev, skipCount); } - DBG(4, "cis_config_ccd: adjust skip: %d bytecount: %d\n", + DBG(4, "cis_config_ccd: adjust skip: %d bytecount: %d\n", dev->CIS.adjustskip, byteCount); - - Mustek_PP_1015_write_reg2(dev, MA1015W_BYTE_COUNT_HB, - byteCount >> 8, byteCount & 0xFF); - + + Mustek_PP_1015_write_reg2(dev, MA1015W_BYTE_COUNT_HB, + byteCount >> 8, byteCount & 0xFF); + cis_get_bank_count (dev); DBG(5, "cis_config_ccd: done\n"); } @@ -1093,8 +1093,8 @@ static SANE_Bool cis_wait_motor_stable (Mustek_PP_CIS_dev * dev) { static struct timeval timeoutVal; - SANE_Bool ret = - Mustek_PP_1015_wait_bit (dev, MA1015R_MOTOR, MA1015B_MOTOR_STABLE, + SANE_Bool ret = + Mustek_PP_1015_wait_bit (dev, MA1015R_MOTOR, MA1015B_MOTOR_STABLE, SANE_FALSE, 0); #ifdef HAVE_SYS_SELECT_H if (dev->engine_delay > 0) @@ -1111,7 +1111,7 @@ static void cis_motor_forward (Mustek_PP_CIS_dev * dev) { SANE_Byte control; - + if (dev->model == MUSTEK_PP_CIS600) { switch (dev->CIS.hw_vres) @@ -1150,11 +1150,11 @@ cis_motor_forward (Mustek_PP_CIS_dev * dev) #if MUSTEK_PP_CIS_MOTOR_REVERSE == 1 control ^= 0x10; #endif - + DBG(4, "cis_motor_forward: @%d dpi: 0x%02X.\n", dev->CIS.hw_vres, control); if (!cis_wait_motor_stable (dev)) return; - + Mustek_PP_1015_write_reg(dev, MA1015W_MOTOR_CONTROL, control); } @@ -1166,20 +1166,20 @@ cis_move_motor (Mustek_PP_CIS_dev * dev, SANE_Int steps) /* steps @ maxres */ SANE_Int fullSteps, biSteps, quadSteps; /* * During a multi-step feed, the expose time is fixed. The value depends - * on the type of the motor (600/1200 CP) + * on the type of the motor (600/1200 CP) */ SANE_Byte savedExposeTime = dev->CIS.exposeTime; dev->CIS.exposeTime = 85; - + DBG(4, "cis_move_motor: Moving motor %d steps.\n", steps); - + /* Just in case ... */ if (steps < 0) { DBG(1, "cis_move_motor: trying to move negative steps: %d\n", steps); steps = 0; /* We must go through the configuration procedure */ - } - + } + /* * Using the parameter settings for the 600 CP on a 1200 CP scanner * doesn't work: the engine doesn't move and makes a sharp noise, which @@ -1190,8 +1190,8 @@ cis_move_motor (Mustek_PP_CIS_dev * dev, SANE_Int steps) /* steps @ maxres */ dev->CIS.exposeTime <<= 1; cis_config_ccd(dev); dev->CIS.exposeTime = savedExposeTime; - - /* + + /* * This is a minor speed optimization: when we are using the high * resolution mode, long feeds (eg, to move to a scan area at the bottom * of the page) can be made almost twice as fast by using double motor @@ -1199,8 +1199,8 @@ cis_move_motor (Mustek_PP_CIS_dev * dev, SANE_Int steps) /* steps @ maxres */ * It is possible, though, that fast skipping (which is the default) is * not very accurate on some scanners. Therefore, the user can disable * this through the configuration file. - */ - + */ + fullSteps = steps & 1; biSteps = steps >> 1; if (dev->fast_skip) { @@ -1210,33 +1210,33 @@ cis_move_motor (Mustek_PP_CIS_dev * dev, SANE_Int steps) /* steps @ maxres */ else { quadSteps = 0; } - + M1015_DISPLAY_REGS(dev, "Before move"); - + #if MUSTEK_PP_CIS_MOTOR_REVERSE == 1 fullStep ^= 0x10; biStep ^= 0x10; quadStep ^= 0x10; #endif - + DBG(4, "cis_move_motor: 4x%d 2x%d 1x%d\n", quadSteps, biSteps, fullSteps); - /* Note: the TWAIN driver opens the motor control register only + /* Note: the TWAIN driver opens the motor control register only once before the loop, and closes it after the loop. I've tried this too, but it resulted in inaccurate skip distances; therefore, the motor control register is now opened and closed for each step. */ - + while (quadSteps-- > 0 && dev->desc->state != STATE_CANCELLED) { cis_wait_motor_stable (dev); Mustek_PP_1015_write_reg(dev, MA1015W_MOTOR_CONTROL, quadStep); } - + while (biSteps-- > 0 && dev->desc->state != STATE_CANCELLED) { cis_wait_motor_stable (dev); Mustek_PP_1015_write_reg(dev, MA1015W_MOTOR_CONTROL, biStep); } - + while (fullSteps-- > 0 && dev->desc->state != STATE_CANCELLED) { cis_wait_motor_stable (dev); @@ -1247,16 +1247,16 @@ cis_move_motor (Mustek_PP_CIS_dev * dev, SANE_Int steps) /* steps @ maxres */ static void cis_set_et_pd_sti (Mustek_PP_CIS_dev * dev) { - Mustek_PP_1015_write_reg(dev, MA1015W_EXPOSE_TIME, + Mustek_PP_1015_write_reg(dev, MA1015W_EXPOSE_TIME, dev->CIS.exposeTime); - Mustek_PP_1015_write_reg(dev, MA1015W_POWER_ON_DELAY, + Mustek_PP_1015_write_reg(dev, MA1015W_POWER_ON_DELAY, dev->CIS.powerOnDelay[dev->CIS.channel]); cis_set_ccd_channel (dev); cis_set_sti (dev); } /* - * Prepare the scanner for catching the next channel and, if necessary, + * Prepare the scanner for catching the next channel and, if necessary, * move the head one step further. */ static SANE_Bool @@ -1264,32 +1264,32 @@ cis_wait_next_channel (Mustek_PP_CIS_dev * dev) { int moveAtChannel = dev->desc->mode == MODE_COLOR ? MUSTEK_PP_CIS_CHANNEL_BLUE : MUSTEK_PP_CIS_CHANNEL_GRAY; - + if (!cis_wait_bank_change (dev, dev->bank_count)) { DBG(2, "cis_wait_next_channel: Could not get next bank.\n"); return SANE_FALSE; } - + moveAtChannel = (dev->desc->mode == MODE_COLOR) ? MUSTEK_PP_CIS_CHANNEL_BLUE : MUSTEK_PP_CIS_CHANNEL_GRAY; - + if (dev->CIS.channel == moveAtChannel && !dev->CIS.dontMove) { cis_motor_forward (dev); } - + cis_set_et_pd_sti (dev); - + if (dev->desc->mode == MODE_COLOR) { ++dev->CIS.channel; dev->CIS.channel %= 3; } - + return SANE_TRUE; } - + /* * Wait for the device to be ready for scanning. Cycles through the different * channels and sets the parameters (only green channel in gray/lineart). @@ -1299,10 +1299,10 @@ cis_wait_read_ready (Mustek_PP_CIS_dev * dev) { int channel; dev->CIS.dontIncRead = SANE_TRUE; - + dev->CIS.channel = dev->desc->mode == MODE_COLOR ? MUSTEK_PP_CIS_CHANNEL_RED : MUSTEK_PP_CIS_CHANNEL_GRAY; - + for (channel = 0; channel < 3; ++channel) { if (!cis_wait_next_channel(dev)) return SANE_FALSE; @@ -1313,9 +1313,9 @@ cis_wait_read_ready (Mustek_PP_CIS_dev * dev) static int delay_read (int delay) { - /* + /* * A (very) smart compiler may complete optimize the delay loop away. By - * adding some difficult data dependencies, we can try to prevent this. + * adding some difficult data dependencies, we can try to prevent this. */ static int prevent_removal, i; for (i = 0; idesc->fd, 1); while(skips-- >= 0) @@ -1384,7 +1384,7 @@ cis_read_line_low_level (Mustek_PP_CIS_dev * dev, SANE_Byte * buf, else if (dev->CIS.hw_hres > dev->CIS.res) { /* Sub-sampling */ - + int pos = 0; DBG (6, "cis_read_line_low_level: sub-sampling\n"); ctr = 0; @@ -1428,8 +1428,8 @@ cis_read_line_low_level (Mustek_PP_CIS_dev * dev, SANE_Byte * buf, int calctr = 0; SANE_Int pos = 0, nextPos = 1; /* Step: eg: 600 DPI -> 700 DPI -> hres_step = 6/7 -> step = 1/7 */ - SANE_Int step = SANE_FIX(1) - dev->CIS.hres_step; - + SANE_Int step = SANE_FIX(1) - dev->CIS.hres_step; + /* Super-sampling */ DBG (6, "cis_read_line_low_level: super-sampling\n"); do @@ -1446,11 +1446,11 @@ cis_read_line_low_level (Mustek_PP_CIS_dev * dev, SANE_Byte * buf, if (calib_hi) { hi_val = calib_hi[calctr] ; } - + if (++calctr >= dev->calib_pixels) { - /* Avoid array boundary violations due to rounding errors + /* Avoid array boundary violations due to rounding errors (due to the incremental calculation, the current position - may be inaccurate to up to two pixels, so we may need to + may be inaccurate to up to two pixels, so we may need to read a few extra bytes -> use the last calibration value) */ calctr = dev->calib_pixels - 1; DBG (3, "cis_read_line_low_level: calibration overshoot\n"); @@ -1467,19 +1467,19 @@ cis_read_line_low_level (Mustek_PP_CIS_dev * dev, SANE_Byte * buf, cval = gamma[cval]; pos += step; - + if ((pos >> SANE_FIXED_SCALE_SHIFT) >= nextPos) { nextPos++; - + /* Insert an interpolated value */ buf[bpos] = (buf[bpos-1] + cval)/2; /* Interpolate */ ++bpos; - + /* Store the plain value, but only if we still need pixels */ if (bpos < pixel) buf[bpos++] = cval; - + pos += step; /* Take interpolated value into account for pos */ } else @@ -1489,7 +1489,7 @@ cis_read_line_low_level (Mustek_PP_CIS_dev * dev, SANE_Byte * buf, } while (bpos < pixel); } - + SANEI_PA4S2_READEND (dev->desc->fd); DBG (6, "cis_read_line_low_level: done\n"); } @@ -1502,8 +1502,8 @@ cis_read_line (Mustek_PP_CIS_dev * dev, SANE_Byte* buf, SANE_Int pixel, CIS_INC_READ(dev); else dev->CIS.dontIncRead = SANE_FALSE; - - + + if (raw) { /* No color correction; raw data */ @@ -1513,12 +1513,12 @@ cis_read_line (Mustek_PP_CIS_dev * dev, SANE_Byte* buf, SANE_Int pixel, { /* Color correction */ cis_read_line_low_level (dev, buf, pixel, - dev->calib_low[dev->CIS.channel], - dev->calib_hi[dev->CIS.channel], - (dev->desc->val[OPT_CUSTOM_GAMMA].w ? + dev->calib_low[dev->CIS.channel], + dev->calib_hi[dev->CIS.channel], + (dev->desc->val[OPT_CUSTOM_GAMMA].w ? dev->desc->gamma_table[dev->CIS.channel] : NULL)); } - + return cis_wait_next_channel(dev); } @@ -1528,7 +1528,7 @@ cis_get_next_line (Mustek_PP_CIS_dev * dev, SANE_Byte * buf) SANE_Byte *dest, *tmpbuf = dev->tmpbuf; int ctr, channel, first, last, stride, step = dev->CIS.line_step; SANE_Byte gotline; - + if (dev->desc->mode == MODE_COLOR) { first = MUSTEK_PP_CIS_CHANNEL_RED; @@ -1541,7 +1541,7 @@ cis_get_next_line (Mustek_PP_CIS_dev * dev, SANE_Byte * buf) last = MUSTEK_PP_CIS_CHANNEL_GRAY; stride = 1; } - + gotline = SANE_FALSE; do { @@ -1556,8 +1556,8 @@ cis_get_next_line (Mustek_PP_CIS_dev * dev, SANE_Byte * buf) for (channel = first; channel <= last; ++channel) { - if (!cis_read_line(dev, tmpbuf, dev->desc->params.pixels_per_line, - SANE_FALSE)) + if (!cis_read_line(dev, tmpbuf, dev->desc->params.pixels_per_line, + SANE_FALSE)) return; dest = buf + channel - first; @@ -1601,7 +1601,7 @@ cis_get_color_line (Mustek_PP_CIS_dev * dev, SANE_Byte * buf) /****************************************************************************** * Saves the state of the device during reset and calibration. *****************************************************************************/ -static void +static void cis_save_state (Mustek_PP_CIS_dev * dev) { dev->Saved_CIS = dev->CIS; @@ -1610,7 +1610,7 @@ cis_save_state (Mustek_PP_CIS_dev * dev) /****************************************************************************** * Restores the state of the device after reset and calibration. *****************************************************************************/ -static void +static void cis_restore_state (Mustek_PP_CIS_dev * dev) { dev->CIS = dev->Saved_CIS; @@ -1624,10 +1624,10 @@ static int cis_check_result(SANE_Byte* buffer, int pixel) { int i, maxVal = 0; - - for (i=0;i maxVal) maxVal = buffer[i]; - + if (maxVal > 250) return CIS_TOO_BRIGHT; if (maxVal < 240) return CIS_TOO_DARK; return CIS_OK; @@ -1641,29 +1641,29 @@ cis_maximize_dynamic_range(Mustek_PP_CIS_dev * dev) SANE_Byte powerOnDelayLower[3], powerOnDelayUpper[3], exposeTime[3]; SANE_Byte buf[3][MUSTEK_PP_CIS_MAX_H_PIXEL]; SANE_Int pixels = dev->calib_pixels; - + DBG(3, "cis_maximize_dynamic_range: starting\n"); - + for (channel = 0; channel < 3; ++channel) { exposeTime[channel] = 254; dev->CIS.powerOnDelay[channel] = 170; powerOnDelayLower[channel] = 1; powerOnDelayUpper[channel] = 254; - } + } dev->CIS.setParameters = SANE_TRUE; dev->CIS.exposeTime = exposeTime[MUSTEK_PP_CIS_CHANNEL_GREEN]; cis_config_ccd(dev); - + M1015_DISPLAY_REGS(dev, "before maximizing dynamic range"); dev->CIS.dontMove = SANE_TRUE; /* Don't move while calibrating */ - + if (!cis_wait_read_ready(dev) && dev->desc->state != STATE_CANCELLED) { DBG(2, "cis_maximize_dynamic_range: DEVICE NOT READY!\n"); return SANE_FALSE; } - + if (dev->desc->mode == MODE_COLOR) { first = MUSTEK_PP_CIS_CHANNEL_RED; @@ -1674,10 +1674,10 @@ cis_maximize_dynamic_range(Mustek_PP_CIS_dev * dev) first = MUSTEK_PP_CIS_CHANNEL_GRAY; last = MUSTEK_PP_CIS_CHANNEL_GRAY; } - + dev->CIS.channel = first; - - /* Perform a kind of binary search. In the worst case, we should find + + /* Perform a kind of binary search. In the worst case, we should find the optimal power delay values after 8 iterations */ for( i=0; i<8; i++) { @@ -1686,20 +1686,20 @@ cis_maximize_dynamic_range(Mustek_PP_CIS_dev * dev) dev->CIS.powerOnDelay[channel] = (powerOnDelayLower[channel] + powerOnDelayUpper[channel]) / 2; } - Mustek_PP_1015_write_reg(dev, MA1015W_POWER_ON_DELAY, + Mustek_PP_1015_write_reg(dev, MA1015W_POWER_ON_DELAY, dev->CIS.powerOnDelay[1]); /* Green */ for (pixel = 0; pixel < pixels; ++pixel) { buf[0][pixel] = buf[1][pixel] = buf[2][pixel] = 255; } - + /* Scan 4 lines, but ignore the first 3 ones. */ for (j = 0; j < 4; ++j) { for (channel = first; channel <= last; ++channel) { - if (!cis_read_line(dev, &buf[channel][0], pixels, + if (!cis_read_line(dev, &buf[channel][0], pixels, /* raw = */ SANE_TRUE)) return SANE_FALSE; } @@ -1711,50 +1711,50 @@ cis_maximize_dynamic_range(Mustek_PP_CIS_dev * dev) { case CIS_TOO_BRIGHT: powerOnDelayLower[channel] = dev->CIS.powerOnDelay[channel]; - break; - + break; + case CIS_TOO_DARK: powerOnDelayUpper[channel] = dev->CIS.powerOnDelay[channel]; - break; - + break; + default: - break; + break; } - } - DBG (4, "cis_maximize_dynamic_range: power on delay %3d %3d %3d\n", - dev->CIS.powerOnDelay[0], dev->CIS.powerOnDelay[1], + } + DBG (4, "cis_maximize_dynamic_range: power on delay %3d %3d %3d\n", + dev->CIS.powerOnDelay[0], dev->CIS.powerOnDelay[1], dev->CIS.powerOnDelay[2]); } dev->CIS.dontMove = SANE_FALSE; - - DBG (3, "cis_maximize_dynamic_range: power on delay %3d %3d %3d\n", - dev->CIS.powerOnDelay[0], dev->CIS.powerOnDelay[1], + + DBG (3, "cis_maximize_dynamic_range: power on delay %3d %3d %3d\n", + dev->CIS.powerOnDelay[0], dev->CIS.powerOnDelay[1], dev->CIS.powerOnDelay[2]); - + minExposeTime = (dev->CIS.hw_hres <= 300) ? 170 : 253; - + for (channel = first; channel <= last; ++channel) { dev->CIS.powerOnDelay[channel] = (powerOnDelayLower[channel] + powerOnDelayUpper[channel]) / 2; exposeTime[channel] -= dev->CIS.powerOnDelay[channel] - 1; dev->CIS.powerOnDelay[channel] = 1; - + if (exposeTime[channel] < minExposeTime) { - dev->CIS.powerOnDelay[channel] += + dev->CIS.powerOnDelay[channel] += minExposeTime - exposeTime[channel]; exposeTime[channel] = minExposeTime; } - } - + } + dev->CIS.exposeTime = exposeTime[MUSTEK_PP_CIS_CHANNEL_GREEN]; - + DBG (3, "cis_maximize_dynamic_range: expose time: %3d\n", exposeTime[1]); - DBG (3, "cis_maximize_dynamic_range: power on delay %3d %3d %3d\n", - dev->CIS.powerOnDelay[0], dev->CIS.powerOnDelay[1], + DBG (3, "cis_maximize_dynamic_range: power on delay %3d %3d %3d\n", + dev->CIS.powerOnDelay[0], dev->CIS.powerOnDelay[1], dev->CIS.powerOnDelay[2]); - + /* * Short the calibration. Temporary, to find out what is wrong with * the calibration on a 600 CP. @@ -1776,29 +1776,29 @@ cis_measure_extremes(Mustek_PP_CIS_dev * dev, SANE_Byte* calib[3], SANE_Byte max[3][MUSTEK_PP_CIS_MAX_H_PIXEL]; SANE_Int sum[3][MUSTEK_PP_CIS_MAX_H_PIXEL]; int channel, cnt, p; - + memset((void*)&min, 255, 3*MUSTEK_PP_CIS_MAX_H_PIXEL*sizeof(SANE_Byte)); memset((void*)&max, 0, 3*MUSTEK_PP_CIS_MAX_H_PIXEL*sizeof(SANE_Byte)); memset((void*)&sum, 0, 3*MUSTEK_PP_CIS_MAX_H_PIXEL*sizeof(SANE_Int)); - + dev->CIS.channel = first; - + /* Purge the banks first (there's always a 3-cycle delay) */ for (channel = first; channel <= last; ++channel) { - if (!cis_read_line(dev, &buf[channel%3][0], pixels, + if (!cis_read_line(dev, &buf[channel%3][0], pixels, /* raw = */ SANE_TRUE)) return SANE_FALSE; } --dev->CIS.skipsToOrigin; - + for (cnt = 0; cnt < MUSTEK_PP_CIS_AVERAGE_COUNT + 2; ++cnt) { for (channel = first; channel <= last; ++channel) { - DBG(4, "cis_measure_extremes: Reading line %d - channel %d\n", + DBG(4, "cis_measure_extremes: Reading line %d - channel %d\n", cnt, channel); - if (!cis_read_line(dev, &buf[channel][0], pixels, + if (!cis_read_line(dev, &buf[channel][0], pixels, /* raw = */ SANE_TRUE)) return SANE_FALSE; @@ -1813,7 +1813,7 @@ cis_measure_extremes(Mustek_PP_CIS_dev * dev, SANE_Byte* calib[3], --dev->CIS.skipsToOrigin; } DBG(4, "cis_measure_extremes: Averaging\n"); - for (channel = first; channel <= last; ++channel) + for (channel = first; channel <= last; ++channel) { /* Ignore the extreme values and take the average of the others. */ for (p = 0; p < pixels; ++p) @@ -1825,7 +1825,7 @@ cis_measure_extremes(Mustek_PP_CIS_dev * dev, SANE_Byte* calib[3], } DBG(4, "cis_measure_extremes: Done\n"); return SANE_TRUE; -} +} static SANE_Bool cis_normalize_ranges(Mustek_PP_CIS_dev * dev) @@ -1834,7 +1834,7 @@ cis_normalize_ranges(Mustek_PP_CIS_dev * dev) SANE_Byte powerOnDelay[3] ; SANE_Int pixels = dev->calib_pixels; SANE_Int channel, p, first, last; - + if (dev->desc->mode == MODE_COLOR) { first = MUSTEK_PP_CIS_CHANNEL_RED; @@ -1845,7 +1845,7 @@ cis_normalize_ranges(Mustek_PP_CIS_dev * dev) first = MUSTEK_PP_CIS_CHANNEL_GRAY; last = MUSTEK_PP_CIS_CHANNEL_GRAY; } - + DBG(3, "cis_normalize_ranges: Measuring high extremes\n"); /* Measure extremes with normal lighting */ if (!cis_measure_extremes(dev, dev->calib_hi, pixels, first, last)) { @@ -1857,17 +1857,17 @@ cis_normalize_ranges(Mustek_PP_CIS_dev * dev) powerOnDelay[channel] = dev->CIS.powerOnDelay[channel]; dev->CIS.powerOnDelay[channel] = dev->CIS.exposeTime; } - + DBG(3, "cis_normalize_ranges: Measuring low extremes\n"); if (!cis_measure_extremes(dev, dev->calib_low, pixels, first, last)) { return SANE_FALSE; } - + /* Restore settings */ for (channel=first; channel<=last; ++channel) { dev->CIS.powerOnDelay[channel] = powerOnDelay[channel]; } - + /* Make sure calib_hi is greater than calib_low */ for (channel = first; channel <= last; ++channel) { for (p = 0; pCIS.adjustskip == 0); - + /* Sawtooth */ for (i=0; i<2048; ++i) { buf[0][i] = i % 255; /* Why 255 ? Seems to have no real importance */ } - + Mustek_PP_1015_write_reg_start(dev, MA1015W_SRAM_SOURCE_PC); for (i=0; i<2048; ++i) { Mustek_PP_1015_write_reg_val(dev, buf[0][i]); } Mustek_PP_1015_write_reg_stop(dev); - + /* Bank offset measurement */ dev->CIS.delay = 0; /* Initialize to zero, measure next */ - + saved_res = dev->CIS.res; dev->CIS.res = dev->CIS.hw_hres; - + /* * Note: the TWAIN driver seems to have a fast EPP mode too. That one is * tried first, and then they try the normal mode. I haven't figured out @@ -1953,7 +1953,7 @@ cis_measure_delay(Mustek_PP_CIS_dev * dev) for (d = 0; d < 75 /* 255 */ && dev->desc->state != STATE_CANCELLED; d += 5) { dev->CIS.delay = d; - + /* * We read the line 5 times to make sure that all garbage is flushed. */ @@ -1964,7 +1964,7 @@ cis_measure_delay(Mustek_PP_CIS_dev * dev) cis_read_line_low_level (dev, &buf[1][0], 2048, NULL, NULL, NULL); if (dev->desc->state == STATE_CANCELLED) return SANE_FALSE; } - + error = SANE_FALSE; /* Check 100 times whether we can read without errors. */ for (i=0; i<100 && !error; ++i) @@ -1973,24 +1973,24 @@ cis_measure_delay(Mustek_PP_CIS_dev * dev) CIS_CLEAR_READ_BANK(dev); cis_read_line_low_level (dev, &buf[1][0], 2048, NULL, NULL, NULL); if (dev->desc->state == STATE_CANCELLED) return SANE_FALSE; - + for (j=0; j<2048; ++j) { - if (buf[0][j] != buf[1][j]) + if (buf[0][j] != buf[1][j]) { error = SANE_TRUE; break; } } } - - DBG (3, "cis_measure_delay: delay %d\n", dev->CIS.delay); + + DBG (3, "cis_measure_delay: delay %d\n", dev->CIS.delay); if (!error) break; } - + dev->CIS.res = saved_res; - + if (error) { fprintf(stderr, "mustek_pp_cis: failed to measure delay.\n"); @@ -2000,10 +2000,10 @@ cis_measure_delay(Mustek_PP_CIS_dev * dev) fprintf(stderr, "%d ", buf[1][j]); } fprintf(stderr, "\n"); - dev->CIS.delay = 0; + dev->CIS.delay = 0; } - - DBG (3, "cis_measure_delay: delay %d\n", dev->CIS.delay); + + DBG (3, "cis_measure_delay: delay %d\n", dev->CIS.delay); return SANE_TRUE; } @@ -2023,11 +2023,11 @@ cis_return_home (Mustek_PP_CIS_dev * dev, SANE_Bool nowait) dev->CIS.exposeTime = 170; cis_config_ccd(dev); dev->CIS.exposeTime = savedExposeTime; - + cis_motor_control (dev, 0xEB); if (nowait == SANE_FALSE) - Mustek_PP_1015_wait_bit(dev, MA1015R_MOTOR, MA1015B_MOTOR_HOME, + Mustek_PP_1015_wait_bit(dev, MA1015R_MOTOR, MA1015B_MOTOR_HOME, SANE_TRUE, 1000); } @@ -2043,25 +2043,25 @@ cis_reset_device (Mustek_PP_CIS_dev * dev) dev->CIS.adjustskip = 0; dev->CIS.dontIncRead = SANE_TRUE; dev->CIS.dontMove = SANE_FALSE; - + cis_save_state(dev); dev->CIS.hw_hres = 300; dev->CIS.channel = MUSTEK_PP_CIS_CHANNEL_GREEN; dev->CIS.setParameters = SANE_FALSE; dev->CIS.exposeTime = 0xAA; - + cis_config_ccd (dev); - + cis_restore_state(dev); - + } static SANE_Bool cis_calibrate (Mustek_PP_CIS_dev * dev) { int i, saved_res = dev->CIS.res, saved_vres = dev->CIS.hw_vres; - + /* * Flow of operation observed from the twain driver * (it is assumed that the lamp is at the origin, and that the CIS is @@ -2078,11 +2078,11 @@ cis_calibrate (Mustek_PP_CIS_dev * dev) * doesn't seem to be any correlation with the current mode of the * scanner, so I assume that the exact number isn't really relevant. * The values that are read are the one that were sent to the bank, - * rotated by 1 byte in my case. + * rotated by 1 byte in my case. * * - * It seems that the width of the black border is being measured at - * this stage, possibly multiple times till it stabilizes. + * It seems that the width of the black border is being measured at + * this stage, possibly multiple times till it stabilizes. * I assume that the buffer is read 100 times to allow the lamp to * warm up and that the width of the black border is then being * measured till it stabilizes. That would explain the minimum number @@ -2091,38 +2091,38 @@ cis_calibrate (Mustek_PP_CIS_dev * dev) * - reset the device * * - move the motor 110 steps forward. The TWAIN driver moves 90 steps, - * and I've used 90 steps for a long time too, but occasionally, - * 90 steps is a fraction to short to reach the start of the + * and I've used 90 steps for a long time too, but occasionally, + * 90 steps is a fraction to short to reach the start of the * calibration strip (the motor movements are not very accurate; * an offset of 1 mm is not unusual). Therefore, I've increased it to * 110 steps. This gives us an additional 1.6 mm slack, which should - * prevent calibration errors. - * (Note that the MUSTEK_PP_CIS_????CP_DEFAULT_SKIP constants have to + * prevent calibration errors. + * (Note that the MUSTEK_PP_CIS_????CP_DEFAULT_SKIP constants have to * be adjusted if the number of steps is altered.) * * - configure the CIS : actual resolution + set parameters - * + * */ - - /* + + /* * We must make sure that we are in the scanning state; otherwise we may * still be in the canceled state from a previous scan (even if terminated - * normally), and the whole calibration would go wrong. - */ + * normally), and the whole calibration would go wrong. + */ dev->desc->state = STATE_SCANNING; - + cis_reset_device (dev); cis_return_home (dev, SANE_FALSE); /* Wait till it's home */ - + /* Use maximum resolution during calibration; otherwise we may calibrate past the calibration strip. */ dev->CIS.hw_vres = dev->desc->dev->maxres; /* This field remembers how many steps we still have to go @ max res */ dev->CIS.skipsToOrigin = dev->top_skip; /*max2hw_vres(dev, dev->top_skip); */ - + if (!cis_measure_delay(dev)) return SANE_FALSE; - + cis_reset_device (dev); /* Move motor 110 steps @ 300 DPI */ @@ -2140,30 +2140,30 @@ cis_calibrate (Mustek_PP_CIS_dev * dev) cis_wait_motor_stable (dev); } Mustek_PP_1015_write_reg_stop(dev); - + /* Next, we maximize the dynamic range of the scanner. During calibration we don't want to extrapolate, so we limit the resolution if necessary */ - - if (dev->CIS.hw_hres < dev->CIS.res) + + if (dev->CIS.hw_hres < dev->CIS.res) dev->CIS.res = dev->CIS.hw_hres; - + if (!cis_maximize_dynamic_range(dev)) return SANE_FALSE; - + if (!cis_normalize_ranges(dev)) return SANE_FALSE; - + dev->CIS.res = saved_res; dev->CIS.hw_vres = saved_vres; - + /* Convert steps back to max res size, which are used during skipping */ /* dev->CIS.skipsToOrigin = hw2max_vres(dev, dev->CIS.skipsToOrigin); */ - + /* Move to the origin */ - DBG(3, "cis_calibrate: remaining skips to origin @maxres: %d\n", + DBG(3, "cis_calibrate: remaining skips to origin @maxres: %d\n", dev->CIS.skipsToOrigin); cis_move_motor(dev, dev->CIS.skipsToOrigin); - + if (dev->calib_mode) { /* In calibration mode, we scan the interior of the scanner before the @@ -2172,10 +2172,10 @@ cis_calibrate (Mustek_PP_CIS_dev * dev) DBG(3, "cis_calibrate: running in calibration mode. Returning home.\n"); cis_return_home (dev, SANE_FALSE); /* Wait till it's home */ } - + return dev->desc->state != STATE_CANCELLED ? SANE_TRUE : SANE_FALSE; - -} + +} /****************************************************************************** ****************************************************************************** @@ -2189,7 +2189,7 @@ cis_calibrate (Mustek_PP_CIS_dev * dev) /* Shared initialization routine */ static SANE_Status cis_attach(SANE_String_Const port, - SANE_String_Const name, + SANE_String_Const name, SANE_Attach_Callback attach, SANE_Int driverNo, SANE_Int info) @@ -2204,19 +2204,19 @@ static SANE_Status cis_attach(SANE_String_Const port, { SANE_Status altStatus; SANE_String_Const altPort; - + DBG (2, "cis_attach: couldn't attach to `%s' (%s)\n", port, sane_strstatus (status)); - - /* Make migration to libieee1284 painless for users that used + + /* Make migration to libieee1284 painless for users that used direct io in the past */ if (strcmp(port, "0x378") == 0) altPort = "parport0"; else if (strcmp(port, "0x278") == 0) altPort = "parport1"; else if (strcmp(port, "0x3BC") == 0) altPort = "parport2"; else return status; - + DBG (2, "cis_attach: trying alternative port name: %s\n", altPort); - + altStatus = sanei_pa4s2_open (altPort, &fd); if (altStatus != SANE_STATUS_GOOD) { @@ -2225,7 +2225,7 @@ static SANE_Status cis_attach(SANE_String_Const port, return status; /* Return original status, not alternative status */ } } - + M1015_START_LL; M1015_START_HL; @@ -2237,17 +2237,17 @@ static SANE_Status cis_attach(SANE_String_Const port, sanei_pa4s2_enable (fd, SANE_FALSE); sanei_pa4s2_close (fd); - + if (asic != 0xA5) /* Identifies the MA1015 chipset */ { /* CIS driver only works for MA1015 chipset */ DBG (2, "cis_attach: asic id (0x%02x) not recognized\n", asic); - return SANE_STATUS_INVAL; + return SANE_STATUS_INVAL; } DBG (3, "cis_attach: device %s attached\n", name); DBG (3, "cis_attach: asic 0x%02x\n", asic); - + return attach(port, name, driverNo, info); } @@ -2292,7 +2292,7 @@ void cis_drv_capabilities(SANE_Int info, SANE_String *model, *caps = CAP_NOTHING; switch(info) - { + { case MUSTEK_PP_CIS600: *model = strdup("600CP"); *maxres = 600; @@ -2338,19 +2338,19 @@ SANE_Status cis_drv_open (SANE_String port, SANE_Int caps, SANE_Int *fd) { SANE_Status altStatus; SANE_String_Const altPort; - + DBG (2, "cis_attach: couldn't attach to `%s' (%s)\n", port, sane_strstatus (status)); - - /* Make migration to libieee1284 painless for users that used + + /* Make migration to libieee1284 painless for users that used direct io in the past */ if (strcmp(port, "0x378") == 0) altPort = "parport0"; else if (strcmp(port, "0x278") == 0) altPort = "parport1"; else if (strcmp(port, "0x3BC") == 0) altPort = "parport2"; else return status; - + DBG (2, "cis_attach: trying alternative port name: %s\n", altPort); - + altStatus = sanei_pa4s2_open (altPort, fd); if (altStatus != SANE_STATUS_GOOD) { @@ -2379,16 +2379,16 @@ void cis_drv_setup (SANE_Handle hndl) } memset(cisdev, 0, sizeof(Mustek_PP_CIS_dev)); DBG(3, "cis_drv_setup: cis device allocated\n"); - + dev->lamp_on = 0; dev->priv = cisdev; - + cisdev->desc = dev; cisdev->model = dev->dev->info; cisdev->CIS.hw_hres = 300; cisdev->CIS.cisRes = 300; cisdev->CIS.hw_vres = 300; - + /* Default values for configurable parameters; configuration file may override them. */ cisdev->fast_skip = SANE_TRUE; @@ -2424,7 +2424,7 @@ SANE_Status cis_drv_config(SANE_Handle hndl, SANE_String_Const optname, return SANE_STATUS_INVAL; } dvalue = atof(optval); - + /* An adjustment of +/- 5 mm should be sufficient and safe */ if (dvalue < -5.0) { @@ -2440,13 +2440,13 @@ SANE_Status cis_drv_config(SANE_Handle hndl, SANE_String_Const optname, } /* In practice, there is a lower bound on the value that can be used, but if the top_skip value is smaller than that value, the only result - will be that the driver tries to move the head a negative number + will be that the driver tries to move the head a negative number of steps after calibration. The move routine just ignores negative steps, so no harm can be done. */ cisdev->top_skip += MM_TO_PIXEL(dvalue, dev->dev->maxres); - DBG (3, "cis_drv_config: setting top skip value to %d\n", + DBG (3, "cis_drv_config: setting top skip value to %d\n", cisdev->top_skip); - + /* Just to be cautious; we don't want the head to hit the bottom */ if (cisdev->top_skip > 600) cisdev->top_skip = 600; if (cisdev->top_skip < -600) cisdev->top_skip = -600; @@ -2519,7 +2519,7 @@ void cis_drv_close (SANE_Handle hndl) Mustek_pp_Handle *dev = hndl; Mustek_PP_CIS_dev *cisdev = dev->priv; DBG (3, "cis_close: resetting device.\n"); - sanei_pa4s2_enable (dev->fd, SANE_TRUE); + sanei_pa4s2_enable (dev->fd, SANE_TRUE); cis_reset_device (cisdev); DBG (3, "cis_close: returning home.\n"); cis_return_home (cisdev, SANE_TRUE); /* Don't wait */ @@ -2541,7 +2541,7 @@ SANE_Status cis_drv_start (SANE_Handle hndl) Mustek_pp_Handle *dev = hndl; Mustek_PP_CIS_dev *cisdev = dev->priv; SANE_Int pixels = dev->params.pixels_per_line; - + if (!cisdev) { DBG (2, "cis_drv_start: not enough memory for device\n"); @@ -2629,7 +2629,7 @@ SANE_Status cis_drv_start (SANE_Handle hndl) (cisdev->model == MUSTEK_PP_CIS1200 && dev->res <= 300)) cisdev->CIS.cisRes = 300; else - cisdev->CIS.cisRes = 600; + cisdev->CIS.cisRes = 600; /* Calibration only makes sense for hardware pixels, not for interpolated pixels, so we limit the number of calibration pixels to the maximum @@ -2638,10 +2638,10 @@ SANE_Status cis_drv_start (SANE_Handle hndl) cisdev->calib_pixels = (pixels * cisdev->CIS.hw_hres) / dev->res; else cisdev->calib_pixels = pixels; - - DBG (3, "cis_drv_start: hres: %d vres: %d cisres: %d\n", + + DBG (3, "cis_drv_start: hres: %d vres: %d cisres: %d\n", cisdev->CIS.hw_hres, cisdev->CIS.hw_vres, cisdev->CIS.cisRes); - + sanei_pa4s2_enable (dev->fd, SANE_TRUE); cis_reset_device (cisdev); @@ -2653,7 +2653,7 @@ SANE_Status cis_drv_start (SANE_Handle hndl) /* * Set all registers to -1 (uninitialized) - */ + */ for (i=0; i<4; ++i) { cisdev->CIS.regs.in_regs[i] = -1; @@ -2682,12 +2682,12 @@ SANE_Status cis_drv_start (SANE_Handle hndl) dev->priv = NULL; return SANE_STATUS_NO_MEM; } - - /* Allocate memory for calibration; calibrating interpolated pixels + + /* Allocate memory for calibration; calibrating interpolated pixels makes no sense */ - if (pixels > (dev->dev->maxhsize >> 1)) + if (pixels > (dev->dev->maxhsize >> 1)) pixels = (dev->dev->maxhsize >> 1); - + cisdev->calib_low[1] = malloc (pixels); cisdev->calib_hi[1] = malloc (pixels); @@ -2751,7 +2751,7 @@ SANE_Status cis_drv_start (SANE_Handle hndl) cis_move_motor (cisdev, dev->topY); /* Measured in max resolution */ - /* It is vital to reinitialize the scanner right before we start the + /* It is vital to reinitialize the scanner right before we start the real scanning. Otherwise the bank synchronization may have gotten lost by the time we reach the top of the scan area */ @@ -2759,12 +2759,12 @@ SANE_Status cis_drv_start (SANE_Handle hndl) cis_config_ccd(cisdev); cis_wait_read_ready(cisdev); - sanei_pa4s2_enable (dev->fd, SANE_FALSE); + sanei_pa4s2_enable (dev->fd, SANE_FALSE); cisdev->CIS.line_step = SANE_FIX ((float) cisdev->CIS.hw_vres / (float) cisdev->CIS.res); - /* + /* * It is very important that line_diff is not initialized at zero ! * If it is set to zero, the motor will keep on moving forever (or better, * till the scanner breaks). @@ -2789,7 +2789,7 @@ void cis_drv_read (SANE_Handle hndl, SANE_Byte *buffer) Mustek_pp_Handle *dev = hndl; Mustek_PP_CIS_dev *cisdev = dev->priv; DBG(6, "cis_drv_read: Reading line\n"); - sanei_pa4s2_enable (dev->fd, SANE_TRUE); + sanei_pa4s2_enable (dev->fd, SANE_TRUE); switch (dev->mode) { case MODE_BW: @@ -2814,13 +2814,13 @@ void cis_drv_stop (SANE_Handle hndl) { Mustek_pp_Handle *dev = hndl; Mustek_PP_CIS_dev *cisdev = dev->priv; - + /* device is scanning: return lamp and free buffers */ DBG (3, "cis_drv_stop: stopping current scan\n"); dev->state = STATE_CANCELLED; DBG (9, "cis_drv_stop: enabling fd\n"); - sanei_pa4s2_enable (dev->fd, SANE_TRUE); + sanei_pa4s2_enable (dev->fd, SANE_TRUE); Mustek_PP_1015_write_reg(cisdev, MA1015W_MOTOR_CONTROL, 0); /* stop */ DBG (9, "cis_drv_stop: resetting device (1)\n"); cis_reset_device (cisdev); @@ -2829,7 +2829,7 @@ void cis_drv_stop (SANE_Handle hndl) DBG (9, "cis_drv_stop: resetting device (2)\n"); cis_reset_device (cisdev); DBG (9, "cis_drv_stop: disabling fd\n"); - sanei_pa4s2_enable (dev->fd, SANE_FALSE); + sanei_pa4s2_enable (dev->fd, SANE_FALSE); DBG (9, "cis_drv_stop: freeing buffers\n"); /* This is no good: canceling while the device is scanning and diff --git a/backend/mustek_pp_cis.h b/backend/mustek_pp_cis.h index 2a38d89..fcbdfa6 100644 --- a/backend/mustek_pp_cis.h +++ b/backend/mustek_pp_cis.h @@ -50,28 +50,28 @@ /****************************************************************************** * Read register symbols. *****************************************************************************/ -typedef enum { +typedef enum { MA1015R_ASIC = 0x00, MA1015R_SCAN_VAL = 0x01, MA1015R_MOTOR = 0x02, - MA1015R_BANK_COUNT = 0x03 - } + MA1015R_BANK_COUNT = 0x03 + } Mustek_PP_1015R_reg; /****************************************************************************** * Read register bitmask symbols. *****************************************************************************/ -typedef enum { +typedef enum { MA1015B_MOTOR_HOME = 0x01, - MA1015B_MOTOR_STABLE = 0x03 + MA1015B_MOTOR_STABLE = 0x03 } Mustek_PP_1015R_bit; /****************************************************************************** * Write register symbols: (bank number << 4) + register number. *****************************************************************************/ - -typedef enum { + +typedef enum { MA1015W_RED_REF = 0x00, MA1015W_GREEN_REF = 0x01, MA1015W_BLUE_REF = 0x02, @@ -105,13 +105,13 @@ typedef struct Mustek_PP_1015_Registers SANE_Byte in_regs[4]; SANE_Byte out_regs[4][4]; SANE_Byte channel; - + Mustek_PP_1015R_reg current_read_reg; SANE_Int read_count; - + Mustek_PP_1015W_reg current_write_reg; /* always used */ SANE_Int write_count; -} +} Mustek_PP_1015_Registers; @@ -122,74 +122,74 @@ typedef struct Mustek_PP_CIS_Info { /* Expose time (= time the lamp is on ?) */ SANE_Byte exposeTime; - + /* Power-on delay (= time between lamp on and start of capturing ?) */ SANE_Byte powerOnDelay[3]; - + /* Motor step control */ SANE_Byte phaseType; - + /* Use 8K bank or 4K bank */ SANE_Bool use8KBank; - + /* High resolution (600 DPI) or not (300 DPI) */ SANE_Bool highRes; - + /* delay between pixels; reading too fast causes stability problems */ SANE_Int delay; /* Register representation */ Mustek_PP_1015_Registers regs; - + /* Current color channel */ SANE_Int channel; - + /* Blocks motor movements during calibration */ SANE_Bool dontMove; - + /* Prevents read increment the before the first read */ SANE_Bool dontIncRead; - - /* Controls whether or not calibration parameters are transmitted + + /* Controls whether or not calibration parameters are transmitted during CIS configuration */ SANE_Bool setParameters; - + /* Number of lines to skip to reach the origin (used during calibration) */ SANE_Int skipsToOrigin; - + /* Physical resolution of the CIS: either 300 or 600 DPI */ SANE_Int cisRes; - + /* CCD mode (color/grayscale/lineart) */ SANE_Int mode; - + /* how many positions to skip until scan area starts @ max res */ SANE_Int skipimagebytes; - + /* how many image bytes to scan @ max res */ SANE_Int imagebytes; - + /* total skip, adjusted to resolution */ SANE_Int adjustskip; - + /* current resolution */ SANE_Int res; - + /* current horizontal hardware resolution */ SANE_Int hw_hres; - + /* current vertical hardware resolution */ SANE_Int hw_vres; - + /* how many positions to scan for one pixel */ SANE_Int hres_step; - + /* how many lines to scan for one scanline */ SANE_Int line_step; - + /* inversion */ SANE_Bool invert; - + } Mustek_PP_CIS_Info; struct Mustek_pp_Handle; @@ -200,7 +200,7 @@ typedef struct Mustek_PP_CIS_dev /* model identification (600CP/1200CP/1200CP+) */ SANE_Int model; - + /* CIS status */ Mustek_PP_CIS_Info CIS; @@ -216,26 +216,26 @@ typedef struct Mustek_PP_CIS_dev int line_diff; int ccd_line; int lines_left; - + /* Configuration parameters that the user can calibrate */ /* Starting position at the top */ SANE_Int top_skip; /* Use fast skipping method for head movements ? (default: yes) */ SANE_Bool fast_skip; /* Discrimination value to choose between black and white */ - SANE_Byte bw_limit; + SANE_Byte bw_limit; /* Run in calibration mode ? (default: no) */ SANE_Bool calib_mode; /* Extra delay between engine commands (ms). Default: zero. */ SANE_Int engine_delay; - + /* temporary buffer for 1 line (of one color) */ SANE_Byte *tmpbuf; /* calibration buffers (low cut, high cut) */ SANE_Byte *calib_low[3]; SANE_Byte *calib_hi[3]; - + /* Number of pixels in calibration buffers (<= number of pixels to scan) */ int calib_pixels; diff --git a/backend/mustek_pp_decl.h b/backend/mustek_pp_decl.h index 3875f3d..2ccce95 100644 --- a/backend/mustek_pp_decl.h +++ b/backend/mustek_pp_decl.h @@ -23,25 +23,25 @@ static void debug_drv_stop (SANE_Handle hndl); /* CIS drivers for 600CP, 1200CP, and 1200CP+ Version 0.13-beta, author Eddy De Greef */ -static SANE_Status cis600_drv_init (SANE_Int options, +static SANE_Status cis600_drv_init (SANE_Int options, SANE_String_Const port, - SANE_String_Const name, + SANE_String_Const name, SANE_Attach_Callback attach); -static SANE_Status cis1200_drv_init (SANE_Int options, +static SANE_Status cis1200_drv_init (SANE_Int options, SANE_String_Const port, - SANE_String_Const name, + SANE_String_Const name, SANE_Attach_Callback attach); -static SANE_Status cis1200p_drv_init(SANE_Int options, +static SANE_Status cis1200p_drv_init(SANE_Int options, SANE_String_Const port, - SANE_String_Const name, + SANE_String_Const name, SANE_Attach_Callback attach); -static void cis_drv_capabilities(SANE_Int info, +static void cis_drv_capabilities(SANE_Int info, SANE_String *model, - SANE_String *vendor, + SANE_String *vendor, SANE_String *type, - SANE_Int *maxres, + SANE_Int *maxres, SANE_Int *minres, - SANE_Int *maxhsize, + SANE_Int *maxhsize, SANE_Int *maxvsize, SANE_Int *caps); static SANE_Status cis_drv_open (SANE_String port, SANE_Int caps, SANE_Int *fd); @@ -57,17 +57,17 @@ static void cis_drv_stop (SANE_Handle hndl); /* CCD drivers for 300 dpi models Version 0.11-devel, author Jochen Eisinger */ -static SANE_Status ccd300_init (SANE_Int options, +static SANE_Status ccd300_init (SANE_Int options, SANE_String_Const port, - SANE_String_Const name, + SANE_String_Const name, SANE_Attach_Callback attach); -static void ccd300_capabilities(SANE_Int info, +static void ccd300_capabilities(SANE_Int info, SANE_String *model, - SANE_String *vendor, + SANE_String *vendor, SANE_String *type, - SANE_Int *maxres, + SANE_Int *maxres, SANE_Int *minres, - SANE_Int *maxhsize, + SANE_Int *maxhsize, SANE_Int *maxvsize, SANE_Int *caps); static SANE_Status ccd300_open (SANE_String port, SANE_Int caps, SANE_Int *fd); diff --git a/backend/mustek_pp_null.c b/backend/mustek_pp_null.c index e1c6a35..06045cb 100644 --- a/backend/mustek_pp_null.c +++ b/backend/mustek_pp_null.c @@ -39,7 +39,7 @@ If you do not wish that, delete this exception notice. This file implements a SANE backend for Mustek PP flatbed scanners. */ - + #include "../include/sane/config.h" #if defined(HAVE_STDLIB_H) @@ -62,7 +62,7 @@ #define MUSTEK_PP_NULL_DRIVER 0 -static SANE_Status +static SANE_Status debug_drv_init(SANE_Int options, SANE_String_Const port, SANE_String_Const name, SANE_Attach_Callback attach) { @@ -75,7 +75,7 @@ debug_drv_init(SANE_Int options, SANE_String_Const port, } /*ARGSUSED*/ -static void +static void debug_drv_capabilities(SANE_Int info __UNUSED__, SANE_String *model, SANE_String *vendor, SANE_String *type, SANE_Int *maxres, SANE_Int *minres, @@ -96,14 +96,14 @@ debug_drv_capabilities(SANE_Int info __UNUSED__, SANE_String *model, /*ARGSUSED*/ static SANE_Status -debug_drv_open (SANE_String port __UNUSED__, +debug_drv_open (SANE_String port __UNUSED__, SANE_Int caps __UNUSED__, SANE_Int *fd) { *fd = 1; return SANE_STATUS_GOOD; } -static void +static void debug_drv_setup (SANE_Handle hndl) { @@ -115,7 +115,7 @@ debug_drv_setup (SANE_Handle hndl) /*ARGSUSED*/ static SANE_Status -debug_drv_config(SANE_Handle hndl __UNUSED__, +debug_drv_config(SANE_Handle hndl __UNUSED__, SANE_String_Const optname, SANE_String_Const optval) { @@ -136,7 +136,7 @@ debug_drv_start (SANE_Handle hndl __UNUSED__) return SANE_STATUS_GOOD; } -static void +static void debug_drv_read (SANE_Handle hndl, SANE_Byte *buffer) { diff --git a/backend/mustek_scsi_pp.c b/backend/mustek_scsi_pp.c index 3dab544..304afce 100644 --- a/backend/mustek_scsi_pp.c +++ b/backend/mustek_scsi_pp.c @@ -793,7 +793,7 @@ mustek_scsi_pp_cmd (int fd, const void *src, size_t src_size, /* * Retry the command several times, as occasionally it doesn't - * work first time. + * work first time. */ do { diff --git a/backend/mustek_scsi_pp.h b/backend/mustek_scsi_pp.h index 5d1c900..363f2c0 100644 --- a/backend/mustek_scsi_pp.h +++ b/backend/mustek_scsi_pp.h @@ -1,7 +1,7 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2003 James Perry 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 @@ -36,7 +36,7 @@ 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. + If you do not wish that, delete this exception notice. This file implements the SCSI-over-parallel port protocol used in, for example, the Paragon 600 II EP @@ -113,7 +113,7 @@ static SANE_Status mustek_scsi_pp_cmd (int fd, const void *src, size_t src_size, * * @return * - SANE_STATUS_GOOD - on success - * - SANE_STATUS_IO_ERROR - if an error occured during the dialog with the + * - SANE_STATUS_IO_ERROR - if an error occured during the dialog with the * device */ static SANE_Status mustek_scsi_pp_rdata (int fd, int planes, diff --git a/backend/mustek_usb.c b/backend/mustek_usb.c index 58dcc58..d048fef 100644 --- a/backend/mustek_usb.c +++ b/backend/mustek_usb.c @@ -43,7 +43,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for Mustek 1200UB and similar + This file implements a SANE backend for Mustek 1200UB and similar USB flatbed scanners. */ #define BUILD 18 @@ -100,10 +100,6 @@ static SANE_Int new_dev_alloced; static SANE_String_Const mode_list[6]; -static const SANE_Range char_range = { - -127, 127, 1 -}; - static const SANE_Range u8_range = { 0, /* minimum */ 255, /* maximum */ @@ -1533,7 +1529,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, *len = MIN (max_len, (SANE_Int) s->hw->scan_buffer_len); memcpy (buf, s->hw->scan_buffer_start, *len); DBG (4, "sane_read: exit, read %d bytes from scan_buffer; " - "%ld bytes remaining\n", *len, + "%ld bytes remaining\n", *len, (long int) (s->hw->scan_buffer_len - *len)); s->hw->scan_buffer_len -= (*len); s->hw->scan_buffer_start += (*len); diff --git a/backend/mustek_usb.conf.in b/backend/mustek_usb.conf.in index c9b3ec4..fd58cdd 100644 --- a/backend/mustek_usb.conf.in +++ b/backend/mustek_usb.conf.in @@ -36,4 +36,3 @@ usb 0x055f 0x0873 #option 1200cu #option 1200cu_plus #option 600cu - diff --git a/backend/mustek_usb.h b/backend/mustek_usb.h index 7e68402..b5a7518 100644 --- a/backend/mustek_usb.h +++ b/backend/mustek_usb.h @@ -43,7 +43,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for Mustek 1200UB and similar + This file implements a SANE backend for Mustek 1200UB and similar USB flatbed scanners. */ #ifndef mustek_usb_h diff --git a/backend/mustek_usb2.c b/backend/mustek_usb2.c index 58d9e9e..bc112e6 100644 --- a/backend/mustek_usb2.c +++ b/backend/mustek_usb2.c @@ -43,7 +43,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro + This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro and similar USB2 scanners. */ #define BUILD 10 @@ -396,7 +396,7 @@ init_options (Mustek_Scanner * s) s->opt[OPT_RESOLUTION].unit = SANE_UNIT_DPI; s->opt[OPT_RESOLUTION].constraint_type = SANE_CONSTRAINT_WORD_LIST; s->opt[OPT_RESOLUTION].constraint.word_list = dpi_list; - s->val[OPT_RESOLUTION].w = 300; + s->val[OPT_RESOLUTION].w = 300; /* preview */ s->opt[OPT_PREVIEW].name = SANE_NAME_PREVIEW; @@ -528,14 +528,14 @@ static unsigned int g_dwAlreadyGetNegLines = 0; /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: Check the device connect status Parameters: none -Return value: +Return value: if the device is connected return TRUE - else + else return FALSE ***********************************************************************/ static SANE_Bool @@ -547,12 +547,12 @@ GetDeviceStatus () /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: Turn the lamp on or off Parameters: isLampOn: turn the lamp on or off isTALampOn: turn the TA lamp on or off -Return value: +Return value: if operation success return TRUE else @@ -567,11 +567,11 @@ PowerControl (SANE_Bool isLampOn, SANE_Bool isTALampOn) /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: Turn the carriage home Parameters: none -Return value: +Return value: if the operation success return TRUE else @@ -587,11 +587,11 @@ CarriageHome () #ifdef SANE_UNUSED /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: Get gamma input/output bit count Parameters: pGammaInfo: the gamma information -Return value: +Return value: if the operation success return TRUE else @@ -632,11 +632,11 @@ GetGammaInfo (LPGAMMAINFO pGammaInfo) #endif /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: set scan parameters Parameters: pSetParameters: the information of scaning -Return value: +Return value: if the operation success return TRUE else @@ -861,11 +861,11 @@ SetParameters (LPSETPARAMETERS pSetParameters) /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: get the optical dpi and scan area Parameters: pGetParameters: the information of scan -Return value: +Return value: if the operation is success return TRUE else @@ -905,7 +905,7 @@ GetParameters (LPGETPARAMETERS pGetParameters) /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: start scan image Parameters: none @@ -949,12 +949,12 @@ StartScan () /********************************************************************** Author: Jack Date: 2005/05/14 -Routine Description: +Routine Description: Read the scanner data Parameters: pImageRows: the information of the data -Return value: +Return value: if the operation is seccuss return TRUE else @@ -1090,11 +1090,11 @@ ReadScannedData (LPIMAGEROWS pImageRows) /********************************************************************** Author: Jack Date: 2005/05/14 -Routine Description: +Routine Description: Stop scan Parameters: none -Return value: +Return value: if operation is success return TRUE else @@ -1150,11 +1150,11 @@ StopScan () /********************************************************************** Author: Jack Date: 2005/05/14 -Routine Description: +Routine Description: Check the status of TA Parameters: none -Return value: +Return value: if operation is success return TRUE else @@ -1187,11 +1187,11 @@ IsTAConnected () #ifdef SANE_UNUSED /********************************************************************** Author: Jack Date: 2005/05/14 -Routine Description: +Routine Description: Get the status of the HK Parameters: pKey: the status of key -Return value: +Return value: if the operation is success return TRUE else @@ -1250,14 +1250,14 @@ GetKeyStatus (SANE_Byte * pKey) #endif /********************************************************************** Author: Jack Date: 2005/05/14 -Routine Description: - Deal with the image with auto level +Routine Description: + Deal with the image with auto level Parameters: lpSource: the data of image scanMode: the scan mode ScanLines: the rows of image BytesPerLine: the bytes of per line -Return value: +Return value: none ***********************************************************************/ static void @@ -1497,13 +1497,13 @@ AutoLevel (SANE_Byte *lpSource, SCANMODE scanMode, unsigned short ScanLines, #ifdef SANE_UNUSED /********************************************************************** Author: Jack Date: 2005/05/14 -Routine Description: +Routine Description: Deal with image with auto level Parameters: pDIB: the data of image ImageWidth: the width of image ImageHeight: the height of image -Return value: +Return value: none ***********************************************************************/ static void @@ -1792,14 +1792,14 @@ QBETDetectAutoLevel (void *pDIB, unsigned int ImageWidth, unsigned int ImageHeig #ifdef SANE_UNUSED /********************************************************************** Author: Jack Date: 2005/05/14 -Routine Description: - Change the image data and deal with auto level +Routine Description: + Change the image data and deal with auto level Parameters: lpSource: the data of image scanMode: the scan mode ScanLines: the rows of image BytesPerLine: the bytes of per line -Return value: +Return value: none ***********************************************************************/ static void diff --git a/backend/mustek_usb2.h b/backend/mustek_usb2.h index b80c51a..9dc3a2b 100644 --- a/backend/mustek_usb2.h +++ b/backend/mustek_usb2.h @@ -43,7 +43,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro + This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro and similar USB2 scanners. */ #ifndef MUSTEK_USB2_H diff --git a/backend/mustek_usb2_asic.c b/backend/mustek_usb2_asic.c index d9b1a28..b31c749 100644 --- a/backend/mustek_usb2_asic.c +++ b/backend/mustek_usb2_asic.c @@ -42,7 +42,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro + This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro and similar USB2 scanners. */ #include "mustek_usb2_asic.h" @@ -255,6 +255,7 @@ Mustek_DMARead (PAsic chip, unsigned int size, SANE_Byte * lpdata) STATUS status = STATUS_GOOD; unsigned int i, buf[1]; unsigned int read_size; + size_t read_size_usb; DBG (DBG_ASIC, "Mustek_DMARead: Enter\n"); @@ -268,9 +269,11 @@ Mustek_DMARead (PAsic chip, unsigned int size, SANE_Byte * lpdata) SetRWSize (chip, 1, buf[0]); status = WriteIOControl (chip, 0x03, 0, 4, (SANE_Byte *) (buf)); + read_size_usb = buf[0]; status = sanei_usb_read_bulk (chip->fd, lpdata + i * read_size, - (size_t *) buf); + &read_size_usb); + buf[0] = read_size_usb; if (status != STATUS_GOOD) { DBG (DBG_ERR, "Mustek_DMARead: read error\n"); @@ -284,9 +287,11 @@ Mustek_DMARead (PAsic chip, unsigned int size, SANE_Byte * lpdata) SetRWSize (chip, 1, buf[0]); status = WriteIOControl (chip, 0x03, 0, 4, (SANE_Byte *) (buf)); + read_size_usb = buf[0]; status = sanei_usb_read_bulk (chip->fd, lpdata + i * read_size, - (size_t *) buf); + &read_size_usb); + buf[0] = read_size_usb; if (status != STATUS_GOOD) { DBG (DBG_ERR, "Mustek_DMARead: read error\n"); @@ -307,6 +312,7 @@ Mustek_DMAWrite (PAsic chip, unsigned int size, SANE_Byte * lpdata) unsigned int buf[1]; unsigned int i; unsigned int write_size; + size_t write_size_usb; DBG (DBG_ASIC, "Mustek_DMAWrite: Enter:size=%d\n", size); @@ -320,9 +326,11 @@ Mustek_DMAWrite (PAsic chip, unsigned int size, SANE_Byte * lpdata) SetRWSize (chip, 0, buf[0]); WriteIOControl (chip, 0x02, 0, 4, (SANE_Byte *) buf); + write_size_usb = buf[0]; status = sanei_usb_write_bulk (chip->fd, lpdata + i * write_size, - (size_t *) buf); + &write_size_usb); + buf[0] = write_size_usb; if (status != STATUS_GOOD) { DBG (DBG_ERR, "Mustek_DMAWrite: write error\n"); @@ -337,9 +345,11 @@ Mustek_DMAWrite (PAsic chip, unsigned int size, SANE_Byte * lpdata) SetRWSize (chip, 0, buf[0]); WriteIOControl (chip, 0x02, 0, 4, (SANE_Byte *) buf); + write_size_usb = buf[0]; status = sanei_usb_write_bulk (chip->fd, lpdata + i * write_size, - (size_t *) buf); + &write_size_usb); + buf[0] = write_size_usb; if (status != STATUS_GOOD) { DBG (DBG_ERR, "Mustek_DMAWrite: write error\n"); @@ -1649,7 +1659,7 @@ LLFMotorMove (PAsic chip, LLF_MOTORMOVE * LLF_MotorMove) Mustek_SendData (chip, ES01_E5_MotorDecStep, LLF_MotorMove->DecStep); DBG (DBG_ASIC, "DecStep=%d\n", LLF_MotorMove->DecStep); - /*set motor uniform speed only for uniform speed + /*set motor uniform speed only for uniform speed //only used for UNIFORM_MOTOR_AND_SCAN_SPEED_ENABLE //If you use acc mode, this two reg are not used. */ Mustek_SendData (chip, ES01_FD_MotorFixedspeedLSB, @@ -4541,7 +4551,7 @@ Asic_ReadCalibrationData (PAsic chip, void * pBuffer, pCalBuffer = (SANE_Byte *) malloc (dwXferBytes); if (pCalBuffer == NULL) { - DBG (DBG_ERR, + DBG (DBG_ERR, "Asic_ReadCalibrationData: Can't malloc bCalBuffer memory\n"); return STATUS_MEM_ERROR; } diff --git a/backend/mustek_usb2_asic.h b/backend/mustek_usb2_asic.h index ffc92ff..1a55903 100644 --- a/backend/mustek_usb2_asic.h +++ b/backend/mustek_usb2_asic.h @@ -42,7 +42,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro + This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro and similar USB2 scanners. */ #ifndef MUSTEK_USB2_ASIC_H @@ -299,8 +299,8 @@ RGBColor; /* debug levels */ #define DBG_CRIT 0 /* Critical errors thatshould be printed even - if user hasn't enabled debugging -- use - with care and only after sane_open has been + if user hasn't enabled debugging -- use + with care and only after sane_open has been called */ #define DBG_ERR 1 /* Other errors */ #define DBG_WARN 2 /* unusual conditions that may not be fatal */ diff --git a/backend/mustek_usb2_high.c b/backend/mustek_usb2_high.c index 664528e..b1ba65e 100644 --- a/backend/mustek_usb2_high.c +++ b/backend/mustek_usb2_high.c @@ -42,7 +42,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro + This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro and similar USB2 scanners. */ #include /* HOLD */ @@ -191,10 +191,10 @@ static void ModifyLinePoint (SANE_Byte * lpImageData, /********************************************************************** Author: Jack Date: 2005/05/13 - Routine Description: + Routine Description: Parameters: none -Return value: +Return value: if initialize the scanner success return TRUE else @@ -251,14 +251,14 @@ MustScanner_Init () /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: check the scanner connect status Parameters: none -Return value: +Return value: if scanner's status is OK return TRUE - else + else return FASLE ***********************************************************************/ static SANE_Bool @@ -279,12 +279,12 @@ MustScanner_GetScannerState () /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: Turn the lamp on or off Parameters: isLampOn: turn the lamp on or off isTALampOn: turn the TA lamp on or off -Return value: +Return value: if operation success return TRUE else @@ -334,11 +334,11 @@ MustScanner_PowerControl (SANE_Bool isLampOn, SANE_Bool isTALampOn) /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: Turn the carriage home Parameters: none -Return value: +Return value: if the operation success return TRUE else @@ -377,11 +377,11 @@ MustScanner_BackHome () /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: prepare the scan image Parameters: bScanSource: the scan source -Return value: +Return value: if operation is success return TRUE else @@ -466,7 +466,7 @@ MustScanner_Prepare (SANE_Byte bScanSource) #ifdef SANE_UNUSED /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Adjuest the offset Parameters: nTimes: Adjuest offset the times @@ -479,7 +479,7 @@ Parameters: bOffsetLowerBound: the lower bound of offset wStdMinLevel: the min level of offset wStdMaxLevel: the max level of offset -Return value: +Return value: if the operation is success return TRUE else @@ -624,7 +624,7 @@ MustScanner_AdjustOffset (int nTimes, SANE_Bool * bDirection, SANE_Byte * bOffse /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Adjuest the offset second times Parameters: nTimes: Adjuest offset the times @@ -637,7 +637,7 @@ Parameters: bOffsetLowerBound: the lower bound of offset wStdMinLevel: the min level of offset wStdMaxLevel: the max level of offset -Return value: +Return value: if the operation is success return TRUE else @@ -745,15 +745,15 @@ MustScanner_SecondAdjustOffset (int nTimes, SANE_Bool * bDirection, SANE_Byte * /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Filter the data Parameters: pSort: the sort data - TotalCount: the total count + TotalCount: the total count LowCount: the low count HighCount: the upper count -Return value: - the data of Filter +Return value: + the data of Filter ***********************************************************************/ static unsigned short MustScanner_FiltLower (unsigned short * pSort, unsigned short TotalCount, unsigned short LowCount, @@ -786,13 +786,13 @@ MustScanner_FiltLower (unsigned short * pSort, unsigned short TotalCount, unsign /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Repair line when single CCD and color is 48bit Parameters: lpLine: point to image be repaired isOrderInvert: RGB or BGR wLinesCount: how many line be repaired -Return value: +Return value: if the operation is success return TRUE else @@ -982,13 +982,13 @@ MustScanner_GetRgb48BitLine (SANE_Byte * lpLine, SANE_Bool isOrderInvert, /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Repair line when double CCD and color is 48bit Parameters: lpLine: point to image be repaired isOrderInvert: RGB or BGR wLinesCount: how many line be repaired -Return value: +Return value: if the operation is success return TRUE else @@ -1427,13 +1427,13 @@ MustScanner_GetRgb48BitLine1200DPI (SANE_Byte * lpLine, SANE_Bool isOrderInvert, /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Repair line when single CCD and color is 24bit Parameters: lpLine: point to image be repaired isOrderInvert: RGB or BGR wLinesCount: how many line be repaired -Return value: +Return value: if the operation is success return TRUE else @@ -1680,13 +1680,13 @@ MustScanner_GetRgb24BitLine (SANE_Byte * lpLine, SANE_Bool isOrderInvert, /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Repair line when double CCD and color is 24bit Parameters: lpLine: point to image be repaired isOrderInvert: RGB or BGR wLinesCount: how many line be repaired -Return value: +Return value: if the operation is success return TRUE else @@ -2111,13 +2111,13 @@ MustScanner_GetRgb24BitLine1200DPI (SANE_Byte * lpLine, SANE_Bool isOrderInvert, /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Repair line when single CCD and color is 16bit Parameters: lpLine: point to image be repaired isOrderInvert: RGB or BGR wLinesCount: how many line be repaired -Return value: +Return value: if the operation is success return TRUE else @@ -2206,13 +2206,13 @@ MustScanner_GetMono16BitLine (SANE_Byte * lpLine, SANE_Bool isOrderInvert, /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Repair line when double CCD and color is 16bit Parameters: lpLine: point to image be repaired isOrderInvert: RGB or BGR wLinesCount: how many line be repaired -Return value: +Return value: if the operation is success return TRUE else @@ -2387,13 +2387,13 @@ MustScanner_GetMono16BitLine1200DPI (SANE_Byte * lpLine, SANE_Bool isOrderInvert /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Repair line when single CCD and color is 8bit Parameters: lpLine: point to image be repaired isOrderInvert: RGB or BGR wLinesCount: how many line be repaired -Return value: +Return value: if the operation is success return TRUE else @@ -2478,13 +2478,13 @@ MustScanner_GetMono8BitLine (SANE_Byte * lpLine, SANE_Bool isOrderInvert, /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Repair line when double CCD and color is 8bit Parameters: lpLine: point to image be repaired isOrderInvert: RGB or BGR wLinesCount: how many line be repaired -Return value: +Return value: if the operation is success return TRUE else @@ -2641,13 +2641,13 @@ MustScanner_GetMono8BitLine1200DPI (SANE_Byte * lpLine, SANE_Bool isOrderInvert, /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Repair line when single CCD and color is 1bit Parameters: lpLine: point to image be repaired isOrderInvert: RGB or BGR wLinesCount: how many line be repaired -Return value: +Return value: if the operation is success return TRUE else @@ -2732,13 +2732,13 @@ MustScanner_GetMono1BitLine (SANE_Byte * lpLine, SANE_Bool isOrderInvert, /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Repair line when double CCD and color is 1bit Parameters: lpLine: point to image be repaired isOrderInvert: RGB or BGR wLinesCount: how many line be repaired -Return value: +Return value: if the operation is success return TRUE else @@ -2849,12 +2849,12 @@ MustScanner_GetMono1BitLine1200DPI (SANE_Byte * lpLine, SANE_Bool isOrderInvert, /********************************************************************** Author: Jack Date: 2005/05/21 -Routine Description: - prepare calculate Max and Min value +Routine Description: + prepare calculate Max and Min value Parameters: wResolution: the scan resolution Return value: - none + none ***********************************************************************/ static void MustScanner_PrepareCalculateMaxMin (unsigned short wResolution) @@ -2904,7 +2904,7 @@ MustScanner_PrepareCalculateMaxMin (unsigned short wResolution) /********************************************************************** Author: Jack Date: 2005/05/21 -Routine Description: +Routine Description: calculate the Max and Min value Parameters: pBuffer: the image data @@ -2912,7 +2912,7 @@ Parameters: lpMinValue: the min value wResolution: the scan resolution Return value: - none + none ***********************************************************************/ static void MustScanner_CalculateMaxMin (SANE_Byte * pBuffer, unsigned short * lpMaxValue, @@ -2981,11 +2981,11 @@ MustScanner_CalculateMaxMin (SANE_Byte * pBuffer, unsigned short * lpMaxValue, /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Read the data from scanner Parameters: none -Return value: +Return value: if operation is success return TRUE else @@ -3075,11 +3075,11 @@ MustScanner_ReadDataFromScanner (void * dummy) /********************************************************************** Author: Jack Date: 2005/05/26 -Routine Description: +Routine Description: get the lines of scanned Parameters: none -Return value: +Return value: the lines of scanned ***********************************************************************/ static unsigned int @@ -3097,7 +3097,7 @@ GetScannedLines () /********************************************************************** Author: Jack Date: 2005/05/26 -Routine Description: +Routine Description: get lines which pass to superstratum Parameters: none @@ -3118,11 +3118,11 @@ GetReadyLines () /********************************************************************** Author: Jack Date: 2005/05/26 -Routine Description: +Routine Description: add the scanned total lines Parameters: wAddLines: add the lines -Return value: +Return value: none ***********************************************************************/ static void @@ -3137,11 +3137,11 @@ AddScannedLines (unsigned short wAddLines) /********************************************************************** Author: Jack Date: 2005/05/26 -Routine Description: +Routine Description: add the ready lines Parameters: none -Return value: +Return value: none ***********************************************************************/ static void @@ -3202,8 +3202,8 @@ ModifyLinePoint (SANE_Byte * lpImageData, /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: - Modifiy the image data +Routine Description: + Modifiy the image data Parameters: A: the input the image data B: the input the iamge data diff --git a/backend/mustek_usb2_high.h b/backend/mustek_usb2_high.h index 33f463f..aec79bb 100644 --- a/backend/mustek_usb2_high.h +++ b/backend/mustek_usb2_high.h @@ -42,7 +42,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro + This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro and similar USB2 scanners. */ #ifndef MUSTEK_USB2_HIGH_H diff --git a/backend/mustek_usb2_reflective.c b/backend/mustek_usb2_reflective.c index 7bf954c..aa95e5b 100644 --- a/backend/mustek_usb2_reflective.c +++ b/backend/mustek_usb2_reflective.c @@ -42,7 +42,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro + This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro and similar USB2 scanners. */ /* forward declarations */ @@ -63,11 +63,11 @@ static SANE_Bool Reflective_PrepareScan (void); /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: reset the scanner status Parameters: none -Return value: +Return value: if operation is success return TRUE els @@ -140,12 +140,12 @@ Reflective_Reset () /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: get the suggest parameter of scaning Parameters: pTarget: the information of scaning pSuggest: suggest parameter of scaning -Return value: +Return value: if the operation is success return TRUE els @@ -341,7 +341,7 @@ Reflective_ScanSuggest (PTARGETIMAGE pTarget, PSUGGESTSETTING pSuggest) /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: setup scanning process Parameters: ColorMode: ScanMode of Scanning, CM_RGB48, CM_GRAY and so on @@ -352,7 +352,7 @@ Parameters: Y: Y start coordinate Width: Width of Scan Image Height: Height of Scan Image -Return value: +Return value: if the operation is success return TRUE else @@ -567,11 +567,11 @@ Reflective_SetupScan (COLORMODE ColorMode, /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: To adjust the value of offset gain of R/G/B Parameters: none -Return value: +Return value: if operation is success return TRUE else @@ -1102,7 +1102,7 @@ Reflective_AdjustAD () /********************************************************************** Author: Jack Date: 2005/05/14 -Routine Description: +Routine Description: Find top and left side Parameters: lpwStartX: the left side @@ -1284,11 +1284,11 @@ Reflective_FindTopLeft (unsigned short * lpwStartX, unsigned short * lpwStartY) /********************************************************************** Author: Jack Date: 2005/05/14 -Routine Description: +Routine Description: Stop scan Parameters: none -Return value: +Return value: if operation is success return TRUE else @@ -1329,11 +1329,11 @@ Reflective_StopScan () /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Get the calibration data Parameters: none -Return value: +Return value: if the operation is success return TRUE else @@ -1749,11 +1749,11 @@ Reflective_LineCalibration16Bits () /********************************************************************** Author: Jack Date: 2005/05/14 -Routine Description: +Routine Description: Prepare scan image Parameters: none -Return value: +Return value: if operation is success return TRUE else @@ -1870,7 +1870,7 @@ Reflective_PrepareScan () /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Get the data of image Parameters: lpBlock: the data of image diff --git a/backend/mustek_usb2_transparent.c b/backend/mustek_usb2_transparent.c index 43bda0b..33adcc0 100644 --- a/backend/mustek_usb2_transparent.c +++ b/backend/mustek_usb2_transparent.c @@ -42,7 +42,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro + This file implements a SANE backend for the Mustek BearPaw 2448 TA Pro and similar USB2 scanners. */ @@ -64,11 +64,11 @@ static SANE_Bool Transparent_PrepareScan (void); /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: reset the scanner Parameters: none -Return value: +Return value: if operation is success return TRUE else @@ -132,7 +132,7 @@ Transparent_Reset () /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: get suggest parameter of scaning Parameters: pTarget: the information of scaning @@ -283,7 +283,7 @@ Transparent_ScanSuggest (PTARGETIMAGE pTarget, PSUGGESTSETTING pSuggest) /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: setup scanning process Parameters: ColorMode: ScanMode of Scanning, CM_RGB48, CM_GRAY and so on @@ -294,7 +294,7 @@ Parameters: Y: Y start coordinate Width: Width of Scan Image Height: Height of Scan Image -Return value: +Return value: if the operation is success return TRUE else @@ -493,11 +493,11 @@ Transparent_SetupScan (COLORMODE ColorMode, unsigned short XDpi, unsigned short /********************************************************************** Author: Jack Date: 2005/05/14 -Routine Description: +Routine Description: Stop scan Parameters: none -Return value: +Return value: if operation is success return TRUE else @@ -534,7 +534,7 @@ Transparent_StopScan () /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Get the data of image Parameters: lpBlock: the data of image @@ -604,11 +604,11 @@ Transparent_GetRows (SANE_Byte * lpBlock, unsigned short * Rows, SANE_Bool isOrd /********************************************************************** Author: Jack Date: 2005/05/13 -Routine Description: +Routine Description: To adjust the value of offset gain of R/G/B Parameters: none -Return value: +Return value: if operation is success return TRUE else @@ -1114,7 +1114,7 @@ Transparent_AdjustAD () /********************************************************************** Author: Jack Date: 2005/05/14 -Routine Description: +Routine Description: Find top and left side Parameters: lpwStartX: the left side @@ -1266,11 +1266,11 @@ Transparent_FindTopLeft (unsigned short * lpwStartX, unsigned short * lpwStartY) /********************************************************************** Author: Jack Date: 2005/05/15 -Routine Description: +Routine Description: Get the calibration data Parameters: none -Return value: +Return value: if the operation is success return TRUE else @@ -1650,11 +1650,11 @@ Transparent_LineCalibration16Bits (unsigned short wTAShadingMinus) /********************************************************************** Author: Jack Date: 2005/05/14 -Routine Description: +Routine Description: Prepare scan image Parameters: none -Return value: +Return value: if operation is success return TRUE else diff --git a/backend/mustek_usb_high.c b/backend/mustek_usb_high.c index f6a0125..bf7807e 100644 --- a/backend/mustek_usb_high.c +++ b/backend/mustek_usb_high.c @@ -43,7 +43,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for Mustek 1200UB and similar + This file implements a SANE backend for Mustek 1200UB and similar USB flatbed scanners. */ #include "mustek_usb_high.h" diff --git a/backend/mustek_usb_high.h b/backend/mustek_usb_high.h index d3f1ae4..916ecb7 100644 --- a/backend/mustek_usb_high.h +++ b/backend/mustek_usb_high.h @@ -43,7 +43,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for Mustek 1200UB and similar + This file implements a SANE backend for Mustek 1200UB and similar USB flatbed scanners. */ #ifndef mustek_usb_high_h @@ -333,7 +333,7 @@ typedef struct Mustek_Usb_Scanner double tl_y; double width; double height; - /* scan window in dots (at current resolution): + /* scan window in dots (at current resolution): top left x+y and width+height */ SANE_Int tl_x_dots; SANE_Int tl_y_dots; diff --git a/backend/mustek_usb_low.c b/backend/mustek_usb_low.c index e626b65..3e4c760 100644 --- a/backend/mustek_usb_low.c +++ b/backend/mustek_usb_low.c @@ -43,7 +43,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for Mustek 1200UB and similar + This file implements a SANE backend for Mustek 1200UB and similar USB flatbed scanners. */ #include @@ -170,7 +170,7 @@ usb_low_exit (ma1017 * chip) DBG (7, "usb_low_exit: freeing chip\n"); free (chip); } - DBG (5, "usb_low_exit: read %d URBs, wrote %d URBs\n", + DBG (5, "usb_low_exit: read %d URBs, wrote %d URBs\n", chip->total_read_urbs, chip->total_write_urbs); DBG (7, "usb_low_exit: exit\n"); return SANE_STATUS_GOOD; diff --git a/backend/mustek_usb_low.h b/backend/mustek_usb_low.h index e5605db..46637e8 100644 --- a/backend/mustek_usb_low.h +++ b/backend/mustek_usb_low.h @@ -43,7 +43,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for Mustek 1200UB and similar + This file implements a SANE backend for Mustek 1200UB and similar USB flatbed scanners. */ #ifndef mustek_usb_low_h diff --git a/backend/mustek_usb_mid.c b/backend/mustek_usb_mid.c index 9ca51d9..5935cb7 100644 --- a/backend/mustek_usb_mid.c +++ b/backend/mustek_usb_mid.c @@ -43,7 +43,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for Mustek 1200UB and similar + This file implements a SANE backend for Mustek 1200UB and similar USB flatbed scanners. */ #include "mustek_usb_mid.h" diff --git a/backend/mustek_usb_mid.h b/backend/mustek_usb_mid.h index d8701a7..23e9c32 100644 --- a/backend/mustek_usb_mid.h +++ b/backend/mustek_usb_mid.h @@ -43,7 +43,7 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - This file implements a SANE backend for Mustek 1200UB and similar + This file implements a SANE backend for Mustek 1200UB and similar USB flatbed scanners. */ #ifndef mustek_usb_mid_h diff --git a/backend/nec.c b/backend/nec.c index d5179d3..f12e997 100644 --- a/backend/nec.c +++ b/backend/nec.c @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2000-2001 Kazuya Fukuda, based on sharp.c, which is + Copyright (C) 2000-2001 Kazuya Fukuda, based on sharp.c, which is based on canon.c. This file is part of the SANE package. @@ -52,7 +52,7 @@ - resolution setting bug fixed(PC-IN500/4C 10dpi step) - remove resolution list Version 0.11 - - get_data_buffer_status is not called in sane_get_parameter and + - get_data_buffer_status is not called in sane_get_parameter and sane_read_direct, sane_read_shuffled. - change some #include <> to "" Version 0.10 @@ -114,12 +114,12 @@ #ifndef USE_COLOR_THRESHOLD #define USE_COLOR_THRESHOLD #endif -/* enable a short list of some standard resolutions. XSane provides +/* enable a short list of some standard resolutions. XSane provides its own resolution list; therefore its is generally not reasonable to enable this list, if you mainly using XSane. But it might be handy if you are working with xscanimage */ -/* #define USE_RESOLUTION_LIST */ +/* #define USE_RESOLUTION_LIST */ #define BACKEND_NAME nec #include "../include/sane/sanei_backend.h" @@ -202,8 +202,8 @@ static SANE_String use_simple = "Flatbed"; #define HAVE_FSU 1 #define HAVE_ADF 2 -/* The follow #defines are used in NEC_Scanner.adf_fsu_mode - and as indexes for the arrays x_ranges, y_ranges in NEC_Device +/* The follow #defines are used in NEC_Scanner.adf_fsu_mode + and as indexes for the arrays x_ranges, y_ranges in NEC_Device */ #define SCAN_SIMPLE 0 #define SCAN_WITH_FSU 1 @@ -291,19 +291,19 @@ sense_handler(int fd, u_char *sense_buffer, void *ss) { int sense_key; NEC_Sense_Data *sdat = (NEC_Sense_Data *) ss; - + fd = fd; /* silence compilation warnings */ #define add_sense_code sense_buffer[12] #define add_sense_qual sense_buffer[13] memcpy(sdat->sb, sense_buffer, 16); - + DBG(10, "sense code: %02x %02x %02x %02x %02x %02x %02x %02x " "%02x %02x %02x %02x %02x %02x %02x %02x\n", - sense_buffer[0], sense_buffer[1], sense_buffer[2], sense_buffer[3], - sense_buffer[4], sense_buffer[5], sense_buffer[6], sense_buffer[7], - sense_buffer[8], sense_buffer[9], sense_buffer[10], sense_buffer[11], + sense_buffer[0], sense_buffer[1], sense_buffer[2], sense_buffer[3], + sense_buffer[4], sense_buffer[5], sense_buffer[6], sense_buffer[7], + sense_buffer[8], sense_buffer[9], sense_buffer[10], sense_buffer[11], sense_buffer[12], sense_buffer[13], sense_buffer[14], sense_buffer[15]); sense_key = sense_buffer[1] & 0x0F; @@ -418,7 +418,7 @@ inquiry (int fd, void *inq_buf, size_t *inq_size) static SANE_Status mode_select_mud (int fd, int mud) { - static u_char cmd[6 + MODEPARAM_LEN] = + static u_char cmd[6 + MODEPARAM_LEN] = {MODE_SELECT6, 0x10, 0, 0, MODEPARAM_LEN, 0}; mode_select_param *mp; SANE_Status status; @@ -442,7 +442,7 @@ mode_select_mud (int fd, int mud) static SANE_Status mode_select_adf_fsu (int fd, int mode) { - static u_char cmd[6 + MODE_SUBDEV_LEN] = + static u_char cmd[6 + MODE_SUBDEV_LEN] = {MODE_SELECT6, 0x10, 0, 0, MODE_SUBDEV_LEN, 0}; mode_select_subdevice *mp; SANE_Status status; @@ -478,7 +478,7 @@ mode_select_adf_fsu (int fd, int mode) static SANE_Status wait_ready(int fd); static SANE_Status -mode_sense (int fd, void *modeparam_buf, size_t * modeparam_size, +mode_sense (int fd, void *modeparam_buf, size_t * modeparam_size, int page) { static u_char cmd[6] = {MODE_SENSE6, 0, 0, 0, 0, 0}; @@ -487,7 +487,7 @@ mode_sense (int fd, void *modeparam_buf, size_t * modeparam_size, cmd[0] = 0x1a; cmd[2] = page; cmd[4] = *modeparam_size; - status = sanei_scsi_cmd (fd, cmd, sizeof (cmd), modeparam_buf, + status = sanei_scsi_cmd (fd, cmd, sizeof (cmd), modeparam_buf, modeparam_size); DBG (11, ">>\n"); @@ -525,7 +525,7 @@ send_diagnostics (int fd) static SANE_Status set_window (int fd, window_param *wp, int len) { - static u_char cmd[10 + WINDOW_LEN] = + static u_char cmd[10 + WINDOW_LEN] = {SET_WINDOW, 0, 0, 0, 0, 0, 0, 0, 0, 0}; window_param *winp; SANE_Status status; @@ -560,7 +560,7 @@ get_window (int fd, void *buf, size_t * buf_size) static SANE_Status get_data_buffer_status (int fd, void *buf, size_t *buf_size) { - static u_char cmd[10] = + static u_char cmd[10] = {GET_DATA_BUFFER_STATUS, 0, 0, 0, 0, 0, 0, 0, 0, 0}; SANE_Status status; DBG (11, "<< get_data_buffer_status "); @@ -576,17 +576,17 @@ get_data_buffer_status (int fd, void *buf, size_t *buf_size) #ifdef USE_FORK /* the following four functions serve simply the purpose - to avoid "over-optimised" code when reader_process and - read_data wait for the buffer to become ready. The simple - while-loops in these functions which check the buffer - status may be optimised so that the machine code only - operates with registers instead of using the variable - values stored in memory. (This is only a workaround - + to avoid "over-optimised" code when reader_process and + read_data wait for the buffer to become ready. The simple + while-loops in these functions which check the buffer + status may be optimised so that the machine code only + operates with registers instead of using the variable + values stored in memory. (This is only a workaround - it would be better to set a compiler pragma, which ensures that the program looks into the RAM in these while loops -- but unfortunately I could not find appropriate information - about this at least for gcc, not to speak about other - compilers... + about this at least for gcc, not to speak about other + compilers... Abel) */ @@ -596,7 +596,7 @@ cancel_requested(NEC_Scanner *s) return s->rdr_ctl->cancel; } -static SANE_Status +static SANE_Status rdr_status(NEC_Scanner *s) { return s->rdr_ctl->status; @@ -633,18 +633,18 @@ reader_process(NEC_Scanner *s) DBG(11, "<< reader_process\n"); sigemptyset (&sigterm_set); - + bytes_to_queue = s->bytes_to_read; - + max_bytes_per_read = s->dev->info.bufsize / s->params.bytes_per_line; if (max_bytes_per_read) max_bytes_per_read *= s->params.bytes_per_line; else /* this is a really tiny buffer..*/ max_bytes_per_read = s->dev->info.bufsize; - + /* wait_ready(s->fd); */ - + if (s->dev->info.queued_reads <= s->dev->info.buffers) max_queue = s->dev->info.queued_reads; else @@ -664,16 +664,16 @@ reader_process(NEC_Scanner *s) #ifdef QUEUEDEBUG DBG(2, "reader: req_enter...\n"); #endif - status = sanei_scsi_req_enter (s->fd, cmd, sizeof (cmd), - bc->buffer, - &bc->used, + status = sanei_scsi_req_enter (s->fd, cmd, sizeof (cmd), + bc->buffer, + &bc->used, &bc->qid); #ifdef QUEUEDEBUG DBG(2, "reader: req_enter ok\n"); #endif if (status != SANE_STATUS_GOOD) { - DBG(1, "reader_process: read command failed: %s", + DBG(1, "reader_process: read command failed: %s", sane_strstatus(status)); #ifdef HAVE_SANEI_SCSI_OPEN_EXTENDED sanei_scsi_req_flush_all_extended(s->fd); @@ -697,9 +697,9 @@ reader_process(NEC_Scanner *s) waitindex = 0; cmdindex = i % s->dev->info.buffers; - while(s->bytes_to_read > 0) + while(s->bytes_to_read > 0) { - if (cancel_requested(s)) + if (cancel_requested(s)) { #ifdef QUEUEDEBUG DBG(2, "reader: flushing requests...\n"); @@ -720,7 +720,7 @@ reader_process(NEC_Scanner *s) } bc = &s->rdr_ctl->buf_ctl[waitindex]; - if (bc->shm_status == SHM_BUSY) + if (bc->shm_status == SHM_BUSY) { #ifdef DEBUG { @@ -745,7 +745,7 @@ reader_process(NEC_Scanner *s) #endif if (status != SANE_STATUS_GOOD) { - DBG(1, "reader_process: read command failed: %s", + DBG(1, "reader_process: read command failed: %s", sane_strstatus(status)); #ifdef HAVE_SANEI_SCSI_OPEN_EXTENDED sanei_scsi_req_flush_all_extended(s->fd); @@ -766,7 +766,7 @@ reader_process(NEC_Scanner *s) waitindex = 0; } - + if (bytes_to_queue) { /* wait until the next buffer is completely read via read_data */ @@ -801,11 +801,11 @@ reader_process(NEC_Scanner *s) cmd[6] = nread >> 16; cmd[7] = nread >> 8; cmd[8] = nread; - status = sanei_scsi_req_enter (s->fd, cmd, sizeof (cmd), + status = sanei_scsi_req_enter (s->fd, cmd, sizeof (cmd), bc->buffer, &bc->used, &bc->qid); if (status != SANE_STATUS_GOOD) { - DBG(1, "reader_process: read command failed: %s", + DBG(1, "reader_process: read command failed: %s", sane_strstatus(status)); #ifdef HAVE_SANEI_SCSI_OPEN_EXTENDED sanei_scsi_req_flush_all_extended(s->fd); @@ -819,13 +819,13 @@ reader_process(NEC_Scanner *s) bc->shm_status = SHM_BUSY; bc->nreq = nread; bytes_to_queue -= nread; - + cmdindex++; if (cmdindex == s->dev->info.buffers) cmdindex = 0; } - - if (cancel_requested(s)) + + if (cancel_requested(s)) { #ifdef HAVE_SANEI_SCSI_OPEN_EXTENDED sanei_scsi_req_flush_all_extended(s->fd); @@ -839,7 +839,7 @@ reader_process(NEC_Scanner *s) return 1; } } - + DBG(1, "buffer full conditions: %i\n", full_count); DBG(11, " reader_process>>\n"); @@ -852,7 +852,7 @@ read_data (NEC_Scanner *s, SANE_Byte *buf, size_t * buf_size) { size_t copysize, copied = 0; NEC_shmem_ctl *bc; - + DBG(11, "<< read_data "); bc = &s->rdr_ctl->buf_ctl[s->read_buff]; @@ -861,7 +861,7 @@ read_data (NEC_Scanner *s, SANE_Byte *buf, size_t * buf_size) { /* wait until the reader process delivers data or a scanner error occurs: */ while ( buf_status(bc) != SHM_FULL - && rdr_status(s) == SANE_STATUS_GOOD) + && rdr_status(s) == SANE_STATUS_GOOD) { usleep(10); /* could perhaps be longer. make this user configurable?? */ } @@ -873,10 +873,10 @@ read_data (NEC_Scanner *s, SANE_Byte *buf, size_t * buf_size) } copysize = bc->used - bc->start; - + if (copysize > *buf_size - copied ) copysize = *buf_size - copied; - + memcpy(buf, &(bc->buffer[bc->start]), copysize); copied += copysize; @@ -911,8 +911,8 @@ read_data (NEC_Scanner *s, SANE_Byte *buf, size_t * buf_size) /* sane_read_shuffled requires that read_data returns exactly *buf_size bytes, so it must be guaranteed here. - Further make sure that not more bytes are read in than - sanei_scsi_max_request_size allows, to avoid a failure + Further make sure that not more bytes are read in than + sanei_scsi_max_request_size allows, to avoid a failure of the read command */ while (remain > 0) @@ -923,7 +923,7 @@ read_data (NEC_Scanner *s, SANE_Byte *buf, size_t * buf_size) cmd[6] = nread >> 16; cmd[7] = nread >> 8; cmd[8] = nread; - status = sanei_scsi_cmd (s->fd, cmd, sizeof (cmd), + status = sanei_scsi_cmd (s->fd, cmd, sizeof (cmd), &buf[*buf_size - remain], &nread); if (status != SANE_STATUS_GOOD) { @@ -971,7 +971,7 @@ wait_ready(int fd) sleep(3); } return (status); - + } static SANE_Status @@ -1111,7 +1111,7 @@ attach (const char *devnam, NEC_Device ** devp) model_name = inquiry_data + 16; dev->sane.model = strndup ((const char *)model_name, 10); dev->sane.type = "flatbed scanner"; - + dev->sensedat.model = sensedat.model; DBG (5, "dev->sane.name = %s\n", dev->sane.name); @@ -1144,7 +1144,7 @@ attach (const char *devnam, NEC_Device ** devp) dev->info.bmu = msp.bmu; dev->info.mud = (msp.mud[0] << 8) + msp.mud[1]; - + dev->info.adf_fsu_installed = 0; if (dev->sensedat.model == PCIN500) { @@ -1173,7 +1173,7 @@ attach (const char *devnam, NEC_Device ** devp) dev->info.br_y_ranges[SCAN_SIMPLE].max = SANE_FIX(297); /* 431.8 is the real max */ } sanei_scsi_close (fd); - + dev->info.threshold_range.min = 1; dev->info.threshold_range.max = 255; dev->info.threshold_range.quant = 0; @@ -1253,12 +1253,12 @@ attach (const char *devnam, NEC_Device ** devp) } /* Enabling / disabling of gamma options. - Depends on many user settable options, so lets put it into + Depends on many user settable options, so lets put it into one function to be called by init_options and by sane_control_option */ #ifdef USE_CUSTOM_GAMMA -static void +static void set_gamma_caps(NEC_Scanner *s) { /* neither fixed nor custom gamma for line art modes */ @@ -1397,11 +1397,11 @@ clip_value (const SANE_Option_Descriptor * opt, void * value) /* make sure that enough memory is allocated for each string, so that the strcpy in sane_control_option / set value cannot - write behind the end of the allocated memory. + write behind the end of the allocated memory. */ static SANE_Status -init_string_option(NEC_Scanner *s, SANE_String_Const name, - SANE_String_Const title, SANE_String_Const desc, +init_string_option(NEC_Scanner *s, SANE_String_Const name, + SANE_String_Const title, SANE_String_Const desc, const SANE_String_Const *string_list, int option, int default_index) { int i; @@ -1486,7 +1486,7 @@ init_options (NEC_Scanner * s) if (default_source < 0) default_source = SCAN_SIMPLE; s->dev->info.scansources[i] = 0; - + init_string_option(s, SANE_NAME_SCAN_SOURCE, SANE_TITLE_SCAN_SOURCE, SANE_DESC_SCAN_SOURCE, (SANE_String_Const*)s->dev->info.scansources, OPT_SCANSOURCE, 0); @@ -1514,13 +1514,13 @@ init_options (NEC_Scanner * s) #ifdef USE_RESOLUTION_LIST /* select resolution */ if (s->dev->sensedat.model == PCIN500) - init_string_option(s, "Resolution", "Resolution", "Resolution", + init_string_option(s, "Resolution", "Resolution", "Resolution", resolution_list_pcin500, OPT_RESOLUTION_LIST, RESOLUTION_MAX_PCIN500); else - init_string_option(s, "Resolution", "Resolution", "Resolution", + init_string_option(s, "Resolution", "Resolution", "Resolution", resolution_list_pcinxxx, OPT_RESOLUTION_LIST, RESOLUTION_MAX_PCINXXX); #endif - + /* x & y resolution */ s->opt[OPT_RESOLUTION].name = SANE_NAME_SCAN_RESOLUTION; if (s->dev->sensedat.model == PCIN500) @@ -1665,7 +1665,7 @@ init_options (NEC_Scanner * s) #ifdef USE_COLOR_THRESHOLD s->opt[OPT_THRESHOLD_R].name = SANE_NAME_THRESHOLD "-red"; /* xxx the titles and decriptions are confusing: - "set white point (red)" + "set white point (red)" Any idea? maybe "threshold to get the red component on" */ s->opt[OPT_THRESHOLD_R].title = SANE_TITLE_THRESHOLD " (red)"; @@ -1710,7 +1710,7 @@ init_options (NEC_Scanner * s) s->opt[OPT_PREVIEW].type = SANE_TYPE_BOOL; s->opt[OPT_PREVIEW].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT; s->val[OPT_PREVIEW].w = SANE_FALSE; - + #ifdef USE_CUSTOM_GAMMA /* custom-gamma table */ @@ -1796,7 +1796,7 @@ do_cancel (NEC_Scanner * s) DBG(11, "stopping reader process\n"); s->rdr_ctl->cancel = 1; - while(reader_running(s) && count < 100) + while(reader_running(s) && count < 100) { usleep(100000); count++; @@ -1838,13 +1838,13 @@ do_cancel (NEC_Scanner * s) static NEC_New_Device *new_devs = 0; static NEC_New_Device *new_dev_pool = 0; -static SANE_Status +static SANE_Status attach_and_list(const char *devnam) { SANE_Status res; NEC_Device *devp; NEC_New_Device *np; - + res = attach(devnam, &devp); if (res == SANE_STATUS_GOOD) { @@ -1975,7 +1975,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) linecount); DBG(1, "%s\n", line); } - else + else queued_reads[opt_index] = i; } else @@ -1989,7 +1989,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) { while (new_devs) { - if (buffers[1] >= 2) + if (buffers[1] >= 2) new_devs->dev->info.buffers = buffers[1]; else new_devs->dev->info.buffers = 2; @@ -2021,7 +2021,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) while (new_devs) { - if (buffers[1] >= 2) + if (buffers[1] >= 2) new_devs->dev->info.buffers = buffers[1]; else new_devs->dev->info.buffers = 2; @@ -2139,8 +2139,8 @@ sane_open (SANE_String_Const devnam, SANE_Handle * handle) s->fd = -1; s->dev = dev; - - s->buffer = 0; + + s->buffer = 0; #ifdef USE_CUSTOM_GAMMA for (i = 0; i < 4; ++i) for (j = 0; j < 256; ++j) @@ -2308,7 +2308,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, *info |= SANE_INFO_RELOAD_PARAMS; case OPT_NUM_OPTS: case OPT_THRESHOLD: - /* xxx theoretically, we could use OPT_THRESHOLD in + /* xxx theoretically, we could use OPT_THRESHOLD in bi-level color mode to adjust all three other threshold together. But this would require to set the bit SANE_INFO_RELOAD_OPTIONS in *info, and that @@ -2385,8 +2385,8 @@ sane_control_option (SANE_Handle handle, SANE_Int option, #endif s->opt[OPT_HALFTONE].cap |= SANE_CAP_INACTIVE; } -#if 0 - if ( strcmp (val, M_LINEART) == 0 +#if 0 + if ( strcmp (val, M_LINEART) == 0 || strcmp (val, M_GRAY) == 0) { s->opt[OPT_LIGHTCOLOR].cap &= ~SANE_CAP_INACTIVE; @@ -2395,7 +2395,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, { s->opt[OPT_LIGHTCOLOR].cap |= SANE_CAP_INACTIVE; } -#endif +#endif strcpy(s->val[option].s, val); #ifdef USE_CUSTOM_GAMMA set_gamma_caps(s); @@ -2432,19 +2432,19 @@ sane_control_option (SANE_Handle handle, SANE_Int option, else range_index = SCAN_SIMPLE; - s->opt[OPT_TL_X].constraint.range + s->opt[OPT_TL_X].constraint.range = &s->dev->info.tl_x_ranges[range_index]; clip_value (&s->opt[OPT_TL_X], &s->val[OPT_TL_X].w); - s->opt[OPT_TL_Y].constraint.range + s->opt[OPT_TL_Y].constraint.range = &s->dev->info.tl_y_ranges[range_index]; clip_value (&s->opt[OPT_TL_Y], &s->val[OPT_TL_Y].w); - s->opt[OPT_BR_X].constraint.range + s->opt[OPT_BR_X].constraint.range = &s->dev->info.br_x_ranges[range_index]; clip_value (&s->opt[OPT_BR_X], &s->val[OPT_BR_X].w); - s->opt[OPT_BR_Y].constraint.range + s->opt[OPT_BR_Y].constraint.range = &s->dev->info.br_y_ranges[range_index]; clip_value (&s->opt[OPT_BR_Y], &s->val[OPT_BR_Y].w); @@ -2505,9 +2505,9 @@ sane_control_option (SANE_Handle handle, SANE_Int option, s->val[option].s = strdup (val); #endif for (i = 0; s->opt[OPT_RESOLUTION_LIST].constraint.string_list[i]; i++) { - if (strcmp (val, + if (strcmp (val, s->opt[OPT_RESOLUTION_LIST].constraint.string_list[i]) == 0){ - s->val[OPT_RESOLUTION].w + s->val[OPT_RESOLUTION].w = atoi(s->opt[OPT_RESOLUTION_LIST].constraint.string_list[i]); if (info) *info |= SANE_INFO_RELOAD_PARAMS; @@ -2560,7 +2560,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) scanning starts. */ memset (&s->params, 0, sizeof (s->params)); - width = MM_TO_PIX( SANE_UNFIX(s->val[OPT_BR_X].w) + width = MM_TO_PIX( SANE_UNFIX(s->val[OPT_BR_X].w) - SANE_UNFIX(s->val[OPT_TL_X].w), s->dev->info.mud); length = MM_TO_PIX( SANE_UNFIX(s->val[OPT_BR_Y].w) @@ -2657,7 +2657,7 @@ sprint_gamma(Option_Value val, SANE_Byte *dst) { int i; SANE_Byte *p = dst; - + p += sprintf((char *) p, "%i", val.wa[0]); for (i = 1; i < 256; i++) p += sprintf((char *) p, ",%i", val.wa[i] > 255 ? 255 : val.wa[i]); @@ -2669,17 +2669,17 @@ send_ascii_gamma_tables (NEC_Scanner *s) { SANE_Status status; int i; - + DBG(11, "<< send_ascii_gamma_tables "); - + /* we need: 4 bytes for each gamma value (3 digits + delimiter) + 10 bytes for the command header i.e. 4 * 4 * 256 + 10 = 4106 bytes */ - + if (s->dev->info.bufsize < 4106) return SANE_STATUS_NO_MEM; - + memset(s->buffer, 0, 4106); i = sprint_gamma(s->val[OPT_GAMMA_VECTOR_R], &s->buffer[10]); @@ -2689,19 +2689,19 @@ send_ascii_gamma_tables (NEC_Scanner *s) i += sprint_gamma(s->val[OPT_GAMMA_VECTOR_B], &s->buffer[10+i]); s->buffer[10+i++] = '/'; i += sprint_gamma(s->val[OPT_GAMMA_VECTOR], &s->buffer[10+i]); - + DBG(12, "%s\n", &s->buffer[10]); s->buffer[0] = SEND; s->buffer[2] = 0x03; s->buffer[7] = i >> 8; s->buffer[8] = i & 0xff; - + wait_ready(s->fd); status = sanei_scsi_cmd (s->fd, s->buffer, i+10, 0, 0); DBG(11, ">>\n"); - + return status; } #endif @@ -2711,9 +2711,9 @@ send_binary_g_table(NEC_Scanner *s, SANE_Word *a, int dtq) { SANE_Status status; unsigned int i, j; - + dtq = dtq; /* silence compilation warnings */ - + DBG(11, "<< send_binary_g_table\n"); i = 256; @@ -2725,19 +2725,19 @@ send_binary_g_table(NEC_Scanner *s, SANE_Word *a, int dtq) s->buffer[2] = 0x03; s->buffer[7] = i >> 8; s->buffer[8] = i & 0xff; - + for (i = 0; i < 256; i++) { s->buffer[i+11] = a[i&0xff] & 0xff; } - + for (j = 0; j < 256; j += 16) { DBG(11, "%02x %02x %02x %02x %02x %02x %02x %02x " "%02x %02x %02x %02x %02x %02x %02x %02x\n", - a[j ], a[j+1], a[j+2], a[j+3], + a[j ], a[j+1], a[j+2], a[j+3], a[j+4], a[j+5], a[j+6], a[j+7], - a[j+8], a[j+9], a[j+10], a[j+11], + a[j+8], a[j+9], a[j+10], a[j+11], a[j+12], a[j+13], a[j+14], a[j+15]); } DBG(12, "transfer length = %d\n", i); @@ -2757,20 +2757,20 @@ static SANE_Status send_binary_gamma_tables (NEC_Scanner *s) { SANE_Status status; - + status = send_binary_g_table(s, s->val[OPT_GAMMA_VECTOR].wa, 0x10); if (status != SANE_STATUS_GOOD) return status; DBG(11, "send_binary_gamma_tables\n"); -#if 0 +#if 0 status = send_binary_g_table(s, s->val[OPT_GAMMA_VECTOR_R].wa, 0x11); if (status != SANE_STATUS_GOOD) return status; - + status = send_binary_g_table(s, s->val[OPT_GAMMA_VECTOR_G].wa, 0x12); if (status != SANE_STATUS_GOOD) return status; - + status = send_binary_g_table(s, s->val[OPT_GAMMA_VECTOR_B].wa, 0x13); #endif return status; @@ -2787,7 +2787,7 @@ send_gamma_tables (NEC_Scanner *s) { return send_ascii_gamma_tables(s); } - + } #endif @@ -2800,19 +2800,19 @@ send_threshold_data(NEC_Scanner *s) SANE_Status status; SANE_Byte cmd[26] = {SEND, 0, 0x82, 0, 0, 0, 0, 0, 0, 0}; int len; - + memset(cmd, 0, sizeof(cmd)); - /* maximum string length: 3 bytes for each number (they are + /* maximum string length: 3 bytes for each number (they are restricted to the range 0..255), 3 '/' and the null-byte, total: 16 bytes. */ - len = sprintf((char *) &cmd[10], "%i/%i/%i/%i", + len = sprintf((char *) &cmd[10], "%i/%i/%i/%i", s->val[OPT_THRESHOLD_R].w, s->val[OPT_THRESHOLD_G].w, s->val[OPT_THRESHOLD_B].w, s->val[OPT_THRESHOLD].w); cmd[8] = len; - + wait_ready(s->fd); status = sanei_scsi_cmd(s->fd, cmd, len + 10, 0, 0); return status; @@ -2845,7 +2845,7 @@ sane_start (SANE_Handle handle) s->dev->info.bufsize = 32 * 1024; { int bsize = s->dev->info.bufsize; - status = sanei_scsi_open_extended (s->dev->sane.name, &s->fd, + status = sanei_scsi_open_extended (s->dev->sane.name, &s->fd, &sense_handler, &s->dev->sensedat, &bsize); s->dev->info.bufsize = bsize; } @@ -2858,8 +2858,8 @@ sane_start (SANE_Handle handle) } /* make sure that we got at least 32 kB. Even then, the scan will be - awfully slow. - + awfully slow. + */ if (s->dev->info.bufsize < 32 * 1024) { @@ -2868,13 +2868,13 @@ sane_start (SANE_Handle handle) return SANE_STATUS_NO_MEM; } #else - status = sanei_scsi_open(s->dev->sane.name, &s->fd, &sense_handler, + status = sanei_scsi_open(s->dev->sane.name, &s->fd, &sense_handler, &s->dev->sensedat); if (s->dev->info.wanted_bufsize < sanei_scsi_max_request_size) s->dev->info.bufsize = s->dev->info.wanted_bufsize; else s->dev->info.bufsize = sanei_scsi_max_request_size; - + if (status != SANE_STATUS_GOOD) { DBG (1, "open of %s failed: %s\n", @@ -2932,7 +2932,7 @@ sane_start (SANE_Handle handle) DBG (5, "start: TEST_UNIT_READY\n"); status = test_unit_ready (s->fd); - + if (status != SANE_STATUS_GOOD) { DBG (1, "TEST UNIT READY failed: %s\n", sane_strstatus (status)); @@ -3046,7 +3046,7 @@ sane_start (SANE_Handle handle) else if (strcmp (edge, EDGE_BLUR) == 0) s->edge = 3; } - + s->lightcolor = 3; if (strcmp(lightcolor, LIGHT_GREEN) == 0) s->lightcolor = 0; @@ -3058,7 +3058,7 @@ sane_start (SANE_Handle handle) s->lightcolor = 3; s->adf_scan = 0; - + #ifdef USE_CUSTOM_GAMMA if (s->val[OPT_CUSTOM_GAMMA].w == SANE_FALSE) { @@ -3136,14 +3136,14 @@ sane_start (SANE_Handle handle) s->color = s->val[OPT_COLOR].w; memset (&wp, 0, sizeof (wp)); - /* every NEC scanner seems to have a different + /* every NEC scanner seems to have a different window descriptor block... */ if (s->dev->sensedat.model == PCIN500) buf_size = sizeof(WDB) + sizeof(WDBX500); else buf_size = sizeof(WDB); - + wp.wpdh.wdl[0] = buf_size >> 8; wp.wpdh.wdl[1] = buf_size; wp.wdb.x_res[0] = s->res >> 8; @@ -3372,7 +3372,7 @@ sane_start (SANE_Handle handle) #ifdef USE_FORK { size_t i; - for (i = 0; i < s->dev->info.buffers; i++) + for (i = 0; i < s->dev->info.buffers; i++) s->rdr_ctl->buf_ctl[i].shm_status = SHM_EMPTY; s->read_buff = 0; s->rdr_ctl->cancel = 0; @@ -3388,7 +3388,7 @@ sane_start (SANE_Handle handle) s->reader_pid); } #endif - if (s->reader_pid == 0) + if (s->reader_pid == 0) { sigset_t ignore_set; struct SIGACTION act; @@ -3409,9 +3409,9 @@ sane_start (SANE_Handle handle) do_cancel(s); return SANE_STATUS_NO_MEM; } - + #endif /* USE_FORK */ - + DBG (1, "%d pixels per line, %d bytes, %d lines high, total %lu bytes, " "dpi=%d\n", s->params.pixels_per_line, s->params.bytes_per_line, @@ -3421,7 +3421,7 @@ sane_start (SANE_Handle handle) s->buf_used = 0; s->buf_pos = 0; - if (s->cancel == SANE_TRUE) + if (s->cancel == SANE_TRUE) { do_cancel(s); DBG (10, ">>\n"); @@ -3447,7 +3447,7 @@ sane_read_direct (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, buffer_status bs; size_t len = sizeof (buffer_status); get_data_buffer_status (s->fd, &bs, &len); - DBG (20, "buffer_status: %i ", bs.fdb[0]*256*256 + bs.fdb[1]*256 + bs.fdb[2]); + DBG (20, "buffer_status: %i ", bs.fdb[0]*256*256 + bs.fdb[1]*256 + bs.fdb[2]); } #endif DBG (20, "remaining: %lu ", (u_long) s->bytes_to_read); @@ -3505,18 +3505,18 @@ sane_read_shuffled (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, buffer_status bs; size_t len = sizeof (buffer_status); get_data_buffer_status (s->fd, &bs, &len); - DBG (20, "buffer_status: %i ", bs.fdb[0]*256*256 + bs.fdb[1]*256 + bs.fdb[2]); + DBG (20, "buffer_status: %i ", bs.fdb[0]*256*256 + bs.fdb[1]*256 + bs.fdb[2]); } #endif *len = 0; - if (s->bytes_to_read == 0 && s->buf_pos == s->buf_used) + if (s->bytes_to_read == 0 && s->buf_pos == s->buf_used) { do_cancel (s); DBG (10, ">>\n"); return (SANE_STATUS_EOF); } - - if (!s->scanning) + + if (!s->scanning) { DBG (10, ">>\n"); return(do_cancel(s)); @@ -3527,14 +3527,14 @@ sane_read_shuffled (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, transfer = s->buf_used - s->buf_pos; if (transfer > max_len) transfer = max_len; - + memcpy(dst_buf, &(s->buffer[s->buf_pos]), transfer); s->buf_pos += transfer; max_len -= transfer; *len = transfer; } - while (max_len > 0 && s->bytes_to_read > 0) + while (max_len > 0 && s->bytes_to_read > 0) { if (eight_bit_data) { @@ -3561,7 +3561,7 @@ sane_read_shuffled (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, start_input = s->dev->info.bufsize - nread; } ntest = nread; - + #ifdef USE_FORK status = read_data (s, &(s->buffer[start_input]), &nread); #else @@ -3573,8 +3573,8 @@ sane_read_shuffled (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, DBG (10, ">>\n"); return (SANE_STATUS_IO_ERROR); } - - if (nread != ntest) + + if (nread != ntest) { /* if this happens, something is wrong in the input buffer management... @@ -3582,8 +3582,8 @@ sane_read_shuffled (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, DBG(1, "Warning: could not read an integral number of scan lines\n"); DBG(1, " image will be scrambled\n"); } - - + + s->buf_used = max_line * s->params.bytes_per_line; s->buf_pos = 0; s->bytes_to_read -= nread; @@ -3625,12 +3625,12 @@ sane_read_shuffled (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, } } } - + transfer = max_len; if (transfer > s->buf_used) transfer = s->buf_used; memcpy(&(dst_buf[*len]), s->buffer, transfer); - + max_len -= transfer; s->buf_pos += transfer; *len += transfer; @@ -3651,13 +3651,13 @@ sane_read (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, DBG (10, "<< sane_read "); s->busy = SANE_TRUE; - if (s->cancel == SANE_TRUE) + if (s->cancel == SANE_TRUE) { do_cancel(s); *len = 0; return (SANE_STATUS_CANCELLED); } - + if (s->image_composition <= 2) status = sane_read_direct(handle, dst_buf, max_len, len); else if (s->image_composition <= 4) @@ -3708,7 +3708,7 @@ sane_get_select_fd (SANE_Handle handle, SANE_Int * fd) { handle = handle; fd = fd; /* silence compilation warnings */ - + DBG (10, "<< sane_get_select_fd"); DBG (10, ">>\n"); diff --git a/backend/nec.h b/backend/nec.h index 5f03513..d7848e4 100644 --- a/backend/nec.h +++ b/backend/nec.h @@ -47,21 +47,21 @@ /* default values for configurable options. Though these options are only meaningful if USE_FORK is defined, - they are + they are DEFAULT_BUFFERS: number of buffers allocated as shared memory for the data transfer from reader_process to read_data. The minimum value is 2 DEFAULT_BUFSIZE: default size of one buffer. Must be greater than zero. - DEFAULT_QUEUED_READS: number of read requests queued by + DEFAULT_QUEUED_READS: number of read requests queued by sanei_scsi_req_enter. Since queued read requests - are currently only supported for Linux and + are currently only supported for Linux and DomainOS, this value should automatically be set dependent on the target OS... For Linux, 2 is the optimum; for DomainOS, I don't have any recommendation; other OS should use the value zero. - + The value for DEFAULT_BUFSIZE is probably too Linux-oriented... */ @@ -113,7 +113,7 @@ typedef enum OPT_COLOR, OPT_PREVIEW, -#ifdef USE_CUSTOM_GAMMA +#ifdef USE_CUSTOM_GAMMA OPT_GAMMA_VECTOR, OPT_GAMMA_VECTOR_R, OPT_GAMMA_VECTOR_G, @@ -126,7 +126,7 @@ NEC_Option; #ifdef USE_FORK -/* status defines for a buffer: +/* status defines for a buffer: buffer not used / read request queued / buffer contains data */ #define SHM_EMPTY 0 @@ -153,7 +153,7 @@ typedef struct NEC_rdr_ctl NEC_rdr_ctl; #endif /* USE_FORK */ -typedef enum +typedef enum { /* PCIN500, PCINXXX are used as array indices, so the corresponding numbers should start at 0 @@ -192,14 +192,14 @@ NEC_Info; typedef struct NEC_Sense_Data { NEC_Model model; - /* flag, if conditions like "paper jam" or "cover open" + /* flag, if conditions like "paper jam" or "cover open" are considered as an error. Should be 0 for attach, else a frontend might refuse to start, if the scanner returns these errors. */ int complain_on_adf_error; /* Linux returns only 16 bytes of sense data... */ - u_char sb[16]; + u_char sb[16]; } NEC_Sense_Data; @@ -213,7 +213,7 @@ typedef struct NEC_Device } NEC_Device; -typedef struct NEC_New_Device +typedef struct NEC_New_Device { struct NEC_Device *dev; struct NEC_New_Device *next; @@ -286,7 +286,7 @@ typedef struct WPDH { u_char wpdh[6]; u_char wdl[2]; -} +} WPDH; typedef struct WDB @@ -416,7 +416,7 @@ typedef struct buffer_status SANE_Byte block; SANE_Byte window_id; SANE_Byte reserved; - SANE_Byte bsa[3]; /* buffer space available */ + SANE_Byte bsa[3]; /* buffer space available */ SANE_Byte fdb[3]; /* filled data buffer */ } buffer_status; diff --git a/backend/net.c b/backend/net.c index 57889a2..df19192 100644 --- a/backend/net.c +++ b/backend/net.c @@ -197,22 +197,22 @@ add_device (const char *name, Net_Device ** ndp) } else { - for (resp = res; resp != NULL; resp = resp->ai_next) - { - switch (resp->ai_family) - { - case AF_INET: - sin = (struct sockaddr_in *) resp->ai_addr; - sin->sin_port = sane_port; - break; -#ifdef ENABLE_IPV6 - case AF_INET6: - sin6 = (struct sockaddr_in6 *) resp->ai_addr; - sin6->sin6_port = sane_port; - break; -#endif /* ENABLE_IPV6 */ + for (resp = res; resp != NULL; resp = resp->ai_next) + { + switch (resp->ai_family) + { + case AF_INET: + sin = (struct sockaddr_in *) resp->ai_addr; + sin->sin_port = sane_port; + break; +#ifdef ENABLE_IPV6 + case AF_INET6: + sin6 = (struct sockaddr_in6 *) resp->ai_addr; + sin6->sin6_port = sane_port; + break; +#endif /* ENABLE_IPV6 */ } - } + } } } @@ -220,7 +220,7 @@ add_device (const char *name, Net_Device ** ndp) if (!nd) { DBG (1, "add_device: not enough memory for Net_Device struct\n"); - + freeaddrinfo (res); return SANE_STATUS_NO_MEM; } @@ -233,14 +233,14 @@ add_device (const char *name, Net_Device ** ndp) free(nd); return SANE_STATUS_NO_MEM; } - + nd->addr = res; nd->ctl = -1; nd->next = first_device; first_device = nd; - + if (ndp) *ndp = nd; DBG (2, "add_device: backend %s added\n", name); @@ -347,7 +347,7 @@ connect_dev (Net_Device * dev) i, addrp->ai_family); continue; } - + dev->ctl = socket (addrp->ai_family, SOCK_STREAM, 0); if (dev->ctl < 0) { @@ -577,15 +577,15 @@ fetch_options (Net_Scanner * s) { DBG (3, "fetch_options: creating %d local option descriptors\n", s->opt.num_options); - s->local_opt.desc = + s->local_opt.desc = malloc (s->opt.num_options * sizeof (s->local_opt.desc)); if (!s->local_opt.desc) { DBG (1, "fetch_options: couldn't malloc s->local_opt.desc\n"); return SANE_STATUS_NO_MEM; } - for (option_number = 0; - option_number < s->opt.num_options; + for (option_number = 0; + option_number < s->opt.num_options; option_number++) { s->local_opt.desc[option_number] = @@ -605,15 +605,15 @@ fetch_options (Net_Scanner * s) return SANE_STATUS_INVAL; } - DBG (3, "fetch_options: copying %d option descriptors\n", + DBG (3, "fetch_options: copying %d option descriptors\n", s->opt.num_options); - + for (option_number = 0; option_number < s->opt.num_options; option_number++) { memcpy (s->local_opt.desc[option_number], s->opt.desc[option_number], sizeof (SANE_Option_Descriptor)); } - + s->options_valid = 1; DBG (3, "fetch_options: %d options fetched\n", s->opt.num_options); return SANE_STATUS_GOOD; @@ -1082,13 +1082,13 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) /* add back the ":" that got removed by the strsep() */ host[strlen (host)] = ':'; /* host now holds the IPv6 address */ - + /* skip the ':' that could be after ] (avoids a call to strsep() */ if (next[0] == ':') next++; } - /* + /* * if the IPv6 is last in the list, the strsep() call in the while() * will return a string with the first char being '\0'. Skip it. */ @@ -1162,7 +1162,7 @@ sane_exit (void) if (dev->name) free ((void *) dev->name); -#ifdef NET_USES_AF_INDEP +#ifdef NET_USES_AF_INDEP if (dev->addr) freeaddrinfo(dev->addr); #endif /* NET_USES_AF_INDEP */ @@ -1309,7 +1309,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) memset (mem, 0, sizeof (*dev) + len); full_name = mem + sizeof (*dev); - + #ifdef ENABLE_IPV6 if (IPv6 == SANE_TRUE) strcat (full_name, "["); @@ -1317,7 +1317,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) strcat (full_name, dev->name); -#ifdef ENABLE_IPV6 +#ifdef ENABLE_IPV6 if (IPv6 == SANE_TRUE) strcat (full_name, "]"); #endif /* ENABLE_IPV6 */ @@ -1382,7 +1382,7 @@ sane_open (SANE_String_Const full_name, SANE_Handle * meta_handle) int need_auth; DBG (3, "sane_open(\"%s\")\n", full_name); - + #ifdef ENABLE_IPV6 /* * Check whether a numerical IPv6 host was specified @@ -1405,7 +1405,7 @@ sane_open (SANE_String_Const full_name, SANE_Handle * meta_handle) dev_name = strchr (tmp_name, ':'); #else /* !ENABLE_IPV6 */ - dev_name = strchr (full_name, ':'); + dev_name = strchr (full_name, ':'); #endif /* ENABLE_IPV6 */ if (dev_name) @@ -2153,7 +2153,7 @@ sane_read (SANE_Handle handle, SANE_Byte * data, SANE_Int max_length, { DBG (3, "sane_read: left_over from previous call, return " "immediately\n"); - /* return the byte, we've currently scanned; hang_over becomes + /* return the byte, we've currently scanned; hang_over becomes left_over */ *data = (SANE_Byte) left_over; left_over = -1; @@ -2171,7 +2171,7 @@ sane_read (SANE_Handle handle, SANE_Byte * data, SANE_Int max_length, if (s->bytes_remaining == 0) { /* boy, is this painful or what? */ - + DBG (4, "sane_read: reading packet length\n"); nread = read (s->data, s->reclen_buf + s->reclen_buf_offset, 4 - s->reclen_buf_offset); @@ -2232,7 +2232,7 @@ sane_read (SANE_Handle handle, SANE_Byte * data, SANE_Int max_length, max_length = s->bytes_remaining; nread = read (s->data, data, max_length); - + if (nread < 0) { DBG (2, "sane_read: error code %s\n", strerror (errno)); @@ -2261,7 +2261,7 @@ sane_read (SANE_Handle handle, SANE_Byte * data, SANE_Int max_length, /* special case: 1 byte scanned and hang_over */ if ((nread == 1) && (hang_over > -1)) { - /* return the byte, we've currently scanned; hang_over becomes + /* return the byte, we've currently scanned; hang_over becomes left_over */ left_over = hang_over; hang_over = -1; diff --git a/backend/niash_core.c b/backend/niash_core.c index b87f4f6..951ad67 100644 --- a/backend/niash_core.c +++ b/backend/niash_core.c @@ -973,7 +973,7 @@ CircBufferGetLine (int iHandle, TDataPipe * p, unsigned char *pabLine, } -/* try to keep the number of transfers the same, but make them all +/* try to keep the number of transfers the same, but make them all as good as possible the same size to avoid cranking in critical situations */ diff --git a/backend/niash_core.h b/backend/niash_core.h index 9bd6b91..fc0adbd 100644 --- a/backend/niash_core.h +++ b/backend/niash_core.h @@ -124,7 +124,7 @@ STATIC SANE_Bool CircBufferGetLine (int iHandle, TDataPipe * p, unsigned char *pabLine, SANE_Bool iReversedHead); -/* returns false, when trying to read after end of buffer +/* returns false, when trying to read after end of buffer if fReturn==SANE_TRUE, the head will return automatically on an end of scan */ STATIC SANE_Bool diff --git a/backend/p5.c b/backend/p5.c index 30ab41e..d4b5724 100644 --- a/backend/p5.c +++ b/backend/p5.c @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2009-12 Stphane Voltz + Copyright (C) 2009-12 Stéphane Voltz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -32,7 +32,7 @@ * \section sane_api SANE API * * \subsection sane_flow sane flow - SANE FLOW + SANE FLOW - sane_init() : initialize backend, attach scanners. - sane_get_devices() : query list of scanner devices, backend must probe for new devices. @@ -60,7 +60,7 @@ /** * Import directly the low level part needed to - * operate scanner. The alternative is to prefix all public functions + * operate scanner. The alternative is to prefix all public functions * with sanei_p5_ ,and have all the functions prototyped in * p5_device.h . */ @@ -72,7 +72,7 @@ static int init_count = 0; /** - * NULL terminated list of opened frontend sessions. Sessions are + * NULL terminated list of opened frontend sessions. Sessions are * inserted here on sane_open() and removed on sane_close(). */ static P5_Session *sessions = NULL; @@ -85,7 +85,7 @@ static P5_Session *sessions = NULL; static P5_Device *devices = NULL; /** - * NULL terminated list of devices needed by sane_get_devices(), since + * NULL terminated list of devices needed by sane_get_devices(), since * the result returned must stay consistent until next call. */ static const SANE_Device **devlist = 0; @@ -112,18 +112,6 @@ static SANE_Range y_range = { SANE_FIX (0.0) /* no quantization */ }; -static const SANE_Range u8_range = { - 0, /* minimum */ - 255, /* maximum */ - 0 /* no quantization */ -}; - -static const SANE_Range threshold_percentage_range = { - SANE_FIX (0), /* minimum */ - SANE_FIX (100), /* maximum */ - SANE_FIX (1) /* quantization */ -}; - /** * finds the maximum string length in a string array. */ @@ -155,7 +143,7 @@ static P5_Config p5cfg; /** * Called by SANE initially. - * + * * From the SANE spec: * This function must be called before any other SANE function can be * called. The behavior of a SANE backend is undefined if this @@ -195,7 +183,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) /** * Called by SANE to find out about supported devices. - * + * * From the SANE spec: * This function can be used to query the list of devices that are * available. If the function executes successfully, it stores a @@ -208,7 +196,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) * returned (devices directly attached to the machine that SANE is * running on). If it is false, the device list includes all remote * devices that are accessible to the SANE library. - * + * * SANE does not require that this function is called before a * sane_open() call is performed. A device name may be specified * explicitly by a user which would make it unnecessary and @@ -239,7 +227,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) /** * Since sane_get_devices() may be called repeatedly to detect new devices, - * the device detection must be run at each call. We are handling + * the device detection must be run at each call. We are handling * hot-plugging : we probe for devices plugged since sane_init() was called. */ probe_p5_devices (); @@ -327,7 +315,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) * the name of the backend as the device name, in this case the first * available device will also be used. * @param name name of the device to open - * @param handle opaque pointer where to store the pointer of + * @param handle opaque pointer where to store the pointer of * the opened P5_Session * @return SANE_STATUS_GOOD on success */ @@ -383,7 +371,7 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) /* device initialization */ if (device->initialized == SANE_FALSE) { - /** + /** * call to hardware initialization function here. */ device->fd = open_pp (device->name); @@ -690,7 +678,7 @@ get_option_value (P5_Session * s, int option, void *val) /** * Gets or sets an option value. - * + * * From the SANE spec: * This function is used to set or inquire the current value of option * number n of the device represented by handle h. The manner in which @@ -701,7 +689,7 @@ get_option_value (P5_Session * s, int option, void *val) * area pointed to by v must be big enough to hold the entire option * value (determined by member size in the corresponding option * descriptor). - * + * * The only exception to this rule is that when setting the value of a * string option, the string pointed to by argument v may be shorter * since the backend will stop reading the option value upon @@ -917,8 +905,8 @@ sane_start (SANE_Handle handle) /** @brief compute scan parameters * This function computes two set of parameters. The one for the SANE's standard - * and the other for the hardware. Among these parameters are the bit depth, total - * number of lines, total number of columns, extra line to read for data reordering... + * and the other for the hardware. Among these parameters are the bit depth, total + * number of lines, total number of columns, extra line to read for data reordering... * @param session fronted session to compute final scan parameters * @return SANE_STATUS_GOOD on success */ @@ -1086,7 +1074,7 @@ compute_parameters (P5_Session * session) * completion of that request. Outside of that window, the returned * values are best-effort estimates of what the parameters will be * when sane_start() gets invoked. - * + * * Calling this function before a scan has actually started allows, * for example, to get an estimate of how big the scanned image will * be. The parameters passed to this function are the handle of the @@ -1113,7 +1101,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) /** * Called by SANE to read data. - * + * * From the SANE spec: * This function is used to read image data from the device * represented by handle h. Argument buf is a pointer to a memory @@ -1121,7 +1109,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) * returned is stored in *len. A backend must set this to zero when * the call fails (i.e., when a status other than SANE_STATUS_GOOD is * returned). - * + * * When the call succeeds, the number of bytes returned can be * anywhere in the range from 0 to maxlen bytes. * @@ -1343,7 +1331,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, /** - * Cancels a scan. + * Cancels a scan. * * From the SANE spec: * This function is used to immediately or as quickly as possible @@ -1393,7 +1381,7 @@ sane_cancel (SANE_Handle handle) /** * Ends use of the session. - * + * * From the SANE spec: * This function terminates the association between the device handle * passed in argument h and the device it represents. If the device is @@ -1476,7 +1464,7 @@ sane_close (SANE_Handle handle) /** * Terminates the backend. - * + * * From the SANE spec: * This function must be called to terminate use of a backend. The * function will first close all device handles that still might be @@ -1542,7 +1530,7 @@ sane_exit (void) /** @brief probe for all supported devices - * This functions tries to probe if any of the supported devices of + * This functions tries to probe if any of the supported devices of * the backend is present. Each detected device will be added to the * 'devices' list */ @@ -1609,10 +1597,10 @@ config_attach (SANEI_Config * config, const char *devname) * using an attach function with a config parameter */ config = config; - /* the devname has been processed and is ready to be used + /* the devname has been processed and is ready to be used * directly. The config struct contains all the configuration data for * the corresponding device. Since there is no ressources common to each - * backends regarding parallel port, we can directly call the attach + * backends regarding parallel port, we can directly call the attach * function. */ attach_p5 (devname, config); @@ -1661,7 +1649,7 @@ attach_p5 (const char *devicename, SANEI_Config * config) /** * do physical probe of the device here. In case the device is recognized, - * we allocate a device struct and give it options and model. + * we allocate a device struct and give it options and model. * Else we return SANE_STATUS_UNSUPPORTED. */ model = probe (devicename); @@ -1772,7 +1760,7 @@ init_options (struct P5_Session *session) SANE_CONSTRAINT_NONE; session->options[OPT_PREVIEW].value.w = SANE_FALSE; - /** @brief build resolution list + /** @brief build resolution list * We merge xdpi and ydpi list to provide only one resolution option control. * This is the most common case for backends and fronteds and give 'square' * pixels. The SANE API allow to control x and y dpi independantly, but this is diff --git a/backend/p5.h b/backend/p5.h index 10352a3..eae62f7 100644 --- a/backend/p5.h +++ b/backend/p5.h @@ -1,22 +1,22 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2009-2012 stef.dev@free.fr - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + */ /** @file p5.h @@ -77,7 +77,7 @@ #include "p5_device.h" -/** +/** * List of all SANE options available for the frontend. Given a specific * device, some options may be set to inactive when the scanner model is * detected. The default values and the ranges they belong maybe also model @@ -95,7 +95,7 @@ enum P5_Options OPT_RESOLUTION, /** set scan's resolution */ /* @} */ - /** @name geometry group + /** @name geometry group * geometry related options */ /* @{ */ @@ -139,9 +139,9 @@ typedef struct P5_Option Option_Value value; /** option value */ } P5_Option; -/** +/** * Frontend session. This struct holds informations usefull for - * the functions defined in SANE's standard. Informations closer + * the functions defined in SANE's standard. Informations closer * to the hardware are in the P5_Device structure. There is * as many session structure than frontends using the backend. */ @@ -175,7 +175,7 @@ typedef struct P5_Session SANE_Bool non_blocking; /** - * SANE Parameters describes what the next or current scan will be + * SANE Parameters describes what the next or current scan will be * according to the current values of the options */ SANE_Parameters params; diff --git a/backend/p5_device.c b/backend/p5_device.c index 924144e..4a257a7 100644 --- a/backend/p5_device.c +++ b/backend/p5_device.c @@ -1,4 +1,4 @@ -/** +/** * Description of the Primax PagePartner model */ static P5_Model pagepartner_model = { @@ -249,7 +249,7 @@ write_reg2 (int fd, uint8_t index, uint16_t value) static int read_data (int fd, uint8_t * data, int length) -{ +{ if(fd && data && length) return -1; return -1; @@ -463,7 +463,7 @@ setadresses (int fd, uint16_t start, uint16_t end) #ifdef HAVE_LINUX_PPDEV_H /** @brief open parallel port device * opens parallel port's low level device in EPP mode - * @param devicename nam of the real device or the special value 'auto' + * @param devicename nam of the real device or the special value 'auto' * @return file descriptor in cas of successn -1 otherwise */ static int @@ -532,7 +532,7 @@ open_pp (const char *devicename) } else { - /* + /* if (mode & PARPORT_MODE_ECP) { mode = IEEE1284_MODE_ECP; @@ -557,7 +557,7 @@ open_pp (const char *devicename) } /** close low level device - * release and close low level hardware device + * release and close low level hardware device */ static void close_pp (int fd) @@ -615,7 +615,7 @@ test_document (int fd) /** * return the amount of scanned data available * @param fd file descriptor to access scanner - * @return avaible byte number + * @return avaible byte number */ static int available_bytes (int fd) @@ -710,7 +710,7 @@ build_correction (P5_Device * dev, unsigned int dpi, unsigned int mode, * @param dev device describing hardware * @param mode color, gray level or lineart. * @param dpi desired scan resolution. - * @param startx coordinate of the first pixel to scan in + * @param startx coordinate of the first pixel to scan in * scan's resolution coordinate * @param width width of the scanned area * scanner's physical scan aread. diff --git a/backend/p5_device.h b/backend/p5_device.h index 4582256..744fe1c 100644 --- a/backend/p5_device.h +++ b/backend/p5_device.h @@ -1,17 +1,17 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2009-2012 stef.dev@free.fr - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, @@ -83,8 +83,8 @@ typedef struct P5_Calibration_Data uint8_t white_data[MAX_SENSOR_PIXELS * 3]; } P5_Calibration_Data; -/** - * This structure describes a particular model which is handled by the backend. +/** + * This structure describes a particular model which is handled by the backend. * Contained data is immutable and is used to initalize the P5_Device * structure. */ @@ -178,7 +178,7 @@ typedef struct P5_Device struct P5_Device *next; /** - * Points to a structure that decribes model capabilities, geometry + * Points to a structure that decribes model capabilities, geometry * and default settings. */ P5_Model *model; @@ -203,16 +203,16 @@ typedef struct P5_Device /** * Configuration options for the device read from - * configuration file at attach time. This member is filled at + * configuration file at attach time. This member is filled at * attach time. */ P5_Config *config; /** @brief scan parameters * The scan done by the hardware can be different from the one at the SANE - * frontend session. For instance: + * frontend session. For instance: * - xdpy and ydpi may be different to accomodate hardware capabilites. - * - many CCD scanners need to scan more lines to correct the 'line + * - many CCD scanners need to scan more lines to correct the 'line * distance shift' effect. * - emulated modes (lineart from gray scan, or gray scan for color one) */ diff --git a/backend/pie-scsidef.h b/backend/pie-scsidef.h index d86a0c9..f80e1da 100644 --- a/backend/pie-scsidef.h +++ b/backend/pie-scsidef.h @@ -363,12 +363,12 @@ static scsiblk request_sense = { request_senseC, sizeof(request_senseC) }; #define get_RS_filemark(b) getbitfield(b + 0x02, 1, 7) #define get_RS_EOM(b) getbitfield(b + 0x02, 1, 6) #define get_RS_ILI(b) getbitfield(b + 0x02, 1, 5) -#define get_RS_sense_key(b) getbitfield(b + 0x02, 0x0f, 0) -#define get_RS_information(b) getnbyte(b+0x03, 4) +#define get_RS_sense_key(b) getbitfield(b + 0x02, 0x0f, 0) +#define get_RS_information(b) getnbyte(b+0x03, 4) #define get_RS_additional_length(b) b[0x07] #define get_RS_ASC(b) b[0x0c] #define get_RS_ASCQ(b) b[0x0d] -#define get_RS_SKSV(b) getbitfield(b+0x0f,1,7) /* valid */ +#define get_RS_SKSV(b) getbitfield(b+0x0f,1,7) /* valid */ #define get_RS_CD(b) getbitfield(b+0x0f,1,6) /* 1=CDB */ #define get_RS_field_pointer(b) getnbyte(b+0x10, 2) diff --git a/backend/pie.c b/backend/pie.c index 76cbb47..0e56a5a 100644 --- a/backend/pie.c +++ b/backend/pie.c @@ -2901,7 +2901,7 @@ do_cancel (Pie_Scanner * scanner) DBG (DBG_sane_info, "killing reader_process\n"); sanei_thread_kill (scanner->reader_pid); sanei_thread_waitpid (scanner->reader_pid, 0); - scanner->reader_pid = -1; + sanei_thread_invalidate (scanner->reader_pid); DBG (DBG_sane_info, "reader_process killed\n"); } diff --git a/backend/pieusb_usb.c b/backend/pieusb_usb.c index 71b6bcf..31008fa 100644 --- a/backend/pieusb_usb.c +++ b/backend/pieusb_usb.c @@ -176,11 +176,13 @@ _hexdump(char *msg, unsigned char *ptr, int size) clipped = size; size = 128; } - while (size-- > 0) - { - if ((count % 16) == 0) - fprintf (stderr, "%s\t%08lx:", msg?msg:"", start); - msg = NULL; + while (size-- > 0) + { + if ((count % 16) == 0) + { + fprintf (stderr, "%s\t%08lx:", msg?msg:"", start); + msg = NULL; + } fprintf (stderr, " %02x", *ptr++); count++; start++; @@ -207,7 +209,7 @@ _hexdump(char *msg, unsigned char *ptr, int size) if ((count % 16) != 0) fprintf (stderr, "\n"); if (clipped > 0) - fprintf (stderr, "\t%08lx bytes clipped\n", clipped); + fprintf (stderr, "\t%08lx bytes clipped\n", clipped); fflush(stderr); return; diff --git a/backend/pixma.c b/backend/pixma.c index d50e4ca..d33a74e 100644 --- a/backend/pixma.c +++ b/backend/pixma.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2016 Rolf Bensch + Copyright (C) 2011-2019 Rolf Bensch Copyright (C) 2007-2008 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -66,6 +66,7 @@ # include "../include/sane/sanei_thread.h" # include "../include/sane/sanei_backend.h" # include "../include/sane/sanei_config.h" +# include "../include/sane/sanei_jpeg.h" #ifdef NDEBUG # define PDBG(x) @@ -122,8 +123,26 @@ typedef struct pixma_sane_t SANE_Pid reader_taskid; int wpipe, rpipe; SANE_Bool reader_stop; + + /* Valid for JPEG source */ + djpeg_dest_ptr jdst; + struct jpeg_decompress_struct jpeg_cinfo; + struct jpeg_error_mgr jpeg_err; + SANE_Bool jpeg_header_seen; } pixma_sane_t; +typedef struct +{ + struct jpeg_source_mgr jpeg; + + pixma_sane_t *s; + JOCTET *buffer; + + SANE_Byte *linebuffer; + SANE_Int linebuffer_size; + SANE_Int linebuffer_index; +} pixma_jpeg_src_mgr; + static const char vendor_str[] = "CANON"; static const char type_str[] = "multi-function peripheral"; @@ -291,7 +310,7 @@ update_button_state (pixma_sane_t * ss, SANE_Int * info) } if (b1 != OVAL (opt_button_1).w || b2 != OVAL (opt_button_2).w) - { + { *info |= SANE_INFO_RELOAD_OPTIONS; OVAL (opt_button_1).w = b1; OVAL (opt_button_2).w = b2; @@ -642,9 +661,9 @@ control_option (pixma_sane_t * ss, SANE_Int n, SANE_Int dummy; /* info may be null, better to set a dummy here then test everywhere */ - if (info == NULL) + if (info == NULL) info = &dummy; - + cfg = pixma_get_config (ss->s); /* PDBG (pixma_dbg (4, "*control_option***** n = %u, a = %u\n", n, a)); */ @@ -697,7 +716,7 @@ control_option (pixma_sane_t * ss, SANE_Int n, ss->button_option_is_cached[ BUTTON_GROUP_INDEX(n) ] = 0; } - /* now deal with getting and setting of options */ + /* now deal with getting and setting of options */ switch (SOD (n).type) { case SANE_TYPE_BOOL: @@ -1094,7 +1113,7 @@ terminate_reader_task (pixma_sane_t * ss, int *exit_code) pid = ss->reader_taskid; if (!sanei_thread_is_valid (pid)) - return -1; + return pid; if (sanei_thread_is_forked ()) { sanei_thread_kill (pid); @@ -1105,7 +1124,7 @@ terminate_reader_task (pixma_sane_t * ss, int *exit_code) /* pixma_cancel (ss->s); What is this for ? Makes end-of-scan buggy => removing */ } result = sanei_thread_waitpid (pid, &status); - ss->reader_taskid = -1; + sanei_thread_invalidate (ss->reader_taskid); if (ss->sp.source != PIXMA_SOURCE_ADF && ss->sp.source != PIXMA_SOURCE_ADFDUP) ss->idle = SANE_TRUE; @@ -1119,7 +1138,8 @@ terminate_reader_task (pixma_sane_t * ss, int *exit_code) else { PDBG (pixma_dbg (1, "WARNING:waitpid() failed %s\n", strerror (errno))); - return -1; + sanei_thread_invalidate (pid); + return pid; } } @@ -1159,7 +1179,7 @@ start_reader_task (pixma_sane_t * ss) if (is_forked) { pid = sanei_thread_begin (reader_process, ss); - if (pid > 0) + if (sanei_thread_is_valid (pid)) { close (ss->wpipe); ss->wpipe = -1; @@ -1184,6 +1204,245 @@ start_reader_task (pixma_sane_t * ss) return 0; } +/* libJPEG API callbacks */ +static void +jpeg_init_source(j_decompress_ptr __sane_unused__ cinfo) +{ + /* No-op */ +} + +static void +jpeg_term_source(j_decompress_ptr __sane_unused__ cinfo) +{ + /* No-op */ +} + +static boolean +jpeg_fill_input_buffer(j_decompress_ptr cinfo) +{ + pixma_jpeg_src_mgr *mgr = (pixma_jpeg_src_mgr *)cinfo->src; + int size; + int retry; + + for (retry = 0; retry < 30; retry ++ ) + { + size = read (mgr->s->rpipe, mgr->buffer, 1024); + if (size == 0) + { + return FALSE; + } + else if (size < 0) + { + sleep (1); + } + else + { + mgr->jpeg.next_input_byte = mgr->buffer; + mgr->jpeg.bytes_in_buffer = size; + return TRUE; + } + } + + return FALSE; +} + +static void +jpeg_skip_input_data(j_decompress_ptr cinfo, long num_bytes) +{ + pixma_jpeg_src_mgr *mgr = (pixma_jpeg_src_mgr *)cinfo->src; + + if (num_bytes > 0) + { + /* Read and throw away extra */ + while (num_bytes > (long)mgr->jpeg.bytes_in_buffer) + { + num_bytes -= (long)mgr->jpeg.bytes_in_buffer; + jpeg_fill_input_buffer(cinfo); + } + + /* Update jpeg info structure with leftover */ + mgr->jpeg.next_input_byte += (size_t) num_bytes; + mgr->jpeg.bytes_in_buffer -= (size_t) num_bytes; + } +} + +/* Pixma JPEG reader helpers */ +static SANE_Status +pixma_jpeg_start(pixma_sane_t *s) +{ + pixma_jpeg_src_mgr *mgr; + + s->jpeg_cinfo.err = jpeg_std_error(&s->jpeg_err); + + jpeg_create_decompress(&s->jpeg_cinfo); + + s->jpeg_cinfo.src = (struct jpeg_source_mgr *)(*s->jpeg_cinfo.mem->alloc_small)((j_common_ptr)&s->jpeg_cinfo, + JPOOL_PERMANENT, sizeof(pixma_jpeg_src_mgr)); + + memset(s->jpeg_cinfo.src, 0, sizeof(pixma_jpeg_src_mgr)); + + mgr = (pixma_jpeg_src_mgr *)s->jpeg_cinfo.src; + mgr->s = s; + + mgr->buffer = (JOCTET *)(*s->jpeg_cinfo.mem->alloc_small)((j_common_ptr)&s->jpeg_cinfo, + JPOOL_PERMANENT, + 1024 * sizeof(JOCTET)); + + mgr->jpeg.init_source = jpeg_init_source; + mgr->jpeg.fill_input_buffer = jpeg_fill_input_buffer; + mgr->jpeg.skip_input_data = jpeg_skip_input_data; + mgr->jpeg.resync_to_restart = jpeg_resync_to_restart; + mgr->jpeg.term_source = jpeg_term_source; + mgr->jpeg.bytes_in_buffer = 0; + mgr->jpeg.next_input_byte = NULL; + + s->jpeg_header_seen = 0; + + return SANE_STATUS_GOOD; +} + +static SANE_Status +pixma_jpeg_read_header(pixma_sane_t *s) +{ + pixma_jpeg_src_mgr *src = (pixma_jpeg_src_mgr *)s->jpeg_cinfo.src; + + if (jpeg_read_header(&s->jpeg_cinfo, TRUE)) + { + s->jdst = sanei_jpeg_jinit_write_ppm(&s->jpeg_cinfo); + + if (jpeg_start_decompress(&s->jpeg_cinfo)) + { + int size; + + DBG(3, "%s: w: %d, h: %d, components: %d\n", + __func__, + s->jpeg_cinfo.output_width, s->jpeg_cinfo.output_height, + s->jpeg_cinfo.output_components); + + size = s->jpeg_cinfo.output_width * s->jpeg_cinfo.output_components * 1; + + src->linebuffer = (*s->jpeg_cinfo.mem->alloc_large)((j_common_ptr)&s->jpeg_cinfo, + JPOOL_PERMANENT, size); + + src->linebuffer_size = 0; + src->linebuffer_index = 0; + + s->jpeg_header_seen = 1; + + return SANE_STATUS_GOOD; + } + else + { + DBG(0, "%s: decompression failed\n", __func__); + return SANE_STATUS_IO_ERROR; + } + } + else + { + DBG(0, "%s: cannot read JPEG header\n", __func__); + return SANE_STATUS_IO_ERROR; + } +} + +static void +pixma_jpeg_finish(pixma_sane_t *ss) +{ + jpeg_destroy_decompress(&ss->jpeg_cinfo); +} + +static void +pixma_jpeg_read(pixma_sane_t *ss, SANE_Byte *data, + SANE_Int max_length, SANE_Int *length) +{ + struct jpeg_decompress_struct cinfo = ss->jpeg_cinfo; + pixma_jpeg_src_mgr *src = (pixma_jpeg_src_mgr *)ss->jpeg_cinfo.src; + + int l; + + *length = 0; + + /* copy from line buffer if available */ + if (src->linebuffer_size && src->linebuffer_index < src->linebuffer_size) + { + *length = src->linebuffer_size - src->linebuffer_index; + + if (*length > max_length) + *length = max_length; + + memcpy(data, src->linebuffer + src->linebuffer_index, *length); + src->linebuffer_index += *length; + + return; + } + + if (cinfo.output_scanline >= cinfo.output_height) + { + *length = 0; + return; + } + + /* scanlines of decompressed data will be in ss->jdst->buffer + * only one line at time is supported + */ + + l = jpeg_read_scanlines(&cinfo, ss->jdst->buffer, 1); + if (l == 0) + return; + + /* from ss->jdst->buffer to linebuffer + * linebuffer holds width * bytesperpixel + */ + + (*ss->jdst->put_pixel_rows)(&cinfo, ss->jdst, 1, (char *)src->linebuffer); + + *length = ss->sp.w * ss->sp.channels; + /* Convert RGB into grayscale */ + if (ss->sp.channels == 1) + { + unsigned int i; + unsigned char *d = (unsigned char *)src->linebuffer; + unsigned char *s = (unsigned char *)src->linebuffer; + for (i = 0; i < ss->sp.w; i++) + { + /* Using BT.709 luma formula, fixed-point */ + int sum = ( s[0]*2126 + s[1]*7152 + s[2]*722 ); + *d = sum / 10000; + d ++; + s += 3; + } + } + + /* Maybe pack into lineary binary image */ + if (ss->sp.depth == 1) + { + *length /= 8; + unsigned int i; + unsigned char *d = (unsigned char *)src->linebuffer; + unsigned char *s = (unsigned char *)src->linebuffer; + unsigned char b = 0; + for (i = 1; i < ss->sp.w + 1; i++) + { + if (*(s++) > 127) + b = (b << 1) | 0; + else + b = (b << 1) | 1; + } + if ((i % 8) == 0) + *(d++) = b; + } + + src->linebuffer_size = *length; + src->linebuffer_index = 0; + + if (*length > max_length) + *length = max_length; + + memcpy(data, src->linebuffer + src->linebuffer_index, *length); + src->linebuffer_index += *length; +} + + + static SANE_Status read_image (pixma_sane_t * ss, void *buf, unsigned size, int *readlen) { @@ -1199,7 +1458,35 @@ read_image (pixma_sane_t * ss, void *buf, unsigned size, int *readlen) if (ss->cancel) /* ss->rpipe has already been closed by sane_cancel(). */ return SANE_STATUS_CANCELLED; - count = read (ss->rpipe, buf, size); + if (ss->sp.mode_jpeg && !ss->jpeg_header_seen) + { + status = pixma_jpeg_read_header(ss); + if (status != SANE_STATUS_GOOD) + { + close (ss->rpipe); + pixma_jpeg_finish(ss); + ss->rpipe = -1; + if (sanei_thread_is_valid (terminate_reader_task (ss, &status)) + && status != SANE_STATUS_GOOD) + { + return status; + } + else + { + /* either terminate_reader_task failed or + rpipe was closed but we expect more data */ + return SANE_STATUS_IO_ERROR; + } + } + } + + if (ss->sp.mode_jpeg) + { + count = -1; + pixma_jpeg_read(ss, buf, size, &count); + } + else + count = read (ss->rpipe, buf, size); } while (count == -1 && errno == EINTR); @@ -1215,6 +1502,8 @@ read_image (pixma_sane_t * ss, void *buf, unsigned size, int *readlen) close (ss->rpipe); ss->rpipe = -1; terminate_reader_task (ss, NULL); + if (ss->sp.mode_jpeg) + pixma_jpeg_finish(ss); return SANE_STATUS_IO_ERROR; } @@ -1229,6 +1518,8 @@ read_image (pixma_sane_t * ss, void *buf, unsigned size, int *readlen) close (ss->rpipe); ss->rpipe = -1; terminate_reader_task (ss, NULL); + if (ss->sp.mode_jpeg) + pixma_jpeg_finish(ss); } else if (count == 0) { @@ -1236,6 +1527,8 @@ read_image (pixma_sane_t * ss, void *buf, unsigned size, int *readlen) PRIu64" bytes received, %"PRIu64" bytes expected\n", ss->image_bytes_read, ss->sp.image_size)); close (ss->rpipe); + if (ss->sp.mode_jpeg) + pixma_jpeg_finish(ss); ss->rpipe = -1; if (sanei_thread_is_valid (terminate_reader_task (ss, &status)) && status != SANE_STATUS_GOOD) @@ -1376,7 +1669,7 @@ sane_open (SANE_String_Const name, SANE_Handle * h) return SANE_STATUS_NO_MEM; ss->next = first_scanner; first_scanner = ss; - ss->reader_taskid = -1; + sanei_thread_initialize (ss->reader_taskid); ss->wpipe = -1; ss->rpipe = -1; ss->idle = SANE_TRUE; @@ -1441,7 +1734,7 @@ sane_control_option (SANE_Handle h, SANE_Int n, if (!ss->idle && a != SANE_ACTION_GET_VALUE) { PDBG (pixma_dbg (3, "Warning: !idle && !SANE_ACTION_GET_VALUE\n")); - if (ss->sp.source != PIXMA_SOURCE_ADF && ss->sp.source != PIXMA_SOURCE_ADFDUP) + if (ss->sp.source != PIXMA_SOURCE_ADF && ss->sp.source != PIXMA_SOURCE_ADFDUP) return SANE_STATUS_INVAL; } @@ -1454,16 +1747,16 @@ sane_control_option (SANE_Handle h, SANE_Int n, if ((opt->sod.type != SANE_TYPE_BUTTON && !v) || !SANE_OPTION_IS_SETTABLE (opt->sod.cap)) return SANE_STATUS_INVAL; /* or _UNSUPPORTED? */ - break; + break; case SANE_ACTION_SET_AUTO: if (!(opt->sod.cap & SANE_CAP_AUTOMATIC) || !SANE_OPTION_IS_SETTABLE (opt->sod.cap)) return SANE_STATUS_INVAL; /* or _UNSUPPORTED? */ - break; + break; case SANE_ACTION_GET_VALUE: if (!v || !(opt->sod.cap & SANE_CAP_SOFT_DETECT)) return SANE_STATUS_INVAL; /* or _UNSUPPORTED? */ - break; + break; default: return SANE_STATUS_UNSUPPORTED; } @@ -1527,6 +1820,19 @@ sane_start (SANE_Handle h) ss->page_count++; if (calc_scan_param (ss, &ss->sp) < 0) return SANE_STATUS_INVAL; + + /* Prepare the JPEG decompressor, if needed */ + if (ss->sp.mode_jpeg) + { + SANE_Status status; + status = pixma_jpeg_start(ss); + if (status != SANE_STATUS_GOOD) + { + PDBG (pixma_dbg(1, "%s: pixma_jpeg_start: %s\n", __func__, sane_strstatus(status)) ); + return status; + } + } + ss->image_bytes_read = 0; /* TODO: Check paper here in sane_start(). A function like pixma_get_status() is needed. */ @@ -1538,6 +1844,22 @@ sane_start (SANE_Handle h) ss->last_read_status = SANE_STATUS_GOOD; ss->scanning = SANE_TRUE; ss->idle = SANE_FALSE; + if (ss->sp.mode_jpeg && !ss->jpeg_header_seen) + { + SANE_Status status; + status = pixma_jpeg_read_header(ss); + if (status != SANE_STATUS_GOOD) + { + close (ss->rpipe); + pixma_jpeg_finish(ss); + ss->rpipe = -1; + if (sanei_thread_is_valid (terminate_reader_task (ss, &error)) + && error != SANE_STATUS_GOOD) + { + return error; + } + } + } } return map_error (error); } @@ -1635,6 +1957,8 @@ sane_cancel (SANE_Handle h) if (ss->idle) return; close (ss->rpipe); + if (ss->sp.mode_jpeg) + pixma_jpeg_finish(ss); ss->rpipe = -1; terminate_reader_task (ss, NULL); ss->idle = SANE_TRUE; @@ -1799,7 +2123,7 @@ type int original type int target default 0 title Target operation type - cap soft_detect advanced + cap soft_detect advanced type int scan-resolution default 0 diff --git a/backend/pixma.h b/backend/pixma.h index 6d723fb..370203a 100644 --- a/backend/pixma.h +++ b/backend/pixma.h @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2016 Rolf Bensch + Copyright (C) 2011-2019 Rolf Bensch Copyright (C) 2007-2008 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -104,7 +104,7 @@ typedef uint16_t uint16_t; typedef uint32_t uint32_t; #endif /* HAVE_STDINT_H */ -#ifdef HAVE_INTTYPES_H +#ifdef HAVE_INTTYPES_H # include /* available in ISO C99 */ #endif /* HAVE_INTTYPES_H */ @@ -116,8 +116,8 @@ typedef uint32_t uint32_t; /** \name Version of the driver */ /**@{*/ #define PIXMA_VERSION_MAJOR 0 -#define PIXMA_VERSION_MINOR 17 -#define PIXMA_VERSION_BUILD 37 +#define PIXMA_VERSION_MINOR 23 +#define PIXMA_VERSION_BUILD 0 /**@}*/ /** \name Error codes */ @@ -154,6 +154,7 @@ typedef uint32_t uint32_t; #define PIXMA_CAP_NEGATIVE (1 << 10) #define PIXMA_CAP_TPUIR ((1 << 11) | PIXMA_CAP_TPU) #define PIXMA_CAP_ADF_WAIT (1 << 12) +#define PIXMA_CAP_ADF_JPEG (1 << 13) #define PIXMA_CAP_EXPERIMENT (1 << 31) /**@}*/ @@ -278,7 +279,7 @@ struct pixma_scan_param_t * line_size >= depth / 8 * channels * w
* This field will be set by pixma_check_scan_param(). */ uint64_t line_size; - + /** Size in bytes of the whole image. * image_size = line_size * h
* This field will be set by pixma_check_scan_param(). */ @@ -310,11 +311,14 @@ struct pixma_scan_param_t unsigned x, y, w, h, xs, wx; /*@} */ - /** Flag indicating whether the offset correction for TPU scans + /** Flag indicating whether the offset correction for TPU scans * was already performed (to avoid repeated corrections). * Currently only used in pixma_mp810.c sub-driver */ unsigned tpu_offset_added; + /* Flag indicating if data from scanner will be in JPEG format */ + unsigned mode_jpeg; + /** Flag indicating whether a software-lineart scan is in progress * 0 = other scan * 1 = software-lineart scan */ diff --git a/backend/pixma_bjnp.c b/backend/pixma_bjnp.c index fc4c501..5a9932e 100644 --- a/backend/pixma_bjnp.c +++ b/backend/pixma_bjnp.c @@ -69,7 +69,7 @@ #include #endif -/* +/* * networking stuff */ #ifdef HAVE_SYS_SOCKET_H @@ -104,7 +104,7 @@ #ifndef SSIZE_MAX # define SSIZE_MAX LONG_MAX -#endif +#endif /* static data */ static bjnp_device_t device[BJNP_NO_DEVICES]; @@ -198,7 +198,7 @@ static int sa_is_equal( const bjnp_sockaddr_t * sa1, const bjnp_sockaddr_t * sa2 { return 1; } - } + } #ifdef ENABLE_IPV6 else if (sa1 -> addr.sa_family == AF_INET6 ) { @@ -207,18 +207,18 @@ static int sa_is_equal( const bjnp_sockaddr_t * sa1, const bjnp_sockaddr_t * sa2 { return 1; } - } + } #endif } - return 0; + return 0; } -static int +static int sa_size( const bjnp_sockaddr_t *sa) { switch (sa -> addr.sa_family) { - case AF_INET: + case AF_INET: return (sizeof(struct sockaddr_in) ); #ifdef ENABLE_IPV6 case AF_INET6: @@ -269,7 +269,7 @@ get_address_info ( const bjnp_sockaddr_t *addr, char * addr_string, int *port) *port = ntohs (addr->ipv6.sin6_port); } #endif - else + else { /* unknown address family, should not occur */ strcpy(addr_string, "Unknown address family"); @@ -455,7 +455,7 @@ bjnp_open_tcp (int devno) * Close this socket when starting another process... */ - fcntl (sock, F_SETFD, FD_CLOEXEC); + fcntl (sock, F_SETFD, FD_CLOEXEC); if (connect (sock, &(addr->addr), sa_size(device[devno].addr) )!= 0) @@ -510,9 +510,9 @@ split_uri (const char *devname, char *method, char *host, char *port, { /* literal IPv6 address */ - char *end_of_address = strchr(start, ']'); + char *end_of_address = strchr(start, ']'); - if ( ( end_of_address == NULL) || + if ( ( end_of_address == NULL) || ( (end_of_address[1] != ':') && (end_of_address[1] != '/' ) && (end_of_address[1] != '\0' )) || ( (end_of_address - start) >= BJNP_HOST_MAX ) ) { @@ -552,8 +552,8 @@ split_uri (const char *devname, char *method, char *host, char *port, else { char *end_of_port = strchr(start, '/'); - if (end_of_port == NULL) - { + if (end_of_port == NULL) + { next = '\0'; } else @@ -669,9 +669,9 @@ static int udp_command (const int dev_no, char *command, int cmd_len, char *response, int resp_len) { - /* + /* * send udp command to given device and recieve the response` - * returns: the legth of the response or -1 + * returns: the legth of the response or -1 */ int sockfd; struct timeval timeout; @@ -681,7 +681,7 @@ udp_command (const int dev_no, char *command, int cmd_len, char *response, fd_set fdset; struct BJNP_command *resp = (struct BJNP_command *) response; struct BJNP_command *cmd = (struct BJNP_command *) command; - + if ( (sockfd = bjnp_setup_udp_socket(dev_no) ) == -1 ) { PDBG (bjnp_dbg( LOG_CRIT, "udp_command: ERROR - Can not setup socket\n") ); @@ -712,7 +712,7 @@ udp_command (const int dev_no, char *command, int cmd_len, char *response, } while (((result = select (sockfd + 1, &fdset, NULL, NULL, &timeout)) <= 0) - && (errno == EINTR) && (attempt++ < BJNP_MAX_SELECT_ATTEMPTS) + && (errno == EINTR) && (attempt++ < BJNP_MAX_SELECT_ATTEMPTS) && resp-> seq_no != cmd->seq_no); if (result <= 0) @@ -780,7 +780,7 @@ get_scanner_id (const int dev_no, char *model) id = (struct IDENTITY *) resp_buf; if (device[dev_no].protocol == PROTOCOL_BJNP) - { + { id_len = MIN(ntohl( id-> cmd.payload_len ) - sizeof(id-> payload.bjnp.id_len), BJNP_IEEE1284_MAX); strncpy(scanner_id, id->payload.bjnp.id, id_len); scanner_id[id_len] = '\0'; @@ -815,7 +815,7 @@ get_scanner_name(const bjnp_sockaddr_t *scanner_sa, char *host) struct addrinfo *result; char ip_address[BJNP_HOST_MAX]; int port; - int error; + int error; int match = 0; int level; char service[64]; @@ -832,10 +832,10 @@ get_scanner_name(const bjnp_sockaddr_t *scanner_sa, char *host) /* do reverse name lookup, if hostname can not be found return ip-address */ - if( (error = getnameinfo( &(scanner_sa -> addr) , sa_size( scanner_sa), + if( (error = getnameinfo( &(scanner_sa -> addr) , sa_size( scanner_sa), host, BJNP_HOST_MAX , NULL, 0, NI_NAMEREQD) ) != 0 ) { - PDBG (bjnp_dbg(LOG_INFO, "get_scanner_name: Name for %s not found : %s\n", + PDBG (bjnp_dbg(LOG_INFO, "get_scanner_name: Name for %s not found : %s\n", ip_address, gai_strerror(error) ) ); strcpy(host, ip_address); return level; @@ -843,19 +843,19 @@ get_scanner_name(const bjnp_sockaddr_t *scanner_sa, char *host) else { sprintf(service, "%d", port); - /* some buggy routers return rubbish if reverse lookup fails, so + /* some buggy routers return rubbish if reverse lookup fails, so * we do a forward lookup on the received name to see if the result matches */ - if (getaddrinfo(host , service, NULL, &results) == 0) + if (getaddrinfo(host , service, NULL, &results) == 0) { result = results; - while (result != NULL) + while (result != NULL) { if(sa_is_equal( scanner_sa, (bjnp_sockaddr_t *)result-> ai_addr)) { /* found match, good */ - PDBG (bjnp_dbg (LOG_INFO, + PDBG (bjnp_dbg (LOG_INFO, "get_scanner_name: Forward lookup for %s succeeded, using as hostname\n", host)); match = 1; level = BJNP_ADDRESS_HAS_FQDN; @@ -865,15 +865,15 @@ get_scanner_name(const bjnp_sockaddr_t *scanner_sa, char *host) } freeaddrinfo(results); - if (match != 1) + if (match != 1) { - PDBG (bjnp_dbg (LOG_INFO, - "get_scanner_name: Forward lookup for %s succeeded, IP-address does not match, using IP-address %s instead\n", + PDBG (bjnp_dbg (LOG_INFO, + "get_scanner_name: Forward lookup for %s succeeded, IP-address does not match, using IP-address %s instead\n", host, ip_address)); strcpy (host, ip_address); } - } - else + } + else { /* forward lookup failed, use ip-address */ PDBG ( bjnp_dbg (LOG_INFO, "get_scanner_name: Forward lookup of %s failed, using IP-address", ip_address)); @@ -956,8 +956,8 @@ static int create_broadcast_socket( const bjnp_sockaddr_t * local_addr ) return sockfd; } -static int -prepare_socket(const char *if_name, const bjnp_sockaddr_t *local_sa, +static int +prepare_socket(const char *if_name, const bjnp_sockaddr_t *local_sa, const bjnp_sockaddr_t *broadcast_sa, bjnp_sockaddr_t * dest_sa) { /* @@ -975,7 +975,7 @@ prepare_socket(const char *if_name, const bjnp_sockaddr_t *local_sa, if ( local_sa == NULL ) { - PDBG (bjnp_dbg (LOG_DEBUG, + PDBG (bjnp_dbg (LOG_DEBUG, "prepare_socket: %s is not a valid IPv4 interface, skipping...\n", if_name)); return -1; @@ -994,7 +994,7 @@ prepare_socket(const char *if_name, const bjnp_sockaddr_t *local_sa, { /* not a valid interface */ - PDBG (bjnp_dbg (LOG_DEBUG, + PDBG (bjnp_dbg (LOG_DEBUG, "prepare_socket: %s is not a valid IPv4 interface, skipping...\n", if_name)); return -1; @@ -1008,7 +1008,7 @@ prepare_socket(const char *if_name, const bjnp_sockaddr_t *local_sa, /* we fill port when we send the broadcast */ dest_sa -> ipv4.sin_port = htons(0); - if ( (socket = create_broadcast_socket( &local_sa_copy) ) != -1) + if ( (socket = create_broadcast_socket( &local_sa_copy) ) != -1) { PDBG (bjnp_dbg (LOG_INFO, "prepare_socket: %s is IPv4 capable, sending broadcast, socket = %d\n", if_name, socket)); @@ -1030,7 +1030,7 @@ prepare_socket(const char *if_name, const bjnp_sockaddr_t *local_sa, { /* not a valid interface */ - PDBG (bjnp_dbg (LOG_DEBUG, + PDBG (bjnp_dbg (LOG_DEBUG, "prepare_socket: %s is not a valid IPv6 interface, skipping...\n", if_name)); return -1; @@ -1043,7 +1043,7 @@ prepare_socket(const char *if_name, const bjnp_sockaddr_t *local_sa, dest_sa -> ipv6.sin6_port = htons(0); inet_pton(AF_INET6, "ff02::1", dest_sa -> ipv6.sin6_addr.s6_addr); - if ( (socket = create_broadcast_socket( &local_sa_copy ) ) != -1) + if ( (socket = create_broadcast_socket( &local_sa_copy ) ) != -1) { PDBG (bjnp_dbg (LOG_INFO, "prepare_socket: %s is IPv6 capable, sending broadcast, socket = %d\n", if_name, socket)); @@ -1055,7 +1055,7 @@ prepare_socket(const char *if_name, const bjnp_sockaddr_t *local_sa, return -1; } } - } + } break; #endif @@ -1084,7 +1084,7 @@ bjnp_send_broadcast (int sockfd, const bjnp_sockaddr_t * broadcast_addr, int por if( dest_addr.addr.sa_family == AF_INET6) { dest_addr.ipv6.sin6_port = htons(port); - } + } #endif if ((num_bytes = sendto (sockfd, &cmd, size, 0, @@ -1104,7 +1104,7 @@ bjnp_send_broadcast (int sockfd, const bjnp_sockaddr_t * broadcast_addr, int por static void bjnp_finish_job (int devno) { -/* +/* * Signal end of scanjob to scanner */ @@ -1138,7 +1138,7 @@ bjnp_finish_job (int devno) static int bjnp_poll_scanner (int devno, char type,char *hostname, char *user, SANE_Byte *status, int size) { -/* +/* * send details of user to the scanner */ @@ -1149,7 +1149,7 @@ bjnp_poll_scanner (int devno, char type,char *hostname, char *user, SANE_Byte *s int buf_len; /* length of the whole command buffer */ struct POLL_DETAILS *poll; struct POLL_RESPONSE *response; - char user_host[256]; + char user_host[256]; time_t t; int user_host_len; @@ -1174,27 +1174,27 @@ bjnp_poll_scanner (int devno, char type,char *hostname, char *user, SANE_Byte *s len = 80; break; case 2: - poll->extensions.type2.dialog = htonl(device[devno].dialog); - charTo2byte(poll->extensions.type2.user_host, user_host, user_host_len); + poll->extensions.type2.dialog = htonl(device[devno].dialog); + charTo2byte(poll->extensions.type2.user_host, user_host, user_host_len); poll->extensions.type2.unknown_1 = htonl(0x14); - poll->extensions.type2.unknown_2 = htonl(0x10); + poll->extensions.type2.unknown_2 = htonl(0x10); t = time (NULL); - strftime (poll->extensions.type2.ascii_date, - sizeof (poll->extensions.type2.ascii_date), + strftime (poll->extensions.type2.ascii_date, + sizeof (poll->extensions.type2.ascii_date), "%Y%m%d%H%M%S", localtime (&t)); len = 116; break; case 5: - poll->extensions.type5.dialog = htonl(device[devno].dialog); - charTo2byte(poll->extensions.type5.user_host, user_host, user_host_len); + poll->extensions.type5.dialog = htonl(device[devno].dialog); + charTo2byte(poll->extensions.type5.user_host, user_host, user_host_len); poll->extensions.type5.unknown_1 = htonl(0x14); - poll->extensions.type5.key = htonl(device[devno].status_key); + poll->extensions.type5.key = htonl(device[devno].status_key); len = 100; break; default: PDBG (bjnp_dbg (LOG_INFO, "bjnp_poll_scanner: unknown packet type: %d\n", type)); return -1; - }; + }; /* we can only now set the header as we now know the length of the payload */ set_cmd_for_dev (devno, (struct BJNP_command *) cmd_buf, CMD_UDP_POLL, len); @@ -1218,7 +1218,7 @@ bjnp_poll_scanner (int devno, char type,char *hostname, char *user, SANE_Byte *s { return BJNP_RESTART_POLL; } - if ( (response -> result[2] & 0x80) != 0) + if ( (response -> result[2] & 0x80) != 0) { memcpy( status, response->status, size); PDBG( bjnp_dbg(LOG_INFO, "bjnp_poll_scanner: received button status!\n")); @@ -1234,7 +1234,7 @@ bjnp_poll_scanner (int devno, char type,char *hostname, char *user, SANE_Byte *s static void bjnp_send_job_details (int devno, char *hostname, char *user, char *title) { -/* +/* * send details of scanjob to scanner */ @@ -1277,7 +1277,7 @@ bjnp_send_job_details (int devno, char *hostname, char *user, char *title) static int bjnp_get_scanner_mac_address ( int devno, char *mac_address ) { -/* +/* * send discover to scanner */ @@ -1297,7 +1297,7 @@ bjnp_get_scanner_mac_address ( int devno, char *mac_address ) { PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_get_scanner_mac_address: Discover response:\n")); PDBG (bjnp_hexdump (LOG_DEBUG2, resp_buf, resp_len)); - u8tohex( mac_address, resp -> mac_addr, sizeof( resp -> mac_addr ) ); + u8tohex( mac_address, resp -> mac_addr, sizeof( resp -> mac_addr ) ); return 0; } return -1; @@ -1307,7 +1307,7 @@ static int bjnp_write (int devno, const SANE_Byte * buf, size_t count) { /* - * This function writes TCP data to the scanner. + * This function writes TCP data to the scanner. * Returns: number of bytes written to the scanner */ int sent_bytes; @@ -1355,9 +1355,9 @@ static int bjnp_send_read_request (int devno) { /* - * This function reads responses from the scanner. + * This function reads responses from the scanner. * Returns: 0 on success, else -1 - * + * */ int sent_bytes; int terrno; @@ -1398,8 +1398,8 @@ bjnp_recv_header (int devno, size_t *payload_size ) /* * This function receives the response header to bjnp commands. * devno device number - * size: return value for data size returned by scanner - * Returns: + * size: return value for data size returned by scanner + * Returns: * SANE_STATUS_IO_ERROR when any IO error occurs * SANE_STATUS_GOOD in case no errors were encountered */ @@ -1443,7 +1443,7 @@ bjnp_recv_header (int devno, size_t *payload_size ) { terrno = errno; PDBG (bjnp_dbg (LOG_CRIT, - "bjnp_recv_header: ERROR - could not read response header (select timed out after %d ms)!\n", + "bjnp_recv_header: ERROR - could not read response header (select timed out after %d ms)!\n", device[devno].bjnp_timeout ) ); errno = terrno; return SANE_STATUS_IO_ERROR; @@ -1512,7 +1512,7 @@ bjnp_init_device_structure(int dn, bjnp_sockaddr_t *sa, bjnp_protocol_defs_t *pr device[dn].open = 0; #ifdef PIXMA_BJNP_USE_STATUS - device[dn].polling_status = BJNP_POLL_STOPPED; + device[dn].polling_status = BJNP_POLL_STOPPED; device[dn].dialog = 0; device[dn].status_key = 0; #endif @@ -1521,7 +1521,7 @@ bjnp_init_device_structure(int dn, bjnp_sockaddr_t *sa, bjnp_protocol_defs_t *pr device[dn].tcp_socket = -1; device[dn].addr = (bjnp_sockaddr_t *) malloc(sizeof ( bjnp_sockaddr_t) ); - memset( device[dn].addr, 0, sizeof( bjnp_sockaddr_t ) ); + memset( device[dn].addr, 0, sizeof( bjnp_sockaddr_t ) ); memcpy(device[dn].addr, sa, sa_size((bjnp_sockaddr_t *)sa) ); device[dn].address_level = get_scanner_name(sa, name); device[dn].session_id = 0; @@ -1530,7 +1530,7 @@ bjnp_init_device_structure(int dn, bjnp_sockaddr_t *sa, bjnp_protocol_defs_t *pr device[dn].bjnp_min_timeout = min_timeout; device[dn].scanner_data_left = 0; device[dn].last_cmd = 0; - device[dn].blocksize = BJNP_BLOCKSIZE_START; + device[dn].blocksize = BJNP_BLOCKSIZE_START; device[dn].last_block = 0; /* fill mac_address */ @@ -1620,7 +1620,7 @@ bjnp_recv_data (int devno, SANE_Byte * buffer, size_t start_pos, size_t * len) { terrno = errno; PDBG (bjnp_dbg (LOG_CRIT, - "bjnp_recv_data: ERROR - could not read response payload (select timed out after %d ms)!\n", + "bjnp_recv_data: ERROR - could not read response payload (select timed out after %d ms)!\n", device[devno].bjnp_timeout) ); errno = terrno; *len = 0; @@ -1646,10 +1646,10 @@ bjnp_recv_data (int devno, SANE_Byte * buffer, size_t start_pos, size_t * len) } static BJNP_Status -bjnp_allocate_device (SANE_String_Const devname, +bjnp_allocate_device (SANE_String_Const devname, SANE_Int * dn, char *resulting_host) { - char method[BJNP_METHOD_MAX]; + char method[BJNP_METHOD_MAX]; char host[BJNP_HOST_MAX]; char port[BJNP_PORT_MAX] = ""; char args[BJNP_ARGS_MAX]; @@ -1697,7 +1697,7 @@ bjnp_allocate_device (SANE_String_Const devname, { sprintf( port, "%d", protocol_defs->default_port ); } - + hints.ai_flags = 0; #ifdef ENABLE_IPV6 hints.ai_family = AF_UNSPEC; @@ -1712,7 +1712,7 @@ bjnp_allocate_device (SANE_String_Const devname, hints.ai_next = NULL; result = getaddrinfo (host, port, &hints, &res ); - if (result != 0 ) + if (result != 0 ) { PDBG (bjnp_dbg (LOG_CRIT, "bjnp_allocate_device: ERROR - Cannot resolve host: %s port %s\n", host, port)); return SANE_STATUS_INVAL; @@ -1724,7 +1724,7 @@ bjnp_allocate_device (SANE_String_Const devname, while( cur != NULL) { /* create a new device structure for this address */ - + if (bjnp_no_devices == BJNP_NO_DEVICES) { PDBG (bjnp_dbg @@ -1743,14 +1743,14 @@ bjnp_allocate_device (SANE_String_Const devname, for (i = 0; i < bjnp_no_devices; i++) { - /* Check if found the scanner before, if so we use the best address + /* Check if found the scanner before, if so we use the best address * but still make sure the scanner is listed only once. - * We check for matching addresses as wel as matching mac_addresses as + * We check for matching addresses as wel as matching mac_addresses as * an IPv6 host can have multiple adresses */ if ( strcmp( device[i].mac_address, device[bjnp_no_devices].mac_address ) == 0 ) { - if ( device[i].address_level < device[bjnp_no_devices].address_level ) + if ( device[i].address_level < device[bjnp_no_devices].address_level ) { /* use the new address instead as it is better */ free (device[i].addr); @@ -1768,7 +1768,7 @@ bjnp_allocate_device (SANE_String_Const devname, device[i].bjnp_timeout = device[bjnp_no_devices].bjnp_min_timeout; device[i].bjnp_min_timeout = device[bjnp_no_devices].bjnp_min_timeout; } - freeaddrinfo(res); + freeaddrinfo(res); *dn = i; bjnp_free_device_structure( bjnp_no_devices); return BJNP_STATUS_ALREADY_ALLOCATED; @@ -1795,8 +1795,8 @@ bjnp_allocate_device (SANE_String_Const devname, return BJNP_STATUS_GOOD; } -static void add_scanner(SANE_Int *dev_no, - const char *uri, +static void add_scanner(SANE_Int *dev_no, + const char *uri, SANE_Status (*attach_bjnp) (SANE_String_Const devname, SANE_String_Const makemodel, @@ -1816,7 +1816,7 @@ static void add_scanner(SANE_Int *dev_no, case BJNP_STATUS_GOOD: if (get_scanner_id (*dev_no, makemodel) != 0) { - PDBG (bjnp_dbg (LOG_CRIT, "add_scanner: ERROR - Cannot read scanner make & model: %s\n", + PDBG (bjnp_dbg (LOG_CRIT, "add_scanner: ERROR - Cannot read scanner make & model: %s\n", uri)); } else @@ -1829,7 +1829,7 @@ static void add_scanner(SANE_Int *dev_no, attach_bjnp (uri, makemodel, serial, pixma_devices); - PDBG (bjnp_dbg (LOG_NOTICE, "add_scanner: New scanner added: %s, serial %s, mac addres: %s.\n", + PDBG (bjnp_dbg (LOG_NOTICE, "add_scanner: New scanner added: %s, serial %s, mac address: %s.\n", uri, serial, device[*dev_no].mac_address)); } break; @@ -1845,7 +1845,7 @@ static void add_scanner(SANE_Int *dev_no, } } -int rewrite_uri(char *uri, int timeout, int max_len) +int add_default_timeout(char *uri, int timeout, int max_len) { char method[BJNP_METHOD_MAX]; char host[BJNP_HOST_MAX]; @@ -1869,7 +1869,7 @@ int rewrite_uri(char *uri, int timeout, int max_len) sprintf(args, "timeout=%d", timeout); } - snprintf(uri, max_len -1, "bjnp://%s:%d/%s", host, port, args); + snprintf(uri, max_len -1, "%s://%s:%d/%s", method,host, port, args); return 0; } @@ -1889,7 +1889,7 @@ sanei_bjnp_init (void) bjnp_no_devices = 0; } -/** +/** * Find devices that implement the bjnp protocol * * The function attach is called for every device which has been found. @@ -1911,7 +1911,7 @@ sanei_bjnp_find_devices (const char **conf_devices, int numbytes = 0; struct BJNP_command cmd; unsigned char resp_buf[2048]; - struct DISCOVER_RESPONSE *disc_resp = ( struct DISCOVER_RESPONSE *) & resp_buf; + struct DISCOVER_RESPONSE *disc_resp = ( struct DISCOVER_RESPONSE *) & resp_buf; int socket_fd[BJNP_SOCK_MAX]; int no_sockets; int i; @@ -1921,19 +1921,19 @@ sanei_bjnp_find_devices (const char **conf_devices, fd_set fdset; fd_set active_fdset; struct timeval timeout; - char scanner_host[256]; + char scanner_host[256]; char uri[256]; int dev_no; int port; int timeout_default = BJNP_TIMEOUT_DEFAULT; bjnp_sockaddr_t broadcast_addr[BJNP_SOCK_MAX]; - bjnp_sockaddr_t scanner_sa; + bjnp_sockaddr_t scanner_sa; socklen_t socklen; bjnp_protocol_defs_t *protocol_defs; memset( broadcast_addr, 0, sizeof( broadcast_addr) ); memset( &scanner_sa, 0 ,sizeof( scanner_sa ) ); - PDBG (bjnp_dbg (LOG_INFO, "sanei_bjnp_find_devices, pixma backend version: %d.%d.%d\n", + PDBG (bjnp_dbg (LOG_INFO, "sanei_bjnp_find_devices, pixma backend version: %d.%d.%d\n", PIXMA_VERSION_MAJOR, PIXMA_VERSION_MINOR, PIXMA_VERSION_BUILD)); bjnp_no_devices = 0; @@ -1954,7 +1954,7 @@ sanei_bjnp_find_devices (const char **conf_devices, timeout_default = atoi(conf_devices[i] + strlen("bjnp-timeout=") ); if (timeout_default < BJNP_TIMEOUT_DEFAULT) { - timeout_default = BJNP_TIMEOUT_DEFAULT; + timeout_default = BJNP_TIMEOUT_DEFAULT; } PDBG ( bjnp_dbg (LOG_DEBUG, "Set new default timeout value: %d ms.", timeout_default)); @@ -1963,7 +1963,7 @@ sanei_bjnp_find_devices (const char **conf_devices, PDBG (bjnp_dbg (LOG_DEBUG, "sanei_bjnp_find_devices: Adding scanner from pixma.conf: %s\n", conf_devices[i])); strncpy(uri, conf_devices[i], sizeof(uri)); - rewrite_uri(uri, timeout_default, sizeof(uri)); + add_default_timeout(uri, timeout_default, sizeof(uri)); add_scanner(&dev_no, uri, attach_bjnp, pixma_devices); } PDBG (bjnp_dbg @@ -1988,10 +1988,10 @@ sanei_bjnp_find_devices (const char **conf_devices, interface = interfaces; while ((no_sockets < BJNP_SOCK_MAX) && (interface != NULL)) { - if ( ! (interface -> ifa_flags & IFF_POINTOPOINT) && - ( (socket_fd[no_sockets] = - prepare_socket( interface -> ifa_name, - (bjnp_sockaddr_t *) interface -> ifa_addr, + if ( ! (interface -> ifa_flags & IFF_POINTOPOINT) && + ( (socket_fd[no_sockets] = + prepare_socket( interface -> ifa_name, + (bjnp_sockaddr_t *) interface -> ifa_addr, (bjnp_sockaddr_t *) interface -> ifa_broadaddr, &broadcast_addr[no_sockets] ) ) != -1 ) ) { @@ -2004,7 +2004,7 @@ sanei_bjnp_find_devices (const char **conf_devices, no_sockets++; } interface = interface->ifa_next; - } + } freeifaddrs (interfaces); } #else @@ -2022,10 +2022,10 @@ sanei_bjnp_find_devices (const char **conf_devices, bc_addr.ipv4.sin_port = htons(0); bc_addr.ipv4.sin_addr.s_addr = htonl (INADDR_BROADCAST); - socket_fd[no_sockets] = prepare_socket( "any_interface", - &local, - &bc_addr, - &broadcast_addr[no_sockets] ); + socket_fd[no_sockets] = prepare_socket( "any_interface", + &local, + &bc_addr, + &broadcast_addr[no_sockets] ); if (socket_fd[no_sockets] >= 0) { FD_SET (socket_fd[no_sockets], &fdset); @@ -2039,10 +2039,10 @@ sanei_bjnp_find_devices (const char **conf_devices, local.ipv6.sin6_family = AF_INET6; local.ipv6.sin6_addr = in6addr_any; - socket_fd[no_sockets] = prepare_socket( "any_interface", - &local, + socket_fd[no_sockets] = prepare_socket( "any_interface", + &local, NULL, - &broadcast_addr[no_sockets] ); + &broadcast_addr[no_sockets] ); if (socket_fd[no_sockets] >= 0) { FD_SET (socket_fd[no_sockets], &fdset); @@ -2052,7 +2052,7 @@ sanei_bjnp_find_devices (const char **conf_devices, } no_sockets++; } -#endif +#endif } #endif @@ -2065,7 +2065,7 @@ sanei_bjnp_find_devices (const char **conf_devices, while(bjnp_protocol_defs[j].protocol_version != PROTOCOL_NONE) { set_cmd_from_string (bjnp_protocol_defs[j].proto_string, &cmd, CMD_UDP_DISCOVER, 0); - bjnp_send_broadcast ( socket_fd[i], &broadcast_addr[i], + bjnp_send_broadcast ( socket_fd[i], &broadcast_addr[i], bjnp_protocol_defs[j].default_port, cmd, sizeof (cmd)); j++; } @@ -2092,7 +2092,7 @@ sanei_bjnp_find_devices (const char **conf_devices, { socklen = sizeof(scanner_sa); if ((numbytes = - recvfrom (socket_fd[i], resp_buf, sizeof (resp_buf), 0, + recvfrom (socket_fd[i], resp_buf, sizeof (resp_buf), 0, &(scanner_sa.addr), &socklen ) ) == -1) { PDBG (bjnp_dbg @@ -2114,7 +2114,7 @@ sanei_bjnp_find_devices (const char **conf_devices, char bjnp_id[5]; strncpy(bjnp_id, disc_resp-> response.BJNP_id, 4); bjnp_id[4] = '\0'; - PDBG (bjnp_dbg (LOG_INFO, + PDBG (bjnp_dbg (LOG_INFO, "sanei_find_devices: Invalid discover response! Length = %d, Id = %s\n", numbytes, bjnp_id ) ); break; @@ -2135,7 +2135,7 @@ sanei_bjnp_find_devices (const char **conf_devices, sprintf (uri, "%s://%s:%d/timeout=%d", protocol_defs->method_string, scanner_host, port, timeout_default); - add_scanner( &dev_no, uri, attach_bjnp, pixma_devices); + add_scanner( &dev_no, uri, attach_bjnp, pixma_devices); } } @@ -2154,9 +2154,9 @@ sanei_bjnp_find_devices (const char **conf_devices, /** Open a BJNP device. * * The device is opened by its name devname and the device number is - * returned in dn on success. + * returned in dn on success. * - * Device names consist of an URI + * Device names consist of an URI * Where: * type = bjnp * hostname = resolvable name or IP-address @@ -2182,13 +2182,13 @@ sanei_bjnp_open (SANE_String_Const devname, SANE_Int * dn) result = bjnp_allocate_device (devname, dn, NULL); if ( (result != BJNP_STATUS_GOOD) && (result != BJNP_STATUS_ALREADY_ALLOCATED ) ) { - return SANE_STATUS_INVAL; + return SANE_STATUS_INVAL; } return SANE_STATUS_GOOD; } /** Close a BJNP device. - * + * * @param dn device number */ @@ -2274,7 +2274,7 @@ sanei_bjnp_set_timeout (SANE_Int devno, SANE_Int timeout) * @param buffer buffer to store read data in * @param size size of the data * - * @return + * @return * - SANE_STATUS_GOOD - on succes * - SANE_STATUS_EOF - if zero bytes have been read * - SANE_STATUS_IO_ERROR - if an error occured during the read @@ -2288,7 +2288,7 @@ sanei_bjnp_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) SANE_Status result; SANE_Status error; size_t recvd; - size_t read_size; + size_t read_size; size_t read_size_max; size_t requested; @@ -2300,7 +2300,7 @@ sanei_bjnp_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) requested = *size; PDBG (bjnp_dbg - (LOG_DEBUG, "bjnp_read_bulk: 0x%lx = %ld bytes available at start\n", + (LOG_DEBUG, "bjnp_read_bulk: 0x%lx = %ld bytes available at start\n", (unsigned long) device[dn].scanner_data_left, (unsigned long) device[dn].scanner_data_left ) ); @@ -2309,7 +2309,7 @@ sanei_bjnp_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_read_bulk: Already received 0x%lx = %ld bytes, backend requested 0x%lx = %ld bytes\n", - (unsigned long) recvd, (unsigned long) recvd, + (unsigned long) recvd, (unsigned long) recvd, (unsigned long) requested, (unsigned long)requested )); /* Check first if there is data in flight from the scanner */ @@ -2332,7 +2332,7 @@ sanei_bjnp_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) *size = recvd; return SANE_STATUS_IO_ERROR; } - /* correct blocksize if applicable */ + /* correct blocksize if applicable */ device[dn].blocksize = MAX (device[dn].blocksize, device[dn].scanner_data_left); @@ -2341,7 +2341,7 @@ sanei_bjnp_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) /* the scanner will not react at all to a read request, when no more data is available */ /* we now determine end of data by comparing the payload size to the maximun blocksize */ /* this block is shorter than blocksize, so after this block we are done */ - + device[dn].last_block = 1; } } @@ -2358,9 +2358,9 @@ sanei_bjnp_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_read_bulk: Try to read 0x%lx = %ld (of max 0x%lx = %ld) bytes\n", - (unsigned long) read_size_max, (unsigned long) read_size_max, - (unsigned long) device[dn].scanner_data_left, + (unsigned long) read_size_max, + (unsigned long) device[dn].scanner_data_left, (unsigned long) device[dn].scanner_data_left) ); result = bjnp_recv_data (dn, buffer , recvd, &read_size); @@ -2369,14 +2369,14 @@ sanei_bjnp_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) *size = recvd; return SANE_STATUS_IO_ERROR; } - PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_read_bulk: Expected at most %ld bytes, received this time: %ld\n", + PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_read_bulk: Expected at most %ld bytes, received this time: %ld\n", read_size_max, read_size) ); device[dn].scanner_data_left = device[dn].scanner_data_left - read_size; recvd = recvd + read_size; } - PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_read_bulk: %s: Returning %ld bytes, backend expexts %ld\n", + PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_read_bulk: %s: Returning %ld bytes, backend expexts %ld\n", (recvd == *size)? "OK": "NOTICE",recvd, *size ) ); *size = recvd; if ( *size == 0 ) @@ -2393,7 +2393,7 @@ sanei_bjnp_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) * @param buffer buffer to write to device * @param size size of the data * - * @return + * @return * - SANE_STATUS_GOOD - on succes * - SANE_STATUS_IO_ERROR - if an error occured during the write * - SANE_STATUS_INVAL - on every other error @@ -2466,7 +2466,7 @@ sanei_bjnp_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) * @param buffer buffer to store read data in * @param size size of the data * - * @return + * @return * - SANE_STATUS_GOOD - on succes * - SANE_STATUS_EOF - if zero bytes have been read * - SANE_STATUS_IO_ERROR - if an error occured during the read @@ -2491,7 +2491,7 @@ sanei_bjnp_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) int resp_len; int timeout; int seconds; - + PDBG (bjnp_dbg (LOG_INFO, "bjnp_read_int(%d, bufferptr, 0x%lx = %ld):\n", dn, (unsigned long) *size, (unsigned long) *size)); @@ -2523,7 +2523,7 @@ sanei_bjnp_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) case BJNP_POLL_STARTED: /* we use only seonds accuracy between poll attempts */ timeout = device[dn].bjnp_timeout /1000; - + do { if ( (resp_len = bjnp_poll_scanner (dn, 2, hostname, getusername (), buffer, *size ) ) < 0 ) diff --git a/backend/pixma_bjnp.h b/backend/pixma_bjnp.h index 998c331..a27082c 100644 --- a/backend/pixma_bjnp.h +++ b/backend/pixma_bjnp.h @@ -43,7 +43,7 @@ If you do not wish that, delete this exception notice. */ /** @file sanei_bjnp.h - * This file provides a generic BJNP interface. + * This file provides a generic BJNP interface. */ #ifndef sanei_bjnp_h @@ -65,7 +65,7 @@ extern void sanei_bjnp_init (void); /** Find scanners responding to a BJNP broadcast. * - * The function sanei_bjnp_attach is called for every device which has + * The function sanei_bjnp_attach is called for every device which has * been found. * Serial is the address of the scanner in human readable form of max * SERIAL_MAX characters @@ -91,9 +91,9 @@ sanei_bjnp_find_devices (const char **conf_devices, /** Open a BJNP device. * * The device is opened by its name devname and the device number is - * returned in dn on success. + * returned in dn on success. * - * Device names consist of an URI + * Device names consist of an URI * Where: * method = bjnp * hostname = resolvable name or IP-address @@ -112,7 +112,7 @@ sanei_bjnp_find_devices (const char **conf_devices, extern SANE_Status sanei_bjnp_open (SANE_String_Const devname, SANE_Int * dn); /** Close a BJNP device. - * + * * @param dn device number */ @@ -133,7 +133,7 @@ extern SANE_Status sanei_bjnp_activate (SANE_Int dn); extern SANE_Status sanei_bjnp_deactivate (SANE_Int dn); /** Set the libbjnp timeout for bulk and interrupt reads. - * + * * @param devno device number * @param timeout the new timeout in ms */ @@ -152,7 +152,7 @@ extern void sanei_bjnp_set_timeout (SANE_Int devno, SANE_Int timeout); * @param buffer buffer to store read data in * @param size size of the data * - * @return + * @return * - SANE_STATUS_GOOD - on succes * - SANE_STATUS_EOF - if zero bytes have been read * - SANE_STATUS_IO_ERROR - if an error occured during the read @@ -171,7 +171,7 @@ sanei_bjnp_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size); * @param buffer buffer to write to device * @param size size of the data * - * @return + * @return * - SANE_STATUS_GOOD - on succes * - SANE_STATUS_IO_ERROR - if an error occured during the write * - SANE_STATUS_INVAL - on every other error @@ -188,7 +188,7 @@ sanei_bjnp_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size); * @param buffer buffer to store read data in * @param size size of the data * - * @return + * @return * - SANE_STATUS_GOOD - on succes * - SANE_STATUS_EOF - if zero bytes have been read * - SANE_STATUS_IO_ERROR - if an error occured during the read diff --git a/backend/pixma_bjnp_private.h b/backend/pixma_bjnp_private.h index 9ecc6ae..84f5c3f 100644 --- a/backend/pixma_bjnp_private.h +++ b/backend/pixma_bjnp_private.h @@ -1,5 +1,5 @@ /* SANE - Scanner Access Now Easy. - + Copyright (C) 2008 by Louis Lagendijk This file is part of the SANE package. @@ -51,13 +51,13 @@ If you do not wish that, delete this exception notice. */ -/* - * BJNP definitions +/* + * BJNP definitions */ /* selection of options */ /* This works now, disable when it gives you problems */ -#define PIXMA_BJNP_USE_STATUS 1 +#define PIXMA_BJNP_USE_STATUS 1 /* sizes */ @@ -80,7 +80,7 @@ /* timers */ #define BJNP_BROADCAST_INTERVAL 10 /* ms between broadcasts */ #define BJNP_BC_RESPONSE_TIMEOUT 500 /* waiting time for broadc. responses */ -#define BJNP_TIMEOUT_DEFAULT 1000 /* minimum tiemout value for network operations */ +#define BJNP_TIMEOUT_DEFAULT 10000 /* minimum tiemout value for network operations */ #define BJNP_USLEEP_MS 1000 /* sleep for 1 msec */ /* retries */ @@ -116,14 +116,14 @@ typedef enum bjnp_port_e BJNP_PORT_4 = 8614 } bjnp_port_t; -typedef enum +typedef enum { PROTOCOL_BJNP = 0, PROTOCOL_MFNP = 1, PROTOCOL_NONE =2 } bjnp_protocol_t; -typedef struct +typedef struct { bjnp_protocol_t protocol_version; int default_port; @@ -131,7 +131,7 @@ typedef struct char * method_string; } bjnp_protocol_defs_t; -bjnp_protocol_defs_t bjnp_protocol_defs[] = +bjnp_protocol_defs_t bjnp_protocol_defs[] = { {PROTOCOL_BJNP, BJNP_PORT_SCAN,"BJNP", "bjnp"}, {PROTOCOL_MFNP, MFNP_PORT_SCAN,"MFNP", "mfnp"}, @@ -194,7 +194,7 @@ struct __attribute__ ((__packed__)) DISCOVER_RESPONSE unsigned char ipv4_addr[4]; } ipv4; struct __attribute__ ((__packed__)) { - unsigned char ipv6_addr_1[16]; + unsigned char ipv6_addr_1[16]; unsigned char ipv6_addr_2[16]; } ipv6; } addresses; @@ -227,7 +227,7 @@ struct __attribute__ ((__packed__)) POLL_DETAILS char empty1[6]; /* 0 */ char user_host[64]; /* unicode user hostname */ uint64_t emtpy2; /* 0 */ - } type1; /* length = 80 */ + } type1; /* length = 80 */ struct __attribute__ ((__packed__)) { uint16_t empty_1; /* 00 00 */ @@ -256,7 +256,7 @@ struct __attribute__ ((__packed__)) POLL_DETAILS struct __attribute__ ((__packed__)) POLL_RESPONSE { struct BJNP_command cmd; /* command header */ - + unsigned char result[4]; /* unknown stuff, result[2] = 80 -> status is available*/ /* result[8] is dialog, size? */ uint32_t dialog; /* to be returned in next request */ @@ -270,7 +270,7 @@ struct __attribute__ ((__packed__)) POLL_RESPONSE struct __attribute__ ((__packed__)) IDENTITY { struct BJNP_command cmd; - union __attribute__ ((__packed__)) + union __attribute__ ((__packed__)) { struct __attribute__ ((__packed__)) payload_s { @@ -343,7 +343,7 @@ typedef enum typedef struct device_s { int open; /* connection to scanner is opened */ - + /* protocol version */ int protocol; char *protocol_string; @@ -380,4 +380,3 @@ typedef struct device_s uint32_t status_key; /* key of last received status message */ #endif } bjnp_device_t; - diff --git a/backend/pixma_common.c b/backend/pixma_common.c index 2882453..82c4fde 100644 --- a/backend/pixma_common.c +++ b/backend/pixma_common.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2016 Rolf Bensch + Copyright (C) 2011-2019 Rolf Bensch Copyright (C) 2007-2008 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -933,7 +933,7 @@ pixma_read_image (pixma_t * s, void *buf, unsigned len) if (result == 0) { /* end of image? */ s->ops->finish_scan (s); - if (s->cur_image_size != s->param->image_size) + if ((s->cur_image_size != s->param->image_size) && !s->param->mode_jpeg) { pixma_dbg (1, "WARNING:image size mismatches\n"); pixma_dbg (1, @@ -947,7 +947,7 @@ pixma_read_image (pixma_t * s, void *buf, unsigned len) "BUG:received data not multiple of line_size\n"); } } - if (s->cur_image_size < s->param->image_size) + if ((s->cur_image_size < s->param->image_size) && !s->param->mode_jpeg) { s->underrun = 1; ib.wptr = fill_pixels (s, ib.wptr, ib.wend, 0xff); diff --git a/backend/pixma_common.h b/backend/pixma_common.h index 6c55c71..c0ed4ba 100644 --- a/backend/pixma_common.h +++ b/backend/pixma_common.h @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2016 Rolf Bensch + Copyright (C) 2011-2019 Rolf Bensch Copyright (C) 2006-2007 Wittawat Yamwong This file is part of the SANE package. diff --git a/backend/pixma_imageclass.c b/backend/pixma_imageclass.c index 8ad0083..9301bc6 100644 --- a/backend/pixma_imageclass.c +++ b/backend/pixma_imageclass.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2016 Rolf Bensch + Copyright (C) 2011-2019 Rolf Bensch Copyright (C) 2007-2009 Nicolas Martin, Copyright (C) 2008 Dennis Lou, dlou 99 at yahoo dot com @@ -83,6 +83,7 @@ #define MF8300_PID 0x2708 #define MF4500_PID 0x2736 #define MF4410_PID 0x2737 +#define D550_PID 0x2738 #define MF3010_PID 0x2759 #define MF4570_PID 0x275a #define MF4800_PID 0x2773 @@ -103,8 +104,22 @@ #define MF820_PID 0x27a6 #define MF220_PID 0x27a8 #define MF210_PID 0x27a9 +#define MF620_PID 0x27b4 +#define MF410_PID 0x27c0 +#define MF510_PID 0x27c2 #define MF230_PID 0x27d1 #define MF240_PID 0x27d2 +#define MF630_PID 0x27e1 +#define MF634_PID 0x27e2 +#define MF730_PID 0x27e4 +#define MF731_PID 0x27e5 +#define D570_PID 0x27e8 +#define MF110_PID 0x27ed +#define MF520_PID 0x27f0 +#define MF420_PID 0x27f1 +#define MF260_PID 0x27f4 +#define MF740_PID 0x27fb +#define MF640_PID 0x27fe enum iclass_state_t @@ -333,7 +348,7 @@ request_image_block (pixma_t * s, unsigned flag, uint8_t * info, s->cfg->pid == MF8030_PID) { /* 32bit size */ *datalen = mf->cb.reslen - hlen; - *size = (*datalen + hlen == 512) ? pixma_get_be32 (mf->cb.buf + 4) - *datalen : 0; + *size = (*datalen + hlen == 512) ? pixma_get_be32 (mf->cb.buf + 4) - *datalen : *size; memcpy (data, mf->cb.buf + hlen, *datalen); } PDBG (pixma_dbg (11, "*request_image_block***** size = %u *****\n", *size)); @@ -351,7 +366,7 @@ read_image_block (pixma_t * s, uint8_t * data, unsigned size) iclass_t *mf = (iclass_t *) s->subdriver; int error; unsigned maxchunksize, chunksize, count = 0; - + maxchunksize = MAX_CHUNK_SIZE * ((mf->generation >= 2 || s->cfg->pid == MF4600_PID || s->cfg->pid == MF6500_PID || @@ -704,7 +719,7 @@ iclass_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) } first_block_size = 0; - error = request_image_block (s, 4, &info, &block_size, + error = request_image_block (s, 4, &info, &block_size, mf->blkptr + mf->blk_len, &first_block_size); /* add current block to remainder of previous */ mf->blk_len += first_block_size; @@ -919,6 +934,7 @@ const pixma_config_t pixma_iclass_devices[] = { DEV ("Canon imageCLASS MF3240", "MF3240", MF3200_PID, 600, 0, 640, 877, 0), DEV ("Canon imageClass MF6500", "MF6500", MF6500_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), DEV ("Canon imageCLASS MF4410", "MF4410", MF4410_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), + DEV ("Canon imageCLASS D550", "D550", D550_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), DEV ("Canon i-SENSYS MF4500 Series", "MF4500", MF4500_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), DEV ("Canon i-SENSYS MF3010", "MF3010", MF3010_PID, 600, 0, 640, 877, 0), DEV ("Canon i-SENSYS MF4700 Series", "MF4700", MF4700_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), @@ -934,14 +950,30 @@ const pixma_config_t pixma_iclass_devices[] = { DEV ("Canon imageClass MF8030", "MF8030", MF8030_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), DEV ("Canon i-SENSYS MF5880dn", "MF5880", MF5880_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP), DEV ("Canon i-SENSYS MF6680dn", "MF6680", MF6680_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP), - DEV ("Canon imageRUNNER 1133", "iR1133", IR1133_PID, 600, 0, 637, 877, PIXMA_CAP_ADFDUP), + DEV ("Canon imageRUNNER 1133", "iR1133", IR1133_PID, 600, 0, 637, 877, PIXMA_CAP_ADFDUP), /* max. w = 216mm */ DEV ("Canon i-SENSYS MF5900 Series", "MF5900", MF5900_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), DEV ("Canon i-SENSYS MF8500C Series", "MF8500C", MF8500_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), DEV ("Canon i-SENSYS MF6100 Series", "MF6100", MF6100_PID, 600, 300, 640, 1050, PIXMA_CAP_ADFDUP), DEV ("Canon imageClass MF810/820", "MF810/820", MF820_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon i-SENSYS MF220 Series", "MF220", MF220_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon i-SENSYS MF210 Series", "MF210", MF210_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), - DEV ("Canon i-SENSYS MF230 Series", "MF230", MF230_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), - DEV ("Canon i-SENSYS MF240 Series", "MF240", MF240_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), + DEV ("Canon i-SENSYS MF220 Series", "MF220", MF220_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), /* max. w = 216mm */ + DEV ("Canon i-SENSYS MF210 Series", "MF210", MF210_PID, 600, 0, 637, 1050, PIXMA_CAP_ADF), /* max. w = 216mm */ + DEV ("Canon i-SENSYS MF620 Series", "MF620", MF620_PID, 600, 0, 637, 1050, PIXMA_CAP_ADF), + DEV ("Canon i-SENSYS MF410 Series", "MF410", MF410_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), /* max. w = 216mm */ + DEV ("Canon i-SENSYS MF510 Series", "MF510", MF510_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF230 Series", "MF230", MF230_PID, 600, 0, 637, 1050, PIXMA_CAP_ADF), /* max. w = 216mm */ + DEV ("Canon i-SENSYS MF240 Series", "MF240", MF240_PID, 600, 300, 634, 1050, PIXMA_CAP_ADF), /* max. w = 215mm, */ + /* TODO: fix black stripes for 216mm @ 600dpi */ + DEV ("Canon i-SENSYS MF630 Series", "MF630", MF630_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF730 Series", "MF730", MF730_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF731C", "MF731", MF731_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon imageCLASS MF634C", "MF632C/634C", MF634_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon imageCLASS MF733C", "MF731C/733C", MF731_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), /* however, we need this for ethernet/wifi */ + DEV ("Canon imageCLASS D570", "D570", D570_PID, 600, 0, 640, 877, 0), + DEV ("Canon i-SENSYS MF110 Series", "MF110", MF110_PID, 600, 0, 640, 1050, 0), + DEV ("Canon i-SENSYS MF520 Series", "MF520", MF520_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF420 Series", "MF420", MF420_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF260 Series", "MF260", MF260_PID, 600, 0, 640, 1050, 0), + DEV ("Canon i-SENSYS MF740 Series", "MF740", MF740_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF640 Series", "MF640", MF640_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), DEV (NULL, NULL, 0, 0, 0, 0, 0, 0) }; diff --git a/backend/pixma_io.h b/backend/pixma_io.h index 9dc1afb..29bb38d 100644 --- a/backend/pixma_io.h +++ b/backend/pixma_io.h @@ -91,7 +91,7 @@ void pixma_io_cleanup (void); * array of pixma_config_t which is terminated by setting * pixma_config_t::name to \c NULL. * \return Number of devices found */ -unsigned pixma_collect_devices (const char ** conf_devices, +unsigned pixma_collect_devices (const char ** conf_devices, const struct pixma_config_t *const pixma_devices[]); diff --git a/backend/pixma_io_sanei.c b/backend/pixma_io_sanei.c index 8eec883..4710cf4 100644 --- a/backend/pixma_io_sanei.c +++ b/backend/pixma_io_sanei.c @@ -1,7 +1,7 @@ /* SANE - Scanner Access Now Easy. * For limitations, see function sanei_usb_get_vendor_product(). - Copyright (C) 2011-2016 Rolf Bensch + Copyright (C) 2011-2019 Rolf Bensch Copyright (C) 2006-2007 Wittawat Yamwong This file is part of the SANE package. @@ -106,9 +106,9 @@ get_scanner_info (unsigned devnr) return si; } -static const struct pixma_config_t *lookup_scanner(const char *makemodel, +static const struct pixma_config_t *lookup_scanner(const char *makemodel, const struct pixma_config_t *const pixma_devices[]) -{ +{ int i; const struct pixma_config_t *cfg; char *match; @@ -120,12 +120,12 @@ static const struct pixma_config_t *lookup_scanner(const char *makemodel, { /* loop through devices in class */ if ((match = strcasestr (makemodel, cfg->model)) != NULL) - { + { /* possible match found, make sure it is not a partial match */ /* MP600 and MP600R are different models! */ /* some models contain ranges, so check for a '-' too */ - if ((match[strlen(cfg->model)] == ' ') || + if ((match[strlen(cfg->model)] == ' ') || (match[strlen(cfg->model)] == '\0') || (match[strlen(cfg->model)] == '-')) { @@ -159,8 +159,8 @@ attach (SANE_String_Const devname) static SANE_Status -attach_bjnp (SANE_String_Const devname, SANE_String_Const makemodel, - SANE_String_Const serial, +attach_bjnp (SANE_String_Const devname, SANE_String_Const makemodel, + SANE_String_Const serial, const struct pixma_config_t *const pixma_devices[]) { scanner_info_t *si; @@ -417,7 +417,7 @@ pixma_connect (unsigned devnr, pixma_io_t ** handle) error = map_error (sanei_bjnp_open (si->devname, &dev)); else error = map_error (sanei_usb_open (si->devname, &dev)); - + if (error < 0) return error; io = (pixma_io_t *) calloc (1, sizeof (*io)); @@ -425,7 +425,7 @@ pixma_connect (unsigned devnr, pixma_io_t ** handle) { if (si -> interface == INT_BJNP) sanei_bjnp_close (dev); - else + else sanei_usb_close (dev); return PIXMA_ENOMEM; } diff --git a/backend/pixma_mp150.c b/backend/pixma_mp150.c index dca0965..5f0a4ac 100644 --- a/backend/pixma_mp150.c +++ b/backend/pixma_mp150.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2016 Rolf Bensch + Copyright (C) 2011-2019 Rolf Bensch Copyright (C) 2007-2009 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -69,7 +69,7 @@ if ((error = (x)) < 0) \ return error; \ } while(0) - + #define WAIT_INTERRUPT(x) do { \ error = handle_interrupt (s, x); \ if (s->cancel) \ @@ -168,6 +168,7 @@ #define MX420_PID 0x174f #define MX880_PID 0x1750 +/* Generation 5 */ /* 2011 new devices (untested) */ #define MG2100_PID 0x1751 #define MG3100_PID 0x1752 @@ -234,13 +235,60 @@ #define MG5700_PID 0x178e /* 2016 new devices (untested) */ +#define MB2700_PID 0x1792 +#define MB2100_PID 0x1793 +#define G3000_PID 0x1794 +#define G2000_PID 0x1795 #define TS9000_PID 0x179f #define TS8000_PID 0x1800 #define TS6000_PID 0x1801 #define TS5000_PID 0x1802 #define MG3000_PID 0x180b #define E470_PID 0x180c -#define G3000_PID 0x181d +#define E410_PID 0x181e + +/* 2017 new devices (untested) */ +#define G4000_PID 0x181d +#define TS6100_PID 0x1822 +#define TS5100_PID 0x1825 +#define TS3100_PID 0x1827 +#define E3100_PID 0x1828 + +/* 2018 new devices (untested) */ +#define MB5400_PID 0x178f +#define MB5100_PID 0x1790 +#define TS9100_PID 0x1820 +#define TR8500_PID 0x1823 +#define TR7500_PID 0x1824 +#define TS9500_PID 0x185c +#define LIDE400_PID 0x1912 /* tested */ +#define LIDE300_PID 0x1913 /* tested */ + +/* 2019 new devices (untested) */ +#define TS8100_PID 0x1821 +#define G3010_PID 0x183b +#define G4010_PID 0x183d +#define TS9180_PID 0x183e +#define TS8180_PID 0x183f +#define TS6180_PID 0x1840 +#define TR8580_PID 0x1841 +#define TS8130_PID 0x1842 +#define TS6130_PID 0x1843 +#define TR8530_PID 0x1844 +#define TR7530_PID 0x1845 +#define XK50_PID 0x1846 +#define XK70_PID 0x1847 +#define TR4500_PID 0x1854 +#define E4200_PID 0x1855 +#define TS6200_PID 0x1856 +#define TS6280_PID 0x1857 +#define TS6230_PID 0x1858 +#define TS8200_PID 0x1859 +#define TS8280_PID 0x185a +#define TS8230_PID 0x185b +#define TS9580_PID 0x185d +#define TR9530_PID 0x185e +#define XK80_PID 0x1873 /* Generation 4 XML messages that encapsulates the Pixma protocol messages */ #define XML_START_1 \ @@ -387,6 +435,12 @@ is_scanning_from_adfdup (pixma_t * s) return (s->param->source == PIXMA_SOURCE_ADFDUP); } +static int +is_scanning_jpeg (pixma_t *s) +{ + return s->param->mode_jpeg; +} + static int is_scanning_from_tpu (pixma_t * s) { @@ -441,7 +495,7 @@ static int send_cmd_start_calibrate_ccd_3 (pixma_t * s) { mp150_t *mp = (mp150_t *) s->subdriver; - + pixma_newcmd (&mp->cb, cmd_start_calibrate_ccd_3, 0, 0); mp->cb.buf[3] = 0x01; return pixma_exec (s, &mp->cb); @@ -469,7 +523,7 @@ static int has_paper (pixma_t * s) { mp150_t *mp = (mp150_t *) s->subdriver; - + if (is_scanning_from_adfdup (s)) return (mp->current_status[1] == 0 || mp->current_status[2] == 0); else @@ -512,19 +566,19 @@ select_source (pixma_t * s) data[0] = 1; data[1] = 1; break; - + case PIXMA_SOURCE_ADF: data[0] = 2; data[5] = 1; data[6] = 1; break; - + case PIXMA_SOURCE_ADFDUP: data[0] = 2; data[5] = 3; data[6] = 3; break; - + case PIXMA_SOURCE_TPU: data[0] = 4; data[1] = 2; @@ -656,7 +710,7 @@ get_cis_ccd_line_size (pixma_t * s) return ((s->param->wx ? s->param->line_size / s->param->w * s->param->wx : s->param->line_size) * ((is_ccd_grayscale (s) || is_ccd_lineart (s)) ? 3 : 1)); } - + static unsigned calc_shifting (pixma_t * s) { @@ -683,7 +737,7 @@ calc_shifting (pixma_t * s) { mp->color_shift = s->param->ydpi / ((s->param->ydpi < 1200) ? 150 : 75); - if (is_scanning_from_tpu (s)) + if (is_scanning_from_tpu (s)) mp->color_shift = s->param->ydpi / 75; /* If you're trying to decipher this color-shifting code, @@ -714,7 +768,7 @@ send_scan_param (pixma_t * s) mp150_t *mp = (mp150_t *) s->subdriver; uint8_t *data; unsigned raw_width = calc_raw_width (mp, s->param); - unsigned h = MIN (s->param->h + calc_shifting (s), + unsigned h = MIN (s->param->h + calc_shifting (s), s->cfg->height * s->param->ydpi / 75); /* TPU scan does not support lineart */ @@ -762,7 +816,14 @@ send_scan_param (pixma_t * s) data[0x02] = 0x03; data[0x03] = 0x03; } - data[0x05] = 0x01; /* This one also seen at 0. Don't know yet what's used for */ + if (is_scanning_jpeg (s)) + { + data[0x03] = 0x01; + } + else + { + data[0x05] = 0x01; /* This one also seen at 0. Don't know yet what's used for */ + } pixma_set_be16 (s->param->xdpi | 0x8000, data + 0x08); pixma_set_be16 (s->param->ydpi | 0x8000, data + 0x0a); /*PDBG (pixma_dbg (4, "*send_scan_param gen. 3+ ***** Setting: xdpi=%hi ydpi=%hi x=%i y=%i w=%i ***** \n", @@ -772,7 +833,7 @@ send_scan_param (pixma_t * s) pixma_set_be32 (raw_width, data + 0x14); pixma_set_be32 (h, data + 0x18); data[0x1c] = ((s->param->channels != 1) || is_ccd_grayscale (s) || is_ccd_lineart (s)) ? 0x08 : 0x04; - + #ifdef DEBUG_TPU_48 data[0x1d] = 24; #else @@ -783,7 +844,14 @@ send_scan_param (pixma_t * s) data[0x1f] = 0x01; /* This one also seen at 0. Don't know yet what's used for */ data[0x20] = 0xff; - data[0x21] = 0x81; + if (is_scanning_jpeg (s)) + { + data[0x21] = 0x83; + } + else + { + data[0x21] = 0x81; + } data[0x23] = 0x02; data[0x24] = 0x01; @@ -882,6 +950,7 @@ read_image_block (pixma_t * s, uint8_t * header, uint8_t * data) return datalen; memcpy (header, mp->cb.buf, hlen); + if (datalen >= hlen) { datalen -= hlen; @@ -959,12 +1028,14 @@ handle_interrupt (pixma_t * s, int timeout) * tt: target * rr: scan resolution * poll event with 'scanimage -A' */ - if (s->cfg->pid == MG5400_PID + if (s->cfg->pid == MG5300_PID + || s->cfg->pid == MG5400_PID || s->cfg->pid == MG6200_PID || s->cfg->pid == MG6300_PID || s->cfg->pid == MX520_PID || s->cfg->pid == MX720_PID || s->cfg->pid == MX920_PID + || s->cfg->pid == MB2300_PID || s->cfg->pid == MB5000_PID) /* button no. in buf[7] * size in buf[10] 01=A4; 02=Letter; 08=10x15; 09=13x18; 0b=auto @@ -977,6 +1048,15 @@ handle_interrupt (pixma_t * s, int timeout) if (buf[7] & 2) s->events = PIXMA_EV_BUTTON2 | buf[11] | buf[10]<<8 | buf[12]<<16; /* b/w scan */ } + else if (s->cfg->pid == LIDE300_PID + || s->cfg->pid == LIDE400_PID) + /* unknown value in buf[4] + * target in buf[0x13] + * always set button-1 */ + { + if (buf[0x13]) + s->events = PIXMA_EV_BUTTON1 | buf[0x13]; + } else /* button no. in buf[0] * original in buf[0] @@ -1037,8 +1117,8 @@ wait_until_ready (pixma_t * s) WAIT_INTERRUPT (1000); if (mp->generation >= 3) RET_IF_ERR (query_status_3 (s)); - else if (s->cfg->pid == MP600_PID || - s->cfg->pid == MP600R_PID || + else if (s->cfg->pid == MP600_PID || + s->cfg->pid == MP600R_PID || s->cfg->pid == MP800R_PID) RET_IF_ERR (query_status (s)); if (--tmo == 0) @@ -1052,8 +1132,8 @@ wait_until_ready (pixma_t * s) } static uint8_t * -shift_colors (uint8_t * dptr, uint8_t * sptr, - unsigned w, unsigned dpi, unsigned pid, unsigned c, +shift_colors (uint8_t * dptr, uint8_t * sptr, + unsigned w, unsigned dpi, unsigned pid, unsigned c, int * colshft, unsigned strshft) { unsigned i, sr, sg, sb, st; @@ -1064,7 +1144,7 @@ shift_colors (uint8_t * dptr, uint8_t * sptr, { /* stripes shift for MP800, MP800R at 2400 dpi */ st = (i % 2 == 0) ? strshft : 0; - + *sptr++ = *(dptr++ + sr + st); if (c == 6) *sptr++ = *(dptr++ + sr + st); *sptr++ = *(dptr++ + sg + st); @@ -1076,7 +1156,7 @@ shift_colors (uint8_t * dptr, uint8_t * sptr, } static void -reorder_pixels (uint8_t * linebuf, uint8_t * sptr, unsigned c, unsigned n, +reorder_pixels (uint8_t * linebuf, uint8_t * sptr, unsigned c, unsigned n, unsigned m, unsigned w, unsigned line_size) { unsigned i; @@ -1095,7 +1175,7 @@ pack_48_24_bpc (uint8_t * sptr, unsigned n) unsigned i; uint8_t *cptr, lsb; static uint8_t offset = 0; - + cptr = sptr; if (n % 2 != 0) PDBG (pixma_dbg (3, "WARNING: misaligned image.\n")); @@ -1109,9 +1189,9 @@ pack_48_24_bpc (uint8_t * sptr, unsigned n) } #endif -/* This function deals both with PIXMA CCD sensors producing shifted color +/* This function deals both with PIXMA CCD sensors producing shifted color * planes images, Grayscale CCD scan and Generation >= 3 high dpi images. - * Each complete line in mp->imgbuf is processed for shifting CCD sensor + * Each complete line in mp->imgbuf is processed for shifting CCD sensor * color planes, reordering pixels above 600 dpi for Generation >= 3, and * converting to Grayscale for CCD sensors. */ static unsigned @@ -1121,19 +1201,28 @@ post_process_image_data (pixma_t * s, pixma_imagebuf_t * ib) unsigned c, lines, line_size, n, m, cw, cx; uint8_t *sptr, *dptr, *gptr, *cptr; + if (s->param->mode_jpeg) + { + /* No post-processing, send raw JPEG data to main */ + ib->rptr = mp->imgbuf; + ib->rend = mp->data_left_ofs; + return 0; /* # of non processed bytes */ + } + + c = ((is_ccd_grayscale (s) || is_ccd_lineart (s)) ? 3 : s->param->channels) * ((s->param->software_lineart) ? 8 : s->param->depth) / 8; cw = c * s->param->w; cx = c * s->param->xs; - + if (mp->generation >= 3) n = s->param->xdpi / 600; else /* FIXME: maybe need different values for CIS and CCD sensors */ n = s->param->xdpi / 2400; - - if (s->cfg->pid == MP600_PID || s->cfg->pid == MP600R_PID) + + if (s->cfg->pid == MP600_PID || s->cfg->pid == MP600R_PID) n = s->param->xdpi / 1200; - + m = (n > 0) ? s->param->wx / n : 1; sptr = dptr = gptr = cptr = mp->imgbuf; line_size = get_cis_ccd_line_size (s); @@ -1153,38 +1242,33 @@ post_process_image_data (pixma_t * s, pixma_imagebuf_t * ib) /*PDBG (pixma_dbg (4, "*post_process_image_data***** Processing with c=%u, n=%u, m=%u, w=%i, line_size=%u ***** \n", c, n, m, s->param->wx, line_size));*/ if (s->cfg->pid != MG5300_PID && s->cfg->pid != MG6300_PID && c >= 3) - dptr = shift_colors (dptr, sptr, + dptr = shift_colors (dptr, sptr, s->param->wx, s->param->xdpi, s->cfg->pid, c, mp->shift, mp->stripe_shift); - - /* special image format for *most* devices at high dpi. - * MP220, MX360, MX370, MX890, MG5300 are exceptions */ + + /* special image format for *most* devices at high dpi. + * MP220, MX360 and generation 5 scanners are exceptions */ if (n > 0 && s->cfg->pid != MP220_PID + && s->cfg->pid != MP490_PID && s->cfg->pid != MX360_PID - && s->cfg->pid != MX370_PID - && s->cfg->pid != MX530_PID - && s->cfg->pid != MX890_PID - && s->cfg->pid != MX720_PID - && s->cfg->pid != MX920_PID - && s->cfg->pid != MG3100_PID - && s->cfg->pid != MG3500_PID - && s->cfg->pid != MG3600_PID - && s->cfg->pid != MG2100_PID - && s->cfg->pid != MG5300_PID - && s->cfg->pid != MG5400_PID - && s->cfg->pid != MG5500_PID - && s->cfg->pid != MG6300_PID - && s->cfg->pid != MG6400_PID - && s->cfg->pid != MG7100_PID - && s->cfg->pid != MG7500_PID - && s->cfg->pid != MG7700_PID - && s->cfg->pid != MB5000_PID) + && (mp->generation < 5 + /* generation 5 scanners *with* special image format */ + || s->cfg->pid == MG2200_PID + || s->cfg->pid == MG3200_PID + || s->cfg->pid == MG4200_PID + || s->cfg->pid == MG5600_PID + || s->cfg->pid == MG5700_PID + || s->cfg->pid == MG6200_PID + || s->cfg->pid == MP230_PID + || s->cfg->pid == MX470_PID + || s->cfg->pid == MX510_PID + || s->cfg->pid == MX520_PID)) reorder_pixels (mp->linebuf, sptr, c, n, m, s->param->wx, line_size); - + /* Crop line to selected borders */ memmove(cptr, sptr + cx, cw); - + /* Color / Gray to Lineart convert */ if (s->param->software_lineart) cptr = gptr = pixma_binarize_line (s->param, gptr, cptr, s->param->w, c); @@ -1237,10 +1321,13 @@ mp150_open (pixma_t * s) if (s->cfg->pid >= MP250_PID) mp->generation = 4; + if (s->cfg->pid >= MG2100_PID) /* this scanners generation doesn't need */ + mp->generation = 5; /* special image conversion @ high dpi */ + /* And exceptions to be added here */ if (s->cfg->pid == MP140_PID) mp->generation = 2; - + PDBG (pixma_dbg (3, "*mp150_open***** This is a generation %d scanner. *****\n", mp->generation)); /* TPU info data setup */ @@ -1253,7 +1340,7 @@ mp150_open (pixma_t * s) { query_status (s); handle_interrupt (s, 200); - if (mp->generation == 3 && has_ccd_sensor (s)) + if (mp->generation == 3 && has_ccd_sensor (s)) send_cmd_start_calibrate_ccd_3 (s); } return 0; @@ -1324,14 +1411,16 @@ mp150_check_param (pixma_t * s, pixma_scan_param_t * sp) sp->wx = calc_raw_width (mp, sp); sp->line_size = sp->w * sp->channels * (((sp->software_lineart) ? 8 : sp->depth) / 8); /* bytes per line per color after cropping */ /*PDBG (pixma_dbg (4, "*mp150_check_param***** Final scan width and line-size: %i, %i *****\n", sp->wx, sp->line_size));*/ - + /* Some exceptions here for particular devices */ /* Those devices can scan up to legal 14" with ADF, but A4 11.7" in flatbed */ /* PIXMA_CAP_ADF also works for PIXMA_CAP_ADFDUP */ if ((s->cfg->cap & PIXMA_CAP_ADF) && sp->source == PIXMA_SOURCE_FLATBED) sp->h = MIN (sp->h, 877 * sp->xdpi / 75); - - if (sp->source == PIXMA_SOURCE_TPU) + + if (sp->source == PIXMA_SOURCE_TPU + || s->cfg->pid == LIDE300_PID + || s->cfg->pid == LIDE400_PID) { uint8_t k; @@ -1340,10 +1429,10 @@ mp150_check_param (pixma_t * s, pixma_scan_param_t * sp) k = MAX (sp->xdpi, 300) / sp->xdpi; else k = MAX (sp->xdpi, 150) / sp->xdpi; - sp->x *= k; + sp->x *= k; sp->xs *= k; sp->y *= k; - sp->w *= k; + sp->w *= k; sp->wx *= k; sp->h *= k; sp->xdpi *= k; @@ -1354,7 +1443,7 @@ mp150_check_param (pixma_t * s, pixma_scan_param_t * sp) { uint8_t k = 1; - /* ADF/ADF duplex mode: max scan res is 600 dpi, at least for generation 4 */ + /* ADF/ADF duplex mode: max scan res is 600 dpi, at least for generation 4+ */ if (mp->generation >= 4) k = sp->xdpi / MIN (sp->xdpi, 600); sp->x /= k; @@ -1367,6 +1456,10 @@ mp150_check_param (pixma_t * s, pixma_scan_param_t * sp) sp->ydpi = sp->xdpi; } + sp->mode_jpeg = (s->cfg->cap & PIXMA_CAP_ADF_JPEG) && + (sp->source == PIXMA_SOURCE_ADF || + sp->source == PIXMA_SOURCE_ADFDUP); + /*PDBG (pixma_dbg (4, "*mp150_check_param***** Finally: channels=%u, depth=%u, x=%u, y=%u, w=%u, h=%u, xs=%u, wx=%u *****\n", sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->h, sp->xs, sp->wx));*/ return 0; @@ -1381,9 +1474,15 @@ mp150_scan (pixma_t * s) if (mp->state != state_idle) return PIXMA_EBUSY; - /* Generation 4: send XML dialog */ + /* no paper inserted after first adf page => abort session */ + if (s->param->adf_pageid && is_scanning_from_adf(s) && mp->adf_state == state_idle) + { + return PIXMA_ENO_PAPER; + } + + /* Generation 4+: send XML dialog */ /* adf: first page or idle */ - if (mp->generation == 4 && mp->adf_state == state_idle) + if (mp->generation >= 4 && mp->adf_state == state_idle) { if (!send_xml_dialog (s, XML_START_1)) return PIXMA_EPROTO; @@ -1423,9 +1522,9 @@ mp150_scan (pixma_t * s) if (error < 0) return error; - /* Generation 4: send XML dialog */ + /* Generation 4+: send XML dialog */ /* adf: first page or idle */ - if (mp->generation == 4 && mp->adf_state == state_idle) + if (mp->generation >= 4 && mp->adf_state == state_idle) { if (!send_xml_dialog (s, XML_END)) return PIXMA_EPROTO; @@ -1442,14 +1541,14 @@ mp150_scan (pixma_t * s) { case PIXMA_ECANCELED: case PIXMA_EBUSY: - PDBG (pixma_dbg (2, "cmd e920 or d520 returned %s\n", + PDBG (pixma_dbg (2, "cmd e920 or d520 returned %s\n", pixma_strerror (error))); /* fall through */ case 0: query_status (s); break; default: - PDBG (pixma_dbg (1, "WARNING:cmd e920 or d520 failed %s\n", + PDBG (pixma_dbg (1, "WARNING:cmd e920 or d520 failed %s\n", pixma_strerror (error))); return error; } @@ -1496,7 +1595,7 @@ mp150_scan (pixma_t * s) error = select_source (s); if ((error >= 0) && (mp->generation >= 3) && has_ccd_sensor (s)) error = init_ccd_lamp_3 (s); - if ((error >= 0) && !is_scanning_from_tpu (s)) + if ((error >= 0) && !is_scanning_from_tpu (s) && !is_scanning_jpeg (s)) { int i; @@ -1511,8 +1610,6 @@ mp150_scan (pixma_t * s) PDBG (pixma_dbg (4, "*mp150_scan***** scan next sheet from ADF *****\n")); pixma_sleep (1000000); } - - if ((error >= 0) || (mp->generation >= 3)) mp->state = state_warmup; if (error >= 0) @@ -1610,7 +1707,7 @@ mp150_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) #endif bytes_received = pack_48_24_bpc (mp->imgbuf + mp->data_left_len, bytes_received); #endif -#endif +#endif /* Post-process the image data */ mp->data_left_ofs = mp->imgbuf + mp->data_left_len + bytes_received; mp->data_left_len = post_process_image_data (s, ib); @@ -1638,7 +1735,7 @@ mp150_finish_scan (pixma_t * s) /* Send the get TPU info message */ if (is_scanning_from_tpu (s) && mp->tpu_datalen == 0) send_get_tpu_info_3 (s); - /* FIXME: to process several pages ADF scan, must not send + /* FIXME: to process several pages ADF scan, must not send * abort_session and start_session between pages (last_block=0x28) */ if (mp->generation <= 2 || !is_scanning_from_adf (s) || mp->last_block == 0x38) { @@ -1647,8 +1744,8 @@ mp150_finish_scan (pixma_t * s) if (error < 0) PDBG (pixma_dbg (1, "WARNING:abort_session() failed %d\n", error)); - /* Generation 4: send XML end of scan dialog */ - if (mp->generation == 4) + /* Generation 4+: send XML end of scan dialog */ + if (mp->generation >= 4) { if (!send_xml_dialog (s, XML_END)) PDBG (pixma_dbg (1, "WARNING:XML_END dialog failed \n")); @@ -1793,7 +1890,7 @@ const pixma_config_t pixma_mp150_devices[] = { DEVICE ("Canon PIXMA MG5200", "MG5200", MG5200_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), DEVICE ("Canon PIXMA MG6100", "MG6100", MG6100_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - /* Latest devices (2011) Generation 4 CIS/CCD */ + /* Latest devices (2011) Generation 5 CIS/CCD */ DEVICE ("Canon PIXMA MG2100", "MG2100", MG2100_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), DEVICE ("Canon PIXMA MG3100", "MG3100", MG3100_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), DEVICE ("Canon PIXMA MG4100", "MG4100", MG4100_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), @@ -1802,7 +1899,7 @@ const pixma_config_t pixma_mp150_devices[] = { DEVICE ("Canon PIXMA MP493", "MP493", MP493_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), DEVICE ("Canon PIXMA E500", "E500", E500_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - /* Latest devices (2012) Generation 4 CIS */ + /* Latest devices (2012) Generation 5 CIS */ DEVICE ("Canon PIXMA MX370 Series", "MX370", MX370_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), DEVICE ("Canon PIXMA MX430 Series", "MX430", MX430_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), DEVICE ("Canon PIXMA MX510 Series", "MX510", MX510_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), @@ -1811,7 +1908,7 @@ const pixma_config_t pixma_mp150_devices[] = { DEVICE ("Canon PIXMA E600 Series", "E600", E600_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), DEVICE ("Canon PIXMA MG4200", "MG4200", MG4200_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - /* Latest devices (2013) Generation 4 CIS */ + /* Latest devices (2013) Generation 5 CIS */ DEVICE ("Canon PIXMA E510", "E510", E510_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), DEVICE ("Canon PIXMA E610", "E610", E610_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), DEVICE ("Canon PIXMA MP230", "MP230", MP230_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), @@ -1832,13 +1929,15 @@ const pixma_config_t pixma_mp150_devices[] = { DEVICE ("Canon PIXMA MG6500 Series", "MG6500", MG6500_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), DEVICE ("Canon PIXMA MG7100 Series", "MG7100", MG7100_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - /* Latest devices (2014) Generation 4 CIS */ + /* Latest devices (2014) Generation 5 CIS */ DEVICE ("Canon PIXMA MX470 Series", "MX470", MX470_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), DEVICE ("Canon PIXMA MX530 Series", "MX530", MX530_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), DEVICE ("Canon MAXIFY MB5000 Series", "MB5000", MB5000_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), DEVICE ("Canon MAXIFY MB5300 Series", "MB5300", MB5300_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), DEVICE ("Canon MAXIFY MB2000 Series", "MB2000", MB2000_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - DEVICE ("Canon MAXIFY MB2300 Series", "MB2300", MB2300_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), + DEVICE ("Canon MAXIFY MB2100 Series", "MB2100", MB2100_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF | PIXMA_CAP_ADF_JPEG), + DEVICE ("Canon MAXIFY MB2300 Series", "MB2300", MB2300_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon MAXIFY MB2700 Series", "MB2700", MB2700_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF | PIXMA_CAP_ADF_JPEG), DEVICE ("Canon PIXMA E400", "E400", E400_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), DEVICE ("Canon PIXMA E560", "E560", E560_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), DEVICE ("Canon PIXMA MG7500 Series", "MG7500", MG7500_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), @@ -1847,7 +1946,7 @@ const pixma_config_t pixma_mp150_devices[] = { DEVICE ("Canon PIXMA MG2900 Series", "MG2900", MG2900_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), DEVICE ("Canon PIXMA E460 Series", "E460", E460_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - /* Latest devices (2015) Generation 4 CIS */ + /* Latest devices (2015) Generation 5 CIS */ DEVICE ("Canon PIXMA MX490 Series", "MX490", MX490_PID, 600, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), DEVICE ("Canon PIXMA E480 Series", "E480", E480_PID, 600, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), DEVICE ("Canon PIXMA MG3600 Series", "MG3600", MG3600_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), @@ -1856,14 +1955,59 @@ const pixma_config_t pixma_mp150_devices[] = { DEVICE ("Canon PIXMA MG6800 Series", "MG6800", MG6800_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), DEVICE ("Canon PIXMA MG5700 Series", "MG5700", MG5700_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - /* Latest devices (2016) Generation 4 CIS */ - DEVICE ("Canon PIXMA TS9000 Series", "TS9000", TS9000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS8000 Series", "TS8000", TS8000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS6000 Series", "TS6000", TS6000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS5000 Series", "TS5000", TS5000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + /* Latest devices (2016) Generation 5 CIS */ + DEVICE ("Canon PIXMA G3000", "G3000", G3000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA G2000", "G2000", G2000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS9000 Series", "TS9000", TS9000_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS8000 Series", "TS8000", TS8000_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6000 Series", "TS6000", TS6000_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS5000 Series", "TS5000", TS5000_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), DEVICE ("Canon PIXMA MG3000 Series", "MG3000", MG3000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), DEVICE ("Canon PIXMA E470 Series", "E470", E470_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA G4000 Series", "G3000", G3000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA E410 Series", "E410", E410_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2017) Generation 5 CIS */ + DEVICE ("Canon PIXMA G4000", "G4000", G4000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6100 Series", "TS6100", TS6100_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS5100 Series", "TS5100", TS5100_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS3100 Series", "TS3100", TS3100_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA E3100 Series", "E3100", E3100_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2018) Generation 5 CIS */ + DEVICE ("Canon MAXIFY MB5400 Series", "MB5400", MB5400_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), + DEVICE ("Canon MAXIFY MB5100 Series", "MB5100", MB5100_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), + DEVICE ("Canon PIXMA TS9100 Series", "TS9100", TS9100_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TR8500 Series", "TR8500", TR8500_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TR7500 Series", "TR7500", TR7500_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TS9500 Series", "TS9500", TS9500_PID, 1200, 0, 600, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("CanoScan LiDE 400", "LIDE400", LIDE400_PID, 4800, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("CanoScan LiDE 300", "LIDE300", LIDE300_PID, 4800, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2019) Generation 5 CIS */ + DEVICE ("Canon PIXMA TS8100 Series", "TS8100", TS8100_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA G3010 Series", "G3010", G3010_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA G4010 Series", "G4010", G4010_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TS9180 Series", "TS9180", TS9180_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS8180 Series", "TS8180", TS8180_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6180 Series", "TS6180", TS6180_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TR8580 Series", "TR8580", TR8580_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TS8130 Series", "TS8130", TS8130_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6130 Series", "TS6130", TS6130_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TR8530 Series", "TR8530", TR8530_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TR7530 Series", "TR7530", TR7530_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXUS XK50 Series", "XK50", XK50_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXUS XK70 Series", "XK70", XK70_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TR4500 Series", "TR4500", TR4500_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA E4200 Series", "E4200", E4200_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TS6200 Series", "TS6200", TS6200_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6280 Series", "TS6280", TS6280_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6230 Series", "TS6230", TS6230_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS8200 Series", "TS8200", TS8200_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS8280 Series", "TS8280", TS8280_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS8230 Series", "TS8230", TS8230_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS9580 Series", "TS9580", TS9580_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TR9530 Series", "TR9530", TR9530_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXUS XK80 Series", "XK80", XK80_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), END_OF_DEVICE_LIST }; diff --git a/backend/pixma_mp730.c b/backend/pixma_mp730.c index 6bf3f42..c801daa 100644 --- a/backend/pixma_mp730.c +++ b/backend/pixma_mp730.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2016 Rolf Bensch + Copyright (C) 2011-2019 Rolf Bensch Copyright (C) 2007-2008 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -442,10 +442,10 @@ step1 (pixma_t * s) default: break; } - + activate (s, 0); error = calibrate (s); - + switch (s->cfg->pid) { case MF5730_PID: @@ -836,7 +836,7 @@ const pixma_config_t pixma_mp730_devices[] = { DEVICE ("PIXMA MP710", "MP710", MP710_PID, 1200, 637, 868, PIXMA_CAP_LINEART), DEVICE ("PIXMA MP730", "MP730", MP730_PID, 1200, 637, 868, PIXMA_CAP_ADF | PIXMA_CAP_LINEART), DEVICE ("PIXMA MP740", "MP740", MP740_PID, 1200, 637, 868, PIXMA_CAP_ADF | PIXMA_CAP_LINEART), - + DEVICE ("Canon imageCLASS MF5730", "MF5730", MF5730_PID, 1200, 636, 868, PIXMA_CAP_ADF), DEVICE ("Canon imageCLASS MF5750", "MF5750", MF5750_PID, 1200, 636, 868, PIXMA_CAP_ADF), DEVICE ("Canon imageCLASS MF5770", "MF5770", MF5770_PID, 1200, 636, 868, PIXMA_CAP_ADF), diff --git a/backend/pixma_mp750.c b/backend/pixma_mp750.c index c5ac335..5bd6ef0 100644 --- a/backend/pixma_mp750.c +++ b/backend/pixma_mp750.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2016 Rolf Bensch + Copyright (C) 2011-2019 Rolf Bensch Copyright (C) 2006-2007 Wittawat Yamwong This file is part of the SANE package. @@ -229,8 +229,8 @@ is_ccd_grayscale (pixma_t * s) static unsigned get_cis_ccd_line_size (pixma_t * s) { - return (s->param->wx ? s->param->line_size / s->param->w * s->param->wx - : s->param->line_size) * ((is_ccd_grayscale (s)) ? 3 : 1); + return (s->param->wx ? s->param->line_size / s->param->w * s->param->wx + : s->param->line_size) * ((is_ccd_grayscale (s)) ? 3 : 1); } static int @@ -829,17 +829,17 @@ mp750_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) /* Color to Grayscale converion for CCD sensor */ if (is_ccd_grayscale (s)) { - shift_rgb (mp->rawimg, n, shift[0], shift[1], shift[2], mp->stripe_shift, mp->line_size, - mp->imgcol + mp->imgbuf_ofs); + shift_rgb (mp->rawimg, n, shift[0], shift[1], shift[2], mp->stripe_shift, mp->line_size, + mp->imgcol + mp->imgbuf_ofs); /* dst: img, src: imgcol */ - rgb_to_gray (mp->img, mp->imgcol, n, c); /* cropping occurs later? */ + rgb_to_gray (mp->img, mp->imgcol, n, c); /* cropping occurs later? */ PDBG (pixma_dbg (4, "*fill_buffer: did grayscale conversion \n")); } /* Color image processing */ else { - shift_rgb (mp->rawimg, n, shift[0], shift[1], shift[2], mp->stripe_shift, mp->line_size, + shift_rgb (mp->rawimg, n, shift[0], shift[1], shift[2], mp->stripe_shift, mp->line_size, mp->img + mp->imgbuf_ofs); - PDBG (pixma_dbg (4, "*fill_buffer: no grayscale conversion---keep color \n")); + PDBG (pixma_dbg (4, "*fill_buffer: no grayscale conversion---keep color \n")); } /* entering remaining unprocessed bytes after last complete pixel into mp->rawimg buffer -- no influence on mp->img */ @@ -852,7 +852,7 @@ mp750_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) } while (mp->shifted_bytes <= 0); - if ((unsigned) mp->shifted_bytes < mp->last_block_size) + if ((unsigned) mp->shifted_bytes < mp->last_block_size) { if (is_ccd_grayscale (s)) ib->rptr = mp->img + mp->last_block_size/3 - mp->shifted_bytes/3; /* testing---works OK */ @@ -864,7 +864,7 @@ mp750_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) if (is_ccd_grayscale (s)) ib->rend = mp->img + mp->last_block_size/3; /* testing---works OK */ else - ib->rend = mp->img + mp->last_block_size; + ib->rend = mp->img + mp->last_block_size; return ib->rend - ib->rptr; } diff --git a/backend/pixma_mp810.c b/backend/pixma_mp810.c index b03bebc..5d81e3f 100644 --- a/backend/pixma_mp810.c +++ b/backend/pixma_mp810.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2016 Rolf Bensch + Copyright (C) 2011-2019 Rolf Bensch Copyright (C) 2007-2009 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -1531,9 +1531,9 @@ pack_48_24_bpc (uint8_t * sptr, unsigned n) } #endif -/* This function deals both with PIXMA CCD sensors producing shifted color +/* This function deals both with PIXMA CCD sensors producing shifted color * planes images, Grayscale CCD scan and Generation >= 3 high dpi images. - * Each complete line in mp->imgbuf is processed for shifting CCD sensor + * Each complete line in mp->imgbuf is processed for shifting CCD sensor * color planes, reordering pixels above 600 dpi for Generation >= 3, and * converting to Grayscale for CCD sensors. */ static unsigned post_process_image_data (pixma_t * s, pixma_imagebuf_t * ib) @@ -2251,7 +2251,7 @@ static int mp810_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) #endif bytes_received = pack_48_24_bpc (mp->imgbuf + mp->data_left_len, bytes_received); #endif -#endif +#endif /* Post-process the image data */ mp->data_left_ofs = mp->imgbuf + mp->data_left_len + bytes_received; mp->data_left_len = post_process_image_data (s, ib); @@ -2280,7 +2280,7 @@ static void mp810_finish_scan (pixma_t * s) /* Send the get TPU info message */ if (is_scanning_from_tpu (s) && mp->tpu_datalen == 0) send_get_tpu_info_3 (s); - /* FIXME: to process several pages ADF scan, must not send + /* FIXME: to process several pages ADF scan, must not send * abort_session and start_session between pages (last_block=0x28) */ if (mp->generation <= 2 || !is_scanning_from_adf (s) || mp->last_block == 0x38) diff --git a/backend/pixma_sane_options.c b/backend/pixma_sane_options.c index 2e4a054..6e6abfc 100644 --- a/backend/pixma_sane_options.c +++ b/backend/pixma_sane_options.c @@ -1,13 +1,13 @@ /* Automatically generated from pixma_sane.c */ -static const SANE_Range constraint_gamma_table = +static const SANE_Range constraint_gamma_table = { 0,255,0 }; -static const SANE_Range constraint_gamma = +static const SANE_Range constraint_gamma = { SANE_FIX(0.3),SANE_FIX(5),SANE_FIX(0) }; -static const SANE_Range constraint_threshold = +static const SANE_Range constraint_threshold = { 0,100,1 }; -static const SANE_Range constraint_threshold_curve = +static const SANE_Range constraint_threshold_curve = { 0,127,1 }; -static const SANE_Range constraint_adf_wait = +static const SANE_Range constraint_adf_wait = { 0,3600,1 }; @@ -360,4 +360,3 @@ int build_option_descriptors(struct pixma_sane_t *ss) return 0; } - diff --git a/backend/pixma_sane_options.h b/backend/pixma_sane_options.h index 669a234..1472f1f 100644 --- a/backend/pixma_sane_options.h +++ b/backend/pixma_sane_options.h @@ -49,4 +49,3 @@ typedef struct { struct pixma_sane_t; static int build_option_descriptors(struct pixma_sane_t *ss); - diff --git a/backend/plustek-pp.h b/backend/plustek-pp.h index 3c052f2..5a1c453 100644 --- a/backend/plustek-pp.h +++ b/backend/plustek-pp.h @@ -566,7 +566,7 @@ typedef struct Plustek_Device SANE_Int res_list_size; /* resolution values */ ScannerCaps caps; /* caps reported by the driver */ AdjDef adj; /* for driver adjustment */ - + /* * each device we support may need other access functions... */ @@ -612,9 +612,9 @@ typedef struct Plustek_Scanner SANE_Byte *buf; /* the image buffer */ SANE_Bool scanning; /* TRUE during scan-process */ SANE_Parameters params; /* for keeping the parameter */ - + /************************** gamma tables *********************************/ - + SANE_Word gamma_table[4][4096]; SANE_Range gamma_range; int gamma_length; @@ -626,7 +626,7 @@ typedef struct Plustek_Scanner /** for collecting configuration info... */ typedef struct { - + char devName[PATH_MAX]; /* contains the stuff to adjust... */ diff --git a/backend/plustek-pp_dac.c b/backend/plustek-pp_dac.c index f89d814..f0cfe40 100644 --- a/backend/plustek-pp_dac.c +++ b/backend/plustek-pp_dac.c @@ -311,7 +311,7 @@ static void dacP98CheckLastGain( pScanData ps ) if (b[w] < *p.pb) b[w] = *p.pb; } - + if (b[w] > _GAIN_P98_HIGH) { *(pbReg [w]) -= 1; } @@ -643,7 +643,7 @@ static void dacP98WriteBackToShadingRAM( pScanData ps ) *pBuffer = Data.wValue; pBuffer++; } - + } dacP98DownloadShadingTable( ps, ps->pScanBuffer2, (5400 * 2 * 3)); } @@ -763,7 +763,7 @@ static void dacP98Adjust12BitShading( pScanData ps ) *pt.pdw += (ULong)(*pd.pw * 94 / 100 & 0x0fff); /* one line */ - if (IOReadFifoLength( ps ) <= 2500) + if (IOReadFifoLength( ps ) <= 2500) IORegisterDirectToScanner( ps, ps->RegRefreshScanState ); } @@ -782,7 +782,7 @@ static Bool dacP98WaitForShading( pScanData ps ) DBG( DBG_LOW, "dacP98WaitForShading()\n" ); - /* + /* * before getting the shading data, (re)init the ASIC */ ps->InitialSetCurrentSpeed( ps ); @@ -1079,7 +1079,7 @@ static void dacP96ReadColorShadingLine( pScanData ps ) } } else b2ndDiscard--; - + if (!b3rdDiscard) { if (b3rdReadLines) { b3rdReadLines--; @@ -1159,7 +1159,7 @@ static void dacP96SetShadingGainProc( pScanData ps, Byte bHigh, ULong dwCh ) ps->Asic96Reg.RD_ShadingCorrectCtrl &= bMask; ps->Asic96Reg.RD_ShadingCorrectCtrl |= bGain; - if (!bGain) { + if (!bGain) { /* GammaGain1 (ps) */ for (dw = ps->BufferSizePerModel; dw; dw--, pbSrce++, pbDest++) if (*pbSrce > bDark) @@ -1334,7 +1334,7 @@ static Bool dacP96003WaitForShading( pScanData ps ) dacP96SetInitialGainRAM( ps ); /* SetInitialGainRegister () ++++++++++++++++++++++++++++++++++++*/ - ps->Asic96Reg.u28.RD_RedChShadingOff = + ps->Asic96Reg.u28.RD_RedChShadingOff = ps->Asic96Reg.u29.RD_GreenChShadingOff = ps->Asic96Reg.RD_BlueChShadingOff = ps->Asic96Reg.RD_RedChDarkOff = @@ -1694,7 +1694,7 @@ static Bool dacP96001WaitForShading( pScanData ps ) /* AverageWideBank (pScanData) */ for( dwSum = 0, dw = 0; dw < 2700; dw++ ) dwSum += (ULong)ps->pPrescan16[dw]; - + dwSum /= 2700UL; if( dwSum <= 0x80 ) { @@ -1860,7 +1860,7 @@ static void dacP98003AdjustRGBGain( pScanData ps ) /* PauseColorMotorRunStates () */ memset( ps->a_nbNewAdrPointer, 0, _SCANSTATE_BYTES ); - ps->a_nbNewAdrPointer[1] = 0x77; + ps->a_nbNewAdrPointer[1] = 0x77; IOPutOnAllRegisters( ps ); @@ -2221,7 +2221,7 @@ static void dacP98003AdjustShadingWaveform( pScanData ps ) } else pwsum->Red = 0; - if((short)(pwsum->Green -= ps->Shade.DarkOffset.Colors.Green) > 0) { + if((short)(pwsum->Green -= ps->Shade.DarkOffset.Colors.Green) > 0) { pwsum->Green = pwsum->Green * pRGB->Green / 100U; if( pwsum->Green > 0xfff ) pwsum->Green = 0xfff; @@ -2312,7 +2312,7 @@ static void dacP98003AdjustDark( pScanData ps ) /* PauseColorMotorRunStates () */ memset( ps->a_nbNewAdrPointer, 0, _SCANSTATE_BYTES ); - ps->a_nbNewAdrPointer[1] = 0x77; + ps->a_nbNewAdrPointer[1] = 0x77; IOPutOnAllRegisters( ps ); _DODELAY( 70 ); @@ -2374,7 +2374,7 @@ static Bool dacP98003WaitForShading( pScanData ps ) DBG( DBG_LOW, "dacP98003WaitForShading()\n" ); - /* + /* * before getting the shading data, (re)init the ASIC */ ps->ReInitAsic( ps, _TRUE ); @@ -2501,7 +2501,7 @@ _LOC void DacP98FillShadingDarkToShadingRegister( pScanData ps ) pValue = (pUChar)&ps->AsicReg.RD_RedDarkOff; for (bReg = ps->RegRedChDarkOffsetLow; bReg <= ps->RegBlueChDarkOffsetHigh; bReg++, pValue++) { - + IODataToRegister( ps, bReg, *pValue ); } } diff --git a/backend/plustek-pp_detect.c b/backend/plustek-pp_detect.c index 51fad69..b7527c3 100644 --- a/backend/plustek-pp_detect.c +++ b/backend/plustek-pp_detect.c @@ -161,8 +161,8 @@ static int detectScannerConnection( pScanData ps ) _ASSERT( ps->ReadWriteTest ); /* - * here we try to detect the operation speed of our parallel - * port if we have tested all the stuff and had no success, + * here we try to detect the operation speed of our parallel + * port if we have tested all the stuff and had no success, * retval will contain the error-code */ for( ps->IO.delay = 0; ps->IO.delay < 5; ps->IO.delay++ ) { @@ -211,11 +211,11 @@ static int detectSetupBuffers( pScanData ps ) */ if ( 0 == ps->TotalBufferRequire ) { -#ifdef __KERNEL__ +#ifdef __KERNEL__ _PRINT( #else DBG( DBG_HIGH, -#endif +#endif "pt_drv: asic 0x%x probably not supported\n", ps->sCaps.AsicID); return _E_ALLOC; /* Out of memory */ @@ -419,7 +419,7 @@ _LOC int DetectScanner( pScanData ps, int mode ) DBG( DBG_HIGH, "Starting Scanner-Autodetection\n" ); - /* try to find a 48xx Scanner + /* try to find a 48xx Scanner * (or even a scanner based on the 96001/3) ASIC */ result = detectP48xx( ps ); diff --git a/backend/plustek-pp_image.c b/backend/plustek-pp_image.c index c1ef743..c7d2db2 100644 --- a/backend/plustek-pp_image.c +++ b/backend/plustek-pp_image.c @@ -107,7 +107,7 @@ static ThreshDef xferSpeed[4] = { /** return the correct DPI-value * The ASIC 96001/3 models are limited to an optical resolution of 300 Dpi - * so its necessary to scale in X and Y direction (see scale.c)! + * so it´s necessary to scale in X and Y direction (see scale.c)! */ static UShort imageGetPhysDPI( pScanData ps, pImgDef pImgInf, Bool fDpiX ) { @@ -287,7 +287,7 @@ static void fnP96GrayDirect( pScanData ps, pVoid pBuf, pVoid pImg, ULong bl ) src = (pUChar)pImg; dest = (pUChar)pBuf; - + for (; bl; bl--, src++, dest++ ) *dest = ps->pbMapRed [*src]; } @@ -315,7 +315,7 @@ static void fnHalftoneDirect0( pScanData ps, pVoid pb, pVoid pImg, ULong bL ) src = (pUChar)pImg; dest = (pUChar)pb; - + pDither = &ps->a_bDitherPattern[ps->dwDitherIndex]; for( ; bL; bL--, dest++, pDither -= 8 ) { @@ -365,10 +365,10 @@ static void fnP98ColorDirect( pScanData ps, pVoid pb, pVoid pImg, ULong bL ) { pUChar src; pRGBByteDef dest; - + src = (pUChar)pImg; dest = (pRGBByteDef)pb; - + for ( bL = ps->DataInf.dwAsicPixelsPerPlane; bL; bL--, src++, dest++) { dest->Red = *src; @@ -384,7 +384,7 @@ static void fnP96ColorDirect( pScanData ps, pVoid pb, pVoid pImg, ULong bL ) src = (pUChar)pImg; dest = (pRGBByteDef)pb; - + for ( bL = ps->DataInf.dwAsicPixelsPerPlane; bL; bL--, dest++, src++) { dest->Red =ps->pbMapRed[*src]; @@ -400,13 +400,13 @@ static void fnP98Color48( pScanData ps, pVoid pb, pVoid pImg, ULong bL ) { pUShort src; pRGBUShortDef dest; - + register ULong i; _VAR_NOT_USED( bL ); src = (pUShort)pImg; dest = (pRGBUShortDef)pb; - + for ( i = ps->DataInf.dwAsicPixelsPerPlane; i; i--, src++, dest++) { dest->Red = *src; @@ -960,7 +960,7 @@ static Bool imageP96ReadOneImageLine( pScanData ps ) if ((bData - ps->bCurrentLineCount) < _SCANSTATE_BYTES) continue; } - + ps->bMoveDataOutFlag = _DataAfterRefreshState; } #endif @@ -977,7 +977,7 @@ static Bool imageP96ReadOneImageLine( pScanData ps ) (ps->RedDataReady | ps->GreenDataReady | _BLUE_DATA_READY)); ps->pCurrentColorRunTable++); -#ifdef DEBUG +#ifdef DEBUG if( ps->pCurrentColorRunTable > (ps->pColorRunTable+ps->BufferForColorRunTable)) DBG( DBG_LOW, "WARNING: pCurrentColorRunTab>pColorRunTable\n"); @@ -1216,7 +1216,7 @@ static Bool imageP98003DataIsReady( pScanData ps ) IORegisterToScanner( ps, ps->RegRefreshScanState ); /* direct is done here without copying...*/ - if( fnDataDirect != ps->Scan.DataProcess ) { + if( fnDataDirect != ps->Scan.DataProcess ) { (*ps->Scan.DataProcess)(ps, (pVoid)(ps->Scan.bp.pMonoBuf ), (pVoid)(ps->Scan.BufPut.red.bp), ps->DataInf.dwAppPhyBytesPerLine); @@ -1290,7 +1290,7 @@ static Bool imageP98003ReadOneImageLine( pScanData ps ) } while( !MiscCheckTimer( &timer )); -#ifdef __KERNEL__ +#ifdef __KERNEL__ _PRINT( #else DBG( DBG_HIGH, @@ -1358,7 +1358,7 @@ static void imageP98003SetupScanStateVariables( pScanData ps, ULong index ) if( var.dwValue && ps->DataInf.dwAsicBytesPerPlane > var.dwValue ) { if((var.dwValue << 1) > ps->DataInf.dwAsicBytesPerPlane) - ps->Scan.dwInterval <<= 1; + ps->Scan.dwInterval <<= 1; else if((var.dwValue << 2) > ps->DataInf.dwAsicBytesPerPlane) ps->Scan.dwInterval <<= 2; @@ -1376,7 +1376,7 @@ static void imageP98003SetupScanStateVariables( pScanData ps, ULong index ) if( ps->DataInf.wPhyDataType >= COLOR_TRUE24 ) { - if( ps->DataInf.xyPhyDpi.y > 75U ) { + if( ps->DataInf.xyPhyDpi.y > 75U ) { if( ps->Device.f0_8_16 ) { ps->Scan.gd_gk.wGreenDiscard = ps->DataInf.xyPhyDpi.y / 75U; } else { @@ -1535,7 +1535,7 @@ static int imageP98003SetupScanSettings( pScanData ps, pScanInfo pInf ) ps->Scan.p48BitBuf.pb = ps->Bufs.b1.pReadBuf; } - } + } if( ps->Scan.p48BitBuf.pb ){ ps->Scan.DataRead = fnReadToDriver; diff --git a/backend/plustek-pp_io.c b/backend/plustek-pp_io.c index ba68599..d6e99b9 100644 --- a/backend/plustek-pp_io.c +++ b/backend/plustek-pp_io.c @@ -110,7 +110,7 @@ static Byte ioDataFromSPPFast( pScanData ps ) /* read low nibble */ tmp = _INB_STATUS( ps ); - + /* combine with low nibble */ bData |= (tmp >> 4); @@ -141,7 +141,7 @@ static Byte ioDataFromSPPMiddle( pScanData ps ) /* read low nibble */ _INB_STATUS( ps ); tmp = _INB_STATUS( ps ); - + /* combine with low nibble */ bData |= (tmp >> 4); @@ -174,7 +174,7 @@ static UChar ioDataFromSPPSlow( pScanData ps ) _INB_STATUS( ps ); _INB_STATUS( ps ); tmp = _INB_STATUS( ps ); - + /* combine with low nibble */ bData |= (tmp >> 4); @@ -209,7 +209,7 @@ static UChar ioDataFromSPPSlowest( pScanData ps ) _INB_STATUS( ps ); _INB_STATUS( ps ); tmp = _INB_STATUS( ps ); - + /* combine with low nibble */ bData |= (tmp >> 4); @@ -309,9 +309,9 @@ static Bool fnBiDirRead( pScanData ps, pUChar pBuffer, ULong ulSize ) case 0: for( ; ulSize; ulSize--, pBuffer++ ) { - _OUTB_CTRL( ps, start ); + _OUTB_CTRL( ps, start ); *pBuffer = _INB_DATA( ps ); - _OUTB_CTRL( ps, end ); + _OUTB_CTRL( ps, end ); } break; @@ -327,7 +327,7 @@ static Bool fnBiDirRead( pScanData ps, pUChar pBuffer, ULong ulSize ) _DO_UDELAY( 1 ); } break; - + default: _DO_UDELAY( 2 ); for(; ulSize; ulSize--, pBuffer++ ) { @@ -466,7 +466,7 @@ static Bool ioP98OpenScanPath( pScanData ps ) #endif } else { ioP98003EstablishScannerConnection( ps, dw ); - } + } _INB_STATUS( ps ); tmp = _INB_STATUS( ps ); @@ -524,7 +524,7 @@ static void ioCloseScanPath( pScanData ps ) * (ASIC 9800x only) */ static int ioP98ReadWriteTest( pScanData ps ) -{ +{ UChar tmp; ULong ul; pUChar buffer; @@ -539,10 +539,10 @@ static int ioP98ReadWriteTest( pScanData ps ) /* prepare content */ for( ul = 0; ul < _MEMTEST_SIZE; ul++ ) - buffer[ul] = (UChar)ul; + buffer[ul] = (UChar)ul; ps->OpenScanPath(ps); - + /* avoid switching to Lamp0, when previously scanned in transp./neg mode */ tmp = ps->bLastLampStatus + _SCAN_BYTEMODE; IODataToRegister( ps, ps->RegScanControl, tmp ); @@ -595,7 +595,7 @@ static void ioSPPWrite( pScanData ps, pUChar pBuffer, ULong size ) DBG( DBG_IO , "Moving %u bytes to scanner, IODELAY = %u...\n", size, ps->IO.delay ); switch( ps->IO.delay ) { - + case 0: for (; size; size--, pBuffer++) { _OUTB_DATA( ps, *pBuffer ); @@ -603,7 +603,7 @@ static void ioSPPWrite( pScanData ps, pUChar pBuffer, ULong size ) _OUTB_CTRL( ps, _CTRL_END_DATAWRITE ); } break; - + case 1: case 2: for (; size; size--, pBuffer++) { @@ -647,7 +647,7 @@ static void ioEnterReadMode( pScanData ps ) ps->IO.bOldControlValue = _INB_CTRL( ps ); /* ask ASIC to enter read mode */ - IORegisterToScanner( ps, ps->RegReadDataMode ); + IORegisterToScanner( ps, ps->RegReadDataMode ); } /************************ exported functions *********************************/ @@ -750,7 +750,7 @@ _LOC void IODataToScanner( pScanData ps, Byte bValue ) /* notify asic there is data */ _OUTB_CTRL( ps, _CTRL_START_DATAWRITE ); _DO_UDELAY( deltime ); - + /* end write cycle */ _OUTB_CTRL( ps, _CTRL_END_DATAWRITE ); _DO_UDELAY( deltime-1 ); @@ -767,7 +767,7 @@ _LOC void IODataToRegister( pScanData ps, Byte bReg, Byte bData ) #endif /* specify register */ - IORegisterToScanner( ps, bReg ); + IORegisterToScanner( ps, bReg ); /* then write the content */ IODataToScanner( ps, bData ); diff --git a/backend/plustek-pp_map.c b/backend/plustek-pp_map.c index 8afeb32..00b52a3 100644 --- a/backend/plustek-pp_map.c +++ b/backend/plustek-pp_map.c @@ -164,23 +164,23 @@ static void mapInvertDitherMap( pScanData ps ) static void mapBuildLinearMap( pScanData ps ) { ULong i; - + DBG( DBG_LOW, "mapBuildLinearMap()\n" ); if( _IS_ASIC98(ps->sCaps.AsicID)) { for( i = 0; i < 4096; i++ ) { - ps->a_bMapTable[i] = (UChar)(i >> 4); - ps->a_bMapTable[4096+i] = (UChar)(i >> 4); - ps->a_bMapTable[8192+i] = (UChar)(i >> 4); + ps->a_bMapTable[i] = (UChar)(i >> 4); + ps->a_bMapTable[4096+i] = (UChar)(i >> 4); + ps->a_bMapTable[8192+i] = (UChar)(i >> 4); } } else { for( i = 0; i < 256; i++ ) { - ps->a_bMapTable[i] = (UChar)(i & 0xff); - ps->a_bMapTable[256+i] = (UChar)(i & 0xff); - ps->a_bMapTable[512+i] = (UChar)(i & 0xff); + ps->a_bMapTable[i] = (UChar)(i & 0xff); + ps->a_bMapTable[256+i] = (UChar)(i & 0xff); + ps->a_bMapTable[512+i] = (UChar)(i & 0xff); } } } @@ -221,7 +221,7 @@ _LOC void MapAdjust( pScanData ps, int which ) long b, c, tmp; DBG( DBG_LOW, "MapAdjust(%u)\n", which ); - + if( _IS_ASIC98(ps->sCaps.AsicID)) { tabLen = 4096; } else { @@ -257,7 +257,7 @@ _LOC void MapAdjust( pScanData ps, int which ) if( tmp > 255 ) tmp = 255; ps->a_bMapTable[tabLen+i] = (UChar)tmp; } - + if((_MAP_MASTER == which) || (_MAP_BLUE == which)) { tmp = ((((long)ps->a_bMapTable[tabLen*2+i] * 100) + b) * c) / 10000; if( tmp < 0 ) tmp = 0; @@ -268,33 +268,33 @@ _LOC void MapAdjust( pScanData ps, int which ) if( ps->DataInf.dwScanFlag & SCANDEF_Negative ) { DBG( DBG_LOW, "inverting...\n" ); - + if((_MAP_MASTER == which) || (_MAP_RED == which)) { - + DBG( DBG_LOW, "inverting RED map\n" ); - + pdw = (pULong)ps->a_bMapTable; - + for( dw = tabLen / 4; dw; dw--, pdw++ ) *pdw = ~(*pdw); } - + if((_MAP_MASTER == which) || (_MAP_GREEN == which)) { - + DBG( DBG_LOW, "inverting GREEN map\n" ); - + pdw = (pULong)&ps->a_bMapTable[tabLen]; - + for( dw = tabLen / 4; dw; dw--, pdw++ ) *pdw = ~(*pdw); } - + if((_MAP_MASTER == which) || (_MAP_BLUE == which)) { - + DBG( DBG_LOW, "inverting BLUE map\n" ); - + pdw = (pULong)&ps->a_bMapTable[tabLen*2]; - + for( dw = tabLen / 4; dw; dw--, pdw++ ) *pdw = ~(*pdw); } diff --git a/backend/plustek-pp_misc.c b/backend/plustek-pp_misc.c index d0c1ce7..a0ce200 100644 --- a/backend/plustek-pp_misc.c +++ b/backend/plustek-pp_misc.c @@ -280,7 +280,7 @@ static int miscSetFastMode( pScanData ps ) ps->IO.lastPortMode = a; /* save it for restoring later */ /* set to Fast Centronics/bi-directional/PS2 */ - a = (a & 0x1F) | 0x20; + a = (a & 0x1F) | 0x20; _OUTB_ECTL(ps,a); /* write it back */ _DO_UDELAY(1); @@ -335,7 +335,7 @@ static int miscSetFastMode( pScanData ps ) DBG(DBG_LOW, "Port is set to PS2 bidirectional mode.\n"); ps->IO.portMode = _PORT_BIDI; return _OK; - + } else { DBG(DBG_LOW, "Port could not be set to PS2 mode. " "Using SPP mode.\n"); @@ -458,7 +458,7 @@ _LOC pScanData MiscAllocAndInitStruct( void ) } DBG( DBG_HIGH, "ScanData = 0x%08lx\n", (unsigned long)ps ); - return ps; + return ps; } /** re-initialize the memory for the scanner structure @@ -610,7 +610,7 @@ _LOC void MiscStartTimer( TimerDef *timer , unsigned long us) #ifdef __KERNEL__ _GET_TIME( &start_time ); #else - gettimeofday(&start_time, NULL); + gettimeofday(&start_time, NULL); #endif *timer = (TimerDef)start_time.tv_sec * 1000000 + (TimerDef)start_time.tv_usec + us; @@ -635,7 +635,7 @@ _LOC int MiscCheckTimer( TimerDef *timer ) if ((TimerDef)current_time.tv_sec * 1000000 + (TimerDef)current_time.tv_usec > *timer) { return _E_TIMEOUT; } else { -#ifdef __KERNEL__ +#ifdef __KERNEL__ schedule(); /*#else sched_yield(); @@ -739,7 +739,7 @@ _LOC int MiscRegisterPort( pScanData ps, int portAddr ) return _OK; } -/** unregisters the port from driver +/** unregisters the port from driver */ _LOC void MiscUnregisterPort( pScanData ps ) { diff --git a/backend/plustek-pp_models.c b/backend/plustek-pp_models.c index 55029db..1d29686 100644 --- a/backend/plustek-pp_models.c +++ b/backend/plustek-pp_models.c @@ -115,7 +115,7 @@ static void modelInitPageSettings( pScanData ps ) ps->sCaps.wMaxExtentY = ps->LensInf.rExtentY.wDef = ps->LensInf.rExtentY.wMax = - ps->LensInf.rExtentY.wPhyMax = _MEASURE_BASE * 11.6934; + ps->LensInf.rExtentY.wPhyMax = _MEASURE_BASE * 11.6934; break; case _SCANSIZE_A3: @@ -124,7 +124,7 @@ static void modelInitPageSettings( pScanData ps ) ps->sCaps.wMaxExtentY = ps->LensInf.rExtentY.wMax = ps->LensInf.rExtentY.wDef = - ps->LensInf.rExtentY.wPhyMax = _MEASURE_BASE * 17; + ps->LensInf.rExtentY.wPhyMax = _MEASURE_BASE * 17; /* _MEASURE_BASE * 11.69 */ ps->sCaps.wMaxExtentX = @@ -139,7 +139,7 @@ static void modelInitPageSettings( pScanData ps ) ps->sCaps.wMaxExtentY = ps->LensInf.rExtentY.wDef = ps->LensInf.rExtentY.wMax = - ps->LensInf.rExtentY.wPhyMax = _MEASURE_BASE * 11; + ps->LensInf.rExtentY.wPhyMax = _MEASURE_BASE * 11; break; case _SCANSIZE_LEGAL: @@ -148,7 +148,7 @@ static void modelInitPageSettings( pScanData ps ) ps->sCaps.wMaxExtentY = ps->LensInf.rExtentY.wDef = ps->LensInf.rExtentY.wMax = - ps->LensInf.rExtentY.wPhyMax = _MEASURE_BASE * 14; + ps->LensInf.rExtentY.wPhyMax = _MEASURE_BASE * 14; } /* diff --git a/backend/plustek-pp_motor.c b/backend/plustek-pp_motor.c index f377b7e..7f4b1ac 100644 --- a/backend/plustek-pp_motor.c +++ b/backend/plustek-pp_motor.c @@ -738,7 +738,7 @@ static void motorP98PositionYProc( pScanData ps, ULong dwStates ) } /*............................................................................. - * checks if the sensor is in its home position and moves it back if necessary + * checks if the sensor is in it´s home position and moves it back if necessary */ static int motorP98CheckSensorInHome( pScanData ps ) { @@ -1248,7 +1248,7 @@ static void motorP96WaitForPositionY( pScanData ps ) MiscStartTimer( &timer, _SECOND / 4); while (!MiscCheckTimer( &timer )); - memset( ps->a_nbNewAdrPointer, 0, _SCANSTATE_BYTES ); + memset( ps->a_nbNewAdrPointer, 0, _SCANSTATE_BYTES ); ps->Asic96Reg.RD_MotorControl = ps->IgnorePF|ps->MotorOn|_MotorDirForward; ps->Scan.fMotorBackward = _FALSE; @@ -1875,7 +1875,7 @@ static void motorP96SetupRunTable( pScanData ps ) if ((siSum -= (Short)ps->DataInf.xyPhyDpi.y) <= 0) { siSum += (Short)wP96BaseDpi; - if((ps->sCaps.Model == MODEL_OP_12000P)|| + if((ps->sCaps.Model == MODEL_OP_12000P)|| (ps->sCaps.Model == MODEL_OP_A3I)) { *p.pb |= _COLORRUNTABLE_GREEN; } else { @@ -2083,7 +2083,7 @@ static void motorP96WaitBack( pScanData ps ) } else { dw = _P96_FORWARDMOVES; } - + memset( a_bScanStateTable, 1, dw ); memset(&a_bScanStateTable[dw], 0xff, 250 - dw ); @@ -2671,7 +2671,7 @@ static void motorP98003WaitForPositionY( pScanData ps ) while(( IOGetExtendedStatus( ps ) & _STILL_FREE_RUNNING) && !MiscCheckTimer(&timer)); - IODataToRegister( ps, ps->RegModeControl, _ModeScan ); + IODataToRegister( ps, ps->RegModeControl, _ModeScan ); } else { MotorP98003PositionYProc( ps, dwBeginY ); IORegisterToScanner( ps, ps->RegRefreshScanState ); diff --git a/backend/plustek-pp_p12.c b/backend/plustek-pp_p12.c index 6f46e58..2dc4e45 100644 --- a/backend/plustek-pp_p12.c +++ b/backend/plustek-pp_p12.c @@ -121,7 +121,7 @@ static void p12InitiateComponentModel( pScanData ps ) case _SCANNER5Button: DBG( DBG_LOW, "Scanner has 5 Buttons\n" ); - ps->Device.dwModelOriginY = 64 + 20; + ps->Device.dwModelOriginY = 64 + 20; p12ButtonSetup( ps, 5 ); break; @@ -153,7 +153,7 @@ static void p12InitiateComponentModel( pScanData ps ) case _SCANNER2Button: DBG( DBG_LOW, "Scanner has 2 Buttons\n" ); DBG( DBG_LOW, "Seems we have a Genius Colorpage Vivid III V2\n" ); - ps->Device.dwModelOriginY = 64 - 33; + ps->Device.dwModelOriginY = 64 - 33; p12ButtonSetup( ps, 2 ); ps->sCaps.Model = MODEL_GEN_CPV2; break; @@ -232,7 +232,7 @@ static void p12SetupScanningCondition( pScanData ps ) ps->Scan.dwMaxReadFifo += (ps->DataInf.dwAsicBytesPerPlane / 2); - DBG( DBG_LOW, "MinReadFifo=%u, MaxReadFifo=%u\n", + DBG( DBG_LOW, "MinReadFifo=%u, MaxReadFifo=%u\n", ps->Scan.dwMinReadFifo, ps->Scan.dwMaxReadFifo ); /* ------- Set the max. read fifo to asic ------- */ @@ -260,7 +260,7 @@ static void p12SetupScanningCondition( pScanData ps ) channel = _GREEN_FULLSIZE << 16; ps->AsicReg.RD_BufFullSize = _SIZE_GREENFIFO; } - + lGreen = (ULong)(-lGreen * ps->DataInf.dwAsicBytesPerPlane); if( ps->DataInf.wPhyDataType > COLOR_TRUE24 ) @@ -434,7 +434,7 @@ static void p12ProgramCCD( pScanData ps) DBG( DBG_IO, " %u regs * %u (intermediate)\n", ps->Device.wNumCCDRegs, ps->Shade.bIntermediate ); - rp = ps->Device.pCCDRegisters + + rp = ps->Device.pCCDRegisters + (ULong)ps->Device.wNumCCDRegs * ps->Shade.bIntermediate; for( w = ps->Device.wNumCCDRegs; w--; rp++ ) { diff --git a/backend/plustek-pp_p12ccd.c b/backend/plustek-pp_p12ccd.c index 178cb2e..1b64b46 100644 --- a/backend/plustek-pp_p12ccd.c +++ b/backend/plustek-pp_p12ccd.c @@ -1105,7 +1105,7 @@ _LOC void P12InitCCDandDAC( pScanData ps, Bool shading ) else ps->Shade.bUniGain = 7; - ps->Shade.wDarkLevels = 10; + ps->Shade.wDarkLevels = 10; if( ps->Shade.bIntermediate & _ScanMode_Mono ) { SamsungDAC8531[0].bParam = 0x57; diff --git a/backend/plustek-pp_p48xx.c b/backend/plustek-pp_p48xx.c index 6175a34..749005b 100644 --- a/backend/plustek-pp_p48xx.c +++ b/backend/plustek-pp_p48xx.c @@ -724,7 +724,7 @@ static void p48xxPutToIdleMode( pScanData ps ) /*............................................................................. * for P96001/3 ASIC * do all the preliminary stuff here (calibrate the scanner and move the - * sensor to its start position, also setup the driver for the + * sensor to it´s start position, also setup the driver for the * current run) */ static int p48xxCalibration( pScanData ps ) diff --git a/backend/plustek-pp_p9636.c b/backend/plustek-pp_p9636.c index 0c3fcfd..62da325 100644 --- a/backend/plustek-pp_p9636.c +++ b/backend/plustek-pp_p9636.c @@ -244,7 +244,7 @@ static void p9636Init98001( pScanData ps, Bool shading ) ps->Device.bCCDID = bData; ps->Device.bCCDID &= _P98_CCD_TYPE_ID; DBG( DBG_HIGH, "bData = 0x%04X, PCB-ID = 0x%02X\n", bData, (bData >> 4)); - + /* encode the CCD-id into the flag parameter */ dwID = (ULong)ps->Device.bCCDID; dwID = dwID << 16; @@ -852,7 +852,7 @@ static void p9636PutToIdleMode( pScanData ps ) /*............................................................................. * do all the preliminary stuff here (calibrate the scanner and move the - * sensor to its start position, also setup the driver for the + * sensor to it´s start position, also setup the driver for the * current run) */ static int p9636Calibration( pScanData ps ) diff --git a/backend/plustek-pp_procfs.c b/backend/plustek-pp_procfs.c index ed242a8..0cbb999 100644 --- a/backend/plustek-pp_procfs.c +++ b/backend/plustek-pp_procfs.c @@ -62,7 +62,7 @@ #include "plustek-pp_scan.h" /* toggled by your kernel configuration */ -#ifdef CONFIG_PROC_FS +#ifdef CONFIG_PROC_FS /****************************** static vars **********************************/ @@ -197,7 +197,7 @@ static int procfsInfoReadProc( char *buf, char **start, off_t offset, MiscGetModelName(ps->sCaps.Model)); len += sprintf( buf+len, "Portaddress : 0x%X\n", ps->IO.portBase ); len += sprintf( buf+len, "Portmode : %s (%s I/O, %s)\n", - procfsGetMode(ps->IO.portMode), + procfsGetMode(ps->IO.portMode), (ps->IO.slowIO == _TRUE?"delayed":"fast"), (ps->IO.forceMode == 0?"autodetect":"forced")); len += sprintf( buf+len, "Buttons : %u\n", ps->Device.buttons); @@ -278,7 +278,7 @@ static struct proc_dir_entry *new_entry( const char *name, mode_t mode, /* position pointer of name to end of the structure*/ ent->name = ((char *) ent) + sizeof(*ent); strcpy((char *)ent->name, name ); - + ent->namelen = strlen(name); ent->mode = mode; @@ -310,7 +310,7 @@ static inline void destroy_proc_entry( struct proc_dir_entry *root, kfree(*d); #else DBG(DBG_HIGH, "pt_drv: proc del '%s' root='%s'\n", (*d)->name, root->name); - + remove_proc_entry((*d)->name, root ); #endif @@ -407,7 +407,7 @@ void ProcFsRegisterDevice( pScanData ps ) memset( &ps->procDir, 0, sizeof(ProcDirDef)); sprintf( str, "device%u", ps->devno ); - + ps->procDir.entry = new_entry( str, S_IFDIR, base ); if( NULL == ps->procDir.entry ) goto error_exit; diff --git a/backend/plustek-pp_procs.h b/backend/plustek-pp_procs.h index aff67c8..cc84d13 100644 --- a/backend/plustek-pp_procs.h +++ b/backend/plustek-pp_procs.h @@ -12,7 +12,7 @@ * 0.32 - no changes * 0.33 - no changes * 0.34 - added this history - * 0.35 - added Kevins changes to MiscRestorePort + * 0.35 - added Kevins´ changes to MiscRestorePort * changed prototype of MiscReinitStruct * added prototype for function PtDrvLegalRequested() * 0.36 - added prototype for function MiscLongRand() diff --git a/backend/plustek-pp_ptdrv.c b/backend/plustek-pp_ptdrv.c index 9409e56..cb0eeb3 100644 --- a/backend/plustek-pp_ptdrv.c +++ b/backend/plustek-pp_ptdrv.c @@ -243,8 +243,8 @@ static CLOSETYPE pt_drv_close( struct inode *, struct file *); #else static int pt_drv_ioctl( struct inode *, struct file *, UInt, unsigned long ); #endif - - + + /* * the driver interface */ @@ -300,7 +300,7 @@ static pScanData get_pt_from_inode(struct inode *ip) /* * unit out of range */ - if (minor >= _MAX_PTDEVS ) + if (minor >= _MAX_PTDEVS ) return NULL; return( PtDrvDevices[minor] ); @@ -442,7 +442,7 @@ static void ptDrvSwitchLampOn( pScanData ps ) ps->bLastLampStatus = _SCAN_NORMALLAMP_ON; } else { - + ps->AsicReg.RD_ScanControl |= ps->bLampOn; ps->bLastLampStatus = ps->bLampOn; } @@ -484,12 +484,12 @@ static void ptdrvLampWarmup( pScanData ps ) MiscStartTimer( &timer, _SECOND * ps->warmup ); while( !MiscCheckTimer( &timer )) { - + /* on break, we setup the initial timer again... */ if( _FALSE == ps->fScanningStatus ) { MiscStartTimer( &toTimer[ps->devno], (_SECOND * ps->warmup)); - return; - } + return; + } }; } @@ -517,7 +517,7 @@ static void ptdrvLampTimerIrq( int sig_num ) pScanData ps; DBG( DBG_HIGH, "!! IRQ !! Lamp-Timer stopped.\n" ); - + #ifdef __KERNEL__ ps = (pScanData)ptr; #else @@ -539,10 +539,10 @@ static void ptdrvLampTimerIrq( int sig_num ) } else { ps->AsicReg.RD_ScanControl &= ~_SCAN_LAMP_ON; } - + /* force warmup... */ ps->bLastLampStatus = 0xFF; - + /* * claim parallel port if necessary... * if the port is busy, restart the timer @@ -847,7 +847,7 @@ static int ptdrvInit( int devno ) if( _OK == retval ) { -#ifdef __KERNEL__ +#ifdef __KERNEL__ _PRINT( "pt_drv%u: %s found on port 0x%04x\n", devno, MiscGetModelName(ps->sCaps.Model), ps->IO.pbSppDataPort ); #else @@ -1097,19 +1097,19 @@ static int ptdrvIoctl( pScanData ps, UInt cmd, pVoid arg ) if( ps->devno < _MAX_PTDEVS ) { if( adj.warmup >= 0 ) { - warmup[ps->devno] = adj.warmup; - ps->warmup = adj.warmup; - } + warmup[ps->devno] = adj.warmup; + ps->warmup = adj.warmup; + } if( adj.lampOff >= 0 ) { lampoff[ps->devno] = adj.lampOff; ps->lampoff = adj.lampOff; - } + } if( adj.lampOffOnEnd >= 0 ) { lOffonEnd[ps->devno] = adj.lampOffOnEnd; ps->lOffonEnd = adj.lampOffOnEnd; - } + } } } break; @@ -1131,13 +1131,13 @@ static int ptdrvIoctl( pScanData ps, UInt cmd, pVoid arg ) x_len = 256; if( _IS_ASIC98(ps->sCaps.AsicID)) x_len = 4096; - + /* check for 0 pointer and len */ if((NULL == map.map) || (x_len != map.len)) { DBG( DBG_LOW, "map pointer == 0, or map len invalid!!\n" ); return _E_INVALID; - } - + } + if( _MAP_MASTER == map.map_id ) { for( i = 0; i < 3; i++ ) { @@ -1159,7 +1159,7 @@ static int ptdrvIoctl( pScanData ps, UInt cmd, pVoid arg ) return _E_FAULT; } } - + /* here we adjust the maps according to * the brightness and contrast settings */ @@ -1254,7 +1254,7 @@ static int ptdrvIoctl( pScanData ps, UInt cmd, pVoid arg ) retval = _E_SEQUENCE; ps->DataInf.dwVxdFlag &= ~_VF_ENVIRONMENT_READY; - + } else { DBG( DBG_LOW, "CANCEL Mode set\n" ); } @@ -1320,7 +1320,7 @@ static int ptdrvRead( pScanData ps, pUChar buffer, int count ) if( _FALSE == ps->fScanningStatus ) return _E_ABORT; - + /* * has the environment been set ? * this should prevent the driver from causing a seg-fault @@ -1374,7 +1374,7 @@ static int ptdrvRead( pScanData ps, pUChar buffer, int count ) (unsigned long)ps->Scan.bp.pMonoBuf, ps->DataInf.dwAppPhyBytesPerLine, (unsigned long)scaleBuf ); - /* + /* * in case of a previous problem, move the sensor back home */ MotorToHomePosition( ps ); @@ -1382,8 +1382,8 @@ static int ptdrvRead( pScanData ps, pUChar buffer, int count ) if( _FALSE == ps->fScanningStatus ) { retval = _E_ABORT; goto ReadFinished; - } - + } + dwLinesRead = 0; /* @@ -1399,7 +1399,7 @@ static int ptdrvRead( pScanData ps, pUChar buffer, int count ) else ps->Scan.fRefreshState = _TRUE; - ptdrvLampWarmup( ps ); + ptdrvLampWarmup( ps ); if( _FALSE == ps->fScanningStatus ) { retval = _E_ABORT; @@ -1465,17 +1465,17 @@ static int ptdrvRead( pScanData ps, pUChar buffer, int count ) if( ps->Scan.dwLinesToRead > ps->DataInf.dwAppLinesPerArea ) ps->Scan.dwLinesToRead = ps->DataInf.dwAppLinesPerArea; - - ps->DataInf.dwAppLinesPerArea -= ps->Scan.dwLinesToRead; + + ps->DataInf.dwAppLinesPerArea -= ps->Scan.dwLinesToRead; if (ps->DataInf.dwScanFlag & SCANDEF_BmpStyle) buffer += ((ps->Scan.dwLinesToRead - 1) * ps->DataInf.dwAppBytesPerLine); - if (ps->DataInf.dwVxdFlag & _VF_DATATOUSERBUFFER) + if (ps->DataInf.dwVxdFlag & _VF_DATATOUSERBUFFER) ps->DataInf.pCurrentBuffer = ps->Scan.bp.pMonoBuf; - while(ps->fScanningStatus && ps->Scan.dwLinesToRead) { + while(ps->fScanningStatus && ps->Scan.dwLinesToRead) { _ASSERT(ps->ReadOneImageLine); if (!ps->ReadOneImageLine(ps)) { @@ -1549,8 +1549,8 @@ static int ptdrvRead( pScanData ps, pUChar buffer, int count ) ReadFinished: - if( _ASIC_IS_98003 == ps->sCaps.AsicID ) - ps->CloseScanPath( ps ); + if( _ASIC_IS_98003 == ps->sCaps.AsicID ) + ps->CloseScanPath( ps ); if( NULL != ps->Scan.bp.pMonoBuf ) _KFREE( ps->Scan.bp.pMonoBuf ); @@ -1638,7 +1638,7 @@ int init_module( void ) (S_IFCHR | S_IRUGO | S_IWUGO | S_IFCHR), &pt_drv_fops, NULL ); # else /* DEVFS_26_STYLE */ - devfs_mk_cdev(MKDEV(_PTDRV_MAJOR, devCount), + devfs_mk_cdev(MKDEV(_PTDRV_MAJOR, devCount), (S_IFCHR | S_IRUGO | S_IWUGO | S_IFCHR), "scanner/pt_drv%d", devCount); # endif @@ -1787,7 +1787,7 @@ static int pt_drv_open(struct inode *inode, struct file *file) return -EAGAIN; #else MOD_INC_USE_COUNT; -#endif +#endif ps->flags |= _PTDRV_OPEN; return _OK; @@ -1811,7 +1811,7 @@ static CLOSETYPE pt_drv_close(struct inode * inode, struct file * file) module_put(THIS_MODULE); #else MOD_DEC_USE_COUNT; -#endif +#endif CLOSERETURN(0); } else { @@ -1851,7 +1851,7 @@ static ssize_t pt_drv_read( struct file *file, */ if( _TRUE == deviceScanning ) { printk( KERN_INFO "pt_drv: device %u busy!!!\n", ps->devno ); - return(-EBUSY); + return(-EBUSY); } deviceScanning = _TRUE; @@ -1924,7 +1924,7 @@ static int PtDrvInit( const char *dev_name, UShort model_override ) port[0] = fd; mov[0] = model_override; - + result = ptdrvInit( 0 ); if( _OK == result ) { diff --git a/backend/plustek-pp_scale.c b/backend/plustek-pp_scale.c index 295a566..6879d66 100644 --- a/backend/plustek-pp_scale.c +++ b/backend/plustek-pp_scale.c @@ -101,7 +101,7 @@ _LOC void ScaleX( pScanData ps, pUChar inBuf, pUChar outBuf ) ddax = 0; x = 0; if( 0 == step ) { - + /* binary scaling */ memset( outBuf, 0, ps->DataInf.dwAppBytesPerLine ); @@ -134,7 +134,7 @@ _LOC void ScaleX( pScanData ps, pUChar inBuf, pUChar outBuf ) while( ddax < 0 ) { for( j = 0; j < (ULong)step; j++ ) { - + if((x+j) < ps->DataInf.dwAppBytesPerLine ) { outBuf[x+j] = inBuf[i+j]; } diff --git a/backend/plustek-pp_scan.h b/backend/plustek-pp_scan.h index 5a8f9d7..1764c79 100644 --- a/backend/plustek-pp_scan.h +++ b/backend/plustek-pp_scan.h @@ -73,11 +73,7 @@ # include # include # include -# ifdef HAVE_SYS_SIGNAL_H -# include -# else -# include -# endif +# include # include # ifdef HAVE_SYS_IO_H # include diff --git a/backend/plustek-pp_scandata.h b/backend/plustek-pp_scandata.h index 1ba2c05..1fb987c 100644 --- a/backend/plustek-pp_scandata.h +++ b/backend/plustek-pp_scandata.h @@ -162,10 +162,10 @@ typedef struct scandata */ ULong devno; int lampoff; - int warmup; + int warmup; int lOffonEnd; - /* + /* * CHECK for controlling the ECP-mode (not used now) */ #if 0 @@ -188,7 +188,7 @@ typedef struct scandata UShort TimePerLine; /* --> to Device */ /* - * scanner properties + * scanner properties */ RegData AsicReg; /* here we have the 98001/3 register set */ Reg96 Asic96Reg; /* here we hold the 96001/3 specific regs */ @@ -287,7 +287,7 @@ typedef struct scandata */ DataInfo DataInf; Bool fReshaded; - ULong dwDitherIndex; + ULong dwDitherIndex; Bool fDoFilter, fFilterFirstLine; ULong dwDivFilter; ULong dwMul; @@ -606,9 +606,9 @@ typedef struct scandata Byte RegFifoFullLength1; Byte RegFifoFullLength2; - Byte RegMotorTotalStep0; + Byte RegMotorTotalStep0; Byte RegMotorTotalStep1; - Byte RegMotorFreeRunCount0; + Byte RegMotorFreeRunCount0; Byte RegMotorFreeRunCount1; Byte RegScanControl1; Byte RegMotorFreeRunTrigger; diff --git a/backend/plustek-pp_sysdep.h b/backend/plustek-pp_sysdep.h index 9e064d2..73d00a4 100644 --- a/backend/plustek-pp_sysdep.h +++ b/backend/plustek-pp_sysdep.h @@ -1,5 +1,5 @@ /* @file plustek-pp_sysdep.h - * @brief a trial to centralize changes between the different + * @brief a trial to centralize changes between the different * kernel-versions some stuff is maybe not relevant, but anyway... * * Copyright (C) 2000-2013 Gerhard Jaeger diff --git a/backend/plustek-pp_tpa.c b/backend/plustek-pp_tpa.c index 021bad6..f2ca1f0 100644 --- a/backend/plustek-pp_tpa.c +++ b/backend/plustek-pp_tpa.c @@ -104,7 +104,7 @@ static void tpaP98SubNoise( pScanData ps, pULong pdwSum, pUShort pwShading, for (dwLines = _DEF_DARKEST_SKIP; dwLines--; pw += 5400UL) dwSum += (ULong) *pw; - + *pwShading = (UShort)((*pdwSum - dwSum) / ps->Shade.dwDiv); } if (ps->dwShadingPixels != 5400UL) { @@ -247,7 +247,7 @@ static void tpaP98GetNegativeTempRamData( pScanData ps ) pNegativeTempRam[dw] = (UShort)((pdwNegativeSumTemp[dw1] + pdwNegativeSumTemp[dw1+1] + pdwNegativeSumTemp[dw1+2] + - pdwNegativeSumTemp[dw1+3]) / 128); + pdwNegativeSumTemp[dw1+3]) / 128); /* shift 6 bits */ } @@ -259,7 +259,7 @@ static void tpaP98GetNegativeTempRamData( pScanData ps ) } /* do R shading average */ - for (dw = 0; dw < 240; dw++, dw1 += 4) { + for (dw = 0; dw < 240; dw++, dw1 += 4) { pNegativeTempRam2[dw] = (UShort)( (((pUShort)ps->pScanBuffer1)[dw1] + ((pUShort)ps->pScanBuffer1)[dw1+1] + diff --git a/backend/plustek-pp_wrapper.c b/backend/plustek-pp_wrapper.c index ba635ef..c41d340 100644 --- a/backend/plustek-pp_wrapper.c +++ b/backend/plustek-pp_wrapper.c @@ -56,7 +56,7 @@ /******************* wrapper functions for parport device ********************/ #ifndef _BACKEND_ENABLED - + static int PtDrvInit( char *dev_name, unsigned short model_override ) { _VAR_NOT_USED( dev_name ); @@ -124,7 +124,7 @@ static int ppDev_open( const char *dev_name, void *misc ) handle = PtDrvOpen(); else handle = open( dev_name, O_RDONLY ); - + if ( handle < 0 ) { DBG( _DBG_ERROR, "open: can't open %s as a device\n", dev_name ); return handle; @@ -134,7 +134,7 @@ static int ppDev_open( const char *dev_name, void *misc ) result = PtDrvIoctl( _PTDRV_OPEN_DEVICE, &version ); else result = ioctl( handle, _PTDRV_OPEN_DEVICE, &version ); - + if( result < 0 ) { if( -9019 == result ) { @@ -149,14 +149,14 @@ static int ppDev_open( const char *dev_name, void *misc ) result = PtDrvIoctl( _PTDRV_OPEN_DEVICE, &version ); else result = ioctl( handle, _PTDRV_OPEN_DEVICE, &version ); - + if( result < 0 ) { - + if( dev->adj.direct_io ) PtDrvClose(); else close( dev->fd ); - + DBG( _DBG_ERROR, "ioctl PT_DRV_OPEN_DEVICE failed(%d)\n", result ); @@ -294,23 +294,23 @@ static int ppDev_setMap( Plustek_Device *dev, SANE_Word *map, m.map_id = channel; m.map = (void *)map; - + DBG(_DBG_INFO,"Setting map[%u] at 0x%08lx\n", channel, (unsigned long)map); buf = (SANE_Byte*)malloc( m.len ); - + if( !buf ) return _E_ALLOC; - + for( i = 0; i < m.len; i++ ) { buf[i] = (SANE_Byte)map[i]; - + if( map[i] > 0xFF ) buf[i] = 0xFF; } - + m.map = buf; - + if( dev->adj.direct_io ) PtDrvIoctl( _PTDRV_SETMAP, &m ); else @@ -334,7 +334,7 @@ static int ppDev_stopScan( Plustek_Device *dev, short *mode ) retval = PtDrvIoctl( _PTDRV_STOP_SCAN, mode ); else retval = ioctl( dev->fd, _PTDRV_STOP_SCAN, mode ); - + /* ... and use it here */ if( 0 == tmp ) { if( dev->adj.direct_io ) diff --git a/backend/plustek-usb.c b/backend/plustek-usb.c index 6c9e67a..5c6fbeb 100644 --- a/backend/plustek-usb.c +++ b/backend/plustek-usb.c @@ -147,7 +147,7 @@ static SANE_Bool usb_normFileName( char *fname, char* buffer, u_long max_len ) } *dst = '\0'; - return SANE_TRUE; + return SANE_TRUE; } /** do some range checking and copy the adjustment values from the @@ -216,13 +216,13 @@ usb_initDev( Plustek_Device *dev, int idx, int handle, int vendor ) /* adjust data origin */ - dev->usbDev.Caps.Positive.DataOrigin.x -= dev->adj.tpa.x; - dev->usbDev.Caps.Positive.DataOrigin.y -= dev->adj.tpa.y; + dev->usbDev.Caps.Positive.DataOrigin.x -= dev->adj.tpa.x; + dev->usbDev.Caps.Positive.DataOrigin.y -= dev->adj.tpa.y; - dev->usbDev.Caps.Negative.DataOrigin.x -= dev->adj.neg.x; - dev->usbDev.Caps.Negative.DataOrigin.y -= dev->adj.neg.y; + dev->usbDev.Caps.Negative.DataOrigin.x -= dev->adj.neg.x; + dev->usbDev.Caps.Negative.DataOrigin.y -= dev->adj.neg.y; - dev->usbDev.Caps.Normal.DataOrigin.x -= dev->adj.pos.x; + dev->usbDev.Caps.Normal.DataOrigin.x -= dev->adj.pos.x; dev->usbDev.Caps.Normal.DataOrigin.y -= dev->adj.pos.y; /** adjust shading position @@ -297,13 +297,13 @@ usb_initDev( Plustek_Device *dev, int idx, int handle, int vendor ) sParam.Size.dwPixels = 0; /* create calibration-filename */ - sprintf( tmp_str2, "%s-%s", + sprintf( tmp_str2, "%s-%s", dev->sane.vendor, dev->usbDev.ModelStr ); if( !usb_normFileName( tmp_str2, tmp_str1, PATH_MAX )) { strcpy( tmp_str1, "plustek-default" ); } - + ptr = getenv ("HOME"); if( NULL == ptr ) { sprintf( tmp_str2, "/tmp/%s", tmp_str1 ); @@ -378,7 +378,7 @@ static int usb_CheckForPlustekDevice( int handle, Plustek_Device *dev ) /* now roam through the setting list... */ strncpy( tmp, dev->usbId, 13 ); tmp[13] = '\0'; - + sprintf( pcbStr, "-%u", pcbID ); strcat ( tmp, pcbStr ); @@ -392,7 +392,7 @@ static int usb_CheckForPlustekDevice( int handle, Plustek_Device *dev ) return handle; } } - + return -1; } @@ -416,7 +416,7 @@ static void usbDev_shutdown( Plustek_Device *dev ) DBG( _DBG_INFO, "Waiting for scanner-ready...\n" ); usb_IsScannerReady( dev ); - + if( 0 != dev->usbDev.bLampOffOnEnd ) { DBG( _DBG_INFO, "Switching lamp off...\n" ); @@ -439,7 +439,7 @@ static void usbDev_shutdown( Plustek_Device *dev ) static SANE_Bool usb_IsDeviceInList( char *usbIdStr ) { int i; - + for( i = 0; NULL != Settings[i].pIDString; i++ ) { if( 0 == strncmp( Settings[i].pIDString, usbIdStr, 13 )) @@ -516,7 +516,7 @@ usbGetList( DevList **devs ) il = SANE_TRUE; break; } - } + } if( il ) { DBG( _DBG_INFO2, "Already in list: 0x%04x-0x%04x\n", v, p ); continue; @@ -528,7 +528,7 @@ usbGetList( DevList **devs ) sanei_usb_find_devices( v, p, usb_attach ); if( getLast(*devs) != tmp ) { - + if( tmp == NULL ) tmp = *devs; else @@ -547,7 +547,7 @@ usbGetList( DevList **devs ) DBG( _DBG_INFO, "NONE.\n" ); for( tmp = *devs; tmp; tmp = tmp->next ) { - DBG( _DBG_INFO, "Device: >%s< - 0x%04xx0x%04x\n", + DBG( _DBG_INFO, "Device: >%s< - 0x%04xx0x%04x\n", tmp->dev_name, tmp->vendor_id, tmp->device_id ); } } @@ -568,7 +568,7 @@ static int usbDev_open( Plustek_Device *dev, DevList *devs, int keep_lock ) SANE_Status status; DevList *tmp; - DBG( _DBG_INFO, "usbDev_open(%s,%s) - %p\n", + DBG( _DBG_INFO, "usbDev_open(%s,%s) - %p\n", dev->name, dev->usbId, (void*)devs ); /* preset our internal usb device structure */ @@ -576,7 +576,7 @@ static int usbDev_open( Plustek_Device *dev, DevList *devs, int keep_lock ) /* devs is NULL, when called from sane_start */ if( devs ) { - + dn[0] = '\0'; if( !strcmp( dev->name, "auto" )) { @@ -618,7 +618,7 @@ static int usbDev_open( Plustek_Device *dev, DevList *devs, int keep_lock ) status = sanei_usb_open( dn, &handle ); if( SANE_STATUS_GOOD != status ) { - DBG( _DBG_ERROR, "sanei_usb_open failed: %s (%d)\n", + DBG( _DBG_ERROR, "sanei_usb_open failed: %s (%d)\n", strerror(errno), errno); sanei_access_unlock( dev->sane.name ); return -1; @@ -629,7 +629,7 @@ static int usbDev_open( Plustek_Device *dev, DevList *devs, int keep_lock ) */ free( dev->name ); dev->name = strdup(dn); - dev->sane.name = dev->name; + dev->sane.name = dev->name; } else { @@ -641,7 +641,7 @@ static int usbDev_open( Plustek_Device *dev, DevList *devs, int keep_lock ) status = sanei_usb_open( dev->name, &handle ); if( SANE_STATUS_GOOD != status ) { - DBG( _DBG_ERROR, "sanei_usb_open failed: %s (%d)\n", + DBG( _DBG_ERROR, "sanei_usb_open failed: %s (%d)\n", strerror(errno), errno); sanei_access_unlock( dev->sane.name ); return -1; @@ -659,7 +659,7 @@ static int usbDev_open( Plustek_Device *dev, DevList *devs, int keep_lock ) DBG(_DBG_INFO,"Vendor ID=0x%04X, Product ID=0x%04X\n",vendor,product); if( dev->usbId[0] != '\0' ) { - + if( 0 != strcmp( dev->usbId, devStr )) { DBG( _DBG_ERROR, "Specified Vendor and Product ID " "doesn't match with the ones\n" @@ -735,9 +735,9 @@ static int usbDev_open( Plustek_Device *dev, DevList *devs, int keep_lock ) * product ID and up to 7 different devices... */ if( 0x07B3 == vendor ) { - + handle = usb_CheckForPlustekDevice( handle, dev ); - + if( was_empty ) dev->usbId[0] = '\0'; @@ -746,7 +746,7 @@ static int usbDev_open( Plustek_Device *dev, DevList *devs, int keep_lock ) sanei_access_unlock( dev->sane.name ); return handle; } - + } else { /* now roam through the setting list... */ @@ -853,9 +853,9 @@ static int usbDev_setMap( Plustek_Device *dev, SANE_Word *map, DBG(_DBG_INFO,"Setting map[%u] at 0x%08lx\n",channel,(unsigned long)map); _VAR_NOT_USED( dev ); - + if( channel == _MAP_MASTER ) { - + for( i = 0; i < length; i++ ) { a_bMap[i] = (SANE_Byte)map[i]; a_bMap[length +i] = (SANE_Byte)map[i]; @@ -939,7 +939,7 @@ usbDev_setScanEnv( Plustek_Device *dev, ScanInfo *si ) usb_GetImageInfo ( dev, &si->ImgDef, &scan->sParam.Size ); /* mask the flags */ - scan->dwFlag = si->ImgDef.dwFlag & + scan->dwFlag = si->ImgDef.dwFlag & (SCANFLAG_bgr | SCANFLAG_BottomUp | SCANFLAG_Calibration | SCANFLAG_DWORDBoundary | SCANFLAG_RightAlign | SCANFLAG_StillModule | SCANDEF_Adf | SCANDEF_ContinuousScan); @@ -1141,10 +1141,10 @@ usbDev_Prepare( Plustek_Device *dev, SANE_Byte *buf ) /* CIS devices need special handling... */ if( usb_IsCISDevice(dev)) { use_alt_cal = SANE_TRUE; - + } else { - if( dev->adj.altCalibrate ) + if( dev->adj.altCalibrate ) use_alt_cal = SANE_TRUE; } @@ -1350,16 +1350,16 @@ usbDev_Prepare( Plustek_Device *dev, SANE_Byte *buf ) if( !usb_ScanBegin( dev, (scan->dwFlag&SCANFLAG_StillModule) ? SANE_FALSE:SANE_TRUE)) { - + return _E_INTERNAL; } - + scan->dwFlag |= SCANFLAG_Scanning; if( scan->sParam.UserDpi.y != scan->sParam.PhyDpi.y ) { - + if( scan->sParam.UserDpi.y < scan->sParam.PhyDpi.y ) { - + scan->wSumY = scan->sParam.PhyDpi.y - scan->sParam.UserDpi.y; scan->dwFlag |= SCANFLAG_SampleY; DBG( _DBG_INFO, "SampleY Flag set (%u != %u, wSumY=%u)\n", @@ -1374,7 +1374,7 @@ usbDev_Prepare( Plustek_Device *dev, SANE_Byte *buf ) * as the SANE stuff already forked the driver to read data, I think * we should only read data by using a function... */ - scan->dwLinesUser = scan->sParam.Size.dwLines; + scan->dwLinesUser = scan->sParam.Size.dwLines; if( !scan->dwLinesUser ) return _E_BUFFER_TOO_SMALL; @@ -1388,10 +1388,10 @@ usbDev_Prepare( Plustek_Device *dev, SANE_Byte *buf ) scan->UserBuf.pb = buf; DBG(_DBG_INFO,"Reading the data now!\n" ); - DBG(_DBG_INFO,"PhyDpi.x = %u\n", scan->sParam.PhyDpi.x ); - DBG(_DBG_INFO,"PhyDpi.y = %u\n", scan->sParam.PhyDpi.y ); - DBG(_DBG_INFO,"UserDpi.x = %u\n", scan->sParam.UserDpi.x ); - DBG(_DBG_INFO,"UserDpi.y = %u\n", scan->sParam.UserDpi.y ); + DBG(_DBG_INFO,"PhyDpi.x = %u\n", scan->sParam.PhyDpi.x ); + DBG(_DBG_INFO,"PhyDpi.y = %u\n", scan->sParam.PhyDpi.y ); + DBG(_DBG_INFO,"UserDpi.x = %u\n", scan->sParam.UserDpi.x ); + DBG(_DBG_INFO,"UserDpi.y = %u\n", scan->sParam.UserDpi.y ); DBG(_DBG_INFO,"NumberOfScanBufs = %lu\n",scan->dwNumberOfScanBufs); DBG(_DBG_INFO,"LinesPerScanBufs = %lu\n",scan->dwLinesPerScanBufs); DBG(_DBG_INFO,"dwPhyBytes = %lu\n",scan->sParam.Size.dwPhyBytes); diff --git a/backend/plustek-usb.h b/backend/plustek-usb.h index 0f001c9..d989749 100644 --- a/backend/plustek-usb.h +++ b/backend/plustek-usb.h @@ -297,17 +297,14 @@ enum _BUTTONS _PORT2 = ((_MIO5 | _MIO6) << _BUTTON_SHIFT) }; -enum _PAPER_SENSE -{ - _PS_INP1 = (0x01 << _PSENSE_SHIFT), - _PS_INP2 = (0x02 << _PSENSE_SHIFT), - _PS_INP_MIO1 = (_MIO1 << (_PSENSE_SHIFT+2)), - _PS_INP_MIO2 = (_MIO2 << (_PSENSE_SHIFT+2)), - _PS_INP_MIO3 = (_MIO3 << (_PSENSE_SHIFT+2)), - _PS_INP_MIO4 = (_MIO4 << (_PSENSE_SHIFT+2)), - _PS_INP_MIO5 = (_MIO5 << (_PSENSE_SHIFT+2)), - _PS_INP_MIO6 = (_MIO6 << (_PSENSE_SHIFT+2)) -}; +#define _PS_INP1 (0x01 << _PSENSE_SHIFT) +#define _PS_INP2 (0x02 << _PSENSE_SHIFT) +#define _PS_INP_MIO1 (_MIO1 << (_PSENSE_SHIFT+2)) +#define _PS_INP_MIO2 (_MIO2 << (_PSENSE_SHIFT+2)) +#define _PS_INP_MIO3 (_MIO3 << (_PSENSE_SHIFT+2)) +#define _PS_INP_MIO4 (_MIO4 << (_PSENSE_SHIFT+2)) +#define _PS_INP_MIO5 (_MIO5 << (_PSENSE_SHIFT+2)) +#define _PS_INP_MIO6 (_MIO6 << (_PSENSE_SHIFT+2)) /** for encoding a misc I/O register as TPA */ #define _TPA(register) ((u_long)(register << _TPA_SHIFT)) @@ -381,7 +378,7 @@ enum SCANFLAG SCANFLAG_BottomUp = 0x00008000, SCANFLAG_DWORDBoundary = 0x00020000, SCANFLAG_RightAlign = 0x00040000, - SCANFLAG_StillModule = 0x00080000, + SCANFLAG_StillModule = 0x00080000, SCANFLAG_Pseudo48 = 0x08000000, SCANFLAG_SampleY = 0x04000000, SCANFLAG_Calibration = 0x10000000, @@ -469,10 +466,10 @@ typedef struct HWDefault u_char bReg_0x0f_Mono [10]; /* 0x0f to 0x18 */ u_char bReg_0x0f_Color [10]; /* 0x0f to 0x18 */ - /* color mode settings */ + /* color mode settings */ u_char bReg_0x26; u_char bReg_0x27; - + /* illumination mode reg 0x29 (runtime) */ u_char bReg_0x29; @@ -484,7 +481,7 @@ typedef struct HWDefault * format, you have to pay your attention when you * write this value to register. */ - u_short StepperPhaseCorrection; + u_short StepperPhaseCorrection; /* Sensor Pixel Configuration * Actually, the wActivePixelsStart will be set to 0 for shading purpose. @@ -656,11 +653,11 @@ typedef struct ScanDef AnyPtr Green; AnyPtr Red; AnyPtr Blue; - + long lBufAdjust; /**< bytes to adjust buffer pointer */ /* after a image line processed */ u_short wSumY; /**< for line sampling */ - + u_char bLineDistance; /**< Color offset in specific dpi y */ int fGrayFromColor; /**< channel to use for gray mode */ diff --git a/backend/plustek-usbcal.c b/backend/plustek-usbcal.c index f2e7608..3b9d93a 100644 --- a/backend/plustek-usbcal.c +++ b/backend/plustek-usbcal.c @@ -21,7 +21,7 @@ * or can test. * * Therefore, I'm splitting out a few calibration functions I need - * to modify for the CanoScan which allows me to simplify things + * to modify for the CanoScan which allows me to simplify things * greatly for the CanoScan without worrying about breaking other * scanners, as well as reuse the vast majority of the Plustek * driver infrastructure without forking. @@ -109,7 +109,7 @@ cano_PrepareToReadWhiteCal( Plustek_Device *dev, SANE_Bool mv2shading_pos ) { SANE_Bool goto_shading_pos = SANE_TRUE; HWDef *hw = &dev->usbDev.HwSetting; - + switch (strip_state) { case 0: if( !usb_IsSheetFedDevice(dev)) { @@ -152,7 +152,7 @@ cano_PrepareToReadBlackCal( Plustek_Device *dev ) if( strip_state == 0 ) if(cano_PrepareToReadWhiteCal(dev, SANE_FALSE)) return SANE_FALSE; - + if( strip_state != 2 ) { /* * if we have a dark shading strip, there's no need to switch @@ -203,7 +203,7 @@ cano_LampOnAfterCalibration( Plustek_Device *dev ) * @param max - pointer to the max OFF point for the CIS-channel * @param off - pointer to the current OFF point of the CIS-channel * @param val - current value to check - * @return returns 0 if the value is fine, 1, if we need to adjust + * @return returns 0 if the value is fine, 1, if we need to adjust */ static int cano_adjLampSetting( u_short *min, u_short *max, u_short *off, u_short val ) @@ -249,7 +249,7 @@ cano_adjLampSetting( u_short *min, u_short *max, u_short *off, u_short val ) * coarse calibration step 0 * [Monty changes]: On the CanoScan at least, the default lamp * settings are several *hundred* percent too high and vary from - * scanner-to-scanner by 20-50%. This is only for CIS devices + * scanner-to-scanner by 20-50%. This is only for CIS devices * where the lamp_off parameter is adjustable; I'd make it more general, * but I only have the CIS hardware to test. */ @@ -305,7 +305,7 @@ cano_AdjustLightsource( Plustek_Device *dev ) min_rgb.Green = hw->green_lamp_on; min_rgb.Blue = hw->blue_lamp_on; - if((dev->adj.rlampoff != -1) && + if((dev->adj.rlampoff != -1) && (dev->adj.glampoff != -1) && (dev->adj.rlampoff != -1)) { DBG( _DBG_INFO, "- function skipped, using frontend values!\n" ); return SANE_TRUE; @@ -393,10 +393,10 @@ cano_AdjustLightsource( Plustek_Device *dev ) DBG( _DBG_INFO2, "red_lamp_off = %u/%u/%u\n", min_rgb.Red ,hw->red_lamp_off, max_rgb.Red ); } - + DBG( _DBG_INFO2, "green_lamp_off = %u/%u/%u\n", min_rgb.Green, hw->green_lamp_off, max_rgb.Green ); - + if( m_ScanParam.bDataType == SCANDATATYPE_Color ) { DBG( _DBG_INFO2, "blue_lamp_off = %u/%u/%u\n", min_rgb.Blue, hw->blue_lamp_off, max_rgb.Blue ); @@ -528,7 +528,7 @@ cano_AdjustGain( Plustek_Device *dev ) DBG( _DBG_INFO, "cano_AdjustGain()\n" ); if( !usb_InCalibrationMode(dev)) { - if((dev->adj.rgain != -1) && + if((dev->adj.rgain != -1) && (dev->adj.ggain != -1) && (dev->adj.bgain != -1)) { setAdjGain( dev->adj.rgain, &dev->usbDev.a_bRegs[0x3b] ); setAdjGain( dev->adj.ggain, &dev->usbDev.a_bRegs[0x3c] ); @@ -559,11 +559,11 @@ cano_AdjustGain( Plustek_Device *dev ) DBG( _DBG_INFO2, "Pixels = %lu\n", m_ScanParam.Size.dwPixels ); DBG( _DBG_INFO2, "Bytes = %lu\n", m_ScanParam.Size.dwBytes ); DBG( _DBG_INFO2, "Origin.X = %u\n", m_ScanParam.Origin.x ); - + while( adj ) { m_ScanParam.dMCLK = dMCLK; - + if( !usb_SetScanParameters( dev, &m_ScanParam )) return SANE_FALSE; @@ -615,7 +615,7 @@ cano_AdjustGain( Plustek_Device *dev ) dwR = dwR / dwDiv; dwG = dwG / dwDiv; dwB = dwB / dwDiv; - + if(max_rgb.Red < dwR) max_rgb.Red = dwR; if(max_rgb.Green < dwG) @@ -764,7 +764,7 @@ cano_AdjustOffset( Plustek_Device *dev ) u_long *scanbuf = dev->scanning.pScanBuffer; HWDef *hw = &dev->usbDev.HwSetting; DCapsDef *scaps = &dev->usbDev.Caps; - + if( usb_IsEscPressed()) return SANE_FALSE; @@ -977,13 +977,13 @@ cano_AdjustDarkShading( Plustek_Device *dev, u_short cal_dpi ) /* average the n lines, compute reg values */ if( scan->sParam.bDataType == SCANDATATYPE_Color ) { - + stepW = m_ScanParam.Size.dwPhyPixels; if( usb_IsCISDevice(dev)) step = m_ScanParam.Size.dwPhyPixels + 1; else step = (m_ScanParam.Size.dwPhyPixels*3) + 1; - + for( i=0; ifCalibrated = SANE_TRUE; - + DBG( _DBG_INFO, "cano_DoCalibration() done\n" ); DBG( _DBG_INFO, "-------------------------\n" ); DBG( _DBG_INFO, "Static Gain:\n" ); diff --git a/backend/plustek-usbcalfile.c b/backend/plustek-usbcalfile.c index afea3f9..6f5a364 100644 --- a/backend/plustek-usbcalfile.c +++ b/backend/plustek-usbcalfile.c @@ -67,7 +67,7 @@ typedef struct { u_long blue_light_on; u_long blue_light_off; u_long green_pwm_duty; - + } LightCtrl; typedef struct { @@ -106,7 +106,7 @@ usb_ReadSpecLine( FILE *fp, char *id, char* res ) { char tmp[1024]; char *ptr; - + /* rewind file pointer */ if( 0 != fseek( fp, 0L, SEEK_SET)) { DBG( _DBG_ERROR, "fseek: %s\n", strerror(errno)); @@ -124,7 +124,7 @@ usb_ReadSpecLine( FILE *fp, char *id, char* res ) ptr = &tmp[strlen(id)]; if( '\0' == *ptr ) break; - + strcpy( res, ptr ); res[strlen(res)-1] = '\0'; return SANE_TRUE; @@ -176,7 +176,7 @@ usb_ReadOtherLines( FILE *fp, char *except ) /* we ignore the version line... */ if( 0 == strncmp( tmp, "version=", 8 )) continue; - + if( !ignore ) { if(0 != strncmp(tmp, except, strlen(except))) { @@ -225,9 +225,9 @@ usb_ReadSamples( FILE *fp, char *which, u_long *dim, u_short *buffer ) if( NULL != fgets( rb, 1024, fp )) { /* we ignore the version line... */ - if( 0 == strncmp( tmp, "version=", 8 )) + if( 0 == strncmp( tmp, "version=", 8 )) continue; - + p = tmp; if( !ignore && diml == 0) { if(0 == strncmp(tmp, which, strlen(which))) { @@ -271,7 +271,7 @@ usb_ReadSamples( FILE *fp, char *which, u_long *dim, u_short *buffer ) /* reached the end? */ if( *next == '\0' ) { - /* we probably have only parsed a part of a value + /* we probably have only parsed a part of a value * so we copy that back to the input buffer and * parse it the next time... */ @@ -372,7 +372,7 @@ usb_ReadAndSetCalData( Plustek_Device *dev ) FILE *fp; CalData cal; SANE_Bool ret; - + DBG( _DBG_INFO, "usb_ReadAndSetCalData()\n" ); if( usb_InCalibrationMode(dev)) { @@ -388,7 +388,7 @@ usb_ReadAndSetCalData( Plustek_Device *dev ) sprintf( tmp, "%s-coarse.cal", dev->calFile ); DBG( _DBG_INFO, "- Reading coarse calibration data from file\n"); DBG( _DBG_INFO, " %s\n", tmp ); - + fp = fopen( tmp, "r" ); if( NULL == fp ) { DBG( _DBG_ERROR, "File %s not found\n", tmp ); @@ -416,7 +416,7 @@ usb_ReadAndSetCalData( Plustek_Device *dev ) } usb_CreatePrefix( dev, pfx, SANE_TRUE ); - + ret = SANE_FALSE; if( usb_ReadSpecLine( fp, pfx, tmp )) { DBG( _DBG_INFO, "- Calibration data: %s\n", tmp ); @@ -445,7 +445,7 @@ usb_ReadAndSetCalData( Plustek_Device *dev ) fclose( fp ); DBG( _DBG_INFO, "usb_ReadAndSetCalData() done -> %u\n", ret ); - + return ret; } @@ -526,7 +526,7 @@ usb_SaveCalData( Plustek_Device *dev ) other_tmp = NULL; fp = fopen( fn, "r+" ); if( NULL != fp ) { - + if( usb_ReadSpecLine( fp, "version=", tmp )) { DBG( _DBG_INFO, "- Calibration file version: %s\n", tmp ); @@ -553,7 +553,7 @@ usb_SaveCalData( Plustek_Device *dev ) if( NULL == fp ) { DBG( _DBG_ERROR, "- Cannot create file %s\n", fn ); DBG( _DBG_ERROR, "- -> %s\n", strerror(errno)); - if( other_tmp ) + if( other_tmp ) free( other_tmp ); return; } @@ -603,7 +603,7 @@ usb_SaveFineCalData( Plustek_Device *dev, int dpi, other_tmp = NULL; fp = fopen( fn, "r+" ); if( NULL != fp ) { - + if( usb_ReadSpecLine( fp, "version=", tmp )) { DBG( _DBG_INFO, "- Calibration file version: %s\n", tmp ); @@ -664,7 +664,7 @@ usb_ReadFineCalData( Plustek_Device *dev, int dpi, char tmp[1024]; u_short version; FILE *fp; - + DBG( _DBG_INFO, "usb_ReadFineCalData()\n" ); if( usb_InCalibrationMode(dev)) { DBG( _DBG_INFO, "- we are in calibration mode!\n" ); diff --git a/backend/plustek-usbdevs.c b/backend/plustek-usbdevs.c index 4f53863..8698e54 100644 --- a/backend/plustek-usbdevs.c +++ b/backend/plustek-usbdevs.c @@ -115,7 +115,7 @@ * If you do not wish that, delete this exception notice. *
*/ - + /* the other stuff is included by plustek.c ...*/ #include "plustek-usb.h" @@ -146,11 +146,11 @@ static DCapsDef Cap0x07B3_0x0017_0 = }, { /* Negative */ {1004 + 55, 744 + 12}, /* DataOrigin (X: 7cm + 1.5cm, Y: 8mm + 5.5cm)*/ - + /* 533 blaustichig */ 537 /* hell */ /* 543 gruenstichig */ - + /*543*/, -1, /* ShadingOriginY (Y: 8mm + 3.8cm) */ {567, 414}, /* Size (X: 4.8cm, Y: 3.5cm) */ {150, 150} /* MinDpi */ @@ -332,7 +332,7 @@ static DCapsDef Cap0x07B3_0x0013_4 = {{1004 + 20, 744 - 20}, 543, -1, { 567, 414}, {150, 150}}, {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}}, {1200, 1200}, - DEVCAPSFLAG_Positive + DEVCAPSFLAG_Negative, + DEVCAPSFLAG_Positive + DEVCAPSFLAG_Negative, SENSORORDER_rgb, 12, 4, kNEC3778, 0x03, _WAF_NONE, _NO_MIO }; @@ -844,7 +844,7 @@ static HWDef Hw0x07B3_0x0017_0 = {2, 7, 0, 1, 0, 0, 0, 0, 4, 0}, /* bReg_0x0f_Color [10] (0x0f to 0x18) */ {5, 23, 1, 3, 0, 0, 0, 12, 10, 22}, - + _GREEN_CH, /* bReg_0x26 color mode - bits 4 and 5 */ 0, /* bReg 0x27 color mode */ @@ -1102,9 +1102,9 @@ static HWDef Hw0x07B3_0x0013_0 = 0, 0x1e, 0xa8, - 0, + 0, 0xff, - 64, + 64, 20, 0x0d, 0x22, 0x82, 0x88, 0, 0, 0, @@ -1128,15 +1128,15 @@ static HWDef Hw0x07B3_0x0013_4 = {20, 4, 13, 16, 19, 22, 0, 0, 23, 11}, _GREEN_CH, 0, - 1, + 1, /* illumination mode settings (not used for CCD devices) */ { 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0 }, 1, 13, - 62, - 320, - 10684, + 62, + 320, + 10684, 0, 16383, 0, @@ -1164,9 +1164,9 @@ static HWDef Hw0x07B3_0x000F_4 = { 1.1, 0.9, 0.0, 12, 12, - 600, - 2048, - 8, 8, + 600, + 2048, + 8, 8, 4095, 4095, 0x06, 0x30, 0x2f, 0x2a, {2, 7, 5, 6, 6, 7, 0, 0, 0, 5}, @@ -1259,7 +1259,7 @@ static HWDef Hw0x07B3_0x0017_4 = 8, 8, 4095, 4095, 0x06, 0x20, 0x2f, 0x2a, - {2, 7, 5, 6, 6, 7, 0, 0, 0, 5}, + {2, 7, 5, 6, 6, 7, 0, 0, 0, 5}, {20, 4, 13, 16, 19, 22, 0, 0, 23, 11}, _GREEN_CH, 0, @@ -1327,7 +1327,7 @@ static HWDef Hw0x07B3_0x0017_1 = 0, 0x1e, 0xa8, - 0, + 0, 0xff, 64, 20, @@ -1414,7 +1414,7 @@ static HWDef Hw0x07B3_0x0017_2 = 0, 16383, 3, - 0, + 0, 0x1e, 0xa8, 0, @@ -1498,10 +1498,10 @@ static HWDef Hw0x03F0_0x0505 = /* bReg_0x0f_Color[10] (0x0f to 0x18) */ { 0x08, 0x17, 0x00, 0x03, 0x08, 0x0b, 0x00, 0x00, 0x0a, 0x14 }, - + _GREEN_CH, /* bReg_0x26 color mode - bits 4 and 5 */ 0, /* bReg 0x27 color mode */ - + 1, /* bReg 0x29 illumination mode */ /* illumination mode settings (not used for CCD devices) */ @@ -1520,7 +1520,7 @@ static HWDef Hw0x03F0_0x0505 = 1, /* green lamp off (reg 0x32 + 0x33) */ 16383, /* blue lamp on (reg 0x34 + 0x35) */ 1, /* blue lamp off (reg 0x36 + 0x37) */ - + /* Misc */ 0x13, /* bReg_0x45 */ 0, /* wStepsAfterPaperSensor2 (0x4c & 0x4d) */ @@ -1566,7 +1566,7 @@ static HWDef Hw0x03F0_0x0605 = /* bReg_0x0f_Color[10] (0x0f to 0x18) */ { 0x08, 0x17, 0x00, 0x03, 0x08, 0x0b, 0x00, 0x00, 0x0a, 0x14 }, - + _GREEN_CH, /* bReg_0x26 color mode - bits 4 and 5 */ 0, /* bReg 0x27 color mode */ 1, /* bReg 0x29 illumination mode */ @@ -1587,7 +1587,7 @@ static HWDef Hw0x03F0_0x0605 = 1, /* green lamp off (reg 0x32 + 0x33) */ 16383, /* blue lamp on (reg 0x34 + 0x35) */ 1, /* blue lamp off (reg 0x36 + 0x37) */ - + /* Misc */ 0x13, /* bReg_0x45 */ 0, /* wStepsAfterPaperSensor2 (0x4c & 0x4d) */ @@ -1985,7 +1985,7 @@ static HWDef Hw0x1606_0x0060 = 0, /* test mode ADC Output CODE MSB (reg 0x5c) */ 0, /* test mode ADC Output CODE LSB (reg 0x5d) */ 0, /* test mode (reg 0x5e) */ - _LM9832, + _LM9832, MODEL_UMAX, 1.0 }; @@ -2019,7 +2019,7 @@ static HWDef Hw0x1606_0x0160 = _GREEN_CH, /* bReg_0x26 color mode - bits 4 and 5 */ 0x40, /* bReg 0x27 color mode */ 1, /* bReg 0x29 illumination mode */ - + /* illumination mode settings (not used for CCD devices) */ { 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0 }, @@ -2807,7 +2807,7 @@ static SetDef Settings[] = {"0x1606-0x0050", &Cap0x1606_0x0060, &Hw0x1606_0x0060, "3400" }, {"0x1606-0x0060", &Cap0x1606_0x0060, &Hw0x1606_0x0060, "3400" }, {"0x1606-0x0160", &Cap0x1606_0x0160, &Hw0x1606_0x0160, "5400" }, - + /* COMPAQ... */ {"0x049F-0x001A", &Cap0x1606_0x0060, &Hw0x1606_0x0060, "S4-100" }, diff --git a/backend/plustek-usbhw.c b/backend/plustek-usbhw.c index a1dae68..05d3cc7 100644 --- a/backend/plustek-usbhw.c +++ b/backend/plustek-usbhw.c @@ -27,7 +27,7 @@ * - 0.45 - added function usb_AdjustLamps() to tweak CIS lamp settings * - fixed NULL pointer problem in lamp-off ISR * - added usb_AdjustCISLampSettings() - * - skipping warmup for CIS devices + * - skipping warmup for CIS devices * - 0.46 - fixed problem in usb_GetLampStatus for CIS devices, as we * read back reg[0x29] to wrong position * made it compile without itimer definitions @@ -46,7 +46,7 @@ * - 0.50 - added button support for Plustek/Genius devices * - changed behaviour of usb_IsScannerReady * - added special misc I/O setup for CIS devices (usb_ResetRegisters) - * - 0.51 - change usb_AdjustLamps() and use it now in usb_switchLamp() + * - 0.51 - change usb_AdjustLamps() and use it now in usb_switchLamp() * - added usb_Wait4ScanSample() and usb_InCalibrationMode() * - tweaked EjectPaper to work correctly with the supported sheet-fed * devices @@ -97,7 +97,7 @@ * If you do not wish that, delete this exception notice. *
*/ -#ifdef HAVE_SYS_TIME_H +#ifdef HAVE_SYS_TIME_H #include #endif @@ -228,7 +228,7 @@ static SANE_Bool usb_IsScannerReady( Plustek_Device *dev ) { u_char value; - double len; + double len; long timeout; struct timeval t; SANE_Status res; @@ -242,10 +242,10 @@ usb_IsScannerReady( Plustek_Device *dev ) if( len < 10 ) len = 10; - gettimeofday( &t, NULL); + gettimeofday( &t, NULL); timeout = t.tv_sec + len; - do { + do { res = usbio_ReadReg( dev->fd, 7, &value); if( res != SANE_STATUS_GOOD ) { sleep(1); @@ -262,14 +262,14 @@ usb_IsScannerReady( Plustek_Device *dev ) return SANE_FALSE; } else { - return SANE_TRUE; + return SANE_TRUE; } } } gettimeofday( &t, NULL); - + } while( t.tv_sec < timeout ); - + DBG( _DBG_ERROR, "Scanner not ready!!!\n" ); return SANE_FALSE; } @@ -382,10 +382,10 @@ usb_WaitPos( Plustek_Device *dev, u_long to, SANE_Bool stay ) if( maxf < 5.0 ) maxf = 5.0; DBG( _DBG_INFO2, ">>>> CURRENT MCLK_DIV = %u\n", mclk_div ); - DBG( _DBG_INFO2, ">>>> MCH = %u\n", mch ); - DBG( _DBG_INFO2, ">>>> FFS = %u\n", ffs ); - DBG( _DBG_INFO2, ">>>> HIGH-SPEED = %.3f (%.3f)\n", - speed, hw->dHighSpeed); + DBG( _DBG_INFO2, ">>>> MCH = %u\n", mch ); + DBG( _DBG_INFO2, ">>>> FFS = %u\n", ffs ); + DBG( _DBG_INFO2, ">>>> HIGH-SPEED = %.3f (%.3f)\n", + speed, hw->dHighSpeed); DBG( _DBG_INFO2, ">>>> MIN_FFS = %u (%.3f)\n", min_ffs, maxf); } @@ -407,7 +407,7 @@ usb_WaitPos( Plustek_Device *dev, u_long to, SANE_Bool stay ) break; if( min_ffs != 0xffff ) { - + fac = maxf/step; if( ffs ) { if((u_short)fac < ffs ) { @@ -432,7 +432,7 @@ usb_WaitPos( Plustek_Device *dev, u_long to, SANE_Bool stay ) if(ffs == min_ffs ) ffs = 0; } else { - + if( !stay ) { retval = SANE_TRUE; break; @@ -609,7 +609,7 @@ usb_ModuleMove( Plustek_Device *dev, u_char action, u_long dwStep ) } else { return SANE_TRUE; } - + retval = SANE_FALSE; /* start the sensor... */ @@ -633,9 +633,9 @@ usb_ModuleMove( Plustek_Device *dev, u_char action, u_long dwStep ) return SANE_TRUE; } - gettimeofday(&t2, NULL); + gettimeofday(&t2, NULL); if( t2.tv_sec > secs ) - break; + break; } } else if( action == MOVE_SkipPaperSensor ) { @@ -648,7 +648,7 @@ usb_ModuleMove( Plustek_Device *dev, u_char action, u_long dwStep ) return SANE_TRUE; } - gettimeofday(&t2, NULL); + gettimeofday(&t2, NULL); if( t2.tv_sec > secs ) break; } @@ -750,7 +750,7 @@ usb_ModuleToHome( Plustek_Device *dev, SANE_Bool fWait ) regs[0x57] = 16; } break; - + case MODEL_KaoHsiung: default: regs[0x56] = 64; @@ -822,7 +822,7 @@ usb_ModuleToHome( Plustek_Device *dev, SANE_Bool fWait ) if( hw->motorModel == MODEL_Tokyo600) { u_long dwSpeedUp = GetTickCount () + 250; - + /* while(GetTickCount () < dwSpeedUp) */ while((int)(dwSpeedUp - GetTickCount ()) > 0) { @@ -832,9 +832,9 @@ usb_ModuleToHome( Plustek_Device *dev, SANE_Bool fWait ) if (!value) return TRUE; } - wFastFeedStepSize = (WORD)(CRYSTAL_FREQ / + wFastFeedStepSize = (WORD)(CRYSTAL_FREQ / (6UL * 8UL * 1 * Device.HwSetting.dMaxMotorSpeed * 4 * - Device.HwSetting.wMotorDpi) * 60 / 78); + Device.HwSetting.wMotorDpi) * 60 / 78); regs[0x48] = (u_char)(wFastFeedStepSize >> 8); regs[0x49] = (u_char)(wFastFeedStepSize & 0xFF); WriteRegisters(0x48, ®s[0x48], 2); @@ -856,22 +856,22 @@ usb_MotorSelect( Plustek_Device *dev, SANE_Bool fADF ) if(!_IS_PLUSTEKMOTOR(hw->motorModel)) { return SANE_TRUE; } - + if( fADF ) { if( sCaps->bCCD == kNEC3778 ) { - + hw->wMotorDpi = 300; hw->dMaxMotorSpeed = 1.5; hw->dMaxMoveSpeed = 1.5; sCaps->OpticDpi.y = 600; } regs[0x5b] |= 0x80; - + } else { - + if( sCaps->bCCD == kNEC3778 ) { - + hw->wMotorDpi = 600; hw->dMaxMotorSpeed = 1.1; hw->dMaxMoveSpeed = 0.9; @@ -1131,7 +1131,7 @@ usb_GetLampStatus( Plustek_Device *dev ) } } - DBG( _DBG_INFO, "LAMP-STATUS: 0x%08x (%s)\n", + DBG( _DBG_INFO, "LAMP-STATUS: 0x%08x (%s)\n", iLampStatus, iLampStatus?"on":"off" ); return iLampStatus; } @@ -1278,7 +1278,7 @@ usb_LampOn( Plustek_Device *dev, SANE_Bool fOn, SANE_Bool fResetTimer ) if( fOn ) { if( iLampStatus != lampId ) { - + DBG( _DBG_INFO, "Switching Lamp on\n" ); /* here we might have to switch off the TPA/Main lamp before @@ -1292,7 +1292,7 @@ usb_LampOn( Plustek_Device *dev, SANE_Bool fOn, SANE_Bool fResetTimer ) } memset( ®s[0x29], 0, (0x37-0x29+1)); - + regs[0x29] = hw->bReg_0x29; if( !usb_switchLamp(dev, SANE_TRUE )) { @@ -1314,12 +1314,12 @@ usb_LampOn( Plustek_Device *dev, SANE_Bool fOn, SANE_Bool fResetTimer ) sanei_lm983x_write( dev->fd, 0x29, ®s[0x29], 0x37-0x29+1, SANE_TRUE ); if( lampId != dev->usbDev.currentLamp ) { - + dev->usbDev.currentLamp = lampId; - + if( fResetTimer ) { - - gettimeofday( &t, NULL ); + + gettimeofday( &t, NULL ); dev->usbDev.dwTicksLampOn = t.tv_sec; DBG( _DBG_INFO, "Warmup-Timer started\n" ); } @@ -1329,14 +1329,14 @@ usb_LampOn( Plustek_Device *dev, SANE_Bool fOn, SANE_Bool fResetTimer ) } else { int iStatusChange = iLampStatus & ~lampId; - + if( iStatusChange != iLampStatus ) { DBG( _DBG_INFO, "Switching Lamp off\n" ); - + memset( ®s[0x29], 0, 0x37-0x29+1 ); if( !usb_switchLamp(dev, SANE_FALSE )) { - + if( iStatusChange & DEV_LampReflection ) { regs[0x2e] = 16383 / 256; regs[0x2f] = 16383 % 256; @@ -1389,7 +1389,7 @@ usb_ResetRegisters( Plustek_Device *dev ) HWDef *hw = &dev->usbDev.HwSetting; u_char *regs = dev->usbDev.a_bRegs; - DBG( _DBG_INFO, "RESETTING REGISTERS(%i) - 0x%02x\n", + DBG( _DBG_INFO, "RESETTING REGISTERS(%i) - 0x%02x\n", dev->initialized, (int) sizeof(dev->usbDev.a_bRegs)); memset( regs, 0, sizeof(dev->usbDev.a_bRegs)); @@ -1462,7 +1462,7 @@ usb_ResetRegisters( Plustek_Device *dev ) } /** function which checks if we are already in home position or not. - * + * */ static SANE_Bool usb_SensorStatus( Plustek_Device *dev ) @@ -1486,7 +1486,7 @@ usb_SensorStatus( Plustek_Device *dev ) usbio_WriteReg( dev->fd, 0x07, 0 ); usbio_WriteReg( dev->fd, 0x07, 0x20 ); usbio_WriteReg( dev->fd, 0x07, 0 ); - + sanei_lm983x_write( dev->fd, 0x58, &hw->bReg_0x58, 0x5b-0x58+1, SANE_TRUE ); usbio_ReadReg( dev->fd, 2, &value ); @@ -1632,7 +1632,7 @@ usb_Wait4Warmup( Plustek_Device *dev ) DBG(_DBG_INFO,"Warmup: skipped for CIS devices\n" ); return SANE_TRUE; } - + if( dev->adj.warmup < 0 ) return SANE_TRUE; @@ -1699,7 +1699,7 @@ usb_HasTPA( Plustek_Device *dev ) usbio_WriteReg ( dev->fd, 0x58, dev->usbDev.HwSetting.bReg_0x58 ); usbio_WriteReg ( dev->fd, 0x5a, dev->usbDev.HwSetting.bReg_0x5a ); usbio_WriteReg ( dev->fd, 0x5b, dev->usbDev.HwSetting.bReg_0x5b ); - + usbio_ReadReg ( dev->fd, 0x02, &val ); DBG( _DBG_INFO, "REG[0x02] = 0x%02x\n", val ); @@ -1707,7 +1707,7 @@ usb_HasTPA( Plustek_Device *dev ) DBG( _DBG_INFO, "UMAX-TPA detected\n" ); dev->usbDev.ModelStr = model; return SANE_TRUE; - } else + } else DBG( _DBG_INFO, "UMAX-TPA NOT detected\n" ); if( dev->adj.enableTpa ) { @@ -1716,7 +1716,7 @@ usb_HasTPA( Plustek_Device *dev ) return SANE_TRUE; } } - } + } return SANE_FALSE; } @@ -1737,7 +1737,7 @@ usb_UpdateButtonStatus( Plustek_Scanner *s ) return SANE_FALSE; status = sanei_access_lock( dev->sane.name, 3 ); - if( SANE_STATUS_GOOD != status ) + if( SANE_STATUS_GOOD != status ) return SANE_FALSE; if( -1 == dev->fd ) { @@ -1754,7 +1754,7 @@ usb_UpdateButtonStatus( Plustek_Scanner *s ) mio[0] = dev->usbDev.HwSetting.bReg_0x59; mio[1] = dev->usbDev.HwSetting.bReg_0x5a; mio[2] = dev->usbDev.HwSetting.bReg_0x5b; - + usbio_ReadReg( dev->fd, 0x07, &val ); if( val == 0 ) { @@ -1814,7 +1814,7 @@ usb_UpdateButtonStatus( Plustek_Scanner *s ) } for( i = 0; i < 3; i++ ) { - + DBG( _DBG_INFO2, "Checking MISC IO[%u]=0x%02x\n", i, mio[i] ); mask = 0x01; @@ -1822,9 +1822,9 @@ usb_UpdateButtonStatus( Plustek_Scanner *s ) if((mio[i] & mask) == 0) { DBG( _DBG_INFO2, "* port %u configured as input," - " status: %s (%u)\n", (i*2)+j+1, + " status: %s (%u)\n", (i*2)+j+1, ((val & 1)?"PRESSED":"RELEASED"), (OPT_BUTTON_0 + bc)); - s->val[OPT_BUTTON_0 + bc].w = val & 1; + s->val[OPT_BUTTON_0 + bc].w = val & 1; bc++; } val >>= 1; diff --git a/backend/plustek-usbimg.c b/backend/plustek-usbimg.c index 41c0207..0c28491 100644 --- a/backend/plustek-usbimg.c +++ b/backend/plustek-usbimg.c @@ -254,7 +254,7 @@ static void usb_AverageColorWord( Plustek_Device *dev ) if((scan->sParam.bSource == SOURCE_Negative || scan->sParam.bSource == SOURCE_Transparency) && scan->sParam.PhyDpi.x > 800) { - + scan->Red.pcw[0].Colors[0] = _HILO2WORD(scan->Red.pcw[0].HiLo[0]) >> ls; scan->Green.pcw[0].Colors[0] = _HILO2WORD(scan->Green.pcw[0].HiLo[0]) >> ls; scan->Blue.pcw[0].Colors[0] = _HILO2WORD(scan->Blue.pcw[0].HiLo[0]) >> ls; @@ -334,7 +334,7 @@ static int usb_GetScaler( ScanDef *scan ) double ratio; ratio = (double)scan->sParam.UserDpi.x/ - (double)scan->sParam.PhyDpi.x; + (double)scan->sParam.PhyDpi.x; return (int)(1.0/ratio * _SCALER); } @@ -458,7 +458,7 @@ static void usb_ColorDuplicate16_2( Plustek_Device *dev ) ls = Shift; else ls = 0; - + for( dw = 0; dw < scan->sParam.Size.dwPixels; dw++, pixels += next) { if( swap ) { @@ -484,7 +484,7 @@ static void usb_ColorDuplicate16_2( Plustek_Device *dev ) */ static void usb_ColorDuplicatePseudo16( Plustek_Device *dev ) { - int next; + int next; u_short wR, wG, wB; u_long dw, pixels; ScanDef *scan = &dev->scanning; @@ -537,7 +537,7 @@ static void usb_ColorDuplicateGray( Plustek_Device *dev ) } switch(scan->fGrayFromColor) { - + case 1: for (dw = 0; dw < scan->sParam.Size.dwPixels; dw++, pixels += next) scan->UserBuf.pb[pixels] = scan->Red.pcb[dw].a_bColor[0]; @@ -761,7 +761,7 @@ static void usb_GrayDuplicate16( Plustek_Device *dev ) ls = Shift; else ls = 0; - + pwm = scan->Green.philo; for( pixels=scan->sParam.Size.dwPixels; pixels--; pwm++, dest += next ) { if( swap ) @@ -912,7 +912,7 @@ static void usb_ColorScaleGray( Plustek_Device *dev ) ScanDef *scan = &dev->scanning; usb_AverageColorByte( dev ); - + dw = scan->sParam.Size.dwPixels; if( scan->sParam.bSource == SOURCE_ADF ) { @@ -930,19 +930,19 @@ static void usb_ColorScaleGray( Plustek_Device *dev ) } izoom = usb_GetScaler( scan ); - + for( ddax = 0; dw; src++ ) { ddax -= _SCALER; while((ddax < 0) && (dw > 0)) { scan->UserBuf.pb[pixels] = src->a_bColor[0]; - + pixels += next; ddax += izoom; dw--; } - } + } } /** @@ -1189,7 +1189,7 @@ static void usb_ColorScale8( Plustek_Device *dev ) pixels = 0; } - izoom = usb_GetScaler( scan ); + izoom = usb_GetScaler( scan ); for( bitsput = 0, ddax = 0; dw; bitsput++ ) { @@ -1341,7 +1341,7 @@ static void usb_ColorScale16_2( Plustek_Device *dev ) while((ddax < 0) && (dw > 0)) { if( swap ) { - + tmp = *((HiLoDef*)&scan->Red.pw[bitsput]); scan->UserBuf.pw_rgb[pixels].Red = _HILO2WORD(tmp) >> ls; @@ -1384,7 +1384,7 @@ static void usb_ColorScalePseudo16( Plustek_Device *dev ) next = 1; pixels = 0; } - + izoom = usb_GetScaler( scan ); wR = (u_short)scan->Red.pcb[0].a_bColor[0]; @@ -1399,13 +1399,13 @@ static void usb_ColorScalePseudo16( Plustek_Device *dev ) scan->UserBuf.pw_rgb[pixels].Red = (wR + scan->Red.pcb[bitsput].a_bColor[0]) << bShift; - + scan->UserBuf.pw_rgb[pixels].Green = (wG + scan->Green.pcb[bitsput].a_bColor[0]) << bShift; - + scan->UserBuf.pw_rgb[pixels].Blue = (wB + scan->Blue.pcb[bitsput].a_bColor[0]) << bShift; - + pixels += next; ddax += izoom; dw--; @@ -1440,7 +1440,7 @@ static void usb_BWScale( Plustek_Device *dev ) } izoom = usb_GetScaler( scan ); - + memset( dest, 0, scan->dwBytesLine ); ddax = 0; dw = 0; @@ -1454,7 +1454,7 @@ static void usb_BWScale( Plustek_Device *dev ) tmp = src[(i>>3)]; if((dw>>3) < scan->sParam.Size.dwValidPixels ) { - + if( 0 != (tmp &= (1 << ((~(i & 0x7))&0x7)))) dest[dw>>3] |= (1 << ((~(dw & 0x7))&0x7)); } @@ -1495,7 +1495,7 @@ static void usb_BWScaleFromColor( Plustek_Device *dev ) d = j = 0; for( pixels = scan->sParam.Size.dwPixels; pixels; src++ ) { - + ddax -= _SCALER; while((ddax < 0) && (pixels > 0)) { @@ -1545,7 +1545,7 @@ static void usb_BWScaleFromColor_2( Plustek_Device *dev ) d = j = 0; for( pixels = scan->sParam.Size.dwPixels; pixels; src++ ) { - + ddax -= _SCALER; while((ddax < 0) && (pixels > 0)) { @@ -1583,7 +1583,7 @@ static void usb_GrayScale8( Plustek_Device *dev ) dest = scan->UserBuf.pb; next = 1; } - + izoom = usb_GetScaler( scan ); ddax = 0; @@ -1625,7 +1625,7 @@ static void usb_GrayScale16( Plustek_Device *dev ) next = 1; dest = scan->UserBuf.pw; } - + izoom = usb_GetScaler( scan ); ddax = 0; @@ -1711,7 +1711,7 @@ static void usb_GetImageProc( Plustek_Device *dev ) case SCANDATATYPE_Color: if (scan->sParam.bBitDepth > 8) { - if( usb_IsCISDevice(dev)){ + if( usb_IsCISDevice(dev)){ scan->pfnProcess = usb_ColorScale16_2; DBG( _DBG_INFO, "ImageProc is: ColorScale16_2\n" ); } else { @@ -1719,7 +1719,7 @@ static void usb_GetImageProc( Plustek_Device *dev ) DBG( _DBG_INFO, "ImageProc is: ColorScale16\n" ); } if (scan->fGrayFromColor) { - if( usb_IsCISDevice(dev)){ + if( usb_IsCISDevice(dev)){ scan->pfnProcess = usb_ColorScaleGray16_2; DBG( _DBG_INFO, "ImageProc is: ColorScaleGray16_2\n" ); } else { @@ -1730,7 +1730,7 @@ static void usb_GetImageProc( Plustek_Device *dev ) } else if (scan->dwFlag & SCANFLAG_Pseudo48) { scan->pfnProcess = usb_ColorScalePseudo16; DBG( _DBG_INFO, "ImageProc is: ColorScalePseudo16\n" ); - + } else if (scan->fGrayFromColor) { if( usb_IsCISDevice(dev)){ @@ -1752,7 +1752,7 @@ static void usb_GetImageProc( Plustek_Device *dev ) } } else { - if( usb_IsCISDevice(dev)){ + if( usb_IsCISDevice(dev)){ scan->pfnProcess = usb_ColorScale8_2; DBG( _DBG_INFO, "ImageProc is: ColorScale8_2\n" ); } else { @@ -1829,7 +1829,7 @@ static void usb_GetImageProc( Plustek_Device *dev ) } } } else { - if( usb_IsCISDevice(dev)){ + if( usb_IsCISDevice(dev)){ scan->pfnProcess = usb_ColorDuplicate8_2; DBG( _DBG_INFO, "ImageProc is: ColorDuplicate8_2\n" ); } else { @@ -1860,9 +1860,9 @@ static void usb_GetImageProc( Plustek_Device *dev ) break; } } - + if( scan->sParam.bBitDepth == 8 ) { - + if( scan->dwFlag & SCANFLAG_Pseudo48 ) { if( scan->dwFlag & SCANFLAG_RightAlign ) { bShift = 5; diff --git a/backend/plustek-usbio.c b/backend/plustek-usbio.c index cae0e0d..9677456 100644 --- a/backend/plustek-usbio.c +++ b/backend/plustek-usbio.c @@ -23,7 +23,7 @@ * - 0.47 - no changes * - 0.48 - cleanup * - 0.49 - no changes - * - 0.50 - usbio_DetectLM983x() now returns error if register + * - 0.50 - usbio_DetectLM983x() now returns error if register * could not be red * - usbio_ResetLM983x() checks for reg7 value before writing * - 0.51 - allow dumpRegs to be called without valid fd @@ -69,7 +69,7 @@ * If you do not wish that, delete this exception notice. *
*/ - + #include "../include/sane/sanei_usb.h" #include "../include/sane/sanei_lm983x.h" @@ -256,7 +256,7 @@ static SANE_Bool usbio_WriteReg( SANE_Int handle, for( i = 0; i < 100; i++ ) { sanei_lm983x_write_byte( handle, reg, value ); - + /* Flush register 0x02 when register 0x58 is written */ if( 0x58 == reg ) { _UIO( usbio_ReadReg( handle, 2, &data )); @@ -301,7 +301,7 @@ static SANE_Status usbio_DetectLM983x( SANE_Int fd, SANE_Byte *version ) sprintf( buf, "usbio_DetectLM983x: found " ); switch((SANE_Int)value ) { - + case 4: strcat( buf, "LM9832/3" ); break; case 3: strcat( buf, "LM9831" ); break; case 2: strcat( buf, "LM9830 --> unsupported!!!" ); diff --git a/backend/plustek-usbmap.c b/backend/plustek-usbmap.c index 1e54789..c979345 100644 --- a/backend/plustek-usbmap.c +++ b/backend/plustek-usbmap.c @@ -75,7 +75,7 @@ static void usb_MapAdjust( Plustek_Device *dev ) { int i, tabLen; double b, c, tmp; - + tabLen = _MAP_SIZE; /* adjust brightness (b) and contrast (c) using the function: @@ -125,11 +125,11 @@ static SANE_Bool usb_MapDownload( Plustek_Device *dev ) int i, threshold; SANE_Byte value; SANE_Bool fInverse = 0; - + DBG( _DBG_INFO, "usb_MapDownload()\n" ); /* the maps are have been already set */ - + /* do the brightness and contrast adjustment ... */ if( scanning->sParam.bDataType != SCANDATATYPE_BW ) usb_MapAdjust( dev ); @@ -141,7 +141,7 @@ static SANE_Bool usb_MapDownload( Plustek_Device *dev ) * into trouble elsewhere on CanoScan models using gray mode */ for( color = 0; color < 3; color++) { - + /* select color */ value = (color << 2)+2; @@ -161,13 +161,13 @@ static SANE_Bool usb_MapDownload( Plustek_Device *dev ) threshold = 0; if(threshold > (int)_MAP_SIZE) threshold = _MAP_SIZE; - + DBG(_DBG_INFO, "* Threshold is at %u brightness=%i\n", threshold, scanning->sParam.brightness ); for(i = 0; i < threshold; i++) a_bMap[color*_MAP_SIZE + i] = 0; - + for(i = threshold; i < _MAP_SIZE; i++) a_bMap[color*_MAP_SIZE + i] = 255; @@ -184,23 +184,23 @@ static SANE_Bool usb_MapDownload( Plustek_Device *dev ) } if( fInverse ) { - + u_char map[_MAP_SIZE]; u_char *pMap = a_bMap+color*_MAP_SIZE; - + DBG( _DBG_INFO, "* Inverting Map\n" ); - + for( i = 0; i < _MAP_SIZE; i++, pMap++ ) map[i] = ~*pMap; - + sanei_lm983x_write( dev->fd, 0x06, map, _MAP_SIZE, SANE_FALSE ); - + } else { DBG( _DBG_INFO, "* downloading map %u...\n", color ); sanei_lm983x_write( dev->fd, 0x06, a_bMap+color*_MAP_SIZE, _MAP_SIZE, SANE_FALSE ); } - + } /* for each color */ DBG( _DBG_INFO, "usb_MapDownload() done.\n" ); diff --git a/backend/plustek-usbscan.c b/backend/plustek-usbscan.c index c8824fc..bafc86a 100644 --- a/backend/plustek-usbscan.c +++ b/backend/plustek-usbscan.c @@ -595,7 +595,7 @@ usb_GetMCLKDiv( Plustek_Device *dev ) DBG( _DBG_INFO, "usb_GetMCLKDiv()\n" ); r = 8; /* line rate */ - if ((regs[0x26] & 7) == 0) + if ((regs[0x26] & 7) == 0) r = 24; /* pixel rate */ /* use high or low res min integration time */ @@ -606,7 +606,7 @@ usb_GetMCLKDiv( Plustek_Device *dev ) min_int_time /((double)1000. * r * m_wLineLength)); minmclk = _MAX(minmclk,MCLKDIV_SCALING); - maxmclk = (int)(32.5*MCLKDIV_SCALING + .5); + maxmclk = (int)(32.5*MCLKDIV_SCALING + .5); DBG(_DBG_INFO2,"- lower mclkdiv limit=%f\n",(double)minmclk/MCLKDIV_SCALING); DBG(_DBG_INFO2,"- upper mclkdiv limit=%f\n",(double)maxmclk/MCLKDIV_SCALING); @@ -622,7 +622,7 @@ usb_GetMCLKDiv( Plustek_Device *dev ) /* compute the horizontal dpi (pixels per inch) */ j = regs[0x9] & 0x7; - hdpi = ((j&1)*.5+1)*(j&2?2:1)*(j&4?4:1); + hdpi = ((j&1)*.5+1)*(j&2?2:1)*(j&4?4:1); pixelsperline = (int)((256*regs[0x24]+regs[0x25]-256*regs[0x22]-regs[0x23]) *pixelbits/(hdpi * 8)); @@ -644,7 +644,7 @@ usb_GetMCLKDiv( Plustek_Device *dev ) while (mclkdiv * hdpi < 6.*MCLKDIV_SCALING) { mclkdiv++; } - DBG( _DBG_INFO2, "- HIGHSPEED MCLK Divider = %u\n", + DBG( _DBG_INFO2, "- HIGHSPEED MCLK Divider = %u\n", mclkdiv/MCLKDIV_SCALING ); } @@ -690,7 +690,7 @@ usb_GetMCLKDivider( Plustek_Device *dev, ScanParam *pParam ) (m_dMCLKDivider * m_bCM * m_wLineLength / 6 * 9 / 10) * (1 + m_bIntTimeAdjust)) { m_bIntTimeAdjust++; - } + } if( hw->motorModel == MODEL_HuaLien && sCaps->bCCD == kNEC3799 && m_bIntTimeAdjust > bMaxITA) { @@ -730,7 +730,7 @@ usb_GetMCLKDivider( Plustek_Device *dev, ScanParam *pParam ) m_wStepSize, regs[0x46], regs[0x47] ); usb_GetDPD( dev ); } - + /* Compute maximum MCLK divider base on maximum integration time for * high lamp PWM, use equation 4 */ @@ -830,7 +830,7 @@ usb_GetLineLength( Plustek_Device *dev, ScanParam *param ) ctmode = (regs[0x0b] >> 3) & 3; /* cis tr timing mode */ - m_bLineRateColor = 1; + m_bLineRateColor = 1; if (afeop == 1 || afeop == 5) /* if 3 channel line or 1 channel mode b */ m_bLineRateColor = 3; @@ -845,7 +845,7 @@ usb_GetLineLength( Plustek_Device *dev, ScanParam *param ) b = 1; if( ctmode == 0 ) { /* CCD mode scanner*/ - + b = (ntr + 1) * ((2 * gbnd) + dur + 1); b += (1 - ntr) * en_tradj; } @@ -871,12 +871,12 @@ usb_GetLineLength( Plustek_Device *dev, ScanParam *param ) if( ctmode == 0 ) tr += m_bLineRateColor; } else { - + int le_phi, num_byteclk, num_mclkf, tr_fast_pix, extra_pix; - + /* Line color or gray mode */ if( afeop != 0 ) { - + le_phi = (tradj + 1) / 2 + 1 + 6; num_byteclk = ((le_phi + 8 * le + 8 * b + 4) / (8 * tradj)) + 1; @@ -893,7 +893,7 @@ usb_GetLineLength( Plustek_Device *dev, ScanParam *param ) tr_fast_pix = num_byteclk; extra_pix = (num_mclkf - le_phi) % (3 * 8); } - + tr = b + le + 4 + tr_fast_pix; if (extra_pix == 0) tr++; @@ -970,8 +970,8 @@ usb_GetMotorParam( Plustek_Device *dev, ScanParam *pParam ) } else if(pParam->PhyDpi.x <= 400) { - regs[0x56] = 8; - regs[0x57] = 48; + regs[0x56] = 8; + regs[0x57] = 48; } else if(pParam->PhyDpi.x <= 600) { @@ -1184,7 +1184,7 @@ usb_SetScanParameters( Plustek_Device *dev, ScanParam *pParam ) usb_GetScanRect ( dev, pParam ); usb_PresetStepSize( dev, pParam ); - + if( dev->caps.dwFlag & SFLAG_ADF ) { if( pParam->bCalibration == PARAM_Scan ) { @@ -1251,7 +1251,7 @@ usb_SetScanParameters( Plustek_Device *dev, ScanParam *pParam ) /* Compute the number of lines to scan using actual Y resolution */ usb_GetScanLinesAndSize( dev, pParam ); - + /* Pause limit should be bounded by total bytes to read * so that the chassis will not move too far. */ @@ -1316,7 +1316,7 @@ usb_SetScanParameters( Plustek_Device *dev, ScanParam *pParam ) _UIO(sanei_lm983x_write( dev->fd, 0x08, ®s[0x08], 0x7f - 0x08+1, SANE_TRUE)); usleep(100); - + if( !usbio_WriteReg( dev->fd, 0x07, 0 )) return SANE_FALSE; @@ -1363,7 +1363,7 @@ usb_ScanBegin( Plustek_Device *dev, SANE_Bool auto_park ) DBG( _DBG_INFO, "ScanBegin() - Cancel detected...\n" ); return SANE_FALSE; } - + _UIO(usbio_ReadReg( dev->fd, 0x01, &m_bOldScanData )); if( m_bOldScanData ) { @@ -1373,7 +1373,7 @@ usb_ScanBegin( Plustek_Device *dev, SANE_Bool auto_park ) DBG(_DBG_INFO,"Flushing cache - %lu bytes (bOldScanData=%u)\n", dwBytesToRead, m_bOldScanData ); - _UIO(sanei_lm983x_read( dev->fd, 0x00, pBuffer, + _UIO(sanei_lm983x_read( dev->fd, 0x00, pBuffer, dwBytesToRead, SANE_FALSE )); free( pBuffer ); @@ -1430,7 +1430,7 @@ usb_ScanEnd( Plustek_Device *dev ) usb_ModuleToHome( dev, SANE_FALSE ); } else if( SANE_TRUE == cancelRead ) { - + usb_ModuleToHome( dev, SANE_FALSE ); } return SANE_TRUE; @@ -1453,14 +1453,14 @@ usb_IsDataAvailableInDRAM( Plustek_Device *dev ) DBG( _DBG_INFO, "usb_IsDataAvailableInDRAM()\n" ); - gettimeofday( &t, NULL); + gettimeofday( &t, NULL); dwTicks = t.tv_sec + 30; for(;;) { _UIO( sanei_lm983x_read( dev->fd, 0x01, a_bBand, 3, SANE_FALSE )); - gettimeofday( &t, NULL); + gettimeofday( &t, NULL); if( t.tv_sec > dwTicks ) break; @@ -1468,7 +1468,7 @@ usb_IsDataAvailableInDRAM( Plustek_Device *dev ) DBG(_DBG_INFO,"usb_IsDataAvailableInDRAM() - Cancel detected...\n"); return SANE_FALSE; } - + /* It is not stable for read */ if((a_bBand[0] != a_bBand[1]) && (a_bBand[1] != a_bBand[2])) continue; @@ -1549,7 +1549,7 @@ usb_GetImageInfo( Plustek_Device *dev, ImgDef *pInfo, WinInfo *pSize ) case COLOR_TRUE48: pSize->dwBytes = pSize->dwPixels * 6UL; break; - + case COLOR_TRUE24: if( dev->scanning.fGrayFromColor > 7 ){ pSize->dwBytes = (pSize->dwPixels + 7UL) >> 3; @@ -1597,7 +1597,7 @@ usb_SaveImageInfo( Plustek_Device *dev, ImgDef *pInfo ) case COLOR_TRUE48: pParam->bBitDepth = 16; /* fall through... */ - + case COLOR_TRUE24: pParam->bDataType = SCANDATATYPE_Color; @@ -1638,7 +1638,7 @@ usb_SaveImageInfo( Plustek_Device *dev, ImgDef *pInfo ) * sheetfed device to avoid stripes in the resulting pictures */ if( usb_IsSheetFedDevice(dev)) { - + int step, div, org, xdpi; xdpi = usb_SetAsicDpiX( dev, pParam->UserDpi.x ); diff --git a/backend/plustek-usbshading.c b/backend/plustek-usbshading.c index 6d08dc7..98a28d9 100644 --- a/backend/plustek-usbshading.c +++ b/backend/plustek-usbshading.c @@ -282,9 +282,9 @@ static void usb_SetMCLK( Plustek_Device *dev, ScanParam *param ) HWDef *hw = &dev->usbDev.HwSetting; dMCLK = usb_GetMCLK( dev, param ); - param->dMCLK = dMCLK; + param->dMCLK = dMCLK; - DBG( _DBG_INFO, "SETMCLK[%u/%u]: %.3f\n", + DBG( _DBG_INFO, "SETMCLK[%u/%u]: %.3f\n", hw->motorModel, param->bDataType, dMCLK ); } @@ -314,14 +314,14 @@ static SANE_Bool usb_SetDarkShading( Plustek_Device *dev, u_char channel, /* Download offset coefficients */ if( SANE_STATUS_GOOD == res ) { - + res = sanei_lm983x_write( dev->fd, 0x06, (u_char*)coeff_buffer, wCount, SANE_FALSE ); if( SANE_STATUS_GOOD == res ) return SANE_TRUE; } } - + DBG( _DBG_ERROR, "usb_SetDarkShading() failed\n" ); return SANE_FALSE; } @@ -358,7 +358,7 @@ static SANE_Bool usb_SetWhiteShading( Plustek_Device *dev, u_char channel, return SANE_TRUE; } } - + DBG( _DBG_ERROR, "usb_SetWhiteShading() failed\n" ); return SANE_FALSE; } @@ -416,7 +416,7 @@ static void usb_GetSWOffsetGain( Plustek_Device *dev ) param->swGain[2] = 800; #endif break; - + case kNECSLIM: DBG( _DBG_INFO2, "kNECSLIM adjustments\n" ); if( param->PhyDpi.x <= 150 ) { @@ -651,11 +651,11 @@ static void usb_GetSWOffsetGain( Plustek_Device *dev ) param->swOffset[0] = -304; param->swOffset[1] = -304; param->swOffset[2] = -304; - param->swGain[0] = 910; - param->swGain[1] = 920; + param->swGain[0] = 910; + param->swGain[1] = 920; param->swGain[2] = 975; } - + if(param->bDataType == SCANDATATYPE_BW && param->PhyDpi.x <= 300) { param->swOffset[1] = 1000; @@ -703,7 +703,7 @@ static u_char usb_GetNewGain( Plustek_Device *dev, u_short wMax, int channel ) bGain = (u_char)dAmp + 32; } - + if( bGain > 0x3f ) { DBG( _DBG_INFO, "* GAIN Overflow!!!\n" ); bGain = 0x3f; @@ -734,7 +734,7 @@ static void setAdjGain( int gain, u_char *reg ) * @param l_off - * @return */ -static SANE_Bool adjLampSetting( Plustek_Device *dev, int channel, u_long max, +static SANE_Bool adjLampSetting( Plustek_Device *dev, int channel, u_long max, u_long ideal, u_short l_on, u_short *l_off ) { SANE_Bool adj = SANE_FALSE; @@ -796,7 +796,7 @@ static SANE_Bool usb_AdjustGain( Plustek_Device *dev, int fNegative ) DBG( _DBG_INFO, "#########################\n" ); DBG( _DBG_INFO, "usb_AdjustGain()\n" ); - if((dev->adj.rgain != -1) && + if((dev->adj.rgain != -1) && (dev->adj.ggain != -1) && (dev->adj.bgain != -1)) { setAdjGain( dev->adj.rgain, ®s[0x3b] ); setAdjGain( dev->adj.ggain, ®s[0x3c] ); @@ -871,7 +871,7 @@ TOGAIN: dumpPicInit(&m_ScanParam, tmp); dumpPic(tmp, (u_char*)scanbuf, m_ScanParam.Size.dwPhyBytes, 0); - + #ifdef SWAP_COARSE if(usb_HostSwap()) #endif @@ -913,7 +913,7 @@ TOGAIN: Gain_Hilight.Green = (u_short)(rgb.Green / 20UL); Gain_Hilight.Blue = (u_short)(rgb.Blue / 20UL); DBG(_DBG_INFO2, "MAX(R,G,B)= 0x%04x(%u), 0x%04x(%u), 0x%04x(%u)\n", - Gain_Hilight.Red, Gain_Hilight.Red, Gain_Hilight.Green, + Gain_Hilight.Red, Gain_Hilight.Red, Gain_Hilight.Green, Gain_Hilight.Green, Gain_Hilight.Blue, Gain_Hilight.Blue ); regs[0x3b] = usb_GetNewGain(dev,Gain_Hilight.Red, 0 ); @@ -945,7 +945,7 @@ TOGAIN: regs[0x3c] = regs[0x3d] = usb_GetNewGain(dev,Gain_Hilight.Green,1); } } else { - + if( m_ScanParam.bDataType == SCANDATATYPE_Color ) { RGBUShortDef max_rgb, min_rgb, tmp_rgb; @@ -1055,7 +1055,7 @@ TOGAIN: scanning->sParam.dMCLK = dMCLK = dMCLK - 0.5; regs[0x3b] = regs[0x3c] = regs[0x3d] = 1; - + adj = SANE_TRUE; } else if(((regs[0x3b] == 63) || (regs[0x3c] == 63) || @@ -1072,7 +1072,7 @@ TOGAIN: goto TOGAIN; } } - + } else { /* for MODEL KaoHsiung 1200 scanner multi-straight-line bug at @@ -1265,7 +1265,7 @@ static SANE_Bool usb_AdjustOffset( Plustek_Device *dev ) DBG( _DBG_INFO, "#########################\n" ); DBG( _DBG_INFO, "usb_AdjustOffset()\n" ); - if((dev->adj.rofs != -1) && + if((dev->adj.rofs != -1) && (dev->adj.gofs != -1) && (dev->adj.bofs != -1)) { regs[0x38] = (dev->adj.rofs & 0x3f); regs[0x39] = (dev->adj.gofs & 0x3f); @@ -1329,10 +1329,10 @@ static SANE_Bool usb_AdjustOffset( Plustek_Device *dev ) DBG( _DBG_ERROR, "usb_AdjustOffset() failed\n" ); return SANE_FALSE; } - + i = 0; - DBG( _DBG_INFO2, "S.dwPixels = %lu\n", m_ScanParam.Size.dwPixels ); + DBG( _DBG_INFO2, "S.dwPixels = %lu\n", m_ScanParam.Size.dwPixels ); DBG( _DBG_INFO2, "dwPixels = %lu\n", dwPixels ); DBG( _DBG_INFO2, "dwPhyBytes = %lu\n", m_ScanParam.Size.dwPhyBytes ); DBG( _DBG_INFO2, "dwPhyPixels = %lu\n", m_ScanParam.Size.dwPhyPixels ); @@ -1350,7 +1350,7 @@ static SANE_Bool usb_AdjustOffset( Plustek_Device *dev ) } sprintf( tmp, "coarse-off-%u.raw", i++ ); - + #ifdef SWAP_COARSE if(usb_HostSwap()) usb_Swap((u_short *)scanbuf, m_ScanParam.Size.dwPhyBytes ); @@ -1380,7 +1380,7 @@ static SANE_Bool usb_AdjustOffset( Plustek_Device *dev ) dwSum[1], dwSum[1] /dwPixels ); DBG( _DBG_INFO2, "BlueSum = %lu, ave = %lu\n", dwSum[2], dwSum[2] /dwPixels ); - + /* do averaging for each channel */ dwSum[0] /= dwPixels; dwSum[1] /= dwPixels; @@ -1422,7 +1422,7 @@ static SANE_Bool usb_AdjustOffset( Plustek_Device *dev ) regs[0x3a] = bExpect[2]; } else { - regs[0x38] = regs[0x39] = regs[0x3a] = bExpect[0]; + regs[0x38] = regs[0x39] = regs[0x3a] = bExpect[0]; } DBG( _DBG_INFO2, "REG[0x38] = %u\n", regs[0x38] ); @@ -1445,7 +1445,7 @@ static SANE_Bool usb_AdjustOffset( Plustek_Device *dev ) /** this function tries to find out some suitable values for the dark * fine calibration. If the device owns a black calibration strip - * the data is simply copied. If not, then the white strip is read + * the data is simply copied. If not, then the white strip is read * with the lamp switched off... */ static void usb_GetDarkShading( Plustek_Device *dev, u_short *pwDest, @@ -1527,7 +1527,7 @@ static void usb_GetDarkShading( Plustek_Device *dev, u_short *pwDest, for( dw = 0; dw < dwPixels; dw++ ) pwDest[dw] = (u_short)dwSum[dw & 1]; } else { - + /* Standard CCD */ /* do some averaging on the line */ @@ -1643,7 +1643,7 @@ static SANE_Bool usb_AdjustDarkShading( Plustek_Device *dev ) DBG( _DBG_ERROR, "usb_AdjustDarkShading() failed\n" ); return SANE_FALSE; } - + /* set illumination mode and switch lamp on again */ regs[0x29] = hw->bReg_0x29; @@ -1720,7 +1720,7 @@ static SANE_Bool usb_AdjustDarkShading( Plustek_Device *dev ) * @param hilight - defines the number of values to skip. * @param shading_lines - defines the overall number of shading lines. */ -static void usb_CalSortHighlight( Plustek_Device *dev, ScanParam *sp, +static void usb_CalSortHighlight( Plustek_Device *dev, ScanParam *sp, u_long hilight, u_long shading_lines ) { ScanDef *scan = &dev->scanning; @@ -1766,7 +1766,7 @@ static void usb_CalSortHighlight( Plustek_Device *dev, ScanParam *sp, /** function to remove the brightest values out of each row * @param dev - the almighty device structure. - * @param sp - is a pointer to the scanparam structure used for + * @param sp - is a pointer to the scanparam structure used for * scanning the shading lines. * @param hilight - defines the number of values to skip. * @param shading_lines - defines the overall number of shading lines. @@ -1822,7 +1822,7 @@ static void usb_procHighlightAndShadow( Plustek_Device *dev, ScanParam *sp, pg = pr + sp->Size.dwPhyPixels; pb = pg + sp->Size.dwPhyPixels; - memset(pr, 0, sp->Size.dwPhyPixels * 4UL * 3UL); + memset(pr, 0, sp->Size.dwPhyPixels * sizeof(*pr) * 3UL); /* Sort hilight */ usb_CalSortHighlight(dev, sp, hilight, shading_lines); @@ -1865,13 +1865,13 @@ static SANE_Bool usb_AdjustWhiteShading( Plustek_Device *dev ) u_short hilight, shadow; int i; SANE_Bool swap = usb_HostSwap(); - + if( scaps->workaroundFlag & _WAF_SKIP_FINE ) return SANE_TRUE; DBG( _DBG_INFO, "#########################\n" ); DBG( _DBG_INFO, "usb_AdjustWhiteShading()\n" ); - + m_pAvMono = (u_short*)scan->pScanBuffer; if( usb_IsEscPressed()) @@ -1904,7 +1904,7 @@ static SANE_Bool usb_AdjustWhiteShading( Plustek_Device *dev ) if( usb_IsCISDevice(dev) && m_ScanParam.bDataType == SCANDATATYPE_Color ) m_ScanParam.Size.dwBytes *= 3; - m_dwPixels = scan->sParam.Size.dwPixels * m_ScanParam.UserDpi.x / + m_dwPixels = scan->sParam.Size.dwPixels * m_ScanParam.UserDpi.x / scan->sParam.UserDpi.x; dw = (u_long)(hw->wDRAMSize - 196 /*192 KiB*/) * 1024UL; @@ -1950,7 +1950,7 @@ static SANE_Bool usb_AdjustWhiteShading( Plustek_Device *dev ) if( 0 == dwRead ) { dumpPicInit(&m_ScanParam, tmp); } - + dumpPic(tmp, (u_char*)pBuf + dwRead, m_ScanParam.Size.dwTotalBytes, 0); if( usb_ScanEnd( dev )) { @@ -1965,7 +1965,7 @@ static SANE_Bool usb_AdjustWhiteShading( Plustek_Device *dev ) } m_pSum = (u_long*)((u_char*)pBuf + m_ScanParam.Size.dwPhyBytes * shading_lines); - + /* * do some reordering on CIS based devices: * from RRRRRRR.... GGGGGGGG.... BBBBBBBBB, create RGB RGB RGB ... @@ -2017,7 +2017,7 @@ static SANE_Bool usb_AdjustWhiteShading( Plustek_Device *dev ) #ifdef SWAP_FINE if(usb_HostSwap()) { #endif - for( dw = 0; dw < m_dwPixels * m_ScanParam.bChannels; dw++ ) + for( dw = 0; dw < m_dwPixels * m_ScanParam.bChannels; dw++ ) pwDest[dw] = _HILO2WORD(pwSrce[dw]); #ifdef SWAP_FINE } else { @@ -2077,7 +2077,7 @@ static SANE_Bool usb_AdjustWhiteShading( Plustek_Device *dev ) pValue->Mono = 65535U; else pValue->Mono = (u_short)*pdw; - + if (pValue->Mono > 16384U) pValue->Mono = (u_short)(GAIN_Target * 16384U / pValue->Mono); else @@ -2153,7 +2153,7 @@ static SANE_Bool usb_AdjustWhiteShading( Plustek_Device *dev ) if( scan->sParam.bSource != SOURCE_Negative ) { for( dw = 0; dw < m_ScanParam.Size.dwPhyPixels; dw++) { - + pdw[dw] = pdw[dw] * 1000 /((shading_lines-hilight-shadow) * scan->sParam.swGain[1]); if( pdw[dw] > 65535U ) @@ -2172,7 +2172,7 @@ static SANE_Bool usb_AdjustWhiteShading( Plustek_Device *dev ) #endif _SWAP(pValue[dw].HiLo.bHi, pValue[dw].HiLo.bLo); } - + } else{ for( dw = 0; dw < m_ScanParam.Size.dwPhyPixels; dw++ ) { @@ -2200,17 +2200,17 @@ static void usb_ResizeWhiteShading( double dAmp, u_short *pwShading, int iGain ) { u_long dw, dwAmp; u_short w; - + DBG( _DBG_INFO2, "ResizeWhiteShading: dAmp=%.3f, iGain=%i\n", dAmp, iGain ); for( dw = 0; dw < m_ScanParam.Size.dwPhyPixels; dw++ ) { - + dwAmp = (u_long)(GAIN_Target * 0x4000 / (pwShading[dw] + 1) * dAmp) * iGain / 1000; if( dwAmp <= GAIN_Target) w = (u_short)dwAmp; - else + else w = GAIN_Target; #ifndef SWAP_FINE @@ -2252,14 +2252,14 @@ usb_PrepareCalibration( Plustek_Device *dev ) m_ScanParam.bDataType = SCANDATATYPE_Gray; usb_SetMCLK( dev, &m_ScanParam ); - + /* preset these registers offset/gain */ regs[0x38] = regs[0x39] = regs[0x3a] = 0; regs[0x3b] = regs[0x3c] = regs[0x3d] = 1; regs[0x45] &= ~0x10; - memset( a_wWhiteShading, 0, _SHADING_BUF ); - memset( a_wDarkShading, 0, _SHADING_BUF ); + memset( a_wWhiteShading, 0, _SHADING_BUF * sizeof(a_wWhiteShading[0]) ); + memset( a_wDarkShading, 0, _SHADING_BUF * sizeof(a_wDarkShading[0]) ); scan->skipCoarseCalib = SANE_FALSE; @@ -2319,7 +2319,7 @@ usb_SpeedTest( Plustek_Device *dev ) DBG( 1, "#########################\n" ); DBG( 1, "usb_SpeedTest(%d,%lu)\n", dev->initialized, dev->transferRate ); if( dev->transferRate != DEFAULT_RATE ) { - DBG( 1, "* skipped, using already detected speed: %lu Bytes/s\n", + DBG( 1, "* skipped, using already detected speed: %lu Bytes/s\n", dev->transferRate ); return SANE_TRUE; } @@ -2358,7 +2358,7 @@ usb_SpeedTest( Plustek_Device *dev ) DBG( _DBG_ERROR, "usb_SpeedTest() failed\n" ); return SANE_FALSE; } - if (!usb_IsDataAvailableInDRAM( dev )) + if (!usb_IsDataAvailableInDRAM( dev )) return SANE_FALSE; m_fFirst = SANE_FALSE; @@ -2377,7 +2377,7 @@ usb_SpeedTest( Plustek_Device *dev ) tr = ((double)m_ScanParam.Size.dwPhyBytes * _TLOOPS * 1000000.0)/r; dev->transferRate = (u_long)tr; - DBG( 1, "usb_SpeedTest() done - %u loops, %.4fus --> %.4f B/s, %lu\n", + DBG( 1, "usb_SpeedTest() done - %u loops, %.4fus --> %.4f B/s, %lu\n", _TLOOPS, r, tr, dev->transferRate ); return SANE_TRUE; } @@ -2459,7 +2459,7 @@ usb_AutoWarmup( Plustek_Device *dev ) thresh = _AUTO_TPA_THRESH; } end = start + len; - DBG( _DBG_INFO2, "Start=%lu, End=%lu, Len=%lu, Thresh=%li\n", + DBG( _DBG_INFO2, "Start=%lu, End=%lu, Len=%lu, Thresh=%li\n", start, end, len, thresh ); lastR = lastG = lastB = 0; @@ -2485,7 +2485,7 @@ usb_AutoWarmup( Plustek_Device *dev ) curR = curG = curB = 0; for( dw = start; dw < end; dw++ ) { - + if( usb_IsCISDevice(dev)) { curR += ((u_short*)scanbuf)[dw]; curG += ((u_short*)scanbuf)[dw+m_ScanParam.Size.dwPhyPixels+1]; @@ -2503,7 +2503,7 @@ usb_AutoWarmup( Plustek_Device *dev ) diffR = curR - lastR; lastR = curR; diffG = curG - lastG; lastG = curG; diffB = curB - lastB; lastB = curB; - DBG( _DBG_INFO2, "%i/%i-AVE(R,G,B)= %lu(%ld), %lu(%ld), %lu(%ld)\n", + DBG( _DBG_INFO2, "%i/%i-AVE(R,G,B)= %lu(%ld), %lu(%ld), %lu(%ld)\n", i, stable_count, curR, diffR, curG, diffG, curB, diffB ); /* we consider the lamp to be stable, @@ -2523,7 +2523,7 @@ usb_AutoWarmup( Plustek_Device *dev ) } DBG( _DBG_INFO, "usb_AutoWarmup() done - %u loops\n", i+1 ); - DBG( _DBG_INFO, "* AVE(R,G,B)= %lu(%ld), %lu(%ld), %lu(%ld)\n", + DBG( _DBG_INFO, "* AVE(R,G,B)= %lu(%ld), %lu(%ld), %lu(%ld)\n", curR, diffR, curG, diffG, curB, diffB ); return SANE_TRUE; } @@ -2608,8 +2608,8 @@ usb_DoCalibration( Plustek_Device *dev ) /* HEINER: Currently not clear why Plustek didn't use the ShadingOriginY * for all modes * It should be okay to remove this and reference to the ShadingOriginY - */ -#if 0 + */ +#if 0 if( scanning->sParam.bSource == SOURCE_Negative ) { DBG( _DBG_INFO, "DataOrigin.x=%u, DataOrigin.y=%u\n", @@ -2707,7 +2707,7 @@ usb_DoCalibration( Plustek_Device *dev ) Gain_Reg.Green = regs[0x3c]; Gain_Reg.Blue = regs[0x3d]; Gain_NegHilight = Gain_Hilight; - + DBG( _DBG_INFO, "MCLK = %.3f\n", dMCLK ); DBG( _DBG_INFO, "GainRed = %u\n", regs[0x3b] ); DBG( _DBG_INFO, "GainGreen = %u\n", regs[0x3c] ); @@ -2727,7 +2727,7 @@ usb_DoCalibration( Plustek_Device *dev ) if(!usb_AdjustGain( dev, 1 )) return _E_INTERNAL; - + regs[0x3b] = regs[0x3c] = regs[0x3d] = 1; DBG( _DBG_INFO, "Settings done, so start...\n" ); @@ -2763,7 +2763,7 @@ usb_DoCalibration( Plustek_Device *dev ) m_ScanParam.Size.dwPhyPixels*2, scanning->sParam.swGain[2]); } - usb_line_statistics( "White", a_wWhiteShading, + usb_line_statistics( "White", a_wWhiteShading, m_ScanParam.Size.dwPhyPixels, SANE_TRUE); break; @@ -2904,7 +2904,7 @@ usb_DoCalibration( Plustek_Device *dev ) */ hw->wLineEnd = 5384; if(scanning->sParam.bDataType == SCANDATATYPE_Color && - ((scanning->sParam.bBitDepth == 8 && + ((scanning->sParam.bBitDepth == 8 && (scanning->sParam.PhyDpi.x == 200 ||scanning->sParam.PhyDpi.x == 300)))) hw->wLineEnd = 7000; regs[0x20] = _HIBYTE(hw->wLineEnd); @@ -3127,8 +3127,8 @@ usb_DownloadShadingData( Plustek_Device *dev, u_char what ) if (scan->skipCoarseCalib) { DBG( _DBG_INFO, "...cleaning shading buffer\n" ); - memset( a_wWhiteShading, 0, _SHADING_BUF ); - memset( a_wDarkShading, 0, _SHADING_BUF ); + memset( a_wWhiteShading, 0, _SHADING_BUF * sizeof(a_wWhiteShading[0]) ); + memset( a_wDarkShading, 0, _SHADING_BUF * sizeof(a_wDarkShading[0]) ); regs[0x40] = 0x3f; regs[0x41] = 0xff; @@ -3161,7 +3161,7 @@ usb_DownloadShadingData( Plustek_Device *dev, u_char what ) } if( param->bDataType == SCANDATATYPE_Color ) { - get_ptrs(dev, a_wWhiteShading, + get_ptrs(dev, a_wWhiteShading, m_ScanParam.Size.dwPhyPixels, &r, &g, &b); usb_SetWhiteShading( dev, CHANNEL_red, r, diff --git a/backend/plustek.c b/backend/plustek.c index 062df37..e1d9e09 100644 --- a/backend/plustek.c +++ b/backend/plustek.c @@ -129,9 +129,9 @@ /** @mainpage * @verbinclude Plustek-USB.txt */ - + #ifdef _AIX -# include "../include/lalloca.h" +# include "../include/lalloca.h" #endif #include "../include/sane/config.h" @@ -239,9 +239,9 @@ static const SANE_String_Const source_list[] = static const SANE_Range percentage_range = { - -100 << SANE_FIXED_SCALE_SHIFT, /* minimum */ - 100 << SANE_FIXED_SCALE_SHIFT, /* maximum */ - 1 << SANE_FIXED_SCALE_SHIFT /* quantization */ + SANE_FIX(-100), /* minimum */ + SANE_FIX( 100), /* maximum */ + SANE_FIX( 1) /* quantization */ }; static const SANE_Range warmup_range = { -1, 999, 1 }; @@ -339,7 +339,7 @@ getScanMode( Plustek_Scanner *scanner ) { int mode; int scanmode; - + /* are we in TPA-mode? */ mode = scanner->val[OPT_MODE].w; if( scanner->val[OPT_EXT_MODE].w != 0 ) @@ -384,7 +384,7 @@ max_string_size (const SANE_String_Const strings[]) /** shutdown open pipes */ -static SANE_Status +static SANE_Status close_pipe( Plustek_Scanner *scanner ) { if( scanner->r_pipe >= 0 ) { @@ -550,7 +550,7 @@ reader_process( void *args ) (int)status, lerrn ); if( _E_ABORT == (int)status ) return SANE_STATUS_CANCELLED; - + if( lerrn == EBUSY ) return SANE_STATUS_DEVICE_BUSY; @@ -574,7 +574,7 @@ do_cancel( Plustek_Scanner *scanner, SANE_Bool closepipe ) if( sanei_thread_is_valid (scanner->reader_pid) ) { - DBG( _DBG_PROC, ">>>>>>>> killing reader_process <<<<<<<<\n" ); + DBG( _DBG_PROC, "---- killing reader_process ----\n" ); cancelRead = SANE_TRUE; scanner->calibrating = SANE_FALSE; @@ -604,7 +604,7 @@ do_cancel( Plustek_Scanner *scanner, SANE_Bool closepipe ) #endif } - scanner->reader_pid = -1; + sanei_thread_invalidate( scanner->reader_pid ); DBG( _DBG_PROC,"reader_process killed\n"); #ifndef HAVE_SETITIMER usb_StartLampTimer( scanner->hw ); @@ -746,7 +746,7 @@ init_options( Plustek_Scanner *s ) else s->opt[OPT_BIT_DEPTH].constraint.word_list = bpp_lm9832_list; s->val[OPT_BIT_DEPTH].w = 8; - + if (caps->workaroundFlag & _WAF_ONLY_8BIT) _DISABLE(OPT_BIT_DEPTH); @@ -851,7 +851,7 @@ init_options( Plustek_Scanner *s ) s->val[OPT_BR_Y].w = SANE_FIX(_DEFAULT_BRY); /* "Enhancement" group: */ - s->opt[OPT_ENHANCEMENT_GROUP].title = SANE_I18N("Enhancement"); + s->opt[OPT_ENHANCEMENT_GROUP].title = SANE_I18N("Enhancement"); s->opt[OPT_ENHANCEMENT_GROUP].desc = ""; s->opt[OPT_ENHANCEMENT_GROUP].type = SANE_TYPE_GROUP; s->opt[OPT_ENHANCEMENT_GROUP].cap = 0; @@ -899,7 +899,7 @@ init_options( Plustek_Scanner *s ) s->opt[OPT_GAMMA_VECTOR_B].constraint.range = &(s->gamma_range); s->opt[OPT_GAMMA_VECTOR_B].size = s->gamma_length * sizeof(SANE_Word); - /* GAMMA stuff is disabled per default */ + /* GAMMA stuff is disabled per default */ _DISABLE(OPT_GAMMA_VECTOR); _DISABLE(OPT_GAMMA_VECTOR_R); _DISABLE(OPT_GAMMA_VECTOR_G); @@ -996,7 +996,7 @@ init_options( Plustek_Scanner *s ) s->opt[OPT_AFE_GROUP].desc = ""; s->opt[OPT_AFE_GROUP].type = SANE_TYPE_GROUP; s->opt[OPT_AFE_GROUP].cap = SANE_CAP_ADVANCED; - + s->opt[OPT_OVR_REDGAIN].name = "red-gain"; s->opt[OPT_OVR_REDGAIN].title = SANE_I18N("Red gain"); s->opt[OPT_OVR_REDGAIN].desc = SANE_I18N("Red gain value of the AFE"); @@ -1118,8 +1118,8 @@ init_options( Plustek_Scanner *s ) */ static void decodeUsbIDs( char *src, char **dest ) -{ - const char *name; +{ + const char *name; char *tmp = *dest; int len = strlen(_SECTION); @@ -1134,11 +1134,11 @@ decodeUsbIDs( char *src, char **dest ) if( '\0' == name[0] ) { DBG( _DBG_SANE_INIT, "next device uses autodetection\n" ); } else { - + u_short pi = 0, vi = 0; if( *name ) { - + name = sanei_config_get_string( name, &tmp ); if( tmp ) { vi = strtol( tmp, 0, 0 ); @@ -1208,7 +1208,7 @@ decodeVal( char *src, char *opt, int what, void *result, void *def ) free( tmp2 ); } } - free( tmp ); + free( tmp ); return SANE_TRUE; } else if( _FLOAT == what ) { @@ -1226,7 +1226,7 @@ decodeVal( char *src, char *opt, int what, void *result, void *def ) free( tmp2 ); } } - free( tmp ); + free( tmp ); return SANE_TRUE; } } @@ -1245,7 +1245,7 @@ decodeVal( char *src, char *opt, int what, void *result, void *def ) static SANE_Bool decodeDevName( char *src, char *dest ) { - char *tmp; + char *tmp; const char *name; if( 0 == strncmp( "device", src, 6 )) { @@ -1360,7 +1360,7 @@ attach( const char *dev_name, CnfDef *cnf, Plustek_Device **devp ) */ dev->res_list = (SANE_Int *) calloc((((dev->usbDev.Caps.OpticDpi.x*16)-_DEF_DPI)/25+1), - sizeof (SANE_Int)); + sizeof (SANE_Int)); if (NULL == dev->res_list) { DBG( _DBG_ERROR, "calloc failed: %s\n", strerror(errno)); @@ -1565,10 +1565,10 @@ sane_init( SANE_Int *version_code, SANE_Auth_Callback authorize ) /* re-initialize the configuration structure */ init_config_struct( &config ); - + tmp = config.usbId; decodeUsbIDs( str, &tmp ); - + DBG( _DBG_SANE_INIT, "... next device\n" ); continue; @@ -1613,7 +1613,7 @@ sane_exit( void ) if( dev->calFile ) free( dev->calFile ); - + if( dev->res_list ) free( dev->res_list ); free( dev ); @@ -1807,7 +1807,7 @@ do_calibration( void *args ) continue; } } - + dev->scanning.dwFlag |= SCANFLAG_Calibration; if (SANE_STATUS_GOOD == local_sane_start(s, modes[scanmode])) { @@ -1937,7 +1937,7 @@ sane_control_option( SANE_Handle handle, SANE_Int option, strcpy ((char *) value, s->opt[option].constraint.string_list[s->val[option].w]); break; - + /* word array options: */ case OPT_GAMMA_VECTOR: DBG( _DBG_INFO, "Reading MASTER gamma.\n" ); @@ -2000,7 +2000,7 @@ sane_control_option( SANE_Handle handle, SANE_Int option, *(SANE_Word *)value = best; if( NULL != info ) { - if( v != best ) + if( v != best ) *info |= SANE_INFO_INEXACT; *info |= SANE_INFO_RELOAD_PARAMS; } @@ -2165,10 +2165,10 @@ sane_control_option( SANE_Handle handle, SANE_Int option, ((*(SANE_Word *)value) >> SANE_FIXED_SCALE_SHIFT); break; - case OPT_MODE: + case OPT_MODE: s->val[option].w = optval - s->opt[option].constraint.string_list; scanmode = getScanMode( s ); - + _ENABLE(OPT_CONTRAST); _ENABLE(OPT_BIT_DEPTH); _ENABLE(OPT_CUSTOM_GAMMA); @@ -2447,9 +2447,9 @@ local_sane_start(Plustek_Scanner *s, int scanmode ) } /* position and extent are always relative to 300 dpi */ - dpi_x = (double)dev->usbDev.Caps.OpticDpi.x; + dpi_x = (double)dev->usbDev.Caps.OpticDpi.x; dpi_y = (double)dev->usbDev.Caps.OpticDpi.x * 2; - + left = (int)(SANE_UNFIX (s->val[OPT_TL_X].w)*dpi_x/ (MM_PER_INCH*(dpi_x/300.0))); top = (int)(SANE_UNFIX (s->val[OPT_TL_Y].w)*dpi_y/ @@ -2504,7 +2504,7 @@ local_sane_start(Plustek_Scanner *s, int scanmode ) sinfo.siContrast = s->val[OPT_CONTRAST].w; memcpy( &sinfo.ImgDef, &crop.ImgDef, sizeof(ImgDef)); - + DBG( _DBG_SANE_INIT, "brightness %i, contrast %i\n", sinfo.siBrightness, sinfo.siContrast ); @@ -2628,7 +2628,7 @@ sane_start( SANE_Handle handle ) s->reader_pid = sanei_thread_begin( reader_process, s ); cancelRead = SANE_FALSE; - + if( !sanei_thread_is_valid (s->reader_pid) ) { DBG( _DBG_ERROR, "ERROR: could not start reader task\n" ); s->scanning = SANE_FALSE; @@ -2687,7 +2687,7 @@ sane_read( SANE_Handle handle, SANE_Byte *data, } } s->hw->transferRate = ipc.transferRate; - DBG( _DBG_INFO, "IPC: Transferrate = %lu Bytes/s\n", + DBG( _DBG_INFO, "IPC: Transferrate = %lu Bytes/s\n", ipc.transferRate ); } #endif @@ -2706,7 +2706,7 @@ sane_read( SANE_Handle handle, SANE_Byte *data, if( s->bytes_read == (unsigned long)(s->params.lines * s->params.bytes_per_line)) { sanei_thread_waitpid( s->reader_pid, 0 ); - s->reader_pid = -1; + sanei_thread_invalidate( s->reader_pid ); s->scanning = SANE_FALSE; drvclose( s->hw ); return close_pipe(s); @@ -2735,7 +2735,7 @@ sane_read( SANE_Handle handle, SANE_Byte *data, close_pipe(s); return s->exit_code; } - s->reader_pid = -1; + sanei_thread_invalidate( s->reader_pid ); s->scanning = SANE_FALSE; return close_pipe(s); } @@ -2773,7 +2773,7 @@ sane_set_io_mode( SANE_Handle handle, SANE_Bool non_blocking ) DBG( _DBG_ERROR, "ERROR: not supported !\n" ); return SANE_STATUS_UNSUPPORTED; } - + if( fcntl (s->r_pipe, F_SETFL, non_blocking ? O_NONBLOCK : 0) < 0) { DBG( _DBG_ERROR, "ERROR: could not set to non-blocking mode !\n" ); return SANE_STATUS_IO_ERROR; diff --git a/backend/plustek.conf.in b/backend/plustek.conf.in index e16823e..3d6f947 100644 --- a/backend/plustek.conf.in +++ b/backend/plustek.conf.in @@ -84,7 +84,7 @@ option negShadingY -1 option invertNegatives 0 # -# to disable the internal sensor speedup function, +# to disable the internal sensor speedup function, # 1 disables the feature # option disableSpeedup 0 @@ -180,5 +180,5 @@ device auto # # to define a new device, start with a new section: -# [usb] +# [usb] # diff --git a/backend/plustek.h b/backend/plustek.h index be657c1..cc38f13 100644 --- a/backend/plustek.h +++ b/backend/plustek.h @@ -283,7 +283,7 @@ typedef struct { int rofs; int gofs; int bofs; - + int rlampoff; /* for red lamp off setting (CIS-scanner) */ int glampoff; /* for green lamp off setting (CIS-scanner) */ int blampoff; /* for blue lamp off setting (CIS-scanner) */ @@ -408,7 +408,7 @@ typedef struct Plustek_Scanner /** for collecting configuration info... */ typedef struct { - + char devName[PATH_MAX]; char usbId[_MAX_ID_LEN]; diff --git a/backend/plustek_pp.c b/backend/plustek_pp.c index f48c3dc..551cf27 100644 --- a/backend/plustek_pp.c +++ b/backend/plustek_pp.c @@ -58,7 +58,7 @@ /** @mainpage * @verbinclude Plustek-PARPORT.txt */ - + #ifdef _AIX # include "../include/lalloca.h" /* MUST come first for AIX! */ #endif @@ -216,9 +216,9 @@ static const SANE_String_Const halftone_list[] = static const SANE_Range percentage_range = { - -100 << SANE_FIXED_SCALE_SHIFT, /* minimum */ - 100 << SANE_FIXED_SCALE_SHIFT, /* maximum */ - 1 << SANE_FIXED_SCALE_SHIFT /* quantization */ + SANE_FIX(-100), /* minimum */ + SANE_FIX( 100), /* maximum */ + SANE_FIX( 1) /* quantization */ }; /* @@ -304,17 +304,17 @@ static pModeParam getModeList( Plustek_Scanner *scanner ) if((_ASIC_IS_98003 == scanner->hw->caps.AsicID) || (_ASIC_IS_98001 == scanner->hw->caps.AsicID)) { - mp = mode_9800x_params; + mp = mode_9800x_params; } else { - mp = mode_params; - } + mp = mode_params; + } /* * the transparency/negative mode supports only GRAY/COLOR/COLOR32/COLOR48 */ if( 0 != scanner->val[OPT_EXT_MODE].w ) { mp = &mp[_TPAModeSupportMin]; - } + } return mp; } @@ -396,7 +396,7 @@ static int reader_process( void *args ) act.sa_handler = reader_process_sigterm_handler; sigaction( SIGTERM, &act, 0 ); - + data_length = scanner->params.lines * scanner->params.bytes_per_line; DBG( _DBG_PROC, "reader_process:" @@ -407,7 +407,7 @@ static int reader_process( void *args ) DBG( _DBG_FATAL, "NULL Pointer !!!!\n" ); return SANE_STATUS_IO_ERROR; } - + /* here we read all data from the driver... */ if( scanner->hw->readImage ) { @@ -419,7 +419,7 @@ static int reader_process( void *args ) status = scanner->hw->prepare( scanner->hw, buf ); - + if( 0 == status ) { for( line = 0; line < scanner->params.lines; line++ ) { @@ -442,7 +442,7 @@ static int reader_process( void *args ) (int)status, errno ); if( -9009 == (int)status ) return SANE_STATUS_CANCELLED; - + if( errno == EBUSY ) return SANE_STATUS_DEVICE_BUSY; @@ -473,14 +473,14 @@ static SANE_Status do_cancel( Plustek_Scanner *scanner, SANE_Bool closepipe ) if( sanei_thread_is_valid( scanner->reader_pid )) { - DBG( _DBG_PROC, ">>>>>>>> killing reader_process <<<<<<<<\n" ); + DBG( _DBG_PROC, "---- killing reader_process ----\n" ); /* tell the driver to stop scanning */ if( -1 != scanner->hw->fd ) { int_cnt = 1; scanner->hw->stopScan( scanner->hw, &int_cnt ); - } - + } + sigemptyset(&(act.sa_mask)); act.sa_flags = 0; @@ -494,19 +494,19 @@ static SANE_Status do_cancel( Plustek_Scanner *scanner, SANE_Bool closepipe ) alarm(10); res = sanei_thread_waitpid( scanner->reader_pid, 0 ); alarm(0); - + if( res != scanner->reader_pid ) { DBG( _DBG_PROC,"sanei_thread_waitpid() failed !\n"); - + /* do it the hard way...*/ #ifdef USE_PTHREAD sanei_thread_kill( scanner->reader_pid ); #else sanei_thread_sendsig( scanner->reader_pid, SIGKILL ); #endif - } + } - scanner->reader_pid = -1; + sanei_thread_invalidate( scanner->reader_pid ); DBG( _DBG_PROC,"reader_process killed\n"); } @@ -547,7 +547,7 @@ static void limitResolution( Plustek_Device *dev ) } else { dev->dpi_range.max = lens.rDpiY.wPhyMax; } - + dev->dpi_range.quant = 0; dev->x_range.min = 0; dev->x_range.max = SANE_FIX(dev->max_x); @@ -582,37 +582,37 @@ static SANE_Status initGammaSettings( Plustek_Scanner *s ) s->gamma_length = 256; } - + DBG( _DBG_INFO, "Presetting Gamma tables (len=%u)\n", s->gamma_length ); DBG( _DBG_INFO, "----------------------------------\n" ); - + /* * preset the gamma maps */ for( i = 0; i < 4; i++ ) { - + switch( i ) { case 1: gamma = s->hw->adj.rgamma; break; case 2: gamma = s->hw->adj.ggamma; break; case 3: gamma = s->hw->adj.bgamma; break; default: gamma = s->hw->adj.graygamma; break; - } - + } + for( j = 0; j < s->gamma_length; j++ ) { - + val = (s->gamma_range.max * pow((double) j / ((double)s->gamma_length - 1.0), 1.0 / gamma )); - + if( val > s->gamma_range.max ) val = s->gamma_range.max; - - s->gamma_table[i][j] = val; - } - } - + + s->gamma_table[i][j] = val; + } + } + return SANE_STATUS_GOOD; -} +} /** Check the gamma vectors we got back and limit if necessary * @param s - pointer to the scanner specific structure @@ -685,7 +685,7 @@ static SANE_Status init_options( Plustek_Scanner *s ) s->opt[OPT_EXT_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST; s->opt[OPT_EXT_MODE].constraint.string_list = ext_mode_list; s->val[OPT_EXT_MODE].w = 0; /* Normal */ - + /* halftone */ s->opt[OPT_HALFTONE].name = SANE_NAME_HALFTONE_PATTERN; s->opt[OPT_HALFTONE].title = SANE_TITLE_HALFTONE; @@ -790,14 +790,14 @@ static SANE_Status init_options( Plustek_Scanner *s ) s->val[OPT_BR_Y].w = SANE_FIX(_DEFAULT_BRY); /* "Enhancement" group: */ - s->opt[OPT_ENHANCEMENT_GROUP].title = SANE_I18N("Enhancement"); + s->opt[OPT_ENHANCEMENT_GROUP].title = SANE_I18N("Enhancement"); s->opt[OPT_ENHANCEMENT_GROUP].desc = ""; s->opt[OPT_ENHANCEMENT_GROUP].type = SANE_TYPE_GROUP; s->opt[OPT_ENHANCEMENT_GROUP].cap = 0; s->opt[OPT_ENHANCEMENT_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - + initGammaSettings( s ); - + /* grayscale gamma vector */ s->opt[OPT_GAMMA_VECTOR].name = SANE_NAME_GAMMA_VECTOR; s->opt[OPT_GAMMA_VECTOR].title = SANE_TITLE_GAMMA_VECTOR; @@ -842,12 +842,12 @@ static SANE_Status init_options( Plustek_Scanner *s ) s->opt[OPT_GAMMA_VECTOR_B].constraint.range = &(s->gamma_range); s->opt[OPT_GAMMA_VECTOR_B].size = s->gamma_length * sizeof(SANE_Word); - /* GAMMA stuff is disabled per default */ + /* GAMMA stuff is disabled per default */ s->opt[OPT_GAMMA_VECTOR].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_R].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_G].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_B].cap |= SANE_CAP_INACTIVE; - + /* disable extended mode list for devices without TPA */ if( 0 == (s->hw->caps.dwFlag & SFLAG_TPA)) { s->opt[OPT_EXT_MODE].cap |= SANE_CAP_INACTIVE; @@ -856,7 +856,7 @@ static SANE_Status init_options( Plustek_Scanner *s ) /* disable custom gamma, if not supported by the driver... */ if( 0 == (s->hw->caps.dwFlag & SFLAG_CUSTOM_GAMMA)) { s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_INACTIVE; - } + } return SANE_STATUS_GOOD; } @@ -885,18 +885,18 @@ static SANE_Bool decodeVal( char *src, char *opt, /* get the name of the option */ name = sanei_config_get_string( name, &tmp ); - if( tmp ) { + if( tmp ) { /* on success, compare wiht the given one */ if( 0 == strcmp( tmp, opt )) { - + DBG( _DBG_SANE_INIT, "Decoding option >%s<\n", opt ); if( _INT == what ) { - + /* assign the default value for this option... */ *((int*)result) = *((int*)def); - + if( *name ) { /* get the configuration value and decode it */ @@ -907,14 +907,14 @@ static SANE_Bool decodeVal( char *src, char *opt, free( tmp2 ); } } - free( tmp ); + free( tmp ); return SANE_TRUE; - + } else if( _FLOAT == what ) { - + /* assign the default value for this option... */ *((double*)result) = *((double*)def); - + if( *name ) { /* get the configuration value and decode it */ @@ -925,13 +925,13 @@ static SANE_Bool decodeVal( char *src, char *opt, free( tmp2 ); } } - free( tmp ); + free( tmp ); return SANE_TRUE; } - } + } free( tmp ); } - + return SANE_FALSE; } @@ -944,27 +944,27 @@ static SANE_Bool decodeVal( char *src, char *opt, */ static SANE_Bool decodeDevName( char *src, char *dest ) { - char *tmp; + char *tmp; const char *name; if( 0 == strncmp( "device", src, 6 )) { name = (const char*)&src[strlen("device")]; name = sanei_config_skip_whitespace( name ); - + DBG( _DBG_SANE_INIT, "Decoding device name >%s<\n", name ); - + if( *name ) { name = sanei_config_get_string( name, &tmp ); if( tmp ) { - + strcpy( dest, tmp ); free( tmp ); return SANE_TRUE; } - } + } } - + return SANE_FALSE; } @@ -1000,7 +1000,7 @@ static SANE_Status attach( const char *dev_name, pCnfDef cnf, /* assign all the stuff we need fo this device... */ memset(dev, 0, sizeof (*dev)); - + dev->fd = -1; dev->name = strdup(dev_name); /* hold it double to avoid */ dev->sane.name = dev->name; /* compiler warnings */ @@ -1067,7 +1067,7 @@ static SANE_Status attach( const char *dev_name, pCnfDef cnf, } else { dev->sane.model = ModelStr[0]; } - + DBG( _DBG_INFO, "Vendor : %s\n", dev->sane.vendor ); DBG( _DBG_INFO, "Model : %s\n", dev->sane.model ); DBG( _DBG_INFO, "Asic : 0x%02x\n", dev->caps.AsicID ); @@ -1140,7 +1140,7 @@ SANE_Status sane_init( SANE_Int *version_code, SANE_Auth_Callback authorize ) DBG_INIT(); sanei_thread_init(); - + res = sanei_pp_init(); if( SANE_STATUS_GOOD != res ) { DBG( _DBG_ERROR, "Could not initialize Parport library!\n" ); @@ -1178,20 +1178,20 @@ SANE_Status sane_init( SANE_Int *version_code, SANE_Auth_Callback authorize ) } while( sanei_config_read( str, sizeof(str), fp)) { - + DBG( _DBG_SANE_INIT, ">%s<\n", str ); if( str[0] == '#') /* ignore line comments */ continue; - + len = strlen(str); if( 0 == len ) continue; /* ignore empty lines */ /* check for options */ if( 0 == strncmp(str, "option", 6)) { - + int ival; - + ival = -1; decodeVal( str, "warmup", _INT, &config.adj.warmup, &ival); decodeVal( str, "lampOff", _INT, &config.adj.lampOff, &ival); @@ -1203,14 +1203,14 @@ SANE_Status sane_init( SANE_Int *version_code, SANE_Auth_Callback authorize ) /* check for sections: */ } else if( 0 == strncmp( str, "[direct]", 8)) { - + /* new section, try and attach previous device */ if( config.devName[0] != '\0' ) attach( config.devName, &config, 0 ); - + /* re-initialize the configuration structure */ init_config_struct( &config, SANE_TRUE ); - continue; + continue; } else if( 0 == strncmp( str, "[kernel]", 8 )) { @@ -1221,11 +1221,11 @@ SANE_Status sane_init( SANE_Int *version_code, SANE_Auth_Callback authorize ) /* re-initialize the configuration structure */ init_config_struct( &config, SANE_FALSE ); continue; - + } else if( SANE_TRUE == decodeDevName( str, config.devName )) { continue; } - + /* ignore other stuff... */ DBG( _DBG_SANE_INIT, "ignoring >%s<\n", str ); } @@ -1234,7 +1234,7 @@ SANE_Status sane_init( SANE_Int *version_code, SANE_Auth_Callback authorize ) /* try to attach the last device in the config file... */ if( config.devName[0] != '\0' ) attach( config.devName, &config, 0 ); - + return SANE_STATUS_GOOD; } @@ -1328,7 +1328,7 @@ SANE_Status sane_open( SANE_String_Const devicename, SANE_Handle* handle ) if( !dev ) { memset( &config, 0, sizeof(CnfDef)); - + /* check if a valid parport-device is meant... */ status = attach( devicename, &config, &dev ); if( SANE_STATUS_GOOD != status ) @@ -1359,7 +1359,7 @@ SANE_Status sane_open( SANE_String_Const devicename, SANE_Handle* handle ) first_handle = s; *handle = s; - + return SANE_STATUS_GOOD; } @@ -1382,7 +1382,7 @@ void sane_close (SANE_Handle handle) if (!s) { DBG( _DBG_ERROR, "close: invalid handle %p\n", handle); - return; + return; } close_pipe( s ); @@ -1463,7 +1463,7 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, strcpy ((char *) value, s->opt[option].constraint.string_list[s->val[option].w]); break; - + /* word array options: */ case OPT_GAMMA_VECTOR: case OPT_GAMMA_VECTOR_R: @@ -1471,7 +1471,7 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, case OPT_GAMMA_VECTOR_B: memcpy( value, s->val[option].wa, s->opt[option].size ); break; - + default: return SANE_STATUS_INVAL; } @@ -1514,7 +1514,7 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, *(SANE_Word *)value = best; if( NULL != info ) { - if( v != best ) + if( v != best ) *info |= SANE_INFO_INEXACT; *info |= SANE_INFO_RELOAD_PARAMS; } @@ -1531,22 +1531,22 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, if( NULL != info ) *info |= SANE_INFO_RELOAD_PARAMS; break; - + case OPT_CUSTOM_GAMMA: s->val[option].w = *(SANE_Word *)value; if( NULL != info ) *info |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - mp = getModeList( s ); + mp = getModeList( s ); scanmode = mp[s->val[OPT_MODE].w].scanmode; s->opt[OPT_GAMMA_VECTOR].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_R].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_G].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_B].cap |= SANE_CAP_INACTIVE; - + if( SANE_TRUE == s->val[option].w ) { - + if((scanmode == COLOR_256GRAY) || (scanmode == COLOR_GRAY16)) { s->opt[OPT_GAMMA_VECTOR].cap &= ~SANE_CAP_INACTIVE; @@ -1554,20 +1554,20 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, s->opt[OPT_GAMMA_VECTOR_R].cap &= ~SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_G].cap &= ~SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_B].cap &= ~SANE_CAP_INACTIVE; - } - + } + } else { - + initGammaSettings( s ); - + if((scanmode == COLOR_256GRAY) || (scanmode == COLOR_GRAY16)) { s->opt[OPT_GAMMA_VECTOR].cap |= SANE_CAP_INACTIVE; - } else { + } else { s->opt[OPT_GAMMA_VECTOR_R].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_G].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_B].cap |= SANE_CAP_INACTIVE; - } + } } break; @@ -1587,7 +1587,7 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, } mp = getModeList( s ); - + if( mp[idx].scanmode != COLOR_HALFTONE ){ s->opt[OPT_HALFTONE].cap |= SANE_CAP_INACTIVE; s->opt[OPT_CONTRAST].cap &= ~SANE_CAP_INACTIVE; @@ -1601,16 +1601,16 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, if( mp[idx].scanmode == COLOR_BW ) { s->opt[OPT_CONTRAST].cap |= SANE_CAP_INACTIVE; s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_INACTIVE; - } - + } + s->opt[OPT_GAMMA_VECTOR].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_R].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_G].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_B].cap |= SANE_CAP_INACTIVE; - + if( s->val[OPT_CUSTOM_GAMMA].w && !(s->opt[OPT_CUSTOM_GAMMA].cap & SANE_CAP_INACTIVE)) { - + if((mp[idx].scanmode == COLOR_256GRAY) || (mp[idx].scanmode == COLOR_GRAY16)) { s->opt[OPT_GAMMA_VECTOR].cap &= ~SANE_CAP_INACTIVE; @@ -1677,7 +1677,7 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, } if( s->hw->caps.dwFlag & SFLAG_TPA ) { - + s->opt[OPT_MODE].constraint.string_list = &mode_9800x_list[_TPAModeSupportMin]; } else { @@ -1702,13 +1702,13 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, checkGammaSettings(s); if( NULL != info ) *info |= SANE_INFO_RELOAD_PARAMS; - break; + break; default: return SANE_STATUS_INVAL; } break; - + default: return SANE_STATUS_INVAL; @@ -1834,7 +1834,7 @@ SANE_Status sane_start( SANE_Handle handle ) s->hw->close( s->hw ); return SANE_STATUS_IO_ERROR; } - + result = s->hw->getLensInfo( s->hw, &lens ); if( result < 0 ) { DBG( _DBG_ERROR, "dev->getLensInfo() failed(%d)\n", result ); @@ -2084,7 +2084,7 @@ SANE_Status sane_read( SANE_Handle handle, SANE_Byte *data, if( s->bytes_read == (unsigned long)(s->params.lines * s->params.bytes_per_line)) { sanei_thread_waitpid( s->reader_pid, 0 ); - s->reader_pid = -1; + sanei_thread_invalidate( s->reader_pid ); drvclose( s->hw ); return close_pipe(s); } @@ -2112,7 +2112,7 @@ SANE_Status sane_read( SANE_Handle handle, SANE_Byte *data, close_pipe(s); return s->exit_code; } - s->reader_pid = -1; + sanei_thread_invalidate( s->reader_pid ); return close_pipe(s); } @@ -2148,9 +2148,9 @@ SANE_Status sane_set_io_mode (SANE_Handle handle, SANE_Bool non_blocking) DBG( _DBG_ERROR, "ERROR: not supported !\n" ); return SANE_STATUS_UNSUPPORTED; } - + if( fcntl (s->r_pipe, F_SETFL, non_blocking ? O_NONBLOCK : 0) < 0) { - DBG( _DBG_ERROR, "ERROR: cant set to non-blocking mode !\n" ); + DBG( _DBG_ERROR, "ERROR: can´t set to non-blocking mode !\n" ); return SANE_STATUS_IO_ERROR; } diff --git a/backend/plustek_pp.conf.in b/backend/plustek_pp.conf.in index a000343..d357007 100644 --- a/backend/plustek_pp.conf.in +++ b/backend/plustek_pp.conf.in @@ -1,5 +1,5 @@ # Plustek-PP SANE Backend configuration file -# For use with Plustek parallel-port scanners +# For use with Plustek parallel-port scanners # # diff --git a/backend/pnm.c b/backend/pnm.c index ff4e2f2..1d1f4fd 100644 --- a/backend/pnm.c +++ b/backend/pnm.c @@ -2,7 +2,7 @@ Copyright (C) 1996, 1997 Andreas Beck Copyright (C) 2000, 2001 Michael Herder Copyright (C) 2001, 2002 Henning Meier-Geinitz - Copyright (C) 2008 Stphane Voltz + Copyright (C) 2008 Stéphane Voltz This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -106,9 +106,9 @@ static const SANE_Word resbit_list[] = { 200, 210, 225, 240, 255, 270, 285, 300 }; static const SANE_Range percentage_range = { - -100 << SANE_FIXED_SCALE_SHIFT, /* minimum */ - 100 << SANE_FIXED_SCALE_SHIFT, /* maximum */ - 0 << SANE_FIXED_SCALE_SHIFT /* quantization */ + SANE_FIX(-100), /* minimum */ + SANE_FIX(100), /* maximum */ + SANE_FIX(0) /* quantization */ }; static const SANE_Range gamma_range = { 0, /* minimum */ diff --git a/backend/qcam.c b/backend/qcam.c index 0148bea..4c46fa7 100644 --- a/backend/qcam.c +++ b/backend/qcam.c @@ -1248,7 +1248,7 @@ init_options (QC_Scanner * s) int i; DBG (3, "init_options: enter\n"); - + memset (s->opt, 0, sizeof (s->opt)); memset (s->val, 0, sizeof (s->val)); @@ -1446,7 +1446,7 @@ init_options (QC_Scanner * s) s->val[OPT_SATURATION].w = 100; DBG (3, "init_options: exit\n"); - + return SANE_STATUS_GOOD; } @@ -1497,9 +1497,9 @@ sane_exit (void) { QC_Device *dev, *next; static const SANE_Device **devlist; - + DBG (5, "sane_exit: enter\n"); - + for (dev = first_dev; dev; dev = next) { next = dev->next; @@ -1510,7 +1510,7 @@ sane_exit (void) if (devlist) { free (devlist); devlist = NULL; - } + } DBG (5, "sane_exit: exit\n"); } @@ -1538,9 +1538,9 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) devlist[i++] = 0; *device_list = devlist; - + DBG (5, "sane_get_devices: exit\n"); - + return SANE_STATUS_GOOD; } @@ -1630,7 +1630,7 @@ sane_close (SANE_Handle handle) QC_Scanner *prev, *s; DBG (5, "sane_close: enter\n"); - + /* remove handle from list of open handles: */ prev = 0; for (s = first_handle; s; s = s->next) @@ -1666,9 +1666,9 @@ sane_close (SANE_Handle handle) close (s->read_fd); free (s); - + DBG (5, "sane_close: exit\n"); - + } const SANE_Option_Descriptor * @@ -1677,7 +1677,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) QC_Scanner *s = handle; DBG (5, "sane_get_option_descriptor: enter\n"); - + if ((unsigned) option >= NUM_OPTIONS) return 0; @@ -1698,7 +1698,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, int i; DBG (5, "sane_control_option: enter\n"); - + if (info) *info = 0; @@ -1866,7 +1866,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) size_t Bpp = 3; /* # of bytes per pixel */ DBG (5, "sane_get_parameters: enter\n"); - + if (!s->scanning) { /* Only compute new parameters when not scanning---allows @@ -1912,7 +1912,7 @@ sane_start (SANE_Handle handle) QC_Scan_Request req; DBG (5, "sane_start: enter\n"); - + if (s->scanning) return SANE_STATUS_DEVICE_BUSY; @@ -2099,7 +2099,7 @@ sane_start (SANE_Handle handle) s->deliver_eof = 0; DBG (5, "sane_start: exit\n"); - + return SANE_STATUS_GOOD; } @@ -2114,7 +2114,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, size_t len; DBG (5, "sane_read: enter\n"); - + *lenp = 0; if (s->deliver_eof) @@ -2177,7 +2177,7 @@ sane_cancel (SANE_Handle handle) SANE_Status status; DBG (5, "sane_cancel: enter\n"); - + was_scanning = s->scanning; s->scanning = SANE_FALSE; s->deliver_eof = 0; @@ -2239,7 +2239,7 @@ sane_set_io_mode (SANE_Handle handle, SANE_Bool non_blocking) QC_Scanner *s = handle; DBG (5, "sane_set_io_mode: enter\n"); - + if (!s->scanning) return SANE_STATUS_INVAL; diff --git a/backend/ricoh-scsi.c b/backend/ricoh-scsi.c index 72fd70b..73bd4fa 100644 --- a/backend/ricoh-scsi.c +++ b/backend/ricoh-scsi.c @@ -39,9 +39,9 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. */ -/* +/* $Id$ - This file implements the low-level scsi-commands. + This file implements the low-level scsi-commands. */ @@ -251,7 +251,7 @@ set_window (int fd, struct ricoh_window_data *rwd) static SANE_Status get_window (int fd, struct ricoh_window_data *rwd) { - + static struct scsi_window_cmd cmd; static size_t rwd_size; SANE_Status status; @@ -317,7 +317,7 @@ get_data_status (int fd, struct scsi_status_desc *dbs) status = sanei_scsi_cmd (fd, &cmd, sizeof (cmd), &ssd, &ssd_size); memcpy (dbs, &ssd.desc, sizeof(*dbs)); - if (status == SANE_STATUS_GOOD && + if (status == SANE_STATUS_GOOD && (((unsigned int) _3btol(ssd.len)) <= sizeof(*dbs) || _3btol(ssd.desc.filled) == 0)) { DBG (11, "get_data_status: busy\n"); status = SANE_STATUS_DEVICE_BUSY; diff --git a/backend/ricoh.c b/backend/ricoh.c index 88f33d1..58b3a53 100644 --- a/backend/ricoh.c +++ b/backend/ricoh.c @@ -41,7 +41,7 @@ /* $Id$ - This file implements a SANE backend for Ricoh flatbed scanners. + This file implements a SANE backend for Ricoh flatbed scanners. */ #include "../include/sane/config.h" @@ -187,7 +187,7 @@ attach (const char *devnam, Ricoh_Device ** devp) DBG (1, "attach: MODE_SELECT failed\n"); sanei_scsi_close (fd); return (SANE_STATUS_INVAL); - } + } #endif #if 0 @@ -510,7 +510,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) if (line[0] == '#') /* ignore line comments */ continue; len = strlen (line); - + if (!len) continue; /* ignore empty lines */ @@ -538,7 +538,7 @@ sane_exit (void) free ((void *) dev->sane.model); free (dev); } - + if (devlist) free (devlist); @@ -824,7 +824,7 @@ sane_start (SANE_Handle handle) s->brightness = s->val[OPT_BRIGHTNESS].w; s->contrast = s->val[OPT_CONTRAST].w; s->bpp = s->params.depth; - if (strcmp (mode_str, SANE_VALUE_SCAN_MODE_LINEART) == 0) + if (strcmp (mode_str, SANE_VALUE_SCAN_MODE_LINEART) == 0) { s->image_composition = RICOH_BINARY_MONOCHROME; } @@ -849,11 +849,11 @@ sane_start (SANE_Handle handle) wbuf.image_comp = s->image_composition; /* if you throw the MRIF bit the brighness control reverses too */ /* so I reverse the reversal in software for symmetry's sake */ - if (wbuf.image_comp == RICOH_GRAYSCALE || wbuf.image_comp == RICOH_DITHERED_MONOCHROME) + if (wbuf.image_comp == RICOH_GRAYSCALE || wbuf.image_comp == RICOH_DITHERED_MONOCHROME) { - if (wbuf.image_comp == RICOH_GRAYSCALE) + if (wbuf.image_comp == RICOH_GRAYSCALE) wbuf.mrif_filtering_gamma_id = (SANE_Byte) 0x90; - if (wbuf.image_comp == RICOH_DITHERED_MONOCHROME) + if (wbuf.image_comp == RICOH_DITHERED_MONOCHROME) wbuf.mrif_filtering_gamma_id = (SANE_Byte) 0x10; wbuf.brightness = 256 - (SANE_Byte) s->brightness; if (is50) @@ -899,7 +899,7 @@ sane_start (SANE_Handle handle) if (status != SANE_STATUS_GOOD) { DBG (1, "GET WINDOW failed: %s\n", sane_strstatus (status)); - return (status); + return (status); } DBG (5, "xres=%d\n", _2btol(wbuf.x_res)); DBG (5, "yres=%d\n", _2btol(wbuf.y_res)); @@ -937,18 +937,18 @@ sane_start (SANE_Handle handle) { DBG (1, "GET DATA STATUS failed: %s\n", sane_strstatus (status)); return (status); - } + } s->bytes_to_read = s->params.bytes_per_line * s->params.lines; DBG (1, "%d pixels per line, %d bytes, %d lines high, total %lu bytes, " "dpi=%d\n", s->params.pixels_per_line, s->params.bytes_per_line, s->params.lines, (u_long) s->bytes_to_read, s->val[OPT_Y_RESOLUTION].w); - + s->scanning = SANE_TRUE; - DBG (11, "<< sane_start\n"); - return (SANE_STATUS_GOOD); + DBG (11, "<< sane_start\n"); + return (SANE_STATUS_GOOD); } SANE_Status @@ -963,7 +963,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, *len = 0; DBG (11, "sane_read: bytes left to read: %ld\n", (u_long) s->bytes_to_read); - + if (s->bytes_to_read == 0) { do_cancel (s); @@ -973,7 +973,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, if (!s->scanning) { DBG (11, "sane_read: scanning is false!\n"); return (do_cancel (s)); - } + } nread = max_len; if (nread > s->bytes_to_read) diff --git a/backend/ricoh.h b/backend/ricoh.h index f9bb36e..8771297 100644 --- a/backend/ricoh.h +++ b/backend/ricoh.h @@ -171,7 +171,7 @@ _4btol(SANE_Byte *bytes) return (rv); } -typedef enum +typedef enum { OPT_NUM_OPTS = 0, @@ -318,7 +318,7 @@ struct measurements_units_page { }; struct mode_pages { - SANE_Byte page_code; + SANE_Byte page_code; SANE_Byte parameter_length; SANE_Byte rest[6]; #if 0 diff --git a/backend/ricoh2.c b/backend/ricoh2.c new file mode 100644 index 0000000..8aa938e --- /dev/null +++ b/backend/ricoh2.c @@ -0,0 +1,971 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2018 Stanislav Yuzvinsky + Based on the work done by viruxx + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#include "../include/sane/config.h" + +#include + +#include "../include/sane/sane.h" +#include "../include/sane/sanei.h" +#include "../include/sane/sanei_usb.h" +#include "../include/sane/saneopts.h" +#include "../include/sane/sanei_backend.h" +#include "../include/sane/sanei_debug.h" + +#include "ricoh2_buffer.c" + +#define MAX_OPTION_STRING_SIZE 255 +#define MAX_LINE_SIZE 240 * 256 /* = 61440 */ +#define HEIGHT_PIXELS_300DPI 3508 +#define WIDTH_BYTES_300DPI 2560 +#define WIDTH_PIXELS_300DPI 2550 +#define INFO_SIZE (WIDTH_BYTES_300DPI - WIDTH_PIXELS_300DPI) +#define USB_TIMEOUT_MS 20000 +#define MAX_COMMAND_SIZE 64 + +#define CHECK_IF(x) if (!(x)) return SANE_STATUS_INVAL + +typedef enum +{ + OPT_NUM_OPTS = 0, + OPT_MODE, + OPT_RESOLUTION, + + /* must come last: */ + NUM_OPTIONS +} +Ricoh_Options; + +typedef enum +{ + SCAN_MODE_COLOR, + SCAN_MODE_GRAY +} +Scan_Mode; + + +typedef struct Ricoh2_Device { + struct Ricoh2_Device *next; + SANE_Device sane; + SANE_Bool active; + + /* options */ + SANE_Option_Descriptor opt[NUM_OPTIONS]; + Option_Value val[NUM_OPTIONS]; + + /* acquiring session */ + SANE_Int dn; + SANE_Bool cancelled; + Scan_Mode mode; + SANE_Int resolution; + SANE_Bool eof; + size_t bytes_to_read; + ricoh2_buffer *buffer; + +} +Ricoh2_Device; + +typedef struct Ricoh2_device_info { + SANE_Int product_id; + SANE_String_Const device_name; +} +Ricoh2_device_info; + +static Ricoh2_device_info supported_devices[] = { + { 0x042c, "Aficio SP100SU" }, + { 0x0438, "Aficio SG3100SNw" }, + { 0x0448, "Aficio SP111SU" } +}; + +static SANE_String_Const mode_list[] = { + SANE_VALUE_SCAN_MODE_COLOR, + SANE_VALUE_SCAN_MODE_GRAY, + NULL +}; +static SANE_String_Const default_mode = SANE_VALUE_SCAN_MODE_COLOR; + +static SANE_Int resolution_list[] = { + 2, 300, 600 +}; +static SANE_Int default_resolution = 300; + +static SANE_Bool initialized = SANE_FALSE; +static Ricoh2_Device *ricoh2_devices = NULL; +static const SANE_Device **sane_devices = NULL; +static SANE_Int num_devices = 0; + +static Ricoh2_Device * +lookup_handle(SANE_Handle handle) +{ + Ricoh2_Device *device; + + for (device = ricoh2_devices; device; device = device->next) + { + if (device == handle) + return device; + } + + return NULL; +} + +static SANE_String_Const get_model_by_productid(SANE_Int id) +{ + size_t i = 0; + for (; i < sizeof (supported_devices) / sizeof (supported_devices[0]); ++i) + { + if (supported_devices[i].product_id == id) + { + return supported_devices[i].device_name; + } + } + + return "Unidentified device"; +} + +static SANE_Status +attach (SANE_String_Const devname) +{ + SANE_Int dn = -1; + SANE_Status status = SANE_STATUS_GOOD; + Ricoh2_Device *device = NULL; + SANE_Int vendor, product; + + for (device = ricoh2_devices; device; device = device->next) + { + if (strcmp (device->sane.name, devname) == 0) + { + device->active = SANE_TRUE; + return SANE_STATUS_GOOD; + } + } + + device = (Ricoh2_Device *) malloc (sizeof (Ricoh2_Device)); + if (!device) + { + return SANE_STATUS_NO_MEM; + } + + DBG (8, "attach %s\n", devname); + status = sanei_usb_open (devname, &dn); + if (status != SANE_STATUS_GOOD) + { + DBG (1, "attach: couldn't open device `%s': %s\n", devname, + sane_strstatus (status)); + return status; + } + + status = sanei_usb_get_vendor_product (dn, &vendor, &product); + if (status != SANE_STATUS_GOOD) + { + DBG (1, + "attach: couldn't get vendor and product ids of device `%s': %s\n", + devname, sane_strstatus (status)); + sanei_usb_close (dn); + return status; + } + + sanei_usb_close (dn); + device->sane.name = strdup (devname); + device->sane.vendor = "Ricoh"; + device->sane.model = get_model_by_productid (product); + device->sane.type = "flatbed scanner"; + device->active = SANE_TRUE; + device->buffer = NULL; + + device->next = ricoh2_devices; + ricoh2_devices = device; + + DBG (2, "Found device %s\n", device->sane.name); + ++num_devices; + + return SANE_STATUS_GOOD; +} + +static SANE_Status +init_options(Ricoh2_Device *dev) +{ + SANE_Option_Descriptor *od; + + DBG (8, "init_options: dev = %p\n", (void *) dev); + + /* number of options */ + od = &(dev->opt[OPT_NUM_OPTS]); + od->name = SANE_NAME_NUM_OPTIONS; + od->title = SANE_TITLE_NUM_OPTIONS; + od->desc = SANE_DESC_NUM_OPTIONS; + od->type = SANE_TYPE_INT; + od->unit = SANE_UNIT_NONE; + od->size = sizeof (SANE_Word); + od->cap = SANE_CAP_SOFT_DETECT; + od->constraint_type = SANE_CONSTRAINT_NONE; + od->constraint.range = 0; + dev->val[OPT_NUM_OPTS].w = NUM_OPTIONS; + + /* mode - sets the scan mode: Color, Gray */ + od = &(dev->opt[OPT_MODE]); + od->name = SANE_NAME_SCAN_MODE; + od->title = SANE_TITLE_SCAN_MODE; + od->desc = SANE_DESC_SCAN_MODE; + od->type = SANE_TYPE_STRING; + od->unit = SANE_UNIT_NONE; + od->size = MAX_OPTION_STRING_SIZE; + od->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT; + od->constraint_type = SANE_CONSTRAINT_STRING_LIST; + od->constraint.string_list = mode_list; + dev->val[OPT_MODE].s = malloc (od->size); + if (!dev->val[OPT_MODE].s) + return SANE_STATUS_NO_MEM; + strcpy (dev->val[OPT_MODE].s, SANE_VALUE_SCAN_MODE_COLOR); + + /* resolution */ + od = &(dev->opt[OPT_RESOLUTION]); + od->name = SANE_NAME_SCAN_RESOLUTION; + od->title = SANE_TITLE_SCAN_RESOLUTION; + od->desc = SANE_DESC_SCAN_RESOLUTION; + od->type = SANE_TYPE_INT; + od->unit = SANE_UNIT_DPI; + od->size = sizeof (SANE_Word); + od->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT; + od->constraint_type = SANE_CONSTRAINT_WORD_LIST; + od->constraint.word_list = resolution_list; + dev->val[OPT_RESOLUTION].w = 300; + + return SANE_STATUS_GOOD; +} + +SANE_Status +sane_init (SANE_Int *vc, SANE_Auth_Callback __sane_unused__ cb) +{ + size_t i = 0; + + DBG_INIT (); + + DBG(8, ">sane_init\n"); + + sanei_usb_init (); + sanei_usb_set_timeout (USB_TIMEOUT_MS); + + num_devices = 0; + + for (; i < sizeof (supported_devices) / sizeof (supported_devices[0]); ++i) + { + sanei_usb_find_devices (0x5ca, supported_devices[i].product_id, attach); + } + + if (vc) + *vc = SANE_VERSION_CODE (SANE_CURRENT_MAJOR, V_MINOR, 0); + DBG(8, "sane_get_devices\n"); + + num_devices = 0; + sanei_usb_find_devices (0x5ca, 0x042c, attach); + sanei_usb_find_devices (0x5ca, 0x0448, attach); + + if (sane_devices) + free (sane_devices); + + sane_devices = (const SANE_Device **) malloc (sizeof (const SANE_Device *) + * (num_devices + 1)); + if (!sane_devices) + return SANE_STATUS_NO_MEM; + + for (device = ricoh2_devices; device; device = device->next) + if (device->active) + { + sane_devices[i++] = &(device->sane); + } + + sane_devices[i] = NULL; + *dl = sane_devices; + + DBG(2, "found %i devices\n", i); + DBG(8, "sane_open: devicename=\"%s\", handle=%p\n", name, + (void *) handle); + + CHECK_IF (initialized); + CHECK_IF (handle); + + /* walk the linked list of scanner device until there is a match + * with the device name */ + for (device = ricoh2_devices; device; device = device->next) + { + DBG (2, "sane_open: devname from list: %s\n", + device->sane.name); + if (strcmp (name, "") == 0 + || strcmp (name, "ricoh") == 0 + || strcmp (name, device->sane.name) == 0) + break; + } + + *handle = device; + + if (!device) + { + DBG (1, "sane_open: Not a Ricoh device\n"); + return SANE_STATUS_INVAL; + } + + status = init_options (device); + if (status != SANE_STATUS_GOOD) + return status; + + DBG (8, "= NUM_OPTIONS)) + return NULL; + + if (!(device = lookup_handle(handle))) + return NULL; + + if (device->opt[option].name) + { + DBG (8, ">sane_get_option_descriptor: name=%s\n", + device->opt[option].name); + } + + return &(device->opt[option]); +} + +SANE_Status +sane_control_option (SANE_Handle handle, + SANE_Int option, + SANE_Action action, + void *value, + SANE_Word *info) +{ + Ricoh2_Device *device; + SANE_Status status; + + DBG (8, + ">sane_control_option: handle=%p, opt=%d, act=%d, val=%p, info=%p\n", + (void *) handle, option, action, (void *) value, (void *) info); + + CHECK_IF (initialized); + device = lookup_handle (handle); + CHECK_IF (device); + CHECK_IF (value); + CHECK_IF (option >= 0 && option < NUM_OPTIONS); + CHECK_IF (device->opt[option].type != SANE_TYPE_GROUP); + + switch (action) + { + case SANE_ACTION_SET_AUTO: + CHECK_IF (SANE_OPTION_IS_SETTABLE (device->opt[option].cap)); + CHECK_IF (device->opt[option].cap & SANE_CAP_AUTOMATIC); + + switch (option) + { + case OPT_RESOLUTION: + DBG (2, + "Setting value to default value of '%d' for option '%s'\n", + default_resolution, + device->opt[option].name); + device->val[option].w = default_resolution; + break; + + case OPT_MODE: + DBG (2, + "Setting value to default value of '%s' for option '%s'\n", + (SANE_String_Const) default_mode, + device->opt[option].name); + strcpy (device->val[option].s, default_mode); + break; + + default: + return SANE_STATUS_INVAL; + } + break; + + case SANE_ACTION_SET_VALUE: + CHECK_IF (SANE_OPTION_IS_SETTABLE (device->opt[option].cap)); + + if (device->opt[option].type == SANE_TYPE_BOOL) + { + SANE_Bool bool_value = *(SANE_Bool *) value; + CHECK_IF (bool_value == SANE_TRUE || bool_value == SANE_FALSE); + } + + if (device->opt[option].constraint_type == SANE_CONSTRAINT_RANGE) + { + status = sanei_constrain_value (&(device->opt[option]), value, info); + CHECK_IF (status == SANE_STATUS_GOOD); + } + + + switch (option) + { + case OPT_RESOLUTION: + DBG (2, + "Setting value to '%d' for option '%s'\n", + *(SANE_Word *) value, + device->opt[option].name); + device->val[option].w = *(SANE_Word *) value; + break; + + case OPT_MODE: + DBG (2, + "Setting value to '%s' for option '%s'\n", + (SANE_String_Const)value, + device->opt[option].name); + strcpy (device->val[option].s, value); + break; + + default: + return SANE_STATUS_INVAL; + } + break; + + case SANE_ACTION_GET_VALUE: + + switch (option) + { + case OPT_NUM_OPTS: + case OPT_RESOLUTION: + *(SANE_Word *) value = device->val[option].w; + DBG (2, "Option value = %d (%s)\n", *(SANE_Word *) value, + device->opt[option].name); + break; + case OPT_MODE: + strcpy (value, device->val[option].s); + break; + default: + return SANE_STATUS_INVAL; + } + break; + + default: + return SANE_STATUS_INVAL; + } + + DBG (8, "val[OPT_MODE].s, SANE_VALUE_SCAN_MODE_COLOR) == 0) + { + device->mode = SCAN_MODE_COLOR; + } + else + { + device->mode = SCAN_MODE_GRAY; + } + + /* resolution: 300 or 600dpi */ + device->resolution = device->val[OPT_RESOLUTION].w; +} + + +SANE_Status +sane_get_parameters (SANE_Handle handle, SANE_Parameters *params) +{ + Ricoh2_Device *device; + + DBG (8, "sane_get_parameters: handle=%p, params=%p\n", (void *) handle, + (void *) params); + + CHECK_IF (initialized); + device = lookup_handle (handle); + CHECK_IF (device); + CHECK_IF (params); + + update_scan_params (device); + + params->format = + device->mode == SCAN_MODE_COLOR ? SANE_FRAME_RGB : SANE_FRAME_GRAY; + params->last_frame = SANE_TRUE; + + params->pixels_per_line = WIDTH_PIXELS_300DPI; + params->bytes_per_line = params->pixels_per_line; + params->lines = HEIGHT_PIXELS_300DPI; + params->depth = 8; + + if (device->resolution == 600) + { + params->bytes_per_line *= 2; + params->pixels_per_line *= 2; + params->lines *= 2; + } + + if (device->mode == SCAN_MODE_COLOR) + { + params->bytes_per_line *= 3; + } + + DBG (8, ">sane_get_parameters: format = %s bytes_per_line = %d " + "depth = %d " + "pixels_per_line = %d " + "lines = %d\n", + (params->format == SANE_FRAME_RGB ? "rgb" : "gray"), + params->bytes_per_line, + params->depth, + params->pixels_per_line, + params->lines); + + return SANE_STATUS_GOOD; +} + +typedef struct +{ + SANE_Byte *send_buffer; + size_t to_send; + SANE_Byte *receive_buffer; + size_t to_receive; +} +Send_Receive_Pair; + +static SANE_Status +send_receive (SANE_Int dn, Send_Receive_Pair *transfer) +{ + SANE_Status status; + size_t io_size; + SANE_Byte send_buffer[MAX_COMMAND_SIZE]; + + assert(transfer->to_send <= MAX_COMMAND_SIZE); + + memset(send_buffer, 0, MAX_COMMAND_SIZE); + + /* send a command */ + io_size = MAX_COMMAND_SIZE; + DBG (128, "sending a packet of size %lu\n", io_size); + memcpy (send_buffer, transfer->send_buffer, transfer->to_send); + status = sanei_usb_write_bulk (dn, send_buffer, &io_size); + if (status != SANE_STATUS_GOOD) + { + DBG (1, "could not send packet: %s\n", sane_strstatus (status)); + return status; + } + + /* receive a result */ + io_size = transfer->to_receive; + DBG (128, "receiving a packet of size %lu\n", io_size); + if (io_size) + { + status = sanei_usb_read_bulk (dn, transfer->receive_buffer, &io_size); + if (status != SANE_STATUS_GOOD) + { + DBG (1, "could not get a response for packet: %s\n", + sane_strstatus (status)); + return status; + } + if (io_size != transfer->to_receive) + { + DBG (1, "unexpected size of received packet: expected %lu, " + "received %lu\n", transfer->to_receive, io_size); + return SANE_STATUS_IO_ERROR; + } + } + return SANE_STATUS_GOOD; +} + +static SANE_Status +init_scan(SANE_Int dn, Scan_Mode mode, SANE_Int resolution) +{ + SANE_Status status = SANE_STATUS_GOOD; + SANE_Byte dummy_buffer[11]; /* the longest expected reply */ + size_t i; + + SANE_Byte urb_init[] = { 0x03, 0x09, 0x01 }; + SANE_Byte magic0[] = { 0x03, 0x0d, 0x0b }; + SANE_Byte magic1[] = { + 0x03, 0x0c, 0x11, 0x00, 0x00, 0x00, 0x01, 0x02, 0x05, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xec, 0x13, 0x6c, 0x1b }; + SANE_Byte magic2[] = { 0x03, 0x0b, 0x08 }; + SANE_Byte magic3[] = { + 0x03, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x50, 0x6d, 0x06, 0x01 }; + + Send_Receive_Pair transfer[] = + { + { urb_init, sizeof (urb_init), dummy_buffer, 1 }, + { magic0, sizeof (magic0), dummy_buffer, 11 }, + { magic1, sizeof (magic1), dummy_buffer, 0 }, + { magic2, sizeof (magic2), dummy_buffer, 8 }, + { magic3, sizeof (magic3), dummy_buffer, 0 } + }; + + if (resolution == 600) + magic1[6] = 0x02; + + if (mode == SCAN_MODE_COLOR) + magic1[7] = 0x03; + + for (i = 0; + i < sizeof (transfer) / sizeof (transfer[0]) + && (status == SANE_STATUS_GOOD); + ++i) + { + DBG (128, "sending initialization packet %zi\n", i); + status = send_receive (dn, transfer + i); + } + + return status; +} + +void +teardown_scan(SANE_Int dn) +{ + SANE_Byte cancel_command[] = { 0x03, 0x0a }; + SANE_Byte end_command[] = { 0x03, 0x09, 0x01 }; + SANE_Byte dummy_buffer; + Send_Receive_Pair transfer; + + DBG (128, "Sending cancel command\n"); + transfer.send_buffer = cancel_command; + transfer.to_send = sizeof (cancel_command); + transfer.receive_buffer = &dummy_buffer; + transfer.to_receive = 0; + send_receive (dn, &transfer); + + transfer.send_buffer = end_command; + transfer.to_send = sizeof (end_command); + transfer.receive_buffer = &dummy_buffer; + transfer.to_receive = 1; + send_receive (dn, &transfer); +} + +SANE_Status +sane_start (SANE_Handle handle) +{ + Ricoh2_Device *device; + SANE_Status status; + SANE_Int pixels_per_line; + SANE_Int resolution_factor = 1; + + DBG (8, ">sane_start: handle=%p\n", (void *) handle); + + CHECK_IF (initialized); + device = lookup_handle (handle); + CHECK_IF (device); + + update_scan_params (device); + device->cancelled = SANE_FALSE; + + status = sanei_usb_open (device->sane.name, &(device->dn)); + if (status != SANE_STATUS_GOOD) + { + DBG (1, "could not open device %s: %s\n", + device->sane.name, sane_strstatus (status)); + return status; + } + + DBG (2, "usb device %s opened, device number is %d\n", + device->sane.name, device->dn); + + status = sanei_usb_claim_interface (device->dn, 0); + if (status != SANE_STATUS_GOOD) + { + DBG (1, "could not claim interface 0: %s\n", + sane_strstatus (status)); + sanei_usb_close (device->dn); + return status; + } + + sanei_usb_set_endpoint (device->dn, + USB_DIR_OUT | USB_ENDPOINT_TYPE_BULK, + 0x03); + + sanei_usb_set_endpoint (device->dn, + USB_DIR_IN | USB_ENDPOINT_TYPE_BULK, + 0x85); + + status = sanei_usb_reset (device->dn); + if (status != SANE_STATUS_GOOD) + { + DBG (1, "could not reset device %s: %s\n", + device->sane.name, sane_strstatus (status)); + sanei_usb_close (device->dn); + return status; + } + + + status = init_scan (device->dn, device->mode, device->resolution); + if (status != SANE_STATUS_GOOD) + { + sanei_usb_close (device->dn); + return status; + } + + resolution_factor = device->resolution == 600 ? 2 : 1; + + pixels_per_line = WIDTH_PIXELS_300DPI * resolution_factor; + + device->bytes_to_read = + WIDTH_PIXELS_300DPI * resolution_factor + * HEIGHT_PIXELS_300DPI * resolution_factor + * (device->mode == SCAN_MODE_COLOR ? 3 : 1); + + device->buffer = + ricoh2_buffer_create (MAX_LINE_SIZE, + pixels_per_line, + INFO_SIZE * resolution_factor, + device->mode == SCAN_MODE_COLOR); + + DBG (8, "bytes_to_read); + + return SANE_STATUS_GOOD; +} + +SANE_Status +sane_read (SANE_Handle handle, + SANE_Byte *data, + SANE_Int maxlen, + SANE_Int *length) +{ + SANE_Byte read_next_command[] = { 0x03, 0x0E, 0x04, 0, 0, 0, 0, 240 }; + + Ricoh2_Device *device; + SANE_Status status; + Send_Receive_Pair transfer; + + DBG (16, ">sane_read: handle=%p, data=%p, maxlen = %d, length=%p\n", + (void *) handle, (void *) data, maxlen, (void *) length); + + CHECK_IF (initialized); + device = lookup_handle (handle); + CHECK_IF (device); + CHECK_IF (length); + CHECK_IF (maxlen); + + /* + EOF has already been reached before or acquisition process hasn't + been initiated at all + */ + if (device->bytes_to_read <= 0) + { + return SANE_STATUS_EOF; + } + + if (!ricoh2_buffer_get_bytes_remain (device->buffer)) + { + transfer.send_buffer = read_next_command; + transfer.to_send = sizeof (read_next_command); + transfer.receive_buffer = + ricoh2_buffer_get_internal_buffer (device->buffer); + transfer.to_receive = MAX_LINE_SIZE; + read_next_command[7] = transfer.to_receive / 256; + + DBG (128, "Receiving data of size %zi\n", transfer.to_receive); + + status = send_receive (device->dn, &transfer); + if (status != SANE_STATUS_GOOD) + { + device->bytes_to_read = 0; + return status; + } + } + + *length = ricoh2_buffer_get_data (device->buffer, + data, + min(maxlen, device->bytes_to_read)); + + device->bytes_to_read -= *length; + + DBG (128, + "Read length %d, left to read %lu\n", + *length, + device->bytes_to_read); + + DBG (128, + "%d bytes remain in the buffer\n", + ricoh2_buffer_get_bytes_remain(device->buffer)); + + /* we've just reached expected data size */ + if (device->bytes_to_read <= 0) + { + ricoh2_buffer_dispose(device->buffer); + device->buffer = NULL; + return SANE_STATUS_EOF; + } + + DBG (16, "sane_cancel: handle = %p\n", (void *) handle); + + if (!initialized) + return; + + if (!(device = lookup_handle (handle))) + return; + + if (device->cancelled) + return; + + device->cancelled = SANE_TRUE; + + teardown_scan (device->dn); + if (device->buffer) + { + ricoh2_buffer_dispose (device->buffer); + device->buffer = NULL; + } + + sanei_usb_close(device->dn); + + DBG (8, "sane_close\n"); + + if (!initialized) + return; + + device = lookup_handle (handle); + if (!device) + return; + + /* noop */ + + DBG (8, "sane_exit\n"); + + if (!initialized) + return; + + for (device = ricoh2_devices, next = device; device; device = next) + { + next = device->next; + free (device); + } + + if (sane_devices) + free (sane_devices); + + sanei_usb_exit (); + initialized = SANE_FALSE; + + DBG (8, " +#include +#include + +#include "../include/sane/sanei_debug.h" + +typedef struct ricoh2_buffer +{ + /* lifetime constants */ + SANE_Byte *data; + SANE_Int size; + SANE_Int pixels_per_line; + SANE_Int info_size; + SANE_Bool is_rgb; + + /* state */ + SANE_Int current_position; + SANE_Int remain_in_line; + +} +ricoh2_buffer; + +static ricoh2_buffer * +ricoh2_buffer_create (SANE_Int size, + SANE_Int pixels_per_line, + SANE_Int info_size, + SANE_Bool is_rgb) +{ + ricoh2_buffer *self; + assert (size > 0); + assert (pixels_per_line > 0); + assert (info_size >= 0); + + self = malloc (sizeof (ricoh2_buffer)); + if (!self) + return NULL; + + self->data = malloc (size); + if (!self->data) + { + free (self); + return NULL; + } + + self->size = size; + self->pixels_per_line = pixels_per_line; + self->info_size = info_size; + self->is_rgb = is_rgb; + + self->current_position = 0; + self->remain_in_line = pixels_per_line; + + + DBG (192, + "size = %d pixels_per_line = %d info_size = %d rgb? = %d pos = %d\n", + self->size, + self->pixels_per_line, + self->info_size, + self->is_rgb, + self->current_position); + + return self; +} + +/* destructor */ +static void +ricoh2_buffer_dispose (ricoh2_buffer *self) +{ + assert (self); + free (self->data); + free (self); +} + +static SANE_Byte * +ricoh2_buffer_get_internal_buffer (ricoh2_buffer *self) +{ + assert (self); + DBG (192, "engaging a buffer of size %d\n", self->size); + + self->current_position = 0; + self->remain_in_line = self->pixels_per_line; + + DBG (192, "remain in line = %d\n", self->remain_in_line); + + return self->data; +} + +static SANE_Int +ricoh2_buffer_get_bytes_remain (ricoh2_buffer *self) +{ + assert (self); + + DBG (192, + "bytes remain in the buffer %d\n", + self->size - self->current_position); + + return self->size - self->current_position; +} + +inline static SANE_Int +min (SANE_Int v1, SANE_Int v2) +{ + return v1 < v2 ? v1 : v2; +} + +static SANE_Int +ricoh2_buffer_get_data (ricoh2_buffer *self, + SANE_Byte *dest, + SANE_Int dest_size) +{ + SANE_Int actually_copied = 0; + SANE_Int pixels_to_copy; + SANE_Int bytes_per_pixel; + SANE_Int bytes_per_color; + SANE_Byte *src; + SANE_Byte *end; + + assert (self); + assert (dest); + assert (self->size > self->current_position); + + bytes_per_pixel = self->is_rgb ? 3 : 1; + bytes_per_color = self->pixels_per_line + self->info_size; + + DBG (192, + "trying to get %d bytes from the buffer, " + "while %d bytes in the line\n", + dest_size, + self->remain_in_line); + + for (pixels_to_copy = + min (dest_size / bytes_per_pixel, self->remain_in_line); + pixels_to_copy && self->size > self->current_position; + pixels_to_copy = + min (dest_size / bytes_per_pixel, self->remain_in_line)) + { + + DBG (192, + "providing %d bytes to the user (until the end of the line), " + "position in buffer is %d\n", + pixels_to_copy * bytes_per_pixel, + self->current_position); + + for (src = self->data + self->current_position, + end = src + pixels_to_copy; + src < end; + ++src) + { + *(dest++) = *(src); + if (bytes_per_pixel == 3) + { + *(dest++) = *(src + bytes_per_color); + *(dest++) = *(src + 2 * bytes_per_color); + } + } + + dest_size -= pixels_to_copy * bytes_per_pixel; + actually_copied += pixels_to_copy * bytes_per_pixel; + self->current_position += pixels_to_copy; + self->remain_in_line -= pixels_to_copy; + + // move to the next line + if (!self->remain_in_line) + { + self->current_position += self->info_size; + if (self->is_rgb) + self->current_position += 2 * bytes_per_color; + self->remain_in_line = self->pixels_per_line; + DBG (192, + "Line feed, new position is %d\n", + self->current_position); + } + + DBG (192, + "left in the buffer: %d\n", + self->size - self->current_position); + } + + /* invariant */ + assert (self->size >= self->current_position); + + return actually_copied; +} diff --git a/backend/rts8891.c b/backend/rts8891.c index 0eaff7b..93018ab 100644 --- a/backend/rts8891.c +++ b/backend/rts8891.c @@ -292,7 +292,7 @@ write_rgb_data (char *name, unsigned char *image, SANE_Int width, /** * Called by SANE initially. - * + * * From the SANE spec: * This function must be called before any other SANE function can be * called. The behavior of a SANE backend is undefined if this @@ -333,7 +333,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) /** * Called by SANE to find out about supported devices. - * + * * From the SANE spec: * This function can be used to query the list of devices that are * available. If the function executes successfully, it stores a @@ -346,7 +346,7 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) * returned (devices directly attached to the machine that SANE is * running on). If it is false, the device list includes all remote * devices that are accessible to the SANE library. - * + * * SANE does not require that this function is called before a * sane_open() call is performed. A device name may be specified * explicitly by a user which would make it unnecessary and @@ -466,7 +466,7 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) " had only limited testing. Please be careful and \n"); DBG (DBG_error0, " report any failure/success to \n"); DBG (DBG_error0, - " sane-devel@lists.alioth.debian.org. Please provide as many\n"); + " sane-devel@alioth-lists.debian.net. Please provide as many\n"); DBG (DBG_error0, " details as possible, e.g. the exact name of your\n"); DBG (DBG_error0, " scanner and what does (not) work.\n"); @@ -908,7 +908,7 @@ get_option_value (Rts8891_Session * s, int option, void *val) /** * Gets or sets an option value. - * + * * From the SANE spec: * This function is used to set or inquire the current value of option * number n of the device represented by handle h. The manner in which @@ -919,7 +919,7 @@ get_option_value (Rts8891_Session * s, int option, void *val) * area pointed to by v must be big enough to hold the entire option * value (determined by member size in the corresponding option * descriptor). - * + * * The only exception to this rule is that when setting the value of a * string option, the string pointed to by argument v may be shorter * since the backend will stop reading the option value upon @@ -1388,8 +1388,8 @@ sane_start (SANE_Handle handle) /** * This function computes two set of parameters. The one for the SANE's standard - * and the other for the hardware. Among these parameters are the bit depth, total - * number of lines, total number of columns, extra line to read for data reordering... + * and the other for the hardware. Among these parameters are the bit depth, total + * number of lines, total number of columns, extra line to read for data reordering... */ static SANE_Status compute_parameters (Rts8891_Session * session) @@ -1666,7 +1666,7 @@ compute_parameters (Rts8891_Session * session) * completion of that request. Outside of that window, the returned * values are best-effort estimates of what the parameters will be * when sane_start() gets invoked. - * + * * Calling this function before a scan has actually started allows, * for example, to get an estimate of how big the scanned image will * be. The parameters passed to this function are the handle of the @@ -1693,7 +1693,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) /** * Called by SANE to read data. - * + * * From the SANE spec: * This function is used to read image data from the device * represented by handle h. Argument buf is a pointer to a memory @@ -1701,7 +1701,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) * returned is stored in *len. A backend must set this to zero when * the call fails (i.e., when a status other than SANE_STATUS_GOOD is * returned). - * + * * When the call succeeds, the number of bytes returned can be * anywhere in the range from 0 to maxlen bytes. */ @@ -2077,7 +2077,7 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, /** - * Cancels a scan. + * Cancels a scan. * * From the SANE spec: * This function is used to immediately or as quickly as possible @@ -2155,7 +2155,7 @@ sane_cancel (SANE_Handle handle) /** * Ends use of the session. - * + * * From the SANE spec: * This function terminates the association between the device handle * passed in argument h and the device it represents. If the device is @@ -2188,7 +2188,7 @@ sane_close (SANE_Handle handle) DBG (DBG_error, "close: invalid handle %p\n", handle); return; /* oops, not a handle we know about */ } - + dev=session->dev; /* cancel any active scan */ @@ -2202,7 +2202,7 @@ sane_close (SANE_Handle handle) rts8891_wait_for_home (dev, dev->regs); } set_lamp_brightness (dev, 0); - + if (prev) prev->next = session->next; @@ -2248,7 +2248,7 @@ sane_close (SANE_Handle handle) /** * Terminates the backend. - * + * * From the SANE spec: * This function must be called to terminate use of a backend. The * function will first close all device handles that still might be @@ -2408,8 +2408,8 @@ config_attach_rts8891 (SANEI_Config * config, const char *devname) return SANE_STATUS_INVAL; } - /* the devname has been processed and is ready to be used - * directly. Since the backend is an USB only one, we can + /* the devname has been processed and is ready to be used + * directly. Since the backend is an USB only one, we can * call sanei_usb_attach_matching_devices straight */ sanei_usb_attach_matching_devices (devname, attach_rts8891); @@ -2863,7 +2863,7 @@ init_options (struct Rts8891_Session *session) /** * average scanned rgb data, returns the global average. Each channel avearge is also - * returned. + * returned. */ static float average_area (int color, SANE_Byte * data, int width, int height, @@ -3028,7 +3028,7 @@ find_origin (struct Rts8891_Device *dev, SANE_Bool * changed) DBG (DBG_proc, "find_origin: start\n"); - /* check if head is at home + /* check if head is at home * once sensor is correctly set up, we are allways park here, * but in case sensor has just changed, we are not so we park head */ sanei_rts88xx_read_reg (dev->devnum, CONTROLER_REG, ®); @@ -3287,7 +3287,7 @@ find_origin (struct Rts8891_Device *dev, SANE_Bool * changed) dev->regs[0xe2] = 0x03; /* 0x01 */ - /* dev->regs[0xe5] = 0x0d; 0x1c + /* dev->regs[0xe5] = 0x0d; 0x1c dev->regs[0xe6] = 0x08; 0x10 080d=2061=1030*2+1 */ SET_DOUBLE (dev->regs, EXPOSURE_REG, 2061); } @@ -3326,7 +3326,7 @@ find_origin (struct Rts8891_Device *dev, SANE_Bool * changed) /** * This function detects the left margin (ie x offset of scanning area) by doing * a grey scan of the very beginning of the sensor and finding the start of the - * white area of calibration zone, which is start of usable pixels. + * white area of calibration zone, which is start of usable pixels. */ static SANE_Status find_margin (struct Rts8891_Device *dev) @@ -3390,7 +3390,7 @@ find_margin (struct Rts8891_Device *dev) dev->regs[0xd7] = 0x14; dev->regs[0xd8] = 0xf6; - dev->regs[0xda] = 0xa7; /* XXX STEF XXX l'origine, pas 'bare' */ + dev->regs[0xda] = 0xa7; /* XXX STEF XXX à l'origine, pas 'bare' */ dev->regs[0xe2] = 0x01; @@ -3547,7 +3547,7 @@ initialize_device (struct Rts8891_Device *dev) } DBG (DBG_io, "initialize_device: lamp status=0x%02x\n", dev->regs[0x8e]); - /* sensor type the one for 4470c sold with XPA is slightly different + /* sensor type the one for 4470c sold with XPA is slightly different * than those sold bare, for this model we allways start with xpa type sensor, * and change it later if we detect black scans in find_origin(). In case the * attach function set up the sensor type, we don't modify it */ @@ -3694,10 +3694,7 @@ initialize_device (struct Rts8891_Device *dev) } #else /* FAST_INIT */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status +static SANE_Status init_registers (struct Rts8891_Device *dev) { int i; @@ -4233,7 +4230,7 @@ init_device (struct Rts8891_Device *dev) rts8891_write_all (dev->devnum, dev->regs, dev->reg_count); /* now we are writing and reading back from memory, it is surely a memory test since the written data - * don't look usefull at first glance + * don't look usefull at first glance */ reg = 0x06; sanei_rts88xx_write_reg (dev->devnum, 0x93, ®); @@ -4424,7 +4421,7 @@ init_device (struct Rts8891_Device *dev) sanei_rts88xx_write_reg (dev->devnum, CONTROLER_REG, ®); /* now we init nvram */ - /* this is highly dangerous and thus desactivated + /* this is highly dangerous and thus desactivated * in sanei_rts88xx_setup_nvram (HAZARDOUS_EXPERIMENT #define) */ sanei_rts88xx_setup_nvram (dev->devnum, 21, nv_cmd1); sanei_rts88xx_setup_nvram (dev->devnum, 21, nv_cmd2); @@ -4513,17 +4510,17 @@ static SANE_Status detect_device (struct Rts8891_Device *dev) { /* ---- 5 74945 bulk_out len 4 wrote 0x80 0xb0 0x00 0x01 ---- 6 74946 bulk_in len 1 read 0x80 ---- 7 74947 bulk_out len 4 wrote 0x80 0xb3 0x00 0x01 ---- 8 74948 bulk_in len 1 read 0x04 ---- 9 74949 bulk_out len 4 wrote 0x80 0xb1 0x00 0x01 ---- 10 74950 bulk_in len 1 read 0x00 ---- 11 74951 bulk_out len 5 wrote 0x88 0xb3 0x00 0x01 0x00 ---- 12 74952 bulk_out len 5 wrote 0x88 0xb3 0x00 0x01 0x00 ---- 13 74953 bulk_out len 4 wrote 0x80 0x00 0x00 0xf4 ---- 14 74954 bulk_in len 192 read 0xf5 0x41 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x70 0x00 0x00 0x00 0x00 0x60 0x1b 0xff 0x3e 0x00 0x00 0xff 0x3e 0x00 0x00 0x00 0x00 0x00 0x22 0x00 0x00 0x00 0x00 0x00 0xff 0x00 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x42 0x00 0x00 0x10 0x00 0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0x00 0x00 0x00 0x18 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x20 0x24 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0x10 0x00 0x80 0x00 0x10 0x00 0x01 0x00 0x00 0x10 0x00 0x00 0x20 0x20 0x00 0x00 0x00 0x00 0x20 0x01 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x41 0x00 0x10 0x21 0x20 0x00 0x20 0x81 0x20 0x01 0x01 0x00 0x22 0x00 0x40 0x05 0x00 0x00 0x01 0x1e 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xcc 0x27 0x64 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0x00 0x06 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ---- 15 74955 bulk_in len 52 read 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x06 0x1b 0x10 0x7a 0x00 0x15 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x0f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 +--- 5 74945 bulk_out len 4 wrote 0x80 0xb0 0x00 0x01 +--- 6 74946 bulk_in len 1 read 0x80 +--- 7 74947 bulk_out len 4 wrote 0x80 0xb3 0x00 0x01 +--- 8 74948 bulk_in len 1 read 0x04 +--- 9 74949 bulk_out len 4 wrote 0x80 0xb1 0x00 0x01 +--- 10 74950 bulk_in len 1 read 0x00 +--- 11 74951 bulk_out len 5 wrote 0x88 0xb3 0x00 0x01 0x00 +--- 12 74952 bulk_out len 5 wrote 0x88 0xb3 0x00 0x01 0x00 +--- 13 74953 bulk_out len 4 wrote 0x80 0x00 0x00 0xf4 +--- 14 74954 bulk_in len 192 read 0xf5 0x41 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x70 0x00 0x00 0x00 0x00 0x60 0x1b 0xff 0x3e 0x00 0x00 0xff 0x3e 0x00 0x00 0x00 0x00 0x00 0x22 0x00 0x00 0x00 0x00 0x00 0xff 0x00 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x42 0x00 0x00 0x10 0x00 0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0x00 0x00 0x00 0x18 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x20 0x24 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0x10 0x00 0x80 0x00 0x10 0x00 0x01 0x00 0x00 0x10 0x00 0x00 0x20 0x20 0x00 0x00 0x00 0x00 0x20 0x01 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x41 0x00 0x10 0x21 0x20 0x00 0x20 0x81 0x20 0x01 0x01 0x00 0x22 0x00 0x40 0x05 0x00 0x00 0x01 0x1e 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xcc 0x27 0x64 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0x00 0x06 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 +--- 15 74955 bulk_in len 52 read 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x06 0x1b 0x10 0x7a 0x00 0x15 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x0f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 */ SANE_Status status = SANE_STATUS_GOOD; SANE_Byte control; @@ -4666,7 +4663,7 @@ dark_calibration (struct Rts8891_Device *dev, int mode, int light) dev->regs[0xd8] = 0x52; dev->regs[0xe2] = 0x1f; - /*dev->regs[0xe5] = 0x28; 28=40 + /*dev->regs[0xe5] = 0x28; 28=40 dev->regs[0xe6] = 0x00; */ SET_DOUBLE (dev->regs, EXPOSURE_REG, 40); @@ -4747,7 +4744,7 @@ dark_calibration (struct Rts8891_Device *dev, int mode, int light) dev->regs[0xf0] = 0xa8; /* 0x70 */ } - /* we loop scanning a 637 (1911 bytes) pixels wide area in color mode + /* we loop scanning a 637 (1911 bytes) pixels wide area in color mode * until each black average reaches the desired value */ sanei_rts88xx_set_status (dev->devnum, dev->regs, mode, light); do @@ -4858,7 +4855,7 @@ dark_calibration (struct Rts8891_Device *dev, int mode, int light) } /* - * do gain calibration. We do scans until averaged values of the area match + * do gain calibration. We do scans until averaged values of the area match * the target code. We're doing a dichotomy again. */ static SANE_Status @@ -4973,7 +4970,7 @@ gain_calibration (struct Rts8891_Device *dev, int mode, int light) dev->regs[0xd7] = 0x10; dev->regs[0xd8] = 0x52; dev->regs[0xe2] = 0x1f; - /* dev->regs[0xe5] = 0x28; 0028 -> 40 + /* dev->regs[0xe5] = 0x28; 0028 -> 40 dev->regs[0xe6] = 0x00; */ SET_DOUBLE (dev->regs, EXPOSURE_REG, 40); dev->regs[0xe7] = 0x75; @@ -5218,7 +5215,7 @@ gain_calibration (struct Rts8891_Device *dev, int mode, int light) /** * Do fine offset calibration. Scans are done with gains from gain calibration - * at 75 dpi regardless of the dpi of the final scan. We loop scanning a 637 + * at 75 dpi regardless of the dpi of the final scan. We loop scanning a 637 * (1911 bytes) pixels wide area in color mode until each black average * reaches the desired value (OFFSET_TARGET). */ @@ -5449,10 +5446,7 @@ offset_calibration (struct Rts8891_Device *dev, int mode, int light) * We scan a 637 pixels by 66 linesxoffset=24 , xend=661, pixels=637 y offset=1 , yend=67, lines =66 */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status +static SANE_Status setup_shading_calibration (struct Rts8891_Device *dev, int mode, int *light, int *status1, SANE_Byte * regs) { SANE_Status status = SANE_STATUS_GOOD; @@ -5532,7 +5526,7 @@ setup_shading_calibration (struct Rts8891_Device *dev, int mode, int *light, int /* regs[0xd3] = 0x02; 0x0e */ regs[0xd4] = 0x04; /* 0x10 */ regs[0xe2] = 0x02; /* 0x05 */ - /* regs[0xe5] = 0xbb; + /* regs[0xe5] = 0xbb; regs[0xe6] = 0x01; 1bb =443 */ exposure=443; } @@ -5739,7 +5733,7 @@ setup_shading_calibration (struct Rts8891_Device *dev, int mode, int *light, int regs[0x88] = 0x1b; regs[0x8d] = 0xde; - regs[0x8e] = 0x61; /* low nibble of 8e and 8d are proportional to + regs[0x8e] = 0x61; /* low nibble of 8e and 8d are proportional to the scanned width 1de => 5100 wide scan */ regs[0xc0] = 0xff; @@ -5826,7 +5820,7 @@ setup_shading_calibration (struct Rts8891_Device *dev, int mode, int *light, int regs[0x88] = 0x30; regs[0x8d] = 0xde; - regs[0x8e] = 0x61; /* low nibble of 8e and 8d are proportional to + regs[0x8e] = 0x61; /* low nibble of 8e and 8d are proportional to the scanned width 1de => 5100 wide scan */ regs[0xc0] = 0xff; regs[0xc1] = 0xff; @@ -5870,7 +5864,7 @@ setup_shading_calibration (struct Rts8891_Device *dev, int mode, int *light, int regs[0x87] = 0x00; regs[0x88] = 0x06; - regs[0x8d] = 0x00; + regs[0x8d] = 0x00; regs[0x8e] = 0x60; /* XXX STEF XXX */ regs[0xc0] = 0xf8; @@ -5895,7 +5889,7 @@ setup_shading_calibration (struct Rts8891_Device *dev, int mode, int *light, int regs[0xd3] = 0x0e; regs[0xd4] = 0x10; regs[0xd7] = 0x31; - + timing=0x0032; exposure=915; break; @@ -6109,8 +6103,8 @@ setup_shading_calibration (struct Rts8891_Device *dev, int mode, int *light, int } break; } - - /* apply computed settings */ + + /* apply computed settings */ SET_DOUBLE (regs, EXPOSURE_REG, exposure); SET_DOUBLE (regs, TIMING_REG, timing); SET_DOUBLE (regs, TIMING1_REG, timing+1); @@ -6167,8 +6161,8 @@ shading_calibration (struct Rts8891_Device *dev, SANE_Bool color, int mode, int "shading_calibration: failed to allocate memory for data\n"); return SANE_STATUS_NO_MEM; } - - /* set up registers */ + + /* set up registers */ status=setup_shading_calibration(dev, mode, &light, &status1, dev->regs); if (status != SANE_STATUS_GOOD) { @@ -6279,7 +6273,7 @@ fill_gamma (SANE_Byte * calibration, int *idx, SANE_Word * gamma) /* * build and send calibration data which contains gamma table and * shading correction coefficient - * + * */ static SANE_Status send_calibration_data (struct Rts8891_Session *session) @@ -6309,28 +6303,28 @@ send_calibration_data (struct Rts8891_Session *session) DBG (DBG_io, "send_calibration_data: size=%d\n", size); - /* + /* * FORMAT: - * 00 + * 00 * 512 bytes gamma table (256 16 bit entry) - * FF - * 00 + * FF + * 00 * 512 bytes gamma table (256 16 bit entry) - * FF - * 00 + * FF + * 00 * 512 bytes gamma table (256 16 bit entry) - * FF + * FF * 5400 max shading coefficients at 600 dpi repeated 3 times * overall size rounded at 32 bytes multiple * 675 CCD elements at 75 DPI. 16 bit per element. 1 or 3 channels. * there is a 0xFF marker at end of each coefficients row. - * a gamma table comes first + * a gamma table comes first * 75 DPI: 5600=1542+(675)*2*3+8 ->size rounded to 'upper 32' * 150 DPI: 9664=675*2*2*3=1542+(675*2)*2*3+22 * 17760 4 +18 * 33952 8 +10 * 65472+896=66368= 16 +26 - * + * * COEFFICIENT 16 bit value * first is 00, 0x40, 0x80 or 0xC0 => 10 significant bit * coeff*average=K => coeff=K/average @@ -6369,7 +6363,7 @@ send_calibration_data (struct Rts8891_Session *session) fill_gamma (calibration, &idx, gamma_b); /* compute calibration coefficients */ - /* real witdh != 675 --> 637 + /* real witdh != 675 --> 637 * shading data calibration starts at 1542. There are 3 rows of 16 bits values * first row is green calibration */ @@ -6404,7 +6398,7 @@ send_calibration_data (struct Rts8891_Session *session) green_code = atoi (getenv ("BLUE_CODE")); } - /* correction coefficient is target code divided by average scanned value + /* correction coefficient is target code divided by average scanned value * but it is put in a 16 bits number. Only 10 first bits are significants. */ /* first color component red data */ @@ -6511,7 +6505,7 @@ send_calibration_data (struct Rts8891_Session *session) } /* move at dev->model->min_ydpi dpi up to the scanning area. Which speeds - * up scanning + * up scanning */ static SANE_Status move_to_scan_area (struct Rts8891_Session *session) @@ -6554,10 +6548,7 @@ move_to_scan_area (struct Rts8891_Session *session) /* The windows driver is allways scanning in color, so we do the same. */ /* For now, the only mode that could be done would be 300 dpi gray scan, */ /* based on the register settings of find_origin() */ -#ifndef UNIT_TESTING -static -#endif -SANE_Status +static SANE_Status setup_scan_registers (struct Rts8891_Session *session, SANE_Byte *status1, SANE_Byte *status2, SANE_Byte *regs) { SANE_Status status = SANE_STATUS_GOOD; @@ -7130,7 +7121,7 @@ setup_scan_registers (struct Rts8891_Session *session, SANE_Byte *status1, SANE_ regs[0xef] = 0x00; regs[0xf0] = 0x00; regs[0x8d] = 0xf0; - regs[0x8e] = 0x60; /* low nibble of 8e and 8d are proportional to + regs[0x8e] = 0x60; /* low nibble of 8e and 8d are proportional to the scanned width 1de => 5100 wide scan */ regs[0xc0] = 0xff; @@ -7228,7 +7219,7 @@ setup_scan_registers (struct Rts8891_Session *session, SANE_Byte *status1, SANE_ regs[0x88] = 0x5a; regs[0x8d] = 0xde; - regs[0x8e] = 0x61; /* low nibble of 8e and 8d are proportional to + regs[0x8e] = 0x61; /* low nibble of 8e and 8d are proportional to the scanned width 1de => 5100 wide scan */ regs[0xc0] = 0xff; @@ -7275,7 +7266,7 @@ setup_scan_registers (struct Rts8891_Session *session, SANE_Byte *status1, SANE_ regs[0x3a] = 0x1b; regs[0x40] = 0x2c; /* 0x24 */ regs[0x50] = 0x00; /* 0x18 */ - + regs[0x64] = 0x01; /* 0x02 */ regs[0x65] = 0x20; /* 0x10 */ @@ -7421,7 +7412,7 @@ setup_scan_registers (struct Rts8891_Session *session, SANE_Byte *status1, SANE_ regs[0x88] = 0xae; regs[0x8d] = 0xbd; /* about twice the 600 dpi values */ - regs[0x8e] = 0x63; /* low nibble of 8e and 8d are proportional to + regs[0x8e] = 0x63; /* low nibble of 8e and 8d are proportional to the scanned width 3b5 => 10124 wide scan */ regs[0xc0] = 0xff; regs[0xc1] = 0xff; @@ -7716,7 +7707,7 @@ park_head (struct Rts8891_Device *dev, SANE_Bool wait) return status; } -/* update button status +/* update button status * button access is allowed during scan, which is usefull for 'cancel' button */ static SANE_Status diff --git a/backend/rts8891.h b/backend/rts8891.h index 5fbf8b5..fa3feb6 100644 --- a/backend/rts8891.h +++ b/backend/rts8891.h @@ -1,44 +1,44 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2007-2012 stef.dev@free.fr - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ #ifndef RTS8891_H @@ -113,13 +113,13 @@ enum Rts8891_Option enum Rts8891_Configure_Option { CFG_MODEL_NUMBER = 0, /* first option number must be zero */ - CFG_SENSOR_NUMBER, + CFG_SENSOR_NUMBER, CFG_ALLOW_SHARING, NUM_CFG_OPTIONS /* MUST be last */ }; /** Scanner object. This struct holds informations usefull for - * the functions defined in SANE's standard. Informations closer + * the functions defined in SANE's standard. Informations closer * to the hardware are in the Rts8891_Device structure. There is * as many session structure than frontends using the scanner. */ diff --git a/backend/rts8891_devices.c b/backend/rts8891_devices.c index 151b283..a46f98b 100644 --- a/backend/rts8891_devices.c +++ b/backend/rts8891_devices.c @@ -1,44 +1,44 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2007-2012 stef.dev@free.fr - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ diff --git a/backend/rts8891_low.c b/backend/rts8891_low.c index 917d514..4fc5666 100644 --- a/backend/rts8891_low.c +++ b/backend/rts8891_low.c @@ -1,44 +1,44 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2007-2013 stef.dev@free.fr - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ /* this file contains all the low level functions needed for the higher level @@ -849,21 +849,21 @@ read_data (struct Rts8891_Session *session, SANE_Byte * dest, SANE_Int length) /** * set scanner idle before leaving xxx_quiet() -write_reg(0x33,1)=0x00 -write_reg(0x33,1)=0x00 -write_reg(0x36,1)=0x00 +write_reg(0x33,1)=0x00 +write_reg(0x33,1)=0x00 +write_reg(0x36,1)=0x00 prepare(); ------ -write_reg(LAMP_REG,1)=0x80 -write_reg(LAMP_REG,1)=0xad -read_reg(0x14,2)=0xf8 0x28 -write_reg(0x14,2)=0x78 0x28 -get_status()=0x20 0x3f -read_reg(0xb1,1)=0x00 -read_control()=0x00 +write_reg(LAMP_REG,1)=0x80 +write_reg(LAMP_REG,1)=0xad +read_reg(0x14,2)=0xf8 0x28 +write_reg(0x14,2)=0x78 0x28 +get_status()=0x20 0x3f +read_reg(0xb1,1)=0x00 +read_control()=0x00 reset_lamp()=(0x20,0x3f) -write_reg(LAMP_REG,1)=0x8d -write_reg(LAMP_REG,1)=0xad +write_reg(LAMP_REG,1)=0x8d +write_reg(LAMP_REG,1)=0xad */ /* vim: set sw=2 cino=>2se-1sn-1s{s^-1st0(0u0 smarttab expandtab: */ diff --git a/backend/rts8891_low.h b/backend/rts8891_low.h index a6df802..6b12316 100644 --- a/backend/rts8891_low.h +++ b/backend/rts8891_low.h @@ -1,44 +1,44 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2007-2012 stef.dev@free.fr - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ #ifndef RTS8891_LOW_H @@ -80,7 +80,7 @@ typedef struct Rts8891_Device Rts8891_Device; #define SET_DOUBLE(regs,idx,value) regs[idx]=(SANE_Byte)((value)>>8); regs[idx-1]=(SANE_Byte)((value) & 0xff); -/* +/* * defines for RTS8891 registers name */ #define BUTTONS_REG2 0x1a @@ -128,7 +128,7 @@ typedef struct Rts8891_Model SANE_Int ld_shift_r; /* red */ SANE_Int ld_shift_g; /* green */ SANE_Int ld_shift_b; /* blue */ - + /* default sensor type */ SANE_Int sensor; diff --git a/backend/rts88xx_lib.c b/backend/rts88xx_lib.c index 8e921f2..f19ceef 100644 --- a/backend/rts88xx_lib.c +++ b/backend/rts88xx_lib.c @@ -123,7 +123,7 @@ sanei_rts88xx_set_scan_frequency (SANE_Byte * regs, int frequency) } /* - * read one register at given index + * read one register at given index */ SANE_Status sanei_rts88xx_read_reg (SANE_Int devnum, SANE_Int index, SANE_Byte * reg) @@ -153,7 +153,7 @@ sanei_rts88xx_read_reg (SANE_Int devnum, SANE_Int index, SANE_Byte * reg) } /* - * write one register at given index + * write one register at given index */ SANE_Status sanei_rts88xx_write_reg (SANE_Int devnum, SANE_Int index, SANE_Byte * reg) @@ -200,7 +200,7 @@ sanei_rts88xx_write_regs (SANE_Int devnum, SANE_Int start, start, length, message); } - /* when writing several registers at a time, we avoid writing the 0xb3 register + /* when writing several registers at a time, we avoid writing the 0xb3 register * which is used to control the status of the scanner */ if ((start + length > 0xb3) && (length > 1)) { @@ -297,7 +297,7 @@ sanei_rts88xx_read_regs (SANE_Int devnum, SANE_Int start, } /* - * get status by reading registers 0x10 and 0x11 + * get status by reading registers 0x10 and 0x11 */ SANE_Status sanei_rts88xx_get_status (SANE_Int devnum, SANE_Byte * regs) @@ -310,7 +310,7 @@ sanei_rts88xx_get_status (SANE_Int devnum, SANE_Byte * regs) } /* - * set status by writing registers 0x10 and 0x11 + * set status by writing registers 0x10 and 0x11 */ SANE_Status sanei_rts88xx_set_status (SANE_Int devnum, SANE_Byte * regs, @@ -394,7 +394,7 @@ sanei_rts88xx_reset_lamp (SANE_Int devnum, SANE_Byte * regs) "sanei_rts88xx_reset_lamp: expected reg[0xda]=0xa7, got 0x%02x\n", reg); } - + /* store read value in shadow register */ regs[0xda] = reg; @@ -415,7 +415,7 @@ sanei_rts88xx_get_lcd (SANE_Int devnum, SANE_Byte * regs) } /* - * write to special control register CONTROL_REG=0xb3 + * write to special control register CONTROL_REG=0xb3 */ SANE_Status sanei_rts88xx_write_control (SANE_Int devnum, SANE_Byte value) diff --git a/backend/rts88xx_lib.h b/backend/rts88xx_lib.h index 71bd72a..fa7abbd 100644 --- a/backend/rts88xx_lib.h +++ b/backend/rts88xx_lib.h @@ -60,7 +60,7 @@ #define DBG_io2 7 /* io functions that are called very often */ #define DBG_data 8 /* log data sent and received */ -/* +/* * defines for registers name */ #define CONTROL_REG 0xb3 @@ -97,7 +97,7 @@ void sanei_rts88xx_set_scan_area (SANE_Byte * reg, SANE_Int ystart, SANE_Int xend); /* - * read one register at given index + * read one register at given index */ SANE_Status sanei_rts88xx_read_reg (SANE_Int devnum, SANE_Int index, SANE_Byte * reg); @@ -109,7 +109,7 @@ SANE_Status sanei_rts88xx_read_data (SANE_Int devnum, SANE_Word * length, unsigned char *dest); /* - * write one register at given index + * write one register at given index */ SANE_Status sanei_rts88xx_write_reg (SANE_Int devnum, SANE_Int index, SANE_Byte * reg); @@ -127,17 +127,17 @@ SANE_Status sanei_rts88xx_read_regs (SANE_Int devnum, SANE_Int start, SANE_Byte * dest, SANE_Int length); /* - * get status by reading registers 0x10 and 0x11 + * get status by reading registers 0x10 and 0x11 */ SANE_Status sanei_rts88xx_get_status (SANE_Int devnum, SANE_Byte * regs); /* - * set status by writing registers 0x10 and 0x11 + * set status by writing registers 0x10 and 0x11 */ SANE_Status sanei_rts88xx_set_status (SANE_Int devnum, SANE_Byte * regs, SANE_Byte reg10, SANE_Byte reg11); /* - * get lamp status by reading registers 0x84 to 0x8d + * get lamp status by reading registers 0x84 to 0x8d */ SANE_Status sanei_rts88xx_get_lamp_status (SANE_Int devnum, SANE_Byte * regs); @@ -148,7 +148,7 @@ SANE_Status sanei_rts88xx_reset_lamp (SANE_Int devnum, SANE_Byte * regs); SANE_Status sanei_rts88xx_get_lcd (SANE_Int devnum, SANE_Byte * regs); /* - * write to special control register CONTROL_REG=0xb3 + * write to special control register CONTROL_REG=0xb3 */ SANE_Status sanei_rts88xx_write_control (SANE_Int devnum, SANE_Byte value); diff --git a/backend/s9036.c b/backend/s9036.c index 1b97f80..aa18df7 100644 --- a/backend/s9036.c +++ b/backend/s9036.c @@ -51,7 +51,7 @@ static S9036_Device *s9036_devices; /* sets loc_s bytes long value at offset loc in scsi command to value size */ -static void +static void set_size (Byte * loc, int loc_s, size_t size) { int i; @@ -62,7 +62,7 @@ set_size (Byte * loc, int loc_s, size_t size) } } -static long +static long reserve_unit (int fd) { const Byte scsi_reserve[] = @@ -73,7 +73,7 @@ reserve_unit (int fd) return sanei_scsi_cmd (fd, scsi_reserve, sizeof (scsi_reserve), 0, 0); } -static long +static long release_unit (int fd) { const Byte scsi_release[] = @@ -654,9 +654,9 @@ init_options (S9036_Scanner * s) static const SANE_Range percentage_range = { - -100 << SANE_FIXED_SCALE_SHIFT, /* minimum */ - 100 << SANE_FIXED_SCALE_SHIFT, /* maximum */ - 1 << SANE_FIXED_SCALE_SHIFT /* quantization */ + SANE_FIX(-100), /* minimum */ + SANE_FIX(100), /* maximum */ + SANE_FIX(1) /* quantization */ }; static const SANE_Range automatic_adjust_range = @@ -871,7 +871,7 @@ sane_exit (void) sane_close (dev->handle); free (dev); } - + if (devlist) free (devlist); } @@ -881,7 +881,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) { S9036_Device *dev; int i; - + local_only = local_only; /* silence compilation warnings */ if (devlist) @@ -1237,7 +1237,7 @@ sane_start (SANE_Handle handle) return SANE_STATUS_GOOD; } -static void +static void copy_buffer (S9036_Scanner * s, SANE_Byte ** buf, SANE_Int * max_len, SANE_Int * len) { @@ -1327,7 +1327,7 @@ SANE_Status sane_set_io_mode (SANE_Handle handle, SANE_Bool non_blocking) { handle = handle; /* silence compilation warnings */ - + DBG (1, "sane_set_io_mode(%d)\n", non_blocking); return (non_blocking == SANE_TRUE) ? diff --git a/backend/sceptre.c b/backend/sceptre.c index fa0da20..3670f3c 100644 --- a/backend/sceptre.c +++ b/backend/sceptre.c @@ -2,47 +2,47 @@ Copyright (C) 2002 Frank Zago (sane at zago dot net) Copyright (C) 2002 Other SANE contributors - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ -/* +/* $Id$ Sceptre S1200 SCSI scanner (sometimes also called S120) */ @@ -366,7 +366,7 @@ sceptre_get_status (Sceptre_Scanner * dev, size_t * data_left) return (SANE_STATUS_GOOD); } -/* +/* * Adjust the rasters. This function is used during a color scan, * because the scanner does not present a format sane can interpret * directly. @@ -374,9 +374,9 @@ sceptre_get_status (Sceptre_Scanner * dev, size_t * data_left) * The scanner sends the colors by rasters (R then G then B), whereas * sane is waiting for a group of 3 bytes per color. To make things * funnier, the rasters are shifted. This shift factor depends on the - * resolution used. The format of those raster is: + * resolution used. The format of those raster is: * R...R RG...RG RGB...RGB BG...GB B...B - * + * * So this function reorders all that mess. It gets the input from * dev->buffer and write the output in dev->image. size_in the the * length of the valid data in dev->buffer. @@ -401,7 +401,7 @@ sceptre_adjust_raster (Sceptre_Scanner * dev, size_t size_in) return; } - /* + /* * The color coding is one line for each color (in the RGB order). * Recombine that stuff to create a RGB value for each pixel. */ @@ -411,7 +411,7 @@ sceptre_adjust_raster (Sceptre_Scanner * dev, size_t size_in) for (raster = 0; raster < nb_rasters; raster++) { - /* + /* * Find the color to which this raster belongs to. * 0 = red * 1 = green @@ -516,7 +516,7 @@ sceptre_adjust_raster (Sceptre_Scanner * dev, size_t size_in) DBG (DBG_proc, "sceptre_adjust_raster: exit\n"); } -/* SCSI sense handler. Callback for SANE. +/* SCSI sense handler. Callback for SANE. * * Since this scanner does not have REQUEST SENSE, it is always an * error if this function is called.*/ @@ -596,14 +596,14 @@ attach_scanner (const char *devicename, Sceptre_Scanner ** devp) dev->resolution_range.max = SANE_FIX (1200); dev->resolution_range.quant = SANE_FIX (1); - /* + /* * The S1200 has an area of 8.5 inches / 11.7 inches. (A4 like) * That's roughly 215*297 mm * The values are coded by * size in inch * 600 dpi. * The maximums are: * X: 8.5 inches * 600 = 5100 dots - * Y: 11.7 inches * 600 = 7020 + * Y: 11.7 inches * 600 = 7020 * (although the windows driver stops at 7019) * * The values are stored in mm. Inches sucks anyway. @@ -840,7 +840,7 @@ sceptre_init_options (Sceptre_Scanner * dev) /* Wait until the scanner is ready. * * The only reason I know the scanner is not ready is because it is - * moving the CCD. + * moving the CCD. */ static SANE_Status sceptre_wait_scanner (Sceptre_Scanner * dev) @@ -873,7 +873,7 @@ sceptre_wait_scanner (Sceptre_Scanner * dev) return (SANE_STATUS_IO_ERROR); } - /* Apparently the scanner returns only 2 values: + /* Apparently the scanner returns only 2 values: * 0x00 - ready * 0xff - not ready */ @@ -1067,7 +1067,7 @@ sceptre_fill_image (Sceptre_Scanner * dev) /* Copy the complete lines, plus the imcompletes * ones. We don't keep the real end of data used - * in image, so we copy the biggest possible. + * in image, so we copy the biggest possible. * * This is a no-op for non color images. */ @@ -1083,7 +1083,7 @@ sceptre_fill_image (Sceptre_Scanner * dev) return (status); } - /* + /* * Try to read the maximum number of bytes. */ size = data_left; @@ -1105,7 +1105,7 @@ sceptre_fill_image (Sceptre_Scanner * dev) if (size == 0) { - /* Probably reached the end of the buffer. + /* Probably reached the end of the buffer. * Check, just in case. */ assert (dev->image_end != 0); return (SANE_STATUS_GOOD); @@ -1163,7 +1163,7 @@ sceptre_fill_image (Sceptre_Scanner * dev) return (SANE_STATUS_GOOD); /* unreachable */ } -/* Copy from the raw buffer to the buffer given by the backend. +/* Copy from the raw buffer to the buffer given by the backend. * * len in input is the maximum length available in buf, and, in * output, is the length written into buf. @@ -1693,11 +1693,11 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) dev->width = dev->x_br - dev->x_tl; dev->length = dev->y_br - dev->y_tl; - /* + /* * Adjust the "X Resolution". The sceptre S1200 ignores the * Y-Resolution parameter in the windows block. X-Resolution * is used instead. However the limits are not the same for X - * (600 dpi) and Y (1200 dpi). + * (600 dpi) and Y (1200 dpi). */ x_dpi = dev->resolution; if (x_dpi > 600) @@ -1779,7 +1779,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) * 2n + [0.0 .. 2.0[ -> round to 2n * * Note: the rounding is often incorrect at high - * resolution (ag more than 300dpi) + * resolution (ag more than 300dpi) */ dev->params.lines = (dev->length * dev->resolution) / 600; dev->params.lines &= ~1; diff --git a/backend/sceptre.h b/backend/sceptre.h index 726c131..8ba5cd8 100644 --- a/backend/sceptre.h +++ b/backend/sceptre.h @@ -37,10 +37,10 @@ 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. + If you do not wish that, delete this exception notice. */ -/* +/* $Id$ */ @@ -269,8 +269,8 @@ enum Sceptre_Option /*--------------------------------------------------------------------------*/ -/* - * Scanner supported by this backend. +/* + * Scanner supported by this backend. */ struct scanners_supported { @@ -382,7 +382,7 @@ Sceptre_Scanner; /*--------------------------------------------------------------------------*/ -/* Debug levels. +/* Debug levels. * Should be common to all backends. */ #define DBG_error0 0 diff --git a/backend/scripts/pixma_gen_options.py b/backend/scripts/pixma_gen_options.py new file mode 100755 index 0000000..c4c75e0 --- /dev/null +++ b/backend/scripts/pixma_gen_options.py @@ -0,0 +1,389 @@ +#!/usr/bin/env python + +import sys,os,re + +class Error(Exception): + pass + + +class ParseError(Error): + def __init__(self, errline): + Error.__init__(self, errline) + + +class Struct: + pass + + +def createCNameMap(): + t = '' + for i in range(256): + if ((ord('A') <= i) and (i <= ord('Z'))) or \ + ((ord('a') <= i) and (i <= ord('z'))) or \ + ((ord('0') <= i) and (i <= ord('9'))): + t += chr(i) + else: + t += '_' + return t + + +def seekBegin(f): + while True: + line = f.readline() + if not line: + return False + if line.startswith('BEGIN SANE_Option_Descriptor'): + return True + + +def parseVerbatim(o, line): + words = line.split(None, 1) + if (len(words) < 2) or (words[1][0] != '@'): + return False + o[words[0]] = words[1] + return True + + +def parseLine_type(o, line): + words = line.split(None, 2) + otype = words[1] + o['type'] = 'SANE_TYPE_' + otype.upper() + if otype == 'group': + g.ngroups += 1 + oname = '_group_%d' % g.ngroups + o['size'] = 0 + else: + temp = words[2] + idx = temp.find('[') + if idx == -1: + oname = temp + o['size'] = 1 + else: + oname = temp[0:idx] + o['size'] = int(temp[idx+1:-1]) + o['name'] = oname + + +def parseLine_title(o, line): + o['title'] = line.split(None, 1)[1] + + +def parseLine_desc(o, line): + o['desc'] = line.split(None, 1)[1] + + +def parseLine_unit(o, line): + o['unit'] = 'SANE_UNIT_' + line.split(None, 1)[1].upper() + + +def parseLine_default(o, line): + o['default'] = line.split(None, 1)[1] + + +def parseLine_cap(o, line): + words = line.split() + o['cap'] = ['SANE_CAP_' + s.upper() for s in words[1:]] + + +def parseLine_constraint(o, line): + c = line.split(None,1)[1] + if c[0] == '{': + o['constraint'] = c[1:-1].split('|') + elif c[0] == '(': + o['constraint'] = tuple(c[1:-1].split(',')) + else: + sys.stderr.write('Ignored: %s\n' % line) + + +def parseLine_info(o, line): + words = line.split() + o['info'] = ['SANE_INFO_' + s.upper() for s in words[1:]] + +def parseLine_rem(o, line): + pass + +def normalize(o): + if 'cname' not in o: + cname = o['name'].translate(cnameMap) + o['cname'] = cname + else: + cname = o['cname'] + o['cname_opt'] = 'opt_' + cname + o['cname_con'] = 'constraint_' + cname + if 'title' not in o: + o['title'] = 'NO TITLE' + if 'desc' not in o: + o['desc'] = '@sod->title' % o + if 'unit' not in o: + o['unit'] = 'SANE_UNIT_NONE' + if 'constraint_type' not in o: + if 'constraint' not in o: + ct = 'SANE_CONSTRAINT_NONE' + elif isinstance(o['constraint'], list): + if o['type'] == 'SANE_TYPE_STRING': + ct = 'SANE_CONSTRAINT_STRING_LIST' + else: + ct = 'SANE_CONSTRAINT_WORD_LIST' + elif isinstance(o['constraint'], tuple): + ct = 'SANE_CONSTRAINT_RANGE' + elif isinstance(o['constraint'], str): + oc = o['constraint'] + if oc.startswith('@range'): + ct = 'SANE_CONSTRAINT_RANGE' + elif oc.startswith('@word_list'): + ct = 'SANE_CONSTRAINT_WORD_LIST' + elif oc.startswith('@string_list'): + ct = 'SANE_CONSTRAINT_STRING_LIST' + o['constraint_type'] = ct + return o + + +def parseFile(f): + if not seekBegin(f): + return None + options = [ { + 'name' : '', + 'cname' : 'opt_num_opts', + 'title' : '@SANE_TITLE_NUM_OPTIONS', + 'desc' : '@SANE_DESC_NUM_OPTIONS', + 'type' : 'SANE_TYPE_INT', + 'unit' : 'SANE_UNIT_NONE', + 'size' : 1, + 'cap' : ['SANE_CAP_SOFT_DETECT'], + 'constraint_type' : 'SANE_CONSTRAINT_NONE', + 'default' : '@w = ' + opt_prefix + 'last' + } ] + o = {} + while True: + line = f.readline() + if not line: + break + line = line.strip() + if not line: + continue + token = line.split(None, 1)[0].lower() + if token == 'end': + break + if token == 'type': + if 'name' in o: + options.append(o) + o = {} + funcName = 'parseLine_' + token + if funcName in globals(): + if not parseVerbatim(o, line): + func = globals()[funcName] + func(o, line) + else: + sys.stderr.write('Skip: %s\n' % line) + if 'name' in o: + options.append(o) + return [normalize(o) for o in options] + + +def genHeader(options): + print """ +typedef union { + SANE_Word w; + SANE_Int i; + SANE_Bool b; + SANE_Fixed f; + SANE_String s; + void *ptr; +} option_value_t; +""" + print 'typedef enum {' + for o in options: + print ' %(cname_opt)s,' % o + print ' ' + opt_prefix + 'last' + print '} option_t;' + print """ + +typedef struct { + SANE_Option_Descriptor sod; + option_value_t val,def; + SANE_Word info; +} option_descriptor_t; + + +struct pixma_sane_t; +static int build_option_descriptors(struct pixma_sane_t *ss); +""" + + +def genMinMaxRange(n, t, r): + if t == 'SANE_TYPE_FIXED': + r = ['SANE_FIX(%s)' % x for x in r] + print 'static const SANE_Range ' + n + ' = ' + print ' { ' + r[0] + ',' + r[1] + ',' + r[2] + ' };' + + +def genList(n, t, l): + if t == 'SANE_TYPE_INT': + etype = 'SANE_Word' + l = [str(len(l))] + l + elif t == 'SANE_TYPE_FIXED': + etype = 'SANE_Word' + l = [str(len(l))] + ['SANE_FIX(%s)' % x for x in l] + elif t == 'SANE_TYPE_STRING': + etype = 'SANE_String_Const' + l = ['SANE_I18N("%s")' % x for x in l] + ['NULL'] + print 'static const %s %s[%d] = {' % (etype, n, len(l)) + for x in l[0:-1]: + print '\t' + x + ',' + print '\t' + l[-1] + ' };' + + +def genConstraints(options): + for o in options: + if 'constraint' not in o: continue + c = o['constraint'] + oname = o['cname_con'] + otype = o['type'] + if isinstance(c, tuple): + genMinMaxRange(oname, otype, c) + elif isinstance(c, list): + genList(oname, otype, c) + print + +def buildCodeVerbatim(o): + for f in ('name', 'title', 'desc', 'type', 'unit', 'size', 'cap', + 'constraint_type', 'constraint', 'default'): + if (f not in o): continue + temp = o[f] + if (not isinstance(temp,str)) or \ + (len(temp) < 1) or (temp[0] != '@'): + continue + o['code_' + f] = temp[1:] + +def ccode(o): + buildCodeVerbatim(o) + if 'code_name' not in o: + o['code_name'] = '"' + o['name'] + '"' + for f in ('title', 'desc'): + cf = 'code_' + f + if cf in o: continue + o[cf] = 'SANE_I18N("' + o[f] + '")' + + for f in ('type', 'unit', 'constraint_type'): + cf = 'code_' + f + if cf in o: continue + o[cf] = o[f] + + if 'code_size' not in o: + otype = o['type'] + osize = o['size'] + if otype == 'SANE_TYPE_STRING': + code = str(osize + 1) + elif otype == 'SANE_TYPE_INT' or otype == 'SANE_TYPE_FIXED': + code = str(osize) + ' * sizeof(SANE_Word)' + elif otype == 'SANE_TYPE_BUTTON': + code = '0' + else: + code = 'sizeof(SANE_Word)' + o['code_size'] = code + + if ('code_cap' not in o) and ('cap' in o): + o['code_cap'] = reduce(lambda a,b: a+'|'+b, o['cap']) + else: + o['code_cap'] = '0' + + if ('code_info' not in o) and ('info' in o): + o['code_info'] = reduce(lambda a,b: a+'|'+b, o['info']) + else: + o['code_info'] = '0' + + if ('code_default' not in o) and ('default' in o): + odefault = o['default'] + otype = o['type'] + if odefault == '_MIN': + rhs = 'w = sod->constraint.range->min' + elif odefault == '_MAX': + rhs = 'w = sod->constraint.range->max' + elif otype in ('SANE_TYPE_INT', 'SANE_TYPE_BOOL'): + rhs = 'w = %(default)s' + elif otype == 'SANE_TYPE_FIXED': + rhs = 'w = SANE_FIX(%(default)s)' + elif otype == 'SANE_TYPE_STRING': + rhs = 's = SANE_I18N("%(default)s")' + o['code_default'] = rhs % o + if 'code_default' in o: + code = ' opt->def.%(code_default)s;\n' + if o['constraint_type'] != 'SANE_CONSTRAINT_STRING_LIST': + code += ' opt->val.%(code_default)s;\n' + else: + code += ' opt->val.w = find_string_in_list' \ + '(opt->def.s, sod->constraint.string_list);\n' + o['full_code_default'] = code % o + else: + o['full_code_default'] = '' + + if ('code_constraint' not in o) and ('constraint' in o): + ct = o['constraint_type'] + idx = len('SANE_CONSTRAINT_') + ctype = ct[idx:].lower() + if ctype == 'range': + rhs = '&%(cname_con)s' % o + else: + rhs = '%(cname_con)s' % o + o['code_constraint'] = ctype + ' = ' + rhs + if 'code_constraint' in o: + code = ' sod->constraint.%(code_constraint)s;\n' + o['full_code_constraint'] = code % o + else: + o['full_code_constraint'] = '' + + return o + +def genBuildOptions(options): + print """ +static +int find_string_in_list(SANE_String_Const str, const SANE_String_Const *list) +{ + int i; + for (i = 0; list[i] && strcmp(str, list[i]) != 0; i++) {} + return i; +} + +static +int build_option_descriptors(struct pixma_sane_t *ss) +{ + SANE_Option_Descriptor *sod; + option_descriptor_t *opt; + + memset(OPT_IN_CTX, 0, sizeof(OPT_IN_CTX));""" + + for o in options: + o = ccode(o) + otype = o['type'] + code = '\n opt = &(OPT_IN_CTX[%(cname_opt)s]);\n' \ + ' sod = &opt->sod;\n' \ + ' sod->type = %(code_type)s;\n' \ + ' sod->title = %(code_title)s;\n' \ + ' sod->desc = %(code_desc)s;\n' + if otype != 'SANE_TYPE_GROUP': + code += ' sod->name = %(code_name)s;\n' \ + ' sod->unit = %(code_unit)s;\n' \ + ' sod->size = %(code_size)s;\n' \ + ' sod->cap = %(code_cap)s;\n' \ + ' sod->constraint_type = %(code_constraint_type)s;\n' \ + '%(full_code_constraint)s' \ + ' OPT_IN_CTX[%(cname_opt)s].info = %(code_info)s;\n' \ + '%(full_code_default)s' + sys.stdout.write(code % o) + print + print ' return 0;\n' + print '}' + print + +g = Struct() +g.ngroups = 0 +opt_prefix = 'opt_' +con_prefix = 'constraint_' +cnameMap = createCNameMap() +options = parseFile(sys.stdin) +print "/* Automatically generated from pixma_sane.c */" +if (len(sys.argv) == 2) and (sys.argv[1] == 'h'): + genHeader(options) +else: + genConstraints(options) + genBuildOptions(options) diff --git a/backend/sharp.c b/backend/sharp.c index 69f5000..b2807d7 100644 --- a/backend/sharp.c +++ b/backend/sharp.c @@ -2,7 +2,7 @@ Copyright (C) 1998, 1999 Kazuya Fukuda, Abel Deuring based on BYTEC GmbH Germany - Written by Helmut Koeberle previous Work on canon.c file from the + Written by Helmut Koeberle previous Work on canon.c file from the SANE package. This file is part of the SANE package. @@ -50,18 +50,18 @@ changes to version 0.31: - support for JX320 added (Thanks to Isaac Wilcox for providind the patch) - + Version 0.31 changes to version 0.30: - support for JX350 added (Thanks to Shuhei Tomita for providind the patch) - + changes to version 0.20 - support for the proposed extended open function in sanei_scsi.c added - support for ADF and FSU (transparency adapter) added - simple sense handler added - preview added - - added several missing statements "s->fd = -1;" after + - added several missing statements "s->fd = -1;" after "sanei_scsi_close(s->fd)" to error returns in sane_start(); - maximum scan sizes are read from the scanner, if a JX330 or JX250 is used. (this avoids the guessing of scan sizes for the JX330) @@ -69,7 +69,7 @@ - "Fixed gamma selection (1.0/2.2)", available for JX330 and JX610, is now implemented for the JX250 by downloading a gamma table - changed the calls to free() and strdup() in sane_control_option to - strcpy. + strcpy. (I don't like too frequent unchecked malloc()s and strdups :) Abel) - cleaned up some quirks in option handling, eg, that "threshold" was initially enabled, while the initial scan mode is "color" @@ -133,12 +133,12 @@ */ #define USE_CUSTOM_GAMMA #define USE_COLOR_THRESHOLD -/* enable a short list of some standard resolutions. XSane provides +/* enable a short list of some standard resolutions. XSane provides its own resolution list; therefore its is generally not reasonable to enable this list, if you mainly using XSane. But it might be handy if you are working with xscanimage */ -/* #define USE_RESOLUTION_LIST */ +/* #define USE_RESOLUTION_LIST */ /* enable separate specification of resolution in X and Y direction. XSane will show the Y-resolution at a quite different place than @@ -220,15 +220,15 @@ static SANE_String use_adf = "Automatic Document Feeder"; static SANE_String use_fsu = "Transparency Adapter"; static SANE_String use_simple = "Flatbed"; -/* auto selection of ADF and FSU, as described in the JX330 manual, - is a nice idea -- but I assume that the possible scan window - sizes depend not only for the JX250, but also for JX330 on the +/* auto selection of ADF and FSU, as described in the JX330 manual, + is a nice idea -- but I assume that the possible scan window + sizes depend not only for the JX250, but also for JX330 on the usage of ADF or FSU. Thus, the user might be able to select scan windows of an "illegal" size, which would have to be automatically - corrected, and I don't see, how the user could be informed about - this "window clipping". More important, I don't see, how the + corrected, and I don't see, how the user could be informed about + this "window clipping". More important, I don't see, how the frontend could be informed that the ADF is automatically enabled. - + Insert a "#define ALLOW_AUTO_SELECT_ADF", if you want to play with this feature. */ @@ -239,8 +239,8 @@ static SANE_String_Const use_auto = "AutoSelection"; #define HAVE_FSU 1 #define HAVE_ADF 2 -/* The follow #defines are used in SHARP_Scanner.adf_fsu_mode - and as indexes for the arrays x_ranges, y_ranges in SHARP_Device +/* The follow #defines are used in SHARP_Scanner.adf_fsu_mode + and as indexes for the arrays x_ranges, y_ranges in SHARP_Device */ #define SCAN_SIMPLE 0 #define SCAN_WITH_FSU 1 @@ -326,17 +326,17 @@ sense_handler(int __sane_unused__ fd, u_char *sense_buffer, void *s) { int sense_key; SHARP_Sense_Data *sdat = (SHARP_Sense_Data *) s; - + #define add_sense_code sense_buffer[12] #define add_sense_qual sense_buffer[13] memcpy(sdat->sb, sense_buffer, 16); - + DBG(10, "sense code: %02x %02x %02x %02x %02x %02x %02x %02x " "%02x %02x %02x %02x %02x %02x %02x %02x\n", - sense_buffer[0], sense_buffer[1], sense_buffer[2], sense_buffer[3], - sense_buffer[4], sense_buffer[5], sense_buffer[6], sense_buffer[7], - sense_buffer[8], sense_buffer[9], sense_buffer[10], sense_buffer[11], + sense_buffer[0], sense_buffer[1], sense_buffer[2], sense_buffer[3], + sense_buffer[4], sense_buffer[5], sense_buffer[6], sense_buffer[7], + sense_buffer[8], sense_buffer[9], sense_buffer[10], sense_buffer[11], sense_buffer[12], sense_buffer[13], sense_buffer[14], sense_buffer[15]); sense_key = sense_buffer[2] & 0x0F; @@ -394,7 +394,7 @@ sense_handler(int __sane_unused__ fd, u_char *sense_buffer, void *s) DBG(1, "scan head positioning error\n"); return SANE_STATUS_IO_ERROR; } - + } else if (sdat->model == JX250 || sdat->model == JX330 || sdat->model == JX350 || sdat->model == JX320) @@ -561,7 +561,7 @@ inquiry (int fd, void *inq_buf, size_t *inq_size) static SANE_Status mode_select_mud (int fd, int mud) { - static u_char cmd[6 + MODEPARAM_LEN] = + static u_char cmd[6 + MODEPARAM_LEN] = {MODE_SELECT6, 0x10, 0, 0, MODEPARAM_LEN, 0}; mode_select_param *mp; SANE_Status status; @@ -583,7 +583,7 @@ mode_select_mud (int fd, int mud) static SANE_Status mode_select_adf_fsu (int fd, int mode) { - static u_char cmd[6 + MODE_SUBDEV_LEN] = + static u_char cmd[6 + MODE_SUBDEV_LEN] = {MODE_SELECT6, 0x10, 0, 0, MODE_SUBDEV_LEN, 0}; mode_select_subdevice *mp; SANE_Status status; @@ -670,7 +670,7 @@ release_unit (int fd) #endif static SANE_Status -mode_sense (int fd, void *modeparam_buf, size_t * modeparam_size, +mode_sense (int fd, void *modeparam_buf, size_t * modeparam_size, int page) { static u_char cmd[6]; @@ -681,7 +681,7 @@ mode_sense (int fd, void *modeparam_buf, size_t * modeparam_size, cmd[0] = 0x1a; cmd[2] = page; cmd[4] = *modeparam_size; - status = sanei_scsi_cmd (fd, cmd, sizeof (cmd), modeparam_buf, + status = sanei_scsi_cmd (fd, cmd, sizeof (cmd), modeparam_buf, modeparam_size); DBG (11, ">>\n"); @@ -740,7 +740,7 @@ send (int fd, SHARP_Send * ss) static SANE_Status set_window (int fd, window_param *wp, int len) { - static u_char cmd[10 + WINDOW_LEN] = + static u_char cmd[10 + WINDOW_LEN] = {SET_WINDOW, 0, 0, 0, 0, 0, 0, 0, 0, 0}; window_param *winp; SANE_Status status; @@ -775,17 +775,17 @@ get_window (int fd, void *buf, size_t * buf_size) #ifdef USE_FORK /* the following four functions serve simply the purpose - to avoid "over-optimised" code when reader_process and - read_data wait for the buffer to become ready. The simple - while-loops in these functions which check the buffer - status may be optimised so that the machine code only - operates with registers instead of using the variable - values stored in memory. (This is only a workaround - + to avoid "over-optimised" code when reader_process and + read_data wait for the buffer to become ready. The simple + while-loops in these functions which check the buffer + status may be optimised so that the machine code only + operates with registers instead of using the variable + values stored in memory. (This is only a workaround - it would be better to set a compiler pragma, which ensures that the program looks into the RAM in these while loops -- but unfortunately I could not find appropriate information - about this at least for gcc, not to speak about other - compilers... + about this at least for gcc, not to speak about other + compilers... Abel) */ @@ -795,7 +795,7 @@ cancel_requested(SHARP_Scanner *s) return s->rdr_ctl->cancel; } -static SANE_Status +static SANE_Status rdr_status(SHARP_Scanner *s) { return s->rdr_ctl->status; @@ -832,9 +832,9 @@ reader_process(SHARP_Scanner *s) DBG(11, "<< reader_process\n"); sigemptyset (&sigterm_set); - + bytes_to_queue = s->bytes_to_read; - + /* it seems that some carriage stops can be avoided with the JX-250, if the data of an integral number of scan lines is read with one SCSI command @@ -845,9 +845,9 @@ reader_process(SHARP_Scanner *s) else /* this is a really tiny buffer..*/ max_bytes_per_read = s->dev->info.bufsize; - + /* wait_ready(s->fd); */ - + if (s->dev->info.queued_reads <= s->dev->info.buffers) max_queue = s->dev->info.queued_reads; else @@ -869,16 +869,16 @@ reader_process(SHARP_Scanner *s) #ifdef QUEUEDEBUG DBG(2, "reader: req_enter...\n"); #endif - status = sanei_scsi_req_enter (s->fd, cmd, sizeof (cmd), - bc->buffer, - &bc->used, + status = sanei_scsi_req_enter (s->fd, cmd, sizeof (cmd), + bc->buffer, + &bc->used, &bc->qid); #ifdef QUEUEDEBUG DBG(2, "reader: req_enter ok\n"); #endif if (status != SANE_STATUS_GOOD) { - DBG(1, "reader_process: read command failed: %s", + DBG(1, "reader_process: read command failed: %s", sane_strstatus(status)); #ifdef HAVE_SANEI_SCSI_OPEN_EXTENDED sanei_scsi_req_flush_all_extended(s->fd); @@ -902,9 +902,9 @@ reader_process(SHARP_Scanner *s) waitindex = 0; cmdindex = i % s->dev->info.buffers; - while(s->bytes_to_read > 0) + while(s->bytes_to_read > 0) { - if (cancel_requested(s)) + if (cancel_requested(s)) { #ifdef QUEUEDEBUG DBG(2, "reader: flushing requests...\n"); @@ -925,7 +925,7 @@ reader_process(SHARP_Scanner *s) } bc = &s->rdr_ctl->buf_ctl[waitindex]; - if (bc->shm_status == SHM_BUSY) + if (bc->shm_status == SHM_BUSY) { #ifdef DEBUG { @@ -948,7 +948,7 @@ reader_process(SHARP_Scanner *s) DBG(2, "rd: data received %li.%06li\n", t.tv_sec, t.tv_usec); } #endif - if (status == SANE_STATUS_DEVICE_BUSY && retries) + if (status == SANE_STATUS_DEVICE_BUSY && retries) { bc->used = 0; retries--; @@ -958,7 +958,7 @@ reader_process(SHARP_Scanner *s) } else if (status != SANE_STATUS_GOOD) { - DBG(1, "reader_process: read command failed: %s\n", + DBG(1, "reader_process: read command failed: %s\n", sane_strstatus(status)); #ifdef HAVE_SANEI_SCSI_OPEN_EXTENDED sanei_scsi_req_flush_all_extended(s->fd); @@ -969,7 +969,7 @@ reader_process(SHARP_Scanner *s) s->rdr_ctl->running = 0; return 2; } - else + else { retries = MAX_RETRIES; } @@ -982,7 +982,7 @@ reader_process(SHARP_Scanner *s) /* memset(bc->buffer + bc->used, 0, bc->nreq - bc->used); */ bc->used = bc->nreq; /* bytes_to_queue += bc->nreq - bc->used; */ - DBG(1, "btr: %i btq: %i nreq: %i nrcv: %i\n", + DBG(1, "btr: %i btq: %i nreq: %i nrcv: %i\n", s->bytes_to_read, bytes_to_queue, bc->nreq, bc->used); #endif bc->start = 0; @@ -993,7 +993,7 @@ reader_process(SHARP_Scanner *s) waitindex = 0; } - + if (bytes_to_queue) { /* wait until the next buffer is completely read via read_data */ @@ -1028,11 +1028,11 @@ reader_process(SHARP_Scanner *s) cmd[6] = nread >> 16; cmd[7] = nread >> 8; cmd[8] = nread; - status = sanei_scsi_req_enter (s->fd, cmd, sizeof (cmd), + status = sanei_scsi_req_enter (s->fd, cmd, sizeof (cmd), bc->buffer, &bc->used, &bc->qid); if (status != SANE_STATUS_GOOD) { - DBG(1, "reader_process: read command failed: %s", + DBG(1, "reader_process: read command failed: %s", sane_strstatus(status)); #ifdef HAVE_SANEI_SCSI_OPEN_EXTENDED sanei_scsi_req_flush_all_extended(s->fd); @@ -1046,13 +1046,13 @@ reader_process(SHARP_Scanner *s) bc->shm_status = SHM_BUSY; bc->nreq = nread; bytes_to_queue -= nread; - + cmdindex++; if (cmdindex == s->dev->info.buffers) cmdindex = 0; } - - if (cancel_requested(s)) + + if (cancel_requested(s)) { #ifdef HAVE_SANEI_SCSI_OPEN_EXTENDED sanei_scsi_req_flush_all_extended(s->fd); @@ -1066,7 +1066,7 @@ reader_process(SHARP_Scanner *s) return 1; } } - + DBG(1, "buffer full conditions: %i\n", full_count); DBG(11, " reader_process>>\n"); @@ -1079,7 +1079,7 @@ read_data (SHARP_Scanner *s, SANE_Byte *buf, size_t * buf_size) { size_t copysize, copied = 0; SHARP_shmem_ctl *bc; - + DBG(11, "<< read_data "); bc = &s->rdr_ctl->buf_ctl[s->read_buff]; @@ -1088,7 +1088,7 @@ read_data (SHARP_Scanner *s, SANE_Byte *buf, size_t * buf_size) { /* wait until the reader process delivers data or a scanner error occurs: */ while ( buf_status(bc) != SHM_FULL - && rdr_status(s) == SANE_STATUS_GOOD) + && rdr_status(s) == SANE_STATUS_GOOD) { usleep(10); /* could perhaps be longer. make this user configurable?? */ } @@ -1100,10 +1100,10 @@ read_data (SHARP_Scanner *s, SANE_Byte *buf, size_t * buf_size) } copysize = bc->used - bc->start; - + if (copysize > *buf_size - copied ) copysize = *buf_size - copied; - + memcpy(buf, &(bc->buffer[bc->start]), copysize); copied += copysize; @@ -1139,8 +1139,8 @@ read_data (SHARP_Scanner *s, SANE_Byte *buf, size_t * buf_size) /* sane_read_shuffled requires that read_data returns exactly *buf_size bytes, so it must be guaranteed here. - Further make sure that not more bytes are read in than - sanei_scsi_max_request_size allows, to avoid a failure + Further make sure that not more bytes are read in than + sanei_scsi_max_request_size allows, to avoid a failure of the read command */ while (remain > 0) @@ -1151,7 +1151,7 @@ read_data (SHARP_Scanner *s, SANE_Byte *buf, size_t * buf_size) cmd[6] = nread >> 16; cmd[7] = nread >> 8; cmd[8] = nread; - status = sanei_scsi_cmd (s->fd, cmd, sizeof (cmd), + status = sanei_scsi_cmd (s->fd, cmd, sizeof (cmd), &buf[*buf_size - remain], &nread); if (status == SANE_STATUS_DEVICE_BUSY && retries) { @@ -1164,7 +1164,7 @@ read_data (SHARP_Scanner *s, SANE_Byte *buf, size_t * buf_size) DBG(11, ">>\n"); return(status); } - else + else { retries = MAX_RETRIES; } @@ -1208,7 +1208,7 @@ wait_ready(int fd) sleep(3); } return (status); - + } /* ask the scanner for the maximum scan sizes with/without ADF and @@ -1220,7 +1220,7 @@ get_max_scan_size(int fd, SHARP_Device *dev, int mode) SANE_Status status; mode_sense_subdevice m_subdev; size_t buf_size; - + status = mode_select_adf_fsu(fd, mode); if (status != SANE_STATUS_GOOD) { @@ -1245,7 +1245,7 @@ get_max_scan_size(int fd, SHARP_Device *dev, int mode) (m_subdev.max_x[0] << 24) + (m_subdev.max_x[1] << 16) + (m_subdev.max_x[2] << 8) + m_subdev.max_x[3] - 1, dev->info.mud)); dev->info.tl_x_ranges[mode].quant = 0; - + dev->info.br_x_ranges[mode].min = SANE_FIX(PIX_TO_MM(1, dev->info.mud)); dev->info.br_x_ranges[mode].max = SANE_FIX(PIX_TO_MM( (m_subdev.max_x[0] << 24) + (m_subdev.max_x[1] << 16) + @@ -1261,19 +1261,19 @@ get_max_scan_size(int fd, SHARP_Device *dev, int mode) else /* The manual for the JX250 states on page 62 that the maximum value for tl_y in FSU mode is 13199, while the max value for - br_y is 13900, which is (probably -- I don't have a FSU) returned - by mode sense/subdevice page. Therefore, we cannot simply + br_y is 13900, which is (probably -- I don't have a FSU) returned + by mode sense/subdevice page. Therefore, we cannot simply decrement that value and store it as max(tl_y). */ dev->info.tl_y_ranges[mode].max = 13199; dev->info.tl_y_ranges[mode].quant = 0; - + dev->info.br_y_ranges[mode].min = SANE_FIX(PIX_TO_MM(1, dev->info.mud)); dev->info.br_y_ranges[mode].max = SANE_FIX(PIX_TO_MM( (m_subdev.max_y[0] << 24) + (m_subdev.max_y[1] << 16) + (m_subdev.max_y[2] << 8) + m_subdev.max_y[3], dev->info.mud)); dev->info.br_y_ranges[mode].quant = 0; - + return SANE_STATUS_GOOD; } @@ -1374,7 +1374,7 @@ attach (const char *devnam, SHARP_Device ** devp) } DBG (3, "attach: sending MODE SELECT\n"); - /* JX-610 probably supports only 25 MUD size + /* JX-610 probably supports only 25 MUD size JX-320 only supports 25 MUD size */ if (strncmp (inquiry_data + 16, "JX610", 5) == 0) @@ -1412,7 +1412,7 @@ attach (const char *devnam, SHARP_Device ** devp) model_name = (char*) inquiry_data + 16; dev->sane.model = strndup (model_name, 10); dev->sane.type = "flatbed scanner"; - + dev->sensedat.model = sensedat.model; DBG (5, "dev->sane.name = %s\n", dev->sane.name); @@ -1441,7 +1441,7 @@ attach (const char *devnam, SHARP_Device ** devp) dev->info.bmu = msp.bmu; dev->info.mud = (msp.mud[0] << 8) + msp.mud[1]; - + dev->info.adf_fsu_installed = 0; if (dev->sensedat.model == JX610) { @@ -1475,7 +1475,7 @@ attach (const char *devnam, SHARP_Device ** devp) } else { - /* ask the scanner, if ADF or FSU are installed, and ask for + /* ask the scanner, if ADF or FSU are installed, and ask for the maximum scan sizes with/without ADF and FSU. */ @@ -1489,23 +1489,23 @@ attach (const char *devnam, SHARP_Device ** devp) sanei_scsi_close (fd); return (SANE_STATUS_INVAL); } - + /* The JX330 manual is not very clear about the ADF- und FSU-Bits - returned by a JX320 and JX325 for the mode sense command: + returned by a JX320 and JX325 for the mode sense command: Are these bits set to zero or not? To be on the safe side, let's clear them. */ - + if ( strncmp(inquiry_data + 16, "JX320", 5) == 0 || strncmp(inquiry_data + 16, "JX325", 5) == 0) { m_subdev.f_mode_type = 0; m_subdev.a_mode_type = 0; } - + get_max_scan_size(fd, dev, SCAN_SIMPLE); - - if (m_subdev.a_mode_type & 0x03) + + if (m_subdev.a_mode_type & 0x03) { dev->info.adf_fsu_installed = HAVE_ADF; get_max_scan_size(fd, dev, SCAN_WITH_ADF); @@ -1516,7 +1516,7 @@ attach (const char *devnam, SHARP_Device ** devp) get_max_scan_size(fd, dev, SCAN_WITH_FSU); } - if ( dev->sensedat.model == JX320 + if ( dev->sensedat.model == JX320 || dev->sensedat.model == JX330 || dev->sensedat.model == JX350) { @@ -1540,7 +1540,7 @@ attach (const char *devnam, SHARP_Device ** devp) } } sanei_scsi_close (fd); - + dev->info.threshold_range.min = 1; dev->info.threshold_range.max = 255; dev->info.threshold_range.quant = 0; @@ -1616,12 +1616,12 @@ attach (const char *devnam, SHARP_Device ** devp) } /* Enabling / disabling of gamma options. - Depends on many user settable options, so lets put it into + Depends on many user settable options, so lets put it into one function to be called by init_options and by sane_control_option */ #ifdef USE_CUSTOM_GAMMA -static void +static void set_gamma_caps(SHARP_Scanner *s) { /* neither fixed nor custom gamma for line art modes */ @@ -1761,11 +1761,11 @@ clip_value (const SANE_Option_Descriptor * opt, void * value) /* make sure that enough memory is allocated for each string, so that the strcpy in sane_control_option / set value cannot - write behind the end of the allocated memory. + write behind the end of the allocated memory. */ static SANE_Status -init_string_option(SHARP_Scanner *s, SANE_String_Const name, - SANE_String_Const title, SANE_String_Const desc, +init_string_option(SHARP_Scanner *s, SANE_String_Const name, + SANE_String_Const title, SANE_String_Const desc, const SANE_String_Const *string_list, int option, int default_index) { int i; @@ -1869,7 +1869,7 @@ init_options (SHARP_Scanner * s) sourcename_index = i; s->dev->info.scansources[i++] = use_adf; } - else + else { if (default_source == SCAN_WITH_ADF) default_source = SCAN_SIMPLE; @@ -1893,7 +1893,7 @@ init_options (SHARP_Scanner * s) sourcename_index = i; s->dev->info.scansources[i++] = use_simple; s->dev->info.scansources[i] = 0; - + #if 0 s->opt[OPT_SCANSOURCE].name = SANE_NAME_SCAN_SOURCE; s->opt[OPT_SCANSOURCE].title = SANE_TITLE_SCAN_SOURCE; @@ -1927,7 +1927,7 @@ init_options (SHARP_Scanner * s) s->opt[OPT_PAPER].constraint.string_list = paper_list_jx610; s->val[OPT_PAPER].s = strdup (paper_list_jx610[1]); } - else + else { s->opt[OPT_PAPER].size = max_string_size (paper_list_jx330); s->opt[OPT_PAPER].constraint_type = SANE_CONSTRAINT_STRING_LIST; @@ -1975,10 +1975,10 @@ init_options (SHARP_Scanner * s) #ifdef USE_RESOLUTION_LIST if (s->dev->sensedat.model == JX610 || s->dev->sensedat.model == JX330 || s->dev->sensedat.model == JX350 || s->dev->sensedat.model == JX320) - init_string_option(s, "ResolutionList", "ResolutionList", "ResolutionList", + init_string_option(s, "ResolutionList", "ResolutionList", "ResolutionList", resolution_list_jx610, OPT_RESOLUTION_LIST, RESOLUTION_MAX_JX610); else - init_string_option(s, "ResolutionList", "ResolutionList", "ResolutionList", + init_string_option(s, "ResolutionList", "ResolutionList", "ResolutionList", resolution_list_jx250, OPT_RESOLUTION_LIST, RESOLUTION_MAX_JX250); #endif /* x resolution */ @@ -2050,7 +2050,7 @@ init_options (SHARP_Scanner * s) s->opt[OPT_BR_Y].unit = SANE_UNIT_MM; s->opt[OPT_BR_Y].constraint_type = SANE_CONSTRAINT_RANGE; s->opt[OPT_BR_Y].constraint.range = &s->dev->info.br_y_ranges[default_source]; - /* The FSU for JX250 allows a maximum scan length of 11.5 inch, + /* The FSU for JX250 allows a maximum scan length of 11.5 inch, which is less than the default value of 297 mm */ scalar = s->dev->info.y_default; @@ -2097,7 +2097,7 @@ init_options (SHARP_Scanner * s) #ifdef USE_COLOR_THRESHOLD s->opt[OPT_THRESHOLD_R].name = SANE_NAME_THRESHOLD "-red"; /* xxx the titles and decriptions are confusing: - "set white point (red)" + "set white point (red)" Any idea? maybe "threshold to get the red component on" */ s->opt[OPT_THRESHOLD_R].title = SANE_TITLE_THRESHOLD " (red)"; @@ -2153,7 +2153,7 @@ init_options (SHARP_Scanner * s) s->opt[OPT_PREVIEW].type = SANE_TYPE_BOOL; s->opt[OPT_PREVIEW].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT; s->val[OPT_PREVIEW].w = SANE_FALSE; - + #ifdef USE_CUSTOM_GAMMA /* custom-gamma table */ @@ -2241,14 +2241,14 @@ do_cancel (SHARP_Scanner * s) DBG(11, "stopping reader process\n"); s->rdr_ctl->cancel = 1; - while(reader_running(s) && count < 100) + while(reader_running(s) && count < 100) { usleep(100000); count++; }; if (reader_running(s)) { - /* be brutal... + /* be brutal... !! The waiting time of 10 seconds might be far too short !! if the resolution limit of the JX 250 is increased to !! to more than 400 dpi: for these (interpolated) resolutions, @@ -2299,13 +2299,13 @@ do_cancel (SHARP_Scanner * s) static SHARP_New_Device *new_devs = 0; static SHARP_New_Device *new_dev_pool = 0; -static SANE_Status +static SANE_Status attach_and_list(const char *devnam) { SANE_Status res; SHARP_Device *devp; SHARP_New_Device *np; - + res = attach(devnam, &devp); if (res == SANE_STATUS_GOOD) { @@ -2332,10 +2332,10 @@ static int bufsize[2] = {DEFAULT_BUFSIZE, DEFAULT_BUFSIZE}; static int queued_reads[2] = {DEFAULT_QUEUED_READS, DEFAULT_QUEUED_READS}; static int stop_on_fsu_error[2] = {COMPLAIN_ON_FSU_ERROR | COMPLAIN_ON_ADF_ERROR, COMPLAIN_ON_FSU_ERROR | COMPLAIN_ON_ADF_ERROR}; -static int default_scan_mode[2] = {-1, -1}; +static int default_scan_mode[2] = {-1, -1}; SANE_Status -sane_init (SANE_Int * version_code, +sane_init (SANE_Int * version_code, SANE_Auth_Callback __sane_unused__ authorize) { char devnam[PATH_MAX] = "/dev/scanner"; @@ -2347,7 +2347,7 @@ sane_init (SANE_Int * version_code, int opt_index = 0; int linecount = 0; #if 1 - SHARP_Device sd; + SHARP_Device sd; SHARP_Device *dp = &sd; #else SHARP_Device *dp; @@ -2443,7 +2443,7 @@ sane_init (SANE_Int * version_code, linecount); DBG(1, "%s\n", line); } - else + else queued_reads[opt_index] = i; } else if (strcmp(word, "stop_on_fsu_error") == 0) @@ -2458,8 +2458,8 @@ sane_init (SANE_Int * version_code, linecount); DBG(1, "%s\n", line); } - else - stop_on_fsu_error[opt_index] + else + stop_on_fsu_error[opt_index] = i ? COMPLAIN_ON_FSU_ERROR : 0; } else if (strcmp(word, "default_scan_source") == 0) @@ -2493,7 +2493,7 @@ sane_init (SANE_Int * version_code, { while (new_devs) { - if (buffers[1] >= 2) + if (buffers[1] >= 2) new_devs->dev->info.buffers = buffers[1]; else new_devs->dev->info.buffers = 2; @@ -2529,7 +2529,7 @@ sane_init (SANE_Int * version_code, while (new_devs) { - if (buffers[1] >= 2) + if (buffers[1] >= 2) new_devs->dev->info.buffers = buffers[1]; else new_devs->dev->info.buffers = 2; @@ -2574,7 +2574,7 @@ sane_exit (void) free ((void *) dev->sane.model); free (dev); } - + if (devlist) free(devlist); devlist = 0; @@ -2653,8 +2653,8 @@ sane_open (SANE_String_Const devnam, SANE_Handle * handle) s->fd = -1; s->dev = dev; - - s->buffer = 0; + + s->buffer = 0; #ifdef USE_CUSTOM_GAMMA for (i = 0; i < 4; ++i) for (j = 0; j < 256; ++j) @@ -2827,7 +2827,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, *info |= SANE_INFO_RELOAD_PARAMS; case OPT_NUM_OPTS: case OPT_THRESHOLD: - /* xxx theoretically, we could use OPT_THRESHOLD in + /* xxx theoretically, we could use OPT_THRESHOLD in bi-level color mode to adjust all three other threshold together. But this would require to set the bit SANE_INFO_RELOAD_OPTIONS in *info, and that @@ -2879,8 +2879,8 @@ sane_control_option (SANE_Handle handle, SANE_Int option, #endif s->opt[OPT_HALFTONE].cap |= SANE_CAP_INACTIVE; } - - if ( strcmp (val, M_LINEART) == 0 + + if ( strcmp (val, M_LINEART) == 0 || strcmp (val, M_GRAY) == 0) { s->opt[OPT_LIGHTCOLOR].cap &= ~SANE_CAP_INACTIVE; @@ -2889,7 +2889,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, { s->opt[OPT_LIGHTCOLOR].cap |= SANE_CAP_INACTIVE; } - + strcpy(s->val[option].s, val); #ifdef USE_CUSTOM_GAMMA set_gamma_caps(s); @@ -2926,19 +2926,19 @@ sane_control_option (SANE_Handle handle, SANE_Int option, else range_index = SCAN_SIMPLE; - s->opt[OPT_TL_X].constraint.range + s->opt[OPT_TL_X].constraint.range = &s->dev->info.tl_x_ranges[range_index]; clip_value (&s->opt[OPT_TL_X], &s->val[OPT_TL_X].w); - s->opt[OPT_TL_Y].constraint.range + s->opt[OPT_TL_Y].constraint.range = &s->dev->info.tl_y_ranges[range_index]; clip_value (&s->opt[OPT_TL_Y], &s->val[OPT_TL_Y].w); - s->opt[OPT_BR_X].constraint.range + s->opt[OPT_BR_X].constraint.range = &s->dev->info.br_x_ranges[range_index]; clip_value (&s->opt[OPT_BR_X], &s->val[OPT_BR_X].w); - s->opt[OPT_BR_Y].constraint.range + s->opt[OPT_BR_Y].constraint.range = &s->dev->info.br_y_ranges[range_index]; clip_value (&s->opt[OPT_BR_Y], &s->val[OPT_BR_Y].w); @@ -2994,11 +2994,11 @@ sane_control_option (SANE_Handle handle, SANE_Int option, if (info) *info |= SANE_INFO_RELOAD_OPTIONS | SANE_INFO_RELOAD_PARAMS; for (i = 0; s->opt[OPT_RESOLUTION_LIST].constraint.string_list[i]; i++) { - if (strcmp (val, + if (strcmp (val, s->opt[OPT_RESOLUTION_LIST].constraint.string_list[i]) == 0){ - s->val[OPT_X_RESOLUTION].w + s->val[OPT_X_RESOLUTION].w = atoi(s->opt[OPT_RESOLUTION_LIST].constraint.string_list[i]); - s->val[OPT_Y_RESOLUTION].w + s->val[OPT_Y_RESOLUTION].w = atoi(s->opt[OPT_RESOLUTION_LIST].constraint.string_list[i]); if (info) *info |= SANE_INFO_RELOAD_PARAMS; @@ -3055,7 +3055,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) scanning starts. */ memset (&s->params, 0, sizeof (s->params)); - width = MM_TO_PIX( SANE_UNFIX(s->val[OPT_BR_X].w) + width = MM_TO_PIX( SANE_UNFIX(s->val[OPT_BR_X].w) - SANE_UNFIX(s->val[OPT_TL_X].w), s->dev->info.mud); length = MM_TO_PIX( SANE_UNFIX(s->val[OPT_BR_Y].w) @@ -3077,14 +3077,14 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) /* if async reads are used, )ie. if USE_FORK is defined, this command may only be issued immediately after the - "start scan" command. Later calls will confuse the + "start scan" command. Later calls will confuse the read queue. */ if (!s->get_params_called) { wait_ready(s->fd); status = sanei_scsi_cmd (s->fd, cmd, sizeof (cmd), buf, &len); - + if (status != SANE_STATUS_GOOD) { do_cancel(s); @@ -3142,7 +3142,7 @@ sprint_gamma(Option_Value val, SANE_Byte *dst) { int i; SANE_Byte *p = dst; - + p += sprintf((char *) p, "%i", val.wa[0] > 255 ? 255 : val.wa[0]); /* val.wa[i] is over 255, so val.wa[i] is limitied to 255 */ for (i = 1; i < 256; i++) @@ -3155,17 +3155,17 @@ send_ascii_gamma_tables (SHARP_Scanner *s) { SANE_Status status; int i; - + DBG(11, "<< send_ascii_gamma_tables "); - + /* we need: 4 bytes for each gamma value (3 digits + delimiter) + 10 bytes for the command header i.e. 4 * 4 * 256 + 10 = 4106 bytes */ - + if (s->dev->info.bufsize < 4106) return SANE_STATUS_NO_MEM; - + memset(s->buffer, 0, 4106); i = sprint_gamma(s->val[OPT_GAMMA_VECTOR_R], &s->buffer[10]); @@ -3175,19 +3175,19 @@ send_ascii_gamma_tables (SHARP_Scanner *s) i += sprint_gamma(s->val[OPT_GAMMA_VECTOR_B], &s->buffer[10+i]); s->buffer[10+i++] = '/'; i += sprint_gamma(s->val[OPT_GAMMA_VECTOR], &s->buffer[10+i]); - + DBG(11, "%s\n", &s->buffer[10]); s->buffer[0] = SEND; s->buffer[2] = 0x03; s->buffer[7] = i >> 8; s->buffer[8] = i & 0xff; - + wait_ready(s->fd); status = sanei_scsi_cmd (s->fd, s->buffer, i+10, 0, 0); DBG(11, ">>\n"); - + return status; } #endif @@ -3197,29 +3197,29 @@ send_binary_g_table(SHARP_Scanner *s, SANE_Word *a, int dtq) { SANE_Status status; int i; - + DBG(11, "<< send_binary_g_table\n"); memset(s->buffer, 0, 522); - + s->buffer[0] = SEND; s->buffer[2] = 0x03; s->buffer[5] = dtq; s->buffer[7] = 2; s->buffer[8] = 0; - + for (i = 0; i < 256; i++) { s->buffer[2*i+11] = a[i] > 255 ? 255 : a[i]; } - + for (i = 0; i < 256; i += 16) { DBG(11, "%02x %02x %02x %02x %02x %02x %02x %02x " "%02x %02x %02x %02x %02x %02x %02x %02x\n", - a[i ], a[i+1], a[i+2], a[i+3], + a[i ], a[i+1], a[i+2], a[i+3], a[i+4], a[i+5], a[i+6], a[i+7], - a[i+8], a[i+9], a[i+10], a[i+11], + a[i+8], a[i+9], a[i+10], a[i+11], a[i+12], a[i+13], a[i+14], a[i+15]); } @@ -3236,19 +3236,19 @@ static SANE_Status send_binary_gamma_tables (SHARP_Scanner *s) { SANE_Status status; - + status = send_binary_g_table(s, s->val[OPT_GAMMA_VECTOR].wa, 0x10); if (status != SANE_STATUS_GOOD) return status; - + status = send_binary_g_table(s, s->val[OPT_GAMMA_VECTOR_R].wa, 0x11); if (status != SANE_STATUS_GOOD) return status; - + status = send_binary_g_table(s, s->val[OPT_GAMMA_VECTOR_G].wa, 0x12); if (status != SANE_STATUS_GOOD) return status; - + status = send_binary_g_table(s, s->val[OPT_GAMMA_VECTOR_B].wa, 0x13); return status; @@ -3265,7 +3265,7 @@ send_gamma_tables (SHARP_Scanner *s) { return send_binary_gamma_tables(s); } - + } #endif @@ -3276,19 +3276,19 @@ send_threshold_data(SHARP_Scanner *s) SANE_Status status; SANE_Byte cmd[26] = {SEND, 0, 0x82, 0, 0, 0, 0, 0, 0, 0}; int len; - + memset(cmd, 0, sizeof(cmd)); - /* maximum string length: 3 bytes for each number (they are + /* maximum string length: 3 bytes for each number (they are restricted to the range 0..255), 3 '/' and the null-byte, total: 16 bytes. */ - len = sprintf((char *) &cmd[10], "%i/%i/%i/%i", + len = sprintf((char *) &cmd[10], "%i/%i/%i/%i", s->val[OPT_THRESHOLD_R].w, s->val[OPT_THRESHOLD_G].w, s->val[OPT_THRESHOLD_B].w, s->val[OPT_THRESHOLD].w); cmd[8] = len; - + wait_ready(s->fd); status = sanei_scsi_cmd(s->fd, cmd, len + 10, 0, 0); return status; @@ -3315,7 +3315,7 @@ sane_start (SANE_Handle handle) if (status != SANE_STATUS_GOOD) return status; - s->dev->sensedat.complain_on_errors + s->dev->sensedat.complain_on_errors = COMPLAIN_ON_ADF_ERROR | s->dev->info.complain_on_errors; #ifdef HAVE_SANEI_SCSI_OPEN_EXTENDED @@ -3324,11 +3324,11 @@ sane_start (SANE_Handle handle) s->dev->info.bufsize = 32 * 1024; { int bsize = s->dev->info.bufsize; - status = sanei_scsi_open_extended (s->dev->sane.name, &s->fd, + status = sanei_scsi_open_extended (s->dev->sane.name, &s->fd, &sense_handler, &s->dev->sensedat, &bsize); s->dev->info.bufsize = bsize; } - + if (status != SANE_STATUS_GOOD) { DBG (1, "open of %s failed: %s\n", @@ -3337,10 +3337,10 @@ sane_start (SANE_Handle handle) } /* make sure that we got at least 32 kB. Even then, the scan will be - awfully slow. - + awfully slow. + NOTE: If you need to decrease this value, remember that s->buffer - is used in send_ascii_gamma_tables (JX330/JX610) and in + is used in send_ascii_gamma_tables (JX330/JX610) and in send_binary_g_table (JX250/JX350). send_ascii_gamma_tables needs 4106 bytes, and send_binary_g_table needs 522 bytes. */ @@ -3351,13 +3351,13 @@ sane_start (SANE_Handle handle) return SANE_STATUS_NO_MEM; } #else - status = sanei_scsi_open(s->dev->sane.name, &s->fd, &sense_handler, + status = sanei_scsi_open(s->dev->sane.name, &s->fd, &sense_handler, &s->dev->sensedat); if (s->dev->info.wanted_bufsize < sanei_scsi_max_request_size) s->dev->info.bufsize = s->dev->info.wanted_bufsize; else s->dev->info.bufsize = sanei_scsi_max_request_size; - + if (status != SANE_STATUS_GOOD) { DBG (1, "open of %s failed: %s\n", @@ -3415,7 +3415,7 @@ sane_start (SANE_Handle handle) DBG (5, "start: TEST_UNIT_READY\n"); status = test_unit_ready (s->fd); - + if (status != SANE_STATUS_GOOD) { DBG (1, "TEST UNIT READY failed: %s\n", sane_strstatus (status)); @@ -3462,7 +3462,7 @@ sane_start (SANE_Handle handle) s->uly = MM_TO_PIX(SANE_UNFIX(s->val[OPT_TL_Y].w), s->dev->info.mud); s->threshold = s->val[OPT_THRESHOLD].w; s->bpp = s->params.depth; - + s->adf_fsu_mode = SCAN_SIMPLE; /* default: scan without ADF and FSU */ #ifdef ALLOW_AUTO_SELECT_ADF if (strcmp (adf_fsu, use_auto) == 0) @@ -3565,7 +3565,7 @@ sane_start (SANE_Handle handle) DBG (11, "EDGE EMPHASIS BLUR\n"); s->edge = 3; } - + s->lightcolor = 3; if (strcmp(lightcolor, LIGHT_GREEN) == 0) s->lightcolor = 0; @@ -3592,7 +3592,7 @@ sane_start (SANE_Handle handle) memset (&m_subdev, 0, sizeof (m_subdev)); buf_size = sizeof (m_subdev); status = mode_sense (s->fd, &m_subdev, &buf_size, 0x20); - DBG(11, "mode sense result a_mode: %x f_mode: %x\n", + DBG(11, "mode sense result a_mode: %x f_mode: %x\n", m_subdev.a_mode_type, m_subdev.f_mode_type); if (status != SANE_STATUS_GOOD) { @@ -3601,7 +3601,7 @@ sane_start (SANE_Handle handle) s->fd = -1; return (status); } - if (s->adf_fsu_mode == SCAN_WITH_ADF) + if (s->adf_fsu_mode == SCAN_WITH_ADF) s->adf_scan = 1; #ifdef ALLOW_AUTO_SELECT_ADF else if (s->adf_fsu_mode == SCAN_ADF_FSU_AUTO) @@ -3612,7 +3612,7 @@ sane_start (SANE_Handle handle) #endif } - + #ifdef USE_CUSTOM_GAMMA if (s->val[OPT_CUSTOM_GAMMA].w == SANE_FALSE) { @@ -3639,7 +3639,7 @@ sane_start (SANE_Handle handle) } else { - /* the JX250 does not support the "fixed gamma selection", + /* the JX250 does not support the "fixed gamma selection", therefore, lets calculate & send gamma values */ int i; @@ -3684,7 +3684,7 @@ sane_start (SANE_Handle handle) s->fd = -1; return (status); } - + #ifdef USE_COLOR_THRESHOLD status = send_threshold_data(s); if (status != SANE_STATUS_GOOD) @@ -3696,9 +3696,9 @@ sane_start (SANE_Handle handle) } #endif } - + memset (&wp, 0, sizeof (wp)); - /* every Sharp scanner seems to have a different + /* every Sharp scanner seems to have a different window descriptor block... */ if ( s->dev->sensedat.model == JX610 @@ -3714,7 +3714,7 @@ sane_start (SANE_Handle handle) { buf_size = sizeof (WDB) + sizeof(WDBX330) + sizeof(WDBX250); } - + wp.wpdh.wdl[0] = buf_size >> 8; wp.wpdh.wdl[1] = buf_size; wp.wdb.x_res[0] = s->xres >> 8; @@ -3780,7 +3780,7 @@ sane_start (SANE_Handle handle) DBG (5, "bpp=%d\n", wp.wdb.bpp); DBG (5, "rif_padding=%d\n", wp.wdb.rif_padding); DBG (5, "eletu=%d\n", wp.wdb.eletu); - + #if 0 { unsigned char *p = (unsigned char*) &wp.wdb; @@ -3890,7 +3890,7 @@ sane_start (SANE_Handle handle) #ifdef USE_FORK { size_t i; - for (i = 0; i < s->dev->info.buffers; i++) + for (i = 0; i < s->dev->info.buffers; i++) s->rdr_ctl->buf_ctl[i].shm_status = SHM_EMPTY; s->read_buff = 0; s->rdr_ctl->cancel = 0; @@ -3906,7 +3906,7 @@ sane_start (SANE_Handle handle) s->reader_pid); } #endif - if (s->reader_pid == 0) + if (s->reader_pid == 0) { sigset_t ignore_set; struct SIGACTION act; @@ -3927,9 +3927,9 @@ sane_start (SANE_Handle handle) do_cancel(s); return SANE_STATUS_NO_MEM; } - + #endif /* USE_FORK */ - + DBG (1, "%d pixels per line, %d bytes, %d lines high, total %lu bytes, " "dpi=%d\n", s->params.pixels_per_line, s->params.bytes_per_line, @@ -3939,7 +3939,7 @@ sane_start (SANE_Handle handle) s->buf_used = 0; s->buf_pos = 0; - if (s->cancel == SANE_TRUE) + if (s->cancel == SANE_TRUE) { do_cancel(s); DBG (10, ">>\n"); @@ -4008,14 +4008,14 @@ sane_read_shuffled (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, DBG (10, "<< sane_read_shuffled "); *len = 0; - if (s->bytes_to_read == 0 && s->buf_pos == s->buf_used) + if (s->bytes_to_read == 0 && s->buf_pos == s->buf_used) { do_cancel (s); DBG (10, ">>\n"); return (SANE_STATUS_EOF); } - - if (!s->scanning) + + if (!s->scanning) { DBG (10, ">>\n"); return(do_cancel(s)); @@ -4026,14 +4026,14 @@ sane_read_shuffled (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, transfer = s->buf_used - s->buf_pos; if (transfer > max_len) transfer = max_len; - + memcpy(dst_buf, &(s->buffer[s->buf_pos]), transfer); s->buf_pos += transfer; max_len -= transfer; *len = transfer; } - while (max_len > 0 && s->bytes_to_read > 0) + while (max_len > 0 && s->bytes_to_read > 0) { if (eight_bit_data) { @@ -4060,7 +4060,7 @@ sane_read_shuffled (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, start_input = s->dev->info.bufsize - nread; } ntest = nread; - + #ifdef USE_FORK status = read_data (s, &(s->buffer[start_input]), &nread); #else @@ -4073,8 +4073,8 @@ sane_read_shuffled (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, DBG (10, ">>\n"); return (SANE_STATUS_IO_ERROR); } - - if (nread != ntest) + + if (nread != ntest) { /* if this happens, something is wrong in the input buffer management... @@ -4082,8 +4082,8 @@ sane_read_shuffled (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, DBG(1, "Warning: could not read an integral number of scan lines\n"); DBG(1, " image will be scrambled\n"); } - - + + s->buf_used = max_line * s->params.bytes_per_line; s->buf_pos = 0; s->bytes_to_read -= nread; @@ -4125,12 +4125,12 @@ sane_read_shuffled (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, } } } - + transfer = max_len; if (transfer > s->buf_used) transfer = s->buf_used; memcpy(&(dst_buf[*len]), s->buffer, transfer); - + max_len -= transfer; s->buf_pos += transfer; *len += transfer; @@ -4150,13 +4150,13 @@ sane_read (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, SANE_Status status; s->busy = SANE_TRUE; - if (s->cancel == SANE_TRUE) + if (s->cancel == SANE_TRUE) { do_cancel(s); *len = 0; return (SANE_STATUS_CANCELLED); } - + /* RGB scans with a JX 250 and bi-level color scans must be handled differently: */ if (s->image_composition <= 2) @@ -4167,7 +4167,7 @@ sane_read (SANE_Handle handle, SANE_Byte *dst_buf, SANE_Int max_len, status = sane_read_direct(handle, dst_buf, max_len, len); else status = sane_read_shuffled(handle, dst_buf, max_len, len, 1); - + s->busy = SANE_FALSE; if (s->cancel == SANE_TRUE) { @@ -4192,7 +4192,7 @@ sane_cancel (SANE_Handle handle) } SANE_Status -sane_set_io_mode (SANE_Handle __sane_unused__ handle, +sane_set_io_mode (SANE_Handle __sane_unused__ handle, SANE_Bool __sane_unused__ non_blocking) { DBG (10, "<< sane_set_io_mode"); @@ -4202,7 +4202,7 @@ sane_set_io_mode (SANE_Handle __sane_unused__ handle, } SANE_Status -sane_get_select_fd (SANE_Handle __sane_unused__ handle, +sane_get_select_fd (SANE_Handle __sane_unused__ handle, SANE_Int __sane_unused__ * fd) { DBG (10, "<< sane_get_select_fd"); diff --git a/backend/sharp.conf.in b/backend/sharp.conf.in index 0541240..eef72c4 100644 --- a/backend/sharp.conf.in +++ b/backend/sharp.conf.in @@ -9,7 +9,7 @@ # option readqueue: number of queued read requests. This is # with the current SANE version (1.01) only useful for # Linux, since queued read requests are not supported -# for other operating systems. +# for other operating systems. # # For Linux, a value of 2 is recommended, at least if a # JX-250 is used. Bigger values are only a waste of memory. @@ -22,8 +22,8 @@ # # option default_scan_source: valid values are "auto", "fsu", "adf" # and "flatbed". For "auto", the backend will enable an ADF or -# or FSU, if installed. -# +# or FSU, if installed. +# # global options: option buffers 4 option buffersize 131072 diff --git a/backend/sharp.h b/backend/sharp.h index 6797224..c5dad27 100644 --- a/backend/sharp.h +++ b/backend/sharp.h @@ -47,21 +47,21 @@ /* default values for configurable options. Though these options are only meaningful if USE_FORK is defined, - they are + they are DEFAULT_BUFFERS: number of buffers allocated as shared memory for the data transfer from reader_process to read_data. The minimum value is 2 DEFAULT_BUFSIZE: default size of one buffer. Must be greater than zero. - DEFAULT_QUEUED_READS: number of read requests queued by + DEFAULT_QUEUED_READS: number of read requests queued by sanei_scsi_req_enter. Since queued read requests - are currently only supported for Linux and + are currently only supported for Linux and DomainOS, this value should automatically be set dependent on the target OS... For Linux, 2 is the optimum; for DomainOS, I don't have any recommendation; other OS should use the value zero. - + The value for DEFAULT_BUFSIZE is probably too Linux-oriented... */ @@ -110,7 +110,7 @@ typedef enum OPT_LIGHTCOLOR, OPT_PREVIEW, -#ifdef USE_CUSTOM_GAMMA +#ifdef USE_CUSTOM_GAMMA OPT_GAMMA_VECTOR, OPT_GAMMA_VECTOR_R, OPT_GAMMA_VECTOR_G, @@ -123,7 +123,7 @@ SHARP_Option; #ifdef USE_FORK -/* status defines for a buffer: +/* status defines for a buffer: buffer not used / read request queued / buffer contains data */ #define SHM_EMPTY 0 @@ -150,7 +150,7 @@ typedef struct SHARP_rdr_ctl SHARP_rdr_ctl; #endif /* USE_FORK */ -typedef enum +typedef enum { /* JX250, JX330, JX350, JX610 are used as array indices, so the corresponding numbers should start at 0 @@ -187,8 +187,8 @@ typedef struct SHARP_Info int wanted_bufsize; size_t queued_reads; int complain_on_errors; - /* default scan mode: - -1 -> "automatic": Use the ADF, if installed, + /* default scan mode: + -1 -> "automatic": Use the ADF, if installed, else use the FSU, if installed. or: SCAN_ADF, SCAN_FSU, SCAN_SIMPLE */ @@ -201,14 +201,14 @@ SHARP_Info; typedef struct SHARP_Sense_Data { SHARP_Model model; - /* flag, if conditions like "paper jam" or "cover open" + /* flag, if conditions like "paper jam" or "cover open" are considered as an error. Should be 0 for attach, else a frontend might refuse to start, if the scanner returns these errors. */ int complain_on_errors; /* Linux returns only 16 bytes of sense data... */ - u_char sb[16]; + u_char sb[16]; } SHARP_Sense_Data; @@ -222,7 +222,7 @@ typedef struct SHARP_Device } SHARP_Device; -typedef struct SHARP_New_Device +typedef struct SHARP_New_Device { struct SHARP_Device *dev; struct SHARP_New_Device *next; @@ -292,7 +292,7 @@ typedef struct WPDH { u_char wpdh[6]; u_char wdl[2]; -} +} WPDH; typedef struct WDB @@ -325,7 +325,7 @@ typedef struct WDB SANE_Byte lightness_g[2]; SANE_Byte lightness_b[2]; SANE_Byte lightness_bw[2]; - + } WDB; diff --git a/backend/sm3600-color.c b/backend/sm3600-color.c index 9b3c540..2e42ada 100644 --- a/backend/sm3600-color.c +++ b/backend/sm3600-color.c @@ -171,7 +171,7 @@ TState StartScanColor(TInstance *this) this->state.cyTotalPath = this->param.y/2-(2*this->state.ySensorSkew)*600/this->param.res; DoJog(this,this->state.cyTotalPath); INST_ASSERT(); - this->state.cyTotalPath += + this->state.cyTotalPath += (this->state.cyPixel+2*this->state.ySensorSkew) *600/this->param.res; /* for jogging back */ @@ -214,7 +214,7 @@ TState StartScanColor(TInstance *this) RegWrite(this,R_SLEN, 2, this->state.cyWindow+ (2*this->state.ySensorSkew)*600/this->param.res); - this->state.szOrder=ORDER_BRG; + this->state.szOrder=ORDER_BRG; RegWrite(this,R_CCAL, 3, this->calibration.rgbBias); INST_ASSERT(); /* 0xBBGGRR */ switch (this->param.res) { @@ -294,7 +294,7 @@ TState StartScanColor(TInstance *this) } /* calculate and prepare intermediate line transfer buffer */ - + this->state.cchLineOut=3*this->state.cxPixel; this->state.pchLineOut = malloc(this->state.cchLineOut); if (!this->state.pchLineOut) @@ -310,4 +310,3 @@ TState StartScanColor(TInstance *this) this->state.bScanning = true; return SANE_STATUS_GOOD; } - diff --git a/backend/sm3600-gray.c b/backend/sm3600-gray.c index d9fda86..c5efe55 100644 --- a/backend/sm3600-gray.c +++ b/backend/sm3600-gray.c @@ -204,7 +204,7 @@ static TState ReadNextGrayLine(PTInstance this) { int iWrite; int iDot; - unsigned char chBits; + unsigned char chBits; int iRead; /* read position in raw line */ int nInterpolator; @@ -328,7 +328,7 @@ TState StartScanGray(TInstance *this) DoJog(this,this->state.cyTotalPath); INST_ASSERT(); this->state.cyTotalPath += this->param.cy/2; /* for jogging back */ - + /* regular scan is asynchronously, that is, the scanning is issued, and the driver does bulk reads, @@ -370,7 +370,7 @@ TState StartScanGray(TInstance *this) this->state.cchLineOut=(this->mode==gray) ? this->state.cxPixel : (this->state.cxPixel+7)/8; - + this->state.pchLineOut = malloc(this->state.cchLineOut); if (!this->state.pchLineOut) return FreeState(this,SetError(this, @@ -386,4 +386,3 @@ TState StartScanGray(TInstance *this) this->state.bScanning = true; return SANE_STATUS_GOOD; } - diff --git a/backend/sm3600-homerun.c b/backend/sm3600-homerun.c index fe647ef..b77a76e 100644 --- a/backend/sm3600-homerun.c +++ b/backend/sm3600-homerun.c @@ -67,7 +67,7 @@ typedef enum { ltHome, ltUnknown, ltBed, ltError } TLineType; static unsigned char auchRegsSingleLine[]={ 0x00 /*0x01*/, 0x00 /*0x02*/, 0x3F /*0x03*/, - 0xB4 /*!!0x04!!*/, 0x14 /*!!0x05!!*/, 0,0, + 0xB4 /*!!0x04!!*/, 0x14 /*!!0x05!!*/, 0,0, 0x00 /*0x08*/, 0x3F /*!!0x09!!*/, 1,0, 0x6D /*0x0C*/, @@ -119,7 +119,7 @@ static TLineType GetLineType(TInstance *this) RegWrite(this,R_CTL, 1, 0x59); /* #2496[062.5] */ RegWrite(this,R_CTL, 1, 0xD9); /* #2497[062.5] */ i=WaitWhileScanning(this,5); if (i) return i; - + cchBulk=MAX_PIXEL_PER_SCANLINE; /* cchBulk=RegRead(this,R_STAT, 2); @@ -298,7 +298,7 @@ TState DoCalibration(TInstance *this) case sm3750: default: yStart=100; /* 54 is perimeter */ - cStripes=MAX_CALIB_STRIPES; + cStripes=MAX_CALIB_STRIPES; cyGap=10; break; } /* switch */ @@ -359,7 +359,7 @@ TState DoCalibration(TInstance *this) this->calibration.achStripeY[i]=(unsigned char) ((2*(int)auchHanning[i]+auchHanning[i-1]+auchHanning[i+1])/4); #endif - + DoJog(this,-yStart-cStripes*cyGap); INST_ASSERT(); this->calibration.bCalibrated=true; @@ -496,4 +496,3 @@ TState DoJog(TInstance *this, int nDistance) usleep(100); return WaitWhileBusy(this,1000); /* thanks Mattias Ellert */ } - diff --git a/backend/sm3600-scanusb.c b/backend/sm3600-scanusb.c index 3ca9a8a..7ae90d3 100644 --- a/backend/sm3600-scanusb.c +++ b/backend/sm3600-scanusb.c @@ -61,7 +61,7 @@ TransferControlMsg() static int TransferControlMsg(TInstance *this, int nReqType, - int nRequest, + int nRequest, int nValue, int nIndex, void *pBuffer, @@ -302,7 +302,7 @@ int BulkRead(TInstance *this, FILE *fhOut, unsigned int cchBulk) { int cchChunk; int cchReal; - + cchChunk=cchBulk; if (cchChunk>0x1000) cchChunk=0x1000; @@ -366,7 +366,7 @@ int BulkReadBuffer(TInstance *this, { int cchChunk; int cchReal; - + cchChunk=cchBulk; if (cchChunk>0x1000) cchChunk=0x1000; @@ -391,7 +391,7 @@ int BulkReadBuffer(TInstance *this, ); } dprintf(DEBUG_COMM,"writing %d bytes\n",cchRead); - + if (!rc && puchBufferOut) memcpy(puchBufferOut,pchBuffer,cchRead); free(pchBuffer); @@ -440,4 +440,3 @@ unsigned int RegRead(TInstance *this, int iRegister, int cch) SetError(this,SANE_STATUS_IO_ERROR,"error during register read"); return 0; } - diff --git a/backend/sm3600-scanutil.c b/backend/sm3600-scanutil.c index 62ba0f1..022984e 100644 --- a/backend/sm3600-scanutil.c +++ b/backend/sm3600-scanutil.c @@ -97,7 +97,7 @@ int SetError(TInstance *this, int nError, const char *szFormat, ...) if (this->nErrorState) return 0; /* do not overwrite error state */ this->nErrorState=nError; this->szErrorReason=malloc(500); - + if (szFormat!=NULL && this->szErrorReason) { va_start(ap,szFormat); @@ -200,7 +200,7 @@ TState CancelScan(TInstance *this) usleep(200); DoReset(this); EndScan(this); /* and step back! */ - + DBG(DEBUG_JUNK,"cs4: %d\n",(int)this->nErrorState); bCanceled=this->state.bCanceled; this->state.bCanceled=false; /* re-enable Origination! */ diff --git a/backend/sm3600.c b/backend/sm3600.c index 908e8be..6e411c3 100644 --- a/backend/sm3600.c +++ b/backend/sm3600.c @@ -180,7 +180,7 @@ InitOptions(TInstance *this) Some hints: *every* field needs a constraint, elseway there will be a warning. */ - + switch (iOpt) { case optCount: @@ -353,8 +353,8 @@ RegisterSaneDev (TModel model, SANE_String_Const szName) return SANE_STATUS_GOOD; } - -static SANE_Status + +static SANE_Status sm_usb_attach (SANE_String_Const dev_name) { int fd; @@ -398,9 +398,9 @@ sane_init (SANE_Int *version_code, SANE_Auth_Callback authCB) } pdevFirst=NULL; - + sanei_usb_init(); - for (i = 0; aScanners[i].idProduct; i++) + for (i = 0; aScanners[i].idProduct; i++) { sanei_usb_find_devices(SCANNER_VENDOR, aScanners[i].idProduct, sm_usb_attach); } @@ -417,7 +417,7 @@ sane_exit (void) /* free all bound resources and instances */ while (pinstFirst) sane_close((SANE_Handle)pinstFirst); /* free all resources */ - + /* free all device descriptors */ for (dev = pdevFirst; dev; dev = pNext) { @@ -511,7 +511,7 @@ sane_close (SANE_Handle handle) if (p==this) break; pParent=p; } - + if (!p) { DBG(1,"invalid handle in close()\n"); @@ -545,7 +545,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int iOpt) SANE_Status sane_control_option (SANE_Handle handle, SANE_Int iOpt, - SANE_Action action, void *pVal, + SANE_Action action, void *pVal, SANE_Int *pnInfo) { SANE_Word cap; @@ -562,7 +562,7 @@ sane_control_option (SANE_Handle handle, SANE_Int iOpt, return SANE_STATUS_INVAL; cap=this->aoptDesc[iOpt].cap; - + switch (action) { @@ -699,7 +699,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters *p) p->depth=1; p->bytes_per_line=(p->pixels_per_line+7)/8; break; - } + } DBG(DEBUG_INFO,"getting parameters (%d,%d)...\n",p->bytes_per_line,p->lines); return SANE_STATUS_GOOD; } diff --git a/backend/snapscan-data.c b/backend/snapscan-data.c index 1fd1a53..6a20499 100644 --- a/backend/snapscan-data.c +++ b/backend/snapscan-data.c @@ -41,14 +41,14 @@ If you do not wish that, delete this exception notice. This file contains static calibration data for the Benq 5150C scanner. - Once it is known how calibration for this scanner works this file + Once it is known how calibration for this scanner works this file becomes obsolete. */ /* $Id$ SANE SnapScan backend */ - + static const SANE_Byte calibration_data_5150[] = { 0x78,0x01,0xcc,0x47,0xca,0x53,0xcd,0x4a,0xd0,0x57,0xd5,0x46,0xda,0x56,0xdd,0x49, diff --git a/backend/snapscan-mutex.c b/backend/snapscan-mutex.c index ad0538a..72b8fe1 100644 --- a/backend/snapscan-mutex.c +++ b/backend/snapscan-mutex.c @@ -1,8 +1,8 @@ /* Mutex implementation for SnapScan backend - + Copyright (C) 2000, 2004 Henrik Johansson, Oliver Schwartz - + 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 @@ -38,7 +38,7 @@ 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.*/ - + #if defined __BEOS__ #include @@ -122,14 +122,14 @@ static unsigned int snapscani_bernstein(const unsigned char* str) { unsigned int hash = 5381; /* some arbitrary number */ int c; - + while (*str) { - c = *str++; + c = *str++; hash = ((hash << 5) + hash) + c; } return hash; -} +} static int snapscani_mutex_open(snapscan_mutex_t* sem_id, const char* dev) { diff --git a/backend/snapscan-options.c b/backend/snapscan-options.c index 52fee81..3ef85ae 100644 --- a/backend/snapscan-options.c +++ b/backend/snapscan-options.c @@ -232,23 +232,23 @@ static const SANE_Range focus_range = static const SANE_Range brightness_range = { - -400 << SANE_FIXED_SCALE_SHIFT, - 400 << SANE_FIXED_SCALE_SHIFT, - 1 << SANE_FIXED_SCALE_SHIFT + SANE_FIX(-400), + SANE_FIX(400), + SANE_FIX(1) }; static const SANE_Range contrast_range = { - -100 << SANE_FIXED_SCALE_SHIFT, - 400 << SANE_FIXED_SCALE_SHIFT, - 1 << SANE_FIXED_SCALE_SHIFT + SANE_FIX(-100), + SANE_FIX(400), + SANE_FIX(1) }; static const SANE_Range positive_percent_range = { - 0 << SANE_FIXED_SCALE_SHIFT, - 100 << SANE_FIXED_SCALE_SHIFT, - 1 << SANE_FIXED_SCALE_SHIFT + SANE_FIX(0), + SANE_FIX(100), + SANE_FIX(1) }; static void control_options(SnapScan_Scanner *pss); diff --git a/backend/snapscan-scsi.c b/backend/snapscan-scsi.c index 861ff32..b6e43a1 100644 --- a/backend/snapscan-scsi.c +++ b/backend/snapscan-scsi.c @@ -80,9 +80,9 @@ static SnapScan_Model snapscani_get_model_id(char* model_str, int fd, SnapScan_B if ((bus_type == USB) && (sanei_usb_get_vendor_product(fd, &vendor_id, &product_id) == SANE_STATUS_GOOD)) { - DBG(DL_MINOR_INFO, + DBG(DL_MINOR_INFO, "%s: looking up scanner for ID 0x%04x,0x%04x.\n", - me, vendor_id, product_id); + me, vendor_id, product_id); for (i = 0; i < known_usb_scanners; i++) { if ((usb_scanners[i].vendor_id == vendor_id) && @@ -1320,7 +1320,7 @@ static SANE_Status wait_scanner_ready (SnapScan_Scanner *pss) else { /* This seems to happen for Epson scanners. Return - SANE_STATUS_GOOD and hope the scanner accepts the + SANE_STATUS_GOOD and hope the scanner accepts the next command... */ DBG (DL_CALL_TRACE, "%s: No timeout specified, returning immediately\n", me); return SANE_STATUS_GOOD; diff --git a/backend/snapscan-sources.c b/backend/snapscan-sources.c index dc78394..e8bbb90 100644 --- a/backend/snapscan-sources.c +++ b/backend/snapscan-sources.c @@ -238,7 +238,7 @@ typedef struct static SANE_Int FDSource_remaining (Source *pself) { - FDSource *ps = (FDSource *) pself; + FDSource *ps = (FDSource *) pself; return ps->bytes_remaining; } @@ -660,19 +660,19 @@ static SANE_Status create_Expander (SnapScan_Scanner *pss, return status; } -/* +/* This filter implements a fix for scanners that have some columns of pixels offset. Currently it only shifts every other column starting with the first one down ch_offset pixels. - + The Deinterlacer detects if data is in SANE RGB frame format (3 bytes/pixel) or in Grayscale (1 byte/pixel). - + The first ch_offset lines of data in the output are fudged so that even indexed add odd indexed pixels will have the same value. This is necessary because - the real pixel values of the columns that are shifted down are not + the real pixel values of the columns that are shifted down are not in the data for the first ch_offset lines. A better way to handle this would be to - scan in ch_offset extra lines of data, but I haven't figured out how to do this + scan in ch_offset extra lines of data, but I haven't figured out how to do this yet. */ @@ -707,7 +707,7 @@ static SANE_Status Deinterlacer_get (Source *pself, SANE_Byte *pbuf, SANE_Int *p SANE_Int remaining = *plen; SANE_Int org_len = *plen; char *me = "Deinterlacer_get"; - + DBG(DL_DATA_TRACE, "%s: remaining=%d, pself->remaining=%d, ch_ndata=%d, ch_pos=%d\n", me, remaining, pself->remaining(pself), ps->ch_ndata, ps->ch_pos); @@ -784,8 +784,8 @@ static SANE_Status Deinterlacer_get (Source *pself, SANE_Byte *pbuf, SANE_Int *p *pbuf = ps->ch_buf[(ps->ch_pos + (ps->ch_line_size)) % ps->ch_size]; }else{ /* Use data from the next pixel for even indexed pixels - if we are on the first few lines. - TODO: also we will overread the buffer if the buffer read ended + if we are on the first few lines. + TODO: also we will overread the buffer if the buffer read ended on the first pixel. */ if (ps->ch_pos % (ps->ch_line_size) == 0 ) *pbuf = ps->ch_buf[ps->ch_pos+ps->ch_bytes_per_pixel]; @@ -807,7 +807,7 @@ static SANE_Status Deinterlacer_get (Source *pself, SANE_Byte *pbuf, SANE_Int *p } *plen -= remaining; - + DBG(DL_DATA_TRACE, "%s: Request=%d, remaining=%d, read=%d, TXSource_rem=%d, bytes_rem=%lu\n", me, @@ -815,7 +815,7 @@ static SANE_Status Deinterlacer_get (Source *pself, SANE_Byte *pbuf, SANE_Int *p pself->remaining(pself), *plen, TxSource_remaining(pself), - (u_long) ps->pss->bytes_remaining); + (u_long) ps->pss->bytes_remaining); return status; } @@ -859,7 +859,7 @@ static SANE_Status Deinterlacer_init (Deinterlacer *pself, break; } pself->ch_line_size = TxSource_bytesPerLine((Source *) pself); - /* We need at least ch_offset+1 lines of buffer in order + /* We need at least ch_offset+1 lines of buffer in order to shift up ch_offset pixels. */ pself->ch_size = pself->ch_line_size * (pself->ch_offset + 1); pself->ch_buf = (SANE_Byte *) malloc(pself->ch_size); @@ -1216,10 +1216,10 @@ static SANE_Status create_source_chain (SnapScan_Scanner *pss, { case MD_COLOUR: status = create_RGBRouter (pss, *pps, pps); - /* We only have the interlace probelms on - some scanners like the Epson Perfection 2480/2580 + /* We only have the interlace probelms on + some scanners like the Epson Perfection 2480/2580 at 2400 dpi. */ - if (status == SANE_STATUS_GOOD && + if (status == SANE_STATUS_GOOD && ((pss->pdev->model == PERFECTION2480 && pss->res == 2400) || (pss->pdev->model == PERFECTION3490 && pss->res == 3200) || (pss->pdev->model == PRISA5000E && pss->res == 1200))) @@ -1229,7 +1229,7 @@ static SANE_Status create_source_chain (SnapScan_Scanner *pss, status = create_Expander (pss, *pps, pps); if (status == SANE_STATUS_GOOD) status = create_RGBRouter (pss, *pps, pps); - if (status == SANE_STATUS_GOOD && + if (status == SANE_STATUS_GOOD && ((pss->pdev->model == PERFECTION2480 && pss->res == 2400) || (pss->pdev->model == PERFECTION3490 && pss->res == 3200) || (pss->pdev->model == PRISA5000E && pss->res == 1200))) diff --git a/backend/snapscan-sources.h b/backend/snapscan-sources.h index a5ed3df..595b48b 100644 --- a/backend/snapscan-sources.h +++ b/backend/snapscan-sources.h @@ -1,48 +1,48 @@ /* sane - Scanner Access Now Easy. - + Copyright (C) 1997, 1998 Franck Schnefra, Michel Roelofs, Emmanuel Blot, Mikko Tyolajarvi, David Mosberger-Tang, Wolfgang Goeller, Petter Reinholdtsen, Gary Plewa, Sebastien Sable, Oliver Schwartz and Kevin Charter - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. - + This file is a component of the implementation of a backend for many of the AGFA SnapScan and Acer Vuego/Prisa flatbed scanners. */ diff --git a/backend/snapscan-usb.c b/backend/snapscan-usb.c index ec6a53e..116f9db 100644 --- a/backend/snapscan-usb.c +++ b/backend/snapscan-usb.c @@ -1,8 +1,8 @@ /* Snapscan 1212U modifications for the Snapscan SANE backend - + Copyright (C) 2000 Henrik Johansson - + Henrik Johansson (henrikjo@post.urfors.se) This program is free software; you can redistribute it and/or @@ -43,7 +43,7 @@ This file implements USB equivalents to the SCSI routines used by the Snapscan backend. - + History 0.1 2000-02-01 @@ -174,7 +174,7 @@ static SANE_Status snapscani_usb_open(const char *dev, int *fdp, usb_sense_handler=sense_handler; usb_pss = pss; urb_counters->read_urbs = 0; - urb_counters->write_urbs = 0; + urb_counters->write_urbs = 0; return sanei_usb_open(dev, fdp); } @@ -182,13 +182,13 @@ static SANE_Status snapscani_usb_open(const char *dev, int *fdp, static void snapscani_usb_close(int fd) { static const char me[] = "snapscani_usb_close"; SANE_Word vendor_id, product_id; - + DBG (DL_CALL_TRACE, "%s(%d)\n", me, fd); DBG (DL_DATA_TRACE,"1st read %ld write %ld\n", urb_counters->read_urbs, urb_counters->write_urbs); - + /* Check if URB counting is needed. If yes, ensure the number of sent and received URBs is even. - Odd number of URBs only cause problems with libusb and certain + Odd number of URBs only cause problems with libusb and certain scanner models. On other scanner models, sending additional commands seems to cause problems (e.g. 1212u_2). If sanei_usb_get_vendor_product returns an error there's probably no @@ -197,12 +197,12 @@ static void snapscani_usb_close(int fd) { if (sanei_usb_get_vendor_product(fd, &vendor_id, &product_id) == SANE_STATUS_GOOD) { /* Exclude 1212u_2 */ - if (!((vendor_id == USB_VENDOR_AGFA) && (product_id == USB_PRODUCT_1212U2))) + if (!((vendor_id == USB_VENDOR_AGFA) && (product_id == USB_PRODUCT_1212U2))) { if ((urb_counters->read_urbs & 0x01) && (urb_counters->write_urbs & 0x01)) { char cmd[] = {TEST_UNIT_READY, 0, 0, 0, 0, 0}; - + snapscani_usb_cmd (fd, cmd, sizeof (cmd), NULL, 0); } else if (urb_counters->read_urbs & 0x01) @@ -211,7 +211,7 @@ static void snapscani_usb_close(int fd) { char cmd[] = {TEST_UNIT_READY, 0, 0, 0, 0, 0}; char cmd2[] = {INQUIRY, 0, 0, 0, 120, 0}; char data[120]; - + read_bytes = 120; snapscani_usb_cmd (fd, cmd2, sizeof (cmd2), data, &read_bytes); snapscani_usb_cmd (fd, cmd, sizeof (cmd), NULL, 0); @@ -221,11 +221,11 @@ static void snapscani_usb_close(int fd) { size_t read_bytes; char cmd[] = {INQUIRY, 0, 0, 0, 120, 0}; char data[120]; - + read_bytes = 120; snapscani_usb_cmd (fd, cmd, sizeof (cmd), data, &read_bytes); } - DBG (DL_DATA_TRACE,"2nd read %ld write %ld\n", urb_counters->read_urbs, + DBG (DL_DATA_TRACE,"2nd read %ld write %ld\n", urb_counters->read_urbs, urb_counters->write_urbs); } } @@ -302,7 +302,7 @@ static SANE_Status usb_read(SANE_Int fd, void *buf, size_t n) { DBG (DL_MAJOR_ERROR, "%s Only %lu bytes read\n",me, (u_long) bytes_read); status = SANE_STATUS_IO_ERROR; } - urb_counters->read_urbs += ((63 + bytes_read) / 64); + urb_counters->read_urbs += ((63 + bytes_read) / 64); DBG(DL_DATA_TRACE, "%s: reading: %s\n",me,usb_debug_data(dbgmsg,buf,n)); DBG(DL_DATA_TRACE, "Read %lu bytes\n", (u_long) bytes_read); return status; @@ -521,7 +521,7 @@ static SANE_Status snapscani_usb_shm_init(void) } memset(urb_counters, 0, shm_size); return SANE_STATUS_GOOD; - + } static void snapscani_usb_shm_exit(void) @@ -546,7 +546,7 @@ static SANE_Status snapscani_usb_shm_init(void) strerror (errno)); return SANE_STATUS_NO_MEM; } - + shm_area = shmat (shm_id, NULL, 0); if (shm_area == (void *) -1) { @@ -555,7 +555,7 @@ static SANE_Status snapscani_usb_shm_init(void) shmctl (shm_id, IPC_RMID, NULL); return SANE_STATUS_NO_MEM; } - + if (shmctl (shm_id, IPC_RMID, NULL) == -1) { DBG (DL_MAJOR_ERROR, "snapscani_usb_shm_init: cannot remove shared memory segment id: %s\n", @@ -653,4 +653,3 @@ static void snapscani_usb_shm_exit(void) * - Change copyright notice * * */ - diff --git a/backend/snapscan.c b/backend/snapscan.c index c88537b..b93f1f7 100644 --- a/backend/snapscan.c +++ b/backend/snapscan.c @@ -1286,7 +1286,7 @@ static SANE_Status start_reader (SnapScan_Scanner *pss) pss->nonblocking = SANE_FALSE; pss->rpipe[0] = pss->rpipe[1] = -1; - pss->child = -1; + sanei_thread_initialize (pss->child); if (pipe (pss->rpipe) != -1) { @@ -1812,7 +1812,7 @@ SANE_Status sane_read (SANE_Handle h, if (sanei_thread_is_valid (pss->child)) { sanei_thread_waitpid (pss->child, 0); /* ensure no zombies */ - pss->child = -1; + sanei_thread_invalidate (pss->child); } release_unit (pss); close_scanner (pss); @@ -1871,7 +1871,7 @@ void sane_cancel (SANE_Handle h) /* signal the reader, if any */ if (sanei_thread_is_valid (pss->child)) { - DBG( DL_INFO, ">>>>>>>> killing reader_process <<<<<<<<\n" ); + DBG( DL_INFO, "---- killing reader_process ----\n" ); sigemptyset(&(act.sa_mask)); act.sa_flags = 0; @@ -1904,7 +1904,7 @@ void sane_cancel (SANE_Handle h) sanei_thread_sendsig( pss->child, SIGKILL ); #endif } - pss->child = -1; + sanei_thread_invalidate( pss->child ); DBG( DL_INFO,"reader_process killed\n"); } release_unit (pss); diff --git a/backend/sp15c-scsi.h b/backend/sp15c-scsi.h index 4babc8b..13553a2 100644 --- a/backend/sp15c-scsi.h +++ b/backend/sp15c-scsi.h @@ -1,7 +1,6 @@ #ifndef SP15C_SCSI_H #define SP15C_SCSI_H -static const char RCSid_sh[] = "$Header$"; /* sane - Scanner Access Now Easy. This file is part of the SANE package. diff --git a/backend/sp15c.c b/backend/sp15c.c index 0cabed8..20b2c80 100644 --- a/backend/sp15c.c +++ b/backend/sp15c.c @@ -1,4 +1,3 @@ -static const char RCSid[] = "$Header$"; /* sane - Scanner Access Now Easy. This file is part of the SANE package. @@ -313,7 +312,7 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) { struct sp15c *dev; int i; - + local_only = local_only; /* silence compilation warnings */ DBG (10, "sane_get_devices\n"); @@ -392,7 +391,7 @@ sane_open (SANE_String_Const name, SANE_Handle * handle) SANE_Status sane_set_io_mode (SANE_Handle h, SANE_Bool non_blocking) { - h = h; + h = h; non_blocking = non_blocking; /* silence compilation warnings */ DBG (10, "sane_set_io_mode\n"); @@ -989,7 +988,7 @@ sane_exit (void) free (dev->buffer); free (dev); } - + if (devlist) free (devlist); } /* sane_exit */ @@ -1322,7 +1321,7 @@ static SANE_Status sp15c_do_inquiry (struct sp15c *s) { static SANE_Status ret; - + DBG (10, "do_inquiry\n"); memset (s->buffer, '\0', 256); /* clear buffer */ @@ -1606,7 +1605,7 @@ sp15c_free_scanner (struct sp15c *s) if (ret) return ret; #endif - + wait_scanner (s); ret = do_scsi_cmd (s->sfd, release_unitB.cmd, release_unitB.size, NULL, 0); @@ -1626,7 +1625,7 @@ sp15c_free_scanner (struct sp15c *s) * GOOD * RESERVE UNIT * GOOD - * + * * It is then responsible for installing appropriate signal handlers * to call emergency_give_scanner() if user aborts. */ @@ -1647,7 +1646,7 @@ sp15c_grab_scanner (struct sp15c *s) return 0; } /* sp15c_grab_scanner */ -/* +/* * wait_scanner spins until TEST_UNIT_READY returns 0 (GOOD) * returns 0 on success, * returns -1 on error or timeout @@ -1770,7 +1769,7 @@ do_cancel (struct sp15c *scanner) sanei_thread_kill (scanner->reader_pid); DBG (50, "wait for scanner to stop\n"); sanei_thread_waitpid (scanner->reader_pid, &exit_status); - scanner->reader_pid = -1; + sanei_thread_invalidate (scanner->reader_pid); } if (scanner->sfd >= 0) @@ -1788,7 +1787,7 @@ static void swap_res (struct sp15c *s) { s = s; /* silence compilation warnings */ - + /* for the time being, do nothing */ } /* swap_res */ @@ -1820,7 +1819,7 @@ sp15c_set_window_param (struct sp15c *s, int prescan) int active_buffer_size; prescan = prescan; /* silence compilation warnings */ - + wait_scanner (s); DBG (10, "set_window_param\n"); memset (buffer_r, '\0', WDB_size_max); /* clear buffer */ @@ -1979,7 +1978,7 @@ reader_process (void *data) DBG (10, "reader_process started\n"); - if (sanei_thread_is_forked ()) + if (sanei_thread_is_forked ()) close (scanner->pipe); sigfillset (&ignore_set); diff --git a/backend/sp15c.h b/backend/sp15c.h index e078316..f4b0b7f 100644 --- a/backend/sp15c.h +++ b/backend/sp15c.h @@ -1,7 +1,6 @@ #ifndef SP15C_H #define SP15C_H -static const char RCSid_h[] = "$Header$"; /* sane - Scanner Access Now Easy. This file is part of the SANE package. diff --git a/backend/st400.c b/backend/st400.c index b8ee6d1..16c7f9f 100644 --- a/backend/st400.c +++ b/backend/st400.c @@ -1201,7 +1201,7 @@ sane_cancel( SANE_Handle handle ) #if 0 st400_stop_scan(dev->fd); #endif - if( st400_light_delay ) + if( st400_light_delay ) st400_light_off(dev->fd); st400_release(dev->fd); sanei_scsi_close(dev->fd); diff --git a/backend/stubs.c b/backend/stubs.c index 3fb5ce3..a8afd3e 100644 --- a/backend/stubs.c +++ b/backend/stubs.c @@ -5,6 +5,10 @@ /* Now define the wrappers (we could use aliases here, but go for robustness for now...: */ +#ifdef __cplusplus +extern "C" { +#endif + SANE_Status sane_init (SANE_Int *vc, SANE_Auth_Callback cb) { @@ -83,3 +87,7 @@ sane_exit (void) { ENTRY(exit) (); } + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/backend/stv680.c b/backend/stv680.c index 15a8472..8d2fda3 100644 --- a/backend/stv680.c +++ b/backend/stv680.c @@ -2,10 +2,10 @@ Copyright (C) 2004 - 2006 Gerard Klaver - The teco2 and gl646 backend (Frank Zago) are used as a template for + The teco2 and gl646 backend (Frank Zago) are used as a template for this backend. - For the usb commands and bayer decoding parts of the following + For the usb commands and bayer decoding parts of the following program are used: The pencam2 program (GNU GPL license 2) @@ -13,22 +13,22 @@ The libgphoto2 (camlib stv0680) (GNU GPL license 2) The stv680.c/.h kernel module (GNU GPL license 2) - For the stv680_add_text routine the add_text routine and font_6x11.h file + For the stv680_add_text routine the add_text routine and font_6x11.h file are taken from the webcam.c file, part of xawtv program, (c) 1998-2002 Gerd Knorr (GNU GPL license 2). 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, @@ -54,7 +54,7 @@ . . - sane_start() : start image acquisition . . - sane_get_parameters() : returns actual scan parameters . . - sane_read() : read image data (from pipe) - . . (sane_read called multiple times; + . . (sane_read called multiple times; . . after sane_read returns EOF) . . go back to sane_start() if more frames desired . . - sane_cancel() : cancel operation @@ -559,7 +559,7 @@ stv680_identify_vidcam (Stv680_Vidcam * dev) "stv680_vidcam_init: STV680 FAILED to set configure\n"); return status; } - */ + */ sizer = 0x02; status = sanei_usb_control_msg (dev->fd, 0xc1, 0x88, 0x5678, 0, sizer, @@ -1180,7 +1180,7 @@ stv680_fill_image (Stv680_Vidcam * dev) /* i = stv_sndctrl (0, dev, 0x80, 0, &window, 0x02); *//* Get Last Error */ /* DBG (DBG_proc, "STV(i): last error: %i, command = 0x%x", window[0], window[1]); return -1; */ -/* +/* } return 0; */ @@ -1315,9 +1315,9 @@ stv680_bayer_unshuffle (Stv680_Vidcam * dev, SANE_Byte * buf, size_t * size) } /* for y */ /****** gamma correction plus hardcoded white balance */ - /* Correction values red[], green[], blue[], are generated by - (pow(i/256.0, GAMMA)*255.0)*white balanceRGB where GAMMA=0.55, 1scan_mode == STV680_COLOR_RGB || dev->scan_mode == STV680_COLOR_RGB_TEXT) diff --git a/backend/stv680.h b/backend/stv680.h index e08976b..a4f5fbe 100644 --- a/backend/stv680.h +++ b/backend/stv680.h @@ -2,10 +2,10 @@ Copyright (C) 2004 -2006 Gerard Klaver (gerard at gkall dot hobby dot nl) - The teco2 and gl646 backend (Frank Zago) are used as a template for + The teco2 and gl646 backend (Frank Zago) are used as a template for this backend. - - For the usb commands and bayer decoding parts of the following + + For the usb commands and bayer decoding parts of the following program are used: The pencam2 program (GNU GPL license 2) @@ -13,7 +13,7 @@ The libgphoto2 (camlib stv0680) (GNU GPL license 2) The stv680.c/.h kernel module (GNU GPL license 2) - For the stv680_add_text routine the add_text routine and font_6x11.h file + For the stv680_add_text routine the add_text routine and font_6x11.h file are taken from the webcam.c file, part of xawtv program, (c) 1998-2002 Gerd Knorr (GNU GPL license 2). @@ -36,7 +36,7 @@ --------------------------------------------------------------------- */ -/* +/* $Id$ update 20-04-2006*/ @@ -94,8 +94,8 @@ enum Stv680_Option /*--------------------------------------------------------------------------*/ -/* - * Video Camera supported by this backend. +/* + * Video Camera supported by this backend. */ struct vidcam_hardware { @@ -207,7 +207,7 @@ Stv680_Vidcam; /*--------------------------------------------------------------------------*/ -/* Debug levels. +/* Debug levels. * Should be common to all backends. */ #define DBG_error0 0 diff --git a/backend/tamarack.c b/backend/tamarack.c index 6fc259f..feb9ee1 100644 --- a/backend/tamarack.c +++ b/backend/tamarack.c @@ -23,8 +23,8 @@ exception gives you, Please do contact me, and we'll work something out. - R.E.Wolff@BitWizard.nl - tel: +31-152137555 + R.E.Wolff@BitWizard.nl + tel: +31-152137555 fax: +31-152138217 This file implements a SANE backend for Tamarack flatbed scanners. */ @@ -92,16 +92,18 @@ static const SANE_String_Const mode_list[] = }; +#if 0 static const SANE_Range u8_range = { 0, /* minimum */ 255, /* maximum */ 0 /* quantization */ }; +#endif /* David used " 100 << SANE_FIXED_SCALE_SHIFT ". This assumes that - * it is implemented that way. I want to hide the datatype. + * it is implemented that way. I want to hide the datatype. */ static const SANE_Range percentage_range = { @@ -111,7 +113,7 @@ static const SANE_Range percentage_range = }; /* David used " 100 << SANE_FIXED_SCALE_SHIFT ". This assumes that - * it is implemented that way. I want to hide the datatype. + * it is implemented that way. I want to hide the datatype. */ static const SANE_Range abs_percentage_range = { @@ -139,7 +141,7 @@ static const uint8_t stop[] = static const uint8_t get_status[] = { - TAMARACK_SCSI_GET_DATA_STATUS, 0x00, 0x00, 0x00, 0x00, 0x00, + TAMARACK_SCSI_GET_DATA_STATUS, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00 }; @@ -250,17 +252,17 @@ attach (const char *devname, Tamarack_Device **devp) mfg = strdup (result+8); DBG(1, "attach: Inquiry gives mfg=%s, model=%s.\n", mfg, model); - + if (strcmp (mfg, "TAMARACK") != 0) { DBG(1, "attach: device doesn't look like a Tamarack scanner " "(result[0]=%#02x)\n", result[0]); return SANE_STATUS_INVAL; } - + dev = malloc (sizeof (*dev)); if (!dev) return SANE_STATUS_NO_MEM; - + memset (dev, 0, sizeof (*dev)); dev->sane.name = strdup (devname); @@ -333,7 +335,7 @@ scan_area_and_windows (Tamarack_Scanner *s) memset (&dwp,'\0',sizeof (dwp)); dwp.dwph.opc = TAMARACK_SCSI_AREA_AND_WINDOWS; - set_triple (dwp.dwph.len,8 + sizeof (dwp.wdb)); + set_triple (dwp.dwph.len,8 + sizeof (dwp.wdb)); set_double (dwp.wdh.wpll, sizeof (dwp.wdb)); @@ -343,7 +345,7 @@ scan_area_and_windows (Tamarack_Scanner *s) set_quad (dwp.wdb.ulx, (int) (47.2 * SANE_UNFIX (s->val[OPT_TL_X].w))); set_quad (dwp.wdb.uly, (int) (47.2 * SANE_UNFIX (s->val[OPT_TL_Y].w))); - set_quad (dwp.wdb.width, + set_quad (dwp.wdb.width, (int) (47.2 * SANE_UNFIX (s->val[OPT_BR_X].w - s->val[OPT_TL_X].w))); set_quad (dwp.wdb.length, (int) (47.2 * SANE_UNFIX (s->val[OPT_BR_Y].w - s->val[OPT_TL_Y].w))); @@ -357,7 +359,7 @@ scan_area_and_windows (Tamarack_Scanner *s) case THRESHOLDED: dwp.wdb.bpp = 1; dwp.wdb.image_comp = 0; - dwp.wdb.thresh = 1 + 2.55 * (SANE_UNFIX (s->val[OPT_THRESHOLD].w)); + dwp.wdb.thresh = 1 + 2.55 * (SANE_UNFIX (s->val[OPT_THRESHOLD].w)); break; case DITHERED: dwp.wdb.bpp = 1; @@ -375,7 +377,7 @@ scan_area_and_windows (Tamarack_Scanner *s) DBG(1, "Invalid mode. %d\n", s->mode); return SANE_STATUS_INVAL; } - DBG(1, "bright, thresh, contrast = %d(%5.1f), %d, %d(%5.1f)\n", + DBG(1, "bright, thresh, contrast = %d(%5.1f), %d, %d(%5.1f)\n", dwp.wdb.brightness, SANE_UNFIX (s->val[OPT_BRIGHTNESS].w), dwp.wdb.thresh , dwp.wdb.contrast , SANE_UNFIX (s->val[OPT_CONTRAST].w)); @@ -399,7 +401,7 @@ mode_select (Tamarack_Scanner *s) struct tamarack_page page; } c; - memset (&c, '\0', sizeof (c)); + memset (&c, '\0', sizeof (c)); c.cmd.opc = TAMARACK_SCSI_MODE_SELECT; c.cmd.pad0[0] = 0x10; /* Suddenly the pad bytes are no long pad... */ c.cmd.pad0[1] = 0; @@ -412,7 +414,7 @@ mode_select (Tamarack_Scanner *s) case THRESHOLDED: case DITHERED: case GREYSCALE: - c.page.masks = 0x80; + c.page.masks = 0x80; break; case TRUECOLOR: c.page.masks = 0x40 >> s->pass; @@ -431,7 +433,7 @@ start_scan (Tamarack_Scanner *s) struct command_header cmd; unsigned char winid[1]; } c; - + memset (&c,'\0',sizeof (c)); c.cmd.opc = TAMARACK_SCSI_START_STOP; c.cmd.len = sizeof (c.winid); @@ -442,9 +444,9 @@ start_scan (Tamarack_Scanner *s) static SANE_Status stop_scan (Tamarack_Scanner *s) -{ +{ /* XXX I don't think a TAMARACK can stop in mid-scan. Just stop - sending it requests for data.... + sending it requests for data.... */ return sanei_scsi_cmd (s->fd, stop, sizeof (stop), 0, 0); } @@ -477,7 +479,7 @@ do_cancel (Tamarack_Scanner *s) /* ensure child knows it's time to stop: */ sanei_thread_kill (s->reader_pid); sanei_thread_waitpid (s->reader_pid, &exit_status); - s->reader_pid = -1; + sanei_thread_invalidate (s->reader_pid); } if (s->fd >= 0) @@ -526,10 +528,10 @@ get_image_status (Tamarack_Scanner *s) result, &len); if ((status != SANE_STATUS_GOOD) && (status != SANE_STATUS_DEVICE_BUSY)) return status; - - s->params.bytes_per_line = + + s->params.bytes_per_line = result[ 8] | (result[ 7] << 8) | (result[6] << 16); - s->params.lines = + s->params.lines = result[11] | (result[10] << 8) | (result[9] << 16); switch (s->mode) { @@ -855,7 +857,7 @@ reader_process (void *scanner) if (!lines_per_buffer) return 2; /* resolution is too high */ - /* Limit the size of a single transfer to one inch. + /* Limit the size of a single transfer to one inch. XXX Add a stripsize option. */ if (lines_per_buffer > SANE_UNFIX (s->val[OPT_RESOLUTION].w)) lines_per_buffer = SANE_UNFIX (s->val[OPT_RESOLUTION].w); @@ -877,14 +879,14 @@ reader_process (void *scanner) return 3; } DBG(3, "reader_process: read %d lines\n", lines_per_buffer); - + if ((s->mode == TRUECOLOR) || (s->mode == GREYSCALE)) { fwrite (data, lines_per_buffer, bpl, fp); } else { /* in singlebit mode, the scanner returns 1 for black. ;-( --DM */ /* Hah! Same for Tamarack... -- REW */ int i; - + for (i = 0; i < lines_per_buffer * bpl; ++i) fputc (~data[i], fp); } @@ -929,10 +931,10 @@ sane_init (SANE_Int *version_code, SANE_Auth_Callback authorize) if (dev_name[0] == '#') /* ignore line comments */ continue; len = strlen (dev_name); - + if (!len) continue; /* ignore empty lines */ - + sanei_config_attach_matching_devices (dev_name, attach_one); } fclose (fp); @@ -951,7 +953,7 @@ sane_exit (void) free ((void *) dev->sane.model); free (dev); } - + if (devlist) free (devlist); } @@ -1063,7 +1065,7 @@ const SANE_Option_Descriptor * sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) { Tamarack_Scanner *s = handle; - + if ((unsigned) option >= NUM_OPTIONS) return 0; return s->opt + option; @@ -1151,7 +1153,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, status = constrain_value (s, option, val, info); if (status != SANE_STATUS_GOOD) return status; - + switch (option) { /* (mostly) side-effect-free word options: */ @@ -1235,7 +1237,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, #endif - if (strcmp (val, SANE_VALUE_SCAN_MODE_LINEART) == 0) + if (strcmp (val, SANE_VALUE_SCAN_MODE_LINEART) == 0) s->opt[OPT_THRESHOLD].cap &= ~SANE_CAP_INACTIVE; else { s->opt[OPT_BRIGHTNESS].cap &= ~SANE_CAP_INACTIVE; @@ -1271,10 +1273,10 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters *params) if (!s->scanning) { double width, height, dpi; - + memset (&s->params, 0, sizeof (s->params)); - + width = SANE_UNFIX (s->val[OPT_BR_X].w - s->val[OPT_TL_X].w); height = SANE_UNFIX (s->val[OPT_BR_Y].w - s->val[OPT_TL_Y].w); dpi = SANE_UNFIX (s->val[OPT_RESOLUTION].w); @@ -1284,7 +1286,7 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters *params) scanning starts. */ if (dpi > 0.0 && width > 0.0 && height > 0.0) { double dots_per_mm = dpi / MM_PER_INCH; - + s->params.pixels_per_line = width * dots_per_mm; s->params.lines = height * dots_per_mm; } @@ -1308,14 +1310,14 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters *params) } s->params.last_frame = (s->mode != TRUECOLOR) || (s->pass == 2); - + if (params) *params = s->params; DBG(1, "Got parameters: format:%d, ppl: %d, bpl:%d, depth:%d, " - "last %d pass %d\n", - s->params.format, s->params.pixels_per_line, - s->params.bytes_per_line, s->params.depth, + "last %d pass %d\n", + s->params.format, s->params.pixels_per_line, + s->params.bytes_per_line, s->params.depth, s->params.last_frame, s->pass); return SANE_STATUS_GOOD; } @@ -1349,7 +1351,7 @@ sane_start (SANE_Handle handle) s->params.last_frame = SANE_TRUE; } } - + status = sanei_scsi_open (s->hw->sane.name, &s->fd, sense_handler, 0); if (status != SANE_STATUS_GOOD) { DBG(1, "open: open of %s failed: %s\n", @@ -1374,7 +1376,7 @@ sane_start (SANE_Handle handle) status = mode_select (s); if (status != SANE_STATUS_GOOD) goto stop_scanner_and_return; - + s->scanning = SANE_TRUE; status = start_scan (s); @@ -1417,7 +1419,7 @@ sane_read (SANE_Handle handle, SANE_Byte *buf, SANE_Int max_len, SANE_Int *len) if (!s->scanning) return do_cancel (s); - + if (nread < 0) { if (errno == EAGAIN) { return SANE_STATUS_GOOD; @@ -1474,4 +1476,3 @@ sane_get_select_fd (SANE_Handle handle, SANE_Int *fd) *fd = s->pipe; return SANE_STATUS_GOOD; } - diff --git a/backend/tamarack.conf.in b/backend/tamarack.conf.in index 4c5ae7d..52f24d0 100644 --- a/backend/tamarack.conf.in +++ b/backend/tamarack.conf.in @@ -1,3 +1,2 @@ scsi TAMARACK /dev/scanner - diff --git a/backend/tamarack.h b/backend/tamarack.h index 65697ac..3b1e1c5 100644 --- a/backend/tamarack.h +++ b/backend/tamarack.h @@ -167,11 +167,11 @@ Tamarack_Scanner; #define TAMARACK_SCSI_TEST_UNIT_READY 0x00 #define TAMARACK_SCSI_INQUIRY 0x12 -#define TAMARACK_SCSI_MODE_SELECT 0x15 +#define TAMARACK_SCSI_MODE_SELECT 0x15 #define TAMARACK_SCSI_START_STOP 0x1b #define TAMARACK_SCSI_AREA_AND_WINDOWS 0x24 #define TAMARACK_SCSI_READ_SCANNED_DATA 0x28 -#define TAMARACK_SCSI_GET_DATA_STATUS 0x34 +#define TAMARACK_SCSI_GET_DATA_STATUS 0x34 /* The structures that you have to send to the tamarack to get it to @@ -190,7 +190,7 @@ struct win_desc_block { unsigned char yres[2]; unsigned char ulx[4]; unsigned char uly[4]; - unsigned char width[4]; + unsigned char width[4]; unsigned char length[4]; unsigned char brightness; unsigned char thresh; @@ -209,7 +209,7 @@ struct win_desc_block { struct command_header { unsigned char opc; - unsigned char pad0[3]; + unsigned char pad0[3]; unsigned char len; unsigned char pad1; }; @@ -217,7 +217,7 @@ struct command_header { struct command_header_10 { unsigned char opc; - unsigned char pad0[5]; + unsigned char pad0[5]; unsigned char len[3]; unsigned char pad1; }; diff --git a/backend/teco1.c b/backend/teco1.c index 2a13201..136f537 100644 --- a/backend/teco1.c +++ b/backend/teco1.c @@ -1,44 +1,44 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2002 Frank Zago (sane at zago dot net) - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ /* @@ -190,16 +190,16 @@ static const struct scanners_supported scanners[] = { 99 }, - {6, "TECO VM4540", - TECO_VM4540, - "Relisys", "RELI 4816", - {1, 1600, 1}, /* resolution */ - 400, 1600, /* max x and Y resolution */ - 1, /* color 1 pass */ - 256, /* number of bytes per gamma color */ - 99 /* number of bytes in a window */ + {6, "TECO VM4540", + TECO_VM4540, + "Relisys", "RELI 4816", + {1, 1600, 1}, /* resolution */ + 400, 1600, /* max x and Y resolution */ + 1, /* color 1 pass */ + 256, /* number of bytes per gamma color */ + 99 /* number of bytes in a window */ }, - + {6, "TECO VM4542", TECO_VM4542, "Relisys", "RELI 4830", @@ -1240,7 +1240,7 @@ teco_init_options (Teco_Scanner * dev) (SANE_String_Const *) scan_mode_list[0], NULL); } -/* +/* * Wait until the scanner is ready. */ static SANE_Status @@ -1295,7 +1295,7 @@ teco_fill_image (Teco_Scanner * dev) while (dev->real_bytes_left) { - /* + /* * Try to read the maximum number of bytes. */ size = 0; @@ -1318,7 +1318,7 @@ teco_fill_image (Teco_Scanner * dev) if (size == 0) { - /* Probably reached the end of the buffer. + /* Probably reached the end of the buffer. * Check, just in case. */ assert (dev->image_end != 0); return (SANE_STATUS_GOOD); @@ -1389,7 +1389,7 @@ teco_fill_image (Teco_Scanner * dev) return (SANE_STATUS_GOOD); /* unreachable */ } -/* Copy from the raw buffer to the buffer given by the backend. +/* Copy from the raw buffer to the buffer given by the backend. * * len in input is the maximum length available in buf, and, in * output, is the length written into buf. diff --git a/backend/teco1.h b/backend/teco1.h index 1b5fecb..528613f 100644 --- a/backend/teco1.h +++ b/backend/teco1.h @@ -38,10 +38,10 @@ 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. + If you do not wish that, delete this exception notice. */ -/* +/* $Id$ */ @@ -253,8 +253,8 @@ enum Teco_Option /*--------------------------------------------------------------------------*/ -/* - * Scanner supported by this backend. +/* + * Scanner supported by this backend. */ struct scanners_supported { @@ -363,7 +363,7 @@ Teco_Scanner; /*--------------------------------------------------------------------------*/ -/* Debug levels. +/* Debug levels. * Should be common to all backends. */ #define DBG_error0 0 diff --git a/backend/teco2.c b/backend/teco2.c index 9bc8bf4..a104189 100644 --- a/backend/teco2.c +++ b/backend/teco2.c @@ -4,42 +4,42 @@ Copyright (C) 2003-2008 Gerard Klaver (gerard at gkall dot hobby dot nl) 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ /* @@ -61,7 +61,7 @@ changed use of %d to %ld (when bytes values are displayed) update 2005/03/04, use of __sane_unused__ update 2005/07/29. Removed using teco_request_sense (dev) routine for VM3564 - update 2008/01/12, Update teco_request_sense routine due to no + update 2008/01/12, Update teco_request_sense routine due to no init value for size. */ @@ -317,10 +317,6 @@ static const struct dpi_color_adjust vm6586_dpi_color_adjust[] = { {0, 0, 0, 0, 0, 0} }; -static const struct dpi_color_adjust default_dpi_color_adjust[1] = { - {0, 0, 1, 2, 0, 0} -}; - /* For all scanners. Must be reasonable (eg. between 50 and 300) and * appear in the ...._dpi_color_adjust list of all supported scanners. */ #define DEF_RESOLUTION 150 @@ -1129,17 +1125,17 @@ teco_wait_for_data (Teco_Scanner * dev) /* Do the calibration stuff. Get 12 or 8 lines of data. Each pixel is coded * in 6 bytes (2 per color) or 3 bytes (3564 and 356A). To do the calibration, * allocates an array big enough for one line, read the 12 or 8 lines of calibration, - * subtract the highest and lowest value and do a average. + * subtract the highest and lowest value and do a average. * The input line is 1 raster for each color. However * the output line is interlaced (ie RBG for the first pixel, then RGB * for the second, and so on...). The output line are the value to use - * to compensate for the white point. + * to compensate for the white point. * There is two algorithms: * * The range goes from 0 to 0xfff, and the average is 0x800. So if * the average input is 0x700, the output value for that dot must be * 0x1000-0x700=0x900. - * + * * and * * the calibration needs to be a multiplication factor, to @@ -1169,7 +1165,7 @@ teco_do_calibration (Teco_Scanner * dev) colsub1_0 = 0; colsub1_1 = 0; colsub1_2 = 0; - + DBG (DBG_proc, "teco_do_calibration: enter\n"); /* Get default calibration algorithm. */ @@ -1251,7 +1247,7 @@ teco_do_calibration (Teco_Scanner * dev) memset (tmp_max_buf, 0x0000, tmp_max_buf_size); break; } - + if ((tmp_buf == NULL) || (tmp_min_buf == NULL) || (tmp_max_buf == NULL)) { DBG (DBG_proc, "teco_do_calibration: not enough memory (%ld bytes)\n", @@ -1362,29 +1358,29 @@ teco_do_calibration (Teco_Scanner * dev) tmp_min_buf[3 * j + 0] = dev->buffer[3 * j + 0]; } /* get highest value */ - if (tmp_max_buf[3 * j + 0] < dev->buffer[3 * j + 0]) + if (tmp_max_buf[3 * j + 0] < dev->buffer[3 * j + 0]) { tmp_max_buf[3 * j + 0] = dev->buffer[3 * j + 0]; } tmp_buf[3 * j + 1] += dev->buffer[3 * j + 1]; /* get lowest value */ - if (tmp_min_buf[3 * j + 1] >> dev->buffer[3 * j + 1]) + if (tmp_min_buf[3 * j + 1] >> dev->buffer[3 * j + 1]) { tmp_min_buf[3 * j + 1] = dev->buffer[3 * j + 1]; } /* get hightest value */ - if (tmp_max_buf[3 * j + 1] < dev->buffer[3 * j + 1]) + if (tmp_max_buf[3 * j + 1] < dev->buffer[3 * j + 1]) { tmp_max_buf[3 * j + 1] = dev->buffer[3 * j + 1]; } tmp_buf[3 * j + 2] += dev->buffer[3 * j + 2]; /* get lowest value */ - if (tmp_min_buf[3 * j + 2] >> dev->buffer[3 * j + 2]) + if (tmp_min_buf[3 * j + 2] >> dev->buffer[3 * j + 2]) { tmp_min_buf[3 * j + 2] = dev->buffer[3 * j + 2]; } /* get highest value */ - if (tmp_max_buf[3 * j + 2] < dev->buffer[3 * j + 2]) + if (tmp_max_buf[3 * j + 2] < dev->buffer[3 * j + 2]) { tmp_max_buf[3 * j + 2] = dev->buffer[3 * j + 2]; } @@ -1404,7 +1400,7 @@ teco_do_calibration (Teco_Scanner * dev) /* hexdump (DBG_info2, "calibration before average:", tmp_buf, tmp_buf_size); */ /* hexdump (DBG_info2, "calibration before average min value:", tmp_min_buf, tmp_min_buf_size); */ /* hexdump (DBG_info2, "calibration before average max value:", tmp_max_buf, tmp_max_buf_size); */ - + /* Do the average. Since we got 12 or 8 lines, divide all values by 10 or 6 * and create the final calibration value that compensates for the * white values read. */ @@ -1419,28 +1415,28 @@ teco_do_calibration (Teco_Scanner * dev) for (j = 0; j < dev->def->cal_length; j++) { /* subtract lowest and highest value */ - tmp_buf[j] = tmp_buf[j] - (tmp_min_buf[j] + tmp_max_buf[j]); - tmp_buf[j + dev->def->cal_length] = tmp_buf[j + dev->def->cal_length] - - (tmp_min_buf[j + dev->def->cal_length] - + tmp_max_buf[j + dev->def->cal_length]); - tmp_buf[j + 2 * dev->def->cal_length] = tmp_buf[j + 2 * dev->def->cal_length] - - (tmp_min_buf[j + 2 * dev->def->cal_length] - + tmp_max_buf[j + 2 *dev->def->cal_length]); + tmp_buf[j] = tmp_buf[j] - (tmp_min_buf[j] + tmp_max_buf[j]); + tmp_buf[j + dev->def->cal_length] = tmp_buf[j + dev->def->cal_length] + - (tmp_min_buf[j + dev->def->cal_length] + + tmp_max_buf[j + dev->def->cal_length]); + tmp_buf[j + 2 * dev->def->cal_length] = tmp_buf[j + 2 * dev->def->cal_length] + - (tmp_min_buf[j + 2 * dev->def->cal_length] + + tmp_max_buf[j + 2 *dev->def->cal_length]); /* sequence colors first color row one then two and last three */ - if (cal_algo == 1) + if (cal_algo == 1) { tmp_buf[j] = (colsub1_0 * (dev->def->cal_lines - 2)) / tmp_buf[j]; - tmp_buf[j + dev->def->cal_length] = (colsub1_1 * (dev->def->cal_lines - 2)) + tmp_buf[j + dev->def->cal_length] = (colsub1_1 * (dev->def->cal_lines - 2)) / tmp_buf[j + dev->def->cal_length]; - tmp_buf[j + 2 * dev->def->cal_length] = (colsub1_2 * (dev->def->cal_lines - 2)) + tmp_buf[j + 2 * dev->def->cal_length] = (colsub1_2 * (dev->def->cal_lines - 2)) / tmp_buf[j + 2 * dev->def->cal_length]; } - else + else { tmp_buf[j] = colsub0_0 - (tmp_buf[j] / (dev->def->cal_lines - 2)); - tmp_buf[j + dev->def->cal_length] = colsub0_1 - (tmp_buf[j + dev->def->cal_length] + tmp_buf[j + dev->def->cal_length] = colsub0_1 - (tmp_buf[j + dev->def->cal_length] / (dev->def->cal_lines - 2)); - tmp_buf[j + 2 * dev->def->cal_length] = colsub0_2 + tmp_buf[j + 2 * dev->def->cal_length] = colsub0_2 - (tmp_buf[j + 2 * dev->def->cal_length] / (dev->def->cal_lines - 2)); } } @@ -1450,7 +1446,7 @@ teco_do_calibration (Teco_Scanner * dev) { if (cal_algo == 1) tmp_buf[j] = (colsub1_1 * dev->def->cal_lines) / tmp_buf[j]; - else + else tmp_buf[j] = colsub0_1 - (tmp_buf[j] / dev->def->cal_lines); } break; */ @@ -1531,10 +1527,10 @@ teco_request_sense (Teco_Scanner * dev) /* size = 0; */ DBG (DBG_proc, "teco_request_sense: enter\n"); - + size = sizeof (buf); MKSCSI_REQUEST_SENSE (cdb, size); - + /*size = cdb.data[5]; hexdump (DBG_info2, "teco_request_sense", cdb.data, cdb.len); @@ -1545,7 +1541,7 @@ teco_request_sense (Teco_Scanner * dev) NULL, 0, buf, &size); hexdump (DBG_info2, "teco_request_sense:", buf, size); - + DBG (DBG_proc, "teco_request_sense: exit, status=%d\n", status); return (status); @@ -2083,7 +2079,7 @@ teco_init_options (Teco_Scanner * dev) dev->opt[OPT_WHITE_LEVEL_G].constraint_type = SANE_CONSTRAINT_RANGE; dev->opt[OPT_WHITE_LEVEL_G].constraint.range = &green_level_range; dev->val[OPT_WHITE_LEVEL_G].w = 32; /* to get middle value */ - + /* blue level calibration manual correction */ dev->opt[OPT_WHITE_LEVEL_B].name = SANE_NAME_WHITE_LEVEL_B; dev->opt[OPT_WHITE_LEVEL_B].title = SANE_TITLE_WHITE_LEVEL_B; @@ -2093,14 +2089,14 @@ teco_init_options (Teco_Scanner * dev) dev->opt[OPT_WHITE_LEVEL_B].constraint_type = SANE_CONSTRAINT_RANGE; dev->opt[OPT_WHITE_LEVEL_B].constraint.range = &blue_level_range; dev->val[OPT_WHITE_LEVEL_B].w = 32; /* to get middle value */ - + /* Lastly, set the default scan mode. This might change some * values previously set here. */ sane_control_option (dev, OPT_MODE, SANE_ACTION_SET_VALUE, (SANE_String_Const *) scan_mode_list[0], NULL); } -/* +/* * Wait until the scanner is ready. */ static SANE_Status @@ -2136,7 +2132,7 @@ teco_wait_scanner (Teco_Scanner * dev) return (SANE_STATUS_IO_ERROR); } -/* +/* * Adjust the rasters. This function is used during a color scan, * because the scanner does not present a format sane can interpret * directly. @@ -2147,7 +2143,7 @@ teco_wait_scanner (Teco_Scanner * dev) * * The order of the color is dependant on each scanners. Also the same * scanner can change the order depending on the resolution. - * + * * For instance, the VM6586 at 300dpi has a color shift of 2 lines. The rasters sent are: * starts with two blue rasters - BB, * then red in added - BRBR @@ -2156,7 +2152,7 @@ teco_wait_scanner (Teco_Scanner * dev) * and finaly only green stays - GG * * Overall there is the same number of RGB rasters. - * The VM3575 is a variant (when factor_x is 0). It does not keep the same order, + * The VM3575 is a variant (when factor_x is 0). It does not keep the same order, * but reverses it, eg: * BB RBRB GRB... GRGR GG * (ie it adds the new color in front of the previous one, instead of after). @@ -2192,7 +2188,7 @@ teco_adjust_raster (Teco_Scanner * dev, size_t size_in) return; } - /* + /* * The color coding is one line for each color (in the RGB order). * Recombine that stuff to create a RGB value for each pixel. */ @@ -2202,7 +2198,7 @@ teco_adjust_raster (Teco_Scanner * dev, size_t size_in) for (raster = 0; raster < nb_rasters; raster++) { - /* + /* * Find the color and the line which this raster belongs to. */ line = 0; @@ -2365,7 +2361,7 @@ teco_fill_image (Teco_Scanner * dev) /* Copy the complete lines, plus the incompletes * ones. We don't keep the real end of data used - * in image, so we copy the biggest possible. + * in image, so we copy the biggest possible. * * This is a no-op for non color images. */ @@ -2376,7 +2372,7 @@ teco_fill_image (Teco_Scanner * dev) while (dev->real_bytes_left) { - /* + /* * Try to read the maximum number of bytes. */ size = dev->real_bytes_left; @@ -2398,7 +2394,7 @@ teco_fill_image (Teco_Scanner * dev) if (size == 0) { - /* Probably reached the end of the buffer. + /* Probably reached the end of the buffer. * Check, just in case. */ assert (dev->image_end != 0); return (SANE_STATUS_GOOD); @@ -2446,7 +2442,7 @@ teco_fill_image (Teco_Scanner * dev) return (SANE_STATUS_GOOD); /* unreachable */ } -/* Copy from the raw buffer to the buffer given by the backend. +/* Copy from the raw buffer to the buffer given by the backend. * * len in input is the maximum length available in buf, and, in * output, is the length written into buf. diff --git a/backend/teco2.conf.in b/backend/teco2.conf.in index a012e56..f5db0bb 100644 --- a/backend/teco2.conf.in +++ b/backend/teco2.conf.in @@ -1,5 +1,5 @@ # VM3564 RELISYS AVEC II S3 scanner -scsi "RELISYS" "AVEC II S3" +scsi "RELISYS" "AVEC II S3" # VM356A Primax Jewel 4800 scanner scsi "Primax" "Jewel" @@ -13,7 +13,7 @@ scsi "RELISYS" "AVEC Super 3" # VM3575 Relisys SCORPIO Super 3 # VM3575 Mustek ScanMagic 4830S # VM6586 Relisys SCORPIO Pro-S -scsi "" "Flatbed Scanner" +scsi "" "Flatbed Scanner" # VM656A Relisys APOLLO Express 6 scsi "RELISYS" "APOLLO Express 6" diff --git a/backend/teco2.h b/backend/teco2.h index 9975f03..ead4525 100644 --- a/backend/teco2.h +++ b/backend/teco2.h @@ -39,10 +39,10 @@ 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. + If you do not wish that, delete this exception notice. */ -/* +/* $Id$ */ @@ -307,8 +307,8 @@ enum Teco_Option /*--------------------------------------------------------------------------*/ -/* - * Scanner supported by this backend. +/* + * Scanner supported by this backend. */ struct scanners_supported { @@ -434,7 +434,7 @@ Teco_Scanner; /*--------------------------------------------------------------------------*/ -/* Debug levels. +/* Debug levels. * Should be common to all backends. */ #define DBG_error0 0 diff --git a/backend/teco3.c b/backend/teco3.c index e66d95d..b58312a 100644 --- a/backend/teco3.c +++ b/backend/teco3.c @@ -1,44 +1,44 @@ /* sane - Scanner Access Now Easy. Copyright (C) 2002 Frank Zago (sane at zago dot net) - + 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + 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. + If you do not wish that, delete this exception notice. */ /* @@ -629,7 +629,7 @@ get_filled_data_length (Teco_Scanner * dev, size_t * to_read) if (dev->buffer[17] == 0x07) { /* There is no RAM extension present. The colors will - * be shifted and the backend will need to fix that. + * be shifted and the backend will need to fix that. */ dev->does_color_shift = 1; } @@ -1065,7 +1065,7 @@ teco_init_options (Teco_Scanner * dev) (SANE_String_Const *) scan_mode_list[0], NULL); } -/* +/* * Wait until the scanner is ready. */ static SANE_Status @@ -1101,7 +1101,7 @@ teco_wait_scanner (Teco_Scanner * dev) return (SANE_STATUS_IO_ERROR); } -/* +/* * Get the sense */ static SANE_Status @@ -1125,19 +1125,19 @@ teco_query_sense (Teco_Scanner * dev) return (status); } -/* +/* * Adjust the rasters. This function is used during a color scan, * because the scanner does not present a format sane can interpret * directly. * * The scanner sends the colors by rasters (B then G then R), whereas * sane is waiting for a group of 3 bytes per color. To make things - * funnier, the rasters are shifted. The format of those raster is: + * funnier, the rasters are shifted. The format of those raster is: * BGR...BGR * * For a proper scan, the first 2 R and 1 G, and the last 1 G and 2 B * must be ignored. (TODO) - * + * * So this function reorders all that mess. It gets the input from * dev->buffer and write the output in dev->image. size_in the the * length of the valid data in dev->buffer. */ @@ -1169,7 +1169,7 @@ teco_adjust_raster (Teco_Scanner * dev, size_t size_in) return; } - /* + /* * The color coding is one line for each color (in the RGB order). * Recombine that stuff to create a RGB value for each pixel. */ @@ -1179,7 +1179,7 @@ teco_adjust_raster (Teco_Scanner * dev, size_t size_in) for (raster = 0; raster < nb_rasters; raster++) { - /* + /* * Find the color to which this raster belongs to. */ line = 0; @@ -1295,7 +1295,7 @@ teco_fill_image (Teco_Scanner * dev) /* Copy the complete lines, plus the incompletes * ones. We don't keep the real end of data used - * in image, so we copy the biggest possible. + * in image, so we copy the biggest possible. */ if (dev->scan_mode == TECO_COLOR) { @@ -1313,13 +1313,13 @@ teco_fill_image (Teco_Scanner * dev) if (dev->raster_ahead + dev->image_end + dev->params.bytes_per_line > dev->image_size) { - /* Probably reached the end of the buffer. + /* Probably reached the end of the buffer. * Check, just in case. */ assert (dev->image_end != 0); return (SANE_STATUS_GOOD); } - /* + /* * Try to read the maximum number of bytes. */ size = 0; @@ -1346,7 +1346,7 @@ teco_fill_image (Teco_Scanner * dev) if (size == 0) { - /* Probably reached the end of the buffer. + /* Probably reached the end of the buffer. * Check, just in case. */ assert (dev->image_end != 0); return (SANE_STATUS_GOOD); @@ -1401,7 +1401,7 @@ teco_fill_image (Teco_Scanner * dev) return (SANE_STATUS_GOOD); /* unreachable */ } -/* Copy from the raw buffer to the buffer given by the backend. +/* Copy from the raw buffer to the buffer given by the backend. * * len in input is the maximum length available in buf, and, in * output, is the length written into buf. diff --git a/backend/teco3.h b/backend/teco3.h index 64e894d..4c0e1af 100644 --- a/backend/teco3.h +++ b/backend/teco3.h @@ -38,10 +38,10 @@ 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. + If you do not wish that, delete this exception notice. */ -/* +/* $Id$ */ @@ -267,8 +267,8 @@ enum Teco_Option /*--------------------------------------------------------------------------*/ -/* - * Scanner supported by this backend. +/* + * Scanner supported by this backend. */ struct scanners_supported { @@ -391,7 +391,7 @@ Teco_Scanner; /*--------------------------------------------------------------------------*/ -/* Debug levels. +/* Debug levels. * Should be common to all backends. */ #define DBG_error0 0 diff --git a/backend/test-picture.c b/backend/test-picture.c index e2d81ce..46407dc 100644 --- a/backend/test-picture.c +++ b/backend/test-picture.c @@ -36,7 +36,7 @@ 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. + If you do not wish that, delete this exception notice. This file implements test picture functions for the test backend. */ diff --git a/backend/test.c b/backend/test.c index 2ca5b3b..3ead456 100644 --- a/backend/test.c +++ b/backend/test.c @@ -1375,7 +1375,7 @@ finish_pass (Test_Device * test_device) DBG (2, "finish_pass: reader process terminated with status: %s\n", sane_strstatus (status)); } - test_device->reader_pid = -1; + sanei_thread_invalidate (test_device->reader_pid); } /* this happens when running in thread context... */ if (test_device->reader_fds >= 0) @@ -1641,7 +1641,7 @@ sane_init (SANE_Int * __sane_unused__ version_code, SANE_Auth_Callback __sane_un test_device->eof = SANE_FALSE; test_device->scanning = SANE_FALSE; test_device->cancelled = SANE_FALSE; - test_device->reader_pid = -1; + sanei_thread_initialize (test_device->reader_pid); test_device->pipe = -1; DBG (4, "sane_init: new device: `%s' is a %s %s %s\n", test_device->sane.name, test_device->sane.vendor, @@ -2521,7 +2521,7 @@ sane_start (SANE_Handle handle) { test_device->number_of_scans++; DBG (3, "sane_start: scanning page %d\n", test_device->number_of_scans); - + if ((strcmp (test_device->val[opt_scan_source].s, "Automatic Document Feeder") == 0) && (((test_device->number_of_scans) % 11) == 0)) { diff --git a/backend/u12-ccd.c b/backend/u12-ccd.c index 3f1ad77..fdbb54e 100644 --- a/backend/u12-ccd.c +++ b/backend/u12-ccd.c @@ -483,7 +483,7 @@ static void fnCCDInitWolfson3799( U12_Device *dev ) } } -/** +/** */ static void fnCCDInitWolfson548( U12_Device *dev ) { @@ -788,7 +788,7 @@ static void fnDACDarkWolfson( U12_Device *dev, ShadingVarDef *sTbl, if ((short) w < 0) w = 0; - + if( w != (u_short)dev->shade.DarkDAC.bColors[dwCh] ) { dev->shade.DarkDAC.bColors [dwCh] = (SANE_Byte)w; dev->shade.fStop = SANE_FALSE; @@ -926,7 +926,7 @@ static void u12ccd_InitCCDandDAC( U12_Device *dev, SANE_Bool shading ) DBG( _DBG_INFO, "* DAC: Samsung 1224\n" ); switch( dev->CCDID ) { - + case _CCD_3797: DBG( _DBG_INFO, "* CCD-3797\n" ); pDAC_CCD = ShadingVar3797; diff --git a/backend/u12-hw.c b/backend/u12-hw.c index e21c78a..fb81ee6 100644 --- a/backend/u12-hw.c +++ b/backend/u12-hw.c @@ -216,7 +216,7 @@ static void u12hw_InitiateComponentModel( U12_Device *dev ) dev->regs.RD_MotorDriverType |= _MOTORR_WEAK; /* } */ } - + /** */ static SANE_Status u12hw_InitAsic( U12_Device *dev, SANE_Bool shading ) @@ -259,7 +259,7 @@ static SANE_Status u12hw_InitAsic( U12_Device *dev, SANE_Bool shading ) if( dev->shade.intermediate & _ScanMode_Mono ) dev->regs.RD_Model1Control += _SCAN_GRAYTYPE; - DBG( _DBG_INFO, "* MotorDrvType = 0x%02x\n", dev->regs.RD_MotorDriverType); + DBG( _DBG_INFO, "* MotorDrvType = 0x%02x\n", dev->regs.RD_MotorDriverType); DBG( _DBG_INFO, "* Model1Cntrl = 0x%02x\n", dev->regs.RD_Model1Control ); #if 0 @@ -383,7 +383,7 @@ static void u12hw_SetupPreviewCondition( U12_Device *dev ) dev->scan.dwMaxReadFifo += (dev->DataInf.dwAsicBytesPerPlane / 2); - if( dev->DataInf.wPhyDataType > COLOR_256GRAY ) + if( dev->DataInf.wPhyDataType > COLOR_256GRAY ) dev->scan.bFifoSelect = REG_BFIFOOFFSET; else dev->scan.bFifoSelect = REG_GFIFOOFFSET; @@ -714,7 +714,7 @@ static SANE_Status u12hw_Memtest( U12_Device *dev ) u12io_DataToRegister( dev, REG_WIDTHPIXELHI, 5 ); memset( buf, 0, _TEST_SIZE ); - + dev->regs.RD_ModeControl = _ModeReadMappingMem; u12io_ReadData( dev, buf, _TEST_SIZE ); @@ -793,7 +793,7 @@ static void u12hw_CancelSequence( U12_Device *dev ) { int c = 0; SANE_Byte rb[6]; - + DBG( _DBG_INFO, "u12hw_CancelSequence()\n" ); u12motor_PositionModuleToHome( dev ); @@ -888,7 +888,7 @@ static void usb_LampTimerIrq( int sig ) } else if( tmp & _TPALAMP_ON ) { DBG( _DBG_INFO, "* TPA lamp is ON\n" ); } - + u12io_DataToRegister( dev_xxx, REG_SCANCONTROL, 0 ); u12io_CloseScanPath( dev_xxx ); } diff --git a/backend/u12-hwdef.h b/backend/u12-hwdef.h index ac86cf5..43ea64f 100644 --- a/backend/u12-hwdef.h +++ b/backend/u12-hwdef.h @@ -224,7 +224,7 @@ #define _MotorHFullStepH 0x00 #define _MotorHHalfStep 0x04 #define _MotorHQuarterStep 0x08 -#define _MotorPowerEnable 0x40 +#define _MotorPowerEnable 0x40 #define _MotorHHomeStop 0x80 #define _DIR_FW 1 @@ -269,7 +269,7 @@ #define _AGFA_PCB 0x1f /* Register RegModelControl (Addr: 0x1f) */ -#define _HOME_SENSOR_POLARITY 0x01 +#define _HOME_SENSOR_POLARITY 0x01 #define _LED_CONTROL 0x02 #define _LED_ACTIVITY 0x04 #define _MODEL_DPI200 0x00 @@ -393,7 +393,7 @@ #define _DEFAULT_LINESCANTIME 96 -#define _LINE_TIMEOUT (_SECOND * 5 ) +#define _LINE_TIMEOUT (_SECOND * 5 ) /** for mirroring parts of the 98003 ASIC register set @@ -439,7 +439,7 @@ typedef struct svd SANE_Byte Reserved; } ShadingVarDef; -typedef struct +typedef struct { ShadingVarDef *pCcdDac; ColorByte DarkDAC; diff --git a/backend/u12-if.c b/backend/u12-if.c index be213b4..91a8c1f 100644 --- a/backend/u12-if.c +++ b/backend/u12-if.c @@ -68,7 +68,7 @@ typedef struct { #define _PLUSTEK_VENID 0x07B3 #define _KYE_VENID 0x0458 - + /** to allow different vendors... */ static TabDef u12Vendors[] = { @@ -148,7 +148,7 @@ static void u12if_shutdown( U12_Device *dev ) DBG( _DBG_INFO, "Shutdown called (dev->fd=%d, %s)\n", dev->fd, dev->sane.name ); if( SANE_STATUS_GOOD == sanei_usb_open( dev->sane.name, &handle )) { - + dev->fd = handle; u12io_OpenScanPath( dev ); @@ -234,7 +234,7 @@ static SANE_Bool usbDev_autodetect( SANE_Word *vendor, SANE_Word *product ) { int i; SANE_Word p, v; - + DBG( _DBG_INFO, "Autodetection...\n" ); for( i = 0; NULL != u12Devices[i].name; i++ ) { @@ -310,7 +310,7 @@ static int u12if_open( U12_Device *dev ) */ free( dev->name ); dev->name = strdup( USB_devname ); - dev->sane.name = dev->name; + dev->sane.name = dev->name; } else { @@ -329,7 +329,7 @@ static int u12if_open( U12_Device *dev ) DBG(_DBG_INFO,"Vendor ID=0x%04X, Product ID=0x%04X\n",vendor,product); if( dev->usbId[0] != '\0' ) { - + if( 0 != strcmp( dev->usbId, devStr )) { DBG( _DBG_ERROR, "Specified Vendor and Product ID " "doesn't match with the ones\n" @@ -340,7 +340,7 @@ static int u12if_open( U12_Device *dev ) } else { sprintf( dev->usbId, "0x%04X-0x%04X", vendor, product ); was_empty = SANE_TRUE; - } + } } else { @@ -397,7 +397,7 @@ static int u12if_open( U12_Device *dev ) if( dev->Tpa ) dev->sane.model = "UT12"; } - + dev->initialized = SANE_TRUE; return handle; } @@ -413,7 +413,7 @@ static int u12if_close( U12_Device *dev ) return 0; } -/** +/** */ static SANE_Status u12if_getCaps( U12_Device *dev ) { @@ -459,7 +459,7 @@ static SANE_Status u12if_getCaps( U12_Device *dev ) dev->res_list_size++; dev->res_list[dev->res_list_size - 1] = (SANE_Int)cntr; } - + return SANE_STATUS_GOOD; } @@ -500,7 +500,7 @@ static SANE_Status u12if_stopScan( U12_Device *dev ) static SANE_Status u12if_prepare( U12_Device *dev ) { SANE_Status res; - + DBG( _DBG_INFO, "u12if_prepare()\n" ); u12motor_ToHomePosition( dev, SANE_TRUE ); @@ -514,11 +514,11 @@ static SANE_Status u12if_prepare( U12_Device *dev ) return res; u12image_PrepareScaling( dev ); - + u12motor_ForceToLeaveHomePos( dev ); if( dev->DataInf.dwScanFlag & _SCANDEF_PREVIEW ) u12hw_SetupPreviewCondition( dev ); - else + else u12hw_SetupScanningCondition( dev ); res = u12motor_WaitForPositionY( dev ); diff --git a/backend/u12-image.c b/backend/u12-image.c index 1d9acda..df721db 100644 --- a/backend/u12-image.c +++ b/backend/u12-image.c @@ -217,7 +217,7 @@ static void fnColor42( U12_Device *dev, void *pb, void *img, u_long len ) { u_short *src; RGBUShortDef *dest; - + register u_long i; _VAR_NOT_USED( len ); @@ -317,7 +317,7 @@ u12image_GetPhysDPI( U12_Device *dev, ImgDef *img, SANE_Bool fDpiX ) return img->xyDpi.x; } else { - + if( img->xyDpi.y > dev->dpi_max_y ) return dev->dpi_max_y; else @@ -374,7 +374,7 @@ static void u12image_GetImageInfo( U12_Device *dev, ImgDef *image ) switch( image->wDataType ) { - case COLOR_BW: + case COLOR_BW: dev->scan.DataProcess = fnDataDirect; dev->DataInf.wPhyDataType = COLOR_BW; dev->shade.intermediate = _ScanMode_Mono; @@ -407,7 +407,7 @@ static void u12image_GetImageInfo( U12_Device *dev, ImgDef *image ) /* raus mit einem von beiden!!!!*/ dev->DataInf.dwAppBytesPerLine = dev->DataInf.dwAppPhyBytesPerLine; - + DBG( _DBG_INFO, "AppLinesPerArea = %lu\n", dev->DataInf.dwAppLinesPerArea ); DBG( _DBG_INFO, "AppPixelsPerLine = %lu\n", dev->DataInf.dwAppPixelsPerLine ); DBG( _DBG_INFO, "AppPhyBytesPerLine = %lu\n", dev->DataInf.dwAppPhyBytesPerLine ); @@ -418,7 +418,7 @@ static void u12image_GetImageInfo( U12_Device *dev, ImgDef *image ) DBG( _DBG_INFO, "Physical Bytes = %lu\n", dev->DataInf.dwPhysBytesPerLine ); } -/** +/** */ static int imageSetupScanSettings( U12_Device *dev, ImgDef *img ) { @@ -483,7 +483,7 @@ static SANE_Status u12image_SetupScanSettings( U12_Device *dev, ImgDef *img ) wPreviewScanned = 0; dev->scan.dpiIdx = 0; dev->scan.negScan = negScan; - + imageSetupScanSettings( dev, img ); if( !(dev->DataInf.dwScanFlag & _SCANDEF_TPA )) { @@ -816,7 +816,7 @@ static void u12image_PrepareScaling( U12_Device *dev ) dev->DataInf.xyAppDpi.x, dev->dpi_max_x ); if( dev->DataInf.xyAppDpi.x > dev->dpi_max_x ) { - + dev->scaleBuf = malloc( dev->DataInf.dwAppBytesPerLine ); ratio = (double)dev->DataInf.xyAppDpi.x/(double)dev->dpi_max_x; @@ -837,7 +837,7 @@ static void u12image_PrepareScaling( U12_Device *dev ) } else { DBG( _DBG_INFO, "u12image_PrepareScaling: DISABLED\n" ); - } + } } /** scaling picture data in x-direction, using a DDA algorithm diff --git a/backend/u12-io.c b/backend/u12-io.c index cd65b72..3c5bcb8 100644 --- a/backend/u12-io.c +++ b/backend/u12-io.c @@ -182,7 +182,7 @@ gl640WriteControl(int fd, GL640_Request req, u_char * data, unsigned int size) /* ind */ 0, /* len */ size, /* dat */ data); - + if( status != SANE_STATUS_GOOD ) { DBG( _DBG_ERROR, "gl640WriteControl error\n"); } @@ -507,7 +507,7 @@ static SANE_Status u12io_DataToRegs( U12_Device *dev, SANE_Byte *buf, int len ) return SANE_STATUS_GOOD; } -/** write data to the DAC +/** write data to the DAC */ static void u12io_DataRegisterToDAC( U12_Device *dev, SANE_Byte reg, SANE_Byte val ) @@ -619,7 +619,7 @@ static SANE_Bool u12io_IsConnected( U12_Device *dev ) dev->mode = mode ; } return SANE_FALSE; - } + } u12io_SwitchToEPPMode( dev ); DBG( _DBG_INFO, "* Scanner is connected!\n" ); @@ -693,7 +693,7 @@ static SANE_Status u12io_DownloadScanStates( U12_Device *dev ) dev->scanStates, _SCANSTATE_BYTES )); bulk_setup_data[1] = 0x11; -/* FIXME: refreshState probably always FALSE */ +/* FIXME: refreshState probably always FALSE */ if( dev->scan.refreshState ) { u12io_RegisterToScanner( dev, REG_REFRESHSCANSTATE ); @@ -724,7 +724,7 @@ static void u12io_PutOnAllRegisters( U12_Device *dev ) c = 0; rb = buf; - + *(rb++) = REG_MODECONTROL; *(rb++) = dev->regs.RD_ModeControl; c++; @@ -780,7 +780,7 @@ static u_long u12io_GetFifoLength( U12_Device *dev ) DBG( _DBG_READ, "Using cached FIFO len\n" ); memcpy( data, cacheLen, 13 ); u12io_ResetFifoLen(); - + } else { memset( bulk_setup_data, 0, 8 ); diff --git a/backend/u12-motor.c b/backend/u12-motor.c index c3d5120..5f28236 100644 --- a/backend/u12-motor.c +++ b/backend/u12-motor.c @@ -91,7 +91,7 @@ static void u12motor_Force16Steps( U12_Device *dev, int dir ) static void u12motor_ModuleFreeRun( U12_Device *dev, u_long steps ) { SANE_Byte rb[6]; - + rb[0] = REG_MOTORFREERUNCOUNT1; rb[1] = _HIBYTE(steps); rb[2] = REG_MOTORFREERUNCOUNT0; rb[3] = _LOBYTE(steps); rb[4] = REG_MOTORFREERUNTRIGGER; rb[5] = 0; @@ -124,7 +124,7 @@ static SANE_Status u12motor_PositionYProc( U12_Device *dev, u_long steps ) if( u12io_IsEscPressed()) { DBG( _DBG_INFO, "* CANCEL detected!\n" ); return SANE_STATUS_CANCELLED; - } + } } while( !u12io_CheckTimer( &timer )); DBG( _DBG_INFO, "u12motor_PositionYProc() - done\n" ); @@ -289,7 +289,7 @@ static SANE_Status u12motor_ModuleToHome( U12_Device *dev ) res = u12motor_PositionYProc( dev, 40 ); if( SANE_STATUS_GOOD != res ) return res; - + res = u12motor_BackToHomeSensor( dev ); if( SANE_STATUS_GOOD != res ) return res; @@ -382,7 +382,7 @@ static SANE_Status u12motor_WaitForPositionY( U12_Device *dev ) while(( u12io_GetExtendedStatus( dev ) & _STILL_FREE_RUNNING) && !u12io_CheckTimer(&timer)); - u12io_DataToRegister( dev, REG_MODECONTROL, _ModeScan ); + u12io_DataToRegister( dev, REG_MODECONTROL, _ModeScan ); } else { u12motor_PositionYProc( dev, dwBeginY ); u12io_RegisterToScanner( dev, REG_REFRESHSCANSTATE ); @@ -425,7 +425,7 @@ static SANE_Status u12motor_GotoShadingPosition( U12_Device *dev ) SANE_Byte rb[20]; SANE_Status res; int c; - + DBG( _DBG_INFO, "u12motor_GotoShadingPosition()\n" ); res = u12motor_ModuleToHome( dev ); if( SANE_STATUS_GOOD == res ) diff --git a/backend/u12-scanner.h b/backend/u12-scanner.h index be0c200..c2e9cc8 100644 --- a/backend/u12-scanner.h +++ b/backend/u12-scanner.h @@ -61,7 +61,7 @@ typedef double TimerDef; #define _DODELAY(msecs) u12io_udelay(1000*msecs) /*{ int i; for( i = msecs; i--; ) _DO_UDELAY(1000); }*/ #else -#define _DODELAY(msecs) +#define _DODELAY(msecs) #endif /* ModuleStates */ diff --git a/backend/u12-shading.c b/backend/u12-shading.c index e31c7ee..76cc690 100644 --- a/backend/u12-shading.c +++ b/backend/u12-shading.c @@ -795,7 +795,7 @@ static SANE_Status u12shading_DoCalibration( U12_Device *dev ) SANE_Byte bScanControl, rb[20]; SANE_Status res; int c; - + DBG( _DBG_INFO, "u12shading_DoCalibration()\n" ); /** before getting the shading data, (re)init the ASIC @@ -847,7 +847,7 @@ static SANE_Status u12shading_DoCalibration( U12_Device *dev ) res = u12shading_AdjustRGBGain( dev ); if( SANE_STATUS_GOOD != res ) return res; - + res = u12shadingAdjustDark( dev ); if( SANE_STATUS_GOOD != res ) return res; diff --git a/backend/u12.c b/backend/u12.c index 083d9f3..57e1f63 100644 --- a/backend/u12.c +++ b/backend/u12.c @@ -161,9 +161,9 @@ static const SANE_String_Const src_list[] = static const SANE_Range percentage_range = { - -100 << SANE_FIXED_SCALE_SHIFT, /* minimum */ - 100 << SANE_FIXED_SCALE_SHIFT, /* maximum */ - 1 << SANE_FIXED_SCALE_SHIFT /* quantization */ + SANE_FIX(-100), /* minimum */ + SANE_FIX( 100), /* maximum */ + SANE_FIX( 1) /* quantization */ }; /* authorization stuff */ @@ -307,7 +307,7 @@ static int reader_process( void *args ) struct SIGACTION act; sigset_t ignore_set; SANE_Status status; - + U12_Scanner *scanner = (U12_Scanner *)args; if( sanei_thread_is_forked()) { @@ -348,11 +348,11 @@ static int reader_process( void *args ) DBG( _DBG_FATAL, "NULL Pointer !!!!\n" ); return SANE_STATUS_IO_ERROR; } - + /* here we read all data from the scanner... */ buf = scanner->buf; status = u12if_prepare( scanner->hw ); - + if( SANE_STATUS_GOOD == status ) { for( line = 0; line < scanner->params.lines; line++ ) { @@ -393,7 +393,7 @@ static SANE_Status do_cancel( U12_Scanner *scanner, SANE_Bool closepipe ) if( sanei_thread_is_valid (scanner->reader_pid) ) { - DBG( _DBG_PROC, ">>>>>>>> killing reader_process <<<<<<<<\n" ); + DBG( _DBG_PROC, "---- killing reader_process ----\n" ); cancelRead = SANE_TRUE; @@ -413,7 +413,7 @@ static SANE_Status do_cancel( U12_Scanner *scanner, SANE_Bool closepipe ) if( res != scanner->reader_pid ) { DBG( _DBG_PROC,"sanei_thread_waitpid() failed !\n"); - + /* do it the hard way...*/ #ifdef USE_PTHREAD sanei_thread_kill( scanner->reader_pid ); @@ -421,7 +421,7 @@ static SANE_Status do_cancel( U12_Scanner *scanner, SANE_Bool closepipe ) sanei_thread_sendsig( scanner->reader_pid, SIGKILL ); #endif } - scanner->reader_pid = -1; + sanei_thread_invalidate( scanner->reader_pid ); DBG( _DBG_PROC, "reader_process killed\n"); if( scanner->hw->fd >= 0 ) { @@ -589,12 +589,12 @@ static SANE_Status init_options( U12_Scanner *s ) s->val[OPT_BR_Y].w = SANE_FIX(_DEFAULT_BRY); /* "Enhancement" group: */ - s->opt[OPT_ENHANCEMENT_GROUP].title = SANE_I18N("Enhancement"); + s->opt[OPT_ENHANCEMENT_GROUP].title = SANE_I18N("Enhancement"); s->opt[OPT_ENHANCEMENT_GROUP].desc = ""; s->opt[OPT_ENHANCEMENT_GROUP].type = SANE_TYPE_GROUP; s->opt[OPT_ENHANCEMENT_GROUP].cap = 0; s->opt[OPT_ENHANCEMENT_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - + u12map_InitGammaSettings( s->hw ); /* grayscale gamma vector */ @@ -641,7 +641,7 @@ static SANE_Status init_options( U12_Scanner *s ) s->opt[OPT_GAMMA_VECTOR_B].constraint.range = &(s->hw->gamma_range); s->opt[OPT_GAMMA_VECTOR_B].size = s->hw->gamma_length * sizeof(SANE_Word); - /* GAMMA stuff is disabled per default */ + /* GAMMA stuff is disabled per default */ s->opt[OPT_GAMMA_VECTOR].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_R].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_G].cap |= SANE_CAP_INACTIVE; @@ -661,8 +661,8 @@ static SANE_Status init_options( U12_Scanner *s ) * @param dest - pointer to a string to receive the USB ID */ static void decodeUsbIDs( char *src, char **dest ) -{ - const char *name; +{ + const char *name; char *tmp = *dest; int len = strlen(_SECTION); @@ -677,11 +677,11 @@ static void decodeUsbIDs( char *src, char **dest ) if( '\0' == name[0] ) { DBG( _DBG_SANE_INIT, "next device uses autodetection\n" ); } else { - + u_short pi = 0, vi = 0; if( *name ) { - + name = sanei_config_get_string( name, &tmp ); if( tmp ) { vi = strtol( tmp, 0, 0 ); @@ -691,7 +691,7 @@ static void decodeUsbIDs( char *src, char **dest ) name = sanei_config_skip_whitespace( name ); if( *name ) { - + name = sanei_config_get_string( name, &tmp ); if( tmp ) { pi = strtol( tmp, 0, 0 ); @@ -733,14 +733,14 @@ static SANE_Bool decodeVal( char *src, char *opt, /* on success, compare wiht the given one */ if( 0 == strcmp( tmp, opt )) { - + DBG( _DBG_SANE_INIT, "Decoding option >%s<\n", opt ); if( _INT == what ) { - + /* assign the default value for this option... */ *((int*)result) = *((int*)def); - + if( *name ) { /* get the configuration value and decode it */ @@ -751,14 +751,14 @@ static SANE_Bool decodeVal( char *src, char *opt, free( tmp2 ); } } - free( tmp ); + free( tmp ); return SANE_TRUE; - + } else if( _FLOAT == what ) { - + /* assign the default value for this option... */ *((double*)result) = *((double*)def); - + if( *name ) { /* get the configuration value and decode it */ @@ -769,13 +769,13 @@ static SANE_Bool decodeVal( char *src, char *opt, free( tmp2 ); } } - free( tmp ); + free( tmp ); return SANE_TRUE; } - } + } free( tmp ); } - + return SANE_FALSE; } @@ -788,27 +788,27 @@ static SANE_Bool decodeVal( char *src, char *opt, */ static SANE_Bool decodeDevName( char *src, char *dest ) { - char *tmp; + char *tmp; const char *name; if( 0 == strncmp( "device", src, 6 )) { name = (const char*)&src[strlen("device")]; name = sanei_config_skip_whitespace( name ); - + DBG( _DBG_SANE_INIT, "Decoding device name >%s<\n", name ); - + if( *name ) { name = sanei_config_get_string( name, &tmp ); if( tmp ) { - + strcpy( dest, tmp ); free( tmp ); return SANE_TRUE; } - } + } } - + return SANE_FALSE; } @@ -842,7 +842,7 @@ static SANE_Status attach( const char *dev_name, /* assign all the stuff we need fo this device... */ memset(dev, 0, sizeof (*dev)); - + dev->fd = -1; dev->name = strdup(dev_name); /* hold it double to avoid */ dev->sane.name = dev->name; /* compiler warnings */ @@ -855,7 +855,7 @@ static SANE_Status attach( const char *dev_name, show_cnf( cnf ); strncpy( dev->usbId, cnf->usbId, _MAX_ID_LEN ); - + /* go ahead and open the scanner device */ handle = u12if_open( dev ); if( handle < 0 ) { @@ -939,7 +939,7 @@ SANE_Status sane_init( SANE_Int *version_code, SANE_Auth_Callback authorize ) first_handle = NULL; num_devices = 0; - /* initialize the configuration structure */ + /* initialize the configuration structure */ init_config_struct( &config ); if( version_code != NULL ) @@ -953,26 +953,26 @@ SANE_Status sane_init( SANE_Int *version_code, SANE_Auth_Callback authorize ) } while( sanei_config_read( str, sizeof(str), fp)) { - + DBG( _DBG_SANE_INIT, ">%s<\n", str ); if( str[0] == '#') /* ignore line comments */ continue; - + len = strlen(str); if( 0 == len ) continue; /* ignore empty lines */ /* check for options */ if( 0 == strncmp(str, "option", 6)) { - + int ival; double dval; - + ival = -1; decodeVal( str, "warmup", _INT, &config.adj.warmup, &ival); decodeVal( str, "lampOff", _INT, &config.adj.lampOff, &ival); decodeVal( str, "lOffOnEnd", _INT, &config.adj.lampOffOnEnd,&ival); - + ival = 0; dval = 1.5; @@ -984,9 +984,9 @@ SANE_Status sane_init( SANE_Int *version_code, SANE_Auth_Callback authorize ) /* check for sections: */ } else if( 0 == strncmp( str, _SECTION, strlen(_SECTION))) { - + char *tmp; - + /* new section, try and attach previous device */ if( config.devName[0] != '\0' ) { attach( config.devName, &config, 0 ); @@ -996,20 +996,20 @@ SANE_Status sane_init( SANE_Int *version_code, SANE_Auth_Callback authorize ) " ignored!\n" ); } } - + /* re-initialize the configuration structure */ init_config_struct( &config ); - + tmp = config.usbId; decodeUsbIDs( str, &tmp ); - + DBG( _DBG_SANE_INIT, "... next device\n" ); - continue; + continue; } else if( SANE_TRUE == decodeDevName( str, config.devName )) { continue; } - + /* ignore other stuff... */ DBG( _DBG_SANE_INIT, "ignoring >%s<\n", str ); } @@ -1107,7 +1107,7 @@ SANE_Status sane_open( SANE_String_Const devicename, SANE_Handle* handle ) if( !dev ) { memset( &config, 0, sizeof(CnfDef)); - + status = attach( devicename, &config, &dev ); if( SANE_STATUS_GOOD != status ) return status; @@ -1137,7 +1137,7 @@ SANE_Status sane_open( SANE_String_Const devicename, SANE_Handle* handle ) first_handle = s; *handle = s; - + return SANE_STATUS_GOOD; } @@ -1201,7 +1201,7 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, int idx; #endif int scanmode; - + if ( s->scanning ) return SANE_STATUS_DEVICE_BUSY; @@ -1306,7 +1306,7 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, if( NULL != info ) *info |= SANE_INFO_RELOAD_PARAMS; break; - + case OPT_CUSTOM_GAMMA: s->val[option].w = *(SANE_Word *)value; if( NULL != info ) @@ -1325,26 +1325,26 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, s->opt[OPT_GAMMA_VECTOR_B].cap |= SANE_CAP_INACTIVE; if( SANE_TRUE == s->val[option].w ) { - + if( scanmode == COLOR_256GRAY ) { s->opt[OPT_GAMMA_VECTOR].cap &= ~SANE_CAP_INACTIVE; } else { s->opt[OPT_GAMMA_VECTOR_R].cap &= ~SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_G].cap &= ~SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_B].cap &= ~SANE_CAP_INACTIVE; - } - + } + } else { - + u12map_InitGammaSettings( s->hw ); - + if( scanmode == COLOR_256GRAY ) { s->opt[OPT_GAMMA_VECTOR].cap |= SANE_CAP_INACTIVE; - } else { + } else { s->opt[OPT_GAMMA_VECTOR_R].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_G].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_B].cap |= SANE_CAP_INACTIVE; - } + } } break; @@ -1355,26 +1355,26 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, break; #ifdef ALL_MODES - case OPT_MODE: + case OPT_MODE: idx = (optval - mode_list); mp = getModeList( s ); - + s->opt[OPT_CONTRAST].cap &= ~SANE_CAP_INACTIVE; s->opt[OPT_CUSTOM_GAMMA].cap &= ~SANE_CAP_INACTIVE; if( mp[idx].scanmode == COLOR_BW ) { s->opt[OPT_CONTRAST].cap |= SANE_CAP_INACTIVE; s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_INACTIVE; - } - + } + s->opt[OPT_GAMMA_VECTOR].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_R].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_G].cap |= SANE_CAP_INACTIVE; s->opt[OPT_GAMMA_VECTOR_B].cap |= SANE_CAP_INACTIVE; - + if( s->val[OPT_CUSTOM_GAMMA].w && !(s->opt[OPT_CUSTOM_GAMMA].cap & SANE_CAP_INACTIVE)) { - + if( mp[idx].scanmode == COLOR_256GRAY ) { s->opt[OPT_GAMMA_VECTOR].cap &= ~SANE_CAP_INACTIVE; } else { @@ -1595,7 +1595,7 @@ SANE_Status sane_start( SANE_Handle handle ) u12if_close( dev ); return SANE_STATUS_IO_ERROR; } - + /* All ready to go. Set image def and see what the scanner * says for crop info. */ @@ -1728,9 +1728,9 @@ SANE_Status sane_start( SANE_Handle handle ) s->r_pipe = fds[0]; s->w_pipe = fds[1]; s->reader_pid = sanei_thread_begin( reader_process, s ); - + cancelRead = SANE_FALSE; - + if( !sanei_thread_is_valid (s->reader_pid) ) { DBG( _DBG_ERROR, "ERROR: could not start reader task\n" ); s->scanning = SANE_FALSE; @@ -1743,7 +1743,7 @@ SANE_Status sane_start( SANE_Handle handle ) close( s->w_pipe ); s->w_pipe = -1; } - + DBG( _DBG_SANE_INIT, "sane_start done\n" ); return SANE_STATUS_GOOD; } @@ -1773,7 +1773,7 @@ SANE_Status sane_read( SANE_Handle handle, SANE_Byte *data, if( s->bytes_read == (unsigned long)(s->params.lines * s->params.bytes_per_line)) { sanei_thread_waitpid( s->reader_pid, 0 ); - s->reader_pid = -1; + sanei_thread_invalidate( s->reader_pid ); drvClose( s->hw ); return drvClosePipes(s); } @@ -1801,7 +1801,7 @@ SANE_Status sane_read( SANE_Handle handle, SANE_Byte *data, drvClosePipes(s); return s->exit_code; } - s->reader_pid = -1; + sanei_thread_invalidate( s->reader_pid ); return drvClosePipes(s); } @@ -1837,9 +1837,9 @@ SANE_Status sane_set_io_mode( SANE_Handle handle, SANE_Bool non_blocking ) DBG( _DBG_ERROR, "ERROR: not supported !\n" ); return SANE_STATUS_UNSUPPORTED; } - + if( fcntl (s->r_pipe, F_SETFL, non_blocking ? O_NONBLOCK : 0) < 0) { - DBG( _DBG_ERROR, "ERROR: cant set to non-blocking mode !\n" ); + DBG( _DBG_ERROR, "ERROR: can´t set to non-blocking mode !\n" ); return SANE_STATUS_IO_ERROR; } diff --git a/backend/u12.conf.in b/backend/u12.conf.in index c5457cb..baeea79 100644 --- a/backend/u12.conf.in +++ b/backend/u12.conf.in @@ -63,5 +63,5 @@ device auto # # to define a new device, start with a new section: -# [usb] +# [usb] # diff --git a/backend/u12.h b/backend/u12.h index 5d18c96..41b19b9 100644 --- a/backend/u12.h +++ b/backend/u12.h @@ -72,7 +72,7 @@ typedef union #define _MEASURE_BASE 300UL #define _DEF_DPI 50 -/** the default image +/** the default image */ #define _DEFAULT_TLX 0 #define _DEFAULT_TLY 0 @@ -184,7 +184,7 @@ typedef struct { double graygamma; /* for adjusting scan-area */ - long upNormal; + long upNormal; long upPositive; long upNegative; long leftNormal; @@ -240,7 +240,7 @@ typedef struct u12d SANE_Int res_list_size; /* resolution values */ ScannerCaps caps; /* caps reported by the driver */ AdjDef adj; /* for driver adjustment */ - + char usbId[_MAX_ID_LEN];/* to keep Vendor and product */ /* ID string (from conf) file */ /* our gamma tables */ @@ -322,7 +322,7 @@ typedef struct u12s /** for collecting configuration info... */ typedef struct { - + char devName[PATH_MAX]; char usbId[_MAX_ID_LEN]; diff --git a/backend/umax-scanner.c b/backend/umax-scanner.c index 21f24ce..03bca0e 100644 --- a/backend/umax-scanner.c +++ b/backend/umax-scanner.c @@ -1,7 +1,7 @@ /* -------------------------------------------------------------------- */ /* umax-scanner.c: scanner-definiton file for UMAX scanner driver. - + (C) 1997-2004 Oliver Rauch This program is free software; you can redistribute it and/or @@ -39,7 +39,7 @@ 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. - + */ /* -------------------------------------------------------------------- */ @@ -95,9 +95,9 @@ static char *scanner_str[] = "UMAX ", "Astra 600S ", "UMAX ", "Astra 610S ", "UMAX ", "Astra 1200S ", - "UMAX ", "Astra 1220S ", - "UMAX ", "Astra 2100S ", - "UMAX ", "Astra 2200 ", + "UMAX ", "Astra 1220S ", + "UMAX ", "Astra 2100S ", + "UMAX ", "Astra 2200 ", "UMAX ", "Astra 2400S ", /* "UMAX ", "Astra 6400 ", */ /* this is a firewire scanner */ /* "UMAX ", "Astra 6450 ", */ /* this is a firewire scanner */ @@ -124,8 +124,8 @@ static char *scanner_str[] = "HDM ", "LS4H1S ", /* Linoscan 1400 */ "Nikon ", "AX-110 ", /* is a Vista S6E */ "Nikon ", "AX-210 ", /* is a Supervista S12 */ - "KYE ", "ColorPage-HR5 ", - "EPSON ", "Perfection600 ", + "KYE ", "ColorPage-HR5 ", + "EPSON ", "Perfection600 ", "ESCORT ", "Galleria 600S ", /* is an Astra 600S */ "EDGE ", "KTX-9600US ", /* may be an Astra 1220S */ "TriGem ", "PowerScanII ", /* is a Supervista S12 */ @@ -133,4 +133,3 @@ static char *scanner_str[] = }; /* ==================================================================== */ - diff --git a/backend/umax-scanner.h b/backend/umax-scanner.h index 6c9a93a..da10b7b 100644 --- a/backend/umax-scanner.h +++ b/backend/umax-scanner.h @@ -1,7 +1,7 @@ /* -------------------------------------------------------------------- */ /* umax-scanner.h: scanner-definiton header-file for UMAX scanner driver. - + (C) 1997-2002 Oliver Rauch This program is free software; you can redistribute it and/or @@ -39,7 +39,7 @@ 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. - + */ /* -------------------------------------------------------------------- */ @@ -58,4 +58,3 @@ typedef struct } inquiry_blk; #endif - diff --git a/backend/umax-scsidef.h b/backend/umax-scsidef.h index f192e2c..ddb04bb 100644 --- a/backend/umax-scsidef.h +++ b/backend/umax-scsidef.h @@ -287,9 +287,9 @@ static scsiblk inquiry = { inquiryC, sizeof(inquiryC) }; #define get_inquiry_0x65(in) in[0x65] #define get_inquiry_gib(in) in[0x66] -#define get_inquiry_gib_8bpp(in) getbitfield(in + 0x66, 1, 0) +#define get_inquiry_gib_8bpp(in) getbitfield(in + 0x66, 1, 0) #define get_inquiry_gib_9bpp(in) getbitfield(in + 0x66, 1, 1) -#define get_inquiry_gib_10bpp(in) getbitfield(in + 0x66, 1, 2) +#define get_inquiry_gib_10bpp(in) getbitfield(in + 0x66, 1, 2) #define get_inquiry_gib_12bpp(in) getbitfield(in + 0x66, 1, 3) #define get_inquiry_gib_14bpp(in) getbitfield(in + 0x66, 1, 4) #define get_inquiry_gib_16bpp(in) getbitfield(in + 0x66, 1, 5) @@ -301,9 +301,9 @@ static scsiblk inquiry = { inquiryC, sizeof(inquiryC) }; #define get_inquiry_0x67(in) in[0x67] #define get_inquiry_gob(in) in[0x68] -#define get_inquiry_gob_8bpp(in) getbitfield(in + 0x68, 1, 0) +#define get_inquiry_gob_8bpp(in) getbitfield(in + 0x68, 1, 0) #define get_inquiry_gob_9bpp(in) getbitfield(in + 0x68, 1, 1) -#define get_inquiry_gob_10bpp(in) getbitfield(in + 0x68, 1, 2) +#define get_inquiry_gob_10bpp(in) getbitfield(in + 0x68, 1, 2) #define get_inquiry_gob_12bpp(in) getbitfield(in + 0x68, 1, 3) #define get_inquiry_gob_14bpp(in) getbitfield(in + 0x68, 1, 4) #define get_inquiry_gob_16bpp(in) getbitfield(in + 0x68, 1, 5) @@ -653,7 +653,7 @@ static unsigned char window_descriptor_blockC[] = # define WD_calibration_lineart 0x0f # define WD_calibration_dither 0x0e # define WD_calibration_gray 0x0d -# define WD_calibration_rgb 0x0a +# define WD_calibration_rgb 0x0a # define WD_calibration_ignore 0x09 /* 0x3a */ 0x01, /* Color Sequence, Color Ordering Support */ @@ -722,7 +722,7 @@ static scsiblk window_descriptor_block = { window_descriptor_blockC, sizeof(wind /* --------------------------------------------------------------------------------------------------------- */ - + #define set_WDB_length(length) (window_descriptor_block.size = (length)) #define WPDB_OFF(b) (b + set_window.size) @@ -744,7 +744,7 @@ static scsiblk scan = { scanC, sizeof(scanC) - 3 }; #define set_SC_quality(sb, val) setbitfield(sb + 0x05, 1, 5, val) #define set_SC_adf(sb, val) setbitfield(sb + 0x05, 1, 6, val) #define set_SC_preview(sb, val) setbitfield(sb + 0x05, 1, 7, val) -#define set_SC_wid(sb, n, val) sb[0x05 + n] = val +#define set_SC_wid(sb, n, val) sb[0x05 + n] = val /* --------------------------------------------------------------------------------------------------------- */ @@ -907,12 +907,12 @@ static scsiblk request_sense = { request_senseC, sizeof(request_senseC) }; #define get_RS_filemark(b) getbitfield(b + 0x02, 1, 7) #define get_RS_EOM(b) getbitfield(b + 0x02, 1, 6) #define get_RS_ILI(b) getbitfield(b + 0x02, 1, 5) -#define get_RS_sense_key(b) getbitfield(b + 0x02, 0x0f, 0) -#define get_RS_information(b) getnbyte(b+0x03, 4) +#define get_RS_sense_key(b) getbitfield(b + 0x02, 0x0f, 0) +#define get_RS_information(b) getnbyte(b+0x03, 4) #define get_RS_additional_length(b) b[0x07] #define get_RS_ASC(b) b[0x0c] #define get_RS_ASCQ(b) b[0x0d] -#define get_RS_SKSV(b) getbitfield(b+0x0f,1,7) /* valid */ +#define get_RS_SKSV(b) getbitfield(b+0x0f,1,7) /* valid */ #define get_RS_CD(b) getbitfield(b+0x0f,1,6) /* 1=CDB */ #define get_RS_field_pointer(b) getnbyte(b+0x10, 2) diff --git a/backend/umax-uc1200s.c b/backend/umax-uc1200s.c index 97e5416..5569a2b 100644 --- a/backend/umax-uc1200s.c +++ b/backend/umax-uc1200s.c @@ -2,7 +2,7 @@ /* ------------------------------------------------------------------------- */ /* umax-uc1200s.c: inquiry for UMAX scanner uc1200s - + (C) 1997-2002 Oliver Rauch This program is free software; you can redistribute it and/or @@ -59,13 +59,13 @@ static unsigned char UC1200S_INQUIRY[] = /* 28 - 29 reserved */ 0x00, 0x00, -/* 2a - 35 exposure times */ +/* 2a - 35 exposure times */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* 36 - 37 reserved */ +/* 36 - 37 reserved */ 0x00, 0x00, /* 38 - 5f scsi reserved */ @@ -78,7 +78,7 @@ static unsigned char UC1200S_INQUIRY[] = /* 60 -62 scanner capability*/ 0x2f, 0x0c, - 0x07, + 0x07, /* 63 reserved */ 0x00, @@ -151,7 +151,7 @@ static unsigned char UC1200S_INQUIRY[] = /* 8a-8b dor max scan width in 0.01 inch */ 0x00, 0x00, - + /* 8c-8d dor max scan length in 0.01 inch */ 0x00, 0x00, diff --git a/backend/umax-uc1200se.c b/backend/umax-uc1200se.c index defe65a..f1e8e31 100644 --- a/backend/umax-uc1200se.c +++ b/backend/umax-uc1200se.c @@ -2,7 +2,7 @@ /* ------------------------------------------------------------------------- */ /* umax-uc1200se.c: inquiry for UMAX scanner uc1200se - + (C) 1998-2002 Oliver Rauch This program is free software; you can redistribute it and/or @@ -59,13 +59,13 @@ static unsigned char UC1200SE_INQUIRY[] = /* 28 - 29 reserved */ 0x00, 0x00, -/* 2a - 35 exposure times */ +/* 2a - 35 exposure times */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* 36 - 37 reserved */ +/* 36 - 37 reserved */ 0x00, 0x00, /* 38 - 5f scsi reserved */ @@ -78,7 +78,7 @@ static unsigned char UC1200SE_INQUIRY[] = /* 60 -62 scanner capability*/ 0x3e, 0x0c, - 0x03, + 0x03, /* 63 reserved */ 0x00, @@ -151,7 +151,7 @@ static unsigned char UC1200SE_INQUIRY[] = /* 8a-8b dor max scan width in 0.01 inch */ 0x00, 0x00, - + /* 8c-8d dor max scan length in 0.01 inch */ 0x00, 0x00, diff --git a/backend/umax-uc1260.c b/backend/umax-uc1260.c index 7743cd4..4de9170 100644 --- a/backend/umax-uc1260.c +++ b/backend/umax-uc1260.c @@ -1,7 +1,7 @@ /* ------------------------------------------------------------------------- */ /* umax-uc1260.c: inquiry for UMAX scanner uc1260 - + (C) 1997-2002 Oliver Rauch This program is free software; you can redistribute it and/or @@ -58,13 +58,13 @@ static unsigned char UC1260_INQUIRY[] = /* 28 - 29 reserved */ 0x00, 0x00, -/* 2a - 35 exposure times */ +/* 2a - 35 exposure times */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* 36 - 37 reserved */ +/* 36 - 37 reserved */ 0x00, 0x00, /* 38 - 5f scsi reserved */ @@ -75,9 +75,9 @@ static unsigned char UC1260_INQUIRY[] = 00, 00, 00, 00, 00, 00, 00, 00, /* 60 -62 scanner capability*/ - 0x31, + 0x31, 0x0c, - 0x07, + 0x07, /* 63 reserved */ 0x00, @@ -151,7 +151,7 @@ static unsigned char UC1260_INQUIRY[] = /* 8a-8b dor max scan width in 0.01 inch */ 0x00, 0x00, - + /* 8c-8d dor max scan length in 0.01 inch */ 0x00, 0x00, diff --git a/backend/umax-uc630.c b/backend/umax-uc630.c index 0fbc59f..440064c 100644 --- a/backend/umax-uc630.c +++ b/backend/umax-uc630.c @@ -1,7 +1,7 @@ /* ------------------------------------------------------------------------- */ /* umax-uc630.c: inquiry for UMAX scanner uc630 - + (C) 1997-2002 Oliver Rauch This program is free software; you can redistribute it and/or @@ -58,13 +58,13 @@ static unsigned char UC630_INQUIRY[] = /* 28 - 29 reserved */ 0x00, 0x00, -/* 2a - 35 exposure times */ +/* 2a - 35 exposure times */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* 36 - 37 reserved */ +/* 36 - 37 reserved */ 0x00, 0x00, /* 38 - 5f scsi reserved */ @@ -77,7 +77,7 @@ static unsigned char UC630_INQUIRY[] = /* 60 -62 scanner capability */ 0xfd, 0x80, - 0x03, + 0x03, /* 63 reserved */ 0x00, @@ -150,7 +150,7 @@ static unsigned char UC630_INQUIRY[] = /* 8a-8b dor max scan width in 0.01 inch */ 0x00, 0x00, - + /* 8c-8d dor max scan length in 0.01 inch */ 0x00, 0x00, @@ -192,4 +192,3 @@ static inquiry_blk inquiry_uc630 = { "UC630 ", UC630_INQUIRY, UC630_INQUIRY_LEN }; - diff --git a/backend/umax-uc840.c b/backend/umax-uc840.c index 8f430fe..0592c95 100644 --- a/backend/umax-uc840.c +++ b/backend/umax-uc840.c @@ -1,7 +1,7 @@ /* ------------------------------------------------------------------------- */ /* umax-uc840.c: inquiry for UMAX scanner uc840 - + (C) 1997-2002 Oliver Rauch This program is free software; you can redistribute it and/or @@ -58,13 +58,13 @@ static unsigned char UC840_INQUIRY[] = /* 28 - 29 reserved */ 0x00, 0x00, -/* 2a - 35 exposure times */ +/* 2a - 35 exposure times */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* 36 - 37 reserved */ +/* 36 - 37 reserved */ 0x00, 0x00, /* 38 - 5f scsi reserved */ @@ -77,13 +77,13 @@ static unsigned char UC840_INQUIRY[] = /* 60 -62 scanner capability*/ 0xfd, 0x8c, /* 0xbc ? */ - 0x03, + 0x03, /* 63 reserved */ 0x00, /* 64 gamma */ - 0xa1, + 0xa1, /* 65 reserved */ 0x00, @@ -150,7 +150,7 @@ static unsigned char UC840_INQUIRY[] = /* 8a-8b dor max scan width in 0.01 inch */ 0x00, 0x00, - + /* 8c-8d dor max scan length in 0.01 inch */ 0x00, 0x00, @@ -192,4 +192,3 @@ static inquiry_blk inquiry_uc840 = { "UC840 ", UC840_INQUIRY, UC840_INQUIRY_LEN }; - diff --git a/backend/umax-ug630.c b/backend/umax-ug630.c index 0a584b2..3a339fc 100644 --- a/backend/umax-ug630.c +++ b/backend/umax-ug630.c @@ -1,7 +1,7 @@ /* ------------------------------------------------------------------------- */ /* umax-ug630.c: inquiry for UMAX scanner ug630 - + (C) 1997-2002 Oliver Rauch This program is free software; you can redistribute it and/or @@ -58,13 +58,13 @@ static unsigned char UG630_INQUIRY[] = /* 28 - 29 reserved */ 0x00, 0x00, -/* 2a - 35 exposure times */ +/* 2a - 35 exposure times */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* 36 - 37 reserved */ +/* 36 - 37 reserved */ 0x00, 0x00, /* 38 - 5f scsi reserved */ @@ -150,7 +150,7 @@ static unsigned char UG630_INQUIRY[] = /* 8a-8b dor max scan width in 0.01 inch */ 0x00, 0x00, - + /* 8c-8d dor max scan length in 0.01 inch */ 0x00, 0x00, @@ -192,4 +192,3 @@ static inquiry_blk inquiry_ug630 = { "UG630 ", UG630_INQUIRY, UG630_INQUIRY_LEN }; - diff --git a/backend/umax-ug80.c b/backend/umax-ug80.c index b9d1d42..2e31d61 100644 --- a/backend/umax-ug80.c +++ b/backend/umax-ug80.c @@ -1,9 +1,9 @@ /* ------------------------------------------------------------------------- */ /* umax-ug80.c: inquiry for UMAX scanner ug80 - + (C) 1998-2002 Oliver Rauch - + Thanks to Andreas Hofmeister for his help! @@ -61,13 +61,13 @@ static unsigned char UG80_INQUIRY[] = /* 28 - 29 reserved */ 0x00, 0x00, -/* 2a - 35 exposure times */ +/* 2a - 35 exposure times */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* 36 - 37 reserved */ +/* 36 - 37 reserved */ 0x00, 0x00, /* 38 - 5f scsi reserved */ @@ -153,7 +153,7 @@ static unsigned char UG80_INQUIRY[] = /* 8a-8b dor max scan width in 0.01 inch */ 0x00, 0x00, - + /* 8c-8d dor max scan length in 0.01 inch */ 0x00, 0x00, @@ -195,4 +195,3 @@ static inquiry_blk inquiry_ug80 = { "UG80 ",UG80_INQUIRY,UG80_INQUIRY_LEN, }; - diff --git a/backend/umax-usb.c b/backend/umax-usb.c index c26aeae..75f4739 100644 --- a/backend/umax-usb.c +++ b/backend/umax-usb.c @@ -2,7 +2,7 @@ /* sane - Scanner Access Now Easy. - umax-usb.c + umax-usb.c (C) 2001-2002 Frank Zago @@ -77,7 +77,7 @@ static u_char cdb_sizes[8] = { /* Sends a CDB to the scanner. Also sends the parameters and receives * the data, if necessary. When this function returns with a - * SANE_STATUS_GOOD, the SCSI command has been completed. + * SANE_STATUS_GOOD, the SCSI command has been completed. * * Note: I don't know about deferred commands. */ @@ -88,7 +88,7 @@ static SANE_Status sanei_umaxusb_cmd(int fd, const void *src, size_t src_size, v size_t param_size = src_size - cmd_size; const char * param_ptr = ((const char *) src) + cmd_size; size_t tmp_len; - + DBG(DBG_info, "Sending SCSI cmd 0x%02x cdb len %ld, param len %ld, result len %ld\n", ((const unsigned char *)src)[0], (long)cmd_size, (long)param_size, dst_size? (long)*dst_size:(long)0); /* This looks like some kind of pre-initialization. */ @@ -100,7 +100,7 @@ static SANE_Status sanei_umaxusb_cmd(int fd, const void *src, size_t src_size, v sanei_pv8630_write_byte(fd, PV8630_RMODE, 0x16); sanei_pv8630_flush_buffer(fd); sanei_pv8630_prep_bulkwrite(fd, cmd_size); - + tmp_len = cmd_size; sanei_pv8630_bulkwrite(fd, src, &tmp_len); sanei_pv8630_wait_byte(fd, PV8630_RSTATUS, 0xf8, 0xff, 1000); @@ -118,19 +118,19 @@ static SANE_Status sanei_umaxusb_cmd(int fd, const void *src, size_t src_size, v } return(SANE_STATUS_IO_ERROR); } - + /* Send the parameters and check they've been received OK. */ if (param_size) { sanei_pv8630_flush_buffer(fd); sanei_pv8630_prep_bulkwrite(fd, param_size); - + tmp_len = param_size; sanei_pv8630_bulkwrite(fd, param_ptr, &tmp_len); sanei_pv8630_wait_byte(fd, PV8630_RSTATUS, 0xf8, 0xff, 1000); - + sanei_pv8630_flush_buffer(fd); sanei_pv8630_prep_bulkread(fd, 1); - + result = 0xA5; /* to be sure */ tmp_len = 1; sanei_pv8630_bulkread(fd, &result, &tmp_len); @@ -174,7 +174,7 @@ static SANE_Status sanei_umaxusb_cmd(int fd, const void *src, size_t src_size, v sanei_pv8630_wait_byte(fd, PV8630_RSTATUS, 0xd0, 0xff, 1000); DBG(DBG_info, " SCSI command successfully executed\n"); - + return(SANE_STATUS_GOOD); } @@ -214,12 +214,12 @@ static SANE_Status pv8630_init_umaxusb_scanner(int fd) sanei_pv8630_write_byte(fd, PV8630_RMODE, 0x16); DBG(DBG_info, "PV8630 initialized\n"); - + return(SANE_STATUS_GOOD); } -/* +/* * SCSI functions for the emulation. * * The following functions emulate their sanei_scsi_* counterpart. @@ -227,7 +227,7 @@ static SANE_Status pv8630_init_umaxusb_scanner(int fd) */ -/* +/* * sanei_umaxusb_req_wait() and sanei_umaxusb_req_enter() * * I don't know if it is possible to queue the reads to the @@ -255,7 +255,7 @@ sanei_umaxusb_req_wait (void *id) return(SANE_STATUS_GOOD); } -/* Open the device. +/* Open the device. */ static SANE_Status sanei_umaxusb_open (const char *dev, int *fdp, @@ -290,16 +290,16 @@ sanei_umaxusb_open (const char *dev, int *fdp, *fdp = -1; return SANE_STATUS_UNSUPPORTED; } - - /* It's a good scanner. Initialize it. + + /* It's a good scanner. Initialize it. * * Note: pv8630_init_umaxusb_scanner() is for the UMAX * 2200. Other UMAX scanner might need a different * initialization routine. */ - pv8630_init_umaxusb_scanner(*fdp); + pv8630_init_umaxusb_scanner(*fdp); } - + return(SANE_STATUS_GOOD); } @@ -318,7 +318,3 @@ sanei_umaxusb_close (int fd) { sanei_usb_close(fd); } - - - - diff --git a/backend/umax.c b/backend/umax.c index 22fa2d3..94f8aa4 100644 --- a/backend/umax.c +++ b/backend/umax.c @@ -2,7 +2,7 @@ /* sane - Scanner Access Now Easy. - umax.c + umax.c (C) 1997-2007 Oliver Rauch @@ -106,7 +106,7 @@ in ADF mode this is done often: #ifndef SANE_I18N #define SANE_I18N(text) text -#endif +#endif /* ------------------------------------------------------------ INCLUDES ----------------------------------- */ @@ -275,16 +275,16 @@ static const SANE_Range u8_range = static const SANE_Range percentage_range = { - -100 << SANE_FIXED_SCALE_SHIFT, /* minimum */ - 100 << SANE_FIXED_SCALE_SHIFT, /* maximum */ - 1 << SANE_FIXED_SCALE_SHIFT /* quantization */ + SANE_FIX(-100), /* minimum */ + SANE_FIX( 100), /* maximum */ + SANE_FIX( 1) /* quantization */ }; static const SANE_Range percentage_range_100 = { - 0 << SANE_FIXED_SCALE_SHIFT, /* minimum */ - 100 << SANE_FIXED_SCALE_SHIFT, /* maximum */ - 0 << SANE_FIXED_SCALE_SHIFT /* quantization */ + SANE_FIX( 0), /* minimum */ + SANE_FIX(100), /* maximum */ + SANE_FIX( 0) /* quantization */ }; static int num_devices = 0; @@ -377,7 +377,7 @@ static void umax_print_inquiry(Umax_Device *dev) if (dev->inquiry_len<=0x8e) { DBG(DBG_inquiry, "Inquiry block is unexpected short, should be at least 147 bytes\n"); - } + } DBG(DBG_inquiry,"\n"); DBG(DBG_inquiry,"ISO Version (reserved).......: %d\n", get_inquiry_iso_version(inquiry_block)); @@ -668,7 +668,7 @@ static void umax_print_inquiry(Umax_Device *dev) DBG(DBG_inquiry,"FB maximum scan length....................: %2.2f inch\n", dev->inquiry_fb_length); /* ---------- */ - + /* 0x7a - 0x81 */ if (dev->inquiry_len<=0x81) { @@ -679,9 +679,9 @@ static void umax_print_inquiry(Umax_Device *dev) DBG(DBG_inquiry,"UTA (transparency-mode):\n"); DBG(DBG_inquiry,"UTA x-original point......................: %2.2f inch\n", dev->inquiry_uta_x_off); DBG(DBG_inquiry,"UTA y-original point......................: %2.2f inch\n", dev->inquiry_uta_y_off); - DBG(DBG_inquiry,"UTA maximum scan width....................: %2.2f inch\n", dev->inquiry_uta_width); + DBG(DBG_inquiry,"UTA maximum scan width....................: %2.2f inch\n", dev->inquiry_uta_width); DBG(DBG_inquiry,"UTA maximum scan length...................: %2.2f inch\n", dev->inquiry_uta_length); - + /* ---------- */ /* 0x82-0x85 */ @@ -743,7 +743,7 @@ static void umax_print_inquiry(Umax_Device *dev) } DBG(DBG_inquiry,"lamp warmup maximum time..................: %d sec\n", dev->inquiry_max_warmup_time); - + /* 0x92 0x93 */ if (dev->inquiry_len<=0x93) { @@ -861,7 +861,7 @@ static SANE_Status sense_handler(int scsi_fd, unsigned char *result, void *arg) asc_ascq = (int)(256 * asc + ascq); len = 7 + get_RS_additional_length(result); - if ( get_RS_error_code(result) != 0x70 ) + if ( get_RS_error_code(result) != 0x70 ) { DBG(DBG_error, "invalid sense key error code (%d)\n", get_RS_error_code(result)); @@ -1318,18 +1318,18 @@ static void umax_order_line(Umax_Device *dev, unsigned char *source) { color = dev->CCD_color[1 + ((dev->pixelline_opt_res - CCD_distance) % 2)]; /* color 1,2 */ } - else if (dev->pixelline_opt_res < length * 3 - CCD_distance * 3) + else if (dev->pixelline_opt_res < length * 3 - CCD_distance * 3) { color = dev->CCD_color[3 + (dev->pixelline_opt_res % 3)]; /* color 3,4,5 */ } - else if (dev->pixelline_opt_res < length * 3 - CCD_distance) + else if (dev->pixelline_opt_res < length * 3 - CCD_distance) { color = dev->CCD_color[6 + ((dev->pixelline_opt_res - length*3 + CCD_distance*3) % 2)]; /* color 6,7 */ } - else + else { color = dev->CCD_color[8]; /* color 8 */ - } + } } while(umax_forget_line(dev, color) != 0); /* until found correct line */ umax_order_line_to_pixel(dev, source, color); @@ -1393,7 +1393,7 @@ static SANE_Status umax_scsi_cmd(Umax_Device *dev, const void *src, size_t src_s static SANE_Status umax_scsi_open_extended(const char *devicename, Umax_Device *dev, SANEI_SCSI_Sense_Handler handler, void *handler_arg, int *buffersize) { - switch (dev->connection_type) + switch (dev->connection_type) { case SANE_UMAX_SCSI: return sanei_scsi_open_extended(devicename, &dev->sfd, handler, handler_arg, buffersize); @@ -1449,7 +1449,7 @@ static void umax_scsi_close(Umax_Device *dev) dev->sfd=-1; break; #endif - } + } } /* ------------------------------------------------------------ UMAX SCSI REQ ENTER ------------------------ */ @@ -1583,7 +1583,7 @@ static SANE_Status umax_get_data_buffer_status(Umax_Device *dev) if (status) { DBG(DBG_error, "umax_get_data_buffer_status: command returned status %s\n", sane_strstatus(status)); - } + } return status; } @@ -1599,12 +1599,12 @@ static void umax_do_request_sense(Umax_Device *dev) SANE_Status status; DBG(DBG_proc, "do_request_sense\n"); - set_RS_allocation_length(request_sense.cmd, rs_return_block_size); + set_RS_allocation_length(request_sense.cmd, rs_return_block_size); status = umax_scsi_cmd(dev, request_sense.cmd, request_sense.size, dev->buffer[0], &size); if (status) { DBG(DBG_error, "umax_do_request_sense: command returned status %s\n", sane_strstatus(status)); - } + } } @@ -1663,7 +1663,7 @@ static int umax_grab_scanner(Umax_Device *dev) if (status) { DBG(DBG_error, "umax_grab_scanner: command returned status %s\n", sane_strstatus(status)); - } + } else { DBG(DBG_info, "scanner reserved\n"); @@ -1681,7 +1681,7 @@ static int umax_reposition_scanner(Umax_Device *dev) int status; int pause; - pause = dev->pause_after_reposition + dev->pause_for_moving * (dev->upper_left_y + dev->scanlength) / + pause = dev->pause_after_reposition + dev->pause_for_moving * (dev->upper_left_y + dev->scanlength) / ( (dev->inquiry_fb_length * dev->y_coordinate_base) ); DBG(DBG_info2, "trying to reposition scanner ...\n"); @@ -1724,7 +1724,7 @@ static int umax_give_scanner(Umax_Device *dev) if (status) { DBG(DBG_error, "umax_give_scanner: command returned status %s\n", sane_strstatus(status)); - } + } else { DBG(DBG_info, "scanner released\n"); @@ -1760,7 +1760,7 @@ static void umax_send_gamma_data(Umax_Device *dev, void *gamma_data, int color) DBG(DBG_error, "ERROR: gamma download not available\n"); return; } - + memcpy(dev->buffer[0], send.cmd, send.size); /* send */ set_S_datatype_code(dev->buffer[0], S_datatype_gamma); /* gamma curve */ @@ -1790,7 +1790,7 @@ static void umax_send_gamma_data(Umax_Device *dev, void *gamma_data, int color) if (status) { DBG(DBG_error, "umax_send_gamma_data(DCF=0, one color): command returned status %s\n", sane_strstatus(status)); - } + } } else /* three colors */ { @@ -1816,7 +1816,7 @@ static void umax_send_gamma_data(Umax_Device *dev, void *gamma_data, int color) if (status) { DBG(DBG_error, "umax_send_gamma_data(DCF=0, RGB): command returned status %s\n", sane_strstatus(status)); - } + } } } else if (dev->inquiry_gamma_DCF == 1) /* gamma format type 1 */ @@ -1839,7 +1839,7 @@ static void umax_send_gamma_data(Umax_Device *dev, void *gamma_data, int color) if (status) { DBG(DBG_error, "umax_send_gamma_data(DCF=1): command returned status %s\n", sane_strstatus(status)); - } + } } else if (dev->inquiry_gamma_DCF == 2) /* gamma format type 2 */ { @@ -1904,7 +1904,7 @@ static void umax_send_gamma_data(Umax_Device *dev, void *gamma_data, int color) if (status) { DBG(DBG_error, "umax_send_gamma_data(DCF=2): command returned status %s\n", sane_strstatus(status)); - } + } } else { @@ -1937,7 +1937,7 @@ static void umax_send_data(Umax_Device *dev, void *data, int size, int datatype) if (status) { DBG(DBG_error, "umax_send_data: command returned status %s\n", sane_strstatus(status)); - } + } } @@ -2037,7 +2037,7 @@ static int umax_read_data(Umax_Device *dev, size_t length, int datatype) { DBG(DBG_error, "umax_read_data: command returned status %s\n", sane_strstatus(status)); return -1; - } + } return length; } @@ -2082,7 +2082,7 @@ static int umax_read_image_data(Umax_Device *dev, unsigned int length) static int umax_correct_light(int light, int analog_gamma_byte) /* correct highlight/shadow if analog gamma is set */ -{ +{ double analog_gamma; analog_gamma=analog_gamma_table[analog_gamma_byte]; return( (int) 255 * pow( ((double) light)/255.0 , (1.0/analog_gamma) )+.5 ); @@ -2121,7 +2121,7 @@ static SANE_Status umax_set_window_param(Umax_Device *dev) set_WD_brightness(buffer_r, dev->brightness); /* brightness, only halftone */ set_WD_threshold(buffer_r, dev->threshold); /* threshold, only lineart */ set_WD_contrast(buffer_r, dev->contrast); /* contrast, only halftone */ - + /* scanmode, preset to LINEART */ set_WD_composition(buffer_r, WD_comp_lineart); /* image composition */ /* = (scan-mode) */ @@ -2136,16 +2136,16 @@ static SANE_Status umax_set_window_param(Umax_Device *dev) set_WD_shadow(buffer_r, umax_correct_light(dev->shadow_r, dev->analog_gamma_r)); /* scan options */ - set_WD_gamma(buffer_r, dev->digital_gamma_r); /* set digital gamma */ - set_WD_module(buffer_r, dev->module); /* flatbed or transparency */ - set_WD_CBHS(buffer_r, dev->cbhs_range); /* 50 or 255 */ + set_WD_gamma(buffer_r, dev->digital_gamma_r); /* set digital gamma */ + set_WD_module(buffer_r, dev->module); /* flatbed or transparency */ + set_WD_CBHS(buffer_r, dev->cbhs_range); /* 50 or 255 */ set_WD_FF(buffer_r, dev->fix_focus_position); /* fix focus position */ set_WD_RMIF(buffer_r, dev->reverse_multi); /* reverse color-values */ set_WD_FDC(buffer_r, dev->lens_cal_in_doc_pos); /* lens calibration in document position */ set_WD_PF(buffer_r, dev->disable_pre_focus); /* disable pre focus */ set_WD_LCL(buffer_r, dev->holder_focus_pos_0mm); /* 0.6mm <-> 0.0mm holder focus position */ set_WD_HBT(buffer_r, dev->low_byte_first); /* set byte order for 16 bit scanners */ - set_WD_DOR(buffer_r, dev->dor); /* double-resolution-mode */ + set_WD_DOR(buffer_r, dev->dor); /* double-resolution-mode */ set_WD_scan_exposure_level(buffer_r, dev->exposure_time_scan_r); /* scan exposure time */ set_WD_calibration_exposure_level(buffer_r, dev->exposure_time_calibration_r);/* calibration exposure time */ @@ -2217,7 +2217,7 @@ static SANE_Status umax_set_window_param(Umax_Device *dev) if (dev->do_color_ordering != 0) { - set_WD_line_arrangement(buffer_r, WD_line_arrengement_by_driver); + set_WD_line_arrangement(buffer_r, WD_line_arrengement_by_driver); if (dev->CCD_distance == 0) { @@ -2248,17 +2248,17 @@ static SANE_Status umax_set_window_param(Umax_Device *dev) set_WD_analog_gamma(buffer_g, dev->analog_gamma_g); set_WD_analog_gamma(buffer_b, dev->analog_gamma_b); - /* set highlight in dependence of analog gamma */ + /* set highlight in dependence of analog gamma */ set_WD_highlight(buffer_r, umax_correct_light(dev->highlight_r, dev->analog_gamma_r)); set_WD_highlight(buffer_g, umax_correct_light(dev->highlight_g, dev->analog_gamma_g)); set_WD_highlight(buffer_b, umax_correct_light(dev->highlight_b, dev->analog_gamma_b)); - /* set shadow in dependence of analog gamma */ + /* set shadow in dependence of analog gamma */ set_WD_shadow(buffer_r, umax_correct_light(dev->shadow_r, dev->analog_gamma_r)); set_WD_shadow(buffer_g, umax_correct_light(dev->shadow_g, dev->analog_gamma_g)); set_WD_shadow(buffer_b, umax_correct_light(dev->shadow_b, dev->analog_gamma_b)); - set_WD_scan_exposure_level(buffer_r, dev->exposure_time_scan_r); /* set scan exposure times */ + set_WD_scan_exposure_level(buffer_r, dev->exposure_time_scan_r); /* set scan exposure times */ set_WD_scan_exposure_level(buffer_g, dev->exposure_time_scan_g); set_WD_scan_exposure_level(buffer_b, dev->exposure_time_scan_b); @@ -2291,7 +2291,7 @@ static SANE_Status umax_set_window_param(Umax_Device *dev) set_WD_gamma(buffer_r, dev->digital_gamma_r); set_WD_analog_gamma(buffer_r, dev->analog_gamma_r); set_WD_highlight(buffer_r, umax_correct_light(dev->highlight_r, dev->analog_gamma_r)); - set_WD_shadow(buffer_r, umax_correct_light(dev->shadow_r, dev->analog_gamma_r)); + set_WD_shadow(buffer_r, umax_correct_light(dev->shadow_r, dev->analog_gamma_r)); set_WD_scan_exposure_level(buffer_r, dev->exposure_time_scan_r); set_WD_calibration_exposure_level(buffer_r, dev->exposure_time_calibration_r); break; @@ -2344,10 +2344,10 @@ static SANE_Status umax_set_window_param(Umax_Device *dev) if (status) { DBG(DBG_error, "umax_set_window_param: command returned status %s\n", sane_strstatus(status)); - } + } else { - DBG(DBG_info, "window(s) set\n"); + DBG(DBG_info, "window(s) set\n"); } return status; @@ -2372,7 +2372,7 @@ static void umax_do_inquiry(Umax_Device *dev) if (status) { DBG(DBG_error, "umax_do_inquiry: command returned status %s\n", sane_strstatus(status)); - } + } size = get_inquiry_additional_length(dev->buffer[0]) + 5; @@ -2381,7 +2381,7 @@ static void umax_do_inquiry(Umax_Device *dev) if (status) { DBG(DBG_error, "umax_do_inquiry: command returned status %s\n", sane_strstatus(status)); - } + } } @@ -2419,7 +2419,7 @@ static SANE_Status umax_start_scan(Umax_Device *dev) set_SC_quality(scan.cmd, dev->quality); /* 1=qual, 0=fast */ set_SC_adf( scan.cmd, dev->adf); /* ADF, 0=off, 1=use */ set_SC_preview(scan.cmd, dev->preview); /* 1=preview */ - + set_SC_wid(scan.cmd, 1, 0); /* Window-Identifier */ set_SC_xfer_length(scan.cmd, size); /* following Bytes */ @@ -2430,7 +2430,7 @@ static SANE_Status umax_start_scan(Umax_Device *dev) if (status) { DBG(DBG_error, "umax_start_scan: command returned status %s\n", sane_strstatus(status)); - } + } return status; } @@ -2485,7 +2485,7 @@ static SANE_Status umax_do_calibration(Umax_Device *dev) if (dev->calibration_width_offset > -99999) /* driver or user (umax.conf) define an offset */ { - width = width + dev->calibration_width_offset; + width = width + dev->calibration_width_offset; DBG(DBG_warning," Using calibration width offset of %d\n", dev->calibration_width_offset); } @@ -2515,7 +2515,7 @@ static SANE_Status umax_do_calibration(Umax_Device *dev) { if (dev->calibration_width_offset_batch > -99999) /* driver or user (umax.conf) define an offset for batch scanning */ { - width = width + dev->calibration_width_offset_batch; + width = width + dev->calibration_width_offset_batch; DBG(DBG_warning," Using calibration width offset for batch scanning of %d\n", dev->calibration_width_offset_batch); } } @@ -2523,7 +2523,7 @@ static SANE_Status umax_do_calibration(Umax_Device *dev) { if (dev->calibration_width_offset > -99999) /* driver or user (umax.conf) define an offset */ { - width = width + dev->calibration_width_offset; + width = width + dev->calibration_width_offset; DBG(DBG_warning," Using calibration width offset of %d\n", dev->calibration_width_offset); } } @@ -2705,7 +2705,7 @@ static void umax_do_new_inquiry(Umax_Device *dev, size_t size) /* call in if (status) { DBG(DBG_error, "umax_do_new_inquiry: command returned status %s\n", sane_strstatus(status)); - } + } } @@ -3154,7 +3154,7 @@ static int umax_identify_scanner(Umax_Device *dev) { *pp-- = '\0'; } - + pp = &version[4]; while (*pp == ' ') { @@ -3172,12 +3172,12 @@ static int umax_identify_scanner(Umax_Device *dev) while (strncmp("END_OF_LIST", scanner_str[2*i], 11) != 0) /* Now identify full supported scanners */ { if (!strncmp(vendor, scanner_str[2*i], strlen(scanner_str[2*i])) ) - { + { if (!strncmp(product, scanner_str[2*i+1], strlen(scanner_str[2*i+1])) ) { umax_correct_inquiry(dev, vendor, product, version); return 0; - } + } } i++; } @@ -3199,7 +3199,7 @@ static int umax_identify_scanner(Umax_Device *dev) "If you already use the most recent umax-backend version\n" "then please contact me: Oliver.Rauch@rauch-domain.de\n"); - return 0; + return 0; } else /* inquiry-data not complete */ if (!strncmp(vendor, "UMAX ", 5)) /* test UMAX-scanners with short inquiry */ @@ -3210,7 +3210,7 @@ static int umax_identify_scanner(Umax_Device *dev) for(i=0; i < known_inquiry; i++) { inq_data = *inquiry_table[i]; - if (!strncmp(product, inq_data.scanner, strlen(inq_data.scanner))) + if (!strncmp(product, inq_data.scanner, strlen(inq_data.scanner))) { DBG(DBG_warning, "inquiry-block-length: %d\n", get_inquiry_additional_length(dev->buffer[0])+5); DBG(DBG_warning, "using driver-internal inquiry-data for this scanner!\n"); @@ -3222,7 +3222,7 @@ static int umax_identify_scanner(Umax_Device *dev) set_inquiry_sc_uta(dev->buffer[0], get_inquiry_transavail(dev->buffer[0])); /* transparancy available ? */ set_inquiry_sc_adf(dev->buffer[0], get_inquiry_scanmode(dev->buffer[0])); /* automatic document feeder available ? */ - set_inquiry_length(dev->buffer[0], inq_data.inquiry_len); + set_inquiry_length(dev->buffer[0], inq_data.inquiry_len); umax_correct_inquiry(dev, vendor, product, version); return 0; /* ok */ @@ -3268,7 +3268,7 @@ static void umax_trim_rowbufsize(Umax_Device *dev) /* ------------------------------------------------------------ UMAX CALCULATE EXPOSURE TIME --------------- */ - + static void umax_calculate_exposure_time(Umax_Device *dev, int def, int *value) { int level; @@ -3285,7 +3285,7 @@ static void umax_calculate_exposure_time(Umax_Device *dev, int def, int *value) } } - + /* ------------------------------------------------------------ UMAX CHECK VALUES -------------------------- */ @@ -3306,7 +3306,7 @@ static int umax_check_values(Umax_Device *dev) /* --------------------------------- uta --------------------------------- */ - if (dev->uta != 0) + if (dev->uta != 0) { dev->module = WD_module_transparency; if ( (dev->inquiry_uta == 0) || (dev->inquiry_transavail == 0) ) @@ -3318,7 +3318,7 @@ static int umax_check_values(Umax_Device *dev) /* --------------------------------- adf --------------------------------- */ - if (dev->adf != 0) + if (dev->adf != 0) { if (dev->inquiry_adf == 0) { @@ -3334,7 +3334,7 @@ static int umax_check_values(Umax_Device *dev) if (dev->inquiry_dor == 0) { DBG(DBG_error, "ERROR: double optical resolution not supported by scanner\n"); - return(1); + return(1); } } @@ -3522,7 +3522,7 @@ static int umax_check_values(Umax_Device *dev) if (dev->wdb_len <= 0) { - dev->wdb_len = dev->inquiry_wdb_len; + dev->wdb_len = dev->inquiry_wdb_len; if (dev->wdb_len <= 0) { DBG(DBG_error,"ERROR: wdb-length not given\n"); @@ -3668,7 +3668,7 @@ static int umax_check_values(Umax_Device *dev) } /* ---------------------------- speed and smear ------------------------- */ - + if (dev->slow == 1) { dev->WD_speed = WD_speed_slow; @@ -3684,7 +3684,7 @@ static int umax_check_values(Umax_Device *dev) } /* ---------------------- test bits per pixel --------------------------- */ - + if ( ( (dev->inquiry_GIB | 1) & dev->gamma_input_bits_code) == 0 ) { DBG(DBG_warning,"WARNING: selected gamma input bits not supported, gamma ignored\n"); @@ -3697,7 +3697,7 @@ static int umax_check_values(Umax_Device *dev) DBG(DBG_error,"ERROR: selected bits per pixel not supported\n"); return(1); } - + /* ----------------------- scan mode dependencies ------------------------ */ switch(dev->colormode) @@ -3706,7 +3706,7 @@ static int umax_check_values(Umax_Device *dev) case RGB_LINEART: /* ---------- RGB_LINEART ----------- */ dev->use_exposure_time_min = dev->inquiry_exposure_time_l_min; - if (dev->module == WD_module_flatbed) + if (dev->module == WD_module_flatbed) { dev->use_exposure_time_def_r = dev->inquiry_exposure_time_l_fb_def; } @@ -3725,7 +3725,7 @@ static int umax_check_values(Umax_Device *dev) case HALFTONE: /* ----------- HALFTONE------------ */ case RGB_HALFTONE: /* --------- RGB_HALFTONE---------- */ dev->use_exposure_time_min = dev->inquiry_exposure_time_h_min; - if (dev->module == WD_module_flatbed) + if (dev->module == WD_module_flatbed) { dev->use_exposure_time_def_r = dev->inquiry_exposure_time_h_fb_def; } @@ -3744,7 +3744,7 @@ static int umax_check_values(Umax_Device *dev) case GRAYSCALE: /* ---------- GRAYSCALE ------------- */ dev->use_exposure_time_min = dev->inquiry_exposure_time_g_min; - if (dev->module == WD_module_flatbed) + if (dev->module == WD_module_flatbed) { dev->use_exposure_time_def_r = dev->inquiry_exposure_time_g_fb_def; } @@ -3762,7 +3762,7 @@ static int umax_check_values(Umax_Device *dev) case RGB: /* ----------------- COLOR ---------- */ dev->use_exposure_time_min = dev->inquiry_exposure_time_c_min; - if (dev->module == WD_module_flatbed) + if (dev->module == WD_module_flatbed) { dev->use_exposure_time_def_r = dev->inquiry_exposure_time_c_fb_def_r; dev->use_exposure_time_def_g = dev->inquiry_exposure_time_c_fb_def_g; @@ -3838,7 +3838,7 @@ static int umax_check_values(Umax_Device *dev) dev->CCD_color[1] = CCD_color_blue; dev->CCD_color[2] = CCD_color_red; - + dev->CCD_color[3] = CCD_color_blue; dev->CCD_color[4] = CCD_color_green; dev->CCD_color[5] = CCD_color_red; @@ -3893,13 +3893,13 @@ static int umax_check_values(Umax_Device *dev) dev->CCD_color[6] = CCD_color_green; dev->CCD_color[7] = CCD_color_blue; - + dev->CCD_color[8] = CCD_color_green; break; default: dev->CCD_color[0] = CCD_color_green; - + dev->CCD_color[1] = CCD_color_blue; dev->CCD_color[2] = CCD_color_green; @@ -3915,12 +3915,12 @@ static int umax_check_values(Umax_Device *dev) DBG(DBG_info,"scanner uses color-line-ordering with CCD-distance of %d lines\n", dev->CCD_distance); } else - { + { DBG(DBG_error,"ERROR: color-ordering-type not supported \n"); return(1); } } - else + else { DBG(DBG_info,"using three pass scanning mode\n"); dev->three_pass=1; @@ -3971,7 +3971,7 @@ static void umax_get_inquiry_values(Umax_Device *dev) dev->inquiry_highlight_min = 1; /* minimum value for h */ dev->inquiry_highlight_max = 50; /* maximum value for h */ dev->inquiry_shadow_min = 0; /* minimum value for s */ - dev->inquiry_shadow_max = 49; /* maximum value for s */ + dev->inquiry_shadow_max = 49; /* maximum value for s */ } get_inquiry_vendor( (char *)inquiry_block, dev->vendor); dev->vendor[8] ='\0'; @@ -4161,7 +4161,7 @@ static void umax_get_inquiry_values(Umax_Device *dev) if (dev->inquiry_len<=0x9d) { return; - } + } dev->inquiry_CCD_line_distance = get_inquiry_CCD_line_distance(inquiry_block); return; @@ -4185,7 +4185,7 @@ static int umax_calculate_analog_gamma(double value) while (value>analog_gamma_table[gamma]) { gamma++; - } + } if (gamma) { @@ -4194,7 +4194,7 @@ static int umax_calculate_analog_gamma(double value) gamma--; } } - + return(gamma); } @@ -4211,7 +4211,7 @@ static void umax_output_image_data(Umax_Device *dev, FILE *fp, unsigned int data for (i=0; ibuffer[bufnr][i]; + old = dev->buffer[bufnr][i]; new = 0; for (j=0; j<8; j++) /* reverse bit order of 1 byte */ { @@ -4463,11 +4463,11 @@ static void umax_initialize_values(Umax_Device *dev) /* called each time b dev->pixelline_optic[0] = 1; dev->pixelline_optic[1] = 1; dev->pixelline_optic[2] = 1; - dev->pixelline_max = 0; - dev->pixelline_opt_res = 0; - dev->pixelline_read = 0; - dev->pixelline_written = 0; - dev->CCD_distance = 0; + dev->pixelline_max = 0; + dev->pixelline_opt_res = 0; + dev->pixelline_read = 0; + dev->pixelline_written = 0; + dev->CCD_distance = 0; dev->calib_lines = 0; /* request calibration lines */ dev->do_calibration = 0; /* no calibration by driver */ @@ -4497,7 +4497,7 @@ static void umax_init(Umax_Device *dev) /* umax_init is called once while else /* SANE_UMAX_USB, USB does not support command queueing */ { DBG(DBG_info2, "setting request_scsi_maxqueue = 1 for USB connection\n"); - dev->request_scsi_maxqueue = 1; + dev->request_scsi_maxqueue = 1; } dev->request_preview_lines = umax_preview_lines; @@ -4578,7 +4578,7 @@ static void umax_init(Umax_Device *dev) /* umax_init is called once while dev->inquiry_highlight_min = 1; /* minimum value for h */ dev->inquiry_highlight_max = 255; /* maximum value for h */ dev->inquiry_shadow_min = 0; /* minimum value for s */ - dev->inquiry_shadow_max = 254; /* maximum value for s */ + dev->inquiry_shadow_max = 254; /* maximum value for s */ dev->inquiry_quality_ctrl = 0; dev->inquiry_preview = 0; dev->inquiry_lamp_ctrl = 0; @@ -4686,7 +4686,7 @@ static SANE_Status do_cancel(Umax_Scanner *scanner) DBG(DBG_sane_info, "do_cancel: reader_process terminated with status: %s\n", sane_strstatus(status)); } - scanner->reader_pid = -1; + sanei_thread_invalidate (scanner->reader_pid); if (scanner->device->pixelbuffer != NULL) /* pixelbuffer exists? */ { @@ -4870,7 +4870,7 @@ static SANE_Status attach_scanner(const char *devicename, Umax_Device **devp, in dev->sane.name = dev->devicename; dev->sane.vendor = dev->vendor; dev->sane.model = dev->product; - dev->sane.type = "flatbed scanner"; + dev->sane.type = "flatbed scanner"; if (strcmp(dev->sane.model,"PSD ") == 0) { @@ -5001,7 +5001,7 @@ static int reader_process(void *data) /* executed as a child process or as threa if (!fp) { return SANE_STATUS_IO_ERROR; - } + } DBG(DBG_sane_info,"reader_process: starting to READ data\n"); @@ -5076,17 +5076,17 @@ static SANE_Status init_options(Umax_Scanner *scanner) if (scanner->device->inquiry_color) { -/* +/* if (scanner->device->inquiry_lineart) { scan_mode_list[++scan_modes]= COLOR_LINEART_STR; } - if (scanner->device->inquiry_halftone) + if (scanner->device->inquiry_halftone) { scan_mode_list[++scan_modes]= COLOR_HALFTONE_STR; } */ - scan_mode_list[++scan_modes]= COLOR_STR; + scan_mode_list[++scan_modes]= COLOR_STR; } - scan_mode_list[scan_modes + 1] = 0; + scan_mode_list[scan_modes + 1] = 0; { int i=0; @@ -5104,7 +5104,7 @@ static SANE_Status init_options(Umax_Scanner *scanner) source_list[i] = 0; } - + /* scan mode */ scanner->opt[OPT_MODE].name = SANE_NAME_SCAN_MODE; scanner->opt[OPT_MODE].title = SANE_TITLE_SCAN_MODE; @@ -5124,7 +5124,7 @@ static SANE_Status init_options(Umax_Scanner *scanner) scanner->opt[OPT_SOURCE].constraint_type = SANE_CONSTRAINT_STRING_LIST; scanner->opt[OPT_SOURCE].constraint.string_list = source_list; scanner->val[OPT_SOURCE].s = (SANE_Char*)strdup(source_list[0]); - + /* x-resolution */ scanner->opt[OPT_X_RESOLUTION].name = SANE_NAME_SCAN_RESOLUTION; scanner->opt[OPT_X_RESOLUTION].title = SANE_TITLE_SCAN_RESOLUTION; @@ -5906,7 +5906,7 @@ static SANE_Status init_options(Umax_Scanner *scanner) sane_control_option(scanner, OPT_MODE, SANE_ACTION_SET_VALUE, (SANE_String *) scan_mode_list[scan_modes], NULL ); - + return SANE_STATUS_GOOD; } @@ -5944,7 +5944,7 @@ static SANE_Status umax_test_configure_option(const char *option_str, char *test errno = 0; value = strtol(value_str, &end_ptr, 10); - if (end_ptr == value_str || errno) + if (end_ptr == value_str || errno) { DBG(DBG_error, "ERROR: invalid value \"%s\" for option %s in %s\n", value_str, test_name, UMAX_CONFIG_FILE); } @@ -6013,7 +6013,7 @@ SANE_Status sane_init(SANE_Int *version_code, SANE_Auth_Callback authorize) #endif fp = sanei_config_open(UMAX_CONFIG_FILE); - if (!fp) + if (!fp) { /* no config-file: try /dev/scanner and /dev/usbscanner. */ attach_scanner("/dev/scanner", 0, SANE_UMAX_SCSI); @@ -6308,7 +6308,7 @@ void sane_close(SANE_Handle handle) prev = scanner; } - + if (!scanner) { DBG(DBG_error, "ERROR: sane_close: invalid handle %p\n", handle); @@ -6318,7 +6318,7 @@ void sane_close(SANE_Handle handle) if (scanner->scanning) /* stop scan if still scanning */ { do_cancel(handle); - } + } if (scanner->device->lamp_control_available) /* lamp state can be controlled by driver */ { @@ -6380,7 +6380,7 @@ static void umax_set_max_geometry(Umax_Scanner *scanner) scanner->device->y_range.max = SANE_FIX( (scanner->device->inquiry_dor_y_off + scanner->device->inquiry_dor_length) * MM_PER_INCH); scanner->device->x_dpi_range.max = SANE_FIX(scanner->device->inquiry_dor_x_res); - scanner->device->y_dpi_range.max = SANE_FIX(scanner->device->inquiry_dor_y_res); + scanner->device->y_dpi_range.max = SANE_FIX(scanner->device->inquiry_dor_y_res); } else if ( (strcmp(scanner->val[OPT_SOURCE].s, FLB_STR) == 0) || (strcmp(scanner->val[OPT_SOURCE].s, ADF_STR) == 0) ) { @@ -6390,7 +6390,7 @@ static void umax_set_max_geometry(Umax_Scanner *scanner) scanner->device->y_range.max = SANE_FIX(scanner->device->inquiry_fb_length * MM_PER_INCH); scanner->device->x_dpi_range.max = SANE_FIX(scanner->device->inquiry_x_res); - scanner->device->y_dpi_range.max = SANE_FIX(scanner->device->inquiry_y_res); + scanner->device->y_dpi_range.max = SANE_FIX(scanner->device->inquiry_y_res); } else if (strcmp(scanner->val[OPT_SOURCE].s, UTA_STR) == 0) { @@ -6400,7 +6400,7 @@ static void umax_set_max_geometry(Umax_Scanner *scanner) scanner->device->y_range.max = SANE_FIX( ( scanner->device->inquiry_uta_y_off + scanner->device->inquiry_uta_length) * MM_PER_INCH); scanner->device->x_dpi_range.max = SANE_FIX(scanner->device->inquiry_x_res); - scanner->device->y_dpi_range.max = SANE_FIX(scanner->device->inquiry_y_res); + scanner->device->y_dpi_range.max = SANE_FIX(scanner->device->inquiry_y_res); } DBG(DBG_info,"x_range = [%f .. %f]\n", SANE_UNFIX(scanner->device->x_range.min), SANE_UNFIX(scanner->device->x_range.max)); @@ -6414,7 +6414,7 @@ static void umax_set_max_geometry(Umax_Scanner *scanner) { scanner->val[OPT_TL_X].w = scanner->device->x_range.min; } - + if (scanner->val[OPT_TL_Y].w < scanner->device->y_range.min) { scanner->val[OPT_TL_Y].w = scanner->device->y_range.min; @@ -6424,7 +6424,7 @@ static void umax_set_max_geometry(Umax_Scanner *scanner) { scanner->val[OPT_BR_X].w = scanner->device->x_range.max; } - + if (scanner->val[OPT_BR_Y].w > scanner->device->y_range.max) { scanner->val[OPT_BR_Y].w = scanner->device->y_range.max; @@ -6528,7 +6528,7 @@ SANE_Status sane_control_option(SANE_Handle handle, SANE_Int option, SANE_Action case OPT_MANUAL_PRE_FOCUS: case OPT_FIX_FOCUS_POSITION: case OPT_LENS_CALIBRATION_DOC_POS: - case OPT_HOLDER_FOCUS_POS_0MM: + case OPT_HOLDER_FOCUS_POS_0MM: case OPT_LAMP_OFF_AT_EXIT: case OPT_SELECT_LAMP_DENSITY: *(SANE_Word *) val = scanner->val[option].w; @@ -6645,7 +6645,7 @@ SANE_Status sane_control_option(SANE_Handle handle, SANE_Int option, SANE_Action case OPT_MANUAL_PRE_FOCUS: case OPT_FIX_FOCUS_POSITION: case OPT_LENS_CALIBRATION_DOC_POS: - case OPT_HOLDER_FOCUS_POS_0MM: + case OPT_HOLDER_FOCUS_POS_0MM: case OPT_LAMP_OFF_AT_EXIT: scanner->val[option].w = *(SANE_Word *) val; return SANE_STATUS_GOOD; @@ -6663,7 +6663,7 @@ SANE_Status sane_control_option(SANE_Handle handle, SANE_Int option, SANE_Action } DBG(DBG_info,"sane_control_option: set DOR = %d\n", scanner->val[option].w); - umax_set_max_geometry(scanner); + umax_set_max_geometry(scanner); } return SANE_STATUS_GOOD; } @@ -6895,7 +6895,7 @@ SANE_Status sane_control_option(SANE_Handle handle, SANE_Int option, SANE_Action case OPT_CUSTOM_GAMMA: { w = *(SANE_Word *) val; - if (w == scanner->val[OPT_CUSTOM_GAMMA].w) { return SANE_STATUS_GOOD; } + if (w == scanner->val[OPT_CUSTOM_GAMMA].w) { return SANE_STATUS_GOOD; } scanner->val[OPT_CUSTOM_GAMMA].w = w; if (w) /* use custom_gamma_table */ @@ -6944,7 +6944,7 @@ SANE_Status sane_control_option(SANE_Handle handle, SANE_Int option, SANE_Action *info |=SANE_INFO_RELOAD_OPTIONS | SANE_INFO_RELOAD_PARAMS; } - scanner->opt[OPT_NEGATIVE].cap |= SANE_CAP_INACTIVE; + scanner->opt[OPT_NEGATIVE].cap |= SANE_CAP_INACTIVE; scanner->opt[OPT_BIT_DEPTH].cap |= SANE_CAP_INACTIVE; @@ -7025,7 +7025,7 @@ SANE_Status sane_control_option(SANE_Handle handle, SANE_Int option, SANE_Action if (scanner->val[OPT_SELECT_EXPOSURE_TIME].w == SANE_TRUE) { - scanner->opt[OPT_CAL_EXPOS_TIME].cap &= ~SANE_CAP_INACTIVE; + scanner->opt[OPT_CAL_EXPOS_TIME].cap &= ~SANE_CAP_INACTIVE; scanner->opt[OPT_SCAN_EXPOS_TIME].cap &= ~SANE_CAP_INACTIVE; } @@ -7062,7 +7062,7 @@ SANE_Status sane_control_option(SANE_Handle handle, SANE_Int option, SANE_Action if (scanner->device->inquiry_reverse_multi) { - scanner->opt[OPT_NEGATIVE].cap &= ~SANE_CAP_INACTIVE; + scanner->opt[OPT_NEGATIVE].cap &= ~SANE_CAP_INACTIVE; } if (scanner->device->inquiry_gamma_dwload) @@ -7285,9 +7285,9 @@ SANE_Status sane_start(SANE_Handle handle) DBG(DBG_sane_init,"sane_start\n"); - /* Initialize reader_pid to invalid so a subsequent error and following call - * to do_cancel() won't trip over it. */ - scanner->reader_pid = -1; + /* Invalidate reader_pid so a subsequent error and following call to + * do_cancel() won't trip over it. */ + sanei_thread_invalidate(scanner->reader_pid); mode = scanner->val[OPT_MODE].s; @@ -7452,11 +7452,11 @@ SANE_Status sane_start(SANE_Handle handle) scanner->device->analog_gamma_b = umax_calculate_analog_gamma(SANE_UNFIX(scanner->val[OPT_ANALOG_GAMMA].w)); scanner->device->highlight_r = - scanner->device->highlight_g = + scanner->device->highlight_g = scanner->device->highlight_b = P_100_TO_255(scanner->val[OPT_HIGHLIGHT].w); scanner->device->shadow_r = - scanner->device->shadow_g = + scanner->device->shadow_g = scanner->device->shadow_b = P_100_TO_255(scanner->val[OPT_SHADOW].w); if (scanner->val[OPT_SELECT_EXPOSURE_TIME].w == SANE_TRUE) @@ -7634,7 +7634,7 @@ SANE_Status sane_start(SANE_Handle handle) } scanner->params.bytes_per_line = scanner->device->row_len; - scanner->params.pixels_per_line = scanner->device->width_in_pixels; + scanner->params.pixels_per_line = scanner->device->width_in_pixels; scanner->params.lines = scanner->device->length_in_pixels; @@ -7825,7 +7825,7 @@ SANE_Status sane_start(SANE_Handle handle) scanner->device->halftone = WD_halftone_download; } /* end of send halftonepattern */ #endif - + } /* ------------ end of first call -------------- */ @@ -7990,7 +7990,7 @@ SANE_Status sane_start(SANE_Handle handle) return SANE_STATUS_IO_ERROR; } - scanner->pipe_read_fd = fds[0]; + scanner->pipe_read_fd = fds[0]; scanner->pipe_write_fd = fds[1]; /* start reader_process, deponds on OS if fork() or threads are used */ @@ -8067,7 +8067,7 @@ SANE_Status sane_read(SANE_Handle handle, SANE_Byte *buf, SANE_Int max_len, SANE scanner->pipe_read_fd = -1; } - return SANE_STATUS_EOF; + return SANE_STATUS_EOF; } return SANE_STATUS_GOOD; @@ -8104,8 +8104,8 @@ SANE_Status sane_set_io_mode(SANE_Handle handle, SANE_Bool non_blocking) if (fcntl(scanner->pipe_read_fd, F_SETFL, non_blocking ? O_NONBLOCK : 0) < 0) { return SANE_STATUS_IO_ERROR; - } - return SANE_STATUS_GOOD; + } + return SANE_STATUS_GOOD; } diff --git a/backend/umax.conf.in b/backend/umax.conf.in index a57cf53..06b2750 100644 --- a/backend/umax.conf.in +++ b/backend/umax.conf.in @@ -17,7 +17,7 @@ # 0 = handle as device busy # 1 = handle as ok # 2 = handle as i/o error -# 3 = ignore bad error code - continue sense handler, +# 3 = ignore bad error code - continue sense handler, #option handle-bad-sense-error 0 # define if a request sense command shall be executed @@ -43,7 +43,7 @@ # define if the calibration shall be done for selected scanarea or for each ccd pixel # -1 = automatically set by driver - if known # 0 = disabled -# 1 = enabled +# 1 = enabled #option calibration-full-ccd 1 # define if an offset of the calculate calibration with has to be used @@ -54,7 +54,7 @@ # -1 = disabled # 0 = not set # 1 = 1 byte/pixel, -# 2 = 2 bytes/pixel +# 2 = 2 bytes/pixel #option calibration-bytes-pixel -1 # define if scanner uses the same exposure times for red, green and blue @@ -66,18 +66,18 @@ # define if shading data shall be inverted befor sending it back to the scanner # -1 = automatically set by driver - if known # 0 = disabled -# 1 = enabled +# 1 = enabled #option invert-shading-data 0 # define if the scanner supports lamp control commands # 0 = automatically set by driver - if known -# 1 = enabled +# 1 = enabled #option lamp-control-available 0 # define how 16 bit gamma data is padded # -1 = automatically set by driver - if known # 0 = gamma data is msb padded -# 1 = gamma data is lsb padded +# 1 = gamma data is lsb padded #option gamma-lsb-padded 0 # define connection type of following devices @@ -114,4 +114,3 @@ option connection-type 1 # usb device list option connection-type 2 /dev/usbscanner - diff --git a/backend/umax.h b/backend/umax.h index 682e58b..e6b83fd 100644 --- a/backend/umax.h +++ b/backend/umax.h @@ -1,7 +1,7 @@ /* --------------------------------------------------------------------------------------------------------- */ /* umax.h - headerfile for SANE-backend for umax scanners - + (C) 1997-2002 Oliver Rauch This program is free software; you can redistribute it and/or @@ -39,7 +39,7 @@ 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. - + */ /* --------------------------------------------------------------------------------------------------------- */ @@ -58,7 +58,7 @@ /* #define SANE_UMAX_DEBUG_S12 */ /* #define UMAX_CALIBRATION_MODE_SELECTABLE */ - + /* --------------------------------------------------------------------------------------------------------- */ #define SANE_UMAX_SCSI_MAXQUEUE 8 @@ -269,7 +269,7 @@ typedef struct Umax_Device double inquiry_dor_y_off; /* double resolution y offset in inches */ int inquiry_exposure_adj; /* 1 if exposure adjust is supported */ - int inquiry_exposure_time_step_unit; /* exposure time unit in micro sec */ + int inquiry_exposure_time_step_unit; /* exposure time unit in micro sec */ int inquiry_exposure_time_max; /* exposure time maximum */ int inquiry_exposure_time_l_min; /* exposure tine minimum for lineart */ int inquiry_exposure_time_l_fb_def; /* exposure time default for lineart/flatbed */ diff --git a/backend/umax1220u-common.c b/backend/umax1220u-common.c index 43a4a6f..e14dfea 100644 --- a/backend/umax1220u-common.c +++ b/backend/umax1220u-common.c @@ -7,7 +7,7 @@ Parts copyright (C) 2006 Patrick Lessard 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 @@ -66,7 +66,7 @@ #include #include -/* +/* * The backend performs test scans in order to calibrate * the CCD and to find the zero location. If you would like * to look at those scans, define DEBUG_CALIBRATION to have diff --git a/backend/umax1220u.c b/backend/umax1220u.c index 79b8c92..30c9e86 100644 --- a/backend/umax1220u.c +++ b/backend/umax1220u.c @@ -376,7 +376,7 @@ optionTopLeftYCallback (SANE_Option * option, SANE_Handle handle, This option controls the bot-right-x corner of the scan */ -static SANE_Fixed optionBotRightXValue +static SANE_Fixed optionBotRightXValue = SANE_FIX (UMAX_MAX_WIDTH * MM_IN_INCH / 600); static SANE_Option_Descriptor optionBotRightXDescriptor = { diff --git a/backend/umax_pp.c b/backend/umax_pp.c index 0f7ce4e..b1121ef 100644 --- a/backend/umax_pp.c +++ b/backend/umax_pp.c @@ -1,5 +1,5 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2001-2012 Stphane Voltz + Copyright (C) 2001-2012 Stéphane Voltz This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -41,10 +41,10 @@ This file implements a SANE backend for Umax PP flatbed scanners. */ /* CREDITS: - Started by being a mere copy of mustek_pp - by Jochen Eisinger - then evolved in its own thing - + Started by being a mere copy of mustek_pp + by Jochen Eisinger + then evolved in its own thing + support for the 610P has been made possible thank to an hardware donation from William Stuart */ diff --git a/backend/umax_pp.conf.in b/backend/umax_pp.conf.in index e7e9fd4..f220f1f 100644 --- a/backend/umax_pp.conf.in +++ b/backend/umax_pp.conf.in @@ -39,19 +39,19 @@ option buffer 2097152 # valid values are 610, 1220, 1600 and 2000 # # by default, no model, we rely on autodetection -# in case you have black or 'inverted' scans, +# in case you have black or 'inverted' scans, # you may override detection by providing the # model number #option astra 1220 # DEVICES # -# specify the port your scanner is connected to. +# specify the port your scanner is connected to. # # the value 'auto' will make the backend find the correct value # by itself, it will scan ppdev, ppi device, then hardware address # 'safe-auto' will do the same but won't do direct hardware access -# on linux systems, you may provide the device name of the ppdev character +# on linux systems, you may provide the device name of the ppdev character # device : /dev/parport0, /dev/parport1, ...... # # on *BSD, you may provide the device name of the ppi device: /dev/ppi0, diff --git a/backend/umax_pp.h b/backend/umax_pp.h index dbedab8..c8ffdfa 100644 --- a/backend/umax_pp.h +++ b/backend/umax_pp.h @@ -1,5 +1,5 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2001-2012 Stphane Voltz + Copyright (C) 2001-2012 Stéphane Voltz This file is part of the SANE package. This program is free software; you can redistribute it and/or diff --git a/backend/umax_pp_low.c b/backend/umax_pp_low.c index 1e38aba..c5d9a93 100644 --- a/backend/umax_pp_low.c +++ b/backend/umax_pp_low.c @@ -1,5 +1,5 @@ /** - Copyright (C) 2001-2012 Stphane Voltz + Copyright (C) 2001-2012 Stéphane Voltz This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -297,7 +297,7 @@ sanei_outb (unsigned int port, unsigned char value) static void sanei_insb (unsigned int port, unsigned char *addr, unsigned long count) { - int i; + unsigned int i; for (i = 0; i < count; i++) addr[i] = sanei_inb (port); @@ -306,7 +306,7 @@ sanei_insb (unsigned int port, unsigned char *addr, unsigned long count) static void sanei_insl (unsigned int port, unsigned char *addr, unsigned long count) { - int i; + unsigned int i; for (i = 0; i < count * 4; i++) addr[i] = sanei_inb (port); @@ -316,7 +316,7 @@ static void sanei_outsb (unsigned int port, const unsigned char *addr, unsigned long count) { - int i; + unsigned int i; for (i = 0; i < count; i++) sanei_outb (port, addr[i]); @@ -326,7 +326,7 @@ static void sanei_outsl (unsigned int port, const unsigned char *addr, unsigned long count) { - int i; + unsigned int i; for (i = 0; i < count * 4; i++) sanei_outb (port, addr[i]); @@ -865,7 +865,7 @@ sanei_parport_find_device (void) else { #ifdef HAVE_LINUX_PPDEV_H - /* on kernel < 2.4.23, you have to CLAIM the device + /* on kernel < 2.4.23, you have to CLAIM the device * to check it really exists * we may hang if another program already claimed it */ @@ -926,13 +926,22 @@ sanei_parport_find_device (void) int sanei_umax_pp_initPort (int port, char *name) { - int fd, ectr; +#ifndef IO_SUPPORT_MISSING +# ifdef HAVE_LINUX_PPDEV_H int found = 0; -#if ((defined HAVE_IOPERM)||(defined HAVE_MACHINE_CPUFUNC_H)||(defined HAVE_LINUX_PPDEV_H)) + int fd; int mode, modes, rc; -#endif -#ifdef HAVE_LINUX_PPDEV_H +# ifdef PPGETMODES char strmodes[160]; +# endif +# endif +# ifdef HAVE_DEV_PPBUS_PP_H + int found = 0; + int fd; +# endif +# ifdef HAVE_IOPERM + int ectr; +# endif #endif /* since this function must be called before */ @@ -1793,8 +1802,8 @@ sanei_umax_pp_setauto (int autoset) } #ifdef HAVE_LINUX_PPDEV_H -/* set to the parallel port needed using ppdev - * returns 1 if ok, 0 else +/* set to the parallel port needed using ppdev + * returns 1 if ok, 0 else */ static int ppdev_set_mode (int mode) @@ -2807,7 +2816,7 @@ ECPregisterRead (int reg) Outb (CONTROL, 0x4); - /* ECP FIFO mode, interrupt bit, dma disabled, + /* ECP FIFO mode, interrupt bit, dma disabled, service bit, fifo full=0, fifo empty=0 */ ECPFifoMode (); /*Outb (ECR, 0x60); */ if (waitFifoEmpty () == 0) @@ -2825,12 +2834,12 @@ ECPregisterRead (int reg) } breg = Inb (ECR); - /* byte mode, interrupt bit, dma disabled, + /* byte mode, interrupt bit, dma disabled, service bit, fifo full=0, fifo empty=0 */ byteMode (); /*Outb (ECR, 0x20); */ Outb (CONTROL, 0x20); /* data reverse */ - /* ECP FIFO mode, interrupt bit, dma disabled, + /* ECP FIFO mode, interrupt bit, dma disabled, service bit, fifo full=0, fifo empty=0 */ ECPFifoMode (); /*Outb (ECR, 0x60); */ if (waitFifoNotEmpty () == 0) @@ -2859,9 +2868,9 @@ EPPregisterRead (int reg) #ifdef HAVE_LINUX_PPDEV_H int fd, mode, rc; unsigned char breg, bval; + int value; #endif int control; - int value; #ifdef HAVE_LINUX_PPDEV_H @@ -2910,7 +2919,7 @@ EPPregisterRead (int reg) control = Inb (CONTROL); control = (control & 0x1F) | 0x20; Outb (CONTROL, control); - value = Inb (EPPDATA); + Inb (EPPDATA); control = Inb (CONTROL); control = control & 0x1F; Outb (CONTROL, control); @@ -2943,9 +2952,8 @@ registerRead (int reg) static void ECPregisterWrite (int reg, int value) { - unsigned char breg; - #ifdef HAVE_LINUX_PPDEV_H + unsigned char breg; int rc, fd; fd = sanei_umax_pp_getparport (); @@ -2963,12 +2971,12 @@ ECPregisterWrite (int reg, int value) } #endif - /* standard mode, interrupt bit, dma disabled, + /* standard mode, interrupt bit, dma disabled, service bit, fifo full=0, fifo empty=0 */ compatMode (); Outb (CONTROL, 0x04); /* reset ? */ - /* ECP FIFO mode, interrupt bit, dma disabled, + /* ECP FIFO mode, interrupt bit, dma disabled, service bit, fifo full=0, fifo empty=0 */ ECPFifoMode (); /*Outb (ECR, 0x60); */ if (waitFifoEmpty () == 0) @@ -2977,7 +2985,7 @@ ECPregisterWrite (int reg, int value) __FILE__, __LINE__); return; } - breg = Inb (ECR); + Inb (ECR); Outb (DATA, reg); if (waitFifoEmpty () == 0) @@ -2986,7 +2994,7 @@ ECPregisterWrite (int reg, int value) __FILE__, __LINE__); return; } - breg = Inb (ECR); + Inb (ECR); Outb (ECPDATA, value); if (waitFifoEmpty () == 0) @@ -2995,7 +3003,7 @@ ECPregisterWrite (int reg, int value) __FILE__, __LINE__); return; } - breg = Inb (ECR); + Inb (ECR); Outb (CONTROL, 0x04); byteMode (); return; @@ -3429,8 +3437,8 @@ ECPbufferWrite (int size, unsigned char *source) } breg = Inb (ECR); - /* block transfer direction - * 0x80 means from scanner to PC, 0xC0 means PC to scanner + /* block transfer direction + * 0x80 means from scanner to PC, 0xC0 means PC to scanner */ Outb (DATA, 0xC0); @@ -4957,7 +4965,7 @@ sendWord (int *cmd) /******************************************************************************/ /* ringScanner: returns 1 if scanner present, else 0 */ /******************************************************************************/ -/* +/* * in fact this function is really close to CPP macro in * /usr/src/linux/drivers/block/paride/epat.c ..... * we have almost CPP(8) @@ -6005,7 +6013,7 @@ initScanner610p (int recover) return 1; } - /* here we do re-homing + /* here we do re-homing * since it is first probe or recover */ /* move forward */ CMDSYNC (0xC2); @@ -6096,7 +6104,7 @@ initScanner610p (int recover) /* 1: OK 2: homing happened 3: scanner busy - 0: init failed + 0: init failed init transport layer init scanner @@ -6308,13 +6316,13 @@ sanei_umax_pp_initScanner (int recover) } -/* +/* 1: OK 2: failed, try again - 0: init failed + 0: init failed initialize the transport layer - + */ static int @@ -6400,13 +6408,13 @@ initTransport610p (void) return 1; } -/* +/* 1: OK 2: failed, try again - 0: init failed + 0: init failed initialize the transport layer - + */ static int @@ -6605,13 +6613,13 @@ initTransport1220P (int recover) /* ECP OK !! */ return 1; } -/* +/* 1: OK 2: failed, try again - 0: init failed + 0: init failed initialize the transport layer - + */ int @@ -6643,7 +6651,7 @@ probe610p (int recover) return 0; } - /* make sure we won't try 1220/200P later + /* make sure we won't try 1220/200P later * since we got here, we have a 610, and in any case * NOT a 1220P/2000P, since no EPAT present */ sanei_umax_pp_setastra (610); @@ -6660,7 +6668,7 @@ probe610p (int recover) } - /* + /* * try PS2 mode * returns 1 on success, 0 on failure */ @@ -7018,7 +7026,7 @@ probeECP (unsigned char *dest) * inb ECR,35 */ /* routine A */ - breg = Inb (CONTROL); /* 0x04 videmment! */ + breg = Inb (CONTROL); /* 0x04 évidemment! */ breg = Inb (ECR); breg = Inb (ECR); breg = Inb (ECR); @@ -8617,9 +8625,9 @@ EPPcmdGetBuffer610p (int cmd, int len, unsigned char *buffer) int word[5]; int count, needed, max; #ifdef HAVE_LINUX_PPDEV_H - int fd, mode, rc; + int fd, mode, rc, wait; #endif - int loop, wait, remain; + int loop, remain; /* first we set length and channel */ /* compute word */ @@ -8702,7 +8710,6 @@ EPPcmdGetBuffer610p (int cmd, int len, unsigned char *buffer) else remain = 4; loop = (needed - remain) / 2; - wait = 0; DBG (32, "EPPcmdGetBuffer610p: %d loops to do \n", loop); status = 0x20; @@ -8742,6 +8749,7 @@ EPPcmdGetBuffer610p (int cmd, int len, unsigned char *buffer) /* there is one form for full CCD width reads, and another for other reads */ #ifdef HAVE_LINUX_PPDEV_H + wait = 0; /* check we have ppdev working */ fd = sanei_umax_pp_getparport (); if (fd > 0) @@ -9368,7 +9376,7 @@ cmdGetBlockBuffer (int cmd, int len, int window, unsigned char *buffer) return read; } -/* +/* * encodes DC offsets: must be in [0..0x0F] range */ static void @@ -9387,7 +9395,7 @@ decodeDC (int *motor) } -/* +/* * encodes VGA : must be in [0..0x0F] range */ static void @@ -9402,10 +9410,10 @@ encodeVGA (int vgaRed, int vgaGreen, int vgaBlue, int *motor) { motor[10] = (vgaGreen << 4) | vgaBlue; motor[11] = (motor[11] & 0xF0) | vgaRed; - /* ancien - F00: vert + /* ancien + F00: vert 0F0: bleu - 00F: rouge + 00F: rouge motor[10] = (vgaRed << 4) | vgaGreen; motor[11] = (motor[11] & 0xF0) | vgaBlue; */ } @@ -9693,7 +9701,7 @@ bloc8Decode (int *op) static int completionWait (void) { - /* for 610P, wait and sync is done while + /* for 610P, wait and sync is done while * reading data from the scanner */ CMDSYNC (0x40); usleep (100000); @@ -9893,7 +9901,7 @@ evalGain (int sum, int count) avg = (float) (sum) / (float) (count); pct = 100.0 - (avg * 100.0) / targetCode; gn = (int) (pct / 0.57); - + /* give gain for dark areas a boost */ #ifdef UMAX_PP_DANGEROUS_EXPERIMENT if(getenv("AREA")!=NULL) @@ -9907,7 +9915,7 @@ evalGain (int sum, int count) pct = gn; avg = exp((-pct)/area)*coeff+cnst; gn = gn * avg; - + /* bound checking : there are sightings of >127 values being negative */ if (gn < 0) gn = 0; @@ -9985,7 +9993,7 @@ computeCalibrationData (int color, int width, unsigned char *source, /* move head by the distance given using precision or not */ -/* 0: failed +/* 0: failed 1: success */ static int move (int distance, int precision, unsigned char *buffer) @@ -10437,11 +10445,11 @@ shadingCalibration1220p (int color, /* get calibration data */ /* if (sanei_umax_pp_getauto ()) - { auto settings doesn't use offset + { auto settings doesn't use offset offset = 0x000; } else - { manual settings + { manual settings gain = 0x777; offset = 0x000; } @@ -10743,7 +10751,7 @@ sanei_umax_pp_scan (int x, int y, int width, int height, int dpi, int color, read += len; } - /* in color mode we have to fill the 'reserve' area + /* in color mode we have to fill the 'reserve' area * so that we can reorder data lines */ while ((read - dataoffset < reserve) && (!gCancel)) { @@ -10823,8 +10831,8 @@ sanei_umax_pp_scan (int x, int y, int width, int height, int dpi, int color, } } /* copy tail lines for next block */ - /* memcpy (buffer, - * (buffer + reserve) + (hp * bpl - reserve), + /* memcpy (buffer, + * (buffer + reserve) + (hp * bpl - reserve), * reserve + remain); */ memcpy (buffer, buffer + hp * bpl, reserve + remain); break; @@ -11194,8 +11202,8 @@ sanei_umax_pp_startScan (int x, int y, int width, int height, int dpi, th = (height * dpi) / hwdpi; tw = (width * xdpi) / hwdpi; - /* corrects y to match exact scan area start - * and lets room for a leading zone so that + /* corrects y to match exact scan area start + * and lets room for a leading zone so that * we can reorder data */ switch (sanei_umax_pp_getastra ()) { @@ -11476,7 +11484,7 @@ sanei_umax_pp_startScan (int x, int y, int width, int height, int dpi, /* 3 ccd lines + 3 gamma tables + end tag */ if (sanei_umax_pp_getastra () <= 610) { - /* XXX STEF XXX : there is a 4 pixels shift to the right + /* XXX STEF XXX : there is a 4 pixels shift to the right * the first shading correction value applies to the forth * pixel of scan (at 300 dpi), we allready shift to the left * when doing shadingCalibration, but now we have to move coeffs @@ -11504,7 +11512,7 @@ sanei_umax_pp_startScan (int x, int y, int width, int height, int dpi, return 1; } -/* +/* * check the scanner model. Return 1220 for * a 1220P, or 2000 for a 2000P. * and 610 for a 610p @@ -11728,7 +11736,7 @@ loadDefaultTables (void) } /* set and reread first table */ - /* since 1660P seems to have another type of CCD + /* since 1660P seems to have another type of CCD * this table is not sent/needed */ err = 0; @@ -11829,7 +11837,7 @@ loadDefaultTables (void) return rc; } -/* inquire scanner status +/* inquire scanner status * O: failure * 1: OK * 2: first scanner init, needs re-homing @@ -12070,7 +12078,7 @@ offsetCalibration1220p (int color, int *offRed, int *offGreen, int *offBlue) * computes DC offset to have black pixel really black out of * CCD ie black gives 0 * 610P doesn't implement method described in LM9811 datasheet - * but scan a black line with decreasing offsets until the + * but scan a black line with decreasing offsets until the * scanned data reach a 'good black level'. * returns 1 and DC offsets in the corresponding vars on success . * On failure, returns 0. @@ -12247,7 +12255,7 @@ offsetCalibration610p (int color, int *offRed, int *offGreen, int *offBlue) return 1; } -/* +/* * generic offset calibration function */ static int @@ -12339,7 +12347,7 @@ coarseGainCalibration610p (int color, int dcRed, int dcGreen, int dcBlue, /* move back to desired area */ MOVE (-69, PRECISION_OFF, NULL); - /* first scan : taking a reference full width scan to + /* first scan : taking a reference full width scan to * find usable full width of the CCD */ *vgaRed = 0x08; diff --git a/backend/umax_pp_low.h b/backend/umax_pp_low.h index 7cef9dd..5e986c0 100644 --- a/backend/umax_pp_low.h +++ b/backend/umax_pp_low.h @@ -1,5 +1,5 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2001-2012 Stphane Voltz + Copyright (C) 2001-2012 Stéphane Voltz This file is part of the SANE package. This program is free software; you can redistribute it and/or diff --git a/backend/umax_pp_mid.c b/backend/umax_pp_mid.c index ee8d98d..5f9fd5e 100644 --- a/backend/umax_pp_mid.c +++ b/backend/umax_pp_mid.c @@ -1,5 +1,5 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2001-2012 Stphane Voltz + Copyright (C) 2001-2012 Stéphane Voltz This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -131,7 +131,7 @@ unlock_parport (void) -/* +/* * * This function recognize the scanner model by sending an image * filter command. 1220P will use it as is, but 2000P will return diff --git a/backend/umax_pp_mid.h b/backend/umax_pp_mid.h index 32245c6..5903a45 100644 --- a/backend/umax_pp_mid.h +++ b/backend/umax_pp_mid.h @@ -1,5 +1,5 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2001-2012 Stphane Voltz + Copyright (C) 2001-2012 Stéphane Voltz This file is part of the SANE package. This program is free software; you can redistribute it and/or @@ -87,7 +87,7 @@ extern int sanei_umax_pp_attach (int port, char *name); extern int sanei_umax_pp_model (int port, int *model); -/* +/* if on=1 -> lights scanner lamp if on=0 -> lights off scanner lamp @@ -116,7 +116,7 @@ extern int sanei_umax_pp_open (int port, char *name); -/* +/* release any ressource acquired during open since there may be only one scanner, no port parameter */ @@ -145,9 +145,9 @@ extern int sanei_umax_pp_cancel (void); gain value is 256*red_gain+16*green_gain+blue_gain if gain is given (ie <> 0), auto gain will not be performed - - returns UMAX1220P_OK on success, or one of the error above + + returns UMAX1220P_OK on success, or one of the error above if successful, rbpp holds bytes/pixel, rth the height and rtw the width of scanned area expressed in pixels */ @@ -159,7 +159,7 @@ extern int sanei_umax_pp_start (int x, int y, int width, int height, int dpi, /* reads one block of data from scanner returns UMAX1220P_OK on success, or UMAX1220P_READ_FAILED on error it also sets internal cancel flag on error - + len if the length of the block needed window if the width in pixels of the scanned area dpi is the resolution, it is used to choose the best read method diff --git a/backend/v4l-frequencies.h b/backend/v4l-frequencies.h index 646120e..e926e7c 100644 --- a/backend/v4l-frequencies.h +++ b/backend/v4l-frequencies.h @@ -3,7 +3,7 @@ * * Nathan Laredo (laredo@broked.net) * - * Frequencies are given in kHz + * Frequencies are given in kHz */ #define NTSC_AUDIO_CARRIER 4500 #define PAL_AUDIO_CARRIER_I 6000 @@ -16,7 +16,7 @@ containing 8 bits frame sync, 5 bits control, 11 bits additional data, and 704 bits audio data. The bit rate is reduced by transmitting only 10 bits plus parity of each 14 bit sample, the largest sample in a frame determines - which 10 bits are transmitted. The parity bits for audio samples also + which 10 bits are transmitted. The parity bits for audio samples also specify the scaling factor used for that channel during that frame. The companeded audio data is interleaved to reduce the influence of dropouts and the whole frame except for sync bits is scrambled for spectrum shaping. diff --git a/backend/v4l.c b/backend/v4l.c index 1e032c7..006e7f7 100644 --- a/backend/v4l.c +++ b/backend/v4l.c @@ -653,7 +653,7 @@ sane_open (SANE_String_Const devname, SANE_Handle * handle) DBG (5, "sane_open: x=%d, y=%d, width=%d, height=%d\n", s->window.x, s->window.y, s->window.width, s->window.height); - /* already done in sane_start + /* already done in sane_start if (-1 == v4l1_ioctl (v4lfd, VIDIOCGMBUF, &mbuf)) DBG (1, "sane_open: can't ioctl VIDIOCGMBUF (no Fbuffer?)\n"); */ diff --git a/backend/v4l.h b/backend/v4l.h index 6aee586..e6673d0 100644 --- a/backend/v4l.h +++ b/backend/v4l.h @@ -73,7 +73,7 @@ struct video_picture #define VIDEO_PALETTE_HI240 2 /* High 240 cube (BT848) */ #define VIDEO_PALETTE_RGB565 3 /* 565 16 bit RGB */ #define VIDEO_PALETTE_RGB24 4 /* 24bit RGB */ -#define VIDEO_PALETTE_RGB32 5 /* 32bit RGB */ +#define VIDEO_PALETTE_RGB32 5 /* 32bit RGB */ #define VIDEO_PALETTE_RGB555 6 /* 555 15bit RGB */ #define VIDEO_PALETTE_YUV422 7 /* YUV422 capture */ #define VIDEO_PALETTE_YUYV 8 @@ -112,7 +112,7 @@ struct video_mbuf int frames; /* Frames */ int offsets[VIDEO_MAX_FRAME]; }; - + struct video_mmap { unsigned int frame; /* Frame (0 - n) for double buffer */ @@ -130,7 +130,7 @@ struct video_channel #define VIDEO_VC_AUDIO 2 /* Channel has audio */ __u16 type; #define VIDEO_TYPE_TV 1 -#define VIDEO_TYPE_CAMERA 2 +#define VIDEO_TYPE_CAMERA 2 __u16 norm; /* Norm set by channel */ }; diff --git a/backend/xerox_mfp.c b/backend/xerox_mfp.c index 8b8c895..b7fcbee 100644 --- a/backend/xerox_mfp.c +++ b/backend/xerox_mfp.c @@ -206,9 +206,13 @@ static int isSupportedDevice(struct device __sane_unused__ *dev) { #ifdef HAVE_LIBJPEG /* Checking device which supports JPEG Lossy compression for color scanning*/ - if (dev->compressionTypes & (1 << 6)) + if (dev->compressionTypes & (1 << 6)) { + /* blacklist malfunctioning device(s) */ + if (!strncmp(dev->sane.model, "SCX-4500W", 9) || + !strncmp(dev->sane.model, "M288x", 5)) + return 0; return 1; - else + } else return 0; #else return 0; diff --git a/backend/xerox_mfp.conf.in b/backend/xerox_mfp.conf.in index b17c7d7..39bf669 100644 --- a/backend/xerox_mfp.conf.in +++ b/backend/xerox_mfp.conf.in @@ -196,6 +196,12 @@ usb 0x04e8 0x3466 #Samsung C460 Series usb 0x04e8 0x3468 +#Samsung M2070 Series +usb 0x04e8 0x3469 + +#Samsung C1860FW +usb 0x04e8 0x346b + #Samsung M458x Series usb 0x04e8 0x346f @@ -208,6 +214,9 @@ usb 0x04e8 0x3477 #Samsung K401 Series usb 0x04e8 0x3478 +#Samsung C480W +usb 0x04e8 0x347e + #Samsung K3250 Series usb 0x04e8 0x3481 @@ -245,4 +254,3 @@ usb 0x413c 0x5124 #Dell 1235cn (clone of Samsung CLX-3175) usb 0x413c 0x5310 - diff --git a/compile b/compile deleted file mode 100755 index 531136b..0000000 --- a/compile +++ /dev/null @@ -1,347 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand '-c -o'. - -scriptversion=2012-10-14.11; # UTC - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# Written by Tom Tromey . -# -# 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, 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 . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/config.guess b/config.guess deleted file mode 100755 index faa63aa..0000000 --- a/config.guess +++ /dev/null @@ -1,1466 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2017 Free Software Foundation, Inc. - -timestamp='2017-05-11' - -# This file 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 3 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 . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess -# -# Please send patches to . - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2017 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case "${UNAME_SYSTEM}" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - eval $set_cc_for_build - cat <<-EOF > $dummy.c - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ - echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown - ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently (or will in the future) and ABI. - case "${UNAME_MACHINE_ARCH}" in - earm*) - os=netbsdelf - ;; - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}${abi}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:Sortix:*:*) - echo ${UNAME_MACHINE}-unknown-sortix - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE=alpha ;; - "EV4.5 (21064)") - UNAME_MACHINE=alpha ;; - "LCA4 (21066/21068)") - UNAME_MACHINE=alpha ;; - "EV5 (21164)") - UNAME_MACHINE=alphaev5 ;; - "EV5.6 (21164A)") - UNAME_MACHINE=alphaev56 ;; - "EV5.6 (21164PC)") - UNAME_MACHINE=alphapca56 ;; - "EV5.7 (21164PC)") - UNAME_MACHINE=alphapca57 ;; - "EV6 (21264)") - UNAME_MACHINE=alphaev6 ;; - "EV6.7 (21264A)") - UNAME_MACHINE=alphaev67 ;; - "EV6.8CB (21264C)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8AL (21264B)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8CX (21264D)") - UNAME_MACHINE=alphaev68 ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE=alphaev69 ;; - "EV7 (21364)") - UNAME_MACHINE=alphaev7 ;; - "EV7.9 (21364A)") - UNAME_MACHINE=alphaev79 ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH=i386 - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 - 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH=hppa2.0n ;; - 64) HP_ARCH=hppa2.0w ;; - '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = hppa2.0w ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH=hppa2.0w - else - HP_ARCH=hppa64 - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in - amd64) - UNAME_PROCESSOR=x86_64 ;; - i386) - UNAME_PROCESSOR=i586 ;; - esac - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi - else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - k1om:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; - mips64el:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} - exit ;; - x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configure will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = x86; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = 386; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx - exit ;; - amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; -esac - -cat >&2 </dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/config.rpath b/config.rpath deleted file mode 100755 index 17298f2..0000000 --- a/config.rpath +++ /dev/null @@ -1,672 +0,0 @@ -#! /bin/sh -# Output a system dependent set of variables, describing how to set the -# run time search path of shared libraries in an executable. -# -# Copyright 1996-2010 Free Software Foundation, Inc. -# Taken from GNU libtool, 2001 -# Originally by Gordon Matzigkeit , 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. -# -# The first argument passed to this file is the canonical host specification, -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld -# should be set by the caller. -# -# The set of defined variables is at the end of this script. - -# Known limitations: -# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer -# than 256 bytes, otherwise the compiler driver will dump core. The only -# known workaround is to choose shorter directory names for the build -# directory and/or the installation directory. - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -shrext=.so - -host="$1" -host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -# Code taken from libtool.m4's _LT_CC_BASENAME. - -for cc_temp in $CC""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` - -# Code taken from libtool.m4's _LT_COMPILER_PIC. - -wl= -if test "$GCC" = yes; then - wl='-Wl,' -else - case "$host_os" in - aix*) - wl='-Wl,' - ;; - darwin*) - case $cc_basename in - xlc*) - wl='-Wl,' - ;; - esac - ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) - ;; - hpux9* | hpux10* | hpux11*) - wl='-Wl,' - ;; - irix5* | irix6* | nonstopux*) - wl='-Wl,' - ;; - newsos6) - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - ecc*) - wl='-Wl,' - ;; - icc* | ifort*) - wl='-Wl,' - ;; - lf95*) - wl='-Wl,' - ;; - pgcc | pgf77 | pgf90) - wl='-Wl,' - ;; - ccc*) - wl='-Wl,' - ;; - como) - wl='-lopt=' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - wl='-Wl,' - ;; - esac - ;; - esac - ;; - osf3* | osf4* | osf5*) - wl='-Wl,' - ;; - rdos*) - ;; - solaris*) - wl='-Wl,' - ;; - sunos4*) - wl='-Qoption ld ' - ;; - sysv4 | sysv4.2uw2* | sysv4.3*) - wl='-Wl,' - ;; - sysv4*MP*) - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - wl='-Wl,' - ;; - unicos*) - wl='-Wl,' - ;; - uts4*) - ;; - esac -fi - -# Code taken from libtool.m4's _LT_LINKER_SHLIBS. - -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no - -case "$host_os" in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - # Unlike libtool, we use -rpath here, not --rpath, since the documented - # option of GNU ld is called -rpath, not --rpath. - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - case "$host_os" in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - fi - ;; - amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we cannot use - # them. - ld_shlibs=no - ;; - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - cygwin* | mingw* | pw32* | cegcc*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - interix[3-9]*) - hardcode_direct=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - netbsd*) - ;; - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - else - ld_shlibs=no - fi - ;; - esac - ;; - sunos4*) - hardcode_direct=yes - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - esac - if test "$ld_shlibs" = no; then - hardcode_libdir_flag_spec= - fi -else - case "$host_os" in - aix3*) - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - else - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - fi - hardcode_direct=yes - hardcode_libdir_separator=':' - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - fi - # Begin _LT_AC_SYS_LIBPATH_AIX. - echo 'int main () { return 0; }' > conftest.c - ${CC} ${LDFLAGS} conftest.c -o conftest - aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - fi - if test -z "$aix_libpath"; then - aix_libpath="/usr/lib:/lib" - fi - rm -f conftest.c conftest - # End _LT_AC_SYS_LIBPATH_AIX. - if test "$aix_use_runtimelinking" = yes; then - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - else - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - fi - fi - ;; - amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - bsdi[45]*) - ;; - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - libext=lib - ;; - darwin* | rhapsody*) - hardcode_direct=no - if test "$GCC" = yes ; then - : - else - case $cc_basename in - xlc*) - ;; - *) - ld_shlibs=no - ;; - esac - fi - ;; - dgux*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - freebsd1*) - ld_shlibs=no - ;; - freebsd2.2*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - freebsd2*) - hardcode_direct=yes - hardcode_minus_L=yes - ;; - freebsd* | dragonfly*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - hpux9*) - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - hpux10*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - hpux11*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - ;; - *) - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - irix5* | irix6* | nonstopux*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - netbsd*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - newsos6) - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - else - case "$host_os" in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - osf3*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - osf4* | osf5*) - if test "$GCC" = yes; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - # Both cc and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - solaris*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - sunos4*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - ;; - sysv4) - case $host_vendor in - sni) - hardcode_direct=yes # is this really true??? - ;; - siemens) - hardcode_direct=no - ;; - motorola) - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - ;; - sysv4.3*) - ;; - sysv4*MP*) - if test -d /usr/nec; then - ld_shlibs=yes - fi - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - ;; - sysv5* | sco3.2v5* | sco5v6*) - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - ;; - uts4*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - *) - ld_shlibs=no - ;; - esac -fi - -# Check dynamic linker characteristics -# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. -# Unlike libtool.m4, here we don't care about _all_ names of the library, but -# only about the one the linker finds when passed -lNAME. This is the last -# element of library_names_spec in libtool.m4, or possibly two of them if the -# linker has special search rules. -library_names_spec= # the last element of library_names_spec in libtool.m4 -libname_spec='lib$name' -case "$host_os" in - aix3*) - library_names_spec='$libname.a' - ;; - aix[4-9]*) - library_names_spec='$libname$shrext' - ;; - amigaos*) - library_names_spec='$libname.a' - ;; - beos*) - library_names_spec='$libname$shrext' - ;; - bsdi[45]*) - library_names_spec='$libname$shrext' - ;; - cygwin* | mingw* | pw32* | cegcc*) - shrext=.dll - library_names_spec='$libname.dll.a $libname.lib' - ;; - darwin* | rhapsody*) - shrext=.dylib - library_names_spec='$libname$shrext' - ;; - dgux*) - library_names_spec='$libname$shrext' - ;; - freebsd1*) - ;; - freebsd* | dragonfly*) - case "$host_os" in - freebsd[123]*) - library_names_spec='$libname$shrext$versuffix' ;; - *) - library_names_spec='$libname$shrext' ;; - esac - ;; - gnu*) - library_names_spec='$libname$shrext' - ;; - hpux9* | hpux10* | hpux11*) - case $host_cpu in - ia64*) - shrext=.so - ;; - hppa*64*) - shrext=.sl - ;; - *) - shrext=.sl - ;; - esac - library_names_spec='$libname$shrext' - ;; - interix[3-9]*) - library_names_spec='$libname$shrext' - ;; - irix5* | irix6* | nonstopux*) - library_names_spec='$libname$shrext' - case "$host_os" in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; - *) libsuff= shlibsuff= ;; - esac - ;; - esac - ;; - linux*oldld* | linux*aout* | linux*coff*) - ;; - linux* | k*bsd*-gnu) - library_names_spec='$libname$shrext' - ;; - knetbsd*-gnu) - library_names_spec='$libname$shrext' - ;; - netbsd*) - library_names_spec='$libname$shrext' - ;; - newsos6) - library_names_spec='$libname$shrext' - ;; - nto-qnx*) - library_names_spec='$libname$shrext' - ;; - openbsd*) - library_names_spec='$libname$shrext$versuffix' - ;; - os2*) - libname_spec='$name' - shrext=.dll - library_names_spec='$libname.a' - ;; - osf3* | osf4* | osf5*) - library_names_spec='$libname$shrext' - ;; - rdos*) - ;; - solaris*) - library_names_spec='$libname$shrext' - ;; - sunos4*) - library_names_spec='$libname$shrext$versuffix' - ;; - sysv4 | sysv4.3*) - library_names_spec='$libname$shrext' - ;; - sysv4*MP*) - library_names_spec='$libname$shrext' - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - library_names_spec='$libname$shrext' - ;; - uts4*) - library_names_spec='$libname$shrext' - ;; -esac - -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` -shlibext=`echo "$shrext" | sed -e 's,^\.,,'` -escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` - -LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2017 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | cloudabi*-eabi* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia16 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pru \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | wasm32 \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pru-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | wasm32-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - e500v[12]) - basic_machine=powerpc-unknown - os=$os"spe" - ;; - e500v[12]-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - os=$os"spe" - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - nsx-tandem) - basic_machine=nsx-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tile*) - basic_machine=$basic_machine-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - wasm32) - basic_machine=wasm32-unknown - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; - -ios) - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - c8051-*) - os=-elf - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - pru-*) - os=-elf - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -cnk*|-aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/configure b/configure deleted file mode 100755 index 216aaea..0000000 --- a/configure +++ /dev/null @@ -1,24492 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for sane-backends 1.0.27. -# -# Report bugs to . -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: sane-devel@lists.alioth.debian.org about your system, -$0: including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -SHELL=${CONFIG_SHELL-/bin/sh} - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='sane-backends' -PACKAGE_TARNAME='sane-backends' -PACKAGE_VERSION='1.0.27' -PACKAGE_STRING='sane-backends 1.0.27' -PACKAGE_BUGREPORT='sane-devel@lists.alioth.debian.org' -PACKAGE_URL='' - -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -gt_needs= -ac_config_libobj_dir=lib -ac_header_list= -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -AM_LDFLAGS -AM_CFLAGS -AM_CPPFLAGS -WITH_API_HTML_FALSE -WITH_API_HTML_TRUE -WITH_API_PDF_FALSE -WITH_API_PDF_TRUE -WITH_API_PS_FALSE -WITH_API_PS_TRUE -PPMTOGIF -DLH -GS -FIG2DEV -PDFLATEX -LATEX -DVIPS -MAKEINDEX -BACKEND_MANS_ENABLED -BACKEND_CONFS_ENABLED -PRELOADABLE_BACKENDS_ENABLED -PRELOADABLE_BACKENDS -INSTALL_UMAX_PP_TOOLS_FALSE -INSTALL_UMAX_PP_TOOLS_TRUE -BACKEND_LIBS_ENABLED -SANEI_SANEI_JPEG_LO -HAVE_JPEG_FALSE -HAVE_JPEG_TRUE -BACKENDS -COMPILE_SANED_FALSE -COMPILE_SANED_TRUE -configdir -locksanedir -SCSI_LIBS -have_usblib_FALSE -have_usblib_TRUE -USB_LIBS -USB_CFLAGS -SYSTEMD_LIBS -SYSTEMD_CFLAGS -SOCKET_LIBS -LTALLOCA -LIBOBJS -ALLOCA -RESMGR_LIBS -SNMP_CFLAGS -SNMP_LIBS -SNMP_CONFIG_PATH -AVAHI_LIBS -AVAHI_CFLAGS -LIBV4L_LIBS -LIBV4L_CFLAGS -GPHOTO2_LDFLAGS -GPHOTO2_LIBS -GPHOTO2_CPPFLAGS -HAVE_GPHOTO2 -LOCKPATH_GROUP -INSTALL_LOCKPATH -PTHREAD_LIBS -IEEE1284_LIBS -PNG_LIBS -TIFF_LIBS -JPEG_LIBS -SYSLOG_LIBS -MATH_LIB -DYNAMIC_FLAG -DL_LIBS -effective_target -STRICT_LDFLAGS -CROSS_COMPILING_FALSE -CROSS_COMPILING_TRUE -PKG_CONFIG_LIBDIR -PKG_CONFIG_PATH -PKG_CONFIG -SANE_CONFIG_PATH -POSUB -LTLIBINTL -LIBINTL -INTLLIBS -LTLIBICONV -LIBICONV -INTL_MACOSX_LIBS -XGETTEXT_EXTRA_OPTIONS -MSGMERGE -XGETTEXT_015 -XGETTEXT -GMSGFMT_015 -MSGFMT_015 -GMSGFMT -MSGFMT -GETTEXT_MACRO_VERSION -USE_NLS -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -LIBTOOL -OBJDUMP -DLLTOOL -AS -ac_ct_AR -AR -EGREP -GREP -CPP -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -V_REV -V_MINOR -V_MAJOR -MAINT -MAINTAINER_MODE_FALSE -MAINTAINER_MODE_TRUE -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_maintainer_mode -enable_dependency_tracking -enable_static -enable_shared -with_pic -enable_fast_install -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_nls -enable_rpath -with_libiconv_prefix -with_libintl_prefix -enable_warnings -enable_dynamic -enable_pthread -enable_locking -with_group -with_gphoto2 -with_v4l -enable_avahi -with_snmp -with_systemd -with_usb -enable_scsibuffersize -enable_scsi_directio -enable_ipv6 -enable_preload -with_lockdir -enable_local_backends -enable_pnm_backend -enable_parport_directio -with_api_spec -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -PKG_CONFIG -PKG_CONFIG_PATH -PKG_CONFIG_LIBDIR -LIBV4L_CFLAGS -LIBV4L_LIBS -AVAHI_CFLAGS -AVAHI_LIBS -SYSTEMD_CFLAGS -SYSTEMD_LIBS -USB_CFLAGS -USB_LIBS -BACKENDS -PRELOADABLE_BACKENDS' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures sane-backends 1.0.27 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/sane-backends] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of sane-backends 1.0.27:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-maintainer-mode - enable make rules and dependencies not useful (and - sometimes confusing) to the casual installer - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-static[=PKGS] build static libraries [default=no] - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --disable-nls do not use Native Language Support - --disable-rpath do not hardcode runtime library paths - --enable-warnings turn on tons of compiler warnings (GCC only) - --disable-dynamic Disable dynamic loading of backends - --enable-pthread use pthread instead of fork (default=yes for - Linux/MacOS X/MINGW, no for everything else) - --enable-locking activate device locking (default=yes, but only used - by some backends) - --enable-avahi enable Avahi support for saned and the net backend - --enable-scsibuffersize=N - specify the default size in bytes of the buffer for - SCSI commands [default=131072] - --enable-scsi-directio enable SCSI direct IO (Linux only, dangerous, see - README.linux) - --disable-ipv6 disable IPv6 support - --disable-preload Disable preloading of backends - --disable-local-backends - turn off compilation of all backends but net - --enable-pnm-backend enable the pnm backend for testing frontends - (possible security risk, see PROBLEMS file) - --enable-parport-directio - enable direct hardware access to the parallel port, - so frontends will require special permission level - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use - both] - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-sysroot=DIR Search for dependent libraries within DIR - (or the compiler's sysroot if not specified). - --with-gnu-ld assume the C compiler uses GNU ld default=no - --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib - --without-libiconv-prefix don't search for libiconv in includedir and libdir - --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib - --without-libintl-prefix don't search for libintl in includedir and libdir - --with-group use the specified group for lock dir [default=uucp] - --with-gphoto2 include the gphoto2 backend [default=yes] - --with-v4l include the v4l backend [default=yes] - --with-snmp enable SNMP support [default=yes] - --with-systemd enable systemd support [default=yes] - --with-usb enable USB support [default=check] - --with-lockdir=DIR set SANE lockdir [localstatedir/lock/sane] - --with-api-spec convert API spec to supported output formats - [default=check] - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - PKG_CONFIG path to pkg-config utility - PKG_CONFIG_PATH - directories to add to pkg-config's search path - PKG_CONFIG_LIBDIR - path overriding pkg-config's built-in search path - LIBV4L_CFLAGS - C compiler flags for LIBV4L, overriding pkg-config - LIBV4L_LIBS linker flags for LIBV4L, overriding pkg-config - AVAHI_CFLAGS - C compiler flags for AVAHI, overriding pkg-config - AVAHI_LIBS linker flags for AVAHI, overriding pkg-config - SYSTEMD_CFLAGS - C compiler flags for SYSTEMD, overriding pkg-config - SYSTEMD_LIBS - linker flags for SYSTEMD, overriding pkg-config - USB_CFLAGS C compiler flags for USB, overriding pkg-config - USB_LIBS linker flags for USB, overriding pkg-config - BACKENDS list of backends to compile - PRELOADABLE_BACKENDS - list of backends to preload into single DLL - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -sane-backends configure 1.0.27 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## ------------------------------------------------- ## -## Report this to sane-devel@lists.alioth.debian.org ## -## ------------------------------------------------- ##" - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func - -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_type - -# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -# -------------------------------------------- -# Tries to find the compile-time value of EXPR in a program that includes -# INCLUDES, setting VAR accordingly. Returns whether the value could be -# computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in #(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by sane-backends $as_me 1.0.27, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -gt_needs="$gt_needs " -as_fn_append ac_header_list " stdlib.h" -as_fn_append ac_header_list " unistd.h" -as_fn_append ac_header_list " sys/param.h" -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -ac_config_headers="$ac_config_headers include/sane/config.h" - - -am__api_version='1.14' - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='sane-backends' - VERSION='1.0.27' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 -$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } - # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then : - enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval -else - USE_MAINTAINER_MODE=no -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 -$as_echo "$USE_MAINTAINER_MODE" >&6; } - if test $USE_MAINTAINER_MODE = yes; then - MAINTAINER_MODE_TRUE= - MAINTAINER_MODE_FALSE='#' -else - MAINTAINER_MODE_TRUE='#' - MAINTAINER_MODE_FALSE= -fi - - MAINT=$MAINTAINER_MODE_TRUE - - - -if test x = "x$AWK"; then : - for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -fi -if test x = "x`echo $VERSION | sed 's/[.0-9]//g'`"; then : - is_release=yes -else - is_release=no -fi -V_MAJOR=`echo $VERSION | $AWK -F. '{print $1}'` -V_MINOR=`echo $VERSION | $AWK -F. '{print $2}'` -V_REV=`echo $VERSION | $AWK -F. '{print $3}' | sed 's/[^0-9]//g'`; - - -cat >>confdefs.h <<_ACEOF -#define SANE_DLL_V_MAJOR $V_MAJOR -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define SANE_DLL_V_MINOR $V_MINOR -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define SANE_DLL_V_BUILD $V_REV -_ACEOF - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - - -sane_save_CC=$CC - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 -$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } -if ${ac_cv_prog_cc_c99+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c99=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -#include - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -#define debug(...) fprintf (stderr, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} - -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - your preprocessor is broken; -#endif -#if BIG_OK -#else - your preprocessor is broken; -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; - -struct incomplete_array -{ - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; - -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; - return 0; -} - -// Check varargs and va_copy. -static void -test_varargs (const char *format, ...) -{ - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - - const char *str; - int number; - float fnumber; - - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg (args_copy, const char *); - break; - case 'd': // int - number = va_arg (args_copy, int); - break; - case 'f': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); -} - -int -main () -{ - - // Check bool. - _Bool success = false; - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - test_varargs ("s, d' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[ni.number - 1] = 543; - - // work around unused variable warnings - return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' - || dynamic_array[ni.number - 1] != 543); - - ; - return 0; -} -_ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c99=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c99" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c99" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c99" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 -$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c99" != xno; then : - -fi - - if test xno != "x$ac_cv_prog_cc_c99"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $sane_save_CC option for ISO C99 w/o extensions" >&5 -$as_echo_n "checking for $sane_save_CC option for ISO C99 w/o extensions... " >&6; } - case $ac_cv_prog_cc_c99 in #( - -std=gnu99) : - sane_prog_cc_c99="-std=c99" ;; #( - -qlanglvl=extc99) : - sane_prog_cc_c99="-qlanglvl=stdc99" ;; #( - *) : - ;; -esac - if test "x$ac_cv_prog_cc_c99" = "x$sane_prog_cc_c99"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_99" >&5 -$as_echo "$ac_cv_prog_cc_99" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $sane_prog_cc_c99" >&5 -$as_echo "$sane_prog_cc_c99" >&6; } - CC="$sane_save_CC $sane_prog_cc_c99" -fi - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -if test $ac_cv_c_compiler_gnu = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 -$as_echo_n "checking whether $CC needs -traditional... " >&6; } -if ${ac_cv_prog_gcc_traditional+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_pattern="Autoconf.*'x'" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -Autoconf TIOCGETP -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then : - ac_cv_prog_gcc_traditional=yes -else - ac_cv_prog_gcc_traditional=no -fi -rm -f conftest* - - - if test $ac_cv_prog_gcc_traditional = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -Autoconf TCGETA -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then : - ac_cv_prog_gcc_traditional=yes -fi -rm -f conftest* - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5 -$as_echo "$ac_cv_prog_gcc_traditional" >&6; } - if test $ac_cv_prog_gcc_traditional = yes; then - CC="$CC -traditional" - fi -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = xyes; then : - MINIX=yes -else - MINIX= -fi - - - if test "$MINIX" = yes; then - -$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h - - -$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h - - -$as_echo "#define _MINIX 1" >>confdefs.h - - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if ${ac_cv_safe_to_define___extensions__+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -# define __EXTENSIONS__ 1 - $ac_includes_default -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_safe_to_define___extensions__=yes -else - ac_cv_safe_to_define___extensions__=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h - - $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - - $as_echo "#define _GNU_SOURCE 1" >>confdefs.h - - $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - - $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar lib "link -lib" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar lib "link -lib" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 -$as_echo_n "checking the archiver ($AR) interface... " >&6; } -if ${am_cv_ar_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - am_cv_ar_interface=ar - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int some_variable = 0; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 - (eval $am_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - am_cv_ar_interface=ar - else - am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 - (eval $am_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - am_cv_ar_interface=lib - else - am_cv_ar_interface=unknown - fi - fi - rm -f conftest.lib libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 -$as_echo "$am_cv_ar_interface" >&6; } - -case $am_cv_ar_interface in -ar) - ;; -lib) - # Microsoft lib, so override with the ar-lib wrapper script. - # FIXME: It is wrong to rewrite AR. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__AR in this case, - # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something - # similar. - AR="$am_aux_dir/ar-lib $AR" - ;; -unknown) - as_fn_error $? "could not determine $AR interface" "$LINENO" 5 - ;; -esac - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.2' -macro_revision='1.3337' - - - - - - - - - - - - - -ltmain="$ac_aux_dir/ltmain.sh" - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case "$ECHO" in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } - - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test "$GCC" != yes; then - reload_cmds=false - fi - ;; - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. - if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} -: ${AR_FLAGS=cru} - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -# Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 -$as_echo "${with_sysroot}" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - - -# Set options -# Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=no -fi - - - - - - - -enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -$as_echo "$AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - - ;; -esac - -test -z "$AS" && AS=as - - - - - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - enable_dlopen=no - - - - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for lt_pkg in $withval; do - IFS="$lt_save_ifs" - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - pic_mode=default -fi - - -test -z "$pic_mode" && pic_mode=default - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC="$CC" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test x"$lt_cv_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='${wl}--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - link_all_deplibs=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - export_dynamic_flag_spec='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test x"$lt_cv_prog_compiler__b" = xyes; then - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test "$lt_cv_irix_exported_symbol" = yes; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([A-Za-z]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report which library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - - - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 -$as_echo_n "checking whether NLS is requested... " >&6; } - # Check whether --enable-nls was given. -if test "${enable_nls+set}" = set; then : - enableval=$enable_nls; USE_NLS=$enableval -else - USE_NLS=yes -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - - - - - GETTEXT_MACRO_VERSION=0.18 - - - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MSGFMT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$MSGFMT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test "$MSGFMT" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 -$as_echo "$MSGFMT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_GMSGFMT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $GMSGFMT in - [\\/]* | ?:[\\/]*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT=$ac_cv_path_GMSGFMT -if test -n "$GMSGFMT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 -$as_echo "$GMSGFMT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; - *) MSGFMT_015=$MSGFMT ;; - esac - - case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; - *) GMSGFMT_015=$GMSGFMT ;; - esac - - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_XGETTEXT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$XGETTEXT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test "$XGETTEXT" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 -$as_echo "$XGETTEXT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - rm -f messages.po - - case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; - *) XGETTEXT_015=$XGETTEXT ;; - esac - - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "msgmerge", so it can be a program name with args. -set dummy msgmerge; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MSGMERGE+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$MSGMERGE" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then - ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" - ;; -esac -fi -MSGMERGE="$ac_cv_path_MSGMERGE" -if test "$MSGMERGE" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 -$as_echo "$MSGMERGE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$localedir" || localedir='${datadir}/locale' - - - test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= - - - ac_config_commands="$ac_config_commands po-directories" - - - - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 -$as_echo_n "checking for ld used by GCC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${acl_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$acl_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${acl_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$acl_cv_prog_gnu_ld - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if ${acl_cv_rpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; : -else - enable_rpath=yes -fi - - - - - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 -$as_echo_n "checking for 64-bit host... " >&6; } -if ${gl_cv_solaris_64bit+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef _LP64 -sixtyfour bits -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1; then : - gl_cv_solaris_64bit=yes -else - gl_cv_solaris_64bit=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -$as_echo "$gl_cv_solaris_64bit" >&6; } - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" - - - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then : - withval=$with_libiconv_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi - -fi - - LIBICONV= - LTLIBICONV= - INCICONV= - LIBICONV_PREFIX= - HAVE_LIBICONV= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='iconv ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'iconv'; then - LIBICONV_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'iconv'; then - LIBICONV_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" - ;; - esac - done - fi - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" - done - fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 -$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } -if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : - $as_echo_n "(cached) " >&6 -else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -CFPreferencesCopyAppValue(NULL, NULL) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gt_cv_func_CFPreferencesCopyAppValue=yes -else - gt_cv_func_CFPreferencesCopyAppValue=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 -$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - -$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h - - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 -$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } -if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : - $as_echo_n "(cached) " >&6 -else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -CFLocaleCopyCurrent(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gt_cv_func_CFLocaleCopyCurrent=yes -else - gt_cv_func_CFLocaleCopyCurrent=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 -$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - -$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h - - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - - - - - - - LIBINTL= - LTLIBINTL= - POSUB= - - case " $gt_needs " in - *" need-formatstring-macros "*) gt_api_version=3 ;; - *" need-ngettext "*) gt_api_version=2 ;; - *) gt_api_version=1 ;; - esac - gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" - gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" - - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - - - if test $gt_api_version -ge 3; then - gt_revision_test_code=' -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -' - else - gt_revision_test_code= - fi - if test $gt_api_version -ge 2; then - gt_expression_test_code=' + * ngettext ("", "", 0)' - else - gt_expression_test_code= - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 -$as_echo_n "checking for GNU gettext in libc... " >&6; } -if eval \${$gt_func_gnugettext_libc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings; -int -main () -{ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$gt_func_gnugettext_libc=yes" -else - eval "$gt_func_gnugettext_libc=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$gt_func_gnugettext_libc - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - - - - - - am_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCICONV; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 -$as_echo_n "checking for iconv... " >&6; } -if ${am_cv_func_iconv+:} false; then : - $as_echo_n "(cached) " >&6 -else - - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_lib_iconv=yes - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$am_save_LIBS" - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 -$as_echo "$am_cv_func_iconv" >&6; } - if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 -$as_echo_n "checking for working iconv... " >&6; } -if ${am_cv_func_iconv_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - if test "$cross_compiling" = yes; then : - case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -int main () -{ - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - return 1; - } - } - /* Test against Solaris 10 bug: Failures are not distinguishable from - successful returns. */ - { - iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); - if (cd_ascii_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\263"; - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_ascii_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - return 1; - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - return 1; - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - return 1; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - am_cv_func_iconv_works=yes -else - am_cv_func_iconv_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - LIBS="$am_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 -$as_echo "$am_cv_func_iconv_works" >&6; } - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then - -$as_echo "#define HAVE_ICONV 1" >>confdefs.h - - fi - if test "$am_cv_lib_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 -$as_echo_n "checking how to link with libiconv... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 -$as_echo "$LIBICONV" >&6; } - else - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libintl-prefix was given. -if test "${with_libintl_prefix+set}" = set; then : - withval=$with_libintl_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi - -fi - - LIBINTL= - LTLIBINTL= - INCINTL= - LIBINTL_PREFIX= - HAVE_LIBINTL= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='intl ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'intl'; then - LIBINTL_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'intl'; then - LIBINTL_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" - ;; - esac - done - fi - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" - done - fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 -$as_echo_n "checking for GNU gettext in libintl... " >&6; } -if eval \${$gt_func_gnugettext_libintl+:} false; then : - $as_echo_n "(cached) " >&6 -else - gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); -int -main () -{ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$gt_func_gnugettext_libintl=yes" -else - eval "$gt_func_gnugettext_libintl=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); -int -main () -{ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS" -fi -eval ac_res=\$$gt_func_gnugettext_libintl - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - fi - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ - || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ - && test "$PACKAGE" != gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then - gt_use_preinstalled_gnugettext=yes - else - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - - - if test -n "$INTL_MACOSX_LIBS"; then - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" - LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" - fi - fi - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - -$as_echo "#define ENABLE_NLS 1" >>confdefs.h - - else - USE_NLS=no - fi - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 -$as_echo_n "checking whether to use NLS... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - if test "$USE_NLS" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 -$as_echo_n "checking where the gettext function comes from... " >&6; } - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - gt_source="external libintl" - else - gt_source="libc" - fi - else - gt_source="included intl directory" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 -$as_echo "$gt_source" >&6; } - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 -$as_echo_n "checking how to link with libintl... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 -$as_echo "$LIBINTL" >&6; } - - for element in $INCINTL; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - fi - - -$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h - - -$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h - - fi - - POSUB=po - fi - - - - INTLLIBS="$LIBINTL" - - - - - - - - -# Extract the first word of "sane-config", so it can be a program name with args. -set dummy sane-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SANE_CONFIG_PATH+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $SANE_CONFIG_PATH in - [\\/]* | ?:[\\/]*) - ac_cv_path_SANE_CONFIG_PATH="$SANE_CONFIG_PATH" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_SANE_CONFIG_PATH="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_SANE_CONFIG_PATH" && ac_cv_path_SANE_CONFIG_PATH="no" - ;; -esac -fi -SANE_CONFIG_PATH=$ac_cv_path_SANE_CONFIG_PATH -if test -n "$SANE_CONFIG_PATH"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SANE_CONFIG_PATH" >&5 -$as_echo "$SANE_CONFIG_PATH" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - - - - - - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi - -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - PKG_CONFIG="" - fi -fi - - if test x$cross_compiling = xyes; then - CROSS_COMPILING_TRUE= - CROSS_COMPILING_FALSE='#' -else - CROSS_COMPILING_TRUE='#' - CROSS_COMPILING_FALSE= -fi - - - -if test "${ac_cv_c_compiler_gnu}" = "yes"; then - DEFAULT_CFLAGS="\ - -Wall" - EXTRA_WARNINGS="\ - -Wextra \ - -pedantic" - - for flag in $DEFAULT_CFLAGS; do - case "$AM_CFLAGS" in -"$flag" | "$flag "* | *" $flag" | *" $flag "* ) - : - ;; -*) - AM_CFLAGS="$AM_CFLAGS $flag" - ;; -esac - - done - - # Check whether --enable-warnings was given. -if test "${enable_warnings+set}" = set; then : - enableval=$enable_warnings; - if eval "test x$enable_warnings = xyes"; then - for flag in $EXTRA_WARNINGS; do - case "$AM_CFLAGS" in -"$flag" | "$flag "* | *" $flag" | *" $flag "* ) - : - ;; -*) - AM_CFLAGS="$AM_CFLAGS $flag" - ;; -esac - - done - fi - -else - if test x$is_release = xno; then - # Warnings enabled by default (development) - for flag in $EXTRA_WARNINGS; do - case "$AM_CFLAGS" in -"$flag" | "$flag "* | *" $flag" | *" $flag "* ) - : - ;; -*) - AM_CFLAGS="$AM_CFLAGS $flag" - ;; -esac - - done - fi -fi - -fi # ac_cv_c_compiler_gnu - - - # Define stricter linking policy on GNU systems. This is not - # added to global LDFLAGS because we may want to create convenience - # libraries that don't require such strick linking. - if test "$GCC" = yes; then - case ${host_os} in - linux* | solaris*) - STRICT_LDFLAGS="-Wl,-z,defs" - ;; - esac - fi - - case "${host_os}" in - aix*) #enable .so libraries, disable archives - AM_LDFLAGS="$AM_LDFLAGS -Wl,-brtl" - ;; - darwin*) #include frameworks - LIBS="$LIBS -framework CoreFoundation -framework IOKit" - ;; - esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 -$as_echo_n "checking for library containing strerror... " >&6; } -if ${ac_cv_search_strerror+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char strerror (); -int -main () -{ -return strerror (); - ; - return 0; -} -_ACEOF -for ac_lib in '' cposix; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_strerror=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_strerror+:} false; then : - break -fi -done -if ${ac_cv_search_strerror+:} false; then : - -else - ac_cv_search_strerror=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 -$as_echo "$ac_cv_search_strerror" >&6; } -ac_res=$ac_cv_search_strerror -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - - - -ac_byteorder_h=`echo include/byteorder.h` -ac_dir=`echo $ac_byteorder_h|sed 's%/[^/][^/]*$%%'` -if test "$ac_dir" != "$ac_byteorder" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" -fi - -# We're only interested in the target CPU, but it's not always set -effective_target="$target" -if test "x$effective_target" = xNONE -o "x$effective_target" = x ; then - effective_target="$host" -fi - - -ac_byteorder=_byteorder.tmp -cat > "$ac_byteorder" << EOF -/* This file is generated automatically by configure */ -/* It is valid only for the system type ${effective_target} */ - -#ifndef __BYTEORDER_H -#define __BYTEORDER_H - -EOF - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#ifndef _BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; - -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no -else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) - -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - ;; #( - *) - as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for le32toh in machine/endian.h" >&5 -$as_echo_n "checking for le32toh in machine/endian.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef le32toh - symbol is present -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -HAVE_LE32TOH=1 - cat >> "$ac_byteorder" << EOF -/* extended byte swapping macros are already available */ -#include - -EOF - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ntohl in arpa/inet.h" >&5 -$as_echo_n "checking for ntohl in arpa/inet.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef ntohl - symbol is present -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -cat >> "$ac_byteorder" << EOF -/* ntohl and relatives live here */ -#include - -EOF - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ntohl in netinet/in.h" >&5 -$as_echo_n "checking for ntohl in netinet/in.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef ntohl - symbol is present -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -cat >> "$ac_byteorder" << EOF -/* ntohl and relatives live here */ -#include - -EOF - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -true - -fi -rm -f conftest* - - -fi -rm -f conftest* - - - -fi -rm -f conftest* - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for swap32 in machine/endian.h" >&5 -$as_echo_n "checking for swap32 in machine/endian.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef swap32 - symbol is present -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -cat >> "$ac_byteorder" << EOF -/* swap32 and swap16 are defined in machine/endian.h */ - -EOF - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bswap_32 in byteswap.h" >&5 -$as_echo_n "checking for bswap_32 in byteswap.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef bswap_32 - symbol is present -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -cat >> "$ac_byteorder" << EOF -/* Define generic byte swapping functions */ -#include -#define swap16(x) bswap_16(x) -#define swap32(x) bswap_32(x) -#define swap64(x) bswap_64(x) - -EOF - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bswap32 in machine/endian.h" >&5 -$as_echo_n "checking for bswap32 in machine/endian.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef bswap32 - symbol is present -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - cat >> "$ac_byteorder" << EOF -/* Define generic byte swapping functions */ -EOF - if test "$HAVE_LE32TOH" != "1"; then - echo '#include '>> "$ac_byteorder" - fi -cat >> "$ac_byteorder" << EOF -#define swap16(x) bswap16(x) -#define swap32(x) bswap32(x) -#define swap64(x) bswap64(x) - -EOF - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __byte_swap_long in sys/types.h" >&5 -$as_echo_n "checking for __byte_swap_long in sys/types.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef __byte_swap_long - symbol is present -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\<__byte_swap_long\>" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -cat >> "$ac_byteorder" << EOF -/* Define generic byte swapping functions */ -#include -#define swap16(x) __byte_swap_word(x) -#define swap32(x) __byte_swap_long(x) -/* No optimized 64 bit byte swapping macro is available */ -#define swap64(x) ((uint64_t)(((uint64_t)(x) << 56) & 0xff00000000000000ULL | \\ - ((uint64_t)(x) << 40) & 0x00ff000000000000ULL | \\ - ((uint64_t)(x) << 24) & 0x0000ff0000000000ULL | \\ - ((uint64_t)(x) << 8) & 0x000000ff00000000ULL | \\ - ((x) >> 8) & 0x00000000ff000000ULL | \\ - ((x) >> 24) & 0x0000000000ff0000ULL | \\ - ((x) >> 40) & 0x000000000000ff00ULL | \\ - ((x) >> 56) & 0x00000000000000ffULL)) - -EOF - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for NXSwapLong in machine/byte_order.h" >&5 -$as_echo_n "checking for NXSwapLong in machine/byte_order.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef NXSwapLong - symbol is present -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "symbol is present|\" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -cat >> "$ac_byteorder" << EOF -/* Define generic byte swapping functions */ -#include -#define swap16(x) NXSwapShort(x) -#define swap32(x) NXSwapLong(x) -#define swap64(x) NXSwapLongLong(x) - -EOF - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - if test $ac_cv_c_bigendian = yes; then - cat >> "$ac_byteorder" << EOF -/* No other byte swapping functions are available on this big-endian system */ -#define swap16(x) ((uint16_t)(((x) << 8) | ((uint16_t)(x) >> 8))) -#define swap32(x) ((uint32_t)(((uint32_t)(x) << 24) & 0xff000000UL | \\ - ((uint32_t)(x) << 8) & 0x00ff0000UL | \\ - ((x) >> 8) & 0x0000ff00UL | \\ - ((x) >> 24) & 0x000000ffUL)) -#define swap64(x) ((uint64_t)(((uint64_t)(x) << 56) & 0xff00000000000000ULL | \\ - ((uint64_t)(x) << 40) & 0x00ff000000000000ULL | \\ - ((uint64_t)(x) << 24) & 0x0000ff0000000000ULL | \\ - ((uint64_t)(x) << 8) & 0x000000ff00000000ULL | \\ - ((x) >> 8) & 0x00000000ff000000ULL | \\ - ((x) >> 24) & 0x0000000000ff0000ULL | \\ - ((x) >> 40) & 0x000000000000ff00ULL | \\ - ((x) >> 56) & 0x00000000000000ffULL)) - -EOF - else - cat >> "$ac_byteorder" << EOF -/* Use these as generic byteswapping macros on this little endian system */ -#define swap16(x) ntohs(x) -#define swap32(x) ntohl(x) -/* No optimized 64 bit byte swapping macro is available */ -#define swap64(x) ((uint64_t)(((uint64_t)(x) << 56) & 0xff00000000000000ULL | \\ - ((uint64_t)(x) << 40) & 0x00ff000000000000ULL | \\ - ((uint64_t)(x) << 24) & 0x0000ff0000000000ULL | \\ - ((uint64_t)(x) << 8) & 0x000000ff00000000ULL | \\ - ((x) >> 8) & 0x00000000ff000000ULL | \\ - ((x) >> 24) & 0x0000000000ff0000ULL | \\ - ((x) >> 40) & 0x000000000000ff00ULL | \\ - ((x) >> 56) & 0x00000000000000ffULL)) - -EOF - fi - - -fi -rm -f conftest* - - - -fi -rm -f conftest* - - - -fi -rm -f conftest* - - - -fi -rm -f conftest* - - - -fi -rm -f conftest* - - - - -if test "$HAVE_LE32TOH" != "1"; then - cat >> "$ac_byteorder" << EOF -/* The byte swapping macros have the form: */ -/* EENN[a]toh or htoEENN[a] where EE is be (big endian) or */ -/* le (little-endian), NN is 16 or 32 (number of bits) and a, */ -/* if present, indicates that the endian side is a pointer to an */ -/* array of uint8_t bytes instead of an integer of the specified length. */ -/* h refers to the host's ordering method. */ - -/* So, to convert a 32-bit integer stored in a buffer in little-endian */ -/* format into a uint32_t usable on this machine, you could use: */ -/* uint32_t value = le32atoh(&buf[3]); */ -/* To put that value back into the buffer, you could use: */ -/* htole32a(&buf[3], value); */ - -/* Define aliases for the standard byte swapping macros */ -/* Arguments to these macros must be properly aligned on natural word */ -/* boundaries in order to work properly on all architectures */ -#ifndef htobe16 -#define htobe16(x) htons(x) -#endif -#ifndef htobe32 -#define htobe32(x) htonl(x) -#endif -#ifndef be16toh -#define be16toh(x) ntohs(x) -#endif -#ifndef be32toh -#define be32toh(x) ntohl(x) -#endif - -#define HTOBE16(x) (x) = htobe16(x) -#define HTOBE32(x) (x) = htobe32(x) -#define BE32TOH(x) (x) = be32toh(x) -#define BE16TOH(x) (x) = be16toh(x) - -EOF - - if test $ac_cv_c_bigendian = yes; then - cat >> "$ac_byteorder" << EOF -/* Define our own extended byte swapping macros for big-endian machines */ -#ifndef htole16 -#define htole16(x) swap16(x) -#endif -#ifndef htole32 -#define htole32(x) swap32(x) -#endif -#ifndef le16toh -#define le16toh(x) swap16(x) -#endif -#ifndef le32toh -#define le32toh(x) swap32(x) -#endif - -#ifndef htobe64 -#define htobe64(x) (x) -#endif -#ifndef be64toh -#define be64toh(x) (x) -#endif - -#define HTOLE16(x) (x) = htole16(x) -#define HTOLE32(x) (x) = htole32(x) -#define LE16TOH(x) (x) = le16toh(x) -#define LE32TOH(x) (x) = le32toh(x) - -#define HTOBE64(x) (void) (x) -#define BE64TOH(x) (void) (x) - -EOF - else - cat >> "$ac_byteorder" << EOF -/* On little endian machines, these macros are null */ -#ifndef htole16 -#define htole16(x) (x) -#endif -#ifndef htole32 -#define htole32(x) (x) -#endif -#ifndef htole64 -#define htole64(x) (x) -#endif -#ifndef le16toh -#define le16toh(x) (x) -#endif -#ifndef le32toh -#define le32toh(x) (x) -#endif -#ifndef le64toh -#define le64toh(x) (x) -#endif - -#define HTOLE16(x) (void) (x) -#define HTOLE32(x) (void) (x) -#define HTOLE64(x) (void) (x) -#define LE16TOH(x) (void) (x) -#define LE32TOH(x) (void) (x) -#define LE64TOH(x) (void) (x) - -/* These don't have standard aliases */ -#ifndef htobe64 -#define htobe64(x) swap64(x) -#endif -#ifndef be64toh -#define be64toh(x) swap64(x) -#endif - -#define HTOBE64(x) (x) = htobe64(x) -#define BE64TOH(x) (x) = be64toh(x) - -EOF - fi -fi - -cat >> "$ac_byteorder" << EOF -/* Define the C99 standard length-specific integer types */ -#include <_stdint.h> - -EOF - -case "${effective_target}" in - i[3456]86-*) - cat >> "$ac_byteorder" << EOF -/* Here are some macros to create integers from a byte array */ -/* These are used to get and put integers from/into a uint8_t array */ -/* with a specific endianness. This is the most portable way to generate */ -/* and read messages to a network or serial device. Each member of a */ -/* packet structure must be handled separately. */ - -/* The i386 and compatibles can handle unaligned memory access, */ -/* so use the optimized macros above to do this job */ -#define be16atoh(x) be16toh(*(uint16_t*)(x)) -#define be32atoh(x) be32toh(*(uint32_t*)(x)) -#define be64atoh(x) be64toh(*(uint64_t*)(x)) -#define le16atoh(x) le16toh(*(uint16_t*)(x)) -#define le32atoh(x) le32toh(*(uint32_t*)(x)) -#define le64atoh(x) le64toh(*(uint64_t*)(x)) - -#define htobe16a(a,x) *(uint16_t*)(a) = htobe16(x) -#define htobe32a(a,x) *(uint32_t*)(a) = htobe32(x) -#define htobe64a(a,x) *(uint64_t*)(a) = htobe64(x) -#define htole16a(a,x) *(uint16_t*)(a) = htole16(x) -#define htole32a(a,x) *(uint32_t*)(a) = htole32(x) -#define htole64a(a,x) *(uint64_t*)(a) = htole64(x) - -EOF - ;; - - *) - cat >> "$ac_byteorder" << EOF -/* Here are some macros to create integers from a byte array */ -/* These are used to get and put integers from/into a uint8_t array */ -/* with a specific endianness. This is the most portable way to generate */ -/* and read messages to a network or serial device. Each member of a */ -/* packet structure must be handled separately. */ - -/* Non-optimized but portable macros */ -#define be16atoh(x) ((uint16_t)(((x)[0]<<8)|(x)[1])) -#define be32atoh(x) ((uint32_t)(((x)[0]<<24)|((x)[1]<<16)|((x)[2]<<8)|(x)[3])) -#define be64atoh(x) ((uint64_t)(((x)[0]<<56)|((x)[1]<<48)|((x)[2]<<40)| \\ - ((x)[3]<<32)|((x)[4]<<24)|((x)[5]<<16)|((x)[6]<<8)|(x)[7])) -#define le16atoh(x) ((uint16_t)(((x)[1]<<8)|(x)[0])) -#define le32atoh(x) ((uint32_t)(((x)[3]<<24)|((x)[2]<<16)|((x)[1]<<8)|(x)[0])) -#define le64atoh(x) ((uint64_t)(((x)[7]<<56)|((x)[6]<<48)|((x)[5]<<40)| \\ - ((x)[4]<<32)|((x)[3]<<24)|((x)[2]<<16)|((x)[1]<<8)|(x)[0])) - -#define htobe16a(a,x) (a)[0]=(uint8_t)((x)>>8), (a)[1]=(uint8_t)(x) -#define htobe32a(a,x) (a)[0]=(uint8_t)((x)>>24), (a)[1]=(uint8_t)((x)>>16), \\ - (a)[2]=(uint8_t)((x)>>8), (a)[3]=(uint8_t)(x) -#define htobe64a(a,x) (a)[0]=(uint8_t)((x)>>56), (a)[1]=(uint8_t)((x)>>48), \\ - (a)[2]=(uint8_t)((x)>>40), (a)[3]=(uint8_t)((x)>>32), \\ - (a)[4]=(uint8_t)((x)>>24), (a)[5]=(uint8_t)((x)>>16), \\ - (a)[6]=(uint8_t)((x)>>8), (a)[7]=(uint8_t)(x) -#define htole16a(a,x) (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x) -#define htole32a(a,x) (a)[3]=(uint8_t)((x)>>24), (a)[2]=(uint8_t)((x)>>16), \\ - (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x) -#define htole64a(a,x) (a)[7]=(uint8_t)((x)>>56), (a)[6]=(uint8_t)((x)>>48), \\ - (a)[5]=(uint8_t)((x)>>40), (a)[4]=(uint8_t)((x)>>32), \\ - (a)[3]=(uint8_t)((x)>>24), (a)[2]=(uint8_t)((x)>>16), \\ - (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x) - -EOF - ;; -esac - - -cat >> "$ac_byteorder" << EOF -#endif /*__BYTEORDER_H*/ -EOF - -if cmp -s $ac_byteorder_h $ac_byteorder 2>/dev/null; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_byteorder_h is unchanged" >&5 -$as_echo "$as_me: $ac_byteorder_h is unchanged" >&6;} - rm $ac_byteorder -else - rm -f $ac_byteorder_h - mv $ac_byteorder $ac_byteorder_h -fi - -# ------ AX CREATE STDINT H ------------------------------------- -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint types" >&5 -$as_echo_n "checking for stdint types... " >&6; } -ac_stdint_h=`echo include/_stdint.h` -# try to shortcircuit - if the default include path of the compiler -# can find a "stdint.h" header then we assume that all compilers can. -if ${ac_cv_header_stdint_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - -old_CXXFLAGS="$CXXFLAGS" ; CXXFLAGS="" -old_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS="" -old_CFLAGS="$CFLAGS" ; CFLAGS="" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int_least32_t v = 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_stdint_result="(assuming C99 compatible system)" - ac_cv_header_stdint_t="stdint.h"; -else - ac_cv_header_stdint_t="" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -if test "$GCC" = "yes" && test ".$ac_cv_header_stdint_t" = "."; then -CFLAGS="-std=c99" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int_least32_t v = 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: your GCC compiler has a defunct stdint.h for its default-mode" >&5 -$as_echo "$as_me: WARNING: your GCC compiler has a defunct stdint.h for its default-mode" >&2;} -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -CXXFLAGS="$old_CXXFLAGS" -CPPFLAGS="$old_CPPFLAGS" -CFLAGS="$old_CFLAGS" -fi - - -v="... $ac_cv_header_stdint_h" -if test "$ac_stdint_h" = "stdint.h" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (are you sure you want them in ./stdint.h?)" >&5 -$as_echo "(are you sure you want them in ./stdint.h?)" >&6; } -elif test "$ac_stdint_h" = "inttypes.h" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (are you sure you want them in ./inttypes.h?)" >&5 -$as_echo "(are you sure you want them in ./inttypes.h?)" >&6; } -elif test "_$ac_cv_header_stdint_t" = "_" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (putting them into $ac_stdint_h)$v" >&5 -$as_echo "(putting them into $ac_stdint_h)$v" >&6; } -else - ac_cv_header_stdint="$ac_cv_header_stdint_t" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint (shortcircuit)" >&5 -$as_echo "$ac_cv_header_stdint (shortcircuit)" >&6; } -fi - -if test "_$ac_cv_header_stdint_t" = "_" ; then # can not shortcircuit.. - - -inttype_headers=`echo | sed -e 's/,/ /g'` - -ac_cv_stdint_result="(no helpful system typedefs seen)" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uintptr_t" >&5 -$as_echo_n "checking for stdint uintptr_t... " >&6; } -if ${ac_cv_header_stdint_x+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_cv_header_stdint_x="" # the 1997 typedefs (inttypes.h) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 -$as_echo "(..)" >&6; } - for i in stdint.h inttypes.h sys/inttypes.h $inttype_headers - do - unset ac_cv_type_uintptr_t - unset ac_cv_type_uint64_t - ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <$i> -" -if test "x$ac_cv_type_uintptr_t" = xyes; then : - ac_cv_header_stdint_x=$i -else - continue -fi - - ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include<$i> -" -if test "x$ac_cv_type_uint64_t" = xyes; then : - and64="/uint64_t" -else - and64="" -fi - - stdint.h inttypes.h sys/inttypes.h $inttype_headers - break - done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uintptr_t" >&5 -$as_echo_n "checking for stdint uintptr_t... " >&6; } - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_x" >&5 -$as_echo "$ac_cv_header_stdint_x" >&6; } - - -if test "_$ac_cv_header_stdint_x" = "_" ; then - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uint32_t" >&5 -$as_echo_n "checking for stdint uint32_t... " >&6; } -if ${ac_cv_header_stdint_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_cv_header_stdint_o="" # the 1995 typedefs (sys/inttypes.h) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 -$as_echo "(..)" >&6; } - for i in inttypes.h sys/inttypes.h stdint.h $inttype_headers - do - unset ac_cv_type_uint32_t - unset ac_cv_type_uint64_t - ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "#include <$i> -" -if test "x$ac_cv_type_uint32_t" = xyes; then : - ac_cv_header_stdint_o=$i -else - continue -fi - - ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include<$i> -" -if test "x$ac_cv_type_uint64_t" = xyes; then : - and64="/uint64_t" -else - and64="" -fi - - inttypes.h sys/inttypes.h stdint.h $inttype_headers - break - break; - done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uint32_t" >&5 -$as_echo_n "checking for stdint uint32_t... " >&6; } - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_o" >&5 -$as_echo "$ac_cv_header_stdint_o" >&6; } - -fi - -if test "_$ac_cv_header_stdint_x" = "_" ; then -if test "_$ac_cv_header_stdint_o" = "_" ; then - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint u_int32_t" >&5 -$as_echo_n "checking for stdint u_int32_t... " >&6; } -if ${ac_cv_header_stdint_u+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_cv_header_stdint_u="" # the BSD typedefs (sys/types.h) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 -$as_echo "(..)" >&6; } - for i in sys/types.h inttypes.h sys/inttypes.h $inttype_headers ; do - unset ac_cv_type_u_int32_t - unset ac_cv_type_u_int64_t - ac_fn_c_check_type "$LINENO" "u_int32_t" "ac_cv_type_u_int32_t" "#include <$i> -" -if test "x$ac_cv_type_u_int32_t" = xyes; then : - ac_cv_header_stdint_u=$i -else - continue -fi - - ac_fn_c_check_type "$LINENO" "u_int64_t" "ac_cv_type_u_int64_t" "#include<$i> -" -if test "x$ac_cv_type_u_int64_t" = xyes; then : - and64="/u_int64_t" -else - and64="" -fi - - sys/types.h inttypes.h sys/inttypes.h $inttype_headers - break - break; - done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint u_int32_t" >&5 -$as_echo_n "checking for stdint u_int32_t... " >&6; } - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_u" >&5 -$as_echo "$ac_cv_header_stdint_u" >&6; } - -fi fi - -if test "_$ac_cv_header_stdint_x" = "_" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint datatype model" >&5 -$as_echo_n "checking for stdint datatype model... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 -$as_echo "(..)" >&6; } - - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5 -$as_echo_n "checking size of char... " >&6; } -if ${ac_cv_sizeof_char+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_char" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (char) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_char=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5 -$as_echo "$ac_cv_sizeof_char" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_CHAR $ac_cv_sizeof_char -_ACEOF - - - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 -$as_echo_n "checking size of short... " >&6; } -if ${ac_cv_sizeof_short+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_short" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (short) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_short=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 -$as_echo "$ac_cv_sizeof_short" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_SHORT $ac_cv_sizeof_short -_ACEOF - - - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 -$as_echo_n "checking size of int... " >&6; } -if ${ac_cv_sizeof_int+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_int" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (int) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_int=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 -$as_echo "$ac_cv_sizeof_int" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_INT $ac_cv_sizeof_int -_ACEOF - - - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 -$as_echo_n "checking size of long... " >&6; } -if ${ac_cv_sizeof_long+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_long" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (long) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_long=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 -$as_echo "$ac_cv_sizeof_long" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_LONG $ac_cv_sizeof_long -_ACEOF - - - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void*" >&5 -$as_echo_n "checking size of void*... " >&6; } -if ${ac_cv_sizeof_voidp+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void*))" "ac_cv_sizeof_voidp" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_voidp" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (void*) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_voidp=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_voidp" >&5 -$as_echo "$ac_cv_sizeof_voidp" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_VOIDP $ac_cv_sizeof_voidp -_ACEOF - - - ac_cv_char_data_model="" - ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_char" - ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_short" - ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_int" - ac_cv_long_data_model="" - ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_int" - ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_long" - ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_voidp" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking data model" >&5 -$as_echo_n "checking data model... " >&6; } - case "$ac_cv_char_data_model/$ac_cv_long_data_model" in - 122/242) ac_cv_data_model="IP16" ; n="standard 16bit machine" ;; - 122/244) ac_cv_data_model="LP32" ; n="standard 32bit machine" ;; - 122/*) ac_cv_data_model="i16" ; n="unusual int16 model" ;; - 124/444) ac_cv_data_model="ILP32" ; n="standard 32bit unixish" ;; - 124/488) ac_cv_data_model="LP64" ; n="standard 64bit unixish" ;; - 124/448) ac_cv_data_model="LLP64" ; n="unusual 64bit unixish" ;; - 124/*) ac_cv_data_model="i32" ; n="unusual int32 model" ;; - 128/888) ac_cv_data_model="ILP64" ; n="unusual 64bit numeric" ;; - 128/*) ac_cv_data_model="i64" ; n="unusual int64 model" ;; - 222/*2) ac_cv_data_model="DSP16" ; n="strict 16bit dsptype" ;; - 333/*3) ac_cv_data_model="DSP24" ; n="strict 24bit dsptype" ;; - 444/*4) ac_cv_data_model="DSP32" ; n="strict 32bit dsptype" ;; - 666/*6) ac_cv_data_model="DSP48" ; n="strict 48bit dsptype" ;; - 888/*8) ac_cv_data_model="DSP64" ; n="strict 64bit dsptype" ;; - 222/*|333/*|444/*|666/*|888/*) : - ac_cv_data_model="iDSP" ; n="unusual dsptype" ;; - *) ac_cv_data_model="none" ; n="very unusual model" ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_data_model ($ac_cv_long_data_model, $n)" >&5 -$as_echo "$ac_cv_data_model ($ac_cv_long_data_model, $n)" >&6; } - -fi - -if test "_$ac_cv_header_stdint_x" != "_" ; then - ac_cv_header_stdint="$ac_cv_header_stdint_x" -elif test "_$ac_cv_header_stdint_o" != "_" ; then - ac_cv_header_stdint="$ac_cv_header_stdint_o" -elif test "_$ac_cv_header_stdint_u" != "_" ; then - ac_cv_header_stdint="$ac_cv_header_stdint_u" -else - ac_cv_header_stdint="stddef.h" -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra inttypes in chosen header" >&5 -$as_echo_n "checking for extra inttypes in chosen header... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ($ac_cv_header_stdint)" >&5 -$as_echo "($ac_cv_header_stdint)" >&6; } -unset ac_cv_type_int_least32_t -unset ac_cv_type_int_fast32_t -ac_fn_c_check_type "$LINENO" "int_least32_t" "ac_cv_type_int_least32_t" "#include <$ac_cv_header_stdint> -" -if test "x$ac_cv_type_int_least32_t" = xyes; then : - -fi - -ac_fn_c_check_type "$LINENO" "int_fast32_t" "ac_cv_type_int_fast32_t" "#include<$ac_cv_header_stdint> -" -if test "x$ac_cv_type_int_fast32_t" = xyes; then : - -fi - -ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "#include <$ac_cv_header_stdint> -" -if test "x$ac_cv_type_intmax_t" = xyes; then : - -fi - - -fi # shortcircut to system "stdint.h" -# ------------------ PREPARE VARIABLES ------------------------------ -if test "$GCC" = "yes" ; then -ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1` -else -ac_cv_stdint_message="using $CC" -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&5 -$as_echo "make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&6; } - -# ----------------- DONE inttypes.h checks START header ------------- -ac_config_commands="$ac_config_commands $ac_stdint_h" - - - -# Check whether --enable-dynamic was given. -if test "${enable_dynamic+set}" = set; then : - enableval=$enable_dynamic; enable_dynamic=$enableval -else - enable_dynamic=auto -fi - - - DL_LIBS="" - if test "${enable_dynamic}" = "auto"; then - # default to disabled unless library found. - enable_dynamic=no - # dlopen - for ac_header in dlfcn.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - DL_LIBS=-ldl -fi - - saved_LIBS="${LIBS}" - LIBS="${LIBS} ${DL_LIBS}" - for ac_func in dlopen -do : - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLOPEN 1 -_ACEOF - enable_dynamic=yes -fi -done - - LIBS="${saved_LIBS}" - -fi - -done - - # HP/UX DLL handling - for ac_header in dl.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "dl.h" "ac_cv_header_dl_h" "$ac_includes_default" -if test "x$ac_cv_header_dl_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DL_H 1 -_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - DL_LIBS=-ldld -fi - - saved_LIBS="${LIBS}" - LIBS="${LIBS} ${DL_LIBS}" - for ac_func in shl_load -do : - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SHL_LOAD 1 -_ACEOF - enable_dynamic=yes -fi -done - - LIBS="${saved_LIBS}" - -fi - -done - - if test -z "$DL_LIBS" ; then - # old Mac OS X/Darwin (without dlopen) - for ac_header in mach-o/dyld.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "mach-o/dyld.h" "ac_cv_header_mach_o_dyld_h" "$ac_includes_default" -if test "x$ac_cv_header_mach_o_dyld_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MACH_O_DYLD_H 1 -_ACEOF - for ac_func in NSLinkModule -do : - ac_fn_c_check_func "$LINENO" "NSLinkModule" "ac_cv_func_NSLinkModule" -if test "x$ac_cv_func_NSLinkModule" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NSLINKMODULE 1 -_ACEOF - enable_dynamic=yes -fi -done - - -fi - -done - - fi - fi - - - DYNAMIC_FLAG= - if test "${enable_dynamic}" = yes ; then - DYNAMIC_FLAG=-module - fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrt in -lm" >&5 -$as_echo_n "checking for sqrt in -lm... " >&6; } -if ${ac_cv_lib_m_sqrt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lm $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char sqrt (); -int -main () -{ -return sqrt (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_m_sqrt=yes -else - ac_cv_lib_m_sqrt=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sqrt" >&5 -$as_echo "$ac_cv_lib_m_sqrt" >&6; } -if test "x$ac_cv_lib_m_sqrt" = xyes; then : - MATH_LIB="-lm" -fi - - -case ${host_os} in - os2*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sylog in -lsyslog" >&5 -$as_echo_n "checking for sylog in -lsyslog... " >&6; } -if ${ac_cv_lib_syslog_sylog+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsyslog $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char sylog (); -int -main () -{ -return sylog (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_syslog_sylog=yes -else - ac_cv_lib_syslog_sylog=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_syslog_sylog" >&5 -$as_echo "$ac_cv_lib_syslog_sylog" >&6; } -if test "x$ac_cv_lib_syslog_sylog" = xyes; then : - SYSLOG_LIBS="-lsyslog" -fi - - ;; - beos*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syslog in -lbe" >&5 -$as_echo_n "checking for syslog in -lbe... " >&6; } -if ${ac_cv_lib_be_syslog+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbe $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char syslog (); -int -main () -{ -return syslog (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_be_syslog=yes -else - ac_cv_lib_be_syslog=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_be_syslog" >&5 -$as_echo "$ac_cv_lib_be_syslog" >&6; } -if test "x$ac_cv_lib_be_syslog" = xyes; then : - SYSLOG_LIBS="-lbe" -fi - - ;; -esac - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_start_decompress in -ljpeg" >&5 -$as_echo_n "checking for jpeg_start_decompress in -ljpeg... " >&6; } -if ${ac_cv_lib_jpeg_jpeg_start_decompress+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ljpeg $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char jpeg_start_decompress (); -int -main () -{ -return jpeg_start_decompress (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_jpeg_jpeg_start_decompress=yes -else - ac_cv_lib_jpeg_jpeg_start_decompress=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_start_decompress" >&5 -$as_echo "$ac_cv_lib_jpeg_jpeg_start_decompress" >&6; } -if test "x$ac_cv_lib_jpeg_jpeg_start_decompress" = xyes; then : - - ac_fn_c_check_header_mongrel "$LINENO" "jconfig.h" "ac_cv_header_jconfig_h" "$ac_includes_default" -if test "x$ac_cv_header_jconfig_h" = xyes; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeglib - version >= 61 (6a)" >&5 -$as_echo_n "checking for jpeglib - version >= 61 (6a)... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - #if JPEG_LIB_VERSION >= 61 - sane_correct_jpeg_lib_version_found - #endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sane_correct_jpeg_lib_version_found" >/dev/null 2>&1; then : - sane_cv_use_libjpeg="yes"; JPEG_LIBS="-ljpeg"; - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f conftest* - - -fi - - - -fi - - if test "$sane_cv_use_libjpeg" = "yes" ; then - -$as_echo "#define HAVE_LIBJPEG 1" >>confdefs.h - - fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIFFFdOpen in -ltiff" >&5 -$as_echo_n "checking for TIFFFdOpen in -ltiff... " >&6; } -if ${ac_cv_lib_tiff_TIFFFdOpen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltiff $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char TIFFFdOpen (); -int -main () -{ -return TIFFFdOpen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_tiff_TIFFFdOpen=yes -else - ac_cv_lib_tiff_TIFFFdOpen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tiff_TIFFFdOpen" >&5 -$as_echo "$ac_cv_lib_tiff_TIFFFdOpen" >&6; } -if test "x$ac_cv_lib_tiff_TIFFFdOpen" = xyes; then : - - ac_fn_c_check_header_mongrel "$LINENO" "tiffio.h" "ac_cv_header_tiffio_h" "$ac_includes_default" -if test "x$ac_cv_header_tiffio_h" = xyes; then : - sane_cv_use_libtiff="yes"; TIFF_LIBS="-ltiff" -fi - - - -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for png_init_io in -lpng" >&5 -$as_echo_n "checking for png_init_io in -lpng... " >&6; } -if ${ac_cv_lib_png_png_init_io+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpng $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char png_init_io (); -int -main () -{ -return png_init_io (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_png_png_init_io=yes -else - ac_cv_lib_png_png_init_io=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_png_png_init_io" >&5 -$as_echo "$ac_cv_lib_png_png_init_io" >&6; } -if test "x$ac_cv_lib_png_png_init_io" = xyes; then : - - ac_fn_c_check_header_mongrel "$LINENO" "png.h" "ac_cv_header_png_h" "$ac_includes_default" -if test "x$ac_cv_header_png_h" = xyes; then : - sane_cv_use_libpng="yes"; PNG_LIBS="-lpng" -fi - - - -fi - - if test "$sane_cv_use_libpng" = "yes" ; then - -$as_echo "#define HAVE_LIBPNG 1" >>confdefs.h - - fi - - - - ac_fn_c_check_header_mongrel "$LINENO" "ieee1284.h" "ac_cv_header_ieee1284_h" "$ac_includes_default" -if test "x$ac_cv_header_ieee1284_h" = xyes; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libieee1284 >= 0.1.5" >&5 -$as_echo_n "checking for libieee1284 >= 0.1.5... " >&6; } -if ${sane_cv_use_libieee1284+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ - - struct parport p; char *buf; - ieee1284_nibble_read(&p, 0, buf, 1); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - sane_cv_use_libieee1284="yes"; IEEE1284_LIBS="-lieee1284" - -else - sane_cv_use_libieee1284="no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sane_cv_use_libieee1284" >&5 -$as_echo "$sane_cv_use_libieee1284" >&6; } - -fi - - - if test "$sane_cv_use_libieee1284" = "yes" ; then - -$as_echo "#define HAVE_LIBIEEE1284 1" >>confdefs.h - - fi - - - - - case "${host_os}" in - linux* | darwin* | mingw*) # enabled by default on Linux, MacOS X and MINGW - use_pthread=yes - ;; - *) - use_pthread=no - esac - have_pthread=no - - # - # now that we have the systems preferences, we check - # the user - - # Check whether --enable-pthread was given. -if test "${enable_pthread+set}" = set; then : - enableval=$enable_pthread; - if test $enableval = yes ; then - use_pthread=yes - else - use_pthread=no - fi - -fi - - - if test $use_pthread = yes ; then - for ac_header in pthread.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" -if test "x$ac_cv_header_pthread_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_PTHREAD_H 1 -_ACEOF - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 -$as_echo_n "checking for pthread_create in -lpthread... " >&6; } -if ${ac_cv_lib_pthread_pthread_create+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpthread $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_create (); -int -main () -{ -return pthread_create (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_pthread_pthread_create=yes -else - ac_cv_lib_pthread_pthread_create=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5 -$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } -if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then : - PTHREAD_LIBS="-lpthread" -fi - - have_pthread=yes - save_LIBS="$LIBS" - LIBS="$LIBS $PTHREAD_LIBS" - for ac_func in pthread_create pthread_kill pthread_join pthread_detach pthread_cancel pthread_testcancel -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - have_pthread=no; use_pthread=no -fi -done - - LIBS="$save_LIBS" - -else - have_pthread=no; use_pthread=no -fi - -done - - fi - - if test $use_pthread = yes ; then - -cat >>confdefs.h <<_ACEOF -#define USE_PTHREAD "$use_pthread" -_ACEOF - - else - PTHREAD_LIBS="" - fi - if test "$have_pthread" = "yes" ; then - AM_CPPFLAGS="${AM_CPPFLAGS} -D_REENTRANT" - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable pthread support" >&5 -$as_echo_n "checking whether to enable pthread support... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_pthread" >&5 -$as_echo "$have_pthread" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use pthread instead of fork" >&5 -$as_echo_n "checking whether to use pthread instead of fork... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_pthread" >&5 -$as_echo "$use_pthread" >&6; } - - - LOCKPATH_GROUP=uucp - use_locking=yes - case "${host_os}" in - os2* ) - use_locking=no - ;; - esac - - # - # we check the user - # Check whether --enable-locking was given. -if test "${enable_locking+set}" = set; then : - enableval=$enable_locking; - if test $enableval = yes ; then - use_locking=yes - else - use_locking=no - fi - -fi - - if test $use_locking = yes ; then - -# Check whether --with-group was given. -if test "${with_group+set}" = set; then : - withval=$with_group; LOCKPATH_GROUP="$withval" - -fi - - # check if the group does exist - lasterror="" - touch sanetest.file - chgrp $LOCKPATH_GROUP sanetest.file 2>/dev/null || lasterror=$? - rm -f sanetest.file - if test ! -z "$lasterror"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Group $LOCKPATH_GROUP does not exist on this system." >&5 -$as_echo "$as_me: WARNING: Group $LOCKPATH_GROUP does not exist on this system." >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Locking feature will be disabled." >&5 -$as_echo "$as_me: WARNING: Locking feature will be disabled." >&2;} - use_locking=no - fi - fi - if test $use_locking = yes ; then - INSTALL_LOCKPATH=install-lockpath - -$as_echo "#define ENABLE_LOCKING 1" >>confdefs.h - - else - INSTALL_LOCKPATH= - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable device locking" >&5 -$as_echo_n "checking whether to enable device locking... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_locking" >&5 -$as_echo "$use_locking" >&6; } - if test $use_locking = yes ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Setting lockdir group to $LOCKPATH_GROUP" >&5 -$as_echo "$as_me: Setting lockdir group to $LOCKPATH_GROUP" >&6;} - fi - - - - - -# Check whether --with-gphoto2 was given. -if test "${with_gphoto2+set}" = set; then : - withval=$with_gphoto2; # If --with-gphoto2=no or --without-gphoto2, disable backend - # as "$with_gphoto2" will be set to "no" -fi - - - # If --with-gphoto2=yes (or not supplied), first check if - # pkg-config exists, then use it to check if libgphoto2 is - # present. If all that works, then see if we can actually link - # a program. And, if that works, then add the -l flags to - # GPHOTO2_LIBS and any other flags to GPHOTO2_LDFLAGS to pass to - # sane-config. - if test "$with_gphoto2" != "no" ; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_HAVE_GPHOTO2+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$HAVE_GPHOTO2"; then - ac_cv_prog_HAVE_GPHOTO2="$HAVE_GPHOTO2" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_HAVE_GPHOTO2="${ac_tool_prefix}pkg-config" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -HAVE_GPHOTO2=$ac_cv_prog_HAVE_GPHOTO2 -if test -n "$HAVE_GPHOTO2"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_GPHOTO2" >&5 -$as_echo "$HAVE_GPHOTO2" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_HAVE_GPHOTO2"; then - ac_ct_HAVE_GPHOTO2=$HAVE_GPHOTO2 - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_HAVE_GPHOTO2+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_HAVE_GPHOTO2"; then - ac_cv_prog_ac_ct_HAVE_GPHOTO2="$ac_ct_HAVE_GPHOTO2" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_HAVE_GPHOTO2="pkg-config" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_HAVE_GPHOTO2=$ac_cv_prog_ac_ct_HAVE_GPHOTO2 -if test -n "$ac_ct_HAVE_GPHOTO2"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_HAVE_GPHOTO2" >&5 -$as_echo "$ac_ct_HAVE_GPHOTO2" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_HAVE_GPHOTO2" = x; then - HAVE_GPHOTO2="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - HAVE_GPHOTO2=$ac_ct_HAVE_GPHOTO2 - fi -else - HAVE_GPHOTO2="$ac_cv_prog_HAVE_GPHOTO2" -fi - - - if test ${HAVE_GPHOTO2} != "false" ; then - if pkg-config --exists libgphoto2 ; then - with_gphoto2="`pkg-config --modversion libgphoto2`" - GPHOTO2_CPPFLAGS="`pkg-config --cflags libgphoto2`" - GPHOTO2_LIBS="`pkg-config --libs libgphoto2`" - - saved_CPPFLAGS="${CPPFLAGS}" - CPPFLAGS="${GPHOTO2_CPPFLAGS}" - saved_LIBS="${LIBS}" - LIBS="${LIBS} ${GPHOTO2_LIBS}" - # Make sure we an really use the library - for ac_func in gp_camera_init -do : - ac_fn_c_check_func "$LINENO" "gp_camera_init" "ac_cv_func_gp_camera_init" -if test "x$ac_cv_func_gp_camera_init" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GP_CAMERA_INIT 1 -_ACEOF - HAVE_GPHOTO2=true -else - HAVE_GPHOTO2=false -fi -done - - if test "${HAVE_GPHOTO2}" = "true"; then - for ac_func in gp_port_info_get_path -do : - ac_fn_c_check_func "$LINENO" "gp_port_info_get_path" "ac_cv_func_gp_port_info_get_path" -if test "x$ac_cv_func_gp_port_info_get_path" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GP_PORT_INFO_GET_PATH 1 -_ACEOF - -fi -done - - fi - CPPFLAGS="${saved_CPPFLAGS}" - LIBS="${saved_LIBS}" - else - HAVE_GPHOTO2=false - fi - if test "${HAVE_GPHOTO2}" = "false"; then - GPHOTO2_CPPFLAGS="" - GPHOTO2_LIBS="" - else - - tmp_LIBS="" - for param in ${GPHOTO2_LIBS}; do - case "${param}" in - -l*) - tmp_LIBS="${tmp_LIBS} ${param}" - ;; - *) - GPHOTO2_LDFLAGS="${GPHOTO2_LDFLAGS} ${param}" - ;; - esac - done - GPHOTO2_LIBS="${tmp_LIBS}" - unset tmp_LIBS - unset param - - if pkg-config --atleast-version=2.5.0 libgphoto2; then - -$as_echo "#define GPLOGFUNC_NO_VARGS 1" >>confdefs.h - - fi - fi - fi - fi - - - - - - - -# Check whether --with-v4l was given. -if test "${with_v4l+set}" = set; then : - withval=$with_v4l; # If --with-v4l=no or --without-v4l, disable backend - # as "$with_v4l" will be set to "no" -fi - - -if test "$with_v4l" != "no" ; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBV4L" >&5 -$as_echo_n "checking for LIBV4L... " >&6; } - -if test -n "$LIBV4L_CFLAGS"; then - pkg_cv_LIBV4L_CFLAGS="$LIBV4L_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libv4l1\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libv4l1") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBV4L_CFLAGS=`$PKG_CONFIG --cflags "libv4l1" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$LIBV4L_LIBS"; then - pkg_cv_LIBV4L_LIBS="$LIBV4L_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libv4l1\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libv4l1") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBV4L_LIBS=`$PKG_CONFIG --libs "libv4l1" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - LIBV4L_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libv4l1" 2>&1` - else - LIBV4L_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libv4l1" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$LIBV4L_PKG_ERRORS" >&5 - - have_libv4l1=no -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_libv4l1=no -else - LIBV4L_CFLAGS=$pkg_cv_LIBV4L_CFLAGS - LIBV4L_LIBS=$pkg_cv_LIBV4L_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_libv4l1=yes -fi -fi - -# Check whether --enable-avahi was given. -if test "${enable_avahi+set}" = set; then : - enableval=$enable_avahi; enable_avahi=$enableval -else - enable_avahi=no -fi - - -if test "$enable_avahi" = "yes"; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVAHI" >&5 -$as_echo_n "checking for AVAHI... " >&6; } - -if test -n "$AVAHI_CFLAGS"; then - pkg_cv_AVAHI_CFLAGS="$AVAHI_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" avahi-client >= 0.6.24 \""; } >&5 - ($PKG_CONFIG --exists --print-errors " avahi-client >= 0.6.24 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_AVAHI_CFLAGS=`$PKG_CONFIG --cflags " avahi-client >= 0.6.24 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$AVAHI_LIBS"; then - pkg_cv_AVAHI_LIBS="$AVAHI_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" avahi-client >= 0.6.24 \""; } >&5 - ($PKG_CONFIG --exists --print-errors " avahi-client >= 0.6.24 ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_AVAHI_LIBS=`$PKG_CONFIG --libs " avahi-client >= 0.6.24 " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - AVAHI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " avahi-client >= 0.6.24 " 2>&1` - else - AVAHI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " avahi-client >= 0.6.24 " 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$AVAHI_PKG_ERRORS" >&5 - - enable_avahi=no -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - enable_avahi=no -else - AVAHI_CFLAGS=$pkg_cv_AVAHI_CFLAGS - AVAHI_LIBS=$pkg_cv_AVAHI_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define WITH_AVAHI 1" >>confdefs.h - -fi -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sane_init in -lsane" >&5 -$as_echo_n "checking for sane_init in -lsane... " >&6; } -if ${ac_cv_lib_sane_sane_init+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsane $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char sane_init (); -int -main () -{ -return sane_init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_sane_sane_init=yes -else - ac_cv_lib_sane_sane_init=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sane_sane_init" >&5 -$as_echo "$ac_cv_lib_sane_sane_init" >&6; } -if test "x$ac_cv_lib_sane_sane_init" = xyes; then : - LIBSANE_EXISTS="yes" -fi - - - - - -# Check whether --with-snmp was given. -if test "${with_snmp+set}" = set; then : - withval=$with_snmp; -fi - - -if test "$with_snmp" = "no"; then - echo "Not including SNMP support" -else - # Extract the first word of "net-snmp-config", so it can be a program name with args. -set dummy net-snmp-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SNMP_CONFIG_PATH+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $SNMP_CONFIG_PATH in - [\\/]* | ?:[\\/]*) - ac_cv_path_SNMP_CONFIG_PATH="$SNMP_CONFIG_PATH" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_SNMP_CONFIG_PATH="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_SNMP_CONFIG_PATH" && ac_cv_path_SNMP_CONFIG_PATH=""no"" - ;; -esac -fi -SNMP_CONFIG_PATH=$ac_cv_path_SNMP_CONFIG_PATH -if test -n "$SNMP_CONFIG_PATH"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SNMP_CONFIG_PATH" >&5 -$as_echo "$SNMP_CONFIG_PATH" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for snmp_timeout in -lnetsnmp" >&5 -$as_echo_n "checking for snmp_timeout in -lnetsnmp... " >&6; } -if ${ac_cv_lib_netsnmp_snmp_timeout+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnetsnmp $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char snmp_timeout (); -int -main () -{ -return snmp_timeout (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_netsnmp_snmp_timeout=yes -else - ac_cv_lib_netsnmp_snmp_timeout=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_netsnmp_snmp_timeout" >&5 -$as_echo "$ac_cv_lib_netsnmp_snmp_timeout" >&6; } -if test "x$ac_cv_lib_netsnmp_snmp_timeout" = xyes; then : - LIBSNMP_EXISTS="yes" -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for proper SNMP version" >&5 -$as_echo_n "checking for proper SNMP version... " >&6; } - if test "$SNMP_CONFIG_PATH" != "no" ; then - snmp_version=`$SNMP_CONFIG_PATH --version 2>/dev/null` - vers=`echo $snmp_version | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2);}'` - if test -n "$vers" && test "$vers" -ge 5006; then - SNMP_LIBS=`$SNMP_CONFIG_PATH --libs` - SNMP_CFLAGS=`$SNMP_CONFIG_PATH --cflags` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - with_snmp="yes" - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You need at least net-snmp 5.6, your version is $snmp_version" >&5 -$as_echo "$as_me: WARNING: You need at least net-snmp 5.6, your version is $snmp_version" >&2;} - with_snmp="no" - fi - else - with_snmp="no" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi -fi - -if test "$with_snmp" = "yes" && test "${LIBSNMP_EXISTS}x" = "yesx"; then - - - -$as_echo "#define HAVE_LIBSNMP 1" >>confdefs.h - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: net-snmp library disabled, autodetecting network scanners will not be supported." >&5 -$as_echo "$as_me: WARNING: net-snmp library disabled, autodetecting network scanners will not be supported." >&2;} -fi - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -for ac_header in fcntl.h unistd.h libc.h sys/dsreq.h sys/select.h \ - sys/time.h sys/shm.h sys/ipc.h sys/signal.h sys/scanio.h os2.h \ - sys/socket.h sys/io.h sys/hw.h sys/types.h linux/ppdev.h \ - dev/ppbus/ppi.h machine/cpufunc.h sys/sem.h sys/poll.h \ - windows.h be/kernel/OS.h limits.h sys/ioctl.h asm/types.h\ - netinet/in.h tiffio.h ifaddrs.h pwd.h getopt.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -for ac_header in asm/io.h -do : - ac_fn_c_check_header_compile "$LINENO" "asm/io.h" "ac_cv_header_asm_io_h" "#include -" -if test "x$ac_cv_header_asm_io_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ASM_IO_H 1 -_ACEOF - -fi - -done - - - - MISSING_HEADERS= - if test "${ac_cv_header_fcntl_h}" != "yes" ; then - MISSING_HEADERS="${MISSING_HEADERS}\"fcntl.h\" " - fi - if test "${ac_cv_header_sys_time_h}" != "yes" ; then - MISSING_HEADERS="${MISSING_HEADERS}\"sys/time.h\" " - fi - if test "${ac_cv_header_unistd_h}" != "yes" ; then - MISSING_HEADERS="${MISSING_HEADERS}\"unistd.h\" " - fi - if test "${ac_cv_header_stdc}" != "yes" ; then - MISSING_HEADERS="${MISSING_HEADERS}\"ANSI C headers\" " - fi - if test "${MISSING_HEADERS}" != "" ; then - echo "*** The following essential header files couldn't be found:" - echo "*** ${MISSING_HEADERS}" - echo "*** Maybe the compiler isn't ANSI C compliant or not properly installed?" - echo "*** For details on what went wrong see config.log." - as_fn_error $? "Exiting now." "$LINENO" 5 - fi - - -for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF - SOCKET_LIB="-lws2_32" -fi - -done - - -ac_fn_c_check_header_mongrel "$LINENO" "resmgr.h" "ac_cv_header_resmgr_h" "$ac_includes_default" -if test "x$ac_cv_header_resmgr_h" = xyes; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rsm_open_device in -lresmgr" >&5 -$as_echo_n "checking for rsm_open_device in -lresmgr... " >&6; } -if ${ac_cv_lib_resmgr_rsm_open_device+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lresmgr $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char rsm_open_device (); -int -main () -{ -return rsm_open_device (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_resmgr_rsm_open_device=yes -else - ac_cv_lib_resmgr_rsm_open_device=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resmgr_rsm_open_device" >&5 -$as_echo "$ac_cv_lib_resmgr_rsm_open_device" >&6; } -if test "x$ac_cv_lib_resmgr_rsm_open_device" = xyes; then : - - -$as_echo "#define HAVE_RESMGR 1" >>confdefs.h - - RESMGR_LIBS="-lresmgr" - - -fi - - -fi - - - - - -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" -if test "x$ac_cv_type_pid_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define pid_t int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" -if test "x$ac_cv_type_ssize_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define ssize_t int -_ACEOF - -fi - - -ac_fn_c_check_type "$LINENO" "u_char" "ac_cv_type_u_char" "$ac_includes_default" -if test "x$ac_cv_type_u_char" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_U_CHAR 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "u_short" "ac_cv_type_u_short" "$ac_includes_default" -if test "x$ac_cv_type_u_short" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_U_SHORT 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "u_int" "ac_cv_type_u_int" "$ac_includes_default" -if test "x$ac_cv_type_u_int" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_U_INT 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "u_long" "ac_cv_type_u_long" "$ac_includes_default" -if test "x$ac_cv_type_u_long" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_U_LONG 1 -_ACEOF - - -fi - - - -# from Python, check for "long long" type -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long support" >&5 -$as_echo_n "checking for long long support... " >&6; } -have_long_long=no -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -long long x; x = (long long)0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -$as_echo "#define HAVE_LONG_LONG 1" >>confdefs.h - have_long_long=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_long_long" >&5 -$as_echo "$have_long_long" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t in " >&5 -$as_echo_n "checking for socklen_t in ... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include - -int -main () -{ -socklen_t len - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; }; -$as_echo "#define socklen_t int" >>confdefs.h - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for union semun in " >&5 -$as_echo_n "checking for union semun in ... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include - -int -main () -{ -union semun test_semun - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; }; - -$as_echo "#define HAVE_UNION_SEMUN 1" >>confdefs.h - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct flock in fcntl.h" >&5 -$as_echo_n "checking for struct flock in fcntl.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "struct flock" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } ; - -$as_echo "#define HAVE_STRUCT_FLOCK 1" >>confdefs.h - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f conftest* - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux ioctl defines" >&5 -$as_echo_n "checking for Linux ioctl defines... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -int -main () -{ - -__u32 houba = _IOR('v',14, unsigned long); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; }; -have_linux_ioctl_defines="yes"; -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#ifndef _BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; - -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no -else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) - -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - ;; #( - *) - as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if ${ac_cv_c_const+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - -#ifndef __cplusplus - /* Ultrix mips cc rejects this sort of thing. */ - typedef int charset[2]; - const charset cs = { 0, 0 }; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this sort of thing. */ - char tx; - char *t = &tx; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; } bx; - struct s *b = &bx; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_const=yes -else - ac_cv_c_const=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -$as_echo "#define const /**/" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if ${ac_cv_c_inline+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_inline=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 -$as_echo "$ac_cv_c_inline" >&6; } - -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac - - - - -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 -$as_echo_n "checking for working alloca.h... " >&6; } -if ${ac_cv_working_alloca_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -char *p = (char *) alloca (2 * sizeof (int)); - if (p) return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_working_alloca_h=yes -else - ac_cv_working_alloca_h=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 -$as_echo "$ac_cv_working_alloca_h" >&6; } -if test $ac_cv_working_alloca_h = yes; then - -$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 -$as_echo_n "checking for alloca... " >&6; } -if ${ac_cv_func_alloca_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __GNUC__ -# define alloca __builtin_alloca -#else -# ifdef _MSC_VER -# include -# define alloca _alloca -# else -# ifdef HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -void *alloca (size_t); -# endif -# endif -# endif -# endif -#endif - -int -main () -{ -char *p = (char *) alloca (1); - if (p) return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_func_alloca_works=yes -else - ac_cv_func_alloca_works=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 -$as_echo "$ac_cv_func_alloca_works" >&6; } - -if test $ac_cv_func_alloca_works = yes; then - -$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h - -else - # The SVR3 libPW and SVR4 libucb both contain incompatible functions -# that cause trouble. Some versions do not even contain alloca or -# contain a buggy version. If you still want to use their alloca, -# use ar to extract alloca.o from them instead of compiling alloca.c. - -ALLOCA=\${LIBOBJDIR}alloca.$ac_objext - -$as_echo "#define C_ALLOCA 1" >>confdefs.h - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 -$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if ${ac_cv_os_cray+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined CRAY && ! defined CRAY2 -webecray -#else -wenotbecray -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "webecray" >/dev/null 2>&1; then : - ac_cv_os_cray=yes -else - ac_cv_os_cray=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 -$as_echo "$ac_cv_os_cray" >&6; } -if test $ac_cv_os_cray = yes; then - for ac_func in _getb67 GETB67 getb67; do - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - -cat >>confdefs.h <<_ACEOF -#define CRAY_STACKSEG_END $ac_func -_ACEOF - - break -fi - - done -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 -$as_echo_n "checking stack direction for C alloca... " >&6; } -if ${ac_cv_c_stack_direction+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_c_stack_direction=0 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -find_stack_direction (int *addr, int depth) -{ - int dir, dummy = 0; - if (! addr) - addr = &dummy; - *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; - dir = depth ? find_stack_direction (addr, depth - 1) : 0; - return dir + dummy; -} - -int -main (int argc, char **argv) -{ - return find_stack_direction (0, argc + !argv + 20) < 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_stack_direction=1 -else - ac_cv_c_stack_direction=-1 -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 -$as_echo "$ac_cv_c_stack_direction" >&6; } -cat >>confdefs.h <<_ACEOF -#define STACK_DIRECTION $ac_cv_c_stack_direction -_ACEOF - - -fi - -ac_fn_c_check_func "$LINENO" "getenv" "ac_cv_func_getenv" -if test "x$ac_cv_func_getenv" = xyes; then : - $as_echo "#define HAVE_GETENV 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" getenv.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS getenv.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop" -if test "x$ac_cv_func_inet_ntop" = xyes; then : - $as_echo "#define HAVE_INET_NTOP 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" inet_ntop.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS inet_ntop.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton" -if test "x$ac_cv_func_inet_pton" = xyes; then : - $as_echo "#define HAVE_INET_PTON 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" inet_pton.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS inet_pton.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "isfdtype" "ac_cv_func_isfdtype" -if test "x$ac_cv_func_isfdtype" = xyes; then : - $as_echo "#define HAVE_ISFDTYPE 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" isfdtype.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS isfdtype.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask" -if test "x$ac_cv_func_sigprocmask" = xyes; then : - $as_echo "#define HAVE_SIGPROCMASK 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" sigprocmask.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS sigprocmask.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "sleep" "ac_cv_func_sleep" -if test "x$ac_cv_func_sleep" = xyes; then : - $as_echo "#define HAVE_SLEEP 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" sleep.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS sleep.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" -if test "x$ac_cv_func_snprintf" = xyes; then : - $as_echo "#define HAVE_SNPRINTF 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" snprintf.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS snprintf.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "strcasestr" "ac_cv_func_strcasestr" -if test "x$ac_cv_func_strcasestr" = xyes; then : - $as_echo "#define HAVE_STRCASESTR 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" strcasestr.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strcasestr.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "strdup" "ac_cv_func_strdup" -if test "x$ac_cv_func_strdup" = xyes; then : - $as_echo "#define HAVE_STRDUP 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" strdup.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strdup.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "strndup" "ac_cv_func_strndup" -if test "x$ac_cv_func_strndup" = xyes; then : - $as_echo "#define HAVE_STRNDUP 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" strndup.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strndup.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "strsep" "ac_cv_func_strsep" -if test "x$ac_cv_func_strsep" = xyes; then : - $as_echo "#define HAVE_STRSEP 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" strsep.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strsep.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "syslog" "ac_cv_func_syslog" -if test "x$ac_cv_func_syslog" = xyes; then : - $as_echo "#define HAVE_SYSLOG 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" syslog.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS syslog.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "usleep" "ac_cv_func_usleep" -if test "x$ac_cv_func_usleep" = xyes; then : - $as_echo "#define HAVE_USLEEP 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" usleep.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS usleep.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "vsyslog" "ac_cv_func_vsyslog" -if test "x$ac_cv_func_vsyslog" = xyes; then : - $as_echo "#define HAVE_VSYSLOG 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" vsyslog.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS vsyslog.$ac_objext" - ;; -esac - -fi - - -if test x != x$ALLOCA; then : - LTALLOCA=`echo "$ALLOCA" | sed 's/\.o$//; s/\.obj$//'`.lo -fi - - -ac_fn_c_check_func "$LINENO" "gethostbyaddr" "ac_cv_func_gethostbyaddr" -if test "x$ac_cv_func_gethostbyaddr" = xyes; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyaddr in -lbind" >&5 -$as_echo_n "checking for gethostbyaddr in -lbind... " >&6; } -if ${ac_cv_lib_bind_gethostbyaddr+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbind $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gethostbyaddr (); -int -main () -{ -return gethostbyaddr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_bind_gethostbyaddr=yes -else - ac_cv_lib_bind_gethostbyaddr=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bind_gethostbyaddr" >&5 -$as_echo "$ac_cv_lib_bind_gethostbyaddr" >&6; } -if test "x$ac_cv_lib_bind_gethostbyaddr" = xyes; then : - BIND_LIB="-lbind" -fi - -fi - -ac_fn_c_check_func "$LINENO" "gethostbyaddr" "ac_cv_func_gethostbyaddr" -if test "x$ac_cv_func_gethostbyaddr" = xyes; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyaddr in -lnsl" >&5 -$as_echo_n "checking for gethostbyaddr in -lnsl... " >&6; } -if ${ac_cv_lib_nsl_gethostbyaddr+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnsl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gethostbyaddr (); -int -main () -{ -return gethostbyaddr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_nsl_gethostbyaddr=yes -else - ac_cv_lib_nsl_gethostbyaddr=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyaddr" >&5 -$as_echo "$ac_cv_lib_nsl_gethostbyaddr" >&6; } -if test "x$ac_cv_lib_nsl_gethostbyaddr" = xyes; then : - NSL_LIB="-lnsl" -fi - -fi - -ac_fn_c_check_func "$LINENO" "socket" "ac_cv_func_socket" -if test "x$ac_cv_func_socket" = xyes; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5 -$as_echo_n "checking for socket in -lsocket... " >&6; } -if ${ac_cv_lib_socket_socket+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char socket (); -int -main () -{ -return socket (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_socket_socket=yes -else - ac_cv_lib_socket_socket=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5 -$as_echo "$ac_cv_lib_socket_socket" >&6; } -if test "x$ac_cv_lib_socket_socket" = xyes; then : - SOCKET_LIB="-lsocket" -fi - -fi - -ac_fn_c_check_func "$LINENO" "inet_aton" "ac_cv_func_inet_aton" -if test "x$ac_cv_func_inet_aton" = xyes; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_aton in -lresolv" >&5 -$as_echo_n "checking for inet_aton in -lresolv... " >&6; } -if ${ac_cv_lib_resolv_inet_aton+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lresolv $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char inet_aton (); -int -main () -{ -return inet_aton (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_resolv_inet_aton=yes -else - ac_cv_lib_resolv_inet_aton=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_inet_aton" >&5 -$as_echo "$ac_cv_lib_resolv_inet_aton" >&6; } -if test "x$ac_cv_lib_resolv_inet_aton" = xyes; then : - RESOLV_LIB="-lresolv" -fi - -fi - - -SOCKET_LIBS="$SOCKET_LIB $NSL_LIB $BIND_LIB $RESOLV_LIB" - - -save_LIBS="$LIBS" -LIBS="$LIBS $SOCKET_LIBS" -for ac_func in inet_addr inet_aton inet_ntoa -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -LIBS="$save_LIBS" - -if test "$ac_cv_header_be_kernel_OS_h" = "yes" ; then - ac_cv_func_getaddrinfo=no - ac_cv_func_getnameinfo=no -fi - - - - - for ac_header in $ac_header_list -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - - - -for ac_func in getpagesize -do : - ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" -if test "x$ac_cv_func_getpagesize" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETPAGESIZE 1 -_ACEOF - -fi -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 -$as_echo_n "checking for working mmap... " >&6; } -if ${ac_cv_func_mmap_fixed_mapped+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_mmap_fixed_mapped=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -/* malloc might have been renamed as rpl_malloc. */ -#undef malloc - -/* Thanks to Mike Haertel and Jim Avera for this test. - Here is a matrix of mmap possibilities: - mmap private not fixed - mmap private fixed at somewhere currently unmapped - mmap private fixed at somewhere already mapped - mmap shared not fixed - mmap shared fixed at somewhere currently unmapped - mmap shared fixed at somewhere already mapped - For private mappings, we should verify that changes cannot be read() - back from the file, nor mmap's back from the file at a different - address. (There have been systems where private was not correctly - implemented like the infamous i386 svr4.0, and systems where the - VM page cache was not coherent with the file system buffer cache - like early versions of FreeBSD and possibly contemporary NetBSD.) - For shared mappings, we should conversely verify that changes get - propagated back to all the places they're supposed to be. - - Grep wants private fixed already mapped. - The main things grep needs to know about mmap are: - * does it exist and is it safe to write into the mmap'd area - * how to use it (BSD variants) */ - -#include -#include - -#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H -char *malloc (); -#endif - -/* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - -int -main () -{ - char *data, *data2, *data3; - const char *cdata2; - int i, pagesize; - int fd, fd2; - - pagesize = getpagesize (); - - /* First, make a file with some known garbage in it. */ - data = (char *) malloc (pagesize); - if (!data) - return 1; - for (i = 0; i < pagesize; ++i) - *(data + i) = rand (); - umask (0); - fd = creat ("conftest.mmap", 0600); - if (fd < 0) - return 2; - if (write (fd, data, pagesize) != pagesize) - return 3; - close (fd); - - /* Next, check that the tail of a page is zero-filled. File must have - non-zero length, otherwise we risk SIGBUS for entire page. */ - fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); - if (fd2 < 0) - return 4; - cdata2 = ""; - if (write (fd2, cdata2, 1) != 1) - return 5; - data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); - if (data2 == MAP_FAILED) - return 6; - for (i = 0; i < pagesize; ++i) - if (*(data2 + i)) - return 7; - close (fd2); - if (munmap (data2, pagesize)) - return 8; - - /* Next, try to mmap the file at a fixed address which already has - something else allocated at it. If we can, also make sure that - we see the same garbage. */ - fd = open ("conftest.mmap", O_RDWR); - if (fd < 0) - return 9; - if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - return 10; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - return 11; - - /* Finally, make sure that changes to the mapped area do not - percolate back to the file as seen by read(). (This is a bug on - some variants of i386 svr4.0.) */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = (char *) malloc (pagesize); - if (!data3) - return 12; - if (read (fd, data3, pagesize) != pagesize) - return 13; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - return 14; - close (fd); - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_mmap_fixed_mapped=yes -else - ac_cv_func_mmap_fixed_mapped=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 -$as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } -if test $ac_cv_func_mmap_fixed_mapped = yes; then - -$as_echo "#define HAVE_MMAP 1" >>confdefs.h - -fi -rm -f conftest.mmap conftest.txt - -for ac_func in atexit ioperm i386_set_ioperm \ - mkdir strftime strstr strtod \ - cfmakeraw tcsendbreak strcasecmp strncasecmp _portaccess \ - getaddrinfo getnameinfo poll setitimer iopl getuid getpass -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -if test "${ac_cv_header_sys_io_h}" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inb,outb (provided by sys/io.h)" >&5 -$as_echo_n "checking for inb,outb (provided by sys/io.h)... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -inb(0);outb(0,0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - sane_cv_have_sys_io_h_with_inb_outb="yes" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - sane_cv_have_sys_io_h_with_inb_outb="no" - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: sys/io.h does not provide inb,outb (non i386/x32/x86_64 arch?)" >&5 -$as_echo "$as_me: WARNING: sys/io.h does not provide inb,outb (non i386/x32/x86_64 arch?)" >&2;} -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$sane_cv_have_sys_io_h_with_inb_outb" = "yes"; then - -$as_echo "#define SANE_HAVE_SYS_IO_H_WITH_INB_OUTB 1" >>confdefs.h - - fi -else - sane_cv_have_sys_io_h_with_inb_outb="no" -fi - - - - - -if test "$ac_cv_header_os2_h" = "yes" ; then - -$as_echo "#define strncasecmp strnicmp" >>confdefs.h - - -$as_echo "#define strcasecmp stricmp" >>confdefs.h - -fi - -if test "$ac_cv_header_getopt_h" = "yes" ; then - for ac_func in getopt_long -do : - ac_fn_c_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long" -if test "x$ac_cv_func_getopt_long" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETOPT_LONG 1 -_ACEOF - -fi -done - -fi - -# Slightly abuse the AC_LIBOBJ macro to mark files as replacement code -if test x$ac_cv_header_getopt_h != xyes \ - && test x$ac_cv_func_getopt_long != xyes; then : - case " $LIBOBJS " in - *" getopt.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS getopt.$ac_objext" - ;; -esac - - case " $LIBOBJS " in - *" getopt1.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS getopt1.$ac_objext" - ;; -esac - -fi - -if test -c /dev/urandom ; then - -$as_echo "#define HAVE_DEV_URANDOM 1" >>confdefs.h - -fi - - -# Check whether --with-systemd was given. -if test "${with_systemd+set}" = set; then : - withval=$with_systemd; -fi - -if test "x$with_systemd" != xno ; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5 -$as_echo_n "checking for SYSTEMD... " >&6; } - -if test -n "$SYSTEMD_CFLAGS"; then - pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$SYSTEMD_LIBS"; then - pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd" 2>&1` - else - SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$SYSTEMD_PKG_ERRORS" >&5 - - have_systemd=no -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_systemd=no -else - SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS - SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_systemd=yes -fi - if test "x$have_systemd" = xno; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5 -$as_echo_n "checking for SYSTEMD... " >&6; } - -if test -n "$SYSTEMD_CFLAGS"; then - pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd-daemon" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$SYSTEMD_LIBS"; then - pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd-daemon" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd-daemon" 2>&1` - else - SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd-daemon" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$SYSTEMD_PKG_ERRORS" >&5 - - have_systemd=no -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_systemd=no -else - SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS - SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_systemd=yes -fi - fi - if test "x$have_systemd" = xyes; then - -$as_echo "#define HAVE_SYSTEMD 1" >>confdefs.h - - else - if test "x$with_systemd" = xyes; then - as_fn_error $? "Systemd support was requested but systemd was not found" "$LINENO" 5 - fi - fi -fi - - - -# Check whether --with-usb was given. -if test "${with_usb+set}" = set; then : - withval=$with_usb; -else - with_usb=check -fi - -if test xno != "x$with_usb"; then : - have_usb=no - case x$host_os in #( - beos*) : - ac_fn_c_check_header_mongrel "$LINENO" "be/drivers/USB_scanner.h" "ac_cv_header_be_drivers_USB_scanner_h" "$ac_includes_default" -if test "x$ac_cv_header_be_drivers_USB_scanner_h" = xyes; then : - have_usb=yes -fi - - ;; #( - os2*) : - ac_fn_c_check_header_compile "$LINENO" "usbcalls.h" "ac_cv_header_usbcalls_h" "#include - #include - -" -if test "x$ac_cv_header_usbcalls_h" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for UsbQueryNumberDevices in -lusbcall" >&5 -$as_echo_n "checking for UsbQueryNumberDevices in -lusbcall... " >&6; } -if ${ac_cv_lib_usbcall_UsbQueryNumberDevices+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusbcall $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char UsbQueryNumberDevices (); -int -main () -{ -return UsbQueryNumberDevices (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usbcall_UsbQueryNumberDevices=yes -else - ac_cv_lib_usbcall_UsbQueryNumberDevices=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usbcall_UsbQueryNumberDevices" >&5 -$as_echo "$ac_cv_lib_usbcall_UsbQueryNumberDevices" >&6; } -if test "x$ac_cv_lib_usbcall_UsbQueryNumberDevices" = xyes; then : - USB_LIBS="-lusbcall" - have_usb=yes - -$as_echo "#define HAVE_USBCALLS 1" >>confdefs.h - - -fi - - -fi - - - ;; #( - *) : - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for USB" >&5 -$as_echo_n "checking for USB... " >&6; } - -if test -n "$USB_CFLAGS"; then - pkg_cv_USB_CFLAGS="$USB_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb-1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libusb-1.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_USB_CFLAGS=`$PKG_CONFIG --cflags "libusb-1.0" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$USB_LIBS"; then - pkg_cv_USB_LIBS="$USB_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb-1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libusb-1.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_USB_LIBS=`$PKG_CONFIG --libs "libusb-1.0" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - USB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libusb-1.0" 2>&1` - else - USB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libusb-1.0" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$USB_PKG_ERRORS" >&5 - - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for USB" >&5 -$as_echo_n "checking for USB... " >&6; } - -if test -n "$USB_CFLAGS"; then - pkg_cv_USB_CFLAGS="$USB_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb >= 0.1.8\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libusb >= 0.1.8") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_USB_CFLAGS=`$PKG_CONFIG --cflags "libusb >= 0.1.8" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$USB_LIBS"; then - pkg_cv_USB_LIBS="$USB_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb >= 0.1.8\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libusb >= 0.1.8") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_USB_LIBS=`$PKG_CONFIG --libs "libusb >= 0.1.8" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - USB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libusb >= 0.1.8" 2>&1` - else - USB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libusb >= 0.1.8" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$USB_PKG_ERRORS" >&5 - - ac_fn_c_check_header_mongrel "$LINENO" "usb.h" "ac_cv_header_usb_h" "$ac_includes_default" -if test "x$ac_cv_header_usb_h" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 -$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } -if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusb $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char usb_interrupt_read (); -int -main () -{ -return usb_interrupt_read (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usb_usb_interrupt_read=yes -else - ac_cv_lib_usb_usb_interrupt_read=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 -$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } -if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : - USB_LIBS="-lusb" - have_usb=yes - -fi - -fi - - - for ac_header in lusb0_usb.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "lusb0_usb.h" "ac_cv_header_lusb0_usb_h" "$ac_includes_default" -if test "x$ac_cv_header_lusb0_usb_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LUSB0_USB_H 1 -_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 -$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } -if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusb $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char usb_interrupt_read (); -int -main () -{ -return usb_interrupt_read (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usb_usb_interrupt_read=yes -else - ac_cv_lib_usb_usb_interrupt_read=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 -$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } -if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : - USB_LIBS="-lusb" - have_usb=yes - -fi - -fi - -done - - -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ac_fn_c_check_header_mongrel "$LINENO" "usb.h" "ac_cv_header_usb_h" "$ac_includes_default" -if test "x$ac_cv_header_usb_h" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 -$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } -if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusb $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char usb_interrupt_read (); -int -main () -{ -return usb_interrupt_read (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usb_usb_interrupt_read=yes -else - ac_cv_lib_usb_usb_interrupt_read=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 -$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } -if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : - USB_LIBS="-lusb" - have_usb=yes - -fi - -fi - - - for ac_header in lusb0_usb.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "lusb0_usb.h" "ac_cv_header_lusb0_usb_h" "$ac_includes_default" -if test "x$ac_cv_header_lusb0_usb_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LUSB0_USB_H 1 -_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 -$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } -if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusb $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char usb_interrupt_read (); -int -main () -{ -return usb_interrupt_read (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usb_usb_interrupt_read=yes -else - ac_cv_lib_usb_usb_interrupt_read=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 -$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } -if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : - USB_LIBS="-lusb" - have_usb=yes - -fi - -fi - -done - - -else - USB_CFLAGS=$pkg_cv_USB_CFLAGS - USB_LIBS=$pkg_cv_USB_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define HAVE_LIBUSB_LEGACY 1" >>confdefs.h - - have_usb=yes - -fi - -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for USB" >&5 -$as_echo_n "checking for USB... " >&6; } - -if test -n "$USB_CFLAGS"; then - pkg_cv_USB_CFLAGS="$USB_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb >= 0.1.8\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libusb >= 0.1.8") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_USB_CFLAGS=`$PKG_CONFIG --cflags "libusb >= 0.1.8" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$USB_LIBS"; then - pkg_cv_USB_LIBS="$USB_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb >= 0.1.8\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libusb >= 0.1.8") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_USB_LIBS=`$PKG_CONFIG --libs "libusb >= 0.1.8" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - USB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libusb >= 0.1.8" 2>&1` - else - USB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libusb >= 0.1.8" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$USB_PKG_ERRORS" >&5 - - ac_fn_c_check_header_mongrel "$LINENO" "usb.h" "ac_cv_header_usb_h" "$ac_includes_default" -if test "x$ac_cv_header_usb_h" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 -$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } -if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusb $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char usb_interrupt_read (); -int -main () -{ -return usb_interrupt_read (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usb_usb_interrupt_read=yes -else - ac_cv_lib_usb_usb_interrupt_read=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 -$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } -if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : - USB_LIBS="-lusb" - have_usb=yes - -fi - -fi - - - for ac_header in lusb0_usb.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "lusb0_usb.h" "ac_cv_header_lusb0_usb_h" "$ac_includes_default" -if test "x$ac_cv_header_lusb0_usb_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LUSB0_USB_H 1 -_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 -$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } -if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusb $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char usb_interrupt_read (); -int -main () -{ -return usb_interrupt_read (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usb_usb_interrupt_read=yes -else - ac_cv_lib_usb_usb_interrupt_read=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 -$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } -if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : - USB_LIBS="-lusb" - have_usb=yes - -fi - -fi - -done - - -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ac_fn_c_check_header_mongrel "$LINENO" "usb.h" "ac_cv_header_usb_h" "$ac_includes_default" -if test "x$ac_cv_header_usb_h" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 -$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } -if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusb $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char usb_interrupt_read (); -int -main () -{ -return usb_interrupt_read (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usb_usb_interrupt_read=yes -else - ac_cv_lib_usb_usb_interrupt_read=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 -$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } -if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : - USB_LIBS="-lusb" - have_usb=yes - -fi - -fi - - - for ac_header in lusb0_usb.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "lusb0_usb.h" "ac_cv_header_lusb0_usb_h" "$ac_includes_default" -if test "x$ac_cv_header_lusb0_usb_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LUSB0_USB_H 1 -_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 -$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } -if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusb $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char usb_interrupt_read (); -int -main () -{ -return usb_interrupt_read (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usb_usb_interrupt_read=yes -else - ac_cv_lib_usb_usb_interrupt_read=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 -$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } -if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : - USB_LIBS="-lusb" - have_usb=yes - -fi - -fi - -done - - -else - USB_CFLAGS=$pkg_cv_USB_CFLAGS - USB_LIBS=$pkg_cv_USB_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define HAVE_LIBUSB_LEGACY 1" >>confdefs.h - - have_usb=yes - -fi - -else - USB_CFLAGS=$pkg_cv_USB_CFLAGS - USB_LIBS=$pkg_cv_USB_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define HAVE_LIBUSB 1" >>confdefs.h - - have_usb=yes - -fi - ;; -esac - -fi -if test xyes = "x$with_usb" && test xyes != "x$have_usb"; then : - as_fn_error $? "USB support requested but required libraries not found." "$LINENO" 5 - -fi - if test x != "x$USB_LIBS"; then - have_usblib_TRUE= - have_usblib_FALSE='#' -else - have_usblib_TRUE='#' - have_usblib_FALSE= -fi - - - - -# Unset VERSION during the SCSI header check -sed "s!^#define VERSION .*!/* & */!" confdefs.h > confdefs.h.tmp -mv confdefs.h.tmp confdefs.h - -for ac_header in IOKit/scsi/SCSITaskLib.h IOKit/cdb/IOSCSILib.h \ - IOKit/scsi/SCSICommandOperationCodes.h \ - IOKit/scsi-commands/SCSICommandOperationCodes.h scsi.h sys/scsi.h \ - sys/scsicmd.h sys/scsiio.h bsd/dev/scsireg.h scsi/sg.h \ - camlib.h gscdds.h sys/scsi/scsi.h sys/scsi/sgdefs.h \ - sys/scsi/targets/scgio.h apollo/scsi.h sys/sdi_comm.h \ - sys/passthrudef.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -# Restore VERSION -sed "s!/\* \(#define VERSION .*\) \*/!\1!" confdefs.h > confdefs.h.tmp -mv confdefs.h.tmp confdefs.h - -for ac_header in io/cam/cam.h -do : - ac_fn_c_check_header_compile "$LINENO" "io/cam/cam.h" "ac_cv_header_io_cam_cam_h" "#include -" -if test "x$ac_cv_header_io_cam_cam_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_IO_CAM_CAM_H 1 -_ACEOF - -fi - -done - -for ac_header in ntddscsi.h ddk/ntddscsi.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -if test "$ac_cv_header_sys_scsiio_h" = "yes" \ - && test "$ac_cv_header_scsi_h" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if 'scsireq_t' needs to be defined as 'struct scsireq'" >&5 -$as_echo_n "checking if 'scsireq_t' needs to be defined as 'struct scsireq'... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -int -main () -{ -scsireq_t req - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; }; - -$as_echo "#define scsireq_t struct scsireq_t" >>confdefs.h - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for scsireq_enter in -lscsi" >&5 -$as_echo_n "checking for scsireq_enter in -lscsi... " >&6; } -if ${ac_cv_lib_scsi_scsireq_enter+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lscsi $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char scsireq_enter (); -int -main () -{ -return scsireq_enter (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_scsi_scsireq_enter=yes -else - ac_cv_lib_scsi_scsireq_enter=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_scsi_scsireq_enter" >&5 -$as_echo "$ac_cv_lib_scsi_scsireq_enter" >&6; } -if test "x$ac_cv_lib_scsi_scsireq_enter" = xyes; then : - SCSI_LIBS="-lscsi" -fi - # FreeBSD needs this - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cam_open_device in -lcam" >&5 -$as_echo_n "checking for cam_open_device in -lcam... " >&6; } -if ${ac_cv_lib_cam_cam_open_device+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcam $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char cam_open_device (); -int -main () -{ -return cam_open_device (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_cam_cam_open_device=yes -else - ac_cv_lib_cam_cam_open_device=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cam_cam_open_device" >&5 -$as_echo "$ac_cv_lib_cam_cam_open_device" >&6; } -if test "x$ac_cv_lib_cam_cam_open_device" = xyes; then : - SCSI_LIBS="-lcam" -fi - # FreeBSD 3+ needs this - -for ac_func in scsireq_enter -do : - ac_fn_c_check_func "$LINENO" "scsireq_enter" "ac_cv_func_scsireq_enter" -if test "x$ac_cv_func_scsireq_enter" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SCSIREQ_ENTER 1 -_ACEOF - -fi -done - - -if test "$ac_cv_header_scsi_sg_h" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sg_header.target_status in " >&5 -$as_echo_n "checking for sg_header.target_status in ... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -int -main () -{ - -struct sg_header hdr; -hdr.target_status = 1; -return 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; }; - -$as_echo "#define HAVE_SG_TARGET_STATUS 1" >>confdefs.h - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -if test "$ac_cv_header_IOKit_scsi_SCSITaskLib_h" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SCSITaskSGElement in IOKit/scsi/SCSITaskLib.h" >&5 -$as_echo_n "checking for SCSITaskSGElement in IOKit/scsi/SCSITaskLib.h... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#undef VERSION -#include - -int -main () -{ - -SCSITaskSGElement range; -return 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; }; - -$as_echo "#define HAVE_SCSITASKSGELEMENT 1" >>confdefs.h - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -# Multiple platforms can set SCSI_LIBS so do substitution at end. - - -# Check whether --enable-scsibuffersize was given. -if test "${enable_scsibuffersize+set}" = set; then : - enableval=$enable_scsibuffersize; set_scsibuffersize="$enableval" -else - set_scsibuffersize=131072 -fi - - -cat >>confdefs.h <<_ACEOF -#define SCSIBUFFERSIZE $set_scsibuffersize -_ACEOF - -echo "scsi buffersize: $set_scsibuffersize" - -# Check whether --enable-scsi-directio was given. -if test "${enable_scsi_directio+set}" = set; then : - enableval=$enable_scsi_directio; - if eval "test x$enable_scsi_directio = xyes"; then - AM_CFLAGS="$AM_CFLAGS -DENABLE_SCSI_DIRECTIO" - fi - -fi - - - -if test "$ac_cv_func_getnameinfo" = "yes" \ - && test "$ac_cv_func_getaddrinfo" = "yes" ; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable IPv6" >&5 -$as_echo_n "checking whether to enable IPv6... " >&6; } - # Check whether --enable-ipv6 was given. -if test "${enable_ipv6+set}" = set; then : - enableval=$enable_ipv6; if test "$enableval" = "no" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, manually disabled" >&5 -$as_echo "no, manually disabled" >&6; } - ipv6=no - fi - -fi - - - if test "$ipv6" != "no" ; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #define INET6 - #include - #include -int -main () -{ - - /* AF_INET6 available check */ - if (socket(AF_INET6, SOCK_STREAM, 0) < 0) - exit(1); - else - exit(0); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define ENABLE_IPV6 1" >>confdefs.h - - ipv6=yes - -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (couldn't compile test program)" >&5 -$as_echo "no (couldn't compile test program)" >&6; } - ipv6=no - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - - if test "$ipv6" != "no" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct sockaddr_storage has an ss_family member" >&5 -$as_echo_n "checking whether struct sockaddr_storage has an ss_family member... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #define INET6 - #include - #include -int -main () -{ - - /* test if the ss_family member exists in struct sockaddr_storage */ - struct sockaddr_storage ss; - ss.ss_family = AF_INET; - exit (0); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define HAS_SS_FAMILY 1" >>confdefs.h - - -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #define INET6 - #include - #include -int -main () -{ - - /* test if the __ss_family member exists in struct sockaddr_storage */ - struct sockaddr_storage ss; - ss.__ss_family = AF_INET; - exit (0); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, but __ss_family exists" >&5 -$as_echo "no, but __ss_family exists" >&6; } - -$as_echo "#define HAS___SS_FAMILY 1" >>confdefs.h - - -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ipv6=no - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - -else - ipv6="no" -fi - -# Check whether --enable-preload was given. -if test "${enable_preload+set}" = set; then : - enableval=$enable_preload; enable_preload=$enableval -else - enable_preload=auto -fi - - -case $host_os in - cygwin* | mingw* | beos* | os2*) - AM_LDFLAGS="$AM_LDFLAGS -no-undefined" -esac - - - -# Check whether --with-lockdir was given. -if test "${with_lockdir+set}" = set; then : - withval=$with_lockdir; locksanedir=$withval -else - locksanedir=${localstatedir}/lock/sane -fi - - - -configdir="${sysconfdir}/sane.d" - - - -AM_CPPFLAGS="${AM_CPPFLAGS} -DPATH_SANE_CONFIG_DIR=\$(configdir) \ - -DPATH_SANE_DATA_DIR=\$(datadir) \ - -DPATH_SANE_LOCK_DIR=\$(locksanedir) \ - -DV_MAJOR=${V_MAJOR} -DV_MINOR=${V_MINOR}" - -if test "${ac_cv_header_sys_socket_h}" = "no"; then - echo "*** disabling saned (sys/socket.h not found)" - SANED= -else - SANED=saned -fi - if test x$SANED = xsaned; then - COMPILE_SANED_TRUE= - COMPILE_SANED_FALSE='#' -else - COMPILE_SANED_TRUE='#' - COMPILE_SANED_FALSE= -fi - - - -# Check whether --enable-local-backends was given. -if test "${enable_local_backends+set}" = set; then : - enableval=$enable_local_backends; -fi - - -ALL_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e \ - avision bh canon canon630u canon_dr canon_pp cardscan \ - coolscan coolscan2 coolscan3 dc25 dc210 dc240 \ - dell1600n_net dmc epjitsu epson epson2 epsonds fujitsu genesys \ - gphoto2 gt68xx hp hp3500 hp3900 hp4200 hp5400 \ - hp5590 hpsj5s hpljm1005 hs2p ibm kodak kodakaio kvs1025 kvs20xx \ - kvs40xx leo lexmark ma1509 magicolor \ - matsushita microtek microtek2 mustek mustek_pp \ - mustek_usb mustek_usb2 nec net niash pie pieusb pint \ - pixma plustek plustek_pp qcam ricoh rts8891 s9036 \ - sceptre sharp sm3600 sm3840 snapscan sp15c st400 \ - stv680 tamarack teco1 teco2 teco3 test u12 umax - umax_pp umax1220u v4l xerox_mfp p5" - -# If user specifies backends manually then cause configure -# to fail if its detected it can't be compiled. If we -# are in automatic mode then remove backend from list instead. -user_selected_backends="yes" - - -if eval "test x$enable_local_backends = xno"; then - BACKENDS="net" -else - if test "${BACKENDS}" != "" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Manually selected backends: ${BACKENDS}" >&5 -$as_echo "$as_me: Manually selected backends: ${BACKENDS}" >&6;} - else - BACKENDS="$ALL_BACKENDS" - user_selected_backends="no" - fi -fi - - -if test "${user_selected_backends}" = "yes"; then - DISABLE_MSG="aborting" -else - DISABLE_MSG="disabling" -fi - -FILTERED_BACKENDS="" -for be in ${BACKENDS}; do - backend_supported="yes" - case $be in - plustek_pp) - case "$host_os" in - gnu*) - echo "*** $be backend not supported on GNU/Hurd - $DISABLE_MSG" - backend_supported="no" - ;; - esac - ;; - - dc210|dc240) - if test "${sane_cv_use_libjpeg}" != "yes"; then - echo "*** $be backend requires JPEG library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - canon_pp|hpsj5s) - if test "${sane_cv_use_libieee1284}" != "yes"; then - echo "*** $be backend requires libieee1284 library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - mustek_pp) - if test "${sane_cv_use_libieee1284}" != "yes" && test "${enable_parport_directio}" != "yes"; then - echo "*** $be backend requires libieee1284 or parport-directio libraries - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - dell1600n_net) - if test "${sane_cv_use_libjpeg}" != "yes" || test "${sane_cv_use_libtiff}" != "yes"; then - echo "*** $be backend requires JPEG and TIFF library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - epsonds) - if test "${sane_cv_use_libjpeg}" != "yes"; then - echo "*** $be backend requires JPEG library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - gphoto2) - if test "${HAVE_GPHOTO2}" != "true" \ - || test "${sane_cv_use_libjpeg}" != "yes"; then - echo "*** $be backend requires gphoto2 and JPEG libraries - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - pint) - if test "${ac_cv_header_sys_scanio_h}" = "no"; then - echo "*** $be backend requires sys/scanio.h - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - qcam) - if ( test "${ac_cv_func_ioperm}" = "no" || test "${sane_cv_have_sys_io_h_with_inb_outb}" = "no" )\ - && test "${ac_cv_func__portaccess}" = "no"; then - echo "*** $be backend requires (ioperm, inb and outb) or portaccess functions - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - v4l) - if test "${have_linux_ioctl_defines}" != "yes" \ - || test "${have_libv4l1}" != "yes"; then - echo "*** $be backend requires v4l libraries - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - net) - if test "${ac_cv_header_sys_socket_h}" = "no"; then - echo "*** $be backend requires sys/socket.h - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - mustek_usb2|kvs40xx) - if test "${have_pthread}" != "yes"; then - echo "*** $be backend requires pthread library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - esac - if test "${backend_supported}" = "no"; then - if test "${user_selected_backends}" = "yes"; then - exit 1 - fi - else - FILTERED_BACKENDS="${FILTERED_BACKENDS} $be" - fi -done - - -if test "${sane_cv_use_libjpeg}" = "yes"; then - SANEI_SANEI_JPEG_LO="../sanei/sanei_jpeg.lo" -fi - if test x$sane_cv_use_libjpeg = xyes; then - HAVE_JPEG_TRUE= - HAVE_JPEG_FALSE='#' -else - HAVE_JPEG_TRUE='#' - HAVE_JPEG_FALSE= -fi - - - -# Check whether --enable-pnm-backend was given. -if test "${enable_pnm_backend+set}" = set; then : - enableval=$enable_pnm_backend; FILTERED_BACKENDS="${FILTERED_BACKENDS} pnm" -else - echo "*** pnm backend not manually selected - disabling" -fi - - -BACKENDS="$FILTERED_BACKENDS" -BACKEND_LIBS_ENABLED="" -BACKEND_CONFS_ENABLED="" -BACKEND_MANS_ENABLED="" -for backend in ${BACKENDS} ; do - BACKEND_LIBS_ENABLED="${BACKEND_LIBS_ENABLED} libsane-${backend}.la" - BACKEND_CONFS_ENABLED="${BACKEND_CONFS_ENABLED} ${backend}.conf" - BACKEND_MANS_ENABLED="${BACKEND_MANS_ENABLED} sane-${backend}.5" - if test x$backend = xumax_pp; then - install_umax_pp_tools=yes - fi -done - - if test xyes = x$install_umax_pp_tools; then - INSTALL_UMAX_PP_TOOLS_TRUE= - INSTALL_UMAX_PP_TOOLS_FALSE='#' -else - INSTALL_UMAX_PP_TOOLS_TRUE='#' - INSTALL_UMAX_PP_TOOLS_FALSE= -fi - - - -if test "${enable_preload}" = "auto"; then - if test "${enable_shared}" = "no" || test "${enable_dynamic}" != "yes"; then - enable_preload=yes - fi -fi -if test "${enable_preload}" = "yes"; then - echo "preloading backends into DLL" - - # If user specifies backends manually then cause configure - # to fail if its detected it can't be compiled. If we - # are in automatic mode then remove backend from list instead. - user_selected_backends="yes" - - if eval "test x$enable_local_backends = xno"; then - PRELOADABLE_BACKENDS="net" - else - if test "${PRELOADABLE_BACKENDS}" != "" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Manually selected preloadable backends: ${PRELOADABLE_BACKENDS}" >&5 -$as_echo "$as_me: Manually selected preloadable backends: ${PRELOADABLE_BACKENDS}" >&6;} - else - PRELOADABLE_BACKENDS="$BACKENDS" - user_selected_backends="no" - fi - fi - - saved_BACKENDS="$BACKENDS" - BACKENDS="${PRELOADABLE_BACKENDS}" - - -if test "${user_selected_backends}" = "yes"; then - DISABLE_MSG="aborting" -else - DISABLE_MSG="disabling" -fi - -FILTERED_BACKENDS="" -for be in ${BACKENDS}; do - backend_supported="yes" - case $be in - plustek_pp) - case "$host_os" in - gnu*) - echo "*** $be backend not supported on GNU/Hurd - $DISABLE_MSG" - backend_supported="no" - ;; - esac - ;; - - dc210|dc240) - if test "${sane_cv_use_libjpeg}" != "yes"; then - echo "*** $be backend requires JPEG library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - canon_pp|hpsj5s) - if test "${sane_cv_use_libieee1284}" != "yes"; then - echo "*** $be backend requires libieee1284 library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - mustek_pp) - if test "${sane_cv_use_libieee1284}" != "yes" && test "${enable_parport_directio}" != "yes"; then - echo "*** $be backend requires libieee1284 or parport-directio libraries - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - dell1600n_net) - if test "${sane_cv_use_libjpeg}" != "yes" || test "${sane_cv_use_libtiff}" != "yes"; then - echo "*** $be backend requires JPEG and TIFF library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - epsonds) - if test "${sane_cv_use_libjpeg}" != "yes"; then - echo "*** $be backend requires JPEG library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - gphoto2) - if test "${HAVE_GPHOTO2}" != "true" \ - || test "${sane_cv_use_libjpeg}" != "yes"; then - echo "*** $be backend requires gphoto2 and JPEG libraries - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - pint) - if test "${ac_cv_header_sys_scanio_h}" = "no"; then - echo "*** $be backend requires sys/scanio.h - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - qcam) - if ( test "${ac_cv_func_ioperm}" = "no" || test "${sane_cv_have_sys_io_h_with_inb_outb}" = "no" )\ - && test "${ac_cv_func__portaccess}" = "no"; then - echo "*** $be backend requires (ioperm, inb and outb) or portaccess functions - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - v4l) - if test "${have_linux_ioctl_defines}" != "yes" \ - || test "${have_libv4l1}" != "yes"; then - echo "*** $be backend requires v4l libraries - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - net) - if test "${ac_cv_header_sys_socket_h}" = "no"; then - echo "*** $be backend requires sys/socket.h - $DISABLE_MSG" - backend_supported="no" - fi - ;; - - mustek_usb2|kvs40xx) - if test "${have_pthread}" != "yes"; then - echo "*** $be backend requires pthread library - $DISABLE_MSG" - backend_supported="no" - fi - ;; - esac - if test "${backend_supported}" = "no"; then - if test "${user_selected_backends}" = "yes"; then - exit 1 - fi - else - FILTERED_BACKENDS="${FILTERED_BACKENDS} $be" - fi -done - - - PRELOADABLE_BACKENDS="$FILTERED_BACKENDS" - BACKENDS="$saved_BACKENDS" -else - PRELOADABLE_BACKENDS="" -fi -PRELOADABLE_BACKENDS_ENABLED="" -# Do not initialize BACKEND_CONFS_ENABLED so that its a combination -# of all backends. -for backend in ${PRELOADABLE_BACKENDS} ; do - BACKEND_CONFS_ENABLED="${BACKEND_CONFS_ENABLED} ${backend}.conf" - BACKEND_MANS_ENABLED="${BACKEND_MANS_ENABLED} sane-${backend}.5" - # Special hacks. Normally, we create a convenience library that - # matches the backend's name but in some cases that will conflict - # with an external library name that also matches backend name. - # Work around that here by renaming internal library. - if test "${backend}" = "gphoto2"; then - backend=gphoto2_i - fi - PRELOADABLE_BACKENDS_ENABLED="${PRELOADABLE_BACKENDS_ENABLED} lib${backend}.la" -done - - - - - - -case $host_os in - beos*) - libdir='${exec_prefix}/add-ons' - ;; -esac - -# Check whether --enable-parport-directio was given. -if test "${enable_parport_directio+set}" = set; then : - enableval=$enable_parport_directio; - if eval "test x$enable_parport_directio = xyes"; then - AM_CFLAGS="$AM_CFLAGS -DENABLE_PARPORT_DIRECTIO" - fi - -fi - - - -# Check whether --with-api-spec was given. -if test "${with_api_spec+set}" = set; then : - withval=$with_api_spec; -else - with_api_spec=check -fi - -# Extract the first word of "makeindex", so it can be a program name with args. -set dummy makeindex; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MAKEINDEX+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAKEINDEX in - [\\/]* | ?:[\\/]*) - ac_cv_path_MAKEINDEX="$MAKEINDEX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_MAKEINDEX="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_MAKEINDEX" && ac_cv_path_MAKEINDEX="no" - ;; -esac -fi -MAKEINDEX=$ac_cv_path_MAKEINDEX -if test -n "$MAKEINDEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKEINDEX" >&5 -$as_echo "$MAKEINDEX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "dvips", so it can be a program name with args. -set dummy dvips; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_DVIPS+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $DVIPS in - [\\/]* | ?:[\\/]*) - ac_cv_path_DVIPS="$DVIPS" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_DVIPS="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_DVIPS" && ac_cv_path_DVIPS="no" - ;; -esac -fi -DVIPS=$ac_cv_path_DVIPS -if test -n "$DVIPS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DVIPS" >&5 -$as_echo "$DVIPS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "latex", so it can be a program name with args. -set dummy latex; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_LATEX+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $LATEX in - [\\/]* | ?:[\\/]*) - ac_cv_path_LATEX="$LATEX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_LATEX="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_LATEX" && ac_cv_path_LATEX="no" - ;; -esac -fi -LATEX=$ac_cv_path_LATEX -if test -n "$LATEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LATEX" >&5 -$as_echo "$LATEX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "pdflatex", so it can be a program name with args. -set dummy pdflatex; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PDFLATEX+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PDFLATEX in - [\\/]* | ?:[\\/]*) - ac_cv_path_PDFLATEX="$PDFLATEX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PDFLATEX="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_PDFLATEX" && ac_cv_path_PDFLATEX="no" - ;; -esac -fi -PDFLATEX=$ac_cv_path_PDFLATEX -if test -n "$PDFLATEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PDFLATEX" >&5 -$as_echo "$PDFLATEX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "fig2dev", so it can be a program name with args. -set dummy fig2dev; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_FIG2DEV+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $FIG2DEV in - [\\/]* | ?:[\\/]*) - ac_cv_path_FIG2DEV="$FIG2DEV" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_FIG2DEV="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_FIG2DEV" && ac_cv_path_FIG2DEV="no" - ;; -esac -fi -FIG2DEV=$ac_cv_path_FIG2DEV -if test -n "$FIG2DEV"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FIG2DEV" >&5 -$as_echo "$FIG2DEV" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "gs", so it can be a program name with args. -set dummy gs; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_GS+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $GS in - [\\/]* | ?:[\\/]*) - ac_cv_path_GS="$GS" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GS="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_GS" && ac_cv_path_GS="no" - ;; -esac -fi -GS=$ac_cv_path_GS -if test -n "$GS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GS" >&5 -$as_echo "$GS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "dlh", so it can be a program name with args. -set dummy dlh; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_DLH+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $DLH in - [\\/]* | ?:[\\/]*) - ac_cv_path_DLH="$DLH" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_DLH="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_DLH" && ac_cv_path_DLH="no" - ;; -esac -fi -DLH=$ac_cv_path_DLH -if test -n "$DLH"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLH" >&5 -$as_echo "$DLH" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "ppmtogif", so it can be a program name with args. -set dummy ppmtogif; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PPMTOGIF+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PPMTOGIF in - [\\/]* | ?:[\\/]*) - ac_cv_path_PPMTOGIF="$PPMTOGIF" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PPMTOGIF="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_PPMTOGIF" && ac_cv_path_PPMTOGIF="no" - ;; -esac -fi -PPMTOGIF=$ac_cv_path_PPMTOGIF -if test -n "$PPMTOGIF"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PPMTOGIF" >&5 -$as_echo "$PPMTOGIF" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -if test xno != "x$with_api_spec"; then : - if test xno != "x$MAKEINDEX" \ - && test xno != "x$DVIPS" \ - && test xno != "x$FIG2DEV" \ - && test xno != "x$LATEX"; then : - with_api_ps=yes -fi - if test xno != "x$MAKEINDEX" \ - && test xno != "x$PDFLATEX" \ - && test xno != "x$FIG2DEV" \ - && test xno != "x$GS"; then : - with_api_pdf=yes -fi - if test xno != "x$MAKEINDEX" \ - && test xno != "x$DVIPS" \ - && test xno != "x$FIG2DEV" \ - && test xno != "x$DLH" \ - && test xno != "x$GS" \ - && test xno != "x$PPMTOFIG" ; then : - with_api_html=yes -fi - - if test xyes = "x$with_api_spec" \ - && test xyes != "x$with_api_ps" \ - && test xyes != "x$with_api_pdf" \ - && test xyes != "x$with_api_html"; then : - as_fn_error $? "tools to convert the API spec are missing" "$LINENO" 5 - -fi - -fi - if test x$with_api_ps = xyes; then - WITH_API_PS_TRUE= - WITH_API_PS_FALSE='#' -else - WITH_API_PS_TRUE='#' - WITH_API_PS_FALSE= -fi - - if test x$with_api_pdf = xyes; then - WITH_API_PDF_TRUE= - WITH_API_PDF_FALSE='#' -else - WITH_API_PDF_TRUE='#' - WITH_API_PDF_FALSE= -fi - - if test x$with_api_html = xyes; then - WITH_API_HTML_TRUE= - WITH_API_HTML_FALSE='#' -else - WITH_API_HTML_TRUE='#' - WITH_API_HTML_FALSE= -fi - - - - - - - -ac_config_files="$ac_config_files Makefile lib/Makefile sanei/Makefile frontend/Makefile japi/Makefile backend/Makefile include/Makefile doc/Makefile po/Makefile.in testsuite/Makefile testsuite/sanei/Makefile testsuite/tools/Makefile tools/Makefile doc/doxygen-sanei.conf doc/doxygen-genesys.conf" - -ac_config_files="$ac_config_files tools/sane-config" - -ac_config_files="$ac_config_files tools/sane-backends.pc" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${CROSS_COMPILING_TRUE}" && test -z "${CROSS_COMPILING_FALSE}"; then - as_fn_error $? "conditional \"CROSS_COMPILING\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - - -if test -z "${have_usblib_TRUE}" && test -z "${have_usblib_FALSE}"; then - as_fn_error $? "conditional \"have_usblib\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COMPILE_SANED_TRUE}" && test -z "${COMPILE_SANED_FALSE}"; then - as_fn_error $? "conditional \"COMPILE_SANED\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_JPEG_TRUE}" && test -z "${HAVE_JPEG_FALSE}"; then - as_fn_error $? "conditional \"HAVE_JPEG\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${INSTALL_UMAX_PP_TOOLS_TRUE}" && test -z "${INSTALL_UMAX_PP_TOOLS_FALSE}"; then - as_fn_error $? "conditional \"INSTALL_UMAX_PP_TOOLS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${WITH_API_PS_TRUE}" && test -z "${WITH_API_PS_FALSE}"; then - as_fn_error $? "conditional \"WITH_API_PS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${WITH_API_PDF_TRUE}" && test -z "${WITH_API_PDF_FALSE}"; then - as_fn_error $? "conditional \"WITH_API_PDF\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${WITH_API_HTML_TRUE}" && test -z "${WITH_API_HTML_FALSE}"; then - as_fn_error $? "conditional \"WITH_API_HTML\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by sane-backends $as_me 1.0.27, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -sane-backends config.status 1.0.27 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in AS \ -DLLTOOL \ -OBJDUMP \ -SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -sharedlib_from_linklib_cmd \ -AR \ -AR_FLAGS \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -nm_file_list_spec \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile' - - - -# Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it - # from automake < 1.5. - eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - -# variables for create stdint.h replacement -PACKAGE="$PACKAGE" -VERSION="$VERSION" -ac_stdint_h="$ac_stdint_h" -_ac_stdint_h=`$as_echo "_$PACKAGE-$ac_stdint_h" | $as_tr_cpp` -ac_cv_stdint_message="$ac_cv_stdint_message" -ac_cv_header_stdint_t="$ac_cv_header_stdint_t" -ac_cv_header_stdint_x="$ac_cv_header_stdint_x" -ac_cv_header_stdint_o="$ac_cv_header_stdint_o" -ac_cv_header_stdint_u="$ac_cv_header_stdint_u" -ac_cv_type_uint64_t="$ac_cv_type_uint64_t" -ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t" -ac_cv_char_data_model="$ac_cv_char_data_model" -ac_cv_long_data_model="$ac_cv_long_data_model" -ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t" -ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t" -ac_cv_type_intmax_t="$ac_cv_type_intmax_t" - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "include/sane/config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/sane/config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; - "$ac_stdint_h") CONFIG_COMMANDS="$CONFIG_COMMANDS $ac_stdint_h" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; - "sanei/Makefile") CONFIG_FILES="$CONFIG_FILES sanei/Makefile" ;; - "frontend/Makefile") CONFIG_FILES="$CONFIG_FILES frontend/Makefile" ;; - "japi/Makefile") CONFIG_FILES="$CONFIG_FILES japi/Makefile" ;; - "backend/Makefile") CONFIG_FILES="$CONFIG_FILES backend/Makefile" ;; - "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; - "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; - "testsuite/sanei/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/sanei/Makefile" ;; - "testsuite/tools/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/tools/Makefile" ;; - "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; - "doc/doxygen-sanei.conf") CONFIG_FILES="$CONFIG_FILES doc/doxygen-sanei.conf" ;; - "doc/doxygen-genesys.conf") CONFIG_FILES="$CONFIG_FILES doc/doxygen-genesys.conf" ;; - "tools/sane-config") CONFIG_FILES="$CONFIG_FILES tools/sane-config" ;; - "tools/sane-backends.pc") CONFIG_FILES="$CONFIG_FILES tools/sane-backends.pc" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -# The names of the tagged configurations supported by this script. -available_tags="" - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Assembler program. -AS=$lt_AS - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Object dumper program. -OBJDUMP=$lt_OBJDUMP - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and in which our libraries should be installed. -lt_sysroot=$lt_sysroot - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain="$ac_aux_dir/ltmain.sh" - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - if test x"$xsi_shell" = xyes; then - sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ -func_dirname ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_basename ()$/,/^} # func_basename /c\ -func_basename ()\ -{\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ -func_dirname_and_basename ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ -func_stripname ()\ -{\ -\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ -\ # positional parameters, so assign one to ordinary parameter first.\ -\ func_stripname_result=${3}\ -\ func_stripname_result=${func_stripname_result#"${1}"}\ -\ func_stripname_result=${func_stripname_result%"${2}"}\ -} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ -func_split_long_opt ()\ -{\ -\ func_split_long_opt_name=${1%%=*}\ -\ func_split_long_opt_arg=${1#*=}\ -} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ -func_split_short_opt ()\ -{\ -\ func_split_short_opt_arg=${1#??}\ -\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ -} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ -func_lo2o ()\ -{\ -\ case ${1} in\ -\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ -\ *) func_lo2o_result=${1} ;;\ -\ esac\ -} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_xform ()$/,/^} # func_xform /c\ -func_xform ()\ -{\ - func_xform_result=${1%.*}.lo\ -} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_arith ()$/,/^} # func_arith /c\ -func_arith ()\ -{\ - func_arith_result=$(( $* ))\ -} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_len ()$/,/^} # func_len /c\ -func_len ()\ -{\ - func_len_result=${#1}\ -} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - -fi - -if test x"$lt_shell_append" = xyes; then - sed -e '/^func_append ()$/,/^} # func_append /c\ -func_append ()\ -{\ - eval "${1}+=\\${2}"\ -} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ -func_append_quoted ()\ -{\ -\ func_quote_for_eval "${2}"\ -\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ -} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 -$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} -fi - - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - ;; - "po-directories":C) - for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - # Treat a directory as a PO directory if and only if it has a - # POTFILES.in file. This allows packages to have multiple PO - # directories under different names or in different locations. - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" - POMAKEFILEDEPS="POTFILES.in" - # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend - # on $ac_dir but don't depend on user-specified configuration - # parameters. - if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then - # The LINGUAS file contains the set of available languages. - if test -n "$OBSOLETE_ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" - fi - ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" - else - # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' - fi - # Compute POFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) - # Compute UPDATEPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) - # Compute DUMMYPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) - # Compute GMOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - UPDATEPOFILES= - DUMMYPOFILES= - GMOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - done - # CATALOGS depends on both $ac_dir and the user's LINGUAS - # environment variable. - INST_LINGUAS= - if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "$LINGUAS"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done - fi - CATALOGS= - if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done - fi - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do - if test -f "$f"; then - case "$f" in - *.orig | *.bak | *~) ;; - *) cat "$f" >> "$ac_dir/Makefile" ;; - esac - fi - done - fi - ;; - esac - done ;; - "$ac_stdint_h":C) -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_stdint_h : $_ac_stdint_h" >&5 -$as_echo "$as_me: creating $ac_stdint_h : $_ac_stdint_h" >&6;} -ac_stdint=$tmp/_stdint.h - -echo "#ifndef" $_ac_stdint_h >$ac_stdint -echo "#define" $_ac_stdint_h "1" >>$ac_stdint -echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint -echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint -echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint -if test "_$ac_cv_header_stdint_t" != "_" ; then -echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint -echo "#include " >>$ac_stdint -echo "#endif" >>$ac_stdint -echo "#endif" >>$ac_stdint -else - -cat >>$ac_stdint < -#else -#include - -/* .................... configured part ............................ */ - -STDINT_EOF - -echo "/* whether we have a C99 compatible stdint header file */" >>$ac_stdint -if test "_$ac_cv_header_stdint_x" != "_" ; then - ac_header="$ac_cv_header_stdint_x" - echo "#define _STDINT_HEADER_INTPTR" '"'"$ac_header"'"' >>$ac_stdint -else - echo "/* #undef _STDINT_HEADER_INTPTR */" >>$ac_stdint -fi - -echo "/* whether we have a C96 compatible inttypes header file */" >>$ac_stdint -if test "_$ac_cv_header_stdint_o" != "_" ; then - ac_header="$ac_cv_header_stdint_o" - echo "#define _STDINT_HEADER_UINT32" '"'"$ac_header"'"' >>$ac_stdint -else - echo "/* #undef _STDINT_HEADER_UINT32 */" >>$ac_stdint -fi - -echo "/* whether we have a BSD compatible inet types header */" >>$ac_stdint -if test "_$ac_cv_header_stdint_u" != "_" ; then - ac_header="$ac_cv_header_stdint_u" - echo "#define _STDINT_HEADER_U_INT32" '"'"$ac_header"'"' >>$ac_stdint -else - echo "/* #undef _STDINT_HEADER_U_INT32 */" >>$ac_stdint -fi - -echo "" >>$ac_stdint - -if test "_$ac_header" != "_" ; then if test "$ac_header" != "stddef.h" ; then - echo "#include <$ac_header>" >>$ac_stdint - echo "" >>$ac_stdint -fi fi - -echo "/* which 64bit typedef has been found */" >>$ac_stdint -if test "$ac_cv_type_uint64_t" = "yes" ; then -echo "#define _STDINT_HAVE_UINT64_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_UINT64_T */" >>$ac_stdint -fi -if test "$ac_cv_type_u_int64_t" = "yes" ; then -echo "#define _STDINT_HAVE_U_INT64_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_U_INT64_T */" >>$ac_stdint -fi -echo "" >>$ac_stdint - -echo "/* which type model has been detected */" >>$ac_stdint -if test "_$ac_cv_char_data_model" != "_" ; then -echo "#define _STDINT_CHAR_MODEL" "$ac_cv_char_data_model" >>$ac_stdint -echo "#define _STDINT_LONG_MODEL" "$ac_cv_long_data_model" >>$ac_stdint -else -echo "/* #undef _STDINT_CHAR_MODEL // skipped */" >>$ac_stdint -echo "/* #undef _STDINT_LONG_MODEL // skipped */" >>$ac_stdint -fi -echo "" >>$ac_stdint - -echo "/* whether int_least types were detected */" >>$ac_stdint -if test "$ac_cv_type_int_least32_t" = "yes"; then -echo "#define _STDINT_HAVE_INT_LEAST32_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_INT_LEAST32_T */" >>$ac_stdint -fi -echo "/* whether int_fast types were detected */" >>$ac_stdint -if test "$ac_cv_type_int_fast32_t" = "yes"; then -echo "#define _STDINT_HAVE_INT_FAST32_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_INT_FAST32_T */" >>$ac_stdint -fi -echo "/* whether intmax_t type was detected */" >>$ac_stdint -if test "$ac_cv_type_intmax_t" = "yes"; then -echo "#define _STDINT_HAVE_INTMAX_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_INTMAX_T */" >>$ac_stdint -fi -echo "" >>$ac_stdint - - cat >>$ac_stdint <= 199901L -#define _HAVE_UINT64_T -#define _HAVE_LONGLONG_UINT64_T -typedef long long int64_t; -typedef unsigned long long uint64_t; - -#elif !defined __STRICT_ANSI__ -#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ -#define _HAVE_UINT64_T -typedef __int64 int64_t; -typedef unsigned __int64 uint64_t; - -#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__ -/* note: all ELF-systems seem to have loff-support which needs 64-bit */ -#if !defined _NO_LONGLONG -#define _HAVE_UINT64_T -#define _HAVE_LONGLONG_UINT64_T -typedef long long int64_t; -typedef unsigned long long uint64_t; -#endif - -#elif defined __alpha || (defined __mips && defined _ABIN32) -#if !defined _NO_LONGLONG -typedef long int64_t; -typedef unsigned long uint64_t; -#endif - /* compiler/cpu type to define int64_t */ -#endif -#endif -#endif - -#if defined _STDINT_HAVE_U_INT_TYPES -/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */ -typedef u_int8_t uint8_t; -typedef u_int16_t uint16_t; -typedef u_int32_t uint32_t; - -/* glibc compatibility */ -#ifndef __int8_t_defined -#define __int8_t_defined -#endif -#endif - -#ifdef _STDINT_NEED_INT_MODEL_T -/* we must guess all the basic types. Apart from byte-adressable system, */ -/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */ -/* (btw, those nibble-addressable systems are way off, or so we assume) */ - - -#if defined _STDINT_BYTE_MODEL -#if _STDINT_LONG_MODEL+0 == 242 -/* 2:4:2 = IP16 = a normal 16-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned long uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef long int32_t; -#endif -#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444 -/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */ -/* 4:4:4 = ILP32 = a normal 32-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -#endif -#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488 -/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */ -/* 4:8:8 = LP64 = a normal 64-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -#endif -/* this system has a "long" of 64bit */ -#ifndef _HAVE_UINT64_T -#define _HAVE_UINT64_T -typedef unsigned long uint64_t; -typedef long int64_t; -#endif -#elif _STDINT_LONG_MODEL+0 == 448 -/* LLP64 a 64-bit system derived from a 32-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -#endif -/* assuming the system has a "long long" */ -#ifndef _HAVE_UINT64_T -#define _HAVE_UINT64_T -#define _HAVE_LONGLONG_UINT64_T -typedef unsigned long long uint64_t; -typedef long long int64_t; -#endif -#else -#define _STDINT_NO_INT32_T -#endif -#else -#define _STDINT_NO_INT8_T -#define _STDINT_NO_INT32_T -#endif -#endif - -/* - * quote from SunOS-5.8 sys/inttypes.h: - * Use at your own risk. As of February 1996, the committee is squarely - * behind the fixed sized types; the "least" and "fast" types are still being - * discussed. The probability that the "fast" types may be removed before - * the standard is finalized is high enough that they are not currently - * implemented. - */ - -#if defined _STDINT_NEED_INT_LEAST_T -typedef int8_t int_least8_t; -typedef int16_t int_least16_t; -typedef int32_t int_least32_t; -#ifdef _HAVE_UINT64_T -typedef int64_t int_least64_t; -#endif - -typedef uint8_t uint_least8_t; -typedef uint16_t uint_least16_t; -typedef uint32_t uint_least32_t; -#ifdef _HAVE_UINT64_T -typedef uint64_t uint_least64_t; -#endif - /* least types */ -#endif - -#if defined _STDINT_NEED_INT_FAST_T -typedef int8_t int_fast8_t; -typedef int int_fast16_t; -typedef int32_t int_fast32_t; -#ifdef _HAVE_UINT64_T -typedef int64_t int_fast64_t; -#endif - -typedef uint8_t uint_fast8_t; -typedef unsigned uint_fast16_t; -typedef uint32_t uint_fast32_t; -#ifdef _HAVE_UINT64_T -typedef uint64_t uint_fast64_t; -#endif - /* fast types */ -#endif - -#ifdef _STDINT_NEED_INTMAX_T -#ifdef _HAVE_UINT64_T -typedef int64_t intmax_t; -typedef uint64_t uintmax_t; -#else -typedef long intmax_t; -typedef unsigned long uintmax_t; -#endif -#endif - -#ifdef _STDINT_NEED_INTPTR_T -#ifndef __intptr_t_defined -#define __intptr_t_defined -/* we encourage using "long" to store pointer values, never use "int" ! */ -#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 -typedef unsigned int uintptr_t; -typedef int intptr_t; -#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 -typedef unsigned long uintptr_t; -typedef long intptr_t; -#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T -typedef uint64_t uintptr_t; -typedef int64_t intptr_t; -#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */ -typedef unsigned long uintptr_t; -typedef long intptr_t; -#endif -#endif -#endif - -/* The ISO C99 standard specifies that in C++ implementations these - should only be defined if explicitly requested. */ -#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS -#ifndef UINT32_C - -/* Signed. */ -# define INT8_C(c) c -# define INT16_C(c) c -# define INT32_C(c) c -# ifdef _HAVE_LONGLONG_UINT64_T -# define INT64_C(c) c ## L -# else -# define INT64_C(c) c ## LL -# endif - -/* Unsigned. */ -# define UINT8_C(c) c ## U -# define UINT16_C(c) c ## U -# define UINT32_C(c) c ## U -# ifdef _HAVE_LONGLONG_UINT64_T -# define UINT64_C(c) c ## UL -# else -# define UINT64_C(c) c ## ULL -# endif - -/* Maximal type. */ -# ifdef _HAVE_LONGLONG_UINT64_T -# define INTMAX_C(c) c ## L -# define UINTMAX_C(c) c ## UL -# else -# define INTMAX_C(c) c ## LL -# define UINTMAX_C(c) c ## ULL -# endif - - /* literalnumbers */ -#endif -#endif - -/* These limits are merily those of a two complement byte-oriented system */ - -/* Minimum of signed integral types. */ -# define INT8_MIN (-128) -# define INT16_MIN (-32767-1) -# define INT32_MIN (-2147483647-1) -# define INT64_MIN (-__INT64_C(9223372036854775807)-1) -/* Maximum of signed integral types. */ -# define INT8_MAX (127) -# define INT16_MAX (32767) -# define INT32_MAX (2147483647) -# define INT64_MAX (__INT64_C(9223372036854775807)) - -/* Maximum of unsigned integral types. */ -# define UINT8_MAX (255) -# define UINT16_MAX (65535) -# define UINT32_MAX (4294967295U) -# define UINT64_MAX (__UINT64_C(18446744073709551615)) - -/* Minimum of signed integral types having a minimum size. */ -# define INT_LEAST8_MIN INT8_MIN -# define INT_LEAST16_MIN INT16_MIN -# define INT_LEAST32_MIN INT32_MIN -# define INT_LEAST64_MIN INT64_MIN -/* Maximum of signed integral types having a minimum size. */ -# define INT_LEAST8_MAX INT8_MAX -# define INT_LEAST16_MAX INT16_MAX -# define INT_LEAST32_MAX INT32_MAX -# define INT_LEAST64_MAX INT64_MAX - -/* Maximum of unsigned integral types having a minimum size. */ -# define UINT_LEAST8_MAX UINT8_MAX -# define UINT_LEAST16_MAX UINT16_MAX -# define UINT_LEAST32_MAX UINT32_MAX -# define UINT_LEAST64_MAX UINT64_MAX - - /* shortcircuit*/ -#endif - /* once */ -#endif -#endif -STDINT_EOF -fi - if cmp -s $ac_stdint_h $ac_stdint 2>/dev/null; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_stdint_h is unchanged" >&5 -$as_echo "$as_me: $ac_stdint_h is unchanged" >&6;} - else - ac_dir=`$as_dirname -- "$ac_stdint_h" || -$as_expr X"$ac_stdint_h" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_stdint_h" : 'X\(//\)[^/]' \| \ - X"$ac_stdint_h" : 'X\(//\)$' \| \ - X"$ac_stdint_h" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_stdint_h" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - rm -f $ac_stdint_h - mv $ac_stdint $ac_stdint_h - fi - ;; - "tools/sane-config":F) chmod a+x tools/sane-config ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - - -echo "-> Variables used for compilation/linking:" -echo AM_CPPFLAGS=\"${AM_CPPFLAGS}\" -echo AM_CFLAGS=\"${AM_CFLAGS}\" -echo AM_LDFLAGS=\"${AM_LDFLAGS}\" -echo LIBS=\"${LIBS}\" -echo "-> Installation directories:" -echo "Configuration: `eval eval echo ${sysconfdir}`" -echo "Libraries: `eval eval echo ${libdir}`" -echo "Binaries: `eval eval echo ${bindir}` and `eval eval echo ${sbindir}`" -echo "Manpages: `eval eval echo ${mandir}`" -echo "Documentation: `eval eval echo ${docdir}`" -if eval "test x$INSTALL_LOCKPATH = xinstall-lockpath" ; then - echo "Lockfiles: `eval eval echo ${locksanedir}`" -else - echo "Lockfiles: Feature is disabled!" -fi -echo "-> Network parameters:" -if test "${SANED}" = "saned" ; then - echo "Build saned: yes" -else - echo "Build saned: no" -fi -echo "IPv6 support: `eval eval echo ${ipv6}`" -echo "Avahi support: `eval eval echo ${enable_avahi}`" -echo "SNMP support: `eval eval echo ${with_snmp}`" -echo "-> The following backends will be built:" -for backend in ${BACKENDS} ; do - echo $ECHO_N "${backend} " -done -echo -echo -echo "-> The following preload backends will be built:" -for backend in ${PRELOADABLE_BACKENDS} ; do - echo $ECHO_N "${backend} " -done -echo - -if test "$SANE_CONFIG_PATH" != "no" ; then - SANE_INSTALLED_VERSION=`$SANE_CONFIG_PATH --version` - SANE_INSTALLED_PREFIX=`$SANE_CONFIG_PATH --prefix` - if test "$SANE_INSTALLED_PREFIX" != "$prefix" ; then - echo "*** WARNING: SANE is already installed (version $SANE_INSTALLED_VERSION). The old" - echo "*** installation is at $SANE_INSTALLED_PREFIX while SANE will now be installed" - echo "*** at $prefix. It is recommended to uninstall the old SANE version" - echo "*** before installing the new one to avoid problems." - fi -else - if test "$LIBSANE_EXISTS" = "yes" ; then - echo "*** Warning: An old version of SANE was detected but the sane-config program" - echo "*** couldn't be found. If you encounter any problems with SANE remove the old" - echo "*** SANE files and reinstall this version." - fi -fi -if eval "test x${sysconfdir} = x/usr/etc" ; then - echo "*** WARNING: Configuration files are stored in /usr/etc. If this is not" - echo "*** intended, use --sysconfdir to set another path (e.g. "/etc")." -fi -if test "$SELECTED_BACKENDS" != "" ; then - echo "*** Warning: Local backends have been disabled. This means that scanners" - echo "*** connected to your local computer won't be supported. Only a network" - echo "*** connection to a remote host is possible." -fi -if test "$with_usb" != "no" && test "$have_usb" != "yes" ; then - echo "*** Warning: sane-backends will be built without USB support. There may" - echo "*** be valid reasons to do so, e.g. if you don't use USB scanners or on" - echo "*** platforms without USB support but generally this means that you" - echo "*** can't use USB devices with SANE. The most probable cause is that" - if test "${ac_cv_header_usb_h}" != "yes"; then - echo "*** the libusb header file usb.h is not installed. If you use Linux" - echo "*** you may need a package called 'libusb-dev', 'libusb-devel' or similar." - else - echo "*** libusb is not installed at all or is too old. See README." - fi -fi - -echo "****************************************************************" -echo "* Please be sure to read file PROBLEMS in this directory *" -echo "* BEFORE running any of the SANE applications. Some devices *" -echo "* may be damaged by improper operation, so please do heed this *" -echo "* advice. *" -echo "****************************************************************" diff --git a/configure.ac b/configure.ac index fc6e8a2..376f290 100644 --- a/configure.ac +++ b/configure.ac @@ -5,13 +5,13 @@ dnl Set up autoconf and automake dnl When preparing a release, modify the numeric version components dnl and remove the git suffix. dnl ****************************************************************** -AC_INIT([sane-backends],[1.0.27], - [sane-devel@lists.alioth.debian.org]) -AC_PREREQ(2.69) dnl minimum autoconf version required +AC_INIT([sane-backends],m4_esyscmd_s([git describe --dirty]), + [sane-devel@alioth-lists.debian.net]) +AC_PREREQ([2.69]) dnl minimum autoconf version required AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([include/sane/config.h]) -AM_INIT_AUTOMAKE([1.11.6 subdir-objects -Wall]) +AM_INIT_AUTOMAKE([1.15 subdir-objects -Wall]) AM_SILENT_RULES dnl Turn off feature were automake will automatically run autoreconf. dnl This is because we used to check in generated files into CVS which @@ -27,7 +27,7 @@ AS_IF([test x = "x`echo $VERSION | sed 's/[[.0-9]]//g'`"], [is_release=no]) V_MAJOR=`echo $VERSION | $AWK -F. '{print $1}'` V_MINOR=`echo $VERSION | $AWK -F. '{print $2}'` -V_REV=`echo $VERSION | $AWK -F. '{print $3}' | sed 's/[[^0-9]]//g'`; +V_REV=`echo $VERSION | $AWK -F. '{print $3}' | sed 's/^\([[0-9]]*\).*/\1/'`; AC_DEFINE_UNQUOTED(SANE_DLL_V_MAJOR, $V_MAJOR, [SANE DLL major number]) AC_DEFINE_UNQUOTED(SANE_DLL_V_MINOR, $V_MINOR, [SANE DLL minor number]) @@ -40,6 +40,7 @@ dnl ****************************************************************** dnl Set up the compiler and linker dnl ****************************************************************** AC_PROG_CC +AC_PROG_CXX AM_PROG_CC_C_O sane_save_CC=$CC AC_PROG_CC_C99 dnl enables extensions to ISO C99 :-( @@ -58,13 +59,13 @@ AC_USE_SYSTEM_EXTENSIONS dnl call before running the C compiler AM_PROG_AR LT_INIT([disable-static win32-dll]) -LT_PREREQ([2.4.2]) +LT_PREREQ([2.4.6]) dnl ***************************************************************** dnl Set up I18N/L10N support dnl ***************************************************************** AM_GNU_GETTEXT([external]) -AM_GNU_GETTEXT_VERSION([0.18.1]) +AM_GNU_GETTEXT_VERSION([0.19.8]) dnl *********************************************************************** dnl Checks for programs. @@ -80,6 +81,7 @@ dnl *********************************************************************** dnl set compiler/linker flags dnl *********************************************************************** SANE_SET_AM_CFLAGS([$is_release]) +AX_CXX_COMPILE_STDCXX_11([noext], [optional]) SANE_SET_AM_LDFLAGS dnl *********************************************************************** @@ -192,7 +194,7 @@ dnl Checks for header files. dnl *********************************************************************** AC_HEADER_STDC AC_CHECK_HEADERS(fcntl.h unistd.h libc.h sys/dsreq.h sys/select.h \ - sys/time.h sys/shm.h sys/ipc.h sys/signal.h sys/scanio.h os2.h \ + sys/time.h sys/shm.h sys/ipc.h sys/scanio.h os2.h \ sys/socket.h sys/io.h sys/hw.h sys/types.h linux/ppdev.h \ dev/ppbus/ppi.h machine/cpufunc.h sys/sem.h sys/poll.h \ windows.h be/kernel/OS.h limits.h sys/ioctl.h asm/types.h\ @@ -273,14 +275,14 @@ dnl *********************************************************************** dnl Functions for which we provide an implementation if missing AC_CONFIG_LIBOBJ_DIR([lib]) AC_FUNC_ALLOCA -AC_REPLACE_FUNCS([getenv inet_ntop inet_pton isfdtype sigprocmask \ +AC_REPLACE_FUNCS([getenv inet_ntop inet_pton sigprocmask \ sleep snprintf strcasestr strdup strndup strsep syslog usleep \ vsyslog]) AS_IF([test x != x$ALLOCA], [LTALLOCA=`echo "$ALLOCA" | sed 's/\.o$//; s/\.obj$//'`.lo]) AC_SUBST(LTALLOCA) -dnl Define SOCKET_LIB, NSL_LIB, BIND_LIB, and RESOLV_LIB when required +dnl Define SOCKET_LIB, NSL_LIB, BIND_LIB, and RESOLV_LIB when required dnl for functions we use. AC_CHECK_FUNC(gethostbyaddr,, [AC_CHECK_LIB(bind, gethostbyaddr, BIND_LIB="-lbind")]) AC_CHECK_FUNC(gethostbyaddr,, [AC_CHECK_LIB(nsl, gethostbyaddr, NSL_LIB="-lnsl")]) @@ -381,9 +383,9 @@ AC_ARG_WITH(usb, AS_IF([test xno != "x$with_usb"], [have_usb=no AS_CASE(x$host_os, dnl odd-ball operating systems first - [beos*], + [xbeos*], [AC_CHECK_HEADER(be/drivers/USB_scanner.h, [have_usb=yes])], - [os2*], + [xos2*], [AC_CHECK_HEADER(usbcalls.h, [AC_CHECK_LIB(usbcall, UsbQueryNumberDevices, [USB_LIBS="-lusbcall" @@ -439,7 +441,7 @@ dnl conditional scans for more specific only as needed. # Unset VERSION during the SCSI header check sed "s!^#define VERSION .*!/* & */!" confdefs.h > confdefs.h.tmp mv confdefs.h.tmp confdefs.h - + AC_CHECK_HEADERS(IOKit/scsi/SCSITaskLib.h IOKit/cdb/IOSCSILib.h \ IOKit/scsi/SCSICommandOperationCodes.h \ IOKit/scsi-commands/SCSICommandOperationCodes.h scsi.h sys/scsi.h \ @@ -506,7 +508,7 @@ fi # Multiple platforms can set SCSI_LIBS so do substitution at end. AC_SUBST(SCSI_LIBS) -AC_ARG_ENABLE(scsibuffersize, +AC_ARG_ENABLE(scsibuffersize, AS_HELP_STRING([--enable-scsibuffersize=N], [specify the default size in bytes of the buffer for SCSI commands @<:@default=131072@:>@]), @@ -597,9 +599,9 @@ ALL_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e \ kvs40xx leo lexmark ma1509 magicolor \ matsushita microtek microtek2 mustek mustek_pp \ mustek_usb mustek_usb2 nec net niash pie pieusb pint \ - pixma plustek plustek_pp qcam ricoh rts8891 s9036 \ + pixma plustek plustek_pp qcam ricoh ricoh2 rts8891 s9036 \ sceptre sharp sm3600 sm3840 snapscan sp15c st400 \ - stv680 tamarack teco1 teco2 teco3 test u12 umax + stv680 tamarack teco1 teco2 teco3 test u12 umax umax_pp umax1220u v4l xerox_mfp p5" # If user specifies backends manually then cause configure @@ -608,7 +610,7 @@ ALL_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e \ user_selected_backends="yes" AC_ARG_VAR(BACKENDS, [list of backends to compile]) -if eval "test x$enable_local_backends = xno"; then +if eval "test x$enable_local_backends = xno"; then BACKENDS="net" else if test "${BACKENDS}" != "" ; then @@ -627,7 +629,7 @@ fi AM_CONDITIONAL(HAVE_JPEG, test x$sane_cv_use_libjpeg = xyes) AC_SUBST(SANEI_SANEI_JPEG_LO) -AC_ARG_ENABLE(pnm-backend, +AC_ARG_ENABLE(pnm-backend, AS_HELP_STRING([--enable-pnm-backend], [enable the pnm backend for testing frontends (possible security risk, see PROBLEMS file)]), [FILTERED_BACKENDS="${FILTERED_BACKENDS} pnm"], @@ -662,7 +664,7 @@ if test "${enable_preload}" = "yes"; then # are in automatic mode then remove backend from list instead. user_selected_backends="yes" - if eval "test x$enable_local_backends = xno"; then + if eval "test x$enable_local_backends = xno"; then PRELOADABLE_BACKENDS="net" else if test "${PRELOADABLE_BACKENDS}" != "" ; then @@ -698,6 +700,8 @@ for backend in ${PRELOADABLE_BACKENDS} ; do fi PRELOADABLE_BACKENDS_ENABLED="${PRELOADABLE_BACKENDS_ENABLED} lib${backend}.la" done +AM_CONDITIONAL([preloadable_backends_enabled], + [test x != "x$PRELOADABLE_BACKENDS_ENABLED"]) AC_SUBST(PRELOADABLE_BACKENDS) AC_SUBST(PRELOADABLE_BACKENDS_ENABLED) @@ -714,7 +718,7 @@ esac AC_ARG_ENABLE(parport-directio, AS_HELP_STRING([--enable-parport-directio], - [enable direct hardware access to the parallel port, so + [enable direct hardware access to the parallel port, so frontends will require special permission level]), [ if eval "test x$enable_parport_directio = xyes"; then @@ -776,11 +780,15 @@ dnl *********************************************************************** AC_SUBST(AM_CPPFLAGS) AC_SUBST(AM_CFLAGS) +AC_SUBST(AM_CXXFLAGS) AC_SUBST(AM_LDFLAGS) AC_CONFIG_FILES([Makefile lib/Makefile sanei/Makefile frontend/Makefile \ japi/Makefile backend/Makefile include/Makefile doc/Makefile \ - po/Makefile.in testsuite/Makefile testsuite/sanei/Makefile testsuite/tools/Makefile \ + po/Makefile.in testsuite/Makefile \ + testsuite/backend/Makefile \ + testsuite/backend/genesys/Makefile \ + testsuite/sanei/Makefile testsuite/tools/Makefile \ tools/Makefile doc/doxygen-sanei.conf doc/doxygen-genesys.conf]) AC_CONFIG_FILES([tools/sane-config], [chmod a+x tools/sane-config]) AC_CONFIG_FILES([tools/sane-backends.pc]) @@ -793,6 +801,7 @@ dnl *********************************************************************** echo "-> Variables used for compilation/linking:" echo AM_CPPFLAGS=\"${AM_CPPFLAGS}\" echo AM_CFLAGS=\"${AM_CFLAGS}\" +echo AM_CXXFLAGS=\"${AM_CXXFLAGS}\" echo AM_LDFLAGS=\"${AM_LDFLAGS}\" echo LIBS=\"${LIBS}\" echo "-> Installation directories:" @@ -817,13 +826,13 @@ echo "Avahi support: `eval eval echo ${enable_avahi}`" echo "SNMP support: `eval eval echo ${with_snmp}`" echo "-> The following backends will be built:" for backend in ${BACKENDS} ; do - echo $ECHO_N "${backend} " + echo $ECHO_N "${backend} " done -echo +echo echo echo "-> The following preload backends will be built:" for backend in ${PRELOADABLE_BACKENDS} ; do - echo $ECHO_N "${backend} " + echo $ECHO_N "${backend} " done echo diff --git a/depcomp b/depcomp deleted file mode 100755 index 4ebd5b3..0000000 --- a/depcomp +++ /dev/null @@ -1,791 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2013-05-30.07; # UTC - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. - -# 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, 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 . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by 'PROGRAMS ARGS'. - object Object file output by 'PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputting dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -# Get the directory component of the given path, and save it in the -# global variables '$dir'. Note that this directory component will -# be either empty or ending with a '/' character. This is deliberate. -set_dir_from () -{ - case $1 in - */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; - *) dir=;; - esac -} - -# Get the suffix-stripped basename of the given path, and save it the -# global variable '$base'. -set_base_from () -{ - base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` -} - -# If no dependency file was actually created by the compiler invocation, -# we still have to create a dummy depfile, to avoid errors with the -# Makefile "include basename.Plo" scheme. -make_dummy_depfile () -{ - echo "#dummy" > "$depfile" -} - -# Factor out some common post-processing of the generated depfile. -# Requires the auxiliary global variable '$tmpdepfile' to be set. -aix_post_process_depfile () -{ - # If the compiler actually managed to produce a dependency file, - # post-process it. - if test -f "$tmpdepfile"; then - # Each line is of the form 'foo.o: dependency.h'. - # Do two passes, one to just change these to - # $object: dependency.h - # and one to simply output - # dependency.h: - # which is needed to avoid the deleted-header problem. - { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" - sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" - } > "$depfile" - rm -f "$tmpdepfile" - else - make_dummy_depfile - fi -} - -# A tabulation character. -tab=' ' -# A newline character. -nl=' -' -# Character ranges might be problematic outside the C locale. -# These definitions help. -upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ -lower=abcdefghijklmnopqrstuvwxyz -digits=0123456789 -alpha=${upper}${lower} - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Avoid interferences from the environment. -gccflag= dashmflag= - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvisualcpp -fi - -if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 -fi - -if test "$depmode" = xlc; then - # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. - gccflag=-qmakedep=gcc,-MF - depmode=gcc -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. -## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. -## (see the conditional assignment to $gccflag above). -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). Also, it might not be -## supported by the other compilers which use the 'gcc' depmode. -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The second -e expression handles DOS-style file names with drive - # letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the "deleted header file" problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. -## Some versions of gcc put a space before the ':'. On the theory -## that the space means something, we add a space to the output as -## well. hp depmode also adds that space, but also prefixes the VPATH -## to the object. Take care to not repeat it in the output. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like '#:fec' to the end of the - # dependency line. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ - | tr "$nl" ' ' >> "$depfile" - echo >> "$depfile" - # The second pass generates a dummy entry for each header file. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" - ;; - -xlc) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts '$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - aix_post_process_depfile - ;; - -tcc) - # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 - # FIXME: That version still under development at the moment of writing. - # Make that this statement remains true also for stable, released - # versions. - # It will wrap lines (doesn't matter whether long or short) with a - # trailing '\', as in: - # - # foo.o : \ - # foo.c \ - # foo.h \ - # - # It will put a trailing '\' even on the last line, and will use leading - # spaces rather than leading tabs (at least since its commit 0394caf7 - # "Emit spaces for -MD"). - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. - # We have to change lines of the first kind to '$object: \'. - sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" - # And for each line of the second kind, we have to emit a 'dep.h:' - # dummy dependency, to avoid the deleted-header problem. - sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" - rm -f "$tmpdepfile" - ;; - -## The order of this option in the case statement is important, since the -## shell code in configure will try each of these formats in the order -## listed in this file. A plain '-MD' option would be understood by many -## compilers, so we must ensure this comes after the gcc and icc options. -pgcc) - # Portland's C compiler understands '-MD'. - # Will always output deps to 'file.d' where file is the root name of the - # source file under compilation, even if file resides in a subdirectory. - # The object file name does not affect the name of the '.d' file. - # pgcc 10.2 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using '\' : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - set_dir_from "$object" - # Use the source, not the object, to determine the base name, since - # that's sadly what pgcc will do too. - set_base_from "$source" - tmpdepfile=$base.d - - # For projects that build the same source file twice into different object - # files, the pgcc approach of using the *source* file root name can cause - # problems in parallel builds. Use a locking strategy to avoid stomping on - # the same $tmpdepfile. - lockdir=$base.d-lock - trap " - echo '$0: caught signal, cleaning up...' >&2 - rmdir '$lockdir' - exit 1 - " 1 2 13 15 - numtries=100 - i=$numtries - while test $i -gt 0; do - # mkdir is a portable test-and-set. - if mkdir "$lockdir" 2>/dev/null; then - # This process acquired the lock. - "$@" -MD - stat=$? - # Release the lock. - rmdir "$lockdir" - break - else - # If the lock is being held by a different process, wait - # until the winning process is done or we timeout. - while test -d "$lockdir" && test $i -gt 0; do - sleep 1 - i=`expr $i - 1` - done - fi - i=`expr $i - 1` - done - trap - 1 2 13 15 - if test $i -le 0; then - echo "$0: failed to acquire lock after $numtries attempts" >&2 - echo "$0: check lockdir '$lockdir'" >&2 - exit 1 - fi - - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" - # Add 'dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in 'foo.d' instead, so we check for that too. - # Subdirectories are respected. - set_dir_from "$object" - set_base_from "$object" - - if test "$libtool" = yes; then - # Libtool generates 2 separate objects for the 2 libraries. These - # two compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir$base.o.d # libtool 1.5 - tmpdepfile2=$dir.libs/$base.o.d # Likewise. - tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - # Same post-processing that is required for AIX mode. - aix_post_process_depfile - ;; - -msvc7) - if test "$libtool" = yes; then - showIncludes=-Wc,-showIncludes - else - showIncludes=-showIncludes - fi - "$@" $showIncludes > "$tmpdepfile" - stat=$? - grep -v '^Note: including file: ' "$tmpdepfile" - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The first sed program below extracts the file names and escapes - # backslashes for cygpath. The second sed program outputs the file - # name when reading, but also accumulates all include files in the - # hold buffer in order to output them again at the end. This only - # works with sed implementations that can handle large buffers. - sed < "$tmpdepfile" -n ' -/^Note: including file: *\(.*\)/ { - s//\1/ - s/\\/\\\\/g - p -}' | $cygpath_u | sort -u | sed -n ' -s/ /\\ /g -s/\(.*\)/'"$tab"'\1 \\/p -s/.\(.*\) \\/\1:/ -H -$ { - s/.*/'"$tab"'/ - G - p -}' >> "$depfile" - echo >> "$depfile" # make sure the fragment doesn't end with a backslash - rm -f "$tmpdepfile" - ;; - -msvc7msys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for ':' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. - "$@" $dashmflag | - sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this sed invocation - # correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix=`echo "$object" | sed 's/^.*\././'` - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - # makedepend may prepend the VPATH from the source file name to the object. - # No need to regex-escape $object, excess matching of '.' is harmless. - sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process the last invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed '1,2d' "$tmpdepfile" \ - | tr ' ' "$nl" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E \ - | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - | sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" - echo "$tab" >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 0000000..076d975 --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1,25 @@ +*.1 +*.5 +*.7 +*.8 +*.eps +*.html +*.pdf +descriptions-external.db +descriptions.db +doxygen-genesys.conf +doxygen-sanei.conf +doxygen_sqlite3.db +genesys-html +sane.aux +sane.cb +sane.dvi +sane.idx +sane.ilg +sane.ind +sane.lof +sane.log +sane.lot +sane.ps +sane.toc +sanei-html diff --git a/doc/Makefile.am b/doc/Makefile.am index 162d01a..1651ed9 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -24,7 +24,7 @@ BACKEND_5MANS = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 \ sane-nec.5 sane-net.5 sane-pie.5 sane-pieusb.5 sane-pint.5 sane-pnm.5 \ sane-umax.5 sane-qcam.5 sane-scsi.5 sane-artec.5 sane-kodak.5 sane-kodakaio.5 \ sane-fujitsu.5 sane-sharp.5 sane-s9036.5 sane-tamarack.5 \ - sane-ricoh.5 sane-avision.5 sane-plustek.5 sane-st400.5 \ + sane-ricoh.5 sane-ricoh.5 sane-avision.5 sane-plustek.5 sane-st400.5 \ sane-mustek_pp.5 sane-dc210.5 sane-v4l.5 sane-snapscan.5 \ sane-canon.5 sane-coolscan.5 sane-bh.5 sane-dc240.5 \ sane-umax_pp.5 sane-umax1220u.5 sane-sm3600.5 sane-usb.5 \ @@ -47,7 +47,7 @@ EXTRA_DIST += sane-abaton.man sane-agfafocus.man sane-apple.man sane-as6e.man \ sane-pie.man sane-pieusb.man sane-pint.man sane-pnm.man sane-umax.man \ sane-qcam.man sane-scsi.man sane-artec.man sane-fujitsu.man \ sane-sharp.man sane-s9036.man sane-tamarack.man sane-kodak.man sane-kodakaio.man\ - sane-ricoh.man sane-avision.man sane-plustek.man sane-st400.man \ + sane-ricoh.man sane-ricoh2.man sane-avision.man sane-plustek.man sane-st400.man \ sane-mustek_pp.man sane-dc210.man sane-v4l.man sane-snapscan.man \ sane-canon.man sane-coolscan.man sane-bh.man sane-dc240.man \ sane-umax_pp.man sane-umax1220u.man sane-sm3600.man sane-usb.man \ @@ -174,7 +174,8 @@ DESC_FILES = descriptions/abaton.desc descriptions/agfafocus.desc \ descriptions/niash.desc descriptions/pie.desc descriptions/pieusb.desc descriptions/pint.desc \ descriptions/p5.desc descriptions/pixma.desc descriptions/plustek.desc \ descriptions/plustek_pp.desc descriptions/pnm.desc descriptions/qcam.desc \ - descriptions/ricoh.desc descriptions/rts8891.desc descriptions/s9036.desc \ + descriptions/ricoh.desc descriptions/ricoh2.desc \ + descriptions/rts8891.desc descriptions/s9036.desc \ descriptions/sceptre.desc descriptions/sharp.desc descriptions/sm3600.desc \ descriptions/sm3840.desc descriptions/snapscan.desc descriptions/sp15c.desc \ descriptions/st400.desc descriptions/stv680.desc descriptions/tamarack.desc \ @@ -183,12 +184,11 @@ DESC_FILES = descriptions/abaton.desc descriptions/agfafocus.desc \ descriptions/umax1220u.desc descriptions/umax.desc \ descriptions/umax_pp.desc descriptions/unsupported.desc \ descriptions/v4l.desc descriptions/xerox_mfp.desc -EXTRA_DIST += $(DESC_FILES) descriptions/template.desc. +EXTRA_DIST += $(DESC_FILES) descriptions/template.desc. DESC_EXT_FILES = descriptions-external/brother2.desc \ descriptions-external/brother.desc \ descriptions-external/brother-mfc4600.desc \ - descriptions-external/canon_mfp.desc \ descriptions-external/cs3200f.desc \ descriptions-external/epkowa.desc \ descriptions-external/geniusvp2.desc \ diff --git a/doc/Makefile.in b/doc/Makefile.in deleted file mode 100644 index d678cf1..0000000 --- a/doc/Makefile.in +++ /dev/null @@ -1,1062 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@WITH_API_PS_TRUE@am__append_1 = sane.ps -@WITH_API_PDF_TRUE@am__append_2 = sane.pdf -@WITH_API_HTML_TRUE@am__append_3 = sane-html -subdir = doc -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/mkinstalldirs $(srcdir)/doxygen-sanei.conf.in \ - $(srcdir)/doxygen-genesys.conf.in $(dist_doc_DATA) \ - $(nobase_dist_doc_DATA) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/sane/config.h -CONFIG_CLEAN_FILES = doxygen-sanei.conf doxygen-genesys.conf -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man7dir)" \ - "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(docdir)" \ - "$(DESTDIR)$(docdir)" "$(DESTDIR)$(docdir)" -man7dir = $(mandir)/man7 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man1_MANS) $(man7_MANS) $(man8_MANS) -DATA = $(dist_doc_DATA) $(doc_DATA) $(nobase_dist_doc_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_CPPFLAGS = @AM_CPPFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AVAHI_CFLAGS = @AVAHI_CFLAGS@ -AVAHI_LIBS = @AVAHI_LIBS@ -AWK = @AWK@ -BACKENDS = @BACKENDS@ -BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ -BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLH = @DLH@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVIPS = @DVIPS@ -DYNAMIC_FLAG = @DYNAMIC_FLAG@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FIG2DEV = @FIG2DEV@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ -GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ -GPHOTO2_LIBS = @GPHOTO2_LIBS@ -GREP = @GREP@ -GS = @GS@ -HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -JPEG_LIBS = @JPEG_LIBS@ -LATEX = @LATEX@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOCKPATH_GROUP = @LOCKPATH_GROUP@ -LTALLOCA = @LTALLOCA@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINDEX = @MAKEINDEX@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_LIBS = @PNG_LIBS@ -POSUB = @POSUB@ -PPMTOGIF = @PPMTOGIF@ -PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ -PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RESMGR_LIBS = @RESMGR_LIBS@ -SANEI_SANEI_JPEG_LO = @SANEI_SANEI_JPEG_LO@ -SANE_CONFIG_PATH = @SANE_CONFIG_PATH@ -SCSI_LIBS = @SCSI_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SNMP_CFLAGS = @SNMP_CFLAGS@ -SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ -SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ -STRICT_LDFLAGS = @STRICT_LDFLAGS@ -STRIP = @STRIP@ -SYSLOG_LIBS = @SYSLOG_LIBS@ -SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ -SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_CFLAGS = @USB_CFLAGS@ -USB_LIBS = @USB_LIBS@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -configdir = @configdir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -effective_target = @effective_target@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -locksanedir = @locksanedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man1_MANS = scanimage.1 sane-config.1 sane-find-scanner.1 gamma4scanimage.1 -EXTRA_DIST = scanimage.man sane-config.man sane-find-scanner.man \ - gamma4scanimage.man sane-abaton.man sane-agfafocus.man \ - sane-apple.man sane-as6e.man sane-dll.man sane-dc25.man \ - sane-dmc.man sane-epson.man sane-epson2.man sane-epsonds.man \ - sane-hp.man sane-gphoto2.man sane-leo.man sane-lexmark.man \ - sane-matsushita.man sane-microtek.man sane-microtek2.man \ - sane-mustek.man sane-nec.man sane-net.man sane-pie.man \ - sane-pieusb.man sane-pint.man sane-pnm.man sane-umax.man \ - sane-qcam.man sane-scsi.man sane-artec.man sane-fujitsu.man \ - sane-sharp.man sane-s9036.man sane-tamarack.man sane-kodak.man \ - sane-kodakaio.man sane-ricoh.man sane-avision.man \ - sane-plustek.man sane-st400.man sane-mustek_pp.man \ - sane-dc210.man sane-v4l.man sane-snapscan.man sane-canon.man \ - sane-coolscan.man sane-bh.man sane-dc240.man sane-umax_pp.man \ - sane-umax1220u.man sane-sm3600.man sane-usb.man \ - sane-mustek_usb.man sane-sceptre.man sane-canon_pp.man \ - sane-canon630u.man sane-teco1.man sane-teco2.man \ - sane-teco3.man sane-test.man sane-sp15c.man sane-coolscan2.man \ - sane-hpsj5s.man sane-gt68xx.man sane-artec_eplus48u.man \ - sane-ma1509.man sane-ibm.man sane-hp5400.man \ - sane-plustek_pp.man sane-u12.man sane-niash.man \ - sane-sm3840.man sane-genesys.man sane-hp4200.man \ - sane-mustek_usb2.man sane-hp3500.man sane-pixma.man \ - sane-stv680.man sane-hp5590.man sane-hpljm1005.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.man saned.man descriptions.txt \ - releases.txt sane-logo2.jpg sane-logo.png sane.png \ - $(DESC_FILES) descriptions/template.desc. $(DESC_EXT_FILES) \ - descriptions-external/template.desc. $(API_SPEC_INPUTS) \ - $(API_SPEC_TEX_FIGS) $(API_SPEC_HTML_ICONS) - -# Create a list of man pages for only backends that are compiled in so -# that is all that gets installed. Also, build a complete list of all -# backend man pages. This allows a user to optionally generate all -# man pages in HTML form for things like posting to a web site. -# -# Backend man pages bypass standard automake man5_MANS because there is not -# a man page for every supported backend. We could get rid of -# custom install/uninstall if we required man pages for every backend. -BACKEND_5MANS = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 \ - sane-dll.5 sane-dc25.5 sane-dmc.5 sane-epson.5 sane-epson2.5 sane-epsonds.5 \ - sane-hp.5 sane-gphoto2.5 sane-leo.5 sane-lexmark.5 \ - sane-matsushita.5 sane-microtek.5 sane-microtek2.5 sane-mustek.5 \ - sane-nec.5 sane-net.5 sane-pie.5 sane-pieusb.5 sane-pint.5 sane-pnm.5 \ - sane-umax.5 sane-qcam.5 sane-scsi.5 sane-artec.5 sane-kodak.5 sane-kodakaio.5 \ - sane-fujitsu.5 sane-sharp.5 sane-s9036.5 sane-tamarack.5 \ - sane-ricoh.5 sane-avision.5 sane-plustek.5 sane-st400.5 \ - sane-mustek_pp.5 sane-dc210.5 sane-v4l.5 sane-snapscan.5 \ - sane-canon.5 sane-coolscan.5 sane-bh.5 sane-dc240.5 \ - sane-umax_pp.5 sane-umax1220u.5 sane-sm3600.5 sane-usb.5 \ - sane-mustek_usb.5 sane-sceptre.5 sane-canon_pp.5 sane-canon630u.5 \ - sane-teco1.5 sane-teco2.5 sane-teco3.5 sane-test.5 sane-sp15c.5 \ - sane-coolscan2.5 sane-hpsj5s.5 sane-gt68xx.5 sane-artec_eplus48u.5 \ - sane-ma1509.5 sane-ibm.5 sane-hp5400.5 sane-plustek_pp.5 sane-u12.5 \ - sane-niash.5 sane-sm3840.5 sane-genesys.5 sane-hp4200.5 \ - sane-mustek_usb2.5 sane-hp3500.5 sane-pixma.5 sane-stv680.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 - -man7_MANS = sane.7 -man8_MANS = saned.8 -MANPAGES = $(man1_MANS) $(BACKEND_5MANS) $(man7_MANS) $(man8_MANS) -@CROSS_COMPILING_FALSE@HTML_PAGES = sane-backends.html sane-backends-external.html \ -@CROSS_COMPILING_FALSE@ sane-mfgs.html sane-mfgs-external.html - -@CROSS_COMPILING_TRUE@HTML_PAGES = -doc_DATA = $(HTML_PAGES) $(API_SPECS) -dist_doc_DATA = backend-writing.txt -nobase_dist_doc_DATA = $(BEDOCS) -MAN2HTML = nroff -c -man |\ - man2html -compress -topm 6 -botm 6 -nodepage -title $${page} \ - -cgiurl '$$title.$$section.html'|\ - sed 's,,

,' - -beman5dir = $(mandir)/man5 -BEDOCS = canon/canon.changes canon/canon.install2700F.txt \ - gt68xx/gt68xx.CHANGES gt68xx/gt68xx.TODO leo/leo.txt \ - matsushita/matsushita.txt mustek/mustek.CHANGES \ - mustek_usb/mustek_usb.CHANGES mustek_usb/mustek_usb.TODO \ - mustek_usb2/mustek_usb2.CHANGES mustek_usb2/mustek_usb2.TODO \ - niash/niash.TODO plustek/FAQ plustek/MakeModule.sh \ - plustek/Makefile.kernel24 plustek/Makefile.kernel26 \ - plustek/Plustek-PARPORT-TODO.txt \ - plustek/Plustek-PARPORT.changes plustek/Plustek-PARPORT.txt \ - plustek/Plustek-USB-TODO.txt plustek/Plustek-USB.changes \ - plustek/Plustek-USB.txt sceptre/s1200.txt teco/teco1.txt \ - teco/teco2.txt teco/teco3.txt u12/U12.changes u12/U12.todo \ - umax/negative-types.txt umax/sane-logo.jpg \ - umax/sane-umax-advanced-options-doc.html \ - umax/sane-umax-advanced.jpg umax/sane-umax-astra-doc.html \ - umax/sane-umax-config-doc.html umax/sane-umax-doc.html \ - umax/sane-umax-histogram.jpg umax/sane-umax-mirage-doc.html \ - umax/sane-umax-not-listed-doc.html \ - umax/sane-umax-others-doc.html umax/sane-umax-parport-doc.html \ - umax/sane-umax-powerlook-doc.html \ - umax/sane-umax-scanner-clones-doc.html \ - umax/sane-umax-speed-doc.html \ - umax/sane-umax-standard-options-doc.html \ - umax/sane-umax-standard.jpg umax/sane-umax-text.jpg \ - umax/sane-umax-text2.jpg umax/sane-umax-text4.jpg \ - umax/sane-umax-uc-doc.html umax/sane-umax-vista-doc.html \ - umax/sane-umax.jpg umax/umax.BUGS umax/umax.CHANGES \ - umax/umax.FAQ umax/umax.TODO -DESC_FILES = descriptions/abaton.desc descriptions/agfafocus.desc \ - descriptions/apple.desc descriptions/artec.desc \ - descriptions/artec_eplus48u.desc descriptions/as6e.desc \ - descriptions/avision.desc descriptions/bh.desc descriptions/canon630u.desc \ - descriptions/canon.desc descriptions/canon_dr.desc \ - descriptions/canon_pp.desc descriptions/cardscan.desc \ - descriptions/coolscan2.desc descriptions/coolscan.desc \ - descriptions/coolscan3.desc \ - descriptions/dc210.desc descriptions/dc240.desc descriptions/dc25.desc \ - descriptions/dell1600n_net.desc descriptions/dll.desc descriptions/dmc.desc \ - descriptions/epjitsu.desc descriptions/epson2.desc descriptions/epson.desc \ - descriptions/epsonds.desc \ - descriptions/fujitsu.desc descriptions/genesys.desc \ - descriptions/gphoto2.desc descriptions/gt68xx.desc descriptions/hp3500.desc \ - descriptions/hp3900.desc descriptions/hp4200.desc descriptions/hp5400.desc \ - descriptions/hp5590.desc descriptions/hp.desc descriptions/hpljm1005.desc \ - descriptions/hpsj5s.desc descriptions/hs2p.desc descriptions/ibm.desc \ - descriptions/kodak.desc descriptions/kodakaio.desc descriptions/kvs1025.desc \ - descriptions/kvs20xx.desc descriptions/kvs40xx.desc \ - descriptions/leo.desc descriptions/lexmark.desc descriptions/ma1509.desc \ - descriptions/magicolor.desc \ - descriptions/matsushita.desc descriptions/microtek2.desc \ - descriptions/microtek.desc descriptions/mustek.desc \ - descriptions/mustek_pp.desc descriptions/mustek_usb2.desc \ - descriptions/mustek_usb.desc descriptions/nec.desc descriptions/net.desc \ - descriptions/niash.desc descriptions/pie.desc descriptions/pieusb.desc descriptions/pint.desc \ - descriptions/p5.desc descriptions/pixma.desc descriptions/plustek.desc \ - descriptions/plustek_pp.desc descriptions/pnm.desc descriptions/qcam.desc \ - descriptions/ricoh.desc descriptions/rts8891.desc descriptions/s9036.desc \ - descriptions/sceptre.desc descriptions/sharp.desc descriptions/sm3600.desc \ - descriptions/sm3840.desc descriptions/snapscan.desc descriptions/sp15c.desc \ - descriptions/st400.desc descriptions/stv680.desc descriptions/tamarack.desc \ - descriptions/teco1.desc descriptions/teco2.desc descriptions/teco3.desc \ - descriptions/test.desc descriptions/u12.desc \ - descriptions/umax1220u.desc descriptions/umax.desc \ - descriptions/umax_pp.desc descriptions/unsupported.desc \ - descriptions/v4l.desc descriptions/xerox_mfp.desc - -DESC_EXT_FILES = descriptions-external/brother2.desc \ - descriptions-external/brother.desc \ - descriptions-external/brother-mfc4600.desc \ - descriptions-external/canon_mfp.desc \ - descriptions-external/cs3200f.desc \ - descriptions-external/epkowa.desc \ - descriptions-external/geniusvp2.desc \ - descriptions-external/hp3770.desc \ - descriptions-external/hp8200.desc \ - descriptions-external/hpaio.desc \ - descriptions-external/hpoj.desc \ - descriptions-external/kodak-twain.desc \ - descriptions-external/lhii.desc \ - descriptions-external/mustek_a3p1.desc \ - descriptions-external/panamfs.desc \ - descriptions-external/primascan.desc \ - descriptions-external/primax.desc \ - descriptions-external/samsung.desc \ - descriptions-external/scanwit.desc \ - descriptions-external/utsushi.desc \ - descriptions-external/v4l2.desc \ - descriptions-external/viceo.desc - -API_SPECS = $(am__append_1) $(am__append_2) $(am__append_3) -API_SPEC_INPUTS = $(srcdir)/sane.tex $(srcdir)/net.tex -API_SPEC_TEX_FIGS = figs/area.fig figs/flow.fig figs/hierarchy.fig \ - figs/image-data.fig figs/xfer.fig -API_SPEC_EPS_FIGS = figs/area.eps figs/flow.eps figs/hierarchy.eps \ - figs/image-data.eps figs/xfer.eps -API_SPEC_PDF_FIGS = figs/area.pdf figs/flow.pdf figs/hierarchy.pdf \ - figs/image-data.pdf figs/xfer.pdf -API_SPEC_HTML_ICONS = icons/contents.gif icons/index.gif \ - icons/next.gif icons/next_gr.gif icons/previous.gif \ - icons/previous_gr.gif icons/references.gif \ - icons/references_gr.gif icons/up.gif icons/up_gr.gif -am_TEXINPUTS = TEXINPUTS="$(builddir):$(srcdir):$$TEXINPUTS" -all: all-am - -.SUFFIXES: -.SUFFIXES: .eps .fig .pdf -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -doxygen-sanei.conf: $(top_builddir)/config.status $(srcdir)/doxygen-sanei.conf.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -doxygen-genesys.conf: $(top_builddir)/config.status $(srcdir)/doxygen-genesys.conf.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man1_MANS) - @$(NORMAL_INSTALL) - @list1='$(man1_MANS)'; \ - list2=''; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list='$(man1_MANS)'; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man7: $(man7_MANS) - @$(NORMAL_INSTALL) - @list1='$(man7_MANS)'; \ - list2=''; \ - test -n "$(man7dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man7dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man7dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.7[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man7dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man7dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man7dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man7dir)" || exit $$?; }; \ - done; } - -uninstall-man7: - @$(NORMAL_UNINSTALL) - @list='$(man7_MANS)'; test -n "$(man7dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man7dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man8_MANS) - @$(NORMAL_INSTALL) - @list1='$(man8_MANS)'; \ - list2=''; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list='$(man8_MANS)'; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -install-dist_docDATA: $(dist_doc_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ - done - -uninstall-dist_docDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) -install-docDATA: $(doc_DATA) - @$(NORMAL_INSTALL) - @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ - done - -uninstall-docDATA: - @$(NORMAL_UNINSTALL) - @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) -install-nobase_dist_docDATA: $(nobase_dist_doc_DATA) - @$(NORMAL_INSTALL) - @list='$(nobase_dist_doc_DATA)'; test -n "$(docdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ - fi; \ - $(am__nobase_list) | while read dir files; do \ - xfiles=; for file in $$files; do \ - if test -f "$$file"; then xfiles="$$xfiles $$file"; \ - else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ - test -z "$$xfiles" || { \ - test "x$$dir" = x. || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(docdir)/$$dir'"; \ - $(MKDIR_P) "$(DESTDIR)$(docdir)/$$dir"; }; \ - echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(docdir)/$$dir'"; \ - $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(docdir)/$$dir" || exit $$?; }; \ - done - -uninstall-nobase_dist_docDATA: - @$(NORMAL_UNINSTALL) - @list='$(nobase_dist_doc_DATA)'; test -n "$(docdir)" || list=; \ - $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ - dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) $(DATA) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man7dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(docdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-local - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: html-local - -info: info-am - -info-am: - -install-data-am: install-data-local install-dist_docDATA \ - install-docDATA install-man install-nobase_dist_docDATA - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man7 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-dist_docDATA uninstall-docDATA uninstall-local \ - uninstall-man uninstall-nobase_dist_docDATA - -uninstall-man: uninstall-man1 uninstall-man7 uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distclean-local distdir dvi dvi-am html \ - html-am html-local info info-am install install-am \ - install-data install-data-am install-data-local \ - install-dist_docDATA install-docDATA install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man7 install-man8 \ - install-nobase_dist_docDATA install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-dist_docDATA uninstall-docDATA \ - uninstall-local uninstall-man uninstall-man1 uninstall-man7 \ - uninstall-man8 uninstall-nobase_dist_docDATA - - -all: bemans $(API_SPECS) html-pages - -%.1 %.5 %.7 %.8: %.man - @echo "Generating manpage $@..."; - @sed -e 's|@DATADIR@|$(datadir)|g' \ - -e 's|@CONFIGDIR@|$(configdir)|g' \ - -e 's|@DOCDIR@|$(docdir)|g' \ - -e 's|@LIBDIR@|$(libdir)/sane|g' \ - -e 's|@BINDIR@|$(bindir)|g' \ - -e 's|@SBINDIR@|$(sbindir)|g' \ - -e 's|@PACKAGEVERSION@|$(package_version)|g' $^ >$@ - -bemans: $(BACKEND_5MANS) -install-beman5: $(BACKEND_5MANS) - test -z "$(beman5dir)" || $(MKDIR_P) "$(DESTDIR)$(beman5dir)" - @list="$(BACKEND_MANS_ENABLED) sane-dll.5 sane-scsi.5 sane-usb.5"; for man in $$list; do \ - if test ! -r $${man}; then continue; fi; \ - echo "installing $${man} in $(beman5dir)/$${man}..."; \ - $(INSTALL_DATA) $${man} $(DESTDIR)$(beman5dir)/$${man} \ - || exit 1; \ - done - -install-data-local: install-beman5 - -uninstall-local: - rm -rf $(DESTDIR)$(beman5dir)/sane-*.5 - -sane.ind: $(API_SPEC_INPUTS) - @echo Generating index for $<... - @touch sane.ind - @$(am_TEXINPUTS) $(LATEX) $< /dev/null && \ - $(MAKEINDEX) -q sane.idx && \ - $(am_TEXINPUTS) $(LATEX) $< /dev/null - -.fig.eps: - @test -d $(@D) || $(MKDIR_P) $(@D) - $(FIG2DEV) -L eps $< $@ - -sane.dvi: $(API_SPEC_INPUTS) $(API_SPEC_EPS_FIGS) sane.ind - @echo Generating $@ from $<... - @$(am_TEXINPUTS) $(LATEX) $< /dev/null - -sane.ps: sane.dvi - @echo Generating $@ from $<... - @$(am_TEXINPUTS) $(DVIPS) -q $< -o $@ - -.fig.pdf: - @test -d $(@D) || $(MKDIR_P) $(@D) - $(FIG2DEV) -L pdf $< $@ - -sane.pdf: $(API_SPEC_INPUTS) $(API_SPEC_PDF_FIGS) sane.ind - @echo Generating $@ from $<... - @$(am_TEXINPUTS) $(PDFLATEX) $< >/dev/null - -sane-html: sane.dvi - $(am_TEXINPUTS) $(DLH) $(srcdir)/sane.tex - -html-man: $(MANPAGES) - @for page in $(MANPAGES); do \ - echo "translating $${page} to $${page}.html..."; \ - cat $${page} | $(MAN2HTML) > $${page}.html; \ - done - -../tools/sane-desc: - cd ../tools ; $(MAKE) sane-desc - -sane-backends.html: $(DESC_FILES) ../tools/sane-desc - @../tools/sane-desc -m html-backends-split -s ${srcdir}/descriptions \ - -i "The following table summarizes the backends/drivers distributed \ - with $(PACKAGE)-$(VERSION), and the hardware or software they \ - support." -d 0 > sane-backends.html - -sane-backends-external.html: $(DESC_EXT_FILES) ../tools/sane-desc - @../tools/sane-desc -m html-backends-split \ - -s ${srcdir}/descriptions-external \ - -i "The following table summarizes the backends/drivers that \ - have not yet been included in the SANE distribution, and the \ - hardware or software they support." \ - -t "SANE: External Backends (Drivers)" -d 0 \ - > sane-backends-external.html - -sane-mfgs.html: $(DESC_FILES) ../tools/sane-desc - @../tools/sane-desc -m html-mfgs -s ${srcdir}/descriptions \ - -i "The following table summarizes the devices supported \ - by $(PACKAGE)-$(VERSION)." \ - -d 0 > sane-mfgs.html - -sane-mfgs-external.html: $(DESC_EXT_FILES) ../tools/sane-desc - @../tools/sane-desc -m html-mfgs -s ${srcdir}/descriptions-external \ - -i "The following table summarizes the devices that \ - are supported by external backends." \ - -t "SANE: Devices Supported by External Backends" -d 0 \ - > sane-mfgs-external.html - -descriptions.db: $(DESC_FILES) ../tools/sane-desc - @../tools/sane-desc -m ascii -s ${srcdir}/descriptions \ - > descriptions.db - -descriptions-external.db: $(DESC_EXT_FILES) ../tools/sane-desc - @../tools/sane-desc -m ascii -s ${srcdir}/descriptions-external \ - > descriptions-external.db - -html-pages: $(HTML_PAGES) -html-local: html-pages html-man sane-html - -clean-local: - rm -f *.toc *.aux *.log *.cp *.fn *.tp *.vr *.pg *.ky *.blg *.idx *.cb - rm -f *.ilg - rm -f $(API_SPEC_EPS_FIGS) $(API_SPEC_PDF_FIGS) - -rmdir figs - -distclean-local: - rm -f $(MANPAGES) - rm -f *.lot *.lof *.ind - rm -f sane.dvi sane.ps sane-backends.html sane-backends-external.html - rm -f sane-mfgs.html sane-mfgs-external.html - rm -f sane/*.html sane/*.gif - rm -f doxygen-sanei.conf doxygen-genesys.conf - -rm -rf sane sanei-html - for manpage in $(MANPAGES) ; do \ - rm -f $${manpage}.html ; \ - done - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/doc/backend-writing.txt b/doc/backend-writing.txt index 7e34d6a..576e8e4 100644 --- a/doc/backend-writing.txt +++ b/doc/backend-writing.txt @@ -45,12 +45,11 @@ CONFIGURATION AND BUILD SYSTEM Sane-backends uses the autoconf and automake tools. The configure script is generated from configure.ac and aclocal.m4 by running "autoreconf". Simple checks (e.g. for headers) should be placed into configure.ac while -for more complex stuff acinclude.m4 is the right file. After changes in one +for more complex stuff acinclude.m4 is the right file. After changes in one of these files, "autoreconf" should be called. This will then call a chain of autotools, such as autoconf to generate configure, autoheader to generate include/sane/config.h.in, and automake to generate various -Makefile.in's from Makefile.am's. All changes made by "autoreconf" must -be commited together. +Makefile.in's from Makefile.am's. When running configure, the Makefiles in the main and sub-directories are created from their respective Makefile.in files. Also include/sane/config.h @@ -60,13 +59,13 @@ Running "make" runs the respective targets in the sub directories recursively. The Makefile.am in each directory contains lists of files which are part of the distribution and which are therefore copied to the tar.gz archive, when a -release is made. It's important that newly added files are also added to +release is made. It's important that newly added files are also added to a variable that will cause them to be distributed (EXTRA_DIST at a minimum). For creating binaries and libraries libtool is used. The ltmain.sh script -contains special modifications for SANE. These modifications ensure that -the soname of each SANE backend library is "libsane.so". Without this -change, backend libraries (like "libsane-epson.so") could not used as +contains special modifications for SANE. These modifications ensure that +the soname of each SANE backend library is "libsane.so". Without this +change, backend libraries (like "libsane-epson.so") could not used as on-the-fly replacement for the dll backend. DIRECTORY OVERVIEW @@ -76,7 +75,7 @@ This chapter explains some details about the files and directories used in the sane-backends distribution. sane-backends/ - * acinclude.m4 aclocal.m4 compile config.guess config.sub configure + * acinclude.m4 aclocal.m4 compile config.guess config.sub configure configure.ac depcomp install-sh ltmain.sh Makefile.am Makefile.in missing mkinstalldirs: Part of the build system as explained above. * ChangeLog: @@ -94,19 +93,17 @@ sane-backends/ General documentation + license. * NEWS: This is some kind of executive summary of the ChangeLog. It will be created - before a release. + before a release. * PROBLEMS: General (severe) problems that all SANE users should be - aware. Backend-specific trouble should normally not mentioned there. + aware. Backend-specific trouble should normally not mentioned there. * PROJECTS: Planned SANE-related development (e.g. ports, frontends). New backends won't be listed here but a new .desc file will be created for them (see below). * README: General building instructions. * README.aix README.beos (...): - Platform-dependent building and usage instructions. - * sane-backends.lsm: - The .lsm file as used for the ibiblio archive. + Platform-dependent building and usage instructions. sane-backends/backend/ This is where the actual backend code is placed. As an example the file @@ -117,13 +114,13 @@ sane-backends/backend/ directory. Code which is useful for more than one backend should be placed in sanei/ instead. * newbackend.c: - The main backend file, usually contains the SANE API code. Mandatory. + The main backend file, usually contains the SANE API code. Mandatory. * newbackend.h: Header file, containing includes and so on. * newbackend.conf.in: - Configuration file for the backend, newbackend.conf will be created by - running "make" from this file. Some variables are substituted, e.g. for - installation directories. This is especially useful for firmware + Configuration file for the backend, newbackend.conf will be created by + running "make" from this file. Some variables are substituted, e.g. for + installation directories. This is especially useful for firmware directories. See Makefile.am for a list. * newbackend-low.c: Contains low level code for the "newbackend" backend. Depending on the @@ -147,16 +144,16 @@ sane-backends/backend/ sane-backends/doc/ Documentation for SANE. For some more details, see chapter DOCUMENTATION below. Again an example for "newbackend": - * sane-newbackend.man: + * sane-newbackend.man: The manual page of the backend. From this file, "sane-newbackend.5" is - generated by running "make". + generated by running "make". * newbackend/ (directory) Contains additional information about newbackend, e.g. READMEs or TODO - files. + files. General files: * Makefile.am: "sane-newbackend.5" must be added to variable BACKEND_5MANS and - "sane-newbackend.man" to EXTRA_DIST. A backend documentation directory + "sane-newbackend.man" to EXTRA_DIST. A backend documentation directory (if used) must be added to the BEDOCS variable. * backend-writing.txt: This file. @@ -169,13 +166,13 @@ sane-backends/doc/ * sane.tex, net.tex: Contains the LaTeX source of the SANE standard. * descriptions/ (directory) - Contains the .desc files for every backend that is included into + Contains the .desc files for every backend that is included into sane-backends. * descriptions-external/ (directory) Contains the .desc files for backend that are not included into sane-backends yet (external backends). These files should only be created if the code it points to is really a SANE backend (and not just a command - line program). + line program). sane-backends/frontend/ Contains the frontends scanimage, saned, and tstbackend. @@ -186,8 +183,8 @@ sane-backends/include/ SANE-specific headers are located in include/sane/: * config.h.in: Main header file needed for portablility. config.h is created from this - file and must be included by every backend. - * sane.h: + file and must be included by every backend. + * sane.h: Official SANE API header file. Don't change this without discussion on the sane-devel mailing list. * saneopts.h: @@ -202,14 +199,14 @@ sane-backends/japi/ sane-backends/lib/ Contains various library functions that may miss in the standard C library - of some platforms. + of some platforms. sane-backends/po/ Translations of SANEbackend options. See README for details. sane-backends/sanei/ Sanei (SANE internal) code. Needed for code used in several backends - like USB access. For more details, see the documentaion on the SANE + like USB access. For more details, see the documentaion on the SANE website. sane-backends/testsuite/ @@ -231,14 +228,14 @@ PROGRAMMING least: - add the backend name to ALL_BACKENDS in configure.ac (and run autoreconf) - Add new backend to BACKEND_CONFS, be_convenience_libs, be_dlopen_libs, - and define _lib${backend}_la_SOURCES and + and define _lib${backend}_la_SOURCES and nodist_libsane_${backend}_la_SOURCES; using an existing backend as a template. Any sanei reference code should be listed in libsane_${backend}_la_LIBADD as well as any external libraries required to resolve all symbols. - - Add the source code files to the backend/ directories. All file names + - Add the source code files to the backend/ directories. All file names must start with the backend name (e.g. newbackend.c, newbackend.h and - newbackend-usb.c). + newbackend-usb.c). * Please follow the GNU coding standards. It's clear that the style outlined there is nobody's favorite, but it's much easier to @@ -295,7 +292,7 @@ PROGRAMMING * If you use headers or libraries that may not be available on all systems, write a check for configure.ac and include it conditionally. If your backend - depends on these libraries or headers, compile the backend only if they are + depends on these libraries or headers, compile the backend only if they are available (see pint for an example). * Use #include ".../include/sane/..." to include the sane header files @@ -311,9 +308,9 @@ PROGRAMMING * It's no longer necessary to #define PATH_MAX (now in sanei_backend.h). If you define it, do so *after* the system includes. -* Please use sanei functions whenever possible (e.g. +* Please use sanei functions whenever possible (e.g. sanei_config_read()). This makes porting to other os/platforms much - easier. Most of these functions are documented in their respective + easier. Most of these functions are documented in their respective header files in include/sane/sanei_*.h. For most of them there is also documentation in doxygen format: http://www.sane-project.org/sanei/. These HTML pages can be generated by calling "doxygen sanei-doxygen.conf" in @@ -389,7 +386,7 @@ TESTING compiled nor installed by default. To do that, cd into frontend and run "make tstbackend". -* Please test a backend not just with scanimage and xscanimage +* Please test a backend not just with scanimage and xscanimage (+ other frontends), but also with saned. Based on past experience, it is often the case that remote scanning can uncover subtle bugs. Note that you don't have to use two different machines to test "remote" @@ -402,7 +399,7 @@ TESTING access to other platforms, ask sane-devel. * Please make sure that all global symbols exported from a SANE backend start - with the prefix "sane" or "sanei" to avoid clashes with exported symbols + with the prefix "sane" or "sanei" to avoid clashes with exported symbols of other backends. Only symbols mentioned in the SANE standard should start with "sane_*". Make sure, the sanei_* symbols are unique, e.g. by using sanei_backendname_*. Only export symbols that are absolutely necessary. @@ -410,7 +407,7 @@ TESTING nm -g backend/.libs/libsane-hp.a - would list all global symbols in the HP backend. + would list all global symbols in the HP backend. "./configure; make; make libcheck" in the sane-backends root directory will name all backend libraries, that contain "illegal" symbols. @@ -433,14 +430,14 @@ DOCUMENTATION also a template for new .desc files: "template.desc.". The format of the files in the two directories is very similar. If you'd like to try parsing your creation to recreate the sane-backends webpages, cd into "tools/" and - enter "make sane-desc". You can either use sane-desc directly (try - "./sane-desc -h") or use "make html-pages" in "doc/". + enter "make sane-desc". You can either use sane-desc directly (try + "./sane-desc -h") or use "make html-pages" in "doc/". * For external backends, you don't need to supply :manpage and :version. The manpage link won't work anyway and version will be outdated soon. * When your backend is included in the SANE distribution, add an entry to - doc/sane.man, AUTHORS and sane-backends.lsm. The sane.man entry should point + doc/sane.man and AUTHORS. The sane.man entry should point to your documentation (man-page, website, readme). Also move your .desc file from "doc/descriptions-external" to "doc/descriptions" and update them. @@ -458,7 +455,7 @@ DOCUMENTATION version numbers. -CHECKLIST: SUBMITTING A NEW BACKEND +CHECKLIST: SUBMITTING A NEW BACKEND ----------------------------------- In sane-backends/ @@ -481,7 +478,7 @@ In sane-backends/doc/ check the html pages result with a browser. * Check that the backend version is the same in the source and in the description file. - + In sane-backends/po/ * Add all files using SANE_I18N() to po/POTFILES diff --git a/doc/canon/canon.changes b/doc/canon/canon.changes index 30eb6e9..f07c225 100644 --- a/doc/canon/canon.changes +++ b/doc/canon/canon.changes @@ -37,6 +37,3 @@ Version 990201: because it sets the resolution down first. * I have included a new directory containing scripts I find useful. - - - diff --git a/doc/canon/canon.install2700F.txt b/doc/canon/canon.install2700F.txt index 923a6d4..b80e8d9 100644 --- a/doc/canon/canon.install2700F.txt +++ b/doc/canon/canon.install2700F.txt @@ -1,6 +1,6 @@ ----------------------------------------------------------------------- -How to install a CanoScan 2700F on a Linux box ? +How to install a CanoScan 2700F on a Linux box ? by Stephan Hegel . Date: Fri Jan 15 16:13:15 MEZ 1999 ----------------------------------------------------------------------- @@ -17,13 +17,13 @@ Corrections and suggestions are welcome, of course. Thank you. ----------------------------------------- The AVA-1502AP is is a small ISA Adaptec SCSI controller which is - shipped with the CanoScan slide scanner. Per default is has the + shipped with the CanoScan slide scanner. Per default is has the address 0x140, the IRQ 10 and the SCSI host id 7. Check first for conflicts with your already existing hardware. Install the controller into the computer. - After starting the BIOS should detect the board as a PNP board. + After starting the BIOS should detect the board as a PNP board. Boot the computer with the "SCSISelect" disk which is shipped with the scanner to check that the controller is detected. Don't change any settings except address, IRQ or SCSI id if necessary. @@ -32,13 +32,13 @@ Corrections and suggestions are welcome, of course. Thank you. SCSI Support (yes) SCSI Generic support (yes) Low level driver for aha152x (yes) - Note: here you can try to compile the SCSI support as modules as + Note: here you can try to compile the SCSI support as modules as long as you don't boot the computer from a SCSI disk. But this is not tested. Compile and install the new Linux kernel. - Add "aha152x=0x140,10,7" to the "append" line to the already existing + Add "aha152x=0x140,10,7" to the "append" line to the already existing kernel parameters in lilo.conf, e.g: ------------------- # Linux bootable partition config begins @@ -46,7 +46,7 @@ Corrections and suggestions are welcome, of course. Thank you. root = /dev/hdc1 label = linux append = "sbpcd=0x230,SoundBlaster aha152x=0x140,10,7" - # Linux bootable partition config ends + # Linux bootable partition config ends ------------------- Invoke lilo to activate the changes. @@ -64,12 +64,12 @@ Corrections and suggestions are welcome, of course. Thank you. on" since the scanner is the one and only device connected to my host adapter. - Turn on the scanner first and wait for a few second. The scanner + Turn on the scanner first and wait for a few second. The scanner performs a short self test. Turn on the computer. - Watch the boot messages, there should be a message indicating that + Watch the boot messages, there should be a message indicating that the SCSI host adapter and the scanner are there. Now you can check again that the scanner device is there: @@ -85,18 +85,18 @@ Corrections and suggestions are welcome, of course. Thank you. Fetch the latest SANE distribution from the SANE homepage at: http://www.sane-project.org/ - + Unpack and configure it. - + Get the latest canon backend from Manuel's homepage: http://www.rzg.mpg.de/~mpd/sane Put the files in the sane/backend directory as described in the README of the package. This overwrites the existing canon.* files with the latest version of these files. - + Compile and install SANE. - + Add the "canon" scanner to the /usr/local/etc/sane.d/dll.conf file: -------- cut here ------------ # enable the next line if you want to allow access through the network: @@ -108,12 +108,12 @@ Corrections and suggestions are welcome, of course. Thank you. #umax canon -------- cut here ------------ - + Add a "canon.conf" file to the /usr/local/etc/sane.d directory: -------- cut here ------------ - scsi CANON + scsi CANON -------- cut here ------------ - + Check the available scanners: scanimage -L This should give something like this: @@ -122,14 +122,14 @@ Corrections and suggestions are welcome, of course. Thank you. device `pnm:1' is a Noname PNM file reader virtual device Invoke the frontend: - xscanimage & - NOTE: The "xscanimage" frontend is in the SANE distribution. There - is also another SANE frontend available which is called "xsane" by - Oliver Rauch. It is still under heavy development and can be grabbed + xscanimage & + NOTE: The "xscanimage" frontend is in the SANE distribution. There + is also another SANE frontend available which is called "xsane" by + Oliver Rauch. It is still under heavy development and can be grabbed from: http://www.wolfsburg.de/~rauch - A dialog box appears, select the canon scanner and here we go ... + A dialog box appears, select the canon scanner and here we go ... Happy scanning !!! - + ----------------------------------------------------------------------- diff --git a/doc/descriptions-external/brother-mfc4600.desc b/doc/descriptions-external/brother-mfc4600.desc index 1d57e47..18bd3cb 100644 --- a/doc/descriptions-external/brother-mfc4600.desc +++ b/doc/descriptions-external/brother-mfc4600.desc @@ -16,7 +16,7 @@ ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://sourceforge.net/projects/brother-mfc" -;:comment "" +;:comment "" ; comment about the backend :devicetype :scanner ; start of a list of devices.... @@ -32,6 +32,3 @@ :interface "USB" :usbid "0x04f9" "0x0111" :comment "Only USB version of this scanner is supported. Please report how well it works. See link." - - - diff --git a/doc/descriptions-external/brother.desc b/doc/descriptions-external/brother.desc index a261712..39c54da 100644 --- a/doc/descriptions-external/brother.desc +++ b/doc/descriptions-external/brother.desc @@ -16,7 +16,7 @@ ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://solutions.brother.com/linux/sol/printer/linux/sane_drivers.html" ; backend's web page -:comment "External backend made by brother. As this software contains non-free parts, it can't be included into SANE. If you can't find your model here, please have a look at the brother website which contains the latest list." +:comment "External backend made by brother. As this software contains non-free parts, it can't be included into SANE. If you can't find your model here, please have a look at the brother website which contains the latest list." ; comment about the backend :devicetype :scanner ; start of a list of devices.... @@ -400,4 +400,3 @@ :interface "USB" :usbid "0x04f9" "0x011b" :comment "There is a report that this scanner does not work with the brother backend (I/O errors)" - diff --git a/doc/descriptions-external/brother2.desc b/doc/descriptions-external/brother2.desc index 92b5450..afdb1a6 100644 --- a/doc/descriptions-external/brother2.desc +++ b/doc/descriptions-external/brother2.desc @@ -16,7 +16,7 @@ ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://solutions.brother.com/linux/sol/printer/linux/sane_drivers.html" ; backend's web page -:comment "External backend made by brother. As this software contains non-free parts, it can't be included into SANE. If you can't find your model here, please have a look at the brother website which contains the latest list." +:comment "External backend made by brother. As this software contains non-free parts, it can't be included into SANE. If you can't find your model here, please have a look at the brother website which contains the latest list." ; comment about the backend :devicetype :scanner ; start of a list of devices.... diff --git a/doc/descriptions-external/canon_mfp.desc b/doc/descriptions-external/canon_mfp.desc deleted file mode 100644 index e181d53..0000000 --- a/doc/descriptions-external/canon_mfp.desc +++ /dev/null @@ -1,73 +0,0 @@ -; -; 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?). -; -; See doc/descriptions.txt for details. - -:backend "canon_mfp" ; name of backend -;:version "1.0.0" ; version of backend (or "unmaintained") -;:new :yes ; Is the backend new to this SANE release? - ; :yes or :no -;:manpage "sane-template" ; name of manpage (if it exists) -:url "http://cweb.canon.jp/drv-upd/bj/other.html#linux"; -:url "http://support-asia.canon-asia.com/"; -:comment "External backend made by canon. As this software contains non-free parts, it can't be included into SANE. If you can't find your model here, please have a look at the canon website which contains the latest list." -:comment "Note: these backend are designed by Canon and are part of their proprietary scanning software. They may not work at all with SANE, or with SANE frontends." - ; comment about the backend - -:devicetype :scanner ; start of a list of devices.... - ; other types: :stillcam, :vidcam, - ; :meta, :api - -:mfg "Canon" ; name a manufacturer -:url "http://www.canon.com/" ; manufacturer's URL -;:comment "" - ; comment about the manufacturer - -:model "MP140" -:status :untested -:interface "USB" -:usbid "0x04a9" "0x172b" -:comment "No report yet." - -:model "MP160" -:status :untested -:interface "USB" -:usbid "0x04a9" "0x1714" -:comment "No report yet." - -:model "MP210" -:status :untested -:interface "USB" -:usbid "0x04a9" "0x1721" -:comment "No report yet." - -:model "MP510" -:status :untested -:interface "USB" -:usbid "0x04a9" "0x1717" -:comment "No report yet." - -:model "MP520" -:status :untested -:interface "USB" -:usbid "0x04a9" "0x1724" -:comment "No report yet." - -:model "MP600" -:status :untested -:interface "USB" -:usbid "0x04a9" "0x1718" -:comment "No report yet." - -:model "MP610" -:status :untested -:interface "USB" -:usbid "0x04a9" "0x1725" -:comment "Could not have it working with SANE." diff --git a/doc/descriptions-external/cs3200f.desc b/doc/descriptions-external/cs3200f.desc index b734d02..15c8c33 100644 --- a/doc/descriptions-external/cs3200f.desc +++ b/doc/descriptions-external/cs3200f.desc @@ -16,7 +16,7 @@ ; :yes or :no ;:manpage "sane-cs3200f" ; name of manpage (if it exists) ;:url "http://www.luser.com/temp/" ; backend's web page -:comment "Backend is in experimental CVS" +:comment "Backend is in experimental CVS" ; comment about the backend :devicetype :scanner ; start of a list of devices.... diff --git a/doc/descriptions-external/hp3770.desc b/doc/descriptions-external/hp3770.desc index 7c2c60e..c6e8b9f 100644 --- a/doc/descriptions-external/hp3770.desc +++ b/doc/descriptions-external/hp3770.desc @@ -16,7 +16,7 @@ ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://www.cyberbaladeur.fr/telechargement.html" ; backend's web page -:comment "This backend can't be added to the SANE distribution because it consists of binary-only code." +:comment "This backend can't be added to the SANE distribution because it consists of binary-only code." ; comment about the backend :devicetype :scanner ; start of a list of devices.... diff --git a/doc/descriptions-external/hp8200.desc b/doc/descriptions-external/hp8200.desc index 7dcf663..0a259be 100644 --- a/doc/descriptions-external/hp8200.desc +++ b/doc/descriptions-external/hp8200.desc @@ -16,7 +16,7 @@ ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://www.cyberbaladeur.fr/telechargement.html" ; backend's web page -:comment "This backend can't be added to the SANE distribution because it consists of binary-only code." +:comment "This backend can't be added to the SANE distribution because it consists of binary-only code." ; comment about the backend :devicetype :scanner ; start of a list of devices.... @@ -37,4 +37,3 @@ :usbid "0x03f0" "0x0b01" :url "http://ftp.cyberbaladeur.fr/82xxc%20Linux%20drivers.tar.gz" ; model's URL :comment "External backend. Binary-only Linux i386 code. Not supported by the SANE developers." - diff --git a/doc/descriptions-external/hpaio.desc b/doc/descriptions-external/hpaio.desc index 5b4cc5c..dab5a8c 100644 --- a/doc/descriptions-external/hpaio.desc +++ b/doc/descriptions-external/hpaio.desc @@ -2238,4 +2238,3 @@ :model "HP Color LaserJet 9500 Multifunction Printer" :status :good - diff --git a/doc/descriptions-external/kodak-twain.desc b/doc/descriptions-external/kodak-twain.desc index 2d75cd1..97455b2 100644 --- a/doc/descriptions-external/kodak-twain.desc +++ b/doc/descriptions-external/kodak-twain.desc @@ -84,4 +84,3 @@ :interface "USB" :usbid "0x040a" "0x6011" :comment "Flatbed attachment for use with Kodak ADF scanner. Requires 12V power over usb cable. No report yet." - diff --git a/doc/descriptions-external/lhii.desc b/doc/descriptions-external/lhii.desc index a755709..1877e0c 100644 --- a/doc/descriptions-external/lhii.desc +++ b/doc/descriptions-external/lhii.desc @@ -16,7 +16,7 @@ ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://www.sane-project.org/backends/lhii/lhii-v0.2.tgz" ; backend's web page -:comment "This backend is for old handscanners with proprietary adapter cards. You also need a kernel driver. You may find such drivers at that page: http://www.willamowius.de/scanner.html ." +:comment "This backend is for old handscanners with proprietary adapter cards. You also need a kernel driver. You may find such drivers at that page: http://www.willamowius.de/scanner.html ." ; comment about the backend :devicetype :scanner ; start of a list of devices.... @@ -42,5 +42,3 @@ ; and at the top-level. ; :status specifier is optional after :model and at the top-level - - diff --git a/doc/descriptions-external/mustek_a3p1.desc b/doc/descriptions-external/mustek_a3p1.desc index e38b87a..3808cae 100644 --- a/doc/descriptions-external/mustek_a3p1.desc +++ b/doc/descriptions-external/mustek_a3p1.desc @@ -15,7 +15,3 @@ :status :minimal :usbid "0x055f" "0x0401" :comment "Reports about scanning problems. 1800 dpi seems to work if only small scan areas are selected." - - - - diff --git a/doc/descriptions-external/panamfs.desc b/doc/descriptions-external/panamfs.desc index fd49925..5a34cea 100644 --- a/doc/descriptions-external/panamfs.desc +++ b/doc/descriptions-external/panamfs.desc @@ -16,7 +16,7 @@ ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://panasonic.net/pcc/support/fax/common/table/linuxdriver.html" ; backend's web page -:comment "External backend made by panasonic." +:comment "External backend made by panasonic." ; comment about the backend :devicetype :scanner ; start of a list of devices.... @@ -54,4 +54,3 @@ :model "KX-MC6000 series" :status :untested :comment "No report yet." - diff --git a/doc/descriptions-external/primascan.desc b/doc/descriptions-external/primascan.desc index 1f02202..6815bcd 100644 --- a/doc/descriptions-external/primascan.desc +++ b/doc/descriptions-external/primascan.desc @@ -16,7 +16,7 @@ ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://www.geocities.com/trsh0101/index.html" ; backend's web page -:comment "SANE backend and stand-alone program" +:comment "SANE backend and stand-alone program" ; comment about the backend :devicetype :scanner ; start of a list of devices.... diff --git a/doc/descriptions-external/primax.desc b/doc/descriptions-external/primax.desc index 30633b0..db245d4 100644 --- a/doc/descriptions-external/primax.desc +++ b/doc/descriptions-external/primax.desc @@ -40,7 +40,3 @@ :model "Colorpage-Vivid+" :interface "Parport" :status :untested - - - - diff --git a/doc/descriptions-external/template.desc. b/doc/descriptions-external/template.desc. index 25b9b5a..a6b6bab 100644 --- a/doc/descriptions-external/template.desc. +++ b/doc/descriptions-external/template.desc. @@ -17,7 +17,7 @@ :manpage "sane-template" ; name of manpage (if it exists) :url "http://www.luser.com/temp/" ; backend's web page :url "http://www.luser.com/b/" ; another backend webpage -:comment "This backend supports only the USB and SCSI models" +:comment "This backend supports only the USB and SCSI models" ; comment about the backend :devicetype :scanner ; start of a list of devices.... @@ -77,5 +77,3 @@ ; and at the top-level. ; :status specifier is optional after :model and at the top-level - - diff --git a/doc/descriptions-external/utsushi.desc b/doc/descriptions-external/utsushi.desc index d82ed18..08ad17f 100644 --- a/doc/descriptions-external/utsushi.desc +++ b/doc/descriptions-external/utsushi.desc @@ -1,5 +1,5 @@ ;;; utsushi.desc -*- emacs-lisp -*- (sort of) -;;; Copyright (C) 2015, 2016 Meeuwissen +;;; Copyright (C) 2015-2019 Olaf Meeuwissen ;;; ;;; License: GPL-3.0+ ;;; Author : Olaf Meeuwissen @@ -21,7 +21,7 @@ ;; Backend data ;; :backend "utsushi" -:url "https://github.com/utsushi/utsushi" +:url "https://gitlab.com/utsushi/utsushi" ;; Device and manufacturer information. ;; @@ -36,6 +36,20 @@ :usbid "0x04b8" "0x0152" :status :good +:model "DS-70" +:interface "USB" +:status :good +:comment "USB product ID one of 0x0160, 0x0166, 0x016c or 0x016e" + +:model "DS-80W" +:interface "USB" +:status :good +:comment "USB product ID one of 0x0160, 0x0166, 0x016c or 0x016e" + +:model "DS-410" +:interface "USB" +:status :good + :model "DS-510" :interface "USB" :usbid "0x04b8" "0x014c" @@ -46,16 +60,38 @@ :usbid "0x04b8" "0x0154" :status :good +:model "DS-530" +:interface "USB" +:usbid "0x04b8" "0x0155" +:status :good + +:model "DS-535" +:interface "USB" +:status :good + +:model "DS-535" +:interface "USB" +:usbid "0x04b8" "0x017a" +:status :good + :model "DS-560" :interface "USB" :usbid "0x04b8" "0x0150" :status :good +:model "DS-575W" +:interface "USB" +:status :good + :model "DS-760" :interface "USB" :usbid "0x04b8" "0x014d" :status :good +:model "DS-775" +:interface "USB" +:status :good + :model "DS-780N" :interface "USB" :usbid "0x04b8" "0x0164" @@ -66,6 +102,11 @@ :usbid "0x04b8" "0x014d" :status :good +:model "DS-1630" +:interface "USB" +:usbid "0x04b8" "0x015c" +:status :good + :model "DS-5500" :interface "USB" :usbid "0x04b8" "0x0145" @@ -111,11 +152,36 @@ :usbid "0x04b8" "0x1109" :status :good +:model "ES-50" +:interface "USB" +:status :good +:comment "USB product ID one of 0x0160, 0x0166, 0x016c or 0x016e" + +:model "ES-55R" +:interface "USB" +:status :good +:comment "USB product ID one of 0x016d or 0x016f" + +:model "ES-60W" +:interface "USB" +:status :good +:comment "USB product ID one of 0x0160, 0x0166, 0x016c or 0x016e" + +:model "ES-65WR" +:interface "USB" +:status :good +:comment "USB product ID one of 0x016d or 0x016f" + :model "ES-400" :interface "USB" :usbid "0x04b8" "0x0156" :status :good +:model "ES-8500" +:interface "USB" +:usbid "0x04b8" "0x0109" +:status :basic + :model "ET-2500" :interface "USB" :usbid "0x04b8" "0x1105" @@ -136,6 +202,11 @@ :usbid "0x04b8" "0x1101" :status :good +:model "Expression 1640XL" +:interface "USB" +:usbid "0x04b8" "0x0109" +:status :basic + :model "L220" :interface "USB" :usbid "0x04b8" "0x08d1" @@ -156,6 +227,11 @@ :usbid "0x04b8" "0x08d2" :status :good +:model "L380 Series" +:interface "USB" +:usbid "0x04b8" "0x1120" +:status :good + :model "L455" :interface "USB" :usbid "0x04b8" "0x08c2" @@ -196,6 +272,16 @@ :usbid "0x04b8" "0x08ce" :status :good +:model "PX-M884F" +:interface "USB" +:usbid "0x04b8" "0x112e" +:status :good + +:model "WF-4720" +:interface "USB" +:usbid "0x04b8" "0x1125" +:status :good + :model "WF-6530" :interface "USB" :usbid "0x04b8" "0x08cd" @@ -266,6 +352,21 @@ :usbid "0x04b8" "0x110c" :status :good +:model "XP-540" +:interface "USB" +:usbid "0x04b8" "0x1117" +:status :good + +:model "XP-630" +:interface "USB" +:usbid "0x04b8" "0x110c" +:status :good + +:model "XP-640" +:interface "USB" +:usbid "0x04b8" "0x1117" +:status :good + :model "XP-830" :interface "USB" :usbid "0x04b8" "0x110b" @@ -280,11 +381,6 @@ ; Upstream releases have stopped providing the information we ; need to fill out the :model fields :-( -:model "PID 0155" -:interface "USB" -:usbid "0x04b8" "0x0155" -:status :good - :model "PID 0157" :interface "USB" :usbid "0x04b8" "0x0157" @@ -330,6 +426,60 @@ :usbid "0x04b8" "0x0163" :status :good +:model "PID 0165" +:interface "USB" +:usbid "0x04b8" "0x0165" +:status :good +:comment "propably one of DS-410, DS-535, DS-575W, DS-775" + +:model "PID 0167" +:interface "USB" +:usbid "0x04b8" "0x0167" +:status :good +:comment "propably one of DS-410, DS-535, DS-575W, DS-775" + +:model "PID 0168" +:interface "USB" +:usbid "0x04b8" "0x0168" +:status :good +:comment "propably one of DS-410, DS-535, DS-575W, DS-775" + +:model "PID 0169" +:interface "USB" +:usbid "0x04b8" "0x0169" +:status :good +:comment "propably one of DS-410, DS-535, DS-575W, DS-775" + +:model "PID 016B" +:interface "USB" +:usbid "0x04b8" "0x016b" +:status :good +:comment "probably a FastFoto 680W, could be a WorkForce ES-300WR or ES-500WR" + +:model "PID 016D" +:interface "USB" +:usbid "0x04b8" "0x016d" +:status :good +:comment "propably one of ES-55R, ES-65WR" + +:model "PID 016F" +:interface "USB" +:usbid "0x04b8" "0x016f" +:status :good +:comment "propably one of ES-55R, ES-65WR" + +:model "PID 0176" +:interface "USB" +:usbid "0x04b8" "0x0176" +:status :good +:comment "probably a WorkForce ES-300WR or ES-500WR, could be a FastFoto 680W" + +:model "PID 0177" +:interface "USB" +:usbid "0x04b8" "0x0177" +:status :good +:comment "probably a WorkForce ES-500WR or ES-300WR, could be a FastFoto 680W" + :model "PID 110D" :interface "USB" :usbid "0x04b8" "0x110d" @@ -411,11 +561,6 @@ :usbid "0x04b8" "0x111f" :status :good -:model "PID 1120" -:interface "USB" -:usbid "0x04b8" "0x1120" -:status :good - :model "PID 1121" :interface "USB" :usbid "0x04b8" "0x1121" @@ -451,8 +596,363 @@ :interface "USB" :usbid "0x04b8" "0x1128" :status :good +:comment "PX-Mxxxx?" + +:model "PID 1129" +:interface "USB" +:usbid "0x04b8" "0x1129" +:status :good +:comment "L61x0?" + +:model "PID 112A" +:interface "USB" +:usbid "0x04b8" "0x112a" +:status :good +:comment "L61x0?" :model "PID 112B" :interface "USB" :usbid "0x04b8" "0x112b" :status :good +:comment "ET-77xx?" + +:model "PID 112C" +:interface "USB" +:usbid "0x04b8" "0x112c" +:status :good +:comment "ET-77xx?" + +:model "PID 112D" +:interface "USB" +:usbid "0x04b8" "0x112d" +:status :good + +:model "PID 112F" +:interface "USB" +:usbid "0x04b8" "0x112f" +:status :good + +:model "PID 1130" +:interface "USB" +:usbid "0x04b8" "0x1130" +:status :good +:comment "L61x0?" + +:model "PID 1131" +:interface "USB" +:usbid "0x04b8" "0x1131" +:status :good +:comment "EP-8xxA?" + +:model "PID 1132" +:interface "USB" +:usbid "0x04b8" "0x1132" +:status :good + +:model "PID 1133" +:interface "USB" +:usbid "0x04b8" "0x1133" +:status :good +:comment "EP-810A?" + +:model "PID 1134" +:interface "USB" +:usbid "0x04b8" "0x1134" +:status :good +:comment "EP-710A?" + +:model "PID 1135" +:interface "USB" +:usbid "0x04b8" "0x1135" +:status :good +:comment "L61x0?" + +:model "PID 1136" +:interface "USB" +:usbid "0x04b8" "0x1136" +:status :good +:comment "L61x0?" + +:model "PID 1137" +:interface "USB" +:usbid "0x04b8" "0x1137" +:status :good +:comment "L61x0?" + +:model "PID 1138" +:interface "USB" +:usbid "0x04b8" "0x1138" +:status :good +:comment "L61x0?" + +:model "PID 1139" +:interface "USB" +:usbid "0x04b8" "0x1139" +:status :good + +:model "PID 113A" +:interface "USB" +:usbid "0x04b8" "0x113a" +:status :good + +:model "PID 113B" +:interface "USB" +:usbid "0x04b8" "0x113b" +:status :good +:comment "PX-Mxxxx?" + +:model "PID 113C" +:interface "USB" +:usbid "0x04b8" "0x113c" +:status :good +:comment "PX-Mxxxx?" + +:model "PID 113D" +:interface "USB" +:usbid "0x04b8" "0x113d" +:status :good + +:model "PID 113E" +:interface "USB" +:usbid "0x04b8" "0x113e" +:status :good + +:model "PID 113F" +:interface "USB" +:usbid "0x04b8" "0x113f" +:status :good + +:model "PID 1140" +:interface "USB" +:usbid "0x04b8" "0x1140" +:status :good + +:model "PID 1141" +:interface "USB" +:usbid "0x04b8" "0x1141" +:status :good + +:model "PID 1142" +:interface "USB" +:usbid "0x04b8" "0x1142" +:status :good + +:model "PID 1143" +:interface "USB" +:usbid "0x04b8" "0x1143" +:status :good +:comment "L3xxx?" + +:model "PID 1145" +:interface "USB" +:usbid "0x04b8" "0x1145" +:status :good +:comment "EP-81xA?" + +:model "PID 1146" +:interface "USB" +:usbid "0x04b8" "0x1146" +:status :good +:comment "EP-71xA?" + +:model "PID 1147" +:interface "USB" +:usbid "0x04b8" "0x1147" +:status :good +:comment "XP-7xxx?" + +:model "PID 1148" +:interface "USB" +:usbid "0x04b8" "0x1148" +:status :good +:comment "PX-M8xxFX?" + +:model "PID 1149" +:interface "USB" +:usbid "0x04b8" "0x1149" +:status :good +:comment "WF-37xx?" + +:model "PID 114A" +:interface "USB" +:usbid "0x04b8" "0x114a" +:status :good +:comment "L61x0?" + +:model "PID 114B" +:interface "USB" +:usbid "0x04b8" "0x114b" +:status :good +:comment "EP-8xxA?" + +:model "PID 114C" +:interface "USB" +:usbid "0x04b8" "0x114c" +:status :good +:comment "EP-8xxA?" + +:model "PID 114D" +:interface "USB" +:usbid "0x04b8" "0x114d" +:status :good +:comment "L5xxx" + +:model "PID 114E" +:interface "USB" +:usbid "0x04b8" "0x114e" +:status :good +:comment "XP21xx" + +:model "PID 114F" +:interface "USB" +:usbid "0x04b8" "0x114f" +:status :good +:comment "L5xxx" + +:model "PID 1150" +:interface "USB" +:usbid "0x04b8" "0x1150" +:status :good +:comment "L5xxx" + +:model "PID 1151" +:interface "USB" +:usbid "0x04b8" "0x1151" +:status :good +:comment "L5xxx" + +:model "PID 1152" +:interface "USB" +:usbid "0x04b8" "0x1152" +:status :good +:comment "PX-Mxxxx" + +:model "PID 1153" +:interface "USB" +:usbid "0x04b8" "0x1153" +:status :good +:comment "PX-Mxxxx" + +:model "PID 1154" +:interface "USB" +:usbid "0x04b8" "0x1154" +:status :good +:comment "L61x0" + +:model "PID 1155" +:interface "USB" +:usbid "0x04b8" "0x1155" +:status :good +:comment "L61x0" + +:model "PID 1156" +:interface "USB" +:usbid "0x04b8" "0x1156" +:status :good +:comment "L61x0" + +:model "PID 1157" +:interface "USB" +:usbid "0x04b8" "0x1157" +:status :good +:comment "L3xxx" + +:model "PID 1158" +:interface "USB" +:usbid "0x04b8" "0x1158" +:status :good +:comment "L3xxx" + +:model "PID 1159" +:interface "USB" +:usbid "0x04b8" "0x1159" +:status :good + +:model "PID 115A" +:interface "USB" +:usbid "0x04b8" "0x115a" +:status :good +:comment "EP8xxA" + +:model "PID 115B" +:interface "USB" +:usbid "0x04b8" "0x115b" +:status :good +:comment "EP9xxA3" + +:model "PID 115C" +:interface "USB" +:usbid "0x04b8" "0x115c" +:status :good +:comment "EP7xxA" + +:model "PID 115D" +:interface "USB" +:usbid "0x04b8" "0x115c" +:status :good +:comment "EP9xxA3" + +:model "PID 1160" +:interface "USB" +:usbid "0x04b8" "0x1160" +:status :good +:comment "L5xxx" + +:model "PID 1161" +:interface "USB" +:usbid "0x04b8" "0x1161" +:status :good +:comment "LX-10xxx" + +:model "PID 1162" +:interface "USB" +:usbid "0x04b8" "0x1162" +:status :good +:comment "EWM7xxTR" + +:model "PID 1163" +:interface "USB" +:usbid "0x04b8" "0x1163" +:status :good +:comment "EPM5xxT" + +:model "PID 1164" +:interface "USB" +:usbid "0x04b8" "0x1164" +:status :good +:comment "L61x0" + +:model "PID 1165" +:interface "USB" +:usbid "0x04b8" "0x1165" +:status :good +:comment "L61x0" + +:model "PID 1166" +:interface "USB" +:usbid "0x04b8" "0x1166" +:status :good +:comment "L61x0" + +:model "PID 1169" +:interface "USB" +:usbid "0x04b8" "0x1169" +:status :good +:comment "EWM7xxTR" + +:model "PID 116A" +:interface "USB" +:usbid "0x04b8" "0x116a" +:status :good +:comment "EWM7xxTR" + +:model "PID 116B" +:interface "USB" +:usbid "0x04b8" "0x116b" +:status :good + +:model "PID 116E" +:interface "USB" +:usbid "0x04b8" "0x116e" +:status :good +:comment "EWM7xxTR" diff --git a/doc/descriptions.txt b/doc/descriptions.txt index d4cab94..13bd991 100644 --- a/doc/descriptions.txt +++ b/doc/descriptions.txt @@ -44,7 +44,7 @@ should be `unmaintained' or contain this tag together with the version number. `:new' indicates that the backend is brand-new in the latest SANE release if the keyword argument is `:yes'. Otherwise, `:no' should be used or `:new' -should be omitted at all. +should be omitted at all. Example: `:new :yes' The `:manpage' keyword token has one string argument that names the manual @@ -117,7 +117,7 @@ Multi-level keyword tokens -------------------------- The following keyword tokens can be used after `:backend', `:mfg', `:model', -and `:desc'. +and `:desc'. One or more `:url' keyword tokens can be used to point to more information about the entry the keyword refers to. The string argument contains a URL to diff --git a/doc/descriptions/agfafocus.desc b/doc/descriptions/agfafocus.desc index bcb482f..950dd58 100644 --- a/doc/descriptions/agfafocus.desc +++ b/doc/descriptions/agfafocus.desc @@ -1,6 +1,6 @@ :backend "agfafocus" :version "unmaintained" -:manpage "sane-agfafocus" +:manpage "sane-agfafocus" :devicetype :scanner diff --git a/doc/descriptions/apple.desc b/doc/descriptions/apple.desc index 046bb4e..462c745 100644 --- a/doc/descriptions/apple.desc +++ b/doc/descriptions/apple.desc @@ -6,9 +6,9 @@ ;:url "http://no.www.page.yet/" ; backend's web page :devicetype :scanner ; start of a list of devices.... - + :mfg "Apple" -:url "http://developer.apple.com/" +:url "http://developer.apple.com/" :model "Apple Scanner" :interface "SCSI" :status :good ; :alpha, :beta, :stable, :new diff --git a/doc/descriptions/avision.desc b/doc/descriptions/avision.desc index bff25f5..f428fe8 100644 --- a/doc/descriptions/avision.desc +++ b/doc/descriptions/avision.desc @@ -14,7 +14,7 @@ :backend "avision" ; version of backend -:version "Build: 296" +:version "Build: 296 (unmaintained)" ;status: alpha, beta, stable, new ;:status :stable @@ -854,4 +854,3 @@ :usbid "0x0482" "0x0335" :comment "1 pass, ??? dpi, A4" :status :untested - diff --git a/doc/descriptions/bh.desc b/doc/descriptions/bh.desc index cea51d7..08bf565 100644 --- a/doc/descriptions/bh.desc +++ b/doc/descriptions/bh.desc @@ -53,4 +53,3 @@ :comment "Simplex Scanner (with ACE)" ; :comment and :url specifiers are optional after :mfg, :model, :desc, ; and at the top-level. - diff --git a/doc/descriptions/canon.desc b/doc/descriptions/canon.desc index c6db616..78a20c4 100644 --- a/doc/descriptions/canon.desc +++ b/doc/descriptions/canon.desc @@ -10,7 +10,7 @@ :backend "canon" ; name of backend :manpage "sane-canon" -:version "1.12" ; version of backend +:version "1.12 (unmaintained)" ; version of backend ;:status :good ; :alpha, :beta, :stable, :new :url "http://www.rzg.mpg.de/~mpd/sane/" ; backend home page @@ -62,4 +62,3 @@ :interface "SCSI" :comment "Rebadged CanoScan 300" :status :good - diff --git a/doc/descriptions/canon_dr.desc b/doc/descriptions/canon_dr.desc index 8bf6964..7a45d25 100644 --- a/doc/descriptions/canon_dr.desc +++ b/doc/descriptions/canon_dr.desc @@ -10,10 +10,10 @@ ; :backend "canon_dr" ; name of backend -:url "http://www.thebility.com/canon/" -:version "51" ; version of backend +:url "http://www.thebility.com/canon/" +:version "57" ; version of backend :manpage "sane-canon_dr" ; name of manpage (if it exists) -:comment "Backend updated for SANE release 1.0.25, see sane-canon_dr manpage" +:comment "Backend updated for SANE release 1.0.28, see sane-canon_dr manpage" :devicetype :scanner ; start of a list of devices.... ; other types: :stillcam, :vidcam, ; :meta, :api @@ -262,8 +262,8 @@ :model "DR-X10C" :interface "USB SCSI" :usbid "0x1083" "0x1618" -:status :untested -:comment "Please test!" +:status :good +:comment "Simplex, duplex, all resolutions, binary/ht/gray/color, async mode, dropout-color, multifeed/staple detection, deskew, autocrop working. Imprinter, barcode, custom gamma and multistream unsupported" :model "DR-C120" :interface "USB" @@ -398,4 +398,3 @@ :interface "USB" :usbid "0x1083" "0x1648" :status :untested - diff --git a/doc/descriptions/canon_pp.desc b/doc/descriptions/canon_pp.desc index 6a3613a..37e08f8 100644 --- a/doc/descriptions/canon_pp.desc +++ b/doc/descriptions/canon_pp.desc @@ -59,4 +59,3 @@ :interface "Parport (ECP)" :status :good :comment "Just an N640P in a different box?" - diff --git a/doc/descriptions/cardscan.desc b/doc/descriptions/cardscan.desc index df106de..bfa61e6 100644 --- a/doc/descriptions/cardscan.desc +++ b/doc/descriptions/cardscan.desc @@ -10,7 +10,7 @@ ; :backend "cardscan" ; name of backend -:url "http://www.thebility.com/cardscan/" +:url "http://www.thebility.com/cardscan/" :version "3" ; version of backend :manpage "sane-cardscan" ; name of manpage (if it exists) :comment "Backend updated for SANE release 1.0.21, see sane-cardscan manpage" @@ -40,4 +40,3 @@ :usbid "0x0451" "0x6250" :status :good :comment "4 inch wide 8bit Gray or 24bit Color simplex card/receipt scanner" - diff --git a/doc/descriptions/coolscan.desc b/doc/descriptions/coolscan.desc index 6ccb496..ea33f5c 100644 --- a/doc/descriptions/coolscan.desc +++ b/doc/descriptions/coolscan.desc @@ -26,7 +26,7 @@ :model "LS-30" ; name models for above-specified mfg. :interface "SCSI" -:comment "alpha: only 24/30 bit RGB + 32/40 bit RGBI" +:comment "alpha: only 24/30 bit RGB + 32/40 bit RGBI" :status :basic :model "LS-2000" ; name models for above-specified mfg. @@ -36,7 +36,7 @@ :model "LS-1000" :interface "SCSI" -:comment "Doesn't support gamma correction" +:comment "Doesn't support gamma correction" :status :basic ; :comment and :url specifiers are optional after :mfg, :model, :desc, diff --git a/doc/descriptions/coolscan2.desc b/doc/descriptions/coolscan2.desc index 7e34b33..377bc99 100644 --- a/doc/descriptions/coolscan2.desc +++ b/doc/descriptions/coolscan2.desc @@ -38,19 +38,19 @@ :comment "needs linux kernel 2.4.19 or later" :model "LS 50 ED" -;:url "/unsupported/nikon-ls50-ed.html" +;:url "unsupported/nikon-ls50-ed.html" :interface "USB" :usbid "0x04b0" "0x4001" :status :minimal :model "Coolscan V ED" -:url "/unsupported/nikon-ls50-ed.html" +:url "unsupported/nikon-ls50-ed.html" :interface "USB" :usbid "0x04b0" "0x4001" :status :minimal :model "Super Coolscan LS-5000 ED" -:url "/unsupported/nikon-ls5000-ed.html" +:url "unsupported/nikon-ls5000-ed.html" :interface "USB" :usbid "0x04b0" "0x4002" :status :untested diff --git a/doc/descriptions/coolscan3.desc b/doc/descriptions/coolscan3.desc index 136d75f..f11e10d 100644 --- a/doc/descriptions/coolscan3.desc +++ b/doc/descriptions/coolscan3.desc @@ -38,13 +38,13 @@ :comment "Rebadged LS 40?" :model "LS 50 ED" -:url "/unsupported/nikon-ls50-ed.html" +:url "unsupported/nikon-ls50-ed.html" :interface "USB" :usbid "0x04b0" "0x4001" :status :minimal :model "Coolscan V ED" -:url "/unsupported/nikon-ls50-ed.html" +:url "unsupported/nikon-ls50-ed.html" :interface "USB" :usbid "0x04b0" "0x4001" :status :minimal @@ -60,7 +60,7 @@ :comment "needs linux kernel 2.4.19 or later" :model "Super Coolscan LS-5000 ED" -:url "/unsupported/nikon-ls5000-ed.html" +:url "unsupported/nikon-ls5000-ed.html" :interface "USB" :usbid "0x04b0" "0x4002" :status :untested diff --git a/doc/descriptions/dc210.desc b/doc/descriptions/dc210.desc index 1f6191e..3012fdd 100644 --- a/doc/descriptions/dc210.desc +++ b/doc/descriptions/dc210.desc @@ -6,7 +6,7 @@ :url "mailto:peter@fales-lorenz.net" ; backend's web page :devicetype :stillcam ; start of a list of devices.... - + :mfg "Kodak" :url "http://www.kodak.com/global/en/service/digCam/dc210/dc210.shtml" :model "DC210" diff --git a/doc/descriptions/dc240.desc b/doc/descriptions/dc240.desc index 6250ce5..cfc6ab2 100644 --- a/doc/descriptions/dc240.desc +++ b/doc/descriptions/dc240.desc @@ -6,7 +6,7 @@ :url "mailto:peter@fales-lorenz.net" ; backend's web page :devicetype :stillcam ; start of a list of devices.... - + :mfg "Kodak" :url "http://www.kodak.com/global/en/service/products/ekn006568.jhtml" :model "DC240" diff --git a/doc/descriptions/dell1600n_net.desc b/doc/descriptions/dell1600n_net.desc index 6759564..0c31ea1 100644 --- a/doc/descriptions/dell1600n_net.desc +++ b/doc/descriptions/dell1600n_net.desc @@ -14,4 +14,3 @@ :usbid "0x413c" "0x5250" :status :basic :comment "Supports colour and monochrome scans over ethernet (USB not supported)" - diff --git a/doc/descriptions/dmc.desc b/doc/descriptions/dmc.desc index 348d737..08a01bb 100644 --- a/doc/descriptions/dmc.desc +++ b/doc/descriptions/dmc.desc @@ -26,4 +26,3 @@ :status :good ; :comment and :url specifiers are optional after :mfg, :model, :desc, ; and at the top-level. - diff --git a/doc/descriptions/epson.desc b/doc/descriptions/epson.desc index 65f466f..fc901a7 100644 --- a/doc/descriptions/epson.desc +++ b/doc/descriptions/epson.desc @@ -316,10 +316,10 @@ :usbid "0x04b8" "0x082b" :status :good -:model "DX-6000" -:interface "USB" -:usbid "0x04b8" "0x082e" -:status :good +:model "DX-6000" +:interface "USB" +:usbid "0x04b8" "0x082e" +:status :good :model "DX-7400" :interface "USB" @@ -350,4 +350,3 @@ :interface "USB IEEE-1394" :usbid "0x04b8" "0x012c" :status :good - diff --git a/doc/descriptions/epson2.desc b/doc/descriptions/epson2.desc index 772a77f..d1f3bed 100644 --- a/doc/descriptions/epson2.desc +++ b/doc/descriptions/epson2.desc @@ -6,8 +6,6 @@ ; ; This file is derived from epkowa.desc, Copyright (C) Olaf Meeuwissen, ; distributed with "Image Scan!" and released under GPL. -; -; DO NOT EDIT - It's automatically generated. :backend "epson2" :version "1.0.124 (unmaintained)" @@ -163,6 +161,11 @@ :status :unsupported :comment "supported by the epkowa backend plus non-free interpreter" +:model "DS-G20000" +:interface "USB" +:usbid "0x04b8" "0x015b" +:status :good + :model "EP-702A" :interface "USB" :usbid "0x04b8" "0x0850" @@ -525,6 +528,11 @@ :status :good :comment "network interface supported via DFSG non-free iscan-network-nt package" +:model "ET-2650" +:interface "USB Ethernet" +:usbid "0x04b8" "0x1121" +:status :good + :model "Expression 636" :interface "SCSI" :status :complete @@ -590,6 +598,12 @@ :status :good :comment "overseas version of the ES-G11000" +:model "Expression 12000XL" +:interface "USB" +:usbid "0x04b8" "0x015b" +:status :good +:comment "overseas version of the DS-G20000" + :model "F-3200" ; product spec (JP) :interface "USB IEEE1394" :usbid "0x04b8" "0x080a" @@ -1040,6 +1054,16 @@ :status :complete :comment "network interface supported via DFSG non-free iscan-network-nt package
all-in-one" +:model "L380" +:interface "USB" +:usbid "0x04b8" "0x1120" +:status :good + +:model "L495" +:interface "USB Ethernet" +:usbid "0x04b8" "0x1121" +:status :good + :model "L550 Series" :interface "USB" :usbid "0x04b8" "0x08a9" @@ -3346,6 +3370,17 @@ :status :complete :comment "network interface supported via DFSG non-free iscan-network-nt package
all-in-one
overseas version of the PX-047A" +:model "XP-243 245 247 Series" +:interface "USB" +:usbid "0x04b8" "0x1116" +:status :good +:comment "network interface supported via DFSG non-free iscan-network-nt package
all-in-one" + +:model "XP-255" +:interface "USB" +:usbid "0x04b8" "0x113d" +:status :good + :model "XP-300 Series" :interface "USB" :usbid "0x04b8" "0x0898" @@ -3382,6 +3417,12 @@ :status :complete :comment "network interface supported via DFSG non-free iscan-network-nt package
all-in-one" +:model "XP-427" +:interface "USB" +:usbid "0x04b8" "0x1116" +:status :good +:comment "network interface supported via DFSG non-free iscan-network-nt package
all-in-one" + :model "XP-600 Series" :interface "USB" :usbid "0x04b8" "0x089e" @@ -3487,4 +3528,3 @@ :interface "USB" :usbid "0x04b8" "0x08a7" :status :good - diff --git a/doc/descriptions/epsonds.desc b/doc/descriptions/epsonds.desc index 99121d1..690dd25 100644 --- a/doc/descriptions/epsonds.desc +++ b/doc/descriptions/epsonds.desc @@ -94,4 +94,3 @@ :interface "USB" :usbid "0x04b8" "0x08cc" :status :untested - diff --git a/doc/descriptions/fujitsu.desc b/doc/descriptions/fujitsu.desc index 60f8c5b..99e5d7a 100644 --- a/doc/descriptions/fujitsu.desc +++ b/doc/descriptions/fujitsu.desc @@ -11,10 +11,10 @@ :backend "fujitsu" ; name of backend -:url "http://www.thebility.com/fujitsu/" -:version "133" ; version of backend +:url "http://www.thebility.com/fujitsu/" +:version "134" ; version of backend :manpage "sane-fujitsu" ; name of manpage (if it exists) -:comment "Backend updated for SANE release 1.0.26, see sane-fujitsu manpage" +:comment "Backend updated for SANE release 1.0.28, see sane-fujitsu manpage" :devicetype :scanner ; start of a list of devices.... ; other types: :stillcam, :vidcam, ; :meta, :api @@ -26,7 +26,7 @@ ; DISCONTINUED OLDER MODELS, SMALL :model "M3091DC" :interface "SCSI" -:url "http://www.remote.org/frederik/projects/software/sane/" +:url "http://www.remote.org/frederik/projects/software/sane/" :status :complete :comment "small, old, discontinued" @@ -131,12 +131,6 @@ :usbid "0x04c5" "0x116f" :comment "small, recent, discontinued" -:model "fi-6125" -:interface "USB" -:status :complete -:usbid "0x04c5" "0x11ee" -:comment "small, recent, discontinued" - :model "fi-6130" :interface "USB" :status :complete @@ -563,34 +557,11 @@ :status :untested :usbid "0x04c5" "0x14bd" -:model "fi-6225" -:interface "USB" -:status :untested -:usbid "0x04c5" "0x11ef" - :model "ScanSnap iX500EE" :interface "USB" :status :untested :usbid "0x04c5" "0x13f3" -:model "ScanPartner SP25" -:interface "USB" -:status :unsupported -:usbid "0x04c5" "0x1409" -:comment "Possibly Genesys protocol?" - -:model "ScanPartner SP30" -:interface "USB" -:status :unsupported -:usbid "0x04c5" "0x140a" -:comment "Possibly Genesys protocol?" - -:model "ScanPartner SP30F" -:interface "USB" -:status :unsupported -:usbid "0x04c5" "0x140c" -:comment "Possibly Genesys protocol?" - :model "N7100" :interface "USB Ethernet" :status :untested diff --git a/doc/descriptions/genesys.desc b/doc/descriptions/genesys.desc index f6fb8a3..77c1fd8 100644 --- a/doc/descriptions/genesys.desc +++ b/doc/descriptions/genesys.desc @@ -181,6 +181,13 @@ :status :unsupported :comment "GL847 based, to be added to the genesys backend" +:model "CanoScan 8600F" +:url "unsupported/canon-8600.html" +:interface "USB" +:usbid "0x04a9" "0x2229" +:status :basic +:comment "normal and transparency scans work up to 1200 dpi resolution" + :model "CanoScan 700F" :interface "USB" :usbid "0x04a9" "0x1907" diff --git a/doc/descriptions/gphoto2.desc b/doc/descriptions/gphoto2.desc index f341649..dacc15d 100644 --- a/doc/descriptions/gphoto2.desc +++ b/doc/descriptions/gphoto2.desc @@ -6,7 +6,7 @@ :url "mailto:peter@fales-lorenz.net" ; backend's web page :devicetype :api ; start of a list of devices.... - + :desc "Multiple cameras supported by the gphoto2 libraries" :url "http://www.gphoto.org" ;:interface "USB, serial port" diff --git a/doc/descriptions/gt68xx.desc b/doc/descriptions/gt68xx.desc index 16e4af9..f101cd1 100644 --- a/doc/descriptions/gt68xx.desc +++ b/doc/descriptions/gt68xx.desc @@ -48,7 +48,7 @@ :url "http://www.genius-kye.com/" :model "ColorPage Slim 1200" -;:url "/unsupported/genius-colorpage-slim-1200.html" +;:url "unsupported/genius-colorpage-slim-1200.html" :interface "USB" :usbid "0x0458" "0x201e" :status :untested @@ -130,7 +130,7 @@ :mfg "Medion/Lifetec/Tevion/Cytron" :url "http://www.medion.com" :comment "Sold by Aldi and Tchibo." - + :model "MD 4394" :interface "USB" :usbid "0x05d8" "0x4002" @@ -406,6 +406,12 @@ :status :good :comment "Same as OpticSlim 2400." +:model "OpticSlim 500 plus" +:interface "USB" +:usbid "0x07b3" "0x046e" +:status :good +:comment "Need firmware from windows driver. Image is upside down because hardware in this model is upside down. Buttons not tested." + :model "Iriscan Express 2" :interface "USB" :usbid "0x07b3" "0x045f" diff --git a/doc/descriptions/hp.desc b/doc/descriptions/hp.desc index 24f4f4a..8cf94af 100644 --- a/doc/descriptions/hp.desc +++ b/doc/descriptions/hp.desc @@ -124,4 +124,3 @@ ; :comment and :url specifiers are optional after :mfg, :model, :desc, ; and at the top-level. - diff --git a/doc/descriptions/hp3500.desc b/doc/descriptions/hp3500.desc index b67c01f..a8be5ef 100644 --- a/doc/descriptions/hp3500.desc +++ b/doc/descriptions/hp3500.desc @@ -9,7 +9,7 @@ ; :backend "hp3500" ; name of backend -:version "1.1" ; version of backend +:version "1.1 (unmaintained)" ; version of backend :manpage "sane-hp3500" ; name of manpage (if it exists) :url "http://projects.troy.rollo.name/rt-scanners/" ; backend's web page :comment "HP3500 series scanners." @@ -42,6 +42,3 @@ ; :comment and :url specifiers are optional after :mfg, :model, :desc, ; and at the top-level. - - - diff --git a/doc/descriptions/hp3900.desc b/doc/descriptions/hp3900.desc index d1aa9a1..6c26b11 100644 --- a/doc/descriptions/hp3900.desc +++ b/doc/descriptions/hp3900.desc @@ -79,4 +79,3 @@ :usbid "0x04a5" "0x2211" :status :minimal :comment "developing yet" - diff --git a/doc/descriptions/hp4200.desc b/doc/descriptions/hp4200.desc index 6c25882..8fe9b0f 100644 --- a/doc/descriptions/hp4200.desc +++ b/doc/descriptions/hp4200.desc @@ -40,4 +40,4 @@ :comment "8bpp color, 75/150/300/600 dpi only" ; :comment and :url specifiers are optional after :mfg, :model, :desc, -; and at the top-level. +; and at the top-level. diff --git a/doc/descriptions/hp5400.desc b/doc/descriptions/hp5400.desc index 49d386f..1b6cb20 100644 --- a/doc/descriptions/hp5400.desc +++ b/doc/descriptions/hp5400.desc @@ -43,6 +43,3 @@ ; :comment and :url specifiers are optional after :mfg, :model, :desc, ; and at the top-level. - - - diff --git a/doc/descriptions/hp5590.desc b/doc/descriptions/hp5590.desc index 6bb9ff5..5062f75 100644 --- a/doc/descriptions/hp5590.desc +++ b/doc/descriptions/hp5590.desc @@ -52,4 +52,3 @@ :usbid "0x03f0" "0x1805" :status :complete :comment "Lineart/grayscale/color (24 bit), 100/200/300/600/1200/2400 DPI, flatbed/ADF/ADF duplex/TMA slides/TMA negatives" - diff --git a/doc/descriptions/hpsj5s.desc b/doc/descriptions/hpsj5s.desc index c4bc100..4aa4de9 100644 --- a/doc/descriptions/hpsj5s.desc +++ b/doc/descriptions/hpsj5s.desc @@ -29,4 +29,3 @@ ; :comment and :url specifiers are optional after :mfg, :model, :desc, ; and at the top-level. - diff --git a/doc/descriptions/hs2p.desc b/doc/descriptions/hs2p.desc index d02df83..4e2c2b4 100644 --- a/doc/descriptions/hs2p.desc +++ b/doc/descriptions/hs2p.desc @@ -10,7 +10,7 @@ :backend "hs2p" ; name of backend :url "http://www.acjlaw.net:8080/~jeremy/Ricoh/" -:version "1.00" ; version of backend +:version "1.00 (unmaintained)" ; version of backend ; :manpage "sane-hs2p" ; name of manpage (if it exists) :comment "This backend has been tested with the IS450DE (Duplex/Endorser). All major functions necessary for scanning are supported. This backend should work with all Ricoh scanners in the IS450 family as well as the IS420 series, but the IS420 has not yet been tested. Features provided by the optional Image Processing Unit (IPU) are not yet integrated into the backend, as my scanner lacks the IPU." diff --git a/doc/descriptions/kodak.desc b/doc/descriptions/kodak.desc index 7f0108a..7fd2167 100644 --- a/doc/descriptions/kodak.desc +++ b/doc/descriptions/kodak.desc @@ -1,5 +1,5 @@ :backend "kodak" -:url "http://www.thebility.com/kodak/" +:url "http://www.thebility.com/kodak/" :version "7" :manpage "sane-kodak" :comment "New backend for SANE release 1.0.21, see sane-kodak manpage" @@ -187,4 +187,3 @@ :interface "SCSI" :status :untested :comment "Please test!" - diff --git a/doc/descriptions/kodakaio.desc b/doc/descriptions/kodakaio.desc index 8c9c4ce..c2e12c4 100644 --- a/doc/descriptions/kodakaio.desc +++ b/doc/descriptions/kodakaio.desc @@ -1,5 +1,5 @@ :backend "kodakaio" -:url "http://sourceforge.net/projects/cupsdriverkodak/" +:url "http://sourceforge.net/projects/cupsdriverkodak/" :version "2.7.2" :manpage "sane-kodakaio" :comment "Backend for Kodak AiO ESP and Hero printers. Also possibly Advent AWL10" @@ -180,6 +180,3 @@ :usbid "0x040a" "0x4060" :status :untested :comment "Please test!" - - - diff --git a/doc/descriptions/kvs20xx.desc b/doc/descriptions/kvs20xx.desc index 35178e1..4463b8e 100644 --- a/doc/descriptions/kvs20xx.desc +++ b/doc/descriptions/kvs20xx.desc @@ -45,4 +45,3 @@ :interface "USB" :usbid "0x04da" "0x1009" :status :untested - diff --git a/doc/descriptions/kvs40xx.desc b/doc/descriptions/kvs40xx.desc index 8cc054f..24684be 100644 --- a/doc/descriptions/kvs40xx.desc +++ b/doc/descriptions/kvs40xx.desc @@ -32,4 +32,3 @@ :interface "USB" :usbid "0x04da" "0x100e" :status :untested - diff --git a/doc/descriptions/leo.desc b/doc/descriptions/leo.desc index cf0cec3..02a1156 100644 --- a/doc/descriptions/leo.desc +++ b/doc/descriptions/leo.desc @@ -17,7 +17,7 @@ :devicetype :scanner ; start of a list of devices.... :mfg "LEO" -:model "LEOScan S3" +:model "LEOScan S3" :interface "SCSI" :comment "FCC ID LUZFS1130" :status :good @@ -32,5 +32,3 @@ :model "FS-1130 Colorpage Scanner" :interface "SCSI" :status :good - - diff --git a/doc/descriptions/lexmark.desc b/doc/descriptions/lexmark.desc index ac0b97c..a97dd69 100644 --- a/doc/descriptions/lexmark.desc +++ b/doc/descriptions/lexmark.desc @@ -15,7 +15,7 @@ :url "http://stef.dev.free.fr/sane/lexmark" ; backend's web page -:comment "This backend supports lexmark x1100 series scanners." +:comment "This backend supports lexmark x1100 series scanners." ; comment about the backend :devicetype :scanner ; start of a list of devices.... diff --git a/doc/descriptions/ma1509.desc b/doc/descriptions/ma1509.desc index d28aeed..99456b2 100644 --- a/doc/descriptions/ma1509.desc +++ b/doc/descriptions/ma1509.desc @@ -26,7 +26,7 @@ :interface "USB" :usbid "0x055f" "0x0010" :status :good -:comment "Works upto 600 dpi. No support for TA and ADF yet." +:comment "Works upto 600 dpi. No support for TA and ADF yet." :mfg "Fujitsu" ; name a manufacturer :url "http://www.fujitsu.com/" @@ -35,4 +35,3 @@ :usbid "0x04c5" "0x1040" :status :unsupported :comment "Uses ma1509 chip, but very different from other scanners supported by the ma1509 backend" - diff --git a/doc/descriptions/magicolor.desc b/doc/descriptions/magicolor.desc index 7f0c341..f650c90 100644 --- a/doc/descriptions/magicolor.desc +++ b/doc/descriptions/magicolor.desc @@ -39,4 +39,3 @@ :usbid "ignore" :status :unsupported :comment "Uses a similar protocol as the magicolor 1690MF, according to Ilia Sotnikov." - diff --git a/doc/descriptions/matsushita.desc b/doc/descriptions/matsushita.desc index 51f330f..e671feb 100644 --- a/doc/descriptions/matsushita.desc +++ b/doc/descriptions/matsushita.desc @@ -69,6 +69,3 @@ ; :comment and :url specifiers are optional after :mfg, :model, :desc, ; and at the top-level. - - - diff --git a/doc/descriptions/microtek.desc b/doc/descriptions/microtek.desc index 09203f5..e573cba 100644 --- a/doc/descriptions/microtek.desc +++ b/doc/descriptions/microtek.desc @@ -1,6 +1,6 @@ :backend "microtek" :version "0.13.1 (unmaintained)" -:manpage "sane-microtek" +:manpage "sane-microtek" :url "http://www.mir.com/mtek/" :devicetype :scanner diff --git a/doc/descriptions/microtek2.desc b/doc/descriptions/microtek2.desc index ae2b78d..8380d17 100644 --- a/doc/descriptions/microtek2.desc +++ b/doc/descriptions/microtek2.desc @@ -86,7 +86,7 @@ :status :good :model "ScanMaker 9800XL" -:url "/unsupported/microtek-scanmaker-9800.html" +:url "unsupported/microtek-scanmaker-9800.html" :interface "IEEE-1394" :status :minimal :comment "IEEE-1394 seems to work. See link. More reports welcome." @@ -164,4 +164,3 @@ :model "ColorPage-EP" :interface "Parport" :status :good - diff --git a/doc/descriptions/niash.desc b/doc/descriptions/niash.desc index 9be55f2..e4b66d9 100644 --- a/doc/descriptions/niash.desc +++ b/doc/descriptions/niash.desc @@ -57,7 +57,3 @@ :interface "USB" :usbid "0x047b" "0x1000" :status :complete - - - - diff --git a/doc/descriptions/p5.desc b/doc/descriptions/p5.desc index 7548902..b62a95a 100644 --- a/doc/descriptions/p5.desc +++ b/doc/descriptions/p5.desc @@ -24,7 +24,7 @@ :model "PagePartner" :interface "Parport (EPP/ECP)" -:status :basic +:status :basic :comment "Sheetfed scanner, work in gray and color, but uncalibrated scans" ; :comment and :url specifiers are optional after :mfg, :model, :desc, diff --git a/doc/descriptions/pixma.desc b/doc/descriptions/pixma.desc index ad33faa..be2ec1d 100644 --- a/doc/descriptions/pixma.desc +++ b/doc/descriptions/pixma.desc @@ -11,7 +11,7 @@ ; See doc/descriptions.txt for details. :backend "pixma" ; name of backend -:version "0.17.37" ; version of backend (or "unmaintained") +:version "0.23.0" ; version of backend (or "unmaintained") :manpage "sane-pixma" ; name of manpage (if it exists) ;:comment "Devices marked as experimantal are disabled by default. See the manual page for how to enable them." @@ -28,8 +28,14 @@ :status :untested :comment "Testers needed!" -:model "PIXMA E460 Series" +:model "PIXMA E410 Series" :interface "USB" +:usbid "0x04a9" "0x181e" +:status :untested +:comment "Testers needed!" + +:model "PIXMA E460 Series" +:interface "USB Ethernet" :usbid "0x04a9" "0x1788" :status :untested :comment "Testers needed!" @@ -55,8 +61,8 @@ :model "PIXMA E510" :interface "USB" :usbid "0x04a9" "0x1761" -:status :untested -:comment "Testers needed!" +:status :complete +:comment "All resolutions supported (up to 1200DPI)." :model "PIXMA E560" :interface "USB" @@ -76,12 +82,54 @@ :status :untested :comment "Testers needed!" -:model "PIXMA G3000" -:interface "USB WIFI" +:model "PIXMA E3100 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1828" +:status :untested +:comment "Testers needed!" + +:model "PIXMA E4200 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1855" +:status :untested +:comment "Testers needed!" + +:model "PIXMA G2000" +:interface "USB" +:usbid "0x04a9" "0x1795" +:status :complete +:comment "All resolutions supported (up to 600DPI)." + +:model "PIXMA G2100" +:interface "USB" +:usbid "0x04a9" "0x1795" +:status :complete +:comment "All resolutions supported (up to 600DPI)." + +:model "PIXMA G3000 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1794" +:status :untested +:comment "Testers needed!" + +:model "PIXMA G3010 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x183b" +:status :untested +:comment "Testers needed!" + +:model "PIXMA G4000 Series" +:interface "USB WiFi" :usbid "0x04a9" "0x181d" :status :untested :comment "Testers needed!" +:model "PIXMA G4010 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x183d" +:status :untested +:comment "Testers needed!" + :model "PIXMA MG2100 Series" :interface "USB" :usbid "0x04a9" "0x1751" @@ -245,7 +293,7 @@ :comment "Testers needed!" :model "PIXMA MG7100 Series" -:interface "USB" +:interface "USB Ethernet WiFi" :usbid "0x04a9" "0x1772" :status :complete :comment "All resolutions supported (up to 2400DPI)." @@ -274,18 +322,6 @@ :status :complete :comment "All resolutions supported (up to 4800DPI)." -:model "PIXUS MP5" -:interface "USB" -:usbid "0x04a9" "0x2635" -:status :untested -:comment "Testers needed! Identical with imageCLASS MPC190." - -:model "PIXUS MP10" -:interface "USB" -:usbid "0x04a9" "0x261f" -:status :complete -:comment "All resolutions supported (up to 600DPI). Identical with imageCLASS MPC200." - :model "PIXMA MP140" :interface "USB" :usbid "0x04a9" "0x172b" @@ -791,27 +827,207 @@ :status :complete :comment "Flatbed and ADF scan. All resolutions supported (up to 4800DPI)" -:model "PIXMA TS9000 Series" +:model "PIXMA TR4500 Series" :interface "USB WiFi" -:usbid "0x04a9" "0x179f" +:usbid "0x04a9" "0x1854" :status :untested :comment "Testers needed!" -:model "PIXMA TS8000 Series" +:model "PIXMA TR7500 Series" :interface "USB WiFi" -:usbid "0x04a9" "0x1800" +:usbid "0x04a9" "0x1824" :status :untested :comment "Testers needed!" -:model "PIXMA TS6000 Series" +:model "PIXMA TR7530 Series" :interface "USB WiFi" -:usbid "0x04a9" "0x1801" +:usbid "0x04a9" "0x1845" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TR8500 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x1823" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TR8530 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x1844" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TR8580 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x1841" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TR9530 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x185e" :status :untested :comment "Testers needed!" +:model "PIXMA TS3100 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1827" +:status :good +:comment "All resolutions supported (up to 600DPI). WiFi not working." + :model "PIXMA TS5000 Series" :interface "USB WiFi" :usbid "0x04a9" "0x1802" +:status :good +:comment "All resolutions supported (up to 1200DPI). WiFi not working." + +:model "PIXMA TS5100 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1825" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS6000 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1801" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS6100 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1822" +:status :good +:comment "All resolutions supported (up to 2400DPI). WiFi not working." + +:model "PIXMA TS6130 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1843" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS6180 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1840" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS6200 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1856" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS6230 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1858" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS6280 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1857" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS8000 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1800" +:status :good +:comment "All resolutions supported (up to 2400DPI). WiFi not working." + +:model "PIXMA TS8100 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1821" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS8130 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1842" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS8180 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x183f" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS8200 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1859" +:status :good +:comment "All resolutions supported (up to 1200DPI). WiFi not working." + +:model "PIXMA TS8230 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x185b" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS8280 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x185a" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS9000 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x179f" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS9100 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x1820" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS9180 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x183e" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS9500 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x185c" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS9580 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x185d" +:status :untested +:comment "Testers needed!" + +:model "PIXUS MP5" +:interface "USB" +:usbid "0x04a9" "0x2635" +:status :untested +:comment "Testers needed! Identical with imageCLASS MPC190." + +:model "PIXUS MP10" +:interface "USB" +:usbid "0x04a9" "0x261f" +:status :complete +:comment "All resolutions supported (up to 600DPI). Identical with imageCLASS MPC200." + +:model "PIXUS XK50 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1846" +:status :untested +:comment "Testers needed!" + +:model "PIXUS XK70 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1847" +:status :untested +:comment "Testers needed!" + +:model "PIXUS XK80 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1873" :status :untested :comment "Testers needed!" @@ -833,11 +1049,29 @@ :status :complete :comment "All resolutions supported (up to 600DPI)" +:model "imageCLASS D550" +:interface "USB" +:usbid "0x04a9" "0x2738" +:status :untested +:comment "Testers needed!" + +:model "imageCLASS D570" +:interface "USB" +:usbid "0x04a9" "0x27e8" +:status :untested +:comment "Testers needed!" + +:model "i-SENSYS MF110 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27ed" +:status :untested +:comment "Testers needed! WiFi only for w Types." + :model "i-SENSYS MF210 Series" :interface "USB Ethernet WiFi" :usbid "0x04a9" "0x27a9" -:status :untested -:comment "Testers needed!" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI). WiFi only for w Types." :model "i-SENSYS MF220 Series" :interface "USB Ethernet WiFi" @@ -854,8 +1088,88 @@ :model "i-SENSYS MF240 Series" :interface "USB Ethernet WiFi" :usbid "0x04a9" "0x27d2" +:status :good +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI, ADF up to 300DPI). 216mm image width buggy, restricted to 215mm." + +:model "i-SENSYS MF260 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27f4" +:status :untested +:comment "Testers needed! Duplex only for MF269." + +:model "i-SENSYS MF410 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27c0" +:status :untested +:comment "Testers needed!" + +:model "i-SENSYS MF420 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27f1" +:status :untested +:comment "Testers needed!" + +:model "i-SENSYS MF510 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27c2" +:status :untested +:comment "Testers needed!" + +:model "i-SENSYS MF520 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27f0" +:status :untested +:comment "Testers needed!" + +:model "i-SENSYS MF620 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27b4" :status :complete -:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI). ADF only 300DPI." +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI)." + +:model "i-SENSYS MF630 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27e1" +:status :untested +:comment "Testers needed!" + +:model "i-SENSYS MF640 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27fe" +:status :untested +:comment "Testers needed!" + +:model "i-SENSYS MF730 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27e4" +:status :good +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI). Ethernet and WiFi not tested yet" + + +:model "imageCLASS MF634C" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27e2" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI)." + + +:model "imageCLASS MF733Cdw" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27e5" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI)." + +:model "i-SENSYS MF731/733" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27e5" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI)." + +:model "i-SENSYS MF740 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27fb" +:status :untested +:comment "Testers needed!" :model "i-SENSYS MF810/820" :interface "USB Ethernet" @@ -1070,8 +1384,8 @@ :model "imageCLASS MF8030" :interface "USB" :usbid "0x04a9" "0x2707" -:status :untested -:comment "Testers needed!" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI)" :model "imageCLASS MF8170c" :interface "USB" @@ -1118,30 +1432,54 @@ :model "imageRUNNER 1133" :interface "USB" :usbid "0x04a9" "0x2742" -:status :untested -:comment "Testers needed!" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI)" :model "MAXIFY MB2000 Series" -:interface "USB" +:interface "USB WiFi" :usbid "0x04a9" "0x1778" -:status :untested -:comment "Testers needed!" +:status :good +:comment "Flatbed works, All resolutions supported (up to 1200DPI), ADF does not work" + +:model "MAXIFY MB2100 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1793" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 1200DPI)." :model "MAXIFY MB2300 Series" -:interface "USB" +:interface "USB Ethernet WiFi" :usbid "0x04a9" "0x1779" -:status :untested -:comment "Testers needed!" +:status :good +:comment "Flatbed and ADF scan. All resolutions supported (up to 1200DPI), ADF does not work" + +:model "MAXIFY MB2700 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1792" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 1200DPI)." :model "MAXIFY MB5000 Series" :interface "USB" :usbid "0x04a9" "0x1776" -:status :complete +:status :good :comment "Flatbed works, All resolutions supported (up to 1200DPI), ADF does not work" +:model "MAXIFY MB5100 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x1790" +:status :untested +:comment "Testers needed!" + :model "MAXIFY MB5300 Series" -:interface "USB" +:interface "USB Ethernet" :usbid "0x04a9" "0x1777" +:status :good +:comment "1200dpi scans do not work" + +:model "MAXIFY MB5400 Series" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x178f" :status :untested :comment "Testers needed!" @@ -1162,3 +1500,15 @@ :usbid "0x04a9" "0x190d" :status :complete :comment "Full flatbed support up to 4800DPI (Note: flatbed does not have 9600DPI capability). Full TPU support (negatives, slides and infrared) up to 9600DPI." + +:model "CanoScan LiDE 300" +:interface "USB" +:usbid "0x04a9" "0x1913" +:status :complete +:comment "Support up to 4800DPI (Note: does not have less than 300DPI support)" + +:model "CanoScan LiDE 400" +:interface "USB" +:usbid "0x04a9" "0x1912" +:status :complete +:comment "Support up to 4800DPI (Note: does not have less than 300DPI support)" diff --git a/doc/descriptions/plustek.desc b/doc/descriptions/plustek.desc index ba69b47..a8204aa 100644 --- a/doc/descriptions/plustek.desc +++ b/doc/descriptions/plustek.desc @@ -5,8 +5,6 @@ :backend "plustek" :version "0.52" :manpage "sane-plustek" -; backend's web page -:url "http://www.gjaeger.de/scanner/plustek/" :devicetype :scanner @@ -202,27 +200,51 @@ :mfg "Canon" :url "http://www.canon.com/" -:model "CanoScan N650U/N656U" +:model "CanoScan N650U" :interface "USB" :usbid "0x04a9" "0x2206" :status :complete +:model "CanoScan N656U" +:interface "USB" +:usbid "0x04a9" "0x2206" +:status :complete +:comment "Identical to CanoScan N650U" + :model "CanoScan N1220U" :interface "USB" :usbid "0x04a9" "0x2207" :status :complete -:model "CanoScan N670U/N676U/LiDE20" +:model "CanoScan N670U" +:interface "USB" +:usbid "0x04a9" "0x220d" +:status :complete + +:model "CanoScan N676U" :interface "USB" :usbid "0x04a9" "0x220d" :status :complete +:comment "Identical to CanoScan N670U" + +:model "CanoScan LiDE 20" +:interface "USB" +:usbid "0x04a9" "0x220d" +:status :complete +:comment "Identical to CanoScan N670U" + +:model "CanoScan N1240U" +:interface "USB" +:usbid "0x04a9" "0x220e" +:status :complete -:model "CanoScan N1240U/LiDE30" +:model "CanoScan LiDE 30" :interface "USB" :usbid "0x04a9" "0x220e" :status :complete +:comment "Identical to CanoScan N1240U" -:model "CanoScan LiDE25" +:model "CanoScan LiDE 25" :interface "USB" :usbid "0x04a9" "0x2220" :status :good diff --git a/doc/descriptions/plustek_pp.desc b/doc/descriptions/plustek_pp.desc index 5b1cec5..fd19262 100644 --- a/doc/descriptions/plustek_pp.desc +++ b/doc/descriptions/plustek_pp.desc @@ -5,8 +5,6 @@ :backend "plustek_pp" :version "0.43" :manpage "sane-plustek_pp" -; backend's web page -:url "http://www.gjaeger.de/scanner/plustek_pp/" :devicetype :scanner @@ -153,4 +151,3 @@ :interface "Parport (SPP, EPP)" :status :complete :comment "Reported as P12" - diff --git a/doc/descriptions/ricoh.desc b/doc/descriptions/ricoh.desc index b4928f2..bdaea31 100644 --- a/doc/descriptions/ricoh.desc +++ b/doc/descriptions/ricoh.desc @@ -26,4 +26,3 @@ :interface "SCSI" :status :basic ;:comment "?" - diff --git a/doc/descriptions/ricoh2.desc b/doc/descriptions/ricoh2.desc new file mode 100644 index 0000000..55ee372 --- /dev/null +++ b/doc/descriptions/ricoh2.desc @@ -0,0 +1,40 @@ +; +; 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?). +; +; See doc/descriptions.txt for details. + +:backend "ricoh2" ; name of backend +:version "1.0" ; version of backend (or "unmaintained") +:new :yes ; Is the backend new to this SANE release? + ; :yes or :no +:manpage "sane-ricoh2" ; name of manpage (if it exists) +:url "http://www.ricoh.com/" ; backend's web page + +:devicetype :scanner ; start of a list of devices.... + ; other types: :stillcam, :vidcam, + ; :meta, :api + +:mfg "Ricoh" ; name a manufacturer +:url "http://www.ricoh.com/" ; manufacturer's URL + +:model "SG-3100SNw" +:status :basic +:interface "USB" +:usbid "0x05ca" "0x0438" + +:model "SP-100SU" +:status :untested +:interface "USB" +:usbid "0x05ca" "0x042c" + +:model "SP-111SU" +:status :basic +:interface "USB" +:usbid "0x05ca" "0x0448" diff --git a/doc/descriptions/rts8891.desc b/doc/descriptions/rts8891.desc index e37f158..7d5a63c 100644 --- a/doc/descriptions/rts8891.desc +++ b/doc/descriptions/rts8891.desc @@ -12,10 +12,10 @@ :backend "rts8891" ; name of backend :version "1.0-0 (unmaintained)" ; version of backend (or "unmaintained") :manpage "sane-rts8891" ; name of manpage (if it exists) -:url "http://stef.dev.free.fr/sane/rts8891/index.html" +:url "http://stef.dev.free.fr/sane/rts8891/index.html" ; backend's web page -:comment "This backend supports Realtek RTS8891 ASIC bases scanners." +:comment "This backend supports Realtek RTS8891 ASIC bases scanners." ; comment about the backend :devicetype :scanner ; start of a list of devices.... diff --git a/doc/descriptions/sceptre.desc b/doc/descriptions/sceptre.desc index aa4f515..e636bdb 100644 --- a/doc/descriptions/sceptre.desc +++ b/doc/descriptions/sceptre.desc @@ -18,13 +18,13 @@ :mfg "Sceptre" :url "http://www.sceptre.com/" -:model "Vividscan S1200" +:model "Vividscan S1200" :interface "SCSI" :status :basic :mfg "Komodo" :url "http://www.komodo.com/" -:model "S1200" +:model "S1200" :interface "SCSI" :status :untested :comment "rebadged Sceptre S1200" diff --git a/doc/descriptions/sharp.desc b/doc/descriptions/sharp.desc index 63000af..10349ba 100644 --- a/doc/descriptions/sharp.desc +++ b/doc/descriptions/sharp.desc @@ -1,7 +1,7 @@ :backend "sharp" ; name of backend :version "0.32 (unmaintained)" ; version of backend ;:status :beta ; :alpha, :beta, :stable, :new -:url "http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html" +:url "http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html" ; backend's homepage :manpage "sane-sharp" :devicetype :scanner diff --git a/doc/descriptions/sm3840.desc b/doc/descriptions/sm3840.desc index e40193f..75c499c 100644 --- a/doc/descriptions/sm3840.desc +++ b/doc/descriptions/sm3840.desc @@ -14,7 +14,7 @@ :version "1.1 (unmaintained)" ; version of backend (or "unmaintained") :manpage "sane-sm3840" ; name of manpage (if it exists) :url "http://www.ziplabel.com/sm3840/" ; backend's web page -:comment "This reverse-engineered backend supports the USB ScanMaker 3840 model" +:comment "This reverse-engineered backend supports the USB ScanMaker 3840 model" ; comment about the backend :devicetype :scanner ; start of a list of devices.... @@ -52,5 +52,3 @@ ; and at the top-level. ; :status specifier is optional after :model and at the top-level - - diff --git a/doc/descriptions/tamarack.desc b/doc/descriptions/tamarack.desc index 731e6b8..7b52fd5 100644 --- a/doc/descriptions/tamarack.desc +++ b/doc/descriptions/tamarack.desc @@ -32,4 +32,3 @@ :interface "SCSI" :status :good :comment "3 pass, 600 DPI" - diff --git a/doc/descriptions/teco1.desc b/doc/descriptions/teco1.desc index e5b4132..1b37918 100644 --- a/doc/descriptions/teco1.desc +++ b/doc/descriptions/teco1.desc @@ -122,6 +122,3 @@ ; :comment and :url specifiers are optional after :mfg, :model, :desc, ; and at the top-level. - - - diff --git a/doc/descriptions/teco3.desc b/doc/descriptions/teco3.desc index a2f3e92..0a84ab2 100644 --- a/doc/descriptions/teco3.desc +++ b/doc/descriptions/teco3.desc @@ -57,6 +57,3 @@ ; :comment and :url specifiers are optional after :mfg, :model, :desc, ; and at the top-level. - - - diff --git a/doc/descriptions/template.desc. b/doc/descriptions/template.desc. index 25b9b5a..a6b6bab 100644 --- a/doc/descriptions/template.desc. +++ b/doc/descriptions/template.desc. @@ -17,7 +17,7 @@ :manpage "sane-template" ; name of manpage (if it exists) :url "http://www.luser.com/temp/" ; backend's web page :url "http://www.luser.com/b/" ; another backend webpage -:comment "This backend supports only the USB and SCSI models" +:comment "This backend supports only the USB and SCSI models" ; comment about the backend :devicetype :scanner ; start of a list of devices.... @@ -77,5 +77,3 @@ ; and at the top-level. ; :status specifier is optional after :model and at the top-level - - diff --git a/doc/descriptions/test.desc b/doc/descriptions/test.desc index 657c2ea..e0989f4 100644 --- a/doc/descriptions/test.desc +++ b/doc/descriptions/test.desc @@ -20,4 +20,3 @@ :desc "Frontend-tester" :comment "Backend for testing frontends. Also serves as example for SANE backend options." - diff --git a/doc/descriptions/u12.desc b/doc/descriptions/u12.desc index ccf37f0..81bed1c 100644 --- a/doc/descriptions/u12.desc +++ b/doc/descriptions/u12.desc @@ -5,8 +5,6 @@ :backend "u12" :version "0.02" :manpage "sane-u12" -; backend's web page -:url "http://www.gjaeger.de/scanner/u12/" :devicetype :scanner diff --git a/doc/descriptions/umax_pp.desc b/doc/descriptions/umax_pp.desc index e07a4a0..f95e82f 100644 --- a/doc/descriptions/umax_pp.desc +++ b/doc/descriptions/umax_pp.desc @@ -22,41 +22,41 @@ :mfg "UMAX" ; name a manufacturer :url "http://www.umax.com.tw/" -; These scanners are known to have the same ASIC family. +; These scanners are known to have the same ASIC family. :model "Astra 1220P" :interface "Parport (EPP/ECP)" -:status :good +:status :good :model "Astra 2000P" :interface "Parport (EPP/ECP)" -:status :good +:status :good :model "Astra 1600P" :interface "Parport (EPP/ECP)" -:status :good +:status :good :model "Astra 600P" :interface "Parport (SPP/ECP)" -:status :unsupported +:status :unsupported :comment "untested, but should be close to 610P" :model "Astra 610P" :interface "Parport (SPP/ECP)" -:status :good +:status :good :mfg "Hewlett-Packard" :model "Scanjet 3200C" :interface "Parport (EPP/ECP)" -:status :good +:status :good :comment "works (relabelled 1220P and 2000P)" :mfg "Genius" :model "ColorPage-Life Pro" :interface "Parport (EPP/ECP)" -:status :good +:status :good :comment "works (relabelled 1220P and 2000P)" ; :comment and :url specifiers are optional after :mfg, :model, :desc, diff --git a/doc/descriptions/unsupported.desc b/doc/descriptions/unsupported.desc index 2217594..496ebea 100644 --- a/doc/descriptions/unsupported.desc +++ b/doc/descriptions/unsupported.desc @@ -10,7 +10,7 @@ :backend "unsupported" ; name of backend :version "2010-06-09" ; version of backend -:url "/contrib.html" +:url "contrib.html" ;:manpage "sane-mustek" ; name of manpage (if it exists) :comment "The devices mentioned here are not supported by any SANE backend. However, there may be links to information about them or stand-alone programs." @@ -21,14 +21,14 @@ :mfg "Agfa" :model "DuoScan f40" -:url "/unsupported/agfa-duoscan-f40.html" +:url "unsupported/agfa-duoscan-f40.html" :interface "USB IEEE-1394" :usbid "0x06bd" "0x02bf" :status :unsupported :comment "Unsupported. See link for details." :model "DuoScan T2000XL" -:url "/unsupported/agfa-duoscan-t2000xl.html" +:url "unsupported/agfa-duoscan-t2000xl.html" :interface "SCSI" :status :unsupported :comment "Unsupported. Same as Microtek ArtixScan 2020?" @@ -39,25 +39,25 @@ :comment "Unsupported. Same as Microtek Artixscan 2500f" :model "SnapScan 310P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :interface "Parport" :status :unsupported :comment "Unsupported, see link for details." :model "SnapScan EZ" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :interface "Parport" :status :unsupported :comment "Unsupported, see link for details." :model "SnapScan 1200P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :interface "Parport" :status :unsupported :comment "Unsupported, see link for details." :model "SnapScan 1212P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :interface "Parport" :status :unsupported :comment "Unsupported, see link for details." @@ -68,7 +68,7 @@ :url "http://www.artecusa.com/" :model "1236 USB" -:url "/unsupported/artec_1236usb.html" +:url "unsupported/artec_1236usb.html" :interface "USB" :usbid "0x05d8" "0x4001" :status :unsupported @@ -80,7 +80,7 @@ :comment "Unsupported. Chips found inside: AT015, AD9816JS. Maybe similar to SCSI version or as6e?" :model "Ultima 2000 (0x4001)" -:url "/unsupported/artec-ultima-2000-2.html" +:url "unsupported/artec-ultima-2000-2.html" :interface "USB" :usbid "0x05d8" "0x4001" :status :unsupported @@ -91,7 +91,7 @@ :mfg "Avigramm" :model "Minidoc" -:url "/unsupported/trust-combiscan-19200.html" +:url "unsupported/trust-combiscan-19200.html" :interface "USB Parport" :usbid "0x05cb" "0x1483" :status :unsupported @@ -113,14 +113,14 @@ :comment "Not supported. No chipset information available. Same as UMAX Astra 6700." :model "iVina 1600" -:url "/unsupported/umax-astra-4500.html" +:url "unsupported/umax-astra-4500.html" :interface "USB" :usbid "0x0638" "0x0a10" :status :unsupported :comment "GL646 based, to be added to genesys backend. Same as UMAX Astra 4500." :model "iVina FB1800" -:url "/unsupported/umax-astra-4700.html" +:url "unsupported/umax-astra-4700.html" :interface "USB" :usbid "0x0638" "0x0a20" :status :unsupported @@ -134,49 +134,49 @@ :comment "Formerly Acer Peripherals" :model "310P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "320P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "340P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "610P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "610PT" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "620P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "620PT" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "640P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." @@ -188,7 +188,7 @@ :comment "Unsupported." :model "5550" -:url "/unsupported/benq-5550.html" +:url "unsupported/benq-5550.html" :interface "USB" :usbid "0x04a5" "0x2211" :status :unsupported @@ -198,10 +198,10 @@ :interface "USB" :usbid "0x04a5" "0x2311" :status :unsupported -:url "http://lists.alioth.debian.org/pipermail/sane-devel/2009-January/023447.html" +:url "http://alioth-lists.debian.net/pipermail/sane-devel/2009-January/023447.html" :model "7400UT" -:url "/unsupported/benq-7400ut.html" +:url "unsupported/benq-7400ut.html" :interface "USB" :usbid "0x04a5" "0x2202" :status :unsupported @@ -211,7 +211,7 @@ :mfg "Boeder" :model "Sm@rtScan Office" -:url "/unsupported/trust-combiscan-19200.html" +:url "unsupported/trust-combiscan-19200.html" :interface "Parport USB" :usbid "0x05cb" "0x1483" :status :unsupported @@ -223,7 +223,7 @@ :url "http://www.brother.com/" :model "MFC 2500" -:url "/unsupported/brother-mfc-2500.html" +:url "unsupported/brother-mfc-2500.html" :interface "USB" :usbid "0x04f9" "0x000a" :status :unsupported @@ -236,13 +236,13 @@ :comment "The parport 200x400dpi grayscale version of this scanner is unsupported. Dmitri Katchalov did some investigations on this scanner. If you want to write a backend, contact him (see link)." :model "MFC 7300c" -:url "/unsupported/brother-mfc-7300.html" +:url "unsupported/brother-mfc-7300.html" :interface "Parport USB" :usbid "0x04f9" "0x0106" :status :unsupported :model "MFC 9600" -:url "/unsupported/brother-mfc-9600.html" +:url "unsupported/brother-mfc-9600.html" :interface "USB" :usbid "0x04f9" "0x0101" :status :unsupported @@ -253,7 +253,7 @@ :url "http://www.c-channel.ch/" :model "MyPen Pro" -:url "/unsupported/c-channel-mypen-pro.html" +:url "unsupported/c-channel-mypen-pro.html" :interface "USB" ;:usbid "" "" :status :unsupported @@ -266,7 +266,7 @@ :comment "See bug #306792 for details." :model "MoneyPen II" -;:url "/unsupported/c-channel-mypen-pro.html" +;:url "unsupported/c-channel-mypen-pro.html" :interface "USB" ;:usbid "" "" :status :unsupported @@ -278,120 +278,112 @@ :url "http://www.canon.com/" :model "CanoScan 3000" -:url "/unsupported/canon-3000.html" +:url "unsupported/canon-3000.html" :interface "USB" :usbid "0x04a9" "0x2215" :status :unsupported :comment "GL660+GL646 based." :model "CanoScan 3000ex" -:url "/unsupported/canon-3000.html" +:url "unsupported/canon-3000.html" :interface "USB" :usbid "0x04a9" "0x2215" :status :unsupported :comment "GL660+GL646 based." :model "CanoScan 3000F" -:url "/unsupported/canon-3000.html" +:url "unsupported/canon-3000.html" :interface "USB" :usbid "0x04a9" "0x2215" :status :unsupported :comment "GL660+GL646 based, to be added to genesys backend" :model "CanoScan 4200F" -:url "/unsupported/canon-4200f.html" +:url "unsupported/canon-4200f.html" :interface "USB" :usbid "0x04a9" "0x221b" :status :unsupported :comment "Probably unsupported. See link." :model "CanoScan 4400F" -:url "/unsupported/canon-4400.html" +:url "unsupported/canon-4400.html" :interface "USB" :usbid "0x04a9" "0x2228" :status :unsupported :comment "GL843 based, to be added to genesys backend" :model "CanoScan 5000F" -:url "/unsupported/canon-5000f.html" +:url "unsupported/canon-5000f.html" :interface "USB" :usbid "0x04a9" "0x2212" :status :unsupported :comment "Unsupported. See link for details." :model "CanoScan 5200F" -:url "/unsupported/canon-5200f.html" +:url "unsupported/canon-5200f.html" :interface "USB" :usbid "0x04a9" "0x2217" :status :unsupported :comment "Probably unsupported. See link for details." :model "CanoScan 8000F" -:url "/unsupported/canon-8000f.html" +:url "unsupported/canon-8000f.html" :interface "USB" :usbid "0x04a9" "0x220f" :status :unsupported :comment "Not supported. See link for more information. With transparency adapter." :model "CanoScan 8400F" -:url "/unsupported/canon-8400f.html" +:url "unsupported/canon-8400f.html" :interface "USB" :usbid "0x04a9" "0x221e" :status :unsupported :comment "GL841 based, to be added to genesys backend" -:model "CanoScan 8600F" -:url "/unsupported/canon-8600.html" -:interface "USB" -:usbid "0x04a9" "0x2229" -:status :unsupported -:comment "GL841 based, to be added to genesys backend" - - :model "CanoScan 9900F" -:url "/unsupported/canon-9900f.html" +:url "unsupported/canon-9900f.html" :interface "USB" :usbid "0x04a9" "0x2210" :status :unsupported :comment "Probably unsupported, similar to 8000F. 3200x6400 dpi USB2. With transparency adapter." :model "CanoScan 9950F" -:url "/unsupported/canon-9950f.html" +:url "unsupported/canon-9950f.html" :interface "USB" :usbid "0x04a9" "0x2219" :status :unsupported :comment "Probably unsupported." :model "CanoScan D646U" -:url "/unsupported/canon-d646u.html" +:url "unsupported/canon-d646u.html" :interface "USB" :usbid "0x04a9" "0x220b" :status :unsupported :comment "Probably not supported. See link for more information and test program." :model "CanoScan D646U ex" -:url "/unsupported/canon-d646u.html" +:url "unsupported/canon-d646u.html" :interface "USB" :usbid "0x04a9" "0x220b" :status :unsupported :comment "Probably not supported. See D646." :model "CanoScan D1230U" -:url "/unsupported/canon-d1230u.html" +:url "unsupported/canon-d1230u.html" :interface "USB" :usbid "0x04a9" "0x2209" :status :unsupported :comment "Probably not supported. " :model "CanoScan D1250U2" -:url "/unsupported/canon-d1250u2.html" +:url "unsupported/canon-d1250u2.html" :interface "USB" :usbid "0x04a9" "0x220c" :status :unsupported :comment "Not supported. However, someone started working on this scanner and some information is available (see link)." :model "CanoScan D2400UF" -:url "/unsupported/canon-d2400uf.html" +:url "unsupported/canon-d2400uf.html" :interface "USB" :usbid "0x04a9" "0x220a" :status :unsupported @@ -404,7 +396,7 @@ :comment "Probably not supported. No details known." :model "CanoScan FB620U" -:url "/unsupported/canon-fb620u.html" +:url "unsupported/canon-fb620u.html" :interface "USB" :usbid "0x04a9" "0x2202" :status :unsupported @@ -425,14 +417,14 @@ :comment "Philips chip. Backend started, see link" :model "CanoScan LiDE 90" -:url "/unsupported/canon-lide-90.html" +:url "unsupported/canon-lide-90.html" :interface "USB" :usbid "0x04a9" "0x1900" :status :unsupported :comment "Unsupported. See link for details." :model "CanoScan LiDE 500F" -:url "/unsupported/canon-canoscan-lide-500f.html" +:url "unsupported/canon-canoscan-lide-500f.html" :interface "USB" :usbid "0x04a9" "0x221f" :status :unsupported @@ -453,67 +445,67 @@ :comment "Philips chip. Backend started, see link" :model "FS4000" -:url "/unsupported/canon-fs4000.html" +:url "unsupported/canon-fs4000.html" :interface "USB SCSI" :usbid "0x04a9" "0x3042" :status :unsupported :comment "Not supported. See link for more details." :model "IS 12" -:url "/unsupported/canon-is-12.html" +:url "unsupported/canon-is-12.html" :interface "USB" :status :unsupported :comment "Probably not supported. Scanner cardridge for Canon inkjet printers." :model "IS 22" -:url "/unsupported/canon-is-22.html" +:url "unsupported/canon-is-22.html" :interface "Parport" :status :unsupported :comment "Probably not supported. Scanner cardridge for Canon inkjet printers." :model "IS 32" -:url "/unsupported/canon-is-32.html" +:url "unsupported/canon-is-32.html" :interface "USB" :usbid "0x04a9" "0x105d" :status :unsupported :comment "Probably not supported. Scanner cardridge for Canon inkjet printers." :model "IS 52" -:url "/unsupported/canon-is-52.html" +:url "unsupported/canon-is-52.html" :interface "USB" :status :unsupported :comment "Probably not supported. Scanner cardridge for Canon inkjet printers." :model "ImageRunner iR1018" -:url "/unsupported/canon-imagerunner.html" +:url "unsupported/canon-imagerunner.html" :interface "USB" :usbid "0x04a9" "0x269d" :status :unsupported :comment "Probably not supported. See link for details." :model "ImageRunner iR1022" -:url "/unsupported/canon-imagerunner.html" +:url "unsupported/canon-imagerunner.html" :interface "USB" :usbid "0x04a9" "0x269d" :status :unsupported :comment "Probably not supported. See link for details." :model "ImageRunner iR1023" -:url "/unsupported/canon-imagerunner.html" +:url "unsupported/canon-imagerunner.html" :interface "USB" :usbid "0x04a9" "0x269d" :status :unsupported :comment "Probably not supported. See link for details." :model "PIXMA MP110" -:url "/unsupported/canon-pixma-mp110.html" +:url "unsupported/canon-pixma-mp110.html" :interface "USB" :usbid "0x04a9" "0x1700" :status :unsupported :comment "Probably not supported. See link for details." :model "PIXMA MP130" -:url "/unsupported/canon-pixma-mp130.html" +:url "unsupported/canon-pixma-mp130.html" :interface "USB" :usbid "0x04a9" "0x1701" :status :unsupported @@ -528,7 +520,7 @@ :mfg "Chinon" :model "DS-3000" -:url "/unsupported/chinon-ds3000.html" +:url "unsupported/chinon-ds3000.html" :interface "Parport Serial Port" :status :unsupported :comment "Unsupported at the moment, but a backend is in preparation. See link." @@ -549,7 +541,7 @@ :mfg "Compeye" :model "Simplex 1236C" -:url "/unsupported/trust-combiscan-19200.html" +:url "unsupported/trust-combiscan-19200.html" :interface "Parport USB" :usbid "0x05cb" "0x1483" :status :unsupported @@ -561,14 +553,14 @@ :url "http://www.cardscan.com/" :model "Cardscan 500" -:url "/unsupported/corex-cardscan-500.html" +:url "unsupported/corex-cardscan-500.html" :interface "USB" :usbid "0x08f0" "0x0001" :status :unsupported :comment "Probably not supported. Businesscard reader." :model "Cardscan 700 C" -:url "/unsupported/corex-cardscan-700.html" +:url "unsupported/corex-cardscan-700.html" :interface "USB" :usbid "0x08f0" "0x0004" :status :unsupported @@ -586,14 +578,14 @@ :comment "Probably rebadged Lexmark X5150. May work with sane-lexmark? See bug #312130" :model "A960" -:url "/unsupported/dell-a960.html" +:url "unsupported/dell-a960.html" :interface "USB" :usbid "0x413c" "0x5107" :status :unsupported :comment "Probably not supported. See link for details." :model "922" -:url "/unsupported/dell-922.html" +:url "unsupported/dell-922.html" :interface "USB" :usbid "0x413c" "0x5109" :status :unsupported @@ -617,7 +609,7 @@ :comment "Probably unsupported. No details known." :model "Stylus DX4450" -:url "/unsupported/epson-stylus-dx4450.html" +:url "unsupported/epson-stylus-dx4450.html" :interface "USB" :usbid "0x04b8" "0x083f" :status :unsupported @@ -634,7 +626,7 @@ :url "http://www.bizcardreader.com/" :model "BizCardReader 900C" -:url "/unsupported/edt-900c.html" +:url "unsupported/edt-900c.html" :interface "USB" :usbid "0x0a53" "0x5001" :status :unsupported @@ -689,6 +681,24 @@ :status :unsupported :comment "Genesys GL310 chipset, not supported by sane-genesys backend." +:model "ScanPartner SP25" +:interface "USB" +:status :unsupported +:usbid "0x04c5" "0x1409" +:comment "Possibly Genesys protocol?" + +:model "ScanPartner SP30" +:interface "USB" +:status :unsupported +:usbid "0x04c5" "0x140a" +:comment "Possibly Genesys protocol?" + +:model "ScanPartner SP30F" +:interface "USB" +:status :unsupported +:usbid "0x04c5" "0x140c" +:comment "Possibly Genesys protocol?" + ;******************************************************************************************** :mfg "Genius" @@ -696,41 +706,41 @@ :url "http://www.genius-kye.com/" :model "ColorPage CS" -:url "/unsupported/genius-colorpage-cs.html" +:url "unsupported/genius-colorpage-cs.html" :interface "SCSI" :status :unsupported :comment "Probably unsupported, see link for details." :model "ColorPage-Slim 1200 USB2" -:url "/unsupported/genius-colorpage-slim-1200-usb2.html" +:url "unsupported/genius-colorpage-slim-1200-usb2.html" :interface "USB" :usbid "0x0458" "0x2020" :status :unsupported :comment "GL841 based, to be added to genesys backend." :model "ColorPage HR6X Slim" -:url "/unsupported/genius-colorpage-hr6x.html" +:url "unsupported/genius-colorpage-hr6x.html" :interface "USB" :usbid "0x0458" "0x2019" :status :unsupported :comment "GL646 based, to be added to genesys backend" :model "ColorPage HR7X" -:url "/unsupported/genius-colorpage-hr7x.html" +:url "unsupported/genius-colorpage-hr7x.html" :interface "USB" :usbid "0x0458" "0x2018" :status :unsupported :comment "GL646 based, to be added to genesys backend" :model "ColorPage HR7XE" -:url "/unsupported/genius-colorpage-hr7xe.html" +:url "unsupported/genius-colorpage-hr7xe.html" :interface "USB" :usbid "0x06dc" "0x0012" :status :unsupported :comment "Unsuported. See link for details." :model "ColorPage HR8" -:url "/unsupported/genius-colorpage-hr8.html" +:url "unsupported/genius-colorpage-hr8.html" :interface "USB" :usbid "0x0458" "0x201c" :status :unsupported @@ -741,7 +751,7 @@ :mfg "Guillemot" ; name a manufacturer :model "SCAN@HOME 48 USB" -:url "/unsupported/teco-vm6509.html" +:url "unsupported/teco-vm6509.html" :interface "USB" :usbid "0x080d" "0x0102" :status :unsupported @@ -758,7 +768,7 @@ :mfg "Hercules" ; name a manufacturer :model "SCAN@HOME 48 USB" -:url "/unsupported/teco-vm6509.html" +:url "unsupported/teco-vm6509.html" :interface "USB" :usbid "0x080d" "0x0102" :status :unsupported @@ -771,7 +781,7 @@ :url "http://www.hp.com/" :model "Photo Scanner 1000" -:url "/unsupported/hp-photo-1000.html" +:url "unsupported/hp-photo-1000.html" :interface "USB" :usbid "0x03f0" "0x1001" :status :unsupported @@ -783,28 +793,28 @@ :comment "Probably not supported by SANE. No details known. 10x15 cm. Maybe similar to Photo Scanner 1000?" :model "Photosmart S20 (C5101A)" -:url "/unsupported/hp-photosmart-s20xi.html" +:url "unsupported/hp-photosmart-s20xi.html" :interface "USB" :usbid "0x03f0" "0x0102" :status :unsupported :comment "Not supported yet by SANE. See link for details." :model "Photosmart S20xi (C7150A)" -:url "/unsupported/hp-photosmart-s20xi.html" +:url "unsupported/hp-photosmart-s20xi.html" :interface "USB" :usbid "0x03f0" "0x0102" :status :unsupported :comment "Not supported yet by SANE. See link for details." :model "Photosmart C5100 series" -:url "/unsupported/hp-photosmart-5100.html" +:url "unsupported/hp-photosmart-5100.html" :interface "USB" :usbid "0x03f0" "0x5811" :status :unsupported :comment "Not supported yet by SANE. See link for details." :model "Photosmart C3180" -:url "/unsupported/hp-photosmart-3180.html" +:url "unsupported/hp-photosmart-3180.html" :interface "USB" :usbid "0x03f0" "0x5611" :status :unsupported @@ -817,7 +827,7 @@ :comment "While an external binary-only backend exists, it works only on Linux i386. Therefore the scanner is unsupported on other platforms." :model "ScanJet 4600" -:url "/unsupported/hp-scanjet-4600.html" +:url "unsupported/hp-scanjet-4600.html" :interface "USB" :usbid "0x03f0" "0x3005" :comment "Not supported. See link for details, or http://www.chmil.org/hp4600linux/ for code" @@ -830,28 +840,28 @@ :status :unsupported :model "ScanJet 4890C" -:url "/unsupported/hp-scanjet-4850.html" +:url "unsupported/hp-scanjet-4850.html" :interface "USB" :usbid "0x03f0" "0x1b05" :comment "GL843, maybe can be added to genesys backend " :status :unsupported :model "ScanJet 5530C Photosmart" -:url "/unsupported/hp-scanjet-5530.html" +:url "unsupported/hp-scanjet-5530.html" :interface "USB" :usbid "0x03f0" "0x1605" :comment "Maybe GL841_HP, but not confirmed, maybe can be added to genesys backend" :status :unsupported :model "ScanJet 8390" -:url "/unsupported/hp-scanjet-8390.html" +:url "unsupported/hp-scanjet-8390.html" :interface "USB" :usbid "0x03f0" "0x3805" :comment "Probably not supported. See link for details." :status :unsupported :model "ScanJet G4000" -:url "/unsupported/hp-g4000.html" +:url "unsupported/hp-g4000.html" :interface "USB" :usbid "0x03f0" "0x4505" :comment "Probably not supported. See link for details." @@ -873,7 +883,7 @@ :url "http://www.iomagic.com/" :model "MobileScan USB" -:url "/unsupported/trust-combiscan-19200.html" +:url "unsupported/trust-combiscan-19200.html" :interface "USB Parport" :usbid "0x05cb" "0x1483" :status :unsupported @@ -885,21 +895,21 @@ :url "http://irislink.com/" :model "IriScan" -:url "/unsupported/iris-iriscan.html" +:url "unsupported/iris-iriscan.html" :interface "USB" :usbid "0x0a53" "0x1000" :status :unsupported :comment "Unsupported. LM9832/3. See link for details." :model "IRISPen Translator Executive" -:url "/unsupported/iris-irispen-translator.html" +:url "unsupported/iris-irispen-translator.html" :interface "USB" :usbid "0x0f43" "0x015a" :status :unsupported :comment "Unsupported. See link for details." :model "IRISCard Pro (IBCR II)" -:url "/unsupported/iris-business.html" +:url "unsupported/iris-business.html" :interface "USB" :usbid "0x0a38" "0x0301" :status :unsupported @@ -921,84 +931,84 @@ :url "http://www.lexmark.com/" :model "P6250" -:url "/unsupported/lexmark-p6250.html" +:url "unsupported/lexmark-p6250.html" :interface "USB" :usbid "0x043d" "0x0097" :status :unsupported :comment "Unsupported. See link for details." :model "Photo 3150" -:url "/unsupported/lexmark-3150.html" +:url "unsupported/lexmark-3150.html" :interface "USB" :usbid "0x043d" "0x007d" :status :unsupported :comment "Unsupported. See link for details." :model "X74" -:url "/unsupported/lexmark-x75.html" +:url "unsupported/lexmark-x75.html" :interface "USB" :usbid "0x043d" "0x0060" :status :unsupported :comment "Unsupported. See link for details." :model "X75" -:url "/unsupported/lexmark-x75.html" +:url "unsupported/lexmark-x75.html" :interface "USB" :usbid "0x043d" "0x0060" :status :unsupported :comment "Unsupported. See link for details." :model "X75 PrinTrio" -:url "/unsupported/lexmark-x75.html" +:url "unsupported/lexmark-x75.html" :interface "USB" :usbid "0x043d" "0x0060" :status :unsupported :comment "Unsupported. See link for details." :model "X83" -:url "/unsupported/lexmark-x83.html" +:url "unsupported/lexmark-x83.html" :interface "USB" :usbid "0x043d" "0x003d" :status :unsupported :comment "Unsupported. GL640." :model "X2330" -:url "/unsupported/lexmark-x2330.html" +:url "unsupported/lexmark-x2330.html" :interface "USB" :usbid "0x043d" "0x00bb" :status :unsupported :comment "Unsupported. See link for details." - + :model "X3450" -:url "/unsupported/lexmark-x3450.html" +:url "unsupported/lexmark-x3450.html" :interface "USB" :usbid "0x043d" "0x00f6" :status :unsupported :comment "Unsupported. See link for details." - + :model "X5130" -:url "/unsupported/lexmark-x5130.html" +:url "unsupported/lexmark-x5130.html" :interface "USB" :usbid "0x043d" "0x0065" :status :unsupported :comment "Unsupported." :model "X5150" -:url "/unsupported/lexmark-x5130.html" +:url "unsupported/lexmark-x5130.html" :interface "USB" :usbid "0x043d" "0x0065" :status :unsupported :comment "Probably unsupported. See link for details." :model "X5250" -:url "/unsupported/lexmark-x5250.html" +:url "unsupported/lexmark-x5250.html" :interface "USB" :usbid "0x043d" "0x0093" :status :unsupported :comment "Unsupported." :model "X6170" -:url "/unsupported/lexmark-x6170.html" +:url "unsupported/lexmark-x6170.html" :interface "USB" :usbid "0x043d" "0x0072" :status :unsupported @@ -1011,14 +1021,14 @@ :comment "Unsupported. See bug #310889 for details." :model "X7350" -:url "/unsupported/lexmark-x7350.html" +:url "unsupported/lexmark-x7350.html" :interface "USB" :usbid "0x043d" "0x00b8" :status :unsupported :comment "Unsupported. See link for details." :model "X8350" -:url "/unsupported/lexmark-x8350.html" +:url "unsupported/lexmark-x8350.html" :interface "USB" :usbid "0x043d" "0x00b9" :status :unsupported @@ -1035,7 +1045,7 @@ :comment "Most probably unsupported." :model "PageScan USB" -:url "/unsupported/logitech-pagescan-usb.html" +:url "unsupported/logitech-pagescan-usb.html" :interface "USB" :usbid "0x046d" "0x040f" :status :unsupported @@ -1048,42 +1058,42 @@ :url "http://www.medion.de/" :model "MD 6190" -:url "/unsupported/medion-md6190.html" +:url "unsupported/medion-md6190.html" :interface "USB" :usbid "0x0461" "0x0392" :status :unsupported :comment "Probably unsupported. There seem to exist two different scanners with that name. See link for details." :model "MD 6190" -:url "/unsupported/medion-md6190.html" +:url "unsupported/medion-md6190.html" :interface "USB" :usbid "0x0461" "0x037b" :status :unsupported :comment "Probably unsupported. There seem to exist two different scanners with that name. See link for details." :model "MD 40420" -:url "/unsupported/tevion-md40420.html" +:url "unsupported/tevion-md40420.html" :interface "USB" :usbid "0x05da" "0x3008" :status :unsupported :comment "Probably unsupported. See link for details." :model "MD 41260" -:url "/unsupported/medion-md6190.html" +:url "unsupported/medion-md6190.html" :interface "USB" :usbid "0x0461" "0x037b" :status :unsupported :comment "Probably unsupported. See link for details." :model "MD 41985" -:url "/unsupported/medion-md6190.html" +:url "unsupported/medion-md6190.html" :interface "USB" :usbid "0x0461" "0x037b" :status :unsupported :comment "Probably unsupported. See link for details." :model "MD 42666" -:url "/unsupported/tevion-md40420.html" +:url "unsupported/tevion-md40420.html" :interface "USB" :usbid "0x05da" "0x3008" :status :unsupported @@ -1097,21 +1107,21 @@ :comment "Fingerprint sensor. See link for details." :model "MD 90009" -:url "/unsupported/tevion-md90009.html" +:url "unsupported/tevion-md90009.html" :interface "USB" :usbid "0x05da" "0x30e5" :status :unsupported :comment "Probably unsupported. See link for details." :model "MD 90070" -:url "/unsupported/tevion-md90070.html" +:url "unsupported/tevion-md90070.html" :interface "USB" :usbid "0x05da" "0x3022" :status :unsupported :comment "Unsupported. See link for details." :model "MD 90090" -:url "/unsupported/tevion-md90070.html" +:url "unsupported/tevion-md90070.html" :interface "USB" :usbid "0x05da" "0x3022" :status :unsupported @@ -1123,28 +1133,28 @@ :url "http://www.memorex.com/" :model "6136u" -:url "/unsupported/memorex-maxx-6136u.html" +:url "unsupported/memorex-maxx-6136u.html" :interface "USB" :usbid "0x0461" "0x0346" :status :unsupported :comment "Probably unsupported." :model "6142u" -:url "/unsupported/visioneer-onetouch4400.html" +:url "unsupported/visioneer-onetouch4400.html" :interface "USB" :usbid "0x0461" "0x0347" :status :unsupported :comment "Probably unsupported. Same as Visioneer Onetouch 4400. See link for details." :model "MaxxScan 6122" -:url "/unsupported/trust-combiscan-19200.html" +:url "unsupported/trust-combiscan-19200.html" :interface "USB Parport" :usbid "0x05cb" "0x1483" :status :unsupported :comment "Unsupported. See link for details." :model "SCF 9612P" -:url "/unsupported/memorex-scf-9612p.html" +:url "unsupported/memorex-scf-9612p.html" :interface "Parport" :status :unsupported :comment "Probably unsupported. See link for details." @@ -1159,7 +1169,7 @@ :comment "Unsupported. Same as Agfa DuoScan T2000XL?" :model "ArtixScanDI 2020" -:url "/unsupported/microtek-artixscan-2020.html" +:url "unsupported/microtek-artixscan-2020.html" :interface "USB" :usbid "0x05da" "0x202e" :status :unsupported @@ -1176,7 +1186,7 @@ :comment "Unsupported. Uses ALI M5611B." :model "FilmScan 35" -:url "/unsupported/microtek-filmscan-35.html" +:url "unsupported/microtek-filmscan-35.html" :interface "USB" :usbid "0x05e3" "0x0120" :status :unsupported @@ -1188,89 +1198,89 @@ :comment "Probably unsupported. Seems to be similar to the Microtek 330 CX and is detected by the microtek2 backend. Scanning doesn't seem to work however." :model "Scanmaker 1850S" -:url "/unsupported/microtek-scanmaker-1850s.html" +:url "unsupported/microtek-scanmaker-1850s.html" :interface "SCSI" :status :unsupported :comment "Unsupported. See link for details." :model "ScanMaker 3630" -:url "/unsupported/microtek-scanmaker-3630.html" +:url "unsupported/microtek-scanmaker-3630.html" :interface "USB" :usbid "0x0461" "0x0347" :status :unsupported :comment "Unsupported. Doesn't seem to be compatible to 3600 series, see link." :model "ScanMaker 3800" -:url "/unsupported/microtek-scanmaker-3800.html" +:url "unsupported/microtek-scanmaker-3800.html" :interface "USB" :usbid "0x05da" "0x30ce" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 3830" -:url "/unsupported/microtek-scanmaker-3830.html" +:url "unsupported/microtek-scanmaker-3830.html" :interface "USB" :usbid "0x05da" "0x30ce" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 3860" -:url "/unsupported/microtek-scanmaker-3880.html" +:url "unsupported/microtek-scanmaker-3880.html" :interface "USB" :usbid "0x05da" "0x3023" :status :unsupported :comment "Unsupported. See link for more details. Appears to be similar to ScanMaker 3880." :model "ScanMaker 3880" -:url "/unsupported/microtek-scanmaker-3880.html" +:url "unsupported/microtek-scanmaker-3880.html" :interface "USB" :usbid "0x05da" "0x3021" :status :unsupported :comment "Unsupported. SQ113 chip. See link for more details." :model "ScanMaker 4600" -:url "/unsupported/microtek-scanmaker-4600.html" +:url "unsupported/microtek-scanmaker-4600.html" :interface "USB" :usbid "0x05da" "0x40c7" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 4700" -:url "/unsupported/microtek-scanmaker-4700.html" +:url "unsupported/microtek-scanmaker-4700.html" :interface "USB" :usbid "0x05da" "0x20b4" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 4850" -:url "/unsupported/microtek-scanmaker-4900.html" +:url "unsupported/microtek-scanmaker-4900.html" :interface "USB" :usbid "0x05da" "0x30d9" :status :unsupported :comment "Probably unsupported. See link for details." :model "ScanMaker 4850 II" -:url "/unsupported/microtek-scanmaker-4850-2.html" +:url "unsupported/microtek-scanmaker-4850-2.html" :interface "USB" :usbid "0x05da" "0x3008" :status :unsupported :comment "Probably unsupported. See link for details." :model "ScanMaker 4900" -:url "/unsupported/microtek-scanmaker-4900.html" +:url "unsupported/microtek-scanmaker-4900.html" :interface "USB" :usbid "0x05da" "0x30b9" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 5" -:url "/unsupported/microtek-scanmaker-5600.html" +:url "unsupported/microtek-scanmaker-5600.html" :interface "SCSI" :status :unsupported :comment "Probably unsupported. See link for more details." :model "ScanMaker 5600" -:url "/unsupported/microtek-scanmaker-5600.html" +:url "unsupported/microtek-scanmaker-5600.html" :interface "USB" :usbid "0x05da" "0x20a7" :status :unsupported @@ -1283,49 +1293,49 @@ :comment "Unsupported. Uses ALI M5615 like the ScanMaker 4700." :model "ScanMaker 5800" -:url "/unsupported/microtek-scanmaker-5800.html" +:url "unsupported/microtek-scanmaker-5800.html" :interface "USB" :usbid "0x05da" "0x3008" :status :unsupported :comment "Unsupported. See link for details." :model "ScanMaker 5800" -:url "/unsupported/microtek-scanmaker-5800.html" +:url "unsupported/microtek-scanmaker-5800.html" :interface "USB" :usbid "0x05da" "0x30d8" :status :unsupported :comment "Unsupported. See link for details." :model "ScanMaker 5900" -:url "/unsupported/microtek-scanmaker-5900.html" +:url "unsupported/microtek-scanmaker-5900.html" :interface "USB" :usbid "0x05da" "0x30d8" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 5950" -:url "/unsupported/microtek-scanmaker-5950.html" +:url "unsupported/microtek-scanmaker-5950.html" :interface "USB" :usbid "0x05da" "0x30d8" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 6000" -:url "/unsupported/microtek-scanmaker-6000.html" +:url "unsupported/microtek-scanmaker-6000.html" :interface "USB" :usbid "0x05da" "0x30e5" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 6100" -:url "/unsupported/microtek-scanmaker-6100.html" +:url "unsupported/microtek-scanmaker-6100.html" :interface "USB" :usbid "0x05da" "0x30e5" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 6700" -:url "/unsupported/microtek-scanmaker-6700.html" +:url "unsupported/microtek-scanmaker-6700.html" :interface "USB IEEE-1394" :usbid "0x05da" "0x20c9" :status :unsupported @@ -1333,7 +1343,7 @@ :model "ScanMaker 8700" :status :unsupported -:url "/unsupported/microtek-scanmaker-8700.html" +:url "unsupported/microtek-scanmaker-8700.html" :interface "USB IEEE-1394" :usbid "0x05da" "0x20b1" :comment "Unsupported. See link for details. USB vendor and product ids to be checked." @@ -1345,35 +1355,35 @@ :comment "Probably unsupported. SCSI seems to work with microtek2 backend." :model "ScanMaker 9800XL" -:url "/unsupported/microtek-scanmaker-9800.html" +:url "unsupported/microtek-scanmaker-9800.html" :interface "USB SCSI" :usbid "0x05da" "0x20de" :status :unsupported :comment "Partly unsupported. IEEE-1394 works with microtek2 backend. See link." :model "ScanMaker i320" -:url "/unsupported/microtek-scanmaker-i320.html" +:url "unsupported/microtek-scanmaker-i320.html" :interface "USB" :usbid "0x05da" "0x30e6" :status :unsupported :comment "Unsupported. See link." :model "ScanMaker s400" -:url "/unsupported/microtek-scanmaker-s400.html" +:url "unsupported/microtek-scanmaker-s400.html" :interface "USB" :usbid "0x05da" "0x201c" :status :unsupported :comment "Unsupported. See link." :model "ScanMaker S400" -:url "/unsupported/microtek-scanmaker-s400.html" +:url "unsupported/microtek-scanmaker-s400.html" :interface "USB" :usbid "0x05da" "0x300b" :status :unsupported :comment "Unsupported. See link." :model "ScanPort 3000" -:url "/unsupported/microtek-scanport-3000.html" +:url "unsupported/microtek-scanport-3000.html" :interface "USB" :usbid "0x04a7" "0x0224" :status :unsupported @@ -1386,35 +1396,35 @@ :url "http://www.konicaminolta.com/" :model "Dual Scan III" -:url "/unsupported/minolta-dual-scan-III.html" +:url "unsupported/minolta-dual-scan-III.html" :interface "USB" :usbid "0x0686" "0x400d" :status :unsupported :comment "Unsupported. May work with vuescan. See link for details." :model "Dual Scan IV" -:url "/unsupported/minolta-dual-scan-IV.html" +:url "unsupported/minolta-dual-scan-IV.html" :interface "USB" :usbid "0x132b" "0x000a" :status :unsupported :comment "Unsupported. Works with vuescan. See link for details." :model "DiMAGE Scan Elite 5400" -:url "/unsupported/minolta-dse-5400.html" +:url "unsupported/minolta-dse-5400.html" :interface "USB IEEE-1394" :usbid "0x0686" "0x400e" :status :unsupported :comment "Probably unsupported. May work with vuescan. See link for details." :model "DiMAGE Scan Elite 5400 2" -:url "/unsupported/minolta-dse-5400-2.html" +:url "unsupported/minolta-dse-5400-2.html" :interface "USB" :usbid "0x132b" "0x0012" :status :unsupported :comment "Probably unsupported. See link for details." :model "DiMAGE Scan Multi Pro" -:url "/unsupported/minolta-dimage-scan-multi-pro.html" +:url "unsupported/minolta-dimage-scan-multi-pro.html" :interface "IEEE-1394" :status :unsupported :comment "Probably unsupported. See link for details." @@ -1450,21 +1460,21 @@ :status :unsupported :model "BearPaw 2448 CU Pro" -:url "/unsupported/mustek-bearpaw-2448-cu-pro.html" +:url "unsupported/mustek-bearpaw-2448-cu-pro.html" :usbid "0x055f" "0x0408" :interface "USB" :comment "Not supported. May be supported by mustek_usb2 backend later. See link for some information." :status :unsupported :model "BearPaw 4800 TA Pro" -:url "/unsupported/mustek-bearpaw-4800ta-pro.html" +:url "unsupported/mustek-bearpaw-4800ta-pro.html" :interface "USB" :usbid "0x055f" "0x1000" :comment "Not supported. See link for some information." :status :unsupported :model "BearPaw 4800 TA Pro II" -:url "/unsupported/mustek-bearpaw-4800ta-pro-ii.html" +:url "unsupported/mustek-bearpaw-4800ta-pro-ii.html" :interface "USB" :usbid "0x055f" "0x040a" :comment "Not supported. May be supported by mustek_usb2 backend later. See link for some information." @@ -1521,7 +1531,7 @@ :comment "Probably unsupported. USB business card scanner. Maybe works as USB storage device?" :model "ScanMagic 9636P" -:url "http://lists.alioth.debian.org/pipermail/sane-devel/2003-May/007682.html" +:url "http://alioth-lists.debian.net/pipermail/sane-devel/2003-May/007682.html" :interface "Parport" :status :unsupported :comment "Probably not supported. Same as Mustek 12000 P?. ASIC 1505." @@ -1532,7 +1542,7 @@ :url "http://www.nevt.co.jp/" :model "Petiscan" -:url "/unsupported/nec-petiscan.html" +:url "unsupported/nec-petiscan.html" :interface "USB" :usbid "0x0475" "0x0100" :status :unsupported @@ -1544,7 +1554,7 @@ :url "http://www.nikon.com/" :model "LS-9000 ED" -:url "/unsupported/nikon-ls9000-ed.html" +:url "unsupported/nikon-ls9000-ed.html" :interface "IEEE-1394" :status :unsupported :comment "Probably not supported. See link for details. Possibly similar to LS-8000 ED." @@ -1555,7 +1565,7 @@ :url "http://www.olivetti.com" :model "Job-Jet M400" -:url "/unsupported/olivetti-job-jet-m400.html" +:url "unsupported/olivetti-job-jet-m400.html" :interface "USB" :usbid "0x0b3c" "0xa880" :status :unsupported @@ -1566,12 +1576,12 @@ :url "http://www.olympus.com" :model "ES-10P" -:url "http://lists.alioth.debian.org/pipermail/sane-devel/2008-December/023326.html" +:url "http://alioth-lists.debian.net/pipermail/sane-devel/2008-December/023326.html" :interface "Parport" :status :unsupported :model "ES-10S" -:url "/unsupported/olympus-es10s.html" +:url "unsupported/olympus-es10s.html" :interface "SCSI" :status :unsupported :comment "Probably not supported. See link for details." @@ -1696,7 +1706,7 @@ :mfg "Pentax" :model "DSmobile USB" -:url "/unsupported/syscan-travelscan-pro.html" +:url "unsupported/syscan-travelscan-pro.html" :interface "USB" :usbid "0x0a82" "0x2000" :status :unsupported @@ -1709,7 +1719,7 @@ :comment "Pacific Image Electronics" :model "Primefilm 1800u" -:url "/unsupported/pie-1800u.html" +:url "unsupported/pie-1800u.html" :interface "USB" :usbid "0x05e3" "0x0120" :status :unsupported @@ -1718,7 +1728,7 @@ :model "Primefilm 2700" :interface "USB" :status :unsupported -:url "http://lists.alioth.debian.org/pipermail/sane-devel/2009-January/023442.html" +:url "http://alioth-lists.debian.net/pipermail/sane-devel/2009-January/023442.html" :model "Primefilm 3600PRO" :interface "USB IEEE-1394" @@ -1726,14 +1736,14 @@ :comment "Probably not supported. " :model "Powerslide 3600" -:url "/unsupported/reflecta-digitdia-3600.html" +:url "unsupported/reflecta-digitdia-3600.html" :interface "USB IEEE-1394" :usbid "0x05e3" "0x0142" :status :unsupported :comment "Probably unsupported. Film scanner that can scan directly from the magazine." :model "PF3650 Pro3 Film Scanner" -:url "/unsupported/pie-pf3650.html" +:url "unsupported/pie-pf3650.html" :interface "USB IEEE-1394" :usbid "0x05e3" "0x0143" :status :unsupported @@ -1750,7 +1760,7 @@ :url "http://www.plustek.com/" :model "OpticFilm 7200" -:url "/unsupported/plustek-opticfilm-7200.html" +:url "unsupported/plustek-opticfilm-7200.html" :interface "USB" :usbid "0x07b3" "0x0807" :status :unsupported @@ -1773,21 +1783,21 @@ :comment "Uses RealTek chipset (RTL8801D)" :model "OpticPro S12" -:url "/unsupported/plustek-opticpro-st12.html" +:url "unsupported/plustek-opticpro-st12.html" :interface "USB" :usbid "0x07b3" "0x0600" :status :unsupported :comment "Product id 0x0600 is unsupported but may be supported by the genesys backend in future. Product id 0x040b is supported by the gt68xx backend." :model "OpticPro ST12" -:url "/unsupported/plustek-opticpro-st12.html" +:url "unsupported/plustek-opticpro-st12.html" :interface "USB" :usbid "0x07b3" "0x0600" :status :unsupported :comment "Product id 0x0600 is unsupported but may be supported by the genesys backend in future. Product id 0x040b is supported by the gt68xx backend." :model "OpticPro ST16" -:url "/unsupported/plustek-opticpro-st16.html" +:url "unsupported/plustek-opticpro-st16.html" :interface "USB" :usbid "0x07b3" "0x0600" :status :unsupported @@ -1799,14 +1809,14 @@ :comment "Probably LM983x based." :model "OpticPro S24" -:url "/unsupported/plustek-opticpro-st24.html" +:url "unsupported/plustek-opticpro-st24.html" :interface "USB" :usbid "0x07b3" "0x0601" :status :unsupported :comment "Product id 0x0601 is unsupported but may be supported by the genesys backend in future /GL646). Product id 0x040e is supported by the gt68xx backend." :model "OpticPro ST24" -:url "/unsupported/plustek-opticpro-st24.html" +:url "unsupported/plustek-opticpro-st24.html" :interface "USB" :usbid "0x07b3" "0x0601" :status :unsupported @@ -1814,83 +1824,83 @@ :model "OpticPro S28" :interface "USB" -:url "/unsupported/plustek-opticpro-s28.html" +:url "unsupported/plustek-opticpro-s28.html" :usbid "0x07b3" "0x0801" :status :unsupported :comment "GL841 based, to be added to genesys backend" :model "OpticPro ST28" -:url "/unsupported/plustek-opticpro-s28.html" +:url "unsupported/plustek-opticpro-s28.html" :interface "USB" :usbid "0x07b3" "0x0801" :status :unsupported :comment "GL841 based, to be added to genesys backend" :model "OpticPro ST28" -:url "/unsupported/plustek-opticpro-st28.html" +:url "unsupported/plustek-opticpro-st28.html" :interface "USB" :usbid "0x07b3" "0x0802" :status :unsupported :comment "GL841 based, to be added to genesys backend" :model "Umax AstraScan 4750" -:url "/unsupported/umax-astrscan-4750.html" +:url "unsupported/umax-astrscan-4750.html" :interface "USB" :usbid "0x07b3" "0x0802" :status :unsupported :comment "GL841 based, to be added to genesys backend, rebadged Plustek ST28" :model "OpticPro ST48" -:url "/unsupported/plustek-opticpro-st48.html" +:url "unsupported/plustek-opticpro-st48.html" :interface "USB" :usbid "0x07b3" "0x0800" :status :unsupported :comment "GL841 based, to be added to genesys backend" :model "OpticPro ST64" -:url "/unsupported/plustek-opticpro-st64.html" +:url "unsupported/plustek-opticpro-st64.html" :interface "USB" :usbid "0x07b3" "0x0c00" :status :unsupported :comment "GL843 based, maybe to be added to genesys backend" :model "OpticPro ST64+" -:url "/unsupported/plustek-opticpro-st64plus.html" +:url "unsupported/plustek-opticpro-st64plus.html" :interface "USB" :usbid "0x07b3" "0x0c03" :status :unsupported :comment "GL843 based. See link for more details." :model "PL 806" -:url "/unsupported/plustek-pl806.html" +:url "unsupported/plustek-pl806.html" :interface "USB" :usbid "0x07b3" "0x0c0c" :status :unsupported :comment "Unsupported. See link for more details." :model "SmartOffice PL 812" -:url "/unsupported/plustek-pl812.html" +:url "unsupported/plustek-pl812.html" :interface "USB" :usbid "0x07b3" "0x0c0d" :status :unsupported :comment "Unsupported. See link for more details." :model "OpticSlim 500" -:url "/unsupported/plustek-opticslim-500.html" +:url "unsupported/plustek-opticslim-500.html" :interface "USB" :usbid "0x07b3" "0x0458" :status :unsupported :comment "Unsupported. See link for more details." :model "OpticSlim 2420" -:url "/unsupported/plustek-opticslim-2420.html" +:url "unsupported/plustek-opticslim-2420.html" :interface "USB" :usbid "0x07b3" "0x0806" :status :unsupported :comment "GL841 based, to be added to genesys backend" :model "OpticSlim 2420+" -:url "/unsupported/plustek-opticslim-2420plus.html" +:url "unsupported/plustek-opticslim-2420plus.html" :interface "USB" :usbid "0x07b3" "0x0914" :status :unsupported @@ -1907,7 +1917,7 @@ :comment "Business card reader. No further information available." :model "ScanCopy 115" -:url "/unsupported/plustek-scancopy-115.html" +:url "unsupported/plustek-scancopy-115.html" :interface "USB" :usbid "0x07b3" "0x081c" :status :unsupported @@ -1966,7 +1976,7 @@ :comment "Probably not supported. No details known." :model "DocuPen R700" -:url "/unsupported/planon-docupen-r700.html" +:url "unsupported/planon-docupen-r700.html" :interface "USB" :usbid "0x10c4" "0xea60" :status :unsupported @@ -1983,7 +1993,7 @@ :url "http://www.primax.nl/" :model "Colorado 600U" -:url "/unsupported/primax-colorado-600u.html" +:url "unsupported/primax-colorado-600u.html" :interface "USB" :usbid "0x0461" "0x0341" :status :unsupported @@ -2002,7 +2012,7 @@ :comment "Probably unsupported. No details known." :model "Primascan Colorado 2600u" -:url "/unsupported/visioneer-onetouch4400.html" +:url "unsupported/visioneer-onetouch4400.html" :interface "USB" :usbid "0x0461" "0x0347" :status :unsupported @@ -2021,7 +2031,7 @@ :comment "Not supported. However, a stand-alone program is available." :model "Colorado USB 9600" -:url "/unsupported/primax-colorado-usb-9600.html" +:url "unsupported/primax-colorado-usb-9600.html" :interface "USB" :usbid "0x0461" "0x0340" :status :unsupported @@ -2086,7 +2096,7 @@ :comment "Maybe GL646. Maybe similar to Medion MD 6228?" :model "Onetouch 8920" -:url "/unsupported/visioneer-onetouch8920.html" +:url "unsupported/visioneer-onetouch8920.html" :interface "USB" :usbid "0x0461" "0x0371" :status :unsupported @@ -2098,7 +2108,7 @@ :url "http://www.fida.com/" :model "Winscan Pro 2448U" -:url "/unsupported/prolink-2448u.html" +:url "unsupported/prolink-2448u.html" :interface "USB" :usbid "0x06dc" "0x0014" :status :unsupported @@ -2129,21 +2139,21 @@ :mfg "Reflecta" :model "DigitDia 3600" -:url "/unsupported/reflecta-digitdia-3600.html" +:url "unsupported/reflecta-digitdia-3600.html" :interface "USB IEEE-1394" :usbid "0x05e3" "0x0142" :status :unsupported :comment "Film scanner that can scan directly from the magazine." :model "iScan 1800" -:url "/unsupported/reflecta-iscan-1800.html" +:url "unsupported/reflecta-iscan-1800.html" :interface "USB" :usbid "0x05e3" "0x0120" :status :unsupported :comment "Probably unsupported. See link for details." :model "ProScan 4000" -:url "/unsupported/reflecta-proscan-4000.html" +:url "unsupported/reflecta-proscan-4000.html" :interface "USB IEEE-1394" :usbid "0x05e3" "0x0143" :status :unsupported @@ -2154,21 +2164,21 @@ :mfg "Relisys" :model "Eclipse 1200U" -:url "/unsupported/relisys-eclipse-1200u.html" +:url "unsupported/relisys-eclipse-1200u.html" :interface "USB" :usbid "0x0475" "0x0103" :status :unsupported :comment "Probably unsupported. See link for details." :model "Scorpio Ultra 3" -:url "/unsupported/relisys-scorpio-ultra3.html" +:url "unsupported/relisys-scorpio-ultra3.html" :interface "USB" :usbid "0x0475" "0x0210" :status :unsupported :comment "Probably unsupported. See link for details." :model "Episode" -:url "/unsupported/relisys-episode.html" +:url "unsupported/relisys-episode.html" :interface "USB" :usbid "0x0475" "0x0103" :status :unsupported @@ -2184,7 +2194,7 @@ :mfg "Samsung" :model "SCX-4725FN" -:url "/unsupported/samsung-scx-4725.html" +:url "unsupported/samsung-scx-4725.html" :interface "USB" :usbid "0x04e8" "0x341f" :status :unsupported @@ -2195,7 +2205,7 @@ :mfg "Scanshell" :model "800N" -:url "/unsupported/scanshell-800n.html" +:url "unsupported/scanshell-800n.html" :interface "USB" :usbid "0x0a82" "0x6605" :status :unsupported @@ -2265,14 +2275,14 @@ :mfg "Syscan" :model "TravelScan FS-531" -:url "/unsupported/syscan-travelscan-fs531.html" +:url "unsupported/syscan-travelscan-fs531.html" :interface "USB" :usbid "0x0a82" "0x0530" :status :unsupported :comment "Not supported. May work with the Plustek backend in future. See link for details." :model "TravelScan Pro" -:url "/unsupported/syscan-travelscan-pro.html" +:url "unsupported/syscan-travelscan-pro.html" :interface "USB" :usbid "0x0a82" "0x2000" :status :unsupported @@ -2295,7 +2305,7 @@ :comment "Unsupported at the moment. See link for a project for that scanner." :model "Artiscan 2400FS" -:url "/unsupported/tamarack-artiscan-2400.html" +:url "unsupported/tamarack-artiscan-2400.html" :interface "USB" :usbid "0x05e3" "0x0100" :status :unsupported @@ -2308,7 +2318,7 @@ :url "http://www.tce.com.br/" :model "MK600U" -:url "/unsupported/memorex-maxx-6136u.html" +:url "unsupported/memorex-maxx-6136u.html" :interface "USB" :usbid "0x0461" "0x0346" :status :unsupported @@ -2326,7 +2336,7 @@ :url "http://www.tecoimage.com.tw/" :model "VM6509F" -:url "/unsupported/teco-vm6509.html" +:url "unsupported/teco-vm6509.html" :interface "USB" :usbid "0x080d" "0x0102" :status :unsupported @@ -2337,7 +2347,7 @@ :mfg "Tiny" :model "FU661E" -:url "/unsupported/visioneer-onetouch4400.html" +:url "unsupported/visioneer-onetouch4400.html" :interface "USB" :usbid "0x0461" "0x0347" :status :unsupported @@ -2349,19 +2359,19 @@ :url "http://www.trust-site.com" :model "CombiScan 19200" -:url "/unsupported/trust-combiscan-19200.html" +:url "unsupported/trust-combiscan-19200.html" :interface "Parport USB" :usbid "0x05cb" "0x1483" :status :unsupported :comment "Unsupported. See link for details." :model "EasyScan 19200" -:url "http://lists.alioth.debian.org/pipermail/sane-devel/2008-October/022955.html" +:url "http://alioth-lists.debian.net/pipermail/sane-devel/2008-October/022955.html" :interface "Parport" :status :unsupported :model "SCSI Scan 19200 -Excellence Series-" -:url "/unsupported/trust-scsi-scan-19200.html" +:url "unsupported/trust-scsi-scan-19200.html" :interface "SCSI" :status :unsupported :comment "Unsupported. See link for details." @@ -2372,49 +2382,49 @@ :url "http://www.umax.com/" :model "Astra 2500" -:url "/unsupported/umax-astra-2500.html" +:url "unsupported/umax-astra-2500.html" :interface "USB" :usbid "0x0461" "0x0374" :status :unsupported :comment "Probably not supported. See link for details." :model "Astra 2850" -:url "/unsupported/plustek-opticpro-st24.html" +:url "unsupported/plustek-opticpro-st24.html" :interface "USB" :usbid "0x07b3" "0x0601" :status :unsupported :comment "Probably not supported. Same IDs as Plustek OpticPro ST24. See link for details." :model "Astra 3000" -:url "/unsupported/umax-astra-3000.html" +:url "unsupported/umax-astra-3000.html" :interface "USB" :usbid "0x0461" "0x038a" :status :unsupported :comment "Probably not supported. See link for details." :model "Astra 3600" -:url "/unsupported/umax-astra-3600.html" +:url "unsupported/umax-astra-3600.html" :interface "USB" :usbid "0x0461" "0x038a" :status :unsupported :comment "Probably not supported. See link for details." :model "Astra 4000" -:url "/unsupported/umax-astra-4000.html" +:url "unsupported/umax-astra-4000.html" :interface "USB" :usbid "0x1606" "0x1030" :status :unsupported :comment "Not supported. See link for details." :model "Astra 4100" -:url "/unsupported/umax-astra-4100.html" +:url "unsupported/umax-astra-4100.html" :interface "USB" :usbid "0x0461" "0x038c" :status :unsupported :comment "Not supported, to be added to genesys backend." :model "Astra 4500" -:url "/unsupported/umax-astra-4500.html" +:url "unsupported/umax-astra-4500.html" :interface "USB" :usbid "0x0638" "0x0a10" :status :unsupported @@ -2426,7 +2436,7 @@ :comment "Probably not supported, no details known." :model "Astra 4700" -:url "/unsupported/umax-astra-4700.html" +:url "unsupported/umax-astra-4700.html" :interface "USB" :usbid "0x0638" "0x0a20" :status :unsupported @@ -2439,21 +2449,21 @@ :comment "Not supported. No chipset information available. Same as Avision iVina FB2400." :model "AstraSlim" -:url "/unsupported/umax-astraslim.html" +:url "unsupported/umax-astraslim.html" :usbid "0x080d" "0x0104" :interface "USB" :status :unsupported :comment "Probably not supported currently. See link for more details." :model "AstraSlim 1200" -:url "/unsupported/umax-astraslim-1200.html" +:url "unsupported/umax-astraslim-1200.html" :interface "USB" :usbid "0x080d" "0x0110" :status :unsupported :comment "See link for more details." :model "AstraSlim 6000" -:url "/unsupported/umax-astraslim-6000.html" +:url "unsupported/umax-astraslim-6000.html" :interface "USB" :usbid "0x080d" "0x0104" :status :unsupported @@ -2465,7 +2475,7 @@ :comment "Probably not supported. No details known.." :model "Powerlook 180" -:url "/unsupported/umax-powerlook-180.html" +:url "unsupported/umax-powerlook-180.html" :interface "USB" ;:usbid "0x3902" "0xc470" #correct? :status :unsupported @@ -2481,7 +2491,7 @@ :mfg "Vantas" :model "3000" -:url "/unsupported/visioneer-onetouch4800.html" +:url "unsupported/visioneer-onetouch4800.html" :interface "USB" :usbid "0x04a7" "0x0224" :status :unsupported @@ -2505,35 +2515,35 @@ :comment "Not supported. Id is from Primax? Yet another scanner with the same name?" :model "9420" -:url "/unsupported/visioneer-9420.html" +:url "unsupported/visioneer-9420.html" :interface "USB" :usbid "0x0461" "0x03a8" :status :unsupported :comment "Unsupported. See link for details." :model "9450 USB" -:url "/unsupported/visioneer-9450-usb.html" +:url "unsupported/visioneer-9450-usb.html" :interface "USB" :usbid "0x04a7" "0x0421" :status :unsupported :comment "Unsupported. See link for details." :model "Onetouch 4400" -:url "/unsupported/visioneer-onetouch4400.html" +:url "unsupported/visioneer-onetouch4400.html" :interface "USB" :usbid "0x0461" "0x0347" :status :unsupported :comment "Not supported. E5 chipset? See link for more details." :model "OneTouch 4800 USB" -:url "/unsupported/visioneer-onetouch4800.html" +:url "unsupported/visioneer-onetouch4800.html" :interface "USB" :usbid "0x04a7" "0x0224" :status :unsupported :comment "Unsupported. Seems to use Realtek RTS8801B. Same as Microtek Scanport 3000. See link for details." :model "OneTouch 5300 USB" -:url "/unsupported/visioneer-onetouch5300.html" +:url "unsupported/visioneer-onetouch5300.html" :interface "USB" :usbid "0x04a7" "0x0226" :status :unsupported @@ -2546,98 +2556,98 @@ :comment "Not supported. Yet another scanner with this name?" :model "OneTouch 5800 USB" -:url "/unsupported/visioneer-onetouch5800.html" +:url "unsupported/visioneer-onetouch5800.html" :interface "USB" :usbid "0x04a7" "0x0226" :status :unsupported :comment "Unsupported. 48 bit scanner, doesn't work with viceo backend. RTS8801C." :model "OneTouch 6600" -:url "/unsupported/visioneer-onetouch6600.html" +:url "unsupported/visioneer-onetouch6600.html" :interface "USB" :usbid "0x04a7" "0x022a" :status :unsupported :comment "Unsupported. See link for details." :model "Onetouch 7100" -:url "/unsupported/visioneer-onetouch7100.html" +:url "unsupported/visioneer-onetouch7100.html" :interface "USB" :usbid "0x04a7" "0x0229" :status :unsupported :comment "GL646 based, to be added to genesys backend" :model "Onetouch 7700" -:url "/unsupported/visioneer-onetouch7700.html" +:url "unsupported/visioneer-onetouch7700.html" :interface "USB" :usbid "0x04a7" "0x0380" :status :unsupported :comment "LM9832/3 based, to be added to plustek backend" :model "OneTouch 8100" -:url "/unsupported/visioneer-onetouch8100.html" +:url "unsupported/visioneer-onetouch8100.html" :interface "USB" :usbid "0x04a7" "0x0321" :status :unsupported :comment "Unsupported. See link for details." :model "Onetouch 8700" -:url "/unsupported/visioneer-onetouch8920.html" +:url "unsupported/visioneer-onetouch8920.html" :interface "USB" :usbid "0x04a7" "0x0371" :status :unsupported :comment "Not supported. See link for details." :model "Onetouch 8900" -:url "/unsupported/visioneer-onetouch8920.html" +:url "unsupported/visioneer-onetouch8920.html" :interface "USB" :usbid "0x04a7" "0x0371" :status :unsupported :comment "Not supported. Same as 8920 but without TA?" :model "Onetouch 8920" -:url "/unsupported/visioneer-onetouch8920.html" +:url "unsupported/visioneer-onetouch8920.html" :interface "USB" :usbid "0x04a7" "0x0371" :status :unsupported :comment "Not supported. Same as 8700 and 8900 but includes a TA. Uses a Primax ID. Chipset is RTS8801C. See link for output of /proc/bus/usb/devices." :model "Onetouch 9000" -:url "/unsupported/visioneer-onetouch9020.html" +:url "unsupported/visioneer-onetouch9020.html" :interface "USB" :usbid "0x04a7" "0x022c" :status :unsupported :comment "Not supported. See link for details." :model "Onetouch 9020" -:url "/unsupported/visioneer-onetouch9020.html" +:url "unsupported/visioneer-onetouch9020.html" :interface "USB" :usbid "0x04a7" "0x022c" :status :unsupported :comment "Not supported. See link for details." :model "Onetouch 9320" -:url "/unsupported/visioneer-onetouch9320.html" +:url "unsupported/visioneer-onetouch9320.html" :interface "USB" :usbid "0x04a7" "0x0362" :status :unsupported :comment "Probably not supported. See link for details." :model "Onetouch Pro 8800" -:url "/unsupported/visioneer-onetouch8820.html" +:url "unsupported/visioneer-onetouch8820.html" :interface "USB" :usbid "0x04a7" "0x0410" :status :unsupported :comment "Probably not supported. See link for details." :model "Onetouch Pro 8820" -:url "/unsupported/visioneer-onetouch8820.html" +:url "unsupported/visioneer-onetouch8820.html" :interface "USB" :usbid "0x04a7" "0x0410" :status :unsupported :comment "Probably not supported. See link for details." :model "PaperPort 3100b" -:url "/unsupported/visioneer-paperport-3100b.html" +:url "unsupported/visioneer-paperport-3100b.html" :interface "Parport" :status :unsupported :comment "Most probably not supported. See link for details." @@ -2648,13 +2658,13 @@ :comment "Most probably not supported. More details would be appreciated." :model "PaperPort OneTouch" -:url "/unsupported/visioneer-paperport-onetouch.html" +:url "unsupported/visioneer-paperport-onetouch.html" :interface "Parport" :status :unsupported :comment "Most probably not supported. See link for details." :model "Strobe Pro USB" -:url "/unsupported/visioneer-strobe-pro-usb.html" +:url "unsupported/visioneer-strobe-pro-usb.html" :interface "USB" :usbid "0x04a7" "0x0102" :status :unsupported @@ -2663,82 +2673,82 @@ ;******************************************************************************************** :model "4800 One Touch" -:url "/unsupported/xerox-4800-onetouch.html" +:url "unsupported/xerox-4800-onetouch.html" :interface "USB" :usbid "0x04a7" "0x03a0" :status :unsupported :comment "Unsupported. See link for details. Different id compared to One Touch 4800?" :model "DocuImage 620S" -:url "/unsupported/xerox-docuimage-620s.html" +:url "unsupported/xerox-docuimage-620s.html" :interface "SCSI" :status :unsupported :comment "Not supported. See link for more details." :model "DocuMate 510" -:url "/unsupported/xerox-documate-510.html" +:url "unsupported/xerox-documate-510.html" :interface "USB" :status :unsupported :usbid "0x04a7" "0x0446" :comment "Not supported. See link for more details." :model "DocuMate 510" -:url "/unsupported/xerox-documate-510.html" +:url "unsupported/xerox-documate-510.html" :interface "USB" :status :unsupported :usbid "0x04a7" "0x047c" :comment "Not supported. See link for more details. Yet another USB id." :model "One Touch 4800" -:url "/unsupported/visioneer-onetouch4800.html" +:url "unsupported/visioneer-onetouch4800.html" :interface "USB" :usbid "0x04a7" "0x0224" :status :unsupported :comment "Unsupported. See link for details. Different id compared to 4800 One Touch?" :model "WorkCentre 470cx" -:url "/unsupported/xerox-workcentre-470cx.html" +:url "unsupported/xerox-workcentre-470cx.html" :interface "Parport" :status :unsupported :comment "Not supported. See link for more details." :model "WorkCentre M15i" -:url "/unsupported/xerox-workcentre-m15i.html" +:url "unsupported/xerox-workcentre-m15i.html" :interface "USB" :usbid "0x0924" "0xffef" :status :unsupported :comment "Not supported. See link for more details." :model "WorkCentre XK35c" -:url "/unsupported/xerox-workcentre-xk35c.html" +:url "unsupported/xerox-workcentre-xk35c.html" :interface "USB Parport" :usbid "0x043d" "0x0020" :status :unsupported :comment "Not supported. See link for more details." :model "WorkCentre XK50cx" -:url "/unsupported/xerox-workcentre-xk50cx.html" +:url "unsupported/xerox-workcentre-xk50cx.html" :interface "USB" :usbid "0x04e8" "0x3903" :status :unsupported :comment "Not supported. See link for more details." :model "WorkCentre Pro 412" -:url "/unsupported/xerox-workcentre-pro412.html" +:url "unsupported/xerox-workcentre-pro412.html" :interface "USB Parport" :usbid "0x043d" "0x4303" :status :unsupported :comment "Not supported. See link for more details." :model "WorkCentre PE16" -:url "/unsupported/xerox-workcentre-pe16.html" +:url "unsupported/xerox-workcentre-pe16.html" :interface "USB Parport" :usbid "0x0924" "0x4220" :status :unsupported :comment "Not supported. See link for more details." :model "WorkCentre PE120i" -:url "/unsupported/xerox-workcentre-pe120i.html" +:url "unsupported/xerox-workcentre-pe120i.html" :interface "USB" :usbid "0x0924" "0x4237" :status :unsupported @@ -2754,7 +2764,7 @@ :mfg "Biolux" :model "654 (micrOcular)" -:url "/unsupported/biolux-654.html" +:url "unsupported/biolux-654.html" :interface "USB" :usbid "0x0923" "0x010f" :status :unsupported @@ -2766,7 +2776,7 @@ :mfg "Grandtek Scopecam" :model "8x30 Binocular & Digital Camera" -:url "/unsupported/grandtech-scopecam.html" +:url "unsupported/grandtech-scopecam.html" :interface "USB" :usbid "0x0797" "0x801c" :status :unsupported @@ -2778,4 +2788,3 @@ ; :comment and :url specifiers are optional after :mfg, :model, :desc, ; and at the top-level. - diff --git a/doc/descriptions/xerox_mfp.desc b/doc/descriptions/xerox_mfp.desc index dd9d283..46c2867 100644 --- a/doc/descriptions/xerox_mfp.desc +++ b/doc/descriptions/xerox_mfp.desc @@ -6,17 +6,18 @@ :mfg "Xerox" :url "http://www.office.xerox.com/" -:model "Phaser 6110MFP" -:interface "USB" -:usbid "0x0924" "0x3d5d" -:status :good - :model "Phaser 3200MFP" :interface "USB" :usbid "0x0924" "0x3da4" +:comment "All these models are turned out to be rebranded Samsungs." :status :complete :url "http://www.office.xerox.com/multifunction-printer/multifunction-under-30ppm/phaser-3200mfp/spec-enus.html" +:model "Phaser 6110MFP" +:interface "USB" +:usbid "0x0924" "0x3d5d" +:status :good + :model "WorkCentre 3119 Series" :interface "USB" :usbid "0x0924" "0x4265" @@ -86,7 +87,7 @@ :model "SCX-4x16" :interface "USB" :usbid "0x04e8" "0x3409" -:status :untested +:status :unsupported :model "SCX-6x20" :interface "USB" @@ -279,7 +280,7 @@ :status :untested :model "SCX-4623FW" -:interface "USB" +:interface "USB Ethernet" :usbid "0x04e8" "0x3440" :status :good @@ -382,6 +383,16 @@ :usbid "0x04e8" "0x3468" :status :untested +:model "M2070" +:interface "USB" +:usbid "0x04e8" "0x3469" +:status :good + +:model "C1860FW" +:interface "USB" +:usbid "0x04e8" "0x346b" +:status :untested + :model "M458x Series" :interface "USB" :usbid "0x04e8" "0x346f" @@ -402,6 +413,11 @@ :usbid "0x04e8" "0x3478" :status :untested +:model "C480W" +:interface "USB" +:usbid "0x04e8" "0x347e" +:status :untested + :model "K3250 Series" :interface "USB" :usbid "0x04e8" "0x3481" @@ -411,4 +427,3 @@ :interface "USB" :usbid "0x04e8" "0x3482" :status :untested - diff --git a/doc/doxygen-genesys.conf.in b/doc/doxygen-genesys.conf.in index af9309f..213d2bb 100644 --- a/doc/doxygen-genesys.conf.in +++ b/doc/doxygen-genesys.conf.in @@ -1,1793 +1,313 @@ -# Doxyfile 1.8.1.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). +# Doxyfile 1.8.8 #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - PROJECT_NAME = GENESYS - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - PROJECT_NUMBER = @VERSION@ - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - PROJECT_BRIEF = GENESYS backend documentation - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - OUTPUT_DIRECTORY = ./ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - +ALLOW_UNICODE_NAMES = NO OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding -# "class=itcl::class" will allow you to use the command class in the -# itcl::class meaning. - TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - EXTENSION_MAPPING = - -# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all -# comments according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you -# can mix doxygen, HTML, and XML commands with Markdown formatting. -# Disable only in case of backward compatibilities issues. - MARKDOWN_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - +AUTOLINK_SUPPORT = YES BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - DISTRIBUTE_GROUP_DOC = YES - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -SYMBOL_CACHE_SIZE = 0 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - LOOKUP_CACHE_SIZE = 0 - #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation. - EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - SHOW_INCLUDE_FILES = NO - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - +SHOW_GROUPED_MEMB_INC = NO FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. - CITE_BIB_FILES = - #--------------------------------------------------------------------------- -# configuration options related to warning and progress messages +# Configuration options related to warning and progress messages #--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - WARN_LOGFILE = - #--------------------------------------------------------------------------- -# configuration options related to the input files +# Configuration options related to the input files #--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - INPUT = ../include/sane/ \ ../backend - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - FILE_PATTERNS = genesys*.[ch] - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to the directory from which doxygen is -# run. - EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - EXCLUDE_SYMLINKS = YES - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - IMAGE_PATH = ./ - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - FILTER_SOURCE_PATTERNS = - +USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- -# configuration options related to source browsing +# Configuration options related to source browsing #--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C, C++ and Fortran comments will always remain visible. - STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - +SOURCE_TOOLTIPS = YES USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - VERBATIM_HEADERS = YES - +CLANG_ASSISTED_PARSING = NO +CLANG_OPTIONS = #--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index +# Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - IGNORE_PREFIX = - #--------------------------------------------------------------------------- -# configuration options related to the HTML output +# Configuration options related to the HTML output #--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - HTML_OUTPUT = ./genesys-html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is advised to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# style sheet in the HTML output directory as well, or it will be erased! - HTML_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - +HTML_EXTRA_STYLESHEET = HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the style sheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - HTML_TIMESTAMP = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. - HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of -# entries shown in the various tree structured indices initially; the user -# can expand and collapse entries dynamically later on. Doxygen will expand -# the tree to such a level that at most the specified number of entries are -# visible (unless a fully collapsed tree already exceeds this amount). -# So setting the number of entries 1 will produce a full collapsed tree by -# default. 0 is a special value representing an infinite number of entries -# and will result in a full expanded tree by default. - HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# -# Qt Help Project / Custom Filters. - QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. - QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) -# at top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. Since the tabs have the same information as the -# navigation tree you can set this option to NO if you already set -# GENERATE_TREEVIEW to YES. - DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. -# Since the tree basically has the same information as the tab index you -# could consider to set DISABLE_INDEX to NO when enabling this option. - GENERATE_TREEVIEW = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you may also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to -# the MathJax Content Delivery Network so you can quickly see the result without -# installing MathJax. -# However, it is strongly recommended to install a local -# copy of MathJax from http://www.mathjax.org before deployment. - +MATHJAX_FORMAT = HTML-CSS MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - +MATHJAX_CODEFILE = SEARCHENGINE = NO - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - SERVER_BASED_SEARCH = NO - +EXTERNAL_SEARCH = NO +SEARCHENGINE_URL = +SEARCHDATA_FILE = searchdata.xml +EXTERNAL_SEARCH_ID = +EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- -# configuration options related to the LaTeX output +# Configuration options related to the LaTeX output #--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - LATEX_OUTPUT = - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - +LATEX_EXTRA_FILES = PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - LATEX_BIB_STYLE = plain - #--------------------------------------------------------------------------- -# configuration options related to the RTF output +# Configuration options related to the RTF output #--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - RTF_HYPERLINKS = NO - -# Load style sheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - RTF_EXTENSIONS_FILE = - #--------------------------------------------------------------------------- -# configuration options related to the man page output +# Configuration options related to the man page output #--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - +MAN_SUBDIR = MAN_LINKS = NO - #--------------------------------------------------------------------------- -# configuration options related to the XML output +# Configuration options related to the XML output #--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - XML_PROGRAMLISTING = YES - #--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output +# Configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- +GENERATE_DOCBOOK = NO +DOCBOOK_OUTPUT = docbook +DOCBOOK_PROGRAMLISTING = NO +#--------------------------------------------------------------------------- +# Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - GENERATE_AUTOGEN_DEF = NO - #--------------------------------------------------------------------------- -# configuration options related to the Perl module output +# Configuration options related to the Perl module output #--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - PERLMOD_MAKEVAR_PREFIX = - #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - INCLUDE_PATH = ../backend - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - SKIP_FUNCTION_MACROS = YES - #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration options related to external references #--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. For each -# tag file the location of the external documentation should be added. The -# format of a tag file without this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths -# or URLs. Note that each tag file must have a unique name (where the name does -# NOT include the path). If a tag file is not located in the directory in which -# doxygen is run, you must also specify the path to the tagfile here. - TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - +EXTERNAL_PAGES = YES PERL_PATH = /usr/bin/perl - #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - CLASS_DIAGRAMS = NO - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - +DIA_PATH = HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - +DOT_FONTNAME = DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# CLASS_DIAGRAMS tag to NO. - CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - UML_LOOK = NO - -# If the UML_LOOK tag is enabled, the fields and methods are shown inside -# the class node. If there are many fields or methods and many nodes the -# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS -# threshold limits the number of items for each type to make the size more -# managable. Set this to 0 for no limit. Note that the threshold may be -# exceeded by 50% before the limit is enforced. - UML_LIMIT_NUM_FIELDS = 10 - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - +DIAFILE_DIRS = +PLANTUML_JAR_PATH = DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - DOT_CLEANUP = YES diff --git a/doc/doxygen-sanei.conf.in b/doc/doxygen-sanei.conf.in index 0b28011..68e0a85 100644 --- a/doc/doxygen-sanei.conf.in +++ b/doc/doxygen-sanei.conf.in @@ -1,1473 +1,312 @@ -# Doxyfile 1.5.7.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") +# Doxyfile 1.8.8 #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - PROJECT_NAME = SANEI - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - PROJECT_NUMBER = @VERSION@ - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - +PROJECT_BRIEF = +PROJECT_LOGO = OUTPUT_DIRECTORY = ./ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, -# Spanish, Swedish, and Ukrainian. - +ALLOW_UNICODE_NAMES = NO OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - +ABBREVIATE_BRIEF = ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - +ALIASES = +TCL_SUBST = OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - OPTIMIZE_OUTPUT_VHDL = NO - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - +EXTENSION_MAPPING = +MARKDOWN_SUPPORT = YES +AUTOLINK_SUPPORT = YES BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - DISTRIBUTE_GROUP_DOC = YES - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - +INLINE_GROUPED_CLASSES = NO +INLINE_SIMPLE_STRUCTS = NO TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - +LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - +EXTRACT_PACKAGE = NO EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - SHOW_INCLUDE_FILES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - +SHOW_GROUPED_MEMB_INC = NO +FORCE_LOCAL_INCLUDES = NO INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - SORT_BRIEF_DOCS = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - +SORT_MEMBERS_CTORS_1ST = NO SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - +STRICT_PROTO_MATCHING = NO GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - +ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = - +FILE_VERSION_FILTER = +LAYOUT_FILE = +CITE_BIB_FILES = #--------------------------------------------------------------------------- -# configuration options related to warning and progress messages +# Configuration options related to warning and progress messages #--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - +WARN_LOGFILE = #--------------------------------------------------------------------------- -# configuration options related to the input files +# Configuration options related to the input files #--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - INPUT = ../include/sane/ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - FILE_PATTERNS = sanei*.h - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - +EXCLUDE = EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - IMAGE_PATH = ./ - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - +INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = NO - +FILTER_SOURCE_PATTERNS = +USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- -# configuration options related to source browsing +# Configuration options related to source browsing #--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. - REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - +SOURCE_TOOLTIPS = YES USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - VERBATIM_HEADERS = YES - +CLANG_ASSISTED_PARSING = NO +CLANG_OPTIONS = #--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index +# Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - +IGNORE_PREFIX = #--------------------------------------------------------------------------- -# configuration options related to the HTML output +# Configuration options related to the HTML output #--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - HTML_OUTPUT = ./sanei-html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_EXTRA_STYLESHEET = +HTML_EXTRA_FILES = +HTML_COLORSTYLE_HUE = 220 +HTML_COLORSTYLE_SAT = 100 +HTML_COLORSTYLE_GAMMA = 80 +HTML_TIMESTAMP = YES HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - +HTML_INDEX_NUM_ENTRIES = 100 GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - +DOCSET_PUBLISHER_ID = org.doxygen.Publisher +DOCSET_PUBLISHER_NAME = Publisher GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - +CHM_FILE = +HHC_LOCATION = GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - +CHM_INDEX_ENCODING = BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# Qt Help Project / Namespace. - +QCH_FILE = QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# Qt Help Project / Virtual Folders. - QHP_VIRTUAL_FOLDER = doc - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file . - -QHG_LOCATION = - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - +QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = +QHG_LOCATION = +GENERATE_ECLIPSEHELP = NO +ECLIPSE_DOC_ID = org.doxygen.Project DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to FRAME, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. Other possible values -# for this tag are: HIERARCHIES, which will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list; -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which -# disables this behavior completely. For backwards compatibility with previous -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE -# respectively. - GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - +ENUM_VALUES_PER_LINE = 4 TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - +EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 - +FORMULA_TRANSPARENT = YES +USE_MATHJAX = NO +MATHJAX_FORMAT = HTML-CSS +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest +MATHJAX_EXTENSIONS = +MATHJAX_CODEFILE = +SEARCHENGINE = NO +SERVER_BASED_SEARCH = NO +EXTERNAL_SEARCH = NO +SEARCHENGINE_URL = +SEARCHDATA_FILE = searchdata.xml +EXTERNAL_SEARCH_ID = +EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- -# configuration options related to the LaTeX output +# Configuration options related to the LaTeX output #--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - +LATEX_OUTPUT = LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - +EXTRA_PACKAGES = +LATEX_HEADER = +LATEX_FOOTER = +LATEX_EXTRA_FILES = PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - LATEX_HIDE_INDICES = NO - +LATEX_SOURCE_CODE = NO +LATEX_BIB_STYLE = plain #--------------------------------------------------------------------------- -# configuration options related to the RTF output +# Configuration options related to the RTF output #--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- -# configuration options related to the man page output +# Configuration options related to the man page output #--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - +MAN_SUBDIR = MAN_LINKS = NO - #--------------------------------------------------------------------------- -# configuration options related to the XML output +# Configuration options related to the XML output #--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - XML_PROGRAMLISTING = YES - #--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output +# Configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- +GENERATE_DOCBOOK = NO +DOCBOOK_OUTPUT = docbook +DOCBOOK_PROGRAMLISTING = NO +#--------------------------------------------------------------------------- +# Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - GENERATE_AUTOGEN_DEF = NO - #--------------------------------------------------------------------------- -# configuration options related to the Perl module output +# Configuration options related to the Perl module output #--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES - #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration options related to external references #--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - +TAGFILES = +GENERATE_TAGFILE = ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - +EXTERNAL_PAGES = YES PERL_PATH = /usr/bin/perl - #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to the dot tool #--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - CLASS_DIAGRAMS = NO - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - +MSCGEN_PATH = +DIA_PATH = HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - HAVE_DOT = NO - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - +DOT_NUM_THREADS = 0 +DOT_FONTNAME = DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - +DOT_FONTPATH = CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - +UML_LIMIT_NUM_FIELDS = 10 TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - +INTERACTIVE_SVG = NO +DOT_PATH = +DOTFILE_DIRS = +MSCFILE_DIRS = +DIAFILE_DIRS = +PLANTUML_JAR_PATH = DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/doc/gamma4scanimage.man b/doc/gamma4scanimage.man index fe81b15..576d148 100644 --- a/doc/gamma4scanimage.man +++ b/doc/gamma4scanimage.man @@ -3,9 +3,9 @@ .SH NAME gamma4scanimage \- create a gamma table for scanimage .SH SYNOPSIS -.B gamma4scanimage +.B gamma4scanimage .I gamma -.RI [ shadow +.RI [ shadow .RI [ highlight .RI [ maxin .RI [ maxout ]]]] @@ -52,7 +52,7 @@ defines the maximum output value. Take a look at the output of scanimage \-h to find out what maxout has to be. The default value is 255. .PP .SH EXAMPLE -.B scanimage \-\-custom\-gamma=yes \-\-gamma\-table +.B scanimage \-\-custom\-gamma=yes \-\-gamma\-table .I `gamma4scanimage 1.8 0 11500 16383 255` >image.pnm diff --git a/doc/gt68xx/gt68xx.CHANGES b/doc/gt68xx/gt68xx.CHANGES index 43f2e85..aa87504 100644 --- a/doc/gt68xx/gt68xx.CHANGES +++ b/doc/gt68xx/gt68xx.CHANGES @@ -17,7 +17,7 @@ V 1.0.82 (2006-10-03) V 1.0.81 (2006-05-21) * Added support for Plustek OpticPro S24 (some models). Added .conf entry for - Plustek OpticPro S12. + Plustek OpticPro S12. V 1.0.80 (2006-01-02) @@ -34,7 +34,7 @@ V 1.0.79 (2005-12-09) sane-backends 1.0.17 scanners are not detected anymore after closing the device. * Fixed wait_lamp_stable. Wait for a maximum time of 60 seconds. Print warming up message after 5 seconds. Print how long warming up took. -* For Mustek ScanExpress A3 USB, use more intelligent warm-up mechanism. The +* For Mustek ScanExpress A3 USB, use more intelligent warm-up mechanism. The brightness for this scanner first decreases and then increases again. With the previous logic the scanner always warmed up for at least 10 seconds even if it wasn't necessary. @@ -50,7 +50,7 @@ V 1.0.78 (2005-10-16) V 1.0.77 (2005-09-29) * Added support for Plustek OpticSlim M12 (untested). Based on patch from - Gerhard Jaeger . + Gerhard Jaeger . * Fixed gt68xx homepage links in man page. Changed minimum version of libusb to 0.1.8. @@ -290,7 +290,7 @@ V 1.0-55 (2004-03-06) * Added detection for Genius Vivid 1200 EX. * Fixed product id of Mustek BearPaw 2448 TA Plus. * Other minor updates. - + V 1.0-54 (2004-02-10) * Added basic support for Plustek OpticSlim 2400. Thanks to Radoslaw Grzanka and @@ -335,7 +335,7 @@ V 1.0-49 (2003-09-30) * Added ScanMagic 1200 UB Plus to man page and .desc. * Added Settings for Plustek OpticSlim 1200 * Added detection of Genius Vivid 4x. It won't work out-of-the-box, however. -* CCD coarse calib shouldn't run into an endless loop anymore. Plustek 1248U +* CCD coarse calib shouldn't run into an endless loop anymore. Plustek 1248U is much faster now. V 1.0-48 (2003-07-25) @@ -376,7 +376,7 @@ V 1.0-43 (2003-03-06) - Small requests are done with a response buffer of 8 bytes (instead of 64) now. Looks like GT-6816 based scanners return 8 bytes if the firmware is loaded and 64 bytes if it's not loaded. -- Changed GT-6816 firmware check to ignore errors from above change. +- Changed GT-6816 firmware check to ignore errors from above change. GT-6816 scanners work with the BSDs now (at least once). - Updated manpage concerning the BSDs. @@ -527,8 +527,8 @@ V 1.0-27 (2002-10-25) - Removed override for Trust Copmact Scan and Medion/Tevion/Lifetec LT 9452 (Mustek ScanExpress 1200 UB Plus clones). - Removed override for Tevion MD 9458 (seems to be an Artec Ultima 2000 (e +?) - clone). - + clone). + V 1.0-26 (2002-10-22) - Several fixes for Medion MD-9385 and Artec Ultima 2000 based scanners. The diff --git a/doc/leo/leo.txt b/doc/leo/leo.txt index 4f4eb61..26dbe21 100644 --- a/doc/leo/leo.txt +++ b/doc/leo/leo.txt @@ -3,8 +3,8 @@ Across Technologies FS-1130 (A rebadged LEO Technologies) - 000: 06 31 14 01 1f 00 00 00 41 43 52 4f 53 53 20 20 .1......ACROSS - 016: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + 000: 06 31 14 01 1f 00 00 00 41 43 52 4f 53 53 20 20 .1......ACROSS + 016: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 032: 31 2e 31 36 09 f6 0d b6 01 2c 01 2c 39 36 30 30 1.16.....,.,9600 @@ -16,12 +16,12 @@ LEO LEOScan S3: or 000: 06 00 02 02 1f 00 00 00 4c 45 4f 00 00 00 00 00 ........LEO..... 016: 4c 45 4f 53 63 61 6e 2d 53 33 00 00 00 00 00 00 LEOScan-S3...... - 032: 31 2e 31 30 1.10 + 032: 31 2e 31 30 1.10 Genius FS1130 000: 06 31 14 01 1f 00 00 00 4b 59 45 20 43 4f 52 50 .1......KYE CORP 016: 43 6f 6c 6f 72 50 61 67 65 2d 43 53 20 20 20 20 ColorPage-CS - 032: 31 2e 31 34 1.14 + 032: 31 2e 31 34 1.14 /*--------------------------------------------------------------------------*/ @@ -52,7 +52,7 @@ Start a scan SET WINDOW 24 00 00 00 00 00 30 00 00 00 Total length is 48 bytes - 01 = 0x2E (may be 0x30 - 2, ie total length -2) + 01 = 0x2E (may be 0x30 - 2, ie total length -2) 07 = length (48-8 = 40 = 0x28) 10-11 = X Resolution 12-13 = Y resolution @@ -66,7 +66,7 @@ Total length is 48 bytes 0x01 = halftone 0x02 = grayscale 0x05 = color - 34 = bit depth + 34 = bit depth 1 or 8 37 = ? RIF + other 43 = ? 0x01 @@ -77,7 +77,7 @@ READ SEND -2A 00 03 00 00 01 00 03 00 00 +2A 00 03 00 00 01 00 03 00 00 2A 00 02 00 00 0F 00 01 00 00 2 = data type code 0x02 = halftone pattern @@ -89,13 +89,13 @@ GET DATA BUFFER STATUS 7-8 allocation length returned buffer is 0x10 bytes long. - 00 00 0D 00 00 00 03 D3 60 00 00 00 01 48 00 EE - + 00 00 0D 00 00 00 03 D3 60 00 00 00 01 48 00 EE + 0-2 = additional length (0x10-3 = 0x0D) 6-8 = (?) total scan length 9-11 = filled data buffer 12-13 = number of lines left (decrease during a scan) - 14-15 = bytes per line (constant during a scan) + 14-15 = bytes per line (constant during a scan) /*--------------------------------------------------------------------------*/ @@ -119,7 +119,7 @@ park the CCD: SET WINDOWS TUR SCAN - + /*--------------------------------------------------------------------------*/ Command sequence for the S3 diff --git a/doc/matsushita/matsushita.txt b/doc/matsushita/matsushita.txt index 72b8fcd..0de6d94 100644 --- a/doc/matsushita/matsushita.txt +++ b/doc/matsushita/matsushita.txt @@ -38,12 +38,12 @@ REQUEST SENSE: INQUIRY: 12 00 00 00 60 00 result: - 06 00 02 02 5B 00 00 10 4B 2E 4D 2E 45 2E 20 20 - 4B 56 2D 53 53 32 35 41 20 20 20 20 20 20 20 20 - 31 2E 30 35 00 00 00 00 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 06 00 02 02 5B 00 00 10 4B 2E 4D 2E 45 2E 20 20 + 4B 56 2D 53 53 32 35 41 20 20 20 20 20 20 20 20 + 31 2E 30 35 00 00 00 00 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 SET WINDOWS: 24 00 00 00 00 00 00 00 00 00 @@ -51,9 +51,9 @@ SET WINDOWS: 24 00 00 00 00 00 00 00 48 00 72 bytes. 6-7 = 0x40 = window descriptor length - + Window Descriptor Block: - 0 = page side + 0 = page side 0x00 = front 0x80 = back 2-3 = X resolution @@ -80,7 +80,7 @@ SET WINDOWS: 0x80 = User downloaded pattern 29 = reverse image 0x00 = no reverse - 0x80 = reverse + 0x80 = reverse 43 = image emphasis 0x80 smooth 0x00 none @@ -111,7 +111,7 @@ SET WINDOWS: 0x82 = mode 3 59 = automatic separation 0x00 = no (twain default) - 0x80 = yes + 0x80 = yes 60 = white level 0x00 = from white stick (twain default) 0x80 = from paper @@ -136,7 +136,7 @@ READ: 5: page side 0x00 = front 0x80 = back - + 0x80 image size in dots 3(?)-4: number of the page to read. Multipage mode. @@ -147,7 +147,7 @@ READ: SEND(10): 2A 00 03 00 00 01 00 01 0A 00 2 = data type code - 0x02 = halftone pattern + 0x02 = halftone pattern data is 10 bytes of header + 64 bytes for the matrix 0x03 = gamma table data is 10 bytes of header + 256 bytes for the table diff --git a/doc/mustek/mustek.CHANGES b/doc/mustek/mustek.CHANGES index b7c7e2b..c5de63c 100644 --- a/doc/mustek/mustek.CHANGES +++ b/doc/mustek/mustek.CHANGES @@ -212,7 +212,7 @@ CHANGES for the SANE Mustek backend * Added OS/2 compatibility fixes from "Franz Bakan" . 2001-11-18 - * The Primax Compact 4800 seems to bes also supported. Added .desc and + * The Primax Compact 4800 seems to bes also supported. Added .desc and manpage entries. 2001-09-10 @@ -290,7 +290,7 @@ CHANGES for the SANE Mustek backend 2001-04-19 * Don't check for macro VERSION any longer in sane_init. Print out - PACKAGE_VERSION instead. + PACKAGE_VERSION instead. * Update email address and homepage. 2001-08-08 @@ -348,7 +348,7 @@ CHANGES for the SANE Mustek backend 2000-12-31 * Released Mustek backend 1.0-103 - + 2000-12-30 * Implemented calibration (color and gray mode) for the Paragon 1200 Pro. It's not perfect and needs lots of tests. It may work for the Paragon @@ -360,14 +360,14 @@ CHANGES for the SANE Mustek backend * Increased scan width to 8.6" for 1200 Pro. 2000-12-26 - * Added calibration for the SE 12000 SP Plus. Doesn't fully work until now + * Added calibration for the SE 12000 SP Plus. Doesn't fully work until now (images are too dark and colored). 2000-12-23 * Added option for Legal format (because the ScanExpress 12000 SP A4 size scanner can't be distinguished from the Paragon 1200 LS Legal size scanner by software). - + 2000-12-21 * Added a few checks for Null-Pointers. * Removed old code for SE calibration. @@ -378,7 +378,7 @@ CHANGES for the SANE Mustek backend 2000-12-10 * Released Mustek backend 1.0-102 - + 2000-12-09 * Fixed wrong comment in encode_resolution * Added missing test for return status in sane_start @@ -386,7 +386,7 @@ CHANGES for the SANE Mustek backend 2000-12-05 * Released Mustek backend 1.0-101 - + 2000-12-05 * Fixed lamp setting (avoid problems with some SE scanners). @@ -443,18 +443,18 @@ CHANGES for the SANE Mustek backend scanning (seems to work for firmware >= 2.00) * Adjusted transparency adapter support for all ScanExpress scanners. The 12000 A3 SP can only do A4 beacuse I don't have the right TA. - * don't use u_int* types in mustek.h because the definitions for these + * don't use u_int* types in mustek.h because the definitions for these types are not included 2000-11-04 * SE scanners can now scan 75, 100, 150, 200, 250, 300, 400, 500, 600, - 900 and 1200 dpi in color mode (the 1200 dpi models). These are fixed + 900 and 1200 dpi in color mode (the 1200 dpi models). These are fixed resolutions, a resolution >= the wanted resolution is selected. This makes preview and some resolutions faster than before (at least for some scanners), because lower resolutions can be used. - * Minimum scan resolution is 60 dpi in gray and lineart and 75 dpi in + * Minimum scan resolution is 60 dpi in gray and lineart and 75 dpi in color mode for the SE scanners now. - + 2000-10-29 * Fixed a bug concerning block LD. Paragon 1 and 2 were exchanged. * Paragon 12000SP color mode works now without garbage at the end @@ -479,9 +479,9 @@ CHANGES for the SANE Mustek backend 2000-10-03 * Released backend version 1.0-98. - + 2000-10-03 - * Fixed segmentation fault in sane_init (else statement was missing). + * Fixed segmentation fault in sane_init (else statement was missing). Thanks to Oliver Rauch who spotted this problem. * Re-enabled double buffering. @@ -518,7 +518,7 @@ CHANGES for the SANE Mustek backend 2000-09-24 * Released backend version 1.0-97. - + 2000-09-24 * Added RGB brightness and contrast for 3pass scanners * Brightness and contrast is +-100% for 3pass scanners now @@ -635,7 +635,7 @@ CHANGES for the SANE Mustek backend 2000-07-26 * fixed possible segfault pointer info was not checked for 0 (found by Petter Reinholdtsen) - * Updated comment about Paragon 600 II N linedistance correction in man + * Updated comment about Paragon 600 II N linedistance correction in man page 2000-07-25 @@ -643,7 +643,7 @@ CHANGES for the SANE Mustek backend 2000-07-25 * Released backend version 1.0-92 - + 2000-07-24 * Fixed ADF handling (output was mirrored in x direction). Gray and lineart seems to work now. Color and halftone modes look somewhat crazy. @@ -682,7 +682,7 @@ CHANGES for the SANE Mustek backend * Released backend version 1.0-89 2000-06-30 - * Fixed bug in do_stop. The scan slider didn't return after the scan + * Fixed bug in do_stop. The scan slider didn't return after the scan in some situations. 2000-06-28 @@ -703,7 +703,7 @@ CHANGES for the SANE Mustek backend 2000-06-25 * updated manpage concerning parport and USB scanners - * added example for 600 II N to mustek.conf + * added example for 600 II N to mustek.conf 2000-06-22 * fixed debug output bug in fix_linedistance_se (found by Jan-Erik Karlsson) @@ -750,7 +750,7 @@ CHANGES for the SANE Mustek backend * Code cleanup and reorganization for inclusion of the Paragon 1200 A3 Pro. 2000-06-07 - * Fixed bug in sane_close where the chain of handles got destroyed by + * Fixed bug in sane_close where the chain of handles got destroyed by closing the first device. This bug is in the backend since 3 1/2 years. Thanks to Jochen Eisinger for spotting this. @@ -762,7 +762,7 @@ CHANGES for the SANE Mustek backend 2000-06-04 * changed (again) Paragon 12000 SP linedistance handling, now 1.02 uses - normal LD corrections, all other use none. We'll see, if this works. + normal LD corrections, all other use none. We'll see, if this works. Thanks to Reinhard Günzel who helped to debug this. * fixed some long lines (>80 chars) @@ -805,7 +805,7 @@ CHANGES for the SANE Mustek backend 2000-05-08 * fixed remaining sane_cancel problems (in non_blocking mode) - * fixed color stripes and segmentation fault for Paragon MFS-12000SP + * fixed color stripes and segmentation fault for Paragon MFS-12000SP 1.00 (at least for me) * added more debug output to inquiry * added possibility to distinguish old and new firmware formats @@ -816,14 +816,14 @@ CHANGES for the SANE Mustek backend * released backend version 1.0-81 2000-05-06 - * added transparency adapter support for the Paragon 600 II CD, 600S, + * added transparency adapter support for the Paragon 600 II CD, 600S, 800 II SP, 600 II N, ScannExpress 6000SP and 12000SP * removed "color lineart" and "color halftone" for all scanners. These modes didn't work for any of my scanners. * added more debug output for ADF and TA * fixed bug when ADF is out of documents * Scan source option is only available if TA or ADF is present. For - SE and N models TA is always available because it can't be detected + SE and N models TA is always available because it can't be detected by hardware * removed "backtrack", "speed" and "grain" from 600 II N options, the scanner doesn't support them @@ -839,12 +839,12 @@ CHANGES for the SANE Mustek backend * Added Warning for scanners that are not (fully) tested 2000-04-26 - * changed sane_init to use sanei_config_read () and + * changed sane_init to use sanei_config_read () and sanei_config_get_string () 2000-04-24 * released backend version 1.0-80 - + 2000-04-23 * fixed lineart and color scanning >600 dpi for the SE 12000SP * added variable debug_level to be faster without debugging in attach () @@ -863,13 +863,13 @@ CHANGES for the SANE Mustek backend 2000-04-20 * Output of scanning time now works with scanimage, too. - * Adjusted scan area to the Windows driver defaults for Paragon + * Adjusted scan area to the Windows driver defaults for Paragon MFS-6000CX * Added transparency adapter support for the Paragon MFS-6000CX and MFS-12000SP 2000-04-19 - * Adjusted scan area to the Windows driver defaults for Paragon + * Adjusted scan area to the Windows driver defaults for Paragon MFS-12000SP 2000-04-17 @@ -883,14 +883,14 @@ CHANGES for the SANE Mustek backend These modes didn't work for any of my scanners. * fixed problems in color mode for the MFS-8000SP (gamma table is now uploaded even if not selected) - * Output "cover open" only for ScanExpress scanners (Paragon scanners + * Output "cover open" only for ScanExpress scanners (Paragon scanners don't have a cover sensor) * Added transparency adapter support for the Paragon MFS-6000SP and MFS-12000CX * Added output of transfer speed (kb/s) * maximum allocated memory for read request can be set by a #define * buffer size can be set on a per scanner basis - * Adjusted scan area to the Windows driver defaults for Paragon + * Adjusted scan area to the Windows driver defaults for Paragon 800 II SP * Added quotation marks to inquiry output @@ -899,7 +899,7 @@ CHANGES for the SANE Mustek backend ScanExpress 12000SP * Fixed scan area settings (TL-X and TL-Y) for transparency adapter (TA) * Added TA support for Paragon 8000SP - + 2000-04-13 * Added more debug output in sane_read and some other functions * removed warnings @@ -913,7 +913,7 @@ CHANGES for the SANE Mustek backend 2000-04-09 * released backend version 1.0-79 - + 2000-04-08 * added output of scanning time (debuglevel 2 and higher) * removed old code from sane_cancel @@ -931,16 +931,16 @@ CHANGES for the SANE Mustek backend 2000-04-03 * output backend and version information * fixed resolution encoding for MFS12000cx - * Changed version system to be compatible to the SANE standard + * Changed version system to be compatible to the SANE standard (major, minor, build); 0.78 --> 1.0-78 - + 2000-04-02 * released backend version 0.78 * added MUSTEK_FLAG_DOUBLE_RES for the MFS-12000CX 3-pass scanner, resolutions > 600 dpi should work now - + 2000-04-01 - * reduced scan area for Paragon 800 S / II SP + * reduced scan area for Paragon 800 S / II SP 2000-03-29 * released backend version 0.77 @@ -948,17 +948,17 @@ CHANGES for the SANE Mustek backend * more debug level tweaking * man page update * model name update - + 2000-03-25 * corrected some spelling errors - + 2000-03-24 * reduced scanarea for the MSF-6000SP * restructured scanner recognition 2000-03-18 * released backend version 0.76 - + 2000-03-17 * removed some compiler warnings * changed the sane.model names (e.g. ScanExpress 12000SP instead of @@ -978,12 +978,12 @@ CHANGES for the SANE Mustek backend possibly never happen) * fixed firmware version identification for newer ScanExpress models (patch from Marco G. Salvagno) - * probably fixed linedistance correction at high resolutions for + * probably fixed linedistance correction at high resolutions for MFS-1200SP firmware 1.00 and possibly others (patch from Andreas Beck) * added check for ADF ready in sane_start (patch from Joerg Anders) * Bug fix in the STORE makros (patch from Norbert Mueller) - - + + 2000-03-06 * created mustek.CHANGES file * released backend version 0.74 diff --git a/doc/mustek_usb/mustek_usb.CHANGES b/doc/mustek_usb/mustek_usb.CHANGES index 7b01c4a..b31f248 100644 --- a/doc/mustek_usb/mustek_usb.CHANGES +++ b/doc/mustek_usb/mustek_usb.CHANGES @@ -17,7 +17,7 @@ CHANGES for the SANE Mustek USB backend * Fixed check for single quotation marks. 2003-02-22: - * Release of version 1.0-16. + * Release of version 1.0-16. 2003-02-22: * Iniatialize global variables explicitely. @@ -34,7 +34,7 @@ CHANGES for the SANE Mustek USB backend to other backends for Mustek scanners. 2002-07-17: - * Release of version 1.0-15. + * Release of version 1.0-15. 2002-07-17: * Added manufacturer comment in mustek_usb.desc. @@ -43,7 +43,7 @@ CHANGES for the SANE Mustek USB backend * Really check the status in usb_low_open. 2002-04-24: - * Release of version 1.0-14. + * Release of version 1.0-14. 2002-04-24: * Undef MIN and MAX if they are defined in mustek_usb_low.h to avoid @@ -53,7 +53,7 @@ CHANGES for the SANE Mustek USB backend * Free devlist in sane_exit. 2002-04-10: - * Release of version 1.0-13. + * Release of version 1.0-13. 2002-04-10: * sane_set_io_mode must return SANE_STAUS_GOOD if non_blocking is false. @@ -63,7 +63,7 @@ CHANGES for the SANE Mustek USB backend * sane_exit: set freed variable to 0. 2002-03-20: - * Release of version 1.0-12. + * Release of version 1.0-12. 2002-03-19: * Option 0 has an empty name now. @@ -73,7 +73,7 @@ CHANGES for the SANE Mustek USB backend * Added more debug output in sane_control_option. 2002-03-17: - * Release of version 1.0-11. + * Release of version 1.0-11. 2002-03-16: * mustek_usb.c: Fixed segfault when opening device again after closing. @@ -90,7 +90,7 @@ CHANGES for the SANE Mustek USB backend * Fixed undefined operation warnings. 2002-01-11 - * Release of version 1.0-10. + * Release of version 1.0-10. 2002-01-11 * mustek_usb_high.(c|h), mustek_usb_mid.(c|h): commented out unused CCD code. @@ -106,7 +106,7 @@ CHANGES for the SANE Mustek USB backend * Added link to plustek to manual page. 2001-12-08 - * Release of version 1.0-9. + * Release of version 1.0-9. 2001-12-08 @@ -118,7 +118,7 @@ CHANGES for the SANE Mustek USB backend size of data acquired in one turn. 2001-11-15 - * Release of version 1.0-8. + * Release of version 1.0-8. 2001-11-15 * Updated manual page concerning FreeBSD and kernel configuration. @@ -140,7 +140,7 @@ CHANGES for the SANE Mustek USB backend * Removed load_private_profile (now in usb_high_scan_init). 2001-10-07 - * Release of version 1.0-7. + * Release of version 1.0-7. 2001-10-07 @@ -312,7 +312,7 @@ CHANGES for the SANE Mustek USB backend * mustek_usb_low: - fixed compilation warnings - fixed compilation problems - - fixed C++ to C transition issues (e.g. "initializer element is not + - fixed C++ to C transition issues (e.g. "initializer element is not computable at load time") - fixed debug output - adjusted some names @@ -355,7 +355,7 @@ CHANGES for the SANE Mustek USB backend 2001-07-22 * mustek_usb_low: Only one data structure: ma1017. - * mustek_usb_mid: + * mustek_usb_mid: - removed // - remove SANE disclaimers - use SANE types @@ -404,7 +404,7 @@ CHANGES for the SANE Mustek USB backend * Used "../include/sane" in #include statements * Used /dev/usbscanner in mustek_usb.conf * Fixed mustek_usb.desc - * Fixed mustek_usb.*: + * Fixed mustek_usb.*: - use correct names - no leading "_" - use only C-style comments @@ -418,4 +418,4 @@ CHANGES for the SANE Mustek USB backend - commented out all references to c_scanner - removed references to WORD and other non-standard types - moved read_rows from global to Mustek_Usb_Scanner - --> mustek_usb.* compiles \ No newline at end of file + --> mustek_usb.* compiles diff --git a/doc/mustek_usb2/mustek_usb2.CHANGES b/doc/mustek_usb2/mustek_usb2.CHANGES index 38886e8..6e37236 100644 --- a/doc/mustek_usb2/mustek_usb2.CHANGES +++ b/doc/mustek_usb2/mustek_usb2.CHANGES @@ -7,7 +7,7 @@ V 1.0-10 (2005-10-16) V 1.0-9 (2005-10-02) -- Removed global variables in mustek_usb2.c: +- Removed global variables in mustek_usb2.c: Deleted the following variables (not necessary): m_bIsOpen Moved the following varaiables to Mustek_Scanner structure: @@ -81,7 +81,7 @@ V 1.0-4 (2005-09-27) a2nu2/spicall/spicall.c --> included in mustek_usb2.c a2nu2/spicall/spicall_ex.h a2nu2/spicall/spicall_g.h --> included in mustek_usb2_high.c - a2nu2/include/asic.h --> included in mustek_usb2_asic_low.h + a2nu2/include/asic.h --> included in mustek_usb2_asic_low.h a2nu2/include/debug.h --> removed a2nu2/include/ini.h a2nu2/include/msam.ini --> removed @@ -94,11 +94,11 @@ V 1.0-4 (2005-09-27) a2nu2/asic/asic_libusb.h --> removed a2nu2/asic/asic_mid.c --> mustek_usb2_asic_mid.c a2nu2/asic/asic_mid.h --> included in mustek_usb2_asic_mid.c - a2nu2/asic/asic_motor.c --> mustek_usb2_asic_motor.c + a2nu2/asic/asic_motor.c --> mustek_usb2_asic_motor.c a2nu2/asic/asic_motor.h --> mustek_usb2_asic_motor.h - a2nu2/asic/asic_usb.c --> mustek_usb2_asic_low.c + a2nu2/asic/asic_usb.c --> mustek_usb2_asic_low.c a2nu2/asic/asic_usb.h --> included in mustek_usb2_asic_low.h - a2nu2/asic/DefineScanner.h --> mustek_usb2_asic_low.h + a2nu2/asic/DefineScanner.h --> mustek_usb2_asic_low.h a2nu2/asic/ScanRegDef.h --> included in mustek_usb2_asic_low.h - Changed backend name to mustek_usb2. diff --git a/doc/net.tex b/doc/net.tex index a29fb75..d6bc110 100644 --- a/doc/net.tex +++ b/doc/net.tex @@ -86,7 +86,7 @@ The four primitive types of the SANE standard are encoded as follows: \code{SANE\_Char} array. The trailing NUL byte is considered part of the array and a \code{NULL} pointer is encoded as a zero-length array. - + \item[\code{\defn{SANE\_Handle}}:] A handle is encoded like a word. The network backend needs to take care of converting these integer values to the opaque pointer values that are presented to the user @@ -473,7 +473,7 @@ are no request or reply arguments in this call. As a result of this call, the connection between the client and the server that was established by the \code{SANE\_NET\_INIT} call will be closed. -% Local Variables: +% Local Variables: % mode: latex % TeX-master: "sane.tex" -% End: +% End: diff --git a/doc/plustek/FAQ b/doc/plustek/FAQ index 7d65f41..a3a224f 100644 --- a/doc/plustek/FAQ +++ b/doc/plustek/FAQ @@ -51,7 +51,7 @@ SOLUTION: --------- Set the link /usr/src/linux to your current kernel-source tree before recompiling -kernel-modules like pt_drv, then your version mismatch +kernel-modules like pt_drv, then your version mismatch problem should be solved. @@ -303,7 +303,7 @@ A: Normally, there is no need to do so, because once you have to worry about loading the driver. It happens automagically. ;-) The driver will be loaded when needed (and eventually removed after a specific time of not using it). - + Nevertheless, another possibility is to do a modprobe pt_drv in the /etc/rc.d/boot.local (using SuSE) or /etc/rc.d/rc.local (using RedHat or Mandrake) file @@ -382,4 +382,3 @@ A: In general you can install it over. BUT this has caused This should cover all the directories where maybe some sane files are installed... - diff --git a/doc/plustek/Makefile.kernel24 b/doc/plustek/Makefile.kernel24 index 207ef39..28677c1 100644 --- a/doc/plustek/Makefile.kernel24 +++ b/doc/plustek/Makefile.kernel24 @@ -43,7 +43,7 @@ REFOPT = -xref-all -index-all -html32 # # add the following to get assembly listing -# -Wa,-alh,-L -g +# -Wa,-alh,-L -g # # get some version numbers @@ -248,4 +248,3 @@ depend .depend dep: ifeq (.depend,$(wildcard .depend)) #include .depend endif - diff --git a/doc/plustek/Plustek-PARPORT-TODO.txt b/doc/plustek/Plustek-PARPORT-TODO.txt index 94ef5f7..6eb8667 100644 --- a/doc/plustek/Plustek-PARPORT-TODO.txt +++ b/doc/plustek/Plustek-PARPORT-TODO.txt @@ -28,7 +28,7 @@ Genius HR6 negative scanning not okay none ********************************* DONE *************************************** -- PS/2 bidi does not work (libieee1284) +- PS/2 bidi does not work (libieee1284) - Update the IOCTL interface and remove some old structs (CmdBlk) ******************************** SKIPPED ************************************* diff --git a/doc/plustek/Plustek-PARPORT.changes b/doc/plustek/Plustek-PARPORT.changes index 0e7d73b..6aa878b 100644 --- a/doc/plustek/Plustek-PARPORT.changes +++ b/doc/plustek/Plustek-PARPORT.changes @@ -149,11 +149,11 @@ Version 0.43-7 05/11/2005 1.0 Fixed timer issues in user-space (Thanx to Rod Roark) Version 0.43-8 08/10/2005 - 1.0 Fixed problem on ASIC96003/1 based devices, when scanning + 1.0 Fixed problem on ASIC96003/1 based devices, when scanning lineart at 200 and 300 dpi Version 0.43-9 11/14/2005 - 1.0 Fixed sizeof(long) issue for 64bit platforms, see + 1.0 Fixed sizeof(long) issue for 64bit platforms, see bug #302195 Version 0.43-10 02/16/2006 @@ -177,4 +177,4 @@ Version 0.43-13 06/18/2007 Version 0.44-1 02/13/2013 1.0 Fixed issues for Kernels > 2.6.35 2.0 Define ULong and friends to uint32_t to make the driver - work in a 64 bit environment \ No newline at end of file + work in a 64 bit environment diff --git a/doc/plustek/Plustek-PARPORT.txt b/doc/plustek/Plustek-PARPORT.txt index e5b6097..a181b9c 100644 --- a/doc/plustek/Plustek-PARPORT.txt +++ b/doc/plustek/Plustek-PARPORT.txt @@ -22,7 +22,7 @@ in sane-backends/backend. Simply do (as root user) Then the module should be compiled, installed and loaded. -Add the following three lines to file /etc/modules.conf +Add the following three lines to file /etc/modules.conf alias char-major-40 pt_drv pre-install pt_drv modprobe -k parport @@ -44,6 +44,3 @@ protocol will be changed and newer drivers won't work with older backends and vice versa. In this case (error -9019 in the SANE debug output!!) you have to recompile SANE AND the driver (have a look at the installation procedure above). - - - diff --git a/doc/plustek/Plustek-USB-TODO.txt b/doc/plustek/Plustek-USB-TODO.txt index 0ea7e8b..7d03e9b 100644 --- a/doc/plustek/Plustek-USB-TODO.txt +++ b/doc/plustek/Plustek-USB-TODO.txt @@ -50,4 +50,3 @@ make mono/gray modes work on Canon scanners done copy picture line by line to backend done cancel function does not work correctly in large resolutions fixed Move documents to its correct SANE place done - diff --git a/doc/plustek/Plustek-USB.changes b/doc/plustek/Plustek-USB.changes index 8ed5cc8..ae6e69e 100644 --- a/doc/plustek/Plustek-USB.changes +++ b/doc/plustek/Plustek-USB.changes @@ -148,7 +148,7 @@ optical one (sensor stops too early) V 0.50-2 (2005-08-19) --------------------- More cleanup. -Removed obsolete _WAF_BLACKFINE. +Removed obsolete _WAF_BLACKFINE. LiDE20 does not seem to have a reliable black calibration area, so the devices now will switch off the lamp for dark calibration. Fixed line statistics and added calibration data output. @@ -283,7 +283,7 @@ V 0.47-1 - 0.47-4 V 0.46-9 (2003-11-03) --------------------- -- Added alternate calibration for CIS devices +- Added alternate calibration for CIS devices - Added coarse calibration data-cache - Moved parallelport code to extra backend file plustek_pp - Fixed some minor bugs diff --git a/doc/plustek/Plustek-USB.txt b/doc/plustek/Plustek-USB.txt index e1ee793..939d4d7 100644 --- a/doc/plustek/Plustek-USB.txt +++ b/doc/plustek/Plustek-USB.txt @@ -20,7 +20,7 @@ PLUSTEK ======= Vendor ID: 0x07B3 -Product ID Device-description and status +Product ID Device-description and status 0x0005 not identified yet 0x0007 not identified yet 0x000F not identified yet @@ -32,21 +32,21 @@ Product ID Device-description and status 0x0015 U24 (LM9832) - working 0x0016 not identified yet 0x0017 UT12 - working, UT16 - working, UT24 - working - + MUSTEK ====== BearPaw vendor ID: 0x0400 (They use the NationalSemiconductors ID!!!) -Product ID Device-description and status +Product ID Device-description and status 0x1000 BearPaw 1200 (LM9831) - working 0x1001 BearPaw 1200 (LM9832) - not tested 0x1001 BearPaw 2400 (LM9832) - mostly working - + KYE (Genius) ============ Vendor ID: 0x0458 - -Product ID Device-description and status + +Product ID Device-description and status 0x2007 ColorPage-HR6 V2 - working 0x2008 ColorPage-HR6 V2 - not tested 0x2009 ColorPage-HR6A - not tested @@ -58,7 +58,7 @@ Hewlett Packard =============== Vendor ID: 0x03F0 -Product ID Device-description and status +Product ID Device-description and status 0x0505 HP Scanjet 2100c - working 0x0605 HP Scanjet 2200c - working @@ -66,7 +66,7 @@ EPSON ===== Vendor ID: 0x04b8 -Product ID Device-description and status +Product ID Device-description and status 0x010F EPSON Perfection 1250/Photo - working 0x011D EPSON Perfection 1260/Photo - working @@ -74,9 +74,9 @@ UMAX ==== Vendor ID: 0x1606 -Product ID Device-description and status -0x0050 UMAX 3400 - working -0x0060 UMAX 3400/3450 - working +Product ID Device-description and status +0x0050 UMAX 3400 - working +0x0060 UMAX 3400/3450 - working 0x0160 UMAX 5400 - working COMPAQ @@ -90,7 +90,7 @@ CANON ===== Vendor ID: 0x04A9 -Product ID Device-description and status +Product ID Device-description and status 0x???? FB620U - not integrated 0x2206 N650U - working 0x2207 N1220U - working @@ -216,7 +216,7 @@ usbscanner 0x0003 0x1606 0x0160 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00 The example line shows the vendor ID of UMAX 0x1606 and the product ID of the 5400 0x0160 - these values must match the ones of your scanner. -Last step is adding a script in +Last step is adding a script in /etc/hotplug/usb/ It is called "usbscanner" (don't forget the executable rights) @@ -232,7 +232,7 @@ fi This script will correct the access right to your scanner device when the device is plugged in. - + Debugging your USB scanner (written by Kev Green) ------------------------------------------------- @@ -454,4 +454,3 @@ CM - Color Mode (unitless), 3 for channel pixel rate color, else 1 ------------------------- - diff --git a/doc/releases.txt b/doc/releases.txt index 1579b15..abd007e 100644 --- a/doc/releases.txt +++ b/doc/releases.txt @@ -1,4 +1,4 @@ -2009-05-05 +2019-07-30 This text summarizes some points to pay attention to when a new release of sane-backends is planned. @@ -6,8 +6,9 @@ of sane-backends is planned. Timetable (approximate periods): Day 0: Announcement of upcoming release on sane-devel including timetable + and pointer to the GitLab milestone Day 14: Feature freeze (only bugfixes + documentation updates) -Day 28: Code freeze (only fixes for bugs that can destroy hardware, can cause +Day 28: Code freeze (only fixes for bugs that can destroy hardware, can cause compilation problems or render a backend completely unusable, and documentation updates are allowed) Day 35: Release @@ -16,79 +17,49 @@ Before the release: * set :new :yes on any new backend .desc files, by looking for added files: - cd backend - ls | while read aa; do git log --follow --diff-filter=A --find-renames=40% --format="%ai $aa" "$aa"; done > foo.log + version=1.0.27 + git ls-files -- backend | while read f; do + git log --follow --diff-filter=A --find-renames=40% \ + --format="%ai $f" $version..HEAD -- "$f" + done | cat - Then inspect foo.log for any files added since the last release. -* Make sure that config.guess and config.sub are up-to-date (get them from - savannah.gnu.org/projects/config) (git clone is easiest) -* configure.ac: remove 'git' from textual version number, and increment it -* run autoreconf --force but do *NOT* use the --install option as it will - overwrite our custom ltmain.sh -* ChangeLog: generate from git log, something like: - git log RELEASE_1_0_25..HEAD > ChangeLog * NEWS: update and enter date of release, etc - Get list of heavily change backends via: git diff --stat RELEASE_1_0_25 - Get other things by reading ChangeLog -* sane-backends.lsm: update + Get list of heavily change backends via: git diff --stat $version..HEAD + Get list of details from: git log $version..HEAD * git commit -a -* tag git with release tag; e.g.: 'git tag -a RELEASE_1_0_15' -* probably DONT want to git push here, because alioth will rebuild it's local - checkout needlessly +* git push origin master Making the release: -* make tar.gz, sane-backends-x.y.z.lsm, and .md5sum with "make sane-backends" -* unpack tar.gz in temporary directory -* make diff from last release by unpacking it also in temporary directory - and running e.g. - diff -uNr sane-backends-1.0.23 sane-backends-1.0.24 > sane-backends-1.0.23-1.0.24.diff -* check that the diff applies cleanly to the old version -* gzip the diff -* install devel headers required to build optional backends (1284,gphoto,etc) -* check that the new version .tar.gz can be compiled -* upload the .tar.gz, tar.gz.md5 and .diff.gz to the FTP/HTTP servers - (at the moment: alioth.debian.org, ftp files are in - /srv/alioth.debian.org/chroot/ftproot/pub/sane/ ) - In the alioth web interface, you should upload the smallest file first, - since you don't get error messages until after an upload completes, - and you might need to change something. - You can add the larger files afterwards. You may have to split larger - files. +* temporarily set a PRIVATE_TOKEN variable in the GitLab CI/CD + variables You have to create one in your own Settings > Access + Tokens. Set it to expire in a few hours to avoid abuse. +* git tag -a -s 1.0.28 -m Release +* git push --tags origin master +* trigger the manual 'release' stage of the build via the web UI when + this becomes possible. This requires a valid PRIVATE_TOKEN. Announcing the release: -* checkout the sane/website.git module and: -* copy sane-backends.html to sane-backends-"old-version".html -* update sane-supported-devices.html with link to above "old" file -* rebuild sane-backends.html and sane-mfgs.html (make -C doc html-pages) -* use man2html from http://hydra.nac.uci.edu/indiv/ehood/man2html.html +* [TBD] checkout the sane/website.git module and: +* [TBD] copy sane-backends.html to sane-backends-"old-version".html +* [TBD] update sane-supported-devices.html with link to above "old" file +* [TBD] rebuild sane-backends.html and sane-mfgs.html (make -C doc html-pages) +* [TBD] use man2html from http://hydra.nac.uci.edu/indiv/ehood/man2html.html to rebuild html man pages (make -C doc html-man) (no other version works) -* add md5 sum to sane-md5sums.txt -* check and update platforms page (sane-support.html) +* [TBD] add md5 sum to sane-md5sums.txt +* [TBD] check and update platforms page (sane-support.html) * add announcement to index.html * git commit -a && git push -* check that website was updated automatically. if not, see: - /home/groups/sane/bin/update-htdocs.sh -* rebuild descriptions.db (make -C doc descriptions.db) -* scp doc/descriptions.db to alioth: - /home/groups/sane/search/release -* write announcements sane-devel, maybe others (e.g. freshmeat), - include the md5 hash +* check that website was updated automatically +* [TBD] rebuild descriptions.db (make -C doc descriptions.db) +* announce release on sane-devel and sane-announce mailing lists After the release: -#### consider not adding old changelogs to release package -* move ChangeLog to ChangeLogs/ChangeLog-"version" -* start a new ChangeLog, with the following message: - -This file is automatically generated at release time using git commit messages. - -For the latest changes please refer to the output of `git log` or see: -https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?p=sane/sane-backends.git;a=log - -* configure.ac: bump textual version & add 'git' suffix -* configure: regenerate with autoconf -* remove the ':new' tag from any new backends .desc files -* git add new files and commit -* git push && git push --tags (one of these might give an error 'remote: fatal: bad object 0000000000000000000000000000000000000000', try the other one) +* [TBD] copy ChangeLog to ChangeLogs/ChangeLog-$version +* [TBD] start a new ChangeLog via git checkout ChangeLog +* [TBD] bump version number in tools/create-changelog.sh +* remove the ':new' tag from all doc/descriptions*/*.desc files +* git add new and changed files and commit +* git push diff --git a/doc/sane-abaton.man b/doc/sane-abaton.man index 84d8997..f1f33cb 100644 --- a/doc/sane-abaton.man +++ b/doc/sane-abaton.man @@ -14,7 +14,7 @@ is recognized, but support for it is untested. If you own a Abaton scanner other than the ones listed above that works with this backend, or if you own an Abaton scanner that does not work with this backend, please contact -.IR sane\-devel@lists.alioth.debian.org +.IR sane\-devel@alioth-lists.debian.net with the model number, so that arrangements can be made to include support for it. Have a look at http://www.sane\-project.org/mailing\-lists.html concerning subscription to sane\-devel. @@ -107,7 +107,7 @@ former is more likely than the latter. If you have found something that you think is a bug, please attempt to recreate it with the SANE_DEBUG_ABATON environment variable set to 255, and send a report detailing the conditions surrounding the bug to -.IR sane\-devel@lists.alioth.debian.org . +.IR sane\-devel@alioth-lists.debian.net . .SH TODO .TP diff --git a/doc/sane-agfafocus.man b/doc/sane-agfafocus.man index f4c1852..34ec463 100644 --- a/doc/sane-agfafocus.man +++ b/doc/sane-agfafocus.man @@ -31,7 +31,7 @@ color scans. If you own a scanner other than the ones listed above that works with this backend, please let us know by sending the scanner's model name, SCSI id, and firmware revision to -.IR sane\-devel@lists.alioth.debian.org . +.IR sane\-devel@alioth-lists.debian.net . Have a look at http://www.sane\-project.org/mailing\-lists.html concerning subscription to sane\-devel. .PP @@ -107,11 +107,11 @@ variable controls the debug level for this backend. E.g., a value of 128 requests all debug output to be printed. Smaller levels reduce verbosity. SANE_DEBUG_AGFAFOCUS values: -.sp +.sp .ft CR .nf Number Remark -\ +\ 0 print important errors (printed each time) 1 print errors 2 print sense @@ -151,7 +151,7 @@ SANE_DEBUG_AGFAFOCUS to 128 and try to regenerate the problem. Then send me a report with the log attached. .PP If you encounter a SCSI bus error or trimmed and/or displaced images please -also set the environment variable SANE_DEBUG_SANEI_SCSI to 128 before sending +also set the environment variable SANE_DEBUG_SANEI_SCSI to 128 before sending me the report. .SH TODO @@ -172,4 +172,3 @@ sane(7), sane\-scsi(5) .SH AUTHOR Ingo Schneider and Karl Anders \[/O]ygard. - diff --git a/doc/sane-apple.man b/doc/sane-apple.man index 7c55a5a..3418fd0 100644 --- a/doc/sane-apple.man +++ b/doc/sane-apple.man @@ -23,7 +23,7 @@ ColorOneScanner 24bit RGB color 3-pass If you own a Apple scanner other than the ones listed above that works with this backend, please let us know by sending the scanner's model name, SCSI id, and firmware revision to -.IR sane\-devel@lists.alioth.debian.org . +.IR sane\-devel@alioth-lists.debian.net . See http://www.sane\-project.org/mailing\-lists.html for details on how to subscribe to sane\-devel. @@ -216,7 +216,7 @@ SANE_DEBUG_APPLE to 255 and rerun the exact sequence of keystrokes and menu selections to reproduce it. Then send me a report with the log attached. .PP -If you have an Apple Macintosh with the AppleScanners driver installed, +If you have an Apple Macintosh with the AppleScanners driver installed, reporting to me which options are grayed out (inactive) in what modes would be very helpful. .PP diff --git a/doc/sane-artec.man b/doc/sane-artec.man index 5f700a8..9dd4f44 100644 --- a/doc/sane-artec.man +++ b/doc/sane-artec.man @@ -132,7 +132,7 @@ SANE_DEBUG_ARTEC values .ft CR .nf Number Remark -\ +\ 0 print important errors 1 print errors 2 print sense @@ -147,12 +147,12 @@ Number Remark 11 print called sane\-procedures 12 print sane infos 13 print sane option-control messages -\ +\ 50 print verbose data/debug messages -\ +\ == 100 print software RGB calibration data == 101 print raw data from scanner to artec.data.raw file -\ +\ == 128 print out all messages .fi .ft R diff --git a/doc/sane-artec_eplus48u.man b/doc/sane-artec_eplus48u.man index 19f461c..7e7ec37 100644 --- a/doc/sane-artec_eplus48u.man +++ b/doc/sane-artec_eplus48u.man @@ -139,6 +139,5 @@ Interpolation with 1200 dpi is weak. .PP Support for buttons is missing due to missing support in SANE. .PP -Please contact us if you find a bug: +Please contact us if you find a bug: .IR http://www.sane\-project.org/bugs.html . - diff --git a/doc/sane-as6e.man b/doc/sane-as6e.man index efaf0d5..2e7dbf6 100644 --- a/doc/sane-as6e.man +++ b/doc/sane-as6e.man @@ -7,20 +7,20 @@ sane\-as6e \- SANE backend for using the Artec AS6E parallel port interface scan The .B sane\-as6e library implements a SANE (Scanner Access Now Easy) backend -that provides access to Artec AS6E flatbed scanner. -.B It requires the as6edriver program in order to operate. +that provides access to Artec AS6E flatbed scanner. +.B It requires the as6edriver program in order to operate. The as6edriver program is .B not -included with the SANE package. -It can be found at +included with the SANE package. +It can be found at .BR http://as6edriver.sourceforge.net. See the as6edriver documentation for technical information. .PP The -.I as6edriver +.I as6edriver program must be in the path for executables ($PATH). Especially if you run .I saned -(the SANE network scanning daemon), take care to setup the path for +(the SANE network scanning daemon), take care to setup the path for .I inetd or .I xinetd @@ -29,7 +29,7 @@ correctly or place the program in a directory that is in the path. .PP .SH FILES -.B as6edriver +.B as6edriver \- driver program that controls the scanner. .SH SEE ALSO diff --git a/doc/sane-avision.man b/doc/sane-avision.man index 6a991b6..f0a5091 100644 --- a/doc/sane-avision.man +++ b/doc/sane-avision.man @@ -24,23 +24,23 @@ you try the first scans \- especially with film-scanners! .SH CONFIGURATION -The configuration file for this backend resides in +The configuration file for this backend resides in .IR @CONFIGDIR@/avision.conf . Its contents is a list of device names that correspond to Avision and Avision compatible scanners and backend-options. Empty lines and lines starting with -a hash mark (#) are ignored. A sample configuration file is shown below: +a hash mark (#) are ignored. A sample configuration file is shown below: .nf # this is a comment -\ +\ option force\-a4 option force\-a3 option skip\-adf option disable\-gamma\-table option disable\-calibration -\ - #scsi Vendor Model Type Bus Channel ID LUN +\ + #scsi Vendor Model Type Bus Channel ID LUN scsi AVISION scsi HP scsi /dev/scanner @@ -119,7 +119,7 @@ libusb corresponding to the USB scanner. For example "0x03f0 0x0701" or "libusb:002:003". See sane\-usb(5) for details. The program -.IR sane\-find\-scanner +.IR sane\-find\-scanner helps to find out the correct scsi or usb device name. A list with supported devices is built into the avision backend so @@ -161,7 +161,7 @@ environment variable controls the debug level for this backend. Higher debug levels increase the verbosity of the output. The debug level 7 is the author's preferred value to debug backend problems. -Example: +Example: export SANE_DEBUG_AVISION=7 .SH "SEE ALSO" diff --git a/doc/sane-bh.man b/doc/sane-bh.man index 8306976..2c0fadc 100644 --- a/doc/sane-bh.man +++ b/doc/sane-bh.man @@ -30,7 +30,7 @@ COPISCAN II 3338(A) Simplex Scanner (with ACE) .PP If you have a Bell+Howell scanner and are able to test it with this backend, please contact -.IR sane\-devel@lists.alioth.debian.org +.IR sane\-devel@alioth-lists.debian.net with the model number and testing results. Have a look at http://www.sane\-project.org/mailing\-lists.html concerning subscription to sane\-devel. Additionally, the author is curious as to the likelihood of using @@ -38,17 +38,17 @@ this backend with the newer 4000 and 8000 series scanners. If you have such a beast, please let me know. .PP The Bell+Howell Copiscan II series document scanners are high -volume, high throughput scanners designed for document scanning +volume, high throughput scanners designed for document scanning applications. As such, they are lineart/grayscale scanners supporting -a fixed number of fairly low resolutions (e.g. 200/240/300dpi). -However, they do have a number of interesting and useful features -suited to needs of document imaging applications. +a fixed number of fairly low resolutions (e.g. 200/240/300dpi). +However, they do have a number of interesting and useful features +suited to needs of document imaging applications. This backend attempts to support as many of these features as possible. .PP The main technical reference used in writing this backend is the -.B Bell and Howell Copiscan II Remote SCSI Controller (RSC) OEM -.B Technical Manual Version 1.5. -The Linux SCSI programming HOWTO, the SANE API documentation, and +.B Bell and Howell Copiscan II Remote SCSI Controller (RSC) OEM +.B Technical Manual Version 1.5. +The Linux SCSI programming HOWTO, the SANE API documentation, and SANE source code were also extremely valuable resources. .PP @@ -80,9 +80,9 @@ The contents of the .I bh.conf file is a list of device names that correspond to Bell+Howell scanners. See sane\-scsi(5) on details of what constitutes a valid device name. -Additionally, options can be specified; these lines begin with the word "option". -Each option is described in detail below. Empty lines and lines starting -with a hash mark (#) are ignored. +Additionally, options can be specified; these lines begin with the word "option". +Each option is described in detail below. Empty lines and lines starting +with a hash mark (#) are ignored. .SH OPTIONS The following options can be specified in the @@ -99,9 +99,9 @@ These frames are generated based on the compression and barcode options. These frames are never sent in preview mode. .TP .B fake\-inquiry -This option is used for debugging purposes and its use is not encouraged. +This option is used for debugging purposes and its use is not encouraged. Essentially, it allows the backend to initialize in the absence of -a scanner. This is useful for development and not much else. +a scanner. This is useful for development and not much else. This option must be specified earlier in the configuration file than the devices which are to be "faked". @@ -144,8 +144,8 @@ levels reduce verbosity. .TP .B ADF support With document scanners, automatic document feeder (ADF) support is a key -feature. The backend supports the ADF by default and returns -.B SANE_STATUS_NO_DOCS +feature. The backend supports the ADF by default and returns +.B SANE_STATUS_NO_DOCS when the out-of-paper condition is detected. The SANE frontend .B scanadf is a command line frontend that supports multi-page scans. It has been @@ -158,8 +158,8 @@ scans is included in xsane version 0.35 and above. .B Duplex scanning Some models, such as the COPISCAN II 6338, support duplex scanning. That is, they scan both sides of the document during a single pass through the -scanner (the scanner has two cameras). This backend supports duplex -scanning (with the +scanner (the scanner has two cameras). This backend supports duplex +scanning (with the .B \-\-duplex option). The front and back page images are delivered consecutively as if they were separately scanned pages. @@ -167,16 +167,16 @@ as if they were separately scanned pages. .TP .B Hardware compression The scanner is capable of compressing the data into several industry -standard formats (CCITT G3, CCITT G3-2D, CCITT G4). This results in +standard formats (CCITT G3, CCITT G3-2D, CCITT G4). This results in increased performance as less data is passed from the scanner to the host over the SCSI bus. The backend supports these compression formats -via the +via the .B \-\-g31d, \-\-g32d, \-\-g42d options, respectively. Many SANE frontends are not equipped to deal with these formats, however. The SANE frontend .B scanadf -supports these optional frame formats. The compressed image data -is written directly to a file and can then be processed by a scan-script +supports these optional frame formats. The compressed image data +is written directly to a file and can then be processed by a scan-script using the .B \-\-scan\-script option. Examples of this are given on the scanadf homepage. @@ -197,18 +197,18 @@ parameters must remain constant during the entire batch. .TP .B Icon Generation The Icon function generates a thumbnail of the full page image, that can be -transferred as if it were a separate page. This allows the host to +transferred as if it were a separate page. This allows the host to quickly display a thumbnail representation during the scanning operation. -Perhaps this would be a great way of implementing a preview scan, but +Perhaps this would be a great way of implementing a preview scan, but since a normal scan is so quick, it might not be worth the trouble. .TP .B Multiple Sections Multiple sections (scanning sub-windows) can be defined for the front and -back pages. Each section can have different characteristics (e.g. geometry, +back pages. Each section can have different characteristics (e.g. geometry, compression). The sections are returned as if they were separately scanned images. Additionally sections can be used to greatly enhance the -accuracy and efficiency of the barcode/patchcode decoding process by +accuracy and efficiency of the barcode/patchcode decoding process by limiting the search area to a small subset of the page. Most Copiscan II series scanners support up to 8 user-defined sections. @@ -218,18 +218,18 @@ The RSC unit can recognize Bar and Patch Codes of various types embedded in the scanned image. The codes are decoded and the data is returned to the frontend as a text frame. The text is encoded in xml and contains a great deal of information about the decoded data such as the location -where it was found, its orientation, and the time it took to find. -Further information on the content of this text frame as well as some +where it was found, its orientation, and the time it took to find. +Further information on the content of this text frame as well as some barcode decoding examples can be found on the backend homepage. .SH LIMITATIONS .TP .B Decoding a single barcode type per scan The RSC unit can search for up to six different barcode types at a time. -While the code generally supports this as well, the +While the code generally supports this as well, the .B \-\-barcode\-search\-bar -option only allows the user to specify a single barcode type. -Perhaps another option which allows a comma separated list of barcode +option only allows the user to specify a single barcode type. +Perhaps another option which allows a comma separated list of barcode type codes could be added to address this. .TP .B Scanning a fixed number of pages in batch mode @@ -241,12 +241,12 @@ prior to initiating the last scan command. Currently, there is no mechanism available for the frontend to pass this knowledge to the backend. If batch mode is enabled and the \-\-end\-count terminates a scanadf session, an extra page will be pulled through the scanner, but is neither read -nor delivered to the frontend. The issue can be avoided by specifying +nor delivered to the frontend. The issue can be avoided by specifying \-\-batch=no when scanning a fixed number of pages. .TP .B Revision 1.2 Patch detector There is an enhanced patchcode detection algorithm available in the RSC -with revision 1.2 or higher that is faster and more reliable than the +with revision 1.2 or higher that is faster and more reliable than the standard Bar/Patch code decoder. This is not currently supported. .SH OPTIONS @@ -255,14 +255,14 @@ standard Bar/Patch code decoder. This is not currently supported. .TP .B \-\-preview[=(yes|no)] [no] Request a preview-quality scan. When preview is set to yes image -compression is disabled and the image is delivered in a +compression is disabled and the image is delivered in a SANE_FRAME_GRAY frame. .TP .B \-\-mode lineart|halftone [lineart] Selects the scan mode (e.g., lineart,monochrome, or color). .TP .B \-\-resolution 200|240|300dpi [200] -Sets the resolution of the scanned image. Each scanner model supports +Sets the resolution of the scanned image. Each scanner model supports a list of standard resolutions; only these resolutions can be used. .TP .B \-\-compression none|g31d|g32d|g42d [none] @@ -313,7 +313,7 @@ Bottom-right y position of scan area. .B Feeder Options: .TP .B \-\-source Automatic Document Feeder|Manual Feed Tray [Automatic Document Feeder] -Selects the scan source (such as a document feeder). This option is provided +Selects the scan source (such as a document feeder). This option is provided to allow multiple image scans with xsane; it has no other purpose. .TP .B \-\-batch[=(yes|no)] [no] @@ -329,7 +329,7 @@ affect both the front and back pages. .TP .B \-\-timeout\-adf 0..255 [0] Sets the timeout in seconds for the automatic document feeder (ADF). -The value 0 specifies the hardware default value which varies based +The value 0 specifies the hardware default value which varies based on the scanner model. .TP .B \-\-timeout\-manual 0..255 [0] @@ -388,40 +388,40 @@ feature is completely disabled. The valid barcode type are: .RS .br .B none -.br +.br .B ean\-8 .br .B ean\-13 -.br +.br .B reserved\-ean\-add -.br +.br .B code39 -.br +.br .B code2\-5\-interleaved -.br +.br .B code2\-5\-3lines\-matrix -.br +.br .B code2\-5\-3lines\-datalogic -.br +.br .B code2\-5\-5lines\-industrial -.br +.br .B patchcode -.br +.br .B codabar -.br +.br .B codabar\-with\-start\-stop -.br +.br .B code39ascii -.br +.br .B code128 -.br +.br .B code2\-5\-5lines\-iata .br .RE .TP .B \-\-barcode\-search\-count 1..7 [3] Number of times that the RSC performs the decoding algorithm. Specify -the smallest number possible to increase performance. If you are having +the smallest number possible to increase performance. If you are having trouble recognizing barcodes, it is suggested that you increase this option to its maximum value (7). .TP @@ -440,7 +440,7 @@ are: .RE .TP .B \-\-barcode\-hmin 0..1660mm [5] -Sets the barcode minimum height in millimeters (larger values increase +Sets the barcode minimum height in millimeters (larger values increase recognition speed). Of course the actual barcodes in the document must be of sufficient size. .TP @@ -450,67 +450,67 @@ expires, the decoder will stop trying to decode barcodes. .TP .B \-\-section [] Specifies a series of image sections. A section can be used to gather -a subset image or to provide a small area for barcode decoding. +a subset image or to provide a small area for barcode decoding. Each section is specified in the following format (units are in millimeters): .PP .B x++[:functioncode...] -.PP +.PP Multiple sections can be specified by separating them with commas. .PP For example .B 76.2x25.4+50.8+0:frontbar -identifies an area 3 inches wide and 1 inch high with a top left corner +identifies an area 3 inches wide and 1 inch high with a top left corner at the top of the page two inches from the left hand edge of the page. -This section will be used for barcode decoding on the front page only. +This section will be used for barcode decoding on the front page only. .PP For example -.B 50.8x25.4+25.4+0:frontbar:front:g42d -identifies an area 2 inches wide and 1 inch high with a top left corner -at the top of the page one inch from the left hand edge of the page. -This section will be used for barcode decoding on the front page as well -as generating an image compressed in g42d format. +.B 50.8x25.4+25.4+0:frontbar:front:g42d +identifies an area 2 inches wide and 1 inch high with a top left corner +at the top of the page one inch from the left hand edge of the page. +This section will be used for barcode decoding on the front page as well +as generating an image compressed in g42d format. .PP Ordinarily barcodes are searched in the entire image. However, when you specify sections all barcode searching is done within the specific sections -identified. This can significantly speed up the decoding process. +identified. This can significantly speed up the decoding process. The following functioncodes are available: .RS .br .B front \- generate an image for the front page section -.br +.br .B back \- generate an image for the back page section .br .B frontbar \- perform barcode search in front page section -.br +.br .B backbar \- perform barcode search in back page section .br .B frontpatch \- perform patchcode search in front page section -.br +.br .B backpatch \- perform patchcode search in back page section .br .B none \- use no image compression -.br +.br .B g31d \- use Group 3 1 dimension image compression -.br +.br .B g32d \- use Group 3 2 dimensions image compression -.br +.br .B g42d \- use Group 4 2 dimensions image compression .br .RE .PP If you omit a compression functioncode, the full page compression setting -is used. If you specify multiple compression functioncodes, only the +is used. If you specify multiple compression functioncodes, only the last one is used. .TP @@ -536,7 +536,7 @@ This is a new backend; detailed bug reports are welcome -- and expected ;) If you have found something that you think is a bug, please attempt to recreate it with the SANE_DEBUG_BH environment variable set to 255, and send a report detailing the conditions surrounding the bug to -.IR sane\-devel@lists.alioth.debian.org . +.IR sane\-devel@alioth-lists.debian.net . .SH "SEE ALSO" sane(7), sane\-scsi(5), scanimage(1), scanadf(1) diff --git a/doc/sane-canon.man b/doc/sane-canon.man index be7693c..6085b16 100644 --- a/doc/sane-canon.man +++ b/doc/sane-canon.man @@ -17,9 +17,9 @@ CanoScan FB620S .br CanoScan FB1200S .br -CanoScan FS2700F +CanoScan FS2700F .br -CanoScan FS2710S +CanoScan FS2710S .br .RE .PP @@ -44,7 +44,7 @@ FS2710S Ulrich Deiters . .SH TIPS (FS2700F) .PP Scanning either slides or negatives has been found to require rather -large gamma corrections of about 2.2 to 2.4 (same value for red, green, +large gamma corrections of about 2.2 to 2.4 (same value for red, green, and blue). It is recommended to use the automatic exposure controls of the frontend xsane for best results. .PP @@ -82,9 +82,9 @@ support dynamic loading). .B SANE_DEBUG_CANON If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. -Example: +Example: export SANE_DEBUG_CANON=4 .SH "SEE ALSO" diff --git a/doc/sane-canon630u.man b/doc/sane-canon630u.man index bdfb874..e9ec3cd 100644 --- a/doc/sane-canon630u.man +++ b/doc/sane-canon630u.man @@ -26,10 +26,10 @@ The contents of the .I canon630u.conf file is a list of device names that correspond to Canon USB scanners. Empty lines and lines starting with a hash mark (#) are -ignored. Only one device name can be listed in +ignored. Only one device name can be listed in .IR canon630u.conf . The program -.IR sane\-find\-scanner +.IR sane\-find\-scanner helps to find out the correct device. Under Linux, such a device name could be .I /dev/usb/scanner0 @@ -46,7 +46,7 @@ software was developed by analyzing the USB traffic of the Windows it seems to work for my scanner. If you have complaints, let me know. .PP This driver requires the ability to send USB Control Messages, available in -kernel 2.4.12 or later. +kernel 2.4.12 or later. .PP Some users have reported that this driver doesn't work at all. This seems to be a hardware specific issue, although I don't know what exactly the @@ -71,7 +71,7 @@ support dynamic loading). .I /tmp/canon.cal The calibration file used to normalize pixel brightness. This is calculated every time the scanner is first used after it has lost power. -Deleting this file will force recalibration. +Deleting this file will force recalibration. .SH ENVIRONMENT .TP .B SANE_CONFIG_DIR @@ -91,10 +91,10 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .B SANE_DEBUG_CANON630U If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. Example: -.br +.br SANE_DEBUG_CANON630U=12 scanimage > /dev/null .SH "SEE ALSO" sane(7), sane\-usb(5), sane\-find\-scanner(1) @@ -103,4 +103,3 @@ http://canon-fb630u.sourceforge.net/ .br .SH AUTHOR Nathan Rutman - diff --git a/doc/sane-canon_dr.man b/doc/sane-canon_dr.man index 3e8ac06..4fbc635 100644 --- a/doc/sane-canon_dr.man +++ b/doc/sane-canon_dr.man @@ -5,16 +5,16 @@ sane\-canon_dr \- SANE backend for Canon DR-series scanners .SH DESCRIPTION -The +The .B sane\-canon_dr library implements a SANE (Scanner Access Now Easy) backend which provides access to some Canon DR-series scanners. -This document describes backend version 51, which shipped with SANE 1.0.25. +This document describes backend version 57, which shipped with SANE 1.0.28. .SH SUPPORTED HARDWARE -This version has only been tested with a few scanner models. Please see -http://www.sane\-project.org/sane\-supported\-devices.html for the most recent +This version has only been tested with a few scanner models. Please see +http://www.sane\-project.org/sane\-supported\-devices.html for the most recent list. This backend may support other Canon scanners. The best @@ -23,8 +23,8 @@ or to collect a trace of the windows driver in action. Please contact the author for help or with test results. In general, the larger machines (DR-4000 and up) which have been tested use -a fairly complete protocol, with hardware support for many modes, resolutions -and features. The smaller machines have many limitations, like missing +a fairly complete protocol, with hardware support for many modes, resolutions +and features. The smaller machines have many limitations, like missing horizontal resolutions, missing binary mode, always scanning full-width, etc. There is code in the backend to address these problems, but there seems to be no way to detect if they are required, so they must be hard-coded. @@ -32,26 +32,26 @@ no way to detect if they are required, so they must be hard-coded. .SH OPTIONS Effort has been made to expose most hardware options, including: .PP -source s +source s .RS Selects the source for the scan. Options may include "Flatbed", "ADF Front", "ADF Back", "ADF Duplex". .RE .PP -mode m +mode m .RS Selects the mode for the scan. Options may include "Lineart", "Halftone", "Gray", and "Color". .RE .PP -resolution +resolution .RS Controls scan resolution. .RE .PP tl\-x, tl\-y, br\-x, br\-y .RS -Sets scan area upper left and lower right coordinates. These are renamed +Sets scan area upper left and lower right coordinates. These are renamed t, l, x, y by some frontends. .RE .PP @@ -67,37 +67,37 @@ enhancement, compression, buttons and sensors, etc. Additionally, several 'software' options are exposed by the backend. These are reimplementations of features provided natively by larger scanners, but running on the host computer. This enables smaller machines to have similar -capabilities. Please note that these features are somewhat simplistic, and -may not perform as well as the native implementations. Note also that these -features all require that the driver cache the entire image in memory. This +capabilities. Please note that these features are somewhat simplistic, and +may not perform as well as the native implementations. Note also that these +features all require that the driver cache the entire image in memory. This will almost certainly result in a reduction of scanning speed. .PP -swcrop +swcrop .RS -Requests the driver to detect the extremities of the paper within the larger -image, and crop the empty edges. +Requests the driver to detect the extremities of the paper within the larger +image, and crop the empty edges. .RE .PP -swdeskew +swdeskew .RS -Requests the driver to detect the rotation of the paper within the larger +Requests the driver to detect the rotation of the paper within the larger image, and counter the rotation. .RE .PP -swdespeck X +swdespeck X .RS -Requests the driver to find and remove dots of X diameter or smaller from the +Requests the driver to find and remove dots of X diameter or smaller from the image, and fill the space with the average surrounding color. .RE -Use 'scanimage \-\-help' to get a list, but be aware that some options may -be settable only when another option has been set, and that advanced options +Use 'scanimage \-\-help' to get a list, but be aware that some options may +be settable only when another option has been set, and that advanced options may be hidden by some frontend programs. .PP .SH CONFIGURATION FILE The configuration file "canon_dr.conf" is used to tell the backend how to look for scanners, and provide options controlling the operation of the backend. -This file is read each time the frontend asks the backend for a list +This file is read each time the frontend asks the backend for a list of scanners, generally only when the frontend starts. If the configuration file is missing, the backend will fail to run. .PP @@ -105,9 +105,9 @@ Scanners can be specified in the configuration file in 4 ways: .PP "scsi CANON DR" .RS -Requests backend to search all scsi busses in the system for a device +Requests backend to search all scsi busses in the system for a device which reports itself to be a scanner made by 'CANON', with a model name -starting with 'DR'. +starting with 'DR'. .RE .PP "scsi /dev/sg0" (or other scsi device file) @@ -119,7 +119,7 @@ specify one. Probably should not be used with the other "scsi" line above. .PP "usb 0x04a9 0x1603" (or other vendor/product ids) .RS -Requests backend to search all usb busses in the system for a device +Requests backend to search all usb busses in the system for a device which uses that vendor and product id. The device will then be queried to determine if it is a Canon scanner. .RE @@ -129,12 +129,12 @@ to determine if it is a Canon scanner. Some systems use a kernel driver to access usb scanners. This method is untested. .RE .PP -Besides the 'scsi' and 'usb' lines, the configuration file supports the +Besides the 'scsi' and 'usb' lines, the configuration file supports the following 'option' lines: .PP "option buffer-size [number of bytes]" .RS -Set the number of bytes in the data buffer to something other than the +Set the number of bytes in the data buffer to something other than the compiled\-in default of 4MB. Large values may cause timeouts or hangs, small values may cause slow scans. .PP @@ -150,7 +150,7 @@ warned. .br "option version-name [string of text]" .RS -These options can be used collectively to override the values provided by the +These options can be used collectively to override the values provided by the scanner, or to provide the values when the scanner cannot. .RE .PP @@ -189,12 +189,12 @@ enables debugging output to stderr. Valid values are: .RE .SH KNOWN ISSUES -This backend was entirely reverse engineered from usb traces of the proprietary +This backend was entirely reverse engineered from usb traces of the proprietary driver. Various advanced features of the machines may not be enabled. Many machines have not been tested. Their protocol is unknown. .SH CREDITS - + The various authors of the sane\-fujitsu backend provided useful code .br Yabarana Corp. www.yabarana.com provided significant funding @@ -218,4 +218,3 @@ sane\-usb(5) .SH AUTHOR m. allan noah: - diff --git a/doc/sane-canon_pp.man b/doc/sane-canon_pp.man index ae307cb..46bb823 100644 --- a/doc/sane-canon_pp.man +++ b/doc/sane-canon_pp.man @@ -5,7 +5,7 @@ sane\-canon_pp \- SANE backend for Canon CanoScan Parallel Port flatbed scanners .SH DESCRIPTION The .B sane\-canon_pp -library implements a SANE (Scanner Access Now Easy) backend that provides +library implements a SANE (Scanner Access Now Easy) backend that provides access to the following Canon flatbed scanners: .PP .RS @@ -25,11 +25,11 @@ CanoScan N640P ex .br .RE .PP -No USB scanners are supported and there are no plans to support them in the -future. Other projects are working on support for USB scanners. See the -.B PROJECTS +No USB scanners are supported and there are no plans to support them in the +future. Other projects are working on support for USB scanners. See the +.B PROJECTS file for more detail. The FB310P and FB610P are re-badged Avision scanners -which use a different command set, so are unlikely to be supported by this +which use a different command set, so are unlikely to be supported by this backend in the future. .PP IMPORTANT: this is alpha code. While we have made every effort to make it as @@ -42,77 +42,77 @@ below). . .PP .SH "DEVICE NAMES" -This backend expects device names of the form presented by libieee1284. These +This backend expects device names of the form presented by libieee1284. These names are highly dependent on operating system and version. -On Linux 2.4 kernels this will be of the form +On Linux 2.4 kernels this will be of the form .I "parport0" -or older (2.2 and before) kernels may produce names like +or older (2.2 and before) kernels may produce names like .IR "0x378" -(the base address of your port) or simply +(the base address of your port) or simply .IR "0" -depending on your module configuration. Check the contents of +depending on your module configuration. Check the contents of .I /proc/parport -if it exists. If you don't want to specify a default port (or don't know its +if it exists. If you don't want to specify a default port (or don't know its name), the backend should be able to detect which port your scanner is on. .SH CONFIGURATION The contents of the .I canon_pp.conf -file is a list of options for the driver to use. Empty lines and lines +file is a list of options for the driver to use. Empty lines and lines starting with a hash mark (#) are ignored. .PP The supported options are currently .BR ieee1284 , .BR calibrate , .BR init_mode , -and +and .BR force_nibble Option -.B ieee1284 +.B ieee1284 .IR port-name -defines which port to use. The format of port-name is OS dependent, based on +defines which port to use. The format of port-name is OS dependent, based on the names presented by libieee1284. Please only have one of these lines, or all but one will be ignored. -Option -.B calibrate -.IR cal-file +Option +.B calibrate +.IR cal-file .IR [port-name] -defines which calibration file to use on a per-port basis. If you only have -one parport, the port-name argument may be omitted \- but be careful as this +defines which calibration file to use on a per-port basis. If you only have +one parport, the port-name argument may be omitted \- but be careful as this will cause problems on multi-scanner systems. You may have as many of these -lines as you like, as long as each has a unique port name. The tilde (`~') -character is acceptable and will be expanded to the value of the HOME +lines as you like, as long as each has a unique port name. The tilde (`~') +character is acceptable and will be expanded to the value of the HOME environment. -Option +Option .B init_mode .IR .IR [portname] -defines which initialisation (wake-up) mode to use on a per-port basis. -If you only have one parport, the portname argument may be omitted \- but -be careful as this may cause problems on multi-scanner systems. -You may have as many of these lines as you like, as long as each has a unique -port name. The valid initialisation modes are FB620P (which strobes 10101010 -and 01010101 on the data pins), FB630P (which strobes 11001100 and 00110011 +defines which initialisation (wake-up) mode to use on a per-port basis. +If you only have one parport, the portname argument may be omitted \- but +be careful as this may cause problems on multi-scanner systems. +You may have as many of these lines as you like, as long as each has a unique +port name. The valid initialisation modes are FB620P (which strobes 10101010 +and 01010101 on the data pins), FB630P (which strobes 11001100 and 00110011 on the data pins) and AUTO, which will try FB630P mode first then FB620P mode second. The FB620P mode is also used by the FB320P. The FB630P mode is used by the FB330P, N340P, and N640P. Option .B force_nibble -forces the driver to use nibble mode even if ECP mode is reported to work by -libieee1284. This works-around the rare issue of ECP mode being reported to +forces the driver to use nibble mode even if ECP mode is reported to work by +libieee1284. This works-around the rare issue of ECP mode being reported to work by the library, then not working. .SH TIPS .PP -Hit the "Calibrate" button before scanning. It vastly improves the quality of +Hit the "Calibrate" button before scanning. It vastly improves the quality of scans. .PP -To enable automatic detection of your scanner, uncomment the "canon_pp" line +To enable automatic detection of your scanner, uncomment the "canon_pp" line from .I @CONFIGDIR@/dll.conf .PP @@ -127,40 +127,40 @@ below). The static library implementing this backend. .TP .I @LIBDIR@/libsane\-canon_pp.so -The shared library implementing this backend (present on systems that support +The shared library implementing this backend (present on systems that support dynamic loading). .SH ENVIRONMENT .TP .B SANE_CONFIG_DIR -This environment variable specifies the list of directories that may contain -the configuration file. Under UNIX, the directories are separated by a colon +This environment variable specifies the list of directories that may contain +the configuration file. Under UNIX, the directories are separated by a colon (`:'), under OS/2, they are separated by a semi-colon (`;'). If this variable -is not set, the configuration file is searched in two default directories: -first, the current working directory (".") and then in @CONFIGDIR@. If the +is not set, the configuration file is searched in two default directories: +first, the current working directory (".") and then in @CONFIGDIR@. If the value of the environment variable ends with the directory separator character, -then the default directories are searched after the explicitly specified +then the default directories are searched after the explicitly specified directories. For example, setting .B SANE_CONFIG_DIR to "/tmp/config:" would result in directories "tmp/config", ".", and "@CONFIGDIR@" being searched (in this order). .TP .B SANE_DEBUG_CANON_PP -If the library was compiled with debug support enabled, this environment -variable controls the debug level for this backend. Higher debug levels +If the library was compiled with debug support enabled, this environment +variable controls the debug level for this backend. Higher debug levels increase the verbosity of the output. -Example: +Example: export SANE_DEBUG_CANON_PP=4 .SH NOTES .B Features available in the Windows interface .TP -.B Brightness and Contrast -These are not implemented, and probably never will be. These appear to be -implemented entirely in software. Use GIMP or a similar program if you need +.B Brightness and Contrast +These are not implemented, and probably never will be. These appear to be +implemented entirely in software. Use GIMP or a similar program if you need these features. .TP .B Descreen Mode -This appears on our first analysis to be just oversampling with an +This appears on our first analysis to be just oversampling with an anti-aliasing filter. Again, it seems to be implemented entirely in software, so GIMP is your best bet for now. .TP @@ -170,51 +170,51 @@ one returned during calibration) will be loaded. .PP .B Communication Problems .PP -ECP mode in libieee1284 doesn't always work properly, even with new hardware. +ECP mode in libieee1284 doesn't always work properly, even with new hardware. We believe that this is a ppdev problem. If you change the configuration file -to include +to include .B force_nibble , the problem will go away, but you will only be able to scan in nibble mode. .PP Sometimes the scanner can be left in a state where our code cannot revive it. -If the backend reports no scanner present, try unplugging the power and +If the backend reports no scanner present, try unplugging the power and plugging it back in. Also try unplugging printers from the pass-through port. .PP -The scanner will not respond correctly to our commands when you first plug in -the power. You may find if you try a scan very soon after plugging in the +The scanner will not respond correctly to our commands when you first plug in +the power. You may find if you try a scan very soon after plugging in the power that the backend will incorrectly report that you have no scanner present. -To avoid this, give it about 10 seconds to reset itself before attempting any +To avoid this, give it about 10 seconds to reset itself before attempting any scans. .PP .B Repeated Lines .PP Sometimes at high resolutions (ie. 600dpi) you will notice lines which appear twice. These lines correspond to points where the scanner head has stopped -during the scan (it stops every time the internal 64kb buffer is full). +during the scan (it stops every time the internal 64kb buffer is full). Basically it's a mechanical problem inside the scanner, that the tolerance of movement for a start/stop event is greater than 1/600 inches. I've never tried -the windows driver so I'm not sure how (or if) it works around this problem, -but as we don't know how to rewind the scanner head to do these bits again, +the windows driver so I'm not sure how (or if) it works around this problem, +but as we don't know how to rewind the scanner head to do these bits again, there's currently no nice way to deal with the problem. .PP .B Grey-scale Scans .PP -Be aware that the scanner uses the green LEDs to read grey-scale scans, meaning -green coloured things will appear lighter than normal, and red and blue -coloured items will appear darker than normal. For high-accuracy grey-scale -scans of colour items, it's best just to scan in colour and convert to +Be aware that the scanner uses the green LEDs to read grey-scale scans, meaning +green coloured things will appear lighter than normal, and red and blue +coloured items will appear darker than normal. For high-accuracy grey-scale +scans of colour items, it's best just to scan in colour and convert to grey-scale in graphics software such as the GIMP. .PP .B FB620P/FB320P Caveats .PP These models can not be reset in the same way as the others. The windows driver -doesn't know how to reset them either \- when left with an inconsistent scanner, +doesn't know how to reset them either \- when left with an inconsistent scanner, it will start scanning half way down the page! .PP Aborting is known to work correctly on the FB*30P models, and is known to be -broken on the FB*20P models. The FB620P which I tested on simply returns -garbage after a scan has been aborted using the method we know. -Aborting is able to leave the scanner in a state where it can be shut down, +broken on the FB*20P models. The FB620P which I tested on simply returns +garbage after a scan has been aborted using the method we know. +Aborting is able to leave the scanner in a state where it can be shut down, but not where another scan can be made. @@ -224,9 +224,8 @@ sane(7), sane\-dll(5) http://canon\-fb330p.sourceforge.net/ .SH AUTHOR -This backend is primarily the work of Simon Krix (Reverse Engineering), and -Matthew Duggan (SANE interface). +This backend is primarily the work of Simon Krix (Reverse Engineering), and +Matthew Duggan (SANE interface). .PP -Many thanks to Kevin Easton for his comments and help, and Kent A. Signorini +Many thanks to Kevin Easton for his comments and help, and Kent A. Signorini for his help with the N340P. - diff --git a/doc/sane-cardscan.man b/doc/sane-cardscan.man index 7c081af..e5872a8 100644 --- a/doc/sane-cardscan.man +++ b/doc/sane-cardscan.man @@ -5,16 +5,16 @@ sane\-cardscan \- SANE backend for Corex CardScan usb scanners .SH DESCRIPTION -The +The .B sane\-cardscan library implements a SANE (Scanner Access Now Easy) backend which provides access to the Corex CardScan 800c & 600c small-format scanners. -The backend supports only grayscale and color modes and media of +The backend supports only grayscale and color modes and media of (theoretically) infinite length. This backend may support other scanners. The best -way to determine level of support is to get a trace of the windows +way to determine level of support is to get a trace of the windows driver in action, and send it to the author. .SH OPTIONS @@ -28,7 +28,7 @@ Selects the mode for the scan. Options are "Gray" and "Color". .SH CONFIGURATION FILE The configuration file "cardscan.conf" is used to tell the backend how to look for scanners, and provide options controlling the operation of the backend. -This file is read each time the frontend asks the backend for a list +This file is read each time the frontend asks the backend for a list of scanners, generally only when the frontend starts. If the configuration file is missing, the backend will use a set of compiled defaults, which are identical to the default configuration file shipped with SANE. @@ -37,7 +37,7 @@ Scanners can be specified in the configuration file in 2 ways: .PP "usb 0x04c5 0x1042" (or other vendor/product ids) .RS -Requests backend to search all usb busses in the system for a device +Requests backend to search all usb busses in the system for a device which uses that vendor and product id. The device will then be queried to determine if it is a cardscan scanner. .RE @@ -91,11 +91,11 @@ cannot set x/y coordinate values, resolutions, etc. These things could be simulated in the backend, but there are plenty of command line tools. .br .br -The backend also does not send all the commands that the windows driver +The backend also does not send all the commands that the windows driver does, so it may not function the same. .br .br -The backend does not have the calibration or ejection options of the +The backend does not have the calibration or ejection options of the windows driver. .br .br @@ -111,4 +111,3 @@ sane\-usb(5) .SH AUTHOR m. allan noah: - diff --git a/doc/sane-config.man b/doc/sane-config.man index 42c6f9a..997a342 100644 --- a/doc/sane-config.man +++ b/doc/sane-config.man @@ -37,7 +37,7 @@ frontend to libsane. .B \-\-cflags Print the compiler flags that are necessary to compile a .B SANE -frontend. +frontend. .TP 8 .B \-\-prefix Print the prefix used during compilation of libsane. diff --git a/doc/sane-coolscan.man b/doc/sane-coolscan.man index 5952039..65c8d53 100644 --- a/doc/sane-coolscan.man +++ b/doc/sane-coolscan.man @@ -6,7 +6,7 @@ sane\-coolscan \- SANE backend for Nikon film-scanners .SH ABOUT THIS FILE -This file is a short description of the coolscan-backend for sane! +This file is a short description of the coolscan-backend for sane! .SH DESCRIPTION @@ -18,22 +18,22 @@ library implements a SANE backend that provides the interface to the following N .SH CONFIGURATION -The configuration file for this backend resides in +The configuration file for this backend resides in .IR @CONFIGDIR@/coolscan.conf . Its contents is a list of device names that correspond to Nikon Coolscan scanners. Empty lines and lines starting with a hash mark (#) are ignored. A sample configuration file is -shown below: +shown below: .nf - #scsi Vendor Model Type - scsi Nikon * Scanner - /dev/scanner + #scsi Vendor Model Type + scsi Nikon * Scanner + /dev/scanner .fi The special device name must be a generic SCSI device or a symlink to such a device. To find out to which device your scanner is assigned and how you have to set the -permissions of that device, have a look at sane\-scsi. +permissions of that device, have a look at sane\-scsi. .SH SCSI ADAPTER TIPS diff --git a/doc/sane-coolscan2.man b/doc/sane-coolscan2.man index af27f1a..71f589a 100644 --- a/doc/sane-coolscan2.man +++ b/doc/sane-coolscan2.man @@ -6,12 +6,12 @@ sane\-coolscan2 \- SANE backend for Nikon Coolscan film scanners The .B sane\-coolscan2 library implements a SANE (Scanner Access Now Easy) backend that -provides access to Nikon Coolscan film scanners. Some functions of this +provides access to Nikon Coolscan film scanners. Some functions of this backend should be considered .B beta-quality -software. Most functions have been stable for a long time, but of +software. Most functions have been stable for a long time, but of course new development can not and will not function properly from -the very first day. Please report any strange behaviour to the +the very first day. Please report any strange behaviour to the maintainer of the backend. .PP @@ -38,7 +38,7 @@ report successes or failures. The options the backend supports can either be selected through command line options to programs like scanimage or through GUI elements in xscanimage or xsane. -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d coolscan2:: .RE @@ -69,7 +69,7 @@ unit is mm). .I \-\-infrared=yes/no If set to "yes", the scanner will read the infrared channel, thus allowing defect removal in software. The infrared image is read during a second scan, -with no options altered. The backend must not be restarted between the scans. +with no options altered. The backend must not be restarted between the scans. If you use scanimage, perform a batch scan with batch\-count=2 to obtain the IR information. .TP diff --git a/doc/sane-coolscan3.man b/doc/sane-coolscan3.man index 364d5ef..238f127 100644 --- a/doc/sane-coolscan3.man +++ b/doc/sane-coolscan3.man @@ -6,11 +6,11 @@ sane\-coolscan3 \- SANE backend for Nikon Coolscan film scanners The .B sane\-coolscan3 library implements a SANE (Scanner Access Now Easy) backend that -provides access to Nikon Coolscan film scanners. Some functions of this -backend should be considered +provides access to Nikon Coolscan film scanners. Some functions of this +backend should be considered .B beta-quality -software. Most functions have been stable for a long time, but of -course new development can not and will not function properly from +software. Most functions have been stable for a long time, but of +course new development can not and will not function properly from the very first day. .PP @@ -31,27 +31,27 @@ LS-8000 ED IEEE 1394 .ft R .RE -Please send mail to sane-devel@lists.alioth.debian.org to report successes +Please send mail to sane-devel@alioth-lists.debian.net to report successes or failures. .SH OPTIONS -The options the backend supports can either be selected through command line +The options the backend supports can either be selected through command line options to programs like scanimage or through GUI elements in xscanimage or xsane. -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d coolscan3:: .RE where and specify the device in question, as in the configuration file (see next section). The \-d parameter and its argument can be omitted to obtain information on the first scanner identified. Use -the command +the command .RS scanimage \-L .RE to list all devices recognized by your SANE installation. -The options should be fully described by the description or tooltips given by +The options should be fully described by the description or tooltips given by frontend. Here is a description of some of the most important options, in the syntax with which they must be supplied to scanimage: .TP @@ -69,7 +69,7 @@ unit is mm). .I \-\-infrared=yes/no If set to "yes", the scanner will read the infrared channel, thus allowing defect removal in software. The infrared image is read during a second scan, -with no options altered. The backend must not be restarted between the scans. +with no options altered. The backend must not be restarted between the scans. If you use scanimage, perform a batch scan with batch\-count=2 to obtain the IR information. .TP @@ -109,7 +109,7 @@ Eject the film strip or mounted slide when using the slide loader. Reset scanner. The scanner will perform the same action as when power is turned on: it will eject the film strip and calibrate itself. Use this whenever the scanner refuses to load a film strip properly, as a result of -which +which .I \-\-eject does not work. @@ -126,7 +126,7 @@ entries are case-sensitive: These lines are ignored, thus '#' can be used to include comments. .TP .I containing only the word """auto""" -This instructs the backend to probe for a scanner by scanning the buses for +This instructs the backend to probe for a scanner by scanning the buses for devices with know identifiers. This is the action taken when no configuration file is present. .TP @@ -178,5 +178,4 @@ No real bugs currently known, please report any to the SANE developers' list. .SH AUTHORS coolscan3 written by A. Zummo (a.zummo@towertech.it), based heavily on -coolscan2 written by Andr\['a]s Major (andras@users.sourceforge.net). - +coolscan2 written by Andr\['a]s Major (andras@users.sourceforge.net). diff --git a/doc/sane-dc210.man b/doc/sane-dc210.man index bc0db75..7d3ad65 100644 --- a/doc/sane-dc210.man +++ b/doc/sane-dc210.man @@ -14,15 +14,15 @@ connected. The device name is always "0". .SH CONFIGURATION The contents of the .I dc210.conf -specify the serial port and baud rate to use. The baud rate +specify the serial port and baud rate to use. The baud rate specifies the maximum rate to use while downloading pictures. (The camera is always initialized using 9600 baud, then switches to the higher rate). On my 90MHz Pentium, I usually have no problems downloading -at 115200 baud as long as the system is not excessively busy and +at 115200 baud as long as the system is not excessively busy and the "interrupt-unmask flag" is set in the IDE driver (hdparm \-u1). Supported baud rates are: 9600, 19200, 38400, 57600, and 115200. .PP -The dumpinquiry line causes some information about the camera to +The dumpinquiry line causes some information about the camera to be printed. .PP cmdrespause specifies how many usec (1,000,000ths of a) between @@ -30,7 +30,7 @@ writing the command and reading the result should be used. 125000 seems to be the lowest I could go reliably. .PP breakpause is the time in 1,000,000ths of a usec between sending the -"back to default" break sending commands. +"back to default" break sending commands. .PP Empty lines and lines starting with a hash mark (#) are ignored. A sample configuration file is shown below: @@ -81,7 +81,7 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .TP .B SANE_DEBUG_DC210 If the library was compiled with debugging support enabled, this -environment variable controls the debug level for this backend. +environment variable controls the debug level for this backend. A value of 128 requests maximally copious debug output; smaller levels reduce verbosity. @@ -101,7 +101,7 @@ Henning Meier-Geinitz. Known bugs/limitations are: ? .PP More general comments, suggestions, and inquiries about frontends -or SANE should go to the SANE Developers mailing list -(see http://www.sane\-project.org/mailing\-lists.html for details). +or SANE should go to the SANE Developers mailing list +(see http://www.sane\-project.org/mailing\-lists.html for details). You must be subscribed to the list, otherwise your mail won't be sent to the subscribers. diff --git a/doc/sane-dc240.man b/doc/sane-dc240.man index ba7fd63..70629ab 100644 --- a/doc/sane-dc240.man +++ b/doc/sane-dc240.man @@ -14,16 +14,16 @@ connected. The device name is always "0". .SH CONFIGURATION The contents of the .I dc240.conf -specify the serial port and baud rate to use. The baud rate +specify the serial port and baud rate to use. The baud rate specifies the maximum rate to use while downloading pictures. (The camera is always initialized using 9600 baud, then switches to the higher rate). On a 450MHz Pentium, I usually have no problems downloading at 115200 baud, though the camera sometimes has to resend packets due -to lost characters. Results are better when +to lost characters. Results are better when the "interrupt-unmask flag" is set in the IDE driver (hdparm \-u1). Supported baud rates are: 9600, 19200, 38400, 57600, and 115200. .PP -The dumpinquiry line causes some information about the camera to +The dumpinquiry line causes some information about the camera to be printed. .PP cmdrespause specifies how many usec (1,000,000ths of a) between @@ -31,7 +31,7 @@ writing the command and reading the result should be used. 125000 seems to be the lowest I could go reliably. .PP breakpause is the time in 1,000,000ths of a usec between sending the -"back to default" break sending commands. +"back to default" break sending commands. .PP Empty lines and lines starting with a hash mark (#) are ignored. A sample configuration file is shown below: @@ -82,7 +82,7 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .TP .B SANE_DEBUG_DC240 If the library was compiled with debugging support enabled, this -environment variable controls the debug level for this backend. +environment variable controls the debug level for this backend. A value of 128 requests maximally copious debug output; smaller levels reduce verbosity. @@ -101,13 +101,12 @@ The manpage was largely copied from the dc210 manpage. .SH BUGS The major limitation that I know of is that the backend assumes the directory in the camera is 100dc240. Once the camera has -taken more than 9999 pictures, the directory will increment to 101dc240. +taken more than 9999 pictures, the directory will increment to 101dc240. Not only should we check for the additional directory, but pictures may actually be found in multiple directories. .PP More general comments, suggestions, and inquiries about frontends -or SANE should go to the SANE Developers mailing list -(see http://www.sane\-project.org/mailing\-lists.html for details). +or SANE should go to the SANE Developers mailing list +(see http://www.sane\-project.org/mailing\-lists.html for details). You must be subscribed to the list, otherwise your mail won't be sent to the subscribers. - diff --git a/doc/sane-dc25.man b/doc/sane-dc25.man index eabe765..889fd2d 100644 --- a/doc/sane-dc25.man +++ b/doc/sane-dc25.man @@ -15,15 +15,15 @@ connected. The device name is always "0". .SH CONFIGURATION The contents of the .I dc25.conf -specify the serial port and baud rate to use. The baud rate +specify the serial port and baud rate to use. The baud rate specifies the maximum rate to use while downloading pictures. (The camera is always initialized using 9600 baud, then switches to the higher rate). On my 90MHz Pentium, I usually have no problems downloading -at 115200 baud as long as the system is not excessively busy and +at 115200 baud as long as the system is not excessively busy and the "interrupt-unmask flag" is set in the IDE driver (hdparm \-u1). Supported baud rates are: 9600, 19200, 38400, 57600, and 115200. .PP -The dumpinquiry line causes some information about the camera to +The dumpinquiry line causes some information about the camera to be printed to stderr during startup. Note: This is not compatible with saned, so make sure you don't have any dumpinquiry lines if you are using saned (i.e. scanning on a remote machine using a @@ -74,7 +74,7 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .TP .B SANE_DEBUG_DC25 If the library was compiled with debugging support enabled, this -environment variable controls the debug level for this backend. +environment variable controls the debug level for this backend. A value of 128 requests maximally copious debug output; smaller levels reduce verbosity. @@ -93,7 +93,7 @@ slider that is used to select the picture from the camera may not be updated immediately. .PP More general comments, suggestions, and inquiries about frontends -or SANE should go to the SANE Developers mailing list -(see http://www.sane\-project.org/mailing\-lists.html for details). +or SANE should go to the SANE Developers mailing list +(see http://www.sane\-project.org/mailing\-lists.html for details). You must be subscribed to the list, otherwise your mail won't be sent to the subscribers. diff --git a/doc/sane-dll.man b/doc/sane-dll.man index 54f9686..e93f897 100644 --- a/doc/sane-dll.man +++ b/doc/sane-dll.man @@ -55,11 +55,11 @@ mustek .PP It is also possible to add a file in .I @CONFIGDIR@/dll.d -that contains the list of backends to be added. Backends mentioned in a -file included in this directory will be added before any backends listed -in +that contains the list of backends to be added. Backends mentioned in a +file included in this directory will be added before any backends listed +in .I dll.conf. -Files in +Files in .I @CONFIGDIR@/dll.d can be freely named. They shall follow the format conventions as apply for .I dll.conf. @@ -76,7 +76,7 @@ in file backend/Makefile.in of the SANE source code distribution. After changing the value of this macro, it is necessary to reconfigure, rebuild, and reinstall SANE for the change to take effect. -Aliases are defined in the config file +Aliases are defined in the config file .IR dll.aliases . It can contain entries of the form .PP @@ -152,7 +152,7 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. E.g., a value of 128 requests all debug output to be printed. Smaller -levels reduce verbosity. +levels reduce verbosity. .ft CR .nf @@ -165,7 +165,7 @@ Value Description .fi .ft R -Example: +Example: export SANE_DEBUG_DLL=3 diff --git a/doc/sane-epjitsu.man b/doc/sane-epjitsu.man index 3552691..9a31da2 100644 --- a/doc/sane-epjitsu.man +++ b/doc/sane-epjitsu.man @@ -5,12 +5,12 @@ sane\-epjitsu \- SANE backend for Epson-based Fujitsu USB scanners. .SH DESCRIPTION -The +The .B sane\-epjitsu library implements a SANE (Scanner Access Now Easy) backend which provides basic access the Fujitsu fi\-60F/fi\-65F and ScanSnap S300/S1300(i)/S1100(i) scanners. .SH HARDWARE SUPPORT -These scanners are fairly limited, only supporting a couple of modes and resolutions, and always scanning full width. The backend supports missing modes (binary, grayscale) and intermediate resolutions in software, but provides only minimal scan area controls. See +These scanners are fairly limited, only supporting a couple of modes and resolutions, and always scanning full width. The backend supports missing modes (binary, grayscale) and intermediate resolutions in software, but provides only minimal scan area controls. See .B KNOWN ISSUES. This backend may support other scanners. If physical inspection reveals an Epson chipset, please contact the author for instructions on collecting a USB trace under Windows to verify. @@ -18,12 +18,12 @@ This backend may support other scanners. If physical inspection reveals an Epson .SH OPTIONS A limited effort has been made to expose the standard options to the API. This allows a frontend to set resolution, color mode, and choose the ADF setting. The epjitsu backend supports the following basic options for most scanners: .PP -source s +source s .RS Selects the source for the scan. Options may include "Flatbed", "ADF Front", "ADF Back", "ADF Duplex". .RE .PP -mode m +mode m .RS Selects the mode for the scan. Options may include "Lineart", "Gray", "Color". .RE @@ -52,13 +52,13 @@ Some systems use a kernel driver to access usb scanners. This method is untested .PP The only configuration option supported is "firmware /PATH/TO/FILE", allowing you to set the location of the firmware file you have extracted from the Windows driver. .PP -.B Note: +.B Note: This firmware is a copyrighted work of Fujitsu, so cannot be provided by the backend or the author. Please do not ask. .PP -.B Note: +.B Note: These scanners REQUIRE a firmware file to function. See the supplied configuration file for more detail. .PP -.B Note: +.B Note: This option may appear multiple times in the configuration file. It only applies to scanners discovered by 'usb' lines that follow this option. .PP @@ -103,4 +103,3 @@ sane\-usb(5) .SH AUTHOR m. allan noah: - diff --git a/doc/sane-epson.man b/doc/sane-epson.man index af2b3cf..f09f075 100644 --- a/doc/sane-epson.man +++ b/doc/sane-epson.man @@ -6,12 +6,12 @@ sane\-epson \- SANE backend for EPSON scanners The .B sane\-epson library implements a SANE (Scanner Access Now Easy) backend that -provides access to Epson flatbed scanners. Some functions of this +provides access to Epson flatbed scanners. Some functions of this backend should be considered .B beta-quality -software! Most functions have been stable for a long time, but of +software! Most functions have been stable for a long time, but of course new development can not and often times will not function properly from -the very first day. Please report any strange behavior to the +the very first day. Please report any strange behavior to the maintainer of the backend. .PP At present, the following scanners are known to work with this backend: @@ -48,23 +48,23 @@ CX-5200 USB and many more. The official list is on the Sane web site. .RE -For other scanners the software may or may not work. Please send mail to +For other scanners the software may or may not work. Please send mail to the backend author (khk@khk.net) to report success with scanners not on -the list or problems with scanners that are listed. +the list or problems with scanners that are listed. .SH OPTIONS The options the backend supports can either be selected through command line options to programs like scanimage or through GUI elements in programs like xscanimage or xsane. -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d epson .RE Not all devices support all options. .TP .I Scan Mode -The -.I \-\-mode +The +.I \-\-mode switch selects the basic mode of operation of the scanner. Valid choices are Binary, Gray and Color. The Binary mode is black and white only, Gray will produce 256 levels of gray or more depending on the scanner @@ -89,7 +89,7 @@ are "None", "Halftone A (Hard Tone)", "Halftone B (Soft Tone)", "Halftone C (4x4 Net Screen)", "Dither D (8x4 Net Screen)", "Text Enhanced Technology", "Download pattern A", and "Download pattern B". -The +The .I \-\-dropout switch selects the so called dropout color. Valid options are None, Red, Green and Blue. The default is None. The dropout color is used for @@ -109,62 +109,62 @@ switch sets the sharpness of the image data. Valid options are integer values from \-2 to 2, with \-2 meaning "Defocus", \-1 "Defocus slightly", 0 "Normal", 1 "Sharpen slightly" and 2 "Sharpen". -The +The .I \-\-gamma\-correction switch controls the scanner's internal gamma correction. Valid options are "Default", "User defined", "High density printing" "Low density printing" and "High contrast printing". -The +The .I \-\-color\-correction switch controls the scanner's internal color correction function. Valid options are "No Correction", "Impact\-dot printers", "Thermal printers", "Ink\-jet printers" and "CRT monitors". The default is "CRT monitors". -The +The .I \-\-resolution switch selects the resolution for a scan. Some EPSON scanners will scan in any resolution between the lowest and highest possible value. The list reported by the scanner can be displayed using the "\-\-help \-d epson" parameters to scanimage. -The +The .I \-\-mirror option controls the way the image is scanned. By reading the image data from right to left the image is mirrored. Valid options are "yes" and "no". The default is "no". -The +The .I \-\-speed option can improve the scan speed in monochrome mode. Valid options are "yes" or "no", the "yes" option will speed up the scan if this option is supported. -The -.I \-\-auto\-area\-segmentation +The +.I \-\-auto\-area\-segmentation switch activates the automatic area segmentation for monochrome scans. The scanner will try to determine which areas are text and which contain images. The image areas will be halftoned, and the text will be improved. Valid options are "yes" and "no". The default is "yes". -The +The .I \-\-gamma\-table parameter can be used to download a user defined gamma table. The option takes 256 values from the range 0-255. In color mode this option equally affects the red, green, and blue channel. -The -.I \-\-red\-gamma\-table +The +.I \-\-red\-gamma\-table parameter can be used to download a user defined gamma table for the red channel. The valid options are the same as for \-\-gamma\-table. -The -.I \-\-green\-gamma\-table +The +.I \-\-green\-gamma\-table parameter can be used to download a user defined gamma table for the green channel. The valid options are the same as for \-\-gamma\-table. -The -.I \-\-blue\-gamma\-table +The +.I \-\-blue\-gamma\-table parameter can be used to download a user defined gamma table for the blue channel. The valid options are the same as for \-\-gamma\-table. @@ -173,19 +173,19 @@ The color correction coefficients will install color correction coefficients for the user defined color correction. Values are specified as integers in the range \-127..127. -The +The .I \-\-preview -option requests a preview scan. The frontend software automatically selects a low +option requests a preview scan. The frontend software automatically selects a low resolution. Valid options are "yes" and "no". The default is "no". -The +The .I \-\-preview\-speed options will increase the scan speed if this is supported by the scanner. Valid options are "yes" and "no", the default is "no". The geometry options -.I \-l \-t \-x \-y +.I \-l \-t \-x \-y control the scan area: \-l sets the top left x coordinate, \-t the top left y coordinate, \-x selects the width and \-y the height of the scan area. All parameters are specified in millimeters. @@ -201,9 +201,9 @@ The option selects the scan source. Valid options depend on the installed options. The default is "Flatbed". -The +The .I \-\-auto\-eject -option will eject a page after scanning from the document feeder. +option will eject a page after scanning from the document feeder. The .I \-\-film\-type @@ -222,7 +222,7 @@ will ignore this option. .SH CONFIGURATION FILE -The configuration file @CONFIGDIR@/epson.conf specifies the device(s) that the +The configuration file @CONFIGDIR@/epson.conf specifies the device(s) that the backend will use. Possible connection types are: .TP .I SCSI @@ -230,22 +230,22 @@ This is the default, and if nothing else is specified the backend software will open a given path as SCSI device. More information about valid syntax for SCSI devices can be found in sane\-scsi(5). .br -Usually SCSI scanners are configured with a line "scsi EPSON" in this file. In +Usually SCSI scanners are configured with a line "scsi EPSON" in this file. In some cases it may be necessary to only use the string "scsi" (e.g. for the GT-6500). .TP .I PIO \- Parallel Interface The parallel interface can be configured in two ways: An integer value starting at the beginning of a line will be interpreted as the IO address of the parallel -port. To make it clearer that a configured IO address is a parallel port the +port. To make it clearer that a configured IO address is a parallel port the port address can be preceded by the string "PIO". The PIO connection does not use a special device file in the /dev directory. The IO address can be specified in hex mode (prefixed with "0x"). .TP .I USB -A device file that is preceded by the string "USB" is treated as a scanner +A device file that is preceded by the string "USB" is treated as a scanner connected via the Universal Serial Bus. The correct special device file has -to be created prior to using it with Sane. See the USB documentation for -more information about how to set up the USB subsystem and the required +to be created prior to using it with Sane. See the USB documentation for +more information about how to set up the USB subsystem and the required device files. .SH FILES .TP @@ -265,14 +265,14 @@ levels reduce verbosity. .TP .B SANE_DEBUG_EPSON_SCSI If the library was compiled with debug support enabled, this -environment variable controls the SCSI related debug level for this backend. +environment variable controls the SCSI related debug level for this backend. Only a value of 2 is supported. .TP .B SANE_EPSON_CMD_LVL This allows one to override the function or command level that the backend uses to communicate with the scanner. The function level a scanner supports is determined during the initialization of the device. If -the backend does not recognize the function level reported by the +the backend does not recognize the function level reported by the scanner it will default to function level B3. Valid function levels are A1, A2, B1, B2, B3, B4, B5, B6, B7, B8, D1 and F5. Use this feature only if you know what you are doing! @@ -286,18 +286,18 @@ sane\-scsi(5), scanimage(1), xscanimage(1), xsane(1) None :-) At least none are currently known. .SH UNSUPPORTED DEVICES -The backend may be used with Epson scanners that are not yet listed +The backend may be used with Epson scanners that are not yet listed under the list of supported devices. A scanner that is not recognized -may default to the function level B3, which means that not all -functions that the scanner may be capable of are accessible. +may default to the function level B3, which means that not all +functions that the scanner may be capable of are accessible. If the scanner is not even recognized as an Epson scanner this is probably because the device name reported by the scanner is not in the correct format. Please send this information to the backend maintainer (email address is in the AUTHOR section of this man page or in the -AUTHORS file of the SANE distribution). +AUTHORS file of the SANE distribution). -The Perfection 600, Perfection 650, Perfection 660, Perfection 1250 and +The Perfection 600, Perfection 650, Perfection 660, Perfection 1250 and Perfection 1260 are not supported by this backend. .SH AUTHOR diff --git a/doc/sane-epson2.man b/doc/sane-epson2.man index 6d47eea..33acd78 100644 --- a/doc/sane-epson2.man +++ b/doc/sane-epson2.man @@ -13,11 +13,11 @@ include network access. .PP Because .B sane\-epson -and -.B sane\-epson2 +and +.B sane\-epson2 drivers support many of the same devices, if one driver gives you problems you may try disabling it to try the other. -This can be done by removing the driver name from the +This can be done by removing the driver name from the .I dll.conf or perhaps by commenting out the options in .I epson.conf @@ -94,23 +94,23 @@ V750 USB, IEEE-1394 and many more. The official list is on the Sane web site. .RE -For other scanners the software may or may not work. Please send mail to +For other scanners the software may or may not work. Please send mail to the sane-backend mailing list to report success with scanners not on -the list or problems with scanners that are listed. +the list or problems with scanners that are listed. .SH OPTIONS The options the backend supports can either be selected through command line options to programs like scanimage or through GUI elements in programs like xscanimage or xsane. -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d epson2 .RE Not all devices support all options. .TP .I Scan Mode -The -.I \-\-mode +The +.I \-\-mode switch selects the basic mode of operation of the scanner. Valid choices are Binary, Gray and Color. The Binary mode is black and white only, Gray will produce 256 levels of gray or more depending on the scanner @@ -135,7 +135,7 @@ are "None", "Halftone A (Hard Tone)", "Halftone B (Soft Tone)", "Halftone C (4x4 Net Screen)", "Dither D (8x4 Net Screen)", "Text Enhanced Technology", "Download pattern A", and "Download pattern B". -The +The .I \-\-dropout switch selects the so called dropout color. Valid options are None, Red, Green and Blue. The default is None. The dropout color is used for @@ -155,54 +155,54 @@ switch sets the sharpness of the image data. Valid options are integer values from \-2 to 2, with \-2 meaning "Defocus", \-1 "Defocus slightly", 0 "Normal", 1 "Sharpen slightly" and 2 "Sharpen". -The +The .I \-\-gamma\-correction switch controls the scanner's internal gamma correction. Valid options are "Default", "User defined", "High density printing" "Low density printing" and "High contrast printing". -The +The .I \-\-color\-correction switch controls the scanner's internal color correction function. Valid options are "No Correction", "Impact\-dot printers", "Thermal printers", "Ink\-jet printers" and "CRT monitors". The default is "CRT monitors". -The +The .I \-\-resolution switch selects the resolution for a scan. Some EPSON scanners will scan in any resolution between the lowest and highest possible value. The list reported by the scanner can be displayed using the "\-\-help \-d epson" parameters to scanimage. -The +The .I \-\-threshold switch selects the minimum brightness to get a white point. -The +The .I \-\-mirror option controls the way the image is scanned. By reading the image data from right to left the image is mirrored. Valid options are "yes" and "no". The default is "no". -The -.I \-\-auto\-area\-segmentation +The +.I \-\-auto\-area\-segmentation switch activates the automatic area segmentation for monochrome scans. The scanner will try to determine which areas are text and which contain images. The image areas will be halftoned, and the text will be improved. Valid options are "yes" and "no". The default is "yes". -The -.I \-\-red\-gamma\-table +The +.I \-\-red\-gamma\-table parameter can be used to download a user defined gamma table for the red channel. The valid options are the same as for \-\-gamma\-table. -The -.I \-\-green\-gamma\-table +The +.I \-\-green\-gamma\-table parameter can be used to download a user defined gamma table for the green channel. The valid options are the same as for \-\-gamma\-table. -The -.I \-\-blue\-gamma\-table +The +.I \-\-blue\-gamma\-table parameter can be used to download a user defined gamma table for the blue channel. The valid options are the same as for \-\-gamma\-table. @@ -216,13 +216,13 @@ The color correction coefficients will install color correction coefficients for the user defined color correction. Values are specified as integers in the range \-127..127. -The +The .I \-\-preview -option requests a preview scan. The frontend software automatically selects a low +option requests a preview scan. The frontend software automatically selects a low resolution. Valid options are "yes" and "no". The default is "no". The geometry options -.I \-l \-t \-x \-y +.I \-l \-t \-x \-y control the scan area: \-l sets the top left x coordinate, \-t the top left y coordinate, \-x selects the width and \-y the height of the scan area. All parameters are specified in millimeters. @@ -232,9 +232,9 @@ The option selects the scan source. Valid options depend on the installed options. The default is "Flatbed". -The +The .I \-\-auto\-eject -option will eject a page after scanning from the document feeder. +option will eject a page after scanning from the document feeder. The .I \-\-film\-type @@ -264,7 +264,7 @@ The option select the ADF mode (simplex/duplex). .SH CONFIGURATION FILE -The configuration file @CONFIGDIR@/epson2.conf specifies the device(s) that the +The configuration file @CONFIGDIR@/epson2.conf specifies the device(s) that the backend will use. Possible connection types are: .TP .I SCSI @@ -272,28 +272,28 @@ This is the default, and if nothing else is specified the backend software will open a given path as SCSI device. More information about valid syntax for SCSI devices can be found in sane\-scsi(5). .br -Usually SCSI scanners are configured with a line "scsi EPSON" in this file. In +Usually SCSI scanners are configured with a line "scsi EPSON" in this file. In some cases it may be necessary to only use the string "scsi" (e.g. for the GT-6500). .TP .I PIO \- Parallel Interface The parallel interface can be configured in two ways: An integer value starting at the beginning of a line will be interpreted as the IO address of the parallel -port. To make it clearer that a configured IO address is a parallel port the +port. To make it clearer that a configured IO address is a parallel port the port address can be preceded by the string "PIO". The PIO connection does not use a special device file in the /dev directory. The IO address can be specified in hex mode (prefixed with "0x"). .TP .I USB For USB scanners not automatically detect, their VENDOR and PRODUCT ID can -be specified manually in the config file. +be specified manually in the config file. More information about valid syntax for USB devices can be found in sane\-usb(5). .TP .I Network Network scanners can be auto-discovered if .I autodiscovery -is specified after +is specified after .I -net +net keyword. An IP address to connect to can also be used. .SH FILES .TP @@ -313,20 +313,20 @@ levels reduce verbosity. .TP .B SANE_DEBUG_EPSON2_SCSI If the library was compiled with debug support enabled, this -environment variable controls the SCSI related debug level for this backend. +environment variable controls the SCSI related debug level for this backend. Only a value of 2 is supported. .TP .B SANE_DEBUG_EPSON2_NET If the library was compiled with debug support enabled, this -environment variable controls the network related debug level for this -backend. E.g., a value of 128 requests all debug output to be printed. +environment variable controls the network related debug level for this +backend. E.g., a value of 128 requests all debug output to be printed. Smaller levels reduce verbosity. .TP .B SANE_EPSON2_CMD_LVL This allows one to override the function or command level that the backend uses to communicate with the scanner. The function level a scanner supports is determined during the initialization of the device. If -the backend does not recognize the function level reported by the +the backend does not recognize the function level reported by the scanner it will default to function level B3. Valid function levels are A1, A2, B1, B2, B3, B4, B5, B6, B7, B8, D1 and F5. Use this feature only if you know what you are doing! @@ -340,16 +340,16 @@ sane\-scsi(5), sane\-usb(5), scanimage(1), xscanimage(1), xsane(1) None :-) At least none are currently known. .SH UNSUPPORTED DEVICES -The backend may be used with Epson scanners that are not yet listed +The backend may be used with Epson scanners that are not yet listed under the list of supported devices. A scanner that is not recognized -may default to the function level B3, which means that not all -functions that the scanner may be capable of are accessible. +may default to the function level B3, which means that not all +functions that the scanner may be capable of are accessible. If the scanner is not even recognized as an Epson scanner this is probably because the device name reported by the scanner is not in the correct format. Please send this information to the backend maintainer (email address is in the AUTHOR section of this man page or in the -AUTHORS file of the SANE distribution). +AUTHORS file of the SANE distribution). .SH AUTHOR diff --git a/doc/sane-epsonds.man b/doc/sane-epsonds.man index 3324804..03bbbd2 100644 --- a/doc/sane-epsonds.man +++ b/doc/sane-epsonds.man @@ -8,15 +8,15 @@ The library implements a SANE (Scanner Access Now Easy) backend that provides access to Epson ESC/I-2 scanners. .PP -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d epsonds .RE Not all devices support all options. .TP .I Scan Mode -The -.I \-\-mode +The +.I \-\-mode switch selects the basic mode of operation of the scanner. Valid choices are Lineart, Gray and Color. The Lineart mode is black and white only, Gray will produce 256 levels of gray or more depending on the scanner @@ -33,7 +33,7 @@ allow one to select either 8 bits, 12 or 14 bits per color channel. For a color scan this means an effective color depth of 36 or 42 bits over all three channels. The valid choices depend on the scanner model. -The +The .I \-\-resolution switch selects the resolution for a scan. Some EPSON scanners will scan in any resolution between the lowest and highest possible value. The list @@ -41,7 +41,7 @@ reported by the scanner can be displayed using the "\-\-help \-d epson" parameters to scanimage. The geometry options -.I \-l \-t \-x \-y +.I \-l \-t \-x \-y control the scan area: \-l sets the top left x coordinate, \-t the top left y coordinate, \-x selects the width and \-y the height of the scan area. All parameters are specified in millimeters. @@ -60,20 +60,20 @@ The option select the ADF mode (simplex/duplex). .SH CONFIGURATION FILE -The configuration file @CONFIGDIR@/epsonds.conf specifies the device(s) that the +The configuration file @CONFIGDIR@/epsonds.conf specifies the device(s) that the backend will use. Possible connection types are: .TP .I USB For not automatically detected USB scanners, their VENDOR and PRODUCT ID can -be specified manually in the config file. +be specified manually in the config file. More information about valid syntax for USB devices can be found in sane\-usb(5). .TP .I Network (not yet supported) Network scanners can be auto-discovered if .I autodiscovery -is specified after +is specified after .I -net +net keyword. An IP address to connect to can also be used. .SH FILES .TP diff --git a/doc/sane-find-scanner.man b/doc/sane-find-scanner.man index da2d377..26c5258 100644 --- a/doc/sane-find-scanner.man +++ b/doc/sane-find-scanner.man @@ -4,12 +4,12 @@ sane\-find\-scanner \- find SCSI and USB scanners and their device files .SH SYNOPSIS .B sane\-find\-scanner -.RB [ \-h | \-? ] +.RB [ \-? | \-h | \-\-help ] .RB [ \-v ] .RB [ \-q ] .RB [ \-p ] .RB [ \-f ] -.RB [ \-F +.RB [ \-F .IR filename ] .RI [ devname ] @@ -19,15 +19,15 @@ is a command-line tool to find SCSI and USB scanners and determine their Unix device files. Its primary aim is to make sure that scanners can be detected by SANE backends. .PP -For +For .B SCSI -scanners, it checks the default generic SCSI device files (e.g., +scanners, it checks the default generic SCSI device files (e.g., .IR /dev/sg0 ) -and +and .IR /dev/scanner . The test is done by sending a SCSI inquiry command and looking for a device type of "scanner" or "processor" (some old HP scanners seem to send -"processor"). So +"processor"). So .B sane\-find\-scanner will find any SCSI scanner connected to those default device files even if it isn't supported by any SANE backend. @@ -42,12 +42,12 @@ and are tested. The files are opened and the vendor and device ids are determined, if the operating system supports this feature. Currently USB scanners are only found this way if they are supported by the Linux scanner module or the -FreeBSD or OpenBSD uscanner driver. After that test, +FreeBSD or OpenBSD uscanner driver. After that test, .B sane\-find\-scanner tries to scan for USB devices found by the USB library libusb (if available). There is no special USB class for scanners, so the heuristics used to distinguish scanners from other USB devices is not -perfect. +perfect. .B sane\-find\-scanner also tries to find out the type of USB chip used in the scanner. If detected, it will be printed after the vendor and product ids. @@ -55,20 +55,20 @@ it will be printed after the vendor and product ids. will even find USB scanners, that are not supported by any SANE backend. .PP .B sane\-find\-scanner -won't find most +won't find most parallel port scanners, or scanners connected to proprietary ports. Some .B parallel port scanners may be detected by -.B sane\-find\-scanner -p. +.B sane\-find\-scanner -p. At the time of writing this will only detect Mustek parallel port scanners. .SH OPTIONS .TP 8 -.B \-h, \-? +.B \-?, \-h, \-\-help Prints a short usage message. .TP 8 .B \-v -Verbose output. If used once, +Verbose output. If used once, .B sane\-find\-scanner shows every device name and the test result. If used twice, SCSI inquiry information and the USB device descriptors are also printed. @@ -81,7 +81,7 @@ Probe parallel port scanners. .TP 8 .B \-f Force opening all explicitly given devices as SCSI and USB devices. That's -useful if +useful if .B sane\-find\-scanner is wrong in determining the device type. .TP 8 @@ -128,7 +128,6 @@ SCSI support is available on Irix, EMX, Linux, Next, AIX, Solaris, FreeBSD, NetBSD, OpenBSD, and HP-UX. .SH BUGS -No support for most parallel port scanners yet. +No support for most parallel port scanners yet. .br Detection of USB chipsets is limited to a few chipsets. - diff --git a/doc/sane-fujitsu.man b/doc/sane-fujitsu.man index 6bd5f73..ccc3d89 100644 --- a/doc/sane-fujitsu.man +++ b/doc/sane-fujitsu.man @@ -5,18 +5,18 @@ sane\-fujitsu \- SANE backend for Fujitsu flatbed and ADF scanners .SH DESCRIPTION -The +The .B sane\-fujitsu library implements a SANE (Scanner Access Now Easy) backend which provides access to most Fujitsu flatbed and ADF scanners. -This document describes backend version 133, which shipped with SANE 1.0.26. +This document describes backend version 134, which shipped with SANE 1.0.28. .SH SUPPORTED HARDWARE -This version supports every known model which speaks the Fujitsu SCSI and -SCSI\-over\-USB protocols. Specifically, the SCSI M309x and M409x series, the +This version supports every known model which speaks the Fujitsu SCSI and +SCSI\-over\-USB protocols. Specifically, the SCSI M309x and M409x series, the SCSI fi\-series, most of the USB fi\-series, the USB ScanSnap S5xx/S15xx, and -the USB iX1xx/5xx series scanners are supported. Please see the list at +the USB iX1xx/5xx series scanners are supported. Please see the list at http://www.sane\-project.org/sane\-supported\-devices.html for details. This backend may support other Fujitsu scanners. The best @@ -40,7 +40,7 @@ ScanStation M3093E/DE/EX fi\-4110EOX/2 ScanPartner M3096EX fi\-4010CU SP\-Jr M3097E+/DE S300/S300M SP\-10/10C M3099A/EH/EX S1300/S1100 -SP\-15C/300C fi\-60F +SP\-15C/300C fi\-60F/65F SP\-600C/620C fi\-5015C SP\-2x/3x .fi @@ -51,13 +51,13 @@ SP\-600C/620C fi\-5015C .SH OPTIONS Effort has been made to expose all hardware options, including: .PP -source s +source s .RS Selects the source for the scan. Options may include "Flatbed", "ADF Front", "ADF Back", "ADF Duplex". .RE .PP -mode m +mode m .RS Selects the mode for the scan. Options may include "Lineart", "Halftone", "Gray", and "Color". @@ -65,13 +65,13 @@ may include "Lineart", "Halftone", "Gray", and "Color". .PP resolution, y\-resolution .RS -Controls scan resolution. Setting \-\-resolution also sets \-\-y\-resolution, +Controls scan resolution. Setting \-\-resolution also sets \-\-y\-resolution, though this behavior is overridden by some frontends. .RE .PP tl\-x, tl\-y, br\-x, br\-y .RS -Sets scan area upper left and lower right coordinates. These are renamed +Sets scan area upper left and lower right coordinates. These are renamed t, l, x, y by some frontends. .RE .PP @@ -89,19 +89,19 @@ group of endorser options. Additionally, several 'software' options are exposed by the backend. These are reimplementations of features provided natively by larger scanners, but running on the host computer. This enables smaller machines to have similar -capabilities. Please note that these features are somewhat simplistic, and -may not perform as well as the native implementations. Note also that these -features all require that the driver cache the entire image in memory. This +capabilities. Please note that these features are somewhat simplistic, and +may not perform as well as the native implementations. Note also that these +features all require that the driver cache the entire image in memory. This will almost certainly result in a reduction of scanning speed. -Use 'scanimage \-\-help' to get a list, but be aware that some options may -be settable only when another option has been set, and that advanced options +Use 'scanimage \-\-help' to get a list, but be aware that some options may +be settable only when another option has been set, and that advanced options may be hidden by some frontend programs. .PP .SH CONFIGURATION FILE The configuration file "fujitsu.conf" is used to tell the backend how to look for scanners, and provide options controlling the operation of the backend. -This file is read each time the frontend asks the backend for a list +This file is read each time the frontend asks the backend for a list of scanners, generally only when the frontend starts. If the configuration file is missing, the backend will be unable to locate any scanners. .PP @@ -109,8 +109,8 @@ Scanners can be specified in the configuration file in 4 ways: .PP "scsi FUJITSU" .RS -Requests backend to search all scsi busses in the system for a device -which reports itself to be a scanner made by 'FUJITSU'. +Requests backend to search all scsi busses in the system for a device +which reports itself to be a scanner made by 'FUJITSU'. .RE .PP "scsi /dev/sg0" (or other scsi device file) @@ -122,7 +122,7 @@ specify one. Probably should not be used with the other "scsi" line above. .PP "usb 0x04c5 0x1042" (or other vendor/product ids) .RS -Requests backend to search all usb busses in the system for a device +Requests backend to search all usb busses in the system for a device which uses that vendor and product id. The device will then be queried to determine if it is a Fujitsu scanner. .RE @@ -134,7 +134,7 @@ untested. .RE .PP The only configuration option supported is "buffer\-size=xxx", allowing you -to set the number of bytes in the data buffer to something other than the +to set the number of bytes in the data buffer to something other than the compiled\-in default, 65536 (64K). Some users report that their scanner will "hang" mid\-page, or fail to transmit the image if the buffer is not large enough. @@ -174,13 +174,13 @@ enables debugging output to stderr. Valid values are: Flatbed units may fail to scan at maximum area, particularly at high resolution. .PP -Any model that does not support VPD during inquiry will not function until +Any model that does not support VPD during inquiry will not function until an override is added to the backend. .PP CCITT Fax compression used by older scanners is not supported. .PP JPEG output is supported by the backend, but not by the SANE protocol, so is -disabled in this release. It can be enabled if you rebuild from source. +disabled in this release. It can be enabled if you rebuild from source. .SH CREDITS m3091 backend: Frederik Ramm @@ -234,4 +234,3 @@ sane\-epjitsu(5) .SH AUTHOR m. allan noah: - diff --git a/doc/sane-genesys.man b/doc/sane-genesys.man index cd00cc3..6540754 100644 --- a/doc/sane-genesys.man +++ b/doc/sane-genesys.man @@ -8,14 +8,14 @@ The library implements a SANE (Scanner Access Now Easy) backend that provides access to USB flatbed scanners based on the Genesys GL646, GL841, GL843, GL847 and GL124 chips. At present, the following scanners are known to work with this backend: -.PP +.PP .RS Canon LiDE 35/40/50/60/100/110/120/200/210/220/700 .br Hewlett-Packard HP2300C/HP2400/HP3670/HP3690/G4010/G4050 .br Medion MD5345/MD6228/MD6274 -.br +.br Panasonic KV-SS080 .br Plustek OpticBook 3600 @@ -29,11 +29,11 @@ Visioneer OneTouch 7100/Strobe XP100 (rev3)/XP200/XP300/Roadwarrior Xerox Travel Scanner 100, OneTouch 2400 .RE -.PP +.PP This is stable software for supported models. But if you test new or untested scanners, keep your hand at the scanner's plug and unplug it, if the head bumps at the end of the scan area. -.PP +.PP If you own a scanner other than the ones listed above that works with this backend, please let me know this by sending the scanner's exact model name and the USB vendor and device ids (e.g. from @@ -41,10 +41,10 @@ the USB vendor and device ids (e.g. from .I sane\-find\-scanner or syslog) to the sane\-devel mailing list. Even if the scanner's name is only slightly different from the models mentioned above, please let me know. -.PP +.PP If you own a scanner that isn't detected by the genesys backend but has a GL646, -GL841, GL843, GL847 or GL124 chipset, you can try to add it to the backend. -.PP +GL841, GL843, GL847 or GL124 chipset, you can try to add it to the backend. +.PP .SH "CALIBRATION" To give correct image quality, sheet fed scanners need to be calibrated using the calibration sheet sold with the scanner. To do calibration, you must insert this target @@ -135,26 +135,26 @@ userwith the calibration clear option. A value of 0 means cache is disabled. Additionally, several 'software' options are exposed by the backend. These are reimplementations of features provided natively by larger scanners, but running on the host computer. This enables smaller machines to have similar -capabilities. Please note that these features are somewhat simplistic, and -may not perform as well as the native implementations. Note also that these -features all require that the driver cache the entire image in memory. This +capabilities. Please note that these features are somewhat simplistic, and +may not perform as well as the native implementations. Note also that these +features all require that the driver cache the entire image in memory. This will almost certainly result in a reduction of scanning speed. .PP -.B \-\-swcrop +.B \-\-swcrop .RS - Requests the driver to detect the extremities of the paper within the larger -image, and crop the empty edges. + Requests the driver to detect the extremities of the paper within the larger +image, and crop the empty edges. .RE .PP -.B \-\-swdeskew +.B \-\-swdeskew .RS - Requests the driver to detect the rotation of the paper within the larger + Requests the driver to detect the rotation of the paper within the larger image, and counter the rotation. .RE .PP .B \-\-swdespeck \-\-despeck X .RS - Requests the driver to find and remove dots of X diameter or smaller from the + Requests the driver to find and remove dots of X diameter or smaller from the image, and fill the space with the average surrounding color. .RE .PP @@ -187,24 +187,24 @@ autodetected by statements which are already included into .IR genesys.conf . "vendor_id" and "product_id" are hexadecimal numbers that identify the -scanner. -.PP +scanner. +.PP .SH "FILES" -.TP +.TP .I @CONFIGDIR@/genesys.conf The backend configuration file (see also description of .B SANE_CONFIG_DIR below). -.TP +.TP .I @LIBDIR@/libsane\-genesys.a The static library implementing this backend. -.TP +.TP .I @LIBDIR@/libsane\-genesys.so The shared library implementing this backend (present on systems that support dynamic loading). .SH "ENVIRONMENT" -.TP +.TP .B SANE_CONFIG_DIR This environment variable specifies the list of directories that may contain the configuration file. Under UNIX, the directories are @@ -218,7 +218,7 @@ directories. For example, setting .B SANE_CONFIG_DIR to "/tmp/config:" would result in directories "tmp/config", ".", and "@CONFIGDIR@" being searched (in this order). -.TP +.TP .B SANE_DEBUG_GENESYS If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher debug levels @@ -229,29 +229,29 @@ care. This will print messages related to core genesys functions. .B SANE_DEBUG_GENESYS_LOW This environment variable controls the debug level for low level functions common to all genesys ASICs. -.TP +.TP .B SANE_DEBUG_GENESYS_GL646 This environment variable controls the debug level for the specific GL646 code part. -.TP +.TP .B SANE_DEBUG_GENESYS_GL841 This environment variable controls the debug level for the specific GL841 code part. -.TP +.TP .B SANE_DEBUG_GENESYS_GL843 This environment variable controls the debug level for the specific GL843 code part. -.TP +.TP .B SANE_DEBUG_GENESYS_GL847 This environment variable controls the debug level for the specific GL847 code part. -.TP +.TP .B SANE_DEBUG_GENESYS_GL124 This environment variable controls the debug level for the specific GL124 code part. -Example (full and highly verbose output for gl646): +Example (full and highly verbose output for gl646): .br export SANE_DEBUG_GENESYS=255 .br @@ -260,12 +260,12 @@ export SANE_DEBUG_GENESYS_LOW=255 export SANE_DEBUG_GENESYS_GL646=255 .SH CREDITS - + Jack McGill for donating several sheetfed and flatbed scanners, which made possible to add support for them in the genesys backend: .RS Hewlett-Packard HP3670 -.br +.br Visioneer Strobe XP100 (rev3)/XP200/XP300/Roadwarrior .br Canon LiDE 200 @@ -292,20 +292,20 @@ Luc Verhaegen for donating a Canoscan LiDE 120. .SH "SEE ALSO" .BR sane (7), .BR sane\-usb (5) -.br +.br .SH "AUTHOR" Oliver Rauch -.br +.br Henning Meier-Geinitz -.br +.br Gerhard Jaeger -.br +.br St\['e]phane Voltz -.br +.br Philipp Schmid -.br +.br Pierre Willenbrock .br Alexey Osipov for HP2400 final support @@ -321,4 +321,4 @@ This backend will be much slower if not using libusb\-1.0. So be sure that sane\ .SH "BUGS" For the LiDE 200, the scanned data at 4800 dpi is obtained "as is" from sensor. It seems the windows driver does some digital processing to improve it, which is not implemented in the backend. -.PP +.PP diff --git a/doc/sane-gphoto2.man b/doc/sane-gphoto2.man index ef8141f..3e2a046 100644 --- a/doc/sane-gphoto2.man +++ b/doc/sane-gphoto2.man @@ -6,7 +6,7 @@ sane\-gphoto2 \- SANE backend for gphoto2 supported cameras The .B sane\-gphoto2 library implements a SANE (Scanner Access Now Easy) backend that -provides access to the digital cameras supported by gphoto2. +provides access to the digital cameras supported by gphoto2. This backend has only been tested with a handful of cameras so far. Patches to support other models are welcome. .PP @@ -26,16 +26,16 @@ required since they are needed by the sane frontends, but can't be obtained through the gphoto2 interface. Valid ports and cameras can be obtained by "gphoto2 \-\-list\-cameras" and "gphoto2 \-\-list\-ports". .PP -The dumpinquiry line causes some information about the camera to +The dumpinquiry line causes some information about the camera to be printed. .PP Empty lines and lines starting with a hash mark (#) are ignored. A sample configuration file is shown below: .PP -The "topfolder" line specifies the "fixed" part of the file path. For -example, on the Kodak DC-240, files are stored in the directory +The "topfolder" line specifies the "fixed" part of the file path. For +example, on the Kodak DC-240, files are stored in the directory /DCIM/100DC240. The /DCIM portion is constant, but 100DC240 will -change and must be read from the camera. In this case, the +change and must be read from the camera. In this case, the line would read "topfolder=/DCIM" .PP Some cameras don't implement a file structure and store all pictures @@ -90,12 +90,12 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .TP .B SANE_DEBUG_GPHOTO2 If the library was compiled with debugging support enabled, this -environment variable controls the debug level for this backend. +environment variable controls the debug level for this backend. A value of 128 requests maximally copious debug output; smaller levels reduce verbosity. -.TP +.TP .B GP_DEBUG -Set to 1, 2, or 3, to enable various levels of debugging within the +Set to 1, 2, or 3, to enable various levels of debugging within the gphoto2 libraries. .SH "SEE ALSO" @@ -111,8 +111,7 @@ The manpage was largely copied from the dc210 manpage. Many, no doubt. .PP More general comments, suggestions, and inquiries about frontends -or SANE should go to the SANE Developers mailing list -(see http://www.sane\-project.org/mailing\-lists.html for details). +or SANE should go to the SANE Developers mailing list +(see http://www.sane\-project.org/mailing\-lists.html for details). You must be subscribed to the list, otherwise your mail won't be sent to the subscribers. - diff --git a/doc/sane-gt68xx.man b/doc/sane-gt68xx.man index e3d29af..2e6d3c5 100644 --- a/doc/sane-gt68xx.man +++ b/doc/sane-gt68xx.man @@ -8,7 +8,7 @@ The library implements a SANE (Scanner Access Now Easy) backend that provides access to USB flatbed scanners based on the Grandtech GT-6801 and GT-6816 chips. A list of supported scanners can be found on the gt68xx backend -homepage: +homepage: .IR http://www.meier\-geinitz.de/sane/gt68xx\-backend/ . .PP This is BETA software. Especially if you test new or untested scanners, keep @@ -24,7 +24,7 @@ the models already listed as supported, please let me know. .PP If you own a scanner that isn't detected by the gt68xx backend but has a GT-6801 or GT-6816 chipset, you can try to add it to the backend. Have a look at the -following web page: +following web page: .I http://www.meier\-geinitz.de/sane/gt68xx\-backend/adding.html .PP .SH LIBUSB ISSUES @@ -38,7 +38,7 @@ USB information looks at .SH FIRMWARE FILE You need a firmware file for your scanner. That's a small file containing software that will be uploaded to the scanner's memory. It's usually named -*.usb, e.g. +*.usb, e.g. .IR PS1fw.usb . It comes on the installation CD that was provided by the manufacturer, but it may be packaged together with the installation program in an .exe file. For @@ -64,9 +64,9 @@ autodetected by statements which are already included into .IR gt68xx.conf . "vendor_id" and "product_id" are hexadecimal numbers that identify the -scanner. +scanner. .PP -The +The .BR override , .BR firmware , .BR vendor , @@ -82,7 +82,7 @@ Option is used to override the default model parameters. That's necessary for some scanners that use the same vendor/product ids but are different. For these scanners there are already commented out override lines in the configuration -file. +file. .B override "mustek\-scanexpress\-1200\-ub\-plus" is necessary for the Mustek Scanexpress 1200 UB Plus, the Medion/Lifetec/Tevion LT 9452, and the Trust Compact Scan USB 19200. @@ -93,7 +93,7 @@ Medion/ Lifetec/ Tevion/ Cytron MD/LT 9385, the Medion/ Lifetec/ Tevion MD .B override "mustek\-bearpaw\-2400\-cu" is necessary for the Mustek BearPaw 2400 CU and the Fujitsu 1200CUS. The .B override -option must be the first one after the +option must be the first one after the .B usb line. .PP @@ -107,7 +107,7 @@ at a different path, use a .B firmware line. .PP -The +The .B vendor and .B model @@ -178,7 +178,7 @@ increase the verbosity of the output. If the debug level is set to 1 or higher, some debug options become available that are normally hidden. Handle them with care. -Example: +Example: export SANE_DEBUG_GT68XX=4 .SH "SEE ALSO" @@ -214,5 +214,5 @@ Support for buttons is missing. More detailed bug information is available at the gt68xx backend homepage .IR http://www.meier\-geinitz.de/sane/gt68xx\-backend/ . Please contact us if you find a bug or missing feature: -. Please send a debug log if your scanner isn't +. Please send a debug log if your scanner isn't detected correctly (see SANE_DEBUG_GT68XX above). diff --git a/doc/sane-hp.man b/doc/sane-hp.man index 4e7d35d..1aeaea8 100644 --- a/doc/sane-hp.man +++ b/doc/sane-hp.man @@ -39,7 +39,7 @@ PhotoSmart C5100A R029,R030,R032 SCSI .RE .PP Support for models 5100C/5200C connected to the parallel port requires -the ppSCSI driver available at +the ppSCSI driver available at .I http://cyberelk.net/tim/parport/ppscsi.html and .IR http://penguin-breeder.org/kernel/download/ . @@ -52,7 +52,7 @@ for more details. .PP The "hp" backend no longer supports OfficeJet multi-function peripherals. For these devices use the external "hpoj" backend in version 0.90 and later of -the "HP OfficeJet Linux driver", available at +the "HP OfficeJet Linux driver", available at .br .IR http://hpoj.sourceforge.net . @@ -66,7 +66,7 @@ by another one. See You can also watch the sane\-devel mailing list at .IR http://www.sane\-project.org/mailing\-lists.html . .PP -More details about the hp backend can be found on its homepage +More details about the hp backend can be found on its homepage .IR http://www.kirchgessner.net/sane.html . .PP .SH "DEVICE NAMES" @@ -104,7 +104,7 @@ and .BR sane\-usb (5) on details of what constitutes a valid device name. .PP -Options specified in front of the first line that contains a device name +Options specified in front of the first line that contains a device name are defaults for all devices. Options specified below a line that contains a device name apply just to the most recently mentioned device. .PP @@ -203,7 +203,7 @@ levels reduce verbosity. .TP .B SANE_HOME_HP Only used for OS/2 and along with use of HP PhotoSmart PhotoScanner. -Must be set to the directory where the directory .sane is located. +Must be set to the directory where the directory .sane is located. Is used to save and read the calibration file. .TP .B SANE_HP_KEEPOPEN_SCSI @@ -237,7 +237,7 @@ and 24 bit color. .B Automatic Document Feeder (ADF) For use of the ADF with xscanimage(1), first place paper in the ADF and then change option scan source to 'ADF'. Press 'change document' -to load a sheet. Then press 'scan' to start a scan. +to load a sheet. Then press 'scan' to start a scan. Maybe it is sufficient to press 'scan' without 'change document' for repeated scans. The use of the preview window is not recommended when working with the ADF. diff --git a/doc/sane-hp3500.man b/doc/sane-hp3500.man index 2785b0e..5192983 100644 --- a/doc/sane-hp3500.man +++ b/doc/sane-hp3500.man @@ -37,9 +37,9 @@ support dynamic loading). .B SANE_DEBUG_HP3500 If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. -Example: +Example: export SANE_DEBUG_HP3500=4 .SH "SEE ALSO" @@ -50,4 +50,3 @@ export SANE_DEBUG_HP3500=4 .SH AUTHOR Troy Rollo - diff --git a/doc/sane-hp3900.man b/doc/sane-hp3900.man index ab0a100..b623ee5 100644 --- a/doc/sane-hp3900.man +++ b/doc/sane-hp3900.man @@ -26,7 +26,7 @@ BenQ 5550 RTS8823L-01E * .ft R .RE .PP -More details can be found on the hp3900 backend homepage +More details can be found on the hp3900 backend homepage .IR http://sourceforge.net/projects/hp3900\-series/ . .PP This is ALPHA software. Keep your hand at the scanner's plug and unplug it, if @@ -88,9 +88,9 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .B SANE_DEBUG_HP3900 If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. -Example: +Example: export SANE_DEBUG_HP3900=4 .SH "SEE ALSO" @@ -107,4 +107,3 @@ Jonathan Bravo Lopez Scanning is only tested with Linux/ix86/gcc. Be careful when testing on other operating systems and especially on big-endian platforms. The scanner may get wrong data. - diff --git a/doc/sane-hp4200.man b/doc/sane-hp4200.man index e392d85..cbb8c5e 100644 --- a/doc/sane-hp4200.man +++ b/doc/sane-hp4200.man @@ -16,11 +16,11 @@ ScanJet 4200 Cxi ScanJet 4200 Cse .RE .PP -More details can be found on the hp4200 backend homepage +More details can be found on the hp4200 backend homepage .IR http://hp4200\-backend.sourceforge.net/ . .PP This is BETA software. Keep your hand at the scanner's plug and unplug it, if -the head bumps at the end of the scan area. +the head bumps at the end of the scan area. .PP If you own a scanner other than the ones listed above that works with this backend, please let us know this by sending the scanner's exact model name and @@ -79,9 +79,9 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .B SANE_DEBUG_HP4200 If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. -Example: +Example: export SANE_DEBUG_HP4200=4 .SH "SEE ALSO" @@ -102,4 +102,4 @@ Only 8 bit color mode works. Scanning is slow due to backtracking. .PP Send bug reports to the sane\-devel mailing list: -sane\-devel@lists.alioth.debian.org. +sane\-devel@alioth-lists.debian.net. diff --git a/doc/sane-hp5400.man b/doc/sane-hp5400.man index d789215..23c40d8 100644 --- a/doc/sane-hp5400.man +++ b/doc/sane-hp5400.man @@ -16,7 +16,7 @@ ScanJet 5470C ScanJet 5490C .RE .PP -More details can be found on the hp5400 backend homepage +More details can be found on the hp5400 backend homepage .IR http://hp5400backend.sourceforge.net/ . .PP This is ALPHA software. Keep your hand at the scanner's plug and unplug it, if @@ -79,9 +79,9 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .B SANE_DEBUG_HP5400 If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. -Example: +Example: export SANE_DEBUG_HP5400=4 .SH "SEE ALSO" @@ -99,4 +99,3 @@ Martijn van Oosterhout , Thomas Soumarmon Scanning is only tested with Linux/ix86/gcc. Be careful when testing on other operating systems and especially on big-endian platforms. The scanner may get wrong data. - diff --git a/doc/sane-hp5590.man b/doc/sane-hp5590.man index 2ccfcc5..5330800 100644 --- a/doc/sane-hp5590.man +++ b/doc/sane-hp5590.man @@ -1,69 +1,320 @@ -.TH sane\-hp5590 5 "13 Jul 2008" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" -.IX sane\-hp5590 +.\" Automatically generated by Pandoc 2.7.2 +.\" +.TH "sane-hp5590" "5" "13 Jul 2008" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" +.hy .SH NAME -sane\-hp5590 \- SANE backend for -Hewlett-Packard 4500C/4570C/5500C/5550C/5590/7650 Workgroup/Document scanners +.PP +sane-hp5590 - SANE backend for Hewlett-Packard +4500C/4570C/5500C/5550C/5590/7650 Workgroup/Document scanners .SH DESCRIPTION -The -.B sane\-hp5590 -library implements a SANE (Scanner Access Now Easy) backend that provides -access to the following Hewlett-Packard Workgroup/Document scanners: .PP -.RS +The \f[B]sane-hp5590\f[R] library implements a SANE (Scanner Access Now +Easy) backend that provides access to the following Hewlett-Packard +Workgroup/Document scanners: +.IP \[bu] 2 ScanJet 4500C -.br +.IP \[bu] 2 ScanJet 4570C -.br +.IP \[bu] 2 ScanJet 5500C -.br +.IP \[bu] 2 ScanJet 5550C -.br +.IP \[bu] 2 ScanJet 5590 -.br +.IP \[bu] 2 ScanJet 7650 +.PP +If you own a scanner other than the ones listed above that works with +this backend, please let us know this by sending the scanner\[cq]s exact +model name and the USB vendor and device ids (e.g.\ from +\f[I]/sys/bus/usb/devices\f[R], \f[I]sane-find-scanner\f[R] or syslog) +to us. +Even if the scanner\[cq]s name is only slightly different from the +models mentioned above, please let us know. +.SH OPTIONS +.PP +The options the backend supports can either be selected through command +line options to programs like scanimage or through GUI elements in +\f[I]xscanimage\f[R] or \f[I]xsane\f[R]. +Valid command line options and their syntax can be listed by using: +.IP +.nf +\f[C] +scanimage --help -d hp5590:interface:device +\f[R] +.fi +.PP +where \f[I]interface\f[R] and \f[I]device\f[R] specify the device in +question, as in the configuration file. +Add \f[I]--all-options\f[R] to also list the hardware read-out options. +The -d parameter and its argument can be omitted to obtain information +on the first scanner identified. +.PP +Use the command: +.IP +.nf +\f[C] +scanimage -L +\f[R] +.fi +.PP +to list all devices recognized by your SANE installation. +.SH DEVICE SPECIFIC OPTIONS +.TP +.B -l \f[I]n\f[R] +Top-left X position of scan area in \f[B]mm\f[R]. +Allowed range: 0 .. +215.889. +.TP +.B -t \f[I]n\f[R] +Top-left Y position of scan area in \f[B]mm\f[R]. +Allowed range: 0 .. +297.699. +.TP +.B -x \f[I]n\f[R] +X width of scan-area in \f[B]mm\f[R]. +Allowed range: 0 .. +215.889. +.TP +.B -y \f[I]n\f[R] +Y height of scan-area in \f[B]mm\f[R]. +Allowed range: 0 .. +297.699. +.PP +By default, the maximum size will be scanned. +.TP +.B --mode \f[I]mode\f[R] +Select color mode. +\f[I]mode\f[R] must be one of: \[lq]Color\[rq], \[lq]Color (48 +bits)\[rq], \[lq]Gray\[rq], \[lq]Lineart\[rq]. +.RS +.IP \[bu] 2 +\[lq]Color\[rq] - Scanning is done with 3 * 8 bit RGB color values per +pixel. +.IP \[bu] 2 +\[lq]Color (48 bits)\[rq] - Scanning is done with 3 * 16 bit RGB color +values per pixel. +.IP \[bu] 2 +\[lq]Gray\[rq] - Scanning is done with 1 * 8 bit gray value per pixel. +.IP \[bu] 2 +\[lq]Lineart\[rq] - Scanning is done with 1 bit black and white value +per pixel. +.RE +.TP +.B --source \f[I]source\f[R] +Select the source for scanning. +\f[I]source\f[R] must be one of: \[lq]Flatbed\[rq], \[lq]ADF\[rq], +\[lq]ADF Duplex\[rq], \[lq]TMA Slides\[rq], \[lq]TMA Negatives\[rq]. +.RS +.IP \[bu] 2 +\[lq]Flatbed\[rq] - Scan document on the flat document glass. +.IP \[bu] 2 +\[lq]ADF\[rq] - Scan frontsides of documents with automatic document +feeder. +.IP \[bu] 2 +\[lq]ADF Duplex\[rq] - Scan front- and backsides of documents with +automatic document feeder. +Note, the backside images must be rotated in a separate post process +step. +.IP \[bu] 2 +\[lq]TMA Slides\[rq] - Slide scanning with transparent media adapter. +(Not fully supported by hp5590 backend). +.IP \[bu] 2 +\[lq]TMA Negatives\[rq] - Negative film scanning with transparent media +adapter. +(Not fully supported by hp5590 backend). +.RE +.TP +.B --resolution \f[I]res\f[R] +Set the resolution of the scanned image in \f[B]dpi\f[R]. +\f[I]res\f[R] must be one of: 100, 200, 300, 600, 1200, 2400. +.PP +Default settings: Lineart, Flatbed, 100dpi. +.TP +.B --extend-lamp-timeout[=yes|no] +Extend lamp timeout period. +no = 15 minutes, yes = 1 hour. +(Default: no) +.TP +.B --wait-for-button[=yes|no] +Wait for button press before scanning starts. +(Default: no) +.TP +.B --preview[=yes|no] +Request a preview-quality scan. +(Default: no) +.TP +.B --hide-eop-pixel[=yes|no] +Hide end-of-page indicator pixels and overwrite with color of next +neighbor pixels. +(Default: yes) +.PD 0 +.P +.PD +The scanner uses the last pixel in every scan line for storing the +end-of-page status. +This is needed to detect the end of the document sheet when the +automatic document feeder (ADF) is used. +Unfortunately the end-of-page pixels are also generated in flatbed +scans. +It is recommended to hide these pixels. +.TP +.B --trailing-lines-mode \f[I]mode\f[R] +Filling mode of trailing lines after end of page when automatic document +feeder (ADF) is used. +\f[I]mode\f[R] must be one of: \[lq]last\[rq], \[lq]raw\[rq], +\[lq]raster\[rq], \[lq]white\[rq], \[lq]black\[rq], \[lq]color\[rq]. +(Default: \[lq]last\[rq]) +.RS +.IP \[bu] 2 +\[lq]last\[rq] = repeat the last scan line (recommended), +.IP \[bu] 2 +\[lq]raw\[rq] = read raw scan data (not recommended), +.IP \[bu] 2 +\[lq]raster\[rq] = generate black and white pixel pattern, +.IP \[bu] 2 +\[lq]white\[rq] = white pixels, +.IP \[bu] 2 +\[lq]black\[rq] = black pixels, +.IP \[bu] 2 +\[lq]color\[rq] = RGB or gray colored pixels (see next option). .RE +.TP +.B --trailing-lines-color \f[I]n\f[R] +Set color value for filling trailing scan lines in trailing lines mode +\[lq]color\[rq] (see previous option). +(Default color: violet) +.PD 0 +.P +.PD +The RGB color value must be specified and calculated as 65536 * r + 256 +* g + b, with r, g, b being values in the range of 0 .. +255. +.SH READ OUT OPTIONS .PP -If you own a scanner other than the ones listed above that works with this -backend, please let us know this by sending the scanner's exact model name and -the USB vendor and device ids (e.g. from -.IR /proc/bus/usb/devices , -.I sane\-find\-scanner -or syslog) to us. Even if the scanner's name is only slightly different from -the models mentioned above, please let us know. -.SH CONFIGURATION -None required. +The following options allow reading out the button state, counter value, +color setting, and the state of document in ADF. +This can be used to programmatically control corresponding scanner +options like switching between \f[I]flatbed\f[R] and \f[I]ADF\f[R] mode, +or triggering prost processing tasks after scanning. +.TP +.B --button-pressed +Get the id of the last button pressed. +Id is one of \[lq]none\[rq], \[lq]power\[rq], \[lq]scan\[rq], +\[lq]collect\[rq], \[lq]file\[rq], \[lq]email\[rq], \[lq]copy\[rq], +\[lq]up\[rq], \[lq]down\[rq], \[lq]mode\[rq], \[lq]cancel\[rq]. +.PD 0 +.P +.PD +The scanner stores the id of the last button pressed until it is read. +After read out, the state is reset and subsequent readings will return +\[lq]none\[rq]. +.TP +.B --color-led +Get the state of the color LED indicators. +The state is either \[lq]color\[rq] or \[lq]black_white\[rq]. +.TP +.B --counter-value +Get the counter value as shown on LCD. +The value is in the range of 1 .. +99. +.TP +.B --doc-in-adf +Get the state of the document-available indicator of the automatic +document feeder (ADF). +The state is either \[lq]yes\[rq] or \[lq]no\[rq]. +.SH HINTS FOR USERS OF SCANBD +.PP +\f[I]Scanbd\f[R] is a scanner button daemon, which can read scanner +buttons and trigger scan actions. +.PP +Do not use the old \f[I]scanbuttond\f[R] interface with hp5590. +It is outdated and shall not be used any more. +Scanbd\[cq]s regular interface is fully supported by the current version +of the \f[I]hp5590\f[R] backend. +.PP +This example shows a minimum configuration file and the corresponding +script file for scanbd to be included in \f[I]scanbd.conf\f[R]. +.IP \[bu] 2 +\f[B]hp5590.conf\f[R] +.IP +.nf +\f[C] +device hp5590 { + # Device matching + filter = \[dq]\[ha]hp5590.*\[dq] + desc = \[dq]HP5590 Scanner Family\[dq] + + # Read out counter value and store in environment variable. + function function_lcd_counter { + filter = \[dq]\[ha]counter-value.*\[dq] + desc = \[dq]hp5590: LCD counter\[dq] + env = \[dq]SCANBD_FUNCTION_LCD_COUNTER\[dq] + } + + # Run scan script when button is pressed. + action do-scan { + filter = \[dq]\[ha]button-pressed.*\[dq] + desc = \[dq]hp5590: Scan button pressed\[dq] + script = \[dq]scan_action.script\[dq] + string-trigger { + from-value = \[dq]none\[dq] + to-value = \[dq]scan\[dq] + } + } +} +\f[R] +.fi +.IP \[bu] 2 +\f[B]scan_action.script\f[R] +.IP +.nf +\f[C] +#!/bin/bash +echo device = $SCANBD_DEVICE +echo action = $SCANBD_ACTION +echo counter = $SCANBD_FUNCTION_LCD_COUNTER +scanfile=\[dq]$HOME/tmp/scans/scan-$(date +%s).pnm\[dq] +case $SCANBD_ACTION in +do-scan) + scanimage -d \[dq]$SCANBD_DEVICE\[dq] > \[dq]$scanfile\[dq] + ;; +*) + echo Warning: Unknown scanbd action: \[dq]$SCANBD_ACTION\[dq] + ;; +esac +\f[R] +.fi .SH FILES .TP -.I @LIBDIR@/libsane\-hp5590.a +.B \f[I]\[at]LIBDIR\[at]/libsane-hp5590.a\f[R] The static library implementing this backend. .TP -.I @LIBDIR@/libsane\-hp5590.so +.B \f[I]\[at]LIBDIR\[at]/libsane-hp5590.so\f[R] The shared library implementing this backend (present on systems that support dynamic loading). .SH ENVIRONMENT +.PP +If the library was compiled with debug support enabled, this environment +variable controls the debug level for this backend. +.PP +\f[B]SANE_DEBUG_HP5590\f[R] +.PP +Higher debug levels increase the verbosity of the output: +.IP +.nf +\f[C] +10 - generic processing +20 - verbose backend messages +40 - HP5590 high-level commands +50 - HP5590 low-level (USB-in-USB) commands +\f[R] +.fi .TP -.B SANE_DEBUG_HP5590 -If the library was compiled with debug support enabled, this -environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. See used levels below. -.P -.RS -Level 10 - generic processing -.br -Level 20 - verbose backend messages -.br -Level 40 - HP5590 high-level commands -.br -Level 50 - HP5590 low-level (USB-in-USB) commands - -.P -Example: - +.B Example: export SANE_DEBUG_HP5590=50 - -.SH "SEE ALSO" -.BR sane (7), -.BR sane\-usb (5), - -.SH AUTHOR -Ilia Sotnikov +.SH SEE ALSO +.PP +\f[B]sane\f[R](7), \f[B]sane-usb\f[R](5) +.SH AUTHORS +Ilia Sotnikov . diff --git a/doc/sane-hs2p.man b/doc/sane-hs2p.man index b0df57d..9757eff 100644 --- a/doc/sane-hs2p.man +++ b/doc/sane-hs2p.man @@ -25,12 +25,12 @@ Where .I special is either the path-name for the special device that corresponds to a SCSI scanner. The program -.I sane\-find\-scanner +.I sane\-find\-scanner helps to find out the correct device. Under Linux, such a device name could be .I /dev/sg0 or .IR /dev/sga , -for example. See +for example. See .BR sane\-scsi (5) for details. @@ -39,7 +39,7 @@ The contents of the .I hs2p.conf file is a list of device names that correspond to SCSI scanners. Empty lines and lines starting with a hash mark (#) are -ignored. See +ignored. See .BR sane\-scsi (5) on details of what constitutes a valid device name. @@ -84,29 +84,29 @@ from the flatbed or ADF (either simplex or duplex) is supported. Lineart, halftone, 4-bit gray, and 8-bit gray are supported. Pre-set gamma tables and halftone patterns are supported, as well as brightness, threshold, contrast. Also supported is scan wait mode, binary and gray filtering, negative scanning, -and absolute or relative white setting. Printing with the optional endorser +and absolute or relative white setting. Printing with the optional endorser also is supported. .SH PLANNED FUNCTIONALITY -This scanner can scan from the ADF in continuous simplex mode. +This scanner can scan from the ADF in continuous simplex mode. Surprisingly, many scanners scan an entire document from the ADF into memory before ejecting the sheet. Thus if the document is too -long, the scanner cannot hold the entire image data in memory. -But if the scanner would send its image data when its memory got full, -and then read the next buffer's worth of data, continuous scanning -could be achieved. +long, the scanner cannot hold the entire image data in memory. +But if the scanner would send its image data when its memory got full, +and then read the next buffer's worth of data, continuous scanning +could be achieved. .SH MISSING FUNCTIONALITY The SCSI commands for uploading (2AH) or downloading (28H) -custom halftone patterns (02H) and gamma vectors (03H) should work, -but require implementing the SANE Option-Value code to allow the -user to create the tables to be uploaded to the scanner. No support -for Maintenance Data (80H) is planned as this functionality is more -suited to a stand-alone utility to be used by a technician when -replacing the lamp or ADF unit. Nor is support for reading or changing +custom halftone patterns (02H) and gamma vectors (03H) should work, +but require implementing the SANE Option-Value code to allow the +user to create the tables to be uploaded to the scanner. No support +for Maintenance Data (80H) is planned as this functionality is more +suited to a stand-alone utility to be used by a technician when +replacing the lamp or ADF unit. Nor is support for reading or changing IPU (93H) parameters and adjustments planned, since my IS450 lacks -such a unit. The 31-byte Auto Photo/Letter struct and 21-byte Dynamic -threshold struct are documented in the hs2p-scsi.h file should someone +such a unit. The 31-byte Auto Photo/Letter struct and 21-byte Dynamic +threshold struct are documented in the hs2p-scsi.h file should someone wish to use their IPU for image data processing. .SH "SEE ALSO" diff --git a/doc/sane-ibm.man b/doc/sane-ibm.man index 50138d7..0b5013c 100644 --- a/doc/sane-ibm.man +++ b/doc/sane-ibm.man @@ -25,12 +25,12 @@ Where .I special is either the path-name for the special device that corresponds to a SCSI scanner. The program -.I sane\-find\-scanner +.I sane\-find\-scanner helps to find out the correct device. Under Linux, such a device name could be .I /dev/sg0 or .IR /dev/sga , -for example. See +for example. See .BR sane\-scsi (5) for details. @@ -39,7 +39,7 @@ The contents of the .I ibm.conf file is a list of device names that correspond to SCSI scanners. Empty lines and lines starting with a hash mark (#) are -ignored. See +ignored. See .BR sane\-scsi (5) on details of what constitutes a valid device name. @@ -75,7 +75,7 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .B SANE_DEBUG_IBM If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. .SH "SEE ALSO" .BR sane (7), diff --git a/doc/sane-kodak.man b/doc/sane-kodak.man index 2566f3d..61ea88e 100644 --- a/doc/sane-kodak.man +++ b/doc/sane-kodak.man @@ -5,7 +5,7 @@ sane\-kodak \- SANE backend for big Kodak flatbed and ADF scanners .SH DESCRIPTION -The +The .B sane\-kodak library implements a SANE (Scanner Access Now Easy) backend which provides access to large Kodak flatbed and ADF scanners. @@ -13,44 +13,44 @@ provides access to large Kodak flatbed and ADF scanners. This document describes backend version 7, which shipped with SANE 1.0.21. .SH SUPPORTED HARDWARE -This version should support models which speak the Kodak SCSI and Firewire -protocols. The i1860 was used to develop the backend, but other models may -work with only minimal modifications. Please see the list at +This version should support models which speak the Kodak SCSI and Firewire +protocols. The i1860 was used to develop the backend, but other models may +work with only minimal modifications. Please see the list at http://www.sane\-project.org/sane\-supported\-devices.html for an updated list. -If you have a machine not on that list, or reported as 'untested': the best way -to determine level of support is to test the scanner directly, or to collect a -trace of the windows driver in action. Please contact the author for help or +If you have a machine not on that list, or reported as 'untested': the best way +to determine level of support is to test the scanner directly, or to collect a +trace of the windows driver in action. Please contact the author for help or with test results. .SH UNSUPPORTED HARDWARE -Most of the recent Kodak consumer or workgroup level machines are based on -other chipsets and are not supported by this backend. Some of these scanners +Most of the recent Kodak consumer or workgroup level machines are based on +other chipsets and are not supported by this backend. Some of these scanners may be supported by another backend. .SH OPTIONS Effort has been made to expose the basic hardware options, including: .PP -source s +source s .RS Selects the source for the scan. Options may include "Flatbed", "ADF Front", "ADF Back", "ADF Duplex". .RE .PP -mode m +mode m .RS Selects the mode for the scan. Options may include "Lineart", "Halftone", "Gray", and "Color". .RE .PP -resolution +resolution .RS Controls scan resolution. Available choices may be limited by mode. .RE .PP tl\-x, tl\-y, br\-x, br\-y .RS -Sets scan area upper left and lower right coordinates. These are renamed +Sets scan area upper left and lower right coordinates. These are renamed t, l, x, y by some frontends. .RE .PP @@ -61,14 +61,14 @@ coordinates when using ADF and to detect double feed errors. .RE .PP Other options will be available based on the capabilities of the scanner. -Use 'scanimage \-\-help' to get a list, but be aware that some options may -be settable only when another option has been set, and that advanced options +Use 'scanimage \-\-help' to get a list, but be aware that some options may +be settable only when another option has been set, and that advanced options may be hidden by some frontend programs. .PP .SH CONFIGURATION FILE The configuration file "kodak.conf" is used to tell the backend how to look for scanners, and provide options controlling the operation of the backend. -This file is read each time the frontend asks the backend for a list +This file is read each time the frontend asks the backend for a list of scanners, generally only when the frontend starts. If the configuration file is missing, the backend will use a set of compiled defaults, which are identical to the default configuration file shipped with SANE. @@ -77,8 +77,8 @@ Scanners can be specified in the configuration file in 2 ways: .PP "scsi KODAK" .RS -Requests backend to search all scsi busses in the system for a device -which reports itself to be a scanner made by 'KODAK'. +Requests backend to search all scsi busses in the system for a device +which reports itself to be a scanner made by 'KODAK'. .RE .PP "scsi /dev/sg0" (or other scsi device file) @@ -89,7 +89,7 @@ specify one. Probably should not be used with the other "scsi" line above. .RE .PP The only configuration option supported is "buffer\-size=xxx", allowing you -to set the number of bytes in the data buffer to something other than the +to set the number of bytes in the data buffer to something other than the compiled\-in default, 32768 (32K). Some users report that their scanner will "hang" mid\-page, or fail to transmit the image if the buffer is not large enough. @@ -124,7 +124,7 @@ enables debugging output to stderr. Valid values are: .RE .SH KNOWN ISSUES -Most hardware options are either not supported or not exposed for control by +Most hardware options are either not supported or not exposed for control by the user, including: multifeed detection, image compression, autocropping, endorser, iThresholding, multi\-stream, etc. .PP @@ -133,7 +133,7 @@ endorser, iThresholding, multi\-stream, etc. The various authors of the sane\-fujitsu backend provided useful code. .br Kodak provided access to hardware, documentation and personnel. - + .SH "SEE ALSO" sane(7), sane\-scsi(5) diff --git a/doc/sane-kodakaio.man b/doc/sane-kodakaio.man index 40310ed..664a418 100644 --- a/doc/sane-kodakaio.man +++ b/doc/sane-kodakaio.man @@ -5,7 +5,7 @@ sane\-kodakaio \- SANE backend for Kodak aio printer / scanners .SH DESCRIPTION -The +The .B sane\-kodakaio library implements a SANE (Scanner Access Now Easy) backend which provides access to Kodak aio printer / scanners, like the ESP and Hero series. @@ -15,24 +15,24 @@ incorporation in sane-backends. .SH SUPPORTED HARDWARE This version should support models of the Kodak ESP and Hero series, and possibly some -Advent AiO scanners. The ESP 5250 and Hero 9.1 were used to develop the backend, +Advent AiO scanners. The ESP 5250 and Hero 9.1 were used to develop the backend, but other models may work. Please see the desc file. -If you have a model not on that list, or reported as 'untested': the best way +If you have a model not on that list, or reported as 'untested': the best way to determine level of support is to test the scanner directly. .SH CONFIGURATION FILE The configuration file "kodakaio.conf" is used to tell the backend how to look for scanners, and provide options controlling the operation of the backend. -This file is read each time the frontend asks the backend for a list +This file is read each time the frontend asks the backend for a list of scanners, generally only when the frontend starts. .SH ENVIRONMENT The backend uses a single environment variable, SANE_DEBUG_KODAKAIO, which -enables debugging output to stderr. +enables debugging output to stderr. .SH KNOWN ISSUES -Most hardware options are either not supported or not exposed for control by +Most hardware options are either not supported or not exposed for control by the user, including: multifeed detection, image compression etc. .PP diff --git a/doc/sane-kvs1025.man b/doc/sane-kvs1025.man index 23dcd50..23a67f3 100644 --- a/doc/sane-kvs1025.man +++ b/doc/sane-kvs1025.man @@ -5,7 +5,7 @@ sane\-kvs1025 \- SANE backend for Panasonic KV-S102xC USB ADF scanners. .SH DESCRIPTION -The +The .B sane\-kvs1025 library implements a SANE (Scanner Access Now Easy) backend which provides access to the Panasonic KV-S1020C/1025C and KV-S1045C scanners. @@ -28,4 +28,3 @@ sane(7), sane\-usb(5) .SH AUTHOR m. allan noah: - diff --git a/doc/sane-kvs20xx.man b/doc/sane-kvs20xx.man index 8cb8b9c..bd3ecc2 100644 --- a/doc/sane-kvs20xx.man +++ b/doc/sane-kvs20xx.man @@ -5,7 +5,7 @@ sane\-kvs20xx \- SANE backend for Panasonic KV-S20xxC USB/SCSI ADF scanners. .SH DESCRIPTION -The +The .B sane\-kvs20xx library implements a SANE (Scanner Access Now Easy) backend which provides access to the Panasonic KV-S202xC and KV-S204xC scanners. @@ -26,4 +26,3 @@ sane(7), sane\-usb(5), sane\-scsi(5) .SH AUTHOR m. allan noah: - diff --git a/doc/sane-kvs40xx.man b/doc/sane-kvs40xx.man index f1aecbc..5a53853 100644 --- a/doc/sane-kvs40xx.man +++ b/doc/sane-kvs40xx.man @@ -5,7 +5,7 @@ sane\-kvs40xx \- SANE backend for Panasonic KV-S40xxC USB/SCSI ADF scanners. .SH DESCRIPTION -The +The .B sane\-kvs40xx library implements a SANE (Scanner Access Now Easy) backend which provides access to the Panasonic KV-S40xxC and KV-S70xxC scanners. @@ -28,4 +28,3 @@ sane(7), sane\-usb(5), sane\-scsi(5) .SH AUTHOR m. allan noah: - diff --git a/doc/sane-leo.man b/doc/sane-leo.man index a346403..f0d9266 100644 --- a/doc/sane-leo.man +++ b/doc/sane-leo.man @@ -32,7 +32,7 @@ elements in xscanimage or xsane. If you have any strange behavior, please report to the backend maintainer or to the SANE mailing list. -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d leo .RE @@ -42,7 +42,7 @@ scanimage \-\-help \-d leo .TP .B \-\-mode -selects the basic mode of operation of the scanner valid choices are +selects the basic mode of operation of the scanner valid choices are .I Black & White , .I Grayscale @@ -62,7 +62,7 @@ between 1 and 300, in increments of 1. .B Geometry options .TP -.B \-l \-t \-x \-y +.B \-l \-t \-x \-y control the scan area: \-l sets the top left x coordinate, \-t the top left y coordinate, \-x selects the width and \-y the height of the scan area. All parameters are specified in millimeters by default. @@ -76,24 +76,24 @@ area. All parameters are specified in millimeters by default. (grayscale and color mode only) allows the user to specify a gamma table (see the next 3 parameters). -.TP -.B \-\-red\-gamma\-table +.TP +.B \-\-red\-gamma\-table (color mode only) can be used to download a user defined gamma table for the red channel. The table must be 256 bytes long. -.TP -.B \-\-green\-gamma\-table +.TP +.B \-\-green\-gamma\-table (color mode only) can be used to download a user defined gamma table for the green channel. The table must be 256 bytes long. .TP -.B \-\-blue\-gamma\-table +.B \-\-blue\-gamma\-table (color mode only) can be used to download a user defined gamma table for the blue channel. The table must be 256 bytes long. .TP .B \-\-halftone -(Black & White only) select the halftone mask to use. Possible values are +(Black & White only) select the halftone mask to use. Possible values are .I Diamond , .I 8x8 Coarse Fatting @@ -104,7 +104,7 @@ for the blue channel. The table must be 256 bytes long. and .I 8x8 Vertical Line -.TP +.TP .B \-\-preview requests a preview scan. The resolution used for that scan is 28 dpi and the scan area is the maximum allowed. The scan mode is user diff --git a/doc/sane-lexmark.man b/doc/sane-lexmark.man index 30bba87..06e3359 100644 --- a/doc/sane-lexmark.man +++ b/doc/sane-lexmark.man @@ -9,13 +9,13 @@ library implements a SANE (Scanner Access Now Easy) backend that provides access to the scanner part of Lexmark X1100/X1200 AIOs. This backend should be considered .B beta-quality -software! -.PP +software! +.PP The scanners that should work with this backend are: -.PP +.PP .RS .ft CR -.nf +.nf Vendor Model status \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\- Lexmark X74 good @@ -28,7 +28,7 @@ The scanners that should work with this backend are: Lexmark X12xx good in USB1.1, not fully tested in USB2.0 Dell A920 good -.fi +.fi .ft R .RE @@ -36,58 +36,58 @@ The options the backend supports can either be selected through command line options to programs like scanimage or through GUI elements in xscanimage or xsane. -.br +.br If you have any strange behavior, please report to the backend maintainer or to the SANE mailing list. -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d lexmark:usb: .RE -.TP +.TP .B Scan Mode Options -.TP +.TP .B \-\-mode -selects the basic mode of operation of the scanner valid choices are +selects the basic mode of operation of the scanner valid choices are .IR Color , .I Gray and .I Lineart -The default mode is Color. The Lineart mode is black and white only (1 bit). +The default mode is Color. The Lineart mode is black and white only (1 bit). Grayscale will produce 256 levels of gray (8 bits). Color mode allows for over 16 million different colors produced from 24 bits of color information. -.TP +.TP .B \-\-resolution -selects the resolution for a scan. The horizontal and vertical resolutions are set +selects the resolution for a scan. The horizontal and vertical resolutions are set by the value of this option. The scanner is capable of the following resolutions for the specified option value: -.PP +.PP .RS .ft CR -.nf - Value Hor. Resolution Vert. Resolution +.nf + Value Hor. Resolution Vert. Resolution \-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- 75 75dpi 75dpi - 150 150dpi 150dpi - 300 300dpi 300dpi - 600 600dpi 600dpi + 150 150dpi 150dpi + 300 300dpi 300dpi + 600 600dpi 600dpi 1200 600dpi 1200dpi (only for X11xx models with 'B2' sensor) -.fi +.fi .ft R .RE -.TP +.TP .B \-\-preview requests a preview scan. The resolution used for that scan is 75 dpi -and the scan area and the scan mode are as specified through their options, +and the scan area and the scan mode are as specified through their options, or the default if not specified. The default value for preview mode is "no". -.TP +.TP .B \-\-threshold selects the minimum-brightness to get a white point. The threshold is only used with Lineart mode scans. -It is specified as a percentage in the range 0..100% (in steps of 1). +It is specified as a percentage in the range 0..100% (in steps of 1). The default value of the threshold option is 50. @@ -96,17 +96,17 @@ The configuration file @CONFIGDIR@/lexmark.conf contains only the usb device id .SH "FILES" -.TP +.TP .I @LIBDIR@/libsane\-lexmark.a The static library implementing this backend. -.TP +.TP .I @LIBDIR@/libsane\-lexmark.so The shared library implementing this backend (present on systems that support dynamic loading). .SH "ENVIRONMENT" -.TP +.TP .B SANE_DEBUG_LEXMARK .B SANE_DEBUG_LEXMARK_LOW If the library was compiled with debug support enabled, this @@ -125,7 +125,7 @@ The data compression isn't supported for the X1200 series on USB 1.1, leading to slow scans. .SH "BUGS" -.br +.br No bugs currently known. @@ -135,16 +135,16 @@ sane\-scsi(5), scanimage(1), xscanimage(1), xsane(1), sane(7) .SH "AUTHOR" -.TP +.TP The backend was originally written by Fred Odendaal. .I http://ca.geocities.com/freshshelf@rogers.com/ -.TP +.TP The new version is currently developed by St\['e]phane Voltz. .I http://stef.dev.free.fr/sane/lexmark .TP X74 support was written by Torsten Houwaart () .SH "CREDITS" -.TP +.TP Many thanks go to: Julien Furgerot who lend me a Dell A920. Robert Price, Dani Ele and Dalai Felinto for the time they spent recording diff --git a/doc/sane-ma1509.man b/doc/sane-ma1509.man index bdd20f7..2677fcd 100644 --- a/doc/sane-ma1509.man +++ b/doc/sane-ma1509.man @@ -13,7 +13,7 @@ also work. This backend is ALPHA software. Be careful and remove the power plug immediately if your hear unusual noises. .PP -More details can be found on the ma1509 backend homepage +More details can be found on the ma1509 backend homepage .IR http://www.meier\-geinitz.de/sane/ma1509\-backend/ . .PP Other Mustek USB scanners are supported by the gt68xx, mustek_usb and the @@ -25,7 +25,7 @@ and for details. .PP This backend can only work with scanners that are already detected by the -operating system. See +operating system. See .BR sane\-usb (5) for details. .PP @@ -59,20 +59,20 @@ file is a list of options and device names that correspond to Mustek BearPaw 1200F scanners. Empty lines and lines starting with a hash mark (#) are ignored. .PP -Instead of using the device name, the scanner can be autodetected by +Instead of using the device name, the scanner can be autodetected by .B "usb vendor_id product_id" statements which are already included into .IR ma1509.conf . This is only supported with Linux 2.4.8 and higher and all systems that support libsub. "vendor_id" and "product_id" are hexadecimal numbers that identify the scanner. If this doesn't work, a device name must be placed in -.I ma1509.conf +.I ma1509.conf as described above. .PP To set the time the lamp needs for warm-up, use .B option .B warmup-time -in +in .IR ma1509.conf . The time is given in seconds after the option. The default is 30 seconds. .SH FILES @@ -107,7 +107,7 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .B SANE_DEBUG_MA1509 If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. .SH "SEE ALSO" .BR sane (7), diff --git a/doc/sane-magicolor.man b/doc/sane-magicolor.man index 1e6c0a5..17ef387 100644 --- a/doc/sane-magicolor.man +++ b/doc/sane-magicolor.man @@ -10,21 +10,21 @@ backend supports KONICA MINOLTA magicolor scanners connected via USB or LAN. Cur The following scanner should work with this backend: Device Details -.br +.br \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- -.br +.br Vendor: KONICA MINOLTA -.br +.br Model: magicolor 1690MF .SH "CONFIGURATION" -.PP +.PP This section describes the backend's configuration file entries. The file is located at: -.IP +.IP .I @CONFIGDIR@/magicolor.conf -.PP +.PP For a proper setup, at least one of the following entries are needed: -.IP +.IP .I net autodiscovery .br .I net [IP ADDRESS] [DEVICE-ID] @@ -34,22 +34,22 @@ For a proper setup, at least one of the following entries are needed: .I usb [VENDOR-ID] [DEVICE-ID] .SH "FILES" -.TP +.TP .I @CONFIGDIR@/magicolor.conf The backend configuration file -.TP +.TP .I @LIBDIR@/libsane\-magicolor.a The static library implementing this backend. -.TP +.TP .I @LIBDIR@/libsane\-magicolor.so The shared library implementing this backend (present on systems that support dynamic loading). .SH "ENVIRONMENT" -.TP +.TP .B SANE_CONFIG_DIR This environment variable specifies the list of directories that may contain the configuration file. Under UNIX, the directories are separated by a colon (`:'), under OS/2, they are separated by a semi\-colon (`;'). If this variable is not set, the configuration file is searched in two default directories: first, the current working directory (".") and then in @CONFIGDIR@. If the value of the environment variable ends with the directory separator character, then the default directories are searched after the explicitly specified directories. For example, setting .B SANE_CONFIG_DIR to "/tmp/config:" would result in directories "/tmp/config", ".", and "@CONFIGDIR@" being searched (in this order). -.TP +.TP .B SANE_DEBUG_MAGICOLOR If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher debug levels increase the verbosity of the output. @@ -59,14 +59,14 @@ To obtain debug messages from the backend, set this environment variable before Example: SANE_DEBUG_MAGICOLOR=65 xscanimage .SH "KNOWN BUGS AND RESTRICTIONS" -.PP +.PP Large color scans may sometimes timeout due to unknown reasons (the scanner simply stops returning data) -.PP +.PP Cancelling large scans may lock up the scanner. .SH "SEE ALSO" .BR sane (7), -.br +.br .I http://wiki.kainhofer.com/hardware/magicolor_scan .SH "AUTHOR" -.PP +.PP Reinhold Kainhofer diff --git a/doc/sane-matsushita.man b/doc/sane-matsushita.man index 578421a..5bbf734 100644 --- a/doc/sane-matsushita.man +++ b/doc/sane-matsushita.man @@ -31,7 +31,7 @@ backend: Other Panasonic high speed scanners may or may not work with that backend. -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d matsushita .RE @@ -57,12 +57,12 @@ selects the number of pages to scan (one or until the tray is empty). .TP .B \-\-paper\-size A4|...|Legal|Letter [A4] -options selects the area to scan. It adjust the +options selects the area to scan. It adjust the .B \-l \-t \-x \-y options accordingly. It does not need to be the real size of the paper. .TP -.B \-l \-t \-x \-y +.B \-l \-t \-x \-y control the scan area: \-l sets the top left x coordinate, \-t the top left y coordinate, \-x selects the width and \-y the height of the scan area. All parameters are specified in millimeters. It is possible to use @@ -87,7 +87,7 @@ automatically sets brightness, contrast, white level, gamma, noise reduction and option sets the tonal gradation for the halftone mode. Pattern downloading is not implemented by the backend. .TP .B \-\-autoseparation -provides automatic separation of text and images. +provides automatic separation of text and images. .TP .B \-\-white\-level option indicate the source of the white base. diff --git a/doc/sane-microtek.man b/doc/sane-microtek.man index 84047dc..d3bf21c 100644 --- a/doc/sane-microtek.man +++ b/doc/sane-microtek.man @@ -46,7 +46,7 @@ port models may work (under Linux), if they use a parport->scsi chip, and if you can find a scsi->parport driver. This is known to be the case for the Color PageWiz. .PP -The driver does +The driver does .B not support the newest Microtek scanners, such as the V330 and V660, which use a new and very different SCSI-II command set. For those, try the alternate @@ -144,7 +144,7 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .TP .B SANE_DEBUG_MICROTEK If the library was compiled with debugging support enabled, this -environment variable controls the debug level for this backend. +environment variable controls the debug level for this backend. A value of 128 requests maximally copious debug output; smaller levels reduce verbosity. @@ -169,7 +169,7 @@ i.e. don't complain about these --- but if brightness and/or contrast .B do work for you, please tell me. .PP -If your scanner locks up, try setting the +If your scanner locks up, try setting the .I norealcal or .I noprecal @@ -188,7 +188,7 @@ setenv SANE_DEBUG_MICROTEK 128 .RE .PP More general comments, suggestions, and inquiries about frontends -or SANE should go to -.BR sane\-devel@lists.alioth.debian.org , +or SANE should go to +.BR sane\-devel@alioth-lists.debian.net , the SANE Developers mailing list. Have a look at http://www.sane\-project.org/mailing\-lists.html concerning subscription to sane\-devel. diff --git a/doc/sane-microtek2.man b/doc/sane-microtek2.man index b0e359b..cc4f6f4 100644 --- a/doc/sane-microtek2.man +++ b/doc/sane-microtek2.man @@ -311,8 +311,3 @@ sane\-scsi(5), sane(7) Bernd Schroeder (not active anymore) .br Karsten Festag karsten.festag@gmx.de - - - - - diff --git a/doc/sane-mustek.man b/doc/sane-mustek.man index 536466f..f06d9c1 100644 --- a/doc/sane-mustek.man +++ b/doc/sane-mustek.man @@ -15,7 +15,7 @@ Paragon MFS-6000CX .br Paragon MFS-12000CX .br -Paragon MFC-600S, 600 II CD, ScanMagic 600 II SP +Paragon MFC-600S, 600 II CD, ScanMagic 600 II SP .br Paragon MFC-800S, 800 II SP .br @@ -37,7 +37,7 @@ Paragon 1200 SP Pro .br Paragon 1200 A3 Pro .br -Paragon 600 II EP +Paragon 600 II EP .br Paragon 600 II N .br @@ -53,7 +53,7 @@ Primax Compact 4800 SCSI .br .RE .PP -More details can be found on the Mustek SCSI backend homepage +More details can be found on the Mustek SCSI backend homepage .IR http://www.meier\-geinitz.de/sane/mustek\-backend/ . .PP Don't mix up MFS (Paragon), Pro and ScanExpress models! They're @@ -92,7 +92,7 @@ If you own a Mustek (or Trust) scanner other than the ones listed above that works with this backend, please let us know by sending the scanner's exact model name (look at the front and back of the scanner) and a debug output to -.IR sane\-devel@lists.alioth.debian.org . +.IR sane\-devel@alioth-lists.debian.net . You can get the debug output by setting the environment variable .B SANE_DEBUG_MUSTEK to 5 and showing the list of available scanners with scanimage \-L. Please @@ -112,17 +112,17 @@ Where .I special is either the path-name for the special device that corresponds to a SCSI scanner or the port number at which the parallel port scanners can -be found (see section +be found (see section .B "PARALLEL PORT SCANNERS" below). For SCSI scanners, the special device name must be a generic SCSI device or a symlink to such a device. The program -.I sane\-find\-scanner +.I sane\-find\-scanner helps to find out the correct device. Under Linux, such a device name could be .I /dev/sg0 or .IR /dev/sg3 , -for example. See +for example. See .BR sane\-scsi (5) for details. .SH CONFIGURATION @@ -130,7 +130,7 @@ The contents of the .I mustek.conf file is a list of options and device names that correspond to Mustek scanners. Empty lines and lines starting with a hash mark (#) are -ignored. See +ignored. See .BR sane\-scsi (5) on details of what constitutes a valid device name. .PP @@ -279,7 +279,7 @@ for driver- and platform-specific information. The ScanExpress models have sometimes trouble with high resolution color mode. If you encounter sporadic corrupted images (parts duplicated or shifted horizontally) kill all other applications before scanning -and (if sufficient memory is available) disable swapping. +and (if sufficient memory is available) disable swapping. .PP Details on how to get the Mustek SCSI adapters and other cards running can be found at @@ -306,12 +306,12 @@ only one number on a single line. Example: .RE .PP Note that for these scanners usually root privileges are required to access the -I/O ports. Thus, either make frontends such as +I/O ports. Thus, either make frontends such as .BR scanimage (1) -and +and .BR xscanimage (1) setuid root (generally not recommended for safety reasons) or, alternatively, -access this backend through the network daemon +access this backend through the network daemon .BR saned (8). .PP If the Mustek backend blocks while sending the inquiry command to the scanner, @@ -360,7 +360,7 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .B SANE_DEBUG_MUSTEK If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. .ft CR .nf @@ -374,15 +374,15 @@ Value Description .fi .ft R -Example: +Example: export SANE_DEBUG_MUSTEK=4 .SH "SEE ALSO" .BR sane (7), .BR sane\-find\-scanner (1), .BR sane\-scsi (5), -.BR sane\-mustek_usb (5), -.BR sane\-gt68xx (5), +.BR sane\-mustek_usb (5), +.BR sane\-gt68xx (5), .BR sane\-plustek (5), .BR sane\-mustek_pp (5) .br @@ -396,7 +396,7 @@ Henning Meier-Geinitz, James Perry (600 II EP). .SH BUGS Scanning with the SCSI adapters supplied by Mustek is very slow at -high resolutions and wide scan areas. +high resolutions and wide scan areas. .PP Some scanners (e.g. Paragon 1200 A3 + Pro, SE A3) need more testing. .PP diff --git a/doc/sane-mustek_pp.man b/doc/sane-mustek_pp.man index 253759d..acc2f9b 100644 --- a/doc/sane-mustek_pp.man +++ b/doc/sane-mustek_pp.man @@ -18,10 +18,10 @@ The library implements a SANE (Scanner Access Now Easy) backend that provides access to Mustek parallel port flatbed scanners and OEM versions. -There are 2 classes of Mustek parallel port scanners: regular +There are 2 classes of Mustek parallel port scanners: regular .B CCD -(cold cathode device) scanners and -.B CIS +(cold cathode device) scanners and +.B CIS (contact image sensor) scanners. .P The current version of this backend supports both CCD type scanners and @@ -29,7 +29,7 @@ CIS type scanners. .P The following scanners might work with this backend: -.SS "CCD scanners" +.SS "CCD scanners" .EX Model: ASIC ID: CCD Type: works: @@ -56,25 +56,25 @@ Mustek 1200 CP+ 1015 yes .EE .EX -OEM versions Original works +OEM versions Original works -------------------------------------------------- Medion/LifeTec/Tevion MD/LT 9350/9351 1200 CP yes MD/LT 9850/9851 1200 CP maybe (**) MD/LT 9858 1200 CP probably MD/LT 9890/9891 1200 CP yes -Targa +Targa Funline TS12EP 1200 CP yes Funline TS6EP 600 CP yes Trust Easy Connect 9600+ 600 CP yes -Cybercom +Cybercom 9352 1200 CP yes (***) .EE -.HP +.HP (*) Calibration problems existed with earlier version of this driver. They seem to be solved now. -.HP +.HP (**) Problems have been reported in the past for the MD/LT9850 type (striped scans, head moving in wrong direction at some resolutions). It is not known whether @@ -82,7 +82,7 @@ the current version of the driver still has these problems. .PP .B IF YOU HEAR LOUD CLICKING NOISES, IMMEDIATELY UNPLUG THE SCANNER ! (This holds for any type of scanner). -.HP +.HP (***) Possibly, the engine_delay parameter has to be set to 1 ms for accurate engine movements. .PP @@ -90,15 +90,15 @@ Please note that this backend is still under construction. Certain models are currently not supported and some may never be because the communication protocol is still unknown (eg., SE 12000 P). .PP -Some scanners work faster when +Some scanners work faster when .B EPP/ECP is enabled in the BIOS. EPP mode however may lead to hard-locks on some Linux systems. If that is the case for you, you can either disable ECP/EPP in your BIOS or disable it in the backend itself (see GLOBAL OPTIONS). .PP Note that the backend needs to run as root or has to have appropriate access -rights to /dev/parport* if libieee1284 support is compiled in. To allow user -access to the scanner run the backend through the network interface (See +rights to /dev/parport* if libieee1284 support is compiled in. To allow user +access to the scanner run the backend through the network interface (See saned(8) and sane\-net(5)). Note also that the backend .I does not support @@ -112,7 +112,7 @@ to enable the backend explicitly in your dll.conf, just remove the hash mark in the line "mustek_pp". .SH "DEVICE DEFINITION" -This backend allows multiple devices being defined and configured via the +This backend allows multiple devices being defined and configured via the .B mustek_pp.conf file (even simultaneously, provided that they are connected to different parallel ports). Please make sure to edit this file @@ -134,23 +134,23 @@ for instance "LifeTec 9350". .B is the name of the parallel port to which the device is connected. In case libieee1284 is used for communication with the port -.I (default -.IR setup) , -valid port names are -.BR parport0 , -.BR parport1 , +.I (default +.IR setup) , +valid port names are +.BR parport0 , +.BR parport1 , and .BR parport2 . .PP In case the backend is configured for raw IO -.I (old +.I (old .IR setup) , port addresses have to be used instead of port names: .BR 0x378 , -.BR 0x278 , +.BR 0x278 , or .BR 0x3BC . -The mapping of parallel ports (lp0, lp1, and lp2) to these addresses +The mapping of parallel ports (lp0, lp1, and lp2) to these addresses can be different for different Linux kernel versions. For instance, if you are using a Kernel 2.2.x or better and you have only one parallel port, this port is named lp0 regardless of the base address. However, @@ -159,7 +159,7 @@ port your scanner is connected to, have a look at your /etc/conf.modules, /etc/modules.conf and/or /proc/ioports. .PP If you are unsure which port to use, you can use the magic value -.BR * +.BR * to probe for your scanner. .PP .HP @@ -169,7 +169,7 @@ is the driver to use for this device. Currently available drivers are: .BR cis600 " : for 600 CP, 96 CP & OEM versions" .br .BR cis1200 " : for 1200 CP & OEM versions" -.br +.br .BR cis1200+ " : for 1200 CP+ & OEM versions" .br .BR ccd300 " : for 600 IIIE P & OEM version" @@ -187,12 +187,12 @@ cover only half of the width of the scan area (also not dangerous). .PP If unsure about the exact model of your OEM version, check the optical resolution in the manual or on the box: the 600CP has a maximum optical -resolution of 300x600 DPI, whereas the 1200CP and 1200CP+ have a maximum -optical resolution of 600x1200 DPI. +resolution of 300x600 DPI, whereas the 1200CP and 1200CP+ have a maximum +optical resolution of 600x1200 DPI. .PP Examples: .PP -.RS +.RS scanner "LifeTec 9350" 0x378 cis1200 .PP scanner Mustek_600CP 0x378 cis600 @@ -201,7 +201,7 @@ scanner Mustek_600IIIEP * ccd300 .RE If in doubt which port you have to use, or whether your scanner is -detected at all, you can use +detected at all, you can use .B sane\-find\-scanner \-p to probe all configured ports. @@ -209,7 +209,7 @@ to probe all configured ports. .PP The contents of the .B mustek_pp.conf -file is a list of device definitions and device options that correspond to +file is a list of device definitions and device options that correspond to Mustek scanners. Empty lines and lines starting with a hash mark (#) are ignored. Options have the following format: .PP @@ -220,19 +220,19 @@ ignored. Options have the following format: Depending on the nature of the option, a value may or may not be present. Options always apply to the scanner definition that precedes them. There are no global options. Options are also driver-specific: not all drivers -support all possible options. +support all possible options. .SS Common options .TP .B bw Black/white discrimination value to be used during lineart scanning. Pixel values below this value are assumed to be black, values above are -assumed to be white. +assumed to be white. .br Default value: 127 -.br +.br Minimum: 0 -.br +.br Maximum: 255 .sp Example: option bw 150 @@ -240,7 +240,7 @@ Example: option bw 150 .SS CIS driver options .TP .B top_adjust -Vertical adjustment of the origin, expressed in millimeter (floating point). +Vertical adjustment of the origin, expressed in millimeter (floating point). This option can be used to calibrate the position of the origin, within certain limits. Note that CIS scanners are probably temperature sensitive, and that a certain inaccuracy may be hard to avoid. Differences in offset between @@ -261,7 +261,7 @@ scan does not start at the origin, the driver will try to move the scanhead to the start of the scan area at the fastest possible speed. On some models, this may not work, resulting in large inaccuracies (up to centimeters). By setting this option, the driver is forced to use normal speed during -skipping, which can circumvent the accuracy problems. Currently, there are +skipping, which can circumvent the accuracy problems. Currently, there are no models for which these inaccuracy problems are known to occur. .sp By default, fast skipping is used. @@ -454,13 +454,13 @@ For additional information on the CIS driver, see .SH AUTHORS .nf -Jochen Eisinger +Jochen Eisinger Eddy De Greef .fi .SH BUGS -Too many... please send bug reports to -.I sane\-devel@lists.alioth.debian.org +Too many... please send bug reports to +.I sane\-devel@alioth-lists.debian.net (note that you have to subscribe first to the list before you can send emails... see http://www.sane\-project.org/mailing\-lists.html) diff --git a/doc/sane-mustek_usb.man b/doc/sane-mustek_usb.man index a934e8a..a70ad5e 100644 --- a/doc/sane-mustek_usb.man +++ b/doc/sane-mustek_usb.man @@ -23,11 +23,11 @@ Trust Compact Scan USB 19200 .br .RE .PP -More details can be found on the Mustek USB backend homepage +More details can be found on the Mustek USB backend homepage .IR http://www.meier\-geinitz.de/sane/mustek_usb\-backend/ . .PP The Mustek BearPaw 1200 and 2400 scanners are supported by the plustek -backend. See +backend. See .BR sane\-plustek (5) for details. The Mustek BearPaw 1200F is supported by the MA-1509 backend. See .BR sane\-ma1509 (5) @@ -36,7 +36,7 @@ see .BR sane\-gt68xx (5). .PP This backend can only work with scanners that are already detected by the -operating system. See +operating system. See .BR sane\-usb (5) for details. .PP @@ -70,7 +70,7 @@ The contents of the .I mustek_usb.conf file is a list of options and device names that correspond to Mustek USB scanners. Empty lines and lines starting with a hash mark (#) are -ignored. If a device name is placed in +ignored. If a device name is placed in .IR mustek_usb.conf , it must be followed by a line containing the keyword .B option @@ -81,7 +81,7 @@ and an option specifying the scanner type. The following options can be used: .BR 1200ub . For the Trust Compact Scan USB 19200 use `option 1200ub'. .PP -Instead of using the device name, the scanner can be autodetected by +Instead of using the device name, the scanner can be autodetected by .B "usb vendor_id product_id" statements which are already included into .IR mustek_usb.conf . @@ -89,7 +89,7 @@ This is only supported with Linux 2.4.8 and higher and all systems that support libsub. "vendor_id" and "product_id" are hexadecimal numbers that identify the scanner. If this doesn't work, a device name and the option specifying the scanner type must be placed in -.I mustek_usb.conf +.I mustek_usb.conf as described above. .PP The global @@ -114,7 +114,7 @@ option 600cu The first line is ignored. The second line sets the buffer size to a maximum of 1024 bytes. The third line tries to autodetect a scanner with vendor id 0x055f and product id 0x0001 (Mustek 1200 CU). The fourth line tells the backend to -attach to +attach to .I /dev/usb/scanner0 and the fifth line specifies that .I /dev/usb/scanner0 @@ -151,7 +151,7 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .B SANE_DEBUG_MUSTEK_USB If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. .ft CR .nf @@ -167,7 +167,7 @@ Value Description .fi .ft R -Example: +Example: export SANE_DEBUG_MUSTEK_USB=4 .SH "SEE ALSO" diff --git a/doc/sane-mustek_usb2.man b/doc/sane-mustek_usb2.man index b134afa..dab26dc 100644 --- a/doc/sane-mustek_usb2.man +++ b/doc/sane-mustek_usb2.man @@ -9,7 +9,7 @@ library implements a SANE (Scanner Access Now Easy) backend that provides access to USB flatbed scanners based on the Service & Quality SQ113 chipset. At the moment, only the Mustek BearPaw 2448 TA Pro is supported. It's planned to add support for other scanners that are based on the SQ113 and maybe SQ11 chip. For -more details, see the mustek_usb2 backend homepage: +more details, see the mustek_usb2 backend homepage: .IR http://www.meier\-geinitz.de/sane/mustek_usb2\-backend/ . .PP This is BETA software. Especially if you test new or untested scanners, keep @@ -44,9 +44,9 @@ support dynamic loading). .B SANE_DEBUG_MUSTEK_USB2 If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher debug levels -increase the verbosity of the output. +increase the verbosity of the output. -Example: +Example: export SANE_DEBUG_MUSTEK_USB2=4 .SH "SEE ALSO" diff --git a/doc/sane-nec.man b/doc/sane-nec.man index 0fd895e..e36ebe9 100644 --- a/doc/sane-nec.man +++ b/doc/sane-nec.man @@ -9,7 +9,7 @@ library implements a SANE (Scanner Access Now Easy) backend that provides access to NEC SCSI scanners. This backend should be considered .B alpha-quality -software! In the current state it is known to work with PC-IN500/4C +software! In the current state it is known to work with PC-IN500/4C scanners. Another MultiReader scanner series is not supported. PC-IN 500/4C and MultiReader scanner are only sold in Japan.(except Multi Reader PetiScan.) diff --git a/doc/sane-p5.man b/doc/sane-p5.man index 860a019..1c21f12 100644 --- a/doc/sane-p5.man +++ b/doc/sane-p5.man @@ -7,28 +7,28 @@ The .B sane\-p5 library implements a SANE (Scanner Access Now Easy) backend that provides access to the Primax PagePartner parallel port sheet fed scanner. -.PP +.PP This backend handles 100, 150, 200, 300 and 600 dpi scan resolutions, in color and gray modes. The 600 dpi is actually 300x600 with lines enlarged to match the vertical resolution. -.PP +.PP .B EPP/ECP MODES ONLY -The current version of the backend uses only EPP or ECP mode to communicate -with the scanner. It is -recommended that you set your parallel port to EPP in BIOS with the current +The current version of the backend uses only EPP or ECP mode to communicate +with the scanner. It is +recommended that you set your parallel port to EPP in BIOS with the current version of this backend. ECPEPP will only work if you use a 2.4 or 2.6 kernel with ppdev character device support. -.PP +.PP .SH "DEVICE NAMES" This backend expects device names of the form: -.PP +.PP .RS .I port value .RE -.PP +.PP Where -\fBvalue\fR is : +\fBvalue\fR is : .RS .TP @@ -40,43 +40,43 @@ them for scanner uses linux ppdev device, depending on the number of available parallel port, you have to use /dev/parport1, /dev/parport2, ... -.PP +.PP .RE You can rename any device using the -.PP +.PP .RS .br .I option name my_name .RE -.PP -option. This option apply to the last port option. +.PP +option. This option apply to the last port option. .SH "CONFIGURATION" Please make sure to edit dll.conf .B before you use the backend, since this backend isn't enabled by default. -.PP +.PP -.PP +.PP .SH "FILES" -.TP +.TP .I @CONFIGDIR@/p5.conf The backend configuration file (see also description of .B SANE_CONFIG_DIR below). -.TP +.TP .I @LIBDIR@/libsane\-p5.a The static library implementing this backend. -.TP +.TP .I @LIBDIR@/libsane\-p5.so The shared library implementing this backend (present on systems that support dynamic loading). .SH "ENVIRONMENT" -.TP +.TP .B SANE_CONFIG_DIR This environment variable specifies the list of directories that may contain the configuration file. Under UNIX, the directories are @@ -90,14 +90,14 @@ directories. For example, setting .B SANE_CONFIG_DIR to "/tmp/config:" would result in directories "tmp/config", ".", and "@CONFIGDIR@" being searched (in this order). -.TP +.TP .B SANE_DEBUG_P5 If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. E.g., a value of 255 requests all debug output to be printed. Smaller levels reduce verbosity. -.PP +.PP .RS .ft CR .nf @@ -108,23 +108,23 @@ level debug output 2 warnings & minor errors 4 information messages 8 start/stop of functions - 16 tracing messages + 16 tracing messages 32 I/O functions 64 I/O functions with traces 128 scanned/calibration data .fi .ft R .RE -.PP -.TP +.PP +.TP -.PP +.PP .RS .ft CR .nf -.PP - -.PP +.PP + +.PP .SH "SEE ALSO" sane(7), sane\-net(5), saned(8) @@ -136,25 +136,26 @@ Support for the Prima PagePartner has been made possible thank to an hardware do by S\['e]bastien Lange. .SH "BUG REPORTS" -If something doesn't work mail sane-devel@lists.alioth.debian.org or use the bug -tracker at https://alioth.debian.org/tracker/?atid=410366&group_id=30186 . -Please give as much information as you can. +If something doesn't work mail sane-devel@alioth-lists.debian.net or submit an +issue via https://gitlab.com/sane-project/backends/issues/new with a label of +backend/p5. +Please give as much information as you can. -.TP +.TP .I SANE version run "scanimage \-V" to determine this -.TP +.TP .I the backend version and your scanner hardware run "SANE_DEBUG_P5=255 scanimage \-L 2>log" as root. If you don't get any output from the p5 backend, make sure a line "p5" is included into your @CONFIGDIR@/dll.conf. If your scanner isn't detected, make sure you've defined the right port address, or the -correct device +correct device in your p5.conf. -.TP +.TP .I the name of your scanner/vendor also a worthy information. Please also include the optical resolution and lamp type of your scanner, both can be found in the manual of your scanner. -.TP +.TP .I any further comments if you have comments about the documentation (what could be done better), or you think I should know something, please include it. diff --git a/doc/sane-pint.man b/doc/sane-pint.man index 7e863a5..1a59608 100644 --- a/doc/sane-pint.man +++ b/doc/sane-pint.man @@ -21,7 +21,7 @@ successfully. If have successfully used the PINT driver with your scanner, but it does not work using this SANE backend, please let us know. To do this, send a mail with the relevant information for your scanner to -.IR sane\-devel@lists.alioth.debian.org . +.IR sane\-devel@alioth-lists.debian.net . Have a look at http://www.sane\-project.org/mailing\-lists.html concerning subscription to sane\-devel. diff --git a/doc/sane-pixma.man b/doc/sane-pixma.man index 1058e92..1ceb6d6 100644 --- a/doc/sane-pixma.man +++ b/doc/sane-pixma.man @@ -1,4 +1,4 @@ -.TH "sane\-pixma" "5" "20 May 2017" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" +.TH "sane\-pixma" "5" "29 Jul 2019" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" .IX sane\-pixma .SH NAME sane\-pixma \- SANE backend for Canon Multi-Function Printers and CanoScan Scanners @@ -8,13 +8,17 @@ The library implements a SANE (Scanner Access Now Easy) backend that provides access to Canon PIXMA / i-SENSYS / imageCLASS / imageRUNNER multi-function devices (All-in-one printers) and the Canon CanoScan Flatbed/TPU scanners. -The backend implements both the USB interface and network interface -(using Canon's BJNP and MFNP protocols). The network interface supports scanners +The backend implements both the USB interface and network interface +(using Canon's BJNP and MFNP protocols). The network interface supports scanners over IPv4 as well as IPv6 (MFNP over IPv6 is untested). .PP Currently, the following models work with this backend: .PP .RS +PIXMA E510 +.br +PIXMA G2000, G2100 +.br PIXMA MG2100, MG2200, MG2400, MG2500, MG2900, MG3100, MG3200 .br PIXMA MG3500, MG3600, MG4200, MG5100, MG5200, MG5300, MG5400 @@ -47,8 +51,12 @@ PIXMA MX410, MX420, MX470, MX510, MX520, MX530, MX700, MX720 .br PIXMA MX850, MX860, MX870, MX882, MX885, MX890, MX920, MX7600 .br +PIXMA TS3100, TS5000, TS6100, TS8000, TS8200 +.br PIXUS MP10 .br +imageCLASS MF634Cdw, MF733Cdw +.br imageCLASS MF3110, MF3240, MF4010, MF4018 .br imageCLASS MF4120, MF4122, MF4140, MF4150 @@ -59,15 +67,19 @@ imageCLASS MF4410, MF4430, MF4570dw, MF4660, MF4690 .br imageCLASS MF5730, MF5770, MF6550, MPC200, D420, D480, D530 .br -i-SENSYS MF230, MF240, MF3010, MF4320d, MF4330d, MF4500, MF4700 +i-SENSYS MF210, MF230, MF240, MF620, MF730, MF731/733, MF3010 .br -i-SENSYS MF4800, MF6100, MF8200C, MF8300 +i-SENSYS MF4320d, MF4330d, MF4500, MF4700, MF4800, MF6100 .br -imageRUNNER 1020/1024/1025 +i-SENSYS MF8030, MF8200C, MF8300 +.br +imageRUNNER 1020/1024/1025, 1133 .br CanoScan 8800F, 9000F, 9000F Mark II .br -MAXIFY MB5000 (ADF is not working) +CanoScan LiDE 300, 400 +.br +MAXIFY MB2000, MB2100, MB2300, MB2700, MB5000 .RE .PP The following models are not well tested and/or the scanner sometimes hangs @@ -77,13 +89,15 @@ and must be switched off and on. PIXMA MP760, MP770, MP780, MP790 .RE .PP -The following models may use the same Pixma protocol as those listed -above, but have not yet been reported to work (or not). They are declared -in the backend so that they get recognized and activated. +The following models may use the same Pixma protocol as those listed +above, but have not yet been reported to work (or not). They are declared +in the backend so that they get recognized and activated. Feedback in the sane\-devel mailing list welcome. .PP .RS -PIXMA E400, E460, E470, E480, E500, E510, E560, E600, E610 +PIXMA E400, E410, E460, E470, E480, E500, E560, E600, E610 +.br +PIXMA E3100, E4200 .br PIXMA MG3000, MG4100, MG6500, MG6600, MG6800, MG6900, MG8100 .br @@ -91,26 +105,32 @@ PIXMA MP375R, MP493, MP495, MP740 .br PIXMA MX320, MX390, MX430, MX450, MX490, MX710 .br -PIXMA G3000 +PIXMA G3000, G3010, G4000, G4010 .br -PIXMA TS9000, TS800, TS6000, TS5000 +PIXMA TR4500, TR7500, TR7530, TR8500, TR8530, TR8580, TR9530 .br -PIXUS MP5 +PIXMA TS5100, TS6000, TS6130, TS6180, TS6200, TS6230, TS6280 .br -imageCLASS MF810/820, MF5630, MF5650, MF5750, MF8030, MF8170c +PIXMA TS8100, TS8130, TS8180, TS8230, TS8280, TS9000, TS9100 .br -imageCLASS MPC190 +PIXMA TS9180, TS9500, TS9580 .br -imageRUNNER 1133 +PIXUS MP5, XK50, XK70, XK80 .br -i-SENSYS MF210, MF220, MF5880dn, MF5900, MF6680dn, MF8500C +imageCLASS MF810/820, MF5630, MF5650, MF5750, MF8170c .br -MAXIFY MB2000, MB2300, MB5300 +imageCLASS MPC190, D550, D570 +.br +i-SENSYS MF110, MF220, MF260, MF410, MF420, MF510, MF520, MF630 +.br +i-SENSYS MF640, MF740, MF5880dn, MF5900, MF6680dn, MF8500C +.br +MAXIFY MB5100, MB5300, MB5400 .RE .PP \#The following models may use partly the same Pixma protocol as other devices -\#listed above, but may still need some work. They are declared in the backend -\#as experimental. Snoop logs are required to further investigate, please contact +\#listed above, but may still need some work. They are declared in the backend +\#as experimental. Snoop logs are required to further investigate, please contact \#the sane\-devel mailing list. \#.PP \#.RS @@ -133,7 +153,7 @@ The backend supports: .PP The device name for USB devices is in the form pixma:xxxxyyyy_zzzzz where x, y and z are vendor ID, product ID and serial number respectively. -.PP +.PP Example: pixma:04A91709_123456 is a MP150. .PP Device names for BJNP/MFNP devices is in the form pixma:aaaa_bbbbb @@ -141,12 +161,12 @@ where aaaa is the scanners model and bbbb is the hostname or ip-adress. .PP Example: pixma:MF4800_192.168.1.45 is a MF4800 Series multi-function peripheral. .PP -This backend, based on cloning original Canon drivers protocols, is in +This backend, based on cloning original Canon drivers protocols, is in a production stage. Designed has been carried out without any applicable -manufacturer documentation, probably never available. However, we have tested -it as well as we could, but it may not work in all situations. You will find -an up-to-date status at the project homepage. (See below). -Users feedback is essential to help improve features and performances. +manufacturer documentation, probably never available. However, we have tested +it as well as we could, but it may not work in all situations. You will find +an up-to-date status at the project homepage. (See below). +Users feedback is essential to help improve features and performances. .SH OPTIONS Besides "well-known" options (e.g. resolution, mode etc.) pixma backend also provides the following options, i.e. the options might change in the future. @@ -178,20 +198,20 @@ the button and so on. When you finished, press the gray-scan button. (For MP150 you have to stop the frontend by pressing Ctrl-C for example.) .TP .I button\-update (deprecated) -(write only) In the past this option was required to be set to force +(write only) In the past this option was required to be set to force reading of the button status for .I button\-1 and .I button\-2. -The +The .B sane\-pixma -no longer requires this option to be used: if no fresh data is available, it -will be now requested automatically from the scanner. This option is left for +no longer requires this option to be used: if no fresh data is available, it +will be now requested automatically from the scanner. This option is left for backward compatibility reasons. .TP .I button\-1 button\-2 (read only) These options will return the value of the respective buttons. -value 0 means that the button was not pressed, 1 is returned when the button +value 0 means that the button was not pressed, 1 is returned when the button was pressed. Some scanners with more than two buttons send the button number as target. .TP @@ -225,52 +245,52 @@ support dynamic loading). .I @CONFIGDIR@/pixma.conf The backend configuration file (see also description of .B SANE_CONFIG_DIR -below). The file contains an optional list of networked scanners. Normally -only scanners that cannot be auto-detected because they are on a different -subnet shall be listed here. If your OS does not allow enumeration of -interfaces (i.e. it does not support the getifaddrs() function) you also may need +below). The file contains an optional list of networked scanners. Normally +only scanners that cannot be auto-detected because they are on a different +subnet shall be listed here. If your OS does not allow enumeration of +interfaces (i.e. it does not support the getifaddrs() function) you also may need to add your scanner here as well. .RS .PP -.I Scanners shall be listed in the configuraton file as follows: +.I Scanners shall be listed in the configuration file as follows: .PP .RS .I ://[:port][/timeout=] .RE .PP where method indicates the protocol used (bjnp is used for inkjet multi-functionals -and mfnp is used for laser multi-functionals). +and mfnp is used for laser multi-functionals). .PP -host is the hostname or IP address of the scanner, e.g. bjnp://10.0.1.4 -for IPv4, bjnp://[2001:888:118e:18e2:21e:8fff:fe36:b64a] for a literal +host is the hostname or IP address of the scanner, e.g. bjnp://10.0.1.4 +for IPv4, bjnp://[2001:888:118e:18e2:21e:8fff:fe36:b64a] for a literal IPv6-address or bjnp://myscanner.mydomain.org for a hostname. .PP The port number is optional and in normally implied by the method. Port 8610 is the standard port for mfnp, 8612 for bjnp. .PP -A scanner specific timeout value for the network protocol can be set using the +A scanner specific timeout value for the network protocol can be set using the bjnp-timeout parameter. The value is in ms. .PP Define scanners each on a new line. .PP -More globally applicable tinmeouts can be set using the bjnp-timeout parameter as folllows: +More globally applicable timeouts can be set using the bjnp-timeout parameter as follows: .PP .RS .I bjnp-timeout= .RE .PP A timeout defined using bjnp-timeout will apply to the following scanner definitions -in the file. If required the bjnp-timeout setting +in the file. If required the bjnp-timeout setting can be defined multiple times, where each settng will apply only to the scanners that follow the setting. The last setting is used for the auto discovered scanners. -If not explicitely set, the default 1000ms setting will apply. +If not explicitly set, the default 1000ms setting will apply. .PP Setting timeouts should only be required in exceptional cases. .PP .SH USB SUPPORT USB scanners will be auto-detected and require no configuration. .SH NETWORKING SUPPORT -The pixma backend supports network scanners using the so called Canon BJNP +The pixma backend supports network scanners using the so called Canon BJNP protocol and MFNP protocol. Both IPv4 and IPv6 are supported, but IPv6 is as yet untested with MFNP. Please report your results on the mailing list. .PP @@ -278,28 +298,28 @@ Configuration is normally not required. The pixma backend will auto-detect your scanner if it is within the same subnet as your computer if your OS does support this. .PP -If your scanner can not be auto-detected, you can add it to the pixma +If your scanner can not be auto-detected, you can add it to the pixma configuration file (see above). .SH FIREWALLING FOR NETWORKED SCANNERS -The sane pixma backend communicates with port 8610 for MFNP or port 8612 +The sane pixma backend communicates with port 8610 for MFNP or port 8612 for BJNP on the scanner. So -you will have to allow outgoing traffic TO port 8610 or 8612 on the +you will have to allow outgoing traffic TO port 8610 or 8612 on the common subnet for scanning. .PP Scanner detection is slightly more complicated. The pixma backend sends -a broadcast on all direct connected subnets it can find (provided your OS -allows for enumeration of all netowrk interfaces). The broadcast is sent FROM +a broadcast on all direct connected subnets it can find (provided your OS +allows for enumeration of all netowrk interfaces). The broadcast is sent FROM port 8612 TO port 8610 or 8612 on the broadcast address of each interface. The outgoing packets will be allowed by the rule described above. .PP Responses from the scanner are sent back to the computer TO port 8612. Connection tracking however does not see a match as the response does not come from the broadcast address but from the scanners own address. -For automatic detection of your scanner, you will therefore have to allow +For automatic detection of your scanner, you will therefore have to allow incoming packets TO port 8612 on your computer. This applies to both MFNP and BJNP. .PP -So in short: open the firewall for all traffic from your computer to port +So in short: open the firewall for all traffic from your computer to port 8610 (for MFNP) or 8612 (for BJNP) AND to port 8612 (for both BJNP and MFNP) to your computer. .PP @@ -331,7 +351,7 @@ the verbosity and includes the information printed at the lower levels. .TP .B SANE_DEBUG_BJNP If the library was compiled with debug support enabled, this environment -variable controls the debug level for the +variable controls the debug level for the .B BJNP and MFNP network protocols for this backend. Higher value increases the verbosity and includes the information printed at the lower levels. @@ -341,7 +361,7 @@ the verbosity and includes the information printed at the lower levels. 1 Print error and warning messages (recommended) .br 2 Print high level function tracing information -.br +.br 3 Print more detailed protocol tracing information .br 4 Print protocol headers @@ -369,13 +389,11 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .SH "SEE ALSO" .BR sane (7), .BR sane\-dll (5), -.I http://home.arcor.de/wittawat/pixma/, -.I http://mp610.blogspot.com/ .PP -In case of trouble with a recent Pixma model, try the latest code for +In case of trouble with a recent Pixma model, try the latest code for the pixma backend, available in the Sane git repository at: .br -.I http://git.debian.org/?p=sane/sane-backends.git +.I https://gitlab.com/sane-project/backends.git .PP You can also post into the Sane-devel mailing list for support. diff --git a/doc/sane-plustek.man b/doc/sane-plustek.man index a6bb993..2df85b6 100644 --- a/doc/sane-plustek.man +++ b/doc/sane-plustek.man @@ -1,4 +1,4 @@ -.TH sane\-plustek 5 "13 Feb 2013" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" +.TH sane\-plustek 5 "03 Nov 2017" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" .IX sane\-plustek .SH NAME sane\-plustek \- SANE backend for LM983[1/2/3] based @@ -241,7 +241,7 @@ The Options: option warmup t .RS .I t -specifies the warmup period in seconds, if set to \-1, the +specifies the warmup period in seconds, if set to \-1, the automatic warmup function will be used .RE .PP @@ -468,8 +468,6 @@ export SANE_DEBUG_PLUSTEK=10 .BR sane\-gt68xx (5), .br .I @DOCDIR@/plustek/Plustek-USB.changes -.br -.I http://www.gjaeger.de/scanner/plustek/ .SH "CONTACT AND BUG-REPORTS" Please send any information and bug-reports to: @@ -482,16 +480,12 @@ Mailing-List archive at: .br .B http://www.sane\-project.org/mailing\-lists.html .PP -or directly from the projects' homepage at: -.br -.B http://www.gjaeger.de/scanner/plustek/ -.PP To obtain debug messages from the backend, please set the environment-variable .I SANE_DEBUG_PLUSTEK -before calling your favorite scan-frontend (i.e. xscanimage). +before calling your favorite scan-frontend (i.e. scanimage). .br -.B i.e.: export SANE_DEBUG_PLUSTEK=20 ; xscanimage +.B i.e.: export SANE_DEBUG_PLUSTEK=20 ; scanimage .PP The value controls the verbosity of the backend. Please note, that values greater than 24 force the backend to output raw data files, @@ -505,13 +499,13 @@ For problem reports it should be enough the set the verbosity to * The driver does not support these manic scalings up to 16 times the physical resolution. The only scaling is done on resolutions between the physical resolution -of the CCD-/CIS-sensor and the stepper motor i.e. you -have a 600x1200 dpi scanner and you are scanning using -800dpi, so scaling is necessary, because the sensor only -delivers 600dpi but the motor is capable to perform +of the CCD-/CIS-sensor and the stepper motor i.e. you +have a 600x1200 dpi scanner and you are scanning using +800dpi, so scaling is necessary, because the sensor only +delivers 600dpi but the motor is capable to perform 1200dpi steps. .PP -* Plusteks' model policy is somewhat inconsistent. They +* Plusteks' model policy is somewhat inconsistent. They sell technically different devices under the same product name. Therefore it is possible that some devices like the UT12 or U12 won't work \- please check diff --git a/doc/sane-plustek_pp.man b/doc/sane-plustek_pp.man index c01aba6..3d70971 100644 --- a/doc/sane-plustek_pp.man +++ b/doc/sane-plustek_pp.man @@ -13,7 +13,7 @@ The access of the scanner is either done directly by the backend or via kernel module, called pt_drv which can be created out of the plustek_pp backend code \- see also section .B "BUILDING THE KERNEL MODULE" -for further information. +for further information. .SH "SUPPORTED DEVICES" @@ -242,13 +242,13 @@ Within this directory, you should find a script called: .br .I MakeModule.sh .br -Now if your Linux kernelsources are installed correctly, -it should be possible to build, install and load the +Now if your Linux kernelsources are installed correctly, +it should be possible to build, install and load the module .B pt_drv. -.B Please note, +.B Please note, that the kernelsources need to be configured correctly. -Refer to your distributions +Refer to your distributions manual on how this is done. As root user, try .br .I ./MakeModule.sh @@ -257,7 +257,7 @@ the script will try and get all necessary information about your running kernel and will lead you through the whole installation process. .br -.B Note: Installing and loading the can only be done as +.B Note: Installing and loading the can only be done as superuser. .PP @@ -448,8 +448,6 @@ export SANE_DEBUG_PLUSTEK_PP=10 .BR sane (7), .br .I @DOCDIR@/plustek/Plustek\-PARPORT.changes -.br -.I http://www.gjaeger.de/scanner/plustek_pp/ .SH "CONTACT AND BUG-REPORTS" Please send any information and bug-reports to: @@ -462,10 +460,6 @@ Mailing-List archive at: .br .B http://www.sane\-project.org/mailing\-lists.html .PP -or directly from the projects' homepage at: -.br -.B http://www.gjaeger.de/scanner/plustek_pp/ -.PP To obtain debug messages from the backend, please set the environment-variable .I SANE_DEBUG_PLUSTEK_PP @@ -510,7 +504,7 @@ and without transparency unit. * 30bit mode is currently not supported. .PP * On low end systems under heavy system load the -driver may lose data, which can result in picture +driver may lose data, which can result in picture corruption or cause the sensor to hit the scan bed. .PP * The scanning speed on 600x1200 dpi models is slow. diff --git a/doc/sane-ricoh.man b/doc/sane-ricoh.man index 8cb38a2..1452e24 100644 --- a/doc/sane-ricoh.man +++ b/doc/sane-ricoh.man @@ -26,8 +26,8 @@ Where .I special is the path-name for the special device that corresponds to a SCSI scanner. The special device name must be a generic SCSI device or a -symlink to such a device. The program -.IR sane\-find\-scanner +symlink to such a device. The program +.IR sane\-find\-scanner helps to find out the correct device. Under Linux, such a device name could be .I /dev/sga @@ -67,13 +67,12 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .B SANE_DEBUG_RICOH If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. -Example: +Example: export SANE_DEBUG_RICOH=4 .SH "SEE ALSO" sane(7), sane\-scsi(5) .SH AUTHOR Feico W. Dillema - diff --git a/doc/sane-ricoh2.man b/doc/sane-ricoh2.man new file mode 100644 index 0000000..86db7c6 --- /dev/null +++ b/doc/sane-ricoh2.man @@ -0,0 +1,57 @@ +.TH sane\-ricoh2 5 "28 Sep 2018" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" +.IX sane\-ricoh2 +.SH NAME +sane\-ricoh2 \- SANE backend for Ricoh flatbed scanners +.SH DESCRIPTION +The +.B sane\-ricoh2 +library implements a SANE (Scanner Access Now Easy) backend that +provides access to the following Ricoh flatbed scanners: +.PP +.RS +SG-3100SNw +.br +SP-100SU +.br +SP-111SU +.RE +.PP +.SH FILES +.TP +.I @LIBDIR@/libsane\-ricoh2.a +The static library implementing this backend. +.TP +.I @LIBDIR@/libsane\-ricoh2.so +The shared library implementing this backend (present on systems that +support dynamic loading). + +.SH OPTIONS +The options the backend supports can either be selected through command line +options to programs like scanimage or through GUI elements in programs like +xscanimage or xsane. +.PP +The following options are supported by ricoh2: + +.B \-\-mode color|gray + +.RS +Color or grayscale mode. +.RE + +.B \-\-resolution 300|600 + +.RS +DPI resolution. + +.RE +.SH ENVIRONMENT +.TP +.B SANE_DEBUG_RICOH2 +If the library was compiled with debug support enabled, this +environment variable controls the debug level for this backend. Higher +debug levels increase the verbosity of the output. + +.SH "SEE ALSO" +sane(7), sane\-usb(5) +.SH AUTHOR +Stanislav Yuzvinsky diff --git a/doc/sane-rts8891.man b/doc/sane-rts8891.man index 6424f7a..de0683d 100644 --- a/doc/sane-rts8891.man +++ b/doc/sane-rts8891.man @@ -6,19 +6,19 @@ The .B sane\-rts8891 library implements a SANE (Scanner Access Now Easy) backend that provides access to scanners based on the rts8891 ASIC. -.PP +.PP The scanners that work with this backend are: -.PP +.PP .RS .ft CR -.nf +.nf Vendor Model status \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\- Umax Astra 4400 untested Umax Astra 4450 untested HP scanjet 4000c good HP scanjet 4470c good -.fi +.fi .ft R .RE @@ -26,58 +26,58 @@ The options the backend supports can either be selected through command line options to programs like scanimage or through GUI elements in xscanimage or xsane. -.br +.br If you have any strange behavior, please report to the backend maintainer or to the SANE mailing list. -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d rts8891 .RE -.TP +.TP .B Scan Mode Options -.TP +.TP .B \-\-mode -selects the basic mode of operation of the scanner valid choices are +selects the basic mode of operation of the scanner valid choices are .I R Color , .I Gray and .I Lineart -The default mode is Color. The Lineart mode is black and white only (1 bit). +The default mode is Color. The Lineart mode is black and white only (1 bit). Grayscale will produce 256 levels of gray (8 bits). Color mode allows for over 16 million different colors produced from 24 bits of color information. -.TP +.TP .B \-\-resolution -selects the resolution for a scan. The horizontal and vertical resolutions are set +selects the resolution for a scan. The horizontal and vertical resolutions are set by the value of this option. The scanner is capable of the following resolutions for the specified option value: -.PP +.PP .RS .ft CR -.nf - Value Hor. Resolution Vert. Resolution +.nf + Value Hor. Resolution Vert. Resolution \-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- 75 75dpi 75dpi - 150 150dpi 150dpi - 300 300dpi 300dpi - 600 600dpi 600dpi + 150 150dpi 150dpi + 300 300dpi 300dpi + 600 600dpi 600dpi 1200 1200dpi 1200dpi -.fi +.fi .ft R .RE -.TP +.TP .B \-\-preview requests a preview scan. The resolution used for that scan is 75 dpi -and the scan area and the scan mode are as specified through their options, +and the scan area and the scan mode are as specified through their options, or the default if not specified. The default value for preview mode is "no". -.TP +.TP .B \-\-threshold selects the minimum\-brightness to get a white point. The threshold is only used with Lineart mode scans. -It is specified as a percentage in the range 0..100% (in steps of 1). +It is specified as a percentage in the range 0..100% (in steps of 1). The default value of the threshold option is 50. @@ -87,11 +87,11 @@ The configuration file contains the usb device ids of supported scanners (eg usb 0x043d 0x007c) and scanner configuration options. Empty lines and lines starting with a hash mark (#) are ignored. -.PP +.PP The options supported are .B allowsharing , -.B modelnumber +.B modelnumber . Option @@ -103,27 +103,27 @@ enables or not the sharing of the scanner between multiple frontends at the same is used to force the reported model by the backend and is only useful in the case of a scanner which NVRAM has been erased. .RS .ft CR -.nf +.nf 0 to report a HP4470c. 1 to report a HP4400c. 2 to report an Astra 4400. -.fi +.fi .ft R .RE -.PP +.PP .SH "FILES" -.TP +.TP .I @LIBDIR@/libsane\-rts8891.a The static library implementing this backend. -.TP +.TP .I @LIBDIR@/libsane\-rts8891.so The shared library implementing this backend (present on systems that support dynamic loading). .SH "ENVIRONMENT" -.TP +.TP .B SANE_DEBUG_RTS8891 SANE_DEBUG_RTS8891_LOW SANE_DEBUG_RTS88XX_LIB If the library was compiled with debug support enabled, these environment variables controls the debug level for this backend. E.g., @@ -139,7 +139,7 @@ at the same time (allowsharing option) may not work on some USB controllers. .PP XPA is no (yet) supported. .SH "BUGS" -.br +.br No bugs currently known. @@ -148,11 +148,11 @@ sane\-scsi(5), scanimage(1), xscanimage(1), xsane(1), sane(7) .SH "AUTHOR" -.TP +.TP This backend has been developed by St\['e]phane Voltz. .I http://stef.dev.free.fr/sane/rts8891 .SH "CREDITS" -.TP +.TP Many thanks go to: Laurent Fournier who donated me a HP4470c. Vladimir Sysoev and "TheUnruly Squash" for the time they spent recording diff --git a/doc/sane-s9036.man b/doc/sane-s9036.man index fe194b6..468b44e 100644 --- a/doc/sane-s9036.man +++ b/doc/sane-s9036.man @@ -19,8 +19,8 @@ Where .I special is the path-name for the special device that corresponds to a SCSI scanner. The special device name must be a generic SCSI device or a -symlink to such a device. The program -.IR sane\-find\-scanner +symlink to such a device. The program +.IR sane\-find\-scanner helps to find out the correct device. Under Linux, such a device name could be .I /dev/sga @@ -60,9 +60,9 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .B SANE_DEBUG_S9036 If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. -Example: +Example: export SANE_DEBUG_S9036=4 .SH "SEE ALSO" diff --git a/doc/sane-sceptre.man b/doc/sane-sceptre.man index 9c34413..b60da27 100644 --- a/doc/sane-sceptre.man +++ b/doc/sane-sceptre.man @@ -29,7 +29,7 @@ The make of this scanner is KINPO, so other scanners from that manufacturer may The options the backend supports can either be selected through command line options to programs like scanimage or through GUI elements in xscanimage or xsane. -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d sceptre .RE @@ -38,9 +38,9 @@ scanimage \-\-help \-d sceptre .B Scan Mode .TP -.B \-\-mode -selects the basic mode of operation of the scanner valid choices are -.I Lineart, Halftone, Gray and Color. +.B \-\-mode +selects the basic mode of operation of the scanner valid choices are +.I Lineart, Halftone, Gray and Color. The Lineart and Halftone mode are black and white only (1 bit). Gray will produce 256 levels of gray (8 bits). Color will produce a 24 bits color image. The scanner supports 30 bits internally but it only @@ -56,7 +56,7 @@ resolutions between 50 and 1200. selects the pattern mode that is used in Halftone mode. Valid options are 1, 2, 3 and 4. -.TP +.TP .B \-\-gamma\-correction controls the scanner internal gamma correction. Valid options are "Default", "User defined", "High density printing" "Low density @@ -67,18 +67,18 @@ printing" and "High contrast printing". (color mode only) allows the user to specify a gamma table (see the next 3 parameters). -.TP -.B \-\-red\-gamma\-table +.TP +.B \-\-red\-gamma\-table (color mode only) can be used to download a user defined gamma table for the red channel. The table must be 256 bytes long. -.TP -.B \-\-green\-gamma\-table +.TP +.B \-\-green\-gamma\-table (color mode only) can be used to download a user defined gamma table for the green channel. The table must be 256 bytes long. .TP -.B \-\-blue\-gamma\-table +.B \-\-blue\-gamma\-table (color mode only) can be used to download a user defined gamma table for the blue channel. The table must be 256 bytes long. @@ -87,7 +87,7 @@ for the blue channel. The table must be 256 bytes long. sets the threshold for black and white pixels in lineart mode. Possible values are from 0 (darker) to 255 (lighter). -.TP +.TP .B \-\-preview requests a preview scan. The resolution used for that scan is 30 dpi and the scan area is the maximum allowed. The scan mode is user @@ -97,7 +97,7 @@ selected. The default is "no". .B The geometry options .TP -.B \-l \-t \-x \-y +.B \-l \-t \-x \-y control the scan area: \-l sets the top left x coordinate, \-t the top left y coordinate, \-x selects the width and \-y the height of the scan area. All parameters are specified in millimeters by default. diff --git a/doc/sane-scsi.man b/doc/sane-scsi.man index bcb7d77..5a27555 100644 --- a/doc/sane-scsi.man +++ b/doc/sane-scsi.man @@ -21,9 +21,9 @@ to the generic SCSI device that the scanner is connected to. In this case, the configuration file simply lists the line .BR /dev/scanner . For a detailed description of each backend's configuration file, -please refer to the relevant backend manual page (e.g., +please refer to the relevant backend manual page (e.g., .BR sane\-epson (5) -for Epson scanners, +for Epson scanners, .BR sane\-hp (5) for HP scanners, etc.). .PP @@ -65,7 +65,7 @@ will be probed by the backend one by one and registered if the backend thinks it is a compatible device. For example, the line .PP .RS -scsi MUSTEK MFS\-06000CX Scanner 0 00 03 00 +scsi MUSTEK MFS\-06000CX Scanner 0 00 03 00 .RE .PP would attach the Mustek SCSI scanner with the following /proc/scsi/scsi entry: @@ -84,7 +84,7 @@ Usually it's sufficient to use vendor and model strings only or even only the vendor string. The following example .PP .RS -scsi MUSTEK * * * * * * +scsi MUSTEK * * * * * * .RE .PP would have the effect that all SCSI devices in the system with a @@ -188,10 +188,10 @@ version 2.2.7 on. If the new SG driver is available some backends buffers. If a backend does not automatically request a larger scsi buffer, set the environment variable .B SANE_SG_BUFFERSIZE -to the desired buffer size in bytes. It is not recommended to use more -than 1 MB, because for large values the probability increases that the -SG driver cannot allocate the necessary buffer(s). For ISA cards, even -1 MB might be a too large value. For a detailed discussion of memory +to the desired buffer size in bytes. It is not recommended to use more +than 1 MB, because for large values the probability increases that the +SG driver cannot allocate the necessary buffer(s). For ISA cards, even +1 MB might be a too large value. For a detailed discussion of memory issues of the SG driver, see http://www.torque.net/sg. .PP For Linux kernels before version 2.2.7 the size of the buffer is only 32KB. @@ -266,7 +266,7 @@ therefore while a scan is in progress, the system becomes almost unusable. You may change the values of the USLEEP macros in drivers/scsi/g_NCR5380.c. Some documentation is in this file and NCR5380.c. .TP -NCR/Symbios 810 +NCR/Symbios 810 For some scanners it may be necessary to disable disconnect/reconnect. To achieve this use the option ncr53c8xx="disc:n". Some people reported that their scanner only worked with the 53c7,8xx driver, not the ncr53c8xx. Try @@ -315,7 +315,7 @@ of 255 also prints kernel messages from the SCSI subsystem (where available). Smaller levels reduce verbosity. .TP .B SANE_SCSICMD_TIMEOUT -sets the timeout value for SCSI commands in seconds. Overriding the default +sets the timeout value for SCSI commands in seconds. Overriding the default value of 120 seconds should only be necessary for very slow scanners. .SH "SEE ALSO" diff --git a/doc/sane-sharp.man b/doc/sane-sharp.man index f089538..b4453ee 100644 --- a/doc/sane-sharp.man +++ b/doc/sane-sharp.man @@ -9,7 +9,7 @@ library implements a SANE (Scanner Access Now Easy) backend that provides access to Sharp SCSI scanners. This backend should be considered .B beta-quality -software! In the current state it is known to work with JX-610 and JX-250 +software! In the current state it is known to work with JX-610 and JX-250 scanners. It is prepared for usage with the JX-330 series scanners, but we are not able to test it with these devices. .PP @@ -63,18 +63,18 @@ for example. See sane\-scsi(5) for details. .SH SCAN OPTIONS .B Scan Mode -(parameter +(parameter .B \-\-mode -for scanimage). Possible settings: +for scanimage). Possible settings: .RS .B Lineart -(1 bit black & white scans), +(1 bit black & white scans), .br .B Gray (8 bit gray scale scans), .br .B Lineart Color -(bi-level color scans), +(bi-level color scans), .br .B Color (8 bit RGB scans). @@ -91,11 +91,11 @@ Possible settings: .B none .br .B Dither Bayer -.br +.br .B Dither Spiral .br .B Dither Dispersed -.br +.br .B Error Diffusion .RE The default value is @@ -114,12 +114,12 @@ feeder or a transparency adapter is installed. Possible settings: .B Transparency Adapter .RE If an ADF or a transparency adapter is installed, using it is the -default selection. +default selection. .B Custom Gamma -(parameter +(parameter .B \-\-custom\-gamma -for scanimage). This option determines whether a builtin or a custom +for scanimage). This option determines whether a builtin or a custom gamma-table is used. Possible settings: .RS .B yes @@ -130,11 +130,11 @@ enables a built gamma table .RE .B Gamma -(parameter +(parameter .B \-\-Gamma -for scanimage). This option is only available, if +for scanimage). This option is only available, if .B Custom Gamma -is set to +is set to .B no. Possible values: .RS @@ -142,32 +142,32 @@ Possible values: .br .B 2.2 .RE -The default value is 2.2. (The JX-250 and JX-350 have no built in gamma -correction; for these scanner, a gamma table is downloaded to the scanner +The default value is 2.2. (The JX-250 and JX-350 have no built in gamma +correction; for these scanner, a gamma table is downloaded to the scanner by the backend.) .B Gamma Table -(parameter +(parameter .B \-\-gamma\-table -for scanimage). Allowed values: 0..255; 256 numbers must be defined. -The default values are 0, 1, 2, .. 255 (i.e., gamma == 1). This table +for scanimage). Allowed values: 0..255; 256 numbers must be defined. +The default values are 0, 1, 2, .. 255 (i.e., gamma == 1). This table is only used for gray scale scans. .B Red Gamma Table -(parameter -.B \-\-red\-gamma\-table +(parameter +.B \-\-red\-gamma\-table for scanimage). Allowed values: 0..255; 256 numbers must be defined. The default values are 0, 1, 2, .. 255 (i.e., gamma == 1). .B Green Gamma Table -(parameter -.B \-\-green\-gamma\-table +(parameter +.B \-\-green\-gamma\-table for scanimage). Allowed values: 0..255; 256 numbers must be defined. The default values are 0, 1, 2, .. 255 (i.e., gamma == 1). .B Blue Gamma Table -(parameter -.B \-\-blue\-gamma\-table +(parameter +.B \-\-blue\-gamma\-table for scanimage). Allowed values: 0..255; 256 numbers must be defined. The default values are 0, 1, 2, .. 255 (i.e., gamma == 1). @@ -177,7 +177,7 @@ in pixel per inch (parameter for scanimage). Selects the resolution of the scanned image. Allowed values: .RS .B 30..600 -(JX-330, JX-350 and JX-610) resp. +(JX-330, JX-350 and JX-610) resp. .B 30..400 (JX-250) .RE @@ -203,19 +203,19 @@ in order to see the allowed parameter values for the scan window. The scan window parameters are: .RS -Top-left x position of scan area (parameter +Top-left x position of scan area (parameter .B \-l for scanimage); .br -Top-left y position of scan area (parameter +Top-left y position of scan area (parameter .B \-t for scanimage); .br -bottom right x position of scan area (parameter +bottom right x position of scan area (parameter .B \-x for scanimage); .br -bottom right y position of scan area (parameter +bottom right y position of scan area (parameter .B \-y for scanimage); .RE @@ -223,7 +223,7 @@ for scanimage); .B Edge emphasis (parameter .B \-\-Edge emphasis -for scanimage). This option is not available for the JX-250 and the JX-350. +for scanimage). This option is not available for the JX-250 and the JX-350. Possible settings: .RS .B None @@ -234,59 +234,59 @@ Possible settings: .br .B Blur .RE -The default value is +The default value is .B None. .B Threshold -(parameter +(parameter .B \-\-threshold for scanimage). Sets the threshold for black and white pixels in lineart mode. Possible values: .RS .B 1..255 .RE -The default value is +The default value is .B 128. This option is only available in scan mode lineart. .B Threshold Red -(parameter +(parameter .B \-\-threshold-red for scanimage). Sets the threshold for the red component of a pixel in in lineart color scan mode. Possible values: .RS .B 1..255 .RE -The default value is +The default value is .B 128. This option is only available in scan mode color lineart. .B Threshold Green -(parameter +(parameter .B \-\-threshold-green for scanimage). Sets the threshold for the green component of a pixel in in lineart color scan mode. Possible values: .RS .B 1..255 .RE -The default value is +The default value is .B 128. This option is only available in scan mode color lineart. .B Threshold Blue -(parameter +(parameter .B \-\-threshold-blue for scanimage). Sets the threshold for the blue component of a pixel in in lineart color scan mode. Possible values: .RS .B 1..255 .RE -The default value is +The default value is .B 128. This option is only available in scan mode color lineart. .B Light Color -(parameter +(parameter .B \-\-LightColor for scanimage). Sets the color of the light source. Possible values: .RS @@ -298,7 +298,7 @@ for scanimage). Sets the color of the light source. Possible values: .br .B blue .RE -The default value is +The default value is .B white. This option is only available in scan modes lineart color and color. @@ -310,75 +310,75 @@ be opened and closed, even if the jammed paper can be removed without opening the maintenance cover. Otherwise, the error condition cannot be cleared. .SH CONFIGURATION -The contents of the +The contents of the .I sharp.conf -file is a list of options and device names that correspond to Sharp +file is a list of options and device names that correspond to Sharp scanners. Empty lines and lines beginning with a hash mark (#) are ignored. See sane\-scsi(5) for details about device names. .PP Lines setting an option start with the key word .B option, followed by the option's name and the option's value. At present, three -options are defined: -.B buffers, buffersize, +options are defined: +.B buffers, buffersize, and -.B readqueue. +.B readqueue. .PP -Options defined at the start of +Options defined at the start of .I sharp.conf apply to all devices; options defined after a device name apply to this device. .PP -The options +The options .B buffers and .B readqueue are only significant if the backend has been compiled -so that for each scan a second process is forked (switch +so that for each scan a second process is forked (switch .B USE_FORK -in +in .I sharp.c ). This process reads the scan data from the scanner and writes this data into a block of shared memory. -The parent process reads the data from this memory block and delivers it -to the frontend. The options control the size and usage of this shared +The parent process reads the data from this memory block and delivers it +to the frontend. The options control the size and usage of this shared memory block. .PP .B option buffers -defines the number of buffers used. The smallest number allowed is 2. +defines the number of buffers used. The smallest number allowed is 2. .PP .B option buffersize -defines the size of one buffer. Since each buffer is filled with a +defines the size of one buffer. Since each buffer is filled with a single read command sent to the scanner, its size is limited automatically to the size allowed by the operating system or by the Sane SCSI library for SCSI read commands. A buffer size of 128 kB or 256 kB is recommended for scan resolutions of 300 dpi and above. .PP -.B option readqueue +.B option readqueue defines how many read commands to be sent to the scanner -are queued. At present, the Sane SCSI library supports queued read -commands only for for Linux. For other operating systems, +are queued. At present, the Sane SCSI library supports queued read +commands only for for Linux. For other operating systems, .B option readqueue -should be set to 0. For Linux, +should be set to 0. For Linux, .B option readqueue should be set to 2. Larger values than 2 for .B option readqueue are not reasonable in most cases. .B option buffers -should be greater than +should be greater than .B option readqueue. .SH Performance Considerations This section focuses on the problem of stops of the scanner's carriage -during a scan. Carriage stops happen mainly with the JX-250. This scanner -has obviously only a small internal buffer compared to its speed. That -means that the backend must read the data as fast as possible from the -scanner in order to avoid carriage stops. +during a scan. Carriage stops happen mainly with the JX-250. This scanner +has obviously only a small internal buffer compared to its speed. That +means that the backend must read the data as fast as possible from the +scanner in order to avoid carriage stops. .PP -Even the JX-250 needs only less than 10 seconds for a 400 dpi A4 gray -scale scan, which results in a data transfer rate of more than 1.6 MB -per second. This means that the data produced by the scanner must be +Even the JX-250 needs only less than 10 seconds for a 400 dpi A4 gray +scale scan, which results in a data transfer rate of more than 1.6 MB +per second. This means that the data produced by the scanner must be processed fairly fast. Due to the small internal buffer of the JX-250, the backend must issue a read request for the next data block as soon as possible after reading a block of data in order to avoid carriage @@ -395,25 +395,25 @@ Stops of the carriage can be caused by the following reasons: .PP .RE Too much "traffic" on the SCSI bus: This happens for example, if hard disks -are connected to the same SCSI bus as the scanner, and when data transfer +are connected to the same SCSI bus as the scanner, and when data transfer from/to these hard disks requires a considerable part of the SCSI bandwidth -during a scan. If this is the case, you should consider to connect the +during a scan. If this is the case, you should consider to connect the scanner to a separate SCSI adapter. .PP Slow responses by the backend to the scanner: Unfortunately, Unix-like operating systems generally have no real time capabilities. Thus there is no guarantee that the backend is under any circumstances able to communicate with the scanner as fast as required. To minimize this -problem, the backend should be compiled so that a separate reader process +problem, the backend should be compiled so that a separate reader process is forked: Make sure that .B USE_FORK -is defined when you compile +is defined when you compile .I sharp.c. If slow responses of the backend remain to be problem, you could try to -reduce the load of the system. Even while the backend and the reader -process need only a minor amount of processor time, other running +reduce the load of the system. Even while the backend and the reader +process need only a minor amount of processor time, other running processes can cause an increase in the time delay between two time -slices given to the reader process. On slower systems, such an +slices given to the reader process. On slower systems, such an increased delay can be enough to cause a carriage stop with the JX-250. For Linux, the usage of the SG driver version 2.1.36 or above is recommended, because it supports, in combination with @@ -424,20 +424,20 @@ This queueing implementation, combined with a buffer size of at least Slow processing of the scan data: An example for this situation is the access to the scanner via a 10 MBit Ethernet, which is definitely too slow to transfer the scan data as fast as they are produced by the -scanner. If you have enough memory available, you can increase +scanner. If you have enough memory available, you can increase .B option buffers, -so that an entire image can be stored in these buffers. +so that an entire image can be stored in these buffers. .PP In order to see, if the backend is too slow or if the further processing of the data is too slow, set the environment variable .B SANE_DEBUG_SHARP to 1. When a scan is finished, the backend writes the line "buffer full -conditions: +conditions: .I nn" to stderr. If .I nn is zero, carriage stops are caused by too slow responses of the backend -or too much "traffic" on the SCSI bus. If +or too much "traffic" on the SCSI bus. If .I nn is greater than zero, the backend had to wait .I nn @@ -469,21 +469,21 @@ levels reduce verbosity. 1. ADF Mode .RS After several ADF scans, the scanner moves the carriage back to the idle -position and back to ADF scan position, before a scan starts. We do not -know, if this is a problem of the scanner, or if this is a bug of the +position and back to ADF scan position, before a scan starts. We do not +know, if this is a problem of the scanner, or if this is a bug of the backend. At present, the scanner must power off and on to stop this annoying behaviour. .RE 2. Threshold level does not work (only JX-610) .PP -3. The maximum resolution is limited to 600 dpi(JX-610 supported +3. The maximum resolution is limited to 600 dpi(JX-610 supported to 1200 dpi) resp. 400 dpi (JX-250) .PP 4. If the JX250 is used with an ADF, the following situation can occur: After several scans, the scanner moves, after loading a new sheet of paper, the carriage to the idle position, and then back to the position used for ADF -scans. This happens for +scans. This happens for .I every scan, in contrast to the calibration, which is done after 10 scans. (For the diff --git a/doc/sane-sm3600.man b/doc/sane-sm3600.man index 8f58622..7f5c9a4 100644 --- a/doc/sane-sm3600.man +++ b/doc/sane-sm3600.man @@ -8,7 +8,7 @@ The library implements a SANE (Scanner Access Now Easy) backend that provides access to some Microtek scanners with the Toshiba M011 custom USB chip. This backend should be considered alpha. -.PP +.PP There are also backends for Microtek scanners with SCSI command set. Refer to sane\-microtek(5) and sane\-microtek2(5) for details. .PP @@ -79,4 +79,3 @@ Marian Eichholz (eichholz@computer.org) .br Glenn Ramsey (glenn@componic.com) .br - diff --git a/doc/sane-sm3840.man b/doc/sane-sm3840.man index 96959b6..e6af3a1 100644 --- a/doc/sane-sm3840.man +++ b/doc/sane-sm3840.man @@ -8,7 +8,7 @@ The library implements a SANE (Scanner Access Now Easy) backend that provides access to some Microtek scanners with the SCAN08 USB chip. -.PP +.PP There exist backends for Microtek scanners with SCSI command set. Refer to sane\-microtek(5) and sane\-microtek2(5) for details. .PP @@ -92,4 +92,3 @@ sane\-microtek2(5), sane\-sm3600(5), http://www.ziplabel.com/sm3840 .br Earle F. Philhower III (earle@ziplabel.com) .br - diff --git a/doc/sane-snapscan.man b/doc/sane-snapscan.man index 3914868..6e71875 100644 --- a/doc/sane-snapscan.man +++ b/doc/sane-snapscan.man @@ -33,8 +33,8 @@ or .IR /dev/sge , for example. See sane\-scsi(5) for details. .P -For USB scanners the devicename must contain the keyword "usb", as in -.I /dev/usbscanner +For USB scanners the devicename must contain the keyword "usb", as in +.I /dev/usbscanner or .IR /dev/usb/scanner0 . For scanners that need a firmware upload before scanning add a line starting @@ -107,5 +107,5 @@ Mikko Tyolajarvi, David Mosberger-Tang, Wolfgang Goeller, Petter Reinholdtsen, Gary Plewa, Sebastien Sable, Oliver Schwartz and Mikael Magnusson. .br -Man page by Henning Meier-Geinitz (mostly based on the web pages and +Man page by Henning Meier-Geinitz (mostly based on the web pages and source code). diff --git a/doc/sane-st400.man b/doc/sane-st400.man index 9dac97c..affdf72 100644 --- a/doc/sane-st400.man +++ b/doc/sane-st400.man @@ -22,7 +22,7 @@ The Siemens ST/Highscan series includes several more models, e.g. the ST300 and ST600. If you own one of these scanners, or a scanner other than the ones listed above that works with this backend, please let us know by sending the scanner's model name, SCSI ID, and firmware revision to -.IR sane\-devel@lists.alioth.debian.org . +.IR sane\-devel@alioth-lists.debian.net . Have a look at http://www.sane\-project.org/mailing\-lists.html concerning subscription to sane\-devel. @@ -139,7 +139,7 @@ me the report. .SH "SEE ALSO" sane(7), sane\-scsi(5) .br -http://www.informatik.uni-oldenburg.de/~ingo/sane/ +http://www.informatik.uni-oldenburg.de/~ingo/sane/ .SH AUTHOR diff --git a/doc/sane-stv680.man b/doc/sane-stv680.man index 7b63b92..90cdf53 100644 --- a/doc/sane-stv680.man +++ b/doc/sane-stv680.man @@ -32,7 +32,7 @@ for the exact status of each camera. For startup of this backend check that if present the stv680 kernel module is removed or disabled. .br -Also before using, enable the backend by editing the /etc/sane.d/dll.conf file, +Also before using, enable the backend by editing the /etc/sane.d/dll.conf file, change #stv680 to stv680. For problems with the untested cameras, you @@ -62,7 +62,7 @@ If you have any success with a camera not listed here, or if you have any strange behavior, please report to the backend maintainer or to the SANE mailing list. -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d stv680 .RE @@ -75,7 +75,7 @@ scanimage \-\-help \-d stv680 .B \-\-mode selects the basic mode of operation of the webcams valid choices. -The read resolution mode is 8 bits, output resolution is 24 bits. +The read resolution mode is 8 bits, output resolution is 24 bits. Selects the resolution for a scan. The camera can do only the resolutions listed. .TP @@ -98,7 +98,7 @@ Bayer unshuffle, color correction, textline with date and time is added .TP .B \-\-white\-level\-r Selects what red radiance level should be -considered "white", when scanning some sheets by changing the calibration +considered "white", when scanning some sheets by changing the calibration value loaded into the scanner. Scale \-32 .. 0 .. +32 in steps of 1. .TP @@ -173,4 +173,3 @@ STV680 kernel module pencam2 program .br libghoto2 program (camlib stv0680) - diff --git a/doc/sane-tamarack.man b/doc/sane-tamarack.man index 628069c..7084924 100644 --- a/doc/sane-tamarack.man +++ b/doc/sane-tamarack.man @@ -28,8 +28,8 @@ Where .I special is the path-name for the special device that corresponds to a SCSI scanner. The special device name must be a generic SCSI device or a -symlink to such a device. The program -.IR sane\-find\-scanner +symlink to such a device. The program +.IR sane\-find\-scanner helps to find out the correct device. Under Linux, such a device name could be .I /dev/sga @@ -69,9 +69,9 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .B SANE_DEBUG_TAMARACK If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. -Example: +Example: export SANE_DEBUG_TAMARACK=4 .SH "SEE ALSO" diff --git a/doc/sane-teco1.man b/doc/sane-teco1.man index acb4985..4f4ce85 100644 --- a/doc/sane-teco1.man +++ b/doc/sane-teco1.man @@ -20,21 +20,21 @@ The scanners that should work with this backend are: .nf Vendor Model TECO model status ---------------------- -------------- ----------- - Relisys AVEC 2400 VM3520 tested + Relisys AVEC 2400 VM3520 tested Relisys AVEC 2412 VM3520+ tested - Relisys AVEC 4800 VM4530 untested - Relisys AVEC 4816 VM4530+ untested - Relisys RELI 2400 VM3530 untested + Relisys AVEC 4800 VM4530 untested + Relisys AVEC 4816 VM4530+ untested + Relisys RELI 2400 VM3530 untested Relisys RELI 2412 VM3530+ tested - Relisys RELI 2412 VM3530+ untested - Relisys RELI 4816 VM4540 tested + Relisys RELI 2412 VM3530+ untested + Relisys RELI 4816 VM4540 tested Relisys RELI 4830 VM4542 tested - Relisys RELI 9600 VM6530 untested - Relisys RELI 9612 VM6530* untested - Relisys RELI 9624 VM6530+ untested - Relisys RELI 9630 VM6540 untested - Relisys RELI DS15 VM3440 untested - Relisys RELI DS6 VM3420 untested + Relisys RELI 9600 VM6530 untested + Relisys RELI 9612 VM6530* untested + Relisys RELI 9624 VM6530+ untested + Relisys RELI 9630 VM6540 untested + Relisys RELI DS15 VM3440 untested + Relisys RELI DS6 VM3420 untested Dextra DF-600P VM3510 tested Dextra DF-4830T VM4542 untested Dextra DF-1200T+ VM3530+ untested @@ -59,7 +59,7 @@ If you have any success with a scanner not listed here, or if you have any strange behavior, please report to the backend maintainer or to the SANE mailing list. -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d teco1 .RE @@ -69,7 +69,7 @@ scanimage \-\-help \-d teco1 .TP .B \-\-mode -selects the basic mode of operation of the scanner valid choices are +selects the basic mode of operation of the scanner valid choices are .I Black & White , .I Grayscale @@ -89,7 +89,7 @@ between 1 and 600, in increments of 1. .B Geometry options .TP -.B \-l \-t \-x \-y +.B \-l \-t \-x \-y control the scan area: \-l sets the top left x coordinate, \-t the top left y coordinate, \-x selects the width and \-y the height of the scan area. All parameters are specified in millimeters by default. @@ -103,24 +103,24 @@ area. All parameters are specified in millimeters by default. (color mode only) allows the user to specify a gamma table (see the next 3 parameters). -.TP -.B \-\-red\-gamma\-table +.TP +.B \-\-red\-gamma\-table (color mode only) can be used to download a user defined gamma table for the red channel. The table must be 256 bytes long. -.TP -.B \-\-green\-gamma\-table +.TP +.B \-\-green\-gamma\-table (color mode only) can be used to download a user defined gamma table for the green channel. The table must be 256 bytes long. .TP -.B \-\-blue\-gamma\-table +.B \-\-blue\-gamma\-table (color mode only) can be used to download a user defined gamma table for the blue channel. The table must be 256 bytes long. .TP .B \-\-dither -(Black & White only) select the dither mask to use. Possible values are +(Black & White only) select the dither mask to use. Possible values are .I Line art , .I 2x2 @@ -140,7 +140,7 @@ and .I 8x8 vertical -.TP +.TP .B \-\-preview requests a preview scan. The resolution used for that scan is 22 dpi and the scan area is the maximum allowed. The scan mode is user diff --git a/doc/sane-teco2.man b/doc/sane-teco2.man index 3abd3b8..4b79960 100644 --- a/doc/sane-teco2.man +++ b/doc/sane-teco2.man @@ -45,7 +45,7 @@ Note that the untested scanner will not be directly supported. You should contact the author for that. The TECO VM number can usually be found at the back of the -scanner. It is also part of the FCC ID. +scanner. It is also part of the FCC ID. The options the backend supports can either be selected through command line options to programs like scanimage or through GUI @@ -56,7 +56,7 @@ If you have any success with a scanner not listed here, or if you have any strange behavior, please report to the backend maintainer or to the SANE mailing list. -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d teco2 .RE @@ -66,7 +66,7 @@ scanimage \-\-help \-d teco2 .TP .B \-\-mode -selects the basic mode of operation of the scanner valid choices are +selects the basic mode of operation of the scanner valid choices are .I Lineart , .I Gray @@ -84,21 +84,21 @@ between 1 and 600, in increments of 1. Color -selects the resolution for a scan. The scanner can do only the +selects the resolution for a scan. The scanner can do only the resolutions listed. -All values with ydpi > 300 (300 x 600) or 600 (600 x 1200) result in -a wrong proportion for the scan. The proportion can be adjusted with -the following imagemagick command: -convert \-geometry (dpi/max_xdpi * 100%)x100% -max_xdpi is for the vm3575 constant with 300 dpi -e.g. 600dpi adjust with: convert \-geometry 200%x100% +All values with ydpi > 300 (300 x 600) or 600 (600 x 1200) result in +a wrong proportion for the scan. The proportion can be adjusted with +the following imagemagick command: +convert \-geometry (dpi/max_xdpi * 100%)x100% +max_xdpi is for the vm3575 constant with 300 dpi +e.g. 600dpi adjust with: convert \-geometry 200%x100% .TP .B Geometry options .TP -.B \-l \-t \-x \-y +.B \-l \-t \-x \-y control the scan area: \-l sets the top left x coordinate, \-t the top left y coordinate, \-x selects the width and \-y the height of the scan area. All parameters are specified in millimeters by default. @@ -112,25 +112,25 @@ area. All parameters are specified in millimeters by default. (color mode only) allows the user to specify a gamma table (see the next 3 parameters). -.TP -.B \-\-red\-gamma\-table +.TP +.B \-\-red\-gamma\-table (color mode only) can be used to download a user defined gamma table for the red channel. The table must be 256 bytes long. -.TP -.B \-\-green\-gamma\-table +.TP +.B \-\-green\-gamma\-table (color mode only) can be used to download a user defined gamma table for the green channel. The table must be 256 bytes long. .TP -.B \-\-blue\-gamma\-table +.B \-\-blue\-gamma\-table (color mode only) can be used to download a user defined gamma table for the blue channel. The table must be 256 bytes long. .TP .B \-\-white\-level\-r (VM3564, VM356A, VM3575 and VM6575 only) Selects what red radiance level should be -considered "white", when scanning some sheets by changing the calibration +considered "white", when scanning some sheets by changing the calibration value loaded into the scanner. Scale 0..64 in steps of 1. .TP @@ -145,10 +145,10 @@ value loaded into the scanner. Scale 0..64 in steps of 1. considered "white", when scanning some sheets by changing the calibration value loaded into the scanner. Scale 0..64 in steps of 1. -.TP +.TP .B \-\-preview requests a preview scan. The resolution used for that scan is 50 dpi -(for VM356A and VM6575 75 dpi) and the scan area is the maximum allowed. +(for VM356A and VM6575 75 dpi) and the scan area is the maximum allowed. The scan mode is user selected. The default is "no". diff --git a/doc/sane-teco3.man b/doc/sane-teco3.man index a2b041d..8fc6c3c 100644 --- a/doc/sane-teco3.man +++ b/doc/sane-teco3.man @@ -31,7 +31,7 @@ The scanners that should work with this backend are: .RE The TECO VM number can usually be found at the back of the -scanner. It is also part of the FCC ID. +scanner. It is also part of the FCC ID. The options the backend supports can either be selected through command line options to programs like scanimage or through GUI @@ -42,7 +42,7 @@ If you have any success with a scanner not listed here, or if you have any strange behavior, please report to the backend maintainer or to the SANE mailing list. -Valid command line options and their syntax can be listed by using +Valid command line options and their syntax can be listed by using .RS scanimage \-\-help \-d teco3 .RE @@ -52,7 +52,7 @@ scanimage \-\-help \-d teco3 .TP .B \-\-mode -selects the basic mode of operation of the scanner valid choices are +selects the basic mode of operation of the scanner valid choices are .I Black & White , .I Grayscale @@ -72,7 +72,7 @@ between 1 and 1200, in increments of 1. .B Geometry options .TP -.B \-l \-t \-x \-y +.B \-l \-t \-x \-y control the scan area: \-l sets the top left x coordinate, \-t the top left y coordinate, \-x selects the width and \-y the height of the scan area. All parameters are specified in millimeters by default. @@ -86,23 +86,23 @@ area. All parameters are specified in millimeters by default. (color mode only) allows the user to specify a gamma table (see the next 3 parameters). -.TP -.B \-\-red\-gamma\-table +.TP +.B \-\-red\-gamma\-table (color mode only) can be used to download a user defined gamma table for the red channel. The table must be 1024 bytes long. -.TP -.B \-\-green\-gamma\-table +.TP +.B \-\-green\-gamma\-table (color mode only) can be used to download a user defined gamma table for the green channel. The table must be 1024 bytes long. .TP -.B \-\-blue\-gamma\-table +.B \-\-blue\-gamma\-table (color mode only) can be used to download a user defined gamma table for the blue channel. The table must be 1024 bytes long. -.TP +.TP .B \-\-preview requests a preview scan. The resolution used for that scan is 22 dpi and the scan area is the maximum allowed. The scan mode is user diff --git a/doc/sane-test.man b/doc/sane-test.man index e582895..08c9f86 100644 --- a/doc/sane-test.man +++ b/doc/sane-test.man @@ -15,10 +15,10 @@ The idea is not only to find bugs in frontends but also to show all capabilities of SANE. Therefore .B sane\-test implements functions and options that are not (or seldom) found in other -backends. +backends. .PP The backend is commented out in @CONFIGDIR@/dll.conf, so either the comment -character must be removed or the backend must be called explicitly. E.g. +character must be removed or the backend must be called explicitly. E.g. `scanimage \-d test' or `xscanimage test'. .SH SCAN MODE OPTIONS @@ -86,7 +86,7 @@ If option is set, the maximum amount of data transferred with each call to sane_read() is limited. .PP -Option +Option .B read\-limit\-size sets the limit for option read-limit. A low limit slows down scanning. It can be used to detect errors in frontend that occur because of wrong @@ -198,7 +198,7 @@ backend. .PP .SH INT TEST OPTIONS -There are 6 int test options in total. +There are 6 int test options in total. .PP Option .B int @@ -229,7 +229,7 @@ Option constraint. .SH FIXED TEST OPTIONS -There are 3 fixed test options in total. +There are 3 fixed test options in total. .PP Option .B fixed @@ -246,7 +246,7 @@ Option .PP .SH STRING TEST OPTIONS -There are 3 string test options in total. +There are 3 string test options in total. .PP Option .B string @@ -276,7 +276,7 @@ The backend configuration file (see also description of below). The initial values of most of the basic SANE options can be configured in this file. A template containing all the default values is provided together with this backend. One of the more interesting values may be -.BR number_of_devices . +.BR number_of_devices . It can be used to check the frontend's ability to show a long list of devices. The config values concerning resolution and geometry can be useful to test the handling of big file sizes. @@ -307,13 +307,13 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and .B SANE_DEBUG_TEST If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. -Example: +Example: export SANE_DEBUG_TEST=4 .SH "SEE ALSO" -sane(7), +sane(7), .IR http://www.meier\-geinitz.de/sane/test\-backend/ diff --git a/doc/sane-u12.man b/doc/sane-u12.man index 8b35fdf..680ce0c 100644 --- a/doc/sane-u12.man +++ b/doc/sane-u12.man @@ -150,8 +150,6 @@ export SANE_DEBUG_U12=10 .BR sane\-plustek (5), .br .I @DOCDIR@/u12/U12.changes -.br -.I http://www.gjaeger.de/scanner/u12/ .SH "CONTACT AND BUG-REPORTS" Please send any information and bug-reports to: @@ -164,10 +162,6 @@ Mailing-List archive at: .br .B http://www.sane\-project.org/mailing\-lists.html .PP -or directly from the projects' homepage at: -.br -.B http://www.gjaeger.de/scanner/u12/ -.PP To obtain debug messages from the backend, please set the environment-variable .I SANE_DEBUG_U12 @@ -180,5 +174,5 @@ The value controls the verbosity of the backend. .SH "KNOWN BUGS & RESTRICTIONS" * The driver is in alpha state, so please don't expect too much!!! .PP -* When using libusb, it might be, that the backend hangs. +* When using libusb, it might be, that the backend hangs. In that case, reconnect the scanner. diff --git a/doc/sane-umax.man b/doc/sane-umax.man index 7dd9382..41b4beb 100644 --- a/doc/sane-umax.man +++ b/doc/sane-umax.man @@ -20,12 +20,12 @@ parallel- and USB-scanners are not (and probably will never be) supported! .SH CONFIGURATION -The configuration file for this backend resides in +The configuration file for this backend resides in .IR @CONFIGDIR@/umax.conf . Its contents is a list of device names that correspond to UMAX and UMAX compatible scanners. Empty lines and lines starting with a hash mark (#) are ignored. A sample configuration file is -shown below: +shown below: .nf # this is a comment @@ -44,19 +44,19 @@ shown below: option calibration\-width\-offset \-1 option calibration\-bytes\-pixel \-1 option exposure\-time\-rgb\-bind \-1 - option invert\-shading\-data \-1 + option invert\-shading\-data \-1 option lamp\-control\-available 0 option gamma\-lsb\-padded 0 - /dev/sge -\ - #scsi Vendor Model Type Bus Channel ID LUN + /dev/sge +\ + #scsi Vendor Model Type Bus Channel ID LUN # The following scanner supports lamp control option lamp\-control\-available 1 - scsi UMAX * Scanner * * * * * -\ + scsi UMAX * Scanner * * * * * +\ # scanner on /dev/scanner does not support lamp control option lamp\-control\-available 0 - /dev/scanner + /dev/scanner .fi .TP @@ -194,7 +194,7 @@ command queueing you can try to set this value to 1. .PP The special device name must be a generic SCSI device or a symlink to such a device. To find out to which device your scanner is assigned and how you have to set the -permissions of that device, have a look at sane\-scsi. +permissions of that device, have a look at sane\-scsi. .SH SCSI ADAPTER TIPS @@ -203,7 +203,7 @@ well by Linux (I suggest not to use it), the PCI-SCSI-adapters that come with so Umax-scanners are not supported at all (as far as I know). On other platforms these SCSI-adapters are not supported. So you typically need to purchase another SCSI-adapter that is supported by your platform. See the relevant hardware FAQs and HOWTOs for your -platform for more information. +platform for more information. The UMAX-scanners do block the scsi-bus for a few seconds while scanning. It is not necessary to connect the scanner to its own SCSI-adapter. But if you need short @@ -240,7 +240,7 @@ SANE_DEBUG_UMAX values .ft CR .nf Number Remark -\ +\ 0 print important errors (printed each time) 1 print errors 2 print sense diff --git a/doc/sane-umax1220u.man b/doc/sane-umax1220u.man index e90a4e9..a83db59 100644 --- a/doc/sane-umax1220u.man +++ b/doc/sane-umax1220u.man @@ -18,7 +18,7 @@ For more information on this backend, please visit This backend is also able to drive the UMAX Astra 1600U/2000U/2100U. The 2100U is confirmed to work. For the other scanners no reports have been received yet. Please contact us and tell us if your scanner works -(sane\-devel@lists.alioth.debian.org). +(sane\-devel@alioth-lists.debian.net). .SH CONFIGURATION @@ -27,13 +27,13 @@ Usually, no manual configuration is necessary. The configuration file for this b Its contents is a list of device names that correspond to UMAX Astra scanners. Empty lines and lines starting with a hash mark (#) are ignored. A sample -configuration file is shown below: +configuration file is shown below: .nf #usb vendor product usb 0x1606 0x0010 # Device list for non-linux systems - /dev/scanner + /dev/scanner /dev/usb/scanner0 .fi @@ -66,7 +66,7 @@ SANE_DEBUG_UMAX1220U values .ft CR .nf Number Remark -\ +\ 1 print failures 2 print information 3 print high-level function calls @@ -106,7 +106,7 @@ sane(7), sane\-usb(5) Marcio Luis Teixeira .SH EMAIL-CONTACT -sane\-devel@lists.alioth.debian.org +sane\-devel@alioth-lists.debian.net .SH REPORTING BUGS diff --git a/doc/sane-umax_pp.man b/doc/sane-umax_pp.man index 09e6ea0..40972ce 100644 --- a/doc/sane-umax_pp.man +++ b/doc/sane-umax_pp.man @@ -8,52 +8,52 @@ The library implements a SANE (Scanner Access Now Easy) backend that provides access to Umax parallel port flatbed scanners. The following scanners work with this backend: -.PP +.PP .RS -Model: -.br -\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- -.br -Astra 610P -.br -Astra 1220P -.br -HP3200C -.br -Astra 1600P -.br -Astra 2000P -.br +Model: +.br +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- +.br +Astra 610P +.br +Astra 1220P +.br +HP3200C +.br +Astra 1600P +.br +Astra 2000P +.br Genius ColorPage-Life Pro -.br +.br .RE -.PP +.PP This backend handles 75x75, 150x150, 300x300, 600x600 and 600x1200 for 1220P/1600P/2000P -dpi scan resolutions, and 75x75, 150x150, 300x300 and 300x600 for 610P. In color and gray +dpi scan resolutions, and 75x75, 150x150, 300x300 and 300x600 for 610P. In color and gray levels, there is a software lineart mode. -.PP -The new generation models share a newer version of the 610P ASIC embedded in an EPAT chip. +.PP +The new generation models share a newer version of the 610P ASIC embedded in an EPAT chip. Only parts such as CCD and ADC change from one to another. They even all reports being UMAX Astra 1220P via IEEE1284. There isn't software way to recognize them properly. Under windows, model is -set by the driver installed, regardless of the hardware. -.PP -.TP +set by the driver installed, regardless of the hardware. +.PP +.TP .B EPP/ECP MODES ONLY -The current version of the backend uses only EPP or ECP mode to communicate -with the scanner. PS/2 mode isn't implemented. The 610P only use SPP. It is -recommended that you set your parallel port to EPP in BIOS with the current -version of this +The current version of the backend uses only EPP or ECP mode to communicate +with the scanner. PS/2 mode isn't implemented. The 610P only use SPP. It is +recommended that you set your parallel port to EPP in BIOS with the current +version of this backend. You can leave it to ECP or ECP+EPP, but in this case you may not use ppdev but only direct hardware access if you have to use ECP. ECPEPP will only work if you use a 2.4 or 2.6 kernel with ppdev character device support. -.PP -This backend does support parport sharing only -.I +.PP +This backend does support parport sharing only +.I if you have a kernel with ppdev support. -.I -.PP -Note that if you don't use the ppdev character device, the backend +.I +.PP +Note that if you don't use the ppdev character device, the backend needs to run as root. To allow user access to the scanner run the backend through the network interface (See saned(8) and sane\-net(5)). A more relaxed solution (security wise) is to add suid bit to the frontend @@ -63,13 +63,13 @@ access to IO ports, which lessen risks when being root. .SH "DEVICE NAMES" This backend expects device names of the form: -.PP +.PP .RS .I port value .RE -.PP +.PP Where -\fBvalue\fR is : +\fBvalue\fR is : .RS .TP @@ -95,40 +95,40 @@ have to use /dev/parport1, /dev/parport2, ... 0x378 does direct hardware access on the given address. Usual values are 0x378, 0x278, 0x3BC -In this case, you have to run the scanner as +In this case, you have to run the scanner as root (*BSD and linux), or with 'IOPL=yes' on OS/2 -.PP +.PP .RE \fBNOTE:\fR in all cases, you must have sufficient privileges to get access to the chosen device or address. Depending on the security settings, devices may not be available for all users. -You have to change permissions on the dev/ppi* or /dev/parport* devices. -.PP +You have to change permissions on the dev/ppi* or /dev/parport* devices. +.PP .RE You can rename any device using the -.PP +.PP .RS .I name devname -.br +.br .I model model -.br +.br .I vendor vendor .RE -.PP -options. These options apply to the last port option. +.PP +options. These options apply to the last port option. .SH "CONFIGURATION" Please make sure to edit umax_pp.conf .B before you use the backend. -.PP +.PP The contents of the .B umax_pp.conf file is a list of options and device names that correspond to Umax scanners. Empty lines and lines starting with a hash mark (#) are ignored. -.PP +.PP The eight options supported are .BR red\-gain , .BR green\-gain , @@ -151,7 +151,7 @@ range from 0 (lowest gain) to 15 (highest). If the advanced option "Gain" isn't checked in the frontend, the backend does automatic gain calibration, and do not use user provided values. -.PP +.PP Options .B red\-offset @@ -160,21 +160,21 @@ Options and .B blue\-offset allow you to adjust the offset of your scanner for the given color. Values -range from 0 (lowest offset) to 15 (highest). -.PP +range from 0 (lowest offset) to 15 (highest). +.PP Option .B astra allows you to change the model of your scanner. Current auto detection is based on side effects on scanning when using 1220P command set on other models, so -it may fail on unknown hardware combination. Valid values are 610, 1220, 1600 +it may fail on unknown hardware combination. Valid values are 610, 1220, 1600 and 2000. It is useful only when autodetection fails to detect properly -your scanner model. If your scanner work properly but is reported wrongly, -let it be that way. -The only valid case to change the model is when your scanner produces "black" or -"inverted" scans. In this case you can put the model. Be aware that it will +your scanner model. If your scanner work properly but is reported wrongly, +let it be that way. +The only valid case to change the model is when your scanner produces "black" or +"inverted" scans. In this case you can put the model. Be aware that it will prevent scanner model autodetection. -.PP +.PP Option .B buffer @@ -183,26 +183,26 @@ bytes. The default value is 2 megabytes. Decreasing this value will improve the smoothness of progress bar in the frontend, but will stall the scan more often. -.PP +.PP .SH "FILES" -.TP +.TP .I @CONFIGDIR@/umax_pp.conf The backend configuration file (see also description of .B SANE_CONFIG_DIR below). -.TP +.TP .I @LIBDIR@/libsane\-umax_pp.a The static library implementing this backend. -.TP +.TP .I @LIBDIR@/libsane\-umax_pp.so The shared library implementing this backend (present on systems that support dynamic loading). .SH "ENVIRONMENT" -.TP +.TP .B SANE_CONFIG_DIR This environment variable specifies the list of directories that may contain the configuration file. Under UNIX, the directories are @@ -216,14 +216,14 @@ directories. For example, setting .B SANE_CONFIG_DIR to "/tmp/config:" would result in directories "tmp/config", ".", and "@CONFIGDIR@" being searched (in this order). -.TP +.TP .B SANE_DEBUG_UMAX_PP If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. E.g., a value of 128 requests all debug output to be printed. Smaller levels reduce verbosity. -.PP +.PP .RS .ft CR .nf @@ -239,14 +239,14 @@ level debug output .fi .ft R .RE -.PP -.TP +.PP +.TP .B SANE_DEBUG_UMAX_PP_LOW This variable sets the debug level for the SANE interface for the Umax ASIC. Note that enabling this will spam your terminal with some million lines of debug output. -.PP +.PP .RS .ft CR .nf @@ -256,18 +256,18 @@ level debug output 1 errors 8 command blocks 16 detailed code flow - 32 dump datafiles + 32 dump datafiles 255 everything .fi .ft R .RE -.PP - -.PP +.PP + +.PP .SH "SEE ALSO" sane(7), sane\-net(5), saned(8) -.TP +.TP For latest bug fixes and information see .I http://umax1220p.sourceforge.net/ @@ -282,21 +282,21 @@ by William Stuart. If something doesn't work, please contact me. But I need some information about your scanner to be able to help you... -.TP +.TP .I SANE version run "scanimage \-V" to determine this -.TP +.TP .I the backend version and your scanner hardware run "SANE_DEBUG_UMAX_PP=255 scanimage \-L 2>log" as root. If you don't get any output from the umax_pp backend, make sure a line "umax_pp" is included into your @CONFIGDIR@/dll.conf. If your scanner isn't detected, make sure you've defined the right port address, or the -correct device +correct device in your umax_pp.conf. -.TP +.TP .I the name of your scanner/vendor also a worthy information. Please also include the optical resolution and lamp type of your scanner, both can be found in the manual of your scanner. -.TP +.TP .I any further comments if you have comments about the documentation (what could be done better), or you think I should know something, please include it. diff --git a/doc/sane-usb.man b/doc/sane-usb.man index 8237a8a..cb65c7f 100644 --- a/doc/sane-usb.man +++ b/doc/sane-usb.man @@ -12,7 +12,7 @@ sanei_usb interface. However, there is one exceptions: USB Scanners supported by the microtek2 backend need a special USB kernel driver, see .BR sane\-microtek2 (5) -for details. +for details. .SH "QUICK START" This is a short HOWTO-like section. For the full details, read the following @@ -71,11 +71,11 @@ Usually udev or for older distributions the hotplug utilities are used, which support dynamic setting of access permissions. SANE comes with udev and hotplug scripts in the directory tools/udev and tools/hotplug. They can be used for setting permissions, see @DOCDIR@/README.linux, tools/README and the README in -the tools/hotplug directory for more details. +the tools/hotplug directory for more details. .PP For the .BR BSDs , -the device files used by libusb are named +the device files used by libusb are named .IR /dev/ugen* . Use chmod to apply appropriate permissions. @@ -114,7 +114,7 @@ usb 0x055f 0x0006 .PP would have the effect that all USB devices in the system with a vendor id of 0x55f and a product id of 0x0006 would be probed and recognized by the -backend. +backend. .PP If your scanner is not detected automatically, it may be necessary to edit the appropriate backend configuration file before using SANE for the first time. @@ -138,6 +138,13 @@ environment variable controls the debug level for the USB I/O subsystem. E.g., a value of 128 requests all debug output to be printed. Smaller levels reduce verbosity. Values greater than 4 enable libusb debugging (if available). Example: export SANE_DEBUG_SANEI_USB=4. +.PP +.TP +.B SANE_USB_WORKAROUND +If your scanner does not work when plugged into a USB3 port, try +setting the environment variable SANE_USB_WORKAROUND to 1. This +may work around issues which happen with particular kernel +versions. Example: export SANE_USB_WORKAROUND=1. .SH "SEE ALSO" .BR sane (7), diff --git a/doc/sane-v4l.man b/doc/sane-v4l.man index c0cae22..5af92ce 100644 --- a/doc/sane-v4l.man +++ b/doc/sane-v4l.man @@ -83,7 +83,7 @@ Juergen G. Schimmer, Henning Meier-Geinitz If more than one video card is present, a crash may occur. Frequency and geometry selection is missing. .br -Send bug reports to the SANE mailing list: sane\-devel@lists.alioth.debian.org. You must +Send bug reports to the SANE mailing list: sane\-devel@alioth-lists.debian.net. You must be subscribed to the list to send mail. See http://www.sane\-project.org/mailing\-lists.html for details. diff --git a/doc/sane-xerox_mfp.man b/doc/sane-xerox_mfp.man index 0ffa3e8..c03ddd4 100644 --- a/doc/sane-xerox_mfp.man +++ b/doc/sane-xerox_mfp.man @@ -20,7 +20,7 @@ For SCX\-4500W in network mode you need to specify .B tcp host_address [port] .RE .PP -The +The .B host_address is passed through resolver, thus can be a dotted quad or a name from /etc/hosts or resolvable through DNS. .SH FILES @@ -39,9 +39,9 @@ support dynamic loading). .B SANE_DEBUG_XEROX_MFP If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. Higher -debug levels increase the verbosity of the output. +debug levels increase the verbosity of the output. -Example: +Example: export SANE_DEBUG_XEROX_MFP=4 .SH LIMITATIONS @@ -49,7 +49,7 @@ Multicast autoconfiguration for LAN scanners is not implemented yet. IPv6 addres .SH BUGS AND SUPPORT If you have found a bug or need support please follow open\-source way of acquiring support via -mail\-lists http://www.sane\-project.org/mailing\-lists.html or SANE bug tracker +mail\-lists http://www.sane\-project.org/mailing\-lists.html or SANE bug tracker http://www.sane\-project.org/bugs.html .SH AUTHORS @@ -65,4 +65,3 @@ Laxmeesh Onkar Markod .BR sane (7), .BR sane\-usb (5) .br - diff --git a/doc/sane.man b/doc/sane.man index 3eadf42..a9fd50a 100644 --- a/doc/sane.man +++ b/doc/sane.man @@ -24,33 +24,33 @@ If you have trouble getting your scanner detected, read the PROBLEMS section. .SH TERMINOLOGY -An application that uses the +An application that uses the .B SANE -interface is called a +interface is called a .B SANE frontend. -A driver that implements the +A driver that implements the .B SANE interface is called a .B SANE backend. -A +A .B meta backend provides some means to manage one or more other backends. .SH "SOFTWARE PACKAGES" -The package +The package .RB ` sane\-backends ' -contains a lot of backends, documentation (including the +contains a lot of backends, documentation (including the .B SANE -standard), networking support, and the command line frontend +standard), networking support, and the command line frontend .RB ` scanimage '. -The frontends +The frontends .RB ` xscanimage "', `" xcam "', and `" scanadf ' are included in the package -.RB ` sane\-frontends '. +.RB ` sane\-frontends '. Both packages can be downloaded from the .B SANE -homepage +homepage .RI ( http://www.sane\-project.org/ ). Information about other frontends and backends can also be found on the .B SANE @@ -60,15 +60,15 @@ homepage. The following sections provide short descriptions and links to more information about several aspects of .B SANE. -A name with a number in parenthesis (e.g. +A name with a number in parenthesis (e.g. .RB ` sane\-dll (5)') -points to a manual page. In this case +points to a manual page. In this case .RB ` "man 5 sane\-dll" ' will display the page. Entries like .RI ` @DOCDIR@/sane.tex ' are references to text files that were copied to the .B SANE -documentation directory +documentation directory .RI ( @DOCDIR@/ ) during installation. Everything else is a URL to a resource on the web. @@ -79,9 +79,9 @@ can be found on the SANE homepage: .IR http://www.sane\-project.org/ . .TP .B SANE device lists -The +The .B SANE -device lists contain information about the status of +device lists contain information about the status of .B SANE support for a specific device. If your scanner is not listed there (either supported or unsupported), please contact us. See section HOW CAN YOU HELP @@ -100,9 +100,9 @@ unsubscribe: .TP .B SANE IRC channel The IRC (Internet Relay Chat) channel #sane can be found on the Freenode -network (irc.freenode.net). It's for discussing +network (irc.freenode.net). It's for discussing .B SANE -problems, talking about development and general +problems, talking about development and general .B SANE related chatting. Before asking for help, please read the other documentation mentioned in this manual page. The channel's topic is also used for @@ -127,13 +127,13 @@ For information about USB configuration see .SH "FRONTENDS AND MISCELLANEOUS PROGRAMS" .TP 2 .B scanimage -Command-line frontend. See +Command-line frontend. See .BR scanimage (1). .TP .B saned .B SANE network daemon that allows remote clients to access image acquisition devices -available on the local host. See +available on the local host. See .BR saned (8). .TP .B sane\-find\-scanner @@ -192,7 +192,7 @@ This backend supports several Avision based scanners. This includes the original Avision scanners (like AV 630, AV 620, ...) as well as the HP ScanJet 53xx and 74xx series, Fujitsu ScanPartner, some Mitsubishi and Minolta film-scanners. -See +See .BR sane\-avision (5) for details. .TP @@ -225,7 +225,7 @@ parallel port scanners. See for details. .TP .B cardscan -This backend provides support for Corex Cardscan USB scanners. See +This backend provides support for Corex Cardscan USB scanners. See .BR sane\-cardscan (5) for details. .TP @@ -260,7 +260,7 @@ and adf scanners. See for details. .TP .B genesys -The genesys backend provides support for several scanners based on the Genesys Logic +The genesys backend provides support for several scanners based on the Genesys Logic GL646, GL841, GL843, GL847 and GL124 chips like the Medion 6471 and Hewlett-Packard 2300c. See .BR sane\-genesys (5) @@ -363,7 +363,7 @@ for details. .TP .B microtek The microtek backend provides access to the "second generation" Microtek -scanners with SCSI-1 command set. See +scanners with SCSI-1 command set. See .BR sane\-microtek (5) for details. .TP @@ -448,6 +448,12 @@ scanners: IS50 and IS60. See .BR sane\-ricoh (5) for details. .TP +.B ricoh2 +The ricoh2 backend provides access to the following Ricoh flatbed +scanners: SG-3100SNw, SP-100SU, and SP-111SU. See +.BR sane\-ricoh2 (5) +for details. +.TP .B s9036 The s9036 backend provides access to Siemens 9036 flatbed scanners. See .BR sane\-s9036 (5) @@ -515,7 +521,7 @@ for details. .TP .B umax_pp The sane\-umax_pp backend provides access to Umax parallel port flatbed scanners -and the HP 3200C. See +and the HP 3200C. See .BR sane\-umax_pp (5) for details. .TP @@ -565,12 +571,12 @@ backend. See .BR sane\-gphoto2 (5). .TP .B qcam -Backend for Connectix QuickCam cameras. See +Backend for Connectix QuickCam cameras. See .BR sane\-qcam (5). .TP .B stv680 -The sane\-st680 backend provides access to webcams with a stv680 chip. See -.BR sane\-st680 (5) +The sane\-stv680 backend provides access to webcams with a stv680 chip. See +.BR sane\-stv680 (5) for details. .PP Also, have a look at the backend information page at @@ -589,7 +595,7 @@ backends by dynamic loading. See .BR sane\-dll (5). .TP .B net -The +The .B SANE network daemon saned provides access to scanners located on different computers in connection with the net backend. See @@ -634,9 +640,9 @@ and the list of projects in .IR @DOCDIR@/PROJECTS . .SH "CHANGING THE TOP-LEVEL BACKEND" -By default, all +By default, all .B SANE -backends (drivers) are loaded dynamically by the +backends (drivers) are loaded dynamically by the .B sane\-dll meta backend. If you have any questions about the dynamic loading, read @@ -655,8 +661,8 @@ It's not hard to write a backend. It can take some time, however. You should have basic knowledge of C and enough patience to work through the documentation and find out how your scanner works. Appended is a list of some documents that help to write backends -and frontends. -.PP +and frontends. +.PP The .B SANE standard defines the application programming interface (API) that is used to @@ -685,7 +691,7 @@ for projects that are planned or not yet included into the distribution and at our bug-tracking system: .IR http://www.http://www.sane\-project.org/bugs.html . .PP -There are some links on how to find out about the protocol of a scanner: +There are some links on how to find out about the protocol of a scanner: .IR http://www.meier\-geinitz.de/sane/misc/develop.html . .PP @@ -731,9 +737,9 @@ If your scanner (or other device) is not connected over the SCSI bus or USB, read the backend's manual page for details on how to set it up. .PP -Now your scanner is detected by the operating system but not by +Now your scanner is detected by the operating system but not by .BR SANE ? -Try +Try .BR "scanimage \-L" . If the scanner is not found, check that the backend's name is mentioned in .IR @CONFIGDIR@/dll.conf . @@ -741,7 +747,7 @@ Some backends are commented out by default. Remove the comment sign for your backend in this case. Also some backends aren't compiled at all if one of their prerequisites are missing. Examples include dc210, dc240, canon_pp, hpsj5s, gphoto2, pint, qcam, v4l, net, sm3600, snapscan, pnm. If you need one of these -backends and they aren't available, read the build instructions in the +backends and they aren't available, read the build instructions in the .B README file and the individual manual pages of the backends. .PP @@ -761,7 +767,7 @@ debugging. The environment variables are documented in the relevant manual pages. For example, to get the maximum amount of debug information when testing a Mustek SCSI scanner, set environment variables .BR SANE_DEBUG_DLL ", " SANE_DEBUG_MUSTEK ", and " SANE_DEBUG_SANEI_SCSI -to 128 and then invoke +to 128 and then invoke .B scanimage .B \-L . The debug messages for the dll backend tell if the mustek backend was found @@ -803,11 +809,11 @@ works and you want to use one of the graphical frontends like .BR xscanimage ", or" .B quiteinsane but those frontends don't detect your scanner? One reason may be that you -installed two versions of +installed two versions of .BR SANE . -E.g. the version that was installed by your distribution in +E.g. the version that was installed by your distribution in .I /usr -and one you installed from source in +and one you installed from source in .IR /usr/local/ . Make sure that only one version is installed. Another possible reason is, that your system's dynamic loader can't find the @@ -825,7 +831,7 @@ See also the documentation of the frontends. .SH "HOW CAN YOU HELP SANE" We appreciate any help we can get. Please have a look at our web page about -contributing to +contributing to .BR SANE : .I http://www.sane\-project.org/contrib.html .PP @@ -903,6 +909,7 @@ for details). .BR sane\-pnm (5), .BR sane\-qcam (5), .BR sane\-ricoh (5), +.BR sane\-ricoh2 (5), .BR sane\-s9036 (5), .BR sane\-sceptre (5), .BR sane\-scsi (5), diff --git a/doc/sane.tex b/doc/sane.tex index 4611797..71ff6fc 100644 --- a/doc/sane.tex +++ b/doc/sane.tex @@ -423,7 +423,7 @@ numbers. frontend/backend pair is compatible. The minor version and the build revision are used for informational and bug-fixing purposes only. - + \item[\code{\defn{SANE\_VERSION\_MAJOR}(\var{vc})}:] This macro returns the major version number component of the version code passed in argument \var{vc}. @@ -574,7 +574,7 @@ typedef char SANE_Char; Type \code{\defn{SANE\_String}} represents a text string as a sequence of C \verb|char| values. The end of the sequence is indicated by a -\verb|'\0'| (\defn{NUL}) character. +\verb|'\0'| (\defn{NUL}) character. \begin{quote} \begin{verbatim} typedef SANE_Char *SANE_String; @@ -702,20 +702,20 @@ will be expanded as need arises): \hline \multicolumn{2}{|c|}{\bf \defn{Vendor Strings}} \\ \hline\hline - \code{AGFA} & \code{Microtek} \\ - \code{Abaton} & \code{Minolta} \\ - \code{Acer} & \code{Mitsubishi} \\ - \code{Apple} & \code{Mustek} \\ - \code{Artec} & \code{NEC} \\ - \code{Avision} & \code{Nikon} \\ - \code{CANON} & \code{Plustek} \\ - \code{Connectix} & \code{Polaroid} \\ - \code{Epson} & \code{Relisys} \\ - \code{Fujitsu} & \code{Ricoh} \\ - \code{Hewlett-Packard} & \code{Sharp} \\ - \code{IBM} & \code{Siemens} \\ - \code{Kodak} & \code{Tamarack} \\ - \code{Lexmark} & \code{UMAX} \\ + \code{AGFA} & \code{Microtek} \\ + \code{Abaton} & \code{Minolta} \\ + \code{Acer} & \code{Mitsubishi} \\ + \code{Apple} & \code{Mustek} \\ + \code{Artec} & \code{NEC} \\ + \code{Avision} & \code{Nikon} \\ + \code{CANON} & \code{Plustek} \\ + \code{Connectix} & \code{Polaroid} \\ + \code{Epson} & \code{Relisys} \\ + \code{Fujitsu} & \code{Ricoh} \\ + \code{Hewlett-Packard} & \code{Sharp} \\ + \code{IBM} & \code{Siemens} \\ + \code{Kodak} & \code{Tamarack} \\ + \code{Lexmark} & \code{UMAX} \\ \code{Logitech} & \code{Noname} \\ \hline \end{tabular} @@ -823,29 +823,29 @@ in Table \ref{tab:valuetype}. \hline\hline \code{\defn{SANE\_TYPE\_BOOL}} & 0 & Option value is of type - \verb|SANE_Bool|. \\ + \verb|SANE_Bool|. \\ \code{\defn{SANE\_TYPE\_INT}} & 1 & Option value is of type - \verb|SANE_Int|. \\ + \verb|SANE_Int|. \\ \code{\defn{SANE\_TYPE\_FIXED}}&2 & Option value is of type - \verb|SANE_Fixed|. \\ + \verb|SANE_Fixed|. \\ \code{\defn{SANE\_TYPE\_STRING}}&3 & Option value is of type - \verb|SANE_String|. \\ + \verb|SANE_String|. \\ \code{\defn{SANE\_TYPE\_BUTTON}} & 4 & An option of this type has no value. Instead, setting an option of this type has an option-specific side-effect. For example, a button-typed option could be used by a backend to provide a means to select default values or to the tell an -automatic document feeder to advance to the next sheet of paper. \\ +automatic document feeder to advance to the next sheet of paper. \\ \code{\defn{SANE\_TYPE\_GROUP}} & 5 & An option of this type has no value. This type is used to group logically related options. A group option is in effect up to the point where another group option is encountered (or up to the end of the option list, if there are no other group options). For group options, only members \code{title} and -\code{type} are valid in the option descriptor. \\ +\code{type} are valid in the option descriptor. \\ \hline \end{tabular} @@ -945,14 +945,14 @@ capability bitset: \hline\hline \code{\defn{SANE\_CAP\_SOFT\_SELECT}} & 1 & The option - value can be set by a call to \code{sane\_con\-trol\_opt\-ion()}.\\ + value can be set by a call to \code{sane\_con\-trol\_opt\-ion()}.\\ \code{\defn{SANE\_CAP\_HARD\_SELECT}} & 2 & The option value can be set by user-intervention (e.g., by flipping a switch). The user-interface should prompt the user to execute the appropriate action to set such an option. This capability is mutually exclusive with SANE\_CAP\_SOFT\_SELECT (either one of them can be set, but not both - simultaneously). \\ + simultaneously). \\ \code{\defn{SANE\_CAP\_SOFT\_DETECT}} & 4 & The option value can be detected by software. If @@ -961,23 +961,23 @@ capability bitset: may or may not be set. If this capability is set but neither \code{SANE\_CAP\_SO\-FT\_SEL\-ECT} nor \code{SANE\_CAP\_HA\-RD\_SEL\-ECT} are, then there is no way to control the option. That is, the - option provides read-out of the current value only. \\ + option provides read-out of the current value only. \\ \code{\defn{SANE\_CAP\_EMULATED}} & 8 & If set, this capability indicates that an option is not directly supported by the device and is instead emulated in the backend. A sophisticated frontend may elect to use its own (presumably better) emulation in lieu of an emulated - option. \\ + option. \\ \code{\defn{SANE\_CAP\_AUTOMATIC}} & 16 & If set, this capability indicates that the backend (or the device) is capable to picking a reasonable option value automatically. For such options, it is possible to select automatic operation by calling \code{sane\_control\_option()} - with an action value of \code{SANE\_ACTION\_SET\_AUTO}. \\ + with an action value of \code{SANE\_ACTION\_SET\_AUTO}. \\ \code{\defn{SANE\_CAP\_INACTIVE}} & 32 & If set, this capability indicates that the option is not currently active (e.g., because it's - meaningful only if another option is set to some other value). \\ + meaningful only if another option is set to some other value). \\ \code{\defn{SANE\_CAP\_ADVANCED}} & 64 & If set, this capability indicates that the option should be @@ -985,7 +985,7 @@ capability bitset: displays such options in a less conspicuous way than regular options (e.g., a command line interface may list such options last or a graphical interface may make them available in a seperate ``advanced - settings'' dialog). + settings'' dialog). \\ \hline @@ -1045,7 +1045,7 @@ SANE_Range; specifies the quantization value. If $l$ is the minimum value, $u$ the maximum value and $q$ the (non-zero) quantization of a range, then the legal values are $v=k\cdot q+l$ for all non-negative - integer values of $k$ such that $v<=u$. \\ + integer values of $k$ such that $v<=u$. \\ \code{\defn{SANE\_CONSTRAINT\_WORD\_LIST}} & 2 & This constraint is applicable to integer and fixed-point valued options only. It constrains the @@ -1055,7 +1055,7 @@ SANE_Range; integer (\verb|SANE_Int|) that specifies the length of the list (not counting the length itself). The remaining elements in the list are interpreted according to the type of the option value - (\verb|SANE_TYPE_INT| or \verb|SANE_TYPE_FIXED|). \\ + (\verb|SANE_TYPE_INT| or \verb|SANE_TYPE_FIXED|). \\ \code{\defn{SANE\_CONSTRAINT\_STRING\_LIST}} & 3 & This constraint is applicable to string-valued options only. It constrains the option @@ -1288,7 +1288,7 @@ described in Table~\ref{tab:actions}. \code{\defn{SANE\_ACTION\_SET\_VALUE}} & 1 & Set option value. The option value passed through argument \code{v} may be modified by the - backend if the value cannot be set exactly. \\ + backend if the value cannot be set exactly. \\ \code{\defn{SANE\_ACTION\_SET\_AUTO}} & 2 & Turn on automatic mode. Backend or device will automatically select an appropriate value. This mode @@ -1862,7 +1862,7 @@ regarding these options: \item A frontend must work properly with any or all of these options missing. - + \end{itemize} \input{net.tex} @@ -1873,7 +1873,7 @@ The SANE standard is discussed and evolved via a mailing list. Anybody with email access to the Internet can automatically join and leave the discussion group by sending mail to the following address. \begin{quote}\index{mailing list} -\url{sane-devel-request@lists.alioth.debian.org} +\url{sane-devel-request@alioth-lists.debian.net} \end{quote} To subscribe, send a mail with the body ``\verb|subscribe sane-devel|'' to the above address. diff --git a/doc/saned.man b/doc/saned.man index 7b0fa4a..d019901 100644 --- a/doc/saned.man +++ b/doc/saned.man @@ -1,17 +1,26 @@ -.TH saned 8 "20 Apr 2009" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" +.TH saned 8 "29 Sep 2017" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" .IX saned .SH NAME saned \- SANE network daemon .SH SYNOPSIS .B saned -.B [ \-a +.B [ \-a .I [ username ] -.B | \-d -.I [ n ] -.B | \-s -.I [ n ] -.B | \-h .B ] +.B [ \-u +.I username +.B ] +.B [ \-b +.I address +.B ] +.B [ \-l ] +.B [ \-D ] +.B [ \-o ] +.B [ \-d +.I n +.B ] +.B [ \-e ] +.B [ \-h ] .SH DESCRIPTION .B saned is the SANE (Scanner Access Now Easy) daemon that allows remote clients @@ -19,59 +28,77 @@ to access image acquisition devices available on the local host. .SH OPTIONS .PP The -.B \-a +.B \-l flag requests that .B saned -run in standalone daemon mode. In this mode, +run in standalone daemon mode. In this mode, .B saned -will detach from the console and run in the background, listening for incoming -client connections; +will listen for incoming client connections; .B inetd is not required for .B saned -operations in this mode. If the optional -.B username -is given after -.B \-a -, +operations in this mode. The +.B \-b +flag tells +.B saned +to bind to the +.I address +given. The +.B \-u +flag requests that .B saned -will drop root privileges and run as this user (and group). +drop root privileges and run as the user (and group) associated with +.I username +after binding. +The +.B \-D +flag will request +.B saned +to detach from the console and run in the background. +The flag +.B \-a +is equivalent to the combination of +.B \-l \-B \-u +.I username +options. .PP The .B \-d -and -.B \-s -flags request that -.B saned -run in debug mode (as opposed to -.BR inetd (8) -daemon mode). In this mode, +flag sets the level of .B saned -explicitly waits for a connection request. When compiled with -debugging enabled, these flags may be followed by a number to request -debug info. The larger the number, the more verbose the debug output. -E.g., +debug output. When compiled with debugging enabled, this flag may be +followed by a number to request more or less debug info. The larger +the number, the more verbose the debug output. E.g., .B \-d128 -will request printing of all debug info. Debug level 0 means no debug output -at all. The default value is 2. If flag -.B \-d -is used, the debug messages will be printed to stderr while -.B \-s -requests using syslog. +will request output of all debug info. A level of 0 produces no +output at all. The default value is 2. .PP -If +The +.B \-e +flag will divert +.B saned +debug output to stderr instead of the syslog default. +.PP +The +.B \-o +flag requests that .B saned -is run from inetd, xinetd or systemd, no option can be given. +exits after the first client disconnects. This is useful for debugging. .PP The .B \-h flag displays a short help message. +.PP +If +.B saned +is run from other programs such as inetd, xinetd and systemd, check that +program's documentation on how to pass command-line options. .SH CONFIGURATION -First and foremost: +First and foremost: .B saned is not intended to be exposed to the internet or other non-trusted networks. Make sure that access is limited by tcpwrappers and/or a firewall -setup. Don't depend only on +setup. Don't depend only on .BR saned 's own authentication. Don't run .B saned @@ -81,7 +108,7 @@ install .B saned as setuid root. .PP -The +The .I saned.conf configuration file contains both options for the daemon and the access list. @@ -93,6 +120,13 @@ may have performance issues. Use this option if your \fBsaned\fP server is sitting behind a firewall. If that firewall is a Linux machine, we strongly recommend using the Netfilter \fInf_conntrack_sane\fP module instead. +.TP +\fBdata_connect_timeout\fP = \fItimeout\fP +Specify the time in milliseconds that saned will wait for a data +connection. Without this option, if the data connection is not done +before the scanner reaches the end of scan, the scanner will continue +to scan past the end and may damage it depending on the +backend. Specify zero to have the old behavior. The default is 4000ms. .PP The access list is a list of host names, IP addresses or IP subnets (CIDR notation) that are permitted to use local SANE devices. IPv6 @@ -131,21 +165,21 @@ identical to ahost.com. .SH SERVER DAEMON CONFIGURATION For .B saned -to work properly in its default mode of operation, it is also necessary to -add the appropriate configuration for +to work properly in its default mode of operation, it is also necessary to +add the appropriate configuration for .I (x)inetd or systemd. (see below). Note that your inetd must support IPv6 if you -want to connect to saned over IPv6 ; xinetd, openbsd-inetd and systemd +want to connect to saned over IPv6 ; xinetd, openbsd-inetd and systemd are known to support IPv6, check the documentation for your inetd daemon. .PP -In the sections below the configuration for +In the sections below the configuration for .I inetd, xinetd and .I systemd are described in more detail. .PP -For the configurations below it is necessary to add a line of the following +For the configurations below it is necessary to add a line of the following form to .IR /etc/services : .PP @@ -153,7 +187,7 @@ form to sane\-port 6566/tcp # SANE network scanner daemon .RE .PP -The official IANA short name for port 6566 is "sane\-port". The older name +The official IANA short name for port 6566 is "sane\-port". The older name "sane" is now deprecated. .SH INETD CONFIGURATION It is required to add a single line to the inetd configuration file @@ -183,22 +217,22 @@ Note that both examples assume that there is a .B saned group and a .B saned -user. If you follow this example, please make sure that the +user. If you follow this example, please make sure that the access permissions on the special device are set such that .B saned can access the scanner (the program generally needs read and write access to scanner devices). .SH XINETD CONFIGURATION If xinetd is installed on your system instead of inetd the following example -for -.I /etc/xinetd.conf +for +.I /etc/xinetd.conf may be helpful: .PP .RS .ft CR .nf # default: off -# description: The sane server accepts requests +# description: The sane server accepts requests # for network access to a local scanner via the # network. service sane\-port @@ -214,14 +248,14 @@ service sane\-port .ft R .RE .SH SYSTEMD CONFIGURATION -Saned can be compiled with explicit systemd support. This +Saned can be compiled with explicit systemd support. This will allow logging debugging information to be forwarded to the systemd journal. The systemd support requires compilation with the systemd-devel package installed on the system. this is the preferred option. -Saned can be used wih systemd without the systemd integration -compiled in, but then logging of debug information is not supported. +Saned can be used wih systemd without the systemd integration +compiled in, but then logging of debug information is not supported. The systemd configuration is different for the 2 options, so both are described below. @@ -229,8 +263,8 @@ both are described below. for the systemd configuration we need to add 2 configuration files in .I /etc/systemd/system. .PP -The first file we need to add here is called -.I saned.socket. +The first file we need to add here is called +.I saned.socket. It shall have the following contents: .PP @@ -251,8 +285,8 @@ WantedBy=sockets.target .ft R .RE .PP -The second file to be added is -.I saned@.service +The second file to be added is +.I saned@.service with the following contents: .PP .RS @@ -269,7 +303,7 @@ Group=saned StandardInput=null StandardOutput=syslog StandardError=syslog -Environment=SANE_CONFIG_DIR=@CONFIGDIR@ +Environment=SANE_CONFIG_DIR=@CONFIGDIR@ # If you need to debug your configuration uncomment the next line and # change it as appropriate to set the desired debug options # Environment=SANE_DEBUG_DLL=255 SANE_DEBUG_BJNP=5 @@ -280,21 +314,21 @@ Also=saned.socket .ft R .RE .PP -You need to set an environment variable for +You need to set an environment variable for .B SANE_CONFIG_DIR pointing to the directory where saned can find its configuration files. -you will have to remove the # on the last line and set the variables -for the desired debugging information if required. Multiple variables -can be set by separating the assignments by spaces as shown in the +you will have to remove the # on the last line and set the variables +for the desired debugging information if required. Multiple variables +can be set by separating the assignments by spaces as shown in the example above. .PP -Unlike +Unlike .I (x)inetd , systemd allows debugging output from backends set using .B SANE_DEBUG_XXX to be captured. See the man-page for your backend to see what options are supported. -With the service unit as described above, the debugging output is +With the service unit as described above, the debugging output is forwarded to the system log. .SH Systemd configuration when saned is compiled without systemd support @@ -305,7 +339,7 @@ for systemd configuration for saned, we need to add 2 configuration files in .I /etc/systemd/system. .PP The first file we need to add here is called -.I saned.socket. +.I saned.socket. It is identical to the version for systemd with the support compiled in. It shall have the following contents: .PP diff --git a/doc/scanimage.man b/doc/scanimage.man index 4d47eb8..83624a4 100644 --- a/doc/scanimage.man +++ b/doc/scanimage.man @@ -11,7 +11,7 @@ scanimage \- scan an image .RB [ \-i | \-\-icc\-profile .IR profile ] .RB [ \-L | \-\-list\-devices ] -.RB [ \-f | \-\-formatted\-device\-list +.RB [ \-f | \-\-formatted\-device\-list .IR format ] .RB [ \-b | \-\-batch .RI [= format ]] @@ -24,6 +24,7 @@ scanimage \- scan an image .RB [ \-\-batch\-double ] .RB [ \-\-accept\-md5\-only ] .RB [ \-p | \-\-progress ] +.RB [ \-o | \-\-output-file ] .RB [ \-n | \-\-dont\-scan ] .RB [ \-T | \-\-test ] .RB [ \-A | \-\-all-options ] @@ -84,9 +85,9 @@ or .B \-\-device\-name options must be followed by a .B SANE -device-name like +device-name like .RI ` epson:/dev/sg0 ' -or +or .RI ` hp:/dev/usbscanner0 '. A (partial) list of available devices can be obtained with the .B \-\-list\-devices @@ -94,14 +95,15 @@ option (see below). If no device-name is specified explicitly, .B scanimage reads a device-name from the environment variable .BR SANE_DEFAULT_DEVICE . -If this variable is not set, +If this variable is not set, .B scanimage will attempt to open the first available device. .PP The -.B \-\-format +.B \-\-format .I format -option selects how image data is written to standard output. +option selects how image data is written to standard output or the file specified by +the \-\-output\-file option. .I format can be .BR pnm , @@ -111,7 +113,7 @@ or .BR jpeg . If .B \-\-format -is not used, PNM is written. +is not specified, PNM is written by default. .PP The .B \-i @@ -126,7 +128,7 @@ or option requests a (partial) list of devices that are available. The list is not complete since some devices may be available, but are not listed in any of the configuration files (which are typically stored -in directory +in directory .IR @CONFIGDIR@ ). This is particularly the case when accessing scanners through the network. If a device is not listed in a configuration file, the only way to access it is @@ -161,7 +163,7 @@ SCSI, produced by SHARP The .B \-\-batch* options provide the features for scanning documents using document -feeders. +feeders. .BR \-\-batch .RI [ format ] is used to specify the format of the filename that each page will be written @@ -169,6 +171,7 @@ to. Each page is written out to a single file. If .I format is not specified, the default of out%d.pnm (or out%d.tif for \-\-format tiff, out%d.png for \-\-format png or out%d.jpg for \-\- format jpeg) will be used. +This option is incompatible with the \-\-output\-path option. .I format is given as a printf style string with one integer parameter. .B \-\-batch\-start @@ -177,11 +180,11 @@ selects the page number to start naming files with. If this option is not given, the counter will start at 1. .B \-\-batch\-count .I count -specifies the number of pages to attempt to scan. If not given, +specifies the number of pages to attempt to scan. If not given, scanimage will continue scanning until the scanner returns a state other than OK. Not all scanners with document feeders signal when the ADF is empty, use this command to work around them. -With +With .B \-\-batch\-increment .I increment you can change the amount that the number in the filename is incremented @@ -211,10 +214,20 @@ option requests that .B scanimage prints a progress counter. It shows how much image data of the current image has already been received by -.B scanimage +.B scanimage (in percent). .PP The +.B \-o +or +.B \-\-output\-file +option requests that +.B scanimage +saves the scanning output to the given path. This option is incompatible with the +\-\-batch option. The program will try to guess \-\-format from the file name. +If that is not possible, it will print an error message and exit. +.PP +The .B \-n or .B \-\-dont\-scan @@ -265,7 +278,7 @@ level. .PP The .B \-B -option without argument changes the input buffer size from the default 32KB to 1MB. For finer grained control, use +option without argument changes the input buffer size from the default 32KB to 1MB. For finer grained control, use .B \-\-buffer-size= followed by the number of KB. .PP @@ -426,7 +439,7 @@ is possible to specify multiple such linear segments. For example, "[0]3-[2]3-[6]7,[7]10-[9]6" is equivalent to "3,3,3,4,5,6,7,10,8,6". The program .B gamma4scanimage -can be used to generate such gamma tables (see +can be used to generate such gamma tables (see .BR gamma4scanimage (1) for details). .RE @@ -440,7 +453,7 @@ for details). The description above is an example of an option that takes an arbitrary string value (which happens to be a filename). Again, the value in brackets show that the option is current set to the -filename +filename .BR /tmp/input.ppm . .RE diff --git a/doc/sceptre/s1200.txt b/doc/sceptre/s1200.txt index ade81db..2dc100a 100644 --- a/doc/sceptre/s1200.txt +++ b/doc/sceptre/s1200.txt @@ -30,13 +30,13 @@ Vendor Spec 02 00 00 00 04 00 Get 4 bytes of status. Used to check the button. Default result when the button is not pressed - 06 00 00 00 + 06 00 00 00 INQUIRY result: - 06 00 02 02 30 00 00 10 4b 49 4e 50 4f 20 20 20 ....0...KINPO - 56 69 76 69 64 73 63 61 6e 20 53 31 32 30 20 20 Vividscan S120 - 53 31 33 20 20 20 20 20 02 01 00 00 4a 45 46 46 S13 ....JEFF + 06 00 02 02 30 00 00 10 4b 49 4e 50 4f 20 20 20 ....0...KINPO + 56 69 76 69 64 73 63 61 6e 20 53 31 32 30 20 20 Vividscan S120 + 53 31 33 20 20 20 20 20 02 01 00 00 4a 45 46 46 S13 ....JEFF ... MODE SEL @@ -55,15 +55,15 @@ SET WINDOW 24 00 00 00 00 00 00 00 52 00 The window size is always 0x52 bytes. The parameters look standard: - X/Y resolution | - - Upper left X,Y |- all three coded in 600 dpi units + - Upper left X,Y |- all three coded in 600 dpi units - Width, Length | - + The supported scan modes are: - lineart image comp=0, halftone=0, depth=1 - halftone image comp=0, haltone=1 to 4, depth=1 - grayscale image comp=2, halftone=0, depth=8 - color image comp=5, halftone=0, depth=24 - + Y resolution is not used (X is also used for Y) X resolution is limited to 600 (if above, scanner defaults to 600) Y resolution is limited to 1200 (if above, scanner defaults to 1200) @@ -105,5 +105,3 @@ The shifts are: 50 0 Some resolution give garbage. However that table might not be complete. - - diff --git a/doc/teco/teco1.txt b/doc/teco/teco1.txt index d555e9e..47519fa 100644 --- a/doc/teco/teco1.txt +++ b/doc/teco/teco1.txt @@ -6,8 +6,8 @@ Relisys RELI 2412 (no ADF, no transparency adapter) single pass scanner - 300*1200 dpi - 8.5*14 Inquiry: - 000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20 ....0...RELISYS - 016: 56 4d 33 35 33 30 2b 20 20 20 20 20 20 20 20 20 VM3530+ + 000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20 ....0...RELISYS + 016: 56 4d 33 35 33 30 2b 20 20 20 20 20 20 20 20 20 VM3530+ 032: 31 2e 30 38 31 2e 30 38 02 00 54 45 43 4f 20 56 1.081.08..TECO V 048: 4d 33 35 33 41 M353A Inquiry page 0x82 @@ -16,16 +16,16 @@ Inquiry page 0x82 AVEC Colour 2412 three pass scanner - 300*600 dpi - 8.5*14 - 000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20 ....0... - 016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20 Image Scanner + 000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20 ....0... + 016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20 Image Scanner 032: 31 2e 30 38 31 2e 30 38 02 00 54 45 43 4f 20 56 1.081.08..TECO V 048: 4d 33 35 32 41 M352A Avec Color Office 2400 (no ADF, no transparency adapter) three pass scanner - 300*600 dpi - 8.5*14 Inquiry: - 000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20 ....0... - 016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20 Image Scanner + 000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20 ....0... + 016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20 Image Scanner 032: 32 2e 30 34 32 2e 30 34 02 00 54 45 43 4f 20 56 2.042.04..TECO V 048: 4d 33 35 32 30 M3520 Inquiry page 0x82 @@ -33,8 +33,8 @@ Inquiry page 0x82 016: 20 56 32 2e 30 34 V2.04 RELI 4830 (no ADF, with transparency adapter) - 000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20 ....0...RELISYS - 016: 52 45 4c 49 20 34 38 33 30 20 20 20 20 20 20 20 RELI 4830 + 000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20 ....0...RELISYS + 016: 52 45 4c 49 20 34 38 33 30 20 20 20 20 20 20 20 RELI 4830 032: 31 2e 30 33 31 2e 30 33 02 00 54 45 43 4f 20 56 1.031.03..TECO V 048: 4d 34 35 34 32 M4542 Inquiry page 0x82 @@ -42,9 +42,9 @@ Inquiry page 0x82 016: 20 56 31 2e 30 33 V1.03 Dextra DF-600P - VM3510 - 000: 06 00 02 02 24 00 00 10 44 46 2D 36 30 30 4D 20 ....$...DF-600M - 016: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - 032: 31 2E 31 37 31 2E 31 37 02 1.171.17. + 000: 06 00 02 02 24 00 00 10 44 46 2D 36 30 30 4D 20 ....$...DF-600M + 016: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 + 032: 31 2E 31 37 31 2E 31 37 02 1.171.17. /*--------------------------------------------------------------------------*/ @@ -54,13 +54,13 @@ SCSI commands supported by the RELISYS VM3530+: TEST UNIT READY 00 00 00 00 00 00 -REQ SENSE +REQ SENSE 03 00 00 00 12 00 VENDOR-09 09 00 00 78 00 00 - 3-4 = length of data to receive. Always 30720 bytes. - Probably 12 lines of calibration at 300dpi. + 3-4 = length of data to receive. Always 30720 bytes. + Probably 12 lines of calibration at 300dpi. 8.5*300*12=30600 VENDOR-0E (?) @@ -77,21 +77,21 @@ INQUIRY: page 0x82 (vendor specific) - real scanner name with version 0-3 = page header - 4 = string length + 4 = string length 5-21 = real scanner name with version MODE SELECT 15 10 00 00 18 00 always sends: - 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 01 - 03 06 02 00 00 01 00 00 + 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 01 + 03 06 02 00 00 01 00 00 SCAN 1B 00 00 00 00 00 SET WINDOW -24 00 00 00 00 00 00 00 63 00 +24 00 00 00 00 00 00 00 63 00 Total length is 99 07 = length (99-8 = 91) 10-11 = X Resolution @@ -116,7 +116,7 @@ Total length is 99 0x06 = 8 X 8 Smooth 0x07 = 8 X 8 Horizontal 0x08 = 8 X 8 Vertical - 37 = + 37 = 0x80 = RIF (VM353A only?) 63 = calibration? 0x00 yes @@ -127,9 +127,9 @@ Total length is 99 93 = 0x80 = ? (seems to activate a contrast value on VM353A) - 37, 55, 57, 59, 61, 65, 67, 69, 71, 73, 75, 77, 79 = 0x80 + 37, 55, 57, 59, 61, 65, 67, 69, 71, 73, 75, 77, 79 = 0x80 85, 89, 93, 97 = 0xff - + READ 28 00 00 00 00 00 00 00 3E 00 6-8 = length @@ -147,10 +147,10 @@ GET DATA BUFFER STATUS returned buffer is 0x10 bytes long. 0-2 = additional length (0x10-3 = 0x0D) 3 = reserved(?) - 8 = ? + 8 = ? 9-11 = filled data buffer 12-13 = number of lines (constant during a scan) - 14-15 = bytes per line (constant during a scan) + 14-15 = bytes per line (constant during a scan) /*--------------------------------------------------------------------------*/ diff --git a/doc/teco/teco2.txt b/doc/teco/teco2.txt index 5b64a83..b45b795 100644 --- a/doc/teco/teco2.txt +++ b/doc/teco/teco2.txt @@ -4,15 +4,15 @@ INQUIRY TECO VM3564 (1) -000: 06 00 02 02 43 00 00 10 52 45 4c 49 53 59 53 20 ....C...RELISYS -016: 41 56 45 43 20 49 49 20 53 33 20 20 20 20 20 20 AVEC II S3 +000: 06 00 02 02 43 00 00 10 52 45 4c 49 53 59 53 20 ....C...RELISYS +016: 41 56 45 43 20 49 49 20 53 33 20 20 20 20 20 20 AVEC II S3 032: 31 2e 30 37 31 2e 30 37 00 01 54 45 43 4f 20 56 1.071.07..TECO V 048: 4d 33 35 36 34 20 00 01 01 2c 00 01 02 58 09 f6 M3564 ...,...X.. 064: 0d af 01 2c 00 08 01 00 ...,.... TECO VM3564 (2) -000: 06 00 02 02 43 00 00 10 52 45 4c 49 53 59 53 20 ....C...RELISYS -016: 41 56 45 43 20 49 49 20 53 33 20 20 20 20 20 20 AVEC II S3 +000: 06 00 02 02 43 00 00 10 52 45 4c 49 53 59 53 20 ....C...RELISYS +016: 41 56 45 43 20 49 49 20 53 33 20 20 20 20 20 20 AVEC II S3 032: 31 2e 30 39 31 2e 30 39 00 01 54 45 43 4f 20 56 1.091.09..TECO V 048: 4d 33 35 36 34 20 00 01 01 2c 00 01 02 58 09 f6 M3564 ...,...X.. 064: 0d af 01 2c 00 08 01 00 ...,.... @@ -25,21 +25,21 @@ TECO VM356A (1) 064: 0d af 01 2c 00 08 01 00 ...,.... TECO VM356A (2) -000: 06 00 02 02 43 00 00 10 50 72 69 6d 61 78 20 20 ....C...Primax -016: 4a 65 77 65 6c 20 20 20 20 20 20 20 20 20 20 20 Jewel +000: 06 00 02 02 43 00 00 10 50 72 69 6d 61 78 20 20 ....C...Primax +016: 4a 65 77 65 6c 20 20 20 20 20 20 20 20 20 20 20 Jewel 032: 31 2e 30 31 31 2e 30 31 00 01 54 45 43 4f 20 56 1.011.01..TECO V 048: 4d 33 35 36 41 20 00 01 01 2c 00 01 02 58 09 f6 M356A ...,...X.. 064: 0d af 01 2c 00 08 01 00 ...,.... TECO VM3575 -000: 06 00 02 02 43 00 00 00 20 20 20 20 20 20 20 20 ....C... -016: 46 6c 61 74 62 65 64 20 53 63 61 6e 6e 65 72 20 Flatbed Scanner +000: 06 00 02 02 43 00 00 00 20 20 20 20 20 20 20 20 ....C... +016: 46 6c 61 74 62 65 64 20 53 63 61 6e 6e 65 72 20 Flatbed Scanner 032: 31 2e 30 33 31 2e 30 33 00 01 54 45 43 4f 20 56 1.031.03..TECO V 048: 4d 33 35 37 35 20 00 01 01 2c 00 01 02 58 09 f6 M3575 ...,...X.. 064: 0d af 01 2c 00 08 01 00 ...,.... TECO VM656A -000: 06 00 02 02 43 00 00 00 52 45 4c 49 53 59 53 20 ....C...RELISYS +000: 06 00 02 02 43 00 00 00 52 45 4c 49 53 59 53 20 ....C...RELISYS 016: 41 50 4f 4c 4c 4f 20 45 78 70 72 65 73 73 20 36 APOLLO Express 6 032: 31 2e 30 33 31 2e 30 33 00 01 54 45 43 4f 20 56 1.031.03..TECO V 048: 4d 36 35 36 41 00 01 01 2c 00 01 02 58 09 f6 0d M656A...,...X... @@ -53,8 +53,8 @@ TECO VM6575 064: 0d af 01 2c 00 08 01 00 ...,.... TECO VM6586 -000: 06 00 02 02 43 00 00 00 20 20 20 20 20 20 20 20 ....C... -016: 46 6c 61 74 62 65 64 20 53 63 61 6e 6e 65 72 20 Flatbed Scanner +000: 06 00 02 02 43 00 00 00 20 20 20 20 20 20 20 20 ....C... +016: 46 6c 61 74 62 65 64 20 53 63 61 6e 6e 65 72 20 Flatbed Scanner 032: 33 2e 30 31 33 2e 30 31 00 01 54 45 43 4f 20 56 3.013.01..TECO V 048: 4d 36 35 38 36 20 00 01 01 2c 00 01 02 58 09 f6 M6586 ...,...X.. 064: 0d af 01 2c 00 08 01 00 ...,.... @@ -93,7 +93,7 @@ Set calibration. Apparently the line is computed from the calibration lines. It INQUIRY -12 00 00 00 48 00 +12 00 00 00 48 00 standard inquiry 72 bytes 32-39: firmware version @@ -123,8 +123,8 @@ SET WINDOW 24 00 00 00 00 00 00 00 35 00 (VM3575) 24 00 00 00 00 00 00 00 38 00 (VM6586) -Total length is - 07 = length +Total length is + 07 = length VM3575 53-8 = 45 VM6586 56-8 = 48 VM3552 69-8 = 61 @@ -142,11 +142,11 @@ Total length is 34 = bit depth? - invariant, always 8 36 = (vm6586 only ?) halftone pattern ? 1 = type 1 dithering - 37 = + 37 = 0x80 = RIF? 48 = color channel to use if scan mode is 0 or 2: - 0x00 = red + 0x00 = red 0x01 = green 0x02 = blue if scan mode is 05 -> ignored @@ -161,10 +161,10 @@ Total length is READ 28 00 00 00 00 19 00 1f 0e 00 5 = number of lines to read - 7-8 = buffer size. + 7-8 = buffer size. Always number of lines to read * size of a line. 0x2000 appears to be the upper limit - + SEND 2A 00 03 00 00 04 00 0C 00 00 @@ -194,7 +194,7 @@ GET DATA BUFFER STATUS 7 = ? always 0x14 11 = bit 7 - (maybe) scanner is ready to send data 12-13 = number of lines (constant during a scan) - 14-15 = bytes per line (constant during a scan) + 14-15 = bytes per line (constant during a scan) 16-17 = garbage (the command only returns 0x10 bytes) @@ -236,32 +236,31 @@ TECO VM656A reads 8 lines of calibration TECO VM6586 ?? Algorithms used (text from Alex Wulms): -The old algorithm was based on the assumption that the calibration value needs -to be an offset, to go from the value obtained during input to the average +The old algorithm was based on the assumption that the calibration value needs +to be an offset, to go from the value obtained during input to the average value (0x800). -E.g., if the input value is 0x800, the calibration value must be 0x800 (0x1000 +E.g., if the input value is 0x800, the calibration value must be 0x800 (0x1000 - 0x800). -Likewise, if the input value is 0x700, the calibration value must be 0x900 +Likewise, if the input value is 0x700, the calibration value must be 0x900 (0x1000 - 0x700) And if the input value is 0x600, the calibration value must be 0xA00 -The new algorithm is based on the assumption that the calibration needs to be -a multiplication factor, to compensate for the too strong or too weak pixel -in the sensor. Again, we want to obtain the average value (approximately +The new algorithm is based on the assumption that the calibration needs to be +a multiplication factor, to compensate for the too strong or too weak pixel +in the sensor. Again, we want to obtain the average value (approximately 0x800) for every pixel read during calibration. -E.g., if the input value is 0x800, the calibration value must be 0x800 +E.g., if the input value is 0x800, the calibration value must be 0x800 (0x800*0x800 / 0x800). -Likewise, if the input value is 0x700, the calibration value must be 0x924 +Likewise, if the input value is 0x700, the calibration value must be 0x924 (0x800*0x800 / 0x700). -And if the input value is 0x600, the calibration value must 0xAAA (0x800*0x800 +And if the input value is 0x600, the calibration value must 0xAAA (0x800*0x800 / 0x600) -Though, carefull comparison with scans done under windows has shown that the -factor is slightly different from 0x800*0x800(=0x400000) but in stead it -seems to be approximately 0x40302f (which would mean that the average value +Though, carefull comparison with scans done under windows has shown that the +factor is slightly different from 0x800*0x800(=0x400000) but in stead it +seems to be approximately 0x40302f (which would mean that the average value is approximately 0x803 in stead of 0x800). Hope this is clarifies the new algorithm. - diff --git a/doc/teco/teco3.txt b/doc/teco/teco3.txt index bc6391f..c263f95 100644 --- a/doc/teco/teco3.txt +++ b/doc/teco/teco3.txt @@ -7,7 +7,7 @@ sharing features of both. Hence a third backend. PIOTECH 3024 (TECO Scorpio/Taurus Infinity VM3552): - 000: 06 00 02 02 43 00 00 10 20 20 20 20 20 20 20 20 ....C... + 000: 06 00 02 02 43 00 00 10 20 20 20 20 20 20 20 20 ....C... 016: 46 6c 61 74 2d 62 65 64 20 73 63 61 6e 6e 65 72 Flat-bed scanner 032: 35 2e 30 38 35 2e 30 38 03 02 54 45 43 4f 20 56 5.085.08..TECO V 048: 4d 33 35 35 32 20 00 01 01 2c 00 01 04 b0 09 f6 M3552 ...,...... @@ -41,13 +41,13 @@ SCSI commands supported by the RELISYS VM3530+: TEST UNIT READY 00 00 00 00 00 00 -REQ SENSE +REQ SENSE 03 00 00 00 12 00 VENDOR-09 09 00 00 78 00 00 - 3-4 = length of data to receive. Always 30720 bytes. - Probably 12 lines of calibration at 300dpi. + 3-4 = length of data to receive. Always 30720 bytes. + Probably 12 lines of calibration at 300dpi. 8.5*300*12=30600 VENDOR-0E (?) @@ -91,7 +91,7 @@ Total length is 99 0x06 = 8 X 8 Smooth 0x07 = 8 X 8 Horizontal 0x08 = 8 X 8 Vertical - 37 = + 37 = 0x80 = RIF ? 48 = color channel to use if scan mode is 0 or 2: @@ -105,7 +105,7 @@ Total length is 99 02 = no 53, 57, 61, 65: 0xff - + READ 28 00 00 00 00 00 00 00 3E 00 6-8 = length @@ -130,7 +130,7 @@ GET DATA BUFFER STATUS 6-8 = scanner memory (with no RAM, it is 32KB on the VM3552) 9-11 = filled data buffer 12-13 = number of lines (constant during a scan) - 14-15 = bytes per line (constant during a scan) + 14-15 = bytes per line (constant during a scan) 16 = ? 17 = in color mode, 0x07 seems to means to the colors are shifted and given by rasters. 0x00 seems to mean that there is no @@ -163,4 +163,3 @@ park the CCD: OBJECT POSITION /*--------------------------------------------------------------------------*/ - diff --git a/doc/umax/negative-types.txt b/doc/umax/negative-types.txt index c1f26ce..142807f 100644 --- a/doc/umax/negative-types.txt +++ b/doc/umax/negative-types.txt @@ -12,4 +12,3 @@ konica 38% 21% 14% 3% 0% 0% --------------------------------------------------------------- agfa 61% 24% 13% 6% 2% 0% --------------------------------------------------------------- - diff --git a/doc/umax/sane-umax-advanced-options-doc.html b/doc/umax/sane-umax-advanced-options-doc.html index dd2277b..fa29952 100644 --- a/doc/umax/sane-umax-advanced-options-doc.html +++ b/doc/umax/sane-umax-advanced-options-doc.html @@ -64,7 +64,7 @@ Supported scanners:
  • XSane homepage

  • - +
    diff --git a/doc/umax/sane-umax-config-doc.html b/doc/umax/sane-umax-config-doc.html index c5f43b1..a269079 100644 --- a/doc/umax/sane-umax-config-doc.html +++ b/doc/umax/sane-umax-config-doc.html @@ -194,7 +194,7 @@ with the calibration please enable debug output.

    calibration-full-ccd:
    The calibration can be done for each element of the CCD (1) -or for each pixel of the requested image(0). +or for each pixel of the requested image(0). The value -1 enables the value defined in the driver.

    calibration-width-offset:
    @@ -205,7 +205,7 @@ The value -1 enables the value defined in the driver. calibration-bytes-pixel:
    Some scanners use 1 byte calibration data although the scanner supports more than 8 bits/pixel. You can define -1 or 2 bytes per pixel calinration data. +1 or 2 bytes per pixel calinration data. The value -1 enables the value defined in the driver.

    invert-shading-data:
    diff --git a/doc/umax/sane-umax-mirage-doc.html b/doc/umax/sane-umax-mirage-doc.html index 7c81b43..5d15982 100644 --- a/doc/umax/sane-umax-mirage-doc.html +++ b/doc/umax/sane-umax-mirage-doc.html @@ -278,4 +278,3 @@ Author: Oliver Rauch - diff --git a/doc/umax/sane-umax-standard-options-doc.html b/doc/umax/sane-umax-standard-options-doc.html index da0ade3..b80ca40 100644 --- a/doc/umax/sane-umax-standard-options-doc.html +++ b/doc/umax/sane-umax-standard-options-doc.html @@ -64,7 +64,7 @@ Supported scanners:

  • XSane homepage

  • - +
    @@ -271,4 +271,3 @@ Author: Oliver Rauch - diff --git a/doc/umax/umax.BUGS b/doc/umax/umax.BUGS index 90af9b8..37e55da 100644 --- a/doc/umax/umax.BUGS +++ b/doc/umax/umax.BUGS @@ -9,4 +9,3 @@ KNOWN BUGS: * pixel count in x-direction is sometimes wrong if xres > 600dpi (Vista S12) * first scan with Astra 2400S produces wrong colors - diff --git a/doc/umax/umax.CHANGES b/doc/umax/umax.CHANGES index 77d8d62..79cca89 100644 --- a/doc/umax/umax.CHANGES +++ b/doc/umax/umax.CHANGES @@ -101,7 +101,7 @@ sane-0.6 / 0.61 / 0.62 -> 0.63 * added support for each color (R,G,B) for highlight and shadow - * added "Astra 1200S" and "UC840" as supported + * added "Astra 1200S" and "UC840" as supported * added bad bugfix for preview-problem with S6E (in umax-scsi.c function start_scan) @@ -344,7 +344,7 @@ sane-0.70/0.71 -> 0.72 * combined bind for highlight, shadow, analog-gamma and new exposure time functions to rgb-bind - + * added set_WD_line_arrangement(buffer_r, WD_line_arrengement_by_driver); if driver is doing color-ordering from line to pixel @@ -423,11 +423,11 @@ sane-0.73 -> 0.74 * added sigterm_handler for umax_reader_process changed sane_canel, do_canel and do_eof(=close_pipe), cancel now works! - + * changed trim_rowbufsize that made problems with SGI, there has been an overflow because of big buffersize - + sane-0.74 -> 1.00 (build 0) --------------------------- @@ -682,7 +682,7 @@ build-15 -> build-16 * OPT_SOURCE: removed change of width/height and "*info |= SANE_INFO_RELOAD_PARAMS;" from get_value to set_value and added "*info |= SANE_INFO_RELOAD_OPTIONS;" - + build-16 -> build-17 -------------------- @@ -782,7 +782,7 @@ build-21 -> build-22 scsi-read commands, it also is possible to give bothe scanners different scsi command queueing depth). - * prepared replacement of pipe by sanei_ipc_* routines + * prepared replacement of pipe by sanei_ipc_* routines * added routines umax_get_lamp_status and umax_set_lamp_status @@ -826,7 +826,7 @@ build-22 -> build-23 * for Astra 2200 selection for different x/y resolutions is disabled - + build-23 -> build-24 (sane-1.0.4) -------------------- @@ -837,8 +837,8 @@ build-23 -> build-24 (sane-1.0.4) * enabled lamp control for Astra 2100S * Added warning in sane_control_option if option could not be set - - + + build-24 -> build-25 -------------------- @@ -906,7 +906,7 @@ build-24 -> build-25 * added #define SANE_I18N(text) text to umax.c. This is to mark the backend specific texts that shall be translated by the frontend - + build-25 -> build-26 -------------------- @@ -925,11 +925,11 @@ build-25 -> build-26 * changed some static unsigned int to static int - * sane_exit does free devlist + * sane_exit does free devlist * added some options for Powerlook 3000 - still is not completly supported - + build-26 -> build-27 -------------------- @@ -940,7 +940,7 @@ build-26 -> build-27 * changed default minimum scsi buffer size from 64KB to 32 KB - + build-27 -> build-28 -------------------- @@ -967,7 +967,7 @@ build-27 -> build-28 * added Heidelberg Linoscan 1400 "HDM LS4H1S" as supported scanner - + build-28 -> build-29 -------------------- @@ -1026,10 +1026,10 @@ build-32 -> build-33 * added USB support for Astra 2200 thanks to Frank Zago for creating umax-usb.c and suggesting several changes to umax.c - + * added umax.conf option "connection-type", values: 1=scsi, 2=usb - * added umax.conf device selection "usb 0x1606 0x0230" (usb vendor_id product_id) + * added umax.conf device selection "usb 0x1606 0x0230" (usb vendor_id product_id) * removed #ifdef HAVE_SANEI_IPC parts (SANEI_IPC was never defined) @@ -1169,4 +1169,3 @@ build-44 -> build-45 * added defualt options for Linotype Opal2 * changed bug in highlight-blue function (using green value) - diff --git a/doc/umax/umax.FAQ b/doc/umax/umax.FAQ index 0901a2c..2ffbdfd 100644 --- a/doc/umax/umax.FAQ +++ b/doc/umax/umax.FAQ @@ -39,7 +39,7 @@ A: There are at least two kind of scsi controller cards that On linux you may have the chance to get it work with the recent g_NCR5380-driver. The card does not have IRQ/DMA. - Try the following option for kernel: dtc3181e=0x280,255 + Try the following option for kernel: dtc3181e=0x280,255 or use the following command: insmod g_NCR5380 ncr_irq=255 ncr_addr=0x280 dtc3181e=1 @@ -143,5 +143,3 @@ A: The optimization set by "-O2" makes problems, try which one of the following You find a lot of tips and informations in the internet. E.g. take a look at http://www.scantips.com - - diff --git a/doc/umax/umax.TODO b/doc/umax/umax.TODO index 6af64b6..0d6f5a9 100644 --- a/doc/umax/umax.TODO +++ b/doc/umax/umax.TODO @@ -19,4 +19,3 @@ TODO UMAX BACKEND FOR SANE - I will NOT add support for parallel-port and USB scanners to this backend! Don`t ask for it. - diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..90f73a9 --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,2 @@ +saned +scanimage diff --git a/frontend/Makefile.in b/frontend/Makefile.in deleted file mode 100644 index 9ea467f..0000000 --- a/frontend/Makefile.in +++ /dev/null @@ -1,804 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -EXTRA_PROGRAMS = test$(EXEEXT) tstbackend$(EXEEXT) $(am__EXEEXT_1) -bin_PROGRAMS = scanimage$(EXEEXT) -@COMPILE_SANED_TRUE@sbin_PROGRAMS = saned$(EXEEXT) -@COMPILE_SANED_FALSE@am__append_1 = saned -subdir = frontend -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/sane/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -@COMPILE_SANED_FALSE@am__EXEEXT_1 = saned$(EXEEXT) -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" -PROGRAMS = $(bin_PROGRAMS) $(sbin_PROGRAMS) -am_saned_OBJECTS = saned.$(OBJEXT) -saned_OBJECTS = $(am_saned_OBJECTS) -am__DEPENDENCIES_1 = -saned_DEPENDENCIES = ../backend/libsane.la ../sanei/libsanei.la \ - ../lib/liblib.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -am_scanimage_OBJECTS = scanimage.$(OBJEXT) sicc.$(OBJEXT) \ - stiff.$(OBJEXT) -scanimage_OBJECTS = $(am_scanimage_OBJECTS) -scanimage_DEPENDENCIES = ../backend/libsane.la ../sanei/libsanei.la \ - ../lib/liblib.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -am_test_OBJECTS = test.$(OBJEXT) -test_OBJECTS = $(am_test_OBJECTS) -test_DEPENDENCIES = ../lib/liblib.la ../backend/libsane.la -am_tstbackend_OBJECTS = tstbackend.$(OBJEXT) -tstbackend_OBJECTS = $(am_tstbackend_OBJECTS) -tstbackend_DEPENDENCIES = ../lib/liblib.la ../backend/libsane.la -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/sane -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(saned_SOURCES) $(scanimage_SOURCES) $(test_SOURCES) \ - $(tstbackend_SOURCES) -DIST_SOURCES = $(saned_SOURCES) $(scanimage_SOURCES) $(test_SOURCES) \ - $(tstbackend_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(srcdir) -I$(top_builddir)/include \ - -I$(top_srcdir)/include -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AVAHI_CFLAGS = @AVAHI_CFLAGS@ -AVAHI_LIBS = @AVAHI_LIBS@ -AWK = @AWK@ -BACKENDS = @BACKENDS@ -BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ -BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLH = @DLH@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVIPS = @DVIPS@ -DYNAMIC_FLAG = @DYNAMIC_FLAG@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FIG2DEV = @FIG2DEV@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ -GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ -GPHOTO2_LIBS = @GPHOTO2_LIBS@ -GREP = @GREP@ -GS = @GS@ -HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -JPEG_LIBS = @JPEG_LIBS@ -LATEX = @LATEX@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOCKPATH_GROUP = @LOCKPATH_GROUP@ -LTALLOCA = @LTALLOCA@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINDEX = @MAKEINDEX@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_LIBS = @PNG_LIBS@ -POSUB = @POSUB@ -PPMTOGIF = @PPMTOGIF@ -PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ -PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RESMGR_LIBS = @RESMGR_LIBS@ -SANEI_SANEI_JPEG_LO = @SANEI_SANEI_JPEG_LO@ -SANE_CONFIG_PATH = @SANE_CONFIG_PATH@ -SCSI_LIBS = @SCSI_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SNMP_CFLAGS = @SNMP_CFLAGS@ -SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ -SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ -STRICT_LDFLAGS = @STRICT_LDFLAGS@ -STRIP = @STRIP@ -SYSLOG_LIBS = @SYSLOG_LIBS@ -SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ -SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_CFLAGS = @USB_CFLAGS@ -USB_LIBS = @USB_LIBS@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -configdir = @configdir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -effective_target = @effective_target@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -locksanedir = @locksanedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -scanimage_SOURCES = scanimage.c sicc.c sicc.h stiff.c stiff.h -scanimage_LDADD = ../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la \ - $(PNG_LIBS) $(JPEG_LIBS) - -saned_SOURCES = saned.c -saned_LDADD = ../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la \ - $(SYSLOG_LIBS) $(SYSTEMD_LIBS) $(AVAHI_LIBS) - -test_SOURCES = test.c -test_LDADD = ../lib/liblib.la ../backend/libsane.la -tstbackend_SOURCES = tstbackend.c -tstbackend_LDADD = ../lib/liblib.la ../backend/libsane.la -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu frontend/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu frontend/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -install-sbinPROGRAMS: $(sbin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(sbindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(sbindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-sbinPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(sbindir)" && rm -f $$files - -clean-sbinPROGRAMS: - @list='$(sbin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -saned$(EXEEXT): $(saned_OBJECTS) $(saned_DEPENDENCIES) $(EXTRA_saned_DEPENDENCIES) - @rm -f saned$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(saned_OBJECTS) $(saned_LDADD) $(LIBS) - -scanimage$(EXEEXT): $(scanimage_OBJECTS) $(scanimage_DEPENDENCIES) $(EXTRA_scanimage_DEPENDENCIES) - @rm -f scanimage$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(scanimage_OBJECTS) $(scanimage_LDADD) $(LIBS) - -test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) $(EXTRA_test_DEPENDENCIES) - @rm -f test$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_OBJECTS) $(test_LDADD) $(LIBS) - -tstbackend$(EXEEXT): $(tstbackend_OBJECTS) $(tstbackend_DEPENDENCIES) $(EXTRA_tstbackend_DEPENDENCIES) - @rm -f tstbackend$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tstbackend_OBJECTS) $(tstbackend_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/saned.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanimage.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sicc.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stiff.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tstbackend.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \ - clean-sbinPROGRAMS mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS install-sbinPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-sbinPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool clean-local \ - clean-sbinPROGRAMS cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-sbinPROGRAMS install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-sbinPROGRAMS - - -clean-local: - rm -f test tstbackend - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/frontend/saned.c b/frontend/saned.c index 3bb99bb..ac5e700 100644 --- a/frontend/saned.c +++ b/frontend/saned.c @@ -87,7 +87,7 @@ #if defined(HAVE_SYS_POLL_H) && defined(HAVE_POLL) # include #else -/* +/* * This replacement poll() using select() is only designed to cover * our needs in run_standalone(). It should probably be extended... */ @@ -203,13 +203,13 @@ static AvahiEntryGroup *avahi_group = NULL; (((const uint32_t *) (a))[0] == 0 \ && ((const uint32_t *) (a))[1] == 0 \ && ((const uint32_t *) (a))[2] == 0 \ - && ((const uint32_t *) (a))[3] == htonl (1)) + && ((const uint32_t *) (a))[3] == htonl (1)) # endif # ifndef IN6_IS_ADDR_V4MAPPED # define IN6_IS_ADDR_V4MAPPED(a) \ ((((const uint32_t *) (a))[0] == 0) \ && (((const uint32_t *) (a))[1] == 0) \ - && (((const uint32_t *) (a))[2] == htonl (0xffff))) + && (((const uint32_t *) (a))[2] == htonl (0xffff))) # endif #endif /* ENABLE_IPV6 */ @@ -251,6 +251,9 @@ static Wire wire; static int num_handles; static int debug; static int run_mode; +static int run_foreground; +static int run_once; +static int data_connect_timeout = 4000; static Handle *handle; static char *bind_addr; static union @@ -298,9 +301,7 @@ static SANE_Bool log_to_syslog = SANE_TRUE; static int process_request (Wire * w); #define SANED_RUN_INETD 0 -#define SANED_RUN_DEBUG 1 -#define SANED_RUN_ALONE 2 - +#define SANED_RUN_ALONE 1 #define DBG_ERR 1 #define DBG_WARN 2 @@ -402,7 +403,7 @@ auth_callback (SANE_String_Const res, break; default: - DBG (DBG_WARN, + DBG (DBG_WARN, "auth_callback: called for unexpected request %d (resource=%s)\n", current_request, res); break; @@ -430,7 +431,7 @@ auth_callback (SANE_String_Const res, { DBG (DBG_WARN, "auth_callback: bad procedure number %d " - "(expected: %d, resource=%s)\n", procnum, SANE_NET_AUTHORIZE, + "(expected: %d, resource=%s)\n", procnum, SANE_NET_AUTHORIZE, res); return; } @@ -565,7 +566,7 @@ check_v4_in_range (struct sockaddr_in *sin, char *base_ip, char *netmask) int cidr; int i, err; char *end; - uint32_t mask; + uint32_t mask; struct sockaddr_in *base; struct addrinfo hints; struct addrinfo *res; @@ -573,7 +574,7 @@ check_v4_in_range (struct sockaddr_in *sin, char *base_ip, char *netmask) cidr = -1; cidr = strtol (netmask, &end, 10); - + /* Sanity check on the cidr value */ if ((cidr < 0) || (cidr > 32) || (end == netmask)) { @@ -584,13 +585,13 @@ check_v4_in_range (struct sockaddr_in *sin, char *base_ip, char *netmask) mask = 0; cidr -= 8; - /* Build a bitmask out of the CIDR value */ + /* Build a bitmask out of the CIDR value */ for (i = 3; cidr >= 0; i--) { mask |= (0xff << (8 * i)); cidr -= 8; } - + if (cidr < 0) mask |= (cidrtomask[cidr + 8] << (8 * i)); @@ -600,7 +601,7 @@ check_v4_in_range (struct sockaddr_in *sin, char *base_ip, char *netmask) memset (&hints, 0, sizeof (struct addrinfo)); hints.ai_flags = AI_NUMERICHOST; hints.ai_family = PF_INET; - + err = getaddrinfo (base_ip, NULL, &hints, &res); if (err) { @@ -616,9 +617,9 @@ check_v4_in_range (struct sockaddr_in *sin, char *base_ip, char *netmask) */ if ((base->sin_addr.s_addr & mask) == (sin->sin_addr.s_addr & mask)) ret = SANE_TRUE; - + freeaddrinfo (res); - + return ret; } @@ -649,17 +650,17 @@ check_v6_in_range (struct sockaddr_in6 *sin6, char *base_ip, char *netmask) memset (mask, 0, (16 * sizeof (unsigned int))); cidr -= 8; - + /* Build a bitmask out of the CIDR value */ for (i = 0; cidr >= 0; i++) { mask[i] = 0xff; cidr -= 8; } - + if (cidr < 0) mask[i] = cidrtomask[cidr + 8]; - + /* get a sockaddr_in6 representing the base IP address */ memset (&hints, 0, sizeof (struct addrinfo)); hints.ai_flags = AI_NUMERICHOST; @@ -686,9 +687,9 @@ check_v6_in_range (struct sockaddr_in6 *sin6, char *base_ip, char *netmask) break; } } - + freeaddrinfo (res); - + return ret; } # endif /* ENABLE_IPV6 */ @@ -699,12 +700,12 @@ check_v4_in_range (struct in_addr *inaddr, struct in_addr *base, char *netmask) int cidr; int i; char *end; - uint32_t mask; + uint32_t mask; SANE_Bool ret = SANE_FALSE; cidr = -1; cidr = strtol (netmask, &end, 10); - + /* sanity check on the cidr value */ if ((cidr < 0) || (cidr > 32) || (end == netmask)) { @@ -714,14 +715,14 @@ check_v4_in_range (struct in_addr *inaddr, struct in_addr *base, char *netmask) mask = 0; cidr -= 8; - + /* Build a bitmask out of the CIDR value */ for (i = 3; cidr >= 0; i--) { mask |= (0xff << (8 * i)); cidr -= 8; } - + if (cidr < 0) mask |= (cidrtomask[cidr + 8] << (8 * i)); @@ -733,7 +734,7 @@ check_v4_in_range (struct in_addr *inaddr, struct in_addr *base, char *netmask) */ if ((base->s_addr & mask) == (inaddr->s_addr & mask)) ret = SANE_TRUE; - + return ret; } #endif /* SANED_USES_AF_INDEP */ @@ -801,7 +802,7 @@ check_host (int fd) memset (&hints, 0, sizeof (struct addrinfo)); hints.ai_flags = AI_NUMERICHOST; hints.ai_family = PF_INET; - + err = getaddrinfo (remote_ipv4, NULL, &hints, &res); if (err) { @@ -901,13 +902,13 @@ check_host (int fd) { DBG (DBG_DBG, "check_host: local hostname(s) (from DNS): %s\n", resp->ai_canonname); - + err = getnameinfo (resp->ai_addr, resp->ai_addrlen, text_addr, sizeof (text_addr), NULL, 0, NI_NUMERICHOST); if (err) strncpy (text_addr, "[error]", 8); -#ifdef ENABLE_IPV6 +#ifdef ENABLE_IPV6 if ((strcasecmp (text_addr, remote_ip) == 0) || ((IPv4map == SANE_TRUE) && (strcmp (text_addr, remote_ipv4) == 0))) #else @@ -915,18 +916,18 @@ check_host (int fd) #endif /* ENABLE_IPV6 */ { DBG (DBG_MSG, "check_host: remote host has same addr as local: access granted\n"); - + freeaddrinfo (res); res = NULL; return SANE_STATUS_GOOD; } } - + freeaddrinfo (res); res = NULL; - - DBG (DBG_DBG, + + DBG (DBG_DBG, "check_host: remote host doesn't have same addr as local\n"); } @@ -947,8 +948,8 @@ check_host (int fd) config_file_names[j], strerror (errno)); continue; } - - while (!access_ok && sanei_config_read (config_line_buf, + + while (!access_ok && sanei_config_read (config_line_buf, sizeof (config_line_buf), fp)) { config_line = config_line_buf; /* from now on, use a pointer */ @@ -993,7 +994,7 @@ check_host (int fd) if (strcmp (config_line, "+") == 0) { access_ok = 1; - DBG (DBG_DBG, + DBG (DBG_DBG, "check_host: access granted from any host (`+')\n"); } /* compare remote_ip (remote IP address) to the config_line */ @@ -1033,7 +1034,7 @@ check_host (int fd) memset (&hints, 0, sizeof (struct addrinfo)); hints.ai_flags = AI_NUMERICHOST; hints.ai_family = PF_INET; - + err = getaddrinfo (remote_ipv4, NULL, &hints, &res); if (err) DBG (DBG_DBG, "check_host: getaddrinfo() failed: %s\n", gai_strerror (err)); @@ -1044,7 +1045,7 @@ check_host (int fd) if ((SS_FAMILY(remote_address.ss) == AF_INET) || (IPv4map == SANE_TRUE)) { - + if (check_v4_in_range (sin, config_line, netmask)) { DBG (DBG_DBG, "check_host: access granted from IP address %s (in subnet %s/%s)\n", @@ -1056,7 +1057,7 @@ check_host (int fd) /* restore the old sin pointer */ sin = &remote_address.sin; } - + if (res != NULL) { freeaddrinfo (res); @@ -1086,11 +1087,11 @@ check_host (int fd) #else hints.ai_family = PF_INET; #endif /* ENABLE_IPV6 */ - + err = getaddrinfo (config_line, NULL, &hints, &res); if (err) { - DBG (DBG_DBG, + DBG (DBG_DBG, "check_host: getaddrinfo for `%s' failed: %s\n", config_line, gai_strerror (err)); DBG (DBG_MSG, "check_host: entry isn't an IP address " @@ -1105,19 +1106,19 @@ check_host (int fd) sizeof (text_addr), NULL, 0, NI_NUMERICHOST); if (err) strncpy (text_addr, "[error]", 8); - - DBG (DBG_MSG, - "check_host: DNS lookup returns IP address: %s\n", - text_addr); - -#ifdef ENABLE_IPV6 + + DBG (DBG_MSG, + "check_host: DNS lookup returns IP address: %s\n", + text_addr); + +#ifdef ENABLE_IPV6 if ((strcasecmp (text_addr, remote_ip) == 0) || ((IPv4map == SANE_TRUE) && (strcmp (text_addr, remote_ipv4) == 0))) #else if (strcmp (text_addr, remote_ip) == 0) #endif /* ENABLE_IPV6 */ access_ok = 1; - + if (access_ok) break; } @@ -1128,10 +1129,10 @@ check_host (int fd) } fclose (fp); } - + if (access_ok) return SANE_STATUS_GOOD; - + return SANE_STATUS_ACCESS_DENIED; } @@ -1150,7 +1151,7 @@ check_host (int fd) char hostname[MAXHOSTNAMELEN]; char *r_hostname; static struct in_addr config_line_address; - + int len; FILE *fp; @@ -1164,7 +1165,7 @@ check_host (int fd) } r_hostname = inet_ntoa (sin.sin_addr); remote_ip = strdup (r_hostname); - DBG (DBG_WARN, "check_host: access by remote host: %s\n", + DBG (DBG_WARN, "check_host: access by remote host: %s\n", remote_ip); /* Save remote address for check of control and data connections */ memcpy (&remote_address, &sin.sin_addr, sizeof (remote_address)); @@ -1203,7 +1204,7 @@ check_host (int fd) { DBG (DBG_DBG, "check_host: local hostname (from DNS): %s\n", he->h_name); - + if ((he->h_length == 4) || (he->h_addrtype == AF_INET)) { if (!inet_ntop (he->h_addrtype, he->h_addr_list[0], text_addr, @@ -1211,9 +1212,9 @@ check_host (int fd) strcpy (text_addr, "[error]"); DBG (DBG_DBG, "check_host: local host address (from DNS): %s\n", text_addr); - if (memcmp (he->h_addr_list[0], &remote_address.s_addr, 4) == 0) + if (memcmp (he->h_addr_list[0], &remote_address.s_addr, 4) == 0) { - DBG (DBG_MSG, + DBG (DBG_MSG, "check_host: remote host has same addr as local: " "access accepted\n"); return SANE_STATUS_GOOD; @@ -1246,8 +1247,8 @@ check_host (int fd) config_file_names[j], strerror (errno)); continue; } - - while (!access_ok && sanei_config_read (config_line_buf, + + while (!access_ok && sanei_config_read (config_line_buf, sizeof (config_line_buf), fp)) { config_line = config_line_buf; /* from now on, use a pointer */ @@ -1275,14 +1276,14 @@ check_host (int fd) if (strcmp (config_line, "+") == 0) { access_ok = 1; - DBG (DBG_DBG, + DBG (DBG_DBG, "check_host: access accepted from any host (`+')\n"); } else { if (inet_pton (AF_INET, config_line, &config_line_address) > 0) { - if (memcmp (&remote_address.s_addr, + if (memcmp (&remote_address.s_addr, &config_line_address.s_addr, 4) == 0) access_ok = 1; else if (netmask != NULL) @@ -1297,13 +1298,13 @@ check_host (int fd) } else { - DBG (DBG_DBG, + DBG (DBG_DBG, "check_host: inet_pton for `%s' failed\n", config_line); he = gethostbyname (config_line); if (!he) { - DBG (DBG_DBG, + DBG (DBG_DBG, "check_host: gethostbyname for `%s' failed: %s\n", config_line, hstrerror (h_errno)); DBG (DBG_MSG, "check_host: entry isn't an IP address " @@ -1313,10 +1314,10 @@ check_host (int fd) if (!inet_ntop (he->h_addrtype, he->h_addr_list[0], text_addr, sizeof (text_addr))) strcpy (text_addr, "[error]"); - DBG (DBG_MSG, + DBG (DBG_MSG, "check_host: DNS lookup returns IP address: %s\n", text_addr); - if (memcmp (&remote_address.s_addr, + if (memcmp (&remote_address.s_addr, he->h_addr_list[0], 4) == 0) access_ok = 1; } @@ -1356,7 +1357,7 @@ init (Wire * w) DBG (DBG_ERR, "init: bad status after sanei_w_set_dir: %d\n", w->status); return -1; } - + sanei_w_word (w, &word); /* decode procedure number */ if (w->status || word != SANE_NET_INIT) { @@ -1658,7 +1659,7 @@ do_scan (Wire * w, int h, int data_fd) long int nwritten; SANE_Int length; size_t nbytes; - + DBG (3, "do_scan: start\n"); FD_ZERO (&rd_mask); @@ -1699,8 +1700,8 @@ do_scan (Wire * w, int h, int data_fd) FD_CLR (be_fd, &rd_mask); be_fd = -1; /* only set status_dirty if EOF hasn't been already detected */ - if (status == SANE_STATUS_GOOD) - status_dirty = 1; + if (status == SANE_STATUS_GOOD) + status_dirty = 1; status = SANE_STATUS_EOF; DBG (DBG_INFO, "do_scan: select_fd was closed --> EOF\n"); continue; @@ -1723,17 +1724,18 @@ do_scan (Wire * w, int h, int data_fd) nbytes = bytes_in_buf; if (writer + nbytes > sizeof (buf)) nbytes = sizeof (buf) - writer; - DBG (DBG_INFO, + DBG (DBG_INFO, "do_scan: trying to write %d bytes to client\n", nbytes); nwritten = write (data_fd, buf + writer, nbytes); - DBG (DBG_INFO, + DBG (DBG_INFO, "do_scan: wrote %ld bytes to client\n", nwritten); if (nwritten < 0) { DBG (DBG_ERR, "do_scan: write failed (%s)\n", strerror (errno)); status = SANE_STATUS_CANCELLED; + handle[h].docancel = 1; break; } bytes_in_buf -= nwritten; @@ -1791,7 +1793,7 @@ do_scan (Wire * w, int h, int data_fd) reader = store_reclen (buf, sizeof (buf), reader, 0xffffffff); buf[reader] = status; bytes_in_buf += 5; - DBG (DBG_MSG, "do_scan: statuscode `%s' was added to buffer\n", + DBG (DBG_MSG, "do_scan: statuscode `%s' was added to buffer\n", sane_strstatus(status)); } @@ -1799,13 +1801,19 @@ do_scan (Wire * w, int h, int data_fd) { DBG (DBG_MSG, "do_scan: processing RPC request on fd %d\n", w->io.fd); - process_request (w); + if(process_request (w) < 0) + handle[h].docancel = 1; + if (handle[h].docancel) break; } } while (status == SANE_STATUS_GOOD || bytes_in_buf > 0 || status_dirty); DBG (DBG_MSG, "do_scan: done, status=%s\n", sane_strstatus (status)); + + if(handle[h].docancel) + sane_cancel (handle[h].handle); + handle[h].docancel = 0; handle[h].scanning = 0; } @@ -1854,7 +1862,7 @@ process_request (Wire * w) sanei_w_string (w, &name); if (w->status) { - DBG (DBG_ERR, + DBG (DBG_ERR, "process_request: (open) error while decoding args (%s)\n", strerror (w->status)); return 1; @@ -1871,7 +1879,7 @@ process_request (Wire * w) can_authorize = 1; resource = strdup (name); - + if (strlen(resource) == 0) { const SANE_Device **device_list; @@ -1879,8 +1887,8 @@ process_request (Wire * w) DBG(DBG_DBG, "process_request: (open) strlen(resource) == 0\n"); free (resource); - if ((i = sane_get_devices (&device_list, SANE_TRUE)) != - SANE_STATUS_GOOD) + if ((i = sane_get_devices (&device_list, SANE_TRUE)) != + SANE_STATUS_GOOD) { DBG(DBG_ERR, "process_request: (open) sane_get_devices failed\n"); memset (&reply, 0, sizeof (reply)); @@ -1889,7 +1897,7 @@ process_request (Wire * w) break; } - if ((device_list == NULL) || (device_list[0] == NULL)) + if ((device_list == NULL) || (device_list[0] == NULL)) { DBG(DBG_ERR, "process_request: (open) device_list[0] == 0\n"); memset (&reply, 0, sizeof (reply)); @@ -1907,7 +1915,7 @@ process_request (Wire * w) if (sanei_authorize (resource, "saned", auth_callback) != SANE_STATUS_GOOD) { - DBG (DBG_ERR, "process_request: access to resource `%s' denied\n", + DBG (DBG_ERR, "process_request: access to resource `%s' denied\n", resource); free (resource); memset (&reply, 0, sizeof (reply)); /* avoid leaking bits */ @@ -1915,12 +1923,12 @@ process_request (Wire * w) } else { - DBG (DBG_MSG, "process_request: access to resource `%s' granted\n", + DBG (DBG_MSG, "process_request: access to resource `%s' granted\n", resource); free (resource); memset (&reply, 0, sizeof (reply)); /* avoid leaking bits */ reply.status = sane_open (name, &be_handle); - DBG (DBG_MSG, "process_request: sane_open returned: %s\n", + DBG (DBG_MSG, "process_request: sane_open returned: %s\n", sane_strstatus (reply.status)); } @@ -2062,7 +2070,7 @@ process_request (Wire * w) case SANE_NET_START: { SANE_Start_Reply reply; - int fd = -1, data_fd; + int fd = -1, data_fd = -1; h = decode_handle (w, "start"); if (h < 0) @@ -2087,9 +2095,36 @@ process_request (Wire * w) char text_addr[64]; int len; int error; + struct pollfd fds[1]; + int ret; - DBG (DBG_MSG, "process_request: waiting for data connection\n"); - data_fd = accept (fd, 0, 0); + fds->fd = fd; + fds->events = POLLIN; + + DBG (DBG_MSG, "process_request: waiting 4s for data connection\n"); + if(data_connect_timeout) + { + while (1) + { + ret = poll (fds, 1, data_connect_timeout); + if (ret < 0) + { + if (errno == EINTR) + continue; + else + { + DBG (DBG_ERR, "run_standalone: poll failed: %s\n", + strerror (errno)); + } + break; + } + break; + } + } + else + ret = 0; + if(ret >= 0) + data_fd = accept (fd, 0, 0); close (fd); /* Get address of remote host */ @@ -2112,7 +2147,7 @@ process_request (Wire * w) DBG (DBG_MSG, "process_request: access to data port from %s\n", text_addr); - + if (strcmp (text_addr, remote_ip) != 0) { DBG (DBG_ERR, "process_request: however, only %s is authorized\n", @@ -2129,14 +2164,41 @@ process_request (Wire * w) { struct sockaddr_in sin; int len; + int ret; + struct pollfd fds[1]; + + fds->fd = fd; + fds->events = POLLIN; DBG (DBG_MSG, "process_request: waiting for data connection\n"); - data_fd = accept (fd, 0, 0); + if(data_connect_timeout) + { + while (1) + { + ret = poll (fds, 1, data_connect_timeout); + if (ret < 0) + { + if (errno == EINTR) + continue; + else + { + DBG (DBG_ERR, "run_standalone: poll failed: %s\n", strerror (errno)); + } + break; + } + break; + } + } + else + ret = 0; + if(ret >= 0) + data_fd = accept (fd, 0, 0); + close (fd); /* Get address of remote host */ len = sizeof (sin); - if (getpeername (data_fd, (struct sockaddr *) &sin, + if (getpeername (data_fd, (struct sockaddr *) &sin, (socklen_t *) &len) < 0) { DBG (DBG_ERR, "process_request: getpeername failed: %s\n", @@ -2147,13 +2209,13 @@ process_request (Wire * w) if (memcmp (&remote_address, &sin.sin_addr, sizeof (remote_address)) != 0) { - DBG (DBG_ERR, + DBG (DBG_ERR, "process_request: access to data port from %s\n", inet_ntoa (sin.sin_addr)); - DBG (DBG_ERR, + DBG (DBG_ERR, "process_request: however, only %s is authorized\n", inet_ntoa (remote_address)); - DBG (DBG_ERR, + DBG (DBG_ERR, "process_request: configuration problem or attack?\n"); close (data_fd); data_fd = -1; @@ -2320,7 +2382,7 @@ handle_connection (int fd) reset_watchdog (); if (process_request (&wire) < 0) break; - } + } } static void @@ -2735,6 +2797,26 @@ read_config (void) DBG (DBG_INFO, "read_config: data port range: %d - %d\n", data_port_lo, data_port_hi); } } + else if(strstr(config_line, "data_connect_timeout") != NULL) + { + optval = sanei_config_skip_whitespace (++optval); + if ((optval != NULL) && (*optval != '\0')) + { + val = strtol (optval, &endval, 10); + if (optval == endval) + { + DBG (DBG_ERR, "read_config: invalid value for data_connect_timeout\n"); + continue; + } + else if ((val < 0) || (val > 65535)) + { + DBG (DBG_ERR, "read_config: data_connect_timeout is invalid\n"); + continue; + } + data_connect_timeout = val; + DBG (DBG_INFO, "read_config: data connect timeout: %d\n", data_connect_timeout); + } + } } fclose (fp); DBG (DBG_INFO, "read_config: done reading config\n"); @@ -2964,93 +3046,129 @@ do_bindings (int *nfds, struct pollfd **fds) static void -run_standalone (char *user) +runas_user (char *user) { - struct pollfd *fds = NULL; - struct pollfd *fdp = NULL; - int nfds; - int fd = -1; - int i; - int ret; - uid_t runas_uid = 0; gid_t runas_gid = 0; struct passwd *pwent; gid_t *grplist = NULL; struct group *grp; int ngroups = 0; - FILE *pidfile; + int ret; - do_bindings (&nfds, &fds); + pwent = getpwnam(user); - if (run_mode != SANED_RUN_DEBUG) + if (pwent == NULL) { - if (user) - { - pwent = getpwnam(user); + DBG (DBG_ERR, "FATAL ERROR: user %s not found on system\n", user); + bail_out (1); + } - if (pwent == NULL) - { - DBG (DBG_ERR, "FATAL ERROR: user %s not found on system\n", user); - bail_out (1); - } + runas_uid = pwent->pw_uid; + runas_gid = pwent->pw_gid; - runas_uid = pwent->pw_uid; - runas_gid = pwent->pw_gid; + /* Get group list for runas_uid */ + grplist = (gid_t *)malloc(sizeof(gid_t)); - /* Get group list for runas_uid */ - grplist = (gid_t *)malloc(sizeof(gid_t)); + if (grplist == NULL) + { + DBG (DBG_ERR, "FATAL ERROR: cannot allocate memory for group list\n"); - if (grplist == NULL) - { - DBG (DBG_ERR, "FATAL ERROR: cannot allocate memory for group list\n"); + exit (1); + } - exit (1); - } + ngroups = 1; + grplist[0] = runas_gid; - ngroups = 1; - grplist[0] = runas_gid; + setgrent(); + while ((grp = getgrent()) != NULL) + { + int i = 0; - setgrent(); - while ((grp = getgrent()) != NULL) - { - int i = 0; + /* Already added current group */ + if (grp->gr_gid == runas_gid) + continue; - /* Already added current group */ - if (grp->gr_gid == runas_gid) - continue; + while (grp->gr_mem[i]) + { + if (strcmp(grp->gr_mem[i], user) == 0) + { + int need_to_add = 1, j; - while (grp->gr_mem[i]) + /* Make sure its not already in list */ + for (j = 0; j < ngroups; j++) { - if (strcmp(grp->gr_mem[i], user) == 0) - { - int need_to_add = 1, j; - - /* Make sure its not already in list */ - for (j = 0; j < ngroups; j++) - { - if (grp->gr_gid == grplist[i]) - need_to_add = 0; - } - if (need_to_add) - { - grplist = (gid_t *)realloc(grplist, - sizeof(gid_t)*ngroups+1); - if (grplist == NULL) - { - DBG (DBG_ERR, "FATAL ERROR: cannot reallocate memory for group list\n"); - - exit (1); - } - grplist[ngroups++] = grp->gr_gid; - } - } - i++; - } + if (grp->gr_gid == grplist[i]) + need_to_add = 0; + } + if (need_to_add) + { + grplist = (gid_t *)realloc(grplist, + sizeof(gid_t)*ngroups+1); + if (grplist == NULL) + { + DBG (DBG_ERR, "FATAL ERROR: cannot reallocate memory for group list\n"); + + exit (1); + } + grplist[ngroups++] = grp->gr_gid; + } } - endgrent(); + i++; + } + } + endgrent(); + + /* Drop privileges if requested */ + if (runas_uid > 0) + { + ret = setgroups(ngroups, grplist); + if (ret < 0) + { + DBG (DBG_ERR, "FATAL ERROR: could not set group list: %s\n", strerror(errno)); + + exit (1); + } + + free(grplist); + + ret = setegid (runas_gid); + if (ret < 0) + { + DBG (DBG_ERR, "FATAL ERROR: setegid to gid %d failed: %s\n", runas_gid, strerror (errno)); + + exit (1); + } + + ret = seteuid (runas_uid); + if (ret < 0) + { + DBG (DBG_ERR, "FATAL ERROR: seteuid to uid %d failed: %s\n", runas_uid, strerror (errno)); + + exit (1); } + DBG (DBG_WARN, "Dropped privileges to uid %d gid %d\n", runas_uid, runas_gid); + } +} + + +static void +run_standalone (char *user) +{ + struct pollfd *fds = NULL; + struct pollfd *fdp = NULL; + int nfds; + int fd = -1; + int i; + int ret; + + FILE *pidfile; + + do_bindings (&nfds, &fds); + + if (run_foreground == SANE_FALSE) + { DBG (DBG_MSG, "run_standalone: daemonizing now\n"); fd = open ("/dev/null", O_RDWR); @@ -3093,42 +3211,13 @@ run_standalone (char *user) setsid (); - /* Drop privileges if requested */ - if (runas_uid > 0) - { - ret = setgroups(ngroups, grplist); - if (ret < 0) - { - DBG (DBG_ERR, "FATAL ERROR: could not set group list: %s\n", strerror(errno)); - - exit (1); - } - - free(grplist); - - ret = setegid (runas_gid); - if (ret < 0) - { - DBG (DBG_ERR, "FATAL ERROR: setegid to gid %d failed: %s\n", runas_gid, strerror (errno)); - - exit (1); - } - - ret = seteuid (runas_uid); - if (ret < 0) - { - DBG (DBG_ERR, "FATAL ERROR: seteuid to uid %d failed: %s\n", runas_uid, strerror (errno)); - - exit (1); - } - - DBG (DBG_WARN, "Dropped privileges to uid %d gid %d\n", runas_uid, runas_gid); - } - signal(SIGINT, sig_int_term_handler); signal(SIGTERM, sig_int_term_handler); } + if (user) + runas_user(user); + #ifdef WITH_AVAHI DBG (DBG_INFO, "run_standalone: spawning Avahi process\n"); saned_avahi (fds, nfds); @@ -3187,13 +3276,13 @@ run_standalone (char *user) continue; } - if (run_mode == SANED_RUN_DEBUG) - break; /* We have the only connection we're going to handle */ - else - handle_client (fd); + handle_client (fd); + + if (run_once == SANE_TRUE) + break; /* We have handled the only connection we're going to handle */ } - if (run_mode == SANED_RUN_DEBUG) + if (run_once == SANE_TRUE) break; } @@ -3201,21 +3290,13 @@ run_standalone (char *user) close (fdp->fd); free (fds); - - if (run_mode == SANED_RUN_DEBUG) - { - if (fd > 0) - handle_connection (fd); - - bail_out(0); - } } static void run_inetd (char __sane_unused__ *sock) { - + int fd = -1; #ifdef HAVE_SYSTEMD @@ -3223,7 +3304,7 @@ run_inetd (char __sane_unused__ *sock) n = sd_listen_fds(0); - if (n > 1) + if (n > 1) { DBG (DBG_ERR, "run_inetd: Too many file descriptors (sockets) received from systemd!\n"); return; @@ -3236,7 +3317,7 @@ run_inetd (char __sane_unused__ *sock) } #endif - if (fd == -1) + if (fd == -1) { int dave_null; @@ -3299,12 +3380,14 @@ static void usage(char *me, int err) fprintf (stderr, "Usage: %s [OPTIONS]\n\n" " Options:\n\n" - " -a, --alone[=user] run standalone and fork in background as `user'\n" - " -d, --debug[=level] run foreground with output to stdout\n" - " and debug level `level' (default is 2)\n" - " -s, --syslog[=level] run foreground with output to syslog\n" - " and debug level `level' (default is 2)\n" - " -b, --bind=addr bind address `addr'\n" + " -a, --alone[=user] equal to `-l -D -u user'\n" + " -l, --listen run in standalone mode (listen for connection)\n" + " -u, --user=user run as `user'\n" + " -D, --daemonize run in background\n" + " -o, --once exit after first client disconnects\n" + " -d, --debug=level set debug level `level' (default is 2)\n" + " -e, --stderr output to stderr\n" + " -b, --bind=addr bind address `addr' (default all interfaces)\n" " -h, --help show this help message and exit\n", me); exit(err); @@ -3317,8 +3400,12 @@ static struct option long_options[] = /* These options set a flag. */ {"help", no_argument, 0, 'h'}, {"alone", optional_argument, 0, 'a'}, - {"debug", optional_argument, 0, 'd'}, - {"syslog", optional_argument, 0, 's'}, + {"listen", no_argument, 0, 'l'}, + {"user", required_argument, 0, 'u'}, + {"daemonize", no_argument, 0, 'D'}, + {"once", no_argument, 0, 'o'}, + {"debug", required_argument, 0, 'd'}, + {"stderr", no_argument, 0, 'e'}, {"bind", required_argument, 0, 'b'}, {0, 0, 0, 0 } }; @@ -3342,20 +3429,35 @@ main (int argc, char *argv[]) numchildren = 0; run_mode = SANED_RUN_INETD; + run_foreground = SANE_TRUE; + run_once = SANE_FALSE; - while((c = getopt_long(argc, argv,"ha::d::s::b:", long_options, &long_index )) != -1) + while((c = getopt_long(argc, argv,"ha::lu:Dod:eb:", long_options, &long_index )) != -1) { switch(c) { case 'a': run_mode = SANED_RUN_ALONE; + run_foreground = SANE_FALSE; + if (optarg) + user = optarg; + break; + case 'l': + run_mode = SANED_RUN_ALONE; + break; + case 'u': user = optarg; break; + case 'D': + run_foreground = SANE_FALSE; + break; + case 'o': + run_once = SANE_TRUE; + break; case 'd': + debug = atoi(optarg); + break; + case 'e': log_to_syslog = SANE_FALSE; - case 's': - run_mode = SANED_RUN_DEBUG; - if(optarg) - debug = atoi(optarg); break; case 'b': bind_addr = optarg; @@ -3405,7 +3507,7 @@ main (int argc, char *argv[]) DBG (DBG_WARN, "saned from %s ready\n", PACKAGE_STRING); } - if ((run_mode == SANED_RUN_ALONE) || (run_mode == SANED_RUN_DEBUG)) + if (run_mode == SANED_RUN_ALONE) { run_standalone(user); } diff --git a/frontend/scanimage.c b/frontend/scanimage.c index fe02750..6906f90 100644 --- a/frontend/scanimage.c +++ b/frontend/scanimage.c @@ -2,7 +2,7 @@ Uses the SANE library. Copyright (C) 2015 Rolf Bensch Copyright (C) 1996, 1997, 1998 Andreas Beck and David Mosberger - + Copyright (C) 1999 - 2009 by the SANE Project -- See AUTHORS and ChangeLog for details. @@ -93,6 +93,7 @@ static struct option basic_options[] = { {"help", no_argument, NULL, 'h'}, {"verbose", no_argument, NULL, 'v'}, {"progress", no_argument, NULL, 'p'}, + {"output-file", required_argument, NULL, 'o'}, {"test", no_argument, NULL, 'T'}, {"all-options", no_argument, NULL, 'A'}, {"version", no_argument, NULL, 'V'}, @@ -111,12 +112,13 @@ static struct option basic_options[] = { {0, 0, NULL, 0} }; -#define OUTPUT_PNM 0 -#define OUTPUT_TIFF 1 -#define OUTPUT_PNG 2 -#define OUTPUT_JPEG 3 +#define OUTPUT_UNKNOWN 0 +#define OUTPUT_PNM 1 +#define OUTPUT_TIFF 2 +#define OUTPUT_PNG 3 +#define OUTPUT_JPEG 4 -#define BASE_OPTSTRING "d:hi:Lf:B::nvVTAbp" +#define BASE_OPTSTRING "d:hi:Lf:o:B::nvVTAbp" #define STRIP_HEIGHT 256 /* # lines we increment image height */ static struct option *all_options; @@ -125,9 +127,10 @@ static int *option_number; static SANE_Handle device; static int verbose; static int progress = 0; +static const char* output_file = NULL; static int test; static int all; -static int output_format = OUTPUT_PNM; +static int output_format = OUTPUT_UNKNOWN; static int help; static int dont_scan = 0; static const char *prog_name; @@ -403,7 +406,7 @@ print_option (SANE_Device * device, int opt_num, const SANE_Option_Descriptor *o }*/ /* if one of these three is not set, option is useless, skip it */ - if(!(opt->cap & + if(!(opt->cap & (SANE_CAP_SOFT_SELECT | SANE_CAP_HARD_SELECT | SANE_CAP_SOFT_DETECT) )){ return; @@ -462,7 +465,7 @@ print_option (SANE_Device * device, int opt_num, const SANE_Option_Descriptor *o if (!strcmp (opt->name, "x")) { printf ("%d..%d", - opt->constraint.range->min, + opt->constraint.range->min, opt->constraint.range->max - tl_x); } else if (!strcmp (opt->name, "y")) @@ -1011,7 +1014,7 @@ set_option (SANE_Handle device, int optnum, void *valuep) prog_name, opt->name); return; } - + if (opt->size == sizeof (SANE_Word) && opt->type != SANE_TYPE_STRING) orig = *(SANE_Word *) valuep; @@ -1483,7 +1486,7 @@ scan_it (FILE *ofp) offset = parm.format - SANE_FRAME_RED; image.x = image.y = 0; } - hundred_percent = parm.bytes_per_line * parm.lines + hundred_percent = parm.bytes_per_line * parm.lines * ((parm.format == SANE_FRAME_RGB || parm.format == SANE_FRAME_GRAY) ? 1:3); while (1) @@ -1968,6 +1971,43 @@ static void print_options(SANE_Device * device, SANE_Int num_dev_options, SANE_B fputc ('\n', stdout); } +static int guess_output_format(const char* output_file) +{ + if (output_file == NULL) + { + fprintf(stderr, "Output format is not set, using pnm as a default.\n"); + return OUTPUT_PNM; + } + + // if the user passes us a path with a known extension then he won't be surprised if we figure + // out correct --format option. No warning is necessary in that case. + const char* extension = strrchr(output_file, '.'); + if (extension != NULL) + { + struct { + const char* extension; + int output_format; + } formats[] = { + { ".pnm", OUTPUT_PNM }, + { ".png", OUTPUT_PNG }, + { ".jpg", OUTPUT_JPEG }, + { ".jpeg", OUTPUT_JPEG }, + { ".tiff", OUTPUT_TIFF }, + { ".tif", OUTPUT_TIFF } + }; + for (unsigned i = 0; i < sizeof(formats) / sizeof(formats[0]); ++i) + { + if (strcmp(extension, formats[i].extension) == 0) + return formats[i].output_format; + } + } + + // it would be very confusing if user makes a typo in the filename and the output format changes. + // This is most likely not what the user wanted. + fprintf(stderr, "Could not guess output format from the given path and no --format given.\n"); + exit(1); +} + int main (int argc, char **argv) { @@ -2033,6 +2073,9 @@ main (int argc, char **argv) case 'p': progress = 1; break; + case 'o': + output_file = optarg; + break; case 'B': if (optarg) buffer_size = 1024 * atoi(optarg); @@ -2088,8 +2131,23 @@ main (int argc, char **argv) exit(1); #endif } - else - output_format = OUTPUT_PNM; + else if (strcmp (optarg, "pnm") == 0) + { + output_format = OUTPUT_PNM; + } + else + { + fprintf(stderr, "Unknown output image format '%s'.\n", optarg); + fprintf(stderr, "Supported formats: pnm, tiff"); +#ifdef HAVE_LIBPNG + fprintf(stderr, ", png"); +#endif +#ifdef HAVE_LIBJPEG + fprintf(stderr, ", jpeg"); +#endif + fprintf(stderr, ".\n"); + exit(1); + } break; case OPTION_MD5: accept_only_md5_auth = 1; @@ -2235,7 +2293,8 @@ Parameters are separated by a blank from single-character options (e.g.\n\ %%m (model), %%t (type), %%i (index number), and\n\ %%n (newline)\n\ -b, --batch[=FORMAT] working in batch mode, FORMAT is `out%%d.pnm' `out%%d.tif'\n\ - `out%%d.png' or `out%%d.jpg' by default depending on --format\n"); + `out%%d.png' or `out%%d.jpg' by default depending on --format\n\ + This option is incompatible with --output-file."); printf ("\ --batch-start=# page number to start naming files with\n\ --batch-count=# how many pages to scan in batch mode\n\ @@ -2247,6 +2306,8 @@ Parameters are separated by a blank from single-character options (e.g.\n\ printf ("\ --accept-md5-only only accept authorization requests using md5\n\ -p, --progress print progress messages\n\ +-o, --output-file=PATH save output to the given file instead of stdout.\n\ + This option is incompatible with --batch.\n\ -n, --dont-scan only set options, don't actually scan\n\ -T, --test test backend thoroughly\n\ -A, --all-options list all available backend options\n\ @@ -2257,6 +2318,15 @@ Parameters are separated by a blank from single-character options (e.g.\n\ -V, --version print version information\n"); } + if (batch && output_file != NULL) + { + fprintf(stderr, "--batch and --output-file can't be used together.\n"); + exit(1); + } + + if (output_format == OUTPUT_UNKNOWN) + output_format = guess_output_format(output_file); + if (!devname) { /* If no device name was specified explicitly, we look at the @@ -2389,6 +2459,7 @@ Parameters are separated by a blank from single-character options (e.g.\n\ case 'd': case 'h': case 'p': + case 'o': case 'v': case 'V': case 'T': @@ -2535,7 +2606,19 @@ List of available devices:", prog_name); } if (!batch) - ofp = stdout; + { + ofp = stdout; + if (output_file != NULL) + { + ofp = fopen(output_file, "w"); + if (ofp == NULL) + { + fprintf(stderr, "%s: could not open input file '%s', " + "exiting\n", prog_name, output_file); + scanimage_exit(1); + } + } + } if (batch) { @@ -2662,6 +2745,14 @@ List of available devices:", prog_name); } } } + else + { + if (output_file && ofp) + { + fclose(ofp); + ofp = NULL; + } + } break; default: if (batch) @@ -2673,6 +2764,15 @@ List of available devices:", prog_name); } unlink (part_path); } + else + { + if (output_file && ofp) + { + fclose(ofp); + ofp = NULL; + } + unlink (output_file); + } break; } /* switch */ n += batch_increment; diff --git a/frontend/test.c b/frontend/test.c index df06751..3b1c4ae 100644 --- a/frontend/test.c +++ b/frontend/test.c @@ -16,9 +16,9 @@ along with sane; see the file COPYING. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - This file implements a simple SANE frontend (well it rather is a - transport layer, but seen from libsane it is a frontend) which acts - as a NETSANE server. The NETSANE specifications should have come + This file implements a simple SANE frontend (well it rather is a + transport layer, but seen from libsane it is a frontend) which acts + as a NETSANE server. The NETSANE specifications should have come with this package. Feel free to enhance this program ! It needs extension especially regarding crypto-support and authentication. diff --git a/frontend/tstbackend.c b/frontend/tstbackend.c index 82c54dc..37ba660 100644 --- a/frontend/tstbackend.c +++ b/frontend/tstbackend.c @@ -1,9 +1,9 @@ -/* +/* tstbackend -- backend test utility Uses the SANE library. Copyright (C) 2002 Frank Zago (sane at zago dot net) - Copyright (C) 2013 Stphane Voltz : sane_get_devices test + Copyright (C) 2013 Stéphane Voltz : sane_get_devices test This file is part of the SANE package. @@ -85,15 +85,15 @@ int verbose_level; static void display_stats(void) { #ifdef HAVE_LONG_LONG - printf("warnings: %d error: %d checks: %lld\n", + printf("warnings: %d error: %d checks: %lld\n", message_number_wrn, message_number_err, checks_done); #else - printf("warnings: %d error: %d checks: %ld\n", + printf("warnings: %d error: %d checks: %ld\n", message_number_wrn, message_number_err, checks_done); #endif } -/* +/* * If the condition is false, display a message with some headers * depending on the level. * @@ -109,8 +109,8 @@ static int check(enum message_level level, int condition, const char *format, .. va_list args; if (level != MSG && level != INF) checks_done ++; - - if (condition != 0) + + if (condition != 0) return condition; va_start(args, format); @@ -135,10 +135,10 @@ static int check(enum message_level level, int condition, const char *format, .. case FATAL: /* fatal error */ printf("FATAL ERROR : %s\n", str); message_number_err ++; - break; + break; case BUG: /* bug in tstbackend */ printf("tstbackend BUG : %s\n", str); - break; + break; } if (level == FATAL || level == BUG) { @@ -210,14 +210,14 @@ static void guards_check(void *ptr, size_t size) /*--------------------------------------------------------------------------*/ -static void +static void test_parameters (SANE_Device * device, SANE_Parameters *params) { SANE_Status status; SANE_Parameters p; status = sane_get_parameters (device, &p); - check(FATAL, (status == SANE_STATUS_GOOD), + check(FATAL, (status == SANE_STATUS_GOOD), "cannot get the parameters (error %s)", sane_strstatus(status)); check(FATAL, ((p.format == SANE_FRAME_GRAY) || @@ -227,7 +227,7 @@ test_parameters (SANE_Device * device, SANE_Parameters *params) (p.format == SANE_FRAME_BLUE)), "parameter format is not a known SANE_FRAME_* (%d)", p.format); - check(FATAL, ((p.last_frame == SANE_FALSE) || + check(FATAL, ((p.last_frame == SANE_FALSE) || (p.last_frame == SANE_TRUE)), "parameter last_frame is neither SANE_FALSE or SANE_TRUE (%d)", p.last_frame); @@ -243,7 +243,7 @@ test_parameters (SANE_Device * device, SANE_Parameters *params) /* Try to set every option in a word list. */ static void -test_options_word_list (SANE_Device * device, int option_num, +test_options_word_list (SANE_Device * device, int option_num, const SANE_Option_Descriptor *opt, int can_do_recursive) { @@ -252,24 +252,24 @@ test_options_word_list (SANE_Device * device, int option_num, SANE_Int val_int; SANE_Int info; - check(FATAL, (opt->type == SANE_TYPE_INT || + check(FATAL, (opt->type == SANE_TYPE_INT || opt->type == SANE_TYPE_FIXED), "type must be SANE_TYPE_INT or SANE_TYPE_FIXED (%d)", opt->type); if (!SANE_OPTION_IS_SETTABLE(opt->cap)) return; for (i=1; iconstraint.word_list[0]; i++) { - + info = 0x1010; /* garbage */ val_int = opt->constraint.word_list[i]; - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, &val_int, &info); - + check(FATAL, (status == SANE_STATUS_GOOD), "cannot set a settable option (status=%s)", sane_strstatus(status)); - check(WRN, ((info & ~(SANE_INFO_RELOAD_OPTIONS | + check(WRN, ((info & ~(SANE_INFO_RELOAD_OPTIONS | SANE_INFO_RELOAD_PARAMS)) == 0), "sane_control_option set an invalid info (%d)", info); @@ -281,8 +281,8 @@ test_options_word_list (SANE_Device * device, int option_num, } /* The option might have become inactive or unsettable. Skip it. */ - if (!SANE_OPTION_IS_ACTIVE(opt->cap) || - !SANE_OPTION_IS_SETTABLE(opt->cap)) + if (!SANE_OPTION_IS_ACTIVE(opt->cap) || + !SANE_OPTION_IS_SETTABLE(opt->cap)) return; } @@ -290,7 +290,7 @@ test_options_word_list (SANE_Device * device, int option_num, /* Try to set every option in a string list. */ static void -test_options_string_list (SANE_Device * device, int option_num, +test_options_string_list (SANE_Device * device, int option_num, const SANE_Option_Descriptor *opt, int can_do_recursive) { @@ -314,13 +314,13 @@ test_options_string_list (SANE_Device * device, int option_num, val_string, opt->size); info = 0xE1000; /* garbage */ - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, val_string, &info); check(FATAL, (status == SANE_STATUS_GOOD), "cannot set a settable option (status=%s)", sane_strstatus(status)); - check(WRN, ((info & ~(SANE_INFO_RELOAD_OPTIONS | + check(WRN, ((info & ~(SANE_INFO_RELOAD_OPTIONS | SANE_INFO_RELOAD_PARAMS)) == 0), "sane_control_option set an invalid info (%d)", info); @@ -334,8 +334,8 @@ test_options_string_list (SANE_Device * device, int option_num, } /* The option might have become inactive or unsettable. Skip it. */ - if (!SANE_OPTION_IS_ACTIVE(opt->cap) || - !SANE_OPTION_IS_SETTABLE(opt->cap)) + if (!SANE_OPTION_IS_ACTIVE(opt->cap) || + !SANE_OPTION_IS_SETTABLE(opt->cap)) return; } } @@ -352,8 +352,8 @@ test_options (SANE_Device * device, int can_do_recursive) void *optval; /* value for the option */ size_t optsize; /* size of the optval buffer */ - /* - * Test option 0 + /* + * Test option 0 */ opt = sane_get_option_descriptor (device, 0); check(FATAL, (opt != NULL), @@ -374,7 +374,7 @@ test_options (SANE_Device * device, int can_do_recursive) check(WRN, (status != SANE_STATUS_GOOD), "the option 0 value can be set"); - /* + /* * Test all options */ option_num = 0; @@ -454,7 +454,7 @@ test_options (SANE_Device * device, int can_do_recursive) check(WRN, (opt->constraint_type == SANE_CONSTRAINT_NONE), "invalid constraint type for option [%d, %s] (%d)", option_num, opt->name, opt->constraint_type); break; - + case SANE_TYPE_INT: case SANE_TYPE_FIXED: check(WRN, (opt->size > 0 && (opt->size % sizeof(SANE_Word) == 0)), @@ -467,7 +467,7 @@ test_options (SANE_Device * device, int can_do_recursive) "invalid constraint type for option [%d, %s] (%d)", option_num, opt->name, opt->constraint_type); break; - case SANE_TYPE_STRING: + case SANE_TYPE_STRING: check(WRN, (opt->size >= 1), "size of option [%d, %s] must be at least 1 for the NUL terminator", option_num, opt->name); check(INF, (opt->unit == SANE_UNIT_NONE), @@ -479,7 +479,7 @@ test_options (SANE_Device * device, int can_do_recursive) optsize = opt->size; break; - case SANE_TYPE_BUTTON: + case SANE_TYPE_BUTTON: case SANE_TYPE_GROUP: check(INF, (opt->unit == SANE_UNIT_NONE), "option [%d, %s], unit is not SANE_UNIT_NONE", option_num, opt->name); @@ -491,11 +491,11 @@ test_options (SANE_Device * device, int can_do_recursive) default: check(ERR, 0, - "invalid type %d for option %s", + "invalid type %d for option %s", opt->type, opt->name); break; } - + if (optval) { /* This is an option with a value */ @@ -505,7 +505,7 @@ test_options (SANE_Device * device, int can_do_recursive) * consider that an inactive option shouldn't be read by a * frontend because its value is meaningless. I think * that, in that case, SANE_STATUS_INVAL is an appropriate - * return. + * return. */ guards_set(optval, optsize); status = sane_control_option (device, option_num, @@ -522,7 +522,7 @@ test_options (SANE_Device * device, int can_do_recursive) /* set with NULL info */ guards_set(optval, optsize); - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, optval, NULL); guards_check(optval, optsize); if (SANE_OPTION_IS_SETTABLE (opt->cap) && SANE_OPTION_IS_ACTIVE (opt->cap)) { @@ -531,13 +531,13 @@ test_options (SANE_Device * device, int can_do_recursive) } else { check(ERR, (status == SANE_STATUS_INVAL), "was able to set option [%d, %s] value, although it is not active or settable", option_num, opt->name); - } - + } + /* Get with invalid info. Since if is a get, info should be either * ignored or set to 0. */ info = 0xdeadbeef; guards_set(optval, optsize); - status = sane_control_option (device, option_num, SANE_ACTION_GET_VALUE, + status = sane_control_option (device, option_num, SANE_ACTION_GET_VALUE, optval, &info); guards_check(optval, optsize); if (SANE_OPTION_IS_GETTABLE (opt->cap)) { @@ -549,19 +549,19 @@ test_options (SANE_Device * device, int can_do_recursive) } check(ERR, ((info == (SANE_Int)0xdeadbeef) || (info == 0)), "when getting option [%d, %s], info was set to %x", option_num, opt->name, info); - + /* Set with invalid info. Info should be reset by the backend. */ info = 0x10000; guards_set(optval, optsize); - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, optval, &info); guards_check(optval, optsize); if (SANE_OPTION_IS_SETTABLE (opt->cap) && SANE_OPTION_IS_ACTIVE (opt->cap)) { check(ERR, (status == SANE_STATUS_GOOD), "cannot set option [%d, %s] value, although it is active and settable (%s)", option_num, opt->name, sane_strstatus(status)); - check(ERR, ((info & ~(SANE_INFO_INEXACT | - SANE_INFO_RELOAD_OPTIONS | + check(ERR, ((info & ~(SANE_INFO_INEXACT | + SANE_INFO_RELOAD_OPTIONS | SANE_INFO_RELOAD_PARAMS)) == 0), "sane_control_option set some wrong bit in info (%d)", info); @@ -575,10 +575,10 @@ test_options (SANE_Device * device, int can_do_recursive) /* Ask the backend to set the option automatically. */ guards_set(optval, optsize); - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_AUTO, optval, &info); guards_check(optval, optsize); - if (SANE_OPTION_IS_SETTABLE (opt->cap) && + if (SANE_OPTION_IS_SETTABLE (opt->cap) && SANE_OPTION_IS_ACTIVE (opt->cap) && (opt->cap & SANE_CAP_AUTOMATIC)) { check(ERR, (status == SANE_STATUS_GOOD), @@ -594,7 +594,7 @@ test_options (SANE_Device * device, int can_do_recursive) if (optval) { guards_free(optval); - optval = NULL; + optval = NULL; } /* Some capabilities checks. */ @@ -605,18 +605,18 @@ test_options (SANE_Device * device, int can_do_recursive) check(ERR, ((opt->cap & SANE_CAP_SOFT_DETECT) != 0), "option [%d, %s], SANE_CAP_SOFT_DETECT must be set if SANE_CAP_SOFT_SELECT is set", option_num, opt->name); } - if ((opt->cap & (SANE_CAP_SOFT_SELECT | - SANE_CAP_HARD_SELECT | + if ((opt->cap & (SANE_CAP_SOFT_SELECT | + SANE_CAP_HARD_SELECT | SANE_CAP_SOFT_DETECT)) == SANE_CAP_SOFT_DETECT) { check(ERR, (!SANE_OPTION_IS_SETTABLE (opt->cap)), "option [%d, %s], must not be settable", option_num, opt->name); } - + if (!SANE_OPTION_IS_SETTABLE (opt->cap)) { /* Unsettable option. Ignore the rest of the test. */ continue; } - + /* Check that will sane_control_option copy the string * parameter and not just store a pointer to it. */ if (opt->type == SANE_TYPE_STRING) { @@ -624,7 +624,7 @@ test_options (SANE_Device * device, int can_do_recursive) char *optstr; optstr = guards_malloc(opt->size); - val_string2 = guards_malloc(opt->size); + val_string2 = guards_malloc(opt->size); /* Poison the current value. */ strncpy(optstr, "-pOiSoN-", opt->size-1); @@ -632,7 +632,7 @@ test_options (SANE_Device * device, int can_do_recursive) /* Get the value */ guards_set(optstr, opt->size); - status = sane_control_option (device, option_num, SANE_ACTION_GET_VALUE, + status = sane_control_option (device, option_num, SANE_ACTION_GET_VALUE, optstr, NULL); guards_check(optstr, opt->size); check(FATAL, (status == SANE_STATUS_GOOD), @@ -642,7 +642,7 @@ test_options (SANE_Device * device, int can_do_recursive) /* Set the value */ guards_set(optstr, opt->size); - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, optstr, NULL); guards_check(optstr, opt->size); check(ERR, (status == SANE_STATUS_GOOD), @@ -653,13 +653,13 @@ test_options (SANE_Device * device, int can_do_recursive) optstr[opt->size-1] = 0; /* Read again the value and compare. */ - guards_set(val_string2, opt->size); - status = sane_control_option (device, option_num, SANE_ACTION_GET_VALUE, + guards_set(val_string2, opt->size); + status = sane_control_option (device, option_num, SANE_ACTION_GET_VALUE, val_string2, NULL); guards_check(val_string2, opt->size); check(ERR, (status == SANE_STATUS_GOOD), "cannot get option [%d, %s] value", option_num, opt->name); - + check(FATAL, (strcmp(optstr, val_string2) != 0), "sane_control_option did not copy the string parameter for option [%d, %s]", option_num, opt->name); @@ -671,8 +671,8 @@ test_options (SANE_Device * device, int can_do_recursive) if (opt->type == SANE_TYPE_BOOL) { SANE_Bool org_v; SANE_Bool v; - - status = sane_control_option (device, option_num, SANE_ACTION_GET_VALUE, + + status = sane_control_option (device, option_num, SANE_ACTION_GET_VALUE, &org_v, &info); check(ERR, (status == SANE_STATUS_GOOD), "cannot get boolean option [%d, %s] value (%s)", option_num, opt->name, sane_strstatus(status)); @@ -686,12 +686,12 @@ test_options (SANE_Device * device, int can_do_recursive) break; default: check(ERR, 0, - "invalid boolean value %d for option [%d, %s]", + "invalid boolean value %d for option [%d, %s]", org_v, option_num, opt->name); } - + /* Set the opposite of the current value. */ - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, &v, &info); check(ERR, (status == SANE_STATUS_GOOD), "cannot set boolean option [%d, %s] value (%s)", option_num, opt->name, sane_strstatus(status)); @@ -704,7 +704,7 @@ test_options (SANE_Device * device, int can_do_recursive) /* Set the initial value. */ v = org_v; - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, &v, &info); check(ERR, (status == SANE_STATUS_GOOD), "cannot set boolean option [%d, %s] value (%s)", option_num, opt->name, sane_strstatus(status)); @@ -713,22 +713,22 @@ test_options (SANE_Device * device, int can_do_recursive) if (info & SANE_INFO_RELOAD_PARAMS) { test_parameters(device, NULL); - } + } } - + /* Try to set an invalid option. */ switch(opt->type) { case SANE_TYPE_BOOL: { SANE_Word v; /* should be SANE_Bool instead */ - + v = -1; /* invalid value. must be SANE_FALSE or SANE_TRUE */ - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, &v, NULL); check(ERR, (status != SANE_STATUS_GOOD), "was able to set an invalid value for boolean option [%d, %s]", option_num, opt->name); v = 2; /* invalid value. must be SANE_FALSE or SANE_TRUE */ - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, &v, NULL); check(ERR, (status != SANE_STATUS_GOOD), "was able to set an invalid value for boolean option [%d, %s]", option_num, opt->name); @@ -750,7 +750,7 @@ test_options (SANE_Device * device, int can_do_recursive) v[i] = opt->constraint.range->min - 1; /* invalid range */ guards_set(v, opt->size); - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, v, &info); guards_check(v, opt->size); check(ERR, (status == SANE_STATUS_GOOD && (info & SANE_INFO_INEXACT) ), @@ -758,7 +758,7 @@ test_options (SANE_Device * device, int can_do_recursive) /* Set the corrected value. */ guards_set(v, opt->size); - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, v, &info); guards_check(v, opt->size); check(ERR, (status == SANE_STATUS_GOOD && !(info & SANE_INFO_INEXACT) ), @@ -769,7 +769,7 @@ test_options (SANE_Device * device, int can_do_recursive) v[i] = opt->constraint.range->max + 1; /* invalid range */ guards_set(v, opt->size); - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, v, &info); guards_check(v, opt->size); check(ERR, (status == SANE_STATUS_GOOD && (info & SANE_INFO_INEXACT) ), @@ -777,7 +777,7 @@ test_options (SANE_Device * device, int can_do_recursive) /* Set the corrected value. */ guards_set(v, opt->size); - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, v, &info); guards_check(v, opt->size); check(ERR, (status == SANE_STATUS_GOOD && !(info & SANE_INFO_INEXACT) ), @@ -791,15 +791,15 @@ test_options (SANE_Device * device, int can_do_recursive) default: break; } - + /* TODO: button */ - - /* + + /* * Here starts all the recursive stuff. After the test, it is * possible that the value is not settable nor active - * anymore. + * anymore. */ - + /* Try to set every option in a list */ switch(opt->constraint_type) { case SANE_CONSTRAINT_WORD_LIST: @@ -813,12 +813,12 @@ test_options (SANE_Device * device, int can_do_recursive) "no constraint list for option [%d, %s]", option_num, opt->name); test_options_string_list (device, option_num, opt, can_do_recursive); break; - + case SANE_CONSTRAINT_RANGE: check(FATAL, (opt->constraint.range != NULL), "no constraint range for option [%d, %s]", option_num, opt->name); check(FATAL, (opt->constraint.range->max >= opt->constraint.range->min), - "incorrect range for option [%d, %s] (min=%d > max=%d)", + "incorrect range for option [%d, %s] (min=%d > max=%d)", option_num, opt->name, opt->constraint.range->min, opt->constraint.range->max); /* Recurse. */ if (can_do_recursive) { @@ -838,7 +838,7 @@ test_options (SANE_Device * device, int can_do_recursive) } /* End of the test for that option. */ - } + } /* test random non-existing options. */ opt = sane_get_option_descriptor (device, -1); @@ -852,7 +852,7 @@ test_options (SANE_Device * device, int can_do_recursive) opt = sane_get_option_descriptor (device, num_dev_options+2); check(ERR, (opt == NULL), "was able to get option descriptor for option %d", num_dev_options+2); - + opt = sane_get_option_descriptor (device, num_dev_options+50); check(ERR, (opt == NULL), "was able to get option descriptor for option %d", num_dev_options+50); @@ -863,8 +863,8 @@ static const SANE_Option_Descriptor *get_optdesc_by_name(SANE_Handle device, con { const SANE_Option_Descriptor *opt; SANE_Int num_dev_options; - SANE_Status status; - + SANE_Status status; + /* Get the number of options. */ status = sane_control_option (device, 0, SANE_ACTION_GET_VALUE, &num_dev_options, 0); check(FATAL, (status == SANE_STATUS_GOOD), @@ -876,7 +876,7 @@ static const SANE_Option_Descriptor *get_optdesc_by_name(SANE_Handle device, con opt = sane_get_option_descriptor (device, *option_num); check(FATAL, (opt != NULL), "cannot get option descriptor for option %d", *option_num); - + if (opt->name && strcmp(opt->name, name) == 0) { return(opt); } @@ -886,10 +886,10 @@ static const SANE_Option_Descriptor *get_optdesc_by_name(SANE_Handle device, con /* Set the first value for an option. That equates to the minimum for a * range or the first element in a list. */ -static void set_min_value(SANE_Handle device, int option_num, +static void set_min_value(SANE_Handle device, int option_num, const SANE_Option_Descriptor *opt) { - SANE_Status status; + SANE_Status status; SANE_String val_string; SANE_Int val_int; int rc; @@ -915,7 +915,7 @@ static void set_min_value(SANE_Handle device, int option_num, if (!rc) return; val_string = strdup(opt->constraint.string_list[0]); assert(val_string); - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, val_string, NULL); check(ERR, (status == SANE_STATUS_GOOD), "cannot set option %s to [%s] (%s)", opt->name, val_string, sane_strstatus(status)); @@ -929,7 +929,7 @@ static void set_min_value(SANE_Handle device, int option_num, check(ERR, (status == SANE_STATUS_GOOD), "cannot set option %s to %d (%s)", opt->name, val_int, sane_strstatus(status)); break; - + default: abort(); } @@ -937,10 +937,10 @@ static void set_min_value(SANE_Handle device, int option_num, /* Set the last value for an option. That equates to the maximum for a * range or the last element in a list. */ -static void set_max_value(SANE_Handle device, int option_num, +static void set_max_value(SANE_Handle device, int option_num, const SANE_Option_Descriptor *opt) { - SANE_Status status; + SANE_Status status; SANE_String val_string; SANE_Int val_int; int i; @@ -968,7 +968,7 @@ static void set_max_value(SANE_Handle device, int option_num, for (i=1; opt->constraint.string_list[i] != NULL; i++); val_string = strdup(opt->constraint.string_list[i-1]); assert(val_string); - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, val_string, NULL); check(ERR, (status == SANE_STATUS_GOOD), "cannot set option %s to [%s] (%s)", opt->name, val_string, sane_strstatus(status)); @@ -982,17 +982,17 @@ static void set_max_value(SANE_Handle device, int option_num, check(ERR, (status == SANE_STATUS_GOOD), "cannot set option %s to %d (%s)", opt->name, val_int, sane_strstatus(status)); break; - + default: abort(); } } /* Set a random value for an option amongst the possible values. */ -static void set_random_value(SANE_Handle device, int option_num, +static void set_random_value(SANE_Handle device, int option_num, const SANE_Option_Descriptor *opt) { - SANE_Status status; + SANE_Status status; SANE_String val_string; SANE_Int val_int; int i; @@ -1022,7 +1022,7 @@ static void set_random_value(SANE_Handle device, int option_num, i = rand() % i; val_string = strdup(opt->constraint.string_list[0]); assert(val_string); - status = sane_control_option (device, option_num, + status = sane_control_option (device, option_num, SANE_ACTION_SET_VALUE, val_string, NULL); check(ERR, (status == SANE_STATUS_GOOD), "cannot set option %s to [%s] (%s)", opt->name, val_string, sane_strstatus(status)); @@ -1038,7 +1038,7 @@ static void set_random_value(SANE_Handle device, int option_num, check(ERR, (status == SANE_STATUS_GOOD), "cannot set option %s to %d (%s)", opt->name, val_int, sane_strstatus(status)); break; - + default: abort(); } @@ -1053,18 +1053,18 @@ static char *get_option_value(SANE_Handle device, const char *option_name) void *optval; /* value for the option */ int optnum; static char str[100]; - SANE_Status status; + SANE_Status status; opt = get_optdesc_by_name(device, option_name, &optnum); if (opt) { - + optval = guards_malloc(opt->size); status = sane_control_option (device, optnum, SANE_ACTION_GET_VALUE, optval, NULL); - + if (status == SANE_STATUS_GOOD) { switch(opt->type) { - + case SANE_TYPE_BOOL: if (*(SANE_Word*) optval == SANE_FALSE) { strcpy(str, "FALSE"); @@ -1072,22 +1072,22 @@ static char *get_option_value(SANE_Handle device, const char *option_name) strcpy(str, "TRUE"); } break; - + case SANE_TYPE_INT: sprintf(str, "%d", *(SANE_Word*) optval); break; - + case SANE_TYPE_FIXED: { int i; i = SANE_UNFIX(*(SANE_Word*) optval); sprintf(str, "%d", i); } break; - + case SANE_TYPE_STRING: strcpy(str, optval); break; - + default: str[0] = 0; } @@ -1113,7 +1113,7 @@ static char *display_scan_parameters(SANE_Handle device) char *p = str; *p = 0; - + p += sprintf(p, "scan mode=[%s] ", get_option_value(device, SANE_NAME_SCAN_MODE)); p += sprintf(p, "resolution=[%s] ", get_option_value(device, SANE_NAME_SCAN_RESOLUTION)); @@ -1129,7 +1129,7 @@ static char *display_scan_parameters(SANE_Handle device) static void test_scan(SANE_Handle device) { const SANE_Option_Descriptor *opt; - SANE_Status status; + SANE_Status status; int option_num; SANE_Int val_int; unsigned char *image = NULL; @@ -1140,7 +1140,7 @@ static void test_scan(SANE_Handle device) int rc; int fd; - /* Set the largest scan possible. + /* Set the largest scan possible. * * For that test, the corner * position must exists and be SANE_CONSTRAINT_RANGE (this is not @@ -1169,17 +1169,17 @@ static void test_scan(SANE_Handle device) /* Try to set the I/O mode outside of a scan. */ status = sane_set_io_mode (device, SANE_FALSE); check(ERR, (status == SANE_STATUS_INVAL), - "it is possible to sane_set_io_mode outside of a scan"); + "it is possible to sane_set_io_mode outside of a scan"); status = sane_set_io_mode (device, SANE_TRUE); check(ERR, (status == SANE_STATUS_INVAL || status == SANE_STATUS_UNSUPPORTED), - "it is possible to sane_set_io_mode outside of a scan"); + "it is possible to sane_set_io_mode outside of a scan"); /* Test sane_get_select_fd outside of a scan. */ status = sane_get_select_fd(device, &fd); - check(ERR, (status == SANE_STATUS_INVAL || + check(ERR, (status == SANE_STATUS_INVAL || status == SANE_STATUS_UNSUPPORTED), - "sane_get_select_fd outside of a scan returned an invalid status (%s)", + "sane_get_select_fd outside of a scan returned an invalid status (%s)", sane_strstatus (status)); if (test_level > 2) { @@ -1197,11 +1197,11 @@ static void test_scan(SANE_Handle device) check(ERR, (status == SANE_STATUS_GOOD), "sane_set_io_mode with SANE_FALSE must return SANE_STATUS_GOOD"); - /* test sane_set_io_mode with SANE_TRUE. */ + /* test sane_set_io_mode with SANE_TRUE. */ status = sane_set_io_mode (device, SANE_TRUE); - check(ERR, (status == SANE_STATUS_GOOD || + check(ERR, (status == SANE_STATUS_GOOD || status == SANE_STATUS_UNSUPPORTED), - "sane_set_io_mode with SANE_TRUE returned an invalid status (%s)", + "sane_set_io_mode with SANE_TRUE returned an invalid status (%s)", sane_strstatus (status)); /* Put the backend back into blocking mode. */ @@ -1212,9 +1212,9 @@ static void test_scan(SANE_Handle device) /* Test sane_get_select_fd */ fd = 0x76575; /* won't exists */ status = sane_get_select_fd(device, &fd); - check(ERR, (status == SANE_STATUS_GOOD || + check(ERR, (status == SANE_STATUS_GOOD || status == SANE_STATUS_UNSUPPORTED), - "sane_get_select_fd returned an invalid status (%s)", + "sane_get_select_fd returned an invalid status (%s)", sane_strstatus (status)); if (status == SANE_STATUS_GOOD) { check(ERR, (fd != 0x76575), @@ -1222,13 +1222,13 @@ static void test_scan(SANE_Handle device) check(ERR, (fd >= 0), "sane_get_select_fd returned an invalid fd"); } - + /* Check that it is not possible to set an option. It is probably * a requirement stated indirectly in the section 4.4 on code - * flow. + * flow. */ - status = sane_control_option (device, option_num, - SANE_ACTION_SET_VALUE, + status = sane_control_option (device, option_num, + SANE_ACTION_SET_VALUE, &val_int , NULL); check(WRN, (status != SANE_STATUS_GOOD), "it is possible to set a value during a scan"); @@ -1236,7 +1236,7 @@ static void test_scan(SANE_Handle device) test_parameters(device, ¶ms); if (params.bytes_per_line != 0 && params.lines != 0) { - + to_read = params.bytes_per_line * params.lines; while(SANE_TRUE) { len = 76457645; /* garbage */ @@ -1288,8 +1288,8 @@ static void test_scan(SANE_Handle device) "it is possible to sane_read outside a scan"); - /* - * Do a partial scan + /* + * Do a partial scan */ check(MSG, 0, "TEST: partial scan - %s", display_scan_parameters(device)); @@ -1301,7 +1301,7 @@ static void test_scan(SANE_Handle device) test_parameters(device, ¶ms); if (params.bytes_per_line != 0 && params.lines != 0) { - + len = 10; guards_set(image, 1); @@ -1311,12 +1311,12 @@ static void test_scan(SANE_Handle device) check(ERR, (len == 1), "sane_read() didn't return 1 byte as requested"); } - + sane_cancel(device); - /* - * Do a scan, reading random length. + /* + * Do a scan, reading random length. */ check(MSG, 0, "TEST: scan random length - %s", display_scan_parameters(device)); @@ -1336,8 +1336,8 @@ static void test_scan(SANE_Handle device) if (!rc) goto the_end; /* Check that it is not possible to set an option. */ - status = sane_control_option (device, option_num, - SANE_ACTION_SET_VALUE, + status = sane_control_option (device, option_num, + SANE_ACTION_SET_VALUE, &val_int , NULL); check(WRN, (status != SANE_STATUS_GOOD), "it is possible to set a value during a scan"); @@ -1345,10 +1345,10 @@ static void test_scan(SANE_Handle device) test_parameters(device, ¶ms); if (params.bytes_per_line != 0 && params.lines != 0) { - + to_read = params.bytes_per_line * params.lines; srandom(time(NULL)); - + while (SANE_TRUE) { ask_len = rand() & 0x7ffff; /* 0 to 512K-1 */ @@ -1387,7 +1387,7 @@ static void test_scan(SANE_Handle device) if (!rc) { break; } - + to_read -= len; } @@ -1422,7 +1422,7 @@ static void test_scan(SANE_Handle device) test_parameters(device, ¶ms); if (params.bytes_per_line != 0 && params.lines != 0) { - + to_read = params.bytes_per_line * params.lines; while(SANE_TRUE) { ask_len = IMAGE_SIZE; @@ -1481,7 +1481,7 @@ static void test_scans(SANE_Device * device) { const SANE_Option_Descriptor *scan_mode_opt; const SANE_Option_Descriptor *resolution_mode_opt; - SANE_Status status; + SANE_Status status; int scan_mode_optnum; int resolution_mode_optnum; SANE_String val_string; @@ -1519,27 +1519,27 @@ static void test_scans(SANE_Device * device) if (scan_mode_opt) { /* Do several scans, with several resolution. */ for (i=0; scan_mode_opt->constraint.string_list[i] != NULL; i++) { - + val_string = strdup(scan_mode_opt->constraint.string_list[i]); assert(val_string); - - status = sane_control_option (device, scan_mode_optnum, + + status = sane_control_option (device, scan_mode_optnum, SANE_ACTION_SET_VALUE, val_string, NULL); check(FATAL, (status == SANE_STATUS_GOOD), "cannot set a settable option (status=%s)", sane_strstatus(status)); - + free(val_string); if (resolution_mode_opt) { - set_min_value(device, resolution_mode_optnum, - resolution_mode_opt); + set_min_value(device, resolution_mode_optnum, + resolution_mode_opt); test_scan(device); - set_max_value(device, resolution_mode_optnum, + set_max_value(device, resolution_mode_optnum, resolution_mode_opt); test_scan(device); - set_random_value(device, resolution_mode_optnum, + set_random_value(device, resolution_mode_optnum, resolution_mode_opt); test_scan(device); } else { @@ -1548,15 +1548,15 @@ static void test_scans(SANE_Device * device) } } else { if (resolution_mode_opt) { - set_min_value(device, resolution_mode_optnum, - resolution_mode_opt); + set_min_value(device, resolution_mode_optnum, + resolution_mode_opt); test_scan(device); - set_max_value(device, resolution_mode_optnum, + set_max_value(device, resolution_mode_optnum, resolution_mode_opt); test_scan(device); - set_random_value(device, resolution_mode_optnum, + set_random_value(device, resolution_mode_optnum, resolution_mode_opt); test_scan(device); } else { @@ -1593,7 +1593,7 @@ SANE_Status status; check(FATAL, (dev->vendor != NULL), "device vendor is NULL"); check(FATAL, (dev->type != NULL), "device type is NULL"); check(FATAL, (dev->model != NULL), "device model is NULL"); - + check(INF, ((strcmp(dev->type, "flatbed scanner") == 0) || (strcmp(dev->type, "frame grabber") == 0) || (strcmp(dev->type, "handheld scanner") == 0) || @@ -1784,7 +1784,7 @@ main (int argc, char **argv) status = sane_open ("opihndvses75bvt6fg", &device); check(WRN, (status == SANE_STATUS_INVAL), "sane_open() failed (%s)", sane_strstatus (status)); - + if (status == SANE_STATUS_GOOD) sane_close(device); @@ -1809,7 +1809,7 @@ main (int argc, char **argv) status = sane_init (&version_code, NULL); check(FATAL, (status == SANE_STATUS_GOOD), "sane_init failed with %s", sane_strstatus (status)); - + /* Check the device list */ rc = test_get_devices(&device_list, time); if (rc) goto the_exit; @@ -1833,7 +1833,7 @@ main (int argc, char **argv) if (!rc) goto the_exit; check(MSG, 0, "using device %s", devname); - + /* Test open close */ check(MSG, 0, "TEST: open/close"); for (i=0; i<10; i++) { @@ -1887,6 +1887,3 @@ main (int argc, char **argv) display_stats(); return(0); } - - - diff --git a/include/.gitignore b/include/.gitignore new file mode 100644 index 0000000..fb772cb --- /dev/null +++ b/include/.gitignore @@ -0,0 +1,2 @@ +_stdint.h +byteorder.h diff --git a/include/Makefile.in b/include/Makefile.in deleted file mode 100644 index 3ccbdf3..0000000 --- a/include/Makefile.in +++ /dev/null @@ -1,642 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = include -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/mkinstalldirs $(nobase_include_HEADERS) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/sane/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(includedir)" -HEADERS = $(nobase_include_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_CPPFLAGS = @AM_CPPFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AVAHI_CFLAGS = @AVAHI_CFLAGS@ -AVAHI_LIBS = @AVAHI_LIBS@ -AWK = @AWK@ -BACKENDS = @BACKENDS@ -BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ -BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLH = @DLH@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVIPS = @DVIPS@ -DYNAMIC_FLAG = @DYNAMIC_FLAG@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FIG2DEV = @FIG2DEV@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ -GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ -GPHOTO2_LIBS = @GPHOTO2_LIBS@ -GREP = @GREP@ -GS = @GS@ -HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -JPEG_LIBS = @JPEG_LIBS@ -LATEX = @LATEX@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOCKPATH_GROUP = @LOCKPATH_GROUP@ -LTALLOCA = @LTALLOCA@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINDEX = @MAKEINDEX@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_LIBS = @PNG_LIBS@ -POSUB = @POSUB@ -PPMTOGIF = @PPMTOGIF@ -PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ -PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RESMGR_LIBS = @RESMGR_LIBS@ -SANEI_SANEI_JPEG_LO = @SANEI_SANEI_JPEG_LO@ -SANE_CONFIG_PATH = @SANE_CONFIG_PATH@ -SCSI_LIBS = @SCSI_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SNMP_CFLAGS = @SNMP_CFLAGS@ -SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ -SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ -STRICT_LDFLAGS = @STRICT_LDFLAGS@ -STRIP = @STRIP@ -SYSLOG_LIBS = @SYSLOG_LIBS@ -SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ -SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_CFLAGS = @USB_CFLAGS@ -USB_LIBS = @USB_LIBS@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -configdir = @configdir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -effective_target = @effective_target@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -locksanedir = @locksanedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -nobase_include_HEADERS = sane/sane.h sane/saneopts.h -EXTRA_DIST = lalloca.h lassert.h lgetopt.h md5.h font_6x11.h \ - sane/config.h.in sane/sanei.h sane/sanei_ab306.h \ - sane/sanei_access.h sane/sanei_auth.h sane/sanei_backend.h \ - sane/sanei_cderror.h sane/sanei_codec_ascii.h \ - sane/sanei_codec_bin.h sane/sanei_config.h sane/sanei_debug.h \ - sane/sanei_jinclude.h sane/sanei_jpeg.h sane/sanei_lm983x.h \ - sane/sanei_net.h sane/sanei_pa4s2.h sane/sanei_pio.h \ - sane/sanei_pp.h sane/sanei_pv8630.h sane/sanei_scsi.h \ - sane/sanei_tcp.h sane/sanei_thread.h sane/sanei_udp.h \ - sane/sanei_usb.h sane/sanei_wire.h sane/sanei_magic.h \ - sane/sanei_ir.h -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu include/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-nobase_includeHEADERS: $(nobase_include_HEADERS) - @$(NORMAL_INSTALL) - @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ - fi; \ - $(am__nobase_list) | while read dir files; do \ - xfiles=; for file in $$files; do \ - if test -f "$$file"; then xfiles="$$xfiles $$file"; \ - else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ - test -z "$$xfiles" || { \ - test "x$$dir" = x. || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)/$$dir"; }; \ - echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(includedir)/$$dir'"; \ - $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(includedir)/$$dir" || exit $$?; }; \ - done - -uninstall-nobase_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ - $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ - dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(includedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-nobase_includeHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-nobase_includeHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool cscopelist-am ctags ctags-am distclean \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man \ - install-nobase_includeHEADERS install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-nobase_includeHEADERS - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/include/lalloca.h b/include/lalloca.h index 85e4ea8..214e550 100644 --- a/include/lalloca.h +++ b/include/lalloca.h @@ -37,8 +37,8 @@ whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. - Choose suitable implementation of alloca. - + Choose suitable implementation of alloca. + */ #ifndef lalloca_h diff --git a/include/lassert.h b/include/lassert.h index 4d1c740..5a86e21 100644 --- a/include/lassert.h +++ b/include/lassert.h @@ -48,7 +48,7 @@ /* The idea is from the gcc header file assert.h. */ #if defined __GNUC__ && defined _AIX -/* The implementation of assert of gcc on AIX is in libgcc.a. This +/* The implementation of assert of gcc on AIX is in libgcc.a. This doesn't work with shared libraries. So let's make our own assert(). */ #define assert(arg) \ ((void) ((arg) ? 0 : lassert (arg, __FILE__, __LINE__))) diff --git a/include/md5.h b/include/md5.h index 51e2512..bee44f6 100644 --- a/include/md5.h +++ b/include/md5.h @@ -87,7 +87,7 @@ typedef unsigned long int md5_uintptr; #define ALIGN __attribute__ ((__aligned__ (4))) #else #define ALIGN -#endif +#endif /* Structure to save state of computation between the single steps. */ struct md5_ctx diff --git a/include/sane/.gitignore b/include/sane/.gitignore new file mode 100644 index 0000000..f282c15 --- /dev/null +++ b/include/sane/.gitignore @@ -0,0 +1,3 @@ +config.h.in +config.h +stamp-h1 diff --git a/include/sane/config.h.in b/include/sane/config.h.in deleted file mode 100644 index 9a90a8d..0000000 --- a/include/sane/config.h.in +++ /dev/null @@ -1,711 +0,0 @@ -/* include/sane/config.h.in. Generated from configure.ac by autoheader. */ - -/* Define if building universal (internal helper macro) */ -#undef AC_APPLE_UNIVERSAL_BUILD - -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* Define to 1 if using `alloca.c'. */ -#undef C_ALLOCA - -/* Define to 1 if the system supports IPv6 */ -#undef ENABLE_IPV6 - -/* Define to 1 if device locking should be enabled. */ -#undef ENABLE_LOCKING - -/* Define to 1 if translation of program messages to the user's native - language is requested. */ -#undef ENABLE_NLS - -/* Define if GPLogFunc does not take a va_list. */ -#undef GPLOGFUNC_NO_VARGS - -/* Define to 1 if struct sockaddr_storage has an ss_family member */ -#undef HAS_SS_FAMILY - -/* Define to 1 if struct sockaddr_storage has __ss_family instead of ss_family - */ -#undef HAS___SS_FAMILY - -/* Define to 1 if you have `alloca', as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define to 1 if you have and it should be used (not on Ultrix). - */ -#undef HAVE_ALLOCA_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_APOLLO_SCSI_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_ASM_IO_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_ASM_TYPES_H - -/* Define to 1 if you have the `atexit' function. */ -#undef HAVE_ATEXIT - -/* Define to 1 if you have the header file. */ -#undef HAVE_BE_KERNEL_OS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_BSD_DEV_SCSIREG_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_CAMLIB_H - -/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the - CoreFoundation framework. */ -#undef HAVE_CFLOCALECOPYCURRENT - -/* Define to 1 if you have the `cfmakeraw' function. */ -#undef HAVE_CFMAKERAW - -/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in - the CoreFoundation framework. */ -#undef HAVE_CFPREFERENCESCOPYAPPVALUE - -/* Define if the GNU dcgettext() function is already present or preinstalled. - */ -#undef HAVE_DCGETTEXT - -/* Define to 1 if you have the header file. */ -#undef HAVE_DDK_NTDDSCSI_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_DEV_PPBUS_PPI_H - -/* Is /dev/urandom available? */ -#undef HAVE_DEV_URANDOM - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the `dlopen' function. */ -#undef HAVE_DLOPEN - -/* Define to 1 if you have the header file. */ -#undef HAVE_DL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define to 1 if you have the `getaddrinfo' function. */ -#undef HAVE_GETADDRINFO - -/* Define to 1 if you have the `getenv' function. */ -#undef HAVE_GETENV - -/* Define to 1 if you have the `getnameinfo' function. */ -#undef HAVE_GETNAMEINFO - -/* Define to 1 if you have the header file. */ -#undef HAVE_GETOPT_H - -/* Define to 1 if you have the `getopt_long' function. */ -#undef HAVE_GETOPT_LONG - -/* Define to 1 if you have the `getpagesize' function. */ -#undef HAVE_GETPAGESIZE - -/* Define to 1 if you have the `getpass' function. */ -#undef HAVE_GETPASS - -/* Define if the GNU gettext() function is already present or preinstalled. */ -#undef HAVE_GETTEXT - -/* Define to 1 if you have the `getuid' function. */ -#undef HAVE_GETUID - -/* Define to 1 if you have the `gp_camera_init' function. */ -#undef HAVE_GP_CAMERA_INIT - -/* Define to 1 if you have the `gp_port_info_get_path' function. */ -#undef HAVE_GP_PORT_INFO_GET_PATH - -/* Define to 1 if you have the header file. */ -#undef HAVE_GSCDDS_H - -/* Define to 1 if you have the `i386_set_ioperm' function. */ -#undef HAVE_I386_SET_IOPERM - -/* Define if you have the iconv() function and it works. */ -#undef HAVE_ICONV - -/* Define to 1 if you have the header file. */ -#undef HAVE_IFADDRS_H - -/* Define to 1 if you have the `inet_addr' function. */ -#undef HAVE_INET_ADDR - -/* Define to 1 if you have the `inet_aton' function. */ -#undef HAVE_INET_ATON - -/* Define to 1 if you have the `inet_ntoa' function. */ -#undef HAVE_INET_NTOA - -/* Define to 1 if you have the `inet_ntop' function. */ -#undef HAVE_INET_NTOP - -/* Define to 1 if you have the `inet_pton' function. */ -#undef HAVE_INET_PTON - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_IOKIT_CDB_IOSCSILIB_H - -/* Define to 1 if you have the - header file. */ -#undef HAVE_IOKIT_SCSI_COMMANDS_SCSICOMMANDOPERATIONCODES_H - -/* Define to 1 if you have the header - file. */ -#undef HAVE_IOKIT_SCSI_SCSICOMMANDOPERATIONCODES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_IOKIT_SCSI_SCSITASKLIB_H - -/* Define to 1 if you have the `ioperm' function. */ -#undef HAVE_IOPERM - -/* Define to 1 if you have the `iopl' function. */ -#undef HAVE_IOPL - -/* Define to 1 if you have the header file. */ -#undef HAVE_IO_CAM_CAM_H - -/* Define to 1 if you have the `isfdtype' function. */ -#undef HAVE_ISFDTYPE - -/* Define to 1 if you have the header file. */ -#undef HAVE_LIBC_H - -/* Define to 1 if you have the `ieee1284' library (-lcam). */ -#undef HAVE_LIBIEEE1284 - -/* Define to 1 if you have the libjpeg library. */ -#undef HAVE_LIBJPEG - -/* Define to 1 if you have the libpng library. */ -#undef HAVE_LIBPNG - -/* Define to 1 if you have the net-snmp library. */ -#undef HAVE_LIBSNMP - -/* Define to 1 if you have libusb-1.0 */ -#undef HAVE_LIBUSB - -/* Define to 1 if you have libusb-0.1 */ -#undef HAVE_LIBUSB_LEGACY - -/* Define to 1 if you have the header file. */ -#undef HAVE_LIMITS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_LINUX_PPDEV_H - -/* Define if the long long type is available. */ -#undef HAVE_LONG_LONG - -/* Define to 1 if you have the header file. */ -#undef HAVE_LUSB0_USB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_MACHINE_CPUFUNC_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_MACH_O_DYLD_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `mkdir' function. */ -#undef HAVE_MKDIR - -/* Define to 1 if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define to 1 if you have the header file. */ -#undef HAVE_NETINET_IN_H - -/* Define to 1 if you have the `NSLinkModule' function. */ -#undef HAVE_NSLINKMODULE - -/* Define to 1 if you have the header file. */ -#undef HAVE_NTDDSCSI_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_OS2_H - -/* Define to 1 if you have the `poll' function. */ -#undef HAVE_POLL - -/* Define to 1 if you have the `pthread_cancel' function. */ -#undef HAVE_PTHREAD_CANCEL - -/* Define to 1 if you have the `pthread_create' function. */ -#undef HAVE_PTHREAD_CREATE - -/* Define to 1 if you have the `pthread_detach' function. */ -#undef HAVE_PTHREAD_DETACH - -/* Define to 1 if you have the header file. */ -#undef HAVE_PTHREAD_H - -/* Define to 1 if you have the `pthread_join' function. */ -#undef HAVE_PTHREAD_JOIN - -/* Define to 1 if you have the `pthread_kill' function. */ -#undef HAVE_PTHREAD_KILL - -/* Define to 1 if you have the `pthread_testcancel' function. */ -#undef HAVE_PTHREAD_TESTCANCEL - -/* Define to 1 if you have the header file. */ -#undef HAVE_PWD_H - -/* define if you have the resmgr library */ -#undef HAVE_RESMGR - -/* Define to 1 if you have the `scsireq_enter' function. */ -#undef HAVE_SCSIREQ_ENTER - -/* Define if SCSITaskSGElement is available. */ -#undef HAVE_SCSITASKSGELEMENT - -/* Define to 1 if you have the header file. */ -#undef HAVE_SCSI_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SCSI_SG_H - -/* Define to 1 if you have the `setitimer' function. */ -#undef HAVE_SETITIMER - -/* Define if sg_header.target_status is available. */ -#undef HAVE_SG_TARGET_STATUS - -/* Define to 1 if you have the `shl_load' function. */ -#undef HAVE_SHL_LOAD - -/* Define to 1 if you have the `sigprocmask' function. */ -#undef HAVE_SIGPROCMASK - -/* Define to 1 if you have the `sleep' function. */ -#undef HAVE_SLEEP - -/* Define to 1 if you have the `snprintf' function. */ -#undef HAVE_SNPRINTF - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strcasecmp' function. */ -#undef HAVE_STRCASECMP - -/* Define to 1 if you have the `strcasestr' function. */ -#undef HAVE_STRCASESTR - -/* Define to 1 if you have the `strdup' function. */ -#undef HAVE_STRDUP - -/* Define to 1 if you have the `strftime' function. */ -#undef HAVE_STRFTIME - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strncasecmp' function. */ -#undef HAVE_STRNCASECMP - -/* Define to 1 if you have the `strndup' function. */ -#undef HAVE_STRNDUP - -/* Define to 1 if you have the `strsep' function. */ -#undef HAVE_STRSEP - -/* Define to 1 if you have the `strstr' function. */ -#undef HAVE_STRSTR - -/* Define to 1 if you have the `strtod' function. */ -#undef HAVE_STRTOD - -/* Define if struct flock is available. */ -#undef HAVE_STRUCT_FLOCK - -/* Define to 1 if you have the `syslog' function. */ -#undef HAVE_SYSLOG - -/* Is /usr/include/systemd/sd-daemon.h available? */ -#undef HAVE_SYSTEMD - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_DSREQ_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_HW_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_IOCTL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_IO_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_IPC_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_PASSTHRUDEF_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_POLL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SCANIO_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SCSICMD_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SCSIIO_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SCSI_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SCSI_SCSI_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SCSI_SGDEFS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SCSI_TARGETS_SCGIO_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SDI_COMM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SELECT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SEM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SHM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SIGNAL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SOCKET_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TIME_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the `tcsendbreak' function. */ -#undef HAVE_TCSENDBREAK - -/* Define to 1 if you have the header file. */ -#undef HAVE_TIFFIO_H - -/* Define if union semun is available. */ -#undef HAVE_UNION_SEMUN - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have usbcall.dll. */ -#undef HAVE_USBCALLS - -/* Define to 1 if you have the `usleep' function. */ -#undef HAVE_USLEEP - -/* Define to 1 if the system has the type `u_char'. */ -#undef HAVE_U_CHAR - -/* Define to 1 if the system has the type `u_int'. */ -#undef HAVE_U_INT - -/* Define to 1 if the system has the type `u_long'. */ -#undef HAVE_U_LONG - -/* Define to 1 if the system has the type `u_short'. */ -#undef HAVE_U_SHORT - -/* Define to 1 if you have the `vsyslog' function. */ -#undef HAVE_VSYSLOG - -/* Define to 1 if you have the header file. */ -#undef HAVE_WINDOWS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_WINSOCK2_H - -/* Define to 1 if you have the `_portaccess' function. */ -#undef HAVE__PORTACCESS - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#undef LT_OBJDIR - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* SANE DLL revision number */ -#undef SANE_DLL_V_BUILD - -/* SANE DLL major number */ -#undef SANE_DLL_V_MAJOR - -/* SANE DLL minor number */ -#undef SANE_DLL_V_MINOR - -/* Define to 1 if you have the providing inb,outb. */ -#undef SANE_HAVE_SYS_IO_H_WITH_INB_OUTB - -/* SCSI command buffer size */ -#undef SCSIBUFFERSIZE - -/* The size of `char', as computed by sizeof. */ -#undef SIZEOF_CHAR - -/* The size of `int', as computed by sizeof. */ -#undef SIZEOF_INT - -/* The size of `long', as computed by sizeof. */ -#undef SIZEOF_LONG - -/* The size of `short', as computed by sizeof. */ -#undef SIZEOF_SHORT - -/* The size of `void*', as computed by sizeof. */ -#undef SIZEOF_VOIDP - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at runtime. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -#undef STACK_DIRECTION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define if pthreads should be used instead of forked processes. */ -#undef USE_PTHREAD - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - -/* Version number of package */ -#undef VERSION - -/* define if Avahi support is enabled for saned and the net backend */ -#undef WITH_AVAHI - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -# undef WORDS_BIGENDIAN -# endif -#endif - -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#undef _POSIX_SOURCE - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#undef inline -#endif - -/* Define to `int' if does not define. */ -#undef pid_t - -/* Define scsireq_t as \'struct scsireq\' if necessary. */ -#undef scsireq_t - -/* Define to `unsigned int' if does not define. */ -#undef size_t - -/* Define socklen_t as \'int\' if necessary. */ -#undef socklen_t - -/* Define to `int' if does not define. */ -#undef ssize_t - -/* Define for OS/2 only */ -#undef strcasecmp - -/* Define for OS/2 only */ -#undef strncasecmp - - - -#if defined(__MINGW32__) -#define _BSDTYPES_DEFINED -#endif - -#ifndef HAVE_U_CHAR -#define u_char unsigned char -#endif -#ifndef HAVE_U_SHORT -#define u_short unsigned short -#endif -#ifndef HAVE_U_INT -#define u_int unsigned int -#endif -#ifndef HAVE_U_LONG -#define u_long unsigned long -#endif - -/* Prototype for getenv */ -#ifndef HAVE_GETENV -#define getenv sanei_getenv -char * getenv(const char *name); -#endif - -/* Prototype for inet_ntop */ -#ifndef HAVE_INET_NTOP -#define inet_ntop sanei_inet_ntop -#include -const char * inet_ntop (int af, const void *src, char *dst, size_t cnt); -#endif - -/* Prototype for inet_pton */ -#ifndef HAVE_INET_PTON -#define inet_pton sanei_inet_pton -int inet_pton (int af, const char *src, void *dst); -#endif - -/* Prototype for isfdtype */ -#ifndef HAVE_ISFDTYPE -#define isfdtype sanei_isfdtype -int isfdtype(int fd, int fdtype); -#endif - -/* Prototype for sigprocmask */ -#ifndef HAVE_SIGPROCMASK -#define sigprocmask sanei_sigprocmask -int sigprocmask (int how, int *new, int *old); -#endif - -/* Prototype for snprintf */ -#ifndef HAVE_SNPRINTF -#define snprintf sanei_snprintf -#include -int snprintf (char *str,size_t count,const char *fmt,...); -#endif - -/* Prototype for strcasestr */ -#ifndef HAVE_STRCASESTR -#define strcasestr sanei_strcasestr -char * strcasestr (const char *phaystack, const char *pneedle); -#endif - -/* Prototype for strdup */ -#ifndef HAVE_STRDUP -#define strdup sanei_strdup -char *strdup (const char * s); -#endif - -/* Prototype for strndup */ -#ifndef HAVE_STRNDUP -#define strndup sanei_strndup -#include -char *strndup(const char * s, size_t n); -#endif - -/* Prototype for strsep */ -#ifndef HAVE_STRSEP -#define strsep sanei_strsep -char *strsep(char **stringp, const char *delim); -#endif - -/* Prototype for usleep */ -#ifndef HAVE_USLEEP -#define usleep sanei_usleep -unsigned int usleep (unsigned int useconds); -#endif - -/* Prototype for vsyslog */ -#ifndef HAVE_VSYSLOG -#include -void vsyslog(int priority, const char *format, va_list args); -#endif - diff --git a/include/sane/sane.h b/include/sane/sane.h index 5320b4a..9f8bc7c 100644 --- a/include/sane/sane.h +++ b/include/sane/sane.h @@ -242,7 +242,7 @@ extern SANE_String_Const sane_strstatus (SANE_Status status); #ifdef __cplusplus } -#endif +#endif #endif /* sane_h */ diff --git a/include/sane/sanei.h b/include/sane/sanei.h index 9458f34..aa7003a 100644 --- a/include/sane/sanei.h +++ b/include/sane/sanei.h @@ -20,24 +20,24 @@ 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. + If you do not wish that, delete this exception notice. */ /** @file sanei.h @@ -58,14 +58,14 @@ * to be platform-independent to avoid lots of \#ifdef code in the backends. * Please use the SANEI functions wherever possible. * - * This documentation was created by the use of doxygen, the + * This documentation was created by the use of doxygen, the * doc/doxygen-sanei.conf configuration file and documentation in the sanei_*.h * files. * * This documentation is far from complete. Any help is appreciated. * * @section additional Additional documentation - * - The SANE standard can be found at the SANE webserver, * though the PostScript version produced from the source may be more recent. * - Information on how to write a backend: the SANE documentation * page. - * - * @section contact Contact + * + * @section contact Contact * * The common way to contact the developers of SANE is the sane-devel * mailing list. See the mailing list webpage * for details. That's the place to ask questions, report bugs, or announce * a new backend. - * + * */ #ifndef sanei_h @@ -89,6 +89,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /** @name Public macros and functions * @{ */ @@ -113,7 +117,7 @@ * @param opt option to check * @param value value of the option * - * @return + * @return * - SANE_STATUS_GOOD - on success * - SANE_STATUS_INVAL - if the value doesn't fit inside the constraint * or any other error occured @@ -130,7 +134,7 @@ * @param value value of the option * @param info info is set to SANE_INFO_INEXACT if value was changed * - * @return + * @return * - SANE_STATUS_GOOD - on success * - SANE_STATUS_INVAL - if the function wasn't able to fit value into the * constraint or any other error occured @@ -167,5 +171,8 @@ extern SANE_Status sanei_check_value (const SANE_Option_Descriptor * opt, extern SANE_Status sanei_constrain_value (const SANE_Option_Descriptor * opt, void * value, SANE_Word * info); +#ifdef __cplusplus +} // extern "C" +#endif #endif /* sanei_h */ diff --git a/include/sane/sanei_access.h b/include/sane/sanei_access.h index d668b98..0f73f5f 100644 --- a/include/sane/sanei_access.h +++ b/include/sane/sanei_access.h @@ -46,7 +46,7 @@ * Interface file for the sanei_access functions. * * The idea is to provide some simple locking/unlocking mecanism, which - * can be used to protect device access from more than one frontend + * can be used to protect device access from more than one frontend * simultaneously. */ @@ -66,7 +66,7 @@ extern void sanei_access_init( const char * backend ); /** Set a lock. * - * The function tries to open/create exclusively a lock file in + * The function tries to open/create exclusively a lock file in * $PATH_SANE_LOCK_DIR. * If the file could be created successfully, the function fills in the * process ID. @@ -77,7 +77,7 @@ extern void sanei_access_init( const char * backend ); * * @param devicename - unique part of the lockfile name * @param timeout - time in seconds to try to set a lock - * @return + * @return * - SANE_STATUS_GOOD - if the lock has been successfully set * - SANE_STATUS_ACCESS_DENIED - the lock could not set */ diff --git a/include/sane/sanei_auth.h b/include/sane/sanei_auth.h index 1fd240d..37c8d1f 100644 --- a/include/sane/sanei_auth.h +++ b/include/sane/sanei_auth.h @@ -36,7 +36,7 @@ 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. + If you do not wish that, delete this exception notice. */ /** @file sanei_auth.h @@ -67,9 +67,9 @@ * If the requested resource isn't listed in this file, sanei_authorize * return SANE_SATUS_GOOD. In all other cases, sanei_authorize sends a * challenge to the frontend of the form - * + * * resource$MD5$randomstring - * + * * where randomstring consists of the PID, the time, and some random * characters. It accepts two forms of answers * @@ -77,7 +77,7 @@ * md5: username:$MD5$m5digest * * where md5digest is md5(randomstring password). - * + * * If this username/password/resource triple is listed in backend.users * sanei_authorize returns SANE_STATUS_GOOD, in all other cases it returns * SANE_STATUS_ACCESS_DENIED. diff --git a/include/sane/sanei_backend.h b/include/sane/sanei_backend.h index 8273e88..32d8ce0 100644 --- a/include/sane/sanei_backend.h +++ b/include/sane/sanei_backend.h @@ -113,6 +113,10 @@ /** @name Declaration of entry points: * @{ */ +#ifdef __cplusplus +extern "C" { +#endif + extern SANE_Status ENTRY(init) (SANE_Int *, SANE_Auth_Callback); extern SANE_Status ENTRY(get_devices) (const SANE_Device ***, SANE_Bool); extern SANE_Status ENTRY(open) (SANE_String_Const, SANE_Handle *); @@ -130,6 +134,10 @@ extern void ENTRY(cancel) (SANE_Handle); extern void ENTRY(close) (SANE_Handle); extern void ENTRY(exit) (void); +#ifdef __cplusplus +} // extern "C" +#endif + #ifndef STUBS /* Now redirect sane_* calls to backend's functions: */ @@ -152,7 +160,7 @@ extern void ENTRY(exit) (void); /** Internationalization for SANE backends * * Add SANE_I18N() to all texts that can be translated. - * E.g. out_txt = SANE_I18N("Hello"); + * E.g. out_txt = SANE_I18N("Hello"); */ #ifndef SANE_I18N #define SANE_I18N(text) text diff --git a/include/sane/sanei_config.h b/include/sane/sanei_config.h index cf877cf..3a60167 100644 --- a/include/sane/sanei_config.h +++ b/include/sane/sanei_config.h @@ -52,8 +52,12 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + /** Search configuration file \a name along directory list and return file - * pointer if such a file exists. + * pointer if such a file exists. * * The following directory list is used: * 1st: SANE_CONFIG_DIR environment variable. @@ -127,9 +131,9 @@ extern void sanei_config_attach_matching_devices (const char *name, (const char *dev)); /** this structure holds the description of configuration options. There is - * a list for options and another for their values. + * a list for options and another for their values. * These lists are used when the configuration file is - * parsed. Read values are stored in Option_Value. Helpers functions are + * parsed. Read values are stored in Option_Value. Helpers functions are * provided to access values easily */ typedef struct { @@ -172,4 +176,8 @@ extern SANE_Status sanei_configure_attach ( */ extern const char *sanei_config_get_paths (void); +#ifdef __cplusplus +} // extern "C" +#endif + #endif /* sanei_config_h */ diff --git a/include/sane/sanei_debug.h b/include/sane/sanei_debug.h index 557f8a7..465d3e2 100644 --- a/include/sane/sanei_debug.h +++ b/include/sane/sanei_debug.h @@ -9,6 +9,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /** @name Public macros * These macros can be used in backends and other SANE-related * code. @@ -16,14 +20,14 @@ * Before including sanei_debug.h, the following macros must be set: * * - BACKEND_NAME - The name of your backend without double-quotes (must be set in any case) - * - STUBS - If this is defined, no macros will be included. Used in + * - STUBS - If this is defined, no macros will be included. Used in * backends consisting of more than one .c file. - * - DEBUG_DECLARE_ONLY - Generates prototypes instead of functions. Used in + * - DEBUG_DECLARE_ONLY - Generates prototypes instead of functions. Used in * backends consisting of more than one .c file. * - DEBUG_NOT_STATIC - Doesn't generate static functions. Used in header files if * they are include in more than one .c file. * - * @{ + * @{ */ /** @def DBG_INIT() @@ -44,7 +48,7 @@ /** @def IF_DBG(x) * Compile code only if debugging is enabled. * - * Expands to x if debug support is enabled at compile-time. If NDEBUG is + * Expands to x if debug support is enabled at compile-time. If NDEBUG is * defined at compile-time this macro expands to nothing. * * @param x code to expand when debugging is enabled @@ -52,7 +56,7 @@ /** * @def DBG_LEVEL - * Current debug level. + * Current debug level. * * You can only read this "variable". */ @@ -70,16 +74,16 @@ #define ENTRY(name) PASTE(PASTE(PASTE(sane_,BACKEND_NAME),_),name) #ifdef NDEBUG - + extern void sanei_debug_ndebug (int level, const char *msg, ...); - + # define DBG_LEVEL (0) # define DBG_INIT() # define DBG sanei_debug_ndebug # define IF_DBG(x) - + #else /* !NDEBUG */ - + /** @hideinitializer*/ # define DBG_LEVEL PASTE(sanei_debug_,BACKEND_NAME) @@ -103,7 +107,7 @@ int DBG_LEVEL = 0; # ifdef DEBUG_DECLARE_ONLY -extern void DBG_LOCAL (int level, const char *msg, ...) +extern void DBG_LOCAL (int level, const char *msg, ...) #ifdef __GNUC__ __attribute__ ((format (printf, 2, 3))) #endif @@ -112,8 +116,8 @@ __attribute__ ((format (printf, 2, 3))) # else /* !DEBUG_DECLARE_ONLY */ # include - -extern void sanei_debug_msg + +extern void sanei_debug_msg (int level, int max_level, const char *be, const char *fmt, va_list ap); #ifdef __GNUC__ @@ -144,10 +148,14 @@ DBG_LOCAL (int level, const char *msg, ...) # define DBG DBG_LOCAL extern void sanei_init_debug (const char * backend, int * debug_level_var); - + /** @hideinitializer*/ # define IF_DBG(x) x #endif /* NDEBUG */ +#ifdef __cplusplus +} // extern "C" +#endif + #endif /* _SANEI_DEBUG_H */ diff --git a/include/sane/sanei_ir.h b/include/sane/sanei_ir.h index aaca524..bbfd6d5 100644 --- a/include/sane/sanei_ir.h +++ b/include/sane/sanei_ir.h @@ -184,7 +184,7 @@ sanei_ir_to_8bit (SANE_Parameters * params, const SANE_Uint *in_img, /** * @brief Allocate and initialize logarithmic lookup table * - * @param[in] length of table, usually 1 << depth + * @param[in] len length of table, usually 1 << depth * @param[out] lut_ln adress of pointer to allocated table * * @return @@ -202,7 +202,7 @@ SANE_Status sanei_ir_ln_table (int len, double **lut_ln); * @param[in] lut_ln pointer lookup table * if NULL it is dynamically handled * @param[in] red_data pointer to red image plane - * @param ired_data pointer to ired image plane + * @param ir_data pointer to ir image plane * * @return * - SANE_STATUS_GOOD - success diff --git a/include/sane/sanei_lm983x.h b/include/sane/sanei_lm983x.h index 6b9d8c8..8b48e65 100644 --- a/include/sane/sanei_lm983x.h +++ b/include/sane/sanei_lm983x.h @@ -4,7 +4,7 @@ Copyright (C) 2002-2003 Gerhard Jaeger 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 @@ -140,11 +140,10 @@ extern SANE_Status sanei_lm983x_read( SANE_Int fd, SANE_Byte reg, * Reset the LM983x chip. * * @param fd - device file descriptor - * @return + * @return * - SANE_TRUE - reset successfuly done * - SANE_FALSE - reset failed */ extern SANE_Bool sanei_lm983x_reset( SANE_Int fd ); #endif /* sanei_lm983x_h */ - diff --git a/include/sane/sanei_magic.h b/include/sane/sanei_magic.h index ab704a8..297becd 100644 --- a/include/sane/sanei_magic.h +++ b/include/sane/sanei_magic.h @@ -1,5 +1,5 @@ /* sane - Scanner Access Now Easy. - + Copyright (C) 2009 m. allan noah This file is part of the SANE package. @@ -57,6 +57,10 @@ #ifndef SANEI_MAGIC_H #define SANEI_MAGIC_H +#ifdef __cplusplus +extern "C" { +#endif + /** Initialize sanei_magic. * * Call this before any other sanei_magic function. @@ -141,7 +145,7 @@ sanei_magic_findEdges(SANE_Parameters * params, SANE_Byte * buffer, * @param buffer contains image data * @param top vertical offset to upper edge of crop * @param bot vertical offset to lower edge of crop - * @param left horizontal offset to left edge of crop + * @param left horizontal offset to left edge of crop * @param right horizontal offset to right edge of crop * * @return @@ -219,4 +223,8 @@ extern SANE_Status sanei_magic_turn(SANE_Parameters * params, SANE_Byte * buffer, int angle); +#ifdef __cplusplus +} // extern "C" +#endif + #endif /* SANEI_MAGIC_H */ diff --git a/include/sane/sanei_pa4s2.h b/include/sane/sanei_pa4s2.h index c5394a8..7138ceb 100644 --- a/include/sane/sanei_pa4s2.h +++ b/include/sane/sanei_pa4s2.h @@ -36,11 +36,11 @@ 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. + If you do not wish that, delete this exception notice. */ /** @file sanei_pa4s2.h - * This file implements an interface for the Mustek PP chipset A4S2 + * This file implements an interface for the Mustek PP chipset A4S2 * * @sa sanei_usb.h, sanei_ab306.h, sanei_lm983x.h, sanei_scsi.h, sanei_pio.h */ @@ -72,39 +72,39 @@ */ extern const char ** sanei_pa4s2_devices(void); -/** Open pa4s2 device +/** Open pa4s2 device * * Opens *dev as pa4s2 device. * * @param dev IO port address ("0x378", "0x278", or "0x3BC") * @param fd file descriptor - * - * @return + * + * @return * - SANE_STATUS_GOOD - on success * - SANE_STATUS_INVAL - if no scanner was found or the port number was wrong * - SANE_STATUS_DEVICE_BUSY - if the device is already in use * - SANE_STATUS_IO_ERROR - if the port couldn't be accessed - * + * */ extern SANE_Status sanei_pa4s2_open (const char *dev, int *fd); -/** Open pa4s2 SCSI-over-parallel device +/** Open pa4s2 SCSI-over-parallel device * * Opens *dev as pa4s2 SCSI-over-parallel device. * * @param dev IO port address ("0x378", "0x278", or "0x3BC") * @param fd file descriptor - * - * @return + * + * @return * - SANE_STATUS_GOOD - on success * - SANE_STATUS_INVAL - if no scanner was found or the port number was wrong * - SANE_STATUS_DEVICE_BUSY - if the device is already in use * - SANE_STATUS_IO_ERROR - if the port couldn't be accessed - * + * */ extern SANE_Status sanei_pa4s2_scsi_pp_open (const char *dev, int *fd); -/** Close pa4s2 device +/** Close pa4s2 device * * @param fd file descriptor */ @@ -175,7 +175,7 @@ extern SANE_Status sanei_pa4s2_scsi_pp_get_status (int fd, u_char *status); */ extern SANE_Status sanei_pa4s2_scsi_pp_reg_select (int fd, int reg); -/** Read a register +/** Read a register * * The function to read a register is split up in three parts, so a register * can be read more than once. @@ -191,7 +191,7 @@ extern SANE_Status sanei_pa4s2_scsi_pp_reg_select (int fd, int reg); */ extern SANE_Status sanei_pa4s2_readbyte (int fd, u_char * val); -/** Terminate reading sequence +/** Terminate reading sequence * * The function to read a register is split up in three parts, so a register * can be read more than once. diff --git a/include/sane/sanei_pio.h b/include/sane/sanei_pio.h index 61ac414..afdfa26 100644 --- a/include/sane/sanei_pio.h +++ b/include/sane/sanei_pio.h @@ -52,4 +52,3 @@ extern int sanei_pio_read (int fd, u_char * buf, int n); extern int sanei_pio_write (int fd, const u_char * buf, int n); #endif /* sanei_pio_h */ - diff --git a/include/sane/sanei_pp.h b/include/sane/sanei_pp.h index d3e7b92..902fcfa 100644 --- a/include/sane/sanei_pp.h +++ b/include/sane/sanei_pp.h @@ -36,7 +36,7 @@ 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. + If you do not wish that, delete this exception notice. */ /** @file sanei_pp.h @@ -78,7 +78,7 @@ enum sanei_pp_mode { */ extern SANE_Status sanei_pp_init( void ); -/** Open a parport device. +/** Open a parport device. * * @param dev - name of device to open. * @param fd - pointer to variable that should revceive the handle. @@ -95,7 +95,7 @@ extern void sanei_pp_close( int fd ); /** Claim a parport device * * @param fd - handle of the device to claim - * @return + * @return */ extern SANE_Status sanei_pp_claim( int fd ); diff --git a/include/sane/sanei_pv8630.h b/include/sane/sanei_pv8630.h index ef7e9dd..d69a024 100644 --- a/include/sane/sanei_pv8630.h +++ b/include/sane/sanei_pv8630.h @@ -5,7 +5,7 @@ Copyright (C) 2001 Marcio Teixeira 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 diff --git a/include/sane/sanei_scsi.h b/include/sane/sanei_scsi.h index d69fd0f..fa6e5d1 100644 --- a/include/sane/sanei_scsi.h +++ b/include/sane/sanei_scsi.h @@ -39,7 +39,7 @@ */ /** @file sanei_scsi.h - * Generic interface to SCSI drivers. + * Generic interface to SCSI drivers. * @sa sanei_usb.h, sanei_ab306.h,sanei_lm983x.h, sanei_pa4s2.h, sanei_pio.h, * and man sane-scsi(5) for user-oriented documentation */ @@ -76,8 +76,8 @@ extern int sanei_scsi_max_request_size; * * Find each SCSI device that matches the pattern specified by the * arguments. String arguments can be "omitted" by passing NULL, - * integer arguments can be "omitted" by passing -1. - * + * integer arguments can be "omitted" by passing -1. + * * Example: vendor="HP" model=NULL, type=NULL, bus=3, id=-1, lun=-1 would * attach all HP devices on SCSI bus 3. * @@ -100,15 +100,15 @@ extern void sanei_scsi_find_devices (const char *vendor, const char *model, /** Open a SCSI device * * Opens a SCSI device by its device filename and returns a file descriptor. - * If it's necessary to adjust the SCSI buffer size, use + * If it's necessary to adjust the SCSI buffer size, use * sanei_scsi_open_extended(). * * @param device_name name of the devicefile, e.g. "/dev/sg0" * @param fd file descriptor * @param sense_handler called whenever the SCSI driver returns a sense buffer * @param sense_arg pointer to data for the sense handler - * - * @return + * + * @return * - SANE_STATUS_GOOD - on success * - SANE_STATUS_ACCESS_DENIED - if the file couldn't be accessed due to * permissions @@ -138,8 +138,8 @@ extern SANE_Status sanei_scsi_open (const char * device_name, int * fd, * @param sense_handler called whenever the SCSI driver returns a sense buffer * @param sense_arg pointer to data for the sense handler * @param buffersize size of the SCAI request buffer (in bytes) - * - * @return + * + * @return * - SANE_STATUS_GOOD - on success * - SANE_STATUS_ACCESS_DENIED - if the file couldn't be accessed due to * permissions @@ -195,7 +195,7 @@ extern SANE_Status sanei_scsi_req_enter (int fd, void * dst, size_t * dst_size, void **idp); -/** Enqueue SCSI command and separated data +/** Enqueue SCSI command and separated data * * Same as sanei_scsi_req_enter(), but with separate buffers for the SCSI * command and for the data to be sent to the device. @@ -235,7 +235,7 @@ extern SANE_Status sanei_scsi_req_enter2 (int fd, /** Wait for SCSI command * - * Wait for the completion of the SCSI command with id ID. + * Wait for the completion of the SCSI command with id ID. * * @param id id used in sanei_scsi_req_enter() * diff --git a/include/sane/sanei_tcp.h b/include/sane/sanei_tcp.h index 0c3aeb4..227e613 100644 --- a/include/sane/sanei_tcp.h +++ b/include/sane/sanei_tcp.h @@ -12,7 +12,7 @@ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. * - * Header file for TCP/IP communications. + * Header file for TCP/IP communications. */ #ifndef sanei_tcp_h diff --git a/include/sane/sanei_thread.h b/include/sane/sanei_thread.h index fa72481..6e68964 100644 --- a/include/sane/sanei_thread.h +++ b/include/sane/sanei_thread.h @@ -94,6 +94,38 @@ extern SANE_Bool sanei_thread_is_forked (void); */ extern SANE_Bool sanei_thread_is_valid (SANE_Pid pid); +/** Invalidate a SANE_Pid + * + * This "function" should be used to invalidate a SANE_Pid in a + * portable manner. + * + * @note + * When using pthreads, this only works for those implementations + * that opted to make pthread_t an arithmatic type. This is *not* + * required by the POSIX threads specification. The choice to do + * SANE_Pid invalidation by means of a macro rather than a proper + * function circumvents to need to pass a pointer. + * If we decide to implement SANE_Pid with a void* in the future, + * this can be changed into a proper function without the need to + * change existing code. + * + * For details on the pthread_t type, see in particular Issue 6 of + * http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html + */ +#define sanei_thread_invalidate(pid) ((pid) = (SANE_Pid)(-1)) + +/** Initialize a SANE_Pid + * + * This "function" should be used to initialize a SANE_Pid in a + * portable manner. + * + * @note + * This is at present just an alias of sanei_thread_invalidate. + * It seemed misleading to use the latter when intent clearly has + * initialization written all over it, hence the alias. + */ +#define sanei_thread_initialize sanei_thread_invalidate + /** Spawn a new task. * * This function should be used to start a new task. @@ -131,7 +163,7 @@ extern int sanei_thread_kill (SANE_Pid pid); * @param pid - the id of the task * @param sig - the signal to send * - * @return + * @return * - 0 - on success * - any other value - if an error occured while sending the signal */ @@ -139,7 +171,7 @@ extern int sanei_thread_sendsig (SANE_Pid pid, int sig); /** Wait for task termination. * - * This function waits until a task that has been terminated by + * This function waits until a task that has been terminated by * sanei_thread_kill(), sanei_thread_sendsys() or by any other means * is finished. * @@ -153,7 +185,7 @@ extern SANE_Pid sanei_thread_waitpid (SANE_Pid pid, int *status); /** Check the current status of the spawned task * - * + * * @param pid - the id of the task * * @return diff --git a/include/sane/sanei_udp.h b/include/sane/sanei_udp.h index e32fc1a..bee013a 100644 --- a/include/sane/sanei_udp.h +++ b/include/sane/sanei_udp.h @@ -12,7 +12,7 @@ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. * - * Header file for UDP/IP communications. + * Header file for UDP/IP communications. */ #ifndef sanei_udp_h diff --git a/include/sane/sanei_usb.h b/include/sane/sanei_usb.h index c8fff97..ce389ca 100644 --- a/include/sane/sanei_usb.h +++ b/include/sane/sanei_usb.h @@ -68,6 +68,10 @@ #include /* for size_t */ +#ifdef __cplusplus +extern "C" { +#endif + /* USB spec defines */ #ifndef USB_CLASS_PER_INTERFACE /* Also defined in libusb */ @@ -521,5 +525,9 @@ sanei_usb_set_altinterface (SANE_Int dn, SANE_Int alternate); extern SANE_Status sanei_usb_get_descriptor( SANE_Int dn, struct sanei_usb_dev_descriptor *desc ); +#ifdef __cplusplus +} // extern "C" +#endif + /*------------------------------------------------------*/ #endif /* sanei_usb_h */ diff --git a/install-sh b/install-sh deleted file mode 100755 index 756420d..0000000 --- a/install-sh +++ /dev/null @@ -1,534 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2011-11-20.07; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# 'make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -nl=' -' -IFS=" "" $nl" - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit=${DOITPROG-} -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_glob='?' -initialize_posix_glob=' - test "$posix_glob" != "?" || { - if (set -f) 2>/dev/null; then - posix_glob= - else - posix_glob=: - fi - } -' - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -no_target_directory= - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) dst_arg=$2 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) no_target_directory=true;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call 'install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names problematic for 'test' and other utilities. - case $src in - -* | [=\(\)!]) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - dst=$dst_arg - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - # $RANDOM is not portable (e.g. dash); use it when possible to - # lower collision chance - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 - - # As "mkdir -p" follows symlinks and we work in /tmp possibly; so - # create the $tmpdir first (and fail if unsuccessful) to make sure - # that nobody tries to guess the $tmpdir name. - if (umask $mkdir_umask && - $mkdirprog $mkdir_mode "$tmpdir" && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - test_tmpdir="$tmpdir/a" - ls_ld_tmpdir=`ls -ld "$test_tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; - esac - - eval "$initialize_posix_glob" - - oIFS=$IFS - IFS=/ - $posix_glob set -f - set fnord $dstdir - shift - $posix_glob set +f - IFS=$oIFS - - prefixes= - - for d - do - test X"$d" = X && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - - eval "$initialize_posix_glob" && - $posix_glob set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/japi/Jscanimage.java b/japi/Jscanimage.java index d3ab32d..129d055 100644 --- a/japi/Jscanimage.java +++ b/japi/Jscanimage.java @@ -238,7 +238,7 @@ public class Jscanimage extends Frame implements WindowListener, int status = sane.getControlOption(saneHandle, 0, numDevOptions, null); if (status != Sane.STATUS_GOOD) { - System.out.println("controlOption() failed. Status= " + System.out.println("controlOption() failed. Status= " + status); return (false); } @@ -262,7 +262,7 @@ public class Jscanimage extends Frame implements WindowListener, if (opt.unit == SaneOption.UNIT_NONE) title = opt.title; else // Show units. - title = opt.title + " [" + + title = opt.title + " [" + opt.unitString(unitLength) + ']'; switch (opt.type) { @@ -295,7 +295,7 @@ public class Jscanimage extends Frame implements WindowListener, case SaneOption.CONSTRAINT_RANGE: // A scale. SaneSlider slider = new FixedSaneSlider( - opt.rangeConstraint.min, + opt.rangeConstraint.min, opt.rangeConstraint.max, opt.unit == SaneOption.UNIT_MM, this, i, opt.desc); @@ -320,7 +320,7 @@ public class Jscanimage extends Frame implements WindowListener, case SaneOption.CONSTRAINT_RANGE: // A scale. SaneSlider slider = new SaneSlider( - opt.rangeConstraint.min, + opt.rangeConstraint.min, opt.rangeConstraint.max, this, i, opt.desc); addLabeledOption(group, title, slider, c); @@ -347,7 +347,7 @@ public class Jscanimage extends Frame implements WindowListener, addControl(list); break; case SaneOption.CONSTRAINT_NONE: - SaneTextField tfield = new SaneTextField(16, + SaneTextField tfield = new SaneTextField(16, this, i, opt.desc); addLabeledOption(group, title, tfield, c); addControl(tfield); @@ -511,8 +511,8 @@ public class Jscanimage extends Frame implements WindowListener, public void setControlOption(int optNum, int val) { int [] info = new int[1]; - if (sane.setControlOption(saneHandle, optNum, - SaneOption.ACTION_SET_VALUE, val, info) + if (sane.setControlOption(saneHandle, optNum, + SaneOption.ACTION_SET_VALUE, val, info) != Sane.STATUS_GOOD) System.out.println("setControlOption() failed."); checkOptionInfo(info[0]); @@ -524,8 +524,8 @@ public class Jscanimage extends Frame implements WindowListener, public void setControlOption(int optNum, String val) { int [] info = new int[1]; - if (sane.setControlOption(saneHandle, optNum, - SaneOption.ACTION_SET_VALUE, val, info) + if (sane.setControlOption(saneHandle, optNum, + SaneOption.ACTION_SET_VALUE, val, info) != Sane.STATUS_GOOD) System.out.println("setControlOption() failed."); checkOptionInfo(info[0]); @@ -783,7 +783,7 @@ class SaneSlider extends JPanel implements SaneComponent, ChangeListener add(label, c); c.weightx = .8; // Give most weight to slider. c.fill = GridBagConstraints.HORIZONTAL; - slider = new JSlider(JSlider.HORIZONTAL, min, max, + slider = new JSlider(JSlider.HORIZONTAL, min, max, min + (max - min)/2); add(slider, c); // Set tool tip. @@ -855,7 +855,7 @@ class FixedSaneSlider extends SaneSlider double val = (double) slider.getValue(); // Convert to actual control scale. val = min + ((val - SCALE_MIN)/(SCALE_MAX - SCALE_MIN)) * (max - min); - label.setText(format.format(optMM ? + label.setText(format.format(optMM ? val/dialog.getUnitLength() : val)); dialog.setControlOption(optNum, dialog.getSane().fix(val)); } @@ -872,9 +872,9 @@ class FixedSaneSlider extends SaneSlider { double val = dialog.getSane().unfix(ival[0]); // Show value with user's pref. - label.setText(format.format(optMM ? + label.setText(format.format(optMM ? val/dialog.getUnitLength() : val)); - val = SCALE_MIN + ((val - min)/(max - min)) * + val = SCALE_MIN + ((val - min)/(max - min)) * (SCALE_MAX - SCALE_MIN); slider.setValue((int) val); } @@ -916,7 +916,7 @@ class SaneButton extends JButton implements ActionListener /* * A combo-box for showing a list of items. */ -abstract class SaneComboBox extends JComboBox +abstract class SaneComboBox extends JComboBox implements SaneComponent, ItemListener { protected Jscanimage dialog; // That which created us. diff --git a/japi/Makefile.am b/japi/Makefile.am index cc7ac4a..d48a8a6 100644 --- a/japi/Makefile.am +++ b/japi/Makefile.am @@ -21,7 +21,7 @@ AM_LDFLAGS += $(STRICT_LDFLAGS) -version-number $(V_MAJOR):$(V_MINOR):$(V_REV) JAVA_SRC = SaneDevice.java SaneOption.java SaneRange.java\ Sane.java SaneParameters.java ScanIt.java \ ImageCanvas.java ImageCanvasClient.java \ - Test.java Jscanimage.java + Test.java Jscanimage.java dist_noinst_JAVA = $(JAVA_SRC) @@ -40,4 +40,3 @@ libsanej_la_LIBADD = $(LIBSANE) # Make sure that java classes get created before create Sane.h Sane.h: classdist_noinst.stamp $(JAVAH) Sane - diff --git a/japi/Makefile.in b/japi/Makefile.in deleted file mode 100644 index 4a42758..0000000 --- a/japi/Makefile.in +++ /dev/null @@ -1,767 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# -# Makefile for a Java project with native methods. -# - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = japi -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp \ - $(dist_noinst_JAVA) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/sane/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" -LTLIBRARIES = $(lib_LTLIBRARIES) -libsanej_la_DEPENDENCIES = $(LIBSANE) -am_libsanej_la_OBJECTS = Sane.lo -nodist_libsanej_la_OBJECTS = -libsanej_la_OBJECTS = $(am_libsanej_la_OBJECTS) \ - $(nodist_libsanej_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/sane -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libsanej_la_SOURCES) $(nodist_libsanej_la_SOURCES) -DIST_SOURCES = $(libsanej_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -JAVAC = javac -CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT)$${CLASSPATH:+":$$CLASSPATH"} -am__java_sources = $(dist_noinst_JAVA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ - -# We'll need something in 'configure' for the Java includes. -AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(srcdir) -I$(top_builddir)/include \ - -I$(top_srcdir)/include -I${JDK_HOME}/include \ - -I${JDK_HOME}/include/genunix -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ $(STRICT_LDFLAGS) -version-number \ - $(V_MAJOR):$(V_MINOR):$(V_REV) -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AVAHI_CFLAGS = @AVAHI_CFLAGS@ -AVAHI_LIBS = @AVAHI_LIBS@ -AWK = @AWK@ -BACKENDS = @BACKENDS@ -BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ -BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLH = @DLH@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVIPS = @DVIPS@ -DYNAMIC_FLAG = @DYNAMIC_FLAG@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FIG2DEV = @FIG2DEV@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ -GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ -GPHOTO2_LIBS = @GPHOTO2_LIBS@ -GREP = @GREP@ -GS = @GS@ -HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -JPEG_LIBS = @JPEG_LIBS@ -LATEX = @LATEX@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOCKPATH_GROUP = @LOCKPATH_GROUP@ -LTALLOCA = @LTALLOCA@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINDEX = @MAKEINDEX@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_LIBS = @PNG_LIBS@ -POSUB = @POSUB@ -PPMTOGIF = @PPMTOGIF@ -PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ -PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RESMGR_LIBS = @RESMGR_LIBS@ -SANEI_SANEI_JPEG_LO = @SANEI_SANEI_JPEG_LO@ -SANE_CONFIG_PATH = @SANE_CONFIG_PATH@ -SCSI_LIBS = @SCSI_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SNMP_CFLAGS = @SNMP_CFLAGS@ -SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ -SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ -STRICT_LDFLAGS = @STRICT_LDFLAGS@ -STRIP = @STRIP@ -SYSLOG_LIBS = @SYSLOG_LIBS@ -SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ -SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_CFLAGS = @USB_CFLAGS@ -USB_LIBS = @USB_LIBS@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -configdir = @configdir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -effective_target = @effective_target@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -locksanedir = @locksanedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -JAVAROOT = . -MY_CLASSPATH = . -JAVAH = javah -jni -cp $(MY_CLASSPATH) -JAVA_SRC = SaneDevice.java SaneOption.java SaneRange.java\ - Sane.java SaneParameters.java ScanIt.java \ - ImageCanvas.java ImageCanvasClient.java \ - Test.java Jscanimage.java - -dist_noinst_JAVA = $(JAVA_SRC) -LIBSANE = ../backend/libsane.la -EXTRA_DIST = README.JAVA -lib_LTLIBRARIES = libsanej.la -BUILT_SOURCES = Sane.h -CLEANFILES = Sane.h -nodist_libsanej_la_SOURCES = Sane.h -libsanej_la_SOURCES = Sane.c -libsanej_la_LIBADD = $(LIBSANE) -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu japi/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu japi/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libsanej.la: $(libsanej_la_OBJECTS) $(libsanej_la_DEPENDENCIES) $(EXTRA_libsanej_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) -rpath $(libdir) $(libsanej_la_OBJECTS) $(libsanej_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Sane.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -classnoinst.stamp: $(am__java_sources) - @list1='$?'; list2=; if test -n "$$list1"; then \ - for p in $$list1; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - list2="$$list2 $$d$$p"; \ - done; \ - echo '$(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) '"$$list2"; \ - $(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) $$list2; \ - else :; fi - echo timestamp > $@ - -clean-noinstJAVA: - -rm -f *.class classnoinst.stamp - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(LTLIBRARIES) classnoinst.stamp -installdirs: - for dir in "$(DESTDIR)$(libdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ - clean-noinstJAVA mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-libLTLIBRARIES - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-libLTLIBRARIES - -.MAKE: all check install install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libLTLIBRARIES clean-libtool clean-noinstJAVA \ - cscopelist-am ctags ctags-am distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-libLTLIBRARIES \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-libLTLIBRARIES - - -# Make sure that java classes get created before create Sane.h -Sane.h: classdist_noinst.stamp - $(JAVAH) Sane - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/japi/Sane.c b/japi/Sane.c index 1ddb4fc..3fd9996 100644 --- a/japi/Sane.c +++ b/japi/Sane.c @@ -104,7 +104,7 @@ JNIEXPORT jint JNICALL Java_Sane_getDevicesNative int i; /* Get the list. */ - status = sane_get_devices(&device_list, localOnly); + status = sane_get_devices(&device_list, localOnly); if (status != SANE_STATUS_GOOD) return (status); /* Get length of Java array. */ @@ -232,13 +232,13 @@ JNIEXPORT void JNICALL Java_Sane_getOptionNative jobject range = (*env)->AllocObject(env, rangeClass); /* Fill in fields. */ fid = (*env)->GetFieldID(env, rangeClass, "min", "I"); - (*env)->SetIntField(env, range, fid, + (*env)->SetIntField(env, range, fid, sopt->constraint.range->min); fid = (*env)->GetFieldID(env, rangeClass, "max", "I"); - (*env)->SetIntField(env, range, fid, + (*env)->SetIntField(env, range, fid, sopt->constraint.range->max); fid = (*env)->GetFieldID(env, rangeClass, "quant", "I"); - (*env)->SetIntField(env, range, fid, + (*env)->SetIntField(env, range, fid, sopt->constraint.range->quant); fid = (*env)->GetFieldID(env, optClass, "rangeConstraint", "LSaneRange;"); @@ -251,7 +251,7 @@ JNIEXPORT void JNICALL Java_Sane_getOptionNative jint *elements; int i; /* First word. is the length. */ - wordList = (*env)->NewIntArray(env, + wordList = (*env)->NewIntArray(env, sopt->constraint.word_list[0]); /* Copy in the integers. */ elements = (*env)->GetIntArrayElements(env, wordList, 0); @@ -272,7 +272,7 @@ JNIEXPORT void JNICALL Java_Sane_getOptionNative for (len = 0; sopt->constraint.string_list[len]; len++) ; - stringList = (*env)->NewObjectArray(env, len + 1, + stringList = (*env)->NewObjectArray(env, len + 1, stringClass, 0); /* Add each string. */ for (i = 0; i < len; i++) @@ -284,7 +284,7 @@ JNIEXPORT void JNICALL Java_Sane_getOptionNative /* 0 at end. */ (*env)->SetObjectArrayElement(env, stringList, len, 0); /* Set the field. */ - fid = (*env)->GetFieldID(env, optClass, + fid = (*env)->GetFieldID(env, optClass, "stringListConstraint", "[Ljava/lang/String;"); (*env)->SetObjectField(env, optObj, fid, stringList); } @@ -296,7 +296,7 @@ JNIEXPORT void JNICALL Java_Sane_getOptionNative * Signature: (II[I[I)I */ JNIEXPORT jint JNICALL Java_Sane_getControlOption__II_3I_3I - (JNIEnv *env, jobject jobj, jint handle, jint option, jintArray value, + (JNIEnv *env, jobject jobj, jint handle, jint option, jintArray value, jintArray info) { SANE_Status status; /* Gets status. */ @@ -318,7 +318,7 @@ JNIEXPORT jint JNICALL Java_Sane_getControlOption__II_3I_3I * Signature: (II[B[I)I */ JNIEXPORT jint JNICALL Java_Sane_getControlOption__II_3B_3I - (JNIEnv *env, jobject jobj, jint handle, jint option, jbyteArray value, + (JNIEnv *env, jobject jobj, jint handle, jint option, jbyteArray value, jintArray info) { SANE_Status status; /* Gets status. */ @@ -340,7 +340,7 @@ JNIEXPORT jint JNICALL Java_Sane_getControlOption__II_3B_3I * Signature: (IIII[I)I */ JNIEXPORT jint JNICALL Java_Sane_setControlOption__IIII_3I - (JNIEnv *env, jobject jobj, jint handle, jint option, jint action, + (JNIEnv *env, jobject jobj, jint handle, jint option, jint action, jint value, jintArray info) { SANE_Status status; /* Gets status. */ @@ -457,7 +457,7 @@ JNIEXPORT jint JNICALL Java_Sane_read /* Get actual data ptr. */ dataElements = (*env)->GetByteArrayElements(env, data, 0); /* Do the read. */ - status = sane_read((SANE_Handle) handle, dataElements, + status = sane_read((SANE_Handle) handle, dataElements, maxLength, &read_len); (*env)->ReleaseByteArrayElements(env, data, dataElements, 0); /* Return # bytes read. */ diff --git a/japi/Sane.java b/japi/Sane.java index 85600e7..88b9495 100644 --- a/japi/Sane.java +++ b/japi/Sane.java @@ -57,7 +57,7 @@ public static int STATUS_GOOD = 0; // everything A-OK public static int STATUS_UNSUPPORTED = 1;// operation is not supported public static int STATUS_CANCELLED = 2; // operation was cancelled public static int STATUS_DEVICE_BUSY = 3;// device is busy; try again later -public static int STATUS_INVAL = 4; // data is invalid (includes no +public static int STATUS_INVAL = 4; // data is invalid (includes no // dev at open) public static int STATUS_EOF = 5; // no more data available (end-of-file) public static int STATUS_JAMMED = 6; // document feeder jammed @@ -137,7 +137,7 @@ public native int setControlOption(int handle, int option, int action, String value, int [] info); public native int getParameters(int handle, SaneParameters params); public native int start(int handle); -public native int read(int handle, byte [] data, +public native int read(int handle, byte [] data, int maxLength, int [] length); public native void cancel(int handle); public native String strstatus(int status); diff --git a/japi/SaneDevice.java b/japi/SaneDevice.java index dc73365..d40367a 100644 --- a/japi/SaneDevice.java +++ b/japi/SaneDevice.java @@ -46,10 +46,8 @@ public class SaneDevice { -public String name; // unique device name -public String vendor; // device vendor string -public String model; // device model name -public String type; // device type (e.g., "flatbed scanner") +public String name; // unique device name +public String vendor; // device vendor string +public String model; // device model name +public String type; // device type (e.g., "flatbed scanner") } - - diff --git a/japi/SaneOption.java b/japi/SaneOption.java index ed460c7..0c8c736 100644 --- a/japi/SaneOption.java +++ b/japi/SaneOption.java @@ -58,13 +58,13 @@ public class SaneOption // // Sane value units: // - public static final int UNIT_NONE = 0; // the value is unit-less - // (e.g., # of scans) - public static final int UNIT_PIXEL = 1; // value is number of pixels - public static final int UNIT_BIT = 2; // value is number of bits - public static final int UNIT_MM = 3; // value is millimeters - public static final int UNIT_DPI = 4; // value is res. in dots/inch - public static final int UNIT_PERCENT = 5;// value is a percentage + public static final int UNIT_NONE = 0; // the value is unit-less + // (e.g., # of scans) + public static final int UNIT_PIXEL = 1; // value is number of pixels + public static final int UNIT_BIT = 2; // value is number of bits + public static final int UNIT_MM = 3; // value is millimeters + public static final int UNIT_DPI = 4; // value is res. in dots/inch + public static final int UNIT_PERCENT = 5;// value is a percentage // // Option capabilities: // @@ -100,13 +100,13 @@ public class SaneOption // // Class members: // - public String name; // name of this option (command-line name) - public String title; // title of this option (single-line) - public String desc; // description of this option (multi-line) + public String name; // name of this option (command-line name) + public String title; // title of this option (single-line) + public String desc; // description of this option (multi-line) public int type; // how are values interpreted? (TYPE_) public int unit; // what is the (physical) unit? (UNIT_) public int size; - public int cap; // capabilities + public int cap; // capabilities public int constraintType; // These are a union in the "C" API: // Null-terminated list: @@ -123,7 +123,7 @@ public class SaneOption { return ((cap) & CAP_SOFT_SELECT) == 0; } // Return string describing units. // "unitLength" is # mm. preferred. - public String unitString(double unitLength) + public String unitString(double unitLength) { switch (unit) { @@ -142,4 +142,3 @@ public class SaneOption return ""; } } - diff --git a/japi/SaneParameters.java b/japi/SaneParameters.java index 4e629c4..e78981a 100644 --- a/japi/SaneParameters.java +++ b/japi/SaneParameters.java @@ -49,12 +49,12 @@ public class SaneParameters // // Frame values: // -public static final int FRAME_GRAY = 0; // band covering human visual range -public static final int FRAME_RGB = 1; // pixel-interleaved - // red/green/blue bands -public static final int FRAME_RED = 2; // red band only -public static final int FRAME_GREEN = 3;// green band only -public static final int FRAME_BLUE = 4; // blue band only +public static final int FRAME_GRAY = 0; // band covering human visual range +public static final int FRAME_RGB = 1; // pixel-interleaved + // red/green/blue bands +public static final int FRAME_RED = 2; // red band only +public static final int FRAME_GREEN = 3;// green band only +public static final int FRAME_BLUE = 4; // blue band only // // Class members: diff --git a/japi/SaneRange.java b/japi/SaneRange.java index 4790e32..9eb7da7 100644 --- a/japi/SaneRange.java +++ b/japi/SaneRange.java @@ -50,4 +50,3 @@ public int min; // minimum (element) value public int max; // maximum (element) value public int quant; // Quantization value (0 if none) } - diff --git a/japi/ScanIt.java b/japi/ScanIt.java index 21afba0..a357626 100644 --- a/japi/ScanIt.java +++ b/japi/ScanIt.java @@ -156,7 +156,7 @@ public class ScanIt implements ImageProducer */ public synchronized void removeConsumer(ImageConsumer ic) { consumers.removeElement(ic); } - + /* * Add a consumer and start scanning. */ @@ -224,7 +224,7 @@ public class ScanIt implements ImageProducer // Single frame. for (i = 0; i < readLen; ++i) { // Doing a single color frame. - image[offset + i] |= + image[offset + i] |= (((int) data[i]) & 0xff) << (8*cindex); ++x; if (x >= width) @@ -235,7 +235,7 @@ public class ScanIt implements ImageProducer for (i = 0; i < readLen; ++i) { int b = 2 - (offset + i)%3; - image[(offset + i)/3] |= + image[(offset + i)/3] |= (((int) data[i]) & 0xff) << (8*b); if (b == 0) { @@ -261,7 +261,7 @@ public class ScanIt implements ImageProducer offset += readLen; // Update where we are. // Show it. System.out.println("PrevY = " + prevY + ", y = " + y); -// tellPixels(0, prevY, width, y - prevY); +// tellPixels(0, prevY, width, y - prevY); tellPixels(0, 0, width, height); return true; } @@ -289,7 +289,7 @@ public class ScanIt implements ImageProducer status = sane.start(handle); if (status != Sane.STATUS_GOOD) { - System.out.println("start() failed. Status= " + System.out.println("start() failed. Status= " + status); tellStatus(ImageConsumer.IMAGEERROR); return; @@ -297,7 +297,7 @@ public class ScanIt implements ImageProducer status = sane.getParameters(handle, parms); if (status != Sane.STATUS_GOOD) { - System.out.println("getParameters() failed. Status= " + System.out.println("getParameters() failed. Status= " + status); tellStatus(ImageConsumer.IMAGEERROR); return; //++++cleanup. @@ -342,7 +342,7 @@ public class ScanIt implements ImageProducer catch (IOException e) { //+++++++++++++++ System.out.println("I/O error writing file."); - } + } outputFile = null; // Clear for next time. } tellStatus(ImageConsumer.STATICIMAGEDONE); @@ -364,7 +364,7 @@ public class ScanIt implements ImageProducer case SaneParameters.FRAME_GREEN: case SaneParameters.FRAME_BLUE: case SaneParameters.FRAME_RGB: - pout.print("P6\n# SANE data follows\n" + + pout.print("P6\n# SANE data follows\n" + width + ' ' + height + "\n255\n"); for (i = 0; i < len; i++) { diff --git a/japi/Test.java b/japi/Test.java index 52a7112..4a0f507 100644 --- a/japi/Test.java +++ b/japi/Test.java @@ -81,7 +81,7 @@ public static void main(String[] args) status = sane.getControlOption(handle[0], 0, numDevOptions, null); if (status != Sane.STATUS_GOOD) { - System.out.println("controlOption() failed. Status= " + System.out.println("controlOption() failed. Status= " + status); return; } @@ -101,7 +101,7 @@ public static void main(String[] args) switch (opt.constraintType) { case SaneOption.CONSTRAINT_RANGE: - System.out.println("Range: " + + System.out.println("Range: " + opt.rangeConstraint.min + ", " + opt.rangeConstraint.max + ", " + opt.rangeConstraint.quant); @@ -123,11 +123,11 @@ public static void main(String[] args) break; } } - status = sane.setControlOption(handle[0], 2, + status = sane.setControlOption(handle[0], 2, SaneOption.ACTION_SET_VALUE, "../test1.pnm", null); if (status != Sane.STATUS_GOOD) { - System.out.println("setControlOption() failed. Status= " + System.out.println("setControlOption() failed. Status= " + status); } // @@ -145,14 +145,14 @@ public static void main(String[] args) status = sane.start(handle[0]); if (status != Sane.STATUS_GOOD) { - System.out.println("start() failed. Status= " + System.out.println("start() failed. Status= " + status); return; } status = sane.getParameters(handle[0], parm); if (status != Sane.STATUS_GOOD) { - System.out.println("getParameters() failed. Status= " + System.out.println("getParameters() failed. Status= " + status); return; //++++cleanup. } diff --git a/lib/Makefile.in b/lib/Makefile.in deleted file mode 100644 index 4246975..0000000 --- a/lib/Makefile.in +++ /dev/null @@ -1,688 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = lib -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/mkinstalldirs alloca.c getenv.c isfdtype.c \ - getopt1.c sleep.c strdup.c strsep.c syslog.c usleep.c getopt.c \ - inet_pton.c sigprocmask.c inet_ntop.c vsyslog.c strcasestr.c \ - snprintf.c strndup.c $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/sane/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -liblib_la_DEPENDENCIES = $(LTALLOCA) $(LTLIBOBJS) -am_liblib_la_OBJECTS = liblib_la-md5.lo -liblib_la_OBJECTS = $(am_liblib_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/sane -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(liblib_la_SOURCES) -DIST_SOURCES = $(liblib_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(top_builddir)/include \ - -I$(top_srcdir)/include -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AVAHI_CFLAGS = @AVAHI_CFLAGS@ -AVAHI_LIBS = @AVAHI_LIBS@ -AWK = @AWK@ -BACKENDS = @BACKENDS@ -BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ -BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLH = @DLH@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVIPS = @DVIPS@ -DYNAMIC_FLAG = @DYNAMIC_FLAG@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FIG2DEV = @FIG2DEV@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ -GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ -GPHOTO2_LIBS = @GPHOTO2_LIBS@ -GREP = @GREP@ -GS = @GS@ -HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -JPEG_LIBS = @JPEG_LIBS@ -LATEX = @LATEX@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOCKPATH_GROUP = @LOCKPATH_GROUP@ -LTALLOCA = @LTALLOCA@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINDEX = @MAKEINDEX@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_LIBS = @PNG_LIBS@ -POSUB = @POSUB@ -PPMTOGIF = @PPMTOGIF@ -PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ -PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RESMGR_LIBS = @RESMGR_LIBS@ -SANEI_SANEI_JPEG_LO = @SANEI_SANEI_JPEG_LO@ -SANE_CONFIG_PATH = @SANE_CONFIG_PATH@ -SCSI_LIBS = @SCSI_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SNMP_CFLAGS = @SNMP_CFLAGS@ -SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ -SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ -STRICT_LDFLAGS = @STRICT_LDFLAGS@ -STRIP = @STRIP@ -SYSLOG_LIBS = @SYSLOG_LIBS@ -SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ -SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_CFLAGS = @USB_CFLAGS@ -USB_LIBS = @USB_LIBS@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -configdir = @configdir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -effective_target = @effective_target@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -locksanedir = @locksanedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -noinst_LTLIBRARIES = liblib.la -liblib_la_SOURCES = md5.c -liblib_la_CPPFLAGS = -I$(top_srcdir)/include -liblib_la_LIBADD = $(LTALLOCA) $(LTLIBOBJS) -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu lib/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -liblib.la: $(liblib_la_OBJECTS) $(liblib_la_DEPENDENCIES) $(EXTRA_liblib_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(liblib_la_OBJECTS) $(liblib_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getenv.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt1.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/inet_ntop.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/inet_pton.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/isfdtype.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sigprocmask.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sleep.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snprintf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strcasestr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strdup.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strndup.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strsep.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/syslog.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/usleep.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/vsyslog.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblib_la-md5.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -liblib_la-md5.lo: md5.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblib_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblib_la-md5.lo -MD -MP -MF $(DEPDIR)/liblib_la-md5.Tpo -c -o liblib_la-md5.lo `test -f 'md5.c' || echo '$(srcdir)/'`md5.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblib_la-md5.Tpo $(DEPDIR)/liblib_la-md5.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='md5.c' object='liblib_la-md5.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblib_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblib_la-md5.lo `test -f 'md5.c' || echo '$(srcdir)/'`md5.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf $(DEPDIR) ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf $(DEPDIR) ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/lib/inet_pton.c b/lib/inet_pton.c index 7638b6e..e117854 100644 --- a/lib/inet_pton.c +++ b/lib/inet_pton.c @@ -13,7 +13,7 @@ #include #endif -int +int inet_pton (int af, const char *src, void *dst) { diff --git a/lib/isfdtype.c b/lib/isfdtype.c deleted file mode 100644 index 8e51516..0000000 --- a/lib/isfdtype.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "../include/sane/config.h" - -#ifndef HAVE_ISFDTYPE - -#include - -int -isfdtype(int fd, int fdtype) -{ - struct stat st; - - if (fstat(fd, &st) == -1) return 0; /* couldn't stat fd */ - - if (st.st_mode == 0) - return 1; /* At least Irix doesn't seem to know socket type */ -#if defined(S_ISSOCK) - return S_ISSOCK(st.st_mode) != 0; -#elif defined(S_IFSOCK) && defined(S_IFMT) - return (st.st_mode & S_IFMT) == S_IFSOCK; -#else - return 0; -#endif -} - -#endif /* !HAVE_ISFDTYPE */ diff --git a/lib/md5.c b/lib/md5.c index 72b36f3..923a17c 100644 --- a/lib/md5.c +++ b/lib/md5.c @@ -123,6 +123,7 @@ md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) /* Take yet unprocessed bytes into account. */ md5_uint32 bytes = ctx->buflen; size_t pad; + size_t offset; /* Now count remaining bytes. */ ctx->total[0] += bytes; @@ -133,9 +134,11 @@ md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) memcpy (&ctx->buffer[bytes], fillbuf, pad); /* Put the 64-bit file length in *bits* at the end of the buffer. */ - ((md5_uint32 *) ctx->buffer)[bytes + pad] = SWAP (ctx->total[0] << 3); - ((md5_uint32 *) ctx->buffer)[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) | - (ctx->total[0] >> 29)); + offset = (bytes + pad) / sizeof (md5_uint32); + ((md5_uint32 *) ctx->buffer)[offset] = SWAP (ctx->total[0] << 3); + offset = (bytes + pad + 4) / sizeof (md5_uint32); + ((md5_uint32 *) ctx->buffer)[offset] = SWAP ((ctx->total[1] << 3) | + (ctx->total[0] >> 29)); /* Process last bytes. */ md5_process_block (ctx->buffer, bytes + pad + 8, ctx); diff --git a/lib/strcasestr.c b/lib/strcasestr.c index 8999c50..1c8dc87 100644 --- a/lib/strcasestr.c +++ b/lib/strcasestr.c @@ -29,7 +29,7 @@ #include "../include/sane/config.h" -#ifndef HAVE_STRCASESTR +#ifndef HAVE_STRCASESTR #if defined HAVE_STRING_H # include diff --git a/ltmain.sh b/ltmain.sh deleted file mode 100644 index dd687a9..0000000 --- a/ltmain.sh +++ /dev/null @@ -1,9684 +0,0 @@ -# Local changes for sane-backends (search for "Local change"): -# 2003-04-30: Henning Meirer-Geinitz -# * soname changed to "libsane" for every backend (all systems but AIX) - -# libtool (GNU libtool) 2.4.2 -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Usage: $progname [OPTION]... [MODE-ARG]... -# -# Provide generalized library-building support services. -# -# --config show all configuration variables -# --debug enable verbose shell tracing -# -n, --dry-run display commands without modifying any files -# --features display basic configuration information and exit -# --mode=MODE use operation mode MODE -# --preserve-dup-deps don't remove duplicate dependency libraries -# --quiet, --silent don't print informational messages -# --no-quiet, --no-silent -# print informational messages (default) -# --no-warn don't display warning messages -# --tag=TAG use configuration variables from tag TAG -# -v, --verbose print more informational messages than default -# --no-verbose don't print the extra informational messages -# --version print version information -# -h, --help, --help-all print short, long, or detailed help message -# -# MODE must be one of the following: -# -# clean remove files from the build directory -# compile compile a source file into a libtool object -# execute automatically set library path, then run a program -# finish complete the installation of libtool libraries -# install install libraries or executables -# link create a library or an executable -# uninstall remove libraries from an installed directory -# -# MODE-ARGS vary depending on the MODE. When passed as first option, -# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. -# Try `$progname --help --mode=MODE' for a more detailed description of MODE. -# -# When reporting a bug, please describe a test case to reproduce it and -# include the following information: -# -# host-triplet: $host -# shell: $SHELL -# compiler: $LTCC -# compiler flags: $LTCFLAGS -# linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.11 -# automake: $automake_version -# autoconf: $autoconf_version -# -# Report bugs to . -# GNU libtool home page: . -# General help using GNU software: . - -PROGRAM=libtool -PACKAGE=libtool -VERSION="2.4.2 Debian-2.4.2-1.11" -TIMESTAMP="" -package_revision=1.3337 - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# NLS nuisances: We save the old values to restore during execute mode. -lt_user_locale= -lt_safe_locale= -for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test \"\${$lt_var+set}\" = set; then - save_$lt_var=\$$lt_var - $lt_var=C - export $lt_var - lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" - lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" - fi" -done -LC_ALL=C -LANGUAGE=C -export LANGUAGE LC_ALL - -$lt_unset CDPATH - - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - - - -: ${CP="cp -f"} -test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} -: ${Xsed="$SED -e 1s/^X//"} - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -exit_status=$EXIT_SUCCESS - -# Make sure IFS has a sensible default -lt_nl=' -' -IFS=" $lt_nl" - -dirname="s,/[^/]*$,," -basename="s,^.*/,," - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} # func_dirname may be replaced by extended shell implementation - - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "${1}" | $SED "$basename"` -} # func_basename may be replaced by extended shell implementation - - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi - func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` -} # func_dirname_and_basename may be replaced by extended shell implementation - - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname may be replaced by extended shell implementation - - -# These SED scripts presuppose an absolute path with a trailing slash. -pathcar='s,^/\([^/]*\).*$,\1,' -pathcdr='s,^/[^/]*,,' -removedotparts=':dotsl - s@/\./@/@g - t dotsl - s,/\.$,/,' -collapseslashes='s@/\{1,\}@/@g' -finalslash='s,/*$,/,' - -# func_normal_abspath PATH -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -# value returned in "$func_normal_abspath_result" -func_normal_abspath () -{ - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` - while :; do - # Processed it all yet? - if test "$func_normal_abspath_tpath" = / ; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result" ; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - -# func_relative_path SRCDIR DSTDIR -# generates a relative path from SRCDIR to DSTDIR, with a trailing -# slash if non-empty, suitable for immediately appending a filename -# without needing to append a separator. -# value returned in "$func_relative_path_result" -func_relative_path () -{ - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=${func_dirname_result} - if test "x$func_relative_path_tlibdir" = x ; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test "x$func_stripname_result" != x ; then - func_relative_path_result=${func_relative_path_result}/${func_stripname_result} - fi - - # Normalisation. If bindir is libdir, return empty string, - # else relative path ending with a slash; either way, target - # file name can be directly appended. - if test ! -z "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result/" - func_relative_path_result=$func_stripname_result - fi -} - -# The name of this program: -func_dirname_and_basename "$progpath" -progname=$func_basename_result - -# Make sure we have an absolute path for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=$func_dirname_result - progdir=`cd "$progdir" && pwd` - progpath="$progdir/$progname" - ;; - *) - save_IFS="$IFS" - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS="$save_IFS" - test -x "$progdir/$progname" && break - done - IFS="$save_IFS" - test -n "$progdir" || progdir=`pwd` - progpath="$progdir/$progname" - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' -sed_quote_subst='s/\([`"$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' - -# Sed substitution that converts a w32 file name or path -# which contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-`\' parameter expansions in output of double_quote_subst that were -# `\'-ed in input to the same. If an odd number of `\' preceded a '$' -# in input to double_quote_subst, that '$' was protected from expansion. -# Since each input `\' is now two `\'s, look for any number of runs of -# four `\'s followed by two `\'s and then a '$'. `\' that '$'. -bs='\\' -bs2='\\\\' -bs4='\\\\\\\\' -dollar='\$' -sed_double_backslash="\ - s/$bs4/&\\ -/g - s/^$bs2$dollar/$bs&/ - s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g - s/\n//g" - -# Standard options: -opt_dry_run=false -opt_help=false -opt_quiet=false -opt_verbose=false -opt_warning=: - -# func_echo arg... -# Echo program name prefixed message, along with the current mode -# name if it has been set yet. -func_echo () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }$*" -} - -# func_verbose arg... -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $opt_verbose && func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -# func_error arg... -# Echo program name prefixed message to standard error. -func_error () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 -} - -# func_warning arg... -# Echo program name prefixed warning message to standard error. -func_warning () -{ - $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 - - # bash bug again: - : -} - -# func_fatal_error arg... -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - -# func_fatal_help arg... -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - func_error ${1+"$@"} - func_fatal_error "$help" -} -help="Try \`$progname --help' for more information." ## default - - -# func_grep expression filename -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_mkdir_p directory-path -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - my_directory_path="$1" - my_dir_list= - - if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then - - # Protect directory names starting with `-' - case $my_directory_path in - -*) my_directory_path="./$my_directory_path" ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$my_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - my_dir_list="$my_directory_path:$my_dir_list" - - # If the last portion added has no slash in it, the list is done - case $my_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` - done - my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` - - save_mkdir_p_IFS="$IFS"; IFS=':' - for my_dir in $my_dir_list; do - IFS="$save_mkdir_p_IFS" - # mkdir can fail with a `File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$my_dir" 2>/dev/null || : - done - IFS="$save_mkdir_p_IFS" - - # Bail out if we (or some other process) failed to create a directory. - test -d "$my_directory_path" || \ - func_fatal_error "Failed to create \`$1'" - fi -} - - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$opt_dry_run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || \ - func_fatal_error "cannot create temporary directory \`$my_tmpdir'" - fi - - $ECHO "$my_tmpdir" -} - - -# func_quote_for_eval arg -# Aesthetically quote ARG to be evaled later. -# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT -# is double-quoted, suitable for a subsequent eval, whereas -# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters -# which are still active within double quotes backslashified. -func_quote_for_eval () -{ - case $1 in - *[\\\`\"\$]*) - func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; - *) - func_quote_for_eval_unquoted_result="$1" ;; - esac - - case $func_quote_for_eval_unquoted_result in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and and variable - # expansion for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" - ;; - *) - func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" - esac -} - - -# func_quote_for_expand arg -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - case $1 in - *[\\\`\"]*) - my_arg=`$ECHO "$1" | $SED \ - -e "$double_quote_subst" -e "$sed_double_backslash"` ;; - *) - my_arg="$1" ;; - esac - - case $my_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - my_arg="\"$my_arg\"" - ;; - esac - - func_quote_for_expand_result="$my_arg" -} - - -# func_show_eval cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$my_cmd" - my_status=$? - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - -# func_show_eval_locale cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$lt_user_locale - $my_cmd" - my_status=$? - eval "$lt_safe_locale" - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - -# func_tr_sh -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_version -# Echo version message to standard output and exit. -func_version () -{ - $opt_debug - - $SED -n '/(C)/!b go - :more - /\./!{ - N - s/\n# / / - b more - } - :go - /^# '$PROGRAM' (GNU /,/# warranty; / { - s/^# // - s/^# *$// - s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ - p - }' < "$progpath" - exit $? -} - -# func_usage -# Echo short help message to standard output and exit. -func_usage () -{ - $opt_debug - - $SED -n '/^# Usage:/,/^# *.*--help/ { - s/^# // - s/^# *$// - s/\$progname/'$progname'/ - p - }' < "$progpath" - echo - $ECHO "run \`$progname --help | more' for full usage" - exit $? -} - -# func_help [NOEXIT] -# Echo long help message to standard output and exit, -# unless 'noexit' is passed as argument. -func_help () -{ - $opt_debug - - $SED -n '/^# Usage:/,/# Report bugs to/ { - :print - s/^# // - s/^# *$// - s*\$progname*'$progname'* - s*\$host*'"$host"'* - s*\$SHELL*'"$SHELL"'* - s*\$LTCC*'"$LTCC"'* - s*\$LTCFLAGS*'"$LTCFLAGS"'* - s*\$LD*'"$LD"'* - s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ - p - d - } - /^# .* home page:/b print - /^# General help using/b print - ' < "$progpath" - ret=$? - if test -z "$1"; then - exit $ret - fi -} - -# func_missing_arg argname -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $opt_debug - - func_error "missing argument for $1." - exit_cmd=exit -} - - -# func_split_short_opt shortopt -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -func_split_short_opt () -{ - my_sed_short_opt='1s/^\(..\).*$/\1/;q' - my_sed_short_rest='1s/^..\(.*\)$/\1/;q' - - func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` - func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` -} # func_split_short_opt may be replaced by extended shell implementation - - -# func_split_long_opt longopt -# Set func_split_long_opt_name and func_split_long_opt_arg shell -# variables after splitting LONGOPT at the `=' sign. -func_split_long_opt () -{ - my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' - my_sed_long_arg='1s/^--[^=]*=//' - - func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` - func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` -} # func_split_long_opt may be replaced by extended shell implementation - -exit_cmd=: - - - - - -magic="%%%MAGIC variable%%%" -magic_exe="%%%MAGIC EXE variable%%%" - -# Global variables. -nonopt= -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "${1}=\$${1}\${2}" -} # func_append may be replaced by extended shell implementation - -# func_append_quoted var value -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -func_append_quoted () -{ - func_quote_for_eval "${2}" - eval "${1}=\$${1}\\ \$func_quote_for_eval_result" -} # func_append_quoted may be replaced by extended shell implementation - - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "${@}"` -} # func_arith may be replaced by extended shell implementation - - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` -} # func_len may be replaced by extended shell implementation - - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` -} # func_lo2o may be replaced by extended shell implementation - - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` -} # func_xform may be replaced by extended shell implementation - - -# func_fatal_configuration arg... -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func_error ${1+"$@"} - func_error "See the $PACKAGE documentation for more information." - func_fatal_error "Fatal configuration error." -} - - -# func_config -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - -# func_features -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test "$build_libtool_libs" = yes; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - -# func_enable_tag tagname -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname="$1" - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf="/$re_begincf/,/$re_endcf/p" - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - -# func_check_version_match -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -# Shorthand for --mode=foo, only valid as the first argument -case $1 in -clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; -compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; -execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; -finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; -install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; -link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; -uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; -esac - - - -# Option defaults: -opt_debug=: -opt_dry_run=false -opt_config=false -opt_preserve_dup_deps=false -opt_features=false -opt_finish=false -opt_help=false -opt_help_all=false -opt_silent=: -opt_warning=: -opt_verbose=: -opt_silent=false -opt_verbose=false - - -# Parse options once, thoroughly. This comes as soon as possible in the -# script to make things like `--version' happen as quickly as we can. -{ - # this just eases exit handling - while test $# -gt 0; do - opt="$1" - shift - case $opt in - --debug|-x) opt_debug='set -x' - func_echo "enabling shell trace mode" - $opt_debug - ;; - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - --config) - opt_config=: -func_config - ;; - --dlopen|-dlopen) - optarg="$1" - opt_dlopen="${opt_dlopen+$opt_dlopen -}$optarg" - shift - ;; - --preserve-dup-deps) - opt_preserve_dup_deps=: - ;; - --features) - opt_features=: -func_features - ;; - --finish) - opt_finish=: -set dummy --mode finish ${1+"$@"}; shift - ;; - --help) - opt_help=: - ;; - --help-all) - opt_help_all=: -opt_help=': help-all' - ;; - --mode) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_mode="$optarg" -case $optarg in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $opt" - exit_cmd=exit - break - ;; -esac - shift - ;; - --no-silent|--no-quiet) - opt_silent=false -func_append preserve_args " $opt" - ;; - --no-warning|--no-warn) - opt_warning=false -func_append preserve_args " $opt" - ;; - --no-verbose) - opt_verbose=false -func_append preserve_args " $opt" - ;; - --silent|--quiet) - opt_silent=: -func_append preserve_args " $opt" - opt_verbose=false - ;; - --verbose|-v) - opt_verbose=: -func_append preserve_args " $opt" -opt_silent=false - ;; - --tag) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_tag="$optarg" -func_append preserve_args " $opt $optarg" -func_enable_tag "$optarg" - shift - ;; - - -\?|-h) func_usage ;; - --help) func_help ;; - --version) func_version ;; - - # Separate optargs to long options: - --*=*) - func_split_long_opt "$opt" - set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-n*|-v*) - func_split_short_opt "$opt" - set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) break ;; - -*) func_fatal_help "unrecognized option \`$opt'" ;; - *) set dummy "$opt" ${1+"$@"}; shift; break ;; - esac - done - - # Validate options: - - # save first non-option argument - if test "$#" -gt 0; then - nonopt="$opt" - shift - fi - - # preserve --debug - test "$opt_debug" = : || func_append preserve_args " --debug" - - case $host in - *cygwin* | *mingw* | *pw32* | *cegcc*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - func_fatal_configuration "not configured to build any kind of library" - fi - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test "$opt_mode" != execute; then - func_error "unrecognized option \`-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$progname --help --mode=$opt_mode' for more information." - } - - - # Bail if the options were screwed - $exit_cmd $EXIT_FAILURE -} - - - - -## ----------- ## -## Main. ## -## ----------- ## - -# func_lalib_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null \ - | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if `file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case "$lalib_p_line" in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test "$lalib_p" = yes -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - func_lalib_p "$1" -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $opt_debug - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$save_ifs - eval cmd=\"$cmd\" - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# `FILE.' does not work on cygwin managed mounts. -func_source () -{ - $opt_debug - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case "$lt_sysroot:$1" in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result="=$func_stripname_result" - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$1 - ;; - esac -} - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $opt_debug - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with \`--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=${1} - if test "$build_libtool_libs" = yes; then - write_lobj=\'${2}\' - else - write_lobj=none - fi - - if test "$build_old_libs" = yes; then - write_oldobj=\'${3}\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T </dev/null` - if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$lt_sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $opt_debug - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result="" - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result" ; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $opt_debug - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $opt_debug - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $opt_debug - if test -z "$2" && test -n "$1" ; then - func_error "Could not determine host file name corresponding to" - func_error " \`$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result="$1" - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $opt_debug - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " \`$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result="$3" - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $opt_debug - case $4 in - $1 ) func_to_host_path_result="$3$func_to_host_path_result" - ;; - esac - case $4 in - $2 ) func_append func_to_host_path_result "$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via `$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $opt_debug - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $opt_debug - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result="$1" -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result="$func_convert_core_msys_to_w32_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result="$func_cygpath_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result="$func_cygpath_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via `$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# Path separators are also converted from $build format to $host format. If -# ARG begins or ends with a path separator character, it is preserved (but -# converted to $host format) on output. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $opt_debug - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd="func_convert_path_${func_stripname_result}" - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $opt_debug - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result="$1" -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # Remove leading and trailing path separator characters from ARG. MSYS - # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; - # and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_msys_to_w32_result" - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result="$func_cygpath_result" - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result="$func_cygpath_result" - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_mode_compile arg... -func_mode_compile () -{ - $opt_debug - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify \`-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - func_append pie_flag " $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - func_append later " $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - func_append_quoted lastarg "$arg" - done - IFS="$save_ifs" - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - func_append base_compile " $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with \`-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj="$func_basename_result" - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from \`$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name \`$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname="$func_basename_result" - xdir="$func_dirname_result" - lobj=${xdir}$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - func_append removelist " $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - func_append removelist " $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test "$pic_mode" != no; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - func_append command " -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test "$suppress_opt" = yes; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test "$compiler_c_o" = yes; then - func_append command " -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - func_append command "$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test "$opt_mode" = compile && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to build PIC objects only - -prefer-non-pic try to build non-PIC objects only - -shared do not build a \`.o' file suitable for static linking - -static only build a \`.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode \`$opt_mode'" - ;; - esac - - echo - $ECHO "Try \`$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test "$opt_help" = :; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | sed -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - sed '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $opt_debug - # The first argument is the command name. - cmd="$nonopt" - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "\`$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "\`$file' was not linked with \`-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir="$func_dirname_result" - - if test -f "$dir/$objdir/$dlname"; then - func_append dir "/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir="$func_dirname_result" - ;; - - *) - func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file="$progdir/$program" - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_append_quoted args "$file" - done - - if test "X$opt_dry_run" = Xfalse; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - fi -} - -test "$opt_mode" = execute && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $opt_debug - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - func_append libdirs " $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - func_append libs " $opt" - else - func_warning "\`$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument \`$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and \`=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || func_append admincmds " - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_silent && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the \`$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test "$opt_mode" = finish && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $opt_debug - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac; then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - func_append files " $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test "x$prev" = x-m && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" - if test -n "$arg2"; then - func_quote_for_eval "$arg2" - fi - func_append install_shared_prog " $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the \`$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir="$func_dirname_result" - destname="$func_basename_result" - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "\`$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "\`$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - func_append staticlibs " $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) func_append current_libdirs " $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) func_append future_libdirs " $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir="$func_dirname_result" - func_append dir "$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking \`$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname="$1" - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme="$stripme" - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme="" - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name="$func_basename_result" - instname="$dir/$name"i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && func_append staticlibs " $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to \`$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script \`$wrapper'" - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "\`$lib' has not been installed in \`$libdir'" - finalize=no - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - $opt_dry_run || { - if test "$finalize" = yes; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file="$func_basename_result" - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_silent || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink \`$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file="$outputname" - else - func_warning "cannot relink \`$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name="$func_basename_result" - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run \`$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test "$opt_mode" = install && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $opt_debug - my_outputname="$1" - my_originator="$2" - my_pic_p="${3-no}" - my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms="${my_outputname}S.c" - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${my_outputname}.nm" - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - func_verbose "generating symbol list for \`$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $opt_dry_run || { - $RM $export_symbols - eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from \`$dlprefile'" - func_basename "$dlprefile" - name="$func_basename_result" - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename="" - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname" ; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename="$func_basename_result" - else - # no lafile. user explicitly requested -dlpreopen . - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename" ; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[]; -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{\ - { \"$my_originator\", (void *) 0 }," - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - if test "X$my_pic_p" != Xno; then - pic_flag_for_symtable=" $pic_flag" - fi - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) func_append symtab_cflags " $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' - - # Transform the symbol file into the correct name. - symfileobj="$output_objdir/${my_outputname}S.$objext" - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for \`$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $opt_debug - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - -# func_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $opt_debug - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $opt_debug - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive which possess that section. Heuristic: eliminate - # all those which have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $opt_debug - if func_cygming_gnu_implib_p "$1" ; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1" ; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result="" - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $opt_debug - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - if test "$lock_old_archive_extraction" = yes; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test "$lock_old_archive_extraction" = yes; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $opt_debug - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib="$func_basename_result" - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`basename "$darwin_archive"` - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` - done - - func_extract_archives_result="$my_oldobjs" -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory in which it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=\"$qECHO\" - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ which is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options which match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${1+\"\$@\"} - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat < -#include -#ifdef _MSC_VER -# include -# include -# include -#else -# include -# include -# ifdef __CYGWIN__ -# include -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -/* declarations of non-ANSI functions */ -#if defined(__MINGW32__) -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined(__CYGWIN__) -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined (other platforms) ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined(_MSC_VER) -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -# ifndef _INTPTR_T_DEFINED -# define _INTPTR_T_DEFINED -# define intptr_t int -# endif -#elif defined(__MINGW32__) -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined(__CYGWIN__) -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined (other platforms) ... */ -#endif - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -#if defined(LT_DEBUGWRAPPER) -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - lt_debugprintf (__FILE__, __LINE__, - "checking path component for symlinks: %s\n", - tmp_pathspec); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp (str, pat) == 0) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - int len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - int orig_value_len = strlen (orig_value); - int add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - int len = strlen (new_value); - while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[len-1] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $opt_debug - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $opt_debug - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=no - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module="${wl}-single_module" - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir="$arg" - prev= - continue - ;; - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - func_append dlfiles " $arg" - else - func_append dlprefiles " $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - test -f "$arg" \ - || func_fatal_error "symbol file \`$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) func_append deplibs " $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# func_append moreargs " $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file \`$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) func_append rpath " $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) func_append xrpath " $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - weak) - func_append weak_libs " $arg" - prev= - continue - ;; - xcclinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "\`-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname "-L" '' "$arg" - if test -z "$func_stripname_result"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between \`-L' and \`$1'" - else - func_fatal_error "need path for \`-L' option" - fi - fi - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of \`$dir'" - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; - *) func_append deplibs " -L$dir" ;; - esac - func_append lib_search_path " $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) func_append dllsearchpath ":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - func_append deplibs " System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - func_append deplibs " $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - continue - ;; - - -multi_module) - single_module="${wl}-multi_module" - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "\`-no-install' is ignored for $host" - func_warning "assuming \`-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - =*) - func_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-flto*|-fwhopr*|-fuse-linker-plugin) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - func_append compile_command " $arg" - func_append finalize_command " $arg" - func_append compiler_flags " $arg" - continue - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - *.$objext) - # A standard object. - func_append objs " $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - func_append deplibs " $arg" - func_append old_deplibs " $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - func_append dlfiles " $func_resolve_sysroot_result" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - func_append dlprefiles " $func_resolve_sysroot_result" - prev= - else - func_append deplibs " $func_resolve_sysroot_result" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the \`$prevarg' option requires an argument" - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname="$func_basename_result" - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - func_dirname "$output" "/" "" - output_objdir="$func_dirname_result$objdir" - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_preserve_dup_deps ; then - case "$libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append libs " $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; - esac - func_append pre_post_deps " $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test "$linkmode,$pass" = "lib,link"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs="$tmp_deplibs" - fi - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) - libs="$deplibs %DEPLIBS%" - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" - ;; - esac - fi - if test "$linkmode,$pass" = "lib,dlpreopen"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) func_append deplibs " $deplib" ;; - esac - done - done - libs="$dlprefiles" - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append compiler_flags " $deplib" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - func_warning "\`-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test "$linkmode" = lib; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - *.ltframework) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - *) - func_warning "\`-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - else - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - ;; - esac - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - func_append newdlprefiles " $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append newdlfiles " $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - - if test "$found" = yes || test -f "$lib"; then : - else - func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" - fi - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "\`$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && func_append dlfiles " $dlopen" - test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - # It is a libtool convenience library, so add in its objects. - func_append convenience " $ladir/$objdir/$old_library" - func_append old_convenience " $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - func_fatal_error "\`$lib' is not a convenience library" - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test "$prefer_static_libs" = yes || - test "$prefer_static_libs,$installed" = "built,no"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib="$l" - done - fi - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - func_fatal_error "cannot -dlopen a convenience library: \`$lib'" - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - func_append dlprefiles " $lib $dependency_libs" - else - func_append newdlfiles " $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of \`$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir="$ladir" - fi - ;; - esac - func_basename "$lib" - laname="$func_basename_result" - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library \`$lib' was moved." - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$lt_sysroot$libdir" - absdir="$lt_sysroot$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - func_append notinst_path " $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - func_append notinst_path " $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir" && test "$linkmode" = prog; then - func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" - fi - case "$host" in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - func_append newdlprefiles " $dir/$linklib" - else - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - func_append newdlprefiles " $dir/$dlname" - else - func_append newdlprefiles " $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - func_append newlib_search_path " $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath:" in - *"$absdir:"*) ;; - *) func_append temp_rpath "$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc*) - # No point in relinking DLLs because paths are not encoded - func_append notinst_deplibs " $lib" - need_relink=no - ;; - *) - if test "$installed" = no; then - func_append notinst_deplibs " $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule="" - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule="$dlpremoduletest" - break - fi - done - if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then - echo - if test "$linkmode" = prog; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname="$1" - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc*) - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - func_basename "$soroot" - soname="$func_basename_result" - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from \`$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for \`$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$opt_mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we can not - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null ; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - elif test -n "$old_library"; then - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$absdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) func_append compile_shlibpath "$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && - test "$hardcode_minus_L" != yes && - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$opt_mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system can not link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) func_append xrpath " $temp_xrpath";; - esac;; - *) func_append temp_deplibs " $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - func_append newlib_search_path " $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - func_append specialdeplibs " $func_resolve_sysroot_result" ;; - esac - fi - func_append tmp_libs " $func_resolve_sysroot_result" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path="$deplib" ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - func_dirname "$deplib" "" "." - dir=$func_dirname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of \`$dir'" - absdir="$dir" - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl" ; then - depdepl="$absdir/$objdir/$depdepl" - darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" - func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" - path= - fi - fi - ;; - *) - path="-L$absdir/$objdir" - ;; - esac - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "\`$deplib' seems to be moved" - - path="-L$absdir" - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test "$pass" = link; then - if test "$linkmode" = "prog"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) func_append lib_search_path " $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) func_append tmp_libs " $deplib" ;; - esac - ;; - *) func_append tmp_libs " $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - func_append tmp_libs " $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - fi - if test "$linkmode" = prog || test "$linkmode" = lib; then - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "\`-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "\`-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - func_append objs "$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test "$module" = no && \ - func_fatal_help "libtool library \`$output' must begin with \`lib'" - - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - func_append libobjs " $objs" - fi - fi - - test "$dlself" != no && \ - func_warning "\`-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test "$#" -gt 1 && \ - func_warning "ignoring multiple \`-rpath's for a libtool library" - - install_libdir="$1" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "\`-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - shift - IFS="$save_ifs" - - test -n "$7" && \ - func_fatal_help "too many parameters to \`-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$1" - number_minor="$2" - number_revision="$3" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - # correct linux to gnu/linux during the next big refactor - darwin|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|qnx|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - *) - func_fatal_configuration "$modename: unknown library version type \`$version_type'" - ;; - esac - ;; - no) - current="$1" - revision="$2" - age="$3" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT \`$current' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION \`$revision' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE \`$age' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE \`$age' is greater than the current interface number \`$current'" - func_fatal_error "\`$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current" - ;; - - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) # correct to gnu/linux during the next big refactor - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - func_append verstring ":${current}.0" - ;; - - qnx) - major=".$current" - versuffix=".$current" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - - *) - func_fatal_configuration "unknown library version type \`$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - func_warning "undefined symbols not allowed in $host shared libraries" - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - - fi - - func_generate_dlsyms "$libname" "$libname" "yes" - func_append libobjs " $symfileobj" - test "X$libobjs" = "X " && libobjs= - - if test "$opt_mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - func_append removelist " $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - func_append oldlibs " $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - func_replace_sysroot "$libdir" - func_append temp_xrpath " -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) func_append dlfiles " $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) func_append dlprefiles " $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - func_append deplibs " System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - func_append deplibs " -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c </dev/null` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test "X$deplibs_check_method" = "Xnone"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - deplibs="$new_libs" - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - # Remove ${wl} instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$opt_mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append dep_rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname="$1" - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - # Local change for sane-backends: internal name for every lib - # is "libsane" not "libsane-backendname". So linking to each - # backend is possible. Also the following test was moved to this - # location. - # If -module or -export-dynamic was specified, set the dlname - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - case $host in - *mingw*) - ;; - *aix*) - ;; - *) - soname=`echo $soname | sed -e "s/libsane-[A-Za-z_0-9]*/libsane/g"` - esac - # End of local change - - lib="$output_objdir/$realname" - linknames= - for link - do - func_append linknames " $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols="$output_objdir/$libname.uexp" - func_append delfiles " $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols="$export_symbols" - export_symbols= - always_export_symbols=yes - fi - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd1 in $cmds; do - IFS="$save_ifs" - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test "$try_normal_branch" = yes \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=${output_objdir}/${output_la}.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - func_append delfiles " $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - func_append tmp_deplibs " $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test "$compiler_needs_object" = yes && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - func_append linker_flags " $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$opt_mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then - output=${output_objdir}/${output_la}.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then - output=${output_objdir}/${output_la}.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test "$compiler_needs_object" = yes; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - func_append delfiles " $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-${k}.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test "X$objlist" = X || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-${k}.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\${concat_cmds}$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" - fi - func_append delfiles " $output" - - else - output= - fi - - if ${skipped_export-false}; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - fi - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - if ${skipped_export-false}; then - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - fi - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # Local change from sane-backends; moved up - # If -module or -export-dynamic was specified, set the dlname. - #if test "$module" = yes || test "$export_dynamic" = yes; then - # # On all known operating systems, these are identical. - # dlname="$soname" - #fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "\`-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object \`$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "\`-release' is ignored for programs" - - test "$preload" = yes \ - && test "$dlopen_support" = unknown \ - && test "$dlopen_self" = unknown \ - && test "$dlopen_self_static" = unknown && \ - func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test "$tagname" = CXX ; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - func_append compile_command " ${wl}-bind_at_load" - func_append finalize_command " ${wl}-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - func_append compile_command " $compile_deplibs" - func_append finalize_command " $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) func_append dllsearchpath ":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) func_append finalize_perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" "no" - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=yes - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=no - ;; - *cygwin* | *mingw* ) - if test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - *) - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - esac - if test "$wrappers_required" = no; then - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.${objext}"; then - func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' - fi - - exit $exit_status - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - func_append rpath "$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "\`$output' will be relinked during installation" - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host" ; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save $symfileobj" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - if test "$preload" = yes && test -f "$symfileobj"; then - func_append oldobjs " $symfileobj" - fi - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $addlibs - func_append oldobjs " $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append oldobjs " $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase="$func_basename_result" - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - func_append oldobjs " $gentop/$newobj" - ;; - *) func_append oldobjs " $obj" ;; - esac - done - fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name="$func_basename_result" - func_resolve_sysroot "$deplib" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -R$func_replace_sysroot_result" - ;; - *) func_append newdependency_libs " $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" - ;; - *) func_append newdlfiles " $lib" ;; - esac - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" - ;; - esac - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlfiles " $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlprefiles " $abs" - done - dlprefiles="$newdlprefiles" - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test "x$bindir" != x ; - then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that can not go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -{ test "$opt_mode" = link || test "$opt_mode" = relink; } && - func_mode_link ${1+"$@"} - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $opt_debug - RM="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) func_append RM " $arg"; rmforce=yes ;; - -*) func_append RM " $arg" ;; - *) func_append files " $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir="$func_dirname_result" - if test "X$dir" = X.; then - odir="$objdir" - else - odir="$dir/$objdir" - fi - func_basename "$file" - name="$func_basename_result" - test "$opt_mode" = uninstall && odir="$dir" - - # Remember odir for removal later, being careful to avoid duplicates - if test "$opt_mode" = clean; then - case " $rmdirs " in - *" $odir "*) ;; - *) func_append rmdirs " $odir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - func_append rmfiles " $odir/$n" - done - test -n "$old_library" && func_append rmfiles " $odir/$old_library" - - case "$opt_mode" in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; - esac - test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && - test "$pic_object" != none; then - func_append rmfiles " $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && - test "$non_pic_object" != none; then - func_append rmfiles " $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$opt_mode" = clean ; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - func_append rmfiles " $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - func_append rmfiles " $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - func_append rmfiles " $odir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && - func_mode_uninstall ${1+"$@"} - -test -z "$opt_mode" && { - help="$generic_help" - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode \`$opt_mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: -# vi:sw=2 - diff --git a/ltmain.sh.patch b/ltmain.sh.patch new file mode 100644 index 0000000..de0a798 --- /dev/null +++ b/ltmain.sh.patch @@ -0,0 +1,44 @@ +Author: Henning Meirer-Geinitz + + Use "libsane" soname for every backend (all systems but AIX and mingw) + +diff --git a/ltmain.sh b/ltmain.sh +--- a/ltmain.sh ++++ b/ltmain.sh +@@ -9615,6 +9615,23 @@ EOF + dlname=$soname + fi + ++ # If -module or -export-dynamic was specified, set the dlname ++ if test "$module" = yes || test "$export_dynamic" = yes; then ++ # On all known operating systems, these are identical. ++ dlname="$soname" ++ fi ++ ++ # On sane-backends the internal name for every lib is "libsane" ++ # not "libsane-backendname" so that linking to each backend is possible. ++ case $host in ++ *mingw*) ++ ;; ++ *aix*) ++ ;; ++ *) ++ soname=`echo $soname | sed -e "s/libsane-[A-Za-z_0-9]*/libsane/g"` ++ esac ++ + lib=$output_objdir/$realname + linknames= + for link +@@ -10073,12 +10090,6 @@ EOF + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' + fi + done +- +- # If -module or -export-dynamic was specified, set the dlname. +- if test yes = "$module" || test yes = "$export_dynamic"; then +- # On all known operating systems, these are identical. +- dlname=$soname +- fi + fi + ;; + diff --git a/m4/byteorder.m4 b/m4/byteorder.m4 index c8b91d3..c4cb423 100644 --- a/m4/byteorder.m4 +++ b/m4/byteorder.m4 @@ -20,7 +20,7 @@ AC_EGREP_CPP([symbol is present|\<$1\>],[ #ifdef $1 symbol is present #endif - ], + ], [AC_MSG_RESULT(yes) $3 ], diff --git a/m4/gettext.m4 b/m4/gettext.m4 deleted file mode 100644 index f84e6a5..0000000 --- a/m4/gettext.m4 +++ /dev/null @@ -1,383 +0,0 @@ -# gettext.m4 serial 63 (gettext-0.18) -dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2006, 2008-2010. - -dnl Macro to add for using GNU gettext. - -dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). -dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The -dnl default (if it is not specified or empty) is 'no-libtool'. -dnl INTLSYMBOL should be 'external' for packages with no intl directory, -dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. -dnl If INTLSYMBOL is 'use-libtool', then a libtool library -dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, -dnl depending on --{enable,disable}-{shared,static} and on the presence of -dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library -dnl $(top_builddir)/intl/libintl.a will be created. -dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext -dnl implementations (in libc or libintl) without the ngettext() function -dnl will be ignored. If NEEDSYMBOL is specified and is -dnl 'need-formatstring-macros', then GNU gettext implementations that don't -dnl support the ISO C 99 formatstring macros will be ignored. -dnl INTLDIR is used to find the intl libraries. If empty, -dnl the value `$(top_builddir)/intl/' is used. -dnl -dnl The result of the configuration is one of three cases: -dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled -dnl and used. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 2) GNU gettext has been found in the system's C library. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 3) No internationalization, always use English msgid. -dnl Catalog format: none -dnl Catalog extension: none -dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. -dnl The use of .gmo is historical (it was needed to avoid overwriting the -dnl GNU format catalogs when building on a platform with an X/Open gettext), -dnl but we keep it in order not to force irrelevant filename changes on the -dnl maintainers. -dnl -AC_DEFUN([AM_GNU_GETTEXT], -[ - dnl Argument checking. - ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , - [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT -])])])])]) - ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], - [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) - ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , - [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT -])])])]) - define([gt_included_intl], - ifelse([$1], [external], - ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), - [yes])) - define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) - gt_NEEDS_INIT - AM_GNU_GETTEXT_NEED([$2]) - - AC_REQUIRE([AM_PO_SUBDIRS])dnl - ifelse(gt_included_intl, yes, [ - AC_REQUIRE([AM_INTL_SUBDIR])dnl - ]) - - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Sometimes libintl requires libiconv, so first search for libiconv. - dnl Ideally we would do this search only after the - dnl if test "$USE_NLS" = "yes"; then - dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT - dnl the configure script would need to contain the same shell code - dnl again, outside any 'if'. There are two solutions: - dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. - dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. - dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not - dnl documented, we avoid it. - ifelse(gt_included_intl, yes, , [ - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - ]) - - dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. - gt_INTL_MACOSX - - dnl Set USE_NLS. - AC_REQUIRE([AM_NLS]) - - ifelse(gt_included_intl, yes, [ - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - ]) - LIBINTL= - LTLIBINTL= - POSUB= - - dnl Add a version number to the cache macros. - case " $gt_needs " in - *" need-formatstring-macros "*) gt_api_version=3 ;; - *" need-ngettext "*) gt_api_version=2 ;; - *) gt_api_version=1 ;; - esac - gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" - gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" - - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - ifelse(gt_included_intl, yes, [ - AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH([included-gettext], - [ --with-included-gettext use the GNU gettext library included here], - nls_cv_force_use_gnu_gettext=$withval, - nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - ]) - dnl User does not insist on using GNU NLS library. Figure out what - dnl to use. If GNU gettext is available we use this. Else we have - dnl to fall back to GNU NLS library. - - if test $gt_api_version -ge 3; then - gt_revision_test_code=' -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -changequote(,)dnl -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -changequote([,])dnl -' - else - gt_revision_test_code= - fi - if test $gt_api_version -ge 2; then - gt_expression_test_code=' + * ngettext ("", "", 0)' - else - gt_expression_test_code= - fi - - AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], - [AC_TRY_LINK([#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings;], - [bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], - [eval "$gt_func_gnugettext_libc=yes"], - [eval "$gt_func_gnugettext_libc=no"])]) - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - dnl Sometimes libintl requires libiconv, so first search for libiconv. - ifelse(gt_included_intl, yes, , [ - AM_ICONV_LINK - ]) - dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL - dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) - dnl because that would add "-liconv" to LIBINTL and LTLIBINTL - dnl even if libiconv doesn't exist. - AC_LIB_LINKFLAGS_BODY([intl]) - AC_CACHE_CHECK([for GNU gettext in libintl], - [$gt_func_gnugettext_libintl], - [gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - dnl Now see whether libintl exists and does not depend on libiconv. - AC_TRY_LINK([#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *);], - [bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], - [eval "$gt_func_gnugettext_libintl=yes"], - [eval "$gt_func_gnugettext_libintl=no"]) - dnl Now see whether libintl exists and depends on libiconv. - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - AC_TRY_LINK([#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *);], - [bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], - [LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" - ]) - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS"]) - fi - - dnl If an already present or preinstalled GNU gettext() is found, - dnl use it. But if this macro is used in GNU gettext, and GNU - dnl gettext is already preinstalled in libintl, we update this - dnl libintl. (Cf. the install rule in intl/Makefile.in.) - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ - || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ - && test "$PACKAGE" != gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then - gt_use_preinstalled_gnugettext=yes - else - dnl Reset the values set by searching for libintl. - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - ifelse(gt_included_intl, yes, [ - if test "$gt_use_preinstalled_gnugettext" != "yes"; then - dnl GNU gettext is not found in the C library. - dnl Fall back on included GNU gettext library. - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions used to generate GNU NLS library. - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes - LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" - LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` - fi - - CATOBJEXT= - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions to use GNU gettext tools. - CATOBJEXT=.gmo - fi - ]) - - if test -n "$INTL_MACOSX_LIBS"; then - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Some extra flags are needed during linking. - LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" - LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" - fi - fi - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - AC_DEFINE([ENABLE_NLS], [1], - [Define to 1 if translation of program messages to the user's native language - is requested.]) - else - USE_NLS=no - fi - fi - - AC_MSG_CHECKING([whether to use NLS]) - AC_MSG_RESULT([$USE_NLS]) - if test "$USE_NLS" = "yes"; then - AC_MSG_CHECKING([where the gettext function comes from]) - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - gt_source="external libintl" - else - gt_source="libc" - fi - else - gt_source="included intl directory" - fi - AC_MSG_RESULT([$gt_source]) - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - AC_MSG_CHECKING([how to link with libintl]) - AC_MSG_RESULT([$LIBINTL]) - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) - fi - - dnl For backward compatibility. Some packages may be using this. - AC_DEFINE([HAVE_GETTEXT], [1], - [Define if the GNU gettext() function is already present or preinstalled.]) - AC_DEFINE([HAVE_DCGETTEXT], [1], - [Define if the GNU dcgettext() function is already present or preinstalled.]) - fi - - dnl We need to process the po/ directory. - POSUB=po - fi - - ifelse(gt_included_intl, yes, [ - dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL - dnl to 'yes' because some of the testsuite requires it. - if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then - BUILD_INCLUDED_LIBINTL=yes - fi - - dnl Make all variables we use known to autoconf. - AC_SUBST([BUILD_INCLUDED_LIBINTL]) - AC_SUBST([USE_INCLUDED_LIBINTL]) - AC_SUBST([CATOBJEXT]) - - dnl For backward compatibility. Some configure.ins may be using this. - nls_cv_header_intl= - nls_cv_header_libgt= - - dnl For backward compatibility. Some Makefiles may be using this. - DATADIRNAME=share - AC_SUBST([DATADIRNAME]) - - dnl For backward compatibility. Some Makefiles may be using this. - INSTOBJEXT=.mo - AC_SUBST([INSTOBJEXT]) - - dnl For backward compatibility. Some Makefiles may be using this. - GENCAT=gencat - AC_SUBST([GENCAT]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLOBJS= - if test "$USE_INCLUDED_LIBINTL" = yes; then - INTLOBJS="\$(GETTOBJS)" - fi - AC_SUBST([INTLOBJS]) - - dnl Enable libtool support if the surrounding package wishes it. - INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix - AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) - ]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLLIBS="$LIBINTL" - AC_SUBST([INTLLIBS]) - - dnl Make all documented variables known to autoconf. - AC_SUBST([LIBINTL]) - AC_SUBST([LTLIBINTL]) - AC_SUBST([POSUB]) -]) - - -dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. -m4_define([gt_NEEDS_INIT], -[ - m4_divert_text([DEFAULTS], [gt_needs=]) - m4_define([gt_NEEDS_INIT], []) -]) - - -dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) -AC_DEFUN([AM_GNU_GETTEXT_NEED], -[ - m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) -]) - - -dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) -AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) diff --git a/m4/iconv.m4 b/m4/iconv.m4 deleted file mode 100644 index e2041b9..0000000 --- a/m4/iconv.m4 +++ /dev/null @@ -1,214 +0,0 @@ -# iconv.m4 serial 11 (gettext-0.18.1) -dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], -[ - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([iconv]) -]) - -AC_DEFUN([AM_ICONV_LINK], -[ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable GNU libiconv installed). - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - - dnl Add $INCICONV to CPPFLAGS before performing the following checks, - dnl because if the user has installed libiconv and not disabled its use - dnl via --without-libiconv-prefix, he wants to use it. The first - dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. - am_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) - - AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - [am_cv_func_iconv=yes]) - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - [am_cv_lib_iconv=yes] - [am_cv_func_iconv=yes]) - LIBS="$am_save_LIBS" - fi - ]) - if test "$am_cv_func_iconv" = yes; then - AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ - dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - AC_TRY_RUN([ -#include -#include -int main () -{ - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - return 1; - } - } - /* Test against Solaris 10 bug: Failures are not distinguishable from - successful returns. */ - { - iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); - if (cd_ascii_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\263"; - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_ascii_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - return 1; - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - return 1; - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - return 1; - return 0; -}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], - [case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac]) - LIBS="$am_save_LIBS" - ]) - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then - AC_DEFINE([HAVE_ICONV], [1], - [Define if you have the iconv() function and it works.]) - fi - if test "$am_cv_lib_iconv" = yes; then - AC_MSG_CHECKING([how to link with libiconv]) - AC_MSG_RESULT([$LIBICONV]) - else - dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV - dnl either. - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - AC_SUBST([LIBICONV]) - AC_SUBST([LTLIBICONV]) -]) - -dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to -dnl avoid warnings like -dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". -dnl This is tricky because of the way 'aclocal' is implemented: -dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. -dnl Otherwise aclocal's initial scan pass would miss the macro definition. -dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. -dnl Otherwise aclocal would emit many "Use of uninitialized value $1" -dnl warnings. -m4_define([gl_iconv_AC_DEFUN], - m4_version_prereq([2.64], - [[AC_DEFUN_ONCE( - [$1], [$2])]], - [[AC_DEFUN( - [$1], [$2])]])) -gl_iconv_AC_DEFUN([AM_ICONV], -[ - AM_ICONV_LINK - if test "$am_cv_func_iconv" = yes; then - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL([am_cv_proto_iconv], [ - AC_TRY_COMPILE([ -#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif -], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) - am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - AC_MSG_RESULT([ - $am_cv_proto_iconv]) - AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], - [Define as const if the declaration of iconv() needs const.]) - fi -]) diff --git a/m4/intlmacosx.m4 b/m4/intlmacosx.m4 deleted file mode 100644 index dd91025..0000000 --- a/m4/intlmacosx.m4 +++ /dev/null @@ -1,51 +0,0 @@ -# intlmacosx.m4 serial 3 (gettext-0.18) -dnl Copyright (C) 2004-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Checks for special options needed on MacOS X. -dnl Defines INTL_MACOSX_LIBS. -AC_DEFUN([gt_INTL_MACOSX], -[ - dnl Check for API introduced in MacOS X 10.2. - AC_CACHE_CHECK([for CFPreferencesCopyAppValue], - [gt_cv_func_CFPreferencesCopyAppValue], - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_TRY_LINK([#include ], - [CFPreferencesCopyAppValue(NULL, NULL)], - [gt_cv_func_CFPreferencesCopyAppValue=yes], - [gt_cv_func_CFPreferencesCopyAppValue=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], - [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) - fi - dnl Check for API introduced in MacOS X 10.3. - AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], - [gt_cv_func_CFLocaleCopyCurrent=yes], - [gt_cv_func_CFLocaleCopyCurrent=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], - [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - AC_SUBST([INTL_MACOSX_LIBS]) -]) diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 deleted file mode 100644 index ebb3052..0000000 --- a/m4/lib-ld.m4 +++ /dev/null @@ -1,110 +0,0 @@ -# lib-ld.m4 serial 4 (gettext-0.18) -dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Subroutines of libtool.m4, -dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision -dnl with libtool.m4. - -dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. -AC_DEFUN([AC_LIB_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]* | [A-Za-z]:[\\/]*)] - [re_direlt='/[^/][^/]*/\.\./'] - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL([acl_cv_path_LD], -[if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$acl_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT([$LD]) -else - AC_MSG_RESULT([no]) -fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_LIB_PROG_LD_GNU -]) diff --git a/m4/lib-link.m4 b/m4/lib-link.m4 deleted file mode 100644 index c73bd8e..0000000 --- a/m4/lib-link.m4 +++ /dev/null @@ -1,774 +0,0 @@ -# lib-link.m4 serial 21 (gettext-0.18) -dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -AC_PREREQ([2.54]) - -dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and -dnl augments the CPPFLAGS variable. -dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - pushdef([Name],[translit([$1],[./-], [___])]) - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - ac_cv_lib[]Name[]_libs="$LIB[]NAME" - ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" - ac_cv_lib[]Name[]_cppflags="$INC[]NAME" - ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" - ]) - LIB[]NAME="$ac_cv_lib[]Name[]_libs" - LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" - INC[]NAME="$ac_cv_lib[]Name[]_cppflags" - LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - AC_SUBST([LIB]NAME[_PREFIX]) - dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the - dnl results of this search when this library appears as a dependency. - HAVE_LIB[]NAME=yes - popdef([NAME]) - popdef([Name]) -]) - -dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) -dnl searches for libname and the libraries corresponding to explicit and -dnl implicit dependencies, together with the specified include files and -dnl the ability to compile and link the specified testcode. The missing-message -dnl defaults to 'no' and may contain additional hints for the user. -dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} -dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and -dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs -dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. -dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - pushdef([Name],[translit([$1],[./-], [___])]) - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - - dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - - dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, - dnl because if the user has installed lib[]Name and not disabled its use - dnl via --without-lib[]Name-prefix, he wants to use it. - ac_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - - AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ - ac_save_LIBS="$LIBS" - dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, - dnl because these -l options might require -L options that are present in - dnl LIBS. -l options benefit only from the -L options listed before it. - dnl Otherwise, add it to the front of LIBS, because it may be a static - dnl library that depends on another static library that is present in LIBS. - dnl Static libraries benefit only from the static libraries listed after - dnl it. - case " $LIB[]NAME" in - *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; - *) LIBS="$LIB[]NAME $LIBS" ;; - esac - AC_TRY_LINK([$3], [$4], - [ac_cv_lib[]Name=yes], - [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) - LIBS="$ac_save_LIBS" - ]) - if test "$ac_cv_lib[]Name" = yes; then - HAVE_LIB[]NAME=yes - AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) - AC_MSG_CHECKING([how to link with lib[]$1]) - AC_MSG_RESULT([$LIB[]NAME]) - else - HAVE_LIB[]NAME=no - dnl If $LIB[]NAME didn't lead to a usable library, we don't need - dnl $INC[]NAME either. - CPPFLAGS="$ac_save_CPPFLAGS" - LIB[]NAME= - LTLIB[]NAME= - LIB[]NAME[]_PREFIX= - fi - AC_SUBST([HAVE_LIB]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - AC_SUBST([LIB]NAME[_PREFIX]) - popdef([NAME]) - popdef([Name]) -]) - -dnl Determine the platform dependent parameters needed to use rpath: -dnl acl_libext, -dnl acl_shlibext, -dnl acl_hardcode_libdir_flag_spec, -dnl acl_hardcode_libdir_separator, -dnl acl_hardcode_direct, -dnl acl_hardcode_minus_L. -AC_DEFUN([AC_LIB_RPATH], -[ - dnl Tell automake >= 1.10 to complain if config.rpath is missing. - m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) - AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS - AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld - AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host - AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir - AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - ]) - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE([rpath], - [ --disable-rpath do not hardcode runtime library paths], - :, enable_rpath=yes) -]) - -dnl AC_LIB_FROMPACKAGE(name, package) -dnl declares that libname comes from the given package. The configure file -dnl will then not have a --with-libname-prefix option but a -dnl --with-package-prefix option. Several libraries can come from the same -dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar -dnl macro call that searches for libname. -AC_DEFUN([AC_LIB_FROMPACKAGE], -[ - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - define([acl_frompackage_]NAME, [$2]) - popdef([NAME]) - pushdef([PACK],[$2]) - pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - define([acl_libsinpackage_]PACKUP, - m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) - popdef([PACKUP]) - popdef([PACK]) -]) - -dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found -dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -[ - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) - pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) - dnl Autoconf >= 2.61 supports dots in --with options. - pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_ARG_WITH(P_A_C_K[-prefix], -[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib - --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi -]) - dnl Search the library and its dependencies in $additional_libdir and - dnl $LDFLAGS. Using breadth-first-seach. - LIB[]NAME= - LTLIB[]NAME= - INC[]NAME= - LIB[]NAME[]_PREFIX= - dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been - dnl computed. So it has to be reset here. - HAVE_LIB[]NAME= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='$1 $2' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - dnl See if it was already located by an earlier AC_LIB_LINKFLAGS - dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" - else - dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined - dnl that this library doesn't exist. So just drop it. - : - fi - else - dnl Search the library lib$name in $additional_libdir and $LDFLAGS - dnl and the already constructed $LIBNAME/$LTLIBNAME. - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - dnl The same code as in the loop below: - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - dnl Found the library. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - dnl Linking with a shared library. We attempt to hardcode its - dnl directory into the executable's runpath, unless it's the - dnl standard /usr/lib. - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - dnl No hardcoding is needed. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - dnl The hardcoding into $LIBNAME is system dependent. - if test "$acl_hardcode_direct" = yes; then - dnl Using DIR/libNAME.so during linking hardcodes DIR into the - dnl resulting binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - dnl Rely on "-L$found_dir". - dnl But don't add it if it's already contained in the LDFLAGS - dnl or the already constructed $LIBNAME - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH - dnl here, because this doesn't fit in flags passed to the - dnl compiler. So give up. No hardcoding. This affects only - dnl very old systems. - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - dnl Linking with a static library. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" - else - dnl We shouldn't come here, but anyway it's good to have a - dnl fallback. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" - fi - fi - dnl Assume the include files are nearby. - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - dnl Potentially add $additional_includedir to $INCNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's /usr/local/include and we are using GCC on Linux, - dnl 3. if it's already present in $CPPFLAGS or the already - dnl constructed $INCNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INC[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $INCNAME. - INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - dnl Look for dependencies. - if test -n "$found_la"; then - dnl Read the .la file. It defines the variables - dnl dlname, library_names, old_library, dependency_libs, current, - dnl age, revision, installed, dlopen, dlpreopen, libdir. - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - dnl We use only dependency_libs. - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's /usr/local/lib and we are using GCC on Linux, - dnl 3. if it's already present in $LDFLAGS or the already - dnl constructed $LIBNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - dnl Handle this in the next round. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - dnl Handle this in the next round. Throw away the .la's - dnl directory; it is already contained in a preceding -L - dnl option. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - dnl Most likely an immediate library name. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" - ;; - esac - done - fi - else - dnl Didn't find the library; assume it is in the system directories - dnl known to the linker and runtime loader. (All the system - dnl directories known to the linker should also be known to the - dnl runtime loader, otherwise the system is severely misconfigured.) - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user must - dnl pass all path elements in one option. We can arrange that for a - dnl single library, but not when more than one $LIBNAMEs are used. - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - else - dnl The -rpath options are cumulative. - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - dnl When using libtool, the option that works for both libraries and - dnl executables is -R. The -R options are cumulative. - for found_dir in $ltrpathdirs; do - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" - done - fi - popdef([P_A_C_K]) - popdef([PACKLIBS]) - popdef([PACKUP]) - popdef([PACK]) - popdef([NAME]) -]) - -dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -dnl unless already present in VAR. -dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -dnl contains two or three consecutive elements that belong together. -AC_DEFUN([AC_LIB_APPENDTOVAR], -[ - for element in [$2]; do - haveit= - for x in $[$1]; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - [$1]="${[$1]}${[$1]:+ }$element" - fi - done -]) - -dnl For those cases where a variable contains several -L and -l options -dnl referring to unknown libraries and directories, this macro determines the -dnl necessary additional linker options for the runtime path. -dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) -dnl sets LDADDVAR to linker options needed together with LIBSVALUE. -dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, -dnl otherwise linking without libtool is assumed. -AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -[ - AC_REQUIRE([AC_LIB_RPATH]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - $1= - if test "$enable_rpath" != no; then - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode directories into the resulting - dnl binary. - rpathdirs= - next= - for opt in $2; do - if test -n "$next"; then - dir="$next" - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= - else - case $opt in - -L) next=yes ;; - -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= ;; - *) next= ;; - esac - fi - done - if test "X$rpathdirs" != "X"; then - if test -n ""$3""; then - dnl libtool is used for linking. Use -R options. - for dir in $rpathdirs; do - $1="${$1}${$1:+ }-R$dir" - done - else - dnl The linker is used for linking directly. - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user - dnl must pass all path elements in one option. - alldirs= - for dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="$flag" - else - dnl The -rpath options are cumulative. - for dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="${$1}${$1:+ }$flag" - done - fi - fi - fi - fi - fi - AC_SUBST([$1]) -]) diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4 deleted file mode 100644 index 1601cea..0000000 --- a/m4/lib-prefix.m4 +++ /dev/null @@ -1,224 +0,0 @@ -# lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - -dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -dnl to access previously installed libraries. The basic assumption is that -dnl a user will want packages to use other packages he previously installed -dnl with the same --prefix option. -dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -dnl libraries, but is otherwise very convenient. -AC_DEFUN([AC_LIB_PREFIX], -[ - AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi -]) - if test $use_additional = yes; then - dnl Potentially add $additional_includedir to $CPPFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's already present in $CPPFLAGS, - dnl 3. if it's /usr/local/include and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - for x in $CPPFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $CPPFLAGS. - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" - fi - fi - fi - fi - dnl Potentially add $additional_libdir to $LDFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's already present in $LDFLAGS, - dnl 3. if it's /usr/local/lib and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - for x in $LDFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LDFLAGS. - LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" - fi - fi - fi - fi - fi -]) - -dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -dnl acl_final_exec_prefix, containing the values to which $prefix and -dnl $exec_prefix will expand at the end of the configure script. -AC_DEFUN([AC_LIB_PREPARE_PREFIX], -[ - dnl Unfortunately, prefix and exec_prefix get only finally determined - dnl at the end of configure. - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -dnl variables prefix and exec_prefix bound to the values they will have -dnl at the end of the configure script. -AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -[ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - $1 - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_PREPARE_MULTILIB creates -dnl - a variable acl_libdirstem, containing the basename of the libdir, either -dnl "lib" or "lib64" or "lib/64", -dnl - a variable acl_libdirstem2, as a secondary possible value for -dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or -dnl "lib/amd64". -AC_DEFUN([AC_LIB_PREPARE_MULTILIB], -[ - dnl There is no formal standard regarding lib and lib64. - dnl On glibc systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine - dnl the compiler's default mode by looking at the compiler's library search - dnl path. If at least one of its elements ends in /lib64 or points to a - dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. - dnl Otherwise we use the default, namely "lib". - dnl On Solaris systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or - dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. - AC_REQUIRE([AC_CANONICAL_HOST]) - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment - dnl . - dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." - dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the - dnl symlink is missing, so we set acl_libdirstem2 too. - AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], - [AC_EGREP_CPP([sixtyfour bits], [ -#ifdef _LP64 -sixtyfour bits -#endif - ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) - ]) - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" -]) diff --git a/m4/libtool.m4 b/m4/libtool.m4 deleted file mode 100644 index d7c043f..0000000 --- a/m4/libtool.m4 +++ /dev/null @@ -1,7997 +0,0 @@ -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -]) - -# serial 57 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl - -_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl -dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_WITH_SYSROOT])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PREPARE_SED_QUOTE_VARS -# -------------------------- -# Define a few sed substitution that help us do robust quoting. -m4_defun([_LT_PREPARE_SED_QUOTE_VARS], -[# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -]) - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN - - -## ------------------------------------- ## -## Accumulate code for creating libtool. ## -## ------------------------------------- ## - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - -## ------------------------ ## -## FIXME: Eliminate VARNAME ## -## ------------------------ ## - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$[]1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -_LT_OUTPUT_LIBTOOL_INIT -]) - -# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) -# ------------------------------------ -# Generate a child script FILE with all initialization necessary to -# reuse the environment learned by the parent script, and make the -# file executable. If COMMENT is supplied, it is inserted after the -# `#!' sequence but before initialization text begins. After this -# macro, additional text can be appended to FILE to form the body of -# the child script. The macro ends with non-zero status if the -# file could not be fully written (such as if the disk is full). -m4_ifdef([AS_INIT_GENERATED], -[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], -[m4_defun([_LT_GENERATED_FILE_INIT], -[m4_require([AS_PREPARE])]dnl -[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl -[lt_write_fail=0 -cat >$1 <<_ASEOF || lt_write_fail=1 -#! $SHELL -# Generated by $as_me. -$2 -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$1 <<\_ASEOF || lt_write_fail=1 -AS_SHELL_SANITIZE -_AS_PREPARE -exec AS_MESSAGE_FD>&1 -_ASEOF -test $lt_write_fail = 0 && chmod +x $1[]dnl -m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $[#] != 0 -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -_LT_COPYING -_LT_LIBTOOL_TAGS - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_REPLACE_SHELLFNS - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -m4_ifndef([AC_PROG_GO], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_GO. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ -m4_defun([AC_PROG_GO], -[AC_LANG_PUSH(Go)dnl -AC_ARG_VAR([GOC], [Go compiler command])dnl -AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -AC_CHECK_TOOL(GOC, gccgo) -if test -z "$GOC"; then - if test -n "$ac_tool_prefix"; then - AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) - fi -fi -if test -z "$GOC"; then - AC_CHECK_PROG(GOC, gccgo, gccgo, false) -fi -])#m4_defun -])#m4_ifndef - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([AC_PROG_GO], - [LT_LANG(GO)], - [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) -dnl AC_DEFUN([AC_LIBTOOL_RC], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - - AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], - [lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES([TAG]) -# --------------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], - [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) -# ---------------------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -# Store the results from the different compilers for each TAGNAME. -# Allow to override them for all tags through lt_cv_aix_libpath. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], - [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ - lt_aix_libpath_sed='[ - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }]' - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi],[]) - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" - fi - ]) - aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[m4_divert_text([M4SH-INIT], [$1 -])])# _LT_SHELL_INIT - - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Find how we can fake an echo command that does not interpret backslash. -# In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script which will find a shell with a builtin -# printf (which we can use as an echo command). -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -AC_MSG_CHECKING([how to print strings]) -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$[]1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -case "$ECHO" in - printf*) AC_MSG_RESULT([printf]) ;; - print*) AC_MSG_RESULT([print -r]) ;; - *) AC_MSG_RESULT([cat]) ;; -esac - -m4_ifdef([_AS_DETECT_SUGGESTED], -[_AS_DETECT_SUGGESTED([ - test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test "X`printf %s $ECHO`" = "X$ECHO" \ - || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) - -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_WITH_SYSROOT -# ---------------- -AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[ --with-sysroot[=DIR] Search for dependent libraries within DIR - (or the compiler's sysroot if not specified).], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([${with_sysroot}]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and in which our libraries should be installed.])]) - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" -])# _LT_ENABLE_LOCK - - -# _LT_PROG_AR -# ----------- -m4_defun([_LT_PROG_AR], -[AC_CHECK_TOOLS(AR, [ar], false) -: ${AR=ar} -: ${AR_FLAGS=cru} -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) - -AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM], - [echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - ]) - ]) - -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi -_LT_DECL([], [archiver_list_spec], [1], - [How to feed a file listing to the archiver]) -])# _LT_PROG_AR - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[_LT_PROG_AR - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -_LT_DECL([], [lock_old_archive_extraction], [0], - [Whether to use a lock for old archive extraction]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test x"[$]$2" = xyes; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[23]].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[[3-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], - [lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [lt_cv_shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - ]) - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [install_override_mode], [1], - [Permission mode override for installation of shared libraries]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program which can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program which can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method = "file_magic"]) -_LT_DECL([], [file_magic_glob], [1], - [How to find potential files when deplibs_check_method = "file_magic"]) -_LT_DECL([], [want_nocaseglob], [1], - [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - -# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -# -------------------------------- -# how to determine the name of the shared library -# associated with a specific link library. -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -m4_require([_LT_DECL_DLLTOOL]) -AC_CACHE_CHECK([how to associate runtime and link libraries], -lt_cv_sharedlib_from_linklib_cmd, -[lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac -]) -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - -_LT_DECL([], [sharedlib_from_linklib_cmd], [1], - [Command to associate shared and link libraries]) -])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB - - -# _LT_PATH_MANIFEST_TOOL -# ---------------------- -# locate the manifest tool -m4_defun([_LT_PATH_MANIFEST_TOOL], -[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&AS_MESSAGE_LOG_FD - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest*]) -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi -_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -])# _LT_PATH_MANIFEST_TOOL - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; - *) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; - esac - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -_LT_DECL([], [nm_file_list_spec], [1], - [Specify filename containing input files for $NM]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - *Sun\ F* | *Sun*Fortran*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Intel*\ [[CF]]*Compiler*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - *Portland\ Group*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -AC_CACHE_CHECK([for $compiler option to produce PIC], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - ;; - esac - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; - *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - _LT_TAGVAR(link_all_deplibs, $1)=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - esac - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - m4_if($1, [], [ - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - _LT_LINKER_OPTION([if $CC understands -b], - _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], - [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], - [lt_cv_irix_exported_symbol], - [save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE( - [AC_LANG_SOURCE( - [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], - [C++], [[int foo (void) { return 0; }]], - [Fortran 77], [[ - subroutine foo - end]], - [Fortran], [[ - subroutine foo - end]])])], - [lt_cv_irix_exported_symbol=yes], - [lt_cv_irix_exported_symbol=no]) - LDFLAGS="$save_LDFLAGS"]) - if test "$lt_cv_irix_exported_symbol" = yes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_CACHE_CHECK([whether -lc should be explicitly linked in], - [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), - [$RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - ]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [postlink_cmds], [2], - [Commands necessary for finishing linking programs]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report which library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC="$lt_save_CC" -])# _LT_LANG_C_CONFIG - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" - _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_FUNC_STRIPNAME_CNF -# ---------------------- -# func_stripname_cnf prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# -# This function is identical to the (non-XSI) version of func_stripname, -# except this one can be used by m4 code that may be executed by configure, -# rather than the libtool script. -m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl -AC_REQUIRE([_LT_DECL_SED]) -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) -func_stripname_cnf () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname_cnf -])# _LT_FUNC_STRIPNAME_CNF - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF -package foo -func foo() { -} -_LT_EOF -]) - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" - CFLAGS="$lt_save_CFLAGS" -fi # test "$_lt_disable_F77" != yes - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_LANG_PUSH(Fortran) - -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test "$_lt_disable_FC" != yes - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_GO_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Go compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GO_CONFIG], -[AC_REQUIRE([LT_PROG_GO])dnl -AC_LANG_SAVE - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# Go did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GO_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_GO -# ---------- -AC_DEFUN([LT_PROG_GO], -[AC_CHECK_TOOL(GOC, gccgo,) -]) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - -# _LT_DECL_DLLTOOL -# ---------------- -# Ensure DLLTOOL variable is set. -m4_defun([_LT_DECL_DLLTOOL], -[AC_CHECK_TOOL(DLLTOOL, dlltool, false) -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) -AC_SUBST([DLLTOOL]) -]) - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) -# ------------------------------------------------------ -# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and -# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. -m4_defun([_LT_PROG_FUNCTION_REPLACE], -[dnl { -sed -e '/^$1 ()$/,/^} # $1 /c\ -$1 ()\ -{\ -m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) -} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: -]) - - -# _LT_PROG_REPLACE_SHELLFNS -# ------------------------- -# Replace existing portable implementations of several shell functions with -# equivalent extended shell implementations where those features are available.. -m4_defun([_LT_PROG_REPLACE_SHELLFNS], -[if test x"$xsi_shell" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl - func_split_long_opt_name=${1%%=*} - func_split_long_opt_arg=${1#*=}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) - - _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) - - _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) - - _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) -fi - -if test x"$lt_shell_append" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) - - _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl - func_quote_for_eval "${2}" -dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ - eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) -fi -]) - -# _LT_PATH_CONVERSION_FUNCTIONS -# ----------------------------- -# Determine which file name conversion functions should be used by -# func_to_host_file (and, implicitly, by func_to_host_path). These are needed -# for certain cross-compile configurations and native mingw. -m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_MSG_CHECKING([how to convert $build file names to $host format]) -AC_CACHE_VAL(lt_cv_to_host_file_cmd, -[case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -]) -to_host_file_cmd=$lt_cv_to_host_file_cmd -AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) -_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], - [0], [convert $build file names to $host format])dnl - -AC_MSG_CHECKING([how to convert $build file names to toolchain format]) -AC_CACHE_VAL(lt_cv_to_tool_file_cmd, -[#assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -]) -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) -_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], - [0], [convert $build files to toolchain format])dnl -])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4 deleted file mode 100644 index 5d9acd8..0000000 --- a/m4/ltoptions.m4 +++ /dev/null @@ -1,384 +0,0 @@ -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 7 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - ]) -])# _LT_SET_OPTIONS - - -## --------------------------------- ## -## Macros to handle LT_INIT options. ## -## --------------------------------- ## - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [1], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' -# LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for lt_pkg in $withval; do - IFS="$lt_save_ifs" - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - -## ----------------- ## -## LTDL_INIT Options ## -## ----------------- ## - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4 deleted file mode 100644 index 9000a05..0000000 --- a/m4/ltsugar.m4 +++ /dev/null @@ -1,123 +0,0 @@ -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) diff --git a/m4/ltversion.m4 b/m4/ltversion.m4 deleted file mode 100644 index 07a8602..0000000 --- a/m4/ltversion.m4 +++ /dev/null @@ -1,23 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# @configure_input@ - -# serial 3337 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.2]) -m4_define([LT_PACKAGE_REVISION], [1.3337]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.2' -macro_revision='1.3337' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4 deleted file mode 100644 index c573da9..0000000 --- a/m4/lt~obsolete.m4 +++ /dev/null @@ -1,98 +0,0 @@ -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) -m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) -m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) -m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) -m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) -m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) -m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff --git a/m4/nls.m4 b/m4/nls.m4 deleted file mode 100644 index 003704c..0000000 --- a/m4/nls.m4 +++ /dev/null @@ -1,32 +0,0 @@ -# nls.m4 serial 5 (gettext-0.18) -dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, -dnl Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ([2.50]) - -AC_DEFUN([AM_NLS], -[ - AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE([nls], - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT([$USE_NLS]) - AC_SUBST([USE_NLS]) -]) diff --git a/m4/po.m4 b/m4/po.m4 deleted file mode 100644 index 47f36a4..0000000 --- a/m4/po.m4 +++ /dev/null @@ -1,449 +0,0 @@ -# po.m4 serial 17 (gettext-0.18) -dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ([2.50]) - -dnl Checks for all prerequisites of the po subdirectory. -AC_DEFUN([AM_PO_SUBDIRS], -[ - AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake - AC_REQUIRE([AM_NLS])dnl - - dnl Release version of the gettext macros. This is used to ensure that - dnl the gettext macros and po/Makefile.in.in are in sync. - AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) - - dnl Perform the following tests also if --disable-nls has been given, - dnl because they are needed for "make dist" to work. - - dnl Search for GNU msgfmt in the PATH. - dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. - dnl The second test excludes FreeBSD msgfmt. - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) - - dnl Test whether it is GNU msgfmt >= 0.15. -changequote(,)dnl - case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; - *) MSGFMT_015=$MSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([MSGFMT_015]) -changequote(,)dnl - case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; - *) GMSGFMT_015=$GMSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([GMSGFMT_015]) - - dnl Search for GNU xgettext 0.12 or newer in the PATH. - dnl The first test excludes Solaris xgettext and early GNU xgettext versions. - dnl The second test excludes FreeBSD xgettext. - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - dnl Remove leftover from FreeBSD xgettext call. - rm -f messages.po - - dnl Test whether it is GNU xgettext >= 0.15. -changequote(,)dnl - case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; - *) XGETTEXT_015=$XGETTEXT ;; - esac -changequote([,])dnl - AC_SUBST([XGETTEXT_015]) - - dnl Search for GNU msgmerge 0.11 or newer in the PATH. - AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, - [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) - - dnl Installation directories. - dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we - dnl have to define it here, so that it can be used in po/Makefile. - test -n "$localedir" || localedir='${datadir}/locale' - AC_SUBST([localedir]) - - dnl Support for AM_XGETTEXT_OPTION. - test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= - AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) - - AC_CONFIG_COMMANDS([po-directories], [[ - for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - # Treat a directory as a PO directory if and only if it has a - # POTFILES.in file. This allows packages to have multiple PO - # directories under different names or in different locations. - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" - POMAKEFILEDEPS="POTFILES.in" - # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend - # on $ac_dir but don't depend on user-specified configuration - # parameters. - if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then - # The LINGUAS file contains the set of available languages. - if test -n "$OBSOLETE_ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" - fi - ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" - else - # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' - fi - # Compute POFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) - # Compute UPDATEPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) - # Compute DUMMYPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) - # Compute GMOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - UPDATEPOFILES= - DUMMYPOFILES= - GMOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - done - # CATALOGS depends on both $ac_dir and the user's LINGUAS - # environment variable. - INST_LINGUAS= - if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "$LINGUAS"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done - fi - CATALOGS= - if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done - fi - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do - if test -f "$f"; then - case "$f" in - *.orig | *.bak | *~) ;; - *) cat "$f" >> "$ac_dir/Makefile" ;; - esac - fi - done - fi - ;; - esac - done]], - [# Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it - # from automake < 1.5. - eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - ]) -]) - -dnl Postprocesses a Makefile in a directory containing PO files. -AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], -[ - # When this code is run, in config.status, two variables have already been - # set: - # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, - # - LINGUAS is the value of the environment variable LINGUAS at configure - # time. - -changequote(,)dnl - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - # Find a way to echo strings without interpreting backslash. - if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='echo' - else - if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='printf %s\n' - else - echo_func () { - cat < "$ac_file.tmp" - if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` - cat >> "$ac_file.tmp" < /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` - cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. - -AC_PREREQ([2.50]) - -# Search path for a program which passes the given test. - -dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN([AM_PATH_PROG_WITH_TEST], -[ -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "$2", so it can be a program name with args. -set dummy $2; ac_word=[$]2 -AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL([ac_cv_path_$1], -[case "[$]$1" in - [[\\/]]* | ?:[[\\/]]*) - ac_cv_path_$1="[$]$1" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in ifelse([$5], , $PATH, [$5]); do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" -dnl If no 4th arg is given, leave the cache variable unset, -dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" -])dnl - ;; -esac])dnl -$1="$ac_cv_path_$1" -if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then - AC_MSG_RESULT([$][$1]) -else - AC_MSG_RESULT([no]) -fi -AC_SUBST([$1])dnl -]) diff --git a/m4/stdint.m4 b/m4/stdint.m4 deleted file mode 100644 index 228105b..0000000 --- a/m4/stdint.m4 +++ /dev/null @@ -1,695 +0,0 @@ -dnl @synopsis AX_CREATE_STDINT_H [( HEADER-TO-GENERATE [, HEDERS-TO-CHECK])] -dnl -dnl the "ISO C9X: 7.18 Integer types " section requires the -dnl existence of an include file that defines a set of -dnl typedefs, especially uint8_t,int32_t,uintptr_t. Many older -dnl installations will not provide this file, but some will have the -dnl very same definitions in . In other enviroments we can -dnl use the inet-types in which would define the typedefs -dnl int8_t and u_int8_t respectivly. -dnl -dnl This macros will create a local "_stdint.h" or the headerfile given -dnl as an argument. In many cases that file will just "#include -dnl " or "#include ", while in other environments -dnl it will provide the set of basic 'stdint's definitions/typedefs: -dnl -dnl int8_t,uint8_t,int16_t,uint16_t,int32_t,uint32_t,intptr_t,uintptr_t -dnl int_least32_t.. int_fast32_t.. intmax_t -dnl -dnl which may or may not rely on the definitions of other files, or -dnl using the AC_CHECK_SIZEOF macro to determine the actual sizeof each -dnl type. -dnl -dnl if your header files require the stdint-types you will want to -dnl create an installable file mylib-int.h that all your other -dnl installable header may include. So if you have a library package -dnl named "mylib", just use -dnl -dnl AX_CREATE_STDINT_H(mylib-int.h) -dnl -dnl in configure.ac and go to install that very header file in -dnl Makefile.am along with the other headers (mylib.h) - and the -dnl mylib-specific headers can simply use "#include " to -dnl obtain the stdint-types. -dnl -dnl Remember, if the system already had a valid , the -dnl generated file will include it directly. No need for fuzzy -dnl HAVE_STDINT_H things... (oops, GCC 4.2.x has deliberatly disabled -dnl its stdint.h for non-c99 compilation and the c99-mode is not the -dnl default. Therefore this macro will not use the compiler's stdint.h -dnl - please complain to the GCC developers). -dnl -dnl @category C -dnl @author Guido U. Draheim -dnl @version 2006-10-13 -dnl @license GPLWithACException - -AC_DEFUN([AX_CHECK_DATA_MODEL],[ - AC_CHECK_SIZEOF(char) - AC_CHECK_SIZEOF(short) - AC_CHECK_SIZEOF(int) - AC_CHECK_SIZEOF(long) - AC_CHECK_SIZEOF(void*) - ac_cv_char_data_model="" - ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_char" - ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_short" - ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_int" - ac_cv_long_data_model="" - ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_int" - ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_long" - ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_voidp" - AC_MSG_CHECKING([data model]) - case "$ac_cv_char_data_model/$ac_cv_long_data_model" in - 122/242) ac_cv_data_model="IP16" ; n="standard 16bit machine" ;; - 122/244) ac_cv_data_model="LP32" ; n="standard 32bit machine" ;; - 122/*) ac_cv_data_model="i16" ; n="unusual int16 model" ;; - 124/444) ac_cv_data_model="ILP32" ; n="standard 32bit unixish" ;; - 124/488) ac_cv_data_model="LP64" ; n="standard 64bit unixish" ;; - 124/448) ac_cv_data_model="LLP64" ; n="unusual 64bit unixish" ;; - 124/*) ac_cv_data_model="i32" ; n="unusual int32 model" ;; - 128/888) ac_cv_data_model="ILP64" ; n="unusual 64bit numeric" ;; - 128/*) ac_cv_data_model="i64" ; n="unusual int64 model" ;; - 222/*2) ac_cv_data_model="DSP16" ; n="strict 16bit dsptype" ;; - 333/*3) ac_cv_data_model="DSP24" ; n="strict 24bit dsptype" ;; - 444/*4) ac_cv_data_model="DSP32" ; n="strict 32bit dsptype" ;; - 666/*6) ac_cv_data_model="DSP48" ; n="strict 48bit dsptype" ;; - 888/*8) ac_cv_data_model="DSP64" ; n="strict 64bit dsptype" ;; - 222/*|333/*|444/*|666/*|888/*) : - ac_cv_data_model="iDSP" ; n="unusual dsptype" ;; - *) ac_cv_data_model="none" ; n="very unusual model" ;; - esac - AC_MSG_RESULT([$ac_cv_data_model ($ac_cv_long_data_model, $n)]) -]) - -dnl AX_CHECK_HEADER_STDINT_X([HEADERLIST][,ACTION-IF]) -AC_DEFUN([AX_CHECK_HEADER_STDINT_X],[ -AC_CACHE_CHECK([for stdint uintptr_t], [ac_cv_header_stdint_x],[ - ac_cv_header_stdint_x="" # the 1997 typedefs (inttypes.h) - AC_MSG_RESULT([(..)]) - for i in m4_ifval([$1],[$1],[stdint.h inttypes.h sys/inttypes.h sys/types.h]) - do - unset ac_cv_type_uintptr_t - unset ac_cv_type_uint64_t - AC_CHECK_TYPE(uintptr_t,[ac_cv_header_stdint_x=$i],continue,[#include <$i>]) - AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>]) - m4_ifvaln([$1],[$1]) break - done - AC_MSG_CHECKING([for stdint uintptr_t]) - ]) -]) - -AC_DEFUN([AX_CHECK_HEADER_STDINT_O],[ -AC_CACHE_CHECK([for stdint uint32_t], [ac_cv_header_stdint_o],[ - ac_cv_header_stdint_o="" # the 1995 typedefs (sys/inttypes.h) - AC_MSG_RESULT([(..)]) - for i in m4_ifval([$1],[$1],[inttypes.h sys/inttypes.h sys/types.h stdint.h]) - do - unset ac_cv_type_uint32_t - unset ac_cv_type_uint64_t - AC_CHECK_TYPE(uint32_t,[ac_cv_header_stdint_o=$i],continue,[#include <$i>]) - AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>]) - m4_ifvaln([$1],[$1]) break - break; - done - AC_MSG_CHECKING([for stdint uint32_t]) - ]) -]) - -AC_DEFUN([AX_CHECK_HEADER_STDINT_U],[ -AC_CACHE_CHECK([for stdint u_int32_t], [ac_cv_header_stdint_u],[ - ac_cv_header_stdint_u="" # the BSD typedefs (sys/types.h) - AC_MSG_RESULT([(..)]) - for i in m4_ifval([$1],[$1],[sys/types.h inttypes.h sys/inttypes.h]) ; do - unset ac_cv_type_u_int32_t - unset ac_cv_type_u_int64_t - AC_CHECK_TYPE(u_int32_t,[ac_cv_header_stdint_u=$i],continue,[#include <$i>]) - AC_CHECK_TYPE(u_int64_t,[and64="/u_int64_t"],[and64=""],[#include<$i>]) - m4_ifvaln([$1],[$1]) break - break; - done - AC_MSG_CHECKING([for stdint u_int32_t]) - ]) -]) - -AC_DEFUN([AX_CREATE_STDINT_H], -[# ------ AX CREATE STDINT H ------------------------------------- -AC_MSG_CHECKING([for stdint types]) -ac_stdint_h=`echo ifelse($1, , _stdint.h, $1)` -# try to shortcircuit - if the default include path of the compiler -# can find a "stdint.h" header then we assume that all compilers can. -AC_CACHE_VAL([ac_cv_header_stdint_t],[ -old_CXXFLAGS="$CXXFLAGS" ; CXXFLAGS="" -old_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS="" -old_CFLAGS="$CFLAGS" ; CFLAGS="" -AC_TRY_COMPILE([#include ],[int_least32_t v = 0;], -[ac_cv_stdint_result="(assuming C99 compatible system)" - ac_cv_header_stdint_t="stdint.h"; ], -[ac_cv_header_stdint_t=""]) -if test "$GCC" = "yes" && test ".$ac_cv_header_stdint_t" = "."; then -CFLAGS="-std=c99" -AC_TRY_COMPILE([#include ],[int_least32_t v = 0;], -[AC_MSG_WARN(your GCC compiler has a defunct stdint.h for its default-mode)]) -fi -CXXFLAGS="$old_CXXFLAGS" -CPPFLAGS="$old_CPPFLAGS" -CFLAGS="$old_CFLAGS" ]) - -v="... $ac_cv_header_stdint_h" -if test "$ac_stdint_h" = "stdint.h" ; then - AC_MSG_RESULT([(are you sure you want them in ./stdint.h?)]) -elif test "$ac_stdint_h" = "inttypes.h" ; then - AC_MSG_RESULT([(are you sure you want them in ./inttypes.h?)]) -elif test "_$ac_cv_header_stdint_t" = "_" ; then - AC_MSG_RESULT([(putting them into $ac_stdint_h)$v]) -else - ac_cv_header_stdint="$ac_cv_header_stdint_t" - AC_MSG_RESULT([$ac_cv_header_stdint (shortcircuit)]) -fi - -if test "_$ac_cv_header_stdint_t" = "_" ; then # can not shortcircuit.. - -dnl .....intro message done, now do a few system checks..... -dnl btw, all old CHECK_TYPE macros do automatically "DEFINE" a type, -dnl therefore we use the autoconf implementation detail CHECK_TYPE_NEW -dnl instead that is triggered with 3 or more arguments (see types.m4) - -inttype_headers=`echo $2 | sed -e 's/,/ /g'` - -ac_cv_stdint_result="(no helpful system typedefs seen)" -AX_CHECK_HEADER_STDINT_X(dnl - stdint.h inttypes.h sys/inttypes.h $inttype_headers, - ac_cv_stdint_result="(seen uintptr_t$and64 in $i)") - -if test "_$ac_cv_header_stdint_x" = "_" ; then -AX_CHECK_HEADER_STDINT_O(dnl, - inttypes.h sys/inttypes.h stdint.h $inttype_headers, - ac_cv_stdint_result="(seen uint32_t$and64 in $i)") -fi - -if test "_$ac_cv_header_stdint_x" = "_" ; then -if test "_$ac_cv_header_stdint_o" = "_" ; then -AX_CHECK_HEADER_STDINT_U(dnl, - sys/types.h inttypes.h sys/inttypes.h $inttype_headers, - ac_cv_stdint_result="(seen u_int32_t$and64 in $i)") -fi fi - -dnl if there was no good C99 header file, do some typedef checks... -if test "_$ac_cv_header_stdint_x" = "_" ; then - AC_MSG_CHECKING([for stdint datatype model]) - AC_MSG_RESULT([(..)]) - AX_CHECK_DATA_MODEL -fi - -if test "_$ac_cv_header_stdint_x" != "_" ; then - ac_cv_header_stdint="$ac_cv_header_stdint_x" -elif test "_$ac_cv_header_stdint_o" != "_" ; then - ac_cv_header_stdint="$ac_cv_header_stdint_o" -elif test "_$ac_cv_header_stdint_u" != "_" ; then - ac_cv_header_stdint="$ac_cv_header_stdint_u" -else - ac_cv_header_stdint="stddef.h" -fi - -AC_MSG_CHECKING([for extra inttypes in chosen header]) -AC_MSG_RESULT([($ac_cv_header_stdint)]) -dnl see if int_least and int_fast types are present in _this_ header. -unset ac_cv_type_int_least32_t -unset ac_cv_type_int_fast32_t -AC_CHECK_TYPE(int_least32_t,,,[#include <$ac_cv_header_stdint>]) -AC_CHECK_TYPE(int_fast32_t,,,[#include<$ac_cv_header_stdint>]) -AC_CHECK_TYPE(intmax_t,,,[#include <$ac_cv_header_stdint>]) - -fi # shortcircut to system "stdint.h" -# ------------------ PREPARE VARIABLES ------------------------------ -if test "$GCC" = "yes" ; then -ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1` -else -ac_cv_stdint_message="using $CC" -fi - -AC_MSG_RESULT([make use of $ac_cv_header_stdint in $ac_stdint_h dnl -$ac_cv_stdint_result]) - -dnl ----------------------------------------------------------------- -# ----------------- DONE inttypes.h checks START header ------------- -AC_CONFIG_COMMANDS([$ac_stdint_h],[ -AC_MSG_NOTICE(creating $ac_stdint_h : $_ac_stdint_h) -ac_stdint=$tmp/_stdint.h - -echo "#ifndef" $_ac_stdint_h >$ac_stdint -echo "#define" $_ac_stdint_h "1" >>$ac_stdint -echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint -echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint -echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint -if test "_$ac_cv_header_stdint_t" != "_" ; then -echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint -echo "#include " >>$ac_stdint -echo "#endif" >>$ac_stdint -echo "#endif" >>$ac_stdint -else - -cat >>$ac_stdint < -#else -#include - -/* .................... configured part ............................ */ - -STDINT_EOF - -echo "/* whether we have a C99 compatible stdint header file */" >>$ac_stdint -if test "_$ac_cv_header_stdint_x" != "_" ; then - ac_header="$ac_cv_header_stdint_x" - echo "#define _STDINT_HEADER_INTPTR" '"'"$ac_header"'"' >>$ac_stdint -else - echo "/* #undef _STDINT_HEADER_INTPTR */" >>$ac_stdint -fi - -echo "/* whether we have a C96 compatible inttypes header file */" >>$ac_stdint -if test "_$ac_cv_header_stdint_o" != "_" ; then - ac_header="$ac_cv_header_stdint_o" - echo "#define _STDINT_HEADER_UINT32" '"'"$ac_header"'"' >>$ac_stdint -else - echo "/* #undef _STDINT_HEADER_UINT32 */" >>$ac_stdint -fi - -echo "/* whether we have a BSD compatible inet types header */" >>$ac_stdint -if test "_$ac_cv_header_stdint_u" != "_" ; then - ac_header="$ac_cv_header_stdint_u" - echo "#define _STDINT_HEADER_U_INT32" '"'"$ac_header"'"' >>$ac_stdint -else - echo "/* #undef _STDINT_HEADER_U_INT32 */" >>$ac_stdint -fi - -echo "" >>$ac_stdint - -if test "_$ac_header" != "_" ; then if test "$ac_header" != "stddef.h" ; then - echo "#include <$ac_header>" >>$ac_stdint - echo "" >>$ac_stdint -fi fi - -echo "/* which 64bit typedef has been found */" >>$ac_stdint -if test "$ac_cv_type_uint64_t" = "yes" ; then -echo "#define _STDINT_HAVE_UINT64_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_UINT64_T */" >>$ac_stdint -fi -if test "$ac_cv_type_u_int64_t" = "yes" ; then -echo "#define _STDINT_HAVE_U_INT64_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_U_INT64_T */" >>$ac_stdint -fi -echo "" >>$ac_stdint - -echo "/* which type model has been detected */" >>$ac_stdint -if test "_$ac_cv_char_data_model" != "_" ; then -echo "#define _STDINT_CHAR_MODEL" "$ac_cv_char_data_model" >>$ac_stdint -echo "#define _STDINT_LONG_MODEL" "$ac_cv_long_data_model" >>$ac_stdint -else -echo "/* #undef _STDINT_CHAR_MODEL // skipped */" >>$ac_stdint -echo "/* #undef _STDINT_LONG_MODEL // skipped */" >>$ac_stdint -fi -echo "" >>$ac_stdint - -echo "/* whether int_least types were detected */" >>$ac_stdint -if test "$ac_cv_type_int_least32_t" = "yes"; then -echo "#define _STDINT_HAVE_INT_LEAST32_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_INT_LEAST32_T */" >>$ac_stdint -fi -echo "/* whether int_fast types were detected */" >>$ac_stdint -if test "$ac_cv_type_int_fast32_t" = "yes"; then -echo "#define _STDINT_HAVE_INT_FAST32_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_INT_FAST32_T */" >>$ac_stdint -fi -echo "/* whether intmax_t type was detected */" >>$ac_stdint -if test "$ac_cv_type_intmax_t" = "yes"; then -echo "#define _STDINT_HAVE_INTMAX_T" "1" >>$ac_stdint -else -echo "/* #undef _STDINT_HAVE_INTMAX_T */" >>$ac_stdint -fi -echo "" >>$ac_stdint - - cat >>$ac_stdint <= 199901L -#define _HAVE_UINT64_T -#define _HAVE_LONGLONG_UINT64_T -typedef long long int64_t; -typedef unsigned long long uint64_t; - -#elif !defined __STRICT_ANSI__ -#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ -#define _HAVE_UINT64_T -typedef __int64 int64_t; -typedef unsigned __int64 uint64_t; - -#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__ -/* note: all ELF-systems seem to have loff-support which needs 64-bit */ -#if !defined _NO_LONGLONG -#define _HAVE_UINT64_T -#define _HAVE_LONGLONG_UINT64_T -typedef long long int64_t; -typedef unsigned long long uint64_t; -#endif - -#elif defined __alpha || (defined __mips && defined _ABIN32) -#if !defined _NO_LONGLONG -typedef long int64_t; -typedef unsigned long uint64_t; -#endif - /* compiler/cpu type to define int64_t */ -#endif -#endif -#endif - -#if defined _STDINT_HAVE_U_INT_TYPES -/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */ -typedef u_int8_t uint8_t; -typedef u_int16_t uint16_t; -typedef u_int32_t uint32_t; - -/* glibc compatibility */ -#ifndef __int8_t_defined -#define __int8_t_defined -#endif -#endif - -#ifdef _STDINT_NEED_INT_MODEL_T -/* we must guess all the basic types. Apart from byte-adressable system, */ -/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */ -/* (btw, those nibble-addressable systems are way off, or so we assume) */ - -dnl /* have a look at "64bit and data size neutrality" at */ -dnl /* http://unix.org/version2/whatsnew/login_64bit.html */ -dnl /* (the shorthand "ILP" types always have a "P" part) */ - -#if defined _STDINT_BYTE_MODEL -#if _STDINT_LONG_MODEL+0 == 242 -/* 2:4:2 = IP16 = a normal 16-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned long uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef long int32_t; -#endif -#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444 -/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */ -/* 4:4:4 = ILP32 = a normal 32-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -#endif -#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488 -/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */ -/* 4:8:8 = LP64 = a normal 64-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -#endif -/* this system has a "long" of 64bit */ -#ifndef _HAVE_UINT64_T -#define _HAVE_UINT64_T -typedef unsigned long uint64_t; -typedef long int64_t; -#endif -#elif _STDINT_LONG_MODEL+0 == 448 -/* LLP64 a 64-bit system derived from a 32-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -#endif -/* assuming the system has a "long long" */ -#ifndef _HAVE_UINT64_T -#define _HAVE_UINT64_T -#define _HAVE_LONGLONG_UINT64_T -typedef unsigned long long uint64_t; -typedef long long int64_t; -#endif -#else -#define _STDINT_NO_INT32_T -#endif -#else -#define _STDINT_NO_INT8_T -#define _STDINT_NO_INT32_T -#endif -#endif - -/* - * quote from SunOS-5.8 sys/inttypes.h: - * Use at your own risk. As of February 1996, the committee is squarely - * behind the fixed sized types; the "least" and "fast" types are still being - * discussed. The probability that the "fast" types may be removed before - * the standard is finalized is high enough that they are not currently - * implemented. - */ - -#if defined _STDINT_NEED_INT_LEAST_T -typedef int8_t int_least8_t; -typedef int16_t int_least16_t; -typedef int32_t int_least32_t; -#ifdef _HAVE_UINT64_T -typedef int64_t int_least64_t; -#endif - -typedef uint8_t uint_least8_t; -typedef uint16_t uint_least16_t; -typedef uint32_t uint_least32_t; -#ifdef _HAVE_UINT64_T -typedef uint64_t uint_least64_t; -#endif - /* least types */ -#endif - -#if defined _STDINT_NEED_INT_FAST_T -typedef int8_t int_fast8_t; -typedef int int_fast16_t; -typedef int32_t int_fast32_t; -#ifdef _HAVE_UINT64_T -typedef int64_t int_fast64_t; -#endif - -typedef uint8_t uint_fast8_t; -typedef unsigned uint_fast16_t; -typedef uint32_t uint_fast32_t; -#ifdef _HAVE_UINT64_T -typedef uint64_t uint_fast64_t; -#endif - /* fast types */ -#endif - -#ifdef _STDINT_NEED_INTMAX_T -#ifdef _HAVE_UINT64_T -typedef int64_t intmax_t; -typedef uint64_t uintmax_t; -#else -typedef long intmax_t; -typedef unsigned long uintmax_t; -#endif -#endif - -#ifdef _STDINT_NEED_INTPTR_T -#ifndef __intptr_t_defined -#define __intptr_t_defined -/* we encourage using "long" to store pointer values, never use "int" ! */ -#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 -typedef unsigned int uintptr_t; -typedef int intptr_t; -#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 -typedef unsigned long uintptr_t; -typedef long intptr_t; -#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T -typedef uint64_t uintptr_t; -typedef int64_t intptr_t; -#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */ -typedef unsigned long uintptr_t; -typedef long intptr_t; -#endif -#endif -#endif - -/* The ISO C99 standard specifies that in C++ implementations these - should only be defined if explicitly requested. */ -#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS -#ifndef UINT32_C - -/* Signed. */ -# define INT8_C(c) c -# define INT16_C(c) c -# define INT32_C(c) c -# ifdef _HAVE_LONGLONG_UINT64_T -# define INT64_C(c) c ## L -# else -# define INT64_C(c) c ## LL -# endif - -/* Unsigned. */ -# define UINT8_C(c) c ## U -# define UINT16_C(c) c ## U -# define UINT32_C(c) c ## U -# ifdef _HAVE_LONGLONG_UINT64_T -# define UINT64_C(c) c ## UL -# else -# define UINT64_C(c) c ## ULL -# endif - -/* Maximal type. */ -# ifdef _HAVE_LONGLONG_UINT64_T -# define INTMAX_C(c) c ## L -# define UINTMAX_C(c) c ## UL -# else -# define INTMAX_C(c) c ## LL -# define UINTMAX_C(c) c ## ULL -# endif - - /* literalnumbers */ -#endif -#endif - -/* These limits are merily those of a two complement byte-oriented system */ - -/* Minimum of signed integral types. */ -# define INT8_MIN (-128) -# define INT16_MIN (-32767-1) -# define INT32_MIN (-2147483647-1) -# define INT64_MIN (-__INT64_C(9223372036854775807)-1) -/* Maximum of signed integral types. */ -# define INT8_MAX (127) -# define INT16_MAX (32767) -# define INT32_MAX (2147483647) -# define INT64_MAX (__INT64_C(9223372036854775807)) - -/* Maximum of unsigned integral types. */ -# define UINT8_MAX (255) -# define UINT16_MAX (65535) -# define UINT32_MAX (4294967295U) -# define UINT64_MAX (__UINT64_C(18446744073709551615)) - -/* Minimum of signed integral types having a minimum size. */ -# define INT_LEAST8_MIN INT8_MIN -# define INT_LEAST16_MIN INT16_MIN -# define INT_LEAST32_MIN INT32_MIN -# define INT_LEAST64_MIN INT64_MIN -/* Maximum of signed integral types having a minimum size. */ -# define INT_LEAST8_MAX INT8_MAX -# define INT_LEAST16_MAX INT16_MAX -# define INT_LEAST32_MAX INT32_MAX -# define INT_LEAST64_MAX INT64_MAX - -/* Maximum of unsigned integral types having a minimum size. */ -# define UINT_LEAST8_MAX UINT8_MAX -# define UINT_LEAST16_MAX UINT16_MAX -# define UINT_LEAST32_MAX UINT32_MAX -# define UINT_LEAST64_MAX UINT64_MAX - - /* shortcircuit*/ -#endif - /* once */ -#endif -#endif -STDINT_EOF -fi - if cmp -s $ac_stdint_h $ac_stdint 2>/dev/null; then - AC_MSG_NOTICE([$ac_stdint_h is unchanged]) - else - ac_dir=`AS_DIRNAME(["$ac_stdint_h"])` - AS_MKDIR_P(["$ac_dir"]) - rm -f $ac_stdint_h - mv $ac_stdint $ac_stdint_h - fi -],[# variables for create stdint.h replacement -PACKAGE="$PACKAGE" -VERSION="$VERSION" -ac_stdint_h="$ac_stdint_h" -_ac_stdint_h=AS_TR_CPP(_$PACKAGE-$ac_stdint_h) -ac_cv_stdint_message="$ac_cv_stdint_message" -ac_cv_header_stdint_t="$ac_cv_header_stdint_t" -ac_cv_header_stdint_x="$ac_cv_header_stdint_x" -ac_cv_header_stdint_o="$ac_cv_header_stdint_o" -ac_cv_header_stdint_u="$ac_cv_header_stdint_u" -ac_cv_type_uint64_t="$ac_cv_type_uint64_t" -ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t" -ac_cv_char_data_model="$ac_cv_char_data_model" -ac_cv_long_data_model="$ac_cv_long_data_model" -ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t" -ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t" -ac_cv_type_intmax_t="$ac_cv_type_intmax_t" -]) -]) diff --git a/missing b/missing deleted file mode 100755 index db98974..0000000 --- a/missing +++ /dev/null @@ -1,215 +0,0 @@ -#! /bin/sh -# Common wrapper for a few potentially missing GNU programs. - -scriptversion=2013-10-28.13; # UTC - -# Copyright (C) 1996-2013 Free Software Foundation, Inc. -# Originally written by Fran,cois Pinard , 1996. - -# 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, 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 . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try '$0 --help' for more information" - exit 1 -fi - -case $1 in - - --is-lightweight) - # Used by our autoconf macros to check whether the available missing - # script is modern enough. - exit 0 - ;; - - --run) - # Back-compat with the calling convention used by older automake. - shift - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due -to PROGRAM being missing or too old. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - -Supported PROGRAM values: - aclocal autoconf autoheader autom4te automake makeinfo - bison yacc flex lex help2man - -Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and -'g' are ignored when checking the name. - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: unknown '$1' option" - echo 1>&2 "Try '$0 --help' for more information" - exit 1 - ;; - -esac - -# Run the given program, remember its exit status. -"$@"; st=$? - -# If it succeeded, we are done. -test $st -eq 0 && exit 0 - -# Also exit now if we it failed (or wasn't found), and '--version' was -# passed; such an option is passed most likely to detect whether the -# program is present and works. -case $2 in --version|--help) exit $st;; esac - -# Exit code 63 means version mismatch. This often happens when the user -# tries to use an ancient version of a tool on a file that requires a -# minimum version. -if test $st -eq 63; then - msg="probably too old" -elif test $st -eq 127; then - # Program was missing. - msg="missing on your system" -else - # Program was found and executed, but failed. Give up. - exit $st -fi - -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software - -program_details () -{ - case $1 in - aclocal|automake) - echo "The '$1' program is part of the GNU Automake package:" - echo "<$gnu_software_URL/automake>" - echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/autoconf>" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - autoconf|autom4te|autoheader) - echo "The '$1' program is part of the GNU Autoconf package:" - echo "<$gnu_software_URL/autoconf/>" - echo "It also requires GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - esac -} - -give_advice () -{ - # Normalize program name to check for. - normalized_program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - - printf '%s\n' "'$1' is $msg." - - configure_deps="'configure.ac' or m4 files included by 'configure.ac'" - case $normalized_program in - autoconf*) - echo "You should only need it if you modified 'configure.ac'," - echo "or m4 files included by it." - program_details 'autoconf' - ;; - autoheader*) - echo "You should only need it if you modified 'acconfig.h' or" - echo "$configure_deps." - program_details 'autoheader' - ;; - automake*) - echo "You should only need it if you modified 'Makefile.am' or" - echo "$configure_deps." - program_details 'automake' - ;; - aclocal*) - echo "You should only need it if you modified 'acinclude.m4' or" - echo "$configure_deps." - program_details 'aclocal' - ;; - autom4te*) - echo "You might have modified some maintainer files that require" - echo "the 'autom4te' program to be rebuilt." - program_details 'autom4te' - ;; - bison*|yacc*) - echo "You should only need it if you modified a '.y' file." - echo "You may want to install the GNU Bison package:" - echo "<$gnu_software_URL/bison/>" - ;; - lex*|flex*) - echo "You should only need it if you modified a '.l' file." - echo "You may want to install the Fast Lexical Analyzer package:" - echo "<$flex_URL>" - ;; - help2man*) - echo "You should only need it if you modified a dependency" \ - "of a man page." - echo "You may want to install the GNU Help2man package:" - echo "<$gnu_software_URL/help2man/>" - ;; - makeinfo*) - echo "You should only need it if you modified a '.texi' file, or" - echo "any other file indirectly affecting the aspect of the manual." - echo "You might want to install the Texinfo package:" - echo "<$gnu_software_URL/texinfo/>" - echo "The spurious makeinfo call might also be the consequence of" - echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" - echo "want to install GNU make:" - echo "<$gnu_software_URL/make/>" - ;; - *) - echo "You might have modified some files without having the proper" - echo "tools for further handling them. Check the 'README' file, it" - echo "often tells you about the needed prerequisites for installing" - echo "this package. You may also peek at any GNU archive site, in" - echo "case some other package contains this missing '$1' program." - ;; - esac -} - -give_advice "$1" | sed -e '1s/^/WARNING: /' \ - -e '2,$s/^/ /' >&2 - -# Propagate the correct exit status (expected to be 127 for a program -# not found, 63 for a program that failed due to version mismatch). -exit $st - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/mkinstalldirs b/mkinstalldirs deleted file mode 100755 index 55d537f..0000000 --- a/mkinstalldirs +++ /dev/null @@ -1,162 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy - -scriptversion=2009-04-28.21; # UTC - -# Original author: Noah Friedman -# Created: 1993-05-16 -# Public domain. -# -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' -IFS=" "" $nl" -errstatus=0 -dirmode= - -usage="\ -Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... - -Create each directory DIR (with mode MODE, if specified), including all -leading file name components. - -Report bugs to ." - -# process command line arguments -while test $# -gt 0 ; do - case $1 in - -h | --help | --h*) # -h for help - echo "$usage" - exit $? - ;; - -m) # -m PERM arg - shift - test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } - dirmode=$1 - shift - ;; - --version) - echo "$0 $scriptversion" - exit $? - ;; - --) # stop option processing - shift - break - ;; - -*) # unknown option - echo "$usage" 1>&2 - exit 1 - ;; - *) # first non-opt arg - break - ;; - esac -done - -for file -do - if test -d "$file"; then - shift - else - break - fi -done - -case $# in - 0) exit 0 ;; -esac - -# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and -# mkdir -p a/c at the same time, both will detect that a is missing, -# one will create a, then the other will try to create a and die with -# a "File exists" error. This is a problem when calling mkinstalldirs -# from a parallel make. We use --version in the probe to restrict -# ourselves to GNU mkdir, which is thread-safe. -case $dirmode in - '') - if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - echo "mkdir -p -- $*" - exec mkdir -p -- "$@" - else - # On NextStep and OpenStep, the 'mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because '.' already - # exists. - test -d ./-p && rmdir ./-p - test -d ./--version && rmdir ./--version - fi - ;; - *) - if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && - test ! -d ./--version; then - echo "mkdir -m $dirmode -p -- $*" - exec mkdir -m "$dirmode" -p -- "$@" - else - # Clean up after NextStep and OpenStep mkdir. - for d in ./-m ./-p ./--version "./$dirmode"; - do - test -d $d && rmdir $d - done - fi - ;; -esac - -for file -do - case $file in - /*) pathcomp=/ ;; - *) pathcomp= ;; - esac - oIFS=$IFS - IFS=/ - set fnord $file - shift - IFS=$oIFS - - for d - do - test "x$d" = x && continue - - pathcomp=$pathcomp$d - case $pathcomp in - -*) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - else - if test ! -z "$dirmode"; then - echo "chmod $dirmode $pathcomp" - lasterr= - chmod "$dirmode" "$pathcomp" || lasterr=$? - - if test ! -z "$lasterr"; then - errstatus=$lasterr - fi - fi - fi - fi - - pathcomp=$pathcomp/ - done -done - -exit $errstatus - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/po/LINGUAS b/po/LINGUAS index 904d332..19e4bd6 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -1,6 +1,8 @@ -# List of languages +# List of languages # try to keep this list ordered bg +ca +ca@valencia cs da de @@ -12,6 +14,7 @@ es fi fr gl +he hu it ja diff --git a/po/Makefile.in.in b/po/Makefile.in.in deleted file mode 100644 index 83d8838..0000000 --- a/po/Makefile.in.in +++ /dev/null @@ -1,444 +0,0 @@ -# Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper -# -# This file can be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU General Public -# License but which still want to provide support for the GNU gettext -# functionality. -# Please note that the actual code of GNU gettext is covered by the GNU -# General Public License and is *not* in the public domain. -# -# Origin: gettext-0.18 -GETTEXT_MACRO_VERSION = 0.18 - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ - -SHELL = /bin/sh -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datarootdir = @datarootdir@ -datadir = @datadir@ -localedir = @localedir@ -gettextsrcdir = $(datadir)/gettext/po - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -# We use $(mkdir_p). -# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as -# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, -# @install_sh@ does not start with $(SHELL), so we add it. -# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined -# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake -# versions, $(mkinstalldirs) and $(install_sh) are unused. -mkinstalldirs = $(SHELL) @install_sh@ -d -install_sh = $(SHELL) @install_sh@ -MKDIR_P = @MKDIR_P@ -mkdir_p = @mkdir_p@ - -GMSGFMT_ = @GMSGFMT@ -GMSGFMT_no = @GMSGFMT@ -GMSGFMT_yes = @GMSGFMT_015@ -GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) -MSGFMT_ = @MSGFMT@ -MSGFMT_no = @MSGFMT@ -MSGFMT_yes = @MSGFMT_015@ -MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) -XGETTEXT_ = @XGETTEXT@ -XGETTEXT_no = @XGETTEXT@ -XGETTEXT_yes = @XGETTEXT_015@ -XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) -MSGMERGE = msgmerge -MSGMERGE_UPDATE = @MSGMERGE@ --update -MSGINIT = msginit -MSGCONV = msgconv -MSGFILTER = msgfilter - -POFILES = @POFILES@ -GMOFILES = @GMOFILES@ -UPDATEPOFILES = @UPDATEPOFILES@ -DUMMYPOFILES = @DUMMYPOFILES@ -DISTFILES.common = Makefile.in.in remove-potcdate.sin \ -$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) -DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ -$(POFILES) $(GMOFILES) \ -$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) - -POTFILES = \ - -CATALOGS = @CATALOGS@ - -# Makevars gets inserted here. (Don't remove this line!) - -.SUFFIXES: -.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update - -.po.mo: - @echo "$(MSGFMT) -c -o $@ $<"; \ - $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ - -.po.gmo: - @lang=`echo $* | sed -e 's,.*/,,'`; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ - cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo - -.sin.sed: - sed -e '/^#/d' $< > t-$@ - mv t-$@ $@ - - -all: check-macro-version all-@USE_NLS@ - -all-yes: stamp-po -all-no: - -# Ensure that the gettext macros and this Makefile.in.in are in sync. -check-macro-version: - @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ - || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ - exit 1; \ - } - -# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no -# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because -# we don't want to bother translators with empty POT files). We assume that -# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. -# In this case, stamp-po is a nop (i.e. a phony target). - -# stamp-po is a timestamp denoting the last time at which the CATALOGS have -# been loosely updated. Its purpose is that when a developer or translator -# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, -# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent -# invocations of "make" will do nothing. This timestamp would not be necessary -# if updating the $(CATALOGS) would always touch them; however, the rule for -# $(POFILES) has been designed to not touch files that don't need to be -# changed. -stamp-po: $(srcdir)/$(DOMAIN).pot - test ! -f $(srcdir)/$(DOMAIN).pot || \ - test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) - @test ! -f $(srcdir)/$(DOMAIN).pot || { \ - echo "touch stamp-po" && \ - echo timestamp > stamp-poT && \ - mv stamp-poT stamp-po; \ - } - -# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', -# otherwise packages like GCC can not be built if only parts of the source -# have been downloaded. - -# This target rebuilds $(DOMAIN).pot; it is an expensive operation. -# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. -$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed - if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ - package_gnu='GNU '; \ - else \ - package_gnu=''; \ - fi; \ - if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ - msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ - else \ - msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ - fi; \ - case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ - $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ - --files-from=$(srcdir)/POTFILES.in \ - --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --msgid-bugs-address="$$msgid_bugs_address" \ - ;; \ - *) \ - $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ - --files-from=$(srcdir)/POTFILES.in \ - --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --package-name="$${package_gnu}@PACKAGE@" \ - --package-version='@VERSION@' \ - --msgid-bugs-address="$$msgid_bugs_address" \ - ;; \ - esac - test ! -f $(DOMAIN).po || { \ - if test -f $(srcdir)/$(DOMAIN).pot; then \ - sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ - sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ - if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ - else \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ - fi; \ - else \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ - fi; \ - } - -# This rule has no dependencies: we don't need to update $(DOMAIN).pot at -# every "make" invocation, only create it when it is missing. -# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. -$(srcdir)/$(DOMAIN).pot: - $(MAKE) $(DOMAIN).pot-update - -# This target rebuilds a PO file if $(DOMAIN).pot has changed. -# Note that a PO file is not touched if it doesn't need to be changed. -$(POFILES): $(srcdir)/$(DOMAIN).pot - @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ - if test -f "$(srcdir)/$${lang}.po"; then \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ - cd $(srcdir) \ - && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ - $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ - *) \ - $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ - esac; \ - }; \ - else \ - $(MAKE) $${lang}.po-create; \ - fi - - -install: install-exec install-data -install-exec: -install-data: install-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ - for file in $(DISTFILES.common) Makevars.template; do \ - $(INSTALL_DATA) $(srcdir)/$$file \ - $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - for file in Makevars; do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi -install-data-no: all -install-data-yes: all - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkdir_p) $(DESTDIR)$$dir; \ - if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ - $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ - echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ - for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ - if test -n "$$lc"; then \ - if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ - link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ - mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ - for file in *; do \ - if test -f $$file; then \ - ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ - fi; \ - done); \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - else \ - if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ - :; \ - else \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - fi; \ - fi; \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ - ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ - cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ - fi; \ - done; \ - done - -install-strip: install - -installdirs: installdirs-exec installdirs-data -installdirs-exec: -installdirs-data: installdirs-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ - else \ - : ; \ - fi -installdirs-data-no: -installdirs-data-yes: - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkdir_p) $(DESTDIR)$$dir; \ - for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ - if test -n "$$lc"; then \ - if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ - link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ - mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ - for file in *; do \ - if test -f $$file; then \ - ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ - fi; \ - done); \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - else \ - if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ - :; \ - else \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - fi; \ - fi; \ - fi; \ - done; \ - done - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: uninstall-exec uninstall-data -uninstall-exec: -uninstall-data: uninstall-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - for file in $(DISTFILES.common) Makevars.template; do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi -uninstall-data-no: -uninstall-data-yes: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - done; \ - done - -check: all - -info dvi ps pdf html tags TAGS ctags CTAGS ID: - -mostlyclean: - rm -f remove-potcdate.sed - rm -f stamp-poT - rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po - rm -fr *.o - -clean: mostlyclean - -distclean: clean - rm -f Makefile Makefile.in POTFILES *.mo - -maintainer-clean: distclean - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - rm -f stamp-po $(GMOFILES) - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: - $(MAKE) update-po - @$(MAKE) dist2 -# This is a separate target because 'update-po' must be executed before. -dist2: stamp-po $(DISTFILES) - dists="$(DISTFILES)"; \ - if test "$(PACKAGE)" = "gettext-tools"; then \ - dists="$$dists Makevars.template"; \ - fi; \ - if test -f $(srcdir)/$(DOMAIN).pot; then \ - dists="$$dists $(DOMAIN).pot stamp-po"; \ - fi; \ - if test -f $(srcdir)/ChangeLog; then \ - dists="$$dists ChangeLog"; \ - fi; \ - for i in 0 1 2 3 4 5 6 7 8 9; do \ - if test -f $(srcdir)/ChangeLog.$$i; then \ - dists="$$dists ChangeLog.$$i"; \ - fi; \ - done; \ - if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ - for file in $$dists; do \ - if test -f $$file; then \ - cp -p $$file $(distdir) || exit 1; \ - else \ - cp -p $(srcdir)/$$file $(distdir) || exit 1; \ - fi; \ - done - -update-po: Makefile - $(MAKE) $(DOMAIN).pot-update - test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) - $(MAKE) update-gmo - -# General rule for creating PO files. - -.nop.po-create: - @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ - echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ - exit 1 - -# General rule for updating PO files. - -.nop.po-update: - @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ - if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ - tmpdir=`pwd`; \ - echo "$$lang:"; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ - cd $(srcdir); \ - if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ - $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ - *) \ - $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ - esac; \ - }; then \ - if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ - rm -f $$tmpdir/$$lang.new.po; \ - else \ - if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ - :; \ - else \ - echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ - exit 1; \ - fi; \ - fi; \ - else \ - echo "msgmerge for $$lang.po failed!" 1>&2; \ - rm -f $$tmpdir/$$lang.new.po; \ - fi - -$(DUMMYPOFILES): - -update-gmo: Makefile $(GMOFILES) - @: - -# Recreate Makefile by invoking config.status. Explicitly invoke the shell, -# because execution permission bits may not work on the current file system. -# Use @SHELL@, which is the shell determined by autoconf for the use by its -# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. -Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ - cd $(top_builddir) \ - && @SHELL@ ./config.status $(subdir)/$@.in po-directories - -force: - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/po/Makevars b/po/Makevars index bb5d203..ebff23f 100644 --- a/po/Makevars +++ b/po/Makevars @@ -1,5 +1,5 @@ # Makevars -- snippet for inclusion in po/ -*- Makefile -*- -# Copyright (C) 2016 Olaf Meeuwissen and the SANE developers +# Copyright (C) 2016, 2019 Olaf Meeuwissen and the SANE developers # # This file is part of the SANE build infra-structure. See the # included LICENSE file for license information. @@ -32,14 +32,18 @@ subdir = po # Options to pass to xgettext and other gettext utilities. # Additional options may also by specified using AM_XGETTEXT_OPTION # in `$(top_srcdir)/configure.ac`. See Makefile.in.in and Rules-* -# for variables available -XGETTEXT_OPTIONS = --keyword=SANE_I18N +# for variables available. +XGETTEXT_OPTIONS = $(width_options) +XGETTEXT_OPTIONS += --keyword=SANE_I18N XGETTEXT_OPTIONS += --flag=SANE_I18N:1:no-c-format -MSGMERGE_OPTIONS = --width=75 +MSGMERGE_OPTIONS = $(width_options) +MSGINIT_OPTIONS = $(width_options) +MSGCONV_OPTIONS = $(width_options) +MSGFILTER_OPTIONS = $(width_options) +# All gettext related utilities need to use the same width value in +# order to pass a `make distcheck`. +width_options = --width=75 # Locale categories, in addition to LC_MESSAGES, for which message # catalogs are to be used. EXTRA_LOCALE_CATEGORIES = - -EXTRA_DIST = README -EXTRA_DIST += Rules-automake diff --git a/po/POTFILES.in b/po/POTFILES.in index 9988ff5..08bf126 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -28,7 +28,7 @@ backend/epson2.h backend/fujitsu.c backend/fujitsu.h -backend/genesys.c +backend/genesys.cc backend/gt68xx.c backend/gt68xx_low.h @@ -108,4 +108,3 @@ backend/u12.c backend/umax1220u.c backend/umax.c backend/umax_pp.c - diff --git a/po/README b/po/README new file mode 100644 index 0000000..8461ec0 --- /dev/null +++ b/po/README @@ -0,0 +1,65 @@ +2003-02-06 + +This directory contains translations for the options of the SANE backends. +They are only used if the gettext tools are found by configure. +You will need GNU gettext: xgettext, msgfmt and msgmerge. The translations +are used at least by the frontends XSane and quiteinsane. + + +Users: I want to just read the description of SANE options in my language +------------------------------------------------------------------------- + +Use XSane (>=0.90) or your favourite frontend that supports translations, read +the documentation and set the environment variable LANG to your local setting. +Example for German: export LANG=de_DE ; xsane + + +Translators: I want to update existing translations +--------------------------------------------------- + +* cd po ; make update-po +* Edit lang.po, add/change translations. (with lang = your + language, e.g. "de"). You need an editor that is capable of using the + encoding UTF8 (unicode). +* Add your name to the header. Update the "last translator" field. +* make ; make install + + +Translators: I want to add a new language +----------------------------------------- + +* Add the language code to po/LINGUAS +* automake (if you have not enabled maintainer mode) +* ./configure +* Go ahead with "I want to update existing translations". + + +Backend developers: I want to add internationalization support for my backend +----------------------------------------------------------------------------- + +* Edit the source code of the backend and add SANE_I18N to the appropriate + strings. Mark the descriptions (desc) and titles of options with + SANE_I18N(). Do the same for string lists used in options. The name of + options must NOT be marked. Do NOT mark macros. Especially you don't need + to mark standard option strings like SANE_TITLE_NUM_OPTIONS as this is + already done in saneopts.h. + Examples: s->opt[5].title = SANE_I18N("Enhancement"); + #define STANDARD_FORMAT SANE_I18N("a4 Paper") +* Edit po/POTFILES.in. Add all source code files that contain strings marked + by SANE_I18N() to that file. +* If you want to also add a new language, see above. +* ./configure +* See "Update existing translations" or "Add a new language". + + +Frontend developers: I want to add internationalization support for my frontend +------------------------------------------------------------------------------- + +* The Makefile installs files called "sane-backends.mo" in the directory + "$(prefix)/share/locale/lang/LC_MESSAGES/", e.g.: + "/usr/local/share/locale/de/LC_MESSAGES/sane-backends.mo". For every + language exactly one .mo file is installed. Earlier releases of + sane-backends installed one file per backend, e.g. sane-umax.mo. For + backward compatibility, frontends may want to check for these files, also. +* As mentioned above, GNU gettext is used. +* With other NLS implementations, converting the mo files may work. diff --git a/po/Rules-quot b/po/Rules-quot deleted file mode 100644 index af52487..0000000 --- a/po/Rules-quot +++ /dev/null @@ -1,47 +0,0 @@ -# Special Makefile rules for English message catalogs with quotation marks. - -DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot - -.SUFFIXES: .insert-header .po-update-en - -en@quot.po-create: - $(MAKE) en@quot.po-update -en@boldquot.po-create: - $(MAKE) en@boldquot.po-update - -en@quot.po-update: en@quot.po-update-en -en@boldquot.po-update: en@boldquot.po-update-en - -.insert-header.po-update-en: - @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ - if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ - tmpdir=`pwd`; \ - echo "$$lang:"; \ - ll=`echo $$lang | sed -e 's/@.*//'`; \ - LC_ALL=C; export LC_ALL; \ - cd $(srcdir); \ - if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ - if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ - rm -f $$tmpdir/$$lang.new.po; \ - else \ - if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ - :; \ - else \ - echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ - exit 1; \ - fi; \ - fi; \ - else \ - echo "creation of $$lang.po failed!" 1>&2; \ - rm -f $$tmpdir/$$lang.new.po; \ - fi - -en@quot.insert-header: insert-header.sin - sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header - -en@boldquot.insert-header: insert-header.sin - sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header - -mostlyclean: mostlyclean-quot -mostlyclean-quot: - rm -f *.insert-header diff --git a/po/bg.gmo b/po/bg.gmo deleted file mode 100644 index 755c8ff..0000000 Binary files a/po/bg.gmo and /dev/null differ diff --git a/po/bg.po b/po/bg.po index 0e83697..c00e492 100644 --- a/po/bg.po +++ b/po/bg.po @@ -4,8 +4,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.11\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2007-12-17 22:59+0100\n" "Last-Translator: Pavel Constantinov \n" "Language-Team: <>\n" @@ -25,36 +25,36 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Геометрия" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Повишение" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -82,7 +82,7 @@ msgstr "Наложи монохромно превю" msgid "Bit depth" msgstr "Дълбочина на бита" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -123,7 +123,7 @@ msgstr "Долен десен x" msgid "Bottom-right y" msgstr "Долен десен y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -279,7 +279,7 @@ msgstr "Име на файла" msgid "Halftone pattern size" msgstr "Размер на полутоновия десен" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Полутонов десен" @@ -291,8 +291,8 @@ msgstr "Вържи резолюцията по X и Y" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Негатив" @@ -963,7 +963,7 @@ msgstr "Висящи опции" msgid "Set default values for enhancement controls." msgstr "Нагласи висящи опции за повишителните контроли." -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Калибрация" @@ -1102,7 +1102,7 @@ msgstr "Негатив" msgid "Slides" msgstr "Солидно бяло" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1123,487 +1123,486 @@ msgstr "2х2 нормално" msgid "1/3 normal speed" msgstr "3х3 нормално" -#: backend/canon.c:365 +#: backend/canon.c:360 #, fuzzy, no-c-format msgid "rounded parameter" msgstr "Параметри за мъглявост" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "" -#: backend/canon.c:378 +#: backend/canon.c:373 #, fuzzy, no-c-format msgid "ADF jam" msgstr "ADF" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "" -#: backend/canon.c:394 +#: backend/canon.c:389 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Стойност на гамата" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "" -#: backend/canon.c:412 +#: backend/canon.c:407 #, fuzzy, no-c-format msgid "transparency unit lamp failure" msgstr "Прозрачност" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "" -#: backend/canon.c:522 +#: backend/canon.c:517 #, fuzzy, no-c-format msgid "transparency unit shading error" msgstr "Прозрачност" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, fuzzy, no-c-format msgid "film scanner" msgstr "flatbed скенер" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "flatbed скенер" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Тип екран (film)" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Негативен филм" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, fuzzy, no-c-format msgid "Selects the negative film type" msgstr "Избира картинка за тестване" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, fuzzy, no-c-format msgid "Hardware resolution" msgstr "Резолюция на сканиране" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, fuzzy, no-c-format msgid "Use only hardware resolutions" msgstr "Покажи кратък списък с резолюции" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, fuzzy, no-c-format msgid "Auto focus" msgstr "Авто изваждане" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, fuzzy, no-c-format msgid "Enable/disable auto focus" msgstr "Забрани предв. фокус" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, fuzzy, no-c-format msgid "Manual focus position" msgstr "Фиксирай позиция на фокуса" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Огледален образ" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, fuzzy, no-c-format msgid "Mirror the image horizontally" msgstr "Прави хоризонтален огледален образ." -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, fuzzy, no-c-format msgid "Auto exposure" msgstr "Установи време за експониране" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, fuzzy, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Позволи избор на време за експонация" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Калибрация" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Дефинирай режима на калибрация" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "скенер с sheetfeed" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, fuzzy, no-c-format msgid "Reset the scanner" msgstr "скенер с sheetfeed" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, fuzzy, no-c-format msgid "Eject film after each scan" msgstr "Извади документа след сканиране" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, fuzzy, no-c-format msgid "Document feeder extras" msgstr "Feeder за документи" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, fuzzy, no-c-format msgid "Flatbed only" msgstr "Flatbed" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, fuzzy, no-c-format msgid "Transparency unit" msgstr "Прозрачност" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, fuzzy, no-c-format msgid "Negative film" msgstr "Негативен филм" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Позитивен екран" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, fuzzy, no-c-format msgid "Transparency ratio" msgstr "Прозрачност" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, fuzzy, no-c-format msgid "Select film type" msgstr "Тип екран (film)" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, fuzzy, no-c-format msgid "Select the film type" msgstr "Избира полутона" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbed" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, fuzzy, no-c-format msgid "ADF Duplex" msgstr "Дуплексно" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, fuzzy, no-c-format msgid "Card Front" msgstr "Печат" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Дуплексно" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Червено" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Зелено" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Синьо" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Повишение" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Повишение" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Повишение" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1611,18 +1610,18 @@ msgstr "Повишение" msgid "None" msgstr "Нищо" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1639,13 +1638,13 @@ msgstr "Симплексно" msgid "Duplex" msgstr "Дуплексно" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Прозрачност" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1758,8 +1757,8 @@ msgstr "Мастиленоструйни принтери" msgid "CRT monitors" msgstr "CRT монитори" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "По подразбиране" @@ -1822,51 +1821,50 @@ msgstr "A4" msgid "Max" msgstr "Макс." -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Режим на сканиране" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Избира полутона" -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Dropout" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Избира dropout-а." -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Избира яркостта." -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Острота" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Цветова корекция." -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" @@ -1957,17 +1955,17 @@ msgstr "Добавя към червеното според степента н msgid "Controls blue level" msgstr "Наглася степента на синьо" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Направи огледален образ на изображението" -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Бързо превю" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Автоматична сегментация на площ" @@ -1997,47 +1995,47 @@ msgstr "Определя фактора на увеличение за скен msgid "Quick format" msgstr "Бързо форматиране" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Оборудване по избор" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Извади" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Извади листа от ADF" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Авто изваждане" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Извади документа след сканиране" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, fuzzy, no-c-format msgid "Bay" msgstr "Bay" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, fuzzy, no-c-format msgid "Select bay to scan" msgstr "Избор на bay за сканиране" @@ -2078,7 +2076,7 @@ msgstr "" "След изпращане на команда за сканиране, изчакай, докато бутонът на " "скенера не е натиснат, преди да започнеш самото сканиране." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "" @@ -2108,492 +2106,492 @@ msgstr "" msgid "User defined CCT profile" msgstr "По потребителска дефиниция" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Вкл." -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Изкл." -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Dither" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Разсейка на грешките" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, fuzzy, no-c-format msgid "White" msgstr "Степен на бялото" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, fuzzy, no-c-format msgid "Black" msgstr "Степен на черното" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, fuzzy, no-c-format msgid "Continue" msgstr "Кондиционално" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Хоризонтално" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Хоризонтално" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Хоризонтално" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "8x8 вертикална черта" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "8x8 вертикална черта" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, fuzzy, no-c-format msgid "Front" msgstr "Печат" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Полутон" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Груба калибрация" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Подчертаване на образа" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Наситеност" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "Позволява автоматично определяне на прага за lineart сканиране." -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Огледален образ" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Прави хоризонтален огледален образ." -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Степен на бялото - синьо" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Наглася степента на червено" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Цветно Lineart" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Изглаждане" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Стойност на гамата" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Праг" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Праг" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Редуциране на шума" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Без корекция" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Без корекция" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Режим на захранване" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Обнови опциите" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Без корекция" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Dropout" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Режим на захранване" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2601,65 +2599,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "Изкл. лампа" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Офсет - синьо" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Офсет - зелено" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Офсет - зелено" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Офсет - синьо" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Наглася офсета на синия канал" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2668,519 +2666,529 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Дуплексно" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Обнови опциите" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Редуциране на шума" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, fuzzy, no-c-format msgid "A3 paper" msgstr "От хартия" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, fuzzy, no-c-format msgid "B4 paper" msgstr "От хартия" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, fuzzy, no-c-format msgid "A4 paper" msgstr "От хартия" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, fuzzy, no-c-format msgid "B5 paper" msgstr "От хартия" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Ръчен предв. фокус" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Ръчен предв. фокус" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Резолюция на сканиране" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Степен на бялото" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "Интензитет - червено" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Дуплексно" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, fuzzy, no-c-format msgid "Extras" msgstr "Екстра бързо" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Забрани връщане на главата" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Цветно Lineart" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Калибрация" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Дефинирай режима на калибрация" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Режим калибрация" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, fuzzy, no-c-format msgid "Lamp off time" msgstr "Изкл. лампа" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Груба калибрация" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, fuzzy, no-c-format msgid "File button" msgstr "Изчакай натискане на бутона" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, fuzzy, no-c-format msgid "Power button" msgstr "Изчакай натискане на бутона" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "Изчакай натискане на бутона" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Груба калибрация" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Задължителна калибрация преди сканиране" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Калибриране" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Започване на калибрацията." -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Груба калибрация" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Режим калибрация" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Груба калибрация" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Адаптиране на прозрачността" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Опции за дебъг" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Автоматично загряване" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3189,12 +3197,12 @@ msgstr "" "Загрявай, докато яркостта на лампата е постоянна, вместо да настояваш за " "60 секундно загряване." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Цялостно сканиране" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3203,12 +3211,12 @@ msgstr "" "Сканирай цялата площ за сканиране, вкл. парчето за калибрация. " "Внимавайте. Не избирайте цялата височина. Тази опция е само за тестване." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Груба калибрация" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3219,12 +3227,12 @@ msgstr "" "опция е забранена, има опции за ръчната нагласа на аналоговите параметри " "на фронтенда. Тази опция е разрешена по подразбиране. Само за тестване." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Груба калибрация само за първото сканиране" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3235,12 +3243,12 @@ msgstr "" "скенери и пести време. Ако яркостта на изображението е различна при " "всяко сканиране, забранете тази опция. Само за тестване" -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, fuzzy, no-c-format msgid "Backtrack lines" msgstr "Наложи връщане на главата" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3249,12 +3257,12 @@ msgid "" "omitting lines." msgstr "" -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Стойност на гамата" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Наглася стойността на гамата за всички канали." @@ -3270,7 +3278,7 @@ msgid "Scan Mode Group" msgstr "Режим на сканиране" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Солидно бяло" @@ -3468,160 +3476,235 @@ msgstr "Включва/изключва лампата." msgid "Calibrates for black and white level." msgstr "" -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "ADF" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Солидно бяло" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Негатив" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Цвят 48" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Изкл. лампа" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Изчакай натискане на бутона" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, fuzzy, no-c-format msgid "Waits for button before scanning" msgstr "Загрей лампата преди сканиране" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, no-c-format +msgid "Last button pressed" +msgstr "" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Източник на сканиране" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Цветно Lineart" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, fuzzy, no-c-format msgid "Advanced Options" msgstr "Обнови опциите" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "8х8 грубо" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Име на файла" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "8х8 по избор" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Авто" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, fuzzy, no-c-format msgid "Pass-through" msgstr "Pass-through" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "NTSC сиво" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "XPA сиво" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "По-бавно" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Нормално" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "По-бързо" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Екстра бързо" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2-пикселно" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4-пикселно" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8-пикселно" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Печат" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Тип филм" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "XPA" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Кондиционално" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, fuzzy, no-c-format msgid "Experiment" msgstr "Време за експонация" @@ -3801,8 +3884,8 @@ msgstr "Изключи лампата" msgid "Shut off scanner lamp." msgstr "Изключва лампата на скенера" -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Размер на хартията" @@ -3813,8 +3896,7 @@ msgstr "Размер на хартията" msgid "Automatic separation" msgstr "Автоматично разделение" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 пейзаж" @@ -3829,38 +3911,34 @@ msgstr "" msgid "Long paper mode" msgstr "" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Ръчен предв. фокус" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Ръчен предв. фокус" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Позволи дупрексно (двустранно) сканиране" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Физически размер на хартията в ADF" @@ -3976,199 +4054,199 @@ msgstr "" msgid "Legal" msgstr "" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Полутон" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Полутон" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, fuzzy, no-c-format msgid "diffusion" msgstr "Разсейка на грешките" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Нормално" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Осветление" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "flatbed скенер" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "От хартия" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "По подразбиране" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Изглаждане" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "По-бавно" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Средно" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Червено" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Зелено" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Източник на сканиране" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Режим на захранване" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Наглася режима на захранване" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Забрани предв. фокус" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Забрани предв. фокус" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Наглася режима на захранване" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Наглася режима на захранване" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Автоматичен праг" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4177,95 +4255,95 @@ msgstr "" "Автоматично наглася яркостта, контраста, нивото на бяло, гамата, " "редукцията на шума и подчертаването на образа" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Редуциране на шума" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Намали изолирания точков шум" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Подчертаване на образа" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Наглася подчертаването на образа" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Гама" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Вкл. лампа" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Включва/изключва лампата." -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Прави вертикален огледален образ" -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -4982,17 +5060,17 @@ msgstr "3х3 по избор" msgid "2x2 custom" msgstr "2х2 по избор" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Бърз сив режим" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Сканирай в бърз сив режим (по-ниско качество)." -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -5001,82 +5079,82 @@ msgstr "" "Поискай всички превюта да се правят в най-бърз (нискокачествен) режим. " "Това може да е безцветен режим или режим с ниска резолюция." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, fuzzy, no-c-format msgid "Lamp off time (minutes)" msgstr "Загрей лампата" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, fuzzy, no-c-format msgid "Turn lamp off" msgstr "Включва/изключва лампата" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, fuzzy, no-c-format msgid "Turns the lamp off immediately." msgstr "Превключва лампата на flatbed-а" -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Яркост - червено" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Наглася яркостта на червения канал на полученото изображение." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Яркост - зелено" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Наглася яркостта на зеления канал на полученото изображение." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Яркост - синьо" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Наглася яркостта на синия канал на полученото изображение." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Контраст - червен канал" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Наглася контраста на червения канал на полученото изображение." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Контраст - зелен канал" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Наглася контраста на зеления канал на полученото изображение." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Контраст - син канал" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Наглася контраста на синия канал на полученото изображение." @@ -5120,22 +5198,22 @@ msgstr "" "Загрявай, докато яркостта на лампата е постоянна, вместо да настояваш за " "40 секундно загряване." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Негативен филм" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Негатив" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/boldquot.sed b/po/boldquot.sed deleted file mode 100644 index 4b937aa..0000000 --- a/po/boldquot.sed +++ /dev/null @@ -1,10 +0,0 @@ -s/"\([^"]*\)"/“\1”/g -s/`\([^`']*\)'/‘\1’/g -s/ '\([^`']*\)' / ‘\1’ /g -s/ '\([^`']*\)'$/ ‘\1’/g -s/^'\([^`']*\)' /‘\1’ /g -s/“”/""/g -s/“/“/g -s/”/”/g -s/‘/‘/g -s/’/’/g diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000..52fe10d --- /dev/null +++ b/po/ca.po @@ -0,0 +1,6733 @@ +# Copyright (C) 2018 The SANE developers +# This file is distributed under the same license as the sane-backends package. +# +# Antoni Bella Pérez , 2018. +msgid "" +msgstr "" +"Project-Id-Version: sane-backends 1.0.27git\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"PO-Revision-Date: 2018-09-10 00:37+0100\n" +"Last-Translator: Antoni Bella Pérez \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: include/sane/saneopts.h:154 +#, no-c-format +msgid "Number of options" +msgstr "Nombre d'opcions" + +#: include/sane/saneopts.h:156 +#, no-c-format +msgid "Standard" +msgstr "Estàndard" + +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 +#, no-c-format +msgid "Geometry" +msgstr "Geometria" + +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 +#, no-c-format +msgid "Enhancement" +msgstr "Millora" + +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 +#, no-c-format +msgid "Advanced" +msgstr "Avançat" + +#: include/sane/saneopts.h:160 +#, no-c-format +msgid "Sensors" +msgstr "Sensors" + +#: include/sane/saneopts.h:162 +#, no-c-format +msgid "Preview" +msgstr "Vista prèvia" + +#: include/sane/saneopts.h:163 +#, no-c-format +msgid "Force monochrome preview" +msgstr "Força la vista prèvia en monocrom" + +#: include/sane/saneopts.h:164 +#, no-c-format +msgid "Bit depth" +msgstr "Bits de profunditat" + +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 +#, no-c-format +msgid "Scan mode" +msgstr "Mode d'escaneig" + +#: include/sane/saneopts.h:166 +#, no-c-format +msgid "Scan speed" +msgstr "Velocitat de l'escàner" + +#: include/sane/saneopts.h:167 +#, no-c-format +msgid "Scan source" +msgstr "Font de l'escàner" + +#: include/sane/saneopts.h:168 +#, no-c-format +msgid "Force backtracking" +msgstr "Força el retrocés" + +#: include/sane/saneopts.h:169 +#, no-c-format +msgid "Top-left x" +msgstr "A dalt-esquerra X" + +#: include/sane/saneopts.h:170 +#, no-c-format +msgid "Top-left y" +msgstr "A dalt-esquerra Y" + +#: include/sane/saneopts.h:171 +#, no-c-format +msgid "Bottom-right x" +msgstr "A baix-dreta X" + +#: include/sane/saneopts.h:172 +#, no-c-format +msgid "Bottom-right y" +msgstr "A baix-dreta Y" + +#: include/sane/saneopts.h:173 backend/canon.c:1216 +#: backend/pixma_sane_options.c:300 +#, no-c-format +msgid "Scan resolution" +msgstr "Resolució de l'escàner" + +#: include/sane/saneopts.h:174 +#, no-c-format +msgid "X-resolution" +msgstr "Resolució X" + +#: include/sane/saneopts.h:175 +#, no-c-format +msgid "Y-resolution" +msgstr "Resolució Y" + +#: include/sane/saneopts.h:176 +#, no-c-format +msgid "Page width" +msgstr "Amplada de la pàgina" + +#: include/sane/saneopts.h:177 +#, no-c-format +msgid "Page height" +msgstr "Alçada de la pàgina" + +#: include/sane/saneopts.h:178 +#, no-c-format +msgid "Use custom gamma table" +msgstr "Usa una taula de gamma personalitzada" + +#: include/sane/saneopts.h:179 +#, no-c-format +msgid "Image intensity" +msgstr "Intensitat de la imatge" + +#: include/sane/saneopts.h:180 +#, no-c-format +msgid "Red intensity" +msgstr "Intensitat del vermell" + +#: include/sane/saneopts.h:181 +#, no-c-format +msgid "Green intensity" +msgstr "Intensitat del verd" + +#: include/sane/saneopts.h:182 +#, no-c-format +msgid "Blue intensity" +msgstr "Intensitat del blau" + +#: include/sane/saneopts.h:183 +#, no-c-format +msgid "Brightness" +msgstr "Brillantor" + +#: include/sane/saneopts.h:184 +#, no-c-format +msgid "Contrast" +msgstr "Contrast" + +#: include/sane/saneopts.h:185 +#, no-c-format +msgid "Grain size" +msgstr "Mida del gra" + +#: include/sane/saneopts.h:186 +#, no-c-format +msgid "Halftoning" +msgstr "Semi to" + +#: include/sane/saneopts.h:187 +#, no-c-format +msgid "Black level" +msgstr "Nivell de negre" + +#: include/sane/saneopts.h:188 +#, no-c-format +msgid "White level" +msgstr "Nivell de blanc" + +#: include/sane/saneopts.h:189 +#, no-c-format +msgid "White level for red" +msgstr "Nivell de blanc per al vermell" + +#: include/sane/saneopts.h:190 +#, no-c-format +msgid "White level for green" +msgstr "Nivell de blanc per al verd" + +#: include/sane/saneopts.h:191 +#, no-c-format +msgid "White level for blue" +msgstr "Nivell de blanc per al blau" + +#: include/sane/saneopts.h:192 +#, no-c-format +msgid "Shadow" +msgstr "Ombra" + +#: include/sane/saneopts.h:193 +#, no-c-format +msgid "Shadow for red" +msgstr "Ombra per al vermell" + +#: include/sane/saneopts.h:194 +#, no-c-format +msgid "Shadow for green" +msgstr "Ombra per al verd" + +#: include/sane/saneopts.h:195 +#, no-c-format +msgid "Shadow for blue" +msgstr "Ombra per al blau" + +#: include/sane/saneopts.h:196 +#, no-c-format +msgid "Highlight" +msgstr "Llum intensa" + +#: include/sane/saneopts.h:197 +#, no-c-format +msgid "Highlight for red" +msgstr "Llum intensa per al vermell" + +#: include/sane/saneopts.h:198 +#, no-c-format +msgid "Highlight for green" +msgstr "Llum intensa per al verd" + +#: include/sane/saneopts.h:199 +#, no-c-format +msgid "Highlight for blue" +msgstr "Llum intensa per al blau" + +#: include/sane/saneopts.h:200 +#, no-c-format +msgid "Hue" +msgstr "To" + +#: include/sane/saneopts.h:201 +#, no-c-format +msgid "Saturation" +msgstr "Saturació" + +#: include/sane/saneopts.h:202 +#, no-c-format +msgid "Filename" +msgstr "Nom de fitxer" + +#: include/sane/saneopts.h:203 +#, no-c-format +msgid "Halftone pattern size" +msgstr "Mida del patró per al semi to" + +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#, no-c-format +msgid "Halftone pattern" +msgstr "Patró per al semi to" + +#: include/sane/saneopts.h:205 +#, no-c-format +msgid "Bind X and Y resolution" +msgstr "Enllaça les resolucions X i Y" + +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 +#, no-c-format +msgid "Negative" +msgstr "Negatiu" + +#: include/sane/saneopts.h:207 +#, no-c-format +msgid "Quality calibration" +msgstr "Calibratge de la qualitat" + +#: include/sane/saneopts.h:208 +#, no-c-format +msgid "Double Optical Resolution" +msgstr "Dobla la resolució òptica" + +#: include/sane/saneopts.h:209 +#, no-c-format +msgid "Bind RGB" +msgstr "Enllaça el RGB" + +#: include/sane/saneopts.h:210 backend/sm3840.c:770 +#, no-c-format +msgid "Threshold" +msgstr "Llindar" + +#: include/sane/saneopts.h:211 +#, no-c-format +msgid "Analog gamma correction" +msgstr "Correcció de la gamma analògica" + +#: include/sane/saneopts.h:212 +#, no-c-format +msgid "Analog gamma red" +msgstr "Gamma analògica vermella" + +#: include/sane/saneopts.h:213 +#, no-c-format +msgid "Analog gamma green" +msgstr "Gamma analògica verda" + +#: include/sane/saneopts.h:214 +#, no-c-format +msgid "Analog gamma blue" +msgstr "Gamma analògica blava" + +#: include/sane/saneopts.h:215 +#, no-c-format +msgid "Bind analog gamma" +msgstr "Enllaça amb la gamma analògica" + +#: include/sane/saneopts.h:216 +#, no-c-format +msgid "Warmup lamp" +msgstr "Escalfament de la làmpada" + +#: include/sane/saneopts.h:217 +#, no-c-format +msgid "Cal. exposure-time" +msgstr "Cal. el temps d'exposició" + +#: include/sane/saneopts.h:218 +#, no-c-format +msgid "Cal. exposure-time for red" +msgstr "Cal. el temps d'exposició per al vermell" + +#: include/sane/saneopts.h:219 +#, no-c-format +msgid "Cal. exposure-time for green" +msgstr "Cal. el temps d'exposició per al verd" + +#: include/sane/saneopts.h:221 +#, no-c-format +msgid "Cal. exposure-time for blue" +msgstr "Cal. el temps d'exposició per al blau" + +#: include/sane/saneopts.h:222 +#, no-c-format +msgid "Scan exposure-time" +msgstr "Temps d'exposició de l'escaneig" + +#: include/sane/saneopts.h:223 +#, no-c-format +msgid "Scan exposure-time for red" +msgstr "Temps d'exposició de l'escaneig per al vermell" + +#: include/sane/saneopts.h:224 +#, no-c-format +msgid "Scan exposure-time for green" +msgstr "Temps d'exposició de l'escaneig per al verd" + +#: include/sane/saneopts.h:226 +#, no-c-format +msgid "Scan exposure-time for blue" +msgstr "Temps d'exposició de l'escaneig per al blau" + +#: include/sane/saneopts.h:227 +#, no-c-format +msgid "Set exposure-time" +msgstr "Estableix el temps d'exposició" + +#: include/sane/saneopts.h:228 +#, no-c-format +msgid "Cal. lamp density" +msgstr "Cal. densitat de la llum" + +#: include/sane/saneopts.h:229 +#, no-c-format +msgid "Scan lamp density" +msgstr "Densitat de la llum en escanejar" + +#: include/sane/saneopts.h:230 +#, no-c-format +msgid "Set lamp density" +msgstr "Estableix la densitat de la llum" + +#: include/sane/saneopts.h:231 backend/umax.c:5829 +#, no-c-format +msgid "Lamp off at exit" +msgstr "Apaga la làmpada en sortir" + +#: include/sane/saneopts.h:245 +#, no-c-format +msgid "" +"Read-only option that specifies how many options a specific devices " +"supports." +msgstr "" +"Opció de només lectura que especifica quantes opcions admet un " +"dispositiu específic." + +#: include/sane/saneopts.h:248 +#, no-c-format +msgid "Source, mode and resolution options" +msgstr "Opcions per a la font, mode i resolució" + +#: include/sane/saneopts.h:249 +#, no-c-format +msgid "Scan area and media size options" +msgstr "Opcions per a l'àrea d'escaneig i mida del suport" + +#: include/sane/saneopts.h:250 +#, no-c-format +msgid "Image modification options" +msgstr "Opcions per a la modificació de la imatge" + +#: include/sane/saneopts.h:251 +#, no-c-format +msgid "Hardware specific options" +msgstr "Opcions específiques del maquinari" + +#: include/sane/saneopts.h:252 +#, no-c-format +msgid "Scanner sensors and buttons" +msgstr "Sensors i botons de l'escàner" + +#: include/sane/saneopts.h:255 +#, no-c-format +msgid "Request a preview-quality scan." +msgstr "Sol·licita una vista prèvia de qualitat de l'escaneig." + +#: include/sane/saneopts.h:258 +#, no-c-format +msgid "" +"Request that all previews are done in monochrome mode. On a three-pass " +"scanner this cuts down the number of passes to one and on a one-pass " +"scanner, it reduces the memory requirements and scan-time of the preview." +msgstr "" +"Demana que totes les vistes prèvies es facin en el mode monocrom. En un " +"escàner de tres passos, això reduirà el nombre de passos a un i en un " +"escàner d'un sol pas, això reduirà els requisits de memòria i el temps " +"d'escaneig de la vista prèvia." + +#: include/sane/saneopts.h:264 +#, no-c-format +msgid "" +"Number of bits per sample, typical values are 1 for \"line-art\" and 8 " +"for multibit scans." +msgstr "" +"Nombre de bits per mostra, els valors típics són 1 pels escaneigs amb " +"«art lineal» i 8 pels escaneigs amb «múltiples bits»." + +#: include/sane/saneopts.h:268 +#, no-c-format +msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." +msgstr "" +"Selecciona el mode d'escaneig (p. ex., art lineal, monocrom o color)." + +#: include/sane/saneopts.h:271 +#, no-c-format +msgid "Determines the speed at which the scan proceeds." +msgstr "Determina la velocitat amb la qual procedirà l'escàner." + +#: include/sane/saneopts.h:274 +#, no-c-format +msgid "Selects the scan source (such as a document-feeder)." +msgstr "Selecciona la font de l'escàner (com un alimentador de documents)." + +#: include/sane/saneopts.h:277 +#, no-c-format +msgid "Controls whether backtracking is forced." +msgstr "Controla si es forçarà el retrocés." + +#: include/sane/saneopts.h:280 +#, no-c-format +msgid "Top-left x position of scan area." +msgstr "Posició X a dalt-esquerra de l'àrea d'escaneig." + +#: include/sane/saneopts.h:283 +#, no-c-format +msgid "Top-left y position of scan area." +msgstr "Posició Y a dalt-esquerra de l'àrea d'escaneig." + +#: include/sane/saneopts.h:286 +#, no-c-format +msgid "Bottom-right x position of scan area." +msgstr "Posició X a baix-dreta de l'àrea d'escaneig." + +#: include/sane/saneopts.h:289 +#, no-c-format +msgid "Bottom-right y position of scan area." +msgstr "Posició Y a baix-dreta de l'àrea d'escaneig." + +#: include/sane/saneopts.h:292 +#, no-c-format +msgid "Sets the resolution of the scanned image." +msgstr "Estableix la resolució de la imatge escanejada." + +#: include/sane/saneopts.h:295 +#, no-c-format +msgid "Sets the horizontal resolution of the scanned image." +msgstr "Estableix la resolució horitzontal de la imatge escanejada." + +#: include/sane/saneopts.h:298 +#, no-c-format +msgid "Sets the vertical resolution of the scanned image." +msgstr "Estableix la resolució vertical de la imatge escanejada." + +#: include/sane/saneopts.h:301 +#, no-c-format +msgid "" +"Specifies the width of the media. Required for automatic centering of " +"sheet-fed scans." +msgstr "" +"Especifica l'amplada del suport. Es requereix per a centrar " +"automàticament els escanejos dels fulls." + +#: include/sane/saneopts.h:305 +#, no-c-format +msgid "Specifies the height of the media." +msgstr "Especifica l'alçada del suport." + +#: include/sane/saneopts.h:308 +#, no-c-format +msgid "" +"Determines whether a builtin or a custom gamma-table should be used." +msgstr "" +"Determina si s'haurà d'usar una taula de gamma integrada o " +"personalitzada." + +#: include/sane/saneopts.h:312 +#, no-c-format +msgid "" +"Gamma-correction table. In color mode this option equally affects the " +"red, green, and blue channels simultaneously (i.e., it is an intensity " +"gamma table)." +msgstr "" +"Taula per a la correcció de la gamma. En el mode de color, aquesta opció " +"afectarà igualment els canals vermell, verd i blau alhora (és a dir, " +"aquesta és una taula de gamma per a la intensitat)." + +#: include/sane/saneopts.h:317 +#, no-c-format +msgid "Gamma-correction table for the red band." +msgstr "Taula per a la correcció de la gamma per a la banda vermella." + +#: include/sane/saneopts.h:320 +#, no-c-format +msgid "Gamma-correction table for the green band." +msgstr "Taula per a la correcció de la gamma per a la banda verda." + +#: include/sane/saneopts.h:323 +#, no-c-format +msgid "Gamma-correction table for the blue band." +msgstr "Taula per a la correcció de la gamma per a la banda blava." + +#: include/sane/saneopts.h:326 +#, no-c-format +msgid "Controls the brightness of the acquired image." +msgstr "Controla la brillantor de la imatge obtinguda." + +#: include/sane/saneopts.h:329 +#, no-c-format +msgid "Controls the contrast of the acquired image." +msgstr "Controla el contrast de la imatge obtinguda." + +#: include/sane/saneopts.h:332 +#, no-c-format +msgid "" +"Selects the \"graininess\" of the acquired image. Smaller values result " +"in sharper images." +msgstr "" +"Selecciona el «granulat» de la imatge obtinguda. Els valors més petits " +"resulten en imatges més definides." + +#: include/sane/saneopts.h:336 +#, no-c-format +msgid "Selects whether the acquired image should be halftoned (dithered)." +msgstr "" +"Selecciona si la imatge obtinguda s'haurà de convertir a semi to " +"(tramat)." + +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 +#, no-c-format +msgid "Selects what radiance level should be considered \"black\"." +msgstr "Selecciona quin nivell de radiància s'haurà de considerar «negre»." + +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 +#, no-c-format +msgid "Selects what radiance level should be considered \"white\"." +msgstr "Selecciona quin nivell de radiància s'haurà de considerar «blanc»." + +#: include/sane/saneopts.h:345 +#, no-c-format +msgid "Selects what red radiance level should be considered \"white\"." +msgstr "" +"Selecciona quin nivell de radiància del vermell s'haurà de considerar " +"«blanc»." + +#: include/sane/saneopts.h:348 +#, no-c-format +msgid "Selects what green radiance level should be considered \"white\"." +msgstr "" +"Selecciona quin nivell de radiància del verd s'haurà de considerar " +"«blanc»." + +#: include/sane/saneopts.h:351 +#, no-c-format +msgid "Selects what blue radiance level should be considered \"white\"." +msgstr "" +"Selecciona quin nivell de radiància del blau s'haurà de considerar " +"«blanc»." + +#: include/sane/saneopts.h:356 +#, no-c-format +msgid "Selects what red radiance level should be considered \"black\"." +msgstr "" +"Selecciona quin nivell de radiància del vermell s'haurà de considerar " +"«negre»." + +#: include/sane/saneopts.h:358 +#, no-c-format +msgid "Selects what green radiance level should be considered \"black\"." +msgstr "" +"Selecciona quin nivell de radiància del verd s'haurà de considerar " +"«negre»." + +#: include/sane/saneopts.h:360 +#, no-c-format +msgid "Selects what blue radiance level should be considered \"black\"." +msgstr "" +"Selecciona quin nivell de radiància del blau s'haurà de considerar " +"«negre»." + +#: include/sane/saneopts.h:365 +#, no-c-format +msgid "Selects what red radiance level should be considered \"full red\"." +msgstr "" +"Selecciona quin nivell de radiància del vermell s'haurà de considerar " +"«totalment vermell»." + +#: include/sane/saneopts.h:367 +#, no-c-format +msgid "" +"Selects what green radiance level should be considered \"full green\"." +msgstr "" +"Selecciona quin nivell de radiància del verd s'haurà de considerar " +"«totalment verd»." + +#: include/sane/saneopts.h:370 +#, no-c-format +msgid "" +"Selects what blue radiance level should be considered \"full blue\"." +msgstr "" +"Selecciona quin nivell de radiància del blau s'haurà de considerar " +"«totalment blau»." + +#: include/sane/saneopts.h:374 +#, no-c-format +msgid "Controls the \"hue\" (blue-level) of the acquired image." +msgstr "Controla el «to» (nivell del blau) de la imatge obtinguda." + +#: include/sane/saneopts.h:377 +#, no-c-format +msgid "" +"The saturation level controls the amount of \"blooming\" that occurs " +"when acquiring an image with a camera. Larger values cause more blooming." +msgstr "" +"El nivell de saturació controla la quantitat d'«enlluernament» que es " +"produeix en obtenir una imatge amb una càmera. Els valors més grans " +"causen més enlluernament." + +#: include/sane/saneopts.h:382 +#, no-c-format +msgid "The filename of the image to be loaded." +msgstr "El nom del fitxer de la imatge que es carregarà." + +#: include/sane/saneopts.h:385 +#, no-c-format +msgid "" +"Sets the size of the halftoning (dithering) pattern used when scanning " +"halftoned images." +msgstr "" +"Estableix la mida del patró per al semi to (tramatge) que s'usarà per a " +"escanejar les imatges amb semi to." + +#: include/sane/saneopts.h:389 +#, no-c-format +msgid "" +"Defines the halftoning (dithering) pattern for scanning halftoned images." +msgstr "" +"Defineix el patró per al semi to (tramatge) que s'usarà per a escanejar " +"les imatges amb semi to." + +#: include/sane/saneopts.h:393 +#, no-c-format +msgid "Use same values for X and Y resolution" +msgstr "Usa els mateixos valors per a la resolució X i Y" + +#: include/sane/saneopts.h:395 +#, no-c-format +msgid "Swap black and white" +msgstr "Intercanvia el negre i el blanc" + +#: include/sane/saneopts.h:397 +#, no-c-format +msgid "Do a quality white-calibration" +msgstr "Fes un calibratge de qualitat del blanc" + +#: include/sane/saneopts.h:399 +#, no-c-format +msgid "Use lens that doubles optical resolution" +msgstr "Usa una lent que dobli la resolució òptica" + +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 +#, no-c-format +msgid "In RGB-mode use same values for each color" +msgstr "En el mode RGB, usa els mateixos valors per a cada color" + +#: include/sane/saneopts.h:403 +#, no-c-format +msgid "Select minimum-brightness to get a white point" +msgstr "Selecciona la brillantor mínima per obtenir un punt blanc" + +#: include/sane/saneopts.h:405 +#, no-c-format +msgid "Analog gamma-correction" +msgstr "Correcció de la gamma analògica" + +#: include/sane/saneopts.h:407 +#, no-c-format +msgid "Analog gamma-correction for red" +msgstr "Correcció de la gamma analògica per al vermell" + +#: include/sane/saneopts.h:409 +#, no-c-format +msgid "Analog gamma-correction for green" +msgstr "Correcció de la gamma analògica per al verd" + +#: include/sane/saneopts.h:411 +#, no-c-format +msgid "Analog gamma-correction for blue" +msgstr "Correcció de la gamma analògica per al blau" + +#: include/sane/saneopts.h:415 +#, no-c-format +msgid "Warmup lamp before scanning" +msgstr "Escalfament de la làmpada abans d'escanejar" + +#: include/sane/saneopts.h:417 +#, no-c-format +msgid "Define exposure-time for calibration" +msgstr "Defineix el temps d'exposició per al calibratge" + +#: include/sane/saneopts.h:419 +#, no-c-format +msgid "Define exposure-time for red calibration" +msgstr "Defineix el temps d'exposició per al calibratge del vermell" + +#: include/sane/saneopts.h:421 +#, no-c-format +msgid "Define exposure-time for green calibration" +msgstr "Defineix el temps d'exposició per al calibratge del verd" + +#: include/sane/saneopts.h:423 +#, no-c-format +msgid "Define exposure-time for blue calibration" +msgstr "Defineix el temps d'exposició per al calibratge del blau" + +#: include/sane/saneopts.h:425 +#, no-c-format +msgid "Define exposure-time for scan" +msgstr "Defineix el temps d'exposició per a l'escaneig" + +#: include/sane/saneopts.h:427 +#, no-c-format +msgid "Define exposure-time for red scan" +msgstr "Defineix el temps d'exposició per a l'escaneig del vermell" + +#: include/sane/saneopts.h:429 +#, no-c-format +msgid "Define exposure-time for green scan" +msgstr "Defineix el temps d'exposició per a l'escaneig del verd" + +#: include/sane/saneopts.h:431 +#, no-c-format +msgid "Define exposure-time for blue scan" +msgstr "Defineix el temps d'exposició per a l'escaneig del blau" + +#: include/sane/saneopts.h:433 +#, no-c-format +msgid "Enable selection of exposure-time" +msgstr "Habilita la selecció del temps d'exposició" + +#: include/sane/saneopts.h:435 +#, no-c-format +msgid "Define lamp density for calibration" +msgstr "Defineix la densitat de la llum per al calibratge" + +#: include/sane/saneopts.h:437 +#, no-c-format +msgid "Define lamp density for scan" +msgstr "Defineix la densitat de la llum per a l'escaneig" + +#: include/sane/saneopts.h:439 +#, no-c-format +msgid "Enable selection of lamp density" +msgstr "Habilita la selecció de la densitat de la llum" + +#: include/sane/saneopts.h:441 backend/umax.c:5830 +#, no-c-format +msgid "Turn off lamp when program exits" +msgstr "Apaga la làmpada quan se surti del programa" + +#: include/sane/saneopts.h:444 +#, no-c-format +msgid "Scan button" +msgstr "Botó de l'escàner" + +#: include/sane/saneopts.h:445 +#, no-c-format +msgid "Email button" +msgstr "Botó del correu electrònic" + +#: include/sane/saneopts.h:446 +#, no-c-format +msgid "Fax button" +msgstr "Botó del fax" + +#: include/sane/saneopts.h:447 +#, no-c-format +msgid "Copy button" +msgstr "Botó per a copiar" + +#: include/sane/saneopts.h:448 +#, no-c-format +msgid "PDF button" +msgstr "Botó de PDF" + +#: include/sane/saneopts.h:449 +#, no-c-format +msgid "Cancel button" +msgstr "Botó per a cancel·lar" + +#: include/sane/saneopts.h:450 +#, no-c-format +msgid "Page loaded" +msgstr "S'ha carregat la pàgina" + +#: include/sane/saneopts.h:451 +#, no-c-format +msgid "Cover open" +msgstr "La tapa es troba oberta" + +#: include/sane/saneopts.h:454 +#, no-c-format +msgid "Color" +msgstr "Color" + +#: include/sane/saneopts.h:455 +#, no-c-format +msgid "Color Lineart" +msgstr "Color per a l'art lineal" + +#: include/sane/saneopts.h:456 +#, no-c-format +msgid "Color Halftone" +msgstr "Color per al semi to" + +#: include/sane/saneopts.h:457 +#, no-c-format +msgid "Gray" +msgstr "Gris" + +#: include/sane/saneopts.h:458 +#, no-c-format +msgid "Halftone" +msgstr "Semi to" + +#: include/sane/saneopts.h:459 +#, no-c-format +msgid "Lineart" +msgstr "Art lineal" + +#: backend/sane_strstatus.c:59 +#, no-c-format +msgid "Success" +msgstr "Correcte" + +#: backend/sane_strstatus.c:62 +#, no-c-format +msgid "Operation not supported" +msgstr "Operació no admesa" + +#: backend/sane_strstatus.c:65 +#, no-c-format +msgid "Operation was cancelled" +msgstr "L'operació ha estat cancel·lada" + +#: backend/sane_strstatus.c:68 +#, no-c-format +msgid "Device busy" +msgstr "Dispositiu ocupat" + +#: backend/sane_strstatus.c:71 +#, no-c-format +msgid "Invalid argument" +msgstr "Argument no vàlid" + +#: backend/sane_strstatus.c:74 +#, no-c-format +msgid "End of file reached" +msgstr "S'ha arribat al final del fitxer" + +#: backend/sane_strstatus.c:77 +#, no-c-format +msgid "Document feeder jammed" +msgstr "S'ha embussat l'alimentador de documents" + +#: backend/sane_strstatus.c:80 +#, no-c-format +msgid "Document feeder out of documents" +msgstr "L'alimentador de documents està buit" + +#: backend/sane_strstatus.c:83 +#, no-c-format +msgid "Scanner cover is open" +msgstr "La tapa de l'escàner està oberta" + +#: backend/sane_strstatus.c:86 +#, no-c-format +msgid "Error during device I/O" +msgstr "Error durant l'E/S amb el dispositiu" + +#: backend/sane_strstatus.c:89 +#, no-c-format +msgid "Out of memory" +msgstr "Memòria exhaurida" + +#: backend/sane_strstatus.c:92 +#, no-c-format +msgid "Access to resource has been denied" +msgstr "S'ha denegat l'accés al recurs" + +#: backend/sane_strstatus.c:96 +#, no-c-format +msgid "Lamp not ready, please retry" +msgstr "La làmpada no està preparada. Torneu-ho a provar" + +#: backend/sane_strstatus.c:101 +#, no-c-format +msgid "Scanner mechanism locked for transport" +msgstr "El mecanisme de l'escàner està bloquejat per al transport" + +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 +#, no-c-format +msgid "Defaults" +msgstr "Predeterminats" + +#: backend/artec_eplus48u.c:2876 +#, no-c-format +msgid "Set default values for enhancement controls." +msgstr "Estableix els valors predeterminats per als controls de millora." + +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 +#, no-c-format +msgid "Calibration" +msgstr "Calibratge" + +#: backend/artec_eplus48u.c:2941 +#, no-c-format +msgid "Calibrate before next scan" +msgstr "Calibra abans del següent escaneig" + +#: backend/artec_eplus48u.c:2943 +#, no-c-format +msgid "" +"If enabled, the device will be calibrated before the next scan. " +"Otherwise, calibration is performed only before the first start." +msgstr "" +"Si està habilitada, el dispositiu serà calibrat abans del següent " +"escaneig. En cas contrari, el calibratge només es realitzarà abans del " +"primer inici." + +#: backend/artec_eplus48u.c:2954 +#, no-c-format +msgid "Only perform shading-correction" +msgstr "Realitza només la correcció de les ombres" + +#: backend/artec_eplus48u.c:2956 +#, no-c-format +msgid "" +"If enabled, only the shading correction is performed during calibration. " +"The default values for gain, offset and exposure time, either build-in " +"or from the configuration file, are used." +msgstr "" +"Si està habilitada, només es realitzarà la correcció de les ombres " +"durant el calibratge. Es faran servir els valors predeterminats per al " +"guany, desplaçament i temps d'exposició, sigui els integrats o des del " +"fitxer de configuració." + +#: backend/artec_eplus48u.c:2967 +#, no-c-format +msgid "Button state" +msgstr "Botó per a l'estat" + +#: backend/avision.h:778 +#, no-c-format +msgid "Number of the frame to scan" +msgstr "Número del fotograma a escanejar" + +#: backend/avision.h:779 +#, no-c-format +msgid "Selects the number of the frame to scan" +msgstr "Selecciona el número del fotograma a escanejar" + +#: backend/avision.h:782 +#, no-c-format +msgid "Duplex scan" +msgstr "Escaneja a dues cares" + +#: backend/avision.h:783 +#, no-c-format +msgid "" +"Duplex scan provide a scan of the front and back side of the document" +msgstr "" +"L'escanejat de les dues cares proporciona un escanejat de l'anvers i el " +"revers del document" + +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Calibratge de l'escàner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Força el calibratge de l'escàner abans de l'escaneig" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Escaneja en escala de grisos" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Fes un escaneig en escala de grisos en lloc d'en color" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Guany analògic" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Augmenta o disminueix el guany analògic per a la matriu del CCD" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Correcció de la gamma" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "" +"Selecciona la corba de transferència per a la correcció de la gamma" + +#: backend/canon.c:149 backend/canon-sane.c:1318 +#, no-c-format +msgid "Raw" +msgstr "En brut" + +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 +#, no-c-format +msgid "Fine color" +msgstr "Color fi" + +#: backend/canon.c:169 +#, no-c-format +msgid "No transparency correction" +msgstr "Sense correcció de la transparència" + +#: backend/canon.c:170 backend/canon-sane.c:680 +#, no-c-format +msgid "Correction according to film type" +msgstr "Correcció d'acord amb el tipus de pel·lícula" + +#: backend/canon.c:171 backend/canon-sane.c:674 +#, no-c-format +msgid "Correction according to transparency ratio" +msgstr "Correcció d'acord amb la relació de transparència" + +#: backend/canon.c:176 backend/canon-sane.c:776 +#, no-c-format +msgid "Negatives" +msgstr "Negatius" + +#: backend/canon.c:176 +#, no-c-format +msgid "Slides" +msgstr "Diapositives" + +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 +#, no-c-format +msgid "Automatic" +msgstr "Automàtic" + +#: backend/canon.c:186 +#, no-c-format +msgid "Normal speed" +msgstr "Velocitat normal" + +#: backend/canon.c:187 +#, no-c-format +msgid "1/2 normal speed" +msgstr "1/2 de la velocitat normal" + +#: backend/canon.c:187 +#, no-c-format +msgid "1/3 normal speed" +msgstr "1/3 de la velocitat normal" + +#: backend/canon.c:360 +#, no-c-format +msgid "rounded parameter" +msgstr "Paràmetre arrodonit" + +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 +#, no-c-format +msgid "unknown" +msgstr "Desconegut" + +#: backend/canon.c:373 +#, no-c-format +msgid "ADF jam" +msgstr "S'ha embussat l'ADF" + +#: backend/canon.c:376 +#, no-c-format +msgid "ADF cover open" +msgstr "La tapa de l'ADF es troba oberta" + +#: backend/canon.c:389 +#, no-c-format +msgid "lamp failure" +msgstr "Fallada de la làmpada" + +#: backend/canon.c:392 +#, no-c-format +msgid "scan head positioning error" +msgstr "Error en el posicionament del capçal d'escaneig" + +#: backend/canon.c:395 +#, no-c-format +msgid "CPU check error" +msgstr "Error en comprobar la CPU" + +#: backend/canon.c:398 +#, no-c-format +msgid "RAM check error" +msgstr "Error en comprobar la RAM" + +#: backend/canon.c:401 +#, no-c-format +msgid "ROM check error" +msgstr "Error en comprobar la ROM" + +#: backend/canon.c:404 +#, no-c-format +msgid "hardware check error" +msgstr "Error en comprobar el maquinari" + +#: backend/canon.c:407 +#, no-c-format +msgid "transparency unit lamp failure" +msgstr "Fallada de la làmpada amb la unitat de transparència" + +#: backend/canon.c:410 +#, no-c-format +msgid "transparency unit scan head positioning failure" +msgstr "" +"Fallada en el posicionament del capçal d'escaneig amb la unitat de " +"transparència" + +#: backend/canon.c:424 +#, no-c-format +msgid "parameter list length error" +msgstr "Error en la longitud de la llista de paràmetres" + +#: backend/canon.c:428 +#, no-c-format +msgid "invalid command operation code" +msgstr "Codi no vàlid per a l'ordre d'operació" + +#: backend/canon.c:432 +#, no-c-format +msgid "invalid field in CDB" +msgstr "Camp no vàlid al CDB" + +#: backend/canon.c:436 +#, no-c-format +msgid "unsupported LUN" +msgstr "LUN no admès" + +#: backend/canon.c:440 +#, no-c-format +msgid "invalid field in parameter list" +msgstr "Camp no vàlid a la llista de paràmetres" + +#: backend/canon.c:444 +#, no-c-format +msgid "command sequence error" +msgstr "Error en la seqüència d'ordres" + +#: backend/canon.c:448 +#, no-c-format +msgid "too many windows specified" +msgstr "S'han especificat massa finestres" + +#: backend/canon.c:452 +#, no-c-format +msgid "medium not present" +msgstr "No es troba el suport" + +#: backend/canon.c:456 +#, no-c-format +msgid "invalid bit IDENTIFY message" +msgstr "Missatge «IDENTIFY» del bit no vàlid" + +#: backend/canon.c:460 +#, no-c-format +msgid "option not connect" +msgstr "L'opció no connectar" + +#: backend/canon.c:474 +#, no-c-format +msgid "power on reset / bus device reset" +msgstr "Reinicia l'encesa / reinicia el bus del dispositiu" + +#: backend/canon.c:478 +#, no-c-format +msgid "parameter changed by another initiator" +msgstr "Paràmetre canviat per un altre iniciador" + +#: backend/canon.c:492 +#, no-c-format +msgid "no additional sense information" +msgstr "Sense informació addicional" + +#: backend/canon.c:496 +#, no-c-format +msgid "reselect failure" +msgstr "Fallada en tornar a seleccionar" + +#: backend/canon.c:500 +#, no-c-format +msgid "SCSI parity error" +msgstr "Error de paritat SCSI" + +#: backend/canon.c:504 +#, no-c-format +msgid "initiator detected error message received" +msgstr "L'iniciador ha detectat la recepció d'un missatge d'error" + +#: backend/canon.c:509 +#, no-c-format +msgid "invalid message error" +msgstr "Error de missatge no vàlid" + +#: backend/canon.c:513 +#, no-c-format +msgid "timeout error" +msgstr "Error de caducitat" + +#: backend/canon.c:517 +#, no-c-format +msgid "transparency unit shading error" +msgstr "Error de l'ombreig a la unitat de transparència" + +#: backend/canon.c:521 +#, no-c-format +msgid "lamp not stabilized" +msgstr "La llum no està estabilitzada" + +#: backend/canon.c:847 backend/canon.c:862 +#, no-c-format +msgid "film scanner" +msgstr "Escàner de pel·lícula" + +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 +#: backend/u12.c:851 +#, no-c-format +msgid "flatbed scanner" +msgstr "Escàner de superfície plana" + +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 +#, no-c-format +msgid "Film type" +msgstr "Tipus de pel·lícula" + +#: backend/canon.c:1179 +#, no-c-format +msgid "Selects the film type, i.e. negatives or slides" +msgstr "" +"Selecciona el tipus de pel·lícula, p. ex., en negatiu o diapositiva" + +#: backend/canon.c:1191 +#, no-c-format +msgid "Negative film type" +msgstr "Tipus de pel·lícula en negatiu" + +#: backend/canon.c:1192 +#, no-c-format +msgid "Selects the negative film type" +msgstr "Selecciona el tipus de pel·lícula en negatiu" + +#: backend/canon.c:1231 +#, no-c-format +msgid "Hardware resolution" +msgstr "Resolució del maquinari" + +#: backend/canon.c:1232 +#, no-c-format +msgid "Use only hardware resolutions" +msgstr "Usa només les resolucions del maquinari" + +#: backend/canon.c:1313 +#, no-c-format +msgid "Focus" +msgstr "Enfocament" + +#: backend/canon.c:1323 +#, no-c-format +msgid "Auto focus" +msgstr "Enfocament automàtic" + +#: backend/canon.c:1324 +#, no-c-format +msgid "Enable/disable auto focus" +msgstr "Habilita/Inhabilita l'enfocament automàtic" + +#: backend/canon.c:1331 +#, no-c-format +msgid "Auto focus only once" +msgstr "Enfocament automàtic només una vegada" + +#: backend/canon.c:1332 +#, no-c-format +msgid "Do auto focus only once between ejects" +msgstr "Fes l'enfocament automàtic només una vegada entre les expulsions" + +#: backend/canon.c:1340 +#, no-c-format +msgid "Manual focus position" +msgstr "Posició manual de l'enfocament" + +#: backend/canon.c:1341 +#, no-c-format +msgid "Set the optical system's focus position by hand (default: 128)." +msgstr "" +"Estableix la posició manual per a l'enfocament del sistema òptic " +"(predeterminat: 128)." + +#: backend/canon.c:1351 +#, no-c-format +msgid "Scan margins" +msgstr "Escaneja els marges" + +#: backend/canon.c:1398 +#, no-c-format +msgid "Extra color adjustments" +msgstr "Ajustaments addicionals per al color" + +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 +#, no-c-format +msgid "Mirror image" +msgstr "Emmiralla la imatge" + +#: backend/canon.c:1534 +#, no-c-format +msgid "Mirror the image horizontally" +msgstr "Emmiralla horitzontalment la imatge" + +#: backend/canon.c:1603 +#, no-c-format +msgid "Auto exposure" +msgstr "Exposició automàtica" + +#: backend/canon.c:1604 +#, no-c-format +msgid "Enable/disable the auto exposure feature" +msgstr "Habilita/Inhabilita la característica per a l'exposició automàtica" + +#: backend/canon.c:1620 +#, no-c-format +msgid "Calibration now" +msgstr "Calibratge ara" + +#: backend/canon.c:1621 +#, no-c-format +msgid "Execute calibration *now*" +msgstr "Executa el calibratge *ara*" + +#: backend/canon.c:1631 +#, no-c-format +msgid "Self diagnosis" +msgstr "Autodiagnòstic" + +#: backend/canon.c:1632 +#, no-c-format +msgid "Perform scanner self diagnosis" +msgstr "Realitza un autodiagnòstic de l'escàner" + +#: backend/canon.c:1643 +#, no-c-format +msgid "Reset scanner" +msgstr "Reinicia l'escàner" + +#: backend/canon.c:1644 +#, no-c-format +msgid "Reset the scanner" +msgstr "Reinicia l'escàner" + +#: backend/canon.c:1654 +#, no-c-format +msgid "Medium handling" +msgstr "Maneja el suport" + +#: backend/canon.c:1663 +#, no-c-format +msgid "Eject film after each scan" +msgstr "Expulsa la pel·lícula després de cada escaneig" + +#: backend/canon.c:1664 +#, no-c-format +msgid "Automatically eject the film from the device after each scan" +msgstr "" +"Expulsa automàticament la pel·lícula del dispositiu després de cada " +"escaneig" + +#: backend/canon.c:1675 +#, no-c-format +msgid "Eject film before exit" +msgstr "Expulsa la pel·lícula abans de sortir" + +#: backend/canon.c:1676 +#, no-c-format +msgid "" +"Automatically eject the film from the device before exiting the program" +msgstr "" +"Expulsa automàticament la pel·lícula del dispositiu abans de sortir del " +"programa" + +#: backend/canon.c:1685 +#, no-c-format +msgid "Eject film now" +msgstr "Expulsa la pel·lícula ara" + +#: backend/canon.c:1686 +#, no-c-format +msgid "Eject the film *now*" +msgstr "Expulsa la pel·lícula *ara*" + +#: backend/canon.c:1695 +#, no-c-format +msgid "Document feeder extras" +msgstr "Extres de l'alimentador de documents" + +#: backend/canon.c:1702 +#, no-c-format +msgid "Flatbed only" +msgstr "Només de superfície plana" + +#: backend/canon.c:1703 +#, no-c-format +msgid "Disable auto document feeder and use flatbed only" +msgstr "" +"Inhabilita l'alimentador automàtic de documents i només usa la " +"superfície plana" + +#: backend/canon.c:1713 backend/canon.c:1723 +#, no-c-format +msgid "Transparency unit" +msgstr "Unitat per a la transparència" + +#: backend/canon.c:1724 +#, no-c-format +msgid "Switch on/off the transparency unit (FAU, film adapter unit)" +msgstr "" +"Canvia a activa/desactiva la unitat de transparència (FAU, unitat " +"adaptadora de pel·lícula)" + +#: backend/canon.c:1734 +#, no-c-format +msgid "Negative film" +msgstr "Pel·lícula en negatiu" + +#: backend/canon.c:1735 +#, no-c-format +msgid "Positive or negative film" +msgstr "Pel·lícula en positiu o negatiu" + +#: backend/canon.c:1744 +#, no-c-format +msgid "Density control" +msgstr "Control per a la densitat" + +#: backend/canon.c:1745 +#, no-c-format +msgid "Set density control mode" +msgstr "Estableix el mode de control per a la densitat" + +#: backend/canon.c:1756 +#, no-c-format +msgid "Transparency ratio" +msgstr "Relació de transparència" + +#: backend/canon.c:1770 +#, no-c-format +msgid "Select film type" +msgstr "Selecciona el tipus de pel·lícula" + +#: backend/canon.c:1771 +#, no-c-format +msgid "Select the film type" +msgstr "Selecciona el tipus de pel·lícula" + +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#, no-c-format +msgid "Flatbed" +msgstr "De superfície plana" + +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/kodak.c:140 +#, no-c-format +msgid "ADF Front" +msgstr "ADF per a l'anvers" + +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/kodak.c:141 +#, no-c-format +msgid "ADF Back" +msgstr "ADF per al revers" + +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#, no-c-format +msgid "ADF Duplex" +msgstr "ADF per a les dues cares" + +#: backend/canon_dr.c:415 +#, no-c-format +msgid "Card Front" +msgstr "Targeta per a l'anvers" + +#: backend/canon_dr.c:416 +#, no-c-format +msgid "Card Back" +msgstr "Targeta per al revers" + +#: backend/canon_dr.c:417 +#, no-c-format +msgid "Card Duplex" +msgstr "Targeta per a les dues cares" + +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#, no-c-format +msgid "Red" +msgstr "Vermell" + +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#, no-c-format +msgid "Green" +msgstr "Verd" + +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#, no-c-format +msgid "Blue" +msgstr "Blau" + +#: backend/canon_dr.c:427 +#, no-c-format +msgid "Enhance Red" +msgstr "Vermell realçat" + +#: backend/canon_dr.c:428 +#, no-c-format +msgid "Enhance Green" +msgstr "Verd realçat" + +#: backend/canon_dr.c:429 +#, no-c-format +msgid "Enhance Blue" +msgstr "Blau realçat" + +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 +#, no-c-format +msgid "None" +msgstr "Cap" + +#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#, no-c-format +msgid "JPEG" +msgstr "JPEG" + +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "El percentatge per a saltar el blanc del programari" + +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" +"Sol·licita al controlador que descarti les pàgines amb un percentatge " +"baix de píxels foscos" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#, no-c-format +msgid "Simplex" +msgstr "Una cara" + +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 +#, no-c-format +msgid "Duplex" +msgstr "Dues cares" + +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#, no-c-format +msgid "Transparency Unit" +msgstr "Unitat per a la transparència" + +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 +#: backend/umax.c:183 +#, no-c-format +msgid "Automatic Document Feeder" +msgstr "Alimentador automàtic de documents" + +#: backend/epson.c:523 backend/epson2.c:134 +#, no-c-format +msgid "Positive Film" +msgstr "Pel·lícula en positiu" + +#: backend/epson.c:524 backend/epson2.c:135 +#, no-c-format +msgid "Negative Film" +msgstr "Pel·lícula en negatiu" + +#: backend/epson.c:529 backend/epson2.c:142 +#, no-c-format +msgid "Focus on glass" +msgstr "Enfocament sobre el vidre" + +#: backend/epson.c:530 backend/epson2.c:143 +#, no-c-format +msgid "Focus 2.5mm above glass" +msgstr "Enfocament de 2,5 mm per sobre del vidre" + +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 +#, no-c-format +msgid "Halftone A (Hard Tone)" +msgstr "Semi to A (to dur)" + +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 +#, no-c-format +msgid "Halftone B (Soft Tone)" +msgstr "Semi to B (to suau)" + +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 +#, no-c-format +msgid "Halftone C (Net Screen)" +msgstr "Semi to C (matisat)" + +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 +#, no-c-format +msgid "Dither A (4x4 Bayer)" +msgstr "Trama A (bayer 4x4)" + +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 +#, no-c-format +msgid "Dither B (4x4 Spiral)" +msgstr "Trama B (espiral 4x4)" + +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 +#, no-c-format +msgid "Dither C (4x4 Net Screen)" +msgstr "Trama C (matisat 4x4)" + +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 +#, no-c-format +msgid "Dither D (8x4 Net Screen)" +msgstr "Trama D (matisat 8x4)" + +#: backend/epson.c:584 backend/epson2.c:193 +#, no-c-format +msgid "Text Enhanced Technology" +msgstr "Tecnologia per a la millora del text" + +#: backend/epson.c:585 backend/epson2.c:194 +#, no-c-format +msgid "Download pattern A" +msgstr "Descarrega el patró A" + +#: backend/epson.c:586 backend/epson2.c:195 +#, no-c-format +msgid "Download pattern B" +msgstr "Descarrega el patró B" + +#: backend/epson.c:631 +#, no-c-format +msgid "No Correction" +msgstr "Sense correcció" + +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 +#, no-c-format +msgid "User defined" +msgstr "Definit per l'usuari" + +#: backend/epson.c:633 +#, no-c-format +msgid "Impact-dot printers" +msgstr "Impressores matricials" + +#: backend/epson.c:634 +#, no-c-format +msgid "Thermal printers" +msgstr "Impressores tèrmiques" + +#: backend/epson.c:635 +#, no-c-format +msgid "Ink-jet printers" +msgstr "Impressores d'injecció de tinta" + +#: backend/epson.c:636 +#, no-c-format +msgid "CRT monitors" +msgstr "Monitors CRT" + +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 +#, no-c-format +msgid "Default" +msgstr "Predeterminat" + +#: backend/epson.c:658 backend/epson2.c:256 +#, no-c-format +msgid "High density printing" +msgstr "Impressió d'alta densitat" + +#: backend/epson.c:659 backend/epson2.c:257 +#, no-c-format +msgid "Low density printing" +msgstr "Impressió de baixa densitat" + +#: backend/epson.c:660 backend/epson2.c:258 +#, no-c-format +msgid "High contrast printing" +msgstr "Impressió d'alt contrast" + +#: backend/epson.c:678 backend/epson2.c:276 +#, no-c-format +msgid "User defined (Gamma=1.0)" +msgstr "Definit per l'usuari (gamma=1.0)" + +#: backend/epson.c:679 backend/epson2.c:277 +#, no-c-format +msgid "User defined (Gamma=1.8)" +msgstr "Definit per l'usuari (gamma=1.8)" + +#: backend/epson.c:757 +#, no-c-format +msgid "CD" +msgstr "CD" + +#: backend/epson.c:758 +#, no-c-format +msgid "A5 portrait" +msgstr "A5 retrat" + +#: backend/epson.c:759 +#, no-c-format +msgid "A5 landscape" +msgstr "A5 apaïsat" + +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 +#, no-c-format +msgid "Letter" +msgstr "Carta" + +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 +#, no-c-format +msgid "A4" +msgstr "A4" + +#: backend/epson.c:762 +#, no-c-format +msgid "Max" +msgstr "Màx" + +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 +#, no-c-format +msgid "Scan Mode" +msgstr "Mode d'escaneig" + +#: backend/epson.c:2845 backend/epson2.c:1011 +#, no-c-format +msgid "Selects the halftone." +msgstr "Selecciona el semi to." + +#: backend/epson.c:2867 backend/epson2.c:1032 +#, no-c-format +msgid "Dropout" +msgstr "Exclusió" + +#: backend/epson.c:2868 backend/epson2.c:1033 +#, no-c-format +msgid "Selects the dropout." +msgstr "Selecciona el que s'exclourà." + +#: backend/epson.c:2880 backend/epson2.c:1045 +#, no-c-format +msgid "Selects the brightness." +msgstr "Selecciona la brillantor." + +#: backend/epson.c:2895 backend/epson2.c:1058 +#, no-c-format +msgid "Sharpness" +msgstr "Agudesa" + +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 +#, no-c-format +msgid "Color correction" +msgstr "Correcció del color" + +#: backend/epson.c:3034 backend/epson2.c:1176 +#, no-c-format +msgid "Sets the color correction table for the selected output device." +msgstr "" +"Estableix la taula de correcció del color per al dispositiu de sortida " +"seleccionat." + +#: backend/epson.c:3075 +#, no-c-format +msgid "Color correction coefficients" +msgstr "Coeficients per a la correcció del color" + +#: backend/epson.c:3076 +#, no-c-format +msgid "Matrix multiplication of RGB" +msgstr "Matriu de multiplicació del RGB" + +#: backend/epson.c:3093 +#, no-c-format +msgid "Shift green to red" +msgstr "Canvia de verd a vermell" + +#: backend/epson.c:3094 +#, no-c-format +msgid "Shift green to blue" +msgstr "Canvia de verd a blau" + +#: backend/epson.c:3095 +#, no-c-format +msgid "Shift red to green" +msgstr "Canvia de vermell a verd" + +#: backend/epson.c:3097 +#, no-c-format +msgid "Shift red to blue" +msgstr "Canvia de vermell a blau" + +#: backend/epson.c:3098 +#, no-c-format +msgid "Shift blue to green" +msgstr "Canvia de blau a verd" + +#: backend/epson.c:3099 +#, no-c-format +msgid "Shift blue to red" +msgstr "Canvia de blau a vermell" + +#: backend/epson.c:3102 +#, no-c-format +msgid "Controls green level" +msgstr "Controla el nivell de verd" + +#: backend/epson.c:3103 +#, no-c-format +msgid "Adds to red based on green level" +msgstr "Afegeix vermell en funció del nivell de verd" + +#: backend/epson.c:3104 +#, no-c-format +msgid "Adds to blue based on green level" +msgstr "Afegeix blau en funció del nivell de verd" + +#: backend/epson.c:3105 +#, no-c-format +msgid "Adds to green based on red level" +msgstr "Afegeix verd en funció del nivell de vermell" + +#: backend/epson.c:3106 +#, no-c-format +msgid "Controls red level" +msgstr "Controla el nivell de vermell" + +#: backend/epson.c:3107 +#, no-c-format +msgid "Adds to blue based on red level" +msgstr "Afegeix blau en funció del nivell de vermell" + +#: backend/epson.c:3108 +#, no-c-format +msgid "Adds to green based on blue level" +msgstr "Afegeix verd en funció del nivell de blau" + +#: backend/epson.c:3109 +#, no-c-format +msgid "Adds to red based on blue level" +msgstr "Afegeix vermell en funció del nivell de blau" + +#: backend/epson.c:3110 +#, no-c-format +msgid "Controls blue level" +msgstr "Controla el nivell de blau" + +#: backend/epson.c:3206 backend/epson2.c:1255 +#, no-c-format +msgid "Mirror the image." +msgstr "Emmiralla la imatge." + +#: backend/epson.c:3232 backend/mustek.c:4344 +#, no-c-format +msgid "Fast preview" +msgstr "Vista prèvia ràpida" + +#: backend/epson.c:3245 backend/epson2.c:1265 +#, no-c-format +msgid "Auto area segmentation" +msgstr "Segmentació automàtica de l'àrea" + +#: backend/epson.c:3258 +#, no-c-format +msgid "Short resolution list" +msgstr "Llista curta de les resolucions" + +#: backend/epson.c:3260 +#, no-c-format +msgid "Display short resolution list" +msgstr "Mostra una llista curta de les resolucions" + +#: backend/epson.c:3267 +#, no-c-format +msgid "Zoom" +msgstr "Zoom" + +#: backend/epson.c:3269 +#, no-c-format +msgid "Defines the zoom factor the scanner will use" +msgstr "Defineix el factor de zoom que usarà l'escàner" + +#: backend/epson.c:3349 +#, no-c-format +msgid "Quick format" +msgstr "Format ràpid" + +#: backend/epson.c:3360 backend/epson2.c:1340 +#, no-c-format +msgid "Optional equipment" +msgstr "Equipament opcional" + +#: backend/epson.c:3431 backend/epson2.c:1393 +#, no-c-format +msgid "Eject" +msgstr "Expulsa" + +#: backend/epson.c:3432 backend/epson2.c:1394 +#, no-c-format +msgid "Eject the sheet in the ADF" +msgstr "Expulsa el full de l'ADF" + +#: backend/epson.c:3444 backend/epson2.c:1404 +#, no-c-format +msgid "Auto eject" +msgstr "Expulsa automàticament" + +#: backend/epson.c:3445 backend/epson2.c:1406 +#, no-c-format +msgid "Eject document after scanning" +msgstr "Expulsa el document després de l'escaneig" + +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#, no-c-format +msgid "ADF Mode" +msgstr "Mode ADF" + +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#, no-c-format +msgid "Selects the ADF mode (simplex/duplex)" +msgstr "Seleccionar el mode de l'ADF (una cara/dues cares)" + +#: backend/epson.c:3473 backend/epson2.c:1430 +#, no-c-format +msgid "Bay" +msgstr "Badia" + +#: backend/epson.c:3474 backend/epson2.c:1431 +#, no-c-format +msgid "Select bay to scan" +msgstr "Selecciona la badia per escanejar" + +#: backend/epson.h:69 backend/epson2.h:68 +#, no-c-format +msgid "" +"Selects the gamma correction value from a list of pre-defined devices or " +"the user defined table, which can be downloaded to the scanner" +msgstr "" +"Selecciona el valor per a la correcció de la gamma des d'una llista " +"predefinida de dispositius o de la taula definida per l'usuari, la qual " +"es pot descarregar a l'escàner." + +#: backend/epson.h:72 backend/epson2.h:71 +#, no-c-format +msgid "Focus Position" +msgstr "Posició de l'enfocament" + +#: backend/epson.h:73 backend/epson2.h:72 +#, no-c-format +msgid "" +"Sets the focus position to either the glass or 2.5mm above the glass" +msgstr "" +"Estableix la posició de l'enfocament sobre el vidre o 2,5 mm per sobre " +"del vidre" + +#: backend/epson.h:75 backend/epson2.h:74 +#, no-c-format +msgid "Wait for Button" +msgstr "Espera pel botó" + +#: backend/epson.h:76 backend/epson2.h:75 +#, no-c-format +msgid "" +"After sending the scan command, wait until the button on the scanner is " +"pressed to actually start the scan process." +msgstr "" +"Després d'enviar l'ordre d'escaneig, s'ha d'esperar fins que es premi el " +"botó de l'escàner per iniciar realment el procés d'escaneig." + +#: backend/epson2.c:102 backend/pixma.c:409 +#, no-c-format +msgid "Infrared" +msgstr "Infraroigs" + +# Nota: https://github.com/Scan-o-Matic/scanomatic/wiki/Installing-scanners +#: backend/epson2.c:117 +#, no-c-format +msgid "TPU8x10" +msgstr "TPU8x10" + +#: backend/epson2.c:136 +#, no-c-format +msgid "Positive Slide" +msgstr "Diapositiva en positiu" + +#: backend/epson2.c:137 +#, no-c-format +msgid "Negative Slide" +msgstr "Diapositiva en negatiu" + +# Nota: https://en.wikipedia.org/wiki/Color_temperature#Correlated_color_temperature +#: backend/epson2.c:215 +#, no-c-format +msgid "Built in CCT profile" +msgstr "Incorpora el perfil CCT" + +#: backend/epson2.c:216 +#, no-c-format +msgid "User defined CCT profile" +msgstr "Perfil CCT definit per l'usuari" + +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#, no-c-format +msgid "On" +msgstr "Actiu" + +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 +#, no-c-format +msgid "Off" +msgstr "Inactiu" + +#: backend/fujitsu.c:689 +#, no-c-format +msgid "DTC" +msgstr "DTC" + +#: backend/fujitsu.c:690 +#, no-c-format +msgid "SDTC" +msgstr "SDTC" + +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 +#: backend/teco3.c:978 +#, no-c-format +msgid "Dither" +msgstr "Tramat" + +#: backend/fujitsu.c:693 +#, no-c-format +msgid "Diffusion" +msgstr "Difusió" + +#: backend/fujitsu.c:698 +#, no-c-format +msgid "White" +msgstr "Blanc" + +#: backend/fujitsu.c:699 +#, no-c-format +msgid "Black" +msgstr "Negre" + +#: backend/fujitsu.c:704 +#, no-c-format +msgid "Continue" +msgstr "Continua" + +#: backend/fujitsu.c:705 +#, no-c-format +msgid "Stop" +msgstr "Atura" + +#: backend/fujitsu.c:707 +#, no-c-format +msgid "10mm" +msgstr "10 mm" + +#: backend/fujitsu.c:708 +#, no-c-format +msgid "15mm" +msgstr "15 mm" + +#: backend/fujitsu.c:709 +#, no-c-format +msgid "20mm" +msgstr "20 mm" + +#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#, no-c-format +msgid "Horizontal" +msgstr "Horitzontal" + +#: backend/fujitsu.c:712 +#, no-c-format +msgid "Horizontal bold" +msgstr "Horitzontal en negre" + +#: backend/fujitsu.c:713 +#, no-c-format +msgid "Horizontal narrow" +msgstr "Horitzontal estreta" + +#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#, no-c-format +msgid "Vertical" +msgstr "Vertical" + +#: backend/fujitsu.c:715 +#, no-c-format +msgid "Vertical bold" +msgstr "Vertical en negre" + +#: backend/fujitsu.c:717 +#, no-c-format +msgid "Top to bottom" +msgstr "De dalt a baix" + +#: backend/fujitsu.c:718 +#, no-c-format +msgid "Bottom to top" +msgstr "De baix a dalt" + +#: backend/fujitsu.c:720 +#, no-c-format +msgid "Front" +msgstr "Anvers" + +#: backend/fujitsu.c:721 +#, no-c-format +msgid "Back" +msgstr "Revers" + +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#, no-c-format +msgid "Gamma function exponent" +msgstr "Exponent de la funció gamma" + +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#, no-c-format +msgid "Changes intensity of midtones" +msgstr "Canvia la intensitat dels semi tons" + +#: backend/fujitsu.c:3194 +#, no-c-format +msgid "RIF" +msgstr "RIF" + +#: backend/fujitsu.c:3195 +#, no-c-format +msgid "Reverse image format" +msgstr "Format d'imatge inversa" + +#: backend/fujitsu.c:3212 +#, no-c-format +msgid "Halftone type" +msgstr "Tipus de semi to" + +#: backend/fujitsu.c:3213 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "Controla el tipus de filtre del semi to" + +#: backend/fujitsu.c:3234 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "Controla el patró del filtre del semi to" + +#: backend/fujitsu.c:3256 +#, no-c-format +msgid "Outline" +msgstr "Contorn" + +#: backend/fujitsu.c:3257 +#, no-c-format +msgid "Perform outline extraction" +msgstr "Realitza l'extracció del contorn" + +#: backend/fujitsu.c:3268 +#, no-c-format +msgid "Emphasis" +msgstr "Èmfasi" + +#: backend/fujitsu.c:3269 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "Negatiu per a suavitzar o positiu per aguditzar la imatge" + +#: backend/fujitsu.c:3287 +#, no-c-format +msgid "Separation" +msgstr "Separació" + +#: backend/fujitsu.c:3288 +#, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "Habilita la separació automàtica de les imatges i el text" + +#: backend/fujitsu.c:3299 +#, no-c-format +msgid "Mirroring" +msgstr "Emmiralla" + +#: backend/fujitsu.c:3300 +#, no-c-format +msgid "Reflect output image horizontally" +msgstr "Reflecteix horitzontalment la imatge de sortida" + +#: backend/fujitsu.c:3317 +#, no-c-format +msgid "White level follower" +msgstr "Seguidor del nivell de blanc" + +#: backend/fujitsu.c:3318 +#, no-c-format +msgid "Control white level follower" +msgstr "Controla el seguidor del nivell de blanc" + +#: backend/fujitsu.c:3336 +#, no-c-format +msgid "BP filter" +msgstr "Filtre per al bolígraf" + +#: backend/fujitsu.c:3337 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "Millora la qualitat del text del bolígraf amb alta resolució" + +#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Suavitzat" + +#: backend/fujitsu.c:3354 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "Habilita el suavitzat per a millorar l'OCR" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Gamma curve" +msgstr "Corba amb interval" + +#: backend/fujitsu.c:3371 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" +"La corba amb interval, des de la llum a la foscor, però la part superior " +"de les dues podria no funcionar" + +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "Corba del llindar" + +#: backend/fujitsu.c:3394 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" +"La corba del llindar, des de la llum a la foscor, però la part superior " +"de les dues podria no ser lineal" + +#: backend/fujitsu.c:3416 +#, no-c-format +msgid "Threshold white" +msgstr "Llindar al blanc" + +#: backend/fujitsu.c:3417 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" +"Estableix els píxels iguals al llindar al blanc en comptes de negre" + +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#, no-c-format +msgid "Noise removal" +msgstr "Eliminació del soroll" + +#: backend/fujitsu.c:3450 +#, no-c-format +msgid "Matrix 5x5" +msgstr "Matriu 5x5" + +#: backend/fujitsu.c:3451 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "Elimina el soroll quadrat de 5 píxels" + +#: backend/fujitsu.c:3467 +#, no-c-format +msgid "Matrix 4x4" +msgstr "Matriu 4x4" + +#: backend/fujitsu.c:3468 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "Elimina el soroll quadrat de 4 píxels" + +#: backend/fujitsu.c:3484 +#, no-c-format +msgid "Matrix 3x3" +msgstr "Matriu 3x3" + +#: backend/fujitsu.c:3485 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "Elimina el soroll quadrat de 3 píxels" + +#: backend/fujitsu.c:3501 +#, no-c-format +msgid "Matrix 2x2" +msgstr "Matriu 2x2" + +#: backend/fujitsu.c:3502 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "Elimina el soroll quadrat de 2 píxels" + +#: backend/fujitsu.c:3521 +#, no-c-format +msgid "Variance" +msgstr "Variància" + +#: backend/fujitsu.c:3522 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" +"Estableix la velocitat de la variància SDTC (sensibilitat), 0 és igual " +"que 127" + +#: backend/fujitsu.c:3555 +#, no-c-format +msgid "Auto width detection" +msgstr "Detecció automàtica de l'amplada" + +#: backend/fujitsu.c:3556 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" +"L'escàner detectarà els costats del paper. Pot reduir la velocitat de " +"l'escaneig." + +#: backend/fujitsu.c:3573 +#, no-c-format +msgid "Auto length detection" +msgstr "Detecció automàtica de la llargada" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" +"L'escàner detectarà la vora inferior del paper. Pot confondre alguns " +"frontals." + +#: backend/fujitsu.c:3600 +#, no-c-format +msgid "Compression" +msgstr "Compressió" + +#: backend/fujitsu.c:3601 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" +"Habilita les dades comprimides. Pot fer fallar el vostre programa de " +"frontal" + +#: backend/fujitsu.c:3621 +#, no-c-format +msgid "Compression argument" +msgstr "Argument per a la compressió" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" +"Nivell de la compressió JPEG. 1 és un fitxer petit, 7 és un fitxer gran. " +"0 (predeterminat) és igual que 4" + +#: backend/fujitsu.c:3652 +#, no-c-format +msgid "DF action" +msgstr "Acció per a la doble alimentació" + +#: backend/fujitsu.c:3653 +#, no-c-format +msgid "Action following double feed error" +msgstr "Acció per a després de l'error de doble alimentació" + +#: backend/fujitsu.c:3669 +#, no-c-format +msgid "DF skew" +msgstr "Inclinació per la doble alimentació" + +#: backend/fujitsu.c:3670 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "Habilita l'error de doble alimentació que causa inclinació" + +#: backend/fujitsu.c:3688 +#, no-c-format +msgid "DF thickness" +msgstr "Gruix del paper per la doble alimentació" + +#: backend/fujitsu.c:3689 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "Habilita l'error de doble alimentació causat pel gruix del paper" + +#: backend/fujitsu.c:3707 +#, no-c-format +msgid "DF length" +msgstr "Longitud del paper causant doble alimentació" + +#: backend/fujitsu.c:3708 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" +"Habilita l'error de doble alimentació causat per la longitud del paper" + +#: backend/fujitsu.c:3731 +#, no-c-format +msgid "DF length difference" +msgstr "Diferència en la longitud per a causar doble alimentació" + +#: backend/fujitsu.c:3732 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" +"Diferència en la longitud de la pàgina per activar l'error de doble " +"alimentació" + +#: backend/fujitsu.c:3755 +#, no-c-format +msgid "DF recovery mode" +msgstr "El mode recuperació causa doble alimentació" + +#: backend/fujitsu.c:3756 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" +"Sol·licita a l'escàner que l'alimentador recuperi el paper en embussar-se" + +#: backend/fujitsu.c:3775 +#, no-c-format +msgid "Paper protection" +msgstr "Protecció del paper" + +#: backend/fujitsu.c:3776 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "Pregunta a l'escàner per a predir les embussades a l'ADF" + +#: backend/fujitsu.c:3795 +#, no-c-format +msgid "Advanced paper protection" +msgstr "Protecció avançada del paper" + +#: backend/fujitsu.c:3796 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" +"Pregunta a l'escàner per a predir les embussades a l'ADF usant sensors " +"millorats" + +#: backend/fujitsu.c:3815 +#, no-c-format +msgid "Staple detection" +msgstr "Detecció de les grapes" + +#: backend/fujitsu.c:3816 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" +"Pregunta a l'escàner per a detectar les embussades a l'ADF causades per " +"les grapes" + +#: backend/fujitsu.c:3835 +#, no-c-format +msgid "Background color" +msgstr "Color de fons" + +#: backend/fujitsu.c:3836 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" +"Estableix un color de fons per a l'escaneig. Pot entrar en conflicte amb " +"l'opció de sobreexploració" + +#: backend/fujitsu.c:3856 +#, no-c-format +msgid "Dropout color" +msgstr "Descarta el color" + +#: backend/fujitsu.c:3857 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" +"Els escàners d'una sola passada només usen un color durant l'escaneig " +"amb gris o binari, útil per a paper amb colors o tinta" + +#: backend/fujitsu.c:3880 +#, no-c-format +msgid "Buffer mode" +msgstr "Mode de memòria intermèdia" + +#: backend/fujitsu.c:3881 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" +"Sol·licita a l'escàner que llegeixi les pàgines ràpidament des de l'ADF " +"a la memòria interna" + +#: backend/fujitsu.c:3900 +#, no-c-format +msgid "Prepick" +msgstr "Preselecciona" + +#: backend/fujitsu.c:3901 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "Sol·licita a l'escàner que agafi la pàgina següent des de l'ADF" + +#: backend/fujitsu.c:3920 +#, no-c-format +msgid "Overscan" +msgstr "Sobreexploració" + +#: backend/fujitsu.c:3921 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" +"Recull uns pocs mm del fons al costat superior de l'escaneig, abans que " +"el paper ingressi a l'ADF i augmenta l'àrea màxima d'escaneig més enllà " +"de la mida del paper, per a permetre recollir els costats restants. Pot " +"entrar en conflicte amb l'opció Color de fons" + +#: backend/fujitsu.c:3939 +#, no-c-format +msgid "Sleep timer" +msgstr "Temporitzador de suspensió" + +#: backend/fujitsu.c:3940 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" +"Temps en minuts fins que la font d'alimentació interna canviarà al mode " +"de suspensió" + +#: backend/fujitsu.c:3958 +#, no-c-format +msgid "Off timer" +msgstr "Temporitzador per apagar" + +#: backend/fujitsu.c:3959 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" +"Temps en minuts fins que la font d'alimentació interna apagui l'escàner. " +"S'arrodonirà fins als 15 minuts més propers. Zero significa que no " +"s'apagarà mai." + +#: backend/fujitsu.c:3977 +#, no-c-format +msgid "Duplex offset" +msgstr "Desplaçament de la doble cara" + +#: backend/fujitsu.c:3978 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "Ajusta el desplaçament per a l'anvers/revers" + +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Desplaçament del verd" + +#: backend/fujitsu.c:3996 +#, no-c-format +msgid "Adjust green/red offset" +msgstr "Ajusta el desplaçament del verd/vermell" + +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Desplaçament del blau" + +#: backend/fujitsu.c:4014 +#, no-c-format +msgid "Adjust blue/red offset" +msgstr "Ajusta el desplaçament del blau/vermell" + +#: backend/fujitsu.c:4027 +#, no-c-format +msgid "Low Memory" +msgstr "Memòria baixa" + +#: backend/fujitsu.c:4028 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" +"Limita l'ús de la memòria del controlador per a usar-ho en sistemes " +"incrustats. Provoca algunes transferències de doble cara a costats " +"alternatius de cada crida al «sane_read()». El valor de l'opció «side» " +"es pot usar per a determinar la imatge correcta. Aquesta opció només " +"s'hauria d'usar amb el programari de frontal personalitzat." + +#: backend/fujitsu.c:4043 +#, no-c-format +msgid "Duplex side" +msgstr "Cara per a les dues cares" + +#: backend/fujitsu.c:4044 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" +"Indica a quina cara (0=anvers, 1=revers) en un escaneig de dues cares " +"retornarà la següent crida al «sane_read()»." + +#: backend/fujitsu.c:4055 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "Desinclina i escapça per maquinari" + +#: backend/fujitsu.c:4056 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" +"Sol·licita a l'escàner que giri i escapci les pàgines de forma digital." + +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#, no-c-format +msgid "Software deskew" +msgstr "Desinclina per programari" + +#: backend/fujitsu.c:4068 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" +"Sol·licita al controlador que giri les pàgines inclinades de forma " +"digital." + +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "Diàmetre per eliminar els pics per programari" + +#: backend/fujitsu.c:4081 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" +"Diàmetre màxim dels punts solitaris per eliminar-los de l'escaneig." + +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#, no-c-format +msgid "Software crop" +msgstr "Escapça per programari" + +#: backend/fujitsu.c:4101 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" +"Sol·licita al controlador que elimini la vora de les pàgines de forma " +"digital." + +#: backend/fujitsu.c:4130 +#, no-c-format +msgid "Halt on Cancel" +msgstr "Atura en cancel·lar" + +#: backend/fujitsu.c:4131 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" +"Sol·licita al controlador que aturi l'alimentador de paper en lloc " +"d'expulsar-lo durant una cancel·lació." + +#: backend/fujitsu.c:4142 +#, no-c-format +msgid "Endorser Options" +msgstr "Opcions per a l'aprovador" + +#: backend/fujitsu.c:4143 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "Controls per a la unitat aprovadora" + +#: backend/fujitsu.c:4154 +#, no-c-format +msgid "Endorser" +msgstr "Aprovador" + +#: backend/fujitsu.c:4155 +#, no-c-format +msgid "Enable endorser unit" +msgstr "Habilita la unitat aprovadora" + +#: backend/fujitsu.c:4170 +#, no-c-format +msgid "Endorser bits" +msgstr "Bits de l'aprovació" + +#: backend/fujitsu.c:4171 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "Determina el valor màxim del comptador de l'aprovació." + +#: backend/fujitsu.c:4196 +#, no-c-format +msgid "Endorser value" +msgstr "Valor de l'aprovació" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "Valor inicial del comptador de l'aprovació." + +#: backend/fujitsu.c:4220 +#, no-c-format +msgid "Endorser step" +msgstr "Pas de l'aprovació" + +#: backend/fujitsu.c:4221 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" +"Canvia el valor del comptador de l'aprovació en aquest tant per a cada " +"pàgina." + +#: backend/fujitsu.c:4244 +#, no-c-format +msgid "Endorser Y" +msgstr "Aprovació Y" + +#: backend/fujitsu.c:4245 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" +"Desplaçament de la impressió de l'aprovador des de la part superior del " +"paper." + +#: backend/fujitsu.c:4270 +#, no-c-format +msgid "Endorser font" +msgstr "Tipus de lletra per a l'aprovador" + +#: backend/fujitsu.c:4271 +#, no-c-format +msgid "Endorser printing font." +msgstr "El tipus de lletra amb el que imprimirà l'aprovador." + +#: backend/fujitsu.c:4300 +#, no-c-format +msgid "Endorser direction" +msgstr "Direcció de l'aprovador" + +#: backend/fujitsu.c:4301 +#, no-c-format +msgid "Endorser printing direction." +msgstr "Direcció amb la qual imprimirà l'aprovador." + +#: backend/fujitsu.c:4325 +#, no-c-format +msgid "Endorser side" +msgstr "Costat de l'aprovador" + +#: backend/fujitsu.c:4326 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" +"El costat de la impressió de l'aprovador, requereix maquinari per " +"canviar-lo" + +#: backend/fujitsu.c:4351 +#, no-c-format +msgid "Endorser string" +msgstr "Cadena de l'aprovador" + +#: backend/fujitsu.c:4352 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" +"Format d'impressió alfanumèric de l'aprovador. %05ud o %08ud al final " +"serà substituït pel valor del comptador." + +#: backend/fujitsu.c:4379 +#, no-c-format +msgid "Top edge" +msgstr "Vora superior" + +#: backend/fujitsu.c:4380 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "El paper s'ha retirat parcialment dins de l'ADF" + +#: backend/fujitsu.c:4391 +#, no-c-format +msgid "A3 paper" +msgstr "Paper A3" + +#: backend/fujitsu.c:4392 +#, no-c-format +msgid "A3 paper detected" +msgstr "S'ha detectat un paper A3" + +#: backend/fujitsu.c:4403 +#, no-c-format +msgid "B4 paper" +msgstr "Paper B4" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "B4 paper detected" +msgstr "S'ha detectat un paper B4" + +#: backend/fujitsu.c:4415 +#, no-c-format +msgid "A4 paper" +msgstr "Paper A4" + +#: backend/fujitsu.c:4416 +#, no-c-format +msgid "A4 paper detected" +msgstr "S'ha detectat un paper A4" + +#: backend/fujitsu.c:4427 +#, no-c-format +msgid "B5 paper" +msgstr "Paper B5" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "B5 paper detected" +msgstr "S'ha detectat un paper B5" + +#: backend/fujitsu.c:4451 +#, no-c-format +msgid "OMR or DF" +msgstr "OMR o DF" + +#: backend/fujitsu.c:4452 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" +"S'ha detectat una OMR (reconeixement de marca òptica) o alimentació de " +"doble cara" + +#: backend/fujitsu.c:4475 +#, no-c-format +msgid "Power saving" +msgstr "Estalvi d'energia" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "Escàner en el mode estalvi d'energia" + +#: backend/fujitsu.c:4499 +#, no-c-format +msgid "Manual feed" +msgstr "Alimentació manual" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Manual feed selected" +msgstr "S'ha seleccionat una alimentació manual" + +#: backend/fujitsu.c:4523 +#, no-c-format +msgid "Function" +msgstr "Funció" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Function character on screen" +msgstr "Funció caràcter a la pantalla" + +#: backend/fujitsu.c:4535 +#, no-c-format +msgid "Ink low" +msgstr "Tinta baixa" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "La impressora s'està executant amb la tinta baixa" + +#: backend/fujitsu.c:4547 +#, no-c-format +msgid "Double feed" +msgstr "Alimentació de doble cara" + +#: backend/fujitsu.c:4548 +#, no-c-format +msgid "Double feed detected" +msgstr "S'ha detectat una alimentació de doble cara" + +#: backend/fujitsu.c:4559 +#, no-c-format +msgid "Error code" +msgstr "Codi d'error" + +#: backend/fujitsu.c:4560 +#, no-c-format +msgid "Hardware error code" +msgstr "Codi d'error del maquinari" + +#: backend/fujitsu.c:4571 +#, no-c-format +msgid "Skew angle" +msgstr "Angle d'inclinació" + +#: backend/fujitsu.c:4572 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "Requereix un fons negre per escanejar" + +#: backend/fujitsu.c:4583 +#, no-c-format +msgid "Ink remaining" +msgstr "Tinta restant" + +#: backend/fujitsu.c:4584 +#, no-c-format +msgid "Imprinter ink level" +msgstr "Nivell de tinta de la impressora" + +#: backend/fujitsu.c:4595 +#, no-c-format +msgid "Density" +msgstr "Densitat" + +#: backend/fujitsu.c:4596 +#, no-c-format +msgid "Density dial" +msgstr "Marcador de la densitat" + +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#, no-c-format +msgid "Duplex switch" +msgstr "Commuta a doble cara" + +#: backend/genesys.cc:5437 +#, no-c-format +msgid "Request backend to remove border from pages digitally" +msgstr "" +"Sol·licita al dorsal que elimini la vora de les pàgines de forma digital" + +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#, no-c-format +msgid "Request driver to discard pages with low numbers of dark pixels" +msgstr "" +"Sol·licita al controlador que descarti les pàgines amb un nombre baix de " +"píxels foscos" + +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#, no-c-format +msgid "Software derotate" +msgstr "Treu el gir per programari" + +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#, no-c-format +msgid "Request driver to detect and correct 90 degree image rotation" +msgstr "" +"Sol·licita al controlador que detecti i corregeixi el gir de 90 graus de " +"la imatge" + +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#, no-c-format +msgid "Extras" +msgstr "Extres" + +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#, no-c-format +msgid "Dynamic threshold curve, from light to dark, normally 50-65" +msgstr "" +"La corba dinàmica del llindar, des de la llum a la foscor, normalment de " +"50 a 65" + +#: backend/genesys.cc:5515 +#, no-c-format +msgid "Disable dynamic lineart" +msgstr "Inhabilita l'art lineal dinàmic" + +#: backend/genesys.cc:5517 +#, no-c-format +msgid "" +"Disable use of a software adaptive algorithm to generate lineart relying " +"instead on hardware lineart." +msgstr "" +"Inhabilita l'ús d'un algorisme adaptatiu per programari que genera art " +"lineal en comptes de per maquinari." + +#: backend/genesys.cc:5533 +#, no-c-format +msgid "Disable interpolation" +msgstr "Inhabilita la interpolació" + +#: backend/genesys.cc:5536 +#, no-c-format +msgid "" +"When using high resolutions where the horizontal resolution is smaller " +"than the vertical resolution this disables horizontal interpolation." +msgstr "" +"Quan s'usen resolucions d'alta resolució on la resolució horitzontal és " +"més petita que la vertical, això inhabilitarà la interpolació " +"horitzontal." + +#: backend/genesys.cc:5545 +#, no-c-format +msgid "Color filter" +msgstr "Filtre de color" + +#: backend/genesys.cc:5548 +#, no-c-format +msgid "When using gray or lineart this option selects the used color." +msgstr "" +"Quan s'usa gris o art lineal, aquesta opció seleccionarà el color a usar." + +#: backend/genesys.cc:5574 +#, no-c-format +msgid "Calibration file" +msgstr "Fitxer de calibratge" + +#: backend/genesys.cc:5575 +#, no-c-format +msgid "Specify the calibration file to use" +msgstr "Especifica el fitxer de calibratge a usar" + +#: backend/genesys.cc:5592 +#, no-c-format +msgid "Calibration cache expiration time" +msgstr "Temps de caducitat per a la memòria cau del calibratge" + +#: backend/genesys.cc:5593 +#, no-c-format +msgid "" +"Time (in minutes) before a cached calibration expires. A value of 0 " +"means cache is not used. A negative value means cache never expires." +msgstr "" +"Temps (en minuts) abans que expiri el calibratge emmagatzemat a la " +"memòria cau. Un valor de 0 indicarà que no s'usarà la memòria cau. Un " +"valor negatiu indicarà que la memòria cau no caducarà mai." + +#: backend/genesys.cc:5603 +#, no-c-format +msgid "Lamp off time" +msgstr "Temps per apagar la làmpada" + +#: backend/genesys.cc:5606 +#, no-c-format +msgid "" +"The lamp will be turned off after the given time (in minutes). A value " +"of 0 means, that the lamp won't be turned off." +msgstr "" +"La llum s'apagarà després del temps determinat (en minuts). Un valor de " +"0 indicarà que no s'apagarà la làmpada." + +#: backend/genesys.cc:5616 +#, no-c-format +msgid "Lamp off during scan" +msgstr "Apaga la làmpada durant l'escaneig" + +#: backend/genesys.cc:5617 +#, no-c-format +msgid "The lamp will be turned off during scan. " +msgstr "La llum s'apagarà durant l'escaneig." + +#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#, no-c-format +msgid "File button" +msgstr "Botó de fitxer" + +#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#, no-c-format +msgid "OCR button" +msgstr "Botó OCR" + +#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#, no-c-format +msgid "Power button" +msgstr "Botó d'encesa" + +#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#, no-c-format +msgid "Extra button" +msgstr "Botó extra" + +#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#, no-c-format +msgid "Need calibration" +msgstr "Necessita calibratge" + +#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#, no-c-format +msgid "The scanner needs calibration for the current settings" +msgstr "L'escàner necessita calibratge per als ajustaments actuals" + +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#, no-c-format +msgid "Buttons" +msgstr "Botons" + +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#, no-c-format +msgid "Calibrate" +msgstr "Calibratge" + +#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#, no-c-format +msgid "Start calibration using special sheet" +msgstr "Comença el calibratge emprant un full especial" + +#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#, no-c-format +msgid "Clear calibration" +msgstr "Neteja el calibratge" + +#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#, no-c-format +msgid "Clear calibration cache" +msgstr "Neteja la memòria cau del calibratge" + +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Calibratge tosc" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 +#, no-c-format +msgid "Transparency Adapter" +msgstr "Adaptador de transparència" + +#: backend/gt68xx.c:470 +#, no-c-format +msgid "Gray mode color" +msgstr "Color per al mode gris" + +#: backend/gt68xx.c:472 +#, no-c-format +msgid "Selects which scan color is used gray mode (default: green)." +msgstr "" +"Selecciona quin color d'escaneig s'usarà en el mode gris (predeterminat: " +"verd)." + +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 +#, no-c-format +msgid "Debugging Options" +msgstr "Opcions de depuració" + +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 +#, no-c-format +msgid "Automatic warmup" +msgstr "Escalfament automàtic" + +#: backend/gt68xx.c:566 +#, no-c-format +msgid "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"60 seconds warm-up time." +msgstr "" +"Escalfa fins que la brillantor de la làmpada sigui constant en comptes " +"d'insistir en el temps d'escalfament de 60 segons." + +#: backend/gt68xx.c:578 +#, no-c-format +msgid "Full scan" +msgstr "Escaneja completament" + +#: backend/gt68xx.c:580 +#, no-c-format +msgid "" +"Scan the complete scanning area including calibration strip. Be careful. " +"Don't select the full height. For testing only." +msgstr "" +"Escaneja tota l'àrea d'escaneig, inclosa la tira de calibratge. Aneu amb " +"compte. No seleccioneu tota l'alçada. Només per a proves." + +#: backend/gt68xx.c:591 +#, no-c-format +msgid "Coarse calibration" +msgstr "Calibratge tosc" + +#: backend/gt68xx.c:593 +#, no-c-format +msgid "" +"Setup gain and offset for scanning automatically. If this option is " +"disabled, options for setting the analog frontend parameters manually " +"are provided. This option is enabled by default. For testing only." +msgstr "" +"Estableix el guany i el desplaçament per a l'escaneig automàtic. Si " +"aquesta opció està inhabilitada, es proporcionen opcions per a establir " +"manualment els paràmetres del frontal analògic. Aquesta opció està " +"habilitada de manera predeterminada. Només per a proves." + +#: backend/gt68xx.c:612 +#, no-c-format +msgid "Coarse calibration for first scan only" +msgstr "Calibratge tosc només per al primer escanejat" + +#: backend/gt68xx.c:614 +#, no-c-format +msgid "" +"Coarse calibration is only done for the first scan. Works with most " +"scanners and can save scanning time. If the image brightness is " +"different with each scan, disable this option. For testing only." +msgstr "" +"El calibratge tosc només es farà per al primer escaneig. Funciona amb la " +"majoria d'escàners i pot estalviar temps d'escaneig. Si la brillantor de " +"la imatge és diferent amb cada escaneig, inhabiliteu aquesta opció. " +"Només per a proves." + +#: backend/gt68xx.c:647 +#, no-c-format +msgid "Backtrack lines" +msgstr "Línies a tornar enrere" + +#: backend/gt68xx.c:649 +#, no-c-format +msgid "" +"Number of lines the scan slider moves back when backtracking occurs. " +"That happens when the scanner scans faster than the computer can receive " +"the data. Low values cause faster scans but increase the risk of " +"omitting lines." +msgstr "" +"Nombre de línies que el control lliscant de l'escanejat mourà cap enrere " +"quan succeeixi el fet de tornar enrere. Això passa quan l'escàner " +"escaneja més de pressa que en el que l'ordinador pot rebre les dades. " +"Els valors baixos produeixen escaneigs més ràpids, però augmenten el " +"risc d'omissió de línies." + +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 +#, no-c-format +msgid "Gamma value" +msgstr "Valor de la gamma" + +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 +#, no-c-format +msgid "Sets the gamma value of all channels." +msgstr "Estableix el valor de la gamma de tots els canals." + +#: backend/hp3500.c:1020 +#, no-c-format +msgid "Geometry Group" +msgstr "Grup de geometria" + +#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#, no-c-format +msgid "Scan Mode Group" +msgstr "Grup de mode d'escaneig" + +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3177 +#, no-c-format +msgid "Slide" +msgstr "Diapositiva" + +#: backend/hp3900_sane.c:1405 +#, no-c-format +msgid "Scanner model" +msgstr "Model de l'escàner" + +#: backend/hp3900_sane.c:1408 +#, no-c-format +msgid "Allows one to test device behaviour with other supported models" +msgstr "" +"Permet comprovar el comportament del dispositiu amb els altres models " +"admesos" + +#: backend/hp3900_sane.c:1422 +#, no-c-format +msgid "Image colours will be inverted" +msgstr "Els colors de la imatge seran invertits" + +#: backend/hp3900_sane.c:1436 +#, no-c-format +msgid "Disable gamma correction" +msgstr "Inhabilita la correcció de la gamma" + +#: backend/hp3900_sane.c:1437 +#, no-c-format +msgid "Gamma correction will be disabled" +msgstr "La correcció de la gamma serà inhabilitada" + +#: backend/hp3900_sane.c:1451 +#, no-c-format +msgid "Disable white shading correction" +msgstr "Inhabilita la correcció de l'ombra blanca" + +#: backend/hp3900_sane.c:1453 +#, no-c-format +msgid "White shading correction will be disabled" +msgstr "La correcció de l'ombra blanca serà inhabilitada" + +#: backend/hp3900_sane.c:1467 +#, no-c-format +msgid "Skip warmup process" +msgstr "Omet el procés d'escalfament" + +#: backend/hp3900_sane.c:1468 +#, no-c-format +msgid "Warmup process will be disabled" +msgstr "El procés d'escalfament serà inhabilitat" + +#: backend/hp3900_sane.c:1482 +#, no-c-format +msgid "Force real depth" +msgstr "Força la profunditat real" + +#: backend/hp3900_sane.c:1485 +#, no-c-format +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"Si s'ha habilitat la gamma, els escanejos es realitzaran sempre en 16 " +"bits de profunditat per a millorar la qualitat de la imatge i després " +"convertir-la a la profunditat seleccionada. Aquesta opció evitarà " +"l'emulació de la profunditat." + +#: backend/hp3900_sane.c:1499 +#, no-c-format +msgid "Emulate Grayscale" +msgstr "Emula l'escala de grisos" + +#: backend/hp3900_sane.c:1502 +#, no-c-format +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"Si s'habilita, la imatge s'escanejarà en el mode de color i després es " +"convertirà per programari a una escala de grisos. Això pot millorar la " +"qualitat de la imatge en algunes circumstàncies." + +#: backend/hp3900_sane.c:1516 +#, no-c-format +msgid "Save debugging images" +msgstr "Desa imatges per a la depuració" + +#: backend/hp3900_sane.c:1519 +#, no-c-format +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"Si s'habilita, es desaran algunes imatges relacionades amb el " +"processament de l'escàner per analitzar-les." + +#: backend/hp3900_sane.c:1533 +#, no-c-format +msgid "Reset chipset" +msgstr "Reinicia el joc de xips" + +#: backend/hp3900_sane.c:1534 +#, no-c-format +msgid "Resets chipset data" +msgstr "Reinicia les dades del joc de xips" + +#: backend/hp3900_sane.c:1547 +#, no-c-format +msgid "Information" +msgstr "Informació" + +#: backend/hp3900_sane.c:1560 +#, no-c-format +msgid "Chipset name" +msgstr "Nom del joc de xips" + +#: backend/hp3900_sane.c:1561 +#, no-c-format +msgid "Shows chipset name used in device." +msgstr "Mostra el nom del joc de xips usat al dispositiu." + +#: backend/hp3900_sane.c:1565 +#, no-c-format +msgid "Unknown" +msgstr "Desconegut" + +#: backend/hp3900_sane.c:1571 +#, no-c-format +msgid "Chipset ID" +msgstr "ID del joc de xips" + +#: backend/hp3900_sane.c:1572 +#, no-c-format +msgid "Shows the chipset ID" +msgstr "Mostra l'ID del joc de xips" + +#: backend/hp3900_sane.c:1582 +#, no-c-format +msgid "Scan counter" +msgstr "Comptador d'escaneigs" + +#: backend/hp3900_sane.c:1584 +#, no-c-format +msgid "Shows the number of scans made by scanner" +msgstr "Mostra el nombre d'escaneigs realitzats per l'escàner" + +#: backend/hp3900_sane.c:1594 +#, no-c-format +msgid "Update information" +msgstr "Actualitza la informació" + +#: backend/hp3900_sane.c:1595 +#, no-c-format +msgid "Updates information about device" +msgstr "Actualitza la informació quant al dispositiu" + +#: backend/hp3900_sane.c:1635 +#, no-c-format +msgid "This option reflects a front panel scanner button" +msgstr "Aquesta opció reflecteix un botó d'escàner al panell frontal" + +#: backend/hp5400_sane.c:313 backend/niash.c:678 +#, no-c-format +msgid "Image" +msgstr "Imatge" + +#: backend/hp5400_sane.c:352 backend/niash.c:709 +#, no-c-format +msgid "Miscellaneous" +msgstr "Miscel·lània" + +#: backend/hp5400_sane.c:358 +#, no-c-format +msgid "offset X" +msgstr "Desplaçament X" + +#: backend/hp5400_sane.c:359 +#, no-c-format +msgid "Hardware internal X position of the scanning area." +msgstr "Posició X interna al maquinari de l'àrea d'escaneig." + +#: backend/hp5400_sane.c:368 +#, no-c-format +msgid "offset Y" +msgstr "Desplaçament Y" + +#: backend/hp5400_sane.c:369 +#, no-c-format +msgid "Hardware internal Y position of the scanning area." +msgstr "Posició Y interna al maquinari de l'àrea d'escaneig." + +#: backend/hp5400_sane.c:381 backend/niash.c:716 +#, no-c-format +msgid "Lamp status" +msgstr "Estat de la làmpada" + +#: backend/hp5400_sane.c:382 backend/niash.c:717 +#, no-c-format +msgid "Switches the lamp on or off." +msgstr "Apaga o encén la llum." + +#: backend/hp5400_sane.c:393 backend/niash.c:727 +#, no-c-format +msgid "Calibrates for black and white level." +msgstr "Calibra per al nivell de blanc i negre." + +#: backend/hp5590.c:93 backend/hp-option.c:3256 +#, no-c-format +msgid "ADF" +msgstr "ADF" + +# Nota: https://en.wikipedia.org/wiki/Tissue_microarray +#: backend/hp5590.c:95 +#, no-c-format +msgid "TMA Slides" +msgstr "Costats de la TMA" + +#: backend/hp5590.c:96 +#, no-c-format +msgid "TMA Negatives" +msgstr "TMA negatius" + +#: backend/hp5590.c:108 +#, no-c-format +msgid "Color (48 bits)" +msgstr "Color (48 bits)" + +#: backend/hp5590.c:112 +#, no-c-format +msgid "Extend lamp timeout" +msgstr "Amplia el temps d'espera de la làmpada" + +#: backend/hp5590.c:113 +#, no-c-format +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Amplia el temps d'espera de la làmpada (de 15 minuts a 1 hora)" + +#: backend/hp5590.c:115 +#, no-c-format +msgid "Wait for button" +msgstr "Espera pel botó" + +#: backend/hp5590.c:116 +#, no-c-format +msgid "Waits for button before scanning" +msgstr "Espera pel botó abans d'escanejar" + +#: backend/hp5590.c:118 +#, no-c-format +msgid "Last button pressed" +msgstr "Darrer botó premut" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "Obtén l'ID de l'últim botó premut (només lectura)" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Comptador d'escaneigs" + +#: backend/hp5590.c:122 +#, fuzzy, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "Obtén l'ID de l'últim botó premut (només lectura)" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Color per a l'art lineal" + +#: backend/hp5590.c:125 +#, fuzzy, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "Obtén l'ID de l'últim botó premut (només lectura)" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "Oculta el píxel del final de pàgina" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" +"Oculta els píxels indicadors del final de pàgina i se sobreescriuen amb " +"els píxels veïns" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" +"Mode d'ompliment del final de les línies després d'obtenir les dades " +"d'escaneig (ADF)" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" +"raw = dades d'escaneig sense processar, last = repeteix l'última línia " +"escanejada, raster = ràster en b/n, white = color blanc, black = color " +"negre, color = valor del color RGB o gris" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "Valor del color RGB o gris per al mode ompliment del «color»" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" +"Valor del «color» per al mode d'ompliment al final de les línies. Color " +"RGB com a valor r*65536+256*g+b o gris (predeterminat=violeta o gris)" + +#: backend/hp-option.c:2987 +#, no-c-format +msgid "Advanced Options" +msgstr "Opcions avançades" + +#: backend/hp-option.c:3044 +#, no-c-format +msgid "Coarse" +msgstr "Tosc" + +#: backend/hp-option.c:3045 +#, no-c-format +msgid "Fine" +msgstr "Fina" + +#: backend/hp-option.c:3046 +#, no-c-format +msgid "Bayer" +msgstr "Bayer" + +#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#, no-c-format +msgid "Custom" +msgstr "A mida" + +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 +#, no-c-format +msgid "Auto" +msgstr "Auto" + +# Nota: https://ca.wikipedia.org/wiki/NTSC +#: backend/hp-option.c:3091 +#, no-c-format +msgid "NTSC RGB" +msgstr "RGB del NTSC" + +# Nota: https://support.hp.com/gb-en/document/c01275842 +#: backend/hp-option.c:3092 +#, no-c-format +msgid "XPA RGB" +msgstr "RGB amb el XPA" + +#: backend/hp-option.c:3093 +#, no-c-format +msgid "Pass-through" +msgstr "Passa a través" + +#: backend/hp-option.c:3094 +#, no-c-format +msgid "NTSC Gray" +msgstr "Gris del NTSC" + +#: backend/hp-option.c:3095 +#, no-c-format +msgid "XPA Gray" +msgstr "Gris amb el XPA" + +#: backend/hp-option.c:3147 +#, no-c-format +msgid "Slow" +msgstr "Lent" + +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#, no-c-format +msgid "Normal" +msgstr "Normal" + +#: backend/hp-option.c:3149 +#, no-c-format +msgid "Fast" +msgstr "Ràpid" + +#: backend/hp-option.c:3150 +#, no-c-format +msgid "Extra Fast" +msgstr "Extraràpid" + +#: backend/hp-option.c:3163 +#, no-c-format +msgid "2-pixel" +msgstr "2 píxels" + +#: backend/hp-option.c:3164 +#, no-c-format +msgid "4-pixel" +msgstr "4 píxels" + +#: backend/hp-option.c:3165 +#, no-c-format +msgid "8-pixel" +msgstr "8 píxels" + +#: backend/hp-option.c:3176 +#, no-c-format +msgid "Print" +msgstr "Imprimeix" + +#: backend/hp-option.c:3178 +#, no-c-format +msgid "Film-strip" +msgstr "Tira de pel·lícules" + +#: backend/hp-option.c:3257 +#, no-c-format +msgid "XPA" +msgstr "XPA" + +#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#, no-c-format +msgid "Conditional" +msgstr "Condicional" + +#: backend/hp-option.c:3417 +#, no-c-format +msgid "Experiment" +msgstr "Experimental" + +#: backend/hp-option.h:60 +#, no-c-format +msgid "Sharpening" +msgstr "Aguditzant" + +#: backend/hp-option.h:61 +#, no-c-format +msgid "Set sharpening value." +msgstr "Estableix el valor de l'agudització." + +#: backend/hp-option.h:66 +#, no-c-format +msgid "Auto Threshold" +msgstr "Llindar automàtic" + +#: backend/hp-option.h:68 +#, no-c-format +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "" +"Habilita la determinació automàtica del llindar pels escaneigs amb art " +"lineal." + +#: backend/hp-option.h:74 +#, no-c-format +msgid "Select smoothing filter." +msgstr "Selecciona el filtre de suavitzat." + +#: backend/hp-option.h:79 +#, no-c-format +msgid "Unload media after scan" +msgstr "Descarrega el suport després de l'escaneig" + +#: backend/hp-option.h:80 +#, no-c-format +msgid "Unloads the media after a scan." +msgstr "Descarrega el suport després d'un escaneig." + +#: backend/hp-option.h:85 +#, no-c-format +msgid "Change document" +msgstr "Canvia el document" + +#: backend/hp-option.h:86 +#, no-c-format +msgid "Change Document." +msgstr "Canvia el document." + +#: backend/hp-option.h:91 +#, no-c-format +msgid "Unload" +msgstr "Descarrega" + +#: backend/hp-option.h:92 +#, no-c-format +msgid "Unload Document." +msgstr "Descarrega el document." + +#: backend/hp-option.h:98 +#, no-c-format +msgid "Start calibration process." +msgstr "Inicia el procés de calibratge." + +#: backend/hp-option.h:103 +#, no-c-format +msgid "Media" +msgstr "Suport" + +#: backend/hp-option.h:104 +#, no-c-format +msgid "Set type of media." +msgstr "Estableix el tipus de suport." + +#: backend/hp-option.h:109 +#, no-c-format +msgid "Exposure time" +msgstr "Temps d'exposició" + +#: backend/hp-option.h:111 +#, no-c-format +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"Un temps d'exposició més llarg permet que l'escàner recopili més llum. " +"L'ús aconsellat és el 175% per a impressions, el 150% per a diapositives " +"normals i «Negatiu» per a pel·lícules en negatiu. Per a imatges fosques " +"(sota exposades), podeu augmentar aquest valor." + +#: backend/hp-option.h:119 backend/hp-option.h:126 +#, no-c-format +msgid "Color Matrix" +msgstr "Matriu de color" + +#: backend/hp-option.h:121 +#, no-c-format +msgid "Set the scanners color matrix." +msgstr "Estableix la matriu de color dels escàners." + +#: backend/hp-option.h:127 +#, no-c-format +msgid "Custom color matrix." +msgstr "Matriu de color a mida." + +#: backend/hp-option.h:132 +#, no-c-format +msgid "Mono Color Matrix" +msgstr "Matriu de color monocrom" + +#: backend/hp-option.h:133 +#, no-c-format +msgid "Custom color matrix for grayscale scans." +msgstr "Matriu de color a mida pels escaneigs en escala de grisos." + +#: backend/hp-option.h:138 +#, no-c-format +msgid "Mirror horizontal" +msgstr "Emmiralla horitzontalment" + +#: backend/hp-option.h:139 +#, no-c-format +msgid "Mirror image horizontally." +msgstr "Emmiralla horitzontalment la imatge." + +#: backend/hp-option.h:144 +#, no-c-format +msgid "Mirror vertical" +msgstr "Emmiralla verticalment" + +#: backend/hp-option.h:145 +#, no-c-format +msgid "Mirror image vertically." +msgstr "Emmiralla verticalment la imatge." + +#: backend/hp-option.h:150 +#, no-c-format +msgid "Update options" +msgstr "Opcions per a l'actualització" + +#: backend/hp-option.h:151 +#, no-c-format +msgid "Update options." +msgstr "Opcions per a l'actualització." + +#: backend/hp-option.h:156 +#, no-c-format +msgid "8 bit output" +msgstr "Sortida de 8 bits" + +#: backend/hp-option.h:158 +#, no-c-format +msgid "Use bit depth greater eight internally, but output only eight bits." +msgstr "" +"Usa internament una profunditat de bits més gran que vuit, però a la " +"sortida usa només vuit bits." + +#: backend/hp-option.h:164 +#, no-c-format +msgid "Front button wait" +msgstr "Espera al botó del frontal" + +#: backend/hp-option.h:165 +#, no-c-format +msgid "Wait to scan for front-panel button push." +msgstr "Espera per escanejar que es premi el botó del panell frontal." + +#: backend/hp-option.h:172 +#, no-c-format +msgid "Shut off lamp" +msgstr "Apaga la làmpada" + +#: backend/hp-option.h:173 +#, no-c-format +msgid "Shut off scanner lamp." +msgstr "Apaga la llum de l'escàner." + +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 +#, no-c-format +msgid "Paper size" +msgstr "Mida del paper" + +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 +#, no-c-format +msgid "Automatic separation" +msgstr "Separació automàtica" + +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 +#, no-c-format +msgid "Landscape" +msgstr "Apaïsat" + +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 +#, no-c-format +msgid "Inverse Image" +msgstr "Imatge inversa" + +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 +#, no-c-format +msgid "Long paper mode" +msgstr "Mode paper llarg" + +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 +#, no-c-format +msgid "Length control mode" +msgstr "Mode control de la longitud" + +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 +#, no-c-format +msgid "Manual feed mode" +msgstr "Mode alimentació manual" + +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 +#, no-c-format +msgid "Manual feed timeout" +msgstr "Temps d'espera per a l'alimentació manual" + +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 +#, no-c-format +msgid "Double feed detection" +msgstr "Detecció de l'alimentació de doble cara" + +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 +#, no-c-format +msgid "Enable Duplex (Dual-Sided) Scanning" +msgstr "Habilita l'escaneig a doble cara" + +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 +#, no-c-format +msgid "Physical size of the paper in the ADF" +msgstr "Grandària física del paper a l'ADF" + +#: backend/kvs1025_opt.c:39 +#, no-c-format +msgid "bw" +msgstr "nb" + +#: backend/kvs1025_opt.c:40 +#, no-c-format +msgid "halftone" +msgstr "semi to" + +#: backend/kvs1025_opt.c:41 +#, no-c-format +msgid "gray" +msgstr "gris" + +#: backend/kvs1025_opt.c:42 +#, no-c-format +msgid "color" +msgstr "color" + +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 +#, no-c-format +msgid "adf" +msgstr "ADF" + +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 +#, no-c-format +msgid "fb" +msgstr "fb" + +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 +#, no-c-format +msgid "single" +msgstr "individual" + +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 +#, no-c-format +msgid "continuous" +msgstr "continu" + +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 +#, no-c-format +msgid "off" +msgstr "desactivat" + +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 +#, no-c-format +msgid "wait_doc" +msgstr "espera_doc" + +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 +#, no-c-format +msgid "wait_key" +msgstr "espera_clau" + +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 +#, no-c-format +msgid "user_def" +msgstr "definit_usuari" + +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 +#, no-c-format +msgid "business_card" +msgstr "tarjeta_visita" + +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 +#, no-c-format +msgid "Check" +msgstr "Comprova" + +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 +#, no-c-format +msgid "A5" +msgstr "A5" + +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 +#, no-c-format +msgid "A6" +msgstr "A6" + +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 +#, no-c-format +msgid "B5" +msgstr "B5" + +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 +#, no-c-format +msgid "B6" +msgstr "B6" + +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 +#, no-c-format +msgid "Legal" +msgstr "Legal" + +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 +#, no-c-format +msgid "bayer_64" +msgstr "bayer_64" + +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 +#, no-c-format +msgid "bayer_16" +msgstr "bayer_16" + +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 +#, no-c-format +msgid "halftone_32" +msgstr "semi_to_32" + +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 +#, no-c-format +msgid "halftone_64" +msgstr "semi_to_64" + +#: backend/kvs1025_opt.c:152 +#, no-c-format +msgid "diffusion" +msgstr "difusió" + +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 +#, no-c-format +msgid "normal" +msgstr "normal" + +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 +#, no-c-format +msgid "light" +msgstr "llum" + +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 +#, no-c-format +msgid "dark" +msgstr "fosc" + +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 +#, no-c-format +msgid "From scanner" +msgstr "Des de l'escàner" + +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 +#, no-c-format +msgid "From paper" +msgstr "Des del paper" + +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 +#, no-c-format +msgid "default" +msgstr "Predeterminat" + +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 +#, no-c-format +msgid "smooth" +msgstr "Suavitzat" + +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 +#, no-c-format +msgid "none" +msgstr "Cap" + +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 +#, no-c-format +msgid "low" +msgstr "Baix" + +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 +#, no-c-format +msgid "medium" +msgstr "Mitjà" + +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 +#, no-c-format +msgid "high" +msgstr "Alt" + +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 +#, no-c-format +msgid "crt" +msgstr "CRT" + +#: backend/kvs1025_opt.c:229 +#, no-c-format +msgid "linier" +msgstr "Lineal" + +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 +#, no-c-format +msgid "red" +msgstr "Vermell" + +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 +#, no-c-format +msgid "green" +msgstr "Verd" + +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 +#, no-c-format +msgid "blue" +msgstr "Blau" + +#: backend/kvs1025_opt.c:561 +#, no-c-format +msgid "Sets the scan source" +msgstr "Estableix la font de l'escaneig" + +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 +#, no-c-format +msgid "Feeder mode" +msgstr "Mode alimentador" + +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 +#, no-c-format +msgid "Sets the feeding mode" +msgstr "Estableix el mode alimentador" + +#: backend/kvs1025_opt.c:583 +#, no-c-format +msgid "Enable/Disable long paper mode" +msgstr "Habilita/Inhabilita el mode paper llarg" + +#: backend/kvs1025_opt.c:592 +#, no-c-format +msgid "Enable/Disable length control mode" +msgstr "Habilita/Inhabilita el mode control de la longitud" + +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 +#, no-c-format +msgid "Sets the manual feed mode" +msgstr "Estableix el mode alimentació manual" + +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 +#, no-c-format +msgid "Sets the manual feed timeout in seconds" +msgstr "" +"Estableix en segons el temps d'espera per al mode alimentació manual" + +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 +#, no-c-format +msgid "Enable/Disable double feed detection" +msgstr "Habilita/Inhabilita la detecció de l'alimentació de doble cara" + +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 +#, no-c-format +msgid "fit-to-page" +msgstr "Ajusta a la pàgina" + +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 +#, no-c-format +msgid "Fit to page" +msgstr "Ajusta a la pàgina" + +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 +#, no-c-format +msgid "Scanner shrinks image to fit scanned page" +msgstr "" +"L'escàner encongirà la imatge per ajustar-la a la pàgina escanejada" + +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 +#, no-c-format +msgid "Set paper position : true for landscape, false for portrait" +msgstr "" +"Estableix la posició del paper: cert per a apaïsat, fals per a retrat" + +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 +#, no-c-format +msgid "Automatic threshold" +msgstr "Llindar automàtic" + +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 +#, no-c-format +msgid "" +"Automatically sets brightness, contrast, white level, gamma, noise " +"reduction and image emphasis" +msgstr "" +"Estableix automàticament la brillantor, el contrast, el nivell de blanc, " +"la gamma, la reducció del soroll i l'èmfasi de la imatge" + +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 +#, no-c-format +msgid "Noise reduction" +msgstr "Reducció del soroll" + +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 +#, no-c-format +msgid "Reduce the isolated dot noise" +msgstr "Redueix el soroll dels punts aïllats" + +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 +#, no-c-format +msgid "Image emphasis" +msgstr "Èmfasis de la imatge" + +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 +#, no-c-format +msgid "Sets the image emphasis" +msgstr "Estableix l'èmfasi de la imatge" + +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 +#, no-c-format +msgid "Gamma" +msgstr "Gamma" + +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 +#, no-c-format +msgid "Lamp color" +msgstr "Color de la llum" + +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 +#, no-c-format +msgid "Sets the lamp color (color dropout)" +msgstr "Estableix el color de la llum (descarta el color)" + +#: backend/kvs1025_opt.c:831 +#, no-c-format +msgid "Inverse image in B/W or halftone mode" +msgstr "Imatge inversa en el mode B/N o semi to" + +#: backend/kvs1025_opt.c:839 +#, no-c-format +msgid "Mirror image (left/right flip)" +msgstr "Reflecteix la imatge (volteja a l'esquerra/dreta)" + +#: backend/kvs1025_opt.c:846 +#, no-c-format +msgid "jpeg compression" +msgstr "Compressió del JPEG" + +#: backend/kvs1025_opt.c:849 +#, no-c-format +msgid "JPEG Image Compression with Q parameter, '0' - no compression" +msgstr "" +"Compressió de la imatge JPEG amb el paràmetre Q, «0»: sense compressió" + +#: backend/kvs1025_opt.c:859 +#, no-c-format +msgid "Rotate image clockwise" +msgstr "Gira la imatge en sentit horari" + +#: backend/kvs1025_opt.c:861 +#, no-c-format +msgid "Request driver to rotate pages by a fixed amount" +msgstr "" +"Sol·licita al controlador que giri les pàgines per una quantitat fixa" + +#: backend/kvs1025_opt.c:873 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally" +msgstr "" +"Sol·licita al controlador que giri les pàgines inclinades de forma " +"digital" + +#: backend/kvs1025_opt.c:882 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan" +msgstr "Diàmetre màxim dels punts solitaris per eliminar-los de l'escaneig" + +#: backend/kvs1025_opt.c:901 +#, no-c-format +msgid "Software automatic cropping" +msgstr "Escapçat automàtic per programari" + +#: backend/kvs1025_opt.c:903 +#, no-c-format +msgid "Request driver to remove border from pages digitally" +msgstr "" +"Sol·licita al controlador que elimini la vora de les pàgines de forma " +"digital" + +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode is a mode that the scanner reads up to the shorter " +"length of actual paper or logical document length." +msgstr "" +"El mode control de la longitud és un mode on l'escàner llegirà fins a la " +"longitud més curta del paper real o la longitud lògica del document." + +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 +#, no-c-format +msgid "Gamma correction" +msgstr "Correcció de la gamma" + +#: backend/kvs40xx_opt.c:117 +#, no-c-format +msgid "wait_doc_hopper_up" +msgstr "espera_la_tolva_de_documents" + +#: backend/kvs40xx_opt.c:127 +#, no-c-format +msgid "A3" +msgstr "A3" + +#: backend/kvs40xx_opt.c:132 +#, no-c-format +msgid "Double letter 11x17 in" +msgstr "Doble lletra 11x17 a" + +#: backend/kvs40xx_opt.c:133 +#, no-c-format +msgid "B4" +msgstr "B4" + +#: backend/kvs40xx_opt.c:231 +#, no-c-format +msgid "High sensivity" +msgstr "Alta sensibilitat" + +#: backend/kvs40xx_opt.c:232 +#, no-c-format +msgid "Low sensivity" +msgstr "Baixa sensibilitat" + +#: backend/kvs40xx_opt.c:243 +#, no-c-format +msgid "err_diffusion" +msgstr "difusió_errònia" + +#: backend/kvs40xx_opt.c:249 +#, no-c-format +msgid "No detection" +msgstr "Sense detecció" + +#: backend/kvs40xx_opt.c:250 +#, no-c-format +msgid "Normal mode" +msgstr "Mode normal" + +#: backend/kvs40xx_opt.c:251 +#, no-c-format +msgid "Enhanced mode" +msgstr "Mode millorat" + +#: backend/kvs40xx_opt.c:405 +#, no-c-format +msgid "" +"Long Paper Mode is a mode that the scanner reads the image after it " +"divides long paper by the length which is set in Document Size option." +msgstr "" +"El mode paper llarg és un mode en el qual l'escàner llegeix la imatge " +"després de dividir el paper llarg per la longitud que s'estableix a " +"l'opció Mida del document." + +#: backend/kvs40xx_opt.c:449 +#, no-c-format +msgid "Double feed detector sensitivity" +msgstr "Sensibilitat del detector de doble alimentació" + +#: backend/kvs40xx_opt.c:450 +#, no-c-format +msgid "Set the double feed detector sensitivity" +msgstr "Estableix la sensibilitat del detector de doble alimentació" + +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 +#, no-c-format +msgid "Do not stop after double feed detection" +msgstr "No aturis després de la detecció de doble alimentació" + +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 +#, no-c-format +msgid "Ignore left double feed sensor" +msgstr "Ignora el sensor esquerre de doble alimentació" + +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 +#, no-c-format +msgid "Ignore center double feed sensor" +msgstr "Ignora el sensor central de doble alimentació" + +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 +#, no-c-format +msgid "Ignore right double feed sensor" +msgstr "Ignora el sensor dret de doble alimentació" + +#: backend/kvs40xx_opt.c:642 +#, no-c-format +msgid "Automatic threshold mode" +msgstr "Mode llindar automàtic" + +#: backend/kvs40xx_opt.c:643 +#, no-c-format +msgid "Sets the automatic threshold mode" +msgstr "Estableix el mode llindar automàtic" + +#: backend/kvs40xx_opt.c:694 +#, no-c-format +msgid "Inverse image in B/W mode" +msgstr "Imatge inversa en el mode B/N" + +#: backend/kvs40xx_opt.c:715 +#, no-c-format +msgid "JPEG compression" +msgstr "Compressió del JPEG" + +#: backend/kvs40xx_opt.c:718 +#, no-c-format +msgid "JPEG compression (yours application must be able to uncompress)" +msgstr "" +"Compressió del JPEG (l'aplicació vostra l'haurà de poder descomprimir)" + +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 +#, no-c-format +msgid "Detect stapled document" +msgstr "Detecta un document grapat" + +#: backend/kvs40xx_opt.c:776 +#, no-c-format +msgid "chroma of red" +msgstr "Croma del color vermell" + +#: backend/kvs40xx_opt.c:777 +#, no-c-format +msgid "Set chroma of red" +msgstr "Estableix la croma del color vermell" + +#: backend/kvs40xx_opt.c:787 +#, no-c-format +msgid "chroma of blue" +msgstr "Croma del color blau" + +#: backend/kvs40xx_opt.c:788 +#, no-c-format +msgid "Set chroma of blue" +msgstr "Estableix la croma del color blau" + +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 +#, no-c-format +msgid "Skew adjustment" +msgstr "Ajustament de la inclinació" + +#: backend/kvs40xx_opt.c:808 +#, no-c-format +msgid "Stop scanner when a paper have been skewed" +msgstr "Atura l'escàner quan un paper estigui inclinat" + +#: backend/kvs40xx_opt.c:809 +#, no-c-format +msgid "Scanner will be stop when a paper have been skewed" +msgstr "S'aturarà l'escàner quan un paper estigui inclinat" + +#: backend/kvs40xx_opt.c:816 +#, no-c-format +msgid "Crop actual image area" +msgstr "Escapça una àrea de la imatge real" + +#: backend/kvs40xx_opt.c:817 +#, no-c-format +msgid "Scanner automatically detect image area and crop it" +msgstr "" +"L'escàner detectarà automàticament l'àrea de la imatge i l'escapçarà" + +#: backend/kvs40xx_opt.c:827 +#, no-c-format +msgid "It is right and left reversing" +msgstr "Torna a la dreta i a l'esquerra" + +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 +#, no-c-format +msgid "Addition of space in top position" +msgstr "Afegeix un espai a la posició superior" + +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 +#, no-c-format +msgid "Addition of space in bottom position" +msgstr "Afegeix un espai a la posició inferior" + +#: backend/leo.c:110 +#, no-c-format +msgid "Diamond" +msgstr "Diamant" + +#: backend/leo.c:111 +#, no-c-format +msgid "8x8 Coarse Fatting" +msgstr "Engreix gruixut 8x8" + +#: backend/leo.c:112 +#, no-c-format +msgid "8x8 Fine Fatting" +msgstr "Engreix fi 8x8" + +#: backend/leo.c:113 +#, no-c-format +msgid "8x8 Bayer" +msgstr "Bayer 8x8" + +#: backend/leo.c:114 +#, no-c-format +msgid "8x8 Vertical Line" +msgstr "Línia vertical 8x8" + +#: backend/lexmark.c:273 backend/umax_pp.c:715 +#, no-c-format +msgid "Gain" +msgstr "Guany" + +#: backend/lexmark.c:274 backend/umax_pp.c:716 +#, no-c-format +msgid "Color channels gain settings" +msgstr "Ajustaments del guany per als canals de color" + +#: backend/lexmark.c:283 backend/umax_pp.c:723 +#, no-c-format +msgid "Gray gain" +msgstr "Guany del gris" + +#: backend/lexmark.c:284 backend/umax_pp.c:724 +#, no-c-format +msgid "Sets gray channel gain" +msgstr "Estableix el guany del canal gris" + +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#, no-c-format +msgid "Red gain" +msgstr "Guany del vermell" + +#: backend/lexmark.c:298 backend/umax_pp.c:736 +#, no-c-format +msgid "Sets red channel gain" +msgstr "Estableix el guany del canal vermell" + +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#, no-c-format +msgid "Green gain" +msgstr "Guany del verd" + +#: backend/lexmark.c:312 backend/umax_pp.c:748 +#, no-c-format +msgid "Sets green channel gain" +msgstr "Estableix el guany del canal verd" + +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#, no-c-format +msgid "Blue gain" +msgstr "Guany del blau" + +#: backend/lexmark.c:326 backend/umax_pp.c:760 +#, no-c-format +msgid "Sets blue channel gain" +msgstr "Estableix el guany del canal blau" + +#: backend/matsushita.c:139 +#, no-c-format +msgid "Bayer Dither 16" +msgstr "Trama 16 de Bayer" + +#: backend/matsushita.c:140 +#, no-c-format +msgid "Bayer Dither 64" +msgstr "Trama 64 de Bayer" + +#: backend/matsushita.c:141 +#, no-c-format +msgid "Halftone Dot 32" +msgstr "Punt 32 de semi to" + +#: backend/matsushita.c:142 +#, no-c-format +msgid "Halftone Dot 64" +msgstr "Punt 64 de semi to" + +#: backend/matsushita.c:143 +#, no-c-format +msgid "Error Diffusion" +msgstr "Difusió dels errors" + +#: backend/matsushita.c:160 +#, no-c-format +msgid "Mode 1" +msgstr "Mode 1" + +#: backend/matsushita.c:161 +#, no-c-format +msgid "Mode 2" +msgstr "Mode 2" + +#: backend/matsushita.c:162 +#, no-c-format +msgid "Mode 3" +msgstr "Mode 3" + +#: backend/matsushita.c:176 +#, no-c-format +msgid "From white stick" +msgstr "Des del pal blanc" + +#: backend/matsushita.c:212 +#, no-c-format +msgid "Smooth" +msgstr "Suavitzat" + +#: backend/matsushita.c:214 backend/matsushita.c:229 +#, no-c-format +msgid "Low" +msgstr "Baix" + +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 +#, no-c-format +msgid "Medium" +msgstr "Mitjana" + +#: backend/matsushita.c:216 backend/matsushita.c:231 +#, no-c-format +msgid "High" +msgstr "Alt" + +#: backend/matsushita.c:245 +#, no-c-format +msgid "CRT" +msgstr "CRT" + +#: backend/matsushita.c:257 +#, no-c-format +msgid "One page" +msgstr "Una pàgina" + +#: backend/matsushita.c:258 +#, no-c-format +msgid "All pages" +msgstr "Totes les pàgines" + +#: backend/matsushita.c:1034 backend/plustek.c:1333 +#, no-c-format +msgid "sheetfed scanner" +msgstr "escàner alimentat per fulls" + +#: backend/matsushita.h:209 +#, no-c-format +msgid "Grayscale 4 bits" +msgstr "Escala de grisos en 4 bits" + +#: backend/matsushita.h:210 +#, no-c-format +msgid "Grayscale 8 bits" +msgstr "Escala de grisos en 8 bits" + +#: backend/microtek2.h:601 +#, no-c-format +msgid "Shadow, midtone, highlight, exposure time" +msgstr "Ombra, semi to, llum intensa, temps d'exposició" + +#: backend/microtek2.h:603 +#, no-c-format +msgid "Special options" +msgstr "Opcions especials" + +#: backend/microtek2.h:604 +#, no-c-format +msgid "Color balance" +msgstr "Equilibri de color" + +#: backend/microtek2.h:607 +#, no-c-format +msgid "Disable backtracking" +msgstr "Inhabilita el retrocés" + +#: backend/microtek2.h:608 +#, no-c-format +msgid "If checked the scanner does not perform backtracking" +msgstr "Si està marcada, l'escàner no realitzarà cap retrocés" + +#: backend/microtek2.h:612 +#, no-c-format +msgid "Toggle lamp of flatbed" +msgstr "Commuta la llum de la superfície plana" + +#: backend/microtek2.h:613 +#, no-c-format +msgid "Toggles the lamp of the flatbed" +msgstr "Commuta la llum de la superfície plana" + +#: backend/microtek2.h:616 +#, no-c-format +msgid "Calibration by backend" +msgstr "Calibratge fet pel dorsal" + +#: backend/microtek2.h:617 +#, no-c-format +msgid "" +"If checked the color calibration before a scan is done by the backend" +msgstr "" +"Si està marcada, el dorsal realitzarà el calibratge de color abans " +"d'escanejar" + +#: backend/microtek2.h:621 +#, no-c-format +msgid "Use the lightlid-35mm adapter" +msgstr "Usa l'adaptador «lightlid-35mm»" + +#: backend/microtek2.h:622 +#, no-c-format +msgid "This option turns off the lamp of the flatbed during a scan" +msgstr "" +"Aquesta opció desactiva la llum de la superfície plana durant un " +"escanejat" + +#: backend/microtek2.h:626 backend/snapscan-options.c:421 +#, no-c-format +msgid "Quality scan" +msgstr "Qualitat de l'escaneig" + +#: backend/microtek2.h:627 backend/snapscan-options.c:422 +#, no-c-format +msgid "Highest quality but lower speed" +msgstr "Màxima qualitat però menor velocitat" + +#: backend/microtek2.h:630 +#, no-c-format +msgid "Fast scan" +msgstr "Escanejat ràpid" + +#: backend/microtek2.h:631 +#, no-c-format +msgid "Highest speed but lower quality" +msgstr "Màxima velocitat però menor qualitat" + +#: backend/microtek2.h:634 +#, no-c-format +msgid "Automatic adjustment of threshold" +msgstr "Ajustament automàtic del llindar" + +#: backend/microtek2.h:635 +#, no-c-format +msgid "" +"If checked the backend automatically tries to determine an optimal value " +"for the threshold." +msgstr "" +"Si està marcada, el dorsal intentarà determinar de manera automàtica un " +"valor òptim per al llindar." + +#: backend/microtek2.h:641 +#, no-c-format +msgid "Selects the gamma correction mode." +msgstr "Selecciona el mode correcció de la gamma." + +#: backend/microtek2.h:644 +#, no-c-format +msgid "Bind gamma" +msgstr "Enllaça amb la gamma" + +#: backend/microtek2.h:645 +#, no-c-format +msgid "Use same gamma values for all colour channels." +msgstr "" +"Usa els mateixos valors de la gamma per a tots els canals de color." + +#: backend/microtek2.h:649 +#, no-c-format +msgid "Scalar gamma" +msgstr "Gamma escalar" + +#: backend/microtek2.h:650 +#, no-c-format +msgid "Selects a value for scalar gamma correction." +msgstr "Selecciona un valor per a la correcció de la gamma escalar." + +#: backend/microtek2.h:654 +#, no-c-format +msgid "Scalar gamma red" +msgstr "Gamma escalar del vermell" + +#: backend/microtek2.h:655 +#, no-c-format +msgid "Selects a value for scalar gamma correction (red channel)" +msgstr "" +"Selecciona un valor per a la correcció de la gamma escalar (canal " +"vermell)" + +#: backend/microtek2.h:659 +#, no-c-format +msgid "Scalar gamma green" +msgstr "Gamma escalar del verd" + +#: backend/microtek2.h:660 +#, no-c-format +msgid "Selects a value for scalar gamma correction (green channel)" +msgstr "" +"Selecciona un valor per a la correcció de la gamma escalar (canal verd)" + +#: backend/microtek2.h:664 +#, no-c-format +msgid "Scalar gamma blue" +msgstr "Gamma escalar del blau" + +#: backend/microtek2.h:665 +#, no-c-format +msgid "Selects a value for scalar gamma correction (blue channel)" +msgstr "" +"Selecciona un valor per a la correcció de la gamma escalar (canal blau)" + +#: backend/microtek2.h:669 +#, no-c-format +msgid "Channel" +msgstr "Canal" + +#: backend/microtek2.h:670 +#, no-c-format +msgid "" +"Selects the colour band, \"Master\" means that all colours are affected." +msgstr "" +"Selecciona la banda de colors, «Màster» voldrà dir que afectarà a tots " +"els colors." + +#: backend/microtek2.h:674 +#, no-c-format +msgid "Midtone" +msgstr "Semi to" + +#: backend/microtek2.h:675 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % gray\"." +msgstr "" +"Selecciona quin nivell de radiància s'haurà de considerar «50% gris»." + +#: backend/microtek2.h:679 +#, no-c-format +msgid "Midtone for red" +msgstr "Semi to per al vermell" + +#: backend/microtek2.h:680 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % red\"." +msgstr "" +"Selecciona quin nivell de radiància s'haurà de considerar «50% vermell»." + +#: backend/microtek2.h:684 +#, no-c-format +msgid "Midtone for green" +msgstr "Semi to per al verd" + +#: backend/microtek2.h:685 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % green\"." +msgstr "" +"Selecciona quin nivell de radiància s'haurà de considerar «50% verd»." + +#: backend/microtek2.h:689 +#, no-c-format +msgid "Midtone for blue" +msgstr "Semi to per al blau" + +#: backend/microtek2.h:690 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % blue\"." +msgstr "" +"Selecciona quin nivell de radiància s'haurà de considerar «50% blau»." + +#: backend/microtek2.h:694 +#, no-c-format +msgid "Red balance" +msgstr "Equilibri del vermell" + +#: backend/microtek2.h:695 +#, no-c-format +msgid "Balance factor for red. A value of 100% means no correction." +msgstr "" +"Equilibra el factor per al vermell. Un valor del 100% voldrà dir sense " +"correcció." + +#: backend/microtek2.h:699 +#, no-c-format +msgid "Green balance" +msgstr "Equilibri del verd" + +#: backend/microtek2.h:700 +#, no-c-format +msgid "Balance factor for green. A value of 100% means no correction." +msgstr "" +"Equilibra el factor per al verd. Un valor del 100% voldrà dir sense " +"correcció." + +#: backend/microtek2.h:704 +#, no-c-format +msgid "Blue balance" +msgstr "Equilibri del blau" + +#: backend/microtek2.h:705 +#, no-c-format +msgid "Balance factor for blue. A value of 100% means no correction." +msgstr "" +"Equilibra el factor per al blau. Un valor del 100% voldrà dir sense " +"correcció." + +#: backend/microtek2.h:709 +#, no-c-format +msgid "Firmware balance" +msgstr "Equilibri per microprogramari" + +#: backend/microtek2.h:710 +#, no-c-format +msgid "Sets the color balance values to the firmware provided values." +msgstr "" +"Estableix els valors per a l'equilibri de color als valors proporcionats " +"pel microprogramari." + +#: backend/mustek.c:149 +#, no-c-format +msgid "Slowest" +msgstr "El més lent" + +#: backend/mustek.c:149 +#, no-c-format +msgid "Slower" +msgstr "Lent" + +#: backend/mustek.c:150 +#, no-c-format +msgid "Faster" +msgstr "Ràpid" + +#: backend/mustek.c:150 +#, no-c-format +msgid "Fastest" +msgstr "El més ràpid" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 coarse" +msgstr "Gruixut 8x8" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 normal" +msgstr "Normal 8x8" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 fine" +msgstr "Fina 8x8" + +#: backend/mustek.c:178 +#, no-c-format +msgid "8x8 very fine" +msgstr "Molt fina 8x8" + +#: backend/mustek.c:178 +#, no-c-format +msgid "6x6 normal" +msgstr "Normal 6x6" + +#: backend/mustek.c:179 +#, no-c-format +msgid "5x5 coarse" +msgstr "Gruixut 5x5" + +#: backend/mustek.c:179 +#, no-c-format +msgid "5x5 fine" +msgstr "Fina 5x5" + +#: backend/mustek.c:179 +#, no-c-format +msgid "4x4 coarse" +msgstr "Gruixut 4x4" + +#: backend/mustek.c:180 +#, no-c-format +msgid "4x4 normal" +msgstr "Normal 4x4" + +#: backend/mustek.c:180 +#, no-c-format +msgid "4x4 fine" +msgstr "Fina 4x4" + +#: backend/mustek.c:180 +#, no-c-format +msgid "3x3 normal" +msgstr "Normal 3x3" + +#: backend/mustek.c:181 +#, no-c-format +msgid "2x2 normal" +msgstr "Normal 2x2" + +#: backend/mustek.c:181 +#, no-c-format +msgid "8x8 custom" +msgstr "A mida 8x8" + +#: backend/mustek.c:182 +#, no-c-format +msgid "6x6 custom" +msgstr "A mida 6x6" + +#: backend/mustek.c:183 +#, no-c-format +msgid "5x5 custom" +msgstr "A mida 5x5" + +#: backend/mustek.c:183 +#, no-c-format +msgid "4x4 custom" +msgstr "A mida 4x4" + +#: backend/mustek.c:184 +#, no-c-format +msgid "3x3 custom" +msgstr "A mida 3x3" + +#: backend/mustek.c:185 +#, no-c-format +msgid "2x2 custom" +msgstr "A mida 2x2" + +#: backend/mustek.c:4247 +#, no-c-format +msgid "Fast gray mode" +msgstr "Mode gris ràpid" + +#: backend/mustek.c:4248 +#, no-c-format +msgid "Scan in fast gray mode (lower quality)." +msgstr "Escaneja en el mode gris ràpid (qualitat baixa)." + +#: backend/mustek.c:4345 +#, no-c-format +msgid "" +"Request that all previews are done in the fastest (low-quality) mode. " +"This may be a non-color mode or a low resolution mode." +msgstr "" +"Demana que totes les vistes prèvies es facin en el mode més ràpid (baixa " +"qualitat). Aquestes poden ser en un mode sense color o un mode amb baixa " +"resolució." + +#: backend/mustek.c:4353 +#, no-c-format +msgid "Lamp off time (minutes)" +msgstr "Temps per apagar la làmpada (minuts)" + +#: backend/mustek.c:4354 +#, no-c-format +msgid "Set the time (in minutes) after which the lamp is shut off." +msgstr "Estableix el temps (en minuts) després del qual s'apagarà la llum." + +#: backend/mustek.c:4365 +#, no-c-format +msgid "Turn lamp off" +msgstr "Apaga la làmpada" + +#: backend/mustek.c:4366 +#, no-c-format +msgid "Turns the lamp off immediately." +msgstr "Apaga immediatament la llum." + +#: backend/mustek.c:4443 +#, no-c-format +msgid "Red brightness" +msgstr "Brillantor del vermell" + +#: backend/mustek.c:4444 +#, no-c-format +msgid "Controls the brightness of the red channel of the acquired image." +msgstr "Controla la brillantor del canal vermell de la imatge obtinguda." + +#: backend/mustek.c:4456 +#, no-c-format +msgid "Green brightness" +msgstr "Brillantor del verd" + +#: backend/mustek.c:4457 +#, no-c-format +msgid "Controls the brightness of the green channel of the acquired image." +msgstr "Controla la brillantor del canal verd de la imatge obtinguda." + +#: backend/mustek.c:4469 +#, no-c-format +msgid "Blue brightness" +msgstr "Brillantor del blau" + +#: backend/mustek.c:4470 +#, no-c-format +msgid "Controls the brightness of the blue channel of the acquired image." +msgstr "Controla la brillantor del canal blau de la imatge obtinguda." + +#: backend/mustek.c:4495 +#, no-c-format +msgid "Contrast red channel" +msgstr "Contrast del canal vermell" + +#: backend/mustek.c:4496 +#, no-c-format +msgid "Controls the contrast of the red channel of the acquired image." +msgstr "Controla el contrast del canal vermell de la imatge obtinguda." + +#: backend/mustek.c:4508 +#, no-c-format +msgid "Contrast green channel" +msgstr "Contrast del canal verd" + +#: backend/mustek.c:4509 +#, no-c-format +msgid "Controls the contrast of the green channel of the acquired image." +msgstr "Controla el contrast del canal verd de la imatge obtinguda." + +#: backend/mustek.c:4521 +#, no-c-format +msgid "Contrast blue channel" +msgstr "Contrast del canal blau" + +#: backend/mustek.c:4522 +#, no-c-format +msgid "Controls the contrast of the blue channel of the acquired image." +msgstr "Controla el contrast del canal blau de la imatge obtinguda." + +#: backend/mustek_usb2.c:105 +#, no-c-format +msgid "Color48" +msgstr "Color48" + +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 +#, no-c-format +msgid "Color24" +msgstr "Color24" + +#: backend/mustek_usb2.c:107 +#, no-c-format +msgid "Gray16" +msgstr "Gris16" + +#: backend/mustek_usb2.c:108 +#, no-c-format +msgid "Gray8" +msgstr "Gris8" + +#: backend/mustek_usb2.c:119 +#, no-c-format +msgid "Reflective" +msgstr "Reflectant" + +#: backend/mustek_usb2.c:120 +#, no-c-format +msgid "Positive" +msgstr "Positiu" + +#: backend/mustek_usb2.c:421 +#, no-c-format +msgid "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"40 seconds warm-up time." +msgstr "" +"Escalfa fins que la brillantor de la làmpada sigui constant en comptes " +"d'insistir en el temps d'escalfament de 40 segons." + +#: backend/pixma.c:397 +#, no-c-format +msgid "Negative color" +msgstr "Color en negatiu" + +#: backend/pixma.c:402 +#, no-c-format +msgid "Negative gray" +msgstr "Gris en negatiu" + +#: backend/pixma.c:415 +#, no-c-format +msgid "48 bits color" +msgstr "Color de 48 bits" + +#: backend/pixma.c:420 +#, no-c-format +msgid "16 bits gray" +msgstr "Gris de 16 bits" + +#: backend/pixma_sane_options.c:84 +#, no-c-format +msgid "" +"Selects the scan source (such as a document-feeder). Set source before " +"mode and resolution. Resets mode and resolution to auto values." +msgstr "" +"Selecciona la font de l'escàner font (com un alimentador de documents). " +"Estableix la font abans del mode i la resolució. Restaura el mode i la " +"resolució als valors automàtics." + +#: backend/pixma_sane_options.c:98 +#, no-c-format +msgid "Button-controlled scan" +msgstr "Escaneig controlat pels botons" + +#: backend/pixma_sane_options.c:99 +#, no-c-format +msgid "" +"When enabled, scan process will not start immediately. To proceed, press " +"\"SCAN\" button (for MP150) or \"COLOR\" button (for other models). To " +"cancel, press \"GRAY\" button." +msgstr "" +"Quan està habilitat, el procés d'escaneig no s'iniciarà immediatament. " +"Per a continuar, premeu el botó «Escaneja» (per a MP150) o el botó " +"«Color» (per a altres models). Per a cancel·lar, premeu el botó «Gris»." + +#: backend/pixma_sane_options.c:232 +#, no-c-format +msgid "Update button state" +msgstr "Actualitza l'estat del botó" + +#: backend/pixma_sane_options.c:244 +#, no-c-format +msgid "Button 1" +msgstr "Botó 1" + +#: backend/pixma_sane_options.c:258 +#, no-c-format +msgid "Button 2" +msgstr "Botó 2" + +#: backend/pixma_sane_options.c:272 +#, no-c-format +msgid "Type of original to scan" +msgstr "Tipus de l'original a escanejar" + +#: backend/pixma_sane_options.c:286 +#, no-c-format +msgid "Target operation type" +msgstr "Tipus de l'operació de destinació" + +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "Temps d'espera per a l'ADF" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" +"Quan s'estableix, l'escàner cerca el temps d'espera en segons perquè " +"s'insereixi un document nou a l'alimentador automàtic de documents." + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 +#, no-c-format +msgid "Transparency" +msgstr "Transparència" + +#: backend/plustek.c:913 +#, no-c-format +msgid "Device-Settings" +msgstr "Ajustaments del dispositiu" + +#: backend/plustek.c:920 +#, no-c-format +msgid "Lampswitch" +msgstr "Interruptor de la làmpada" + +#: backend/plustek.c:921 +#, no-c-format +msgid "Manually switching the lamp(s)." +msgstr "Interruptor manual de la/es làmpada/es." + +#: backend/plustek.c:926 +#, no-c-format +msgid "Lamp off during dark calibration" +msgstr "Apaga la làmpada durant el calibratge fosc" + +#: backend/plustek.c:927 +#, no-c-format +msgid "Always switches lamp off when doing dark calibration." +msgstr "Apaga sempre la làmpada quan es fa el calibratge fosc." + +#: backend/plustek.c:935 +#, no-c-format +msgid "Calibration data cache" +msgstr "Cau per a les dades de calibratge" + +#: backend/plustek.c:936 +#, no-c-format +msgid "Enables or disables calibration data cache." +msgstr "Habilita o inhabilita el cau per a les dades de calibratge." + +#: backend/plustek.c:942 +#, no-c-format +msgid "Performs calibration" +msgstr "Realitza el calibratge" + +#: backend/plustek.c:959 +#, no-c-format +msgid "Speedup sensor" +msgstr "Sensor de l'acceleració" + +#: backend/plustek.c:960 +#, no-c-format +msgid "Enables or disables speeding up sensor movement." +msgstr "Habilita o inhabilita el moviment del sensor de l'acceleració." + +#: backend/plustek.c:974 +#, no-c-format +msgid "Warmup-time" +msgstr "Temps d'escalfament" + +#: backend/plustek.c:975 +#, no-c-format +msgid "Warmup-time in seconds." +msgstr "Temps d'escalfament en segons." + +#: backend/plustek.c:987 +#, no-c-format +msgid "Lampoff-time" +msgstr "Temps per apagar la làmpada" + +#: backend/plustek.c:988 +#, no-c-format +msgid "Lampoff-time in seconds." +msgstr "Temps per apagar la làmpada en segons." + +#: backend/plustek.c:995 +#, no-c-format +msgid "Analog frontend" +msgstr "Frontal analògic" + +#: backend/plustek.c:1002 +#, no-c-format +msgid "Red gain value of the AFE" +msgstr "Valor de guany del vermell de l'AFE" + +#: backend/plustek.c:1009 backend/umax_pp.c:792 +#, no-c-format +msgid "Red offset" +msgstr "Desplaçament del vermell" + +#: backend/plustek.c:1010 +#, no-c-format +msgid "Red offset value of the AFE" +msgstr "Valor de desplaçament del vermell de l'AFE" + +#: backend/plustek.c:1018 +#, no-c-format +msgid "Green gain value of the AFE" +msgstr "Valor de guany del verd de l'AFE" + +#: backend/plustek.c:1026 +#, no-c-format +msgid "Green offset value of the AFE" +msgstr "Valor de desplaçament del verd de l'AFE" + +#: backend/plustek.c:1034 +#, no-c-format +msgid "Blue gain value of the AFE" +msgstr "Valor de guany del blau de l'AFE" + +#: backend/plustek.c:1042 +#, no-c-format +msgid "Blue offset value of the AFE" +msgstr "Valor de desplaçament del blau de l'AFE" + +#: backend/plustek.c:1049 +#, no-c-format +msgid "Red lamp off" +msgstr "Llum vermella apagada" + +#: backend/plustek.c:1050 +#, no-c-format +msgid "Defines red lamp off parameter" +msgstr "Defineix el paràmetre per apagar la llum vermella" + +#: backend/plustek.c:1057 +#, no-c-format +msgid "Green lamp off" +msgstr "Llum verda apagada" + +#: backend/plustek.c:1058 +#, no-c-format +msgid "Defines green lamp off parameter" +msgstr "Defineix el paràmetre per apagar la llum verda" + +#: backend/plustek.c:1065 +#, no-c-format +msgid "Blue lamp off" +msgstr "Llum blava apagada" + +#: backend/plustek.c:1066 +#, no-c-format +msgid "Defines blue lamp off parameter" +msgstr "Defineix el paràmetre per apagar la llum blava" + +#: backend/plustek.c:1096 +#, no-c-format +msgid "This option reflects the status of the scanner buttons." +msgstr "Aquesta opció reflecteix l'estat dels botons de l'escàner." + +#: backend/plustek_pp.c:197 +#, no-c-format +msgid "Color36" +msgstr "Color36" + +#: backend/plustek_pp.c:211 +#, no-c-format +msgid "Dithermap 1" +msgstr "Mapa amb trama 1" + +#: backend/plustek_pp.c:212 +#, no-c-format +msgid "Dithermap 2" +msgstr "Mapa amb trama 2" + +#: backend/plustek_pp.c:213 +#, no-c-format +msgid "Randomize" +msgstr "Aleatori" + +#: backend/pnm.c:168 +#, no-c-format +msgid "Source Selection" +msgstr "Selecció de la font" + +#: backend/pnm.c:205 +#, no-c-format +msgid "Image Enhancement" +msgstr "Millora de la imatge" + +#: backend/pnm.c:241 +#, no-c-format +msgid "Grayify" +msgstr "Grisifica" + +#: backend/pnm.c:242 +#, no-c-format +msgid "Load the image as grayscale." +msgstr "Carrega la imatge en escala de grisos." + +#: backend/pnm.c:253 +#, no-c-format +msgid "Three-Pass Simulation" +msgstr "Simulació de tres passos" + +#: backend/pnm.c:255 +#, no-c-format +msgid "" +"Simulate a three-pass scanner by returning 3 separate frames. For " +"kicks, it returns green, then blue, then red." +msgstr "" +"Simula un escàner de tres passos en retornar 3 fotogrames separats. Per " +"a diversió, retorna al verd, llavors al blau i llavors al vermell." + +#: backend/pnm.c:267 +#, no-c-format +msgid "Hand-Scanner Simulation" +msgstr "Simulació d'un escàner manual" + +#: backend/pnm.c:268 +#, no-c-format +msgid "" +"Simulate a hand-scanner. Hand-scanners often do not know the image " +"height a priori. Instead, they return a height of -1. Setting this " +"option allows one to test whether a frontend can handle this correctly." +msgstr "" +"Simula un escàner manual. Els escàners manuals sovint no coneixen " +"l'alçada de la imatge. En canvi, retornen una alçada de -1. En establir " +"aquesta opció, es pot comprovar si un frontal pot gestionar-la " +"correctament." + +#: backend/pnm.c:283 +#, no-c-format +msgid "" +"Set default values for enhancement controls (brightness & contrast)." +msgstr "" +"Estableix els valors predeterminats per als controls de millora " +"(brillantor i contrast)." + +#: backend/pnm.c:295 +#, no-c-format +msgid "Read only test-option" +msgstr "Opció de prova per a només de lectura" + +#: backend/pnm.c:296 +#, no-c-format +msgid "Let's see whether frontends can treat this right" +msgstr "Permet veure si els frontals poden tractar això correctament" + +#: backend/pnm.c:307 +#, no-c-format +msgid "Gamma Tables" +msgstr "Taules de gamma" + +#: backend/pnm.c:379 +#, no-c-format +msgid "Status Code Simulation" +msgstr "Simulació del codi d'estat" + +#: backend/pnm.c:391 +#, no-c-format +msgid "Do not force status code" +msgstr "No força el codi d'estat" + +#: backend/pnm.c:392 +#, no-c-format +msgid "Do not force the backend to return a status code." +msgstr "No força al dorsal a què retorni un codi d'estat." + +#: backend/pnm.c:403 +#, no-c-format +msgid "Return SANE_STATUS_EOF" +msgstr "Retorna «SANE_STATUS_EOF»" + +#: backend/pnm.c:404 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_EOF after " +"sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorni el codi d'estat «SANE_STATUS_EOF» després " +"de cridar al «sane_read()»." + +#: backend/pnm.c:416 +#, no-c-format +msgid "Return SANE_STATUS_JAMMED" +msgstr "Retorna «SANE_STATUS_JAMMED»" + +#: backend/pnm.c:418 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_JAMMED after " +"sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorni el codi d'estat «SANE_STATUS_JAMMED» " +"després de cridar al «sane_read()»." + +#: backend/pnm.c:430 +#, no-c-format +msgid "Return SANE_STATUS_NO_DOCS" +msgstr "Retorna «SANE_STATUS_NO_DOCS»" + +#: backend/pnm.c:431 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_NO_DOCS after " +"sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorni el codi d'estat «SANE_STATUS_NO_DOCS» " +"després de cridar al «sane_read()»." + +#: backend/pnm.c:443 +#, no-c-format +msgid "Return SANE_STATUS_COVER_OPEN" +msgstr "Retorna «SANE_STATUS_COVER_OPEN»" + +#: backend/pnm.c:444 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_COVER_OPEN after " +"sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorni el codi d'estat «SANE_STATUS_COVER_OPEN» " +"després de cridar al «sane_read()»." + +#: backend/pnm.c:456 +#, no-c-format +msgid "Return SANE_STATUS_IO_ERROR" +msgstr "Retorna «SANE_STATUS_IO_ERROR»" + +#: backend/pnm.c:457 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_IO_ERROR after " +"sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorni el codi d'estat «SANE_STATUS_IO_ERROR» " +"després de cridar al «sane_read()»." + +#: backend/pnm.c:469 +#, no-c-format +msgid "Return SANE_STATUS_NO_MEM" +msgstr "Retorna «SANE_STATUS_NO_MEM»" + +#: backend/pnm.c:471 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_NO_MEM after " +"sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorni el codi d'estat «SANE_STATUS_NO_MEM» " +"després de cridar al «sane_read()»." + +#: backend/pnm.c:483 +#, no-c-format +msgid "Return SANE_STATUS_ACCESS_DENIED" +msgstr "Retorna «SANE_STATUS_ACCESS_DENIED»" + +#: backend/pnm.c:484 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " +"after sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorni el codi d'estat " +"«SANE_STATUS_ACCESS_DENIED» després de cridar al «sane_read()»." + +#: backend/rts8891.c:2809 +#, no-c-format +msgid "This option reflects the status of a scanner button." +msgstr "Aquesta opció reflecteix l'estat d'un botó de l'escàner." + +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#, no-c-format +msgid "Lamp on" +msgstr "Encén la làmpada" + +#: backend/rts8891.c:2841 backend/umax.c:5796 +#, no-c-format +msgid "Turn on scanner lamp" +msgstr "Encén la llum de l'escàner" + +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#, no-c-format +msgid "Lamp off" +msgstr "Apaga la làmpada" + +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#, no-c-format +msgid "Turn off scanner lamp" +msgstr "Apaga la llum de l'escàner" + +#: backend/sm3840.c:760 +#, no-c-format +msgid "Lamp timeout" +msgstr "Temps d'espera de la làmpada" + +#: backend/sm3840.c:762 +#, no-c-format +msgid "Minutes until lamp is turned off after scan" +msgstr "Minuts fins que la làmpada està apagada després d'escanejar" + +#: backend/sm3840.c:772 +#, no-c-format +msgid "Threshold value for lineart mode" +msgstr "Valor de llindar per al mode art lineal" + +#: backend/snapscan-options.c:88 +#, no-c-format +msgid "Document Feeder" +msgstr "Alimentador de documents" + +#: backend/snapscan-options.c:92 +#, no-c-format +msgid "6x4 (inch)" +msgstr "6x4 (polçades)" + +#: backend/snapscan-options.c:93 +#, no-c-format +msgid "8x10 (inch)" +msgstr "8x10 (polçades)" + +#: backend/snapscan-options.c:94 +#, no-c-format +msgid "8.5x11 (inch)" +msgstr "8.5x11 (polçades)" + +#: backend/snapscan-options.c:97 +#, no-c-format +msgid "Halftoning Unsupported" +msgstr "El semi to no està admès" + +#: backend/snapscan-options.c:98 +#, no-c-format +msgid "DispersedDot8x8" +msgstr "PuntDispers8x8" + +#: backend/snapscan-options.c:99 +#, no-c-format +msgid "DispersedDot16x16" +msgstr "PuntDispers16x16" + +#: backend/snapscan-options.c:103 +#, no-c-format +msgid "" +"Number of scan lines to request in a SCSI read. Changing this parameter " +"allows you to tune the speed at which data is read from the scanner " +"during scans. If this is set too low, the scanner will have to stop " +"periodically in the middle of a scan; if it's set too high, X-based " +"frontends may stop responding to X events and your system could bog down." +msgstr "" +"Nombre de línies d'escaneig a sol·licitar en una lectura SCSI. Si " +"canvieu aquest paràmetre, podreu ajustar la velocitat a la qual es " +"llegeixen les dades des de l'escàner durant els escanejos. Si aquest és " +"massa baix, l'escàner s'aturarà periòdicament enmig d'un escaneig. Si " +"s'estableix massa alt, els frontals basats en les X podrien deixar de " +"respondre als esdeveniments de les X i reduir-se el rendiment del " +"sistema." + +#: backend/snapscan-options.c:111 +#, no-c-format +msgid "Frame number of media holder that should be scanned." +msgstr "Número del fotograma del suport que s'haurà d'escanejar." + +#: backend/snapscan-options.c:114 +#, no-c-format +msgid "Use manual or automatic selection of focus point." +msgstr "Usa la selecció manual o automàtica del punt d'enfocament." + +#: backend/snapscan-options.c:117 +#, no-c-format +msgid "Focus point for scanning." +msgstr "Punt d'enfocament per escanejar." + +#: backend/snapscan-options.c:482 +#, no-c-format +msgid "Preview mode" +msgstr "Mode de vista prèvia" + +#: backend/snapscan-options.c:484 +#, no-c-format +msgid "" +"Select the mode for previews. Greyscale previews usually give the best " +"combination of speed and detail." +msgstr "" +"Selecciona el mode per a les vistes prèvies. Les vistes prèvies a escala " +"de grisos normalment ofereixen la millor combinació entre velocitat i " +"detall." + +#: backend/snapscan-options.c:601 +#, no-c-format +msgid "Predefined settings" +msgstr "Ajustaments predeterminats" + +#: backend/snapscan-options.c:603 +#, no-c-format +msgid "" +"Provides standard scanning areas for photographs, printed pages and the " +"like." +msgstr "" +"Proporciona àrees d'escaneig estàndard per a fotografies, pàgines " +"impreses i similars." + +#: backend/snapscan-options.c:884 +#, no-c-format +msgid "Frame" +msgstr "Marc" + +#: backend/snapscan-options.c:885 +#, no-c-format +msgid "Frame to be scanned" +msgstr "Marc a escanejar" + +#: backend/snapscan-options.c:897 +#, no-c-format +msgid "Focus-mode" +msgstr "Mode de l'enfocament" + +#: backend/snapscan-options.c:898 +#, no-c-format +msgid "Auto or manual focus" +msgstr "Enfocament automàtic o manual" + +#: backend/snapscan-options.c:911 +#, no-c-format +msgid "Focus-point" +msgstr "Punt d'enfocament" + +#: backend/snapscan-options.c:912 +#, no-c-format +msgid "Focus point" +msgstr "Punt d'enfocament" + +#: backend/snapscan-options.c:930 +#, no-c-format +msgid "Colour lines per read" +msgstr "Línies de color per a la lectura" + +#: backend/snapscan-options.c:942 +#, no-c-format +msgid "Greyscale lines per read" +msgstr "Línies en escala de grisos per a la lectura" + +#: backend/stv680.c:974 +#, no-c-format +msgid "webcam" +msgstr "Càmera web" + +#: backend/stv680.h:115 +#, no-c-format +msgid "Color RAW" +msgstr "Color RAW" + +#: backend/stv680.h:116 +#, no-c-format +msgid "Color RGB" +msgstr "Color RGB" + +#: backend/stv680.h:117 +#, no-c-format +msgid "Color RGB TEXT" +msgstr "Color RGB per al text" + +#: backend/test.c:137 +#, no-c-format +msgid "Solid black" +msgstr "Negre sòlid" + +#: backend/test.c:137 +#, no-c-format +msgid "Solid white" +msgstr "Blanc sòlid" + +#: backend/test.c:138 +#, no-c-format +msgid "Color pattern" +msgstr "Patró per al color" + +#: backend/test.c:138 +#, no-c-format +msgid "Grid" +msgstr "Quadrícula" + +#: backend/test.c:163 backend/test.c:171 +#, no-c-format +msgid "First entry" +msgstr "Primera entrada" + +#: backend/test.c:163 backend/test.c:171 +#, no-c-format +msgid "Second entry" +msgstr "Segona entrada" + +#: backend/test.c:165 +#, no-c-format +msgid "" +"This is the very long third entry. Maybe the frontend has an idea how to " +"display it" +msgstr "" +"Aquesta és la tercera entrada molt llarga. Potser el frontal té una idea " +"sobre com mostrar-la" + +#: backend/test.c:348 +#, no-c-format +msgid "Hand-scanner simulation" +msgstr "Simulació d'un escàner manual" + +#: backend/test.c:349 +#, no-c-format +msgid "" +"Simulate a hand-scanner. Hand-scanners do not know the image height a " +"priori. Instead, they return a height of -1. Setting this option " +"allows one to test whether a frontend can handle this correctly. This " +"option also enables a fixed width of 11 cm." +msgstr "" +"Simula un escàner manual. Els escàners manuals sovint no coneixen " +"l'alçada de la imatge. En canvi, retornen una alçada de -1. En establir " +"aquesta opció, es pot comprovar si un frontal pot gestionar-la " +"correctament. Aquesta opció també permet una amplada fixa d'11 cm." + +#: backend/test.c:366 +#, no-c-format +msgid "Three-pass simulation" +msgstr "Simulació de tres passos" + +#: backend/test.c:367 +#, no-c-format +msgid "" +"Simulate a three-pass scanner. In color mode, three frames are " +"transmitted." +msgstr "" +"Simula un escàner de tres passos. En mode de color, es transmeten tres " +"fotogrames." + +#: backend/test.c:382 +#, no-c-format +msgid "Set the order of frames" +msgstr "Estableix l'ordre dels fotogrames" + +#: backend/test.c:383 +#, no-c-format +msgid "Set the order of frames in three-pass color mode." +msgstr "Estableix l'ordre dels fotogrames en el mode color de tres passos." + +#: backend/test.c:416 +#, no-c-format +msgid "" +"If Automatic Document Feeder is selected, the feeder will be 'empty' " +"after 10 scans." +msgstr "" +"Si se selecciona l'alimentador automàtic de documents, l'alimentador " +"estarà «buit» després de 10 escaneigs." + +#: backend/test.c:431 +#, no-c-format +msgid "Special Options" +msgstr "Opcions especials" + +#: backend/test.c:444 +#, no-c-format +msgid "Select the test picture" +msgstr "Selecciona la fotografia de prova" + +#: backend/test.c:446 +#, no-c-format +msgid "" +"Select the kind of test picture. Available options:\n" +"Solid black: fills the whole scan with black.\n" +"Solid white: fills the whole scan with white.\n" +"Color pattern: draws various color test patterns depending on the mode.\n" +"Grid: draws a black/white grid with a width and height of 10 mm per " +"square." +msgstr "" +"Seleccioneu el tipus de la fotografia de prova. Opcions disponibles:\n" +"Negre sòlid: omple tot l'escaneig amb el negre.\n" +"Blanc sòlid: omple tot l'escaneig amb el blanc.\n" +"Patró per al color: dibuixa diversos patrons de prova per al color en " +"funció del mode.\n" +"Quadrícula: dibuixa una quadrícula en negre/blanc amb una amplada i una " +"alçada de 10 mm per quadrat." + +#: backend/test.c:467 +#, no-c-format +msgid "Invert endianness" +msgstr "Inverteix la codificació «endian»" + +#: backend/test.c:468 +#, no-c-format +msgid "" +"Exchange upper and lower byte of image data in 16 bit modes. This option " +"can be used to test the 16 bit modes of frontends, e.g. if the frontend " +"uses the correct endianness." +msgstr "" +"Intercanvi de bytes superior i inferior de dades d'imatge en els modes " +"de 16 bits. Aquesta opció es pot usar per a provar els modes de 16 bits " +"dels frontals, p. ex., si el frontal empra una codificació «endian» " +"correcta." + +#: backend/test.c:484 +#, no-c-format +msgid "Read limit" +msgstr "Límit en la lectura" + +#: backend/test.c:485 +#, no-c-format +msgid "Limit the amount of data transferred with each call to sane_read()." +msgstr "" +"Limita la quantitat de dades transferida amb cada crida al «sane_read()»." + +#: backend/test.c:498 +#, no-c-format +msgid "Size of read-limit" +msgstr "Mida per al límit en la lectura" + +#: backend/test.c:499 +#, no-c-format +msgid "" +"The (maximum) amount of data transferred with each call to sane_read()." +msgstr "" +"La quantitat (màxima) de dades transferida amb cada crida al " +"«sane_read()»." + +#: backend/test.c:514 +#, no-c-format +msgid "Read delay" +msgstr "Retard en la lectura" + +#: backend/test.c:515 +#, no-c-format +msgid "Delay the transfer of data to the pipe." +msgstr "Retarda la transferència de les dades a la canonada." + +#: backend/test.c:527 +#, no-c-format +msgid "Duration of read-delay" +msgstr "Durada del retard en la lectura" + +#: backend/test.c:528 +#, no-c-format +msgid "" +"How long to wait after transferring each buffer of data through the pipe." +msgstr "" +"Quant de temps s'esperarà després de transferir cada cau de dades a " +"través de la canonada." + +#: backend/test.c:543 +#, no-c-format +msgid "Return-value of sane_read" +msgstr "Valor retornat pel «sane_read()»" + +#: backend/test.c:545 +#, no-c-format +msgid "" +"Select the return-value of sane_read(). \"Default\" is the normal " +"handling for scanning. All other status codes are for testing how the " +"frontend handles them." +msgstr "" +"Selecciona el valor retornat pel «sane_read()». «Predeterminat» és el " +"maneig normal per a escanejar. Tots els altres codis d'estat són per a " +"provar com els maneja el frontal." + +#: backend/test.c:562 +#, no-c-format +msgid "Loss of pixels per line" +msgstr "Pèrdua de píxels per línia" + +#: backend/test.c:564 +#, no-c-format +msgid "The number of pixels that are wasted at the end of each line." +msgstr "El nombre de píxels que es perdran al final de cada línia." + +#: backend/test.c:577 +#, no-c-format +msgid "Fuzzy parameters" +msgstr "Paràmetres difusos" + +#: backend/test.c:578 +#, no-c-format +msgid "" +"Return fuzzy lines and bytes per line when sane_parameters() is called " +"before sane_start()." +msgstr "" +"Retorna línies borroses i bytes per línia quan es crida la " +"«sane_parameters()» abans de la «sane_start()»." + +#: backend/test.c:591 +#, no-c-format +msgid "Use non-blocking IO" +msgstr "Usa una E/S que no es bloquegi" + +#: backend/test.c:592 +#, no-c-format +msgid "Use non-blocking IO for sane_read() if supported by the frontend." +msgstr "" +"Usa una E/S que no es bloquegi per a la «sane_read()» si està admès pel " +"frontal." + +#: backend/test.c:605 +#, no-c-format +msgid "Offer select file descriptor" +msgstr "Ofereix el descriptor de fitxer seleccionat" + +#: backend/test.c:606 +#, no-c-format +msgid "" +"Offer a select filedescriptor for detecting if sane_read() will return " +"data." +msgstr "" +"Ofereix un descriptor de fitxer seleccionat per a detectar si la " +"«sane_read()» retornarà dades." + +#: backend/test.c:619 +#, no-c-format +msgid "Enable test options" +msgstr "Habilita les opcions de prova" + +#: backend/test.c:620 +#, no-c-format +msgid "" +"Enable various test options. This is for testing the ability of " +"frontends to view and modify all the different SANE option types." +msgstr "" +"Habilita diverses opcions de prova. Això és per a provar la capacitat " +"dels frontals per a veure i modificar tots els diferents tipus d'opcions " +"de SANE." + +#: backend/test.c:634 +#, no-c-format +msgid "Print options" +msgstr "Opcions per a la impressió" + +#: backend/test.c:635 +#, no-c-format +msgid "Print a list of all options." +msgstr "Imprimeix una llista de totes les opcions." + +#: backend/test.c:712 +#, no-c-format +msgid "Bool test options" +msgstr "Opcions per a la prova booleana" + +#: backend/test.c:725 +#, no-c-format +msgid "(1/6) Bool soft select soft detect" +msgstr "(1/6) Selecció i detecció booleana per programari" + +#: backend/test.c:727 +#, no-c-format +msgid "" +"(1/6) Bool test option that has soft select and soft detect (and " +"advanced) capabilities. That's just a normal bool option." +msgstr "" +"(1/6) Opció per a la prova booleana amb capacitats (i avançades) per a " +"la selecció i detecció per programari. Aquesta només és una opció " +"booleana normal." + +#: backend/test.c:743 +#, no-c-format +msgid "(2/6) Bool hard select soft detect" +msgstr "(2/6) Selecció booleana per maquinari i detecció per programari" + +#: backend/test.c:745 +#, no-c-format +msgid "" +"(2/6) Bool test option that has hard select and soft detect (and " +"advanced) capabilities. That means the option can't be set by the " +"frontend but by the user (e.g. by pressing a button at the device)." +msgstr "" +"(2/6) Opció per a la prova booleana amb capacitats (i avançades) per a " +"la selecció per maquinari i la detecció per programari. Això vol dir que " +"l'opció no pot ser establerta pel frontal, sinó per l'usuari (p. ex., si " +"premeu un botó al dispositiu)." + +#: backend/test.c:762 +#, no-c-format +msgid "(3/6) Bool hard select" +msgstr "(3/6) Selecció booleana per maquinari" + +#: backend/test.c:763 +#, no-c-format +msgid "" +"(3/6) Bool test option that has hard select (and advanced) capabilities. " +"That means the option can't be set by the frontend but by the user (e.g. " +"by pressing a button at the device) and can't be read by the frontend." +msgstr "" +"(3/6) Opció per a la prova booleana amb capacitats (i avançades) per a " +"la selecció per maquinari. Això vol dir que l'opció no pot ser " +"establerta pel frontal, sinó per l'usuari (p. ex., si premeu un botó al " +"dispositiu) i no el frontal no ho pot llegir." + +#: backend/test.c:781 +#, no-c-format +msgid "(4/6) Bool soft detect" +msgstr "(4/6) Detecció booleana per programari" + +#: backend/test.c:782 +#, no-c-format +msgid "" +"(4/6) Bool test option that has soft detect (and advanced) capabilities. " +"That means the option is read-only." +msgstr "" +"(4/6) Opció per a la prova booleana amb capacitats (i avançades) per a " +"la detecció per programari. Això vol dir que aquesta opció és de només " +"lectura." + +#: backend/test.c:798 +#, no-c-format +msgid "(5/6) Bool soft select soft detect emulated" +msgstr "" +"(5/6) Detecció booleana per programari i detecció emulada per programari" + +#: backend/test.c:799 +#, no-c-format +msgid "" +"(5/6) Bool test option that has soft select, soft detect, and emulated " +"(and advanced) capabilities." +msgstr "" +"(5/6) Opció per a la prova booleana amb capacitats (i avançades) per a " +"la selecció i detecció per programari, i emulades." + +#: backend/test.c:815 +#, no-c-format +msgid "(6/6) Bool soft select soft detect auto" +msgstr "" +"(6/6) Detecció booleana per programari i detecció automàtica per " +"programari" + +#: backend/test.c:816 +#, no-c-format +msgid "" +"(6/6) Bool test option that has soft select, soft detect, and automatic " +"(and advanced) capabilities. This option can be automatically set by the " +"backend." +msgstr "" +"(6/6) Opció per a la prova booleana amb capacitats (i avançades) per a " +"la selecció i detecció per programari, i automàtiques. Aquesta opció pot " +"establir-la automàticament el dorsal." + +#: backend/test.c:833 +#, no-c-format +msgid "Int test options" +msgstr "Opcions per a la prova de l'enter" + +#: backend/test.c:846 +#, no-c-format +msgid "(1/6) Int" +msgstr "(1/6) Enter" + +#: backend/test.c:847 +#, no-c-format +msgid "(1/6) Int test option with no unit and no constraint set." +msgstr "" +"(1/6) Opció per a la prova de l'enter sense unitats i no restringida a " +"un conjunt." + +#: backend/test.c:862 +#, no-c-format +msgid "(2/6) Int constraint range" +msgstr "(2/6) Interval restringit amb un enter" + +#: backend/test.c:863 +#, no-c-format +msgid "" +"(2/6) Int test option with unit pixel and constraint range set. Minimum " +"is 4, maximum 192, and quant is 2." +msgstr "" +"(2/6) Opció per a la prova de l'enter amb píxels com a unitat i un " +"conjunt restringit a un interval. El mínim és 4, el màxim 192 i «quant» " +"és 2." + +#: backend/test.c:879 +#, no-c-format +msgid "(3/6) Int constraint word list" +msgstr "(3/6) Llista restringida de paraules amb un enter" + +#: backend/test.c:880 +#, no-c-format +msgid "(3/6) Int test option with unit bits and constraint word list set." +msgstr "" +"(3/6) Opció per a la prova de l'enter amb bits com a unitat i " +"restringida a un conjunt de llista de paraules." + +#: backend/test.c:895 +#, no-c-format +msgid "(4/6) Int array" +msgstr "(4/6) Matriu amb un enter" + +#: backend/test.c:896 +#, no-c-format +msgid "" +"(4/6) Int test option with unit mm and using an array without " +"constraints." +msgstr "" +"(4/6) Opció per a la prova de l'enter amb mm com a unitat i usant una " +"matriu sense restringir." + +#: backend/test.c:911 +#, no-c-format +msgid "(5/6) Int array constraint range" +msgstr "(5/6) Interval restringit amb una matriu amb un enter" + +#: backend/test.c:912 +#, no-c-format +msgid "" +"(5/6) Int test option with unit dpi and using an array with a range " +"constraint. Minimum is 4, maximum 192, and quant is 2." +msgstr "" +"(5/6) Opció per a la prova de l'enter amb ppp com a unitat i usant una " +"matriu amb un interval restringit. El mínim és 4, el màxim 192 i «quant» " +"és 2." + +#: backend/test.c:929 +#, no-c-format +msgid "(6/6) Int array constraint word list" +msgstr "(6/6) Llista restringida de paraules amb una matriu amb un enter" + +#: backend/test.c:930 +#, no-c-format +msgid "" +"(6/6) Int test option with unit percent and using an array with a word " +"list constraint." +msgstr "" +"(6/6) Opció per a la prova de l'enter amb percentatge com a unitat i " +"usant una matriu amb una llista restringida de paraules." + +#: backend/test.c:946 +#, no-c-format +msgid "Fixed test options" +msgstr "Opcions per a la prova fixa" + +#: backend/test.c:959 +#, no-c-format +msgid "(1/3) Fixed" +msgstr "(1/3) Fixa" + +#: backend/test.c:960 +#, no-c-format +msgid "(1/3) Fixed test option with no unit and no constraint set." +msgstr "" +"(1/3) Opció per a la prova fixa sense unitats i no restringida a un " +"conjunt." + +#: backend/test.c:975 +#, no-c-format +msgid "(2/3) Fixed constraint range" +msgstr "(2/3) Interval restringit de paraules" + +#: backend/test.c:976 +#, no-c-format +msgid "" +"(2/3) Fixed test option with unit microsecond and constraint range set. " +"Minimum is -42.17, maximum 32767.9999, and quant is 2.0." +msgstr "" +"(2/3) Opció per a la prova fixa amb microsegons com a unitat i un " +"conjunt restringit a un interval. El mínim és -42,17, el màxim " +"32767,9999 i «quant» és 2,0." + +#: backend/test.c:992 +#, no-c-format +msgid "(3/3) Fixed constraint word list" +msgstr "(3/3) Llista fixa i restringida de paraules" + +#: backend/test.c:993 +#, no-c-format +msgid "(3/3) Fixed test option with no unit and constraint word list set." +msgstr "" +"(3/3) Opció per a la prova fixa sense unitats i restringida a un conjunt " +"de llista de paraules." + +#: backend/test.c:1008 +#, no-c-format +msgid "String test options" +msgstr "Opcions per a la prova de la cadena" + +#: backend/test.c:1021 +#, no-c-format +msgid "(1/3) String" +msgstr "(1/3) Cadena" + +#: backend/test.c:1022 +#, no-c-format +msgid "(1/3) String test option without constraint." +msgstr "(1/3) Opció per a la prova de la cadena sense restringir." + +#: backend/test.c:1039 +#, no-c-format +msgid "(2/3) String constraint string list" +msgstr "(2/3) Llista restringida de cadenes" + +#: backend/test.c:1040 +#, no-c-format +msgid "(2/3) String test option with string list constraint." +msgstr "" +"(2/3) Opció per a la prova de la cadena amb una llista restringida de " +"cadenes." + +#: backend/test.c:1059 +#, no-c-format +msgid "(3/3) String constraint long string list" +msgstr "(3/3) Llista llarga i restringida de cadenes" + +#: backend/test.c:1060 +#, no-c-format +msgid "" +"(3/3) String test option with string list constraint. Contains some more " +"entries..." +msgstr "" +"(3/3) Opció per a la prova de la cadena amb una llista restringida de " +"cadenes. Conté algunes entrades més..." + +#: backend/test.c:1080 +#, no-c-format +msgid "Button test options" +msgstr "Opcions per a la prova del botó" + +#: backend/test.c:1093 +#, no-c-format +msgid "(1/1) Button" +msgstr "(1/1) Botó" + +#: backend/test.c:1094 +#, no-c-format +msgid "(1/1) Button test option. Prints some text..." +msgstr "(1/1) Opció per a la prova del botó. Imprimeix algun text..." + +#: backend/u12.c:149 +#, no-c-format +msgid "Color 36" +msgstr "Color 36" + +#: backend/umax.c:235 +#, no-c-format +msgid "Use Image Composition" +msgstr "Usa la composició de la imatge" + +#: backend/umax.c:236 +#, no-c-format +msgid "Bi-level black and white (lineart mode)" +msgstr "Bi-nivell en blanc i negre (mode art lineal)" + +#: backend/umax.c:237 +#, no-c-format +msgid "Dithered/halftone black & white (halftone mode)" +msgstr "Tramat/semi to en negre i blanc (mode semi to)" + +#: backend/umax.c:238 +#, no-c-format +msgid "Multi-level black & white (grayscale mode)" +msgstr "Múltiples nivells en blanc i negre (mode escala de grisos)" + +#: backend/umax.c:239 +#, no-c-format +msgid "Multi-level RGB color (one pass color)" +msgstr "Múltiples nivells en color RGB (color d'una sola passada)" + +#: backend/umax.c:240 +#, no-c-format +msgid "Ignore calibration" +msgstr "Ignora el calibratge" + +#: backend/umax.c:5733 +#, no-c-format +msgid "Disable pre focus" +msgstr "Inhabilita l'enfocament previ" + +#: backend/umax.c:5734 +#, no-c-format +msgid "Do not calibrate focus" +msgstr "No calibris l'enfocament" + +#: backend/umax.c:5745 +#, no-c-format +msgid "Manual pre focus" +msgstr "Enfocament previ manual" + +#: backend/umax.c:5757 +#, no-c-format +msgid "Fix focus position" +msgstr "Fixa la posició de l'enfocament" + +#: backend/umax.c:5769 +#, no-c-format +msgid "Lens calibration in doc position" +msgstr "Calibratge de la lent a la posició del document" + +#: backend/umax.c:5770 +#, no-c-format +msgid "Calibrate lens focus in document position" +msgstr "Calibra l'enfocament de la lent a la posició del document" + +#: backend/umax.c:5781 +#, no-c-format +msgid "Holder focus position 0mm" +msgstr "Mantén la posició de l'enfocament a 0 mm" + +#: backend/umax.c:5782 +#, no-c-format +msgid "Use 0mm holder focus position instead of 0.6mm" +msgstr "" +"Usa una posició mantinguda de l'enfocament de 0 mm en lloc de 0,6 mm" + +#: backend/umax.c:5885 +#, no-c-format +msgid "Calibration mode" +msgstr "Mode del calibratge" + +#: backend/umax.c:5886 +#, no-c-format +msgid "Define calibration mode" +msgstr "Defineix el mode del calibratge" + +#: backend/umax_pp.c:640 +#, no-c-format +msgid "Sets lamp on/off" +msgstr "Estableix la làmpada a encesa/apagada" + +#: backend/umax_pp.c:649 +#, no-c-format +msgid "UTA on" +msgstr "Activa l'UTA" + +#: backend/umax_pp.c:650 +#, no-c-format +msgid "Sets UTA on/off" +msgstr "Estableix l'UTA a actiu/inactiu" + +#: backend/umax_pp.c:771 +#, no-c-format +msgid "Offset" +msgstr "Desplaçament" + +#: backend/umax_pp.c:773 +#, no-c-format +msgid "Color channels offset settings" +msgstr "Ajustaments del desplaçament per als canals de color" + +#: backend/umax_pp.c:780 +#, no-c-format +msgid "Gray offset" +msgstr "Desplaçament del gris" + +#: backend/umax_pp.c:781 +#, no-c-format +msgid "Sets gray channel offset" +msgstr "Estableix el desplaçament del canal gris" + +#: backend/umax_pp.c:793 +#, no-c-format +msgid "Sets red channel offset" +msgstr "Estableix el desplaçament del canal vermell" + +#: backend/umax_pp.c:805 +#, no-c-format +msgid "Sets green channel offset" +msgstr "Estableix el desplaçament del canal verd" + +#: backend/umax_pp.c:817 +#, no-c-format +msgid "Sets blue channel offset" +msgstr "Estableix el desplaçament del canal blau" diff --git a/po/ca@valencia.po b/po/ca@valencia.po new file mode 100644 index 0000000..1ec2034 --- /dev/null +++ b/po/ca@valencia.po @@ -0,0 +1,6732 @@ +# Copyright (C) 2018 The SANE developers +# This file is distributed under the same license as the sane-backends package. +# +# Antoni Bella Pérez , 2018. +msgid "" +msgstr "" +"Project-Id-Version: sane-backends 1.0.27git\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"PO-Revision-Date: 2018-09-10 00:37+0100\n" +"Last-Translator: Antoni Bella Pérez \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: include/sane/saneopts.h:154 +#, no-c-format +msgid "Number of options" +msgstr "Nombre d'opcions" + +#: include/sane/saneopts.h:156 +#, no-c-format +msgid "Standard" +msgstr "Estàndard" + +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 +#, no-c-format +msgid "Geometry" +msgstr "Geometria" + +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 +#, no-c-format +msgid "Enhancement" +msgstr "Millora" + +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 +#, no-c-format +msgid "Advanced" +msgstr "Avançat" + +#: include/sane/saneopts.h:160 +#, no-c-format +msgid "Sensors" +msgstr "Sensors" + +#: include/sane/saneopts.h:162 +#, no-c-format +msgid "Preview" +msgstr "Vista prèvia" + +#: include/sane/saneopts.h:163 +#, no-c-format +msgid "Force monochrome preview" +msgstr "Força la vista prèvia en monocrom" + +#: include/sane/saneopts.h:164 +#, no-c-format +msgid "Bit depth" +msgstr "Bits de profunditat" + +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 +#, no-c-format +msgid "Scan mode" +msgstr "Mode d'escaneig" + +#: include/sane/saneopts.h:166 +#, no-c-format +msgid "Scan speed" +msgstr "Velocitat de l'escàner" + +#: include/sane/saneopts.h:167 +#, no-c-format +msgid "Scan source" +msgstr "Font de l'escàner" + +#: include/sane/saneopts.h:168 +#, no-c-format +msgid "Force backtracking" +msgstr "Força el retrocés" + +#: include/sane/saneopts.h:169 +#, no-c-format +msgid "Top-left x" +msgstr "A dalt-esquerra X" + +#: include/sane/saneopts.h:170 +#, no-c-format +msgid "Top-left y" +msgstr "A dalt-esquerra Y" + +#: include/sane/saneopts.h:171 +#, no-c-format +msgid "Bottom-right x" +msgstr "A baix-dreta X" + +#: include/sane/saneopts.h:172 +#, no-c-format +msgid "Bottom-right y" +msgstr "A baix-dreta Y" + +#: include/sane/saneopts.h:173 backend/canon.c:1216 +#: backend/pixma_sane_options.c:300 +#, no-c-format +msgid "Scan resolution" +msgstr "Resolució de l'escàner" + +#: include/sane/saneopts.h:174 +#, no-c-format +msgid "X-resolution" +msgstr "Resolució X" + +#: include/sane/saneopts.h:175 +#, no-c-format +msgid "Y-resolution" +msgstr "Resolució Y" + +#: include/sane/saneopts.h:176 +#, no-c-format +msgid "Page width" +msgstr "Amplària de la pàgina" + +#: include/sane/saneopts.h:177 +#, no-c-format +msgid "Page height" +msgstr "Alçària de la pàgina" + +#: include/sane/saneopts.h:178 +#, no-c-format +msgid "Use custom gamma table" +msgstr "Usa una taula de gamma personalitzada" + +#: include/sane/saneopts.h:179 +#, no-c-format +msgid "Image intensity" +msgstr "Intensitat de la imatge" + +#: include/sane/saneopts.h:180 +#, no-c-format +msgid "Red intensity" +msgstr "Intensitat del roig" + +#: include/sane/saneopts.h:181 +#, no-c-format +msgid "Green intensity" +msgstr "Intensitat del verd" + +#: include/sane/saneopts.h:182 +#, no-c-format +msgid "Blue intensity" +msgstr "Intensitat del blau" + +#: include/sane/saneopts.h:183 +#, no-c-format +msgid "Brightness" +msgstr "Brillantor" + +#: include/sane/saneopts.h:184 +#, no-c-format +msgid "Contrast" +msgstr "Contrast" + +#: include/sane/saneopts.h:185 +#, no-c-format +msgid "Grain size" +msgstr "Mida del gra" + +#: include/sane/saneopts.h:186 +#, no-c-format +msgid "Halftoning" +msgstr "Semi to" + +#: include/sane/saneopts.h:187 +#, no-c-format +msgid "Black level" +msgstr "Nivell de negre" + +#: include/sane/saneopts.h:188 +#, no-c-format +msgid "White level" +msgstr "Nivell de blanc" + +#: include/sane/saneopts.h:189 +#, no-c-format +msgid "White level for red" +msgstr "Nivell de blanc per al roig" + +#: include/sane/saneopts.h:190 +#, no-c-format +msgid "White level for green" +msgstr "Nivell de blanc per al verd" + +#: include/sane/saneopts.h:191 +#, no-c-format +msgid "White level for blue" +msgstr "Nivell de blanc per al blau" + +#: include/sane/saneopts.h:192 +#, no-c-format +msgid "Shadow" +msgstr "Ombra" + +#: include/sane/saneopts.h:193 +#, no-c-format +msgid "Shadow for red" +msgstr "Ombra per al roig" + +#: include/sane/saneopts.h:194 +#, no-c-format +msgid "Shadow for green" +msgstr "Ombra per al verd" + +#: include/sane/saneopts.h:195 +#, no-c-format +msgid "Shadow for blue" +msgstr "Ombra per al blau" + +#: include/sane/saneopts.h:196 +#, no-c-format +msgid "Highlight" +msgstr "Llum intensa" + +#: include/sane/saneopts.h:197 +#, no-c-format +msgid "Highlight for red" +msgstr "Llum intensa per al roig" + +#: include/sane/saneopts.h:198 +#, no-c-format +msgid "Highlight for green" +msgstr "Llum intensa per al verd" + +#: include/sane/saneopts.h:199 +#, no-c-format +msgid "Highlight for blue" +msgstr "Llum intensa per al blau" + +#: include/sane/saneopts.h:200 +#, no-c-format +msgid "Hue" +msgstr "To" + +#: include/sane/saneopts.h:201 +#, no-c-format +msgid "Saturation" +msgstr "Saturació" + +#: include/sane/saneopts.h:202 +#, no-c-format +msgid "Filename" +msgstr "Nom de fitxer" + +#: include/sane/saneopts.h:203 +#, no-c-format +msgid "Halftone pattern size" +msgstr "Mida del patró per al semi to" + +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#, no-c-format +msgid "Halftone pattern" +msgstr "Patró per al semi to" + +#: include/sane/saneopts.h:205 +#, no-c-format +msgid "Bind X and Y resolution" +msgstr "Enllaça les resolucions X i Y" + +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 +#, no-c-format +msgid "Negative" +msgstr "Negatiu" + +#: include/sane/saneopts.h:207 +#, no-c-format +msgid "Quality calibration" +msgstr "Calibratge de la qualitat" + +#: include/sane/saneopts.h:208 +#, no-c-format +msgid "Double Optical Resolution" +msgstr "Dobla la resolució òptica" + +#: include/sane/saneopts.h:209 +#, no-c-format +msgid "Bind RGB" +msgstr "Enllaça el RGB" + +#: include/sane/saneopts.h:210 backend/sm3840.c:770 +#, no-c-format +msgid "Threshold" +msgstr "Llindar" + +#: include/sane/saneopts.h:211 +#, no-c-format +msgid "Analog gamma correction" +msgstr "Correcció de la gamma analògica" + +#: include/sane/saneopts.h:212 +#, no-c-format +msgid "Analog gamma red" +msgstr "Gamma analògica vermella" + +#: include/sane/saneopts.h:213 +#, no-c-format +msgid "Analog gamma green" +msgstr "Gamma analògica verda" + +#: include/sane/saneopts.h:214 +#, no-c-format +msgid "Analog gamma blue" +msgstr "Gamma analògica blava" + +#: include/sane/saneopts.h:215 +#, no-c-format +msgid "Bind analog gamma" +msgstr "Enllaça amb la gamma analògica" + +#: include/sane/saneopts.h:216 +#, no-c-format +msgid "Warmup lamp" +msgstr "Escalfament de la làmpada" + +#: include/sane/saneopts.h:217 +#, no-c-format +msgid "Cal. exposure-time" +msgstr "Cal. el temps d'exposició" + +#: include/sane/saneopts.h:218 +#, no-c-format +msgid "Cal. exposure-time for red" +msgstr "Cal. el temps d'exposició per al roig" + +#: include/sane/saneopts.h:219 +#, no-c-format +msgid "Cal. exposure-time for green" +msgstr "Cal. el temps d'exposició per al verd" + +#: include/sane/saneopts.h:221 +#, no-c-format +msgid "Cal. exposure-time for blue" +msgstr "Cal. el temps d'exposició per al blau" + +#: include/sane/saneopts.h:222 +#, no-c-format +msgid "Scan exposure-time" +msgstr "Temps d'exposició de l'escaneig" + +#: include/sane/saneopts.h:223 +#, no-c-format +msgid "Scan exposure-time for red" +msgstr "Temps d'exposició de l'escaneig per al roig" + +#: include/sane/saneopts.h:224 +#, no-c-format +msgid "Scan exposure-time for green" +msgstr "Temps d'exposició de l'escaneig per al verd" + +#: include/sane/saneopts.h:226 +#, no-c-format +msgid "Scan exposure-time for blue" +msgstr "Temps d'exposició de l'escaneig per al blau" + +#: include/sane/saneopts.h:227 +#, no-c-format +msgid "Set exposure-time" +msgstr "Estableix el temps d'exposició" + +#: include/sane/saneopts.h:228 +#, no-c-format +msgid "Cal. lamp density" +msgstr "Cal. densitat de la llum" + +#: include/sane/saneopts.h:229 +#, no-c-format +msgid "Scan lamp density" +msgstr "Densitat de la llum en escanejar" + +#: include/sane/saneopts.h:230 +#, no-c-format +msgid "Set lamp density" +msgstr "Estableix la densitat de la llum" + +#: include/sane/saneopts.h:231 backend/umax.c:5829 +#, no-c-format +msgid "Lamp off at exit" +msgstr "Apaga la làmpada en eixir" + +#: include/sane/saneopts.h:245 +#, no-c-format +msgid "" +"Read-only option that specifies how many options a specific devices " +"supports." +msgstr "" +"Opció de només lectura que especifica quantes opcions admet un " +"dispositiu específic." + +#: include/sane/saneopts.h:248 +#, no-c-format +msgid "Source, mode and resolution options" +msgstr "Opcions per a la font, mode i resolució" + +#: include/sane/saneopts.h:249 +#, no-c-format +msgid "Scan area and media size options" +msgstr "Opcions per a l'àrea d'escaneig i mida del suport" + +#: include/sane/saneopts.h:250 +#, no-c-format +msgid "Image modification options" +msgstr "Opcions per a la modificació de la imatge" + +#: include/sane/saneopts.h:251 +#, no-c-format +msgid "Hardware specific options" +msgstr "Opcions específiques del maquinari" + +#: include/sane/saneopts.h:252 +#, no-c-format +msgid "Scanner sensors and buttons" +msgstr "Sensors i botons de l'escàner" + +#: include/sane/saneopts.h:255 +#, no-c-format +msgid "Request a preview-quality scan." +msgstr "Sol·licita una vista prèvia de qualitat de l'escaneig." + +#: include/sane/saneopts.h:258 +#, no-c-format +msgid "" +"Request that all previews are done in monochrome mode. On a three-pass " +"scanner this cuts down the number of passes to one and on a one-pass " +"scanner, it reduces the memory requirements and scan-time of the preview." +msgstr "" +"Demana que totes les vistes prèvies es facen en el mode monocrom. En un " +"escàner de tres passos, això reduirà el nombre de passos a un i en un " +"escàner d'un sol pas, això reduirà els requisits de memòria i el temps " +"d'escaneig de la vista prèvia." + +#: include/sane/saneopts.h:264 +#, no-c-format +msgid "" +"Number of bits per sample, typical values are 1 for \"line-art\" and 8 " +"for multibit scans." +msgstr "" +"Nombre de bits per mostra, els valors típics són 1 pels escaneigs amb " +"«art lineal» i 8 pels escaneigs amb «múltiples bits»." + +#: include/sane/saneopts.h:268 +#, no-c-format +msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." +msgstr "" +"Selecciona el mode d'escaneig (p. ex., art lineal, monocrom o color)." + +#: include/sane/saneopts.h:271 +#, no-c-format +msgid "Determines the speed at which the scan proceeds." +msgstr "Determina la velocitat amb la qual procedirà l'escàner." + +#: include/sane/saneopts.h:274 +#, no-c-format +msgid "Selects the scan source (such as a document-feeder)." +msgstr "Selecciona la font de l'escàner (com un alimentador de documents)." + +#: include/sane/saneopts.h:277 +#, no-c-format +msgid "Controls whether backtracking is forced." +msgstr "Controla si es forçarà el retrocés." + +#: include/sane/saneopts.h:280 +#, no-c-format +msgid "Top-left x position of scan area." +msgstr "Posició X a dalt-esquerra de l'àrea d'escaneig." + +#: include/sane/saneopts.h:283 +#, no-c-format +msgid "Top-left y position of scan area." +msgstr "Posició Y a dalt-esquerra de l'àrea d'escaneig." + +#: include/sane/saneopts.h:286 +#, no-c-format +msgid "Bottom-right x position of scan area." +msgstr "Posició X a baix-dreta de l'àrea d'escaneig." + +#: include/sane/saneopts.h:289 +#, no-c-format +msgid "Bottom-right y position of scan area." +msgstr "Posició Y a baix-dreta de l'àrea d'escaneig." + +#: include/sane/saneopts.h:292 +#, no-c-format +msgid "Sets the resolution of the scanned image." +msgstr "Estableix la resolució de la imatge escanejada." + +#: include/sane/saneopts.h:295 +#, no-c-format +msgid "Sets the horizontal resolution of the scanned image." +msgstr "Estableix la resolució horitzontal de la imatge escanejada." + +#: include/sane/saneopts.h:298 +#, no-c-format +msgid "Sets the vertical resolution of the scanned image." +msgstr "Estableix la resolució vertical de la imatge escanejada." + +#: include/sane/saneopts.h:301 +#, no-c-format +msgid "" +"Specifies the width of the media. Required for automatic centering of " +"sheet-fed scans." +msgstr "" +"Especifica l'amplària del suport. Es requereix per a centrar " +"automàticament els escanejos dels fulls." + +#: include/sane/saneopts.h:305 +#, no-c-format +msgid "Specifies the height of the media." +msgstr "Especifica l'alçària del suport." + +#: include/sane/saneopts.h:308 +#, no-c-format +msgid "" +"Determines whether a builtin or a custom gamma-table should be used." +msgstr "" +"Determina si s'haurà d'usar una taula de gamma integrada o " +"personalitzada." + +#: include/sane/saneopts.h:312 +#, no-c-format +msgid "" +"Gamma-correction table. In color mode this option equally affects the " +"red, green, and blue channels simultaneously (i.e., it is an intensity " +"gamma table)." +msgstr "" +"Taula per a la correcció de la gamma. En el mode de color, aquesta opció " +"afectarà igualment els canals roig, verd i blau alhora (és a dir, " +"aquesta és una taula de gamma per a la intensitat)." + +#: include/sane/saneopts.h:317 +#, no-c-format +msgid "Gamma-correction table for the red band." +msgstr "Taula per a la correcció de la gamma per a la banda vermella." + +#: include/sane/saneopts.h:320 +#, no-c-format +msgid "Gamma-correction table for the green band." +msgstr "Taula per a la correcció de la gamma per a la banda verda." + +#: include/sane/saneopts.h:323 +#, no-c-format +msgid "Gamma-correction table for the blue band." +msgstr "Taula per a la correcció de la gamma per a la banda blava." + +#: include/sane/saneopts.h:326 +#, no-c-format +msgid "Controls the brightness of the acquired image." +msgstr "Controla la brillantor de la imatge obtinguda." + +#: include/sane/saneopts.h:329 +#, no-c-format +msgid "Controls the contrast of the acquired image." +msgstr "Controla el contrast de la imatge obtinguda." + +#: include/sane/saneopts.h:332 +#, no-c-format +msgid "" +"Selects the \"graininess\" of the acquired image. Smaller values result " +"in sharper images." +msgstr "" +"Selecciona el «granulat» de la imatge obtinguda. Els valors més petits " +"resulten en imatges més definides." + +#: include/sane/saneopts.h:336 +#, no-c-format +msgid "Selects whether the acquired image should be halftoned (dithered)." +msgstr "" +"Selecciona si la imatge obtinguda s'haurà de convertir a semi to " +"(tramat)." + +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 +#, no-c-format +msgid "Selects what radiance level should be considered \"black\"." +msgstr "Selecciona quin nivell de radiància s'haurà de considerar «negre»." + +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 +#, no-c-format +msgid "Selects what radiance level should be considered \"white\"." +msgstr "Selecciona quin nivell de radiància s'haurà de considerar «blanc»." + +#: include/sane/saneopts.h:345 +#, no-c-format +msgid "Selects what red radiance level should be considered \"white\"." +msgstr "" +"Selecciona quin nivell de radiància del roig s'haurà de considerar " +"«blanc»." + +#: include/sane/saneopts.h:348 +#, no-c-format +msgid "Selects what green radiance level should be considered \"white\"." +msgstr "" +"Selecciona quin nivell de radiància del verd s'haurà de considerar " +"«blanc»." + +#: include/sane/saneopts.h:351 +#, no-c-format +msgid "Selects what blue radiance level should be considered \"white\"." +msgstr "" +"Selecciona quin nivell de radiància del blau s'haurà de considerar " +"«blanc»." + +#: include/sane/saneopts.h:356 +#, no-c-format +msgid "Selects what red radiance level should be considered \"black\"." +msgstr "" +"Selecciona quin nivell de radiància del roig s'haurà de considerar " +"«negre»." + +#: include/sane/saneopts.h:358 +#, no-c-format +msgid "Selects what green radiance level should be considered \"black\"." +msgstr "" +"Selecciona quin nivell de radiància del verd s'haurà de considerar " +"«negre»." + +#: include/sane/saneopts.h:360 +#, no-c-format +msgid "Selects what blue radiance level should be considered \"black\"." +msgstr "" +"Selecciona quin nivell de radiància del blau s'haurà de considerar " +"«negre»." + +#: include/sane/saneopts.h:365 +#, no-c-format +msgid "Selects what red radiance level should be considered \"full red\"." +msgstr "" +"Selecciona quin nivell de radiància del roig s'haurà de considerar " +"«totalment roig»." + +#: include/sane/saneopts.h:367 +#, no-c-format +msgid "" +"Selects what green radiance level should be considered \"full green\"." +msgstr "" +"Selecciona quin nivell de radiància del verd s'haurà de considerar " +"«totalment verd»." + +#: include/sane/saneopts.h:370 +#, no-c-format +msgid "" +"Selects what blue radiance level should be considered \"full blue\"." +msgstr "" +"Selecciona quin nivell de radiància del blau s'haurà de considerar " +"«totalment blau»." + +#: include/sane/saneopts.h:374 +#, no-c-format +msgid "Controls the \"hue\" (blue-level) of the acquired image." +msgstr "Controla el «to» (nivell del blau) de la imatge obtinguda." + +#: include/sane/saneopts.h:377 +#, no-c-format +msgid "" +"The saturation level controls the amount of \"blooming\" that occurs " +"when acquiring an image with a camera. Larger values cause more blooming." +msgstr "" +"El nivell de saturació controla la quantitat d'«enlluernament» que es " +"produeix en obtindre una imatge amb una càmera. Els valors més grans " +"causen més enlluernament." + +#: include/sane/saneopts.h:382 +#, no-c-format +msgid "The filename of the image to be loaded." +msgstr "El nom del fitxer de la imatge que es carregarà." + +#: include/sane/saneopts.h:385 +#, no-c-format +msgid "" +"Sets the size of the halftoning (dithering) pattern used when scanning " +"halftoned images." +msgstr "" +"Estableix la mida del patró per al semi to (tramatge) que s'usarà per a " +"escanejar les imatges amb semi to." + +#: include/sane/saneopts.h:389 +#, no-c-format +msgid "" +"Defines the halftoning (dithering) pattern for scanning halftoned images." +msgstr "" +"Defineix el patró per al semi to (tramatge) que s'usarà per a escanejar " +"les imatges amb semi to." + +#: include/sane/saneopts.h:393 +#, no-c-format +msgid "Use same values for X and Y resolution" +msgstr "Usa els mateixos valors per a la resolució X i Y" + +#: include/sane/saneopts.h:395 +#, no-c-format +msgid "Swap black and white" +msgstr "Intercanvia el negre i el blanc" + +#: include/sane/saneopts.h:397 +#, no-c-format +msgid "Do a quality white-calibration" +msgstr "Fes un calibratge de qualitat del blanc" + +#: include/sane/saneopts.h:399 +#, no-c-format +msgid "Use lens that doubles optical resolution" +msgstr "Usa una lent que dobli la resolució òptica" + +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 +#, no-c-format +msgid "In RGB-mode use same values for each color" +msgstr "En el mode RGB, usa els mateixos valors per a cada color" + +#: include/sane/saneopts.h:403 +#, no-c-format +msgid "Select minimum-brightness to get a white point" +msgstr "Selecciona la brillantor mínima per obtindre un punt blanc" + +#: include/sane/saneopts.h:405 +#, no-c-format +msgid "Analog gamma-correction" +msgstr "Correcció de la gamma analògica" + +#: include/sane/saneopts.h:407 +#, no-c-format +msgid "Analog gamma-correction for red" +msgstr "Correcció de la gamma analògica per al roig" + +#: include/sane/saneopts.h:409 +#, no-c-format +msgid "Analog gamma-correction for green" +msgstr "Correcció de la gamma analògica per al verd" + +#: include/sane/saneopts.h:411 +#, no-c-format +msgid "Analog gamma-correction for blue" +msgstr "Correcció de la gamma analògica per al blau" + +#: include/sane/saneopts.h:415 +#, no-c-format +msgid "Warmup lamp before scanning" +msgstr "Escalfament de la làmpada abans d'escanejar" + +#: include/sane/saneopts.h:417 +#, no-c-format +msgid "Define exposure-time for calibration" +msgstr "Defineix el temps d'exposició per al calibratge" + +#: include/sane/saneopts.h:419 +#, no-c-format +msgid "Define exposure-time for red calibration" +msgstr "Defineix el temps d'exposició per al calibratge del roig" + +#: include/sane/saneopts.h:421 +#, no-c-format +msgid "Define exposure-time for green calibration" +msgstr "Defineix el temps d'exposició per al calibratge del verd" + +#: include/sane/saneopts.h:423 +#, no-c-format +msgid "Define exposure-time for blue calibration" +msgstr "Defineix el temps d'exposició per al calibratge del blau" + +#: include/sane/saneopts.h:425 +#, no-c-format +msgid "Define exposure-time for scan" +msgstr "Defineix el temps d'exposició per a l'escaneig" + +#: include/sane/saneopts.h:427 +#, no-c-format +msgid "Define exposure-time for red scan" +msgstr "Defineix el temps d'exposició per a l'escaneig del roig" + +#: include/sane/saneopts.h:429 +#, no-c-format +msgid "Define exposure-time for green scan" +msgstr "Defineix el temps d'exposició per a l'escaneig del verd" + +#: include/sane/saneopts.h:431 +#, no-c-format +msgid "Define exposure-time for blue scan" +msgstr "Defineix el temps d'exposició per a l'escaneig del blau" + +#: include/sane/saneopts.h:433 +#, no-c-format +msgid "Enable selection of exposure-time" +msgstr "Habilita la selecció del temps d'exposició" + +#: include/sane/saneopts.h:435 +#, no-c-format +msgid "Define lamp density for calibration" +msgstr "Defineix la densitat de la llum per al calibratge" + +#: include/sane/saneopts.h:437 +#, no-c-format +msgid "Define lamp density for scan" +msgstr "Defineix la densitat de la llum per a l'escaneig" + +#: include/sane/saneopts.h:439 +#, no-c-format +msgid "Enable selection of lamp density" +msgstr "Habilita la selecció de la densitat de la llum" + +#: include/sane/saneopts.h:441 backend/umax.c:5830 +#, no-c-format +msgid "Turn off lamp when program exits" +msgstr "Apaga la làmpada quan se isca del programa" + +#: include/sane/saneopts.h:444 +#, no-c-format +msgid "Scan button" +msgstr "Botó de l'escàner" + +#: include/sane/saneopts.h:445 +#, no-c-format +msgid "Email button" +msgstr "Botó del correu electrònic" + +#: include/sane/saneopts.h:446 +#, no-c-format +msgid "Fax button" +msgstr "Botó del fax" + +#: include/sane/saneopts.h:447 +#, no-c-format +msgid "Copy button" +msgstr "Botó per a copiar" + +#: include/sane/saneopts.h:448 +#, no-c-format +msgid "PDF button" +msgstr "Botó de PDF" + +#: include/sane/saneopts.h:449 +#, no-c-format +msgid "Cancel button" +msgstr "Botó per a cancel·lar" + +#: include/sane/saneopts.h:450 +#, no-c-format +msgid "Page loaded" +msgstr "S'ha carregat la pàgina" + +#: include/sane/saneopts.h:451 +#, no-c-format +msgid "Cover open" +msgstr "La tapa es troba oberta" + +#: include/sane/saneopts.h:454 +#, no-c-format +msgid "Color" +msgstr "Color" + +#: include/sane/saneopts.h:455 +#, no-c-format +msgid "Color Lineart" +msgstr "Color per a l'art lineal" + +#: include/sane/saneopts.h:456 +#, no-c-format +msgid "Color Halftone" +msgstr "Color per al semi to" + +#: include/sane/saneopts.h:457 +#, no-c-format +msgid "Gray" +msgstr "Gris" + +#: include/sane/saneopts.h:458 +#, no-c-format +msgid "Halftone" +msgstr "Semi to" + +#: include/sane/saneopts.h:459 +#, no-c-format +msgid "Lineart" +msgstr "Art lineal" + +#: backend/sane_strstatus.c:59 +#, no-c-format +msgid "Success" +msgstr "Correcte" + +#: backend/sane_strstatus.c:62 +#, no-c-format +msgid "Operation not supported" +msgstr "Operació no admesa" + +#: backend/sane_strstatus.c:65 +#, no-c-format +msgid "Operation was cancelled" +msgstr "L'operació ha estat cancel·lada" + +#: backend/sane_strstatus.c:68 +#, no-c-format +msgid "Device busy" +msgstr "Dispositiu ocupat" + +#: backend/sane_strstatus.c:71 +#, no-c-format +msgid "Invalid argument" +msgstr "Argument no vàlid" + +#: backend/sane_strstatus.c:74 +#, no-c-format +msgid "End of file reached" +msgstr "S'ha arribat al final del fitxer" + +#: backend/sane_strstatus.c:77 +#, no-c-format +msgid "Document feeder jammed" +msgstr "S'ha embussat l'alimentador de documents" + +#: backend/sane_strstatus.c:80 +#, no-c-format +msgid "Document feeder out of documents" +msgstr "L'alimentador de documents està buit" + +#: backend/sane_strstatus.c:83 +#, no-c-format +msgid "Scanner cover is open" +msgstr "La tapa de l'escàner està oberta" + +#: backend/sane_strstatus.c:86 +#, no-c-format +msgid "Error during device I/O" +msgstr "Error durant l'E/S amb el dispositiu" + +#: backend/sane_strstatus.c:89 +#, no-c-format +msgid "Out of memory" +msgstr "Memòria exhaurida" + +#: backend/sane_strstatus.c:92 +#, no-c-format +msgid "Access to resource has been denied" +msgstr "S'ha denegat l'accés al recurs" + +#: backend/sane_strstatus.c:96 +#, no-c-format +msgid "Lamp not ready, please retry" +msgstr "La làmpada no està preparada. Torneu-ho a provar" + +#: backend/sane_strstatus.c:101 +#, no-c-format +msgid "Scanner mechanism locked for transport" +msgstr "El mecanisme de l'escàner està bloquejat per al transport" + +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 +#, no-c-format +msgid "Defaults" +msgstr "Predeterminats" + +#: backend/artec_eplus48u.c:2876 +#, no-c-format +msgid "Set default values for enhancement controls." +msgstr "Estableix els valors predeterminats per als controls de millora." + +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 +#, no-c-format +msgid "Calibration" +msgstr "Calibratge" + +#: backend/artec_eplus48u.c:2941 +#, no-c-format +msgid "Calibrate before next scan" +msgstr "Calibra abans del següent escaneig" + +#: backend/artec_eplus48u.c:2943 +#, no-c-format +msgid "" +"If enabled, the device will be calibrated before the next scan. " +"Otherwise, calibration is performed only before the first start." +msgstr "" +"Si està habilitada, el dispositiu serà calibrat abans del següent " +"escaneig. En cas contrari, el calibratge només es realitzarà abans del " +"primer inici." + +#: backend/artec_eplus48u.c:2954 +#, no-c-format +msgid "Only perform shading-correction" +msgstr "Realitza només la correcció de les ombres" + +#: backend/artec_eplus48u.c:2956 +#, no-c-format +msgid "" +"If enabled, only the shading correction is performed during calibration. " +"The default values for gain, offset and exposure time, either build-in " +"or from the configuration file, are used." +msgstr "" +"Si està habilitada, només es realitzarà la correcció de les ombres " +"durant el calibratge. Es faran servir els valors predeterminats per al " +"guany, desplaçament i temps d'exposició, siga els integrats o des del " +"fitxer de configuració." + +#: backend/artec_eplus48u.c:2967 +#, no-c-format +msgid "Button state" +msgstr "Botó per a l'estat" + +#: backend/avision.h:778 +#, no-c-format +msgid "Number of the frame to scan" +msgstr "Número del fotograma a escanejar" + +#: backend/avision.h:779 +#, no-c-format +msgid "Selects the number of the frame to scan" +msgstr "Selecciona el número del fotograma a escanejar" + +#: backend/avision.h:782 +#, no-c-format +msgid "Duplex scan" +msgstr "Escaneja a dues cares" + +#: backend/avision.h:783 +#, no-c-format +msgid "" +"Duplex scan provide a scan of the front and back side of the document" +msgstr "" +"L'escanejat de les dues cares proporciona un escanejat de l'anvers i el " +"revers del document" + +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Calibratge de l'escàner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Força el calibratge de l'escàner abans de l'escaneig" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Escaneja en escala de grisos" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Fes un escaneig en escala de grisos en lloc d'en color" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Guany analògic" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Augmenta o disminueix el guany analògic per a la matriu del CCD" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Correcció de la gamma" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "" +"Selecciona la corba de transferència per a la correcció de la gamma" + +#: backend/canon.c:149 backend/canon-sane.c:1318 +#, no-c-format +msgid "Raw" +msgstr "En brut" + +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 +#, no-c-format +msgid "Fine color" +msgstr "Color fi" + +#: backend/canon.c:169 +#, no-c-format +msgid "No transparency correction" +msgstr "Sense correcció de la transparència" + +#: backend/canon.c:170 backend/canon-sane.c:680 +#, no-c-format +msgid "Correction according to film type" +msgstr "Correcció d'acord amb el tipus de pel·lícula" + +#: backend/canon.c:171 backend/canon-sane.c:674 +#, no-c-format +msgid "Correction according to transparency ratio" +msgstr "Correcció d'acord amb la relació de transparència" + +#: backend/canon.c:176 backend/canon-sane.c:776 +#, no-c-format +msgid "Negatives" +msgstr "Negatius" + +#: backend/canon.c:176 +#, no-c-format +msgid "Slides" +msgstr "Diapositives" + +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 +#, no-c-format +msgid "Automatic" +msgstr "Automàtic" + +#: backend/canon.c:186 +#, no-c-format +msgid "Normal speed" +msgstr "Velocitat normal" + +#: backend/canon.c:187 +#, no-c-format +msgid "1/2 normal speed" +msgstr "1/2 de la velocitat normal" + +#: backend/canon.c:187 +#, no-c-format +msgid "1/3 normal speed" +msgstr "1/3 de la velocitat normal" + +#: backend/canon.c:360 +#, no-c-format +msgid "rounded parameter" +msgstr "Paràmetre arrodonit" + +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 +#, no-c-format +msgid "unknown" +msgstr "Desconegut" + +#: backend/canon.c:373 +#, no-c-format +msgid "ADF jam" +msgstr "S'ha embussat l'ADF" + +#: backend/canon.c:376 +#, no-c-format +msgid "ADF cover open" +msgstr "La tapa de l'ADF es troba oberta" + +#: backend/canon.c:389 +#, no-c-format +msgid "lamp failure" +msgstr "Fallada de la làmpada" + +#: backend/canon.c:392 +#, no-c-format +msgid "scan head positioning error" +msgstr "Error en el posicionament del capçal d'escaneig" + +#: backend/canon.c:395 +#, no-c-format +msgid "CPU check error" +msgstr "Error en comprobar la CPU" + +#: backend/canon.c:398 +#, no-c-format +msgid "RAM check error" +msgstr "Error en comprobar la RAM" + +#: backend/canon.c:401 +#, no-c-format +msgid "ROM check error" +msgstr "Error en comprobar la ROM" + +#: backend/canon.c:404 +#, no-c-format +msgid "hardware check error" +msgstr "Error en comprobar el maquinari" + +#: backend/canon.c:407 +#, no-c-format +msgid "transparency unit lamp failure" +msgstr "Fallada de la làmpada amb la unitat de transparència" + +#: backend/canon.c:410 +#, no-c-format +msgid "transparency unit scan head positioning failure" +msgstr "" +"Fallada en el posicionament del capçal d'escaneig amb la unitat de " +"transparència" + +#: backend/canon.c:424 +#, no-c-format +msgid "parameter list length error" +msgstr "Error en la longitud de la llista de paràmetres" + +#: backend/canon.c:428 +#, no-c-format +msgid "invalid command operation code" +msgstr "Codi no vàlid per a l'ordre d'operació" + +#: backend/canon.c:432 +#, no-c-format +msgid "invalid field in CDB" +msgstr "Camp no vàlid al CDB" + +#: backend/canon.c:436 +#, no-c-format +msgid "unsupported LUN" +msgstr "LUN no admés" + +#: backend/canon.c:440 +#, no-c-format +msgid "invalid field in parameter list" +msgstr "Camp no vàlid a la llista de paràmetres" + +#: backend/canon.c:444 +#, no-c-format +msgid "command sequence error" +msgstr "Error en la seqüència d'ordres" + +#: backend/canon.c:448 +#, no-c-format +msgid "too many windows specified" +msgstr "S'han especificat massa finestres" + +#: backend/canon.c:452 +#, no-c-format +msgid "medium not present" +msgstr "No es troba el suport" + +#: backend/canon.c:456 +#, no-c-format +msgid "invalid bit IDENTIFY message" +msgstr "Missatge «IDENTIFY» del bit no vàlid" + +#: backend/canon.c:460 +#, no-c-format +msgid "option not connect" +msgstr "L'opció no connectar" + +#: backend/canon.c:474 +#, no-c-format +msgid "power on reset / bus device reset" +msgstr "Reinicia l'encesa / reinicia el bus del dispositiu" + +#: backend/canon.c:478 +#, no-c-format +msgid "parameter changed by another initiator" +msgstr "Paràmetre canviat per un altre iniciador" + +#: backend/canon.c:492 +#, no-c-format +msgid "no additional sense information" +msgstr "Sense informació addicional" + +#: backend/canon.c:496 +#, no-c-format +msgid "reselect failure" +msgstr "Fallada en tornar a seleccionar" + +#: backend/canon.c:500 +#, no-c-format +msgid "SCSI parity error" +msgstr "Error de paritat SCSI" + +#: backend/canon.c:504 +#, no-c-format +msgid "initiator detected error message received" +msgstr "L'iniciador ha detectat la recepció d'un missatge d'error" + +#: backend/canon.c:509 +#, no-c-format +msgid "invalid message error" +msgstr "Error de missatge no vàlid" + +#: backend/canon.c:513 +#, no-c-format +msgid "timeout error" +msgstr "Error de caducitat" + +#: backend/canon.c:517 +#, no-c-format +msgid "transparency unit shading error" +msgstr "Error de l'ombreig a la unitat de transparència" + +#: backend/canon.c:521 +#, no-c-format +msgid "lamp not stabilized" +msgstr "La llum no està estabilitzada" + +#: backend/canon.c:847 backend/canon.c:862 +#, no-c-format +msgid "film scanner" +msgstr "Escàner de pel·lícula" + +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 +#: backend/u12.c:851 +#, no-c-format +msgid "flatbed scanner" +msgstr "Escàner de superfície plana" + +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 +#, no-c-format +msgid "Film type" +msgstr "Tipus de pel·lícula" + +#: backend/canon.c:1179 +#, no-c-format +msgid "Selects the film type, i.e. negatives or slides" +msgstr "" +"Selecciona el tipus de pel·lícula, p. ex., en negatiu o diapositiva" + +#: backend/canon.c:1191 +#, no-c-format +msgid "Negative film type" +msgstr "Tipus de pel·lícula en negatiu" + +#: backend/canon.c:1192 +#, no-c-format +msgid "Selects the negative film type" +msgstr "Selecciona el tipus de pel·lícula en negatiu" + +#: backend/canon.c:1231 +#, no-c-format +msgid "Hardware resolution" +msgstr "Resolució del maquinari" + +#: backend/canon.c:1232 +#, no-c-format +msgid "Use only hardware resolutions" +msgstr "Usa només les resolucions del maquinari" + +#: backend/canon.c:1313 +#, no-c-format +msgid "Focus" +msgstr "Enfocament" + +#: backend/canon.c:1323 +#, no-c-format +msgid "Auto focus" +msgstr "Enfocament automàtic" + +#: backend/canon.c:1324 +#, no-c-format +msgid "Enable/disable auto focus" +msgstr "Habilita/Inhabilita l'enfocament automàtic" + +#: backend/canon.c:1331 +#, no-c-format +msgid "Auto focus only once" +msgstr "Enfocament automàtic només una vegada" + +#: backend/canon.c:1332 +#, no-c-format +msgid "Do auto focus only once between ejects" +msgstr "Fes l'enfocament automàtic només una vegada entre les expulsions" + +#: backend/canon.c:1340 +#, no-c-format +msgid "Manual focus position" +msgstr "Posició manual de l'enfocament" + +#: backend/canon.c:1341 +#, no-c-format +msgid "Set the optical system's focus position by hand (default: 128)." +msgstr "" +"Estableix la posició manual per a l'enfocament del sistema òptic " +"(predeterminat: 128)." + +#: backend/canon.c:1351 +#, no-c-format +msgid "Scan margins" +msgstr "Escaneja els marges" + +#: backend/canon.c:1398 +#, no-c-format +msgid "Extra color adjustments" +msgstr "Ajustaments addicionals per al color" + +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 +#, no-c-format +msgid "Mirror image" +msgstr "Emmiralla la imatge" + +#: backend/canon.c:1534 +#, no-c-format +msgid "Mirror the image horizontally" +msgstr "Emmiralla horitzontalment la imatge" + +#: backend/canon.c:1603 +#, no-c-format +msgid "Auto exposure" +msgstr "Exposició automàtica" + +#: backend/canon.c:1604 +#, no-c-format +msgid "Enable/disable the auto exposure feature" +msgstr "Habilita/Inhabilita la característica per a l'exposició automàtica" + +#: backend/canon.c:1620 +#, no-c-format +msgid "Calibration now" +msgstr "Calibratge ara" + +#: backend/canon.c:1621 +#, no-c-format +msgid "Execute calibration *now*" +msgstr "Executa el calibratge *ara*" + +#: backend/canon.c:1631 +#, no-c-format +msgid "Self diagnosis" +msgstr "Autodiagnòstic" + +#: backend/canon.c:1632 +#, no-c-format +msgid "Perform scanner self diagnosis" +msgstr "Realitza un autodiagnòstic de l'escàner" + +#: backend/canon.c:1643 +#, no-c-format +msgid "Reset scanner" +msgstr "Reinicia l'escàner" + +#: backend/canon.c:1644 +#, no-c-format +msgid "Reset the scanner" +msgstr "Reinicia l'escàner" + +#: backend/canon.c:1654 +#, no-c-format +msgid "Medium handling" +msgstr "Maneja el suport" + +#: backend/canon.c:1663 +#, no-c-format +msgid "Eject film after each scan" +msgstr "Expulsa la pel·lícula després de cada escaneig" + +#: backend/canon.c:1664 +#, no-c-format +msgid "Automatically eject the film from the device after each scan" +msgstr "" +"Expulsa automàticament la pel·lícula del dispositiu després de cada " +"escaneig" + +#: backend/canon.c:1675 +#, no-c-format +msgid "Eject film before exit" +msgstr "Expulsa la pel·lícula abans d'eixir" + +#: backend/canon.c:1676 +#, no-c-format +msgid "" +"Automatically eject the film from the device before exiting the program" +msgstr "" +"Expulsa automàticament la pel·lícula del dispositiu abans d'eixir del " +"programa" + +#: backend/canon.c:1685 +#, no-c-format +msgid "Eject film now" +msgstr "Expulsa la pel·lícula ara" + +#: backend/canon.c:1686 +#, no-c-format +msgid "Eject the film *now*" +msgstr "Expulsa la pel·lícula *ara*" + +#: backend/canon.c:1695 +#, no-c-format +msgid "Document feeder extras" +msgstr "Extres de l'alimentador de documents" + +#: backend/canon.c:1702 +#, no-c-format +msgid "Flatbed only" +msgstr "Només de superfície plana" + +#: backend/canon.c:1703 +#, no-c-format +msgid "Disable auto document feeder and use flatbed only" +msgstr "" +"Inhabilita l'alimentador automàtic de documents i només usa la " +"superfície plana" + +#: backend/canon.c:1713 backend/canon.c:1723 +#, no-c-format +msgid "Transparency unit" +msgstr "Unitat per a la transparència" + +#: backend/canon.c:1724 +#, no-c-format +msgid "Switch on/off the transparency unit (FAU, film adapter unit)" +msgstr "" +"Canvia a activa/desactiva la unitat de transparència (FAU, unitat " +"adaptadora de pel·lícula)" + +#: backend/canon.c:1734 +#, no-c-format +msgid "Negative film" +msgstr "Pel·lícula en negatiu" + +#: backend/canon.c:1735 +#, no-c-format +msgid "Positive or negative film" +msgstr "Pel·lícula en positiu o negatiu" + +#: backend/canon.c:1744 +#, no-c-format +msgid "Density control" +msgstr "Control per a la densitat" + +#: backend/canon.c:1745 +#, no-c-format +msgid "Set density control mode" +msgstr "Estableix el mode de control per a la densitat" + +#: backend/canon.c:1756 +#, no-c-format +msgid "Transparency ratio" +msgstr "Relació de transparència" + +#: backend/canon.c:1770 +#, no-c-format +msgid "Select film type" +msgstr "Selecciona el tipus de pel·lícula" + +#: backend/canon.c:1771 +#, no-c-format +msgid "Select the film type" +msgstr "Selecciona el tipus de pel·lícula" + +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#, no-c-format +msgid "Flatbed" +msgstr "De superfície plana" + +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/kodak.c:140 +#, no-c-format +msgid "ADF Front" +msgstr "ADF per a l'anvers" + +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/kodak.c:141 +#, no-c-format +msgid "ADF Back" +msgstr "ADF per al revers" + +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#, no-c-format +msgid "ADF Duplex" +msgstr "ADF per a les dues cares" + +#: backend/canon_dr.c:415 +#, no-c-format +msgid "Card Front" +msgstr "Targeta per a l'anvers" + +#: backend/canon_dr.c:416 +#, no-c-format +msgid "Card Back" +msgstr "Targeta per al revers" + +#: backend/canon_dr.c:417 +#, no-c-format +msgid "Card Duplex" +msgstr "Targeta per a les dues cares" + +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#, no-c-format +msgid "Red" +msgstr "Roig" + +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#, no-c-format +msgid "Green" +msgstr "Verd" + +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#, no-c-format +msgid "Blue" +msgstr "Blau" + +#: backend/canon_dr.c:427 +#, no-c-format +msgid "Enhance Red" +msgstr "Roig realçat" + +#: backend/canon_dr.c:428 +#, no-c-format +msgid "Enhance Green" +msgstr "Verd realçat" + +#: backend/canon_dr.c:429 +#, no-c-format +msgid "Enhance Blue" +msgstr "Blau realçat" + +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 +#, no-c-format +msgid "None" +msgstr "Cap" + +#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#, no-c-format +msgid "JPEG" +msgstr "JPEG" + +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "El percentatge per a saltar el blanc del programari" + +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "" +"Sol·licita al controlador que descarti les pàgines amb un percentatge " +"baix de píxels foscos" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#, no-c-format +msgid "Simplex" +msgstr "Una cara" + +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 +#, no-c-format +msgid "Duplex" +msgstr "Dues cares" + +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#, no-c-format +msgid "Transparency Unit" +msgstr "Unitat per a la transparència" + +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 +#: backend/umax.c:183 +#, no-c-format +msgid "Automatic Document Feeder" +msgstr "Alimentador automàtic de documents" + +#: backend/epson.c:523 backend/epson2.c:134 +#, no-c-format +msgid "Positive Film" +msgstr "Pel·lícula en positiu" + +#: backend/epson.c:524 backend/epson2.c:135 +#, no-c-format +msgid "Negative Film" +msgstr "Pel·lícula en negatiu" + +#: backend/epson.c:529 backend/epson2.c:142 +#, no-c-format +msgid "Focus on glass" +msgstr "Enfocament sobre el vidre" + +#: backend/epson.c:530 backend/epson2.c:143 +#, no-c-format +msgid "Focus 2.5mm above glass" +msgstr "Enfocament de 2,5 mm per sobre del vidre" + +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 +#, no-c-format +msgid "Halftone A (Hard Tone)" +msgstr "Semi to A (to dur)" + +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 +#, no-c-format +msgid "Halftone B (Soft Tone)" +msgstr "Semi to B (to suau)" + +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 +#, no-c-format +msgid "Halftone C (Net Screen)" +msgstr "Semi to C (matisat)" + +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 +#, no-c-format +msgid "Dither A (4x4 Bayer)" +msgstr "Trama A (bayer 4x4)" + +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 +#, no-c-format +msgid "Dither B (4x4 Spiral)" +msgstr "Trama B (espiral 4x4)" + +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 +#, no-c-format +msgid "Dither C (4x4 Net Screen)" +msgstr "Trama C (matisat 4x4)" + +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 +#, no-c-format +msgid "Dither D (8x4 Net Screen)" +msgstr "Trama D (matisat 8x4)" + +#: backend/epson.c:584 backend/epson2.c:193 +#, no-c-format +msgid "Text Enhanced Technology" +msgstr "Tecnologia per a la millora del text" + +#: backend/epson.c:585 backend/epson2.c:194 +#, no-c-format +msgid "Download pattern A" +msgstr "Descarrega el patró A" + +#: backend/epson.c:586 backend/epson2.c:195 +#, no-c-format +msgid "Download pattern B" +msgstr "Descarrega el patró B" + +#: backend/epson.c:631 +#, no-c-format +msgid "No Correction" +msgstr "Sense correcció" + +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 +#, no-c-format +msgid "User defined" +msgstr "Definit per l'usuari" + +#: backend/epson.c:633 +#, no-c-format +msgid "Impact-dot printers" +msgstr "Impressores matricials" + +#: backend/epson.c:634 +#, no-c-format +msgid "Thermal printers" +msgstr "Impressores tèrmiques" + +#: backend/epson.c:635 +#, no-c-format +msgid "Ink-jet printers" +msgstr "Impressores d'injecció de tinta" + +#: backend/epson.c:636 +#, no-c-format +msgid "CRT monitors" +msgstr "Monitors CRT" + +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 +#, no-c-format +msgid "Default" +msgstr "Predeterminat" + +#: backend/epson.c:658 backend/epson2.c:256 +#, no-c-format +msgid "High density printing" +msgstr "Impressió d'alta densitat" + +#: backend/epson.c:659 backend/epson2.c:257 +#, no-c-format +msgid "Low density printing" +msgstr "Impressió de baixa densitat" + +#: backend/epson.c:660 backend/epson2.c:258 +#, no-c-format +msgid "High contrast printing" +msgstr "Impressió d'alt contrast" + +#: backend/epson.c:678 backend/epson2.c:276 +#, no-c-format +msgid "User defined (Gamma=1.0)" +msgstr "Definit per l'usuari (gamma=1.0)" + +#: backend/epson.c:679 backend/epson2.c:277 +#, no-c-format +msgid "User defined (Gamma=1.8)" +msgstr "Definit per l'usuari (gamma=1.8)" + +#: backend/epson.c:757 +#, no-c-format +msgid "CD" +msgstr "CD" + +#: backend/epson.c:758 +#, no-c-format +msgid "A5 portrait" +msgstr "A5 retrat" + +#: backend/epson.c:759 +#, no-c-format +msgid "A5 landscape" +msgstr "A5 apaïsat" + +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 +#, no-c-format +msgid "Letter" +msgstr "Carta" + +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 +#, no-c-format +msgid "A4" +msgstr "A4" + +#: backend/epson.c:762 +#, no-c-format +msgid "Max" +msgstr "Màx" + +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 +#, no-c-format +msgid "Scan Mode" +msgstr "Mode d'escaneig" + +#: backend/epson.c:2845 backend/epson2.c:1011 +#, no-c-format +msgid "Selects the halftone." +msgstr "Selecciona el semi to." + +#: backend/epson.c:2867 backend/epson2.c:1032 +#, no-c-format +msgid "Dropout" +msgstr "Exclusió" + +#: backend/epson.c:2868 backend/epson2.c:1033 +#, no-c-format +msgid "Selects the dropout." +msgstr "Selecciona el que s'exclourà." + +#: backend/epson.c:2880 backend/epson2.c:1045 +#, no-c-format +msgid "Selects the brightness." +msgstr "Selecciona la brillantor." + +#: backend/epson.c:2895 backend/epson2.c:1058 +#, no-c-format +msgid "Sharpness" +msgstr "Agudesa" + +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 +#, no-c-format +msgid "Color correction" +msgstr "Correcció del color" + +#: backend/epson.c:3034 backend/epson2.c:1176 +#, no-c-format +msgid "Sets the color correction table for the selected output device." +msgstr "" +"Estableix la taula de correcció del color per al dispositiu d'eixida " +"seleccionat." + +#: backend/epson.c:3075 +#, no-c-format +msgid "Color correction coefficients" +msgstr "Coeficients per a la correcció del color" + +#: backend/epson.c:3076 +#, no-c-format +msgid "Matrix multiplication of RGB" +msgstr "Matriu de multiplicació del RGB" + +#: backend/epson.c:3093 +#, no-c-format +msgid "Shift green to red" +msgstr "Canvia de verd a roig" + +#: backend/epson.c:3094 +#, no-c-format +msgid "Shift green to blue" +msgstr "Canvia de verd a blau" + +#: backend/epson.c:3095 +#, no-c-format +msgid "Shift red to green" +msgstr "Canvia de roig a verd" + +#: backend/epson.c:3097 +#, no-c-format +msgid "Shift red to blue" +msgstr "Canvia de roig a blau" + +#: backend/epson.c:3098 +#, no-c-format +msgid "Shift blue to green" +msgstr "Canvia de blau a verd" + +#: backend/epson.c:3099 +#, no-c-format +msgid "Shift blue to red" +msgstr "Canvia de blau a roig" + +#: backend/epson.c:3102 +#, no-c-format +msgid "Controls green level" +msgstr "Controla el nivell de verd" + +#: backend/epson.c:3103 +#, no-c-format +msgid "Adds to red based on green level" +msgstr "Afig roig en funció del nivell de verd" + +#: backend/epson.c:3104 +#, no-c-format +msgid "Adds to blue based on green level" +msgstr "Afig blau en funció del nivell de verd" + +#: backend/epson.c:3105 +#, no-c-format +msgid "Adds to green based on red level" +msgstr "Afig verd en funció del nivell de roig" + +#: backend/epson.c:3106 +#, no-c-format +msgid "Controls red level" +msgstr "Controla el nivell de roig" + +#: backend/epson.c:3107 +#, no-c-format +msgid "Adds to blue based on red level" +msgstr "Afig blau en funció del nivell de roig" + +#: backend/epson.c:3108 +#, no-c-format +msgid "Adds to green based on blue level" +msgstr "Afig verd en funció del nivell de blau" + +#: backend/epson.c:3109 +#, no-c-format +msgid "Adds to red based on blue level" +msgstr "Afig roig en funció del nivell de blau" + +#: backend/epson.c:3110 +#, no-c-format +msgid "Controls blue level" +msgstr "Controla el nivell de blau" + +#: backend/epson.c:3206 backend/epson2.c:1255 +#, no-c-format +msgid "Mirror the image." +msgstr "Emmiralla la imatge." + +#: backend/epson.c:3232 backend/mustek.c:4344 +#, no-c-format +msgid "Fast preview" +msgstr "Vista prèvia ràpida" + +#: backend/epson.c:3245 backend/epson2.c:1265 +#, no-c-format +msgid "Auto area segmentation" +msgstr "Segmentació automàtica de l'àrea" + +#: backend/epson.c:3258 +#, no-c-format +msgid "Short resolution list" +msgstr "Llista curta de les resolucions" + +#: backend/epson.c:3260 +#, no-c-format +msgid "Display short resolution list" +msgstr "Mostra una llista curta de les resolucions" + +#: backend/epson.c:3267 +#, no-c-format +msgid "Zoom" +msgstr "Zoom" + +#: backend/epson.c:3269 +#, no-c-format +msgid "Defines the zoom factor the scanner will use" +msgstr "Defineix el factor de zoom que usarà l'escàner" + +#: backend/epson.c:3349 +#, no-c-format +msgid "Quick format" +msgstr "Format ràpid" + +#: backend/epson.c:3360 backend/epson2.c:1340 +#, no-c-format +msgid "Optional equipment" +msgstr "Equipament opcional" + +#: backend/epson.c:3431 backend/epson2.c:1393 +#, no-c-format +msgid "Eject" +msgstr "Expulsa" + +#: backend/epson.c:3432 backend/epson2.c:1394 +#, no-c-format +msgid "Eject the sheet in the ADF" +msgstr "Expulsa el full de l'ADF" + +#: backend/epson.c:3444 backend/epson2.c:1404 +#, no-c-format +msgid "Auto eject" +msgstr "Expulsa automàticament" + +#: backend/epson.c:3445 backend/epson2.c:1406 +#, no-c-format +msgid "Eject document after scanning" +msgstr "Expulsa el document després de l'escaneig" + +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#, no-c-format +msgid "ADF Mode" +msgstr "Mode ADF" + +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#, no-c-format +msgid "Selects the ADF mode (simplex/duplex)" +msgstr "Seleccionar el mode de l'ADF (una cara/dues cares)" + +#: backend/epson.c:3473 backend/epson2.c:1430 +#, no-c-format +msgid "Bay" +msgstr "Badia" + +#: backend/epson.c:3474 backend/epson2.c:1431 +#, no-c-format +msgid "Select bay to scan" +msgstr "Selecciona la badia per escanejar" + +#: backend/epson.h:69 backend/epson2.h:68 +#, no-c-format +msgid "" +"Selects the gamma correction value from a list of pre-defined devices or " +"the user defined table, which can be downloaded to the scanner" +msgstr "" +"Selecciona el valor per a la correcció de la gamma des d'una llista " +"predefinida de dispositius o de la taula definida per l'usuari, la qual " +"es pot descarregar a l'escàner." + +#: backend/epson.h:72 backend/epson2.h:71 +#, no-c-format +msgid "Focus Position" +msgstr "Posició de l'enfocament" + +#: backend/epson.h:73 backend/epson2.h:72 +#, no-c-format +msgid "" +"Sets the focus position to either the glass or 2.5mm above the glass" +msgstr "" +"Estableix la posició de l'enfocament sobre el vidre o 2,5 mm per sobre " +"del vidre" + +#: backend/epson.h:75 backend/epson2.h:74 +#, no-c-format +msgid "Wait for Button" +msgstr "Espera pel botó" + +#: backend/epson.h:76 backend/epson2.h:75 +#, no-c-format +msgid "" +"After sending the scan command, wait until the button on the scanner is " +"pressed to actually start the scan process." +msgstr "" +"Després d'enviar l'ordre d'escaneig, s'ha d'esperar fins que es prema el " +"botó de l'escàner per iniciar realment el procés d'escaneig." + +#: backend/epson2.c:102 backend/pixma.c:409 +#, no-c-format +msgid "Infrared" +msgstr "Infraroigs" + +# Nota: https://github.com/Scan-o-Matic/scanomatic/wiki/Installing-scanners +#: backend/epson2.c:117 +#, no-c-format +msgid "TPU8x10" +msgstr "TPU8x10" + +#: backend/epson2.c:136 +#, no-c-format +msgid "Positive Slide" +msgstr "Diapositiva en positiu" + +#: backend/epson2.c:137 +#, no-c-format +msgid "Negative Slide" +msgstr "Diapositiva en negatiu" + +# Nota: https://en.wikipedia.org/wiki/Color_temperature#Correlated_color_temperature +#: backend/epson2.c:215 +#, no-c-format +msgid "Built in CCT profile" +msgstr "Incorpora el perfil CCT" + +#: backend/epson2.c:216 +#, no-c-format +msgid "User defined CCT profile" +msgstr "Perfil CCT definit per l'usuari" + +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#, no-c-format +msgid "On" +msgstr "Actiu" + +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 +#, no-c-format +msgid "Off" +msgstr "Inactiu" + +#: backend/fujitsu.c:689 +#, no-c-format +msgid "DTC" +msgstr "DTC" + +#: backend/fujitsu.c:690 +#, no-c-format +msgid "SDTC" +msgstr "SDTC" + +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 +#: backend/teco3.c:978 +#, no-c-format +msgid "Dither" +msgstr "Tramat" + +#: backend/fujitsu.c:693 +#, no-c-format +msgid "Diffusion" +msgstr "Difusió" + +#: backend/fujitsu.c:698 +#, no-c-format +msgid "White" +msgstr "Blanc" + +#: backend/fujitsu.c:699 +#, no-c-format +msgid "Black" +msgstr "Negre" + +#: backend/fujitsu.c:704 +#, no-c-format +msgid "Continue" +msgstr "Continua" + +#: backend/fujitsu.c:705 +#, no-c-format +msgid "Stop" +msgstr "Atura" + +#: backend/fujitsu.c:707 +#, no-c-format +msgid "10mm" +msgstr "10 mm" + +#: backend/fujitsu.c:708 +#, no-c-format +msgid "15mm" +msgstr "15 mm" + +#: backend/fujitsu.c:709 +#, no-c-format +msgid "20mm" +msgstr "20 mm" + +#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#, no-c-format +msgid "Horizontal" +msgstr "Horitzontal" + +#: backend/fujitsu.c:712 +#, no-c-format +msgid "Horizontal bold" +msgstr "Horitzontal en negre" + +#: backend/fujitsu.c:713 +#, no-c-format +msgid "Horizontal narrow" +msgstr "Horitzontal estreta" + +#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#, no-c-format +msgid "Vertical" +msgstr "Vertical" + +#: backend/fujitsu.c:715 +#, no-c-format +msgid "Vertical bold" +msgstr "Vertical en negre" + +#: backend/fujitsu.c:717 +#, no-c-format +msgid "Top to bottom" +msgstr "De dalt a baix" + +#: backend/fujitsu.c:718 +#, no-c-format +msgid "Bottom to top" +msgstr "De baix a dalt" + +#: backend/fujitsu.c:720 +#, no-c-format +msgid "Front" +msgstr "Anvers" + +#: backend/fujitsu.c:721 +#, no-c-format +msgid "Back" +msgstr "Revers" + +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#, no-c-format +msgid "Gamma function exponent" +msgstr "Exponent de la funció gamma" + +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#, no-c-format +msgid "Changes intensity of midtones" +msgstr "Canvia la intensitat dels semi tons" + +#: backend/fujitsu.c:3194 +#, no-c-format +msgid "RIF" +msgstr "RIF" + +#: backend/fujitsu.c:3195 +#, no-c-format +msgid "Reverse image format" +msgstr "Format d'imatge inversa" + +#: backend/fujitsu.c:3212 +#, no-c-format +msgid "Halftone type" +msgstr "Tipus de semi to" + +#: backend/fujitsu.c:3213 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "Controla el tipus de filtre del semi to" + +#: backend/fujitsu.c:3234 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "Controla el patró del filtre del semi to" + +#: backend/fujitsu.c:3256 +#, no-c-format +msgid "Outline" +msgstr "Contorn" + +#: backend/fujitsu.c:3257 +#, no-c-format +msgid "Perform outline extraction" +msgstr "Realitza l'extracció del contorn" + +#: backend/fujitsu.c:3268 +#, no-c-format +msgid "Emphasis" +msgstr "Èmfasi" + +#: backend/fujitsu.c:3269 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "Negatiu per a suavitzar o positiu per aguditzar la imatge" + +#: backend/fujitsu.c:3287 +#, no-c-format +msgid "Separation" +msgstr "Separació" + +#: backend/fujitsu.c:3288 +#, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "Habilita la separació automàtica de les imatges i el text" + +#: backend/fujitsu.c:3299 +#, no-c-format +msgid "Mirroring" +msgstr "Emmiralla" + +#: backend/fujitsu.c:3300 +#, no-c-format +msgid "Reflect output image horizontally" +msgstr "Reflecteix horitzontalment la imatge d'eixida" + +#: backend/fujitsu.c:3317 +#, no-c-format +msgid "White level follower" +msgstr "Seguidor del nivell de blanc" + +#: backend/fujitsu.c:3318 +#, no-c-format +msgid "Control white level follower" +msgstr "Controla el seguidor del nivell de blanc" + +#: backend/fujitsu.c:3336 +#, no-c-format +msgid "BP filter" +msgstr "Filtre per al bolígraf" + +#: backend/fujitsu.c:3337 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "Millora la qualitat del text del bolígraf amb alta resolució" + +#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "Suavitzat" + +#: backend/fujitsu.c:3354 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "Habilita el suavitzat per a millorar l'OCR" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Gamma curve" +msgstr "Corba amb interval" + +#: backend/fujitsu.c:3371 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "" +"La corba amb interval, des de la llum a la foscor, però la part superior " +"de les dues podria no funcionar" + +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "Corba del llindar" + +#: backend/fujitsu.c:3394 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "" +"La corba del llindar, des de la llum a la foscor, però la part superior " +"de les dues podria no ser lineal" + +#: backend/fujitsu.c:3416 +#, no-c-format +msgid "Threshold white" +msgstr "Llindar al blanc" + +#: backend/fujitsu.c:3417 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "" +"Estableix els píxels iguals al llindar al blanc en comptes de negre" + +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#, no-c-format +msgid "Noise removal" +msgstr "Eliminació del soroll" + +#: backend/fujitsu.c:3450 +#, no-c-format +msgid "Matrix 5x5" +msgstr "Matriu 5x5" + +#: backend/fujitsu.c:3451 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "Elimina el soroll quadrat de 5 píxels" + +#: backend/fujitsu.c:3467 +#, no-c-format +msgid "Matrix 4x4" +msgstr "Matriu 4x4" + +#: backend/fujitsu.c:3468 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "Elimina el soroll quadrat de 4 píxels" + +#: backend/fujitsu.c:3484 +#, no-c-format +msgid "Matrix 3x3" +msgstr "Matriu 3x3" + +#: backend/fujitsu.c:3485 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "Elimina el soroll quadrat de 3 píxels" + +#: backend/fujitsu.c:3501 +#, no-c-format +msgid "Matrix 2x2" +msgstr "Matriu 2x2" + +#: backend/fujitsu.c:3502 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "Elimina el soroll quadrat de 2 píxels" + +#: backend/fujitsu.c:3521 +#, no-c-format +msgid "Variance" +msgstr "Variància" + +#: backend/fujitsu.c:3522 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "" +"Estableix la velocitat de la variància SDTC (sensibilitat), 0 és igual " +"que 127" + +#: backend/fujitsu.c:3555 +#, no-c-format +msgid "Auto width detection" +msgstr "Detecció automàtica de l'amplària" + +#: backend/fujitsu.c:3556 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "" +"L'escàner detectarà els costats del paper. Pot reduir la velocitat de " +"l'escaneig." + +#: backend/fujitsu.c:3573 +#, no-c-format +msgid "Auto length detection" +msgstr "Detecció automàtica de la llargada" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "" +"L'escàner detectarà la vora inferior del paper. Pot confondre alguns " +"frontals." + +#: backend/fujitsu.c:3600 +#, no-c-format +msgid "Compression" +msgstr "Compressió" + +#: backend/fujitsu.c:3601 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "" +"Habilita les dades comprimides. Pot fer fallar el vostre programa de " +"frontal" + +#: backend/fujitsu.c:3621 +#, no-c-format +msgid "Compression argument" +msgstr "Argument per a la compressió" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" +"Nivell de la compressió JPEG. 1 és un fitxer petit, 7 és un fitxer gran. " +"0 (predeterminat) és igual que 4" + +#: backend/fujitsu.c:3652 +#, no-c-format +msgid "DF action" +msgstr "Acció per a la doble alimentació" + +#: backend/fujitsu.c:3653 +#, no-c-format +msgid "Action following double feed error" +msgstr "Acció per a després de l'error de doble alimentació" + +#: backend/fujitsu.c:3669 +#, no-c-format +msgid "DF skew" +msgstr "Inclinació per la doble alimentació" + +#: backend/fujitsu.c:3670 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "Habilita l'error de doble alimentació que causa inclinació" + +#: backend/fujitsu.c:3688 +#, no-c-format +msgid "DF thickness" +msgstr "Gruix del paper per la doble alimentació" + +#: backend/fujitsu.c:3689 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "Habilita l'error de doble alimentació causat pel gruix del paper" + +#: backend/fujitsu.c:3707 +#, no-c-format +msgid "DF length" +msgstr "Longitud del paper causant doble alimentació" + +#: backend/fujitsu.c:3708 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "" +"Habilita l'error de doble alimentació causat per la longitud del paper" + +#: backend/fujitsu.c:3731 +#, no-c-format +msgid "DF length difference" +msgstr "Diferència en la longitud per a causar doble alimentació" + +#: backend/fujitsu.c:3732 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "" +"Diferència en la longitud de la pàgina per activar l'error de doble " +"alimentació" + +#: backend/fujitsu.c:3755 +#, no-c-format +msgid "DF recovery mode" +msgstr "El mode recuperació causa doble alimentació" + +#: backend/fujitsu.c:3756 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "" +"Sol·licita a l'escàner que l'alimentador recuperi el paper en embussar-se" + +#: backend/fujitsu.c:3775 +#, no-c-format +msgid "Paper protection" +msgstr "Protecció del paper" + +#: backend/fujitsu.c:3776 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "Pregunta a l'escàner per a predir les embussades a l'ADF" + +#: backend/fujitsu.c:3795 +#, no-c-format +msgid "Advanced paper protection" +msgstr "Protecció avançada del paper" + +#: backend/fujitsu.c:3796 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "" +"Pregunta a l'escàner per a predir les embussades a l'ADF usant sensors " +"millorats" + +#: backend/fujitsu.c:3815 +#, no-c-format +msgid "Staple detection" +msgstr "Detecció de les grapes" + +#: backend/fujitsu.c:3816 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "" +"Pregunta a l'escàner per a detectar les embussades a l'ADF causades per " +"les grapes" + +#: backend/fujitsu.c:3835 +#, no-c-format +msgid "Background color" +msgstr "Color de fons" + +#: backend/fujitsu.c:3836 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "" +"Estableix un color de fons per a l'escaneig. Pot entrar en conflicte amb " +"l'opció de sobreexploració" + +#: backend/fujitsu.c:3856 +#, no-c-format +msgid "Dropout color" +msgstr "Descarta el color" + +#: backend/fujitsu.c:3857 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" +"Els escàners d'una sola passada només usen un color durant l'escaneig " +"amb gris o binari, útil per a paper amb colors o tinta" + +#: backend/fujitsu.c:3880 +#, no-c-format +msgid "Buffer mode" +msgstr "Mode de memòria intermèdia" + +#: backend/fujitsu.c:3881 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" +"Sol·licita a l'escàner que llija les pàgines ràpidament des de l'ADF a " +"la memòria interna" + +#: backend/fujitsu.c:3900 +#, no-c-format +msgid "Prepick" +msgstr "Preselecciona" + +#: backend/fujitsu.c:3901 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "Sol·licita a l'escàner que agafi la pàgina següent des de l'ADF" + +#: backend/fujitsu.c:3920 +#, no-c-format +msgid "Overscan" +msgstr "Sobreexploració" + +#: backend/fujitsu.c:3921 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" +"Recull uns pocs mm del fons al costat superior de l'escaneig, abans que " +"el paper ingressi a l'ADF i augmenta l'àrea màxima d'escaneig més enllà " +"de la mida del paper, per a permetre recollir els costats restants. Pot " +"entrar en conflicte amb l'opció Color de fons" + +#: backend/fujitsu.c:3939 +#, no-c-format +msgid "Sleep timer" +msgstr "Temporitzador de suspensió" + +#: backend/fujitsu.c:3940 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "" +"Temps en minuts fins que la font d'alimentació interna canviarà al mode " +"de suspensió" + +#: backend/fujitsu.c:3958 +#, no-c-format +msgid "Off timer" +msgstr "Temporitzador per apagar" + +#: backend/fujitsu.c:3959 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" +"Temps en minuts fins que la font d'alimentació interna apagui l'escàner. " +"S'arrodonirà fins als 15 minuts més propers. Zero significa que no " +"s'apagarà mai." + +#: backend/fujitsu.c:3977 +#, no-c-format +msgid "Duplex offset" +msgstr "Desplaçament de la doble cara" + +#: backend/fujitsu.c:3978 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "Ajusta el desplaçament per a l'anvers/revers" + +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "Desplaçament del verd" + +#: backend/fujitsu.c:3996 +#, no-c-format +msgid "Adjust green/red offset" +msgstr "Ajusta el desplaçament del verd/roig" + +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "Desplaçament del blau" + +#: backend/fujitsu.c:4014 +#, no-c-format +msgid "Adjust blue/red offset" +msgstr "Ajusta el desplaçament del blau/roig" + +#: backend/fujitsu.c:4027 +#, no-c-format +msgid "Low Memory" +msgstr "Memòria baixa" + +#: backend/fujitsu.c:4028 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" +"Limita l'ús de la memòria del controlador per a usar-ho en sistemes " +"incrustats. Provoca algunes transferències de doble cara a costats " +"alternatius de cada crida al «sane_read()». El valor de l'opció «side» " +"es pot usar per a determinar la imatge correcta. Aquesta opció només " +"s'hauria d'usar amb el programari de frontal personalitzat." + +#: backend/fujitsu.c:4043 +#, no-c-format +msgid "Duplex side" +msgstr "Cara per a les dues cares" + +#: backend/fujitsu.c:4044 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" +"Indica a quina cara (0=anvers, 1=revers) en un escaneig de dues cares " +"retornarà la següent crida al «sane_read()»." + +#: backend/fujitsu.c:4055 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "Desinclina i escapça per maquinari" + +#: backend/fujitsu.c:4056 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "" +"Sol·licita a l'escàner que giri i escapci les pàgines de forma digital." + +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#, no-c-format +msgid "Software deskew" +msgstr "Desinclina per programari" + +#: backend/fujitsu.c:4068 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "" +"Sol·licita al controlador que giri les pàgines inclinades de forma " +"digital." + +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "Diàmetre per eliminar els pics per programari" + +#: backend/fujitsu.c:4081 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "" +"Diàmetre màxim dels punts solitaris per eliminar-los de l'escaneig." + +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#, no-c-format +msgid "Software crop" +msgstr "Escapça per programari" + +#: backend/fujitsu.c:4101 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "" +"Sol·licita al controlador que elimini la vora de les pàgines de forma " +"digital." + +#: backend/fujitsu.c:4130 +#, no-c-format +msgid "Halt on Cancel" +msgstr "Atura en cancel·lar" + +#: backend/fujitsu.c:4131 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "" +"Sol·licita al controlador que pare l'alimentador de paper en lloc " +"d'expulsar-lo durant una cancel·lació." + +#: backend/fujitsu.c:4142 +#, no-c-format +msgid "Endorser Options" +msgstr "Opcions per a l'aprovador" + +#: backend/fujitsu.c:4143 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "Controls per a la unitat aprovadora" + +#: backend/fujitsu.c:4154 +#, no-c-format +msgid "Endorser" +msgstr "Aprovador" + +#: backend/fujitsu.c:4155 +#, no-c-format +msgid "Enable endorser unit" +msgstr "Habilita la unitat aprovadora" + +#: backend/fujitsu.c:4170 +#, no-c-format +msgid "Endorser bits" +msgstr "Bits de l'aprovació" + +#: backend/fujitsu.c:4171 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "Determina el valor màxim del comptador de l'aprovació." + +#: backend/fujitsu.c:4196 +#, no-c-format +msgid "Endorser value" +msgstr "Valor de l'aprovació" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "Valor inicial del comptador de l'aprovació." + +#: backend/fujitsu.c:4220 +#, no-c-format +msgid "Endorser step" +msgstr "Pas de l'aprovació" + +#: backend/fujitsu.c:4221 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "" +"Canvia el valor del comptador de l'aprovació en aquest tant per a cada " +"pàgina." + +#: backend/fujitsu.c:4244 +#, no-c-format +msgid "Endorser Y" +msgstr "Aprovació Y" + +#: backend/fujitsu.c:4245 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "" +"Desplaçament de la impressió de l'aprovador des de la part superior del " +"paper." + +#: backend/fujitsu.c:4270 +#, no-c-format +msgid "Endorser font" +msgstr "Tipus de lletra per a l'aprovador" + +#: backend/fujitsu.c:4271 +#, no-c-format +msgid "Endorser printing font." +msgstr "El tipus de lletra amb el que imprimirà l'aprovador." + +#: backend/fujitsu.c:4300 +#, no-c-format +msgid "Endorser direction" +msgstr "Direcció de l'aprovador" + +#: backend/fujitsu.c:4301 +#, no-c-format +msgid "Endorser printing direction." +msgstr "Direcció amb la qual imprimirà l'aprovador." + +#: backend/fujitsu.c:4325 +#, no-c-format +msgid "Endorser side" +msgstr "Costat de l'aprovador" + +#: backend/fujitsu.c:4326 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "" +"El costat de la impressió de l'aprovador, requereix maquinari per " +"canviar-lo" + +#: backend/fujitsu.c:4351 +#, no-c-format +msgid "Endorser string" +msgstr "Cadena de l'aprovador" + +#: backend/fujitsu.c:4352 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" +"Format d'impressió alfanumèric de l'aprovador. %05ud o %08ud al final " +"serà substituït pel valor del comptador." + +#: backend/fujitsu.c:4379 +#, no-c-format +msgid "Top edge" +msgstr "Vora superior" + +#: backend/fujitsu.c:4380 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "El paper s'ha retirat parcialment dins de l'ADF" + +#: backend/fujitsu.c:4391 +#, no-c-format +msgid "A3 paper" +msgstr "Paper A3" + +#: backend/fujitsu.c:4392 +#, no-c-format +msgid "A3 paper detected" +msgstr "S'ha detectat un paper A3" + +#: backend/fujitsu.c:4403 +#, no-c-format +msgid "B4 paper" +msgstr "Paper B4" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "B4 paper detected" +msgstr "S'ha detectat un paper B4" + +#: backend/fujitsu.c:4415 +#, no-c-format +msgid "A4 paper" +msgstr "Paper A4" + +#: backend/fujitsu.c:4416 +#, no-c-format +msgid "A4 paper detected" +msgstr "S'ha detectat un paper A4" + +#: backend/fujitsu.c:4427 +#, no-c-format +msgid "B5 paper" +msgstr "Paper B5" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "B5 paper detected" +msgstr "S'ha detectat un paper B5" + +#: backend/fujitsu.c:4451 +#, no-c-format +msgid "OMR or DF" +msgstr "OMR o DF" + +#: backend/fujitsu.c:4452 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "" +"S'ha detectat una OMR (reconeixement de marca òptica) o alimentació de " +"doble cara" + +#: backend/fujitsu.c:4475 +#, no-c-format +msgid "Power saving" +msgstr "Estalvi d'energia" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "Escàner en el mode estalvi d'energia" + +#: backend/fujitsu.c:4499 +#, no-c-format +msgid "Manual feed" +msgstr "Alimentació manual" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Manual feed selected" +msgstr "S'ha seleccionat una alimentació manual" + +#: backend/fujitsu.c:4523 +#, no-c-format +msgid "Function" +msgstr "Funció" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Function character on screen" +msgstr "Funció caràcter a la pantalla" + +#: backend/fujitsu.c:4535 +#, no-c-format +msgid "Ink low" +msgstr "Tinta baixa" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "La impressora s'està executant amb la tinta baixa" + +#: backend/fujitsu.c:4547 +#, no-c-format +msgid "Double feed" +msgstr "Alimentació de doble cara" + +#: backend/fujitsu.c:4548 +#, no-c-format +msgid "Double feed detected" +msgstr "S'ha detectat una alimentació de doble cara" + +#: backend/fujitsu.c:4559 +#, no-c-format +msgid "Error code" +msgstr "Codi d'error" + +#: backend/fujitsu.c:4560 +#, no-c-format +msgid "Hardware error code" +msgstr "Codi d'error del maquinari" + +#: backend/fujitsu.c:4571 +#, no-c-format +msgid "Skew angle" +msgstr "Angle d'inclinació" + +#: backend/fujitsu.c:4572 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "Requereix un fons negre per escanejar" + +#: backend/fujitsu.c:4583 +#, no-c-format +msgid "Ink remaining" +msgstr "Tinta restant" + +#: backend/fujitsu.c:4584 +#, no-c-format +msgid "Imprinter ink level" +msgstr "Nivell de tinta de la impressora" + +#: backend/fujitsu.c:4595 +#, no-c-format +msgid "Density" +msgstr "Densitat" + +#: backend/fujitsu.c:4596 +#, no-c-format +msgid "Density dial" +msgstr "Marcador de la densitat" + +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#, no-c-format +msgid "Duplex switch" +msgstr "Commuta a doble cara" + +#: backend/genesys.cc:5437 +#, no-c-format +msgid "Request backend to remove border from pages digitally" +msgstr "" +"Sol·licita al dorsal que elimini la vora de les pàgines de forma digital" + +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#, no-c-format +msgid "Request driver to discard pages with low numbers of dark pixels" +msgstr "" +"Sol·licita al controlador que descarti les pàgines amb un nombre baix de " +"píxels foscos" + +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#, no-c-format +msgid "Software derotate" +msgstr "Treu el gir per programari" + +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#, no-c-format +msgid "Request driver to detect and correct 90 degree image rotation" +msgstr "" +"Sol·licita al controlador que detecti i corregisca el gir de 90 graus de " +"la imatge" + +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#, no-c-format +msgid "Extras" +msgstr "Extres" + +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#, no-c-format +msgid "Dynamic threshold curve, from light to dark, normally 50-65" +msgstr "" +"La corba dinàmica del llindar, des de la llum a la foscor, normalment de " +"50 a 65" + +#: backend/genesys.cc:5515 +#, no-c-format +msgid "Disable dynamic lineart" +msgstr "Inhabilita l'art lineal dinàmic" + +#: backend/genesys.cc:5517 +#, no-c-format +msgid "" +"Disable use of a software adaptive algorithm to generate lineart relying " +"instead on hardware lineart." +msgstr "" +"Inhabilita l'ús d'un algorisme adaptatiu per programari que genera art " +"lineal en comptes de per maquinari." + +#: backend/genesys.cc:5533 +#, no-c-format +msgid "Disable interpolation" +msgstr "Inhabilita la interpolació" + +#: backend/genesys.cc:5536 +#, no-c-format +msgid "" +"When using high resolutions where the horizontal resolution is smaller " +"than the vertical resolution this disables horizontal interpolation." +msgstr "" +"Quan s'usen resolucions d'alta resolució on la resolució horitzontal és " +"més petita que la vertical, això inhabilitarà la interpolació " +"horitzontal." + +#: backend/genesys.cc:5545 +#, no-c-format +msgid "Color filter" +msgstr "Filtre de color" + +#: backend/genesys.cc:5548 +#, no-c-format +msgid "When using gray or lineart this option selects the used color." +msgstr "" +"Quan s'usa gris o art lineal, aquesta opció seleccionarà el color a usar." + +#: backend/genesys.cc:5574 +#, no-c-format +msgid "Calibration file" +msgstr "Fitxer de calibratge" + +#: backend/genesys.cc:5575 +#, no-c-format +msgid "Specify the calibration file to use" +msgstr "Especifica el fitxer de calibratge a usar" + +#: backend/genesys.cc:5592 +#, no-c-format +msgid "Calibration cache expiration time" +msgstr "Temps de caducitat per a la memòria cau del calibratge" + +#: backend/genesys.cc:5593 +#, no-c-format +msgid "" +"Time (in minutes) before a cached calibration expires. A value of 0 " +"means cache is not used. A negative value means cache never expires." +msgstr "" +"Temps (en minuts) abans que expiri el calibratge emmagatzemat a la " +"memòria cau. Un valor de 0 indicarà que no s'usarà la memòria cau. Un " +"valor negatiu indicarà que la memòria cau no caducarà mai." + +#: backend/genesys.cc:5603 +#, no-c-format +msgid "Lamp off time" +msgstr "Temps per apagar la làmpada" + +#: backend/genesys.cc:5606 +#, no-c-format +msgid "" +"The lamp will be turned off after the given time (in minutes). A value " +"of 0 means, that the lamp won't be turned off." +msgstr "" +"La llum s'apagarà després del temps determinat (en minuts). Un valor de " +"0 indicarà que no s'apagarà la làmpada." + +#: backend/genesys.cc:5616 +#, no-c-format +msgid "Lamp off during scan" +msgstr "Apaga la làmpada durant l'escaneig" + +#: backend/genesys.cc:5617 +#, no-c-format +msgid "The lamp will be turned off during scan. " +msgstr "La llum s'apagarà durant l'escaneig." + +#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#, no-c-format +msgid "File button" +msgstr "Botó de fitxer" + +#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#, no-c-format +msgid "OCR button" +msgstr "Botó OCR" + +#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#, no-c-format +msgid "Power button" +msgstr "Botó d'encesa" + +#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#, no-c-format +msgid "Extra button" +msgstr "Botó extra" + +#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#, no-c-format +msgid "Need calibration" +msgstr "Necessita calibratge" + +#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#, no-c-format +msgid "The scanner needs calibration for the current settings" +msgstr "L'escàner necessita calibratge per als ajustaments actuals" + +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#, no-c-format +msgid "Buttons" +msgstr "Botons" + +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#, no-c-format +msgid "Calibrate" +msgstr "Calibratge" + +#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#, no-c-format +msgid "Start calibration using special sheet" +msgstr "Comença el calibratge emprant un full especial" + +#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#, no-c-format +msgid "Clear calibration" +msgstr "Neteja el calibratge" + +#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#, no-c-format +msgid "Clear calibration cache" +msgstr "Neteja la memòria cau del calibratge" + +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Calibratge tosc" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 +#, no-c-format +msgid "Transparency Adapter" +msgstr "Adaptador de transparència" + +#: backend/gt68xx.c:470 +#, no-c-format +msgid "Gray mode color" +msgstr "Color per al mode gris" + +#: backend/gt68xx.c:472 +#, no-c-format +msgid "Selects which scan color is used gray mode (default: green)." +msgstr "" +"Selecciona quin color d'escaneig s'usarà en el mode gris (predeterminat: " +"verd)." + +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 +#, no-c-format +msgid "Debugging Options" +msgstr "Opcions de depuració" + +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 +#, no-c-format +msgid "Automatic warmup" +msgstr "Escalfament automàtic" + +#: backend/gt68xx.c:566 +#, no-c-format +msgid "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"60 seconds warm-up time." +msgstr "" +"Escalfa fins que la brillantor de la làmpada siga constant en comptes " +"d'insistir en el temps d'escalfament de 60 segons." + +#: backend/gt68xx.c:578 +#, no-c-format +msgid "Full scan" +msgstr "Escaneja completament" + +#: backend/gt68xx.c:580 +#, no-c-format +msgid "" +"Scan the complete scanning area including calibration strip. Be careful. " +"Don't select the full height. For testing only." +msgstr "" +"Escaneja tota l'àrea d'escaneig, inclosa la tira de calibratge. Aneu amb " +"compte. No seleccioneu tota l'alçària. Només per a proves." + +#: backend/gt68xx.c:591 +#, no-c-format +msgid "Coarse calibration" +msgstr "Calibratge tosc" + +#: backend/gt68xx.c:593 +#, no-c-format +msgid "" +"Setup gain and offset for scanning automatically. If this option is " +"disabled, options for setting the analog frontend parameters manually " +"are provided. This option is enabled by default. For testing only." +msgstr "" +"Estableix el guany i el desplaçament per a l'escaneig automàtic. Si " +"aquesta opció està inhabilitada, es proporcionen opcions per a establir " +"manualment els paràmetres del frontal analògic. Aquesta opció està " +"habilitada de manera predeterminada. Només per a proves." + +#: backend/gt68xx.c:612 +#, no-c-format +msgid "Coarse calibration for first scan only" +msgstr "Calibratge tosc només per al primer escanejat" + +#: backend/gt68xx.c:614 +#, no-c-format +msgid "" +"Coarse calibration is only done for the first scan. Works with most " +"scanners and can save scanning time. If the image brightness is " +"different with each scan, disable this option. For testing only." +msgstr "" +"El calibratge tosc només es farà per al primer escaneig. Funciona amb la " +"majoria d'escàners i pot estalviar temps d'escaneig. Si la brillantor de " +"la imatge és diferent amb cada escaneig, inhabiliteu aquesta opció. " +"Només per a proves." + +#: backend/gt68xx.c:647 +#, no-c-format +msgid "Backtrack lines" +msgstr "Línies a tornar arrere" + +#: backend/gt68xx.c:649 +#, no-c-format +msgid "" +"Number of lines the scan slider moves back when backtracking occurs. " +"That happens when the scanner scans faster than the computer can receive " +"the data. Low values cause faster scans but increase the risk of " +"omitting lines." +msgstr "" +"Nombre de línies que el control lliscant de l'escanejat mourà cap arrere " +"quan succeisca el fet de tornar arrere. Això passa quan l'escàner " +"escaneja més de pressa que en el que l'ordinador pot rebre les dades. " +"Els valors baixos produeixen escaneigs més ràpids, però augmenten el " +"risc d'omissió de línies." + +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 +#, no-c-format +msgid "Gamma value" +msgstr "Valor de la gamma" + +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 +#, no-c-format +msgid "Sets the gamma value of all channels." +msgstr "Estableix el valor de la gamma de tots els canals." + +#: backend/hp3500.c:1020 +#, no-c-format +msgid "Geometry Group" +msgstr "Grup de geometria" + +#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#, no-c-format +msgid "Scan Mode Group" +msgstr "Grup de mode d'escaneig" + +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3177 +#, no-c-format +msgid "Slide" +msgstr "Diapositiva" + +#: backend/hp3900_sane.c:1405 +#, no-c-format +msgid "Scanner model" +msgstr "Model de l'escàner" + +#: backend/hp3900_sane.c:1408 +#, no-c-format +msgid "Allows one to test device behaviour with other supported models" +msgstr "" +"Permet comprovar el comportament del dispositiu amb els altres models " +"admesos" + +#: backend/hp3900_sane.c:1422 +#, no-c-format +msgid "Image colours will be inverted" +msgstr "Els colors de la imatge seran invertits" + +#: backend/hp3900_sane.c:1436 +#, no-c-format +msgid "Disable gamma correction" +msgstr "Inhabilita la correcció de la gamma" + +#: backend/hp3900_sane.c:1437 +#, no-c-format +msgid "Gamma correction will be disabled" +msgstr "La correcció de la gamma serà inhabilitada" + +#: backend/hp3900_sane.c:1451 +#, no-c-format +msgid "Disable white shading correction" +msgstr "Inhabilita la correcció de l'ombra blanca" + +#: backend/hp3900_sane.c:1453 +#, no-c-format +msgid "White shading correction will be disabled" +msgstr "La correcció de l'ombra blanca serà inhabilitada" + +#: backend/hp3900_sane.c:1467 +#, no-c-format +msgid "Skip warmup process" +msgstr "Omet el procés d'escalfament" + +#: backend/hp3900_sane.c:1468 +#, no-c-format +msgid "Warmup process will be disabled" +msgstr "El procés d'escalfament serà inhabilitat" + +#: backend/hp3900_sane.c:1482 +#, no-c-format +msgid "Force real depth" +msgstr "Força la profunditat real" + +#: backend/hp3900_sane.c:1485 +#, no-c-format +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"Si s'ha habilitat la gamma, els escanejos es realitzaran sempre en 16 " +"bits de profunditat per a millorar la qualitat de la imatge i després " +"convertir-la a la profunditat seleccionada. Aquesta opció evitarà " +"l'emulació de la profunditat." + +#: backend/hp3900_sane.c:1499 +#, no-c-format +msgid "Emulate Grayscale" +msgstr "Emula l'escala de grisos" + +#: backend/hp3900_sane.c:1502 +#, no-c-format +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"Si s'habilita, la imatge s'escanejarà en el mode de color i després es " +"convertirà per programari a una escala de grisos. Això pot millorar la " +"qualitat de la imatge en algunes circumstàncies." + +#: backend/hp3900_sane.c:1516 +#, no-c-format +msgid "Save debugging images" +msgstr "Guarda imatges per a la depuració" + +#: backend/hp3900_sane.c:1519 +#, no-c-format +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"Si s'habilita, es guardaran algunes imatges relacionades amb el " +"processament de l'escàner per analitzar-les." + +#: backend/hp3900_sane.c:1533 +#, no-c-format +msgid "Reset chipset" +msgstr "Reinicia el joc de xips" + +#: backend/hp3900_sane.c:1534 +#, no-c-format +msgid "Resets chipset data" +msgstr "Reinicia les dades del joc de xips" + +#: backend/hp3900_sane.c:1547 +#, no-c-format +msgid "Information" +msgstr "Informació" + +#: backend/hp3900_sane.c:1560 +#, no-c-format +msgid "Chipset name" +msgstr "Nom del joc de xips" + +#: backend/hp3900_sane.c:1561 +#, no-c-format +msgid "Shows chipset name used in device." +msgstr "Mostra el nom del joc de xips usat al dispositiu." + +#: backend/hp3900_sane.c:1565 +#, no-c-format +msgid "Unknown" +msgstr "Desconegut" + +#: backend/hp3900_sane.c:1571 +#, no-c-format +msgid "Chipset ID" +msgstr "ID del joc de xips" + +#: backend/hp3900_sane.c:1572 +#, no-c-format +msgid "Shows the chipset ID" +msgstr "Mostra l'ID del joc de xips" + +#: backend/hp3900_sane.c:1582 +#, no-c-format +msgid "Scan counter" +msgstr "Comptador d'escaneigs" + +#: backend/hp3900_sane.c:1584 +#, no-c-format +msgid "Shows the number of scans made by scanner" +msgstr "Mostra el nombre d'escaneigs realitzats per l'escàner" + +#: backend/hp3900_sane.c:1594 +#, no-c-format +msgid "Update information" +msgstr "Actualitza la informació" + +#: backend/hp3900_sane.c:1595 +#, no-c-format +msgid "Updates information about device" +msgstr "Actualitza la informació quant al dispositiu" + +#: backend/hp3900_sane.c:1635 +#, no-c-format +msgid "This option reflects a front panel scanner button" +msgstr "Aquesta opció reflecteix un botó d'escàner al panell frontal" + +#: backend/hp5400_sane.c:313 backend/niash.c:678 +#, no-c-format +msgid "Image" +msgstr "Imatge" + +#: backend/hp5400_sane.c:352 backend/niash.c:709 +#, no-c-format +msgid "Miscellaneous" +msgstr "Miscel·lània" + +#: backend/hp5400_sane.c:358 +#, no-c-format +msgid "offset X" +msgstr "Desplaçament X" + +#: backend/hp5400_sane.c:359 +#, no-c-format +msgid "Hardware internal X position of the scanning area." +msgstr "Posició X interna al maquinari de l'àrea d'escaneig." + +#: backend/hp5400_sane.c:368 +#, no-c-format +msgid "offset Y" +msgstr "Desplaçament Y" + +#: backend/hp5400_sane.c:369 +#, no-c-format +msgid "Hardware internal Y position of the scanning area." +msgstr "Posició Y interna al maquinari de l'àrea d'escaneig." + +#: backend/hp5400_sane.c:381 backend/niash.c:716 +#, no-c-format +msgid "Lamp status" +msgstr "Estat de la làmpada" + +#: backend/hp5400_sane.c:382 backend/niash.c:717 +#, no-c-format +msgid "Switches the lamp on or off." +msgstr "Apaga o encén la llum." + +#: backend/hp5400_sane.c:393 backend/niash.c:727 +#, no-c-format +msgid "Calibrates for black and white level." +msgstr "Calibra per al nivell de blanc i negre." + +#: backend/hp5590.c:93 backend/hp-option.c:3256 +#, no-c-format +msgid "ADF" +msgstr "ADF" + +# Nota: https://en.wikipedia.org/wiki/Tissue_microarray +#: backend/hp5590.c:95 +#, no-c-format +msgid "TMA Slides" +msgstr "Costats de la TMA" + +#: backend/hp5590.c:96 +#, no-c-format +msgid "TMA Negatives" +msgstr "TMA negatius" + +#: backend/hp5590.c:108 +#, no-c-format +msgid "Color (48 bits)" +msgstr "Color (48 bits)" + +#: backend/hp5590.c:112 +#, no-c-format +msgid "Extend lamp timeout" +msgstr "Amplia el temps d'espera de la làmpada" + +#: backend/hp5590.c:113 +#, no-c-format +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Amplia el temps d'espera de la làmpada (de 15 minuts a 1 hora)" + +#: backend/hp5590.c:115 +#, no-c-format +msgid "Wait for button" +msgstr "Espera pel botó" + +#: backend/hp5590.c:116 +#, no-c-format +msgid "Waits for button before scanning" +msgstr "Espera pel botó abans d'escanejar" + +#: backend/hp5590.c:118 +#, no-c-format +msgid "Last button pressed" +msgstr "Darrer botó premut" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "Obtén l'ID de l'últim botó premut (només lectura)" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Comptador d'escaneigs" + +#: backend/hp5590.c:122 +#, fuzzy, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "Obtén l'ID de l'últim botó premut (només lectura)" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Color per a l'art lineal" + +#: backend/hp5590.c:125 +#, fuzzy, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "Obtén l'ID de l'últim botó premut (només lectura)" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "Oculta el píxel del final de pàgina" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" +"Oculta els píxels indicadors del final de pàgina i se sobreescriuen amb " +"els píxels veïns" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" +"Mode d'ompliment del final de les línies després d'obtindre les dades " +"d'escaneig (ADF)" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" +"raw = dades d'escaneig sense processar, last = repeteix l'última línia " +"escanejada, raster = ràster en b/n, white = color blanc, black = color " +"negre, color = valor del color RGB o gris" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "Valor del color RGB o gris per al mode ompliment del «color»" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" +"Valor del «color» per al mode d'ompliment al final de les línies. Color " +"RGB com a valor r*65536+256*g+b o gris (predeterminat=violeta o gris)" + +#: backend/hp-option.c:2987 +#, no-c-format +msgid "Advanced Options" +msgstr "Opcions avançades" + +#: backend/hp-option.c:3044 +#, no-c-format +msgid "Coarse" +msgstr "Tosc" + +#: backend/hp-option.c:3045 +#, no-c-format +msgid "Fine" +msgstr "Fina" + +#: backend/hp-option.c:3046 +#, no-c-format +msgid "Bayer" +msgstr "Bayer" + +#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#, no-c-format +msgid "Custom" +msgstr "A mida" + +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 +#, no-c-format +msgid "Auto" +msgstr "Auto" + +# Nota: https://ca.wikipedia.org/wiki/NTSC +#: backend/hp-option.c:3091 +#, no-c-format +msgid "NTSC RGB" +msgstr "RGB del NTSC" + +# Nota: https://support.hp.com/gb-en/document/c01275842 +#: backend/hp-option.c:3092 +#, no-c-format +msgid "XPA RGB" +msgstr "RGB amb el XPA" + +#: backend/hp-option.c:3093 +#, no-c-format +msgid "Pass-through" +msgstr "Passa a través" + +#: backend/hp-option.c:3094 +#, no-c-format +msgid "NTSC Gray" +msgstr "Gris del NTSC" + +#: backend/hp-option.c:3095 +#, no-c-format +msgid "XPA Gray" +msgstr "Gris amb el XPA" + +#: backend/hp-option.c:3147 +#, no-c-format +msgid "Slow" +msgstr "Lent" + +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#, no-c-format +msgid "Normal" +msgstr "Normal" + +#: backend/hp-option.c:3149 +#, no-c-format +msgid "Fast" +msgstr "Ràpid" + +#: backend/hp-option.c:3150 +#, no-c-format +msgid "Extra Fast" +msgstr "Extraràpid" + +#: backend/hp-option.c:3163 +#, no-c-format +msgid "2-pixel" +msgstr "2 píxels" + +#: backend/hp-option.c:3164 +#, no-c-format +msgid "4-pixel" +msgstr "4 píxels" + +#: backend/hp-option.c:3165 +#, no-c-format +msgid "8-pixel" +msgstr "8 píxels" + +#: backend/hp-option.c:3176 +#, no-c-format +msgid "Print" +msgstr "Imprimeix" + +#: backend/hp-option.c:3178 +#, no-c-format +msgid "Film-strip" +msgstr "Tira de pel·lícules" + +#: backend/hp-option.c:3257 +#, no-c-format +msgid "XPA" +msgstr "XPA" + +#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#, no-c-format +msgid "Conditional" +msgstr "Condicional" + +#: backend/hp-option.c:3417 +#, no-c-format +msgid "Experiment" +msgstr "Experimental" + +#: backend/hp-option.h:60 +#, no-c-format +msgid "Sharpening" +msgstr "Aguditzant" + +#: backend/hp-option.h:61 +#, no-c-format +msgid "Set sharpening value." +msgstr "Estableix el valor de l'agudització." + +#: backend/hp-option.h:66 +#, no-c-format +msgid "Auto Threshold" +msgstr "Llindar automàtic" + +#: backend/hp-option.h:68 +#, no-c-format +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "" +"Habilita la determinació automàtica del llindar pels escaneigs amb art " +"lineal." + +#: backend/hp-option.h:74 +#, no-c-format +msgid "Select smoothing filter." +msgstr "Selecciona el filtre de suavitzat." + +#: backend/hp-option.h:79 +#, no-c-format +msgid "Unload media after scan" +msgstr "Descarrega el suport després de l'escaneig" + +#: backend/hp-option.h:80 +#, no-c-format +msgid "Unloads the media after a scan." +msgstr "Descarrega el suport després d'un escaneig." + +#: backend/hp-option.h:85 +#, no-c-format +msgid "Change document" +msgstr "Canvia el document" + +#: backend/hp-option.h:86 +#, no-c-format +msgid "Change Document." +msgstr "Canvia el document." + +#: backend/hp-option.h:91 +#, no-c-format +msgid "Unload" +msgstr "Descarrega" + +#: backend/hp-option.h:92 +#, no-c-format +msgid "Unload Document." +msgstr "Descarrega el document." + +#: backend/hp-option.h:98 +#, no-c-format +msgid "Start calibration process." +msgstr "Inicia el procés de calibratge." + +#: backend/hp-option.h:103 +#, no-c-format +msgid "Media" +msgstr "Suport" + +#: backend/hp-option.h:104 +#, no-c-format +msgid "Set type of media." +msgstr "Estableix el tipus de suport." + +#: backend/hp-option.h:109 +#, no-c-format +msgid "Exposure time" +msgstr "Temps d'exposició" + +#: backend/hp-option.h:111 +#, no-c-format +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"Un temps d'exposició més llarg permet que l'escàner recopili més llum. " +"L'ús aconsellat és el 175% per a impressions, el 150% per a diapositives " +"normals i «Negatiu» per a pel·lícules en negatiu. Per a imatges fosques " +"(sota exposades), podeu augmentar aquest valor." + +#: backend/hp-option.h:119 backend/hp-option.h:126 +#, no-c-format +msgid "Color Matrix" +msgstr "Matriu de color" + +#: backend/hp-option.h:121 +#, no-c-format +msgid "Set the scanners color matrix." +msgstr "Estableix la matriu de color dels escàners." + +#: backend/hp-option.h:127 +#, no-c-format +msgid "Custom color matrix." +msgstr "Matriu de color a mida." + +#: backend/hp-option.h:132 +#, no-c-format +msgid "Mono Color Matrix" +msgstr "Matriu de color monocrom" + +#: backend/hp-option.h:133 +#, no-c-format +msgid "Custom color matrix for grayscale scans." +msgstr "Matriu de color a mida pels escaneigs en escala de grisos." + +#: backend/hp-option.h:138 +#, no-c-format +msgid "Mirror horizontal" +msgstr "Emmiralla horitzontalment" + +#: backend/hp-option.h:139 +#, no-c-format +msgid "Mirror image horizontally." +msgstr "Emmiralla horitzontalment la imatge." + +#: backend/hp-option.h:144 +#, no-c-format +msgid "Mirror vertical" +msgstr "Emmiralla verticalment" + +#: backend/hp-option.h:145 +#, no-c-format +msgid "Mirror image vertically." +msgstr "Emmiralla verticalment la imatge." + +#: backend/hp-option.h:150 +#, no-c-format +msgid "Update options" +msgstr "Opcions per a l'actualització" + +#: backend/hp-option.h:151 +#, no-c-format +msgid "Update options." +msgstr "Opcions per a l'actualització." + +#: backend/hp-option.h:156 +#, no-c-format +msgid "8 bit output" +msgstr "Eixida de 8 bits" + +#: backend/hp-option.h:158 +#, no-c-format +msgid "Use bit depth greater eight internally, but output only eight bits." +msgstr "" +"Usa internament una profunditat de bits més gran que vuit, però a " +"l'eixida usa només vuit bits." + +#: backend/hp-option.h:164 +#, no-c-format +msgid "Front button wait" +msgstr "Espera al botó del frontal" + +#: backend/hp-option.h:165 +#, no-c-format +msgid "Wait to scan for front-panel button push." +msgstr "Espera per escanejar que es prema el botó del panell frontal." + +#: backend/hp-option.h:172 +#, no-c-format +msgid "Shut off lamp" +msgstr "Apaga la làmpada" + +#: backend/hp-option.h:173 +#, no-c-format +msgid "Shut off scanner lamp." +msgstr "Apaga la llum de l'escàner." + +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 +#, no-c-format +msgid "Paper size" +msgstr "Mida del paper" + +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 +#, no-c-format +msgid "Automatic separation" +msgstr "Separació automàtica" + +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 +#, no-c-format +msgid "Landscape" +msgstr "Apaïsat" + +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 +#, no-c-format +msgid "Inverse Image" +msgstr "Imatge inversa" + +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 +#, no-c-format +msgid "Long paper mode" +msgstr "Mode paper llarg" + +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 +#, no-c-format +msgid "Length control mode" +msgstr "Mode control de la longitud" + +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 +#, no-c-format +msgid "Manual feed mode" +msgstr "Mode alimentació manual" + +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 +#, no-c-format +msgid "Manual feed timeout" +msgstr "Temps d'espera per a l'alimentació manual" + +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 +#, no-c-format +msgid "Double feed detection" +msgstr "Detecció de l'alimentació de doble cara" + +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 +#, no-c-format +msgid "Enable Duplex (Dual-Sided) Scanning" +msgstr "Habilita l'escaneig a doble cara" + +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 +#, no-c-format +msgid "Physical size of the paper in the ADF" +msgstr "Grandària física del paper a l'ADF" + +#: backend/kvs1025_opt.c:39 +#, no-c-format +msgid "bw" +msgstr "nb" + +#: backend/kvs1025_opt.c:40 +#, no-c-format +msgid "halftone" +msgstr "semi to" + +#: backend/kvs1025_opt.c:41 +#, no-c-format +msgid "gray" +msgstr "gris" + +#: backend/kvs1025_opt.c:42 +#, no-c-format +msgid "color" +msgstr "color" + +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 +#, no-c-format +msgid "adf" +msgstr "ADF" + +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 +#, no-c-format +msgid "fb" +msgstr "fb" + +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 +#, no-c-format +msgid "single" +msgstr "individual" + +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 +#, no-c-format +msgid "continuous" +msgstr "continu" + +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 +#, no-c-format +msgid "off" +msgstr "desactivat" + +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 +#, no-c-format +msgid "wait_doc" +msgstr "espera_doc" + +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 +#, no-c-format +msgid "wait_key" +msgstr "espera_clau" + +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 +#, no-c-format +msgid "user_def" +msgstr "definit_usuari" + +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 +#, no-c-format +msgid "business_card" +msgstr "tarjeta_visita" + +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 +#, no-c-format +msgid "Check" +msgstr "Comprova" + +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 +#, no-c-format +msgid "A5" +msgstr "A5" + +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 +#, no-c-format +msgid "A6" +msgstr "A6" + +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 +#, no-c-format +msgid "B5" +msgstr "B5" + +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 +#, no-c-format +msgid "B6" +msgstr "B6" + +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 +#, no-c-format +msgid "Legal" +msgstr "Legal" + +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 +#, no-c-format +msgid "bayer_64" +msgstr "bayer_64" + +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 +#, no-c-format +msgid "bayer_16" +msgstr "bayer_16" + +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 +#, no-c-format +msgid "halftone_32" +msgstr "semi_to_32" + +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 +#, no-c-format +msgid "halftone_64" +msgstr "semi_to_64" + +#: backend/kvs1025_opt.c:152 +#, no-c-format +msgid "diffusion" +msgstr "difusió" + +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 +#, no-c-format +msgid "normal" +msgstr "normal" + +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 +#, no-c-format +msgid "light" +msgstr "llum" + +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 +#, no-c-format +msgid "dark" +msgstr "fosc" + +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 +#, no-c-format +msgid "From scanner" +msgstr "Des de l'escàner" + +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 +#, no-c-format +msgid "From paper" +msgstr "Des del paper" + +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 +#, no-c-format +msgid "default" +msgstr "Predeterminat" + +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 +#, no-c-format +msgid "smooth" +msgstr "Suavitzat" + +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 +#, no-c-format +msgid "none" +msgstr "Cap" + +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 +#, no-c-format +msgid "low" +msgstr "Baix" + +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 +#, no-c-format +msgid "medium" +msgstr "Mitjà" + +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 +#, no-c-format +msgid "high" +msgstr "Alt" + +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 +#, no-c-format +msgid "crt" +msgstr "CRT" + +#: backend/kvs1025_opt.c:229 +#, no-c-format +msgid "linier" +msgstr "Lineal" + +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 +#, no-c-format +msgid "red" +msgstr "Roig" + +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 +#, no-c-format +msgid "green" +msgstr "Verd" + +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 +#, no-c-format +msgid "blue" +msgstr "Blau" + +#: backend/kvs1025_opt.c:561 +#, no-c-format +msgid "Sets the scan source" +msgstr "Estableix la font de l'escaneig" + +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 +#, no-c-format +msgid "Feeder mode" +msgstr "Mode alimentador" + +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 +#, no-c-format +msgid "Sets the feeding mode" +msgstr "Estableix el mode alimentador" + +#: backend/kvs1025_opt.c:583 +#, no-c-format +msgid "Enable/Disable long paper mode" +msgstr "Habilita/Inhabilita el mode paper llarg" + +#: backend/kvs1025_opt.c:592 +#, no-c-format +msgid "Enable/Disable length control mode" +msgstr "Habilita/Inhabilita el mode control de la longitud" + +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 +#, no-c-format +msgid "Sets the manual feed mode" +msgstr "Estableix el mode alimentació manual" + +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 +#, no-c-format +msgid "Sets the manual feed timeout in seconds" +msgstr "" +"Estableix en segons el temps d'espera per al mode alimentació manual" + +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 +#, no-c-format +msgid "Enable/Disable double feed detection" +msgstr "Habilita/Inhabilita la detecció de l'alimentació de doble cara" + +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 +#, no-c-format +msgid "fit-to-page" +msgstr "Ajusta a la pàgina" + +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 +#, no-c-format +msgid "Fit to page" +msgstr "Ajusta a la pàgina" + +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 +#, no-c-format +msgid "Scanner shrinks image to fit scanned page" +msgstr "" +"L'escàner encongirà la imatge per ajustar-la a la pàgina escanejada" + +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 +#, no-c-format +msgid "Set paper position : true for landscape, false for portrait" +msgstr "" +"Estableix la posició del paper: cert per a apaïsat, fals per a retrat" + +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 +#, no-c-format +msgid "Automatic threshold" +msgstr "Llindar automàtic" + +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 +#, no-c-format +msgid "" +"Automatically sets brightness, contrast, white level, gamma, noise " +"reduction and image emphasis" +msgstr "" +"Estableix automàticament la brillantor, el contrast, el nivell de blanc, " +"la gamma, la reducció del soroll i l'èmfasi de la imatge" + +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 +#, no-c-format +msgid "Noise reduction" +msgstr "Reducció del soroll" + +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 +#, no-c-format +msgid "Reduce the isolated dot noise" +msgstr "Redueix el soroll dels punts aïllats" + +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 +#, no-c-format +msgid "Image emphasis" +msgstr "Èmfasis de la imatge" + +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 +#, no-c-format +msgid "Sets the image emphasis" +msgstr "Estableix l'èmfasi de la imatge" + +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 +#, no-c-format +msgid "Gamma" +msgstr "Gamma" + +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 +#, no-c-format +msgid "Lamp color" +msgstr "Color de la llum" + +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 +#, no-c-format +msgid "Sets the lamp color (color dropout)" +msgstr "Estableix el color de la llum (descarta el color)" + +#: backend/kvs1025_opt.c:831 +#, no-c-format +msgid "Inverse image in B/W or halftone mode" +msgstr "Imatge inversa en el mode B/N o semi to" + +#: backend/kvs1025_opt.c:839 +#, no-c-format +msgid "Mirror image (left/right flip)" +msgstr "Reflecteix la imatge (volteja a l'esquerra/dreta)" + +#: backend/kvs1025_opt.c:846 +#, no-c-format +msgid "jpeg compression" +msgstr "Compressió del JPEG" + +#: backend/kvs1025_opt.c:849 +#, no-c-format +msgid "JPEG Image Compression with Q parameter, '0' - no compression" +msgstr "" +"Compressió de la imatge JPEG amb el paràmetre Q, «0»: sense compressió" + +#: backend/kvs1025_opt.c:859 +#, no-c-format +msgid "Rotate image clockwise" +msgstr "Gira la imatge en sentit horari" + +#: backend/kvs1025_opt.c:861 +#, no-c-format +msgid "Request driver to rotate pages by a fixed amount" +msgstr "" +"Sol·licita al controlador que giri les pàgines per una quantitat fixa" + +#: backend/kvs1025_opt.c:873 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally" +msgstr "" +"Sol·licita al controlador que giri les pàgines inclinades de forma " +"digital" + +#: backend/kvs1025_opt.c:882 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan" +msgstr "Diàmetre màxim dels punts solitaris per eliminar-los de l'escaneig" + +#: backend/kvs1025_opt.c:901 +#, no-c-format +msgid "Software automatic cropping" +msgstr "Escapçat automàtic per programari" + +#: backend/kvs1025_opt.c:903 +#, no-c-format +msgid "Request driver to remove border from pages digitally" +msgstr "" +"Sol·licita al controlador que elimini la vora de les pàgines de forma " +"digital" + +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode is a mode that the scanner reads up to the shorter " +"length of actual paper or logical document length." +msgstr "" +"El mode control de la longitud és un mode on l'escàner llegirà fins a la " +"longitud més curta del paper real o la longitud lògica del document." + +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 +#, no-c-format +msgid "Gamma correction" +msgstr "Correcció de la gamma" + +#: backend/kvs40xx_opt.c:117 +#, no-c-format +msgid "wait_doc_hopper_up" +msgstr "espera_la_tolva_de_documents" + +#: backend/kvs40xx_opt.c:127 +#, no-c-format +msgid "A3" +msgstr "A3" + +#: backend/kvs40xx_opt.c:132 +#, no-c-format +msgid "Double letter 11x17 in" +msgstr "Doble lletra 11x17 a" + +#: backend/kvs40xx_opt.c:133 +#, no-c-format +msgid "B4" +msgstr "B4" + +#: backend/kvs40xx_opt.c:231 +#, no-c-format +msgid "High sensivity" +msgstr "Alta sensibilitat" + +#: backend/kvs40xx_opt.c:232 +#, no-c-format +msgid "Low sensivity" +msgstr "Baixa sensibilitat" + +#: backend/kvs40xx_opt.c:243 +#, no-c-format +msgid "err_diffusion" +msgstr "difusió_errònia" + +#: backend/kvs40xx_opt.c:249 +#, no-c-format +msgid "No detection" +msgstr "Sense detecció" + +#: backend/kvs40xx_opt.c:250 +#, no-c-format +msgid "Normal mode" +msgstr "Mode normal" + +#: backend/kvs40xx_opt.c:251 +#, no-c-format +msgid "Enhanced mode" +msgstr "Mode millorat" + +#: backend/kvs40xx_opt.c:405 +#, no-c-format +msgid "" +"Long Paper Mode is a mode that the scanner reads the image after it " +"divides long paper by the length which is set in Document Size option." +msgstr "" +"El mode paper llarg és un mode en el qual l'escàner llig la imatge " +"després de dividir el paper llarg per la longitud que s'estableix a " +"l'opció Mida del document." + +#: backend/kvs40xx_opt.c:449 +#, no-c-format +msgid "Double feed detector sensitivity" +msgstr "Sensibilitat del detector de doble alimentació" + +#: backend/kvs40xx_opt.c:450 +#, no-c-format +msgid "Set the double feed detector sensitivity" +msgstr "Estableix la sensibilitat del detector de doble alimentació" + +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 +#, no-c-format +msgid "Do not stop after double feed detection" +msgstr "No pares després de la detecció de doble alimentació" + +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 +#, no-c-format +msgid "Ignore left double feed sensor" +msgstr "Ignora el sensor esquerre de doble alimentació" + +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 +#, no-c-format +msgid "Ignore center double feed sensor" +msgstr "Ignora el sensor central de doble alimentació" + +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 +#, no-c-format +msgid "Ignore right double feed sensor" +msgstr "Ignora el sensor dret de doble alimentació" + +#: backend/kvs40xx_opt.c:642 +#, no-c-format +msgid "Automatic threshold mode" +msgstr "Mode llindar automàtic" + +#: backend/kvs40xx_opt.c:643 +#, no-c-format +msgid "Sets the automatic threshold mode" +msgstr "Estableix el mode llindar automàtic" + +#: backend/kvs40xx_opt.c:694 +#, no-c-format +msgid "Inverse image in B/W mode" +msgstr "Imatge inversa en el mode B/N" + +#: backend/kvs40xx_opt.c:715 +#, no-c-format +msgid "JPEG compression" +msgstr "Compressió del JPEG" + +#: backend/kvs40xx_opt.c:718 +#, no-c-format +msgid "JPEG compression (yours application must be able to uncompress)" +msgstr "" +"Compressió del JPEG (l'aplicació vostra l'haurà de poder descomprimir)" + +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 +#, no-c-format +msgid "Detect stapled document" +msgstr "Detecta un document grapat" + +#: backend/kvs40xx_opt.c:776 +#, no-c-format +msgid "chroma of red" +msgstr "Croma del color roig" + +#: backend/kvs40xx_opt.c:777 +#, no-c-format +msgid "Set chroma of red" +msgstr "Estableix la croma del color roig" + +#: backend/kvs40xx_opt.c:787 +#, no-c-format +msgid "chroma of blue" +msgstr "Croma del color blau" + +#: backend/kvs40xx_opt.c:788 +#, no-c-format +msgid "Set chroma of blue" +msgstr "Estableix la croma del color blau" + +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 +#, no-c-format +msgid "Skew adjustment" +msgstr "Ajustament de la inclinació" + +#: backend/kvs40xx_opt.c:808 +#, no-c-format +msgid "Stop scanner when a paper have been skewed" +msgstr "Atura l'escàner quan un paper estiga inclinat" + +#: backend/kvs40xx_opt.c:809 +#, no-c-format +msgid "Scanner will be stop when a paper have been skewed" +msgstr "S'aturarà l'escàner quan un paper estiga inclinat" + +#: backend/kvs40xx_opt.c:816 +#, no-c-format +msgid "Crop actual image area" +msgstr "Escapça una àrea de la imatge real" + +#: backend/kvs40xx_opt.c:817 +#, no-c-format +msgid "Scanner automatically detect image area and crop it" +msgstr "" +"L'escàner detectarà automàticament l'àrea de la imatge i l'escapçarà" + +#: backend/kvs40xx_opt.c:827 +#, no-c-format +msgid "It is right and left reversing" +msgstr "Torna a la dreta i a l'esquerra" + +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 +#, no-c-format +msgid "Addition of space in top position" +msgstr "Afig un espai a la posició superior" + +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 +#, no-c-format +msgid "Addition of space in bottom position" +msgstr "Afig un espai a la posició inferior" + +#: backend/leo.c:110 +#, no-c-format +msgid "Diamond" +msgstr "Diamant" + +#: backend/leo.c:111 +#, no-c-format +msgid "8x8 Coarse Fatting" +msgstr "Engreix gruixut 8x8" + +#: backend/leo.c:112 +#, no-c-format +msgid "8x8 Fine Fatting" +msgstr "Engreix fi 8x8" + +#: backend/leo.c:113 +#, no-c-format +msgid "8x8 Bayer" +msgstr "Bayer 8x8" + +#: backend/leo.c:114 +#, no-c-format +msgid "8x8 Vertical Line" +msgstr "Línia vertical 8x8" + +#: backend/lexmark.c:273 backend/umax_pp.c:715 +#, no-c-format +msgid "Gain" +msgstr "Guany" + +#: backend/lexmark.c:274 backend/umax_pp.c:716 +#, no-c-format +msgid "Color channels gain settings" +msgstr "Ajustaments del guany per als canals de color" + +#: backend/lexmark.c:283 backend/umax_pp.c:723 +#, no-c-format +msgid "Gray gain" +msgstr "Guany del gris" + +#: backend/lexmark.c:284 backend/umax_pp.c:724 +#, no-c-format +msgid "Sets gray channel gain" +msgstr "Estableix el guany del canal gris" + +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#, no-c-format +msgid "Red gain" +msgstr "Guany del roig" + +#: backend/lexmark.c:298 backend/umax_pp.c:736 +#, no-c-format +msgid "Sets red channel gain" +msgstr "Estableix el guany del canal roig" + +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#, no-c-format +msgid "Green gain" +msgstr "Guany del verd" + +#: backend/lexmark.c:312 backend/umax_pp.c:748 +#, no-c-format +msgid "Sets green channel gain" +msgstr "Estableix el guany del canal verd" + +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#, no-c-format +msgid "Blue gain" +msgstr "Guany del blau" + +#: backend/lexmark.c:326 backend/umax_pp.c:760 +#, no-c-format +msgid "Sets blue channel gain" +msgstr "Estableix el guany del canal blau" + +#: backend/matsushita.c:139 +#, no-c-format +msgid "Bayer Dither 16" +msgstr "Trama 16 de Bayer" + +#: backend/matsushita.c:140 +#, no-c-format +msgid "Bayer Dither 64" +msgstr "Trama 64 de Bayer" + +#: backend/matsushita.c:141 +#, no-c-format +msgid "Halftone Dot 32" +msgstr "Punt 32 de semi to" + +#: backend/matsushita.c:142 +#, no-c-format +msgid "Halftone Dot 64" +msgstr "Punt 64 de semi to" + +#: backend/matsushita.c:143 +#, no-c-format +msgid "Error Diffusion" +msgstr "Difusió dels errors" + +#: backend/matsushita.c:160 +#, no-c-format +msgid "Mode 1" +msgstr "Mode 1" + +#: backend/matsushita.c:161 +#, no-c-format +msgid "Mode 2" +msgstr "Mode 2" + +#: backend/matsushita.c:162 +#, no-c-format +msgid "Mode 3" +msgstr "Mode 3" + +#: backend/matsushita.c:176 +#, no-c-format +msgid "From white stick" +msgstr "Des del pal blanc" + +#: backend/matsushita.c:212 +#, no-c-format +msgid "Smooth" +msgstr "Suavitzat" + +#: backend/matsushita.c:214 backend/matsushita.c:229 +#, no-c-format +msgid "Low" +msgstr "Baix" + +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 +#, no-c-format +msgid "Medium" +msgstr "Mitjana" + +#: backend/matsushita.c:216 backend/matsushita.c:231 +#, no-c-format +msgid "High" +msgstr "Alt" + +#: backend/matsushita.c:245 +#, no-c-format +msgid "CRT" +msgstr "CRT" + +#: backend/matsushita.c:257 +#, no-c-format +msgid "One page" +msgstr "Una pàgina" + +#: backend/matsushita.c:258 +#, no-c-format +msgid "All pages" +msgstr "Totes les pàgines" + +#: backend/matsushita.c:1034 backend/plustek.c:1333 +#, no-c-format +msgid "sheetfed scanner" +msgstr "escàner alimentat per fulls" + +#: backend/matsushita.h:209 +#, no-c-format +msgid "Grayscale 4 bits" +msgstr "Escala de grisos en 4 bits" + +#: backend/matsushita.h:210 +#, no-c-format +msgid "Grayscale 8 bits" +msgstr "Escala de grisos en 8 bits" + +#: backend/microtek2.h:601 +#, no-c-format +msgid "Shadow, midtone, highlight, exposure time" +msgstr "Ombra, semi to, llum intensa, temps d'exposició" + +#: backend/microtek2.h:603 +#, no-c-format +msgid "Special options" +msgstr "Opcions especials" + +#: backend/microtek2.h:604 +#, no-c-format +msgid "Color balance" +msgstr "Equilibri de color" + +#: backend/microtek2.h:607 +#, no-c-format +msgid "Disable backtracking" +msgstr "Inhabilita el retrocés" + +#: backend/microtek2.h:608 +#, no-c-format +msgid "If checked the scanner does not perform backtracking" +msgstr "Si està marcada, l'escàner no realitzarà cap retrocés" + +#: backend/microtek2.h:612 +#, no-c-format +msgid "Toggle lamp of flatbed" +msgstr "Commuta la llum de la superfície plana" + +#: backend/microtek2.h:613 +#, no-c-format +msgid "Toggles the lamp of the flatbed" +msgstr "Commuta la llum de la superfície plana" + +#: backend/microtek2.h:616 +#, no-c-format +msgid "Calibration by backend" +msgstr "Calibratge fet pel dorsal" + +#: backend/microtek2.h:617 +#, no-c-format +msgid "" +"If checked the color calibration before a scan is done by the backend" +msgstr "" +"Si està marcada, el dorsal realitzarà el calibratge de color abans " +"d'escanejar" + +#: backend/microtek2.h:621 +#, no-c-format +msgid "Use the lightlid-35mm adapter" +msgstr "Usa l'adaptador «lightlid-35mm»" + +#: backend/microtek2.h:622 +#, no-c-format +msgid "This option turns off the lamp of the flatbed during a scan" +msgstr "" +"Aquesta opció desactiva la llum de la superfície plana durant un " +"escanejat" + +#: backend/microtek2.h:626 backend/snapscan-options.c:421 +#, no-c-format +msgid "Quality scan" +msgstr "Qualitat de l'escaneig" + +#: backend/microtek2.h:627 backend/snapscan-options.c:422 +#, no-c-format +msgid "Highest quality but lower speed" +msgstr "Màxima qualitat però menor velocitat" + +#: backend/microtek2.h:630 +#, no-c-format +msgid "Fast scan" +msgstr "Escanejat ràpid" + +#: backend/microtek2.h:631 +#, no-c-format +msgid "Highest speed but lower quality" +msgstr "Màxima velocitat però menor qualitat" + +#: backend/microtek2.h:634 +#, no-c-format +msgid "Automatic adjustment of threshold" +msgstr "Ajustament automàtic del llindar" + +#: backend/microtek2.h:635 +#, no-c-format +msgid "" +"If checked the backend automatically tries to determine an optimal value " +"for the threshold." +msgstr "" +"Si està marcada, el dorsal intentarà determinar de manera automàtica un " +"valor òptim per al llindar." + +#: backend/microtek2.h:641 +#, no-c-format +msgid "Selects the gamma correction mode." +msgstr "Selecciona el mode correcció de la gamma." + +#: backend/microtek2.h:644 +#, no-c-format +msgid "Bind gamma" +msgstr "Enllaça amb la gamma" + +#: backend/microtek2.h:645 +#, no-c-format +msgid "Use same gamma values for all colour channels." +msgstr "" +"Usa els mateixos valors de la gamma per a tots els canals de color." + +#: backend/microtek2.h:649 +#, no-c-format +msgid "Scalar gamma" +msgstr "Gamma escalar" + +#: backend/microtek2.h:650 +#, no-c-format +msgid "Selects a value for scalar gamma correction." +msgstr "Selecciona un valor per a la correcció de la gamma escalar." + +#: backend/microtek2.h:654 +#, no-c-format +msgid "Scalar gamma red" +msgstr "Gamma escalar del roig" + +#: backend/microtek2.h:655 +#, no-c-format +msgid "Selects a value for scalar gamma correction (red channel)" +msgstr "" +"Selecciona un valor per a la correcció de la gamma escalar (canal roig)" + +#: backend/microtek2.h:659 +#, no-c-format +msgid "Scalar gamma green" +msgstr "Gamma escalar del verd" + +#: backend/microtek2.h:660 +#, no-c-format +msgid "Selects a value for scalar gamma correction (green channel)" +msgstr "" +"Selecciona un valor per a la correcció de la gamma escalar (canal verd)" + +#: backend/microtek2.h:664 +#, no-c-format +msgid "Scalar gamma blue" +msgstr "Gamma escalar del blau" + +#: backend/microtek2.h:665 +#, no-c-format +msgid "Selects a value for scalar gamma correction (blue channel)" +msgstr "" +"Selecciona un valor per a la correcció de la gamma escalar (canal blau)" + +#: backend/microtek2.h:669 +#, no-c-format +msgid "Channel" +msgstr "Canal" + +#: backend/microtek2.h:670 +#, no-c-format +msgid "" +"Selects the colour band, \"Master\" means that all colours are affected." +msgstr "" +"Selecciona la banda de colors, «Màster» voldrà dir que afectarà a tots " +"els colors." + +#: backend/microtek2.h:674 +#, no-c-format +msgid "Midtone" +msgstr "Semi to" + +#: backend/microtek2.h:675 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % gray\"." +msgstr "" +"Selecciona quin nivell de radiància s'haurà de considerar «50% gris»." + +#: backend/microtek2.h:679 +#, no-c-format +msgid "Midtone for red" +msgstr "Semi to per al roig" + +#: backend/microtek2.h:680 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % red\"." +msgstr "" +"Selecciona quin nivell de radiància s'haurà de considerar «50% roig»." + +#: backend/microtek2.h:684 +#, no-c-format +msgid "Midtone for green" +msgstr "Semi to per al verd" + +#: backend/microtek2.h:685 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % green\"." +msgstr "" +"Selecciona quin nivell de radiància s'haurà de considerar «50% verd»." + +#: backend/microtek2.h:689 +#, no-c-format +msgid "Midtone for blue" +msgstr "Semi to per al blau" + +#: backend/microtek2.h:690 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % blue\"." +msgstr "" +"Selecciona quin nivell de radiància s'haurà de considerar «50% blau»." + +#: backend/microtek2.h:694 +#, no-c-format +msgid "Red balance" +msgstr "Equilibri del roig" + +#: backend/microtek2.h:695 +#, no-c-format +msgid "Balance factor for red. A value of 100% means no correction." +msgstr "" +"Equilibra el factor per al roig. Un valor del 100% voldrà dir sense " +"correcció." + +#: backend/microtek2.h:699 +#, no-c-format +msgid "Green balance" +msgstr "Equilibri del verd" + +#: backend/microtek2.h:700 +#, no-c-format +msgid "Balance factor for green. A value of 100% means no correction." +msgstr "" +"Equilibra el factor per al verd. Un valor del 100% voldrà dir sense " +"correcció." + +#: backend/microtek2.h:704 +#, no-c-format +msgid "Blue balance" +msgstr "Equilibri del blau" + +#: backend/microtek2.h:705 +#, no-c-format +msgid "Balance factor for blue. A value of 100% means no correction." +msgstr "" +"Equilibra el factor per al blau. Un valor del 100% voldrà dir sense " +"correcció." + +#: backend/microtek2.h:709 +#, no-c-format +msgid "Firmware balance" +msgstr "Equilibri per microprogramari" + +#: backend/microtek2.h:710 +#, no-c-format +msgid "Sets the color balance values to the firmware provided values." +msgstr "" +"Estableix els valors per a l'equilibri de color als valors proporcionats " +"pel microprogramari." + +#: backend/mustek.c:149 +#, no-c-format +msgid "Slowest" +msgstr "El més lent" + +#: backend/mustek.c:149 +#, no-c-format +msgid "Slower" +msgstr "Lent" + +#: backend/mustek.c:150 +#, no-c-format +msgid "Faster" +msgstr "Ràpid" + +#: backend/mustek.c:150 +#, no-c-format +msgid "Fastest" +msgstr "El més ràpid" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 coarse" +msgstr "Gruixut 8x8" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 normal" +msgstr "Normal 8x8" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 fine" +msgstr "Fina 8x8" + +#: backend/mustek.c:178 +#, no-c-format +msgid "8x8 very fine" +msgstr "Molt fina 8x8" + +#: backend/mustek.c:178 +#, no-c-format +msgid "6x6 normal" +msgstr "Normal 6x6" + +#: backend/mustek.c:179 +#, no-c-format +msgid "5x5 coarse" +msgstr "Gruixut 5x5" + +#: backend/mustek.c:179 +#, no-c-format +msgid "5x5 fine" +msgstr "Fina 5x5" + +#: backend/mustek.c:179 +#, no-c-format +msgid "4x4 coarse" +msgstr "Gruixut 4x4" + +#: backend/mustek.c:180 +#, no-c-format +msgid "4x4 normal" +msgstr "Normal 4x4" + +#: backend/mustek.c:180 +#, no-c-format +msgid "4x4 fine" +msgstr "Fina 4x4" + +#: backend/mustek.c:180 +#, no-c-format +msgid "3x3 normal" +msgstr "Normal 3x3" + +#: backend/mustek.c:181 +#, no-c-format +msgid "2x2 normal" +msgstr "Normal 2x2" + +#: backend/mustek.c:181 +#, no-c-format +msgid "8x8 custom" +msgstr "A mida 8x8" + +#: backend/mustek.c:182 +#, no-c-format +msgid "6x6 custom" +msgstr "A mida 6x6" + +#: backend/mustek.c:183 +#, no-c-format +msgid "5x5 custom" +msgstr "A mida 5x5" + +#: backend/mustek.c:183 +#, no-c-format +msgid "4x4 custom" +msgstr "A mida 4x4" + +#: backend/mustek.c:184 +#, no-c-format +msgid "3x3 custom" +msgstr "A mida 3x3" + +#: backend/mustek.c:185 +#, no-c-format +msgid "2x2 custom" +msgstr "A mida 2x2" + +#: backend/mustek.c:4247 +#, no-c-format +msgid "Fast gray mode" +msgstr "Mode gris ràpid" + +#: backend/mustek.c:4248 +#, no-c-format +msgid "Scan in fast gray mode (lower quality)." +msgstr "Escaneja en el mode gris ràpid (qualitat baixa)." + +#: backend/mustek.c:4345 +#, no-c-format +msgid "" +"Request that all previews are done in the fastest (low-quality) mode. " +"This may be a non-color mode or a low resolution mode." +msgstr "" +"Demana que totes les vistes prèvies es facen en el mode més ràpid (baixa " +"qualitat). Aquestes poden ser en un mode sense color o un mode amb baixa " +"resolució." + +#: backend/mustek.c:4353 +#, no-c-format +msgid "Lamp off time (minutes)" +msgstr "Temps per apagar la làmpada (minuts)" + +#: backend/mustek.c:4354 +#, no-c-format +msgid "Set the time (in minutes) after which the lamp is shut off." +msgstr "Estableix el temps (en minuts) després del qual s'apagarà la llum." + +#: backend/mustek.c:4365 +#, no-c-format +msgid "Turn lamp off" +msgstr "Apaga la làmpada" + +#: backend/mustek.c:4366 +#, no-c-format +msgid "Turns the lamp off immediately." +msgstr "Apaga immediatament la llum." + +#: backend/mustek.c:4443 +#, no-c-format +msgid "Red brightness" +msgstr "Brillantor del roig" + +#: backend/mustek.c:4444 +#, no-c-format +msgid "Controls the brightness of the red channel of the acquired image." +msgstr "Controla la brillantor del canal roig de la imatge obtinguda." + +#: backend/mustek.c:4456 +#, no-c-format +msgid "Green brightness" +msgstr "Brillantor del verd" + +#: backend/mustek.c:4457 +#, no-c-format +msgid "Controls the brightness of the green channel of the acquired image." +msgstr "Controla la brillantor del canal verd de la imatge obtinguda." + +#: backend/mustek.c:4469 +#, no-c-format +msgid "Blue brightness" +msgstr "Brillantor del blau" + +#: backend/mustek.c:4470 +#, no-c-format +msgid "Controls the brightness of the blue channel of the acquired image." +msgstr "Controla la brillantor del canal blau de la imatge obtinguda." + +#: backend/mustek.c:4495 +#, no-c-format +msgid "Contrast red channel" +msgstr "Contrast del canal roig" + +#: backend/mustek.c:4496 +#, no-c-format +msgid "Controls the contrast of the red channel of the acquired image." +msgstr "Controla el contrast del canal roig de la imatge obtinguda." + +#: backend/mustek.c:4508 +#, no-c-format +msgid "Contrast green channel" +msgstr "Contrast del canal verd" + +#: backend/mustek.c:4509 +#, no-c-format +msgid "Controls the contrast of the green channel of the acquired image." +msgstr "Controla el contrast del canal verd de la imatge obtinguda." + +#: backend/mustek.c:4521 +#, no-c-format +msgid "Contrast blue channel" +msgstr "Contrast del canal blau" + +#: backend/mustek.c:4522 +#, no-c-format +msgid "Controls the contrast of the blue channel of the acquired image." +msgstr "Controla el contrast del canal blau de la imatge obtinguda." + +#: backend/mustek_usb2.c:105 +#, no-c-format +msgid "Color48" +msgstr "Color48" + +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 +#, no-c-format +msgid "Color24" +msgstr "Color24" + +#: backend/mustek_usb2.c:107 +#, no-c-format +msgid "Gray16" +msgstr "Gris16" + +#: backend/mustek_usb2.c:108 +#, no-c-format +msgid "Gray8" +msgstr "Gris8" + +#: backend/mustek_usb2.c:119 +#, no-c-format +msgid "Reflective" +msgstr "Reflectant" + +#: backend/mustek_usb2.c:120 +#, no-c-format +msgid "Positive" +msgstr "Positiu" + +#: backend/mustek_usb2.c:421 +#, no-c-format +msgid "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"40 seconds warm-up time." +msgstr "" +"Escalfa fins que la brillantor de la làmpada siga constant en comptes " +"d'insistir en el temps d'escalfament de 40 segons." + +#: backend/pixma.c:397 +#, no-c-format +msgid "Negative color" +msgstr "Color en negatiu" + +#: backend/pixma.c:402 +#, no-c-format +msgid "Negative gray" +msgstr "Gris en negatiu" + +#: backend/pixma.c:415 +#, no-c-format +msgid "48 bits color" +msgstr "Color de 48 bits" + +#: backend/pixma.c:420 +#, no-c-format +msgid "16 bits gray" +msgstr "Gris de 16 bits" + +#: backend/pixma_sane_options.c:84 +#, no-c-format +msgid "" +"Selects the scan source (such as a document-feeder). Set source before " +"mode and resolution. Resets mode and resolution to auto values." +msgstr "" +"Selecciona la font de l'escàner font (com un alimentador de documents). " +"Estableix la font abans del mode i la resolució. Restaura el mode i la " +"resolució als valors automàtics." + +#: backend/pixma_sane_options.c:98 +#, no-c-format +msgid "Button-controlled scan" +msgstr "Escaneig controlat pels botons" + +#: backend/pixma_sane_options.c:99 +#, no-c-format +msgid "" +"When enabled, scan process will not start immediately. To proceed, press " +"\"SCAN\" button (for MP150) or \"COLOR\" button (for other models). To " +"cancel, press \"GRAY\" button." +msgstr "" +"Quan està habilitat, el procés d'escaneig no s'iniciarà immediatament. " +"Per a continuar, premeu el botó «Escaneja» (per a MP150) o el botó " +"«Color» (per a altres models). Per a cancel·lar, premeu el botó «Gris»." + +#: backend/pixma_sane_options.c:232 +#, no-c-format +msgid "Update button state" +msgstr "Actualitza l'estat del botó" + +#: backend/pixma_sane_options.c:244 +#, no-c-format +msgid "Button 1" +msgstr "Botó 1" + +#: backend/pixma_sane_options.c:258 +#, no-c-format +msgid "Button 2" +msgstr "Botó 2" + +#: backend/pixma_sane_options.c:272 +#, no-c-format +msgid "Type of original to scan" +msgstr "Tipus de l'original a escanejar" + +#: backend/pixma_sane_options.c:286 +#, no-c-format +msgid "Target operation type" +msgstr "Tipus de l'operació de destinació" + +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "Temps d'espera per a l'ADF" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" +"Quan s'estableix, l'escàner cerca el temps d'espera en segons perquè " +"s'inserisca un document nou a l'alimentador automàtic de documents." + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 +#, no-c-format +msgid "Transparency" +msgstr "Transparència" + +#: backend/plustek.c:913 +#, no-c-format +msgid "Device-Settings" +msgstr "Ajustaments del dispositiu" + +#: backend/plustek.c:920 +#, no-c-format +msgid "Lampswitch" +msgstr "Interruptor de la làmpada" + +#: backend/plustek.c:921 +#, no-c-format +msgid "Manually switching the lamp(s)." +msgstr "Interruptor manual de la/es làmpada/es." + +#: backend/plustek.c:926 +#, no-c-format +msgid "Lamp off during dark calibration" +msgstr "Apaga la làmpada durant el calibratge fosc" + +#: backend/plustek.c:927 +#, no-c-format +msgid "Always switches lamp off when doing dark calibration." +msgstr "Apaga sempre la làmpada quan es fa el calibratge fosc." + +#: backend/plustek.c:935 +#, no-c-format +msgid "Calibration data cache" +msgstr "Cau per a les dades de calibratge" + +#: backend/plustek.c:936 +#, no-c-format +msgid "Enables or disables calibration data cache." +msgstr "Habilita o inhabilita el cau per a les dades de calibratge." + +#: backend/plustek.c:942 +#, no-c-format +msgid "Performs calibration" +msgstr "Realitza el calibratge" + +#: backend/plustek.c:959 +#, no-c-format +msgid "Speedup sensor" +msgstr "Sensor de l'acceleració" + +#: backend/plustek.c:960 +#, no-c-format +msgid "Enables or disables speeding up sensor movement." +msgstr "Habilita o inhabilita el moviment del sensor de l'acceleració." + +#: backend/plustek.c:974 +#, no-c-format +msgid "Warmup-time" +msgstr "Temps d'escalfament" + +#: backend/plustek.c:975 +#, no-c-format +msgid "Warmup-time in seconds." +msgstr "Temps d'escalfament en segons." + +#: backend/plustek.c:987 +#, no-c-format +msgid "Lampoff-time" +msgstr "Temps per apagar la làmpada" + +#: backend/plustek.c:988 +#, no-c-format +msgid "Lampoff-time in seconds." +msgstr "Temps per apagar la làmpada en segons." + +#: backend/plustek.c:995 +#, no-c-format +msgid "Analog frontend" +msgstr "Frontal analògic" + +#: backend/plustek.c:1002 +#, no-c-format +msgid "Red gain value of the AFE" +msgstr "Valor de guany del roig de l'AFE" + +#: backend/plustek.c:1009 backend/umax_pp.c:792 +#, no-c-format +msgid "Red offset" +msgstr "Desplaçament del roig" + +#: backend/plustek.c:1010 +#, no-c-format +msgid "Red offset value of the AFE" +msgstr "Valor de desplaçament del roig de l'AFE" + +#: backend/plustek.c:1018 +#, no-c-format +msgid "Green gain value of the AFE" +msgstr "Valor de guany del verd de l'AFE" + +#: backend/plustek.c:1026 +#, no-c-format +msgid "Green offset value of the AFE" +msgstr "Valor de desplaçament del verd de l'AFE" + +#: backend/plustek.c:1034 +#, no-c-format +msgid "Blue gain value of the AFE" +msgstr "Valor de guany del blau de l'AFE" + +#: backend/plustek.c:1042 +#, no-c-format +msgid "Blue offset value of the AFE" +msgstr "Valor de desplaçament del blau de l'AFE" + +#: backend/plustek.c:1049 +#, no-c-format +msgid "Red lamp off" +msgstr "Llum vermella apagada" + +#: backend/plustek.c:1050 +#, no-c-format +msgid "Defines red lamp off parameter" +msgstr "Defineix el paràmetre per apagar la llum vermella" + +#: backend/plustek.c:1057 +#, no-c-format +msgid "Green lamp off" +msgstr "Llum verda apagada" + +#: backend/plustek.c:1058 +#, no-c-format +msgid "Defines green lamp off parameter" +msgstr "Defineix el paràmetre per apagar la llum verda" + +#: backend/plustek.c:1065 +#, no-c-format +msgid "Blue lamp off" +msgstr "Llum blava apagada" + +#: backend/plustek.c:1066 +#, no-c-format +msgid "Defines blue lamp off parameter" +msgstr "Defineix el paràmetre per apagar la llum blava" + +#: backend/plustek.c:1096 +#, no-c-format +msgid "This option reflects the status of the scanner buttons." +msgstr "Aquesta opció reflecteix l'estat dels botons de l'escàner." + +#: backend/plustek_pp.c:197 +#, no-c-format +msgid "Color36" +msgstr "Color36" + +#: backend/plustek_pp.c:211 +#, no-c-format +msgid "Dithermap 1" +msgstr "Mapa amb trama 1" + +#: backend/plustek_pp.c:212 +#, no-c-format +msgid "Dithermap 2" +msgstr "Mapa amb trama 2" + +#: backend/plustek_pp.c:213 +#, no-c-format +msgid "Randomize" +msgstr "Aleatori" + +#: backend/pnm.c:168 +#, no-c-format +msgid "Source Selection" +msgstr "Selecció de la font" + +#: backend/pnm.c:205 +#, no-c-format +msgid "Image Enhancement" +msgstr "Millora de la imatge" + +#: backend/pnm.c:241 +#, no-c-format +msgid "Grayify" +msgstr "Grisifica" + +#: backend/pnm.c:242 +#, no-c-format +msgid "Load the image as grayscale." +msgstr "Carrega la imatge en escala de grisos." + +#: backend/pnm.c:253 +#, no-c-format +msgid "Three-Pass Simulation" +msgstr "Simulació de tres passos" + +#: backend/pnm.c:255 +#, no-c-format +msgid "" +"Simulate a three-pass scanner by returning 3 separate frames. For " +"kicks, it returns green, then blue, then red." +msgstr "" +"Simula un escàner de tres passos en retornar 3 fotogrames separats. Per " +"a diversió, retorna al verd, llavors al blau i llavors al roig." + +#: backend/pnm.c:267 +#, no-c-format +msgid "Hand-Scanner Simulation" +msgstr "Simulació d'un escàner manual" + +#: backend/pnm.c:268 +#, no-c-format +msgid "" +"Simulate a hand-scanner. Hand-scanners often do not know the image " +"height a priori. Instead, they return a height of -1. Setting this " +"option allows one to test whether a frontend can handle this correctly." +msgstr "" +"Simula un escàner manual. Els escàners manuals sovint no coneixen " +"l'alçària de la imatge. En canvi, retornen una alçària de -1. En " +"establir aquesta opció, es pot comprovar si un frontal pot gestionar-la " +"correctament." + +#: backend/pnm.c:283 +#, no-c-format +msgid "" +"Set default values for enhancement controls (brightness & contrast)." +msgstr "" +"Estableix els valors predeterminats per als controls de millora " +"(brillantor i contrast)." + +#: backend/pnm.c:295 +#, no-c-format +msgid "Read only test-option" +msgstr "Opció de prova per a només de lectura" + +#: backend/pnm.c:296 +#, no-c-format +msgid "Let's see whether frontends can treat this right" +msgstr "Permet veure si els frontals poden tractar això correctament" + +#: backend/pnm.c:307 +#, no-c-format +msgid "Gamma Tables" +msgstr "Taules de gamma" + +#: backend/pnm.c:379 +#, no-c-format +msgid "Status Code Simulation" +msgstr "Simulació del codi d'estat" + +#: backend/pnm.c:391 +#, no-c-format +msgid "Do not force status code" +msgstr "No força el codi d'estat" + +#: backend/pnm.c:392 +#, no-c-format +msgid "Do not force the backend to return a status code." +msgstr "No força al dorsal a què retorne un codi d'estat." + +#: backend/pnm.c:403 +#, no-c-format +msgid "Return SANE_STATUS_EOF" +msgstr "Retorna «SANE_STATUS_EOF»" + +#: backend/pnm.c:404 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_EOF after " +"sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorne el codi d'estat «SANE_STATUS_EOF» després " +"de cridar al «sane_read()»." + +#: backend/pnm.c:416 +#, no-c-format +msgid "Return SANE_STATUS_JAMMED" +msgstr "Retorna «SANE_STATUS_JAMMED»" + +#: backend/pnm.c:418 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_JAMMED after " +"sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorne el codi d'estat «SANE_STATUS_JAMMED» " +"després de cridar al «sane_read()»." + +#: backend/pnm.c:430 +#, no-c-format +msgid "Return SANE_STATUS_NO_DOCS" +msgstr "Retorna «SANE_STATUS_NO_DOCS»" + +#: backend/pnm.c:431 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_NO_DOCS after " +"sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorne el codi d'estat «SANE_STATUS_NO_DOCS» " +"després de cridar al «sane_read()»." + +#: backend/pnm.c:443 +#, no-c-format +msgid "Return SANE_STATUS_COVER_OPEN" +msgstr "Retorna «SANE_STATUS_COVER_OPEN»" + +#: backend/pnm.c:444 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_COVER_OPEN after " +"sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorne el codi d'estat «SANE_STATUS_COVER_OPEN» " +"després de cridar al «sane_read()»." + +#: backend/pnm.c:456 +#, no-c-format +msgid "Return SANE_STATUS_IO_ERROR" +msgstr "Retorna «SANE_STATUS_IO_ERROR»" + +#: backend/pnm.c:457 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_IO_ERROR after " +"sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorne el codi d'estat «SANE_STATUS_IO_ERROR» " +"després de cridar al «sane_read()»." + +#: backend/pnm.c:469 +#, no-c-format +msgid "Return SANE_STATUS_NO_MEM" +msgstr "Retorna «SANE_STATUS_NO_MEM»" + +#: backend/pnm.c:471 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_NO_MEM after " +"sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorne el codi d'estat «SANE_STATUS_NO_MEM» " +"després de cridar al «sane_read()»." + +#: backend/pnm.c:483 +#, no-c-format +msgid "Return SANE_STATUS_ACCESS_DENIED" +msgstr "Retorna «SANE_STATUS_ACCESS_DENIED»" + +#: backend/pnm.c:484 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " +"after sane_read() has been called." +msgstr "" +"Força el dorsal perquè retorne el codi d'estat " +"«SANE_STATUS_ACCESS_DENIED» després de cridar al «sane_read()»." + +#: backend/rts8891.c:2809 +#, no-c-format +msgid "This option reflects the status of a scanner button." +msgstr "Aquesta opció reflecteix l'estat d'un botó de l'escàner." + +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#, no-c-format +msgid "Lamp on" +msgstr "Encén la làmpada" + +#: backend/rts8891.c:2841 backend/umax.c:5796 +#, no-c-format +msgid "Turn on scanner lamp" +msgstr "Encén la llum de l'escàner" + +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#, no-c-format +msgid "Lamp off" +msgstr "Apaga la làmpada" + +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#, no-c-format +msgid "Turn off scanner lamp" +msgstr "Apaga la llum de l'escàner" + +#: backend/sm3840.c:760 +#, no-c-format +msgid "Lamp timeout" +msgstr "Temps d'espera de la làmpada" + +#: backend/sm3840.c:762 +#, no-c-format +msgid "Minutes until lamp is turned off after scan" +msgstr "Minuts fins que la làmpada està apagada després d'escanejar" + +#: backend/sm3840.c:772 +#, no-c-format +msgid "Threshold value for lineart mode" +msgstr "Valor de llindar per al mode art lineal" + +#: backend/snapscan-options.c:88 +#, no-c-format +msgid "Document Feeder" +msgstr "Alimentador de documents" + +#: backend/snapscan-options.c:92 +#, no-c-format +msgid "6x4 (inch)" +msgstr "6x4 (polçades)" + +#: backend/snapscan-options.c:93 +#, no-c-format +msgid "8x10 (inch)" +msgstr "8x10 (polçades)" + +#: backend/snapscan-options.c:94 +#, no-c-format +msgid "8.5x11 (inch)" +msgstr "8.5x11 (polçades)" + +#: backend/snapscan-options.c:97 +#, no-c-format +msgid "Halftoning Unsupported" +msgstr "El semi to no està admés" + +#: backend/snapscan-options.c:98 +#, no-c-format +msgid "DispersedDot8x8" +msgstr "PuntDispers8x8" + +#: backend/snapscan-options.c:99 +#, no-c-format +msgid "DispersedDot16x16" +msgstr "PuntDispers16x16" + +#: backend/snapscan-options.c:103 +#, no-c-format +msgid "" +"Number of scan lines to request in a SCSI read. Changing this parameter " +"allows you to tune the speed at which data is read from the scanner " +"during scans. If this is set too low, the scanner will have to stop " +"periodically in the middle of a scan; if it's set too high, X-based " +"frontends may stop responding to X events and your system could bog down." +msgstr "" +"Nombre de línies d'escaneig a sol·licitar en una lectura SCSI. Si " +"canvieu aquest paràmetre, podreu ajustar la velocitat a la qual es " +"lligen les dades des de l'escàner durant els escanejos. Si aquest és " +"massa baix, l'escàner s'aturarà periòdicament enmig d'un escaneig. Si " +"s'estableix massa alt, els frontals basats en les X podrien deixar de " +"respondre als esdeveniments de les X i reduir-se el rendiment del " +"sistema." + +#: backend/snapscan-options.c:111 +#, no-c-format +msgid "Frame number of media holder that should be scanned." +msgstr "Número del fotograma del suport que s'haurà d'escanejar." + +#: backend/snapscan-options.c:114 +#, no-c-format +msgid "Use manual or automatic selection of focus point." +msgstr "Usa la selecció manual o automàtica del punt d'enfocament." + +#: backend/snapscan-options.c:117 +#, no-c-format +msgid "Focus point for scanning." +msgstr "Punt d'enfocament per escanejar." + +#: backend/snapscan-options.c:482 +#, no-c-format +msgid "Preview mode" +msgstr "Mode de vista prèvia" + +#: backend/snapscan-options.c:484 +#, no-c-format +msgid "" +"Select the mode for previews. Greyscale previews usually give the best " +"combination of speed and detail." +msgstr "" +"Selecciona el mode per a les vistes prèvies. Les vistes prèvies a escala " +"de grisos normalment ofereixen la millor combinació entre velocitat i " +"detall." + +#: backend/snapscan-options.c:601 +#, no-c-format +msgid "Predefined settings" +msgstr "Ajustaments predeterminats" + +#: backend/snapscan-options.c:603 +#, no-c-format +msgid "" +"Provides standard scanning areas for photographs, printed pages and the " +"like." +msgstr "" +"Proporciona àrees d'escaneig estàndard per a fotografies, pàgines " +"impreses i similars." + +#: backend/snapscan-options.c:884 +#, no-c-format +msgid "Frame" +msgstr "Marc" + +#: backend/snapscan-options.c:885 +#, no-c-format +msgid "Frame to be scanned" +msgstr "Marc a escanejar" + +#: backend/snapscan-options.c:897 +#, no-c-format +msgid "Focus-mode" +msgstr "Mode de l'enfocament" + +#: backend/snapscan-options.c:898 +#, no-c-format +msgid "Auto or manual focus" +msgstr "Enfocament automàtic o manual" + +#: backend/snapscan-options.c:911 +#, no-c-format +msgid "Focus-point" +msgstr "Punt d'enfocament" + +#: backend/snapscan-options.c:912 +#, no-c-format +msgid "Focus point" +msgstr "Punt d'enfocament" + +#: backend/snapscan-options.c:930 +#, no-c-format +msgid "Colour lines per read" +msgstr "Línies de color per a la lectura" + +#: backend/snapscan-options.c:942 +#, no-c-format +msgid "Greyscale lines per read" +msgstr "Línies en escala de grisos per a la lectura" + +#: backend/stv680.c:974 +#, no-c-format +msgid "webcam" +msgstr "Càmera web" + +#: backend/stv680.h:115 +#, no-c-format +msgid "Color RAW" +msgstr "Color RAW" + +#: backend/stv680.h:116 +#, no-c-format +msgid "Color RGB" +msgstr "Color RGB" + +#: backend/stv680.h:117 +#, no-c-format +msgid "Color RGB TEXT" +msgstr "Color RGB per al text" + +#: backend/test.c:137 +#, no-c-format +msgid "Solid black" +msgstr "Negre sòlid" + +#: backend/test.c:137 +#, no-c-format +msgid "Solid white" +msgstr "Blanc sòlid" + +#: backend/test.c:138 +#, no-c-format +msgid "Color pattern" +msgstr "Patró per al color" + +#: backend/test.c:138 +#, no-c-format +msgid "Grid" +msgstr "Quadrícula" + +#: backend/test.c:163 backend/test.c:171 +#, no-c-format +msgid "First entry" +msgstr "Primera entrada" + +#: backend/test.c:163 backend/test.c:171 +#, no-c-format +msgid "Second entry" +msgstr "Segona entrada" + +#: backend/test.c:165 +#, no-c-format +msgid "" +"This is the very long third entry. Maybe the frontend has an idea how to " +"display it" +msgstr "" +"Aquesta és la tercera entrada molt llarga. Potser el frontal té una idea " +"sobre com mostrar-la" + +#: backend/test.c:348 +#, no-c-format +msgid "Hand-scanner simulation" +msgstr "Simulació d'un escàner manual" + +#: backend/test.c:349 +#, no-c-format +msgid "" +"Simulate a hand-scanner. Hand-scanners do not know the image height a " +"priori. Instead, they return a height of -1. Setting this option " +"allows one to test whether a frontend can handle this correctly. This " +"option also enables a fixed width of 11 cm." +msgstr "" +"Simula un escàner manual. Els escàners manuals sovint no coneixen " +"l'alçària de la imatge. En canvi, retornen una alçària de -1. En " +"establir aquesta opció, es pot comprovar si un frontal pot gestionar-la " +"correctament. Aquesta opció també permet una amplària fixa d'11 cm." + +#: backend/test.c:366 +#, no-c-format +msgid "Three-pass simulation" +msgstr "Simulació de tres passos" + +#: backend/test.c:367 +#, no-c-format +msgid "" +"Simulate a three-pass scanner. In color mode, three frames are " +"transmitted." +msgstr "" +"Simula un escàner de tres passos. En mode de color, es transmeten tres " +"fotogrames." + +#: backend/test.c:382 +#, no-c-format +msgid "Set the order of frames" +msgstr "Estableix l'ordre dels fotogrames" + +#: backend/test.c:383 +#, no-c-format +msgid "Set the order of frames in three-pass color mode." +msgstr "Estableix l'ordre dels fotogrames en el mode color de tres passos." + +#: backend/test.c:416 +#, no-c-format +msgid "" +"If Automatic Document Feeder is selected, the feeder will be 'empty' " +"after 10 scans." +msgstr "" +"Si se selecciona l'alimentador automàtic de documents, l'alimentador " +"estarà «buit» després de 10 escaneigs." + +#: backend/test.c:431 +#, no-c-format +msgid "Special Options" +msgstr "Opcions especials" + +#: backend/test.c:444 +#, no-c-format +msgid "Select the test picture" +msgstr "Selecciona la fotografia de prova" + +#: backend/test.c:446 +#, no-c-format +msgid "" +"Select the kind of test picture. Available options:\n" +"Solid black: fills the whole scan with black.\n" +"Solid white: fills the whole scan with white.\n" +"Color pattern: draws various color test patterns depending on the mode.\n" +"Grid: draws a black/white grid with a width and height of 10 mm per " +"square." +msgstr "" +"Seleccioneu el tipus de la fotografia de prova. Opcions disponibles:\n" +"Negre sòlid: omple tot l'escaneig amb el negre.\n" +"Blanc sòlid: omple tot l'escaneig amb el blanc.\n" +"Patró per al color: dibuixa diversos patrons de prova per al color en " +"funció del mode.\n" +"Quadrícula: dibuixa una quadrícula en negre/blanc amb una amplària i una " +"alçària de 10 mm per quadrat." + +#: backend/test.c:467 +#, no-c-format +msgid "Invert endianness" +msgstr "Inverteix la codificació «endian»" + +#: backend/test.c:468 +#, no-c-format +msgid "" +"Exchange upper and lower byte of image data in 16 bit modes. This option " +"can be used to test the 16 bit modes of frontends, e.g. if the frontend " +"uses the correct endianness." +msgstr "" +"Intercanvi de bytes superior i inferior de dades d'imatge en els modes " +"de 16 bits. Aquesta opció es pot usar per a provar els modes de 16 bits " +"dels frontals, p. ex., si el frontal empra una codificació «endian» " +"correcta." + +#: backend/test.c:484 +#, no-c-format +msgid "Read limit" +msgstr "Límit en la lectura" + +#: backend/test.c:485 +#, no-c-format +msgid "Limit the amount of data transferred with each call to sane_read()." +msgstr "" +"Limita la quantitat de dades transferida amb cada crida al «sane_read()»." + +#: backend/test.c:498 +#, no-c-format +msgid "Size of read-limit" +msgstr "Mida per al límit en la lectura" + +#: backend/test.c:499 +#, no-c-format +msgid "" +"The (maximum) amount of data transferred with each call to sane_read()." +msgstr "" +"La quantitat (màxima) de dades transferida amb cada crida al " +"«sane_read()»." + +#: backend/test.c:514 +#, no-c-format +msgid "Read delay" +msgstr "Retard en la lectura" + +#: backend/test.c:515 +#, no-c-format +msgid "Delay the transfer of data to the pipe." +msgstr "Retarda la transferència de les dades a la canonada." + +#: backend/test.c:527 +#, no-c-format +msgid "Duration of read-delay" +msgstr "Durada del retard en la lectura" + +#: backend/test.c:528 +#, no-c-format +msgid "" +"How long to wait after transferring each buffer of data through the pipe." +msgstr "" +"Quant de temps s'esperarà després de transferir cada cau de dades a " +"través de la canonada." + +#: backend/test.c:543 +#, no-c-format +msgid "Return-value of sane_read" +msgstr "Valor retornat pel «sane_read()»" + +#: backend/test.c:545 +#, no-c-format +msgid "" +"Select the return-value of sane_read(). \"Default\" is the normal " +"handling for scanning. All other status codes are for testing how the " +"frontend handles them." +msgstr "" +"Selecciona el valor retornat pel «sane_read()». «Predeterminat» és el " +"maneig normal per a escanejar. Tots els altres codis d'estat són per a " +"provar com els maneja el frontal." + +#: backend/test.c:562 +#, no-c-format +msgid "Loss of pixels per line" +msgstr "Pèrdua de píxels per línia" + +#: backend/test.c:564 +#, no-c-format +msgid "The number of pixels that are wasted at the end of each line." +msgstr "El nombre de píxels que es perdran al final de cada línia." + +#: backend/test.c:577 +#, no-c-format +msgid "Fuzzy parameters" +msgstr "Paràmetres difusos" + +#: backend/test.c:578 +#, no-c-format +msgid "" +"Return fuzzy lines and bytes per line when sane_parameters() is called " +"before sane_start()." +msgstr "" +"Retorna línies borroses i bytes per línia quan es crida la " +"«sane_parameters()» abans de la «sane_start()»." + +#: backend/test.c:591 +#, no-c-format +msgid "Use non-blocking IO" +msgstr "Usa una E/S que no es bloquegi" + +#: backend/test.c:592 +#, no-c-format +msgid "Use non-blocking IO for sane_read() if supported by the frontend." +msgstr "" +"Usa una E/S que no es bloquegi per a la «sane_read()» si està admés pel " +"frontal." + +#: backend/test.c:605 +#, no-c-format +msgid "Offer select file descriptor" +msgstr "Ofereix el descriptor de fitxer seleccionat" + +#: backend/test.c:606 +#, no-c-format +msgid "" +"Offer a select filedescriptor for detecting if sane_read() will return " +"data." +msgstr "" +"Ofereix un descriptor de fitxer seleccionat per a detectar si la " +"«sane_read()» retornarà dades." + +#: backend/test.c:619 +#, no-c-format +msgid "Enable test options" +msgstr "Habilita les opcions de prova" + +#: backend/test.c:620 +#, no-c-format +msgid "" +"Enable various test options. This is for testing the ability of " +"frontends to view and modify all the different SANE option types." +msgstr "" +"Habilita diverses opcions de prova. Això és per a provar la capacitat " +"dels frontals per a veure i modificar tots els diferents tipus d'opcions " +"de SANE." + +#: backend/test.c:634 +#, no-c-format +msgid "Print options" +msgstr "Opcions per a la impressió" + +#: backend/test.c:635 +#, no-c-format +msgid "Print a list of all options." +msgstr "Imprimeix una llista de totes les opcions." + +#: backend/test.c:712 +#, no-c-format +msgid "Bool test options" +msgstr "Opcions per a la prova booleana" + +#: backend/test.c:725 +#, no-c-format +msgid "(1/6) Bool soft select soft detect" +msgstr "(1/6) Selecció i detecció booleana per programari" + +#: backend/test.c:727 +#, no-c-format +msgid "" +"(1/6) Bool test option that has soft select and soft detect (and " +"advanced) capabilities. That's just a normal bool option." +msgstr "" +"(1/6) Opció per a la prova booleana amb capacitats (i avançades) per a " +"la selecció i detecció per programari. Aquesta només és una opció " +"booleana normal." + +#: backend/test.c:743 +#, no-c-format +msgid "(2/6) Bool hard select soft detect" +msgstr "(2/6) Selecció booleana per maquinari i detecció per programari" + +#: backend/test.c:745 +#, no-c-format +msgid "" +"(2/6) Bool test option that has hard select and soft detect (and " +"advanced) capabilities. That means the option can't be set by the " +"frontend but by the user (e.g. by pressing a button at the device)." +msgstr "" +"(2/6) Opció per a la prova booleana amb capacitats (i avançades) per a " +"la selecció per maquinari i la detecció per programari. Això vol dir que " +"l'opció no pot ser establida pel frontal, sinó per l'usuari (p. ex., si " +"premeu un botó al dispositiu)." + +#: backend/test.c:762 +#, no-c-format +msgid "(3/6) Bool hard select" +msgstr "(3/6) Selecció booleana per maquinari" + +#: backend/test.c:763 +#, no-c-format +msgid "" +"(3/6) Bool test option that has hard select (and advanced) capabilities. " +"That means the option can't be set by the frontend but by the user (e.g. " +"by pressing a button at the device) and can't be read by the frontend." +msgstr "" +"(3/6) Opció per a la prova booleana amb capacitats (i avançades) per a " +"la selecció per maquinari. Això vol dir que l'opció no pot ser establida " +"pel frontal, sinó per l'usuari (p. ex., si premeu un botó al dispositiu) " +"i no el frontal no ho pot llegir." + +#: backend/test.c:781 +#, no-c-format +msgid "(4/6) Bool soft detect" +msgstr "(4/6) Detecció booleana per programari" + +#: backend/test.c:782 +#, no-c-format +msgid "" +"(4/6) Bool test option that has soft detect (and advanced) capabilities. " +"That means the option is read-only." +msgstr "" +"(4/6) Opció per a la prova booleana amb capacitats (i avançades) per a " +"la detecció per programari. Això vol dir que aquesta opció és de només " +"lectura." + +#: backend/test.c:798 +#, no-c-format +msgid "(5/6) Bool soft select soft detect emulated" +msgstr "" +"(5/6) Detecció booleana per programari i detecció emulada per programari" + +#: backend/test.c:799 +#, no-c-format +msgid "" +"(5/6) Bool test option that has soft select, soft detect, and emulated " +"(and advanced) capabilities." +msgstr "" +"(5/6) Opció per a la prova booleana amb capacitats (i avançades) per a " +"la selecció i detecció per programari, i emulades." + +#: backend/test.c:815 +#, no-c-format +msgid "(6/6) Bool soft select soft detect auto" +msgstr "" +"(6/6) Detecció booleana per programari i detecció automàtica per " +"programari" + +#: backend/test.c:816 +#, no-c-format +msgid "" +"(6/6) Bool test option that has soft select, soft detect, and automatic " +"(and advanced) capabilities. This option can be automatically set by the " +"backend." +msgstr "" +"(6/6) Opció per a la prova booleana amb capacitats (i avançades) per a " +"la selecció i detecció per programari, i automàtiques. Aquesta opció pot " +"establir-la automàticament el dorsal." + +#: backend/test.c:833 +#, no-c-format +msgid "Int test options" +msgstr "Opcions per a la prova de l'enter" + +#: backend/test.c:846 +#, no-c-format +msgid "(1/6) Int" +msgstr "(1/6) Enter" + +#: backend/test.c:847 +#, no-c-format +msgid "(1/6) Int test option with no unit and no constraint set." +msgstr "" +"(1/6) Opció per a la prova de l'enter sense unitats i no restringida a " +"un conjunt." + +#: backend/test.c:862 +#, no-c-format +msgid "(2/6) Int constraint range" +msgstr "(2/6) Interval restringit amb un enter" + +#: backend/test.c:863 +#, no-c-format +msgid "" +"(2/6) Int test option with unit pixel and constraint range set. Minimum " +"is 4, maximum 192, and quant is 2." +msgstr "" +"(2/6) Opció per a la prova de l'enter amb píxels com a unitat i un " +"conjunt restringit a un interval. El mínim és 4, el màxim 192 i «quant» " +"és 2." + +#: backend/test.c:879 +#, no-c-format +msgid "(3/6) Int constraint word list" +msgstr "(3/6) Llista restringida de paraules amb un enter" + +#: backend/test.c:880 +#, no-c-format +msgid "(3/6) Int test option with unit bits and constraint word list set." +msgstr "" +"(3/6) Opció per a la prova de l'enter amb bits com a unitat i " +"restringida a un conjunt de llista de paraules." + +#: backend/test.c:895 +#, no-c-format +msgid "(4/6) Int array" +msgstr "(4/6) Matriu amb un enter" + +#: backend/test.c:896 +#, no-c-format +msgid "" +"(4/6) Int test option with unit mm and using an array without " +"constraints." +msgstr "" +"(4/6) Opció per a la prova de l'enter amb mm com a unitat i usant una " +"matriu sense restringir." + +#: backend/test.c:911 +#, no-c-format +msgid "(5/6) Int array constraint range" +msgstr "(5/6) Interval restringit amb una matriu amb un enter" + +#: backend/test.c:912 +#, no-c-format +msgid "" +"(5/6) Int test option with unit dpi and using an array with a range " +"constraint. Minimum is 4, maximum 192, and quant is 2." +msgstr "" +"(5/6) Opció per a la prova de l'enter amb ppp com a unitat i usant una " +"matriu amb un interval restringit. El mínim és 4, el màxim 192 i «quant» " +"és 2." + +#: backend/test.c:929 +#, no-c-format +msgid "(6/6) Int array constraint word list" +msgstr "(6/6) Llista restringida de paraules amb una matriu amb un enter" + +#: backend/test.c:930 +#, no-c-format +msgid "" +"(6/6) Int test option with unit percent and using an array with a word " +"list constraint." +msgstr "" +"(6/6) Opció per a la prova de l'enter amb percentatge com a unitat i " +"usant una matriu amb una llista restringida de paraules." + +#: backend/test.c:946 +#, no-c-format +msgid "Fixed test options" +msgstr "Opcions per a la prova fixa" + +#: backend/test.c:959 +#, no-c-format +msgid "(1/3) Fixed" +msgstr "(1/3) Fixa" + +#: backend/test.c:960 +#, no-c-format +msgid "(1/3) Fixed test option with no unit and no constraint set." +msgstr "" +"(1/3) Opció per a la prova fixa sense unitats i no restringida a un " +"conjunt." + +#: backend/test.c:975 +#, no-c-format +msgid "(2/3) Fixed constraint range" +msgstr "(2/3) Interval restringit de paraules" + +#: backend/test.c:976 +#, no-c-format +msgid "" +"(2/3) Fixed test option with unit microsecond and constraint range set. " +"Minimum is -42.17, maximum 32767.9999, and quant is 2.0." +msgstr "" +"(2/3) Opció per a la prova fixa amb microsegons com a unitat i un " +"conjunt restringit a un interval. El mínim és -42,17, el màxim " +"32767,9999 i «quant» és 2,0." + +#: backend/test.c:992 +#, no-c-format +msgid "(3/3) Fixed constraint word list" +msgstr "(3/3) Llista fixa i restringida de paraules" + +#: backend/test.c:993 +#, no-c-format +msgid "(3/3) Fixed test option with no unit and constraint word list set." +msgstr "" +"(3/3) Opció per a la prova fixa sense unitats i restringida a un conjunt " +"de llista de paraules." + +#: backend/test.c:1008 +#, no-c-format +msgid "String test options" +msgstr "Opcions per a la prova de la cadena" + +#: backend/test.c:1021 +#, no-c-format +msgid "(1/3) String" +msgstr "(1/3) Cadena" + +#: backend/test.c:1022 +#, no-c-format +msgid "(1/3) String test option without constraint." +msgstr "(1/3) Opció per a la prova de la cadena sense restringir." + +#: backend/test.c:1039 +#, no-c-format +msgid "(2/3) String constraint string list" +msgstr "(2/3) Llista restringida de cadenes" + +#: backend/test.c:1040 +#, no-c-format +msgid "(2/3) String test option with string list constraint." +msgstr "" +"(2/3) Opció per a la prova de la cadena amb una llista restringida de " +"cadenes." + +#: backend/test.c:1059 +#, no-c-format +msgid "(3/3) String constraint long string list" +msgstr "(3/3) Llista llarga i restringida de cadenes" + +#: backend/test.c:1060 +#, no-c-format +msgid "" +"(3/3) String test option with string list constraint. Contains some more " +"entries..." +msgstr "" +"(3/3) Opció per a la prova de la cadena amb una llista restringida de " +"cadenes. Conté algunes entrades més..." + +#: backend/test.c:1080 +#, no-c-format +msgid "Button test options" +msgstr "Opcions per a la prova del botó" + +#: backend/test.c:1093 +#, no-c-format +msgid "(1/1) Button" +msgstr "(1/1) Botó" + +#: backend/test.c:1094 +#, no-c-format +msgid "(1/1) Button test option. Prints some text..." +msgstr "(1/1) Opció per a la prova del botó. Imprimeix algun text..." + +#: backend/u12.c:149 +#, no-c-format +msgid "Color 36" +msgstr "Color 36" + +#: backend/umax.c:235 +#, no-c-format +msgid "Use Image Composition" +msgstr "Usa la composició de la imatge" + +#: backend/umax.c:236 +#, no-c-format +msgid "Bi-level black and white (lineart mode)" +msgstr "Bi-nivell en blanc i negre (mode art lineal)" + +#: backend/umax.c:237 +#, no-c-format +msgid "Dithered/halftone black & white (halftone mode)" +msgstr "Tramat/semi to en negre i blanc (mode semi to)" + +#: backend/umax.c:238 +#, no-c-format +msgid "Multi-level black & white (grayscale mode)" +msgstr "Múltiples nivells en blanc i negre (mode escala de grisos)" + +#: backend/umax.c:239 +#, no-c-format +msgid "Multi-level RGB color (one pass color)" +msgstr "Múltiples nivells en color RGB (color d'una sola passada)" + +#: backend/umax.c:240 +#, no-c-format +msgid "Ignore calibration" +msgstr "Ignora el calibratge" + +#: backend/umax.c:5733 +#, no-c-format +msgid "Disable pre focus" +msgstr "Inhabilita l'enfocament previ" + +#: backend/umax.c:5734 +#, no-c-format +msgid "Do not calibrate focus" +msgstr "No calibris l'enfocament" + +#: backend/umax.c:5745 +#, no-c-format +msgid "Manual pre focus" +msgstr "Enfocament previ manual" + +#: backend/umax.c:5757 +#, no-c-format +msgid "Fix focus position" +msgstr "Fixa la posició de l'enfocament" + +#: backend/umax.c:5769 +#, no-c-format +msgid "Lens calibration in doc position" +msgstr "Calibratge de la lent a la posició del document" + +#: backend/umax.c:5770 +#, no-c-format +msgid "Calibrate lens focus in document position" +msgstr "Calibra l'enfocament de la lent a la posició del document" + +#: backend/umax.c:5781 +#, no-c-format +msgid "Holder focus position 0mm" +msgstr "Mantén la posició de l'enfocament a 0 mm" + +#: backend/umax.c:5782 +#, no-c-format +msgid "Use 0mm holder focus position instead of 0.6mm" +msgstr "" +"Usa una posició mantinguda de l'enfocament de 0 mm en lloc de 0,6 mm" + +#: backend/umax.c:5885 +#, no-c-format +msgid "Calibration mode" +msgstr "Mode del calibratge" + +#: backend/umax.c:5886 +#, no-c-format +msgid "Define calibration mode" +msgstr "Defineix el mode del calibratge" + +#: backend/umax_pp.c:640 +#, no-c-format +msgid "Sets lamp on/off" +msgstr "Estableix la làmpada a encesa/apagada" + +#: backend/umax_pp.c:649 +#, no-c-format +msgid "UTA on" +msgstr "Activa l'UTA" + +#: backend/umax_pp.c:650 +#, no-c-format +msgid "Sets UTA on/off" +msgstr "Estableix l'UTA a actiu/inactiu" + +#: backend/umax_pp.c:771 +#, no-c-format +msgid "Offset" +msgstr "Desplaçament" + +#: backend/umax_pp.c:773 +#, no-c-format +msgid "Color channels offset settings" +msgstr "Ajustaments del desplaçament per als canals de color" + +#: backend/umax_pp.c:780 +#, no-c-format +msgid "Gray offset" +msgstr "Desplaçament del gris" + +#: backend/umax_pp.c:781 +#, no-c-format +msgid "Sets gray channel offset" +msgstr "Estableix el desplaçament del canal gris" + +#: backend/umax_pp.c:793 +#, no-c-format +msgid "Sets red channel offset" +msgstr "Estableix el desplaçament del canal roig" + +#: backend/umax_pp.c:805 +#, no-c-format +msgid "Sets green channel offset" +msgstr "Estableix el desplaçament del canal verd" + +#: backend/umax_pp.c:817 +#, no-c-format +msgid "Sets blue channel offset" +msgstr "Estableix el desplaçament del canal blau" diff --git a/po/cs.gmo b/po/cs.gmo deleted file mode 100644 index 0a2dae8..0000000 Binary files a/po/cs.gmo and /dev/null differ diff --git a/po/cs.po b/po/cs.po index 0b350b6..f358d06 100644 --- a/po/cs.po +++ b/po/cs.po @@ -4,8 +4,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends.cs\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2007-12-17 22:59+0100\n" "Last-Translator: Josef \n" "Language-Team: \n" @@ -26,36 +26,36 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometrie" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Vylepšení" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -83,7 +83,7 @@ msgstr "Vynutit monochromatický náhled" msgid "Bit depth" msgstr "Bitová hloubka" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -124,7 +124,7 @@ msgstr "Pravý dolní roh x" msgid "Bottom-right y" msgstr "Pravý dolní roh y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -280,7 +280,7 @@ msgstr "Jméno souboru" msgid "Halftone pattern size" msgstr "Rozměr vzorku polotónu" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Vzorek polotónu" @@ -292,8 +292,8 @@ msgstr "Svázat rozlišení X a Y" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" @@ -964,7 +964,7 @@ msgstr "Standardní nastavení" msgid "Set default values for enhancement controls." msgstr "Nastavit standardní hodnoty prvků pro vylepšení obrázku" -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Kalibrace" @@ -1102,7 +1102,7 @@ msgstr "Negativ" msgid "Slides" msgstr "Zcela bílá" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1123,487 +1123,486 @@ msgstr "2x2 normální" msgid "1/3 normal speed" msgstr "3x3 normální" -#: backend/canon.c:365 +#: backend/canon.c:360 #, fuzzy, no-c-format msgid "rounded parameter" msgstr "Nepřesné (fuzzy) parametry" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "" -#: backend/canon.c:394 +#: backend/canon.c:389 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Hodnota gama" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "" -#: backend/canon.c:412 +#: backend/canon.c:407 #, fuzzy, no-c-format msgid "transparency unit lamp failure" msgstr "Prosvětlovací jednotka" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "" -#: backend/canon.c:522 +#: backend/canon.c:517 #, fuzzy, no-c-format msgid "transparency unit shading error" msgstr "Prosvětlovací jednotka" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, fuzzy, no-c-format msgid "film scanner" msgstr "Stolní skener" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "Stolní skener" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Typ filmu" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Negativní film" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, fuzzy, no-c-format msgid "Selects the negative film type" msgstr "Zvolit testovací obrázek" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, fuzzy, no-c-format msgid "Hardware resolution" msgstr "Rozlišení" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, fuzzy, no-c-format msgid "Use only hardware resolutions" msgstr "Zobrazí zkrácený seznam rozlišení" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, fuzzy, no-c-format msgid "Auto focus" msgstr "Automaticky vysunout" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, fuzzy, no-c-format msgid "Enable/disable auto focus" msgstr "Vyřadit předběžné zaostření" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, fuzzy, no-c-format msgid "Manual focus position" msgstr "Pozice pevného zaostření" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Zrcadlit obrázek" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, fuzzy, no-c-format msgid "Mirror the image horizontally" msgstr "Zrcadlit obrázek" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, fuzzy, no-c-format msgid "Auto exposure" msgstr "Nastavit expoziční čas" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, fuzzy, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Povolit volbu expozičních časů" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Kalibrace" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Definovat režim kalibrace" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "skener s podavačem" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, fuzzy, no-c-format msgid "Reset the scanner" msgstr "skener s podavačem" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, fuzzy, no-c-format msgid "Eject film after each scan" msgstr "Vysunout dokument po naskenování" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, fuzzy, no-c-format msgid "Document feeder extras" msgstr "Podavač dokumentů" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, fuzzy, no-c-format msgid "Flatbed only" msgstr "Stolní" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, fuzzy, no-c-format msgid "Transparency unit" msgstr "Prosvětlovací jednotka" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, fuzzy, no-c-format msgid "Negative film" msgstr "Negativní film" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Pozitivní film" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, fuzzy, no-c-format msgid "Transparency ratio" msgstr "Prosvětlovací jednotka" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, fuzzy, no-c-format msgid "Select film type" msgstr "Typ filmu" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, fuzzy, no-c-format msgid "Select the film type" msgstr "Zvolit polotóny" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Stolní" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, fuzzy, no-c-format msgid "ADF Duplex" msgstr "Oboustraně" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, no-c-format msgid "Card Front" msgstr "" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Oboustraně" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Červená" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Zelená" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Modrá" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Vylepšení" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Vylepšení" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Vylepšení" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1611,18 +1610,18 @@ msgstr "Vylepšení" msgid "None" msgstr "Žádné" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1639,13 +1638,13 @@ msgstr "Jednostraně" msgid "Duplex" msgstr "Oboustraně" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Prosvětlovací jednotka" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1758,8 +1757,8 @@ msgstr "Inkoustové tiskárny" msgid "CRT monitors" msgstr "CRT monitory" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Standard" @@ -1822,51 +1821,50 @@ msgstr "A4" msgid "Max" msgstr "Max" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Režim skenování" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Zvolit polotóny" -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Výpadek" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Nastaví výpadek." -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Nastaví jas." -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Zaostření" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Barevná korekce" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "Nastaví tabulku barevných korekcí pro vybrané výstupní zařízení." @@ -1956,17 +1954,17 @@ msgstr "Přidává červenou v závislosti na úrovni modré" msgid "Controls blue level" msgstr "Ovládá úroveň modré" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Zrcadlí obrázek." -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Rychlý náhled" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Automatické rozložení plochy" @@ -1996,47 +1994,47 @@ msgstr "Nastaví faktor přiblížení, který skener použije" msgid "Quick format" msgstr "Rychlý formát" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Volitelné příslušenství" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Vysunout" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Vysunout papír z automatického podavače" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Automaticky vysunout" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Vysunout dokument po naskenování" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Pozice" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Zvolte pozici pro sken" @@ -2075,7 +2073,7 @@ msgstr "" "Po odeslání příkazu ke skenování se s vlastním skenem čeká až na stisk " "tlačítka na skeneru." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "" @@ -2105,492 +2103,492 @@ msgstr "" msgid "User defined CCT profile" msgstr "Uživatelské nastavení" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Rozptyl" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Chybový rozptyl" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, fuzzy, no-c-format msgid "White" msgstr "Úroveň bílé" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, fuzzy, no-c-format msgid "Black" msgstr "Úroveň černé" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, no-c-format msgid "Continue" msgstr "" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontální" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Horizontální" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Horizontální" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertikální" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Vertikální" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, no-c-format msgid "Front" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Polotóny" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Hrubá kalibrace" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Zvýraznění obrázku" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Sytost" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "" -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Zrcadlit obrázek" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Zrcadlit obrázek" -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Úroveň bílé modré" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Ovládá úroveň červené" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Barevná perokresba" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, fuzzy, no-c-format msgid "Smoothing" msgstr "Jemný" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Hodnota gama" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Prahová hodnota" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Prahová hodnota" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Redukce šumu" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Bez korekce" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Bez korekce" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Režim podavače" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Zvláštní volby" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Bez korekce" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Výpadek" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Režim podavače" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2598,65 +2596,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "Vypnout lampu" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Odstup modré" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Odstup zelené" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Odstup zelené" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Odstup modré" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Nastavuje odstup modrého kanálu" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2665,519 +2663,529 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Oboustraně" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Zvláštní volby" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Redukce šumu" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Z papíru" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Z papíru" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Z papíru" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Z papíru" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Manuální předběžné zaostření" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Manuální předběžné zaostření" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Rozlišení" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Úroveň bílé" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "Intenzita červené" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Oboustraně" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, fuzzy, no-c-format msgid "Extras" msgstr "Velmi rychlý" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Vyřadit zpětný chod" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Barevná perokresba" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrace" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definovat režim kalibrace" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Režim kalibrace" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, fuzzy, no-c-format msgid "Lamp off time" msgstr "Vypnout lampu" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Hrubá kalibrace" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, fuzzy, no-c-format msgid "File button" msgstr "Čekat na tlačítko" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, fuzzy, no-c-format msgid "Power button" msgstr "Čekat na tlačítko" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "Čekat na tlačítko" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Hrubá kalibrace" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Vynutit kalibraci skeneru před skenováním" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, fuzzy, no-c-format msgid "Buttons" msgstr "Stav tlačítek" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrovat" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Hrubá kalibrace" -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Hrubá kalibrace" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Režim kalibrace" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Hrubá kalibrace" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Prosvětlovací adaptér" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Volby pro ladění" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automaticky zahřát" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3186,12 +3194,12 @@ msgstr "" "Zahřát lampu dokud její jas není konstantní namísto standardního 60ti " "sekundového zahřívání." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Plný sken" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3200,12 +3208,12 @@ msgstr "" "Naskenovat kompletní skenovací plochu včetně kalibračního proužku. " "Opatrně! Nenastavujte plnou výšku! Pouze pro testování!" -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Hrubá kalibrace" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3216,12 +3224,12 @@ msgstr "" "jsou zobrazeny ovádací prvky pro mauální nastavení. Tato volba je " "standardně zapnuta. Pouze pro testování!" -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Hrubá kalibrace pouze pro první sken" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3232,12 +3240,12 @@ msgstr "" "funguje a může zkrátit čas skenování. Pokud se obrázek s každým dalším " "skenem mění, vyřaďte tuto volbu. Pouze pro testování!" -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, fuzzy, no-c-format msgid "Backtrack lines" msgstr "Skenovat při zpětném chodu" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3246,12 +3254,12 @@ msgid "" "omitting lines." msgstr "" -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Hodnota gama" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Nastavuje hodnotu gama pro všechny kanály." @@ -3267,7 +3275,7 @@ msgid "Scan Mode Group" msgstr "Režim skenování" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, fuzzy, no-c-format msgid "Slide" msgstr "Zcela bílá" @@ -3465,160 +3473,235 @@ msgstr "Zapíná a vypíná lampu." msgid "Calibrates for black and white level." msgstr "Kalibruje úrovně černé a bílé." -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Zcela bílá" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Negativ" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Barva 48" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Vypnout lampu" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Čekat na tlačítko" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, fuzzy, no-c-format msgid "Waits for button before scanning" msgstr "Zahřát lampu před skenováním" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Stav tlačítek" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Zdroj" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Barevná perokresba" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, fuzzy, no-c-format msgid "Advanced Options" msgstr "Zvláštní volby" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Hrubý" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Jemný" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Volitelný" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Automaticky" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "NTSC šedá" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "XPA šedá" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Pomalý" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normální" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Rychlý" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Velmi rychlý" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, fuzzy, no-c-format msgid "Film-strip" msgstr "Typ filmu" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, fuzzy, no-c-format msgid "Experiment" msgstr "Expoziční čas" @@ -3792,8 +3875,8 @@ msgstr "Vypnout lampu" msgid "Shut off scanner lamp." msgstr "Vypnout lampu skeneru." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Rozměr papíru" @@ -3804,8 +3887,7 @@ msgstr "Rozměr papíru" msgid "Automatic separation" msgstr "Automatické oddělení" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 na šířku" @@ -3820,38 +3902,34 @@ msgstr "" msgid "Long paper mode" msgstr "" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Manuální předběžné zaostření" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Manuální předběžné zaostření" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Zapnout oboustranné (duplexní) skenování" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Fyzická velikost papíru v automatikém podavači" @@ -3967,199 +4045,199 @@ msgstr "" msgid "Legal" msgstr "" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Polotóny" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Polotóny" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, fuzzy, no-c-format msgid "diffusion" msgstr "Chybový rozptyl" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normální" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Světlé body" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "Stolní skener" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Z papíru" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Standard" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Jemný" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Pomalý" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Střední" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Červená" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Zelená" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Zdroj" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Režim podavače" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Nastavuje režim podavače" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Vyřadit předběžné zaostření" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Vyřadit předběžné zaostření" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Nastavuje režim podavače" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Nastavuje režim podavače" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatické nastavení prahových hodnot" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4168,95 +4246,95 @@ msgstr "" "Automaticky nastaví jas, kontrast, úroveň bílé, gama korekci, redukci " "šumu a zvýraznění obrázku" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Redukce šumu" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Redukuje izolovaný bodový šum" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Zvýraznění obrázku" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Nastaví zvýraznění obrázku" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gama" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Zapnout lampu" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Zapíná a vypíná lampu." -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Zrcadlit obrázek" -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -4970,17 +5048,17 @@ msgstr "3x3 volitelný" msgid "2x2 custom" msgstr "2x2 volitelný" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Stupně šedé - rychlý režim" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Skenuje se ve stupních šedé v rychlé režimu (nižší kvalitě)" -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -4989,82 +5067,82 @@ msgstr "" "Požaduje, aby se všechny náhledy dělaly v nejrychleším režimu (s nízkou " "kvalitou). To může znamenat např. černobílý režim nebo nízké rozlišení." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, fuzzy, no-c-format msgid "Lamp off time (minutes)" msgstr "Zahřát lampu" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, fuzzy, no-c-format msgid "Turn lamp off" msgstr "Zapíná/vypíná lampu" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, fuzzy, no-c-format msgid "Turns the lamp off immediately." msgstr "Vypne lampu plochého skeneru" -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Jas červené" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Nastavuje jas červeného kanálu naskenovaného obrázku." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Jas zelené" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Nastavuje jas zeleného kanálu naskenovaného obrázku." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Jas modré" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Nastavuje jas modrého kanálu naskenovaného obrázku." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Kontrast červeného kanálu" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Nastavuje kontrast červeného kanálu naskenovaného obrázku." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Kontrast zeleného kanálu" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Nastavuje kontrast zeleného kanálu naskenovaného obrázku." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrast modrého kanálu" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Nastavuje kontrast modrého kanálu naskenovaného obrázku." @@ -5108,22 +5186,22 @@ msgstr "" "Zahřát lampu dokud její jas není konstantní namísto standardního 40ti " "sekundového zahřívání." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negativní film" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativ" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/da.gmo b/po/da.gmo deleted file mode 100644 index f0e9386..0000000 Binary files a/po/da.gmo and /dev/null differ diff --git a/po/da.po b/po/da.po index 7113097..2fbc54b 100644 --- a/po/da.po +++ b/po/da.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.17\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2007-12-17 22:59+0100\n" "Last-Translator: Mogens Jaeger \n" "Language-Team: Danish \n" @@ -31,36 +31,36 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Skanområde" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Forbedring" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -88,7 +88,7 @@ msgstr "Gennemtving monokrom smugkig" msgid "Bit depth" msgstr "Bit dybde" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -129,7 +129,7 @@ msgstr "Nederst-højre x" msgid "Bottom-right y" msgstr "Nederst-højre y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -285,7 +285,7 @@ msgstr "Filnavn" msgid "Halftone pattern size" msgstr "Halvtonemønster størrelse" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Halvtonemønster" @@ -297,8 +297,8 @@ msgstr "Sammenbind X- og Y-opløsning" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" @@ -967,7 +967,7 @@ msgstr "Standard" msgid "Set default values for enhancement controls." msgstr "Anvend standardværdier for forbedringskontroller." -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Kalibrering" @@ -1106,7 +1106,7 @@ msgstr "Negativ" msgid "Slides" msgstr "Diapositiv" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1127,487 +1127,486 @@ msgstr "2x2 normal" msgid "1/3 normal speed" msgstr "3x3 normal" -#: backend/canon.c:365 +#: backend/canon.c:360 #, fuzzy, no-c-format msgid "rounded parameter" msgstr "Uklare parametre" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "" -#: backend/canon.c:378 +#: backend/canon.c:373 #, fuzzy, no-c-format msgid "ADF jam" msgstr "ADF" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "" -#: backend/canon.c:394 +#: backend/canon.c:389 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Gamma værdi" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "" -#: backend/canon.c:412 +#: backend/canon.c:407 #, fuzzy, no-c-format msgid "transparency unit lamp failure" msgstr "Filmenhed" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "" -#: backend/canon.c:522 +#: backend/canon.c:517 #, fuzzy, no-c-format msgid "transparency unit shading error" msgstr "Filmenhed" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, fuzzy, no-c-format msgid "film scanner" msgstr "Flatbed skanner" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "Flatbed skanner" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Filmtype" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Negativ film" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, fuzzy, no-c-format msgid "Selects the negative film type" msgstr "Vælg testbillede" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, fuzzy, no-c-format msgid "Hardware resolution" msgstr "Skanningsopløsning" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, fuzzy, no-c-format msgid "Use only hardware resolutions" msgstr "Vis kort liste med mulige opløsninger" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, fuzzy, no-c-format msgid "Auto focus" msgstr "Automatisk skub ud" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, fuzzy, no-c-format msgid "Enable/disable auto focus" msgstr "Deaktiver pre-fokusering" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, fuzzy, no-c-format msgid "Manual focus position" msgstr "Fast fokusposition" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Spejl billedet" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, fuzzy, no-c-format msgid "Mirror the image horizontally" msgstr "Spejlvend billedet vandret." -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, fuzzy, no-c-format msgid "Auto exposure" msgstr "Fastsæt eksponeringstid" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, fuzzy, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Aktiver valg af belysningstid" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Kalibrering" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Definer kalibreringstilstand" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "arkføder skanner" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, fuzzy, no-c-format msgid "Reset the scanner" msgstr "arkføder skanner" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, fuzzy, no-c-format msgid "Eject film after each scan" msgstr "Skub dokumentet ud efter skanning" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, fuzzy, no-c-format msgid "Document feeder extras" msgstr "Dokument føder" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, fuzzy, no-c-format msgid "Flatbed only" msgstr "Flatbed" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, fuzzy, no-c-format msgid "Transparency unit" msgstr "Filmenhed" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, fuzzy, no-c-format msgid "Negative film" msgstr "Negativ film" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Positiv film" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, fuzzy, no-c-format msgid "Transparency ratio" msgstr "Filmenhed" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, fuzzy, no-c-format msgid "Select film type" msgstr "Filmtype" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, fuzzy, no-c-format msgid "Select the film type" msgstr "Vælger halvtone." -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbed" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, fuzzy, no-c-format msgid "ADF Duplex" msgstr "Dobbeltsidet" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, fuzzy, no-c-format msgid "Card Front" msgstr "Print" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Dobbeltsidet" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rød" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Grøn" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blå" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Forbedring" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Forbedring" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Forbedring" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1615,18 +1614,18 @@ msgstr "Forbedring" msgid "None" msgstr "Ingen" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1643,13 +1642,13 @@ msgstr "Enkeltsidet" msgid "Duplex" msgstr "Dobbeltsidet" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Filmenhed" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1762,8 +1761,8 @@ msgstr "Blæk printere" msgid "CRT monitors" msgstr "CRT skærme" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Standard" @@ -1826,51 +1825,50 @@ msgstr "A4" msgid "Max" msgstr "Maks" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Skanner tilstand" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Vælger halvtone." -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Udfald" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Vælger udfaldet." -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Vælger lyshed." -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Skarphed" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Farvekorrektion" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "Fastsætter farvekorrektiontabellen for den valgte uddataenhed." @@ -1960,17 +1958,17 @@ msgstr "Øger det røde, baseret på blåt niveau" msgid "Controls blue level" msgstr "Fastsætter blåt niveau" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Spejlvend billedet." -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Hurtig forhåndsvisning" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Automatisk områdeopdeling" @@ -2000,47 +1998,47 @@ msgstr "Angiver zoomfaktoren som skanneren skal bruge" msgid "Quick format" msgstr "Hurtig format" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Tilvalgsudstyr" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Skub ud" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Skub arket i den automatiske arkføder ud" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Automatisk skub ud" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Skub dokumentet ud efter skanning" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "ADF-tilstand" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Vælger ADF tilstand (enkeltsidet/dobbeltsidet)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Skuffe" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Vælg fra hvilken skuffe der skal skannes" @@ -2080,7 +2078,7 @@ msgstr "" "Når skankommando er sendt, starter skanningen først når der er trykket " "på knappen på skanneren." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "" @@ -2110,494 +2108,494 @@ msgstr "" msgid "User defined CCT profile" msgstr "Brugerdefineret" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Tændt" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Slukket" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Dither" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Fejlspredning" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, fuzzy, no-c-format msgid "White" msgstr "Hvid niveau" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, fuzzy, no-c-format msgid "Black" msgstr "Sort niveau" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, fuzzy, no-c-format msgid "Continue" msgstr "Betinget" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Vandret" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Vandret" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Vandret" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Lodret" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Lodret" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, fuzzy, no-c-format msgid "Front" msgstr "Print" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Halvtone" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Grovkalibrering" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Billedbetoning" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Mætning" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Aktiver automatisk fastsættelse af tærskelværdi for " "stregtegningsskanninger." -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Spejl billedet" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Spejlvend billedet vandret." -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Hvid niveau for blå" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Fastsætter rødt niveau" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Farve stregtegning" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Udglatning" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Gamma værdi" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Tærskelværdi" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Tærskelværdi" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Støjreduktion" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Ingen korrektion" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Ingen korrektion" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Arkføder tilstand" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Avancerede indstillinger" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Ingen korrektion" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Udfald" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Arkføder tilstand" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2605,65 +2603,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "Sluk-lampe tid" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Blå forskydning" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Grøn forskydning" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Grøn forskydning" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Blå forskydning" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Indstillinger for blå-kanals forskydning" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2672,418 +2670,418 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Duplex skan" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Avancerede indstillinger" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Støjreduktion" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Manuel pre-fokus" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Manuel pre-fokus" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Skanningsopløsning" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Hvid niveau" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "Rød intensitet" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Duplex skan" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Ekstra" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Deaktiver bagudrettet sporing" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Farve stregtegning" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrering" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definer kalibreringstilstand" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibreringsdatacache" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "Sluk-lampe tid" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3092,103 +3090,113 @@ msgstr "" "Lampen bliver slukket efter den angivne tid (i minutter). Værdien 0 " "bevirker, at lampen ikke bliver slukket." -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Grovkalibrering" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, fuzzy, no-c-format msgid "File button" msgstr "Vent på knap" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, fuzzy, no-c-format msgid "Power button" msgstr "Vent på knap" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "Vent på knap" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Grovkalibrering" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Gennemtving kalibrering før skanning" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Knapper" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrering" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Begynd kalibreringsprocessen." -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Grovkalibrering" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Kalibreringsdatacache" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Grovkalibrering" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Filmadapter" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "Farve ved gråtone tilstand" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Vælger hvilken skan farve der bruges i gråtone tilstand (standard er " "grøn)." -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Fejlsøgningsindstillinger" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatisk opvarmning" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3197,12 +3205,12 @@ msgstr "" "Varm op indtil lampens lyshed er konstant, i stedet for at insistere på " "60 sekunders opvarmningstid." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Fuld skanning" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3211,12 +3219,12 @@ msgstr "" "Skan hele skanningsarealet inklsive kalibreringsstriben. Vær forsigtig. " "Vælg ikke fuld højde. Kun til test formål." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Grovkalibrering" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3227,12 +3235,12 @@ msgstr "" "er fravalgt, kan de analoge brugerfladeparametre manuelt indstilles. " "Denne indstilling er forvalgt. Kun til testformål." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Grovkalibrering kun for første skan." -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3243,12 +3251,12 @@ msgstr "" "skannere og kan spare skanningstid. Hvis billedets lyshed er forskellig " "for hvert skan, fravælg denne indstilling. Kun til testformål." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "Bagudrettede linier" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3261,12 +3269,12 @@ msgstr "" "modtage dataene. Små værdier giver hurtigere skanninger, men øger " "risikoen for at linier bliver sprunget over." -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gamma værdi" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Fastsætter gamma værdien for alle kanaler." @@ -3282,7 +3290,7 @@ msgid "Scan Mode Group" msgstr "Skanner tilstand" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Diapositiv" @@ -3480,160 +3488,235 @@ msgstr "Tænder/slukker for lampen" msgid "Calibrates for black and white level." msgstr "Kalibrerer for sort og hvidt niveau." -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "ADF" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Diapositiv" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Negativ" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Farve 48" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Sluk-lampe tid" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Vent på knap" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, fuzzy, no-c-format msgid "Waits for button before scanning" msgstr "Varm lampen op før skanning" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Knap tilstand" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Skanningskilde" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Farve stregtegning" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "Avancerede indstillinger" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Grov" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Fin" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Tilpasset" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Automatisk" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "Uforandret" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "NTSC grå" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "XPA Grå" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Langsom" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Hurtig" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Meget hurtig" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2-pixel" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4-pixel" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8-pixel" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Print" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Film-stribe" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "XPA" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Betinget" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "Eksperiment" @@ -3812,8 +3895,8 @@ msgstr "Sluk lampen" msgid "Shut off scanner lamp." msgstr "Slukker for skannerens lampe." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Papirstørrelse" @@ -3824,8 +3907,7 @@ msgstr "Papirstørrelse" msgid "Automatic separation" msgstr "Automatisk separering" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 tværformat" @@ -3840,38 +3922,34 @@ msgstr "" msgid "Long paper mode" msgstr "" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Manuel pre-fokus" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Manuel pre-fokus" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Aktiver Duplex (dobbeltsidet) skanning" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Reel størrelse af papiret i ADF'en" @@ -3987,199 +4065,199 @@ msgstr "" msgid "Legal" msgstr "" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Halvtone" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Halvtone" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, fuzzy, no-c-format msgid "diffusion" msgstr "Fejlspredning" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normal" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Højlys" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "Flatbed skanner" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Fra papir" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Standard" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Udglat" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Langsom" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Mellem" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Rød" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Grøn" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Skanningskilde" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Arkføder tilstand" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Fastætter fødningstilstanden" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Deaktiver pre-fokusering" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Deaktiver pre-fokusering" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Fastætter fødningstilstanden" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Fastætter fødningstilstanden" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatisk tærskelværdi" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4188,95 +4266,95 @@ msgstr "" "Automatisk indstilling af lyshed, kontrast, hvid balance, gamma, " "støjreduktion og billedbetoning" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Støjreduktion" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Reducer støj fra enkelt punkter" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Billedbetoning" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Fastsætter billedbetoning" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Lampe tændt" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Tænder/slukker for lampen" -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Spejlvend billedet lodret." -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -4991,17 +5069,17 @@ msgstr "3x3 tilpasset" msgid "2x2 custom" msgstr "2x2 tilpasset" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Hurtig gråtonetilstand" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Skan i hurtig gråtonetilstand (lavere kvalitet)" -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -5010,83 +5088,83 @@ msgstr "" "Forlang at alle forhåndsvisninger udføres i hurtigste (lav kvalitet) " "tilstand. Dette kan være gråtone, eller lav-opløsning." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Lampe slukkes efter (minutter)" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Angiv efter hvor lang tid (i minutter) lampen skal slukkes." -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "Sluk lampen" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Sluk lampen med det samme." -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Rød lyshed" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Fastsætter lysheden i den røde kanal i det rekvirerede billede." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Grøn lyshed" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Fastsætter lysheden i den grønne kanal i det rekvirerede billede." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Blå lyshed" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Fastsætter lysheden i den blå kanal i det rekvirerede billede." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Kontrast rød kanal" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Fastsætter kontrasten i den røde kanal i det rekvirerede billede." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Kontrast grøn kanal" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "" "Fastsætter kontrasten i den grønne kanal i det rekvirerede billede." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrast blå kanal" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Fastsætter kontrasten i den blå kanal i det rekvirerede billede." @@ -5130,22 +5208,22 @@ msgstr "" "Varm op indtil lampens lyshed er konstant, i stedet for at insistere på " "40 sekunders opvarmningstid." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negativ film" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativ" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/de.gmo b/po/de.gmo deleted file mode 100644 index 9ca0930..0000000 Binary files a/po/de.gmo and /dev/null differ diff --git a/po/de.po b/po/de.po index 1d99f95..f66ef39 100644 --- a/po/de.po +++ b/po/de.po @@ -9,20 +9,20 @@ # Oliver Schwartz , 2002, 2004. # Karsten Festag , 2002. # Burkhard Lück , 2009. -# Rolf Bensch , 2012. +# Rolf Bensch , 2012-2019. msgid "" msgstr "" "Project-Id-Version: sane-backends\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" -"PO-Revision-Date: 2010-08-06 17:17+0100\n" -"Last-Translator: Rolf Bensch \n" -"Language-Team: German \n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-26 22:23+0200\n" +"PO-Revision-Date: 2019-07-28 23:01+0200\n" +"Last-Translator: Rolf Bensch \n" +"Language-Team: \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 0.3\n" +"X-Generator: Poedit 2.0.6\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #: include/sane/saneopts.h:154 @@ -36,39 +36,37 @@ msgid "Standard" msgstr "Standard" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 backend/umax.c:5176 +#: backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Scanbereich" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 #: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Farbverbesserung" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 -#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 -#: backend/rts8891.c:2831 backend/snapscan-options.c:923 -#: backend/umax.c:5565 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 backend/rts8891.c:2831 +#: backend/snapscan-options.c:923 backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Erweitert" @@ -93,7 +91,7 @@ msgstr "Vorschauscan in grau" msgid "Bit depth" msgstr "Bittiefe" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -117,24 +115,24 @@ msgstr "Erzwinge Backtracking" #: include/sane/saneopts.h:169 #, no-c-format msgid "Top-left x" -msgstr "Links" +msgstr "Links Oben x" #: include/sane/saneopts.h:170 #, no-c-format msgid "Top-left y" -msgstr "Oben" +msgstr "Links Oben y" #: include/sane/saneopts.h:171 #, no-c-format msgid "Bottom-right x" -msgstr "Rechts" +msgstr "Rechts Unten x" #: include/sane/saneopts.h:172 #, no-c-format msgid "Bottom-right y" -msgstr "Unten" +msgstr "Rechts Unten y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -290,7 +288,7 @@ msgstr "Dateiname" msgid "Halftone pattern size" msgstr "Größe der Halbton-Matrix" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Halbton-Matrix" @@ -302,8 +300,8 @@ msgstr "Verbinde X- und Y-Auflösung" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" @@ -316,7 +314,7 @@ msgstr "Qualitäts-Weißabgleich" #: include/sane/saneopts.h:208 #, no-c-format msgid "Double Optical Resolution" -msgstr "Verdoppelte optische Auflösung" +msgstr "Doppelte optische Auflösung" #: include/sane/saneopts.h:209 #, no-c-format @@ -426,8 +424,7 @@ msgstr "Lampe beim Beenden ausschalten" #: include/sane/saneopts.h:245 #, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " -"supports." +"Read-only option that specifies how many options a specific devices supports." msgstr "" "Nur-Lese-Option, die angibt, wieviele Optionen ein bestimmtes Gerät " "unterstützt." @@ -469,19 +466,18 @@ msgid "" "scanner this cuts down the number of passes to one and on a one-pass " "scanner, it reduces the memory requirements and scan-time of the preview." msgstr "" -"Legt fest, dass alle Vorschauscans im Graustufenmodus durchgeführt " -"werden. Bei einem Three-Pass-Scanner wird dadurch nur ein Pass benötigt, " -"bei einem Single-Pass-Scanner wird der Speicherverbrauch und die " -"Scanzeit verringert." +"Legt fest, dass alle Vorschauscans im Graustufenmodus durchgeführt werden. " +"Bei einem Three-Pass-Scanner wird dadurch nur ein Pass benötigt, bei einem " +"Single-Pass-Scanner wird der Speicherverbrauch und die Scanzeit verringert." #: include/sane/saneopts.h:264 #, no-c-format msgid "" -"Number of bits per sample, typical values are 1 for \"line-art\" and 8 " -"for multibit scans." +"Number of bits per sample, typical values are 1 for \"line-art\" and 8 for " +"multibit scans." msgstr "" -"Anzahl der Bits pro Farbwert, typische Werte sind 1 für Lineart- und 8 " -"für Multibit-Scans" +"Anzahl der Bits pro Farbwert, typische Werte sind 1 für Strichzeichnung- " +"sowie 8 für Graustufen- und Farb-Scans." #: include/sane/saneopts.h:268 #, no-c-format @@ -541,8 +537,8 @@ msgstr "Bestimmt die vertikale Auflösung des Bildes." #: include/sane/saneopts.h:301 #, no-c-format msgid "" -"Specifies the width of the media. Required for automatic centering of " -"sheet-fed scans." +"Specifies the width of the media. Required for automatic centering of sheet-" +"fed scans." msgstr "" "Legt die Breite des Mediums fest. Erforderlich für die automatische " "Zentrierung bei Einzelblatt-Scans." @@ -554,8 +550,7 @@ msgstr "Legt die Höhe der Medien fest." #: include/sane/saneopts.h:308 #, no-c-format -msgid "" -"Determines whether a builtin or a custom gamma-table should be used." +msgid "Determines whether a builtin or a custom gamma-table should be used." msgstr "" "Bestimmt ob die scannerinterne oder eine benutzerdefinierte Gammatabelle " "verwendet wird." @@ -563,12 +558,12 @@ msgstr "" #: include/sane/saneopts.h:312 #, no-c-format msgid "" -"Gamma-correction table. In color mode this option equally affects the " -"red, green, and blue channels simultaneously (i.e., it is an intensity " -"gamma table)." +"Gamma-correction table. In color mode this option equally affects the red, " +"green, and blue channels simultaneously (i.e., it is an intensity gamma " +"table)." msgstr "" -"Gamma-Korrekturtabelle. Im Farbmodus wirkt sich diese Option auf die " -"rote, grüne und blaue Farbkomponente aus. Es ist also eine Helligkeits-" +"Gamma-Korrekturtabelle. Im Farbmodus wirkt sich diese Option auf die rote, " +"grüne und blaue Farbkomponente aus. Es ist also eine Helligkeits-" "Gammatabelle." #: include/sane/saneopts.h:317 @@ -599,11 +594,11 @@ msgstr "Stellt den Kontrast des Bildes ein." #: include/sane/saneopts.h:332 #, no-c-format msgid "" -"Selects the \"graininess\" of the acquired image. Smaller values result " -"in sharper images." +"Selects the \"graininess\" of the acquired image. Smaller values result in " +"sharper images." msgstr "" -"Legt die \"Körnigkeit\" des gescannten Bildes fest. Kleinere Werte " -"ergeben schärfere Bilder." +"Legt die \"Körnigkeit\" des gescannten Bildes fest. Kleinere Werte ergeben " +"schärfere Bilder." #: include/sane/saneopts.h:336 #, no-c-format @@ -613,8 +608,7 @@ msgstr "Legt fest, ob das Bild im Halbtonmodus (Dithering) gescannt wird." #: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." -msgstr "" -"Bestimmt, welcher Helligkeitswert als Schwarz angesehen werden soll." +msgstr "Bestimmt, welcher Helligkeitswert als Schwarz angesehen werden soll." #: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format @@ -646,8 +640,8 @@ msgstr "" #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" -"Bestimmt, welcher Helligkeitswert der roten Komponente als Schwarz " -"angesehen werden soll." +"Bestimmt, welcher Helligkeitswert der roten Komponente als Schwarz angesehen " +"werden soll." #: include/sane/saneopts.h:358 #, no-c-format @@ -667,24 +661,22 @@ msgstr "" #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" -"Bestimmt, welcher Helligkeitswert der roten Komponente als Weiß " -"angesehen werden soll." +"Bestimmt, welcher Helligkeitswert der roten Komponente als Weiß angesehen " +"werden soll." #: include/sane/saneopts.h:367 #, no-c-format -msgid "" -"Selects what green radiance level should be considered \"full green\"." +msgid "Selects what green radiance level should be considered \"full green\"." msgstr "" -"Bestimmt, welcher Helligkeitswert der grünen Komponente als Weiß " -"angesehen werden soll." +"Bestimmt, welcher Helligkeitswert der grünen Komponente als Weiß angesehen " +"werden soll." #: include/sane/saneopts.h:370 #, no-c-format -msgid "" -"Selects what blue radiance level should be considered \"full blue\"." +msgid "Selects what blue radiance level should be considered \"full blue\"." msgstr "" -"Bestimmt, welcher Helligkeitswert der blauen Komponente als Weiß " -"angesehen werden soll." +"Bestimmt, welcher Helligkeitswert der blauen Komponente als Weiß angesehen " +"werden soll." #: include/sane/saneopts.h:374 #, no-c-format @@ -694,8 +686,8 @@ msgstr "Legt den Farbwert (Blauwert) des gescannten Bildes fest." #: include/sane/saneopts.h:377 #, no-c-format msgid "" -"The saturation level controls the amount of \"blooming\" that occurs " -"when acquiring an image with a camera. Larger values cause more blooming." +"The saturation level controls the amount of \"blooming\" that occurs when " +"acquiring an image with a camera. Larger values cause more blooming." msgstr "" "Der Sättigungsgrad steuert die Belichtung einesmit einer Kamera " "aufgenommenen Bildes. Höhere Werte sorgen für eine stärkere Belichtung." @@ -710,8 +702,7 @@ msgstr "Der Dateiname des zu ladenden Bildes." msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " "halftoned images." -msgstr "" -"Legt die Größe der für den Scanvorgang verwendeten Halbtonmatrix fest." +msgstr "Legt die Größe der für den Scanvorgang verwendeten Halbtonmatrix fest." #: include/sane/saneopts.h:389 #, no-c-format @@ -722,121 +713,120 @@ msgstr "Definiert die für den Scanvorgang zu verwendende Halbton-Matrix." #: include/sane/saneopts.h:393 #, no-c-format msgid "Use same values for X and Y resolution" -msgstr "Benutze die gleichen Auflösungen für X und Y." +msgstr "Benutze die gleichen Auflösungen für X und Y" #: include/sane/saneopts.h:395 #, no-c-format msgid "Swap black and white" -msgstr "Invertiere die Farben, z.B. tausche Schwarz gegen Weiß." +msgstr "Invertiere die Farben, z.B. tausche Schwarz gegen Weiß" #: include/sane/saneopts.h:397 #, no-c-format msgid "Do a quality white-calibration" -msgstr "Führe einen Qualitätsweißabgleich durch." +msgstr "Führe einen Qualitäts-Weißabgleich durch" #: include/sane/saneopts.h:399 #, no-c-format msgid "Use lens that doubles optical resolution" -msgstr "Benutze die Linse, mit der die optische Auflösung verdoppelt wird." +msgstr "Benutze die Linse, mit der die optische Auflösung verdoppelt wird" #: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" -msgstr "Benutze die gleichen Wert für alle Farben im RGB Modus." +msgstr "Benutze die gleichen Wert für alle Farben im RGB Modus" #: include/sane/saneopts.h:403 #, no-c-format msgid "Select minimum-brightness to get a white point" -msgstr "" -"Wähle die minimale Helligkeit, die als Weiß betrachtet werden soll." +msgstr "Wähle die minimale Helligkeit, die als Weiß betrachtet werden soll" #: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" -msgstr "Analoge Gammakorrektur." +msgstr "Analoge Gammakorrektur" #: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" -msgstr "Analoge Gammakorrektur für Rot." +msgstr "Analoge Gammakorrektur für Rot" #: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" -msgstr "Analoge Gammakorrektur für Grün." +msgstr "Analoge Gammakorrektur für Grün" #: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" -msgstr "Analoge Gammakorrektur für Blau." +msgstr "Analoge Gammakorrektur für Blau" #: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" -msgstr "Wärme die Lampe vor dem Scannen auf." +msgstr "Wärme die Lampe vor dem Scannen auf" #: include/sane/saneopts.h:417 #, no-c-format msgid "Define exposure-time for calibration" -msgstr "Bestimmt die Beleuchtungszeit für die Kalibrierung." +msgstr "Bestimme die Beleuchtungszeit für die Kalibrierung" #: include/sane/saneopts.h:419 #, no-c-format msgid "Define exposure-time for red calibration" msgstr "" -"Bestimmt die Beleuchtungszeit für die Kalibrierung der roten Komponente." +"Bestimme die Beleuchtungszeit für die Kalibrierung der roten Komponente" #: include/sane/saneopts.h:421 #, no-c-format msgid "Define exposure-time for green calibration" msgstr "" -"Bestimmt die Beleuchtungszeit für die Kalibrierung der grünen Komponente." +"Bestimme die Beleuchtungszeit für die Kalibrierung der grünen Komponente" #: include/sane/saneopts.h:423 #, no-c-format msgid "Define exposure-time for blue calibration" msgstr "" -"Bestimmt die Beleuchtungszeit für die Kalibrierung der blauen Komponente." +"Bestimme die Beleuchtungszeit für die Kalibrierung der blauen Komponente" #: include/sane/saneopts.h:425 #, no-c-format msgid "Define exposure-time for scan" -msgstr "Bestimmt die Beleuchtungszeit für den Scan." +msgstr "Bestimme die Beleuchtungszeit für den Scan" #: include/sane/saneopts.h:427 #, no-c-format msgid "Define exposure-time for red scan" -msgstr "Bestimmt die Beleuchtungszeit für den Scan der roten Komponente." +msgstr "Bestimme die Beleuchtungszeit für den Scan der roten Komponente" #: include/sane/saneopts.h:429 #, no-c-format msgid "Define exposure-time for green scan" -msgstr "Bestimmt die Beleuchtungszeit für den Scan der grünen Komponente." +msgstr "Bestimme die Beleuchtungszeit für den Scan der grünen Komponente" #: include/sane/saneopts.h:431 #, no-c-format msgid "Define exposure-time for blue scan" -msgstr "Bestimmt die Beleuchtungszeit für den Scan der blauen Komponente." +msgstr "Bestimme die Beleuchtungszeit für den Scan der blauen Komponente" #: include/sane/saneopts.h:433 #, no-c-format msgid "Enable selection of exposure-time" -msgstr "Ermögliche Einstellung der Beleuchtungszeiten." +msgstr "Aktiviere die Einstellung der Beleuchtungszeiten" #: include/sane/saneopts.h:435 #, no-c-format msgid "Define lamp density for calibration" -msgstr "Definiere die Lichtwerte beim Kalibrieren." +msgstr "Definiere die Lichtwerte beim Kalibrieren" #: include/sane/saneopts.h:437 #, no-c-format msgid "Define lamp density for scan" -msgstr "Definiere die Lichtwerte beim Scannen." +msgstr "Definiere die Lichtwerte beim Scannen" #: include/sane/saneopts.h:439 #, no-c-format msgid "Enable selection of lamp density" -msgstr "Ermögliche Auswahl der Lichtwerte." +msgstr "Aktiviere die Auswahl der Lichtwerte" #: include/sane/saneopts.h:441 backend/umax.c:5830 #, no-c-format @@ -846,32 +836,32 @@ msgstr "Schalte Lampe beim Beenden des Programms aus" #: include/sane/saneopts.h:444 #, no-c-format msgid "Scan button" -msgstr "Scanknopf" +msgstr "Scan Taste" #: include/sane/saneopts.h:445 #, no-c-format msgid "Email button" -msgstr "E-Mail-Knopf" +msgstr "E-Mail Taste" #: include/sane/saneopts.h:446 #, no-c-format msgid "Fax button" -msgstr "Fax-Knopf" +msgstr "Fax Taste" #: include/sane/saneopts.h:447 #, no-c-format msgid "Copy button" -msgstr "Kopieren-Knopf" +msgstr "Kopieren Taste" #: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" -msgstr "PDF-Knopf" +msgstr "PDF Taste" #: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" -msgstr "Abbrechen-Knopf" +msgstr "Abbrechen Taste" #: include/sane/saneopts.h:450 #, no-c-format @@ -946,12 +936,12 @@ msgstr "Ende der Datei ist erreicht" #: backend/sane_strstatus.c:77 #, no-c-format msgid "Document feeder jammed" -msgstr "Automatischer Dokumenteinzug blockiert" +msgstr "Dokumenteneinzug blockiert" #: backend/sane_strstatus.c:80 #, no-c-format msgid "Document feeder out of documents" -msgstr "Automatischer Dokumenteinzug leer" +msgstr "Dokumenteneinzug leer" #: backend/sane_strstatus.c:83 #, no-c-format @@ -961,7 +951,7 @@ msgstr "Die Abdeckung des Scanners ist offen" #: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" -msgstr "\tCopy text \tFehler während der Datenübermittlung des Geräts" +msgstr "Fehler während der Datenübertragung" #: backend/sane_strstatus.c:89 #, no-c-format @@ -993,7 +983,7 @@ msgstr "Defaulteinstellungen" msgid "Set default values for enhancement controls." msgstr "Auf Voreinstellungen für Verbesserungen zurücksetzen." -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Kalibrierung" @@ -1006,8 +996,8 @@ msgstr "Vor dem nächsten Scan kalibrieren" #: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" -"If enabled, the device will be calibrated before the next scan. " -"Otherwise, calibration is performed only before the first start." +"If enabled, the device will be calibrated before the next scan. Otherwise, " +"calibration is performed only before the first start." msgstr "" "Wenn diese Option eingeschaltet ist, wird vor dem nächsten Scan eine " "Kalibrierung durchgeführt. Ansonsten findet die Kalibrierung nur vor dem " @@ -1021,14 +1011,13 @@ msgstr "Nur Shading-Korrektur durchführen" #: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" -"If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " -"or from the configuration file, are used." +"If enabled, only the shading correction is performed during calibration. The " +"default values for gain, offset and exposure time, either build-in or from " +"the configuration file, are used." msgstr "" -"Ist diese Option eingeschaltet, dann wird während der Kalibrierung nur " -"die Shading-Korrektur durchgeführt. Andere Kalibrierungswerte werden aus " -"der Konfigurationsdatei oder aus den Voreinstellungen des Backends " -"übernommen." +"Ist diese Option eingeschaltet, dann wird während der Kalibrierung nur die " +"Shading-Korrektur durchgeführt. Andere Kalibrierungswerte werden aus der " +"Konfigurationsdatei oder aus den Voreinstellungen des Backends übernommen." #: backend/artec_eplus48u.c:2967 #, no-c-format @@ -1052,11 +1041,9 @@ msgstr "Duplexscan" #: backend/avision.h:783 #, no-c-format -msgid "" -"Duplex scan provide a scan of the front and back side of the document" +msgid "Duplex scan provide a scan of the front and back side of the document" msgstr "" -"Duplex Scan ermöglicht das Scannen der Vorder- und Rückseite eines " -"Dokuments." +"Duplex Scan ermöglicht das Scannen der Vorder- und Rückseite eines Dokuments" #: backend/canon630u.c:159 #, no-c-format @@ -1086,8 +1073,7 @@ msgstr "Analoge Verstärkung" #: backend/canon630u.c:307 #, no-c-format msgid "Increase or decrease the analog gain of the CCD array" -msgstr "" -"Vergrößere oder verkleinere die analoge Verstärkung des CCD-Sensors" +msgstr "Vergrößere oder verkleinere die analoge Verstärkung des CCD-Sensors" #: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 #, no-c-format @@ -1097,7 +1083,7 @@ msgstr "Gammakorrektur" #: backend/canon630u.c:348 #, no-c-format msgid "Selects the gamma corrected transfer curve" -msgstr "Wählt die korrigierte Gammakurve aus." +msgstr "Wählt die korrigierte Gammakurve aus" #: backend/canon.c:149 backend/canon-sane.c:1318 #, no-c-format @@ -1109,7 +1095,7 @@ msgstr "Rohdaten" #: backend/canon-sane.c:1494 backend/canon-sane.c:1643 #, no-c-format msgid "Fine color" -msgstr "" +msgstr "Farbe" #: backend/canon.c:169 #, no-c-format @@ -1136,7 +1122,7 @@ msgstr "Negative" msgid "Slides" msgstr "Dias" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1157,489 +1143,486 @@ msgstr "1/2 Normalgeschwindigkeit" msgid "1/3 normal speed" msgstr "1/3 Normalgeschwindigkeit" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" -msgstr "Gerundete Parameter" +msgstr "gerundeter Parameter" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "unbekannt" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "Papierstau im automatischem Einzug" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" -msgstr "Abdeckung des automatischen Einzuges offen" +msgstr "Abdeckung vom automatischen Dokumenteneinzug offen" -#: backend/canon.c:394 +#: backend/canon.c:389 #, no-c-format msgid "lamp failure" msgstr "Lampenfehler" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "Fehler beim Positionieren des Scannerkopfes" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "Fehler bei der CPU-Überprüfung" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "Fehler bei der Arbeitsspeicher-Überprüfung" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "Fehler bei der ROM-Überprüfung" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "Hardwareüberprüfungsfehler" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "Lampe der Durchlichteinheit defekt" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "Positionsfehler der Durchlichteinheit beim Scankopf" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "Falsche Länge bei der Parameterliste" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "Ungültiger Befehlsausführungs-Code" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "Ungültiges Feld in CDB" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "LUN nicht unterstützt" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "Ungültiges Feld in der Parameterliste" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "Falsche Reihenfolge der Befehle" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "Zu viele Fenster angegeben" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" -msgstr "Kein Medium eingelegt" +msgstr "kein Medium eingelegt" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" -msgstr "ungültiger Teil der IDENTIFY Nachricht" +msgstr "Ungültige IDENTIFY Nachricht" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "Option nicht verbunden" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "Netzschalter Reset / Bus-Gerät Reset" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "Parameter von einem anderen Initator geändert" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "keine zusätzliche Sinnesinformation" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "Wiederauswahlfehler" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "SCSI-Paritätsfehler" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "vom Initiator bemerkte Fehlermeldung empfangen" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" -msgstr "ungültige Fehlernachricht" +msgstr "Ungültige Fehlernachricht" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "Zeitüberschreitung" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "Durchlichtaufsatzabschattungsfehler" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "Lampe nicht stabilisiert" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "Filmscanner" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "Flachbettscanner" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Filmtyp" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Auswahl des Film-Typs (z. B. Negativ oder Dia)" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, no-c-format msgid "Negative film type" msgstr "Negativ Filmtyp" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "Wählt den Typ des Negativfilms" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "Hardwareauflösung" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "Nur Hardwareauflösungen verwenden" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "Fokus" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "Automatischer Fokus" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" -msgstr "Aktiviere/Deaktiviere automatischen Fokus\t\t" +msgstr "Aktiviere/Deaktiviere automatischen Fokus" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" -msgstr "Automatischen Fokus nur einmal aktivieren" +msgstr "Automatischen Fokus nur einmal ausführen" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Auto-Fokus nur einmal zwischen den Auswürfen" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "Manuelle Einstellung des Fokus" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." -msgstr "" -"Setzt die Fokusposition des optischen System von Hand (Standard: 128)." +msgstr "Setzt die Fokusposition des optischen System von Hand (Standard: 128)." -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" -msgstr "Scan Seitenrand" +msgstr "Seitenränder" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "Erweiterte Farbeinstellungen" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Bild spiegeln" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, no-c-format msgid "Mirror the image horizontally" msgstr "Bild horizontal spiegeln" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "Automatische Belichtung" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Aktiviert/Deaktiviert die automatische Belichtung" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, no-c-format msgid "Calibration now" msgstr "Jetzt kalibrieren" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, no-c-format msgid "Execute calibration *now*" msgstr "Kalibrierung *jetzt* ausführen" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "Selbsttest" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Führt einen Selbsttest des Scanners durch" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, no-c-format msgid "Reset scanner" msgstr "Scanner zurücksetzen" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "Scanner zurücksetzen" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "Handhabung der Medien" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "Film nach jedem Scannen auswerfen" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Wirft den Film automatisch nach jedem Scannen aus dem Gerät aus" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "Film vor Beenden auswerfen" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format -msgid "" -"Automatically eject the film from the device before exiting the program" +msgid "Automatically eject the film from the device before exiting the program" msgstr "" "Den Film automatisch aus dem Gerät auswerfen bevor das Programm schließt" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "Film jetzt auswerfen" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "Film *jetzt* auswerfen" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" -msgstr "Automatischer Dokumenteinzug" +msgstr "Extras für Dokumenteneinzug" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "Nur Flachbett" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" -msgstr "Automatischen Dokumenteinzug abschalten und nur Flachbett benutzen" +msgstr "Automatischen Dokumenteneinzug abschalten und nur Flachbett benutzen" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format msgid "Transparency unit" msgstr "Durchlichtaufsatz" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Die Durchlichteinheit (FAU, film adapter unit) an/ausschalten" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, no-c-format msgid "Negative film" msgstr "Negativfilm" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, no-c-format msgid "Positive or negative film" msgstr "Positiv- oder Negativfilm" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "Dichte Einstellung" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "Dichte Einstellungsmodus setzen" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, no-c-format msgid "Transparency ratio" msgstr "Transparenzgrad" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, no-c-format msgid "Select film type" msgstr "Filmtyp auswählen" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "Wählt den Filmtyp aus" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flachbett" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Automatischer Dokumenteneinzug vorne" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Automatischer Dokumenteneinzug hinten" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" -msgstr "ADF-Duplex" +msgstr "Dokumenteneinzug mit Duplex" -#: backend/canon_dr.c:412 -#, fuzzy, no-c-format +#: backend/canon_dr.c:415 +#, no-c-format msgid "Card Front" -msgstr "Vorne" +msgstr "Karte Vorderseite" -#: backend/canon_dr.c:413 -#, fuzzy, no-c-format +#: backend/canon_dr.c:416 +#, no-c-format msgid "Card Back" -msgstr "Hinten" +msgstr "Karte Rückseite" -#: backend/canon_dr.c:414 -#, fuzzy, no-c-format +#: backend/canon_dr.c:417 +#, no-c-format msgid "Card Duplex" -msgstr "Duplex" +msgstr "Karte Duplex" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rot" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Grün" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blau" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, no-c-format msgid "Enhance Red" msgstr "Rot verstärken" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, no-c-format msgid "Enhance Green" msgstr "Grün verstärken" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Blue" msgstr "Blau verstärken" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1647,21 +1630,21 @@ msgstr "Blau verstärken" msgid "None" msgstr "Kein" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" -msgstr "" +msgstr "Schwellwert für Leerseitenerkennung" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" -msgstr "" +msgstr "Seiten mit geringer Pixeldichte überspringen" #: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format @@ -1669,23 +1652,23 @@ msgid "Simplex" msgstr "Einseitig" #: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Duplex" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Durchlichtaufsatz" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" -msgstr "Autom. Dokumenteneinzug" +msgstr "Automatischer Dokumenteneinzug" #: backend/epson.c:523 backend/epson2.c:134 #, no-c-format @@ -1792,10 +1775,10 @@ msgstr "Tintenstrahldrucker" #: backend/epson.c:636 #, no-c-format msgid "CRT monitors" -msgstr "CRT-Monitore" +msgstr "Monitore" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Standardeinstellung" @@ -1858,54 +1841,52 @@ msgstr "A4" msgid "Max" msgstr "Maximal" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 -#: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 -#: backend/umax.c:5054 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 backend/teco2.c:1882 +#: backend/test.c:306 backend/u12.c:473 backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Scanmodus" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Wählt den Halbton aus." -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Blindfarbe" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Wählt die Blindfarbe." -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Wählt die Helligkeit." -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Schärfe" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Farbkorrektur" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." -msgstr "Setzt die Farbkorrekturtabelle für das ausgewählte Ausgabegerät" +msgstr "Setzt die Farbkorrekturtabelle für das ausgewählte Ausgabegerät." #: backend/epson.c:3075 #, no-c-format @@ -1992,17 +1973,17 @@ msgstr "Erhöhe den Rotanteil basierend auf dem Blauwert" msgid "Controls blue level" msgstr "Legt den Blauwert fest" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." -msgstr "Das Bild spiegeln" +msgstr "Das Bild spiegeln." -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Schnelle Vorschau" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Automatische Auswahl des Scanbereichs" @@ -2020,7 +2001,7 @@ msgstr "Zeige eine kurze Auflösungsliste an" #: backend/epson.c:3267 #, no-c-format msgid "Zoom" -msgstr "Vergrösserung" +msgstr "Zoom" #: backend/epson.c:3269 #, no-c-format @@ -2032,47 +2013,47 @@ msgstr "Definiert den Vergrösserungsfaktor, der vom Scanner benutzt wird" msgid "Quick format" msgstr "Schnellformat" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Optionales Zubehör" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" -msgstr "auswerfen" +msgstr "Auswerfen" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" -msgstr "Wirft das Blatt aus dem automatischen Dokumenteinzug aus" +msgstr "Wirft das Blatt aus dem automatischen Dokumenteneinzug aus" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Automatischer Auswurf" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" -msgstr "Auswurf des Dokuments nach dem Scannen" +msgstr "Dokument nach dem Scannen auswerfen" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" -msgstr "ADF-Modus" +msgstr "Dokumenteneinzug Modus" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Wählt den ADF-Modus aus (einseitig/doppelseitig)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Schacht" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Wähle den Schacht zum Scannen aus" @@ -2080,12 +2061,11 @@ msgstr "Wähle den Schacht zum Scannen aus" #: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" -"Selects the gamma correction value from a list of pre-defined devices or " -"the user defined table, which can be downloaded to the scanner" +"Selects the gamma correction value from a list of pre-defined devices or the " +"user defined table, which can be downloaded to the scanner" msgstr "" -"Wählt die Gammakorrektur aus einer Liste von vordefinierten Geräten aus " -"oder eine benutzerdefinierte Tabelle, die in den Scanner geladen werden " -"kann" +"Wählt die Gammakorrektur aus einer Liste von vordefinierten Geräten aus oder " +"eine benutzerdefinierte Tabelle, die in den Scanner geladen werden kann" #: backend/epson.h:72 backend/epson2.h:71 #, no-c-format @@ -2094,14 +2074,13 @@ msgstr "Fokus Position" #: backend/epson.h:73 backend/epson2.h:72 #, no-c-format -msgid "" -"Sets the focus position to either the glass or 2.5mm above the glass" +msgid "Sets the focus position to either the glass or 2.5mm above the glass" msgstr "Setzt den Fokus entweder auf das Glas oder 2.5mm darüber" #: backend/epson.h:75 backend/epson2.h:74 #, no-c-format msgid "Wait for Button" -msgstr "Warte auf Knopfdruck" +msgstr "Warte auf Tastendruck" #: backend/epson.h:76 backend/epson2.h:75 #, no-c-format @@ -2109,10 +2088,10 @@ msgid "" "After sending the scan command, wait until the button on the scanner is " "pressed to actually start the scan process." msgstr "" -"Beginne mit dem Scannen erst, wenn nach dem Senden des Scankommandos der " -"Knopf am Scanner gedrückt wird." +"Beginne mit dem Scannen erst, wenn nach dem Senden des Scankommandos die " +"Taste am Scanner gedrückt wird." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "Infrarot" @@ -2120,7 +2099,7 @@ msgstr "Infrarot" #: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" -msgstr "" +msgstr "Durchlichtaufsatz 8x10" #: backend/epson2.c:136 #, no-c-format @@ -2142,1064 +2121,1097 @@ msgstr "Eingebautes CCT-Profil" msgid "User defined CCT profile" msgstr "Benutzerdefiniertes CCT-Profil" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "An" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Aus" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Halbton" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, no-c-format msgid "Diffusion" msgstr "Diffusion" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, no-c-format msgid "White" msgstr "Weiß" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, no-c-format msgid "Black" msgstr "Schwarz" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, no-c-format msgid "Continue" msgstr "Fortfahren" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "Stopp" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "10mm" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "15mm" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "20mm" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, no-c-format msgid "Horizontal bold" -msgstr "horizontal breit" +msgstr "Horizontal breit" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, no-c-format msgid "Horizontal narrow" -msgstr "horizontal schmal" +msgstr "Horizontal schmal" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertikal" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, no-c-format msgid "Vertical bold" -msgstr "vertikal breit" +msgstr "Vertikal breit" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "Oben nach unten" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "Unten nach oben" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, no-c-format msgid "Front" msgstr "Vorne" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "Hinten" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "Gamma-Exponent" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "Verändert die Intensität der mittleren Farbtöne" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" -msgstr "" +msgstr "RIF" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" -msgstr "" +msgstr "Reverse Image Format" -#: backend/fujitsu.c:3165 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3212 +#, no-c-format msgid "Halftone type" -msgstr "Halbton" +msgstr "Halbton Typ" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" -msgstr "" +msgstr "Halbton Typ einstellen" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" -msgstr "" +msgstr "Halbton Muster einstellen" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" -msgstr "" +msgstr "Kontur" -#: backend/fujitsu.c:3210 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3257 +#, no-c-format msgid "Perform outline extraction" -msgstr "Führt Kalibrierung durch" +msgstr "Kontur ermitteln" -#: backend/fujitsu.c:3221 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3268 +#, no-c-format msgid "Emphasis" -msgstr "Bildgewichtung" +msgstr "Gewichtung" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" -msgstr "" +msgstr "Negative Werte zum Weichzeichnen oder positive Werte zum Schärfen" -#: backend/fujitsu.c:3240 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3287 +#, no-c-format msgid "Separation" -msgstr "Sättigung" +msgstr "Trennung" -#: backend/fujitsu.c:3241 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3288 +#, no-c-format msgid "Enable automatic separation of image and text" -msgstr "" -"Schaltet die automatische Bestimmung des Schwellwerts für den Schwarz-" -"Weiß-Modus ein." +msgstr "Aktiviere die automatische Trennung von Bild und Text" -#: backend/fujitsu.c:3252 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3299 +#, no-c-format msgid "Mirroring" msgstr "Bild spiegeln" -#: backend/fujitsu.c:3253 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3300 +#, no-c-format msgid "Reflect output image horizontally" -msgstr "Bild horizontal spiegeln." +msgstr "Bild horizontal spiegeln" -#: backend/fujitsu.c:3270 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3317 +#, no-c-format msgid "White level follower" -msgstr "Weißwert für Blau" +msgstr "Weißwertfolger" -#: backend/fujitsu.c:3271 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3318 +#, no-c-format msgid "Control white level follower" -msgstr "Legt den Rotanteil fest" +msgstr "Einstellungen für Weißwertfolger" -#: backend/fujitsu.c:3289 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3336 +#, no-c-format msgid "BP filter" -msgstr "Farbfilter" +msgstr "Kugelschreiber Filter" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" -msgstr "" +msgstr "Verbessert die Qualität von mit Kugelschreiber geschriebenen Text" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" -msgstr "Glätten" +msgstr "Glättung" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" -msgstr "" +msgstr "Aktiviere Glättung zur Verbesserung von OCR" -#: backend/fujitsu.c:3323 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3370 +#, no-c-format msgid "Gamma curve" -msgstr "Gammawert" +msgstr "Gammakurve" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" +"Gammakurve, von hell zu dunkel, die oberen beiden funktionieren nicht " +"unbedingt" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Schwellwertkurve" -#: backend/fujitsu.c:3347 -#, fuzzy, no-c-format -msgid "" -"Threshold curve, from light to dark, but upper two may not be linear" +#: backend/fujitsu.c:3394 +#, no-c-format +msgid "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -"Dynamische Schwellwertkurve, von hell zu dunkel, nomalerweise 50-65" +"Dynamische Schwellwertkurve, von hell zu dunkel, die oberen beiden sind " +"nicht unbedingt linear" -#: backend/fujitsu.c:3369 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3416 +#, no-c-format msgid "Threshold white" -msgstr "Schwellwert" +msgstr "Schwellwert Weiß" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" -msgstr "" +msgstr "Pixel unterhalb vom Schwellwert in Weiß anstelle von Schwarz umwandeln" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#, no-c-format msgid "Noise removal" msgstr "Rauschunterdrückung" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" -msgstr "" +msgstr "Matrix 5x5" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" -msgstr "" +msgstr "5x5 Pixel Rauschunterdrückung" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" -msgstr "" +msgstr "Matrix 4x4" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" -msgstr "" +msgstr "4x4 Pixel Rauschunterdrückung" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" -msgstr "" +msgstr "Matrix 3x3" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" -msgstr "" +msgstr "3x3 Pixel Rauschunterdrückung" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" -msgstr "" +msgstr "Matrix 2x2" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" -msgstr "" +msgstr "2x2 Pixel Rauschunterdrückung" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" -msgstr "" +msgstr "Streuung" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" -msgstr "" +msgstr "Setze SDTC Varianz (Empfindlichkeit), 0 = 127" -#: backend/fujitsu.c:3508 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3555 +#, no-c-format msgid "Auto width detection" -msgstr "Keine Korrektur" +msgstr "Vorlagenbreite automatisch erkennen" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" +"Der Scanner erkennt automatisch die Seitengrößen. Verlangsamt die " +"Scanngeschwindigkeit." -#: backend/fujitsu.c:3526 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3573 +#, no-c-format msgid "Auto length detection" -msgstr "Keine Korrektur" +msgstr "Vorlagenlänge automatisch erkennen" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" +"Der Scanner erkennt die Seitenausrichtung. Kann einige Programme verwirren." -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" -msgstr "" +msgstr "Komprimierung" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" +"Aktiviere Datenkomprimierung. Kann das verwendete Scanprogramm abstürzen " +"lassen." -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" -msgstr "" +msgstr "Komprimierungsparameter" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" -"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " -"is same as 4" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) is " +"same as 4" msgstr "" +"JPEG-Komprimierung: 1 = kleinste Datei, 7 = größte Datei, 0 (Voreinstellung) " +"= 4" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" -msgstr "" +msgstr "Duplex Aktion" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" -msgstr "" +msgstr "Aktion bei Duplex Fehler" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" -msgstr "" +msgstr "Duplex Schrägeinlauf" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" -msgstr "" +msgstr "Aktiviere Duplexfehler bei Schrägeinlauf" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" -msgstr "" +msgstr "Duplex Papierdicke" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" -msgstr "" +msgstr "Aktiviere Duplexfehler bei zu großer Papierdicke" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" -msgstr "" +msgstr "Duplex Seitenlänge" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" -msgstr "" +msgstr "Aktiviere Duplexfehler bei falscher Seitenlänge" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" -msgstr "" +msgstr "Duplex unterschiedliche Seitenlänge" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" -msgstr "" +msgstr "Aktiviere Duplexfehler bei unterschiedlicher Seitenlänge" -#: backend/fujitsu.c:3708 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3755 +#, no-c-format msgid "DF recovery mode" -msgstr "Abdeckung des automatischen Einzuges offen" +msgstr "Duplex Fehlerbehebung" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" -msgstr "" +msgstr "Rücklauf bei Papierstau" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" -msgstr "" +msgstr "Dokumentenschutz" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" -msgstr "" +msgstr "Papierstau in der Duplexeinheit prognostizieren" -#: backend/fujitsu.c:3748 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3795 +#, no-c-format msgid "Advanced paper protection" -msgstr "Erweiterte Optionen" +msgstr "Erweiterter Dokumentenschutz" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" +"Papierstau in der Duplexeinheit mit verbesserten Sensoren prognostizieren" -#: backend/fujitsu.c:3768 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3815 +#, no-c-format msgid "Staple detection" -msgstr "Keine Korrektur" +msgstr "Heftklammer - Erkennung" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" -msgstr "" +msgstr "von Heftklammern verursachter Papierstau im Dokumenteneinzug erkennen" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" -msgstr "" +msgstr "Hintergrundfarbe" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format -msgid "" -"Set color of background for scans. May conflict with overscan option" -msgstr "" +msgid "Set color of background for scans. May conflict with overscan option" +msgstr "Hintergrundfarbe für Scans. Steht im Konflikt mit Overscan" -#: backend/fujitsu.c:3809 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3856 +#, no-c-format msgid "Dropout color" -msgstr "Blindfarbe" +msgstr "Dropout-Farbe" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" -"One-pass scanners use only one color during gray or binary scanning, " -"useful for colored paper or ink" +"One-pass scanners use only one color during gray or binary scanning, useful " +"for colored paper or ink" msgstr "" +"One-Pass-Scanner scannen nur eine Farbe bei Graustufen und Strichzeichnungs-" +"Scans, hilfreich bei farbigem Papier oder Tinte" -#: backend/fujitsu.c:3833 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3880 +#, no-c-format msgid "Buffer mode" -msgstr "Einzugsmodus" +msgstr "Scannerspeicher" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" -msgstr "" +msgstr "Aktiviere schnelle Duplex Scans in den Scannerspeicher" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" -msgstr "" +msgstr "Prepick" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" -msgstr "" +msgstr "Nächste Seite vom Dokumenteneinzug einziehen" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" -msgstr "" +msgstr "Overscan" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" -"Collect a few mm of background on top side of scan, before paper enters " -"ADF, and increase maximum scan area beyond paper size, to allow " -"collection on remaining sides. May conflict with bgcolor option" +"Collect a few mm of background on top side of scan, before paper enters ADF, " +"and increase maximum scan area beyond paper size, to allow collection on " +"remaining sides. May conflict with bgcolor option" msgstr "" +"Fügt einen Rand vor und nach dem Einzug eines Dokuments hinzu, damit kleine " +"Vorlagen auf einer Seite gesammelt werden können. Steht im Konflikt mit " +"Hintergrundfarbe." -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" -msgstr "" +msgstr "Sleep Timer" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format -msgid "" -"Time in minutes until the internal power supply switches to sleep mode" -msgstr "" +msgid "Time in minutes until the internal power supply switches to sleep mode" +msgstr "Zeit in Minuten nachdem der Scanner in den Ruhezustand wechselt" -#: backend/fujitsu.c:3911 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3958 +#, no-c-format msgid "Off timer" -msgstr "Lampenausschaltzeit" +msgstr "Ausschalt Timer" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" -"Time in minutes until the internal power supply switches the scanner " -"off. Will be rounded to nearest 15 minutes. Zero means never power off." +"Time in minutes until the internal power supply switches the scanner off. " +"Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" +"Zeit in Minuten, nachdem sich der Scanner selbständig ausschaltet. Wird auf " +"die nächsten 15 Minuten gerundet. 0 = deaktiviert." -#: backend/fujitsu.c:3930 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3977 +#, no-c-format msgid "Duplex offset" -msgstr "Offset blauer Kanal" +msgstr "Duplex Offset" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" -msgstr "" +msgstr "Vorder-/Rückseiten Offset" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Offset grüner Kanal" -#: backend/fujitsu.c:3949 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3996 +#, no-c-format msgid "Adjust green/red offset" -msgstr "Offset grüner Kanal" +msgstr "Rot/Grün Offset" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Offset blauer Kanal" -#: backend/fujitsu.c:3967 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4014 +#, no-c-format msgid "Adjust blue/red offset" -msgstr "Legt den Offset des blauen Kanals fest" +msgstr "Blau/Rot Offset" -#: backend/fujitsu.c:3980 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4027 +#, no-c-format msgid "Low Memory" msgstr "Nicht genügend Speicher" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" -"Limit driver memory usage for use in embedded systems. Causes some " -"duplex transfers to alternate sides on each call to sane_read. Value of " -"option 'side' can be used to determine correct image. This option should " -"only be used with custom front-end software." +"Limit driver memory usage for use in embedded systems. Causes some duplex " +"transfers to alternate sides on each call to sane_read. Value of option " +"'side' can be used to determine correct image. This option should only be " +"used with custom front-end software." msgstr "" +"Speicherbedarf für Treiber in Embedded Systems begrenzen. Kann bei jedem " +"Aufruf von sane_read die Seitenreihenfolge bei Duplexscans vertauschen. Mit " +"der Option 'Duplex Seite' kann die korrekte Seitenreihenfolge gewährleistet " +"werden. Diese Option funktioniert nur mit selbst erstellter Scansoftware." -#: backend/fujitsu.c:3996 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4043 +#, no-c-format msgid "Duplex side" -msgstr "Duplexscan" +msgstr "Duplex Seite" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" +"Wählt die Seite vom nächsten Duplexscan aus aus (0 = Vorderseite, 1 = " +"Rückseite), welche von sane_read zurückgegeben wird." -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" -msgstr "" +msgstr "Hardware Entzerrung und Zuschnitt" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." -msgstr "" +msgstr "Scanner rotiert und beschneidet den Scan digital." -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" -msgstr "" +msgstr "Software Entzerrung" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." -msgstr "" +msgstr "Treiber rotiert verzerrte Scans." -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" -msgstr "" +msgstr "Software Fehlerkorrektur" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." -msgstr "" +msgstr "Max. Durchmesser einzelner zu entfernender Fehlstellen im Scan." -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" -msgstr "" +msgstr "Software Zuschnitt" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." -msgstr "" +msgstr "Treiber entfernt Ränder von Scans." -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" -msgstr "" +msgstr "Einzugshalt bei Abbruch" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format -msgid "" -"Request driver to halt the paper feed instead of eject during a cancel." +msgid "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" +"Bei einem Abbruch verbleibt die Seite im Dukumenteneinzug und wird nicht " +"ausgeworfen." -#: backend/fujitsu.c:4095 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4142 +#, no-c-format msgid "Endorser Options" -msgstr "Erweiterte Optionen" +msgstr "Stempel Optionen" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" -msgstr "" +msgstr "Einstellungen für Stempel" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" -msgstr "" +msgstr "Stempel" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" -msgstr "" +msgstr "Aktiviere Stempel" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" -msgstr "" +msgstr "Stempelgröße" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." -msgstr "" +msgstr "Max. Wert für Stempelzähler." -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" -msgstr "" +msgstr "Stempelwert" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." -msgstr "" +msgstr "Anfangswert für Stempelzähler," -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" -msgstr "" +msgstr "Schrittweite für Stempelzähler" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." -msgstr "" +msgstr "Schrittweite für Stempelzähler." -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" -msgstr "" +msgstr "Stempel Y" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." -msgstr "" +msgstr "Stempelabstand zum oberen Seitenrand." -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" -msgstr "" +msgstr "Stempel Schriftart" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." -msgstr "" +msgstr "Stempel Schriftart." -#: backend/fujitsu.c:4253 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4300 +#, no-c-format msgid "Endorser direction" -msgstr "Rauschunterdrückung" +msgstr "Stempel Ausrichtung" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." -msgstr "" +msgstr "Stempel Druckrichtung" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" -msgstr "" +msgstr "Stempelseite" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" -msgstr "" +msgstr "Druckseite für Stempel; muss vom Scanner unterstützt werden" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" -msgstr "" +msgstr "Stempel Zeichenkette" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" +"Stempel als alphanumerische Zeichenkette. %05ud oder %08ud am Ende wird " +"durch den Stempelzähler ersetzt." -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" -msgstr "" +msgstr "Obere Kante" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" -msgstr "" +msgstr "Papier wurde teilweise in den Dokumenteneinzug eingezogen" -#: backend/fujitsu.c:4344 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4391 +#, no-c-format msgid "A3 paper" -msgstr "Vom Papier" +msgstr "A3 Vorlage" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" -msgstr "" +msgstr "A3 Vorlage erkannt" -#: backend/fujitsu.c:4356 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4403 +#, no-c-format msgid "B4 paper" -msgstr "Vom Papier" +msgstr "B4 Vorlage" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" -msgstr "" +msgstr "B4 Vorlage erkannt" -#: backend/fujitsu.c:4368 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4415 +#, no-c-format msgid "A4 paper" -msgstr "Vom Papier" +msgstr "A4 Vorlage" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" -msgstr "" +msgstr "A4 Vorlage erkannt" -#: backend/fujitsu.c:4380 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4427 +#, no-c-format msgid "B5 paper" -msgstr "Vom Papier" +msgstr "B5 Vorlage" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" -msgstr "" +msgstr "B5 Vorlage erkannt" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" -msgstr "" +msgstr "OMR oder DF" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" -msgstr "" +msgstr "OMR oder Double Feed erkannt" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" -msgstr "" +msgstr "Energiesparmodus" -#: backend/fujitsu.c:4429 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4476 +#, no-c-format msgid "Scanner in power saving mode" -msgstr "Die Abdeckung des Scanners ist offen" +msgstr "Der Scanner befindet im Energiesparmodus" -#: backend/fujitsu.c:4452 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4499 +#, no-c-format msgid "Manual feed" -msgstr "Manueller Pre-Focus" +msgstr "Manueller Einzug" -#: backend/fujitsu.c:4453 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4500 +#, no-c-format msgid "Manual feed selected" -msgstr "Manueller Pre-Focus" +msgstr "Manueller Einzug ausgewählt" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" -msgstr "" +msgstr "Funktion" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" -msgstr "" +msgstr "Funktionszeichen auf dem Bildschirm" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" -msgstr "" +msgstr "wenig Tinte" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" -msgstr "" +msgstr "Wenig Imprinter Tinte" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" -msgstr "" +msgstr "Double Feed" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" -msgstr "" +msgstr "Double Feed erkannt" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" -msgstr "" +msgstr "Fehlercode" -#: backend/fujitsu.c:4513 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4560 +#, no-c-format msgid "Hardware error code" -msgstr "Hardwareüberprüfungsfehler" +msgstr "Hardwarefehler" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" -msgstr "" +msgstr "Schräglaufwinkel" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" -msgstr "" +msgstr "Schwarzer Hintergrund erforderlich" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" -msgstr "" +msgstr "verbleibende Tinte" -#: backend/fujitsu.c:4537 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4584 +#, no-c-format msgid "Imprinter ink level" -msgstr "Weißwert" +msgstr "Imprinter Tintenstand" -#: backend/fujitsu.c:4548 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4595 +#, no-c-format msgid "Density" -msgstr "Dichte Einstellung" +msgstr "Dichte" -#: backend/fujitsu.c:4549 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4596 +#, no-c-format msgid "Density dial" msgstr "Dichte Einstellung" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#, no-c-format msgid "Duplex switch" msgstr "Duplexscan" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" -msgstr "" +msgstr "Treiber entfernt digital Ränder vom Scan" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" -msgstr "" +msgstr "Treiber verwirft Scans mit geringer Schwarzfärbung" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" -msgstr "" +msgstr "Software Dokumentendrehung" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" -msgstr "" +msgstr "Treiber erkennt und dreht um 90° verdrehte Vorlagen" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" -msgstr "" -"Dynamische Schwellwertkurve, von hell zu dunkel, nomalerweise 50-65" +msgstr "Dynamische Schwellwertkurve, von hell zu dunkel, nomalerweise 50-65" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" -msgstr "dynamische Strichzeichnung abschalten" +msgstr "Deaktiviere dynamische Strichzeichnung" -#: backend/genesys.c:5844 -#, fuzzy, no-c-format +#: backend/genesys.cc:5517 +#, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -"Abschalten um einen Software angepassten Algorithmus zur Erstellung von " -"Strichzeichnungen zu verwenden anstatt die Hardwarefunktion zu nutzen" +"Deaktiviere Software angepassten Algorithmus zur Erstellung von " +"Strichzeichnungen anstelle von Hardware-Strichzeichnungen." -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "Interpolation abschalten" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" -"When using high resolutions where the horizontal resolution is smaller " -"than the vertical resolution this disables horizontal interpolation." +"When using high resolutions where the horizontal resolution is smaller than " +"the vertical resolution this disables horizontal interpolation." msgstr "" -"Wenn Sie hohe Auflösungen verwenden, bei denen die horizontale Auflösung " -"kleiner ist als die vertikale, schaltet dies die horizontale " -"Interpolation aus" +"Deaktiviere horizontale Interpolation bei hoher Auflösung, bei denen die " +"horizontale Auflösung kleiner ist als die vertikale." -#: backend/genesys.c:5872 -#, fuzzy, no-c-format +#: backend/genesys.cc:5545 +#, no-c-format msgid "Color filter" msgstr "Farbfilter" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -"Wenn Graustufen oder Strichzeichnung verwendet wird, wählt diese Option " -"die Farbe" +"Diese Option wählt die verwendete Farbe für Strichzeichnungs- und Graustufen-" +"Scans." -#: backend/genesys.c:5901 -#, fuzzy, no-c-format +#: backend/genesys.cc:5574 +#, no-c-format msgid "Calibration file" -msgstr "Kalibrierung" +msgstr "Kalibrierungsdatei" -#: backend/genesys.c:5902 -#, fuzzy, no-c-format +#: backend/genesys.cc:5575 +#, no-c-format msgid "Specify the calibration file to use" -msgstr "Kalibriermodus definieren" +msgstr "Kalibrierungsdatei auswählen" -#: backend/genesys.c:5919 -#, fuzzy, no-c-format +#: backend/genesys.cc:5592 +#, no-c-format msgid "Calibration cache expiration time" -msgstr "Kalibrierungsdatenspeicher" +msgstr "Gültigkeitszeitraum für Kalibrierungszwischenspeicher" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" -"Time (in minutes) before a cached calibration expires. A value of 0 " -"means cache is not used. A negative value means cache never expires." +"Time (in minutes) before a cached calibration expires. A value of 0 means " +"cache is not used. A negative value means cache never expires." msgstr "" +"Gültigkeitszeitraum für Kalibrierungszwischenspeicher in Minuten. 0 = " +"Zwischenspeicher deaktiviert. Ein negativer Wert lässt die Gültigkeit nie " +"ablaufen." -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "Lampenausschaltzeit" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" -"The lamp will be turned off after the given time (in minutes). A value " -"of 0 means, that the lamp won't be turned off." +"The lamp will be turned off after the given time (in minutes). A value of 0 " +"means, that the lamp won't be turned off." msgstr "" "Die Lampe wird nach der angegebenen Zeit (in Minuten) ausgeschaltet. Ein " "Wert von 0 bedeutet, dass die Lampe nich ausgeschaltet wird." -#: backend/genesys.c:5943 -#, fuzzy, no-c-format +#: backend/genesys.cc:5616 +#, no-c-format msgid "Lamp off during scan" -msgstr "Lampe aus während Schwarzkalibrierung" +msgstr "während Scan Lampe ausschalten" -#: backend/genesys.c:5944 -#, fuzzy, no-c-format +#: backend/genesys.cc:5617 +#, no-c-format msgid "The lamp will be turned off during scan. " -msgstr "Anzahl der Minuten, bis die Lampe nach dem Scan ausgeschaltet wird" +msgstr "Die Lampe wird beim Scannen abgeschaltet. " -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, no-c-format msgid "File button" -msgstr "Datei-Knopf" +msgstr "Datei Taste" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" -msgstr "OCR-Knopf" +msgstr "OCR Taste" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, no-c-format msgid "Power button" -msgstr "Einschaltknopf" +msgstr "Einschalt Taste" -#: backend/genesys.c:6053 backend/genesys.c:6054 -#, fuzzy, no-c-format +#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#, no-c-format msgid "Extra button" -msgstr "E-Mail-Knopf" +msgstr "Zusatztaste" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, no-c-format msgid "Need calibration" -msgstr "benötigt Kalibirierung" +msgstr "Benötigt Kalibirierung" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "" "Der Scanner benötigt eine Kalibrierung für die momentanen Einstellungen" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" -msgstr "Knöpfe" +msgstr "Tasten" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrierung" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, no-c-format msgid "Start calibration using special sheet" msgstr "Starte den Kalibrierungsprozess mit einem Spezialblatt" -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, no-c-format msgid "Clear calibration" msgstr "Kalibrierung zurücksetzen" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, no-c-format msgid "Clear calibration cache" -msgstr "Löscht den Kalibrierungsspeicher" +msgstr "Kalibrierungszwischenspeicher löschen" + +#: backend/genesys.cc:5769 +#, no-c-format +msgid "Force calibration" +msgstr "Kalibrierung erzwingen" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "Kalibrierung trotz Daten im Zwischenspeicher erzwingen" #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 @@ -3207,111 +3219,109 @@ msgstr "Löscht den Kalibrierungsspeicher" msgid "Transparency Adapter" msgstr "Durchlichteinheit" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "Graustufen-Farbe" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Legt fest, welche SCanfarbe im Garustufen-Modus verwendet wird " "(Standardwert: Grün)." -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 -#: backend/mustek_usb2.c:410 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Optionen zur Fehlersuche" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatisches Aufwärmen" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" -"Warm-up until the lamp's brightness is constant instead of insisting on " -"60 seconds warm-up time." +"Warm-up until the lamp's brightness is constant instead of insisting on 60 " +"seconds warm-up time." msgstr "" -"Warte solange, bis die Helligkeit der Lampe konstant ist anstatt einfach " -"60 Sekunden zu warten." +"Warte solange, bis die Helligkeit der Lampe konstant ist anstatt einfach 60 " +"Sekunden zu warten." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Kompletter Scan" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " "Don't select the full height. For testing only." msgstr "" "Scanne den gesamten möglichen Scanbereich inklusive des " -"Kalibrierungsstreifens. Vorsicht, keine zu große Länge auswählen. Nur " -"für Testzwecke." +"Kalibrierungsstreifens. Vorsicht, keine zu große Länge auswählen. Nur für " +"Testzwecke." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Grobkalibrierung" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " -"disabled, options for setting the analog frontend parameters manually " -"are provided. This option is enabled by default. For testing only." +"disabled, options for setting the analog frontend parameters manually are " +"provided. This option is enabled by default. For testing only." msgstr "" "Stelle Verstärkung und Versatz automatisch ein. Wenn dies Option " "ausgeschaltet ist, können die Parameter des AFE (\"Analog Frontend\") " "manuell eingestellt werden. Diese Option is standardmäßig an. Nur für " "Testzwecke." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Grobkalibrierung nur für ersten Scan" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" -"Coarse calibration is only done for the first scan. Works with most " -"scanners and can save scanning time. If the image brightness is " -"different with each scan, disable this option. For testing only." +"Coarse calibration is only done for the first scan. Works with most scanners " +"and can save scanning time. If the image brightness is different with each " +"scan, disable this option. For testing only." msgstr "" "Die Grobkalibrierung wird nur für den ersten Scan durchgeführt. Das " -"funktioniert mit den meisten Scannern und kann einiges an Scanzeit " -"sparen. Wenn die Helligkeit der Bilder von Scan zu Scan schwankt, sollte " -"diese Option ausgeschaltet werden. Nur für Testzwecke." +"funktioniert mit den meisten Scannern und kann einiges an Scanzeit sparen. " +"Wenn die Helligkeit der Bilder von Scan zu Scan schwankt, sollte diese " +"Option ausgeschaltet werden. Nur für Testzwecke." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "Backtrack-Zeilen" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" -"Number of lines the scan slider moves back when backtracking occurs. " -"That happens when the scanner scans faster than the computer can receive " -"the data. Low values cause faster scans but increase the risk of " -"omitting lines." +"Number of lines the scan slider moves back when backtracking occurs. That " +"happens when the scanner scans faster than the computer can receive the " +"data. Low values cause faster scans but increase the risk of omitting lines." msgstr "" "Anzahl der Zeilen, die der Scanschlitten zurückfährt, wenn Backtracking " -"auftritt. Das passiert, wenn der Scanner schneller scant, als der " -"Computer die Daten aufnehmen kann. Niedrigere Werte sorgen für " -"schnellere Scans, erhöhen jedoch das Risiko, Zeilen zu überspringen." +"auftritt. Das passiert, wenn der Scanner schneller scant, als der Computer " +"die Daten aufnehmen kann. Niedrigere Werte sorgen für schnellere Scans, " +"erhöhen jedoch das Risiko, Zeilen zu überspringen." -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gammawert" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Legt den Gammawert für alle Kanäle fest." @@ -3327,7 +3337,7 @@ msgid "Scan Mode Group" msgstr "Scanmodus" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Dia" @@ -3338,10 +3348,9 @@ msgid "Scanner model" msgstr "Scannermodell" #: backend/hp3900_sane.c:1408 -#, fuzzy, no-c-format +#, no-c-format msgid "Allows one to test device behaviour with other supported models" -msgstr "" -"Erlaubt Geräteverhalten mit anderen unterstützten Modellen zu testen" +msgstr "Erlaubt Geräteverhalten mit anderen unterstützten Modellen zu testen" #: backend/hp3900_sane.c:1422 #, no-c-format @@ -3381,14 +3390,14 @@ msgstr "Der Aufwärmprozess wird überspungen" #: backend/hp3900_sane.c:1482 #, no-c-format msgid "Force real depth" -msgstr "erzwinge echte Tiefe" +msgstr "Erzwinge echte Tiefe" #: backend/hp3900_sane.c:1485 #, no-c-format msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." +"If gamma is enabled, scans are always made in 16 bits depth to improve image " +"quality and then converted to the selected depth. This option avoids depth " +"emulation." msgstr "" "Falls Gamma verwendet wird, werden Scans mit einer Farbtiefe von 16 Bit " "ausgeführt und danach in die gewählte Farbtiefe umgewandelt, um die " @@ -3403,12 +3412,11 @@ msgstr "Graustufen emulieren" #, no-c-format msgid "" "If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." +"grayscale by software. This may improve image quality in some circumstances." msgstr "" -"Falls verwendet, wird das Bild im Farbmodus gescannt und dann per " -"Software in Graustufen umgewandelt. Unter manchen Umständen verbessert " -"dies die Bildqualität." +"Falls verwendet, wird das Bild im Farbmodus gescannt und dann per Software " +"in Graustufen umgewandelt. Unter manchen Umständen verbessert dies die " +"Bildqualität." #: backend/hp3900_sane.c:1516 #, no-c-format @@ -3418,8 +3426,8 @@ msgstr "Debugging Bilder abspeichern" #: backend/hp3900_sane.c:1519 #, no-c-format msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." +"If enabled, some images involved in scanner processing are saved to analyze " +"them." msgstr "" "Wenn aktiviert werden einige Bilder im Scanprozess gespeichert um sie zu " "analysieren." @@ -3487,7 +3495,7 @@ msgstr "Aktualisiert alle Informationnen über das Gerät" #: backend/hp3900_sane.c:1635 #, no-c-format msgid "This option reflects a front panel scanner button" -msgstr "Diese Option spiegelt den vorderen Scannerknopf wieder" +msgstr "Diese Option spiegelt die vorderen Scannertasten wieder" #: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format @@ -3507,7 +3515,7 @@ msgstr "X-Abstand" #: backend/hp5400_sane.c:359 #, no-c-format msgid "Hardware internal X position of the scanning area." -msgstr "hardwareinterne X-Position des Scanbereichs" +msgstr "Hardwareinterne X-Position des Scanbereichs." #: backend/hp5400_sane.c:368 #, no-c-format @@ -3517,7 +3525,7 @@ msgstr "Y-Abstand" #: backend/hp5400_sane.c:369 #, no-c-format msgid "Hardware internal Y position of the scanning area." -msgstr "hardwareinterne Y-Position des Scanbereichs" +msgstr "Hardwareinterne Y-Position des Scanbereichs." #: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format @@ -3527,167 +3535,246 @@ msgstr "Lampenstatus" #: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format msgid "Switches the lamp on or off." -msgstr "Schaltet die Lampe an oder aus" +msgstr "Schaltet die Lampe an oder aus." #: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." msgstr "Kalibriert Schwarz- und Weisswert." -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" -msgstr "ADF" +msgstr "Automatischer Dokumenteneinzug" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, no-c-format msgid "TMA Slides" msgstr "TMA-Dias" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, no-c-format msgid "TMA Negatives" msgstr "TMA-Negative" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, no-c-format msgid "Color (48 bits)" msgstr "Farbe (48 Bit)" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, no-c-format msgid "Extend lamp timeout" msgstr "Lampenausschaltzeit verlängern" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "Verländert die Lampenausschaltzeit (von 15 Minuten bis 1 Stunde)" +msgstr "Verlängert die Lampenausschaltzeit (von 15 Minuten bis 1 Stunde)" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" -msgstr "Warten auf Knopfdruck" +msgstr "Warte auf Tastendruck" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, no-c-format msgid "Waits for button before scanning" -msgstr "Scannen beginnt erst mit Knopfdruck" +msgstr "Scannen beginnt erst mit Tastendruck" + +#: backend/hp5590.c:118 +#, no-c-format +msgid "Last button pressed" +msgstr "Letzter Tastendruck" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "Lese zuletzt betätigte Taste (read only)" + +#: backend/hp5590.c:121 +#, no-c-format +msgid "LCD counter" +msgstr "Scanzähler" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "Lese Scanzähler (read only)" + +#: backend/hp5590.c:124 +#, no-c-format +msgid "Color LED indicator" +msgstr "Farbindikator" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "Lese Wert vom Farbindikator (read only)" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "Seite im Dokumenteneinzug verfügbar" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "Lese Status der Seitenerkennung im Dokumenteneinzug (read only)" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "Ignoriere Seiten Ende Pixel" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" +"Ignoriere Seiten Ende Pixel und überschreibe diese mit der umgebenden " +"Hintergrundfarbe" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "Füllmodus für unteren Rand bei kurzen Vorlagen im Dokumenteneinzug" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" +"raw = Scandaten, letzte = wiederhole letzte Scanzeile, Raster = s/w Raster, " +"Weiß, Schwarz, Farbe = RGB oder Grau Wert" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "RGB oder Grau Farbwert für Füllmodus 'Farbe'" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" +"Farbwerte für Füllmodus 'Farbe'. RGB = r*65536+256*g+b oder Grauwert " +"(Vorgabe = Violet oder Grau)" -#: backend/hp-option.c:2984 +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "Erweiterte Optionen" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Grob" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Fein" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Benutzerdefiniert" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 backend/hp-option.c:3161 #, no-c-format msgid "Auto" -msgstr "Auto" +msgstr "Automatisch" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "Unverändert" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "NTSC Grau" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "XPA Grau" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Langsam" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 backend/kvs40xx_opt.c:230 +#: backend/matsushita.c:244 backend/mustek.c:149 backend/plustek.c:234 +#: backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Schnell" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Besonders schnell" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2 Pixel" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4 Pixel" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8 Pixel" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Foto" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Film-Streifen" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "XPA" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Bedingt" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "Experiment" @@ -3695,7 +3782,7 @@ msgstr "Experiment" #: backend/hp-option.h:60 #, no-c-format msgid "Sharpening" -msgstr "Schärfe" +msgstr "Schärfen" #: backend/hp-option.h:61 #, no-c-format @@ -3711,8 +3798,8 @@ msgstr "Automatischer Schwellwert" #, no-c-format msgid "Enable automatic determination of threshold for line-art scans." msgstr "" -"Schaltet die automatische Bestimmung des Schwellwerts für den Schwarz-" -"Weiß-Modus ein." +"Schaltet die automatische Bestimmung des Schwellwerts für den Schwarz-Weiß-" +"Modus ein." #: backend/hp-option.h:74 #, no-c-format @@ -3772,15 +3859,14 @@ msgstr "Belichtungszeit" #: backend/hp-option.h:111 #, no-c-format msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." +"A longer exposure time lets the scanner collect more light. Suggested use is " +"175% for prints, 150% for normal slides and \"Negative\" for negative film. " +"For dark (underexposed) images you can increase this value." msgstr "" -"Bei einer längeren Belichtungszeit kann der Scanner mehr Licht " -"auffangen. Empfohlene Werte: 175% für Fotos, 150% für normale Dias und " -"\"Negativ\" für Negativ-Filme. Für dunkle (unterentwickelte) Bilder kann " -"dieser Wert vergrößert werden." +"Bei einer längeren Belichtungszeit kann der Scanner mehr Licht auffangen. " +"Empfohlene Werte: 175% für Fotos, 150% für normale Dias und \"Negativ\" für " +"Negativ-Filme. Für dunkle (unterentwickelte) Bilder kann dieser Wert " +"vergrößert werden." #: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format @@ -3851,12 +3937,12 @@ msgstr "" #: backend/hp-option.h:164 #, no-c-format msgid "Front button wait" -msgstr "Warten auf vorderen Knopf" +msgstr "Warten auf vordere Taste" #: backend/hp-option.h:165 #, no-c-format msgid "Wait to scan for front-panel button push." -msgstr "Warte mit dem Scan aud das Drücken des vorderen Knopfes." +msgstr "Warte mit dem Scan auf das Drücken der vorderen Taste." #: backend/hp-option.h:172 #, no-c-format @@ -3868,8 +3954,8 @@ msgstr "Lampe ausschalten" msgid "Shut off scanner lamp." msgstr "Schalte Scannerlampe aus." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Papiergröße" @@ -3880,54 +3966,49 @@ msgstr "Papiergröße" msgid "Automatic separation" msgstr "Automatische Trennung" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 -#, fuzzy, no-c-format +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 +#, no-c-format msgid "Landscape" -msgstr "A5 quer" +msgstr "Querformat" #: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" -msgstr "" +msgstr "Invertiertes Bild" #: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" -msgstr "" +msgstr "Endlospapier Mode" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 -#, fuzzy, no-c-format +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 +#, no-c-format msgid "Length control mode" -msgstr "Dichte Einstellungsmodus setzen" +msgstr "Längenkontrolle" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 -#, fuzzy, no-c-format +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 +#, no-c-format msgid "Manual feed mode" -msgstr "Manueller Pre-Focus" +msgstr "Manuelle Zufuhr" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 -#, fuzzy, no-c-format +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 +#, no-c-format msgid "Manual feed timeout" -msgstr "Manueller Pre-Focus" +msgstr "Timeout für manuelle Zufuhr" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" -msgstr "" +msgstr "Duplex Detektor" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" -msgstr "Schalte Duplex- (zweiseitiges) Scannen ein" +msgstr "Duplex- (zweiseitiges) Scannen" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Tatsächliche Größe des Papiers im ADF" @@ -3935,20 +4016,20 @@ msgstr "Tatsächliche Größe des Papiers im ADF" #: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" -msgstr "" +msgstr "Schwarz/Weiß" #: backend/kvs1025_opt.c:40 -#, fuzzy, no-c-format +#, no-c-format msgid "halftone" msgstr "Halbton" #: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" -msgstr "" +msgstr "Grau" #: backend/kvs1025_opt.c:42 -#, fuzzy, no-c-format +#, no-c-format msgid "color" msgstr "Farbe" @@ -3956,386 +4037,379 @@ msgstr "Farbe" #: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" -msgstr "" +msgstr "Automatischer Dokumenteneinzug" -#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 -#: backend/kvs40xx_opt.c:109 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" -msgstr "" +msgstr "Flachbett" -#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 -#: backend/kvs40xx_opt.c:101 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" -msgstr "" +msgstr "einzeln" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 #: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 -#, fuzzy, no-c-format +#, no-c-format msgid "continuous" -msgstr "Fortfahren" +msgstr "endlos" -#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 -#: backend/kvs40xx_opt.c:115 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 backend/kvs40xx_opt.c:115 +#, no-c-format msgid "off" -msgstr "Aus" +msgstr "aus" -#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 -#: backend/kvs40xx_opt.c:116 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" -msgstr "" +msgstr "Warte auf Dokument" -#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 -#: backend/kvs40xx_opt.c:118 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" -msgstr "" +msgstr "Warte auf Tastendruck" -#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 -#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 backend/kvs40xx_opt.c:124 +#: backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" -msgstr "" +msgstr "Benutzerdefiniert" -#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 -#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 backend/kvs40xx_opt.c:125 +#: backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" -msgstr "" +msgstr "Visitenkarte" -#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 -#: backend/kvs40xx_opt.c:143 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" -msgstr "" +msgstr "Prüfe" -#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 -#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 backend/kvs40xx_opt.c:129 +#: backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" -msgstr "" +msgstr "A5" -#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 -#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 backend/kvs40xx_opt.c:130 +#: backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" -msgstr "" +msgstr "A6" -#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 -#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 backend/kvs40xx_opt.c:134 +#: backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" -msgstr "" +msgstr "B5" -#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 -#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 backend/kvs40xx_opt.c:135 +#: backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" -msgstr "" +msgstr "B6" -#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 -#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 backend/kvs40xx_opt.c:136 +#: backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" -msgstr "" +msgstr "Legal" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 +#, no-c-format msgid "bayer_64" -msgstr "Bayer" +msgstr "Bayer 64" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 +#, no-c-format msgid "bayer_16" -msgstr "Bayer" +msgstr "Bayer 16" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 +#, no-c-format msgid "halftone_32" -msgstr "Halbton" +msgstr "Halbton 32" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 +#, no-c-format msgid "halftone_64" -msgstr "Halbton" +msgstr "Halbton 64" -#: backend/kvs1025_opt.c:153 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:152 +#, no-c-format msgid "diffusion" msgstr "Diffusion" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 -#, fuzzy, no-c-format +#, no-c-format msgid "normal" -msgstr "Normal" +msgstr "normal" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 +#, no-c-format msgid "light" -msgstr "Licht" +msgstr "hell" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" -msgstr "" +msgstr "Dunkel" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 +#, no-c-format msgid "From scanner" -msgstr "Filmscanner" +msgstr "Vom Scanner" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 -#: backend/matsushita.c:177 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Vom Papier" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 +#, no-c-format msgid "default" msgstr "Standardeinstellung" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 -#, fuzzy, no-c-format +#, no-c-format msgid "smooth" msgstr "Glatt" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" -msgstr "" +msgstr "nichts" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 -#, fuzzy, no-c-format +#, no-c-format msgid "low" -msgstr "Langsam" +msgstr "Gering" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 -#, fuzzy, no-c-format +#, no-c-format msgid "medium" msgstr "Mittel" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" -msgstr "" +msgstr "hoch" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" -msgstr "" +msgstr "Monitor" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" -msgstr "" +msgstr "Lineal" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 -#, fuzzy, no-c-format +#, no-c-format msgid "red" msgstr "Rot" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 -#, fuzzy, no-c-format +#, no-c-format msgid "green" msgstr "Grün" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" -msgstr "" +msgstr "Blau" -#: backend/kvs1025_opt.c:562 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:561 +#, no-c-format msgid "Sets the scan source" msgstr "Scanquelle" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Einzugsmodus" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Legt den Einzugsmodus fest" -#: backend/kvs1025_opt.c:584 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:583 +#, no-c-format msgid "Enable/Disable long paper mode" -msgstr "Aktiviere/Deaktiviere automatischen Fokus\t\t" +msgstr "Aktiviere/Deaktiviere langes Papierformat" -#: backend/kvs1025_opt.c:593 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:592 +#, no-c-format msgid "Enable/Disable length control mode" -msgstr "Dichte Einstellungsmodus setzen" +msgstr "Aktiviere/Deaktiviere Längenkontrolle" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 -#, fuzzy, no-c-format +#, no-c-format msgid "Sets the manual feed mode" -msgstr "Legt den Einzugsmodus fest" +msgstr "manueller Einzug" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 -#, fuzzy, no-c-format +#, no-c-format msgid "Sets the manual feed timeout in seconds" -msgstr "Legt den Einzugsmodus fest" +msgstr "Timeout für manuellen Einzug in Sekunden" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" -msgstr "" +msgstr "Aktiviere/Deaktiviere Zweiseitenerkennung" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" -msgstr "" +msgstr "auf Seite einpassen" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" -msgstr "" +msgstr "auf Seite einpassen" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" -msgstr "" +msgstr "Scanner verkleinert Vorlage auf Seitengröße" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" -msgstr "" +msgstr "Papierausrichtung: true = Querformat, false = Hochformat" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatischer Schwellwert" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" -"Automatically sets brightness, contrast, white level, gamma, noise " -"reduction and image emphasis" +"Automatically sets brightness, contrast, white level, gamma, noise reduction " +"and image emphasis" msgstr "" -"Legt automatisch Helligkeit, Kontrast, Weißwert, Gamma, " -"Rauschunterdrückung und Bildgewichtung fest" +"Legt automatisch Helligkeit, Kontrast, Weißwert, Gamma, Rauschunterdrückung " +"und Bildgewichtung fest" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Rauschunterdrückung" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Reduziert das Rauschen einzelner Punkte" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Bildgewichtung" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" -msgstr "Wählt die Bildgewichtung." +msgstr "Wählt die Bildgewichtung" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 -#, fuzzy, no-c-format +#, no-c-format msgid "Lamp color" -msgstr "Lampe an" +msgstr "Lampenfarbe" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 -#, fuzzy, no-c-format +#, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Schaltet die Lampe an oder aus" -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" -msgstr "" +msgstr "Invertiere Bild in 1-Bit S/W oder Halbton" -#: backend/kvs1025_opt.c:840 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:839 +#, no-c-format msgid "Mirror image (left/right flip)" -msgstr "Bild vertikal spiegeln." +msgstr "Bild vertikal spiegeln" -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" -msgstr "" +msgstr "JPEG Komprimierung" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" -msgstr "" +msgstr "JPEG Komprimierung: 0 = keine Komprimierung" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" -msgstr "" +msgstr "Rotiere Bild im Uhrzeigersinn" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" -msgstr "" +msgstr "Treiber rotiert Seiten um einen vorgegebenen Wert" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" -msgstr "" +msgstr "Treiber dreht verzerrte Seiten" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" -msgstr "" +msgstr "Max. Durchmesser für einzelne zu korrigierender Fehlstellen" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" -msgstr "" +msgstr "Automatischer Zuschnitt per Software" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" -msgstr "" +msgstr "Treiber entfernt Seitenränder" #: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format @@ -4343,10 +4417,11 @@ msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" +"Bei der Längenkontrolle verwendet der Scanner die kürzere Länge, entweder " +"von der Vorlage oder der vorgegebenen Seitenlänge." #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 -#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 -#: backend/microtek2.h:640 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Gammakorrektur" @@ -4354,179 +4429,181 @@ msgstr "Gammakorrektur" #: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" -msgstr "" +msgstr "Warte auf eingelegtes Dokument" #: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" -msgstr "" +msgstr "A3" #: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" -msgstr "" +msgstr "Double Letter 11x17 Zoll" #: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" -msgstr "" +msgstr "B4" #: backend/kvs40xx_opt.c:231 -#, fuzzy, no-c-format +#, no-c-format msgid "High sensivity" -msgstr "Drucken mit hoher Auflösung" +msgstr "Hohe Auflösung" #: backend/kvs40xx_opt.c:232 -#, fuzzy, no-c-format +#, no-c-format msgid "Low sensivity" -msgstr "Drucken mit geringer Auflösung" +msgstr "Geringe Auflösung" #: backend/kvs40xx_opt.c:243 -#, fuzzy, no-c-format +#, no-c-format msgid "err_diffusion" -msgstr "Diffusion" +msgstr "Verteilung" #: backend/kvs40xx_opt.c:249 -#, fuzzy, no-c-format +#, no-c-format msgid "No detection" -msgstr "Keine Korrektur" +msgstr "Keine Erkennung" #: backend/kvs40xx_opt.c:250 -#, fuzzy, no-c-format +#, no-c-format msgid "Normal mode" msgstr "Normal" #: backend/kvs40xx_opt.c:251 -#, fuzzy, no-c-format +#, no-c-format msgid "Enhanced mode" -msgstr "Farbverbesserung" +msgstr "Erweiterter Mode" #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" -"Long Paper Mode is a mode that the scanner reads the image after it " -"divides long paper by the length which is set in Document Size option." +"Long Paper Mode is a mode that the scanner reads the image after it divides " +"long paper by the length which is set in Document Size option." msgstr "" +"Im Endlospapier Mode wird die Vorlage auf mehrere voreingestellte " +"Dokumentengrößen aufgeteilt." #: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" -msgstr "" +msgstr "Empfindlichkeit Zweiseitenerkennung" #: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" -msgstr "" +msgstr "Empfindlichkeit Zweiseitenerkennung einstellen" #: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" -msgstr "" +msgstr "Nach Zweiseitenerkennung nicht anhalten" #: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" -msgstr "" +msgstr "Ignoriere linken Sensor" #: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" -msgstr "" +msgstr "Ignoriere mittleren Sensor" #: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" -msgstr "" +msgstr "Ignoriere mittleren Sensor" #: backend/kvs40xx_opt.c:642 -#, fuzzy, no-c-format +#, no-c-format msgid "Automatic threshold mode" -msgstr "Automatischer Schwellwert" +msgstr "Automatischer Schwellwert Mode" #: backend/kvs40xx_opt.c:643 -#, fuzzy, no-c-format +#, no-c-format msgid "Sets the automatic threshold mode" -msgstr "Automatischer Schwellwert" +msgstr "Automatischer Schwellwert einstellen" #: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" -msgstr "" +msgstr "Invertiere Bild in 1-Bit S/W" #: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" -msgstr "" +msgstr "JPEG Komprimierung" #: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" -msgstr "" +msgstr "JPEG Komprimierung (Ihr Programm muss dekomprimieren können)" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" -msgstr "" +msgstr "Erkenne geheftete Dokumente" #: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" -msgstr "" +msgstr "Chroma Rot" #: backend/kvs40xx_opt.c:777 -#, fuzzy, no-c-format +#, no-c-format msgid "Set chroma of red" -msgstr "Legt die Reihenfolge der Frames fest" +msgstr "Chroma Rot setzen" #: backend/kvs40xx_opt.c:787 -#, fuzzy, no-c-format +#, no-c-format msgid "chroma of blue" -msgstr "Schatten Blau" +msgstr "Chroma Blau" #: backend/kvs40xx_opt.c:788 -#, fuzzy, no-c-format +#, no-c-format msgid "Set chroma of blue" -msgstr "Verschiebt Rot nach Blau" +msgstr "Chroma Blau setzen" #: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" -msgstr "" +msgstr "Schräglauferkennunng" #: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" -msgstr "" +msgstr "Scanner bei schräg eingezogener Seite anhalten" #: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" -msgstr "" +msgstr "Scanner hält bei schräg eingelaufener Seite an" #: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" -msgstr "" +msgstr "Beschneide Bild" #: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" -msgstr "" +msgstr "Scanner erkennt und verwendet Vorlagengröße" #: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" -msgstr "" +msgstr "Das ist rechter und linker Rücklauf" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" -msgstr "" +msgstr "Leerbereich oben einfügen" #: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" -msgstr "" +msgstr "Leerbereich unten einfügen" #: backend/leo.c:110 #, no-c-format @@ -4536,12 +4613,12 @@ msgstr "Diamant" #: backend/leo.c:111 #, no-c-format msgid "8x8 Coarse Fatting" -msgstr "" +msgstr "8x8 sehr grob" #: backend/leo.c:112 #, no-c-format msgid "8x8 Fine Fatting" -msgstr "" +msgstr "8x8 sehr fein" #: backend/leo.c:113 #, no-c-format @@ -4658,8 +4735,7 @@ msgstr "Glatt" msgid "Low" msgstr "Niedrig" -#: backend/matsushita.c:215 backend/matsushita.c:230 -#: backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Mittel" @@ -4672,7 +4748,7 @@ msgstr "Hoch" #: backend/matsushita.c:245 #, no-c-format msgid "CRT" -msgstr "Röhrenmonitor" +msgstr "Monitor" #: backend/matsushita.c:257 #, no-c-format @@ -4717,13 +4793,13 @@ msgstr "Farbbalance" #: backend/microtek2.h:607 #, no-c-format msgid "Disable backtracking" -msgstr "kein Backtracking" +msgstr "Deaktiviere Rücklauf vom Scannkopf" #: backend/microtek2.h:608 #, no-c-format msgid "If checked the scanner does not perform backtracking" msgstr "" -"wenn aktiviert, erfolgt kein Rücklauf des Scankopfes während der " +"Wenn aktiviert, erfolgt kein Rücklauf des Scankopfes während der " "Datenübertragung" #: backend/microtek2.h:612 @@ -4743,11 +4819,8 @@ msgstr "Software - Kalibrierung" #: backend/microtek2.h:617 #, no-c-format -msgid "" -"If checked the color calibration before a scan is done by the backend" -msgstr "" -"einige Scanner benötigen eine Kalibrierung durch die Software, sonst " -"entstehen senkrechte Streifen im Bild" +msgid "If checked the color calibration before a scan is done by the backend" +msgstr "Wenn aktiviert, wird die Farbkalibrierung durch den Treiber ausgeführt" #: backend/microtek2.h:621 #, no-c-format @@ -4758,9 +4831,8 @@ msgstr "Benutzung des LIGHTLID 35" #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "" -"Bei der Benutzung des LIGHTLID 35 Durchlichtadapters wird während des " -"Scans die Flachbett - Lampe ausgeschaltet um besseren Kontrast zu " -"erreichen" +"Bei der Benutzung des LIGHTLID 35 Durchlichtadapters wird während des Scans " +"die Flachbett - Lampe ausgeschaltet um besseren Kontrast zu erreichen" #: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format @@ -4790,11 +4862,11 @@ msgstr "Automatische schwarz/weiß - Schwelle" #: backend/microtek2.h:635 #, no-c-format msgid "" -"If checked the backend automatically tries to determine an optimal value " -"for the threshold." +"If checked the backend automatically tries to determine an optimal value for " +"the threshold." msgstr "" -"Bei einem Strichzeichnungsscan versucht die Software einen optimalen " -"Wert für die schwarz/weiß- Schwelle zu bestimmen" +"Wenn aktiviert, versucht der Treiber einen optimalen Wert für den " +"Schwellwert zu bestimmen." #: backend/microtek2.h:641 #, no-c-format @@ -4819,7 +4891,7 @@ msgstr "Gamma - Zahlenwert" #: backend/microtek2.h:650 #, no-c-format msgid "Selects a value for scalar gamma correction." -msgstr "Gibt einen Gamma - Zahlenwert an" +msgstr "Bestimmt den Wert für die Gamma - Korrektur." #: backend/microtek2.h:654 #, no-c-format @@ -4862,7 +4934,7 @@ msgid "" "Selects the colour band, \"Master\" means that all colours are affected." msgstr "" "Wählt den Farbkanal; \"Master\" bedeutet, dass alle Farben beeinflusst " -"werden" +"werden." #: backend/microtek2.h:674 #, no-c-format @@ -4872,7 +4944,7 @@ msgstr "Mittelgrauwert" #: backend/microtek2.h:675 #, no-c-format msgid "Selects which radiance level should be considered \"50 % gray\"." -msgstr "Bestimmt, welcher Helligkeitswert als 50% Grau angenommen wird" +msgstr "Bestimmt, welcher Helligkeitswert als 50% Grau angenommen wird." #: backend/microtek2.h:679 #, no-c-format @@ -4882,7 +4954,7 @@ msgstr "Mittelwert für Rot" #: backend/microtek2.h:680 #, no-c-format msgid "Selects which radiance level should be considered \"50 % red\"." -msgstr "Bestimmt, welcher Helligkeitswert als 50% Rot angenommen wird" +msgstr "Bestimmt, welcher Helligkeitswert als 50% Rot angenommen wird." #: backend/microtek2.h:684 #, no-c-format @@ -4892,7 +4964,7 @@ msgstr "Mittelwert für Grün" #: backend/microtek2.h:685 #, no-c-format msgid "Selects which radiance level should be considered \"50 % green\"." -msgstr "Bestimmt, welcher Helligkeitswert als 50% Grün angenommen wird" +msgstr "Bestimmt, welcher Helligkeitswert als 50% Grün angenommen wird." #: backend/microtek2.h:689 #, no-c-format @@ -4902,7 +4974,7 @@ msgstr "Mittelwert für Blau" #: backend/microtek2.h:690 #, no-c-format msgid "Selects which radiance level should be considered \"50 % blue\"." -msgstr "Bestimmt, welcher Helligkeitswert als 50% Blau angenommen wird" +msgstr "Bestimmt, welcher Helligkeitswert als 50% Blau angenommen wird." #: backend/microtek2.h:694 #, no-c-format @@ -4912,7 +4984,7 @@ msgstr "Rot - Balance" #: backend/microtek2.h:695 #, no-c-format msgid "Balance factor for red. A value of 100% means no correction." -msgstr "Farbbalance-Faktor für Rot: 100% bedeutet keine Farbkorrektur" +msgstr "Farbkorrektur für Rot: 100% bedeutet keine Farbkorrektur." #: backend/microtek2.h:699 #, no-c-format @@ -4922,7 +4994,7 @@ msgstr "Grün - Balance" #: backend/microtek2.h:700 #, no-c-format msgid "Balance factor for green. A value of 100% means no correction." -msgstr "Farbbalance-Faktor für Grün: 100% bedeutet keine Farbkorrektur" +msgstr "Farbkorrektur für Grün: 100% bedeutet keine Farbkorrektur." #: backend/microtek2.h:704 #, no-c-format @@ -4932,7 +5004,7 @@ msgstr "Blau - Balance" #: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." -msgstr "Farbbalance-Faktor für Blau: 100% bedeutet keine Farbkorrektur" +msgstr "Farbkorrektur für Blau: 100% bedeutet keine Farbkorrektur." #: backend/microtek2.h:709 #, no-c-format @@ -4942,7 +5014,7 @@ msgstr "Standard - Balance" #: backend/microtek2.h:710 #, no-c-format msgid "Sets the color balance values to the firmware provided values." -msgstr "Setzt die Farbbalance auf die vom Hersteller vorgegebenen Werte" +msgstr "Setzt die Farbkorrektur auf die vom Hersteller vorgegebenen Werte." #: backend/mustek.c:149 #, no-c-format @@ -4957,7 +5029,7 @@ msgstr "Langsam" #: backend/mustek.c:150 #, no-c-format msgid "Faster" -msgstr "Schnell" +msgstr "Schneller" #: backend/mustek.c:150 #, no-c-format @@ -5032,17 +5104,17 @@ msgstr "8x8 benutzerdefiniert" #: backend/mustek.c:182 #, no-c-format msgid "6x6 custom" -msgstr "6x6 benutzerdefiniert" +msgstr "6x6 Benutzerdefiniert" #: backend/mustek.c:183 #, no-c-format msgid "5x5 custom" -msgstr "5x5 benutzerdefiniert" +msgstr "5x5 Benutzerdefiniert" #: backend/mustek.c:183 #, no-c-format msgid "4x4 custom" -msgstr "4x4 benutzerdefiniert" +msgstr "4x4 Benutzerdefiniert" #: backend/mustek.c:184 #, no-c-format @@ -5054,112 +5126,106 @@ msgstr "3x3 benutzerdefiniert" msgid "2x2 custom" msgstr "2x2 benutzerdefiniert" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Schneller Graumodus" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Scanne im schnellen Graumodus (geringere Bildqualität)." -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" -"Request that all previews are done in the fastest (low-quality) mode. " -"This may be a non-color mode or a low resolution mode." +"Request that all previews are done in the fastest (low-quality) mode. This " +"may be a non-color mode or a low resolution mode." msgstr "" "Legt fest, dass alle Vorschau-Scans im schnellsten Modus (mit geringer " -"Qualität) durchgeführt werden. Das kann ein Schwarzweißmodus oder ein " -"Modus mit niedriger Auflösung sein." +"Qualität) durchgeführt werden. Das kann ein Schwarzweißmodus oder ein Modus " +"mit niedriger Auflösung sein." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Lampenausschaltzeit (Minuten)." -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" "Legt die Zeit (in Minuten) fest, nach der die Lampe ausgeschaltet wird." -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "Schalte die Lampe aus" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Schaltet die Lampe sofort aus." -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Helligkeit des Rotwerts" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." -msgstr "" -"Stellt die Helligkeit der roten Komponente des gescannten Bildes ein." +msgstr "Stellt die Helligkeit der roten Komponente des gescannten Bildes ein." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Helligkeit des Grünwerts" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." -msgstr "" -"Stellt die Helligkeit der grünen Komponente des gescannten Bildes ein." +msgstr "Stellt die Helligkeit der grünen Komponente des gescannten Bildes ein." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Helligkeit des Blauwerts" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." -msgstr "" -"Stellt die Helligkeit der blauen Komponente des gescannten Bildes ein." +msgstr "Stellt die Helligkeit der blauen Komponente des gescannten Bildes ein." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Kontrast der grünen Komponente" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." -msgstr "" -"Stellt den Kontrast der roten Komponente des gescannten Bildes ein." +msgstr "Stellt den Kontrast der roten Komponente des gescannten Bildes ein." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Kontrast der grünen Komponente" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." -msgstr "" -"Stellt den Kontrast der grünen Komponente des gescannten Bildes ein." +msgstr "Stellt den Kontrast der grünen Komponente des gescannten Bildes ein." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrast der blauen Komponente" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." -msgstr "" -"Stellt den Kontrast der blauen Komponente des gescannten Bildes ein." +msgstr "Stellt den Kontrast der blauen Komponente des gescannten Bildes ein." #: backend/mustek_usb2.c:105 #, no-c-format @@ -5184,7 +5250,7 @@ msgstr "Grau 8" #: backend/mustek_usb2.c:119 #, no-c-format msgid "Reflective" -msgstr "Aufsicht" +msgstr "Spiegelung" #: backend/mustek_usb2.c:120 #, no-c-format @@ -5194,28 +5260,28 @@ msgstr "Positiv" #: backend/mustek_usb2.c:421 #, no-c-format msgid "" -"Warm-up until the lamp's brightness is constant instead of insisting on " -"40 seconds warm-up time." +"Warm-up until the lamp's brightness is constant instead of insisting on 40 " +"seconds warm-up time." msgstr "" -"Warte solange, bis die Helligkeit der Lampe konstant ist anstatt einfach " -"40 Sekunden zu warten." +"Warte solange, bis die Helligkeit der Lampe konstant ist anstatt einfach 40 " +"Sekunden zu warten." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, no-c-format msgid "Negative color" msgstr "Negativfilm Farbe" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, no-c-format msgid "Negative gray" msgstr "Negativfilm Graustufen" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "48 Bit Farbe" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "16 Bit Graustufen" @@ -5223,17 +5289,17 @@ msgstr "16 Bit Graustufen" #: backend/pixma_sane_options.c:84 #, no-c-format msgid "" -"Selects the scan source (such as a document-feeder). Set source before " -"mode and resolution. Resets mode and resolution to auto values." +"Selects the scan source (such as a document-feeder). Set source before mode " +"and resolution. Resets mode and resolution to auto values." msgstr "" -"Legt die Scanquelle fest (wie z.B. Dokumenteneinzug). Die Scanquelle " -"muss vor Scanmodus und Scanauflösung ausgewählt werden. Setzt die " -"Einstellungen für Scanmodus und Scanauflösung zurück." +"Legt die Scanquelle fest (wie z.B. Dokumenteneinzug). Die Scanquelle muss " +"vor Scanmodus und Scanauflösung ausgewählt werden. Setzt die Einstellungen " +"für Scanmodus und Scanauflösung zurück." #: backend/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" -msgstr "Scanen auf Knopfdruck" +msgstr "Scannen auf Tastendruck" #: backend/pixma_sane_options.c:99 #, no-c-format @@ -5249,17 +5315,17 @@ msgstr "" #: backend/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" -msgstr "Knopfstatus aktualisieren" +msgstr "Tastenstatus aktualisieren" #: backend/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" -msgstr "Knopf 1" +msgstr "Taste 1" #: backend/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" -msgstr "Knopf 2" +msgstr "Taste 2" #: backend/pixma_sane_options.c:272 #, no-c-format @@ -5274,7 +5340,7 @@ msgstr "Scanziel" #: backend/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" -msgstr "ADF Wartezeit" +msgstr "Wartezeit Dokumenteneinzug" #: backend/pixma_sane_options.c:349 #, no-c-format @@ -5282,8 +5348,8 @@ msgid "" "When set, the scanner searches the waiting time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" -"Der Scanner sucht während der Wartezeit (in Sekunden) nach einem " -"Dokument, welches in den Scanschacht eingelegt wird." +"Der Scanner sucht während der Wartezeit (in Sekunden) nach einem Dokument, " +"welches in den Scanschacht eingelegt wird." #: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format @@ -5368,7 +5434,7 @@ msgstr "Analog Frontend" #: backend/plustek.c:1002 #, no-c-format msgid "Red gain value of the AFE" -msgstr "Verstärkung roter Kanal des AD-Wandlers." +msgstr "Verstärkung roter Kanal des AD-Wandlers" #: backend/plustek.c:1009 backend/umax_pp.c:792 #, no-c-format @@ -5378,57 +5444,57 @@ msgstr "Offset roter Kanal" #: backend/plustek.c:1010 #, no-c-format msgid "Red offset value of the AFE" -msgstr "Offset roter Kanal des AD-Wandlers." +msgstr "Offset roter Kanal des AD-Wandlers" #: backend/plustek.c:1018 #, no-c-format msgid "Green gain value of the AFE" -msgstr "Verstärkung grüner Kanal des AD-Wandlers." +msgstr "Verstärkung grüner Kanal des AD-Wandlers" #: backend/plustek.c:1026 #, no-c-format msgid "Green offset value of the AFE" -msgstr "Offset grüner Kanal des AD-Wandlers." +msgstr "Offset grüner Kanal des AD-Wandlers" #: backend/plustek.c:1034 #, no-c-format msgid "Blue gain value of the AFE" -msgstr "Verstärkung blauer Kanal des AD-Wandlers." +msgstr "Verstärkung blauer Kanal des AD-Wandlers" #: backend/plustek.c:1042 #, no-c-format msgid "Blue offset value of the AFE" -msgstr "Offset blauer Kanal des AD-Wandlers." +msgstr "Offset blauer Kanal des AD-Wandlers" #: backend/plustek.c:1049 #, no-c-format msgid "Red lamp off" -msgstr "Ausschaltzeitpunkt rote Lampe" +msgstr "Rote Lampe aus" #: backend/plustek.c:1050 #, no-c-format msgid "Defines red lamp off parameter" -msgstr "Definiert den Ausschaltzeitpunkt der roten Lampe." +msgstr "Definiert den Ausschaltzeitpunkt der roten Lampe" #: backend/plustek.c:1057 #, no-c-format msgid "Green lamp off" -msgstr "Ausschaltzeitpunkt grüne Lampe" +msgstr "Grüne Lampe aus" #: backend/plustek.c:1058 #, no-c-format msgid "Defines green lamp off parameter" -msgstr "Definiert den Ausschaltzeitpunkt der grünen Lampe." +msgstr "Definiert den Ausschaltzeitpunkt der grünen Lampe" #: backend/plustek.c:1065 #, no-c-format msgid "Blue lamp off" -msgstr "Ausschaltzeitpunkt blaue Lampe" +msgstr "Blaue Lampe aus" #: backend/plustek.c:1066 #, no-c-format msgid "Defines blue lamp off parameter" -msgstr "Definiert den Ausschaltzeitpunkt der blauen Lampe." +msgstr "Definiert den Ausschaltzeitpunkt der blauen Lampe" #: backend/plustek.c:1096 #, no-c-format @@ -5438,7 +5504,7 @@ msgstr "Diese Option spiegelt den Zustand der Scannerknöpfe wider." #: backend/plustek_pp.c:197 #, no-c-format msgid "Color36" -msgstr "Farbe36" +msgstr "Farbe 36" #: backend/plustek_pp.c:211 #, no-c-format @@ -5483,11 +5549,11 @@ msgstr "Three-Pass Simulation" #: backend/pnm.c:255 #, no-c-format msgid "" -"Simulate a three-pass scanner by returning 3 separate frames. For " -"kicks, it returns green, then blue, then red." +"Simulate a three-pass scanner by returning 3 separate frames. For kicks, it " +"returns green, then blue, then red." msgstr "" -"Simuliere einen Three-Pass Scanner, indem hintereinander je ein Frame " -"für jede Grundfarbe übertragen wird. Die Reihenfolge ist grün-blau-rot." +"Simuliere einen Three-Pass Scanner, indem hintereinander je ein Frame für " +"jede Grundfarbe übertragen wird. Die Reihenfolge ist grün-blau-rot." #: backend/pnm.c:267 #, no-c-format @@ -5497,19 +5563,18 @@ msgstr "Handscanner Simulation" #: backend/pnm.c:268 #, no-c-format msgid "" -"Simulate a hand-scanner. Hand-scanners often do not know the image " -"height a priori. Instead, they return a height of -1. Setting this " -"option allows one to test whether a frontend can handle this correctly." +"Simulate a hand-scanner. Hand-scanners often do not know the image height a " +"priori. Instead, they return a height of -1. Setting this option allows " +"one to test whether a frontend can handle this correctly." msgstr "" -"Simuliere einen Handscanner. Bei Handscannern steht meistens die " -"Bildhöhe nicht von vornherein fest. Stattdessen geben sie eine Höhe von " -"-1 zurück. Mit dieser Option kann man prüfen, ob das Frontend damit " -"richtig umgehen kann." +"Simuliere einen Handscanner. Bei Handscannern steht meistens die Bildhöhe " +"nicht von vornherein fest. Stattdessen geben sie eine Höhe von -1 zurück. " +"Mit dieser Option kann man prüfen, ob das Frontend damit richtig umgehen " +"kann." #: backend/pnm.c:283 #, no-c-format -msgid "" -"Set default values for enhancement controls (brightness & contrast)." +msgid "Set default values for enhancement controls (brightness & contrast)." msgstr "" "Stellt die Farbverbesserungseinstellungen (Helligkeit und Kontrast) auf " "Defaultwerte." @@ -5522,7 +5587,7 @@ msgstr "Nur-Lese-Testoption" #: backend/pnm.c:296 #, no-c-format msgid "Let's see whether frontends can treat this right" -msgstr "Mal sehen, ob das Frontend damit umgehen kann." +msgstr "Mal sehen, ob das Frontend damit umgehen kann" #: backend/pnm.c:307 #, no-c-format @@ -5555,8 +5620,8 @@ msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " "sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " -"Statuscode SANE_STATUS_EOF zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " +"SANE_STATUS_EOF zurückzuliefern." #: backend/pnm.c:416 #, no-c-format @@ -5569,8 +5634,8 @@ msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " "sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " -"Statuscode SANE_STATUS_JAMMED zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " +"SANE_STATUS_JAMMED zurückzuliefern." #: backend/pnm.c:430 #, no-c-format @@ -5583,8 +5648,8 @@ msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " "sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " -"Statuscode SANE_STATUS_NO_DOCS zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " +"SANE_STATUS_NO_DOCS zurückzuliefern." #: backend/pnm.c:443 #, no-c-format @@ -5597,8 +5662,8 @@ msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " "sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " -"Statuscode SANE_STATUS_COVER_OPEN zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " +"SANE_STATUS_COVER_OPEN zurückzuliefern." #: backend/pnm.c:456 #, no-c-format @@ -5611,8 +5676,8 @@ msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " "sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " -"Statuscode SANE_STATUS_IO_ERROR zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " +"SANE_STATUS_IO_ERROR zurückzuliefern." #: backend/pnm.c:469 #, no-c-format @@ -5625,8 +5690,8 @@ msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " "sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " -"Statuscode SANE_STATUS_NO_MEM zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " +"SANE_STATUS_NO_MEM zurückzuliefern." #: backend/pnm.c:483 #, no-c-format @@ -5636,16 +5701,16 @@ msgstr "Liefere SANE_STATUS_ACCESS_DENIED zurück" #: backend/pnm.c:484 #, no-c-format msgid "" -"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " -"after sane_read() has been called." +"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED after " +"sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " -"Statuscode SANE_STATUS_ACCESS_DENIED zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " +"SANE_STATUS_ACCESS_DENIED zurückzuliefern." #: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." -msgstr "Diese Option zeigt den Zustand eines Scannerknopfes an." +msgstr "Diese Option zeigt den Zustand einer Scannertaste an." #: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format @@ -5685,7 +5750,7 @@ msgstr "Schwellenwert für den Strichzeichnungsmodus" #: backend/snapscan-options.c:88 #, no-c-format msgid "Document Feeder" -msgstr "Automatischer Dokumenteinzug" +msgstr "Dokumenteneinzug" #: backend/snapscan-options.c:92 #, no-c-format @@ -5721,33 +5786,33 @@ msgstr "DispersedDot16x16" #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " -"allows you to tune the speed at which data is read from the scanner " -"during scans. If this is set too low, the scanner will have to stop " -"periodically in the middle of a scan; if it's set too high, X-based " -"frontends may stop responding to X events and your system could bog down." +"allows you to tune the speed at which data is read from the scanner during " +"scans. If this is set too low, the scanner will have to stop periodically in " +"the middle of a scan; if it's set too high, X-based frontends may stop " +"responding to X events and your system could bog down." msgstr "" "Anzahl der Zeilen, die pro SCSI Lesevorgang angefordert werden. Eine " -"Änderung dieses Parameters erlaubt die Feineinstellung der " -"Geschwindigkeit, mit der Daten vom Scanner gelesen werden. Wenn die " -"Geschwindigkeit zu niedrig ist, muss der Scanner in regelmäßigen " -"Abständen mitten im Scanvorgang anhalten. Falls sie zu groß ist, " -"reagiert die Scan-Anwendung möglicherweise nicht mehr auf Eingaben und " -"das System kann unbenutzbar werden." +"Änderung dieses Parameters erlaubt die Feineinstellung der Geschwindigkeit, " +"mit der Daten vom Scanner gelesen werden. Wenn die Geschwindigkeit zu " +"niedrig ist, muss der Scanner in regelmäßigen Abständen mitten im " +"Scanvorgang anhalten. Falls sie zu groß ist, reagiert die Scan-Anwendung " +"möglicherweise nicht mehr auf Eingaben und das System kann unbenutzbar " +"werden." #: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." -msgstr "" +msgstr "Rahmennummer vom zu scannenden Rahmenhalter." #: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." -msgstr "" +msgstr "Manuellen oder automatischen Fokuskunkt verwenden." #: backend/snapscan-options.c:117 -#, fuzzy, no-c-format +#, no-c-format msgid "Focus point for scanning." -msgstr "Auswurf des Dokuments nach dem Scannen" +msgstr "Fokuspunkt fürs Scannen." #: backend/snapscan-options.c:482 #, no-c-format @@ -5771,39 +5836,37 @@ msgstr "Vordefinierte Einstellungen" #: backend/snapscan-options.c:603 #, no-c-format msgid "" -"Provides standard scanning areas for photographs, printed pages and the " -"like." +"Provides standard scanning areas for photographs, printed pages and the like." msgstr "" -"Stellt Standardgrößen für Fotographien, bedruckte Seiten etc. zur " -"Verfügung." +"Stellt Standardgrößen für Fotographien, bedruckte Seiten etc. zur Verfügung." #: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" -msgstr "" +msgstr "Rahmen" #: backend/snapscan-options.c:885 -#, fuzzy, no-c-format +#, no-c-format msgid "Frame to be scanned" -msgstr "Flachbettscanner" +msgstr "zu scannender Rahmen" #: backend/snapscan-options.c:897 -#, fuzzy, no-c-format +#, no-c-format msgid "Focus-mode" msgstr "Fokus" #: backend/snapscan-options.c:898 -#, fuzzy, no-c-format +#, no-c-format msgid "Auto or manual focus" -msgstr "Automatischer Fokus" +msgstr "Automatischer oder manueller Fokus" #: backend/snapscan-options.c:911 -#, fuzzy, no-c-format +#, no-c-format msgid "Focus-point" msgstr "Fokus Position" #: backend/snapscan-options.c:912 -#, fuzzy, no-c-format +#, no-c-format msgid "Focus point" msgstr "Fokus Position" @@ -5873,8 +5936,8 @@ msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " "display it" msgstr "" -"Dies ist der sehr lange dritte Eintrag. Vielleicht weiß das Frontend, " -"wie man ihn darstellen kann." +"Dies ist der sehr lange dritte Eintrag; vielleicht weiß das Frontend, wie " +"man ihn darstellen kann" #: backend/test.c:348 #, no-c-format @@ -5885,25 +5948,24 @@ msgstr "Handscanner-Simulation" #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " -"priori. Instead, they return a height of -1. Setting this option " -"allows one to test whether a frontend can handle this correctly. This " -"option also enables a fixed width of 11 cm." +"priori. Instead, they return a height of -1. Setting this option allows " +"one to test whether a frontend can handle this correctly. This option also " +"enables a fixed width of 11 cm." msgstr "" -"Simuliere einen Handscanner. Bei Handscannern steht meistens die " -"Bildhöhe nicht von vornherein fest. Stattdessen geben sie eine Höhe von " -"-1 zurück. Mit dieser Option kann man prüfen, ob das Frontend damit " -"richtig umgehen kann." +"Simuliere einen Handscanner. Bei Handscannern steht meistens die Bildhöhe " +"nicht von vornherein fest. Stattdessen geben sie eine Höhe von -1 zurück. " +"Mit dieser Option kann man prüfen, ob das Frontend damit richtig umgehen " +"kann." #: backend/test.c:366 #, no-c-format msgid "Three-pass simulation" -msgstr "Three-Pass-Simulation" +msgstr "Three-Pass Simulation" #: backend/test.c:367 #, no-c-format msgid "" -"Simulate a three-pass scanner. In color mode, three frames are " -"transmitted." +"Simulate a three-pass scanner. In color mode, three frames are transmitted." msgstr "" "Simuliere einen Three-Pass-Scanner. Im Farbmodus werden drei Frames " "übertragen." @@ -5921,10 +5983,10 @@ msgstr "Legt die Reihenfolge der Frames im Three-Pass-Modus fest." #: backend/test.c:416 #, no-c-format msgid "" -"If Automatic Document Feeder is selected, the feeder will be 'empty' " -"after 10 scans." +"If Automatic Document Feeder is selected, the feeder will be 'empty' after " +"10 scans." msgstr "" -"Falls der automatische Vorlageneinzug ausgewählt ist, meldet der Einzug " +"Falls der automatische Dokumenteneinzug ausgewählt ist, meldet der Einzug " "\"leer\" nach 10 Scans." #: backend/test.c:431 @@ -5944,8 +6006,7 @@ msgid "" "Solid black: fills the whole scan with black.\n" "Solid white: fills the whole scan with white.\n" "Color pattern: draws various color test patterns depending on the mode.\n" -"Grid: draws a black/white grid with a width and height of 10 mm per " -"square." +"Grid: draws a black/white grid with a width and height of 10 mm per square." msgstr "" "Wählt die Art des Testbildes aus. Verfügbare Testbilder:\n" "Komplett schwarz: füllt das ganze Bild schwarz.\n" @@ -5958,14 +6019,14 @@ msgstr "" #: backend/test.c:467 #, no-c-format msgid "Invert endianness" -msgstr "Kehre Endianness um" +msgstr "Endianness umkehren" #: backend/test.c:468 #, no-c-format msgid "" -"Exchange upper and lower byte of image data in 16 bit modes. This option " -"can be used to test the 16 bit modes of frontends, e.g. if the frontend " -"uses the correct endianness." +"Exchange upper and lower byte of image data in 16 bit modes. This option can " +"be used to test the 16 bit modes of frontends, e.g. if the frontend uses the " +"correct endianness." msgstr "" "Tausche das untere und das obere Byte der Bilddaten im 16-Bit-Modus aus. " "Diese Option kann dazu benutzt werden, den 16-Bit-Modus der Frontends zu " @@ -5981,8 +6042,8 @@ msgstr "Lesebegrenzung" #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" -"Begrenzt die Menge an Daten, die mit jedem Aufruf von sane_read() " -"übertragen wird." +"Begrenzt die Menge an Daten, die mit jedem Aufruf von sane_read() übertragen " +"wird." #: backend/test.c:498 #, no-c-format @@ -5991,8 +6052,7 @@ msgstr "Größe der Lesebegrenzung" #: backend/test.c:499 #, no-c-format -msgid "" -"The (maximum) amount of data transferred with each call to sane_read()." +msgid "The (maximum) amount of data transferred with each call to sane_read()." msgstr "" "Die (maximale) Menge and Daten, die bei jedem Aufruf von sane_read() " "übertragen wird." @@ -6010,15 +6070,15 @@ msgstr "Verzögere die Datenübertragung durch die Pipe." #: backend/test.c:527 #, no-c-format msgid "Duration of read-delay" -msgstr "Dauer der Leseverzögerung." +msgstr "Dauer der Leseverzögerung" #: backend/test.c:528 #, no-c-format msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "" -"Legt fest, wie lange nach der Übertragung eines Datenpuffers durch die " -"Pipe gewartet wird." +"Legt fest, wie lange nach der Übertragung eines Datenpuffers durch die Pipe " +"gewartet wird." #: backend/test.c:543 #, no-c-format @@ -6028,9 +6088,9 @@ msgstr "Rückgabewert von sane_read" #: backend/test.c:545 #, no-c-format msgid "" -"Select the return-value of sane_read(). \"Default\" is the normal " -"handling for scanning. All other status codes are for testing how the " -"frontend handles them." +"Select the return-value of sane_read(). \"Default\" is the normal handling " +"for scanning. All other status codes are for testing how the frontend " +"handles them." msgstr "" "Legt den Rückgabewert von sane_read() fest. \"Default\" ist die normale " "Einstellung für's Scannen. Alle anderen Rückgabewerte dienen dazu, das " @@ -6069,8 +6129,8 @@ msgstr "Nichtblockierendes IO" #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" -"Verwende nichtblockierndes IO für sane_read(), wenn das durch das " -"Frontend unterstützt wird." +"Verwende nichtblockierndes IO für sane_read(), wenn das durch das Frontend " +"unterstützt wird." #: backend/test.c:605 #, no-c-format @@ -6080,11 +6140,10 @@ msgstr "Biete Select-Dateideskriptor an" #: backend/test.c:606 #, no-c-format msgid "" -"Offer a select filedescriptor for detecting if sane_read() will return " -"data." +"Offer a select filedescriptor for detecting if sane_read() will return data." msgstr "" -"Biete einen Select-Dateideskriptor an, damit das Frontend erkennen kann, " -"ob sane_read() Daten zurückliefern würde." +"Biete einen Select-Dateideskriptor an, damit das Frontend erkennen kann, ob " +"sane_read() Daten zurückliefern würde." #: backend/test.c:619 #, no-c-format @@ -6094,8 +6153,8 @@ msgstr "Test-Optionen einschalten" #: backend/test.c:620 #, no-c-format msgid "" -"Enable various test options. This is for testing the ability of " -"frontends to view and modify all the different SANE option types." +"Enable various test options. This is for testing the ability of frontends to " +"view and modify all the different SANE option types." msgstr "" "Schalte verschiedene Testoptionen ein. Mit diesen Optionen kann man die " "Fähigkeit des Frontends feststellen, die verschiedenen Typen von SANE-" @@ -6124,12 +6183,12 @@ msgstr "(1/6) Bool soft select soft detect" #: backend/test.c:727 #, no-c-format msgid "" -"(1/6) Bool test option that has soft select and soft detect (and " -"advanced) capabilities. That's just a normal bool option." +"(1/6) Bool test option that has soft select and soft detect (and advanced) " +"capabilities. That's just a normal bool option." msgstr "" -"(1/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"soft select" -"\" und \"soft detect\" (und \"advanced\") hat. Also eine ganz normale " -"Bool-Option." +"(1/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"soft select\" " +"und \"soft detect\" (und \"advanced\") hat. Also eine ganz normale Bool-" +"Option." #: backend/test.c:743 #, no-c-format @@ -6139,14 +6198,14 @@ msgstr "(2/6) Bool hard select soft detect" #: backend/test.c:745 #, no-c-format msgid "" -"(2/6) Bool test option that has hard select and soft detect (and " -"advanced) capabilities. That means the option can't be set by the " -"frontend but by the user (e.g. by pressing a button at the device)." +"(2/6) Bool test option that has hard select and soft detect (and advanced) " +"capabilities. That means the option can't be set by the frontend but by the " +"user (e.g. by pressing a button at the device)." msgstr "" -"(2/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"hard select" -"\" und \"soft detect\" (und \"advanced\") hat. Das bedeutet, dass die " -"Option nicht vom Frontend geändert werden kann, sondern vom Benutzer (z. " -"B. indem er einen Knopf am Gerät drückt)." +"(2/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"hard select\" " +"und \"soft detect\" (und \"advanced\") hat. Das bedeutet, dass die Option " +"nicht vom Frontend geändert werden kann, sondern vom Benutzer (z. B. indem " +"er eine Taste am Gerät drückt)." #: backend/test.c:762 #, no-c-format @@ -6157,13 +6216,12 @@ msgstr "(3/6) Bool hard select" #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " -"That means the option can't be set by the frontend but by the user (e.g. " -"by pressing a button at the device) and can't be read by the frontend." +"That means the option can't be set by the frontend but by the user (e.g. by " +"pressing a button at the device) and can't be read by the frontend." msgstr "" "(3/6) Dies is eine Bool-Testoption, welche die Fähigkieten \"hard select" -"\" (und \"advanced\") hat. Das bedeutet, dass die Option " -"nicht vom Frontend geändert " -"werden kann, sondern vom Benutzer (z. B. indem er einen Knopf am " +"\" (und \"advanced\") hat. Das bedeutet, dass die Option nicht vom Frontend " +"geändert werden kann, sondern vom Benutzer (z. B. indem er eine Taste am " "Gerät drückt). Außerdem kann sie nicht vom Frontend gelesen werden." #: backend/test.c:781 @@ -6188,11 +6246,11 @@ msgstr "(5/6) Bool soft select soft detect emulated" #: backend/test.c:799 #, no-c-format msgid "" -"(5/6) Bool test option that has soft select, soft detect, and emulated " -"(and advanced) capabilities." +"(5/6) Bool test option that has soft select, soft detect, and emulated (and " +"advanced) capabilities." msgstr "" -"(5/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"soft select" -"\", \"soft detect\", und \"emulated\" (und \"advanced\") hat." +"(5/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"soft select\", " +"\"soft detect\", und \"emulated\" (und \"advanced\") hat." #: backend/test.c:815 #, no-c-format @@ -6202,13 +6260,12 @@ msgstr "(6/6) Bool soft select soft detect auto" #: backend/test.c:816 #, no-c-format msgid "" -"(6/6) Bool test option that has soft select, soft detect, and automatic " -"(and advanced) capabilities. This option can be automatically set by the " -"backend." +"(6/6) Bool test option that has soft select, soft detect, and automatic (and " +"advanced) capabilities. This option can be automatically set by the backend." msgstr "" -"(6/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"soft select" -"\", \"soft detect\", und \"automatic\" (und \"advanced\") hat. Diese " -"Option kann vom Backend automatisch gesetzt werden." +"(6/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"soft select\", " +"\"soft detect\", und \"automatic\" (und \"advanced\") hat. Diese Option kann " +"vom Backend automatisch gesetzt werden." #: backend/test.c:833 #, no-c-format @@ -6233,8 +6290,8 @@ msgstr "(2/6) Int constraint range" #: backend/test.c:863 #, no-c-format msgid "" -"(2/6) Int test option with unit pixel and constraint range set. Minimum " -"is 4, maximum 192, and quant is 2." +"(2/6) Int test option with unit pixel and constraint range set. Minimum is " +"4, maximum 192, and quant is 2." msgstr "" "(2/6) Int-Testoption mit der Einheit \"Pixel\" und einer " "Bereichsbeschränkung. Das Minimum ist 4, das Maximum 192, und die " @@ -6260,11 +6317,9 @@ msgstr "(4/6) Int array" #: backend/test.c:896 #, no-c-format msgid "" -"(4/6) Int test option with unit mm and using an array without " -"constraints." +"(4/6) Int test option with unit mm and using an array without constraints." msgstr "" -"(4/6) Int-Testoption mit der Einheit \"mm\" und einem Feld ohne " -"Beschränkung." +"(4/6) Int-Testoption mit der Einheit \"mm\" und einem Feld ohne Beschränkung." #: backend/test.c:911 #, no-c-format @@ -6289,11 +6344,11 @@ msgstr "(6/6) Int array constraint word list" #: backend/test.c:930 #, no-c-format msgid "" -"(6/6) Int test option with unit percent and using an array with a word " -"list constraint." +"(6/6) Int test option with unit percent and using an array with a word list " +"constraint." msgstr "" -"(6/6) Int-Testoption mit der Einheit \"Prozent\" und einem Feld mit " -"einer Wort-Beschränkung." +"(6/6) Int-Testoption mit der Einheit \"Prozent\" und einem Feld mit einer " +"Wort-Beschränkung." #: backend/test.c:946 #, no-c-format @@ -6322,8 +6377,8 @@ msgid "" "Minimum is -42.17, maximum 32767.9999, and quant is 2.0." msgstr "" "(2/3) Fixed-Testoption mit der Einheit \"Mikrosekunde\" und einer " -"Bereichsbeschränkung. Das Minimum ist -42.17, das Maximum 32767.9999, " -"und die Schrittweite ist 2.0." +"Bereichsbeschränkung. Das Minimum ist -42.17, das Maximum 32767.9999, und " +"die Schrittweite ist 2.0." #: backend/test.c:992 #, no-c-format @@ -6334,8 +6389,7 @@ msgstr "(3/3) Fixed constraint word list" #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" -"(3/3) Fixed-Testoption ohne Einheit und mit einer Wortlisten-" -"Beschränkung." +"(3/3) Fixed-Testoption ohne Einheit und mit einer Wortlisten-Beschränkung." #: backend/test.c:1008 #, no-c-format @@ -6384,12 +6438,12 @@ msgstr "Button-Testoptionen" #: backend/test.c:1093 #, no-c-format msgid "(1/1) Button" -msgstr "(1/1) Button" +msgstr "(1/1) Taste" #: backend/test.c:1094 #, no-c-format msgid "(1/1) Button test option. Prints some text..." -msgstr "(1/1) Button-Testoption. Gibt etwas Text aus..." +msgstr "(1/1) Tasten-Testoption. Gibt etwas Text aus..." #: backend/u12.c:149 #, no-c-format diff --git a/po/en@boldquot.gmo b/po/en@boldquot.gmo deleted file mode 100644 index 0711598..0000000 Binary files a/po/en@boldquot.gmo and /dev/null differ diff --git a/po/en@boldquot.header b/po/en@boldquot.header deleted file mode 100644 index fedb6a0..0000000 --- a/po/en@boldquot.header +++ /dev/null @@ -1,25 +0,0 @@ -# All this catalog "translates" are quotation characters. -# The msgids must be ASCII and therefore cannot contain real quotation -# characters, only substitutes like grave accent (0x60), apostrophe (0x27) -# and double quote (0x22). These substitutes look strange; see -# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html -# -# This catalog translates grave accent (0x60) and apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019). -# It also translates pairs of apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019) -# and pairs of quotation mark (0x22) to -# left double quotation mark (U+201C) and right double quotation mark (U+201D). -# -# When output to an UTF-8 terminal, the quotation characters appear perfectly. -# When output to an ISO-8859-1 terminal, the single quotation marks are -# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to -# grave/acute accent (by libiconv), and the double quotation marks are -# transliterated to 0x22. -# When output to an ASCII terminal, the single quotation marks are -# transliterated to apostrophes, and the double quotation marks are -# transliterated to 0x22. -# -# This catalog furthermore displays the text between the quotation marks in -# bold face, assuming the VT100/XTerm escape sequences. -# diff --git a/po/en@boldquot.po b/po/en@boldquot.po deleted file mode 100644 index d22038d..0000000 --- a/po/en@boldquot.po +++ /dev/null @@ -1,6506 +0,0 @@ -# English translations for sane-backends package. -# Copyright (C) 2017 The SANE developers -# This file is distributed under the same license as the sane-backends package. -# Automatically generated, 2017. -# -# All this catalog "translates" are quotation characters. -# The msgids must be ASCII and therefore cannot contain real quotation -# characters, only substitutes like grave accent (0x60), apostrophe (0x27) -# and double quote (0x22). These substitutes look strange; see -# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html -# -# This catalog translates grave accent (0x60) and apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019). -# It also translates pairs of apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019) -# and pairs of quotation mark (0x22) to -# left double quotation mark (U+201C) and right double quotation mark (U+201D). -# -# When output to an UTF-8 terminal, the quotation characters appear perfectly. -# When output to an ISO-8859-1 terminal, the single quotation marks are -# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to -# grave/acute accent (by libiconv), and the double quotation marks are -# transliterated to 0x22. -# When output to an ASCII terminal, the single quotation marks are -# transliterated to apostrophes, and the double quotation marks are -# transliterated to 0x22. -# -# This catalog furthermore displays the text between the quotation marks in -# bold face, assuming the VT100/XTerm escape sequences. -# -msgid "" -msgstr "" -"Project-Id-Version: sane-backends 1.0.27\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" -"PO-Revision-Date: 2017-05-22 11:18-0400\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: en@boldquot\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: include/sane/saneopts.h:154 -#, no-c-format -msgid "Number of options" -msgstr "Number of options" - -#: include/sane/saneopts.h:156 -#, no-c-format -msgid "Standard" -msgstr "Standard" - -#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 -#, no-c-format -msgid "Geometry" -msgstr "Geometry" - -#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 -#, no-c-format -msgid "Enhancement" -msgstr "Enhancement" - -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 -#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 -#: backend/rts8891.c:2831 backend/snapscan-options.c:923 -#: backend/umax.c:5565 -#, no-c-format -msgid "Advanced" -msgstr "Advanced" - -#: include/sane/saneopts.h:160 -#, no-c-format -msgid "Sensors" -msgstr "Sensors" - -#: include/sane/saneopts.h:162 -#, no-c-format -msgid "Preview" -msgstr "Preview" - -#: include/sane/saneopts.h:163 -#, no-c-format -msgid "Force monochrome preview" -msgstr "Force monochrome preview" - -#: include/sane/saneopts.h:164 -#, no-c-format -msgid "Bit depth" -msgstr "Bit depth" - -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 -#, no-c-format -msgid "Scan mode" -msgstr "Scan mode" - -#: include/sane/saneopts.h:166 -#, no-c-format -msgid "Scan speed" -msgstr "Scan speed" - -#: include/sane/saneopts.h:167 -#, no-c-format -msgid "Scan source" -msgstr "Scan source" - -#: include/sane/saneopts.h:168 -#, no-c-format -msgid "Force backtracking" -msgstr "Force backtracking" - -#: include/sane/saneopts.h:169 -#, no-c-format -msgid "Top-left x" -msgstr "Top-left x" - -#: include/sane/saneopts.h:170 -#, no-c-format -msgid "Top-left y" -msgstr "Top-left y" - -#: include/sane/saneopts.h:171 -#, no-c-format -msgid "Bottom-right x" -msgstr "Bottom-right x" - -#: include/sane/saneopts.h:172 -#, no-c-format -msgid "Bottom-right y" -msgstr "Bottom-right y" - -#: include/sane/saneopts.h:173 backend/canon.c:1221 -#: backend/pixma_sane_options.c:300 -#, no-c-format -msgid "Scan resolution" -msgstr "Scan resolution" - -#: include/sane/saneopts.h:174 -#, no-c-format -msgid "X-resolution" -msgstr "X-resolution" - -#: include/sane/saneopts.h:175 -#, no-c-format -msgid "Y-resolution" -msgstr "Y-resolution" - -#: include/sane/saneopts.h:176 -#, no-c-format -msgid "Page width" -msgstr "Page width" - -#: include/sane/saneopts.h:177 -#, no-c-format -msgid "Page height" -msgstr "Page height" - -#: include/sane/saneopts.h:178 -#, no-c-format -msgid "Use custom gamma table" -msgstr "Use custom gamma table" - -#: include/sane/saneopts.h:179 -#, no-c-format -msgid "Image intensity" -msgstr "Image intensity" - -#: include/sane/saneopts.h:180 -#, no-c-format -msgid "Red intensity" -msgstr "Red intensity" - -#: include/sane/saneopts.h:181 -#, no-c-format -msgid "Green intensity" -msgstr "Green intensity" - -#: include/sane/saneopts.h:182 -#, no-c-format -msgid "Blue intensity" -msgstr "Blue intensity" - -#: include/sane/saneopts.h:183 -#, no-c-format -msgid "Brightness" -msgstr "Brightness" - -#: include/sane/saneopts.h:184 -#, no-c-format -msgid "Contrast" -msgstr "Contrast" - -#: include/sane/saneopts.h:185 -#, no-c-format -msgid "Grain size" -msgstr "Grain size" - -#: include/sane/saneopts.h:186 -#, no-c-format -msgid "Halftoning" -msgstr "Halftoning" - -#: include/sane/saneopts.h:187 -#, no-c-format -msgid "Black level" -msgstr "Black level" - -#: include/sane/saneopts.h:188 -#, no-c-format -msgid "White level" -msgstr "White level" - -#: include/sane/saneopts.h:189 -#, no-c-format -msgid "White level for red" -msgstr "White level for red" - -#: include/sane/saneopts.h:190 -#, no-c-format -msgid "White level for green" -msgstr "White level for green" - -#: include/sane/saneopts.h:191 -#, no-c-format -msgid "White level for blue" -msgstr "White level for blue" - -#: include/sane/saneopts.h:192 -#, no-c-format -msgid "Shadow" -msgstr "Shadow" - -#: include/sane/saneopts.h:193 -#, no-c-format -msgid "Shadow for red" -msgstr "Shadow for red" - -#: include/sane/saneopts.h:194 -#, no-c-format -msgid "Shadow for green" -msgstr "Shadow for green" - -#: include/sane/saneopts.h:195 -#, no-c-format -msgid "Shadow for blue" -msgstr "Shadow for blue" - -#: include/sane/saneopts.h:196 -#, no-c-format -msgid "Highlight" -msgstr "Highlight" - -#: include/sane/saneopts.h:197 -#, no-c-format -msgid "Highlight for red" -msgstr "Highlight for red" - -#: include/sane/saneopts.h:198 -#, no-c-format -msgid "Highlight for green" -msgstr "Highlight for green" - -#: include/sane/saneopts.h:199 -#, no-c-format -msgid "Highlight for blue" -msgstr "Highlight for blue" - -#: include/sane/saneopts.h:200 -#, no-c-format -msgid "Hue" -msgstr "Hue" - -#: include/sane/saneopts.h:201 -#, no-c-format -msgid "Saturation" -msgstr "Saturation" - -#: include/sane/saneopts.h:202 -#, no-c-format -msgid "Filename" -msgstr "Filename" - -#: include/sane/saneopts.h:203 -#, no-c-format -msgid "Halftone pattern size" -msgstr "Halftone pattern size" - -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 -#, no-c-format -msgid "Halftone pattern" -msgstr "Halftone pattern" - -#: include/sane/saneopts.h:205 -#, no-c-format -msgid "Bind X and Y resolution" -msgstr "Bind X and Y resolution" - -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 -#, no-c-format -msgid "Negative" -msgstr "Negative" - -#: include/sane/saneopts.h:207 -#, no-c-format -msgid "Quality calibration" -msgstr "Quality calibration" - -#: include/sane/saneopts.h:208 -#, no-c-format -msgid "Double Optical Resolution" -msgstr "Double Optical Resolution" - -#: include/sane/saneopts.h:209 -#, no-c-format -msgid "Bind RGB" -msgstr "Bind RGB" - -#: include/sane/saneopts.h:210 backend/sm3840.c:770 -#, no-c-format -msgid "Threshold" -msgstr "Threshold" - -#: include/sane/saneopts.h:211 -#, no-c-format -msgid "Analog gamma correction" -msgstr "Analog gamma correction" - -#: include/sane/saneopts.h:212 -#, no-c-format -msgid "Analog gamma red" -msgstr "Analog gamma red" - -#: include/sane/saneopts.h:213 -#, no-c-format -msgid "Analog gamma green" -msgstr "Analog gamma green" - -#: include/sane/saneopts.h:214 -#, no-c-format -msgid "Analog gamma blue" -msgstr "Analog gamma blue" - -#: include/sane/saneopts.h:215 -#, no-c-format -msgid "Bind analog gamma" -msgstr "Bind analog gamma" - -#: include/sane/saneopts.h:216 -#, no-c-format -msgid "Warmup lamp" -msgstr "Warmup lamp" - -#: include/sane/saneopts.h:217 -#, no-c-format -msgid "Cal. exposure-time" -msgstr "Cal. exposure-time" - -#: include/sane/saneopts.h:218 -#, no-c-format -msgid "Cal. exposure-time for red" -msgstr "Cal. exposure-time for red" - -#: include/sane/saneopts.h:219 -#, no-c-format -msgid "Cal. exposure-time for green" -msgstr "Cal. exposure-time for green" - -#: include/sane/saneopts.h:221 -#, no-c-format -msgid "Cal. exposure-time for blue" -msgstr "Cal. exposure-time for blue" - -#: include/sane/saneopts.h:222 -#, no-c-format -msgid "Scan exposure-time" -msgstr "Scan exposure-time" - -#: include/sane/saneopts.h:223 -#, no-c-format -msgid "Scan exposure-time for red" -msgstr "Scan exposure-time for red" - -#: include/sane/saneopts.h:224 -#, no-c-format -msgid "Scan exposure-time for green" -msgstr "Scan exposure-time for green" - -#: include/sane/saneopts.h:226 -#, no-c-format -msgid "Scan exposure-time for blue" -msgstr "Scan exposure-time for blue" - -#: include/sane/saneopts.h:227 -#, no-c-format -msgid "Set exposure-time" -msgstr "Set exposure-time" - -#: include/sane/saneopts.h:228 -#, no-c-format -msgid "Cal. lamp density" -msgstr "Cal. lamp density" - -#: include/sane/saneopts.h:229 -#, no-c-format -msgid "Scan lamp density" -msgstr "Scan lamp density" - -#: include/sane/saneopts.h:230 -#, no-c-format -msgid "Set lamp density" -msgstr "Set lamp density" - -#: include/sane/saneopts.h:231 backend/umax.c:5829 -#, no-c-format -msgid "Lamp off at exit" -msgstr "Lamp off at exit" - -#: include/sane/saneopts.h:245 -#, no-c-format -msgid "" -"Read-only option that specifies how many options a specific devices " -"supports." -msgstr "" -"Read-only option that specifies how many options a specific devices " -"supports." - -#: include/sane/saneopts.h:248 -#, no-c-format -msgid "Source, mode and resolution options" -msgstr "Source, mode and resolution options" - -#: include/sane/saneopts.h:249 -#, no-c-format -msgid "Scan area and media size options" -msgstr "Scan area and media size options" - -#: include/sane/saneopts.h:250 -#, no-c-format -msgid "Image modification options" -msgstr "Image modification options" - -#: include/sane/saneopts.h:251 -#, no-c-format -msgid "Hardware specific options" -msgstr "Hardware specific options" - -#: include/sane/saneopts.h:252 -#, no-c-format -msgid "Scanner sensors and buttons" -msgstr "Scanner sensors and buttons" - -#: include/sane/saneopts.h:255 -#, no-c-format -msgid "Request a preview-quality scan." -msgstr "Request a preview-quality scan." - -#: include/sane/saneopts.h:258 -#, no-c-format -msgid "" -"Request that all previews are done in monochrome mode. On a three-pass " -"scanner this cuts down the number of passes to one and on a one-pass " -"scanner, it reduces the memory requirements and scan-time of the preview." -msgstr "" -"Request that all previews are done in monochrome mode. On a three-pass " -"scanner this cuts down the number of passes to one and on a one-pass " -"scanner, it reduces the memory requirements and scan-time of the preview." - -#: include/sane/saneopts.h:264 -#, no-c-format -msgid "" -"Number of bits per sample, typical values are 1 for \"line-art\" and 8 " -"for multibit scans." -msgstr "" -"Number of bits per sample, typical values are 1 for “line-art” and " -"8 for multibit scans." - -#: include/sane/saneopts.h:268 -#, no-c-format -msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." -msgstr "Selects the scan mode (e.g., lineart, monochrome, or color)." - -#: include/sane/saneopts.h:271 -#, no-c-format -msgid "Determines the speed at which the scan proceeds." -msgstr "Determines the speed at which the scan proceeds." - -#: include/sane/saneopts.h:274 -#, no-c-format -msgid "Selects the scan source (such as a document-feeder)." -msgstr "Selects the scan source (such as a document-feeder)." - -#: include/sane/saneopts.h:277 -#, no-c-format -msgid "Controls whether backtracking is forced." -msgstr "Controls whether backtracking is forced." - -#: include/sane/saneopts.h:280 -#, no-c-format -msgid "Top-left x position of scan area." -msgstr "Top-left x position of scan area." - -#: include/sane/saneopts.h:283 -#, no-c-format -msgid "Top-left y position of scan area." -msgstr "Top-left y position of scan area." - -#: include/sane/saneopts.h:286 -#, no-c-format -msgid "Bottom-right x position of scan area." -msgstr "Bottom-right x position of scan area." - -#: include/sane/saneopts.h:289 -#, no-c-format -msgid "Bottom-right y position of scan area." -msgstr "Bottom-right y position of scan area." - -#: include/sane/saneopts.h:292 -#, no-c-format -msgid "Sets the resolution of the scanned image." -msgstr "Sets the resolution of the scanned image." - -#: include/sane/saneopts.h:295 -#, no-c-format -msgid "Sets the horizontal resolution of the scanned image." -msgstr "Sets the horizontal resolution of the scanned image." - -#: include/sane/saneopts.h:298 -#, no-c-format -msgid "Sets the vertical resolution of the scanned image." -msgstr "Sets the vertical resolution of the scanned image." - -#: include/sane/saneopts.h:301 -#, no-c-format -msgid "" -"Specifies the width of the media. Required for automatic centering of " -"sheet-fed scans." -msgstr "" -"Specifies the width of the media. Required for automatic centering of " -"sheet-fed scans." - -#: include/sane/saneopts.h:305 -#, no-c-format -msgid "Specifies the height of the media." -msgstr "Specifies the height of the media." - -#: include/sane/saneopts.h:308 -#, no-c-format -msgid "" -"Determines whether a builtin or a custom gamma-table should be used." -msgstr "" -"Determines whether a builtin or a custom gamma-table should be used." - -#: include/sane/saneopts.h:312 -#, no-c-format -msgid "" -"Gamma-correction table. In color mode this option equally affects the " -"red, green, and blue channels simultaneously (i.e., it is an intensity " -"gamma table)." -msgstr "" -"Gamma-correction table. In color mode this option equally affects the " -"red, green, and blue channels simultaneously (i.e., it is an intensity " -"gamma table)." - -#: include/sane/saneopts.h:317 -#, no-c-format -msgid "Gamma-correction table for the red band." -msgstr "Gamma-correction table for the red band." - -#: include/sane/saneopts.h:320 -#, no-c-format -msgid "Gamma-correction table for the green band." -msgstr "Gamma-correction table for the green band." - -#: include/sane/saneopts.h:323 -#, no-c-format -msgid "Gamma-correction table for the blue band." -msgstr "Gamma-correction table for the blue band." - -#: include/sane/saneopts.h:326 -#, no-c-format -msgid "Controls the brightness of the acquired image." -msgstr "Controls the brightness of the acquired image." - -#: include/sane/saneopts.h:329 -#, no-c-format -msgid "Controls the contrast of the acquired image." -msgstr "Controls the contrast of the acquired image." - -#: include/sane/saneopts.h:332 -#, no-c-format -msgid "" -"Selects the \"graininess\" of the acquired image. Smaller values result " -"in sharper images." -msgstr "" -"Selects the “graininess” of the acquired image. Smaller values " -"result in sharper images." - -#: include/sane/saneopts.h:336 -#, no-c-format -msgid "Selects whether the acquired image should be halftoned (dithered)." -msgstr "Selects whether the acquired image should be halftoned (dithered)." - -#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 -#, no-c-format -msgid "Selects what radiance level should be considered \"black\"." -msgstr "Selects what radiance level should be considered “black”." - -#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 -#, no-c-format -msgid "Selects what radiance level should be considered \"white\"." -msgstr "Selects what radiance level should be considered “white”." - -#: include/sane/saneopts.h:345 -#, no-c-format -msgid "Selects what red radiance level should be considered \"white\"." -msgstr "" -"Selects what red radiance level should be considered “white”." - -#: include/sane/saneopts.h:348 -#, no-c-format -msgid "Selects what green radiance level should be considered \"white\"." -msgstr "" -"Selects what green radiance level should be considered “white”." - -#: include/sane/saneopts.h:351 -#, no-c-format -msgid "Selects what blue radiance level should be considered \"white\"." -msgstr "" -"Selects what blue radiance level should be considered “white”." - -#: include/sane/saneopts.h:356 -#, no-c-format -msgid "Selects what red radiance level should be considered \"black\"." -msgstr "" -"Selects what red radiance level should be considered “black”." - -#: include/sane/saneopts.h:358 -#, no-c-format -msgid "Selects what green radiance level should be considered \"black\"." -msgstr "" -"Selects what green radiance level should be considered “black”." - -#: include/sane/saneopts.h:360 -#, no-c-format -msgid "Selects what blue radiance level should be considered \"black\"." -msgstr "" -"Selects what blue radiance level should be considered “black”." - -#: include/sane/saneopts.h:365 -#, no-c-format -msgid "Selects what red radiance level should be considered \"full red\"." -msgstr "" -"Selects what red radiance level should be considered “full red”." - -#: include/sane/saneopts.h:367 -#, no-c-format -msgid "" -"Selects what green radiance level should be considered \"full green\"." -msgstr "" -"Selects what green radiance level should be considered “full " -"green”." - -#: include/sane/saneopts.h:370 -#, no-c-format -msgid "" -"Selects what blue radiance level should be considered \"full blue\"." -msgstr "" -"Selects what blue radiance level should be considered “full blue”." - -#: include/sane/saneopts.h:374 -#, no-c-format -msgid "Controls the \"hue\" (blue-level) of the acquired image." -msgstr "Controls the “hue” (blue-level) of the acquired image." - -#: include/sane/saneopts.h:377 -#, no-c-format -msgid "" -"The saturation level controls the amount of \"blooming\" that occurs " -"when acquiring an image with a camera. Larger values cause more blooming." -msgstr "" -"The saturation level controls the amount of “blooming” that occurs " -"when acquiring an image with a camera. Larger values cause more blooming." - -#: include/sane/saneopts.h:382 -#, no-c-format -msgid "The filename of the image to be loaded." -msgstr "The filename of the image to be loaded." - -#: include/sane/saneopts.h:385 -#, no-c-format -msgid "" -"Sets the size of the halftoning (dithering) pattern used when scanning " -"halftoned images." -msgstr "" -"Sets the size of the halftoning (dithering) pattern used when scanning " -"halftoned images." - -#: include/sane/saneopts.h:389 -#, no-c-format -msgid "" -"Defines the halftoning (dithering) pattern for scanning halftoned images." -msgstr "" -"Defines the halftoning (dithering) pattern for scanning halftoned images." - -#: include/sane/saneopts.h:393 -#, no-c-format -msgid "Use same values for X and Y resolution" -msgstr "Use same values for X and Y resolution" - -#: include/sane/saneopts.h:395 -#, no-c-format -msgid "Swap black and white" -msgstr "Swap black and white" - -#: include/sane/saneopts.h:397 -#, no-c-format -msgid "Do a quality white-calibration" -msgstr "Do a quality white-calibration" - -#: include/sane/saneopts.h:399 -#, no-c-format -msgid "Use lens that doubles optical resolution" -msgstr "Use lens that doubles optical resolution" - -#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 -#, no-c-format -msgid "In RGB-mode use same values for each color" -msgstr "In RGB-mode use same values for each color" - -#: include/sane/saneopts.h:403 -#, no-c-format -msgid "Select minimum-brightness to get a white point" -msgstr "Select minimum-brightness to get a white point" - -#: include/sane/saneopts.h:405 -#, no-c-format -msgid "Analog gamma-correction" -msgstr "Analog gamma-correction" - -#: include/sane/saneopts.h:407 -#, no-c-format -msgid "Analog gamma-correction for red" -msgstr "Analog gamma-correction for red" - -#: include/sane/saneopts.h:409 -#, no-c-format -msgid "Analog gamma-correction for green" -msgstr "Analog gamma-correction for green" - -#: include/sane/saneopts.h:411 -#, no-c-format -msgid "Analog gamma-correction for blue" -msgstr "Analog gamma-correction for blue" - -#: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" -msgstr "Warmup lamp before scanning" - -#: include/sane/saneopts.h:417 -#, no-c-format -msgid "Define exposure-time for calibration" -msgstr "Define exposure-time for calibration" - -#: include/sane/saneopts.h:419 -#, no-c-format -msgid "Define exposure-time for red calibration" -msgstr "Define exposure-time for red calibration" - -#: include/sane/saneopts.h:421 -#, no-c-format -msgid "Define exposure-time for green calibration" -msgstr "Define exposure-time for green calibration" - -#: include/sane/saneopts.h:423 -#, no-c-format -msgid "Define exposure-time for blue calibration" -msgstr "Define exposure-time for blue calibration" - -#: include/sane/saneopts.h:425 -#, no-c-format -msgid "Define exposure-time for scan" -msgstr "Define exposure-time for scan" - -#: include/sane/saneopts.h:427 -#, no-c-format -msgid "Define exposure-time for red scan" -msgstr "Define exposure-time for red scan" - -#: include/sane/saneopts.h:429 -#, no-c-format -msgid "Define exposure-time for green scan" -msgstr "Define exposure-time for green scan" - -#: include/sane/saneopts.h:431 -#, no-c-format -msgid "Define exposure-time for blue scan" -msgstr "Define exposure-time for blue scan" - -#: include/sane/saneopts.h:433 -#, no-c-format -msgid "Enable selection of exposure-time" -msgstr "Enable selection of exposure-time" - -#: include/sane/saneopts.h:435 -#, no-c-format -msgid "Define lamp density for calibration" -msgstr "Define lamp density for calibration" - -#: include/sane/saneopts.h:437 -#, no-c-format -msgid "Define lamp density for scan" -msgstr "Define lamp density for scan" - -#: include/sane/saneopts.h:439 -#, no-c-format -msgid "Enable selection of lamp density" -msgstr "Enable selection of lamp density" - -#: include/sane/saneopts.h:441 backend/umax.c:5830 -#, no-c-format -msgid "Turn off lamp when program exits" -msgstr "Turn off lamp when program exits" - -#: include/sane/saneopts.h:444 -#, no-c-format -msgid "Scan button" -msgstr "Scan button" - -#: include/sane/saneopts.h:445 -#, no-c-format -msgid "Email button" -msgstr "Email button" - -#: include/sane/saneopts.h:446 -#, no-c-format -msgid "Fax button" -msgstr "Fax button" - -#: include/sane/saneopts.h:447 -#, no-c-format -msgid "Copy button" -msgstr "Copy button" - -#: include/sane/saneopts.h:448 -#, no-c-format -msgid "PDF button" -msgstr "PDF button" - -#: include/sane/saneopts.h:449 -#, no-c-format -msgid "Cancel button" -msgstr "Cancel button" - -#: include/sane/saneopts.h:450 -#, no-c-format -msgid "Page loaded" -msgstr "Page loaded" - -#: include/sane/saneopts.h:451 -#, no-c-format -msgid "Cover open" -msgstr "Cover open" - -#: include/sane/saneopts.h:454 -#, no-c-format -msgid "Color" -msgstr "Color" - -#: include/sane/saneopts.h:455 -#, no-c-format -msgid "Color Lineart" -msgstr "Color Lineart" - -#: include/sane/saneopts.h:456 -#, no-c-format -msgid "Color Halftone" -msgstr "Color Halftone" - -#: include/sane/saneopts.h:457 -#, no-c-format -msgid "Gray" -msgstr "Gray" - -#: include/sane/saneopts.h:458 -#, no-c-format -msgid "Halftone" -msgstr "Halftone" - -#: include/sane/saneopts.h:459 -#, no-c-format -msgid "Lineart" -msgstr "Lineart" - -#: backend/sane_strstatus.c:59 -#, no-c-format -msgid "Success" -msgstr "Success" - -#: backend/sane_strstatus.c:62 -#, no-c-format -msgid "Operation not supported" -msgstr "Operation not supported" - -#: backend/sane_strstatus.c:65 -#, no-c-format -msgid "Operation was cancelled" -msgstr "Operation was cancelled" - -#: backend/sane_strstatus.c:68 -#, no-c-format -msgid "Device busy" -msgstr "Device busy" - -#: backend/sane_strstatus.c:71 -#, no-c-format -msgid "Invalid argument" -msgstr "Invalid argument" - -#: backend/sane_strstatus.c:74 -#, no-c-format -msgid "End of file reached" -msgstr "End of file reached" - -#: backend/sane_strstatus.c:77 -#, no-c-format -msgid "Document feeder jammed" -msgstr "Document feeder jammed" - -#: backend/sane_strstatus.c:80 -#, no-c-format -msgid "Document feeder out of documents" -msgstr "Document feeder out of documents" - -#: backend/sane_strstatus.c:83 -#, no-c-format -msgid "Scanner cover is open" -msgstr "Scanner cover is open" - -#: backend/sane_strstatus.c:86 -#, no-c-format -msgid "Error during device I/O" -msgstr "Error during device I/O" - -#: backend/sane_strstatus.c:89 -#, no-c-format -msgid "Out of memory" -msgstr "Out of memory" - -#: backend/sane_strstatus.c:92 -#, no-c-format -msgid "Access to resource has been denied" -msgstr "Access to resource has been denied" - -#: backend/sane_strstatus.c:96 -#, no-c-format -msgid "Lamp not ready, please retry" -msgstr "Lamp not ready, please retry" - -#: backend/sane_strstatus.c:101 -#, no-c-format -msgid "Scanner mechanism locked for transport" -msgstr "Scanner mechanism locked for transport" - -#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 -#, no-c-format -msgid "Defaults" -msgstr "Defaults" - -#: backend/artec_eplus48u.c:2876 -#, no-c-format -msgid "Set default values for enhancement controls." -msgstr "Set default values for enhancement controls." - -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 -#, no-c-format -msgid "Calibration" -msgstr "Calibration" - -#: backend/artec_eplus48u.c:2941 -#, no-c-format -msgid "Calibrate before next scan" -msgstr "Calibrate before next scan" - -#: backend/artec_eplus48u.c:2943 -#, no-c-format -msgid "" -"If enabled, the device will be calibrated before the next scan. " -"Otherwise, calibration is performed only before the first start." -msgstr "" -"If enabled, the device will be calibrated before the next scan. " -"Otherwise, calibration is performed only before the first start." - -#: backend/artec_eplus48u.c:2954 -#, no-c-format -msgid "Only perform shading-correction" -msgstr "Only perform shading-correction" - -#: backend/artec_eplus48u.c:2956 -#, no-c-format -msgid "" -"If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " -"or from the configuration file, are used." -msgstr "" -"If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " -"or from the configuration file, are used." - -#: backend/artec_eplus48u.c:2967 -#, no-c-format -msgid "Button state" -msgstr "Button state" - -#: backend/avision.h:778 -#, no-c-format -msgid "Number of the frame to scan" -msgstr "Number of the frame to scan" - -#: backend/avision.h:779 -#, no-c-format -msgid "Selects the number of the frame to scan" -msgstr "Selects the number of the frame to scan" - -#: backend/avision.h:782 -#, no-c-format -msgid "Duplex scan" -msgstr "Duplex scan" - -#: backend/avision.h:783 -#, no-c-format -msgid "" -"Duplex scan provide a scan of the front and back side of the document" -msgstr "" -"Duplex scan provide a scan of the front and back side of the document" - -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Calibrate Scanner" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Force scanner calibration before scan" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Grayscale scan" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Do a grayscale rather than color scan" - -#: backend/canon630u.c:306 -#, no-c-format -msgid "Analog Gain" -msgstr "Analog Gain" - -#: backend/canon630u.c:307 -#, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Increase or decrease the analog gain of the CCD array" - -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 -#, no-c-format -msgid "Gamma Correction" -msgstr "Gamma Correction" - -#: backend/canon630u.c:348 -#, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Selects the gamma corrected transfer curve" - -#: backend/canon.c:149 backend/canon-sane.c:1318 -#, no-c-format -msgid "Raw" -msgstr "Raw" - -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Fine color" - -#: backend/canon.c:169 -#, no-c-format -msgid "No transparency correction" -msgstr "No transparency correction" - -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Correction according to film type" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Correction according to transparency ratio" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Negatives" - -#: backend/canon.c:176 -#, no-c-format -msgid "Slides" -msgstr "Slides" - -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 -#: backend/matsushita.c:178 -#, no-c-format -msgid "Automatic" -msgstr "Automatic" - -#: backend/canon.c:186 -#, no-c-format -msgid "Normal speed" -msgstr "Normal speed" - -#: backend/canon.c:187 -#, no-c-format -msgid "1/2 normal speed" -msgstr "1/2 normal speed" - -#: backend/canon.c:187 -#, no-c-format -msgid "1/3 normal speed" -msgstr "1/3 normal speed" - -#: backend/canon.c:365 -#, no-c-format -msgid "rounded parameter" -msgstr "rounded parameter" - -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 -#, no-c-format -msgid "unknown" -msgstr "unknown" - -#: backend/canon.c:378 -#, no-c-format -msgid "ADF jam" -msgstr "ADF jam" - -#: backend/canon.c:381 -#, no-c-format -msgid "ADF cover open" -msgstr "ADF cover open" - -#: backend/canon.c:394 -#, no-c-format -msgid "lamp failure" -msgstr "lamp failure" - -#: backend/canon.c:397 -#, no-c-format -msgid "scan head positioning error" -msgstr "scan head positioning error" - -#: backend/canon.c:400 -#, no-c-format -msgid "CPU check error" -msgstr "CPU check error" - -#: backend/canon.c:403 -#, no-c-format -msgid "RAM check error" -msgstr "RAM check error" - -#: backend/canon.c:406 -#, no-c-format -msgid "ROM check error" -msgstr "ROM check error" - -#: backend/canon.c:409 -#, no-c-format -msgid "hardware check error" -msgstr "hardware check error" - -#: backend/canon.c:412 -#, no-c-format -msgid "transparency unit lamp failure" -msgstr "transparency unit lamp failure" - -#: backend/canon.c:415 -#, no-c-format -msgid "transparency unit scan head positioning failure" -msgstr "transparency unit scan head positioning failure" - -#: backend/canon.c:429 -#, no-c-format -msgid "parameter list length error" -msgstr "parameter list length error" - -#: backend/canon.c:433 -#, no-c-format -msgid "invalid command operation code" -msgstr "invalid command operation code" - -#: backend/canon.c:437 -#, no-c-format -msgid "invalid field in CDB" -msgstr "invalid field in CDB" - -#: backend/canon.c:441 -#, no-c-format -msgid "unsupported LUN" -msgstr "unsupported LUN" - -#: backend/canon.c:445 -#, no-c-format -msgid "invalid field in parameter list" -msgstr "invalid field in parameter list" - -#: backend/canon.c:449 -#, no-c-format -msgid "command sequence error" -msgstr "command sequence error" - -#: backend/canon.c:453 -#, no-c-format -msgid "too many windows specified" -msgstr "too many windows specified" - -#: backend/canon.c:457 -#, no-c-format -msgid "medium not present" -msgstr "medium not present" - -#: backend/canon.c:461 -#, no-c-format -msgid "invalid bit IDENTIFY message" -msgstr "invalid bit IDENTIFY message" - -#: backend/canon.c:465 -#, no-c-format -msgid "option not connect" -msgstr "option not connect" - -#: backend/canon.c:479 -#, no-c-format -msgid "power on reset / bus device reset" -msgstr "power on reset / bus device reset" - -#: backend/canon.c:483 -#, no-c-format -msgid "parameter changed by another initiator" -msgstr "parameter changed by another initiator" - -#: backend/canon.c:497 -#, no-c-format -msgid "no additional sense information" -msgstr "no additional sense information" - -#: backend/canon.c:501 -#, no-c-format -msgid "reselect failure" -msgstr "reselect failure" - -#: backend/canon.c:505 -#, no-c-format -msgid "SCSI parity error" -msgstr "SCSI parity error" - -#: backend/canon.c:509 -#, no-c-format -msgid "initiator detected error message received" -msgstr "initiator detected error message received" - -#: backend/canon.c:514 -#, no-c-format -msgid "invalid message error" -msgstr "invalid message error" - -#: backend/canon.c:518 -#, no-c-format -msgid "timeout error" -msgstr "timeout error" - -#: backend/canon.c:522 -#, no-c-format -msgid "transparency unit shading error" -msgstr "transparency unit shading error" - -#: backend/canon.c:526 -#, no-c-format -msgid "lamp not stabilized" -msgstr "lamp not stabilized" - -#: backend/canon.c:852 backend/canon.c:867 -#, no-c-format -msgid "film scanner" -msgstr "film scanner" - -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 -#: backend/u12.c:851 -#, no-c-format -msgid "flatbed scanner" -msgstr "flatbed scanner" - -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 -#, no-c-format -msgid "Film type" -msgstr "Film type" - -#: backend/canon.c:1184 -#, no-c-format -msgid "Selects the film type, i.e. negatives or slides" -msgstr "Selects the film type, i.e. negatives or slides" - -#: backend/canon.c:1196 -#, no-c-format -msgid "Negative film type" -msgstr "Negative film type" - -#: backend/canon.c:1197 -#, no-c-format -msgid "Selects the negative film type" -msgstr "Selects the negative film type" - -#: backend/canon.c:1236 -#, no-c-format -msgid "Hardware resolution" -msgstr "Hardware resolution" - -#: backend/canon.c:1237 -#, no-c-format -msgid "Use only hardware resolutions" -msgstr "Use only hardware resolutions" - -#: backend/canon.c:1318 -#, no-c-format -msgid "Focus" -msgstr "Focus" - -#: backend/canon.c:1328 -#, no-c-format -msgid "Auto focus" -msgstr "Auto focus" - -#: backend/canon.c:1329 -#, no-c-format -msgid "Enable/disable auto focus" -msgstr "Enable/disable auto focus" - -#: backend/canon.c:1336 -#, no-c-format -msgid "Auto focus only once" -msgstr "Auto focus only once" - -#: backend/canon.c:1337 -#, no-c-format -msgid "Do auto focus only once between ejects" -msgstr "Do auto focus only once between ejects" - -#: backend/canon.c:1345 -#, no-c-format -msgid "Manual focus position" -msgstr "Manual focus position" - -#: backend/canon.c:1346 -#, no-c-format -msgid "Set the optical system's focus position by hand (default: 128)." -msgstr "Set the optical system's focus position by hand (default: 128)." - -#: backend/canon.c:1356 -#, no-c-format -msgid "Scan margins" -msgstr "Scan margins" - -#: backend/canon.c:1403 -#, no-c-format -msgid "Extra color adjustments" -msgstr "Extra color adjustments" - -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 -#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 -#, no-c-format -msgid "Mirror image" -msgstr "Mirror image" - -#: backend/canon.c:1539 -#, no-c-format -msgid "Mirror the image horizontally" -msgstr "Mirror the image horizontally" - -#: backend/canon.c:1608 -#, no-c-format -msgid "Auto exposure" -msgstr "Auto exposure" - -#: backend/canon.c:1609 -#, no-c-format -msgid "Enable/disable the auto exposure feature" -msgstr "Enable/disable the auto exposure feature" - -#: backend/canon.c:1625 -#, no-c-format -msgid "Calibration now" -msgstr "Calibration now" - -#: backend/canon.c:1626 -#, no-c-format -msgid "Execute calibration *now*" -msgstr "Execute calibration *now*" - -#: backend/canon.c:1636 -#, no-c-format -msgid "Self diagnosis" -msgstr "Self diagnosis" - -#: backend/canon.c:1637 -#, no-c-format -msgid "Perform scanner self diagnosis" -msgstr "Perform scanner self diagnosis" - -#: backend/canon.c:1648 -#, no-c-format -msgid "Reset scanner" -msgstr "Reset scanner" - -#: backend/canon.c:1649 -#, no-c-format -msgid "Reset the scanner" -msgstr "Reset the scanner" - -#: backend/canon.c:1659 -#, no-c-format -msgid "Medium handling" -msgstr "Medium handling" - -#: backend/canon.c:1668 -#, no-c-format -msgid "Eject film after each scan" -msgstr "Eject film after each scan" - -#: backend/canon.c:1669 -#, no-c-format -msgid "Automatically eject the film from the device after each scan" -msgstr "Automatically eject the film from the device after each scan" - -#: backend/canon.c:1680 -#, no-c-format -msgid "Eject film before exit" -msgstr "Eject film before exit" - -#: backend/canon.c:1681 -#, no-c-format -msgid "" -"Automatically eject the film from the device before exiting the program" -msgstr "" -"Automatically eject the film from the device before exiting the program" - -#: backend/canon.c:1690 -#, no-c-format -msgid "Eject film now" -msgstr "Eject film now" - -#: backend/canon.c:1691 -#, no-c-format -msgid "Eject the film *now*" -msgstr "Eject the film *now*" - -#: backend/canon.c:1700 -#, no-c-format -msgid "Document feeder extras" -msgstr "Document feeder extras" - -#: backend/canon.c:1707 -#, no-c-format -msgid "Flatbed only" -msgstr "Flatbed only" - -#: backend/canon.c:1708 -#, no-c-format -msgid "Disable auto document feeder and use flatbed only" -msgstr "Disable auto document feeder and use flatbed only" - -#: backend/canon.c:1718 backend/canon.c:1728 -#, no-c-format -msgid "Transparency unit" -msgstr "Transparency unit" - -#: backend/canon.c:1729 -#, no-c-format -msgid "Switch on/off the transparency unit (FAU, film adapter unit)" -msgstr "Switch on/off the transparency unit (FAU, film adapter unit)" - -#: backend/canon.c:1739 -#, no-c-format -msgid "Negative film" -msgstr "Negative film" - -#: backend/canon.c:1740 -#, no-c-format -msgid "Positive or negative film" -msgstr "Positive or negative film" - -#: backend/canon.c:1749 -#, no-c-format -msgid "Density control" -msgstr "Density control" - -#: backend/canon.c:1750 -#, no-c-format -msgid "Set density control mode" -msgstr "Set density control mode" - -#: backend/canon.c:1761 -#, no-c-format -msgid "Transparency ratio" -msgstr "Transparency ratio" - -#: backend/canon.c:1775 -#, no-c-format -msgid "Select film type" -msgstr "Select film type" - -#: backend/canon.c:1776 -#, no-c-format -msgid "Select the film type" -msgstr "Select the film type" - -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 -#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 -#, no-c-format -msgid "Flatbed" -msgstr "Flatbed" - -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 -#: backend/kodak.c:140 -#, no-c-format -msgid "ADF Front" -msgstr "ADF Front" - -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 -#: backend/kodak.c:141 -#, no-c-format -msgid "ADF Back" -msgstr "ADF Back" - -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 -#, no-c-format -msgid "ADF Duplex" -msgstr "ADF Duplex" - -#: backend/canon_dr.c:412 -#, no-c-format -msgid "Card Front" -msgstr "Card Front" - -#: backend/canon_dr.c:413 -#, no-c-format -msgid "Card Back" -msgstr "Card Back" - -#: backend/canon_dr.c:414 -#, no-c-format -msgid "Card Duplex" -msgstr "Card Duplex" - -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 -#, no-c-format -msgid "Red" -msgstr "Red" - -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 -#, no-c-format -msgid "Green" -msgstr "Green" - -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 -#, no-c-format -msgid "Blue" -msgstr "Blue" - -#: backend/canon_dr.c:424 -#, no-c-format -msgid "Enhance Red" -msgstr "Enhance Red" - -#: backend/canon_dr.c:425 -#, no-c-format -msgid "Enhance Green" -msgstr "Enhance Green" - -#: backend/canon_dr.c:426 -#, no-c-format -msgid "Enhance Blue" -msgstr "Enhance Blue" - -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 -#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 -#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 -#: backend/matsushita.c:191 backend/matsushita.c:213 -#: backend/snapscan-options.c:91 -#, no-c-format -msgid "None" -msgstr "None" - -#: backend/canon_dr.c:429 backend/fujitsu.c:699 -#, no-c-format -msgid "JPEG" -msgstr "JPEG" - -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 -#, no-c-format -msgid "Software blank skip percentage" -msgstr "Software blank skip percentage" - -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 -#, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" -msgstr "Request driver to discard pages with low percentage of dark pixels" - -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 -#, no-c-format -msgid "Simplex" -msgstr "Simplex" - -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 -#, no-c-format -msgid "Duplex" -msgstr "Duplex" - -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 -#, no-c-format -msgid "Transparency Unit" -msgstr "Transparency Unit" - -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 -#: backend/umax.c:183 -#, no-c-format -msgid "Automatic Document Feeder" -msgstr "Automatic Document Feeder" - -#: backend/epson.c:523 backend/epson2.c:134 -#, no-c-format -msgid "Positive Film" -msgstr "Positive Film" - -#: backend/epson.c:524 backend/epson2.c:135 -#, no-c-format -msgid "Negative Film" -msgstr "Negative Film" - -#: backend/epson.c:529 backend/epson2.c:142 -#, no-c-format -msgid "Focus on glass" -msgstr "Focus on glass" - -#: backend/epson.c:530 backend/epson2.c:143 -#, no-c-format -msgid "Focus 2.5mm above glass" -msgstr "Focus 2.5mm above glass" - -#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 -#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 -#, no-c-format -msgid "Halftone A (Hard Tone)" -msgstr "Halftone A (Hard Tone)" - -#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 -#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 -#, no-c-format -msgid "Halftone B (Soft Tone)" -msgstr "Halftone B (Soft Tone)" - -#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 -#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 -#, no-c-format -msgid "Halftone C (Net Screen)" -msgstr "Halftone C (Net Screen)" - -#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 -#: backend/epson2.c:189 -#, no-c-format -msgid "Dither A (4x4 Bayer)" -msgstr "Dither A (4x4 Bayer)" - -#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 -#: backend/epson2.c:190 -#, no-c-format -msgid "Dither B (4x4 Spiral)" -msgstr "Dither B (4x4 Spiral)" - -#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 -#: backend/epson2.c:191 -#, no-c-format -msgid "Dither C (4x4 Net Screen)" -msgstr "Dither C (4x4 Net Screen)" - -#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 -#: backend/epson2.c:192 -#, no-c-format -msgid "Dither D (8x4 Net Screen)" -msgstr "Dither D (8x4 Net Screen)" - -#: backend/epson.c:584 backend/epson2.c:193 -#, no-c-format -msgid "Text Enhanced Technology" -msgstr "Text Enhanced Technology" - -#: backend/epson.c:585 backend/epson2.c:194 -#, no-c-format -msgid "Download pattern A" -msgstr "Download pattern A" - -#: backend/epson.c:586 backend/epson2.c:195 -#, no-c-format -msgid "Download pattern B" -msgstr "Download pattern B" - -#: backend/epson.c:631 -#, no-c-format -msgid "No Correction" -msgstr "No Correction" - -#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 -#, no-c-format -msgid "User defined" -msgstr "User defined" - -#: backend/epson.c:633 -#, no-c-format -msgid "Impact-dot printers" -msgstr "Impact-dot printers" - -#: backend/epson.c:634 -#, no-c-format -msgid "Thermal printers" -msgstr "Thermal printers" - -#: backend/epson.c:635 -#, no-c-format -msgid "Ink-jet printers" -msgstr "Ink-jet printers" - -#: backend/epson.c:636 -#, no-c-format -msgid "CRT monitors" -msgstr "CRT monitors" - -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 -#, no-c-format -msgid "Default" -msgstr "Default" - -#: backend/epson.c:658 backend/epson2.c:256 -#, no-c-format -msgid "High density printing" -msgstr "High density printing" - -#: backend/epson.c:659 backend/epson2.c:257 -#, no-c-format -msgid "Low density printing" -msgstr "Low density printing" - -#: backend/epson.c:660 backend/epson2.c:258 -#, no-c-format -msgid "High contrast printing" -msgstr "High contrast printing" - -#: backend/epson.c:678 backend/epson2.c:276 -#, no-c-format -msgid "User defined (Gamma=1.0)" -msgstr "User defined (Gamma=1.0)" - -#: backend/epson.c:679 backend/epson2.c:277 -#, no-c-format -msgid "User defined (Gamma=1.8)" -msgstr "User defined (Gamma=1.8)" - -#: backend/epson.c:757 -#, no-c-format -msgid "CD" -msgstr "CD" - -#: backend/epson.c:758 -#, no-c-format -msgid "A5 portrait" -msgstr "A5 portrait" - -#: backend/epson.c:759 -#, no-c-format -msgid "A5 landscape" -msgstr "A5 landscape" - -#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 -#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 -#, no-c-format -msgid "Letter" -msgstr "Letter" - -#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 -#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 -#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 -#, no-c-format -msgid "A4" -msgstr "A4" - -#: backend/epson.c:762 -#, no-c-format -msgid "Max" -msgstr "Max" - -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 -#: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 -#: backend/umax.c:5054 -#, no-c-format -msgid "Scan Mode" -msgstr "Scan Mode" - -#: backend/epson.c:2845 backend/epson2.c:1012 -#, no-c-format -msgid "Selects the halftone." -msgstr "Selects the halftone." - -#: backend/epson.c:2867 backend/epson2.c:1033 -#, no-c-format -msgid "Dropout" -msgstr "Dropout" - -#: backend/epson.c:2868 backend/epson2.c:1034 -#, no-c-format -msgid "Selects the dropout." -msgstr "Selects the dropout." - -#: backend/epson.c:2880 backend/epson2.c:1046 -#, no-c-format -msgid "Selects the brightness." -msgstr "Selects the brightness." - -#: backend/epson.c:2895 backend/epson2.c:1059 -#, no-c-format -msgid "Sharpness" -msgstr "Sharpness" - -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 -#, no-c-format -msgid "Color correction" -msgstr "Color correction" - -#: backend/epson.c:3034 backend/epson2.c:1177 -#, no-c-format -msgid "Sets the color correction table for the selected output device." -msgstr "Sets the color correction table for the selected output device." - -#: backend/epson.c:3075 -#, no-c-format -msgid "Color correction coefficients" -msgstr "Color correction coefficients" - -#: backend/epson.c:3076 -#, no-c-format -msgid "Matrix multiplication of RGB" -msgstr "Matrix multiplication of RGB" - -#: backend/epson.c:3093 -#, no-c-format -msgid "Shift green to red" -msgstr "Shift green to red" - -#: backend/epson.c:3094 -#, no-c-format -msgid "Shift green to blue" -msgstr "Shift green to blue" - -#: backend/epson.c:3095 -#, no-c-format -msgid "Shift red to green" -msgstr "Shift red to green" - -#: backend/epson.c:3097 -#, no-c-format -msgid "Shift red to blue" -msgstr "Shift red to blue" - -#: backend/epson.c:3098 -#, no-c-format -msgid "Shift blue to green" -msgstr "Shift blue to green" - -#: backend/epson.c:3099 -#, no-c-format -msgid "Shift blue to red" -msgstr "Shift blue to red" - -#: backend/epson.c:3102 -#, no-c-format -msgid "Controls green level" -msgstr "Controls green level" - -#: backend/epson.c:3103 -#, no-c-format -msgid "Adds to red based on green level" -msgstr "Adds to red based on green level" - -#: backend/epson.c:3104 -#, no-c-format -msgid "Adds to blue based on green level" -msgstr "Adds to blue based on green level" - -#: backend/epson.c:3105 -#, no-c-format -msgid "Adds to green based on red level" -msgstr "Adds to green based on red level" - -#: backend/epson.c:3106 -#, no-c-format -msgid "Controls red level" -msgstr "Controls red level" - -#: backend/epson.c:3107 -#, no-c-format -msgid "Adds to blue based on red level" -msgstr "Adds to blue based on red level" - -#: backend/epson.c:3108 -#, no-c-format -msgid "Adds to green based on blue level" -msgstr "Adds to green based on blue level" - -#: backend/epson.c:3109 -#, no-c-format -msgid "Adds to red based on blue level" -msgstr "Adds to red based on blue level" - -#: backend/epson.c:3110 -#, no-c-format -msgid "Controls blue level" -msgstr "Controls blue level" - -#: backend/epson.c:3206 backend/epson2.c:1256 -#, no-c-format -msgid "Mirror the image." -msgstr "Mirror the image." - -#: backend/epson.c:3232 backend/mustek.c:4332 -#, no-c-format -msgid "Fast preview" -msgstr "Fast preview" - -#: backend/epson.c:3245 backend/epson2.c:1266 -#, no-c-format -msgid "Auto area segmentation" -msgstr "Auto area segmentation" - -#: backend/epson.c:3258 -#, no-c-format -msgid "Short resolution list" -msgstr "Short resolution list" - -#: backend/epson.c:3260 -#, no-c-format -msgid "Display short resolution list" -msgstr "Display short resolution list" - -#: backend/epson.c:3267 -#, no-c-format -msgid "Zoom" -msgstr "Zoom" - -#: backend/epson.c:3269 -#, no-c-format -msgid "Defines the zoom factor the scanner will use" -msgstr "Defines the zoom factor the scanner will use" - -#: backend/epson.c:3349 -#, no-c-format -msgid "Quick format" -msgstr "Quick format" - -#: backend/epson.c:3360 backend/epson2.c:1341 -#, no-c-format -msgid "Optional equipment" -msgstr "Optional equipment" - -#: backend/epson.c:3431 backend/epson2.c:1394 -#, no-c-format -msgid "Eject" -msgstr "Eject" - -#: backend/epson.c:3432 backend/epson2.c:1395 -#, no-c-format -msgid "Eject the sheet in the ADF" -msgstr "Eject the sheet in the ADF" - -#: backend/epson.c:3444 backend/epson2.c:1405 -#, no-c-format -msgid "Auto eject" -msgstr "Auto eject" - -#: backend/epson.c:3445 backend/epson2.c:1407 -#, no-c-format -msgid "Eject document after scanning" -msgstr "Eject document after scanning" - -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 -#, no-c-format -msgid "ADF Mode" -msgstr "ADF Mode" - -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 -#, no-c-format -msgid "Selects the ADF mode (simplex/duplex)" -msgstr "Selects the ADF mode (simplex/duplex)" - -#: backend/epson.c:3473 backend/epson2.c:1431 -#, no-c-format -msgid "Bay" -msgstr "Bay" - -#: backend/epson.c:3474 backend/epson2.c:1432 -#, no-c-format -msgid "Select bay to scan" -msgstr "Select bay to scan" - -#: backend/epson.h:69 backend/epson2.h:68 -#, no-c-format -msgid "" -"Selects the gamma correction value from a list of pre-defined devices or " -"the user defined table, which can be downloaded to the scanner" -msgstr "" -"Selects the gamma correction value from a list of pre-defined devices or " -"the user defined table, which can be downloaded to the scanner" - -#: backend/epson.h:72 backend/epson2.h:71 -#, no-c-format -msgid "Focus Position" -msgstr "Focus Position" - -#: backend/epson.h:73 backend/epson2.h:72 -#, no-c-format -msgid "" -"Sets the focus position to either the glass or 2.5mm above the glass" -msgstr "" -"Sets the focus position to either the glass or 2.5mm above the glass" - -#: backend/epson.h:75 backend/epson2.h:74 -#, no-c-format -msgid "Wait for Button" -msgstr "Wait for Button" - -#: backend/epson.h:76 backend/epson2.h:75 -#, no-c-format -msgid "" -"After sending the scan command, wait until the button on the scanner is " -"pressed to actually start the scan process." -msgstr "" -"After sending the scan command, wait until the button on the scanner is " -"pressed to actually start the scan process." - -#: backend/epson2.c:102 backend/pixma.c:390 -#, no-c-format -msgid "Infrared" -msgstr "Infrared" - -#: backend/epson2.c:117 -#, no-c-format -msgid "TPU8x10" -msgstr "TPU8x10" - -#: backend/epson2.c:136 -#, no-c-format -msgid "Positive Slide" -msgstr "Positive Slide" - -#: backend/epson2.c:137 -#, no-c-format -msgid "Negative Slide" -msgstr "Negative Slide" - -#: backend/epson2.c:215 -#, no-c-format -msgid "Built in CCT profile" -msgstr "Built in CCT profile" - -#: backend/epson2.c:216 -#, no-c-format -msgid "User defined CCT profile" -msgstr "User defined CCT profile" - -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 -#, no-c-format -msgid "On" -msgstr "On" - -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 -#, no-c-format -msgid "Off" -msgstr "Off" - -#: backend/fujitsu.c:686 -#, no-c-format -msgid "DTC" -msgstr "DTC" - -#: backend/fujitsu.c:687 -#, no-c-format -msgid "SDTC" -msgstr "SDTC" - -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 -#: backend/teco3.c:978 -#, no-c-format -msgid "Dither" -msgstr "Dither" - -#: backend/fujitsu.c:690 -#, no-c-format -msgid "Diffusion" -msgstr "Diffusion" - -#: backend/fujitsu.c:695 -#, no-c-format -msgid "White" -msgstr "White" - -#: backend/fujitsu.c:696 -#, no-c-format -msgid "Black" -msgstr "Black" - -#: backend/fujitsu.c:701 -#, no-c-format -msgid "Continue" -msgstr "Continue" - -#: backend/fujitsu.c:702 -#, no-c-format -msgid "Stop" -msgstr "Stop" - -#: backend/fujitsu.c:704 -#, no-c-format -msgid "10mm" -msgstr "10mm" - -#: backend/fujitsu.c:705 -#, no-c-format -msgid "15mm" -msgstr "15mm" - -#: backend/fujitsu.c:706 -#, no-c-format -msgid "20mm" -msgstr "20mm" - -#: backend/fujitsu.c:708 backend/hp-option.c:3045 -#, no-c-format -msgid "Horizontal" -msgstr "Horizontal" - -#: backend/fujitsu.c:709 -#, no-c-format -msgid "Horizontal bold" -msgstr "Horizontal bold" - -#: backend/fujitsu.c:710 -#, no-c-format -msgid "Horizontal narrow" -msgstr "Horizontal narrow" - -#: backend/fujitsu.c:711 backend/hp-option.c:3044 -#, no-c-format -msgid "Vertical" -msgstr "Vertical" - -#: backend/fujitsu.c:712 -#, no-c-format -msgid "Vertical bold" -msgstr "Vertical bold" - -#: backend/fujitsu.c:714 -#, no-c-format -msgid "Top to bottom" -msgstr "Top to bottom" - -#: backend/fujitsu.c:715 -#, no-c-format -msgid "Bottom to top" -msgstr "Bottom to top" - -#: backend/fujitsu.c:717 -#, no-c-format -msgid "Front" -msgstr "Front" - -#: backend/fujitsu.c:718 -#, no-c-format -msgid "Back" -msgstr "Back" - -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 -#, no-c-format -msgid "Gamma function exponent" -msgstr "Gamma function exponent" - -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "Changes intensity of midtones" - -#: backend/fujitsu.c:3147 -#, no-c-format -msgid "RIF" -msgstr "RIF" - -#: backend/fujitsu.c:3148 -#, no-c-format -msgid "Reverse image format" -msgstr "Reverse image format" - -#: backend/fujitsu.c:3165 -#, no-c-format -msgid "Halftone type" -msgstr "Halftone type" - -#: backend/fujitsu.c:3166 -#, no-c-format -msgid "Control type of halftone filter" -msgstr "Control type of halftone filter" - -#: backend/fujitsu.c:3187 -#, no-c-format -msgid "Control pattern of halftone filter" -msgstr "Control pattern of halftone filter" - -#: backend/fujitsu.c:3209 -#, no-c-format -msgid "Outline" -msgstr "Outline" - -#: backend/fujitsu.c:3210 -#, no-c-format -msgid "Perform outline extraction" -msgstr "Perform outline extraction" - -#: backend/fujitsu.c:3221 -#, no-c-format -msgid "Emphasis" -msgstr "Emphasis" - -#: backend/fujitsu.c:3222 -#, no-c-format -msgid "Negative to smooth or positive to sharpen image" -msgstr "Negative to smooth or positive to sharpen image" - -#: backend/fujitsu.c:3240 -#, no-c-format -msgid "Separation" -msgstr "Separation" - -#: backend/fujitsu.c:3241 -#, no-c-format -msgid "Enable automatic separation of image and text" -msgstr "Enable automatic separation of image and text" - -#: backend/fujitsu.c:3252 -#, no-c-format -msgid "Mirroring" -msgstr "Mirroring" - -#: backend/fujitsu.c:3253 -#, no-c-format -msgid "Reflect output image horizontally" -msgstr "Reflect output image horizontally" - -#: backend/fujitsu.c:3270 -#, no-c-format -msgid "White level follower" -msgstr "White level follower" - -#: backend/fujitsu.c:3271 -#, no-c-format -msgid "Control white level follower" -msgstr "Control white level follower" - -#: backend/fujitsu.c:3289 -#, no-c-format -msgid "BP filter" -msgstr "BP filter" - -#: backend/fujitsu.c:3290 -#, no-c-format -msgid "Improves quality of high resolution ball-point pen text" -msgstr "Improves quality of high resolution ball-point pen text" - -#: backend/fujitsu.c:3306 backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Smoothing" - -#: backend/fujitsu.c:3307 -#, no-c-format -msgid "Enable smoothing for improved OCR" -msgstr "Enable smoothing for improved OCR" - -#: backend/fujitsu.c:3323 -#, no-c-format -msgid "Gamma curve" -msgstr "Gamma curve" - -#: backend/fujitsu.c:3324 -#, no-c-format -msgid "Gamma curve, from light to dark, but upper two may not work" -msgstr "Gamma curve, from light to dark, but upper two may not work" - -#: backend/fujitsu.c:3346 backend/genesys.c:5832 -#: backend/pixma_sane_options.c:335 -#, no-c-format -msgid "Threshold curve" -msgstr "Threshold curve" - -#: backend/fujitsu.c:3347 -#, no-c-format -msgid "" -"Threshold curve, from light to dark, but upper two may not be linear" -msgstr "" -"Threshold curve, from light to dark, but upper two may not be linear" - -#: backend/fujitsu.c:3369 -#, no-c-format -msgid "Threshold white" -msgstr "Threshold white" - -#: backend/fujitsu.c:3370 -#, no-c-format -msgid "Set pixels equal to threshold to white instead of black" -msgstr "Set pixels equal to threshold to white instead of black" - -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 -#, no-c-format -msgid "Noise removal" -msgstr "Noise removal" - -#: backend/fujitsu.c:3403 -#, no-c-format -msgid "Matrix 5x5" -msgstr "Matrix 5x5" - -#: backend/fujitsu.c:3404 -#, no-c-format -msgid "Remove 5 pixel square noise" -msgstr "Remove 5 pixel square noise" - -#: backend/fujitsu.c:3420 -#, no-c-format -msgid "Matrix 4x4" -msgstr "Matrix 4x4" - -#: backend/fujitsu.c:3421 -#, no-c-format -msgid "Remove 4 pixel square noise" -msgstr "Remove 4 pixel square noise" - -#: backend/fujitsu.c:3437 -#, no-c-format -msgid "Matrix 3x3" -msgstr "Matrix 3x3" - -#: backend/fujitsu.c:3438 -#, no-c-format -msgid "Remove 3 pixel square noise" -msgstr "Remove 3 pixel square noise" - -#: backend/fujitsu.c:3454 -#, no-c-format -msgid "Matrix 2x2" -msgstr "Matrix 2x2" - -#: backend/fujitsu.c:3455 -#, no-c-format -msgid "Remove 2 pixel square noise" -msgstr "Remove 2 pixel square noise" - -#: backend/fujitsu.c:3474 -#, no-c-format -msgid "Variance" -msgstr "Variance" - -#: backend/fujitsu.c:3475 -#, no-c-format -msgid "Set SDTC variance rate (sensitivity), 0 equals 127" -msgstr "Set SDTC variance rate (sensitivity), 0 equals 127" - -#: backend/fujitsu.c:3508 -#, no-c-format -msgid "Auto width detection" -msgstr "Auto width detection" - -#: backend/fujitsu.c:3509 -#, no-c-format -msgid "Scanner detects paper sides. May reduce scanning speed." -msgstr "Scanner detects paper sides. May reduce scanning speed." - -#: backend/fujitsu.c:3526 -#, no-c-format -msgid "Auto length detection" -msgstr "Auto length detection" - -#: backend/fujitsu.c:3527 -#, no-c-format -msgid "Scanner detects paper lower edge. May confuse some frontends." -msgstr "Scanner detects paper lower edge. May confuse some frontends." - -#: backend/fujitsu.c:3553 -#, no-c-format -msgid "Compression" -msgstr "Compression" - -#: backend/fujitsu.c:3554 -#, no-c-format -msgid "Enable compressed data. May crash your front-end program" -msgstr "Enable compressed data. May crash your front-end program" - -#: backend/fujitsu.c:3574 -#, no-c-format -msgid "Compression argument" -msgstr "Compression argument" - -#: backend/fujitsu.c:3575 -#, no-c-format -msgid "" -"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " -"is same as 4" -msgstr "" -"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " -"is same as 4" - -#: backend/fujitsu.c:3605 -#, no-c-format -msgid "DF action" -msgstr "DF action" - -#: backend/fujitsu.c:3606 -#, no-c-format -msgid "Action following double feed error" -msgstr "Action following double feed error" - -#: backend/fujitsu.c:3622 -#, no-c-format -msgid "DF skew" -msgstr "DF skew" - -#: backend/fujitsu.c:3623 -#, no-c-format -msgid "Enable double feed error due to skew" -msgstr "Enable double feed error due to skew" - -#: backend/fujitsu.c:3641 -#, no-c-format -msgid "DF thickness" -msgstr "DF thickness" - -#: backend/fujitsu.c:3642 -#, no-c-format -msgid "Enable double feed error due to paper thickness" -msgstr "Enable double feed error due to paper thickness" - -#: backend/fujitsu.c:3660 -#, no-c-format -msgid "DF length" -msgstr "DF length" - -#: backend/fujitsu.c:3661 -#, no-c-format -msgid "Enable double feed error due to paper length" -msgstr "Enable double feed error due to paper length" - -#: backend/fujitsu.c:3684 -#, no-c-format -msgid "DF length difference" -msgstr "DF length difference" - -#: backend/fujitsu.c:3685 -#, no-c-format -msgid "Difference in page length to trigger double feed error" -msgstr "Difference in page length to trigger double feed error" - -#: backend/fujitsu.c:3708 -#, no-c-format -msgid "DF recovery mode" -msgstr "DF recovery mode" - -#: backend/fujitsu.c:3709 -#, no-c-format -msgid "Request scanner to reverse feed on paper jam" -msgstr "Request scanner to reverse feed on paper jam" - -#: backend/fujitsu.c:3728 -#, no-c-format -msgid "Paper protection" -msgstr "Paper protection" - -#: backend/fujitsu.c:3729 -#, no-c-format -msgid "Request scanner to predict jams in the ADF" -msgstr "Request scanner to predict jams in the ADF" - -#: backend/fujitsu.c:3748 -#, no-c-format -msgid "Advanced paper protection" -msgstr "Advanced paper protection" - -#: backend/fujitsu.c:3749 -#, no-c-format -msgid "Request scanner to predict jams in the ADF using improved sensors" -msgstr "Request scanner to predict jams in the ADF using improved sensors" - -#: backend/fujitsu.c:3768 -#, no-c-format -msgid "Staple detection" -msgstr "Staple detection" - -#: backend/fujitsu.c:3769 -#, no-c-format -msgid "Request scanner to detect jams in the ADF caused by staples" -msgstr "Request scanner to detect jams in the ADF caused by staples" - -#: backend/fujitsu.c:3788 -#, no-c-format -msgid "Background color" -msgstr "Background color" - -#: backend/fujitsu.c:3789 -#, no-c-format -msgid "" -"Set color of background for scans. May conflict with overscan option" -msgstr "" -"Set color of background for scans. May conflict with overscan option" - -#: backend/fujitsu.c:3809 -#, no-c-format -msgid "Dropout color" -msgstr "Dropout color" - -#: backend/fujitsu.c:3810 -#, no-c-format -msgid "" -"One-pass scanners use only one color during gray or binary scanning, " -"useful for colored paper or ink" -msgstr "" -"One-pass scanners use only one color during gray or binary scanning, " -"useful for colored paper or ink" - -#: backend/fujitsu.c:3833 -#, no-c-format -msgid "Buffer mode" -msgstr "Buffer mode" - -#: backend/fujitsu.c:3834 -#, no-c-format -msgid "Request scanner to read pages quickly from ADF into internal memory" -msgstr "" -"Request scanner to read pages quickly from ADF into internal memory" - -#: backend/fujitsu.c:3853 -#, no-c-format -msgid "Prepick" -msgstr "Prepick" - -#: backend/fujitsu.c:3854 -#, no-c-format -msgid "Request scanner to grab next page from ADF" -msgstr "Request scanner to grab next page from ADF" - -#: backend/fujitsu.c:3873 -#, no-c-format -msgid "Overscan" -msgstr "Overscan" - -#: backend/fujitsu.c:3874 -#, no-c-format -msgid "" -"Collect a few mm of background on top side of scan, before paper enters " -"ADF, and increase maximum scan area beyond paper size, to allow " -"collection on remaining sides. May conflict with bgcolor option" -msgstr "" -"Collect a few mm of background on top side of scan, before paper enters " -"ADF, and increase maximum scan area beyond paper size, to allow " -"collection on remaining sides. May conflict with bgcolor option" - -#: backend/fujitsu.c:3892 -#, no-c-format -msgid "Sleep timer" -msgstr "Sleep timer" - -#: backend/fujitsu.c:3893 -#, no-c-format -msgid "" -"Time in minutes until the internal power supply switches to sleep mode" -msgstr "" -"Time in minutes until the internal power supply switches to sleep mode" - -#: backend/fujitsu.c:3911 -#, no-c-format -msgid "Off timer" -msgstr "Off timer" - -#: backend/fujitsu.c:3912 -#, no-c-format -msgid "" -"Time in minutes until the internal power supply switches the scanner " -"off. Will be rounded to nearest 15 minutes. Zero means never power off." -msgstr "" -"Time in minutes until the internal power supply switches the scanner " -"off. Will be rounded to nearest 15 minutes. Zero means never power off." - -#: backend/fujitsu.c:3930 -#, no-c-format -msgid "Duplex offset" -msgstr "Duplex offset" - -#: backend/fujitsu.c:3931 -#, no-c-format -msgid "Adjust front/back offset" -msgstr "Adjust front/back offset" - -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Green offset" - -#: backend/fujitsu.c:3949 -#, no-c-format -msgid "Adjust green/red offset" -msgstr "Adjust green/red offset" - -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Blue offset" - -#: backend/fujitsu.c:3967 -#, no-c-format -msgid "Adjust blue/red offset" -msgstr "Adjust blue/red offset" - -#: backend/fujitsu.c:3980 -#, no-c-format -msgid "Low Memory" -msgstr "Low Memory" - -#: backend/fujitsu.c:3981 -#, no-c-format -msgid "" -"Limit driver memory usage for use in embedded systems. Causes some " -"duplex transfers to alternate sides on each call to sane_read. Value of " -"option 'side' can be used to determine correct image. This option should " -"only be used with custom front-end software." -msgstr "" -"Limit driver memory usage for use in embedded systems. Causes some " -"duplex transfers to alternate sides on each call to sane_read. Value of " -"option ‘side’ can be used to determine correct image. This option " -"should only be used with custom front-end software." - -#: backend/fujitsu.c:3996 -#, no-c-format -msgid "Duplex side" -msgstr "Duplex side" - -#: backend/fujitsu.c:3997 -#, no-c-format -msgid "" -"Tells which side (0=front, 1=back) of a duplex scan the next call to " -"sane_read will return." -msgstr "" -"Tells which side (0=front, 1=back) of a duplex scan the next call to " -"sane_read will return." - -#: backend/fujitsu.c:4008 -#, no-c-format -msgid "Hardware deskew and crop" -msgstr "Hardware deskew and crop" - -#: backend/fujitsu.c:4009 -#, no-c-format -msgid "Request scanner to rotate and crop pages digitally." -msgstr "Request scanner to rotate and crop pages digitally." - -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "Software deskew" - -#: backend/fujitsu.c:4021 -#, no-c-format -msgid "Request driver to rotate skewed pages digitally." -msgstr "Request driver to rotate skewed pages digitally." - -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "Software despeckle diameter" - -#: backend/fujitsu.c:4034 -#, no-c-format -msgid "Maximum diameter of lone dots to remove from scan." -msgstr "Maximum diameter of lone dots to remove from scan." - -#: backend/fujitsu.c:4053 backend/genesys.c:5760 -#, no-c-format -msgid "Software crop" -msgstr "Software crop" - -#: backend/fujitsu.c:4054 -#, no-c-format -msgid "Request driver to remove border from pages digitally." -msgstr "Request driver to remove border from pages digitally." - -#: backend/fujitsu.c:4083 -#, no-c-format -msgid "Halt on Cancel" -msgstr "Halt on Cancel" - -#: backend/fujitsu.c:4084 -#, no-c-format -msgid "" -"Request driver to halt the paper feed instead of eject during a cancel." -msgstr "" -"Request driver to halt the paper feed instead of eject during a cancel." - -#: backend/fujitsu.c:4095 -#, no-c-format -msgid "Endorser Options" -msgstr "Endorser Options" - -#: backend/fujitsu.c:4096 -#, no-c-format -msgid "Controls for endorser unit" -msgstr "Controls for endorser unit" - -#: backend/fujitsu.c:4107 -#, no-c-format -msgid "Endorser" -msgstr "Endorser" - -#: backend/fujitsu.c:4108 -#, no-c-format -msgid "Enable endorser unit" -msgstr "Enable endorser unit" - -#: backend/fujitsu.c:4123 -#, no-c-format -msgid "Endorser bits" -msgstr "Endorser bits" - -#: backend/fujitsu.c:4124 -#, no-c-format -msgid "Determines maximum endorser counter value." -msgstr "Determines maximum endorser counter value." - -#: backend/fujitsu.c:4149 -#, no-c-format -msgid "Endorser value" -msgstr "Endorser value" - -#: backend/fujitsu.c:4150 -#, no-c-format -msgid "Initial endorser counter value." -msgstr "Initial endorser counter value." - -#: backend/fujitsu.c:4173 -#, no-c-format -msgid "Endorser step" -msgstr "Endorser step" - -#: backend/fujitsu.c:4174 -#, no-c-format -msgid "Change endorser counter value by this much for each page." -msgstr "Change endorser counter value by this much for each page." - -#: backend/fujitsu.c:4197 -#, no-c-format -msgid "Endorser Y" -msgstr "Endorser Y" - -#: backend/fujitsu.c:4198 -#, no-c-format -msgid "Endorser print offset from top of paper." -msgstr "Endorser print offset from top of paper." - -#: backend/fujitsu.c:4223 -#, no-c-format -msgid "Endorser font" -msgstr "Endorser font" - -#: backend/fujitsu.c:4224 -#, no-c-format -msgid "Endorser printing font." -msgstr "Endorser printing font." - -#: backend/fujitsu.c:4253 -#, no-c-format -msgid "Endorser direction" -msgstr "Endorser direction" - -#: backend/fujitsu.c:4254 -#, no-c-format -msgid "Endorser printing direction." -msgstr "Endorser printing direction." - -#: backend/fujitsu.c:4278 -#, no-c-format -msgid "Endorser side" -msgstr "Endorser side" - -#: backend/fujitsu.c:4279 -#, no-c-format -msgid "Endorser printing side, requires hardware support to change" -msgstr "Endorser printing side, requires hardware support to change" - -#: backend/fujitsu.c:4304 -#, no-c-format -msgid "Endorser string" -msgstr "Endorser string" - -#: backend/fujitsu.c:4305 -#, no-c-format -msgid "" -"Endorser alphanumeric print format. %05ud or %08ud at the end will be " -"replaced by counter value." -msgstr "" -"Endorser alphanumeric print format. %05ud or %08ud at the end will be " -"replaced by counter value." - -#: backend/fujitsu.c:4332 -#, no-c-format -msgid "Top edge" -msgstr "Top edge" - -#: backend/fujitsu.c:4333 -#, no-c-format -msgid "Paper is pulled partly into adf" -msgstr "Paper is pulled partly into adf" - -#: backend/fujitsu.c:4344 -#, no-c-format -msgid "A3 paper" -msgstr "A3 paper" - -#: backend/fujitsu.c:4345 -#, no-c-format -msgid "A3 paper detected" -msgstr "A3 paper detected" - -#: backend/fujitsu.c:4356 -#, no-c-format -msgid "B4 paper" -msgstr "B4 paper" - -#: backend/fujitsu.c:4357 -#, no-c-format -msgid "B4 paper detected" -msgstr "B4 paper detected" - -#: backend/fujitsu.c:4368 -#, no-c-format -msgid "A4 paper" -msgstr "A4 paper" - -#: backend/fujitsu.c:4369 -#, no-c-format -msgid "A4 paper detected" -msgstr "A4 paper detected" - -#: backend/fujitsu.c:4380 -#, no-c-format -msgid "B5 paper" -msgstr "B5 paper" - -#: backend/fujitsu.c:4381 -#, no-c-format -msgid "B5 paper detected" -msgstr "B5 paper detected" - -#: backend/fujitsu.c:4404 -#, no-c-format -msgid "OMR or DF" -msgstr "OMR or DF" - -#: backend/fujitsu.c:4405 -#, no-c-format -msgid "OMR or double feed detected" -msgstr "OMR or double feed detected" - -#: backend/fujitsu.c:4428 -#, no-c-format -msgid "Power saving" -msgstr "Power saving" - -#: backend/fujitsu.c:4429 -#, no-c-format -msgid "Scanner in power saving mode" -msgstr "Scanner in power saving mode" - -#: backend/fujitsu.c:4452 -#, no-c-format -msgid "Manual feed" -msgstr "Manual feed" - -#: backend/fujitsu.c:4453 -#, no-c-format -msgid "Manual feed selected" -msgstr "Manual feed selected" - -#: backend/fujitsu.c:4476 -#, no-c-format -msgid "Function" -msgstr "Function" - -#: backend/fujitsu.c:4477 -#, no-c-format -msgid "Function character on screen" -msgstr "Function character on screen" - -#: backend/fujitsu.c:4488 -#, no-c-format -msgid "Ink low" -msgstr "Ink low" - -#: backend/fujitsu.c:4489 -#, no-c-format -msgid "Imprinter ink running low" -msgstr "Imprinter ink running low" - -#: backend/fujitsu.c:4500 -#, no-c-format -msgid "Double feed" -msgstr "Double feed" - -#: backend/fujitsu.c:4501 -#, no-c-format -msgid "Double feed detected" -msgstr "Double feed detected" - -#: backend/fujitsu.c:4512 -#, no-c-format -msgid "Error code" -msgstr "Error code" - -#: backend/fujitsu.c:4513 -#, no-c-format -msgid "Hardware error code" -msgstr "Hardware error code" - -#: backend/fujitsu.c:4524 -#, no-c-format -msgid "Skew angle" -msgstr "Skew angle" - -#: backend/fujitsu.c:4525 -#, no-c-format -msgid "Requires black background for scanning" -msgstr "Requires black background for scanning" - -#: backend/fujitsu.c:4536 -#, no-c-format -msgid "Ink remaining" -msgstr "Ink remaining" - -#: backend/fujitsu.c:4537 -#, no-c-format -msgid "Imprinter ink level" -msgstr "Imprinter ink level" - -#: backend/fujitsu.c:4548 -#, no-c-format -msgid "Density" -msgstr "Density" - -#: backend/fujitsu.c:4549 -#, no-c-format -msgid "Density dial" -msgstr "Density dial" - -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 -#, no-c-format -msgid "Duplex switch" -msgstr "Duplex switch" - -#: backend/genesys.c:5761 -#, no-c-format -msgid "Request backend to remove border from pages digitally" -msgstr "Request backend to remove border from pages digitally" - -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 -#, no-c-format -msgid "Request driver to discard pages with low numbers of dark pixels" -msgstr "Request driver to discard pages with low numbers of dark pixels" - -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 -#, no-c-format -msgid "Software derotate" -msgstr "Software derotate" - -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 -#, no-c-format -msgid "Request driver to detect and correct 90 degree image rotation" -msgstr "Request driver to detect and correct 90 degree image rotation" - -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 -#, no-c-format -msgid "Extras" -msgstr "Extras" - -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 -#, no-c-format -msgid "Dynamic threshold curve, from light to dark, normally 50-65" -msgstr "Dynamic threshold curve, from light to dark, normally 50-65" - -#: backend/genesys.c:5842 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "Disable dynamic lineart" - -#: backend/genesys.c:5844 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." - -#: backend/genesys.c:5860 -#, no-c-format -msgid "Disable interpolation" -msgstr "Disable interpolation" - -#: backend/genesys.c:5863 -#, no-c-format -msgid "" -"When using high resolutions where the horizontal resolution is smaller " -"than the vertical resolution this disables horizontal interpolation." -msgstr "" -"When using high resolutions where the horizontal resolution is smaller " -"than the vertical resolution this disables horizontal interpolation." - -#: backend/genesys.c:5872 -#, no-c-format -msgid "Color filter" -msgstr "Color filter" - -#: backend/genesys.c:5875 -#, no-c-format -msgid "When using gray or lineart this option selects the used color." -msgstr "When using gray or lineart this option selects the used color." - -#: backend/genesys.c:5901 -#, no-c-format -msgid "Calibration file" -msgstr "Calibration file" - -#: backend/genesys.c:5902 -#, no-c-format -msgid "Specify the calibration file to use" -msgstr "Specify the calibration file to use" - -#: backend/genesys.c:5919 -#, no-c-format -msgid "Calibration cache expiration time" -msgstr "Calibration cache expiration time" - -#: backend/genesys.c:5920 -#, no-c-format -msgid "" -"Time (in minutes) before a cached calibration expires. A value of 0 " -"means cache is not used. A negative value means cache never expires." -msgstr "" -"Time (in minutes) before a cached calibration expires. A value of 0 " -"means cache is not used. A negative value means cache never expires." - -#: backend/genesys.c:5930 -#, no-c-format -msgid "Lamp off time" -msgstr "Lamp off time" - -#: backend/genesys.c:5933 -#, no-c-format -msgid "" -"The lamp will be turned off after the given time (in minutes). A value " -"of 0 means, that the lamp won't be turned off." -msgstr "" -"The lamp will be turned off after the given time (in minutes). A value " -"of 0 means, that the lamp won't be turned off." - -#: backend/genesys.c:5943 -#, no-c-format -msgid "Lamp off during scan" -msgstr "Lamp off during scan" - -#: backend/genesys.c:5944 -#, no-c-format -msgid "The lamp will be turned off during scan. " -msgstr "The lamp will be turned off during scan. " - -#: backend/genesys.c:5972 backend/genesys.c:5973 -#, no-c-format -msgid "File button" -msgstr "File button" - -#: backend/genesys.c:6025 backend/genesys.c:6026 -#, no-c-format -msgid "OCR button" -msgstr "OCR button" - -#: backend/genesys.c:6039 backend/genesys.c:6040 -#, no-c-format -msgid "Power button" -msgstr "Power button" - -#: backend/genesys.c:6053 backend/genesys.c:6054 -#, no-c-format -msgid "Extra button" -msgstr "Extra button" - -#: backend/genesys.c:6067 backend/gt68xx.c:762 -#, no-c-format -msgid "Need calibration" -msgstr "Need calibration" - -#: backend/genesys.c:6068 backend/gt68xx.c:763 -#, no-c-format -msgid "The scanner needs calibration for the current settings" -msgstr "The scanner needs calibration for the current settings" - -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 -#, no-c-format -msgid "Buttons" -msgstr "Buttons" - -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 -#, no-c-format -msgid "Calibrate" -msgstr "Calibrate" - -#: backend/genesys.c:6091 backend/gt68xx.c:796 -#, no-c-format -msgid "Start calibration using special sheet" -msgstr "Start calibration using special sheet" - -#: backend/genesys.c:6105 backend/gt68xx.c:809 -#, no-c-format -msgid "Clear calibration" -msgstr "Clear calibration" - -#: backend/genesys.c:6106 backend/gt68xx.c:810 -#, no-c-format -msgid "Clear calibration cache" -msgstr "Clear calibration cache" - -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 -#, no-c-format -msgid "Transparency Adapter" -msgstr "Transparency Adapter" - -#: backend/gt68xx.c:477 -#, no-c-format -msgid "Gray mode color" -msgstr "Gray mode color" - -#: backend/gt68xx.c:479 -#, no-c-format -msgid "Selects which scan color is used gray mode (default: green)." -msgstr "Selects which scan color is used gray mode (default: green)." - -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 -#: backend/mustek_usb2.c:410 -#, no-c-format -msgid "Debugging Options" -msgstr "Debugging Options" - -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 -#, no-c-format -msgid "Automatic warmup" -msgstr "Automatic warmup" - -#: backend/gt68xx.c:573 -#, no-c-format -msgid "" -"Warm-up until the lamp's brightness is constant instead of insisting on " -"60 seconds warm-up time." -msgstr "" -"Warm-up until the lamp's brightness is constant instead of insisting on " -"60 seconds warm-up time." - -#: backend/gt68xx.c:585 -#, no-c-format -msgid "Full scan" -msgstr "Full scan" - -#: backend/gt68xx.c:587 -#, no-c-format -msgid "" -"Scan the complete scanning area including calibration strip. Be careful. " -"Don't select the full height. For testing only." -msgstr "" -"Scan the complete scanning area including calibration strip. Be careful. " -"Don't select the full height. For testing only." - -#: backend/gt68xx.c:598 -#, no-c-format -msgid "Coarse calibration" -msgstr "Coarse calibration" - -#: backend/gt68xx.c:600 -#, no-c-format -msgid "" -"Setup gain and offset for scanning automatically. If this option is " -"disabled, options for setting the analog frontend parameters manually " -"are provided. This option is enabled by default. For testing only." -msgstr "" -"Setup gain and offset for scanning automatically. If this option is " -"disabled, options for setting the analog frontend parameters manually " -"are provided. This option is enabled by default. For testing only." - -#: backend/gt68xx.c:619 -#, no-c-format -msgid "Coarse calibration for first scan only" -msgstr "Coarse calibration for first scan only" - -#: backend/gt68xx.c:621 -#, no-c-format -msgid "" -"Coarse calibration is only done for the first scan. Works with most " -"scanners and can save scanning time. If the image brightness is " -"different with each scan, disable this option. For testing only." -msgstr "" -"Coarse calibration is only done for the first scan. Works with most " -"scanners and can save scanning time. If the image brightness is " -"different with each scan, disable this option. For testing only." - -#: backend/gt68xx.c:654 -#, no-c-format -msgid "Backtrack lines" -msgstr "Backtrack lines" - -#: backend/gt68xx.c:656 -#, no-c-format -msgid "" -"Number of lines the scan slider moves back when backtracking occurs. " -"That happens when the scanner scans faster than the computer can receive " -"the data. Low values cause faster scans but increase the risk of " -"omitting lines." -msgstr "" -"Number of lines the scan slider moves back when backtracking occurs. " -"That happens when the scanner scans faster than the computer can receive " -"the data. Low values cause faster scans but increase the risk of " -"omitting lines." - -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 -#, no-c-format -msgid "Gamma value" -msgstr "Gamma value" - -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 -#, no-c-format -msgid "Sets the gamma value of all channels." -msgstr "Sets the gamma value of all channels." - -#: backend/hp3500.c:1020 -#, no-c-format -msgid "Geometry Group" -msgstr "Geometry Group" - -#: backend/hp3500.c:1073 backend/hp3500.c:1074 -#, no-c-format -msgid "Scan Mode Group" -msgstr "Scan Mode Group" - -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 -#, no-c-format -msgid "Slide" -msgstr "Slide" - -#: backend/hp3900_sane.c:1405 -#, no-c-format -msgid "Scanner model" -msgstr "Scanner model" - -#: backend/hp3900_sane.c:1408 -#, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "Allows one to test device behaviour with other supported models" - -#: backend/hp3900_sane.c:1422 -#, no-c-format -msgid "Image colours will be inverted" -msgstr "Image colours will be inverted" - -#: backend/hp3900_sane.c:1436 -#, no-c-format -msgid "Disable gamma correction" -msgstr "Disable gamma correction" - -#: backend/hp3900_sane.c:1437 -#, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Gamma correction will be disabled" - -#: backend/hp3900_sane.c:1451 -#, no-c-format -msgid "Disable white shading correction" -msgstr "Disable white shading correction" - -#: backend/hp3900_sane.c:1453 -#, no-c-format -msgid "White shading correction will be disabled" -msgstr "White shading correction will be disabled" - -#: backend/hp3900_sane.c:1467 -#, no-c-format -msgid "Skip warmup process" -msgstr "Skip warmup process" - -#: backend/hp3900_sane.c:1468 -#, no-c-format -msgid "Warmup process will be disabled" -msgstr "Warmup process will be disabled" - -#: backend/hp3900_sane.c:1482 -#, no-c-format -msgid "Force real depth" -msgstr "Force real depth" - -#: backend/hp3900_sane.c:1485 -#, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." - -#: backend/hp3900_sane.c:1499 -#, no-c-format -msgid "Emulate Grayscale" -msgstr "Emulate Grayscale" - -#: backend/hp3900_sane.c:1502 -#, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." - -#: backend/hp3900_sane.c:1516 -#, no-c-format -msgid "Save debugging images" -msgstr "Save debugging images" - -#: backend/hp3900_sane.c:1519 -#, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." - -#: backend/hp3900_sane.c:1533 -#, no-c-format -msgid "Reset chipset" -msgstr "Reset chipset" - -#: backend/hp3900_sane.c:1534 -#, no-c-format -msgid "Resets chipset data" -msgstr "Resets chipset data" - -#: backend/hp3900_sane.c:1547 -#, no-c-format -msgid "Information" -msgstr "Information" - -#: backend/hp3900_sane.c:1560 -#, no-c-format -msgid "Chipset name" -msgstr "Chipset name" - -#: backend/hp3900_sane.c:1561 -#, no-c-format -msgid "Shows chipset name used in device." -msgstr "Shows chipset name used in device." - -#: backend/hp3900_sane.c:1565 -#, no-c-format -msgid "Unknown" -msgstr "Unknown" - -#: backend/hp3900_sane.c:1571 -#, no-c-format -msgid "Chipset ID" -msgstr "Chipset ID" - -#: backend/hp3900_sane.c:1572 -#, no-c-format -msgid "Shows the chipset ID" -msgstr "Shows the chipset ID" - -#: backend/hp3900_sane.c:1582 -#, no-c-format -msgid "Scan counter" -msgstr "Scan counter" - -#: backend/hp3900_sane.c:1584 -#, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Shows the number of scans made by scanner" - -#: backend/hp3900_sane.c:1594 -#, no-c-format -msgid "Update information" -msgstr "Update information" - -#: backend/hp3900_sane.c:1595 -#, no-c-format -msgid "Updates information about device" -msgstr "Updates information about device" - -#: backend/hp3900_sane.c:1635 -#, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "This option reflects a front panel scanner button" - -#: backend/hp5400_sane.c:313 backend/niash.c:678 -#, no-c-format -msgid "Image" -msgstr "Image" - -#: backend/hp5400_sane.c:352 backend/niash.c:709 -#, no-c-format -msgid "Miscellaneous" -msgstr "Miscellaneous" - -#: backend/hp5400_sane.c:358 -#, no-c-format -msgid "offset X" -msgstr "offset X" - -#: backend/hp5400_sane.c:359 -#, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Hardware internal X position of the scanning area." - -#: backend/hp5400_sane.c:368 -#, no-c-format -msgid "offset Y" -msgstr "offset Y" - -#: backend/hp5400_sane.c:369 -#, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Hardware internal Y position of the scanning area." - -#: backend/hp5400_sane.c:381 backend/niash.c:716 -#, no-c-format -msgid "Lamp status" -msgstr "Lamp status" - -#: backend/hp5400_sane.c:382 backend/niash.c:717 -#, no-c-format -msgid "Switches the lamp on or off." -msgstr "Switches the lamp on or off." - -#: backend/hp5400_sane.c:393 backend/niash.c:727 -#, no-c-format -msgid "Calibrates for black and white level." -msgstr "Calibrates for black and white level." - -#: backend/hp5590.c:86 backend/hp-option.c:3253 -#, no-c-format -msgid "ADF" -msgstr "ADF" - -#: backend/hp5590.c:88 -#, no-c-format -msgid "TMA Slides" -msgstr "TMA Slides" - -#: backend/hp5590.c:89 -#, no-c-format -msgid "TMA Negatives" -msgstr "TMA Negatives" - -#: backend/hp5590.c:92 -#, no-c-format -msgid "Color (48 bits)" -msgstr "Color (48 bits)" - -#: backend/hp5590.c:95 -#, no-c-format -msgid "Extend lamp timeout" -msgstr "Extend lamp timeout" - -#: backend/hp5590.c:96 -#, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "Extends lamp timeout (from 15 minutes to 1 hour)" - -#: backend/hp5590.c:98 -#, no-c-format -msgid "Wait for button" -msgstr "Wait for button" - -#: backend/hp5590.c:99 -#, no-c-format -msgid "Waits for button before scanning" -msgstr "Waits for button before scanning" - -#: backend/hp-option.c:2984 -#, no-c-format -msgid "Advanced Options" -msgstr "Advanced Options" - -#: backend/hp-option.c:3041 -#, no-c-format -msgid "Coarse" -msgstr "Coarse" - -#: backend/hp-option.c:3042 -#, no-c-format -msgid "Fine" -msgstr "Fine" - -#: backend/hp-option.c:3043 -#, no-c-format -msgid "Bayer" -msgstr "Bayer" - -#: backend/hp-option.c:3046 backend/hp-option.c:3097 -#, no-c-format -msgid "Custom" -msgstr "Custom" - -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 -#, no-c-format -msgid "Auto" -msgstr "Auto" - -#: backend/hp-option.c:3088 -#, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" - -#: backend/hp-option.c:3089 -#, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" - -#: backend/hp-option.c:3090 -#, no-c-format -msgid "Pass-through" -msgstr "Pass-through" - -#: backend/hp-option.c:3091 -#, no-c-format -msgid "NTSC Gray" -msgstr "NTSC Gray" - -#: backend/hp-option.c:3092 -#, no-c-format -msgid "XPA Gray" -msgstr "XPA Gray" - -#: backend/hp-option.c:3144 -#, no-c-format -msgid "Slow" -msgstr "Slow" - -#: backend/hp-option.c:3145 backend/hp-option.c:3252 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 -#, no-c-format -msgid "Normal" -msgstr "Normal" - -#: backend/hp-option.c:3146 -#, no-c-format -msgid "Fast" -msgstr "Fast" - -#: backend/hp-option.c:3147 -#, no-c-format -msgid "Extra Fast" -msgstr "Extra Fast" - -#: backend/hp-option.c:3160 -#, no-c-format -msgid "2-pixel" -msgstr "2-pixel" - -#: backend/hp-option.c:3161 -#, no-c-format -msgid "4-pixel" -msgstr "4-pixel" - -#: backend/hp-option.c:3162 -#, no-c-format -msgid "8-pixel" -msgstr "8-pixel" - -#: backend/hp-option.c:3173 -#, no-c-format -msgid "Print" -msgstr "Print" - -#: backend/hp-option.c:3175 -#, no-c-format -msgid "Film-strip" -msgstr "Film-strip" - -#: backend/hp-option.c:3254 -#, no-c-format -msgid "XPA" -msgstr "XPA" - -#: backend/hp-option.c:3328 backend/hp-option.c:3341 -#, no-c-format -msgid "Conditional" -msgstr "Conditional" - -#: backend/hp-option.c:3414 -#, no-c-format -msgid "Experiment" -msgstr "Experiment" - -#: backend/hp-option.h:60 -#, no-c-format -msgid "Sharpening" -msgstr "Sharpening" - -#: backend/hp-option.h:61 -#, no-c-format -msgid "Set sharpening value." -msgstr "Set sharpening value." - -#: backend/hp-option.h:66 -#, no-c-format -msgid "Auto Threshold" -msgstr "Auto Threshold" - -#: backend/hp-option.h:68 -#, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "Enable automatic determination of threshold for line-art scans." - -#: backend/hp-option.h:74 -#, no-c-format -msgid "Select smoothing filter." -msgstr "Select smoothing filter." - -#: backend/hp-option.h:79 -#, no-c-format -msgid "Unload media after scan" -msgstr "Unload media after scan" - -#: backend/hp-option.h:80 -#, no-c-format -msgid "Unloads the media after a scan." -msgstr "Unloads the media after a scan." - -#: backend/hp-option.h:85 -#, no-c-format -msgid "Change document" -msgstr "Change document" - -#: backend/hp-option.h:86 -#, no-c-format -msgid "Change Document." -msgstr "Change Document." - -#: backend/hp-option.h:91 -#, no-c-format -msgid "Unload" -msgstr "Unload" - -#: backend/hp-option.h:92 -#, no-c-format -msgid "Unload Document." -msgstr "Unload Document." - -#: backend/hp-option.h:98 -#, no-c-format -msgid "Start calibration process." -msgstr "Start calibration process." - -#: backend/hp-option.h:103 -#, no-c-format -msgid "Media" -msgstr "Media" - -#: backend/hp-option.h:104 -#, no-c-format -msgid "Set type of media." -msgstr "Set type of media." - -#: backend/hp-option.h:109 -#, no-c-format -msgid "Exposure time" -msgstr "Exposure time" - -#: backend/hp-option.h:111 -#, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and “Negative” for " -"negative film. For dark (underexposed) images you can increase this " -"value." - -#: backend/hp-option.h:119 backend/hp-option.h:126 -#, no-c-format -msgid "Color Matrix" -msgstr "Color Matrix" - -#: backend/hp-option.h:121 -#, no-c-format -msgid "Set the scanners color matrix." -msgstr "Set the scanners color matrix." - -#: backend/hp-option.h:127 -#, no-c-format -msgid "Custom color matrix." -msgstr "Custom color matrix." - -#: backend/hp-option.h:132 -#, no-c-format -msgid "Mono Color Matrix" -msgstr "Mono Color Matrix" - -#: backend/hp-option.h:133 -#, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Custom color matrix for grayscale scans." - -#: backend/hp-option.h:138 -#, no-c-format -msgid "Mirror horizontal" -msgstr "Mirror horizontal" - -#: backend/hp-option.h:139 -#, no-c-format -msgid "Mirror image horizontally." -msgstr "Mirror image horizontally." - -#: backend/hp-option.h:144 -#, no-c-format -msgid "Mirror vertical" -msgstr "Mirror vertical" - -#: backend/hp-option.h:145 -#, no-c-format -msgid "Mirror image vertically." -msgstr "Mirror image vertically." - -#: backend/hp-option.h:150 -#, no-c-format -msgid "Update options" -msgstr "Update options" - -#: backend/hp-option.h:151 -#, no-c-format -msgid "Update options." -msgstr "Update options." - -#: backend/hp-option.h:156 -#, no-c-format -msgid "8 bit output" -msgstr "8 bit output" - -#: backend/hp-option.h:158 -#, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." -msgstr "" -"Use bit depth greater eight internally, but output only eight bits." - -#: backend/hp-option.h:164 -#, no-c-format -msgid "Front button wait" -msgstr "Front button wait" - -#: backend/hp-option.h:165 -#, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Wait to scan for front-panel button push." - -#: backend/hp-option.h:172 -#, no-c-format -msgid "Shut off lamp" -msgstr "Shut off lamp" - -#: backend/hp-option.h:173 -#, no-c-format -msgid "Shut off scanner lamp." -msgstr "Shut off scanner lamp." - -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 -#, no-c-format -msgid "Paper size" -msgstr "Paper size" - -#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 -#: backend/matsushita.h:227 -#, no-c-format -msgid "Automatic separation" -msgstr "Automatic separation" - -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 -#, no-c-format -msgid "Landscape" -msgstr "Landscape" - -#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 -#, no-c-format -msgid "Inverse Image" -msgstr "Inverse Image" - -#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 -#, no-c-format -msgid "Long paper mode" -msgstr "Long paper mode" - -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 -#, no-c-format -msgid "Length control mode" -msgstr "Length control mode" - -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 -#, no-c-format -msgid "Manual feed mode" -msgstr "Manual feed mode" - -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 -#, no-c-format -msgid "Manual feed timeout" -msgstr "Manual feed timeout" - -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 -#, no-c-format -msgid "Double feed detection" -msgstr "Double feed detection" - -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 -#, no-c-format -msgid "Enable Duplex (Dual-Sided) Scanning" -msgstr "Enable Duplex (Dual-Sided) Scanning" - -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 -#, no-c-format -msgid "Physical size of the paper in the ADF" -msgstr "Physical size of the paper in the ADF" - -#: backend/kvs1025_opt.c:39 -#, no-c-format -msgid "bw" -msgstr "bw" - -#: backend/kvs1025_opt.c:40 -#, no-c-format -msgid "halftone" -msgstr "halftone" - -#: backend/kvs1025_opt.c:41 -#, no-c-format -msgid "gray" -msgstr "gray" - -#: backend/kvs1025_opt.c:42 -#, no-c-format -msgid "color" -msgstr "color" - -#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 -#: backend/kvs40xx_opt.c:1047 -#, no-c-format -msgid "adf" -msgstr "adf" - -#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 -#: backend/kvs40xx_opt.c:109 -#, no-c-format -msgid "fb" -msgstr "fb" - -#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 -#: backend/kvs40xx_opt.c:101 -#, no-c-format -msgid "single" -msgstr "single" - -#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 -#: backend/kvs40xx_opt.c:1087 -#, no-c-format -msgid "continuous" -msgstr "continuous" - -#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 -#: backend/kvs40xx_opt.c:115 -#, no-c-format -msgid "off" -msgstr "off" - -#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 -#: backend/kvs40xx_opt.c:116 -#, no-c-format -msgid "wait_doc" -msgstr "wait_doc" - -#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 -#: backend/kvs40xx_opt.c:118 -#, no-c-format -msgid "wait_key" -msgstr "wait_key" - -#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 -#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 -#, no-c-format -msgid "user_def" -msgstr "user_def" - -#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 -#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 -#, no-c-format -msgid "business_card" -msgstr "business_card" - -#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 -#: backend/kvs40xx_opt.c:143 -#, no-c-format -msgid "Check" -msgstr "Check" - -#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 -#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 -#, no-c-format -msgid "A5" -msgstr "A5" - -#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 -#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 -#, no-c-format -msgid "A6" -msgstr "A6" - -#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 -#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 -#, no-c-format -msgid "B5" -msgstr "B5" - -#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 -#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 -#, no-c-format -msgid "B6" -msgstr "B6" - -#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 -#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 -#, no-c-format -msgid "Legal" -msgstr "Legal" - -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 -#, no-c-format -msgid "bayer_64" -msgstr "bayer_64" - -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 -#, no-c-format -msgid "bayer_16" -msgstr "bayer_16" - -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 -#, no-c-format -msgid "halftone_32" -msgstr "halftone_32" - -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 -#, no-c-format -msgid "halftone_64" -msgstr "halftone_64" - -#: backend/kvs1025_opt.c:153 -#, no-c-format -msgid "diffusion" -msgstr "diffusion" - -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 -#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 -#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 -#, no-c-format -msgid "normal" -msgstr "normal" - -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 -#, no-c-format -msgid "light" -msgstr "light" - -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 -#, no-c-format -msgid "dark" -msgstr "dark" - -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 -#, no-c-format -msgid "From scanner" -msgstr "From scanner" - -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 -#: backend/matsushita.c:177 -#, no-c-format -msgid "From paper" -msgstr "From paper" - -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 -#, no-c-format -msgid "default" -msgstr "default" - -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 -#: backend/kvs40xx_opt.c:209 -#, no-c-format -msgid "smooth" -msgstr "smooth" - -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 -#: backend/kvs40xx_opt.c:205 -#, no-c-format -msgid "none" -msgstr "none" - -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 -#: backend/kvs40xx_opt.c:206 -#, no-c-format -msgid "low" -msgstr "low" - -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 -#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 -#, no-c-format -msgid "medium" -msgstr "medium" - -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 -#: backend/kvs40xx_opt.c:208 -#, no-c-format -msgid "high" -msgstr "high" - -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 -#: backend/kvs40xx_opt.c:216 -#, no-c-format -msgid "crt" -msgstr "crt" - -#: backend/kvs1025_opt.c:230 -#, no-c-format -msgid "linier" -msgstr "linier" - -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 -#: backend/kvs40xx_opt.c:224 -#, no-c-format -msgid "red" -msgstr "red" - -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 -#: backend/kvs40xx_opt.c:225 -#, no-c-format -msgid "green" -msgstr "green" - -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 -#: backend/kvs40xx_opt.c:226 -#, no-c-format -msgid "blue" -msgstr "blue" - -#: backend/kvs1025_opt.c:562 -#, no-c-format -msgid "Sets the scan source" -msgstr "Sets the scan source" - -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 -#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 -#, no-c-format -msgid "Feeder mode" -msgstr "Feeder mode" - -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 -#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 -#, no-c-format -msgid "Sets the feeding mode" -msgstr "Sets the feeding mode" - -#: backend/kvs1025_opt.c:584 -#, no-c-format -msgid "Enable/Disable long paper mode" -msgstr "Enable/Disable long paper mode" - -#: backend/kvs1025_opt.c:593 -#, no-c-format -msgid "Enable/Disable length control mode" -msgstr "Enable/Disable length control mode" - -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 -#: backend/kvs40xx_opt.c:417 -#, no-c-format -msgid "Sets the manual feed mode" -msgstr "Sets the manual feed mode" - -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 -#: backend/kvs40xx_opt.c:429 -#, no-c-format -msgid "Sets the manual feed timeout in seconds" -msgstr "Sets the manual feed timeout in seconds" - -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 -#: backend/kvs40xx_opt.c:442 -#, no-c-format -msgid "Enable/Disable double feed detection" -msgstr "Enable/Disable double feed detection" - -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 -#: backend/kvs40xx_opt.c:497 -#, no-c-format -msgid "fit-to-page" -msgstr "fit-to-page" - -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 -#: backend/kvs40xx_opt.c:498 -#, no-c-format -msgid "Fit to page" -msgstr "Fit to page" - -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 -#: backend/kvs40xx_opt.c:499 -#, no-c-format -msgid "Scanner shrinks image to fit scanned page" -msgstr "Scanner shrinks image to fit scanned page" - -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 -#: backend/kvs40xx_opt.c:533 -#, no-c-format -msgid "Set paper position : true for landscape, false for portrait" -msgstr "Set paper position : true for landscape, false for portrait" - -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 -#, no-c-format -msgid "Automatic threshold" -msgstr "Automatic threshold" - -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 -#, no-c-format -msgid "" -"Automatically sets brightness, contrast, white level, gamma, noise " -"reduction and image emphasis" -msgstr "" -"Automatically sets brightness, contrast, white level, gamma, noise " -"reduction and image emphasis" - -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 -#: backend/matsushita.c:1275 -#, no-c-format -msgid "Noise reduction" -msgstr "Noise reduction" - -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 -#: backend/matsushita.c:1277 -#, no-c-format -msgid "Reduce the isolated dot noise" -msgstr "Reduce the isolated dot noise" - -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 -#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 -#, no-c-format -msgid "Image emphasis" -msgstr "Image emphasis" - -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 -#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 -#, no-c-format -msgid "Sets the image emphasis" -msgstr "Sets the image emphasis" - -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 -#: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 -#, no-c-format -msgid "Gamma" -msgstr "Gamma" - -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 -#: backend/kvs40xx_opt.c:681 -#, no-c-format -msgid "Lamp color" -msgstr "Lamp color" - -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 -#: backend/kvs40xx_opt.c:682 -#, no-c-format -msgid "Sets the lamp color (color dropout)" -msgstr "Sets the lamp color (color dropout)" - -#: backend/kvs1025_opt.c:832 -#, no-c-format -msgid "Inverse image in B/W or halftone mode" -msgstr "Inverse image in B/W or halftone mode" - -#: backend/kvs1025_opt.c:840 -#, no-c-format -msgid "Mirror image (left/right flip)" -msgstr "Mirror image (left/right flip)" - -#: backend/kvs1025_opt.c:847 -#, no-c-format -msgid "jpeg compression" -msgstr "jpeg compression" - -#: backend/kvs1025_opt.c:850 -#, no-c-format -msgid "JPEG Image Compression with Q parameter, '0' - no compression" -msgstr "" -"JPEG Image Compression with Q parameter, ‘0’ - no compression" - -#: backend/kvs1025_opt.c:860 -#, no-c-format -msgid "Rotate image clockwise" -msgstr "Rotate image clockwise" - -#: backend/kvs1025_opt.c:862 -#, no-c-format -msgid "Request driver to rotate pages by a fixed amount" -msgstr "Request driver to rotate pages by a fixed amount" - -#: backend/kvs1025_opt.c:874 -#, no-c-format -msgid "Request driver to rotate skewed pages digitally" -msgstr "Request driver to rotate skewed pages digitally" - -#: backend/kvs1025_opt.c:883 -#, no-c-format -msgid "Maximum diameter of lone dots to remove from scan" -msgstr "Maximum diameter of lone dots to remove from scan" - -#: backend/kvs1025_opt.c:902 -#, no-c-format -msgid "Software automatic cropping" -msgstr "Software automatic cropping" - -#: backend/kvs1025_opt.c:904 -#, no-c-format -msgid "Request driver to remove border from pages digitally" -msgstr "Request driver to remove border from pages digitally" - -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 -#, no-c-format -msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." -msgstr "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." - -#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 -#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 -#: backend/microtek2.h:640 -#, no-c-format -msgid "Gamma correction" -msgstr "Gamma correction" - -#: backend/kvs40xx_opt.c:117 -#, no-c-format -msgid "wait_doc_hopper_up" -msgstr "wait_doc_hopper_up" - -#: backend/kvs40xx_opt.c:127 -#, no-c-format -msgid "A3" -msgstr "A3" - -#: backend/kvs40xx_opt.c:132 -#, no-c-format -msgid "Double letter 11x17 in" -msgstr "Double letter 11x17 in" - -#: backend/kvs40xx_opt.c:133 -#, no-c-format -msgid "B4" -msgstr "B4" - -#: backend/kvs40xx_opt.c:231 -#, no-c-format -msgid "High sensivity" -msgstr "High sensivity" - -#: backend/kvs40xx_opt.c:232 -#, no-c-format -msgid "Low sensivity" -msgstr "Low sensivity" - -#: backend/kvs40xx_opt.c:243 -#, no-c-format -msgid "err_diffusion" -msgstr "err_diffusion" - -#: backend/kvs40xx_opt.c:249 -#, no-c-format -msgid "No detection" -msgstr "No detection" - -#: backend/kvs40xx_opt.c:250 -#, no-c-format -msgid "Normal mode" -msgstr "Normal mode" - -#: backend/kvs40xx_opt.c:251 -#, no-c-format -msgid "Enhanced mode" -msgstr "Enhanced mode" - -#: backend/kvs40xx_opt.c:405 -#, no-c-format -msgid "" -"Long Paper Mode is a mode that the scanner reads the image after it " -"divides long paper by the length which is set in Document Size option." -msgstr "" -"Long Paper Mode is a mode that the scanner reads the image after it " -"divides long paper by the length which is set in Document Size option." - -#: backend/kvs40xx_opt.c:449 -#, no-c-format -msgid "Double feed detector sensitivity" -msgstr "Double feed detector sensitivity" - -#: backend/kvs40xx_opt.c:450 -#, no-c-format -msgid "Set the double feed detector sensitivity" -msgstr "Set the double feed detector sensitivity" - -#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 -#, no-c-format -msgid "Do not stop after double feed detection" -msgstr "Do not stop after double feed detection" - -#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 -#, no-c-format -msgid "Ignore left double feed sensor" -msgstr "Ignore left double feed sensor" - -#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 -#, no-c-format -msgid "Ignore center double feed sensor" -msgstr "Ignore center double feed sensor" - -#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 -#, no-c-format -msgid "Ignore right double feed sensor" -msgstr "Ignore right double feed sensor" - -#: backend/kvs40xx_opt.c:642 -#, no-c-format -msgid "Automatic threshold mode" -msgstr "Automatic threshold mode" - -#: backend/kvs40xx_opt.c:643 -#, no-c-format -msgid "Sets the automatic threshold mode" -msgstr "Sets the automatic threshold mode" - -#: backend/kvs40xx_opt.c:694 -#, no-c-format -msgid "Inverse image in B/W mode" -msgstr "Inverse image in B/W mode" - -#: backend/kvs40xx_opt.c:715 -#, no-c-format -msgid "JPEG compression" -msgstr "JPEG compression" - -#: backend/kvs40xx_opt.c:718 -#, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" -msgstr "JPEG compression (yours application must be able to uncompress)" - -#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 -#, no-c-format -msgid "Detect stapled document" -msgstr "Detect stapled document" - -#: backend/kvs40xx_opt.c:776 -#, no-c-format -msgid "chroma of red" -msgstr "chroma of red" - -#: backend/kvs40xx_opt.c:777 -#, no-c-format -msgid "Set chroma of red" -msgstr "Set chroma of red" - -#: backend/kvs40xx_opt.c:787 -#, no-c-format -msgid "chroma of blue" -msgstr "chroma of blue" - -#: backend/kvs40xx_opt.c:788 -#, no-c-format -msgid "Set chroma of blue" -msgstr "Set chroma of blue" - -#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 -#, no-c-format -msgid "Skew adjustment" -msgstr "Skew adjustment" - -#: backend/kvs40xx_opt.c:808 -#, no-c-format -msgid "Stop scanner when a paper have been skewed" -msgstr "Stop scanner when a paper have been skewed" - -#: backend/kvs40xx_opt.c:809 -#, no-c-format -msgid "Scanner will be stop when a paper have been skewed" -msgstr "Scanner will be stop when a paper have been skewed" - -#: backend/kvs40xx_opt.c:816 -#, no-c-format -msgid "Crop actual image area" -msgstr "Crop actual image area" - -#: backend/kvs40xx_opt.c:817 -#, no-c-format -msgid "Scanner automatically detect image area and crop it" -msgstr "Scanner automatically detect image area and crop it" - -#: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "It is right and left reversing" - -#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 -#, no-c-format -msgid "Addition of space in top position" -msgstr "Addition of space in top position" - -#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 -#, no-c-format -msgid "Addition of space in bottom position" -msgstr "Addition of space in bottom position" - -#: backend/leo.c:110 -#, no-c-format -msgid "Diamond" -msgstr "Diamond" - -#: backend/leo.c:111 -#, no-c-format -msgid "8x8 Coarse Fatting" -msgstr "8x8 Coarse Fatting" - -#: backend/leo.c:112 -#, no-c-format -msgid "8x8 Fine Fatting" -msgstr "8x8 Fine Fatting" - -#: backend/leo.c:113 -#, no-c-format -msgid "8x8 Bayer" -msgstr "8x8 Bayer" - -#: backend/leo.c:114 -#, no-c-format -msgid "8x8 Vertical Line" -msgstr "8x8 Vertical Line" - -#: backend/lexmark.c:273 backend/umax_pp.c:715 -#, no-c-format -msgid "Gain" -msgstr "Gain" - -#: backend/lexmark.c:274 backend/umax_pp.c:716 -#, no-c-format -msgid "Color channels gain settings" -msgstr "Color channels gain settings" - -#: backend/lexmark.c:283 backend/umax_pp.c:723 -#, no-c-format -msgid "Gray gain" -msgstr "Gray gain" - -#: backend/lexmark.c:284 backend/umax_pp.c:724 -#, no-c-format -msgid "Sets gray channel gain" -msgstr "Sets gray channel gain" - -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 -#, no-c-format -msgid "Red gain" -msgstr "Red gain" - -#: backend/lexmark.c:298 backend/umax_pp.c:736 -#, no-c-format -msgid "Sets red channel gain" -msgstr "Sets red channel gain" - -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 -#, no-c-format -msgid "Green gain" -msgstr "Green gain" - -#: backend/lexmark.c:312 backend/umax_pp.c:748 -#, no-c-format -msgid "Sets green channel gain" -msgstr "Sets green channel gain" - -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 -#, no-c-format -msgid "Blue gain" -msgstr "Blue gain" - -#: backend/lexmark.c:326 backend/umax_pp.c:760 -#, no-c-format -msgid "Sets blue channel gain" -msgstr "Sets blue channel gain" - -#: backend/matsushita.c:139 -#, no-c-format -msgid "Bayer Dither 16" -msgstr "Bayer Dither 16" - -#: backend/matsushita.c:140 -#, no-c-format -msgid "Bayer Dither 64" -msgstr "Bayer Dither 64" - -#: backend/matsushita.c:141 -#, no-c-format -msgid "Halftone Dot 32" -msgstr "Halftone Dot 32" - -#: backend/matsushita.c:142 -#, no-c-format -msgid "Halftone Dot 64" -msgstr "Halftone Dot 64" - -#: backend/matsushita.c:143 -#, no-c-format -msgid "Error Diffusion" -msgstr "Error Diffusion" - -#: backend/matsushita.c:160 -#, no-c-format -msgid "Mode 1" -msgstr "Mode 1" - -#: backend/matsushita.c:161 -#, no-c-format -msgid "Mode 2" -msgstr "Mode 2" - -#: backend/matsushita.c:162 -#, no-c-format -msgid "Mode 3" -msgstr "Mode 3" - -#: backend/matsushita.c:176 -#, no-c-format -msgid "From white stick" -msgstr "From white stick" - -#: backend/matsushita.c:212 -#, no-c-format -msgid "Smooth" -msgstr "Smooth" - -#: backend/matsushita.c:214 backend/matsushita.c:229 -#, no-c-format -msgid "Low" -msgstr "Low" - -#: backend/matsushita.c:215 backend/matsushita.c:230 -#: backend/matsushita.c:1296 -#, no-c-format -msgid "Medium" -msgstr "Medium" - -#: backend/matsushita.c:216 backend/matsushita.c:231 -#, no-c-format -msgid "High" -msgstr "High" - -#: backend/matsushita.c:245 -#, no-c-format -msgid "CRT" -msgstr "CRT" - -#: backend/matsushita.c:257 -#, no-c-format -msgid "One page" -msgstr "One page" - -#: backend/matsushita.c:258 -#, no-c-format -msgid "All pages" -msgstr "All pages" - -#: backend/matsushita.c:1034 backend/plustek.c:1333 -#, no-c-format -msgid "sheetfed scanner" -msgstr "sheetfed scanner" - -#: backend/matsushita.h:209 -#, no-c-format -msgid "Grayscale 4 bits" -msgstr "Grayscale 4 bits" - -#: backend/matsushita.h:210 -#, no-c-format -msgid "Grayscale 8 bits" -msgstr "Grayscale 8 bits" - -#: backend/microtek2.h:601 -#, no-c-format -msgid "Shadow, midtone, highlight, exposure time" -msgstr "Shadow, midtone, highlight, exposure time" - -#: backend/microtek2.h:603 -#, no-c-format -msgid "Special options" -msgstr "Special options" - -#: backend/microtek2.h:604 -#, no-c-format -msgid "Color balance" -msgstr "Color balance" - -#: backend/microtek2.h:607 -#, no-c-format -msgid "Disable backtracking" -msgstr "Disable backtracking" - -#: backend/microtek2.h:608 -#, no-c-format -msgid "If checked the scanner does not perform backtracking" -msgstr "If checked the scanner does not perform backtracking" - -#: backend/microtek2.h:612 -#, no-c-format -msgid "Toggle lamp of flatbed" -msgstr "Toggle lamp of flatbed" - -#: backend/microtek2.h:613 -#, no-c-format -msgid "Toggles the lamp of the flatbed" -msgstr "Toggles the lamp of the flatbed" - -#: backend/microtek2.h:616 -#, no-c-format -msgid "Calibration by backend" -msgstr "Calibration by backend" - -#: backend/microtek2.h:617 -#, no-c-format -msgid "" -"If checked the color calibration before a scan is done by the backend" -msgstr "" -"If checked the color calibration before a scan is done by the backend" - -#: backend/microtek2.h:621 -#, no-c-format -msgid "Use the lightlid-35mm adapter" -msgstr "Use the lightlid-35mm adapter" - -#: backend/microtek2.h:622 -#, no-c-format -msgid "This option turns off the lamp of the flatbed during a scan" -msgstr "This option turns off the lamp of the flatbed during a scan" - -#: backend/microtek2.h:626 backend/snapscan-options.c:421 -#, no-c-format -msgid "Quality scan" -msgstr "Quality scan" - -#: backend/microtek2.h:627 backend/snapscan-options.c:422 -#, no-c-format -msgid "Highest quality but lower speed" -msgstr "Highest quality but lower speed" - -#: backend/microtek2.h:630 -#, no-c-format -msgid "Fast scan" -msgstr "Fast scan" - -#: backend/microtek2.h:631 -#, no-c-format -msgid "Highest speed but lower quality" -msgstr "Highest speed but lower quality" - -#: backend/microtek2.h:634 -#, no-c-format -msgid "Automatic adjustment of threshold" -msgstr "Automatic adjustment of threshold" - -#: backend/microtek2.h:635 -#, no-c-format -msgid "" -"If checked the backend automatically tries to determine an optimal value " -"for the threshold." -msgstr "" -"If checked the backend automatically tries to determine an optimal value " -"for the threshold." - -#: backend/microtek2.h:641 -#, no-c-format -msgid "Selects the gamma correction mode." -msgstr "Selects the gamma correction mode." - -#: backend/microtek2.h:644 -#, no-c-format -msgid "Bind gamma" -msgstr "Bind gamma" - -#: backend/microtek2.h:645 -#, no-c-format -msgid "Use same gamma values for all colour channels." -msgstr "Use same gamma values for all colour channels." - -#: backend/microtek2.h:649 -#, no-c-format -msgid "Scalar gamma" -msgstr "Scalar gamma" - -#: backend/microtek2.h:650 -#, no-c-format -msgid "Selects a value for scalar gamma correction." -msgstr "Selects a value for scalar gamma correction." - -#: backend/microtek2.h:654 -#, no-c-format -msgid "Scalar gamma red" -msgstr "Scalar gamma red" - -#: backend/microtek2.h:655 -#, no-c-format -msgid "Selects a value for scalar gamma correction (red channel)" -msgstr "Selects a value for scalar gamma correction (red channel)" - -#: backend/microtek2.h:659 -#, no-c-format -msgid "Scalar gamma green" -msgstr "Scalar gamma green" - -#: backend/microtek2.h:660 -#, no-c-format -msgid "Selects a value for scalar gamma correction (green channel)" -msgstr "Selects a value for scalar gamma correction (green channel)" - -#: backend/microtek2.h:664 -#, no-c-format -msgid "Scalar gamma blue" -msgstr "Scalar gamma blue" - -#: backend/microtek2.h:665 -#, no-c-format -msgid "Selects a value for scalar gamma correction (blue channel)" -msgstr "Selects a value for scalar gamma correction (blue channel)" - -#: backend/microtek2.h:669 -#, no-c-format -msgid "Channel" -msgstr "Channel" - -#: backend/microtek2.h:670 -#, no-c-format -msgid "" -"Selects the colour band, \"Master\" means that all colours are affected." -msgstr "" -"Selects the colour band, “Master” means that all colours are " -"affected." - -#: backend/microtek2.h:674 -#, no-c-format -msgid "Midtone" -msgstr "Midtone" - -#: backend/microtek2.h:675 -#, no-c-format -msgid "Selects which radiance level should be considered \"50 % gray\"." -msgstr "" -"Selects which radiance level should be considered “50 % gray”." - -#: backend/microtek2.h:679 -#, no-c-format -msgid "Midtone for red" -msgstr "Midtone for red" - -#: backend/microtek2.h:680 -#, no-c-format -msgid "Selects which radiance level should be considered \"50 % red\"." -msgstr "" -"Selects which radiance level should be considered “50 % red”." - -#: backend/microtek2.h:684 -#, no-c-format -msgid "Midtone for green" -msgstr "Midtone for green" - -#: backend/microtek2.h:685 -#, no-c-format -msgid "Selects which radiance level should be considered \"50 % green\"." -msgstr "" -"Selects which radiance level should be considered “50 % green”." - -#: backend/microtek2.h:689 -#, no-c-format -msgid "Midtone for blue" -msgstr "Midtone for blue" - -#: backend/microtek2.h:690 -#, no-c-format -msgid "Selects which radiance level should be considered \"50 % blue\"." -msgstr "" -"Selects which radiance level should be considered “50 % blue”." - -#: backend/microtek2.h:694 -#, no-c-format -msgid "Red balance" -msgstr "Red balance" - -#: backend/microtek2.h:695 -#, no-c-format -msgid "Balance factor for red. A value of 100% means no correction." -msgstr "Balance factor for red. A value of 100% means no correction." - -#: backend/microtek2.h:699 -#, no-c-format -msgid "Green balance" -msgstr "Green balance" - -#: backend/microtek2.h:700 -#, no-c-format -msgid "Balance factor for green. A value of 100% means no correction." -msgstr "Balance factor for green. A value of 100% means no correction." - -#: backend/microtek2.h:704 -#, no-c-format -msgid "Blue balance" -msgstr "Blue balance" - -#: backend/microtek2.h:705 -#, no-c-format -msgid "Balance factor for blue. A value of 100% means no correction." -msgstr "Balance factor for blue. A value of 100% means no correction." - -#: backend/microtek2.h:709 -#, no-c-format -msgid "Firmware balance" -msgstr "Firmware balance" - -#: backend/microtek2.h:710 -#, no-c-format -msgid "Sets the color balance values to the firmware provided values." -msgstr "Sets the color balance values to the firmware provided values." - -#: backend/mustek.c:149 -#, no-c-format -msgid "Slowest" -msgstr "Slowest" - -#: backend/mustek.c:149 -#, no-c-format -msgid "Slower" -msgstr "Slower" - -#: backend/mustek.c:150 -#, no-c-format -msgid "Faster" -msgstr "Faster" - -#: backend/mustek.c:150 -#, no-c-format -msgid "Fastest" -msgstr "Fastest" - -#: backend/mustek.c:177 -#, no-c-format -msgid "8x8 coarse" -msgstr "8x8 coarse" - -#: backend/mustek.c:177 -#, no-c-format -msgid "8x8 normal" -msgstr "8x8 normal" - -#: backend/mustek.c:177 -#, no-c-format -msgid "8x8 fine" -msgstr "8x8 fine" - -#: backend/mustek.c:178 -#, no-c-format -msgid "8x8 very fine" -msgstr "8x8 very fine" - -#: backend/mustek.c:178 -#, no-c-format -msgid "6x6 normal" -msgstr "6x6 normal" - -#: backend/mustek.c:179 -#, no-c-format -msgid "5x5 coarse" -msgstr "5x5 coarse" - -#: backend/mustek.c:179 -#, no-c-format -msgid "5x5 fine" -msgstr "5x5 fine" - -#: backend/mustek.c:179 -#, no-c-format -msgid "4x4 coarse" -msgstr "4x4 coarse" - -#: backend/mustek.c:180 -#, no-c-format -msgid "4x4 normal" -msgstr "4x4 normal" - -#: backend/mustek.c:180 -#, no-c-format -msgid "4x4 fine" -msgstr "4x4 fine" - -#: backend/mustek.c:180 -#, no-c-format -msgid "3x3 normal" -msgstr "3x3 normal" - -#: backend/mustek.c:181 -#, no-c-format -msgid "2x2 normal" -msgstr "2x2 normal" - -#: backend/mustek.c:181 -#, no-c-format -msgid "8x8 custom" -msgstr "8x8 custom" - -#: backend/mustek.c:182 -#, no-c-format -msgid "6x6 custom" -msgstr "6x6 custom" - -#: backend/mustek.c:183 -#, no-c-format -msgid "5x5 custom" -msgstr "5x5 custom" - -#: backend/mustek.c:183 -#, no-c-format -msgid "4x4 custom" -msgstr "4x4 custom" - -#: backend/mustek.c:184 -#, no-c-format -msgid "3x3 custom" -msgstr "3x3 custom" - -#: backend/mustek.c:185 -#, no-c-format -msgid "2x2 custom" -msgstr "2x2 custom" - -#: backend/mustek.c:4235 -#, no-c-format -msgid "Fast gray mode" -msgstr "Fast gray mode" - -#: backend/mustek.c:4236 -#, no-c-format -msgid "Scan in fast gray mode (lower quality)." -msgstr "Scan in fast gray mode (lower quality)." - -#: backend/mustek.c:4333 -#, no-c-format -msgid "" -"Request that all previews are done in the fastest (low-quality) mode. " -"This may be a non-color mode or a low resolution mode." -msgstr "" -"Request that all previews are done in the fastest (low-quality) mode. " -"This may be a non-color mode or a low resolution mode." - -#: backend/mustek.c:4341 -#, no-c-format -msgid "Lamp off time (minutes)" -msgstr "Lamp off time (minutes)" - -#: backend/mustek.c:4342 -#, no-c-format -msgid "Set the time (in minutes) after which the lamp is shut off." -msgstr "Set the time (in minutes) after which the lamp is shut off." - -#: backend/mustek.c:4353 -#, no-c-format -msgid "Turn lamp off" -msgstr "Turn lamp off" - -#: backend/mustek.c:4354 -#, no-c-format -msgid "Turns the lamp off immediately." -msgstr "Turns the lamp off immediately." - -#: backend/mustek.c:4431 -#, no-c-format -msgid "Red brightness" -msgstr "Red brightness" - -#: backend/mustek.c:4432 -#, no-c-format -msgid "Controls the brightness of the red channel of the acquired image." -msgstr "Controls the brightness of the red channel of the acquired image." - -#: backend/mustek.c:4444 -#, no-c-format -msgid "Green brightness" -msgstr "Green brightness" - -#: backend/mustek.c:4445 -#, no-c-format -msgid "Controls the brightness of the green channel of the acquired image." -msgstr "" -"Controls the brightness of the green channel of the acquired image." - -#: backend/mustek.c:4457 -#, no-c-format -msgid "Blue brightness" -msgstr "Blue brightness" - -#: backend/mustek.c:4458 -#, no-c-format -msgid "Controls the brightness of the blue channel of the acquired image." -msgstr "Controls the brightness of the blue channel of the acquired image." - -#: backend/mustek.c:4483 -#, no-c-format -msgid "Contrast red channel" -msgstr "Contrast red channel" - -#: backend/mustek.c:4484 -#, no-c-format -msgid "Controls the contrast of the red channel of the acquired image." -msgstr "Controls the contrast of the red channel of the acquired image." - -#: backend/mustek.c:4496 -#, no-c-format -msgid "Contrast green channel" -msgstr "Contrast green channel" - -#: backend/mustek.c:4497 -#, no-c-format -msgid "Controls the contrast of the green channel of the acquired image." -msgstr "Controls the contrast of the green channel of the acquired image." - -#: backend/mustek.c:4509 -#, no-c-format -msgid "Contrast blue channel" -msgstr "Contrast blue channel" - -#: backend/mustek.c:4510 -#, no-c-format -msgid "Controls the contrast of the blue channel of the acquired image." -msgstr "Controls the contrast of the blue channel of the acquired image." - -#: backend/mustek_usb2.c:105 -#, no-c-format -msgid "Color48" -msgstr "Color48" - -#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 -#, no-c-format -msgid "Color24" -msgstr "Color24" - -#: backend/mustek_usb2.c:107 -#, no-c-format -msgid "Gray16" -msgstr "Gray16" - -#: backend/mustek_usb2.c:108 -#, no-c-format -msgid "Gray8" -msgstr "Gray8" - -#: backend/mustek_usb2.c:119 -#, no-c-format -msgid "Reflective" -msgstr "Reflective" - -#: backend/mustek_usb2.c:120 -#, no-c-format -msgid "Positive" -msgstr "Positive" - -#: backend/mustek_usb2.c:421 -#, no-c-format -msgid "" -"Warm-up until the lamp's brightness is constant instead of insisting on " -"40 seconds warm-up time." -msgstr "" -"Warm-up until the lamp's brightness is constant instead of insisting on " -"40 seconds warm-up time." - -#: backend/pixma.c:378 -#, no-c-format -msgid "Negative color" -msgstr "Negative color" - -#: backend/pixma.c:383 -#, no-c-format -msgid "Negative gray" -msgstr "Negative gray" - -#: backend/pixma.c:396 -#, no-c-format -msgid "48 bits color" -msgstr "48 bits color" - -#: backend/pixma.c:401 -#, no-c-format -msgid "16 bits gray" -msgstr "16 bits gray" - -#: backend/pixma_sane_options.c:84 -#, no-c-format -msgid "" -"Selects the scan source (such as a document-feeder). Set source before " -"mode and resolution. Resets mode and resolution to auto values." -msgstr "" -"Selects the scan source (such as a document-feeder). Set source before " -"mode and resolution. Resets mode and resolution to auto values." - -#: backend/pixma_sane_options.c:98 -#, no-c-format -msgid "Button-controlled scan" -msgstr "Button-controlled scan" - -#: backend/pixma_sane_options.c:99 -#, no-c-format -msgid "" -"When enabled, scan process will not start immediately. To proceed, press " -"\"SCAN\" button (for MP150) or \"COLOR\" button (for other models). To " -"cancel, press \"GRAY\" button." -msgstr "" -"When enabled, scan process will not start immediately. To proceed, press " -"“SCAN” button (for MP150) or “COLOR” button (for other " -"models). To cancel, press “GRAY” button." - -#: backend/pixma_sane_options.c:232 -#, no-c-format -msgid "Update button state" -msgstr "Update button state" - -#: backend/pixma_sane_options.c:244 -#, no-c-format -msgid "Button 1" -msgstr "Button 1" - -#: backend/pixma_sane_options.c:258 -#, no-c-format -msgid "Button 2" -msgstr "Button 2" - -#: backend/pixma_sane_options.c:272 -#, no-c-format -msgid "Type of original to scan" -msgstr "Type of original to scan" - -#: backend/pixma_sane_options.c:286 -#, no-c-format -msgid "Target operation type" -msgstr "Target operation type" - -#: backend/pixma_sane_options.c:348 -#, no-c-format -msgid "ADF Waiting Time" -msgstr "ADF Waiting Time" - -#: backend/pixma_sane_options.c:349 -#, no-c-format -msgid "" -"When set, the scanner searches the waiting time in seconds for a new " -"document inserted into the automatic document feeder." -msgstr "" -"When set, the scanner searches the waiting time in seconds for a new " -"document inserted into the automatic document feeder." - -#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 -#, no-c-format -msgid "Transparency" -msgstr "Transparency" - -#: backend/plustek.c:913 -#, no-c-format -msgid "Device-Settings" -msgstr "Device-Settings" - -#: backend/plustek.c:920 -#, no-c-format -msgid "Lampswitch" -msgstr "Lampswitch" - -#: backend/plustek.c:921 -#, no-c-format -msgid "Manually switching the lamp(s)." -msgstr "Manually switching the lamp(s)." - -#: backend/plustek.c:926 -#, no-c-format -msgid "Lamp off during dark calibration" -msgstr "Lamp off during dark calibration" - -#: backend/plustek.c:927 -#, no-c-format -msgid "Always switches lamp off when doing dark calibration." -msgstr "Always switches lamp off when doing dark calibration." - -#: backend/plustek.c:935 -#, no-c-format -msgid "Calibration data cache" -msgstr "Calibration data cache" - -#: backend/plustek.c:936 -#, no-c-format -msgid "Enables or disables calibration data cache." -msgstr "Enables or disables calibration data cache." - -#: backend/plustek.c:942 -#, no-c-format -msgid "Performs calibration" -msgstr "Performs calibration" - -#: backend/plustek.c:959 -#, no-c-format -msgid "Speedup sensor" -msgstr "Speedup sensor" - -#: backend/plustek.c:960 -#, no-c-format -msgid "Enables or disables speeding up sensor movement." -msgstr "Enables or disables speeding up sensor movement." - -#: backend/plustek.c:974 -#, no-c-format -msgid "Warmup-time" -msgstr "Warmup-time" - -#: backend/plustek.c:975 -#, no-c-format -msgid "Warmup-time in seconds." -msgstr "Warmup-time in seconds." - -#: backend/plustek.c:987 -#, no-c-format -msgid "Lampoff-time" -msgstr "Lampoff-time" - -#: backend/plustek.c:988 -#, no-c-format -msgid "Lampoff-time in seconds." -msgstr "Lampoff-time in seconds." - -#: backend/plustek.c:995 -#, no-c-format -msgid "Analog frontend" -msgstr "Analog frontend" - -#: backend/plustek.c:1002 -#, no-c-format -msgid "Red gain value of the AFE" -msgstr "Red gain value of the AFE" - -#: backend/plustek.c:1009 backend/umax_pp.c:792 -#, no-c-format -msgid "Red offset" -msgstr "Red offset" - -#: backend/plustek.c:1010 -#, no-c-format -msgid "Red offset value of the AFE" -msgstr "Red offset value of the AFE" - -#: backend/plustek.c:1018 -#, no-c-format -msgid "Green gain value of the AFE" -msgstr "Green gain value of the AFE" - -#: backend/plustek.c:1026 -#, no-c-format -msgid "Green offset value of the AFE" -msgstr "Green offset value of the AFE" - -#: backend/plustek.c:1034 -#, no-c-format -msgid "Blue gain value of the AFE" -msgstr "Blue gain value of the AFE" - -#: backend/plustek.c:1042 -#, no-c-format -msgid "Blue offset value of the AFE" -msgstr "Blue offset value of the AFE" - -#: backend/plustek.c:1049 -#, no-c-format -msgid "Red lamp off" -msgstr "Red lamp off" - -#: backend/plustek.c:1050 -#, no-c-format -msgid "Defines red lamp off parameter" -msgstr "Defines red lamp off parameter" - -#: backend/plustek.c:1057 -#, no-c-format -msgid "Green lamp off" -msgstr "Green lamp off" - -#: backend/plustek.c:1058 -#, no-c-format -msgid "Defines green lamp off parameter" -msgstr "Defines green lamp off parameter" - -#: backend/plustek.c:1065 -#, no-c-format -msgid "Blue lamp off" -msgstr "Blue lamp off" - -#: backend/plustek.c:1066 -#, no-c-format -msgid "Defines blue lamp off parameter" -msgstr "Defines blue lamp off parameter" - -#: backend/plustek.c:1096 -#, no-c-format -msgid "This option reflects the status of the scanner buttons." -msgstr "This option reflects the status of the scanner buttons." - -#: backend/plustek_pp.c:197 -#, no-c-format -msgid "Color36" -msgstr "Color36" - -#: backend/plustek_pp.c:211 -#, no-c-format -msgid "Dithermap 1" -msgstr "Dithermap 1" - -#: backend/plustek_pp.c:212 -#, no-c-format -msgid "Dithermap 2" -msgstr "Dithermap 2" - -#: backend/plustek_pp.c:213 -#, no-c-format -msgid "Randomize" -msgstr "Randomize" - -#: backend/pnm.c:168 -#, no-c-format -msgid "Source Selection" -msgstr "Source Selection" - -#: backend/pnm.c:205 -#, no-c-format -msgid "Image Enhancement" -msgstr "Image Enhancement" - -#: backend/pnm.c:241 -#, no-c-format -msgid "Grayify" -msgstr "Grayify" - -#: backend/pnm.c:242 -#, no-c-format -msgid "Load the image as grayscale." -msgstr "Load the image as grayscale." - -#: backend/pnm.c:253 -#, no-c-format -msgid "Three-Pass Simulation" -msgstr "Three-Pass Simulation" - -#: backend/pnm.c:255 -#, no-c-format -msgid "" -"Simulate a three-pass scanner by returning 3 separate frames. For " -"kicks, it returns green, then blue, then red." -msgstr "" -"Simulate a three-pass scanner by returning 3 separate frames. For " -"kicks, it returns green, then blue, then red." - -#: backend/pnm.c:267 -#, no-c-format -msgid "Hand-Scanner Simulation" -msgstr "Hand-Scanner Simulation" - -#: backend/pnm.c:268 -#, no-c-format -msgid "" -"Simulate a hand-scanner. Hand-scanners often do not know the image " -"height a priori. Instead, they return a height of -1. Setting this " -"option allows one to test whether a frontend can handle this correctly." -msgstr "" -"Simulate a hand-scanner. Hand-scanners often do not know the image " -"height a priori. Instead, they return a height of -1. Setting this " -"option allows one to test whether a frontend can handle this correctly." - -#: backend/pnm.c:283 -#, no-c-format -msgid "" -"Set default values for enhancement controls (brightness & contrast)." -msgstr "" -"Set default values for enhancement controls (brightness & contrast)." - -#: backend/pnm.c:295 -#, no-c-format -msgid "Read only test-option" -msgstr "Read only test-option" - -#: backend/pnm.c:296 -#, no-c-format -msgid "Let's see whether frontends can treat this right" -msgstr "Let's see whether frontends can treat this right" - -#: backend/pnm.c:307 -#, no-c-format -msgid "Gamma Tables" -msgstr "Gamma Tables" - -#: backend/pnm.c:379 -#, no-c-format -msgid "Status Code Simulation" -msgstr "Status Code Simulation" - -#: backend/pnm.c:391 -#, no-c-format -msgid "Do not force status code" -msgstr "Do not force status code" - -#: backend/pnm.c:392 -#, no-c-format -msgid "Do not force the backend to return a status code." -msgstr "Do not force the backend to return a status code." - -#: backend/pnm.c:403 -#, no-c-format -msgid "Return SANE_STATUS_EOF" -msgstr "Return SANE_STATUS_EOF" - -#: backend/pnm.c:404 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_EOF after " -"sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_EOF after " -"sane_read() has been called." - -#: backend/pnm.c:416 -#, no-c-format -msgid "Return SANE_STATUS_JAMMED" -msgstr "Return SANE_STATUS_JAMMED" - -#: backend/pnm.c:418 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_JAMMED after " -"sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_JAMMED after " -"sane_read() has been called." - -#: backend/pnm.c:430 -#, no-c-format -msgid "Return SANE_STATUS_NO_DOCS" -msgstr "Return SANE_STATUS_NO_DOCS" - -#: backend/pnm.c:431 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_NO_DOCS after " -"sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_NO_DOCS after " -"sane_read() has been called." - -#: backend/pnm.c:443 -#, no-c-format -msgid "Return SANE_STATUS_COVER_OPEN" -msgstr "Return SANE_STATUS_COVER_OPEN" - -#: backend/pnm.c:444 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_COVER_OPEN after " -"sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_COVER_OPEN after " -"sane_read() has been called." - -#: backend/pnm.c:456 -#, no-c-format -msgid "Return SANE_STATUS_IO_ERROR" -msgstr "Return SANE_STATUS_IO_ERROR" - -#: backend/pnm.c:457 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_IO_ERROR after " -"sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_IO_ERROR after " -"sane_read() has been called." - -#: backend/pnm.c:469 -#, no-c-format -msgid "Return SANE_STATUS_NO_MEM" -msgstr "Return SANE_STATUS_NO_MEM" - -#: backend/pnm.c:471 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_NO_MEM after " -"sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_NO_MEM after " -"sane_read() has been called." - -#: backend/pnm.c:483 -#, no-c-format -msgid "Return SANE_STATUS_ACCESS_DENIED" -msgstr "Return SANE_STATUS_ACCESS_DENIED" - -#: backend/pnm.c:484 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " -"after sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " -"after sane_read() has been called." - -#: backend/rts8891.c:2809 -#, no-c-format -msgid "This option reflects the status of a scanner button." -msgstr "This option reflects the status of a scanner button." - -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 -#, no-c-format -msgid "Lamp on" -msgstr "Lamp on" - -#: backend/rts8891.c:2841 backend/umax.c:5796 -#, no-c-format -msgid "Turn on scanner lamp" -msgstr "Turn on scanner lamp" - -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 -#, no-c-format -msgid "Lamp off" -msgstr "Lamp off" - -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 -#, no-c-format -msgid "Turn off scanner lamp" -msgstr "Turn off scanner lamp" - -#: backend/sm3840.c:760 -#, no-c-format -msgid "Lamp timeout" -msgstr "Lamp timeout" - -#: backend/sm3840.c:762 -#, no-c-format -msgid "Minutes until lamp is turned off after scan" -msgstr "Minutes until lamp is turned off after scan" - -#: backend/sm3840.c:772 -#, no-c-format -msgid "Threshold value for lineart mode" -msgstr "Threshold value for lineart mode" - -#: backend/snapscan-options.c:88 -#, no-c-format -msgid "Document Feeder" -msgstr "Document Feeder" - -#: backend/snapscan-options.c:92 -#, no-c-format -msgid "6x4 (inch)" -msgstr "6x4 (inch)" - -#: backend/snapscan-options.c:93 -#, no-c-format -msgid "8x10 (inch)" -msgstr "8x10 (inch)" - -#: backend/snapscan-options.c:94 -#, no-c-format -msgid "8.5x11 (inch)" -msgstr "8.5x11 (inch)" - -#: backend/snapscan-options.c:97 -#, no-c-format -msgid "Halftoning Unsupported" -msgstr "Halftoning Unsupported" - -#: backend/snapscan-options.c:98 -#, no-c-format -msgid "DispersedDot8x8" -msgstr "DispersedDot8x8" - -#: backend/snapscan-options.c:99 -#, no-c-format -msgid "DispersedDot16x16" -msgstr "DispersedDot16x16" - -#: backend/snapscan-options.c:103 -#, no-c-format -msgid "" -"Number of scan lines to request in a SCSI read. Changing this parameter " -"allows you to tune the speed at which data is read from the scanner " -"during scans. If this is set too low, the scanner will have to stop " -"periodically in the middle of a scan; if it's set too high, X-based " -"frontends may stop responding to X events and your system could bog down." -msgstr "" -"Number of scan lines to request in a SCSI read. Changing this parameter " -"allows you to tune the speed at which data is read from the scanner " -"during scans. If this is set too low, the scanner will have to stop " -"periodically in the middle of a scan; if it's set too high, X-based " -"frontends may stop responding to X events and your system could bog down." - -#: backend/snapscan-options.c:111 -#, no-c-format -msgid "Frame number of media holder that should be scanned." -msgstr "Frame number of media holder that should be scanned." - -#: backend/snapscan-options.c:114 -#, no-c-format -msgid "Use manual or automatic selection of focus point." -msgstr "Use manual or automatic selection of focus point." - -#: backend/snapscan-options.c:117 -#, no-c-format -msgid "Focus point for scanning." -msgstr "Focus point for scanning." - -#: backend/snapscan-options.c:482 -#, no-c-format -msgid "Preview mode" -msgstr "Preview mode" - -#: backend/snapscan-options.c:484 -#, no-c-format -msgid "" -"Select the mode for previews. Greyscale previews usually give the best " -"combination of speed and detail." -msgstr "" -"Select the mode for previews. Greyscale previews usually give the best " -"combination of speed and detail." - -#: backend/snapscan-options.c:601 -#, no-c-format -msgid "Predefined settings" -msgstr "Predefined settings" - -#: backend/snapscan-options.c:603 -#, no-c-format -msgid "" -"Provides standard scanning areas for photographs, printed pages and the " -"like." -msgstr "" -"Provides standard scanning areas for photographs, printed pages and the " -"like." - -#: backend/snapscan-options.c:884 -#, no-c-format -msgid "Frame" -msgstr "Frame" - -#: backend/snapscan-options.c:885 -#, no-c-format -msgid "Frame to be scanned" -msgstr "Frame to be scanned" - -#: backend/snapscan-options.c:897 -#, no-c-format -msgid "Focus-mode" -msgstr "Focus-mode" - -#: backend/snapscan-options.c:898 -#, no-c-format -msgid "Auto or manual focus" -msgstr "Auto or manual focus" - -#: backend/snapscan-options.c:911 -#, no-c-format -msgid "Focus-point" -msgstr "Focus-point" - -#: backend/snapscan-options.c:912 -#, no-c-format -msgid "Focus point" -msgstr "Focus point" - -#: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" -msgstr "Colour lines per read" - -#: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" -msgstr "Greyscale lines per read" - -#: backend/stv680.c:974 -#, no-c-format -msgid "webcam" -msgstr "webcam" - -#: backend/stv680.h:115 -#, no-c-format -msgid "Color RAW" -msgstr "Color RAW" - -#: backend/stv680.h:116 -#, no-c-format -msgid "Color RGB" -msgstr "Color RGB" - -#: backend/stv680.h:117 -#, no-c-format -msgid "Color RGB TEXT" -msgstr "Color RGB TEXT" - -#: backend/test.c:137 -#, no-c-format -msgid "Solid black" -msgstr "Solid black" - -#: backend/test.c:137 -#, no-c-format -msgid "Solid white" -msgstr "Solid white" - -#: backend/test.c:138 -#, no-c-format -msgid "Color pattern" -msgstr "Color pattern" - -#: backend/test.c:138 -#, no-c-format -msgid "Grid" -msgstr "Grid" - -#: backend/test.c:163 backend/test.c:171 -#, no-c-format -msgid "First entry" -msgstr "First entry" - -#: backend/test.c:163 backend/test.c:171 -#, no-c-format -msgid "Second entry" -msgstr "Second entry" - -#: backend/test.c:165 -#, no-c-format -msgid "" -"This is the very long third entry. Maybe the frontend has an idea how to " -"display it" -msgstr "" -"This is the very long third entry. Maybe the frontend has an idea how to " -"display it" - -#: backend/test.c:348 -#, no-c-format -msgid "Hand-scanner simulation" -msgstr "Hand-scanner simulation" - -#: backend/test.c:349 -#, no-c-format -msgid "" -"Simulate a hand-scanner. Hand-scanners do not know the image height a " -"priori. Instead, they return a height of -1. Setting this option " -"allows one to test whether a frontend can handle this correctly. This " -"option also enables a fixed width of 11 cm." -msgstr "" -"Simulate a hand-scanner. Hand-scanners do not know the image height a " -"priori. Instead, they return a height of -1. Setting this option " -"allows one to test whether a frontend can handle this correctly. This " -"option also enables a fixed width of 11 cm." - -#: backend/test.c:366 -#, no-c-format -msgid "Three-pass simulation" -msgstr "Three-pass simulation" - -#: backend/test.c:367 -#, no-c-format -msgid "" -"Simulate a three-pass scanner. In color mode, three frames are " -"transmitted." -msgstr "" -"Simulate a three-pass scanner. In color mode, three frames are " -"transmitted." - -#: backend/test.c:382 -#, no-c-format -msgid "Set the order of frames" -msgstr "Set the order of frames" - -#: backend/test.c:383 -#, no-c-format -msgid "Set the order of frames in three-pass color mode." -msgstr "Set the order of frames in three-pass color mode." - -#: backend/test.c:416 -#, no-c-format -msgid "" -"If Automatic Document Feeder is selected, the feeder will be 'empty' " -"after 10 scans." -msgstr "" -"If Automatic Document Feeder is selected, the feeder will be " -"‘empty’ after 10 scans." - -#: backend/test.c:431 -#, no-c-format -msgid "Special Options" -msgstr "Special Options" - -#: backend/test.c:444 -#, no-c-format -msgid "Select the test picture" -msgstr "Select the test picture" - -#: backend/test.c:446 -#, no-c-format -msgid "" -"Select the kind of test picture. Available options:\n" -"Solid black: fills the whole scan with black.\n" -"Solid white: fills the whole scan with white.\n" -"Color pattern: draws various color test patterns depending on the mode.\n" -"Grid: draws a black/white grid with a width and height of 10 mm per " -"square." -msgstr "" -"Select the kind of test picture. Available options:\n" -"Solid black: fills the whole scan with black.\n" -"Solid white: fills the whole scan with white.\n" -"Color pattern: draws various color test patterns depending on the mode.\n" -"Grid: draws a black/white grid with a width and height of 10 mm per " -"square." - -#: backend/test.c:467 -#, no-c-format -msgid "Invert endianness" -msgstr "Invert endianness" - -#: backend/test.c:468 -#, no-c-format -msgid "" -"Exchange upper and lower byte of image data in 16 bit modes. This option " -"can be used to test the 16 bit modes of frontends, e.g. if the frontend " -"uses the correct endianness." -msgstr "" -"Exchange upper and lower byte of image data in 16 bit modes. This option " -"can be used to test the 16 bit modes of frontends, e.g. if the frontend " -"uses the correct endianness." - -#: backend/test.c:484 -#, no-c-format -msgid "Read limit" -msgstr "Read limit" - -#: backend/test.c:485 -#, no-c-format -msgid "Limit the amount of data transferred with each call to sane_read()." -msgstr "" -"Limit the amount of data transferred with each call to sane_read()." - -#: backend/test.c:498 -#, no-c-format -msgid "Size of read-limit" -msgstr "Size of read-limit" - -#: backend/test.c:499 -#, no-c-format -msgid "" -"The (maximum) amount of data transferred with each call to sane_read()." -msgstr "" -"The (maximum) amount of data transferred with each call to sane_read()." - -#: backend/test.c:514 -#, no-c-format -msgid "Read delay" -msgstr "Read delay" - -#: backend/test.c:515 -#, no-c-format -msgid "Delay the transfer of data to the pipe." -msgstr "Delay the transfer of data to the pipe." - -#: backend/test.c:527 -#, no-c-format -msgid "Duration of read-delay" -msgstr "Duration of read-delay" - -#: backend/test.c:528 -#, no-c-format -msgid "" -"How long to wait after transferring each buffer of data through the pipe." -msgstr "" -"How long to wait after transferring each buffer of data through the pipe." - -#: backend/test.c:543 -#, no-c-format -msgid "Return-value of sane_read" -msgstr "Return-value of sane_read" - -#: backend/test.c:545 -#, no-c-format -msgid "" -"Select the return-value of sane_read(). \"Default\" is the normal " -"handling for scanning. All other status codes are for testing how the " -"frontend handles them." -msgstr "" -"Select the return-value of sane_read(). “Default” is the normal " -"handling for scanning. All other status codes are for testing how the " -"frontend handles them." - -#: backend/test.c:562 -#, no-c-format -msgid "Loss of pixels per line" -msgstr "Loss of pixels per line" - -#: backend/test.c:564 -#, no-c-format -msgid "The number of pixels that are wasted at the end of each line." -msgstr "The number of pixels that are wasted at the end of each line." - -#: backend/test.c:577 -#, no-c-format -msgid "Fuzzy parameters" -msgstr "Fuzzy parameters" - -#: backend/test.c:578 -#, no-c-format -msgid "" -"Return fuzzy lines and bytes per line when sane_parameters() is called " -"before sane_start()." -msgstr "" -"Return fuzzy lines and bytes per line when sane_parameters() is called " -"before sane_start()." - -#: backend/test.c:591 -#, no-c-format -msgid "Use non-blocking IO" -msgstr "Use non-blocking IO" - -#: backend/test.c:592 -#, no-c-format -msgid "Use non-blocking IO for sane_read() if supported by the frontend." -msgstr "Use non-blocking IO for sane_read() if supported by the frontend." - -#: backend/test.c:605 -#, no-c-format -msgid "Offer select file descriptor" -msgstr "Offer select file descriptor" - -#: backend/test.c:606 -#, no-c-format -msgid "" -"Offer a select filedescriptor for detecting if sane_read() will return " -"data." -msgstr "" -"Offer a select filedescriptor for detecting if sane_read() will return " -"data." - -#: backend/test.c:619 -#, no-c-format -msgid "Enable test options" -msgstr "Enable test options" - -#: backend/test.c:620 -#, no-c-format -msgid "" -"Enable various test options. This is for testing the ability of " -"frontends to view and modify all the different SANE option types." -msgstr "" -"Enable various test options. This is for testing the ability of " -"frontends to view and modify all the different SANE option types." - -#: backend/test.c:634 -#, no-c-format -msgid "Print options" -msgstr "Print options" - -#: backend/test.c:635 -#, no-c-format -msgid "Print a list of all options." -msgstr "Print a list of all options." - -#: backend/test.c:712 -#, no-c-format -msgid "Bool test options" -msgstr "Bool test options" - -#: backend/test.c:725 -#, no-c-format -msgid "(1/6) Bool soft select soft detect" -msgstr "(1/6) Bool soft select soft detect" - -#: backend/test.c:727 -#, no-c-format -msgid "" -"(1/6) Bool test option that has soft select and soft detect (and " -"advanced) capabilities. That's just a normal bool option." -msgstr "" -"(1/6) Bool test option that has soft select and soft detect (and " -"advanced) capabilities. That's just a normal bool option." - -#: backend/test.c:743 -#, no-c-format -msgid "(2/6) Bool hard select soft detect" -msgstr "(2/6) Bool hard select soft detect" - -#: backend/test.c:745 -#, no-c-format -msgid "" -"(2/6) Bool test option that has hard select and soft detect (and " -"advanced) capabilities. That means the option can't be set by the " -"frontend but by the user (e.g. by pressing a button at the device)." -msgstr "" -"(2/6) Bool test option that has hard select and soft detect (and " -"advanced) capabilities. That means the option can't be set by the " -"frontend but by the user (e.g. by pressing a button at the device)." - -#: backend/test.c:762 -#, no-c-format -msgid "(3/6) Bool hard select" -msgstr "(3/6) Bool hard select" - -#: backend/test.c:763 -#, no-c-format -msgid "" -"(3/6) Bool test option that has hard select (and advanced) capabilities. " -"That means the option can't be set by the frontend but by the user (e.g. " -"by pressing a button at the device) and can't be read by the frontend." -msgstr "" -"(3/6) Bool test option that has hard select (and advanced) capabilities. " -"That means the option can't be set by the frontend but by the user (e.g. " -"by pressing a button at the device) and can't be read by the frontend." - -#: backend/test.c:781 -#, no-c-format -msgid "(4/6) Bool soft detect" -msgstr "(4/6) Bool soft detect" - -#: backend/test.c:782 -#, no-c-format -msgid "" -"(4/6) Bool test option that has soft detect (and advanced) capabilities. " -"That means the option is read-only." -msgstr "" -"(4/6) Bool test option that has soft detect (and advanced) capabilities. " -"That means the option is read-only." - -#: backend/test.c:798 -#, no-c-format -msgid "(5/6) Bool soft select soft detect emulated" -msgstr "(5/6) Bool soft select soft detect emulated" - -#: backend/test.c:799 -#, no-c-format -msgid "" -"(5/6) Bool test option that has soft select, soft detect, and emulated " -"(and advanced) capabilities." -msgstr "" -"(5/6) Bool test option that has soft select, soft detect, and emulated " -"(and advanced) capabilities." - -#: backend/test.c:815 -#, no-c-format -msgid "(6/6) Bool soft select soft detect auto" -msgstr "(6/6) Bool soft select soft detect auto" - -#: backend/test.c:816 -#, no-c-format -msgid "" -"(6/6) Bool test option that has soft select, soft detect, and automatic " -"(and advanced) capabilities. This option can be automatically set by the " -"backend." -msgstr "" -"(6/6) Bool test option that has soft select, soft detect, and automatic " -"(and advanced) capabilities. This option can be automatically set by the " -"backend." - -#: backend/test.c:833 -#, no-c-format -msgid "Int test options" -msgstr "Int test options" - -#: backend/test.c:846 -#, no-c-format -msgid "(1/6) Int" -msgstr "(1/6) Int" - -#: backend/test.c:847 -#, no-c-format -msgid "(1/6) Int test option with no unit and no constraint set." -msgstr "(1/6) Int test option with no unit and no constraint set." - -#: backend/test.c:862 -#, no-c-format -msgid "(2/6) Int constraint range" -msgstr "(2/6) Int constraint range" - -#: backend/test.c:863 -#, no-c-format -msgid "" -"(2/6) Int test option with unit pixel and constraint range set. Minimum " -"is 4, maximum 192, and quant is 2." -msgstr "" -"(2/6) Int test option with unit pixel and constraint range set. Minimum " -"is 4, maximum 192, and quant is 2." - -#: backend/test.c:879 -#, no-c-format -msgid "(3/6) Int constraint word list" -msgstr "(3/6) Int constraint word list" - -#: backend/test.c:880 -#, no-c-format -msgid "(3/6) Int test option with unit bits and constraint word list set." -msgstr "(3/6) Int test option with unit bits and constraint word list set." - -#: backend/test.c:895 -#, no-c-format -msgid "(4/6) Int array" -msgstr "(4/6) Int array" - -#: backend/test.c:896 -#, no-c-format -msgid "" -"(4/6) Int test option with unit mm and using an array without " -"constraints." -msgstr "" -"(4/6) Int test option with unit mm and using an array without " -"constraints." - -#: backend/test.c:911 -#, no-c-format -msgid "(5/6) Int array constraint range" -msgstr "(5/6) Int array constraint range" - -#: backend/test.c:912 -#, no-c-format -msgid "" -"(5/6) Int test option with unit dpi and using an array with a range " -"constraint. Minimum is 4, maximum 192, and quant is 2." -msgstr "" -"(5/6) Int test option with unit dpi and using an array with a range " -"constraint. Minimum is 4, maximum 192, and quant is 2." - -#: backend/test.c:929 -#, no-c-format -msgid "(6/6) Int array constraint word list" -msgstr "(6/6) Int array constraint word list" - -#: backend/test.c:930 -#, no-c-format -msgid "" -"(6/6) Int test option with unit percent and using an array with a word " -"list constraint." -msgstr "" -"(6/6) Int test option with unit percent and using an array with a word " -"list constraint." - -#: backend/test.c:946 -#, no-c-format -msgid "Fixed test options" -msgstr "Fixed test options" - -#: backend/test.c:959 -#, no-c-format -msgid "(1/3) Fixed" -msgstr "(1/3) Fixed" - -#: backend/test.c:960 -#, no-c-format -msgid "(1/3) Fixed test option with no unit and no constraint set." -msgstr "(1/3) Fixed test option with no unit and no constraint set." - -#: backend/test.c:975 -#, no-c-format -msgid "(2/3) Fixed constraint range" -msgstr "(2/3) Fixed constraint range" - -#: backend/test.c:976 -#, no-c-format -msgid "" -"(2/3) Fixed test option with unit microsecond and constraint range set. " -"Minimum is -42.17, maximum 32767.9999, and quant is 2.0." -msgstr "" -"(2/3) Fixed test option with unit microsecond and constraint range set. " -"Minimum is -42.17, maximum 32767.9999, and quant is 2.0." - -#: backend/test.c:992 -#, no-c-format -msgid "(3/3) Fixed constraint word list" -msgstr "(3/3) Fixed constraint word list" - -#: backend/test.c:993 -#, no-c-format -msgid "(3/3) Fixed test option with no unit and constraint word list set." -msgstr "(3/3) Fixed test option with no unit and constraint word list set." - -#: backend/test.c:1008 -#, no-c-format -msgid "String test options" -msgstr "String test options" - -#: backend/test.c:1021 -#, no-c-format -msgid "(1/3) String" -msgstr "(1/3) String" - -#: backend/test.c:1022 -#, no-c-format -msgid "(1/3) String test option without constraint." -msgstr "(1/3) String test option without constraint." - -#: backend/test.c:1039 -#, no-c-format -msgid "(2/3) String constraint string list" -msgstr "(2/3) String constraint string list" - -#: backend/test.c:1040 -#, no-c-format -msgid "(2/3) String test option with string list constraint." -msgstr "(2/3) String test option with string list constraint." - -#: backend/test.c:1059 -#, no-c-format -msgid "(3/3) String constraint long string list" -msgstr "(3/3) String constraint long string list" - -#: backend/test.c:1060 -#, no-c-format -msgid "" -"(3/3) String test option with string list constraint. Contains some more " -"entries..." -msgstr "" -"(3/3) String test option with string list constraint. Contains some more " -"entries..." - -#: backend/test.c:1080 -#, no-c-format -msgid "Button test options" -msgstr "Button test options" - -#: backend/test.c:1093 -#, no-c-format -msgid "(1/1) Button" -msgstr "(1/1) Button" - -#: backend/test.c:1094 -#, no-c-format -msgid "(1/1) Button test option. Prints some text..." -msgstr "(1/1) Button test option. Prints some text..." - -#: backend/u12.c:149 -#, no-c-format -msgid "Color 36" -msgstr "Color 36" - -#: backend/umax.c:235 -#, no-c-format -msgid "Use Image Composition" -msgstr "Use Image Composition" - -#: backend/umax.c:236 -#, no-c-format -msgid "Bi-level black and white (lineart mode)" -msgstr "Bi-level black and white (lineart mode)" - -#: backend/umax.c:237 -#, no-c-format -msgid "Dithered/halftone black & white (halftone mode)" -msgstr "Dithered/halftone black & white (halftone mode)" - -#: backend/umax.c:238 -#, no-c-format -msgid "Multi-level black & white (grayscale mode)" -msgstr "Multi-level black & white (grayscale mode)" - -#: backend/umax.c:239 -#, no-c-format -msgid "Multi-level RGB color (one pass color)" -msgstr "Multi-level RGB color (one pass color)" - -#: backend/umax.c:240 -#, no-c-format -msgid "Ignore calibration" -msgstr "Ignore calibration" - -#: backend/umax.c:5733 -#, no-c-format -msgid "Disable pre focus" -msgstr "Disable pre focus" - -#: backend/umax.c:5734 -#, no-c-format -msgid "Do not calibrate focus" -msgstr "Do not calibrate focus" - -#: backend/umax.c:5745 -#, no-c-format -msgid "Manual pre focus" -msgstr "Manual pre focus" - -#: backend/umax.c:5757 -#, no-c-format -msgid "Fix focus position" -msgstr "Fix focus position" - -#: backend/umax.c:5769 -#, no-c-format -msgid "Lens calibration in doc position" -msgstr "Lens calibration in doc position" - -#: backend/umax.c:5770 -#, no-c-format -msgid "Calibrate lens focus in document position" -msgstr "Calibrate lens focus in document position" - -#: backend/umax.c:5781 -#, no-c-format -msgid "Holder focus position 0mm" -msgstr "Holder focus position 0mm" - -#: backend/umax.c:5782 -#, no-c-format -msgid "Use 0mm holder focus position instead of 0.6mm" -msgstr "Use 0mm holder focus position instead of 0.6mm" - -#: backend/umax.c:5885 -#, no-c-format -msgid "Calibration mode" -msgstr "Calibration mode" - -#: backend/umax.c:5886 -#, no-c-format -msgid "Define calibration mode" -msgstr "Define calibration mode" - -#: backend/umax_pp.c:640 -#, no-c-format -msgid "Sets lamp on/off" -msgstr "Sets lamp on/off" - -#: backend/umax_pp.c:649 -#, no-c-format -msgid "UTA on" -msgstr "UTA on" - -#: backend/umax_pp.c:650 -#, no-c-format -msgid "Sets UTA on/off" -msgstr "Sets UTA on/off" - -#: backend/umax_pp.c:771 -#, no-c-format -msgid "Offset" -msgstr "Offset" - -#: backend/umax_pp.c:773 -#, no-c-format -msgid "Color channels offset settings" -msgstr "Color channels offset settings" - -#: backend/umax_pp.c:780 -#, no-c-format -msgid "Gray offset" -msgstr "Gray offset" - -#: backend/umax_pp.c:781 -#, no-c-format -msgid "Sets gray channel offset" -msgstr "Sets gray channel offset" - -#: backend/umax_pp.c:793 -#, no-c-format -msgid "Sets red channel offset" -msgstr "Sets red channel offset" - -#: backend/umax_pp.c:805 -#, no-c-format -msgid "Sets green channel offset" -msgstr "Sets green channel offset" - -#: backend/umax_pp.c:817 -#, no-c-format -msgid "Sets blue channel offset" -msgstr "Sets blue channel offset" diff --git a/po/en@quot.gmo b/po/en@quot.gmo deleted file mode 100644 index b9bccd3..0000000 Binary files a/po/en@quot.gmo and /dev/null differ diff --git a/po/en@quot.header b/po/en@quot.header deleted file mode 100644 index a9647fc..0000000 --- a/po/en@quot.header +++ /dev/null @@ -1,22 +0,0 @@ -# All this catalog "translates" are quotation characters. -# The msgids must be ASCII and therefore cannot contain real quotation -# characters, only substitutes like grave accent (0x60), apostrophe (0x27) -# and double quote (0x22). These substitutes look strange; see -# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html -# -# This catalog translates grave accent (0x60) and apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019). -# It also translates pairs of apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019) -# and pairs of quotation mark (0x22) to -# left double quotation mark (U+201C) and right double quotation mark (U+201D). -# -# When output to an UTF-8 terminal, the quotation characters appear perfectly. -# When output to an ISO-8859-1 terminal, the single quotation marks are -# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to -# grave/acute accent (by libiconv), and the double quotation marks are -# transliterated to 0x22. -# When output to an ASCII terminal, the single quotation marks are -# transliterated to apostrophes, and the double quotation marks are -# transliterated to 0x22. -# diff --git a/po/en@quot.po b/po/en@quot.po deleted file mode 100644 index 4fd95b5..0000000 --- a/po/en@quot.po +++ /dev/null @@ -1,6488 +0,0 @@ -# English translations for sane-backends package. -# Copyright (C) 2017 The SANE developers -# This file is distributed under the same license as the sane-backends package. -# Automatically generated, 2017. -# -# All this catalog "translates" are quotation characters. -# The msgids must be ASCII and therefore cannot contain real quotation -# characters, only substitutes like grave accent (0x60), apostrophe (0x27) -# and double quote (0x22). These substitutes look strange; see -# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html -# -# This catalog translates grave accent (0x60) and apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019). -# It also translates pairs of apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019) -# and pairs of quotation mark (0x22) to -# left double quotation mark (U+201C) and right double quotation mark (U+201D). -# -# When output to an UTF-8 terminal, the quotation characters appear perfectly. -# When output to an ISO-8859-1 terminal, the single quotation marks are -# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to -# grave/acute accent (by libiconv), and the double quotation marks are -# transliterated to 0x22. -# When output to an ASCII terminal, the single quotation marks are -# transliterated to apostrophes, and the double quotation marks are -# transliterated to 0x22. -# -msgid "" -msgstr "" -"Project-Id-Version: sane-backends 1.0.27\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" -"PO-Revision-Date: 2017-05-22 11:18-0400\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: en@quot\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: include/sane/saneopts.h:154 -#, no-c-format -msgid "Number of options" -msgstr "Number of options" - -#: include/sane/saneopts.h:156 -#, no-c-format -msgid "Standard" -msgstr "Standard" - -#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 -#, no-c-format -msgid "Geometry" -msgstr "Geometry" - -#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 -#, no-c-format -msgid "Enhancement" -msgstr "Enhancement" - -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 -#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 -#: backend/rts8891.c:2831 backend/snapscan-options.c:923 -#: backend/umax.c:5565 -#, no-c-format -msgid "Advanced" -msgstr "Advanced" - -#: include/sane/saneopts.h:160 -#, no-c-format -msgid "Sensors" -msgstr "Sensors" - -#: include/sane/saneopts.h:162 -#, no-c-format -msgid "Preview" -msgstr "Preview" - -#: include/sane/saneopts.h:163 -#, no-c-format -msgid "Force monochrome preview" -msgstr "Force monochrome preview" - -#: include/sane/saneopts.h:164 -#, no-c-format -msgid "Bit depth" -msgstr "Bit depth" - -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 -#, no-c-format -msgid "Scan mode" -msgstr "Scan mode" - -#: include/sane/saneopts.h:166 -#, no-c-format -msgid "Scan speed" -msgstr "Scan speed" - -#: include/sane/saneopts.h:167 -#, no-c-format -msgid "Scan source" -msgstr "Scan source" - -#: include/sane/saneopts.h:168 -#, no-c-format -msgid "Force backtracking" -msgstr "Force backtracking" - -#: include/sane/saneopts.h:169 -#, no-c-format -msgid "Top-left x" -msgstr "Top-left x" - -#: include/sane/saneopts.h:170 -#, no-c-format -msgid "Top-left y" -msgstr "Top-left y" - -#: include/sane/saneopts.h:171 -#, no-c-format -msgid "Bottom-right x" -msgstr "Bottom-right x" - -#: include/sane/saneopts.h:172 -#, no-c-format -msgid "Bottom-right y" -msgstr "Bottom-right y" - -#: include/sane/saneopts.h:173 backend/canon.c:1221 -#: backend/pixma_sane_options.c:300 -#, no-c-format -msgid "Scan resolution" -msgstr "Scan resolution" - -#: include/sane/saneopts.h:174 -#, no-c-format -msgid "X-resolution" -msgstr "X-resolution" - -#: include/sane/saneopts.h:175 -#, no-c-format -msgid "Y-resolution" -msgstr "Y-resolution" - -#: include/sane/saneopts.h:176 -#, no-c-format -msgid "Page width" -msgstr "Page width" - -#: include/sane/saneopts.h:177 -#, no-c-format -msgid "Page height" -msgstr "Page height" - -#: include/sane/saneopts.h:178 -#, no-c-format -msgid "Use custom gamma table" -msgstr "Use custom gamma table" - -#: include/sane/saneopts.h:179 -#, no-c-format -msgid "Image intensity" -msgstr "Image intensity" - -#: include/sane/saneopts.h:180 -#, no-c-format -msgid "Red intensity" -msgstr "Red intensity" - -#: include/sane/saneopts.h:181 -#, no-c-format -msgid "Green intensity" -msgstr "Green intensity" - -#: include/sane/saneopts.h:182 -#, no-c-format -msgid "Blue intensity" -msgstr "Blue intensity" - -#: include/sane/saneopts.h:183 -#, no-c-format -msgid "Brightness" -msgstr "Brightness" - -#: include/sane/saneopts.h:184 -#, no-c-format -msgid "Contrast" -msgstr "Contrast" - -#: include/sane/saneopts.h:185 -#, no-c-format -msgid "Grain size" -msgstr "Grain size" - -#: include/sane/saneopts.h:186 -#, no-c-format -msgid "Halftoning" -msgstr "Halftoning" - -#: include/sane/saneopts.h:187 -#, no-c-format -msgid "Black level" -msgstr "Black level" - -#: include/sane/saneopts.h:188 -#, no-c-format -msgid "White level" -msgstr "White level" - -#: include/sane/saneopts.h:189 -#, no-c-format -msgid "White level for red" -msgstr "White level for red" - -#: include/sane/saneopts.h:190 -#, no-c-format -msgid "White level for green" -msgstr "White level for green" - -#: include/sane/saneopts.h:191 -#, no-c-format -msgid "White level for blue" -msgstr "White level for blue" - -#: include/sane/saneopts.h:192 -#, no-c-format -msgid "Shadow" -msgstr "Shadow" - -#: include/sane/saneopts.h:193 -#, no-c-format -msgid "Shadow for red" -msgstr "Shadow for red" - -#: include/sane/saneopts.h:194 -#, no-c-format -msgid "Shadow for green" -msgstr "Shadow for green" - -#: include/sane/saneopts.h:195 -#, no-c-format -msgid "Shadow for blue" -msgstr "Shadow for blue" - -#: include/sane/saneopts.h:196 -#, no-c-format -msgid "Highlight" -msgstr "Highlight" - -#: include/sane/saneopts.h:197 -#, no-c-format -msgid "Highlight for red" -msgstr "Highlight for red" - -#: include/sane/saneopts.h:198 -#, no-c-format -msgid "Highlight for green" -msgstr "Highlight for green" - -#: include/sane/saneopts.h:199 -#, no-c-format -msgid "Highlight for blue" -msgstr "Highlight for blue" - -#: include/sane/saneopts.h:200 -#, no-c-format -msgid "Hue" -msgstr "Hue" - -#: include/sane/saneopts.h:201 -#, no-c-format -msgid "Saturation" -msgstr "Saturation" - -#: include/sane/saneopts.h:202 -#, no-c-format -msgid "Filename" -msgstr "Filename" - -#: include/sane/saneopts.h:203 -#, no-c-format -msgid "Halftone pattern size" -msgstr "Halftone pattern size" - -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 -#, no-c-format -msgid "Halftone pattern" -msgstr "Halftone pattern" - -#: include/sane/saneopts.h:205 -#, no-c-format -msgid "Bind X and Y resolution" -msgstr "Bind X and Y resolution" - -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 -#, no-c-format -msgid "Negative" -msgstr "Negative" - -#: include/sane/saneopts.h:207 -#, no-c-format -msgid "Quality calibration" -msgstr "Quality calibration" - -#: include/sane/saneopts.h:208 -#, no-c-format -msgid "Double Optical Resolution" -msgstr "Double Optical Resolution" - -#: include/sane/saneopts.h:209 -#, no-c-format -msgid "Bind RGB" -msgstr "Bind RGB" - -#: include/sane/saneopts.h:210 backend/sm3840.c:770 -#, no-c-format -msgid "Threshold" -msgstr "Threshold" - -#: include/sane/saneopts.h:211 -#, no-c-format -msgid "Analog gamma correction" -msgstr "Analog gamma correction" - -#: include/sane/saneopts.h:212 -#, no-c-format -msgid "Analog gamma red" -msgstr "Analog gamma red" - -#: include/sane/saneopts.h:213 -#, no-c-format -msgid "Analog gamma green" -msgstr "Analog gamma green" - -#: include/sane/saneopts.h:214 -#, no-c-format -msgid "Analog gamma blue" -msgstr "Analog gamma blue" - -#: include/sane/saneopts.h:215 -#, no-c-format -msgid "Bind analog gamma" -msgstr "Bind analog gamma" - -#: include/sane/saneopts.h:216 -#, no-c-format -msgid "Warmup lamp" -msgstr "Warmup lamp" - -#: include/sane/saneopts.h:217 -#, no-c-format -msgid "Cal. exposure-time" -msgstr "Cal. exposure-time" - -#: include/sane/saneopts.h:218 -#, no-c-format -msgid "Cal. exposure-time for red" -msgstr "Cal. exposure-time for red" - -#: include/sane/saneopts.h:219 -#, no-c-format -msgid "Cal. exposure-time for green" -msgstr "Cal. exposure-time for green" - -#: include/sane/saneopts.h:221 -#, no-c-format -msgid "Cal. exposure-time for blue" -msgstr "Cal. exposure-time for blue" - -#: include/sane/saneopts.h:222 -#, no-c-format -msgid "Scan exposure-time" -msgstr "Scan exposure-time" - -#: include/sane/saneopts.h:223 -#, no-c-format -msgid "Scan exposure-time for red" -msgstr "Scan exposure-time for red" - -#: include/sane/saneopts.h:224 -#, no-c-format -msgid "Scan exposure-time for green" -msgstr "Scan exposure-time for green" - -#: include/sane/saneopts.h:226 -#, no-c-format -msgid "Scan exposure-time for blue" -msgstr "Scan exposure-time for blue" - -#: include/sane/saneopts.h:227 -#, no-c-format -msgid "Set exposure-time" -msgstr "Set exposure-time" - -#: include/sane/saneopts.h:228 -#, no-c-format -msgid "Cal. lamp density" -msgstr "Cal. lamp density" - -#: include/sane/saneopts.h:229 -#, no-c-format -msgid "Scan lamp density" -msgstr "Scan lamp density" - -#: include/sane/saneopts.h:230 -#, no-c-format -msgid "Set lamp density" -msgstr "Set lamp density" - -#: include/sane/saneopts.h:231 backend/umax.c:5829 -#, no-c-format -msgid "Lamp off at exit" -msgstr "Lamp off at exit" - -#: include/sane/saneopts.h:245 -#, no-c-format -msgid "" -"Read-only option that specifies how many options a specific devices " -"supports." -msgstr "" -"Read-only option that specifies how many options a specific devices " -"supports." - -#: include/sane/saneopts.h:248 -#, no-c-format -msgid "Source, mode and resolution options" -msgstr "Source, mode and resolution options" - -#: include/sane/saneopts.h:249 -#, no-c-format -msgid "Scan area and media size options" -msgstr "Scan area and media size options" - -#: include/sane/saneopts.h:250 -#, no-c-format -msgid "Image modification options" -msgstr "Image modification options" - -#: include/sane/saneopts.h:251 -#, no-c-format -msgid "Hardware specific options" -msgstr "Hardware specific options" - -#: include/sane/saneopts.h:252 -#, no-c-format -msgid "Scanner sensors and buttons" -msgstr "Scanner sensors and buttons" - -#: include/sane/saneopts.h:255 -#, no-c-format -msgid "Request a preview-quality scan." -msgstr "Request a preview-quality scan." - -#: include/sane/saneopts.h:258 -#, no-c-format -msgid "" -"Request that all previews are done in monochrome mode. On a three-pass " -"scanner this cuts down the number of passes to one and on a one-pass " -"scanner, it reduces the memory requirements and scan-time of the preview." -msgstr "" -"Request that all previews are done in monochrome mode. On a three-pass " -"scanner this cuts down the number of passes to one and on a one-pass " -"scanner, it reduces the memory requirements and scan-time of the preview." - -#: include/sane/saneopts.h:264 -#, no-c-format -msgid "" -"Number of bits per sample, typical values are 1 for \"line-art\" and 8 " -"for multibit scans." -msgstr "" -"Number of bits per sample, typical values are 1 for “line-art” and 8 for " -"multibit scans." - -#: include/sane/saneopts.h:268 -#, no-c-format -msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." -msgstr "Selects the scan mode (e.g., lineart, monochrome, or color)." - -#: include/sane/saneopts.h:271 -#, no-c-format -msgid "Determines the speed at which the scan proceeds." -msgstr "Determines the speed at which the scan proceeds." - -#: include/sane/saneopts.h:274 -#, no-c-format -msgid "Selects the scan source (such as a document-feeder)." -msgstr "Selects the scan source (such as a document-feeder)." - -#: include/sane/saneopts.h:277 -#, no-c-format -msgid "Controls whether backtracking is forced." -msgstr "Controls whether backtracking is forced." - -#: include/sane/saneopts.h:280 -#, no-c-format -msgid "Top-left x position of scan area." -msgstr "Top-left x position of scan area." - -#: include/sane/saneopts.h:283 -#, no-c-format -msgid "Top-left y position of scan area." -msgstr "Top-left y position of scan area." - -#: include/sane/saneopts.h:286 -#, no-c-format -msgid "Bottom-right x position of scan area." -msgstr "Bottom-right x position of scan area." - -#: include/sane/saneopts.h:289 -#, no-c-format -msgid "Bottom-right y position of scan area." -msgstr "Bottom-right y position of scan area." - -#: include/sane/saneopts.h:292 -#, no-c-format -msgid "Sets the resolution of the scanned image." -msgstr "Sets the resolution of the scanned image." - -#: include/sane/saneopts.h:295 -#, no-c-format -msgid "Sets the horizontal resolution of the scanned image." -msgstr "Sets the horizontal resolution of the scanned image." - -#: include/sane/saneopts.h:298 -#, no-c-format -msgid "Sets the vertical resolution of the scanned image." -msgstr "Sets the vertical resolution of the scanned image." - -#: include/sane/saneopts.h:301 -#, no-c-format -msgid "" -"Specifies the width of the media. Required for automatic centering of " -"sheet-fed scans." -msgstr "" -"Specifies the width of the media. Required for automatic centering of " -"sheet-fed scans." - -#: include/sane/saneopts.h:305 -#, no-c-format -msgid "Specifies the height of the media." -msgstr "Specifies the height of the media." - -#: include/sane/saneopts.h:308 -#, no-c-format -msgid "" -"Determines whether a builtin or a custom gamma-table should be used." -msgstr "" -"Determines whether a builtin or a custom gamma-table should be used." - -#: include/sane/saneopts.h:312 -#, no-c-format -msgid "" -"Gamma-correction table. In color mode this option equally affects the " -"red, green, and blue channels simultaneously (i.e., it is an intensity " -"gamma table)." -msgstr "" -"Gamma-correction table. In color mode this option equally affects the " -"red, green, and blue channels simultaneously (i.e., it is an intensity " -"gamma table)." - -#: include/sane/saneopts.h:317 -#, no-c-format -msgid "Gamma-correction table for the red band." -msgstr "Gamma-correction table for the red band." - -#: include/sane/saneopts.h:320 -#, no-c-format -msgid "Gamma-correction table for the green band." -msgstr "Gamma-correction table for the green band." - -#: include/sane/saneopts.h:323 -#, no-c-format -msgid "Gamma-correction table for the blue band." -msgstr "Gamma-correction table for the blue band." - -#: include/sane/saneopts.h:326 -#, no-c-format -msgid "Controls the brightness of the acquired image." -msgstr "Controls the brightness of the acquired image." - -#: include/sane/saneopts.h:329 -#, no-c-format -msgid "Controls the contrast of the acquired image." -msgstr "Controls the contrast of the acquired image." - -#: include/sane/saneopts.h:332 -#, no-c-format -msgid "" -"Selects the \"graininess\" of the acquired image. Smaller values result " -"in sharper images." -msgstr "" -"Selects the “graininess” of the acquired image. Smaller values result " -"in sharper images." - -#: include/sane/saneopts.h:336 -#, no-c-format -msgid "Selects whether the acquired image should be halftoned (dithered)." -msgstr "Selects whether the acquired image should be halftoned (dithered)." - -#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 -#, no-c-format -msgid "Selects what radiance level should be considered \"black\"." -msgstr "Selects what radiance level should be considered “black”." - -#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 -#, no-c-format -msgid "Selects what radiance level should be considered \"white\"." -msgstr "Selects what radiance level should be considered “white”." - -#: include/sane/saneopts.h:345 -#, no-c-format -msgid "Selects what red radiance level should be considered \"white\"." -msgstr "Selects what red radiance level should be considered “white”." - -#: include/sane/saneopts.h:348 -#, no-c-format -msgid "Selects what green radiance level should be considered \"white\"." -msgstr "Selects what green radiance level should be considered “white”." - -#: include/sane/saneopts.h:351 -#, no-c-format -msgid "Selects what blue radiance level should be considered \"white\"." -msgstr "Selects what blue radiance level should be considered “white”." - -#: include/sane/saneopts.h:356 -#, no-c-format -msgid "Selects what red radiance level should be considered \"black\"." -msgstr "Selects what red radiance level should be considered “black”." - -#: include/sane/saneopts.h:358 -#, no-c-format -msgid "Selects what green radiance level should be considered \"black\"." -msgstr "Selects what green radiance level should be considered “black”." - -#: include/sane/saneopts.h:360 -#, no-c-format -msgid "Selects what blue radiance level should be considered \"black\"." -msgstr "Selects what blue radiance level should be considered “black”." - -#: include/sane/saneopts.h:365 -#, no-c-format -msgid "Selects what red radiance level should be considered \"full red\"." -msgstr "Selects what red radiance level should be considered “full red”." - -#: include/sane/saneopts.h:367 -#, no-c-format -msgid "" -"Selects what green radiance level should be considered \"full green\"." -msgstr "" -"Selects what green radiance level should be considered “full green”." - -#: include/sane/saneopts.h:370 -#, no-c-format -msgid "" -"Selects what blue radiance level should be considered \"full blue\"." -msgstr "Selects what blue radiance level should be considered “full blue”." - -#: include/sane/saneopts.h:374 -#, no-c-format -msgid "Controls the \"hue\" (blue-level) of the acquired image." -msgstr "Controls the “hue” (blue-level) of the acquired image." - -#: include/sane/saneopts.h:377 -#, no-c-format -msgid "" -"The saturation level controls the amount of \"blooming\" that occurs " -"when acquiring an image with a camera. Larger values cause more blooming." -msgstr "" -"The saturation level controls the amount of “blooming” that occurs when " -"acquiring an image with a camera. Larger values cause more blooming." - -#: include/sane/saneopts.h:382 -#, no-c-format -msgid "The filename of the image to be loaded." -msgstr "The filename of the image to be loaded." - -#: include/sane/saneopts.h:385 -#, no-c-format -msgid "" -"Sets the size of the halftoning (dithering) pattern used when scanning " -"halftoned images." -msgstr "" -"Sets the size of the halftoning (dithering) pattern used when scanning " -"halftoned images." - -#: include/sane/saneopts.h:389 -#, no-c-format -msgid "" -"Defines the halftoning (dithering) pattern for scanning halftoned images." -msgstr "" -"Defines the halftoning (dithering) pattern for scanning halftoned images." - -#: include/sane/saneopts.h:393 -#, no-c-format -msgid "Use same values for X and Y resolution" -msgstr "Use same values for X and Y resolution" - -#: include/sane/saneopts.h:395 -#, no-c-format -msgid "Swap black and white" -msgstr "Swap black and white" - -#: include/sane/saneopts.h:397 -#, no-c-format -msgid "Do a quality white-calibration" -msgstr "Do a quality white-calibration" - -#: include/sane/saneopts.h:399 -#, no-c-format -msgid "Use lens that doubles optical resolution" -msgstr "Use lens that doubles optical resolution" - -#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 -#, no-c-format -msgid "In RGB-mode use same values for each color" -msgstr "In RGB-mode use same values for each color" - -#: include/sane/saneopts.h:403 -#, no-c-format -msgid "Select minimum-brightness to get a white point" -msgstr "Select minimum-brightness to get a white point" - -#: include/sane/saneopts.h:405 -#, no-c-format -msgid "Analog gamma-correction" -msgstr "Analog gamma-correction" - -#: include/sane/saneopts.h:407 -#, no-c-format -msgid "Analog gamma-correction for red" -msgstr "Analog gamma-correction for red" - -#: include/sane/saneopts.h:409 -#, no-c-format -msgid "Analog gamma-correction for green" -msgstr "Analog gamma-correction for green" - -#: include/sane/saneopts.h:411 -#, no-c-format -msgid "Analog gamma-correction for blue" -msgstr "Analog gamma-correction for blue" - -#: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" -msgstr "Warmup lamp before scanning" - -#: include/sane/saneopts.h:417 -#, no-c-format -msgid "Define exposure-time for calibration" -msgstr "Define exposure-time for calibration" - -#: include/sane/saneopts.h:419 -#, no-c-format -msgid "Define exposure-time for red calibration" -msgstr "Define exposure-time for red calibration" - -#: include/sane/saneopts.h:421 -#, no-c-format -msgid "Define exposure-time for green calibration" -msgstr "Define exposure-time for green calibration" - -#: include/sane/saneopts.h:423 -#, no-c-format -msgid "Define exposure-time for blue calibration" -msgstr "Define exposure-time for blue calibration" - -#: include/sane/saneopts.h:425 -#, no-c-format -msgid "Define exposure-time for scan" -msgstr "Define exposure-time for scan" - -#: include/sane/saneopts.h:427 -#, no-c-format -msgid "Define exposure-time for red scan" -msgstr "Define exposure-time for red scan" - -#: include/sane/saneopts.h:429 -#, no-c-format -msgid "Define exposure-time for green scan" -msgstr "Define exposure-time for green scan" - -#: include/sane/saneopts.h:431 -#, no-c-format -msgid "Define exposure-time for blue scan" -msgstr "Define exposure-time for blue scan" - -#: include/sane/saneopts.h:433 -#, no-c-format -msgid "Enable selection of exposure-time" -msgstr "Enable selection of exposure-time" - -#: include/sane/saneopts.h:435 -#, no-c-format -msgid "Define lamp density for calibration" -msgstr "Define lamp density for calibration" - -#: include/sane/saneopts.h:437 -#, no-c-format -msgid "Define lamp density for scan" -msgstr "Define lamp density for scan" - -#: include/sane/saneopts.h:439 -#, no-c-format -msgid "Enable selection of lamp density" -msgstr "Enable selection of lamp density" - -#: include/sane/saneopts.h:441 backend/umax.c:5830 -#, no-c-format -msgid "Turn off lamp when program exits" -msgstr "Turn off lamp when program exits" - -#: include/sane/saneopts.h:444 -#, no-c-format -msgid "Scan button" -msgstr "Scan button" - -#: include/sane/saneopts.h:445 -#, no-c-format -msgid "Email button" -msgstr "Email button" - -#: include/sane/saneopts.h:446 -#, no-c-format -msgid "Fax button" -msgstr "Fax button" - -#: include/sane/saneopts.h:447 -#, no-c-format -msgid "Copy button" -msgstr "Copy button" - -#: include/sane/saneopts.h:448 -#, no-c-format -msgid "PDF button" -msgstr "PDF button" - -#: include/sane/saneopts.h:449 -#, no-c-format -msgid "Cancel button" -msgstr "Cancel button" - -#: include/sane/saneopts.h:450 -#, no-c-format -msgid "Page loaded" -msgstr "Page loaded" - -#: include/sane/saneopts.h:451 -#, no-c-format -msgid "Cover open" -msgstr "Cover open" - -#: include/sane/saneopts.h:454 -#, no-c-format -msgid "Color" -msgstr "Color" - -#: include/sane/saneopts.h:455 -#, no-c-format -msgid "Color Lineart" -msgstr "Color Lineart" - -#: include/sane/saneopts.h:456 -#, no-c-format -msgid "Color Halftone" -msgstr "Color Halftone" - -#: include/sane/saneopts.h:457 -#, no-c-format -msgid "Gray" -msgstr "Gray" - -#: include/sane/saneopts.h:458 -#, no-c-format -msgid "Halftone" -msgstr "Halftone" - -#: include/sane/saneopts.h:459 -#, no-c-format -msgid "Lineart" -msgstr "Lineart" - -#: backend/sane_strstatus.c:59 -#, no-c-format -msgid "Success" -msgstr "Success" - -#: backend/sane_strstatus.c:62 -#, no-c-format -msgid "Operation not supported" -msgstr "Operation not supported" - -#: backend/sane_strstatus.c:65 -#, no-c-format -msgid "Operation was cancelled" -msgstr "Operation was cancelled" - -#: backend/sane_strstatus.c:68 -#, no-c-format -msgid "Device busy" -msgstr "Device busy" - -#: backend/sane_strstatus.c:71 -#, no-c-format -msgid "Invalid argument" -msgstr "Invalid argument" - -#: backend/sane_strstatus.c:74 -#, no-c-format -msgid "End of file reached" -msgstr "End of file reached" - -#: backend/sane_strstatus.c:77 -#, no-c-format -msgid "Document feeder jammed" -msgstr "Document feeder jammed" - -#: backend/sane_strstatus.c:80 -#, no-c-format -msgid "Document feeder out of documents" -msgstr "Document feeder out of documents" - -#: backend/sane_strstatus.c:83 -#, no-c-format -msgid "Scanner cover is open" -msgstr "Scanner cover is open" - -#: backend/sane_strstatus.c:86 -#, no-c-format -msgid "Error during device I/O" -msgstr "Error during device I/O" - -#: backend/sane_strstatus.c:89 -#, no-c-format -msgid "Out of memory" -msgstr "Out of memory" - -#: backend/sane_strstatus.c:92 -#, no-c-format -msgid "Access to resource has been denied" -msgstr "Access to resource has been denied" - -#: backend/sane_strstatus.c:96 -#, no-c-format -msgid "Lamp not ready, please retry" -msgstr "Lamp not ready, please retry" - -#: backend/sane_strstatus.c:101 -#, no-c-format -msgid "Scanner mechanism locked for transport" -msgstr "Scanner mechanism locked for transport" - -#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 -#, no-c-format -msgid "Defaults" -msgstr "Defaults" - -#: backend/artec_eplus48u.c:2876 -#, no-c-format -msgid "Set default values for enhancement controls." -msgstr "Set default values for enhancement controls." - -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 -#, no-c-format -msgid "Calibration" -msgstr "Calibration" - -#: backend/artec_eplus48u.c:2941 -#, no-c-format -msgid "Calibrate before next scan" -msgstr "Calibrate before next scan" - -#: backend/artec_eplus48u.c:2943 -#, no-c-format -msgid "" -"If enabled, the device will be calibrated before the next scan. " -"Otherwise, calibration is performed only before the first start." -msgstr "" -"If enabled, the device will be calibrated before the next scan. " -"Otherwise, calibration is performed only before the first start." - -#: backend/artec_eplus48u.c:2954 -#, no-c-format -msgid "Only perform shading-correction" -msgstr "Only perform shading-correction" - -#: backend/artec_eplus48u.c:2956 -#, no-c-format -msgid "" -"If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " -"or from the configuration file, are used." -msgstr "" -"If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " -"or from the configuration file, are used." - -#: backend/artec_eplus48u.c:2967 -#, no-c-format -msgid "Button state" -msgstr "Button state" - -#: backend/avision.h:778 -#, no-c-format -msgid "Number of the frame to scan" -msgstr "Number of the frame to scan" - -#: backend/avision.h:779 -#, no-c-format -msgid "Selects the number of the frame to scan" -msgstr "Selects the number of the frame to scan" - -#: backend/avision.h:782 -#, no-c-format -msgid "Duplex scan" -msgstr "Duplex scan" - -#: backend/avision.h:783 -#, no-c-format -msgid "" -"Duplex scan provide a scan of the front and back side of the document" -msgstr "" -"Duplex scan provide a scan of the front and back side of the document" - -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Calibrate Scanner" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Force scanner calibration before scan" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Grayscale scan" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Do a grayscale rather than color scan" - -#: backend/canon630u.c:306 -#, no-c-format -msgid "Analog Gain" -msgstr "Analog Gain" - -#: backend/canon630u.c:307 -#, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Increase or decrease the analog gain of the CCD array" - -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 -#, no-c-format -msgid "Gamma Correction" -msgstr "Gamma Correction" - -#: backend/canon630u.c:348 -#, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Selects the gamma corrected transfer curve" - -#: backend/canon.c:149 backend/canon-sane.c:1318 -#, no-c-format -msgid "Raw" -msgstr "Raw" - -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Fine color" - -#: backend/canon.c:169 -#, no-c-format -msgid "No transparency correction" -msgstr "No transparency correction" - -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Correction according to film type" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Correction according to transparency ratio" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Negatives" - -#: backend/canon.c:176 -#, no-c-format -msgid "Slides" -msgstr "Slides" - -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 -#: backend/matsushita.c:178 -#, no-c-format -msgid "Automatic" -msgstr "Automatic" - -#: backend/canon.c:186 -#, no-c-format -msgid "Normal speed" -msgstr "Normal speed" - -#: backend/canon.c:187 -#, no-c-format -msgid "1/2 normal speed" -msgstr "1/2 normal speed" - -#: backend/canon.c:187 -#, no-c-format -msgid "1/3 normal speed" -msgstr "1/3 normal speed" - -#: backend/canon.c:365 -#, no-c-format -msgid "rounded parameter" -msgstr "rounded parameter" - -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 -#, no-c-format -msgid "unknown" -msgstr "unknown" - -#: backend/canon.c:378 -#, no-c-format -msgid "ADF jam" -msgstr "ADF jam" - -#: backend/canon.c:381 -#, no-c-format -msgid "ADF cover open" -msgstr "ADF cover open" - -#: backend/canon.c:394 -#, no-c-format -msgid "lamp failure" -msgstr "lamp failure" - -#: backend/canon.c:397 -#, no-c-format -msgid "scan head positioning error" -msgstr "scan head positioning error" - -#: backend/canon.c:400 -#, no-c-format -msgid "CPU check error" -msgstr "CPU check error" - -#: backend/canon.c:403 -#, no-c-format -msgid "RAM check error" -msgstr "RAM check error" - -#: backend/canon.c:406 -#, no-c-format -msgid "ROM check error" -msgstr "ROM check error" - -#: backend/canon.c:409 -#, no-c-format -msgid "hardware check error" -msgstr "hardware check error" - -#: backend/canon.c:412 -#, no-c-format -msgid "transparency unit lamp failure" -msgstr "transparency unit lamp failure" - -#: backend/canon.c:415 -#, no-c-format -msgid "transparency unit scan head positioning failure" -msgstr "transparency unit scan head positioning failure" - -#: backend/canon.c:429 -#, no-c-format -msgid "parameter list length error" -msgstr "parameter list length error" - -#: backend/canon.c:433 -#, no-c-format -msgid "invalid command operation code" -msgstr "invalid command operation code" - -#: backend/canon.c:437 -#, no-c-format -msgid "invalid field in CDB" -msgstr "invalid field in CDB" - -#: backend/canon.c:441 -#, no-c-format -msgid "unsupported LUN" -msgstr "unsupported LUN" - -#: backend/canon.c:445 -#, no-c-format -msgid "invalid field in parameter list" -msgstr "invalid field in parameter list" - -#: backend/canon.c:449 -#, no-c-format -msgid "command sequence error" -msgstr "command sequence error" - -#: backend/canon.c:453 -#, no-c-format -msgid "too many windows specified" -msgstr "too many windows specified" - -#: backend/canon.c:457 -#, no-c-format -msgid "medium not present" -msgstr "medium not present" - -#: backend/canon.c:461 -#, no-c-format -msgid "invalid bit IDENTIFY message" -msgstr "invalid bit IDENTIFY message" - -#: backend/canon.c:465 -#, no-c-format -msgid "option not connect" -msgstr "option not connect" - -#: backend/canon.c:479 -#, no-c-format -msgid "power on reset / bus device reset" -msgstr "power on reset / bus device reset" - -#: backend/canon.c:483 -#, no-c-format -msgid "parameter changed by another initiator" -msgstr "parameter changed by another initiator" - -#: backend/canon.c:497 -#, no-c-format -msgid "no additional sense information" -msgstr "no additional sense information" - -#: backend/canon.c:501 -#, no-c-format -msgid "reselect failure" -msgstr "reselect failure" - -#: backend/canon.c:505 -#, no-c-format -msgid "SCSI parity error" -msgstr "SCSI parity error" - -#: backend/canon.c:509 -#, no-c-format -msgid "initiator detected error message received" -msgstr "initiator detected error message received" - -#: backend/canon.c:514 -#, no-c-format -msgid "invalid message error" -msgstr "invalid message error" - -#: backend/canon.c:518 -#, no-c-format -msgid "timeout error" -msgstr "timeout error" - -#: backend/canon.c:522 -#, no-c-format -msgid "transparency unit shading error" -msgstr "transparency unit shading error" - -#: backend/canon.c:526 -#, no-c-format -msgid "lamp not stabilized" -msgstr "lamp not stabilized" - -#: backend/canon.c:852 backend/canon.c:867 -#, no-c-format -msgid "film scanner" -msgstr "film scanner" - -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 -#: backend/u12.c:851 -#, no-c-format -msgid "flatbed scanner" -msgstr "flatbed scanner" - -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 -#, no-c-format -msgid "Film type" -msgstr "Film type" - -#: backend/canon.c:1184 -#, no-c-format -msgid "Selects the film type, i.e. negatives or slides" -msgstr "Selects the film type, i.e. negatives or slides" - -#: backend/canon.c:1196 -#, no-c-format -msgid "Negative film type" -msgstr "Negative film type" - -#: backend/canon.c:1197 -#, no-c-format -msgid "Selects the negative film type" -msgstr "Selects the negative film type" - -#: backend/canon.c:1236 -#, no-c-format -msgid "Hardware resolution" -msgstr "Hardware resolution" - -#: backend/canon.c:1237 -#, no-c-format -msgid "Use only hardware resolutions" -msgstr "Use only hardware resolutions" - -#: backend/canon.c:1318 -#, no-c-format -msgid "Focus" -msgstr "Focus" - -#: backend/canon.c:1328 -#, no-c-format -msgid "Auto focus" -msgstr "Auto focus" - -#: backend/canon.c:1329 -#, no-c-format -msgid "Enable/disable auto focus" -msgstr "Enable/disable auto focus" - -#: backend/canon.c:1336 -#, no-c-format -msgid "Auto focus only once" -msgstr "Auto focus only once" - -#: backend/canon.c:1337 -#, no-c-format -msgid "Do auto focus only once between ejects" -msgstr "Do auto focus only once between ejects" - -#: backend/canon.c:1345 -#, no-c-format -msgid "Manual focus position" -msgstr "Manual focus position" - -#: backend/canon.c:1346 -#, no-c-format -msgid "Set the optical system's focus position by hand (default: 128)." -msgstr "Set the optical system's focus position by hand (default: 128)." - -#: backend/canon.c:1356 -#, no-c-format -msgid "Scan margins" -msgstr "Scan margins" - -#: backend/canon.c:1403 -#, no-c-format -msgid "Extra color adjustments" -msgstr "Extra color adjustments" - -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 -#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 -#, no-c-format -msgid "Mirror image" -msgstr "Mirror image" - -#: backend/canon.c:1539 -#, no-c-format -msgid "Mirror the image horizontally" -msgstr "Mirror the image horizontally" - -#: backend/canon.c:1608 -#, no-c-format -msgid "Auto exposure" -msgstr "Auto exposure" - -#: backend/canon.c:1609 -#, no-c-format -msgid "Enable/disable the auto exposure feature" -msgstr "Enable/disable the auto exposure feature" - -#: backend/canon.c:1625 -#, no-c-format -msgid "Calibration now" -msgstr "Calibration now" - -#: backend/canon.c:1626 -#, no-c-format -msgid "Execute calibration *now*" -msgstr "Execute calibration *now*" - -#: backend/canon.c:1636 -#, no-c-format -msgid "Self diagnosis" -msgstr "Self diagnosis" - -#: backend/canon.c:1637 -#, no-c-format -msgid "Perform scanner self diagnosis" -msgstr "Perform scanner self diagnosis" - -#: backend/canon.c:1648 -#, no-c-format -msgid "Reset scanner" -msgstr "Reset scanner" - -#: backend/canon.c:1649 -#, no-c-format -msgid "Reset the scanner" -msgstr "Reset the scanner" - -#: backend/canon.c:1659 -#, no-c-format -msgid "Medium handling" -msgstr "Medium handling" - -#: backend/canon.c:1668 -#, no-c-format -msgid "Eject film after each scan" -msgstr "Eject film after each scan" - -#: backend/canon.c:1669 -#, no-c-format -msgid "Automatically eject the film from the device after each scan" -msgstr "Automatically eject the film from the device after each scan" - -#: backend/canon.c:1680 -#, no-c-format -msgid "Eject film before exit" -msgstr "Eject film before exit" - -#: backend/canon.c:1681 -#, no-c-format -msgid "" -"Automatically eject the film from the device before exiting the program" -msgstr "" -"Automatically eject the film from the device before exiting the program" - -#: backend/canon.c:1690 -#, no-c-format -msgid "Eject film now" -msgstr "Eject film now" - -#: backend/canon.c:1691 -#, no-c-format -msgid "Eject the film *now*" -msgstr "Eject the film *now*" - -#: backend/canon.c:1700 -#, no-c-format -msgid "Document feeder extras" -msgstr "Document feeder extras" - -#: backend/canon.c:1707 -#, no-c-format -msgid "Flatbed only" -msgstr "Flatbed only" - -#: backend/canon.c:1708 -#, no-c-format -msgid "Disable auto document feeder and use flatbed only" -msgstr "Disable auto document feeder and use flatbed only" - -#: backend/canon.c:1718 backend/canon.c:1728 -#, no-c-format -msgid "Transparency unit" -msgstr "Transparency unit" - -#: backend/canon.c:1729 -#, no-c-format -msgid "Switch on/off the transparency unit (FAU, film adapter unit)" -msgstr "Switch on/off the transparency unit (FAU, film adapter unit)" - -#: backend/canon.c:1739 -#, no-c-format -msgid "Negative film" -msgstr "Negative film" - -#: backend/canon.c:1740 -#, no-c-format -msgid "Positive or negative film" -msgstr "Positive or negative film" - -#: backend/canon.c:1749 -#, no-c-format -msgid "Density control" -msgstr "Density control" - -#: backend/canon.c:1750 -#, no-c-format -msgid "Set density control mode" -msgstr "Set density control mode" - -#: backend/canon.c:1761 -#, no-c-format -msgid "Transparency ratio" -msgstr "Transparency ratio" - -#: backend/canon.c:1775 -#, no-c-format -msgid "Select film type" -msgstr "Select film type" - -#: backend/canon.c:1776 -#, no-c-format -msgid "Select the film type" -msgstr "Select the film type" - -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 -#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 -#, no-c-format -msgid "Flatbed" -msgstr "Flatbed" - -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 -#: backend/kodak.c:140 -#, no-c-format -msgid "ADF Front" -msgstr "ADF Front" - -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 -#: backend/kodak.c:141 -#, no-c-format -msgid "ADF Back" -msgstr "ADF Back" - -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 -#, no-c-format -msgid "ADF Duplex" -msgstr "ADF Duplex" - -#: backend/canon_dr.c:412 -#, no-c-format -msgid "Card Front" -msgstr "Card Front" - -#: backend/canon_dr.c:413 -#, no-c-format -msgid "Card Back" -msgstr "Card Back" - -#: backend/canon_dr.c:414 -#, no-c-format -msgid "Card Duplex" -msgstr "Card Duplex" - -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 -#, no-c-format -msgid "Red" -msgstr "Red" - -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 -#, no-c-format -msgid "Green" -msgstr "Green" - -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 -#, no-c-format -msgid "Blue" -msgstr "Blue" - -#: backend/canon_dr.c:424 -#, no-c-format -msgid "Enhance Red" -msgstr "Enhance Red" - -#: backend/canon_dr.c:425 -#, no-c-format -msgid "Enhance Green" -msgstr "Enhance Green" - -#: backend/canon_dr.c:426 -#, no-c-format -msgid "Enhance Blue" -msgstr "Enhance Blue" - -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 -#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 -#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 -#: backend/matsushita.c:191 backend/matsushita.c:213 -#: backend/snapscan-options.c:91 -#, no-c-format -msgid "None" -msgstr "None" - -#: backend/canon_dr.c:429 backend/fujitsu.c:699 -#, no-c-format -msgid "JPEG" -msgstr "JPEG" - -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 -#, no-c-format -msgid "Software blank skip percentage" -msgstr "Software blank skip percentage" - -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 -#, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" -msgstr "Request driver to discard pages with low percentage of dark pixels" - -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 -#, no-c-format -msgid "Simplex" -msgstr "Simplex" - -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 -#, no-c-format -msgid "Duplex" -msgstr "Duplex" - -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 -#, no-c-format -msgid "Transparency Unit" -msgstr "Transparency Unit" - -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 -#: backend/umax.c:183 -#, no-c-format -msgid "Automatic Document Feeder" -msgstr "Automatic Document Feeder" - -#: backend/epson.c:523 backend/epson2.c:134 -#, no-c-format -msgid "Positive Film" -msgstr "Positive Film" - -#: backend/epson.c:524 backend/epson2.c:135 -#, no-c-format -msgid "Negative Film" -msgstr "Negative Film" - -#: backend/epson.c:529 backend/epson2.c:142 -#, no-c-format -msgid "Focus on glass" -msgstr "Focus on glass" - -#: backend/epson.c:530 backend/epson2.c:143 -#, no-c-format -msgid "Focus 2.5mm above glass" -msgstr "Focus 2.5mm above glass" - -#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 -#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 -#, no-c-format -msgid "Halftone A (Hard Tone)" -msgstr "Halftone A (Hard Tone)" - -#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 -#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 -#, no-c-format -msgid "Halftone B (Soft Tone)" -msgstr "Halftone B (Soft Tone)" - -#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 -#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 -#, no-c-format -msgid "Halftone C (Net Screen)" -msgstr "Halftone C (Net Screen)" - -#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 -#: backend/epson2.c:189 -#, no-c-format -msgid "Dither A (4x4 Bayer)" -msgstr "Dither A (4x4 Bayer)" - -#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 -#: backend/epson2.c:190 -#, no-c-format -msgid "Dither B (4x4 Spiral)" -msgstr "Dither B (4x4 Spiral)" - -#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 -#: backend/epson2.c:191 -#, no-c-format -msgid "Dither C (4x4 Net Screen)" -msgstr "Dither C (4x4 Net Screen)" - -#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 -#: backend/epson2.c:192 -#, no-c-format -msgid "Dither D (8x4 Net Screen)" -msgstr "Dither D (8x4 Net Screen)" - -#: backend/epson.c:584 backend/epson2.c:193 -#, no-c-format -msgid "Text Enhanced Technology" -msgstr "Text Enhanced Technology" - -#: backend/epson.c:585 backend/epson2.c:194 -#, no-c-format -msgid "Download pattern A" -msgstr "Download pattern A" - -#: backend/epson.c:586 backend/epson2.c:195 -#, no-c-format -msgid "Download pattern B" -msgstr "Download pattern B" - -#: backend/epson.c:631 -#, no-c-format -msgid "No Correction" -msgstr "No Correction" - -#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 -#, no-c-format -msgid "User defined" -msgstr "User defined" - -#: backend/epson.c:633 -#, no-c-format -msgid "Impact-dot printers" -msgstr "Impact-dot printers" - -#: backend/epson.c:634 -#, no-c-format -msgid "Thermal printers" -msgstr "Thermal printers" - -#: backend/epson.c:635 -#, no-c-format -msgid "Ink-jet printers" -msgstr "Ink-jet printers" - -#: backend/epson.c:636 -#, no-c-format -msgid "CRT monitors" -msgstr "CRT monitors" - -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 -#, no-c-format -msgid "Default" -msgstr "Default" - -#: backend/epson.c:658 backend/epson2.c:256 -#, no-c-format -msgid "High density printing" -msgstr "High density printing" - -#: backend/epson.c:659 backend/epson2.c:257 -#, no-c-format -msgid "Low density printing" -msgstr "Low density printing" - -#: backend/epson.c:660 backend/epson2.c:258 -#, no-c-format -msgid "High contrast printing" -msgstr "High contrast printing" - -#: backend/epson.c:678 backend/epson2.c:276 -#, no-c-format -msgid "User defined (Gamma=1.0)" -msgstr "User defined (Gamma=1.0)" - -#: backend/epson.c:679 backend/epson2.c:277 -#, no-c-format -msgid "User defined (Gamma=1.8)" -msgstr "User defined (Gamma=1.8)" - -#: backend/epson.c:757 -#, no-c-format -msgid "CD" -msgstr "CD" - -#: backend/epson.c:758 -#, no-c-format -msgid "A5 portrait" -msgstr "A5 portrait" - -#: backend/epson.c:759 -#, no-c-format -msgid "A5 landscape" -msgstr "A5 landscape" - -#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 -#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 -#, no-c-format -msgid "Letter" -msgstr "Letter" - -#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 -#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 -#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 -#, no-c-format -msgid "A4" -msgstr "A4" - -#: backend/epson.c:762 -#, no-c-format -msgid "Max" -msgstr "Max" - -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 -#: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 -#: backend/umax.c:5054 -#, no-c-format -msgid "Scan Mode" -msgstr "Scan Mode" - -#: backend/epson.c:2845 backend/epson2.c:1012 -#, no-c-format -msgid "Selects the halftone." -msgstr "Selects the halftone." - -#: backend/epson.c:2867 backend/epson2.c:1033 -#, no-c-format -msgid "Dropout" -msgstr "Dropout" - -#: backend/epson.c:2868 backend/epson2.c:1034 -#, no-c-format -msgid "Selects the dropout." -msgstr "Selects the dropout." - -#: backend/epson.c:2880 backend/epson2.c:1046 -#, no-c-format -msgid "Selects the brightness." -msgstr "Selects the brightness." - -#: backend/epson.c:2895 backend/epson2.c:1059 -#, no-c-format -msgid "Sharpness" -msgstr "Sharpness" - -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 -#, no-c-format -msgid "Color correction" -msgstr "Color correction" - -#: backend/epson.c:3034 backend/epson2.c:1177 -#, no-c-format -msgid "Sets the color correction table for the selected output device." -msgstr "Sets the color correction table for the selected output device." - -#: backend/epson.c:3075 -#, no-c-format -msgid "Color correction coefficients" -msgstr "Color correction coefficients" - -#: backend/epson.c:3076 -#, no-c-format -msgid "Matrix multiplication of RGB" -msgstr "Matrix multiplication of RGB" - -#: backend/epson.c:3093 -#, no-c-format -msgid "Shift green to red" -msgstr "Shift green to red" - -#: backend/epson.c:3094 -#, no-c-format -msgid "Shift green to blue" -msgstr "Shift green to blue" - -#: backend/epson.c:3095 -#, no-c-format -msgid "Shift red to green" -msgstr "Shift red to green" - -#: backend/epson.c:3097 -#, no-c-format -msgid "Shift red to blue" -msgstr "Shift red to blue" - -#: backend/epson.c:3098 -#, no-c-format -msgid "Shift blue to green" -msgstr "Shift blue to green" - -#: backend/epson.c:3099 -#, no-c-format -msgid "Shift blue to red" -msgstr "Shift blue to red" - -#: backend/epson.c:3102 -#, no-c-format -msgid "Controls green level" -msgstr "Controls green level" - -#: backend/epson.c:3103 -#, no-c-format -msgid "Adds to red based on green level" -msgstr "Adds to red based on green level" - -#: backend/epson.c:3104 -#, no-c-format -msgid "Adds to blue based on green level" -msgstr "Adds to blue based on green level" - -#: backend/epson.c:3105 -#, no-c-format -msgid "Adds to green based on red level" -msgstr "Adds to green based on red level" - -#: backend/epson.c:3106 -#, no-c-format -msgid "Controls red level" -msgstr "Controls red level" - -#: backend/epson.c:3107 -#, no-c-format -msgid "Adds to blue based on red level" -msgstr "Adds to blue based on red level" - -#: backend/epson.c:3108 -#, no-c-format -msgid "Adds to green based on blue level" -msgstr "Adds to green based on blue level" - -#: backend/epson.c:3109 -#, no-c-format -msgid "Adds to red based on blue level" -msgstr "Adds to red based on blue level" - -#: backend/epson.c:3110 -#, no-c-format -msgid "Controls blue level" -msgstr "Controls blue level" - -#: backend/epson.c:3206 backend/epson2.c:1256 -#, no-c-format -msgid "Mirror the image." -msgstr "Mirror the image." - -#: backend/epson.c:3232 backend/mustek.c:4332 -#, no-c-format -msgid "Fast preview" -msgstr "Fast preview" - -#: backend/epson.c:3245 backend/epson2.c:1266 -#, no-c-format -msgid "Auto area segmentation" -msgstr "Auto area segmentation" - -#: backend/epson.c:3258 -#, no-c-format -msgid "Short resolution list" -msgstr "Short resolution list" - -#: backend/epson.c:3260 -#, no-c-format -msgid "Display short resolution list" -msgstr "Display short resolution list" - -#: backend/epson.c:3267 -#, no-c-format -msgid "Zoom" -msgstr "Zoom" - -#: backend/epson.c:3269 -#, no-c-format -msgid "Defines the zoom factor the scanner will use" -msgstr "Defines the zoom factor the scanner will use" - -#: backend/epson.c:3349 -#, no-c-format -msgid "Quick format" -msgstr "Quick format" - -#: backend/epson.c:3360 backend/epson2.c:1341 -#, no-c-format -msgid "Optional equipment" -msgstr "Optional equipment" - -#: backend/epson.c:3431 backend/epson2.c:1394 -#, no-c-format -msgid "Eject" -msgstr "Eject" - -#: backend/epson.c:3432 backend/epson2.c:1395 -#, no-c-format -msgid "Eject the sheet in the ADF" -msgstr "Eject the sheet in the ADF" - -#: backend/epson.c:3444 backend/epson2.c:1405 -#, no-c-format -msgid "Auto eject" -msgstr "Auto eject" - -#: backend/epson.c:3445 backend/epson2.c:1407 -#, no-c-format -msgid "Eject document after scanning" -msgstr "Eject document after scanning" - -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 -#, no-c-format -msgid "ADF Mode" -msgstr "ADF Mode" - -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 -#, no-c-format -msgid "Selects the ADF mode (simplex/duplex)" -msgstr "Selects the ADF mode (simplex/duplex)" - -#: backend/epson.c:3473 backend/epson2.c:1431 -#, no-c-format -msgid "Bay" -msgstr "Bay" - -#: backend/epson.c:3474 backend/epson2.c:1432 -#, no-c-format -msgid "Select bay to scan" -msgstr "Select bay to scan" - -#: backend/epson.h:69 backend/epson2.h:68 -#, no-c-format -msgid "" -"Selects the gamma correction value from a list of pre-defined devices or " -"the user defined table, which can be downloaded to the scanner" -msgstr "" -"Selects the gamma correction value from a list of pre-defined devices or " -"the user defined table, which can be downloaded to the scanner" - -#: backend/epson.h:72 backend/epson2.h:71 -#, no-c-format -msgid "Focus Position" -msgstr "Focus Position" - -#: backend/epson.h:73 backend/epson2.h:72 -#, no-c-format -msgid "" -"Sets the focus position to either the glass or 2.5mm above the glass" -msgstr "" -"Sets the focus position to either the glass or 2.5mm above the glass" - -#: backend/epson.h:75 backend/epson2.h:74 -#, no-c-format -msgid "Wait for Button" -msgstr "Wait for Button" - -#: backend/epson.h:76 backend/epson2.h:75 -#, no-c-format -msgid "" -"After sending the scan command, wait until the button on the scanner is " -"pressed to actually start the scan process." -msgstr "" -"After sending the scan command, wait until the button on the scanner is " -"pressed to actually start the scan process." - -#: backend/epson2.c:102 backend/pixma.c:390 -#, no-c-format -msgid "Infrared" -msgstr "Infrared" - -#: backend/epson2.c:117 -#, no-c-format -msgid "TPU8x10" -msgstr "TPU8x10" - -#: backend/epson2.c:136 -#, no-c-format -msgid "Positive Slide" -msgstr "Positive Slide" - -#: backend/epson2.c:137 -#, no-c-format -msgid "Negative Slide" -msgstr "Negative Slide" - -#: backend/epson2.c:215 -#, no-c-format -msgid "Built in CCT profile" -msgstr "Built in CCT profile" - -#: backend/epson2.c:216 -#, no-c-format -msgid "User defined CCT profile" -msgstr "User defined CCT profile" - -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 -#, no-c-format -msgid "On" -msgstr "On" - -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 -#, no-c-format -msgid "Off" -msgstr "Off" - -#: backend/fujitsu.c:686 -#, no-c-format -msgid "DTC" -msgstr "DTC" - -#: backend/fujitsu.c:687 -#, no-c-format -msgid "SDTC" -msgstr "SDTC" - -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 -#: backend/teco3.c:978 -#, no-c-format -msgid "Dither" -msgstr "Dither" - -#: backend/fujitsu.c:690 -#, no-c-format -msgid "Diffusion" -msgstr "Diffusion" - -#: backend/fujitsu.c:695 -#, no-c-format -msgid "White" -msgstr "White" - -#: backend/fujitsu.c:696 -#, no-c-format -msgid "Black" -msgstr "Black" - -#: backend/fujitsu.c:701 -#, no-c-format -msgid "Continue" -msgstr "Continue" - -#: backend/fujitsu.c:702 -#, no-c-format -msgid "Stop" -msgstr "Stop" - -#: backend/fujitsu.c:704 -#, no-c-format -msgid "10mm" -msgstr "10mm" - -#: backend/fujitsu.c:705 -#, no-c-format -msgid "15mm" -msgstr "15mm" - -#: backend/fujitsu.c:706 -#, no-c-format -msgid "20mm" -msgstr "20mm" - -#: backend/fujitsu.c:708 backend/hp-option.c:3045 -#, no-c-format -msgid "Horizontal" -msgstr "Horizontal" - -#: backend/fujitsu.c:709 -#, no-c-format -msgid "Horizontal bold" -msgstr "Horizontal bold" - -#: backend/fujitsu.c:710 -#, no-c-format -msgid "Horizontal narrow" -msgstr "Horizontal narrow" - -#: backend/fujitsu.c:711 backend/hp-option.c:3044 -#, no-c-format -msgid "Vertical" -msgstr "Vertical" - -#: backend/fujitsu.c:712 -#, no-c-format -msgid "Vertical bold" -msgstr "Vertical bold" - -#: backend/fujitsu.c:714 -#, no-c-format -msgid "Top to bottom" -msgstr "Top to bottom" - -#: backend/fujitsu.c:715 -#, no-c-format -msgid "Bottom to top" -msgstr "Bottom to top" - -#: backend/fujitsu.c:717 -#, no-c-format -msgid "Front" -msgstr "Front" - -#: backend/fujitsu.c:718 -#, no-c-format -msgid "Back" -msgstr "Back" - -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 -#, no-c-format -msgid "Gamma function exponent" -msgstr "Gamma function exponent" - -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "Changes intensity of midtones" - -#: backend/fujitsu.c:3147 -#, no-c-format -msgid "RIF" -msgstr "RIF" - -#: backend/fujitsu.c:3148 -#, no-c-format -msgid "Reverse image format" -msgstr "Reverse image format" - -#: backend/fujitsu.c:3165 -#, no-c-format -msgid "Halftone type" -msgstr "Halftone type" - -#: backend/fujitsu.c:3166 -#, no-c-format -msgid "Control type of halftone filter" -msgstr "Control type of halftone filter" - -#: backend/fujitsu.c:3187 -#, no-c-format -msgid "Control pattern of halftone filter" -msgstr "Control pattern of halftone filter" - -#: backend/fujitsu.c:3209 -#, no-c-format -msgid "Outline" -msgstr "Outline" - -#: backend/fujitsu.c:3210 -#, no-c-format -msgid "Perform outline extraction" -msgstr "Perform outline extraction" - -#: backend/fujitsu.c:3221 -#, no-c-format -msgid "Emphasis" -msgstr "Emphasis" - -#: backend/fujitsu.c:3222 -#, no-c-format -msgid "Negative to smooth or positive to sharpen image" -msgstr "Negative to smooth or positive to sharpen image" - -#: backend/fujitsu.c:3240 -#, no-c-format -msgid "Separation" -msgstr "Separation" - -#: backend/fujitsu.c:3241 -#, no-c-format -msgid "Enable automatic separation of image and text" -msgstr "Enable automatic separation of image and text" - -#: backend/fujitsu.c:3252 -#, no-c-format -msgid "Mirroring" -msgstr "Mirroring" - -#: backend/fujitsu.c:3253 -#, no-c-format -msgid "Reflect output image horizontally" -msgstr "Reflect output image horizontally" - -#: backend/fujitsu.c:3270 -#, no-c-format -msgid "White level follower" -msgstr "White level follower" - -#: backend/fujitsu.c:3271 -#, no-c-format -msgid "Control white level follower" -msgstr "Control white level follower" - -#: backend/fujitsu.c:3289 -#, no-c-format -msgid "BP filter" -msgstr "BP filter" - -#: backend/fujitsu.c:3290 -#, no-c-format -msgid "Improves quality of high resolution ball-point pen text" -msgstr "Improves quality of high resolution ball-point pen text" - -#: backend/fujitsu.c:3306 backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "Smoothing" - -#: backend/fujitsu.c:3307 -#, no-c-format -msgid "Enable smoothing for improved OCR" -msgstr "Enable smoothing for improved OCR" - -#: backend/fujitsu.c:3323 -#, no-c-format -msgid "Gamma curve" -msgstr "Gamma curve" - -#: backend/fujitsu.c:3324 -#, no-c-format -msgid "Gamma curve, from light to dark, but upper two may not work" -msgstr "Gamma curve, from light to dark, but upper two may not work" - -#: backend/fujitsu.c:3346 backend/genesys.c:5832 -#: backend/pixma_sane_options.c:335 -#, no-c-format -msgid "Threshold curve" -msgstr "Threshold curve" - -#: backend/fujitsu.c:3347 -#, no-c-format -msgid "" -"Threshold curve, from light to dark, but upper two may not be linear" -msgstr "" -"Threshold curve, from light to dark, but upper two may not be linear" - -#: backend/fujitsu.c:3369 -#, no-c-format -msgid "Threshold white" -msgstr "Threshold white" - -#: backend/fujitsu.c:3370 -#, no-c-format -msgid "Set pixels equal to threshold to white instead of black" -msgstr "Set pixels equal to threshold to white instead of black" - -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 -#, no-c-format -msgid "Noise removal" -msgstr "Noise removal" - -#: backend/fujitsu.c:3403 -#, no-c-format -msgid "Matrix 5x5" -msgstr "Matrix 5x5" - -#: backend/fujitsu.c:3404 -#, no-c-format -msgid "Remove 5 pixel square noise" -msgstr "Remove 5 pixel square noise" - -#: backend/fujitsu.c:3420 -#, no-c-format -msgid "Matrix 4x4" -msgstr "Matrix 4x4" - -#: backend/fujitsu.c:3421 -#, no-c-format -msgid "Remove 4 pixel square noise" -msgstr "Remove 4 pixel square noise" - -#: backend/fujitsu.c:3437 -#, no-c-format -msgid "Matrix 3x3" -msgstr "Matrix 3x3" - -#: backend/fujitsu.c:3438 -#, no-c-format -msgid "Remove 3 pixel square noise" -msgstr "Remove 3 pixel square noise" - -#: backend/fujitsu.c:3454 -#, no-c-format -msgid "Matrix 2x2" -msgstr "Matrix 2x2" - -#: backend/fujitsu.c:3455 -#, no-c-format -msgid "Remove 2 pixel square noise" -msgstr "Remove 2 pixel square noise" - -#: backend/fujitsu.c:3474 -#, no-c-format -msgid "Variance" -msgstr "Variance" - -#: backend/fujitsu.c:3475 -#, no-c-format -msgid "Set SDTC variance rate (sensitivity), 0 equals 127" -msgstr "Set SDTC variance rate (sensitivity), 0 equals 127" - -#: backend/fujitsu.c:3508 -#, no-c-format -msgid "Auto width detection" -msgstr "Auto width detection" - -#: backend/fujitsu.c:3509 -#, no-c-format -msgid "Scanner detects paper sides. May reduce scanning speed." -msgstr "Scanner detects paper sides. May reduce scanning speed." - -#: backend/fujitsu.c:3526 -#, no-c-format -msgid "Auto length detection" -msgstr "Auto length detection" - -#: backend/fujitsu.c:3527 -#, no-c-format -msgid "Scanner detects paper lower edge. May confuse some frontends." -msgstr "Scanner detects paper lower edge. May confuse some frontends." - -#: backend/fujitsu.c:3553 -#, no-c-format -msgid "Compression" -msgstr "Compression" - -#: backend/fujitsu.c:3554 -#, no-c-format -msgid "Enable compressed data. May crash your front-end program" -msgstr "Enable compressed data. May crash your front-end program" - -#: backend/fujitsu.c:3574 -#, no-c-format -msgid "Compression argument" -msgstr "Compression argument" - -#: backend/fujitsu.c:3575 -#, no-c-format -msgid "" -"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " -"is same as 4" -msgstr "" -"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " -"is same as 4" - -#: backend/fujitsu.c:3605 -#, no-c-format -msgid "DF action" -msgstr "DF action" - -#: backend/fujitsu.c:3606 -#, no-c-format -msgid "Action following double feed error" -msgstr "Action following double feed error" - -#: backend/fujitsu.c:3622 -#, no-c-format -msgid "DF skew" -msgstr "DF skew" - -#: backend/fujitsu.c:3623 -#, no-c-format -msgid "Enable double feed error due to skew" -msgstr "Enable double feed error due to skew" - -#: backend/fujitsu.c:3641 -#, no-c-format -msgid "DF thickness" -msgstr "DF thickness" - -#: backend/fujitsu.c:3642 -#, no-c-format -msgid "Enable double feed error due to paper thickness" -msgstr "Enable double feed error due to paper thickness" - -#: backend/fujitsu.c:3660 -#, no-c-format -msgid "DF length" -msgstr "DF length" - -#: backend/fujitsu.c:3661 -#, no-c-format -msgid "Enable double feed error due to paper length" -msgstr "Enable double feed error due to paper length" - -#: backend/fujitsu.c:3684 -#, no-c-format -msgid "DF length difference" -msgstr "DF length difference" - -#: backend/fujitsu.c:3685 -#, no-c-format -msgid "Difference in page length to trigger double feed error" -msgstr "Difference in page length to trigger double feed error" - -#: backend/fujitsu.c:3708 -#, no-c-format -msgid "DF recovery mode" -msgstr "DF recovery mode" - -#: backend/fujitsu.c:3709 -#, no-c-format -msgid "Request scanner to reverse feed on paper jam" -msgstr "Request scanner to reverse feed on paper jam" - -#: backend/fujitsu.c:3728 -#, no-c-format -msgid "Paper protection" -msgstr "Paper protection" - -#: backend/fujitsu.c:3729 -#, no-c-format -msgid "Request scanner to predict jams in the ADF" -msgstr "Request scanner to predict jams in the ADF" - -#: backend/fujitsu.c:3748 -#, no-c-format -msgid "Advanced paper protection" -msgstr "Advanced paper protection" - -#: backend/fujitsu.c:3749 -#, no-c-format -msgid "Request scanner to predict jams in the ADF using improved sensors" -msgstr "Request scanner to predict jams in the ADF using improved sensors" - -#: backend/fujitsu.c:3768 -#, no-c-format -msgid "Staple detection" -msgstr "Staple detection" - -#: backend/fujitsu.c:3769 -#, no-c-format -msgid "Request scanner to detect jams in the ADF caused by staples" -msgstr "Request scanner to detect jams in the ADF caused by staples" - -#: backend/fujitsu.c:3788 -#, no-c-format -msgid "Background color" -msgstr "Background color" - -#: backend/fujitsu.c:3789 -#, no-c-format -msgid "" -"Set color of background for scans. May conflict with overscan option" -msgstr "" -"Set color of background for scans. May conflict with overscan option" - -#: backend/fujitsu.c:3809 -#, no-c-format -msgid "Dropout color" -msgstr "Dropout color" - -#: backend/fujitsu.c:3810 -#, no-c-format -msgid "" -"One-pass scanners use only one color during gray or binary scanning, " -"useful for colored paper or ink" -msgstr "" -"One-pass scanners use only one color during gray or binary scanning, " -"useful for colored paper or ink" - -#: backend/fujitsu.c:3833 -#, no-c-format -msgid "Buffer mode" -msgstr "Buffer mode" - -#: backend/fujitsu.c:3834 -#, no-c-format -msgid "Request scanner to read pages quickly from ADF into internal memory" -msgstr "" -"Request scanner to read pages quickly from ADF into internal memory" - -#: backend/fujitsu.c:3853 -#, no-c-format -msgid "Prepick" -msgstr "Prepick" - -#: backend/fujitsu.c:3854 -#, no-c-format -msgid "Request scanner to grab next page from ADF" -msgstr "Request scanner to grab next page from ADF" - -#: backend/fujitsu.c:3873 -#, no-c-format -msgid "Overscan" -msgstr "Overscan" - -#: backend/fujitsu.c:3874 -#, no-c-format -msgid "" -"Collect a few mm of background on top side of scan, before paper enters " -"ADF, and increase maximum scan area beyond paper size, to allow " -"collection on remaining sides. May conflict with bgcolor option" -msgstr "" -"Collect a few mm of background on top side of scan, before paper enters " -"ADF, and increase maximum scan area beyond paper size, to allow " -"collection on remaining sides. May conflict with bgcolor option" - -#: backend/fujitsu.c:3892 -#, no-c-format -msgid "Sleep timer" -msgstr "Sleep timer" - -#: backend/fujitsu.c:3893 -#, no-c-format -msgid "" -"Time in minutes until the internal power supply switches to sleep mode" -msgstr "" -"Time in minutes until the internal power supply switches to sleep mode" - -#: backend/fujitsu.c:3911 -#, no-c-format -msgid "Off timer" -msgstr "Off timer" - -#: backend/fujitsu.c:3912 -#, no-c-format -msgid "" -"Time in minutes until the internal power supply switches the scanner " -"off. Will be rounded to nearest 15 minutes. Zero means never power off." -msgstr "" -"Time in minutes until the internal power supply switches the scanner " -"off. Will be rounded to nearest 15 minutes. Zero means never power off." - -#: backend/fujitsu.c:3930 -#, no-c-format -msgid "Duplex offset" -msgstr "Duplex offset" - -#: backend/fujitsu.c:3931 -#, no-c-format -msgid "Adjust front/back offset" -msgstr "Adjust front/back offset" - -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "Green offset" - -#: backend/fujitsu.c:3949 -#, no-c-format -msgid "Adjust green/red offset" -msgstr "Adjust green/red offset" - -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "Blue offset" - -#: backend/fujitsu.c:3967 -#, no-c-format -msgid "Adjust blue/red offset" -msgstr "Adjust blue/red offset" - -#: backend/fujitsu.c:3980 -#, no-c-format -msgid "Low Memory" -msgstr "Low Memory" - -#: backend/fujitsu.c:3981 -#, no-c-format -msgid "" -"Limit driver memory usage for use in embedded systems. Causes some " -"duplex transfers to alternate sides on each call to sane_read. Value of " -"option 'side' can be used to determine correct image. This option should " -"only be used with custom front-end software." -msgstr "" -"Limit driver memory usage for use in embedded systems. Causes some " -"duplex transfers to alternate sides on each call to sane_read. Value of " -"option ‘side’ can be used to determine correct image. This option should " -"only be used with custom front-end software." - -#: backend/fujitsu.c:3996 -#, no-c-format -msgid "Duplex side" -msgstr "Duplex side" - -#: backend/fujitsu.c:3997 -#, no-c-format -msgid "" -"Tells which side (0=front, 1=back) of a duplex scan the next call to " -"sane_read will return." -msgstr "" -"Tells which side (0=front, 1=back) of a duplex scan the next call to " -"sane_read will return." - -#: backend/fujitsu.c:4008 -#, no-c-format -msgid "Hardware deskew and crop" -msgstr "Hardware deskew and crop" - -#: backend/fujitsu.c:4009 -#, no-c-format -msgid "Request scanner to rotate and crop pages digitally." -msgstr "Request scanner to rotate and crop pages digitally." - -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "Software deskew" - -#: backend/fujitsu.c:4021 -#, no-c-format -msgid "Request driver to rotate skewed pages digitally." -msgstr "Request driver to rotate skewed pages digitally." - -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "Software despeckle diameter" - -#: backend/fujitsu.c:4034 -#, no-c-format -msgid "Maximum diameter of lone dots to remove from scan." -msgstr "Maximum diameter of lone dots to remove from scan." - -#: backend/fujitsu.c:4053 backend/genesys.c:5760 -#, no-c-format -msgid "Software crop" -msgstr "Software crop" - -#: backend/fujitsu.c:4054 -#, no-c-format -msgid "Request driver to remove border from pages digitally." -msgstr "Request driver to remove border from pages digitally." - -#: backend/fujitsu.c:4083 -#, no-c-format -msgid "Halt on Cancel" -msgstr "Halt on Cancel" - -#: backend/fujitsu.c:4084 -#, no-c-format -msgid "" -"Request driver to halt the paper feed instead of eject during a cancel." -msgstr "" -"Request driver to halt the paper feed instead of eject during a cancel." - -#: backend/fujitsu.c:4095 -#, no-c-format -msgid "Endorser Options" -msgstr "Endorser Options" - -#: backend/fujitsu.c:4096 -#, no-c-format -msgid "Controls for endorser unit" -msgstr "Controls for endorser unit" - -#: backend/fujitsu.c:4107 -#, no-c-format -msgid "Endorser" -msgstr "Endorser" - -#: backend/fujitsu.c:4108 -#, no-c-format -msgid "Enable endorser unit" -msgstr "Enable endorser unit" - -#: backend/fujitsu.c:4123 -#, no-c-format -msgid "Endorser bits" -msgstr "Endorser bits" - -#: backend/fujitsu.c:4124 -#, no-c-format -msgid "Determines maximum endorser counter value." -msgstr "Determines maximum endorser counter value." - -#: backend/fujitsu.c:4149 -#, no-c-format -msgid "Endorser value" -msgstr "Endorser value" - -#: backend/fujitsu.c:4150 -#, no-c-format -msgid "Initial endorser counter value." -msgstr "Initial endorser counter value." - -#: backend/fujitsu.c:4173 -#, no-c-format -msgid "Endorser step" -msgstr "Endorser step" - -#: backend/fujitsu.c:4174 -#, no-c-format -msgid "Change endorser counter value by this much for each page." -msgstr "Change endorser counter value by this much for each page." - -#: backend/fujitsu.c:4197 -#, no-c-format -msgid "Endorser Y" -msgstr "Endorser Y" - -#: backend/fujitsu.c:4198 -#, no-c-format -msgid "Endorser print offset from top of paper." -msgstr "Endorser print offset from top of paper." - -#: backend/fujitsu.c:4223 -#, no-c-format -msgid "Endorser font" -msgstr "Endorser font" - -#: backend/fujitsu.c:4224 -#, no-c-format -msgid "Endorser printing font." -msgstr "Endorser printing font." - -#: backend/fujitsu.c:4253 -#, no-c-format -msgid "Endorser direction" -msgstr "Endorser direction" - -#: backend/fujitsu.c:4254 -#, no-c-format -msgid "Endorser printing direction." -msgstr "Endorser printing direction." - -#: backend/fujitsu.c:4278 -#, no-c-format -msgid "Endorser side" -msgstr "Endorser side" - -#: backend/fujitsu.c:4279 -#, no-c-format -msgid "Endorser printing side, requires hardware support to change" -msgstr "Endorser printing side, requires hardware support to change" - -#: backend/fujitsu.c:4304 -#, no-c-format -msgid "Endorser string" -msgstr "Endorser string" - -#: backend/fujitsu.c:4305 -#, no-c-format -msgid "" -"Endorser alphanumeric print format. %05ud or %08ud at the end will be " -"replaced by counter value." -msgstr "" -"Endorser alphanumeric print format. %05ud or %08ud at the end will be " -"replaced by counter value." - -#: backend/fujitsu.c:4332 -#, no-c-format -msgid "Top edge" -msgstr "Top edge" - -#: backend/fujitsu.c:4333 -#, no-c-format -msgid "Paper is pulled partly into adf" -msgstr "Paper is pulled partly into adf" - -#: backend/fujitsu.c:4344 -#, no-c-format -msgid "A3 paper" -msgstr "A3 paper" - -#: backend/fujitsu.c:4345 -#, no-c-format -msgid "A3 paper detected" -msgstr "A3 paper detected" - -#: backend/fujitsu.c:4356 -#, no-c-format -msgid "B4 paper" -msgstr "B4 paper" - -#: backend/fujitsu.c:4357 -#, no-c-format -msgid "B4 paper detected" -msgstr "B4 paper detected" - -#: backend/fujitsu.c:4368 -#, no-c-format -msgid "A4 paper" -msgstr "A4 paper" - -#: backend/fujitsu.c:4369 -#, no-c-format -msgid "A4 paper detected" -msgstr "A4 paper detected" - -#: backend/fujitsu.c:4380 -#, no-c-format -msgid "B5 paper" -msgstr "B5 paper" - -#: backend/fujitsu.c:4381 -#, no-c-format -msgid "B5 paper detected" -msgstr "B5 paper detected" - -#: backend/fujitsu.c:4404 -#, no-c-format -msgid "OMR or DF" -msgstr "OMR or DF" - -#: backend/fujitsu.c:4405 -#, no-c-format -msgid "OMR or double feed detected" -msgstr "OMR or double feed detected" - -#: backend/fujitsu.c:4428 -#, no-c-format -msgid "Power saving" -msgstr "Power saving" - -#: backend/fujitsu.c:4429 -#, no-c-format -msgid "Scanner in power saving mode" -msgstr "Scanner in power saving mode" - -#: backend/fujitsu.c:4452 -#, no-c-format -msgid "Manual feed" -msgstr "Manual feed" - -#: backend/fujitsu.c:4453 -#, no-c-format -msgid "Manual feed selected" -msgstr "Manual feed selected" - -#: backend/fujitsu.c:4476 -#, no-c-format -msgid "Function" -msgstr "Function" - -#: backend/fujitsu.c:4477 -#, no-c-format -msgid "Function character on screen" -msgstr "Function character on screen" - -#: backend/fujitsu.c:4488 -#, no-c-format -msgid "Ink low" -msgstr "Ink low" - -#: backend/fujitsu.c:4489 -#, no-c-format -msgid "Imprinter ink running low" -msgstr "Imprinter ink running low" - -#: backend/fujitsu.c:4500 -#, no-c-format -msgid "Double feed" -msgstr "Double feed" - -#: backend/fujitsu.c:4501 -#, no-c-format -msgid "Double feed detected" -msgstr "Double feed detected" - -#: backend/fujitsu.c:4512 -#, no-c-format -msgid "Error code" -msgstr "Error code" - -#: backend/fujitsu.c:4513 -#, no-c-format -msgid "Hardware error code" -msgstr "Hardware error code" - -#: backend/fujitsu.c:4524 -#, no-c-format -msgid "Skew angle" -msgstr "Skew angle" - -#: backend/fujitsu.c:4525 -#, no-c-format -msgid "Requires black background for scanning" -msgstr "Requires black background for scanning" - -#: backend/fujitsu.c:4536 -#, no-c-format -msgid "Ink remaining" -msgstr "Ink remaining" - -#: backend/fujitsu.c:4537 -#, no-c-format -msgid "Imprinter ink level" -msgstr "Imprinter ink level" - -#: backend/fujitsu.c:4548 -#, no-c-format -msgid "Density" -msgstr "Density" - -#: backend/fujitsu.c:4549 -#, no-c-format -msgid "Density dial" -msgstr "Density dial" - -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 -#, no-c-format -msgid "Duplex switch" -msgstr "Duplex switch" - -#: backend/genesys.c:5761 -#, no-c-format -msgid "Request backend to remove border from pages digitally" -msgstr "Request backend to remove border from pages digitally" - -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 -#, no-c-format -msgid "Request driver to discard pages with low numbers of dark pixels" -msgstr "Request driver to discard pages with low numbers of dark pixels" - -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 -#, no-c-format -msgid "Software derotate" -msgstr "Software derotate" - -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 -#, no-c-format -msgid "Request driver to detect and correct 90 degree image rotation" -msgstr "Request driver to detect and correct 90 degree image rotation" - -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 -#, no-c-format -msgid "Extras" -msgstr "Extras" - -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 -#, no-c-format -msgid "Dynamic threshold curve, from light to dark, normally 50-65" -msgstr "Dynamic threshold curve, from light to dark, normally 50-65" - -#: backend/genesys.c:5842 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "Disable dynamic lineart" - -#: backend/genesys.c:5844 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." - -#: backend/genesys.c:5860 -#, no-c-format -msgid "Disable interpolation" -msgstr "Disable interpolation" - -#: backend/genesys.c:5863 -#, no-c-format -msgid "" -"When using high resolutions where the horizontal resolution is smaller " -"than the vertical resolution this disables horizontal interpolation." -msgstr "" -"When using high resolutions where the horizontal resolution is smaller " -"than the vertical resolution this disables horizontal interpolation." - -#: backend/genesys.c:5872 -#, no-c-format -msgid "Color filter" -msgstr "Color filter" - -#: backend/genesys.c:5875 -#, no-c-format -msgid "When using gray or lineart this option selects the used color." -msgstr "When using gray or lineart this option selects the used color." - -#: backend/genesys.c:5901 -#, no-c-format -msgid "Calibration file" -msgstr "Calibration file" - -#: backend/genesys.c:5902 -#, no-c-format -msgid "Specify the calibration file to use" -msgstr "Specify the calibration file to use" - -#: backend/genesys.c:5919 -#, no-c-format -msgid "Calibration cache expiration time" -msgstr "Calibration cache expiration time" - -#: backend/genesys.c:5920 -#, no-c-format -msgid "" -"Time (in minutes) before a cached calibration expires. A value of 0 " -"means cache is not used. A negative value means cache never expires." -msgstr "" -"Time (in minutes) before a cached calibration expires. A value of 0 " -"means cache is not used. A negative value means cache never expires." - -#: backend/genesys.c:5930 -#, no-c-format -msgid "Lamp off time" -msgstr "Lamp off time" - -#: backend/genesys.c:5933 -#, no-c-format -msgid "" -"The lamp will be turned off after the given time (in minutes). A value " -"of 0 means, that the lamp won't be turned off." -msgstr "" -"The lamp will be turned off after the given time (in minutes). A value " -"of 0 means, that the lamp won't be turned off." - -#: backend/genesys.c:5943 -#, no-c-format -msgid "Lamp off during scan" -msgstr "Lamp off during scan" - -#: backend/genesys.c:5944 -#, no-c-format -msgid "The lamp will be turned off during scan. " -msgstr "The lamp will be turned off during scan. " - -#: backend/genesys.c:5972 backend/genesys.c:5973 -#, no-c-format -msgid "File button" -msgstr "File button" - -#: backend/genesys.c:6025 backend/genesys.c:6026 -#, no-c-format -msgid "OCR button" -msgstr "OCR button" - -#: backend/genesys.c:6039 backend/genesys.c:6040 -#, no-c-format -msgid "Power button" -msgstr "Power button" - -#: backend/genesys.c:6053 backend/genesys.c:6054 -#, no-c-format -msgid "Extra button" -msgstr "Extra button" - -#: backend/genesys.c:6067 backend/gt68xx.c:762 -#, no-c-format -msgid "Need calibration" -msgstr "Need calibration" - -#: backend/genesys.c:6068 backend/gt68xx.c:763 -#, no-c-format -msgid "The scanner needs calibration for the current settings" -msgstr "The scanner needs calibration for the current settings" - -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 -#, no-c-format -msgid "Buttons" -msgstr "Buttons" - -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 -#, no-c-format -msgid "Calibrate" -msgstr "Calibrate" - -#: backend/genesys.c:6091 backend/gt68xx.c:796 -#, no-c-format -msgid "Start calibration using special sheet" -msgstr "Start calibration using special sheet" - -#: backend/genesys.c:6105 backend/gt68xx.c:809 -#, no-c-format -msgid "Clear calibration" -msgstr "Clear calibration" - -#: backend/genesys.c:6106 backend/gt68xx.c:810 -#, no-c-format -msgid "Clear calibration cache" -msgstr "Clear calibration cache" - -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 -#, no-c-format -msgid "Transparency Adapter" -msgstr "Transparency Adapter" - -#: backend/gt68xx.c:477 -#, no-c-format -msgid "Gray mode color" -msgstr "Gray mode color" - -#: backend/gt68xx.c:479 -#, no-c-format -msgid "Selects which scan color is used gray mode (default: green)." -msgstr "Selects which scan color is used gray mode (default: green)." - -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 -#: backend/mustek_usb2.c:410 -#, no-c-format -msgid "Debugging Options" -msgstr "Debugging Options" - -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 -#, no-c-format -msgid "Automatic warmup" -msgstr "Automatic warmup" - -#: backend/gt68xx.c:573 -#, no-c-format -msgid "" -"Warm-up until the lamp's brightness is constant instead of insisting on " -"60 seconds warm-up time." -msgstr "" -"Warm-up until the lamp's brightness is constant instead of insisting on " -"60 seconds warm-up time." - -#: backend/gt68xx.c:585 -#, no-c-format -msgid "Full scan" -msgstr "Full scan" - -#: backend/gt68xx.c:587 -#, no-c-format -msgid "" -"Scan the complete scanning area including calibration strip. Be careful. " -"Don't select the full height. For testing only." -msgstr "" -"Scan the complete scanning area including calibration strip. Be careful. " -"Don't select the full height. For testing only." - -#: backend/gt68xx.c:598 -#, no-c-format -msgid "Coarse calibration" -msgstr "Coarse calibration" - -#: backend/gt68xx.c:600 -#, no-c-format -msgid "" -"Setup gain and offset for scanning automatically. If this option is " -"disabled, options for setting the analog frontend parameters manually " -"are provided. This option is enabled by default. For testing only." -msgstr "" -"Setup gain and offset for scanning automatically. If this option is " -"disabled, options for setting the analog frontend parameters manually " -"are provided. This option is enabled by default. For testing only." - -#: backend/gt68xx.c:619 -#, no-c-format -msgid "Coarse calibration for first scan only" -msgstr "Coarse calibration for first scan only" - -#: backend/gt68xx.c:621 -#, no-c-format -msgid "" -"Coarse calibration is only done for the first scan. Works with most " -"scanners and can save scanning time. If the image brightness is " -"different with each scan, disable this option. For testing only." -msgstr "" -"Coarse calibration is only done for the first scan. Works with most " -"scanners and can save scanning time. If the image brightness is " -"different with each scan, disable this option. For testing only." - -#: backend/gt68xx.c:654 -#, no-c-format -msgid "Backtrack lines" -msgstr "Backtrack lines" - -#: backend/gt68xx.c:656 -#, no-c-format -msgid "" -"Number of lines the scan slider moves back when backtracking occurs. " -"That happens when the scanner scans faster than the computer can receive " -"the data. Low values cause faster scans but increase the risk of " -"omitting lines." -msgstr "" -"Number of lines the scan slider moves back when backtracking occurs. " -"That happens when the scanner scans faster than the computer can receive " -"the data. Low values cause faster scans but increase the risk of " -"omitting lines." - -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 -#, no-c-format -msgid "Gamma value" -msgstr "Gamma value" - -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 -#, no-c-format -msgid "Sets the gamma value of all channels." -msgstr "Sets the gamma value of all channels." - -#: backend/hp3500.c:1020 -#, no-c-format -msgid "Geometry Group" -msgstr "Geometry Group" - -#: backend/hp3500.c:1073 backend/hp3500.c:1074 -#, no-c-format -msgid "Scan Mode Group" -msgstr "Scan Mode Group" - -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 -#, no-c-format -msgid "Slide" -msgstr "Slide" - -#: backend/hp3900_sane.c:1405 -#, no-c-format -msgid "Scanner model" -msgstr "Scanner model" - -#: backend/hp3900_sane.c:1408 -#, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "Allows one to test device behaviour with other supported models" - -#: backend/hp3900_sane.c:1422 -#, no-c-format -msgid "Image colours will be inverted" -msgstr "Image colours will be inverted" - -#: backend/hp3900_sane.c:1436 -#, no-c-format -msgid "Disable gamma correction" -msgstr "Disable gamma correction" - -#: backend/hp3900_sane.c:1437 -#, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Gamma correction will be disabled" - -#: backend/hp3900_sane.c:1451 -#, no-c-format -msgid "Disable white shading correction" -msgstr "Disable white shading correction" - -#: backend/hp3900_sane.c:1453 -#, no-c-format -msgid "White shading correction will be disabled" -msgstr "White shading correction will be disabled" - -#: backend/hp3900_sane.c:1467 -#, no-c-format -msgid "Skip warmup process" -msgstr "Skip warmup process" - -#: backend/hp3900_sane.c:1468 -#, no-c-format -msgid "Warmup process will be disabled" -msgstr "Warmup process will be disabled" - -#: backend/hp3900_sane.c:1482 -#, no-c-format -msgid "Force real depth" -msgstr "Force real depth" - -#: backend/hp3900_sane.c:1485 -#, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." - -#: backend/hp3900_sane.c:1499 -#, no-c-format -msgid "Emulate Grayscale" -msgstr "Emulate Grayscale" - -#: backend/hp3900_sane.c:1502 -#, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." - -#: backend/hp3900_sane.c:1516 -#, no-c-format -msgid "Save debugging images" -msgstr "Save debugging images" - -#: backend/hp3900_sane.c:1519 -#, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." - -#: backend/hp3900_sane.c:1533 -#, no-c-format -msgid "Reset chipset" -msgstr "Reset chipset" - -#: backend/hp3900_sane.c:1534 -#, no-c-format -msgid "Resets chipset data" -msgstr "Resets chipset data" - -#: backend/hp3900_sane.c:1547 -#, no-c-format -msgid "Information" -msgstr "Information" - -#: backend/hp3900_sane.c:1560 -#, no-c-format -msgid "Chipset name" -msgstr "Chipset name" - -#: backend/hp3900_sane.c:1561 -#, no-c-format -msgid "Shows chipset name used in device." -msgstr "Shows chipset name used in device." - -#: backend/hp3900_sane.c:1565 -#, no-c-format -msgid "Unknown" -msgstr "Unknown" - -#: backend/hp3900_sane.c:1571 -#, no-c-format -msgid "Chipset ID" -msgstr "Chipset ID" - -#: backend/hp3900_sane.c:1572 -#, no-c-format -msgid "Shows the chipset ID" -msgstr "Shows the chipset ID" - -#: backend/hp3900_sane.c:1582 -#, no-c-format -msgid "Scan counter" -msgstr "Scan counter" - -#: backend/hp3900_sane.c:1584 -#, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Shows the number of scans made by scanner" - -#: backend/hp3900_sane.c:1594 -#, no-c-format -msgid "Update information" -msgstr "Update information" - -#: backend/hp3900_sane.c:1595 -#, no-c-format -msgid "Updates information about device" -msgstr "Updates information about device" - -#: backend/hp3900_sane.c:1635 -#, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "This option reflects a front panel scanner button" - -#: backend/hp5400_sane.c:313 backend/niash.c:678 -#, no-c-format -msgid "Image" -msgstr "Image" - -#: backend/hp5400_sane.c:352 backend/niash.c:709 -#, no-c-format -msgid "Miscellaneous" -msgstr "Miscellaneous" - -#: backend/hp5400_sane.c:358 -#, no-c-format -msgid "offset X" -msgstr "offset X" - -#: backend/hp5400_sane.c:359 -#, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Hardware internal X position of the scanning area." - -#: backend/hp5400_sane.c:368 -#, no-c-format -msgid "offset Y" -msgstr "offset Y" - -#: backend/hp5400_sane.c:369 -#, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Hardware internal Y position of the scanning area." - -#: backend/hp5400_sane.c:381 backend/niash.c:716 -#, no-c-format -msgid "Lamp status" -msgstr "Lamp status" - -#: backend/hp5400_sane.c:382 backend/niash.c:717 -#, no-c-format -msgid "Switches the lamp on or off." -msgstr "Switches the lamp on or off." - -#: backend/hp5400_sane.c:393 backend/niash.c:727 -#, no-c-format -msgid "Calibrates for black and white level." -msgstr "Calibrates for black and white level." - -#: backend/hp5590.c:86 backend/hp-option.c:3253 -#, no-c-format -msgid "ADF" -msgstr "ADF" - -#: backend/hp5590.c:88 -#, no-c-format -msgid "TMA Slides" -msgstr "TMA Slides" - -#: backend/hp5590.c:89 -#, no-c-format -msgid "TMA Negatives" -msgstr "TMA Negatives" - -#: backend/hp5590.c:92 -#, no-c-format -msgid "Color (48 bits)" -msgstr "Color (48 bits)" - -#: backend/hp5590.c:95 -#, no-c-format -msgid "Extend lamp timeout" -msgstr "Extend lamp timeout" - -#: backend/hp5590.c:96 -#, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "Extends lamp timeout (from 15 minutes to 1 hour)" - -#: backend/hp5590.c:98 -#, no-c-format -msgid "Wait for button" -msgstr "Wait for button" - -#: backend/hp5590.c:99 -#, no-c-format -msgid "Waits for button before scanning" -msgstr "Waits for button before scanning" - -#: backend/hp-option.c:2984 -#, no-c-format -msgid "Advanced Options" -msgstr "Advanced Options" - -#: backend/hp-option.c:3041 -#, no-c-format -msgid "Coarse" -msgstr "Coarse" - -#: backend/hp-option.c:3042 -#, no-c-format -msgid "Fine" -msgstr "Fine" - -#: backend/hp-option.c:3043 -#, no-c-format -msgid "Bayer" -msgstr "Bayer" - -#: backend/hp-option.c:3046 backend/hp-option.c:3097 -#, no-c-format -msgid "Custom" -msgstr "Custom" - -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 -#, no-c-format -msgid "Auto" -msgstr "Auto" - -#: backend/hp-option.c:3088 -#, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" - -#: backend/hp-option.c:3089 -#, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" - -#: backend/hp-option.c:3090 -#, no-c-format -msgid "Pass-through" -msgstr "Pass-through" - -#: backend/hp-option.c:3091 -#, no-c-format -msgid "NTSC Gray" -msgstr "NTSC Gray" - -#: backend/hp-option.c:3092 -#, no-c-format -msgid "XPA Gray" -msgstr "XPA Gray" - -#: backend/hp-option.c:3144 -#, no-c-format -msgid "Slow" -msgstr "Slow" - -#: backend/hp-option.c:3145 backend/hp-option.c:3252 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 -#, no-c-format -msgid "Normal" -msgstr "Normal" - -#: backend/hp-option.c:3146 -#, no-c-format -msgid "Fast" -msgstr "Fast" - -#: backend/hp-option.c:3147 -#, no-c-format -msgid "Extra Fast" -msgstr "Extra Fast" - -#: backend/hp-option.c:3160 -#, no-c-format -msgid "2-pixel" -msgstr "2-pixel" - -#: backend/hp-option.c:3161 -#, no-c-format -msgid "4-pixel" -msgstr "4-pixel" - -#: backend/hp-option.c:3162 -#, no-c-format -msgid "8-pixel" -msgstr "8-pixel" - -#: backend/hp-option.c:3173 -#, no-c-format -msgid "Print" -msgstr "Print" - -#: backend/hp-option.c:3175 -#, no-c-format -msgid "Film-strip" -msgstr "Film-strip" - -#: backend/hp-option.c:3254 -#, no-c-format -msgid "XPA" -msgstr "XPA" - -#: backend/hp-option.c:3328 backend/hp-option.c:3341 -#, no-c-format -msgid "Conditional" -msgstr "Conditional" - -#: backend/hp-option.c:3414 -#, no-c-format -msgid "Experiment" -msgstr "Experiment" - -#: backend/hp-option.h:60 -#, no-c-format -msgid "Sharpening" -msgstr "Sharpening" - -#: backend/hp-option.h:61 -#, no-c-format -msgid "Set sharpening value." -msgstr "Set sharpening value." - -#: backend/hp-option.h:66 -#, no-c-format -msgid "Auto Threshold" -msgstr "Auto Threshold" - -#: backend/hp-option.h:68 -#, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "Enable automatic determination of threshold for line-art scans." - -#: backend/hp-option.h:74 -#, no-c-format -msgid "Select smoothing filter." -msgstr "Select smoothing filter." - -#: backend/hp-option.h:79 -#, no-c-format -msgid "Unload media after scan" -msgstr "Unload media after scan" - -#: backend/hp-option.h:80 -#, no-c-format -msgid "Unloads the media after a scan." -msgstr "Unloads the media after a scan." - -#: backend/hp-option.h:85 -#, no-c-format -msgid "Change document" -msgstr "Change document" - -#: backend/hp-option.h:86 -#, no-c-format -msgid "Change Document." -msgstr "Change Document." - -#: backend/hp-option.h:91 -#, no-c-format -msgid "Unload" -msgstr "Unload" - -#: backend/hp-option.h:92 -#, no-c-format -msgid "Unload Document." -msgstr "Unload Document." - -#: backend/hp-option.h:98 -#, no-c-format -msgid "Start calibration process." -msgstr "Start calibration process." - -#: backend/hp-option.h:103 -#, no-c-format -msgid "Media" -msgstr "Media" - -#: backend/hp-option.h:104 -#, no-c-format -msgid "Set type of media." -msgstr "Set type of media." - -#: backend/hp-option.h:109 -#, no-c-format -msgid "Exposure time" -msgstr "Exposure time" - -#: backend/hp-option.h:111 -#, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and “Negative” for " -"negative film. For dark (underexposed) images you can increase this " -"value." - -#: backend/hp-option.h:119 backend/hp-option.h:126 -#, no-c-format -msgid "Color Matrix" -msgstr "Color Matrix" - -#: backend/hp-option.h:121 -#, no-c-format -msgid "Set the scanners color matrix." -msgstr "Set the scanners color matrix." - -#: backend/hp-option.h:127 -#, no-c-format -msgid "Custom color matrix." -msgstr "Custom color matrix." - -#: backend/hp-option.h:132 -#, no-c-format -msgid "Mono Color Matrix" -msgstr "Mono Color Matrix" - -#: backend/hp-option.h:133 -#, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Custom color matrix for grayscale scans." - -#: backend/hp-option.h:138 -#, no-c-format -msgid "Mirror horizontal" -msgstr "Mirror horizontal" - -#: backend/hp-option.h:139 -#, no-c-format -msgid "Mirror image horizontally." -msgstr "Mirror image horizontally." - -#: backend/hp-option.h:144 -#, no-c-format -msgid "Mirror vertical" -msgstr "Mirror vertical" - -#: backend/hp-option.h:145 -#, no-c-format -msgid "Mirror image vertically." -msgstr "Mirror image vertically." - -#: backend/hp-option.h:150 -#, no-c-format -msgid "Update options" -msgstr "Update options" - -#: backend/hp-option.h:151 -#, no-c-format -msgid "Update options." -msgstr "Update options." - -#: backend/hp-option.h:156 -#, no-c-format -msgid "8 bit output" -msgstr "8 bit output" - -#: backend/hp-option.h:158 -#, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." -msgstr "" -"Use bit depth greater eight internally, but output only eight bits." - -#: backend/hp-option.h:164 -#, no-c-format -msgid "Front button wait" -msgstr "Front button wait" - -#: backend/hp-option.h:165 -#, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Wait to scan for front-panel button push." - -#: backend/hp-option.h:172 -#, no-c-format -msgid "Shut off lamp" -msgstr "Shut off lamp" - -#: backend/hp-option.h:173 -#, no-c-format -msgid "Shut off scanner lamp." -msgstr "Shut off scanner lamp." - -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 -#, no-c-format -msgid "Paper size" -msgstr "Paper size" - -#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 -#: backend/matsushita.h:227 -#, no-c-format -msgid "Automatic separation" -msgstr "Automatic separation" - -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 -#, no-c-format -msgid "Landscape" -msgstr "Landscape" - -#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 -#, no-c-format -msgid "Inverse Image" -msgstr "Inverse Image" - -#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 -#, no-c-format -msgid "Long paper mode" -msgstr "Long paper mode" - -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 -#, no-c-format -msgid "Length control mode" -msgstr "Length control mode" - -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 -#, no-c-format -msgid "Manual feed mode" -msgstr "Manual feed mode" - -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 -#, no-c-format -msgid "Manual feed timeout" -msgstr "Manual feed timeout" - -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 -#, no-c-format -msgid "Double feed detection" -msgstr "Double feed detection" - -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 -#, no-c-format -msgid "Enable Duplex (Dual-Sided) Scanning" -msgstr "Enable Duplex (Dual-Sided) Scanning" - -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 -#, no-c-format -msgid "Physical size of the paper in the ADF" -msgstr "Physical size of the paper in the ADF" - -#: backend/kvs1025_opt.c:39 -#, no-c-format -msgid "bw" -msgstr "bw" - -#: backend/kvs1025_opt.c:40 -#, no-c-format -msgid "halftone" -msgstr "halftone" - -#: backend/kvs1025_opt.c:41 -#, no-c-format -msgid "gray" -msgstr "gray" - -#: backend/kvs1025_opt.c:42 -#, no-c-format -msgid "color" -msgstr "color" - -#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 -#: backend/kvs40xx_opt.c:1047 -#, no-c-format -msgid "adf" -msgstr "adf" - -#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 -#: backend/kvs40xx_opt.c:109 -#, no-c-format -msgid "fb" -msgstr "fb" - -#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 -#: backend/kvs40xx_opt.c:101 -#, no-c-format -msgid "single" -msgstr "single" - -#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 -#: backend/kvs40xx_opt.c:1087 -#, no-c-format -msgid "continuous" -msgstr "continuous" - -#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 -#: backend/kvs40xx_opt.c:115 -#, no-c-format -msgid "off" -msgstr "off" - -#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 -#: backend/kvs40xx_opt.c:116 -#, no-c-format -msgid "wait_doc" -msgstr "wait_doc" - -#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 -#: backend/kvs40xx_opt.c:118 -#, no-c-format -msgid "wait_key" -msgstr "wait_key" - -#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 -#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 -#, no-c-format -msgid "user_def" -msgstr "user_def" - -#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 -#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 -#, no-c-format -msgid "business_card" -msgstr "business_card" - -#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 -#: backend/kvs40xx_opt.c:143 -#, no-c-format -msgid "Check" -msgstr "Check" - -#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 -#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 -#, no-c-format -msgid "A5" -msgstr "A5" - -#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 -#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 -#, no-c-format -msgid "A6" -msgstr "A6" - -#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 -#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 -#, no-c-format -msgid "B5" -msgstr "B5" - -#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 -#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 -#, no-c-format -msgid "B6" -msgstr "B6" - -#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 -#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 -#, no-c-format -msgid "Legal" -msgstr "Legal" - -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 -#, no-c-format -msgid "bayer_64" -msgstr "bayer_64" - -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 -#, no-c-format -msgid "bayer_16" -msgstr "bayer_16" - -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 -#, no-c-format -msgid "halftone_32" -msgstr "halftone_32" - -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 -#, no-c-format -msgid "halftone_64" -msgstr "halftone_64" - -#: backend/kvs1025_opt.c:153 -#, no-c-format -msgid "diffusion" -msgstr "diffusion" - -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 -#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 -#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 -#, no-c-format -msgid "normal" -msgstr "normal" - -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 -#, no-c-format -msgid "light" -msgstr "light" - -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 -#, no-c-format -msgid "dark" -msgstr "dark" - -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 -#, no-c-format -msgid "From scanner" -msgstr "From scanner" - -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 -#: backend/matsushita.c:177 -#, no-c-format -msgid "From paper" -msgstr "From paper" - -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 -#, no-c-format -msgid "default" -msgstr "default" - -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 -#: backend/kvs40xx_opt.c:209 -#, no-c-format -msgid "smooth" -msgstr "smooth" - -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 -#: backend/kvs40xx_opt.c:205 -#, no-c-format -msgid "none" -msgstr "none" - -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 -#: backend/kvs40xx_opt.c:206 -#, no-c-format -msgid "low" -msgstr "low" - -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 -#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 -#, no-c-format -msgid "medium" -msgstr "medium" - -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 -#: backend/kvs40xx_opt.c:208 -#, no-c-format -msgid "high" -msgstr "high" - -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 -#: backend/kvs40xx_opt.c:216 -#, no-c-format -msgid "crt" -msgstr "crt" - -#: backend/kvs1025_opt.c:230 -#, no-c-format -msgid "linier" -msgstr "linier" - -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 -#: backend/kvs40xx_opt.c:224 -#, no-c-format -msgid "red" -msgstr "red" - -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 -#: backend/kvs40xx_opt.c:225 -#, no-c-format -msgid "green" -msgstr "green" - -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 -#: backend/kvs40xx_opt.c:226 -#, no-c-format -msgid "blue" -msgstr "blue" - -#: backend/kvs1025_opt.c:562 -#, no-c-format -msgid "Sets the scan source" -msgstr "Sets the scan source" - -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 -#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 -#, no-c-format -msgid "Feeder mode" -msgstr "Feeder mode" - -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 -#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 -#, no-c-format -msgid "Sets the feeding mode" -msgstr "Sets the feeding mode" - -#: backend/kvs1025_opt.c:584 -#, no-c-format -msgid "Enable/Disable long paper mode" -msgstr "Enable/Disable long paper mode" - -#: backend/kvs1025_opt.c:593 -#, no-c-format -msgid "Enable/Disable length control mode" -msgstr "Enable/Disable length control mode" - -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 -#: backend/kvs40xx_opt.c:417 -#, no-c-format -msgid "Sets the manual feed mode" -msgstr "Sets the manual feed mode" - -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 -#: backend/kvs40xx_opt.c:429 -#, no-c-format -msgid "Sets the manual feed timeout in seconds" -msgstr "Sets the manual feed timeout in seconds" - -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 -#: backend/kvs40xx_opt.c:442 -#, no-c-format -msgid "Enable/Disable double feed detection" -msgstr "Enable/Disable double feed detection" - -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 -#: backend/kvs40xx_opt.c:497 -#, no-c-format -msgid "fit-to-page" -msgstr "fit-to-page" - -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 -#: backend/kvs40xx_opt.c:498 -#, no-c-format -msgid "Fit to page" -msgstr "Fit to page" - -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 -#: backend/kvs40xx_opt.c:499 -#, no-c-format -msgid "Scanner shrinks image to fit scanned page" -msgstr "Scanner shrinks image to fit scanned page" - -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 -#: backend/kvs40xx_opt.c:533 -#, no-c-format -msgid "Set paper position : true for landscape, false for portrait" -msgstr "Set paper position : true for landscape, false for portrait" - -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 -#, no-c-format -msgid "Automatic threshold" -msgstr "Automatic threshold" - -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 -#, no-c-format -msgid "" -"Automatically sets brightness, contrast, white level, gamma, noise " -"reduction and image emphasis" -msgstr "" -"Automatically sets brightness, contrast, white level, gamma, noise " -"reduction and image emphasis" - -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 -#: backend/matsushita.c:1275 -#, no-c-format -msgid "Noise reduction" -msgstr "Noise reduction" - -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 -#: backend/matsushita.c:1277 -#, no-c-format -msgid "Reduce the isolated dot noise" -msgstr "Reduce the isolated dot noise" - -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 -#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 -#, no-c-format -msgid "Image emphasis" -msgstr "Image emphasis" - -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 -#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 -#, no-c-format -msgid "Sets the image emphasis" -msgstr "Sets the image emphasis" - -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 -#: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 -#, no-c-format -msgid "Gamma" -msgstr "Gamma" - -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 -#: backend/kvs40xx_opt.c:681 -#, no-c-format -msgid "Lamp color" -msgstr "Lamp color" - -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 -#: backend/kvs40xx_opt.c:682 -#, no-c-format -msgid "Sets the lamp color (color dropout)" -msgstr "Sets the lamp color (color dropout)" - -#: backend/kvs1025_opt.c:832 -#, no-c-format -msgid "Inverse image in B/W or halftone mode" -msgstr "Inverse image in B/W or halftone mode" - -#: backend/kvs1025_opt.c:840 -#, no-c-format -msgid "Mirror image (left/right flip)" -msgstr "Mirror image (left/right flip)" - -#: backend/kvs1025_opt.c:847 -#, no-c-format -msgid "jpeg compression" -msgstr "jpeg compression" - -#: backend/kvs1025_opt.c:850 -#, no-c-format -msgid "JPEG Image Compression with Q parameter, '0' - no compression" -msgstr "JPEG Image Compression with Q parameter, ‘0’ - no compression" - -#: backend/kvs1025_opt.c:860 -#, no-c-format -msgid "Rotate image clockwise" -msgstr "Rotate image clockwise" - -#: backend/kvs1025_opt.c:862 -#, no-c-format -msgid "Request driver to rotate pages by a fixed amount" -msgstr "Request driver to rotate pages by a fixed amount" - -#: backend/kvs1025_opt.c:874 -#, no-c-format -msgid "Request driver to rotate skewed pages digitally" -msgstr "Request driver to rotate skewed pages digitally" - -#: backend/kvs1025_opt.c:883 -#, no-c-format -msgid "Maximum diameter of lone dots to remove from scan" -msgstr "Maximum diameter of lone dots to remove from scan" - -#: backend/kvs1025_opt.c:902 -#, no-c-format -msgid "Software automatic cropping" -msgstr "Software automatic cropping" - -#: backend/kvs1025_opt.c:904 -#, no-c-format -msgid "Request driver to remove border from pages digitally" -msgstr "Request driver to remove border from pages digitally" - -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 -#, no-c-format -msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." -msgstr "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." - -#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 -#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 -#: backend/microtek2.h:640 -#, no-c-format -msgid "Gamma correction" -msgstr "Gamma correction" - -#: backend/kvs40xx_opt.c:117 -#, no-c-format -msgid "wait_doc_hopper_up" -msgstr "wait_doc_hopper_up" - -#: backend/kvs40xx_opt.c:127 -#, no-c-format -msgid "A3" -msgstr "A3" - -#: backend/kvs40xx_opt.c:132 -#, no-c-format -msgid "Double letter 11x17 in" -msgstr "Double letter 11x17 in" - -#: backend/kvs40xx_opt.c:133 -#, no-c-format -msgid "B4" -msgstr "B4" - -#: backend/kvs40xx_opt.c:231 -#, no-c-format -msgid "High sensivity" -msgstr "High sensivity" - -#: backend/kvs40xx_opt.c:232 -#, no-c-format -msgid "Low sensivity" -msgstr "Low sensivity" - -#: backend/kvs40xx_opt.c:243 -#, no-c-format -msgid "err_diffusion" -msgstr "err_diffusion" - -#: backend/kvs40xx_opt.c:249 -#, no-c-format -msgid "No detection" -msgstr "No detection" - -#: backend/kvs40xx_opt.c:250 -#, no-c-format -msgid "Normal mode" -msgstr "Normal mode" - -#: backend/kvs40xx_opt.c:251 -#, no-c-format -msgid "Enhanced mode" -msgstr "Enhanced mode" - -#: backend/kvs40xx_opt.c:405 -#, no-c-format -msgid "" -"Long Paper Mode is a mode that the scanner reads the image after it " -"divides long paper by the length which is set in Document Size option." -msgstr "" -"Long Paper Mode is a mode that the scanner reads the image after it " -"divides long paper by the length which is set in Document Size option." - -#: backend/kvs40xx_opt.c:449 -#, no-c-format -msgid "Double feed detector sensitivity" -msgstr "Double feed detector sensitivity" - -#: backend/kvs40xx_opt.c:450 -#, no-c-format -msgid "Set the double feed detector sensitivity" -msgstr "Set the double feed detector sensitivity" - -#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 -#, no-c-format -msgid "Do not stop after double feed detection" -msgstr "Do not stop after double feed detection" - -#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 -#, no-c-format -msgid "Ignore left double feed sensor" -msgstr "Ignore left double feed sensor" - -#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 -#, no-c-format -msgid "Ignore center double feed sensor" -msgstr "Ignore center double feed sensor" - -#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 -#, no-c-format -msgid "Ignore right double feed sensor" -msgstr "Ignore right double feed sensor" - -#: backend/kvs40xx_opt.c:642 -#, no-c-format -msgid "Automatic threshold mode" -msgstr "Automatic threshold mode" - -#: backend/kvs40xx_opt.c:643 -#, no-c-format -msgid "Sets the automatic threshold mode" -msgstr "Sets the automatic threshold mode" - -#: backend/kvs40xx_opt.c:694 -#, no-c-format -msgid "Inverse image in B/W mode" -msgstr "Inverse image in B/W mode" - -#: backend/kvs40xx_opt.c:715 -#, no-c-format -msgid "JPEG compression" -msgstr "JPEG compression" - -#: backend/kvs40xx_opt.c:718 -#, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" -msgstr "JPEG compression (yours application must be able to uncompress)" - -#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 -#, no-c-format -msgid "Detect stapled document" -msgstr "Detect stapled document" - -#: backend/kvs40xx_opt.c:776 -#, no-c-format -msgid "chroma of red" -msgstr "chroma of red" - -#: backend/kvs40xx_opt.c:777 -#, no-c-format -msgid "Set chroma of red" -msgstr "Set chroma of red" - -#: backend/kvs40xx_opt.c:787 -#, no-c-format -msgid "chroma of blue" -msgstr "chroma of blue" - -#: backend/kvs40xx_opt.c:788 -#, no-c-format -msgid "Set chroma of blue" -msgstr "Set chroma of blue" - -#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 -#, no-c-format -msgid "Skew adjustment" -msgstr "Skew adjustment" - -#: backend/kvs40xx_opt.c:808 -#, no-c-format -msgid "Stop scanner when a paper have been skewed" -msgstr "Stop scanner when a paper have been skewed" - -#: backend/kvs40xx_opt.c:809 -#, no-c-format -msgid "Scanner will be stop when a paper have been skewed" -msgstr "Scanner will be stop when a paper have been skewed" - -#: backend/kvs40xx_opt.c:816 -#, no-c-format -msgid "Crop actual image area" -msgstr "Crop actual image area" - -#: backend/kvs40xx_opt.c:817 -#, no-c-format -msgid "Scanner automatically detect image area and crop it" -msgstr "Scanner automatically detect image area and crop it" - -#: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "It is right and left reversing" - -#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 -#, no-c-format -msgid "Addition of space in top position" -msgstr "Addition of space in top position" - -#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 -#, no-c-format -msgid "Addition of space in bottom position" -msgstr "Addition of space in bottom position" - -#: backend/leo.c:110 -#, no-c-format -msgid "Diamond" -msgstr "Diamond" - -#: backend/leo.c:111 -#, no-c-format -msgid "8x8 Coarse Fatting" -msgstr "8x8 Coarse Fatting" - -#: backend/leo.c:112 -#, no-c-format -msgid "8x8 Fine Fatting" -msgstr "8x8 Fine Fatting" - -#: backend/leo.c:113 -#, no-c-format -msgid "8x8 Bayer" -msgstr "8x8 Bayer" - -#: backend/leo.c:114 -#, no-c-format -msgid "8x8 Vertical Line" -msgstr "8x8 Vertical Line" - -#: backend/lexmark.c:273 backend/umax_pp.c:715 -#, no-c-format -msgid "Gain" -msgstr "Gain" - -#: backend/lexmark.c:274 backend/umax_pp.c:716 -#, no-c-format -msgid "Color channels gain settings" -msgstr "Color channels gain settings" - -#: backend/lexmark.c:283 backend/umax_pp.c:723 -#, no-c-format -msgid "Gray gain" -msgstr "Gray gain" - -#: backend/lexmark.c:284 backend/umax_pp.c:724 -#, no-c-format -msgid "Sets gray channel gain" -msgstr "Sets gray channel gain" - -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 -#, no-c-format -msgid "Red gain" -msgstr "Red gain" - -#: backend/lexmark.c:298 backend/umax_pp.c:736 -#, no-c-format -msgid "Sets red channel gain" -msgstr "Sets red channel gain" - -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 -#, no-c-format -msgid "Green gain" -msgstr "Green gain" - -#: backend/lexmark.c:312 backend/umax_pp.c:748 -#, no-c-format -msgid "Sets green channel gain" -msgstr "Sets green channel gain" - -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 -#, no-c-format -msgid "Blue gain" -msgstr "Blue gain" - -#: backend/lexmark.c:326 backend/umax_pp.c:760 -#, no-c-format -msgid "Sets blue channel gain" -msgstr "Sets blue channel gain" - -#: backend/matsushita.c:139 -#, no-c-format -msgid "Bayer Dither 16" -msgstr "Bayer Dither 16" - -#: backend/matsushita.c:140 -#, no-c-format -msgid "Bayer Dither 64" -msgstr "Bayer Dither 64" - -#: backend/matsushita.c:141 -#, no-c-format -msgid "Halftone Dot 32" -msgstr "Halftone Dot 32" - -#: backend/matsushita.c:142 -#, no-c-format -msgid "Halftone Dot 64" -msgstr "Halftone Dot 64" - -#: backend/matsushita.c:143 -#, no-c-format -msgid "Error Diffusion" -msgstr "Error Diffusion" - -#: backend/matsushita.c:160 -#, no-c-format -msgid "Mode 1" -msgstr "Mode 1" - -#: backend/matsushita.c:161 -#, no-c-format -msgid "Mode 2" -msgstr "Mode 2" - -#: backend/matsushita.c:162 -#, no-c-format -msgid "Mode 3" -msgstr "Mode 3" - -#: backend/matsushita.c:176 -#, no-c-format -msgid "From white stick" -msgstr "From white stick" - -#: backend/matsushita.c:212 -#, no-c-format -msgid "Smooth" -msgstr "Smooth" - -#: backend/matsushita.c:214 backend/matsushita.c:229 -#, no-c-format -msgid "Low" -msgstr "Low" - -#: backend/matsushita.c:215 backend/matsushita.c:230 -#: backend/matsushita.c:1296 -#, no-c-format -msgid "Medium" -msgstr "Medium" - -#: backend/matsushita.c:216 backend/matsushita.c:231 -#, no-c-format -msgid "High" -msgstr "High" - -#: backend/matsushita.c:245 -#, no-c-format -msgid "CRT" -msgstr "CRT" - -#: backend/matsushita.c:257 -#, no-c-format -msgid "One page" -msgstr "One page" - -#: backend/matsushita.c:258 -#, no-c-format -msgid "All pages" -msgstr "All pages" - -#: backend/matsushita.c:1034 backend/plustek.c:1333 -#, no-c-format -msgid "sheetfed scanner" -msgstr "sheetfed scanner" - -#: backend/matsushita.h:209 -#, no-c-format -msgid "Grayscale 4 bits" -msgstr "Grayscale 4 bits" - -#: backend/matsushita.h:210 -#, no-c-format -msgid "Grayscale 8 bits" -msgstr "Grayscale 8 bits" - -#: backend/microtek2.h:601 -#, no-c-format -msgid "Shadow, midtone, highlight, exposure time" -msgstr "Shadow, midtone, highlight, exposure time" - -#: backend/microtek2.h:603 -#, no-c-format -msgid "Special options" -msgstr "Special options" - -#: backend/microtek2.h:604 -#, no-c-format -msgid "Color balance" -msgstr "Color balance" - -#: backend/microtek2.h:607 -#, no-c-format -msgid "Disable backtracking" -msgstr "Disable backtracking" - -#: backend/microtek2.h:608 -#, no-c-format -msgid "If checked the scanner does not perform backtracking" -msgstr "If checked the scanner does not perform backtracking" - -#: backend/microtek2.h:612 -#, no-c-format -msgid "Toggle lamp of flatbed" -msgstr "Toggle lamp of flatbed" - -#: backend/microtek2.h:613 -#, no-c-format -msgid "Toggles the lamp of the flatbed" -msgstr "Toggles the lamp of the flatbed" - -#: backend/microtek2.h:616 -#, no-c-format -msgid "Calibration by backend" -msgstr "Calibration by backend" - -#: backend/microtek2.h:617 -#, no-c-format -msgid "" -"If checked the color calibration before a scan is done by the backend" -msgstr "" -"If checked the color calibration before a scan is done by the backend" - -#: backend/microtek2.h:621 -#, no-c-format -msgid "Use the lightlid-35mm adapter" -msgstr "Use the lightlid-35mm adapter" - -#: backend/microtek2.h:622 -#, no-c-format -msgid "This option turns off the lamp of the flatbed during a scan" -msgstr "This option turns off the lamp of the flatbed during a scan" - -#: backend/microtek2.h:626 backend/snapscan-options.c:421 -#, no-c-format -msgid "Quality scan" -msgstr "Quality scan" - -#: backend/microtek2.h:627 backend/snapscan-options.c:422 -#, no-c-format -msgid "Highest quality but lower speed" -msgstr "Highest quality but lower speed" - -#: backend/microtek2.h:630 -#, no-c-format -msgid "Fast scan" -msgstr "Fast scan" - -#: backend/microtek2.h:631 -#, no-c-format -msgid "Highest speed but lower quality" -msgstr "Highest speed but lower quality" - -#: backend/microtek2.h:634 -#, no-c-format -msgid "Automatic adjustment of threshold" -msgstr "Automatic adjustment of threshold" - -#: backend/microtek2.h:635 -#, no-c-format -msgid "" -"If checked the backend automatically tries to determine an optimal value " -"for the threshold." -msgstr "" -"If checked the backend automatically tries to determine an optimal value " -"for the threshold." - -#: backend/microtek2.h:641 -#, no-c-format -msgid "Selects the gamma correction mode." -msgstr "Selects the gamma correction mode." - -#: backend/microtek2.h:644 -#, no-c-format -msgid "Bind gamma" -msgstr "Bind gamma" - -#: backend/microtek2.h:645 -#, no-c-format -msgid "Use same gamma values for all colour channels." -msgstr "Use same gamma values for all colour channels." - -#: backend/microtek2.h:649 -#, no-c-format -msgid "Scalar gamma" -msgstr "Scalar gamma" - -#: backend/microtek2.h:650 -#, no-c-format -msgid "Selects a value for scalar gamma correction." -msgstr "Selects a value for scalar gamma correction." - -#: backend/microtek2.h:654 -#, no-c-format -msgid "Scalar gamma red" -msgstr "Scalar gamma red" - -#: backend/microtek2.h:655 -#, no-c-format -msgid "Selects a value for scalar gamma correction (red channel)" -msgstr "Selects a value for scalar gamma correction (red channel)" - -#: backend/microtek2.h:659 -#, no-c-format -msgid "Scalar gamma green" -msgstr "Scalar gamma green" - -#: backend/microtek2.h:660 -#, no-c-format -msgid "Selects a value for scalar gamma correction (green channel)" -msgstr "Selects a value for scalar gamma correction (green channel)" - -#: backend/microtek2.h:664 -#, no-c-format -msgid "Scalar gamma blue" -msgstr "Scalar gamma blue" - -#: backend/microtek2.h:665 -#, no-c-format -msgid "Selects a value for scalar gamma correction (blue channel)" -msgstr "Selects a value for scalar gamma correction (blue channel)" - -#: backend/microtek2.h:669 -#, no-c-format -msgid "Channel" -msgstr "Channel" - -#: backend/microtek2.h:670 -#, no-c-format -msgid "" -"Selects the colour band, \"Master\" means that all colours are affected." -msgstr "" -"Selects the colour band, “Master” means that all colours are affected." - -#: backend/microtek2.h:674 -#, no-c-format -msgid "Midtone" -msgstr "Midtone" - -#: backend/microtek2.h:675 -#, no-c-format -msgid "Selects which radiance level should be considered \"50 % gray\"." -msgstr "Selects which radiance level should be considered “50 % gray”." - -#: backend/microtek2.h:679 -#, no-c-format -msgid "Midtone for red" -msgstr "Midtone for red" - -#: backend/microtek2.h:680 -#, no-c-format -msgid "Selects which radiance level should be considered \"50 % red\"." -msgstr "Selects which radiance level should be considered “50 % red”." - -#: backend/microtek2.h:684 -#, no-c-format -msgid "Midtone for green" -msgstr "Midtone for green" - -#: backend/microtek2.h:685 -#, no-c-format -msgid "Selects which radiance level should be considered \"50 % green\"." -msgstr "Selects which radiance level should be considered “50 % green”." - -#: backend/microtek2.h:689 -#, no-c-format -msgid "Midtone for blue" -msgstr "Midtone for blue" - -#: backend/microtek2.h:690 -#, no-c-format -msgid "Selects which radiance level should be considered \"50 % blue\"." -msgstr "Selects which radiance level should be considered “50 % blue”." - -#: backend/microtek2.h:694 -#, no-c-format -msgid "Red balance" -msgstr "Red balance" - -#: backend/microtek2.h:695 -#, no-c-format -msgid "Balance factor for red. A value of 100% means no correction." -msgstr "Balance factor for red. A value of 100% means no correction." - -#: backend/microtek2.h:699 -#, no-c-format -msgid "Green balance" -msgstr "Green balance" - -#: backend/microtek2.h:700 -#, no-c-format -msgid "Balance factor for green. A value of 100% means no correction." -msgstr "Balance factor for green. A value of 100% means no correction." - -#: backend/microtek2.h:704 -#, no-c-format -msgid "Blue balance" -msgstr "Blue balance" - -#: backend/microtek2.h:705 -#, no-c-format -msgid "Balance factor for blue. A value of 100% means no correction." -msgstr "Balance factor for blue. A value of 100% means no correction." - -#: backend/microtek2.h:709 -#, no-c-format -msgid "Firmware balance" -msgstr "Firmware balance" - -#: backend/microtek2.h:710 -#, no-c-format -msgid "Sets the color balance values to the firmware provided values." -msgstr "Sets the color balance values to the firmware provided values." - -#: backend/mustek.c:149 -#, no-c-format -msgid "Slowest" -msgstr "Slowest" - -#: backend/mustek.c:149 -#, no-c-format -msgid "Slower" -msgstr "Slower" - -#: backend/mustek.c:150 -#, no-c-format -msgid "Faster" -msgstr "Faster" - -#: backend/mustek.c:150 -#, no-c-format -msgid "Fastest" -msgstr "Fastest" - -#: backend/mustek.c:177 -#, no-c-format -msgid "8x8 coarse" -msgstr "8x8 coarse" - -#: backend/mustek.c:177 -#, no-c-format -msgid "8x8 normal" -msgstr "8x8 normal" - -#: backend/mustek.c:177 -#, no-c-format -msgid "8x8 fine" -msgstr "8x8 fine" - -#: backend/mustek.c:178 -#, no-c-format -msgid "8x8 very fine" -msgstr "8x8 very fine" - -#: backend/mustek.c:178 -#, no-c-format -msgid "6x6 normal" -msgstr "6x6 normal" - -#: backend/mustek.c:179 -#, no-c-format -msgid "5x5 coarse" -msgstr "5x5 coarse" - -#: backend/mustek.c:179 -#, no-c-format -msgid "5x5 fine" -msgstr "5x5 fine" - -#: backend/mustek.c:179 -#, no-c-format -msgid "4x4 coarse" -msgstr "4x4 coarse" - -#: backend/mustek.c:180 -#, no-c-format -msgid "4x4 normal" -msgstr "4x4 normal" - -#: backend/mustek.c:180 -#, no-c-format -msgid "4x4 fine" -msgstr "4x4 fine" - -#: backend/mustek.c:180 -#, no-c-format -msgid "3x3 normal" -msgstr "3x3 normal" - -#: backend/mustek.c:181 -#, no-c-format -msgid "2x2 normal" -msgstr "2x2 normal" - -#: backend/mustek.c:181 -#, no-c-format -msgid "8x8 custom" -msgstr "8x8 custom" - -#: backend/mustek.c:182 -#, no-c-format -msgid "6x6 custom" -msgstr "6x6 custom" - -#: backend/mustek.c:183 -#, no-c-format -msgid "5x5 custom" -msgstr "5x5 custom" - -#: backend/mustek.c:183 -#, no-c-format -msgid "4x4 custom" -msgstr "4x4 custom" - -#: backend/mustek.c:184 -#, no-c-format -msgid "3x3 custom" -msgstr "3x3 custom" - -#: backend/mustek.c:185 -#, no-c-format -msgid "2x2 custom" -msgstr "2x2 custom" - -#: backend/mustek.c:4235 -#, no-c-format -msgid "Fast gray mode" -msgstr "Fast gray mode" - -#: backend/mustek.c:4236 -#, no-c-format -msgid "Scan in fast gray mode (lower quality)." -msgstr "Scan in fast gray mode (lower quality)." - -#: backend/mustek.c:4333 -#, no-c-format -msgid "" -"Request that all previews are done in the fastest (low-quality) mode. " -"This may be a non-color mode or a low resolution mode." -msgstr "" -"Request that all previews are done in the fastest (low-quality) mode. " -"This may be a non-color mode or a low resolution mode." - -#: backend/mustek.c:4341 -#, no-c-format -msgid "Lamp off time (minutes)" -msgstr "Lamp off time (minutes)" - -#: backend/mustek.c:4342 -#, no-c-format -msgid "Set the time (in minutes) after which the lamp is shut off." -msgstr "Set the time (in minutes) after which the lamp is shut off." - -#: backend/mustek.c:4353 -#, no-c-format -msgid "Turn lamp off" -msgstr "Turn lamp off" - -#: backend/mustek.c:4354 -#, no-c-format -msgid "Turns the lamp off immediately." -msgstr "Turns the lamp off immediately." - -#: backend/mustek.c:4431 -#, no-c-format -msgid "Red brightness" -msgstr "Red brightness" - -#: backend/mustek.c:4432 -#, no-c-format -msgid "Controls the brightness of the red channel of the acquired image." -msgstr "Controls the brightness of the red channel of the acquired image." - -#: backend/mustek.c:4444 -#, no-c-format -msgid "Green brightness" -msgstr "Green brightness" - -#: backend/mustek.c:4445 -#, no-c-format -msgid "Controls the brightness of the green channel of the acquired image." -msgstr "" -"Controls the brightness of the green channel of the acquired image." - -#: backend/mustek.c:4457 -#, no-c-format -msgid "Blue brightness" -msgstr "Blue brightness" - -#: backend/mustek.c:4458 -#, no-c-format -msgid "Controls the brightness of the blue channel of the acquired image." -msgstr "Controls the brightness of the blue channel of the acquired image." - -#: backend/mustek.c:4483 -#, no-c-format -msgid "Contrast red channel" -msgstr "Contrast red channel" - -#: backend/mustek.c:4484 -#, no-c-format -msgid "Controls the contrast of the red channel of the acquired image." -msgstr "Controls the contrast of the red channel of the acquired image." - -#: backend/mustek.c:4496 -#, no-c-format -msgid "Contrast green channel" -msgstr "Contrast green channel" - -#: backend/mustek.c:4497 -#, no-c-format -msgid "Controls the contrast of the green channel of the acquired image." -msgstr "Controls the contrast of the green channel of the acquired image." - -#: backend/mustek.c:4509 -#, no-c-format -msgid "Contrast blue channel" -msgstr "Contrast blue channel" - -#: backend/mustek.c:4510 -#, no-c-format -msgid "Controls the contrast of the blue channel of the acquired image." -msgstr "Controls the contrast of the blue channel of the acquired image." - -#: backend/mustek_usb2.c:105 -#, no-c-format -msgid "Color48" -msgstr "Color48" - -#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 -#, no-c-format -msgid "Color24" -msgstr "Color24" - -#: backend/mustek_usb2.c:107 -#, no-c-format -msgid "Gray16" -msgstr "Gray16" - -#: backend/mustek_usb2.c:108 -#, no-c-format -msgid "Gray8" -msgstr "Gray8" - -#: backend/mustek_usb2.c:119 -#, no-c-format -msgid "Reflective" -msgstr "Reflective" - -#: backend/mustek_usb2.c:120 -#, no-c-format -msgid "Positive" -msgstr "Positive" - -#: backend/mustek_usb2.c:421 -#, no-c-format -msgid "" -"Warm-up until the lamp's brightness is constant instead of insisting on " -"40 seconds warm-up time." -msgstr "" -"Warm-up until the lamp's brightness is constant instead of insisting on " -"40 seconds warm-up time." - -#: backend/pixma.c:378 -#, no-c-format -msgid "Negative color" -msgstr "Negative color" - -#: backend/pixma.c:383 -#, no-c-format -msgid "Negative gray" -msgstr "Negative gray" - -#: backend/pixma.c:396 -#, no-c-format -msgid "48 bits color" -msgstr "48 bits color" - -#: backend/pixma.c:401 -#, no-c-format -msgid "16 bits gray" -msgstr "16 bits gray" - -#: backend/pixma_sane_options.c:84 -#, no-c-format -msgid "" -"Selects the scan source (such as a document-feeder). Set source before " -"mode and resolution. Resets mode and resolution to auto values." -msgstr "" -"Selects the scan source (such as a document-feeder). Set source before " -"mode and resolution. Resets mode and resolution to auto values." - -#: backend/pixma_sane_options.c:98 -#, no-c-format -msgid "Button-controlled scan" -msgstr "Button-controlled scan" - -#: backend/pixma_sane_options.c:99 -#, no-c-format -msgid "" -"When enabled, scan process will not start immediately. To proceed, press " -"\"SCAN\" button (for MP150) or \"COLOR\" button (for other models). To " -"cancel, press \"GRAY\" button." -msgstr "" -"When enabled, scan process will not start immediately. To proceed, press " -"“SCAN” button (for MP150) or “COLOR” button (for other models). To " -"cancel, press “GRAY” button." - -#: backend/pixma_sane_options.c:232 -#, no-c-format -msgid "Update button state" -msgstr "Update button state" - -#: backend/pixma_sane_options.c:244 -#, no-c-format -msgid "Button 1" -msgstr "Button 1" - -#: backend/pixma_sane_options.c:258 -#, no-c-format -msgid "Button 2" -msgstr "Button 2" - -#: backend/pixma_sane_options.c:272 -#, no-c-format -msgid "Type of original to scan" -msgstr "Type of original to scan" - -#: backend/pixma_sane_options.c:286 -#, no-c-format -msgid "Target operation type" -msgstr "Target operation type" - -#: backend/pixma_sane_options.c:348 -#, no-c-format -msgid "ADF Waiting Time" -msgstr "ADF Waiting Time" - -#: backend/pixma_sane_options.c:349 -#, no-c-format -msgid "" -"When set, the scanner searches the waiting time in seconds for a new " -"document inserted into the automatic document feeder." -msgstr "" -"When set, the scanner searches the waiting time in seconds for a new " -"document inserted into the automatic document feeder." - -#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 -#, no-c-format -msgid "Transparency" -msgstr "Transparency" - -#: backend/plustek.c:913 -#, no-c-format -msgid "Device-Settings" -msgstr "Device-Settings" - -#: backend/plustek.c:920 -#, no-c-format -msgid "Lampswitch" -msgstr "Lampswitch" - -#: backend/plustek.c:921 -#, no-c-format -msgid "Manually switching the lamp(s)." -msgstr "Manually switching the lamp(s)." - -#: backend/plustek.c:926 -#, no-c-format -msgid "Lamp off during dark calibration" -msgstr "Lamp off during dark calibration" - -#: backend/plustek.c:927 -#, no-c-format -msgid "Always switches lamp off when doing dark calibration." -msgstr "Always switches lamp off when doing dark calibration." - -#: backend/plustek.c:935 -#, no-c-format -msgid "Calibration data cache" -msgstr "Calibration data cache" - -#: backend/plustek.c:936 -#, no-c-format -msgid "Enables or disables calibration data cache." -msgstr "Enables or disables calibration data cache." - -#: backend/plustek.c:942 -#, no-c-format -msgid "Performs calibration" -msgstr "Performs calibration" - -#: backend/plustek.c:959 -#, no-c-format -msgid "Speedup sensor" -msgstr "Speedup sensor" - -#: backend/plustek.c:960 -#, no-c-format -msgid "Enables or disables speeding up sensor movement." -msgstr "Enables or disables speeding up sensor movement." - -#: backend/plustek.c:974 -#, no-c-format -msgid "Warmup-time" -msgstr "Warmup-time" - -#: backend/plustek.c:975 -#, no-c-format -msgid "Warmup-time in seconds." -msgstr "Warmup-time in seconds." - -#: backend/plustek.c:987 -#, no-c-format -msgid "Lampoff-time" -msgstr "Lampoff-time" - -#: backend/plustek.c:988 -#, no-c-format -msgid "Lampoff-time in seconds." -msgstr "Lampoff-time in seconds." - -#: backend/plustek.c:995 -#, no-c-format -msgid "Analog frontend" -msgstr "Analog frontend" - -#: backend/plustek.c:1002 -#, no-c-format -msgid "Red gain value of the AFE" -msgstr "Red gain value of the AFE" - -#: backend/plustek.c:1009 backend/umax_pp.c:792 -#, no-c-format -msgid "Red offset" -msgstr "Red offset" - -#: backend/plustek.c:1010 -#, no-c-format -msgid "Red offset value of the AFE" -msgstr "Red offset value of the AFE" - -#: backend/plustek.c:1018 -#, no-c-format -msgid "Green gain value of the AFE" -msgstr "Green gain value of the AFE" - -#: backend/plustek.c:1026 -#, no-c-format -msgid "Green offset value of the AFE" -msgstr "Green offset value of the AFE" - -#: backend/plustek.c:1034 -#, no-c-format -msgid "Blue gain value of the AFE" -msgstr "Blue gain value of the AFE" - -#: backend/plustek.c:1042 -#, no-c-format -msgid "Blue offset value of the AFE" -msgstr "Blue offset value of the AFE" - -#: backend/plustek.c:1049 -#, no-c-format -msgid "Red lamp off" -msgstr "Red lamp off" - -#: backend/plustek.c:1050 -#, no-c-format -msgid "Defines red lamp off parameter" -msgstr "Defines red lamp off parameter" - -#: backend/plustek.c:1057 -#, no-c-format -msgid "Green lamp off" -msgstr "Green lamp off" - -#: backend/plustek.c:1058 -#, no-c-format -msgid "Defines green lamp off parameter" -msgstr "Defines green lamp off parameter" - -#: backend/plustek.c:1065 -#, no-c-format -msgid "Blue lamp off" -msgstr "Blue lamp off" - -#: backend/plustek.c:1066 -#, no-c-format -msgid "Defines blue lamp off parameter" -msgstr "Defines blue lamp off parameter" - -#: backend/plustek.c:1096 -#, no-c-format -msgid "This option reflects the status of the scanner buttons." -msgstr "This option reflects the status of the scanner buttons." - -#: backend/plustek_pp.c:197 -#, no-c-format -msgid "Color36" -msgstr "Color36" - -#: backend/plustek_pp.c:211 -#, no-c-format -msgid "Dithermap 1" -msgstr "Dithermap 1" - -#: backend/plustek_pp.c:212 -#, no-c-format -msgid "Dithermap 2" -msgstr "Dithermap 2" - -#: backend/plustek_pp.c:213 -#, no-c-format -msgid "Randomize" -msgstr "Randomize" - -#: backend/pnm.c:168 -#, no-c-format -msgid "Source Selection" -msgstr "Source Selection" - -#: backend/pnm.c:205 -#, no-c-format -msgid "Image Enhancement" -msgstr "Image Enhancement" - -#: backend/pnm.c:241 -#, no-c-format -msgid "Grayify" -msgstr "Grayify" - -#: backend/pnm.c:242 -#, no-c-format -msgid "Load the image as grayscale." -msgstr "Load the image as grayscale." - -#: backend/pnm.c:253 -#, no-c-format -msgid "Three-Pass Simulation" -msgstr "Three-Pass Simulation" - -#: backend/pnm.c:255 -#, no-c-format -msgid "" -"Simulate a three-pass scanner by returning 3 separate frames. For " -"kicks, it returns green, then blue, then red." -msgstr "" -"Simulate a three-pass scanner by returning 3 separate frames. For " -"kicks, it returns green, then blue, then red." - -#: backend/pnm.c:267 -#, no-c-format -msgid "Hand-Scanner Simulation" -msgstr "Hand-Scanner Simulation" - -#: backend/pnm.c:268 -#, no-c-format -msgid "" -"Simulate a hand-scanner. Hand-scanners often do not know the image " -"height a priori. Instead, they return a height of -1. Setting this " -"option allows one to test whether a frontend can handle this correctly." -msgstr "" -"Simulate a hand-scanner. Hand-scanners often do not know the image " -"height a priori. Instead, they return a height of -1. Setting this " -"option allows one to test whether a frontend can handle this correctly." - -#: backend/pnm.c:283 -#, no-c-format -msgid "" -"Set default values for enhancement controls (brightness & contrast)." -msgstr "" -"Set default values for enhancement controls (brightness & contrast)." - -#: backend/pnm.c:295 -#, no-c-format -msgid "Read only test-option" -msgstr "Read only test-option" - -#: backend/pnm.c:296 -#, no-c-format -msgid "Let's see whether frontends can treat this right" -msgstr "Let's see whether frontends can treat this right" - -#: backend/pnm.c:307 -#, no-c-format -msgid "Gamma Tables" -msgstr "Gamma Tables" - -#: backend/pnm.c:379 -#, no-c-format -msgid "Status Code Simulation" -msgstr "Status Code Simulation" - -#: backend/pnm.c:391 -#, no-c-format -msgid "Do not force status code" -msgstr "Do not force status code" - -#: backend/pnm.c:392 -#, no-c-format -msgid "Do not force the backend to return a status code." -msgstr "Do not force the backend to return a status code." - -#: backend/pnm.c:403 -#, no-c-format -msgid "Return SANE_STATUS_EOF" -msgstr "Return SANE_STATUS_EOF" - -#: backend/pnm.c:404 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_EOF after " -"sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_EOF after " -"sane_read() has been called." - -#: backend/pnm.c:416 -#, no-c-format -msgid "Return SANE_STATUS_JAMMED" -msgstr "Return SANE_STATUS_JAMMED" - -#: backend/pnm.c:418 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_JAMMED after " -"sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_JAMMED after " -"sane_read() has been called." - -#: backend/pnm.c:430 -#, no-c-format -msgid "Return SANE_STATUS_NO_DOCS" -msgstr "Return SANE_STATUS_NO_DOCS" - -#: backend/pnm.c:431 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_NO_DOCS after " -"sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_NO_DOCS after " -"sane_read() has been called." - -#: backend/pnm.c:443 -#, no-c-format -msgid "Return SANE_STATUS_COVER_OPEN" -msgstr "Return SANE_STATUS_COVER_OPEN" - -#: backend/pnm.c:444 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_COVER_OPEN after " -"sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_COVER_OPEN after " -"sane_read() has been called." - -#: backend/pnm.c:456 -#, no-c-format -msgid "Return SANE_STATUS_IO_ERROR" -msgstr "Return SANE_STATUS_IO_ERROR" - -#: backend/pnm.c:457 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_IO_ERROR after " -"sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_IO_ERROR after " -"sane_read() has been called." - -#: backend/pnm.c:469 -#, no-c-format -msgid "Return SANE_STATUS_NO_MEM" -msgstr "Return SANE_STATUS_NO_MEM" - -#: backend/pnm.c:471 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_NO_MEM after " -"sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_NO_MEM after " -"sane_read() has been called." - -#: backend/pnm.c:483 -#, no-c-format -msgid "Return SANE_STATUS_ACCESS_DENIED" -msgstr "Return SANE_STATUS_ACCESS_DENIED" - -#: backend/pnm.c:484 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " -"after sane_read() has been called." -msgstr "" -"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " -"after sane_read() has been called." - -#: backend/rts8891.c:2809 -#, no-c-format -msgid "This option reflects the status of a scanner button." -msgstr "This option reflects the status of a scanner button." - -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 -#, no-c-format -msgid "Lamp on" -msgstr "Lamp on" - -#: backend/rts8891.c:2841 backend/umax.c:5796 -#, no-c-format -msgid "Turn on scanner lamp" -msgstr "Turn on scanner lamp" - -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 -#, no-c-format -msgid "Lamp off" -msgstr "Lamp off" - -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 -#, no-c-format -msgid "Turn off scanner lamp" -msgstr "Turn off scanner lamp" - -#: backend/sm3840.c:760 -#, no-c-format -msgid "Lamp timeout" -msgstr "Lamp timeout" - -#: backend/sm3840.c:762 -#, no-c-format -msgid "Minutes until lamp is turned off after scan" -msgstr "Minutes until lamp is turned off after scan" - -#: backend/sm3840.c:772 -#, no-c-format -msgid "Threshold value for lineart mode" -msgstr "Threshold value for lineart mode" - -#: backend/snapscan-options.c:88 -#, no-c-format -msgid "Document Feeder" -msgstr "Document Feeder" - -#: backend/snapscan-options.c:92 -#, no-c-format -msgid "6x4 (inch)" -msgstr "6x4 (inch)" - -#: backend/snapscan-options.c:93 -#, no-c-format -msgid "8x10 (inch)" -msgstr "8x10 (inch)" - -#: backend/snapscan-options.c:94 -#, no-c-format -msgid "8.5x11 (inch)" -msgstr "8.5x11 (inch)" - -#: backend/snapscan-options.c:97 -#, no-c-format -msgid "Halftoning Unsupported" -msgstr "Halftoning Unsupported" - -#: backend/snapscan-options.c:98 -#, no-c-format -msgid "DispersedDot8x8" -msgstr "DispersedDot8x8" - -#: backend/snapscan-options.c:99 -#, no-c-format -msgid "DispersedDot16x16" -msgstr "DispersedDot16x16" - -#: backend/snapscan-options.c:103 -#, no-c-format -msgid "" -"Number of scan lines to request in a SCSI read. Changing this parameter " -"allows you to tune the speed at which data is read from the scanner " -"during scans. If this is set too low, the scanner will have to stop " -"periodically in the middle of a scan; if it's set too high, X-based " -"frontends may stop responding to X events and your system could bog down." -msgstr "" -"Number of scan lines to request in a SCSI read. Changing this parameter " -"allows you to tune the speed at which data is read from the scanner " -"during scans. If this is set too low, the scanner will have to stop " -"periodically in the middle of a scan; if it's set too high, X-based " -"frontends may stop responding to X events and your system could bog down." - -#: backend/snapscan-options.c:111 -#, no-c-format -msgid "Frame number of media holder that should be scanned." -msgstr "Frame number of media holder that should be scanned." - -#: backend/snapscan-options.c:114 -#, no-c-format -msgid "Use manual or automatic selection of focus point." -msgstr "Use manual or automatic selection of focus point." - -#: backend/snapscan-options.c:117 -#, no-c-format -msgid "Focus point for scanning." -msgstr "Focus point for scanning." - -#: backend/snapscan-options.c:482 -#, no-c-format -msgid "Preview mode" -msgstr "Preview mode" - -#: backend/snapscan-options.c:484 -#, no-c-format -msgid "" -"Select the mode for previews. Greyscale previews usually give the best " -"combination of speed and detail." -msgstr "" -"Select the mode for previews. Greyscale previews usually give the best " -"combination of speed and detail." - -#: backend/snapscan-options.c:601 -#, no-c-format -msgid "Predefined settings" -msgstr "Predefined settings" - -#: backend/snapscan-options.c:603 -#, no-c-format -msgid "" -"Provides standard scanning areas for photographs, printed pages and the " -"like." -msgstr "" -"Provides standard scanning areas for photographs, printed pages and the " -"like." - -#: backend/snapscan-options.c:884 -#, no-c-format -msgid "Frame" -msgstr "Frame" - -#: backend/snapscan-options.c:885 -#, no-c-format -msgid "Frame to be scanned" -msgstr "Frame to be scanned" - -#: backend/snapscan-options.c:897 -#, no-c-format -msgid "Focus-mode" -msgstr "Focus-mode" - -#: backend/snapscan-options.c:898 -#, no-c-format -msgid "Auto or manual focus" -msgstr "Auto or manual focus" - -#: backend/snapscan-options.c:911 -#, no-c-format -msgid "Focus-point" -msgstr "Focus-point" - -#: backend/snapscan-options.c:912 -#, no-c-format -msgid "Focus point" -msgstr "Focus point" - -#: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" -msgstr "Colour lines per read" - -#: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" -msgstr "Greyscale lines per read" - -#: backend/stv680.c:974 -#, no-c-format -msgid "webcam" -msgstr "webcam" - -#: backend/stv680.h:115 -#, no-c-format -msgid "Color RAW" -msgstr "Color RAW" - -#: backend/stv680.h:116 -#, no-c-format -msgid "Color RGB" -msgstr "Color RGB" - -#: backend/stv680.h:117 -#, no-c-format -msgid "Color RGB TEXT" -msgstr "Color RGB TEXT" - -#: backend/test.c:137 -#, no-c-format -msgid "Solid black" -msgstr "Solid black" - -#: backend/test.c:137 -#, no-c-format -msgid "Solid white" -msgstr "Solid white" - -#: backend/test.c:138 -#, no-c-format -msgid "Color pattern" -msgstr "Color pattern" - -#: backend/test.c:138 -#, no-c-format -msgid "Grid" -msgstr "Grid" - -#: backend/test.c:163 backend/test.c:171 -#, no-c-format -msgid "First entry" -msgstr "First entry" - -#: backend/test.c:163 backend/test.c:171 -#, no-c-format -msgid "Second entry" -msgstr "Second entry" - -#: backend/test.c:165 -#, no-c-format -msgid "" -"This is the very long third entry. Maybe the frontend has an idea how to " -"display it" -msgstr "" -"This is the very long third entry. Maybe the frontend has an idea how to " -"display it" - -#: backend/test.c:348 -#, no-c-format -msgid "Hand-scanner simulation" -msgstr "Hand-scanner simulation" - -#: backend/test.c:349 -#, no-c-format -msgid "" -"Simulate a hand-scanner. Hand-scanners do not know the image height a " -"priori. Instead, they return a height of -1. Setting this option " -"allows one to test whether a frontend can handle this correctly. This " -"option also enables a fixed width of 11 cm." -msgstr "" -"Simulate a hand-scanner. Hand-scanners do not know the image height a " -"priori. Instead, they return a height of -1. Setting this option " -"allows one to test whether a frontend can handle this correctly. This " -"option also enables a fixed width of 11 cm." - -#: backend/test.c:366 -#, no-c-format -msgid "Three-pass simulation" -msgstr "Three-pass simulation" - -#: backend/test.c:367 -#, no-c-format -msgid "" -"Simulate a three-pass scanner. In color mode, three frames are " -"transmitted." -msgstr "" -"Simulate a three-pass scanner. In color mode, three frames are " -"transmitted." - -#: backend/test.c:382 -#, no-c-format -msgid "Set the order of frames" -msgstr "Set the order of frames" - -#: backend/test.c:383 -#, no-c-format -msgid "Set the order of frames in three-pass color mode." -msgstr "Set the order of frames in three-pass color mode." - -#: backend/test.c:416 -#, no-c-format -msgid "" -"If Automatic Document Feeder is selected, the feeder will be 'empty' " -"after 10 scans." -msgstr "" -"If Automatic Document Feeder is selected, the feeder will be ‘empty’ " -"after 10 scans." - -#: backend/test.c:431 -#, no-c-format -msgid "Special Options" -msgstr "Special Options" - -#: backend/test.c:444 -#, no-c-format -msgid "Select the test picture" -msgstr "Select the test picture" - -#: backend/test.c:446 -#, no-c-format -msgid "" -"Select the kind of test picture. Available options:\n" -"Solid black: fills the whole scan with black.\n" -"Solid white: fills the whole scan with white.\n" -"Color pattern: draws various color test patterns depending on the mode.\n" -"Grid: draws a black/white grid with a width and height of 10 mm per " -"square." -msgstr "" -"Select the kind of test picture. Available options:\n" -"Solid black: fills the whole scan with black.\n" -"Solid white: fills the whole scan with white.\n" -"Color pattern: draws various color test patterns depending on the mode.\n" -"Grid: draws a black/white grid with a width and height of 10 mm per " -"square." - -#: backend/test.c:467 -#, no-c-format -msgid "Invert endianness" -msgstr "Invert endianness" - -#: backend/test.c:468 -#, no-c-format -msgid "" -"Exchange upper and lower byte of image data in 16 bit modes. This option " -"can be used to test the 16 bit modes of frontends, e.g. if the frontend " -"uses the correct endianness." -msgstr "" -"Exchange upper and lower byte of image data in 16 bit modes. This option " -"can be used to test the 16 bit modes of frontends, e.g. if the frontend " -"uses the correct endianness." - -#: backend/test.c:484 -#, no-c-format -msgid "Read limit" -msgstr "Read limit" - -#: backend/test.c:485 -#, no-c-format -msgid "Limit the amount of data transferred with each call to sane_read()." -msgstr "" -"Limit the amount of data transferred with each call to sane_read()." - -#: backend/test.c:498 -#, no-c-format -msgid "Size of read-limit" -msgstr "Size of read-limit" - -#: backend/test.c:499 -#, no-c-format -msgid "" -"The (maximum) amount of data transferred with each call to sane_read()." -msgstr "" -"The (maximum) amount of data transferred with each call to sane_read()." - -#: backend/test.c:514 -#, no-c-format -msgid "Read delay" -msgstr "Read delay" - -#: backend/test.c:515 -#, no-c-format -msgid "Delay the transfer of data to the pipe." -msgstr "Delay the transfer of data to the pipe." - -#: backend/test.c:527 -#, no-c-format -msgid "Duration of read-delay" -msgstr "Duration of read-delay" - -#: backend/test.c:528 -#, no-c-format -msgid "" -"How long to wait after transferring each buffer of data through the pipe." -msgstr "" -"How long to wait after transferring each buffer of data through the pipe." - -#: backend/test.c:543 -#, no-c-format -msgid "Return-value of sane_read" -msgstr "Return-value of sane_read" - -#: backend/test.c:545 -#, no-c-format -msgid "" -"Select the return-value of sane_read(). \"Default\" is the normal " -"handling for scanning. All other status codes are for testing how the " -"frontend handles them." -msgstr "" -"Select the return-value of sane_read(). “Default” is the normal handling " -"for scanning. All other status codes are for testing how the frontend " -"handles them." - -#: backend/test.c:562 -#, no-c-format -msgid "Loss of pixels per line" -msgstr "Loss of pixels per line" - -#: backend/test.c:564 -#, no-c-format -msgid "The number of pixels that are wasted at the end of each line." -msgstr "The number of pixels that are wasted at the end of each line." - -#: backend/test.c:577 -#, no-c-format -msgid "Fuzzy parameters" -msgstr "Fuzzy parameters" - -#: backend/test.c:578 -#, no-c-format -msgid "" -"Return fuzzy lines and bytes per line when sane_parameters() is called " -"before sane_start()." -msgstr "" -"Return fuzzy lines and bytes per line when sane_parameters() is called " -"before sane_start()." - -#: backend/test.c:591 -#, no-c-format -msgid "Use non-blocking IO" -msgstr "Use non-blocking IO" - -#: backend/test.c:592 -#, no-c-format -msgid "Use non-blocking IO for sane_read() if supported by the frontend." -msgstr "Use non-blocking IO for sane_read() if supported by the frontend." - -#: backend/test.c:605 -#, no-c-format -msgid "Offer select file descriptor" -msgstr "Offer select file descriptor" - -#: backend/test.c:606 -#, no-c-format -msgid "" -"Offer a select filedescriptor for detecting if sane_read() will return " -"data." -msgstr "" -"Offer a select filedescriptor for detecting if sane_read() will return " -"data." - -#: backend/test.c:619 -#, no-c-format -msgid "Enable test options" -msgstr "Enable test options" - -#: backend/test.c:620 -#, no-c-format -msgid "" -"Enable various test options. This is for testing the ability of " -"frontends to view and modify all the different SANE option types." -msgstr "" -"Enable various test options. This is for testing the ability of " -"frontends to view and modify all the different SANE option types." - -#: backend/test.c:634 -#, no-c-format -msgid "Print options" -msgstr "Print options" - -#: backend/test.c:635 -#, no-c-format -msgid "Print a list of all options." -msgstr "Print a list of all options." - -#: backend/test.c:712 -#, no-c-format -msgid "Bool test options" -msgstr "Bool test options" - -#: backend/test.c:725 -#, no-c-format -msgid "(1/6) Bool soft select soft detect" -msgstr "(1/6) Bool soft select soft detect" - -#: backend/test.c:727 -#, no-c-format -msgid "" -"(1/6) Bool test option that has soft select and soft detect (and " -"advanced) capabilities. That's just a normal bool option." -msgstr "" -"(1/6) Bool test option that has soft select and soft detect (and " -"advanced) capabilities. That's just a normal bool option." - -#: backend/test.c:743 -#, no-c-format -msgid "(2/6) Bool hard select soft detect" -msgstr "(2/6) Bool hard select soft detect" - -#: backend/test.c:745 -#, no-c-format -msgid "" -"(2/6) Bool test option that has hard select and soft detect (and " -"advanced) capabilities. That means the option can't be set by the " -"frontend but by the user (e.g. by pressing a button at the device)." -msgstr "" -"(2/6) Bool test option that has hard select and soft detect (and " -"advanced) capabilities. That means the option can't be set by the " -"frontend but by the user (e.g. by pressing a button at the device)." - -#: backend/test.c:762 -#, no-c-format -msgid "(3/6) Bool hard select" -msgstr "(3/6) Bool hard select" - -#: backend/test.c:763 -#, no-c-format -msgid "" -"(3/6) Bool test option that has hard select (and advanced) capabilities. " -"That means the option can't be set by the frontend but by the user (e.g. " -"by pressing a button at the device) and can't be read by the frontend." -msgstr "" -"(3/6) Bool test option that has hard select (and advanced) capabilities. " -"That means the option can't be set by the frontend but by the user (e.g. " -"by pressing a button at the device) and can't be read by the frontend." - -#: backend/test.c:781 -#, no-c-format -msgid "(4/6) Bool soft detect" -msgstr "(4/6) Bool soft detect" - -#: backend/test.c:782 -#, no-c-format -msgid "" -"(4/6) Bool test option that has soft detect (and advanced) capabilities. " -"That means the option is read-only." -msgstr "" -"(4/6) Bool test option that has soft detect (and advanced) capabilities. " -"That means the option is read-only." - -#: backend/test.c:798 -#, no-c-format -msgid "(5/6) Bool soft select soft detect emulated" -msgstr "(5/6) Bool soft select soft detect emulated" - -#: backend/test.c:799 -#, no-c-format -msgid "" -"(5/6) Bool test option that has soft select, soft detect, and emulated " -"(and advanced) capabilities." -msgstr "" -"(5/6) Bool test option that has soft select, soft detect, and emulated " -"(and advanced) capabilities." - -#: backend/test.c:815 -#, no-c-format -msgid "(6/6) Bool soft select soft detect auto" -msgstr "(6/6) Bool soft select soft detect auto" - -#: backend/test.c:816 -#, no-c-format -msgid "" -"(6/6) Bool test option that has soft select, soft detect, and automatic " -"(and advanced) capabilities. This option can be automatically set by the " -"backend." -msgstr "" -"(6/6) Bool test option that has soft select, soft detect, and automatic " -"(and advanced) capabilities. This option can be automatically set by the " -"backend." - -#: backend/test.c:833 -#, no-c-format -msgid "Int test options" -msgstr "Int test options" - -#: backend/test.c:846 -#, no-c-format -msgid "(1/6) Int" -msgstr "(1/6) Int" - -#: backend/test.c:847 -#, no-c-format -msgid "(1/6) Int test option with no unit and no constraint set." -msgstr "(1/6) Int test option with no unit and no constraint set." - -#: backend/test.c:862 -#, no-c-format -msgid "(2/6) Int constraint range" -msgstr "(2/6) Int constraint range" - -#: backend/test.c:863 -#, no-c-format -msgid "" -"(2/6) Int test option with unit pixel and constraint range set. Minimum " -"is 4, maximum 192, and quant is 2." -msgstr "" -"(2/6) Int test option with unit pixel and constraint range set. Minimum " -"is 4, maximum 192, and quant is 2." - -#: backend/test.c:879 -#, no-c-format -msgid "(3/6) Int constraint word list" -msgstr "(3/6) Int constraint word list" - -#: backend/test.c:880 -#, no-c-format -msgid "(3/6) Int test option with unit bits and constraint word list set." -msgstr "(3/6) Int test option with unit bits and constraint word list set." - -#: backend/test.c:895 -#, no-c-format -msgid "(4/6) Int array" -msgstr "(4/6) Int array" - -#: backend/test.c:896 -#, no-c-format -msgid "" -"(4/6) Int test option with unit mm and using an array without " -"constraints." -msgstr "" -"(4/6) Int test option with unit mm and using an array without " -"constraints." - -#: backend/test.c:911 -#, no-c-format -msgid "(5/6) Int array constraint range" -msgstr "(5/6) Int array constraint range" - -#: backend/test.c:912 -#, no-c-format -msgid "" -"(5/6) Int test option with unit dpi and using an array with a range " -"constraint. Minimum is 4, maximum 192, and quant is 2." -msgstr "" -"(5/6) Int test option with unit dpi and using an array with a range " -"constraint. Minimum is 4, maximum 192, and quant is 2." - -#: backend/test.c:929 -#, no-c-format -msgid "(6/6) Int array constraint word list" -msgstr "(6/6) Int array constraint word list" - -#: backend/test.c:930 -#, no-c-format -msgid "" -"(6/6) Int test option with unit percent and using an array with a word " -"list constraint." -msgstr "" -"(6/6) Int test option with unit percent and using an array with a word " -"list constraint." - -#: backend/test.c:946 -#, no-c-format -msgid "Fixed test options" -msgstr "Fixed test options" - -#: backend/test.c:959 -#, no-c-format -msgid "(1/3) Fixed" -msgstr "(1/3) Fixed" - -#: backend/test.c:960 -#, no-c-format -msgid "(1/3) Fixed test option with no unit and no constraint set." -msgstr "(1/3) Fixed test option with no unit and no constraint set." - -#: backend/test.c:975 -#, no-c-format -msgid "(2/3) Fixed constraint range" -msgstr "(2/3) Fixed constraint range" - -#: backend/test.c:976 -#, no-c-format -msgid "" -"(2/3) Fixed test option with unit microsecond and constraint range set. " -"Minimum is -42.17, maximum 32767.9999, and quant is 2.0." -msgstr "" -"(2/3) Fixed test option with unit microsecond and constraint range set. " -"Minimum is -42.17, maximum 32767.9999, and quant is 2.0." - -#: backend/test.c:992 -#, no-c-format -msgid "(3/3) Fixed constraint word list" -msgstr "(3/3) Fixed constraint word list" - -#: backend/test.c:993 -#, no-c-format -msgid "(3/3) Fixed test option with no unit and constraint word list set." -msgstr "(3/3) Fixed test option with no unit and constraint word list set." - -#: backend/test.c:1008 -#, no-c-format -msgid "String test options" -msgstr "String test options" - -#: backend/test.c:1021 -#, no-c-format -msgid "(1/3) String" -msgstr "(1/3) String" - -#: backend/test.c:1022 -#, no-c-format -msgid "(1/3) String test option without constraint." -msgstr "(1/3) String test option without constraint." - -#: backend/test.c:1039 -#, no-c-format -msgid "(2/3) String constraint string list" -msgstr "(2/3) String constraint string list" - -#: backend/test.c:1040 -#, no-c-format -msgid "(2/3) String test option with string list constraint." -msgstr "(2/3) String test option with string list constraint." - -#: backend/test.c:1059 -#, no-c-format -msgid "(3/3) String constraint long string list" -msgstr "(3/3) String constraint long string list" - -#: backend/test.c:1060 -#, no-c-format -msgid "" -"(3/3) String test option with string list constraint. Contains some more " -"entries..." -msgstr "" -"(3/3) String test option with string list constraint. Contains some more " -"entries..." - -#: backend/test.c:1080 -#, no-c-format -msgid "Button test options" -msgstr "Button test options" - -#: backend/test.c:1093 -#, no-c-format -msgid "(1/1) Button" -msgstr "(1/1) Button" - -#: backend/test.c:1094 -#, no-c-format -msgid "(1/1) Button test option. Prints some text..." -msgstr "(1/1) Button test option. Prints some text..." - -#: backend/u12.c:149 -#, no-c-format -msgid "Color 36" -msgstr "Color 36" - -#: backend/umax.c:235 -#, no-c-format -msgid "Use Image Composition" -msgstr "Use Image Composition" - -#: backend/umax.c:236 -#, no-c-format -msgid "Bi-level black and white (lineart mode)" -msgstr "Bi-level black and white (lineart mode)" - -#: backend/umax.c:237 -#, no-c-format -msgid "Dithered/halftone black & white (halftone mode)" -msgstr "Dithered/halftone black & white (halftone mode)" - -#: backend/umax.c:238 -#, no-c-format -msgid "Multi-level black & white (grayscale mode)" -msgstr "Multi-level black & white (grayscale mode)" - -#: backend/umax.c:239 -#, no-c-format -msgid "Multi-level RGB color (one pass color)" -msgstr "Multi-level RGB color (one pass color)" - -#: backend/umax.c:240 -#, no-c-format -msgid "Ignore calibration" -msgstr "Ignore calibration" - -#: backend/umax.c:5733 -#, no-c-format -msgid "Disable pre focus" -msgstr "Disable pre focus" - -#: backend/umax.c:5734 -#, no-c-format -msgid "Do not calibrate focus" -msgstr "Do not calibrate focus" - -#: backend/umax.c:5745 -#, no-c-format -msgid "Manual pre focus" -msgstr "Manual pre focus" - -#: backend/umax.c:5757 -#, no-c-format -msgid "Fix focus position" -msgstr "Fix focus position" - -#: backend/umax.c:5769 -#, no-c-format -msgid "Lens calibration in doc position" -msgstr "Lens calibration in doc position" - -#: backend/umax.c:5770 -#, no-c-format -msgid "Calibrate lens focus in document position" -msgstr "Calibrate lens focus in document position" - -#: backend/umax.c:5781 -#, no-c-format -msgid "Holder focus position 0mm" -msgstr "Holder focus position 0mm" - -#: backend/umax.c:5782 -#, no-c-format -msgid "Use 0mm holder focus position instead of 0.6mm" -msgstr "Use 0mm holder focus position instead of 0.6mm" - -#: backend/umax.c:5885 -#, no-c-format -msgid "Calibration mode" -msgstr "Calibration mode" - -#: backend/umax.c:5886 -#, no-c-format -msgid "Define calibration mode" -msgstr "Define calibration mode" - -#: backend/umax_pp.c:640 -#, no-c-format -msgid "Sets lamp on/off" -msgstr "Sets lamp on/off" - -#: backend/umax_pp.c:649 -#, no-c-format -msgid "UTA on" -msgstr "UTA on" - -#: backend/umax_pp.c:650 -#, no-c-format -msgid "Sets UTA on/off" -msgstr "Sets UTA on/off" - -#: backend/umax_pp.c:771 -#, no-c-format -msgid "Offset" -msgstr "Offset" - -#: backend/umax_pp.c:773 -#, no-c-format -msgid "Color channels offset settings" -msgstr "Color channels offset settings" - -#: backend/umax_pp.c:780 -#, no-c-format -msgid "Gray offset" -msgstr "Gray offset" - -#: backend/umax_pp.c:781 -#, no-c-format -msgid "Sets gray channel offset" -msgstr "Sets gray channel offset" - -#: backend/umax_pp.c:793 -#, no-c-format -msgid "Sets red channel offset" -msgstr "Sets red channel offset" - -#: backend/umax_pp.c:805 -#, no-c-format -msgid "Sets green channel offset" -msgstr "Sets green channel offset" - -#: backend/umax_pp.c:817 -#, no-c-format -msgid "Sets blue channel offset" -msgstr "Sets blue channel offset" diff --git a/po/en_GB.gmo b/po/en_GB.gmo deleted file mode 100644 index e6b77c1..0000000 Binary files a/po/en_GB.gmo and /dev/null differ diff --git a/po/en_GB.po b/po/en_GB.po index f683493..28695ac 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -5,16 +5,16 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" -"PO-Revision-Date: 2009-04-25 00:19+0100\n" -"Last-Translator: Andrew Coles \n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"PO-Revision-Date: 2019-07-26 09:45-0700\n" +"Last-Translator: Ralph Little \n" "Language-Team: British English \n" "Language: en_GB\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 0.3\n" +"X-Generator: Poedit 2.0.6\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: include/sane/saneopts.h:154 @@ -25,39 +25,39 @@ msgstr "Number of options" #: include/sane/saneopts.h:156 #, no-c-format msgid "Standard" -msgstr "" +msgstr "Standard" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometry" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Enhancement" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -68,7 +68,7 @@ msgstr "Advanced" #: include/sane/saneopts.h:160 #, no-c-format msgid "Sensors" -msgstr "" +msgstr "Sensors" #: include/sane/saneopts.h:162 #, no-c-format @@ -85,7 +85,7 @@ msgstr "Force monochrome preview" msgid "Bit depth" msgstr "Bit depth" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -126,7 +126,7 @@ msgstr "Bottom-right x" msgid "Bottom-right y" msgstr "Bottom-right y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -145,12 +145,12 @@ msgstr "Y-resolution" #: include/sane/saneopts.h:176 #, no-c-format msgid "Page width" -msgstr "" +msgstr "Page width" #: include/sane/saneopts.h:177 -#, fuzzy, no-c-format +#, no-c-format msgid "Page height" -msgstr "Highlight" +msgstr "Page height" #: include/sane/saneopts.h:178 #, no-c-format @@ -282,7 +282,7 @@ msgstr "Filename" msgid "Halftone pattern size" msgstr "Halftone pattern size" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Halftone pattern" @@ -294,8 +294,8 @@ msgstr "Bind X and Y resolution" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negative" @@ -345,10 +345,11 @@ msgstr "Analogue gamma blue" msgid "Bind analog gamma" msgstr "Bind analogue gamma" +# Warm->Warm up? #: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" -msgstr "Warmup lamp" +msgstr "Warm up lamp" #: include/sane/saneopts.h:217 #, no-c-format @@ -425,29 +426,29 @@ msgstr "" "supports." #: include/sane/saneopts.h:248 -#, fuzzy, no-c-format +#, no-c-format msgid "Source, mode and resolution options" -msgstr "Short resolution list" +msgstr "Source, mode and resolution options" #: include/sane/saneopts.h:249 #, no-c-format msgid "Scan area and media size options" -msgstr "" +msgstr "Scan area and media size options" #: include/sane/saneopts.h:250 -#, fuzzy, no-c-format +#, no-c-format msgid "Image modification options" -msgstr "Number of options" +msgstr "Image modification options" #: include/sane/saneopts.h:251 -#, fuzzy, no-c-format +#, no-c-format msgid "Hardware specific options" -msgstr "Hardware resolution" +msgstr "Hardware specific options" #: include/sane/saneopts.h:252 #, no-c-format msgid "Scanner sensors and buttons" -msgstr "" +msgstr "Scanner sensors and buttons" #: include/sane/saneopts.h:255 #, no-c-format @@ -535,11 +536,13 @@ msgid "" "Specifies the width of the media. Required for automatic centering of " "sheet-fed scans." msgstr "" +"Specifies the width of the media. Required for automatic centring of " +"sheet-fed scans." #: include/sane/saneopts.h:305 -#, fuzzy, no-c-format +#, no-c-format msgid "Specifies the height of the media." -msgstr "Sets the resolution of the scanned image." +msgstr "Specifies the height of the media." #: include/sane/saneopts.h:308 #, no-c-format @@ -621,7 +624,7 @@ msgstr "Selects what green radiance level should be considered \"white\"." #: include/sane/saneopts.h:351 #, no-c-format msgid "Selects what blue radiance level should be considered \"white\"." -msgstr " " +msgstr "Selects what blue radiance level should be considered \"white\"." #: include/sane/saneopts.h:356 #, no-c-format @@ -725,27 +728,27 @@ msgstr "Select minimum-brightness to get a white point" #: include/sane/saneopts.h:405 #, no-c-format msgid "Analog gamma-correction" -msgstr "Analog gamma-correction" +msgstr "Analogue gamma-correction" #: include/sane/saneopts.h:407 #, no-c-format msgid "Analog gamma-correction for red" -msgstr "Analog gamma-correction for red" +msgstr "Analogue gamma-correction for red" #: include/sane/saneopts.h:409 #, no-c-format msgid "Analog gamma-correction for green" -msgstr "Analog gamma-correction for green" +msgstr "Analogue gamma-correction for green" #: include/sane/saneopts.h:411 #, no-c-format msgid "Analog gamma-correction for blue" -msgstr "Analog gamma-correction for blue" +msgstr "Analogue gamma-correction for blue" #: include/sane/saneopts.h:415 #, no-c-format msgid "Warmup lamp before scanning" -msgstr "Warmup lamp before scanning" +msgstr "Warm up lamp before scanning" #: include/sane/saneopts.h:417 #, no-c-format @@ -813,44 +816,44 @@ msgid "Turn off lamp when program exits" msgstr "Turn off lamp when program exits" #: include/sane/saneopts.h:444 -#, fuzzy, no-c-format +#, no-c-format msgid "Scan button" -msgstr "Scan resolution" +msgstr "Scan button" #: include/sane/saneopts.h:445 -#, fuzzy, no-c-format +#, no-c-format msgid "Email button" -msgstr "Wait for button" +msgstr "Email button" #: include/sane/saneopts.h:446 -#, fuzzy, no-c-format +#, no-c-format msgid "Fax button" -msgstr "Wait for button" +msgstr "Fax button" #: include/sane/saneopts.h:447 -#, fuzzy, no-c-format +#, no-c-format msgid "Copy button" -msgstr "Wait for button" +msgstr "Copy button" #: include/sane/saneopts.h:448 #, no-c-format msgid "PDF button" -msgstr "" +msgstr "PDF button" #: include/sane/saneopts.h:449 #, no-c-format msgid "Cancel button" -msgstr "" +msgstr "Cancel button" #: include/sane/saneopts.h:450 #, no-c-format msgid "Page loaded" -msgstr "" +msgstr "Page loaded" #: include/sane/saneopts.h:451 -#, fuzzy, no-c-format +#, no-c-format msgid "Cover open" -msgstr "ADF cover open" +msgstr "Cover open" #: include/sane/saneopts.h:454 #, no-c-format @@ -885,72 +888,72 @@ msgstr "Lineart" #: backend/sane_strstatus.c:59 #, no-c-format msgid "Success" -msgstr "" +msgstr "Success" #: backend/sane_strstatus.c:62 -#, fuzzy, no-c-format +#, no-c-format msgid "Operation not supported" -msgstr "Halftoning Unsupported" +msgstr "Operation not supported" #: backend/sane_strstatus.c:65 #, no-c-format msgid "Operation was cancelled" -msgstr "" +msgstr "Operation was cancelled" #: backend/sane_strstatus.c:68 #, no-c-format msgid "Device busy" -msgstr "" +msgstr "Device busy" #: backend/sane_strstatus.c:71 #, no-c-format msgid "Invalid argument" -msgstr "" +msgstr "Invalid argument" #: backend/sane_strstatus.c:74 #, no-c-format msgid "End of file reached" -msgstr "" +msgstr "End of file reached" #: backend/sane_strstatus.c:77 -#, fuzzy, no-c-format +#, no-c-format msgid "Document feeder jammed" -msgstr "Document feeder extras" +msgstr "Document feeder jammed" #: backend/sane_strstatus.c:80 -#, fuzzy, no-c-format +#, no-c-format msgid "Document feeder out of documents" -msgstr "Document feeder extras" +msgstr "Document feeder out of documents" #: backend/sane_strstatus.c:83 -#, fuzzy, no-c-format +#, no-c-format msgid "Scanner cover is open" -msgstr "ADF cover open" +msgstr "Scanner cover is open" #: backend/sane_strstatus.c:86 #, no-c-format msgid "Error during device I/O" -msgstr "" +msgstr "Error during device I/O" #: backend/sane_strstatus.c:89 #, no-c-format msgid "Out of memory" -msgstr "" +msgstr "Out of memory" #: backend/sane_strstatus.c:92 #, no-c-format msgid "Access to resource has been denied" -msgstr "" +msgstr "Access to resource has been denied" #: backend/sane_strstatus.c:96 #, no-c-format msgid "Lamp not ready, please retry" -msgstr "" +msgstr "Lamp not ready, please retry" #: backend/sane_strstatus.c:101 #, no-c-format msgid "Scanner mechanism locked for transport" -msgstr "" +msgstr "Scanner mechanism locked for transport" #: backend/artec_eplus48u.c:2874 backend/pnm.c:282 #, no-c-format @@ -962,7 +965,7 @@ msgstr "Defaults" msgid "Set default values for enhancement controls." msgstr "Set default values for enhancement controls." -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Calibration" @@ -986,6 +989,7 @@ msgstr "" msgid "Only perform shading-correction" msgstr "Only perform shading-correction" +# "build" should really be "built" in original text #: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" @@ -994,7 +998,7 @@ msgid "" "or from the configuration file, are used." msgstr "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." #: backend/artec_eplus48u.c:2967 @@ -1017,12 +1021,13 @@ msgstr "Selects the number of the frame to scan" msgid "Duplex scan" msgstr "Duplex scan" +# Original should be "Duplex scan provides..." #: backend/avision.h:783 #, no-c-format msgid "" "Duplex scan provide a scan of the front and back side of the document" msgstr "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" #: backend/canon630u.c:159 #, no-c-format @@ -1101,7 +1106,7 @@ msgstr "Negatives" msgid "Slides" msgstr "Slides" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1122,488 +1127,488 @@ msgstr "1/2 normal speed" msgid "1/3 normal speed" msgstr "1/3 normal speed" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "rounded parameter" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "unknown" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "ADF jam" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "ADF cover open" -#: backend/canon.c:394 +#: backend/canon.c:389 #, no-c-format msgid "lamp failure" msgstr "lamp failure" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "scan head positioning error" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "CPU check error" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "RAM check error" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "ROM check error" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "hardware check error" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "transparency unit lamp failure" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "transparency unit scan head positioning failure" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "parameter list length error" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "invalid command operation code" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "invalid field in CDB" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "unsupported LUN" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "invalid field in parameter list" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "command sequence error" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "too many windows specified" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "medium not present" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "invalid bit IDENTIFY message" -#: backend/canon.c:465 +# Check this text. Does it make sense? +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "option not connect" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "power on reset / bus device reset" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "parameter changed by another initiator" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "no additional sense information" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "reselect failure" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "SCSI parity error" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "initiator detected error message received" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "invalid message error" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "timeout error" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "transparency unit shading error" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "lamp not stabilised" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "film scanner" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "flatbed scanner" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Film type" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Selects the film type, i.e. negatives or slides" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, no-c-format msgid "Negative film type" msgstr "Negative film type" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "Selects the negative film type" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "Hardware resolution" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "Use only hardware resolutions" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "Focus" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "Auto focus" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "Enable/disable auto focus" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "Auto focus only once" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Do auto focus only once between ejects" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "Manual focus position" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "Set the optical system's focus position by hand (default: 128)." -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "Scan margins" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "Extra colour adjustments" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Mirror image" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, no-c-format msgid "Mirror the image horizontally" msgstr "Mirror the image horizontally" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "Auto exposure" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Enable/disable the auto exposure feature" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, no-c-format msgid "Calibration now" msgstr "Calibration now" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, no-c-format msgid "Execute calibration *now*" msgstr "Execute calibration *now*" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "Self diagnosis" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Perform scanner self diagnosis" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, no-c-format msgid "Reset scanner" msgstr "Reset scanner" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "Reset the scanner" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "Medium handling" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "Eject film after each scan" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Automatically eject the film from the device after each scan" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "Eject film before exit" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" "Automatically eject the film from the device before exiting the program" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "Eject film now" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "Eject the film *now*" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" msgstr "Document feeder extras" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "Flatbed only" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "Disable auto document feeder and use flatbed only" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format msgid "Transparency unit" msgstr "Transparency unit" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Switch on/off the transparency unit (FAU, film adapter unit)" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, no-c-format msgid "Negative film" msgstr "Negative film" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, no-c-format msgid "Positive or negative film" msgstr "Positive or negative film" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "Density control" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "Set density control mode" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, no-c-format msgid "Transparency ratio" msgstr "Transparency ratio" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, no-c-format msgid "Select film type" msgstr "Select film type" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "Select the film type" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbed" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 -#, fuzzy, no-c-format +#, no-c-format msgid "ADF Front" -msgstr "ADF cover open" +msgstr "ADF Front" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 -#, fuzzy, no-c-format +#, no-c-format msgid "ADF Back" -msgstr "ADF jam" +msgstr "ADF Back" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "ADF Duplex" -#: backend/canon_dr.c:412 -#, fuzzy, no-c-format +#: backend/canon_dr.c:415 +#, no-c-format msgid "Card Front" -msgstr "Print" +msgstr "Card Front" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" -msgstr "" +msgstr "Card Back" -#: backend/canon_dr.c:414 -#, fuzzy, no-c-format +#: backend/canon_dr.c:417 +#, no-c-format msgid "Card Duplex" -msgstr "Duplex" +msgstr "Card Duplex" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Red" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Green" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blue" -#: backend/canon_dr.c:424 -#, fuzzy, no-c-format +#: backend/canon_dr.c:427 +#, no-c-format msgid "Enhance Red" -msgstr "Enhancement" +msgstr "Enhance Red" -#: backend/canon_dr.c:425 -#, fuzzy, no-c-format +#: backend/canon_dr.c:428 +#, no-c-format msgid "Enhance Green" -msgstr "Enhancement" +msgstr "Enhance Green" -#: backend/canon_dr.c:426 -#, fuzzy, no-c-format +#: backend/canon_dr.c:429 +#, no-c-format msgid "Enhance Blue" -msgstr "Enhancement" +msgstr "Enhance Blue" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1611,21 +1616,21 @@ msgstr "Enhancement" msgid "None" msgstr "None" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" -msgstr "" +msgstr "JPEG" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" -msgstr "" +msgstr "Software blank skip percentage" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" -msgstr "" +msgstr "Request driver to discard pages with low percentage of dark pixels" #: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 #, no-c-format @@ -1639,13 +1644,13 @@ msgstr "Simplex" msgid "Duplex" msgstr "Duplex" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Transparency Unit" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1758,8 +1763,8 @@ msgstr "Ink-jet printers" msgid "CRT monitors" msgstr "CRT monitors" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Default" @@ -1822,51 +1827,50 @@ msgstr "A4" msgid "Max" msgstr "Max" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Scan Mode" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Selects the halftone." -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Dropout" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Selects the dropout." -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Selects the brightness." -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Sharpness" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Colour correction" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "Sets the colour correction table for the selected output device." @@ -1956,17 +1960,17 @@ msgstr "Adds to red based on blue level" msgid "Controls blue level" msgstr "Controls blue level" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Mirror the image." -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Fast preview" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Auto area segmentation" @@ -1996,47 +2000,47 @@ msgstr "Defines the zoom factor the scanner will use" msgid "Quick format" msgstr "Quick format" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Optional equipment" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Eject" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Eject the sheet in the ADF" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Auto eject" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Eject document after scanning" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "ADF Mode" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Selects the ADF mode (simplex/duplex)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Bay" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Select bay to scan" @@ -2076,15 +2080,15 @@ msgstr "" "After sending the scan command, wait until the button on the scanner is " "pressed to actually start the scan process." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" -msgstr "" +msgstr "Infrared" #: backend/epson2.c:117 #, no-c-format msgid "TPU8x10" -msgstr "" +msgstr "TPU8x10" #: backend/epson2.c:136 #, no-c-format @@ -2099,565 +2103,578 @@ msgstr "Negative Slide" #: backend/epson2.c:215 #, no-c-format msgid "Built in CCT profile" -msgstr "" +msgstr "Built in CCT profile" #: backend/epson2.c:216 -#, fuzzy, no-c-format +#, no-c-format msgid "User defined CCT profile" -msgstr "User defined" +msgstr "User defined CCT profile" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "On" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Off" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" -msgstr "" +msgstr "DTC" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" -msgstr "" +msgstr "SDTC" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Dither" -#: backend/fujitsu.c:690 -#, fuzzy, no-c-format +#: backend/fujitsu.c:693 +#, no-c-format msgid "Diffusion" -msgstr "Error Diffusion" +msgstr "Diffusion" -#: backend/fujitsu.c:695 -#, fuzzy, no-c-format +#: backend/fujitsu.c:698 +#, no-c-format msgid "White" -msgstr "White level" +msgstr "White" -#: backend/fujitsu.c:696 -#, fuzzy, no-c-format +#: backend/fujitsu.c:699 +#, no-c-format msgid "Black" -msgstr "Black level" +msgstr "Black" -#: backend/fujitsu.c:701 -#, fuzzy, no-c-format +#: backend/fujitsu.c:704 +#, no-c-format msgid "Continue" -msgstr "Conditional" +msgstr "Continue" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" -msgstr "" +msgstr "Stop" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" -msgstr "" +msgstr "10mm" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" -msgstr "" +msgstr "15mm" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" -msgstr "" +msgstr "20mm" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: backend/fujitsu.c:709 -#, fuzzy, no-c-format +#: backend/fujitsu.c:712 +#, no-c-format msgid "Horizontal bold" -msgstr "Horizontal" +msgstr "Horizontal bold" -#: backend/fujitsu.c:710 -#, fuzzy, no-c-format +#: backend/fujitsu.c:713 +#, no-c-format msgid "Horizontal narrow" -msgstr "Horizontal" +msgstr "Horizontal narrow" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: backend/fujitsu.c:712 -#, fuzzy, no-c-format +#: backend/fujitsu.c:715 +#, no-c-format msgid "Vertical bold" -msgstr "Vertical" +msgstr "Vertical bold" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" -msgstr "" +msgstr "Top to bottom" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" -msgstr "" +msgstr "Bottom to top" -#: backend/fujitsu.c:717 -#, fuzzy, no-c-format +#: backend/fujitsu.c:720 +#, no-c-format msgid "Front" -msgstr "Print" +msgstr "Front" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" -msgstr "" +msgstr "Back" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" -msgstr "" +msgstr "Gamma function exponent" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" -msgstr "" +msgstr "Changes intensity of midtones" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" -msgstr "" +msgstr "RIF" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" -msgstr "" +msgstr "Reverse image format" -#: backend/fujitsu.c:3165 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3212 +#, no-c-format msgid "Halftone type" -msgstr "Halftone" +msgstr "Halftone type" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" -msgstr "" +msgstr "Control type of halftone filter" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" -msgstr "" +msgstr "Control pattern of halftone filter" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" -msgstr "" +msgstr "Outline" -#: backend/fujitsu.c:3210 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3257 +#, no-c-format msgid "Perform outline extraction" -msgstr "Performs calibration" +msgstr "Perform outline extraction" -#: backend/fujitsu.c:3221 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3268 +#, no-c-format msgid "Emphasis" -msgstr "Image emphasis" +msgstr "Emphasis" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" -msgstr "" +msgstr "Negative to smooth or positive to sharpen image" -#: backend/fujitsu.c:3240 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3287 +#, no-c-format msgid "Separation" -msgstr "Saturation" +msgstr "Separation" -#: backend/fujitsu.c:3241 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3288 +#, no-c-format msgid "Enable automatic separation of image and text" -msgstr "Enable automatic determination of threshold for line-art scans." +msgstr "Enable automatic separation of image and text" -#: backend/fujitsu.c:3252 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3299 +#, no-c-format msgid "Mirroring" -msgstr "Mirror image" +msgstr "Mirroring" -#: backend/fujitsu.c:3253 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3300 +#, no-c-format msgid "Reflect output image horizontally" -msgstr "Mirror image horizontally." +msgstr "Reflect output image horizontally" -#: backend/fujitsu.c:3270 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3317 +#, no-c-format msgid "White level follower" -msgstr "White level for blue" +msgstr "White level follower" -#: backend/fujitsu.c:3271 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3318 +#, no-c-format msgid "Control white level follower" -msgstr "Controls red level" +msgstr "Control white level follower" -#: backend/fujitsu.c:3289 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3336 +#, no-c-format msgid "BP filter" -msgstr "Colour Filter" +msgstr "BP filter" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" -msgstr "" +msgstr "Improves quality of high resolution ball-point pen text" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Smoothing" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" -msgstr "" +msgstr "Enable smoothing for improved OCR" -#: backend/fujitsu.c:3323 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3370 +#, no-c-format msgid "Gamma curve" -msgstr "Gamma value" +msgstr "Gamma curve" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" -msgstr "" +msgstr "Gamma curve, from light to dark, but upper two may not work" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 -#, fuzzy, no-c-format +#, no-c-format msgid "Threshold curve" -msgstr "Threshold" +msgstr "Threshold curve" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" +"Threshold curve, from light to dark, but upper two may not be linear" -#: backend/fujitsu.c:3369 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3416 +#, no-c-format msgid "Threshold white" -msgstr "Threshold" +msgstr "Threshold white" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" -msgstr "" +msgstr "Set pixels equal to threshold to white instead of black" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#, no-c-format msgid "Noise removal" -msgstr "Noise reduction" +msgstr "Noise removal" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" -msgstr "" +msgstr "Matrix 5x5" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" -msgstr "" +msgstr "Remove 5 pixel square noise" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" -msgstr "" +msgstr "Matrix 4x4" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" -msgstr "" +msgstr "Remove 4 pixel square noise" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" -msgstr "" +msgstr "Matrix 3x3" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" -msgstr "" +msgstr "Remove 3 pixel square noise" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" -msgstr "" +msgstr "Matrix 2x2" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" -msgstr "" +msgstr "Remove 2 pixel square noise" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" -msgstr "" +msgstr "Variance" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" -msgstr "" +msgstr "Set SDTC variance rate (sensitivity), 0 equals 127" -#: backend/fujitsu.c:3508 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3555 +#, no-c-format msgid "Auto width detection" -msgstr "No Correction" +msgstr "Auto width detection" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." -msgstr "" +msgstr "Scanner detects paper sides. May reduce scanning speed." -#: backend/fujitsu.c:3526 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3573 +#, no-c-format msgid "Auto length detection" -msgstr "No Correction" +msgstr "Auto length detection" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." -msgstr "" +msgstr "Scanner detects paper lower edge. May confuse some frontends." -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" -msgstr "" +msgstr "Compression" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" -msgstr "" +msgstr "Enable compressed data. May crash your front-end program" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" -msgstr "" +msgstr "Compression argument" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" -msgstr "" +msgstr "DF action" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" -msgstr "" +msgstr "Action following double feed error" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" -msgstr "" +msgstr "DF skew" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" -msgstr "" +msgstr "Enable double feed error due to skew" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" -msgstr "" +msgstr "DF thickness" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" -msgstr "" +msgstr "Enable double feed error due to paper thickness" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" -msgstr "" +msgstr "DF length" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" -msgstr "" +msgstr "Enable double feed error due to paper length" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" -msgstr "" +msgstr "DF length difference" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" -msgstr "" +msgstr "Difference in page length to trigger double feed error" -#: backend/fujitsu.c:3708 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3755 +#, no-c-format msgid "DF recovery mode" -msgstr "ADF cover open" +msgstr "DF recovery mode" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" -msgstr "" +msgstr "Request scanner to reverse feed on paper jam" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" -msgstr "" +msgstr "Paper protection" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" -msgstr "" +msgstr "Request scanner to predict jams in the ADF" -#: backend/fujitsu.c:3748 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3795 +#, no-c-format msgid "Advanced paper protection" -msgstr "Advanced Options" +msgstr "Advanced paper protection" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" -msgstr "" +msgstr "Request scanner to predict jams in the ADF using improved sensors" -#: backend/fujitsu.c:3768 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3815 +#, no-c-format msgid "Staple detection" -msgstr "No Correction" +msgstr "Staple detection" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" -msgstr "" +msgstr "Request scanner to detect jams in the ADF caused by staples" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" -msgstr "" +msgstr "Background colour" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" +"Set colour of background for scans. May conflict with overscan option" -#: backend/fujitsu.c:3809 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3856 +#, no-c-format msgid "Dropout color" -msgstr "Dropout" +msgstr "Dropout colour" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" +"One-pass scanners use only one colour during grey or binary scanning, " +"useful for coloured paper or ink" -#: backend/fujitsu.c:3833 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3880 +#, no-c-format msgid "Buffer mode" -msgstr "Feeder mode" +msgstr "Buffer mode" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" +"Request scanner to read pages quickly from ADF into internal memory" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" -msgstr "" +msgstr "Prepick" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" -msgstr "" +msgstr "Request scanner to grab next page from ADF" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" -msgstr "" +msgstr "Overscan" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " "ADF, and increase maximum scan area beyond paper size, to allow " "collection on remaining sides. May conflict with bgcolor option" msgstr "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" -msgstr "" +msgstr "Sleep timer" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" +"Time in minutes until the internal power supply switches to sleep mode" -#: backend/fujitsu.c:3911 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3958 +#, no-c-format msgid "Off timer" -msgstr "Lamp off time" +msgstr "Off timer" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." -#: backend/fujitsu.c:3930 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3977 +#, no-c-format msgid "Duplex offset" -msgstr "Blue offset" +msgstr "Duplex offset" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" -msgstr "" +msgstr "Adjust front/back offset" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Green offset" -#: backend/fujitsu.c:3949 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3996 +#, no-c-format msgid "Adjust green/red offset" -msgstr "Green offset" +msgstr "Adjust green/red offset" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Blue offset" -#: backend/fujitsu.c:3967 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4014 +#, no-c-format msgid "Adjust blue/red offset" -msgstr "Sets blue channel offset" +msgstr "Adjust blue/red offset" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, no-c-format msgid "Low Memory" -msgstr "" +msgstr "Low Memory" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2665,375 +2682,387 @@ msgid "" "option 'side' can be used to determine correct image. This option should " "only be used with custom front-end software." msgstr "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." -#: backend/fujitsu.c:3996 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4043 +#, no-c-format msgid "Duplex side" -msgstr "Duplex scan" +msgstr "Duplex side" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" -msgstr "" +msgstr "Hardware deskew and crop" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." -msgstr "" +msgstr "Request scanner to rotate and crop pages digitally." -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" -msgstr "" +msgstr "Software deskew" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." -msgstr "" +msgstr "Request driver to rotate skewed pages digitally." -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" -msgstr "" +msgstr "Software despeckle diameter" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." -msgstr "" +msgstr "Maximum diameter of lone dots to remove from scan." -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" -msgstr "" +msgstr "Software crop" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." -msgstr "" +msgstr "Request driver to remove border from pages digitally." -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" -msgstr "" +msgstr "Halt on Cancel" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" +"Request driver to halt the paper feed instead of eject during a cancel." -#: backend/fujitsu.c:4095 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4142 +#, no-c-format msgid "Endorser Options" -msgstr "Advanced Options" +msgstr "Endorser Options" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" -msgstr "" +msgstr "Controls for endorser unit" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" -msgstr "" +msgstr "Endorser" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" -msgstr "" +msgstr "Enable endorser unit" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" -msgstr "" +msgstr "Endorser bits" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." -msgstr "" +msgstr "Determines maximum endorser counter value." -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" -msgstr "" +msgstr "Endorser value" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." -msgstr "" +msgstr "Initial endorser counter value." -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" -msgstr "" +msgstr "Endorser step" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." -msgstr "" +msgstr "Change endorser counter value by this much for each page." -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" -msgstr "" +msgstr "Endorser Y" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." -msgstr "" +msgstr "Endorser print offset from top of paper." -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" -msgstr "" +msgstr "Endorser font" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." -msgstr "" +msgstr "Endorser printing font." -#: backend/fujitsu.c:4253 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4300 +#, no-c-format msgid "Endorser direction" -msgstr "Noise reduction" +msgstr "Endorser direction" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." -msgstr "" +msgstr "Endorser printing direction." -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" -msgstr "" +msgstr "Endorser side" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" -msgstr "" +msgstr "Endorser printing side, requires hardware support to change" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" -msgstr "" +msgstr "Endorser string" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" -msgstr "" +msgstr "Top edge" -#: backend/fujitsu.c:4333 +# Shouldn't we standardise on ADF? i.e. not adf +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" -msgstr "" +msgstr "Paper is pulled partly into ADF" -#: backend/fujitsu.c:4344 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4391 +#, no-c-format msgid "A3 paper" -msgstr "From paper" +msgstr "A3 paper" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" -msgstr "" +msgstr "A3 paper detected" -#: backend/fujitsu.c:4356 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4403 +#, no-c-format msgid "B4 paper" -msgstr "From paper" +msgstr "B4 paper" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" -msgstr "" +msgstr "B4 paper detected" -#: backend/fujitsu.c:4368 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4415 +#, no-c-format msgid "A4 paper" -msgstr "From paper" +msgstr "A4 paper" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" -msgstr "" +msgstr "A4 paper detected" -#: backend/fujitsu.c:4380 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4427 +#, no-c-format msgid "B5 paper" -msgstr "From paper" +msgstr "B5 paper" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" -msgstr "" +msgstr "B5 paper detected" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" -msgstr "" +msgstr "OMR or DF" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" -msgstr "" +msgstr "OMR or double feed detected" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" -msgstr "" +msgstr "Power saving" -#: backend/fujitsu.c:4429 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4476 +#, no-c-format msgid "Scanner in power saving mode" -msgstr "ADF cover open" +msgstr "Scanner in power saving mode" -#: backend/fujitsu.c:4452 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4499 +#, no-c-format msgid "Manual feed" -msgstr " " +msgstr "Manual feed" -#: backend/fujitsu.c:4453 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4500 +#, no-c-format msgid "Manual feed selected" -msgstr " " +msgstr "Manual feed selected" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" -msgstr "" +msgstr "Function" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" -msgstr "" +msgstr "Function character on screen" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" -msgstr "" +msgstr "Ink low" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" -msgstr "" +msgstr "Imprinter ink running low" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" -msgstr "" +msgstr "Double feed" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" -msgstr "" +msgstr "Double feed detected" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" -msgstr "" +msgstr "Error code" -#: backend/fujitsu.c:4513 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4560 +#, no-c-format msgid "Hardware error code" -msgstr "hardware check error" +msgstr "Hardware error code" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" -msgstr "" +msgstr "Skew angle" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" -msgstr "" +msgstr "Requires black background for scanning" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" -msgstr "" +msgstr "Ink remaining" -#: backend/fujitsu.c:4537 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4584 +#, no-c-format msgid "Imprinter ink level" -msgstr "White level" +msgstr "Imprinter ink level" -#: backend/fujitsu.c:4548 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4595 +#, no-c-format msgid "Density" -msgstr "Density control" +msgstr "Density" -#: backend/fujitsu.c:4549 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4596 +#, no-c-format msgid "Density dial" -msgstr "Density control" +msgstr "Density dial" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 -#, fuzzy, no-c-format +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#, no-c-format msgid "Duplex switch" -msgstr "Duplex scan" +msgstr "Duplex switch" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" -msgstr "" +msgstr "Request backend to remove border from pages digitally" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" -msgstr "" +msgstr "Request driver to discard pages with low numbers of dark pixels" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" -msgstr "" +msgstr "Software derotate" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" -msgstr "" +msgstr "Request driver to detect and correct 90 degree image rotation" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" -msgstr "" +msgstr "Dynamic threshold curve, from light to dark, normally 50-65" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" -msgstr "" +msgstr "Disable dynamic lineart" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" +"Disable use of a software adaptive algorithm to generate lineart relying " +"instead on hardware lineart." -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "Disable interpolation" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3042,44 +3071,46 @@ msgstr "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." -#: backend/genesys.c:5872 -#, fuzzy, no-c-format +#: backend/genesys.cc:5545 +#, no-c-format msgid "Color filter" -msgstr "Colour Filter" +msgstr "Colour filter" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "When using grey or lineart this option selects the used colour." -#: backend/genesys.c:5901 -#, fuzzy, no-c-format +#: backend/genesys.cc:5574 +#, no-c-format msgid "Calibration file" -msgstr "Calibration" +msgstr "Calibration file" -#: backend/genesys.c:5902 -#, fuzzy, no-c-format +#: backend/genesys.cc:5575 +#, no-c-format msgid "Specify the calibration file to use" -msgstr "Define calibration mode" +msgstr "Specify the calibration file to use" -#: backend/genesys.c:5919 -#, fuzzy, no-c-format +#: backend/genesys.cc:5592 +#, no-c-format msgid "Calibration cache expiration time" -msgstr "Calibration data cache" +msgstr "Calibration cache expiration time" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" +"Time (in minutes) before a cached calibration expires. A value of 0 " +"means cache is not used. A negative value means cache never expires." -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "Lamp off time" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3088,72 +3119,83 @@ msgstr "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." -#: backend/genesys.c:5943 -#, fuzzy, no-c-format +#: backend/genesys.cc:5616 +#, no-c-format msgid "Lamp off during scan" -msgstr "Lamp off during dark calibration" +msgstr "Lamp off during scan" -#: backend/genesys.c:5944 -#, fuzzy, no-c-format +#: backend/genesys.cc:5617 +#, no-c-format msgid "The lamp will be turned off during scan. " -msgstr "Minutes until lamp is turned off after scan" +msgstr "The lamp will be turned off during scan. " -#: backend/genesys.c:5972 backend/genesys.c:5973 -#, fuzzy, no-c-format +#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#, no-c-format msgid "File button" -msgstr "Wait for button" +msgstr "File button" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" -msgstr "" +msgstr "OCR button" -#: backend/genesys.c:6039 backend/genesys.c:6040 -#, fuzzy, no-c-format +#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#, no-c-format msgid "Power button" -msgstr "Wait for button" +msgstr "Power button" -#: backend/genesys.c:6053 backend/genesys.c:6054 -#, fuzzy, no-c-format +#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#, no-c-format msgid "Extra button" -msgstr "Wait for button" +msgstr "Extra button" -#: backend/genesys.c:6067 backend/gt68xx.c:762 -#, fuzzy, no-c-format +# Need->Needs? +#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#, no-c-format msgid "Need calibration" -msgstr "Coarse calibration" +msgstr "Need calibration" -#: backend/genesys.c:6068 backend/gt68xx.c:763 -#, fuzzy, no-c-format +#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#, no-c-format msgid "The scanner needs calibration for the current settings" -msgstr "Force scanner calibration before scan" +msgstr "The scanner needs calibration for the current settings" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Buttons" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibrate" -#: backend/genesys.c:6091 backend/gt68xx.c:796 -#, fuzzy, no-c-format +#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#, no-c-format msgid "Start calibration using special sheet" -msgstr "Start calibration process." +msgstr "Start calibration using special sheet" -#: backend/genesys.c:6105 backend/gt68xx.c:809 -#, fuzzy, no-c-format +#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#, no-c-format msgid "Clear calibration" -msgstr "Coarse calibration" +msgstr "Clear calibration" -#: backend/genesys.c:6106 backend/gt68xx.c:810 -#, fuzzy, no-c-format +#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#, no-c-format msgid "Clear calibration cache" -msgstr "Calibration data cache" +msgstr "Clear calibration cache" + +#: backend/genesys.cc:5769 +#, no-c-format +msgid "Force calibration" +msgstr "Force calibration" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "Force calibration ignoring all and any calibration caches" #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 @@ -3161,28 +3203,28 @@ msgstr "Calibration data cache" msgid "Transparency Adapter" msgstr "Transparency Adapter" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "Grey mode colour" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "Selects which scan colour is used grey mode (default: green)." -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Debugging Options" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatic warmup" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3191,12 +3233,12 @@ msgstr "" "Warm-up until the lamp's brightness is constant instead of insisting on " "60 seconds warm-up time." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Full scan" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3205,12 +3247,12 @@ msgstr "" "Scan the complete scanning area including calibration strip. Be careful. " "Don't select the full height. For testing only." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Coarse calibration" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3218,15 +3260,15 @@ msgid "" "are provided. This option is enabled by default. For testing only." msgstr "" "Setup gain and offset for scanning automatically. If this option is " -"disabled, options for setting the analog frontend parameters manually " +"disabled, options for setting the analogue frontend parameters manually " "are provided. This option is enabled by default. For testing only." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Coarse calibration for first scan only" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3237,12 +3279,12 @@ msgstr "" "scanners and can save scanning time. If the image brightness is " "different with each scan, disable this option. For testing only." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "Backtrack lines" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3255,12 +3297,12 @@ msgstr "" "the data. Low values cause faster scans but increase the risk of " "omitting lines." -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gamma value" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Sets the gamma value of all channels." @@ -3276,7 +3318,7 @@ msgid "Scan Mode Group" msgstr "Scan Mode Group" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Slide" @@ -3286,11 +3328,13 @@ msgstr "Slide" msgid "Scanner model" msgstr "Scanner model" +# US spelling of behaviour is incorrect #: backend/hp3900_sane.c:1408 -#, fuzzy, no-c-format +#, no-c-format msgid "Allows one to test device behaviour with other supported models" -msgstr "Allows to test device behaviour with other supported models" +msgstr "Allows one to test device behaviour with other supported models" +# US spelling of colour is incorrect #: backend/hp3900_sane.c:1422 #, no-c-format msgid "Image colours will be inverted" @@ -3355,7 +3399,7 @@ msgid "" "circumstances." msgstr "" "If enabled, image will be scanned in colour mode and then converted to " -"grayscele by software. This may improve image quality in some " +"greyscale by software. This may improve image quality in some " "circumstances." #: backend/hp3900_sane.c:1516 @@ -3480,162 +3524,243 @@ msgstr "Switches the lamp on or off." #: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format msgid "Calibrates for black and white level." -msgstr " " +msgstr "Calibrates for black and white level." -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "ADF" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, no-c-format msgid "TMA Slides" msgstr "TMA Slides" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, no-c-format msgid "TMA Negatives" msgstr "TMA Negatives" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, no-c-format msgid "Color (48 bits)" msgstr "Colour (48 bits)" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, no-c-format msgid "Extend lamp timeout" msgstr "Extend lamp timeout" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Extends lamp timeout (from 15 minutes to 1 hour)" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Wait for button" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, no-c-format msgid "Waits for button before scanning" msgstr "Waits for button before scanning" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, no-c-format +msgid "Last button pressed" +msgstr "Last button pressed" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "Get ID of last button pressed (read only)" + +#: backend/hp5590.c:121 +#, no-c-format +msgid "LCD counter" +msgstr "LCD counter" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "Get value of LCD counter (read only)" + +#: backend/hp5590.c:124 +#, no-c-format +msgid "Color LED indicator" +msgstr "Colour LED indicator" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "Get value of LED indicator (read only)" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "Document available in ADF" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "Get state of document-available indicator in ADF (read only)" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "Hide end-of-page pixel" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" +"Hide end-of-page indicator pixels and overwrite with neighbour pixels" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "Filling mode of trailing lines after scan data (ADF)" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white colour, black = black colon, colour = RGB or grey colour " +"value" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "RGB or grey colour value for filling mode 'colour'" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" +"Colour value for trailing lines filling mode 'colour'. RGB colour as " +"r*65536+256*g+b or grey value (default=violet or grey)" + +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "Advanced Options" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Coarse" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Fine" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Custom" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Auto" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "Pass-through" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "NTSC Grey" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "XPA Grey" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Slow" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Fast" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Extra Fast" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2-pixel" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4-pixel" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8-pixel" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Print" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Film-strip" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "XPA" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Conditional" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "Experiment" @@ -3663,12 +3788,12 @@ msgstr "Enable automatic determination of threshold for line-art scans." #: backend/hp-option.h:74 #, no-c-format msgid "Select smoothing filter." -msgstr " " +msgstr "Select smoothing filter." #: backend/hp-option.h:79 #, no-c-format msgid "Unload media after scan" -msgstr " " +msgstr "Unload media after scan" #: backend/hp-option.h:80 #, no-c-format @@ -3678,7 +3803,7 @@ msgstr "Unloads the media after a scan." #: backend/hp-option.h:85 #, no-c-format msgid "Change document" -msgstr " " +msgstr "Change document" #: backend/hp-option.h:86 #, no-c-format @@ -3733,10 +3858,11 @@ msgstr "" msgid "Color Matrix" msgstr "Colour Matrix" +# Requires apostrophe #: backend/hp-option.h:121 #, no-c-format msgid "Set the scanners color matrix." -msgstr "Set the scanners colour matrix." +msgstr "Set the scanner's colour matrix." #: backend/hp-option.h:127 #, no-c-format @@ -3814,8 +3940,8 @@ msgstr "Shut off lamp" msgid "Shut off scanner lamp." msgstr "Shut off scanner lamp." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Paper size" @@ -3826,54 +3952,49 @@ msgstr "Paper size" msgid "Automatic separation" msgstr "Automatic separation" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 -#, fuzzy, no-c-format +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 +#, no-c-format msgid "Landscape" -msgstr "A5 landscape" +msgstr "Landscape" #: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 #, no-c-format msgid "Inverse Image" -msgstr "" +msgstr "Inverse Image" #: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 #, no-c-format msgid "Long paper mode" -msgstr "" +msgstr "Long paper mode" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 -#, fuzzy, no-c-format +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 +#, no-c-format msgid "Length control mode" -msgstr "Set density control mode" +msgstr "Length control mode" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 -#, fuzzy, no-c-format +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 +#, no-c-format msgid "Manual feed mode" -msgstr " " +msgstr "Manual feed mode" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 -#, fuzzy, no-c-format +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 +#, no-c-format msgid "Manual feed timeout" -msgstr " " +msgstr "Manual feed timeout" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" -msgstr "" +msgstr "Double feed detection" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Enable Duplex (Dual-Sided) Scanning" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Physical size of the paper in the ADF" @@ -3881,307 +4002,308 @@ msgstr "Physical size of the paper in the ADF" #: backend/kvs1025_opt.c:39 #, no-c-format msgid "bw" -msgstr "" +msgstr "bw" #: backend/kvs1025_opt.c:40 -#, fuzzy, no-c-format +#, no-c-format msgid "halftone" -msgstr "Halftone" +msgstr "halftone" #: backend/kvs1025_opt.c:41 #, no-c-format msgid "gray" -msgstr "" +msgstr "grey" #: backend/kvs1025_opt.c:42 -#, fuzzy, no-c-format +#, no-c-format msgid "color" -msgstr "Colour" +msgstr "colour" #: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 #: backend/kvs40xx_opt.c:1047 #, no-c-format msgid "adf" -msgstr "" +msgstr "adf" #: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 #: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" -msgstr "" +msgstr "fb" #: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 #: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" -msgstr "" +msgstr "single" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 #: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 -#, fuzzy, no-c-format +#, no-c-format msgid "continuous" -msgstr "Conditional" +msgstr "continuous" #: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 #: backend/kvs40xx_opt.c:115 -#, fuzzy, no-c-format +#, no-c-format msgid "off" -msgstr "Off" +msgstr "off" #: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 #: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" -msgstr "" +msgstr "wait_doc" #: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 #: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" -msgstr "" +msgstr "wait_key" #: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 #: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" -msgstr "" +msgstr "user_def" #: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 #: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" -msgstr "" +msgstr "business_card" #: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 #: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" -msgstr "" +msgstr "Check" #: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 #: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" -msgstr "" +msgstr "A5" #: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 #: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" -msgstr "" +msgstr "A6" #: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 #: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" -msgstr "" +msgstr "B5" #: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 #: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" -msgstr "" +msgstr "B6" #: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 #: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" -msgstr "" +msgstr "Legal" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 +#, no-c-format msgid "bayer_64" -msgstr "Bayer" +msgstr "bayer_64" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 +#, no-c-format msgid "bayer_16" -msgstr "Bayer" +msgstr "bayer_16" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 +#, no-c-format msgid "halftone_32" -msgstr "Halftone" +msgstr "halftone_32" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 +#, no-c-format msgid "halftone_64" -msgstr "Halftone" +msgstr "halftone_64" -#: backend/kvs1025_opt.c:153 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:152 +#, no-c-format msgid "diffusion" -msgstr "Error Diffusion" +msgstr "diffusion" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 -#, fuzzy, no-c-format +#, no-c-format msgid "normal" -msgstr "Normal" +msgstr "normal" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 +#, no-c-format msgid "light" -msgstr "Highlight" +msgstr "light" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" -msgstr "" +msgstr "dark" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 +#, no-c-format msgid "From scanner" -msgstr "film scanner" +msgstr "From scanner" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "From paper" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 +#, no-c-format msgid "default" -msgstr "Default" +msgstr "default" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 -#, fuzzy, no-c-format +#, no-c-format msgid "smooth" -msgstr "Smooth" +msgstr "smooth" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" -msgstr "" +msgstr "none" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 -#, fuzzy, no-c-format +#, no-c-format msgid "low" -msgstr "Slow" +msgstr "low" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 -#, fuzzy, no-c-format +#, no-c-format msgid "medium" -msgstr "Medium" +msgstr "medium" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" -msgstr "" +msgstr "high" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" -msgstr "" +msgstr "crt" -#: backend/kvs1025_opt.c:230 +# Linear? +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" -msgstr "" +msgstr "linear" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 -#, fuzzy, no-c-format +#, no-c-format msgid "red" -msgstr "Red" +msgstr "red" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 -#, fuzzy, no-c-format +#, no-c-format msgid "green" -msgstr "Green" +msgstr "green" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" -msgstr "" +msgstr "blue" -#: backend/kvs1025_opt.c:562 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:561 +#, no-c-format msgid "Sets the scan source" -msgstr "Scan source" +msgstr "Sets the scan source" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Feeder mode" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Sets the feeding mode" -#: backend/kvs1025_opt.c:584 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:583 +#, no-c-format msgid "Enable/Disable long paper mode" -msgstr "Enable/disable auto focus" +msgstr "Enable/Disable long paper mode" -#: backend/kvs1025_opt.c:593 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:592 +#, no-c-format msgid "Enable/Disable length control mode" -msgstr "Set density control mode" +msgstr "Enable/Disable length control mode" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 -#, fuzzy, no-c-format +#, no-c-format msgid "Sets the manual feed mode" -msgstr "Sets the feeding mode" +msgstr "Sets the manual feed mode" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 -#, fuzzy, no-c-format +#, no-c-format msgid "Sets the manual feed timeout in seconds" -msgstr "Sets the feeding mode" +msgstr "Sets the manual feed timeout in seconds" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" -msgstr "" +msgstr "Enable/Disable double feed detection" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" -msgstr "" +msgstr "fit-to-page" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" -msgstr "" +msgstr "Fit to page" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" -msgstr "" +msgstr "Scanner shrinks image to fit scanned page" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" -msgstr "" +msgstr "Set paper position : true for landscape, false for portrait" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatic threshold" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4190,98 +4312,98 @@ msgstr "" "Automatically sets brightness, contrast, white level, gamma, noise " "reduction and image emphasis" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Noise reduction" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Reduce the isolated dot noise" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Image emphasis" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Sets the image emphasis" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 -#, fuzzy, no-c-format +#, no-c-format msgid "Lamp color" -msgstr "Lamp on" +msgstr "Lamp colour" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 -#, fuzzy, no-c-format +#, no-c-format msgid "Sets the lamp color (color dropout)" -msgstr "Switches the lamp on or off." +msgstr "Sets the lamp colour (colour dropout)" -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" -msgstr "" +msgstr "Inverse image in B/W or halftone mode" -#: backend/kvs1025_opt.c:840 -#, fuzzy, no-c-format +#: backend/kvs1025_opt.c:839 +#, no-c-format msgid "Mirror image (left/right flip)" -msgstr "Mirror image vertically." +msgstr "Mirror image (left/right flip)" -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" -msgstr "" +msgstr "jpeg compression" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" -msgstr "" +msgstr "JPEG Image Compression with Q parameter, '0' - no compression" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" -msgstr "" +msgstr "Rotate image clockwise" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" -msgstr "" +msgstr "Request driver to rotate pages by a fixed amount" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" -msgstr "" +msgstr "Request driver to rotate skewed pages digitally" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" -msgstr "" +msgstr "Maximum diameter of lone dots to remove from scan" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" -msgstr "" +msgstr "Software automatic cropping" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" -msgstr "" +msgstr "Request driver to remove border from pages digitally" #: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 #, no-c-format @@ -4289,6 +4411,8 @@ msgid "" "Length Control Mode is a mode that the scanner reads up to the shorter " "length of actual paper or logical document length." msgstr "" +"Length Control Mode is a mode that the scanner reads up to the shorter " +"length of actual paper or logical document length." #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 #: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 @@ -4300,179 +4424,189 @@ msgstr "Gamma correction" #: backend/kvs40xx_opt.c:117 #, no-c-format msgid "wait_doc_hopper_up" -msgstr "" +msgstr "wait_doc_hopper_up" #: backend/kvs40xx_opt.c:127 #, no-c-format msgid "A3" -msgstr "" +msgstr "A3" #: backend/kvs40xx_opt.c:132 #, no-c-format msgid "Double letter 11x17 in" -msgstr "" +msgstr "Double letter 11x17 in" #: backend/kvs40xx_opt.c:133 #, no-c-format msgid "B4" -msgstr "" +msgstr "B4" +# sensivity->sensitivity #: backend/kvs40xx_opt.c:231 -#, fuzzy, no-c-format +#, no-c-format msgid "High sensivity" -msgstr "High density printing" +msgstr "High sensitivity" +# sensivity->sensitivity #: backend/kvs40xx_opt.c:232 -#, fuzzy, no-c-format +#, no-c-format msgid "Low sensivity" -msgstr "Low density printing" +msgstr "Low sensitivity" #: backend/kvs40xx_opt.c:243 -#, fuzzy, no-c-format +#, no-c-format msgid "err_diffusion" -msgstr "Error Diffusion" +msgstr "err_diffusion" #: backend/kvs40xx_opt.c:249 -#, fuzzy, no-c-format +#, no-c-format msgid "No detection" -msgstr "No Correction" +msgstr "No detection" #: backend/kvs40xx_opt.c:250 -#, fuzzy, no-c-format +#, no-c-format msgid "Normal mode" -msgstr "Normal" +msgstr "Normal mode" #: backend/kvs40xx_opt.c:251 -#, fuzzy, no-c-format +#, no-c-format msgid "Enhanced mode" -msgstr "Enhancement" +msgstr "Enhanced mode" +# The grammar is a bit suspect here. #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" "Long Paper Mode is a mode that the scanner reads the image after it " "divides long paper by the length which is set in Document Size option." msgstr "" +"Long Paper Mode is a mode that the scanner reads the image after it " +"divides long paper by the length which is set in Document Size option." #: backend/kvs40xx_opt.c:449 #, no-c-format msgid "Double feed detector sensitivity" -msgstr "" +msgstr "Double feed detector sensitivity" #: backend/kvs40xx_opt.c:450 #, no-c-format msgid "Set the double feed detector sensitivity" -msgstr "" +msgstr "Set the double feed detector sensitivity" #: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 #, no-c-format msgid "Do not stop after double feed detection" -msgstr "" +msgstr "Do not stop after double feed detection" #: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 #, no-c-format msgid "Ignore left double feed sensor" -msgstr "" +msgstr "Ignore left double feed sensor" #: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 #, no-c-format msgid "Ignore center double feed sensor" -msgstr "" +msgstr "Ignore centre double feed sensor" #: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 #, no-c-format msgid "Ignore right double feed sensor" -msgstr "" +msgstr "Ignore right double feed sensor" #: backend/kvs40xx_opt.c:642 -#, fuzzy, no-c-format +#, no-c-format msgid "Automatic threshold mode" -msgstr "Automatic threshold" +msgstr "Automatic threshold mode" #: backend/kvs40xx_opt.c:643 -#, fuzzy, no-c-format +#, no-c-format msgid "Sets the automatic threshold mode" -msgstr "Automatic threshold" +msgstr "Sets the automatic threshold mode" #: backend/kvs40xx_opt.c:694 #, no-c-format msgid "Inverse image in B/W mode" -msgstr "" +msgstr "Inverse image in B/W mode" #: backend/kvs40xx_opt.c:715 #, no-c-format msgid "JPEG compression" -msgstr "" +msgstr "JPEG compression" +# yours->your #: backend/kvs40xx_opt.c:718 #, no-c-format msgid "JPEG compression (yours application must be able to uncompress)" -msgstr "" +msgstr "JPEG compression (your application must be able to uncompress)" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format msgid "Detect stapled document" -msgstr "" +msgstr "Detect stapled document" #: backend/kvs40xx_opt.c:776 #, no-c-format msgid "chroma of red" -msgstr "" +msgstr "chroma of red" #: backend/kvs40xx_opt.c:777 -#, fuzzy, no-c-format +#, no-c-format msgid "Set chroma of red" -msgstr "Set the order of frames" +msgstr "Set chroma of red" #: backend/kvs40xx_opt.c:787 -#, fuzzy, no-c-format +#, no-c-format msgid "chroma of blue" -msgstr "Shadow for blue" +msgstr "chroma of blue" #: backend/kvs40xx_opt.c:788 -#, fuzzy, no-c-format +#, no-c-format msgid "Set chroma of blue" -msgstr "Shift red to blue" +msgstr "Set chroma of blue" #: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 #, no-c-format msgid "Skew adjustment" -msgstr "" +msgstr "Skew adjustment" +# Grammar? #: backend/kvs40xx_opt.c:808 #, no-c-format msgid "Stop scanner when a paper have been skewed" -msgstr "" +msgstr "Stop scanner if a sheet is skewed" +# stop->stopped #: backend/kvs40xx_opt.c:809 #, no-c-format msgid "Scanner will be stop when a paper have been skewed" -msgstr "" +msgstr "Scanner will be stopped if sheet is skewed" #: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" -msgstr "" +msgstr "Crop actual image area" +# detect->detects; crop->crops #: backend/kvs40xx_opt.c:817 #, no-c-format msgid "Scanner automatically detect image area and crop it" -msgstr "" +msgstr "Scanner automatically detects image area and crops it" +# Grammar? #: backend/kvs40xx_opt.c:827 #, no-c-format msgid "It is right and left reversing" -msgstr "" +msgstr "It is right and left reversing" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format msgid "Addition of space in top position" -msgstr "" +msgstr "Addition of space in top position" #: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 #, no-c-format msgid "Addition of space in bottom position" -msgstr "" +msgstr "Addition of space in bottom position" #: backend/leo.c:110 #, no-c-format @@ -4502,7 +4636,7 @@ msgstr "8x8 Vertical Line" #: backend/lexmark.c:273 backend/umax_pp.c:715 #, no-c-format msgid "Gain" -msgstr " " +msgstr "Gain" #: backend/lexmark.c:274 backend/umax_pp.c:716 #, no-c-format @@ -4871,12 +5005,12 @@ msgstr "Blue balance" #: backend/microtek2.h:705 #, no-c-format msgid "Balance factor for blue. A value of 100% means no correction." -msgstr " " +msgstr "Balance factor for blue. A value of 100% means no correction." #: backend/microtek2.h:709 #, no-c-format msgid "Firmware balance" -msgstr " " +msgstr "Firmware balance" #: backend/microtek2.h:710 #, no-c-format @@ -4916,7 +5050,7 @@ msgstr "8x8 normal" #: backend/mustek.c:177 #, no-c-format msgid "8x8 fine" -msgstr " " +msgstr "8x8 fine" #: backend/mustek.c:178 #, no-c-format @@ -4946,7 +5080,7 @@ msgstr "4x4 coarse" #: backend/mustek.c:180 #, no-c-format msgid "4x4 normal" -msgstr " " +msgstr "4x4 normal" #: backend/mustek.c:180 #, no-c-format @@ -4966,7 +5100,7 @@ msgstr "2x2 normal" #: backend/mustek.c:181 #, no-c-format msgid "8x8 custom" -msgstr " " +msgstr "8x8 custom" #: backend/mustek.c:182 #, no-c-format @@ -4986,24 +5120,24 @@ msgstr "4x4 custom" #: backend/mustek.c:184 #, no-c-format msgid "3x3 custom" -msgstr " " +msgstr "3x3 custom" #: backend/mustek.c:185 #, no-c-format msgid "2x2 custom" msgstr "2x2 custom" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Fast grey mode" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Scan in fast grey mode (lower quality)." -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -5012,83 +5146,83 @@ msgstr "" "Request that all previews are done in the fastest (low-quality) mode. " "This may be a non-colour mode or a low resolution mode." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Lamp off time (minutes)" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Set the time (in minutes) after which the lamp is shut off." -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "Turn lamp off" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Turns the lamp off immediately." -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Red brightness" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Controls the brightness of the red channel of the acquired image." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Green brightness" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "" "Controls the brightness of the green channel of the acquired image." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Blue brightness" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Controls the brightness of the blue channel of the acquired image." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Contrast red channel" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Controls the contrast of the red channel of the acquired image." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Contrast green channel" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Controls the contrast of the green channel of the acquired image." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Contrast blue channel" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Controls the contrast of the blue channel of the acquired image." @@ -5132,25 +5266,25 @@ msgstr "" "Warm-up until the lamp's brightness is constant instead of insisting on " "40 seconds warm-up time." -#: backend/pixma.c:378 -#, fuzzy, no-c-format +#: backend/pixma.c:397 +#, no-c-format msgid "Negative color" -msgstr "Negative film" +msgstr "Negative colour" -#: backend/pixma.c:383 -#, fuzzy, no-c-format +#: backend/pixma.c:402 +#, no-c-format msgid "Negative gray" -msgstr "Negative" +msgstr "Negative grey" -#: backend/pixma.c:396 -#, fuzzy, no-c-format +#: backend/pixma.c:415 +#, no-c-format msgid "48 bits color" -msgstr "Fine colour" +msgstr "48 bits colour" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" -msgstr "" +msgstr "16 bits grey" #: backend/pixma_sane_options.c:84 #, no-c-format @@ -5158,11 +5292,13 @@ msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" +"Selects the scan source (such as a document-feeder). Set source before " +"mode and resolution. Resets mode and resolution to auto values." #: backend/pixma_sane_options.c:98 -#, fuzzy, no-c-format +#, no-c-format msgid "Button-controlled scan" -msgstr "Button-controlled scan (experimental)" +msgstr "Button-controlled scan" #: backend/pixma_sane_options.c:99 #, no-c-format @@ -5193,24 +5329,27 @@ msgstr "Button 2" #: backend/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" -msgstr "" +msgstr "Type of original to scan" #: backend/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" -msgstr "" +msgstr "Target operation type" #: backend/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" -msgstr "" +msgstr "ADF Waiting Time" +# Grammar could be improved. #: backend/pixma_sane_options.c:349 #, no-c-format msgid "" "When set, the scanner searches the waiting time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" +"When set, the scanner waits the specified time in seconds for a new " +"document to be inserted into the automatic document feeder." #: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format @@ -5568,9 +5707,9 @@ msgstr "" "after sane_read() has been called." #: backend/rts8891.c:2809 -#, fuzzy, no-c-format +#, no-c-format msgid "This option reflects the status of a scanner button." -msgstr "This option reflects the status of the scanner buttons." +msgstr "This option reflects the status of a scanner button." #: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 #, no-c-format @@ -5660,17 +5799,17 @@ msgstr "" #: backend/snapscan-options.c:111 #, no-c-format msgid "Frame number of media holder that should be scanned." -msgstr "" +msgstr "Frame number of media holder that should be scanned." #: backend/snapscan-options.c:114 #, no-c-format msgid "Use manual or automatic selection of focus point." -msgstr "" +msgstr "Use manual or automatic selection of focus point." #: backend/snapscan-options.c:117 -#, fuzzy, no-c-format +#, no-c-format msgid "Focus point for scanning." -msgstr "Eject document after scanning" +msgstr "Focus point for scanning." #: backend/snapscan-options.c:482 #, no-c-format @@ -5703,38 +5842,40 @@ msgstr "" #: backend/snapscan-options.c:884 #, no-c-format msgid "Frame" -msgstr "" +msgstr "Frame" #: backend/snapscan-options.c:885 -#, fuzzy, no-c-format +#, no-c-format msgid "Frame to be scanned" -msgstr "flatbed scanner" +msgstr "Frame to be scanned" #: backend/snapscan-options.c:897 -#, fuzzy, no-c-format +#, no-c-format msgid "Focus-mode" -msgstr "Focus" +msgstr "Focus-mode" #: backend/snapscan-options.c:898 -#, fuzzy, no-c-format +#, no-c-format msgid "Auto or manual focus" -msgstr "Auto focus" +msgstr "Auto or manual focus" #: backend/snapscan-options.c:911 -#, fuzzy, no-c-format +#, no-c-format msgid "Focus-point" -msgstr "Focus Position" +msgstr "Focus-point" #: backend/snapscan-options.c:912 -#, fuzzy, no-c-format +#, no-c-format msgid "Focus point" -msgstr "Focus Position" +msgstr "Focus point" +# Original should specify "color" not colour. #: backend/snapscan-options.c:930 #, no-c-format msgid "Colour lines per read" msgstr "Colour lines per read" +# Original should specify gray #: backend/snapscan-options.c:942 #, no-c-format msgid "Greyscale lines per read" @@ -5873,7 +6014,7 @@ msgstr "" "Select the kind of test picture. Available options:\n" "Solid black: fills the whole scan with black.\n" "Solid white: fills the whole scan with white.\n" -"Color pattern: draws various colour test patterns depending on the " +"Colour pattern: draws various colour test patterns depending on the " "mode.\n" "Grid: draws a black/white grid with a width and height of 10 mm per " "square." @@ -6344,7 +6485,7 @@ msgstr "Do not calibrate focus" #: backend/umax.c:5745 #, no-c-format msgid "Manual pre focus" -msgstr " " +msgstr "Manual pre focus" #: backend/umax.c:5757 #, no-c-format diff --git a/po/eo.gmo b/po/eo.gmo deleted file mode 100644 index bf15262..0000000 Binary files a/po/eo.gmo and /dev/null differ diff --git a/po/eo.po b/po/eo.po index d4ea7a1..b1d42e2 100644 --- a/po/eo.po +++ b/po/eo.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends.eo\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2007-12-08 13:28+0100\n" "Last-Translator: A.C.Codazzi\n" "Language-Team: \n" @@ -31,36 +31,36 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometrio" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Plibonigo" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -88,7 +88,7 @@ msgstr "Perfortu monokromatan antaŭmontron" msgid "Bit depth" msgstr "Profundeco en bitoj" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -129,7 +129,7 @@ msgstr "Sube-dekstre X" msgid "Bottom-right y" msgstr "Sube-dekstre Y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -285,7 +285,7 @@ msgstr "Dosiernomo" msgid "Halftone pattern size" msgstr "Grado de modelo por meznuancoj" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Modelo por meznuanco" @@ -297,8 +297,8 @@ msgstr "Bindu distindon de X kaj Y" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" @@ -980,7 +980,7 @@ msgstr "Defaŭltaj valoroj" msgid "Set default values for enhancement controls." msgstr "Uzu la defaŭltajn valorojn por la regilojn de plibonigo." -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Kalibrigo" @@ -1118,7 +1118,7 @@ msgstr "Negativoj" msgid "Slides" msgstr "Lumbildoj" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1139,489 +1139,488 @@ msgstr "Duono de la normala radipeco" msgid "1/3 normal speed" msgstr "Triono de la normala radipeco" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "rondigitaj parametroj" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "nekonata" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "ADF estas blokita" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "Kovrilo de ADF estas malfermita" -#: backend/canon.c:394 +#: backend/canon.c:389 #, no-c-format msgid "lamp failure" msgstr "lampo malfunkcias" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "eraro de lokiĝo de skan-kapeto" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "Eraro de kontrolo de CPU" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "Eraro de kontrolo de RAM" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "Eraro de kontrolo de ROM" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "Eraro de kontrolo de la aparataro" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "la lampo de diafanecoj malfunkcias" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "eraro de lokiĝo de la skan-kapeto por diafanecoj" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "eraro de longo de listo pri parametroj" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "nevalida kodo de komando" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "nevalida kampo en CDB" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "nesubtenita LUN" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "nevalida kampo en la listo pri parametroj" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "eraro en la vico de komandoj" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "la difinitaj fenestroj estas troaj" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "la aparato estas neĉeestanta" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "mesaĝo kun nevalida IDENTIFY-bito" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "opcio de ne-konektado" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "re-agordo de nutro / re-agordo de buso de aparatoj" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "parametro estis ŝanĝita de alia pravaloranto" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "neniu alia aldona informo pri «senso»" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "re-elektado malsukcesis" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "eraro de pareco de SCSI" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "oni ricevis mesaĝon pri eraro rekonita de pravaloranto" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "eraro de nevalida mesaĝo" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "eraro de tempofino" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "eraro de vualo de diafaneco" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "nestabiligita lampo" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "skanilo por negativoj" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "plata skanilo" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Filmo" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Ĝi elektas specon de filmo: negativoj aŭ lumbildoj" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, no-c-format msgid "Negative film type" msgstr "Speco de negativa filmo" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "Ĝi elektas la specon de negativa filmo" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "Hardvara difino" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "Uzu nur hardvarajn difinojn" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "Fokuso" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "Mem-fokusigo" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "Ĝi ebligas/malebligas aŭtomatan fokusigon" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "Memfokusigo nur unu-foje" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Ĝi plenumas memfokusigon nur unu-foje por ĉiu enigo de filmo" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "Lokado de mana fokusigo" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "Ĝi mane agordas lokadon de optika fokusigo (defaŭto: 128)." -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "Marĝenoj por skanado" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "Aliaj aranĝoj de koloro" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Spegula bildo" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, no-c-format msgid "Mirror the image horizontally" msgstr "Ĝi reflektas bildon horizontale" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "Mem-ekspono" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Ĝi ebligas/malebligas aŭtomatan eksponon" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, no-c-format msgid "Calibration now" msgstr "Tuja kalibrigo" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, no-c-format msgid "Execute calibration *now*" msgstr "Ĝi plenumas kalibrigon tuj" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "Mem-diagnozo" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Ĝi plenumas aŭtomatajn kontrolojn" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, no-c-format msgid "Reset scanner" msgstr "Re-agordu skanilon" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "Ĝi ree agordas la skanilon" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "Mastrumado de aparato" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "Elpelu filmon post ĉiu skanado" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Ĝi aŭtomate elpelas filmon post ĉiu skanado" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "Elpelu filmon antaŭ eliri" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "Ĝi aŭtomate elpelas filmon antaŭ la eliro de la programo" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "Elpelu filmon nun" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "Ĝi elpelas filmon *nun*" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" msgstr "Aliaj agordoj pri provizilo de dokumentoj" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "Nur fiksa ebeno" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "Ĝi malebligas provizilon de dokumentoj kaj uzas nur fiksan ebeno" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format msgid "Transparency unit" msgstr "Reguligilo de diafaneco" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" "Ĝi evligas/malebligas la reguligilon de diafaneco (FAU, «film adapter " "unit»)" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, no-c-format msgid "Negative film" msgstr "Negativa filmo" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, no-c-format msgid "Positive or negative film" msgstr "Pozitiva aŭ negativa filmo" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "Regilo de denseco" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "Ĝi ebligas moduson de la regado de denseco" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, no-c-format msgid "Transparency ratio" msgstr "Rejŝo de diafaneco" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, no-c-format msgid "Select film type" msgstr "Elektu specon de filmo" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "Ĝi elektas specon de filmo" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Fiksa ebeno" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, fuzzy, no-c-format msgid "ADF Front" msgstr "Kovrilo de ADF estas malfermita" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF estas blokita" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Fronta-dorsa ADF" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, fuzzy, no-c-format msgid "Card Front" msgstr "Presu" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Fronta-dorsa" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Ruĝo" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Verdo" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Bluo" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Plibonigo" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Plibonigo" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Plibonigo" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1629,18 +1628,18 @@ msgstr "Plibonigo" msgid "None" msgstr "Nenio" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1657,13 +1656,13 @@ msgstr "Unuopa" msgid "Duplex" msgstr "Fronta-dorsa" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Reguligilo de Diafaneco" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1776,8 +1775,8 @@ msgstr "Inkoŝprucaj printiloj" msgid "CRT monitors" msgstr "CRT ekranoj" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Defaŭlto" @@ -1840,51 +1839,50 @@ msgstr "A4" msgid "Max" msgstr "Maks" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Moduso de Skanado" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Elektu meznuancojn." -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Eskludado" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Ĝi elektas la eskludadon." -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Ĝi elektas la helecon." -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Neteco" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Korektado de koloro" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" @@ -1975,17 +1973,17 @@ msgstr "Aldonu ruĝon surbaze de nivelo de bluo" msgid "Controls blue level" msgstr "Mastrumu nivelon de bluo" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Spegulu bildon" -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Tuja antaŭmontro" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Aŭtomata segmentado de areo" @@ -2015,47 +2013,47 @@ msgstr "Ĝi agordas la faktoron de zomo kiun la skanilo uzos" msgid "Quick format" msgstr "Formato rapido" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Akcesora ekipaĵo" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Elpelo" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Ĝi elpelas la folion el aŭtomata provizilo" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Mem-elpelo" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Ĝi elpelas la dokumento post la skanado" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Moduso por ADF" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Ĝi elektas la ADF-moduso (unuopa/fronta-dorsa)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Kesto" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Ĝi elektas la keston por skani" @@ -2095,7 +2093,7 @@ msgstr "" "Post la sendo de la skan-komando, ĝi atendas la premon de la butono de " "la skanilo por startigi la skanadon." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "" @@ -2125,492 +2123,492 @@ msgstr "" msgid "User defined CCT profile" msgstr "Agordita de la uzanto" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Kondukta" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Elkluda" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Punktismo" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Difuzo de Eraro" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, fuzzy, no-c-format msgid "White" msgstr "Nivelo de blanko" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, fuzzy, no-c-format msgid "Black" msgstr "Nivelo de nigro" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, fuzzy, no-c-format msgid "Continue" msgstr "Kondiĉa" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontala" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Horizontala" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Horizontala" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertikala" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Vertikala" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, fuzzy, no-c-format msgid "Front" msgstr "Presu" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Meznuancoj" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Plenumu kalibrigon" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Emfazo de bildo" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Saturado" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "Ĝi elbligas aŭtomatan elekton de sojlo por duuma skanado." -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Spegula bildo" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Ĝi reflektas bildon horizontale." -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Nivelo de blanko laŭ bluo" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Mastrumu nivelon de ruĝo" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Filtrilo de Koloro" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Glatigo" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Valoro de Gama" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Sojlo" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Sojlo" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Redukto de bruo" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Neniu korektado" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Neniu korektado" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Kovrilo de ADF estas malfermita" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Avanaj Opcioj" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Neniu korektado" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Eskludado" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Moduso de provizilo" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2618,65 +2616,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "Ripozo de lampo" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Deŝovo laŭ bluo" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Deŝovo laŭ verdo" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Deŝovo laŭ verdo" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Deŝovo laŭ bluo" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Ĝi agordas la deŝovon de la blua kanalo" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2685,374 +2683,374 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Fronta-dorsa skanado" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Avanaj Opcioj" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Redukto de bruo" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, fuzzy, no-c-format msgid "A3 paper" msgstr "El papero" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, fuzzy, no-c-format msgid "B4 paper" msgstr "El papero" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, fuzzy, no-c-format msgid "A4 paper" msgstr "El papero" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, fuzzy, no-c-format msgid "B5 paper" msgstr "El papero" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "Kovrilo de ADF estas malfermita" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Mana prepara fokusigo" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Mana prepara fokusigo" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Eraro de kontrolo de la aparataro" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Nivelo de blanko" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "Regilo de denseco" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, fuzzy, no-c-format msgid "Density dial" msgstr "Regilo de denseco" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Fronta-dorsa skanado" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Ekstraĵoj" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "Malebligu interpoladon" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3061,45 +3059,45 @@ msgstr "" "Kiam oni uzas altajn distingojn kun la horizontala malpli alta ol la " "verticala, la horizontala interpolado estas malebligata." -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtrilo de Koloro" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Kiam oni uzas grizan aŭ duuman kolorojn, tiu elektas uzatan koloron." -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrigo" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Difinu moduson de kalibrigo" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kaŝmemoro por kalibrigo" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "Ripozo de lampo" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3108,103 +3106,113 @@ msgstr "" "La lampo estos elŝaltata post la fiksita tempo (en minutoj). La valoro " "signifas ke la lampo neniam ripozos." -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Elŝaltita lampo dum kalibrigo de nigro" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" "Nombro da minutoj pasantaj inter la skanado kaj la elŝalto de la lampo" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, fuzzy, no-c-format msgid "File button" msgstr "Atendu butonon" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, fuzzy, no-c-format msgid "Power button" msgstr "Atendu butonon" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "Atendu butonon" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Grajneca kalibrigo" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Ĝi devigas kalibrigon de skanilon antaŭ la skanado" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Butonoj" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrigu" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Startigu kalibrigadon." -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Grajneca kalibrigo" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Kaŝmemoro por kalibrigo" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Grajneca kalibrigo" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "reguligilo de Diafaneco" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "Koloro por grizgamo" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Ĝi elektas la skan-koloron uzendan por la grizgamo (defaŭlto: verdo)." -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Opcioj de Sencimigo" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Aŭtomata varmigo" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3213,12 +3221,12 @@ msgstr "" "Ĝi varmigas la lampon tiel ke ĝia heleco estas sensanĝa anstataŭ ĉiufoja " "varmigo je 60 sekundoj." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Plena skanado" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3227,12 +3235,12 @@ msgstr "" "Ĝi skanas la tutan areon, do ĝi skanas ankaŭ la strion de kalibrigo. " "Atentu. Ne elektu plenan alton. Ĝi estas uzenda nur por testi." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Grajneca kalibrigo" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3243,12 +3251,12 @@ msgstr "" "malebligita, mane agordado de la parametroj estas ebligita. Tiu ĉi opcio " "estas defaŭlta. Ĝi estas uzenda nur por testi." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Grajneca kalibrigo nur por unua skanado" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3260,12 +3268,12 @@ msgstr "" "opcio se la heleco estas malsama en ĉiu skanita bildo. Ĝi estas uzenda " "nur por testi." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "Linioj de malavanco" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3278,12 +3286,12 @@ msgstr "" "Malaltaj valoroj ebligas pli rapidan skanadon sed pliigas la riskon pri " "mankantaj linioj." -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Valoro de Gama" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Ĝi agordas valoron de gama por ĉiuj kanaloj." @@ -3299,7 +3307,7 @@ msgid "Scan Mode Group" msgstr "Grupo de Moduso de Skanado" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Lumbildo" @@ -3497,162 +3505,237 @@ msgstr "Ŝaltu aŭ elŝaltu la lampon." msgid "Calibrates for black and white level." msgstr "Kalibrigu la nivelojn de nigro kaj blanko." -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "ADF" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, no-c-format msgid "TMA Slides" msgstr "TMA-Lumbildoj" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, no-c-format msgid "TMA Negatives" msgstr "TMA-Negativoj" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, no-c-format msgid "Color (48 bits)" msgstr "Koloro (48 bitoj)" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, no-c-format msgid "Extend lamp timeout" msgstr "Prokastu elŝalton de lampo" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Ĝi prokastas elŝalton de lampo (de 15 minutoj ĝis 1 horo)" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Atendu butonon" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, no-c-format msgid "Waits for button before scanning" msgstr "Ĝi atendas butonpremon antaŭ skanado" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Ĝisdatigu staton de butono" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Fonto de skanilo" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Duuma Koloro" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "Avanaj Opcioj" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Grajna" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Fajna" # Bayer è il nome della persona che ha inventato questa matrice per il # dithering. -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Personigita" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Aŭtomata" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "Trapasanta" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "NTSC-Grizo" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "XPA-Grizo" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Malrapida" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normala" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Rapida" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Tre Rapida" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2-bilderoj" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4-bilderoj" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8-bilderoj" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Presu" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Filmo" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "XPA" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Kondiĉa" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "Eksperimento" @@ -3830,8 +3913,8 @@ msgstr "Elŝaltu lampon" msgid "Shut off scanner lamp." msgstr "Ĝi elŝaltas la lampon de la skanilo." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Grando de folio" @@ -3842,8 +3925,7 @@ msgstr "Grando de folio" msgid "Automatic separation" msgstr "Mem-dividado" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 horizontala" @@ -3858,38 +3940,34 @@ msgstr "" msgid "Long paper mode" msgstr "" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Ĝi ebligas moduson de la regado de denseco" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Mana prepara fokusigo" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Mana prepara fokusigo" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Ebligu frontan-dorsan skanado" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Grando de folio en provizilo" @@ -4007,201 +4085,201 @@ msgstr "" # Bayer è il nome della persona che ha inventato questa matrice per il # dithering. -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" # Bayer è il nome della persona che ha inventato questa matrice per il # dithering. -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Meznuancoj" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Meznuancoj" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, fuzzy, no-c-format msgid "diffusion" msgstr "Difuzo de Eraro" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normala" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Lumbrilo" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "skanilo por negativoj" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "El papero" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Defaŭlto" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Milda" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Malrapida" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Meza" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Ruĝo" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Verdo" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Fonto de skanilo" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Moduso de provizilo" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Agordu moduson de provizilo" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Ĝi ebligas/malebligas aŭtomatan fokusigon" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Ĝi ebligas moduson de la regado de denseco" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Agordu moduson de provizilo" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Agordu moduson de provizilo" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Aŭtomata sojlo" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4210,95 +4288,95 @@ msgstr "" "Heleco, kontrasto, nivelo de blanko, gama, redukto de bruo kaj emfazo de " "bildo estos aŭtomate agorditaj" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Redukto de bruo" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Ĝi reduktas bruon de izolitaj punktoj" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Emfazo de bildo" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Ĝiu ebligas emfazon de bildo" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gama" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Ŝaltu lampon" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Ŝaltu aŭ elŝaltu la lampon." -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Ĝi reflektas bildon vertikale." -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -5019,17 +5097,17 @@ msgstr "3x3 personigita" msgid "2x2 custom" msgstr "2x2 personigita" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Rapida griza moduso" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Ĝi estas rapida skanado per grizgamo (malalta kvalito)." -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -5038,82 +5116,82 @@ msgstr "" "Ĝi mendas ke ĉiuj antaŭmontroj estu skanitaj per la plej rapida moduso " "(malalta kvalito). Tiu ĉi povus esti sen koloroj aŭ kun malalta difino." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Ripozo de la lampo (en minutoj)" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Ĝi agordas la tempon (en minutoj) post kiu lampo estas elŝaltata." -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "Elŝaltu lampon" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Ĝi elŝaltas la lampon tuj." -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Heleco de ruĝo" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Ĝi mastrumas la helecon de la ruĝa kanalo de la akirita bildo." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Heleco de verdo" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Ĝi mastrumas la helecon de la verda kanalo de la akirita bildo." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Heleco de bluo" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Ĝi mastrumas la helecon de la blua kanalo de la akirita bildo." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Kontrasto de ruĝa kanalo" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Ĝi mastrumas la kontraston de la ruĝa kanalo de la akirita bildo." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Kontrasto de verda kanalo" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Ĝi mastrumas la kontraston de la verda kanalo de la akirita bildo." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrasto de blua kanalo" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Ĝi mastrumas la kontraston de la blua kanalo de la akirita bildo." @@ -5157,22 +5235,22 @@ msgstr "" "Ĝi varmigas la lampon tiel ke ĝia heleco estas sensanĝa anstataŭ ĉiufoja " "varmigo je 40 sekundoj." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negativa filmo" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Fajna koloro" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/es.gmo b/po/es.gmo deleted file mode 100644 index 7960492..0000000 Binary files a/po/es.gmo and /dev/null differ diff --git a/po/es.po b/po/es.po index 6ecc019..c458c18 100644 --- a/po/es.po +++ b/po/es.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2009-06-25 10:22+0100\n" "Last-Translator: Miguel Anxo Bouzada \n" "Language-Team: GALPon MiniNo \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" -"Plural-Forms: nplurals=2: plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Spanish\n" "X-Poedit-Country: SPAIN\n" @@ -30,36 +30,36 @@ msgid "Standard" msgstr "Estándar" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometría" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Mejora" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -87,7 +87,7 @@ msgstr "Forzar vista previa monocroma" msgid "Bit depth" msgstr "Bit de profundidad" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -128,7 +128,7 @@ msgstr "Abajo-derecha X" msgid "Bottom-right y" msgstr "Abajo-derecha Y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -284,7 +284,7 @@ msgstr "Nombre de archivo" msgid "Halftone pattern size" msgstr "Tamaño del patrón de medios tonos" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Patrón de medios tonos" @@ -296,8 +296,8 @@ msgstr "Enlazar resoluciones X e Y" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" @@ -982,7 +982,7 @@ msgstr "Predeterminados" msgid "Set default values for enhancement controls." msgstr "Ajustar valores predeterminados para los controles de mejora." -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Calibración" @@ -1124,7 +1124,7 @@ msgstr "Negativos" msgid "Slides" msgstr "Diapositivas" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1145,332 +1145,332 @@ msgstr "1/2 de la velocidad normal" msgid "1/3 normal speed" msgstr "1/3 de la velocidad normal" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "parámetro redondeado" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "desconocido/a" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "atasco en el alimentador" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "la tapa del alimentador está abierta" -#: backend/canon.c:394 +#: backend/canon.c:389 #, no-c-format msgid "lamp failure" msgstr "fallo de lámpara" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "error en el posicionamiento del cabezal de escaneo" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "Error de verificación de CPU" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "Error de verificación de RAM" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "Error de verificación de ROM" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "error de verificación de hardware" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "fallo de la lámpara de unidad de transparencias" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" "fallo de posición del cabezal de escaneo de la unidad de transparencias" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "error en la longitud de la lista de parámetros" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "código de orden de operación incorrecto" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "campo incorrecto en CDB" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "LUN no soportado" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "campo incorrecto en la lista de parámetros" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "error en la secuencia de ordenes" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "se especificaron demasiadas ventanas" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "no se encuentra el soporte" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "mensaje de bit de IDENTIFICACIÓN incorrecto" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "la opción no conecta" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "reiniciar el encendido / reiniciar el bus del dispositivo" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "parámetro cambiado por otro iniciador" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "sin información adicional" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "fallo al volver a escoger" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "error de paridad SCSI" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "el iniciador detectó la recepción deun mensaje de error" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "mensaje de error incorrecto" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "error de límite de tiempo" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "error de sombreado en la unidad de transparencias" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "lámpara no estabilizada" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "escáner de películas" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "escáner plano" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Tipo de película" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Seleccionar el tipo de película, p.e. negativo o diapositiva" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, no-c-format msgid "Negative film type" msgstr "Tipo de película negativo" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "Selecciona el tipo de negativo de película" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "Resolución del hardware" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "Usar sólo resoluciones de hardware" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "Enfoque" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "Enfoque automático" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "Activar/desactivar enfoque automático" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "Enfoque automático solo una vez" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Hacer enfoque automático solo una vez entre expulsiones" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "Posición de foco manual" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" "Ajustar el sistema óptico de foco en la posición manual (predeterminado: " "128)." -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "Márgenes de escaneo" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "Ajustes de color extra" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Invertir imagen" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, no-c-format msgid "Mirror the image horizontally" msgstr "Invierte la imagen horizontalmente" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "Exposición automática" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Activar/desactivar la característica de exposición automática" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, no-c-format msgid "Calibration now" msgstr "Calibrar ahora" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, no-c-format msgid "Execute calibration *now*" msgstr "Ejecutar calibración *ahora*" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "Autodiagnóstico" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Realizar autodiagnóstico del escáner" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, no-c-format msgid "Reset scanner" msgstr "Reiniciar escáner" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "Reiniciar el escáner" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "Manejar el soporte" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "Expulsar la película después de cada escaneo" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" "Expulsar automáticamente la película del dispositivo después de cada " "escaneo" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "Expulsar la película antes de salir" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" @@ -1478,164 +1478,163 @@ msgstr "" "Expulsar automáticamente la película del dispositivo antes de salir del " "programa" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "Expulsar película ahora" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "Expulsar la película *ahora*" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" msgstr "Alimentador de documentos extras" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "Sólo plano" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" "Desactivar el alimentador automático de documentos y usar sólo el plano" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format msgid "Transparency unit" msgstr "Unidad de transparencias" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" "Activar/desactivar la unidad de transparencias (FAU, unidad adaptadora " "de película)" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, no-c-format msgid "Negative film" msgstr "Película en negativo" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, no-c-format msgid "Positive or negative film" msgstr "Película en positivo o en negativo" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "Control de densidad" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "Ajustar el modo de control de densidad" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, no-c-format msgid "Transparency ratio" msgstr "Tasa de transparencia" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, no-c-format msgid "Select film type" msgstr "Seleccionar tipo de película" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "Seleccionar el tipo de película" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Plana" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, fuzzy, no-c-format msgid "ADF Front" msgstr "la tapa del alimentador está abierta" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "atasco en el alimentador" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Alimentador a dos caras" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, fuzzy, no-c-format msgid "Card Front" msgstr "Imprimir" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Dos caras" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rojo" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Verde" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Azul" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Mejora" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Mejora" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Mejora" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1643,18 +1642,18 @@ msgstr "Mejora" msgid "None" msgstr "Ninguno" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1671,13 +1670,13 @@ msgstr "Una cara" msgid "Duplex" msgstr "Dos caras" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Unidad de transparencias" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1790,8 +1789,8 @@ msgstr "Impresoras de inyección de tinta" msgid "CRT monitors" msgstr "Monitores CRT" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Predeterminado" @@ -1854,51 +1853,50 @@ msgstr "A4" msgid "Max" msgstr "Máx" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Modo de escaneo" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Selecciona medios tonos" -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Exclusión" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Seleccionar lo que se va a excluir." -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Selecciona el brillo." -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Enfoque" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Corrección de color" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" @@ -1990,17 +1988,17 @@ msgstr "Añade rojo basándose en el nivel de azul." msgid "Controls blue level" msgstr "Controla el nivel de azul" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Invertir la imagen." -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Vista previa rápida" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Segmentación automática de área" @@ -2030,47 +2028,47 @@ msgstr "Define el factor de zoom que usará el escáner" msgid "Quick format" msgstr "Formato rápido" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Equipamiento opcional" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Expulsar" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Expulsar la hoja del alimentador" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Expulsión automática" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Expulsar el documento después del escaneo" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Modo alimentador" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Seleccionar el modo del alimentador (una cara/dos caras)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Bahía" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Seleccione la bahía para escanear" @@ -2112,7 +2110,7 @@ msgstr "" "Después de enviar la orden de escanear, esperar hasta que se presione el " "botón del escáner para empezar realmente el proceso de escaneo." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "" @@ -2142,494 +2140,494 @@ msgstr "" msgid "User defined CCT profile" msgstr "Definida por el usuario" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Activo" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Apagado" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Difuminado" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Difusión de error" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, fuzzy, no-c-format msgid "White" msgstr "Nivel de blanco" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, fuzzy, no-c-format msgid "Black" msgstr "Nivel de negro" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, fuzzy, no-c-format msgid "Continue" msgstr "Condicional" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Horizontal" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Horizontal" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Vertical" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, fuzzy, no-c-format msgid "Front" msgstr "Imprimir" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Medios tonos" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Calibración de precisión" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Resalte de imagen" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Saturación" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Activar la determinación automática de umbral para escaneos como línea " "de arte." -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Invertir imagen" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Invertir la imagen horizontalmente." -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Nivel de blanco para azul" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Controla el nivel de rojo" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Filtro de color" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Suavizado" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Valor gamma" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Umbral" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Umbral" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Reducción de ruido" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Sin corrección" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Sin corrección" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "la tapa del alimentador está abierta" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Opciones avanzadas" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Sin corrección" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Exclusión" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Modo de alimentación" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2637,65 +2635,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "Tiempo de espera de la lámpara" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Desviación azul" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Desviación verde" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Desviación verde" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Desviación azul" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Ajusta el desplazamiento del canal de azul" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, fuzzy, no-c-format msgid "Low Memory" msgstr "No queda memoria" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2704,374 +2702,374 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Escaneo a dos caras" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Opciones avanzadas" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Reducción de ruido" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Del papel" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Del papel" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Del papel" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Del papel" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "La tapa del escáner está abierta" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Foco previo manual" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Foco previo manual" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "error de verificación de hardware" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Nivel de blanco" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "Control de densidad" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, fuzzy, no-c-format msgid "Density dial" msgstr "Control de densidad" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Escaneo a dos caras" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "Desactivar interpolación" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3080,45 +3078,45 @@ msgstr "" "Cuando se usan altas resoluciones en las que la resolución horizontal es " "más pequeña que la vertical, esto desactiva la interpolación horizontal." -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtro de color" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Cuando se usa gris o línea de arte esta opción selecciona el color usado." -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibración" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Define el modo de calibración" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Caché de datos de calibración" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "Tiempo de espera de la lámpara" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3127,103 +3125,113 @@ msgstr "" "La lámpara será apagada después del tiempo dado (en minutos). Un valor " "de 0 significa que la lámpara no será apagada" -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Apagar la lámpara durante la calibración de oscuridad" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Minutos que tardará la lámpara en apagarse tras el escaneo" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, no-c-format msgid "File button" msgstr "Botón de archivo" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "Botón de OCR" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, no-c-format msgid "Power button" msgstr "Botón de energía" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "Botón de correo-e" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Limpiar la calibración" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Fuerza la calibración del escáner antes de realizar el escaneo" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Botones" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibrar" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, no-c-format msgid "Start calibration using special sheet" msgstr "Iniciar calibración usando una hoja especial" -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, no-c-format msgid "Clear calibration" msgstr "Limpiar la calibración" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, no-c-format msgid "Clear calibration cache" msgstr "Limpiar la caché de datos de calibración" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Calibración tosca" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptador de transparencias" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "Color en modo gris" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Selecciona qué color de escaneo se usará en modo gris (predefinido: " "verde)." -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Opciones de depuración" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Calentamiento automático" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3232,12 +3240,12 @@ msgstr "" "Calentar hasta que el brillo de la lámpara sea constante en vez de " "esperar por los 60 segundos de calentamiento." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Escaneo completo" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3246,12 +3254,12 @@ msgstr "" "Escanear todo el área de escaneado incluyendo la franja de calibración. " "Tenga cuidado. No seleccione la altura total. Sólo para pruebas." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Calibración tosca" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3263,12 +3271,12 @@ msgstr "" "opciones de ajuste de los parámetros de forma manual en la interfaz " "analógica. Esta opción está activada como predefinida. Solo para pruebas." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Calibración tosca sólo para el primer escaneo" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3280,12 +3288,12 @@ msgstr "" "de la imagen es diferente con cada escaneo, desactive esta opción. Sólo " "para pruebas." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "Lineas de vuelta atrás" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3297,12 +3305,12 @@ msgstr "" "lo que el equipo puede recibir datos. Valores bajos hacen que los " "escaneos sean más rápidos, pero aumentan los riesgos de omitir líneas." -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Valor gamma" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Ajusta el valor gamma para todos los canales." @@ -3318,7 +3326,7 @@ msgid "Scan Mode Group" msgstr "Grupo de modo de escaneo" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Diapositiva" @@ -3526,161 +3534,236 @@ msgstr "Enciende o apaga la lámpara" msgid "Calibrates for black and white level." msgstr "Calibrar el nivel de blanco y negro." -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "Alimentador automático de documentos (ADF)" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, no-c-format msgid "TMA Slides" msgstr "Adaptador (TMA) para diapositivas" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, no-c-format msgid "TMA Negatives" msgstr "Adaptador (TMA) para negativos" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, no-c-format msgid "Color (48 bits)" msgstr "Color (48 bits)" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, no-c-format msgid "Extend lamp timeout" msgstr "Retardar el tiempo de apagado de la lámpara" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" "Retarda los tiempos de apagado de la lámpara (de 15 minutos a 1 hora)" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Esperando por el botón" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, no-c-format msgid "Waits for button before scanning" msgstr "Esperando por el botón antes de escanear" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Actualizar estado del botón" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Contador de escaneos" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Linea de arte a color" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "Opciones avanzadas" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Gruesa" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Fina" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Personalizado" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Auto" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "Adaptador de transparencias RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "A través" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "NTSC Gris" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "Adaptador de transparencias gris" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Lento" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Rápido" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Muy rápido" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2-píxeles" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4-píxeles" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8-píxeles" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Imprimir" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Tira de película" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "Adaptador de transparencias (XPA)" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Condicional" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "Experimento" @@ -3862,8 +3945,8 @@ msgstr "Apagar lámpara" msgid "Shut off scanner lamp." msgstr "Apagar la lámpara del escáner." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Tamaño del papel" @@ -3874,8 +3957,7 @@ msgstr "Tamaño del papel" msgid "Automatic separation" msgstr "Separación automática" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 apaisado" @@ -3890,38 +3972,34 @@ msgstr "" msgid "Long paper mode" msgstr "" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Ajustar el modo de control de densidad" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Foco previo manual" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Foco previo manual" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Activa el escaneo por las dos caras" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Tamaño físico del papel en el alimentador" @@ -4037,199 +4115,199 @@ msgstr "" msgid "Legal" msgstr "" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Medios tonos" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Medios tonos" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, fuzzy, no-c-format msgid "diffusion" msgstr "Difusión de error" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normal" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Resalte" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "escáner de películas" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Del papel" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Predeterminado" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Suave" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Lento" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Soporte" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Rojo" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Verde" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Origen de escaneo" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Modo de alimentación" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Ajusta el modo de alimentación" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Activar/desactivar enfoque automático" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Ajustar el modo de control de densidad" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Ajusta el modo de alimentación" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Ajusta el modo de alimentación" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Umbral automático" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4238,95 +4316,95 @@ msgstr "" "Ajusta automáticamente el brillo, contraste, niveles de blanco, gamma y " "reducción de intensidad del ruido de la imagen" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Reducción de ruido" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Reduce los puntos aislados de ruido" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Resalte de imagen" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Ajusta el resalte de la imagen" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Encender lámpara" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Enciende o apaga la lámpara" -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Invertir la imagen verticalmente." -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -5051,17 +5129,17 @@ msgstr "3x3 personalizado" msgid "2x2 custom" msgstr "2x2 personalizado" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Modo gris rápido" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Escanear en modo gris rápido (menor calidad)." -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -5070,82 +5148,82 @@ msgstr "" "Precisa que todas las vistas previas se hagan del modo más rápido (baja " "calidad). Este puede ser un modo sin color o un modo de baja resolución." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Tiempo de apagado de lámpara (minutos)" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Ajustar el tiempo (en minutos) tras el que se apagará la lámpara." -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "Apagar la lámpara" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Apaga la lámpara inmediatamente." -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Brillo de rojo" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Controla el brillo del canal de rojo de la imagen obtenida." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Brillo de verde" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Controla el brillo del canal de verde de la imagen obtenida." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Brillo de azul" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Controla el brillo del canal de azul de la imagen obtenida." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Contraste de canal de rojo" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Controla el contraste del canal de rojo de la imagen obtenida." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Contraste de canal de verde" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Controla el contraste del canal de verde de la imagen obtenida." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Contraste de canal de azul" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Controla el contraste del canal de azul de la imagen obtenida." @@ -5189,22 +5267,22 @@ msgstr "" "Calentar hasta que el brillo de la lámpara sea constante en vez de " "esperar por los 40 segundos de calentamiento." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Película en negativo" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Color fino" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/fi.gmo b/po/fi.gmo deleted file mode 100644 index a3616bd..0000000 Binary files a/po/fi.gmo and /dev/null differ diff --git a/po/fi.po b/po/fi.po index 7aeae26..c314712 100644 --- a/po/fi.po +++ b/po/fi.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.11\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2007-12-17 23:00+0100\n" "Last-Translator: Harri Järvi \n" "Language-Team: Debian l10n Finnish \n" @@ -66,36 +66,36 @@ msgid "Standard" msgstr "Général" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Aire de numérisation" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Réglages fins" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -123,7 +123,7 @@ msgstr "Force l'aperçu en noir et blanc" msgid "Bit depth" msgstr "Profondeur" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -164,7 +164,7 @@ msgstr "X bas-droit" msgid "Bottom-right y" msgstr "Y bas-droit" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -320,7 +320,7 @@ msgstr "Nom de fichier" msgid "Halftone pattern size" msgstr "Taille du motif demi-teinte" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Motif demi-teinte" @@ -332,8 +332,8 @@ msgstr "Lier les échantillonnage X et Y" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Négatif" @@ -1029,7 +1029,7 @@ msgstr "Valeurs par défaut" msgid "Set default values for enhancement controls." msgstr "Valeurs par défaut pour les réglages fins." -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Calibration" @@ -1171,7 +1171,7 @@ msgstr "Négatifs" msgid "Slides" msgstr "Diapositives" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1192,490 +1192,489 @@ msgstr "Vitesse 1/2" msgid "1/3 normal speed" msgstr "Vitesse 1/3" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "Paramètres arrondis" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "inconnu(e)" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "Bourrage du chargeur automatique" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "Couvercle du chargeur automatique ouvert" -#: backend/canon.c:394 +#: backend/canon.c:389 #, no-c-format msgid "lamp failure" msgstr "lampe défectueuse" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "erreur de positionnement du capteur" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "erreur de test du processeur (CPU)" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "erreur de test de la mémoire RAM" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "erreur de test de la mémoire ROM" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "erreur de test du matériel" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "lampe de l'adaptateur de transparent défectueuse" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "erreur de positionnement du capteur pour transparents" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "longueur de la liste de paramètres incorrecte" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "code commande invalide" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "champ du bloc de description de commande (CDB) invalide" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "Numéro d'unité logique (LUN) non supporté" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "champ invalide dans la liste des paramètres" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "erreur dans la séquence de commandes" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "trop de fenêtres spécifiées" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "document absent" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "message d'identification (IDENTIFY) invalide" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "option non connectée" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "Réinitialisation au démarrage / du bus" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "paramètre modifié par un autre maître" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "pas d'information supplémentaire" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "échec de re-sélection" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "erreur de parité SCSI" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "message d'erreur détecté " -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "message d'erreur invalide" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "erreur de dépassement de temps" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "erreur de l'adaptateur pour transparents" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "lampe non stabilisée" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "numériseur de transparents" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "numériseur à plat" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Type de film" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Sélectionne le type de transparents (négatifs ou diapositives)" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, no-c-format msgid "Negative film type" msgstr "Film négatif" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "Sélectionne l'utilisation de film négatif" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "Echantillonnage matériel" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "Utilise seulement les valeurs d'échantillonnage matériel" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "Mise au point" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "Mise au point automatique" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "Activer/désactiver la mise au point automatique" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "Une seule mise au point automatique" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" "Effectuer la mise au point automatique une seule fois entre chaque " "éjection" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "Mise au point manuelle" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "Effectuer manuellement la mise au point (128 par défaut)" -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "Marges" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "Plus de réglages de couleur" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Image miroir" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, no-c-format msgid "Mirror the image horizontally" msgstr "Image miroir horizontal" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "Temps d'exposition automatique" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Activer/désactiver le temps d'exposition automatique" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, no-c-format msgid "Calibration now" msgstr "Calibrer maintenant" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, no-c-format msgid "Execute calibration *now*" msgstr "Effectue la calibration *maintenant*" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "Diagnostic automatique" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Effectue le diagnostic automatique du scanner" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, no-c-format msgid "Reset scanner" msgstr "Réinitialiser le scanner" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "Réinitialiser le scanner" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "Maniement des documents" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "Ejecte le film après chaque numérisation" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Ejecte automatiquement le film après chaque numérisation" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "Ejecte le film avant de quitter" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "Ejecte automatiquement le film avant de quitter le programme" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "Ejecte le film maintenant" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "Ejecte le film *maintenant*" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" msgstr "Chargeur automatique de document, options avancées" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "A plat seulement" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" "Ne pas utiliser le chargeur automatique, seulement le scanner à plat" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format msgid "Transparency unit" msgstr "Adaptateur pour transparents" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Allumer/éteindre l'adaptateur pour transparents" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, no-c-format msgid "Negative film" msgstr "Film négatif" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, no-c-format msgid "Positive or negative film" msgstr "Film positif ou négatif" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "Contrôle de densité" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "Positionne le mode de contrôle de la densité" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, no-c-format msgid "Transparency ratio" msgstr "Rapport de transparence" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, no-c-format msgid "Select film type" msgstr "Type de film" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "Sélectionne le type de film" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "A plat" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Chargeur automatique de documents, recto" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Chargeur automatique de documents, verso" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Chargeur automatique de documents, recto-verso" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, fuzzy, no-c-format msgid "Card Front" msgstr "Avant" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, fuzzy, no-c-format msgid "Card Back" msgstr "Arrière" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Recto-verso" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rouge" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Vert" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Bleu" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, no-c-format msgid "Enhance Red" msgstr "Augmente le rouge" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, no-c-format msgid "Enhance Green" msgstr "Augmente le vert" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Blue" msgstr "Augmente le bleu" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1683,18 +1682,18 @@ msgstr "Augmente le bleu" msgid "None" msgstr "Aucun(e)" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1711,13 +1710,13 @@ msgstr "Recto" msgid "Duplex" msgstr "Recto-verso" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Adaptateur pour transparents" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1830,8 +1829,8 @@ msgstr "Imprimantes à jet d'encre" msgid "CRT monitors" msgstr "Moniteurs à tube cathodique" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Valeur par défaut" @@ -1894,26 +1893,25 @@ msgstr "A4" msgid "Max" msgstr "Max" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Mode de numérisation" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Sélectionne la demi-teinte." -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Exclusion" @@ -1921,27 +1919,27 @@ msgstr "Exclusion" # Dictionnary gives me 'marginal' for dropout. Sounds like # a part of the scan area is 'droped out', I mean excluded. # No, it is one of the colours that is excluded. -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Sélectionne le couleur exclu." -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Sélectionne la brillance." -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Netteté" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Correction de couleur" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" @@ -2033,17 +2031,17 @@ msgstr "Ajoute au rouge en fonction du niveau de bleu" msgid "Controls blue level" msgstr "Contrôle le niveau de bleu" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Effectue une symétrie verticale de l'image." -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Aperçu rapide" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Séparation automatique" @@ -2073,49 +2071,49 @@ msgstr "Définit le facteur de zoom utilisé par le scanner" msgid "Quick format" msgstr "Format rapide" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Equipement optionnel" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Ejecter" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Ejecter la feuille du chargeur automatique" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Ejection automatique" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Ejecte le document après la numérisation" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Mode du chargeur automatique de documents" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" "Sélectionne le mode du chargeur automatique de documents (recto/recto-" "verso)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Baie" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Sélectionne la baie contenant le document à numériser" @@ -2155,7 +2153,7 @@ msgstr "" "Aprés avoir envoyé la commande de numérisation, attendre l'appui du " "bouton avant de commencer la numérisation." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "Infra-rouge" @@ -2185,495 +2183,495 @@ msgstr "Profil de température de couleurs interne" msgid "User defined CCT profile" msgstr "Profil de température de couleurs utilsateur" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Activé" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Aucun" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "Seuil dynamique (DTC)" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "Seuil dynamique simplifié (SDTC)" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Tramage" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, no-c-format msgid "Diffusion" msgstr "Diffusion d'erreur" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, no-c-format msgid "White" msgstr "Blanc" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, no-c-format msgid "Black" msgstr "Noir" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, no-c-format msgid "Continue" msgstr "Continuer" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "Arréter" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "10mm" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "15mm" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "20mm" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, no-c-format msgid "Horizontal bold" msgstr "Horizontal large" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, no-c-format msgid "Horizontal narrow" msgstr "Horizontal étroit" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, no-c-format msgid "Vertical bold" msgstr "Vertical large" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "De haut en bas" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "De bas en haut" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, no-c-format msgid "Front" msgstr "Avant" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "Arrière" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Demi-teinte" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Effectue la calibration" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Accentuation de l'image" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Saturation" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Active la détection automatique du seuil pour la numérisation en mode " "trait." -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Image miroir" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Renverse l'image horizontalement." -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Niveau blanc des bleus" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Contrôle le niveau de rouge" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Filtre de couleur" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Lissage" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Valeur de gamma" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Courbe du seuil" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, fuzzy, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" "Courbe dynamique de seuil, de clair à foncé, normallement entre 50-65" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Seuil" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Réduction du bruit" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Pas de correction" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Pas de correction" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Couvercle du chargeur automatique ouvert" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Options avancées" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Pas de correction" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Exclusion" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Mode de chargement" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2681,65 +2679,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "Temps avant extinction de la lampe" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Décalage des bleus" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Décalage des verts" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Décalage des verts" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Décalage des bleus" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Fixe le décalage pour le bleu" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, fuzzy, no-c-format msgid "Low Memory" msgstr "A court de mémoire" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2748,363 +2746,363 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Numérisation recto-verso" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Options avancées" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Réduction du bruit" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Avec du papier" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Avec du papier" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Avec du papier" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Avec du papier" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "Couvercle du scanner ouvert" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Mise au point manuelle" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Mise au point manuelle" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "erreur de test du matériel" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Niveau blanc" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "Contrôle de densité" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, fuzzy, no-c-format msgid "Density dial" msgstr "Contrôle de densité" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Numérisation recto-verso" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" "Courbe dynamique de seuil, de clair à foncé, normallement entre 50-65" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "Désactiver le mode Trait dynamique" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " @@ -3113,12 +3111,12 @@ msgstr "" "Utilise le mode Trait du matériel, au lieu d'utiliser un algorithme " "logiciel adaptatif." -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "Désactiver l'interpolation" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3128,45 +3126,45 @@ msgstr "" "plus faible que la résolution verticale, ne pas faire d'interpolation " "horizontale." -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtre de couleur" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "En niveaux de gris ou en mode trait, sélectionne la couleur à utiliser." -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibration" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Définit le mode de calibration" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Cache des données de calibration" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "Temps avant extinction de la lampe" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3175,102 +3173,112 @@ msgstr "" "La lampe sera éteinte après ce laps de temps (en minutes). Entrer 0 pour " "ne pas éteindre la lampe automatiquement." -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Eteindre la lampe durant la calibration des noirs" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Délai en minutes avant d'éteindre la lampe après une numérisation." -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, no-c-format msgid "File button" msgstr "Bouton 'fichier'" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "Bouton 'reconnaissance de caractères (OCR)'" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, no-c-format msgid "Power button" msgstr "Bouton 'marche'" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "Bouton 'courrier électronique'" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, no-c-format msgid "Need calibration" msgstr "Calibration requise" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Le scanner a besoin d'être calibré avec les paramètres actuels" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Boutons" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibration" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, no-c-format msgid "Start calibration using special sheet" msgstr "Démarrer la calibration avec la feuille spéciale" -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, no-c-format msgid "Clear calibration" msgstr "Effacer la calibration" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, no-c-format msgid "Clear calibration cache" msgstr "Efface le cache des données de calibration" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Calibration grossière" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptateur pour transparents" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "Couleur du mode niveaux de gris" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Sélectionne la couleur à utiliser en niveaux de gris (défaut: vert)." -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Options de déboggage" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Préchauffage automatique" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3279,12 +3287,12 @@ msgstr "" "Préchauffer jusqu'à ce que l'intensité de la lampe soit constante, au " "lieu d'attendre 60 secondes." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Numérisation complète" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3294,12 +3302,12 @@ msgstr "" "calibration. ATTENTION! Ne pas sélectionner la hauteur complète. " "Seulement pour tester." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Calibration grossière" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3311,13 +3319,13 @@ msgstr "" "manuellement les paramètres gain et décalage dans l'application. Activée " "par défaut. Pour tester seulement." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "" "Utiliser la calibration grosière seulement à la première numérisation" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3329,12 +3337,12 @@ msgstr "" "gagner du temps. Si l'intensité de chaque image est différente, " "désactiver cette option. Seulement pour tester." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "Nombre de lignes de retour arrière" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3347,12 +3355,12 @@ msgstr "" "numérisation. Des valeurs petites permettent une numérisation plus " "rapide, au risque de perdre quelques lignes." -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Valeur de gamma" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Sélectionne la valeur de gamma pour tous les canaux." @@ -3368,7 +3376,7 @@ msgid "Scan Mode Group" msgstr "Mode de numérisation" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Diapositive" @@ -3577,162 +3585,237 @@ msgstr "Allume/éteint la lampe." msgid "Calibrates for black and white level." msgstr "Calibration des niveaux noir et blanc." -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "Chargeur automatique de documents" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, no-c-format msgid "TMA Slides" msgstr "Adaptateur pour transparents - diapositives" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, no-c-format msgid "TMA Negatives" msgstr "Adaptateur pour transparents - négatifs" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, no-c-format msgid "Color (48 bits)" msgstr "Couleur (48 bits)" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, no-c-format msgid "Extend lamp timeout" msgstr "Délai allongé avant extinction de la lampe" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" "Allonge le délai avant l'extinction de la lampe (de 15 minutes à une " "heure)." -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Attendre le bouton" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, no-c-format msgid "Waits for button before scanning" msgstr "Attend l'appui sur le bouton avant la numérisation" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Rafraîchir l'état du bouton" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Compteur de numérisations" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Trait couleur" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "Options avancées" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Grossier" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Précis" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Personnalisé" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Automatique" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "RVB NTSC" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "RVB (pour transparents)" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "Direct" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "Gris NTSC" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "Gris (pour transparents)" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Lent" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Rapide" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Très rapide" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2 pixels" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4 pixels" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8 pixels" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Imprimer" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Film-strip" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "Adaptateur pour transparents" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Conditionnel" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "Essais" @@ -3913,8 +3996,8 @@ msgstr "Eteindre la lampe" msgid "Shut off scanner lamp." msgstr "Eteint la lampe du scanner." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Taille du papier" @@ -3925,8 +4008,7 @@ msgstr "Taille du papier" msgid "Automatic separation" msgstr "Séparation automatique" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 - paysage" @@ -3941,38 +4023,34 @@ msgstr "" msgid "Long paper mode" msgstr "" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Positionne le mode de contrôle de la densité" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Mise au point manuelle" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Mise au point manuelle" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Active la numérisation recto-verso" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Taille physique du papier dans le chargeur" @@ -4088,199 +4166,199 @@ msgstr "" msgid "Legal" msgstr "" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Demi-teinte" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Demi-teinte" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, fuzzy, no-c-format msgid "diffusion" msgstr "Diffusion d'erreur" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normal" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Contraste" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "numériseur de transparents" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Avec du papier" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Valeur par défaut" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Lisse" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Lent" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Moyen" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Rouge" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Vert" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Source de numérisation" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Mode de chargement" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Sélectionne le mode de chargement" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Activer/désactiver la mise au point automatique" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Positionne le mode de contrôle de la densité" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Sélectionne le mode de chargement" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Sélectionne le mode de chargement" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Seuil automatique" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4289,95 +4367,95 @@ msgstr "" "Fixe automatiquement la luminosité, le contraste, le niveau du blanc, le " "gamma, la réduction du bruit et l'accentuation de l'image" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Réduction du bruit" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Réduit le bruit isolé" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Accentuation de l'image" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Sélectionne l'accentuation de l'image" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Lampe allumée" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Allume/éteint la lampe." -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Renverse l'image verticalement." -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -5098,17 +5176,17 @@ msgstr "3x3 - Personnalisé" msgid "2x2 custom" msgstr "2x2 - Personnalisé" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Mode gris rapide" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Numérise rapidement en mode gris (qualité réduite)." -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -5118,82 +5196,82 @@ msgstr "" "qualité). Ce peut etre en noir et blanc, et/ou dans une basse en " "résolution." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Temps avant extinction de la lampe (en minutes)" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Fixe le temps (en minutes) au-delà du quel la lampe est éteinte." -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "Eteint la lampe." -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Eteint la lampe du scanner maintenant" -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Luminosité des rouges" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Contrôle la brillance rouge de l'image à numériser." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Luminosité des verts" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Contrôle la brillance verte de l'image à numériser." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Luminosité des bleus" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Contrôle la brillance bleue de l'image à numériser." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Contraste - rouge" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Contrôle le contraste rouge de l'image à numériser." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Contraste - vert" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Contrôle le contraste vert de l'image à numériser." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Contraste - bleu" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Contrôle le contraste bleu de l'image à numériser." @@ -5237,22 +5315,22 @@ msgstr "" "Préchauffer jusqu'à ce que l'intensité de la lampe soit constante, au " "lieu d'attendre 40 secondes." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Film négatif" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Négatif" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Couleurs précises" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/gl.gmo b/po/gl.gmo deleted file mode 100644 index 8c21b80..0000000 Binary files a/po/gl.gmo and /dev/null differ diff --git a/po/gl.po b/po/gl.po index 8ed8e5d..9197284 100644 --- a/po/gl.po +++ b/po/gl.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2009-06-25 10:22+0100\n" "Last-Translator: Miguel Anxo Bouzada \n" "Language-Team: Galician \n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" -"Plural-Forms: nplurals=2: plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Galician\n" "X-Poedit-Country: SPAIN\n" @@ -31,36 +31,36 @@ msgid "Standard" msgstr "Estándar" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Xeometría" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Optimización" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -88,7 +88,7 @@ msgstr "Forzar vista previa monocroma" msgid "Bit depth" msgstr "Bit de profundidade" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -129,7 +129,7 @@ msgstr "Abaixo-dereita X" msgid "Bottom-right y" msgstr "Abaixo-dereita Y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -285,7 +285,7 @@ msgstr "Nome do ficheiro" msgid "Halftone pattern size" msgstr "Tamaño do patrón de medios tons" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Patrón de medios tons" @@ -297,8 +297,8 @@ msgstr "Ligar resolucións X e Y" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" @@ -989,7 +989,7 @@ msgstr "Predeterminados" msgid "Set default values for enhancement controls." msgstr "Axustar valores predeterminados para os controis de optimización." -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Calibración" @@ -1129,7 +1129,7 @@ msgstr "Negativos" msgid "Slides" msgstr "Diapositivas" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1150,495 +1150,494 @@ msgstr "1/2 da velocidade normal" msgid "1/3 normal speed" msgstr "1/3 da velocidade normal" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "parámetro redondeado" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "descoñecido" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "Atoamento no alimentador" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "A tapa do alimentador está aberta" -#: backend/canon.c:394 +#: backend/canon.c:389 #, no-c-format msgid "lamp failure" msgstr "fallo de lámpada" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "erro no posicionamento do cabezal de escaneo" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "erro de verificación de CPU" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "erro de verificación de RAM" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "erro de verificación de ROM" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "erro de verificación de hardware" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "fallo da lámpada da unidade de transparencias" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" "fallo de posición do cabezal de escaneo da unidade de transparencias" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "erro na lonxitude da lista de parámetros" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "código de orde de operación incorrecto" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "campo incorrecto en CDB" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "LUN non é compatíbel" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "campo incorrecto na lista de parámetros" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "erro na secuencia de ordes" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "especifícanse demasiadas xanelas" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "non se atopa o soporte" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "mensaxe de bit de IDENTIFICACIÓN incorrecta" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "a opción non conecta" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "reiniciar o acendido / reiniciar o bus do dispositivo" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "parámetro cambiado por outro iniciador" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "información sen senso adicional" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "Fallou a volta a escoller" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "erro de paridade SCSI" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "o iniciador detectou a recepción dunha mensaxe de erro" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "mensaxe de erro incorrecta" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "erro de límite de tempo" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "erro de sombreado na unidade de transparencias" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "lámpada non estabilizada" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "escáner de filmes" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "escáner plano" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Tipo de filme" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Escoller o tipo de filme, p.e. negativo ou diapositiva" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, no-c-format msgid "Negative film type" msgstr "Tipo de filme negativo" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "Selecciona o tipo de negativo de filme" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "Resolución do hardware" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "Usar só resolucións do hardware" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "Enfoque" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "Enfoque automático" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "Activar/desactivar enfoque automático" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "Enfoque automático só unha vez" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Facer enfoque automático só unha vez entre expulsións" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "Posición de foco manual" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" "Axustar o sistema óptico de foco na posición manual (predeterminado: " "128)." -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "Marxes de escaneo" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "Axustes de cor extra" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Reflectir a imaxe horizontalmente" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, no-c-format msgid "Mirror the image horizontally" msgstr "Inverter a imaxe horizontalmente" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "Exposición automática" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Activar/desactivar a característica de exposición automática" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, no-c-format msgid "Calibration now" msgstr "Calibrar agora" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, no-c-format msgid "Execute calibration *now*" msgstr "Executar a calibración *agora*" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "Diagnose automatica" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Facer unha diagnose automatica do escáner" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, no-c-format msgid "Reset scanner" msgstr "Reiniciar o escáner" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "Reiniciar o escáner" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "Manexar o soporte" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "Expulsar o filme despois de cada escaneo" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" "Expulsar automaticamente o filme do dispositivo despois de cada escaneo" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "Expulsar o filme antes de saír" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" "Expulsar automaticamente o filme do dispositivo antes de saír do programa" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "Expulsar o filme agora" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "Expulsar o filme *agora*" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" msgstr "Alimentador de documentos extras" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "Só plano" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" "Desactivar o alimentador automático de documentos e usar só o plano" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format msgid "Transparency unit" msgstr "Unidade de transparencias" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" "Activar/desactivar a unidade de transparencias (FAU, unidade adaptadora " "de filme)" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, no-c-format msgid "Negative film" msgstr "Filme en negativo" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, no-c-format msgid "Positive or negative film" msgstr "Filme en positivo ou en negativo" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "Control de densidade" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "Axustar o modo de control de densidade" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, no-c-format msgid "Transparency ratio" msgstr "Taxa de transparencia" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, no-c-format msgid "Select film type" msgstr "Escoller tipo de filme" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "Escoller o tipo de filme" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Plano" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, fuzzy, no-c-format msgid "ADF Front" msgstr "A tapa do alimentador está aberta" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "Atoamento no alimentador" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Alimentador dúplex" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, fuzzy, no-c-format msgid "Card Front" msgstr "Imprimir" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Duas caras" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Vermello" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Verde" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Azul" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Optimización" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Optimización" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Optimización" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1646,18 +1645,18 @@ msgstr "Optimización" msgid "None" msgstr "Ningún" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1674,13 +1673,13 @@ msgstr "Unha cara" msgid "Duplex" msgstr "Duas caras" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Unidade de transparencias" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1793,8 +1792,8 @@ msgstr "Impresoras de inxección de tinta" msgid "CRT monitors" msgstr "Monitores CRT" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Predeterminado" @@ -1857,51 +1856,50 @@ msgstr "A4" msgid "Max" msgstr "Máx" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Modo de escaneo" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Escolle o medios tons" -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Exclusión" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Escoller o que se vai a excluir" -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Escoller o brillo" -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Nitidez" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Corrección da cor" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" @@ -1993,17 +1991,17 @@ msgstr "Engade vermello baseándose no nivel de azul" msgid "Controls blue level" msgstr "Controla o nivel de azul" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Reflectir a imaxe." -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Vista previa rápida" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Segmentación automática da área" @@ -2033,47 +2031,47 @@ msgstr "Define o factor de zoom que vai usar o escáner" msgid "Quick format" msgstr "Formato rápido" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Equipamento opcional" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Expulsar" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Expulsar a folla do alimentador" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Expulsión automática" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Expulsar o documento despois do escaneo" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Modo alimentador" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Escoller o modo do alimentador (unha cara/duas caras)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Badía" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Escolla a badía para escanear" @@ -2115,7 +2113,7 @@ msgstr "" "Despois de enviar a orde de escaneo, agardar até que se prema no botón " "do escáner para comezar verdadeiramente o proceso de escaneo." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "" @@ -2145,494 +2143,494 @@ msgstr "" msgid "User defined CCT profile" msgstr "Definida polo usuario" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Activado" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Desactivado" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Esfumado" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Difusión de erro" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, fuzzy, no-c-format msgid "White" msgstr "Nivel do branco" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, fuzzy, no-c-format msgid "Black" msgstr "Nivel do negro" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, fuzzy, no-c-format msgid "Continue" msgstr "Condicional" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Horizontal" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Horizontal" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Vertical" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, fuzzy, no-c-format msgid "Front" msgstr "Imprimir" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Medios tons" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Calibración de precisión" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Destaque da imaxe" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Saturación" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Activar a determinación automática do limiar para escaneos como liña de " "arte." -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Reflectir a imaxe horizontalmente" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Reflectir a imaxe en horizontal" -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Nivel do branco para azul" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Controla o nivel de vermello" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Filtro de cor" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Suavizado" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Valor gamma" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Limiar" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Limiar" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Redución de ruído" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Sen corrección" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Sen corrección" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "A tapa do alimentador está aberta" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Opcions avanzadas" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Sen corrección" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Exclusión" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Modo de alimentación" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2640,65 +2638,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "Tempo para apagado da lámpada" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Desviación azul" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Desviación verde" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Desviación verde" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Desviación azul" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Axusta o desprazamento da canle azul" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, fuzzy, no-c-format msgid "Low Memory" msgstr "Non queda memoria" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2707,374 +2705,374 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Escaneo dúplex" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Opcions avanzadas" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Redución de ruído" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, fuzzy, no-c-format msgid "A3 paper" msgstr "De papel" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, fuzzy, no-c-format msgid "B4 paper" msgstr "De papel" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, fuzzy, no-c-format msgid "A4 paper" msgstr "De papel" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, fuzzy, no-c-format msgid "B5 paper" msgstr "De papel" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "A tapa do escáner está aberta" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Foco previo manual" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Foco previo manual" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "erro de verificación de hardware" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Nivel do branco" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "Control de densidade" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, fuzzy, no-c-format msgid "Density dial" msgstr "Control de densidade" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Escaneo dúplex" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "Desactivar interpolación" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3083,45 +3081,45 @@ msgstr "" "Cando se usan altas resolucións nas que a resolución horizontal é máis " "pequena que a vertical, isto desactiva a interpolación horizontal." -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtro de cor" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Cando se usa gris ou liña de arte esta opción selecciona a cor a usar." -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibración" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definir o modo de calibración" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Caché de datos de calibración" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "Tempo para apagado da lámpada" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3130,103 +3128,113 @@ msgstr "" "A lámpada vai ser apagada despois do tempo indicado (en minutos). Un " "valor de 0 significa que a lámpada no vai ser apagada." -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Apagar a lámpada durante a calibración de escuridade" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Minutos que tardará a lámpada en apagarse despois do escaneo" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, no-c-format msgid "File button" msgstr "Botón de ficheiro" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "Botón de OCR" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, no-c-format msgid "Power button" msgstr "Botón de enerxía" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "Botón de correo-e" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Limpar a calibración" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Forza a calibrar o escáner antes de facer o escaneo" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Botóns" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibrar" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, no-c-format msgid "Start calibration using special sheet" msgstr "Iniciar a calibración usando unha folla especial" -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, no-c-format msgid "Clear calibration" msgstr "Limpar a calibración" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, no-c-format msgid "Clear calibration cache" msgstr "Limpar a caché de datos de calibración" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Calibración grosa" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptador de transparencias" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "Cor en modo gris" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Escolle que cor de escaneo vai ser usada en modo gris (predefinido: " "verde)." -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Opcións de depuración" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Quecemento automático" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3235,12 +3243,12 @@ msgstr "" "Quecer até que o brillo da lámpada sexa constante no canto de agardar " "polos 60 segundos de quecemento." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Escaneo completo" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3249,12 +3257,12 @@ msgstr "" "Escanear toda a área de escaneo incluindo a franxa de calibración. Teña " "cuidado. Non seleccione a altura total. Só para probas." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Calibración grosa" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3266,12 +3274,12 @@ msgstr "" "parámetros de xeito manual na interface analóxica. Esta opción está " "activada como predefinida. Só para probas." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Calibración grosa só para o primeiro escaneo" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3283,12 +3291,12 @@ msgstr "" "imaxe é diferente con cada escaneo, desactive esta opción. Só para " "probas." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "Liñas de retroceso" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3303,12 +3311,12 @@ msgstr "" "recibir datos. Valores baixos fan que os escaneos sexan más rápidos, " "pero aumentan os riscos de omitir liñas." -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Valor gamma" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Axusta o valor gamma para todas as canles." @@ -3324,7 +3332,7 @@ msgid "Scan Mode Group" msgstr "Grupo de modo de escaneo" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Diapositiva" @@ -3533,160 +3541,235 @@ msgstr "Acende ou apaga a lámpada" msgid "Calibrates for black and white level." msgstr "Calibrar o nivel de branco e negro." -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "Alimentador automático de documentos (ADF)" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, no-c-format msgid "TMA Slides" msgstr "Adaptador (TMA) para diapositivas" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, no-c-format msgid "TMA Negatives" msgstr "Adaptador (TMA) para negativos" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, no-c-format msgid "Color (48 bits)" msgstr "Cor (48 bits)" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, no-c-format msgid "Extend lamp timeout" msgstr "Retardar o tempo de apagado da lámpada" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Retarda os tempos de apagado da lámpada (de 15 minutos a 1 hora)" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Agardando polo botón" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, no-c-format msgid "Waits for button before scanning" msgstr "Agardando polo botón antes de escanear" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Actualizar estado do botón" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Contador de escaneos" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Liña de arte coloreada" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "Opcions avanzadas" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Groso" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Fina" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Personalizado" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Automático" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "Adaptador de transparencias RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "A través" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "NTSC Gris" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "Adaptador de transparencias gris" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Lento" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Rápido" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Moi rápido" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2-píxeles" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4-píxeles" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8-píxeles" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Imprimir" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Tira de filme" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "Adaptador de transparencias (XPA)" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Condicional" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "Experimento" @@ -3868,8 +3951,8 @@ msgstr "Apagar lámpada" msgid "Shut off scanner lamp." msgstr "Apagar a lámpada do escáner." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Tamaño do papel" @@ -3880,8 +3963,7 @@ msgstr "Tamaño do papel" msgid "Automatic separation" msgstr "Separación automática" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 apaisado" @@ -3896,38 +3978,34 @@ msgstr "" msgid "Long paper mode" msgstr "" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Axustar o modo de control de densidade" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Foco previo manual" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Foco previo manual" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Activa o escaneo polas dúas caras" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Tamaño físico do papel no alimentador" @@ -4043,199 +4121,199 @@ msgstr "" msgid "Legal" msgstr "" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Medios tons" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Medios tons" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, fuzzy, no-c-format msgid "diffusion" msgstr "Difusión de erro" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normal" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Resaltar" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "escáner de filmes" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "De papel" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Predeterminado" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Suave" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Lento" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Soporte" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Vermello" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Verde" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Orixe de escaneo" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Modo de alimentación" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Axusta o modo de alimentación" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Activar/desactivar enfoque automático" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Axustar o modo de control de densidade" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Axusta o modo de alimentación" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Axusta o modo de alimentación" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Limiar automático" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4244,95 +4322,95 @@ msgstr "" "Axusta automaticamente o brillo, contraste, niveis de branco, gamma e " "redución da intensidade do ruído da imaxe" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Redución de ruído" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Reduce os puntos illados de ruído" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Destaque da imaxe" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Axusta o destaque da imaxe" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Acender lámpada" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Acende ou apaga a lámpada" -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Reflectir a imaxe en verticalv" -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -5053,17 +5131,17 @@ msgstr "3x3 personalizado" msgid "2x2 custom" msgstr "2x2 personalizado" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Modo gris rápido" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Escanear en modo gris rápido (menor calidade)." -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -5072,82 +5150,82 @@ msgstr "" "Precisa que todas as vistas previas se fagan do modo máis rápido (baixa " "calidade). Este pode ser un modo sen cor ou un modo de baixa resolución." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Tempo de apagado de lámpada (minutos)" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Axusta o tempo (en minutos) tras o que se apagará a lámpada." -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "Apagar a lámpada" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Apaga a lámpada inmediatamente." -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Brillo de vermello" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Controla o brillo da canle de vermello da imaxe obtida." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Brillo de verde" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Controla o brillo da canle de verde da imaxe obtida." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Brillo de azul" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Controla o brillo da canle de azul da imaxe obtida." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Contraste da canle vermella" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Controla o contraste da canle vermella da imaxe obtida." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Contraste da canle verde" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Controla o contraste da canle verde da imaxe obtida." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Contraste da canle azul" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Controla o contraste da canle azul da imaxe obtida." @@ -5191,22 +5269,22 @@ msgstr "" "Quecer até que o brillo da lámpada sexa constante no canto de agardar " "polos 40 segundos de quecemento." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Filme en negativo" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Cor fina" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/he.po b/po/he.po new file mode 100644 index 0000000..1671ffe --- /dev/null +++ b/po/he.po @@ -0,0 +1,6495 @@ +# Hebrew translation of sane-backends. +# Copyright (C) 2018 The SANE developers +# This file is distributed under the same license as the sane-backends package. +# Elishai Shkury , 2018 +# +msgid "" +msgstr "" +"Project-Id-Version: sane-backends 1.0.27git\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"PO-Revision-Date: 2018-09-16 22:30+0300\n" +"Last-Translator: Elishai Shkury \n" +"Language-Team: Hebrew\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" + +#: include/sane/saneopts.h:154 +#, no-c-format +msgid "Number of options" +msgstr "מספר אפשרויות" + +#: include/sane/saneopts.h:156 +#, no-c-format +msgid "Standard" +msgstr "סטנדרט" + +#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 +#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 +#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 +#, no-c-format +msgid "Geometry" +msgstr "גיאומטריה" + +#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 +#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 +#, no-c-format +msgid "Enhancement" +msgstr "הגדלה" + +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 +#, no-c-format +msgid "Advanced" +msgstr "מתקדם" + +#: include/sane/saneopts.h:160 +#, no-c-format +msgid "Sensors" +msgstr "חיישנים" + +#: include/sane/saneopts.h:162 +#, no-c-format +msgid "Preview" +msgstr "תצוגה מקדימה" + +#: include/sane/saneopts.h:163 +#, no-c-format +msgid "Force monochrome preview" +msgstr "אלץ תצוגה מקדימה מונוכרומטית" + +#: include/sane/saneopts.h:164 +#, no-c-format +msgid "Bit depth" +msgstr "עומק ביט" + +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 +#: backend/pixma_sane_options.c:47 +#, no-c-format +msgid "Scan mode" +msgstr "מצב סריקה" + +#: include/sane/saneopts.h:166 +#, no-c-format +msgid "Scan speed" +msgstr "מהירות סריקה" + +#: include/sane/saneopts.h:167 +#, no-c-format +msgid "Scan source" +msgstr "מקור סריקה" + +#: include/sane/saneopts.h:168 +#, no-c-format +msgid "Force backtracking" +msgstr "אלץ מעקב אחורי" + +#: include/sane/saneopts.h:169 +#, no-c-format +msgid "Top-left x" +msgstr "Top-left x" + +#: include/sane/saneopts.h:170 +#, no-c-format +msgid "Top-left y" +msgstr "Top-left y" + +#: include/sane/saneopts.h:171 +#, no-c-format +msgid "Bottom-right x" +msgstr "Bottom-right x" + +#: include/sane/saneopts.h:172 +#, no-c-format +msgid "Bottom-right y" +msgstr "Bottom-right y" + +#: include/sane/saneopts.h:173 backend/canon.c:1216 +#: backend/pixma_sane_options.c:300 +#, no-c-format +msgid "Scan resolution" +msgstr "רזולוציית סריקה" + +#: include/sane/saneopts.h:174 +#, no-c-format +msgid "X-resolution" +msgstr "רזולוציה-X" + +#: include/sane/saneopts.h:175 +#, no-c-format +msgid "Y-resolution" +msgstr "רזולוציה-Y" + +#: include/sane/saneopts.h:176 +#, no-c-format +msgid "Page width" +msgstr "רוחב עמוד" + +#: include/sane/saneopts.h:177 +#, no-c-format +msgid "Page height" +msgstr "גובה עמוד" + +#: include/sane/saneopts.h:178 +#, no-c-format +msgid "Use custom gamma table" +msgstr "השתמש בטבלת גמה מותאמת אישית" + +#: include/sane/saneopts.h:179 +#, no-c-format +msgid "Image intensity" +msgstr "עומק תמונה" + +#: include/sane/saneopts.h:180 +#, no-c-format +msgid "Red intensity" +msgstr "עומק אדום" + +#: include/sane/saneopts.h:181 +#, no-c-format +msgid "Green intensity" +msgstr "עומק ירוק" + +#: include/sane/saneopts.h:182 +#, no-c-format +msgid "Blue intensity" +msgstr "עומק כחול" + +#: include/sane/saneopts.h:183 +#, no-c-format +msgid "Brightness" +msgstr "בהירות" + +#: include/sane/saneopts.h:184 +#, no-c-format +msgid "Contrast" +msgstr "ניגודיות" + +#: include/sane/saneopts.h:185 +#, no-c-format +msgid "Grain size" +msgstr "גודל גרגיר" + +#: include/sane/saneopts.h:186 +#, no-c-format +msgid "Halftoning" +msgstr "הדפסת רשת" + +#: include/sane/saneopts.h:187 +#, no-c-format +msgid "Black level" +msgstr "רמת שחור" + +#: include/sane/saneopts.h:188 +#, no-c-format +msgid "White level" +msgstr "רמת לבן" + +#: include/sane/saneopts.h:189 +#, no-c-format +msgid "White level for red" +msgstr "רמת לבן עבור אדום" + +#: include/sane/saneopts.h:190 +#, no-c-format +msgid "White level for green" +msgstr "רמת לבן עבור ירוק" + +#: include/sane/saneopts.h:191 +#, no-c-format +msgid "White level for blue" +msgstr "רמת לבן עבור כחול" + +#: include/sane/saneopts.h:192 +#, no-c-format +msgid "Shadow" +msgstr "צל" + +#: include/sane/saneopts.h:193 +#, no-c-format +msgid "Shadow for red" +msgstr "צל עבור אדום" + +#: include/sane/saneopts.h:194 +#, no-c-format +msgid "Shadow for green" +msgstr "צל עבור ירוק" + +#: include/sane/saneopts.h:195 +#, no-c-format +msgid "Shadow for blue" +msgstr "צל עבור כחול" + +#: include/sane/saneopts.h:196 +#, no-c-format +msgid "Highlight" +msgstr "הדגשה" + +#: include/sane/saneopts.h:197 +#, no-c-format +msgid "Highlight for red" +msgstr "הדגשה עבור אדום" + +#: include/sane/saneopts.h:198 +#, no-c-format +msgid "Highlight for green" +msgstr "הדגשה עבור ירוק" + +#: include/sane/saneopts.h:199 +#, no-c-format +msgid "Highlight for blue" +msgstr "הדגשה עבור כחול" + +#: include/sane/saneopts.h:200 +#, no-c-format +msgid "Hue" +msgstr "גוון" + +#: include/sane/saneopts.h:201 +#, no-c-format +msgid "Saturation" +msgstr "רוויה" + +#: include/sane/saneopts.h:202 +#, no-c-format +msgid "Filename" +msgstr "שם קובץ" + +#: include/sane/saneopts.h:203 +#, no-c-format +msgid "Halftone pattern size" +msgstr "גודל תבנית הדפסת רשת" + +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#, no-c-format +msgid "Halftone pattern" +msgstr "תבנית הדפסת רשת" + +#: include/sane/saneopts.h:205 +#, no-c-format +msgid "Bind X and Y resolution" +msgstr "קשור רזולוציה X ו-Y" + +#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 +#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 +#, no-c-format +msgid "Negative" +msgstr "תשליל" + +#: include/sane/saneopts.h:207 +#, no-c-format +msgid "Quality calibration" +msgstr "כיול איכות" + +#: include/sane/saneopts.h:208 +#, no-c-format +msgid "Double Optical Resolution" +msgstr "רזולוציה אופטית כפולה" + +#: include/sane/saneopts.h:209 +#, no-c-format +msgid "Bind RGB" +msgstr "קשור RGB" + +#: include/sane/saneopts.h:210 backend/sm3840.c:770 +#, no-c-format +msgid "Threshold" +msgstr "סף" + +#: include/sane/saneopts.h:211 +#, no-c-format +msgid "Analog gamma correction" +msgstr "תיקון גמה אנלוגית" + +#: include/sane/saneopts.h:212 +#, no-c-format +msgid "Analog gamma red" +msgstr "אדום גמה אנלוגית" + +#: include/sane/saneopts.h:213 +#, no-c-format +msgid "Analog gamma green" +msgstr "ירוק גמה אנלוגית" + +#: include/sane/saneopts.h:214 +#, no-c-format +msgid "Analog gamma blue" +msgstr "כחול גמה אנלוגית" + +#: include/sane/saneopts.h:215 +#, no-c-format +msgid "Bind analog gamma" +msgstr "קשור גמה אנלוגית" + +#: include/sane/saneopts.h:216 +#, no-c-format +msgid "Warmup lamp" +msgstr "מנורת חימום" + +#: include/sane/saneopts.h:217 +#, no-c-format +msgid "Cal. exposure-time" +msgstr "חשיפת כיול-זמן" + +#: include/sane/saneopts.h:218 +#, no-c-format +msgid "Cal. exposure-time for red" +msgstr "חשיפת כיול-זמן לאדום" + +#: include/sane/saneopts.h:219 +#, no-c-format +msgid "Cal. exposure-time for green" +msgstr "חשיפת כיול-זמן לירוק" + +#: include/sane/saneopts.h:221 +#, no-c-format +msgid "Cal. exposure-time for blue" +msgstr "חשיפת כיול-זמן לכחול" + +#: include/sane/saneopts.h:222 +#, no-c-format +msgid "Scan exposure-time" +msgstr "חשיפת סריקה-זמן" + +#: include/sane/saneopts.h:223 +#, no-c-format +msgid "Scan exposure-time for red" +msgstr "חשיפת סריקה-זמן לאדום" + +#: include/sane/saneopts.h:224 +#, no-c-format +msgid "Scan exposure-time for green" +msgstr "חשיפת סריקה-זמן לירוק" + +#: include/sane/saneopts.h:226 +#, no-c-format +msgid "Scan exposure-time for blue" +msgstr "חשיפת סריקה-זמן לכחול" + +#: include/sane/saneopts.h:227 +#, no-c-format +msgid "Set exposure-time" +msgstr "חשיפת מערכת-זמן" + +#: include/sane/saneopts.h:228 +#, no-c-format +msgid "Cal. lamp density" +msgstr "צפיפות מנורת כיול" + +#: include/sane/saneopts.h:229 +#, no-c-format +msgid "Scan lamp density" +msgstr "צפיפות מנורת סריקה" + +#: include/sane/saneopts.h:230 +#, no-c-format +msgid "Set lamp density" +msgstr "צפיפות מנורת מערכת" + +#: include/sane/saneopts.h:231 backend/umax.c:5829 +#, no-c-format +msgid "Lamp off at exit" +msgstr "מנורה כבויה ביציאה" + +#: include/sane/saneopts.h:245 +#, no-c-format +msgid "" +"Read-only option that specifies how many options a specific devices " +"supports." +msgstr "אפשרות קריאה-בלבד המפרטת כמה אפשרויות נתמכות בהתקן מסוים." + +#: include/sane/saneopts.h:248 +#, no-c-format +msgid "Source, mode and resolution options" +msgstr "אפשרויות מקור, מצב ורזולוציה" + +#: include/sane/saneopts.h:249 +#, no-c-format +msgid "Scan area and media size options" +msgstr "אפשרויות שטח סריקה וגודל מדיה" + +#: include/sane/saneopts.h:250 +#, no-c-format +msgid "Image modification options" +msgstr "אפשרויות שינוי תמונה" + +#: include/sane/saneopts.h:251 +#, no-c-format +msgid "Hardware specific options" +msgstr "אפשרויות תלויות חומרה" + +#: include/sane/saneopts.h:252 +#, no-c-format +msgid "Scanner sensors and buttons" +msgstr "חיישני וכפתורי סורק" + +#: include/sane/saneopts.h:255 +#, no-c-format +msgid "Request a preview-quality scan." +msgstr "בקש סריקת איכות-מקדימה." + +#: include/sane/saneopts.h:258 +#, no-c-format +msgid "" +"Request that all previews are done in monochrome mode. On a three-pass " +"scanner this cuts down the number of passes to one and on a one-pass " +"scanner, it reduces the memory requirements and scan-time of the preview." +msgstr "" +"בקש שכל הסריקות המקדימות יבוצעו במצב מונוכרום. בסורק תלת-מעברי זה מוריד " +"את מספר המעברים לאחד ובסורק חד-מעברי, זה מוריד את דרישות הזיכרון וזמן " +"הסריקה של הסריקה המקדימה." + +#: include/sane/saneopts.h:264 +#, no-c-format +msgid "" +"Number of bits per sample, typical values are 1 for \"line-art\" and 8 " +"for multibit scans." +msgstr "" +"מספר ביטים פר דגימה, ערכים טיפוסיים הם 1 ל-\"סגנון-קווי\" ו-8 לסריקות " +"מרובות ביטים." + +#: include/sane/saneopts.h:268 +#, no-c-format +msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." +msgstr "בוחר את מצב הסריקה (למשל, סגנון קווי, מונוכרום, או צבע)." + +#: include/sane/saneopts.h:271 +#, no-c-format +msgid "Determines the speed at which the scan proceeds." +msgstr "קובע את המהירות בה הסריקה מתקדמת." + +#: include/sane/saneopts.h:274 +#, no-c-format +msgid "Selects the scan source (such as a document-feeder)." +msgstr "בוחר את מקור הסריקה (כמו מזין מסמכים)." + +#: include/sane/saneopts.h:277 +#, no-c-format +msgid "Controls whether backtracking is forced." +msgstr "קובע האם מעקב אחורי מאולץ." + +#: include/sane/saneopts.h:280 +#, no-c-format +msgid "Top-left x position of scan area." +msgstr "מיקום x שמאלי-עליון של שטח הסריקה." + +#: include/sane/saneopts.h:283 +#, no-c-format +msgid "Top-left y position of scan area." +msgstr "מיקום y שמאלי-עליון של שטח הסריקה." + +#: include/sane/saneopts.h:286 +#, no-c-format +msgid "Bottom-right x position of scan area." +msgstr "מיקום x ימני-תחתון של שטח הסריקה." + +#: include/sane/saneopts.h:289 +#, no-c-format +msgid "Bottom-right y position of scan area." +msgstr "מיקום y ימני-תחתון של שטח הסריקה." + +#: include/sane/saneopts.h:292 +#, no-c-format +msgid "Sets the resolution of the scanned image." +msgstr "קובע את הרזולוציה של התמונה הנסרקת." + +#: include/sane/saneopts.h:295 +#, no-c-format +msgid "Sets the horizontal resolution of the scanned image." +msgstr "קובע את הרזולוציה האופקית של התמונה הנסרקת." + +#: include/sane/saneopts.h:298 +#, no-c-format +msgid "Sets the vertical resolution of the scanned image." +msgstr "קובע את הרזולוציה האנכית של התמונה הנסרקת." + +#: include/sane/saneopts.h:301 +#, no-c-format +msgid "" +"Specifies the width of the media. Required for automatic centering of " +"sheet-fed scans." +msgstr "" +"מציין את הרוחב של המדיה. נדרש עבור מרכוז אוטומטי של סריקות מוזנות דפים." + +#: include/sane/saneopts.h:305 +#, no-c-format +msgid "Specifies the height of the media." +msgstr "מציין את הגובה של המדיה." + +#: include/sane/saneopts.h:308 +#, no-c-format +msgid "" +"Determines whether a builtin or a custom gamma-table should be used." +msgstr "קובע האם טבלת גמה מובנית או מותאמת אישית תהיה בשימוש." + +#: include/sane/saneopts.h:312 +#, no-c-format +msgid "" +"Gamma-correction table. In color mode this option equally affects the " +"red, green, and blue channels simultaneously (i.e., it is an intensity " +"gamma table)." +msgstr "" +"טבלת תיקון גמה. במצב צבע אפשרות זו משפיעה באופן שווה על ערוצי אדום, " +"ירוק, וכחול בו זמנית (זאת אומרת, זו טבלת עוצמת גמה)." + +#: include/sane/saneopts.h:317 +#, no-c-format +msgid "Gamma-correction table for the red band." +msgstr "טבלת תיקון גמה עבור הפס האדום." + +#: include/sane/saneopts.h:320 +#, no-c-format +msgid "Gamma-correction table for the green band." +msgstr "טבלת תיקון גמה עבור הפס הירוק." + +#: include/sane/saneopts.h:323 +#, no-c-format +msgid "Gamma-correction table for the blue band." +msgstr "טבלת תיקון גמה עבור הפס הכחול." + +#: include/sane/saneopts.h:326 +#, no-c-format +msgid "Controls the brightness of the acquired image." +msgstr "קובע את הבהירות של התמונה הנסרקת." + +#: include/sane/saneopts.h:329 +#, no-c-format +msgid "Controls the contrast of the acquired image." +msgstr "קובע את הניגודיות של התמונה הנסרקת." + +#: include/sane/saneopts.h:332 +#, no-c-format +msgid "" +"Selects the \"graininess\" of the acquired image. Smaller values result " +"in sharper images." +msgstr "" +"בוחר את \"מידת הגרגיר\" של התמונה הנסרקת. ערכים נמוכים יותר גורמים " +"לתמונות חדות יותר." + +#: include/sane/saneopts.h:336 +#, no-c-format +msgid "Selects whether the acquired image should be halftoned (dithered)." +msgstr "בוחר האם התמונה הנסרקת תהיה בהדפסת רשת (dithered)." + +#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 +#, no-c-format +msgid "Selects what radiance level should be considered \"black\"." +msgstr "בוחר איזו רמת קרינה תיחשב \"שחור\"." + +#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 +#, no-c-format +msgid "Selects what radiance level should be considered \"white\"." +msgstr "בוחר איזו רמת קרינה תיחשב \"לבן\"." + +#: include/sane/saneopts.h:345 +#, no-c-format +msgid "Selects what red radiance level should be considered \"white\"." +msgstr "בוחר איזו רמת קרינה אדומה תיחשב \"לבן\"." + +#: include/sane/saneopts.h:348 +#, no-c-format +msgid "Selects what green radiance level should be considered \"white\"." +msgstr "בוחר איזו רמת קרינה ירוקה תיחשב \"לבן\"." + +#: include/sane/saneopts.h:351 +#, no-c-format +msgid "Selects what blue radiance level should be considered \"white\"." +msgstr "בוחר איזו רמת קרינה כחולה תיחשב \"לבן\"." + +#: include/sane/saneopts.h:356 +#, no-c-format +msgid "Selects what red radiance level should be considered \"black\"." +msgstr "בוחר איזו רמת קרינה אדומה תיחשב \"שחור\"." + +#: include/sane/saneopts.h:358 +#, no-c-format +msgid "Selects what green radiance level should be considered \"black\"." +msgstr "בוחר איזו רמת קרינה ירוקה תיחשב \"שחור\"." + +#: include/sane/saneopts.h:360 +#, no-c-format +msgid "Selects what blue radiance level should be considered \"black\"." +msgstr "בוחר איזו רמת קרינה כחולה תיחשב \"שחור\"." + +#: include/sane/saneopts.h:365 +#, no-c-format +msgid "Selects what red radiance level should be considered \"full red\"." +msgstr "בוחר איזו רמת קרינה אדומה תיחשב \"אדום מלא\"." + +#: include/sane/saneopts.h:367 +#, no-c-format +msgid "" +"Selects what green radiance level should be considered \"full green\"." +msgstr "בוחר איזו רמת קרינה ירוקה תיחשב \"ירוק מלא\"." + +#: include/sane/saneopts.h:370 +#, no-c-format +msgid "" +"Selects what blue radiance level should be considered \"full blue\"." +msgstr "בוחר איזו רמת קרינה כחולה תיחשב \"כחול מלא\"." + +#: include/sane/saneopts.h:374 +#, no-c-format +msgid "Controls the \"hue\" (blue-level) of the acquired image." +msgstr "קובע את ה\"גוון\" (רמת כחול) של התמונה הנסרקת." + +#: include/sane/saneopts.h:377 +#, no-c-format +msgid "" +"The saturation level controls the amount of \"blooming\" that occurs " +"when acquiring an image with a camera. Larger values cause more blooming." +msgstr "" +"רמת הרוויה קובעת את מידת ה\"רעננות\" בעת צילום תמונה עם מצלמה. ערכים " +"גבוהים יותר גורמים לרעננות גדולה יותר." + +#: include/sane/saneopts.h:382 +#, no-c-format +msgid "The filename of the image to be loaded." +msgstr "שם הקובץ של התמונה שתיפתח." + +#: include/sane/saneopts.h:385 +#, no-c-format +msgid "" +"Sets the size of the halftoning (dithering) pattern used when scanning " +"halftoned images." +msgstr "" +"קובע את גודל התבנית של הדפסת הרשת (dithering) בשימוש בסריקה של תמונות " +"בהדפסת רשת." + +#: include/sane/saneopts.h:389 +#, no-c-format +msgid "" +"Defines the halftoning (dithering) pattern for scanning halftoned images." +msgstr "מגדיר את תבנית הדפסת הרשת (dithering) לסריקת תמונות בהדפסת רשת." + +#: include/sane/saneopts.h:393 +#, no-c-format +msgid "Use same values for X and Y resolution" +msgstr "השתמש בערכים זהים עבור רזולוציה X ו-Y" + +#: include/sane/saneopts.h:395 +#, no-c-format +msgid "Swap black and white" +msgstr "החלף שחור ולבן" + +#: include/sane/saneopts.h:397 +#, no-c-format +msgid "Do a quality white-calibration" +msgstr "בצע כיול לבן איכותי" + +#: include/sane/saneopts.h:399 +#, no-c-format +msgid "Use lens that doubles optical resolution" +msgstr "השתמש בעדשות שמכפילות את הרזולוציה האופטית" + +#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 +#, no-c-format +msgid "In RGB-mode use same values for each color" +msgstr "במצב RGB השתמש באותם ערכים לכל צבע" + +#: include/sane/saneopts.h:403 +#, no-c-format +msgid "Select minimum-brightness to get a white point" +msgstr "בחר בהירות מינימלית לקבלת נקודה לבנה" + +#: include/sane/saneopts.h:405 +#, no-c-format +msgid "Analog gamma-correction" +msgstr "תיקון גמה אנלוגית" + +#: include/sane/saneopts.h:407 +#, no-c-format +msgid "Analog gamma-correction for red" +msgstr "תיקון גמה אנלוגית עבור אדום" + +#: include/sane/saneopts.h:409 +#, no-c-format +msgid "Analog gamma-correction for green" +msgstr "תיקון גמה אנלוגית עבור ירוק" + +#: include/sane/saneopts.h:411 +#, no-c-format +msgid "Analog gamma-correction for blue" +msgstr "תיקון גמה אנלוגית עבור כחול" + +#: include/sane/saneopts.h:415 +#, no-c-format +msgid "Warmup lamp before scanning" +msgstr "חמם מנורה לפני סריקה" + +#: include/sane/saneopts.h:417 +#, no-c-format +msgid "Define exposure-time for calibration" +msgstr "הגדר זמן חשיפה לכיול" + +#: include/sane/saneopts.h:419 +#, no-c-format +msgid "Define exposure-time for red calibration" +msgstr "הגדר זמן חשיפה עבור כיול אדום" + +#: include/sane/saneopts.h:421 +#, no-c-format +msgid "Define exposure-time for green calibration" +msgstr "הגדר זמן חשיפה עבור כיול ירוק" + +#: include/sane/saneopts.h:423 +#, no-c-format +msgid "Define exposure-time for blue calibration" +msgstr "הגדר זמן חשיפה עבור כיול כחול" + +#: include/sane/saneopts.h:425 +#, no-c-format +msgid "Define exposure-time for scan" +msgstr "הגדר זמן חשיפה עבור סריקה" + +#: include/sane/saneopts.h:427 +#, no-c-format +msgid "Define exposure-time for red scan" +msgstr "הגדר זמן חשיפה עבור סריקה אדומה" + +#: include/sane/saneopts.h:429 +#, no-c-format +msgid "Define exposure-time for green scan" +msgstr "הגדר זמן חשיפה עבור סריקה ירוקה" + +#: include/sane/saneopts.h:431 +#, no-c-format +msgid "Define exposure-time for blue scan" +msgstr "הגדר זמן חשיפה עבור סריקה כחולה" + +#: include/sane/saneopts.h:433 +#, no-c-format +msgid "Enable selection of exposure-time" +msgstr "הפעל בחירה של זמן חשיפה" + +#: include/sane/saneopts.h:435 +#, no-c-format +msgid "Define lamp density for calibration" +msgstr "הגדר צפיפות מנורה עבור כיול" + +#: include/sane/saneopts.h:437 +#, no-c-format +msgid "Define lamp density for scan" +msgstr "הגדר צפיפות מנורה עבור סריקה" + +#: include/sane/saneopts.h:439 +#, no-c-format +msgid "Enable selection of lamp density" +msgstr "הפעל בחירה של צפיפות מנורה" + +#: include/sane/saneopts.h:441 backend/umax.c:5830 +#, no-c-format +msgid "Turn off lamp when program exits" +msgstr "כבה מנורה כאשר יוצאים מהיישום" + +#: include/sane/saneopts.h:444 +#, no-c-format +msgid "Scan button" +msgstr "כפתור סריקה" + +#: include/sane/saneopts.h:445 +#, no-c-format +msgid "Email button" +msgstr "כפתור אימייל" + +#: include/sane/saneopts.h:446 +#, no-c-format +msgid "Fax button" +msgstr "כפתור פקס" + +#: include/sane/saneopts.h:447 +#, no-c-format +msgid "Copy button" +msgstr "כפתור העתקה" + +#: include/sane/saneopts.h:448 +#, no-c-format +msgid "PDF button" +msgstr "כפתור PDF" + +#: include/sane/saneopts.h:449 +#, no-c-format +msgid "Cancel button" +msgstr "כפתור ביטול" + +#: include/sane/saneopts.h:450 +#, no-c-format +msgid "Page loaded" +msgstr "דף טעון" + +#: include/sane/saneopts.h:451 +#, no-c-format +msgid "Cover open" +msgstr "מכסה פתוח" + +#: include/sane/saneopts.h:454 +#, no-c-format +msgid "Color" +msgstr "צבע" + +#: include/sane/saneopts.h:455 +#, no-c-format +msgid "Color Lineart" +msgstr "צבע סגנון קווי" + +#: include/sane/saneopts.h:456 +#, no-c-format +msgid "Color Halftone" +msgstr "צבע הדפסת רשת" + +#: include/sane/saneopts.h:457 +#, no-c-format +msgid "Gray" +msgstr "אפור" + +#: include/sane/saneopts.h:458 +#, no-c-format +msgid "Halftone" +msgstr "הדפסת רשת" + +#: include/sane/saneopts.h:459 +#, no-c-format +msgid "Lineart" +msgstr "סגנון קווי" + +#: backend/sane_strstatus.c:59 +#, no-c-format +msgid "Success" +msgstr "הצלחה" + +#: backend/sane_strstatus.c:62 +#, no-c-format +msgid "Operation not supported" +msgstr "הפעלה לא נתמכת" + +#: backend/sane_strstatus.c:65 +#, no-c-format +msgid "Operation was cancelled" +msgstr "הפעלה בוטלה" + +#: backend/sane_strstatus.c:68 +#, no-c-format +msgid "Device busy" +msgstr "התקן תפוס" + +#: backend/sane_strstatus.c:71 +#, no-c-format +msgid "Invalid argument" +msgstr "ארגומנט לא חוקי" + +#: backend/sane_strstatus.c:74 +#, no-c-format +msgid "End of file reached" +msgstr "סוף הקובץ הושג" + +#: backend/sane_strstatus.c:77 +#, no-c-format +msgid "Document feeder jammed" +msgstr "מזין מסמכים תקוע" + +#: backend/sane_strstatus.c:80 +#, no-c-format +msgid "Document feeder out of documents" +msgstr "מזין מסמכים ללא מסמכים" + +#: backend/sane_strstatus.c:83 +#, no-c-format +msgid "Scanner cover is open" +msgstr "מכסה סורק פתוח" + +#: backend/sane_strstatus.c:86 +#, no-c-format +msgid "Error during device I/O" +msgstr "תקלה במהלך קלט/פלט של ההתקן" + +#: backend/sane_strstatus.c:89 +#, no-c-format +msgid "Out of memory" +msgstr "זיכרון נגמר" + +#: backend/sane_strstatus.c:92 +#, no-c-format +msgid "Access to resource has been denied" +msgstr "גישה למשאב נדחתה" + +#: backend/sane_strstatus.c:96 +#, no-c-format +msgid "Lamp not ready, please retry" +msgstr "מנורה לא מוכנה, נא לנסות שנית" + +#: backend/sane_strstatus.c:101 +#, no-c-format +msgid "Scanner mechanism locked for transport" +msgstr "מנגנון סורק נעול להובלה" + +#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 +#, no-c-format +msgid "Defaults" +msgstr "ברירות מחדל" + +#: backend/artec_eplus48u.c:2876 +#, no-c-format +msgid "Set default values for enhancement controls." +msgstr "קבע ערכי ברירת מחדל עבור בקרות שיפור." + +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 +#, no-c-format +msgid "Calibration" +msgstr "כיול" + +#: backend/artec_eplus48u.c:2941 +#, no-c-format +msgid "Calibrate before next scan" +msgstr "כייל לפני הסריקה הבאה" + +#: backend/artec_eplus48u.c:2943 +#, no-c-format +msgid "" +"If enabled, the device will be calibrated before the next scan. " +"Otherwise, calibration is performed only before the first start." +msgstr "" +"אם מופעלת, ההתקן יעבור כיול לפני הסריקה הבאה. אחרת, כיול מבוצע רק לפני " +"ההתחלה הראשונה." + +#: backend/artec_eplus48u.c:2954 +#, no-c-format +msgid "Only perform shading-correction" +msgstr "בצע רק תיקון הצללה" + +#: backend/artec_eplus48u.c:2956 +#, no-c-format +msgid "" +"If enabled, only the shading correction is performed during calibration. " +"The default values for gain, offset and exposure time, either build-in " +"or from the configuration file, are used." +msgstr "" +"אם מופעלת, רק תיקון הצללה מבוצע במהלך כיול. ערכי ברירת מחדל עבור הגבר, " +"אופסט וזמן חשיפה, בין אם מובנים או מקובץ הגדרות הם בשימוש." + +#: backend/artec_eplus48u.c:2967 +#, no-c-format +msgid "Button state" +msgstr "מצב כפתור" + +#: backend/avision.h:778 +#, no-c-format +msgid "Number of the frame to scan" +msgstr "מספר של הפריים לסריקה" + +#: backend/avision.h:779 +#, no-c-format +msgid "Selects the number of the frame to scan" +msgstr "בוחר את מספר הפריים לסריקה" + +#: backend/avision.h:782 +#, no-c-format +msgid "Duplex scan" +msgstr "סריקה דו צדדית" + +#: backend/avision.h:783 +#, no-c-format +msgid "" +"Duplex scan provide a scan of the front and back side of the document" +msgstr "סריקה דו צדדית מאפשרת סריקה של העמוד הקדמי והאחורי של המסמך" + +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "כייל סורק" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "אלץ כיול סורק לפני סריקה" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "סריקה בגווני אפור" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "בצע סריקה בגווני אפור במקום סריקה בצבע" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "הגבר אנלוגי" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "הרם או הנמך את ההגבר האנלוגי של מערך ה-CCD" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "תיקון גמה" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "בוחר את עקום ההעברה מתוקן הגמה" + +#: backend/canon.c:149 backend/canon-sane.c:1318 +#, no-c-format +msgid "Raw" +msgstr "גולמי" + +#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 +#, no-c-format +msgid "Fine color" +msgstr "צבע בהיר" + +#: backend/canon.c:169 +#, no-c-format +msgid "No transparency correction" +msgstr "ללא תיקון שקיפות" + +#: backend/canon.c:170 backend/canon-sane.c:680 +#, no-c-format +msgid "Correction according to film type" +msgstr "תיקון לפי סוג סרט" + +#: backend/canon.c:171 backend/canon-sane.c:674 +#, no-c-format +msgid "Correction according to transparency ratio" +msgstr "תיקון לפי יחס שקיפות" + +#: backend/canon.c:176 backend/canon-sane.c:776 +#, no-c-format +msgid "Negatives" +msgstr "תשלילים" + +#: backend/canon.c:176 +#, no-c-format +msgid "Slides" +msgstr "שקפים" + +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 +#: backend/matsushita.c:178 +#, no-c-format +msgid "Automatic" +msgstr "אוטומטי" + +#: backend/canon.c:186 +#, no-c-format +msgid "Normal speed" +msgstr "מהירות נורמלית" + +#: backend/canon.c:187 +#, no-c-format +msgid "1/2 normal speed" +msgstr "1/2 מהירות נורמלית" + +#: backend/canon.c:187 +#, no-c-format +msgid "1/3 normal speed" +msgstr "1/3 מהירות נורמלית" + +#: backend/canon.c:360 +#, no-c-format +msgid "rounded parameter" +msgstr "פרמטר מעוגל" + +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 +#, no-c-format +msgid "unknown" +msgstr "לא ידוע" + +#: backend/canon.c:373 +#, no-c-format +msgid "ADF jam" +msgstr "תקלת מזין מסמכים אוטומטי" + +#: backend/canon.c:376 +#, no-c-format +msgid "ADF cover open" +msgstr "מכסה מזין מסמכים אוטומטי פתוח" + +#: backend/canon.c:389 +#, no-c-format +msgid "lamp failure" +msgstr "כשל מנורה" + +#: backend/canon.c:392 +#, no-c-format +msgid "scan head positioning error" +msgstr "תקלת מיקום ראש סריקה" + +#: backend/canon.c:395 +#, no-c-format +msgid "CPU check error" +msgstr "תקלת בדיקת מעבד" + +#: backend/canon.c:398 +#, no-c-format +msgid "RAM check error" +msgstr "תקלת בדיקת זכרון גישה אקראית" + +#: backend/canon.c:401 +#, no-c-format +msgid "ROM check error" +msgstr "תקלת בדיקת זכרון קריאה בלבד" + +#: backend/canon.c:404 +#, no-c-format +msgid "hardware check error" +msgstr "תקלת בדיקת חומרה" + +#: backend/canon.c:407 +#, no-c-format +msgid "transparency unit lamp failure" +msgstr "כשל מנורה ביחידת השקיפות" + +#: backend/canon.c:410 +#, no-c-format +msgid "transparency unit scan head positioning failure" +msgstr "כשל מיקום ראש סריקה ביחידת השקיפות" + +#: backend/canon.c:424 +#, no-c-format +msgid "parameter list length error" +msgstr "תקלה באורך רשימת פרמטרים" + +#: backend/canon.c:428 +#, no-c-format +msgid "invalid command operation code" +msgstr "קוד פעולת פקודה לא חוקי" + +#: backend/canon.c:432 +#, no-c-format +msgid "invalid field in CDB" +msgstr "שדה לא חוקי ב-CDB" + +#: backend/canon.c:436 +#, no-c-format +msgid "unsupported LUN" +msgstr "אין תמיכה ב-LUN" + +#: backend/canon.c:440 +#, no-c-format +msgid "invalid field in parameter list" +msgstr "שדה לא חוקי ברשימת הפרמטרים" + +#: backend/canon.c:444 +#, no-c-format +msgid "command sequence error" +msgstr "תקלה ברצף פקודות" + +#: backend/canon.c:448 +#, no-c-format +msgid "too many windows specified" +msgstr "יותר מדי חלונות פורטו" + +#: backend/canon.c:452 +#, no-c-format +msgid "medium not present" +msgstr "מדיום לא קיים" + +#: backend/canon.c:456 +#, no-c-format +msgid "invalid bit IDENTIFY message" +msgstr "הודעת זיהוי ביט לא חוקי" + +#: backend/canon.c:460 +#, no-c-format +msgid "option not connect" +msgstr "אפשרות לא מחובר" + +#: backend/canon.c:474 +#, no-c-format +msgid "power on reset / bus device reset" +msgstr "אתחול מצב דולק / אתחול התקן bus" + +#: backend/canon.c:478 +#, no-c-format +msgid "parameter changed by another initiator" +msgstr "פרמטר עבר שינוי על ידי יוזם אחר" + +#: backend/canon.c:492 +#, no-c-format +msgid "no additional sense information" +msgstr "אין מידע חישה נוסף" + +#: backend/canon.c:496 +#, no-c-format +msgid "reselect failure" +msgstr "כשל בחירה מחדש" + +#: backend/canon.c:500 +#, no-c-format +msgid "SCSI parity error" +msgstr "תקלת SCSI parity" + +#: backend/canon.c:504 +#, no-c-format +msgid "initiator detected error message received" +msgstr "התקבלה הודעת שגיאה של גילוי יוזם" + +#: backend/canon.c:509 +#, no-c-format +msgid "invalid message error" +msgstr "תקלת הודעה לא חוקית" + +#: backend/canon.c:513 +#, no-c-format +msgid "timeout error" +msgstr "תקלת זמן קצוב" + +#: backend/canon.c:517 +#, no-c-format +msgid "transparency unit shading error" +msgstr "תקלת הצללה של יחידת השקיפות" + +#: backend/canon.c:521 +#, no-c-format +msgid "lamp not stabilized" +msgstr "מנורה לא מיוצבת" + +#: backend/canon.c:847 backend/canon.c:862 +#, no-c-format +msgid "film scanner" +msgstr "סורק סרט" + +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 +#: backend/u12.c:851 +#, no-c-format +msgid "flatbed scanner" +msgstr "סורק שטוח" + +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 +#, no-c-format +msgid "Film type" +msgstr "סוג סרט" + +#: backend/canon.c:1179 +#, no-c-format +msgid "Selects the film type, i.e. negatives or slides" +msgstr "בוחר את סוג הסרט, לדוגמה תשלילים או שקפים" + +#: backend/canon.c:1191 +#, no-c-format +msgid "Negative film type" +msgstr "סוג סרט תשליל" + +#: backend/canon.c:1192 +#, no-c-format +msgid "Selects the negative film type" +msgstr "בוחר את סוג סרט תשליל" + +#: backend/canon.c:1231 +#, no-c-format +msgid "Hardware resolution" +msgstr "רזולוציית חומרה" + +#: backend/canon.c:1232 +#, no-c-format +msgid "Use only hardware resolutions" +msgstr "השתמש רק ברזולוציות חומרה" + +#: backend/canon.c:1313 +#, no-c-format +msgid "Focus" +msgstr "פוקוס" + +#: backend/canon.c:1323 +#, no-c-format +msgid "Auto focus" +msgstr "פוקוס אוטומטי" + +#: backend/canon.c:1324 +#, no-c-format +msgid "Enable/disable auto focus" +msgstr "הפעל/כבה פוקוס אוטומטי" + +#: backend/canon.c:1331 +#, no-c-format +msgid "Auto focus only once" +msgstr "פוקוס אוטומטי רק פעם אחת" + +#: backend/canon.c:1332 +#, no-c-format +msgid "Do auto focus only once between ejects" +msgstr "בצע פוקוס אוטומטי רק פעם אחת בין הוצאות" + +#: backend/canon.c:1340 +#, no-c-format +msgid "Manual focus position" +msgstr "מיקום פוקוס ידני" + +#: backend/canon.c:1341 +#, no-c-format +msgid "Set the optical system's focus position by hand (default: 128)." +msgstr "קבע את מיקום הפוקוס האופטי של המערכת באופן ידני (ברירת מחדל: 128)." + +#: backend/canon.c:1351 +#, no-c-format +msgid "Scan margins" +msgstr "סרוק שוליים" + +#: backend/canon.c:1398 +#, no-c-format +msgid "Extra color adjustments" +msgstr "התאמות צבע נוספות" + +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 +#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 +#, no-c-format +msgid "Mirror image" +msgstr "בצע תמונת ראי" + +#: backend/canon.c:1534 +#, no-c-format +msgid "Mirror the image horizontally" +msgstr "בצע תמונת ראי אופקית" + +#: backend/canon.c:1603 +#, no-c-format +msgid "Auto exposure" +msgstr "חשיפה אוטומטית" + +#: backend/canon.c:1604 +#, no-c-format +msgid "Enable/disable the auto exposure feature" +msgstr "הפעל/כבה את אפשרות חשיפה אוטומטית" + +#: backend/canon.c:1620 +#, no-c-format +msgid "Calibration now" +msgstr "כיול עכשיו" + +#: backend/canon.c:1621 +#, no-c-format +msgid "Execute calibration *now*" +msgstr "בצע כיול *עכשיו*" + +#: backend/canon.c:1631 +#, no-c-format +msgid "Self diagnosis" +msgstr "אבחון עצמי" + +#: backend/canon.c:1632 +#, no-c-format +msgid "Perform scanner self diagnosis" +msgstr "בצע אבחון עצמי של הסורק" + +#: backend/canon.c:1643 +#, no-c-format +msgid "Reset scanner" +msgstr "אתחל סורק" + +#: backend/canon.c:1644 +#, no-c-format +msgid "Reset the scanner" +msgstr "אתחל את הסורק" + +#: backend/canon.c:1654 +#, no-c-format +msgid "Medium handling" +msgstr "טיפול במדיום" + +#: backend/canon.c:1663 +#, no-c-format +msgid "Eject film after each scan" +msgstr "הוצא את הסרט לאחר כל סריקה" + +#: backend/canon.c:1664 +#, no-c-format +msgid "Automatically eject the film from the device after each scan" +msgstr "הוצא את הסרט אוטומטית מההתקן לאחר כל סריקה" + +#: backend/canon.c:1675 +#, no-c-format +msgid "Eject film before exit" +msgstr "הוצא את הסרט לפני עזיבה" + +#: backend/canon.c:1676 +#, no-c-format +msgid "" +"Automatically eject the film from the device before exiting the program" +msgstr "הוצא את הסרט אוטומטית מההתקן לפני עזיבת היישום" + +#: backend/canon.c:1685 +#, no-c-format +msgid "Eject film now" +msgstr "הוצא סרט עכשיו" + +#: backend/canon.c:1686 +#, no-c-format +msgid "Eject the film *now*" +msgstr "הוצא את הסרט *עכשיו*" + +#: backend/canon.c:1695 +#, no-c-format +msgid "Document feeder extras" +msgstr "תוספות מזין מסמכים" + +#: backend/canon.c:1702 +#, no-c-format +msgid "Flatbed only" +msgstr "סורק שטוח בלבד" + +#: backend/canon.c:1703 +#, no-c-format +msgid "Disable auto document feeder and use flatbed only" +msgstr "כבה את מזין המסמכים האוטומטי והשתמש בסורק שטוח בלבד" + +#: backend/canon.c:1713 backend/canon.c:1723 +#, no-c-format +msgid "Transparency unit" +msgstr "יחידת שקיפות" + +#: backend/canon.c:1724 +#, no-c-format +msgid "Switch on/off the transparency unit (FAU, film adapter unit)" +msgstr "הפעל/כבה את יחידת השקיפות (FAU, יחידת מתאם סרט)" + +#: backend/canon.c:1734 +#, no-c-format +msgid "Negative film" +msgstr "סרט תשליל" + +#: backend/canon.c:1735 +#, no-c-format +msgid "Positive or negative film" +msgstr "סרט מעשי או תשליל" + +#: backend/canon.c:1744 +#, no-c-format +msgid "Density control" +msgstr "בקרת צפיפות" + +#: backend/canon.c:1745 +#, no-c-format +msgid "Set density control mode" +msgstr "קבע את מצב בקרת הצפיפות" + +#: backend/canon.c:1756 +#, no-c-format +msgid "Transparency ratio" +msgstr "יחס שקיפות" + +#: backend/canon.c:1770 +#, no-c-format +msgid "Select film type" +msgstr "בחר סוג סרט" + +#: backend/canon.c:1771 +#, no-c-format +msgid "Select the film type" +msgstr "בחר את סוג הסרט" + +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 +#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#, no-c-format +msgid "Flatbed" +msgstr "סורק שטוח" + +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/kodak.c:140 +#, no-c-format +msgid "ADF Front" +msgstr "חזית מזין מסמכים אוטומטי" + +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/kodak.c:141 +#, no-c-format +msgid "ADF Back" +msgstr "אחורי מזין מסמכים אוטומטי" + +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#, no-c-format +msgid "ADF Duplex" +msgstr "דו צדדי מזין מסמכים אוטומטי" + +#: backend/canon_dr.c:415 +#, no-c-format +msgid "Card Front" +msgstr "חזית לוח" + +#: backend/canon_dr.c:416 +#, no-c-format +msgid "Card Back" +msgstr "אחורי לוח" + +#: backend/canon_dr.c:417 +#, no-c-format +msgid "Card Duplex" +msgstr "דו צדדי לוח" + +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#, no-c-format +msgid "Red" +msgstr "אדום" + +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#, no-c-format +msgid "Green" +msgstr "ירוק" + +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#, no-c-format +msgid "Blue" +msgstr "כחול" + +#: backend/canon_dr.c:427 +#, no-c-format +msgid "Enhance Red" +msgstr "שפר אדום" + +#: backend/canon_dr.c:428 +#, no-c-format +msgid "Enhance Green" +msgstr "שפר ירוק" + +#: backend/canon_dr.c:429 +#, no-c-format +msgid "Enhance Blue" +msgstr "שפר כחול" + +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 +#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 +#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/matsushita.c:191 backend/matsushita.c:213 +#: backend/snapscan-options.c:91 +#, no-c-format +msgid "None" +msgstr "אף אחד" + +#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#, no-c-format +msgid "JPEG" +msgstr "JPEG" + +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 +#, no-c-format +msgid "Software blank skip percentage" +msgstr "אחוז דילוג מקום ריק של תוכנה" + +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#, no-c-format +msgid "Request driver to discard pages with low percentage of dark pixels" +msgstr "בקש מהדרייבר לזנוח עמודים עם אחוז נמוך של פיקסלים כהים" + +#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#, no-c-format +msgid "Simplex" +msgstr "חד צדדי" + +#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 +#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 +#: backend/magicolor.c:175 backend/matsushita.h:218 +#, no-c-format +msgid "Duplex" +msgstr "דו צדדי" + +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#, no-c-format +msgid "Transparency Unit" +msgstr "יחידת שקיפות" + +#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 +#: backend/umax.c:183 +#, no-c-format +msgid "Automatic Document Feeder" +msgstr "מזין מסמכים אוטומטי" + +#: backend/epson.c:523 backend/epson2.c:134 +#, no-c-format +msgid "Positive Film" +msgstr "סרט ממשי" + +#: backend/epson.c:524 backend/epson2.c:135 +#, no-c-format +msgid "Negative Film" +msgstr "סרט תשליל" + +#: backend/epson.c:529 backend/epson2.c:142 +#, no-c-format +msgid "Focus on glass" +msgstr "פוקוס על זכוכית" + +#: backend/epson.c:530 backend/epson2.c:143 +#, no-c-format +msgid "Focus 2.5mm above glass" +msgstr "פוקוס 2.5 מילימטר מעל זכוכית" + +#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 +#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 +#, no-c-format +msgid "Halftone A (Hard Tone)" +msgstr "הדפסת רשת A (גוון חזק)" + +#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 +#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 +#, no-c-format +msgid "Halftone B (Soft Tone)" +msgstr "הדפסת רשת B (גוון חלש)" + +#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 +#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 +#, no-c-format +msgid "Halftone C (Net Screen)" +msgstr "הדפסת רשת C (מסך רשת)" + +#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 +#: backend/epson2.c:189 +#, no-c-format +msgid "Dither A (4x4 Bayer)" +msgstr "Dither A (4x4 Bayer)" + +#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 +#: backend/epson2.c:190 +#, no-c-format +msgid "Dither B (4x4 Spiral)" +msgstr "Dither B (4x4 Spiral)" + +#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 +#: backend/epson2.c:191 +#, no-c-format +msgid "Dither C (4x4 Net Screen)" +msgstr "Dither C (4x4 Net Screen)" + +#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 +#: backend/epson2.c:192 +#, no-c-format +msgid "Dither D (8x4 Net Screen)" +msgstr "Dither D (8x4 Net Screen)" + +#: backend/epson.c:584 backend/epson2.c:193 +#, no-c-format +msgid "Text Enhanced Technology" +msgstr "טכנולוגיה מועשרת טקסט" + +#: backend/epson.c:585 backend/epson2.c:194 +#, no-c-format +msgid "Download pattern A" +msgstr "הורד תבנית A" + +#: backend/epson.c:586 backend/epson2.c:195 +#, no-c-format +msgid "Download pattern B" +msgstr "הורד תבנית B" + +#: backend/epson.c:631 +#, no-c-format +msgid "No Correction" +msgstr "ללא תיקון" + +#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 +#, no-c-format +msgid "User defined" +msgstr "מוגדר משתמש" + +#: backend/epson.c:633 +#, no-c-format +msgid "Impact-dot printers" +msgstr "מדפסות Impact-dot" + +#: backend/epson.c:634 +#, no-c-format +msgid "Thermal printers" +msgstr "מדפסות תרמיות" + +#: backend/epson.c:635 +#, no-c-format +msgid "Ink-jet printers" +msgstr "מדפסות הזרקת דיו" + +#: backend/epson.c:636 +#, no-c-format +msgid "CRT monitors" +msgstr "מסכי CRT" + +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 +#, no-c-format +msgid "Default" +msgstr "ברירת מחדל" + +#: backend/epson.c:658 backend/epson2.c:256 +#, no-c-format +msgid "High density printing" +msgstr "הדפסה בצפיפות גבוהה" + +#: backend/epson.c:659 backend/epson2.c:257 +#, no-c-format +msgid "Low density printing" +msgstr "הדפסה בצפיפות נמוכה" + +#: backend/epson.c:660 backend/epson2.c:258 +#, no-c-format +msgid "High contrast printing" +msgstr "הדפסה בניגודיות גבוהה" + +#: backend/epson.c:678 backend/epson2.c:276 +#, no-c-format +msgid "User defined (Gamma=1.0)" +msgstr "מוגדר משתמש (גמה=1.0)" + +#: backend/epson.c:679 backend/epson2.c:277 +#, no-c-format +msgid "User defined (Gamma=1.8)" +msgstr "מוגדר משתמש (גמה=1.8)" + +#: backend/epson.c:757 +#, no-c-format +msgid "CD" +msgstr "CD" + +#: backend/epson.c:758 +#, no-c-format +msgid "A5 portrait" +msgstr "דיוקן A5" + +#: backend/epson.c:759 +#, no-c-format +msgid "A5 landscape" +msgstr "נוף A5" + +#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 +#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 +#, no-c-format +msgid "Letter" +msgstr "מכתב" + +#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 +#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 +#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 +#, no-c-format +msgid "A4" +msgstr "A4" + +#: backend/epson.c:762 +#, no-c-format +msgid "Max" +msgstr "מירבי" + +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 +#, no-c-format +msgid "Scan Mode" +msgstr "מצב סריקה" + +#: backend/epson.c:2845 backend/epson2.c:1011 +#, no-c-format +msgid "Selects the halftone." +msgstr "בוחר את הדפסת הרשת." + +#: backend/epson.c:2867 backend/epson2.c:1032 +#, no-c-format +msgid "Dropout" +msgstr "נושר" + +#: backend/epson.c:2868 backend/epson2.c:1033 +#, no-c-format +msgid "Selects the dropout." +msgstr "בוחר את הנושר." + +#: backend/epson.c:2880 backend/epson2.c:1045 +#, no-c-format +msgid "Selects the brightness." +msgstr "בוחר את הבהירות." + +#: backend/epson.c:2895 backend/epson2.c:1058 +#, no-c-format +msgid "Sharpness" +msgstr "חדות" + +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 +#, no-c-format +msgid "Color correction" +msgstr "תיקון צבע" + +#: backend/epson.c:3034 backend/epson2.c:1176 +#, no-c-format +msgid "Sets the color correction table for the selected output device." +msgstr "קובע את טבלת תיקון הצבע להתקן הפלט הנבחר." + +#: backend/epson.c:3075 +#, no-c-format +msgid "Color correction coefficients" +msgstr "מקדמים של תיקון צבע" + +#: backend/epson.c:3076 +#, no-c-format +msgid "Matrix multiplication of RGB" +msgstr "כפל מטריצה של RGB" + +#: backend/epson.c:3093 +#, no-c-format +msgid "Shift green to red" +msgstr "החלף ירוק לאדום" + +#: backend/epson.c:3094 +#, no-c-format +msgid "Shift green to blue" +msgstr "החלף ירוק לכחול" + +#: backend/epson.c:3095 +#, no-c-format +msgid "Shift red to green" +msgstr "החלף אדום לירוק" + +#: backend/epson.c:3097 +#, no-c-format +msgid "Shift red to blue" +msgstr "החלף אדום לכחול" + +#: backend/epson.c:3098 +#, no-c-format +msgid "Shift blue to green" +msgstr "החלף כחול לירוק" + +#: backend/epson.c:3099 +#, no-c-format +msgid "Shift blue to red" +msgstr "החלף כחול לאדום" + +#: backend/epson.c:3102 +#, no-c-format +msgid "Controls green level" +msgstr "שולט על רמת ירוק" + +#: backend/epson.c:3103 +#, no-c-format +msgid "Adds to red based on green level" +msgstr "מוסיף לאדום בהסתמך על רמת ירוק" + +#: backend/epson.c:3104 +#, no-c-format +msgid "Adds to blue based on green level" +msgstr "מוסיף לכחול בהסתמך על רמת ירוק" + +#: backend/epson.c:3105 +#, no-c-format +msgid "Adds to green based on red level" +msgstr "מוסיף לירוק בהסתמך על רמת אדום" + +#: backend/epson.c:3106 +#, no-c-format +msgid "Controls red level" +msgstr "שולט על רמת אדום" + +#: backend/epson.c:3107 +#, no-c-format +msgid "Adds to blue based on red level" +msgstr "מוסיף לכחול בהסתמך על רמת אדום" + +#: backend/epson.c:3108 +#, no-c-format +msgid "Adds to green based on blue level" +msgstr "מוסיף לירוק בהסתמך על רמת כחול" + +#: backend/epson.c:3109 +#, no-c-format +msgid "Adds to red based on blue level" +msgstr "מוסיף לאדום בהסתמך על רמת כחול" + +#: backend/epson.c:3110 +#, no-c-format +msgid "Controls blue level" +msgstr "שולט על רמת כחול" + +#: backend/epson.c:3206 backend/epson2.c:1255 +#, no-c-format +msgid "Mirror the image." +msgstr "בצע תמונת ראי." + +#: backend/epson.c:3232 backend/mustek.c:4344 +#, no-c-format +msgid "Fast preview" +msgstr "תצוגה מקדימה מהירה" + +#: backend/epson.c:3245 backend/epson2.c:1265 +#, no-c-format +msgid "Auto area segmentation" +msgstr "חילוק שטח אוטומטי" + +#: backend/epson.c:3258 +#, no-c-format +msgid "Short resolution list" +msgstr "רשימת רזולוציה קצרה" + +#: backend/epson.c:3260 +#, no-c-format +msgid "Display short resolution list" +msgstr "מציג רשימת רזולוציה קצרה" + +#: backend/epson.c:3267 +#, no-c-format +msgid "Zoom" +msgstr "זום" + +#: backend/epson.c:3269 +#, no-c-format +msgid "Defines the zoom factor the scanner will use" +msgstr "מגדיר את מקדם הזום בשימוש הסורק" + +#: backend/epson.c:3349 +#, no-c-format +msgid "Quick format" +msgstr "פורמט מהיר" + +#: backend/epson.c:3360 backend/epson2.c:1340 +#, no-c-format +msgid "Optional equipment" +msgstr "ציוד אופציונלי" + +#: backend/epson.c:3431 backend/epson2.c:1393 +#, no-c-format +msgid "Eject" +msgstr "הוצא" + +#: backend/epson.c:3432 backend/epson2.c:1394 +#, no-c-format +msgid "Eject the sheet in the ADF" +msgstr "הוצא את הדף במזין המסמכים האוטומטי" + +#: backend/epson.c:3444 backend/epson2.c:1404 +#, no-c-format +msgid "Auto eject" +msgstr "הוצאה אוטומטית" + +#: backend/epson.c:3445 backend/epson2.c:1406 +#, no-c-format +msgid "Eject document after scanning" +msgstr "הוצא מסמך לאחר סריקה" + +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#, no-c-format +msgid "ADF Mode" +msgstr "מצב מזין מסמכים אוטומטי" + +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#, no-c-format +msgid "Selects the ADF mode (simplex/duplex)" +msgstr "בוחר את מצב מזין המסמכים האוטומטי (חד צדדי/דו צדדי)" + +#: backend/epson.c:3473 backend/epson2.c:1430 +#, no-c-format +msgid "Bay" +msgstr "תא" + +#: backend/epson.c:3474 backend/epson2.c:1431 +#, no-c-format +msgid "Select bay to scan" +msgstr "בחר תא לסריקה" + +#: backend/epson.h:69 backend/epson2.h:68 +#, no-c-format +msgid "" +"Selects the gamma correction value from a list of pre-defined devices or " +"the user defined table, which can be downloaded to the scanner" +msgstr "" +"בוחר את ערך תיקון גמה מרשימה של התקנים מוגדרים מראש או טבלה המוגדרת על " +"ידי המשתמש, שניתן להוריד אל הסורק" + +#: backend/epson.h:72 backend/epson2.h:71 +#, no-c-format +msgid "Focus Position" +msgstr "מיקום פוקוס" + +#: backend/epson.h:73 backend/epson2.h:72 +#, no-c-format +msgid "" +"Sets the focus position to either the glass or 2.5mm above the glass" +msgstr "קובע את מיקום הפוקוס לזכוכית או 2.5 מילימטר מעל הזכוכית" + +#: backend/epson.h:75 backend/epson2.h:74 +#, no-c-format +msgid "Wait for Button" +msgstr "חכה לכפתור" + +#: backend/epson.h:76 backend/epson2.h:75 +#, no-c-format +msgid "" +"After sending the scan command, wait until the button on the scanner is " +"pressed to actually start the scan process." +msgstr "" +"לאחר שליחת פקודת הסריקה, חכה עד שהכפתור על הסורק יילחץ כדי להתחיל בפועל " +"את תהליך הסריקה." + +#: backend/epson2.c:102 backend/pixma.c:409 +#, no-c-format +msgid "Infrared" +msgstr "אינפרה אדום" + +#: backend/epson2.c:117 +#, no-c-format +msgid "TPU8x10" +msgstr "TPU8x10" + +#: backend/epson2.c:136 +#, no-c-format +msgid "Positive Slide" +msgstr "שקף ממשי" + +#: backend/epson2.c:137 +#, no-c-format +msgid "Negative Slide" +msgstr "שקף תשליל" + +#: backend/epson2.c:215 +#, no-c-format +msgid "Built in CCT profile" +msgstr "פרופיל CCT מובנה" + +#: backend/epson2.c:216 +#, no-c-format +msgid "User defined CCT profile" +msgstr "פרופיל CCT מוגדר משתמש" + +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#, no-c-format +msgid "On" +msgstr "דולק" + +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 +#, no-c-format +msgid "Off" +msgstr "כבוי" + +#: backend/fujitsu.c:689 +#, no-c-format +msgid "DTC" +msgstr "DTC" + +#: backend/fujitsu.c:690 +#, no-c-format +msgid "SDTC" +msgstr "SDTC" + +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 +#: backend/teco3.c:978 +#, no-c-format +msgid "Dither" +msgstr "Dither" + +#: backend/fujitsu.c:693 +#, no-c-format +msgid "Diffusion" +msgstr "דיפוזיה" + +#: backend/fujitsu.c:698 +#, no-c-format +msgid "White" +msgstr "לבן" + +#: backend/fujitsu.c:699 +#, no-c-format +msgid "Black" +msgstr "שחור" + +#: backend/fujitsu.c:704 +#, no-c-format +msgid "Continue" +msgstr "המשך" + +#: backend/fujitsu.c:705 +#, no-c-format +msgid "Stop" +msgstr "עצור" + +#: backend/fujitsu.c:707 +#, no-c-format +msgid "10mm" +msgstr "10 מילימטר" + +#: backend/fujitsu.c:708 +#, no-c-format +msgid "15mm" +msgstr "15 מילימטר" + +#: backend/fujitsu.c:709 +#, no-c-format +msgid "20mm" +msgstr "20 מילימטר" + +#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#, no-c-format +msgid "Horizontal" +msgstr "אופקי" + +#: backend/fujitsu.c:712 +#, no-c-format +msgid "Horizontal bold" +msgstr "אופקי מודגש" + +#: backend/fujitsu.c:713 +#, no-c-format +msgid "Horizontal narrow" +msgstr "אופקי צר" + +#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#, no-c-format +msgid "Vertical" +msgstr "אנכי" + +#: backend/fujitsu.c:715 +#, no-c-format +msgid "Vertical bold" +msgstr "אנכי מודגש" + +#: backend/fujitsu.c:717 +#, no-c-format +msgid "Top to bottom" +msgstr "מלמעלה למטה" + +#: backend/fujitsu.c:718 +#, no-c-format +msgid "Bottom to top" +msgstr "מלמטה למעלה" + +#: backend/fujitsu.c:720 +#, no-c-format +msgid "Front" +msgstr "חזית" + +#: backend/fujitsu.c:721 +#, no-c-format +msgid "Back" +msgstr "אחור" + +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#, no-c-format +msgid "Gamma function exponent" +msgstr "פונקציית גמה אקספוננט" + +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#, no-c-format +msgid "Changes intensity of midtones" +msgstr "משנה את העוצמה של גווני הביניים" + +#: backend/fujitsu.c:3194 +#, no-c-format +msgid "RIF" +msgstr "RIF" + +#: backend/fujitsu.c:3195 +#, no-c-format +msgid "Reverse image format" +msgstr "הפוך את עיצוב התמונה" + +#: backend/fujitsu.c:3212 +#, no-c-format +msgid "Halftone type" +msgstr "סוג הדפסת רשת" + +#: backend/fujitsu.c:3213 +#, no-c-format +msgid "Control type of halftone filter" +msgstr "סוג בקרה של מסנן הדפסת רשת" + +#: backend/fujitsu.c:3234 +#, no-c-format +msgid "Control pattern of halftone filter" +msgstr "תבנית בקרה של מסנן הדפסת רשת" + +#: backend/fujitsu.c:3256 +#, no-c-format +msgid "Outline" +msgstr "תרשים" + +#: backend/fujitsu.c:3257 +#, no-c-format +msgid "Perform outline extraction" +msgstr "בצע חילוץ תרשים" + +#: backend/fujitsu.c:3268 +#, no-c-format +msgid "Emphasis" +msgstr "הדגשה" + +#: backend/fujitsu.c:3269 +#, no-c-format +msgid "Negative to smooth or positive to sharpen image" +msgstr "שלילי כדי להחליק או חיובי כדי לחדד את התמונה" + +#: backend/fujitsu.c:3287 +#, no-c-format +msgid "Separation" +msgstr "הפרדה" + +#: backend/fujitsu.c:3288 +#, no-c-format +msgid "Enable automatic separation of image and text" +msgstr "הפעל הפרדה אוטומטית של תמונה וטקסט" + +#: backend/fujitsu.c:3299 +#, no-c-format +msgid "Mirroring" +msgstr "ביצוע תמונת ראי" + +#: backend/fujitsu.c:3300 +#, no-c-format +msgid "Reflect output image horizontally" +msgstr "בצע שיקוף אופקי של תמונת הפלט" + +#: backend/fujitsu.c:3317 +#, no-c-format +msgid "White level follower" +msgstr "עוקב רמת לבן" + +#: backend/fujitsu.c:3318 +#, no-c-format +msgid "Control white level follower" +msgstr "שלוט על עוקב רמת לבן" + +#: backend/fujitsu.c:3336 +#, no-c-format +msgid "BP filter" +msgstr "מסנן כדורי" + +#: backend/fujitsu.c:3337 +#, no-c-format +msgid "Improves quality of high resolution ball-point pen text" +msgstr "משפר איכות טקסט של עט כדורי ברזולוציה גבוהה" + +#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#, no-c-format +msgid "Smoothing" +msgstr "החלקה" + +#: backend/fujitsu.c:3354 +#, no-c-format +msgid "Enable smoothing for improved OCR" +msgstr "הפעל החלקה ל-OCR משופר" + +#: backend/fujitsu.c:3370 +#, no-c-format +msgid "Gamma curve" +msgstr "עקום גמה" + +#: backend/fujitsu.c:3371 +#, no-c-format +msgid "Gamma curve, from light to dark, but upper two may not work" +msgstr "עקום גמה, מבהיר לכהה, אך יתכן ושניים עליונים לא יעבדו" + +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 +#: backend/pixma_sane_options.c:335 +#, no-c-format +msgid "Threshold curve" +msgstr "עקום סף" + +#: backend/fujitsu.c:3394 +#, no-c-format +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" +msgstr "עקום סף, מבהיר לכהה, אך יתכן ושניים עליונים לא יהיו לינאריים" + +#: backend/fujitsu.c:3416 +#, no-c-format +msgid "Threshold white" +msgstr "לבן סף" + +#: backend/fujitsu.c:3417 +#, no-c-format +msgid "Set pixels equal to threshold to white instead of black" +msgstr "קבע פיקסלים שווים לסף ללבן במקום לשחור" + +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#, no-c-format +msgid "Noise removal" +msgstr "הסרת רעשים" + +#: backend/fujitsu.c:3450 +#, no-c-format +msgid "Matrix 5x5" +msgstr "מטריצה 5x5" + +#: backend/fujitsu.c:3451 +#, no-c-format +msgid "Remove 5 pixel square noise" +msgstr "הסר רעשים ריבוע 5 פיקסל" + +#: backend/fujitsu.c:3467 +#, no-c-format +msgid "Matrix 4x4" +msgstr "מטריצה 4x4" + +#: backend/fujitsu.c:3468 +#, no-c-format +msgid "Remove 4 pixel square noise" +msgstr "הסר רעשים ריבוע 4 פיקסל" + +#: backend/fujitsu.c:3484 +#, no-c-format +msgid "Matrix 3x3" +msgstr "מטריצה 3x3" + +#: backend/fujitsu.c:3485 +#, no-c-format +msgid "Remove 3 pixel square noise" +msgstr "הסר רעשים ריבוע 3 פיקסל" + +#: backend/fujitsu.c:3501 +#, no-c-format +msgid "Matrix 2x2" +msgstr "מטריצה 2x2" + +#: backend/fujitsu.c:3502 +#, no-c-format +msgid "Remove 2 pixel square noise" +msgstr "הסר רעשים ריבוע 2 פיקסל" + +#: backend/fujitsu.c:3521 +#, no-c-format +msgid "Variance" +msgstr "שונות" + +#: backend/fujitsu.c:3522 +#, no-c-format +msgid "Set SDTC variance rate (sensitivity), 0 equals 127" +msgstr "קבע קצב שונות SDTC (רגישות), 0 שווה ל-127" + +#: backend/fujitsu.c:3555 +#, no-c-format +msgid "Auto width detection" +msgstr "גילוי רוחב אוטומטי" + +#: backend/fujitsu.c:3556 +#, no-c-format +msgid "Scanner detects paper sides. May reduce scanning speed." +msgstr "סורק מגלה צידי נייר. עלול להאט מהירות סריקה." + +#: backend/fujitsu.c:3573 +#, no-c-format +msgid "Auto length detection" +msgstr "גילוי אורך אוטומטי" + +#: backend/fujitsu.c:3574 +#, no-c-format +msgid "Scanner detects paper lower edge. May confuse some frontends." +msgstr "סורק מגלה קצה נמוך של נייר. עלול להטעות כמה ממשקים." + +#: backend/fujitsu.c:3600 +#, no-c-format +msgid "Compression" +msgstr "דחיסה" + +#: backend/fujitsu.c:3601 +#, no-c-format +msgid "Enable compressed data. May crash your front-end program" +msgstr "הפעל מידע דחוס. עלול לגרום לנפילה של יישום הממשק" + +#: backend/fujitsu.c:3621 +#, no-c-format +msgid "Compression argument" +msgstr "ארגומנט דחיסה" + +#: backend/fujitsu.c:3622 +#, no-c-format +msgid "" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" +msgstr "" +"רמת דחיסה JPEG. קובץ קטן זה 1, קובץ גדול זה 7. 0 (ברירת מחדל) זה כמו 4" + +#: backend/fujitsu.c:3652 +#, no-c-format +msgid "DF action" +msgstr "פעולת DF" + +#: backend/fujitsu.c:3653 +#, no-c-format +msgid "Action following double feed error" +msgstr "פעולה בעקבות תקלת הזנה כפולה" + +#: backend/fujitsu.c:3669 +#, no-c-format +msgid "DF skew" +msgstr "עיוות DF" + +#: backend/fujitsu.c:3670 +#, no-c-format +msgid "Enable double feed error due to skew" +msgstr "הפעל תקלת הזנה כפולה כתוצאה מעיוות" + +#: backend/fujitsu.c:3688 +#, no-c-format +msgid "DF thickness" +msgstr "עובי DF" + +#: backend/fujitsu.c:3689 +#, no-c-format +msgid "Enable double feed error due to paper thickness" +msgstr "הפעל תקלת הזנה כפולה כתוצאה מעובי נייר" + +#: backend/fujitsu.c:3707 +#, no-c-format +msgid "DF length" +msgstr "אורך DF" + +#: backend/fujitsu.c:3708 +#, no-c-format +msgid "Enable double feed error due to paper length" +msgstr "הפעל תקלת הזנה כפולה כתוצאה מאורך נייר" + +#: backend/fujitsu.c:3731 +#, no-c-format +msgid "DF length difference" +msgstr "הבדל אורך DF" + +#: backend/fujitsu.c:3732 +#, no-c-format +msgid "Difference in page length to trigger double feed error" +msgstr "הבדל באורך עמוד יגרור תקלת הזנה כפולה" + +#: backend/fujitsu.c:3755 +#, no-c-format +msgid "DF recovery mode" +msgstr "מצב שחזור DF" + +#: backend/fujitsu.c:3756 +#, no-c-format +msgid "Request scanner to reverse feed on paper jam" +msgstr "בקש מהסורק להפוך הזנה בעת היתקעות נייר" + +#: backend/fujitsu.c:3775 +#, no-c-format +msgid "Paper protection" +msgstr "הגנת נייר" + +#: backend/fujitsu.c:3776 +#, no-c-format +msgid "Request scanner to predict jams in the ADF" +msgstr "בקש מהסורק לנבא תקלות במזין המסמכים האוטומטי" + +#: backend/fujitsu.c:3795 +#, no-c-format +msgid "Advanced paper protection" +msgstr "הגנת נייר מתקדמת" + +#: backend/fujitsu.c:3796 +#, no-c-format +msgid "Request scanner to predict jams in the ADF using improved sensors" +msgstr "בקש מהסורק לנבא תקלות במזין המסמכים האוטומטי בעזרת חיישנים משופרים" + +#: backend/fujitsu.c:3815 +#, no-c-format +msgid "Staple detection" +msgstr "גילוי סיכת הידוק" + +#: backend/fujitsu.c:3816 +#, no-c-format +msgid "Request scanner to detect jams in the ADF caused by staples" +msgstr "בקש מהסורק לגלות תקלות במזין המסמכים האוטומטי כתוצאה מסיכות הידוק" + +#: backend/fujitsu.c:3835 +#, no-c-format +msgid "Background color" +msgstr "צבע רקע" + +#: backend/fujitsu.c:3836 +#, no-c-format +msgid "" +"Set color of background for scans. May conflict with overscan option" +msgstr "קבע צבע רקע לסריקות. עלול להתנגש עם אפשרות סריקת יתר" + +#: backend/fujitsu.c:3856 +#, no-c-format +msgid "Dropout color" +msgstr "צבע נושר" + +#: backend/fujitsu.c:3857 +#, no-c-format +msgid "" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" +msgstr "" +"סורקים עם מעבר אחד משתמשים בצבע אחד בלבד במהלך סריקה אפורה או בינרית, " +"שימושי עבור נייר או דיו צבעוניים" + +#: backend/fujitsu.c:3880 +#, no-c-format +msgid "Buffer mode" +msgstr "מצב חוצץ" + +#: backend/fujitsu.c:3881 +#, no-c-format +msgid "Request scanner to read pages quickly from ADF into internal memory" +msgstr "" +"בקש מהסורק לקרוא עמודים במהירות ממזין המסמכים האוטומטי לתוך זיכרון פנימי" + +#: backend/fujitsu.c:3900 +#, no-c-format +msgid "Prepick" +msgstr "איסוף מקדים" + +#: backend/fujitsu.c:3901 +#, no-c-format +msgid "Request scanner to grab next page from ADF" +msgstr "בקש מהסורק לתפוס את העמוד הבא ממזין המסמכים האוטומטי" + +#: backend/fujitsu.c:3920 +#, no-c-format +msgid "Overscan" +msgstr "סריקת יתר" + +#: backend/fujitsu.c:3921 +#, no-c-format +msgid "" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" +msgstr "" +"צבור כמה מילימטרים של רקע בצד העליון של הסריקה, לפני שהנייר נכנס למזין " +"המסמכים האוטומטי, והגדל שטח סריקה מירבי מעבר לגודל הנייר, על מנת לאפשר " +"צבירה בצדדים הנותרים. עלול להתנגש עם אפשרות צבע רקע" + +#: backend/fujitsu.c:3939 +#, no-c-format +msgid "Sleep timer" +msgstr "טיימר שינה" + +#: backend/fujitsu.c:3940 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" +msgstr "זמן בדקות עד שספק הכוח הפנימי עובר למצב שינה" + +#: backend/fujitsu.c:3958 +#, no-c-format +msgid "Off timer" +msgstr "טיימר כיבוי" + +#: backend/fujitsu.c:3959 +#, no-c-format +msgid "" +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." +msgstr "" +"זמן בדקות עד שספק הכוח הפנימי מכבה את הסורק. יעוגל ל-15 הדקות הקרובות " +"ביותר. אפס אומר אף פעם לא לכבות." + +#: backend/fujitsu.c:3977 +#, no-c-format +msgid "Duplex offset" +msgstr "אופסט דו צדדי" + +#: backend/fujitsu.c:3978 +#, no-c-format +msgid "Adjust front/back offset" +msgstr "כוון אופסט חזיתי/אחורי" + +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#, no-c-format +msgid "Green offset" +msgstr "אופסט ירוק" + +#: backend/fujitsu.c:3996 +#, no-c-format +msgid "Adjust green/red offset" +msgstr "כוון אופסט ירוק/אדום" + +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#, no-c-format +msgid "Blue offset" +msgstr "אופסט כחול" + +#: backend/fujitsu.c:4014 +#, no-c-format +msgid "Adjust blue/red offset" +msgstr "כוון אופסט כחול/אדום" + +#: backend/fujitsu.c:4027 +#, no-c-format +msgid "Low Memory" +msgstr "זיכרון נמוך" + +#: backend/fujitsu.c:4028 +#, no-c-format +msgid "" +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." +msgstr "" +"הגבל שימוש זיכרון של דרייבר לשימוש במערכות משובצות. גורם לכמה מעברים דו " +"צדדיים להחליף צדדים בכל קריאה ל-sane_read. ערך של אפשרות \"צד\" ניתן " +"לשימוש על מנת לקבוע את התמונה הנכונה. אפשרות זו אמורה להיות בשימוש רק עם " +"תוכנות ממשק מותאמות אישית." + +#: backend/fujitsu.c:4043 +#, no-c-format +msgid "Duplex side" +msgstr "צד דו צדדי" + +#: backend/fujitsu.c:4044 +#, no-c-format +msgid "" +"Tells which side (0=front, 1=back) of a duplex scan the next call to " +"sane_read will return." +msgstr "" +"אומר איזה צד (0=חזית, 1=אחור) של סריקה דו צדדית הקריאה הבאה ל-sane_read " +"תחזיר." + +#: backend/fujitsu.c:4055 +#, no-c-format +msgid "Hardware deskew and crop" +msgstr "הטיה וקיצוץ של חומרה" + +#: backend/fujitsu.c:4056 +#, no-c-format +msgid "Request scanner to rotate and crop pages digitally." +msgstr "בקש מסורק לסובב ולקצץ עמודים באופן דיגיטלי." + +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#, no-c-format +msgid "Software deskew" +msgstr "קיצוץ של חומרה" + +#: backend/fujitsu.c:4068 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally." +msgstr "בקש מהדרייבר לסובב עמודים מוטים באופן דיגיטלי." + +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#, no-c-format +msgid "Software despeckle diameter" +msgstr "קוטר פגמים של תוכנה" + +#: backend/fujitsu.c:4081 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan." +msgstr "קוטר מירבי של נקודות בודדות להסרה מהסריקה." + +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#, no-c-format +msgid "Software crop" +msgstr "קיצוץ של תוכנה" + +#: backend/fujitsu.c:4101 +#, no-c-format +msgid "Request driver to remove border from pages digitally." +msgstr "בקש מהדרייבר להסיר את הגבול מהעמודים באופן דיגיטלי." + +#: backend/fujitsu.c:4130 +#, no-c-format +msgid "Halt on Cancel" +msgstr "הפסק כאשר ביטול" + +#: backend/fujitsu.c:4131 +#, no-c-format +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." +msgstr "בקש מהדרייבר להפסיק את הזנת הנייר במקום להוציא במהלך ביטול." + +#: backend/fujitsu.c:4142 +#, no-c-format +msgid "Endorser Options" +msgstr "אפשרויות תומך" + +#: backend/fujitsu.c:4143 +#, no-c-format +msgid "Controls for endorser unit" +msgstr "שולט על יחידת התמיכה" + +#: backend/fujitsu.c:4154 +#, no-c-format +msgid "Endorser" +msgstr "תומך" + +#: backend/fujitsu.c:4155 +#, no-c-format +msgid "Enable endorser unit" +msgstr "הפעל יחידת תמיכה" + +#: backend/fujitsu.c:4170 +#, no-c-format +msgid "Endorser bits" +msgstr "ביטים של תומך" + +#: backend/fujitsu.c:4171 +#, no-c-format +msgid "Determines maximum endorser counter value." +msgstr "קובע את ערך הספירה המירבי של התומך." + +#: backend/fujitsu.c:4196 +#, no-c-format +msgid "Endorser value" +msgstr "ערך תומך" + +#: backend/fujitsu.c:4197 +#, no-c-format +msgid "Initial endorser counter value." +msgstr "ערך ספירה התחלתי של התומך." + +#: backend/fujitsu.c:4220 +#, no-c-format +msgid "Endorser step" +msgstr "צעד תומך" + +#: backend/fujitsu.c:4221 +#, no-c-format +msgid "Change endorser counter value by this much for each page." +msgstr "שנה את ערך הספירה של התומך בכמות זו לכל עמוד." + +#: backend/fujitsu.c:4244 +#, no-c-format +msgid "Endorser Y" +msgstr "תומך Y" + +#: backend/fujitsu.c:4245 +#, no-c-format +msgid "Endorser print offset from top of paper." +msgstr "אופסט הדפסה של התומך מהחלק העליון של הנייר." + +#: backend/fujitsu.c:4270 +#, no-c-format +msgid "Endorser font" +msgstr "גופן תומך" + +#: backend/fujitsu.c:4271 +#, no-c-format +msgid "Endorser printing font." +msgstr "גופן הדפסה תומך." + +#: backend/fujitsu.c:4300 +#, no-c-format +msgid "Endorser direction" +msgstr "כיוון תומך" + +#: backend/fujitsu.c:4301 +#, no-c-format +msgid "Endorser printing direction." +msgstr "כיוון הדפסה תומך." + +#: backend/fujitsu.c:4325 +#, no-c-format +msgid "Endorser side" +msgstr "צד תומך" + +#: backend/fujitsu.c:4326 +#, no-c-format +msgid "Endorser printing side, requires hardware support to change" +msgstr "צד הדפסה תומך, דורש תמיכת חומרה לשינוי" + +#: backend/fujitsu.c:4351 +#, no-c-format +msgid "Endorser string" +msgstr "מחרוזת תומך" + +#: backend/fujitsu.c:4352 +#, no-c-format +msgid "" +"Endorser alphanumeric print format. %05ud or %08ud at the end will be " +"replaced by counter value." +msgstr "" +"פורמט הדפסה אלפא נומרי תומך. ערך מונה מחליף את %05ud או %08ud בסוף." + +#: backend/fujitsu.c:4379 +#, no-c-format +msgid "Top edge" +msgstr "קצה עליון" + +#: backend/fujitsu.c:4380 +#, no-c-format +msgid "Paper is pulled partly into adf" +msgstr "נייר משוך בחלקו לתוך מזין מסמכים אוטומטי" + +#: backend/fujitsu.c:4391 +#, no-c-format +msgid "A3 paper" +msgstr "נייר A3" + +#: backend/fujitsu.c:4392 +#, no-c-format +msgid "A3 paper detected" +msgstr "התגלה נייר A3" + +#: backend/fujitsu.c:4403 +#, no-c-format +msgid "B4 paper" +msgstr "נייר B4" + +#: backend/fujitsu.c:4404 +#, no-c-format +msgid "B4 paper detected" +msgstr "התגלה נייר B4" + +#: backend/fujitsu.c:4415 +#, no-c-format +msgid "A4 paper" +msgstr "נייר A4" + +#: backend/fujitsu.c:4416 +#, no-c-format +msgid "A4 paper detected" +msgstr "התגלה נייר A4" + +#: backend/fujitsu.c:4427 +#, no-c-format +msgid "B5 paper" +msgstr "נייר B5" + +#: backend/fujitsu.c:4428 +#, no-c-format +msgid "B5 paper detected" +msgstr "התגלה נייר B5" + +#: backend/fujitsu.c:4451 +#, no-c-format +msgid "OMR or DF" +msgstr "OMR or DF" + +#: backend/fujitsu.c:4452 +#, no-c-format +msgid "OMR or double feed detected" +msgstr "התגלה OMR או הזנה כפולה" + +#: backend/fujitsu.c:4475 +#, no-c-format +msgid "Power saving" +msgstr "חיסכון בחשמל" + +#: backend/fujitsu.c:4476 +#, no-c-format +msgid "Scanner in power saving mode" +msgstr "סורק במצב חיסכון בחשמל" + +#: backend/fujitsu.c:4499 +#, no-c-format +msgid "Manual feed" +msgstr "הזנה ידנית" + +#: backend/fujitsu.c:4500 +#, no-c-format +msgid "Manual feed selected" +msgstr "נבחרה הזנה ידנית" + +#: backend/fujitsu.c:4523 +#, no-c-format +msgid "Function" +msgstr "פונקציה" + +#: backend/fujitsu.c:4524 +#, no-c-format +msgid "Function character on screen" +msgstr "תו פונקציה על מסך" + +#: backend/fujitsu.c:4535 +#, no-c-format +msgid "Ink low" +msgstr "דיו נמוך" + +#: backend/fujitsu.c:4536 +#, no-c-format +msgid "Imprinter ink running low" +msgstr "דיו רושם עומד להיגמר" + +#: backend/fujitsu.c:4547 +#, no-c-format +msgid "Double feed" +msgstr "הזנה כפולה" + +#: backend/fujitsu.c:4548 +#, no-c-format +msgid "Double feed detected" +msgstr "התגלתה הזנה כפולה" + +#: backend/fujitsu.c:4559 +#, no-c-format +msgid "Error code" +msgstr "קוד תקלה" + +#: backend/fujitsu.c:4560 +#, no-c-format +msgid "Hardware error code" +msgstr "קוד תקלה חומרה" + +#: backend/fujitsu.c:4571 +#, no-c-format +msgid "Skew angle" +msgstr "זווית הטיה" + +#: backend/fujitsu.c:4572 +#, no-c-format +msgid "Requires black background for scanning" +msgstr "דורש רקע שחור עבור סריקה" + +#: backend/fujitsu.c:4583 +#, no-c-format +msgid "Ink remaining" +msgstr "דיו נותר" + +#: backend/fujitsu.c:4584 +#, no-c-format +msgid "Imprinter ink level" +msgstr "רמת דיו רושם" + +#: backend/fujitsu.c:4595 +#, no-c-format +msgid "Density" +msgstr "צפיפות" + +#: backend/fujitsu.c:4596 +#, no-c-format +msgid "Density dial" +msgstr "לוח צפיפות" + +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#, no-c-format +msgid "Duplex switch" +msgstr "החלפה דו צדדית" + +#: backend/genesys.cc:5437 +#, no-c-format +msgid "Request backend to remove border from pages digitally" +msgstr "בקש מה-backend להסיר גבול מהעמודים באופן דיגיטלי" + +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#, no-c-format +msgid "Request driver to discard pages with low numbers of dark pixels" +msgstr "בקש מהדרייבר לזנוח עמודים עם מספר נמוך של פיקסלים כהים" + +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#, no-c-format +msgid "Software derotate" +msgstr "סיבוב תוכנה" + +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#, no-c-format +msgid "Request driver to detect and correct 90 degree image rotation" +msgstr "בקש מהדרייבר לגלות ולתקן סיבוב תמונה של 90 מעלות" + +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#, no-c-format +msgid "Extras" +msgstr "תוספות" + +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#, no-c-format +msgid "Dynamic threshold curve, from light to dark, normally 50-65" +msgstr "עקום סף דינמי, מבהיר לכהה, בדרך כלל 50-65" + +#: backend/genesys.cc:5515 +#, no-c-format +msgid "Disable dynamic lineart" +msgstr "כבה סגנון קווי דינמי" + +#: backend/genesys.cc:5517 +#, no-c-format +msgid "" +"Disable use of a software adaptive algorithm to generate lineart relying " +"instead on hardware lineart." +msgstr "" +"כבה שימוש של אלגוריתם מסתגל תוכנתי ליצור סגנון קווי ובמקום זאת הסתמך על " +"סגנון קווי חומרתי." + +#: backend/genesys.cc:5533 +#, no-c-format +msgid "Disable interpolation" +msgstr "כבה אינטרפולציה" + +#: backend/genesys.cc:5536 +#, no-c-format +msgid "" +"When using high resolutions where the horizontal resolution is smaller " +"than the vertical resolution this disables horizontal interpolation." +msgstr "" +"כאשר רזולוציות גבוהות בשימוש היכן שהרזולוציה האופקית קטנה מהרזולוציה " +"האנכית זה מכבה אינטרפולציה אופקית." + +#: backend/genesys.cc:5545 +#, no-c-format +msgid "Color filter" +msgstr "מסנן צבע" + +#: backend/genesys.cc:5548 +#, no-c-format +msgid "When using gray or lineart this option selects the used color." +msgstr "כאשר משתמשים באפור או בסגנון קווי אפשרות זו בוחרת את הצבע בשימוש." + +#: backend/genesys.cc:5574 +#, no-c-format +msgid "Calibration file" +msgstr "קובץ כיול" + +#: backend/genesys.cc:5575 +#, no-c-format +msgid "Specify the calibration file to use" +msgstr "פרט את קובץ הכיול לשימוש" + +#: backend/genesys.cc:5592 +#, no-c-format +msgid "Calibration cache expiration time" +msgstr "זמן תפוגה מטמון כיול" + +#: backend/genesys.cc:5593 +#, no-c-format +msgid "" +"Time (in minutes) before a cached calibration expires. A value of 0 " +"means cache is not used. A negative value means cache never expires." +msgstr "" +"זמן (בדקות) לפני שכיול מוטמן פג. ערך של 0 אומר שמטמון אינו בשימוש. ערך " +"שלילי אומר שמטמון לעולם לא פג." + +#: backend/genesys.cc:5603 +#, no-c-format +msgid "Lamp off time" +msgstr "זמן כיבוי מנורה" + +#: backend/genesys.cc:5606 +#, no-c-format +msgid "" +"The lamp will be turned off after the given time (in minutes). A value " +"of 0 means, that the lamp won't be turned off." +msgstr "" +"המנורה תיכבה לאחר הזמן הנתון (בדקות). ערך של 0 אומר, שהמנורה לא תיכבה." + +#: backend/genesys.cc:5616 +#, no-c-format +msgid "Lamp off during scan" +msgstr "מנורה כבויה במהלך סריקה" + +#: backend/genesys.cc:5617 +#, no-c-format +msgid "The lamp will be turned off during scan. " +msgstr "המנורה תיכבה במהלך סריקה. " + +#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#, no-c-format +msgid "File button" +msgstr "כפתור קובץ" + +#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#, no-c-format +msgid "OCR button" +msgstr "כפתור OCR" + +#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#, no-c-format +msgid "Power button" +msgstr "כפתור הדלקה" + +#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#, no-c-format +msgid "Extra button" +msgstr "כפתור אקסטרה" + +#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#, no-c-format +msgid "Need calibration" +msgstr "דרוש כיול" + +#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#, no-c-format +msgid "The scanner needs calibration for the current settings" +msgstr "הסורק דורש כיול עבור ההגדרות הנוכחיות" + +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 +#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#, no-c-format +msgid "Buttons" +msgstr "כפתורים" + +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 +#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#, no-c-format +msgid "Calibrate" +msgstr "כייל" + +#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#, no-c-format +msgid "Start calibration using special sheet" +msgstr "התחל כיול בעזרת דף מיוחד" + +#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#, no-c-format +msgid "Clear calibration" +msgstr "נקה כיול" + +#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#, no-c-format +msgid "Clear calibration cache" +msgstr "נקה מטמון כיול" + +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "כיול גס" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + +#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 +#: backend/snapscan-options.c:87 backend/umax.c:182 +#, no-c-format +msgid "Transparency Adapter" +msgstr "מתאם שקיפות" + +#: backend/gt68xx.c:470 +#, no-c-format +msgid "Gray mode color" +msgstr "צבע מצב אפור" + +#: backend/gt68xx.c:472 +#, no-c-format +msgid "Selects which scan color is used gray mode (default: green)." +msgstr "בוחר איזה צבע סריקה בשימוש מצב אפור (ברירת מחדל: ירוק)." + +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 +#, no-c-format +msgid "Debugging Options" +msgstr "אפשרויות ניקוי באגים" + +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 +#, no-c-format +msgid "Automatic warmup" +msgstr "חימום אוטומטי" + +#: backend/gt68xx.c:566 +#, no-c-format +msgid "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"60 seconds warm-up time." +msgstr "" +"בצע חימום עד שבהירות המנורה קבועה במקום להיצמד לזמן חימום של 60 שניות." + +#: backend/gt68xx.c:578 +#, no-c-format +msgid "Full scan" +msgstr "סריקה מלאה" + +#: backend/gt68xx.c:580 +#, no-c-format +msgid "" +"Scan the complete scanning area including calibration strip. Be careful. " +"Don't select the full height. For testing only." +msgstr "" +"סרוק את כל שטח הסריקה כולל רצועת הכיול. שים לב. אל תבחר את כל הגובה. " +"לבדיקה בלבד." + +#: backend/gt68xx.c:591 +#, no-c-format +msgid "Coarse calibration" +msgstr "כיול גס" + +#: backend/gt68xx.c:593 +#, no-c-format +msgid "" +"Setup gain and offset for scanning automatically. If this option is " +"disabled, options for setting the analog frontend parameters manually " +"are provided. This option is enabled by default. For testing only." +msgstr "" +"קבע הגבר ואופסט לסריקה אוטומטית. אם אפשרות זו כבויה, קיימות אפשרויות " +"לקביעת הפרמטרים של הממשק האנלוגי באופן ידני. אפשרות זו פועלת כברירת " +"מחדל. לבדיקה בלבד." + +#: backend/gt68xx.c:612 +#, no-c-format +msgid "Coarse calibration for first scan only" +msgstr "כיול גס עבור סריקה ראשונה בלבד" + +#: backend/gt68xx.c:614 +#, no-c-format +msgid "" +"Coarse calibration is only done for the first scan. Works with most " +"scanners and can save scanning time. If the image brightness is " +"different with each scan, disable this option. For testing only." +msgstr "" +"כיול גס מבוצע רק עבור הסריקה הראשונה. עובד עם רוב הסורקים ויכול לחסוך " +"זמן סריקה. אם בהירות התמונה שונה בכל סריקה, כבה את האפשרות הזו . לבדיקה " +"בלבד." + +#: backend/gt68xx.c:647 +#, no-c-format +msgid "Backtrack lines" +msgstr "קווי חזרה" + +#: backend/gt68xx.c:649 +#, no-c-format +msgid "" +"Number of lines the scan slider moves back when backtracking occurs. " +"That happens when the scanner scans faster than the computer can receive " +"the data. Low values cause faster scans but increase the risk of " +"omitting lines." +msgstr "" +"מספר הקווים שהחלק הנע בסורק חוזר אחורה כאשר מתרחשת חזרה. זה קורה כאשר " +"הסורק סורק מהר יותר מיכולת המחשב לקבל את המידע. ערכים נמוכים גורמים " +"לסריקות מהירות יותר אבל מגדילים את הסיכוי לפספס שורות." + +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 +#, no-c-format +msgid "Gamma value" +msgstr "ערך גמה" + +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 +#, no-c-format +msgid "Sets the gamma value of all channels." +msgstr "קובע את ערך גמה של כל הערוצים." + +#: backend/hp3500.c:1020 +#, no-c-format +msgid "Geometry Group" +msgstr "קבוצת גיאומטריה" + +#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#, no-c-format +msgid "Scan Mode Group" +msgstr "קבוצת מצב סריקה" + +#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 +#: backend/hp-option.c:3177 +#, no-c-format +msgid "Slide" +msgstr "שקף" + +#: backend/hp3900_sane.c:1405 +#, no-c-format +msgid "Scanner model" +msgstr "דגם סורק" + +#: backend/hp3900_sane.c:1408 +#, no-c-format +msgid "Allows one to test device behaviour with other supported models" +msgstr "מאפשר לבדוק התנהגות ההתקן עם דגמים נתמכים אחרים" + +#: backend/hp3900_sane.c:1422 +#, no-c-format +msgid "Image colours will be inverted" +msgstr "הצבעים של התמונה יתהפכו" + +#: backend/hp3900_sane.c:1436 +#, no-c-format +msgid "Disable gamma correction" +msgstr "כבה תיקון גמה" + +#: backend/hp3900_sane.c:1437 +#, no-c-format +msgid "Gamma correction will be disabled" +msgstr "תיקון גמה יהיה כבוי" + +#: backend/hp3900_sane.c:1451 +#, no-c-format +msgid "Disable white shading correction" +msgstr "כבה תיקון הצללה לבנה" + +#: backend/hp3900_sane.c:1453 +#, no-c-format +msgid "White shading correction will be disabled" +msgstr "תיקון הצללה לבנה יהיה כבוי" + +#: backend/hp3900_sane.c:1467 +#, no-c-format +msgid "Skip warmup process" +msgstr "דלג על תהליך חימום" + +#: backend/hp3900_sane.c:1468 +#, no-c-format +msgid "Warmup process will be disabled" +msgstr "תהליך חימום יהיה כבוי" + +#: backend/hp3900_sane.c:1482 +#, no-c-format +msgid "Force real depth" +msgstr "אלץ עומק אמיתי" + +#: backend/hp3900_sane.c:1485 +#, no-c-format +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"אם גמה פועלת, סריקות תמיד מבוצעות בעומק 16 ביטים כדי לשפר את איכות " +"התמונה ואז מומרות לעומק הנבחר. אפשרות זו מונעת דימוי עומק." + +#: backend/hp3900_sane.c:1499 +#, no-c-format +msgid "Emulate Grayscale" +msgstr "דמה גווני אפור" + +#: backend/hp3900_sane.c:1502 +#, no-c-format +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"אם פועלת, התמונה תיסרק במצב צבע ואז תהפוך המרה לגווני אפור בעזרת התוכנה. " +"זה יכול לשפר את איכות התמונה בנסיבות מסוימות." + +#: backend/hp3900_sane.c:1516 +#, no-c-format +msgid "Save debugging images" +msgstr "שמור תמונות ניפוי באגים" + +#: backend/hp3900_sane.c:1519 +#, no-c-format +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"אם פועלת, חלק מהתמונות שקשורות בעיבוד הסורק נשמרות לצורך אבחון שלהן." + +#: backend/hp3900_sane.c:1533 +#, no-c-format +msgid "Reset chipset" +msgstr "אתחל צ'יפסט" + +#: backend/hp3900_sane.c:1534 +#, no-c-format +msgid "Resets chipset data" +msgstr "מאתחל מידע צ'יפסט" + +#: backend/hp3900_sane.c:1547 +#, no-c-format +msgid "Information" +msgstr "מידע" + +#: backend/hp3900_sane.c:1560 +#, no-c-format +msgid "Chipset name" +msgstr "שם צ'יפסט" + +#: backend/hp3900_sane.c:1561 +#, no-c-format +msgid "Shows chipset name used in device." +msgstr "מראה שם צ'יפסט בשימוש ההתקן." + +#: backend/hp3900_sane.c:1565 +#, no-c-format +msgid "Unknown" +msgstr "לא ידוע" + +#: backend/hp3900_sane.c:1571 +#, no-c-format +msgid "Chipset ID" +msgstr "Chipset ID" + +#: backend/hp3900_sane.c:1572 +#, no-c-format +msgid "Shows the chipset ID" +msgstr "מראה את ה-ID של הצ'יפסט" + +#: backend/hp3900_sane.c:1582 +#, no-c-format +msgid "Scan counter" +msgstr "מונה סריקה" + +#: backend/hp3900_sane.c:1584 +#, no-c-format +msgid "Shows the number of scans made by scanner" +msgstr "מציג את מספר הסריקות שבוצעו בעזרת הסורק" + +#: backend/hp3900_sane.c:1594 +#, no-c-format +msgid "Update information" +msgstr "עדכן מידע" + +#: backend/hp3900_sane.c:1595 +#, no-c-format +msgid "Updates information about device" +msgstr "מעדכן מידע אודות התקן" + +#: backend/hp3900_sane.c:1635 +#, no-c-format +msgid "This option reflects a front panel scanner button" +msgstr "אפשרות זו משקפת כפתור סורק בלוח החזיתי" + +#: backend/hp5400_sane.c:313 backend/niash.c:678 +#, no-c-format +msgid "Image" +msgstr "תמונה" + +#: backend/hp5400_sane.c:352 backend/niash.c:709 +#, no-c-format +msgid "Miscellaneous" +msgstr "שונות" + +#: backend/hp5400_sane.c:358 +#, no-c-format +msgid "offset X" +msgstr "אופסט X" + +#: backend/hp5400_sane.c:359 +#, no-c-format +msgid "Hardware internal X position of the scanning area." +msgstr "מיקום X פנימי חומרה של שטח הסריקה." + +#: backend/hp5400_sane.c:368 +#, no-c-format +msgid "offset Y" +msgstr "אופסט Y" + +#: backend/hp5400_sane.c:369 +#, no-c-format +msgid "Hardware internal Y position of the scanning area." +msgstr "מיקום Y פנימי חומרה של שטח הסריקה." + +#: backend/hp5400_sane.c:381 backend/niash.c:716 +#, no-c-format +msgid "Lamp status" +msgstr "סטטוס מנורה" + +#: backend/hp5400_sane.c:382 backend/niash.c:717 +#, no-c-format +msgid "Switches the lamp on or off." +msgstr "מדליק או מכבה את המנורה." + +#: backend/hp5400_sane.c:393 backend/niash.c:727 +#, no-c-format +msgid "Calibrates for black and white level." +msgstr "מכייל עבור רמת שחור ולבן." + +#: backend/hp5590.c:93 backend/hp-option.c:3256 +#, no-c-format +msgid "ADF" +msgstr "מזין מסמכים אוטומטי" + +#: backend/hp5590.c:95 +#, no-c-format +msgid "TMA Slides" +msgstr "שקפים TMA" + +#: backend/hp5590.c:96 +#, no-c-format +msgid "TMA Negatives" +msgstr "תשלילים TMA" + +#: backend/hp5590.c:108 +#, no-c-format +msgid "Color (48 bits)" +msgstr "צבע (48 ביטים)" + +#: backend/hp5590.c:112 +#, no-c-format +msgid "Extend lamp timeout" +msgstr "הארך זמן תפוגה מנורה" + +#: backend/hp5590.c:113 +#, no-c-format +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "מאריך זמן תפוגה מנורה (מ-15 דקות ל-1 שעה)" + +#: backend/hp5590.c:115 +#, no-c-format +msgid "Wait for button" +msgstr "חכה לכפתור" + +#: backend/hp5590.c:116 +#, no-c-format +msgid "Waits for button before scanning" +msgstr "מחכה לכפתור לפני סריקה" + +#: backend/hp5590.c:118 +#, no-c-format +msgid "Last button pressed" +msgstr "כפתור אחרון שנלחץ" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "קבל את ה-ID של הכפתור האחרון שנלחץ (קריאה בלבד)" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "מונה סריקה" + +#: backend/hp5590.c:122 +#, fuzzy, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "קבל את ה-ID של הכפתור האחרון שנלחץ (קריאה בלבד)" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "צבע סגנון קווי" + +#: backend/hp5590.c:125 +#, fuzzy, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "קבל את ה-ID של הכפתור האחרון שנלחץ (קריאה בלבד)" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "הסתר את הפיקסל של סוף העמוד" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "מסתיר את הפיקסלים המורים על סוף העמוד ומחליף עם הפיקסלים השכנים" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "מצב מילוי של קווים משתרכים לאחר מידע סריקה (מזין מסמכים אוטומטי)" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" +"גולמי = מידע סריקה גולמי ,אחרונה = חזור על שורת סריקה אחרונה, מפת סיביות " +"= מפת סיביות שחור לבן, לבן = צבע לבן, שחור = צבע שחור, צבע = ערך צבע RGB " +"או אפור" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "ערך צבע RGB או אפור למצב מילוי \"צבע\"" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" +"ערך צבע עבור מצב מילוי קווים משתרכים \"צבע\". צבע RGB לפי r*65536+256*g" +"+b או ערך אפור (ברירת מחדל=סגול או אפור)" + +#: backend/hp-option.c:2987 +#, no-c-format +msgid "Advanced Options" +msgstr "אפשרויות מתקדמות" + +#: backend/hp-option.c:3044 +#, no-c-format +msgid "Coarse" +msgstr "גס" + +#: backend/hp-option.c:3045 +#, no-c-format +msgid "Fine" +msgstr "עדין" + +#: backend/hp-option.c:3046 +#, no-c-format +msgid "Bayer" +msgstr "Bayer" + +#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#, no-c-format +msgid "Custom" +msgstr "מותאם אישית" + +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 +#, no-c-format +msgid "Auto" +msgstr "אוטומטי" + +#: backend/hp-option.c:3091 +#, no-c-format +msgid "NTSC RGB" +msgstr "NTSC RGB" + +#: backend/hp-option.c:3092 +#, no-c-format +msgid "XPA RGB" +msgstr "XPA RGB" + +#: backend/hp-option.c:3093 +#, no-c-format +msgid "Pass-through" +msgstr "חודר" + +#: backend/hp-option.c:3094 +#, no-c-format +msgid "NTSC Gray" +msgstr "אפור NTSC" + +#: backend/hp-option.c:3095 +#, no-c-format +msgid "XPA Gray" +msgstr "אפור XPA" + +#: backend/hp-option.c:3147 +#, no-c-format +msgid "Slow" +msgstr "לאט" + +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#, no-c-format +msgid "Normal" +msgstr "רגיל" + +#: backend/hp-option.c:3149 +#, no-c-format +msgid "Fast" +msgstr "מהר" + +#: backend/hp-option.c:3150 +#, no-c-format +msgid "Extra Fast" +msgstr "מהר מאוד" + +#: backend/hp-option.c:3163 +#, no-c-format +msgid "2-pixel" +msgstr "2-פיקסל" + +#: backend/hp-option.c:3164 +#, no-c-format +msgid "4-pixel" +msgstr "4-פיקסל" + +#: backend/hp-option.c:3165 +#, no-c-format +msgid "8-pixel" +msgstr "8-פיקסל" + +#: backend/hp-option.c:3176 +#, no-c-format +msgid "Print" +msgstr "הדפסה" + +#: backend/hp-option.c:3178 +#, no-c-format +msgid "Film-strip" +msgstr "רצועת-סרט" + +#: backend/hp-option.c:3257 +#, no-c-format +msgid "XPA" +msgstr "XPA" + +#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#, no-c-format +msgid "Conditional" +msgstr "על תנאי" + +#: backend/hp-option.c:3417 +#, no-c-format +msgid "Experiment" +msgstr "ניסוי" + +#: backend/hp-option.h:60 +#, no-c-format +msgid "Sharpening" +msgstr "חידוד" + +#: backend/hp-option.h:61 +#, no-c-format +msgid "Set sharpening value." +msgstr "קבע ערך חידוד." + +#: backend/hp-option.h:66 +#, no-c-format +msgid "Auto Threshold" +msgstr "סף אוטומטי" + +#: backend/hp-option.h:68 +#, no-c-format +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "הפעל קביעה אוטומטית של סף עבור סריקות סגנון קווי." + +#: backend/hp-option.h:74 +#, no-c-format +msgid "Select smoothing filter." +msgstr "בחר מסנן החלקה." + +#: backend/hp-option.h:79 +#, no-c-format +msgid "Unload media after scan" +msgstr "הוצא מדיה לאחר סריקה" + +#: backend/hp-option.h:80 +#, no-c-format +msgid "Unloads the media after a scan." +msgstr "מוציא את המדיה לאחר סריקה." + +#: backend/hp-option.h:85 +#, no-c-format +msgid "Change document" +msgstr "שנה מסמך" + +#: backend/hp-option.h:86 +#, no-c-format +msgid "Change Document." +msgstr "שנה מסמך." + +#: backend/hp-option.h:91 +#, no-c-format +msgid "Unload" +msgstr "הוצא" + +#: backend/hp-option.h:92 +#, no-c-format +msgid "Unload Document." +msgstr "הוצא מסמך." + +#: backend/hp-option.h:98 +#, no-c-format +msgid "Start calibration process." +msgstr "התחל תהליך כיול." + +#: backend/hp-option.h:103 +#, no-c-format +msgid "Media" +msgstr "מדיה" + +#: backend/hp-option.h:104 +#, no-c-format +msgid "Set type of media." +msgstr "קבע סוג מדיה." + +#: backend/hp-option.h:109 +#, no-c-format +msgid "Exposure time" +msgstr "זמן חשיפה" + +#: backend/hp-option.h:111 +#, no-c-format +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"זמן חשיפה ארוך יותר מאפשר לסורק לאסוף עוד אור. שימוש מומלץ הוא 175% " +"להדפסות, 150% לשקפים רגילים ו\"תשלילים\" עבור סרט תשלילים. עבור תמונות " +"כהות (תת חשיפה) אתה יכול להגדיל את הערך הזה." + +#: backend/hp-option.h:119 backend/hp-option.h:126 +#, no-c-format +msgid "Color Matrix" +msgstr "מטריצת צבע" + +#: backend/hp-option.h:121 +#, no-c-format +msgid "Set the scanners color matrix." +msgstr "קבע את מטריצת הצבע של הסורק." + +#: backend/hp-option.h:127 +#, no-c-format +msgid "Custom color matrix." +msgstr "מטריצת צבע מותאמת אישית." + +#: backend/hp-option.h:132 +#, no-c-format +msgid "Mono Color Matrix" +msgstr "מטריצת צבע מונו" + +#: backend/hp-option.h:133 +#, no-c-format +msgid "Custom color matrix for grayscale scans." +msgstr "מטריצת צבע מותאמת אישית עבור סריקות בגווני אפור." + +#: backend/hp-option.h:138 +#, no-c-format +msgid "Mirror horizontal" +msgstr "בצע תמונת ראי אופקית" + +#: backend/hp-option.h:139 +#, no-c-format +msgid "Mirror image horizontally." +msgstr "תמונת ראי אופקית." + +#: backend/hp-option.h:144 +#, no-c-format +msgid "Mirror vertical" +msgstr "בצע תמונת ראי אנכית" + +#: backend/hp-option.h:145 +#, no-c-format +msgid "Mirror image vertically." +msgstr "תמונת ראי אנכית." + +#: backend/hp-option.h:150 +#, no-c-format +msgid "Update options" +msgstr "עדכן אפשרויות" + +#: backend/hp-option.h:151 +#, no-c-format +msgid "Update options." +msgstr "עדכן אפשרויות." + +#: backend/hp-option.h:156 +#, no-c-format +msgid "8 bit output" +msgstr "פלט 8 ביט" + +#: backend/hp-option.h:158 +#, no-c-format +msgid "Use bit depth greater eight internally, but output only eight bits." +msgstr "השתמש בעומק ביט גדול משמונה פנימית, אבל בצע פלט רק של שמונה ביטים." + +#: backend/hp-option.h:164 +#, no-c-format +msgid "Front button wait" +msgstr "המתנה כפתור חזיתי" + +#: backend/hp-option.h:165 +#, no-c-format +msgid "Wait to scan for front-panel button push." +msgstr "המתן לסריקה עד ללחיצה על כפתור בלוח החזיתי." + +#: backend/hp-option.h:172 +#, no-c-format +msgid "Shut off lamp" +msgstr "כיבוי מנורה" + +#: backend/hp-option.h:173 +#, no-c-format +msgid "Shut off scanner lamp." +msgstr "כיבוי מנורת סורק." + +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 +#, no-c-format +msgid "Paper size" +msgstr "גודל נייר" + +#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 +#: backend/matsushita.h:227 +#, no-c-format +msgid "Automatic separation" +msgstr "הפרדה אוטומטית" + +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 +#, no-c-format +msgid "Landscape" +msgstr "תמונת נוף" + +#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 +#, no-c-format +msgid "Inverse Image" +msgstr "הפוך תמונה" + +#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 +#, no-c-format +msgid "Long paper mode" +msgstr "מצב נייר ארוך" + +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 +#, no-c-format +msgid "Length control mode" +msgstr "מצב בקרת אורך" + +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 +#, no-c-format +msgid "Manual feed mode" +msgstr "מצב הזנה ידנית" + +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 +#, no-c-format +msgid "Manual feed timeout" +msgstr "זמן תפוגה הזנה ידנית" + +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 +#, no-c-format +msgid "Double feed detection" +msgstr "גילוי הזנה כפולה" + +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 +#, no-c-format +msgid "Enable Duplex (Dual-Sided) Scanning" +msgstr "הפעל סריקה דו צדדית (משני הצדדים)" + +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 +#, no-c-format +msgid "Physical size of the paper in the ADF" +msgstr "גודל פיזי של הנייר במזין המסמכים האוטומטי" + +#: backend/kvs1025_opt.c:39 +#, no-c-format +msgid "bw" +msgstr "שחור לבן" + +#: backend/kvs1025_opt.c:40 +#, no-c-format +msgid "halftone" +msgstr "הדפסת רשת" + +#: backend/kvs1025_opt.c:41 +#, no-c-format +msgid "gray" +msgstr "אפור" + +#: backend/kvs1025_opt.c:42 +#, no-c-format +msgid "color" +msgstr "צבע" + +#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 +#: backend/kvs40xx_opt.c:1047 +#, no-c-format +msgid "adf" +msgstr "מזין מסמכים אוטומטי" + +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 +#, no-c-format +msgid "fb" +msgstr "שטוח" + +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 +#, no-c-format +msgid "single" +msgstr "בודד" + +#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 +#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx_opt.c:1087 +#, no-c-format +msgid "continuous" +msgstr "רציף" + +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 +#, no-c-format +msgid "off" +msgstr "כבוי" + +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 +#, no-c-format +msgid "wait_doc" +msgstr "wait_doc" + +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 +#, no-c-format +msgid "wait_key" +msgstr "wait_key" + +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 +#, no-c-format +msgid "user_def" +msgstr "user_def" + +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 +#, no-c-format +msgid "business_card" +msgstr "business_card" + +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 +#, no-c-format +msgid "Check" +msgstr "בדיקה" + +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 +#, no-c-format +msgid "A5" +msgstr "A5" + +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 +#, no-c-format +msgid "A6" +msgstr "A6" + +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 +#, no-c-format +msgid "B5" +msgstr "B5" + +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 +#, no-c-format +msgid "B6" +msgstr "B6" + +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 +#, no-c-format +msgid "Legal" +msgstr "Legal" + +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 +#, no-c-format +msgid "bayer_64" +msgstr "bayer_64" + +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 +#, no-c-format +msgid "bayer_16" +msgstr "bayer_16" + +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 +#, no-c-format +msgid "halftone_32" +msgstr "halftone_32" + +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 +#, no-c-format +msgid "halftone_64" +msgstr "halftone_64" + +#: backend/kvs1025_opt.c:152 +#, no-c-format +msgid "diffusion" +msgstr "דיפוזיה" + +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 +#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 +#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 +#, no-c-format +msgid "normal" +msgstr "רגיל" + +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 +#, no-c-format +msgid "light" +msgstr "בהיר" + +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 +#, no-c-format +msgid "dark" +msgstr "כהה" + +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 +#, no-c-format +msgid "From scanner" +msgstr "מסורק" + +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 +#, no-c-format +msgid "From paper" +msgstr "מנייר" + +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 +#, no-c-format +msgid "default" +msgstr "ברירת מחדל" + +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 +#: backend/kvs40xx_opt.c:209 +#, no-c-format +msgid "smooth" +msgstr "חלק" + +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 +#: backend/kvs40xx_opt.c:205 +#, no-c-format +msgid "none" +msgstr "ללא" + +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 +#: backend/kvs40xx_opt.c:206 +#, no-c-format +msgid "low" +msgstr "נמוך" + +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 +#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 +#, no-c-format +msgid "medium" +msgstr "בינוני" + +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 +#: backend/kvs40xx_opt.c:208 +#, no-c-format +msgid "high" +msgstr "גבוה" + +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 +#: backend/kvs40xx_opt.c:216 +#, no-c-format +msgid "crt" +msgstr "crt" + +#: backend/kvs1025_opt.c:229 +#, no-c-format +msgid "linier" +msgstr "linier" + +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 +#: backend/kvs40xx_opt.c:224 +#, no-c-format +msgid "red" +msgstr "אדום" + +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 +#: backend/kvs40xx_opt.c:225 +#, no-c-format +msgid "green" +msgstr "ירוק" + +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 +#: backend/kvs40xx_opt.c:226 +#, no-c-format +msgid "blue" +msgstr "כחול" + +#: backend/kvs1025_opt.c:561 +#, no-c-format +msgid "Sets the scan source" +msgstr "קובע את מקור הסריקה" + +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 +#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 +#, no-c-format +msgid "Feeder mode" +msgstr "מצב הזנה" + +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 +#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 +#, no-c-format +msgid "Sets the feeding mode" +msgstr "קובע את מצב ההזנה" + +#: backend/kvs1025_opt.c:583 +#, no-c-format +msgid "Enable/Disable long paper mode" +msgstr "הפעל/כבה מצב נייר ארוך" + +#: backend/kvs1025_opt.c:592 +#, no-c-format +msgid "Enable/Disable length control mode" +msgstr "הפעל/כבה מצב בקרת אורך" + +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 +#: backend/kvs40xx_opt.c:417 +#, no-c-format +msgid "Sets the manual feed mode" +msgstr "קובע את מצב הזנה ידנית" + +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 +#: backend/kvs40xx_opt.c:429 +#, no-c-format +msgid "Sets the manual feed timeout in seconds" +msgstr "קובע זמן תפוגה בשניות של הזנה ידנית" + +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 +#: backend/kvs40xx_opt.c:442 +#, no-c-format +msgid "Enable/Disable double feed detection" +msgstr "הפעל/כבה גילוי הזנה כפולה" + +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 +#: backend/kvs40xx_opt.c:497 +#, no-c-format +msgid "fit-to-page" +msgstr "התאם לעמוד" + +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 +#: backend/kvs40xx_opt.c:498 +#, no-c-format +msgid "Fit to page" +msgstr "התאם לעמוד" + +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 +#: backend/kvs40xx_opt.c:499 +#, no-c-format +msgid "Scanner shrinks image to fit scanned page" +msgstr "סורק מכווץ תמונה כדי שתתאים לעמוד נסרק" + +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 +#: backend/kvs40xx_opt.c:533 +#, no-c-format +msgid "Set paper position : true for landscape, false for portrait" +msgstr "קבע מיקום נייר: לתמונת נוף true, לתמונת דיוקן false" + +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 +#, no-c-format +msgid "Automatic threshold" +msgstr "סף אוטומטי" + +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 +#, no-c-format +msgid "" +"Automatically sets brightness, contrast, white level, gamma, noise " +"reduction and image emphasis" +msgstr "" +"קובע אוטומטית בהירות, ניגודיות, רמת לבן, גמה, הפחתת רעשים והדגשת תמונה" + +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 +#: backend/matsushita.c:1275 +#, no-c-format +msgid "Noise reduction" +msgstr "הפחתת רעשים" + +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 +#: backend/matsushita.c:1277 +#, no-c-format +msgid "Reduce the isolated dot noise" +msgstr "הפחת רעש נקודה מבודדת" + +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 +#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 +#, no-c-format +msgid "Image emphasis" +msgstr "הדגשת תמונה" + +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 +#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 +#, no-c-format +msgid "Sets the image emphasis" +msgstr "קובע הדגשת תמונה" + +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 +#: backend/matsushita.c:1300 backend/matsushita.c:1301 +#: backend/pixma_sane_options.c:112 +#, no-c-format +msgid "Gamma" +msgstr "גמה" + +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 +#: backend/kvs40xx_opt.c:681 +#, no-c-format +msgid "Lamp color" +msgstr "צבע מנורה" + +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 +#: backend/kvs40xx_opt.c:682 +#, no-c-format +msgid "Sets the lamp color (color dropout)" +msgstr "קובע את צבע המנורה (נפילת צבע)" + +#: backend/kvs1025_opt.c:831 +#, no-c-format +msgid "Inverse image in B/W or halftone mode" +msgstr "הפוך תמונה במצב שחור לבן או הדפסת רשת" + +#: backend/kvs1025_opt.c:839 +#, no-c-format +msgid "Mirror image (left/right flip)" +msgstr "בצע תמונת ראי (היפוך שמאל/ימין)" + +#: backend/kvs1025_opt.c:846 +#, no-c-format +msgid "jpeg compression" +msgstr "דחיסת jpeg" + +#: backend/kvs1025_opt.c:849 +#, no-c-format +msgid "JPEG Image Compression with Q parameter, '0' - no compression" +msgstr "דחיסת תמונת JPEG עם פרמטר Q, ללא דחיסה - 0" + +#: backend/kvs1025_opt.c:859 +#, no-c-format +msgid "Rotate image clockwise" +msgstr "סובב תמונה בכיוון השעון" + +#: backend/kvs1025_opt.c:861 +#, no-c-format +msgid "Request driver to rotate pages by a fixed amount" +msgstr "בקש מהדרייבר לסובב עמודים בכמות קבועה" + +#: backend/kvs1025_opt.c:873 +#, no-c-format +msgid "Request driver to rotate skewed pages digitally" +msgstr "בקש מהדרייבר לסובב עמודים מוטים באופן דיגיטלי" + +#: backend/kvs1025_opt.c:882 +#, no-c-format +msgid "Maximum diameter of lone dots to remove from scan" +msgstr "קוטר מירבי של נקודות בודדות להסרה מסריקה" + +#: backend/kvs1025_opt.c:901 +#, no-c-format +msgid "Software automatic cropping" +msgstr "קיצוץ אוטומטי תוכנה" + +#: backend/kvs1025_opt.c:903 +#, no-c-format +msgid "Request driver to remove border from pages digitally" +msgstr "בקש מהדרייבר להסיר גבול מהעמודים באופן דיגיטלי" + +#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode is a mode that the scanner reads up to the shorter " +"length of actual paper or logical document length." +msgstr "" +"מצב בקרת אורך הוא מצב בו הסורק קורא עד לאורך הקצר יותר של הנייר בפועל או " +"אורך המסמך הלוגי." + +#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 +#, no-c-format +msgid "Gamma correction" +msgstr "תיקון גמה" + +#: backend/kvs40xx_opt.c:117 +#, no-c-format +msgid "wait_doc_hopper_up" +msgstr "wait_doc_hopper_up" + +#: backend/kvs40xx_opt.c:127 +#, no-c-format +msgid "A3" +msgstr "A3" + +#: backend/kvs40xx_opt.c:132 +#, no-c-format +msgid "Double letter 11x17 in" +msgstr "מכתב כפול 11x17 אינטש" + +#: backend/kvs40xx_opt.c:133 +#, no-c-format +msgid "B4" +msgstr "B4" + +#: backend/kvs40xx_opt.c:231 +#, no-c-format +msgid "High sensivity" +msgstr "רגישות גבוהה" + +#: backend/kvs40xx_opt.c:232 +#, no-c-format +msgid "Low sensivity" +msgstr "רגישות נמוכה" + +#: backend/kvs40xx_opt.c:243 +#, no-c-format +msgid "err_diffusion" +msgstr "err_diffusion" + +#: backend/kvs40xx_opt.c:249 +#, no-c-format +msgid "No detection" +msgstr "ללא גילוי" + +#: backend/kvs40xx_opt.c:250 +#, no-c-format +msgid "Normal mode" +msgstr "מצב רגיל" + +#: backend/kvs40xx_opt.c:251 +#, no-c-format +msgid "Enhanced mode" +msgstr "מצב מועשר" + +#: backend/kvs40xx_opt.c:405 +#, no-c-format +msgid "" +"Long Paper Mode is a mode that the scanner reads the image after it " +"divides long paper by the length which is set in Document Size option." +msgstr "" +"מצב נייר ארוך הוא מצב בו הסורק קורא את התמונה לאחר חלוקת נייר ארוך באורך " +"שנקבע באפשרות גודל מסמך." + +#: backend/kvs40xx_opt.c:449 +#, no-c-format +msgid "Double feed detector sensitivity" +msgstr "רגישות גלאי הזנה כפולה" + +#: backend/kvs40xx_opt.c:450 +#, no-c-format +msgid "Set the double feed detector sensitivity" +msgstr "קבע את רגישות גלאי הזנה כפולה" + +#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 +#, no-c-format +msgid "Do not stop after double feed detection" +msgstr "אל תעצור לאחר גילוי הזנה כפולה" + +#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 +#, no-c-format +msgid "Ignore left double feed sensor" +msgstr "התעלם מחיישן הזנה כפולה שמאלי" + +#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 +#, no-c-format +msgid "Ignore center double feed sensor" +msgstr "התעלם מחיישן הזנה כפולה אמצעי" + +#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 +#, no-c-format +msgid "Ignore right double feed sensor" +msgstr "התעלם מחיישן הזנה כפולה ימני" + +#: backend/kvs40xx_opt.c:642 +#, no-c-format +msgid "Automatic threshold mode" +msgstr "מצב סף אוטומטי" + +#: backend/kvs40xx_opt.c:643 +#, no-c-format +msgid "Sets the automatic threshold mode" +msgstr "קובע את מצב סף אוטומטי" + +#: backend/kvs40xx_opt.c:694 +#, no-c-format +msgid "Inverse image in B/W mode" +msgstr "תמונה הפוכה במצב שחור לבן" + +#: backend/kvs40xx_opt.c:715 +#, no-c-format +msgid "JPEG compression" +msgstr "דחיסת JPEG" + +#: backend/kvs40xx_opt.c:718 +#, no-c-format +msgid "JPEG compression (yours application must be able to uncompress)" +msgstr "דחיסת JPEG (היישום שלך צריך לדעת לחלץ)" + +#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 +#, no-c-format +msgid "Detect stapled document" +msgstr "גלה מסמך משודך" + +#: backend/kvs40xx_opt.c:776 +#, no-c-format +msgid "chroma of red" +msgstr "כרומה של אדום" + +#: backend/kvs40xx_opt.c:777 +#, no-c-format +msgid "Set chroma of red" +msgstr "קבע כרומה של אדום" + +#: backend/kvs40xx_opt.c:787 +#, no-c-format +msgid "chroma of blue" +msgstr "כרומה של כחול" + +#: backend/kvs40xx_opt.c:788 +#, no-c-format +msgid "Set chroma of blue" +msgstr "קבע כרומה של כחול" + +#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 +#, no-c-format +msgid "Skew adjustment" +msgstr "כיוון הטיה" + +#: backend/kvs40xx_opt.c:808 +#, no-c-format +msgid "Stop scanner when a paper have been skewed" +msgstr "עצור סורק כאשר נייר עבר הטיה" + +#: backend/kvs40xx_opt.c:809 +#, no-c-format +msgid "Scanner will be stop when a paper have been skewed" +msgstr "סורק יעצור כאשר נייר עבר הטיה" + +#: backend/kvs40xx_opt.c:816 +#, no-c-format +msgid "Crop actual image area" +msgstr "קצץ את שטח התמונה בפועל" + +#: backend/kvs40xx_opt.c:817 +#, no-c-format +msgid "Scanner automatically detect image area and crop it" +msgstr "סורק מגלה שטח תמונה אוטומטית וקוצץ אותו" + +#: backend/kvs40xx_opt.c:827 +#, no-c-format +msgid "It is right and left reversing" +msgstr "זה היפוך ימין ושמאל" + +#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 +#, no-c-format +msgid "Addition of space in top position" +msgstr "תוספת נפח במיקום עליון" + +#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 +#, no-c-format +msgid "Addition of space in bottom position" +msgstr "תוספת נפח במיקום תחתון" + +#: backend/leo.c:110 +#, no-c-format +msgid "Diamond" +msgstr "יהלום" + +#: backend/leo.c:111 +#, no-c-format +msgid "8x8 Coarse Fatting" +msgstr "8x8 Coarse Fatting" + +#: backend/leo.c:112 +#, no-c-format +msgid "8x8 Fine Fatting" +msgstr "8x8 Fine Fatting" + +#: backend/leo.c:113 +#, no-c-format +msgid "8x8 Bayer" +msgstr "8x8 Bayer" + +#: backend/leo.c:114 +#, no-c-format +msgid "8x8 Vertical Line" +msgstr "קו אנכי 8x8" + +#: backend/lexmark.c:273 backend/umax_pp.c:715 +#, no-c-format +msgid "Gain" +msgstr "הגבר" + +#: backend/lexmark.c:274 backend/umax_pp.c:716 +#, no-c-format +msgid "Color channels gain settings" +msgstr "הגדרות הגבר ערוצי צבע" + +#: backend/lexmark.c:283 backend/umax_pp.c:723 +#, no-c-format +msgid "Gray gain" +msgstr "הגבר אפור" + +#: backend/lexmark.c:284 backend/umax_pp.c:724 +#, no-c-format +msgid "Sets gray channel gain" +msgstr "קובע את הגבר ערוץ אפור" + +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#, no-c-format +msgid "Red gain" +msgstr "הגבר אדום" + +#: backend/lexmark.c:298 backend/umax_pp.c:736 +#, no-c-format +msgid "Sets red channel gain" +msgstr "קובע את הגבר ערוץ אדום" + +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#, no-c-format +msgid "Green gain" +msgstr "הגבר ירוק" + +#: backend/lexmark.c:312 backend/umax_pp.c:748 +#, no-c-format +msgid "Sets green channel gain" +msgstr "קובע את הגבר ערוץ ירוק" + +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#, no-c-format +msgid "Blue gain" +msgstr "הגבר כחול" + +#: backend/lexmark.c:326 backend/umax_pp.c:760 +#, no-c-format +msgid "Sets blue channel gain" +msgstr "קובע את הגבר ערוץ כחול" + +#: backend/matsushita.c:139 +#, no-c-format +msgid "Bayer Dither 16" +msgstr "Bayer Dither 16" + +#: backend/matsushita.c:140 +#, no-c-format +msgid "Bayer Dither 64" +msgstr "Bayer Dither 64" + +#: backend/matsushita.c:141 +#, no-c-format +msgid "Halftone Dot 32" +msgstr "הדפסת רשת נקודה 32" + +#: backend/matsushita.c:142 +#, no-c-format +msgid "Halftone Dot 64" +msgstr "הדפסת רשת נקודה 64" + +#: backend/matsushita.c:143 +#, no-c-format +msgid "Error Diffusion" +msgstr "דיפוזיית תקלה" + +#: backend/matsushita.c:160 +#, no-c-format +msgid "Mode 1" +msgstr "מצב 1" + +#: backend/matsushita.c:161 +#, no-c-format +msgid "Mode 2" +msgstr "מצב 2" + +#: backend/matsushita.c:162 +#, no-c-format +msgid "Mode 3" +msgstr "מצב 3" + +#: backend/matsushita.c:176 +#, no-c-format +msgid "From white stick" +msgstr "מחתיכה לבנה" + +#: backend/matsushita.c:212 +#, no-c-format +msgid "Smooth" +msgstr "חלק" + +#: backend/matsushita.c:214 backend/matsushita.c:229 +#, no-c-format +msgid "Low" +msgstr "נמוך" + +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 +#, no-c-format +msgid "Medium" +msgstr "בינוני" + +#: backend/matsushita.c:216 backend/matsushita.c:231 +#, no-c-format +msgid "High" +msgstr "גבוה" + +#: backend/matsushita.c:245 +#, no-c-format +msgid "CRT" +msgstr "CRT" + +#: backend/matsushita.c:257 +#, no-c-format +msgid "One page" +msgstr "עמוד אחד" + +#: backend/matsushita.c:258 +#, no-c-format +msgid "All pages" +msgstr "כל הדפים" + +#: backend/matsushita.c:1034 backend/plustek.c:1333 +#, no-c-format +msgid "sheetfed scanner" +msgstr "סורק מוזן דפים" + +#: backend/matsushita.h:209 +#, no-c-format +msgid "Grayscale 4 bits" +msgstr "גווני אפור 4 ביטים" + +#: backend/matsushita.h:210 +#, no-c-format +msgid "Grayscale 8 bits" +msgstr "גווני אפור 8 ביטים" + +#: backend/microtek2.h:601 +#, no-c-format +msgid "Shadow, midtone, highlight, exposure time" +msgstr "הצללה, מיצוע טונים, הדגשה, זמן חשיפה" + +#: backend/microtek2.h:603 +#, no-c-format +msgid "Special options" +msgstr "אפשרויות מיוחדות" + +#: backend/microtek2.h:604 +#, no-c-format +msgid "Color balance" +msgstr "איזון צבע" + +#: backend/microtek2.h:607 +#, no-c-format +msgid "Disable backtracking" +msgstr "כבה מעקב אחורי" + +#: backend/microtek2.h:608 +#, no-c-format +msgid "If checked the scanner does not perform backtracking" +msgstr "אם מסומנת הסורק לא מבצע מעקב אחורי" + +#: backend/microtek2.h:612 +#, no-c-format +msgid "Toggle lamp of flatbed" +msgstr "שנה מצב מנורה של משטח זכוכית" + +#: backend/microtek2.h:613 +#, no-c-format +msgid "Toggles the lamp of the flatbed" +msgstr "משנה את מצב המנורה של משטח הזכוכית" + +#: backend/microtek2.h:616 +#, no-c-format +msgid "Calibration by backend" +msgstr "כיול בעזרת backend" + +#: backend/microtek2.h:617 +#, no-c-format +msgid "" +"If checked the color calibration before a scan is done by the backend" +msgstr "אם מסומנת כיול הצבע לפני סריקה מבוצע בעזרת ה-backend" + +#: backend/microtek2.h:621 +#, no-c-format +msgid "Use the lightlid-35mm adapter" +msgstr "השתמש במתאם lightlid-35mm" + +#: backend/microtek2.h:622 +#, no-c-format +msgid "This option turns off the lamp of the flatbed during a scan" +msgstr "אפשרות זו מכבה את המנורה של משטח הזכוכית במהלך סריקה" + +#: backend/microtek2.h:626 backend/snapscan-options.c:421 +#, no-c-format +msgid "Quality scan" +msgstr "סריקת איכות" + +#: backend/microtek2.h:627 backend/snapscan-options.c:422 +#, no-c-format +msgid "Highest quality but lower speed" +msgstr "איכות מירבית אבל מהירות איטית" + +#: backend/microtek2.h:630 +#, no-c-format +msgid "Fast scan" +msgstr "סריקה מהירה" + +#: backend/microtek2.h:631 +#, no-c-format +msgid "Highest speed but lower quality" +msgstr "מהירות מירבית אבל איכות נמוכה" + +#: backend/microtek2.h:634 +#, no-c-format +msgid "Automatic adjustment of threshold" +msgstr "כיוון אוטומטי של סף" + +#: backend/microtek2.h:635 +#, no-c-format +msgid "" +"If checked the backend automatically tries to determine an optimal value " +"for the threshold." +msgstr "אם מסומנת ה-backend מנסה אוטומטית לקבוע ערך מיטבי לסף." + +#: backend/microtek2.h:641 +#, no-c-format +msgid "Selects the gamma correction mode." +msgstr "בוחר את מצב תיקון הגמה." + +#: backend/microtek2.h:644 +#, no-c-format +msgid "Bind gamma" +msgstr "מחייב גמה" + +#: backend/microtek2.h:645 +#, no-c-format +msgid "Use same gamma values for all colour channels." +msgstr "השתמש באותם ערכי גמה לכל ערוצי הצבע." + +#: backend/microtek2.h:649 +#, no-c-format +msgid "Scalar gamma" +msgstr "גמת סקלר" + +#: backend/microtek2.h:650 +#, no-c-format +msgid "Selects a value for scalar gamma correction." +msgstr "בוחר ערך לתיקון גמת סקלר." + +#: backend/microtek2.h:654 +#, no-c-format +msgid "Scalar gamma red" +msgstr "גמת סקלר אדום" + +#: backend/microtek2.h:655 +#, no-c-format +msgid "Selects a value for scalar gamma correction (red channel)" +msgstr "בוחר ערך לתיקון גמת סקלר (ערוץ אדום)" + +#: backend/microtek2.h:659 +#, no-c-format +msgid "Scalar gamma green" +msgstr "גמת סקלר ירוק" + +#: backend/microtek2.h:660 +#, no-c-format +msgid "Selects a value for scalar gamma correction (green channel)" +msgstr "בוחר ערך לתיקון גמת סקלר (ערוץ ירוק)" + +#: backend/microtek2.h:664 +#, no-c-format +msgid "Scalar gamma blue" +msgstr "גמת סקלר כחול" + +#: backend/microtek2.h:665 +#, no-c-format +msgid "Selects a value for scalar gamma correction (blue channel)" +msgstr "בוחר ערך לתיקון גמת סקלר (ערוץ כחול)" + +#: backend/microtek2.h:669 +#, no-c-format +msgid "Channel" +msgstr "ערוץ" + +#: backend/microtek2.h:670 +#, no-c-format +msgid "" +"Selects the colour band, \"Master\" means that all colours are affected." +msgstr "בוחר את פס הצבע, \"מסטר\" אומר שכל הצבעים מושפעים." + +#: backend/microtek2.h:674 +#, no-c-format +msgid "Midtone" +msgstr "טון אמצעי" + +#: backend/microtek2.h:675 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % gray\"." +msgstr "בוחר איזו רמת קרינה תיחשב \"50% אפור\"." + +#: backend/microtek2.h:679 +#, no-c-format +msgid "Midtone for red" +msgstr "טון אמצעי עבור אדום" + +#: backend/microtek2.h:680 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % red\"." +msgstr "בוחר איזו רמת קרינה תיחשב \"50% אדום\"." + +#: backend/microtek2.h:684 +#, no-c-format +msgid "Midtone for green" +msgstr "טון אמצעי עבור ירוק" + +#: backend/microtek2.h:685 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % green\"." +msgstr "בוחר איזו רמת קרינה תיחשב \"50% ירוק\"." + +#: backend/microtek2.h:689 +#, no-c-format +msgid "Midtone for blue" +msgstr "טון אמצעי עבור כחול" + +#: backend/microtek2.h:690 +#, no-c-format +msgid "Selects which radiance level should be considered \"50 % blue\"." +msgstr "בוחר איזו רמת קרינה תיחשב \"50% כחול\"." + +#: backend/microtek2.h:694 +#, no-c-format +msgid "Red balance" +msgstr "איזון אדום" + +#: backend/microtek2.h:695 +#, no-c-format +msgid "Balance factor for red. A value of 100% means no correction." +msgstr "גורם איזון עבור אדום. ערך של 100% אומר ללא תיקון." + +#: backend/microtek2.h:699 +#, no-c-format +msgid "Green balance" +msgstr "איזון ירוק" + +#: backend/microtek2.h:700 +#, no-c-format +msgid "Balance factor for green. A value of 100% means no correction." +msgstr "גורם איזון עבור ירוק. ערך של 100% אומר ללא תיקון." + +#: backend/microtek2.h:704 +#, no-c-format +msgid "Blue balance" +msgstr "איזון כחול" + +#: backend/microtek2.h:705 +#, no-c-format +msgid "Balance factor for blue. A value of 100% means no correction." +msgstr "גורם איזון עבור כחול. ערך של 100% אומר ללא תיקון." + +#: backend/microtek2.h:709 +#, no-c-format +msgid "Firmware balance" +msgstr "איזון קושחה" + +#: backend/microtek2.h:710 +#, no-c-format +msgid "Sets the color balance values to the firmware provided values." +msgstr "קובע את ערכי איזון הצבע לערכי הקושחה המסופקים." + +#: backend/mustek.c:149 +#, no-c-format +msgid "Slowest" +msgstr "הכי איטי" + +#: backend/mustek.c:149 +#, no-c-format +msgid "Slower" +msgstr "איטי יותר" + +#: backend/mustek.c:150 +#, no-c-format +msgid "Faster" +msgstr "מהר יותר" + +#: backend/mustek.c:150 +#, no-c-format +msgid "Fastest" +msgstr "הכי מהר" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 coarse" +msgstr "גס 8x8" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 normal" +msgstr "רגיל 8x8" + +#: backend/mustek.c:177 +#, no-c-format +msgid "8x8 fine" +msgstr "עדין 8x8" + +#: backend/mustek.c:178 +#, no-c-format +msgid "8x8 very fine" +msgstr "מאוד עדין 8x8" + +#: backend/mustek.c:178 +#, no-c-format +msgid "6x6 normal" +msgstr "רגיל 6x6" + +#: backend/mustek.c:179 +#, no-c-format +msgid "5x5 coarse" +msgstr "גס 5x5" + +#: backend/mustek.c:179 +#, no-c-format +msgid "5x5 fine" +msgstr "עדין 5x5" + +#: backend/mustek.c:179 +#, no-c-format +msgid "4x4 coarse" +msgstr "גס 4x4" + +#: backend/mustek.c:180 +#, no-c-format +msgid "4x4 normal" +msgstr "רגיל 4x4" + +#: backend/mustek.c:180 +#, no-c-format +msgid "4x4 fine" +msgstr "עדין 4x4" + +#: backend/mustek.c:180 +#, no-c-format +msgid "3x3 normal" +msgstr "רגיל 3x3" + +#: backend/mustek.c:181 +#, no-c-format +msgid "2x2 normal" +msgstr "רגיל 2x2" + +#: backend/mustek.c:181 +#, no-c-format +msgid "8x8 custom" +msgstr "מותאם אישית 8x8" + +#: backend/mustek.c:182 +#, no-c-format +msgid "6x6 custom" +msgstr "מותאם אישית 6x6" + +#: backend/mustek.c:183 +#, no-c-format +msgid "5x5 custom" +msgstr "מותאם אישית 5x5" + +#: backend/mustek.c:183 +#, no-c-format +msgid "4x4 custom" +msgstr "מותאם אישית 4x4" + +#: backend/mustek.c:184 +#, no-c-format +msgid "3x3 custom" +msgstr "מותאם אישית 3x3" + +#: backend/mustek.c:185 +#, no-c-format +msgid "2x2 custom" +msgstr "מותאם אישית 2x2" + +#: backend/mustek.c:4247 +#, no-c-format +msgid "Fast gray mode" +msgstr "מצב אפור מהיר" + +#: backend/mustek.c:4248 +#, no-c-format +msgid "Scan in fast gray mode (lower quality)." +msgstr "סרוק במצב אפור מהיר (איכות נמוכה יותר)." + +#: backend/mustek.c:4345 +#, no-c-format +msgid "" +"Request that all previews are done in the fastest (low-quality) mode. " +"This may be a non-color mode or a low resolution mode." +msgstr "" +"בקש שכל התצוגות המקדימות יבוצעו במצב המהיר ביותר (איכות נמוכה). זה יכול " +"להיות מצב לא צבע או מצב רזולוציה נמוכה." + +#: backend/mustek.c:4353 +#, no-c-format +msgid "Lamp off time (minutes)" +msgstr "זמן כיבוי מנורה (דקות)" + +#: backend/mustek.c:4354 +#, no-c-format +msgid "Set the time (in minutes) after which the lamp is shut off." +msgstr "קובע את הזמן (בדקות) שלאחריו המנורה נכבית." + +#: backend/mustek.c:4365 +#, no-c-format +msgid "Turn lamp off" +msgstr "כבה מנורה" + +#: backend/mustek.c:4366 +#, no-c-format +msgid "Turns the lamp off immediately." +msgstr "מכבה את המנורה מיד." + +#: backend/mustek.c:4443 +#, no-c-format +msgid "Red brightness" +msgstr "בהירות אדום" + +#: backend/mustek.c:4444 +#, no-c-format +msgid "Controls the brightness of the red channel of the acquired image." +msgstr "שולט על הבהירות של הערוץ האדום של התמונה הנסרקת." + +#: backend/mustek.c:4456 +#, no-c-format +msgid "Green brightness" +msgstr "בהירות ירוק" + +#: backend/mustek.c:4457 +#, no-c-format +msgid "Controls the brightness of the green channel of the acquired image." +msgstr "שולט על הבהירות של הערוץ הירוק של התמונה הנסרקת." + +#: backend/mustek.c:4469 +#, no-c-format +msgid "Blue brightness" +msgstr "בהירות כחול" + +#: backend/mustek.c:4470 +#, no-c-format +msgid "Controls the brightness of the blue channel of the acquired image." +msgstr "שולט על הבהירות של הערוץ הכחול של התמונה הנסרקת." + +#: backend/mustek.c:4495 +#, no-c-format +msgid "Contrast red channel" +msgstr "ניגודיות ערוץ אדום" + +#: backend/mustek.c:4496 +#, no-c-format +msgid "Controls the contrast of the red channel of the acquired image." +msgstr "שולט על הניגודיות של הערוץ האדום של התמונה הנסרקת." + +#: backend/mustek.c:4508 +#, no-c-format +msgid "Contrast green channel" +msgstr "ניגודיות ערוץ ירוק" + +#: backend/mustek.c:4509 +#, no-c-format +msgid "Controls the contrast of the green channel of the acquired image." +msgstr "שולט על הניגודיות של הערוץ הירוק של התמונה הנסרקת." + +#: backend/mustek.c:4521 +#, no-c-format +msgid "Contrast blue channel" +msgstr "ניגודיות ערוץ כחול" + +#: backend/mustek.c:4522 +#, no-c-format +msgid "Controls the contrast of the blue channel of the acquired image." +msgstr "שולט על הניגודיות של הערוץ הכחול של התמונה הנסרקת." + +#: backend/mustek_usb2.c:105 +#, no-c-format +msgid "Color48" +msgstr "צבע48" + +#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 +#, no-c-format +msgid "Color24" +msgstr "צבע24" + +#: backend/mustek_usb2.c:107 +#, no-c-format +msgid "Gray16" +msgstr "אפור16" + +#: backend/mustek_usb2.c:108 +#, no-c-format +msgid "Gray8" +msgstr "אפור8" + +#: backend/mustek_usb2.c:119 +#, no-c-format +msgid "Reflective" +msgstr "מחזיר אור" + +#: backend/mustek_usb2.c:120 +#, no-c-format +msgid "Positive" +msgstr "חיובי" + +#: backend/mustek_usb2.c:421 +#, no-c-format +msgid "" +"Warm-up until the lamp's brightness is constant instead of insisting on " +"40 seconds warm-up time." +msgstr "" +"בצע חימום עד שהבהירות של המנורה קבועה במקום להיצמד לזמן חימום של 40 " +"שניות." + +#: backend/pixma.c:397 +#, no-c-format +msgid "Negative color" +msgstr "צבע תשליל" + +#: backend/pixma.c:402 +#, no-c-format +msgid "Negative gray" +msgstr "אפור תשליל" + +#: backend/pixma.c:415 +#, no-c-format +msgid "48 bits color" +msgstr "צבע 48 ביטים" + +#: backend/pixma.c:420 +#, no-c-format +msgid "16 bits gray" +msgstr "צבע 16 ביטים" + +#: backend/pixma_sane_options.c:84 +#, no-c-format +msgid "" +"Selects the scan source (such as a document-feeder). Set source before " +"mode and resolution. Resets mode and resolution to auto values." +msgstr "" +"בוחר את מקור הסריקה (כמו מזין מסמכים). קבע מקור לפני מצב ורזולוציה. " +"מאתחל מצב ורזולוציה לערכים אוטומטים." + +#: backend/pixma_sane_options.c:98 +#, no-c-format +msgid "Button-controlled scan" +msgstr "סריקה מבוקרת כפתור" + +#: backend/pixma_sane_options.c:99 +#, no-c-format +msgid "" +"When enabled, scan process will not start immediately. To proceed, press " +"\"SCAN\" button (for MP150) or \"COLOR\" button (for other models). To " +"cancel, press \"GRAY\" button." +msgstr "" +"כאשר מופעלת, תהליך הסריקה לא יתחיל מיד. להמשך, לחץ על כפתור \"סריקה\" או " +"\"צבע\" (תלוי בדגם הסורק). לביטול, לחץ על כפתור \"אפור\"." + +#: backend/pixma_sane_options.c:232 +#, no-c-format +msgid "Update button state" +msgstr "עדכן מצב כפתור" + +#: backend/pixma_sane_options.c:244 +#, no-c-format +msgid "Button 1" +msgstr "כפתור 1" + +#: backend/pixma_sane_options.c:258 +#, no-c-format +msgid "Button 2" +msgstr "כפתור 2" + +#: backend/pixma_sane_options.c:272 +#, no-c-format +msgid "Type of original to scan" +msgstr "סוג מקור לסריקה" + +#: backend/pixma_sane_options.c:286 +#, no-c-format +msgid "Target operation type" +msgstr "סוג פעולת מטרה" + +#: backend/pixma_sane_options.c:348 +#, no-c-format +msgid "ADF Waiting Time" +msgstr "זמן המתנה מזין מסמכים אוטומטי" + +#: backend/pixma_sane_options.c:349 +#, no-c-format +msgid "" +"When set, the scanner searches the waiting time in seconds for a new " +"document inserted into the automatic document feeder." +msgstr "" +"כאשר נקבע, הסורק מחפש את זמן ההמתנה בשניות למסמך חדש המוכנס למזין " +"המסמכים האוטומטי." + +#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 +#, no-c-format +msgid "Transparency" +msgstr "שקיפות" + +#: backend/plustek.c:913 +#, no-c-format +msgid "Device-Settings" +msgstr "התקן-הגדרות" + +#: backend/plustek.c:920 +#, no-c-format +msgid "Lampswitch" +msgstr "מתג מנורה" + +#: backend/plustek.c:921 +#, no-c-format +msgid "Manually switching the lamp(s)." +msgstr "הדלקת המנורה(ות) ידנית." + +#: backend/plustek.c:926 +#, no-c-format +msgid "Lamp off during dark calibration" +msgstr "מנורה כבויה במהלך כיול כהה" + +#: backend/plustek.c:927 +#, no-c-format +msgid "Always switches lamp off when doing dark calibration." +msgstr "תמיד מכבה את המנורה כאשר מבצע כיול כהה." + +#: backend/plustek.c:935 +#, no-c-format +msgid "Calibration data cache" +msgstr "מטמון מידע כיול" + +#: backend/plustek.c:936 +#, no-c-format +msgid "Enables or disables calibration data cache." +msgstr "מפעיל או מכבה מטמון מידע כיול." + +#: backend/plustek.c:942 +#, no-c-format +msgid "Performs calibration" +msgstr "מבצע כיול" + +#: backend/plustek.c:959 +#, no-c-format +msgid "Speedup sensor" +msgstr "זרז חיישן" + +#: backend/plustek.c:960 +#, no-c-format +msgid "Enables or disables speeding up sensor movement." +msgstr "מפעיל או מכבה זירוז של תנועת החיישן." + +#: backend/plustek.c:974 +#, no-c-format +msgid "Warmup-time" +msgstr "זמן חימום" + +#: backend/plustek.c:975 +#, no-c-format +msgid "Warmup-time in seconds." +msgstr "זמן חימום בשניות." + +#: backend/plustek.c:987 +#, no-c-format +msgid "Lampoff-time" +msgstr "זמן כיבוי מנורה" + +#: backend/plustek.c:988 +#, no-c-format +msgid "Lampoff-time in seconds." +msgstr "זמן כיבוי מנורה בשניות." + +#: backend/plustek.c:995 +#, no-c-format +msgid "Analog frontend" +msgstr "ממשק אנלוגי" + +#: backend/plustek.c:1002 +#, no-c-format +msgid "Red gain value of the AFE" +msgstr "ערך הגבר אדום של ה-AFE" + +#: backend/plustek.c:1009 backend/umax_pp.c:792 +#, no-c-format +msgid "Red offset" +msgstr "אופסט אדום" + +#: backend/plustek.c:1010 +#, no-c-format +msgid "Red offset value of the AFE" +msgstr "ערך אופסט אדום של ה-AFE" + +#: backend/plustek.c:1018 +#, no-c-format +msgid "Green gain value of the AFE" +msgstr "ערך הגבר ירוק של ה-AFE" + +#: backend/plustek.c:1026 +#, no-c-format +msgid "Green offset value of the AFE" +msgstr "ערך אופסט ירוק של ה-AFE" + +#: backend/plustek.c:1034 +#, no-c-format +msgid "Blue gain value of the AFE" +msgstr "ערך הגבר כחול של ה-AFE" + +#: backend/plustek.c:1042 +#, no-c-format +msgid "Blue offset value of the AFE" +msgstr "ערך אופסט כחול של ה-AFE" + +#: backend/plustek.c:1049 +#, no-c-format +msgid "Red lamp off" +msgstr "מנורה אדומה כבויה" + +#: backend/plustek.c:1050 +#, no-c-format +msgid "Defines red lamp off parameter" +msgstr "מגדיר פרמטר מנורה אדומה כבויה" + +#: backend/plustek.c:1057 +#, no-c-format +msgid "Green lamp off" +msgstr "מנורה ירוקה כבויה" + +#: backend/plustek.c:1058 +#, no-c-format +msgid "Defines green lamp off parameter" +msgstr "מגדיר פרמטר מנורה ירוקה כבויה" + +#: backend/plustek.c:1065 +#, no-c-format +msgid "Blue lamp off" +msgstr "מנורה כחולה כבויה" + +#: backend/plustek.c:1066 +#, no-c-format +msgid "Defines blue lamp off parameter" +msgstr "מגדיר פרמטר מנורה כחולה כבויה" + +#: backend/plustek.c:1096 +#, no-c-format +msgid "This option reflects the status of the scanner buttons." +msgstr "אפשרות זו משקפת את מצב הכפתורים של הסורק." + +#: backend/plustek_pp.c:197 +#, no-c-format +msgid "Color36" +msgstr "צבע36" + +#: backend/plustek_pp.c:211 +#, no-c-format +msgid "Dithermap 1" +msgstr "Dithermap 1" + +#: backend/plustek_pp.c:212 +#, no-c-format +msgid "Dithermap 2" +msgstr "Dithermap 2" + +#: backend/plustek_pp.c:213 +#, no-c-format +msgid "Randomize" +msgstr "בצע באקראי" + +#: backend/pnm.c:168 +#, no-c-format +msgid "Source Selection" +msgstr "בחירת מקור" + +#: backend/pnm.c:205 +#, no-c-format +msgid "Image Enhancement" +msgstr "שיפור תמונה" + +#: backend/pnm.c:241 +#, no-c-format +msgid "Grayify" +msgstr "בצע גיוון אפור" + +#: backend/pnm.c:242 +#, no-c-format +msgid "Load the image as grayscale." +msgstr "פתח את התמונה בגווני אפור." + +#: backend/pnm.c:253 +#, no-c-format +msgid "Three-Pass Simulation" +msgstr "סימולציה תלת-מעברית" + +#: backend/pnm.c:255 +#, no-c-format +msgid "" +"Simulate a three-pass scanner by returning 3 separate frames. For " +"kicks, it returns green, then blue, then red." +msgstr "" +"בצע סימולציה של סורק תלת-מעברי בעזרת חזרה של 3 פריימים שונים. בשביל " +"הכיף, מחזיר ירוק, אחר כך כחול, אחר כך אדום." + +#: backend/pnm.c:267 +#, no-c-format +msgid "Hand-Scanner Simulation" +msgstr "סימולציה סורק ידני" + +#: backend/pnm.c:268 +#, no-c-format +msgid "" +"Simulate a hand-scanner. Hand-scanners often do not know the image " +"height a priori. Instead, they return a height of -1. Setting this " +"option allows one to test whether a frontend can handle this correctly." +msgstr "" +"בצע סימולציה של סורק ידני. סורקים ידניים אינם יודעים את גובה התמונה " +"מהתחלה. במקום, הם מחזירים גובה של -1. הפעלת אפשרות זו מאפשרת בדיקה האם " +"ממשק יכול לטפל בכך בהצלחה." + +#: backend/pnm.c:283 +#, no-c-format +msgid "" +"Set default values for enhancement controls (brightness & contrast)." +msgstr "קבע ערכי ברירת מחדל עבור בקרות העשרה (בהירות וניגודיות)." + +#: backend/pnm.c:295 +#, no-c-format +msgid "Read only test-option" +msgstr "אפשרות בדיקה קריאה בלבד" + +#: backend/pnm.c:296 +#, no-c-format +msgid "Let's see whether frontends can treat this right" +msgstr "בא נראה האם ממשקים יכולים לטפל בזה נכון" + +#: backend/pnm.c:307 +#, no-c-format +msgid "Gamma Tables" +msgstr "טבלאות גמה" + +#: backend/pnm.c:379 +#, no-c-format +msgid "Status Code Simulation" +msgstr "סימולציה קוד סטטוס" + +#: backend/pnm.c:391 +#, no-c-format +msgid "Do not force status code" +msgstr "אל תאלץ קוד סטטוס" + +#: backend/pnm.c:392 +#, no-c-format +msgid "Do not force the backend to return a status code." +msgstr "אל תאלץ את ה-backend להחזיר קוד סטטוס." + +#: backend/pnm.c:403 +#, no-c-format +msgid "Return SANE_STATUS_EOF" +msgstr "החזר SANE_STATUS_EOF" + +#: backend/pnm.c:404 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_EOF after " +"sane_read() has been called." +msgstr "" +"אלץ את ה-backend להחזיר את קוד הסטטוס SANE_STATUS_EOF לאחר ש-sane_read() " +"נקראה." + +#: backend/pnm.c:416 +#, no-c-format +msgid "Return SANE_STATUS_JAMMED" +msgstr "החזר SANE_STATUS_JAMMED" + +#: backend/pnm.c:418 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_JAMMED after " +"sane_read() has been called." +msgstr "" +"אלץ את ה-backend להחזיר את קוד הסטטוס SANE_STATUS_JAMMED לאחר ש-" +"sane_read() נקראה." + +#: backend/pnm.c:430 +#, no-c-format +msgid "Return SANE_STATUS_NO_DOCS" +msgstr "החזר SANE_STATUS_NO_DOCS" + +#: backend/pnm.c:431 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_NO_DOCS after " +"sane_read() has been called." +msgstr "" +"אלץ את ה-backend להחזיר את קוד הסטטוס SANE_STATUS_NO_DOCS לאחר ש-" +"sane_read() נקראה." + +#: backend/pnm.c:443 +#, no-c-format +msgid "Return SANE_STATUS_COVER_OPEN" +msgstr "החזר SANE_STATUS_COVER_OPEN" + +#: backend/pnm.c:444 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_COVER_OPEN after " +"sane_read() has been called." +msgstr "" +"אלץ את ה-backend להחזיר את קוד הסטטוס SANE_STATUS_COVER_OPEN לאחר ש-" +"sane_read() נקראה." + +#: backend/pnm.c:456 +#, no-c-format +msgid "Return SANE_STATUS_IO_ERROR" +msgstr "החזר SANE_STATUS_IO_ERROR" + +#: backend/pnm.c:457 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_IO_ERROR after " +"sane_read() has been called." +msgstr "" +"אלץ את ה-backend להחזיר את קוד הסטטוס SANE_STATUS_IO_ERROR לאחר ש-" +"sane_read() נקראה." + +#: backend/pnm.c:469 +#, no-c-format +msgid "Return SANE_STATUS_NO_MEM" +msgstr "החזר SANE_STATUS_NO_MEM" + +#: backend/pnm.c:471 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_NO_MEM after " +"sane_read() has been called." +msgstr "" +"אלץ את ה-backend להחזיר את קוד הסטטוס SANE_STATUS_NO_MEM לאחר ש-" +"sane_read() נקראה." + +#: backend/pnm.c:483 +#, no-c-format +msgid "Return SANE_STATUS_ACCESS_DENIED" +msgstr "החזר SANE_STATUS_ACCESS_DENIED" + +#: backend/pnm.c:484 +#, no-c-format +msgid "" +"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " +"after sane_read() has been called." +msgstr "" +"אלץ את ה-backend להחזיר את קוד הסטטוס SANE_STATUS_ACCESS_DENIED לאחר ש-" +"sane_read() נקראה." + +#: backend/rts8891.c:2809 +#, no-c-format +msgid "This option reflects the status of a scanner button." +msgstr "אפשרות זו משקפת את הסטטוס של כפתור בסורק." + +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#, no-c-format +msgid "Lamp on" +msgstr "מנורה דולקת" + +#: backend/rts8891.c:2841 backend/umax.c:5796 +#, no-c-format +msgid "Turn on scanner lamp" +msgstr "הדלק מנורת סורק" + +#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#, no-c-format +msgid "Lamp off" +msgstr "מנורה כבויה" + +#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#, no-c-format +msgid "Turn off scanner lamp" +msgstr "כבה מנורת סורק" + +#: backend/sm3840.c:760 +#, no-c-format +msgid "Lamp timeout" +msgstr "זמן תפוגה מנורה" + +#: backend/sm3840.c:762 +#, no-c-format +msgid "Minutes until lamp is turned off after scan" +msgstr "דקות עד שמנורה נכבית לאחר סריקה" + +#: backend/sm3840.c:772 +#, no-c-format +msgid "Threshold value for lineart mode" +msgstr "ערך סף למצב סגנון קווי" + +#: backend/snapscan-options.c:88 +#, no-c-format +msgid "Document Feeder" +msgstr "מזין מסמכים" + +#: backend/snapscan-options.c:92 +#, no-c-format +msgid "6x4 (inch)" +msgstr "6x4 (inch)" + +#: backend/snapscan-options.c:93 +#, no-c-format +msgid "8x10 (inch)" +msgstr "8x10 (inch)" + +#: backend/snapscan-options.c:94 +#, no-c-format +msgid "8.5x11 (inch)" +msgstr "8.5x11 (inch)" + +#: backend/snapscan-options.c:97 +#, no-c-format +msgid "Halftoning Unsupported" +msgstr "הדפסת רשת לא נתמכת" + +#: backend/snapscan-options.c:98 +#, no-c-format +msgid "DispersedDot8x8" +msgstr "DispersedDot8x8" + +#: backend/snapscan-options.c:99 +#, no-c-format +msgid "DispersedDot16x16" +msgstr "DispersedDot16x16" + +#: backend/snapscan-options.c:103 +#, no-c-format +msgid "" +"Number of scan lines to request in a SCSI read. Changing this parameter " +"allows you to tune the speed at which data is read from the scanner " +"during scans. If this is set too low, the scanner will have to stop " +"periodically in the middle of a scan; if it's set too high, X-based " +"frontends may stop responding to X events and your system could bog down." +msgstr "" +"מספר שורות סריקה לבקש בקריאת SCSI. שינוי פרמטר זה מאפשר לך לכוון את " +"המהירות שבה מידע נקרא מהסורק במהלך סריקות. אם הערך הנקבע נמוך מדי, הסורק " +"יצטרך לעצור מדי פעם באמצע סריקה. אם הערך הנקבע גבוה מדי, ממשקים מבוססי X " +"עלולים לא להגיב לאירועי X והמערכת שלך יכולה לקרוס." + +#: backend/snapscan-options.c:111 +#, no-c-format +msgid "Frame number of media holder that should be scanned." +msgstr "מספר פריים של מחזיק מדיה שאמור להיסרק." + +#: backend/snapscan-options.c:114 +#, no-c-format +msgid "Use manual or automatic selection of focus point." +msgstr "השתמש בבחירה ידנית או אוטומטית של נקודת פוקוס." + +#: backend/snapscan-options.c:117 +#, no-c-format +msgid "Focus point for scanning." +msgstr "נקודת פוקוס לסריקה." + +#: backend/snapscan-options.c:482 +#, no-c-format +msgid "Preview mode" +msgstr "מצב תצוגה מקדימה" + +#: backend/snapscan-options.c:484 +#, no-c-format +msgid "" +"Select the mode for previews. Greyscale previews usually give the best " +"combination of speed and detail." +msgstr "" +"בחר את המצב לתצוגות מקדימות. תצוגות מקדימות בגווני אפור בדרך כלל נותנות " +"את השילוב הטוב ביותר של מהירות ופירוט." + +#: backend/snapscan-options.c:601 +#, no-c-format +msgid "Predefined settings" +msgstr "הגדרות מוגדרות מראש" + +#: backend/snapscan-options.c:603 +#, no-c-format +msgid "" +"Provides standard scanning areas for photographs, printed pages and the " +"like." +msgstr "מספק שטחי סריקה סטנדרטיים לצלמים, עמודים מודפסים וכדומה." + +#: backend/snapscan-options.c:884 +#, no-c-format +msgid "Frame" +msgstr "פריים" + +#: backend/snapscan-options.c:885 +#, no-c-format +msgid "Frame to be scanned" +msgstr "פריים לסריקה" + +#: backend/snapscan-options.c:897 +#, no-c-format +msgid "Focus-mode" +msgstr "מצב-פוקוס" + +#: backend/snapscan-options.c:898 +#, no-c-format +msgid "Auto or manual focus" +msgstr "פוקוס אוטומטי או ידני" + +#: backend/snapscan-options.c:911 +#, no-c-format +msgid "Focus-point" +msgstr "נקודת-פוקוס" + +#: backend/snapscan-options.c:912 +#, no-c-format +msgid "Focus point" +msgstr "נקודת פוקוס" + +#: backend/snapscan-options.c:930 +#, no-c-format +msgid "Colour lines per read" +msgstr "קווי צבע פר קריאה" + +#: backend/snapscan-options.c:942 +#, no-c-format +msgid "Greyscale lines per read" +msgstr "קווים בגווני אפור פר קריאה" + +#: backend/stv680.c:974 +#, no-c-format +msgid "webcam" +msgstr "מצלמת רשת" + +#: backend/stv680.h:115 +#, no-c-format +msgid "Color RAW" +msgstr "צבע גולמי" + +#: backend/stv680.h:116 +#, no-c-format +msgid "Color RGB" +msgstr "צבע RGB" + +#: backend/stv680.h:117 +#, no-c-format +msgid "Color RGB TEXT" +msgstr "צבע RGB טקסט" + +#: backend/test.c:137 +#, no-c-format +msgid "Solid black" +msgstr "שחור מלא" + +#: backend/test.c:137 +#, no-c-format +msgid "Solid white" +msgstr "לבן מלא" + +#: backend/test.c:138 +#, no-c-format +msgid "Color pattern" +msgstr "תבנית צבע" + +#: backend/test.c:138 +#, no-c-format +msgid "Grid" +msgstr "רשת" + +#: backend/test.c:163 backend/test.c:171 +#, no-c-format +msgid "First entry" +msgstr "רשומה ראשונה" + +#: backend/test.c:163 backend/test.c:171 +#, no-c-format +msgid "Second entry" +msgstr "רשומה שניה" + +#: backend/test.c:165 +#, no-c-format +msgid "" +"This is the very long third entry. Maybe the frontend has an idea how to " +"display it" +msgstr "זוהי הרשומה השלישית הארוכה מאוד. אולי לממשק יש מושג איך להציג אותה" + +#: backend/test.c:348 +#, no-c-format +msgid "Hand-scanner simulation" +msgstr "סימולציה סורק-ידני" + +#: backend/test.c:349 +#, no-c-format +msgid "" +"Simulate a hand-scanner. Hand-scanners do not know the image height a " +"priori. Instead, they return a height of -1. Setting this option " +"allows one to test whether a frontend can handle this correctly. This " +"option also enables a fixed width of 11 cm." +msgstr "" +"בצע סימולציה של סורק ידני. סורקים ידניים אינם יודעים את הגובה של התמונה " +"מראש. במקום, הם מחזירים גובה של -1. קביעת אפשרות זו מאפשרת לבדוק האם " +"ממשק יכול לטפל בזה נכון. אפשרות זו גם מאפשרת רוחב קבוע של 11 סנטימטר." + +#: backend/test.c:366 +#, no-c-format +msgid "Three-pass simulation" +msgstr "סימולציה תלת-מעברית" + +#: backend/test.c:367 +#, no-c-format +msgid "" +"Simulate a three-pass scanner. In color mode, three frames are " +"transmitted." +msgstr "בצע סימולציה של סורק תלת מעברי. במצב צבע, שלושה פריימים מועברים." + +#: backend/test.c:382 +#, no-c-format +msgid "Set the order of frames" +msgstr "קבע את הסדר של הפריימים" + +#: backend/test.c:383 +#, no-c-format +msgid "Set the order of frames in three-pass color mode." +msgstr "קבע את הסדר של הפריימים במצב צבע תלת מעברי." + +#: backend/test.c:416 +#, no-c-format +msgid "" +"If Automatic Document Feeder is selected, the feeder will be 'empty' " +"after 10 scans." +msgstr "אם מזין מסמכים אוטומטי נבחר, המזין יהיה \"ריק\" לאחר 10 סריקות." + +#: backend/test.c:431 +#, no-c-format +msgid "Special Options" +msgstr "אפשרויות מיוחדות" + +#: backend/test.c:444 +#, no-c-format +msgid "Select the test picture" +msgstr "בחר את תמונת הבדיקה" + +#: backend/test.c:446 +#, no-c-format +msgid "" +"Select the kind of test picture. Available options:\n" +"Solid black: fills the whole scan with black.\n" +"Solid white: fills the whole scan with white.\n" +"Color pattern: draws various color test patterns depending on the mode.\n" +"Grid: draws a black/white grid with a width and height of 10 mm per " +"square." +msgstr "" +"בחר את סוג תמונת הבדיקה. אפשרויות זמינות:\n" +"שחור מלא: ממלא את כל הסריקה בשחור.\n" +"לבן מלא: ממלא את כל הסריקה בלבן.\n" +"תבנית צבע: מצייר תבניות בדיקה שונות בצבע כתלות במצב.\n" +"רשת: מצייר רשת שחור/לבן עם רוחב וגובה של 10 מילימטר פר ריבוע." + +#: backend/test.c:467 +#, no-c-format +msgid "Invert endianness" +msgstr "הפוך סדר בייטים" + +#: backend/test.c:468 +#, no-c-format +msgid "" +"Exchange upper and lower byte of image data in 16 bit modes. This option " +"can be used to test the 16 bit modes of frontends, e.g. if the frontend " +"uses the correct endianness." +msgstr "" +"החלף בייט עליון ותחתון של מידע תמונה במצבי 16 ביט. אפשרות זו ניתנת " +"לשימוש לבדיקה של מצבי 16 ביט של ממשקים, למשל אם הממשק משתמש בסדר הבייטים " +"הנכון." + +#: backend/test.c:484 +#, no-c-format +msgid "Read limit" +msgstr "גבול קריאה" + +#: backend/test.c:485 +#, no-c-format +msgid "Limit the amount of data transferred with each call to sane_read()." +msgstr "הגבל את כמות המידע המועבר בכל קריאה ל-sane_read()." + +#: backend/test.c:498 +#, no-c-format +msgid "Size of read-limit" +msgstr "גודל של גבול קריאה" + +#: backend/test.c:499 +#, no-c-format +msgid "" +"The (maximum) amount of data transferred with each call to sane_read()." +msgstr "הכמות (המירבית) של מידע המועבר בכל קריאה ל-sane_read()." + +#: backend/test.c:514 +#, no-c-format +msgid "Read delay" +msgstr "השהיית קריאה" + +#: backend/test.c:515 +#, no-c-format +msgid "Delay the transfer of data to the pipe." +msgstr "השהה את מעבר המידע לצינור." + +#: backend/test.c:527 +#, no-c-format +msgid "Duration of read-delay" +msgstr "משך של השהיית קריאה" + +#: backend/test.c:528 +#, no-c-format +msgid "" +"How long to wait after transferring each buffer of data through the pipe." +msgstr "כמה זמן לחכות לאחר כל העברת באפר של מידע דרך הצינור." + +#: backend/test.c:543 +#, no-c-format +msgid "Return-value of sane_read" +msgstr "ערך מוחזר של sane_read" + +#: backend/test.c:545 +#, no-c-format +msgid "" +"Select the return-value of sane_read(). \"Default\" is the normal " +"handling for scanning. All other status codes are for testing how the " +"frontend handles them." +msgstr "" +"בחר את הערך המוחזר של sane_read(). \"ברירת מחדל\" היא הטיפול הרגיל " +"לסריקה. כל שאר הקודים של הסטטוס הם לבדיקה של איך הממשק מטפל בהם." + +#: backend/test.c:562 +#, no-c-format +msgid "Loss of pixels per line" +msgstr "איבוד פיקסלים פר שורה" + +#: backend/test.c:564 +#, no-c-format +msgid "The number of pixels that are wasted at the end of each line." +msgstr "מספר הפיקסלים שאובדים בסוף של כל שורה." + +#: backend/test.c:577 +#, no-c-format +msgid "Fuzzy parameters" +msgstr "פרמטרים עמומים" + +#: backend/test.c:578 +#, no-c-format +msgid "" +"Return fuzzy lines and bytes per line when sane_parameters() is called " +"before sane_start()." +msgstr "" +"החזר שורות עמומות ובייטים פר שורה כאשר sane_parameters() נקראת לפני " +"sane_start()." + +#: backend/test.c:591 +#, no-c-format +msgid "Use non-blocking IO" +msgstr "השתמש בקלט פלט לא חוסם" + +#: backend/test.c:592 +#, no-c-format +msgid "Use non-blocking IO for sane_read() if supported by the frontend." +msgstr "השתמש בקלט פלט לא חוסם עבור sane_read() אם נתמך על ידי הממשק." + +#: backend/test.c:605 +#, no-c-format +msgid "Offer select file descriptor" +msgstr "תציע תיאור בחר קובץ" + +#: backend/test.c:606 +#, no-c-format +msgid "" +"Offer a select filedescriptor for detecting if sane_read() will return " +"data." +msgstr "תציע תיאור בחר קובץ לגילוי האם sane_read() תחזיר מידע." + +#: backend/test.c:619 +#, no-c-format +msgid "Enable test options" +msgstr "הפעל אפשרויות בדיקה" + +#: backend/test.c:620 +#, no-c-format +msgid "" +"Enable various test options. This is for testing the ability of " +"frontends to view and modify all the different SANE option types." +msgstr "" +"הפעל אפשרויות בדיקה שונות. זה עבור בדיקה של יכולת הממשקים לצפות ולשנות " +"את כל סוגי אפשרויות SANE השונות." + +#: backend/test.c:634 +#, no-c-format +msgid "Print options" +msgstr "הדפס אפשרויות" + +#: backend/test.c:635 +#, no-c-format +msgid "Print a list of all options." +msgstr "הדפס רשימה של כל האפשרויות." + +#: backend/test.c:712 +#, no-c-format +msgid "Bool test options" +msgstr "אפשרויות בדיקה בוליאנית" + +#: backend/test.c:725 +#, no-c-format +msgid "(1/6) Bool soft select soft detect" +msgstr "(1/6) בחירה רכה גילוי רך בוליאני" + +#: backend/test.c:727 +#, no-c-format +msgid "" +"(1/6) Bool test option that has soft select and soft detect (and " +"advanced) capabilities. That's just a normal bool option." +msgstr "" +"(1/6) אפשרות בדיקה בוליאנית שיש לה בחירה רכה וגילוי רך ויכולות " +"(מתקדמות). זוהי אפשרות בוליאנית רגילה." + +#: backend/test.c:743 +#, no-c-format +msgid "(2/6) Bool hard select soft detect" +msgstr "(2/6) בחירה קשה גילוי רך בוליאני" + +#: backend/test.c:745 +#, no-c-format +msgid "" +"(2/6) Bool test option that has hard select and soft detect (and " +"advanced) capabilities. That means the option can't be set by the " +"frontend but by the user (e.g. by pressing a button at the device)." +msgstr "" +"(2/6) אפשרות בדיקה בוליאנית שיש לה בחירה קשה וגילוי רך ויכולות " +"(מתקדמות). זה אומר שהאפשרות אינה ניתנת לקביעה בעזרת הממשק אלא על ידי " +"המשתמש (למשל על ידי לחיצה על כפתור בהתקן)." + +#: backend/test.c:762 +#, no-c-format +msgid "(3/6) Bool hard select" +msgstr "(3/6) בחירה קשה בוליאני" + +#: backend/test.c:763 +#, no-c-format +msgid "" +"(3/6) Bool test option that has hard select (and advanced) capabilities. " +"That means the option can't be set by the frontend but by the user (e.g. " +"by pressing a button at the device) and can't be read by the frontend." +msgstr "" +"(3/6) אפשרות בדיקה בוליאנית שיש לה בחירה קשה ויכולות (מתקדמות). זה אומר " +"שהאפשרות אינה ניתנת לקביעה בעזרת הממשק אלא על ידי המשתמש (למשל על ידי " +"לחיצה על כפתור בהתקן) ואינה ניתנת לקריאה בעזרת הממשק." + +#: backend/test.c:781 +#, no-c-format +msgid "(4/6) Bool soft detect" +msgstr "(4/6) גילוי רך בוליאני" + +#: backend/test.c:782 +#, no-c-format +msgid "" +"(4/6) Bool test option that has soft detect (and advanced) capabilities. " +"That means the option is read-only." +msgstr "" +"(4/6) אפשרות בדיקה בוליאנית שיש לה גילוי רך ויכולות (מתקדמות). זה אומר " +"שהאפשרות היא לקריאה בלבד." + +#: backend/test.c:798 +#, no-c-format +msgid "(5/6) Bool soft select soft detect emulated" +msgstr "(5/6) בחירה רכה גילוי רך מדומה בוליאני" + +#: backend/test.c:799 +#, no-c-format +msgid "" +"(5/6) Bool test option that has soft select, soft detect, and emulated " +"(and advanced) capabilities." +msgstr "" +"(5/6) אפשרות בדיקה בוליאנית שיש לה בחירה רכה, גילוי רך, ויכולות מדומות " +"(ומתקדמות)." + +#: backend/test.c:815 +#, no-c-format +msgid "(6/6) Bool soft select soft detect auto" +msgstr "(6/6) בחירה רכה גילוי רך אוטומטי בוליאני" + +#: backend/test.c:816 +#, no-c-format +msgid "" +"(6/6) Bool test option that has soft select, soft detect, and automatic " +"(and advanced) capabilities. This option can be automatically set by the " +"backend." +msgstr "" +"(6/6) אפשרות בדיקה בוליאנית שיש לה בחירה רכה, גילוי רך ויכולות אוטומטיות " +"(ומתקדמות). אפשרות זו יכולה להיקבע אוטומטית בעזרת ה-backend." + +#: backend/test.c:833 +#, no-c-format +msgid "Int test options" +msgstr "אפשרויות בדיקה שלם" + +#: backend/test.c:846 +#, no-c-format +msgid "(1/6) Int" +msgstr "(1/6) שלם" + +#: backend/test.c:847 +#, no-c-format +msgid "(1/6) Int test option with no unit and no constraint set." +msgstr "(1/6) אפשרות בדיקה שלם ללא יחידה וללא סט אילוצים." + +#: backend/test.c:862 +#, no-c-format +msgid "(2/6) Int constraint range" +msgstr "(2/6) טווח אילוץ שלם" + +#: backend/test.c:863 +#, no-c-format +msgid "" +"(2/6) Int test option with unit pixel and constraint range set. Minimum " +"is 4, maximum 192, and quant is 2." +msgstr "" +"(2/6) אפשרות בדיקה שלם עם פיקסל יחידה וסט טווח אילוץ. מינימום זה 4, " +"מקסימום 192, ו-quant הוא 2." + +#: backend/test.c:879 +#, no-c-format +msgid "(3/6) Int constraint word list" +msgstr "(3/6) רשימת מילות אילוץ שלם" + +#: backend/test.c:880 +#, no-c-format +msgid "(3/6) Int test option with unit bits and constraint word list set." +msgstr "(3/6) אפשרות בדיקה שלם עם ביטים יחידה וסט רשימת מילות אילוץ." + +#: backend/test.c:895 +#, no-c-format +msgid "(4/6) Int array" +msgstr "(4/6) מערך שלם" + +#: backend/test.c:896 +#, no-c-format +msgid "" +"(4/6) Int test option with unit mm and using an array without " +"constraints." +msgstr "(4/6) אפשרות בדיקה שלם עם מילימטר יחידה ושימוש במערך ללא אילוצים." + +#: backend/test.c:911 +#, no-c-format +msgid "(5/6) Int array constraint range" +msgstr "(5/6) טווח אילוצים מערך שלם" + +#: backend/test.c:912 +#, no-c-format +msgid "" +"(5/6) Int test option with unit dpi and using an array with a range " +"constraint. Minimum is 4, maximum 192, and quant is 2." +msgstr "" +"(5/6) אפשרות בדיקה שלם עם dpi יחידה ושימוש במערך עם אילוץ טווח. מינימום " +"זה 4, מקסימום 192, ו-quant זה 2." + +#: backend/test.c:929 +#, no-c-format +msgid "(6/6) Int array constraint word list" +msgstr "(6/6) רשימת מילות אילוץ מערך שלם" + +#: backend/test.c:930 +#, no-c-format +msgid "" +"(6/6) Int test option with unit percent and using an array with a word " +"list constraint." +msgstr "" +"(6/6) אפשרות בדיקה שלם עם אחוז יחידה ושימוש במערך עם אילוץ רשימת מילים." + +#: backend/test.c:946 +#, no-c-format +msgid "Fixed test options" +msgstr "אפשרויות בדיקה קבועה" + +#: backend/test.c:959 +#, no-c-format +msgid "(1/3) Fixed" +msgstr "(1/3) קבוע" + +#: backend/test.c:960 +#, no-c-format +msgid "(1/3) Fixed test option with no unit and no constraint set." +msgstr "(1/3) אפשרות בדיקה קבועה ללא יחידה וללא סט אילוצים." + +#: backend/test.c:975 +#, no-c-format +msgid "(2/3) Fixed constraint range" +msgstr "(2/3) טווח אילוץ קבוע" + +#: backend/test.c:976 +#, no-c-format +msgid "" +"(2/3) Fixed test option with unit microsecond and constraint range set. " +"Minimum is -42.17, maximum 32767.9999, and quant is 2.0." +msgstr "" +"(2/3) אפשרות בדיקה קבועה עם מיקרושנייה יחידה וסט טווח אילוצים. מינימום " +"זה -42.17, מקסימום 32767.9999, ו-quant זה 2.0." + +#: backend/test.c:992 +#, no-c-format +msgid "(3/3) Fixed constraint word list" +msgstr "(3/3) רשימת מילות אילוץ קבוע" + +#: backend/test.c:993 +#, no-c-format +msgid "(3/3) Fixed test option with no unit and constraint word list set." +msgstr "(3/3) אפשרות בדיקה קבועה ללא יחידה וסט רשימת מילות אילוץ." + +#: backend/test.c:1008 +#, no-c-format +msgid "String test options" +msgstr "אפשרויות בדיקה מחרוזת" + +#: backend/test.c:1021 +#, no-c-format +msgid "(1/3) String" +msgstr "(1/3) מחרוזת" + +#: backend/test.c:1022 +#, no-c-format +msgid "(1/3) String test option without constraint." +msgstr "(1/3) אפשרות בדיקה מחרוזת ללא אילוץ." + +#: backend/test.c:1039 +#, no-c-format +msgid "(2/3) String constraint string list" +msgstr "(2/3) רשימת מחרוזות אילוץ מחרוזת" + +#: backend/test.c:1040 +#, no-c-format +msgid "(2/3) String test option with string list constraint." +msgstr "(2/3) אפשרות בדיקה מחרוזת עם אילוץ רשימת מחרוזות." + +#: backend/test.c:1059 +#, no-c-format +msgid "(3/3) String constraint long string list" +msgstr "(3/3) רשימת מחרוזות ארוכה אילוץ מחרוזת" + +#: backend/test.c:1060 +#, no-c-format +msgid "" +"(3/3) String test option with string list constraint. Contains some more " +"entries..." +msgstr "" +"(3/3) אפשרות בדיקה מחרוזת עם אילוץ רשימת מחרוזות. מכילה כמה ערכים " +"נוספים..." + +#: backend/test.c:1080 +#, no-c-format +msgid "Button test options" +msgstr "אפשרויות בדיקה כפתור" + +#: backend/test.c:1093 +#, no-c-format +msgid "(1/1) Button" +msgstr "(1/1) כפתור" + +#: backend/test.c:1094 +#, no-c-format +msgid "(1/1) Button test option. Prints some text..." +msgstr "(1/1) אפשרות בדיקה כפתור. מדפיסה קצת טקסט..." + +#: backend/u12.c:149 +#, no-c-format +msgid "Color 36" +msgstr "צבע 36" + +#: backend/umax.c:235 +#, no-c-format +msgid "Use Image Composition" +msgstr "השתמש בהרכב תמונה" + +#: backend/umax.c:236 +#, no-c-format +msgid "Bi-level black and white (lineart mode)" +msgstr "שחור ולבן דו-רמתי (מצב סגנון קווי)" + +#: backend/umax.c:237 +#, no-c-format +msgid "Dithered/halftone black & white (halftone mode)" +msgstr "שחור ולבן Dithered/הדפסת רשת (מצב הדפסת רשת)" + +#: backend/umax.c:238 +#, no-c-format +msgid "Multi-level black & white (grayscale mode)" +msgstr "שחור ולבן רב-רמתי (מצב גווני אפור)" + +#: backend/umax.c:239 +#, no-c-format +msgid "Multi-level RGB color (one pass color)" +msgstr "צבע RGB רב-רמתי (צבע חד מעברי)" + +#: backend/umax.c:240 +#, no-c-format +msgid "Ignore calibration" +msgstr "התעלם מכיול" + +#: backend/umax.c:5733 +#, no-c-format +msgid "Disable pre focus" +msgstr "כבה פוקוס מקדים" + +#: backend/umax.c:5734 +#, no-c-format +msgid "Do not calibrate focus" +msgstr "אל תכייל פוקוס" + +#: backend/umax.c:5745 +#, no-c-format +msgid "Manual pre focus" +msgstr "פוקוס מקדים ידני" + +#: backend/umax.c:5757 +#, no-c-format +msgid "Fix focus position" +msgstr "קבע מיקום פוקוס" + +#: backend/umax.c:5769 +#, no-c-format +msgid "Lens calibration in doc position" +msgstr "כיול עדשות במיקום מסמך" + +#: backend/umax.c:5770 +#, no-c-format +msgid "Calibrate lens focus in document position" +msgstr "כייל פוקוס עדשות במיקום מסמך" + +#: backend/umax.c:5781 +#, no-c-format +msgid "Holder focus position 0mm" +msgstr "מיקום פוקוס מחזיק 0 מילימטר" + +#: backend/umax.c:5782 +#, no-c-format +msgid "Use 0mm holder focus position instead of 0.6mm" +msgstr "השתמש במיקום פוקוס מחזיק 0 מילימטר במקום 0.6 מילימטר" + +#: backend/umax.c:5885 +#, no-c-format +msgid "Calibration mode" +msgstr "מצב כיול" + +#: backend/umax.c:5886 +#, no-c-format +msgid "Define calibration mode" +msgstr "הגדר מצב כיול" + +#: backend/umax_pp.c:640 +#, no-c-format +msgid "Sets lamp on/off" +msgstr "מדליק/מכבה מנורה" + +#: backend/umax_pp.c:649 +#, no-c-format +msgid "UTA on" +msgstr "הדלקת UTA" + +#: backend/umax_pp.c:650 +#, no-c-format +msgid "Sets UTA on/off" +msgstr "קובע UTA דולק/מכובה" + +#: backend/umax_pp.c:771 +#, no-c-format +msgid "Offset" +msgstr "אופסט" + +#: backend/umax_pp.c:773 +#, no-c-format +msgid "Color channels offset settings" +msgstr "הגדרות אופסט ערוצי צבעים" + +#: backend/umax_pp.c:780 +#, no-c-format +msgid "Gray offset" +msgstr "אופסט אפור" + +#: backend/umax_pp.c:781 +#, no-c-format +msgid "Sets gray channel offset" +msgstr "קובע אופסט ערוץ אפור" + +#: backend/umax_pp.c:793 +#, no-c-format +msgid "Sets red channel offset" +msgstr "קובע אופסט ערוץ אדום" + +#: backend/umax_pp.c:805 +#, no-c-format +msgid "Sets green channel offset" +msgstr "קובע אופסט ערוץ ירוק" + +#: backend/umax_pp.c:817 +#, no-c-format +msgid "Sets blue channel offset" +msgstr "קובע אופסט ערוץ כחול" diff --git a/po/hu.gmo b/po/hu.gmo deleted file mode 100644 index 7210ba6..0000000 Binary files a/po/hu.gmo and /dev/null differ diff --git a/po/hu.po b/po/hu.po index 5a67f0d..2faffef 100644 --- a/po/hu.po +++ b/po/hu.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2011-04-06 19:50+0200\n" "Last-Translator: Németh Tamás \n" "Language-Team: Hungarian \n" @@ -27,36 +27,36 @@ msgid "Standard" msgstr "Általános" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometria" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Haladó" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -84,7 +84,7 @@ msgstr "Monokróm előnézet" msgid "Bit depth" msgstr "Színmélység" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -125,7 +125,7 @@ msgstr "Jobb-alsó x" msgid "Bottom-right y" msgstr "Jobb-alsó y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -281,7 +281,7 @@ msgstr "Fájlnév" msgid "Halftone pattern size" msgstr "" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "" @@ -293,8 +293,8 @@ msgstr "" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negatív" @@ -941,7 +941,7 @@ msgstr "Alapértelmezett" msgid "Set default values for enhancement controls." msgstr "" -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Kalibráció" @@ -1074,7 +1074,7 @@ msgstr "Negatív" msgid "Slides" msgstr "Lassabb" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1095,487 +1095,486 @@ msgstr "" msgid "1/3 normal speed" msgstr "" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "ismeretlen" -#: backend/canon.c:378 +#: backend/canon.c:373 #, fuzzy, no-c-format msgid "ADF jam" msgstr "ADF" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "" -#: backend/canon.c:394 +#: backend/canon.c:389 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Gamma érték" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, fuzzy, no-c-format msgid "film scanner" msgstr "lapolvasó" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "síkágyas lapolvasó" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Filmtípus" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Negatív film" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "Eszköz felbontása" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Kép tükrözése" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, fuzzy, no-c-format msgid "Mirror the image horizontally" msgstr "A kép vízszintes tükrözése." -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Kalibráció" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Precíz beállítás" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "lapolvasó" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, fuzzy, no-c-format msgid "Reset the scanner" msgstr "lapolvasó" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" msgstr "" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "Csak síkágyas" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, fuzzy, no-c-format msgid "Transparency unit" msgstr "Átlátszó" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, fuzzy, no-c-format msgid "Negative film" msgstr "Negatív film" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Pozitív film" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, fuzzy, no-c-format msgid "Transparency ratio" msgstr "Átlátszó" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, fuzzy, no-c-format msgid "Select film type" msgstr "Filmtípus" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Síkágyas" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, fuzzy, no-c-format msgid "Card Front" msgstr "Nyomtatás" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Duplex" msgstr "" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Vörös" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Zöld" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Kék" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Haladó" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Haladó" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Haladó" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1583,18 +1582,18 @@ msgstr "Haladó" msgid "None" msgstr "Nincs" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1611,13 +1610,13 @@ msgstr "" msgid "Duplex" msgstr "" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1730,8 +1729,8 @@ msgstr "Tintasugaras nyomtató" msgid "CRT monitors" msgstr "CRT monitor" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Alapértelmezett" @@ -1794,51 +1793,50 @@ msgstr "A4" msgid "Max" msgstr "Max" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr " Szkennelési üzemmód " -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "" -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "" -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "" -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Színkorrekció" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" @@ -1928,17 +1926,17 @@ msgstr "" msgid "Controls blue level" msgstr "A kék csatorna kontrasztja" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Kép tükrözése." -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Gyors előnézet" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "" @@ -1968,47 +1966,47 @@ msgstr "" msgid "Quick format" msgstr "" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "" @@ -2043,7 +2041,7 @@ msgid "" "pressed to actually start the scan process." msgstr "" -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "" @@ -2073,492 +2071,492 @@ msgstr "" msgid "User defined CCT profile" msgstr "" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Be" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Ki" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, no-c-format msgid "Diffusion" msgstr "" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, fuzzy, no-c-format msgid "White" msgstr "Fehérszint" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, fuzzy, no-c-format msgid "Black" msgstr "Feketeszint" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, no-c-format msgid "Continue" msgstr "Folytatás" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "Megállít" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "10mm" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "15mm" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "20mm" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Vízszintes" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Vízszintes" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Vízszintes" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Függőleges" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Függőleges" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, fuzzy, no-c-format msgid "Front" msgstr "Nyomtatás" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, no-c-format msgid "Halftone type" msgstr "" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Finom beállítás" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, no-c-format msgid "Emphasis" msgstr "" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Telítettség" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "" -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Kép tükrözése" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "A kép vízszintes tükrözése." -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Fehérszint" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "A kék csatorna kontrasztja" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Színmátrix" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Gamma érték" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Küszöb" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Zajszűrés" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Nincs korrekció" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Nincs korrekció" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Előnézeti mód" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Haladó" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Nincs korrekció" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, no-c-format msgid "Dropout color" msgstr "" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, no-c-format msgid "Buffer mode" msgstr "" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2566,65 +2564,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, no-c-format msgid "Off timer" msgstr "" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Teljes szkennelés" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "A zöld csatorna kontrasztja" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "A kék csatorna kontrasztja" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, fuzzy, no-c-format msgid "Low Memory" msgstr "Nincs elég memória" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2633,543 +2631,553 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Teljes szkennelés" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Haladó" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Zajszűrés" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, no-c-format msgid "A3 paper" msgstr "" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, no-c-format msgid "B4 paper" msgstr "" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, no-c-format msgid "A4 paper" msgstr "" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, no-c-format msgid "B5 paper" msgstr "" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, no-c-format msgid "Manual feed" msgstr "" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, no-c-format msgid "Manual feed selected" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Eszköz felbontása" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Fehérszint" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "Vörös intenzitás" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Teljes szkennelés" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, fuzzy, no-c-format msgid "Extras" msgstr "Extra gyors" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Tesztbeállítások engedélyezése" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Színmátrix" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibráció" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Precíz beállítás" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibráció" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Finom beállítás" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, no-c-format msgid "File button" msgstr "Fájl gomb" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "OCR gomb" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, no-c-format msgid "Power button" msgstr "" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "Email gomb" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Finom beállítás" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Gombok" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrálás" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Kalibrálási folyamat indítása." -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Finom beállítás" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Finom beállítás" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Finom beállítás" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr " Nyomkövetési beállítások " -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " "60 seconds warm-up time." msgstr "" -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Teljes szkennelés" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " "Don't select the full height. For testing only." msgstr "" -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Finom beállítás" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3177,12 +3185,12 @@ msgid "" "are provided. This option is enabled by default. For testing only." msgstr "" -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Finom beállítás csak az első szkeneléskor" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3190,12 +3198,12 @@ msgid "" "different with each scan, disable this option. For testing only." msgstr "" -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3204,12 +3212,12 @@ msgid "" "omitting lines." msgstr "" -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gamma érték" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "" @@ -3225,7 +3233,7 @@ msgid "Scan Mode Group" msgstr " Szkennelési üzemmód " #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "" @@ -3423,160 +3431,235 @@ msgstr "" msgid "Calibrates for black and white level." msgstr "" -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "ADF" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, no-c-format msgid "TMA Slides" msgstr "" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Negatív" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Színes 42/48" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, no-c-format msgid "Extend lamp timeout" msgstr "" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, no-c-format msgid "Waits for button before scanning" msgstr "" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, no-c-format +msgid "Last button pressed" +msgstr "" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr " Szkennelési üzemmód " + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, no-c-format +msgid "Color LED indicator" +msgstr "" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, fuzzy, no-c-format msgid "Advanced Options" msgstr "Haladó" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Egyedi" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Automatikus" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Lassú" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normál" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Gyors" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Extra gyors" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2-pixel" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4-pixel" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8-pixel" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Nyomtatás" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "XPA" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "" @@ -3750,8 +3833,8 @@ msgstr "" msgid "Shut off scanner lamp." msgstr "" -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Papír mérete" @@ -3762,8 +3845,7 @@ msgstr "Papír mérete" msgid "Automatic separation" msgstr "" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 fekvő" @@ -3778,38 +3860,34 @@ msgstr "" msgid "Long paper mode" msgstr "" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, no-c-format msgid "Manual feed mode" msgstr "" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, no-c-format msgid "Manual feed timeout" msgstr "" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "" @@ -3925,294 +4003,294 @@ msgstr "" msgid "Legal" msgstr "" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, no-c-format msgid "halftone_32" msgstr "" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, no-c-format msgid "halftone_64" msgstr "" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, no-c-format msgid "diffusion" msgstr "" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normál" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Kiemelés" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "lapolvasó" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Alapértelmezett" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, no-c-format msgid "smooth" msgstr "" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Lassú" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Közepes" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Vörös" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Zöld" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "lapolvasó" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, no-c-format msgid "Enable/Disable long paper mode" msgstr "" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, no-c-format msgid "Enable/Disable length control mode" msgstr "" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, no-c-format msgid "Sets the manual feed mode" msgstr "" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " "reduction and image emphasis" msgstr "" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Zajszűrés" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, no-c-format msgid "Lamp color" msgstr "" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "" -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "A kép függőleges tükrözése." -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -4923,99 +5001,99 @@ msgstr "" msgid "2x2 custom" msgstr "" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "" -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " "This may be a non-color mode or a low resolution mode." msgstr "" -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "" -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Vörös fényerő" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "" -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Zöld fényerő" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "" -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Kék fényerő" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "" -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "A vörös csatorna kontrasztja" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "" -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "A zöld csatorna kontrasztja" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "" -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "A kék csatorna kontrasztja" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "" @@ -5057,22 +5135,22 @@ msgid "" "40 seconds warm-up time." msgstr "" -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negatív film" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negatív" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/insert-header.sin b/po/insert-header.sin deleted file mode 100644 index b26de01..0000000 --- a/po/insert-header.sin +++ /dev/null @@ -1,23 +0,0 @@ -# Sed script that inserts the file called HEADER before the header entry. -# -# At each occurrence of a line starting with "msgid ", we execute the following -# commands. At the first occurrence, insert the file. At the following -# occurrences, do nothing. The distinction between the first and the following -# occurrences is achieved by looking at the hold space. -/^msgid /{ -x -# Test if the hold space is empty. -s/m/m/ -ta -# Yes it was empty. First occurrence. Read the file. -r HEADER -# Output the file's contents by reading the next line. But don't lose the -# current line while doing this. -g -N -bb -:a -# The hold space was nonempty. Following occurrences. Do nothing. -x -:b -} diff --git a/po/it.gmo b/po/it.gmo deleted file mode 100644 index 07d72d4..0000000 Binary files a/po/it.gmo and /dev/null differ diff --git a/po/it.po b/po/it.po index 6c083c7..375271d 100644 --- a/po/it.po +++ b/po/it.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.18\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2007-08-28 23:11+0200\n" "Last-Translator: Giuseppe Sacco \n" "Language-Team: italian translation project \n" @@ -26,36 +26,36 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometria" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Miglioramento" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -83,7 +83,7 @@ msgstr "Forza anteprima in bianco e nero" msgid "Bit depth" msgstr "Profondità in bit" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -124,7 +124,7 @@ msgstr "X in basso a destra" msgid "Bottom-right y" msgstr "Y in basso a destra" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -280,7 +280,7 @@ msgstr "Nome file" msgid "Halftone pattern size" msgstr "Dimensione del modello mezzi-toni" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Modello mezzi-toni" @@ -292,8 +292,8 @@ msgstr "Lega la risoluzione X e Y" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" @@ -987,7 +987,7 @@ msgstr "Predefiniti" msgid "Set default values for enhancement controls." msgstr "Imposta i valori predefiniti per i controlli del miglioramento" -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Calibrazione" @@ -1127,7 +1127,7 @@ msgstr "Negativi" msgid "Slides" msgstr "Diapositive" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1148,493 +1148,492 @@ msgstr "Velocità normale dimezzata" msgid "1/3 normal speed" msgstr "1/3 della velocità normale" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "parametri arrotondati" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "sconosciuto" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "ADF inceppato" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "Coperchio ADF aperto" -#: backend/canon.c:394 +#: backend/canon.c:389 #, no-c-format msgid "lamp failure" msgstr "lampada guasta" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "errore nel posizionamento della testa di scansione" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "Errore nel controllo della CPU" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "Error nel controllo della RAM" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "Errore nel controllo della ROM" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "errore nei controlli hardware" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "guasto della lampada dell'adattatore per trasparenze" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" "errore durante il posizionamento della testa di scansione per " "l'adatattore per trasparenze" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "errore nella lunghezza della lista di parametri" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "codice di comando non valido" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "campo non valido in CDB" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "LUN non supportato" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "campo non valido nella lista di parametri" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "errore nella sequenza di comandi" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "sono state specificate troppe finestre" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "supporto non presente" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "messaggio con bit IDENTIFY non valido" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "opzione non connesso" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "reset dell'alimentazione elettrica / reset del bus dei dispositivi" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "parametro cambiato da un altro iniziatore" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "nessun altra informazione aggiuntiva sul «sense»" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "errore durante la reselezione" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "errore di parità SCSI" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "ricevuto un messaggio di errore per rilevamento di iniziatore" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "errore di messaggio non valido" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "errore di timeout" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "errore nel mascheramento della unità per la trasparenza" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "lampada non stabilizzata" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "scanner da negativi" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "scanner piano" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Pellicola" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Imposta il tipo di pellicola: negativi o diapositive" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, no-c-format msgid "Negative film type" msgstr "Tipo di pellicola negativa" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "Seleziona il tipo di pellicola negativa" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "Risoluzione hardware" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "Mostra solo le risoluzioni hardware" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "Fuoco" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "Autofocus" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "Abilita/disabilita la messa a fuoco automatica" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "Autofocus unico" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Effettua l'autofocus una sola volta per ogni pellicola inserita" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "Posizione di messa a fuoco manuale" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" "Imposta manualmente la posizione del sistema di messa a fuoco " "(normalmente alla posizione 128)." -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "Margini di scansione" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "Altre impostazioni del colore" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Immagine riflessa" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, no-c-format msgid "Mirror the image horizontally" msgstr "Riflette l'immagine orizzontalmente" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "Esposizione automatica" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Abilita/disabilita l'esposizione automatica" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, no-c-format msgid "Calibration now" msgstr "Calibrazione immediata" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, no-c-format msgid "Execute calibration *now*" msgstr "Esegue adesso la calibrazione" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "Auto diagnostica" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Effettua i controlli automatici" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, no-c-format msgid "Reset scanner" msgstr "Reimposta scanner" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "Reimposta lo scanner" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "Gestione del supporto" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "Espelle la pellicola dopo ogni scansione" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Espelle automaticamente la pellicola dopo ogni scansione" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "Espelle la pellicola all'uscita" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "Espelle automaticamente la pellicola alla chiusura del programma" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "Espulsione della pellicola immediata" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "Espelle la pellicola adesso" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" msgstr "Opzioni dell'alimentatore automatico" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "Solo piano fisso" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "Disabilita l'alimentatore di fogli e usa solo il piano fisso" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format msgid "Transparency unit" msgstr "Adattatore per trasparenze" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" "Abilita/disabilita l'adattatore per le trasparenze (FAU, «film adapter " "unit»)" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, no-c-format msgid "Negative film" msgstr "Pellicola negativa" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, no-c-format msgid "Positive or negative film" msgstr "Pellicola positiva o negativa" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "Controllo della densità" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "Imposta la modalità di controllo della densità" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, no-c-format msgid "Transparency ratio" msgstr "Rapporto per trasparenze" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, no-c-format msgid "Select film type" msgstr "Seleziona tipo pellicola" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "Seleziona il tipo di pellicola" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Piano fisso" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, fuzzy, no-c-format msgid "ADF Front" msgstr "Coperchio ADF aperto" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF inceppato" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "ADF Duplex" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, fuzzy, no-c-format msgid "Card Front" msgstr "Stampa" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Fronte e retro" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rosso" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Verde" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blu" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Miglioramento" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Miglioramento" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Miglioramento" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1642,18 +1641,18 @@ msgstr "Miglioramento" msgid "None" msgstr "Nessuno" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1670,13 +1669,13 @@ msgstr "Solo fronte" msgid "Duplex" msgstr "Fronte e retro" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Adattatore per trasparenze" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1789,8 +1788,8 @@ msgstr "Stampanti a getto d'inchiostro" msgid "CRT monitors" msgstr "Monitor CRT" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Default" @@ -1853,51 +1852,50 @@ msgstr "A4" msgid "Max" msgstr "Massimo" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Modalità di scansione" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Seleziona i mezzi toni" -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Esclusione" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Seleziona l'esclusione." -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Seleziona la brillantezza." -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Nitidezza" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Correzione del colore" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" @@ -1989,17 +1987,17 @@ msgstr "Modula il rosso sulla base del livello del blu" msgid "Controls blue level" msgstr "Controlla del livello del blu" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Effettua una riflessione dell'immagine lungo l'asse verticale" -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Anteprima veloce" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Sezionamento automatico dell'area" @@ -2029,47 +2027,47 @@ msgstr "Definisce il fattore di zoom usato dallo scanner" msgid "Quick format" msgstr "Formato rapido" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Dispositivi opzionali" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Espulsione" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Espelle il foglio dall'alimentatore automatico" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Espulsione automatica" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Espelle il documento dopo la sua scansione" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Modalità ADF" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Seleziona la modalità ADF (solo fronte/fronte-retro)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Cassetto" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Seleziona il cassetto per la scansione" @@ -2111,7 +2109,7 @@ msgstr "" "premuto il tasto dello scanner per fare partire il processo di " "acquisizione." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "" @@ -2141,493 +2139,493 @@ msgstr "" msgid "User defined CCT profile" msgstr "Definito dall'utente" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Attivo" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Disattivo" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Sfumatura" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Diffusione d'errore" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, fuzzy, no-c-format msgid "White" msgstr "Livello bianco" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, fuzzy, no-c-format msgid "Black" msgstr "Livello nero" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, fuzzy, no-c-format msgid "Continue" msgstr "Condizionale" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Orizzontale" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Orizzontale" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Orizzontale" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Verticale" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Verticale" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, fuzzy, no-c-format msgid "Front" msgstr "Stampa" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Mezzi toni" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Effettua calibrazione" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Accentuazione dell'immagine" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Saturazione" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Abilita la valutazione automatica della soglia per la scansione binaria." -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Immagine riflessa" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Riflette l'immagine orizzontalmente." -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Livello di bianco sul blu" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Controlla il livello del rosso" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Filtro colore" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Ammorbidimento" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Valore gamma" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Soglia" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Soglia" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Riduzione del rumore" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Nessuna correzione" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Nessuna correzione" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Coperchio ADF aperto" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Opzioni avanzate" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Nessuna correzione" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Esclusione" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Modalità di caricamento" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2635,65 +2633,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "Durata spegnimento lampada" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Scarto sul blu" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Scarto sul verde" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Scarto sul verde" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Scarto sul blu" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Imposta lo scarto sul blu" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2702,374 +2700,374 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Scansione Duplex" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Opzioni avanzate" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Riduzione del rumore" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Da carta" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Da carta" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Da carta" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Da carta" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "Coperchio ADF aperto" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Messa a fuoco preliminare manuale" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Messa a fuoco preliminare manuale" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "errore nei controlli hardware" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Livello bianco" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "Controllo della densità" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, fuzzy, no-c-format msgid "Density dial" msgstr "Controllo della densità" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Scansione Duplex" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extra" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "Disattiva interpolazione" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3078,46 +3076,46 @@ msgstr "" "Quando si usano alte risoluzione con quella orizzontale minore della " "verticale, l'interpolazione orizzontale viene disabilitata." -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtro colore" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Quando si usano i grigi o il binario questa opzione seleziona il colore " "usato." -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibrazione" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definire la modalità di calibrazione" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Cache per la calibrazione" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "Durata spegnimento lampada" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3126,104 +3124,114 @@ msgstr "" "La lampada verrà spenta allo scadere del tempo impostato (in minuti). Il " "valore 0 indica che la lampada non deve mai essere spenta." -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Calibrazione granulosa" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" "Numero di minuti prima che la lampada venga spenta dopo la scansione" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, fuzzy, no-c-format msgid "File button" msgstr "Attendi il tasto" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, fuzzy, no-c-format msgid "Power button" msgstr "Attendi il tasto" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "Attendi il tasto" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Calibrazione granulosa" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Forza la calibrazione dello scanner prima della scansione" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Pulsanti" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibrazione" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Inizia la calibrazione." -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Calibrazione granulosa" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Cache per la calibrazione" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Calibrazione granulosa" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adattatore per trasparenza" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "Modalità a scala di grigi" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Seleziona il colore di scansione da usare per la scala di grigi " "(predefinito: verde)." -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Opzioni per il debugging" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Preriscaldamento automatico" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3232,12 +3240,12 @@ msgstr "" "Preriscalda fino a che la luminisità della lampada sia costante invece " "di attendere 60 secondi." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Scansione completa" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3247,12 +3255,12 @@ msgstr "" "calibrazione. Fare attenzione a non selezionare l'altezza completa. Da " "usare solo per effettuare test." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Calibrazione granulosa" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3264,12 +3272,12 @@ msgstr "" "opzioni per la parametrizzazione manuale analogica. Questa opzione è " "attiva in maniera predefinita. Da usare solo per effettuare test." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Calibrazione granulosa solo per la prima scansione" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3281,12 +3289,12 @@ msgstr "" "parecchio tempo. Disabilitarla se la brillantezza è diversa per ciascuna " "delle immagini da acquisire. Da usare solo per effettuare test." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "Linee del backtrack" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3299,12 +3307,12 @@ msgstr "" "computer durante la ricezione dei dati. Valori bassi permettono una " "scansione più veloce, ma aumentano il rischio di linee mancanti." -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Valore gamma" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Imposta il valore gamma per tutti i canali." @@ -3320,7 +3328,7 @@ msgid "Scan Mode Group" msgstr "Modalità di scansione" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Diapositiva" @@ -3518,162 +3526,237 @@ msgstr "Accendi o spegni la lampada" msgid "Calibrates for black and white level." msgstr "Calibrare i livelli del bianco e nero" -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "ADF" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Diapositive" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Negativi" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Colore a 48 bit" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Timeout della lampada" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, fuzzy, no-c-format msgid "Wait for button" msgstr "Attendi il tasto" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, fuzzy, no-c-format msgid "Waits for button before scanning" msgstr "Preriscaldamento della lampada prima della scansione" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Aggiorna lo stato del pulsante" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Sorgente scanner" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Colore binario" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "Opzioni avanzate" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Granuloso" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "A grana fine" # Bayer è il nome della persona che ha inventato questa matrice per il # dithering. -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Personalizzato" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Automatico" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "Passante" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "Grigio NTSC" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "XPA Grigio" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Lento" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normale" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Veloce" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Extra veloce" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2-pixel" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4-pixel" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8-pixel" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Stampa" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Pellicola" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "XPA" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Condizionale" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "Esperimento" @@ -3854,8 +3937,8 @@ msgstr "Spegnimento della lampada" msgid "Shut off scanner lamp." msgstr "Spegne la lampada dello scanner." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Dimensione del foglio" @@ -3866,8 +3949,7 @@ msgstr "Dimensione del foglio" msgid "Automatic separation" msgstr "Separazione automatica" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 orizzontale" @@ -3882,38 +3964,34 @@ msgstr "" msgid "Long paper mode" msgstr "" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Imposta la modalità di controllo della densità" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Messa a fuoco preliminare manuale" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Messa a fuoco preliminare manuale" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Attiva la scansione fronte-retro" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Dimensione del foglio nel caricatore automatico" @@ -4031,201 +4109,201 @@ msgstr "" # Bayer è il nome della persona che ha inventato questa matrice per il # dithering. -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayer" # Bayer è il nome della persona che ha inventato questa matrice per il # dithering. -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayer" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Mezzi toni" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Mezzi toni" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, fuzzy, no-c-format msgid "diffusion" msgstr "Diffusione d'errore" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normale" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Contrasto" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "scanner da negativi" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Da carta" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Default" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Morbido" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Lento" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Medio" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Rosso" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Verde" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Sorgente scanner" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Modalità di caricamento" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Selezionare la modalità di caricamento" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Abilita/disabilita la messa a fuoco automatica" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Imposta la modalità di controllo della densità" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Selezionare la modalità di caricamento" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Selezionare la modalità di caricamento" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Soglia automatica" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4235,95 +4313,95 @@ msgstr "" "del rumore e accentuazione dell'immagine vengono determinati " "automaticamente" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Riduzione del rumore" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Riduce il rumore dei punti isolati" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Accentuazione dell'immagine" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Imposta l'accentuazione dell'immagine" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Lampada accesa" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Accendi o spegni la lampada" -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Riflette l'immagine verticalmente." -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -5045,17 +5123,17 @@ msgstr "3x3 personalizzato" msgid "2x2 custom" msgstr "2x2 personalizzato" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Scala di grigi rapido" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Scansione rapida con scala di grigi (bassa qualità)." -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -5065,82 +5143,82 @@ msgstr "" "possibile (a bassa qualità). Questa potrebbe essere senza i colori o a " "bassa risoluzione." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Durata in minuti dello spegnimento della lampada." -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Imposta il ritardo (in minuti) dopo il quale spegnere la lampada." -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "Spegne la lampada" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Spegne subito la lampada." -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Luminosità del rosso" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Controlla la luminosità del canale rosso dell'immagine acquisita." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Luminosità del verde" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Controlla la luminosità del canale verde dell'immagine acquisita." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Luminosità del blu" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Controlla la luminosità del canale blu dell'immagine acquisita." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Contrasto canale rosso" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Controlla il contrasto del canale rosso dell'immagine acquisita." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Contrasto canale verde" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Controlla il contrasto del canale verde dell'immagine acquisita." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Contrasto canale blu" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Controlla il contrasto del canale blu dell'immagine acquisita." @@ -5184,22 +5262,22 @@ msgstr "" "Preriscalda fino a che la luminisità della lampada sia costante invece " "di attendere 40 secondi." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Pellicola negativa" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Colore ad alta qualità" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/ja.gmo b/po/ja.gmo deleted file mode 100644 index 4cf6b91..0000000 Binary files a/po/ja.gmo and /dev/null differ diff --git a/po/ja.po b/po/ja.po index 5c589f6..ebf72ed 100644 --- a/po/ja.po +++ b/po/ja.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.20\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2009-10-31 10:30+0900\n" "Last-Translator: Hiroshi Miura \n" "Language-Team: Japanese \n" @@ -30,36 +30,36 @@ msgid "Standard" msgstr "標準" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "配置" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "増強" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -87,7 +87,7 @@ msgstr "モノクロームプレビューを強制する" msgid "Bit depth" msgstr "ビット深度" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -128,7 +128,7 @@ msgstr "右下のx" msgid "Bottom-right y" msgstr "右下のy" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -284,7 +284,7 @@ msgstr "ファイル名" msgid "Halftone pattern size" msgstr "ハーフトーンパターンの大きさ" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "ハーフトーンのパターン" @@ -296,8 +296,8 @@ msgstr "XとY解像度を拘束" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "ネガ" @@ -946,7 +946,7 @@ msgstr "既定" msgid "Set default values for enhancement controls." msgstr "増強制御の既定値を設定する" -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "校正" @@ -1084,7 +1084,7 @@ msgstr "ネガ画像" msgid "Slides" msgstr "スライド" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1105,488 +1105,487 @@ msgstr "半分の速度" msgid "1/3 normal speed" msgstr "3分の1の速度" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "丸められたパラメター値" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "不明" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "ADFが詰まりました" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "ADFのカバーが開いています" -#: backend/canon.c:394 +#: backend/canon.c:389 #, no-c-format msgid "lamp failure" msgstr "ランプ不良" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "走査ヘッドの位置エラー" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "CPUチェックエラー" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "RAMチェックエラー" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "ROMチェックエラー" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "ハードウエアチェックエラー" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "フィルムユニットのランプ不良" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "フィルムユニットのヘッド位置不良" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "パラメターリストの長さエラー" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "不正なコマンド操作コード" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "CDBに不正なフィールド" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "サポートされないLUN" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "パラメターリストに不正なフィールド" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "コマンドの順序エラー" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "指定されたウインドウが多すぎます" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "媒体が存在しません" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "IDENTIFYメッセージに不正なビット" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "オプションが正しくありません" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "電源ONリセット/バスデバイスリセット" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "ほかの初期化プログラムによってパラメターが変更されました" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "追加センサー情報はありません。" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "再選択失敗" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "SCSIパリティエラー" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "初期化ルーチンがエラーメッセージを受信しました。" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "不正なメッセージエラー" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "タイムアウトエラー" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "透過ユニットのシェーディングエラー" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "ランプが安定しません" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "フィルムスキャナー" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "フラットベッド(平台型)スキャナ" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "フィルムの種類" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "フィルムの種類を選択(例、ネガ、スライド)" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, no-c-format msgid "Negative film type" msgstr "ネガフィルム" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "ネガフィルムを選択" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "ハードウエア解像度" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "ハードウエア解像度だけを使用" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "焦点" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "自動焦点" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "自動焦点を有効/無効" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "自動焦点を一回だけ行う" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "排出している間に、一度だけ自動焦点補正を行います。" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "手動焦点位置" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "光学系の焦点位置を手動で設定します(既定値:128)" -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "走査の余白" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "追加色調整" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "鏡像画像" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, no-c-format msgid "Mirror the image horizontally" msgstr "水平に画像の鏡像にする" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "自動露出" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "自動露光機能を有効/無効にする" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, no-c-format msgid "Calibration now" msgstr "校正中" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, no-c-format msgid "Execute calibration *now*" msgstr "較正を「すぐに」実行します" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "自己診断" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "スキャナーの自己診断を実行" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, no-c-format msgid "Reset scanner" msgstr "スキャナーのリセット" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "スキャナーをリセットする" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "媒体の扱い" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "各走査の後フィルムを排出する" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "自動的に、各走査の後、フィルムを装置から排出する。" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "終了前にフィルムを排出する" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "自動的に、プログラム終了前に装置からフィルムを排出する" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "フィルムを今排出" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "フィルムを今すぐ、排出する。" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" msgstr "文書供給装置拡張" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "フラットベッドのみ" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "自動書類送りを無効にし、平台だけを使います" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format msgid "Transparency unit" msgstr "透過ユニット" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" "透過ユニットのオフ・オンを切り替えます。(FAU,フィルムアダプター装置)" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, no-c-format msgid "Negative film" msgstr "ネガフィルム" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, no-c-format msgid "Positive or negative film" msgstr "ポジあるいはネガフィルム" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "濃度制御" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "濃度制御モードを設定" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, no-c-format msgid "Transparency ratio" msgstr "透過率" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, no-c-format msgid "Select film type" msgstr "フィルムの種類を選択" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "フィルムの種類を選ぶ" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "フラットベッド" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "ADF表面" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "ADF裏面" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "ADF両面" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, fuzzy, no-c-format msgid "Card Front" msgstr "ADF表面" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, fuzzy, no-c-format msgid "Card Back" msgstr "ADF裏面" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "両面" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "赤" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "緑" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "青" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "増強" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "増強" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "増強" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1594,18 +1593,18 @@ msgstr "増強" msgid "None" msgstr " なし" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1622,13 +1621,13 @@ msgstr "片面" msgid "Duplex" msgstr "両面" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "透過ユニット" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1741,8 +1740,8 @@ msgstr "インクジェットプリンタ" msgid "CRT monitors" msgstr "CRTモニター" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "既定" @@ -1805,51 +1804,50 @@ msgstr "A4" msgid "Max" msgstr "最大" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "走査モード" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "ハーフトーンを選択する。" -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "取り出し口" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "取り出し口の選択" -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "輝度の選択" -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "鮮鋭度" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "カラー補正" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "選択した出力デバイスのための色補正テーブルを設定する。" @@ -1939,17 +1937,17 @@ msgstr "青レベルを基準として赤を増加" msgid "Controls blue level" msgstr "青レベルの制御" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "鏡像をとる。" -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "高速プレビュー" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "自動領域分割" @@ -1979,47 +1977,47 @@ msgstr "スキャナーが使うべきズーム値を定義" msgid "Quick format" msgstr "簡易フォーマット" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "光学装置" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "排出" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "ADFの書類を排出する" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "自動排出" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "走査後、書類を排出" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "ADFモード" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "ADFモードの選択(片面、両面)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "" @@ -2056,7 +2054,7 @@ msgstr "" "スキャンコマンドを送信後、実際に走査処理が始まる、スキャナーのボタンが押" "されるのをまつ。" -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "" @@ -2086,492 +2084,492 @@ msgstr "" msgid "User defined CCT profile" msgstr "ユーザ定義" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "オン" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "オフ" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "ディザー" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, fuzzy, no-c-format msgid "Diffusion" msgstr "エラー拡散" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, fuzzy, no-c-format msgid "White" msgstr "ホワイトレベル" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, fuzzy, no-c-format msgid "Black" msgstr "黒レベル" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, fuzzy, no-c-format msgid "Continue" msgstr "条件付き" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "水平の" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "水平の" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "水平の" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "垂直の" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "垂直の" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, fuzzy, no-c-format msgid "Front" msgstr "ADF表面" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, fuzzy, no-c-format msgid "Back" msgstr "ADF裏面" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, fuzzy, no-c-format msgid "Halftone type" msgstr "網版" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "較正の実行" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, fuzzy, no-c-format msgid "Emphasis" msgstr "画像強調" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "彩度" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "線画の走査で閾値の自動判定を有効にする" -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "鏡像画像" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "水平に鏡像をとる。" -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "ホワイトレベルの青値" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "赤レベルの制御" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "カラーフィルタ" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "スムージング" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "ガンマ値" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "閾値" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "閾値" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "ノイズ除去" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "補正をしない" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "補正をしない" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "ADFのカバーが開いています" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "上級オプション" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "補正をしない" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "取り出し口" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "フィーダーモード" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2579,65 +2577,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "ランプをオフにする時間" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "赤オフセット" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "緑オフセット" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "緑オフセット" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, no-c-format msgid "Adjust blue/red offset" msgstr "" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, fuzzy, no-c-format msgid "Low Memory" msgstr "メモリ不足" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2646,374 +2644,374 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "両面スキャン" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "上級オプション" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "ノイズ除去" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, fuzzy, no-c-format msgid "A3 paper" msgstr "紙から" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, fuzzy, no-c-format msgid "B4 paper" msgstr "紙から" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, fuzzy, no-c-format msgid "A4 paper" msgstr "紙から" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, fuzzy, no-c-format msgid "B5 paper" msgstr "紙から" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "スキャナーのカバーが開いています" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "手動焦点位置" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "手動焦点位置" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "ハードウエアチェックエラー" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "ホワイトレベル" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "濃度制御" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, fuzzy, no-c-format msgid "Density dial" msgstr "濃度制御" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "両面スキャン" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "追加" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3022,44 +3020,44 @@ msgstr "" "水平解像度が垂直解像度より低いような高解像度を使うときは、水平" "interpolationを無効にします。" -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "カラーフィルタ" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "校正" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "較正を「すぐに」実行します" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "較正データのキャッシュ" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "ランプをオフにする時間" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3068,101 +3066,111 @@ msgstr "" "ランプは指定された時間(分)が経過したらオフにされます。値が0のときは、" "この機能は働きません。" -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "ダーク補正時にランプをオフにする" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "走査した後、ランプがオフになるまでの時間(分)" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, no-c-format msgid "File button" msgstr "ファイルボタン" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "OCRボタン" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, no-c-format msgid "Power button" msgstr "電源ボタン" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "電子メールボタン" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, fuzzy, no-c-format msgid "Need calibration" msgstr "較正のクリア" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "走査前にスキャナの校正を強制する" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "ボタン" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "較正" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, no-c-format msgid "Start calibration using special sheet" msgstr "特殊シートを用いた補正を開始" -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, no-c-format msgid "Clear calibration" msgstr "較正のクリア" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, no-c-format msgid "Clear calibration cache" msgstr "校正キャッシュを消去する" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "粗校正" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "透過アダプター" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "グレーモード色" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "どの色を用いてグレーモードを実現するかを選択(既定:緑)" -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "デバッグオプション" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "自動暖機" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3170,12 +3178,12 @@ msgid "" msgstr "" "60秒の暖機時間を使う代わりに、ランプの輝度が一定になるまで暖機します。" -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "全走査" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3184,12 +3192,12 @@ msgstr "" "補正領域を含めて、全領域を走査します。注意:全高を選択しないこと。これは" "テスト用です。" -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "粗校正" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3201,12 +3209,12 @@ msgstr "" "が必要です。このオプションは既定で有効にされています。テスト用途で存在す" "るオプションです。" -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "粗調整を最初の走査だけ行う" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3214,12 +3222,12 @@ msgid "" "different with each scan, disable this option. For testing only." msgstr "" -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3228,12 +3236,12 @@ msgid "" "omitting lines." msgstr "" -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "ガンマ値" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "すべてのチャネルのガンマ値を設定" @@ -3249,7 +3257,7 @@ msgid "Scan Mode Group" msgstr "スキャンモードグループ" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "スライド" @@ -3454,160 +3462,235 @@ msgstr "ランプのオフ/オンを切り替え" msgid "Calibrates for black and white level." msgstr "白黒レベルを較正" -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "ADF" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, no-c-format msgid "TMA Slides" msgstr "TMAスライド" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, no-c-format msgid "TMA Negatives" msgstr "TMAネガ" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, no-c-format msgid "Color (48 bits)" msgstr "カラー(48ビット)" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, no-c-format msgid "Extend lamp timeout" msgstr "ランプタイムアウトの拡大" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "ボタン待ち" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, no-c-format msgid "Waits for button before scanning" msgstr "" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "ボタン状態の更新" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "走査カウンター" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, no-c-format +msgid "Color LED indicator" +msgstr "" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "上級オプション" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "粗" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "密" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "バイエル" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "カスタム" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "自動" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC方式RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "XPA方式RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "パススルー" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "NTSCのグレー" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "XPAのグレー" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "遅い" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "普通" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "速い" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "超高速" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2ピクセル" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4ピクセル" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8ピクセル" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "印刷" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "フィルムの一片" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "XPA" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "条件付き" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "実験的" @@ -3781,8 +3864,8 @@ msgstr "ランプの停止" msgid "Shut off scanner lamp." msgstr "スキャナーのランプを停止する。" -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "紙サイズ" @@ -3793,8 +3876,7 @@ msgstr "紙サイズ" msgid "Automatic separation" msgstr "" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5横" @@ -3809,38 +3891,34 @@ msgstr "" msgid "Long paper mode" msgstr "" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "濃度制御モードを設定" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, no-c-format msgid "Manual feed mode" msgstr "" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "手動焦点位置" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "両面走査を有効にする。" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "ADFにある紙の物理サイズ" @@ -3956,199 +4034,199 @@ msgstr "" msgid "Legal" msgstr "" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "バイエル" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "バイエル" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "網版" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "網版" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, fuzzy, no-c-format msgid "diffusion" msgstr "エラー拡散" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "普通" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "ハイライト" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "フィルムスキャナー" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "紙から" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "既定" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "スムース" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "遅い" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "中" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "赤" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "緑" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "走査源" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "フィーダーモード" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "シート送りモードの設定" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "自動焦点を有効/無効" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "濃度制御モードを設定" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "シート送りモードの設定" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "シート送りモードの設定" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "自動閾値" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4157,95 +4235,95 @@ msgstr "" "自動的に輝度、コントラスト、ホワイトレベル、ガンマ値、ノイズ低減とイメー" "ジ強調を設定する。" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "ノイズ除去" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "画像強調" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "イメージ強調を設定" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "ガンマ" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "ランプをオン" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "ランプのオフ/オンを切り替え" -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "垂直に鏡像をとる。" -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -4957,99 +5035,99 @@ msgstr "3x3 カスタム" msgid "2x2 custom" msgstr "2x2 カスタム" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "高速グレーモード" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "高速グレーモードで走査(低品質)" -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " "This may be a non-color mode or a low resolution mode." msgstr "すべてのプレビューを最高速モード(低品質)で行うようにする。" -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "ランプオフ時間(分)" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "ランプが停止するまでの時間(分)を設定する" -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "ランプをオフに" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "すぐにランプをオフにする。" -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "赤の輝度" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "取得された画像の赤チャネルの輝度を制御します。" -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "緑の輝度" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "取得された画像の緑チャネルの輝度を制御します。" -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "青の輝度" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "取得された画像の青チャネルの輝度を制御します。" -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "" -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "" -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "" @@ -5091,22 +5169,22 @@ msgid "" "40 seconds warm-up time." msgstr "" -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "ネガフィルム" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "ネガ" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "高精彩" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/nb.gmo b/po/nb.gmo deleted file mode 100644 index 5ec66f2..0000000 Binary files a/po/nb.gmo and /dev/null differ diff --git a/po/nb.po b/po/nb.po index 84fb1ce..183c1f0 100644 --- a/po/nb.po +++ b/po/nb.po @@ -4,8 +4,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.12\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2007-12-17 23:01+0100\n" "Last-Translator: Sigurd Stordal \n" "Language-Team: \n" @@ -25,36 +25,36 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometri" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Forbedring" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -82,7 +82,7 @@ msgstr "Fremtving enfarge forvisning" msgid "Bit depth" msgstr "Bit dybde" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -123,7 +123,7 @@ msgstr "Bunn-høyre x" msgid "Bottom-right y" msgstr "Bunn-høyre y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -279,7 +279,7 @@ msgstr "Filnavn" msgid "Halftone pattern size" msgstr "" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "" @@ -291,8 +291,8 @@ msgstr "" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" @@ -939,7 +939,7 @@ msgstr "Standard" msgid "Set default values for enhancement controls." msgstr "Velg standard verdier for kontroll av forbedring" -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Kalibrering" @@ -1072,7 +1072,7 @@ msgstr "Negativ" msgid "Slides" msgstr "Treigest" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1093,487 +1093,486 @@ msgstr "" msgid "1/3 normal speed" msgstr "" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "" -#: backend/canon.c:394 +#: backend/canon.c:389 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Gammaverdi" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Filmtype" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Negativ Film" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, fuzzy, no-c-format msgid "Selects the negative film type" msgstr "Velger rammenummer å skanne" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, fuzzy, no-c-format msgid "Hardware resolution" msgstr "Skanoppløsning" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, fuzzy, no-c-format msgid "Use only hardware resolutions" msgstr "Vis kort liste over oppløsninger" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, fuzzy, no-c-format msgid "Auto focus" msgstr "Automatisk utløsning" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, fuzzy, no-c-format msgid "Manual focus position" msgstr "Fokuseringposisjon" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Speilbilde" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, fuzzy, no-c-format msgid "Mirror the image horizontally" msgstr "Speilbilde" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, fuzzy, no-c-format msgid "Auto exposure" msgstr "Automatisk utløsning" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Kalibrering" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Kvalitets kalibrering" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "Raskt skan" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, fuzzy, no-c-format msgid "Eject film after each scan" msgstr "Løs ut dokoment etter skanning" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, fuzzy, no-c-format msgid "Document feeder extras" msgstr "Dokumentmater" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format msgid "Transparency unit" msgstr "" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, fuzzy, no-c-format msgid "Negative film" msgstr "Negativ Film" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Lysbilde Film" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, no-c-format msgid "Transparency ratio" msgstr "" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, fuzzy, no-c-format msgid "Select film type" msgstr "Filmtype" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, no-c-format msgid "Card Front" msgstr "" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Duplex" msgstr "" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rød" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Grønn" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blå" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Forbedring" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Forbedring" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Forbedring" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1581,18 +1580,18 @@ msgstr "Forbedring" msgid "None" msgstr "Ingen" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1609,13 +1608,13 @@ msgstr "" msgid "Duplex" msgstr "" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1728,8 +1727,8 @@ msgstr "Blekkskrivere" msgid "CRT monitors" msgstr "" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Standard" @@ -1792,51 +1791,50 @@ msgstr "" msgid "Max" msgstr "Maks" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "" -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "" -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "" -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Skarphet" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Farge korreksjon" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" @@ -1926,17 +1924,17 @@ msgstr "Legger til rødt basert på blå-nivå" msgid "Controls blue level" msgstr "Kontrollerer blå-nivå" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Speil bildet" -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Rask forvisning" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Automatisk oppdeling av areal i delareal" @@ -1966,47 +1964,47 @@ msgstr "" msgid "Quick format" msgstr "" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Tilleggsutstyr" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Utløs" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Utløs arket i ADF" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Automatisk utløsning" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Løs ut dokoment etter skanning" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "" @@ -2043,7 +2041,7 @@ msgstr "" "Etter at kommandoen for skan er sendt, vent til skannerens knapp " "ertrykket før skanings prossesen startes." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "" @@ -2073,492 +2071,492 @@ msgstr "" msgid "User defined CCT profile" msgstr "Brukerdefinert" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, no-c-format msgid "Diffusion" msgstr "" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, fuzzy, no-c-format msgid "White" msgstr "Hvitnivå" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, fuzzy, no-c-format msgid "Black" msgstr "Svartnivå" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, no-c-format msgid "Continue" msgstr "" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, no-c-format msgid "Horizontal bold" msgstr "" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, no-c-format msgid "Horizontal narrow" msgstr "" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, no-c-format msgid "Vertical bold" msgstr "" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, no-c-format msgid "Front" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, no-c-format msgid "Halftone type" msgstr "" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Grov kalibrering" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, no-c-format msgid "Emphasis" msgstr "" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Kalibrering" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "" -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Speilbilde" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Speilbilde" -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Hvitnivå for blå" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Kontrollerer rød-nivå" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Fargestrektegning" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Gammaverdi" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, no-c-format msgid "Threshold white" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Støyreduksjon" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Ingen korrigering" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Ingen korrigering" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, no-c-format msgid "DF recovery mode" msgstr "" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Spesielle valg" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Ingen korrigering" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Lampe på" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, no-c-format msgid "Buffer mode" msgstr "" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2566,65 +2564,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "Lampe av" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Lampe av" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, fuzzy, no-c-format msgid "Green offset" msgstr "Lampe av" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Lampe av" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, fuzzy, no-c-format msgid "Blue offset" msgstr "Lampe av" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Kontrast blåkanal" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2633,543 +2631,553 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Full skan" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Spesielle valg" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Støyreduksjon" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Manuell førfokus" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Manuell førfokus" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Skanoppløsning" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Hvitnivå" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "lav densitets utskrift" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Full skan" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Fargestrektegning" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrering" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Kvalitets kalibrering" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibrering" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, fuzzy, no-c-format msgid "Lamp off time" msgstr "Lampe av" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Grov kalibrering" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, fuzzy, no-c-format msgid "File button" msgstr "Vent på knappen" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, fuzzy, no-c-format msgid "Power button" msgstr "Vent på knappen" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "Vent på knappen" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Grov kalibrering" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Grov kalibrering kun for første skan" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, fuzzy, no-c-format msgid "Buttons" msgstr "Knappstatus" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, fuzzy, no-c-format msgid "Calibrate" msgstr "Kalibrering" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Grov kalibrering" -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Grov kalibrering" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Kalibrering" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Grov kalibrering" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatisk oppvarming" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " "60 seconds warm-up time." msgstr "" -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Full skan" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " "Don't select the full height. For testing only." msgstr "" -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Grov kalibrering" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3177,12 +3185,12 @@ msgid "" "are provided. This option is enabled by default. For testing only." msgstr "" -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Grov kalibrering kun for første skan" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3190,12 +3198,12 @@ msgid "" "different with each scan, disable this option. For testing only." msgstr "" -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3204,12 +3212,12 @@ msgid "" "omitting lines." msgstr "" -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gammaverdi" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "" @@ -3225,7 +3233,7 @@ msgid "Scan Mode Group" msgstr "" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "" @@ -3423,160 +3431,235 @@ msgstr "" msgid "Calibrates for black and white level." msgstr "" -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Treigest" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Negativ" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Farge 48" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Lampe av" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Vent på knappen" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, fuzzy, no-c-format msgid "Waits for button before scanning" msgstr "Varm opp lampen før skanning" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Knappstatus" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Skankilde" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Fargestrektegning" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, fuzzy, no-c-format msgid "Advanced Options" msgstr "Spesielle valg" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Grov" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Fin" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Valgfri" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Automatisk" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "NTSC-grå" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "XPA-grå" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Treig" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Rask" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, fuzzy, no-c-format msgid "Film-strip" msgstr "Filmtype" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "" @@ -3750,8 +3833,8 @@ msgstr "" msgid "Shut off scanner lamp." msgstr "Slå av skanner lampen." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Papirstørrelse" @@ -3762,8 +3845,7 @@ msgstr "Papirstørrelse" msgid "Automatic separation" msgstr "" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 landskap" @@ -3778,38 +3860,34 @@ msgstr "" msgid "Long paper mode" msgstr "" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Manuell førfokus" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Manuell førfokus" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Fysisk størrelse av papir i ADF" @@ -3925,294 +4003,294 @@ msgstr "" msgid "Legal" msgstr "" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, no-c-format msgid "halftone_32" msgstr "" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, no-c-format msgid "halftone_64" msgstr "" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, no-c-format msgid "diffusion" msgstr "" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, no-c-format msgid "normal" msgstr "" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, no-c-format msgid "light" msgstr "" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "Fra papir" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Fra papir" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Standard" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, no-c-format msgid "smooth" msgstr "" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Treig" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Middels" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Rød" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Grønn" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Skankilde" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, no-c-format msgid "Enable/Disable long paper mode" msgstr "" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, no-c-format msgid "Enable/Disable length control mode" msgstr "" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Velger måten å foreta gamma korreksjon på" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " "reduction and image emphasis" msgstr "" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Støyreduksjon" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Lampe på" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "" -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Speilbilde" -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -4926,99 +5004,99 @@ msgstr "3x3 valgfri" msgid "2x2 custom" msgstr "2x2 valgfri" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "" -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " "This may be a non-color mode or a low resolution mode." msgstr "" -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, fuzzy, no-c-format msgid "Lamp off time (minutes)" msgstr "Varmopp lampe" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, fuzzy, no-c-format msgid "Turn lamp off" msgstr "Lampe av" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "" -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "" -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, fuzzy, no-c-format msgid "Green brightness" msgstr "Grønnbalanse" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "" -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "" -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Kontrast rødkanal" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "" -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Kontrast grønnkanal" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "" -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrast blåkanal" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "" @@ -5060,22 +5138,22 @@ msgid "" "40 seconds warm-up time." msgstr "" -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negativ Film" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativ" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/nl.gmo b/po/nl.gmo deleted file mode 100644 index 78ec2e1..0000000 Binary files a/po/nl.gmo and /dev/null differ diff --git a/po/nl.po b/po/nl.po index 98c8aef..c4b0811 100644 --- a/po/nl.po +++ b/po/nl.po @@ -8,16 +8,15 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends.nl\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" -"PO-Revision-Date: 2017-05-19 17:02+0100\n" -"Last-Translator: Martin Kho \n" -"Language-Team: English \n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"PO-Revision-Date: 2019-07-26 13:38+0900\n" +"Last-Translator: Olaf Meeuwissen \n" +"Language-Team:\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 2.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: include/sane/saneopts.h:154 @@ -31,36 +30,36 @@ msgid "Standard" msgstr "Standaard" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometrie" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Kleurverbetering" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -88,7 +87,7 @@ msgstr "Dwing monochroom voorbeeldscan" msgid "Bit depth" msgstr "Bitdiepte" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -129,7 +128,7 @@ msgstr "Rechtsonder x" msgid "Bottom-right y" msgstr "Rechtsonder y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -285,7 +284,7 @@ msgstr "Bestandsnaam" msgid "Halftone pattern size" msgstr "Grootte van het halftoonpatroon" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Halftoonpatroon" @@ -297,8 +296,8 @@ msgstr "Combineer X- en Y-resolutie" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negatief" @@ -984,7 +983,7 @@ msgstr "Standaardinstellingen" msgid "Set default values for enhancement controls." msgstr "Stel standaardwaarden in om verbeteropties te krijgen." -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Kalibreren" @@ -1124,7 +1123,7 @@ msgstr "Negatieven" msgid "Slides" msgstr "Dia's" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1145,490 +1144,489 @@ msgstr "1/2 van de standaard snelheid" msgid "1/3 normal speed" msgstr "1/3 van de standaard snelheid" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "Afgeronde parameter" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "onbekend" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "Opstopping in automatische documentinvoer" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "Deksel van automatische documentinvoer open" -#: backend/canon.c:394 +#: backend/canon.c:389 #, no-c-format msgid "lamp failure" msgstr "lampfalen" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "fout in positionering van scannerkop" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "fout bij controle van processor" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "fout bij controle van het RAM geheugen" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "fout bij controle van het ROM geheugen" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "fout bij controle van de hardware" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "lampfalen van de transparanten eenheid" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" "fout in de positionering van de scannerkop in de transparanten eenheid" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "fout in de lengte van de parameterlijst" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "ongeldige opdrachtcode" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "ongeldig veld in CDB" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "niet-ondersteunde LUN" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "ongeldig veld in de parameterlijst" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "fout in volgorde van de opdrachten" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "te veel vensters gespecificeerd" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "medium niet aanwezig" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "ongeldig onderdeel in IDENTIFY boodschap" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "optie onjuist" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "scanner aan reset / scannerinterface reset" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "parameter gewijzigd door een andere initiator" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "geen zinvolle, aanvullende informatie" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "opnieuw kiezen mislukt" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "fout in SCSI pariteit" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "Door initiator gesignaleerde foutboodschap ontvangen" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "ongeldige boodschap fout" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "timeout" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "fout in de afscherming van de transparantie-eenheid " -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "lamp niet gestabiliseerd" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "Filmscanner" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "Flatbedscanner" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Filmtype" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Selecteert het filmtype, bijvoorbeeld negatieven of dia's" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, no-c-format msgid "Negative film type" msgstr "Negatief filmtype" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "Selecteert het negatief filmtype" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "Hardware resolutie" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "Gebruik alleen hardware resoluties" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "Focus" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "Autofocus" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "Aan/uit schakelen van autofocus" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "Eén keer autofocus" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Voer alleen een autofocus uit tussen uitworpen" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "Handmatige focuspositie" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" "Stel de optische focus van de scanner handmatig in (standaard: 128)" -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "Scanmarges" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "Extra kleuraanpassingen" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Spiegel het beeld" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, no-c-format msgid "Mirror the image horizontally" msgstr "Spiegel het beeld horizontaal" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "Automatische belichting" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Schakel de automatische belichtingsoptie aan/uit" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, no-c-format msgid "Calibration now" msgstr "Kalibreer nu" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, no-c-format msgid "Execute calibration *now*" msgstr "Voer kalibratie *NU* uit" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "Zelftest" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Voer de zelftest van de scanner uit" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, no-c-format msgid "Reset scanner" msgstr "Reset scanner" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "Reset de scanner" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "Gemiddeld gebruik" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "Werp de film uit na elke scan" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Werp de film automatisch uit de scanner na elke scan" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "Werp de film uit voor het programma wordt verlaten" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" "Werp de film automatisch uit de scanner voor het programma wordt verlaten" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "Werp de film nu uit" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "Werp de film *NU* uit" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" msgstr "Extra's van de documentendoorvoer" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "Alleen flatbed" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "Schakel automatische documentinvoer uit en gebruik alleen flatbed" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format msgid "Transparency unit" msgstr "Transparanteneenheid" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Schakel de transparanteneenheid aan/uit (FAU, film adaptereenheid)" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, no-c-format msgid "Negative film" msgstr "Negatief filmtype" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, no-c-format msgid "Positive or negative film" msgstr "Dia of negatief filmtype" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "Dichtheidscontrole" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "Kies de dichtheidscontrolemodus" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, no-c-format msgid "Transparency ratio" msgstr "Transparantieverhouding" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, no-c-format msgid "Select film type" msgstr "Selecteert filmtype" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "Selecteert het filmtype" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbed" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Automatische documentinvoer voorzijde" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Automatische documentinvoer achterzijde" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Automatische documentinvoer dubbelzijdig" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, no-c-format msgid "Card Front" msgstr "Kaart voorzijde" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" msgstr "Kaart achterzijde" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Duplex" msgstr "Kaart dubbelzijdig" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rood" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Groen" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blauw" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, no-c-format msgid "Enhance Red" msgstr "Verbeter rood" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, no-c-format msgid "Enhance Green" msgstr "Verbeter groen" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Blue" msgstr "Verbeter blauw" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1636,18 +1634,18 @@ msgstr "Verbeter blauw" msgid "None" msgstr "Geen" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "Softwarematig over te slaan percentage lege pagina's" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "Verzoek het stuurprogramma pagina's met weinig dekking te negeren" @@ -1664,13 +1662,13 @@ msgstr "enkelzijdig" msgid "Duplex" msgstr "Dubbelzijdig" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Filmeenheid" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1783,8 +1781,8 @@ msgstr "Inkjetprinters" msgid "CRT monitors" msgstr "CRT-monitoren" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Standaardinstelling" @@ -1847,51 +1845,50 @@ msgstr "A4" msgid "Max" msgstr "Maximaal" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Scanmodus" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Kiest halftoon." -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Kleuronderdrukken" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Kiest kleuronderdrukken." -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Kiest helderheid." -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Scherpte" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Kleurcorrectie" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "Stelt de kleurcorrectietabel in voor het gekozen uitvoerapparaat." @@ -1981,17 +1978,17 @@ msgstr "Verhoogt rood op basis van de blauwwaarde" msgid "Controls blue level" msgstr "Regelt de blauwwaarde" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Spiegel het beeld." -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Snelle voorbeeldscan" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Automatische verdeling van het scanoppervlak" @@ -2021,49 +2018,49 @@ msgstr "Definieert de vergrotingsfactor die de scanner zal gebruiken" msgid "Quick format" msgstr "Snelle opmaak" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Optioneel hulpstuk" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Uitwerpen" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Werp het document in de automatische documentinvoer uit" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Automatische uitworp" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Werp het document uit na het scannen" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Automatische documentinvoer Modus" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" "Selecteert de Automatische documentinvoer modus (enkelzijdig/" "dubbelzijdig)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Bak" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Kies de bak om te scannen" @@ -2103,7 +2100,7 @@ msgstr "" "Begin pas met scannen als eerst het scancommando naar de scanner is " "gestuurd en daarna de knop van de scanner is ingedrukt." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "Infrarood" @@ -2133,243 +2130,243 @@ msgstr "Ingebouwd CCT profiel" msgid "User defined CCT profile" msgstr "Door gebruiker gedefinieerd CCT profiel" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Aan" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Uit" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Dither" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, no-c-format msgid "Diffusion" msgstr "Verspreiding" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, no-c-format msgid "White" msgstr "Wit" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, no-c-format msgid "Black" msgstr "Zwart" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, no-c-format msgid "Continue" msgstr "Voortzetten" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "Stoppen" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "10mm" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "15mm" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "20mm" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontaal" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, no-c-format msgid "Horizontal bold" msgstr "Horizontaal vet" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, no-c-format msgid "Horizontal narrow" msgstr "Horizontaal smal" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Verticaal" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, no-c-format msgid "Vertical bold" msgstr "Verticaal vet" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "Van boven naar beneden" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "Van beneden naar boven" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, no-c-format msgid "Front" msgstr "Voorzijde" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "Achterzijde" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "Gammafunctie exponent" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "Verandert de intensiteit van de middentonen" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "GBF" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "Gespiegeld beeld formaat" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, no-c-format msgid "Halftone type" msgstr "Halftoon type" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "Regeltype van het halftoon filter" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "Regelpatroon van het halftoon filter" -#: backend/fujitsu.c:3209 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3256 +#, no-c-format msgid "Outline" -msgstr "Omtrek" +msgstr "Contour" -#: backend/fujitsu.c:3210 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3257 +#, no-c-format msgid "Perform outline extraction" -msgstr "Voer omtrek extractie uit" +msgstr "Extract contouren" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, no-c-format msgid "Emphasis" msgstr "Nadruk" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "Negatief naar geleidelijk of positief naar scherp beeld" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, no-c-format msgid "Separation" msgstr "Scheiding" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "Schakel automatische scheiding tussen beeld en tekst in" -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, no-c-format msgid "Mirroring" msgstr "Spiegelen" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, no-c-format msgid "Reflect output image horizontally" msgstr "Spiegel het resulterende beeld horizontaal" -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, no-c-format msgid "White level follower" msgstr "Witwaarde volger" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, no-c-format msgid "Control white level follower" msgstr "Regel de witwaarde volger" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, no-c-format msgid "BP filter" msgstr "BP filter" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "Verbeterd de kwaliteit van hoog resolutie bal-punt pen tekst" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Verzachten" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "Schakelt verzachting in om OCR te verbeteren" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, no-c-format msgid "Gamma curve" msgstr "Gammakromme" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" "Gammakromme, van licht naar donker, maar bovenste twee werken misschien " "niet" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Drempel curve" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" @@ -2377,111 +2374,111 @@ msgstr "" "Drempel curve, van licht naar donker, maar bovenste twee zijn misschien " "niet liniair" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, no-c-format msgid "Threshold white" msgstr "Drempel wit" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "Stelt schermpunten in overeenkomstig de drempel voor wit ipv zwart" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, no-c-format msgid "Noise removal" msgstr "Ruisverwijdering" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "Matrix 5x5" -#: backend/fujitsu.c:3404 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3451 +#, no-c-format msgid "Remove 5 pixel square noise" -msgstr "Verwijder 5 beeldpunten in een vierkant ruis" +msgstr "Verwijder ruis met een 5 pixel vierkant" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "Matrix 4x4" -#: backend/fujitsu.c:3421 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3468 +#, no-c-format msgid "Remove 4 pixel square noise" -msgstr "Verwijder 4 beeldpunten in een vierkant ruis" +msgstr "Verwijder ruis met een 4 pixel vierkant" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "Matrix 3x3" -#: backend/fujitsu.c:3438 -#, fuzzy, no-c-format +#: backend/fujitsu.c:3485 +#, no-c-format msgid "Remove 3 pixel square noise" -msgstr "Verwijder 3 beeldpunten in een vierkant ruis" +msgstr "Verwijder ruis met een 3 pixel vierkant" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "Matrix 2x2" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "Verwijder 2 beeldpunten in een vierkant ruis" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "Variantie" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "Stelt SDTC variantie rato in (gevoeligheid), 0 is gelijk aan 127" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, no-c-format msgid "Auto width detection" msgstr "Automatische breedte herkenning" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "Scanner herkent paper zijden. Kan de scansnelheid verminderen." -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, no-c-format msgid "Auto length detection" msgstr "Automatische lengte herkenning" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" "Scanner herkent onderzijde van het papier. Kan sommige frontends in de " "war brengen." -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "Compressie" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" "Schakelt gecomprimeerde gegevens in. Kan je front-end programma laten " "crashen." -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "Compressie argument" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " @@ -2490,106 +2487,106 @@ msgstr "" "Niveau van JPEG compressie. 1 is klein bestand, 7 is groot bestand. 0 " "(standaard) is hetzelfde als 4" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "DF actie" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "Actie die volgt op dubbele doorvoer fout" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "DF scheefheid" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "Schakel dubbele doorvoer fout in als gevolg van scheefheid" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "DF dikte" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "Stelt dubbele doorvoer fout in als gevolg van papierdikte" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "DF lengte" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "Stelt dubbele doorvoer fout in als gevolg van papierlengte" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "DF lengte verschil" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "Verschil in papier lengte om dubbele doorvoer fout te veroorzaken" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, no-c-format msgid "DF recovery mode" msgstr "DF herstel modus" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "Vraag de scanner de doorvoer om te keren bij papier opstopping" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "Papier protectie" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "Vraag de scanner opstoppingen in de ADF te voorspellen " -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, no-c-format msgid "Advanced paper protection" msgstr "Geavanceerde papier protectie" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" "Vraag de scanner opstoppingen in de ADF te voorspellen met behulp van " "verbeterde sensoren" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, no-c-format msgid "Staple detection" msgstr "Nietjes detectie" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" "Vraag de scanner opstoppingen in de ADF te detecteren die worden " "veroorzaakt door nietjes" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "Achtergrond kleur" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" @@ -2597,12 +2594,12 @@ msgstr "" "Stel de achtergrond kleur van scans in. Kan conflicteren met de " "'overscan' optie" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, no-c-format msgid "Dropout color" msgstr "Uitvalkleur" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " @@ -2611,34 +2608,34 @@ msgstr "" "One-pass scanners gebruiken slechts een kleur bij grijstrap of binair " "scannen, bruikbaar voor gekleurd papier of inkt." -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, no-c-format msgid "Buffer mode" msgstr "Buffermodus" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" "Vraag de scanner pagina's vanuit de ADF zo snel mogelijk in te lezen in " "het interne geheugen" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "Voorkeuze" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "Vraag de scanner de volgende pagina uit de ADF op te halen" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "Overscan" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2650,24 +2647,24 @@ msgstr "" "oppervlak t.o.v. het papierformaat, om de inzameling van de overige " "kanten toe te staan. Kan conflicteren met 'bgcolor' optie" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "Tijdschakelaar - slaapstand" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" "Tijd in minuten voordat de interne voeding overschakelt naar slaap modus" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, no-c-format msgid "Off timer" msgstr "Tijdschakelaar - uitstand" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " @@ -2676,42 +2673,42 @@ msgstr "" "Tijd in minuten voordat de interne voeding de scanner uitschakelt. In " "stappen van 15 minuten. Nul betekent nooit uitschakelen" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, no-c-format msgid "Duplex offset" msgstr "Dubbelzijdige compensatie" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "Pas voor-/achtercompensatie aan" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Groen compensatie" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, no-c-format msgid "Adjust green/red offset" msgstr "Pas groen-/roodcompensatie aan" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Blauw compensatie" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, no-c-format msgid "Adjust blue/red offset" msgstr "Pas blauw-/roodcompensatie aan" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, no-c-format msgid "Low Memory" msgstr "Te weinig geheugen beschikbaar" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2725,12 +2722,12 @@ msgstr "" "gebruikt om het juiste beeld vast te stellen. Deze optie dient " "uitsluitend te worden gebruikt door aangepaste front-end software." -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, no-c-format msgid "Duplex side" msgstr "Duplex zijde" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " @@ -2739,56 +2736,56 @@ msgstr "" "Vertelt welke zijde (0=voorkant, 1=achterkant) van een duplex scan bij " "de volgende aanroep van sane_read wordt geretourneerd." -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "Hardware rechtzetten en afknippen" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "Vraag de scanner pagina's digitaal te roteren en af te knippen." -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "Softwarematige scheefheid correctie" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" "Vraag het stuurprogramma scheef getrokken pagina's digitaal te roteren." -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "Softwarematige ontspikkel omvang" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" "Maximale diameter van verspreid liggende spikkels, die van het gescande " "beeld moeten worden verwijderd." -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "Softwarematig uitsnijden" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" "Vraag het stuurprogramma randen van pagina's digitaal te verwijderen." -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "Stoppen bij annuleren" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." @@ -2796,105 +2793,105 @@ msgstr "" "Vraag het stuurprogramma de papierdoorvoer te stoppen i.p.v. uit te " "werpen tijdens een annulering" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, no-c-format msgid "Endorser Options" msgstr "Endorser-opties" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "Stuurt de Endorser eenheid aan" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "Endorser" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "Schakel Endorser eenheid in" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "Endorser delen" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "Bepaald maximale Endorser teller waarde" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "Endorser waarde" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "Initiële Endorser teller waarde" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "Endorser stap" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" "Wijzig Endorser teller waarde met deze hoeveelheid voor elke pagina" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "Endorser Y" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "Endorser afdruk compensatie vanaf de bovenkant van het papier" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "Endorser lettertype" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "Endorser afdruk lettertype" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, no-c-format msgid "Endorser direction" msgstr "Endorser richting" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "Endorser afdruk richting" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "Endorser zijde" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" "Endorser afdrukzijde, vereist hardware ondersteuning om te worden " "gewijzigd" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "Endorser tekst" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " @@ -2903,200 +2900,200 @@ msgstr "" "Endorser alfanumerieke afdrukformaat. %05ud of %08ud zal aan het eind " "worden vervangen door de teller waarde." -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "Bovenrand" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "Papier is gedeeltelijk in de ADF getrokken" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, no-c-format msgid "A3 paper" msgstr "A3 papier" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "A3 papier gedetecteerd" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, no-c-format msgid "B4 paper" msgstr "B4 papier" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "B4 papier gedetecteerd" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, no-c-format msgid "A4 paper" msgstr "A4 papier" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "A4 papier gedetecteerd" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, no-c-format msgid "B5 paper" msgstr "B5 papier" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "B5 papier gedetecteerd" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "OMR of DF" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "OMR of dubbele doorvoer gedetecteerd" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "Energiebesparende" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, no-c-format msgid "Scanner in power saving mode" msgstr "Scanner in energiebesparende modus" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, no-c-format msgid "Manual feed" msgstr "Handmatige doorvoer" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, no-c-format msgid "Manual feed selected" msgstr "Handmatige doorvoer geselecteerd" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "Functie" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "Functie karakter op het scherm" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "Inkt bijna op" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "Imprinter inkt is bijna op" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "Dubbele doorvoer" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "Dubbele doorvoer gedetecteerd" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "Foutcode" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, no-c-format msgid "Hardware error code" msgstr "Hardware foutcode" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "Scheefheidshoek" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "Vereist zwarte achtergrond voor het scannen" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "Resterende hoeveelheid inkt" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, no-c-format msgid "Imprinter ink level" msgstr "Imprinter inkt niveau" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, no-c-format msgid "Density" msgstr "Dichtheid" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, no-c-format msgid "Density dial" msgstr "Dichtheid schaal" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, no-c-format msgid "Duplex switch" msgstr "Duplex schakelaar" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "Vraag backend randen van pagina's digitaal te verwijderen" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" "Vraag het stuurprogramma pagina's met weinig dekking te verwijderen" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "Softwarematige rotatie tegen de klok in" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" "Vraag stuurprogramma een 90 graden gedraaid beeld te herkennen en " "corrigeren" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extra's" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "Dynamische drempel curve, van licht naar donker, normaal 50-65" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "Dynamische lijntekening uitschakelen" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " @@ -3105,12 +3102,12 @@ msgstr "" "Schakel, om een lijntekening te genereren het gebruik van een software " "aanpassend algoritme uit en vertrouw in plaats daarvan op de hardware." -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "Schakel interpolatie uit" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3120,34 +3117,34 @@ msgstr "" "resolutie kleiner is dan de verticale resolutie, wordt de horizontale " "interpolatie uitgeschakeld." -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, no-c-format msgid "Color filter" msgstr "Kleurenfilter" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Wanneer grijs of lijntekening wordt gebruikt, selecteert deze optie de " "huidige actieve kleur." -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, no-c-format msgid "Calibration file" msgstr "Kalibratiebestand" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, no-c-format msgid "Specify the calibration file to use" msgstr "Specificeer het te gebruiken kalibratiebestand" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, no-c-format msgid "Calibration cache expiration time" msgstr "Vervaltijd van de kalibratie cache" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " @@ -3157,12 +3154,12 @@ msgstr "" "van 0 betekent dat geen cache wordt gebruikt. Een negatieve waarde " "betekent dat de cache nooit verloopt." -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "Lamp-uit tijd" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3171,103 +3168,113 @@ msgstr "" "De lamp wordt uitgeschakeld na de opgegeven tijd (in minuten). Een " "waarde van 0 betekent, dat de lamp niet wordt uitgeschakeld." -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, no-c-format msgid "Lamp off during scan" msgstr "Lamp uit tijdens het scannen" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "De lamp wordt uitgeschakeld tijdens het scannen" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, no-c-format msgid "File button" msgstr "Bestand-knop" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "OCR-knop" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, no-c-format msgid "Power button" msgstr "Aan/Uit-knop" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, no-c-format msgid "Extra button" msgstr "Extra-knop" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, no-c-format msgid "Need calibration" msgstr "Kalibratie nodig" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "De scanner moet worden gekalibreerd voor de huidige instellingen" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Knoppen" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibreren" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, no-c-format msgid "Start calibration using special sheet" msgstr "Begin kalibreerproces met een speciale transparant" -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, no-c-format msgid "Clear calibration" msgstr "Reset kalibratie" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, no-c-format msgid "Clear calibration cache" msgstr "Reset kalibratiecache" +#: backend/genesys.cc:5769 +#, no-c-format +msgid "Force calibration" +msgstr "Dwing kalibratie" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "Dwing kalibratie en negeer alle kalibratie caches" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Transparantenhulpstuk" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "Kleur in grijsmodus" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Selecteert de scankleur die in de grijsmodus wordt gebruikt (Standaard: " "groen)" -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Foutzoekopties" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatisch opwarmen" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3276,12 +3283,12 @@ msgstr "" "Warm op totdat de helderheid van de lamp constant is in plaats van de " "'verplichte' 60 seconde opwarmtijd aan te houden." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Volledige scan" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3290,12 +3297,12 @@ msgstr "" "Scan het volledige scanbereik inclusief de kalibereerstrook. Pas op! " "Kies niet een te grote hoogte. Alleen voor testdoeleinden." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Grove kalibratie" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3307,12 +3314,12 @@ msgstr "" "worden ingesteld. Deze optie staat standaard aan. Alleen voor " "testdoeleinden." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Grove kalibratie alleen voor de eerste scan" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3324,12 +3331,12 @@ msgstr "" "van het beeld per scan verschilt, schakel deze optie dan uit. Alleen " "voor testdoeleinden." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "\"Backtrack\" lijnen" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3342,12 +3349,12 @@ msgstr "" "data kan verwerken. Lage waarden zorgen voor snellere scans, maar " "vergroten het risico van gemiste scanlijnen." -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gammawaarde" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Stelt de gammawaarde voor alle kanalen in." @@ -3363,7 +3370,7 @@ msgid "Scan Mode Group" msgstr "Scanmodus groep" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Dia" @@ -3572,160 +3579,235 @@ msgstr "Schakelt de lamp aan of uit." msgid "Calibrates for black and white level." msgstr "Kalibreert voor de zwart-/witwaarde" -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "Automatische documentinvoer" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, no-c-format msgid "TMA Slides" msgstr "TMA dia's" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, no-c-format msgid "TMA Negatives" msgstr "TMA Negatieven" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, no-c-format msgid "Color (48 bits)" msgstr "Kleur (48 bits)" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, no-c-format msgid "Extend lamp timeout" msgstr "Verleng lamp timeout" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Verlengt de lamp timeout (van 15 minuten tot 1 uur)" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Wacht op een druk op de knop" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, no-c-format msgid "Waits for button before scanning" msgstr "Wacht op een druk op de knop alvorens te scannen" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, no-c-format +msgid "Last button pressed" +msgstr "Laatst gedrukte knop" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "Lees ID van de laatst gedrukte knop" + +#: backend/hp5590.c:121 +#, no-c-format +msgid "LCD counter" +msgstr "LCD teller" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "Lees waarde van de LCD teller" + +#: backend/hp5590.c:124 +#, no-c-format +msgid "Color LED indicator" +msgstr "Kleur LED indicator" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "Lees waarde van de LED indicator" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "Document beschikbaar in de ADF" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "Lees status van de indicator voor beschikbare documenten in de ADF" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "Verberg einde-van-pagina pixel" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "Verberg einde-van-pagina pixels door vervanging met buurpixels" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "Geavanceerde opties" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Grof" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Fijn" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Door de gebruiker gedefinieerd" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Automatisch" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "Doorgang" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "NTSC Grijs" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "XPA Grijs" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Langzaam" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normaal" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Snel" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Extra snel" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2-beeldpunt" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4-beeldpunt" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8-beeldpunt" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Afdruk" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Filmstrook" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "XPA" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Voorwaardelijk" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "Experiment" @@ -3905,8 +3987,8 @@ msgstr "Schakel de lamp uit" msgid "Shut off scanner lamp." msgstr "Schakel de scannerlamp uit." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Papierformaat" @@ -3917,8 +3999,7 @@ msgstr "Papierformaat" msgid "Automatic separation" msgstr "Automatische kleurscheiding" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, no-c-format msgid "Landscape" msgstr "Liggend" @@ -3933,38 +4014,34 @@ msgstr "Geïnverteerd beeld" msgid "Long paper mode" msgstr "Groot formaat papier modus" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "Lengte-controlemodus" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, no-c-format msgid "Manual feed mode" msgstr "Handmatige doorvoermodus" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, no-c-format msgid "Manual feed timeout" msgstr "Handmatige doorvoer timeout" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "Dubbele doorvoer herkenning" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Schakel dubbelzijdig (duplex) scannen in" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "" @@ -4081,199 +4158,199 @@ msgstr "B6" msgid "Legal" msgstr "Legal" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "bayer 64" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "bayer 16" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, no-c-format msgid "halftone_32" msgstr "halftoon 32" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, no-c-format msgid "halftone_64" msgstr "halftoon 64" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, no-c-format msgid "diffusion" msgstr "verspreiding" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, no-c-format msgid "normal" msgstr "normaal" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, no-c-format msgid "light" msgstr "licht" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "donker" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, no-c-format msgid "From scanner" msgstr "Vanuit de scanner" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Vanaf papier" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, no-c-format msgid "default" msgstr "standaardinstelling" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, no-c-format msgid "smooth" msgstr "gelijkmatig" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "geen" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, no-c-format msgid "low" msgstr "laag" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, no-c-format msgid "medium" msgstr "gemiddeld" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "hoog" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "crt" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "lineair" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, no-c-format msgid "red" msgstr "rood" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, no-c-format msgid "green" msgstr "groen" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "blauw" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, no-c-format msgid "Sets the scan source" msgstr "Stelt de scanbron in" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Doorvoermodus" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Stelt de doorvoermodus in" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, no-c-format msgid "Enable/Disable long paper mode" msgstr "Groot formaat papier modus in/uit schakelen" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, no-c-format msgid "Enable/Disable length control mode" msgstr "Formaat gestuurde modus in/uit schakelen" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, no-c-format msgid "Sets the manual feed mode" msgstr "Stelt de handmatige doorvoermodus in" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Stelt de handmatige doorvoer timeout in seconden in" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "Dubbele doorvoer herkenning in/uit schakelen" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "aangepast aan de pagina" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "Aangepast aan de pagina" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "Scanner verkleint het beeld zodat deze op de gescande pagina past" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "Stelt de papier positie in: waar voor liggend, onwaar voor staand" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatische drempelwaarde" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4282,99 +4359,99 @@ msgstr "" "Stelt automatisch helderheid, contrast, witwaarde, gamma, " "ruisonderdrukking en beeldverbetering in" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Ruisonderdrukking" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Verminder de ruis van afzonderlijke punten" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Beeldverbetering" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Stelt beeldverbetering in" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, no-c-format msgid "Lamp color" msgstr "Lamp kleur" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Schakelt de lamp kleur in (kleur uitval)" -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "Geïnverteerd beeld in Z/W of halftoon modus" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, no-c-format msgid "Mirror image (left/right flip)" msgstr "Spiegel beeld (links/rechts verwisselen)" -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "jpeg compressie" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "JPEG beeld compressie met Q parameter, '0' - geen compressie" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "Roteer beeld met de klok mee" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" "Vraag het stuurprogramma pagina's met een vaste hoeveelheid te roteren" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" "Vraag het stuurprogramma scheef getrokken pagina's digitaal te roteren" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" "Maximale omvang van verspreid liggende spikkels, die van het gescande " "beeld moeten worden verwijderd" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "Softwarematig automatisch uitsnijden" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -5107,17 +5184,17 @@ msgstr "3x3 door de gebruiker gedefinieerd" msgid "2x2 custom" msgstr "2x2 door de gebruiker gedefinieerd" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Snelle grijsmodus" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Scan in snelle grijsmodus (lage beeldkwaliteit)." -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -5126,85 +5203,85 @@ msgstr "" "Vraag de snelste (lage kwaliteit) modus te gebruiken voor alle " "voorbeeldscans. Dit kan een niet-kleur of lage resolutie modus zijn." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Lamp uit tijd (minuten)" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Stel de tijd (in minuten) in waarna de lamp wordt uitgeschakeld." -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "Schakel de lamp uit" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Schakelt de lamp direct uit" -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Helderheid van het rode kanaal" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Bepaalt de helderheid van het rode kanaal van het verkregen beeld." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Helderheid van het groene kanaal" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "" "Bepaalt de helderheid van het groene kanaal van het verkregen beeld." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Helderheid van het blauwe kanaal" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "" "Bepaalt de helderheid van het blauwe kanaal van het verkregen beeld." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Contrast van het rode kanaal" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Bepaalt het contrast van het rode kanaal van het verkregen beeld." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Contrast van het groene kanaal" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "" "Bepaalt het contrast van het groene kanaal van het verkregen beeld." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Contrast van het blauwe kanaal" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "" @@ -5249,22 +5326,22 @@ msgstr "" "Warm op totdat de helderheid van de lamp constant is in plaats van de " "'verplichte' 40 seconde opwarmtijd aan te houden." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, no-c-format msgid "Negative color" msgstr "Kleurennegatief" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, no-c-format msgid "Negative gray" msgstr "Grijsnegatief" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "48 bits kleur" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "16 bits grijs" @@ -6570,22 +6647,3 @@ msgstr "Stelt de compensatie in van het groene kanaal" #, no-c-format msgid "Sets blue channel offset" msgstr "Stelt de compensatie in van het blauwe kanaal" - -#, fuzzy -#~ msgid "IPC mode" -#~ msgstr "Voorbeeldmodus" - -#~ msgid "problem not analyzed (unknown SCSI class)" -#~ msgstr "probleem niet geanalyseerd (onbekende SCSI klasse)" - -#~ msgid "Grayscale" -#~ msgstr "Grijstrap" - -#~ msgid "Binary" -#~ msgstr "Binair (zwart/wit)" - -#~ msgid "Display a shortened resolution list" -#~ msgstr "Toon een verkorte lijst met oplossende vermogens" - -#~ msgid "Black & White" -#~ msgstr "Zwart/wit" diff --git a/po/pl.gmo b/po/pl.gmo deleted file mode 100644 index 6abea3d..0000000 Binary files a/po/pl.gmo and /dev/null differ diff --git a/po/pl.po b/po/pl.po index 872e709..3bd5e8b 100644 --- a/po/pl.po +++ b/po/pl.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.21\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2010-11-06 19:33+0100\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" @@ -26,36 +26,36 @@ msgid "Standard" msgstr "Standardowe" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Krawędzie obszaru skanowania" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Ulepszanie" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -83,7 +83,7 @@ msgstr "Wymuszaj podgląd czarnobiały" msgid "Bit depth" msgstr "Głębokość bitowa" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -124,7 +124,7 @@ msgstr "Prawa" msgid "Bottom-right y" msgstr "Dolna" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -280,7 +280,7 @@ msgstr "Nazwa pliku" msgid "Halftone pattern size" msgstr "Rozmiar wzoru półcienia" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Wzór półcienia" @@ -292,8 +292,8 @@ msgstr "Zrównaj rozdzielczość w osi X i Y" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negatyw" @@ -978,7 +978,7 @@ msgstr "Wartości domyślne" msgid "Set default values for enhancement controls." msgstr "Ustaw domyślne wartości ustawień ulepszania" -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Kalibracja" @@ -1119,7 +1119,7 @@ msgstr "Negatywy" msgid "Slides" msgstr "Slajdy" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1140,489 +1140,488 @@ msgstr "1/2 zwykłej prędkości" msgid "1/3 normal speed" msgstr "1/3 zwykłej prędkości" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "parametr zaokrąglony" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "nieznany" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "zakleszczenie ADF" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "pokrywa ADF otwarta" -#: backend/canon.c:394 +#: backend/canon.c:389 #, no-c-format msgid "lamp failure" msgstr "awaria lampy" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "błąd pozycjonowania głowicy skanera" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "błąd kontroli CPU" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "błąd kontroli RAM" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "błąd kontroli ROM" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "błąd kontroli sprzętu" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "awaria lampy do skanowania przezroczy" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "błąd pozycjonowania głowicy do skanowania przezroczy" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "błąd długości listy parametrów" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "błędny kod operacji" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "błędne pole w CDB" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "nieobsługiwany LUN" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "błędne pole w liście parametrów" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "błąd sekwencji poleceń" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "podano zbyt dużo okien" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "brak nośnika" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "błędny komunikat bitowy IDENTIFY" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "opcja nie podłączona" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "reset po włączeniu zasilania / reset szyny" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "parametr zmieniony przez inny inicjator" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "brak dodatkowej informacji o stanie" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "niepowodzenie ponownego wyboru" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "błąd parzystości SCSI" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "otrzymano komunikat błędu wykryty przez inicjator" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "błędny komunikat" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "błąd przekroczenia czasu" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "błąd cieniowania modułu do skanowania przezroczy" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "lampa nie ustabilizowana" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "skaner filmów" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "skaner płaski" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Rodzaj filmu" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Wybór rodzaju filmu, np. negatywów lub slajdów" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, no-c-format msgid "Negative film type" msgstr "Rodzaj negatywu" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "Wybór rodzaju negatywu" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "Rozdzielczość sprzętowa" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "Użycie tylko rozdzielczości sprzętowych" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "Ostrość" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "Ostrość automatyczna" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "Włączenie/wyłączenie automatycznego ustawiania ostrości" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "Jednokrotny autofocus" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Automatyczne ustawianie ostrości tylko po wymianie nośnika" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "Ręczne ustawianie ostrości" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "Ręczne ustawianie pozycji ostrości optyki (domyślnie: 128)." -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "Marginesy skanowania" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "Dodatkowe ustawienia kolorów" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Odbicie lustrzane obrazka" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, no-c-format msgid "Mirror the image horizontally" msgstr "Poziome odbicie lustrzane obrazu" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "Ekspozycja automatyczna" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Włączenie/wyłączenie automatycznego wyboru ekspozycji" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, no-c-format msgid "Calibration now" msgstr "Kalibruj teraz" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, no-c-format msgid "Execute calibration *now*" msgstr "Uruchomienie kalibracji *teraz*" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "Autodiagnostyka" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Wykonanie autodiagnostyki skanera" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, no-c-format msgid "Reset scanner" msgstr "Reset skanera" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "Zresetowanie skanera" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "Obsługa medium" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "Wysuń film po zeskanowaniu" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Automatyczne wysuwanie filmu z urządzenia po każdym skanowaniu" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "Wysuń film przed zakończeniem" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" "Automatyczne wysuwanie filmu z urządzenia przed zakończeniem programu" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "Wysuń film teraz" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "Wysunięcie filmu *teraz*" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" msgstr "Dodatkowy podajnik dokumentów" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "Tylko płyta" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" "Wyłączenie automatycznego podajnika dokumentów, używanie tylko płyty" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format msgid "Transparency unit" msgstr "Moduł do skanowania przezroczy" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Włączenie/wyłączenie modułu do skanowania przezroczy (FAU)" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, no-c-format msgid "Negative film" msgstr "Negatyw" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, no-c-format msgid "Positive or negative film" msgstr "Pozytyw lub negatyw" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "Kontrola gęstości" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "Ustawienie trybu kontroli gęstości" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, no-c-format msgid "Transparency ratio" msgstr "Współczynnik przezroczystości" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, no-c-format msgid "Select film type" msgstr "Rodzaj filmu" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "Wybór rodzaju filmu" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Płyta" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "ADF przód" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "ADF tył" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "ADF dwustronny" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, fuzzy, no-c-format msgid "Card Front" msgstr "Przód" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, fuzzy, no-c-format msgid "Card Back" msgstr "Tył" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Dwustronny" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Czerwony" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Zielony" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Niebieski" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, no-c-format msgid "Enhance Red" msgstr "Rozszerzenie czerwieni" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, no-c-format msgid "Enhance Green" msgstr "Rozszerzenie zieleni" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Blue" msgstr "Rozszerzenie błękitu" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1630,18 +1629,18 @@ msgstr "Rozszerzenie błękitu" msgid "None" msgstr "Brak" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1658,13 +1657,13 @@ msgstr "Jednostronny" msgid "Duplex" msgstr "Dwustronny" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Moduł do skanowania przezroczy" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1777,8 +1776,8 @@ msgstr "Drukarki atramentowe" msgid "CRT monitors" msgstr "Monitory CRT" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Domyślny" @@ -1841,51 +1840,50 @@ msgstr "A4" msgid "Max" msgstr "Maksimum" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Tryb skanowania" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Wybór półcieni" -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Dropout" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Wybiera dropout" -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Wybiera jasność" -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Ostrość" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Korekcja koloru" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" @@ -1976,17 +1974,17 @@ msgstr "Dodaje do czerwieni bazując na poziomie błękitu" msgid "Controls blue level" msgstr "Nadzoruje poziom błękitu" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Utwórz odbicie lustrzane obrazka" -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Szybki podgląd" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Automatyczny podział obszaru" @@ -2016,47 +2014,47 @@ msgstr "Definiuje współczynnik powiększenia dla skanera" msgid "Quick format" msgstr "Szybkie formatowanie" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Wyposażenie opcjonalne" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Wysuń" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Wysuń arkusz z ADF" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Wysuwanie automatyczne" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Wysuń dokument po zeskanowaniu" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Tryb ADF" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Wybiera tryb ADF (jedno/dwustronny)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Wnęka" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Wybierz wnękę do skanowania" @@ -2095,7 +2093,7 @@ msgstr "" "Po wysłaniu komendy skanowania, czekaj aż przycisk na skanerze jest " "naciśnięty, aby naprawdę rozpocząć skanowanie" -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "Podczerwień" @@ -2125,492 +2123,492 @@ msgstr "Wbudowany profil CCT" msgid "User defined CCT profile" msgstr "Profil CCT zdefiniowany przez użytkownika" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Włączony" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Wyłącz" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Ditheruj" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, no-c-format msgid "Diffusion" msgstr "Dyfuzja" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, no-c-format msgid "White" msgstr "Biel" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, no-c-format msgid "Black" msgstr "Czerń" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, no-c-format msgid "Continue" msgstr "Kontynuacja" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "Stop" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "10mm" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "15mm" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "20mm" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Poziomy" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, no-c-format msgid "Horizontal bold" msgstr "Poziomy pogrubiony" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, no-c-format msgid "Horizontal narrow" msgstr "Poziomy cienki" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Pionowy" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, no-c-format msgid "Vertical bold" msgstr "Pionowy pogrubiony" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "Od góry do dołu" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "Od dołu do góry" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, no-c-format msgid "Front" msgstr "Przód" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "Tył" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Półtony" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Wykonuje kalibrację" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Emfaza obrazka" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Nasycenie" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "Włącz automatyczne rozpoznawanie progu dla skanów w trybie kreski." -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Odbicie lustrzane obrazka" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Poziome, lustrzane odbicie obrazka." -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Poziom bieli dla niebieskiego" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Nadzoruje poziom czerwieni" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Filtr kolorów" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Wygładzanie" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Wartość gamma" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Krzywa progowa" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, fuzzy, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "Dynamiczna krzywa progowa, od ciemnego do jasnego, zwykle 50-65" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Próg" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Redukcja szumów" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Brak korekcji" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Brak korekcji" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "pokrywa ADF otwarta" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Opcje zaawansowane" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Brak korekcji" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Dropout" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "tryb podajnika" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2618,65 +2616,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "Czas wyłączania lampy" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Offset błękitu" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Offset zieleni" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Offset zieleni" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Offset błękitu" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Ustawienie offsetu kanału błękitu" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, fuzzy, no-c-format msgid "Low Memory" msgstr "Brak pamięci" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2685,362 +2683,362 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Skanowanie dwustronne" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Opcje zaawansowane" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Redukcja szumów" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Od papieru" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Od papieru" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Od papieru" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Od papieru" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "Pokrywa skanera jest otwarta" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Ręczne wstępne ustawianie ostrości" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Ręczne wstępne ustawianie ostrości" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "błąd kontroli sprzętu" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Poziom bieli" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "Kontrola gęstości" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, fuzzy, no-c-format msgid "Density dial" msgstr "Kontrola gęstości" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Skanowanie dwustronne" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Dodatki" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "Dynamiczna krzywa progowa, od ciemnego do jasnego, zwykle 50-65" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "Wyłączenie dynamicznego trybu kreski" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, fuzzy, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " @@ -3049,12 +3047,12 @@ msgstr "" "Wyłączenie użycia algorytmu adaptacyjnego do generowania linii zamiast " "polegania na trybie sprzętowym" -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "Wyłącz interpolację" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3064,44 +3062,44 @@ msgstr "" "mniejsza niż rozdzielczość pionowa, ta opcja wyłącza interpolację " "poziomą." -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtr kolorów" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "W trybie szarości lub kreski ta opcja wybiera używany kolor." -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibracja" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Zdefiniuj tryb kalibracji" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Pamięć podręczna danych kalibracji" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "Czas wyłączania lampy" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3110,103 +3108,113 @@ msgstr "" "Lampa zostanie wyłączona po podanym czasie (w minutach). Wartość 0 " "oznacza, że lampa nie będzie wyłączana." -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Wyłącz lampę podczas kalibracji ciemności" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Liczba minut do wyłączenia lampy po skanowaniu" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, no-c-format msgid "File button" msgstr "Przycisk pliku" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "Przycisk OCR" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, no-c-format msgid "Power button" msgstr "Przycisk zasilania" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "Przycisk E-maila" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, no-c-format msgid "Need calibration" msgstr "Wymaga kalibracji" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Skaner wymaga kalibracji dla obecnych ustawień" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Przyciski" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibracja" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, no-c-format msgid "Start calibration using special sheet" msgstr "Rozpocznij kalibrację przy użyciu specjalnej kartki" -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, no-c-format msgid "Clear calibration" msgstr "Wyczyść kalibrację" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, no-c-format msgid "Clear calibration cache" msgstr "Wyczyść pamięć podręczną kalibracji" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Kalibracja ziarnistości" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Moduł do skanowania negatywów" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "Kolor trybu odcieni szarości" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Wybiera który kolor skanowania jest używany w trybie odcieni szarości " "(domyślnie: zielony)." -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Opcje odpluskwiania" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatyczne rozgrzewanie" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3215,12 +3223,12 @@ msgstr "" "Rozgrzewaj dopóki jasność lampy będzie stała, zamiast przyjmować stały " "czas 60 sekund." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Pełny ekran" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3229,12 +3237,12 @@ msgstr "" "Skanuj cały dostępny obszar, łącznie z paskiem kalibracyjnym. Bądź " "ostrożny. Nie wybieraj pełnej wysokości. Opcja tylko do celów testowych" -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Kalibracja ziarnistości" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3246,12 +3254,12 @@ msgstr "" "parametrów analogowych. Ta opcja jest odblokowana domyślnie. Opcja tylko " "do testów." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Kalibracja ziarnistości tylko dla pierwszego skanu" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3263,12 +3271,12 @@ msgstr "" "jasność obrazka jest różna za każdym skanem, wyłącz tę opcję. Opcja " "tylko dla testów." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "Wymuszaj nawracanie" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3281,12 +3289,12 @@ msgstr "" "Niskie wartości mogą powodować szybsze skanowanie lecz zwiększają ryzyko " "pominięcia niektórych linii." -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Wartość gamma" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Ustawia wartość gamma dla wszystkich kanałów" @@ -3302,7 +3310,7 @@ msgid "Scan Mode Group" msgstr "Grupa trybu skanowania" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Slajd" @@ -3510,160 +3518,235 @@ msgstr "Włącza lub wyłącza lampę." msgid "Calibrates for black and white level." msgstr "Kalibruje poziom dla czerni i bieli." -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "ADF" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, no-c-format msgid "TMA Slides" msgstr "TMA - slajdy" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, no-c-format msgid "TMA Negatives" msgstr "TMA - negatywy" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, no-c-format msgid "Color (48 bits)" msgstr "Kolor (48 bitów)" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, no-c-format msgid "Extend lamp timeout" msgstr "Powiększ czas wyłączenia lampy" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Powiększa czas wyłączenia lampy (z 15 minut do 1 godziny)" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Czekaj na przycisk" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, no-c-format msgid "Waits for button before scanning" msgstr "Oczekiwanie na naciśnięcie przycisku przed skanowaniem" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Uaktualnij stan przycisku" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Licznik skanowań" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Kolorowy tryb kreski" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "Opcje zaawansowane" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Ziarnistość" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Dokładny" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Bayera" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Użytkownika" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Automatyczny" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "Środkowoprzepustowy" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "Skala szarości NTSC" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "Skala szarości XPA" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Powolny" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Zwykły" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Szybki" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Bardzo szybki" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2-pikselowy" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4-pikselowy" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8-pikselowy" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Drukuj" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Pasek filmu" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "XPA" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Warunkowy" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "Eksperyment" @@ -3843,8 +3926,8 @@ msgstr "Wyłącz lampę" msgid "Shut off scanner lamp." msgstr "Wyłącz lampę skanera." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Rozmiar papieru" @@ -3855,8 +3938,7 @@ msgstr "Rozmiar papieru" msgid "Automatic separation" msgstr "Automatyczna separacja" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 krajobraz" @@ -3871,38 +3953,34 @@ msgstr "" msgid "Long paper mode" msgstr "" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, fuzzy, no-c-format msgid "Length control mode" msgstr "Ustawienie trybu kontroli gęstości" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Ręczne wstępne ustawianie ostrości" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Ręczne wstępne ustawianie ostrości" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Włącz skanowanie dwustronne" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Fizyczny rozmiar papieru w ADF" @@ -4018,199 +4096,199 @@ msgstr "" msgid "Legal" msgstr "" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, fuzzy, no-c-format msgid "bayer_64" msgstr "Bayera" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, fuzzy, no-c-format msgid "bayer_16" msgstr "Bayera" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Półtony" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Półtony" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, fuzzy, no-c-format msgid "diffusion" msgstr "Dyfuzja" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Zwykły" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Światło" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "skaner filmów" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Od papieru" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Domyślny" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Wygładzanie" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Powolny" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Średni" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Czerwony" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Zielony" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Źródło skanowania" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "tryb podajnika" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Ustawia tryb podajnika" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Włączenie/wyłączenie automatycznego ustawiania ostrości" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Ustawienie trybu kontroli gęstości" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Ustawia tryb podajnika" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Ustawia tryb podajnika" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatyczne progowanie" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4219,95 +4297,95 @@ msgstr "" "Automatycznie ustawia jasność, kontrast, poziom bieli, gammę, redukcję " "szumów i emfazę obrazka" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Redukcja szumów" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Zmniejsz szum izolowanych punktów" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Emfaza obrazka" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Ustawia emfazę obrazka" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Włącz lampę" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Włącza lub wyłącza lampę." -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Pionowe, lustrzane odbicie obrazka." -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -5033,17 +5111,17 @@ msgstr "3x3 ustawiany" msgid "2x2 custom" msgstr "2x2 ustawiany" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Szybki tryb szarości" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Skanuj w szybkim trybie odcieni szarości (niższa jakość)." -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -5053,82 +5131,82 @@ msgstr "" "(niskiej jakości). To może być tryb niekolorowy lub niskiej " "rozdzielczości." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Czas wyłączenia lampy (w minutach)" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Czas (w minutach), po którym lampa jest wyłączana." -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "Wyłącz lampę" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Wyłącza lampę natychmiast." -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Jasność czerwieni" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Steruje jasnością kanału czerwieni." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Jasność zieleni" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Steruje jasnością kanału zieleni." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Jasność błękitu" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Steruje jasnością kanału błękitu." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Kontrast kanału czerwieni" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Steruje kontrastem kanału czerwieni." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Kontrast kanału zieleni" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Steruje kontrastem kanału zieleni." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrast kanału " -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Steruje kontrastem kanału błękitu." @@ -5172,22 +5250,22 @@ msgstr "" "Rozgrzewaj dopóki jasność lampy będzie stała, zamiast przyjmować stały " "czas 40 sekund." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negatyw" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negatyw" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Dobry kolor" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/pt.gmo b/po/pt.gmo deleted file mode 100644 index 0a0b9fe..0000000 Binary files a/po/pt.gmo and /dev/null differ diff --git a/po/pt.po b/po/pt.po index b4cf46d..f521b2a 100644 --- a/po/pt.po +++ b/po/pt.po @@ -4,8 +4,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.10\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2007-05-08 13:31+0200\n" "Last-Translator: Pedro Morais \n" "Language-Team: pt \n" @@ -25,36 +25,36 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometria" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Melhorias" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -82,7 +82,7 @@ msgstr "" msgid "Bit depth" msgstr "" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -123,7 +123,7 @@ msgstr "Inferior-direita x" msgid "Bottom-right y" msgstr "Inferior-direita y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -279,7 +279,7 @@ msgstr "Nome do ficheiro" msgid "Halftone pattern size" msgstr "Tamanho padrão ponto - simulação cinza" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Simulação cinza padrão" @@ -291,8 +291,8 @@ msgstr "Vincular resoluções X e Y" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" @@ -942,7 +942,7 @@ msgstr "Predefinições" msgid "Set default values for enhancement controls." msgstr "" -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Calibração" @@ -1075,7 +1075,7 @@ msgstr "Negativo" msgid "Slides" msgstr "Mais lento" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1096,487 +1096,486 @@ msgstr "" msgid "1/3 normal speed" msgstr "" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "" -#: backend/canon.c:394 +#: backend/canon.c:389 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Valor de 'gamma'" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "" -#: backend/canon.c:412 +#: backend/canon.c:407 #, fuzzy, no-c-format msgid "transparency unit lamp failure" msgstr "Unidade de Transparências" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "" -#: backend/canon.c:522 +#: backend/canon.c:517 #, fuzzy, no-c-format msgid "transparency unit shading error" msgstr "Unidade de Transparências" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Filme Negativo" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, no-c-format msgid "Mirror the image horizontally" msgstr "" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Calibração" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Definine o modo de calibração" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "Digitalização rápida" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" msgstr "" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, fuzzy, no-c-format msgid "Flatbed only" msgstr "Flachbett" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, fuzzy, no-c-format msgid "Transparency unit" msgstr "Unidade de Transparências" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, fuzzy, no-c-format msgid "Negative film" msgstr "Filme Negativo" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Filme Positivo" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, fuzzy, no-c-format msgid "Transparency ratio" msgstr "Unidade de Transparências" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, no-c-format msgid "Select film type" msgstr "" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flachbett" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, no-c-format msgid "Card Front" msgstr "" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Duplex" msgstr "" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Vermelho" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Verde" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Azul" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Melhorias" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Melhorias" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Melhorias" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1584,18 +1583,18 @@ msgstr "Melhorias" msgid "None" msgstr "" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "Desconsiderar porcentagem branco" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, fuzzy, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1614,13 +1613,13 @@ msgstr "" msgid "Duplex" msgstr "" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Unidade de Transparências" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1733,8 +1732,8 @@ msgstr "Impressoras de jacto de tinta" msgid "CRT monitors" msgstr "Monitores CRT" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Predefinição" @@ -1797,51 +1796,50 @@ msgstr "A4" msgid "Max" msgstr "Máximo" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Modo de Digitalização" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "" -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "" -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "" -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" @@ -1931,17 +1929,17 @@ msgstr "" msgid "Controls blue level" msgstr "Contraste do canal azul" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "" -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "" @@ -1971,47 +1969,47 @@ msgstr "" msgid "Quick format" msgstr "" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "" @@ -2046,7 +2044,7 @@ msgid "" "pressed to actually start the scan process." msgstr "" -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "" @@ -2076,492 +2074,492 @@ msgstr "" msgid "User defined CCT profile" msgstr "Definido pelo utilizador" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, no-c-format msgid "Diffusion" msgstr "" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, fuzzy, no-c-format msgid "White" msgstr "Nível de branco" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, fuzzy, no-c-format msgid "Black" msgstr "Nível de preto" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, no-c-format msgid "Continue" msgstr "" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, no-c-format msgid "Horizontal bold" msgstr "" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, no-c-format msgid "Horizontal narrow" msgstr "" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, no-c-format msgid "Vertical bold" msgstr "" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, no-c-format msgid "Front" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, fuzzy, no-c-format msgid "Reverse image format" msgstr "Inverte imagem" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Simulação cinza padrão" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Calibração rudimentar" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, no-c-format msgid "Emphasis" msgstr "" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Saturação" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "" -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, no-c-format msgid "Mirroring" msgstr "" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, no-c-format msgid "Reflect output image horizontally" msgstr "" -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Nível de branco para azul" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Contraste do canal azul" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Linhas em cor" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Valor de 'gamma'" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Limiar de aquecimento" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Valor do pixel-Threshold" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, no-c-format msgid "Noise removal" msgstr "" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Sem Correcção" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Sem Correcção" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, fuzzy, no-c-format msgid "Compression" msgstr "Compressão JPEG" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, fuzzy, no-c-format msgid "Enable double feed error due to skew" msgstr "Liga / Desliga Modo de detecção de alimentação" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, fuzzy, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "Liga / Desliga Modo de detecção de alimentação" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, fuzzy, no-c-format msgid "Enable double feed error due to paper length" msgstr "Liga / Desliga Modo de detecção de alimentação" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, no-c-format msgid "DF recovery mode" msgstr "" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, fuzzy, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Imprimir opções" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Sem Correcção" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Cor da lâmpada" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, no-c-format msgid "Buffer mode" msgstr "" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2569,65 +2567,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "Lâmpada acesa" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Deslocamento do azul" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Deslocamento do verde" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Deslocamento do verde" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Deslocamento do azul" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Deslocamento do canal azul" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2636,522 +2634,532 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Digitalização completa" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, fuzzy, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "Solicita ao driver para rotacionar digitalmente páginas inclinadas" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "Alinhamento - Deskew" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, fuzzy, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "Solicita ao driver para rotacionar digitalmente páginas inclinadas" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "Diâmetro despeckle" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, fuzzy, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" "Diâmetro máximo de pontos isolados a serem removidos da digitalização" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, fuzzy, no-c-format msgid "Software crop" msgstr "Crop automático" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, fuzzy, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Imprimir opções" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Calibração rudimentar" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, no-c-format msgid "A3 paper" msgstr "" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, no-c-format msgid "B4 paper" msgstr "" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, no-c-format msgid "A4 paper" msgstr "" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, no-c-format msgid "B5 paper" msgstr "" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, fuzzy, no-c-format msgid "OMR or double feed detected" msgstr "Detecção de dupla alimentação" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Modo de Alimentação manual" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Modo de Alimentação manual" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, fuzzy, no-c-format msgid "Double feed" msgstr "Detecção de dupla alimentação" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, fuzzy, no-c-format msgid "Double feed detected" msgstr "Detecção de dupla alimentação" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, no-c-format msgid "Hardware error code" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Nível de branco" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "Intensidade do vermelho" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Digitalização completa" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, fuzzy, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" "Solicita ao driver para eliminar páginas com baixo número de pixels " "escuros" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, fuzzy, no-c-format msgid "Software derotate" msgstr "Alinhamento - Deskew" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, fuzzy, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Linhas em cor" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibração" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definine o modo de calibração" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Modo de calibração" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, fuzzy, no-c-format msgid "Lamp off time" msgstr "Lâmpada acesa" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Calibração rudimentar" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, no-c-format msgid "File button" msgstr "" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, no-c-format msgid "Power button" msgstr "" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "Origem da digitalização" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Calibração rudimentar" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Calibração rudimentar apenas na primeira digitalização" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, fuzzy, no-c-format msgid "Buttons" msgstr "Estado do botão" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, fuzzy, no-c-format msgid "Calibrate" msgstr "Calibração" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Calibração rudimentar" -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Calibração rudimentar" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Modo de calibração" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Calibração rudimentar" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptador de Transparências" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Opções de Depuração" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Aquecimento automático" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3160,12 +3168,12 @@ msgstr "" "Aquecer até o brilho da lâmpada ser constante em ver de insistir em 60 " "segundos de tempo de aquecimento." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Digitalização completa" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3174,12 +3182,12 @@ msgstr "" "Digitalizar toda a área de digitalização, incluindo a faixa de " "calibração. Cuidado: não seleccione toda a altura. Apenas para testes." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Calibração rudimentar" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3190,12 +3198,12 @@ msgstr "" "estiver desactivada são fornecidas opções para configurar manualmente " "este parâmetro. Apenas para testes." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Calibração rudimentar apenas na primeira digitalização" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3207,12 +3215,12 @@ msgstr "" "briho da imagem é diferente em cada digitalização, desactive esta opção. " "Apenas para testes." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3221,12 +3229,12 @@ msgid "" "omitting lines." msgstr "" -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Valor de 'gamma'" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Define o valor de 'gamma' em todos os canais." @@ -3242,7 +3250,7 @@ msgid "Scan Mode Group" msgstr "Modo de Digitalização" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "" @@ -3440,160 +3448,235 @@ msgstr "" msgid "Calibrates for black and white level." msgstr "" -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Mais lento" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Negativo" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Cor 48" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Lâmpada acesa" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, no-c-format msgid "Waits for button before scanning" msgstr "" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Estado do botão" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Origem da digitalização" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Linhas em cor" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, fuzzy, no-c-format msgid "Advanced Options" msgstr "Imprimir opções" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, fuzzy, no-c-format msgid "Fine" msgstr "Nome do ficheiro" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Automático" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "NTSC cinzento" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "XPA cinzento" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Lento" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Rápido" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "" @@ -3767,8 +3850,8 @@ msgstr "" msgid "Shut off scanner lamp." msgstr "" -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "" @@ -3779,8 +3862,7 @@ msgstr "" msgid "Automatic separation" msgstr "Separação automática" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, no-c-format msgid "Landscape" msgstr "Paisagem" @@ -3795,38 +3877,34 @@ msgstr "Inverte imagem" msgid "Long paper mode" msgstr "Modo de Papel Longo" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "Modo de Controle do Comprimento" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, no-c-format msgid "Manual feed mode" msgstr "Modo de Alimentação manual" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, no-c-format msgid "Manual feed timeout" msgstr "Tempo de desligamento da alimentação manual" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "Detecção de dupla alimentação" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "" @@ -3942,296 +4020,296 @@ msgstr "" msgid "Legal" msgstr "" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, no-c-format msgid "halftone_32" msgstr "" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, no-c-format msgid "halftone_64" msgstr "" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, no-c-format msgid "diffusion" msgstr "" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Normal" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, no-c-format msgid "light" msgstr "claro" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "escuro" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "Digitalização rápida" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "Predefinição" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, no-c-format msgid "smooth" msgstr "Suave" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "Nenhuma" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Lento" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, no-c-format msgid "medium" msgstr "Média" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "Alta" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, fuzzy, no-c-format msgid "linier" msgstr "Linhas" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Vermelho" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Verde" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, fuzzy, no-c-format msgid "blue" msgstr "Azul" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Origem da digitalização" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, no-c-format msgid "Enable/Disable long paper mode" msgstr "Liga / Desliga Modo Papel Longo" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, no-c-format msgid "Enable/Disable length control mode" msgstr "Liga / Desliga Modo Controle do Comprimento" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, no-c-format msgid "Sets the manual feed mode" msgstr "Define modo de alimentação manual" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Define desligamento de alimentação manual em segundos" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "Liga / Desliga Modo de detecção de alimentação" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "Adequar à página" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "Adequar à página" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "Scanner diminui imagem para adequar à pagina digitalizada" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" "Define posição do papel: Verdadeiro para Paisagem, Falso para Retrato" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Limiar de aquecimento" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " "reduction and image emphasis" msgstr "" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Cor da lâmpada" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Define cor da lâmpada (Color dropout)" -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "Inverte imagem nos modos P/B ou simulação de cinza" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, no-c-format msgid "Mirror image (left/right flip)" msgstr "Imagem espelhada" -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "Compressão JPEG" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "Compressão da imagem JPEG com parâmetro Q, '0' - sem compressão" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, fuzzy, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "Solicita ao driver para rotacionar digitalmente páginas inclinadas" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "Solicita ao driver para rotacionar digitalmente páginas inclinadas" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" "Diâmetro máximo de pontos isolados a serem removidos da digitalização" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "Crop automático" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "Solicita ao driver para remover digitalmente bordas das páginas" @@ -4942,99 +5020,99 @@ msgstr "" msgid "2x2 custom" msgstr "" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "" -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " "This may be a non-color mode or a low resolution mode." msgstr "" -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "" -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "" -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Brilho do vermelho" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, fuzzy, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Deslocamento (brilho) do canal vermelho." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Brilho do verde" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, fuzzy, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Deslocamento (brilho) do canal vermelho." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Brilho do azul" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, fuzzy, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Deslocamento (brilho) do canal azul." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Contraste do canal vermelho" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, fuzzy, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Ganho (contraste) do canal vermelho." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Contraste do canal verde" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "" -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Contraste do canal azul" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, fuzzy, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Ganho (contraste) do canal azul." @@ -5078,22 +5156,22 @@ msgstr "" "Aquecer até o brilho da lâmpada ser constante em ver de insistir em 40 " "segundos de tempo de aquecimento." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Filme Negativo" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/quot.sed b/po/quot.sed deleted file mode 100644 index 0122c46..0000000 --- a/po/quot.sed +++ /dev/null @@ -1,6 +0,0 @@ -s/"\([^"]*\)"/“\1”/g -s/`\([^`']*\)'/‘\1’/g -s/ '\([^`']*\)' / ‘\1’ /g -s/ '\([^`']*\)'$/ ‘\1’/g -s/^'\([^`']*\)' /‘\1’ /g -s/“”/""/g diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin deleted file mode 100644 index 2436c49..0000000 --- a/po/remove-potcdate.sin +++ /dev/null @@ -1,19 +0,0 @@ -# Sed script that remove the POT-Creation-Date line in the header entry -# from a POT file. -# -# The distinction between the first and the following occurrences of the -# pattern is achieved by looking at the hold space. -/^"POT-Creation-Date: .*"$/{ -x -# Test if the hold space is empty. -s/P/P/ -ta -# Yes it was empty. First occurrence. Remove the line. -g -d -bb -:a -# The hold space was nonempty. Following occurrences. Do nothing. -x -:b -} diff --git a/po/ru.gmo b/po/ru.gmo deleted file mode 100644 index 3b34813..0000000 Binary files a/po/ru.gmo and /dev/null differ diff --git a/po/ru.po b/po/ru.po index 2b8335a..da65670 100644 --- a/po/ru.po +++ b/po/ru.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2007-12-17 23:05+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -31,36 +31,36 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Расположение" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Повышение" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -88,7 +88,7 @@ msgstr "Принудительный одноцветный предварите msgid "Bit depth" msgstr "Бит на цвет" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -129,7 +129,7 @@ msgstr "Правая нижняя координата X" msgid "Bottom-right y" msgstr "Правая нижняя координата Y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -285,7 +285,7 @@ msgstr "Название файла" msgid "Halftone pattern size" msgstr "Размер чёрно-белого шаблона" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Чёрно-белый шаблон" @@ -297,8 +297,8 @@ msgstr "Согласовывать разрешение по X и по Y" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Негатив" @@ -994,7 +994,7 @@ msgstr "По умолчанию" msgid "Set default values for enhancement controls." msgstr "Устанавливает значения по умолчанию для управления повышением." -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Калибровка" @@ -1135,7 +1135,7 @@ msgstr "Негатив" msgid "Slides" msgstr "Слайд" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1156,487 +1156,486 @@ msgstr "2x2 нормальное" msgid "1/3 normal speed" msgstr "3x3 нормальное" -#: backend/canon.c:365 +#: backend/canon.c:360 #, fuzzy, no-c-format msgid "rounded parameter" msgstr "Нечёткие параметры" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "" -#: backend/canon.c:378 +#: backend/canon.c:373 #, fuzzy, no-c-format msgid "ADF jam" msgstr "АПД" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "" -#: backend/canon.c:394 +#: backend/canon.c:389 #, fuzzy, no-c-format msgid "lamp failure" msgstr "Значение гаммы" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "" -#: backend/canon.c:412 +#: backend/canon.c:407 #, fuzzy, no-c-format msgid "transparency unit lamp failure" msgstr "Модуль для слайдов" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "" -#: backend/canon.c:522 +#: backend/canon.c:517 #, fuzzy, no-c-format msgid "transparency unit shading error" msgstr "Модуль для слайдов" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, fuzzy, no-c-format msgid "film scanner" msgstr "планшетный сканер" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "планшетный сканер" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Тип плёнки" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, fuzzy, no-c-format msgid "Negative film type" msgstr "Негатив" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, fuzzy, no-c-format msgid "Selects the negative film type" msgstr "Выберите тестовое изображение" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, fuzzy, no-c-format msgid "Hardware resolution" msgstr "Разрешение сканирования" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, fuzzy, no-c-format msgid "Use only hardware resolutions" msgstr "Показывать короткий список разрешений" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, fuzzy, no-c-format msgid "Auto focus" msgstr "Автоизвлечение" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, fuzzy, no-c-format msgid "Enable/disable auto focus" msgstr "Выключить предварительный фокус" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, fuzzy, no-c-format msgid "Manual focus position" msgstr "Зафиксировать позицию фокуса" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Зеркальное изображение" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, fuzzy, no-c-format msgid "Mirror the image horizontally" msgstr "Отображает изображение по горизонтали." -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, fuzzy, no-c-format msgid "Auto exposure" msgstr "Установить время выдержки" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, fuzzy, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Включить выбор времени выдержки" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, fuzzy, no-c-format msgid "Calibration now" msgstr "Калибровка" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, fuzzy, no-c-format msgid "Execute calibration *now*" msgstr "Задать режим калибровки" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, fuzzy, no-c-format msgid "Reset scanner" msgstr "листовой сканер" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, fuzzy, no-c-format msgid "Reset the scanner" msgstr "листовой сканер" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, fuzzy, no-c-format msgid "Eject film after each scan" msgstr "Извлечь документ после сканирования" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, fuzzy, no-c-format msgid "Document feeder extras" msgstr "Податчик листов" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, fuzzy, no-c-format msgid "Flatbed only" msgstr "Планшетный" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, fuzzy, no-c-format msgid "Transparency unit" msgstr "Модуль для слайдов" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, fuzzy, no-c-format msgid "Negative film" msgstr "Негатив" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, fuzzy, no-c-format msgid "Positive or negative film" msgstr "Позитив" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, fuzzy, no-c-format msgid "Transparency ratio" msgstr "Модуль для слайдов" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, fuzzy, no-c-format msgid "Select film type" msgstr "Тип плёнки" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, fuzzy, no-c-format msgid "Select the film type" msgstr "Выбирает полутона." -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Планшетный" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "АПД" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, fuzzy, no-c-format msgid "ADF Duplex" msgstr "Двухсторонний" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, fuzzy, no-c-format msgid "Card Front" msgstr "Распечатка" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Двухсторонний" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Красный" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Зелёный" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Синий" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Повышение" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Повышение" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Повышение" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1644,18 +1643,18 @@ msgstr "Повышение" msgid "None" msgstr "Ничего" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1672,13 +1671,13 @@ msgstr "Односторонний" msgid "Duplex" msgstr "Двухсторонний" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Модуль для слайдов" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1791,8 +1790,8 @@ msgstr "Струйные принтеры" msgid "CRT monitors" msgstr "Мониторы с ЭЛТ" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "По умолчанию" @@ -1855,51 +1854,50 @@ msgstr "A4" msgid "Max" msgstr "Макс" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Режим сканирования" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Выбирает полутона." -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "" -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Выбирает яркость." -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Резкость" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Коррекция цветов" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" @@ -1991,17 +1989,17 @@ msgstr "Добавляет к красному, основанному на ур msgid "Controls blue level" msgstr "Управляет уровнем синего" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Сделать изображение зеркальным." -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Быстрый предварительный просмотр" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Автоматически разделять на области" @@ -2033,47 +2031,47 @@ msgstr "" msgid "Quick format" msgstr "Быстрый формат" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Дополнительное оборудование" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Извлечь" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Вставить бумагу в устройство подачи документов" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Автоизвлечение" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Извлечь документ после сканирования" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Режим автоподачи" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Выбирает режим автоподачи (односторонний/двухсторонний)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Отсек" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Выбрать отсек, который сканировать" @@ -2114,7 +2112,7 @@ msgstr "" "После подачи команды \"сканировать\", будет ожидать пока не будет нажата " "кнопка на сканере, чтобы действительно начать процесс сканирования." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "" @@ -2144,494 +2142,494 @@ msgstr "" msgid "User defined CCT profile" msgstr "Определяемое пользователем" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Вкл" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Выкл" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Размытие" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Диффузия ошибок" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, fuzzy, no-c-format msgid "White" msgstr "Уровень белого" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, fuzzy, no-c-format msgid "Black" msgstr "Уровень чёрного" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, fuzzy, no-c-format msgid "Continue" msgstr "Условно" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Горизонтально" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Горизонтально" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Горизонтально" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Вертикальное" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Вертикальное" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, fuzzy, no-c-format msgid "Front" msgstr "Распечатка" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Полутоновый (растр)" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Грубая калибровка" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Выразительность изображения" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Насыщенность" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Включает автоматическое определение порога при сканировании штриховых " "изображений." -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Зеркальное изображение" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Отображает изображение по горизонтали." -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Уровень белого для синего" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Управляет уровнем красного" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Цветное штриховое" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Сглаживание" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Значение гаммы" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Порог" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Порог" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Уменьшение шумов" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Без коррекции" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Без коррекции" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Режим подачи" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Дополнительные параметры" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Без коррекции" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Включить лампу" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Режим подачи" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2639,65 +2637,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "Время выключения лампы" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Смещение синего" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Смещение зелёного" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Смещение зелёного" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Смещение синего" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Устанавливает смещение канала синего" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2706,418 +2704,418 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Двухстороннее сканирование" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Дополнительные параметры" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Уменьшение шумов" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, fuzzy, no-c-format msgid "A3 paper" msgstr "От бумаги" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, fuzzy, no-c-format msgid "B4 paper" msgstr "От бумаги" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, fuzzy, no-c-format msgid "A4 paper" msgstr "От бумаги" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, fuzzy, no-c-format msgid "B5 paper" msgstr "От бумаги" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Ручная предварительная фокусировка" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Ручная предварительная фокусировка" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Разрешение сканирования" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Уровень белого" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "Интенсивность красного" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Двухстороннее сканирование" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Дополнительно" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " "instead on hardware lineart." msgstr "" -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Выключить отслеживание" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Цветное штриховое" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Калибровка" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Задать режим калибровки" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Кэширование калибровочных данных" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "Время выключения лампы" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3126,103 +3124,113 @@ msgstr "" "Лампа будет выключена через указанное время (в минутах). Значение 0 " "означает, что лампа выключаться не будет." -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Грубая калибровка" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, fuzzy, no-c-format msgid "File button" msgstr "Ожидать нажатия кнопки" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, fuzzy, no-c-format msgid "Power button" msgstr "Ожидать нажатия кнопки" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "Ожидать нажатия кнопки" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, fuzzy, no-c-format msgid "Need calibration" msgstr "Грубая калибровка" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Выполнять калибровку сканера перед сканированием" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Кнопки" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Калибровка" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Начать процесс калибровки." -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Грубая калибровка" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Кэширование калибровочных данных" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Грубая калибровка" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Слайд-модуль" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "Цвет полутонового режима" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Выбирает, какой цвет будет использоваться при сканировании в полутоновом " "режиме (по умолчанию - зелёный)." -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Параметры отладки" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Автоматический прогрев" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3231,12 +3239,12 @@ msgstr "" "Разогревать пока яркость лампы не станет постоянной, вместо простого 60-" "тисекундного ожидания разогрева." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Полное сканирование" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3246,12 +3254,12 @@ msgstr "" "полосу. Будьте осторожны. Не выбирайте полную высоту. Только для " "тестирования." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Грубая калибровка" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3263,12 +3271,12 @@ msgstr "" "аналоговой настройки. Параметр включен по умолчанию. Только для " "тестирования." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Грубая калибровка только для первого сканирования" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3280,12 +3288,12 @@ msgstr "" "Если яркость изображения отличается при каждом сканировании, выключите " "этот параметр. Только для тестирования." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "Линии отката" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3298,12 +3306,12 @@ msgstr "" "быстрее, чем компьютер может принимать данные. Низкое значение приводит " "к более быстрому сканированию, но увеличивает вероятность пропуска линий." -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Значение гаммы" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Устанавливает значение гаммы всех каналов." @@ -3319,7 +3327,7 @@ msgid "Scan Mode Group" msgstr "Режим сканирования" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Слайд" @@ -3517,160 +3525,235 @@ msgstr "Включить/выключить лампу." msgid "Calibrates for black and white level." msgstr "Калибрует для чёрного и белого уровня." -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "АПД" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, fuzzy, no-c-format msgid "TMA Slides" msgstr "Слайд" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, fuzzy, no-c-format msgid "TMA Negatives" msgstr "Негатив" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, fuzzy, no-c-format msgid "Color (48 bits)" msgstr "Цветной 48" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, fuzzy, no-c-format msgid "Extend lamp timeout" msgstr "Время выключения лампы" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Ожидать нажатия кнопки" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, fuzzy, no-c-format msgid "Waits for button before scanning" msgstr "Прогревать лампу перед сканированием" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Состояние кнопки" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Источник сканирования" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Цветное штриховое" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "Дополнительные параметры" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Грубое" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Точное" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Пользовательское" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Автоматически" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "Пропускать сквозь" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "Чёрно-белое NTSC" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "Чёрно-белое XPA" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Медленно" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Нормально" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Быстро" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Очень быстро" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "Двухточечное" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "Четырёхточечное" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "Восьмиточечное" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Распечатка" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Плёнка" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Условно" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "Эксперимент" @@ -3851,8 +3934,8 @@ msgstr "Выключить лампу" msgid "Shut off scanner lamp." msgstr "Выключает лампу сканера." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Размер бумаги" @@ -3863,8 +3946,7 @@ msgstr "Размер бумаги" msgid "Automatic separation" msgstr "Автоматическое разделение" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, fuzzy, no-c-format msgid "Landscape" msgstr "A5 ландшафт" @@ -3879,38 +3961,34 @@ msgstr "" msgid "Long paper mode" msgstr "" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, fuzzy, no-c-format msgid "Manual feed mode" msgstr "Ручная предварительная фокусировка" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, fuzzy, no-c-format msgid "Manual feed timeout" msgstr "Ручная предварительная фокусировка" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Включить двустороннее сканирование" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Физический размер бумаги в устройстве автоподачи" @@ -4026,199 +4104,199 @@ msgstr "" msgid "Legal" msgstr "" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, fuzzy, no-c-format msgid "halftone_32" msgstr "Полутоновый (растр)" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, fuzzy, no-c-format msgid "halftone_64" msgstr "Полутоновый (растр)" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, fuzzy, no-c-format msgid "diffusion" msgstr "Диффузия ошибок" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, fuzzy, no-c-format msgid "normal" msgstr "Нормально" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, fuzzy, no-c-format msgid "light" msgstr "Подсветка" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, fuzzy, no-c-format msgid "From scanner" msgstr "планшетный сканер" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "От бумаги" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, fuzzy, no-c-format msgid "default" msgstr "По умолчанию" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, fuzzy, no-c-format msgid "smooth" msgstr "Сглаживать" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, fuzzy, no-c-format msgid "low" msgstr "Медленно" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, fuzzy, no-c-format msgid "medium" msgstr "Нормальный" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, fuzzy, no-c-format msgid "red" msgstr "Красный" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, fuzzy, no-c-format msgid "green" msgstr "Зелёный" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, fuzzy, no-c-format msgid "Sets the scan source" msgstr "Источник сканирования" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Режим подачи" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Устанавливает режим подачи" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, fuzzy, no-c-format msgid "Enable/Disable long paper mode" msgstr "Выключить предварительный фокус" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, fuzzy, no-c-format msgid "Enable/Disable length control mode" msgstr "Выключить предварительный фокус" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, fuzzy, no-c-format msgid "Sets the manual feed mode" msgstr "Устанавливает режим подачи" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, fuzzy, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Устанавливает режим подачи" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Автоматический порог" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4227,95 +4305,95 @@ msgstr "" "Автоматически устанавливает яркость, контрастность, уровень белого, " "гамму, уменьшение шума и выразительность изображения" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Уменьшение шумов" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Уменьшает количество отдельных случайных точек" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Выразительность изображения" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Устанавливает выразительность изображения" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Гамма" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, fuzzy, no-c-format msgid "Lamp color" msgstr "Включить лампу" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, fuzzy, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Включить/выключить лампу." -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, fuzzy, no-c-format msgid "Mirror image (left/right flip)" msgstr "Отображает изображение по вертикали." -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -5048,17 +5126,17 @@ msgstr "3x3 выборочно" msgid "2x2 custom" msgstr "2x2 выборочно" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Быстрый чёрно-белый режим" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Сканировать в быстром чёрно-белом режиме (наихудшее качество)." -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -5068,82 +5146,82 @@ msgstr "" "(низкокачественном) режиме. Это может быть чёрно-белый режим или режим с " "низким разрешением." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Время выключения лампы (в минутах)" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Указывает время (в минутах), после которого лампа будет выключена." -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "Выключить лампу сканера" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Выключает лампу незамедлительно." -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Яркость красного" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Управляет яркостью красного канала полученного изображения." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Яркость зелёного" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Управляет яркостью зелёного канала полученного изображения." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Яркость синего" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Управляет яркостью синего канала полученного изображения." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Контрастность красного канала" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Управляет контрастностью красного канала полученного изображения." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Контрастность зелёного канала" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Управляет контрастностью зелёного канала полученного изображения." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Контрастность синего канала" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Управляет контрастностью синего канала полученного изображения." @@ -5187,22 +5265,22 @@ msgstr "" "Разогревать пока яркость лампы не станет постоянной, вместо простого 40-" "тисекундного ожидания разогрева." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Негатив" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Негатив" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" diff --git a/po/sane-backends.pot b/po/sane-backends.pot deleted file mode 100644 index 85fa955..0000000 --- a/po/sane-backends.pot +++ /dev/null @@ -1,6225 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR The SANE developers -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: sane-backends 1.0.27\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: include/sane/saneopts.h:154 -#, no-c-format -msgid "Number of options" -msgstr "" - -#: include/sane/saneopts.h:156 -#, no-c-format -msgid "Standard" -msgstr "" - -#: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1914 -#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 -#, no-c-format -msgid "Geometry" -msgstr "" - -#: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 -#, no-c-format -msgid "Enhancement" -msgstr "" - -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 -#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 backend/rts8891.c:2831 -#: backend/snapscan-options.c:923 backend/umax.c:5565 -#, no-c-format -msgid "Advanced" -msgstr "" - -#: include/sane/saneopts.h:160 -#, no-c-format -msgid "Sensors" -msgstr "" - -#: include/sane/saneopts.h:162 -#, no-c-format -msgid "Preview" -msgstr "" - -#: include/sane/saneopts.h:163 -#, no-c-format -msgid "Force monochrome preview" -msgstr "" - -#: include/sane/saneopts.h:164 -#, no-c-format -msgid "Bit depth" -msgstr "" - -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 -#, no-c-format -msgid "Scan mode" -msgstr "" - -#: include/sane/saneopts.h:166 -#, no-c-format -msgid "Scan speed" -msgstr "" - -#: include/sane/saneopts.h:167 -#, no-c-format -msgid "Scan source" -msgstr "" - -#: include/sane/saneopts.h:168 -#, no-c-format -msgid "Force backtracking" -msgstr "" - -#: include/sane/saneopts.h:169 -#, no-c-format -msgid "Top-left x" -msgstr "" - -#: include/sane/saneopts.h:170 -#, no-c-format -msgid "Top-left y" -msgstr "" - -#: include/sane/saneopts.h:171 -#, no-c-format -msgid "Bottom-right x" -msgstr "" - -#: include/sane/saneopts.h:172 -#, no-c-format -msgid "Bottom-right y" -msgstr "" - -#: include/sane/saneopts.h:173 backend/canon.c:1221 -#: backend/pixma_sane_options.c:300 -#, no-c-format -msgid "Scan resolution" -msgstr "" - -#: include/sane/saneopts.h:174 -#, no-c-format -msgid "X-resolution" -msgstr "" - -#: include/sane/saneopts.h:175 -#, no-c-format -msgid "Y-resolution" -msgstr "" - -#: include/sane/saneopts.h:176 -#, no-c-format -msgid "Page width" -msgstr "" - -#: include/sane/saneopts.h:177 -#, no-c-format -msgid "Page height" -msgstr "" - -#: include/sane/saneopts.h:178 -#, no-c-format -msgid "Use custom gamma table" -msgstr "" - -#: include/sane/saneopts.h:179 -#, no-c-format -msgid "Image intensity" -msgstr "" - -#: include/sane/saneopts.h:180 -#, no-c-format -msgid "Red intensity" -msgstr "" - -#: include/sane/saneopts.h:181 -#, no-c-format -msgid "Green intensity" -msgstr "" - -#: include/sane/saneopts.h:182 -#, no-c-format -msgid "Blue intensity" -msgstr "" - -#: include/sane/saneopts.h:183 -#, no-c-format -msgid "Brightness" -msgstr "" - -#: include/sane/saneopts.h:184 -#, no-c-format -msgid "Contrast" -msgstr "" - -#: include/sane/saneopts.h:185 -#, no-c-format -msgid "Grain size" -msgstr "" - -#: include/sane/saneopts.h:186 -#, no-c-format -msgid "Halftoning" -msgstr "" - -#: include/sane/saneopts.h:187 -#, no-c-format -msgid "Black level" -msgstr "" - -#: include/sane/saneopts.h:188 -#, no-c-format -msgid "White level" -msgstr "" - -#: include/sane/saneopts.h:189 -#, no-c-format -msgid "White level for red" -msgstr "" - -#: include/sane/saneopts.h:190 -#, no-c-format -msgid "White level for green" -msgstr "" - -#: include/sane/saneopts.h:191 -#, no-c-format -msgid "White level for blue" -msgstr "" - -#: include/sane/saneopts.h:192 -#, no-c-format -msgid "Shadow" -msgstr "" - -#: include/sane/saneopts.h:193 -#, no-c-format -msgid "Shadow for red" -msgstr "" - -#: include/sane/saneopts.h:194 -#, no-c-format -msgid "Shadow for green" -msgstr "" - -#: include/sane/saneopts.h:195 -#, no-c-format -msgid "Shadow for blue" -msgstr "" - -#: include/sane/saneopts.h:196 -#, no-c-format -msgid "Highlight" -msgstr "" - -#: include/sane/saneopts.h:197 -#, no-c-format -msgid "Highlight for red" -msgstr "" - -#: include/sane/saneopts.h:198 -#, no-c-format -msgid "Highlight for green" -msgstr "" - -#: include/sane/saneopts.h:199 -#, no-c-format -msgid "Highlight for blue" -msgstr "" - -#: include/sane/saneopts.h:200 -#, no-c-format -msgid "Hue" -msgstr "" - -#: include/sane/saneopts.h:201 -#, no-c-format -msgid "Saturation" -msgstr "" - -#: include/sane/saneopts.h:202 -#, no-c-format -msgid "Filename" -msgstr "" - -#: include/sane/saneopts.h:203 -#, no-c-format -msgid "Halftone pattern size" -msgstr "" - -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 -#, no-c-format -msgid "Halftone pattern" -msgstr "" - -#: include/sane/saneopts.h:205 -#, no-c-format -msgid "Bind X and Y resolution" -msgstr "" - -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 -#, no-c-format -msgid "Negative" -msgstr "" - -#: include/sane/saneopts.h:207 -#, no-c-format -msgid "Quality calibration" -msgstr "" - -#: include/sane/saneopts.h:208 -#, no-c-format -msgid "Double Optical Resolution" -msgstr "" - -#: include/sane/saneopts.h:209 -#, no-c-format -msgid "Bind RGB" -msgstr "" - -#: include/sane/saneopts.h:210 backend/sm3840.c:770 -#, no-c-format -msgid "Threshold" -msgstr "" - -#: include/sane/saneopts.h:211 -#, no-c-format -msgid "Analog gamma correction" -msgstr "" - -#: include/sane/saneopts.h:212 -#, no-c-format -msgid "Analog gamma red" -msgstr "" - -#: include/sane/saneopts.h:213 -#, no-c-format -msgid "Analog gamma green" -msgstr "" - -#: include/sane/saneopts.h:214 -#, no-c-format -msgid "Analog gamma blue" -msgstr "" - -#: include/sane/saneopts.h:215 -#, no-c-format -msgid "Bind analog gamma" -msgstr "" - -#: include/sane/saneopts.h:216 -#, no-c-format -msgid "Warmup lamp" -msgstr "" - -#: include/sane/saneopts.h:217 -#, no-c-format -msgid "Cal. exposure-time" -msgstr "" - -#: include/sane/saneopts.h:218 -#, no-c-format -msgid "Cal. exposure-time for red" -msgstr "" - -#: include/sane/saneopts.h:219 -#, no-c-format -msgid "Cal. exposure-time for green" -msgstr "" - -#: include/sane/saneopts.h:221 -#, no-c-format -msgid "Cal. exposure-time for blue" -msgstr "" - -#: include/sane/saneopts.h:222 -#, no-c-format -msgid "Scan exposure-time" -msgstr "" - -#: include/sane/saneopts.h:223 -#, no-c-format -msgid "Scan exposure-time for red" -msgstr "" - -#: include/sane/saneopts.h:224 -#, no-c-format -msgid "Scan exposure-time for green" -msgstr "" - -#: include/sane/saneopts.h:226 -#, no-c-format -msgid "Scan exposure-time for blue" -msgstr "" - -#: include/sane/saneopts.h:227 -#, no-c-format -msgid "Set exposure-time" -msgstr "" - -#: include/sane/saneopts.h:228 -#, no-c-format -msgid "Cal. lamp density" -msgstr "" - -#: include/sane/saneopts.h:229 -#, no-c-format -msgid "Scan lamp density" -msgstr "" - -#: include/sane/saneopts.h:230 -#, no-c-format -msgid "Set lamp density" -msgstr "" - -#: include/sane/saneopts.h:231 backend/umax.c:5829 -#, no-c-format -msgid "Lamp off at exit" -msgstr "" - -#: include/sane/saneopts.h:245 -#, no-c-format -msgid "" -"Read-only option that specifies how many options a specific devices supports." -msgstr "" - -#: include/sane/saneopts.h:248 -#, no-c-format -msgid "Source, mode and resolution options" -msgstr "" - -#: include/sane/saneopts.h:249 -#, no-c-format -msgid "Scan area and media size options" -msgstr "" - -#: include/sane/saneopts.h:250 -#, no-c-format -msgid "Image modification options" -msgstr "" - -#: include/sane/saneopts.h:251 -#, no-c-format -msgid "Hardware specific options" -msgstr "" - -#: include/sane/saneopts.h:252 -#, no-c-format -msgid "Scanner sensors and buttons" -msgstr "" - -#: include/sane/saneopts.h:255 -#, no-c-format -msgid "Request a preview-quality scan." -msgstr "" - -#: include/sane/saneopts.h:258 -#, no-c-format -msgid "" -"Request that all previews are done in monochrome mode. On a three-pass " -"scanner this cuts down the number of passes to one and on a one-pass " -"scanner, it reduces the memory requirements and scan-time of the preview." -msgstr "" - -#: include/sane/saneopts.h:264 -#, no-c-format -msgid "" -"Number of bits per sample, typical values are 1 for \"line-art\" and 8 for " -"multibit scans." -msgstr "" - -#: include/sane/saneopts.h:268 -#, no-c-format -msgid "Selects the scan mode (e.g., lineart, monochrome, or color)." -msgstr "" - -#: include/sane/saneopts.h:271 -#, no-c-format -msgid "Determines the speed at which the scan proceeds." -msgstr "" - -#: include/sane/saneopts.h:274 -#, no-c-format -msgid "Selects the scan source (such as a document-feeder)." -msgstr "" - -#: include/sane/saneopts.h:277 -#, no-c-format -msgid "Controls whether backtracking is forced." -msgstr "" - -#: include/sane/saneopts.h:280 -#, no-c-format -msgid "Top-left x position of scan area." -msgstr "" - -#: include/sane/saneopts.h:283 -#, no-c-format -msgid "Top-left y position of scan area." -msgstr "" - -#: include/sane/saneopts.h:286 -#, no-c-format -msgid "Bottom-right x position of scan area." -msgstr "" - -#: include/sane/saneopts.h:289 -#, no-c-format -msgid "Bottom-right y position of scan area." -msgstr "" - -#: include/sane/saneopts.h:292 -#, no-c-format -msgid "Sets the resolution of the scanned image." -msgstr "" - -#: include/sane/saneopts.h:295 -#, no-c-format -msgid "Sets the horizontal resolution of the scanned image." -msgstr "" - -#: include/sane/saneopts.h:298 -#, no-c-format -msgid "Sets the vertical resolution of the scanned image." -msgstr "" - -#: include/sane/saneopts.h:301 -#, no-c-format -msgid "" -"Specifies the width of the media. Required for automatic centering of sheet-" -"fed scans." -msgstr "" - -#: include/sane/saneopts.h:305 -#, no-c-format -msgid "Specifies the height of the media." -msgstr "" - -#: include/sane/saneopts.h:308 -#, no-c-format -msgid "Determines whether a builtin or a custom gamma-table should be used." -msgstr "" - -#: include/sane/saneopts.h:312 -#, no-c-format -msgid "" -"Gamma-correction table. In color mode this option equally affects the red, " -"green, and blue channels simultaneously (i.e., it is an intensity gamma " -"table)." -msgstr "" - -#: include/sane/saneopts.h:317 -#, no-c-format -msgid "Gamma-correction table for the red band." -msgstr "" - -#: include/sane/saneopts.h:320 -#, no-c-format -msgid "Gamma-correction table for the green band." -msgstr "" - -#: include/sane/saneopts.h:323 -#, no-c-format -msgid "Gamma-correction table for the blue band." -msgstr "" - -#: include/sane/saneopts.h:326 -#, no-c-format -msgid "Controls the brightness of the acquired image." -msgstr "" - -#: include/sane/saneopts.h:329 -#, no-c-format -msgid "Controls the contrast of the acquired image." -msgstr "" - -#: include/sane/saneopts.h:332 -#, no-c-format -msgid "" -"Selects the \"graininess\" of the acquired image. Smaller values result in " -"sharper images." -msgstr "" - -#: include/sane/saneopts.h:336 -#, no-c-format -msgid "Selects whether the acquired image should be halftoned (dithered)." -msgstr "" - -#: include/sane/saneopts.h:339 include/sane/saneopts.h:354 -#, no-c-format -msgid "Selects what radiance level should be considered \"black\"." -msgstr "" - -#: include/sane/saneopts.h:342 include/sane/saneopts.h:363 -#, no-c-format -msgid "Selects what radiance level should be considered \"white\"." -msgstr "" - -#: include/sane/saneopts.h:345 -#, no-c-format -msgid "Selects what red radiance level should be considered \"white\"." -msgstr "" - -#: include/sane/saneopts.h:348 -#, no-c-format -msgid "Selects what green radiance level should be considered \"white\"." -msgstr "" - -#: include/sane/saneopts.h:351 -#, no-c-format -msgid "Selects what blue radiance level should be considered \"white\"." -msgstr "" - -#: include/sane/saneopts.h:356 -#, no-c-format -msgid "Selects what red radiance level should be considered \"black\"." -msgstr "" - -#: include/sane/saneopts.h:358 -#, no-c-format -msgid "Selects what green radiance level should be considered \"black\"." -msgstr "" - -#: include/sane/saneopts.h:360 -#, no-c-format -msgid "Selects what blue radiance level should be considered \"black\"." -msgstr "" - -#: include/sane/saneopts.h:365 -#, no-c-format -msgid "Selects what red radiance level should be considered \"full red\"." -msgstr "" - -#: include/sane/saneopts.h:367 -#, no-c-format -msgid "Selects what green radiance level should be considered \"full green\"." -msgstr "" - -#: include/sane/saneopts.h:370 -#, no-c-format -msgid "Selects what blue radiance level should be considered \"full blue\"." -msgstr "" - -#: include/sane/saneopts.h:374 -#, no-c-format -msgid "Controls the \"hue\" (blue-level) of the acquired image." -msgstr "" - -#: include/sane/saneopts.h:377 -#, no-c-format -msgid "" -"The saturation level controls the amount of \"blooming\" that occurs when " -"acquiring an image with a camera. Larger values cause more blooming." -msgstr "" - -#: include/sane/saneopts.h:382 -#, no-c-format -msgid "The filename of the image to be loaded." -msgstr "" - -#: include/sane/saneopts.h:385 -#, no-c-format -msgid "" -"Sets the size of the halftoning (dithering) pattern used when scanning " -"halftoned images." -msgstr "" - -#: include/sane/saneopts.h:389 -#, no-c-format -msgid "" -"Defines the halftoning (dithering) pattern for scanning halftoned images." -msgstr "" - -#: include/sane/saneopts.h:393 -#, no-c-format -msgid "Use same values for X and Y resolution" -msgstr "" - -#: include/sane/saneopts.h:395 -#, no-c-format -msgid "Swap black and white" -msgstr "" - -#: include/sane/saneopts.h:397 -#, no-c-format -msgid "Do a quality white-calibration" -msgstr "" - -#: include/sane/saneopts.h:399 -#, no-c-format -msgid "Use lens that doubles optical resolution" -msgstr "" - -#: include/sane/saneopts.h:401 include/sane/saneopts.h:413 -#, no-c-format -msgid "In RGB-mode use same values for each color" -msgstr "" - -#: include/sane/saneopts.h:403 -#, no-c-format -msgid "Select minimum-brightness to get a white point" -msgstr "" - -#: include/sane/saneopts.h:405 -#, no-c-format -msgid "Analog gamma-correction" -msgstr "" - -#: include/sane/saneopts.h:407 -#, no-c-format -msgid "Analog gamma-correction for red" -msgstr "" - -#: include/sane/saneopts.h:409 -#, no-c-format -msgid "Analog gamma-correction for green" -msgstr "" - -#: include/sane/saneopts.h:411 -#, no-c-format -msgid "Analog gamma-correction for blue" -msgstr "" - -#: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" -msgstr "" - -#: include/sane/saneopts.h:417 -#, no-c-format -msgid "Define exposure-time for calibration" -msgstr "" - -#: include/sane/saneopts.h:419 -#, no-c-format -msgid "Define exposure-time for red calibration" -msgstr "" - -#: include/sane/saneopts.h:421 -#, no-c-format -msgid "Define exposure-time for green calibration" -msgstr "" - -#: include/sane/saneopts.h:423 -#, no-c-format -msgid "Define exposure-time for blue calibration" -msgstr "" - -#: include/sane/saneopts.h:425 -#, no-c-format -msgid "Define exposure-time for scan" -msgstr "" - -#: include/sane/saneopts.h:427 -#, no-c-format -msgid "Define exposure-time for red scan" -msgstr "" - -#: include/sane/saneopts.h:429 -#, no-c-format -msgid "Define exposure-time for green scan" -msgstr "" - -#: include/sane/saneopts.h:431 -#, no-c-format -msgid "Define exposure-time for blue scan" -msgstr "" - -#: include/sane/saneopts.h:433 -#, no-c-format -msgid "Enable selection of exposure-time" -msgstr "" - -#: include/sane/saneopts.h:435 -#, no-c-format -msgid "Define lamp density for calibration" -msgstr "" - -#: include/sane/saneopts.h:437 -#, no-c-format -msgid "Define lamp density for scan" -msgstr "" - -#: include/sane/saneopts.h:439 -#, no-c-format -msgid "Enable selection of lamp density" -msgstr "" - -#: include/sane/saneopts.h:441 backend/umax.c:5830 -#, no-c-format -msgid "Turn off lamp when program exits" -msgstr "" - -#: include/sane/saneopts.h:444 -#, no-c-format -msgid "Scan button" -msgstr "" - -#: include/sane/saneopts.h:445 -#, no-c-format -msgid "Email button" -msgstr "" - -#: include/sane/saneopts.h:446 -#, no-c-format -msgid "Fax button" -msgstr "" - -#: include/sane/saneopts.h:447 -#, no-c-format -msgid "Copy button" -msgstr "" - -#: include/sane/saneopts.h:448 -#, no-c-format -msgid "PDF button" -msgstr "" - -#: include/sane/saneopts.h:449 -#, no-c-format -msgid "Cancel button" -msgstr "" - -#: include/sane/saneopts.h:450 -#, no-c-format -msgid "Page loaded" -msgstr "" - -#: include/sane/saneopts.h:451 -#, no-c-format -msgid "Cover open" -msgstr "" - -#: include/sane/saneopts.h:454 -#, no-c-format -msgid "Color" -msgstr "" - -#: include/sane/saneopts.h:455 -#, no-c-format -msgid "Color Lineart" -msgstr "" - -#: include/sane/saneopts.h:456 -#, no-c-format -msgid "Color Halftone" -msgstr "" - -#: include/sane/saneopts.h:457 -#, no-c-format -msgid "Gray" -msgstr "" - -#: include/sane/saneopts.h:458 -#, no-c-format -msgid "Halftone" -msgstr "" - -#: include/sane/saneopts.h:459 -#, no-c-format -msgid "Lineart" -msgstr "" - -#: backend/sane_strstatus.c:59 -#, no-c-format -msgid "Success" -msgstr "" - -#: backend/sane_strstatus.c:62 -#, no-c-format -msgid "Operation not supported" -msgstr "" - -#: backend/sane_strstatus.c:65 -#, no-c-format -msgid "Operation was cancelled" -msgstr "" - -#: backend/sane_strstatus.c:68 -#, no-c-format -msgid "Device busy" -msgstr "" - -#: backend/sane_strstatus.c:71 -#, no-c-format -msgid "Invalid argument" -msgstr "" - -#: backend/sane_strstatus.c:74 -#, no-c-format -msgid "End of file reached" -msgstr "" - -#: backend/sane_strstatus.c:77 -#, no-c-format -msgid "Document feeder jammed" -msgstr "" - -#: backend/sane_strstatus.c:80 -#, no-c-format -msgid "Document feeder out of documents" -msgstr "" - -#: backend/sane_strstatus.c:83 -#, no-c-format -msgid "Scanner cover is open" -msgstr "" - -#: backend/sane_strstatus.c:86 -#, no-c-format -msgid "Error during device I/O" -msgstr "" - -#: backend/sane_strstatus.c:89 -#, no-c-format -msgid "Out of memory" -msgstr "" - -#: backend/sane_strstatus.c:92 -#, no-c-format -msgid "Access to resource has been denied" -msgstr "" - -#: backend/sane_strstatus.c:96 -#, no-c-format -msgid "Lamp not ready, please retry" -msgstr "" - -#: backend/sane_strstatus.c:101 -#, no-c-format -msgid "Scanner mechanism locked for transport" -msgstr "" - -#: backend/artec_eplus48u.c:2874 backend/pnm.c:282 -#, no-c-format -msgid "Defaults" -msgstr "" - -#: backend/artec_eplus48u.c:2876 -#, no-c-format -msgid "Set default values for enhancement controls." -msgstr "" - -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 -#, no-c-format -msgid "Calibration" -msgstr "" - -#: backend/artec_eplus48u.c:2941 -#, no-c-format -msgid "Calibrate before next scan" -msgstr "" - -#: backend/artec_eplus48u.c:2943 -#, no-c-format -msgid "" -"If enabled, the device will be calibrated before the next scan. Otherwise, " -"calibration is performed only before the first start." -msgstr "" - -#: backend/artec_eplus48u.c:2954 -#, no-c-format -msgid "Only perform shading-correction" -msgstr "" - -#: backend/artec_eplus48u.c:2956 -#, no-c-format -msgid "" -"If enabled, only the shading correction is performed during calibration. The " -"default values for gain, offset and exposure time, either build-in or from " -"the configuration file, are used." -msgstr "" - -#: backend/artec_eplus48u.c:2967 -#, no-c-format -msgid "Button state" -msgstr "" - -#: backend/avision.h:778 -#, no-c-format -msgid "Number of the frame to scan" -msgstr "" - -#: backend/avision.h:779 -#, no-c-format -msgid "Selects the number of the frame to scan" -msgstr "" - -#: backend/avision.h:782 -#, no-c-format -msgid "Duplex scan" -msgstr "" - -#: backend/avision.h:783 -#, no-c-format -msgid "Duplex scan provide a scan of the front and back side of the document" -msgstr "" - -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "" - -#: backend/canon630u.c:306 -#, no-c-format -msgid "Analog Gain" -msgstr "" - -#: backend/canon630u.c:307 -#, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "" - -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 -#, no-c-format -msgid "Gamma Correction" -msgstr "" - -#: backend/canon630u.c:348 -#, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "" - -#: backend/canon.c:149 backend/canon-sane.c:1318 -#, no-c-format -msgid "Raw" -msgstr "" - -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "" - -#: backend/canon.c:169 -#, no-c-format -msgid "No transparency correction" -msgstr "" - -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "" - -#: backend/canon.c:176 -#, no-c-format -msgid "Slides" -msgstr "" - -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 -#: backend/matsushita.c:178 -#, no-c-format -msgid "Automatic" -msgstr "" - -#: backend/canon.c:186 -#, no-c-format -msgid "Normal speed" -msgstr "" - -#: backend/canon.c:187 -#, no-c-format -msgid "1/2 normal speed" -msgstr "" - -#: backend/canon.c:187 -#, no-c-format -msgid "1/3 normal speed" -msgstr "" - -#: backend/canon.c:365 -#, no-c-format -msgid "rounded parameter" -msgstr "" - -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 -#, no-c-format -msgid "unknown" -msgstr "" - -#: backend/canon.c:378 -#, no-c-format -msgid "ADF jam" -msgstr "" - -#: backend/canon.c:381 -#, no-c-format -msgid "ADF cover open" -msgstr "" - -#: backend/canon.c:394 -#, no-c-format -msgid "lamp failure" -msgstr "" - -#: backend/canon.c:397 -#, no-c-format -msgid "scan head positioning error" -msgstr "" - -#: backend/canon.c:400 -#, no-c-format -msgid "CPU check error" -msgstr "" - -#: backend/canon.c:403 -#, no-c-format -msgid "RAM check error" -msgstr "" - -#: backend/canon.c:406 -#, no-c-format -msgid "ROM check error" -msgstr "" - -#: backend/canon.c:409 -#, no-c-format -msgid "hardware check error" -msgstr "" - -#: backend/canon.c:412 -#, no-c-format -msgid "transparency unit lamp failure" -msgstr "" - -#: backend/canon.c:415 -#, no-c-format -msgid "transparency unit scan head positioning failure" -msgstr "" - -#: backend/canon.c:429 -#, no-c-format -msgid "parameter list length error" -msgstr "" - -#: backend/canon.c:433 -#, no-c-format -msgid "invalid command operation code" -msgstr "" - -#: backend/canon.c:437 -#, no-c-format -msgid "invalid field in CDB" -msgstr "" - -#: backend/canon.c:441 -#, no-c-format -msgid "unsupported LUN" -msgstr "" - -#: backend/canon.c:445 -#, no-c-format -msgid "invalid field in parameter list" -msgstr "" - -#: backend/canon.c:449 -#, no-c-format -msgid "command sequence error" -msgstr "" - -#: backend/canon.c:453 -#, no-c-format -msgid "too many windows specified" -msgstr "" - -#: backend/canon.c:457 -#, no-c-format -msgid "medium not present" -msgstr "" - -#: backend/canon.c:461 -#, no-c-format -msgid "invalid bit IDENTIFY message" -msgstr "" - -#: backend/canon.c:465 -#, no-c-format -msgid "option not connect" -msgstr "" - -#: backend/canon.c:479 -#, no-c-format -msgid "power on reset / bus device reset" -msgstr "" - -#: backend/canon.c:483 -#, no-c-format -msgid "parameter changed by another initiator" -msgstr "" - -#: backend/canon.c:497 -#, no-c-format -msgid "no additional sense information" -msgstr "" - -#: backend/canon.c:501 -#, no-c-format -msgid "reselect failure" -msgstr "" - -#: backend/canon.c:505 -#, no-c-format -msgid "SCSI parity error" -msgstr "" - -#: backend/canon.c:509 -#, no-c-format -msgid "initiator detected error message received" -msgstr "" - -#: backend/canon.c:514 -#, no-c-format -msgid "invalid message error" -msgstr "" - -#: backend/canon.c:518 -#, no-c-format -msgid "timeout error" -msgstr "" - -#: backend/canon.c:522 -#, no-c-format -msgid "transparency unit shading error" -msgstr "" - -#: backend/canon.c:526 -#, no-c-format -msgid "lamp not stabilized" -msgstr "" - -#: backend/canon.c:852 backend/canon.c:867 -#, no-c-format -msgid "film scanner" -msgstr "" - -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 -#: backend/u12.c:851 -#, no-c-format -msgid "flatbed scanner" -msgstr "" - -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 -#, no-c-format -msgid "Film type" -msgstr "" - -#: backend/canon.c:1184 -#, no-c-format -msgid "Selects the film type, i.e. negatives or slides" -msgstr "" - -#: backend/canon.c:1196 -#, no-c-format -msgid "Negative film type" -msgstr "" - -#: backend/canon.c:1197 -#, no-c-format -msgid "Selects the negative film type" -msgstr "" - -#: backend/canon.c:1236 -#, no-c-format -msgid "Hardware resolution" -msgstr "" - -#: backend/canon.c:1237 -#, no-c-format -msgid "Use only hardware resolutions" -msgstr "" - -#: backend/canon.c:1318 -#, no-c-format -msgid "Focus" -msgstr "" - -#: backend/canon.c:1328 -#, no-c-format -msgid "Auto focus" -msgstr "" - -#: backend/canon.c:1329 -#, no-c-format -msgid "Enable/disable auto focus" -msgstr "" - -#: backend/canon.c:1336 -#, no-c-format -msgid "Auto focus only once" -msgstr "" - -#: backend/canon.c:1337 -#, no-c-format -msgid "Do auto focus only once between ejects" -msgstr "" - -#: backend/canon.c:1345 -#, no-c-format -msgid "Manual focus position" -msgstr "" - -#: backend/canon.c:1346 -#, no-c-format -msgid "Set the optical system's focus position by hand (default: 128)." -msgstr "" - -#: backend/canon.c:1356 -#, no-c-format -msgid "Scan margins" -msgstr "" - -#: backend/canon.c:1403 -#, no-c-format -msgid "Extra color adjustments" -msgstr "" - -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 -#: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 -#, no-c-format -msgid "Mirror image" -msgstr "" - -#: backend/canon.c:1539 -#, no-c-format -msgid "Mirror the image horizontally" -msgstr "" - -#: backend/canon.c:1608 -#, no-c-format -msgid "Auto exposure" -msgstr "" - -#: backend/canon.c:1609 -#, no-c-format -msgid "Enable/disable the auto exposure feature" -msgstr "" - -#: backend/canon.c:1625 -#, no-c-format -msgid "Calibration now" -msgstr "" - -#: backend/canon.c:1626 -#, no-c-format -msgid "Execute calibration *now*" -msgstr "" - -#: backend/canon.c:1636 -#, no-c-format -msgid "Self diagnosis" -msgstr "" - -#: backend/canon.c:1637 -#, no-c-format -msgid "Perform scanner self diagnosis" -msgstr "" - -#: backend/canon.c:1648 -#, no-c-format -msgid "Reset scanner" -msgstr "" - -#: backend/canon.c:1649 -#, no-c-format -msgid "Reset the scanner" -msgstr "" - -#: backend/canon.c:1659 -#, no-c-format -msgid "Medium handling" -msgstr "" - -#: backend/canon.c:1668 -#, no-c-format -msgid "Eject film after each scan" -msgstr "" - -#: backend/canon.c:1669 -#, no-c-format -msgid "Automatically eject the film from the device after each scan" -msgstr "" - -#: backend/canon.c:1680 -#, no-c-format -msgid "Eject film before exit" -msgstr "" - -#: backend/canon.c:1681 -#, no-c-format -msgid "Automatically eject the film from the device before exiting the program" -msgstr "" - -#: backend/canon.c:1690 -#, no-c-format -msgid "Eject film now" -msgstr "" - -#: backend/canon.c:1691 -#, no-c-format -msgid "Eject the film *now*" -msgstr "" - -#: backend/canon.c:1700 -#, no-c-format -msgid "Document feeder extras" -msgstr "" - -#: backend/canon.c:1707 -#, no-c-format -msgid "Flatbed only" -msgstr "" - -#: backend/canon.c:1708 -#, no-c-format -msgid "Disable auto document feeder and use flatbed only" -msgstr "" - -#: backend/canon.c:1718 backend/canon.c:1728 -#, no-c-format -msgid "Transparency unit" -msgstr "" - -#: backend/canon.c:1729 -#, no-c-format -msgid "Switch on/off the transparency unit (FAU, film adapter unit)" -msgstr "" - -#: backend/canon.c:1739 -#, no-c-format -msgid "Negative film" -msgstr "" - -#: backend/canon.c:1740 -#, no-c-format -msgid "Positive or negative film" -msgstr "" - -#: backend/canon.c:1749 -#, no-c-format -msgid "Density control" -msgstr "" - -#: backend/canon.c:1750 -#, no-c-format -msgid "Set density control mode" -msgstr "" - -#: backend/canon.c:1761 -#, no-c-format -msgid "Transparency ratio" -msgstr "" - -#: backend/canon.c:1775 -#, no-c-format -msgid "Select film type" -msgstr "" - -#: backend/canon.c:1776 -#, no-c-format -msgid "Select the film type" -msgstr "" - -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 -#: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 -#, no-c-format -msgid "Flatbed" -msgstr "" - -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 -#: backend/kodak.c:140 -#, no-c-format -msgid "ADF Front" -msgstr "" - -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 -#: backend/kodak.c:141 -#, no-c-format -msgid "ADF Back" -msgstr "" - -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 -#, no-c-format -msgid "ADF Duplex" -msgstr "" - -#: backend/canon_dr.c:412 -#, no-c-format -msgid "Card Front" -msgstr "" - -#: backend/canon_dr.c:413 -#, no-c-format -msgid "Card Back" -msgstr "" - -#: backend/canon_dr.c:414 -#, no-c-format -msgid "Card Duplex" -msgstr "" - -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 -#, no-c-format -msgid "Red" -msgstr "" - -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 -#, no-c-format -msgid "Green" -msgstr "" - -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 -#, no-c-format -msgid "Blue" -msgstr "" - -#: backend/canon_dr.c:424 -#, no-c-format -msgid "Enhance Red" -msgstr "" - -#: backend/canon_dr.c:425 -#, no-c-format -msgid "Enhance Green" -msgstr "" - -#: backend/canon_dr.c:426 -#, no-c-format -msgid "Enhance Blue" -msgstr "" - -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 -#: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 -#: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 -#: backend/matsushita.c:191 backend/matsushita.c:213 -#: backend/snapscan-options.c:91 -#, no-c-format -msgid "None" -msgstr "" - -#: backend/canon_dr.c:429 backend/fujitsu.c:699 -#, no-c-format -msgid "JPEG" -msgstr "" - -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 -#, no-c-format -msgid "Software blank skip percentage" -msgstr "" - -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 -#, no-c-format -msgid "Request driver to discard pages with low percentage of dark pixels" -msgstr "" - -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 -#, no-c-format -msgid "Simplex" -msgstr "" - -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 backend/magicolor.c:175 -#: backend/matsushita.h:218 -#, no-c-format -msgid "Duplex" -msgstr "" - -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 -#, no-c-format -msgid "Transparency Unit" -msgstr "" - -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 -#: backend/umax.c:183 -#, no-c-format -msgid "Automatic Document Feeder" -msgstr "" - -#: backend/epson.c:523 backend/epson2.c:134 -#, no-c-format -msgid "Positive Film" -msgstr "" - -#: backend/epson.c:524 backend/epson2.c:135 -#, no-c-format -msgid "Negative Film" -msgstr "" - -#: backend/epson.c:529 backend/epson2.c:142 -#, no-c-format -msgid "Focus on glass" -msgstr "" - -#: backend/epson.c:530 backend/epson2.c:143 -#, no-c-format -msgid "Focus 2.5mm above glass" -msgstr "" - -#: backend/epson.c:557 backend/epson.c:565 backend/epson.c:577 -#: backend/epson2.c:166 backend/epson2.c:174 backend/epson2.c:186 -#, no-c-format -msgid "Halftone A (Hard Tone)" -msgstr "" - -#: backend/epson.c:558 backend/epson.c:566 backend/epson.c:578 -#: backend/epson2.c:167 backend/epson2.c:175 backend/epson2.c:187 -#, no-c-format -msgid "Halftone B (Soft Tone)" -msgstr "" - -#: backend/epson.c:559 backend/epson.c:567 backend/epson.c:579 -#: backend/epson2.c:168 backend/epson2.c:176 backend/epson2.c:188 -#, no-c-format -msgid "Halftone C (Net Screen)" -msgstr "" - -#: backend/epson.c:568 backend/epson.c:580 backend/epson2.c:177 -#: backend/epson2.c:189 -#, no-c-format -msgid "Dither A (4x4 Bayer)" -msgstr "" - -#: backend/epson.c:569 backend/epson.c:581 backend/epson2.c:178 -#: backend/epson2.c:190 -#, no-c-format -msgid "Dither B (4x4 Spiral)" -msgstr "" - -#: backend/epson.c:570 backend/epson.c:582 backend/epson2.c:179 -#: backend/epson2.c:191 -#, no-c-format -msgid "Dither C (4x4 Net Screen)" -msgstr "" - -#: backend/epson.c:571 backend/epson.c:583 backend/epson2.c:180 -#: backend/epson2.c:192 -#, no-c-format -msgid "Dither D (8x4 Net Screen)" -msgstr "" - -#: backend/epson.c:584 backend/epson2.c:193 -#, no-c-format -msgid "Text Enhanced Technology" -msgstr "" - -#: backend/epson.c:585 backend/epson2.c:194 -#, no-c-format -msgid "Download pattern A" -msgstr "" - -#: backend/epson.c:586 backend/epson2.c:195 -#, no-c-format -msgid "Download pattern B" -msgstr "" - -#: backend/epson.c:631 -#, no-c-format -msgid "No Correction" -msgstr "" - -#: backend/epson.c:632 backend/epson.c:657 backend/epson2.c:255 -#, no-c-format -msgid "User defined" -msgstr "" - -#: backend/epson.c:633 -#, no-c-format -msgid "Impact-dot printers" -msgstr "" - -#: backend/epson.c:634 -#, no-c-format -msgid "Thermal printers" -msgstr "" - -#: backend/epson.c:635 -#, no-c-format -msgid "Ink-jet printers" -msgstr "" - -#: backend/epson.c:636 -#, no-c-format -msgid "CRT monitors" -msgstr "" - -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 -#, no-c-format -msgid "Default" -msgstr "" - -#: backend/epson.c:658 backend/epson2.c:256 -#, no-c-format -msgid "High density printing" -msgstr "" - -#: backend/epson.c:659 backend/epson2.c:257 -#, no-c-format -msgid "Low density printing" -msgstr "" - -#: backend/epson.c:660 backend/epson2.c:258 -#, no-c-format -msgid "High contrast printing" -msgstr "" - -#: backend/epson.c:678 backend/epson2.c:276 -#, no-c-format -msgid "User defined (Gamma=1.0)" -msgstr "" - -#: backend/epson.c:679 backend/epson2.c:277 -#, no-c-format -msgid "User defined (Gamma=1.8)" -msgstr "" - -#: backend/epson.c:757 -#, no-c-format -msgid "CD" -msgstr "" - -#: backend/epson.c:758 -#, no-c-format -msgid "A5 portrait" -msgstr "" - -#: backend/epson.c:759 -#, no-c-format -msgid "A5 landscape" -msgstr "" - -#: backend/epson.c:760 backend/kvs1025_opt.c:103 backend/kvs20xx_opt.c:77 -#: backend/kvs40xx_opt.c:131 backend/kvs40xx_opt.c:148 -#, no-c-format -msgid "Letter" -msgstr "" - -#: backend/epson.c:761 backend/kvs1025_opt.c:100 backend/kvs20xx_opt.c:74 -#: backend/kvs20xx_opt.c:302 backend/kvs40xx_opt.c:128 -#: backend/kvs40xx_opt.c:145 backend/kvs40xx_opt.c:526 -#, no-c-format -msgid "A4" -msgstr "" - -#: backend/epson.c:762 -#, no-c-format -msgid "Max" -msgstr "" - -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 -#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4203 -#: backend/mustek_usb.c:260 backend/mustek_usb2.c:344 backend/niash.c:734 -#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 -#: backend/snapscan-options.c:354 backend/stv680.c:1030 backend/teco2.c:1886 -#: backend/test.c:306 backend/u12.c:473 backend/umax.c:5054 -#, no-c-format -msgid "Scan Mode" -msgstr "" - -#: backend/epson.c:2845 backend/epson2.c:1012 -#, no-c-format -msgid "Selects the halftone." -msgstr "" - -#: backend/epson.c:2867 backend/epson2.c:1033 -#, no-c-format -msgid "Dropout" -msgstr "" - -#: backend/epson.c:2868 backend/epson2.c:1034 -#, no-c-format -msgid "Selects the dropout." -msgstr "" - -#: backend/epson.c:2880 backend/epson2.c:1046 -#, no-c-format -msgid "Selects the brightness." -msgstr "" - -#: backend/epson.c:2895 backend/epson2.c:1059 -#, no-c-format -msgid "Sharpness" -msgstr "" - -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 -#, no-c-format -msgid "Color correction" -msgstr "" - -#: backend/epson.c:3034 backend/epson2.c:1177 -#, no-c-format -msgid "Sets the color correction table for the selected output device." -msgstr "" - -#: backend/epson.c:3075 -#, no-c-format -msgid "Color correction coefficients" -msgstr "" - -#: backend/epson.c:3076 -#, no-c-format -msgid "Matrix multiplication of RGB" -msgstr "" - -#: backend/epson.c:3093 -#, no-c-format -msgid "Shift green to red" -msgstr "" - -#: backend/epson.c:3094 -#, no-c-format -msgid "Shift green to blue" -msgstr "" - -#: backend/epson.c:3095 -#, no-c-format -msgid "Shift red to green" -msgstr "" - -#: backend/epson.c:3097 -#, no-c-format -msgid "Shift red to blue" -msgstr "" - -#: backend/epson.c:3098 -#, no-c-format -msgid "Shift blue to green" -msgstr "" - -#: backend/epson.c:3099 -#, no-c-format -msgid "Shift blue to red" -msgstr "" - -#: backend/epson.c:3102 -#, no-c-format -msgid "Controls green level" -msgstr "" - -#: backend/epson.c:3103 -#, no-c-format -msgid "Adds to red based on green level" -msgstr "" - -#: backend/epson.c:3104 -#, no-c-format -msgid "Adds to blue based on green level" -msgstr "" - -#: backend/epson.c:3105 -#, no-c-format -msgid "Adds to green based on red level" -msgstr "" - -#: backend/epson.c:3106 -#, no-c-format -msgid "Controls red level" -msgstr "" - -#: backend/epson.c:3107 -#, no-c-format -msgid "Adds to blue based on red level" -msgstr "" - -#: backend/epson.c:3108 -#, no-c-format -msgid "Adds to green based on blue level" -msgstr "" - -#: backend/epson.c:3109 -#, no-c-format -msgid "Adds to red based on blue level" -msgstr "" - -#: backend/epson.c:3110 -#, no-c-format -msgid "Controls blue level" -msgstr "" - -#: backend/epson.c:3206 backend/epson2.c:1256 -#, no-c-format -msgid "Mirror the image." -msgstr "" - -#: backend/epson.c:3232 backend/mustek.c:4332 -#, no-c-format -msgid "Fast preview" -msgstr "" - -#: backend/epson.c:3245 backend/epson2.c:1266 -#, no-c-format -msgid "Auto area segmentation" -msgstr "" - -#: backend/epson.c:3258 -#, no-c-format -msgid "Short resolution list" -msgstr "" - -#: backend/epson.c:3260 -#, no-c-format -msgid "Display short resolution list" -msgstr "" - -#: backend/epson.c:3267 -#, no-c-format -msgid "Zoom" -msgstr "" - -#: backend/epson.c:3269 -#, no-c-format -msgid "Defines the zoom factor the scanner will use" -msgstr "" - -#: backend/epson.c:3349 -#, no-c-format -msgid "Quick format" -msgstr "" - -#: backend/epson.c:3360 backend/epson2.c:1341 -#, no-c-format -msgid "Optional equipment" -msgstr "" - -#: backend/epson.c:3431 backend/epson2.c:1394 -#, no-c-format -msgid "Eject" -msgstr "" - -#: backend/epson.c:3432 backend/epson2.c:1395 -#, no-c-format -msgid "Eject the sheet in the ADF" -msgstr "" - -#: backend/epson.c:3444 backend/epson2.c:1405 -#, no-c-format -msgid "Auto eject" -msgstr "" - -#: backend/epson.c:3445 backend/epson2.c:1407 -#, no-c-format -msgid "Eject document after scanning" -msgstr "" - -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 -#, no-c-format -msgid "ADF Mode" -msgstr "" - -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 -#, no-c-format -msgid "Selects the ADF mode (simplex/duplex)" -msgstr "" - -#: backend/epson.c:3473 backend/epson2.c:1431 -#, no-c-format -msgid "Bay" -msgstr "" - -#: backend/epson.c:3474 backend/epson2.c:1432 -#, no-c-format -msgid "Select bay to scan" -msgstr "" - -#: backend/epson.h:69 backend/epson2.h:68 -#, no-c-format -msgid "" -"Selects the gamma correction value from a list of pre-defined devices or the " -"user defined table, which can be downloaded to the scanner" -msgstr "" - -#: backend/epson.h:72 backend/epson2.h:71 -#, no-c-format -msgid "Focus Position" -msgstr "" - -#: backend/epson.h:73 backend/epson2.h:72 -#, no-c-format -msgid "Sets the focus position to either the glass or 2.5mm above the glass" -msgstr "" - -#: backend/epson.h:75 backend/epson2.h:74 -#, no-c-format -msgid "Wait for Button" -msgstr "" - -#: backend/epson.h:76 backend/epson2.h:75 -#, no-c-format -msgid "" -"After sending the scan command, wait until the button on the scanner is " -"pressed to actually start the scan process." -msgstr "" - -#: backend/epson2.c:102 backend/pixma.c:390 -#, no-c-format -msgid "Infrared" -msgstr "" - -#: backend/epson2.c:117 -#, no-c-format -msgid "TPU8x10" -msgstr "" - -#: backend/epson2.c:136 -#, no-c-format -msgid "Positive Slide" -msgstr "" - -#: backend/epson2.c:137 -#, no-c-format -msgid "Negative Slide" -msgstr "" - -#: backend/epson2.c:215 -#, no-c-format -msgid "Built in CCT profile" -msgstr "" - -#: backend/epson2.c:216 -#, no-c-format -msgid "User defined CCT profile" -msgstr "" - -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 -#, no-c-format -msgid "On" -msgstr "" - -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 -#, no-c-format -msgid "Off" -msgstr "" - -#: backend/fujitsu.c:686 -#, no-c-format -msgid "DTC" -msgstr "" - -#: backend/fujitsu.c:687 -#, no-c-format -msgid "SDTC" -msgstr "" - -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 -#: backend/teco3.c:978 -#, no-c-format -msgid "Dither" -msgstr "" - -#: backend/fujitsu.c:690 -#, no-c-format -msgid "Diffusion" -msgstr "" - -#: backend/fujitsu.c:695 -#, no-c-format -msgid "White" -msgstr "" - -#: backend/fujitsu.c:696 -#, no-c-format -msgid "Black" -msgstr "" - -#: backend/fujitsu.c:701 -#, no-c-format -msgid "Continue" -msgstr "" - -#: backend/fujitsu.c:702 -#, no-c-format -msgid "Stop" -msgstr "" - -#: backend/fujitsu.c:704 -#, no-c-format -msgid "10mm" -msgstr "" - -#: backend/fujitsu.c:705 -#, no-c-format -msgid "15mm" -msgstr "" - -#: backend/fujitsu.c:706 -#, no-c-format -msgid "20mm" -msgstr "" - -#: backend/fujitsu.c:708 backend/hp-option.c:3045 -#, no-c-format -msgid "Horizontal" -msgstr "" - -#: backend/fujitsu.c:709 -#, no-c-format -msgid "Horizontal bold" -msgstr "" - -#: backend/fujitsu.c:710 -#, no-c-format -msgid "Horizontal narrow" -msgstr "" - -#: backend/fujitsu.c:711 backend/hp-option.c:3044 -#, no-c-format -msgid "Vertical" -msgstr "" - -#: backend/fujitsu.c:712 -#, no-c-format -msgid "Vertical bold" -msgstr "" - -#: backend/fujitsu.c:714 -#, no-c-format -msgid "Top to bottom" -msgstr "" - -#: backend/fujitsu.c:715 -#, no-c-format -msgid "Bottom to top" -msgstr "" - -#: backend/fujitsu.c:717 -#, no-c-format -msgid "Front" -msgstr "" - -#: backend/fujitsu.c:718 -#, no-c-format -msgid "Back" -msgstr "" - -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 -#, no-c-format -msgid "Gamma function exponent" -msgstr "" - -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 -#, no-c-format -msgid "Changes intensity of midtones" -msgstr "" - -#: backend/fujitsu.c:3147 -#, no-c-format -msgid "RIF" -msgstr "" - -#: backend/fujitsu.c:3148 -#, no-c-format -msgid "Reverse image format" -msgstr "" - -#: backend/fujitsu.c:3165 -#, no-c-format -msgid "Halftone type" -msgstr "" - -#: backend/fujitsu.c:3166 -#, no-c-format -msgid "Control type of halftone filter" -msgstr "" - -#: backend/fujitsu.c:3187 -#, no-c-format -msgid "Control pattern of halftone filter" -msgstr "" - -#: backend/fujitsu.c:3209 -#, no-c-format -msgid "Outline" -msgstr "" - -#: backend/fujitsu.c:3210 -#, no-c-format -msgid "Perform outline extraction" -msgstr "" - -#: backend/fujitsu.c:3221 -#, no-c-format -msgid "Emphasis" -msgstr "" - -#: backend/fujitsu.c:3222 -#, no-c-format -msgid "Negative to smooth or positive to sharpen image" -msgstr "" - -#: backend/fujitsu.c:3240 -#, no-c-format -msgid "Separation" -msgstr "" - -#: backend/fujitsu.c:3241 -#, no-c-format -msgid "Enable automatic separation of image and text" -msgstr "" - -#: backend/fujitsu.c:3252 -#, no-c-format -msgid "Mirroring" -msgstr "" - -#: backend/fujitsu.c:3253 -#, no-c-format -msgid "Reflect output image horizontally" -msgstr "" - -#: backend/fujitsu.c:3270 -#, no-c-format -msgid "White level follower" -msgstr "" - -#: backend/fujitsu.c:3271 -#, no-c-format -msgid "Control white level follower" -msgstr "" - -#: backend/fujitsu.c:3289 -#, no-c-format -msgid "BP filter" -msgstr "" - -#: backend/fujitsu.c:3290 -#, no-c-format -msgid "Improves quality of high resolution ball-point pen text" -msgstr "" - -#: backend/fujitsu.c:3306 backend/hp-option.h:73 -#, no-c-format -msgid "Smoothing" -msgstr "" - -#: backend/fujitsu.c:3307 -#, no-c-format -msgid "Enable smoothing for improved OCR" -msgstr "" - -#: backend/fujitsu.c:3323 -#, no-c-format -msgid "Gamma curve" -msgstr "" - -#: backend/fujitsu.c:3324 -#, no-c-format -msgid "Gamma curve, from light to dark, but upper two may not work" -msgstr "" - -#: backend/fujitsu.c:3346 backend/genesys.c:5832 -#: backend/pixma_sane_options.c:335 -#, no-c-format -msgid "Threshold curve" -msgstr "" - -#: backend/fujitsu.c:3347 -#, no-c-format -msgid "Threshold curve, from light to dark, but upper two may not be linear" -msgstr "" - -#: backend/fujitsu.c:3369 -#, no-c-format -msgid "Threshold white" -msgstr "" - -#: backend/fujitsu.c:3370 -#, no-c-format -msgid "Set pixels equal to threshold to white instead of black" -msgstr "" - -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 -#, no-c-format -msgid "Noise removal" -msgstr "" - -#: backend/fujitsu.c:3403 -#, no-c-format -msgid "Matrix 5x5" -msgstr "" - -#: backend/fujitsu.c:3404 -#, no-c-format -msgid "Remove 5 pixel square noise" -msgstr "" - -#: backend/fujitsu.c:3420 -#, no-c-format -msgid "Matrix 4x4" -msgstr "" - -#: backend/fujitsu.c:3421 -#, no-c-format -msgid "Remove 4 pixel square noise" -msgstr "" - -#: backend/fujitsu.c:3437 -#, no-c-format -msgid "Matrix 3x3" -msgstr "" - -#: backend/fujitsu.c:3438 -#, no-c-format -msgid "Remove 3 pixel square noise" -msgstr "" - -#: backend/fujitsu.c:3454 -#, no-c-format -msgid "Matrix 2x2" -msgstr "" - -#: backend/fujitsu.c:3455 -#, no-c-format -msgid "Remove 2 pixel square noise" -msgstr "" - -#: backend/fujitsu.c:3474 -#, no-c-format -msgid "Variance" -msgstr "" - -#: backend/fujitsu.c:3475 -#, no-c-format -msgid "Set SDTC variance rate (sensitivity), 0 equals 127" -msgstr "" - -#: backend/fujitsu.c:3508 -#, no-c-format -msgid "Auto width detection" -msgstr "" - -#: backend/fujitsu.c:3509 -#, no-c-format -msgid "Scanner detects paper sides. May reduce scanning speed." -msgstr "" - -#: backend/fujitsu.c:3526 -#, no-c-format -msgid "Auto length detection" -msgstr "" - -#: backend/fujitsu.c:3527 -#, no-c-format -msgid "Scanner detects paper lower edge. May confuse some frontends." -msgstr "" - -#: backend/fujitsu.c:3553 -#, no-c-format -msgid "Compression" -msgstr "" - -#: backend/fujitsu.c:3554 -#, no-c-format -msgid "Enable compressed data. May crash your front-end program" -msgstr "" - -#: backend/fujitsu.c:3574 -#, no-c-format -msgid "Compression argument" -msgstr "" - -#: backend/fujitsu.c:3575 -#, no-c-format -msgid "" -"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) is " -"same as 4" -msgstr "" - -#: backend/fujitsu.c:3605 -#, no-c-format -msgid "DF action" -msgstr "" - -#: backend/fujitsu.c:3606 -#, no-c-format -msgid "Action following double feed error" -msgstr "" - -#: backend/fujitsu.c:3622 -#, no-c-format -msgid "DF skew" -msgstr "" - -#: backend/fujitsu.c:3623 -#, no-c-format -msgid "Enable double feed error due to skew" -msgstr "" - -#: backend/fujitsu.c:3641 -#, no-c-format -msgid "DF thickness" -msgstr "" - -#: backend/fujitsu.c:3642 -#, no-c-format -msgid "Enable double feed error due to paper thickness" -msgstr "" - -#: backend/fujitsu.c:3660 -#, no-c-format -msgid "DF length" -msgstr "" - -#: backend/fujitsu.c:3661 -#, no-c-format -msgid "Enable double feed error due to paper length" -msgstr "" - -#: backend/fujitsu.c:3684 -#, no-c-format -msgid "DF length difference" -msgstr "" - -#: backend/fujitsu.c:3685 -#, no-c-format -msgid "Difference in page length to trigger double feed error" -msgstr "" - -#: backend/fujitsu.c:3708 -#, no-c-format -msgid "DF recovery mode" -msgstr "" - -#: backend/fujitsu.c:3709 -#, no-c-format -msgid "Request scanner to reverse feed on paper jam" -msgstr "" - -#: backend/fujitsu.c:3728 -#, no-c-format -msgid "Paper protection" -msgstr "" - -#: backend/fujitsu.c:3729 -#, no-c-format -msgid "Request scanner to predict jams in the ADF" -msgstr "" - -#: backend/fujitsu.c:3748 -#, no-c-format -msgid "Advanced paper protection" -msgstr "" - -#: backend/fujitsu.c:3749 -#, no-c-format -msgid "Request scanner to predict jams in the ADF using improved sensors" -msgstr "" - -#: backend/fujitsu.c:3768 -#, no-c-format -msgid "Staple detection" -msgstr "" - -#: backend/fujitsu.c:3769 -#, no-c-format -msgid "Request scanner to detect jams in the ADF caused by staples" -msgstr "" - -#: backend/fujitsu.c:3788 -#, no-c-format -msgid "Background color" -msgstr "" - -#: backend/fujitsu.c:3789 -#, no-c-format -msgid "Set color of background for scans. May conflict with overscan option" -msgstr "" - -#: backend/fujitsu.c:3809 -#, no-c-format -msgid "Dropout color" -msgstr "" - -#: backend/fujitsu.c:3810 -#, no-c-format -msgid "" -"One-pass scanners use only one color during gray or binary scanning, useful " -"for colored paper or ink" -msgstr "" - -#: backend/fujitsu.c:3833 -#, no-c-format -msgid "Buffer mode" -msgstr "" - -#: backend/fujitsu.c:3834 -#, no-c-format -msgid "Request scanner to read pages quickly from ADF into internal memory" -msgstr "" - -#: backend/fujitsu.c:3853 -#, no-c-format -msgid "Prepick" -msgstr "" - -#: backend/fujitsu.c:3854 -#, no-c-format -msgid "Request scanner to grab next page from ADF" -msgstr "" - -#: backend/fujitsu.c:3873 -#, no-c-format -msgid "Overscan" -msgstr "" - -#: backend/fujitsu.c:3874 -#, no-c-format -msgid "" -"Collect a few mm of background on top side of scan, before paper enters ADF, " -"and increase maximum scan area beyond paper size, to allow collection on " -"remaining sides. May conflict with bgcolor option" -msgstr "" - -#: backend/fujitsu.c:3892 -#, no-c-format -msgid "Sleep timer" -msgstr "" - -#: backend/fujitsu.c:3893 -#, no-c-format -msgid "Time in minutes until the internal power supply switches to sleep mode" -msgstr "" - -#: backend/fujitsu.c:3911 -#, no-c-format -msgid "Off timer" -msgstr "" - -#: backend/fujitsu.c:3912 -#, no-c-format -msgid "" -"Time in minutes until the internal power supply switches the scanner off. " -"Will be rounded to nearest 15 minutes. Zero means never power off." -msgstr "" - -#: backend/fujitsu.c:3930 -#, no-c-format -msgid "Duplex offset" -msgstr "" - -#: backend/fujitsu.c:3931 -#, no-c-format -msgid "Adjust front/back offset" -msgstr "" - -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 -#, no-c-format -msgid "Green offset" -msgstr "" - -#: backend/fujitsu.c:3949 -#, no-c-format -msgid "Adjust green/red offset" -msgstr "" - -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 -#, no-c-format -msgid "Blue offset" -msgstr "" - -#: backend/fujitsu.c:3967 -#, no-c-format -msgid "Adjust blue/red offset" -msgstr "" - -#: backend/fujitsu.c:3980 -#, no-c-format -msgid "Low Memory" -msgstr "" - -#: backend/fujitsu.c:3981 -#, no-c-format -msgid "" -"Limit driver memory usage for use in embedded systems. Causes some duplex " -"transfers to alternate sides on each call to sane_read. Value of option " -"'side' can be used to determine correct image. This option should only be " -"used with custom front-end software." -msgstr "" - -#: backend/fujitsu.c:3996 -#, no-c-format -msgid "Duplex side" -msgstr "" - -#: backend/fujitsu.c:3997 -#, no-c-format -msgid "" -"Tells which side (0=front, 1=back) of a duplex scan the next call to " -"sane_read will return." -msgstr "" - -#: backend/fujitsu.c:4008 -#, no-c-format -msgid "Hardware deskew and crop" -msgstr "" - -#: backend/fujitsu.c:4009 -#, no-c-format -msgid "Request scanner to rotate and crop pages digitally." -msgstr "" - -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 -#, no-c-format -msgid "Software deskew" -msgstr "" - -#: backend/fujitsu.c:4021 -#, no-c-format -msgid "Request driver to rotate skewed pages digitally." -msgstr "" - -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 -#, no-c-format -msgid "Software despeckle diameter" -msgstr "" - -#: backend/fujitsu.c:4034 -#, no-c-format -msgid "Maximum diameter of lone dots to remove from scan." -msgstr "" - -#: backend/fujitsu.c:4053 backend/genesys.c:5760 -#, no-c-format -msgid "Software crop" -msgstr "" - -#: backend/fujitsu.c:4054 -#, no-c-format -msgid "Request driver to remove border from pages digitally." -msgstr "" - -#: backend/fujitsu.c:4083 -#, no-c-format -msgid "Halt on Cancel" -msgstr "" - -#: backend/fujitsu.c:4084 -#, no-c-format -msgid "Request driver to halt the paper feed instead of eject during a cancel." -msgstr "" - -#: backend/fujitsu.c:4095 -#, no-c-format -msgid "Endorser Options" -msgstr "" - -#: backend/fujitsu.c:4096 -#, no-c-format -msgid "Controls for endorser unit" -msgstr "" - -#: backend/fujitsu.c:4107 -#, no-c-format -msgid "Endorser" -msgstr "" - -#: backend/fujitsu.c:4108 -#, no-c-format -msgid "Enable endorser unit" -msgstr "" - -#: backend/fujitsu.c:4123 -#, no-c-format -msgid "Endorser bits" -msgstr "" - -#: backend/fujitsu.c:4124 -#, no-c-format -msgid "Determines maximum endorser counter value." -msgstr "" - -#: backend/fujitsu.c:4149 -#, no-c-format -msgid "Endorser value" -msgstr "" - -#: backend/fujitsu.c:4150 -#, no-c-format -msgid "Initial endorser counter value." -msgstr "" - -#: backend/fujitsu.c:4173 -#, no-c-format -msgid "Endorser step" -msgstr "" - -#: backend/fujitsu.c:4174 -#, no-c-format -msgid "Change endorser counter value by this much for each page." -msgstr "" - -#: backend/fujitsu.c:4197 -#, no-c-format -msgid "Endorser Y" -msgstr "" - -#: backend/fujitsu.c:4198 -#, no-c-format -msgid "Endorser print offset from top of paper." -msgstr "" - -#: backend/fujitsu.c:4223 -#, no-c-format -msgid "Endorser font" -msgstr "" - -#: backend/fujitsu.c:4224 -#, no-c-format -msgid "Endorser printing font." -msgstr "" - -#: backend/fujitsu.c:4253 -#, no-c-format -msgid "Endorser direction" -msgstr "" - -#: backend/fujitsu.c:4254 -#, no-c-format -msgid "Endorser printing direction." -msgstr "" - -#: backend/fujitsu.c:4278 -#, no-c-format -msgid "Endorser side" -msgstr "" - -#: backend/fujitsu.c:4279 -#, no-c-format -msgid "Endorser printing side, requires hardware support to change" -msgstr "" - -#: backend/fujitsu.c:4304 -#, no-c-format -msgid "Endorser string" -msgstr "" - -#: backend/fujitsu.c:4305 -#, no-c-format -msgid "" -"Endorser alphanumeric print format. %05ud or %08ud at the end will be " -"replaced by counter value." -msgstr "" - -#: backend/fujitsu.c:4332 -#, no-c-format -msgid "Top edge" -msgstr "" - -#: backend/fujitsu.c:4333 -#, no-c-format -msgid "Paper is pulled partly into adf" -msgstr "" - -#: backend/fujitsu.c:4344 -#, no-c-format -msgid "A3 paper" -msgstr "" - -#: backend/fujitsu.c:4345 -#, no-c-format -msgid "A3 paper detected" -msgstr "" - -#: backend/fujitsu.c:4356 -#, no-c-format -msgid "B4 paper" -msgstr "" - -#: backend/fujitsu.c:4357 -#, no-c-format -msgid "B4 paper detected" -msgstr "" - -#: backend/fujitsu.c:4368 -#, no-c-format -msgid "A4 paper" -msgstr "" - -#: backend/fujitsu.c:4369 -#, no-c-format -msgid "A4 paper detected" -msgstr "" - -#: backend/fujitsu.c:4380 -#, no-c-format -msgid "B5 paper" -msgstr "" - -#: backend/fujitsu.c:4381 -#, no-c-format -msgid "B5 paper detected" -msgstr "" - -#: backend/fujitsu.c:4404 -#, no-c-format -msgid "OMR or DF" -msgstr "" - -#: backend/fujitsu.c:4405 -#, no-c-format -msgid "OMR or double feed detected" -msgstr "" - -#: backend/fujitsu.c:4428 -#, no-c-format -msgid "Power saving" -msgstr "" - -#: backend/fujitsu.c:4429 -#, no-c-format -msgid "Scanner in power saving mode" -msgstr "" - -#: backend/fujitsu.c:4452 -#, no-c-format -msgid "Manual feed" -msgstr "" - -#: backend/fujitsu.c:4453 -#, no-c-format -msgid "Manual feed selected" -msgstr "" - -#: backend/fujitsu.c:4476 -#, no-c-format -msgid "Function" -msgstr "" - -#: backend/fujitsu.c:4477 -#, no-c-format -msgid "Function character on screen" -msgstr "" - -#: backend/fujitsu.c:4488 -#, no-c-format -msgid "Ink low" -msgstr "" - -#: backend/fujitsu.c:4489 -#, no-c-format -msgid "Imprinter ink running low" -msgstr "" - -#: backend/fujitsu.c:4500 -#, no-c-format -msgid "Double feed" -msgstr "" - -#: backend/fujitsu.c:4501 -#, no-c-format -msgid "Double feed detected" -msgstr "" - -#: backend/fujitsu.c:4512 -#, no-c-format -msgid "Error code" -msgstr "" - -#: backend/fujitsu.c:4513 -#, no-c-format -msgid "Hardware error code" -msgstr "" - -#: backend/fujitsu.c:4524 -#, no-c-format -msgid "Skew angle" -msgstr "" - -#: backend/fujitsu.c:4525 -#, no-c-format -msgid "Requires black background for scanning" -msgstr "" - -#: backend/fujitsu.c:4536 -#, no-c-format -msgid "Ink remaining" -msgstr "" - -#: backend/fujitsu.c:4537 -#, no-c-format -msgid "Imprinter ink level" -msgstr "" - -#: backend/fujitsu.c:4548 -#, no-c-format -msgid "Density" -msgstr "" - -#: backend/fujitsu.c:4549 -#, no-c-format -msgid "Density dial" -msgstr "" - -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 -#, no-c-format -msgid "Duplex switch" -msgstr "" - -#: backend/genesys.c:5761 -#, no-c-format -msgid "Request backend to remove border from pages digitally" -msgstr "" - -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 -#, no-c-format -msgid "Request driver to discard pages with low numbers of dark pixels" -msgstr "" - -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 -#, no-c-format -msgid "Software derotate" -msgstr "" - -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 -#, no-c-format -msgid "Request driver to detect and correct 90 degree image rotation" -msgstr "" - -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 -#, no-c-format -msgid "Extras" -msgstr "" - -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 -#, no-c-format -msgid "Dynamic threshold curve, from light to dark, normally 50-65" -msgstr "" - -#: backend/genesys.c:5842 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "" - -#: backend/genesys.c:5844 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" - -#: backend/genesys.c:5860 -#, no-c-format -msgid "Disable interpolation" -msgstr "" - -#: backend/genesys.c:5863 -#, no-c-format -msgid "" -"When using high resolutions where the horizontal resolution is smaller than " -"the vertical resolution this disables horizontal interpolation." -msgstr "" - -#: backend/genesys.c:5872 -#, no-c-format -msgid "Color filter" -msgstr "" - -#: backend/genesys.c:5875 -#, no-c-format -msgid "When using gray or lineart this option selects the used color." -msgstr "" - -#: backend/genesys.c:5901 -#, no-c-format -msgid "Calibration file" -msgstr "" - -#: backend/genesys.c:5902 -#, no-c-format -msgid "Specify the calibration file to use" -msgstr "" - -#: backend/genesys.c:5919 -#, no-c-format -msgid "Calibration cache expiration time" -msgstr "" - -#: backend/genesys.c:5920 -#, no-c-format -msgid "" -"Time (in minutes) before a cached calibration expires. A value of 0 means " -"cache is not used. A negative value means cache never expires." -msgstr "" - -#: backend/genesys.c:5930 -#, no-c-format -msgid "Lamp off time" -msgstr "" - -#: backend/genesys.c:5933 -#, no-c-format -msgid "" -"The lamp will be turned off after the given time (in minutes). A value of 0 " -"means, that the lamp won't be turned off." -msgstr "" - -#: backend/genesys.c:5943 -#, no-c-format -msgid "Lamp off during scan" -msgstr "" - -#: backend/genesys.c:5944 -#, no-c-format -msgid "The lamp will be turned off during scan. " -msgstr "" - -#: backend/genesys.c:5972 backend/genesys.c:5973 -#, no-c-format -msgid "File button" -msgstr "" - -#: backend/genesys.c:6025 backend/genesys.c:6026 -#, no-c-format -msgid "OCR button" -msgstr "" - -#: backend/genesys.c:6039 backend/genesys.c:6040 -#, no-c-format -msgid "Power button" -msgstr "" - -#: backend/genesys.c:6053 backend/genesys.c:6054 -#, no-c-format -msgid "Extra button" -msgstr "" - -#: backend/genesys.c:6067 backend/gt68xx.c:762 -#, no-c-format -msgid "Need calibration" -msgstr "" - -#: backend/genesys.c:6068 backend/gt68xx.c:763 -#, no-c-format -msgid "The scanner needs calibration for the current settings" -msgstr "" - -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 -#, no-c-format -msgid "Buttons" -msgstr "" - -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 -#, no-c-format -msgid "Calibrate" -msgstr "" - -#: backend/genesys.c:6091 backend/gt68xx.c:796 -#, no-c-format -msgid "Start calibration using special sheet" -msgstr "" - -#: backend/genesys.c:6105 backend/gt68xx.c:809 -#, no-c-format -msgid "Clear calibration" -msgstr "" - -#: backend/genesys.c:6106 backend/gt68xx.c:810 -#, no-c-format -msgid "Clear calibration cache" -msgstr "" - -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 -#, no-c-format -msgid "Transparency Adapter" -msgstr "" - -#: backend/gt68xx.c:477 -#, no-c-format -msgid "Gray mode color" -msgstr "" - -#: backend/gt68xx.c:479 -#, no-c-format -msgid "Selects which scan color is used gray mode (default: green)." -msgstr "" - -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 backend/mustek_usb2.c:410 -#, no-c-format -msgid "Debugging Options" -msgstr "" - -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 -#, no-c-format -msgid "Automatic warmup" -msgstr "" - -#: backend/gt68xx.c:573 -#, no-c-format -msgid "" -"Warm-up until the lamp's brightness is constant instead of insisting on 60 " -"seconds warm-up time." -msgstr "" - -#: backend/gt68xx.c:585 -#, no-c-format -msgid "Full scan" -msgstr "" - -#: backend/gt68xx.c:587 -#, no-c-format -msgid "" -"Scan the complete scanning area including calibration strip. Be careful. " -"Don't select the full height. For testing only." -msgstr "" - -#: backend/gt68xx.c:598 -#, no-c-format -msgid "Coarse calibration" -msgstr "" - -#: backend/gt68xx.c:600 -#, no-c-format -msgid "" -"Setup gain and offset for scanning automatically. If this option is " -"disabled, options for setting the analog frontend parameters manually are " -"provided. This option is enabled by default. For testing only." -msgstr "" - -#: backend/gt68xx.c:619 -#, no-c-format -msgid "Coarse calibration for first scan only" -msgstr "" - -#: backend/gt68xx.c:621 -#, no-c-format -msgid "" -"Coarse calibration is only done for the first scan. Works with most scanners " -"and can save scanning time. If the image brightness is different with each " -"scan, disable this option. For testing only." -msgstr "" - -#: backend/gt68xx.c:654 -#, no-c-format -msgid "Backtrack lines" -msgstr "" - -#: backend/gt68xx.c:656 -#, no-c-format -msgid "" -"Number of lines the scan slider moves back when backtracking occurs. That " -"happens when the scanner scans faster than the computer can receive the " -"data. Low values cause faster scans but increase the risk of omitting lines." -msgstr "" - -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 -#, no-c-format -msgid "Gamma value" -msgstr "" - -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 -#, no-c-format -msgid "Sets the gamma value of all channels." -msgstr "" - -#: backend/hp3500.c:1020 -#, no-c-format -msgid "Geometry Group" -msgstr "" - -#: backend/hp3500.c:1073 backend/hp3500.c:1074 -#, no-c-format -msgid "Scan Mode Group" -msgstr "" - -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 -#, no-c-format -msgid "Slide" -msgstr "" - -#: backend/hp3900_sane.c:1405 -#, no-c-format -msgid "Scanner model" -msgstr "" - -#: backend/hp3900_sane.c:1408 -#, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" - -#: backend/hp3900_sane.c:1422 -#, no-c-format -msgid "Image colours will be inverted" -msgstr "" - -#: backend/hp3900_sane.c:1436 -#, no-c-format -msgid "Disable gamma correction" -msgstr "" - -#: backend/hp3900_sane.c:1437 -#, no-c-format -msgid "Gamma correction will be disabled" -msgstr "" - -#: backend/hp3900_sane.c:1451 -#, no-c-format -msgid "Disable white shading correction" -msgstr "" - -#: backend/hp3900_sane.c:1453 -#, no-c-format -msgid "White shading correction will be disabled" -msgstr "" - -#: backend/hp3900_sane.c:1467 -#, no-c-format -msgid "Skip warmup process" -msgstr "" - -#: backend/hp3900_sane.c:1468 -#, no-c-format -msgid "Warmup process will be disabled" -msgstr "" - -#: backend/hp3900_sane.c:1482 -#, no-c-format -msgid "Force real depth" -msgstr "" - -#: backend/hp3900_sane.c:1485 -#, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve image " -"quality and then converted to the selected depth. This option avoids depth " -"emulation." -msgstr "" - -#: backend/hp3900_sane.c:1499 -#, no-c-format -msgid "Emulate Grayscale" -msgstr "" - -#: backend/hp3900_sane.c:1502 -#, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some circumstances." -msgstr "" - -#: backend/hp3900_sane.c:1516 -#, no-c-format -msgid "Save debugging images" -msgstr "" - -#: backend/hp3900_sane.c:1519 -#, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to analyze " -"them." -msgstr "" - -#: backend/hp3900_sane.c:1533 -#, no-c-format -msgid "Reset chipset" -msgstr "" - -#: backend/hp3900_sane.c:1534 -#, no-c-format -msgid "Resets chipset data" -msgstr "" - -#: backend/hp3900_sane.c:1547 -#, no-c-format -msgid "Information" -msgstr "" - -#: backend/hp3900_sane.c:1560 -#, no-c-format -msgid "Chipset name" -msgstr "" - -#: backend/hp3900_sane.c:1561 -#, no-c-format -msgid "Shows chipset name used in device." -msgstr "" - -#: backend/hp3900_sane.c:1565 -#, no-c-format -msgid "Unknown" -msgstr "" - -#: backend/hp3900_sane.c:1571 -#, no-c-format -msgid "Chipset ID" -msgstr "" - -#: backend/hp3900_sane.c:1572 -#, no-c-format -msgid "Shows the chipset ID" -msgstr "" - -#: backend/hp3900_sane.c:1582 -#, no-c-format -msgid "Scan counter" -msgstr "" - -#: backend/hp3900_sane.c:1584 -#, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "" - -#: backend/hp3900_sane.c:1594 -#, no-c-format -msgid "Update information" -msgstr "" - -#: backend/hp3900_sane.c:1595 -#, no-c-format -msgid "Updates information about device" -msgstr "" - -#: backend/hp3900_sane.c:1635 -#, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "" - -#: backend/hp5400_sane.c:313 backend/niash.c:678 -#, no-c-format -msgid "Image" -msgstr "" - -#: backend/hp5400_sane.c:352 backend/niash.c:709 -#, no-c-format -msgid "Miscellaneous" -msgstr "" - -#: backend/hp5400_sane.c:358 -#, no-c-format -msgid "offset X" -msgstr "" - -#: backend/hp5400_sane.c:359 -#, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "" - -#: backend/hp5400_sane.c:368 -#, no-c-format -msgid "offset Y" -msgstr "" - -#: backend/hp5400_sane.c:369 -#, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "" - -#: backend/hp5400_sane.c:381 backend/niash.c:716 -#, no-c-format -msgid "Lamp status" -msgstr "" - -#: backend/hp5400_sane.c:382 backend/niash.c:717 -#, no-c-format -msgid "Switches the lamp on or off." -msgstr "" - -#: backend/hp5400_sane.c:393 backend/niash.c:727 -#, no-c-format -msgid "Calibrates for black and white level." -msgstr "" - -#: backend/hp5590.c:86 backend/hp-option.c:3253 -#, no-c-format -msgid "ADF" -msgstr "" - -#: backend/hp5590.c:88 -#, no-c-format -msgid "TMA Slides" -msgstr "" - -#: backend/hp5590.c:89 -#, no-c-format -msgid "TMA Negatives" -msgstr "" - -#: backend/hp5590.c:92 -#, no-c-format -msgid "Color (48 bits)" -msgstr "" - -#: backend/hp5590.c:95 -#, no-c-format -msgid "Extend lamp timeout" -msgstr "" - -#: backend/hp5590.c:96 -#, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "" - -#: backend/hp5590.c:98 -#, no-c-format -msgid "Wait for button" -msgstr "" - -#: backend/hp5590.c:99 -#, no-c-format -msgid "Waits for button before scanning" -msgstr "" - -#: backend/hp-option.c:2984 -#, no-c-format -msgid "Advanced Options" -msgstr "" - -#: backend/hp-option.c:3041 -#, no-c-format -msgid "Coarse" -msgstr "" - -#: backend/hp-option.c:3042 -#, no-c-format -msgid "Fine" -msgstr "" - -#: backend/hp-option.c:3043 -#, no-c-format -msgid "Bayer" -msgstr "" - -#: backend/hp-option.c:3046 backend/hp-option.c:3097 -#, no-c-format -msgid "Custom" -msgstr "" - -#: backend/hp-option.c:3087 backend/hp-option.c:3143 backend/hp-option.c:3158 -#, no-c-format -msgid "Auto" -msgstr "" - -#: backend/hp-option.c:3088 -#, no-c-format -msgid "NTSC RGB" -msgstr "" - -#: backend/hp-option.c:3089 -#, no-c-format -msgid "XPA RGB" -msgstr "" - -#: backend/hp-option.c:3090 -#, no-c-format -msgid "Pass-through" -msgstr "" - -#: backend/hp-option.c:3091 -#, no-c-format -msgid "NTSC Gray" -msgstr "" - -#: backend/hp-option.c:3092 -#, no-c-format -msgid "XPA Gray" -msgstr "" - -#: backend/hp-option.c:3144 -#, no-c-format -msgid "Slow" -msgstr "" - -#: backend/hp-option.c:3145 backend/hp-option.c:3252 backend/kvs40xx_opt.c:230 -#: backend/matsushita.c:244 backend/mustek.c:149 backend/plustek.c:234 -#: backend/plustek_pp.c:203 backend/u12.c:155 -#, no-c-format -msgid "Normal" -msgstr "" - -#: backend/hp-option.c:3146 -#, no-c-format -msgid "Fast" -msgstr "" - -#: backend/hp-option.c:3147 -#, no-c-format -msgid "Extra Fast" -msgstr "" - -#: backend/hp-option.c:3160 -#, no-c-format -msgid "2-pixel" -msgstr "" - -#: backend/hp-option.c:3161 -#, no-c-format -msgid "4-pixel" -msgstr "" - -#: backend/hp-option.c:3162 -#, no-c-format -msgid "8-pixel" -msgstr "" - -#: backend/hp-option.c:3173 -#, no-c-format -msgid "Print" -msgstr "" - -#: backend/hp-option.c:3175 -#, no-c-format -msgid "Film-strip" -msgstr "" - -#: backend/hp-option.c:3254 -#, no-c-format -msgid "XPA" -msgstr "" - -#: backend/hp-option.c:3328 backend/hp-option.c:3341 -#, no-c-format -msgid "Conditional" -msgstr "" - -#: backend/hp-option.c:3414 -#, no-c-format -msgid "Experiment" -msgstr "" - -#: backend/hp-option.h:60 -#, no-c-format -msgid "Sharpening" -msgstr "" - -#: backend/hp-option.h:61 -#, no-c-format -msgid "Set sharpening value." -msgstr "" - -#: backend/hp-option.h:66 -#, no-c-format -msgid "Auto Threshold" -msgstr "" - -#: backend/hp-option.h:68 -#, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "" - -#: backend/hp-option.h:74 -#, no-c-format -msgid "Select smoothing filter." -msgstr "" - -#: backend/hp-option.h:79 -#, no-c-format -msgid "Unload media after scan" -msgstr "" - -#: backend/hp-option.h:80 -#, no-c-format -msgid "Unloads the media after a scan." -msgstr "" - -#: backend/hp-option.h:85 -#, no-c-format -msgid "Change document" -msgstr "" - -#: backend/hp-option.h:86 -#, no-c-format -msgid "Change Document." -msgstr "" - -#: backend/hp-option.h:91 -#, no-c-format -msgid "Unload" -msgstr "" - -#: backend/hp-option.h:92 -#, no-c-format -msgid "Unload Document." -msgstr "" - -#: backend/hp-option.h:98 -#, no-c-format -msgid "Start calibration process." -msgstr "" - -#: backend/hp-option.h:103 -#, no-c-format -msgid "Media" -msgstr "" - -#: backend/hp-option.h:104 -#, no-c-format -msgid "Set type of media." -msgstr "" - -#: backend/hp-option.h:109 -#, no-c-format -msgid "Exposure time" -msgstr "" - -#: backend/hp-option.h:111 -#, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested use is " -"175% for prints, 150% for normal slides and \"Negative\" for negative film. " -"For dark (underexposed) images you can increase this value." -msgstr "" - -#: backend/hp-option.h:119 backend/hp-option.h:126 -#, no-c-format -msgid "Color Matrix" -msgstr "" - -#: backend/hp-option.h:121 -#, no-c-format -msgid "Set the scanners color matrix." -msgstr "" - -#: backend/hp-option.h:127 -#, no-c-format -msgid "Custom color matrix." -msgstr "" - -#: backend/hp-option.h:132 -#, no-c-format -msgid "Mono Color Matrix" -msgstr "" - -#: backend/hp-option.h:133 -#, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "" - -#: backend/hp-option.h:138 -#, no-c-format -msgid "Mirror horizontal" -msgstr "" - -#: backend/hp-option.h:139 -#, no-c-format -msgid "Mirror image horizontally." -msgstr "" - -#: backend/hp-option.h:144 -#, no-c-format -msgid "Mirror vertical" -msgstr "" - -#: backend/hp-option.h:145 -#, no-c-format -msgid "Mirror image vertically." -msgstr "" - -#: backend/hp-option.h:150 -#, no-c-format -msgid "Update options" -msgstr "" - -#: backend/hp-option.h:151 -#, no-c-format -msgid "Update options." -msgstr "" - -#: backend/hp-option.h:156 -#, no-c-format -msgid "8 bit output" -msgstr "" - -#: backend/hp-option.h:158 -#, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." -msgstr "" - -#: backend/hp-option.h:164 -#, no-c-format -msgid "Front button wait" -msgstr "" - -#: backend/hp-option.h:165 -#, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "" - -#: backend/hp-option.h:172 -#, no-c-format -msgid "Shut off lamp" -msgstr "" - -#: backend/hp-option.h:173 -#, no-c-format -msgid "Shut off scanner lamp." -msgstr "" - -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 -#: backend/matsushita.h:219 -#, no-c-format -msgid "Paper size" -msgstr "" - -#: backend/kvs1025.h:52 backend/kvs1025.h:67 backend/matsushita.h:220 -#: backend/matsushita.h:227 -#, no-c-format -msgid "Automatic separation" -msgstr "" - -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 -#, no-c-format -msgid "Landscape" -msgstr "" - -#: backend/kvs1025.h:54 backend/kvs40xx_opt.c:693 -#, no-c-format -msgid "Inverse Image" -msgstr "" - -#: backend/kvs1025.h:56 backend/kvs40xx_opt.c:404 -#, no-c-format -msgid "Long paper mode" -msgstr "" - -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 -#, no-c-format -msgid "Length control mode" -msgstr "" - -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 -#, no-c-format -msgid "Manual feed mode" -msgstr "" - -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 -#, no-c-format -msgid "Manual feed timeout" -msgstr "" - -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 -#, no-c-format -msgid "Double feed detection" -msgstr "" - -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 -#: backend/matsushita.h:223 -#, no-c-format -msgid "Enable Duplex (Dual-Sided) Scanning" -msgstr "" - -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 -#: backend/matsushita.h:225 -#, no-c-format -msgid "Physical size of the paper in the ADF" -msgstr "" - -#: backend/kvs1025_opt.c:39 -#, no-c-format -msgid "bw" -msgstr "" - -#: backend/kvs1025_opt.c:40 -#, no-c-format -msgid "halftone" -msgstr "" - -#: backend/kvs1025_opt.c:41 -#, no-c-format -msgid "gray" -msgstr "" - -#: backend/kvs1025_opt.c:42 -#, no-c-format -msgid "color" -msgstr "" - -#: backend/kvs1025_opt.c:61 backend/kvs40xx_opt.c:108 -#: backend/kvs40xx_opt.c:1047 -#, no-c-format -msgid "adf" -msgstr "" - -#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 backend/kvs40xx_opt.c:109 -#, no-c-format -msgid "fb" -msgstr "" - -#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 backend/kvs40xx_opt.c:101 -#, no-c-format -msgid "single" -msgstr "" - -#: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 -#: backend/kvs40xx_opt.c:1087 -#, no-c-format -msgid "continuous" -msgstr "" - -#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 backend/kvs40xx_opt.c:115 -#, no-c-format -msgid "off" -msgstr "" - -#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 backend/kvs40xx_opt.c:116 -#, no-c-format -msgid "wait_doc" -msgstr "" - -#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 backend/kvs40xx_opt.c:118 -#, no-c-format -msgid "wait_key" -msgstr "" - -#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 backend/kvs40xx_opt.c:124 -#: backend/kvs40xx_opt.c:141 -#, no-c-format -msgid "user_def" -msgstr "" - -#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 backend/kvs40xx_opt.c:125 -#: backend/kvs40xx_opt.c:142 -#, no-c-format -msgid "business_card" -msgstr "" - -#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 -#: backend/kvs40xx_opt.c:143 -#, no-c-format -msgid "Check" -msgstr "" - -#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 -#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 -#, no-c-format -msgid "A5" -msgstr "" - -#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 -#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 -#, no-c-format -msgid "A6" -msgstr "" - -#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 -#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 -#, no-c-format -msgid "B5" -msgstr "" - -#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 -#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 -#, no-c-format -msgid "B6" -msgstr "" - -#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 -#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 -#, no-c-format -msgid "Legal" -msgstr "" - -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 -#, no-c-format -msgid "bayer_64" -msgstr "" - -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 -#, no-c-format -msgid "bayer_16" -msgstr "" - -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 -#, no-c-format -msgid "halftone_32" -msgstr "" - -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 -#, no-c-format -msgid "halftone_64" -msgstr "" - -#: backend/kvs1025_opt.c:153 -#, no-c-format -msgid "diffusion" -msgstr "" - -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 -#: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 -#: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 -#, no-c-format -msgid "normal" -msgstr "" - -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 -#, no-c-format -msgid "light" -msgstr "" - -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 -#, no-c-format -msgid "dark" -msgstr "" - -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 -#, no-c-format -msgid "From scanner" -msgstr "" - -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 -#: backend/matsushita.c:177 -#, no-c-format -msgid "From paper" -msgstr "" - -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 -#, no-c-format -msgid "default" -msgstr "" - -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 -#: backend/kvs40xx_opt.c:209 -#, no-c-format -msgid "smooth" -msgstr "" - -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 -#: backend/kvs40xx_opt.c:205 -#, no-c-format -msgid "none" -msgstr "" - -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 -#: backend/kvs40xx_opt.c:206 -#, no-c-format -msgid "low" -msgstr "" - -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 -#: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 -#, no-c-format -msgid "medium" -msgstr "" - -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 -#: backend/kvs40xx_opt.c:208 -#, no-c-format -msgid "high" -msgstr "" - -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 -#: backend/kvs40xx_opt.c:216 -#, no-c-format -msgid "crt" -msgstr "" - -#: backend/kvs1025_opt.c:230 -#, no-c-format -msgid "linier" -msgstr "" - -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 -#: backend/kvs40xx_opt.c:224 -#, no-c-format -msgid "red" -msgstr "" - -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 -#: backend/kvs40xx_opt.c:225 -#, no-c-format -msgid "green" -msgstr "" - -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 -#: backend/kvs40xx_opt.c:226 -#, no-c-format -msgid "blue" -msgstr "" - -#: backend/kvs1025_opt.c:562 -#, no-c-format -msgid "Sets the scan source" -msgstr "" - -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 -#: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 -#, no-c-format -msgid "Feeder mode" -msgstr "" - -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 -#: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 -#, no-c-format -msgid "Sets the feeding mode" -msgstr "" - -#: backend/kvs1025_opt.c:584 -#, no-c-format -msgid "Enable/Disable long paper mode" -msgstr "" - -#: backend/kvs1025_opt.c:593 -#, no-c-format -msgid "Enable/Disable length control mode" -msgstr "" - -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 -#: backend/kvs40xx_opt.c:417 -#, no-c-format -msgid "Sets the manual feed mode" -msgstr "" - -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 -#: backend/kvs40xx_opt.c:429 -#, no-c-format -msgid "Sets the manual feed timeout in seconds" -msgstr "" - -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 -#: backend/kvs40xx_opt.c:442 -#, no-c-format -msgid "Enable/Disable double feed detection" -msgstr "" - -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 -#: backend/kvs40xx_opt.c:497 -#, no-c-format -msgid "fit-to-page" -msgstr "" - -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 -#: backend/kvs40xx_opt.c:498 -#, no-c-format -msgid "Fit to page" -msgstr "" - -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 -#: backend/kvs40xx_opt.c:499 -#, no-c-format -msgid "Scanner shrinks image to fit scanned page" -msgstr "" - -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 -#: backend/kvs40xx_opt.c:533 -#, no-c-format -msgid "Set paper position : true for landscape, false for portrait" -msgstr "" - -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 -#, no-c-format -msgid "Automatic threshold" -msgstr "" - -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 -#, no-c-format -msgid "" -"Automatically sets brightness, contrast, white level, gamma, noise reduction " -"and image emphasis" -msgstr "" - -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 -#: backend/matsushita.c:1275 -#, no-c-format -msgid "Noise reduction" -msgstr "" - -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 -#: backend/matsushita.c:1277 -#, no-c-format -msgid "Reduce the isolated dot noise" -msgstr "" - -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 -#: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 -#, no-c-format -msgid "Image emphasis" -msgstr "" - -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 -#: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 -#, no-c-format -msgid "Sets the image emphasis" -msgstr "" - -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 -#: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 -#, no-c-format -msgid "Gamma" -msgstr "" - -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 -#: backend/kvs40xx_opt.c:681 -#, no-c-format -msgid "Lamp color" -msgstr "" - -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 -#: backend/kvs40xx_opt.c:682 -#, no-c-format -msgid "Sets the lamp color (color dropout)" -msgstr "" - -#: backend/kvs1025_opt.c:832 -#, no-c-format -msgid "Inverse image in B/W or halftone mode" -msgstr "" - -#: backend/kvs1025_opt.c:840 -#, no-c-format -msgid "Mirror image (left/right flip)" -msgstr "" - -#: backend/kvs1025_opt.c:847 -#, no-c-format -msgid "jpeg compression" -msgstr "" - -#: backend/kvs1025_opt.c:850 -#, no-c-format -msgid "JPEG Image Compression with Q parameter, '0' - no compression" -msgstr "" - -#: backend/kvs1025_opt.c:860 -#, no-c-format -msgid "Rotate image clockwise" -msgstr "" - -#: backend/kvs1025_opt.c:862 -#, no-c-format -msgid "Request driver to rotate pages by a fixed amount" -msgstr "" - -#: backend/kvs1025_opt.c:874 -#, no-c-format -msgid "Request driver to rotate skewed pages digitally" -msgstr "" - -#: backend/kvs1025_opt.c:883 -#, no-c-format -msgid "Maximum diameter of lone dots to remove from scan" -msgstr "" - -#: backend/kvs1025_opt.c:902 -#, no-c-format -msgid "Software automatic cropping" -msgstr "" - -#: backend/kvs1025_opt.c:904 -#, no-c-format -msgid "Request driver to remove border from pages digitally" -msgstr "" - -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 -#, no-c-format -msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." -msgstr "" - -#: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 -#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 backend/microtek2.h:640 -#, no-c-format -msgid "Gamma correction" -msgstr "" - -#: backend/kvs40xx_opt.c:117 -#, no-c-format -msgid "wait_doc_hopper_up" -msgstr "" - -#: backend/kvs40xx_opt.c:127 -#, no-c-format -msgid "A3" -msgstr "" - -#: backend/kvs40xx_opt.c:132 -#, no-c-format -msgid "Double letter 11x17 in" -msgstr "" - -#: backend/kvs40xx_opt.c:133 -#, no-c-format -msgid "B4" -msgstr "" - -#: backend/kvs40xx_opt.c:231 -#, no-c-format -msgid "High sensivity" -msgstr "" - -#: backend/kvs40xx_opt.c:232 -#, no-c-format -msgid "Low sensivity" -msgstr "" - -#: backend/kvs40xx_opt.c:243 -#, no-c-format -msgid "err_diffusion" -msgstr "" - -#: backend/kvs40xx_opt.c:249 -#, no-c-format -msgid "No detection" -msgstr "" - -#: backend/kvs40xx_opt.c:250 -#, no-c-format -msgid "Normal mode" -msgstr "" - -#: backend/kvs40xx_opt.c:251 -#, no-c-format -msgid "Enhanced mode" -msgstr "" - -#: backend/kvs40xx_opt.c:405 -#, no-c-format -msgid "" -"Long Paper Mode is a mode that the scanner reads the image after it divides " -"long paper by the length which is set in Document Size option." -msgstr "" - -#: backend/kvs40xx_opt.c:449 -#, no-c-format -msgid "Double feed detector sensitivity" -msgstr "" - -#: backend/kvs40xx_opt.c:450 -#, no-c-format -msgid "Set the double feed detector sensitivity" -msgstr "" - -#: backend/kvs40xx_opt.c:461 backend/kvs40xx_opt.c:462 -#, no-c-format -msgid "Do not stop after double feed detection" -msgstr "" - -#: backend/kvs40xx_opt.c:470 backend/kvs40xx_opt.c:471 -#, no-c-format -msgid "Ignore left double feed sensor" -msgstr "" - -#: backend/kvs40xx_opt.c:479 backend/kvs40xx_opt.c:480 -#, no-c-format -msgid "Ignore center double feed sensor" -msgstr "" - -#: backend/kvs40xx_opt.c:488 backend/kvs40xx_opt.c:489 -#, no-c-format -msgid "Ignore right double feed sensor" -msgstr "" - -#: backend/kvs40xx_opt.c:642 -#, no-c-format -msgid "Automatic threshold mode" -msgstr "" - -#: backend/kvs40xx_opt.c:643 -#, no-c-format -msgid "Sets the automatic threshold mode" -msgstr "" - -#: backend/kvs40xx_opt.c:694 -#, no-c-format -msgid "Inverse image in B/W mode" -msgstr "" - -#: backend/kvs40xx_opt.c:715 -#, no-c-format -msgid "JPEG compression" -msgstr "" - -#: backend/kvs40xx_opt.c:718 -#, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" -msgstr "" - -#: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 -#, no-c-format -msgid "Detect stapled document" -msgstr "" - -#: backend/kvs40xx_opt.c:776 -#, no-c-format -msgid "chroma of red" -msgstr "" - -#: backend/kvs40xx_opt.c:777 -#, no-c-format -msgid "Set chroma of red" -msgstr "" - -#: backend/kvs40xx_opt.c:787 -#, no-c-format -msgid "chroma of blue" -msgstr "" - -#: backend/kvs40xx_opt.c:788 -#, no-c-format -msgid "Set chroma of blue" -msgstr "" - -#: backend/kvs40xx_opt.c:798 backend/kvs40xx_opt.c:799 -#, no-c-format -msgid "Skew adjustment" -msgstr "" - -#: backend/kvs40xx_opt.c:808 -#, no-c-format -msgid "Stop scanner when a paper have been skewed" -msgstr "" - -#: backend/kvs40xx_opt.c:809 -#, no-c-format -msgid "Scanner will be stop when a paper have been skewed" -msgstr "" - -#: backend/kvs40xx_opt.c:816 -#, no-c-format -msgid "Crop actual image area" -msgstr "" - -#: backend/kvs40xx_opt.c:817 -#, no-c-format -msgid "Scanner automatically detect image area and crop it" -msgstr "" - -#: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" - -#: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 -#, no-c-format -msgid "Addition of space in top position" -msgstr "" - -#: backend/kvs40xx_opt.c:842 backend/kvs40xx_opt.c:843 -#, no-c-format -msgid "Addition of space in bottom position" -msgstr "" - -#: backend/leo.c:110 -#, no-c-format -msgid "Diamond" -msgstr "" - -#: backend/leo.c:111 -#, no-c-format -msgid "8x8 Coarse Fatting" -msgstr "" - -#: backend/leo.c:112 -#, no-c-format -msgid "8x8 Fine Fatting" -msgstr "" - -#: backend/leo.c:113 -#, no-c-format -msgid "8x8 Bayer" -msgstr "" - -#: backend/leo.c:114 -#, no-c-format -msgid "8x8 Vertical Line" -msgstr "" - -#: backend/lexmark.c:273 backend/umax_pp.c:715 -#, no-c-format -msgid "Gain" -msgstr "" - -#: backend/lexmark.c:274 backend/umax_pp.c:716 -#, no-c-format -msgid "Color channels gain settings" -msgstr "" - -#: backend/lexmark.c:283 backend/umax_pp.c:723 -#, no-c-format -msgid "Gray gain" -msgstr "" - -#: backend/lexmark.c:284 backend/umax_pp.c:724 -#, no-c-format -msgid "Sets gray channel gain" -msgstr "" - -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 -#, no-c-format -msgid "Red gain" -msgstr "" - -#: backend/lexmark.c:298 backend/umax_pp.c:736 -#, no-c-format -msgid "Sets red channel gain" -msgstr "" - -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 -#, no-c-format -msgid "Green gain" -msgstr "" - -#: backend/lexmark.c:312 backend/umax_pp.c:748 -#, no-c-format -msgid "Sets green channel gain" -msgstr "" - -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 -#, no-c-format -msgid "Blue gain" -msgstr "" - -#: backend/lexmark.c:326 backend/umax_pp.c:760 -#, no-c-format -msgid "Sets blue channel gain" -msgstr "" - -#: backend/matsushita.c:139 -#, no-c-format -msgid "Bayer Dither 16" -msgstr "" - -#: backend/matsushita.c:140 -#, no-c-format -msgid "Bayer Dither 64" -msgstr "" - -#: backend/matsushita.c:141 -#, no-c-format -msgid "Halftone Dot 32" -msgstr "" - -#: backend/matsushita.c:142 -#, no-c-format -msgid "Halftone Dot 64" -msgstr "" - -#: backend/matsushita.c:143 -#, no-c-format -msgid "Error Diffusion" -msgstr "" - -#: backend/matsushita.c:160 -#, no-c-format -msgid "Mode 1" -msgstr "" - -#: backend/matsushita.c:161 -#, no-c-format -msgid "Mode 2" -msgstr "" - -#: backend/matsushita.c:162 -#, no-c-format -msgid "Mode 3" -msgstr "" - -#: backend/matsushita.c:176 -#, no-c-format -msgid "From white stick" -msgstr "" - -#: backend/matsushita.c:212 -#, no-c-format -msgid "Smooth" -msgstr "" - -#: backend/matsushita.c:214 backend/matsushita.c:229 -#, no-c-format -msgid "Low" -msgstr "" - -#: backend/matsushita.c:215 backend/matsushita.c:230 backend/matsushita.c:1296 -#, no-c-format -msgid "Medium" -msgstr "" - -#: backend/matsushita.c:216 backend/matsushita.c:231 -#, no-c-format -msgid "High" -msgstr "" - -#: backend/matsushita.c:245 -#, no-c-format -msgid "CRT" -msgstr "" - -#: backend/matsushita.c:257 -#, no-c-format -msgid "One page" -msgstr "" - -#: backend/matsushita.c:258 -#, no-c-format -msgid "All pages" -msgstr "" - -#: backend/matsushita.c:1034 backend/plustek.c:1333 -#, no-c-format -msgid "sheetfed scanner" -msgstr "" - -#: backend/matsushita.h:209 -#, no-c-format -msgid "Grayscale 4 bits" -msgstr "" - -#: backend/matsushita.h:210 -#, no-c-format -msgid "Grayscale 8 bits" -msgstr "" - -#: backend/microtek2.h:601 -#, no-c-format -msgid "Shadow, midtone, highlight, exposure time" -msgstr "" - -#: backend/microtek2.h:603 -#, no-c-format -msgid "Special options" -msgstr "" - -#: backend/microtek2.h:604 -#, no-c-format -msgid "Color balance" -msgstr "" - -#: backend/microtek2.h:607 -#, no-c-format -msgid "Disable backtracking" -msgstr "" - -#: backend/microtek2.h:608 -#, no-c-format -msgid "If checked the scanner does not perform backtracking" -msgstr "" - -#: backend/microtek2.h:612 -#, no-c-format -msgid "Toggle lamp of flatbed" -msgstr "" - -#: backend/microtek2.h:613 -#, no-c-format -msgid "Toggles the lamp of the flatbed" -msgstr "" - -#: backend/microtek2.h:616 -#, no-c-format -msgid "Calibration by backend" -msgstr "" - -#: backend/microtek2.h:617 -#, no-c-format -msgid "If checked the color calibration before a scan is done by the backend" -msgstr "" - -#: backend/microtek2.h:621 -#, no-c-format -msgid "Use the lightlid-35mm adapter" -msgstr "" - -#: backend/microtek2.h:622 -#, no-c-format -msgid "This option turns off the lamp of the flatbed during a scan" -msgstr "" - -#: backend/microtek2.h:626 backend/snapscan-options.c:421 -#, no-c-format -msgid "Quality scan" -msgstr "" - -#: backend/microtek2.h:627 backend/snapscan-options.c:422 -#, no-c-format -msgid "Highest quality but lower speed" -msgstr "" - -#: backend/microtek2.h:630 -#, no-c-format -msgid "Fast scan" -msgstr "" - -#: backend/microtek2.h:631 -#, no-c-format -msgid "Highest speed but lower quality" -msgstr "" - -#: backend/microtek2.h:634 -#, no-c-format -msgid "Automatic adjustment of threshold" -msgstr "" - -#: backend/microtek2.h:635 -#, no-c-format -msgid "" -"If checked the backend automatically tries to determine an optimal value for " -"the threshold." -msgstr "" - -#: backend/microtek2.h:641 -#, no-c-format -msgid "Selects the gamma correction mode." -msgstr "" - -#: backend/microtek2.h:644 -#, no-c-format -msgid "Bind gamma" -msgstr "" - -#: backend/microtek2.h:645 -#, no-c-format -msgid "Use same gamma values for all colour channels." -msgstr "" - -#: backend/microtek2.h:649 -#, no-c-format -msgid "Scalar gamma" -msgstr "" - -#: backend/microtek2.h:650 -#, no-c-format -msgid "Selects a value for scalar gamma correction." -msgstr "" - -#: backend/microtek2.h:654 -#, no-c-format -msgid "Scalar gamma red" -msgstr "" - -#: backend/microtek2.h:655 -#, no-c-format -msgid "Selects a value for scalar gamma correction (red channel)" -msgstr "" - -#: backend/microtek2.h:659 -#, no-c-format -msgid "Scalar gamma green" -msgstr "" - -#: backend/microtek2.h:660 -#, no-c-format -msgid "Selects a value for scalar gamma correction (green channel)" -msgstr "" - -#: backend/microtek2.h:664 -#, no-c-format -msgid "Scalar gamma blue" -msgstr "" - -#: backend/microtek2.h:665 -#, no-c-format -msgid "Selects a value for scalar gamma correction (blue channel)" -msgstr "" - -#: backend/microtek2.h:669 -#, no-c-format -msgid "Channel" -msgstr "" - -#: backend/microtek2.h:670 -#, no-c-format -msgid "" -"Selects the colour band, \"Master\" means that all colours are affected." -msgstr "" - -#: backend/microtek2.h:674 -#, no-c-format -msgid "Midtone" -msgstr "" - -#: backend/microtek2.h:675 -#, no-c-format -msgid "Selects which radiance level should be considered \"50 % gray\"." -msgstr "" - -#: backend/microtek2.h:679 -#, no-c-format -msgid "Midtone for red" -msgstr "" - -#: backend/microtek2.h:680 -#, no-c-format -msgid "Selects which radiance level should be considered \"50 % red\"." -msgstr "" - -#: backend/microtek2.h:684 -#, no-c-format -msgid "Midtone for green" -msgstr "" - -#: backend/microtek2.h:685 -#, no-c-format -msgid "Selects which radiance level should be considered \"50 % green\"." -msgstr "" - -#: backend/microtek2.h:689 -#, no-c-format -msgid "Midtone for blue" -msgstr "" - -#: backend/microtek2.h:690 -#, no-c-format -msgid "Selects which radiance level should be considered \"50 % blue\"." -msgstr "" - -#: backend/microtek2.h:694 -#, no-c-format -msgid "Red balance" -msgstr "" - -#: backend/microtek2.h:695 -#, no-c-format -msgid "Balance factor for red. A value of 100% means no correction." -msgstr "" - -#: backend/microtek2.h:699 -#, no-c-format -msgid "Green balance" -msgstr "" - -#: backend/microtek2.h:700 -#, no-c-format -msgid "Balance factor for green. A value of 100% means no correction." -msgstr "" - -#: backend/microtek2.h:704 -#, no-c-format -msgid "Blue balance" -msgstr "" - -#: backend/microtek2.h:705 -#, no-c-format -msgid "Balance factor for blue. A value of 100% means no correction." -msgstr "" - -#: backend/microtek2.h:709 -#, no-c-format -msgid "Firmware balance" -msgstr "" - -#: backend/microtek2.h:710 -#, no-c-format -msgid "Sets the color balance values to the firmware provided values." -msgstr "" - -#: backend/mustek.c:149 -#, no-c-format -msgid "Slowest" -msgstr "" - -#: backend/mustek.c:149 -#, no-c-format -msgid "Slower" -msgstr "" - -#: backend/mustek.c:150 -#, no-c-format -msgid "Faster" -msgstr "" - -#: backend/mustek.c:150 -#, no-c-format -msgid "Fastest" -msgstr "" - -#: backend/mustek.c:177 -#, no-c-format -msgid "8x8 coarse" -msgstr "" - -#: backend/mustek.c:177 -#, no-c-format -msgid "8x8 normal" -msgstr "" - -#: backend/mustek.c:177 -#, no-c-format -msgid "8x8 fine" -msgstr "" - -#: backend/mustek.c:178 -#, no-c-format -msgid "8x8 very fine" -msgstr "" - -#: backend/mustek.c:178 -#, no-c-format -msgid "6x6 normal" -msgstr "" - -#: backend/mustek.c:179 -#, no-c-format -msgid "5x5 coarse" -msgstr "" - -#: backend/mustek.c:179 -#, no-c-format -msgid "5x5 fine" -msgstr "" - -#: backend/mustek.c:179 -#, no-c-format -msgid "4x4 coarse" -msgstr "" - -#: backend/mustek.c:180 -#, no-c-format -msgid "4x4 normal" -msgstr "" - -#: backend/mustek.c:180 -#, no-c-format -msgid "4x4 fine" -msgstr "" - -#: backend/mustek.c:180 -#, no-c-format -msgid "3x3 normal" -msgstr "" - -#: backend/mustek.c:181 -#, no-c-format -msgid "2x2 normal" -msgstr "" - -#: backend/mustek.c:181 -#, no-c-format -msgid "8x8 custom" -msgstr "" - -#: backend/mustek.c:182 -#, no-c-format -msgid "6x6 custom" -msgstr "" - -#: backend/mustek.c:183 -#, no-c-format -msgid "5x5 custom" -msgstr "" - -#: backend/mustek.c:183 -#, no-c-format -msgid "4x4 custom" -msgstr "" - -#: backend/mustek.c:184 -#, no-c-format -msgid "3x3 custom" -msgstr "" - -#: backend/mustek.c:185 -#, no-c-format -msgid "2x2 custom" -msgstr "" - -#: backend/mustek.c:4235 -#, no-c-format -msgid "Fast gray mode" -msgstr "" - -#: backend/mustek.c:4236 -#, no-c-format -msgid "Scan in fast gray mode (lower quality)." -msgstr "" - -#: backend/mustek.c:4333 -#, no-c-format -msgid "" -"Request that all previews are done in the fastest (low-quality) mode. This " -"may be a non-color mode or a low resolution mode." -msgstr "" - -#: backend/mustek.c:4341 -#, no-c-format -msgid "Lamp off time (minutes)" -msgstr "" - -#: backend/mustek.c:4342 -#, no-c-format -msgid "Set the time (in minutes) after which the lamp is shut off." -msgstr "" - -#: backend/mustek.c:4353 -#, no-c-format -msgid "Turn lamp off" -msgstr "" - -#: backend/mustek.c:4354 -#, no-c-format -msgid "Turns the lamp off immediately." -msgstr "" - -#: backend/mustek.c:4431 -#, no-c-format -msgid "Red brightness" -msgstr "" - -#: backend/mustek.c:4432 -#, no-c-format -msgid "Controls the brightness of the red channel of the acquired image." -msgstr "" - -#: backend/mustek.c:4444 -#, no-c-format -msgid "Green brightness" -msgstr "" - -#: backend/mustek.c:4445 -#, no-c-format -msgid "Controls the brightness of the green channel of the acquired image." -msgstr "" - -#: backend/mustek.c:4457 -#, no-c-format -msgid "Blue brightness" -msgstr "" - -#: backend/mustek.c:4458 -#, no-c-format -msgid "Controls the brightness of the blue channel of the acquired image." -msgstr "" - -#: backend/mustek.c:4483 -#, no-c-format -msgid "Contrast red channel" -msgstr "" - -#: backend/mustek.c:4484 -#, no-c-format -msgid "Controls the contrast of the red channel of the acquired image." -msgstr "" - -#: backend/mustek.c:4496 -#, no-c-format -msgid "Contrast green channel" -msgstr "" - -#: backend/mustek.c:4497 -#, no-c-format -msgid "Controls the contrast of the green channel of the acquired image." -msgstr "" - -#: backend/mustek.c:4509 -#, no-c-format -msgid "Contrast blue channel" -msgstr "" - -#: backend/mustek.c:4510 -#, no-c-format -msgid "Controls the contrast of the blue channel of the acquired image." -msgstr "" - -#: backend/mustek_usb2.c:105 -#, no-c-format -msgid "Color48" -msgstr "" - -#: backend/mustek_usb2.c:106 backend/mustek_usb2.c:114 -#, no-c-format -msgid "Color24" -msgstr "" - -#: backend/mustek_usb2.c:107 -#, no-c-format -msgid "Gray16" -msgstr "" - -#: backend/mustek_usb2.c:108 -#, no-c-format -msgid "Gray8" -msgstr "" - -#: backend/mustek_usb2.c:119 -#, no-c-format -msgid "Reflective" -msgstr "" - -#: backend/mustek_usb2.c:120 -#, no-c-format -msgid "Positive" -msgstr "" - -#: backend/mustek_usb2.c:421 -#, no-c-format -msgid "" -"Warm-up until the lamp's brightness is constant instead of insisting on 40 " -"seconds warm-up time." -msgstr "" - -#: backend/pixma.c:378 -#, no-c-format -msgid "Negative color" -msgstr "" - -#: backend/pixma.c:383 -#, no-c-format -msgid "Negative gray" -msgstr "" - -#: backend/pixma.c:396 -#, no-c-format -msgid "48 bits color" -msgstr "" - -#: backend/pixma.c:401 -#, no-c-format -msgid "16 bits gray" -msgstr "" - -#: backend/pixma_sane_options.c:84 -#, no-c-format -msgid "" -"Selects the scan source (such as a document-feeder). Set source before mode " -"and resolution. Resets mode and resolution to auto values." -msgstr "" - -#: backend/pixma_sane_options.c:98 -#, no-c-format -msgid "Button-controlled scan" -msgstr "" - -#: backend/pixma_sane_options.c:99 -#, no-c-format -msgid "" -"When enabled, scan process will not start immediately. To proceed, press " -"\"SCAN\" button (for MP150) or \"COLOR\" button (for other models). To " -"cancel, press \"GRAY\" button." -msgstr "" - -#: backend/pixma_sane_options.c:232 -#, no-c-format -msgid "Update button state" -msgstr "" - -#: backend/pixma_sane_options.c:244 -#, no-c-format -msgid "Button 1" -msgstr "" - -#: backend/pixma_sane_options.c:258 -#, no-c-format -msgid "Button 2" -msgstr "" - -#: backend/pixma_sane_options.c:272 -#, no-c-format -msgid "Type of original to scan" -msgstr "" - -#: backend/pixma_sane_options.c:286 -#, no-c-format -msgid "Target operation type" -msgstr "" - -#: backend/pixma_sane_options.c:348 -#, no-c-format -msgid "ADF Waiting Time" -msgstr "" - -#: backend/pixma_sane_options.c:349 -#, no-c-format -msgid "" -"When set, the scanner searches the waiting time in seconds for a new " -"document inserted into the automatic document feeder." -msgstr "" - -#: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 -#, no-c-format -msgid "Transparency" -msgstr "" - -#: backend/plustek.c:913 -#, no-c-format -msgid "Device-Settings" -msgstr "" - -#: backend/plustek.c:920 -#, no-c-format -msgid "Lampswitch" -msgstr "" - -#: backend/plustek.c:921 -#, no-c-format -msgid "Manually switching the lamp(s)." -msgstr "" - -#: backend/plustek.c:926 -#, no-c-format -msgid "Lamp off during dark calibration" -msgstr "" - -#: backend/plustek.c:927 -#, no-c-format -msgid "Always switches lamp off when doing dark calibration." -msgstr "" - -#: backend/plustek.c:935 -#, no-c-format -msgid "Calibration data cache" -msgstr "" - -#: backend/plustek.c:936 -#, no-c-format -msgid "Enables or disables calibration data cache." -msgstr "" - -#: backend/plustek.c:942 -#, no-c-format -msgid "Performs calibration" -msgstr "" - -#: backend/plustek.c:959 -#, no-c-format -msgid "Speedup sensor" -msgstr "" - -#: backend/plustek.c:960 -#, no-c-format -msgid "Enables or disables speeding up sensor movement." -msgstr "" - -#: backend/plustek.c:974 -#, no-c-format -msgid "Warmup-time" -msgstr "" - -#: backend/plustek.c:975 -#, no-c-format -msgid "Warmup-time in seconds." -msgstr "" - -#: backend/plustek.c:987 -#, no-c-format -msgid "Lampoff-time" -msgstr "" - -#: backend/plustek.c:988 -#, no-c-format -msgid "Lampoff-time in seconds." -msgstr "" - -#: backend/plustek.c:995 -#, no-c-format -msgid "Analog frontend" -msgstr "" - -#: backend/plustek.c:1002 -#, no-c-format -msgid "Red gain value of the AFE" -msgstr "" - -#: backend/plustek.c:1009 backend/umax_pp.c:792 -#, no-c-format -msgid "Red offset" -msgstr "" - -#: backend/plustek.c:1010 -#, no-c-format -msgid "Red offset value of the AFE" -msgstr "" - -#: backend/plustek.c:1018 -#, no-c-format -msgid "Green gain value of the AFE" -msgstr "" - -#: backend/plustek.c:1026 -#, no-c-format -msgid "Green offset value of the AFE" -msgstr "" - -#: backend/plustek.c:1034 -#, no-c-format -msgid "Blue gain value of the AFE" -msgstr "" - -#: backend/plustek.c:1042 -#, no-c-format -msgid "Blue offset value of the AFE" -msgstr "" - -#: backend/plustek.c:1049 -#, no-c-format -msgid "Red lamp off" -msgstr "" - -#: backend/plustek.c:1050 -#, no-c-format -msgid "Defines red lamp off parameter" -msgstr "" - -#: backend/plustek.c:1057 -#, no-c-format -msgid "Green lamp off" -msgstr "" - -#: backend/plustek.c:1058 -#, no-c-format -msgid "Defines green lamp off parameter" -msgstr "" - -#: backend/plustek.c:1065 -#, no-c-format -msgid "Blue lamp off" -msgstr "" - -#: backend/plustek.c:1066 -#, no-c-format -msgid "Defines blue lamp off parameter" -msgstr "" - -#: backend/plustek.c:1096 -#, no-c-format -msgid "This option reflects the status of the scanner buttons." -msgstr "" - -#: backend/plustek_pp.c:197 -#, no-c-format -msgid "Color36" -msgstr "" - -#: backend/plustek_pp.c:211 -#, no-c-format -msgid "Dithermap 1" -msgstr "" - -#: backend/plustek_pp.c:212 -#, no-c-format -msgid "Dithermap 2" -msgstr "" - -#: backend/plustek_pp.c:213 -#, no-c-format -msgid "Randomize" -msgstr "" - -#: backend/pnm.c:168 -#, no-c-format -msgid "Source Selection" -msgstr "" - -#: backend/pnm.c:205 -#, no-c-format -msgid "Image Enhancement" -msgstr "" - -#: backend/pnm.c:241 -#, no-c-format -msgid "Grayify" -msgstr "" - -#: backend/pnm.c:242 -#, no-c-format -msgid "Load the image as grayscale." -msgstr "" - -#: backend/pnm.c:253 -#, no-c-format -msgid "Three-Pass Simulation" -msgstr "" - -#: backend/pnm.c:255 -#, no-c-format -msgid "" -"Simulate a three-pass scanner by returning 3 separate frames. For kicks, it " -"returns green, then blue, then red." -msgstr "" - -#: backend/pnm.c:267 -#, no-c-format -msgid "Hand-Scanner Simulation" -msgstr "" - -#: backend/pnm.c:268 -#, no-c-format -msgid "" -"Simulate a hand-scanner. Hand-scanners often do not know the image height a " -"priori. Instead, they return a height of -1. Setting this option allows " -"one to test whether a frontend can handle this correctly." -msgstr "" - -#: backend/pnm.c:283 -#, no-c-format -msgid "Set default values for enhancement controls (brightness & contrast)." -msgstr "" - -#: backend/pnm.c:295 -#, no-c-format -msgid "Read only test-option" -msgstr "" - -#: backend/pnm.c:296 -#, no-c-format -msgid "Let's see whether frontends can treat this right" -msgstr "" - -#: backend/pnm.c:307 -#, no-c-format -msgid "Gamma Tables" -msgstr "" - -#: backend/pnm.c:379 -#, no-c-format -msgid "Status Code Simulation" -msgstr "" - -#: backend/pnm.c:391 -#, no-c-format -msgid "Do not force status code" -msgstr "" - -#: backend/pnm.c:392 -#, no-c-format -msgid "Do not force the backend to return a status code." -msgstr "" - -#: backend/pnm.c:403 -#, no-c-format -msgid "Return SANE_STATUS_EOF" -msgstr "" - -#: backend/pnm.c:404 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_EOF after " -"sane_read() has been called." -msgstr "" - -#: backend/pnm.c:416 -#, no-c-format -msgid "Return SANE_STATUS_JAMMED" -msgstr "" - -#: backend/pnm.c:418 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_JAMMED after " -"sane_read() has been called." -msgstr "" - -#: backend/pnm.c:430 -#, no-c-format -msgid "Return SANE_STATUS_NO_DOCS" -msgstr "" - -#: backend/pnm.c:431 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_NO_DOCS after " -"sane_read() has been called." -msgstr "" - -#: backend/pnm.c:443 -#, no-c-format -msgid "Return SANE_STATUS_COVER_OPEN" -msgstr "" - -#: backend/pnm.c:444 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_COVER_OPEN after " -"sane_read() has been called." -msgstr "" - -#: backend/pnm.c:456 -#, no-c-format -msgid "Return SANE_STATUS_IO_ERROR" -msgstr "" - -#: backend/pnm.c:457 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_IO_ERROR after " -"sane_read() has been called." -msgstr "" - -#: backend/pnm.c:469 -#, no-c-format -msgid "Return SANE_STATUS_NO_MEM" -msgstr "" - -#: backend/pnm.c:471 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_NO_MEM after " -"sane_read() has been called." -msgstr "" - -#: backend/pnm.c:483 -#, no-c-format -msgid "Return SANE_STATUS_ACCESS_DENIED" -msgstr "" - -#: backend/pnm.c:484 -#, no-c-format -msgid "" -"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED after " -"sane_read() has been called." -msgstr "" - -#: backend/rts8891.c:2809 -#, no-c-format -msgid "This option reflects the status of a scanner button." -msgstr "" - -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 -#, no-c-format -msgid "Lamp on" -msgstr "" - -#: backend/rts8891.c:2841 backend/umax.c:5796 -#, no-c-format -msgid "Turn on scanner lamp" -msgstr "" - -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 -#, no-c-format -msgid "Lamp off" -msgstr "" - -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 -#, no-c-format -msgid "Turn off scanner lamp" -msgstr "" - -#: backend/sm3840.c:760 -#, no-c-format -msgid "Lamp timeout" -msgstr "" - -#: backend/sm3840.c:762 -#, no-c-format -msgid "Minutes until lamp is turned off after scan" -msgstr "" - -#: backend/sm3840.c:772 -#, no-c-format -msgid "Threshold value for lineart mode" -msgstr "" - -#: backend/snapscan-options.c:88 -#, no-c-format -msgid "Document Feeder" -msgstr "" - -#: backend/snapscan-options.c:92 -#, no-c-format -msgid "6x4 (inch)" -msgstr "" - -#: backend/snapscan-options.c:93 -#, no-c-format -msgid "8x10 (inch)" -msgstr "" - -#: backend/snapscan-options.c:94 -#, no-c-format -msgid "8.5x11 (inch)" -msgstr "" - -#: backend/snapscan-options.c:97 -#, no-c-format -msgid "Halftoning Unsupported" -msgstr "" - -#: backend/snapscan-options.c:98 -#, no-c-format -msgid "DispersedDot8x8" -msgstr "" - -#: backend/snapscan-options.c:99 -#, no-c-format -msgid "DispersedDot16x16" -msgstr "" - -#: backend/snapscan-options.c:103 -#, no-c-format -msgid "" -"Number of scan lines to request in a SCSI read. Changing this parameter " -"allows you to tune the speed at which data is read from the scanner during " -"scans. If this is set too low, the scanner will have to stop periodically in " -"the middle of a scan; if it's set too high, X-based frontends may stop " -"responding to X events and your system could bog down." -msgstr "" - -#: backend/snapscan-options.c:111 -#, no-c-format -msgid "Frame number of media holder that should be scanned." -msgstr "" - -#: backend/snapscan-options.c:114 -#, no-c-format -msgid "Use manual or automatic selection of focus point." -msgstr "" - -#: backend/snapscan-options.c:117 -#, no-c-format -msgid "Focus point for scanning." -msgstr "" - -#: backend/snapscan-options.c:482 -#, no-c-format -msgid "Preview mode" -msgstr "" - -#: backend/snapscan-options.c:484 -#, no-c-format -msgid "" -"Select the mode for previews. Greyscale previews usually give the best " -"combination of speed and detail." -msgstr "" - -#: backend/snapscan-options.c:601 -#, no-c-format -msgid "Predefined settings" -msgstr "" - -#: backend/snapscan-options.c:603 -#, no-c-format -msgid "" -"Provides standard scanning areas for photographs, printed pages and the like." -msgstr "" - -#: backend/snapscan-options.c:884 -#, no-c-format -msgid "Frame" -msgstr "" - -#: backend/snapscan-options.c:885 -#, no-c-format -msgid "Frame to be scanned" -msgstr "" - -#: backend/snapscan-options.c:897 -#, no-c-format -msgid "Focus-mode" -msgstr "" - -#: backend/snapscan-options.c:898 -#, no-c-format -msgid "Auto or manual focus" -msgstr "" - -#: backend/snapscan-options.c:911 -#, no-c-format -msgid "Focus-point" -msgstr "" - -#: backend/snapscan-options.c:912 -#, no-c-format -msgid "Focus point" -msgstr "" - -#: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" -msgstr "" - -#: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" -msgstr "" - -#: backend/stv680.c:974 -#, no-c-format -msgid "webcam" -msgstr "" - -#: backend/stv680.h:115 -#, no-c-format -msgid "Color RAW" -msgstr "" - -#: backend/stv680.h:116 -#, no-c-format -msgid "Color RGB" -msgstr "" - -#: backend/stv680.h:117 -#, no-c-format -msgid "Color RGB TEXT" -msgstr "" - -#: backend/test.c:137 -#, no-c-format -msgid "Solid black" -msgstr "" - -#: backend/test.c:137 -#, no-c-format -msgid "Solid white" -msgstr "" - -#: backend/test.c:138 -#, no-c-format -msgid "Color pattern" -msgstr "" - -#: backend/test.c:138 -#, no-c-format -msgid "Grid" -msgstr "" - -#: backend/test.c:163 backend/test.c:171 -#, no-c-format -msgid "First entry" -msgstr "" - -#: backend/test.c:163 backend/test.c:171 -#, no-c-format -msgid "Second entry" -msgstr "" - -#: backend/test.c:165 -#, no-c-format -msgid "" -"This is the very long third entry. Maybe the frontend has an idea how to " -"display it" -msgstr "" - -#: backend/test.c:348 -#, no-c-format -msgid "Hand-scanner simulation" -msgstr "" - -#: backend/test.c:349 -#, no-c-format -msgid "" -"Simulate a hand-scanner. Hand-scanners do not know the image height a " -"priori. Instead, they return a height of -1. Setting this option allows " -"one to test whether a frontend can handle this correctly. This option also " -"enables a fixed width of 11 cm." -msgstr "" - -#: backend/test.c:366 -#, no-c-format -msgid "Three-pass simulation" -msgstr "" - -#: backend/test.c:367 -#, no-c-format -msgid "" -"Simulate a three-pass scanner. In color mode, three frames are transmitted." -msgstr "" - -#: backend/test.c:382 -#, no-c-format -msgid "Set the order of frames" -msgstr "" - -#: backend/test.c:383 -#, no-c-format -msgid "Set the order of frames in three-pass color mode." -msgstr "" - -#: backend/test.c:416 -#, no-c-format -msgid "" -"If Automatic Document Feeder is selected, the feeder will be 'empty' after " -"10 scans." -msgstr "" - -#: backend/test.c:431 -#, no-c-format -msgid "Special Options" -msgstr "" - -#: backend/test.c:444 -#, no-c-format -msgid "Select the test picture" -msgstr "" - -#: backend/test.c:446 -#, no-c-format -msgid "" -"Select the kind of test picture. Available options:\n" -"Solid black: fills the whole scan with black.\n" -"Solid white: fills the whole scan with white.\n" -"Color pattern: draws various color test patterns depending on the mode.\n" -"Grid: draws a black/white grid with a width and height of 10 mm per square." -msgstr "" - -#: backend/test.c:467 -#, no-c-format -msgid "Invert endianness" -msgstr "" - -#: backend/test.c:468 -#, no-c-format -msgid "" -"Exchange upper and lower byte of image data in 16 bit modes. This option can " -"be used to test the 16 bit modes of frontends, e.g. if the frontend uses the " -"correct endianness." -msgstr "" - -#: backend/test.c:484 -#, no-c-format -msgid "Read limit" -msgstr "" - -#: backend/test.c:485 -#, no-c-format -msgid "Limit the amount of data transferred with each call to sane_read()." -msgstr "" - -#: backend/test.c:498 -#, no-c-format -msgid "Size of read-limit" -msgstr "" - -#: backend/test.c:499 -#, no-c-format -msgid "The (maximum) amount of data transferred with each call to sane_read()." -msgstr "" - -#: backend/test.c:514 -#, no-c-format -msgid "Read delay" -msgstr "" - -#: backend/test.c:515 -#, no-c-format -msgid "Delay the transfer of data to the pipe." -msgstr "" - -#: backend/test.c:527 -#, no-c-format -msgid "Duration of read-delay" -msgstr "" - -#: backend/test.c:528 -#, no-c-format -msgid "" -"How long to wait after transferring each buffer of data through the pipe." -msgstr "" - -#: backend/test.c:543 -#, no-c-format -msgid "Return-value of sane_read" -msgstr "" - -#: backend/test.c:545 -#, no-c-format -msgid "" -"Select the return-value of sane_read(). \"Default\" is the normal handling " -"for scanning. All other status codes are for testing how the frontend " -"handles them." -msgstr "" - -#: backend/test.c:562 -#, no-c-format -msgid "Loss of pixels per line" -msgstr "" - -#: backend/test.c:564 -#, no-c-format -msgid "The number of pixels that are wasted at the end of each line." -msgstr "" - -#: backend/test.c:577 -#, no-c-format -msgid "Fuzzy parameters" -msgstr "" - -#: backend/test.c:578 -#, no-c-format -msgid "" -"Return fuzzy lines and bytes per line when sane_parameters() is called " -"before sane_start()." -msgstr "" - -#: backend/test.c:591 -#, no-c-format -msgid "Use non-blocking IO" -msgstr "" - -#: backend/test.c:592 -#, no-c-format -msgid "Use non-blocking IO for sane_read() if supported by the frontend." -msgstr "" - -#: backend/test.c:605 -#, no-c-format -msgid "Offer select file descriptor" -msgstr "" - -#: backend/test.c:606 -#, no-c-format -msgid "" -"Offer a select filedescriptor for detecting if sane_read() will return data." -msgstr "" - -#: backend/test.c:619 -#, no-c-format -msgid "Enable test options" -msgstr "" - -#: backend/test.c:620 -#, no-c-format -msgid "" -"Enable various test options. This is for testing the ability of frontends to " -"view and modify all the different SANE option types." -msgstr "" - -#: backend/test.c:634 -#, no-c-format -msgid "Print options" -msgstr "" - -#: backend/test.c:635 -#, no-c-format -msgid "Print a list of all options." -msgstr "" - -#: backend/test.c:712 -#, no-c-format -msgid "Bool test options" -msgstr "" - -#: backend/test.c:725 -#, no-c-format -msgid "(1/6) Bool soft select soft detect" -msgstr "" - -#: backend/test.c:727 -#, no-c-format -msgid "" -"(1/6) Bool test option that has soft select and soft detect (and advanced) " -"capabilities. That's just a normal bool option." -msgstr "" - -#: backend/test.c:743 -#, no-c-format -msgid "(2/6) Bool hard select soft detect" -msgstr "" - -#: backend/test.c:745 -#, no-c-format -msgid "" -"(2/6) Bool test option that has hard select and soft detect (and advanced) " -"capabilities. That means the option can't be set by the frontend but by the " -"user (e.g. by pressing a button at the device)." -msgstr "" - -#: backend/test.c:762 -#, no-c-format -msgid "(3/6) Bool hard select" -msgstr "" - -#: backend/test.c:763 -#, no-c-format -msgid "" -"(3/6) Bool test option that has hard select (and advanced) capabilities. " -"That means the option can't be set by the frontend but by the user (e.g. by " -"pressing a button at the device) and can't be read by the frontend." -msgstr "" - -#: backend/test.c:781 -#, no-c-format -msgid "(4/6) Bool soft detect" -msgstr "" - -#: backend/test.c:782 -#, no-c-format -msgid "" -"(4/6) Bool test option that has soft detect (and advanced) capabilities. " -"That means the option is read-only." -msgstr "" - -#: backend/test.c:798 -#, no-c-format -msgid "(5/6) Bool soft select soft detect emulated" -msgstr "" - -#: backend/test.c:799 -#, no-c-format -msgid "" -"(5/6) Bool test option that has soft select, soft detect, and emulated (and " -"advanced) capabilities." -msgstr "" - -#: backend/test.c:815 -#, no-c-format -msgid "(6/6) Bool soft select soft detect auto" -msgstr "" - -#: backend/test.c:816 -#, no-c-format -msgid "" -"(6/6) Bool test option that has soft select, soft detect, and automatic (and " -"advanced) capabilities. This option can be automatically set by the backend." -msgstr "" - -#: backend/test.c:833 -#, no-c-format -msgid "Int test options" -msgstr "" - -#: backend/test.c:846 -#, no-c-format -msgid "(1/6) Int" -msgstr "" - -#: backend/test.c:847 -#, no-c-format -msgid "(1/6) Int test option with no unit and no constraint set." -msgstr "" - -#: backend/test.c:862 -#, no-c-format -msgid "(2/6) Int constraint range" -msgstr "" - -#: backend/test.c:863 -#, no-c-format -msgid "" -"(2/6) Int test option with unit pixel and constraint range set. Minimum is " -"4, maximum 192, and quant is 2." -msgstr "" - -#: backend/test.c:879 -#, no-c-format -msgid "(3/6) Int constraint word list" -msgstr "" - -#: backend/test.c:880 -#, no-c-format -msgid "(3/6) Int test option with unit bits and constraint word list set." -msgstr "" - -#: backend/test.c:895 -#, no-c-format -msgid "(4/6) Int array" -msgstr "" - -#: backend/test.c:896 -#, no-c-format -msgid "" -"(4/6) Int test option with unit mm and using an array without constraints." -msgstr "" - -#: backend/test.c:911 -#, no-c-format -msgid "(5/6) Int array constraint range" -msgstr "" - -#: backend/test.c:912 -#, no-c-format -msgid "" -"(5/6) Int test option with unit dpi and using an array with a range " -"constraint. Minimum is 4, maximum 192, and quant is 2." -msgstr "" - -#: backend/test.c:929 -#, no-c-format -msgid "(6/6) Int array constraint word list" -msgstr "" - -#: backend/test.c:930 -#, no-c-format -msgid "" -"(6/6) Int test option with unit percent and using an array with a word list " -"constraint." -msgstr "" - -#: backend/test.c:946 -#, no-c-format -msgid "Fixed test options" -msgstr "" - -#: backend/test.c:959 -#, no-c-format -msgid "(1/3) Fixed" -msgstr "" - -#: backend/test.c:960 -#, no-c-format -msgid "(1/3) Fixed test option with no unit and no constraint set." -msgstr "" - -#: backend/test.c:975 -#, no-c-format -msgid "(2/3) Fixed constraint range" -msgstr "" - -#: backend/test.c:976 -#, no-c-format -msgid "" -"(2/3) Fixed test option with unit microsecond and constraint range set. " -"Minimum is -42.17, maximum 32767.9999, and quant is 2.0." -msgstr "" - -#: backend/test.c:992 -#, no-c-format -msgid "(3/3) Fixed constraint word list" -msgstr "" - -#: backend/test.c:993 -#, no-c-format -msgid "(3/3) Fixed test option with no unit and constraint word list set." -msgstr "" - -#: backend/test.c:1008 -#, no-c-format -msgid "String test options" -msgstr "" - -#: backend/test.c:1021 -#, no-c-format -msgid "(1/3) String" -msgstr "" - -#: backend/test.c:1022 -#, no-c-format -msgid "(1/3) String test option without constraint." -msgstr "" - -#: backend/test.c:1039 -#, no-c-format -msgid "(2/3) String constraint string list" -msgstr "" - -#: backend/test.c:1040 -#, no-c-format -msgid "(2/3) String test option with string list constraint." -msgstr "" - -#: backend/test.c:1059 -#, no-c-format -msgid "(3/3) String constraint long string list" -msgstr "" - -#: backend/test.c:1060 -#, no-c-format -msgid "" -"(3/3) String test option with string list constraint. Contains some more " -"entries..." -msgstr "" - -#: backend/test.c:1080 -#, no-c-format -msgid "Button test options" -msgstr "" - -#: backend/test.c:1093 -#, no-c-format -msgid "(1/1) Button" -msgstr "" - -#: backend/test.c:1094 -#, no-c-format -msgid "(1/1) Button test option. Prints some text..." -msgstr "" - -#: backend/u12.c:149 -#, no-c-format -msgid "Color 36" -msgstr "" - -#: backend/umax.c:235 -#, no-c-format -msgid "Use Image Composition" -msgstr "" - -#: backend/umax.c:236 -#, no-c-format -msgid "Bi-level black and white (lineart mode)" -msgstr "" - -#: backend/umax.c:237 -#, no-c-format -msgid "Dithered/halftone black & white (halftone mode)" -msgstr "" - -#: backend/umax.c:238 -#, no-c-format -msgid "Multi-level black & white (grayscale mode)" -msgstr "" - -#: backend/umax.c:239 -#, no-c-format -msgid "Multi-level RGB color (one pass color)" -msgstr "" - -#: backend/umax.c:240 -#, no-c-format -msgid "Ignore calibration" -msgstr "" - -#: backend/umax.c:5733 -#, no-c-format -msgid "Disable pre focus" -msgstr "" - -#: backend/umax.c:5734 -#, no-c-format -msgid "Do not calibrate focus" -msgstr "" - -#: backend/umax.c:5745 -#, no-c-format -msgid "Manual pre focus" -msgstr "" - -#: backend/umax.c:5757 -#, no-c-format -msgid "Fix focus position" -msgstr "" - -#: backend/umax.c:5769 -#, no-c-format -msgid "Lens calibration in doc position" -msgstr "" - -#: backend/umax.c:5770 -#, no-c-format -msgid "Calibrate lens focus in document position" -msgstr "" - -#: backend/umax.c:5781 -#, no-c-format -msgid "Holder focus position 0mm" -msgstr "" - -#: backend/umax.c:5782 -#, no-c-format -msgid "Use 0mm holder focus position instead of 0.6mm" -msgstr "" - -#: backend/umax.c:5885 -#, no-c-format -msgid "Calibration mode" -msgstr "" - -#: backend/umax.c:5886 -#, no-c-format -msgid "Define calibration mode" -msgstr "" - -#: backend/umax_pp.c:640 -#, no-c-format -msgid "Sets lamp on/off" -msgstr "" - -#: backend/umax_pp.c:649 -#, no-c-format -msgid "UTA on" -msgstr "" - -#: backend/umax_pp.c:650 -#, no-c-format -msgid "Sets UTA on/off" -msgstr "" - -#: backend/umax_pp.c:771 -#, no-c-format -msgid "Offset" -msgstr "" - -#: backend/umax_pp.c:773 -#, no-c-format -msgid "Color channels offset settings" -msgstr "" - -#: backend/umax_pp.c:780 -#, no-c-format -msgid "Gray offset" -msgstr "" - -#: backend/umax_pp.c:781 -#, no-c-format -msgid "Sets gray channel offset" -msgstr "" - -#: backend/umax_pp.c:793 -#, no-c-format -msgid "Sets red channel offset" -msgstr "" - -#: backend/umax_pp.c:805 -#, no-c-format -msgid "Sets green channel offset" -msgstr "" - -#: backend/umax_pp.c:817 -#, no-c-format -msgid "Sets blue channel offset" -msgstr "" diff --git a/po/stamp-po b/po/stamp-po deleted file mode 100644 index 9788f70..0000000 --- a/po/stamp-po +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/po/sv.gmo b/po/sv.gmo deleted file mode 100644 index 5ed20b8..0000000 Binary files a/po/sv.gmo and /dev/null differ diff --git a/po/sv.po b/po/sv.po index a83524c..9ba7d45 100644 --- a/po/sv.po +++ b/po/sv.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.18\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" "PO-Revision-Date: 2012-10-22 11:17+0200\n" "Last-Translator: Mattias Ellert \n" "Language-Team: Swedish \n" @@ -31,36 +31,36 @@ msgid "Standard" msgstr "Standard" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Geometri" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Förbättring" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -88,7 +88,7 @@ msgstr "Använd monokrom förhandsgranskning" msgid "Bit depth" msgstr "Bitdjup" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -129,7 +129,7 @@ msgstr "Höger" msgid "Bottom-right y" msgstr "Nedre" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -285,7 +285,7 @@ msgstr "Filnamn" msgid "Halftone pattern size" msgstr "Rastermönstersstorlek" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Rastermönster" @@ -297,8 +297,8 @@ msgstr "Koppla X- och Y-upplösning" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" @@ -968,7 +968,7 @@ msgstr "Standardvärden" msgid "Set default values for enhancement controls." msgstr "Använd standardvärden för förbättringsinställningar." -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Kalibrering" @@ -1106,7 +1106,7 @@ msgstr "Negativ" msgid "Slides" msgstr "Diapositiv" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1127,489 +1127,488 @@ msgstr "1/2 av normal hastighet" msgid "1/3 normal speed" msgstr "1/3 av normal hastighet" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "avrundad parameter" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "okänd" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "stopp i den automatiska dokumentmataren" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "automatiska dokumentmatarens lock är öppet" -#: backend/canon.c:394 +#: backend/canon.c:389 #, no-c-format msgid "lamp failure" msgstr "lampfel" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "inläsningshuvudspositioneringsfel" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "CPU-kontrollfel" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "RAM-kontrollfel" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "ROM-kontrollfel" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "hårdvarukontrollfel" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "genomlysningsenhetslampfel" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "genomlysningsenhetsinläsningshuvudspositioneringsfel" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "parameterlistlängdsfel" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "ogiltig kommandooperationskod" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "ogiltigt fält i CDB" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "ostött LUN" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "ogiltigt fält i parameterlista" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "kommandosekvensfel" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "för många fönster specificerade" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "media icke närvarande" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "ogiltigt bit-IDENTIFY-meddelande" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "inställning inte anslut" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "påslagningsåterställning / bussenhetsåterställning" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "parameter ändrad av en annan initiator" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "ingen ytterligare sense-information" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "återvalsfel" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "SCSI-paritetsfel" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "intitator upptäckte mottaget felmeddelande" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "ogiltigt meddelande-fel" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "timeoutfel" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "genomlysningsenhetsskuggningsfel" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "lampa ej stabiliserad" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "filmbildläsare" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "flatbäddsbildläsare" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Filmtyp" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Väljer filmtyp, t.ex. negativ eller diapositiv" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, no-c-format msgid "Negative film type" msgstr "Negativfilmtyp" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "Väljer negativfilmtyp" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "Hårdvaruupplösning" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "Använd endast hårdvaruupplösningar" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "Fokus" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "Autofokus" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "Aktivera/avaktivera autofokus" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "Autofokusera endast en gång" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Autofokusera endast en gång mellan utmatningar" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "Manuell fokuseringspunkt" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" "Ställ in det optiska systemets fokuseringspunkt för hand (förval: 128)." -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "Inläsningsmarginaler" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "Extra färgjusteringar" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Spegla bild" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, no-c-format msgid "Mirror the image horizontally" msgstr "Spegla bilden vågrätt" -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "Automatisk exponeringstid" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Aktivera/avaktivera automatisk exponeringstid" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, no-c-format msgid "Calibration now" msgstr "Kalibrera nu" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, no-c-format msgid "Execute calibration *now*" msgstr "Genomför kalibrering *nu*" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "Självdiagnos" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Genomför bildläsarsjälvdiagnos" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, no-c-format msgid "Reset scanner" msgstr "Återställ bildläsare" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "Återställ bildläsaren" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "Mediahantering" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "Mata ut film efter varje inläsning" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "Mata ut filmen från enheten efter varje inläsning automatiskt" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "Mata ut filmen före avslut" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" msgstr "Mata ut filmen från enheten automatiskt före programmet avslutas" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "Mata ut filmen nu" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "Mata ut filmen *nu*" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" msgstr "Dokumentmatarinställningar" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "Endast flatbädd" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" "Stäng av den automatiska dokumentmataren och använd endast flatbädden" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format msgid "Transparency unit" msgstr "Genomlysningsenhet" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Slå på/av genomlysningsenheten (filmadapterenheten)" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, no-c-format msgid "Negative film" msgstr "Negativ film" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, no-c-format msgid "Positive or negative film" msgstr "Positiv eller negativ film" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "Densitetsinställning" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "Ställer in densitetsinställningsläge" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, no-c-format msgid "Transparency ratio" msgstr "Genomlysningskvot" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, no-c-format msgid "Select film type" msgstr "Välj filmtyp" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "Välj filmtyp" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbädd" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Automatisk dokumentmatare framsida" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Automatisk dokumentmatare baksida" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Automatisk dokumentmatare dubbelsidigt" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, fuzzy, no-c-format msgid "Card Front" msgstr "Framsida" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, fuzzy, no-c-format msgid "Card Back" msgstr "Baksida" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Dubbelsidigt" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Röd" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Grön" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blå" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, no-c-format msgid "Enhance Red" msgstr "Framhäv rött" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, no-c-format msgid "Enhance Green" msgstr "Framhäv grönt" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Blue" msgstr "Framhäv blått" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1617,18 +1616,18 @@ msgstr "Framhäv blått" msgid "None" msgstr "Inget" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "Procentsats för hoppa över blanka sidor" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, fuzzy, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "Begär att drivrutinen hoppar över sidor med få mörka pixlar" @@ -1645,13 +1644,13 @@ msgstr "Enkelsidigt" msgid "Duplex" msgstr "Dubbelsidigt" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Genomlysningsenhet" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1764,8 +1763,8 @@ msgstr "Bläckstråleskrivare" msgid "CRT monitors" msgstr "Bildskärmar (CRT)" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Standard" @@ -1828,51 +1827,50 @@ msgstr "A4" msgid "Max" msgstr "Max" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Bildläsarläge" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Väljer raster." -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Blindfärg" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Väljer blindfärg." -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Väljer ljusstyrka." -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Skärpa" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Färgkorrigering" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "Ställer in färgkorrigeringstabellen för den valda utdataenheten." @@ -1962,17 +1960,17 @@ msgstr "Lägger till till rött beroende på blånivån" msgid "Controls blue level" msgstr "Bestämmer blånivån" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Spegla bilden." -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Snabb förhandsgranskning" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Automatisk ytuppdelning" @@ -2002,49 +2000,49 @@ msgstr "Anger zoom-faktorn som bildläsaren kommer att använda" msgid "Quick format" msgstr "Snabbformatera" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Tillvalsutrustning" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Mata ut" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Mata ut bladet i dokumentmataren" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Mata ut automatiskt" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Mata ut dokument efter inläsning" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Dokumentmatarläge" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" "Väljer läge för den automatiska dokumentmataren (enkelsidigt/" "dubbelsidigt)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Fack" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Välj fack att läsa in från" @@ -2085,7 +2083,7 @@ msgstr "" "Efter att ha skickat inläsningskommandot, vänta tills knappen på läsaren " "trycks in för att starta inläsningen." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "Infraröd" @@ -2115,494 +2113,494 @@ msgstr "Inbyggd CCT-profil" msgid "User defined CCT profile" msgstr "Användardefinierad CCT-profil" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "På" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Av" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Gitter" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, no-c-format msgid "Diffusion" msgstr "Diffusion" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, no-c-format msgid "White" msgstr "Vit" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, no-c-format msgid "Black" msgstr "Svart" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, no-c-format msgid "Continue" msgstr "Fortsätt" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "Avsluta" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "10 mm" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "15 mm" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "20 mm" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Vågrätt" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, no-c-format msgid "Horizontal bold" msgstr "Vågrätt fetstil" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, no-c-format msgid "Horizontal narrow" msgstr "Vågrätt smal" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Lodrätt" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, no-c-format msgid "Vertical bold" msgstr "Lodrätt fetstil" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "Uppifrån och ner" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "Nerifrån och upp" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, no-c-format msgid "Front" msgstr "Framsida" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "Baksida" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "Gammafunktionsexponent" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "Ändrar intensitet hos mellantoner" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, fuzzy, no-c-format msgid "Reverse image format" msgstr "Inverterad bild" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Raster" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Utför kalibrering" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Bildton" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, fuzzy, no-c-format msgid "Separation" msgstr "Mättnad" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Möjliggör automatisk bestämning av tröskelvärde för " "streckteckningsinläsningar." -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Spegla bild" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Spegla bilden vågrätt." -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, fuzzy, no-c-format msgid "White level follower" msgstr "Vitnivå för blått" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Bestämmer rödnivån" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, fuzzy, no-c-format msgid "BP filter" msgstr "Färgfilter" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Utjämning" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Gammavärde" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Tröskelkurva" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, fuzzy, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "Dynamisk tröskelkurva, från ljust till mörkt, vanligen 50-65" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Tröskelvärde" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Brusreducering" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Ingen detektering" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Ingen detektering" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, fuzzy, no-c-format msgid "Compression" msgstr "jpeg-komprimmering" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, fuzzy, no-c-format msgid "Action following double feed error" msgstr "Ignorera högra dubbelmatningssensorn" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, fuzzy, no-c-format msgid "Enable double feed error due to skew" msgstr "Aktivera/avaktivera dubbelmatningsdetekteing" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, fuzzy, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "Aktivera/avaktivera dubbelmatningsdetekteing" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, fuzzy, no-c-format msgid "Enable double feed error due to paper length" msgstr "Aktivera/avaktivera dubbelmatningsdetekteing" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "automatiska dokumentmatarens lock är öppet" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, fuzzy, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "Begär att drivrutinen tar bort ramar från sidor auomatiskt" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Avancerade inställningar" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Ingen detektering" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Blindfärg" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Dokumentmatarläge" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2610,65 +2608,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, fuzzy, no-c-format msgid "Off timer" msgstr "Lampavstängningstid" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Blå offset" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Grön offset" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Grön offset" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Blå offset" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Ställer in den blå kanalens offset" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, fuzzy, no-c-format msgid "Low Memory" msgstr "Slut på minne" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2677,364 +2675,364 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Dubbelsidig inläsning" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, fuzzy, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "Begär att drivrutinen linjerar upp sneda sidor digitalt" -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "Mjukvaruupplinjering" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, fuzzy, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "Begär att drivrutinen linjerar upp sneda sidor digitalt" -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "Mjukvarufläckborttagningsdiameter" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, fuzzy, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" "Maximal diameter för ensamma prickar som tas bort från den inlästa bilden" -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "Mjukvarubeskärning" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, fuzzy, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "Begär att drivrutinen tar bort ramar från sidor auomatiskt" -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Avancerade inställningar" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Brusreducering" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Från papper" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Från papper" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Från papper" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Från papper" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, fuzzy, no-c-format msgid "OMR or double feed detected" msgstr "Dubbelmatningsdetektering" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "Bildläsarens lock är öppet" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Manuell matning" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Manuell matning" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, fuzzy, no-c-format msgid "Double feed" msgstr "Dubbelmatningsdetektering" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, fuzzy, no-c-format msgid "Double feed detected" msgstr "Dubbelmatningsdetektering" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "hårdvarukontrollfel" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Vitnivå" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, fuzzy, no-c-format msgid "Density" msgstr "Densitetsinställning" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, fuzzy, no-c-format msgid "Density dial" msgstr "Densitetsinställning" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Dubbelsidig inläsning" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "Begär att drivrutinen tar bort ram från sidor automatiskt" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "Begär att drivrutinen hoppar över sidor med få mörka pixlar" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "Mjukvaruavrotera" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" "Begär att drivrutinen detekterar och korrigerar 90 graders bildrotation" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Övrigt" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "Dynamisk tröskelkurva, från ljust till mörkt, vanligen 50-65" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "Avaktivera dynamisk streckteckning" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " @@ -3044,12 +3042,12 @@ msgstr "" "streckteckningsinläsningar för att i stället använda hårdvarans " "streckteckningsinläsningsläge." -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "Stäng av interpolering" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3059,46 +3057,46 @@ msgstr "" "mindre än den vertikala upplösningen stänger detta av den horisontella " "interpoleringen." -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, fuzzy, no-c-format msgid "Color filter" msgstr "Färgfilter" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "När gråskala eller streckteckning används väljer denna inställning den " "använda färgen." -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrering" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definiera kalibreringsläge" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibreringsdatacache" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "Lampavstängningstid" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3107,102 +3105,112 @@ msgstr "" "Lampan kommer att stängas av efter den angivna tiden (i minuter). Värdet " "0 betyder att lampan inte kommer att stängas av." -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, no-c-format msgid "Lamp off during scan" msgstr "Stäng av lampan under inläsning" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Lampan kommer att stängas av under inläsningen." -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, no-c-format msgid "File button" msgstr "Filknapp" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "Optisk teckenigenkännings-knapp" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, no-c-format msgid "Power button" msgstr "Påslagningsknapp" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, fuzzy, no-c-format msgid "Extra button" msgstr "E-postknapp" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, no-c-format msgid "Need calibration" msgstr "Behöver kalibrering" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Bildläsaren behöver kalibrering för nuvarande inställningar" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Knappar" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrera" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, no-c-format msgid "Start calibration using special sheet" msgstr "Påbörja kalibrering med specialark" -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, no-c-format msgid "Clear calibration" msgstr "Rensa kalibrering" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, no-c-format msgid "Clear calibration cache" msgstr "Rensa kalibreringsdatacache" +#: backend/genesys.cc:5769 +#, fuzzy, no-c-format +msgid "Force calibration" +msgstr "Grovkalibrering" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Genomlysningsadapter" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "Grålägesfärg" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Väljer vilken inläsningsfärg som används i gråläge (förval: grönt)." -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Debuggningsinställningar" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Automatisk uppvärmning" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3211,12 +3219,12 @@ msgstr "" "Värm upp tills lampans ljusstyrka är konstant i stället för att " "insistera på 60 sekunders uppvärmningstid." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Fullständig inläsning" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3225,12 +3233,12 @@ msgstr "" "Läs in hela inläsningsytan inklusive kalibreringsraden. Var försiktig. " "Välj inte för stor höjd. Endast för test." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Grovkalibrering" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3241,12 +3249,12 @@ msgstr "" "inställning inte är vald kan de analoga parametrarna ställas in för " "hand. Denna inställning är förvald som standard. Endast för test." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Grovkalibrering endast för första inläsningen" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3257,12 +3265,12 @@ msgstr "" "flesta bildläsare och kan spara tid. Välj inte denna inställning om " "bildens ljusstyrka är olika för varje inläsning. Endast för test." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "Bakspårningslinjer" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3275,12 +3283,12 @@ msgstr "" "data. Låga värden ger snabbare inläsningar men ökar risken för att " "utelämna linjer." -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Gammavärde" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Ställer in gammavärdet för alla kanaler." @@ -3296,7 +3304,7 @@ msgid "Scan Mode Group" msgstr "Bildläsarlägesgrupp" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Diapositiv" @@ -3502,160 +3510,235 @@ msgstr "Sätter på eller av lampan." msgid "Calibrates for black and white level." msgstr "Kalibrerar för svart- och vitnivå." -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "Automatisk dokumentmatare" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, no-c-format msgid "TMA Slides" msgstr "TMA-positiv" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, no-c-format msgid "TMA Negatives" msgstr "TMA-negativ" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, no-c-format msgid "Color (48 bits)" msgstr "Färg (48 bitar)" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, no-c-format msgid "Extend lamp timeout" msgstr "Utöka lampavstängningstid" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Utökar lampavstängningstiden (från 15 minuter till 1 timme)" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Vänta på knapp" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, no-c-format msgid "Waits for button before scanning" msgstr "Vänta på knapp innan inläsning" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Uppdatera knappläge" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" + +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Inläsningsräknare" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Färgstreckteckning" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" + +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "Avancerade inställningar" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Grovt" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Fint" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Bayer" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Användardefinierat" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Automatiskt" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC-RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "XPA-RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "Oförändrat" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "NTSC-grå" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "XPA-grå" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Långsam" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Normal" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Snabb" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Extra snabb" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "2 pixlar" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "4 pixlar" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "8 pixlar" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Fotografi" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Filmremsa" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "XPA" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Villkorlig" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "Experiment" @@ -3837,8 +3920,8 @@ msgstr "Slå av lampan" msgid "Shut off scanner lamp." msgstr "Slå av bildläsarlampan." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Pappersstorlek" @@ -3849,8 +3932,7 @@ msgstr "Pappersstorlek" msgid "Automatic separation" msgstr "Automatisk separering" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, no-c-format msgid "Landscape" msgstr "Liggande" @@ -3865,38 +3947,34 @@ msgstr "Inverterad bild" msgid "Long paper mode" msgstr "Läge för långa papper" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "Längdkontrollsläge" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, no-c-format msgid "Manual feed mode" msgstr "Manuell matning" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, no-c-format msgid "Manual feed timeout" msgstr "Timeout för manuell matning" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "Dubbelmatningsdetektering" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Sätt på dubbelsidig inläsning" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Verklig storlek på papperet i den automatiska dokumentmataren" @@ -4012,199 +4090,199 @@ msgstr "B6" msgid "Legal" msgstr "US-Legal" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "Bayer 64" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "Bayer 16" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, no-c-format msgid "halftone_32" msgstr "Raster 32" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, no-c-format msgid "halftone_64" msgstr "Raster 64" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, no-c-format msgid "diffusion" msgstr "diffusion" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, no-c-format msgid "normal" msgstr "normal" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, no-c-format msgid "light" msgstr "ljus" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "mörk" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, no-c-format msgid "From scanner" msgstr "Från bildläsare" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Från papper" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, no-c-format msgid "default" msgstr "standard" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, no-c-format msgid "smooth" msgstr "jämn" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "ingen" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, no-c-format msgid "low" msgstr "låg" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, no-c-format msgid "medium" msgstr "medel" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "hög" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "bildskärm" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "linjär" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, no-c-format msgid "red" msgstr "röd" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, no-c-format msgid "green" msgstr "grön" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "blå" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, no-c-format msgid "Sets the scan source" msgstr "Väljer bildläsarkälla" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Dokumentmatarläge" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Ställer in dokumentmatarläge" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, no-c-format msgid "Enable/Disable long paper mode" msgstr "Aktivera/avaktivera läge för långt papper" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, no-c-format msgid "Enable/Disable length control mode" msgstr "Aktivera/avaktivera läge för längdkontroll" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, no-c-format msgid "Sets the manual feed mode" msgstr "Ställer in manuellt matningsläge" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Ställer in timeout för manuell matning i sekunder" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "Aktivera/avaktivera dubbelmatningsdetekteing" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "anpassa till sida" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "Anpassa till sida" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "Bildläsaren krymper sidan för att rymmas på den inlästa sidan" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "Ställ in pappersläge: sant för liggande, falskt för stående" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Automatiskt tröskelvärde" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4213,96 +4291,96 @@ msgstr "" "Ställer in ljusstyrka, kontrast, vitnivå, gamma, brusreduktion och " "bildton automatiskt" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Brusreducering" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Minska bruset från isolerade punkter" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Bildton" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Ställer in bildton" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, no-c-format msgid "Lamp color" msgstr "Lampfärg" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Ställer in lampfärg (blindfärg)" -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "Invertera bild i svart-vitt eller rasterläge" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, no-c-format msgid "Mirror image (left/right flip)" msgstr "Spegla bilden (vänster/höger)" -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "jpeg-komprimmering" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "JPEG-bildkomprimmering med Q-parameter, '0' - ingen komprimmering" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "Rotera bilden medurs" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "Begär att drivrutinen roterar sidor med ett fixt värde" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "Begär att drivrutinen linjerar upp sneda sidor digitalt" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" "Maximal diameter för ensamma prickar som tas bort från den inlästa bilden" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "Automatisk beskärning i mjukvara" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "Begär att drivrutinen tar bort ramar från sidor auomatiskt" @@ -5027,17 +5105,17 @@ msgstr "3x3 användardefinierat" msgid "2x2 custom" msgstr "2x2 användardefinierat" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Snabbt gråskaleläge" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Läs in i snabbt gråskaleläge (lägre kvalitet)." -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -5047,82 +5125,82 @@ msgstr "" "(lågkvalitets-)läget. Detta kan vara en icke-färginläsning eller en " "lågupplösningsinläsning." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Lampavstängningstid (minuter)" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Ställer in tiden (i minuter) efter vilken lampan stängs av." -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "Stäng av lampan" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Stänger av lampan omedelbart." -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Röd ljusstyrka" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Bestämmer ljusstyrkan för den röda kanalen i den inlästa bilden." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Grön ljusstyrka" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Bestämmer ljusstyrkan för den gröna kanalen i den inlästa bilden." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Blå ljusstyrka" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Bestämmer ljusstyrkan för den blå kanalen i den inlästa bilden." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Kontrast röd kanal" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Bestämmer kontrasten för den röda kanalen i den inlästa bilden." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Kontrast grön kanal" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Bestämmer kontrasten för den gröna kanalen i den inlästa bilden." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Kontrast blå kanal" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Bestämmer kontrasten för den blå kanalen i den inlästa bilden." @@ -5166,22 +5244,22 @@ msgstr "" "Värm upp tills lampans ljusstyrka är konstant i stället för att " "insistera på 40 sekunders uppvärmningstid." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, no-c-format msgid "Negative color" msgstr "Negativ färg" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, no-c-format msgid "Negative gray" msgstr "Negativ gråskala" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "48 bitars färg" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "16 bitars gråskala" diff --git a/po/uk.gmo b/po/uk.gmo deleted file mode 100644 index b2d237b..0000000 Binary files a/po/uk.gmo and /dev/null differ diff --git a/po/uk.po b/po/uk.po index 6b4fe24..a083ddd 100644 --- a/po/uk.po +++ b/po/uk.po @@ -1,20 +1,20 @@ # Copyright (C) 2009 # This file is distributed under the same license as the sane-backends package. # -# Yuri Chornoivan , 2009, 2010, 2011, 2012, 2013, 2015, 2017. +# Yuri Chornoivan , 2009, 2010, 2011, 2012, 2013, 2015, 2017, 2018, 2019. msgid "" msgstr "" "Project-Id-Version: sane-backends\n" -"Report-Msgid-Bugs-To: sane-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2017-05-22 11:18-0400\n" -"PO-Revision-Date: 2017-04-28 19:32+0300\n" +"Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" +"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"PO-Revision-Date: 2019-06-26 18:14+0300\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.5\n" +"X-Generator: Lokalize 19.07.70\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" @@ -29,36 +29,36 @@ msgid "Standard" msgstr "Типово" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1291 backend/genesys.c:5618 -#: backend/gt68xx.c:703 backend/hp3500.c:1019 backend/hp-option.c:3297 -#: backend/kvs1025_opt.c:640 backend/kvs20xx_opt.c:285 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 +#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 +#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 #: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 #: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4361 backend/mustek_usb.c:305 -#: backend/mustek_usb2.c:465 backend/pixma_sane_options.c:160 -#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 -#: backend/snapscan-options.c:550 backend/teco1.c:1095 -#: backend/teco2.c:1914 backend/teco3.c:920 backend/test.c:647 -#: backend/u12.c:546 backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 +#: backend/pixma_sane_options.c:160 backend/plustek.c:808 +#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:580 #, no-c-format msgid "Geometry" msgstr "Позиція і розміри" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1498 backend/genesys.c:5678 backend/gt68xx.c:672 -#: backend/hp-option.c:2953 backend/kvs1025_opt.c:704 backend/leo.c:871 +#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 +#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 #: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4409 backend/mustek_usb.c:353 -#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 -#: backend/plustek_pp.c:793 backend/sceptre.c:750 -#: backend/snapscan-options.c:617 backend/stv680.c:1067 -#: backend/teco1.c:1143 backend/teco2.c:1962 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 +#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 +#: backend/sceptre.c:750 backend/snapscan-options.c:617 +#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 +#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 +#: backend/umax_pp.c:629 #, no-c-format msgid "Enhancement" msgstr "Покращення" -#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1216 +#: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 #: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 #: backend/rts8891.c:2831 backend/snapscan-options.c:923 #: backend/umax.c:5565 @@ -86,7 +86,7 @@ msgstr "Примусовий чорно-білий перегляд" msgid "Bit depth" msgstr "Кількість бітів на колір" -#: include/sane/saneopts.h:165 backend/canon.c:1145 backend/leo.c:781 +#: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 #: backend/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" @@ -127,7 +127,7 @@ msgstr "Нижня права координата за X" msgid "Bottom-right y" msgstr "Нижня права координата за Y" -#: include/sane/saneopts.h:173 backend/canon.c:1221 +#: include/sane/saneopts.h:173 backend/canon.c:1216 #: backend/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" @@ -283,7 +283,7 @@ msgstr "Назва файла" msgid "Halftone pattern size" msgstr "Розмір шаблону напівтонів" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3186 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 #, no-c-format msgid "Halftone pattern" msgstr "Шаблон напівтонів" @@ -295,8 +295,8 @@ msgstr "Пов’язати роздільні здатності за X і Y" #: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 #: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3235 backend/mustek_usb2.c:121 -#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 +#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 +#: backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Негатив" @@ -973,7 +973,7 @@ msgstr "Типові" msgid "Set default values for enhancement controls." msgstr "Встановити типові значення для регуляторів покращення." -#: backend/artec_eplus48u.c:2932 backend/canon.c:1616 +#: backend/artec_eplus48u.c:2932 backend/canon.c:1611 #, no-c-format msgid "Calibration" msgstr "Калібрування" @@ -1115,7 +1115,7 @@ msgstr "Негативи" msgid "Slides" msgstr "Слайди" -#: backend/canon.c:186 backend/kvs1025_opt.c:181 backend/kvs40xx_opt.c:273 +#: backend/canon.c:186 backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:273 #: backend/matsushita.c:178 #, no-c-format msgid "Automatic" @@ -1136,331 +1136,331 @@ msgstr "1/2 звичайної швидкості" msgid "1/3 normal speed" msgstr "1/3 звичайної швидкості" -#: backend/canon.c:365 +#: backend/canon.c:360 #, no-c-format msgid "rounded parameter" msgstr "округлений параметр" -#: backend/canon.c:368 backend/canon.c:384 backend/canon.c:419 -#: backend/canon.c:469 backend/canon.c:487 backend/canon.c:530 +#: backend/canon.c:363 backend/canon.c:379 backend/canon.c:414 +#: backend/canon.c:464 backend/canon.c:482 backend/canon.c:525 #, no-c-format msgid "unknown" msgstr "невідома" -#: backend/canon.c:378 +#: backend/canon.c:373 #, no-c-format msgid "ADF jam" msgstr "Заїдання у протяжному механізмі" -#: backend/canon.c:381 +#: backend/canon.c:376 #, no-c-format msgid "ADF cover open" msgstr "Відкрито кришку протяжного механізму" -#: backend/canon.c:394 +#: backend/canon.c:389 #, no-c-format msgid "lamp failure" msgstr "Лампа не працює" -#: backend/canon.c:397 +#: backend/canon.c:392 #, no-c-format msgid "scan head positioning error" msgstr "помилка позиціонування голівки сканування" -#: backend/canon.c:400 +#: backend/canon.c:395 #, no-c-format msgid "CPU check error" msgstr "Помилка під час перевірки процесора" -#: backend/canon.c:403 +#: backend/canon.c:398 #, no-c-format msgid "RAM check error" msgstr "Помилка під час перевірки пам’яті" -#: backend/canon.c:406 +#: backend/canon.c:401 #, no-c-format msgid "ROM check error" msgstr "Помилка під час перевірки ROM" -#: backend/canon.c:409 +#: backend/canon.c:404 #, no-c-format msgid "hardware check error" msgstr "Помилка під час перевірки обладнання" -#: backend/canon.c:412 +#: backend/canon.c:407 #, no-c-format msgid "transparency unit lamp failure" msgstr "Не працює лампа модуля слайдів" -#: backend/canon.c:415 +#: backend/canon.c:410 #, no-c-format msgid "transparency unit scan head positioning failure" msgstr "Помилка позиціонування голівки сканування модуля плівок" -#: backend/canon.c:429 +#: backend/canon.c:424 #, no-c-format msgid "parameter list length error" msgstr "Помилка, пов’язана з довжиною списку параметрів" -#: backend/canon.c:433 +#: backend/canon.c:428 #, no-c-format msgid "invalid command operation code" msgstr "Некоректний код команди дії" -#: backend/canon.c:437 +#: backend/canon.c:432 #, no-c-format msgid "invalid field in CDB" msgstr "Некоректне поле у CDB" -#: backend/canon.c:441 +#: backend/canon.c:436 #, no-c-format msgid "unsupported LUN" msgstr "Непідтримуване значення LUN" -#: backend/canon.c:445 +#: backend/canon.c:440 #, no-c-format msgid "invalid field in parameter list" msgstr "Некоректне поле у списку параметрів" -#: backend/canon.c:449 +#: backend/canon.c:444 #, no-c-format msgid "command sequence error" msgstr "Помилка під час виконання послідовності команд" -#: backend/canon.c:453 +#: backend/canon.c:448 #, no-c-format msgid "too many windows specified" msgstr "Вказано забагато вікон" -#: backend/canon.c:457 +#: backend/canon.c:452 #, no-c-format msgid "medium not present" msgstr "Відсутній носій" -#: backend/canon.c:461 +#: backend/canon.c:456 #, no-c-format msgid "invalid bit IDENTIFY message" msgstr "Повідомлення про некоректний біт IDENTIFY" -#: backend/canon.c:465 +#: backend/canon.c:460 #, no-c-format msgid "option not connect" msgstr "Додаткову функціональність не з’єднано" -#: backend/canon.c:479 +#: backend/canon.c:474 #, no-c-format msgid "power on reset / bus device reset" msgstr "скидання під час вмикання / з’єднання пристрою" -#: backend/canon.c:483 +#: backend/canon.c:478 #, no-c-format msgid "parameter changed by another initiator" msgstr "Параметр змінено іншим інструментом ініціалізації" -#: backend/canon.c:497 +#: backend/canon.c:492 #, no-c-format msgid "no additional sense information" msgstr "відсутні додаткові дані" -#: backend/canon.c:501 +#: backend/canon.c:496 #, no-c-format msgid "reselect failure" msgstr "Помилка повторного вибору" -#: backend/canon.c:505 +#: backend/canon.c:500 #, no-c-format msgid "SCSI parity error" msgstr "Помилка парності SCSI" -#: backend/canon.c:509 +#: backend/canon.c:504 #, no-c-format msgid "initiator detected error message received" msgstr "" "Отримано повідомлення про помилку виявлення інструменту ініціалізації" -#: backend/canon.c:514 +#: backend/canon.c:509 #, no-c-format msgid "invalid message error" msgstr "Некоректне повідомлення" -#: backend/canon.c:518 +#: backend/canon.c:513 #, no-c-format msgid "timeout error" msgstr "Перевищення часу очікування" -#: backend/canon.c:522 +#: backend/canon.c:517 #, no-c-format msgid "transparency unit shading error" msgstr "Помилка під час градації у модулі слайдів" -#: backend/canon.c:526 +#: backend/canon.c:521 #, no-c-format msgid "lamp not stabilized" msgstr "Лампу не стабілізовано" -#: backend/canon.c:852 backend/canon.c:867 +#: backend/canon.c:847 backend/canon.c:862 #, no-c-format msgid "film scanner" msgstr "плівковий сканер" -#: backend/canon.c:882 backend/canon.c:897 backend/canon.c:912 -#: backend/canon.c:927 backend/hp3900_sane.c:1683 backend/plustek.c:1335 -#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1836 +#: backend/canon.c:877 backend/canon.c:892 backend/canon.c:907 +#: backend/canon.c:922 backend/hp3900_sane.c:1683 backend/plustek.c:1335 +#: backend/plustek_pp.c:1014 backend/sceptre.c:593 backend/teco2.c:1832 #: backend/u12.c:851 #, no-c-format msgid "flatbed scanner" msgstr "планшетний сканер" -#: backend/canon.c:1183 backend/epson.c:3386 backend/epson2.c:1365 +#: backend/canon.c:1178 backend/epson.c:3386 backend/epson2.c:1364 #, no-c-format msgid "Film type" msgstr "Тип плівки" -#: backend/canon.c:1184 +#: backend/canon.c:1179 #, no-c-format msgid "Selects the film type, i.e. negatives or slides" msgstr "Визначає тип плівки, тобто негатив чи слайд" -#: backend/canon.c:1196 +#: backend/canon.c:1191 #, no-c-format msgid "Negative film type" msgstr "Тип плівки негатива" -#: backend/canon.c:1197 +#: backend/canon.c:1192 #, no-c-format msgid "Selects the negative film type" msgstr "Оберіть тестове зображення" -#: backend/canon.c:1236 +#: backend/canon.c:1231 #, no-c-format msgid "Hardware resolution" msgstr "Апаратна роздільна здатність" -#: backend/canon.c:1237 +#: backend/canon.c:1232 #, no-c-format msgid "Use only hardware resolutions" msgstr "Використовувати лише апаратні значення" -#: backend/canon.c:1318 +#: backend/canon.c:1313 #, no-c-format msgid "Focus" msgstr "Фокусування" -#: backend/canon.c:1328 +#: backend/canon.c:1323 #, no-c-format msgid "Auto focus" msgstr "Автоматичне фокусування" -#: backend/canon.c:1329 +#: backend/canon.c:1324 #, no-c-format msgid "Enable/disable auto focus" msgstr "Увімкнути/Вимкнути автоматичне фокусування" -#: backend/canon.c:1336 +#: backend/canon.c:1331 #, no-c-format msgid "Auto focus only once" msgstr "Одноразове автофокусування" -#: backend/canon.c:1337 +#: backend/canon.c:1332 #, no-c-format msgid "Do auto focus only once between ejects" msgstr "Виконувати автоматичне фокусування лише раз між виштовхуваннями" -#: backend/canon.c:1345 +#: backend/canon.c:1340 #, no-c-format msgid "Manual focus position" msgstr "Визначення позиції фокуса вручну" -#: backend/canon.c:1346 +#: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." msgstr "" "Встановити позицію фокусування оптичної системи вручну (типове значення: " "128)." -#: backend/canon.c:1356 +#: backend/canon.c:1351 #, no-c-format msgid "Scan margins" msgstr "Поля області сканування" -#: backend/canon.c:1403 +#: backend/canon.c:1398 #, no-c-format msgid "Extra color adjustments" msgstr "Додаткова корекція кольорів" -#: backend/canon.c:1538 backend/epson.c:3205 backend/epson2.c:1255 +#: backend/canon.c:1533 backend/epson.c:3205 backend/epson2.c:1254 #: backend/kvs1025.h:55 backend/kvs40xx_opt.c:826 #, no-c-format msgid "Mirror image" msgstr "Віддзеркалити зображення" -#: backend/canon.c:1539 +#: backend/canon.c:1534 #, no-c-format msgid "Mirror the image horizontally" msgstr "Віддзеркалити зображення горизонтально." -#: backend/canon.c:1608 +#: backend/canon.c:1603 #, no-c-format msgid "Auto exposure" msgstr "Автоекспозиція" -#: backend/canon.c:1609 +#: backend/canon.c:1604 #, no-c-format msgid "Enable/disable the auto exposure feature" msgstr "Увімкнути/Вимкнути можливість автоекспонування" -#: backend/canon.c:1625 +#: backend/canon.c:1620 #, no-c-format msgid "Calibration now" msgstr "Калібрування" -#: backend/canon.c:1626 +#: backend/canon.c:1621 #, no-c-format msgid "Execute calibration *now*" msgstr "Виконати калібрування негайно" -#: backend/canon.c:1636 +#: backend/canon.c:1631 #, no-c-format msgid "Self diagnosis" msgstr "Самодіагностика" -#: backend/canon.c:1637 +#: backend/canon.c:1632 #, no-c-format msgid "Perform scanner self diagnosis" msgstr "Виконати самодіагностику сканера" -#: backend/canon.c:1648 +#: backend/canon.c:1643 #, no-c-format msgid "Reset scanner" msgstr "Скинути параметри сканера" -#: backend/canon.c:1649 +#: backend/canon.c:1644 #, no-c-format msgid "Reset the scanner" msgstr "Скинути параметри сканера" -#: backend/canon.c:1659 +#: backend/canon.c:1654 #, no-c-format msgid "Medium handling" msgstr "Обробка носіїв" -#: backend/canon.c:1668 +#: backend/canon.c:1663 #, no-c-format msgid "Eject film after each scan" msgstr "Виштовхувати плівку після кожного сканування" -#: backend/canon.c:1669 +#: backend/canon.c:1664 #, no-c-format msgid "Automatically eject the film from the device after each scan" msgstr "" "Автоматично виштовхувати плівку з пристрою після кожного сканування" -#: backend/canon.c:1680 +#: backend/canon.c:1675 #, no-c-format msgid "Eject film before exit" msgstr "Виштовхувати плівку перед завершенням роботи" -#: backend/canon.c:1681 +#: backend/canon.c:1676 #, no-c-format msgid "" "Automatically eject the film from the device before exiting the program" @@ -1468,162 +1468,161 @@ msgstr "" "Автоматично виштовхувати плівку з пристрою перед завершенням роботи " "програми" -#: backend/canon.c:1690 +#: backend/canon.c:1685 #, no-c-format msgid "Eject film now" msgstr "Виштовхнути плівку" -#: backend/canon.c:1691 +#: backend/canon.c:1686 #, no-c-format msgid "Eject the film *now*" msgstr "Виштовхнути плівку *негайно*" -#: backend/canon.c:1700 +#: backend/canon.c:1695 #, no-c-format msgid "Document feeder extras" msgstr "Додаткові інструменти подачі" -#: backend/canon.c:1707 +#: backend/canon.c:1702 #, no-c-format msgid "Flatbed only" msgstr "Лише планшетний" -#: backend/canon.c:1708 +#: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" msgstr "" "Вимкнути автоматичну подачу, використовувати лише планшетний механізм" -#: backend/canon.c:1718 backend/canon.c:1728 +#: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format msgid "Transparency unit" msgstr "Модуль для слайдів" -#: backend/canon.c:1729 +#: backend/canon.c:1724 #, no-c-format msgid "Switch on/off the transparency unit (FAU, film adapter unit)" msgstr "Увімкнути/Вимкнути модуль для слайдів (FAU, film adapter unit)" -#: backend/canon.c:1739 +#: backend/canon.c:1734 #, no-c-format msgid "Negative film" msgstr "Негатив" -#: backend/canon.c:1740 +#: backend/canon.c:1735 #, no-c-format msgid "Positive or negative film" msgstr "Позитивною чи негативною є плівка" -#: backend/canon.c:1749 +#: backend/canon.c:1744 #, no-c-format msgid "Density control" msgstr "Керування щільністю" -#: backend/canon.c:1750 +#: backend/canon.c:1745 #, no-c-format msgid "Set density control mode" msgstr "Встановити режим керування щільністю" -#: backend/canon.c:1761 +#: backend/canon.c:1756 #, no-c-format msgid "Transparency ratio" msgstr "Співвідношення прозорості" -#: backend/canon.c:1775 +#: backend/canon.c:1770 #, no-c-format msgid "Select film type" msgstr "Оберіть тип плівки" -#: backend/canon.c:1776 +#: backend/canon.c:1771 #, no-c-format msgid "Select the film type" msgstr "Визначає тип плівки" -#: backend/canon_dr.c:408 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:672 backend/gt68xx.c:148 +#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:85 backend/ma1509.c:108 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 #: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:901 -#: backend/pixma_sane_options.c:92 backend/snapscan-options.c:86 -#: backend/test.c:192 backend/umax.c:181 +#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 +#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Планшет" -#: backend/canon_dr.c:409 backend/epjitsu.c:234 backend/fujitsu.c:673 +#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Перед протяжного механізму" -#: backend/canon_dr.c:410 backend/epjitsu.c:235 backend/fujitsu.c:674 +#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Зворот протяжного механізму" -#: backend/canon_dr.c:411 backend/epjitsu.c:236 backend/fujitsu.c:675 -#: backend/hp5590.c:87 backend/kodak.c:142 backend/pixma.c:912 +#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Двобічна АПД" -#: backend/canon_dr.c:412 +#: backend/canon_dr.c:415 #, no-c-format msgid "Card Front" msgstr "Картка (профіль)" -#: backend/canon_dr.c:413 +#: backend/canon_dr.c:416 #, no-c-format msgid "Card Back" msgstr "Картка (зворот)" -#: backend/canon_dr.c:414 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Duplex" msgstr "Картка (обидва боки)" -#: backend/canon_dr.c:421 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:692 backend/genesys.c:89 -#: backend/genesys.c:96 backend/gt68xx_low.h:133 backend/hp-option.c:3093 +#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 +#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Червоний" -#: backend/canon_dr.c:422 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:693 backend/genesys.c:90 -#: backend/genesys.c:97 backend/gt68xx_low.h:134 backend/hp-option.c:3094 +#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 +#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Зелений" -#: backend/canon_dr.c:423 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:694 backend/genesys.c:91 -#: backend/genesys.c:98 backend/gt68xx_low.h:135 backend/hp-option.c:3095 +#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 +#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Синій" -#: backend/canon_dr.c:424 +#: backend/canon_dr.c:427 #, no-c-format msgid "Enhance Red" msgstr "Покращити червоний" -#: backend/canon_dr.c:425 +#: backend/canon_dr.c:428 #, no-c-format msgid "Enhance Green" msgstr "Покращити зелений" -#: backend/canon_dr.c:426 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Blue" msgstr "Покращити синій" -#: backend/canon_dr.c:428 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:698 backend/genesys.c:99 +#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 #: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 @@ -1631,18 +1630,18 @@ msgstr "Покращити синій" msgid "None" msgstr "Немає" -#: backend/canon_dr.c:429 backend/fujitsu.c:699 +#: backend/canon_dr.c:432 backend/fujitsu.c:702 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2449 backend/fujitsu.c:4066 backend/genesys.c:5769 -#: backend/kvs1025_opt.c:911 +#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 +#: backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "Порогове значення порожніх сторінок для програмного відкидання" -#: backend/canon_dr.c:2450 backend/fujitsu.c:4067 +#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" @@ -1661,13 +1660,13 @@ msgstr "Однобічна" msgid "Duplex" msgstr "Двобічна" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:918 +#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Модуль для слайдів" #: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:906 backend/test.c:192 +#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 #: backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" @@ -1780,8 +1779,8 @@ msgstr "Струминні принтери" msgid "CRT monitors" msgstr "Монітори з ЕПТ" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:682 -#: backend/hp-option.c:3226 backend/test.c:143 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" msgstr "Типовий" @@ -1844,51 +1843,50 @@ msgstr "A4" msgid "Max" msgstr "Макс" -#: backend/epson.c:2813 backend/epson2.c:977 backend/genesys.c:5535 -#: backend/gt68xx.c:458 backend/hp-option.c:2914 backend/kvs1025_opt.c:522 -#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 -#: backend/ma1509.c:501 backend/matsushita.c:1084 backend/microtek2.h:598 -#: backend/mustek.c:4203 backend/mustek_usb.c:260 -#: backend/mustek_usb2.c:344 backend/niash.c:734 backend/plustek.c:721 -#: backend/plustek_pp.c:658 backend/sceptre.c:673 +#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 +#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 +#: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 +#: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 +#: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 #: backend/snapscan-options.c:354 backend/stv680.c:1030 -#: backend/teco2.c:1886 backend/test.c:306 backend/u12.c:473 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 #: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Режим сканування" -#: backend/epson.c:2845 backend/epson2.c:1012 +#: backend/epson.c:2845 backend/epson2.c:1011 #, no-c-format msgid "Selects the halftone." msgstr "Визначає півтон." -#: backend/epson.c:2867 backend/epson2.c:1033 +#: backend/epson.c:2867 backend/epson2.c:1032 #, no-c-format msgid "Dropout" msgstr "Маска" -#: backend/epson.c:2868 backend/epson2.c:1034 +#: backend/epson.c:2868 backend/epson2.c:1033 #, no-c-format msgid "Selects the dropout." msgstr "Визначає маску." -#: backend/epson.c:2880 backend/epson2.c:1046 +#: backend/epson.c:2880 backend/epson2.c:1045 #, no-c-format msgid "Selects the brightness." msgstr "Визначає яскравість." -#: backend/epson.c:2895 backend/epson2.c:1059 +#: backend/epson.c:2895 backend/epson2.c:1058 #, no-c-format msgid "Sharpness" msgstr "Різкість" -#: backend/epson.c:3031 backend/epson2.c:1175 backend/epson2.c:1222 +#: backend/epson.c:3031 backend/epson2.c:1174 backend/epson2.c:1221 #, no-c-format msgid "Color correction" msgstr "Кольорова компенсація" -#: backend/epson.c:3034 backend/epson2.c:1177 +#: backend/epson.c:3034 backend/epson2.c:1176 #, no-c-format msgid "Sets the color correction table for the selected output device." msgstr "" @@ -1980,17 +1978,17 @@ msgstr "Додаток до червоного на основі рівня си msgid "Controls blue level" msgstr "Визначає рівень синього" -#: backend/epson.c:3206 backend/epson2.c:1256 +#: backend/epson.c:3206 backend/epson2.c:1255 #, no-c-format msgid "Mirror the image." msgstr "Віддзеркалити зображення." -#: backend/epson.c:3232 backend/mustek.c:4332 +#: backend/epson.c:3232 backend/mustek.c:4344 #, no-c-format msgid "Fast preview" msgstr "Швидкий перегляд" -#: backend/epson.c:3245 backend/epson2.c:1266 +#: backend/epson.c:3245 backend/epson2.c:1265 #, no-c-format msgid "Auto area segmentation" msgstr "Автоматичний поділ на області" @@ -2020,47 +2018,47 @@ msgstr "Визначає масштаб, який буде використан msgid "Quick format" msgstr "Швидке форматування" -#: backend/epson.c:3360 backend/epson2.c:1341 +#: backend/epson.c:3360 backend/epson2.c:1340 #, no-c-format msgid "Optional equipment" msgstr "Додаткове устаткування" -#: backend/epson.c:3431 backend/epson2.c:1394 +#: backend/epson.c:3431 backend/epson2.c:1393 #, no-c-format msgid "Eject" msgstr "Виштовхнути" -#: backend/epson.c:3432 backend/epson2.c:1395 +#: backend/epson.c:3432 backend/epson2.c:1394 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Виштовхнути аркуш з протяжного пристрою" -#: backend/epson.c:3444 backend/epson2.c:1405 +#: backend/epson.c:3444 backend/epson2.c:1404 #, no-c-format msgid "Auto eject" msgstr "Автовиштовхування" -#: backend/epson.c:3445 backend/epson2.c:1407 +#: backend/epson.c:3445 backend/epson2.c:1406 #, no-c-format msgid "Eject document after scanning" msgstr "Виштовхнути документ після сканування" -#: backend/epson.c:3457 backend/epson2.c:1417 backend/magicolor.c:2419 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Режим протяжного пристрою" -#: backend/epson.c:3459 backend/epson2.c:1419 backend/magicolor.c:2421 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Визначає режим протяжного пристрою (однобічний/двобічний)" -#: backend/epson.c:3473 backend/epson2.c:1431 +#: backend/epson.c:3473 backend/epson2.c:1430 #, no-c-format msgid "Bay" msgstr "Секція" -#: backend/epson.c:3474 backend/epson2.c:1432 +#: backend/epson.c:3474 backend/epson2.c:1431 #, no-c-format msgid "Select bay to scan" msgstr "Визначає секцію, яку буде скановано" @@ -2102,7 +2100,7 @@ msgstr "" "Після надсилання команди сканування не розпочинати сканування до " "натискання кнопки на сканері." -#: backend/epson2.c:102 backend/pixma.c:390 +#: backend/epson2.c:102 backend/pixma.c:409 #, no-c-format msgid "Infrared" msgstr "Інфрачервоне" @@ -2132,243 +2130,243 @@ msgstr "Вбудований профіль CCT" msgid "User defined CCT profile" msgstr "Визначений користувачем профіль CCT" -#: backend/fujitsu.c:683 backend/hp-option.c:3327 backend/hp-option.c:3340 +#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Увімкнути" -#: backend/fujitsu.c:684 backend/hp-option.c:3159 backend/hp-option.c:3326 -#: backend/hp-option.c:3339 +#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Вимкнути" -#: backend/fujitsu.c:686 +#: backend/fujitsu.c:689 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:687 +#: backend/fujitsu.c:690 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:689 backend/teco1.c:1152 backend/teco1.c:1153 -#: backend/teco2.c:1971 backend/teco2.c:1972 backend/teco3.c:977 +#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Дизеринг" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:693 #, no-c-format msgid "Diffusion" msgstr "Дифузія" -#: backend/fujitsu.c:695 +#: backend/fujitsu.c:698 #, no-c-format msgid "White" msgstr "Білий" -#: backend/fujitsu.c:696 +#: backend/fujitsu.c:699 #, no-c-format msgid "Black" msgstr "Чорний" -#: backend/fujitsu.c:701 +#: backend/fujitsu.c:704 #, no-c-format msgid "Continue" msgstr "Продовжити" -#: backend/fujitsu.c:702 +#: backend/fujitsu.c:705 #, no-c-format msgid "Stop" msgstr "Зупинити" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:707 #, no-c-format msgid "10mm" msgstr "10мм" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:708 #, no-c-format msgid "15mm" msgstr "15мм" -#: backend/fujitsu.c:706 +#: backend/fujitsu.c:709 #, no-c-format msgid "20mm" msgstr "20мм" -#: backend/fujitsu.c:708 backend/hp-option.c:3045 +#: backend/fujitsu.c:711 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "По горизонталі" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:712 #, no-c-format msgid "Horizontal bold" msgstr "Жирний по горизонталі" -#: backend/fujitsu.c:710 +#: backend/fujitsu.c:713 #, no-c-format msgid "Horizontal narrow" msgstr "Вузький по горизонталі" -#: backend/fujitsu.c:711 backend/hp-option.c:3044 +#: backend/fujitsu.c:714 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "По вертикалі" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:715 #, no-c-format msgid "Vertical bold" msgstr "Жирний по вертикалі" -#: backend/fujitsu.c:714 +#: backend/fujitsu.c:717 #, no-c-format msgid "Top to bottom" msgstr "Згори вниз" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:718 #, no-c-format msgid "Bottom to top" msgstr "Знизу догори" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:720 #, no-c-format msgid "Front" msgstr "Перед" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:721 #, no-c-format msgid "Back" msgstr "Зворот" -#: backend/fujitsu.c:3097 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "Показник функції гами" -#: backend/fujitsu.c:3098 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "Змінює інтенсивність напівтонів" -#: backend/fujitsu.c:3147 +#: backend/fujitsu.c:3194 #, no-c-format msgid "RIF" msgstr "RIF" -#: backend/fujitsu.c:3148 +#: backend/fujitsu.c:3195 #, no-c-format msgid "Reverse image format" msgstr "Інверсивний формат зображення" -#: backend/fujitsu.c:3165 +#: backend/fujitsu.c:3212 #, no-c-format msgid "Halftone type" msgstr "Тип півтонів" -#: backend/fujitsu.c:3166 +#: backend/fujitsu.c:3213 #, no-c-format msgid "Control type of halftone filter" msgstr "Керування типом фільтра півтонів" -#: backend/fujitsu.c:3187 +#: backend/fujitsu.c:3234 #, no-c-format msgid "Control pattern of halftone filter" msgstr "Керування взірцем фільтра півтонів" -#: backend/fujitsu.c:3209 +#: backend/fujitsu.c:3256 #, no-c-format msgid "Outline" msgstr "Контур" -#: backend/fujitsu.c:3210 +#: backend/fujitsu.c:3257 #, no-c-format msgid "Perform outline extraction" msgstr "Виконати видобування контуру" -#: backend/fujitsu.c:3221 +#: backend/fujitsu.c:3268 #, no-c-format msgid "Emphasis" msgstr "Виокремлення" -#: backend/fujitsu.c:3222 +#: backend/fujitsu.c:3269 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" "Негатив для згладжування або позитив для збільшення різкості зображення" -#: backend/fujitsu.c:3240 +#: backend/fujitsu.c:3287 #, no-c-format msgid "Separation" msgstr "Розділення" -#: backend/fujitsu.c:3241 +#: backend/fujitsu.c:3288 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "Увімкнути автоматичне відокремлення зображень і тексту" -#: backend/fujitsu.c:3252 +#: backend/fujitsu.c:3299 #, no-c-format msgid "Mirroring" msgstr "Віддзеркалення" -#: backend/fujitsu.c:3253 +#: backend/fujitsu.c:3300 #, no-c-format msgid "Reflect output image horizontally" msgstr "Віддзеркалити отримане зображення по горизонталі" -#: backend/fujitsu.c:3270 +#: backend/fujitsu.c:3317 #, no-c-format msgid "White level follower" msgstr "Відповідник рівня білого" -#: backend/fujitsu.c:3271 +#: backend/fujitsu.c:3318 #, no-c-format msgid "Control white level follower" msgstr "Керує відповідником рівня білого" -#: backend/fujitsu.c:3289 +#: backend/fujitsu.c:3336 #, no-c-format msgid "BP filter" msgstr "Фільтр СП" -#: backend/fujitsu.c:3290 +#: backend/fujitsu.c:3337 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "Поліпшує якість тексту, написаного кульковою ручкою" -#: backend/fujitsu.c:3306 backend/hp-option.h:73 +#: backend/fujitsu.c:3353 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Згладжування" -#: backend/fujitsu.c:3307 +#: backend/fujitsu.c:3354 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "Увімкнути згладжування для поліпшення ОРТ" -#: backend/fujitsu.c:3323 +#: backend/fujitsu.c:3370 #, no-c-format msgid "Gamma curve" msgstr "Крива гами" -#: backend/fujitsu.c:3324 +#: backend/fujitsu.c:3371 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" "Крива гами, від світлого до темного, але верхні дві можуть не працювати" -#: backend/fujitsu.c:3346 backend/genesys.c:5832 +#: backend/fujitsu.c:3393 backend/genesys.cc:5505 #: backend/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Порогова крива" -#: backend/fujitsu.c:3347 +#: backend/fujitsu.c:3394 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" @@ -2376,111 +2374,111 @@ msgstr "" "Порогова крива, від світлого до темного, але верхні дві не можуть бути " "лінійними" -#: backend/fujitsu.c:3369 +#: backend/fujitsu.c:3416 #, no-c-format msgid "Threshold white" msgstr "Білий поріг" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3417 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "Встановити для порогових пікселів білий колір, а не чорний" -#: backend/fujitsu.c:3386 backend/fujitsu.c:3387 +#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 #, no-c-format msgid "Noise removal" msgstr "Вилучення шуму" -#: backend/fujitsu.c:3403 +#: backend/fujitsu.c:3450 #, no-c-format msgid "Matrix 5x5" msgstr "Матриця 5x5" -#: backend/fujitsu.c:3404 +#: backend/fujitsu.c:3451 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "Вилучати піксельний шум розміром до 5 пікселів" -#: backend/fujitsu.c:3420 +#: backend/fujitsu.c:3467 #, no-c-format msgid "Matrix 4x4" msgstr "Матриця 4x4" -#: backend/fujitsu.c:3421 +#: backend/fujitsu.c:3468 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "Вилучати піксельний шум розміром до 4 пікселів" -#: backend/fujitsu.c:3437 +#: backend/fujitsu.c:3484 #, no-c-format msgid "Matrix 3x3" msgstr "Матриця 3x3" -#: backend/fujitsu.c:3438 +#: backend/fujitsu.c:3485 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "Вилучати піксельний шум розміром до 3 пікселів" -#: backend/fujitsu.c:3454 +#: backend/fujitsu.c:3501 #, no-c-format msgid "Matrix 2x2" msgstr "Матриця 2x2" -#: backend/fujitsu.c:3455 +#: backend/fujitsu.c:3502 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "Вилучати піксельний шум розміром до 2 пікселів" -#: backend/fujitsu.c:3474 +#: backend/fujitsu.c:3521 #, no-c-format msgid "Variance" msgstr "Дисперсія" -#: backend/fujitsu.c:3475 +#: backend/fujitsu.c:3522 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "Встановити величину дисперсії SDTC (чутливість), 0 відповідає 127" -#: backend/fujitsu.c:3508 +#: backend/fujitsu.c:3555 #, no-c-format msgid "Auto width detection" msgstr "Автовиявлення ширини" -#: backend/fujitsu.c:3509 +#: backend/fujitsu.c:3556 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "Сканер визначає краї паперу. Може уповільнити сканування." -#: backend/fujitsu.c:3526 +#: backend/fujitsu.c:3573 #, no-c-format msgid "Auto length detection" msgstr "Автовиявлення довжини" -#: backend/fujitsu.c:3527 +#: backend/fujitsu.c:3574 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" "Сканер виявляє нижній край паперу. Може призвести до помилкової роботи " "деяких програмних оболонок." -#: backend/fujitsu.c:3553 +#: backend/fujitsu.c:3600 #, no-c-format msgid "Compression" msgstr "Стиснення" -#: backend/fujitsu.c:3554 +#: backend/fujitsu.c:3601 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" "Увімкнути стискання даних. Може призвести до аварійного завершення " "роботи програмних оболонок." -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3621 #, no-c-format msgid "Compression argument" msgstr "Аргумент стискання" -#: backend/fujitsu.c:3575 +#: backend/fujitsu.c:3622 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " @@ -2489,107 +2487,107 @@ msgstr "" "Рівень стискання JPEG. 1 — малий файл, 7 — великий файл. 0 (типовий) — " "те саме, що і 4." -#: backend/fujitsu.c:3605 +#: backend/fujitsu.c:3652 #, no-c-format msgid "DF action" msgstr "Дія ПП" -#: backend/fujitsu.c:3606 +#: backend/fujitsu.c:3653 #, no-c-format msgid "Action following double feed error" msgstr "Дія, яку буде виконано у відповідь на помилку подвійного подавання" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3669 #, no-c-format msgid "DF skew" msgstr "ПП для перекошування" -#: backend/fujitsu.c:3623 +#: backend/fujitsu.c:3670 #, no-c-format msgid "Enable double feed error due to skew" msgstr "Увімкнути помилку подвійного подавання через перекошування" -#: backend/fujitsu.c:3641 +#: backend/fujitsu.c:3688 #, no-c-format msgid "DF thickness" msgstr "ПП для товщини" -#: backend/fujitsu.c:3642 +#: backend/fujitsu.c:3689 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "Увімкнути помилку подвійного подавання через товщину паперу" -#: backend/fujitsu.c:3660 +#: backend/fujitsu.c:3707 #, no-c-format msgid "DF length" msgstr "ПП для довжини" -#: backend/fujitsu.c:3661 +#: backend/fujitsu.c:3708 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "Увімкнути помилку подвійного подавання через довжину паперу" -#: backend/fujitsu.c:3684 +#: backend/fujitsu.c:3731 #, no-c-format msgid "DF length difference" msgstr "Різниця довжини для ПП" -#: backend/fujitsu.c:3685 +#: backend/fujitsu.c:3732 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" "Різниця у довжинах аркушів паперу, яка призводитиме до помилки " "подвійного подавання" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3755 #, no-c-format msgid "DF recovery mode" msgstr "Режим відновлення для ПП" -#: backend/fujitsu.c:3709 +#: backend/fujitsu.c:3756 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "Вимагати від сканера зворотного подавання, якщо папір зам’ято" -#: backend/fujitsu.c:3728 +#: backend/fujitsu.c:3775 #, no-c-format msgid "Paper protection" msgstr "Захист паперу" -#: backend/fujitsu.c:3729 +#: backend/fujitsu.c:3776 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "Вимагати від сканера передбачати зам’яття у протяжному пристрої" -#: backend/fujitsu.c:3748 +#: backend/fujitsu.c:3795 #, no-c-format msgid "Advanced paper protection" msgstr "Додатковий захист паперу" -#: backend/fujitsu.c:3749 +#: backend/fujitsu.c:3796 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" "Вимагати від сканера передбачати зам’яття у протяжному пристрої за " "допомогою поліпшених датчиків" -#: backend/fujitsu.c:3768 +#: backend/fujitsu.c:3815 #, no-c-format msgid "Staple detection" msgstr "Виявлення скоб" -#: backend/fujitsu.c:3769 +#: backend/fujitsu.c:3816 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" "Вимагати від сканера виявляти зам’яття у протяжному пристрої через скоби" -#: backend/fujitsu.c:3788 +#: backend/fujitsu.c:3835 #, no-c-format msgid "Background color" msgstr "Колір тла" -#: backend/fujitsu.c:3789 +#: backend/fujitsu.c:3836 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" @@ -2597,12 +2595,12 @@ msgstr "" "Встановити колір для тла сканованих зображень. Може конфліктувати із " "параметром полів." -#: backend/fujitsu.c:3809 +#: backend/fujitsu.c:3856 #, no-c-format msgid "Dropout color" msgstr "Колір для викидання" -#: backend/fujitsu.c:3810 +#: backend/fujitsu.c:3857 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " @@ -2612,34 +2610,34 @@ msgstr "" "відтінках сірого або чорно-білого сканування, корисно для кольорового " "паперу або чорнильних записів" -#: backend/fujitsu.c:3833 +#: backend/fujitsu.c:3880 #, no-c-format msgid "Buffer mode" msgstr "Режим буферизації" -#: backend/fujitsu.c:3834 +#: backend/fujitsu.c:3881 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" "Наказати сканеру швидко читати сторінки з протяжного пристрою до " "внутрішньої пам’яті" -#: backend/fujitsu.c:3853 +#: backend/fujitsu.c:3900 #, no-c-format msgid "Prepick" msgstr "Попереднє захоплення" -#: backend/fujitsu.c:3854 +#: backend/fujitsu.c:3901 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "Наказати сканеру захопити наступну сторінку із протяжного пристрою" -#: backend/fujitsu.c:3873 +#: backend/fujitsu.c:3920 #, no-c-format msgid "Overscan" msgstr "Поля" -#: backend/fujitsu.c:3874 +#: backend/fujitsu.c:3921 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2652,12 +2650,12 @@ msgstr "" "також дозволити збирання решти даних з бічних полів. Може конфліктувати " "з параметром кольору тла." -#: backend/fujitsu.c:3892 +#: backend/fujitsu.c:3939 #, no-c-format msgid "Sleep timer" msgstr "Таймер присипляння" -#: backend/fujitsu.c:3893 +#: backend/fujitsu.c:3940 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" @@ -2665,12 +2663,12 @@ msgstr "" "Час у хвилинах, по завершенню якого внутрішнє живлення буде переведено у " "режим сну" -#: backend/fujitsu.c:3911 +#: backend/fujitsu.c:3958 #, no-c-format msgid "Off timer" msgstr "Таймер вимикання" -#: backend/fujitsu.c:3912 +#: backend/fujitsu.c:3959 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " @@ -2680,42 +2678,42 @@ msgstr "" "Буде округлено до найближчого кратного до 15 хвилин. Нульове значення " "означає, що живлення не вимикатиметься." -#: backend/fujitsu.c:3930 +#: backend/fujitsu.c:3977 #, no-c-format msgid "Duplex offset" msgstr "Зміщення двобічного" -#: backend/fujitsu.c:3931 +#: backend/fujitsu.c:3978 #, no-c-format msgid "Adjust front/back offset" msgstr "Коригування зміщення між переднім і зворотним боком" -#: backend/fujitsu.c:3948 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 #, no-c-format msgid "Green offset" msgstr "Зміщення зеленого" -#: backend/fujitsu.c:3949 +#: backend/fujitsu.c:3996 #, no-c-format msgid "Adjust green/red offset" msgstr "Коригування зміщення між зеленим і червоним каналами" -#: backend/fujitsu.c:3966 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 #, no-c-format msgid "Blue offset" msgstr "Зміщення синього" -#: backend/fujitsu.c:3967 +#: backend/fujitsu.c:4014 #, no-c-format msgid "Adjust blue/red offset" msgstr "Коригування зміщення між синім і червоним каналами" -#: backend/fujitsu.c:3980 +#: backend/fujitsu.c:4027 #, no-c-format msgid "Low Memory" msgstr "Обмеження пам’яті" -#: backend/fujitsu.c:3981 +#: backend/fujitsu.c:4028 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2729,12 +2727,12 @@ msgstr "" "«side». Цим параметром слід користуватися лише для нетипового " "зовнішнього інтерфейсу програмного забезпечення." -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4043 #, no-c-format msgid "Duplex side" msgstr "Бік для двобічного" -#: backend/fujitsu.c:3997 +#: backend/fujitsu.c:4044 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " @@ -2743,58 +2741,58 @@ msgstr "" "Визначає, який бік (0=передній, 1=зворотний) двобічного сканованого " "зображення буде повернуто під час наступного виклику sane_read." -#: backend/fujitsu.c:4008 +#: backend/fujitsu.c:4055 #, no-c-format msgid "Hardware deskew and crop" msgstr "Апаратне виправлення нахилу і обрізання" -#: backend/fujitsu.c:4009 +#: backend/fujitsu.c:4056 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" "Вимагати від сканера обертання та обрізання сторінок у цифровому режимі." -#: backend/fujitsu.c:4020 backend/kvs1025_opt.c:872 +#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "Програмне усування обертання" -#: backend/fujitsu.c:4021 +#: backend/fujitsu.c:4068 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" "Вимагати від драйвера усування обертання сторінок у автоматичному режимі." -#: backend/fujitsu.c:4033 backend/kvs1025_opt.c:881 +#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "Діаметр плям для програмного усування" -#: backend/fujitsu.c:4034 +#: backend/fujitsu.c:4081 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" "Мінімальний діаметр окремих плям, які слід усунути зі сканованого " "зображення." -#: backend/fujitsu.c:4053 backend/genesys.c:5760 +#: backend/fujitsu.c:4100 backend/genesys.cc:5436 #, no-c-format msgid "Software crop" msgstr "Програмне обрізання" -#: backend/fujitsu.c:4054 +#: backend/fujitsu.c:4101 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" "Вимагати від драйвера вилучення границі зі сторінок у автоматичному " "режимі." -#: backend/fujitsu.c:4083 +#: backend/fujitsu.c:4130 #, no-c-format msgid "Halt on Cancel" msgstr "Перервати при скасуванні" -#: backend/fujitsu.c:4084 +#: backend/fujitsu.c:4131 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." @@ -2802,106 +2800,106 @@ msgstr "" "Наказати драйверу перервати подавання паперу, замість його " "виштовхування, якщо сканування скасовано." -#: backend/fujitsu.c:4095 +#: backend/fujitsu.c:4142 #, no-c-format msgid "Endorser Options" msgstr "Параметри наддруку" -#: backend/fujitsu.c:4096 +#: backend/fujitsu.c:4143 #, no-c-format msgid "Controls for endorser unit" msgstr "Керування модулем наддруку" -#: backend/fujitsu.c:4107 +#: backend/fujitsu.c:4154 #, no-c-format msgid "Endorser" msgstr "Наддрук" -#: backend/fujitsu.c:4108 +#: backend/fujitsu.c:4155 #, no-c-format msgid "Enable endorser unit" msgstr "Увімкнути модуль наддруку" -#: backend/fujitsu.c:4123 +#: backend/fujitsu.c:4170 #, no-c-format msgid "Endorser bits" msgstr "Біти наддруку" -#: backend/fujitsu.c:4124 +#: backend/fujitsu.c:4171 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "Визначає максимальне значення лічильника наддруку." -#: backend/fujitsu.c:4149 +#: backend/fujitsu.c:4196 #, no-c-format msgid "Endorser value" msgstr "Значення наддруку" -#: backend/fujitsu.c:4150 +#: backend/fujitsu.c:4197 #, no-c-format msgid "Initial endorser counter value." msgstr "Початкове значення лічильника наддруку." -#: backend/fujitsu.c:4173 +#: backend/fujitsu.c:4220 #, no-c-format msgid "Endorser step" msgstr "Крок наддруку" -#: backend/fujitsu.c:4174 +#: backend/fujitsu.c:4221 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" "Змінювати значення лічильника наддруку на вказане число для кожної " "наступної сторінки." -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4244 #, no-c-format msgid "Endorser Y" msgstr "Y наддруку" -#: backend/fujitsu.c:4198 +#: backend/fujitsu.c:4245 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "Зсув мітки наддруку від верхнього краю паперу." -#: backend/fujitsu.c:4223 +#: backend/fujitsu.c:4270 #, no-c-format msgid "Endorser font" msgstr "Шрифт наддруку" -#: backend/fujitsu.c:4224 +#: backend/fujitsu.c:4271 #, no-c-format msgid "Endorser printing font." msgstr "Шрифт наддруку." -#: backend/fujitsu.c:4253 +#: backend/fujitsu.c:4300 #, no-c-format msgid "Endorser direction" msgstr "Напрямок наддруку" -#: backend/fujitsu.c:4254 +#: backend/fujitsu.c:4301 #, no-c-format msgid "Endorser printing direction." msgstr "Напрямок друку." -#: backend/fujitsu.c:4278 +#: backend/fujitsu.c:4325 #, no-c-format msgid "Endorser side" msgstr "Бік наддруку" -#: backend/fujitsu.c:4279 +#: backend/fujitsu.c:4326 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" "Бік, з якого буде друкуватися мітка. Потребує апаратної підтримки для " "зміни." -#: backend/fujitsu.c:4304 +#: backend/fujitsu.c:4351 #, no-c-format msgid "Endorser string" msgstr "Рядок наддруку" -#: backend/fujitsu.c:4305 +#: backend/fujitsu.c:4352 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " @@ -2910,205 +2908,205 @@ msgstr "" "Буквенно-цифровий формат наддруку. %05ud або %08ud наприкінці буде " "замінено на значення лічильника." -#: backend/fujitsu.c:4332 +#: backend/fujitsu.c:4379 #, no-c-format msgid "Top edge" msgstr "Верхній край" -#: backend/fujitsu.c:4333 +#: backend/fujitsu.c:4380 #, no-c-format msgid "Paper is pulled partly into adf" msgstr "Папір частково втягнуто до протяжного пристрою" -#: backend/fujitsu.c:4344 +#: backend/fujitsu.c:4391 #, no-c-format msgid "A3 paper" msgstr "Папір A3" -#: backend/fujitsu.c:4345 +#: backend/fujitsu.c:4392 #, no-c-format msgid "A3 paper detected" msgstr "Виявлено папір A3" -#: backend/fujitsu.c:4356 +#: backend/fujitsu.c:4403 #, no-c-format msgid "B4 paper" msgstr "Папір B4" -#: backend/fujitsu.c:4357 +#: backend/fujitsu.c:4404 #, no-c-format msgid "B4 paper detected" msgstr "Виявлено папір B4" -#: backend/fujitsu.c:4368 +#: backend/fujitsu.c:4415 #, no-c-format msgid "A4 paper" msgstr "Папір A4" -#: backend/fujitsu.c:4369 +#: backend/fujitsu.c:4416 #, no-c-format msgid "A4 paper detected" msgstr "Виявлено папір A4" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4427 #, no-c-format msgid "B5 paper" msgstr "Папір B5" -#: backend/fujitsu.c:4381 +#: backend/fujitsu.c:4428 #, no-c-format msgid "B5 paper detected" msgstr "Виявлено папір B5" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4451 #, no-c-format msgid "OMR or DF" msgstr "OMR або ПП" -#: backend/fujitsu.c:4405 +#: backend/fujitsu.c:4452 #, no-c-format msgid "OMR or double feed detected" msgstr "Виявлено OMR або подвійне подавання" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4475 #, no-c-format msgid "Power saving" msgstr "Заощадження енергії" -#: backend/fujitsu.c:4429 +#: backend/fujitsu.c:4476 #, no-c-format msgid "Scanner in power saving mode" msgstr "Сканер перебуває у режимі заощадження енергії" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4499 #, no-c-format msgid "Manual feed" msgstr "Подавання вручну" -#: backend/fujitsu.c:4453 +#: backend/fujitsu.c:4500 #, no-c-format msgid "Manual feed selected" msgstr "Вибрано режим подавання вручну" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4523 #, no-c-format msgid "Function" msgstr "Функція" -#: backend/fujitsu.c:4477 +#: backend/fujitsu.c:4524 #, no-c-format msgid "Function character on screen" msgstr "Функціональний символ на екрані" -#: backend/fujitsu.c:4488 +#: backend/fujitsu.c:4535 #, no-c-format msgid "Ink low" msgstr "Закінчуються чорнила" -#: backend/fujitsu.c:4489 +#: backend/fujitsu.c:4536 #, no-c-format msgid "Imprinter ink running low" msgstr "Лишилося мало чорнила для наддруку" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4547 #, no-c-format msgid "Double feed" msgstr "Подвійне подавання" -#: backend/fujitsu.c:4501 +#: backend/fujitsu.c:4548 #, no-c-format msgid "Double feed detected" msgstr "Виявлено подвійне подавання" -#: backend/fujitsu.c:4512 +#: backend/fujitsu.c:4559 #, no-c-format msgid "Error code" msgstr "Код помилки" -#: backend/fujitsu.c:4513 +#: backend/fujitsu.c:4560 #, no-c-format msgid "Hardware error code" msgstr "Код апаратної помилки" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4571 #, no-c-format msgid "Skew angle" msgstr "Кут перекошування" -#: backend/fujitsu.c:4525 +#: backend/fujitsu.c:4572 #, no-c-format msgid "Requires black background for scanning" msgstr "Потребує чорного тла для сканування" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4583 #, no-c-format msgid "Ink remaining" msgstr "Лишилося чорнила" -#: backend/fujitsu.c:4537 +#: backend/fujitsu.c:4584 #, no-c-format msgid "Imprinter ink level" msgstr "Рівень чорнила для наддруку" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4595 #, no-c-format msgid "Density" msgstr "Щільність" -#: backend/fujitsu.c:4549 +#: backend/fujitsu.c:4596 #, no-c-format msgid "Density dial" msgstr "Набирач щільності" -#: backend/fujitsu.c:4560 backend/fujitsu.c:4561 +#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 #, no-c-format msgid "Duplex switch" msgstr "Перемикач двобічного" -#: backend/genesys.c:5761 +#: backend/genesys.cc:5437 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" "Вимагати від програмного модуля вилучення границі зі сторінок у " "автоматичному режимі" -#: backend/genesys.c:5770 backend/kvs1025_opt.c:913 +#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" "Вимагати від драйвера відкидання сторінок з надто низькою кількістю " "темних пікселів" -#: backend/genesys.c:5781 backend/kvs1025_opt.c:893 +#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "Програмне усування обертання" -#: backend/genesys.c:5782 backend/kvs1025_opt.c:895 +#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" "Вимагати від драйвера виявлення і виправлення обертання зображення на 90 " "градусів" -#: backend/genesys.c:5813 backend/pixma_sane_options.c:314 +#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Додаткові" -#: backend/genesys.c:5833 backend/pixma_sane_options.c:336 +#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" "Крива динамічного порогового значення, від світлого до темного, типово " "50-65" -#: backend/genesys.c:5842 +#: backend/genesys.cc:5515 #, no-c-format msgid "Disable dynamic lineart" msgstr "Вимкнути динамічне штрихування" -#: backend/genesys.c:5844 +#: backend/genesys.cc:5517 #, no-c-format msgid "" "Disable use of a software adaptive algorithm to generate lineart relying " @@ -3117,12 +3115,12 @@ msgstr "" "Вимкнути використання адаптивного програмного алгоритму для створення " "штрихування замість апаратного алгоритму штрихування." -#: backend/genesys.c:5860 +#: backend/genesys.cc:5533 #, no-c-format msgid "Disable interpolation" msgstr "Вимкнути інтерполяцію" -#: backend/genesys.c:5863 +#: backend/genesys.cc:5536 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3132,34 +3130,34 @@ msgstr "" "роздільна здатність менша за вертикальну, вимикає горизонтальну " "інтерполяцію." -#: backend/genesys.c:5872 +#: backend/genesys.cc:5545 #, no-c-format msgid "Color filter" msgstr "Фільтр кольору" -#: backend/genesys.c:5875 +#: backend/genesys.cc:5548 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "За використання друку у півтонах або штрихового друку за допомогою цього " "пункту можна обрати колір друку." -#: backend/genesys.c:5901 +#: backend/genesys.cc:5574 #, no-c-format msgid "Calibration file" msgstr "Файл калібрування" -#: backend/genesys.c:5902 +#: backend/genesys.cc:5575 #, no-c-format msgid "Specify the calibration file to use" msgstr "Вкажіть файл даних калібрування, які буде використано" -#: backend/genesys.c:5919 +#: backend/genesys.cc:5592 #, no-c-format msgid "Calibration cache expiration time" msgstr "Строк дії кешу калібрування" -#: backend/genesys.c:5920 +#: backend/genesys.cc:5593 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " @@ -3170,12 +3168,12 @@ msgstr "" "Від’ємні значення означають, що обмежень на строк дії кешу не " "накладатиметься." -#: backend/genesys.c:5930 +#: backend/genesys.cc:5603 #, no-c-format msgid "Lamp off time" msgstr "Час вимикання лампи" -#: backend/genesys.c:5933 +#: backend/genesys.cc:5606 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3184,103 +3182,114 @@ msgstr "" "Лампу буде вимкнено, коли спливе вказаний час (у хвилинах). Значення " "рівне 0 означатиме, що лампа не вимикатиметься." -#: backend/genesys.c:5943 +#: backend/genesys.cc:5616 #, no-c-format msgid "Lamp off during scan" msgstr "Вимикання лампи під час сканування" -#: backend/genesys.c:5944 +#: backend/genesys.cc:5617 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Лампу буде вимкнено під час сканування. " -#: backend/genesys.c:5972 backend/genesys.c:5973 +#: backend/genesys.cc:5643 backend/genesys.cc:5644 #, no-c-format msgid "File button" msgstr "Кнопка «File»" -#: backend/genesys.c:6025 backend/genesys.c:6026 +#: backend/genesys.cc:5688 backend/genesys.cc:5689 #, no-c-format msgid "OCR button" msgstr "Кнопка «OCR»" -#: backend/genesys.c:6039 backend/genesys.c:6040 +#: backend/genesys.cc:5700 backend/genesys.cc:5701 #, no-c-format msgid "Power button" msgstr "Кнопка «Power»" -#: backend/genesys.c:6053 backend/genesys.c:6054 +#: backend/genesys.cc:5712 backend/genesys.cc:5713 #, no-c-format msgid "Extra button" msgstr "Додаткова кнопка" -#: backend/genesys.c:6067 backend/gt68xx.c:762 +#: backend/genesys.cc:5724 backend/gt68xx.c:755 #, no-c-format msgid "Need calibration" msgstr "Потребує калібрування" -#: backend/genesys.c:6068 backend/gt68xx.c:763 +#: backend/genesys.cc:5725 backend/gt68xx.c:756 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Для застосування поточних параметрів потрібне калібрування" -#: backend/genesys.c:6080 backend/gt68xx.c:787 backend/gt68xx.c:788 +#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 #: backend/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Кнопки" -#: backend/genesys.c:6089 backend/gt68xx.c:794 backend/hp5400_sane.c:392 +#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 #: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Відкалібрувати" -#: backend/genesys.c:6091 backend/gt68xx.c:796 +#: backend/genesys.cc:5746 backend/gt68xx.c:789 #, no-c-format msgid "Start calibration using special sheet" msgstr "Почати калібрування за допомогою спеціального аркуша" -#: backend/genesys.c:6105 backend/gt68xx.c:809 +#: backend/genesys.cc:5758 backend/gt68xx.c:802 #, no-c-format msgid "Clear calibration" msgstr "Спорожнити дані калібрування" -#: backend/genesys.c:6106 backend/gt68xx.c:810 +#: backend/genesys.cc:5759 backend/gt68xx.c:803 #, no-c-format msgid "Clear calibration cache" msgstr "Спорожнити кеш калібрування" +#: backend/genesys.cc:5769 +#, no-c-format +msgid "Force calibration" +msgstr "Примусове калібрування" + +#: backend/genesys.cc:5770 +#, no-c-format +msgid "Force calibration ignoring all and any calibration caches" +msgstr "" +"Примусове калібрування з ігноруванням усіх кешованих даних калібрування" + #: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 #: backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Адаптер плівок" -#: backend/gt68xx.c:477 +#: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" msgstr "Режим відтінків сірого" -#: backend/gt68xx.c:479 +#: backend/gt68xx.c:472 #, no-c-format msgid "Selects which scan color is used gray mode (default: green)." msgstr "" "Визначає, який колір сканування буде використано у режимі напівтонів " "сірого (типово — зелений)." -#: backend/gt68xx.c:560 backend/hp3900_sane.c:1392 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 #: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Параметри зневаджування" -#: backend/gt68xx.c:571 backend/mustek_usb2.c:419 +#: backend/gt68xx.c:564 backend/mustek_usb2.c:419 #, no-c-format msgid "Automatic warmup" msgstr "Автоматичний розігрів" -#: backend/gt68xx.c:573 +#: backend/gt68xx.c:566 #, no-c-format msgid "" "Warm-up until the lamp's brightness is constant instead of insisting on " @@ -3289,12 +3298,12 @@ msgstr "" "Розігрівати, до сталої яскравості лампи, не наполягати на 60-ти " "секундному розігріві." -#: backend/gt68xx.c:585 +#: backend/gt68xx.c:578 #, no-c-format msgid "Full scan" msgstr "Повне сканування" -#: backend/gt68xx.c:587 +#: backend/gt68xx.c:580 #, no-c-format msgid "" "Scan the complete scanning area including calibration strip. Be careful. " @@ -3303,12 +3312,12 @@ msgstr "" "Сканувати всю область сканування, зокрема смугу калібрування. Будьте " "обережні. Не вказуйте повну висоту. Лише для перевірки." -#: backend/gt68xx.c:598 +#: backend/gt68xx.c:591 #, no-c-format msgid "Coarse calibration" msgstr "Грубе калібрування" -#: backend/gt68xx.c:600 +#: backend/gt68xx.c:593 #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " @@ -3319,12 +3328,12 @@ msgstr "" "пункт не буде позначено, ви зможете вказати параметри аналогової " "оболонки вручну. Типово цей пункт позначено. Лише для перевірки." -#: backend/gt68xx.c:619 +#: backend/gt68xx.c:612 #, no-c-format msgid "Coarse calibration for first scan only" msgstr "Грубе калібрування лише для початкового сканування" -#: backend/gt68xx.c:621 +#: backend/gt68xx.c:614 #, no-c-format msgid "" "Coarse calibration is only done for the first scan. Works with most " @@ -3336,12 +3345,12 @@ msgstr "" "яскравість сканованих зображень значно змінюється, зніміть позначку з " "цього пункту. Лише для перевірки." -#: backend/gt68xx.c:654 +#: backend/gt68xx.c:647 #, no-c-format msgid "Backtrack lines" msgstr "Ліній повернення" -#: backend/gt68xx.c:656 +#: backend/gt68xx.c:649 #, no-c-format msgid "" "Number of lines the scan slider moves back when backtracking occurs. " @@ -3355,12 +3364,12 @@ msgstr "" "значення пришвидшать сканування, але збільшать ймовірність пропуску " "ліній." -#: backend/gt68xx.c:681 backend/mustek_usb2.c:452 +#: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format msgid "Gamma value" msgstr "Значення коефіцієнта контрастності" -#: backend/gt68xx.c:683 backend/mustek_usb2.c:454 +#: backend/gt68xx.c:676 backend/mustek_usb2.c:454 #, no-c-format msgid "Sets the gamma value of all channels." msgstr "Визначає значення коефіцієнта контрастності для всіх каналів." @@ -3376,7 +3385,7 @@ msgid "Scan Mode Group" msgstr "Група режимів сканування" #: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3174 +#: backend/hp-option.c:3177 #, no-c-format msgid "Slide" msgstr "Слайд" @@ -3585,160 +3594,245 @@ msgstr "Вмикає або вимикає лампу." msgid "Calibrates for black and white level." msgstr "Калібрує для визначення рівня чорного и білого." -#: backend/hp5590.c:86 backend/hp-option.c:3253 +#: backend/hp5590.c:93 backend/hp-option.c:3256 #, no-c-format msgid "ADF" msgstr "АПД" -#: backend/hp5590.c:88 +#: backend/hp5590.c:95 #, no-c-format msgid "TMA Slides" msgstr "Слайди TMA" -#: backend/hp5590.c:89 +#: backend/hp5590.c:96 #, no-c-format msgid "TMA Negatives" msgstr "Негативи TMA" -#: backend/hp5590.c:92 +#: backend/hp5590.c:108 #, no-c-format msgid "Color (48 bits)" msgstr "Кольоровий (48-бітовий)" -#: backend/hp5590.c:95 +#: backend/hp5590.c:112 #, no-c-format msgid "Extend lamp timeout" msgstr "Збільшений час очікування лампи" -#: backend/hp5590.c:96 +#: backend/hp5590.c:113 #, no-c-format msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "Збільшує час очікування лампи (з 15 хвилин до 1 години)" -#: backend/hp5590.c:98 +#: backend/hp5590.c:115 #, no-c-format msgid "Wait for button" msgstr "Очікувати натискання кнопки" -#: backend/hp5590.c:99 +#: backend/hp5590.c:116 #, no-c-format msgid "Waits for button before scanning" msgstr "Очікувати на натискання кнопки, перш ніж почати сканування" -#: backend/hp-option.c:2984 +#: backend/hp5590.c:118 +#, no-c-format +msgid "Last button pressed" +msgstr "Остання натиснута кнопка" + +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "Отримати ідентифікатор останньої натиснутої кнопки (лише читання)" + +#: backend/hp5590.c:121 +#, no-c-format +msgid "LCD counter" +msgstr "Лічильник LCD" + +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "Отримати значення лічильника LCD (лише читання)" + +#: backend/hp5590.c:124 +#, no-c-format +msgid "Color LED indicator" +msgstr "Кольоровий індикатор LED" + +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "Отримати значення індикатора LED (лише читання)" + +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "Документ доступний у АПД" + +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" +"Отримати стан індикатора доступності документа у АПД (лише читання)" + +#: backend/hp5590.c:130 +#, no-c-format +msgid "Hide end-of-page pixel" +msgstr "Приховувати кінцевий піксель сторінки" + +#: backend/hp5590.c:131 +#, no-c-format +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" +"Приховувати пікселі-індикатори кінця сторінки і перезаписувати їх " +"сусідніми пікселями" + +#: backend/hp5590.c:133 +#, no-c-format +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "Режим заповнення кінцевих ліній після даних сканування (АПД)" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" +"raw = дані сканування без обробки, last = повторити останню лінію " +"сканування, raster = чорно-білий растр, white = білий колір, black = " +"чорний колір, color = значення кольору у RGB або тонах сірого" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" +"Значення кольору у RGB або тонах сірого для режиму заповнення «color»" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" +"Значення кольору для кінцевих ліній режиму заповнення «color». Колір RGB " +"як значення у форматі r*65536+256*g+b або значення тону сірого (типове " +"значення — фіолетовий або сірий)" + +#: backend/hp-option.c:2987 #, no-c-format msgid "Advanced Options" msgstr "Додаткові параметри" -#: backend/hp-option.c:3041 +#: backend/hp-option.c:3044 #, no-c-format msgid "Coarse" msgstr "Грубе" -#: backend/hp-option.c:3042 +#: backend/hp-option.c:3045 #, no-c-format msgid "Fine" msgstr "Високої якості" -#: backend/hp-option.c:3043 +#: backend/hp-option.c:3046 #, no-c-format msgid "Bayer" msgstr "Секція" -#: backend/hp-option.c:3046 backend/hp-option.c:3097 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format msgid "Custom" msgstr "Нетипова" -#: backend/hp-option.c:3087 backend/hp-option.c:3143 -#: backend/hp-option.c:3158 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format msgid "Auto" msgstr "Авто" -#: backend/hp-option.c:3088 +#: backend/hp-option.c:3091 #, no-c-format msgid "NTSC RGB" msgstr "NTSC RGB" -#: backend/hp-option.c:3089 +#: backend/hp-option.c:3092 #, no-c-format msgid "XPA RGB" msgstr "XPA RGB" -#: backend/hp-option.c:3090 +#: backend/hp-option.c:3093 #, no-c-format msgid "Pass-through" msgstr "Пропускати" -#: backend/hp-option.c:3091 +#: backend/hp-option.c:3094 #, no-c-format msgid "NTSC Gray" msgstr "Чорно-біле NTSC" -#: backend/hp-option.c:3092 +#: backend/hp-option.c:3095 #, no-c-format msgid "XPA Gray" msgstr "Чорно-біле XPA" -#: backend/hp-option.c:3144 +#: backend/hp-option.c:3147 #, no-c-format msgid "Slow" msgstr "Повільно" -#: backend/hp-option.c:3145 backend/hp-option.c:3252 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 #: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 #: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format msgid "Normal" msgstr "Звичайна" -#: backend/hp-option.c:3146 +#: backend/hp-option.c:3149 #, no-c-format msgid "Fast" msgstr "Швидко" -#: backend/hp-option.c:3147 +#: backend/hp-option.c:3150 #, no-c-format msgid "Extra Fast" msgstr "Дуже швидко" -#: backend/hp-option.c:3160 +#: backend/hp-option.c:3163 #, no-c-format msgid "2-pixel" msgstr "Двоточкове" -#: backend/hp-option.c:3161 +#: backend/hp-option.c:3164 #, no-c-format msgid "4-pixel" msgstr "Чотириточкове" -#: backend/hp-option.c:3162 +#: backend/hp-option.c:3165 #, no-c-format msgid "8-pixel" msgstr "Восьмиточкове" -#: backend/hp-option.c:3173 +#: backend/hp-option.c:3176 #, no-c-format msgid "Print" msgstr "Друк" -#: backend/hp-option.c:3175 +#: backend/hp-option.c:3178 #, no-c-format msgid "Film-strip" msgstr "Плівка" -#: backend/hp-option.c:3254 +#: backend/hp-option.c:3257 #, no-c-format msgid "XPA" msgstr "XPA" -#: backend/hp-option.c:3328 backend/hp-option.c:3341 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format msgid "Conditional" msgstr "Умовно" -#: backend/hp-option.c:3414 +#: backend/hp-option.c:3417 #, no-c-format msgid "Experiment" msgstr "Експеримент" @@ -3921,8 +4015,8 @@ msgstr "Вимкнути лампу" msgid "Shut off scanner lamp." msgstr "Вимкнути лампу сканера." -#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 -#: backend/kvs40xx_opt.c:516 backend/matsushita.h:219 +#: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 +#: backend/matsushita.h:219 #, no-c-format msgid "Paper size" msgstr "Розмір паперу" @@ -3933,8 +4027,7 @@ msgstr "Розмір паперу" msgid "Automatic separation" msgstr "Автоматичне відокремлення" -#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 -#: backend/kvs40xx_opt.c:531 +#: backend/kvs1025.h:53 backend/kvs20xx_opt.c:307 backend/kvs40xx_opt.c:531 #, no-c-format msgid "Landscape" msgstr "Альбомна" @@ -3949,38 +4042,34 @@ msgstr "Інверсивне зображення" msgid "Long paper mode" msgstr "Режим довгого паперу" -#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 -#: backend/kvs40xx_opt.c:393 +#: backend/kvs1025.h:57 backend/kvs20xx_opt.c:230 backend/kvs40xx_opt.c:393 #, no-c-format msgid "Length control mode" msgstr "Режим керування довжиною" -#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 -#: backend/kvs40xx_opt.c:416 +#: backend/kvs1025.h:58 backend/kvs20xx_opt.c:242 backend/kvs40xx_opt.c:416 #, no-c-format msgid "Manual feed mode" msgstr "Режим подавання вручну" -#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 -#: backend/kvs40xx_opt.c:428 +#: backend/kvs1025.h:59 backend/kvs20xx_opt.c:254 backend/kvs40xx_opt.c:428 #, no-c-format msgid "Manual feed timeout" msgstr "Час очікування на подачу вручну" -#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 -#: backend/kvs40xx_opt.c:441 +#: backend/kvs1025.h:60 backend/kvs20xx_opt.c:267 backend/kvs40xx_opt.c:441 #, no-c-format msgid "Double feed detection" msgstr "Виявлення двобічного подавання" -#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 -#: backend/kvs40xx_opt.c:354 backend/matsushita.h:223 +#: backend/kvs1025.h:63 backend/kvs20xx_opt.c:205 backend/kvs40xx_opt.c:354 +#: backend/matsushita.h:223 #, no-c-format msgid "Enable Duplex (Dual-Sided) Scanning" msgstr "Увімкнути двобічне сканування" -#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 -#: backend/kvs40xx_opt.c:517 backend/matsushita.h:225 +#: backend/kvs1025.h:65 backend/kvs20xx_opt.c:296 backend/kvs40xx_opt.c:517 +#: backend/matsushita.h:225 #, no-c-format msgid "Physical size of the paper in the ADF" msgstr "Фізичний розмір паперу у пристрої автоматичної подачі" @@ -4096,199 +4185,199 @@ msgstr "B6" msgid "Legal" msgstr "Легал" -#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:239 +#: backend/kvs1025_opt.c:148 backend/kvs40xx_opt.c:239 #, no-c-format msgid "bayer_64" msgstr "баєр_64" -#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:240 +#: backend/kvs1025_opt.c:149 backend/kvs40xx_opt.c:240 #, no-c-format msgid "bayer_16" msgstr "баєр_16" -#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:241 +#: backend/kvs1025_opt.c:150 backend/kvs40xx_opt.c:241 #, no-c-format msgid "halftone_32" msgstr "напівтони_32" -#: backend/kvs1025_opt.c:152 backend/kvs40xx_opt.c:242 +#: backend/kvs1025_opt.c:151 backend/kvs40xx_opt.c:242 #, no-c-format msgid "halftone_64" msgstr "напівтони_64" -#: backend/kvs1025_opt.c:153 +#: backend/kvs1025_opt.c:152 #, no-c-format msgid "diffusion" msgstr "розсіяне" -#: backend/kvs1025_opt.c:166 backend/kvs1025_opt.c:228 -#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:129 +#: backend/kvs1025_opt.c:165 backend/kvs1025_opt.c:227 +#: backend/kvs1025_opt.c:240 backend/kvs20xx_opt.c:129 #: backend/kvs20xx_opt.c:137 backend/kvs40xx_opt.c:215 #: backend/kvs40xx_opt.c:223 backend/kvs40xx_opt.c:258 #, no-c-format msgid "normal" msgstr "звичайне" -#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:259 +#: backend/kvs1025_opt.c:166 backend/kvs40xx_opt.c:259 #, no-c-format msgid "light" msgstr "світле" -#: backend/kvs1025_opt.c:168 backend/kvs40xx_opt.c:260 +#: backend/kvs1025_opt.c:167 backend/kvs40xx_opt.c:260 #, no-c-format msgid "dark" msgstr "темне" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:271 +#: backend/kvs1025_opt.c:178 backend/kvs40xx_opt.c:271 #, no-c-format msgid "From scanner" msgstr "Зі сканера" -#: backend/kvs1025_opt.c:180 backend/kvs40xx_opt.c:272 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 #: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Від паперу" -#: backend/kvs1025_opt.c:192 backend/kvs40xx_opt.c:284 +#: backend/kvs1025_opt.c:191 backend/kvs40xx_opt.c:284 #, no-c-format msgid "default" msgstr "типове" -#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:123 +#: backend/kvs1025_opt.c:210 backend/kvs20xx_opt.c:123 #: backend/kvs40xx_opt.c:209 #, no-c-format msgid "smooth" msgstr "гладке" -#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:119 +#: backend/kvs1025_opt.c:211 backend/kvs20xx_opt.c:119 #: backend/kvs40xx_opt.c:205 #, no-c-format msgid "none" msgstr "немає" -#: backend/kvs1025_opt.c:213 backend/kvs20xx_opt.c:120 +#: backend/kvs1025_opt.c:212 backend/kvs20xx_opt.c:120 #: backend/kvs40xx_opt.c:206 #, no-c-format msgid "low" msgstr "низьке" -#: backend/kvs1025_opt.c:214 backend/kvs1025_opt.c:804 +#: backend/kvs1025_opt.c:213 backend/kvs1025_opt.c:803 #: backend/kvs20xx_opt.c:121 backend/kvs40xx_opt.c:207 #, no-c-format msgid "medium" msgstr "середнє" -#: backend/kvs1025_opt.c:215 backend/kvs20xx_opt.c:122 +#: backend/kvs1025_opt.c:214 backend/kvs20xx_opt.c:122 #: backend/kvs40xx_opt.c:208 #, no-c-format msgid "high" msgstr "високе" -#: backend/kvs1025_opt.c:229 backend/kvs20xx_opt.c:130 +#: backend/kvs1025_opt.c:228 backend/kvs20xx_opt.c:130 #: backend/kvs40xx_opt.c:216 #, no-c-format msgid "crt" msgstr "ЕПТ" -#: backend/kvs1025_opt.c:230 +#: backend/kvs1025_opt.c:229 #, no-c-format msgid "linier" msgstr "лінійна" -#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:138 +#: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 #, no-c-format msgid "red" msgstr "червоний" -#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:139 +#: backend/kvs1025_opt.c:242 backend/kvs20xx_opt.c:139 #: backend/kvs40xx_opt.c:225 #, no-c-format msgid "green" msgstr "зелений" -#: backend/kvs1025_opt.c:244 backend/kvs20xx_opt.c:140 +#: backend/kvs1025_opt.c:243 backend/kvs20xx_opt.c:140 #: backend/kvs40xx_opt.c:226 #, no-c-format msgid "blue" msgstr "синій" -#: backend/kvs1025_opt.c:562 +#: backend/kvs1025_opt.c:561 #, no-c-format msgid "Sets the scan source" msgstr "Встановлює джерело сканування" -#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:218 +#: backend/kvs1025_opt.c:572 backend/kvs20xx_opt.c:218 #: backend/kvs40xx_opt.c:367 backend/matsushita.c:1126 #, no-c-format msgid "Feeder mode" msgstr "Режим подачі" -#: backend/kvs1025_opt.c:574 backend/kvs20xx_opt.c:219 +#: backend/kvs1025_opt.c:573 backend/kvs20xx_opt.c:219 #: backend/kvs40xx_opt.c:368 backend/matsushita.c:1127 #, no-c-format msgid "Sets the feeding mode" msgstr "Визначити режим подачі" -#: backend/kvs1025_opt.c:584 +#: backend/kvs1025_opt.c:583 #, no-c-format msgid "Enable/Disable long paper mode" msgstr "Увімкнути/Вимкнути режим довгого паперу" -#: backend/kvs1025_opt.c:593 +#: backend/kvs1025_opt.c:592 #, no-c-format msgid "Enable/Disable length control mode" msgstr "Увімкнути/Вимкнути режим керування довжиною" -#: backend/kvs1025_opt.c:601 backend/kvs20xx_opt.c:243 +#: backend/kvs1025_opt.c:600 backend/kvs20xx_opt.c:243 #: backend/kvs40xx_opt.c:417 #, no-c-format msgid "Sets the manual feed mode" msgstr "Встановлює режим подавання вручну" -#: backend/kvs1025_opt.c:612 backend/kvs20xx_opt.c:255 +#: backend/kvs1025_opt.c:611 backend/kvs20xx_opt.c:255 #: backend/kvs40xx_opt.c:429 #, no-c-format msgid "Sets the manual feed timeout in seconds" msgstr "Встановлює час очікування на подавання вручну" -#: backend/kvs1025_opt.c:625 backend/kvs20xx_opt.c:268 +#: backend/kvs1025_opt.c:624 backend/kvs20xx_opt.c:268 #: backend/kvs40xx_opt.c:442 #, no-c-format msgid "Enable/Disable double feed detection" msgstr "Увімкнути або вимкнути виявлення подвійного подавання" -#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:276 +#: backend/kvs1025_opt.c:630 backend/kvs20xx_opt.c:276 #: backend/kvs40xx_opt.c:497 #, no-c-format msgid "fit-to-page" msgstr "за аркушем" -#: backend/kvs1025_opt.c:632 backend/kvs20xx_opt.c:277 +#: backend/kvs1025_opt.c:631 backend/kvs20xx_opt.c:277 #: backend/kvs40xx_opt.c:498 #, no-c-format msgid "Fit to page" msgstr "За аркушем" -#: backend/kvs1025_opt.c:634 backend/kvs20xx_opt.c:278 +#: backend/kvs1025_opt.c:633 backend/kvs20xx_opt.c:278 #: backend/kvs40xx_opt.c:499 #, no-c-format msgid "Scanner shrinks image to fit scanned page" msgstr "Сканер стискає зображення відповідно до розмірів аркуша" -#: backend/kvs1025_opt.c:661 backend/kvs20xx_opt.c:309 +#: backend/kvs1025_opt.c:660 backend/kvs20xx_opt.c:309 #: backend/kvs40xx_opt.c:533 #, no-c-format msgid "Set paper position : true for landscape, false for portrait" msgstr "Встановлює розташування аркуша: true — альбомне, false — книжкове" -#: backend/kvs1025_opt.c:735 backend/matsushita.c:1224 +#: backend/kvs1025_opt.c:734 backend/matsushita.c:1224 #, no-c-format msgid "Automatic threshold" msgstr "Автоматичне визначення" -#: backend/kvs1025_opt.c:738 backend/matsushita.c:1227 +#: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" "Automatically sets brightness, contrast, white level, gamma, noise " @@ -4297,99 +4386,99 @@ msgstr "" "Встановлювати яскравість, контрастність, рівень білого, гаму, зменшення " "шумності і виразність зображення автоматично" -#: backend/kvs1025_opt.c:783 backend/kvs40xx_opt.c:764 +#: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 #, no-c-format msgid "Noise reduction" msgstr "Зменшення шумності" -#: backend/kvs1025_opt.c:785 backend/kvs40xx_opt.c:765 +#: backend/kvs1025_opt.c:784 backend/kvs40xx_opt.c:765 #: backend/matsushita.c:1277 #, no-c-format msgid "Reduce the isolated dot noise" msgstr "Зменшити шум від ізольованих точок" -#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:412 +#: backend/kvs1025_opt.c:795 backend/kvs20xx_opt.c:412 #: backend/kvs40xx_opt.c:655 backend/matsushita.c:1288 #, no-c-format msgid "Image emphasis" msgstr "Виразність зображення" -#: backend/kvs1025_opt.c:797 backend/kvs20xx_opt.c:413 +#: backend/kvs1025_opt.c:796 backend/kvs20xx_opt.c:413 #: backend/kvs40xx_opt.c:656 backend/matsushita.c:1289 #, no-c-format msgid "Sets the image emphasis" msgstr "Визначає виразність зображення" -#: backend/kvs1025_opt.c:808 backend/kvs1025_opt.c:809 +#: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 #: backend/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Гама" -#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:436 +#: backend/kvs1025_opt.c:817 backend/kvs20xx_opt.c:436 #: backend/kvs40xx_opt.c:681 #, no-c-format msgid "Lamp color" msgstr "Колір лампи" -#: backend/kvs1025_opt.c:819 backend/kvs20xx_opt.c:437 +#: backend/kvs1025_opt.c:818 backend/kvs20xx_opt.c:437 #: backend/kvs40xx_opt.c:682 #, no-c-format msgid "Sets the lamp color (color dropout)" msgstr "Встановлює колір лампи (відкидання кольорів)" -#: backend/kvs1025_opt.c:832 +#: backend/kvs1025_opt.c:831 #, no-c-format msgid "Inverse image in B/W or halftone mode" msgstr "Інверсивне зображення у чорно-білому або півтоновому режимі" -#: backend/kvs1025_opt.c:840 +#: backend/kvs1025_opt.c:839 #, no-c-format msgid "Mirror image (left/right flip)" msgstr "Віддзеркалити зображення (перевертання через лівий/правий край)" -#: backend/kvs1025_opt.c:847 +#: backend/kvs1025_opt.c:846 #, no-c-format msgid "jpeg compression" msgstr "стискання jpeg" -#: backend/kvs1025_opt.c:850 +#: backend/kvs1025_opt.c:849 #, no-c-format msgid "JPEG Image Compression with Q parameter, '0' - no compression" msgstr "Стискання зображень JPEG з параметром Q, «0» — не стискати" -#: backend/kvs1025_opt.c:860 +#: backend/kvs1025_opt.c:859 #, no-c-format msgid "Rotate image clockwise" msgstr "Обернути зображення за год. стрілкою" -#: backend/kvs1025_opt.c:862 +#: backend/kvs1025_opt.c:861 #, no-c-format msgid "Request driver to rotate pages by a fixed amount" msgstr "" "Вимагати від драйвера обертання сторінок на фіксований вказаний кут" -#: backend/kvs1025_opt.c:874 +#: backend/kvs1025_opt.c:873 #, no-c-format msgid "Request driver to rotate skewed pages digitally" msgstr "" "Вимагати від драйвера усування обертання сторінок у автоматичному режимі" -#: backend/kvs1025_opt.c:883 +#: backend/kvs1025_opt.c:882 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan" msgstr "" "Мінімальний діаметр окремих плям, які слід усунути зі сканованого " "зображення" -#: backend/kvs1025_opt.c:902 +#: backend/kvs1025_opt.c:901 #, no-c-format msgid "Software automatic cropping" msgstr "Програмне автоматичне обрізання" -#: backend/kvs1025_opt.c:904 +#: backend/kvs1025_opt.c:903 #, no-c-format msgid "Request driver to remove border from pages digitally" msgstr "" @@ -5122,17 +5211,17 @@ msgstr "3x3 нетипове" msgid "2x2 custom" msgstr "2x2 нетипове" -#: backend/mustek.c:4235 +#: backend/mustek.c:4247 #, no-c-format msgid "Fast gray mode" msgstr "Швидкий чорно-білий режим" -#: backend/mustek.c:4236 +#: backend/mustek.c:4248 #, no-c-format msgid "Scan in fast gray mode (lower quality)." msgstr "Сканувати у швидкому чорно-білому режимі (погана якість)." -#: backend/mustek.c:4333 +#: backend/mustek.c:4345 #, no-c-format msgid "" "Request that all previews are done in the fastest (low-quality) mode. " @@ -5142,82 +5231,82 @@ msgstr "" "(низькоякісному) режимі. Цим режимом може бути чорно-білий режим або " "режим з низькою роздільною здатністю." -#: backend/mustek.c:4341 +#: backend/mustek.c:4353 #, no-c-format msgid "Lamp off time (minutes)" msgstr "Час вимикання лампи (у хвилинах)" -#: backend/mustek.c:4342 +#: backend/mustek.c:4354 #, no-c-format msgid "Set the time (in minutes) after which the lamp is shut off." msgstr "Визначає час (у хвилинах), через який лампу буде вимкнено." -#: backend/mustek.c:4353 +#: backend/mustek.c:4365 #, no-c-format msgid "Turn lamp off" msgstr "Вимкнути лампу" -#: backend/mustek.c:4354 +#: backend/mustek.c:4366 #, no-c-format msgid "Turns the lamp off immediately." msgstr "Негайно вимикає лампу." -#: backend/mustek.c:4431 +#: backend/mustek.c:4443 #, no-c-format msgid "Red brightness" msgstr "Яскравість червоного" -#: backend/mustek.c:4432 +#: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." msgstr "Керує яскравістю каналу червоного у отриманому зображенні." -#: backend/mustek.c:4444 +#: backend/mustek.c:4456 #, no-c-format msgid "Green brightness" msgstr "Яскравість зеленого" -#: backend/mustek.c:4445 +#: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." msgstr "Керує яскравістю каналу зеленого у отриманому зображенні." -#: backend/mustek.c:4457 +#: backend/mustek.c:4469 #, no-c-format msgid "Blue brightness" msgstr "Яскравість синього" -#: backend/mustek.c:4458 +#: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." msgstr "Керує яскравістю каналу синього у отриманому зображенні." -#: backend/mustek.c:4483 +#: backend/mustek.c:4495 #, no-c-format msgid "Contrast red channel" msgstr "Контрастність червоного каналу" -#: backend/mustek.c:4484 +#: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." msgstr "Керує контрастністю каналу червоного у отриманому зображенні." -#: backend/mustek.c:4496 +#: backend/mustek.c:4508 #, no-c-format msgid "Contrast green channel" msgstr "Контрастність зеленого каналу" -#: backend/mustek.c:4497 +#: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." msgstr "Керує контрастністю каналу зеленого у отриманому зображенні." -#: backend/mustek.c:4509 +#: backend/mustek.c:4521 #, no-c-format msgid "Contrast blue channel" msgstr "Контрастність синього каналу" -#: backend/mustek.c:4510 +#: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." msgstr "Керує контрастністю каналу синього у отриманому зображенні." @@ -5261,22 +5350,22 @@ msgstr "" "Розігрівати, до сталої яскравості лампи, не наполягати на 40-ти " "секундному розігріві." -#: backend/pixma.c:378 +#: backend/pixma.c:397 #, no-c-format msgid "Negative color" msgstr "Кольоровий негатив" -#: backend/pixma.c:383 +#: backend/pixma.c:402 #, no-c-format msgid "Negative gray" msgstr "Чорно-білий негатив" -#: backend/pixma.c:396 +#: backend/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "48-бітовий колір" -#: backend/pixma.c:401 +#: backend/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "16-бітовий сірий" @@ -5881,7 +5970,7 @@ msgstr "Чорно-білих ліній на сеанс читання" #: backend/stv680.c:974 #, no-c-format msgid "webcam" -msgstr "Веб-камера" +msgstr "вебкамера" #: backend/stv680.h:115 #, no-c-format @@ -6586,10 +6675,3 @@ msgstr "Визначає зсув каналу зеленого" #, no-c-format msgid "Sets blue channel offset" msgstr "Визначає зсув каналу синього" - -#, fuzzy -#~ msgid "IPC mode" -#~ msgstr "Режим попереднього перегляду" - -#~ msgid "problem not analyzed (unknown SCSI class)" -#~ msgstr "Проблема не піддається аналізу (невідомий клас SCSI)" diff --git a/sane-backends.lsm b/sane-backends.lsm deleted file mode 100644 index 5f8f721..0000000 --- a/sane-backends.lsm +++ /dev/null @@ -1,27 +0,0 @@ -Begin4 -Title: sane-backends -Version: _VERSION_ -Entered-date: _DATE_ -Description: SANE (Scanner Access Now Easy) is a universal scanner - interface. SANE-BACKENDS comes complete with documentation, - many backends, scanimage command line frontend, and - networking support. For other/graphical frontends take a look - at sane-frontends and XSane. -Keywords: scanner, camera, flatbed, automatic document feeder (ADF), - slides, diapositive, negative, film, transparency, CIS, CCD, - network server & client, Java API & client -Author: The SANE development team (sane-devel@lists.alioth.debian.org) - (see AUTHORS for complete list) -Maintained-by: kitno455@gmail.com (m. allan noah) -Primary-site: ftp.sane-project.org /pub/sane/sane-backends-_VERSION_ - _T_S_ kB sane-backends-_VERSION_.tar.gz - _L_S_ kB sane-backends-_VERSION_.lsm -Alternate-site: sunsite.unc.edu /pub/Linux/apps/graphics/capture -Platforms: AIX, Digital Unix, HP Apollo Domain/OS, FreeBSD, HP-UX, IRIX, - Linux (Alpha, m68k, SPARC, x86), NetBSD, OpenBSD, - OpenStep (x86), SCO OpenServer 5.x (x86), OS/2, - Solaris (SPARC, x86), SunOS. - GNU make is needed. -Copying-policy: GPL (programs), relaxed GPL (libraries), and public domain - (SANE standard) -End diff --git a/sanei/Makefile.in b/sanei/Makefile.in deleted file mode 100644 index c6fa654..0000000 --- a/sanei/Makefile.in +++ /dev/null @@ -1,704 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@HAVE_JPEG_TRUE@am__append_1 = sanei_jpeg.c -subdir = sanei -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/sane/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libsanei_la_LIBADD = -am__libsanei_la_SOURCES_DIST = sanei_ab306.c sanei_constrain_value.c \ - sanei_init_debug.c sanei_net.c sanei_wire.c \ - sanei_codec_ascii.c sanei_codec_bin.c sanei_scsi.c \ - sanei_config.c sanei_config2.c sanei_pio.c sanei_pa4s2.c \ - sanei_auth.c sanei_usb.c sanei_thread.c sanei_pv8630.c \ - sanei_pp.c sanei_lm983x.c sanei_access.c sanei_tcp.c \ - sanei_udp.c sanei_magic.c sanei_ir.c sanei_jpeg.c -@HAVE_JPEG_TRUE@am__objects_1 = sanei_jpeg.lo -am_libsanei_la_OBJECTS = sanei_ab306.lo sanei_constrain_value.lo \ - sanei_init_debug.lo sanei_net.lo sanei_wire.lo \ - sanei_codec_ascii.lo sanei_codec_bin.lo sanei_scsi.lo \ - sanei_config.lo sanei_config2.lo sanei_pio.lo sanei_pa4s2.lo \ - sanei_auth.lo sanei_usb.lo sanei_thread.lo sanei_pv8630.lo \ - sanei_pp.lo sanei_lm983x.lo sanei_access.lo sanei_tcp.lo \ - sanei_udp.lo sanei_magic.lo sanei_ir.lo $(am__objects_1) -libsanei_la_OBJECTS = $(am_libsanei_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/sane -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libsanei_la_SOURCES) -DIST_SOURCES = $(am__libsanei_la_SOURCES_DIST) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(srcdir) -I$(top_builddir)/include \ - -I$(top_srcdir)/include $(USB_CFLAGS) -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AVAHI_CFLAGS = @AVAHI_CFLAGS@ -AVAHI_LIBS = @AVAHI_LIBS@ -AWK = @AWK@ -BACKENDS = @BACKENDS@ -BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ -BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLH = @DLH@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVIPS = @DVIPS@ -DYNAMIC_FLAG = @DYNAMIC_FLAG@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FIG2DEV = @FIG2DEV@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ -GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ -GPHOTO2_LIBS = @GPHOTO2_LIBS@ -GREP = @GREP@ -GS = @GS@ -HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -JPEG_LIBS = @JPEG_LIBS@ -LATEX = @LATEX@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOCKPATH_GROUP = @LOCKPATH_GROUP@ -LTALLOCA = @LTALLOCA@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINDEX = @MAKEINDEX@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_LIBS = @PNG_LIBS@ -POSUB = @POSUB@ -PPMTOGIF = @PPMTOGIF@ -PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ -PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RESMGR_LIBS = @RESMGR_LIBS@ -SANEI_SANEI_JPEG_LO = @SANEI_SANEI_JPEG_LO@ -SANE_CONFIG_PATH = @SANE_CONFIG_PATH@ -SCSI_LIBS = @SCSI_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SNMP_CFLAGS = @SNMP_CFLAGS@ -SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ -SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ -STRICT_LDFLAGS = @STRICT_LDFLAGS@ -STRIP = @STRIP@ -SYSLOG_LIBS = @SYSLOG_LIBS@ -SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ -SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_CFLAGS = @USB_CFLAGS@ -USB_LIBS = @USB_LIBS@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -configdir = @configdir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -effective_target = @effective_target@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -locksanedir = @locksanedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -noinst_LTLIBRARIES = libsanei.la -libsanei_la_SOURCES = sanei_ab306.c sanei_constrain_value.c \ - sanei_init_debug.c sanei_net.c sanei_wire.c \ - sanei_codec_ascii.c sanei_codec_bin.c sanei_scsi.c \ - sanei_config.c sanei_config2.c sanei_pio.c sanei_pa4s2.c \ - sanei_auth.c sanei_usb.c sanei_thread.c sanei_pv8630.c \ - sanei_pp.c sanei_lm983x.c sanei_access.c sanei_tcp.c \ - sanei_udp.c sanei_magic.c sanei_ir.c $(am__append_1) -EXTRA_DIST = linux_sg3_err.h os2_srb.h sanei_DomainOS.c sanei_DomainOS.h -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sanei/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu sanei/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libsanei.la: $(libsanei_la_OBJECTS) $(libsanei_la_DEPENDENCIES) $(EXTRA_libsanei_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libsanei_la_OBJECTS) $(libsanei_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_ab306.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_access.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_auth.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_codec_ascii.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_codec_bin.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_config.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_config2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_constrain_value.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_init_debug.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_ir.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_jpeg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_lm983x.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_magic.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_net.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_pa4s2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_pio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_pp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_pv8630.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_scsi.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_tcp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_thread.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_udp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_usb.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_wire.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/sanei/sanei_DomainOS.c b/sanei/sanei_DomainOS.c index 5473151..7b851a8 100644 --- a/sanei/sanei_DomainOS.c +++ b/sanei/sanei_DomainOS.c @@ -326,7 +326,7 @@ static void DomainSCSIWait(void) static status_$t sense_status; static pinteger sense_return_count; static int temp; - + /* Issue the sense command (wire, issue, wait, unwire */ sense_cdb_size = sizeof(scanner_sense_cdb); memcpy(&sense_cdb, scanner_sense_cdb, sense_cdb_size); diff --git a/sanei/sanei_DomainOS.h b/sanei/sanei_DomainOS.h index ff93503..8f88e5f 100644 --- a/sanei/sanei_DomainOS.h +++ b/sanei/sanei_DomainOS.h @@ -73,4 +73,3 @@ struct DomainServerCommon }; #endif /*DomainSenseSize*/ - diff --git a/sanei/sanei_ab306.c b/sanei/sanei_ab306.c index 898acf6..4483fec 100644 --- a/sanei/sanei_ab306.c +++ b/sanei/sanei_ab306.c @@ -294,7 +294,7 @@ sanei_ab306_open (const char *dev, int *fdp) status = sanei_ab306_get_io_privilege (i); if (status != SANE_STATUS_GOOD) return status; - + DBG(1, "sanei_ab306_ioport: using inb/outb access\n"); for (j = 0; j < NELEMS(wakeup); ++j) { @@ -477,7 +477,7 @@ sanei_ab306_rdata (int fd, int planes, SANE_Byte * buf, int lines, int bpl) do nstat = ab306_inb (p, p->base + 1); while (((p->lstat ^ nstat) & 0x10) == 0); - + if (p->port_fd >= 0) { /* the pixel-loop: */ diff --git a/sanei/sanei_access.c b/sanei/sanei_access.c index b77cdd9..cb19c5c 100644 --- a/sanei/sanei_access.c +++ b/sanei/sanei_access.c @@ -80,10 +80,10 @@ #ifdef ENABLE_LOCKING /** get the status/owner of a lock file * - * The function tries to open an existing lockfile. On success, it reads out + * The function tries to open an existing lockfile. On success, it reads out * the pid which is stored inside and tries to find out more about the status * of the process with the corresponding PID. - * + * * @param fn - the complete filename of the lockfile to check * @return * - PROCESS_SELF - the calling process is owner of the lockfile @@ -96,10 +96,10 @@ get_lock_status( char *fn ) char pid_buf[PID_BUFSIZE]; int fd, status; pid_t pid; - + fd = open( fn, O_RDONLY ); if( fd < 0 ) { - DBG( 2, "does_process_exist: open >%s< failed: %s\n", + DBG( 2, "does_process_exist: open >%s< failed: %s\n", fn, strerror(errno)); return PROCESS_OTHER; } @@ -155,7 +155,7 @@ sanei_access_init( const char *backend ) DBG( 2, "sanei_access_init: >%s<\n", backend); } -SANE_Status +SANE_Status sanei_access_lock( const char *devicename, SANE_Word timeout ) { #ifdef ENABLE_LOCKING @@ -164,7 +164,7 @@ sanei_access_lock( const char *devicename, SANE_Word timeout ) int fd, to, i; #endif - DBG( 2, "sanei_access_lock: devname >%s<, timeout: %u\n", + DBG( 2, "sanei_access_lock: devname >%s<, timeout: %u\n", devicename, timeout ); #ifndef ENABLE_LOCKING return SANE_STATUS_GOOD; @@ -179,7 +179,7 @@ sanei_access_lock( const char *devicename, SANE_Word timeout ) fd = open( fn, O_CREAT | O_EXCL | O_WRONLY, 0644 ); if (fd < 0) { - + if (errno == EEXIST) { switch( get_lock_status( fn )) { case PROCESS_DEAD: @@ -198,7 +198,7 @@ sanei_access_lock( const char *devicename, SANE_Word timeout ) DBG( 2, "sanei_access_lock: lock exists, waiting...\n" ); sleep(1); } else { - DBG( 1, "sanei_access_lock: open >%s< failed: %s\n", + DBG( 1, "sanei_access_lock: open >%s< failed: %s\n", fn, strerror(errno)); return SANE_STATUS_ACCESS_DENIED; } @@ -215,7 +215,7 @@ sanei_access_lock( const char *devicename, SANE_Word timeout ) #endif } -SANE_Status +SANE_Status sanei_access_unlock( const char *devicename ) { #ifdef ENABLE_LOCKING diff --git a/sanei/sanei_auth.c b/sanei/sanei_auth.c index cbba06c..9039187 100644 --- a/sanei/sanei_auth.c +++ b/sanei/sanei_auth.c @@ -36,7 +36,7 @@ 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. + If you do not wish that, delete this exception notice. This file implements an interface for user authorization using MD5 digest */ diff --git a/sanei/sanei_config.c b/sanei/sanei_config.c index c158766..0eaee9a 100644 --- a/sanei/sanei_config.c +++ b/sanei/sanei_config.c @@ -227,7 +227,7 @@ sanei_config_read (char *str, int n, FILE *stream) while( isspace( *start)) start++; - if (start != str) + if (start != str) do { *str++ = *start++; } while( *str); @@ -266,7 +266,7 @@ sanei_configure_attach (const char *config_file, SANEI_Config * config, } /* loop reading the configuration file, all line beginning by "option " are - * parsed for value to store in configuration structure, other line are + * parsed for value to store in configuration structure, other line are * used are device to try to attach */ while (sanei_config_read (line, PATH_MAX, fp) && status == SANE_STATUS_GOOD) @@ -292,7 +292,7 @@ sanei_configure_attach (const char *config_file, SANEI_Config * config, /* to ensure maximum compatibility, we accept line like: * option "option_name" "option_value" - * "option_name" "option_value" + * "option_name" "option_value" * So we parse the line 2 time to find an option */ /* check if it is an option */ lp = sanei_config_get_string (lp, &token); @@ -405,7 +405,7 @@ sanei_configure_attach (const char *config_file, SANEI_Config * config, config->descriptors[i]->type, config->descriptors[i]->name); } - + /* check decoded value */ status = sanei_check_value (config->descriptors[i], value); @@ -438,7 +438,7 @@ sanei_configure_attach (const char *config_file, SANEI_Config * config, /* to avoid every backend to depend on scsi and usb functions * we call back the backend for attach. In turn it will call * sanei_usb_attach_matching_devices, sanei_config_attach_matching_devices - * or other. This means 2 callback functions per backend using this + * or other. This means 2 callback functions per backend using this * function. */ DBG (3, "sanei_configure_attach: trying to attach with '%s'\n", lp2); diff --git a/sanei/sanei_config2.c b/sanei/sanei_config2.c index 44c6b93..cd9484d 100644 --- a/sanei/sanei_config2.c +++ b/sanei/sanei_config2.c @@ -149,6 +149,6 @@ sanei_config_attach_matching_devices (const char *name, if (type) free (type); } - else + else (*attach) (name); } diff --git a/sanei/sanei_init_debug.c b/sanei/sanei_init_debug.c index 0abb891..946aee9 100644 --- a/sanei/sanei_init_debug.c +++ b/sanei/sanei_init_debug.c @@ -107,16 +107,31 @@ sanei_init_debug (const char * backend, int * var) DBG (0, "Setting debug level of %s to %d.\n", backend, *var); } +static int +is_socket (int fd) +{ + struct stat sbuf; + + if (fstat(fd, &sbuf) == -1) return 0; + +#if defined(S_ISSOCK) + return S_ISSOCK(sbuf.st_mode); +#elif defined (S_IFMT) && defined(S_IFMT) + return (sbuf.st_mode & S_IFMT) == S_IFSOCK; +#else + return 0; +#endif +} + void sanei_debug_msg (int level, int max_level, const char *be, const char *fmt, va_list ap) { char *msg; - + if (max_level >= level) { -#ifdef S_IFSOCK - if ( 1 == isfdtype(fileno(stderr), S_IFSOCK) ) + if (is_socket(fileno(stderr))) { msg = (char *)malloc (sizeof(char) * (strlen(be) + strlen(fmt) + 4)); if (msg == NULL) @@ -132,12 +147,11 @@ sanei_debug_msg } } else -#endif { fprintf (stderr, "[%s] ", be); vfprintf (stderr, fmt, ap); } - + } } diff --git a/sanei/sanei_lm983x.c b/sanei/sanei_lm983x.c index 5b41985..62dfad9 100644 --- a/sanei/sanei_lm983x.c +++ b/sanei/sanei_lm983x.c @@ -4,7 +4,7 @@ Copyright (C) 2002-2004 Gerhard Jaeger 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 @@ -96,20 +96,20 @@ sanei_lm983x_write( SANE_Int fd, SANE_Byte reg, DBG( 15, "sanei_lm983x_write: fd=%d, reg=%d, len=%d, increment=%d\n", fd, reg, len, increment); - + if( reg > _LM9831_MAX_REG ) { DBG( 1, "sanei_lm983x_write: register out of range (%u>%u)\n", reg, _LM9831_MAX_REG ); return SANE_STATUS_INVAL; } - + for( bytes = 0; len > 0; ) { max_len = _MIN( len, _MAX_TRANSFER_SIZE ); command_buffer[0] = 0; /* write */ command_buffer[1] = reg; /* LM983x register */ - + if( increment == SANE_TRUE ) { command_buffer[0] += 0x02; /* increase reg? */ command_buffer[1] += bytes; @@ -122,7 +122,7 @@ sanei_lm983x_write( SANE_Int fd, SANE_Byte reg, size = (max_len + _CMD_BYTE_CNT); result = sanei_usb_write_bulk( fd, command_buffer, &size ); - + if( SANE_STATUS_GOOD != result ) return result; @@ -183,7 +183,7 @@ sanei_lm983x_read( SANE_Int fd, SANE_Byte reg, if( SANE_STATUS_GOOD != result ) return result; - + if( size != _CMD_BYTE_CNT) { DBG( 1, "sanei_lm983x_read: short write while writing command " "(%d/_CMD_BYTE_CNT)\n", result); @@ -228,7 +228,7 @@ SANE_Bool sanei_lm983x_reset( SANE_Int fd ) DBG( 15, "sanei_lm983x_reset()\n" ); for( i = 0; i < _MAX_RETRY; i++ ) { - + /* Read the command register and check that the reset bit is not set * If it is set, clear it and return false to indicate that * the bit has only now been cleared diff --git a/sanei/sanei_magic.c b/sanei/sanei_magic.c index bfd56cc..3e71946 100644 --- a/sanei/sanei_magic.c +++ b/sanei/sanei_magic.c @@ -123,17 +123,17 @@ sanei_magic_despeck (SANE_Parameters * params, SANE_Byte * buffer, /* convert darkest pixel into a brighter threshold */ thresh = (thresh + 255*3 + 255*3)/3; - + /*loop over rows and columns around window */ for(k=-1; kformat == SANE_FRAME_GRAY && params->depth == 1){ for(i=bw; i> (7-(j+l)%8) & 1; if(hits) @@ -631,7 +631,7 @@ sanei_magic_rotate (SANE_Parameters * params, SANE_Byte * buffer, goto cleanup; } - if(params->format == SANE_FRAME_RGB || + if(params->format == SANE_FRAME_RGB || (params->format == SANE_FRAME_GRAY && params->depth == 8) ){ @@ -642,19 +642,19 @@ sanei_magic_rotate (SANE_Parameters * params, SANE_Byte * buffer, for (i=0; i= pwidth) continue; - + sourceY = centerY + (int)(-shiftY * slopeCos + shiftX * slopeSin); if (sourceY < 0 || sourceY >= height) continue; - + for (k=0; k= pwidth) continue; - + sourceY = centerY + (int)(-shiftY * slopeCos + shiftX * slopeSin); if (sourceY < 0 || sourceY >= height) continue; @@ -689,7 +689,7 @@ sanei_magic_rotate (SANE_Parameters * params, SANE_Byte * buffer, outbuf[i*bwidth + j/8] &= ~(1 << (7-(j%8))); /* fill in new bit */ - outbuf[i*bwidth + j/8] |= + outbuf[i*bwidth + j/8] |= ((buffer[sourceY*bwidth + sourceX/8] >> (7-(sourceX%8))) & 1) << (7-(j%8)); } @@ -726,7 +726,7 @@ sanei_magic_isBlank (SANE_Parameters * params, SANE_Byte * buffer, /*convert thresh from percent (0-100) to 0-1 range*/ thresh /= 100; - if(params->format == SANE_FRAME_RGB || + if(params->format == SANE_FRAME_RGB || (params->format == SANE_FRAME_GRAY && params->depth == 8) ){ @@ -783,7 +783,7 @@ sanei_magic_isBlank (SANE_Parameters * params, SANE_Byte * buffer, /* Divide the image into 1/2 inch squares, skipping a 1/4 inch * margin on all sides. If all squares are under the user's density, - * signal our caller to skip the image entirely, by returning + * signal our caller to skip the image entirely, by returning * SANE_STATUS_NO_DOCS */ SANE_Status sanei_magic_isBlank2 (SANE_Parameters * params, SANE_Byte * buffer, @@ -813,12 +813,12 @@ sanei_magic_isBlank2 (SANE_Parameters * params, SANE_Byte * buffer, for(yb=0; ybbytes_per_line + (xquarter + xb*xhalf) * Bpp; @@ -826,7 +826,7 @@ sanei_magic_isBlank2 (SANE_Parameters * params, SANE_Byte * buffer, /*count darkness of pix in this row*/ int rowsum = 0; - + for(x=0; xbytes_per_line + (xquarter + xb*xhalf) / 8; @@ -860,7 +860,7 @@ sanei_magic_isBlank2 (SANE_Parameters * params, SANE_Byte * buffer, /*count darkness of pix in this row*/ int rowsum = 0; - + for(x=0; x> (7-(x%8)) & 1; } @@ -898,7 +898,7 @@ sanei_magic_findTurn(SANE_Parameters * params, SANE_Byte * buffer, DBG(10,"sanei_magic_findTurn: start\n"); - if(params->format == SANE_FRAME_RGB || + if(params->format == SANE_FRAME_RGB || (params->format == SANE_FRAME_GRAY && params->depth == 8) ){ @@ -1125,7 +1125,7 @@ sanei_magic_turn(SANE_Parameters * params, SANE_Byte * buffer, } /*turn color & gray image*/ - if(params->format == SANE_FRAME_RGB || + if(params->format == SANE_FRAME_RGB || (params->format == SANE_FRAME_GRAY && params->depth == 8) ){ @@ -1282,7 +1282,7 @@ getTopEdge(int width, int height, int resolution, double topSlope = 0; int topOffset = 0; int topDensity = 0; - + int i,j; int pass = 0; @@ -1436,7 +1436,7 @@ getLine (int height, int width, int * buff, /* find central value of this 'bucket' */ slopeCenter[j] = ( - (double)j*(maxSlope-minSlope)/slopes+minSlope + (double)j*(maxSlope-minSlope)/slopes+minSlope + (double)(j+1)*(maxSlope-minSlope)/slopes+minSlope )/2; @@ -1525,7 +1525,7 @@ getLine (int height, int width, int * buff, maxDensity = lines[i][j]; } } - + DBG(15,"getLine: maxDensity %d\n",maxDensity); *finSlope = 0; @@ -1544,20 +1544,20 @@ getLine (int height, int width, int * buff, } } } - + if(0){ fprintf(stderr,"offsetCenter: "); for(j=0;j -1){ int byi = bot[i] - (slope * i); @@ -1677,7 +1677,7 @@ getLeftEdge (int width, int height, int * top, int * bot, /* Loop thru the image and look for first color change in each column. * Return a malloc'd array. Caller is responsible for freeing. */ -int * +int * sanei_magic_getTransY ( SANE_Parameters * params, int dpi, SANE_Byte * buffer, int top) { @@ -1715,7 +1715,7 @@ sanei_magic_getTransY ( /* load the buff array with y value for first color change from edge * gray/color uses a different algo from binary/halftone */ - if(params->format == SANE_FRAME_RGB || + if(params->format == SANE_FRAME_RGB || (params->format == SANE_FRAME_GRAY && params->depth == 8) ){ @@ -1734,10 +1734,10 @@ sanei_magic_getTransY ( } near *= winLen; far = near; - + /* move windows, check delta */ for(j=firstLine+direction; j!=lastLine; j+=direction){ - + int farLine = j-winLen*2*direction; int nearLine = j-winLen*direction; @@ -1770,10 +1770,10 @@ sanei_magic_getTransY ( int near = 0; for(i=0; i> (7-(i%8)) & 1; - + /* move */ for(j=firstLine+direction; j!=lastLine; j+=direction){ if((buffer[(j*width+i)/8] >> (7-(i%8)) & 1) != near){ @@ -1809,7 +1809,7 @@ sanei_magic_getTransY ( /* Loop thru the image height and look for first color change in each row. * Return a malloc'd array. Caller is responsible for freeing. */ -int * +int * sanei_magic_getTransX ( SANE_Parameters * params, int dpi, SANE_Byte * buffer, int left) { @@ -1848,7 +1848,7 @@ sanei_magic_getTransX ( /* load the buff array with x value for first color change from edge * gray/color uses a different algo from binary/halftone */ - if(params->format == SANE_FRAME_RGB || + if(params->format == SANE_FRAME_RGB || (params->format == SANE_FRAME_GRAY && params->depth == 8) ){ @@ -1867,10 +1867,10 @@ sanei_magic_getTransX ( } near *= winLen; far = near; - + /* move windows, check delta */ for(j=firstCol+direction; j!=lastCol; j+=direction){ - + int farCol = j-winLen*2*direction; int nearCol = j-winLen*direction; @@ -1888,7 +1888,7 @@ sanei_magic_getTransX ( near -= buffer[i*bwidth + nearCol*depth + k]; near += buffer[i*bwidth + j*depth + k]; } - + if(abs(near - far) > 50*winLen*depth - near*40/255){ buff[i] = j; break; @@ -1902,10 +1902,10 @@ sanei_magic_getTransX ( int near = 0; for(i=0; i> (7-(firstCol%8)) & 1; - + /* move */ for(j=firstCol+direction; j!=lastCol; j+=direction){ if((buffer[i*bwidth + j/8] >> (7-(j%8)) & 1) != near){ @@ -1938,4 +1938,3 @@ sanei_magic_getTransX ( return buff; } - diff --git a/sanei/sanei_pa4s2.c b/sanei/sanei_pa4s2.c index d1be0c0..282e6fd 100644 --- a/sanei/sanei_pa4s2.c +++ b/sanei/sanei_pa4s2.c @@ -37,7 +37,7 @@ 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. + If you do not wish that, delete this exception notice. This file implements an interface for the Mustek PP chipset A4S2 */ @@ -48,7 +48,7 @@ 3 - things nice to know 4 - code flow 5 - detailed flow - 6 - everything + 6 - everything These debug levels can be set using the environment variable SANE_DEBUG_SANEI_PA4S2 */ @@ -333,7 +333,7 @@ pa4s2_init (SANE_Status *status) } DBG (3, "pa4s2_init: %d ports reported by IEEE 1284 library\n", pplist.portc); - + for (n=0; nname); @@ -388,7 +388,7 @@ pa4s2_open (const char *dev, SANE_Status * status) #if !defined (HAVE_LIBIEEE1284) u_long base; #endif - + DBG (4, "pa4s2_open: trying to attach dev `%s`\n", dev); if ((result = pa4s2_init(status)) != 0) @@ -397,7 +397,7 @@ pa4s2_open (const char *dev, SANE_Status * status) DBG (1, "pa4s2_open: failed to initialize\n"); return result; } - + #if !defined (HAVE_LIBIEEE1284) { @@ -526,7 +526,7 @@ pa4s2_open (const char *dev, SANE_Status * status) if (ioperm (port[n].base, 5, 1)) { - DBG (1, "pa4s2_open: cannot get io privilege for port 0x%03lx\n", + DBG (1, "pa4s2_open: cannot get io privilege for port 0x%03lx\n", port[n].base); @@ -715,7 +715,7 @@ pa4s2_readbyte_nib (int fd) { u_char val; - + outbyte2 (fd, 0x05); val = inbyte1(fd); val >>= 4; @@ -891,7 +891,7 @@ pa4s2_close (int fd, SANE_Status * status) { #if defined(HAVE_LIBIEEE1284) - DBG (1, "pa4s2_close: can't free port '%s' (%s)\n", + DBG (1, "pa4s2_close: can't free port '%s' (%s)\n", pplist.portv[fd]->name, pa4s2_libieee1284_errorstr(result)); #else DBG (1, "pa4s2_close: can't free port 0x%03lx\n", port[fd].base); @@ -1034,7 +1034,7 @@ sanei_pa4s2_scsi_pp_get_status(int fd, u_char *status) /* * SCSI-over-parallel scanners need this done when a register is * selected - */ + */ SANE_Status sanei_pa4s2_scsi_pp_reg_select (int fd, int reg) { @@ -1430,7 +1430,7 @@ sanei_pa4s2_enable (int fd, int enable) /* io-permissions are not inherited after fork (at least not on linux 2.2, although they seem to be inherited on linux 2.4), so we should make sure we get the permission */ - + if (ioperm (port[fd].base, 5, 1)) { DBG (1, "sanei_pa4s2_enable: cannot get io privilege for port" @@ -1457,7 +1457,7 @@ sanei_pa4s2_enable (int fd, int enable) { #if defined(HAVE_LIBIEEE1284) - DBG (4, "sanei_pa4s2_enable: disable port '%s'\n", + DBG (4, "sanei_pa4s2_enable: disable port '%s'\n", pplist.portv[fd]->name); #else DBG (4, "sanei_pa4s2_enable: disable port 0x%03lx\n", port[fd].base); diff --git a/sanei/sanei_pio.c b/sanei/sanei_pio.c index 00e40ee..3290704 100644 --- a/sanei/sanei_pio.c +++ b/sanei/sanei_pio.c @@ -112,7 +112,7 @@ inb (u_long port) #define PORT_DEV "/dev/port" /* base 278 (lpt2) - + ioport stat ctrl offs 0 1 2 len 1 1 1 */ @@ -174,7 +174,7 @@ static int pio_write (const Port port, const u_char * buf, int n); static int pio_read (const Port port, u_char * buf, int n); static int pio_open (const char *dev, SANE_Status * status); -static inline int +static inline int pio_outb (const Port port, u_char val, u_long addr) { @@ -190,7 +190,7 @@ pio_outb (const Port port, u_char val, u_long addr) return 0; } -static inline int +static inline int pio_inb (const Port port, u_char * val, u_long addr) { @@ -206,7 +206,7 @@ pio_inb (const Port port, u_char * val, u_long addr) return 0; } -static inline int +static inline int pio_wait (const Port port, u_char val, u_char mask) { int stat = 0; @@ -268,7 +268,7 @@ pio_ctrl (const Port port, u_char val) return; } -static inline void +static inline void pio_delay (const Port port) { inb (port->base + PIO_STAT); /* delay */ @@ -276,14 +276,14 @@ pio_delay (const Port port) return; } -static inline void +static inline void pio_init (const Port port) { pio_ctrl (port, PIO_CTRL_IE); return; } -static void +static void pio_reset (const Port port) { int n; @@ -302,7 +302,7 @@ pio_reset (const Port port) return; } -static int +static int pio_write (const Port port, const u_char * buf, int n) { int k; @@ -356,7 +356,7 @@ pio_write (const Port port, const u_char * buf, int n) return k; } -static int +static int pio_read (const Port port, u_char * buf, int n) { int k; @@ -401,10 +401,10 @@ pio_read (const Port port, u_char * buf, int n) } /* - Open the device, must contain a valid port number (as string). + Open the device, must contain a valid port number (as string). */ -static int +static int pio_open (const char *dev, SANE_Status * status) { static int first_time = 1; @@ -481,7 +481,7 @@ pio_open (const char *dev, SANE_Status * status) return n; } -SANE_Status +SANE_Status sanei_pio_open (const char *dev, int *fdp) { SANE_Status status; @@ -490,7 +490,7 @@ sanei_pio_open (const char *dev, int *fdp) return status; } -void +void sanei_pio_close (int fd) { Port p = port + fd; @@ -512,7 +512,7 @@ sanei_pio_close (int fd) return; } -int +int sanei_pio_read (int fd, u_char * buf, int n) { if ((0 > fd) && (NELEMS (port) <= fd)) @@ -524,7 +524,7 @@ sanei_pio_read (int fd, u_char * buf, int n) return pio_read (&port[fd], buf, n); } -int +int sanei_pio_write (int fd, const u_char * buf, int n) { if ((0 > fd) && (NELEMS (port) <= fd)) @@ -546,30 +546,30 @@ SANE_Status sanei_pio_open (const char *dev, int *fdp) { int fp; - + /* open internal parallel port */ fp=open("/dev/parallel/parallel1",O_RDWR); - + *fdp=fp; if(fp<0) return SANE_STATUS_INVAL; return(SANE_STATUS_GOOD); } -void +void sanei_pio_close (int fd) { close(fd); return; } -int +int sanei_pio_read (int fd, u_char * buf, int n) { return(read(fd,buf,n)); } -int +int sanei_pio_write (int fd, const u_char * buf, int n) { return(write(fd,buf,n)); @@ -585,19 +585,19 @@ sanei_pio_open (const char *dev, int *fdp) } -void +void sanei_pio_close (int fd) { return; } -int +int sanei_pio_read (int fd, u_char * buf, int n) { return -1; } -int +int sanei_pio_write (int fd, const u_char * buf, int n) { return -1; diff --git a/sanei/sanei_pp.c b/sanei/sanei_pp.c index dec84ee..89f3232 100644 --- a/sanei/sanei_pp.c +++ b/sanei/sanei_pp.c @@ -38,7 +38,7 @@ * * 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. + * If you do not wish that, delete this exception notice. * * This file implements an interface for accessing the parallelport */ @@ -50,7 +50,7 @@ * 3 - things nice to know * 4 - code flow * 5 - detailed flow - * 6 - everything + * 6 - everything * * These debug levels can be set using the environment variable * SANE_DEBUG_SANEI_PP @@ -156,7 +156,7 @@ static unsigned long pp_thresh = 0; #if (defined (HAVE_IOPERM) || defined (HAVE_LIBIEEE1284)) && !defined (IO_SUPPORT_MISSING) typedef struct { - + #ifndef HAVE_LIBIEEE1284 const char name[6]; u_long base; /**< i/o base address */ @@ -166,7 +166,7 @@ typedef struct { u_int in_use; /**< port in use? */ u_int claimed; /**< port claimed? */ - + int caps; /**< port capabilities */ } PortRec, *Port; @@ -181,8 +181,8 @@ static PortRec port[_MAX_PORTS]; /** redefine the CAPability flags */ enum ieee1284_capabilities { - CAP1284_RAW = (1<<0), - CAP1284_NIBBLE = (1<<1), /* SPP mode */ + CAP1284_RAW = (1<<0), + CAP1284_NIBBLE = (1<<1), /* SPP mode */ CAP1284_BYTE = (1<<2), /* PS/2 bidirectional */ CAP1284_COMPAT = (1<<3), CAP1284_BECP = (1<<4), @@ -315,12 +315,12 @@ pp_showcaps( int caps ) char ct[1024]; ct[0] = '\0'; - + if( caps & CAP1284_NIBBLE ) { strcat( ct, "SPP " ); mode |= SANEI_PP_MODE_SPP; } - + if( caps & CAP1284_BYTE ) { strcat( ct, "PS/2 " ); mode |= SANEI_PP_MODE_BIDI; @@ -330,7 +330,7 @@ pp_showcaps( int caps ) strcat( ct, "EPP " ); mode |= SANEI_PP_MODE_EPP; } - + if( caps & CAP1284_EPPSWE ) { strcat( ct, "EPPSWE " ); mode |= SANEI_PP_MODE_EPP; @@ -357,13 +357,13 @@ pp_showcaps( int caps ) static int pp_probe( int fd ) { -#ifdef HAVE_IOPL +#ifdef HAVE_IOPL SANE_Byte c; int i, j; #endif SANE_Byte a, b; int retv = 0; - + DBG( 4, "pp_probe: port 0x%04lx\n", port[fd].base ); /* SPP check */ @@ -383,7 +383,7 @@ pp_probe( int fd ) #ifdef HAVE_IOPL /* clear at most 1k of data from FIFO */ - for( i = 1024; i > 0; i-- ) { + for( i = 1024; i > 0; i-- ) { a = inbyte402( fd ); if ((a & 0x03) == 0x03) goto no_ecp; @@ -428,7 +428,7 @@ pp_probe( int fd ) DBG( 4, "pp_probe: ECP with a %i byte FIFO present\n", i ); retv += CAP1284_ECP; } - + no_ecp: #endif /* check for PS/2 compatible port */ @@ -522,7 +522,7 @@ static int pp_set_scpmode( int fd ) { SANE_Byte tmp; DBG( 4, "pp_set_scpmode\n" ); - + #ifdef HAVE_IOPL tmp = inbyte402( fd ); tmp &= 0x1f; @@ -531,7 +531,7 @@ static int pp_set_scpmode( int fd ) tmp = inb_ctrl( fd ); tmp &= 0x0f; outb_ctrl ( fd, tmp ); - + return SANE_STATUS_GOOD; } @@ -547,7 +547,7 @@ static int pp_set_bidimode( int fd ) tmp = inb_ctrl( fd ); tmp = (tmp & 0x0f) | 0x20; outb_ctrl ( fd, tmp ); - + return SANE_STATUS_GOOD; } @@ -563,7 +563,7 @@ static int pp_set_eppmode( int fd ) tmp = inb_ctrl( fd ); tmp = (tmp & 0xf0) | 0x40; outb_ctrl ( fd, tmp ); - + return SANE_STATUS_GOOD; } @@ -572,7 +572,7 @@ static int pp_set_ecpmode( int fd ) #ifdef HAVE_IOPL SANE_Byte tmp; #endif - + DBG( 4, "pp_set_ecpmode\n" ); #ifdef HAVE_IOPL tmp = inbyte402( fd ); @@ -594,7 +594,7 @@ pp_setmode( int fd, int mode ) DBG( 2, "pp_setmode: mode not supported %d\n", mode ); return SANE_STATUS_UNSUPPORTED; } - + switch( mode ) { case SANEI_PP_MODE_SPP: ret = pp_set_scpmode( fd ); break; case SANEI_PP_MODE_BIDI: ret = pp_set_bidimode( fd ); break; @@ -715,13 +715,13 @@ pp_init( void ) } DBG( 3, "pp_init: %d ports reported by IEEE 1284 library\n", pplist.portc); - + for( i = 0; i < pplist.portc; i++ ) DBG( 6, "pp_init: port %d is `%s`\n", i, pplist.portv[i]->name); /* we support only up to _MAX_PORTS... */ if( pplist.portc > _MAX_PORTS ) { - DBG (1, "pp_init: Lib IEEE 1284 reports too much ports: %d\n", + DBG (1, "pp_init: Lib IEEE 1284 reports too much ports: %d\n", pplist.portc ); ieee1284_free_ports( &pplist ); @@ -759,7 +759,7 @@ pp_open( const char *dev, SANE_Status * status ) #else int result; #endif - + DBG( 4, "pp_open: trying to attach dev `%s`\n", dev ); #if !defined (HAVE_LIBIEEE1284) @@ -853,7 +853,7 @@ pp_open( const char *dev, SANE_Status * status ) /* TODO: insert FreeBSD compatible code here */ if( ioperm( port[i].base, 5, 1 )) { - DBG( 1, "pp_open: cannot get io privilege for port 0x%03lx\n", + DBG( 1, "pp_open: cannot get io privilege for port 0x%03lx\n", port[i].base); port[i].in_use = SANE_FALSE; @@ -867,7 +867,7 @@ pp_open( const char *dev, SANE_Status * status ) port[i].ecp_ctrl = inbyte402(i); port[i].ctrl = inb_ctrl(i); #endif - + /* check the capabilities of this port */ port[i].caps = pp_probe( i ); #endif @@ -908,7 +908,7 @@ pp_close( int fd, SANE_Status *status ) if( ioperm( port[fd].base, 5, 0 )) { #endif #if defined(HAVE_LIBIEEE1284) - DBG( 1, "pp_close: can't free port '%s' (%s)\n", + DBG( 1, "pp_close: can't free port '%s' (%s)\n", pplist.portv[fd]->name, pp_libieee1284_errorstr(result)); #else DBG( 1, "pp_close: can't free port 0x%03lx\n", port[fd].base ); @@ -930,7 +930,7 @@ SANE_Status sanei_pp_init( void ) { SANE_Status result; - + DBG_INIT(); result = pp_init(); @@ -1008,7 +1008,7 @@ sanei_pp_claim( int fd ) DBG( 2, "sanei_pp_claim: fd %d is invalid\n", fd ); return SANE_STATUS_INVAL; } - + result = ieee1284_claim (pplist.portv[fd]); if (result) { DBG (1, "sanei_pp_claim: failed (%s)\n", @@ -1018,7 +1018,7 @@ sanei_pp_claim( int fd ) #endif port[fd].claimed = SANE_TRUE; - + return SANE_STATUS_GOOD; } @@ -1032,11 +1032,11 @@ sanei_pp_release( int fd ) DBG( 2, "sanei_pp_release: fd %d is invalid\n", fd ); return SANE_STATUS_INVAL; } - + ieee1284_release( pplist.portv[fd] ); #endif port[fd].claimed = SANE_FALSE; - + return SANE_STATUS_GOOD; } @@ -1121,7 +1121,7 @@ sanei_pp_inb_data( int fd ) { #ifdef _PARANOIA DBG( 4, "sanei_pp_inb_data: called for fd %d\n", fd ); - + #if defined(HAVE_LIBIEEE1284) if ((fd < 0) || (fd >= pplist.portc)) { #else @@ -1139,7 +1139,7 @@ sanei_pp_inb_stat( int fd ) { #ifdef _PARANOIA DBG( 4, "sanei_pp_inb_stat: called for fd %d\n", fd ); - + #if defined(HAVE_LIBIEEE1284) if ((fd < 0) || (fd >= pplist.portc)) { #else @@ -1174,7 +1174,7 @@ sanei_pp_inb_epp( int fd ) { #ifdef _PARANOIA DBG( 4, "sanei_pp_inb_epp: called for fd %d\n", fd ); - + #if defined(HAVE_LIBIEEE1284) if ((fd < 0) || (fd >= pplist.portc)) { #else @@ -1224,7 +1224,7 @@ sanei_pp_setmode( int fd, int mode ) DBG( 2, "sanei_pp_setmode: invalid mode %d\n", mode ); return SANE_STATUS_INVAL; } - + #if defined(HAVE_LIBIEEE1284) switch( mode ) { case SANEI_PP_MODE_SPP: mode = M1284_NIBBLE; break; @@ -1267,7 +1267,7 @@ sanei_pp_udelay( unsigned long usec ) if( usec < pp_thresh ) return; - + do { gettimeofday( &now, NULL ); } while ((now.tv_sec < deadline.tv_sec) || diff --git a/sanei/sanei_pv8630.c b/sanei/sanei_pv8630.c index 848558e..c9bafce 100644 --- a/sanei/sanei_pv8630.c +++ b/sanei/sanei_pv8630.c @@ -5,7 +5,7 @@ Copyright (C) 2001 Marcio Teixeira 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 diff --git a/sanei/sanei_scsi.c b/sanei/sanei_scsi.c index 2413d8f..ca3dbb0 100644 --- a/sanei/sanei_scsi.c +++ b/sanei/sanei_scsi.c @@ -252,11 +252,11 @@ static int unit_ready (int fd); #endif #if USE == SYSVR4_INTERFACE -# define MAX_DATA 56*1024 /* don't increase or kernel will dump - * tested with adsl, adsa and umax backend - * it depends on the lowend scsi - * drivers . But the most restriction - * is in the UNIXWARE KERNEL witch do +# define MAX_DATA 56*1024 /* don't increase or kernel will dump + * tested with adsl, adsa and umax backend + * it depends on the lowend scsi + * drivers . But the most restriction + * is in the UNIXWARE KERNEL witch do * not allow more then 64kB DMA transfers */ static char lastrcmd[16]; /* hold command block of last read command */ #endif @@ -875,7 +875,7 @@ sanei_scsi_open (const char *dev, int *fdp, int fd, i; #if USE == LINUX_INTERFACE static int first_time = 1; -#elif USE == MACOSX_INTERFACE +#elif USE == MACOSX_INTERFACE UInt8 *guid; int len; u_int d; @@ -909,7 +909,7 @@ sanei_scsi_open (const char *dev, int *fdp, With newer versions of the SG driver, check the available buffer size by opening all SG device files belonging to a scanner, issue the ioctl calls for setting and reading the reserved - buffer size, and take the smallest value. + buffer size, and take the smallest value. For older version of the SG driver, which don't support variable buffer size, try to read /proc/sys/kernel/sg-big-biff ; if @@ -958,7 +958,7 @@ sanei_scsi_open (const char *dev, int *fdp, if (sscanf (dev, "b%dt%dl%d", &bus, &target, &lun) != 3) { - DBG (1, "sanei_scsi_open: device name `%s is not valid: %s\n", + DBG (1, "sanei_scsi_open: device name `%s´ is not valid: %s\n", dev, strerror (errno)); return SANE_STATUS_INVAL; } @@ -1149,7 +1149,7 @@ sanei_scsi_open (const char *dev, int *fdp, } else { - DBG (1, "sanei_scsi_open: can't open device `%s: %s\n", dev, + DBG (1, "sanei_scsi_open: can't open device `%s´: %s\n", dev, strerror (errno)); return SANE_STATUS_INVAL; } @@ -1163,7 +1163,7 @@ sanei_scsi_open (const char *dev, int *fdp, if (4 != sscanf (dev, "/dev/passthru0:%d,%d,%d,%d", &bus, &cnt, &id, &lun)) { - DBG (1, "sanei_scsi_open: device name `%s is not valid: %s\n", + DBG (1, "sanei_scsi_open: device name `%s´ is not valid: %s\n", dev, strerror (errno)); return SANE_STATUS_INVAL; } @@ -1222,21 +1222,21 @@ sanei_scsi_open (const char *dev, int *fdp, { char scsi_hca_name[20]; u_int hca = 0; - + if (sscanf (dev, "h%ub%ut%ul%u", &hca, &bus, &target, &lun) != 4) { DBG (1, "sanei_scsi_open: device name %s is not valid\n", dev); return SANE_STATUS_INVAL; } - + snprintf(scsi_hca_name, 19, "\\\\.\\Scsi%d:", hca); scsi_hca_name[19] = 0; - + fd = CreateFile(scsi_hca_name, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_RANDOM_ACCESS, NULL ); - + if (fd == INVALID_HANDLE_VALUE) fd = -1; } #else @@ -1420,7 +1420,7 @@ sanei_scsi_open (const char *dev, int *fdp, else { /* we have a really old SG driver version, or we're not opening - an SG device file + an SG device file */ if (ioctl (fd, SG_GET_TIMEOUT, &ioctl_val) < 0) { @@ -2436,8 +2436,8 @@ issue (struct req *req) } #if 0 - /* Sometimes the Linux SCSI system reports bogus resid values. - Observed with lk 2.4.5, 2.4.13, aic7xxx and sym53c8xx drivers, + /* Sometimes the Linux SCSI system reports bogus resid values. + Observed with lk 2.4.5, 2.4.13, aic7xxx and sym53c8xx drivers, if command queueing is used. So we better issue only a warning */ if (status == SANE_STATUS_GOOD) @@ -2601,7 +2601,7 @@ issue (struct req *req) } static int /* Returns 1 if match with 'name' set, else 0 */ - + lx_scan_sg (int exclude_devnum, char *name, size_t name_len, int host, int channel, int id, int lun) { @@ -2636,7 +2636,7 @@ issue (struct req *req) } static int /* Returns 1 if match, else 0 */ - + lx_chk_devicename (int guess_devnum, char *name, size_t name_len, int host, int channel, int id, int lun) { @@ -2945,8 +2945,7 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, char *me = "sanei_scsi_find_devices"; char path[PATH_MAX]; char dev_name[128]; - struct dirent buf; - struct dirent *de; + struct dirent *buf; DIR *scsidevs; FILE *fp; char *ptr; @@ -2987,8 +2986,9 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, number = -1; for (;;) { - ret = readdir_r(scsidevs, &buf, &de); - if (ret != 0) + errno = 0; + buf = readdir (scsidevs); + if (errno != 0) { DBG (1, "%s: could not read directory %s: %s\n", me, SYSFS_SCSI_DEVICES, strerror(errno)); @@ -2996,14 +2996,14 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, break; } - if (de == NULL) + if (buf == NULL) break; - if (buf.d_name[0] == '.') + if (buf->d_name[0] == '.') continue; /* Extract bus, channel, id, lun from directory name b:c:i:l */ - ptr = buf.d_name; + ptr = buf->d_name; for (i = 0; i < 4; i++) { errno = 0; @@ -3028,7 +3028,7 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, if (*end && (*end != ':')) { - DBG (1, "%s: parse error on string %s (%d)\n", me, buf.d_name, i); + DBG (1, "%s: parse error on string %s (%d)\n", me, buf->d_name, i); i = 12; /* Skip */ break; @@ -3036,7 +3036,7 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, if (val > INT_MAX) { - DBG (1, "%s: integer value too large (%s)\n", me, buf.d_name); + DBG (1, "%s: integer value too large (%s)\n", me, buf->d_name); i = 12; /* Skip */ break; @@ -3059,11 +3059,11 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, for (i = 0; i < 3; i++) { ret = snprintf (path, PATH_MAX, "%s/%s/%s", - SYSFS_SCSI_DEVICES, buf.d_name, vmtfiles[i]); + SYSFS_SCSI_DEVICES, buf->d_name, vmtfiles[i]); if ((ret < 0) || (ret >= PATH_MAX)) { DBG (1, "%s: skipping %s/%s, PATH_MAX exceeded on %s\n", - me, SYSFS_SCSI_DEVICES, buf.d_name, vmtfiles[i]); + me, SYSFS_SCSI_DEVICES, buf->d_name, vmtfiles[i]); i = 12; /* Skip */ break; @@ -3179,7 +3179,7 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, scsireq_t hdr; int result; -/* xxx obsolete: +/* xxx obsolete: cdb_size = CDB_SIZE (*(u_char *) src); */ @@ -3201,7 +3201,7 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, /* The old variant: hdr.databuf = (char *) src + cdb_size; hdr.datalen = src_size; - xxxxxx huh? Shouldnt the above line have been src_size - cdb_size) + xxxxxx huh? Shouldn´t the above line have been src_size - cdb_size) */ hdr.databuf = (char *) src; hdr.datalen = src_size; @@ -5013,7 +5013,7 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, #if USE == WIN32_INTERFACE SANE_Status -sanei_scsi_cmd2 (int fd, +sanei_scsi_cmd2 (int fd, const void *cmd, size_t cmd_size, const void *src, size_t src_size, void *dst, size_t * dst_size) @@ -5049,8 +5049,8 @@ sanei_scsi_cmd2 (int fd, pkt.sptd.DataBuffer = src; } else { - pkt.sptd.DataIn = SCSI_IOCTL_DATA_UNSPECIFIED; - } + pkt.sptd.DataIn = SCSI_IOCTL_DATA_UNSPECIFIED; + } pkt.sptd.TimeOutValue = sane_scsicmd_timeout; @@ -5081,7 +5081,7 @@ sanei_scsi_cmd2 (int fd, else { return SANE_STATUS_IO_ERROR; } - } + } else if (pkt.sptd.ScsiStatus != 0) { DBG (1, "sanei_scsi_cmd2: ScsiStatus is %d\n", pkt.sptd.ScsiStatus); @@ -5152,14 +5152,14 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, adapter = (PSCSI_ADAPTER_BUS_INFO)buffer; - for(i = 0; i < adapter->NumberOfBuses; i++) { + for(i = 0; i < adapter->NumberOfBuses; i++) { if (adapter->BusData[i].InquiryDataOffset == 0) { /* No device here */ continue; } - inquiry = (PSCSI_INQUIRY_DATA) (buffer + + inquiry = (PSCSI_INQUIRY_DATA) (buffer + adapter->BusData[i].InquiryDataOffset); while(1) { diff --git a/sanei/sanei_thread.c b/sanei/sanei_thread.c index fcf52c1..f701423 100644 --- a/sanei/sanei_thread.c +++ b/sanei/sanei_thread.c @@ -115,20 +115,22 @@ sanei_thread_is_forked( void ) /* Use this to mark a SANE_Pid as invaild instead of marking with -1. */ +#ifdef USE_PTHREAD static void sanei_thread_set_invalid( SANE_Pid *pid ) { #ifdef WIN32 #ifdef WINPTHREAD_API - *pid = 0; + *pid = (pthread_t) 0; #else pid->p = 0; #endif #else - *pid = -1; + *pid = (pthread_t) -1; #endif } +#endif /* Return if PID is a valid PID or not. */ SANE_Bool @@ -162,12 +164,12 @@ sanei_thread_pid_to_long( SANE_Pid pid ) #ifdef WIN32 #ifdef WINPTHREAD_API - rc = pid; + rc = (long) pid; #else rc = pid.p; #endif #else - rc = pid; + rc = (long) pid; #endif return rc; @@ -225,7 +227,7 @@ sanei_thread_begin( int (*func)(void *args), void* args ) DBG( 1, "_beginthread() failed\n" ); return -1; } - + DBG( 2, "_beginthread() created thread %d\n", pid ); return pid; } @@ -282,7 +284,7 @@ sanei_thread_begin( int (*func)(void *args), void* args ) DBG( 1, "resume_thread() failed\n" ); return -1; } - + DBG( 2, "spawn_thread() created thread %d\n", pid ); return pid; } @@ -374,7 +376,7 @@ restore_sigpipe( void ) sigemptyset( &act.sa_mask ); act.sa_flags = 0; act.sa_handler = SIG_DFL; - + DBG( 2, "restoring SIGPIPE to SIG_DFL\n" ); sigaction( SIGPIPE, &act, NULL ); } @@ -443,7 +445,7 @@ sanei_thread_begin( int (func)(void *args), void* args ) } else DBG( 2, "pthread_create() created thread %ld\n", - (SANE_Pid)thread ); + sanei_thread_pid_to_long(thread) ); return (SANE_Pid)thread; #else @@ -458,7 +460,7 @@ sanei_thread_begin( int (func)(void *args), void* args ) /* run in child context... */ int status = func( args ); - + /* don't use exit() since that would run the atexit() handlers */ _exit( status ); } @@ -511,10 +513,11 @@ sanei_thread_waitpid( SANE_Pid pid, int *status ) } if ( EDEADLK == rc ) { if ( (pthread_t)pid != pthread_self() ) { - /* call detach in any case to make sure that the thread resources + /* call detach in any case to make sure that the thread resources * will be freed, when the thread has terminated */ - DBG(2, "* detaching thread(%ld)\n", pid ); + DBG(2, "* detaching thread(%ld)\n", + sanei_thread_pid_to_long(pid) ); pthread_detach((pthread_t)pid); } } diff --git a/sanei/sanei_udp.c b/sanei/sanei_udp.c index ab316ea..b5bb8cc 100644 --- a/sanei/sanei_udp.c +++ b/sanei/sanei_udp.c @@ -229,4 +229,3 @@ sanei_udp_recvfrom(int fd, u_char * buf, int count, char **fromp) return l; } - diff --git a/sanei/sanei_usb.c b/sanei/sanei_usb.c index e4b23dc..6fd6040 100644 --- a/sanei/sanei_usb.c +++ b/sanei/sanei_usb.c @@ -1262,6 +1262,77 @@ sanei_usb_set_endpoint (SANE_Int dn, SANE_Int ep_type, SANE_Int ep) } } +#if HAVE_LIBUSB_LEGACY || HAVE_LIBUSB || HAVE_USBCALLS +static const char* sanei_usb_transfer_type_desc(SANE_Int transfer_type) +{ + switch (transfer_type) + { + case USB_ENDPOINT_TYPE_INTERRUPT: return "interrupt"; + case USB_ENDPOINT_TYPE_BULK: return "bulk"; + case USB_ENDPOINT_TYPE_ISOCHRONOUS: return "isochronous"; + case USB_ENDPOINT_TYPE_CONTROL: return "control"; + } + return NULL; +} + +// Similar sanei_usb_set_endpoint, but ignors duplicate endpoints +static void sanei_usb_add_endpoint(device_list_type* device, + SANE_Int transfer_type, + SANE_Int ep_address, + SANE_Int ep_direction) +{ + DBG(5, "%s: direction: %d, address: %d, transfer_type: %d\n", + __func__, ep_direction, ep_address, transfer_type); + + SANE_Int* ep_in = NULL; + SANE_Int* ep_out = NULL; + const char* transfer_type_msg = sanei_usb_transfer_type_desc(transfer_type); + + switch (transfer_type) + { + case USB_ENDPOINT_TYPE_INTERRUPT: + ep_in = &device->int_in_ep; + ep_out = &device->int_out_ep; + break; + case USB_ENDPOINT_TYPE_BULK: + ep_in = &device->bulk_in_ep; + ep_out = &device->bulk_out_ep; + break; + case USB_ENDPOINT_TYPE_ISOCHRONOUS: + ep_in = &device->iso_in_ep; + ep_out = &device->iso_out_ep; + break; + case USB_ENDPOINT_TYPE_CONTROL: + ep_in = &device->control_in_ep; + ep_out = &device->control_out_ep; + break; + } + + DBG(5, "%s: found %s-%s endpoint (address 0x%02x)\n", + __func__, transfer_type_msg, ep_direction ? "in" : "out", + ep_address); + + if (ep_direction) // in + { + if (*ep_in) + DBG(3, "%s: we already have a %s-in endpoint " + "(address: 0x%02x), ignoring the new one\n", + __func__, transfer_type_msg, *ep_in); + else + *ep_in = ep_address; + } + else + { + if (*ep_out) + DBG(3, "%s: we already have a %s-out endpoint " + "(address: 0x%02x), ignoring the new one\n", + __func__, transfer_type_msg, *ep_out); + else + *ep_out = ep_address; + } +} +#endif // HAVE_LIBUSB_LEGACY || HAVE_LIBUSB || HAVE_USBCALLS + SANE_Int sanei_usb_get_endpoint (SANE_Int dn, SANE_Int ep_type) { @@ -1460,132 +1531,12 @@ sanei_usb_open (SANE_String_Const devname, SANE_Int * dn) DBG (5, "sanei_usb_open: endpoint nr: %d\n", num); transfer_type = endpoint->bmAttributes & USB_ENDPOINT_TYPE_MASK; - address = - endpoint-> - bEndpointAddress & USB_ENDPOINT_ADDRESS_MASK; direction = endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK; - DBG (5, "sanei_usb_open: direction: %d\n", direction); - - DBG (5, - "sanei_usb_open: address: %d transfertype: %d\n", - address, transfer_type); - - - /* save the endpoints we need later */ - if (transfer_type == USB_ENDPOINT_TYPE_INTERRUPT) - { - DBG (5, - "sanei_usb_open: found interrupt-%s endpoint (address 0x%02x)\n", - direction ? "in" : "out", address); - if (direction) /* in */ - { - if (devices[devcount].int_in_ep) - DBG (3, - "sanei_usb_open: we already have a int-in endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].int_in_ep); - else - devices[devcount].int_in_ep = - endpoint->bEndpointAddress; - } - else - { - if (devices[devcount].int_out_ep) - DBG (3, - "sanei_usb_open: we already have a int-out endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].int_out_ep); - else - devices[devcount].int_out_ep = - endpoint->bEndpointAddress; - } - } - else if (transfer_type == USB_ENDPOINT_TYPE_BULK) - { - DBG (5, - "sanei_usb_open: found bulk-%s endpoint (address 0x%02x)\n", - direction ? "in" : "out", address); - if (direction) /* in */ - { - if (devices[devcount].bulk_in_ep) - DBG (3, - "sanei_usb_open: we already have a bulk-in endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].bulk_in_ep); - else - devices[devcount].bulk_in_ep = - endpoint->bEndpointAddress; - } - else - { - if (devices[devcount].bulk_out_ep) - DBG (3, - "sanei_usb_open: we already have a bulk-out endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].bulk_out_ep); - else - devices[devcount].bulk_out_ep = - endpoint->bEndpointAddress; - } - } - else if (transfer_type == USB_ENDPOINT_TYPE_ISOCHRONOUS) - { - DBG (5, - "sanei_usb_open: found isochronous-%s endpoint (address 0x%02x)\n", - direction ? "in" : "out", address); - if (direction) /* in */ - { - if (devices[devcount].iso_in_ep) - DBG (3, - "sanei_usb_open: we already have a isochronous-in endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].iso_in_ep); - else - devices[devcount].iso_in_ep = - endpoint->bEndpointAddress; - } - else - { - if (devices[devcount].iso_out_ep) - DBG (3, - "sanei_usb_open: we already have a isochronous-out endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].iso_out_ep); - else - devices[devcount].iso_out_ep = - endpoint->bEndpointAddress; - } - } - else if (transfer_type == USB_ENDPOINT_TYPE_CONTROL) - { - DBG (5, - "sanei_usb_open: found control-%s endpoint (address 0x%02x)\n", - direction ? "in" : "out", address); - if (direction) /* in */ - { - if (devices[devcount].control_in_ep) - DBG (3, - "sanei_usb_open: we already have a control-in endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].control_in_ep); - else - devices[devcount].control_in_ep = - endpoint->bEndpointAddress; - } - else - { - if (devices[devcount].control_out_ep) - DBG (3, - "sanei_usb_open: we already have a control-out endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].control_out_ep); - else - devices[devcount].control_out_ep = - endpoint->bEndpointAddress; - } - } + sanei_usb_add_endpoint(&devices[devcount], transfer_type, + endpoint->bEndpointAddress, + direction); } } } @@ -1769,124 +1720,39 @@ sanei_usb_open (SANE_String_Const devname, SANE_Int * dn) for (num = 0; num < interface->bNumEndpoints; num++) { const struct libusb_endpoint_descriptor *endpoint; - int address, direction, transfer_type; + int direction, transfer_type, transfer_type_libusb; endpoint = &interface->endpoint[num]; DBG (5, "sanei_usb_open: endpoint nr: %d\n", num); - transfer_type = endpoint->bmAttributes & LIBUSB_TRANSFER_TYPE_MASK; - address = endpoint->bEndpointAddress & LIBUSB_ENDPOINT_ADDRESS_MASK; + transfer_type_libusb = + endpoint->bmAttributes & LIBUSB_TRANSFER_TYPE_MASK; direction = endpoint->bEndpointAddress & LIBUSB_ENDPOINT_DIR_MASK; - DBG (5, "sanei_usb_open: direction: %d\n", direction); - DBG (5, "sanei_usb_open: address: %d transfertype: %d\n", - address, transfer_type); - - /* save the endpoints we need later */ - if (transfer_type == LIBUSB_TRANSFER_TYPE_INTERRUPT) - { - DBG (5, - "sanei_usb_open: found interrupt-%s endpoint (address 0x%02x)\n", - direction ? "in" : "out", address); - if (direction) /* in */ - { - if (devices[devcount].int_in_ep) - DBG (3, - "sanei_usb_open: we already have a int-in endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].int_in_ep); - else - devices[devcount].int_in_ep = endpoint->bEndpointAddress; - } - else - { - if (devices[devcount].int_out_ep) - DBG (3, - "sanei_usb_open: we already have a int-out endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].int_out_ep); - else - devices[devcount].int_out_ep = endpoint->bEndpointAddress; - } - } - else if (transfer_type == LIBUSB_TRANSFER_TYPE_BULK) - { - DBG (5, - "sanei_usb_open: found bulk-%s endpoint (address 0x%02x)\n", - direction ? "in" : "out", address); - if (direction) /* in */ - { - if (devices[devcount].bulk_in_ep) - DBG (3, - "sanei_usb_open: we already have a bulk-in endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].bulk_in_ep); - else - devices[devcount].bulk_in_ep = endpoint->bEndpointAddress; - } - else - { - if (devices[devcount].bulk_out_ep) - DBG (3, - "sanei_usb_open: we already have a bulk-out endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].bulk_out_ep); - else - devices[devcount].bulk_out_ep = endpoint->bEndpointAddress; - } - } - else if (transfer_type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS) - { - DBG (5, - "sanei_usb_open: found isochronous-%s endpoint (address 0x%02x)\n", - direction ? "in" : "out", address); - if (direction) /* in */ - { - if (devices[devcount].iso_in_ep) - DBG (3, - "sanei_usb_open: we already have a isochronous-in endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].iso_in_ep); - else - devices[devcount].iso_in_ep = endpoint->bEndpointAddress; - } - else - { - if (devices[devcount].iso_out_ep) - DBG (3, - "sanei_usb_open: we already have a isochronous-out endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].iso_out_ep); - else - devices[devcount].iso_out_ep = endpoint->bEndpointAddress; - } - } - else if (transfer_type == LIBUSB_TRANSFER_TYPE_CONTROL) - { - DBG (5, - "sanei_usb_open: found control-%s endpoint (address 0x%02x)\n", - direction ? "in" : "out", address); - if (direction) /* in */ - { - if (devices[devcount].control_in_ep) - DBG (3, - "sanei_usb_open: we already have a control-in endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].control_in_ep); - else - devices[devcount].control_in_ep = endpoint->bEndpointAddress; - } - else - { - if (devices[devcount].control_out_ep) - DBG (3, - "sanei_usb_open: we already have a control-out endpoint " - "(address: 0x%02x), ignoring the new one\n", - devices[devcount].control_out_ep); - else - devices[devcount].control_out_ep = endpoint->bEndpointAddress; - } - } + // don't rely on LIBUSB_TRANSFER_TYPE_* mapping to + // USB_ENDPOINT_TYPE_* even though they'll most likely be + // the same + switch (transfer_type_libusb) + { + case LIBUSB_TRANSFER_TYPE_INTERRUPT: + transfer_type = USB_ENDPOINT_TYPE_INTERRUPT; + break; + case LIBUSB_TRANSFER_TYPE_BULK: + transfer_type = USB_ENDPOINT_TYPE_BULK; + break; + case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: + transfer_type = LIBUSB_TRANSFER_TYPE_ISOCHRONOUS; + break; + case LIBUSB_TRANSFER_TYPE_CONTROL: + transfer_type = USB_ENDPOINT_TYPE_CONTROL; + break; + + } + + sanei_usb_add_endpoint(&devices[devcount], + transfer_type, + endpoint->bEndpointAddress, + direction); } } } @@ -2016,62 +1882,21 @@ sanei_usb_open (SANE_String_Const devname, SANE_Int * dn) break; case USB_DT_ENDPOINT: endpoint = (struct usb_endpoint_descriptor*)pDescHead; - address = endpoint->bEndpointAddress; direction = endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK; transfer_type = endpoint->bmAttributes & USB_ENDPOINT_TYPE_MASK; - /* save the endpoints we need later */ - if (transfer_type == USB_ENDPOINT_TYPE_INTERRUPT) - { - DBG (5, "sanei_usb_open: found interupt-%s endpoint (address %2x)\n", - direction ? "in" : "out", address); - if (direction) /* in */ - { - if (devices[devcount].int_in_ep) - DBG (3, "sanei_usb_open: we already have a int-in endpoint " - "(address: %d), ignoring the new one\n", - devices[devcount].int_in_ep); - else - devices[devcount].int_in_ep = endpoint->bEndpointAddress; - } - else - if (devices[devcount].int_out_ep) - DBG (3, "sanei_usb_open: we already have a int-out endpoint " - "(address: %d), ignoring the new one\n", - devices[devcount].int_out_ep); - else - devices[devcount].int_out_ep = endpoint->bEndpointAddress; - } - else if (transfer_type == USB_ENDPOINT_TYPE_BULK) - { - DBG (5, "sanei_usb_open: found bulk-%s endpoint (address %2x)\n", - direction ? "in" : "out", address); - if (direction) /* in */ - { - if (devices[devcount].bulk_in_ep) - DBG (3, "sanei_usb_open: we already have a bulk-in endpoint " - "(address: %d), ignoring the new one\n", - devices[devcount].bulk_in_ep); - else - devices[devcount].bulk_in_ep = endpoint->bEndpointAddress; - } - else - { - if (devices[devcount].bulk_out_ep) - DBG (3, "sanei_usb_open: we already have a bulk-out endpoint " - "(address: %d), ignoring the new one\n", - devices[devcount].bulk_out_ep); - else - devices[devcount].bulk_out_ep = endpoint->bEndpointAddress; - } - } + + if (transfer_type == USB_ENDPOINT_TYPE_INTERRUPT || + transfer_type == USB_ENDPOINT_TYPE_BULK) + { + sanei_usb_add_endpoint(&devices[devcount], transfer_type, + endpoint->bEndpointAddress, direction); + } /* ignore currently unsupported endpoints */ else { DBG (5, "sanei_usb_open: ignoring %s-%s endpoint " "(address: %d)\n", - transfer_type == USB_ENDPOINT_TYPE_CONTROL ? "control" : - transfer_type == USB_ENDPOINT_TYPE_ISOCHRONOUS - ? "isochronous" : "interrupt", - direction ? "in" : "out", address); + sanei_usb_transfer_type_desc(transfer_type), + direction ? "in" : "out", address); continue; } break; @@ -2344,8 +2169,8 @@ sanei_usb_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) if (ret < 0) { - DBG (1, "sanei_usb_read_bulk: read failed: %s\n", - sanei_libusb_strerror (ret)); + DBG (1, "sanei_usb_read_bulk: read failed (still got %d bytes): %s\n", + rsize, sanei_libusb_strerror (ret)); read_size = -1; } @@ -2372,9 +2197,10 @@ sanei_usb_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) #ifdef HAVE_USBCALLS int rc; char* buffer_ptr = (char*) buffer; - while (*size) + size_t requested_size = *size; + while (requested_size) { - ULONG ulToRead = (*size>MAX_RW)?MAX_RW:*size; + ULONG ulToRead = (requested_size>MAX_RW)?MAX_RW:requested_size; ULONG ulNum = ulToRead; DBG (5, "Entered usbcalls UsbBulkRead with dn = %d\n",dn); DBG (5, "Entered usbcalls UsbBulkRead with dh = %p\n",dh); @@ -2392,7 +2218,7 @@ sanei_usb_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) return SANE_STATUS_INVAL; } if (rc || (ulNum!=ulToRead)) return SANE_STATUS_INVAL; - *size -=ulToRead; + requested_size -=ulToRead; buffer_ptr += ulToRead; read_size += ulToRead; } @@ -2529,11 +2355,12 @@ sanei_usb_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) DBG (5, "Entered usbcalls UsbBulkWrite with bulk_out_ep = 0x%02x\n",devices[dn].bulk_out_ep); DBG (5, "Entered usbcalls UsbBulkWrite with interface_nr = %d\n",devices[dn].interface_nr); DBG (5, "Entered usbcalls UsbBulkWrite with usbcalls_timeout = %d\n",usbcalls_timeout); - while (*size) + size_t requested_size = *size; + while (requested_size) { - ULONG ulToWrite = (*size>MAX_RW)?MAX_RW:*size; + ULONG ulToWrite = (requested_size>MAX_RW)?MAX_RW:requested_size; - DBG (5, "size requested to write = %lu, ulToWrite = %lu\n",(unsigned long) *size,ulToWrite); + DBG (5, "size requested to write = %lu, ulToWrite = %lu\n",(unsigned long) requested_size,ulToWrite); if (devices[dn].bulk_out_ep){ rc = UsbBulkWrite (dh, devices[dn].bulk_out_ep, devices[dn].interface_nr, ulToWrite, (char*) buffer, usbcalls_timeout); @@ -2545,10 +2372,10 @@ sanei_usb_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) return SANE_STATUS_INVAL; } if (rc) return SANE_STATUS_INVAL; - *size -=ulToWrite; + requested_size -=ulToWrite; buffer += ulToWrite; write_size += ulToWrite; - DBG (5, "size = %d, write_size = %d\n",*size, write_size); + DBG (5, "size = %d, write_size = %d\n", requested_size, write_size); } #else /* not HAVE_USBCALLS */ { @@ -2619,7 +2446,6 @@ sanei_usb_control_msg (SANE_Int dn, SANE_Int rtype, SANE_Int req, } if ((rtype & 0x80) && debug_level > 10) print_buffer (data, len); - return SANE_STATUS_GOOD; #elif defined(__BEOS__) struct usb_scanner_ioctl_ctrlmsg c; @@ -2638,8 +2464,6 @@ sanei_usb_control_msg (SANE_Int dn, SANE_Int rtype, SANE_Int req, } if ((rtype & 0x80) && debug_level > 10) print_buffer (data, len); - - return SANE_STATUS_GOOD; #else /* not __linux__ */ DBG (5, "sanei_usb_control_msg: not supported on this OS\n"); return SANE_STATUS_UNSUPPORTED; @@ -2661,7 +2485,6 @@ sanei_usb_control_msg (SANE_Int dn, SANE_Int rtype, SANE_Int req, } if ((rtype & 0x80) && debug_level > 10) print_buffer (data, len); - return SANE_STATUS_GOOD; } #elif defined(HAVE_LIBUSB) { @@ -2678,7 +2501,6 @@ sanei_usb_control_msg (SANE_Int dn, SANE_Int rtype, SANE_Int req, } if ((rtype & 0x80) && debug_level > 10) print_buffer (data, len); - return SANE_STATUS_GOOD; } #else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB*/ { @@ -2702,7 +2524,6 @@ sanei_usb_control_msg (SANE_Int dn, SANE_Int rtype, SANE_Int req, } if ((rtype & 0x80) && debug_level > 10) print_buffer (data, len); - return SANE_STATUS_GOOD; #else /* not HAVE_USBCALLS */ { DBG (1, "sanei_usb_control_msg: usbcalls support missing\n"); @@ -2716,6 +2537,7 @@ sanei_usb_control_msg (SANE_Int dn, SANE_Int rtype, SANE_Int req, devices[dn].method); return SANE_STATUS_UNSUPPORTED; } + return SANE_STATUS_GOOD; } SANE_Status @@ -3160,7 +2982,6 @@ sanei_usb_get_descriptor( SANE_Int dn, desc->dev_sub_class = usb_descr->bDeviceSubClass; desc->dev_protocol = usb_descr->bDeviceProtocol; desc->max_packet_size = usb_descr->bMaxPacketSize0; - return SANE_STATUS_GOOD; } #elif defined(HAVE_LIBUSB) { @@ -3185,7 +3006,6 @@ sanei_usb_get_descriptor( SANE_Int dn, desc->dev_sub_class = lu_desc.bDeviceSubClass; desc->dev_protocol = lu_desc.bDeviceProtocol; desc->max_packet_size = lu_desc.bMaxPacketSize0; - return SANE_STATUS_GOOD; } #else /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ { @@ -3193,4 +3013,5 @@ sanei_usb_get_descriptor( SANE_Int dn, return SANE_STATUS_UNSUPPORTED; } #endif /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ + return SANE_STATUS_GOOD; } diff --git a/sanei/sanei_wire.c b/sanei/sanei_wire.c index a43cc2e..32cd1a0 100644 --- a/sanei/sanei_wire.c +++ b/sanei/sanei_wire.c @@ -67,7 +67,7 @@ sanei_w_space (Wire * w, size_t howmuch) if (w->status != 0) { - DBG (1, "sanei_w_space: wire is in invalid state %d\n", + DBG (1, "sanei_w_space: wire is in invalid state %d\n", w->status); return; } @@ -81,7 +81,7 @@ sanei_w_space (Wire * w, size_t howmuch) case WIRE_ENCODE: nbytes = w->buffer.curr - w->buffer.start; w->buffer.curr = w->buffer.start; - DBG (4, "sanei_w_space: ENCODE: sending %lu bytes\n", + DBG (4, "sanei_w_space: ENCODE: sending %lu bytes\n", (u_long) nbytes); while (nbytes > 0) { @@ -184,7 +184,7 @@ sanei_w_array (Wire * w, SANE_Word * len_ptr, void **v, else DBG (1, "sanei_w_array: FREE: tried to free array but *len_ptr or *v " "was NULL\n"); - + DBG (4, "sanei_w_array: FREE: done\n"); return; } @@ -200,14 +200,14 @@ sanei_w_array (Wire * w, SANE_Word * len_ptr, void **v, return; } DBG (4, "sanei_w_array: array has %d elements\n", len); - + if (w->direction == WIRE_DECODE) { *len_ptr = len; if (len) { - if (((unsigned int) len) > MAX_MEM - || ((unsigned int) len * element_size) > MAX_MEM + if (((unsigned int) len) > MAX_MEM + || ((unsigned int) len * element_size) > MAX_MEM || (w->allocated_memory + len * element_size) > MAX_MEM) { DBG (0, "sanei_w_array: DECODE: maximum amount of allocated memory " @@ -291,7 +291,7 @@ sanei_w_ptr (Wire * w, void **v, WireCodecFunc w_value, size_t value_size) { DBG (0, "sanei_w_ptr: DECODE: maximum amount of allocated memory " "exceeded (limit: %u, new allocation: %lu, total: %lu bytes)\n", - MAX_MEM, (unsigned long)value_size, + MAX_MEM, (unsigned long)value_size, (unsigned long)(w->allocated_memory + value_size)); w->status = ENOMEM; return; @@ -581,8 +581,8 @@ flush (Wire * w) void sanei_w_set_dir (Wire * w, WireDirection dir) { - DBG (3, "sanei_w_set_dir: wire %d, old direction WIRE_%s\n", w->io.fd, - w->direction == WIRE_ENCODE ? "ENCODE" : + DBG (3, "sanei_w_set_dir: wire %d, old direction WIRE_%s\n", w->io.fd, + w->direction == WIRE_ENCODE ? "ENCODE" : (w->direction == WIRE_DECODE ? "DECODE" : "FREE")); if (w->direction == WIRE_DECODE && w->buffer.curr != w->buffer.end) DBG (1, "sanei_w_set_dir: WARNING: will delete %lu bytes from buffer\n", @@ -591,8 +591,8 @@ sanei_w_set_dir (Wire * w, WireDirection dir) w->direction = dir; DBG (4, "sanei_w_set_dir: direction changed\n"); flush (w); - DBG (3, "sanei_w_set_dir: wire %d, new direction WIRE_%s\n", w->io.fd, - dir == WIRE_ENCODE ? "ENCODE" : + DBG (3, "sanei_w_set_dir: wire %d, new direction WIRE_%s\n", w->io.fd, + dir == WIRE_ENCODE ? "ENCODE" : (dir == WIRE_DECODE ? "DECODE" : "FREE")); } @@ -656,13 +656,13 @@ void sanei_w_init (Wire * w, void (*codec_init_func) (Wire *)) { DBG_INIT (); - + DBG (3, "sanei_w_init: initializing\n"); w->status = 0; w->direction = WIRE_ENCODE; w->buffer.size = 8192; w->buffer.start = malloc (w->buffer.size); - + if (w->buffer.start == 0) { /* Malloc failed, so return an error. */ diff --git a/test-driver b/test-driver deleted file mode 100755 index d306056..0000000 --- a/test-driver +++ /dev/null @@ -1,139 +0,0 @@ -#! /bin/sh -# test-driver - basic testsuite driver script. - -scriptversion=2013-07-13.22; # UTC - -# Copyright (C) 2011-2013 Free Software Foundation, Inc. -# -# 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, 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 . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -# Make unconditional expansion of undefined variables an error. This -# helps a lot in preventing typo-related bugs. -set -u - -usage_error () -{ - echo "$0: $*" >&2 - print_usage >&2 - exit 2 -} - -print_usage () -{ - cat <$log_file 2>&1 -estatus=$? -if test $enable_hard_errors = no && test $estatus -eq 99; then - estatus=1 -fi - -case $estatus:$expect_failure in - 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; - 0:*) col=$grn res=PASS recheck=no gcopy=no;; - 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; - 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; - *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; - *:*) col=$red res=FAIL recheck=yes gcopy=yes;; -esac - -# Report outcome to console. -echo "${col}${res}${std}: $test_name" - -# Register the test result, and other relevant metadata. -echo ":test-result: $res" > $trs_file -echo ":global-test-result: $res" >> $trs_file -echo ":recheck: $recheck" >> $trs_file -echo ":copy-in-global-log: $gcopy" >> $trs_file - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am index 9e9eac7..01282d4 100644 --- a/testsuite/Makefile.am +++ b/testsuite/Makefile.am @@ -4,7 +4,7 @@ ## This file is part of the "Sane" build infra-structure. See ## included LICENSE file for license information. -SUBDIRS = sanei tools +SUBDIRS = backend sanei tools SCANIMAGE = ../frontend/scanimage$(EXEEXT) TESTFILE = $(srcdir)/testfile.pnm @@ -22,21 +22,21 @@ help: test: test.local -test.local: +test.local: @echo "**** Testing $(SCANIMAGE) with device $(DEVICE)" @if echo "---> Trying flatbed scanner" && \ $(SCANIMAGE) -d $(DEVICE) -T && \ - echo "<--- Flatbed scanner succeded" && \ + echo "<--- Flatbed scanner succeeded" && \ echo "---> Trying three pass flatbed scanner" && \ $(SCANIMAGE) -d $(DEVICE) --mode Color --three-pass=yes -T && \ - echo "<--- Three pass scanner succeded" && \ + echo "<--- Three pass scanner succeeded" && \ echo "---> Trying hand scanner" && \ $(SCANIMAGE) -d $(DEVICE) --hand-scanner=yes -T && \ - echo "<--- Hand scanner succeded" && \ + echo "<--- Hand scanner succeeded" && \ echo "---> Checking 16 bit color mode" && \ $(SCANIMAGE) -d $(DEVICE) $(OPTIONS) && \ cmp -s $(TESTFILE) $(OUTFILE) && \ - echo "<--- 16 bit color mode succeded" && \ + echo "<--- 16 bit color mode succeeded" && \ rm $(OUTFILE) ; \ then echo ; echo ; echo "**** All tests passed" ; \ else echo ; echo; \ diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in deleted file mode 100644 index c3c4f3c..0000000 --- a/testsuite/Makefile.in +++ /dev/null @@ -1,725 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = testsuite -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/mkinstalldirs README -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/sane/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_CPPFLAGS = @AM_CPPFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AVAHI_CFLAGS = @AVAHI_CFLAGS@ -AVAHI_LIBS = @AVAHI_LIBS@ -AWK = @AWK@ -BACKENDS = @BACKENDS@ -BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ -BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLH = @DLH@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVIPS = @DVIPS@ -DYNAMIC_FLAG = @DYNAMIC_FLAG@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FIG2DEV = @FIG2DEV@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ -GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ -GPHOTO2_LIBS = @GPHOTO2_LIBS@ -GREP = @GREP@ -GS = @GS@ -HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -JPEG_LIBS = @JPEG_LIBS@ -LATEX = @LATEX@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOCKPATH_GROUP = @LOCKPATH_GROUP@ -LTALLOCA = @LTALLOCA@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINDEX = @MAKEINDEX@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_LIBS = @PNG_LIBS@ -POSUB = @POSUB@ -PPMTOGIF = @PPMTOGIF@ -PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ -PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RESMGR_LIBS = @RESMGR_LIBS@ -SANEI_SANEI_JPEG_LO = @SANEI_SANEI_JPEG_LO@ -SANE_CONFIG_PATH = @SANE_CONFIG_PATH@ -SCSI_LIBS = @SCSI_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SNMP_CFLAGS = @SNMP_CFLAGS@ -SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ -SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ -STRICT_LDFLAGS = @STRICT_LDFLAGS@ -STRIP = @STRIP@ -SYSLOG_LIBS = @SYSLOG_LIBS@ -SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ -SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_CFLAGS = @USB_CFLAGS@ -USB_LIBS = @USB_LIBS@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -configdir = @configdir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -effective_target = @effective_target@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -locksanedir = @locksanedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = sanei tools -SCANIMAGE = ../frontend/scanimage$(EXEEXT) -TESTFILE = $(srcdir)/testfile.pnm -OUTFILE = outfile.pnm -DEVICE = test -OPTIONS = --mode Color --depth 16 --test-picture "Color pattern" --resolution 50 -y 20 -x 20 > $(OUTFILE) -EXTRA_DIST = README testfile.pnm -CLEANFILES = $(OUTFILE) -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu testsuite/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu testsuite/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libtool cscopelist-am ctags \ - ctags-am distclean distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags tags-am uninstall uninstall-am - - -all: help - -help: - @echo "Use 'make test' to run the tests." - -test: test.local - -test.local: - @echo "**** Testing $(SCANIMAGE) with device $(DEVICE)" - @if echo "---> Trying flatbed scanner" && \ - $(SCANIMAGE) -d $(DEVICE) -T && \ - echo "<--- Flatbed scanner succeded" && \ - echo "---> Trying three pass flatbed scanner" && \ - $(SCANIMAGE) -d $(DEVICE) --mode Color --three-pass=yes -T && \ - echo "<--- Three pass scanner succeded" && \ - echo "---> Trying hand scanner" && \ - $(SCANIMAGE) -d $(DEVICE) --hand-scanner=yes -T && \ - echo "<--- Hand scanner succeded" && \ - echo "---> Checking 16 bit color mode" && \ - $(SCANIMAGE) -d $(DEVICE) $(OPTIONS) && \ - cmp -s $(TESTFILE) $(OUTFILE) && \ - echo "<--- 16 bit color mode succeded" && \ - rm $(OUTFILE) ; \ - then echo ; echo ; echo "**** All tests passed" ; \ - else echo ; echo; \ - echo "**** Something failed (maybe test backend not enabled by configure?)";\ - exit 1; \ - fi - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/testsuite/README b/testsuite/README index dbd32ed..37dd8db 100644 --- a/testsuite/README +++ b/testsuite/README @@ -11,5 +11,3 @@ fix the bug. :-) The current tests use the test backend to scan in flatbed, hand scanner and three pass mode. Also a 16 bit color image is created and compared to the "right" one. This test should detect any little/big endian issues in scanimage. - - diff --git a/testsuite/backend/Makefile.am b/testsuite/backend/Makefile.am new file mode 100644 index 0000000..1f7d30e --- /dev/null +++ b/testsuite/backend/Makefile.am @@ -0,0 +1,7 @@ +## Makefile.am -- an automake template for Makefile.in file +## Copyright (C) 2019 Sane Developers. +## +## This file is part of the "Sane" build infra-structure. See +## included LICENSE file for license information. + +SUBDIRS = genesys diff --git a/testsuite/backend/genesys/Makefile.am b/testsuite/backend/genesys/Makefile.am new file mode 100644 index 0000000..1332cf8 --- /dev/null +++ b/testsuite/backend/genesys/Makefile.am @@ -0,0 +1,23 @@ +## Makefile.am -- an automake template for Makefile.in file +## Copyright (C) 2019 Sane Developers. +## +## This file is part of the "Sane" build infra-structure. See +## included LICENSE file for license information. + +TEST_LDADD = \ + ../../../sanei/libsanei.la \ + ../../../lib/liblib.la \ + ../../../backend/libgenesys.la \ + ../../../backend/sane_strstatus.lo \ + $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) + +check_PROGRAMS = genesys_tests +TESTS = $(check_PROGRAMS) + +AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include $(USB_CFLAGS) \ + -DBACKEND_NAME=genesys + +genesys_tests_SOURCES = tests.cc tests.h minigtest.cc minigtest.h \ + tests_calibration.cc + +genesys_tests_LDADD = $(TEST_LDADD) diff --git a/testsuite/backend/genesys/minigtest.cc b/testsuite/backend/genesys/minigtest.cc new file mode 100644 index 0000000..5ca73c2 --- /dev/null +++ b/testsuite/backend/genesys/minigtest.cc @@ -0,0 +1,35 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#include "minigtest.h" + +size_t s_num_successes = 0; +size_t s_num_failures = 0; + +int finish_tests() +{ + std::cerr << "Finished tests. Sucessses: " << s_num_successes + << " failures: " << s_num_failures << "\n"; + if (s_num_failures > 0) + return 1; + return 0; +} diff --git a/testsuite/backend/genesys/minigtest.h b/testsuite/backend/genesys/minigtest.h new file mode 100644 index 0000000..752efe1 --- /dev/null +++ b/testsuite/backend/genesys/minigtest.h @@ -0,0 +1,77 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#ifndef SANE_TESTSUITE_BACKEND_GENESYS_MINIGTEST_H +#define SANE_TESTSUITE_BACKEND_GENESYS_MINIGTEST_H + +#include +#include + +extern size_t s_num_successes; +extern size_t s_num_failures; + +inline void print_location(std::ostream& out, const char* function, const char* path, + unsigned line) +{ + out << path << ":" << line << " in " << function; +} + +template +void check_equal(const T& t, const U& u, const char* function, const char* path, unsigned line) +{ + if (t != u) { + s_num_failures++; + std::cerr << "FAILURE at "; + print_location(std::cerr, function, path, line); + std::cerr << " :\n" << t << " != " << u << "\n\n"; + } else { + s_num_successes++; + std::cerr << "SUCCESS at "; + print_location(std::cerr, function, path, line); + std::cerr << "\n"; + } +} + +inline void check_true(bool x, const char* function, const char* path, unsigned line) +{ + if (x) { + s_num_successes++; + std::cerr << "SUCCESS at "; + } else { + s_num_failures++; + std::cerr << "FAILURE at "; + } + print_location(std::cerr, function, path, line); + std::cerr << "\n"; +} + + +#define ASSERT_EQ(x, y) do { check_equal((x), (y), __func__, __FILE__, __LINE__); } \ + while (false) +#define ASSERT_TRUE(x) do { check_true(bool(x), __func__, __FILE__, __LINE__); } \ + while (false) +#define ASSERT_FALSE(x) do { !check_true(bool(x), __func__, __FILE__, __LINE__); } \ + while (false) + +int finish_tests(); + +#endif diff --git a/testsuite/backend/genesys/tests.cc b/testsuite/backend/genesys/tests.cc new file mode 100644 index 0000000..40b1b3e --- /dev/null +++ b/testsuite/backend/genesys/tests.cc @@ -0,0 +1,30 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#include "tests.h" +#include "minigtest.h" + +int main() +{ + test_calibration_parsing(); + return finish_tests(); +} diff --git a/testsuite/backend/genesys/tests.h b/testsuite/backend/genesys/tests.h new file mode 100644 index 0000000..f4e4d2e --- /dev/null +++ b/testsuite/backend/genesys/tests.h @@ -0,0 +1,28 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#ifndef SANE_TESTSUITE_BACKEND_GENESYS_GENESYS_UNIT_TEST_H +#define SANE_TESTSUITE_BACKEND_GENESYS_GENESYS_UNIT_TEST_H + +void test_calibration_parsing(); + +#endif diff --git a/testsuite/backend/genesys/tests_calibration.cc b/testsuite/backend/genesys/tests_calibration.cc new file mode 100644 index 0000000..959037a --- /dev/null +++ b/testsuite/backend/genesys/tests_calibration.cc @@ -0,0 +1,130 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#include "tests.h" +#include "minigtest.h" + +#include "../../../backend/genesys_low.h" + +#include + +#define DEBUG_DECLARE_ONLY + +Genesys_Calibration_Cache create_fake_calibration_entry() +{ + Genesys_Calibration_Cache calib; + calib.used_setup.pixels = 10020; + calib.used_setup.lines = 150; + calib.used_setup.xres = 100.5; + + GenesysFrontendLayout wolfson_layout; + wolfson_layout.offset_addr = { 0x20, 0x21, 0x22 }; + wolfson_layout.gain_addr = { 0x28, 0x29, 0x2a }; + + Genesys_Frontend fe; + fe.fe_id = DAC_WOLFSON_UMAX; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x11 }, + { ' ', 0x80 }, // check whether space-like integer values are correctly serialized + { ',', 0x80 }, + { '\r', '\n' }, + { '\n', 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x02 }, + { 0x29, 0x02 }, + { 0x2a, 0x02 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + calib.frontend = fe; + + Genesys_Sensor sensor; + sensor.sensor_id = CCD_UMAX; + sensor.optical_res = 1200; + sensor.black_pixels = 48; + sensor.dummy_pixel = 64; + sensor.CCD_start_xoffset = 0; + sensor.sensor_pixels = 10800; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x01 }, + { 0x09, 0x03 }, + { 0x0a, 0x05 }, + { 0x0b, 0x07 }, + { 0x16, 0x33 }, + { 0x17, 0x05 }, + { 0x18, 0x31 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x13 }, + { 0x53, 0x17 }, + { 0x54, 0x03 }, + { 0x55, 0x07 }, + { 0x56, 0x0b }, + { 0x57, 0x0f }, + { 0x58, 0x23 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + calib.sensor = sensor; + + calib.calib_pixels = 12345; + calib.calib_channels = 3; + calib.average_size = 7; + calib.white_average_data = { 8, 7, 6, 5, 4, 3, 2 }; + calib.dark_average_data = { 6, 5, 4, 3, 2, 18, 12 }; + return calib; +} + +void test_calibration_roundtrip() +{ + Genesys_Device::Calibration calibration = { create_fake_calibration_entry() }; + Genesys_Device::Calibration deserialized; + + std::stringstream str; + serialize(static_cast(str), calibration); + serialize(static_cast(str), deserialized); + ASSERT_TRUE(calibration == deserialized); + + int x; + str >> x; + ASSERT_TRUE(str.eof()); +} + +void test_calibration_parsing() +{ + test_calibration_roundtrip(); +} diff --git a/testsuite/sanei/Makefile.am b/testsuite/sanei/Makefile.am index 0116987..24fc01e 100644 --- a/testsuite/sanei/Makefile.am +++ b/testsuite/sanei/Makefile.am @@ -1,5 +1,5 @@ ## Makefile.am -- an automake template for Makefile.in file -## Copyright (C) 2013 Stphane Voltz and Sane Developers. +## Copyright (C) 2013 Stéphane Voltz and Sane Developers. ## ## This file is part of the "Sane" build infra-structure. See ## included LICENSE file for license information. diff --git a/testsuite/sanei/Makefile.in b/testsuite/sanei/Makefile.in deleted file mode 100644 index aa531db..0000000 --- a/testsuite/sanei/Makefile.in +++ /dev/null @@ -1,1138 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -check_PROGRAMS = sanei_usb_test$(EXEEXT) test_wire$(EXEEXT) \ - sanei_check_test$(EXEEXT) sanei_config_test$(EXEEXT) \ - sanei_constrain_test$(EXEEXT) -subdir = testsuite/sanei -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp \ - $(top_srcdir)/test-driver README -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/sane/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am_sanei_check_test_OBJECTS = sanei_check_test.$(OBJEXT) -sanei_check_test_OBJECTS = $(am_sanei_check_test_OBJECTS) -am__DEPENDENCIES_1 = -am__DEPENDENCIES_2 = ../../sanei/libsanei.la ../../lib/liblib.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -sanei_check_test_DEPENDENCIES = $(am__DEPENDENCIES_2) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -am_sanei_config_test_OBJECTS = \ - sanei_config_test-sanei_config_test.$(OBJEXT) -sanei_config_test_OBJECTS = $(am_sanei_config_test_OBJECTS) -sanei_config_test_DEPENDENCIES = $(am__DEPENDENCIES_2) -am_sanei_constrain_test_OBJECTS = sanei_constrain_test.$(OBJEXT) -sanei_constrain_test_OBJECTS = $(am_sanei_constrain_test_OBJECTS) -sanei_constrain_test_DEPENDENCIES = $(am__DEPENDENCIES_2) -am_sanei_usb_test_OBJECTS = sanei_usb_test.$(OBJEXT) -sanei_usb_test_OBJECTS = $(am_sanei_usb_test_OBJECTS) -sanei_usb_test_DEPENDENCIES = $(am__DEPENDENCIES_2) -am_test_wire_OBJECTS = test_wire.$(OBJEXT) -test_wire_OBJECTS = $(am_test_wire_OBJECTS) -test_wire_DEPENDENCIES = $(am__DEPENDENCIES_2) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/sane -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(sanei_check_test_SOURCES) $(sanei_config_test_SOURCES) \ - $(sanei_constrain_test_SOURCES) $(sanei_usb_test_SOURCES) \ - $(test_wire_SOURCES) -DIST_SOURCES = $(sanei_check_test_SOURCES) \ - $(sanei_config_test_SOURCES) $(sanei_constrain_test_SOURCES) \ - $(sanei_usb_test_SOURCES) $(test_wire_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -AM_RECURSIVE_TARGETS = check recheck -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = @EXEEXT@ .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(srcdir) -I$(top_builddir)/include \ - -I$(top_srcdir)/include $(USB_CFLAGS) -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AVAHI_CFLAGS = @AVAHI_CFLAGS@ -AVAHI_LIBS = @AVAHI_LIBS@ -AWK = @AWK@ -BACKENDS = @BACKENDS@ -BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ -BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLH = @DLH@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVIPS = @DVIPS@ -DYNAMIC_FLAG = @DYNAMIC_FLAG@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FIG2DEV = @FIG2DEV@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ -GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ -GPHOTO2_LIBS = @GPHOTO2_LIBS@ -GREP = @GREP@ -GS = @GS@ -HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -JPEG_LIBS = @JPEG_LIBS@ -LATEX = @LATEX@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOCKPATH_GROUP = @LOCKPATH_GROUP@ -LTALLOCA = @LTALLOCA@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINDEX = @MAKEINDEX@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_LIBS = @PNG_LIBS@ -POSUB = @POSUB@ -PPMTOGIF = @PPMTOGIF@ -PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ -PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RESMGR_LIBS = @RESMGR_LIBS@ -SANEI_SANEI_JPEG_LO = @SANEI_SANEI_JPEG_LO@ -SANE_CONFIG_PATH = @SANE_CONFIG_PATH@ -SCSI_LIBS = @SCSI_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SNMP_CFLAGS = @SNMP_CFLAGS@ -SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ -SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ -STRICT_LDFLAGS = @STRICT_LDFLAGS@ -STRIP = @STRIP@ -SYSLOG_LIBS = @SYSLOG_LIBS@ -SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ -SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_CFLAGS = @USB_CFLAGS@ -USB_LIBS = @USB_LIBS@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -configdir = @configdir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -effective_target = @effective_target@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -locksanedir = @locksanedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = data/boolean.conf data/empty.conf data/fixed.conf data/int.conf \ - data/snapscan.conf data/string.conf data/string-list.conf \ - data/umax_pp.conf data/word-array.conf data/wrong-boolean.conf \ - data/wrong-fixed.conf data/wrong-range.conf \ - data/wrong-string-list.conf - -TEST_LDADD = ../../sanei/libsanei.la ../../lib/liblib.la $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) -TESTS = $(check_PROGRAMS) -sanei_constrain_test_SOURCES = sanei_constrain_test.c -sanei_constrain_test_LDADD = $(TEST_LDADD) -sanei_config_test_SOURCES = sanei_config_test.c -sanei_config_test_CPPFLAGS = $(AM_CPPFLAGS) -DTESTSUITE_SANEI_SRCDIR=$(srcdir) -sanei_config_test_LDADD = $(TEST_LDADD) -sanei_check_test_SOURCES = sanei_check_test.c -sanei_check_test_LDADD = $(TEST_LDADD) -sanei_usb_test_SOURCES = sanei_usb_test.c -sanei_usb_test_LDADD = $(TEST_LDADD) -test_wire_SOURCES = test_wire.c -test_wire_LDADD = $(TEST_LDADD) -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu testsuite/sanei/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu testsuite/sanei/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -sanei_check_test$(EXEEXT): $(sanei_check_test_OBJECTS) $(sanei_check_test_DEPENDENCIES) $(EXTRA_sanei_check_test_DEPENDENCIES) - @rm -f sanei_check_test$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sanei_check_test_OBJECTS) $(sanei_check_test_LDADD) $(LIBS) - -sanei_config_test$(EXEEXT): $(sanei_config_test_OBJECTS) $(sanei_config_test_DEPENDENCIES) $(EXTRA_sanei_config_test_DEPENDENCIES) - @rm -f sanei_config_test$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sanei_config_test_OBJECTS) $(sanei_config_test_LDADD) $(LIBS) - -sanei_constrain_test$(EXEEXT): $(sanei_constrain_test_OBJECTS) $(sanei_constrain_test_DEPENDENCIES) $(EXTRA_sanei_constrain_test_DEPENDENCIES) - @rm -f sanei_constrain_test$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sanei_constrain_test_OBJECTS) $(sanei_constrain_test_LDADD) $(LIBS) - -sanei_usb_test$(EXEEXT): $(sanei_usb_test_OBJECTS) $(sanei_usb_test_DEPENDENCIES) $(EXTRA_sanei_usb_test_DEPENDENCIES) - @rm -f sanei_usb_test$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sanei_usb_test_OBJECTS) $(sanei_usb_test_LDADD) $(LIBS) - -test_wire$(EXEEXT): $(test_wire_OBJECTS) $(test_wire_DEPENDENCIES) $(EXTRA_test_wire_DEPENDENCIES) - @rm -f test_wire$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_wire_OBJECTS) $(test_wire_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_check_test.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_config_test-sanei_config_test.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_constrain_test.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanei_usb_test.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_wire.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -sanei_config_test-sanei_config_test.o: sanei_config_test.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sanei_config_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sanei_config_test-sanei_config_test.o -MD -MP -MF $(DEPDIR)/sanei_config_test-sanei_config_test.Tpo -c -o sanei_config_test-sanei_config_test.o `test -f 'sanei_config_test.c' || echo '$(srcdir)/'`sanei_config_test.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/sanei_config_test-sanei_config_test.Tpo $(DEPDIR)/sanei_config_test-sanei_config_test.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sanei_config_test.c' object='sanei_config_test-sanei_config_test.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sanei_config_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sanei_config_test-sanei_config_test.o `test -f 'sanei_config_test.c' || echo '$(srcdir)/'`sanei_config_test.c - -sanei_config_test-sanei_config_test.obj: sanei_config_test.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sanei_config_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sanei_config_test-sanei_config_test.obj -MD -MP -MF $(DEPDIR)/sanei_config_test-sanei_config_test.Tpo -c -o sanei_config_test-sanei_config_test.obj `if test -f 'sanei_config_test.c'; then $(CYGPATH_W) 'sanei_config_test.c'; else $(CYGPATH_W) '$(srcdir)/sanei_config_test.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/sanei_config_test-sanei_config_test.Tpo $(DEPDIR)/sanei_config_test-sanei_config_test.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sanei_config_test.c' object='sanei_config_test-sanei_config_test.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sanei_config_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sanei_config_test-sanei_config_test.obj `if test -f 'sanei_config_test.c'; then $(CYGPATH_W) 'sanei_config_test.c'; else $(CYGPATH_W) '$(srcdir)/sanei_config_test.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - else \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(check_PROGRAMS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -sanei_usb_test.log: sanei_usb_test$(EXEEXT) - @p='sanei_usb_test$(EXEEXT)'; \ - b='sanei_usb_test'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -test_wire.log: test_wire$(EXEEXT) - @p='test_wire$(EXEEXT)'; \ - b='test_wire'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -sanei_check_test.log: sanei_check_test$(EXEEXT) - @p='sanei_check_test$(EXEEXT)'; \ - b='sanei_check_test'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -sanei_config_test.log: sanei_config_test$(EXEEXT) - @p='sanei_config_test$(EXEEXT)'; \ - b='sanei_config_test'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -sanei_constrain_test.log: sanei_constrain_test$(EXEEXT) - @p='sanei_constrain_test$(EXEEXT)'; \ - b='sanei_constrain_test'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -@am__EXEEXT_TRUE@.test$(EXEEXT).log: -@am__EXEEXT_TRUE@ @p='$<'; \ -@am__EXEEXT_TRUE@ $(am__set_b); \ -@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ -@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool clean-local \ - cscopelist-am ctags ctags-am distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - recheck tags tags-am uninstall uninstall-am - - -clean-local: - rm -f test_wire.out - -all: - @echo "run 'make check' to run tests" - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/testsuite/sanei/README b/testsuite/sanei/README index 247d191..25b11cd 100644 --- a/testsuite/sanei/README +++ b/testsuite/sanei/README @@ -7,7 +7,7 @@ and run by 'make check'. sanei_usb_test --------------- Tests sanei_usb_* functions. No USB scanner needs to be plugged, -but in this case less code is covered (open/close and claim/release +but in this case less code is covered (open/close and claim/release of real devices). Function currently tested are: - sanei_usb_init() diff --git a/testsuite/sanei/data/umax_pp.conf b/testsuite/sanei/data/umax_pp.conf index 69cc47d..eb84f74 100644 --- a/testsuite/sanei/data/umax_pp.conf +++ b/testsuite/sanei/data/umax_pp.conf @@ -8,12 +8,12 @@ option buffer 1048576 # DEVICES # -# specify the port your scanner is connected to. +# specify the port your scanner is connected to. # # the value 'auto' will make the backend find the correct value # by itself, it will scan ppdev, ppi device, then hardware address # 'safe-auto' will do the same but won't do direct hardware access -# on linux systems, you may provide the device name of the ppdev character +# on linux systems, you may provide the device name of the ppdev character # device : /dev/parport0, /dev/parport1, ...... # # on *BSD, you may provide the device name of the ppi device: /dev/ppi0, @@ -58,7 +58,7 @@ option blue-offset 6 # valid values are 610, 1220, 1600 and 2000 # # by default, no model, we rely on autodetection -# in case you have black or 'inverted' scans, +# in case you have black or 'inverted' scans, # you may override detection by providing the # model number option astra 1600 diff --git a/testsuite/sanei/sanei_check_test.c b/testsuite/sanei/sanei_check_test.c index a149b7e..db4f2e4 100644 --- a/testsuite/sanei/sanei_check_test.c +++ b/testsuite/sanei/sanei_check_test.c @@ -427,7 +427,7 @@ wrong_bool_array (void) /** - * run the test suite for sanei_check_value related tests + * run the test suite for sanei_check_value related tests */ static void sanei_check_suite (void) diff --git a/testsuite/sanei/sanei_config_test.c b/testsuite/sanei/sanei_config_test.c index 3d1f5af..ea00433 100644 --- a/testsuite/sanei/sanei_config_test.c +++ b/testsuite/sanei/sanei_config_test.c @@ -863,7 +863,7 @@ snapscan (void) /** - * create the test suite for sanei config related tests + * create the test suite for sanei config related tests */ static void sanei_config_suite (void) @@ -890,7 +890,7 @@ sanei_config_suite (void) } /** - * main function to run the test suites + * main function to run the test suites */ int main (void) diff --git a/testsuite/sanei/sanei_constrain_test.c b/testsuite/sanei/sanei_constrain_test.c index 0f66bbb..9ddb61a 100644 --- a/testsuite/sanei/sanei_constrain_test.c +++ b/testsuite/sanei/sanei_constrain_test.c @@ -271,7 +271,7 @@ max_fixed_value (void) /* check results */ assert (status == SANE_STATUS_GOOD); assert (info == 0); - assert (value == fixed_range.max); + assert (value == fixed_range.max); } static void @@ -721,7 +721,7 @@ string_array_ok (void) } /** - * run the test suite for sanei constrain related tests + * run the test suite for sanei constrain related tests */ static void sanei_constrain_suite (void) @@ -781,7 +781,7 @@ sanei_constrain_suite (void) } /** - * main function to run the test suites + * main function to run the test suites */ int main (void) diff --git a/testsuite/tools/Makefile.am b/testsuite/tools/Makefile.am index 71188d2..532e904 100644 --- a/testsuite/tools/Makefile.am +++ b/testsuite/tools/Makefile.am @@ -1,5 +1,5 @@ ## Makefile.am -- an automake template for Makefile.in file -## Copyright (C) 2013 Stphane Voltz and Sane Developers. +## Copyright (C) 2013 Stéphane Voltz and Sane Developers. ## ## This file is part of the "Sane" build infra-structure. See ## included LICENSE file for license information. @@ -26,13 +26,13 @@ help: check: check.local -check.local: +check.local: @echo "**** Testing $(SANEDESC) with $(TESTFILE)" @for mode in ascii html-backends-split html-mfgs xml statistics usermap db udev udev+acl udev+hwdb hwdb plist hal hal-new; \ do \ $(SANEDESC) -m $$mode -s $(srcdir)/data >$$mode.res ;\ if diff -I "[ 012][0-9]:[0-5][0-9]:[0-6][0-9] 20[0-9][0-9]" \ - -I "sane-backends 1\.0\.[0-9]\+\(git\)\?$$" \ + -I "sane-backends 1\.0\.[0-9]\+\([-0-9a-fgdirty]\+\)\?$$" \ $(srcdir)/data/$$mode.ref $$mode.res ; \ then \ echo "PASS: sane-desc -m $$mode -s $(srcdir)/data"; \ diff --git a/testsuite/tools/Makefile.in b/testsuite/tools/Makefile.in deleted file mode 100644 index 0850607..0000000 --- a/testsuite/tools/Makefile.in +++ /dev/null @@ -1,548 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = testsuite/tools -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/mkinstalldirs README -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/sane/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_CPPFLAGS = @AM_CPPFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AVAHI_CFLAGS = @AVAHI_CFLAGS@ -AVAHI_LIBS = @AVAHI_LIBS@ -AWK = @AWK@ -BACKENDS = @BACKENDS@ -BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ -BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLH = @DLH@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVIPS = @DVIPS@ -DYNAMIC_FLAG = @DYNAMIC_FLAG@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FIG2DEV = @FIG2DEV@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ -GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ -GPHOTO2_LIBS = @GPHOTO2_LIBS@ -GREP = @GREP@ -GS = @GS@ -HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -JPEG_LIBS = @JPEG_LIBS@ -LATEX = @LATEX@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOCKPATH_GROUP = @LOCKPATH_GROUP@ -LTALLOCA = @LTALLOCA@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINDEX = @MAKEINDEX@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_LIBS = @PNG_LIBS@ -POSUB = @POSUB@ -PPMTOGIF = @PPMTOGIF@ -PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ -PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RESMGR_LIBS = @RESMGR_LIBS@ -SANEI_SANEI_JPEG_LO = @SANEI_SANEI_JPEG_LO@ -SANE_CONFIG_PATH = @SANE_CONFIG_PATH@ -SCSI_LIBS = @SCSI_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SNMP_CFLAGS = @SNMP_CFLAGS@ -SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ -SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ -STRICT_LDFLAGS = @STRICT_LDFLAGS@ -STRIP = @STRIP@ -SYSLOG_LIBS = @SYSLOG_LIBS@ -SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ -SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_CFLAGS = @USB_CFLAGS@ -USB_LIBS = @USB_LIBS@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -configdir = @configdir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -effective_target = @effective_target@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -locksanedir = @locksanedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SANEDESC = ../../tools/sane-desc$(EXEEXT) -TESTFILE = $(srcdir)/data/testfile.desc -OUTFILES = *.res -DEVICE = test -EXTRA_DIST = data/testfile.desc data/ascii.ref data/db.ref data/hal-new.ref \ - data/hal.ref data/html-backends-split.ref data/html-mfgs.ref \ - data/hwdb.ref data/plist.ref data/statistics.ref \ - data/udev+acl.ref data/udev+hwdb.ref data/udev.ref \ - data/usermap.ref data/xml.ref - -CLEANFILES = $(OUTFILES) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu testsuite/tools/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu testsuite/tools/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - - -all: - @echo "run 'make check' to run tests" - -all: help - -help: - @echo "Use 'make check' to run the tests." - -check: check.local - -check.local: - @echo "**** Testing $(SANEDESC) with $(TESTFILE)" - @for mode in ascii html-backends-split html-mfgs xml statistics usermap db udev udev+acl udev+hwdb hwdb plist hal hal-new; \ - do \ - $(SANEDESC) -m $$mode -s $(srcdir)/data >$$mode.res ;\ - if diff -I "[ 012][0-9]:[0-5][0-9]:[0-6][0-9] 20[0-9][0-9]" \ - -I "sane-backends 1\.0\.[0-9]\+\(git\)\?$$" \ - $(srcdir)/data/$$mode.ref $$mode.res ; \ - then \ - echo "PASS: sane-desc -m $$mode -s $(srcdir)/data"; \ - else \ - echo "FAIL: sane-desc -m $$mode -s $(srcdir)/data"; \ - exit 1 ;\ - fi; \ - done ;\ - echo "================" ;\ - echo "All tests passed" ;\ - echo "================" - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/testsuite/tools/README b/testsuite/tools/README index ac32db9..dcd6261 100644 --- a/testsuite/tools/README +++ b/testsuite/tools/README @@ -5,6 +5,6 @@ This directory contains test for tools programs. They are run by 'make check'. sane-desc --------- - sane-desc is ran for all known modes, using a test 'desc' file. + sane-desc is ran for all known modes, using a test 'desc' file. The output is compared to a reference file for the same mode. Test fails if they are different. diff --git a/testsuite/tools/data/ascii.ref b/testsuite/tools/data/ascii.ref index 4713f08..4d66732 100644 --- a/testsuite/tools/data/ascii.ref +++ b/testsuite/tools/data/ascii.ref @@ -2021,14 +2021,14 @@ backend `coolscan2' usb-vendor-id `0x04b0' usb-product-id `0x4001' status minimal - url `/unsupported/nikon-ls50-ed.html' + url `unsupported/nikon-ls50-ed.html' comment *none* model `Super Coolscan LS-5000 ED' interface `USB' usb-vendor-id `0x04b0' usb-product-id `0x4002' status untested - url `/unsupported/nikon-ls5000-ed.html' + url `unsupported/nikon-ls5000-ed.html' comment `May work, similar to LS 50 ED, but untested. Please tell us if it works.' model `LS 8000 ED' interface `IEEE-1394' @@ -2079,14 +2079,14 @@ backend `coolscan3' usb-vendor-id `0x04b0' usb-product-id `0x4001' status minimal - url `/unsupported/nikon-ls50-ed.html' + url `unsupported/nikon-ls50-ed.html' comment *none* model `Coolscan V ED' interface `USB' usb-vendor-id `0x04b0' usb-product-id `0x4001' status minimal - url `/unsupported/nikon-ls50-ed.html' + url `unsupported/nikon-ls50-ed.html' comment `Rebadged LS 50?' model `LS 2000' interface `SCSI' @@ -2107,7 +2107,7 @@ backend `coolscan3' usb-vendor-id `0x04b0' usb-product-id `0x4002' status untested - url `/unsupported/nikon-ls5000-ed.html' + url `unsupported/nikon-ls5000-ed.html' comment `May work, similar to LS 50 ED, but untested. Please tell us if it works.' model `LS 8000 ED' interface `IEEE-1394' @@ -8104,7 +8104,7 @@ backend `microtek2' usb-vendor-id *none* usb-product-id *none* status minimal - url `/unsupported/microtek-scanmaker-9800.html' + url `unsupported/microtek-scanmaker-9800.html' comment `IEEE-1394 seems to work. See link. More reports welcome.' model `Phantom 330CX' interface `Parport' @@ -12249,7 +12249,7 @@ backend `umax_pp' backend `unsupported' version `2010-06-09' manpage *none* - url `/contrib.html' + url `contrib.html' comment `The devices mentioned here are not supported by any SANE backend. However, there may be links to information about them or stand-alone programs.' type scanner mfg `Agfa' @@ -12260,14 +12260,14 @@ backend `unsupported' usb-vendor-id `0x06bd' usb-product-id `0x02bf' status unsupported - url `/unsupported/agfa-duoscan-f40.html' + url `unsupported/agfa-duoscan-f40.html' comment `Unsupported. See link for details.' model `DuoScan T2000XL' interface `SCSI' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/agfa-duoscan-t2000xl.html' + url `unsupported/agfa-duoscan-t2000xl.html' comment `Unsupported. Same as Microtek ArtixScan 2020?' model `DuoScan T2500' interface `SCSI IEEE-1384' @@ -12281,28 +12281,28 @@ backend `unsupported' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/acer-parport.html' + url `unsupported/acer-parport.html' comment `Unsupported, see link for details.' model `SnapScan EZ' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/acer-parport.html' + url `unsupported/acer-parport.html' comment `Unsupported, see link for details.' model `SnapScan 1200P' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/acer-parport.html' + url `unsupported/acer-parport.html' comment `Unsupported, see link for details.' model `SnapScan 1212P' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/acer-parport.html' + url `unsupported/acer-parport.html' comment `Unsupported, see link for details.' mfg `Artec/Ultima' url `http://www.artecusa.com/' @@ -12312,7 +12312,7 @@ backend `unsupported' usb-vendor-id `0x05d8' usb-product-id `0x4001' status unsupported - url `/unsupported/artec_1236usb.html' + url `unsupported/artec_1236usb.html' comment `Unsupported. See link for details.' model `AM12e+' interface `Parport' @@ -12326,7 +12326,7 @@ backend `unsupported' usb-vendor-id `0x05d8' usb-product-id `0x4001' status unsupported - url `/unsupported/artec-ultima-2000-2.html' + url `unsupported/artec-ultima-2000-2.html' comment `Same name, but different ids: This scanner is not supported. The scanner with product id 0x4002 is supported by the gt68xx backend, however.' mfg `Avigramm' url *none* @@ -12336,7 +12336,7 @@ backend `unsupported' usb-vendor-id `0x05cb' usb-product-id `0x1483' status unsupported - url `/unsupported/trust-combiscan-19200.html' + url `unsupported/trust-combiscan-19200.html' comment `Not supported. See link for details.' mfg `Avision' url `http://www.avision.com/' @@ -12360,14 +12360,14 @@ backend `unsupported' usb-vendor-id `0x0638' usb-product-id `0x0a10' status unsupported - url `/unsupported/umax-astra-4500.html' + url `unsupported/umax-astra-4500.html' comment `GL646 based, to be added to genesys backend. Same as UMAX Astra 4500.' model `iVina FB1800' interface `USB' usb-vendor-id `0x0638' usb-product-id `0x0a20' status unsupported - url `/unsupported/umax-astra-4700.html' + url `unsupported/umax-astra-4700.html' comment `GL646/GL660 based. Same as UMAX Astra 4700.' mfg `Benq (Acer)' url `http://www.benq.com' @@ -12377,56 +12377,56 @@ backend `unsupported' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/acer-parport.html' + url `unsupported/acer-parport.html' comment `Unsupported, see link for details.' model `320P' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/acer-parport.html' + url `unsupported/acer-parport.html' comment `Unsupported, see link for details.' model `340P' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/acer-parport.html' + url `unsupported/acer-parport.html' comment `Unsupported, see link for details.' model `610P' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/acer-parport.html' + url `unsupported/acer-parport.html' comment `Unsupported, see link for details.' model `610PT' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/acer-parport.html' + url `unsupported/acer-parport.html' comment `Unsupported, see link for details.' model `620P' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/acer-parport.html' + url `unsupported/acer-parport.html' comment `Unsupported, see link for details.' model `620PT' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/acer-parport.html' + url `unsupported/acer-parport.html' comment `Unsupported, see link for details.' model `640P' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/acer-parport.html' + url `unsupported/acer-parport.html' comment `Unsupported, see link for details.' model `5450' interface `USB' @@ -12440,21 +12440,21 @@ backend `unsupported' usb-vendor-id `0x04a5' usb-product-id `0x2211' status unsupported - url `/unsupported/benq-5550.html' + url `unsupported/benq-5550.html' comment `Unsupported, see link for details.' model `5560' interface `USB' usb-vendor-id `0x04a5' usb-product-id `0x2311' status unsupported - url `http://lists.alioth.debian.org/pipermail/sane-devel/2009-January/023447.html' + url `http://alioth-lists.debian.net/pipermail/sane-devel/2009-January/023447.html' comment *none* model `7400UT' interface `USB' usb-vendor-id `0x04a5' usb-product-id `0x2202' status unsupported - url `/unsupported/benq-7400ut.html' + url `unsupported/benq-7400ut.html' comment *none* mfg `Boeder' url *none* @@ -12464,7 +12464,7 @@ backend `unsupported' usb-vendor-id `0x05cb' usb-product-id `0x1483' status unsupported - url `/unsupported/trust-combiscan-19200.html' + url `unsupported/trust-combiscan-19200.html' comment `Unsupported. See link for details.' mfg `Brother' url `http://www.brother.com/' @@ -12474,7 +12474,7 @@ backend `unsupported' usb-vendor-id `0x04f9' usb-product-id `0x000a' status unsupported - url `/unsupported/brother-mfc-2500.html' + url `unsupported/brother-mfc-2500.html' comment `Not supported. See link for details.' model `MFC 4600' interface `Parport' @@ -12488,14 +12488,14 @@ backend `unsupported' usb-vendor-id `0x04f9' usb-product-id `0x0106' status unsupported - url `/unsupported/brother-mfc-7300.html' + url `unsupported/brother-mfc-7300.html' comment *none* model `MFC 9600' interface `USB' usb-vendor-id `0x04f9' usb-product-id `0x0101' status unsupported - url `/unsupported/brother-mfc-9600.html' + url `unsupported/brother-mfc-9600.html' comment *none* mfg `C-Channel' url `http://www.c-channel.ch/' @@ -12505,7 +12505,7 @@ backend `unsupported' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/c-channel-mypen-pro.html' + url `unsupported/c-channel-mypen-pro.html' comment `Probably unsupported. See link for details.' model `MyPen Light' interface `USB' @@ -12529,119 +12529,119 @@ backend `unsupported' usb-vendor-id `0x04a9' usb-product-id `0x2215' status unsupported - url `/unsupported/canon-3000.html' + url `unsupported/canon-3000.html' comment `GL660+GL646 based.' model `CanoScan 3000ex' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x2215' status unsupported - url `/unsupported/canon-3000.html' + url `unsupported/canon-3000.html' comment `GL660+GL646 based.' model `CanoScan 3000F' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x2215' status unsupported - url `/unsupported/canon-3000.html' + url `unsupported/canon-3000.html' comment `GL660+GL646 based, to be added to genesys backend' model `CanoScan 4200F' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x221b' status unsupported - url `/unsupported/canon-4200f.html' + url `unsupported/canon-4200f.html' comment `Probably unsupported. See link.' model `CanoScan 4400F' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x2228' status unsupported - url `/unsupported/canon-4400.html' + url `unsupported/canon-4400.html' comment `GL843 based, to be added to genesys backend' model `CanoScan 5000F' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x2212' status unsupported - url `/unsupported/canon-5000f.html' + url `unsupported/canon-5000f.html' comment `Unsupported. See link for details.' model `CanoScan 5200F' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x2217' status unsupported - url `/unsupported/canon-5200f.html' + url `unsupported/canon-5200f.html' comment `Probably unsupported. See link for details.' model `CanoScan 8000F' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x220f' status unsupported - url `/unsupported/canon-8000f.html' + url `unsupported/canon-8000f.html' comment `Not supported. See link for more information. With transparency adapter.' model `CanoScan 8400F' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x221e' status unsupported - url `/unsupported/canon-8400f.html' + url `unsupported/canon-8400f.html' comment `GL841 based, to be added to genesys backend' model `CanoScan 8600F' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x2229' status unsupported - url `/unsupported/canon-8600.html' + url `unsupported/canon-8600.html' comment `GL841 based, to be added to genesys backend' model `CanoScan 9900F' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x2210' status unsupported - url `/unsupported/canon-9900f.html' + url `unsupported/canon-9900f.html' comment `Probably unsupported, similar to 8000F. 3200x6400 dpi USB2. With transparency adapter.' model `CanoScan 9950F' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x2219' status unsupported - url `/unsupported/canon-9950f.html' + url `unsupported/canon-9950f.html' comment `Probably unsupported.' model `CanoScan D646U' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x220b' status unsupported - url `/unsupported/canon-d646u.html' + url `unsupported/canon-d646u.html' comment `Probably not supported. See link for more information and test program.' model `CanoScan D646U ex' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x220b' status unsupported - url `/unsupported/canon-d646u.html' + url `unsupported/canon-d646u.html' comment `Probably not supported. See D646.' model `CanoScan D1230U' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x2209' status unsupported - url `/unsupported/canon-d1230u.html' + url `unsupported/canon-d1230u.html' comment `Probably not supported. ' model `CanoScan D1250U2' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x220c' status unsupported - url `/unsupported/canon-d1250u2.html' + url `unsupported/canon-d1250u2.html' comment `Not supported. However, someone started working on this scanner and some information is available (see link).' model `CanoScan D2400UF' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x220a' status unsupported - url `/unsupported/canon-d2400uf.html' + url `unsupported/canon-d2400uf.html' comment `Not supported. See link.' model `CanoScan FB320U' interface `USB' @@ -12655,7 +12655,7 @@ backend `unsupported' usb-vendor-id `0x04a9' usb-product-id `0x2202' status unsupported - url `/unsupported/canon-fb620u.html' + url `unsupported/canon-fb620u.html' comment `Probably not supported. Some information is available.' model `CanoScan FB1210U' interface `USB' @@ -12676,21 +12676,21 @@ backend `unsupported' usb-vendor-id `0x04a9' usb-product-id `0x2214' status unsupported - url `/unsupported/canon-lide-80.html' + url `unsupported/canon-lide-80.html' comment `GL841 based, to be added to genesys backend' model `CanoScan LiDE 90' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x1900' status unsupported - url `/unsupported/canon-lide-90.html' + url `unsupported/canon-lide-90.html' comment `Unsupported. See link for details.' model `CanoScan LiDE 500F' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x221f' status unsupported - url `/unsupported/canon-canoscan-lide-500f.html' + url `unsupported/canon-canoscan-lide-500f.html' comment `GL841 based, to be added to genesys backend' model `CanoScan LiDE 600' interface `USB' @@ -12711,70 +12711,70 @@ backend `unsupported' usb-vendor-id `0x04a9' usb-product-id `0x3042' status unsupported - url `/unsupported/canon-fs4000.html' + url `unsupported/canon-fs4000.html' comment `Not supported. See link for more details.' model `IS 12' interface `USB' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/canon-is-12.html' + url `unsupported/canon-is-12.html' comment `Probably not supported. Scanner cardridge for Canon inkjet printers.' model `IS 22' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/canon-is-22.html' + url `unsupported/canon-is-22.html' comment `Probably not supported. Scanner cardridge for Canon inkjet printers.' model `IS 32' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x105d' status unsupported - url `/unsupported/canon-is-32.html' + url `unsupported/canon-is-32.html' comment `Probably not supported. Scanner cardridge for Canon inkjet printers.' model `IS 52' interface `USB' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/canon-is-52.html' + url `unsupported/canon-is-52.html' comment `Probably not supported. Scanner cardridge for Canon inkjet printers.' model `ImageRunner iR1018' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x269d' status unsupported - url `/unsupported/canon-imagerunner.html' + url `unsupported/canon-imagerunner.html' comment `Probably not supported. See link for details.' model `ImageRunner iR1022' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x269d' status unsupported - url `/unsupported/canon-imagerunner.html' + url `unsupported/canon-imagerunner.html' comment `Probably not supported. See link for details.' model `ImageRunner iR1023' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x269d' status unsupported - url `/unsupported/canon-imagerunner.html' + url `unsupported/canon-imagerunner.html' comment `Probably not supported. See link for details.' model `PIXMA MP110' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x1700' status unsupported - url `/unsupported/canon-pixma-mp110.html' + url `unsupported/canon-pixma-mp110.html' comment `Probably not supported. See link for details.' model `PIXMA MP130' interface `USB' usb-vendor-id `0x04a9' usb-product-id `0x1701' status unsupported - url `/unsupported/canon-pixma-mp130.html' + url `unsupported/canon-pixma-mp130.html' comment `Probably not supported. See link for details.' model `DR-2020U' interface `USB' @@ -12791,7 +12791,7 @@ backend `unsupported' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/chinon-ds3000.html' + url `unsupported/chinon-ds3000.html' comment `Unsupported at the moment, but a backend is in preparation. See link.' mfg `Compaq' url `http://www.compaq.com/' @@ -12811,7 +12811,7 @@ backend `unsupported' usb-vendor-id `0x05cb' usb-product-id `0x1483' status unsupported - url `/unsupported/trust-combiscan-19200.html' + url `unsupported/trust-combiscan-19200.html' comment `Unsupported. See link for details.' mfg `Corex' url `http://www.cardscan.com/' @@ -12821,14 +12821,14 @@ backend `unsupported' usb-vendor-id `0x08f0' usb-product-id `0x0001' status unsupported - url `/unsupported/corex-cardscan-500.html' + url `unsupported/corex-cardscan-500.html' comment `Probably not supported. Businesscard reader.' model `Cardscan 700 C' interface `USB' usb-vendor-id `0x08f0' usb-product-id `0x0004' status unsupported - url `/unsupported/corex-cardscan-700.html' + url `unsupported/corex-cardscan-700.html' comment `Probably not supported.' mfg `Dell' url `http://www.dell.com/' @@ -12845,14 +12845,14 @@ backend `unsupported' usb-vendor-id `0x413c' usb-product-id `0x5107' status unsupported - url `/unsupported/dell-a960.html' + url `unsupported/dell-a960.html' comment `Probably not supported. See link for details.' model `922' interface `USB' usb-vendor-id `0x413c' usb-product-id `0x5109' status unsupported - url `/unsupported/dell-922.html' + url `unsupported/dell-922.html' comment `Probably not supported. See link for details.' mfg `Epson' url `http://www.epson.com/' @@ -12876,7 +12876,7 @@ backend `unsupported' usb-vendor-id `0x04b8' usb-product-id `0x083f' status unsupported - url `/unsupported/epson-stylus-dx4450.html' + url `unsupported/epson-stylus-dx4450.html' comment `Probably unsupported. See link for details.' model `Stylus CX-5800' interface `USB' @@ -12893,7 +12893,7 @@ backend `unsupported' usb-vendor-id `0x0a53' usb-product-id `0x5001' status unsupported - url `/unsupported/edt-900c.html' + url `unsupported/edt-900c.html' comment `Probably unsupported. See link for details.' mfg `E-Lux' url *none* @@ -12931,42 +12931,42 @@ backend `unsupported' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/genius-colorpage-cs.html' + url `unsupported/genius-colorpage-cs.html' comment `Probably unsupported, see link for details.' model `ColorPage-Slim 1200 USB2' interface `USB' usb-vendor-id `0x0458' usb-product-id `0x2020' status unsupported - url `/unsupported/genius-colorpage-slim-1200-usb2.html' + url `unsupported/genius-colorpage-slim-1200-usb2.html' comment `GL841 based, to be added to genesys backend.' model `ColorPage HR6X Slim' interface `USB' usb-vendor-id `0x0458' usb-product-id `0x2019' status unsupported - url `/unsupported/genius-colorpage-hr6x.html' + url `unsupported/genius-colorpage-hr6x.html' comment `GL646 based, to be added to genesys backend' model `ColorPage HR7X' interface `USB' usb-vendor-id `0x0458' usb-product-id `0x2018' status unsupported - url `/unsupported/genius-colorpage-hr7x.html' + url `unsupported/genius-colorpage-hr7x.html' comment `GL646 based, to be added to genesys backend' model `ColorPage HR7XE' interface `USB' usb-vendor-id `0x06dc' usb-product-id `0x0012' status unsupported - url `/unsupported/genius-colorpage-hr7xe.html' + url `unsupported/genius-colorpage-hr7xe.html' comment `Unsuported. See link for details.' model `ColorPage HR8' interface `USB' usb-vendor-id `0x0458' usb-product-id `0x201c' status unsupported - url `/unsupported/genius-colorpage-hr8.html' + url `unsupported/genius-colorpage-hr8.html' comment `GL841 based, to be added to genesys backend' mfg `Guillemot' url *none* @@ -12976,7 +12976,7 @@ backend `unsupported' usb-vendor-id `0x080d' usb-product-id `0x0102' status unsupported - url `/unsupported/teco-vm6509.html' + url `unsupported/teco-vm6509.html' comment `Probably unsupported. See link for details.' model `Maxi Scan A4 Parallel 36 bit' interface `Parport' @@ -12993,7 +12993,7 @@ backend `unsupported' usb-vendor-id `0x080d' usb-product-id `0x0102' status unsupported - url `/unsupported/teco-vm6509.html' + url `unsupported/teco-vm6509.html' comment `Probably unsupported. See link for details.' mfg `Hewlett-Packard' url `http://www.hp.com/' @@ -13003,7 +13003,7 @@ backend `unsupported' usb-vendor-id `0x03f0' usb-product-id `0x1001' status unsupported - url `/unsupported/hp-photo-1000.html' + url `unsupported/hp-photo-1000.html' comment `Not supported by SANE. However, it's detected as mass storage device so just mounting it is reported to work. See link for device data.' model `Photosmart 1200 Photo' interface `USB' @@ -13017,35 +13017,35 @@ backend `unsupported' usb-vendor-id `0x03f0' usb-product-id `0x0102' status unsupported - url `/unsupported/hp-photosmart-s20xi.html' + url `unsupported/hp-photosmart-s20xi.html' comment `Not supported yet by SANE. See link for details.' model `Photosmart S20xi (C7150A)' interface `USB' usb-vendor-id `0x03f0' usb-product-id `0x0102' status unsupported - url `/unsupported/hp-photosmart-s20xi.html' + url `unsupported/hp-photosmart-s20xi.html' comment `Not supported yet by SANE. See link for details.' model `Photosmart C5100 series' interface `USB' usb-vendor-id `0x03f0' usb-product-id `0x5811' status unsupported - url `/unsupported/hp-photosmart-5100.html' + url `unsupported/hp-photosmart-5100.html' comment `Not supported yet by SANE. See link for details.' model `ScanJet 2400c' interface `USB' usb-vendor-id `0x03f0' usb-product-id `0x0a01' status unsupported - url `/unsupported/hp-scanjet-2400c.html' + url `unsupported/hp-scanjet-2400c.html' comment `GL646 based, to be added to genesys backend' model `Photosmart C3180' interface `USB' usb-vendor-id `0x03f0' usb-product-id `0x5611' status unsupported - url `/unsupported/hp-photosmart-3180.html' + url `unsupported/hp-photosmart-3180.html' comment `Not supported yet by SANE. See link for details.' model `ScanJet 3770' interface `USB' @@ -13059,7 +13059,7 @@ backend `unsupported' usb-vendor-id `0x03f0' usb-product-id `0x3005' status unsupported - url `/unsupported/hp-scanjet-4600.html' + url `unsupported/hp-scanjet-4600.html' comment `Not supported. See link for details, or http://www.chmil.org/hp4600linux/ for code' model `ScanJet 4670' interface `USB' @@ -13073,35 +13073,35 @@ backend `unsupported' usb-vendor-id `0x03f0' usb-product-id `0x1b05' status unsupported - url `/unsupported/hp-scanjet-4850.html' + url `unsupported/hp-scanjet-4850.html' comment `GL841, maybe can be added to genesys backend ' model `ScanJet 4890C' interface `USB' usb-vendor-id `0x03f0' usb-product-id `0x1b05' status unsupported - url `/unsupported/hp-scanjet-4850.html' + url `unsupported/hp-scanjet-4850.html' comment `GL843, maybe can be added to genesys backend ' model `ScanJet 5530C Photosmart' interface `USB' usb-vendor-id `0x03f0' usb-product-id `0x1605' status unsupported - url `/unsupported/hp-scanjet-5530.html' + url `unsupported/hp-scanjet-5530.html' comment `Maybe GL841_HP, but not confirmed, maybe can be added to genesys backend' model `ScanJet 8390' interface `USB' usb-vendor-id `0x03f0' usb-product-id `0x3805' status unsupported - url `/unsupported/hp-scanjet-8390.html' + url `unsupported/hp-scanjet-8390.html' comment `Probably not supported. See link for details.' model `ScanJet G4000' interface `USB' usb-vendor-id `0x03f0' usb-product-id `0x4505' status unsupported - url `/unsupported/hp-g4000.html' + url `unsupported/hp-g4000.html' comment `Probably not supported. See link for details.' mfg `IBM' url `http://www.ibm.com' @@ -13121,7 +13121,7 @@ backend `unsupported' usb-vendor-id `0x05cb' usb-product-id `0x1483' status unsupported - url `/unsupported/trust-combiscan-19200.html' + url `unsupported/trust-combiscan-19200.html' comment `Unsupported. See link for details.' mfg `Iris' url `http://irislink.com/' @@ -13131,21 +13131,21 @@ backend `unsupported' usb-vendor-id `0x0a53' usb-product-id `0x1000' status unsupported - url `/unsupported/iris-iriscan.html' + url `unsupported/iris-iriscan.html' comment `Unsupported. LM9832/3. See link for details.' model `IRISPen Translator Executive' interface `USB' usb-vendor-id `0x0f43' usb-product-id `0x015a' status unsupported - url `/unsupported/iris-irispen-translator.html' + url `unsupported/iris-irispen-translator.html' comment `Unsupported. See link for details.' model `IRISCard Pro (IBCR II)' interface `USB' usb-vendor-id `0x0a38' usb-product-id `0x0301' status unsupported - url `/unsupported/iris-business.html' + url `unsupported/iris-business.html' comment `Unsupported. See link for details.' mfg `Kodak' url `http://www.kodak.com' @@ -13165,84 +13165,84 @@ backend `unsupported' usb-vendor-id `0x043d' usb-product-id `0x0097' status unsupported - url `/unsupported/lexmark-p6250.html' + url `unsupported/lexmark-p6250.html' comment `Unsupported. See link for details.' model `Photo 3150' interface `USB' usb-vendor-id `0x043d' usb-product-id `0x007d' status unsupported - url `/unsupported/lexmark-3150.html' + url `unsupported/lexmark-3150.html' comment `Unsupported. See link for details.' model `X74' interface `USB' usb-vendor-id `0x043d' usb-product-id `0x0060' status unsupported - url `/unsupported/lexmark-x75.html' + url `unsupported/lexmark-x75.html' comment `Unsupported. See link for details.' model `X75' interface `USB' usb-vendor-id `0x043d' usb-product-id `0x0060' status unsupported - url `/unsupported/lexmark-x75.html' + url `unsupported/lexmark-x75.html' comment `Unsupported. See link for details.' model `X75 PrinTrio' interface `USB' usb-vendor-id `0x043d' usb-product-id `0x0060' status unsupported - url `/unsupported/lexmark-x75.html' + url `unsupported/lexmark-x75.html' comment `Unsupported. See link for details.' model `X83' interface `USB' usb-vendor-id `0x043d' usb-product-id `0x003d' status unsupported - url `/unsupported/lexmark-x83.html' + url `unsupported/lexmark-x83.html' comment `Unsupported. GL640.' model `X2330' interface `USB' usb-vendor-id `0x043d' usb-product-id `0x00bb' status unsupported - url `/unsupported/lexmark-x2330.html' + url `unsupported/lexmark-x2330.html' comment `Unsupported. See link for details.' model `X3450' interface `USB' usb-vendor-id `0x043d' usb-product-id `0x00f6' status unsupported - url `/unsupported/lexmark-x3450.html' + url `unsupported/lexmark-x3450.html' comment `Unsupported. See link for details.' model `X5130' interface `USB' usb-vendor-id `0x043d' usb-product-id `0x0065' status unsupported - url `/unsupported/lexmark-x5130.html' + url `unsupported/lexmark-x5130.html' comment `Unsupported.' model `X5150' interface `USB' usb-vendor-id `0x043d' usb-product-id `0x0065' status unsupported - url `/unsupported/lexmark-x5130.html' + url `unsupported/lexmark-x5130.html' comment `Probably unsupported. See link for details.' model `X5250' interface `USB' usb-vendor-id `0x043d' usb-product-id `0x0093' status unsupported - url `/unsupported/lexmark-x5250.html' + url `unsupported/lexmark-x5250.html' comment `Unsupported.' model `X6170' interface `USB' usb-vendor-id `0x043d' usb-product-id `0x0072' status unsupported - url `/unsupported/lexmark-x6170.html' + url `unsupported/lexmark-x6170.html' comment `Unsupported. See link for details.' model `X7170' interface `USB' @@ -13256,14 +13256,14 @@ backend `unsupported' usb-vendor-id `0x043d' usb-product-id `0x00b8' status unsupported - url `/unsupported/lexmark-x7350.html' + url `unsupported/lexmark-x7350.html' comment `Unsupported. See link for details.' model `X8350' interface `USB' usb-vendor-id `0x043d' usb-product-id `0x00b9' status unsupported - url `/unsupported/lexmark-x8350.html' + url `unsupported/lexmark-x8350.html' comment `Unsupported. See link for details.' mfg `Logitech' url *none* @@ -13280,7 +13280,7 @@ backend `unsupported' usb-vendor-id `0x046d' usb-product-id `0x040f' status unsupported - url `/unsupported/logitech-pagescan-usb.html' + url `unsupported/logitech-pagescan-usb.html' comment `Probably unsupported. See link for details.' mfg `Medion/Lifetec/Tevion/Cytron' url `http://www.medion.com/' @@ -13291,42 +13291,42 @@ backend `unsupported' usb-vendor-id `0x0461' usb-product-id `0x0392' status unsupported - url `/unsupported/medion-md6190.html' + url `unsupported/medion-md6190.html' comment `Probably unsupported. There seem to exist two different scanners with that name. See link for details.' model `MD 6190' interface `USB' usb-vendor-id `0x0461' usb-product-id `0x037b' status unsupported - url `/unsupported/medion-md6190.html' + url `unsupported/medion-md6190.html' comment `Probably unsupported. There seem to exist two different scanners with that name. See link for details.' model `MD 40420' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x3008' status unsupported - url `/unsupported/tevion-md40420.html' + url `unsupported/tevion-md40420.html' comment `Probably unsupported. See link for details.' model `MD 41260' interface `USB' usb-vendor-id `0x0461' usb-product-id `0x037b' status unsupported - url `/unsupported/medion-md6190.html' + url `unsupported/medion-md6190.html' comment `Probably unsupported. See link for details.' model `MD 41985' interface `USB' usb-vendor-id `0x0461' usb-product-id `0x037b' status unsupported - url `/unsupported/medion-md6190.html' + url `unsupported/medion-md6190.html' comment `Probably unsupported. See link for details.' model `MD 42666' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x3008' status unsupported - url `/unsupported/tevion-md40420.html' + url `unsupported/tevion-md40420.html' comment `Probably unsupported. See link for details.' model `MD 85264' interface `USB' @@ -13340,21 +13340,21 @@ backend `unsupported' usb-vendor-id `0x05da' usb-product-id `0x30e5' status unsupported - url `/unsupported/tevion-md90009.html' + url `unsupported/tevion-md90009.html' comment `Probably unsupported. See link for details.' model `MD 90070' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x3022' status unsupported - url `/unsupported/tevion-md90070.html' + url `unsupported/tevion-md90070.html' comment `Unsupported. See link for details.' model `MD 90090' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x3022' status unsupported - url `/unsupported/tevion-md90070.html' + url `unsupported/tevion-md90070.html' comment `Unsupported. See link for details.' mfg `Memorex' url `http://www.memorex.com/' @@ -13364,28 +13364,28 @@ backend `unsupported' usb-vendor-id `0x0461' usb-product-id `0x0346' status unsupported - url `/unsupported/memorex-maxx-6136u.html' + url `unsupported/memorex-maxx-6136u.html' comment `Probably unsupported.' model `6142u' interface `USB' usb-vendor-id `0x0461' usb-product-id `0x0347' status unsupported - url `/unsupported/visioneer-onetouch4400.html' + url `unsupported/visioneer-onetouch4400.html' comment `Probably unsupported. Same as Visioneer Onetouch 4400. See link for details.' model `MaxxScan 6122' interface `USB Parport' usb-vendor-id `0x05cb' usb-product-id `0x1483' status unsupported - url `/unsupported/trust-combiscan-19200.html' + url `unsupported/trust-combiscan-19200.html' comment `Unsupported. See link for details.' model `SCF 9612P' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/memorex-scf-9612p.html' + url `unsupported/memorex-scf-9612p.html' comment `Probably unsupported. See link for details.' mfg `Microtek' url `http://www.microtek.com/' @@ -13402,7 +13402,7 @@ backend `unsupported' usb-vendor-id `0x05da' usb-product-id `0x202e' status unsupported - url `/unsupported/microtek-artixscan-2020.html' + url `unsupported/microtek-artixscan-2020.html' comment `Unsupported. See link for details.' model `Artixscan 2500f' interface `SCSI IEEE-1384' @@ -13423,7 +13423,7 @@ backend `unsupported' usb-vendor-id `0x05e3' usb-product-id `0x0120' status unsupported - url `/unsupported/microtek-filmscan-35.html' + url `unsupported/microtek-filmscan-35.html' comment `Probably unsupported. See link for details.' model `ScanMaker 336 CX' interface `SCSI' @@ -13437,91 +13437,91 @@ backend `unsupported' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/microtek-scanmaker-1850s.html' + url `unsupported/microtek-scanmaker-1850s.html' comment `Unsupported. See link for details.' model `ScanMaker 3630' interface `USB' usb-vendor-id `0x0461' usb-product-id `0x0347' status unsupported - url `/unsupported/microtek-scanmaker-3630.html' + url `unsupported/microtek-scanmaker-3630.html' comment `Unsupported. Doesn't seem to be compatible to 3600 series, see link.' model `ScanMaker 3800' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x30ce' status unsupported - url `/unsupported/microtek-scanmaker-3800.html' + url `unsupported/microtek-scanmaker-3800.html' comment `Unsupported. See link for more details.' model `ScanMaker 3830' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x30ce' status unsupported - url `/unsupported/microtek-scanmaker-3830.html' + url `unsupported/microtek-scanmaker-3830.html' comment `Unsupported. See link for more details.' model `ScanMaker 3860' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x3023' status unsupported - url `/unsupported/microtek-scanmaker-3880.html' + url `unsupported/microtek-scanmaker-3880.html' comment `Unsupported. See link for more details. Appears to be similar to ScanMaker 3880.' model `ScanMaker 3880' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x3021' status unsupported - url `/unsupported/microtek-scanmaker-3880.html' + url `unsupported/microtek-scanmaker-3880.html' comment `Unsupported. SQ113 chip. See link for more details.' model `ScanMaker 4600' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x40c7' status unsupported - url `/unsupported/microtek-scanmaker-4600.html' + url `unsupported/microtek-scanmaker-4600.html' comment `Unsupported. See link for more details.' model `ScanMaker 4700' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x20b4' status unsupported - url `/unsupported/microtek-scanmaker-4700.html' + url `unsupported/microtek-scanmaker-4700.html' comment `Unsupported. See link for more details.' model `ScanMaker 4850' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x30d9' status unsupported - url `/unsupported/microtek-scanmaker-4900.html' + url `unsupported/microtek-scanmaker-4900.html' comment `Probably unsupported. See link for details.' model `ScanMaker 4850 II' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x3008' status unsupported - url `/unsupported/microtek-scanmaker-4850-2.html' + url `unsupported/microtek-scanmaker-4850-2.html' comment `Probably unsupported. See link for details.' model `ScanMaker 4900' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x30b9' status unsupported - url `/unsupported/microtek-scanmaker-4900.html' + url `unsupported/microtek-scanmaker-4900.html' comment `Unsupported. See link for more details.' model `ScanMaker 5' interface `SCSI' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/microtek-scanmaker-5600.html' + url `unsupported/microtek-scanmaker-5600.html' comment `Probably unsupported. See link for more details.' model `ScanMaker 5600' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x20a7' status unsupported - url `/unsupported/microtek-scanmaker-5600.html' + url `unsupported/microtek-scanmaker-5600.html' comment `Unsupported. See link for more details.' model `ScanMaker 5700' interface `USB' @@ -13535,56 +13535,56 @@ backend `unsupported' usb-vendor-id `0x05da' usb-product-id `0x3008' status unsupported - url `/unsupported/microtek-scanmaker-5800.html' + url `unsupported/microtek-scanmaker-5800.html' comment `Unsupported. See link for details.' model `ScanMaker 5800' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x30d8' status unsupported - url `/unsupported/microtek-scanmaker-5800.html' + url `unsupported/microtek-scanmaker-5800.html' comment `Unsupported. See link for details.' model `ScanMaker 5900' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x30d8' status unsupported - url `/unsupported/microtek-scanmaker-5900.html' + url `unsupported/microtek-scanmaker-5900.html' comment `Unsupported. See link for more details.' model `ScanMaker 5950' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x30d8' status unsupported - url `/unsupported/microtek-scanmaker-5950.html' + url `unsupported/microtek-scanmaker-5950.html' comment `Unsupported. See link for more details.' model `ScanMaker 6000' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x30e5' status unsupported - url `/unsupported/microtek-scanmaker-6000.html' + url `unsupported/microtek-scanmaker-6000.html' comment `Unsupported. See link for more details.' model `ScanMaker 6100' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x30e5' status unsupported - url `/unsupported/microtek-scanmaker-6100.html' + url `unsupported/microtek-scanmaker-6100.html' comment `Unsupported. See link for more details.' model `ScanMaker 6700' interface `USB IEEE-1394' usb-vendor-id `0x05da' usb-product-id `0x20c9' status unsupported - url `/unsupported/microtek-scanmaker-6700.html' + url `unsupported/microtek-scanmaker-6700.html' comment `Unsupported. See link.' model `ScanMaker 8700' interface `USB IEEE-1394' usb-vendor-id `0x05da' usb-product-id `0x20b1' status unsupported - url `/unsupported/microtek-scanmaker-8700.html' + url `unsupported/microtek-scanmaker-8700.html' comment `Unsupported. See link for details. USB vendor and product ids to be checked.' model `ScanMaker 9600XL' interface `USB IEEE-1394' @@ -13598,35 +13598,35 @@ backend `unsupported' usb-vendor-id `0x05da' usb-product-id `0x20de' status unsupported - url `/unsupported/microtek-scanmaker-9800.html' + url `unsupported/microtek-scanmaker-9800.html' comment `Partly unsupported. IEEE-1394 works with microtek2 backend. See link.' model `ScanMaker i320' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x30e6' status unsupported - url `/unsupported/microtek-scanmaker-i320.html' + url `unsupported/microtek-scanmaker-i320.html' comment `Unsupported. See link.' model `ScanMaker s400' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x201c' status unsupported - url `/unsupported/microtek-scanmaker-s400.html' + url `unsupported/microtek-scanmaker-s400.html' comment `Unsupported. See link.' model `ScanMaker S400' interface `USB' usb-vendor-id `0x05da' usb-product-id `0x300b' status unsupported - url `/unsupported/microtek-scanmaker-s400.html' + url `unsupported/microtek-scanmaker-s400.html' comment `Unsupported. See link.' model `ScanPort 3000' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0224' status unsupported - url `/unsupported/microtek-scanport-3000.html' + url `unsupported/microtek-scanport-3000.html' comment `Unsupported. Vendor/Product ids: 0x04a7/0x0224. Realtek RTS8801B?. See link for details.' mfg `Konica Minolta' url `http://www.konicaminolta.com/' @@ -13636,35 +13636,35 @@ backend `unsupported' usb-vendor-id `0x0686' usb-product-id `0x400d' status unsupported - url `/unsupported/minolta-dual-scan-III.html' + url `unsupported/minolta-dual-scan-III.html' comment `Unsupported. May work with vuescan. See link for details.' model `Dual Scan IV' interface `USB' usb-vendor-id `0x132b' usb-product-id `0x000a' status unsupported - url `/unsupported/minolta-dual-scan-IV.html' + url `unsupported/minolta-dual-scan-IV.html' comment `Unsupported. Works with vuescan. See link for details.' model `DiMAGE Scan Elite 5400' interface `USB IEEE-1394' usb-vendor-id `0x0686' usb-product-id `0x400e' status unsupported - url `/unsupported/minolta-dse-5400.html' + url `unsupported/minolta-dse-5400.html' comment `Probably unsupported. May work with vuescan. See link for details.' model `DiMAGE Scan Elite 5400 2' interface `USB' usb-vendor-id `0x132b' usb-product-id `0x0012' status unsupported - url `/unsupported/minolta-dse-5400-2.html' + url `unsupported/minolta-dse-5400-2.html' comment `Probably unsupported. See link for details.' model `DiMAGE Scan Multi Pro' interface `IEEE-1394' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/minolta-dimage-scan-multi-pro.html' + url `unsupported/minolta-dimage-scan-multi-pro.html' comment `Probably unsupported. See link for details.' model `magicolor 2480MF' interface `USB Network' @@ -13704,21 +13704,21 @@ backend `unsupported' usb-vendor-id `0x055f' usb-product-id `0x0408' status unsupported - url `/unsupported/mustek-bearpaw-2448-cu-pro.html' + url `unsupported/mustek-bearpaw-2448-cu-pro.html' comment `Not supported. May be supported by mustek_usb2 backend later. See link for some information.' model `BearPaw 4800 TA Pro' interface `USB' usb-vendor-id `0x055f' usb-product-id `0x1000' status unsupported - url `/unsupported/mustek-bearpaw-4800ta-pro.html' + url `unsupported/mustek-bearpaw-4800ta-pro.html' comment `Not supported. See link for some information.' model `BearPaw 4800 TA Pro II' interface `USB' usb-vendor-id `0x055f' usb-product-id `0x040a' status unsupported - url `/unsupported/mustek-bearpaw-4800ta-pro-ii.html' + url `unsupported/mustek-bearpaw-4800ta-pro-ii.html' comment `Not supported. May be supported by mustek_usb2 backend later. See link for some information.' model `BearPaw 6400 TA Pro' interface `USB' @@ -13781,7 +13781,7 @@ backend `unsupported' usb-vendor-id *none* usb-product-id *none* status unsupported - url `http://lists.alioth.debian.org/pipermail/sane-devel/2003-May/007682.html' + url `http://alioth-lists.debian.net/pipermail/sane-devel/2003-May/007682.html' comment `Probably not supported. Same as Mustek 12000 P?. ASIC 1505.' mfg `NEC' url `http://www.nevt.co.jp/' @@ -13791,7 +13791,7 @@ backend `unsupported' usb-vendor-id `0x0475' usb-product-id `0x0100' status unsupported - url `/unsupported/nec-petiscan.html' + url `unsupported/nec-petiscan.html' comment `Most probably unsupported. See link for details. Vendor ID is Relisys/Teco. Not known if it is similar to other Relisys/Teco USB scanners.' mfg `Nikon' url `http://www.nikon.com/' @@ -13801,7 +13801,7 @@ backend `unsupported' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/nikon-ls9000-ed.html' + url `unsupported/nikon-ls9000-ed.html' comment `Probably not supported. See link for details. Possibly similar to LS-8000 ED.' mfg `Olivetti' url `http://www.olivetti.com' @@ -13811,7 +13811,7 @@ backend `unsupported' usb-vendor-id `0x0b3c' usb-product-id `0xa880' status unsupported - url `/unsupported/olivetti-job-jet-m400.html' + url `unsupported/olivetti-job-jet-m400.html' comment `Probably not supported. See link for details.' mfg `Olympus' url `http://www.olympus.com' @@ -13821,14 +13821,14 @@ backend `unsupported' usb-vendor-id *none* usb-product-id *none* status unsupported - url `http://lists.alioth.debian.org/pipermail/sane-devel/2008-December/023326.html' + url `http://alioth-lists.debian.net/pipermail/sane-devel/2008-December/023326.html' comment *none* model `ES-10S' interface `SCSI' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/olympus-es10s.html' + url `unsupported/olympus-es10s.html' comment `Probably not supported. See link for details.' mfg `Optoelectronics' url *none* @@ -13987,7 +13987,7 @@ backend `unsupported' usb-vendor-id `0x0a82' usb-product-id `0x2000' status unsupported - url `/unsupported/syscan-travelscan-pro.html' + url `unsupported/syscan-travelscan-pro.html' comment `Probably not supported. Some information is available.' mfg `PIE' url `http://www.scanace.com/' @@ -13997,14 +13997,14 @@ backend `unsupported' usb-vendor-id `0x05e3' usb-product-id `0x0120' status unsupported - url `/unsupported/pie-1800u.html' + url `unsupported/pie-1800u.html' comment `Not supported. See link for details.' model `Primefilm 2700' interface `USB' usb-vendor-id *none* usb-product-id *none* status unsupported - url `http://lists.alioth.debian.org/pipermail/sane-devel/2009-January/023442.html' + url `http://alioth-lists.debian.net/pipermail/sane-devel/2009-January/023442.html' comment *none* model `Primefilm 3600PRO' interface `USB IEEE-1394' @@ -14018,14 +14018,14 @@ backend `unsupported' usb-vendor-id `0x05e3' usb-product-id `0x0142' status unsupported - url `/unsupported/reflecta-digitdia-3600.html' + url `unsupported/reflecta-digitdia-3600.html' comment `Probably unsupported. Film scanner that can scan directly from the magazine.' model `PF3650 Pro3 Film Scanner' interface `USB IEEE-1394' usb-vendor-id `0x05e3' usb-product-id `0x0143' status unsupported - url `/unsupported/pie-pf3650.html' + url `unsupported/pie-pf3650.html' comment `Not supported. See link for details.' mfg `Plustek' url `http://www.plustek.de/' @@ -14036,7 +14036,7 @@ backend `unsupported' usb-vendor-id `0x07b3' usb-product-id `0x0807' status unsupported - url `/unsupported/plustek-opticfilm-7200.html' + url `unsupported/plustek-opticfilm-7200.html' comment `GL842 based, maybe to be added to genesys backend' model `OpticFilm 7200i' interface `USB' @@ -14064,21 +14064,21 @@ backend `unsupported' usb-vendor-id `0x07b3' usb-product-id `0x0600' status unsupported - url `/unsupported/plustek-opticpro-st12.html' + url `unsupported/plustek-opticpro-st12.html' comment `Product id 0x0600 is unsupported but may be supported by the genesys backend in future. Product id 0x040b is supported by the gt68xx backend.' model `OpticPro ST12' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0600' status unsupported - url `/unsupported/plustek-opticpro-st12.html' + url `unsupported/plustek-opticpro-st12.html' comment `Product id 0x0600 is unsupported but may be supported by the genesys backend in future. Product id 0x040b is supported by the gt68xx backend.' model `OpticPro ST16' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0600' status unsupported - url `/unsupported/plustek-opticpro-st16.html' + url `unsupported/plustek-opticpro-st16.html' comment `GL646 based, to be added to genesys backend' model `OpticPro UA18' interface `USB' @@ -14092,98 +14092,98 @@ backend `unsupported' usb-vendor-id `0x07b3' usb-product-id `0x0601' status unsupported - url `/unsupported/plustek-opticpro-st24.html' + url `unsupported/plustek-opticpro-st24.html' comment `Product id 0x0601 is unsupported but may be supported by the genesys backend in future /GL646). Product id 0x040e is supported by the gt68xx backend.' model `OpticPro ST24' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0601' status unsupported - url `/unsupported/plustek-opticpro-st24.html' + url `unsupported/plustek-opticpro-st24.html' comment `GL646 based, to be added to genesys backend' model `OpticPro S28' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0801' status unsupported - url `/unsupported/plustek-opticpro-s28.html' + url `unsupported/plustek-opticpro-s28.html' comment `GL841 based, to be added to genesys backend' model `OpticPro ST28' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0801' status unsupported - url `/unsupported/plustek-opticpro-s28.html' + url `unsupported/plustek-opticpro-s28.html' comment `GL841 based, to be added to genesys backend' model `OpticPro ST28' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0802' status unsupported - url `/unsupported/plustek-opticpro-st28.html' + url `unsupported/plustek-opticpro-st28.html' comment `GL841 based, to be added to genesys backend' model `Umax AstraScan 4750' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0802' status unsupported - url `/unsupported/umax-astrscan-4750.html' + url `unsupported/umax-astrscan-4750.html' comment `GL841 based, to be added to genesys backend, rebadged Plustek ST28' model `OpticPro ST48' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0800' status unsupported - url `/unsupported/plustek-opticpro-st48.html' + url `unsupported/plustek-opticpro-st48.html' comment `GL841 based, to be added to genesys backend' model `OpticPro ST64' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0c00' status unsupported - url `/unsupported/plustek-opticpro-st64.html' + url `unsupported/plustek-opticpro-st64.html' comment `GL843 based, maybe to be added to genesys backend' model `OpticPro ST64+' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0c03' status unsupported - url `/unsupported/plustek-opticpro-st64plus.html' + url `unsupported/plustek-opticpro-st64plus.html' comment `GL843 based. See link for more details.' model `PL 806' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0c0c' status unsupported - url `/unsupported/plustek-pl806.html' + url `unsupported/plustek-pl806.html' comment `Unsupported. See link for more details.' model `SmartOffice PL 812' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0c0d' status unsupported - url `/unsupported/plustek-pl812.html' + url `unsupported/plustek-pl812.html' comment `Unsupported. See link for more details.' model `OpticSlim 500' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0458' status unsupported - url `/unsupported/plustek-opticslim-500.html' + url `unsupported/plustek-opticslim-500.html' comment `Unsupported. See link for more details.' model `OpticSlim 2420' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0806' status unsupported - url `/unsupported/plustek-opticslim-2420.html' + url `unsupported/plustek-opticslim-2420.html' comment `GL841 based, to be added to genesys backend' model `OpticSlim 2420+' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0914' status unsupported - url `/unsupported/plustek-opticslim-2420plus.html' + url `unsupported/plustek-opticslim-2420plus.html' comment `GL841 based, to be added to genesys backend' model `OpticWorks 2000' interface `Parport' @@ -14204,7 +14204,7 @@ backend `unsupported' usb-vendor-id `0x07b3' usb-product-id `0x081c' status unsupported - url `/unsupported/plustek-scancopy-115.html' + url `unsupported/plustek-scancopy-115.html' comment `GL841 based, to be added to genesys backend' model `Spectra ADF' interface `Proprietary' @@ -14270,7 +14270,7 @@ backend `unsupported' usb-vendor-id `0x10c4' usb-product-id `0xea60' status unsupported - url `/unsupported/planon-docupen-r700.html' + url `unsupported/planon-docupen-r700.html' comment `Probably not supported. See link for details.' model `DocuPen (DPEN-BW)' interface `USB' @@ -14287,7 +14287,7 @@ backend `unsupported' usb-vendor-id `0x0461' usb-product-id `0x0341' status unsupported - url `/unsupported/primax-colorado-600u.html' + url `unsupported/primax-colorado-600u.html' comment `Not supported. Some information is available.' model `Colorado 1200p' interface `Parport' @@ -14308,7 +14308,7 @@ backend `unsupported' usb-vendor-id `0x0461' usb-product-id `0x0347' status unsupported - url `/unsupported/visioneer-onetouch4400.html' + url `unsupported/visioneer-onetouch4400.html' comment `Unsupported. Same as Visioneer Onetouch 4400. See link for details.' model `Colorado Direct 600' interface `Parport' @@ -14329,7 +14329,7 @@ backend `unsupported' usb-vendor-id `0x0461' usb-product-id `0x0340' status unsupported - url `/unsupported/primax-colorado-usb-9600.html' + url `unsupported/primax-colorado-usb-9600.html' comment `Not supported. See link for details.' model `G2-300' interface `USB' @@ -14406,7 +14406,7 @@ backend `unsupported' usb-vendor-id `0x0461' usb-product-id `0x0371' status unsupported - url `/unsupported/visioneer-onetouch8920.html' + url `unsupported/visioneer-onetouch8920.html' comment `Not supported. Look similar to Visioneer Onetouch 8920 (same USB product id).' mfg `Prolink' url `http://www.fida.com/' @@ -14416,7 +14416,7 @@ backend `unsupported' usb-vendor-id `0x06dc' usb-product-id `0x0014' status unsupported - url `/unsupported/prolink-2448u.html' + url `unsupported/prolink-2448u.html' comment `Not supported. Some information is available. RealTek RTS8801.' model `Winscan Pro 2000' interface `USB Parport' @@ -14450,21 +14450,21 @@ backend `unsupported' usb-vendor-id `0x05e3' usb-product-id `0x0142' status unsupported - url `/unsupported/reflecta-digitdia-3600.html' + url `unsupported/reflecta-digitdia-3600.html' comment `Film scanner that can scan directly from the magazine.' model `iScan 1800' interface `USB' usb-vendor-id `0x05e3' usb-product-id `0x0120' status unsupported - url `/unsupported/reflecta-iscan-1800.html' + url `unsupported/reflecta-iscan-1800.html' comment `Probably unsupported. See link for details.' model `ProScan 4000' interface `USB IEEE-1394' usb-vendor-id `0x05e3' usb-product-id `0x0143' status unsupported - url `/unsupported/reflecta-proscan-4000.html' + url `unsupported/reflecta-proscan-4000.html' comment `Probably unsupported. See link for details.' mfg `Relisys' url *none* @@ -14474,21 +14474,21 @@ backend `unsupported' usb-vendor-id `0x0475' usb-product-id `0x0103' status unsupported - url `/unsupported/relisys-eclipse-1200u.html' + url `unsupported/relisys-eclipse-1200u.html' comment `Probably unsupported. See link for details.' model `Scorpio Ultra 3' interface `USB' usb-vendor-id `0x0475' usb-product-id `0x0210' status unsupported - url `/unsupported/relisys-scorpio-ultra3.html' + url `unsupported/relisys-scorpio-ultra3.html' comment `Probably unsupported. See link for details.' model `Episode' interface `USB' usb-vendor-id `0x0475' usb-product-id `0x0103' status unsupported - url `/unsupported/relisys-episode.html' + url `unsupported/relisys-episode.html' comment `Probably unsupported. See link for details.' model `AVEC II E3' interface `Parport' @@ -14505,7 +14505,7 @@ backend `unsupported' usb-vendor-id `0x04e8' usb-product-id `0x341f' status unsupported - url `/unsupported/samsung-scx-4725.html' + url `unsupported/samsung-scx-4725.html' comment `Not supported. See link for details.' mfg `Scanshell' url *none* @@ -14515,7 +14515,7 @@ backend `unsupported' usb-vendor-id `0x0a82' usb-product-id `0x6605' status unsupported - url `/unsupported/scanshell-800n.html' + url `unsupported/scanshell-800n.html' comment `Not supported. See link for details.' mfg `Sicos' url *none* @@ -14586,14 +14586,14 @@ backend `unsupported' usb-vendor-id `0x0a82' usb-product-id `0x0530' status unsupported - url `/unsupported/syscan-travelscan-fs531.html' + url `unsupported/syscan-travelscan-fs531.html' comment `Not supported. May work with the Plustek backend in future. See link for details.' model `TravelScan Pro' interface `USB' usb-vendor-id `0x0a82' usb-product-id `0x2000' status unsupported - url `/unsupported/syscan-travelscan-pro.html' + url `unsupported/syscan-travelscan-pro.html' comment `Probably not supported. Some information is available.' mfg `Tamarack' url *none* @@ -14617,7 +14617,7 @@ backend `unsupported' usb-vendor-id `0x05e3' usb-product-id `0x0100' status unsupported - url `/unsupported/tamarack-artiscan-2400.html' + url `unsupported/tamarack-artiscan-2400.html' comment `Unsupported. See link for more information.' mfg `TCE' url `http://www.tce.com.br/' @@ -14627,7 +14627,7 @@ backend `unsupported' usb-vendor-id `0x0461' usb-product-id `0x0346' status unsupported - url `/unsupported/memorex-maxx-6136u.html' + url `unsupported/memorex-maxx-6136u.html' comment `Not supported. Some information is available.' model `S450' interface `Parport' @@ -14644,7 +14644,7 @@ backend `unsupported' usb-vendor-id `0x080d' usb-product-id `0x0102' status unsupported - url `/unsupported/teco-vm6509.html' + url `unsupported/teco-vm6509.html' comment `Probably unsupported. See link for details.' mfg `Tiny' url *none* @@ -14654,7 +14654,7 @@ backend `unsupported' usb-vendor-id `0x0461' usb-product-id `0x0347' status unsupported - url `/unsupported/visioneer-onetouch4400.html' + url `unsupported/visioneer-onetouch4400.html' comment `Unsupported. See link for details.' mfg `Trust' url `http://www.trust-site.com' @@ -14664,21 +14664,21 @@ backend `unsupported' usb-vendor-id `0x05cb' usb-product-id `0x1483' status unsupported - url `/unsupported/trust-combiscan-19200.html' + url `unsupported/trust-combiscan-19200.html' comment `Unsupported. See link for details.' model `EasyScan 19200' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `http://lists.alioth.debian.org/pipermail/sane-devel/2008-October/022955.html' + url `http://alioth-lists.debian.net/pipermail/sane-devel/2008-October/022955.html' comment *none* model `SCSI Scan 19200 -Excellence Series-' interface `SCSI' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/trust-scsi-scan-19200.html' + url `unsupported/trust-scsi-scan-19200.html' comment `Unsupported. See link for details.' mfg `UMAX' url `http://www.umax.com/' @@ -14688,49 +14688,49 @@ backend `unsupported' usb-vendor-id `0x0461' usb-product-id `0x0374' status unsupported - url `/unsupported/umax-astra-2500.html' + url `unsupported/umax-astra-2500.html' comment `Probably not supported. See link for details.' model `Astra 2850' interface `USB' usb-vendor-id `0x07b3' usb-product-id `0x0601' status unsupported - url `/unsupported/plustek-opticpro-st24.html' + url `unsupported/plustek-opticpro-st24.html' comment `Probably not supported. Same IDs as Plustek OpticPro ST24. See link for details.' model `Astra 3000' interface `USB' usb-vendor-id `0x0461' usb-product-id `0x038a' status unsupported - url `/unsupported/umax-astra-3000.html' + url `unsupported/umax-astra-3000.html' comment `Probably not supported. See link for details.' model `Astra 3600' interface `USB' usb-vendor-id `0x0461' usb-product-id `0x038a' status unsupported - url `/unsupported/umax-astra-3600.html' + url `unsupported/umax-astra-3600.html' comment `Probably not supported. See link for details.' model `Astra 4000' interface `USB' usb-vendor-id `0x1606' usb-product-id `0x1030' status unsupported - url `/unsupported/umax-astra-4000.html' + url `unsupported/umax-astra-4000.html' comment `Not supported. See link for details.' model `Astra 4100' interface `USB' usb-vendor-id `0x0461' usb-product-id `0x038c' status unsupported - url `/unsupported/umax-astra-4100.html' + url `unsupported/umax-astra-4100.html' comment `Not supported, to be added to genesys backend.' model `Astra 4500' interface `USB' usb-vendor-id `0x0638' usb-product-id `0x0a10' status unsupported - url `/unsupported/umax-astra-4500.html' + url `unsupported/umax-astra-4500.html' comment `GL646 based, to be added to genesys backend. Avision iVina FB1600 clone' model `Astra 4600' interface `USB' @@ -14744,7 +14744,7 @@ backend `unsupported' usb-vendor-id `0x0638' usb-product-id `0x0a20' status unsupported - url `/unsupported/umax-astra-4700.html' + url `unsupported/umax-astra-4700.html' comment `GL646/GL660 based. Avision iVina FB1800 clone.' model `Astra 6700' interface `USB' @@ -14758,21 +14758,21 @@ backend `unsupported' usb-vendor-id `0x080d' usb-product-id `0x0104' status unsupported - url `/unsupported/umax-astraslim.html' + url `unsupported/umax-astraslim.html' comment `Probably not supported currently. See link for more details.' model `AstraSlim 1200' interface `USB' usb-vendor-id `0x080d' usb-product-id `0x0110' status unsupported - url `/unsupported/umax-astraslim-1200.html' + url `unsupported/umax-astraslim-1200.html' comment `See link for more details.' model `AstraSlim 6000' interface `USB' usb-vendor-id `0x080d' usb-product-id `0x0104' status unsupported - url `/unsupported/umax-astraslim-6000.html' + url `unsupported/umax-astraslim-6000.html' comment `Probably not supported currently. See link for more details.' model `Nete3470'' interface `Parport' @@ -14786,7 +14786,7 @@ backend `unsupported' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/umax-powerlook-180.html' + url `unsupported/umax-powerlook-180.html' comment `Probably not supported. See link for details.' model `Powerlook 1000 USB' interface `USB' @@ -14803,7 +14803,7 @@ backend `unsupported' usb-vendor-id `0x04a7' usb-product-id `0x0224' status unsupported - url `/unsupported/visioneer-onetouch4800.html' + url `unsupported/visioneer-onetouch4800.html' comment `Not supported. See link for more details.' mfg `Visioneer' url `http://www.visioneer.com/' @@ -14827,35 +14827,35 @@ backend `unsupported' usb-vendor-id `0x0461' usb-product-id `0x03a8' status unsupported - url `/unsupported/visioneer-9420.html' + url `unsupported/visioneer-9420.html' comment `Unsupported. See link for details.' model `9450 USB' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0421' status unsupported - url `/unsupported/visioneer-9450-usb.html' + url `unsupported/visioneer-9450-usb.html' comment `Unsupported. See link for details.' model `Onetouch 4400' interface `USB' usb-vendor-id `0x0461' usb-product-id `0x0347' status unsupported - url `/unsupported/visioneer-onetouch4400.html' + url `unsupported/visioneer-onetouch4400.html' comment `Not supported. E5 chipset? See link for more details.' model `OneTouch 4800 USB' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0224' status unsupported - url `/unsupported/visioneer-onetouch4800.html' + url `unsupported/visioneer-onetouch4800.html' comment `Unsupported. Seems to use Realtek RTS8801B. Same as Microtek Scanport 3000. See link for details.' model `OneTouch 5300 USB' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0226' status unsupported - url `/unsupported/visioneer-onetouch5300.html' + url `unsupported/visioneer-onetouch5300.html' comment `Not supported. Chipset is RTS8801B(?). See link for output of /proc/bus/usb/devices.' model `OneTouch 5300' interface `USB' @@ -14869,98 +14869,98 @@ backend `unsupported' usb-vendor-id `0x04a7' usb-product-id `0x0226' status unsupported - url `/unsupported/visioneer-onetouch5800.html' + url `unsupported/visioneer-onetouch5800.html' comment `Unsupported. 48 bit scanner, doesn't work with viceo backend. RTS8801C.' model `OneTouch 6600' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x022a' status unsupported - url `/unsupported/visioneer-onetouch6600.html' + url `unsupported/visioneer-onetouch6600.html' comment `Unsupported. See link for details.' model `Onetouch 7100' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0229' status unsupported - url `/unsupported/visioneer-onetouch7100.html' + url `unsupported/visioneer-onetouch7100.html' comment `GL646 based, to be added to genesys backend' model `Onetouch 7700' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0380' status unsupported - url `/unsupported/visioneer-onetouch7700.html' + url `unsupported/visioneer-onetouch7700.html' comment `LM9832/3 based, to be added to plustek backend' model `OneTouch 8100' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0321' status unsupported - url `/unsupported/visioneer-onetouch8100.html' + url `unsupported/visioneer-onetouch8100.html' comment `Unsupported. See link for details.' model `Onetouch 8700' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0371' status unsupported - url `/unsupported/visioneer-onetouch8920.html' + url `unsupported/visioneer-onetouch8920.html' comment `Not supported. See link for details.' model `Onetouch 8900' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0371' status unsupported - url `/unsupported/visioneer-onetouch8920.html' + url `unsupported/visioneer-onetouch8920.html' comment `Not supported. Same as 8920 but without TA?' model `Onetouch 8920' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0371' status unsupported - url `/unsupported/visioneer-onetouch8920.html' + url `unsupported/visioneer-onetouch8920.html' comment `Not supported. Same as 8700 and 8900 but includes a TA. Uses a Primax ID. Chipset is RTS8801C. See link for output of /proc/bus/usb/devices.' model `Onetouch 9000' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x022c' status unsupported - url `/unsupported/visioneer-onetouch9020.html' + url `unsupported/visioneer-onetouch9020.html' comment `Not supported. See link for details.' model `Onetouch 9020' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x022c' status unsupported - url `/unsupported/visioneer-onetouch9020.html' + url `unsupported/visioneer-onetouch9020.html' comment `Not supported. See link for details.' model `Onetouch 9320' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0362' status unsupported - url `/unsupported/visioneer-onetouch9320.html' + url `unsupported/visioneer-onetouch9320.html' comment `Probably not supported. See link for details.' model `Onetouch Pro 8800' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0410' status unsupported - url `/unsupported/visioneer-onetouch8820.html' + url `unsupported/visioneer-onetouch8820.html' comment `Probably not supported. See link for details.' model `Onetouch Pro 8820' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0410' status unsupported - url `/unsupported/visioneer-onetouch8820.html' + url `unsupported/visioneer-onetouch8820.html' comment `Probably not supported. See link for details.' model `PaperPort 3100b' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/visioneer-paperport-3100b.html' + url `unsupported/visioneer-paperport-3100b.html' comment `Most probably not supported. See link for details.' model `PaperPort 6100' interface `Parport' @@ -14974,98 +14974,98 @@ backend `unsupported' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/visioneer-paperport-onetouch.html' + url `unsupported/visioneer-paperport-onetouch.html' comment `Most probably not supported. See link for details.' model `Strobe Pro USB' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0102' status unsupported - url `/unsupported/visioneer-strobe-pro-usb.html' + url `unsupported/visioneer-strobe-pro-usb.html' comment `Not supported. See link for details.' model `4800 One Touch' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x03a0' status unsupported - url `/unsupported/xerox-4800-onetouch.html' + url `unsupported/xerox-4800-onetouch.html' comment `Unsupported. See link for details. Different id compared to One Touch 4800?' model `DocuImage 620S' interface `SCSI' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/xerox-docuimage-620s.html' + url `unsupported/xerox-docuimage-620s.html' comment `Not supported. See link for more details.' model `DocuMate 510' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0446' status unsupported - url `/unsupported/xerox-documate-510.html' + url `unsupported/xerox-documate-510.html' comment `Not supported. See link for more details.' model `DocuMate 510' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x047c' status unsupported - url `/unsupported/xerox-documate-510.html' + url `unsupported/xerox-documate-510.html' comment `Not supported. See link for more details. Yet another USB id.' model `One Touch 4800' interface `USB' usb-vendor-id `0x04a7' usb-product-id `0x0224' status unsupported - url `/unsupported/visioneer-onetouch4800.html' + url `unsupported/visioneer-onetouch4800.html' comment `Unsupported. See link for details. Different id compared to 4800 One Touch?' model `WorkCentre 470cx' interface `Parport' usb-vendor-id *none* usb-product-id *none* status unsupported - url `/unsupported/xerox-workcentre-470cx.html' + url `unsupported/xerox-workcentre-470cx.html' comment `Not supported. See link for more details.' model `WorkCentre M15i' interface `USB' usb-vendor-id `0x0924' usb-product-id `0xffef' status unsupported - url `/unsupported/xerox-workcentre-m15i.html' + url `unsupported/xerox-workcentre-m15i.html' comment `Not supported. See link for more details.' model `WorkCentre XK35c' interface `USB Parport' usb-vendor-id `0x043d' usb-product-id `0x0020' status unsupported - url `/unsupported/xerox-workcentre-xk35c.html' + url `unsupported/xerox-workcentre-xk35c.html' comment `Not supported. See link for more details.' model `WorkCentre XK50cx' interface `USB' usb-vendor-id `0x04e8' usb-product-id `0x3903' status unsupported - url `/unsupported/xerox-workcentre-xk50cx.html' + url `unsupported/xerox-workcentre-xk50cx.html' comment `Not supported. See link for more details.' model `WorkCentre Pro 412' interface `USB Parport' usb-vendor-id `0x043d' usb-product-id `0x4303' status unsupported - url `/unsupported/xerox-workcentre-pro412.html' + url `unsupported/xerox-workcentre-pro412.html' comment `Not supported. See link for more details.' model `WorkCentre PE16' interface `USB Parport' usb-vendor-id `0x0924' usb-product-id `0x4220' status unsupported - url `/unsupported/xerox-workcentre-pe16.html' + url `unsupported/xerox-workcentre-pe16.html' comment `Not supported. See link for more details.' model `WorkCentre PE120i' interface `USB' usb-vendor-id `0x0924' usb-product-id `0x4237' status unsupported - url `/unsupported/xerox-workcentre-pe120i.html' + url `unsupported/xerox-workcentre-pe120i.html' comment `Not supported. See link for more details.' type vidcam mfg `Biolux' @@ -15076,7 +15076,7 @@ backend `unsupported' usb-vendor-id `0x0923' usb-product-id `0x010f' status unsupported - url `/unsupported/biolux-654.html' + url `unsupported/biolux-654.html' comment `Not supported yet. See link for more details.' mfg `Grandtek Scopecam' url *none* @@ -15086,7 +15086,7 @@ backend `unsupported' usb-vendor-id `0x0797' usb-product-id `0x801c' status unsupported - url `/unsupported/grandtech-scopecam.html' + url `unsupported/grandtech-scopecam.html' comment `Not Supported yet. See link for more details.' backend `v4l' version `1.0-3' diff --git a/testsuite/tools/data/db.ref b/testsuite/tools/data/db.ref index f293b5b..d51729a 100644 --- a/testsuite/tools/data/db.ref +++ b/testsuite/tools/data/db.ref @@ -22,1341 +22,1341 @@ # device detection support for your OS # # If the scanner is supported by sane-backends, please mail the entry to -# the sane-devel mailing list (sane-devel@lists.alioth.debian.org). +# the sane-devel mailing list (sane-devel@alioth-lists.debian.net). # # Hewlett-Packard ScanJet 4100C -0x03f0 0x0101 root:scanner 0664 +0x03f0 0x0101 root:scanner 0664 # Hewlett-Packard ScanJet 4200C | Hewlett-Packard ScanJet 4200Cxi | Hewlett-Packard ScanJet 4200Cse -0x03f0 0x0105 root:scanner 0664 +0x03f0 0x0105 root:scanner 0664 # Hewlett-Packard ScanJet 6200C | Hewlett-Packard ScanJet 6250C -0x03f0 0x0201 root:scanner 0664 +0x03f0 0x0201 root:scanner 0664 # Hewlett-Packard ScanJet 3300c -0x03f0 0x0205 root:scanner 0664 +0x03f0 0x0205 root:scanner 0664 # Hewlett-Packard ScanJet 4300c -0x03f0 0x0305 root:scanner 0664 +0x03f0 0x0305 root:scanner 0664 # Hewlett-Packard ScanJet 5200C -0x03f0 0x0401 root:scanner 0664 +0x03f0 0x0401 root:scanner 0664 # Hewlett-Packard ScanJet 3400c -0x03f0 0x0405 root:scanner 0664 +0x03f0 0x0405 root:scanner 0664 # Hewlett-Packard ScanJet 2100C -0x03f0 0x0505 root:scanner 0664 +0x03f0 0x0505 root:scanner 0664 # Hewlett-Packard ScanJet 6300C | Hewlett-Packard ScanJet 6350C | Hewlett-Packard ScanJet 6390C -0x03f0 0x0601 root:scanner 0664 +0x03f0 0x0601 root:scanner 0664 # Hewlett-Packard ScanJet 2200C -0x03f0 0x0605 root:scanner 0664 +0x03f0 0x0605 root:scanner 0664 # Hewlett-Packard ScanJet 5300C | Hewlett-Packard ScanJet 5370C -0x03f0 0x0701 root:scanner 0664 +0x03f0 0x0701 root:scanner 0664 # Hewlett-Packard scanjet 4400c -0x03f0 0x0705 root:scanner 0664 +0x03f0 0x0705 root:scanner 0664 # Hewlett-Packard ScanJet 7400c | Hewlett-Packard ScanJet 7450c | Hewlett-Packard ScanJet 7490c -0x03f0 0x0801 root:scanner 0664 +0x03f0 0x0801 root:scanner 0664 # Hewlett-Packard scanjet 4470c -0x03f0 0x0805 root:scanner 0664 +0x03f0 0x0805 root:scanner 0664 # Hewlett-Packard ScanJet 2300C -0x03f0 0x0901 root:scanner 0664 +0x03f0 0x0901 root:scanner 0664 # Hewlett-Packard ScanJet 2400C | Hewlett-Packard ScanJet G2410 -0x03f0 0x0a01 root:scanner 0664 +0x03f0 0x0a01 root:scanner 0664 # Hewlett-Packard ScanJet 8200 | Hewlett-Packard ScanJet 8250 | Hewlett-Packard ScanJet 8290 -0x03f0 0x0b01 root:scanner 0664 +0x03f0 0x0b01 root:scanner 0664 # Hewlett-Packard ScanJet 5400c -0x03f0 0x1005 root:scanner 0664 +0x03f0 0x1005 root:scanner 0664 # Hewlett-Packard ScanJet 5470c -0x03f0 0x1105 root:scanner 0664 +0x03f0 0x1105 root:scanner 0664 # Hewlett-Packard ScanJet 4500C | Hewlett-Packard ScanJet 5550C -0x03f0 0x1205 root:scanner 0664 +0x03f0 0x1205 root:scanner 0664 # Hewlett-Packard ScanJet 4570C | Hewlett-Packard ScanJet 5500C -0x03f0 0x1305 root:scanner 0664 +0x03f0 0x1305 root:scanner 0664 # Hewlett-Packard ScanJet 3670C | Hewlett-Packard ScanJet 3690C -0x03f0 0x1405 root:scanner 0664 +0x03f0 0x1405 root:scanner 0664 # Hewlett-Packard ScanJet 5590 -0x03f0 0x1705 root:scanner 0664 +0x03f0 0x1705 root:scanner 0664 # Hewlett-Packard ScanJet 7650 -0x03f0 0x1805 root:scanner 0664 +0x03f0 0x1805 root:scanner 0664 # Hewlett-Packard ScanJet 4850C -0x03f0 0x1b05 root:scanner 0664 +0x03f0 0x1b05 root:scanner 0664 # Hewlett-Packard ScanJet 3530C | Hewlett-Packard ScanJet 3570C -0x03f0 0x2005 root:scanner 0664 +0x03f0 0x2005 root:scanner 0664 # Hewlett-Packard ScanJet 3500C -0x03f0 0x2205 root:scanner 0664 +0x03f0 0x2205 root:scanner 0664 # Hewlett-Packard ScanJet 3970c -0x03f0 0x2305 root:scanner 0664 +0x03f0 0x2305 root:scanner 0664 # Hewlett-Packard ScanJet 4070 Photosmart -0x03f0 0x2405 root:scanner 0664 +0x03f0 0x2405 root:scanner 0664 # Hewlett-Packard ScanJet 3800 -0x03f0 0x2605 root:scanner 0664 +0x03f0 0x2605 root:scanner 0664 # Hewlett-Packard ScanJet G2710 -0x03f0 0x2805 root:scanner 0664 +0x03f0 0x2805 root:scanner 0664 # Hewlett-Packard ScanJet 8300 | Hewlett-Packard ScanJet 8350 | Hewlett-Packard ScanJet 8390 -0x03f0 0x3805 root:scanner 0664 +0x03f0 0x3805 root:scanner 0664 # Hewlett-Packard ScanJet 8270 -0x03f0 0x3905 root:scanner 0664 +0x03f0 0x3905 root:scanner 0664 # Hewlett-Packard LaserJet M1005 MFP -0x03f0 0x3b17 root:scanner 0664 +0x03f0 0x3b17 root:scanner 0664 # Hewlett-Packard ScanJet 4370 -0x03f0 0x4105 root:scanner 0664 +0x03f0 0x4105 root:scanner 0664 # Hewlett-Packard ScanJet G3010 -0x03f0 0x4205 root:scanner 0664 +0x03f0 0x4205 root:scanner 0664 # Hewlett-Packard ScanJet G3110 -0x03f0 0x4305 root:scanner 0664 +0x03f0 0x4305 root:scanner 0664 # Hewlett-Packard ScanJet G4010 -0x03f0 0x4505 root:scanner 0664 +0x03f0 0x4505 root:scanner 0664 # Hewlett-Packard ScanJet G4050 -0x03f0 0x4605 root:scanner 0664 +0x03f0 0x4605 root:scanner 0664 # Hewlett-Packard ScanJet N6310 -0x03f0 0x4705 root:scanner 0664 +0x03f0 0x4705 root:scanner 0664 # Hewlett-Packard LaserJet M1120 MFP -0x03f0 0x5617 root:scanner 0664 +0x03f0 0x5617 root:scanner 0664 # Hewlett-Packard LaserJet M1120n MFP -0x03f0 0x5717 root:scanner 0664 +0x03f0 0x5717 root:scanner 0664 # Mustek BearPaw 1200 -0x0400 0x1000 root:scanner 0664 +0x0400 0x1000 root:scanner 0664 # Mustek BearPaw 1200 | Mustek BearPaw 2400 -0x0400 0x1001 root:scanner 0664 +0x0400 0x1001 root:scanner 0664 # Kodak ESP 5100 -0x040a 0x4025 root:scanner 0664 +0x040a 0x4025 root:scanner 0664 # Kodak ESP 5300 -0x040a 0x4026 root:scanner 0664 +0x040a 0x4026 root:scanner 0664 # Kodak ESP 5500 -0x040a 0x4027 root:scanner 0664 +0x040a 0x4027 root:scanner 0664 # Kodak ESP 5000 -0x040a 0x4028 root:scanner 0664 +0x040a 0x4028 root:scanner 0664 # Kodak ESP 3300 -0x040a 0x4031 root:scanner 0664 +0x040a 0x4031 root:scanner 0664 # Kodak ESP 5 -0x040a 0x4032 root:scanner 0664 +0x040a 0x4032 root:scanner 0664 # Kodak ESP 7 -0x040a 0x403e root:scanner 0664 +0x040a 0x403e root:scanner 0664 # Kodak ESP 9 -0x040a 0x403f root:scanner 0664 +0x040a 0x403f root:scanner 0664 # Kodak ESP 5200 -0x040a 0x4041 root:scanner 0664 +0x040a 0x4041 root:scanner 0664 # Kodak ESP 3200 -0x040a 0x4043 root:scanner 0664 +0x040a 0x4043 root:scanner 0664 # Kodak ESP 4100 -0x040a 0x4053 root:scanner 0664 +0x040a 0x4053 root:scanner 0664 # Kodak ESP 6100 -0x040a 0x4054 root:scanner 0664 +0x040a 0x4054 root:scanner 0664 # Kodak ESP 7200 -0x040a 0x4056 root:scanner 0664 +0x040a 0x4056 root:scanner 0664 # Kodak ESP C110 -0x040a 0x4057 root:scanner 0664 +0x040a 0x4057 root:scanner 0664 # Kodak ESP C115 -0x040a 0x4058 root:scanner 0664 +0x040a 0x4058 root:scanner 0664 # Kodak ESP 2150 -0x040a 0x4059 root:scanner 0664 +0x040a 0x4059 root:scanner 0664 # Kodak ESP C310 -0x040a 0x405d root:scanner 0664 +0x040a 0x405d root:scanner 0664 # Kodak ESP C315 -0x040a 0x405e root:scanner 0664 +0x040a 0x405e root:scanner 0664 # Advent AW10 -0x040a 0x4060 root:scanner 0664 +0x040a 0x4060 root:scanner 0664 # Kodak Hero Office 6.1 -0x040a 0x4062 root:scanner 0664 +0x040a 0x4062 root:scanner 0664 # Kodak Hero 7.1 -0x040a 0x4063 root:scanner 0664 +0x040a 0x4063 root:scanner 0664 # Kodak Hero 5.1 -0x040a 0x4064 root:scanner 0664 +0x040a 0x4064 root:scanner 0664 # Kodak ESP 9200 -0x040a 0x4065 root:scanner 0664 +0x040a 0x4065 root:scanner 0664 # Kodak ESP 2170 -0x040a 0x4066 root:scanner 0664 +0x040a 0x4066 root:scanner 0664 # Kodak Hero 9.1 -0x040a 0x4067 root:scanner 0664 +0x040a 0x4067 root:scanner 0664 # Kodak Hero 3.1 -0x040a 0x406d root:scanner 0664 +0x040a 0x406d root:scanner 0664 # Kodak i30 -0x040a 0x6001 root:scanner 0664 +0x040a 0x6001 root:scanner 0664 # Kodak i40 -0x040a 0x6002 root:scanner 0664 +0x040a 0x6002 root:scanner 0664 # Kodak i50 | Kodak i55 -0x040a 0x6003 root:scanner 0664 +0x040a 0x6003 root:scanner 0664 # Kodak i60 | Kodak i65 -0x040a 0x6004 root:scanner 0664 +0x040a 0x6004 root:scanner 0664 # Kodak i80 -0x040a 0x6005 root:scanner 0664 +0x040a 0x6005 root:scanner 0664 # Creative WebCam Go Mini -0x041e 0x4007 root:scanner 0664 +0x041e 0x4007 root:scanner 0664 # Lexmark X70 | Lexmark X73 -0x043d 0x002d root:scanner 0664 +0x043d 0x002d root:scanner 0664 # Lexmark X74 -0x043d 0x0060 root:scanner 0664 +0x043d 0x0060 root:scanner 0664 # Lexmark X1110 | Lexmark X1130 | Lexmark X1140 | Lexmark X1150 | Lexmark X1170 | Lexmark X1180 | Lexmark X1185 | Lexmark X1195 -0x043d 0x007c root:scanner 0664 +0x043d 0x007c root:scanner 0664 # Lexmark X12xx -0x043d 0x007d root:scanner 0664 +0x043d 0x007d root:scanner 0664 # Genius ColorPage HR6 V1 -0x0458 0x2004 root:scanner 0664 +0x0458 0x2004 root:scanner 0664 # Genius Colorpage HR6 V2 -0x0458 0x2007 root:scanner 0664 +0x0458 0x2007 root:scanner 0664 # Genius Colorpage HR6 V2 -0x0458 0x2008 root:scanner 0664 +0x0458 0x2008 root:scanner 0664 # Genius Colorpage HR6A -0x0458 0x2009 root:scanner 0664 +0x0458 0x2009 root:scanner 0664 # Genius Colorpage Vivid3x | Genius Colorpage Vivid3 V2 -0x0458 0x2011 root:scanner 0664 +0x0458 0x2011 root:scanner 0664 # Genius Colorpage HR7 -0x0458 0x2013 root:scanner 0664 +0x0458 0x2013 root:scanner 0664 # Genius Colorpage Vivid4 -0x0458 0x2014 root:scanner 0664 +0x0458 0x2014 root:scanner 0664 # Genius Colorpage HR7LE -0x0458 0x2015 root:scanner 0664 +0x0458 0x2015 root:scanner 0664 # Genius Colorpage HR6X -0x0458 0x2016 root:scanner 0664 +0x0458 0x2016 root:scanner 0664 # Genius Colorpage Vivid3xe -0x0458 0x2017 root:scanner 0664 +0x0458 0x2017 root:scanner 0664 # Genius Colorpage Vivid4xe -0x0458 0x201a root:scanner 0664 +0x0458 0x201a root:scanner 0664 # Genius Colorpage Vivid4x -0x0458 0x201b root:scanner 0664 +0x0458 0x201b root:scanner 0664 # Genius Colorpage Vivid 1200 X -0x0458 0x201d root:scanner 0664 +0x0458 0x201d root:scanner 0664 # Genius ColorPage Slim 1200 -0x0458 0x201e root:scanner 0664 +0x0458 0x201e root:scanner 0664 # Genius Colorpage Vivid 1200 XE -0x0458 0x201f root:scanner 0664 +0x0458 0x201f root:scanner 0664 # Genius Colorpage SF600 -0x0458 0x2021 root:scanner 0664 +0x0458 0x2021 root:scanner 0664 # Medion/Lifetec/Tevion/Cytron MD5345 | Medion/Lifetec/Tevion/Cytron MD6228 | Medion/Lifetec/Tevion/Cytron MD6471 -0x0461 0x0377 root:scanner 0664 +0x0461 0x0377 root:scanner 0664 # Xerox 2400 Onetouch -0x0461 0x038b root:scanner 0664 +0x0461 0x038b root:scanner 0664 # Trust Office Scan USB 19200 -0x047b 0x1000 root:scanner 0664 +0x047b 0x1000 root:scanner 0664 # Hewlett-Packard ScanJet 4300c/Silitek -0x047b 0x1002 root:scanner 0664 +0x047b 0x1002 root:scanner 0664 # Kyocera FS-1016MFP -0x0482 0x0335 root:scanner 0664 +0x0482 0x0335 root:scanner 0664 # Compaq S4-100 -0x049f 0x001a root:scanner 0664 +0x049f 0x001a root:scanner 0664 # Benq (Acer) 310U -0x04a5 0x1a20 root:scanner 0664 +0x04a5 0x1a20 root:scanner 0664 # Benq (Acer) 620U -0x04a5 0x1a2a root:scanner 0664 +0x04a5 0x1a2a root:scanner 0664 # Benq (Acer) 320U | Benq (Acer) 340U | Mitsubishi Diamondview 648UT -0x04a5 0x2022 root:scanner 0664 +0x04a5 0x2022 root:scanner 0664 # Benq (Acer) 620UT -0x04a5 0x2040 root:scanner 0664 +0x04a5 0x2040 root:scanner 0664 # Benq (Acer) 640U | Guillemot / Hercules Maxi Scan A4 USB 640U | Guillemot / Hercules Maxi A4 36 bit -0x04a5 0x2060 root:scanner 0664 +0x04a5 0x2060 root:scanner 0664 # Benq (Acer) 640bu -0x04a5 0x207e root:scanner 0664 +0x04a5 0x207e root:scanner 0664 # Benq (Acer) 3300 | Benq (Acer) 4300 | Mitsubishi Diamondview 650U -0x04a5 0x20b0 root:scanner 0664 +0x04a5 0x20b0 root:scanner 0664 # Benq (Acer) 640BT -0x04a5 0x20be root:scanner 0664 +0x04a5 0x20be root:scanner 0664 # Benq (Acer) 1240 -0x04a5 0x20c0 root:scanner 0664 +0x04a5 0x20c0 root:scanner 0664 # Benq (Acer) 3300 | Benq (Acer) 4300 | Guillemot / Hercules Scan@home Touch 1248 (USB) -0x04a5 0x20de root:scanner 0664 +0x04a5 0x20de root:scanner 0664 # Benq (Acer) 5000 -0x04a5 0x20f8 root:scanner 0664 +0x04a5 0x20f8 root:scanner 0664 # Benq (Acer) 5000E | Benq (Acer) 5000U -0x04a5 0x20fc root:scanner 0664 +0x04a5 0x20fc root:scanner 0664 # Benq (Acer) 5300 -0x04a5 0x20fe root:scanner 0664 +0x04a5 0x20fe root:scanner 0664 # Benq (Acer) 5150 | Benq (Acer) 5250 -0x04a5 0x2137 root:scanner 0664 +0x04a5 0x2137 root:scanner 0664 # BenQ 5550 -0x04a5 0x2211 root:scanner 0664 +0x04a5 0x2211 root:scanner 0664 # Visioneer Visioneer OneTouch 7100 -0x04a7 0x0229 root:scanner 0664 +0x04a7 0x0229 root:scanner 0664 # Visioneer 9650 -0x04a7 0x0390 root:scanner 0664 +0x04a7 0x0390 root:scanner 0664 # Visioneer 9320 -0x04a7 0x0420 root:scanner 0664 +0x04a7 0x0420 root:scanner 0664 # Visioneer 9450 -0x04a7 0x0421 root:scanner 0664 +0x04a7 0x0421 root:scanner 0664 # Visioneer 9550 -0x04a7 0x0422 root:scanner 0664 +0x04a7 0x0422 root:scanner 0664 # Visioneer 9750 -0x04a7 0x0423 root:scanner 0664 +0x04a7 0x0423 root:scanner 0664 # Visioneer Strobe XP 450 -0x04a7 0x0424 root:scanner 0664 +0x04a7 0x0424 root:scanner 0664 # Visioneer Strobe XP 200 -0x04a7 0x0426 root:scanner 0664 +0x04a7 0x0426 root:scanner 0664 # Visioneer Strobe XP 100 -0x04a7 0x0427 root:scanner 0664 +0x04a7 0x0427 root:scanner 0664 # Visioneer OneTouch 7300 -0x04a7 0x0444 root:scanner 0664 +0x04a7 0x0444 root:scanner 0664 # Xerox DocuMate510 -0x04a7 0x0446 root:scanner 0664 +0x04a7 0x0446 root:scanner 0664 # Xerox DocuMate520 -0x04a7 0x0447 root:scanner 0664 +0x04a7 0x0447 root:scanner 0664 # Xerox DocuMate250 -0x04a7 0x0448 root:scanner 0664 +0x04a7 0x0448 root:scanner 0664 # Xerox DocuMate252 -0x04a7 0x0449 root:scanner 0664 +0x04a7 0x0449 root:scanner 0664 # Xerox DocuMate262 -0x04a7 0x044c root:scanner 0664 +0x04a7 0x044c root:scanner 0664 # Visioneer Strobe XP 300 -0x04a7 0x0474 root:scanner 0664 +0x04a7 0x0474 root:scanner 0664 # Xerox DocuMate272 -0x04a7 0x0475 root:scanner 0664 +0x04a7 0x0475 root:scanner 0664 # Xerox DocuMate232 -0x04a7 0x0476 root:scanner 0664 +0x04a7 0x0476 root:scanner 0664 # Xerox DocuMate152 -0x04a7 0x0477 root:scanner 0664 +0x04a7 0x0477 root:scanner 0664 # Xerox DocuMate752 -0x04a7 0x0478 root:scanner 0664 +0x04a7 0x0478 root:scanner 0664 # Visioneer Strobe XP 470 -0x04a7 0x0479 root:scanner 0664 +0x04a7 0x0479 root:scanner 0664 # Visioneer 9450-G -0x04a7 0x047a root:scanner 0664 +0x04a7 0x047a root:scanner 0664 # Visioneer 9650-G -0x04a7 0x047b root:scanner 0664 +0x04a7 0x047b root:scanner 0664 # Xerox DocuMate510-G -0x04a7 0x047c root:scanner 0664 +0x04a7 0x047c root:scanner 0664 # Xerox DocuMate252-G -0x04a7 0x048c root:scanner 0664 +0x04a7 0x048c root:scanner 0664 # Xerox DocuMate262-G -0x04a7 0x048d root:scanner 0664 +0x04a7 0x048d root:scanner 0664 # Xerox DocuMate272-G -0x04a7 0x048e root:scanner 0664 +0x04a7 0x048e root:scanner 0664 # Visioneer Strobe XP 470-G | Visioneer Patriot 470 -0x04a7 0x048f root:scanner 0664 +0x04a7 0x048f root:scanner 0664 # Xerox DocuMate250-G -0x04a7 0x0490 root:scanner 0664 +0x04a7 0x0490 root:scanner 0664 # Visioneer Strobe XP 450-G -0x04a7 0x0491 root:scanner 0664 +0x04a7 0x0491 root:scanner 0664 # Xerox DocuMate520-G -0x04a7 0x0492 root:scanner 0664 +0x04a7 0x0492 root:scanner 0664 # Visioneer 9750-G -0x04a7 0x0493 root:scanner 0664 +0x04a7 0x0493 root:scanner 0664 # Visioneer Roadwarrior -0x04a7 0x0494 root:scanner 0664 +0x04a7 0x0494 root:scanner 0664 # Xerox DocuMate512 -0x04a7 0x0495 root:scanner 0664 +0x04a7 0x0495 root:scanner 0664 # Visioneer Patriot 430 -0x04a7 0x0497 root:scanner 0664 +0x04a7 0x0497 root:scanner 0664 # Visioneer Patriot 680 | Xerox DocuMate632 -0x04a7 0x0498 root:scanner 0664 +0x04a7 0x0498 root:scanner 0664 # Visioneer Patriot 780 -0x04a7 0x0499 root:scanner 0664 +0x04a7 0x0499 root:scanner 0664 # Xerox DocuMate752 -0x04a7 0x049a root:scanner 0664 +0x04a7 0x049a root:scanner 0664 # Visioneer Strobe XP 100,r3 -0x04a7 0x049b root:scanner 0664 +0x04a7 0x049b root:scanner 0664 # Xerox DocuMate150 -0x04a7 0x049c root:scanner 0664 +0x04a7 0x049c root:scanner 0664 # Xerox DocuMate162 -0x04a7 0x049d root:scanner 0664 +0x04a7 0x049d root:scanner 0664 # Xerox DocuMate262i -0x04a7 0x04a7 root:scanner 0664 +0x04a7 0x04a7 root:scanner 0664 # Xerox Travel Scanner 100 -0x04a7 0x04ac root:scanner 0664 +0x04a7 0x04ac root:scanner 0664 # Canon DR-2080C -0x04a9 0x1601 root:scanner 0664 +0x04a9 0x1601 root:scanner 0664 # Canon CR-180 | Canon CR-180II -0x04a9 0x1602 root:scanner 0664 +0x04a9 0x1602 root:scanner 0664 # Canon DR-9080C -0x04a9 0x1603 root:scanner 0664 +0x04a9 0x1603 root:scanner 0664 # Canon DR-7080C -0x04a9 0x1604 root:scanner 0664 +0x04a9 0x1604 root:scanner 0664 # Canon DR-5010C -0x04a9 0x1606 root:scanner 0664 +0x04a9 0x1606 root:scanner 0664 # Canon DR-6080 -0x04a9 0x1607 root:scanner 0664 +0x04a9 0x1607 root:scanner 0664 # Canon DR-2580C -0x04a9 0x1608 root:scanner 0664 +0x04a9 0x1608 root:scanner 0664 # Canon DR-3080CII -0x04a9 0x1609 root:scanner 0664 +0x04a9 0x1609 root:scanner 0664 # Canon DR-2050C | Canon DR-2050SP -0x04a9 0x160a root:scanner 0664 +0x04a9 0x160a root:scanner 0664 # Canon DR-7580 -0x04a9 0x160b root:scanner 0664 +0x04a9 0x160b root:scanner 0664 # Canon PIXMA MP750 -0x04a9 0x1706 root:scanner 0664 +0x04a9 0x1706 root:scanner 0664 # Canon PIXMA MP780 | Canon PIXMA MP790 -0x04a9 0x1707 root:scanner 0664 +0x04a9 0x1707 root:scanner 0664 # Canon PIXMA MP760 | Canon PIXMA MP770 -0x04a9 0x1708 root:scanner 0664 +0x04a9 0x1708 root:scanner 0664 # Canon PIXMA MP150 -0x04a9 0x1709 root:scanner 0664 +0x04a9 0x1709 root:scanner 0664 # Canon PIXMA MP170 -0x04a9 0x170a root:scanner 0664 +0x04a9 0x170a root:scanner 0664 # Canon PIXMA MP450 -0x04a9 0x170b root:scanner 0664 +0x04a9 0x170b root:scanner 0664 # Canon PIXMA MP500 -0x04a9 0x170c root:scanner 0664 +0x04a9 0x170c root:scanner 0664 # Canon PIXMA MP800 -0x04a9 0x170d root:scanner 0664 +0x04a9 0x170d root:scanner 0664 # Canon PIXMA MP800R -0x04a9 0x170e root:scanner 0664 +0x04a9 0x170e root:scanner 0664 # Canon PIXMA MP530 -0x04a9 0x1712 root:scanner 0664 +0x04a9 0x1712 root:scanner 0664 # Canon PIXMA MP830 -0x04a9 0x1713 root:scanner 0664 +0x04a9 0x1713 root:scanner 0664 # Canon PIXMA MP160 -0x04a9 0x1714 root:scanner 0664 +0x04a9 0x1714 root:scanner 0664 # Canon PIXMA MP180 -0x04a9 0x1715 root:scanner 0664 +0x04a9 0x1715 root:scanner 0664 # Canon PIXMA MP460 -0x04a9 0x1716 root:scanner 0664 +0x04a9 0x1716 root:scanner 0664 # Canon PIXMA MP510 -0x04a9 0x1717 root:scanner 0664 +0x04a9 0x1717 root:scanner 0664 # Canon PIXMA MP600 -0x04a9 0x1718 root:scanner 0664 +0x04a9 0x1718 root:scanner 0664 # Canon PIXMA MP600R -0x04a9 0x1719 root:scanner 0664 +0x04a9 0x1719 root:scanner 0664 # Canon PIXMA MP810 -0x04a9 0x171a root:scanner 0664 +0x04a9 0x171a root:scanner 0664 # Canon PIXMA MP960 -0x04a9 0x171b root:scanner 0664 +0x04a9 0x171b root:scanner 0664 # Canon PIXMA MX7600 -0x04a9 0x171c root:scanner 0664 +0x04a9 0x171c root:scanner 0664 # Canon PIXMA MP210 -0x04a9 0x1721 root:scanner 0664 +0x04a9 0x1721 root:scanner 0664 # Canon PIXMA MP220 -0x04a9 0x1722 root:scanner 0664 +0x04a9 0x1722 root:scanner 0664 # Canon PIXMA MP470 -0x04a9 0x1723 root:scanner 0664 +0x04a9 0x1723 root:scanner 0664 # Canon PIXMA MP520 -0x04a9 0x1724 root:scanner 0664 +0x04a9 0x1724 root:scanner 0664 # Canon PIXMA MP610 -0x04a9 0x1725 root:scanner 0664 +0x04a9 0x1725 root:scanner 0664 # Canon PIXMA MP970 -0x04a9 0x1726 root:scanner 0664 +0x04a9 0x1726 root:scanner 0664 # Canon PIXMA MX300 -0x04a9 0x1727 root:scanner 0664 +0x04a9 0x1727 root:scanner 0664 # Canon PIXMA MX310 -0x04a9 0x1728 root:scanner 0664 +0x04a9 0x1728 root:scanner 0664 # Canon PIXMA MX700 -0x04a9 0x1729 root:scanner 0664 +0x04a9 0x1729 root:scanner 0664 # Canon PIXMA MP140 -0x04a9 0x172b root:scanner 0664 +0x04a9 0x172b root:scanner 0664 # Canon PIXMA MX850 -0x04a9 0x172c root:scanner 0664 +0x04a9 0x172c root:scanner 0664 # Canon PIXMA MP980 -0x04a9 0x172d root:scanner 0664 +0x04a9 0x172d root:scanner 0664 # Canon PIXMA MP630 -0x04a9 0x172e root:scanner 0664 +0x04a9 0x172e root:scanner 0664 # Canon PIXMA MP620 -0x04a9 0x172f root:scanner 0664 +0x04a9 0x172f root:scanner 0664 # Canon PIXMA MP540 -0x04a9 0x1730 root:scanner 0664 +0x04a9 0x1730 root:scanner 0664 # Canon PIXMA MP480 -0x04a9 0x1731 root:scanner 0664 +0x04a9 0x1731 root:scanner 0664 # Canon PIXMA MP240 -0x04a9 0x1732 root:scanner 0664 +0x04a9 0x1732 root:scanner 0664 # Canon PIXMA MP260 -0x04a9 0x1733 root:scanner 0664 +0x04a9 0x1733 root:scanner 0664 # Canon PIXMA MP190 -0x04a9 0x1734 root:scanner 0664 +0x04a9 0x1734 root:scanner 0664 # Canon PIXMA MX860 -0x04a9 0x1735 root:scanner 0664 +0x04a9 0x1735 root:scanner 0664 # Canon PIXMA MX320 -0x04a9 0x1736 root:scanner 0664 +0x04a9 0x1736 root:scanner 0664 # Canon PIXMA MX330 -0x04a9 0x1737 root:scanner 0664 +0x04a9 0x1737 root:scanner 0664 # Canon PIXMA MP250 -0x04a9 0x173a root:scanner 0664 +0x04a9 0x173a root:scanner 0664 # Canon PIXMA MP270 -0x04a9 0x173b root:scanner 0664 +0x04a9 0x173b root:scanner 0664 # Canon PIXMA MP490 -0x04a9 0x173c root:scanner 0664 +0x04a9 0x173c root:scanner 0664 # Canon PIXMA MP550 -0x04a9 0x173d root:scanner 0664 +0x04a9 0x173d root:scanner 0664 # Canon PIXMA MP560 -0x04a9 0x173e root:scanner 0664 +0x04a9 0x173e root:scanner 0664 # Canon PIXMA MP640 -0x04a9 0x173f root:scanner 0664 +0x04a9 0x173f root:scanner 0664 # Canon PIXMA MP990 -0x04a9 0x1740 root:scanner 0664 +0x04a9 0x1740 root:scanner 0664 # Canon PIXMA MX340 -0x04a9 0x1741 root:scanner 0664 +0x04a9 0x1741 root:scanner 0664 # Canon PIXMA MX350 -0x04a9 0x1742 root:scanner 0664 +0x04a9 0x1742 root:scanner 0664 # Canon PIXMA MX870 -0x04a9 0x1743 root:scanner 0664 +0x04a9 0x1743 root:scanner 0664 # Canon PIXMA MP280 -0x04a9 0x1746 root:scanner 0664 +0x04a9 0x1746 root:scanner 0664 # Canon PIXMA MP495 -0x04a9 0x1747 root:scanner 0664 +0x04a9 0x1747 root:scanner 0664 # Canon PIXMA MG5100 Series -0x04a9 0x1748 root:scanner 0664 +0x04a9 0x1748 root:scanner 0664 # Canon PIXMA MG5200 Series -0x04a9 0x1749 root:scanner 0664 +0x04a9 0x1749 root:scanner 0664 # Canon PIXMA MG6100 Series -0x04a9 0x174a root:scanner 0664 +0x04a9 0x174a root:scanner 0664 # Canon PIXMA MG8100 Series -0x04a9 0x174b root:scanner 0664 +0x04a9 0x174b root:scanner 0664 # Canon PIXMA MX360 -0x04a9 0x174d root:scanner 0664 +0x04a9 0x174d root:scanner 0664 # Canon PIXMA MX410 -0x04a9 0x174e root:scanner 0664 +0x04a9 0x174e root:scanner 0664 # Canon PIXMA MX420 -0x04a9 0x174f root:scanner 0664 +0x04a9 0x174f root:scanner 0664 # Canon PIXMA MX880 Series | Canon PIXMA MX882 | Canon PIXMA MX885 -0x04a9 0x1750 root:scanner 0664 +0x04a9 0x1750 root:scanner 0664 # Canon PIXMA MG2100 Series -0x04a9 0x1751 root:scanner 0664 +0x04a9 0x1751 root:scanner 0664 # Canon PIXMA MG3100 Series -0x04a9 0x1752 root:scanner 0664 +0x04a9 0x1752 root:scanner 0664 # Canon PIXMA MG4100 Series -0x04a9 0x1753 root:scanner 0664 +0x04a9 0x1753 root:scanner 0664 # Canon PIXMA MG5300 Series -0x04a9 0x1754 root:scanner 0664 +0x04a9 0x1754 root:scanner 0664 # Canon PIXMA MG6200 Series -0x04a9 0x1755 root:scanner 0664 +0x04a9 0x1755 root:scanner 0664 # Canon PIXMA MG8200 Series -0x04a9 0x1756 root:scanner 0664 +0x04a9 0x1756 root:scanner 0664 # Canon PIXMA MP493 -0x04a9 0x1757 root:scanner 0664 +0x04a9 0x1757 root:scanner 0664 # Canon PIXMA E500 -0x04a9 0x1758 root:scanner 0664 +0x04a9 0x1758 root:scanner 0664 # Canon PIXMA MX370 Series -0x04a9 0x1759 root:scanner 0664 +0x04a9 0x1759 root:scanner 0664 # Canon PIXMA E600 -0x04a9 0x175a root:scanner 0664 +0x04a9 0x175a root:scanner 0664 # Canon PIXMA MX430 Series -0x04a9 0x175b root:scanner 0664 +0x04a9 0x175b root:scanner 0664 # Canon PIXMA MX510 Series -0x04a9 0x175c root:scanner 0664 +0x04a9 0x175c root:scanner 0664 # Canon PIXMA MX710 Series -0x04a9 0x175d root:scanner 0664 +0x04a9 0x175d root:scanner 0664 # Canon PIXMA MX890 Series -0x04a9 0x175e root:scanner 0664 +0x04a9 0x175e root:scanner 0664 # Canon PIXMA MP230 -0x04a9 0x175f root:scanner 0664 +0x04a9 0x175f root:scanner 0664 # Canon PIXMA MG2200 Series -0x04a9 0x1760 root:scanner 0664 +0x04a9 0x1760 root:scanner 0664 # Canon PIXMA E510 -0x04a9 0x1761 root:scanner 0664 +0x04a9 0x1761 root:scanner 0664 # Canon PIXMA MG3200 Series -0x04a9 0x1762 root:scanner 0664 +0x04a9 0x1762 root:scanner 0664 # Canon PIXMA MG4200 Series -0x04a9 0x1763 root:scanner 0664 +0x04a9 0x1763 root:scanner 0664 # Canon PIXMA MG5400 Series -0x04a9 0x1764 root:scanner 0664 +0x04a9 0x1764 root:scanner 0664 # Canon PIXMA MG6300 Series -0x04a9 0x1765 root:scanner 0664 +0x04a9 0x1765 root:scanner 0664 # Canon PIXMA MX390 Series -0x04a9 0x1766 root:scanner 0664 +0x04a9 0x1766 root:scanner 0664 # Canon PIXMA E610 -0x04a9 0x1767 root:scanner 0664 +0x04a9 0x1767 root:scanner 0664 # Canon PIXMA MX450 Series -0x04a9 0x1768 root:scanner 0664 +0x04a9 0x1768 root:scanner 0664 # Canon PIXMA MX520 Series -0x04a9 0x1769 root:scanner 0664 +0x04a9 0x1769 root:scanner 0664 # Canon PIXMA MX720 Series -0x04a9 0x176a root:scanner 0664 +0x04a9 0x176a root:scanner 0664 # Canon PIXMA MX920 Series -0x04a9 0x176b root:scanner 0664 +0x04a9 0x176b root:scanner 0664 # Canon CanoScan 8800F -0x04a9 0x1901 root:scanner 0664 +0x04a9 0x1901 root:scanner 0664 # Canon CanoScan LiDE 100 -0x04a9 0x1904 root:scanner 0664 +0x04a9 0x1904 root:scanner 0664 # Canon CanoScan LiDE 200 -0x04a9 0x1905 root:scanner 0664 +0x04a9 0x1905 root:scanner 0664 # Canon CanoScan 700F -0x04a9 0x1907 root:scanner 0664 +0x04a9 0x1907 root:scanner 0664 # Canon CanoScan 9000F -0x04a9 0x1908 root:scanner 0664 +0x04a9 0x1908 root:scanner 0664 # Canon CanoScan LiDE 110 -0x04a9 0x1909 root:scanner 0664 +0x04a9 0x1909 root:scanner 0664 # Canon CanoScan LiDE 210 -0x04a9 0x190a root:scanner 0664 +0x04a9 0x190a root:scanner 0664 # Canon CanoScan 9000F Mark II -0x04a9 0x190d root:scanner 0664 +0x04a9 0x190d root:scanner 0664 # Canon CanoScan fb630u | Canon CanoScan fb636u -0x04a9 0x2204 root:scanner 0664 +0x04a9 0x2204 root:scanner 0664 # Canon CanoScan N650U/N656U -0x04a9 0x2206 root:scanner 0664 +0x04a9 0x2206 root:scanner 0664 # Canon CanoScan N1220U -0x04a9 0x2207 root:scanner 0664 +0x04a9 0x2207 root:scanner 0664 # Canon CanoScan D660U -0x04a9 0x2208 root:scanner 0664 +0x04a9 0x2208 root:scanner 0664 # Canon CanoScan N670U/N676U/LiDE20 -0x04a9 0x220d root:scanner 0664 +0x04a9 0x220d root:scanner 0664 # Canon CanoScan N1240U/LiDE30 -0x04a9 0x220e root:scanner 0664 +0x04a9 0x220e root:scanner 0664 # Canon CanoScan LiDE 35 | Canon CanoScan LiDE 40 | Canon CanoScan LiDE 50 -0x04a9 0x2213 root:scanner 0664 +0x04a9 0x2213 root:scanner 0664 # Canon CanoScan LiDE 60 -0x04a9 0x221c root:scanner 0664 +0x04a9 0x221c root:scanner 0664 # Canon CanoScan LiDE25 -0x04a9 0x2220 root:scanner 0664 +0x04a9 0x2220 root:scanner 0664 # Canon DR-1210C -0x04a9 0x2222 root:scanner 0664 +0x04a9 0x2222 root:scanner 0664 # Canon PIXMA MP730 -0x04a9 0x262f root:scanner 0664 +0x04a9 0x262f root:scanner 0664 # Canon PIXMA MP700 -0x04a9 0x2630 root:scanner 0664 +0x04a9 0x2630 root:scanner 0664 # Canon PIXMA MP360 -0x04a9 0x263c root:scanner 0664 +0x04a9 0x263c root:scanner 0664 # Canon PIXMA MP370 -0x04a9 0x263d root:scanner 0664 +0x04a9 0x263d root:scanner 0664 # Canon PIXMA MP390 -0x04a9 0x263e root:scanner 0664 +0x04a9 0x263e root:scanner 0664 # Canon PIXMA MP375R -0x04a9 0x263f root:scanner 0664 +0x04a9 0x263f root:scanner 0664 # Canon PIXMA MP740 -0x04a9 0x264c root:scanner 0664 +0x04a9 0x264c root:scanner 0664 # Canon PIXMA MP710 -0x04a9 0x264d root:scanner 0664 +0x04a9 0x264d root:scanner 0664 # Canon imageCLASS MF5630 -0x04a9 0x264e root:scanner 0664 +0x04a9 0x264e root:scanner 0664 # Canon laserBase MF5650 -0x04a9 0x264f root:scanner 0664 +0x04a9 0x264f root:scanner 0664 # Canon imageCLASS MF8170c -0x04a9 0x2659 root:scanner 0664 +0x04a9 0x2659 root:scanner 0664 # Canon imageCLASS MF5730 -0x04a9 0x265d root:scanner 0664 +0x04a9 0x265d root:scanner 0664 # Canon imageCLASS MF5750 -0x04a9 0x265e root:scanner 0664 +0x04a9 0x265e root:scanner 0664 # Canon imageCLASS MF5770 -0x04a9 0x265f root:scanner 0664 +0x04a9 0x265f root:scanner 0664 # Canon imageCLASS MF3110 -0x04a9 0x2660 root:scanner 0664 +0x04a9 0x2660 root:scanner 0664 # Canon imageCLASS MF3240 -0x04a9 0x2684 root:scanner 0664 +0x04a9 0x2684 root:scanner 0664 # Canon imageCLASS MF6500 series | Canon imageCLASS MF6550 -0x04a9 0x2686 root:scanner 0664 +0x04a9 0x2686 root:scanner 0664 # Canon imageCLASS MF4120 | Canon imageCLASS MF4122 | Canon imageCLASS MF4140 | Canon imageCLASS MF4150 -0x04a9 0x26a3 root:scanner 0664 +0x04a9 0x26a3 root:scanner 0664 # Canon imageCLASS MF4660 | Canon imageCLASS MF4690 -0x04a9 0x26b0 root:scanner 0664 +0x04a9 0x26b0 root:scanner 0664 # Canon imageCLASS MF4010 | Canon imageCLASS MF4018 -0x04a9 0x26b4 root:scanner 0664 +0x04a9 0x26b4 root:scanner 0664 # Canon imageCLASS MF4270 -0x04a9 0x26b5 root:scanner 0664 +0x04a9 0x26b5 root:scanner 0664 # Canon imageRUNNER 1020/1024/1025 -0x04a9 0x26e6 root:scanner 0664 +0x04a9 0x26e6 root:scanner 0664 # Canon imageCLASS MF4370dn | Canon imageCLASS MF4380dn -0x04a9 0x26ec root:scanner 0664 +0x04a9 0x26ec root:scanner 0664 # Canon imageCLASS D480 -0x04a9 0x26ed root:scanner 0664 +0x04a9 0x26ed root:scanner 0664 # Canon I-SENSYS MF4320d | Canon I-SENSYS MF4330d | Canon imageCLASS MF4350d -0x04a9 0x26ee root:scanner 0664 +0x04a9 0x26ee root:scanner 0664 # Canon imageCLASS D420 -0x04a9 0x26ef root:scanner 0664 +0x04a9 0x26ef root:scanner 0664 # Canon i-SENSYS MF5880dn -0x04a9 0x26f9 root:scanner 0664 +0x04a9 0x26f9 root:scanner 0664 # Canon i-SENSYS MF6680dn -0x04a9 0x26fa root:scanner 0664 +0x04a9 0x26fa root:scanner 0664 # Canon imageCLASS MF8030 -0x04a9 0x2707 root:scanner 0664 +0x04a9 0x2707 root:scanner 0664 # Canon i-SENSYS MF4550d -0x04a9 0x2736 root:scanner 0664 +0x04a9 0x2736 root:scanner 0664 # Canon imageCLASS MF4410 | Canon imageCLASS MF4430 -0x04a9 0x2737 root:scanner 0664 +0x04a9 0x2737 root:scanner 0664 # Canon i-SENSYS MF3010 -0x04a9 0x2759 root:scanner 0664 +0x04a9 0x2759 root:scanner 0664 # Nikon LS 40 ED | Nikon LS 40 ED | Nikon Coolspan IV -0x04b0 0x4000 root:scanner 0664 +0x04b0 0x4000 root:scanner 0664 # Nikon LS 50 ED | Nikon Coolscan V ED | Nikon LS 50 ED | Nikon Coolscan V ED -0x04b0 0x4001 root:scanner 0664 +0x04b0 0x4001 root:scanner 0664 # Nikon Super Coolscan LS-5000 ED | Nikon Super Coolscan LS-5000 ED -0x04b0 0x4002 root:scanner 0664 +0x04b0 0x4002 root:scanner 0664 # Epson Perfection 636U | Epson GT-7000U | Epson Perfection 636U -0x04b8 0x0101 root:scanner 0664 +0x04b8 0x0101 root:scanner 0664 # Epson Perfection 610 | Epson GT-6600U | Epson Perfection 610 -0x04b8 0x0103 root:scanner 0664 +0x04b8 0x0103 root:scanner 0664 # Epson Perfection 1200U | Epson Perfection 1200Photo | Epson GT-7600U | Epson GT-7600UF | Epson Perfection 1200U | Epson Perfection 1200U PHOTO -0x04b8 0x0104 root:scanner 0664 +0x04b8 0x0104 root:scanner 0664 # Epson Stylus Scan 2000 -0x04b8 0x0105 root:scanner 0664 +0x04b8 0x0105 root:scanner 0664 # Epson Stylus Scan 2500 -0x04b8 0x0106 root:scanner 0664 +0x04b8 0x0106 root:scanner 0664 # Epson Expression 1600 | Epson ES-2000 | Epson Expression 1600 -0x04b8 0x0107 root:scanner 0664 +0x04b8 0x0107 root:scanner 0664 # Epson ES-8500 | Epson Expression 1640XL -0x04b8 0x0109 root:scanner 0664 +0x04b8 0x0109 root:scanner 0664 # Epson Perfection 1640 | Epson GT-8700 | Epson GT-8700F | Epson Perfection 1640SU | Epson Perfection 1640SU PHOTO -0x04b8 0x010a root:scanner 0664 +0x04b8 0x010a root:scanner 0664 # Epson Perfection 1240 | Epson GT-7700U | Epson Perfection 1240U -0x04b8 0x010b root:scanner 0664 +0x04b8 0x010b root:scanner 0664 # Epson Perfection 640 | Epson GT-6700U | Epson Perfection 640U -0x04b8 0x010c root:scanner 0664 +0x04b8 0x010c root:scanner 0664 # Epson Expression 1680 | Epson ES-2200 | Epson Expression 1680 -0x04b8 0x010e root:scanner 0664 +0x04b8 0x010e root:scanner 0664 # Epson Perfection 1250 | Epson Perfection 1250Photo -0x04b8 0x010f root:scanner 0664 +0x04b8 0x010f root:scanner 0664 # Epson Perfection 1650 | Epson GT-8200U | Epson GT-8200UF | Epson Perfection 1650 | Epson Perfection 1650 PHOTO -0x04b8 0x0110 root:scanner 0664 +0x04b8 0x0110 root:scanner 0664 # Epson Perfection 2450 | Epson GT-9700F | Epson Perfection 2450 PHOTO -0x04b8 0x0112 root:scanner 0664 +0x04b8 0x0112 root:scanner 0664 # Epson Perfection 660 -0x04b8 0x0114 root:scanner 0664 +0x04b8 0x0114 root:scanner 0664 # Epson Perfection 2400 | Epson GT-9300UF | Epson Perfection 2400 PHOTO -0x04b8 0x011b root:scanner 0664 +0x04b8 0x011b root:scanner 0664 # Epson Perfection 3200 | Epson GT-9800F | Epson Perfection 3200 PHOTO -0x04b8 0x011c root:scanner 0664 +0x04b8 0x011c root:scanner 0664 # Epson Perfection 1260 | Epson Perfection 1260Photo -0x04b8 0x011d root:scanner 0664 +0x04b8 0x011d root:scanner 0664 # Epson Perfection 1660 | Epson GT-8300UF | Epson Perfection 1660 PHOTO -0x04b8 0x011e root:scanner 0664 +0x04b8 0x011e root:scanner 0664 # Epson Perfection 1670 -0x04b8 0x011f root:scanner 0664 +0x04b8 0x011f root:scanner 0664 # Epson Perfection 1270 -0x04b8 0x0120 root:scanner 0664 +0x04b8 0x0120 root:scanner 0664 # Epson Perfection 2480 | Epson Perfection 2580 -0x04b8 0x0121 root:scanner 0664 +0x04b8 0x0121 root:scanner 0664 # Epson Perfection 3490 | Epson Perfection 3590 -0x04b8 0x0122 root:scanner 0664 +0x04b8 0x0122 root:scanner 0664 # Epson ES-7000H | Epson GT-15000 -0x04b8 0x0126 root:scanner 0664 +0x04b8 0x0126 root:scanner 0664 # Epson Perfection 4870 | Epson GT-X700 | Epson Perfection 4870 PHOTO -0x04b8 0x0128 root:scanner 0664 +0x04b8 0x0128 root:scanner 0664 # Epson ES-10000G | Epson Expression 10000XL -0x04b8 0x0129 root:scanner 0664 +0x04b8 0x0129 root:scanner 0664 # Epson Perfection 4990 | Epson GT-X800 | Epson Perfection 4990 PHOTO -0x04b8 0x012a root:scanner 0664 +0x04b8 0x012a root:scanner 0664 # Epson ES-H300 | Epson GT-2500 -0x04b8 0x012b root:scanner 0664 +0x04b8 0x012b root:scanner 0664 # Epson V700 | Epson V750 | Epson GT-X900 | Epson Perfection V700 Photo | Epson Perfection V750 Photo -0x04b8 0x012c root:scanner 0664 +0x04b8 0x012c root:scanner 0664 # Epson GT-X970 -0x04b8 0x0135 root:scanner 0664 +0x04b8 0x0135 root:scanner 0664 # Epson CX-5200 | Epson CX-5400 | Epson CC-600PX | Epson Stylus CX5100 | Epson Stylus CX5200 -0x04b8 0x0801 root:scanner 0664 +0x04b8 0x0801 root:scanner 0664 # Epson CX-3200 | Epson CC-570L | Epson Stylus CX3100 | Epson Stylus CX3200 -0x04b8 0x0802 root:scanner 0664 +0x04b8 0x0802 root:scanner 0664 # Epson CX-6300 | Epson CX-6400 | Epson Stylus CX6300 | Epson Stylus CX6400 -0x04b8 0x0805 root:scanner 0664 +0x04b8 0x0805 root:scanner 0664 # Epson RX-600 | Epson PM-A850 | Epson Stylus Photo RX600 -0x04b8 0x0806 root:scanner 0664 +0x04b8 0x0806 root:scanner 0664 # Epson RX-500 | Epson Stylus Photo RX500 | Epson Stylus Photo RX510 -0x04b8 0x0807 root:scanner 0664 +0x04b8 0x0807 root:scanner 0664 # Epson CX-5400 | Epson Stylus CX5300 | Epson Stylus CX5400 -0x04b8 0x0808 root:scanner 0664 +0x04b8 0x0808 root:scanner 0664 # Epson Stylus CX-1500 -0x04b8 0x080c root:scanner 0664 +0x04b8 0x080c root:scanner 0664 # Epson CX-4600 | Epson Stylus CX4500 | Epson Stylus CX4600 -0x04b8 0x080d root:scanner 0664 +0x04b8 0x080d root:scanner 0664 # Epson CX-3600 | Epson CX-3650 | Epson PX-A550 | Epson Stylus CX3500 | Epson Stylus CX3600 | Epson Stylus CX3650 -0x04b8 0x080e root:scanner 0664 +0x04b8 0x080e root:scanner 0664 # Epson RX-425 | Epson Stylus Photo RX420 | Epson Stylus Photo RX425 | Epson Stylus Photo RX430 -0x04b8 0x080f root:scanner 0664 +0x04b8 0x080f root:scanner 0664 # Epson RX-700 | Epson PM-A900 | Epson Stylus Photo RX700 -0x04b8 0x0810 root:scanner 0664 +0x04b8 0x0810 root:scanner 0664 # Epson RX-620 | Epson PM-A870 | Epson Stylus Photo RX620 | Epson Stylus Photo RX630 -0x04b8 0x0811 root:scanner 0664 +0x04b8 0x0811 root:scanner 0664 # Epson CX-6500 | Epson CX-6600 | Epson Stylus CX6500 | Epson Stylus CX6600 -0x04b8 0x0813 root:scanner 0664 +0x04b8 0x0813 root:scanner 0664 # Epson PM-A700 -0x04b8 0x0814 root:scanner 0664 +0x04b8 0x0814 root:scanner 0664 # Epson AcuLaser CX11 | Epson AcuLaser CX11NF | Epson AcuLaser CX11 | Epson AcuLaser CX11NF | Epson LP-A500 -0x04b8 0x0815 root:scanner 0664 +0x04b8 0x0815 root:scanner 0664 # Epson LP-M5500 | Epson LP-M5500F -0x04b8 0x0817 root:scanner 0664 +0x04b8 0x0817 root:scanner 0664 # Epson DX-3850 | Epson CX-3700 | Epson CX-3800 | Epson DX-3800 | Epson Stylus CX3700 | Epson Stylus CX3800 | Epson Stylus DX3800 -0x04b8 0x0818 root:scanner 0664 +0x04b8 0x0818 root:scanner 0664 # Epson CX-4800 | Epson PX-A650 | Epson Stylus CX4700 | Epson Stylus CX4800 | Epson Stylus DX4800 | Epson Stylus DX4850 -0x04b8 0x0819 root:scanner 0664 +0x04b8 0x0819 root:scanner 0664 # Epson PM-A750 | Epson Stylus Photo RX520 | Epson Stylus Photo RX530 -0x04b8 0x081a root:scanner 0664 +0x04b8 0x081a root:scanner 0664 # Epson PM-A890 | Epson Stylus Photo RX640 | Epson Stylus Photo RX650 -0x04b8 0x081c root:scanner 0664 +0x04b8 0x081c root:scanner 0664 # Epson PM-A950 -0x04b8 0x081d root:scanner 0664 +0x04b8 0x081d root:scanner 0664 # Epson Stylus CX7700 | Epson Stylus CX7800 -0x04b8 0x081f root:scanner 0664 +0x04b8 0x081f root:scanner 0664 # Epson CX-4200 | Epson Stylus CX4100 | Epson Stylus CX4200 | Epson Stylus DX4200 -0x04b8 0x0820 root:scanner 0664 +0x04b8 0x0820 root:scanner 0664 # Epson PM-A820 | Epson Stylus Photo RX560 | Epson Stylus Photo RX580 | Epson Stylus Photo RX590 -0x04b8 0x0827 root:scanner 0664 +0x04b8 0x0827 root:scanner 0664 # Epson PM-A970 -0x04b8 0x0828 root:scanner 0664 +0x04b8 0x0828 root:scanner 0664 # Epson PM-T990 -0x04b8 0x0829 root:scanner 0664 +0x04b8 0x0829 root:scanner 0664 # Epson PM-A920 -0x04b8 0x082a root:scanner 0664 +0x04b8 0x082a root:scanner 0664 # Epson CX-5000 | Epson DX-5000 | Epson DX-5050 | Epson Stylus CX4900 | Epson Stylus CX5000 | Epson Stylus DX5000 -0x04b8 0x082b root:scanner 0664 +0x04b8 0x082b root:scanner 0664 # Epson DX-6000 | Epson PX-A720 | Epson Stylus CX5900 | Epson Stylus CX6000 | Epson Stylus DX6000 -0x04b8 0x082e root:scanner 0664 +0x04b8 0x082e root:scanner 0664 # Epson DX-4050 | Epson PX-A620 | Epson Stylus CX3900 | Epson Stylus DX4000 -0x04b8 0x082f root:scanner 0664 +0x04b8 0x082f root:scanner 0664 # Epson ME 200 | Epson Stylus CX2800 | Epson Stylus CX2900 -0x04b8 0x0830 root:scanner 0664 +0x04b8 0x0830 root:scanner 0664 # Epson LP-M5600 -0x04b8 0x0833 root:scanner 0664 +0x04b8 0x0833 root:scanner 0664 # Epson LP-M6000 -0x04b8 0x0834 root:scanner 0664 +0x04b8 0x0834 root:scanner 0664 # Epson AcuLaser CX21 -0x04b8 0x0835 root:scanner 0664 +0x04b8 0x0835 root:scanner 0664 # Epson PM-T960 -0x04b8 0x0836 root:scanner 0664 +0x04b8 0x0836 root:scanner 0664 # Epson PM-A940 | Epson Stylus Photo RX680 | Epson Stylus Photo RX685 | Epson Stylus Photo RX690 -0x04b8 0x0837 root:scanner 0664 +0x04b8 0x0837 root:scanner 0664 # Epson DX-7400 | Epson PX-A640 | Epson Stylus CX7300 | Epson Stylus CX7400 | Epson Stylus DX7400 -0x04b8 0x0838 root:scanner 0664 +0x04b8 0x0838 root:scanner 0664 # Epson PX-A740 | Epson Stylus CX8300 | Epson Stylus CX8400 | Epson Stylus DX8400 -0x04b8 0x0839 root:scanner 0664 +0x04b8 0x0839 root:scanner 0664 # Epson PX-FA700 | Epson Stylus CX9300F | Epson Stylus CX9400Fax | Epson Stylus DX9400F -0x04b8 0x083a root:scanner 0664 +0x04b8 0x083a root:scanner 0664 # Epson PM-A840 | Epson PM-A840S | Epson Stylus Photo RX585 | Epson Stylus Photo RX595 | Epson Stylus Photo RX610 -0x04b8 0x083c root:scanner 0664 +0x04b8 0x083c root:scanner 0664 # Epson ME 300 | Epson PX-401A | Epson Stylus NX100 | Epson Stylus SX100 | Epson Stylus TX100 -0x04b8 0x0841 root:scanner 0664 +0x04b8 0x0841 root:scanner 0664 # Epson LP-M5000 -0x04b8 0x0843 root:scanner 0664 +0x04b8 0x0843 root:scanner 0664 # Epson Artisan 800 | Epson EP-901A | Epson EP-901F | Epson Stylus Photo PX800FW | Epson Stylus Photo TX800FW -0x04b8 0x0844 root:scanner 0664 +0x04b8 0x0844 root:scanner 0664 # Epson Artisan 700 | Epson EP-801A | Epson Stylus Photo PX700W | Epson Stylus Photo TX700W -0x04b8 0x0846 root:scanner 0664 +0x04b8 0x0846 root:scanner 0664 # Epson ME Office 700FW | Epson PX-601F | Epson Stylus Office BX600FW | Epson Stylus Office TX600FW | Epson Stylus SX600FW | Epson WorkForce 600 -0x04b8 0x0847 root:scanner 0664 +0x04b8 0x0847 root:scanner 0664 # Epson ME Office 600F | Epson Stylus Office BX300F | Epson Stylus Office TX300F | Epson Stylus NX300 -0x04b8 0x0848 root:scanner 0664 +0x04b8 0x0848 root:scanner 0664 # Epson Stylus NX200 | Epson Stylus SX200 | Epson Stylus SX205 | Epson Stylus TX200 | Epson Stylus TX203 | Epson Stylus TX209 -0x04b8 0x0849 root:scanner 0664 +0x04b8 0x0849 root:scanner 0664 # Epson PX-501A | Epson Stylus NX400 | Epson Stylus SX400 | Epson Stylus SX405 | Epson Stylus TX400 -0x04b8 0x084a root:scanner 0664 +0x04b8 0x084a root:scanner 0664 # Epson WorkForce 500 -0x04b8 0x084c root:scanner 0664 +0x04b8 0x084c root:scanner 0664 # Epson PX-402A | Epson Stylus NX110 Series | Epson Stylus SX110 Series | Epson Stylus TX110 Series -0x04b8 0x084d root:scanner 0664 +0x04b8 0x084d root:scanner 0664 # Epson ME OFFICE 510 | Epson Stylus NX210 Series | Epson Stylus SX210 Series | Epson Stylus TX210 Series -0x04b8 0x084f root:scanner 0664 +0x04b8 0x084f root:scanner 0664 # Epson Stylus NX410 Series | Epson Stylus SX410 Series | Epson Stylus TX410 Series -0x04b8 0x0851 root:scanner 0664 +0x04b8 0x0851 root:scanner 0664 # Epson ME OFFICE 650FN Series | Epson Stylus Office BX310FN Series | Epson Stylus Office TX510FN Series | Epson WorkForce 310 Series -0x04b8 0x0854 root:scanner 0664 +0x04b8 0x0854 root:scanner 0664 # Epson PX-502A | Epson Stylus NX510 Series | Epson Stylus SX510W Series | Epson Stylus TX550W Series -0x04b8 0x0856 root:scanner 0664 +0x04b8 0x0856 root:scanner 0664 # Epson Stylus SX125 -0x04b8 0x085c root:scanner 0664 +0x04b8 0x085c root:scanner 0664 # Fujitsu fi-4010CU -0x04c5 0x1029 root:scanner 0664 +0x04c5 0x1029 root:scanner 0664 # Fujitsu fi-4120C -0x04c5 0x1041 root:scanner 0664 +0x04c5 0x1041 root:scanner 0664 # Fujitsu fi-4220C -0x04c5 0x1042 root:scanner 0664 +0x04c5 0x1042 root:scanner 0664 # Fujitsu fi-4530C -0x04c5 0x1078 root:scanner 0664 +0x04c5 0x1078 root:scanner 0664 # Fujitsu fi-5750C -0x04c5 0x1095 root:scanner 0664 +0x04c5 0x1095 root:scanner 0664 # Fujitsu fi-5110EOX/2 -0x04c5 0x1096 root:scanner 0664 +0x04c5 0x1096 root:scanner 0664 # Fujitsu fi-5110C -0x04c5 0x1097 root:scanner 0664 +0x04c5 0x1097 root:scanner 0664 # Fujitsu fi-5650C -0x04c5 0x10ad root:scanner 0664 +0x04c5 0x10ad root:scanner 0664 # Fujitsu fi-4120C2 -0x04c5 0x10ae root:scanner 0664 +0x04c5 0x10ae root:scanner 0664 # Fujitsu fi-4220C2 -0x04c5 0x10af root:scanner 0664 +0x04c5 0x10af root:scanner 0664 # Fujitsu fi-60F -0x04c5 0x10c7 root:scanner 0664 +0x04c5 0x10c7 root:scanner 0664 # Fujitsu fi-4340C -0x04c5 0x10cf root:scanner 0664 +0x04c5 0x10cf root:scanner 0664 # Fujitsu fi-5120C -0x04c5 0x10e0 root:scanner 0664 +0x04c5 0x10e0 root:scanner 0664 # Fujitsu fi-5220C -0x04c5 0x10e1 root:scanner 0664 +0x04c5 0x10e1 root:scanner 0664 # Fujitsu fi-5530C -0x04c5 0x10e2 root:scanner 0664 +0x04c5 0x10e2 root:scanner 0664 # Fujitsu fi-5110EOX3 -0x04c5 0x10e6 root:scanner 0664 +0x04c5 0x10e6 root:scanner 0664 # Fujitsu fi-5900C -0x04c5 0x10e7 root:scanner 0664 +0x04c5 0x10e7 root:scanner 0664 # Fujitsu fi-5015C -0x04c5 0x10ef root:scanner 0664 +0x04c5 0x10ef root:scanner 0664 # Fujitsu fi-5110EOXM -0x04c5 0x10f2 root:scanner 0664 +0x04c5 0x10f2 root:scanner 0664 # Fujitsu ScanSnap S500 -0x04c5 0x10fe root:scanner 0664 +0x04c5 0x10fe root:scanner 0664 # Fujitsu ScanSnap S500M -0x04c5 0x1135 root:scanner 0664 +0x04c5 0x1135 root:scanner 0664 # Fujitsu fi-5530C2 -0x04c5 0x114a root:scanner 0664 +0x04c5 0x114a root:scanner 0664 # Fujitsu fi-6140 -0x04c5 0x114d root:scanner 0664 +0x04c5 0x114d root:scanner 0664 # Fujitsu fi-6240 -0x04c5 0x114e root:scanner 0664 +0x04c5 0x114e root:scanner 0664 # Fujitsu fi-6130 -0x04c5 0x114f root:scanner 0664 +0x04c5 0x114f root:scanner 0664 # Fujitsu fi-6230 -0x04c5 0x1150 root:scanner 0664 +0x04c5 0x1150 root:scanner 0664 # Fujitsu ScanSnap S510 -0x04c5 0x1155 root:scanner 0664 +0x04c5 0x1155 root:scanner 0664 # Fujitsu ScanSnap S300 -0x04c5 0x1156 root:scanner 0664 +0x04c5 0x1156 root:scanner 0664 # Fujitsu ScanSnap S510M -0x04c5 0x116f root:scanner 0664 +0x04c5 0x116f root:scanner 0664 # Fujitsu fi-6770 -0x04c5 0x1174 root:scanner 0664 +0x04c5 0x1174 root:scanner 0664 # Fujitsu fi-6770A -0x04c5 0x1175 root:scanner 0664 +0x04c5 0x1175 root:scanner 0664 # Fujitsu fi-6670 -0x04c5 0x1176 root:scanner 0664 +0x04c5 0x1176 root:scanner 0664 # Fujitsu fi-6670A -0x04c5 0x1177 root:scanner 0664 +0x04c5 0x1177 root:scanner 0664 # Fujitsu fi-6750S -0x04c5 0x1178 root:scanner 0664 +0x04c5 0x1178 root:scanner 0664 # Fujitsu ScanSnap S300M -0x04c5 0x117f root:scanner 0664 +0x04c5 0x117f root:scanner 0664 # Fujitsu fi-6800 -0x04c5 0x119d root:scanner 0664 +0x04c5 0x119d root:scanner 0664 # Fujitsu fi-6800-CGA -0x04c5 0x119e root:scanner 0664 +0x04c5 0x119e root:scanner 0664 # Fujitsu ScanSnap S1500 | Fujitsu ScanSnap S1500M -0x04c5 0x11a2 root:scanner 0664 +0x04c5 0x11a2 root:scanner 0664 # Fujitsu ScanSnap S1300 -0x04c5 0x11ed root:scanner 0664 +0x04c5 0x11ed root:scanner 0664 # Fujitsu fi-6140Z -0x04c5 0x11f1 root:scanner 0664 +0x04c5 0x11f1 root:scanner 0664 # Fujitsu fi-6240Z -0x04c5 0x11f2 root:scanner 0664 +0x04c5 0x11f2 root:scanner 0664 # Fujitsu fi-6130Z -0x04c5 0x11f3 root:scanner 0664 +0x04c5 0x11f3 root:scanner 0664 # Fujitsu fi-6230Z -0x04c5 0x11f4 root:scanner 0664 +0x04c5 0x11f4 root:scanner 0664 # Fujitsu fi-6110 -0x04c5 0x11fc root:scanner 0664 +0x04c5 0x11fc root:scanner 0664 # Fujitsu fi-5950 -0x04c5 0x1213 root:scanner 0664 +0x04c5 0x1213 root:scanner 0664 # Fujitsu ScanSnap iX500 -0x04c5 0x132b root:scanner 0664 +0x04c5 0x132b root:scanner 0664 # Konica e-mini -0x04c8 0x0722 root:scanner 0664 +0x04c8 0x0722 root:scanner 0664 # Panasonic KV-S2026C -0x04da 0x1000 root:scanner 0664 +0x04da 0x1000 root:scanner 0664 # Panasonic KV-S2046C -0x04da 0x1001 root:scanner 0664 +0x04da 0x1001 root:scanner 0664 # Panasonic KV-S1025C -0x04da 0x1006 root:scanner 0664 +0x04da 0x1006 root:scanner 0664 # Panasonic KV-S1020C -0x04da 0x1007 root:scanner 0664 +0x04da 0x1007 root:scanner 0664 # Panasonic KV-S2048C -0x04da 0x1009 root:scanner 0664 +0x04da 0x1009 root:scanner 0664 # Panasonic KV-S2028C -0x04da 0x100a root:scanner 0664 +0x04da 0x100a root:scanner 0664 # Panasonic KV-S4085C -0x04da 0x100c root:scanner 0664 +0x04da 0x100c root:scanner 0664 # Panasonic KV-S4065C -0x04da 0x100d root:scanner 0664 +0x04da 0x100d root:scanner 0664 # Panasonic KV-S7075C -0x04da 0x100e root:scanner 0664 +0x04da 0x100e root:scanner 0664 # Panasonic KV-SS080 -0x04da 0x100f root:scanner 0664 +0x04da 0x100f root:scanner 0664 # Panasonic KV-S1045C -0x04da 0x1010 root:scanner 0664 +0x04da 0x1010 root:scanner 0664 # Samsung SCX-4x16 -0x04e8 0x3409 root:scanner 0664 +0x04e8 0x3409 root:scanner 0664 # Samsung SCX-6x20 -0x04e8 0x340d root:scanner 0664 +0x04e8 0x340d root:scanner 0664 # Samsung MFP-560 -0x04e8 0x340e root:scanner 0664 +0x04e8 0x340e root:scanner 0664 # Samsung MFP-750 -0x04e8 0x340f root:scanner 0664 +0x04e8 0x340f root:scanner 0664 # Samsung SCX-4x20 -0x04e8 0x3412 root:scanner 0664 +0x04e8 0x3412 root:scanner 0664 # Samsung SCX-4100 -0x04e8 0x3413 root:scanner 0664 +0x04e8 0x3413 root:scanner 0664 # Samsung SCX-4x21 -0x04e8 0x3419 root:scanner 0664 +0x04e8 0x3419 root:scanner 0664 # Samsung SCX-5x30 -0x04e8 0x341a root:scanner 0664 +0x04e8 0x341a root:scanner 0664 # Samsung SCX-4200 -0x04e8 0x341b root:scanner 0664 +0x04e8 0x341b root:scanner 0664 # Samsung CLX-3160 -0x04e8 0x341c root:scanner 0664 +0x04e8 0x341c root:scanner 0664 # Samsung SCX-6x22 -0x04e8 0x341d root:scanner 0664 +0x04e8 0x341d root:scanner 0664 # Samsung SCX4725 | Samsung SCX4725-FN -0x04e8 0x341f root:scanner 0664 +0x04e8 0x341f root:scanner 0664 # Samsung SCX-6x45 -0x04e8 0x3420 root:scanner 0664 +0x04e8 0x3420 root:scanner 0664 # Samsung CLX-8380 -0x04e8 0x3421 root:scanner 0664 +0x04e8 0x3421 root:scanner 0664 # Samsung CLX-2160 -0x04e8 0x3425 root:scanner 0664 +0x04e8 0x3425 root:scanner 0664 # Samsung SCX-4500 -0x04e8 0x3426 root:scanner 0664 +0x04e8 0x3426 root:scanner 0664 # Samsung CLX-6200 -0x04e8 0x3427 root:scanner 0664 +0x04e8 0x3427 root:scanner 0664 # Samsung CLX-6240 -0x04e8 0x3428 root:scanner 0664 +0x04e8 0x3428 root:scanner 0664 # Samsung SCX-6x55 -0x04e8 0x3429 root:scanner 0664 +0x04e8 0x3429 root:scanner 0664 # Samsung CLX-3170fn (CLX-3170 Series) | Samsung CLX-3175FW -0x04e8 0x342a root:scanner 0664 +0x04e8 0x342a root:scanner 0664 # Samsung SCX-4500W -0x04e8 0x342b root:scanner 0664 +0x04e8 0x342b root:scanner 0664 # Samsung SCX-4824 (SCX-4x24 Series) -0x04e8 0x342c root:scanner 0664 +0x04e8 0x342c root:scanner 0664 # Samsung SCX-4828FN (SCX-4x28 Series) -0x04e8 0x342d root:scanner 0664 +0x04e8 0x342d root:scanner 0664 # Samsung SCX-4300 -0x04e8 0x342e root:scanner 0664 +0x04e8 0x342e root:scanner 0664 # Samsung SCX-5835_5935 -0x04e8 0x342f root:scanner 0664 +0x04e8 0x342f root:scanner 0664 # Samsung SCX-5635 -0x04e8 0x3430 root:scanner 0664 +0x04e8 0x3430 root:scanner 0664 # Samsung SCX-4x26 -0x04e8 0x3432 root:scanner 0664 +0x04e8 0x3432 root:scanner 0664 # Samsung SCX-4600 -0x04e8 0x3433 root:scanner 0664 +0x04e8 0x3433 root:scanner 0664 # Samsung SCX-4623 -0x04e8 0x3434 root:scanner 0664 +0x04e8 0x3434 root:scanner 0664 # Samsung MFP-65x -0x04e8 0x3435 root:scanner 0664 +0x04e8 0x3435 root:scanner 0664 # Samsung SCX-6545 -0x04e8 0x3437 root:scanner 0664 +0x04e8 0x3437 root:scanner 0664 # Samsung CLX-8385 -0x04e8 0x3439 root:scanner 0664 +0x04e8 0x3439 root:scanner 0664 # Samsung CLX-6220 -0x04e8 0x343a root:scanner 0664 +0x04e8 0x343a root:scanner 0664 # Samsung CLX-6250 -0x04e8 0x343b root:scanner 0664 +0x04e8 0x343b root:scanner 0664 # Samsung SCX-4825FN (SCX-4x25 Series) -0x04e8 0x343c root:scanner 0664 +0x04e8 0x343c root:scanner 0664 # Samsung CLX-3185 -0x04e8 0x343d root:scanner 0664 +0x04e8 0x343d root:scanner 0664 # Samsung CLX-8540 -0x04e8 0x343f root:scanner 0664 +0x04e8 0x343f root:scanner 0664 # Samsung SCX-4623FW -0x04e8 0x3440 root:scanner 0664 +0x04e8 0x3440 root:scanner 0664 # Samsung SCX-3205W (SCX-3200 Series) -0x04e8 0x3441 root:scanner 0664 +0x04e8 0x3441 root:scanner 0664 # Samsung SCX-6545X -0x04e8 0x3442 root:scanner 0664 +0x04e8 0x3442 root:scanner 0664 # Samsung SCX-6x55X -0x04e8 0x3443 root:scanner 0664 +0x04e8 0x3443 root:scanner 0664 # Samsung CLX-8385X -0x04e8 0x3444 root:scanner 0664 +0x04e8 0x3444 root:scanner 0664 # Samsung SCX-5835_5935X -0x04e8 0x3446 root:scanner 0664 +0x04e8 0x3446 root:scanner 0664 # Samsung SCX-4833FD | Samsung SCX-4835FD -0x04e8 0x344b root:scanner 0664 +0x04e8 0x344b root:scanner 0664 # Samsung SCX-3400 -0x04e8 0x344f root:scanner 0664 +0x04e8 0x344f root:scanner 0664 # Samsung SF-760 -0x04e8 0x3450 root:scanner 0664 +0x04e8 0x3450 root:scanner 0664 # Samsung SCX-4729FD -0x04e8 0x3453 root:scanner 0664 +0x04e8 0x3453 root:scanner 0664 # Samsung CLX-6260 -0x04e8 0x3455 root:scanner 0664 +0x04e8 0x3455 root:scanner 0664 # Samsung CLX-3300 Series -0x04e8 0x3456 root:scanner 0664 +0x04e8 0x3456 root:scanner 0664 # Samsung SCX-470x -0x04e8 0x3457 root:scanner 0664 +0x04e8 0x3457 root:scanner 0664 # Samsung CLX-4190 -0x04e8 0x345a root:scanner 0664 +0x04e8 0x345a root:scanner 0664 # Samsung SCX-4650 4x21S Series -0x04e8 0x345b root:scanner 0664 +0x04e8 0x345b root:scanner 0664 # Samsung M337x 387x 407x Series -0x04e8 0x3460 root:scanner 0664 +0x04e8 0x3460 root:scanner 0664 # Samsung M267x 287x Series -0x04e8 0x3461 root:scanner 0664 +0x04e8 0x3461 root:scanner 0664 # Samsung SCX-681x -0x04e8 0x3466 root:scanner 0664 +0x04e8 0x3466 root:scanner 0664 # Samsung C460 -0x04e8 0x3468 root:scanner 0664 +0x04e8 0x3468 root:scanner 0664 # Pentax DSmobile 600 -0x04f9 0x2038 root:scanner 0664 +0x04f9 0x2038 root:scanner 0664 # Aiptek Aiptek Pencam -0x0553 0x0202 root:scanner 0664 +0x0553 0x0202 root:scanner 0664 # Mustek ScanExpress 1200 CU -0x055f 0x0001 root:scanner 0664 +0x055f 0x0001 root:scanner 0664 # Mustek ScanExpress 600 CU -0x055f 0x0002 root:scanner 0664 +0x055f 0x0002 root:scanner 0664 # Mustek ScanExpress 1200 UB | Trust Compact Scan USB 19200 -0x055f 0x0006 root:scanner 0664 +0x055f 0x0006 root:scanner 0664 # Mustek ScanExpress 1200 CU Plus -0x055f 0x0008 root:scanner 0664 +0x055f 0x0008 root:scanner 0664 # Mustek BearPaw 1200 F -0x055f 0x0010 root:scanner 0664 +0x055f 0x0010 root:scanner 0664 # Mustek ScanExpress A3 USB -0x055f 0x0210 root:scanner 0664 +0x055f 0x0210 root:scanner 0664 # Mustek BearPaw 2400 CS | Mustek BearPaw 2400 TA | Trust 240TH Easy Webscan Gold -0x055f 0x0218 root:scanner 0664 +0x055f 0x0218 root:scanner 0664 # Mustek BearPaw 2400 CS Plus | Mustek BearPaw 2400 TA Plus | Mustek Plug-n-Scan 2400 MT | Mustek Plug-n-Scan 2400 M | Packard Bell Diamond 2450 -0x055f 0x0219 root:scanner 0664 +0x055f 0x0219 root:scanner 0664 # Mustek BearPaw 2448 CS Plus | Mustek BearPaw 2448 TA Plus -0x055f 0x021a root:scanner 0664 +0x055f 0x021a root:scanner 0664 # Mustek BearPaw 1200 CU Plus | Packard Bell Diamond 1200 Plus -0x055f 0x021b root:scanner 0664 +0x055f 0x021b root:scanner 0664 # Mustek BearPaw 1200 CU Plus | Mustek BearPaw 1248 CU | Packard Bell Diamond 1200 Plus | Trust Direct WebScan 19200 -0x055f 0x021c root:scanner 0664 +0x055f 0x021c root:scanner 0664 # Mustek BearPaw 2400 CU Plus -0x055f 0x021d root:scanner 0664 +0x055f 0x021d root:scanner 0664 # Mustek BearPaw 1200 CS | Mustek BearPaw 1200 TA -0x055f 0x021e root:scanner 0664 +0x055f 0x021e root:scanner 0664 # Mustek ScanExpress 1248 UB -0x055f 0x021f root:scanner 0664 +0x055f 0x021f root:scanner 0664 # Mustek BearPaw 2448TA Pro -0x055f 0x0409 root:scanner 0664 +0x055f 0x0409 root:scanner 0664 # Artec/Ultima Ultima 2000 | Artec/Ultima Ultima 2000 e+ | Boeder Sm@rtScan Slim Edition | Fujitsu 1200CUS | Googlegear 2000 | Medion/Lifetec/Tevion/Cytron MD 4394 | Medion/Lifetec/Tevion/Cytron MD/LT 9375 | Medion/Lifetec/Tevion/Cytron MD/LT 9385 | Medion/Lifetec/Tevion/Cytron LT 9452 | Medion/Lifetec/Tevion/Cytron MD 9458 | Mustek BearPaw 1200 CU | Mustek BearPaw 2400 CU | Mustek ScanExpress 1200 UB Plus | Mustek ScanExpress 2400 USB | Mustek ScanMagic 1200 UB Plus | Packard Bell Diamond 1200 | Trust Compact Scan USB 19200 | Trust Flat Scan USB 19200 -0x05d8 0x4002 root:scanner 0664 +0x05d8 0x4002 root:scanner 0664 # Artec/Ultima E+ 48U | Medion/Lifetec/Tevion/Cytron MD9693 | Medion/Lifetec/Tevion/Cytron MD9705 | Medion/Lifetec/Tevion/Cytron MD4394 | Microstar MR 9791 -0x05d8 0x4003 root:scanner 0664 +0x05d8 0x4003 root:scanner 0664 # Artec/Ultima E+ Pro -0x05d8 0x4004 root:scanner 0664 +0x05d8 0x4004 root:scanner 0664 # Memorex MEM 48U -0x05d8 0x4005 root:scanner 0664 +0x05d8 0x4005 root:scanner 0664 # Trust Easy Webscan 19200 -0x05d8 0x4006 root:scanner 0664 +0x05d8 0x4006 root:scanner 0664 # Trust 240H Easy Webscan Gold -0x05d8 0x4007 root:scanner 0664 +0x05d8 0x4007 root:scanner 0664 # UMAX AstraSlim SE -0x05d8 0x4009 root:scanner 0664 +0x05d8 0x4009 root:scanner 0664 # UMAX AstraSlim 1200 SE -0x05d8 0x4010 root:scanner 0664 +0x05d8 0x4010 root:scanner 0664 # Yakumo Scan50 -0x05d8 0x4011 root:scanner 0664 +0x05d8 0x4011 root:scanner 0664 # Microtek ScanMaker X6USB -0x05da 0x0099 root:scanner 0664 +0x05da 0x0099 root:scanner 0664 # Microtek SlimScan C6 -0x05da 0x009a root:scanner 0664 +0x05da 0x009a root:scanner 0664 # Microtek ScanMaker V6USL -0x05da 0x00a3 root:scanner 0664 +0x05da 0x00a3 root:scanner 0664 # Microtek ScanMaker V6UPL -0x05da 0x00b6 root:scanner 0664 +0x05da 0x00b6 root:scanner 0664 # Microtek ScanMaker 4800 -0x05da 0x30cf root:scanner 0664 +0x05da 0x30cf root:scanner 0664 # Microtek ScanMaker 3840 -0x05da 0x30d4 root:scanner 0664 +0x05da 0x30d4 root:scanner 0664 # Microtek ScanMaker 3600 -0x05da 0x40b3 root:scanner 0664 +0x05da 0x40b3 root:scanner 0664 # Microtek ScanMaker 3700 -0x05da 0x40b8 root:scanner 0664 +0x05da 0x40b8 root:scanner 0664 # Microtek ScanMaker 3600 -0x05da 0x40ca root:scanner 0664 +0x05da 0x40ca root:scanner 0664 # Microtek ScanMaker 3700 -0x05da 0x40cb root:scanner 0664 +0x05da 0x40cb root:scanner 0664 # Microtek ScanMaker 3750 -0x05da 0x40dd root:scanner 0664 +0x05da 0x40dd root:scanner 0664 # Microtek ScanMaker 3600 -0x05da 0x40ff root:scanner 0664 +0x05da 0x40ff root:scanner 0664 # Microtek ScanMaker V6USL -0x05da 0x80a3 root:scanner 0664 +0x05da 0x80a3 root:scanner 0664 # iVina 1200U -0x0638 0x0268 root:scanner 0664 +0x0638 0x0268 root:scanner 0664 # Minolta Dimage Scan Dual II -0x0638 0x026a root:scanner 0664 +0x0638 0x026a root:scanner 0664 # Avision AV600U -0x0638 0x0a13 root:scanner 0664 +0x0638 0x0a13 root:scanner 0664 # Minolta-QMS SC-110 -0x0638 0x0a15 root:scanner 0664 +0x0638 0x0a15 root:scanner 0664 # Avision DS610CU Scancopier | Minolta-QMS SC-215 | OKI S700 Scancopier -0x0638 0x0a16 root:scanner 0664 +0x0638 0x0a16 root:scanner 0664 # Avision AV610 | Avision AV600U Plus -0x0638 0x0a18 root:scanner 0664 +0x0638 0x0a18 root:scanner 0664 # Avision AV220 -0x0638 0x0a23 root:scanner 0664 +0x0638 0x0a23 root:scanner 0664 # Avision AV210 -0x0638 0x0a24 root:scanner 0664 +0x0638 0x0a24 root:scanner 0664 # Avision AV210 -0x0638 0x0a25 root:scanner 0664 +0x0638 0x0a25 root:scanner 0664 # Avision AV120 -0x0638 0x0a27 root:scanner 0664 +0x0638 0x0a27 root:scanner 0664 # Avision AV220C2 -0x0638 0x0a2a root:scanner 0664 +0x0638 0x0a2a root:scanner 0664 # Avision AV220D2 -0x0638 0x0a2b root:scanner 0664 +0x0638 0x0a2b root:scanner 0664 # Avision AV220+ -0x0638 0x0a2c root:scanner 0664 +0x0638 0x0a2c root:scanner 0664 # Avision AV220C2-G -0x0638 0x0a2d root:scanner 0664 +0x0638 0x0a2d root:scanner 0664 # Avision AV220C2-B -0x0638 0x0a2e root:scanner 0664 +0x0638 0x0a2e root:scanner 0664 # Avision AV210C2-G -0x0638 0x0a2f root:scanner 0664 +0x0638 0x0a2f root:scanner 0664 # Avision AV122 -0x0638 0x0a33 root:scanner 0664 +0x0638 0x0a33 root:scanner 0664 # Avision AV210C2 -0x0638 0x0a3a root:scanner 0664 +0x0638 0x0a3a root:scanner 0664 # Avision AV121 -0x0638 0x0a3c root:scanner 0664 +0x0638 0x0a3c root:scanner 0664 # Avision AV8300 -0x0638 0x0a40 root:scanner 0664 +0x0638 0x0a40 root:scanner 0664 # Avision AM3000 Series -0x0638 0x0a41 root:scanner 0664 +0x0638 0x0a41 root:scanner 0664 # Avision @V5100 -0x0638 0x0a45 root:scanner 0664 +0x0638 0x0a45 root:scanner 0664 # Avision AV8050U -0x0638 0x0a4d root:scanner 0664 +0x0638 0x0a4d root:scanner 0664 # Avision AV3200SU -0x0638 0x0a4e root:scanner 0664 +0x0638 0x0a4e root:scanner 0664 # Avision AV3730SU -0x0638 0x0a4f root:scanner 0664 +0x0638 0x0a4f root:scanner 0664 # Avision AV610C2 -0x0638 0x0a5e root:scanner 0664 +0x0638 0x0a5e root:scanner 0664 # Avision IT8300 -0x0638 0x0a61 root:scanner 0664 +0x0638 0x0a61 root:scanner 0664 # Avision AV3750SU -0x0638 0x0a65 root:scanner 0664 +0x0638 0x0a65 root:scanner 0664 # Avision AV3850SU -0x0638 0x0a66 root:scanner 0664 +0x0638 0x0a66 root:scanner 0664 # Avision AV8350 -0x0638 0x0a68 root:scanner 0664 +0x0638 0x0a68 root:scanner 0664 # Avision FB6080E -0x0638 0x0a82 root:scanner 0664 +0x0638 0x0a82 root:scanner 0664 # Avision FB2080E -0x0638 0x0a84 root:scanner 0664 +0x0638 0x0a84 root:scanner 0664 # Avision AV122 C2 -0x0638 0x0a93 root:scanner 0664 +0x0638 0x0a93 root:scanner 0664 # Avision AV220-G -0x0638 0x0a94 root:scanner 0664 +0x0638 0x0a94 root:scanner 0664 # Avision @V2500 -0x0638 0x0aa1 root:scanner 0664 +0x0638 0x0aa1 root:scanner 0664 # Avision AV210D2+ -0x0638 0x1a35 root:scanner 0664 +0x0638 0x1a35 root:scanner 0664 # Minolta Elite II -0x0686 0x4004 root:scanner 0664 +0x0686 0x4004 root:scanner 0664 # Minolta Dimage Scan Dual III -0x0686 0x400d root:scanner 0664 +0x0686 0x400d root:scanner 0664 # Minolta Dimage Scan Elite 5400 -0x0686 0x400e root:scanner 0664 +0x0686 0x400e root:scanner 0664 # AGFA SnapScan 1212U -0x06bd 0x0001 root:scanner 0664 +0x06bd 0x0001 root:scanner 0664 # AGFA SnapScan 1236u -0x06bd 0x0002 root:scanner 0664 +0x06bd 0x0002 root:scanner 0664 # Agfa Snapscan Touch -0x06bd 0x0100 root:scanner 0664 +0x06bd 0x0100 root:scanner 0664 # AGFA SnapScan 1212U_2 -0x06bd 0x2061 root:scanner 0664 +0x06bd 0x2061 root:scanner 0664 # AGFA SnapScan e40 -0x06bd 0x208d root:scanner 0664 +0x06bd 0x208d root:scanner 0664 # AGFA SnapScan e50 -0x06bd 0x208f root:scanner 0664 +0x06bd 0x208f root:scanner 0664 # AGFA SnapScan e20 -0x06bd 0x2091 root:scanner 0664 +0x06bd 0x2091 root:scanner 0664 # AGFA SnapScan e10 -0x06bd 0x2093 root:scanner 0664 +0x06bd 0x2093 root:scanner 0664 # AGFA SnapScan e25 -0x06bd 0x2095 root:scanner 0664 +0x06bd 0x2095 root:scanner 0664 # AGFA SnapScan e26 -0x06bd 0x2097 root:scanner 0664 +0x06bd 0x2097 root:scanner 0664 # AGFA SnapScan e52 -0x06bd 0x20fd root:scanner 0664 +0x06bd 0x20fd root:scanner 0664 # AGFA SnapScan e42 -0x06bd 0x20ff root:scanner 0664 +0x06bd 0x20ff root:scanner 0664 # UMAX Astra 4900 -0x06dc 0x0020 root:scanner 0664 +0x06dc 0x0020 root:scanner 0664 # Plustek OpticPro U12 | Plustek OpticPro UT12 | Plustek OpticPro 1212U | RevScan RevScan Orange R48Ti | Genius ColorPage Vivid III USB -0x07b3 0x0001 root:scanner 0664 +0x07b3 0x0001 root:scanner 0664 # Plustek OpticPro U12 -0x07b3 0x0010 root:scanner 0664 +0x07b3 0x0010 root:scanner 0664 # Plustek OpticPro U24 -0x07b3 0x0011 root:scanner 0664 +0x07b3 0x0011 root:scanner 0664 # Plustek OpticPro UT12 -0x07b3 0x0013 root:scanner 0664 +0x07b3 0x0013 root:scanner 0664 # Plustek OpticPro U24 -0x07b3 0x0015 root:scanner 0664 +0x07b3 0x0015 root:scanner 0664 # Plustek OpticPro UT12 | Plustek OpticPro UT16 | Plustek OpticPro UT24 -0x07b3 0x0017 root:scanner 0664 +0x07b3 0x0017 root:scanner 0664 # Plustek OpticPro 1248U | RevScan 19200i -0x07b3 0x0400 root:scanner 0664 +0x07b3 0x0400 root:scanner 0664 # Plustek OpticPro 1248U -0x07b3 0x0401 root:scanner 0664 +0x07b3 0x0401 root:scanner 0664 # Plustek OpticPro U16B -0x07b3 0x0402 root:scanner 0664 +0x07b3 0x0402 root:scanner 0664 # Plustek OpticPro U16B+ | Plustek OpticPro UT16B -0x07b3 0x0403 root:scanner 0664 +0x07b3 0x0403 root:scanner 0664 # Nortek MyScan 1200 | Plustek OpticPro S12 | Plustek OpticPro ST12 -0x07b3 0x040b root:scanner 0664 +0x07b3 0x040b root:scanner 0664 # Plustek OpticPro S24 -0x07b3 0x040e root:scanner 0664 +0x07b3 0x040e root:scanner 0664 # NeatReceipts Scanalizer Professional 2.5 | Plustek OpticSlim M12 -0x07b3 0x0412 root:scanner 0664 +0x07b3 0x0412 root:scanner 0664 # Plustek OpticSlim 1200 -0x07b3 0x0413 root:scanner 0664 +0x07b3 0x0413 root:scanner 0664 # Plustek OpticSlim 2400 -0x07b3 0x0422 root:scanner 0664 +0x07b3 0x0422 root:scanner 0664 # Plustek OpticSlim 2400 plus -0x07b3 0x0454 root:scanner 0664 +0x07b3 0x0454 root:scanner 0664 # Plustek Iriscan Express 2 -0x07b3 0x045f root:scanner 0664 +0x07b3 0x045f root:scanner 0664 # NeatReceipts Mobile Scanner -0x07b3 0x0462 root:scanner 0664 +0x07b3 0x0462 root:scanner 0664 # Plustek OpticBook 3600 -0x07b3 0x0900 root:scanner 0664 +0x07b3 0x0900 root:scanner 0664 # Corex 600c -0x08f0 0x0002 root:scanner 0664 +0x08f0 0x0002 root:scanner 0664 # Corex 800c -0x08f0 0x0005 root:scanner 0664 +0x08f0 0x0005 root:scanner 0664 # Xerox Phaser 6110MFP -0x0924 0x3d5d root:scanner 0664 +0x0924 0x3d5d root:scanner 0664 # Xerox Phaser 3200MFP -0x0924 0x3da4 root:scanner 0664 +0x0924 0x3da4 root:scanner 0664 # Xerox WorkCentre 4118 Series -0x0924 0x420c root:scanner 0664 +0x0924 0x420c root:scanner 0664 # Xerox WorkCentre 3119 Series -0x0924 0x4265 root:scanner 0664 +0x0924 0x4265 root:scanner 0664 # Xerox WorkCentre 3210 -0x0924 0x4293 root:scanner 0664 +0x0924 0x4293 root:scanner 0664 # Xerox WorkCentre 3220 -0x0924 0x4294 root:scanner 0664 +0x0924 0x4294 root:scanner 0664 # Pentax DSmobile 600 -0x0a17 0x3210 root:scanner 0664 +0x0a17 0x3210 root:scanner 0664 # Portable Peripheral Co., Ltd. Q-Scan USB001 (A4 portable scanner) -0x0a53 0x1000 root:scanner 0664 +0x0a53 0x1000 root:scanner 0664 # Portable Peripheral Co., Ltd. Q-Scan USB201 (A6 portable scanner) -0x0a53 0x2000 root:scanner 0664 +0x0a53 0x2000 root:scanner 0664 # Syscan TravelScan 460/464 | Ambir Visigo A4 -0x0a82 0x4600 root:scanner 0664 +0x0a82 0x4600 root:scanner 0664 # Syscan DocketPort 465 -0x0a82 0x4802 root:scanner 0664 +0x0a82 0x4802 root:scanner 0664 # Syscan DocketPort 665 -0x0a82 0x4803 root:scanner 0664 +0x0a82 0x4803 root:scanner 0664 # Syscan DocketPort 685/ Ambir DS685 -0x0a82 0x480c root:scanner 0664 +0x0a82 0x480c root:scanner 0664 # Syscan DocketPort 485 -0x0a82 0x4810 root:scanner 0664 +0x0a82 0x4810 root:scanner 0664 # Syscan TravelScan 662 -0x0a82 0x6620 root:scanner 0664 +0x0a82 0x6620 root:scanner 0664 # Canon CR-55 -0x1083 0x160c root:scanner 0664 +0x1083 0x160c root:scanner 0664 # Canon DR-1210C -0x1083 0x160f root:scanner 0664 +0x1083 0x160f root:scanner 0664 # Canon DR-4010C -0x1083 0x1614 root:scanner 0664 +0x1083 0x1614 root:scanner 0664 # Canon DR-2510C -0x1083 0x1617 root:scanner 0664 +0x1083 0x1617 root:scanner 0664 # Canon DR-X10C -0x1083 0x1618 root:scanner 0664 +0x1083 0x1618 root:scanner 0664 # Canon CR-25 -0x1083 0x161a root:scanner 0664 +0x1083 0x161a root:scanner 0664 # Canon DR-2010C -0x1083 0x161b root:scanner 0664 +0x1083 0x161b root:scanner 0664 # Canon DR-3010C -0x1083 0x161d root:scanner 0664 +0x1083 0x161d root:scanner 0664 # Canon DR-7090C -0x1083 0x1620 root:scanner 0664 +0x1083 0x1620 root:scanner 0664 # Canon DR-9050C -0x1083 0x1622 root:scanner 0664 +0x1083 0x1622 root:scanner 0664 # Canon DR-7550C -0x1083 0x1623 root:scanner 0664 +0x1083 0x1623 root:scanner 0664 # Canon DR-6050C -0x1083 0x1624 root:scanner 0664 +0x1083 0x1624 root:scanner 0664 # Canon DR-6010C -0x1083 0x1626 root:scanner 0664 +0x1083 0x1626 root:scanner 0664 # Canon CR-190i -0x1083 0x162b root:scanner 0664 +0x1083 0x162b root:scanner 0664 # Canon DR-6030C -0x1083 0x1638 root:scanner 0664 +0x1083 0x1638 root:scanner 0664 # Canon CR-135i -0x1083 0x1639 root:scanner 0664 +0x1083 0x1639 root:scanner 0664 # Digital Dream l' espion XS -0x1183 0x0001 root:scanner 0664 +0x1183 0x0001 root:scanner 0664 # KONICA MINOLTA magicolor 1690MF -0x132b 0x2089 root:scanner 0664 +0x132b 0x2089 root:scanner 0664 # UMAX Astra 1220U -0x1606 0x0010 root:scanner 0664 +0x1606 0x0010 root:scanner 0664 # UMAX Astra 1600U | UMAX Astra 2000U -0x1606 0x0030 root:scanner 0664 +0x1606 0x0030 root:scanner 0664 # Umax UMAX 3400 -0x1606 0x0050 root:scanner 0664 +0x1606 0x0050 root:scanner 0664 # Umax UMAX 3400 | Umax UMAX Astranet ia101 | Umax UMAX 3450 -0x1606 0x0060 root:scanner 0664 +0x1606 0x0060 root:scanner 0664 # UMAX Astra 4400 | UMAX Astra 4450 -0x1606 0x0070 root:scanner 0664 +0x1606 0x0070 root:scanner 0664 # UMAX Astra 2100U -0x1606 0x0130 root:scanner 0664 +0x1606 0x0130 root:scanner 0664 # Umax UMAX 5400 -0x1606 0x0160 root:scanner 0664 +0x1606 0x0160 root:scanner 0664 # UMAX Astra 2200 (SU) -0x1606 0x0230 root:scanner 0664 +0x1606 0x0230 root:scanner 0664 # DCT DocketPort 487 -0x1dcc 0x4810 root:scanner 0664 +0x1dcc 0x4810 root:scanner 0664 # Dell A920 -0x413c 0x5105 root:scanner 0664 +0x413c 0x5105 root:scanner 0664 # Dell Dell MFP Laser Printer 1815dn -0x413c 0x5124 root:scanner 0664 +0x413c 0x5124 root:scanner 0664 # Dell 1600n -0x413c 0x5250 root:scanner 0664 +0x413c 0x5250 root:scanner 0664 diff --git a/testsuite/tools/data/html-backends-split.ref b/testsuite/tools/data/html-backends-split.ref index 72fd949..3455e20 100644 --- a/testsuite/tools/data/html-backends-split.ref +++ b/testsuite/tools/data/html-backends-split.ref @@ -5,7 +5,7 @@
    -SANE +SANE

    SANE: Backends (Drivers)


    @@ -15,8 +15,8 @@ Please consult the manpages and the author-supplied webpages for more detailed (and usually important) information concerning each backend.

    If you have new information or corrections, please file a -bug report -with as many details as possible. Also please tell us if your scanner +bug report +with as many details as possible. Also please tell us if your scanner isn't mentioned in this list at all.

    For an explanation of the tables, see the legend. @@ -84,88 +84,88 @@ isn't mentioned in this list at all.

    Scanners

    -

    Backends: -abaton, -agfafocus, -apple, -artec, -artec_eplus48u, -as6e, -avision, -bh, -canon, -canon630u, -canon_dr, -canon_pp, -cardscan, -coolscan, -coolscan2, -coolscan3, -dell1600n_net, -epjitsu, -epson, -epson2, -fujitsu, -genesys, -gt68xx, -hp, -hp3500, -hp3900, -hp4200, -hp5400, -hp5590, -hpljm1005, -hpsj5s, -hs2p, -ibm, -kodak, -kodakaio, -kvs20xx, -kvs40xx, -kvs1025, -leo, -lexmark, -ma1509, -magicolor, -matsushita, -microtek, -microtek2, -mustek, -mustek_pp, -mustek_usb, -mustek_usb2, -nec, -niash, -p5, -pie, -pixma, -plustek, -plustek_pp, -ricoh, -rts8891, -s9036, -sceptre, -sharp, -sm3600, -sm3840, -SnapScan, -sp15c, -st400, -tamarack, -teco1, -teco2, -teco3, -u12, -umax, -umax1220u, -umax_pp, -unsupported, +

    Backends: +abaton, +agfafocus, +apple, +artec, +artec_eplus48u, +as6e, +avision, +bh, +canon, +canon630u, +canon_dr, +canon_pp, +cardscan, +coolscan, +coolscan2, +coolscan3, +dell1600n_net, +epjitsu, +epson, +epson2, +fujitsu, +genesys, +gt68xx, +hp, +hp3500, +hp3900, +hp4200, +hp5400, +hp5590, +hpljm1005, +hpsj5s, +hs2p, +ibm, +kodak, +kodakaio, +kvs20xx, +kvs40xx, +kvs1025, +leo, +lexmark, +ma1509, +magicolor, +matsushita, +microtek, +microtek2, +mustek, +mustek_pp, +mustek_usb, +mustek_usb2, +nec, +niash, +p5, +pie, +pixma, +plustek, +plustek_pp, +ricoh, +rts8891, +s9036, +sceptre, +sharp, +sm3600, +sm3840, +SnapScan, +sp15c, +st400, +tamarack, +teco1, +teco2, +teco3, +u12, +umax, +umax1220u, +umax_pp, +unsupported, xerox_mfp

    Backend: abaton (unmaintained)

    -Manual page: sane-abaton
    +Manual page: sane-abaton

    @@ -197,7 +197,7 @@ Abaton (unmaintained)

    -Manual page: sane-agfafocus
    +Manual page: sane-agfafocus

    @@ -259,7 +259,7 @@ Siemens (unmaintained)

    -Manual page: sane-apple
    +Manual page: sane-apple

    @@ -298,9 +298,9 @@ Siemens (unmaintained)

    -Link(s): +Link(s): http://www4.infi.net/~cpinkham/sane/sane-artec-doc.html
    -Manual page: sane-artec
    +Manual page: sane-artec

    @@ -378,7 +378,7 @@ Siemens (unmaintained)

    -Manual page: sane-artec_eplus48u
    +Manual page: sane-artec_eplus48u

    @@ -492,9 +492,9 @@ Siemens (0.5)

    -Link(s): +Link(s): http://as6edriver.sourceforge.net/
    -Manual page: sane-as6e
    +Manual page: sane-as6e

    @@ -537,9 +537,9 @@ Siemens (Build: 296)

    -Link(s): +Link(s): http://skull.piratehaven.org/~mike/sane/avision.html
    -Manual page: sane-avision
    +Manual page: sane-avision

    @@ -1617,9 +1617,9 @@ Kyocera (1.0-4)

    -Link(s): +Link(s): http://www.martoneconsulting.com/sane-bh.html
    -Manual page: sane-bh
    +Manual page: sane-bh
    Comment: Supports Copiscan II scanners with Remote SCSI Controller (RSC) interface

    @@ -1680,9 +1680,9 @@ Kyocera (1.12)

    -Link(s): +Link(s): http://www.rzg.mpg.de/~mpd/sane/
    -Manual page: sane-canon
    +Manual page: sane-canon

    @@ -1758,9 +1758,9 @@ Kyocera (0.1)

    -Link(s): +Link(s): http://canon-fb630u.sourceforge.net/
    -Manual page: sane-canon630u
    +Manual page: sane-canon630u

    @@ -1792,9 +1792,9 @@ Kyocera (38)

    -Link(s): +Link(s): http://www.thebility.com/canon/
    -Manual page: sane-canon_dr
    +Manual page: sane-canon_dr
    Comment: Backend updated for SANE release 1.0.23, see sane-canon_dr manpage

    @@ -2093,9 +2093,9 @@ Kyocera (0.33)

    -Link(s): +Link(s): http://canon-fb330p.sourceforge.net
    -Manual page: sane-canon_pp
    +Manual page: sane-canon_pp

    @@ -2176,9 +2176,9 @@ Kyocera (2)

    -Link(s): +Link(s): http://www.thebility.com/cardscan/
    -Manual page: sane-cardscan
    +Manual page: sane-cardscan
    Comment: Backend updated for SANE release 1.0.21, see sane-cardscan manpage

    @@ -2211,9 +2211,9 @@ Kyocera (0.4.3)

    -Link(s): +Link(s): http://andreas.rick.free.fr/sane/
    -Manual page: sane-coolscan
    +Manual page: sane-coolscan

    @@ -2259,9 +2259,9 @@ Kyocera (0.1.8)

    -Link(s): +Link(s): http://coolscan2.sourceforge.net/
    -Manual page: sane-coolscan2
    +Manual page: sane-coolscan2

    @@ -2310,14 +2310,14 @@ Kyocera - + - + @@ -2335,7 +2335,7 @@ Kyocera (1.0.0)

    -Manual page: sane-coolscan3
    +Manual page: sane-coolscan3

     
    Coolscan V EDCoolscan V ED USB 0x04b0/0x4001 Minimal  
    Super Coolscan LS-5000 EDSuper Coolscan LS-5000 ED USB 0x04b0/0x4002 Untested
    @@ -2377,14 +2377,14 @@ Kyocera - + - + @@ -2405,7 +2405,7 @@ Kyocera - + @@ -2446,9 +2446,9 @@ Kyocera (20)

    -Link(s): +Link(s): http://www.thebility.com/epjitsu/
    -Manual page: sane-epjitsu
    +Manual page: sane-epjitsu
    Comment: Backend updated for SANE release 1.0.21, see sane-epjitsu manpage

    Rebadged LS 40?
    LS 50 EDLS 50 ED USB 0x04b0/0x4001 Minimal  
    Coolscan V EDCoolscan V ED USB 0x04b0/0x4001 Minimalneeds linux kernel 2.4.19 or later
    Super Coolscan LS-5000 EDSuper Coolscan LS-5000 ED USB 0x04b0/0x4002 Untested
    @@ -2502,9 +2502,9 @@ Kyocera (unmaintained)

    -Link(s): +Link(s): http://www.khk.net/sane
    -Manual page: sane-epson
    +Manual page: sane-epson

    @@ -2984,7 +2984,7 @@ Kyocera (1.0.124)

    -Manual page: sane-epson2
    +Manual page: sane-epson2

    @@ -5396,9 +5396,9 @@ Kyocera (117)

    -Link(s): +Link(s): http://www.thebility.com/fujitsu/
    -Manual page: sane-fujitsu
    +Manual page: sane-fujitsu
    Comment: Backend updated for SANE release 1.0.23, see sane-fujitsu manpage

    @@ -5921,9 +5921,9 @@ Kyocera (1.0-63)

    -Link(s): +Link(s): http://www.meier-geinitz.de/sane/genesys-backend/
    -Manual page: sane-genesys
    +Manual page: sane-genesys
    Comment: Only the USB scanners mentioned below are currently supported.

    @@ -6240,9 +6240,9 @@ Panasonic (1.0-84)

    -Link(s): +Link(s): http://www.meier-geinitz.de/sane/gt68xx-backend/
    -Manual page: sane-gt68xx
    +Manual page: sane-gt68xx
    Comment: Only the USB scanners mentioned below are supported. For other Mustek BearPaws, look at the Plustek and the MA-1509 backend.

    @@ -6772,9 +6772,9 @@ RevScan (1.06)

    -Link(s): +Link(s): http://www.kirchgessner.net/
    -Manual page: sane-hp
    +Manual page: sane-hp

    @@ -6925,9 +6925,9 @@ RevScan (1.1)

    -Link(s): +Link(s): http://projects.troy.rollo.name/rt-scanners/
    -Manual page: sane-hp3500
    +Manual page: sane-hp3500
    Comment: HP3500 series scanners.

    @@ -6967,9 +6967,9 @@ RevScan (0.12)

    -Link(s): +Link(s): http://sourceforge.net/projects/hp3900-series/
    -Manual page: sane-hp3900
    +Manual page: sane-hp3900
    Comment: Still Beta

    @@ -7055,9 +7055,9 @@ RevScan (1.0-2)

    -Link(s): +Link(s): http://hp4200-backend.sourceforge.net
    -Manual page: sane-hp4200
    +Manual page: sane-hp4200

    @@ -7096,9 +7096,9 @@ RevScan (1.0-2)

    -Link(s): +Link(s): http://sourceforge.net/projects/hp5400backend
    -Manual page: sane-hp5400
    +Manual page: sane-hp5400
    Comment: HP5400 and HP5470 scanners. Prototype backend available

    @@ -7138,7 +7138,7 @@ RevScan (1.0.5)

    -Manual page: sane-hp5590
    +Manual page: sane-hp5590

    @@ -7198,7 +7198,7 @@ RevScan (0)

    -Manual page: sane-hpljm1005
    +Manual page: sane-hpljm1005

    @@ -7237,9 +7237,9 @@ RevScan (0.03)

    -Link(s): +Link(s): http://hpsj5s.sourceforge.net/
    -Manual page: sane-hpsj5s
    +Manual page: sane-hpsj5s

    @@ -7264,9 +7264,9 @@ RevScan (1.00)

    -Link(s): +Link(s): http://www.acjlaw.net:8080/~jeremy/Ricoh/
    -Manual page: sane-hs2p
    +Manual page: sane-hs2p
    Comment: This backend has been tested with the IS450DE (Duplex/Endorser). All major functions necessary for scanning are supported. This backend should work with all Ricoh scanners in the IS450 family as well as the IS420 series, but the IS420 has not yet been tested. Features provided by the optional Image Processing Unit (IPU) are not yet integrated into the backend, as my scanner lacks the IPU.

    @@ -7313,9 +7313,9 @@ RevScan (1.0-4)

    -Link(s): +Link(s): http://www.meier-geinitz.de/sane/ibm-backend/
    -Manual page: sane-ibm
    +Manual page: sane-ibm
    Comment: This backend has had only limited testing. It needs more work especially for the Ricoh scanners. Patches are welcome.

    @@ -7364,9 +7364,9 @@ Ricoh (7)

    -Link(s): +Link(s): http://www.thebility.com/kodak/
    -Manual page: sane-kodak
    +Manual page: sane-kodak
    Comment: New backend for SANE release 1.0.21, see sane-kodak manpage

    @@ -7616,9 +7616,9 @@ Ricoh (2.4.6)

    -Link(s): +Link(s): http://sourceforge.net/projects/cupsdriverkodak/
    -Manual page: sane-kodakaio
    +Manual page: sane-kodakaio
    Comment: Backend for Kodak AiO ESP and Hero printers. Also possibly Advent AWL10

    @@ -7821,7 +7821,7 @@ Ricoh (unmaintained)

    -Manual page: sane-kvs20xx
    +Manual page: sane-kvs20xx
    Comment: New backend for SANE release 1.0.22, see sane-kvs20xx manpage

    @@ -7882,7 +7882,7 @@ Ricoh (unmaintained)

    -Manual page: sane-kvs40xx
    +Manual page: sane-kvs40xx
    Comment: New backend for SANE release 1.0.23, see sane-kvs40xx manpage

    @@ -7922,7 +7922,7 @@ Ricoh (unmaintained)

    -Manual page: sane-kvs1025
    +Manual page: sane-kvs1025
    Comment: New backend for SANE release 1.0.21, see sane-kvs1025 manpage

    @@ -7962,9 +7962,9 @@ Ricoh (1.0-10)

    -Link(s): +Link(s): http://www.zago.net/sane/#leo
    -Manual page: sane-leo
    +Manual page: sane-leo

    @@ -8007,9 +8007,9 @@ Genius (1.0-0)

    -Link(s): +Link(s): http://stef.dev.free.fr/sane/lexmark
    -Manual page: sane-lexmark
    +Manual page: sane-lexmark
    Comment: This backend supports lexmark x1100 series scanners.

    @@ -8107,9 +8107,9 @@ Dell (1.0-3)

    -Link(s): +Link(s): http://www.meier-geinitz.de/sane/ma1509-backend/
    -Manual page: sane-ma1509
    +Manual page: sane-ma1509

    @@ -8143,9 +8143,9 @@ Dell (1.0.0)

    -Link(s): +Link(s): http://wiki.kainhofer.com/hardware/magicolor_scan
    -Manual page: sane-magicolor
    +Manual page: sane-magicolor

    @@ -8184,9 +8184,9 @@ Dell (1.0-7)

    -Link(s): +Link(s): http://www.zago.net/sane
    -Manual page: sane-matsushita
    +Manual page: sane-matsushita

    @@ -8281,9 +8281,9 @@ Dell (0.13.1)

    -Link(s): +Link(s): http://www.mir.com/mtek/
    -Manual page: sane-microtek
    +Manual page: sane-microtek

    @@ -8461,9 +8461,9 @@ Dell (unmaintained)

    -Link(s): +Link(s): http://karstenfestag.gmxhome.de/linux.html
    -Manual page: sane-microtek2
    +Manual page: sane-microtek2

    @@ -8589,7 +8589,7 @@ Dell - + @@ -8711,9 +8711,9 @@ Dell (1.0-138)

    -Link(s): +Link(s): http://www.meier-geinitz.de/sane/mustek-backend/
    -Manual page: sane-mustek
    +Manual page: sane-mustek
    Comment: Most Mustek SCSI scanners are supported by this backend. For USB scanners, look at the mustek_usb backend.

    only flatbed mode ?
    ScanMaker 9800XLScanMaker 9800XL IEEE-1394   Minimal
    @@ -8960,9 +8960,9 @@ Dell (13)

    -Link(s): +Link(s): http://penguin-breeder.org/sane/mustek_pp/
    -Manual page: sane-mustek_pp
    +Manual page: sane-mustek_pp
    Comment: Supports CIS and CCD type parallel port scanners from Mustek.

    @@ -9158,9 +9158,9 @@ Micromaxx (1.0-18)

    -Link(s): +Link(s): http://www.meier-geinitz.de/sane/mustek_usb-backend/
    -Manual page: sane-mustek_usb
    +Manual page: sane-mustek_usb
    Comment: Only the USB scanners mentioned below are supported. For BearPaws, look at the Plustek, MA-1509, and gt68xx backends.

    @@ -9216,9 +9216,9 @@ Micromaxx (1.0-10)

    -Link(s): +Link(s): http://www.meier-geinitz.de/sane/mustek_usb2-backend/
    -Manual page: sane-mustek_usb2
    +Manual page: sane-mustek_usb2
    Comment: Only BearPaw 2448TA Pro is supported at the moment

    @@ -9244,9 +9244,9 @@ Micromaxx (0.12)

    -Link(s): +Link(s): http://www5a.biglobe.ne.jp/~saetaka/
    -Manual page: sane-nec
    +Manual page: sane-nec

    @@ -9271,9 +9271,9 @@ Micromaxx (0.3)

    -Link(s): +Link(s): http://sourceforge.net/projects/hp3300backend
    -Manual page: sane-niash
    +Manual page: sane-niash

    @@ -9337,9 +9337,9 @@ Micromaxx (1)

    -Link(s): +Link(s): http://www.sane-project.org/
    -Manual page: sane-p5
    +Manual page: sane-p5
    Comment: New backend for SANE release 1.0.21, see sane-p5 manpage

    @@ -9365,9 +9365,9 @@ Micromaxx (1.0)

    -Link(s): +Link(s): http://www.munton.demon.co.uk/sane
    -Manual page: sane-pie
    +Manual page: sane-pie

    @@ -9508,9 +9508,9 @@ Adlib (0.17.3)

    -Link(s): +Link(s): http://home.arcor.de/wittawat/pixma/, http://mp610.blogspot.com/
    -Manual page: sane-pixma
    +Manual page: sane-pixma

    @@ -10494,9 +10494,9 @@ Adlib (0.52)

    -Link(s): +Link(s): http://www.gjaeger.de/scanner/plustek/
    -Manual page: sane-plustek
    +Manual page: sane-plustek

    @@ -10816,9 +10816,9 @@ Ambir (0.43)

    -Link(s): +Link(s): http://www.gjaeger.de/scanner/plustek_pp/
    -Manual page: sane-plustek_pp
    +Manual page: sane-plustek_pp

    @@ -11026,7 +11026,7 @@ BrightScan (unmaintained)

    -Manual page: sane-ricoh
    +Manual page: sane-ricoh

    @@ -11058,9 +11058,9 @@ BrightScan (1.0-0)

    -Link(s): +Link(s): http://stef.dev.free.fr/sane/rts8891/index.html
    -Manual page: sane-rts8891
    +Manual page: sane-rts8891
    Comment: This backend supports Realtek RTS8891 ASIC bases scanners.

    @@ -11109,7 +11109,7 @@ BrightScan (unmaintained)

    -Manual page: sane-s9036
    +Manual page: sane-s9036

    @@ -11134,9 +11134,9 @@ BrightScan (1.0-10)

    -Link(s): +Link(s): http://www.zago.net/sane/
    -Manual page: sane-sceptre
    +Manual page: sane-sceptre

    @@ -11170,9 +11170,9 @@ BrightScan (0.32)

    -Link(s): +Link(s): http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html
    -Manual page: sane-sharp
    +Manual page: sane-sharp

    @@ -11232,9 +11232,9 @@ BrightScan (0.1)

    -Link(s): +Link(s): http://sm3600.sourceforge.net/
    -Manual page: sane-sm3600
    +Manual page: sane-sm3600

    @@ -11294,9 +11294,9 @@ BrightScan (1.1)

    -Link(s): +Link(s): http://www.ziplabel.com/sm3840/
    -Manual page: sane-sm3840
    +Manual page: sane-sm3840
    Comment: This reverse-engineered backend supports the USB ScanMaker 3840 model

    @@ -11329,9 +11329,9 @@ BrightScan (1.4)

    -Link(s): +Link(s): http://snapscan.sourceforge.net/
    -Manual page: sane-snapscan
    +Manual page: sane-snapscan
    Comment: Supported bit depths: 24 bit (color), 48 bit (color, Epson) 8 bit (gray)

    @@ -11757,7 +11757,7 @@ BrightScan (unmaintained)

    -Manual page: sane-sp15c
    +Manual page: sane-sp15c

    @@ -11789,9 +11789,9 @@ BrightScan (1.6)

    -Link(s): +Link(s): http://www.informatik.uni-oldenburg.de/~ingo/sane/
    -Manual page: sane-st400
    +Manual page: sane-st400

    @@ -11823,7 +11823,7 @@ BrightScan (unmaintained)

    -Manual page: sane-tamarack
    +Manual page: sane-tamarack

    @@ -11862,9 +11862,9 @@ Tamarack (1.0-10)

    -Link(s): +Link(s): http://www.zago.net/sane/#teco
    -Manual page: sane-teco1
    +Manual page: sane-teco1

    @@ -12019,9 +12019,9 @@ Dextra (1.0-9)

    -Link(s): +Link(s): http://gkall.hobby.nl/teco2.html
    -Manual page: sane-teco2
    +Manual page: sane-teco2

    @@ -12120,9 +12120,9 @@ Dextra (1.0-1)

    -Link(s): +Link(s): http://www.zago.net/sane/#teco3
    -Manual page: sane-teco3
    +Manual page: sane-teco3

    @@ -12188,9 +12188,9 @@ Trust (0.02)

    -Link(s): +Link(s): http://www.gjaeger.de/scanner/u12/
    -Manual page: sane-u12
    +Manual page: sane-u12

    @@ -12254,9 +12254,9 @@ RevScan (1.0-41)

    -Link(s): +Link(s): http://www.rauch-domain.de/sane-umax/index.html
    -Manual page: sane-umax
    +Manual page: sane-umax

    @@ -12747,9 +12747,9 @@ Genius (unmaintained)

    -Link(s): +Link(s): http://sourceforge.net/projects/umax1220u-sane
    -Manual page: sane-umax1220u
    +Manual page: sane-umax1220u

    @@ -12795,9 +12795,9 @@ Genius (1)

    -Link(s): +Link(s): http://umax1220p.sourceforge.net/
    -Manual page: sane-umax_pp
    +Manual page: sane-umax_pp

    @@ -12868,8 +12868,8 @@ Genius (2010-06-09)

    -Link(s): -/contrib.html
    +Link(s): +contrib.html
    Comment: The devices mentioned here are not supported by any SANE backend. However, there may be links to information about them or stand-alone programs.

    @@ -12884,14 +12884,14 @@ Genius + - + @@ -12905,28 +12905,28 @@ Agfa - + - + - + - + @@ -12935,7 +12935,7 @@ Agfa + @@ -12949,7 +12949,7 @@ Agfa - + @@ -12958,7 +12958,7 @@ Agfa + @@ -12981,14 +12981,14 @@ Avigramm - + - + @@ -12997,56 +12997,56 @@ Avigramm + - + - + - + - + - + - + - + @@ -13060,21 +13060,21 @@ Avigramm - + - + - + @@ -13083,7 +13083,7 @@ Avigramm + @@ -13092,7 +13092,7 @@ Boeder + @@ -13106,14 +13106,14 @@ Boeder - + - + @@ -13122,7 +13122,7 @@ Boeder + @@ -13145,119 +13145,119 @@ Boeder + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -13271,7 +13271,7 @@ Boeder - + @@ -13292,21 +13292,21 @@ Boeder - + - + - + @@ -13327,70 +13327,70 @@ Boeder - + - + - + - + - + - + - + - + - + - + @@ -13406,7 +13406,7 @@ Boeder + @@ -13424,7 +13424,7 @@ Chinon + @@ -13433,14 +13433,14 @@ Compeye + - + @@ -13456,14 +13456,14 @@ Compeye - + - + @@ -13486,7 +13486,7 @@ Compeye - + @@ -13502,7 +13502,7 @@ Compeye + @@ -13536,42 +13536,42 @@ Enhans + - + - + - + - + - + @@ -13580,7 +13580,7 @@ Enhans + @@ -13596,7 +13596,7 @@ Guillemot + @@ -13605,7 +13605,7 @@ Hercules + @@ -13619,35 +13619,35 @@ Hercules - + - + - + - + - + @@ -13661,7 +13661,7 @@ Hercules - + @@ -13675,35 +13675,35 @@ Hercules - + - + - + - + - + @@ -13721,7 +13721,7 @@ Hercules + @@ -13730,21 +13730,21 @@ Hercules + - + - + @@ -13762,84 +13762,84 @@ Hercules + - + - + - + - + - + - + - + - + - + - + - + @@ -13853,14 +13853,14 @@ Hercules - + - + @@ -13876,7 +13876,7 @@ Logitech - + @@ -13885,42 +13885,42 @@ Logitech + - + - + - + - + - + @@ -13934,21 +13934,21 @@ Logitech - + - + - + @@ -13957,28 +13957,28 @@ Logitech + - + - + - + @@ -13994,7 +13994,7 @@ Logitech - + @@ -14015,7 +14015,7 @@ Logitech - + @@ -14029,91 +14029,91 @@ Logitech - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -14127,56 +14127,56 @@ Logitech - + - + - + - + - + - + - + - + @@ -14190,35 +14190,35 @@ Logitech - + - + - + - + - + @@ -14227,35 +14227,35 @@ Logitech + - + - + - + - + @@ -14292,21 +14292,21 @@ Logitech - + - + - + @@ -14369,7 +14369,7 @@ Logitech - + @@ -14378,7 +14378,7 @@ Logitech + @@ -14387,7 +14387,7 @@ Logitech + @@ -14396,7 +14396,7 @@ Logitech + @@ -14405,14 +14405,14 @@ Logitech + - + @@ -14567,7 +14567,7 @@ Panasonic + @@ -14576,14 +14576,14 @@ Pentax + - + @@ -14597,14 +14597,14 @@ Pentax - + - + @@ -14613,7 +14613,7 @@ Pentax + @@ -14641,21 +14641,21 @@ Pentax - + - + - + @@ -14669,98 +14669,98 @@ Pentax - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -14781,7 +14781,7 @@ Pentax - + @@ -14846,7 +14846,7 @@ Pentax - + @@ -14862,7 +14862,7 @@ Pentax + @@ -14883,7 +14883,7 @@ Pentax - + @@ -14904,7 +14904,7 @@ Pentax - + @@ -14981,7 +14981,7 @@ Pentax - + @@ -14990,7 +14990,7 @@ Pentax + @@ -15022,21 +15022,21 @@ Pentax + - + - + @@ -15045,21 +15045,21 @@ Reflecta + - + - + @@ -15075,7 +15075,7 @@ Relisys + @@ -15084,7 +15084,7 @@ Samsung + @@ -15150,14 +15150,14 @@ Spot Technology + - + @@ -15180,7 +15180,7 @@ Tamarack - + @@ -15189,7 +15189,7 @@ Tamarack + @@ -15205,7 +15205,7 @@ Tamarack + @@ -15214,7 +15214,7 @@ Tamarack + @@ -15223,21 +15223,21 @@ Tiny + - + - + @@ -15246,49 +15246,49 @@ Tiny + - + - + - + - + - + - + @@ -15302,7 +15302,7 @@ Tiny - + @@ -15316,21 +15316,21 @@ Tiny - + - + - + @@ -15344,7 +15344,7 @@ Tiny - + @@ -15360,7 +15360,7 @@ Tiny + @@ -15383,35 +15383,35 @@ Vantas - + - + - + - + - + @@ -15425,98 +15425,98 @@ Vantas - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -15530,98 +15530,98 @@ Vantas - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -15632,7 +15632,7 @@ Vantas (1.0-13)

    -Manual page: sane-xerox_mfp
    +Manual page: sane-xerox_mfp

    Agfa -DuoScan f40DuoScan f40 USB IEEE-1394 0x06bd/0x02bf Unsupported Unsupported. See link for details.
    DuoScan T2000XLDuoScan T2000XL SCSI   UnsupportedUnsupported. Same as Microtek Artixscan 2500f
    SnapScan 310PSnapScan 310P Parport   Unsupported Unsupported, see link for details.
    SnapScan EZSnapScan EZ Parport   Unsupported Unsupported, see link for details.
    SnapScan 1200PSnapScan 1200P Parport   Unsupported Unsupported, see link for details.
    SnapScan 1212PSnapScan 1212P Parport   Unsupported
    Artec/Ultima -1236 USB1236 USB USB 0x05d8/0x4001 UnsupportedUnsupported. Chips found inside: AT015, AD9816JS. Maybe similar to SCSI version or as6e?
    Ultima 2000 (0x4001)Ultima 2000 (0x4001) USB 0x05d8/0x4001 Unsupported
    Avigramm -MinidocMinidoc USB Parport 0x05cb/0x1483 UnsupportedNot supported. No chipset information available. Same as UMAX Astra 6700.
    iVina 1600iVina 1600 USB 0x0638/0x0a10 Unsupported GL646 based, to be added to genesys backend. Same as UMAX Astra 4500.
    iVina FB1800iVina FB1800 USB 0x0638/0x0a20 Unsupported
    Benq (Acer) -310P310P Parport   Unsupported Unsupported, see link for details.
    320P320P Parport   Unsupported Unsupported, see link for details.
    340P340P Parport   Unsupported Unsupported, see link for details.
    610P610P Parport   Unsupported Unsupported, see link for details.
    610PT610PT Parport   Unsupported Unsupported, see link for details.
    620P620P Parport   Unsupported Unsupported, see link for details.
    620PT620PT Parport   Unsupported Unsupported, see link for details.
    640P640P Parport   UnsupportedUnsupported.
    55505550 USB 0x04a5/0x2211 Unsupported Unsupported, see link for details.
    55605560 USB 0x04a5/0x2311 Unsupported  
    7400UT7400UT USB 0x04a5/0x2202 Unsupported
    Boeder -Sm@rtScan OfficeSm@rtScan Office Parport USB 0x05cb/0x1483 Unsupported
    Brother -MFC 2500MFC 2500 USB 0x04f9/0x000a UnsupportedThe parport 200x400dpi grayscale version of this scanner is unsupported. Dmitri Katchalov did some investigations on this scanner. If you want to write a backend, contact him (see link).
    MFC 7300cMFC 7300c Parport USB 0x04f9/0x0106 Unsupported  
    MFC 9600MFC 9600 USB 0x04f9/0x0101 Unsupported
    C-Channel -MyPen ProMyPen Pro USB   Unsupported
    Canon -CanoScan 3000CanoScan 3000 USB 0x04a9/0x2215 Unsupported GL660+GL646 based.
    CanoScan 3000exCanoScan 3000ex USB 0x04a9/0x2215 Unsupported GL660+GL646 based.
    CanoScan 3000FCanoScan 3000F USB 0x04a9/0x2215 Unsupported GL660+GL646 based, to be added to genesys backend
    CanoScan 4200FCanoScan 4200F USB 0x04a9/0x221b Unsupported Probably unsupported. See link.
    CanoScan 4400FCanoScan 4400F USB 0x04a9/0x2228 Unsupported GL843 based, to be added to genesys backend
    CanoScan 5000FCanoScan 5000F USB 0x04a9/0x2212 Unsupported Unsupported. See link for details.
    CanoScan 5200FCanoScan 5200F USB 0x04a9/0x2217 Unsupported Probably unsupported. See link for details.
    CanoScan 8000FCanoScan 8000F USB 0x04a9/0x220f Unsupported Not supported. See link for more information. With transparency adapter.
    CanoScan 8400FCanoScan 8400F USB 0x04a9/0x221e Unsupported GL841 based, to be added to genesys backend
    CanoScan 8600FCanoScan 8600F USB 0x04a9/0x2229 Unsupported GL841 based, to be added to genesys backend
    CanoScan 9900FCanoScan 9900F USB 0x04a9/0x2210 Unsupported Probably unsupported, similar to 8000F. 3200x6400 dpi USB2. With transparency adapter.
    CanoScan 9950FCanoScan 9950F USB 0x04a9/0x2219 Unsupported Probably unsupported.
    CanoScan D646UCanoScan D646U USB 0x04a9/0x220b Unsupported Probably not supported. See link for more information and test program.
    CanoScan D646U exCanoScan D646U ex USB 0x04a9/0x220b Unsupported Probably not supported. See D646.
    CanoScan D1230UCanoScan D1230U USB 0x04a9/0x2209 Unsupported Probably not supported.
    CanoScan D1250U2CanoScan D1250U2 USB 0x04a9/0x220c Unsupported Not supported. However, someone started working on this scanner and some information is available (see link).
    CanoScan D2400UFCanoScan D2400UF USB 0x04a9/0x220a UnsupportedProbably not supported. No details known.
    CanoScan FB620UCanoScan FB620U USB 0x04a9/0x2202 UnsupportedPhilips chip. Backend started, see link
    CanoScan LiDE 80CanoScan LiDE 80 USB 0x04a9/0x2214 Unsupported GL841 based, to be added to genesys backend
    CanoScan LiDE 90CanoScan LiDE 90 USB 0x04a9/0x1900 Unsupported Unsupported. See link for details.
    CanoScan LiDE 500FCanoScan LiDE 500F USB 0x04a9/0x221f UnsupportedPhilips chip. Backend started, see link
    FS4000FS4000 USB SCSI 0x04a9/0x3042 Unsupported Not supported. See link for more details.
    IS 12IS 12 USB   Unsupported Probably not supported. Scanner cardridge for Canon inkjet printers.
    IS 22IS 22 Parport   Unsupported Probably not supported. Scanner cardridge for Canon inkjet printers.
    IS 32IS 32 USB 0x04a9/0x105d Unsupported Probably not supported. Scanner cardridge for Canon inkjet printers.
    IS 52IS 52 USB   Unsupported Probably not supported. Scanner cardridge for Canon inkjet printers.
    ImageRunner iR1018ImageRunner iR1018 USB 0x04a9/0x269d Unsupported Probably not supported. See link for details.
    ImageRunner iR1022ImageRunner iR1022 USB 0x04a9/0x269d Unsupported Probably not supported. See link for details.
    ImageRunner iR1023ImageRunner iR1023 USB 0x04a9/0x269d Unsupported Probably not supported. See link for details.
    PIXMA MP110PIXMA MP110 USB 0x04a9/0x1700 Unsupported Probably not supported. See link for details.
    PIXMA MP130PIXMA MP130 USB 0x04a9/0x1701 Unsupported
    Chinon -DS-3000DS-3000 Parport Serial Port   Unsupported
    Compeye -Simplex 1236CSimplex 1236C Parport USB 0x05cb/0x1483 Unsupported
    Corex -Cardscan 500Cardscan 500 USB 0x08f0/0x0001 Unsupported Probably not supported. Businesscard reader.
    Cardscan 700 CCardscan 700 C USB 0x08f0/0x0004 UnsupportedProbably rebadged Lexmark X5150. May work with sane-lexmark? See bug #312130
    A960A960 USB 0x413c/0x5107 Unsupported Probably not supported. See link for details.
    922922 USB 0x413c/0x5109 UnsupportedProbably unsupported. No details known.
    Stylus DX4450Stylus DX4450 USB 0x04b8/0x083f Unsupported
    EDT (Electronic Document Technology) -BizCardReader 900CBizCardReader 900C USB 0x0a53/0x5001 Unsupported
    Genius -ColorPage CSColorPage CS SCSI   Unsupported Probably unsupported, see link for details.
    ColorPage-Slim 1200 USB2ColorPage-Slim 1200 USB2 USB 0x0458/0x2020 Unsupported GL841 based, to be added to genesys backend.
    ColorPage HR6X SlimColorPage HR6X Slim USB 0x0458/0x2019 Unsupported GL646 based, to be added to genesys backend
    ColorPage HR7XColorPage HR7X USB 0x0458/0x2018 Unsupported GL646 based, to be added to genesys backend
    ColorPage HR7XEColorPage HR7XE USB 0x06dc/0x0012 Unsupported Unsuported. See link for details.
    ColorPage HR8ColorPage HR8 USB 0x0458/0x201c Unsupported
    Guillemot -SCAN@HOME 48 USBSCAN@HOME 48 USB USB 0x080d/0x0102 Unsupported
    Hercules -SCAN@HOME 48 USBSCAN@HOME 48 USB USB 0x080d/0x0102 Unsupported
    Hewlett-Packard -Photo Scanner 1000Photo Scanner 1000 USB 0x03f0/0x1001 UnsupportedProbably not supported by SANE. No details known. 10x15 cm. Maybe similar to Photo Scanner 1000?
    Photosmart S20 (C5101A)Photosmart S20 (C5101A) USB 0x03f0/0x0102 Unsupported Not supported yet by SANE. See link for details.
    Photosmart S20xi (C7150A)Photosmart S20xi (C7150A) USB 0x03f0/0x0102 Unsupported Not supported yet by SANE. See link for details.
    Photosmart C5100 seriesPhotosmart C5100 series USB 0x03f0/0x5811 Unsupported Not supported yet by SANE. See link for details.
    ScanJet 2400cScanJet 2400c USB 0x03f0/0x0a01 Unsupported GL646 based, to be added to genesys backend
    Photosmart C3180Photosmart C3180 USB 0x03f0/0x5611 UnsupportedWhile an external binary-only backend exists, it works only on Linux i386. Therefore the scanner is unsupported on other platforms.
    ScanJet 4600ScanJet 4600 USB 0x03f0/0x3005 UnsupportedNot supported. See ScanJet 4600 entry.
    ScanJet 4850CScanJet 4850C USB 0x03f0/0x1b05 Unsupported GL841, maybe can be added to genesys backend
    ScanJet 4890CScanJet 4890C USB 0x03f0/0x1b05 Unsupported GL843, maybe can be added to genesys backend
    ScanJet 5530C PhotosmartScanJet 5530C Photosmart USB 0x03f0/0x1605 Unsupported Maybe GL841_HP, but not confirmed, maybe can be added to genesys backend
    ScanJet 8390ScanJet 8390 USB 0x03f0/0x3805 Unsupported Probably not supported. See link for details.
    ScanJet G4000ScanJet G4000 USB 0x03f0/0x4505 Unsupported
    IOMagic -MobileScan USBMobileScan USB USB Parport 0x05cb/0x1483 Unsupported
    Iris -IriScanIriScan USB 0x0a53/0x1000 Unsupported Unsupported. LM9832/3. See link for details.
    IRISPen Translator ExecutiveIRISPen Translator Executive USB 0x0f43/0x015a Unsupported Unsupported. See link for details.
    IRISCard Pro (IBCR II)IRISCard Pro (IBCR II) USB 0x0a38/0x0301 Unsupported
    Lexmark -P6250P6250 USB 0x043d/0x0097 Unsupported Unsupported. See link for details.
    Photo 3150Photo 3150 USB 0x043d/0x007d Unsupported Unsupported. See link for details.
    X74X74 USB 0x043d/0x0060 Unsupported Unsupported. See link for details.
    X75X75 USB 0x043d/0x0060 Unsupported Unsupported. See link for details.
    X75 PrinTrioX75 PrinTrio USB 0x043d/0x0060 Unsupported Unsupported. See link for details.
    X83X83 USB 0x043d/0x003d Unsupported Unsupported. GL640.
    X2330X2330 USB 0x043d/0x00bb Unsupported Unsupported. See link for details.
    X3450X3450 USB 0x043d/0x00f6 Unsupported Unsupported. See link for details.
    X5130X5130 USB 0x043d/0x0065 Unsupported Unsupported.
    X5150X5150 USB 0x043d/0x0065 Unsupported Probably unsupported. See link for details.
    X5250X5250 USB 0x043d/0x0093 Unsupported Unsupported.
    X6170X6170 USB 0x043d/0x0072 UnsupportedUnsupported. See bug #310889 for details.
    X7350X7350 USB 0x043d/0x00b8 Unsupported Unsupported. See link for details.
    X8350X8350 USB 0x043d/0x00b9 UnsupportedMost probably unsupported.
    PageScan USBPageScan USB USB 0x046d/0x040f Unsupported
    Medion/Lifetec/Tevion/Cytron -MD 6190MD 6190 USB 0x0461/0x0392 Unsupported Probably unsupported. There seem to exist two different scanners with that name. See link for details.
    MD 6190MD 6190 USB 0x0461/0x037b Unsupported Probably unsupported. There seem to exist two different scanners with that name. See link for details.
    MD 40420MD 40420 USB 0x05da/0x3008 Unsupported Probably unsupported. See link for details.
    MD 41260MD 41260 USB 0x0461/0x037b Unsupported Probably unsupported. See link for details.
    MD 41985MD 41985 USB 0x0461/0x037b Unsupported Probably unsupported. See link for details.
    MD 42666MD 42666 USB 0x05da/0x3008 UnsupportedFingerprint sensor. See link for details.
    MD 90009MD 90009 USB 0x05da/0x30e5 Unsupported Probably unsupported. See link for details.
    MD 90070MD 90070 USB 0x05da/0x3022 Unsupported Unsupported. See link for details.
    MD 90090MD 90090 USB 0x05da/0x3022 Unsupported
    Memorex -6136u6136u USB 0x0461/0x0346 Unsupported Probably unsupported.
    6142u6142u USB 0x0461/0x0347 Unsupported Probably unsupported. Same as Visioneer Onetouch 4400. See link for details.
    MaxxScan 6122MaxxScan 6122 USB Parport 0x05cb/0x1483 Unsupported Unsupported. See link for details.
    SCF 9612PSCF 9612P Parport   UnsupportedUnsupported. Same as Agfa DuoScan T2000XL?
    ArtixScanDI 2020ArtixScanDI 2020 USB 0x05da/0x202e UnsupportedUnsupported. Uses ALI M5611B.
    FilmScan 35FilmScan 35 USB 0x05e3/0x0120 UnsupportedProbably unsupported. Seems to be similar to the Microtek 330 CX and is detected by the microtek2 backend. Scanning doesn't seem to work however.
    Scanmaker 1850SScanmaker 1850S SCSI   Unsupported Unsupported. See link for details.
    ScanMaker 3630ScanMaker 3630 USB 0x0461/0x0347 Unsupported Unsupported. Doesn't seem to be compatible to 3600 series, see link.
    ScanMaker 3800ScanMaker 3800 USB 0x05da/0x30ce Unsupported Unsupported. See link for more details.
    ScanMaker 3830ScanMaker 3830 USB 0x05da/0x30ce Unsupported Unsupported. See link for more details.
    ScanMaker 3860ScanMaker 3860 USB 0x05da/0x3023 Unsupported Unsupported. See link for more details. Appears to be similar to ScanMaker 3880.
    ScanMaker 3880ScanMaker 3880 USB 0x05da/0x3021 Unsupported Unsupported. SQ113 chip. See link for more details.
    ScanMaker 4600ScanMaker 4600 USB 0x05da/0x40c7 Unsupported Unsupported. See link for more details.
    ScanMaker 4700ScanMaker 4700 USB 0x05da/0x20b4 Unsupported Unsupported. See link for more details.
    ScanMaker 4850ScanMaker 4850 USB 0x05da/0x30d9 Unsupported Probably unsupported. See link for details.
    ScanMaker 4850 IIScanMaker 4850 II USB 0x05da/0x3008 Unsupported Probably unsupported. See link for details.
    ScanMaker 4900ScanMaker 4900 USB 0x05da/0x30b9 Unsupported Unsupported. See link for more details.
    ScanMaker 5ScanMaker 5 SCSI   Unsupported Probably unsupported. See link for more details.
    ScanMaker 5600ScanMaker 5600 USB 0x05da/0x20a7 UnsupportedUnsupported. Uses ALI M5615 like the ScanMaker 4700.
    ScanMaker 5800ScanMaker 5800 USB 0x05da/0x3008 Unsupported Unsupported. See link for details.
    ScanMaker 5800ScanMaker 5800 USB 0x05da/0x30d8 Unsupported Unsupported. See link for details.
    ScanMaker 5900ScanMaker 5900 USB 0x05da/0x30d8 Unsupported Unsupported. See link for more details.
    ScanMaker 5950ScanMaker 5950 USB 0x05da/0x30d8 Unsupported Unsupported. See link for more details.
    ScanMaker 6000ScanMaker 6000 USB 0x05da/0x30e5 Unsupported Unsupported. See link for more details.
    ScanMaker 6100ScanMaker 6100 USB 0x05da/0x30e5 Unsupported Unsupported. See link for more details.
    ScanMaker 6700ScanMaker 6700 USB IEEE-1394 0x05da/0x20c9 Unsupported Unsupported. See link.
    ScanMaker 8700ScanMaker 8700 USB IEEE-1394 0x05da/0x20b1 UnsupportedProbably unsupported. SCSI seems to work with microtek2 backend.
    ScanMaker 9800XLScanMaker 9800XL USB SCSI 0x05da/0x20de Unsupported Partly unsupported. IEEE-1394 works with microtek2 backend. See link.
    ScanMaker i320ScanMaker i320 USB 0x05da/0x30e6 Unsupported Unsupported. See link.
    ScanMaker s400ScanMaker s400 USB 0x05da/0x201c Unsupported Unsupported. See link.
    ScanMaker S400ScanMaker S400 USB 0x05da/0x300b Unsupported Unsupported. See link.
    ScanPort 3000ScanPort 3000 USB 0x04a7/0x0224 Unsupported
    Konica Minolta -Dual Scan IIIDual Scan III USB 0x0686/0x400d Unsupported Unsupported. May work with vuescan. See link for details.
    Dual Scan IVDual Scan IV USB 0x132b/0x000a Unsupported Unsupported. Works with vuescan. See link for details.
    DiMAGE Scan Elite 5400DiMAGE Scan Elite 5400 USB IEEE-1394 0x0686/0x400e Unsupported Probably unsupported. May work with vuescan. See link for details.
    DiMAGE Scan Elite 5400 2DiMAGE Scan Elite 5400 2 USB 0x132b/0x0012 Unsupported Probably unsupported. See link for details.
    DiMAGE Scan Multi ProDiMAGE Scan Multi Pro IEEE-1394   UnsupportedNot supported. May be supported by mustek_usb2 backend later. See link for some information.
    BearPaw 2448 CU ProBearPaw 2448 CU Pro USB 0x055f/0x0408 Unsupported Not supported. May be supported by mustek_usb2 backend later. See link for some information.
    BearPaw 4800 TA ProBearPaw 4800 TA Pro USB 0x055f/0x1000 Unsupported Not supported. See link for some information.
    BearPaw 4800 TA Pro IIBearPaw 4800 TA Pro II USB 0x055f/0x040a UnsupportedProbably unsupported. USB business card scanner. Maybe works as USB storage device?
    ScanMagic 9636PScanMagic 9636P Parport   Unsupported
    NEC -PetiscanPetiscan USB 0x0475/0x0100 Unsupported
    Nikon -LS-9000 EDLS-9000 ED IEEE-1394   Unsupported
    Olivetti -Job-Jet M400Job-Jet M400 USB 0x0b3c/0xa880 Unsupported
    Olympus -ES-10PES-10P Parport   Unsupported  
    ES-10SES-10S SCSI   Unsupported
    Pentax -DSmobile USBDSmobile USB USB 0x0a82/0x2000 Unsupported
    PIE -Primefilm 1800uPrimefilm 1800u USB 0x05e3/0x0120 Unsupported Not supported. See link for details.
    Primefilm 2700Primefilm 2700 USB   UnsupportedProbably not supported.
    Powerslide 3600Powerslide 3600 USB IEEE-1394 0x05e3/0x0142 Unsupported Probably unsupported. Film scanner that can scan directly from the magazine.
    PF3650 Pro3 Film ScannerPF3650 Pro3 Film Scanner USB IEEE-1394 0x05e3/0x0143 Unsupported
    Plustek -OpticFilm 7200OpticFilm 7200 USB 0x07b3/0x0807 UnsupportedUses RealTek chipset (RTL8801D)
    OpticPro S12OpticPro S12 USB 0x07b3/0x0600 Unsupported Product id 0x0600 is unsupported but may be supported by the genesys backend in future. Product id 0x040b is supported by the gt68xx backend.
    OpticPro ST12OpticPro ST12 USB 0x07b3/0x0600 Unsupported Product id 0x0600 is unsupported but may be supported by the genesys backend in future. Product id 0x040b is supported by the gt68xx backend.
    OpticPro ST16OpticPro ST16 USB 0x07b3/0x0600 UnsupportedProbably LM983x based.
    OpticPro S24OpticPro S24 USB 0x07b3/0x0601 Unsupported Product id 0x0601 is unsupported but may be supported by the genesys backend in future /GL646). Product id 0x040e is supported by the gt68xx backend.
    OpticPro ST24OpticPro ST24 USB 0x07b3/0x0601 Unsupported GL646 based, to be added to genesys backend
    OpticPro S28OpticPro S28 USB 0x07b3/0x0801 Unsupported GL841 based, to be added to genesys backend
    OpticPro ST28OpticPro ST28 USB 0x07b3/0x0801 Unsupported GL841 based, to be added to genesys backend
    OpticPro ST28OpticPro ST28 USB 0x07b3/0x0802 Unsupported GL841 based, to be added to genesys backend
    Umax AstraScan 4750Umax AstraScan 4750 USB 0x07b3/0x0802 Unsupported GL841 based, to be added to genesys backend, rebadged Plustek ST28
    OpticPro ST48OpticPro ST48 USB 0x07b3/0x0800 Unsupported GL841 based, to be added to genesys backend
    OpticPro ST64OpticPro ST64 USB 0x07b3/0x0c00 Unsupported GL843 based, maybe to be added to genesys backend
    OpticPro ST64+OpticPro ST64+ USB 0x07b3/0x0c03 Unsupported GL843 based. See link for more details.
    PL 806PL 806 USB 0x07b3/0x0c0c Unsupported Unsupported. See link for more details.
    SmartOffice PL 812SmartOffice PL 812 USB 0x07b3/0x0c0d Unsupported Unsupported. See link for more details.
    OpticSlim 500OpticSlim 500 USB 0x07b3/0x0458 Unsupported Unsupported. See link for more details.
    OpticSlim 2420OpticSlim 2420 USB 0x07b3/0x0806 Unsupported GL841 based, to be added to genesys backend
    OpticSlim 2420+OpticSlim 2420+ USB 0x07b3/0x0914 UnsupportedBusiness card reader. No further information available.
    ScanCopy 115ScanCopy 115 USB 0x07b3/0x081c UnsupportedProbably not supported. No details known.
    DocuPen R700DocuPen R700 USB 0x10c4/0xea60 Unsupported
    Primax -Colorado 600UColorado 600U USB 0x0461/0x0341 UnsupportedProbably unsupported. No details known.
    Primascan Colorado 2600uPrimascan Colorado 2600u USB 0x0461/0x0347 UnsupportedNot supported. However, a stand-alone program is available.
    Colorado USB 9600Colorado USB 9600 USB 0x0461/0x0340 UnsupportedMaybe GL646. Maybe similar to Medion MD 6228?
    Onetouch 8920Onetouch 8920 USB 0x0461/0x0371 Unsupported
    Prolink -Winscan Pro 2448UWinscan Pro 2448U USB 0x06dc/0x0014 Unsupported
    Reflecta -DigitDia 3600DigitDia 3600 USB IEEE-1394 0x05e3/0x0142 Unsupported Film scanner that can scan directly from the magazine.
    iScan 1800iScan 1800 USB 0x05e3/0x0120 Unsupported Probably unsupported. See link for details.
    ProScan 4000ProScan 4000 USB IEEE-1394 0x05e3/0x0143 Unsupported
    Relisys -Eclipse 1200UEclipse 1200U USB 0x0475/0x0103 Unsupported Probably unsupported. See link for details.
    Scorpio Ultra 3Scorpio Ultra 3 USB 0x0475/0x0210 Unsupported Probably unsupported. See link for details.
    EpisodeEpisode USB 0x0475/0x0103 Unsupported
    Samsung -SCX-4725FNSCX-4725FN USB 0x04e8/0x341f Unsupported
    Scanshell -800N800N USB 0x0a82/0x6605 Unsupported
    Syscan -TravelScan FS-531TravelScan FS-531 USB 0x0a82/0x0530 Unsupported Not supported. May work with the Plustek backend in future. See link for details.
    TravelScan ProTravelScan Pro USB 0x0a82/0x2000 UnsupportedUnsupported at the moment. See link for a project for that scanner.
    Artiscan 2400FSArtiscan 2400FS USB 0x05e3/0x0100 Unsupported
    TCE -MK600UMK600U USB 0x0461/0x0346 Unsupported
    Teco -VM6509FVM6509F USB 0x080d/0x0102 Unsupported
    Tiny -FU661EFU661E USB 0x0461/0x0347 Unsupported
    Trust -CombiScan 19200CombiScan 19200 Parport USB 0x05cb/0x1483 Unsupported Unsupported. See link for details.
    EasyScan 19200EasyScan 19200 Parport   Unsupported  
    SCSI Scan 19200 -Excellence Series-SCSI Scan 19200 -Excellence Series- SCSI   Unsupported
    UMAX -Astra 2500Astra 2500 USB 0x0461/0x0374 Unsupported Probably not supported. See link for details.
    Astra 2850Astra 2850 USB 0x07b3/0x0601 Unsupported Probably not supported. Same IDs as Plustek OpticPro ST24. See link for details.
    Astra 3000Astra 3000 USB 0x0461/0x038a Unsupported Probably not supported. See link for details.
    Astra 3600Astra 3600 USB 0x0461/0x038a Unsupported Probably not supported. See link for details.
    Astra 4000Astra 4000 USB 0x1606/0x1030 Unsupported Not supported. See link for details.
    Astra 4100Astra 4100 USB 0x0461/0x038c Unsupported Not supported, to be added to genesys backend.
    Astra 4500Astra 4500 USB 0x0638/0x0a10 UnsupportedProbably not supported, no details known.
    Astra 4700Astra 4700 USB 0x0638/0x0a20 UnsupportedNot supported. No chipset information available. Same as Avision iVina FB2400.
    AstraSlimAstraSlim USB 0x080d/0x0104 Unsupported Probably not supported currently. See link for more details.
    AstraSlim 1200AstraSlim 1200 USB 0x080d/0x0110 Unsupported See link for more details.
    AstraSlim 6000AstraSlim 6000 USB 0x080d/0x0104 UnsupportedProbably not supported. No details known..
    Powerlook 180Powerlook 180 USB   Unsupported
    Vantas -30003000 USB 0x04a7/0x0224 UnsupportedNot supported. Id is from Primax? Yet another scanner with the same name?
    94209420 USB 0x0461/0x03a8 Unsupported Unsupported. See link for details.
    9450 USB9450 USB USB 0x04a7/0x0421 Unsupported Unsupported. See link for details.
    Onetouch 4400Onetouch 4400 USB 0x0461/0x0347 Unsupported Not supported. E5 chipset? See link for more details.
    OneTouch 4800 USBOneTouch 4800 USB USB 0x04a7/0x0224 Unsupported Unsupported. Seems to use Realtek RTS8801B. Same as Microtek Scanport 3000. See link for details.
    OneTouch 5300 USBOneTouch 5300 USB USB 0x04a7/0x0226 UnsupportedNot supported. Yet another scanner with this name?
    OneTouch 5800 USBOneTouch 5800 USB USB 0x04a7/0x0226 Unsupported Unsupported. 48 bit scanner, doesn't work with viceo backend. RTS8801C.
    OneTouch 6600OneTouch 6600 USB 0x04a7/0x022a Unsupported Unsupported. See link for details.
    Onetouch 7100Onetouch 7100 USB 0x04a7/0x0229 Unsupported GL646 based, to be added to genesys backend
    Onetouch 7700Onetouch 7700 USB 0x04a7/0x0380 Unsupported LM9832/3 based, to be added to plustek backend
    OneTouch 8100OneTouch 8100 USB 0x04a7/0x0321 Unsupported Unsupported. See link for details.
    Onetouch 8700Onetouch 8700 USB 0x04a7/0x0371 Unsupported Not supported. See link for details.
    Onetouch 8900Onetouch 8900 USB 0x04a7/0x0371 Unsupported Not supported. Same as 8920 but without TA?
    Onetouch 8920Onetouch 8920 USB 0x04a7/0x0371 Unsupported Not supported. Same as 8700 and 8900 but includes a TA. Uses a Primax ID. Chipset is RTS8801C. See link for output of /proc/bus/usb/devices.
    Onetouch 9000Onetouch 9000 USB 0x04a7/0x022c Unsupported Not supported. See link for details.
    Onetouch 9020Onetouch 9020 USB 0x04a7/0x022c Unsupported Not supported. See link for details.
    Onetouch 9320Onetouch 9320 USB 0x04a7/0x0362 Unsupported Probably not supported. See link for details.
    Onetouch Pro 8800Onetouch Pro 8800 USB 0x04a7/0x0410 Unsupported Probably not supported. See link for details.
    Onetouch Pro 8820Onetouch Pro 8820 USB 0x04a7/0x0410 Unsupported Probably not supported. See link for details.
    PaperPort 3100bPaperPort 3100b Parport   UnsupportedMost probably not supported. More details would be appreciated.
    PaperPort OneTouchPaperPort OneTouch Parport   Unsupported Most probably not supported. See link for details.
    Strobe Pro USBStrobe Pro USB USB 0x04a7/0x0102 Unsupported Not supported. See link for details.
    4800 One Touch4800 One Touch USB 0x04a7/0x03a0 Unsupported Unsupported. See link for details. Different id compared to One Touch 4800?
    DocuImage 620SDocuImage 620S SCSI   Unsupported Not supported. See link for more details.
    DocuMate 510DocuMate 510 USB 0x04a7/0x0446 Unsupported Not supported. See link for more details.
    DocuMate 510DocuMate 510 USB 0x04a7/0x047c Unsupported Not supported. See link for more details. Yet another USB id.
    One Touch 4800One Touch 4800 USB 0x04a7/0x0224 Unsupported Unsupported. See link for details. Different id compared to 4800 One Touch?
    WorkCentre 470cxWorkCentre 470cx Parport   Unsupported Not supported. See link for more details.
    WorkCentre M15iWorkCentre M15i USB 0x0924/0xffef Unsupported Not supported. See link for more details.
    WorkCentre XK35cWorkCentre XK35c USB Parport 0x043d/0x0020 Unsupported Not supported. See link for more details.
    WorkCentre XK50cxWorkCentre XK50cx USB 0x04e8/0x3903 Unsupported Not supported. See link for more details.
    WorkCentre Pro 412WorkCentre Pro 412 USB Parport 0x043d/0x4303 Unsupported Not supported. See link for more details.
    WorkCentre PE16WorkCentre PE16 USB Parport 0x0924/0x4220 Unsupported Not supported. See link for more details.
    WorkCentre PE120iWorkCentre PE120i USB 0x0924/0x4237 Unsupported
    @@ -16120,18 +16120,18 @@ Vantas

    Still Cameras

    -

    Backends: -dc25, -dc210, -dc240, +

    Backends: +dc25, +dc210, +dc240, dmc

    Backend: dc25 (1.2)

    -Link(s): +Link(s): mailto:peter@fales-lorenz.net
    -Manual page: sane-dc25
    +Manual page: sane-dc25

    @@ -16163,9 +16163,9 @@ Vantas (0.0)

    -Link(s): +Link(s): mailto:peter@fales-lorenz.net
    -Manual page: sane-dc210
    +Manual page: sane-dc210

    @@ -16190,9 +16190,9 @@ Vantas (0.0)

    -Link(s): +Link(s): mailto:peter@fales-lorenz.net
    -Manual page: sane-dc240
    +Manual page: sane-dc240

    @@ -16217,7 +16217,7 @@ Vantas (unmaintained)

    -Manual page: sane-dmc
    +Manual page: sane-dmc

    @@ -16239,15 +16239,15 @@ Vantas

    Video Cameras

    -

    Backends: -qcam, -stv680, +

    Backends: +qcam, +stv680, unsupported

    Backend: qcam (unmaintained)

    -Manual page: sane-qcam
    +Manual page: sane-qcam

    @@ -16279,9 +16279,9 @@ Connectix (1.0-1)

    -Link(s): +Link(s): http://gkall.hobby.nl/stv680-aiptek.html
    -Manual page: sane-stv680
    +Manual page: sane-stv680
    Comment: This vidcam backend is for the stv0680 chipset, See the website for more info.

    @@ -16334,8 +16334,8 @@ Connectix (2010-06-09)

    -Link(s): -/contrib.html
    +Link(s): +contrib.html
    Comment: The devices mentioned here are not supported by any SANE backend. However, there may be links to information about them or stand-alone programs.

    @@ -16350,7 +16350,7 @@ Connectix + @@ -16359,7 +16359,7 @@ Biolux + @@ -16367,19 +16367,19 @@ Grandtek Scopecam
    Biolux -654 (micrOcular)654 (micrOcular) USB 0x0923/0x010f Unsupported
    Grandtek Scopecam -8x30 Binocular & Digital Camera8x30 Binocular & Digital Camera USB 0x0797/0x801c Unsupported

    APIs

    -

    Backends: -gphoto2, -pint, -pnm, -test, +

    Backends: +gphoto2, +pint, +pnm, +test, v4l

    Backend: gphoto2 (0.0)

    -Link(s): +Link(s): mailto:peter@fales-lorenz.net
    -Manual page: sane-gphoto2
    +Manual page: sane-gphoto2
    Description: Multiple cameras supported by the gphoto2 libraries
    Comment: The long-term plan is to support all the cameras supported by the gphoto2 libraries (currently over 140 models). However, at this stage, only a handful of cameras are definitely known to work with SANE. Other cameras will probably work if the native file format is EXIF or JPEG. Testers welcome!

    @@ -16387,7 +16387,7 @@ Grandtek Scopecam (unmaintained)

    -Manual page: sane-pint
    +Manual page: sane-pint
    Description: Scanners with the machine-independent PINT interface
    Comment: Haven't been tested for a long time. Handle with care.

    @@ -16395,9 +16395,9 @@ Grandtek Scopecam (1.0.8)

    -Link(s): +Link(s): mailto:henning@meier-geinitz.de
    -Manual page: sane-pnm
    +Manual page: sane-pnm
    Description: Reads PNM files
    Comment: Used for debugging frontends. Obsolete, use test backend instead.

    @@ -16405,9 +16405,9 @@ Grandtek Scopecam (1.0-28)

    -Link(s): +Link(s): http://www.meier-geinitz.de/sane/test-backend/
    -Manual page: sane-test
    +Manual page: sane-test
    Description: Frontend-tester
    Comment: Backend for testing frontends. Also serves as example for SANE backend options.

    @@ -16415,32 +16415,32 @@ Grandtek Scopecam (1.0-3)

    -Link(s): +Link(s): mailto:henning@meier-geinitz.de
    -Manual page: sane-v4l
    +Manual page: sane-v4l
    Description: Interface to Video For Linux API
    Comment: Supports video cameras and other devices accessed by the v4l kernel API, e.g. bttv devices. Quite a lot of known bugs.

    Meta Backends

    -

    Backends: -dll, +

    Backends: +dll, net

    Backend: dll (1.0.13)

    -Link(s): +Link(s): mailto:henning@meier-geinitz.de
    -Manual page: sane-dll
    +Manual page: sane-dll
    Description: Dynamic loading of shared-library backends.

    Backend: net (1.0.14)

    -Link(s): +Link(s): http://www.penguin-breeder.org/?page=sane-net
    -Manual page: sane-net
    +Manual page: sane-net
    Description: Network access to saned servers
    Comment: Can be used to access any scanner supported by SANE over the net. Supports IPv4 and IPv6.

    @@ -16451,8 +16451,8 @@ Grandtek Scopecam Version of backend/driver; newer versions may be available from their home sites.
    NEW! means brand-new to the current release of SANE.
    - UNMAINTAINED means that nobody maintains that backend. Expect no - new features or newly supported devices. You are welcome to take over + UNMAINTAINED means that nobody maintains that backend. Expect no + new features or newly supported devices. You are welcome to take over maintainership.
    Link(s):
    @@ -16472,27 +16472,27 @@ Grandtek Scopecam
    USB id:
    The USB vendor and product ids as printed by sane-find-scanner -q (only applicable for USB devices).
    Status:
    -
    Indicates how many of the features the device provides +
    Indicates how many of the features the device provides are supported by SANE.
    • unsupported means the device is not supported at least by this backend. It may be supported by other backends, however.
    • untested means the device may be supported but couldn't be tested. Be very careful and report success/failure.
    • minimal means that the - device is detected and scans at least in one mode. But the quality + device is detected and scans at least in one mode. But the quality is bad or important features won't work. -
    • basic means it works at +
    • basic means it works at least in the most important modes but quality is not perfect. -
    • good means the device is usable +
    • good means the device is usable for day-to-day work. Some rather exotic features may be missing. -
    • complete means the backends +
    • complete means the backends supports everything the device can do.
    Description:
    The scope of application of the backend.

    -SANE homepage +SANE homepage
    -Contact
    diff --git a/testsuite/tools/data/html-mfgs.ref b/testsuite/tools/data/html-mfgs.ref index 5e53ee3..f82b30c 100644 --- a/testsuite/tools/data/html-mfgs.ref +++ b/testsuite/tools/data/html-mfgs.ref @@ -5,7 +5,7 @@
    -SANE +SANE

    SANE: Supported Devices


    @@ -15,8 +15,8 @@ Please consult the manpages and the author-supplied webpages for more detailed (and usually important) information concerning each backend.

    If you have new information or corrections, please file a -bug report -with as many details as possible. Also please tell us if your scanner +bug report +with as many details as possible. Also please tell us if your scanner isn't mentioned in this list at all.

    For an explanation of the tables, see the legend. @@ -84,125 +84,125 @@ isn't mentioned in this list at all.

    Scanners

    -

    Manufacturers: -Abaton, -Acer Peripherals, -Across Technologies, -Actown, -Adlib, -Advent, -AGFA, -Ambir, -Apple, -Aries, -Artec/Ultima, -Avigramm, -Avision, -Bell and Howell, -Bell+Howell, -BenQ, -Benq (Acer), -BlackWidow, -Boeder, -BrightScan, -Brother, -C-Channel, -Canon, -Chinon, -Compaq, -Compeye, -Corex, -Cybercom, -DCT, -Dell, -Devcom, -Dextra, -Dexxa, -E-Lux, -EDGE, -EDT (Electronic Document Technology), -Enhans, -Epson, -Escom, -Escort, -Fujitsu, -Gallery, -Genius, -Googlegear, -Guillemot, -Guillemot / Hercules, -Hercules, -Hewlett-Packard, -IBM, -IOMagic, -Iris, -iVina, -Kodak, -Komodo, -KONICA MINOLTA, -Kyocera, -LEO, -Lexmark, -Linotype Hell, -Logitech, -Medion/Lifetec/Tevion/Cytron, -Memorex, -Micromaxx, -Microstar, -Microtek, -Minolta, -Minolta-QMS, -Mitsubishi, -Mustek, -NeatReceipts, -NEC, -Network, -Nikon, -Nortek, -OKI, -Olivetti, -Olympus, -Optoelectronics, -Optrox, -Packard Bell, -Panasonic, -Pentax, -PIE, -PIOTECH, -PLANon, -Plustek, -Portable Peripheral Co., Ltd., -Primax, -Prolink, -Quato, -Reflecta, -Relisys, -RevScan, -Ricoh, -Samsung, -Scanport, -Scanshell, -Sceptre, -Sharp, -Sicos, -Siemens, -SmartDisk, -Spot Technology, -Syscan, -Tamarack, -Targa, -TCE, -Teco, -Tiny, -TriGem, -Trust, -UMAX, -Vantas, -Visioneer, -Viviscan, -Vobis, -Vuego, -Xerox, +

    Manufacturers: +Abaton, +Acer Peripherals, +Across Technologies, +Actown, +Adlib, +Advent, +AGFA, +Ambir, +Apple, +Aries, +Artec/Ultima, +Avigramm, +Avision, +Bell and Howell, +Bell+Howell, +BenQ, +Benq (Acer), +BlackWidow, +Boeder, +BrightScan, +Brother, +C-Channel, +Canon, +Chinon, +Compaq, +Compeye, +Corex, +Cybercom, +DCT, +Dell, +Devcom, +Dextra, +Dexxa, +E-Lux, +EDGE, +EDT (Electronic Document Technology), +Enhans, +Epson, +Escom, +Escort, +Fujitsu, +Gallery, +Genius, +Googlegear, +Guillemot, +Guillemot / Hercules, +Hercules, +Hewlett-Packard, +IBM, +IOMagic, +Iris, +iVina, +Kodak, +Komodo, +KONICA MINOLTA, +Kyocera, +LEO, +Lexmark, +Linotype Hell, +Logitech, +Medion/Lifetec/Tevion/Cytron, +Memorex, +Micromaxx, +Microstar, +Microtek, +Minolta, +Minolta-QMS, +Mitsubishi, +Mustek, +NeatReceipts, +NEC, +Network, +Nikon, +Nortek, +OKI, +Olivetti, +Olympus, +Optoelectronics, +Optrox, +Packard Bell, +Panasonic, +Pentax, +PIE, +PIOTECH, +PLANon, +Plustek, +Portable Peripheral Co., Ltd., +Primax, +Prolink, +Quato, +Reflecta, +Relisys, +RevScan, +Ricoh, +Samsung, +Scanport, +Scanshell, +Sceptre, +Sharp, +Sicos, +Siemens, +SmartDisk, +Spot Technology, +Syscan, +Tamarack, +Targa, +TCE, +Teco, +Tiny, +TriGem, +Trust, +UMAX, +Vantas, +Visioneer, +Viviscan, +Vobis, +Vuego, +Xerox, Yakumo

    Manufacturer: Abaton

    @@ -225,7 +225,7 @@ isn't mentioned in this list at all.

    abaton
    (unmaintained) -sane-abaton +sane-abaton Scan 300/S SCSI @@ -235,7 +235,7 @@ abaton
    (unmaintained) abaton
    (unmaintained) -sane-abaton +sane-abaton

    Manufacturer: Acer Peripherals

    @@ -264,7 +264,7 @@ abaton
    (unmaintained) leo
    (1.0-10) -sane-leo +sane-leo

    Manufacturer: Actown

    @@ -289,7 +289,7 @@ abaton
    (unmaintained) teco1
    (1.0-10) -sane-teco1 +sane-teco1

    Manufacturer: Adlib

    @@ -314,7 +314,7 @@ abaton
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie JetScan636PRO SCSI @@ -325,12 +325,12 @@ abaton
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie

    Manufacturer: Advent

    -Link(s): +Link(s): http://www.adventcomputers.co.uk

    @@ -352,12 +352,12 @@ abaton
    (unmaintained) kodakaio
    (2.4.6) - +
    sane-kodakaiosane-kodakaio

    Manufacturer: AGFA

    -Link(s): +Link(s): http://www.agfa.com/, http://www.agfa.com

    @@ -379,7 +379,7 @@ abaton
    (unmaintained) SnapScan
    (1.4) - + @@ -390,7 +390,7 @@ abaton
    (unmaintained) microtek
    (0.13.1) - + @@ -401,26 +401,26 @@ abaton
    (unmaintained) microtek
    (0.13.1) - + - + - + @@ -431,7 +431,7 @@ abaton
    (unmaintained) @@ -444,7 +444,7 @@ abaton
    (unmaintained) - + @@ -454,7 +454,7 @@ agfafocus
    (unmaintained) - + @@ -464,7 +464,7 @@ agfafocus
    (unmaintained) - + @@ -474,7 +474,7 @@ agfafocus
    (unmaintained) - + @@ -484,7 +484,7 @@ agfafocus
    (unmaintained) - + @@ -495,7 +495,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -506,7 +506,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -517,15 +517,15 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + - + @@ -539,26 +539,26 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + - + - + @@ -572,7 +572,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -583,7 +583,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -594,7 +594,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -605,7 +605,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -616,7 +616,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -627,7 +627,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -638,7 +638,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -649,7 +649,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -660,7 +660,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -671,7 +671,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -682,7 +682,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -693,7 +693,7 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + @@ -704,15 +704,15 @@ agfafocus
    (unmaintained) SnapScan
    (1.4) - + - + @@ -726,7 +726,7 @@ agfafocus
    (unmaintained) niash
    (0.3) - + @@ -737,7 +737,7 @@ agfafocus
    (unmaintained) microtek
    (0.13.1) - + @@ -748,7 +748,7 @@ agfafocus
    (unmaintained) microtek
    (0.13.1) - + @@ -759,7 +759,7 @@ agfafocus
    (unmaintained) microtek
    (0.13.1) - + @@ -770,7 +770,7 @@ agfafocus
    (unmaintained) microtek
    (0.13.1) - +
    sane-snapscansane-snapscan
    Arcus II SCSI sane-microteksane-microtek
    DuoScan SCSI sane-microteksane-microtek
    DuoScan f40
    DuoScan f40 USB IEEE-1394 0x06bd/0x02bf Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    DuoScan T2000XL
    DuoScan T2000XL SCSI   Unsupported Unsupported. Same as Microtek ArtixScan 2020? -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Unsupported. Same as Microtek Artixscan 2500f -unsupported +unsupported
    (2010-06-09)
    ? agfafocus
    (unmaintained)
    sane-agfafocussane-agfafocus
    Focus Color Plus SCSI agfafocus
    (unmaintained)
    sane-agfafocussane-agfafocus
    Focus GS Scanner SCSI agfafocus
    (unmaintained)
    sane-agfafocussane-agfafocus
    Focus II SCSI agfafocus
    (unmaintained)
    sane-agfafocussane-agfafocus
    Focus Lineart Scanner SCSI agfafocus
    (unmaintained)
    sane-agfafocussane-agfafocus
    SnapScan SCSI sane-snapscansane-snapscan
    SnapScan 300 SCSI sane-snapscansane-snapscan
    SnapScan 310 SCSI sane-snapscansane-snapscan
    SnapScan 310P
    SnapScan 310P Parport   Unsupported Unsupported, see link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-snapscansane-snapscan
    SnapScan 1200P
    SnapScan 1200P Parport   Unsupported Unsupported, see link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    SnapScan 1212P
    SnapScan 1212P Parport   Unsupported Unsupported, see link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-snapscansane-snapscan
    SnapScan 1212U_2 USB sane-snapscansane-snapscan
    SnapScan 1236s SCSI sane-snapscansane-snapscan
    SnapScan 1236u USB sane-snapscansane-snapscan
    SnapScan e10 USB sane-snapscansane-snapscan
    SnapScan e20 USB sane-snapscansane-snapscan
    SnapScan e25 USB sane-snapscansane-snapscan
    SnapScan e26 USB sane-snapscansane-snapscan
    SnapScan e40 USB sane-snapscansane-snapscan
    SnapScan e42 USB sane-snapscansane-snapscan
    SnapScan e50 USB sane-snapscansane-snapscan
    SnapScan e52 USB sane-snapscansane-snapscan
    SnapScan e60 USB sane-snapscansane-snapscan
    SnapScan EZ
    SnapScan EZ Parport   Unsupported Unsupported, see link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-niashsane-niash
    StudioScan SCSI sane-microteksane-microtek
    StudioScan II SCSI sane-microteksane-microtek
    StudioScan IIsi SCSI sane-microteksane-microtek
    Studiostar SCSI sane-microteksane-microtek

    Manufacturer: Ambir

    @@ -795,12 +795,12 @@ agfafocus
    (unmaintained) plustek
    (0.52) -sane-plustek +sane-plustek

    Manufacturer: Apple

    -Link(s): +Link(s): http://developer.apple.com/, http://www.apple.com/

    @@ -821,7 +821,7 @@ agfafocus
    (unmaintained) - + @@ -831,7 +831,7 @@ apple
    (unmaintained) - + @@ -842,7 +842,7 @@ apple
    (unmaintained) canon
    (1.12) - + @@ -852,7 +852,7 @@ apple
    (unmaintained) - +
    apple
    (unmaintained)
    sane-applesane-apple
    Color OneScanner SCSI apple
    (unmaintained)
    sane-applesane-apple
    Color OneScanner 600/27 SCSI sane-canonsane-canon
    OneScanner SCSI apple
    (unmaintained)
    sane-applesane-apple

    Manufacturer: Aries

    @@ -877,12 +877,12 @@ apple
    (unmaintained) plustek_pp
    (0.43) -sane-plustek_pp +sane-plustek_pp

    Manufacturer: Artec/Ultima

    -Link(s): +Link(s): http://www.artecusa.com/

    @@ -895,13 +895,13 @@ apple
    (unmaintained) - + @@ -915,7 +915,7 @@ apple
    (unmaintained) artec
    (unmaintained) - + @@ -926,7 +926,7 @@ apple
    (unmaintained) artec
    (unmaintained) - + @@ -934,7 +934,7 @@ apple
    (unmaintained) @@ -948,7 +948,7 @@ apple
    (unmaintained) artec
    (unmaintained) - + @@ -959,7 +959,7 @@ apple
    (unmaintained) as6e
    (0.5) - + @@ -970,7 +970,7 @@ apple
    (unmaintained) artec
    (unmaintained) - + @@ -981,7 +981,7 @@ apple
    (unmaintained) artec
    (unmaintained) - + @@ -992,7 +992,7 @@ apple
    (unmaintained) artec
    (unmaintained) - + @@ -1002,7 +1002,7 @@ apple
    (unmaintained) - + @@ -1012,7 +1012,7 @@ artec_eplus48u
    (unmaintained) - + @@ -1023,15 +1023,15 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + - + @@ -1045,7 +1045,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - +
    Backend Manpage
    1236 USB
    1236 USB USB 0x05d8/0x4001 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-artecsane-artec
    A6000C PLUS SCSI sane-artecsane-artec
    AM12e+ ParportUnsupported Unsupported. Chips found inside: AT015, AD9816JS. Maybe similar to SCSI version or as6e? -unsupported +unsupported
    (2010-06-09)
    ? sane-artecsane-artec
    AS6E Parport sane-as6esane-as6e
    AT3 SCSI sane-artecsane-artec
    AT6 SCSI sane-artecsane-artec
    AT12 SCSI sane-artecsane-artec
    E+ 48U USB artec_eplus48u
    (unmaintained)
    sane-artec_eplus48usane-artec_eplus48u
    E+ Pro USB artec_eplus48u
    (unmaintained)
    sane-artec_eplus48usane-artec_eplus48u
    Ultima 2000 USB sane-gt68xxsane-gt68xx
    Ultima 2000 (0x4001)
    Ultima 2000 (0x4001) USB 0x05d8/0x4001 Unsupported Same name, but different ids: This scanner is not supported. The scanner with product id 0x4002 is supported by the gt68xx backend, however. -unsupported +unsupported
    (2010-06-09)
    ? sane-gt68xxsane-gt68xx

    Manufacturer: Avigramm

    @@ -1061,13 +1061,13 @@ artec_eplus48u
    (unmaintained) Backend Manpage -Minidoc +Minidoc USB Parport 0x05cb/0x1483 Unsupported Not supported. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -1075,7 +1075,7 @@ artec_eplus48u
    (unmaintained)

    Manufacturer: Avision

    -Link(s): +Link(s): http://www.avision.com, http://www.avision.com/

    @@ -1097,7 +1097,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1108,7 +1108,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1119,7 +1119,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1130,7 +1130,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1141,7 +1141,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1152,7 +1152,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1163,7 +1163,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1174,7 +1174,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1185,7 +1185,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1196,7 +1196,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1207,7 +1207,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1218,7 +1218,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1229,7 +1229,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1240,7 +1240,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1251,7 +1251,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1262,7 +1262,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1273,7 +1273,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1284,7 +1284,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1295,7 +1295,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1306,7 +1306,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1317,7 +1317,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1328,7 +1328,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1339,7 +1339,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1350,7 +1350,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1361,7 +1361,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1372,7 +1372,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1383,7 +1383,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1394,7 +1394,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1405,7 +1405,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1416,7 +1416,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1427,7 +1427,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1438,7 +1438,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1449,7 +1449,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1460,7 +1460,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1471,7 +1471,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1482,7 +1482,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1493,7 +1493,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1504,7 +1504,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1515,7 +1515,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1526,7 +1526,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1537,7 +1537,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1548,7 +1548,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1559,7 +1559,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1570,7 +1570,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1581,7 +1581,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1592,7 +1592,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1603,7 +1603,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1614,7 +1614,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1625,7 +1625,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1636,7 +1636,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1647,7 +1647,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1658,7 +1658,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1669,7 +1669,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1680,7 +1680,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1691,7 +1691,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1702,7 +1702,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1713,7 +1713,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1724,7 +1724,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1735,7 +1735,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1746,7 +1746,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1754,7 +1754,7 @@ artec_eplus48u
    (unmaintained) @@ -1768,7 +1768,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1779,7 +1779,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1790,7 +1790,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1801,7 +1801,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -1812,26 +1812,26 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + - + - + @@ -1842,7 +1842,7 @@ artec_eplus48u
    (unmaintained) @@ -1850,7 +1850,7 @@ artec_eplus48u
    (unmaintained)
    sane-avisionsane-avision
    @V5100 USB sane-avisionsane-avision
    AM3000 Series USB sane-avisionsane-avision
    AV100CS SCSI sane-avisionsane-avision
    AV100IIICS SCSI sane-avisionsane-avision
    AV100S SCSI sane-avisionsane-avision
    AV120 USB sane-avisionsane-avision
    AV121 USB sane-avisionsane-avision
    AV122 USB sane-avisionsane-avision
    AV122 C2 USB sane-avisionsane-avision
    AV210 USB sane-avisionsane-avision
    AV210 USB sane-avisionsane-avision
    AV210C2 USB sane-avisionsane-avision
    AV210C2-G USB sane-avisionsane-avision
    AV210D2+ USB sane-avisionsane-avision
    AV220 USB sane-avisionsane-avision
    AV220+ USB sane-avisionsane-avision
    AV220-G USB sane-avisionsane-avision
    AV220C2 USB sane-avisionsane-avision
    AV220C2-B USB sane-avisionsane-avision
    AV220C2-G USB sane-avisionsane-avision
    AV220D2 USB sane-avisionsane-avision
    AV240SC SCSI sane-avisionsane-avision
    AV260CS SCSI sane-avisionsane-avision
    AV360CS SCSI sane-avisionsane-avision
    AV363CS SCSI sane-avisionsane-avision
    AV420CS SCSI sane-avisionsane-avision
    AV600U USB sane-avisionsane-avision
    AV600U Plus USB sane-avisionsane-avision
    AV610 USB sane-avisionsane-avision
    AV610C2 USB sane-avisionsane-avision
    AV620CS SCSI sane-avisionsane-avision
    AV620CS Plus SCSI sane-avisionsane-avision
    AV630CS SCSI sane-avisionsane-avision
    AV630CSL SCSI sane-avisionsane-avision
    AV660S SCSI sane-avisionsane-avision
    AV680S SCSI sane-avisionsane-avision
    AV690U SCSI sane-avisionsane-avision
    AV800S SCSI sane-avisionsane-avision
    AV810C SCSI sane-avisionsane-avision
    AV820 SCSI sane-avisionsane-avision
    AV820C SCSI sane-avisionsane-avision
    AV820C Plus SCSI sane-avisionsane-avision
    AV830C SCSI sane-avisionsane-avision
    AV830C Plus SCSI sane-avisionsane-avision
    AV880 SCSI sane-avisionsane-avision
    AV880C SCSI sane-avisionsane-avision
    AV3200C SCSI sane-avisionsane-avision
    AV3200SU USB sane-avisionsane-avision
    AV3730SU USB sane-avisionsane-avision
    AV3750SU USB sane-avisionsane-avision
    AV3800C SCSI sane-avisionsane-avision
    AV3850SU USB sane-avisionsane-avision
    AV6120 SCSI sane-avisionsane-avision
    AV6240 SCSI sane-avisionsane-avision
    AV8000S SCSI sane-avisionsane-avision
    AV8050U USB sane-avisionsane-avision
    AV8300 USB sane-avisionsane-avision
    AV8350 USB sane-avisionsane-avision
    AVA3 SCSI sane-avisionsane-avision
    DS310F ParportUnsupported Probably not supported. Scanner/printer/copier combination. -unsupported +unsupported
    (2010-06-09)
    ? sane-avisionsane-avision
    FB2080E USB sane-avisionsane-avision
    FB6000E SCSI sane-avisionsane-avision
    FB6080E USB sane-avisionsane-avision
    IT8300 USB sane-avisionsane-avision
    iVina 1600
    iVina 1600 USB 0x0638/0x0a10 Unsupported GL646 based, to be added to genesys backend. Same as UMAX Astra 4500. -unsupported +unsupported
    (2010-06-09)
    ?
    iVina FB1800
    iVina FB1800 USB 0x0638/0x0a20 Unsupported GL646/GL660 based. Same as UMAX Astra 4700. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Not supported. No chipset information available. Same as UMAX Astra 6700. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Bell and Howell

    -Link(s): +Link(s): http://www.bhscanners.com/

    @@ -1872,7 +1872,7 @@ artec_eplus48u
    (unmaintained) bh
    (1.0-4) - + @@ -1883,7 +1883,7 @@ artec_eplus48u
    (unmaintained) bh
    (1.0-4) - + @@ -1894,7 +1894,7 @@ artec_eplus48u
    (unmaintained) bh
    (1.0-4) - + @@ -1905,7 +1905,7 @@ artec_eplus48u
    (unmaintained) bh
    (1.0-4) - + @@ -1916,7 +1916,7 @@ artec_eplus48u
    (unmaintained) bh
    (1.0-4) - + @@ -1927,7 +1927,7 @@ artec_eplus48u
    (unmaintained) bh
    (1.0-4) - +
    sane-bhsane-bh
    COPISCAN II 2137(A) SCSI sane-bhsane-bh
    COPISCAN II 2138A SCSI sane-bhsane-bh
    COPISCAN II 3238 SCSI sane-bhsane-bh
    COPISCAN II 3338(A) SCSI sane-bhsane-bh
    COPISCAN II 6338 SCSI sane-bhsane-bh

    Manufacturer: Bell+Howell

    @@ -1952,12 +1952,12 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) -sane-avision +sane-avision

    Manufacturer: BenQ

    -Link(s): +Link(s): http://www.benq.com/

    @@ -1979,12 +1979,12 @@ artec_eplus48u
    (unmaintained) hp3900
    (0.12) - +
    sane-hp3900sane-hp3900

    Manufacturer: Benq (Acer)

    -Link(s): +Link(s): http://www.benq.com
    Comment: Formerly Acer Peripherals

    @@ -2007,15 +2007,15 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan -310P +310P Parport   Unsupported Unsupported, see link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -2029,7 +2029,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 310U USB @@ -2040,15 +2040,15 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan -320P +320P Parport   Unsupported Unsupported, see link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -2062,15 +2062,15 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan -340P +340P Parport   Unsupported Unsupported, see link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -2084,15 +2084,15 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan -610P +610P Parport   Unsupported Unsupported, see link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -2106,15 +2106,15 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan -610PT +610PT Parport   Unsupported Unsupported, see link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -2128,26 +2128,26 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan -620P +620P Parport   Unsupported Unsupported, see link for details. -unsupported +unsupported
    (2010-06-09) ? -620PT +620PT Parport   Unsupported Unsupported, see link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -2161,7 +2161,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 620U USB @@ -2172,7 +2172,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 620UT USB @@ -2183,7 +2183,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 640BT USB @@ -2194,7 +2194,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 640bu USB @@ -2205,15 +2205,15 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan -640P +640P Parport   Unsupported Unsupported, see link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -2227,7 +2227,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 1240 USB @@ -2238,7 +2238,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 3300 USB @@ -2249,7 +2249,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 3300 USB @@ -2260,7 +2260,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 4300 USB @@ -2271,7 +2271,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 4300 USB @@ -2282,7 +2282,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 5000 USB @@ -2293,7 +2293,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 5000E USB @@ -2304,7 +2304,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 5000U USB @@ -2315,7 +2315,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 5150 USB @@ -2326,7 +2326,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 5250 USB @@ -2337,7 +2337,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 5300 USB @@ -2348,7 +2348,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan 5450 USB @@ -2356,40 +2356,40 @@ artec_eplus48u
    (unmaintained) Unsupported Unsupported. -unsupported +unsupported
    (2010-06-09) ? -5550 +5550 USB 0x04a5/0x2211 Unsupported Unsupported, see link for details. -unsupported +unsupported
    (2010-06-09) ? -5560 +5560 USB 0x04a5/0x2311 Unsupported   -unsupported +unsupported
    (2010-06-09) ? -7400UT +7400UT USB 0x04a5/0x2202 Unsupported   -unsupported +unsupported
    (2010-06-09) ? @@ -2403,12 +2403,12 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) -sane-snapscan +sane-snapscan

    Manufacturer: BlackWidow

    -Link(s): +Link(s): http://www.blackwidow.co.uk/

    @@ -2430,7 +2430,7 @@ artec_eplus48u
    (unmaintained) artec
    (unmaintained) - +
    sane-artecsane-artec

    Manufacturer: Boeder

    @@ -2446,13 +2446,13 @@ artec_eplus48u
    (unmaintained) Backend Manpage -Sm@rtScan Office +Sm@rtScan Office Parport USB 0x05cb/0x1483 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -2466,7 +2466,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx

    Manufacturer: BrightScan

    @@ -2491,12 +2491,12 @@ artec_eplus48u
    (unmaintained) plustek_pp
    (0.43) -sane-plustek_pp +sane-plustek_pp

    Manufacturer: Brother

    -Link(s): +Link(s): http://www.brother.com/

    @@ -2509,13 +2509,13 @@ artec_eplus48u
    (unmaintained) - + @@ -2526,29 +2526,29 @@ artec_eplus48u
    (unmaintained) - + - + @@ -2556,7 +2556,7 @@ artec_eplus48u
    (unmaintained)
    Backend Manpage
    MFC 2500
    MFC 2500 USB 0x04f9/0x000a Unsupported Not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported The parport 200x400dpi grayscale version of this scanner is unsupported. Dmitri Katchalov did some investigations on this scanner. If you want to write a backend, contact him (see link). -unsupported +unsupported
    (2010-06-09)
    ?
    MFC 7300c
    MFC 7300c Parport USB 0x04f9/0x0106 Unsupported   -unsupported +unsupported
    (2010-06-09)
    ?
    MFC 9600
    MFC 9600 USB 0x04f9/0x0101 Unsupported   -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: C-Channel

    -Link(s): +Link(s): http://www.c-channel.ch/

    @@ -2575,7 +2575,7 @@ artec_eplus48u
    (unmaintained) @@ -2586,18 +2586,18 @@ artec_eplus48u
    (unmaintained) - + @@ -2605,7 +2605,7 @@ artec_eplus48u
    (unmaintained)
    Unsupported Probably unsupported. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported See bug #306792 for details. -unsupported +unsupported
    (2010-06-09)
    ?
    MyPen Pro
    MyPen Pro USB   Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Canon

    -Link(s): +Link(s): http://www.canon.com/

    @@ -2627,7 +2627,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + @@ -2638,7 +2638,7 @@ artec_eplus48u
    (unmaintained) canon
    (1.12) - + @@ -2649,7 +2649,7 @@ artec_eplus48u
    (unmaintained) canon
    (1.12) - + @@ -2660,7 +2660,7 @@ artec_eplus48u
    (unmaintained) canon
    (1.12) - + @@ -2671,7 +2671,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + @@ -2682,7 +2682,7 @@ artec_eplus48u
    (unmaintained) canon
    (1.12) - + @@ -2693,7 +2693,7 @@ artec_eplus48u
    (unmaintained) canon
    (1.12) - + @@ -2704,59 +2704,59 @@ artec_eplus48u
    (unmaintained) canon
    (1.12) - + - + - + - + - + - + @@ -2770,26 +2770,26 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + - + - + @@ -2803,37 +2803,37 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + - + - + - + @@ -2847,7 +2847,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -2858,7 +2858,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -2869,48 +2869,48 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + - + - + - + - + @@ -2924,37 +2924,37 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + - + - + - + @@ -2968,7 +2968,7 @@ artec_eplus48u
    (unmaintained) canon_pp
    (0.33) - + @@ -2979,7 +2979,7 @@ artec_eplus48u
    (unmaintained) canon_pp
    (0.33) - + @@ -2987,7 +2987,7 @@ artec_eplus48u
    (unmaintained) @@ -3001,7 +3001,7 @@ artec_eplus48u
    (unmaintained) canon_pp
    (0.33) - + @@ -3012,7 +3012,7 @@ artec_eplus48u
    (unmaintained) canon_pp
    (0.33) - + @@ -3023,15 +3023,15 @@ artec_eplus48u
    (unmaintained) canon_pp
    (0.33) - + - + @@ -3045,7 +3045,7 @@ artec_eplus48u
    (unmaintained) canon_pp
    (0.33) - + @@ -3056,7 +3056,7 @@ artec_eplus48u
    (unmaintained) canon630u
    (0.1) - + @@ -3067,7 +3067,7 @@ artec_eplus48u
    (unmaintained) canon630u
    (0.1) - + @@ -3075,7 +3075,7 @@ artec_eplus48u
    (unmaintained) @@ -3089,7 +3089,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + @@ -3100,7 +3100,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + @@ -3111,7 +3111,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + @@ -3122,7 +3122,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + @@ -3130,29 +3130,29 @@ artec_eplus48u
    (unmaintained) - + - + @@ -3166,7 +3166,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + @@ -3177,7 +3177,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + @@ -3188,7 +3188,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + @@ -3199,15 +3199,15 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + - + @@ -3218,7 +3218,7 @@ artec_eplus48u
    (unmaintained) @@ -3229,7 +3229,7 @@ artec_eplus48u
    (unmaintained) @@ -3243,7 +3243,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -3254,7 +3254,7 @@ artec_eplus48u
    (unmaintained) canon_pp
    (0.33) - + @@ -3265,7 +3265,7 @@ artec_eplus48u
    (unmaintained) canon_pp
    (0.33) - + @@ -3276,7 +3276,7 @@ artec_eplus48u
    (unmaintained) canon_pp
    (0.33) - + @@ -3287,7 +3287,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -3298,7 +3298,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -3309,7 +3309,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -3320,7 +3320,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -3331,7 +3331,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3342,7 +3342,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3353,7 +3353,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3364,7 +3364,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3375,7 +3375,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3386,7 +3386,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3397,7 +3397,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3408,7 +3408,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3419,7 +3419,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3430,7 +3430,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3438,7 +3438,7 @@ artec_eplus48u
    (unmaintained) @@ -3452,7 +3452,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3463,7 +3463,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3474,7 +3474,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3485,7 +3485,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3496,7 +3496,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3507,7 +3507,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3518,7 +3518,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3529,7 +3529,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3540,7 +3540,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3551,7 +3551,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3562,7 +3562,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3573,7 +3573,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3584,7 +3584,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3595,7 +3595,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3606,7 +3606,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3617,7 +3617,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3628,7 +3628,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3639,7 +3639,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3650,7 +3650,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3661,7 +3661,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3672,7 +3672,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3683,7 +3683,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3694,7 +3694,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3705,7 +3705,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3716,7 +3716,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3727,7 +3727,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3738,7 +3738,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3749,7 +3749,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3760,7 +3760,7 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + @@ -3771,15 +3771,15 @@ artec_eplus48u
    (unmaintained) canon_dr
    (38) - + - + @@ -3793,7 +3793,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3804,7 +3804,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3815,7 +3815,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3826,7 +3826,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3837,7 +3837,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3848,7 +3848,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3859,7 +3859,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3870,7 +3870,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3881,7 +3881,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3892,7 +3892,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3903,7 +3903,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3914,7 +3914,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3925,7 +3925,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3936,7 +3936,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3947,7 +3947,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3958,7 +3958,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3969,7 +3969,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3980,7 +3980,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -3991,7 +3991,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4002,7 +4002,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4013,7 +4013,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4024,7 +4024,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4035,7 +4035,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4046,7 +4046,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4057,7 +4057,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4068,7 +4068,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4079,7 +4079,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4090,7 +4090,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4101,7 +4101,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4112,7 +4112,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4123,7 +4123,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4134,7 +4134,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4145,81 +4145,81 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + - + - + - + - + - + - + - + @@ -4233,7 +4233,7 @@ artec_eplus48u
    (unmaintained) canon
    (1.12) - + @@ -4244,7 +4244,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4255,7 +4255,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4266,7 +4266,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4277,7 +4277,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4288,7 +4288,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4299,7 +4299,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4310,7 +4310,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4321,7 +4321,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4332,7 +4332,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4343,7 +4343,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4354,7 +4354,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4365,7 +4365,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4376,7 +4376,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4387,7 +4387,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4398,7 +4398,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4409,7 +4409,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4420,7 +4420,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4431,7 +4431,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4442,7 +4442,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4453,26 +4453,26 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + - + - + @@ -4486,7 +4486,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4497,7 +4497,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4508,7 +4508,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4519,7 +4519,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4530,7 +4530,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4541,7 +4541,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4552,7 +4552,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4563,7 +4563,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4574,7 +4574,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4585,7 +4585,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4596,7 +4596,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4607,7 +4607,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4618,7 +4618,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4629,7 +4629,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4640,7 +4640,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4651,7 +4651,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4662,7 +4662,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4673,7 +4673,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4684,7 +4684,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4695,7 +4695,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4706,7 +4706,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4717,7 +4717,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4728,7 +4728,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4739,7 +4739,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4750,7 +4750,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4761,7 +4761,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4772,7 +4772,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4783,7 +4783,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4794,7 +4794,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4805,7 +4805,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4816,7 +4816,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4827,7 +4827,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4838,7 +4838,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4849,7 +4849,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4860,7 +4860,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4871,7 +4871,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4882,7 +4882,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4893,7 +4893,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4904,7 +4904,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4915,7 +4915,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4926,7 +4926,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4937,7 +4937,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4948,7 +4948,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4959,7 +4959,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4970,7 +4970,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4981,7 +4981,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -4992,7 +4992,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5003,7 +5003,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5014,7 +5014,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5025,7 +5025,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5036,7 +5036,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5047,7 +5047,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5058,7 +5058,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5069,7 +5069,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5080,7 +5080,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5091,7 +5091,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5102,7 +5102,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5113,7 +5113,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5124,7 +5124,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5135,7 +5135,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5146,7 +5146,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5157,7 +5157,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5168,7 +5168,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5179,7 +5179,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5190,7 +5190,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5201,7 +5201,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5212,7 +5212,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5223,7 +5223,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5234,7 +5234,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5245,7 +5245,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5256,7 +5256,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5267,7 +5267,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5278,7 +5278,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5289,7 +5289,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5300,7 +5300,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5311,7 +5311,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5322,7 +5322,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5333,7 +5333,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5344,7 +5344,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5355,7 +5355,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5366,7 +5366,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - + @@ -5377,7 +5377,7 @@ artec_eplus48u
    (unmaintained) pixma
    (0.17.3) - +
    sane-genesyssane-genesys
    CanoScan 300 SCSI sane-canonsane-canon
    CanoScan 600 SCSI sane-canonsane-canon
    CanoScan 620S SCSI sane-canonsane-canon
    CanoScan 700F USB sane-genesyssane-genesys
    CanoScan 1200S SCSI sane-canonsane-canon
    CanoScan 2700F SCSI sane-canonsane-canon
    CanoScan 2710S SCSI sane-canonsane-canon
    CanoScan 3000
    CanoScan 3000 USB 0x04a9/0x2215 Unsupported GL660+GL646 based. -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan 3000ex
    CanoScan 3000ex USB 0x04a9/0x2215 Unsupported GL660+GL646 based. -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan 3000F
    CanoScan 3000F USB 0x04a9/0x2215 Unsupported GL660+GL646 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan 4200F
    CanoScan 4200F USB 0x04a9/0x221b Unsupported Probably unsupported. See link. -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan 4400F
    CanoScan 4400F USB 0x04a9/0x2228 Unsupported GL843 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ? sane-genesyssane-genesys
    CanoScan 5000F
    CanoScan 5000F USB 0x04a9/0x2212 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan 5200F
    CanoScan 5200F USB 0x04a9/0x2217 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-genesyssane-genesys
    CanoScan 8000F
    CanoScan 8000F USB 0x04a9/0x220f Unsupported Not supported. See link for more information. With transparency adapter. -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan 8400F
    CanoScan 8400F USB 0x04a9/0x221e Unsupported GL841 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan 8600F
    CanoScan 8600F USB 0x04a9/0x2229 Unsupported GL841 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ? sane-pixmasane-pixma
    CanoScan 9000F USB sane-pixmasane-pixma
    CanoScan 9000F Mark II USB sane-pixmasane-pixma
    CanoScan 9900F
    CanoScan 9900F USB 0x04a9/0x2210 Unsupported Probably unsupported, similar to 8000F. 3200x6400 dpi USB2. With transparency adapter. -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan 9950F
    CanoScan 9950F USB 0x04a9/0x2219 Unsupported Probably unsupported. -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan D646U
    CanoScan D646U USB 0x04a9/0x220b Unsupported Probably not supported. See link for more information and test program. -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan D646U ex
    CanoScan D646U ex USB 0x04a9/0x220b Unsupported Probably not supported. See D646. -unsupported +unsupported
    (2010-06-09)
    ? sane-plusteksane-plustek
    CanoScan D1230U
    CanoScan D1230U USB 0x04a9/0x2209 Unsupported Probably not supported. -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan D1250U2
    CanoScan D1250U2 USB 0x04a9/0x220c Unsupported Not supported. However, someone started working on this scanner and some information is available (see link). -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan D2400UF
    CanoScan D2400UF USB 0x04a9/0x220a Unsupported Not supported. See link. -unsupported +unsupported
    (2010-06-09)
    ? sane-canon_ppsane-canon_pp
    CanoScan FB320P Parport (ECP) sane-canon_ppsane-canon_pp
    CanoScan FB320U USBUnsupported Probably not supported. No details known. -unsupported +unsupported
    (2010-06-09)
    ? sane-canon_ppsane-canon_pp
    CanoScan FB610P Parport (ECP) sane-canon_ppsane-canon_pp
    CanoScan FB620P Parport (ECP) sane-canon_ppsane-canon_pp
    CanoScan FB620U
    CanoScan FB620U USB 0x04a9/0x2202 Unsupported Probably not supported. Some information is available. -unsupported +unsupported
    (2010-06-09)
    ? sane-canon_ppsane-canon_pp
    CanoScan fb630u USB sane-canon630usane-canon630u
    CanoScan fb636u USB sane-canon630usane-canon630u
    CanoScan FB1210U USBUnsupported Not supported. However, a stand-alone program for FreeBSD is available. -unsupported +unsupported
    (2010-06-09)
    ? sane-genesyssane-genesys
    CanoScan LiDE 40 USB sane-genesyssane-genesys
    CanoScan LiDE 50 USB sane-genesyssane-genesys
    CanoScan LiDE 60 USB sane-genesyssane-genesys
    CanoScan LiDE 70 USBUnsupported Philips chip. Backend started, see link -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan LiDE 80
    CanoScan LiDE 80 USB 0x04a9/0x2214 Unsupported GL841 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?
    CanoScan LiDE 90
    CanoScan LiDE 90 USB 0x04a9/0x1900 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-genesyssane-genesys
    CanoScan LiDE 110 USB sane-genesyssane-genesys
    CanoScan LiDE 200 USB sane-genesyssane-genesys
    CanoScan LiDE 210 USB sane-genesyssane-genesys
    CanoScan LiDE 500F
    CanoScan LiDE 500F USB 0x04a9/0x221f Unsupported GL841 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Philips chip. Backend started, see link -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Philips chip. Backend started, see link -unsupported +unsupported
    (2010-06-09)
    ? sane-plusteksane-plustek
    CanoScan N340P Parport (ECP) sane-canon_ppsane-canon_pp
    CanoScan N640P Parport (ECP) sane-canon_ppsane-canon_pp
    CanoScan N640P ex Parport (ECP) sane-canon_ppsane-canon_pp
    CanoScan N650U/N656U USB sane-plusteksane-plustek
    CanoScan N670U/N676U/LiDE20 USB sane-plusteksane-plustek
    CanoScan N1220U USB sane-plusteksane-plustek
    CanoScan N1240U/LiDE30 USB sane-plusteksane-plustek
    CR-25 USB sane-canon_drsane-canon_dr
    CR-55 USB sane-canon_drsane-canon_dr
    CR-135i USB SCSI sane-canon_drsane-canon_dr
    CR-180 USB SCSI sane-canon_drsane-canon_dr
    CR-180II USB SCSI sane-canon_drsane-canon_dr
    CR-190i USB SCSI sane-canon_drsane-canon_dr
    DR-1210C USB sane-canon_drsane-canon_dr
    DR-1210C USB sane-canon_drsane-canon_dr
    DR-2010C USB sane-canon_drsane-canon_dr
    DR-2010M USB sane-canon_drsane-canon_dr
    DR-2020U USBUnsupported GL84x? -unsupported +unsupported
    (2010-06-09)
    ? sane-canon_drsane-canon_dr
    DR-2050SP USB sane-canon_drsane-canon_dr
    DR-2080C USB SCSI sane-canon_drsane-canon_dr
    DR-2510C USB sane-canon_drsane-canon_dr
    DR-2510M USB sane-canon_drsane-canon_dr
    DR-2580C USB SCSI sane-canon_drsane-canon_dr
    DR-3010C USB sane-canon_drsane-canon_dr
    DR-3020C SCSI sane-canon_drsane-canon_dr
    DR-3060 SCSI sane-canon_drsane-canon_dr
    DR-3080C SCSI sane-canon_drsane-canon_dr
    DR-3080CII USB SCSI sane-canon_drsane-canon_dr
    DR-4010C USB sane-canon_drsane-canon_dr
    DR-4580U USB sane-canon_drsane-canon_dr
    DR-5010C USB sane-canon_drsane-canon_dr
    DR-5020 SCSI sane-canon_drsane-canon_dr
    DR-5060F SCSI sane-canon_drsane-canon_dr
    DR-5080C SCSI sane-canon_drsane-canon_dr
    DR-6010C USB SCSI sane-canon_drsane-canon_dr
    DR-6030C USB SCSI sane-canon_drsane-canon_dr
    DR-6050C USB SCSI sane-canon_drsane-canon_dr
    DR-6080 USB SCSI sane-canon_drsane-canon_dr
    DR-7080C USB SCSI sane-canon_drsane-canon_dr
    DR-7090C USB SCSI sane-canon_drsane-canon_dr
    DR-7550C USB SCSI sane-canon_drsane-canon_dr
    DR-7580 USB SCSI sane-canon_drsane-canon_dr
    DR-9050C USB SCSI sane-canon_drsane-canon_dr
    DR-9080C USB SCSI sane-canon_drsane-canon_dr
    DR-X10C USB SCSI sane-canon_drsane-canon_dr
    DR3020 SCSI sane-canon_drsane-canon_dr
    DR4080U USB sane-canon_drsane-canon_dr
    FS4000
    FS4000 USB SCSI 0x04a9/0x3042 Unsupported Not supported. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ? sane-pixmasane-pixma
    I-SENSYS MF4320d USB sane-pixmasane-pixma
    I-SENSYS MF4330d USB sane-pixmasane-pixma
    i-SENSYS MF4550d USB sane-pixmasane-pixma
    i-SENSYS MF5880dn USB sane-pixmasane-pixma
    i-SENSYS MF6680dn USB sane-pixmasane-pixma
    imageCLASS D420 USB sane-pixmasane-pixma
    imageCLASS D480 USB sane-pixmasane-pixma
    imageCLASS MF3110 USB sane-pixmasane-pixma
    imageCLASS MF3240 USB sane-pixmasane-pixma
    imageCLASS MF4010 USB sane-pixmasane-pixma
    imageCLASS MF4018 USB sane-pixmasane-pixma
    imageCLASS MF4120 USB sane-pixmasane-pixma
    imageCLASS MF4122 USB sane-pixmasane-pixma
    imageCLASS MF4140 USB sane-pixmasane-pixma
    imageCLASS MF4150 USB sane-pixmasane-pixma
    imageCLASS MF4270 USB sane-pixmasane-pixma
    imageCLASS MF4350d USB sane-pixmasane-pixma
    imageCLASS MF4370dn USB sane-pixmasane-pixma
    imageCLASS MF4380dn USB sane-pixmasane-pixma
    imageCLASS MF4410 USB sane-pixmasane-pixma
    imageCLASS MF4430 USB sane-pixmasane-pixma
    imageCLASS MF4660 USB sane-pixmasane-pixma
    imageCLASS MF4690 USB sane-pixmasane-pixma
    imageCLASS MF5630 USB sane-pixmasane-pixma
    imageCLASS MF5730 USB sane-pixmasane-pixma
    imageCLASS MF5750 USB sane-pixmasane-pixma
    imageCLASS MF5770 USB sane-pixmasane-pixma
    imageCLASS MF6500 series USB sane-pixmasane-pixma
    imageCLASS MF6550 USB sane-pixmasane-pixma
    imageCLASS MF8030 USB sane-pixmasane-pixma
    imageCLASS MF8170c USB sane-pixmasane-pixma
    imageRUNNER 1020/1024/1025 USB sane-pixmasane-pixma
    ImageRunner iR1018
    ImageRunner iR1018 USB 0x04a9/0x269d Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    ImageRunner iR1022
    ImageRunner iR1022 USB 0x04a9/0x269d Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    ImageRunner iR1023
    ImageRunner iR1023 USB 0x04a9/0x269d Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    IS 12
    IS 12 USB   Unsupported Probably not supported. Scanner cardridge for Canon inkjet printers. -unsupported +unsupported
    (2010-06-09)
    ?
    IS 22
    IS 22 Parport   Unsupported Probably not supported. Scanner cardridge for Canon inkjet printers. -unsupported +unsupported
    (2010-06-09)
    ?
    IS 32
    IS 32 USB 0x04a9/0x105d Unsupported Probably not supported. Scanner cardridge for Canon inkjet printers. -unsupported +unsupported
    (2010-06-09)
    ?
    IS 52
    IS 52 USB   Unsupported Probably not supported. Scanner cardridge for Canon inkjet printers. -unsupported +unsupported
    (2010-06-09)
    ? sane-canonsane-canon
    laserBase MF5650 USB sane-pixmasane-pixma
    PIXMA E500 USB sane-pixmasane-pixma
    PIXMA E510 USB sane-pixmasane-pixma
    PIXMA E600 USB sane-pixmasane-pixma
    PIXMA E610 USB sane-pixmasane-pixma
    PIXMA MG2100 Series USB sane-pixmasane-pixma
    PIXMA MG2200 Series USB sane-pixmasane-pixma
    PIXMA MG3100 Series USB WLAN sane-pixmasane-pixma
    PIXMA MG3200 Series USB sane-pixmasane-pixma
    PIXMA MG4100 Series USB sane-pixmasane-pixma
    PIXMA MG4200 Series USB sane-pixmasane-pixma
    PIXMA MG5100 Series USB sane-pixmasane-pixma
    PIXMA MG5200 Series USB sane-pixmasane-pixma
    PIXMA MG5300 Series USB sane-pixmasane-pixma
    PIXMA MG5400 Series USB sane-pixmasane-pixma
    PIXMA MG6100 Series USB sane-pixmasane-pixma
    PIXMA MG6200 Series USB sane-pixmasane-pixma
    PIXMA MG6300 Series USB Ethernet sane-pixmasane-pixma
    PIXMA MG8100 Series USB sane-pixmasane-pixma
    PIXMA MG8200 Series USB Ethernet sane-pixmasane-pixma
    PIXMA MP110
    PIXMA MP110 USB 0x04a9/0x1700 Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    PIXMA MP130
    PIXMA MP130 USB 0x04a9/0x1701 Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-pixmasane-pixma
    PIXMA MP150 USB sane-pixmasane-pixma
    PIXMA MP160 USB sane-pixmasane-pixma
    PIXMA MP170 USB sane-pixmasane-pixma
    PIXMA MP180 USB sane-pixmasane-pixma
    PIXMA MP190 USB sane-pixmasane-pixma
    PIXMA MP210 USB sane-pixmasane-pixma
    PIXMA MP220 USB sane-pixmasane-pixma
    PIXMA MP230 USB sane-pixmasane-pixma
    PIXMA MP240 USB sane-pixmasane-pixma
    PIXMA MP250 USB sane-pixmasane-pixma
    PIXMA MP260 USB sane-pixmasane-pixma
    PIXMA MP270 USB sane-pixmasane-pixma
    PIXMA MP280 USB sane-pixmasane-pixma
    PIXMA MP360 USB sane-pixmasane-pixma
    PIXMA MP370 USB sane-pixmasane-pixma
    PIXMA MP375R USB sane-pixmasane-pixma
    PIXMA MP390 USB sane-pixmasane-pixma
    PIXMA MP450 USB sane-pixmasane-pixma
    PIXMA MP460 USB sane-pixmasane-pixma
    PIXMA MP470 USB sane-pixmasane-pixma
    PIXMA MP480 USB sane-pixmasane-pixma
    PIXMA MP490 USB sane-pixmasane-pixma
    PIXMA MP493 USB sane-pixmasane-pixma
    PIXMA MP495 USB sane-pixmasane-pixma
    PIXMA MP500 USB sane-pixmasane-pixma
    PIXMA MP510 USB sane-pixmasane-pixma
    PIXMA MP520 USB sane-pixmasane-pixma
    PIXMA MP530 USB sane-pixmasane-pixma
    PIXMA MP540 USB sane-pixmasane-pixma
    PIXMA MP550 USB sane-pixmasane-pixma
    PIXMA MP560 USB sane-pixmasane-pixma
    PIXMA MP600 USB sane-pixmasane-pixma
    PIXMA MP600R USB Ethernet sane-pixmasane-pixma
    PIXMA MP610 USB sane-pixmasane-pixma
    PIXMA MP620 USB Ethernet sane-pixmasane-pixma
    PIXMA MP630 USB sane-pixmasane-pixma
    PIXMA MP640 USB Ethernet sane-pixmasane-pixma
    PIXMA MP700 USB sane-pixmasane-pixma
    PIXMA MP710 USB sane-pixmasane-pixma
    PIXMA MP730 USB sane-pixmasane-pixma
    PIXMA MP740 USB sane-pixmasane-pixma
    PIXMA MP750 USB sane-pixmasane-pixma
    PIXMA MP760 USB sane-pixmasane-pixma
    PIXMA MP770 USB sane-pixmasane-pixma
    PIXMA MP780 USB sane-pixmasane-pixma
    PIXMA MP790 USB sane-pixmasane-pixma
    PIXMA MP800 USB sane-pixmasane-pixma
    PIXMA MP800R USB sane-pixmasane-pixma
    PIXMA MP810 USB sane-pixmasane-pixma
    PIXMA MP830 USB sane-pixmasane-pixma
    PIXMA MP960 USB sane-pixmasane-pixma
    PIXMA MP970 USB Ethernet sane-pixmasane-pixma
    PIXMA MP980 USB Ethernet sane-pixmasane-pixma
    PIXMA MP990 USB Ethernet sane-pixmasane-pixma
    PIXMA MX300 USB sane-pixmasane-pixma
    PIXMA MX310 USB sane-pixmasane-pixma
    PIXMA MX320 USB sane-pixmasane-pixma
    PIXMA MX330 USB sane-pixmasane-pixma
    PIXMA MX340 USB sane-pixmasane-pixma
    PIXMA MX350 USB Ethernet sane-pixmasane-pixma
    PIXMA MX360 USB sane-pixmasane-pixma
    PIXMA MX370 Series USB sane-pixmasane-pixma
    PIXMA MX390 Series USB sane-pixmasane-pixma
    PIXMA MX410 USB Ethernet sane-pixmasane-pixma
    PIXMA MX420 USB Ethernet sane-pixmasane-pixma
    PIXMA MX430 Series USB Ethernet sane-pixmasane-pixma
    PIXMA MX450 Series USB sane-pixmasane-pixma
    PIXMA MX510 Series USB Ethernet sane-pixmasane-pixma
    PIXMA MX520 Series USB sane-pixmasane-pixma
    PIXMA MX700 USB Ethernet sane-pixmasane-pixma
    PIXMA MX710 Series USB Ethernet sane-pixmasane-pixma
    PIXMA MX720 Series USB sane-pixmasane-pixma
    PIXMA MX850 USB Ethernet sane-pixmasane-pixma
    PIXMA MX860 USB Ethernet sane-pixmasane-pixma
    PIXMA MX870 USB Ethernet sane-pixmasane-pixma
    PIXMA MX880 Series USB Ethernet sane-pixmasane-pixma
    PIXMA MX882 USB Ethernet sane-pixmasane-pixma
    PIXMA MX885 USB Ethernet sane-pixmasane-pixma
    PIXMA MX890 Series USB Ethernet sane-pixmasane-pixma
    PIXMA MX920 Series USB sane-pixmasane-pixma
    PIXMA MX7600 USB Ethernet sane-pixmasane-pixma

    Manufacturer: Chinon

    @@ -5393,13 +5393,13 @@ artec_eplus48u
    (unmaintained) Backend Manpage -DS-3000 +DS-3000 Parport Serial Port   Unsupported Unsupported at the moment, but a backend is in preparation. See link. -unsupported +unsupported
    (2010-06-09) ? @@ -5407,7 +5407,7 @@ artec_eplus48u
    (unmaintained)

    Manufacturer: Compaq

    -Link(s): +Link(s): http://www.compaq.com/

    @@ -5429,7 +5429,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -5437,7 +5437,7 @@ artec_eplus48u
    (unmaintained) @@ -5456,13 +5456,13 @@ artec_eplus48u
    (unmaintained) - + @@ -5470,7 +5470,7 @@ artec_eplus48u
    (unmaintained)
    sane-plusteksane-plustek
    S200 USBUnsupported Not supported. 2400x1200 dpi. One bulk-in, one bulk-out and one interrupt endpoint. Type-number: U0001-HB21, another type nr on the inside: 75100512-00 -unsupported +unsupported
    (2010-06-09)
    ?Backend Manpage
    Simplex 1236C
    Simplex 1236C Parport USB 0x05cb/0x1483 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Corex

    -Link(s): +Link(s): http://www.cardscan.com/

    @@ -5492,7 +5492,7 @@ artec_eplus48u
    (unmaintained) cardscan
    (2) - + @@ -5503,26 +5503,26 @@ artec_eplus48u
    (unmaintained) cardscan
    (2) - + - + - + @@ -5550,12 +5550,12 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) - +
    sane-cardscansane-cardscan
    800c USB sane-cardscansane-cardscan
    Cardscan 500
    Cardscan 500 USB 0x08f0/0x0001 Unsupported Probably not supported. Businesscard reader. -unsupported +unsupported
    (2010-06-09)
    ?
    Cardscan 700 C
    Cardscan 700 C USB 0x08f0/0x0004 Unsupported Probably not supported. -unsupported +unsupported
    (2010-06-09)
    ? sane-mustek_ppsane-mustek_pp

    Manufacturer: DCT

    -Link(s): +Link(s): http://www.docucap.com/
    Comment: Successor of Syscan in the USA

    @@ -5578,12 +5578,12 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) -sane-genesys +sane-genesys

    Manufacturer: Dell

    -Link(s): +Link(s): http://www.dell.com/

    @@ -5596,13 +5596,13 @@ artec_eplus48u
    (unmaintained) - + @@ -5625,7 +5625,7 @@ dell1600n_netlexmark
    (1.0-0) - + @@ -5633,18 +5633,18 @@ dell1600n_net - + @@ -5657,12 +5657,12 @@ dell1600n_net - +
    Backend Manpage
    922
    922 USB 0x413c/0x5109 Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-lexmarksane-lexmark
    A940 USB Unsupported Probably rebadged Lexmark X5150. May work with sane-lexmark? See bug #312130 -unsupported +unsupported
    (2010-06-09)
    ?
    A960
    A960 USB 0x413c/0x5107 Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp

    Manufacturer: Devcom

    -Link(s): +Link(s): http://www.blackwidow.co.uk/

    @@ -5684,7 +5684,7 @@ xerox_mfp
    (1.0-13) pie
    (1.0) - + @@ -5695,7 +5695,7 @@ xerox_mfp
    (1.0-13) pie
    (1.0) - + @@ -5706,7 +5706,7 @@ xerox_mfp
    (1.0-13) pie
    (1.0) - +
    sane-piesane-pie
    9636PRO SCSI sane-piesane-pie
    9636S SCSI sane-piesane-pie

    Manufacturer: Dextra

    @@ -5731,7 +5731,7 @@ xerox_mfp
    (1.0-13) teco1
    (1.0-10) -sane-teco1 +sane-teco1 DF-1200T+ SCSI @@ -5742,7 +5742,7 @@ xerox_mfp
    (1.0-13) teco1
    (1.0-10) -sane-teco1 +sane-teco1 DF-4830T SCSI @@ -5753,7 +5753,7 @@ xerox_mfp
    (1.0-13) teco1
    (1.0-10) -sane-teco1 +sane-teco1 DF-9624 SCSI @@ -5764,12 +5764,12 @@ xerox_mfp
    (1.0-13) teco1
    (1.0-10) -sane-teco1 +sane-teco1

    Manufacturer: Dexxa

    -Link(s): +Link(s): http://www.dexxa.com

    @@ -5791,7 +5791,7 @@ xerox_mfp
    (1.0-13) as6e
    (0.5) - +
    sane-as6esane-as6e

    Manufacturer: E-Lux

    @@ -5814,7 +5814,7 @@ xerox_mfp
    (1.0-13) Unsupported Probably unsupported. Sold 1998. Same as E-Lux j-6121. -unsupported +unsupported
    (2010-06-09) ? @@ -5842,12 +5842,12 @@ xerox_mfp
    (1.0-13) umax
    (1.0-41) -sane-umax +sane-umax

    Manufacturer: EDT (Electronic Document Technology)

    -Link(s): +Link(s): http://www.bizcardreader.com/

    @@ -5860,13 +5860,13 @@ xerox_mfp
    (1.0-13) - + @@ -5892,7 +5892,7 @@ xerox_mfp
    (1.0-13) @@ -5903,7 +5903,7 @@ xerox_mfp
    (1.0-13) @@ -5911,7 +5911,7 @@ xerox_mfp
    (1.0-13)
    Backend Manpage
    BizCardReader 900C
    BizCardReader 900C USB 0x0a53/0x5001 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. Sold 1998. Same as E-Lux j-6121. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Epson

    -Link(s): +Link(s): http://www.epson.com/, http://www.epson.com

    @@ -5932,7 +5932,7 @@ xerox_mfp
    (1.0-13) - + @@ -5943,7 +5943,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -5953,7 +5953,7 @@ epson2
    (1.0.124) - + @@ -5964,7 +5964,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -5974,7 +5974,7 @@ epson2
    (1.0.124) - + @@ -5985,7 +5985,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -5995,7 +5995,7 @@ epson2
    (1.0.124) - + @@ -6005,7 +6005,7 @@ epson2
    (1.0.124) - + @@ -6015,7 +6015,7 @@ epson2
    (1.0.124) - + @@ -6025,7 +6025,7 @@ epson2
    (1.0.124) - + @@ -6035,7 +6035,7 @@ epson2
    (1.0.124) - + @@ -6045,7 +6045,7 @@ epson2
    (1.0.124) - + @@ -6055,7 +6055,7 @@ epson2
    (1.0.124) - + @@ -6065,7 +6065,7 @@ epson2
    (1.0.124) - + @@ -6075,7 +6075,7 @@ epson2
    (1.0.124) - + @@ -6085,7 +6085,7 @@ epson2
    (1.0.124) - + @@ -6096,7 +6096,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6107,7 +6107,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6118,7 +6118,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6129,7 +6129,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6140,7 +6140,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6151,7 +6151,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6162,7 +6162,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6173,7 +6173,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6184,7 +6184,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6195,7 +6195,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6206,7 +6206,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6217,7 +6217,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6228,7 +6228,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6239,7 +6239,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6250,7 +6250,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6261,7 +6261,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6272,7 +6272,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6283,7 +6283,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6294,7 +6294,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6305,7 +6305,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6316,7 +6316,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6327,7 +6327,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6338,7 +6338,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6348,7 +6348,7 @@ epson2
    (1.0.124) - + @@ -6358,7 +6358,7 @@ epson2
    (1.0.124) - + @@ -6368,7 +6368,7 @@ epson2
    (1.0.124) - + @@ -6378,7 +6378,7 @@ epson2
    (1.0.124) - + @@ -6388,7 +6388,7 @@ epson2
    (1.0.124) - + @@ -6398,7 +6398,7 @@ epson2
    (1.0.124) - + @@ -6408,7 +6408,7 @@ epson2
    (1.0.124) - + @@ -6419,7 +6419,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6429,7 +6429,7 @@ epson2
    (1.0.124) - + @@ -6440,7 +6440,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6450,7 +6450,7 @@ epson2
    (1.0.124) - + @@ -6461,7 +6461,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6471,7 +6471,7 @@ epson2
    (1.0.124) - + @@ -6481,7 +6481,7 @@ epson2
    (1.0.124) - + @@ -6491,7 +6491,7 @@ epson2
    (1.0.124) - + @@ -6502,7 +6502,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6512,7 +6512,7 @@ epson2
    (1.0.124) - + @@ -6522,7 +6522,7 @@ epson2
    (1.0.124) - + @@ -6532,7 +6532,7 @@ epson2
    (1.0.124) - + @@ -6542,7 +6542,7 @@ epson2
    (1.0.124) - + @@ -6552,7 +6552,7 @@ epson2
    (1.0.124) - + @@ -6562,7 +6562,7 @@ epson2
    (1.0.124) - + @@ -6572,7 +6572,7 @@ epson2
    (1.0.124) - + @@ -6582,7 +6582,7 @@ epson2
    (1.0.124) - + @@ -6593,7 +6593,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6603,7 +6603,7 @@ epson2
    (1.0.124) - + @@ -6613,7 +6613,7 @@ epson2
    (1.0.124) - + @@ -6623,7 +6623,7 @@ epson2
    (1.0.124) - + @@ -6633,7 +6633,7 @@ epson2
    (1.0.124) - + @@ -6643,7 +6643,7 @@ epson2
    (1.0.124) - + @@ -6653,7 +6653,7 @@ epson2
    (1.0.124) - + @@ -6664,7 +6664,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6674,7 +6674,7 @@ epson2
    (1.0.124) - + @@ -6685,7 +6685,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6695,7 +6695,7 @@ epson2
    (1.0.124) - + @@ -6705,7 +6705,7 @@ epson2
    (1.0.124) - + @@ -6716,7 +6716,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6726,7 +6726,7 @@ epson2
    (1.0.124) - + @@ -6736,7 +6736,7 @@ epson2
    (1.0.124) - + @@ -6747,7 +6747,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6757,7 +6757,7 @@ epson2
    (1.0.124) - + @@ -6767,7 +6767,7 @@ epson2
    (1.0.124) - + @@ -6777,7 +6777,7 @@ epson2
    (1.0.124) - + @@ -6787,7 +6787,7 @@ epson2
    (1.0.124) - + @@ -6797,7 +6797,7 @@ epson2
    (1.0.124) - + @@ -6807,7 +6807,7 @@ epson2
    (1.0.124) - + @@ -6817,7 +6817,7 @@ epson2
    (1.0.124) - + @@ -6827,7 +6827,7 @@ epson2
    (1.0.124) - + @@ -6837,7 +6837,7 @@ epson2
    (1.0.124) - + @@ -6845,7 +6845,7 @@ epson2
    (1.0.124) @@ -6858,7 +6858,7 @@ epson2
    (1.0.124) - + @@ -6868,7 +6868,7 @@ epson2
    (1.0.124) - + @@ -6878,7 +6878,7 @@ epson2
    (1.0.124) - + @@ -6888,7 +6888,7 @@ epson2
    (1.0.124) - + @@ -6899,7 +6899,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6909,7 +6909,7 @@ epson2
    (1.0.124) - + @@ -6919,7 +6919,7 @@ epson2
    (1.0.124) - + @@ -6930,7 +6930,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6940,7 +6940,7 @@ epson2
    (1.0.124) - + @@ -6951,7 +6951,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6961,7 +6961,7 @@ epson2
    (1.0.124) - + @@ -6972,7 +6972,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -6982,7 +6982,7 @@ epson2
    (1.0.124) - + @@ -6992,7 +6992,7 @@ epson2
    (1.0.124) - + @@ -7003,7 +7003,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -7013,7 +7013,7 @@ epson2
    (1.0.124) - + @@ -7023,7 +7023,7 @@ epson2
    (1.0.124) - + @@ -7033,7 +7033,7 @@ epson2
    (1.0.124) - + @@ -7043,7 +7043,7 @@ epson2
    (1.0.124) - + @@ -7053,7 +7053,7 @@ epson2
    (1.0.124) - + @@ -7063,7 +7063,7 @@ epson2
    (1.0.124) - + @@ -7073,7 +7073,7 @@ epson2
    (1.0.124) - + @@ -7083,7 +7083,7 @@ epson2
    (1.0.124) - + @@ -7093,7 +7093,7 @@ epson2
    (1.0.124) - + @@ -7103,7 +7103,7 @@ epson2
    (1.0.124) - + @@ -7114,7 +7114,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -7124,7 +7124,7 @@ epson2
    (1.0.124) - + @@ -7134,7 +7134,7 @@ epson2
    (1.0.124) - + @@ -7144,7 +7144,7 @@ epson2
    (1.0.124) - + @@ -7154,7 +7154,7 @@ epson2
    (1.0.124) - + @@ -7164,7 +7164,7 @@ epson2
    (1.0.124) - + @@ -7174,7 +7174,7 @@ epson2
    (1.0.124) - + @@ -7184,7 +7184,7 @@ epson2
    (1.0.124) - + @@ -7194,7 +7194,7 @@ epson2
    (1.0.124) - + @@ -7204,7 +7204,7 @@ epson2
    (1.0.124) - + @@ -7214,7 +7214,7 @@ epson2
    (1.0.124) - + @@ -7224,7 +7224,7 @@ epson2
    (1.0.124) - + @@ -7234,7 +7234,7 @@ epson2
    (1.0.124) - + @@ -7244,7 +7244,7 @@ epson2
    (1.0.124) - + @@ -7254,7 +7254,7 @@ epson2
    (1.0.124) - + @@ -7264,7 +7264,7 @@ epson2
    (1.0.124) - + @@ -7274,7 +7274,7 @@ epson2
    (1.0.124) - + @@ -7284,7 +7284,7 @@ epson2
    (1.0.124) - + @@ -7294,7 +7294,7 @@ epson2
    (1.0.124) - + @@ -7304,7 +7304,7 @@ epson2
    (1.0.124) - + @@ -7314,7 +7314,7 @@ epson2
    (1.0.124) - + @@ -7324,7 +7324,7 @@ epson2
    (1.0.124) - + @@ -7334,7 +7334,7 @@ epson2
    (1.0.124) - + @@ -7344,7 +7344,7 @@ epson2
    (1.0.124) - + @@ -7354,7 +7354,7 @@ epson2
    (1.0.124) - + @@ -7364,7 +7364,7 @@ epson2
    (1.0.124) - + @@ -7374,7 +7374,7 @@ epson2
    (1.0.124) - + @@ -7384,7 +7384,7 @@ epson2
    (1.0.124) - + @@ -7394,7 +7394,7 @@ epson2
    (1.0.124) - + @@ -7404,7 +7404,7 @@ epson2
    (1.0.124) - + @@ -7414,7 +7414,7 @@ epson2
    (1.0.124) - + @@ -7424,7 +7424,7 @@ epson2
    (1.0.124) - + @@ -7434,7 +7434,7 @@ epson2
    (1.0.124) - + @@ -7444,7 +7444,7 @@ epson2
    (1.0.124) - + @@ -7454,7 +7454,7 @@ epson2
    (1.0.124) - + @@ -7464,7 +7464,7 @@ epson2
    (1.0.124) - + @@ -7474,7 +7474,7 @@ epson2
    (1.0.124) - + @@ -7484,7 +7484,7 @@ epson2
    (1.0.124) - + @@ -7494,7 +7494,7 @@ epson2
    (1.0.124) - + @@ -7504,7 +7504,7 @@ epson2
    (1.0.124) - + @@ -7514,7 +7514,7 @@ epson2
    (1.0.124) - + @@ -7524,7 +7524,7 @@ epson2
    (1.0.124) - + @@ -7534,7 +7534,7 @@ epson2
    (1.0.124) - + @@ -7544,7 +7544,7 @@ epson2
    (1.0.124) - + @@ -7554,7 +7554,7 @@ epson2
    (1.0.124) - + @@ -7564,7 +7564,7 @@ epson2
    (1.0.124) - + @@ -7574,7 +7574,7 @@ epson2
    (1.0.124) - + @@ -7584,7 +7584,7 @@ epson2
    (1.0.124) - + @@ -7594,7 +7594,7 @@ epson2
    (1.0.124) - + @@ -7604,7 +7604,7 @@ epson2
    (1.0.124) - + @@ -7614,7 +7614,7 @@ epson2
    (1.0.124) - + @@ -7624,7 +7624,7 @@ epson2
    (1.0.124) - + @@ -7634,7 +7634,7 @@ epson2
    (1.0.124) - + @@ -7644,7 +7644,7 @@ epson2
    (1.0.124) - + @@ -7654,7 +7654,7 @@ epson2
    (1.0.124) - + @@ -7664,7 +7664,7 @@ epson2
    (1.0.124) - + @@ -7674,7 +7674,7 @@ epson2
    (1.0.124) - + @@ -7684,7 +7684,7 @@ epson2
    (1.0.124) - + @@ -7694,7 +7694,7 @@ epson2
    (1.0.124) - + @@ -7704,7 +7704,7 @@ epson2
    (1.0.124) - + @@ -7714,7 +7714,7 @@ epson2
    (1.0.124) - + @@ -7724,7 +7724,7 @@ epson2
    (1.0.124) - + @@ -7734,7 +7734,7 @@ epson2
    (1.0.124) - + @@ -7744,7 +7744,7 @@ epson2
    (1.0.124) - + @@ -7755,7 +7755,7 @@ epson2
    (1.0.124) umax
    (1.0-41) - + @@ -7765,7 +7765,7 @@ epson2
    (1.0.124) - + @@ -7776,7 +7776,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -7787,7 +7787,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -7797,7 +7797,7 @@ epson2
    (1.0.124) - + @@ -7808,7 +7808,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -7818,7 +7818,7 @@ epson2
    (1.0.124) - + @@ -7829,7 +7829,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -7840,7 +7840,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -7850,7 +7850,7 @@ epson2
    (1.0.124) - + @@ -7861,7 +7861,7 @@ epson2
    (1.0.124) SnapScan
    (1.4) - + @@ -7872,7 +7872,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -7882,7 +7882,7 @@ epson2
    (1.0.124) - + @@ -7893,7 +7893,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -7903,7 +7903,7 @@ epson2
    (1.0.124) - + @@ -7914,7 +7914,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -7924,7 +7924,7 @@ epson2
    (1.0.124) - + @@ -7935,7 +7935,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -7945,7 +7945,7 @@ epson2
    (1.0.124) - + @@ -7956,7 +7956,7 @@ epson2
    (1.0.124) plustek
    (0.52) - + @@ -7966,7 +7966,7 @@ epson2
    (1.0.124) - + @@ -7977,7 +7977,7 @@ epson2
    (1.0.124) plustek
    (0.52) - + @@ -7988,7 +7988,7 @@ epson2
    (1.0.124) plustek
    (0.52) - + @@ -7998,7 +7998,7 @@ epson2
    (1.0.124) - + @@ -8009,7 +8009,7 @@ epson2
    (1.0.124) plustek
    (0.52) - + @@ -8020,7 +8020,7 @@ epson2
    (1.0.124) SnapScan
    (1.4) - + @@ -8030,7 +8030,7 @@ epson2
    (1.0.124) - + @@ -8041,7 +8041,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -8051,7 +8051,7 @@ epson2
    (1.0.124) - + @@ -8061,7 +8061,7 @@ epson2
    (1.0.124) - + @@ -8071,7 +8071,7 @@ epson2
    (1.0.124) - + @@ -8082,7 +8082,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -8092,7 +8092,7 @@ epson2
    (1.0.124) - + @@ -8103,7 +8103,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -8113,7 +8113,7 @@ epson2
    (1.0.124) - + @@ -8124,7 +8124,7 @@ epson2
    (1.0.124) SnapScan
    (1.4) - + @@ -8134,7 +8134,7 @@ epson2
    (1.0.124) - + @@ -8145,7 +8145,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -8155,7 +8155,7 @@ epson2
    (1.0.124) - + @@ -8166,7 +8166,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -8176,7 +8176,7 @@ epson2
    (1.0.124) - + @@ -8187,7 +8187,7 @@ epson2
    (1.0.124) SnapScan
    (1.4) - + @@ -8197,7 +8197,7 @@ epson2
    (1.0.124) - + @@ -8208,7 +8208,7 @@ epson2
    (1.0.124) SnapScan
    (1.4) - + @@ -8218,7 +8218,7 @@ epson2
    (1.0.124) - + @@ -8228,7 +8228,7 @@ epson2
    (1.0.124) - + @@ -8239,7 +8239,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -8249,7 +8249,7 @@ epson2
    (1.0.124) - + @@ -8260,7 +8260,7 @@ epson2
    (1.0.124) SnapScan
    (1.4) - + @@ -8270,7 +8270,7 @@ epson2
    (1.0.124) - + @@ -8281,7 +8281,7 @@ epson2
    (1.0.124) SnapScan
    (1.4) - + @@ -8291,7 +8291,7 @@ epson2
    (1.0.124) - + @@ -8301,7 +8301,7 @@ epson2
    (1.0.124) - + @@ -8311,7 +8311,7 @@ epson2
    (1.0.124) - + @@ -8322,7 +8322,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -8332,7 +8332,7 @@ epson2
    (1.0.124) - + @@ -8343,7 +8343,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -8353,7 +8353,7 @@ epson2
    (1.0.124) - + @@ -8363,7 +8363,7 @@ epson2
    (1.0.124) - + @@ -8373,7 +8373,7 @@ epson2
    (1.0.124) - + @@ -8383,7 +8383,7 @@ epson2
    (1.0.124) - + @@ -8393,7 +8393,7 @@ epson2
    (1.0.124) - + @@ -8403,7 +8403,7 @@ epson2
    (1.0.124) - + @@ -8413,7 +8413,7 @@ epson2
    (1.0.124) - + @@ -8423,7 +8423,7 @@ epson2
    (1.0.124) - + @@ -8433,7 +8433,7 @@ epson2
    (1.0.124) - + @@ -8443,7 +8443,7 @@ epson2
    (1.0.124) - + @@ -8453,7 +8453,7 @@ epson2
    (1.0.124) - + @@ -8463,7 +8463,7 @@ epson2
    (1.0.124) - + @@ -8473,7 +8473,7 @@ epson2
    (1.0.124) - + @@ -8483,7 +8483,7 @@ epson2
    (1.0.124) - + @@ -8493,7 +8493,7 @@ epson2
    (1.0.124) - + @@ -8503,7 +8503,7 @@ epson2
    (1.0.124) - + @@ -8513,7 +8513,7 @@ epson2
    (1.0.124) - + @@ -8523,7 +8523,7 @@ epson2
    (1.0.124) - + @@ -8533,7 +8533,7 @@ epson2
    (1.0.124) - + @@ -8543,7 +8543,7 @@ epson2
    (1.0.124) - + @@ -8553,7 +8553,7 @@ epson2
    (1.0.124) - + @@ -8563,7 +8563,7 @@ epson2
    (1.0.124) - + @@ -8573,7 +8573,7 @@ epson2
    (1.0.124) - + @@ -8583,7 +8583,7 @@ epson2
    (1.0.124) - + @@ -8593,7 +8593,7 @@ epson2
    (1.0.124) - + @@ -8603,7 +8603,7 @@ epson2
    (1.0.124) - + @@ -8613,7 +8613,7 @@ epson2
    (1.0.124) - + @@ -8623,7 +8623,7 @@ epson2
    (1.0.124) - + @@ -8633,7 +8633,7 @@ epson2
    (1.0.124) - + @@ -8643,7 +8643,7 @@ epson2
    (1.0.124) - + @@ -8653,7 +8653,7 @@ epson2
    (1.0.124) - + @@ -8663,7 +8663,7 @@ epson2
    (1.0.124) - + @@ -8673,7 +8673,7 @@ epson2
    (1.0.124) - + @@ -8683,7 +8683,7 @@ epson2
    (1.0.124) - + @@ -8693,7 +8693,7 @@ epson2
    (1.0.124) - + @@ -8703,7 +8703,7 @@ epson2
    (1.0.124) - + @@ -8713,7 +8713,7 @@ epson2
    (1.0.124) - + @@ -8723,7 +8723,7 @@ epson2
    (1.0.124) - + @@ -8733,7 +8733,7 @@ epson2
    (1.0.124) - + @@ -8744,7 +8744,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -8755,7 +8755,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -8766,7 +8766,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -8777,7 +8777,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -8788,7 +8788,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -8799,7 +8799,7 @@ epson2
    (1.0.124) SnapScan
    (1.4) - + @@ -8807,7 +8807,7 @@ epson2
    (1.0.124) @@ -8820,7 +8820,7 @@ epson2
    (1.0.124) - + @@ -8830,7 +8830,7 @@ epson2
    (1.0.124) - + @@ -8840,7 +8840,7 @@ epson2
    (1.0.124) - + @@ -8850,7 +8850,7 @@ epson2
    (1.0.124) - + @@ -8860,7 +8860,7 @@ epson2
    (1.0.124) - + @@ -8870,7 +8870,7 @@ epson2
    (1.0.124) - + @@ -8880,7 +8880,7 @@ epson2
    (1.0.124) - + @@ -8890,7 +8890,7 @@ epson2
    (1.0.124) - + @@ -8900,7 +8900,7 @@ epson2
    (1.0.124) - + @@ -8910,7 +8910,7 @@ epson2
    (1.0.124) - + @@ -8920,7 +8920,7 @@ epson2
    (1.0.124) - + @@ -8930,7 +8930,7 @@ epson2
    (1.0.124) - + @@ -8940,7 +8940,7 @@ epson2
    (1.0.124) - + @@ -8950,7 +8950,7 @@ epson2
    (1.0.124) - + @@ -8960,7 +8960,7 @@ epson2
    (1.0.124) - + @@ -8970,7 +8970,7 @@ epson2
    (1.0.124) - + @@ -8980,7 +8980,7 @@ epson2
    (1.0.124) - + @@ -8990,7 +8990,7 @@ epson2
    (1.0.124) - + @@ -9000,7 +9000,7 @@ epson2
    (1.0.124) - + @@ -9010,7 +9010,7 @@ epson2
    (1.0.124) - + @@ -9020,7 +9020,7 @@ epson2
    (1.0.124) - + @@ -9030,7 +9030,7 @@ epson2
    (1.0.124) - + @@ -9040,7 +9040,7 @@ epson2
    (1.0.124) - + @@ -9050,7 +9050,7 @@ epson2
    (1.0.124) - + @@ -9060,7 +9060,7 @@ epson2
    (1.0.124) - + @@ -9070,7 +9070,7 @@ epson2
    (1.0.124) - + @@ -9080,7 +9080,7 @@ epson2
    (1.0.124) - + @@ -9090,7 +9090,7 @@ epson2
    (1.0.124) - + @@ -9100,7 +9100,7 @@ epson2
    (1.0.124) - + @@ -9110,7 +9110,7 @@ epson2
    (1.0.124) - + @@ -9120,7 +9120,7 @@ epson2
    (1.0.124) - + @@ -9130,7 +9130,7 @@ epson2
    (1.0.124) - + @@ -9140,7 +9140,7 @@ epson2
    (1.0.124) - + @@ -9150,7 +9150,7 @@ epson2
    (1.0.124) - + @@ -9160,7 +9160,7 @@ epson2
    (1.0.124) - + @@ -9170,7 +9170,7 @@ epson2
    (1.0.124) - + @@ -9180,7 +9180,7 @@ epson2
    (1.0.124) - + @@ -9190,7 +9190,7 @@ epson2
    (1.0.124) - + @@ -9200,7 +9200,7 @@ epson2
    (1.0.124) - + @@ -9210,7 +9210,7 @@ epson2
    (1.0.124) - + @@ -9220,7 +9220,7 @@ epson2
    (1.0.124) - + @@ -9230,7 +9230,7 @@ epson2
    (1.0.124) - + @@ -9240,7 +9240,7 @@ epson2
    (1.0.124) - + @@ -9250,7 +9250,7 @@ epson2
    (1.0.124) - + @@ -9260,7 +9260,7 @@ epson2
    (1.0.124) - + @@ -9270,7 +9270,7 @@ epson2
    (1.0.124) - + @@ -9280,7 +9280,7 @@ epson2
    (1.0.124) - + @@ -9290,7 +9290,7 @@ epson2
    (1.0.124) - + @@ -9300,7 +9300,7 @@ epson2
    (1.0.124) - + @@ -9310,7 +9310,7 @@ epson2
    (1.0.124) - + @@ -9320,15 +9320,15 @@ epson2
    (1.0.124) - + - + @@ -9341,7 +9341,7 @@ epson2
    (1.0.124) - + @@ -9351,7 +9351,7 @@ epson2
    (1.0.124) - + @@ -9361,7 +9361,7 @@ epson2
    (1.0.124) - + @@ -9371,7 +9371,7 @@ epson2
    (1.0.124) - + @@ -9381,7 +9381,7 @@ epson2
    (1.0.124) - + @@ -9391,7 +9391,7 @@ epson2
    (1.0.124) - + @@ -9401,7 +9401,7 @@ epson2
    (1.0.124) - + @@ -9411,7 +9411,7 @@ epson2
    (1.0.124) - + @@ -9421,7 +9421,7 @@ epson2
    (1.0.124) - + @@ -9431,7 +9431,7 @@ epson2
    (1.0.124) - + @@ -9441,7 +9441,7 @@ epson2
    (1.0.124) - + @@ -9451,7 +9451,7 @@ epson2
    (1.0.124) - + @@ -9461,7 +9461,7 @@ epson2
    (1.0.124) - + @@ -9471,7 +9471,7 @@ epson2
    (1.0.124) - + @@ -9481,7 +9481,7 @@ epson2
    (1.0.124) - + @@ -9491,7 +9491,7 @@ epson2
    (1.0.124) - + @@ -9501,7 +9501,7 @@ epson2
    (1.0.124) - + @@ -9511,7 +9511,7 @@ epson2
    (1.0.124) - + @@ -9521,7 +9521,7 @@ epson2
    (1.0.124) - + @@ -9531,7 +9531,7 @@ epson2
    (1.0.124) - + @@ -9541,7 +9541,7 @@ epson2
    (1.0.124) - + @@ -9551,7 +9551,7 @@ epson2
    (1.0.124) - + @@ -9561,7 +9561,7 @@ epson2
    (1.0.124) - + @@ -9571,7 +9571,7 @@ epson2
    (1.0.124) - + @@ -9581,7 +9581,7 @@ epson2
    (1.0.124) - + @@ -9591,7 +9591,7 @@ epson2
    (1.0.124) - + @@ -9601,7 +9601,7 @@ epson2
    (1.0.124) - + @@ -9611,7 +9611,7 @@ epson2
    (1.0.124) - + @@ -9621,7 +9621,7 @@ epson2
    (1.0.124) - + @@ -9631,7 +9631,7 @@ epson2
    (1.0.124) - + @@ -9641,7 +9641,7 @@ epson2
    (1.0.124) - + @@ -9651,7 +9651,7 @@ epson2
    (1.0.124) - + @@ -9661,7 +9661,7 @@ epson2
    (1.0.124) - + @@ -9671,7 +9671,7 @@ epson2
    (1.0.124) - + @@ -9681,7 +9681,7 @@ epson2
    (1.0.124) - + @@ -9691,7 +9691,7 @@ epson2
    (1.0.124) - + @@ -9701,7 +9701,7 @@ epson2
    (1.0.124) - + @@ -9711,7 +9711,7 @@ epson2
    (1.0.124) - + @@ -9721,7 +9721,7 @@ epson2
    (1.0.124) - + @@ -9731,7 +9731,7 @@ epson2
    (1.0.124) - + @@ -9741,7 +9741,7 @@ epson2
    (1.0.124) - + @@ -9751,7 +9751,7 @@ epson2
    (1.0.124) - + @@ -9761,7 +9761,7 @@ epson2
    (1.0.124) - + @@ -9771,7 +9771,7 @@ epson2
    (1.0.124) - + @@ -9781,7 +9781,7 @@ epson2
    (1.0.124) - + @@ -9791,7 +9791,7 @@ epson2
    (1.0.124) - + @@ -9801,7 +9801,7 @@ epson2
    (1.0.124) - + @@ -9811,7 +9811,7 @@ epson2
    (1.0.124) - + @@ -9821,7 +9821,7 @@ epson2
    (1.0.124) - + @@ -9831,7 +9831,7 @@ epson2
    (1.0.124) - + @@ -9841,7 +9841,7 @@ epson2
    (1.0.124) - + @@ -9851,7 +9851,7 @@ epson2
    (1.0.124) - + @@ -9861,7 +9861,7 @@ epson2
    (1.0.124) - + @@ -9871,7 +9871,7 @@ epson2
    (1.0.124) - + @@ -9881,7 +9881,7 @@ epson2
    (1.0.124) - + @@ -9891,7 +9891,7 @@ epson2
    (1.0.124) - + @@ -9901,7 +9901,7 @@ epson2
    (1.0.124) - + @@ -9911,7 +9911,7 @@ epson2
    (1.0.124) - + @@ -9921,7 +9921,7 @@ epson2
    (1.0.124) - + @@ -9931,7 +9931,7 @@ epson2
    (1.0.124) - + @@ -9941,7 +9941,7 @@ epson2
    (1.0.124) - + @@ -9951,7 +9951,7 @@ epson2
    (1.0.124) - + @@ -9961,7 +9961,7 @@ epson2
    (1.0.124) - + @@ -9971,7 +9971,7 @@ epson2
    (1.0.124) - + @@ -9981,7 +9981,7 @@ epson2
    (1.0.124) - + @@ -9991,7 +9991,7 @@ epson2
    (1.0.124) - + @@ -10001,7 +10001,7 @@ epson2
    (1.0.124) - + @@ -10011,7 +10011,7 @@ epson2
    (1.0.124) - + @@ -10021,7 +10021,7 @@ epson2
    (1.0.124) - + @@ -10031,7 +10031,7 @@ epson2
    (1.0.124) - + @@ -10041,7 +10041,7 @@ epson2
    (1.0.124) - + @@ -10051,7 +10051,7 @@ epson2
    (1.0.124) - + @@ -10061,7 +10061,7 @@ epson2
    (1.0.124) - + @@ -10071,7 +10071,7 @@ epson2
    (1.0.124) - + @@ -10081,7 +10081,7 @@ epson2
    (1.0.124) - + @@ -10091,7 +10091,7 @@ epson2
    (1.0.124) - + @@ -10101,7 +10101,7 @@ epson2
    (1.0.124) - + @@ -10111,7 +10111,7 @@ epson2
    (1.0.124) - + @@ -10119,7 +10119,7 @@ epson2
    (1.0.124) @@ -10133,7 +10133,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -10144,7 +10144,7 @@ epson2
    (1.0.124) epson
    (unmaintained) - + @@ -10154,7 +10154,7 @@ epson2
    (1.0.124) - + @@ -10164,7 +10164,7 @@ epson2
    (1.0.124) - + @@ -10174,7 +10174,7 @@ epson2
    (1.0.124) - + @@ -10184,7 +10184,7 @@ epson2
    (1.0.124) - +
    epson2
    (1.0.124)
    sane-epson2sane-epson2
    Actionscanner II SCSI Parport sane-epsonsane-epson
    AcuLaser CX11 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    AcuLaser CX11 USB sane-epsonsane-epson
    AcuLaser CX11NF USB Network epson2
    (1.0.124)
    sane-epson2sane-epson2
    AcuLaser CX11NF USB sane-epsonsane-epson
    AcuLaser CX21 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Artisan 700 USB Network epson2
    (1.0.124)
    sane-epson2sane-epson2
    Artisan 710 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Artisan 800 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Artisan 810 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    CC-500L USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    CC-550L USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    CC-570L USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    CC-600PX USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    CC-700 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    CX-3200 USB sane-epsonsane-epson
    CX-3600 USB sane-epsonsane-epson
    CX-3650 USB sane-epsonsane-epson
    CX-3700 USB sane-epsonsane-epson
    CX-3800 USB sane-epsonsane-epson
    CX-4200 USB sane-epsonsane-epson
    CX-4600 USB sane-epsonsane-epson
    CX-4800 USB sane-epsonsane-epson
    CX-5000 USB sane-epsonsane-epson
    CX-5200 USB sane-epsonsane-epson
    CX-5400 USB sane-epsonsane-epson
    CX-5400 USB sane-epsonsane-epson
    CX-6300 USB sane-epsonsane-epson
    CX-6400 USB sane-epsonsane-epson
    CX-6500 USB sane-epsonsane-epson
    CX-6600 USB sane-epsonsane-epson
    DX-3800 USB sane-epsonsane-epson
    DX-3850 USB sane-epsonsane-epson
    DX-4050 USB sane-epsonsane-epson
    DX-5000 USB sane-epsonsane-epson
    DX-5050 USB sane-epsonsane-epson
    DX-6000 USB sane-epsonsane-epson
    DX-7400 USB sane-epsonsane-epson
    EP-702A USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    EP-801A USB Network epson2
    (1.0.124)
    sane-epson2sane-epson2
    EP-802A USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    EP-901A USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    EP-901F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    EP-902A USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-300C SCSI parallel epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-300C SCSI Parport sane-epsonsane-epson
    ES-300GS SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-300GS SCSI sane-epsonsane-epson
    ES-600C parallel epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-600C Parport sane-epsonsane-epson
    ES-800C SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-1000C ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-1200C parallel epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-1200C Parport sane-epsonsane-epson
    ES-2000 SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-2200 SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-6000 SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-6000H SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-6000HS SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-7000H SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-8000 SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-8500 SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-8500 SCSI sane-epsonsane-epson
    ES-9000H SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-10000G USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-D400 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-H300 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ES-H7200 USB Ethernet epson2
    (1.0.124)
    sane-epson2sane-epson2
    Expression 636 SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    Expression 636 SCSI sane-epsonsane-epson
    Expression 800 SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    Expression 800 SCSI sane-epsonsane-epson
    Expression 836XL SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    Expression 1600 SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Expression 1600 SCSI USB IEEE-1394 sane-epsonsane-epson
    Expression 1640XL SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Expression 1680 SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Expression 1680 SCSI USB IEEE-1394 sane-epsonsane-epson
    Expression 1680 Pro SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Expression 1680XL Pro SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Expression 10000XL USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Expression 10000XL Graphic Arts USB IEEE1394 epson2
    (1.0.124)
    sane-epson2sane-epson2
    Expression 10000XL Photo USB IEEE1394 epson2
    (1.0.124)
    sane-epson2sane-epson2
    F-3200 USB IEEE1394 epson2
    (1.0.124)
    sane-epson2sane-epson2
    F-3200 Photo USB IEEE1394 epson2
    (1.0.124)
    sane-epson2sane-epson2
    FilmScan 200 SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-1500 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-2200 USBUnsupported Probably unsupported. No details known. -unsupported +unsupported
    (2010-06-09)
    ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-2500 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-4000 ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-5000 parallel SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-5000 SCSI Parport sane-epsonsane-epson
    GT-5400 parallel epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-5500 SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-5500 SCSI sane-epsonsane-epson
    GT-6000 SCSI Parport epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-6000 SCSI Parport sane-epsonsane-epson
    GT-6500 parallel epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-6500 Parport sane-epsonsane-epson
    GT-6600U USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-6700U USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-7000 SCSI sane-epsonsane-epson
    GT-7000S SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-7000U USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-7200U USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-7300U USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-7400U USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-7600S SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-7600U USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-7600UF USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-7700U USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-8000 SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-8000 SCSI sane-epsonsane-epson
    GT-8200U USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-8200UF USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-8300UF USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-8400UF USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-8500 ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-8700 SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-8700F SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-9000 parallel epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-9300UF USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-9400UF USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-9500 SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-9600 SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-9700F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-9800F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-10000 SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-10000+ SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-12000 SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-15000 SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-20000 USB Ethernet epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-30000 SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-D1000 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-F500 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-F520 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-F550 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-F570 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-F600 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-F650 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-F670 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-F700 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-F720 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-S50 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-S80 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-S600 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-S620 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-X700 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-X750 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-X770 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-X800 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-X820 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-X900 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    GT-X970 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-7900CS ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-9000CCH ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-9000CCS ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-9000CFH ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-9500CCS ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-9500CFH ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-9500CH2 ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-9800CCH ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-9800CCS ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-9800CFH ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-A500 USB Network epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-M5000 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-M5500 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-M5500F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-M5600 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    LP-M6000 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ME 200 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ME 300 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ME OFFICE 510 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ME Office 600F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ME OFFICE 650FN Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    ME Office 700FW USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 600 SCSI sane-umaxsane-umax
    Perfection 610 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 610 USB sane-epsonsane-epson
    Perfection 636 SCSI sane-epsonsane-epson
    Perfection 636S SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 636S SCSI sane-epsonsane-epson
    Perfection 636U USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 636U USB sane-epsonsane-epson
    Perfection 640 USB sane-epsonsane-epson
    Perfection 640U USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 660 USB sane-snapscansane-snapscan
    Perfection 1200Photo USB sane-epsonsane-epson
    Perfection 1200S SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 1200S SCSI sane-epsonsane-epson
    Perfection 1200U USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 1200U USB sane-epsonsane-epson
    Perfection 1200U PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 1240 SCSI USB sane-epsonsane-epson
    Perfection 1240U USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 1250 USB sane-plusteksane-plustek
    Perfection 1250 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 1250Photo USB sane-plusteksane-plustek
    Perfection 1260 USB sane-plusteksane-plustek
    Perfection 1260 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 1260Photo USB sane-plusteksane-plustek
    Perfection 1270 USB sane-snapscansane-snapscan
    Perfection 1600 SCSI epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 1640 SCSI USB sane-epsonsane-epson
    Perfection 1640SU SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 1640SU PHOTO SCSI USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 1650 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 1650 USB sane-epsonsane-epson
    Perfection 1650 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 1660 USB sane-epsonsane-epson
    Perfection 1660 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 1670 USB sane-snapscansane-snapscan
    Perfection 1670 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 2400 USB sane-epsonsane-epson
    Perfection 2400 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 2450 USB IEEE-1394 sane-epsonsane-epson
    Perfection 2450 PHOTO USB IEEE-1394 epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 2480 USB sane-snapscansane-snapscan
    Perfection 2480 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 2580 USB sane-snapscansane-snapscan
    Perfection 2580 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 3170 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 3200 USB IEEE-1394 sane-epsonsane-epson
    Perfection 3200 PHOTO USB IEEE-1394 epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 3490 USB sane-snapscansane-snapscan
    Perfection 3490 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 3590 USB sane-snapscansane-snapscan
    Perfection 3590 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 4180 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 4490 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 4870 USB sane-epsonsane-epson
    Perfection 4870 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 4990 USB sane-epsonsane-epson
    Perfection 4990 PHOTO USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection 4990 Pro USB IEEE1394 epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection V10 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection V30 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection V100 Photo USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection V200 Photo USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection V300 Photo USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection V350 Photo USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection V500 Photo USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection V600 Photo USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection V700 Photo USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Perfection V750 Photo USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-A700 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-A750 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-A820 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-A840 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-A840S USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-A850 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-A870 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-A890 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-A900 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-A920 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-A940 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-A950 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-A970 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-T960 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PM-T990 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PX-401A USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PX-402A USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PX-501A USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PX-502A USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PX-601F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PX-A550 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PX-A620 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PX-A640 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PX-A650 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PX-A720 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PX-A740 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    PX-FA700 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    RX-425 USB sane-epsonsane-epson
    RX-500 USB sane-epsonsane-epson
    RX-600 USB sane-epsonsane-epson
    RX-620 USB sane-epsonsane-epson
    RX-700 USB sane-epsonsane-epson
    Stylus CX-1500 USB sane-snapscansane-snapscan
    Stylus CX-5800 USBUnsupported Probably unsupported at the moment. Not compatible to snapscan backend. It's not known if it may work with epson or epkowa backend. -unsupported +unsupported
    (2010-06-09)
    ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX2800 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX2900 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX3100 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX3200 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX3500 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX3600 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX3650 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX3700 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX3800 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX3810 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX3900 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX4100 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX4200 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX4300 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX4400 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX4500 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX4600 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX4700 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX4800 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX4900 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX5000 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX5100 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX5200 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX5300 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX5400 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX5500 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX5600 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX5700F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX5800F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX5900 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX6000 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX6300 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX6400 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX6500 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX6600 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX6900F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX7000F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX7300 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX7400 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX7700 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX7800 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX8300 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX8400 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX9300F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus CX9400Fax USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus DX3800 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus DX3850 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus DX4000 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus DX4200 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus DX4400 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus DX4450
    Stylus DX4450 USB 0x04b8/0x083f Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus DX4850 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus DX5000 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus DX6000 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus DX7000F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus DX7400 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus DX8400 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus DX9400F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus NX100 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus NX110 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus NX200 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus NX210 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus NX300 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus NX400 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus NX410 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus NX510 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Office BX300F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Office BX310FN Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Office BX600FW USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Office BX610FW Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Office TX300F USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Office TX510FN Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Office TX600FW USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Office TX610FW Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo PX650 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo PX700W USB Network epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo PX710W Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo PX800FW USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo PX810FW Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX420 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX425 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX430 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX500 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX510 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX520 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX530 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX560 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX580 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX585 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX590 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX595 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX600 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX610 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX620 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX630 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX640 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX650 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX680 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX685 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX690 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo RX700 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo TX650 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo TX700W USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo TX710W Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Photo TX800FW USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Scan 2000 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus Scan 2500 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus SX100 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus SX110 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus SX125 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus SX200 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus SX205 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus SX210 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus SX400 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus SX405 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus SX410 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus SX510W Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus SX600FW USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus SX610FW Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus TX100 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus TX110 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus TX200 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus TX203 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus TX209 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus TX210 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus TX400 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus TX410 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    Stylus TX550W Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    StylusScan 2000 USBUnsupported Probably unsupported. No details known. -unsupported +unsupported
    (2010-06-09)
    ? sane-epsonsane-epson
    V750 USB IEEE-1394 sane-epsonsane-epson
    WorkForce 310 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    WorkForce 500 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    WorkForce 600 USB epson2
    (1.0.124)
    sane-epson2sane-epson2
    WorkForce 610 Series USB epson2
    (1.0.124)
    sane-epson2sane-epson2

    Manufacturer: Escom

    @@ -10209,7 +10209,7 @@ epson2
    (1.0.124) umax
    (1.0-41) -sane-umax +sane-umax

    Manufacturer: Escort

    @@ -10234,12 +10234,12 @@ epson2
    (1.0.124) umax
    (1.0-41) -sane-umax +sane-umax

    Manufacturer: Fujitsu

    -Link(s): +Link(s): http://www.fujitsu.com, http://www.fujitsu.com/, http://www.fcpa.fujitsu.com/products/scanners/

    @@ -10261,7 +10261,7 @@ epson2
    (1.0.124) gt68xx
    (1.0-84) - + @@ -10272,7 +10272,7 @@ epson2
    (1.0.124) epjitsu
    (20) - + @@ -10283,7 +10283,7 @@ epson2
    (1.0.124) avision
    (Build: 296) - + @@ -10294,7 +10294,7 @@ epson2
    (1.0.124) ma1509
    (1.0-3) - + @@ -10305,7 +10305,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10316,7 +10316,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10327,7 +10327,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10338,7 +10338,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10349,7 +10349,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10360,7 +10360,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10371,7 +10371,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10382,7 +10382,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10393,7 +10393,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10404,7 +10404,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10415,7 +10415,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10426,7 +10426,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10437,7 +10437,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10448,7 +10448,7 @@ epson2
    (1.0.124) avision
    (Build: 296) - + @@ -10459,7 +10459,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10470,7 +10470,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10481,7 +10481,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10492,7 +10492,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10503,7 +10503,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10514,7 +10514,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10525,7 +10525,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10536,7 +10536,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10547,7 +10547,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10558,7 +10558,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10569,7 +10569,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10580,7 +10580,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10591,7 +10591,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10602,7 +10602,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10613,7 +10613,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10624,7 +10624,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10635,7 +10635,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10646,7 +10646,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10657,7 +10657,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10668,7 +10668,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10679,7 +10679,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10690,7 +10690,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10701,7 +10701,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10712,7 +10712,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10723,7 +10723,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10734,7 +10734,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10745,7 +10745,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10756,7 +10756,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10767,7 +10767,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10778,7 +10778,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10789,7 +10789,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10800,7 +10800,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10811,7 +10811,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10822,7 +10822,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10833,7 +10833,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10844,7 +10844,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10855,7 +10855,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10866,7 +10866,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10877,7 +10877,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10888,7 +10888,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10899,7 +10899,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10910,7 +10910,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10921,7 +10921,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10932,7 +10932,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10943,7 +10943,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10954,7 +10954,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10965,7 +10965,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10976,7 +10976,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10987,7 +10987,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -10998,7 +10998,7 @@ epson2
    (1.0.124) fujitsu
    (117) - + @@ -11009,7 +11009,7 @@ epson2
    (1.0.124) avision
    (Build: 296) - + @@ -11020,7 +11020,7 @@ epson2
    (1.0.124) avision
    (Build: 296) - + @@ -11031,7 +11031,7 @@ epson2
    (1.0.124) avision
    (Build: 296) - + @@ -11041,7 +11041,7 @@ epson2
    (1.0.124) - + @@ -11052,7 +11052,7 @@ sp15c
    (unmaintained) avision
    (Build: 296) - + @@ -11062,7 +11062,7 @@ sp15c
    (unmaintained) - + @@ -11073,7 +11073,7 @@ sp15c
    (unmaintained) avision
    (Build: 296) - + @@ -11084,7 +11084,7 @@ sp15c
    (unmaintained) avision
    (Build: 296) - + @@ -11095,7 +11095,7 @@ sp15c
    (unmaintained) fujitsu
    (117) - + @@ -11106,7 +11106,7 @@ sp15c
    (unmaintained) fujitsu
    (117) - + @@ -11117,7 +11117,7 @@ sp15c
    (unmaintained) fujitsu
    (117) - + @@ -11128,7 +11128,7 @@ sp15c
    (unmaintained) epjitsu
    (20) - + @@ -11139,7 +11139,7 @@ sp15c
    (unmaintained) epjitsu
    (20) - + @@ -11150,7 +11150,7 @@ sp15c
    (unmaintained) fujitsu
    (117) - + @@ -11161,7 +11161,7 @@ sp15c
    (unmaintained) fujitsu
    (117) - + @@ -11172,7 +11172,7 @@ sp15c
    (unmaintained) fujitsu
    (117) - + @@ -11183,7 +11183,7 @@ sp15c
    (unmaintained) fujitsu
    (117) - + @@ -11194,7 +11194,7 @@ sp15c
    (unmaintained) epjitsu
    (20) - + @@ -11205,7 +11205,7 @@ sp15c
    (unmaintained) epjitsu
    (20) - + @@ -11216,7 +11216,7 @@ sp15c
    (unmaintained) fujitsu
    (117) - + @@ -11227,7 +11227,7 @@ sp15c
    (unmaintained) fujitsu
    (117) - + @@ -11238,7 +11238,7 @@ sp15c
    (unmaintained) avision
    (Build: 296) - +
    sane-gt68xxsane-gt68xx
    fi-60F USB sane-epjitsusane-epjitsu
    fi-4010CU USB sane-avisionsane-avision
    fi-4110EOX/2/3 USB sane-ma1509sane-ma1509
    fi-4120C SCSI USB sane-fujitsusane-fujitsu
    fi-4120C2 SCSI USB sane-fujitsusane-fujitsu
    fi-4220C SCSI USB sane-fujitsusane-fujitsu
    fi-4220C2 SCSI USB sane-fujitsusane-fujitsu
    fi-4340C SCSI USB sane-fujitsusane-fujitsu
    fi-4530C SCSI USB sane-fujitsusane-fujitsu
    fi-4640S SCSI sane-fujitsusane-fujitsu
    fi-4750C SCSI sane-fujitsusane-fujitsu
    fi-4750L SCSI sane-fujitsusane-fujitsu
    fi-4860C SCSI sane-fujitsusane-fujitsu
    fi-4860C2 SCSI sane-fujitsusane-fujitsu
    fi-4990C SCSI sane-fujitsusane-fujitsu
    fi-5000N Ethernet sane-fujitsusane-fujitsu
    fi-5015C USB sane-avisionsane-avision
    fi-5110C USB sane-fujitsusane-fujitsu
    fi-5110EOX/2 USB sane-fujitsusane-fujitsu
    fi-5110EOX3 USB sane-fujitsusane-fujitsu
    fi-5110EOXM USB sane-fujitsusane-fujitsu
    fi-5120C SCSI USB sane-fujitsusane-fujitsu
    fi-5220C SCSI USB sane-fujitsusane-fujitsu
    fi-5530C SCSI USB sane-fujitsusane-fujitsu
    fi-5530C2 SCSI USB sane-fujitsusane-fujitsu
    fi-5650C SCSI USB sane-fujitsusane-fujitsu
    fi-5750C SCSI USB sane-fujitsusane-fujitsu
    fi-5900C SCSI USB sane-fujitsusane-fujitsu
    fi-5950 SCSI USB sane-fujitsusane-fujitsu
    fi-6000NS Ethernet sane-fujitsusane-fujitsu
    fi-6110 USB sane-fujitsusane-fujitsu
    fi-6130 USB sane-fujitsusane-fujitsu
    fi-6130Z USB sane-fujitsusane-fujitsu
    fi-6140 SCSI USB sane-fujitsusane-fujitsu
    fi-6140Z SCSI USB sane-fujitsusane-fujitsu
    fi-6230 USB sane-fujitsusane-fujitsu
    fi-6230Z USB sane-fujitsusane-fujitsu
    fi-6240 SCSI USB sane-fujitsusane-fujitsu
    fi-6240Z SCSI USB sane-fujitsusane-fujitsu
    fi-6670 SCSI USB sane-fujitsusane-fujitsu
    fi-6670A SCSI USB sane-fujitsusane-fujitsu
    fi-6750S USB sane-fujitsusane-fujitsu
    fi-6770 SCSI USB sane-fujitsusane-fujitsu
    fi-6770A SCSI USB sane-fujitsusane-fujitsu
    fi-6800 SCSI USB sane-fujitsusane-fujitsu
    fi-6800-CGA SCSI USB sane-fujitsusane-fujitsu
    M3091DC SCSI sane-fujitsusane-fujitsu
    M3092DC SCSI sane-fujitsusane-fujitsu
    M3093DE RS232C/Video sane-fujitsusane-fujitsu
    M3093DG SCSI sane-fujitsusane-fujitsu
    M3093E RS232C/Video sane-fujitsusane-fujitsu
    M3093EX RS232C/Video sane-fujitsusane-fujitsu
    M3093GX SCSI sane-fujitsusane-fujitsu
    M3096EX RS232C/Video sane-fujitsusane-fujitsu
    M3096GX SCSI sane-fujitsusane-fujitsu
    M3097DE RS232C/Video sane-fujitsusane-fujitsu
    M3097DG SCSI sane-fujitsusane-fujitsu
    M3097E+ RS232C/Video sane-fujitsusane-fujitsu
    M3097G+ SCSI sane-fujitsusane-fujitsu
    M3099A RS232C/Video sane-fujitsusane-fujitsu
    M3099EH RS232C/Video sane-fujitsusane-fujitsu
    M3099EX RS232C/Video sane-fujitsusane-fujitsu
    M3099G SCSI sane-fujitsusane-fujitsu
    M3099GH SCSI sane-fujitsusane-fujitsu
    M3099GX SCSI sane-fujitsusane-fujitsu
    M4097D SCSI sane-fujitsusane-fujitsu
    M4099D SCSI sane-fujitsusane-fujitsu
    ScanPartner SCSI sane-avisionsane-avision
    ScanPartner 10 SCSI sane-avisionsane-avision
    ScanPartner 10C SCSI sane-avisionsane-avision
    ScanPartner 15C SCSI sp15c
    (unmaintained)
    sane-sp15csane-sp15c
    ScanPartner 300C SCSI sane-avisionsane-avision
    ScanPartner 600C SCSI sp15c
    (unmaintained)
    sane-sp15csane-sp15c
    ScanPartner 620C SCSI sane-avisionsane-avision
    ScanPartner Jr SCSI sane-avisionsane-avision
    ScanSnap fi-6010N Ethernet sane-fujitsusane-fujitsu
    ScanSnap iX500 USB WiFi sane-fujitsusane-fujitsu
    ScanSnap N1800 Ethernet sane-fujitsusane-fujitsu
    ScanSnap S300 USB sane-epjitsusane-epjitsu
    ScanSnap S300M USB sane-epjitsusane-epjitsu
    ScanSnap S500 USB sane-fujitsusane-fujitsu
    ScanSnap S500M USB sane-fujitsusane-fujitsu
    ScanSnap S510 USB sane-fujitsusane-fujitsu
    ScanSnap S510M USB sane-fujitsusane-fujitsu
    ScanSnap S1100 USB sane-epjitsusane-epjitsu
    ScanSnap S1300 USB sane-epjitsusane-epjitsu
    ScanSnap S1500 USB sane-fujitsusane-fujitsu
    ScanSnap S1500M USB sane-fujitsusane-fujitsu
    ScanStation SCSI sane-avisionsane-avision

    Manufacturer: Gallery

    @@ -11263,12 +11263,12 @@ sp15c
    (unmaintained) mustek_pp
    (13) -sane-mustek_pp +sane-mustek_pp

    Manufacturer: Genius

    -Link(s): +Link(s): http://www.genius-kye.com/, http://www.geniusmouse.co.uk/, http://www.geniusnet.com.tw/

    @@ -11281,13 +11281,13 @@ sp15c
    (unmaintained) - + @@ -11301,7 +11301,7 @@ sp15c
    (unmaintained) u12
    (0.02) - + @@ -11312,7 +11312,7 @@ sp15c
    (unmaintained) plustek
    (0.52) - + @@ -11323,7 +11323,7 @@ sp15c
    (unmaintained) plustek
    (0.52) - + @@ -11334,7 +11334,7 @@ sp15c
    (unmaintained) plustek
    (0.52) - + @@ -11345,7 +11345,7 @@ sp15c
    (unmaintained) plustek
    (0.52) - + @@ -11356,15 +11356,15 @@ sp15c
    (unmaintained) plustek_pp
    (0.43) - + - + @@ -11378,7 +11378,7 @@ sp15c
    (unmaintained) plustek
    (0.52) - + @@ -11389,37 +11389,37 @@ sp15c
    (unmaintained) plustek
    (0.52) - + - + - + - + @@ -11433,7 +11433,7 @@ sp15c
    (unmaintained) gt68xx
    (1.0-84) - + @@ -11444,7 +11444,7 @@ sp15c
    (unmaintained) gt68xx
    (1.0-84) - + @@ -11455,7 +11455,7 @@ sp15c
    (unmaintained) gt68xx
    (1.0-84) - + @@ -11466,7 +11466,7 @@ sp15c
    (unmaintained) gt68xx
    (1.0-84) - + @@ -11477,7 +11477,7 @@ sp15c
    (unmaintained) u12
    (0.02) - + @@ -11488,7 +11488,7 @@ sp15c
    (unmaintained) plustek_pp
    (0.43) - + @@ -11499,7 +11499,7 @@ sp15c
    (unmaintained) plustek_pp
    (0.43) - + @@ -11510,7 +11510,7 @@ sp15c
    (unmaintained) gt68xx
    (1.0-84) - + @@ -11521,7 +11521,7 @@ sp15c
    (unmaintained) gt68xx
    (1.0-84) - + @@ -11532,7 +11532,7 @@ sp15c
    (unmaintained) gt68xx
    (1.0-84) - + @@ -11543,7 +11543,7 @@ sp15c
    (unmaintained) gt68xx
    (1.0-84) - + @@ -11554,7 +11554,7 @@ sp15c
    (unmaintained) gt68xx
    (1.0-84) - + @@ -11565,7 +11565,7 @@ sp15c
    (unmaintained) gt68xx
    (1.0-84) - + @@ -11576,7 +11576,7 @@ sp15c
    (unmaintained) microtek2
    (unmaintained) - + @@ -11587,7 +11587,7 @@ sp15c
    (unmaintained) umax
    (1.0-41) - + @@ -11598,15 +11598,15 @@ sp15c
    (unmaintained) umax_pp
    (1) - + - + @@ -11620,7 +11620,7 @@ sp15c
    (unmaintained) microtek
    (0.13.1) - + @@ -11631,7 +11631,7 @@ sp15c
    (unmaintained) leo
    (1.0-10) - +
    Backend Manpage
    ColorPage CS
    ColorPage CS SCSI   Unsupported Probably unsupported, see link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-u12sane-u12
    Colorpage HR6 V2 USB sane-plusteksane-plustek
    Colorpage HR6 V2 USB sane-plusteksane-plustek
    Colorpage HR6A USB sane-plusteksane-plustek
    Colorpage HR6X USB sane-plusteksane-plustek
    Colorpage HR6X EPP Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    ColorPage HR6X Slim
    ColorPage HR6X Slim USB 0x0458/0x2019 Unsupported GL646 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ? sane-plusteksane-plustek
    Colorpage HR7LE USB sane-plusteksane-plustek
    ColorPage HR7X
    ColorPage HR7X USB 0x0458/0x2018 Unsupported GL646 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?
    ColorPage HR7XE
    ColorPage HR7XE USB 0x06dc/0x0012 Unsupported Unsuported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    ColorPage HR8
    ColorPage HR8 USB 0x0458/0x201c Unsupported GL841 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ? sane-gt68xxsane-gt68xx
    ColorPage Slim 1200 USB sane-gt68xxsane-gt68xx
    Colorpage Vivid 1200 X USB sane-gt68xxsane-gt68xx
    Colorpage Vivid 1200 XE USB sane-gt68xxsane-gt68xx
    ColorPage Vivid III USB USB sane-u12sane-u12
    Colorpage Vivid III V2 Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    Colorpage Vivid Pro II Film Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    Colorpage Vivid3 V2 USB sane-gt68xxsane-gt68xx
    Colorpage Vivid3x USB sane-gt68xxsane-gt68xx
    Colorpage Vivid3xe USB sane-gt68xxsane-gt68xx
    Colorpage Vivid4 USB sane-gt68xxsane-gt68xx
    Colorpage Vivid4x USB sane-gt68xxsane-gt68xx
    Colorpage Vivid4xe USB sane-gt68xxsane-gt68xx
    ColorPage-EP Parport sane-microtek2sane-microtek2
    ColorPage-HR5 (Pro) SCSI sane-umaxsane-umax
    ColorPage-Life Pro Parport (EPP/ECP) sane-umax_ppsane-umax_pp
    ColorPage-Slim 1200 USB2
    ColorPage-Slim 1200 USB2 USB 0x0458/0x2020 Unsupported GL841 based, to be added to genesys backend. -unsupported +unsupported
    (2010-06-09)
    ? sane-microteksane-microtek
    FS-1130 Colorpage Scanner SCSI sane-leosane-leo

    Manufacturer: Googlegear

    @@ -11656,7 +11656,7 @@ sp15c
    (unmaintained) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx

    Manufacturer: Guillemot

    @@ -11678,18 +11678,18 @@ sp15c
    (unmaintained) Unsupported Probably unsupported. Identical to the Benq Prisa 620P. -unsupported +unsupported
    (2010-06-09) ? -SCAN@HOME 48 USB +SCAN@HOME 48 USB USB 0x080d/0x0102 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -11697,7 +11697,7 @@ sp15c
    (unmaintained)

    Manufacturer: Guillemot / Hercules

    -Link(s): +Link(s): http://www.guillemot.com

    @@ -11719,7 +11719,7 @@ sp15c
    (unmaintained) SnapScan
    (1.4) - + @@ -11730,7 +11730,7 @@ sp15c
    (unmaintained) SnapScan
    (1.4) - + @@ -11741,7 +11741,7 @@ sp15c
    (unmaintained) SnapScan
    (1.4) - + @@ -11752,7 +11752,7 @@ sp15c
    (unmaintained) SnapScan
    (1.4) - +
    sane-snapscansane-snapscan
    Maxi Scan A4 Deluxe (SCSI) SCSI sane-snapscansane-snapscan
    Maxi Scan A4 USB 640U USB sane-snapscansane-snapscan
    Scan@home Touch 1248 (USB) USB sane-snapscansane-snapscan

    Manufacturer: Hercules

    @@ -11768,13 +11768,13 @@ sp15c
    (unmaintained) Backend Manpage -SCAN@HOME 48 USB +SCAN@HOME 48 USB USB 0x080d/0x0102 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -11782,7 +11782,7 @@ sp15c
    (unmaintained)

    Manufacturer: Hewlett-Packard

    -Link(s): +Link(s): http://www.hp.com, http://www.hp.com/

    @@ -11803,7 +11803,7 @@ sp15c
    (unmaintained) - + @@ -11813,7 +11813,7 @@ hpljm1005
    (0) - + @@ -11823,15 +11823,15 @@ hpljm1005
    (0) - + - + @@ -11842,29 +11842,29 @@ hpljm1005
    (0) - + - + @@ -11878,26 +11878,26 @@ hpljm1005
    (0) hp
    (1.06) - + - + - + @@ -11911,7 +11911,7 @@ hpljm1005
    (0) hp
    (1.06) - + @@ -11922,7 +11922,7 @@ hpljm1005
    (0) hp
    (1.06) - + @@ -11933,7 +11933,7 @@ hpljm1005
    (0) hp
    (1.06) - + @@ -11944,7 +11944,7 @@ hpljm1005
    (0) hp
    (1.06) - + @@ -11955,7 +11955,7 @@ hpljm1005
    (0) hp
    (1.06) - + @@ -11966,7 +11966,7 @@ hpljm1005
    (0) hpsj5s
    (0.03) - + @@ -11977,7 +11977,7 @@ hpljm1005
    (0) plustek
    (0.52) - + @@ -11988,7 +11988,7 @@ hpljm1005
    (0) plustek
    (0.52) - + @@ -11999,7 +11999,7 @@ hpljm1005
    (0) genesys
    (1.0-63) - + @@ -12010,7 +12010,7 @@ hpljm1005
    (0) genesys
    (1.0-63) - + @@ -12021,7 +12021,7 @@ hpljm1005
    (0) umax_pp
    (1) - + @@ -12032,7 +12032,7 @@ hpljm1005
    (0) niash
    (0.3) - + @@ -12043,7 +12043,7 @@ hpljm1005
    (0) niash
    (0.3) - + @@ -12054,7 +12054,7 @@ hpljm1005
    (0) hp3500
    (1.1) - + @@ -12065,7 +12065,7 @@ hpljm1005
    (0) hp3500
    (1.1) - + @@ -12076,7 +12076,7 @@ hpljm1005
    (0) hp3500
    (1.1) - + @@ -12087,7 +12087,7 @@ hpljm1005
    (0) genesys
    (1.0-63) - + @@ -12098,7 +12098,7 @@ hpljm1005
    (0) genesys
    (1.0-63) - + @@ -12106,7 +12106,7 @@ hpljm1005
    (0) @@ -12120,7 +12120,7 @@ hpljm1005
    (0) hp3900
    (0.12) - + @@ -12131,7 +12131,7 @@ hpljm1005
    (0) hp3900
    (0.12) - + @@ -12142,7 +12142,7 @@ hpljm1005
    (0) hp3900
    (0.12) - + @@ -12153,7 +12153,7 @@ hpljm1005
    (0) hp
    (1.06) - + @@ -12164,7 +12164,7 @@ hpljm1005
    (0) hp4200
    (1.0-2) - + @@ -12175,7 +12175,7 @@ hpljm1005
    (0) hp4200
    (1.0-2) - + @@ -12186,7 +12186,7 @@ hpljm1005
    (0) hp4200
    (1.0-2) - + @@ -12197,7 +12197,7 @@ hpljm1005
    (0) niash
    (0.3) - + @@ -12208,7 +12208,7 @@ hpljm1005
    (0) niash
    (0.3) - + @@ -12219,7 +12219,7 @@ hpljm1005
    (0) hp3900
    (0.12) - + @@ -12230,7 +12230,7 @@ hpljm1005
    (0) rts8891
    (1.0-0) - + @@ -12241,7 +12241,7 @@ hpljm1005
    (0) rts8891
    (1.0-0) - + @@ -12251,7 +12251,7 @@ hpljm1005
    (0) - + @@ -12261,15 +12261,15 @@ hp5590
    (1.0.5) - + - + @@ -12280,7 +12280,7 @@ hp5590
    (1.0.5) @@ -12294,15 +12294,15 @@ hp5590
    (1.0.5) genesys
    (1.0-63) - + - + @@ -12316,7 +12316,7 @@ hp5590
    (1.0.5) hp
    (1.06) - + @@ -12327,7 +12327,7 @@ hp5590
    (1.0.5) hp
    (1.06) - + @@ -12338,7 +12338,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -12349,7 +12349,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -12360,7 +12360,7 @@ hp5590
    (1.0.5) hp5400
    (1.0-2) - + @@ -12371,7 +12371,7 @@ hp5590
    (1.0.5) hp5400
    (1.0-2) - + @@ -12382,7 +12382,7 @@ hp5590
    (1.0.5) hp5400
    (1.0-2) - + @@ -12392,15 +12392,15 @@ hp5590
    (1.0.5) - + - + @@ -12413,7 +12413,7 @@ hp5590
    (1.0.5) - + @@ -12423,7 +12423,7 @@ hp5590
    (1.0.5) - + @@ -12434,7 +12434,7 @@ hp5590
    (1.0.5) hp
    (1.06) - + @@ -12445,7 +12445,7 @@ hp5590
    (1.0.5) hp
    (1.06) - + @@ -12456,7 +12456,7 @@ hp5590
    (1.0.5) hp
    (1.06) - + @@ -12467,7 +12467,7 @@ hp5590
    (1.0.5) hp
    (1.06) - + @@ -12478,7 +12478,7 @@ hp5590
    (1.0.5) hp
    (1.06) - + @@ -12489,7 +12489,7 @@ hp5590
    (1.0.5) hp
    (1.06) - + @@ -12500,7 +12500,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -12511,7 +12511,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -12522,7 +12522,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -12532,7 +12532,7 @@ hp5590
    (1.0.5) - + @@ -12543,7 +12543,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -12554,7 +12554,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -12565,7 +12565,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -12576,7 +12576,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -12587,7 +12587,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -12598,7 +12598,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -12609,7 +12609,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -12620,7 +12620,7 @@ hp5590
    (1.0.5) genesys
    (1.0-63) - + @@ -12631,7 +12631,7 @@ hp5590
    (1.0.5) hp3900
    (0.12) - + @@ -12642,7 +12642,7 @@ hp5590
    (1.0.5) hp3900
    (0.12) - + @@ -12653,15 +12653,15 @@ hp5590
    (1.0.5) hp3900
    (0.12) - + - + @@ -12675,7 +12675,7 @@ hp5590
    (1.0.5) genesys
    (1.0-63) - + @@ -12686,7 +12686,7 @@ hp5590
    (1.0.5) genesys
    (1.0-63) - + @@ -12697,7 +12697,7 @@ hp5590
    (1.0.5) hp
    (1.06) - + @@ -12708,7 +12708,7 @@ hp5590
    (1.0.5) hp
    (1.06) - + @@ -12719,7 +12719,7 @@ hp5590
    (1.0.5) hp
    (1.06) - + @@ -12730,7 +12730,7 @@ hp5590
    (1.0.5) genesys
    (1.0-63) - + @@ -12741,12 +12741,12 @@ hp5590
    (1.0.5) hp
    (1.06) - +
    hpljm1005
    (0)
    sane-hpljm1005sane-hpljm1005
    LaserJet M1120 MFP USB hpljm1005
    (0)
    sane-hpljm1005sane-hpljm1005
    LaserJet M1120n MFP USB hpljm1005
    (0)
    sane-hpljm1005sane-hpljm1005
    Photo Scanner 1000
    Photo Scanner 1000 USB 0x03f0/0x1001 Unsupported Not supported by SANE. However, it's detected as mass storage device so just mounting it is reported to work. See link for device data. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably not supported by SANE. No details known. 10x15 cm. Maybe similar to Photo Scanner 1000? -unsupported +unsupported
    (2010-06-09)
    ?
    Photosmart C3180
    Photosmart C3180 USB 0x03f0/0x5611 Unsupported Not supported yet by SANE. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Photosmart C5100 series
    Photosmart C5100 series USB 0x03f0/0x5811 Unsupported Not supported yet by SANE. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-hpsane-hp
    Photosmart S20 (C5101A)
    Photosmart S20 (C5101A) USB 0x03f0/0x0102 Unsupported Not supported yet by SANE. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Photosmart S20xi (C7150A)
    Photosmart S20xi (C7150A) USB 0x03f0/0x0102 Unsupported Not supported yet by SANE. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-hpsane-hp
    ScanJet 3p SCSI sane-hpsane-hp
    ScanJet 4c SCSI sane-hpsane-hp
    ScanJet 4p SCSI sane-hpsane-hp
    ScanJet 5p SCSI sane-hpsane-hp
    ScanJet 5s Parport (EPP) sane-hpsj5ssane-hpsj5s
    ScanJet 2100C USB sane-plusteksane-plustek
    ScanJet 2200C USB sane-plusteksane-plustek
    ScanJet 2300C USB sane-genesyssane-genesys
    ScanJet 2400C USB sane-genesyssane-genesys
    Scanjet 3200C Parport (EPP/ECP) sane-umax_ppsane-umax_pp
    ScanJet 3300c USB sane-niashsane-niash
    ScanJet 3400c USB sane-niashsane-niash
    ScanJet 3500C USB sane-hp3500sane-hp3500
    ScanJet 3530C USB sane-hp3500sane-hp3500
    ScanJet 3570C USB sane-hp3500sane-hp3500
    ScanJet 3670C USB sane-genesyssane-genesys
    ScanJet 3690C USB sane-genesyssane-genesys
    ScanJet 3770 USBUnsupported While an external binary-only backend exists, it works only on Linux i386. Therefore the scanner is unsupported on other platforms. -unsupported +unsupported
    (2010-06-09)
    ? sane-hp3900sane-hp3900
    ScanJet 3970c USB sane-hp3900sane-hp3900
    ScanJet 4070 Photosmart USB sane-hp3900sane-hp3900
    ScanJet 4100C USB sane-hpsane-hp
    ScanJet 4200C USB sane-hp4200sane-hp4200
    ScanJet 4200Cse USB sane-hp4200sane-hp4200
    ScanJet 4200Cxi USB sane-hp4200sane-hp4200
    ScanJet 4300c USB sane-niashsane-niash
    ScanJet 4300c/Silitek USB sane-niashsane-niash
    ScanJet 4370 USB sane-hp3900sane-hp3900
    scanjet 4400c USB sane-rts8891sane-rts8891
    scanjet 4470c USB sane-rts8891sane-rts8891
    ScanJet 4500C USB hp5590
    (1.0.5)
    sane-hp5590sane-hp5590
    ScanJet 4570C USB hp5590
    (1.0.5)
    sane-hp5590sane-hp5590
    ScanJet 4600
    ScanJet 4600 USB 0x03f0/0x3005 Unsupported Not supported. See link for details, or http://www.chmil.org/hp4600linux/ for code -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Not supported. See ScanJet 4600 entry. -unsupported +unsupported
    (2010-06-09)
    ? sane-genesyssane-genesys
    ScanJet 4890C
    ScanJet 4890C USB 0x03f0/0x1b05 Unsupported GL843, maybe can be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ? sane-hpsane-hp
    ScanJet 5200C Parport USB sane-hpsane-hp
    ScanJet 5300C USB sane-avisionsane-avision
    ScanJet 5370C USB sane-avisionsane-avision
    ScanJet 5400c USB sane-hp5400sane-hp5400
    ScanJet 5470c USB sane-hp5400sane-hp5400
    ScanJet 5490c USB sane-hp5400sane-hp5400
    ScanJet 5500C USB hp5590
    (1.0.5)
    sane-hp5590sane-hp5590
    ScanJet 5530C Photosmart
    ScanJet 5530C Photosmart USB 0x03f0/0x1605 Unsupported Maybe GL841_HP, but not confirmed, maybe can be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ? hp5590
    (1.0.5)
    sane-hp5590sane-hp5590
    ScanJet 5590 USB hp5590
    (1.0.5)
    sane-hp5590sane-hp5590
    ScanJet 6100C SCSI sane-hpsane-hp
    ScanJet 6200C SCSI USB sane-hpsane-hp
    ScanJet 6250C SCSI USB sane-hpsane-hp
    ScanJet 6300C SCSI USB sane-hpsane-hp
    ScanJet 6350C SCSI USB sane-hpsane-hp
    ScanJet 6390C SCSI USB sane-hpsane-hp
    ScanJet 7400c USB sane-avisionsane-avision
    ScanJet 7450c USB sane-avisionsane-avision
    ScanJet 7490c USB sane-avisionsane-avision
    ScanJet 7650 USB hp5590
    (1.0.5)
    sane-hp5590sane-hp5590
    ScanJet 8200 USB sane-avisionsane-avision
    ScanJet 8250 USB sane-avisionsane-avision
    ScanJet 8270 USB sane-avisionsane-avision
    ScanJet 8290 USB sane-avisionsane-avision
    ScanJet 8300 USB sane-avisionsane-avision
    ScanJet 8350 USB sane-avisionsane-avision
    ScanJet 8390 USB sane-avisionsane-avision
    ScanJet G2410 USB sane-genesyssane-genesys
    ScanJet G2710 USB sane-hp3900sane-hp3900
    ScanJet G3010 USB sane-hp3900sane-hp3900
    ScanJet G3110 USB sane-hp3900sane-hp3900
    ScanJet G4000
    ScanJet G4000 USB 0x03f0/0x4505 Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-genesyssane-genesys
    ScanJet G4050 USB sane-genesyssane-genesys
    ScanJet IIc SCSI sane-hpsane-hp
    ScanJet IIcx SCSI sane-hpsane-hp
    ScanJet IIp SCSI sane-hpsane-hp
    ScanJet N6310 USB sane-genesyssane-genesys
    ScanJet Plus Propietary sane-hpsane-hp

    Manufacturer: IBM

    -Link(s): +Link(s): http://www.ibm.com/, http://www.ibm.com

    @@ -12768,7 +12768,7 @@ hp5590
    (1.0.5) ibm
    (1.0-4) - + @@ -12776,7 +12776,7 @@ hp5590
    (1.0.5) @@ -12784,7 +12784,7 @@ hp5590
    (1.0.5)
    sane-ibmsane-ibm
    ADF Color Scanner ProprietaryUnsupported Unsupported. Uses proprietary ISA card. Maybe the same as the Plustek Spectra ADF? -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: IOMagic

    -Link(s): +Link(s): http://www.iomagic.com/

    @@ -12797,13 +12797,13 @@ hp5590
    (1.0.5) - + @@ -12811,7 +12811,7 @@ hp5590
    (1.0.5)
    Backend Manpage
    MobileScan USB
    MobileScan USB USB Parport 0x05cb/0x1483 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Iris

    -Link(s): +Link(s): http://irislink.com/

    @@ -12824,35 +12824,35 @@ hp5590
    (1.0.5) - + - + - + @@ -12880,12 +12880,12 @@ hp5590
    (1.0.5) avision
    (Build: 296) - +
    Backend Manpage
    IriScan
    IriScan USB 0x0a53/0x1000 Unsupported Unsupported. LM9832/3. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    IRISCard Pro (IBCR II)
    IRISCard Pro (IBCR II) USB 0x0a38/0x0301 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    IRISPen Translator Executive
    IRISPen Translator Executive USB 0x0f43/0x015a Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-avisionsane-avision

    Manufacturer: Kodak

    -Link(s): +Link(s): http://www.kodak.com, http://www.kodak.com/

    @@ -12907,7 +12907,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -12918,7 +12918,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -12929,7 +12929,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -12940,7 +12940,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -12951,7 +12951,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -12962,7 +12962,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -12973,7 +12973,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -12984,7 +12984,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -12995,7 +12995,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13006,7 +13006,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13017,7 +13017,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13028,7 +13028,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13039,7 +13039,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13050,7 +13050,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13061,7 +13061,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13072,7 +13072,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13083,7 +13083,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13094,7 +13094,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13105,7 +13105,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13116,7 +13116,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13127,7 +13127,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13138,7 +13138,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13149,7 +13149,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13160,7 +13160,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13171,7 +13171,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13182,7 +13182,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13193,7 +13193,7 @@ hp5590
    (1.0.5) kodakaio
    (2.4.6) - + @@ -13204,7 +13204,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -13215,7 +13215,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -13226,7 +13226,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -13237,7 +13237,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -13248,7 +13248,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -13259,7 +13259,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -13270,7 +13270,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - + @@ -13281,7 +13281,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13292,7 +13292,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13303,7 +13303,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13314,7 +13314,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13325,7 +13325,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13336,7 +13336,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13347,7 +13347,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13358,7 +13358,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13369,7 +13369,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13380,7 +13380,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13391,7 +13391,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13402,7 +13402,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13413,7 +13413,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13424,7 +13424,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13435,7 +13435,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13446,7 +13446,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13457,7 +13457,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13468,7 +13468,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13479,7 +13479,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13490,7 +13490,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13501,7 +13501,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13512,7 +13512,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13523,7 +13523,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13534,7 +13534,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13545,7 +13545,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13556,7 +13556,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13567,7 +13567,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13578,7 +13578,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13589,7 +13589,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13600,7 +13600,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13611,7 +13611,7 @@ hp5590
    (1.0.5) kodak
    (7) - + @@ -13619,7 +13619,7 @@ hp5590
    (1.0.5) @@ -13627,7 +13627,7 @@ hp5590
    (1.0.5)
    sane-kodaksane-kodak
    Color Scanner 4500 SCSI sane-kodaksane-kodak
    ESP 5 USB sane-kodakaiosane-kodakaio
    ESP 7 USB sane-kodakaiosane-kodakaio
    ESP 9 USB sane-kodakaiosane-kodakaio
    ESP 2150 USB sane-kodakaiosane-kodakaio
    ESP 2170 USB sane-kodakaiosane-kodakaio
    ESP 3200 USB sane-kodakaiosane-kodakaio
    ESP 3300 USB sane-kodakaiosane-kodakaio
    ESP 4100 USB sane-kodakaiosane-kodakaio
    ESP 5000 USB sane-kodakaiosane-kodakaio
    ESP 5100 USB sane-kodakaiosane-kodakaio
    ESP 5200 USB Ethernet sane-kodakaiosane-kodakaio
    ESP 5300 USB sane-kodakaiosane-kodakaio
    ESP 5500 USB sane-kodakaiosane-kodakaio
    ESP 6100 USB sane-kodakaiosane-kodakaio
    ESP 7200 USB sane-kodakaiosane-kodakaio
    ESP 9200 USB sane-kodakaiosane-kodakaio
    ESP C110 USB sane-kodakaiosane-kodakaio
    ESP C115 USB sane-kodakaiosane-kodakaio
    ESP C310 USB sane-kodakaiosane-kodakaio
    ESP C315 USB sane-kodakaiosane-kodakaio
    Hero 3.1 USB sane-kodakaiosane-kodakaio
    Hero 5.1 USB sane-kodakaiosane-kodakaio
    Hero 7.1 USB sane-kodakaiosane-kodakaio
    Hero 9.1 USB Ethernet sane-kodakaiosane-kodakaio
    Hero Office 6.1 USB sane-kodakaiosane-kodakaio
    i30 USB sane-avisionsane-avision
    i40 USB sane-avisionsane-avision
    i50 USB sane-avisionsane-avision
    i55 USB sane-avisionsane-avision
    i60 USB sane-avisionsane-avision
    i65 USB sane-avisionsane-avision
    i80 USB sane-avisionsane-avision
    i150 Scanner IEEE-1394 sane-kodaksane-kodak
    i160 Scanner IEEE-1394 sane-kodaksane-kodak
    i250 Scanner IEEE-1394 sane-kodaksane-kodak
    i260 Scanner IEEE-1394 sane-kodaksane-kodak
    i280 Scanner IEEE-1394 sane-kodaksane-kodak
    i610 Scanner IEEE-1394 sane-kodaksane-kodak
    i620 Scanner IEEE-1394 sane-kodaksane-kodak
    i640 Scanner IEEE-1394 sane-kodaksane-kodak
    i660 Scanner IEEE-1394 sane-kodaksane-kodak
    i730 Scanner IEEE-1394 sane-kodaksane-kodak
    i750 Scanner IEEE-1394 sane-kodaksane-kodak
    i780 Scanner IEEE-1394 sane-kodaksane-kodak
    i810 Scanner SCSI sane-kodaksane-kodak
    i820 Scanner SCSI sane-kodaksane-kodak
    i830 Scanner SCSI sane-kodaksane-kodak
    i840 Scanner SCSI sane-kodaksane-kodak
    i1840 Scanner IEEE-1394 sane-kodaksane-kodak
    i1860 Scanner IEEE-1394 sane-kodaksane-kodak
    s1740 SCSI sane-kodaksane-kodak
    Scanner 900 SCSI sane-kodaksane-kodak
    Scanner 923 SCSI sane-kodaksane-kodak
    Scanner 1500 SCSI sane-kodaksane-kodak
    Scanner 2500 SCSI sane-kodaksane-kodak
    Scanner 3500 SCSI sane-kodaksane-kodak
    Scanner 3510 SCSI sane-kodaksane-kodak
    Scanner 3520 SCSI sane-kodaksane-kodak
    Scanner 5500 SCSI sane-kodaksane-kodak
    Scanner 7500 SCSI sane-kodaksane-kodak
    Scanner 7520 SCSI sane-kodaksane-kodak
    Scanner 9500 SCSI sane-kodaksane-kodak
    Scanner 9520 SCSI sane-kodaksane-kodak
    Snapshot Photo Scanner 1 ParportUnsupported Unsupported. FCC ID HWF96PHS -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Komodo

    -Link(s): +Link(s): http://www.komodo.com/

    @@ -13649,12 +13649,12 @@ hp5590
    (1.0.5) sceptre
    (1.0-10) - +
    sane-sceptresane-sceptre

    Manufacturer: KONICA MINOLTA

    -Link(s): +Link(s): http://www.konicaminolta.com/

    @@ -13676,7 +13676,7 @@ hp5590
    (1.0.5) magicolor
    (1.0.0) - + @@ -13687,59 +13687,59 @@ hp5590
    (1.0.5) magicolor
    (1.0.0) - + - + - + - + - + - + @@ -13753,7 +13753,7 @@ hp5590
    (1.0.5) magicolor
    (1.0.0) - + @@ -13761,7 +13761,7 @@ hp5590
    (1.0.5) @@ -13789,7 +13789,7 @@ hp5590
    (1.0.5) avision
    (Build: 296) - +
    sane-magicolorsane-magicolor
    DiMage 1611 USB Network sane-magicolorsane-magicolor
    DiMAGE Scan Elite 5400
    DiMAGE Scan Elite 5400 USB IEEE-1394 0x0686/0x400e Unsupported Probably unsupported. May work with vuescan. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    DiMAGE Scan Elite 5400 2
    DiMAGE Scan Elite 5400 2 USB 0x132b/0x0012 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    DiMAGE Scan Multi Pro
    DiMAGE Scan Multi Pro IEEE-1394   Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Dual Scan III
    Dual Scan III USB 0x0686/0x400d Unsupported Unsupported. May work with vuescan. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Dual Scan IV
    Dual Scan IV USB 0x132b/0x000a Unsupported Unsupported. Works with vuescan. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-magicolorsane-magicolor
    magicolor 2480MF USB NetworkUnsupported Uses a different scanning protocol than the magicolor 1690MF -unsupported +unsupported
    (2010-06-09)
    ? sane-avisionsane-avision

    Manufacturer: LEO

    @@ -13814,12 +13814,12 @@ hp5590
    (1.0.5) leo
    (1.0-10) -sane-leo +sane-leo

    Manufacturer: Lexmark

    -Link(s): +Link(s): http://www.lexmark.com/

    @@ -13832,24 +13832,24 @@ hp5590
    (1.0.5) - + - + @@ -13863,7 +13863,7 @@ hp5590
    (1.0.5) lexmark
    (1.0-0) - + @@ -13874,7 +13874,7 @@ hp5590
    (1.0.5) gt68xx
    (1.0-84) - + @@ -13885,7 +13885,7 @@ hp5590
    (1.0.5) gt68xx
    (1.0-84) - + @@ -13896,37 +13896,37 @@ hp5590
    (1.0.5) lexmark
    (1.0-0) - + - + - + - + @@ -13940,7 +13940,7 @@ hp5590
    (1.0.5) lexmark
    (1.0-0) - + @@ -13951,7 +13951,7 @@ hp5590
    (1.0.5) lexmark
    (1.0-0) - + @@ -13962,7 +13962,7 @@ hp5590
    (1.0.5) lexmark
    (1.0-0) - + @@ -13973,7 +13973,7 @@ hp5590
    (1.0.5) lexmark
    (1.0-0) - + @@ -13984,7 +13984,7 @@ hp5590
    (1.0.5) lexmark
    (1.0-0) - + @@ -13995,7 +13995,7 @@ hp5590
    (1.0.5) lexmark
    (1.0-0) - + @@ -14006,7 +14006,7 @@ hp5590
    (1.0.5) lexmark
    (1.0-0) - + @@ -14017,70 +14017,70 @@ hp5590
    (1.0.5) lexmark
    (1.0-0) - + - + - + - + - + - + - + @@ -14091,29 +14091,29 @@ hp5590
    (1.0.5) - + - + @@ -14121,7 +14121,7 @@ hp5590
    (1.0.5)
    Backend Manpage
    P6250
    P6250 USB 0x043d/0x0097 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Photo 3150
    Photo 3150 USB 0x043d/0x007d Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-lexmarksane-lexmark
    X70 USB sane-gt68xxsane-gt68xx
    X73 USB sane-gt68xxsane-gt68xx
    X74 USB sane-lexmarksane-lexmark
    X75
    X75 USB 0x043d/0x0060 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    X75 PrinTrio
    X75 PrinTrio USB 0x043d/0x0060 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    X83
    X83 USB 0x043d/0x003d Unsupported Unsupported. GL640. -unsupported +unsupported
    (2010-06-09)
    ? sane-lexmarksane-lexmark
    X1130 USB sane-lexmarksane-lexmark
    X1140 USB sane-lexmarksane-lexmark
    X1150 USB sane-lexmarksane-lexmark
    X1170 USB sane-lexmarksane-lexmark
    X1180 USB sane-lexmarksane-lexmark
    X1185 USB sane-lexmarksane-lexmark
    X1195 USB sane-lexmarksane-lexmark
    X2330
    X2330 USB 0x043d/0x00bb Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    X3450
    X3450 USB 0x043d/0x00f6 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    X5130
    X5130 USB 0x043d/0x0065 Unsupported Unsupported. -unsupported +unsupported
    (2010-06-09)
    ?
    X5150
    X5150 USB 0x043d/0x0065 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    X5250
    X5250 USB 0x043d/0x0093 Unsupported Unsupported. -unsupported +unsupported
    (2010-06-09)
    ?
    X6170
    X6170 USB 0x043d/0x0072 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Unsupported. See bug #310889 for details. -unsupported +unsupported
    (2010-06-09)
    ?
    X7350
    X7350 USB 0x043d/0x00b8 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    X8350
    X8350 USB 0x043d/0x00b9 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Linotype Hell

    -Link(s): +Link(s): http://www.heidelberg.com/

    @@ -14143,7 +14143,7 @@ hp5590
    (1.0.5) umax
    (1.0-41) - + @@ -14154,7 +14154,7 @@ hp5590
    (1.0.5) umax
    (1.0-41) - + @@ -14165,7 +14165,7 @@ hp5590
    (1.0.5) umax
    (1.0-41) - + @@ -14176,7 +14176,7 @@ hp5590
    (1.0.5) umax
    (1.0-41) - + @@ -14187,7 +14187,7 @@ hp5590
    (1.0.5) umax
    (1.0-41) - + @@ -14198,7 +14198,7 @@ hp5590
    (1.0.5) umax
    (1.0-41) - + @@ -14209,7 +14209,7 @@ hp5590
    (1.0.5) umax
    (1.0-41) - + @@ -14220,7 +14220,7 @@ hp5590
    (1.0.5) umax
    (1.0-41) - + @@ -14231,7 +14231,7 @@ hp5590
    (1.0.5) umax
    (1.0-41) - + @@ -14242,7 +14242,7 @@ hp5590
    (1.0.5) umax
    (1.0-41) - + @@ -14253,7 +14253,7 @@ hp5590
    (1.0.5) umax
    (1.0-41) - + @@ -14264,7 +14264,7 @@ hp5590
    (1.0.5) umax
    (1.0-41) - + @@ -14275,7 +14275,7 @@ hp5590
    (1.0.5) umax
    (1.0-41) - +
    sane-umaxsane-umax
    Jade SCSI sane-umaxsane-umax
    Jade2 SCSI sane-umaxsane-umax
    Linoscan 1400 SCSI sane-umaxsane-umax
    Opal SCSI sane-umaxsane-umax
    Opal Ultra SCSI sane-umaxsane-umax
    Opal2 SCSI sane-umaxsane-umax
    Saphir SCSI sane-umaxsane-umax
    Saphir HiRes SCSI sane-umaxsane-umax
    Saphir Ultra SCSI sane-umaxsane-umax
    Saphir Ultra II SCSI sane-umaxsane-umax
    Saphir2 SCSI sane-umaxsane-umax
    Saphir3 SCSI sane-umaxsane-umax

    Manufacturer: Logitech

    @@ -14297,18 +14297,18 @@ hp5590
    (1.0.5) Unsupported Most probably unsupported. -unsupported +unsupported
    (2010-06-09) ? -PageScan USB +PageScan USB USB 0x046d/0x040f Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -14316,7 +14316,7 @@ hp5590
    (1.0.5)

    Manufacturer: Medion/Lifetec/Tevion/Cytron

    -Link(s): +Link(s): http://www.medion.com, http://www.medion.com/, http://www.medion.de/
    Comment: Sold by Aldi and Tchibo.

    @@ -14339,7 +14339,7 @@ hp5590
    (1.0.5) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx MD 4394 USB @@ -14350,26 +14350,26 @@ hp5590
    (1.0.5) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx -MD 6190 +MD 6190 USB 0x0461/0x037b Unsupported Probably unsupported. There seem to exist two different scanners with that name. See link for details. -unsupported +unsupported
    (2010-06-09) ? -MD 6190 +MD 6190 USB 0x0461/0x0392 Unsupported Probably unsupported. There seem to exist two different scanners with that name. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -14383,7 +14383,7 @@ hp5590
    (1.0.5) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx MD 9806 Parport (EPP) @@ -14394,7 +14394,7 @@ hp5590
    (1.0.5) mustek_pp
    (13) -sane-mustek_pp +sane-mustek_pp MD 9848 Parport (EPP) @@ -14405,48 +14405,48 @@ hp5590
    (1.0.5) mustek_pp
    (13) -sane-mustek_pp +sane-mustek_pp -MD 40420 +MD 40420 USB 0x05da/0x3008 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? -MD 41260 +MD 41260 USB 0x0461/0x037b Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? -MD 41985 +MD 41985 USB 0x0461/0x037b Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? -MD 42666 +MD 42666 USB 0x05da/0x3008 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -14457,40 +14457,40 @@ hp5590
    (1.0.5) Unsupported Fingerprint sensor. See link for details. -unsupported +unsupported
    (2010-06-09) ? -MD 90009 +MD 90009 USB 0x05da/0x30e5 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? -MD 90070 +MD 90070 USB 0x05da/0x3022 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? -MD 90090 +MD 90090 USB 0x05da/0x3022 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -14504,7 +14504,7 @@ hp5590
    (1.0.5) mustek_pp
    (13) -sane-mustek_pp +sane-mustek_pp MD/LT 985x Parport (EPP) @@ -14515,7 +14515,7 @@ hp5590
    (1.0.5) mustek_pp
    (13) -sane-mustek_pp +sane-mustek_pp MD/LT 9375 USB @@ -14526,7 +14526,7 @@ hp5590
    (1.0.5) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx MD/LT 9385 USB @@ -14537,7 +14537,7 @@ hp5590
    (1.0.5) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx MD/LT 9890 Parport (EPP) @@ -14548,7 +14548,7 @@ hp5590
    (1.0.5) mustek_pp
    (13) -sane-mustek_pp +sane-mustek_pp MD4394 USB @@ -14558,7 +14558,7 @@ hp5590
    (1.0.5) artec_eplus48u
    (unmaintained) -sane-artec_eplus48u +sane-artec_eplus48u MD5345 USB @@ -14569,7 +14569,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) -sane-genesys +sane-genesys MD6228 USB @@ -14580,7 +14580,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) -sane-genesys +sane-genesys MD6471 USB @@ -14591,7 +14591,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) -sane-genesys +sane-genesys MD9693 USB @@ -14601,7 +14601,7 @@ artec_eplus48u
    (unmaintained) artec_eplus48u
    (unmaintained) -sane-artec_eplus48u +sane-artec_eplus48u MD9705 USB @@ -14611,12 +14611,12 @@ artec_eplus48u
    (unmaintained) artec_eplus48u
    (unmaintained) -sane-artec_eplus48u +sane-artec_eplus48u

    Manufacturer: Memorex

    -Link(s): +Link(s): http://www.artecusa.com/, http://www.memorex.com/

    @@ -14629,35 +14629,35 @@ artec_eplus48u
    (unmaintained) - + - + - + @@ -14670,15 +14670,15 @@ artec_eplus48u
    (unmaintained) - + - + @@ -14706,12 +14706,12 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) - +
    Backend Manpage
    6136u
    6136u USB 0x0461/0x0346 Unsupported Probably unsupported. -unsupported +unsupported
    (2010-06-09)
    ?
    6142u
    6142u USB 0x0461/0x0347 Unsupported Probably unsupported. Same as Visioneer Onetouch 4400. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    MaxxScan 6122
    MaxxScan 6122 USB Parport 0x05cb/0x1483 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? artec_eplus48u
    (unmaintained)
    sane-artec_eplus48usane-artec_eplus48u
    SCF 9612P
    SCF 9612P Parport   Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-mustek_ppsane-mustek_pp

    Manufacturer: Microstar

    -Link(s): +Link(s): http://www.microstar.de/

    @@ -14732,12 +14732,12 @@ artec_eplus48u
    (unmaintained) - +
    artec_eplus48u
    (unmaintained)
    sane-artec_eplus48usane-artec_eplus48u

    Manufacturer: Microtek

    -Link(s): +Link(s): http://www.microtek.com/
    Comment: Microtek makes a wide variety of devices.

    @@ -14757,7 +14757,7 @@ artec_eplus48u
    (unmaintained) Unsupported Unsupported. Same as Agfa DuoScan T2000XL? -unsupported +unsupported
    (2010-06-09) ? @@ -14768,7 +14768,7 @@ artec_eplus48u
    (unmaintained) Unsupported Unsupported. Same as Agfa DuoScan T2500? -unsupported +unsupported
    (2010-06-09) ? @@ -14779,18 +14779,18 @@ artec_eplus48u
    (unmaintained) Unsupported Unsupported. Uses ALI M5611B. -unsupported +unsupported
    (2010-06-09) ? -ArtixScanDI 2020 +ArtixScanDI 2020 USB 0x05da/0x202e Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -14804,15 +14804,15 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek -FilmScan 35 +FilmScan 35 USB 0x05e3/0x0120 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -14826,7 +14826,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 Phantom 636 SCSI @@ -14837,7 +14837,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 Phantom 636CX Parport @@ -14848,15 +14848,15 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 -ScanMaker 5 +ScanMaker 5 SCSI   Unsupported Probably unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09) ? @@ -14870,7 +14870,7 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek Scanmaker 35t+ SCSI @@ -14881,7 +14881,7 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek Scanmaker 45t SCSI @@ -14892,7 +14892,7 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek ScanMaker 330 SCSI @@ -14903,7 +14903,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker 336 CX SCSI @@ -14911,7 +14911,7 @@ artec_eplus48u
    (unmaintained) Unsupported Probably unsupported. Seems to be similar to the Microtek 330 CX and is detected by the microtek2 backend. Scanning doesn't seem to work however. -unsupported +unsupported
    (2010-06-09) ? @@ -14925,7 +14925,7 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek Scanmaker 600Z(S) SCSI @@ -14936,7 +14936,7 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek ScanMaker 630 SCSI @@ -14947,7 +14947,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker 636 SCSI @@ -14958,15 +14958,15 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 -Scanmaker 1850S +Scanmaker 1850S SCSI   Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -14980,7 +14980,7 @@ artec_eplus48u
    (unmaintained) sm3600
    (0.1) -sane-sm3600 +sane-sm3600 ScanMaker 3600 USB @@ -14991,7 +14991,7 @@ artec_eplus48u
    (unmaintained) sm3600
    (0.1) -sane-sm3600 +sane-sm3600 ScanMaker 3600 USB @@ -15002,15 +15002,15 @@ artec_eplus48u
    (unmaintained) sm3600
    (0.1) -sane-sm3600 +sane-sm3600 -ScanMaker 3630 +ScanMaker 3630 USB 0x0461/0x0347 Unsupported Unsupported. Doesn't seem to be compatible to 3600 series, see link. -unsupported +unsupported
    (2010-06-09) ? @@ -15024,7 +15024,7 @@ artec_eplus48u
    (unmaintained) sm3600
    (0.1) -sane-sm3600 +sane-sm3600 ScanMaker 3700 USB @@ -15035,7 +15035,7 @@ artec_eplus48u
    (unmaintained) sm3600
    (0.1) -sane-sm3600 +sane-sm3600 ScanMaker 3750 USB @@ -15046,26 +15046,26 @@ artec_eplus48u
    (unmaintained) sm3600
    (0.1) -sane-sm3600 +sane-sm3600 -ScanMaker 3800 +ScanMaker 3800 USB 0x05da/0x30ce Unsupported Unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 3830 +ScanMaker 3830 USB 0x05da/0x30ce Unsupported Unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09) ? @@ -15079,48 +15079,48 @@ artec_eplus48u
    (unmaintained) sm3840
    (1.1) -sane-sm3840 +sane-sm3840 -ScanMaker 3860 +ScanMaker 3860 USB 0x05da/0x3023 Unsupported Unsupported. See link for more details. Appears to be similar to ScanMaker 3880. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 3880 +ScanMaker 3880 USB 0x05da/0x3021 Unsupported Unsupported. SQ113 chip. See link for more details. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 4600 +ScanMaker 4600 USB 0x05da/0x40c7 Unsupported Unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 4700 +ScanMaker 4700 USB 0x05da/0x20b4 Unsupported Unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09) ? @@ -15134,48 +15134,48 @@ artec_eplus48u
    (unmaintained) sm3840
    (1.1) -sane-sm3840 +sane-sm3840 -ScanMaker 4850 +ScanMaker 4850 USB 0x05da/0x30d9 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 4850 II +ScanMaker 4850 II USB 0x05da/0x3008 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 4900 +ScanMaker 4900 USB 0x05da/0x30b9 Unsupported Unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 5600 +ScanMaker 5600 USB 0x05da/0x20a7 Unsupported Unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09) ? @@ -15186,73 +15186,73 @@ artec_eplus48u
    (unmaintained) Unsupported Unsupported. Uses ALI M5615 like the ScanMaker 4700. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 5800 +ScanMaker 5800 USB 0x05da/0x30d8 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 5800 +ScanMaker 5800 USB 0x05da/0x3008 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 5900 +ScanMaker 5900 USB 0x05da/0x30d8 Unsupported Unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 5950 +ScanMaker 5950 USB 0x05da/0x30d8 Unsupported Unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 6000 +ScanMaker 6000 USB 0x05da/0x30e5 Unsupported Unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 6100 +ScanMaker 6100 USB 0x05da/0x30e5 Unsupported Unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09) ? @@ -15266,26 +15266,26 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 -ScanMaker 6700 +ScanMaker 6700 USB IEEE-1394 0x05da/0x20c9 Unsupported Unsupported. See link. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 8700 +ScanMaker 8700 USB IEEE-1394 0x05da/0x20b1 Unsupported Unsupported. See link for details. USB vendor and product ids to be checked. -unsupported +unsupported
    (2010-06-09) ? @@ -15296,7 +15296,7 @@ artec_eplus48u
    (unmaintained) Unsupported Probably unsupported. SCSI seems to work with microtek2 backend. -unsupported +unsupported
    (2010-06-09) ? @@ -15310,20 +15310,20 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 -ScanMaker 9800XL +ScanMaker 9800XL USB SCSI 0x05da/0x20de Unsupported Partly unsupported. IEEE-1394 works with microtek2 backend. See link. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker 9800XL +ScanMaker 9800XL IEEE-1394   Minimal @@ -15332,7 +15332,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 Scanmaker E2 SCSI @@ -15343,7 +15343,7 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek Scanmaker E3 SCSI @@ -15354,7 +15354,7 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek ScanMaker E3plus SCSI @@ -15365,7 +15365,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker E3plus Parport @@ -15376,7 +15376,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 Scanmaker E6 SCSI @@ -15387,15 +15387,15 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek -ScanMaker i320 +ScanMaker i320 USB 0x05da/0x30e6 Unsupported Unsupported. See link. -unsupported +unsupported
    (2010-06-09) ? @@ -15409,7 +15409,7 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek Scanmaker IIG SCSI @@ -15420,7 +15420,7 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek Scanmaker IIHR SCSI @@ -15431,7 +15431,7 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek Scanmaker III SCSI @@ -15442,7 +15442,7 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek Scanmaker IISP SCSI @@ -15453,26 +15453,26 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) -sane-microtek +sane-microtek -ScanMaker S400 +ScanMaker S400 USB 0x05da/0x300b Unsupported Unsupported. See link. -unsupported +unsupported
    (2010-06-09) ? -ScanMaker s400 +ScanMaker s400 USB 0x05da/0x201c Unsupported Unsupported. See link. -unsupported +unsupported
    (2010-06-09) ? @@ -15486,7 +15486,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker V6USL USB @@ -15497,7 +15497,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker V6USL USB @@ -15508,7 +15508,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker V6USL SCSI @@ -15519,7 +15519,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker V300 Parport @@ -15530,7 +15530,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker V300 SCSI @@ -15541,7 +15541,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker V310 Parport @@ -15552,7 +15552,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker V310 SCSI @@ -15563,7 +15563,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker V600 Parport @@ -15574,7 +15574,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker V600 SCSI @@ -15585,7 +15585,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker X6 SCSI @@ -15596,7 +15596,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker X6EL SCSI @@ -15607,7 +15607,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker X6USB USB @@ -15618,7 +15618,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 ScanMaker X12USL SCSI @@ -15629,15 +15629,15 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 -ScanPort 3000 +ScanPort 3000 USB 0x04a7/0x0224 Unsupported Unsupported. Vendor/Product ids: 0x04a7/0x0224. Realtek RTS8801B?. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -15651,7 +15651,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2 SlimScan C6 USB @@ -15662,12 +15662,12 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) -sane-microtek2 +sane-microtek2

    Manufacturer: Minolta

    -Link(s): +Link(s): http://www.minolta.com

    @@ -15689,7 +15689,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -15700,7 +15700,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -15711,7 +15711,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -15722,7 +15722,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -15733,7 +15733,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -15744,7 +15744,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - +
    sane-avisionsane-avision
    Dimage Scan Dual II USB sane-avisionsane-avision
    Dimage Scan Dual III USB sane-avisionsane-avision
    Dimage Scan Elite 5400 USB sane-avisionsane-avision
    Elite II USB sane-avisionsane-avision
    Scan Multi Pro SCSI sane-avisionsane-avision

    Manufacturer: Minolta-QMS

    @@ -15769,7 +15769,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) -sane-avision +sane-avision SC-215 USB @@ -15780,12 +15780,12 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) -sane-avision +sane-avision

    Manufacturer: Mitsubishi

    -Link(s): +Link(s): http://www.mitsubishi.com

    @@ -15807,7 +15807,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) - + @@ -15818,7 +15818,7 @@ artec_eplus48u
    (unmaintained) SnapScan
    (1.4) - + @@ -15829,7 +15829,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -15840,7 +15840,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -15851,7 +15851,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -15862,12 +15862,12 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - +
    sane-snapscansane-snapscan
    Diamondview 650U USB sane-snapscansane-snapscan
    MCA-ADFC SCSI sane-avisionsane-avision
    S600C SCSI sane-avisionsane-avision
    S1200C SCSI sane-avisionsane-avision
    SS600 SCSI sane-avisionsane-avision

    Manufacturer: Mustek

    -Link(s): +Link(s): http://www.mustek.com/, http://www.mustek.com.tw/, http://www.mustek.de/

    @@ -15889,7 +15889,7 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) - + @@ -15900,7 +15900,7 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) - + @@ -15908,7 +15908,7 @@ artec_eplus48u
    (unmaintained) @@ -15919,7 +15919,7 @@ artec_eplus48u
    (unmaintained) @@ -15933,7 +15933,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -15944,7 +15944,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -15955,7 +15955,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -15966,7 +15966,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -15977,7 +15977,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -15988,7 +15988,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -15999,7 +15999,7 @@ artec_eplus48u
    (unmaintained) ma1509
    (1.0-3) - + @@ -16010,7 +16010,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16021,7 +16021,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16032,7 +16032,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -16043,7 +16043,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16054,7 +16054,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16065,7 +16065,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16076,7 +16076,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16087,7 +16087,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16098,7 +16098,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16106,7 +16106,7 @@ artec_eplus48u
    (unmaintained) @@ -16120,15 +16120,15 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + - + @@ -16142,7 +16142,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16153,26 +16153,26 @@ artec_eplus48u
    (unmaintained) mustek_usb2
    (1.0-10) - + - + - + @@ -16183,7 +16183,7 @@ artec_eplus48u
    (unmaintained) @@ -16197,7 +16197,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16208,7 +16208,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16219,7 +16219,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16230,7 +16230,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16238,7 +16238,7 @@ artec_eplus48u
    (unmaintained) @@ -16252,7 +16252,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16263,7 +16263,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16274,7 +16274,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16285,7 +16285,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16296,7 +16296,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16307,7 +16307,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16318,7 +16318,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16329,7 +16329,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16340,7 +16340,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16351,7 +16351,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16362,7 +16362,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16373,7 +16373,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16384,7 +16384,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16395,7 +16395,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16406,7 +16406,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16417,7 +16417,7 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) - + @@ -16428,7 +16428,7 @@ artec_eplus48u
    (unmaintained) mustek_usb
    (1.0-18) - + @@ -16439,7 +16439,7 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) - + @@ -16447,7 +16447,7 @@ artec_eplus48u
    (unmaintained) @@ -16461,7 +16461,7 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) - + @@ -16472,7 +16472,7 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) - + @@ -16483,7 +16483,7 @@ artec_eplus48u
    (unmaintained) mustek_usb
    (1.0-18) - + @@ -16494,7 +16494,7 @@ artec_eplus48u
    (unmaintained) mustek_usb
    (1.0-18) - + @@ -16505,7 +16505,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16516,7 +16516,7 @@ artec_eplus48u
    (unmaintained) mustek_usb
    (1.0-18) - + @@ -16527,7 +16527,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16535,7 +16535,7 @@ artec_eplus48u
    (unmaintained) @@ -16546,7 +16546,7 @@ artec_eplus48u
    (unmaintained) @@ -16560,7 +16560,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16571,7 +16571,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16582,7 +16582,7 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) - + @@ -16593,7 +16593,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16601,7 +16601,7 @@ artec_eplus48u
    (unmaintained) @@ -16615,7 +16615,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16626,7 +16626,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16634,7 +16634,7 @@ artec_eplus48u
    (unmaintained) @@ -16648,7 +16648,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16659,7 +16659,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16667,7 +16667,7 @@ artec_eplus48u
    (unmaintained) @@ -16681,7 +16681,7 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) - + @@ -16692,7 +16692,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16703,7 +16703,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + @@ -16714,7 +16714,7 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) - + @@ -16725,15 +16725,15 @@ artec_eplus48u
    (unmaintained) teco2
    (1.0-9) - + - + @@ -16747,7 +16747,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16758,7 +16758,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - + @@ -16769,7 +16769,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) - +
    sane-mustek_ppsane-mustek_pp
    600 III EP Plus Parport (EPP) sane-mustek_ppsane-mustek_pp
    1200 III EP ParportUnsupported Probably not supported. quarlewm at jmu dot edu offers to temporarily loan such a scanner to anyone who is interested in writing a driver. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. No details known. -unsupported +unsupported
    (2010-06-09)
    ? sane-plusteksane-plustek
    BearPaw 1200 USB sane-plusteksane-plustek
    BearPaw 1200 CS USB sane-gt68xxsane-gt68xx
    BearPaw 1200 CU USB sane-gt68xxsane-gt68xx
    BearPaw 1200 CU Plus USB sane-gt68xxsane-gt68xx
    BearPaw 1200 CU Plus USB sane-gt68xxsane-gt68xx
    BearPaw 1200 F USB sane-ma1509sane-ma1509
    BearPaw 1200 TA USB sane-gt68xxsane-gt68xx
    BearPaw 1248 CU USB sane-gt68xxsane-gt68xx
    BearPaw 2400 USB sane-plusteksane-plustek
    BearPaw 2400 CS USB sane-gt68xxsane-gt68xx
    BearPaw 2400 CS Plus USB sane-gt68xxsane-gt68xx
    BearPaw 2400 CU USB sane-gt68xxsane-gt68xx
    BearPaw 2400 CU Plus USB sane-gt68xxsane-gt68xx
    BearPaw 2400 TA USB sane-gt68xxsane-gt68xx
    BearPaw 2400 TA Plus USB sane-gt68xxsane-gt68xx
    BearPaw 2400 TA Pro USBUnsupported Not supported. May be supported by mustek_usb2 backend later. See link for some information. -unsupported +unsupported
    (2010-06-09)
    ? sane-gt68xxsane-gt68xx
    BearPaw 2448 CU Pro
    BearPaw 2448 CU Pro USB 0x055f/0x0408 Unsupported Not supported. May be supported by mustek_usb2 backend later. See link for some information. -unsupported +unsupported
    (2010-06-09)
    ? sane-gt68xxsane-gt68xx
    BearPaw 2448TA Pro USB sane-mustek_usb2sane-mustek_usb2
    BearPaw 4800 TA Pro
    BearPaw 4800 TA Pro USB 0x055f/0x1000 Unsupported Not supported. See link for some information. -unsupported +unsupported
    (2010-06-09)
    ?
    BearPaw 4800 TA Pro II
    BearPaw 4800 TA Pro II USB 0x055f/0x040a Unsupported Not supported. May be supported by mustek_usb2 backend later. See link for some information. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Not supported. May be supported by mustek_usb2 backend later. See link for some information. -unsupported +unsupported
    (2010-06-09)
    ? sane-musteksane-mustek
    Paragon 600 II ED Parport sane-musteksane-mustek
    Paragon 600 II EP Parport sane-musteksane-mustek
    Paragon 600 II N Proprietary sane-musteksane-mustek
    Paragon 800 II EP ParportUnsupported Not supported. Maybe similar to 600 II EP (SCSI_over-parport)? In this case it could be supported by the mustek SCSI backend. -unsupported +unsupported
    (2010-06-09)
    ? sane-musteksane-mustek
    Paragon 1200 A3 Pro SCSI sane-musteksane-mustek
    Paragon 1200 III SP SCSI sane-musteksane-mustek
    Paragon 1200 LS SCSI sane-musteksane-mustek
    Paragon 1200 SP Pro SCSI sane-musteksane-mustek
    Paragon MFC-600S SCSI sane-musteksane-mustek
    Paragon MFC-800S SCSI sane-musteksane-mustek
    Paragon MFS-1200SP SCSI sane-musteksane-mustek
    Paragon MFS-6000CX SCSI sane-musteksane-mustek
    Paragon MFS-6000SP SCSI sane-musteksane-mustek
    Paragon MFS-8000SP SCSI sane-musteksane-mustek
    Paragon MFS-12000CX SCSI sane-musteksane-mustek
    Paragon MFS-12000SP SCSI sane-musteksane-mustek
    Plug-n-Scan 2400 M USB sane-gt68xxsane-gt68xx
    Plug-n-Scan 2400 MT USB sane-gt68xxsane-gt68xx
    ScanExpress 600 CP Parport (EPP) sane-mustek_ppsane-mustek_pp
    ScanExpress 600 CU USB sane-mustek_usbsane-mustek_usb
    ScanExpress 600 SEP Parport (EPP) sane-mustek_ppsane-mustek_pp
    ScanExpress 600 USB USBUnsupported Unsupported. Programming information is available. -unsupported +unsupported
    (2010-06-09)
    ? sane-mustek_ppsane-mustek_pp
    ScanExpress 1200 CP+ Parport (EPP) sane-mustek_ppsane-mustek_pp
    ScanExpress 1200 CU USB sane-mustek_usbsane-mustek_usb
    ScanExpress 1200 CU Plus USB sane-mustek_usbsane-mustek_usb
    ScanExpress 1200 FS SCSI sane-musteksane-mustek
    ScanExpress 1200 UB USB sane-mustek_usbsane-mustek_usb
    ScanExpress 1200 UB Plus USB sane-gt68xxsane-gt68xx
    ScanExpress 1200 USB USBUnsupported Unsupported. Programming information is available. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Unsupported. -unsupported +unsupported
    (2010-06-09)
    ? sane-gt68xxsane-gt68xx
    ScanExpress 2400 USB USB sane-gt68xxsane-gt68xx
    ScanExpress 6000 P Parport (EPP) sane-mustek_ppsane-mustek_pp
    ScanExpress 6000SP SCSI sane-musteksane-mustek
    ScanExpress 12000 P ParportUnsupported Not supported. Asic 1505/05. -unsupported +unsupported
    (2010-06-09)
    ? sane-musteksane-mustek
    ScanExpress 12000SP Plus SCSI sane-musteksane-mustek
    ScanExpress A3 EP ParportUnsupported Not supported. Maybe it will be supported by the mustek_pp backend in future. -unsupported +unsupported
    (2010-06-09)
    ? sane-musteksane-mustek
    ScanExpress A3 USB USB sane-gt68xxsane-gt68xx
    ScanExpress CardSmart USBUnsupported Probably unsupported. USB business card scanner. Maybe works as USB storage device? -unsupported +unsupported
    (2010-06-09)
    ? sane-mustek_ppsane-mustek_pp
    ScanMagic 600 II SP SCSI sane-musteksane-mustek
    ScanMagic 1200 UB Plus USB sane-gt68xxsane-gt68xx
    ScanMagic 4800 P Parport (EPP) sane-mustek_ppsane-mustek_pp
    ScanMagic 4830S SCSI sane-teco2sane-teco2
    ScanMagic 9636P
    ScanMagic 9636P Parport   Unsupported Probably not supported. Same as Mustek 12000 P?. ASIC 1505. -unsupported +unsupported
    (2010-06-09)
    ? sane-musteksane-mustek
    ScanMagic 9636S Plus SCSI sane-musteksane-mustek
    TwainScan II SP SCSI sane-musteksane-mustek

    Manufacturer: NeatReceipts

    @@ -16794,7 +16794,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx Scanalizer Professional 2.5 USB @@ -16805,12 +16805,12 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx

    Manufacturer: NEC

    -Link(s): +Link(s): http://www.nevt.co.jp/

    @@ -16832,15 +16832,15 @@ artec_eplus48u
    (unmaintained) nec
    (0.12) - + - + @@ -16868,12 +16868,12 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) - +
    sane-necsane-nec
    Petiscan
    Petiscan USB 0x0475/0x0100 Unsupported Most probably unsupported. See link for details. Vendor ID is Relisys/Teco. Not known if it is similar to other Relisys/Teco USB scanners. -unsupported +unsupported
    (2010-06-09)
    ? sane-mustek_ppsane-mustek_pp

    Manufacturer: Nikon

    -Link(s): +Link(s): http://www.nikon.com/

    @@ -16895,7 +16895,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -16906,7 +16906,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -16916,9 +16916,9 @@ artec_eplus48u
    (unmaintained) - + - + @@ -16926,9 +16926,9 @@ coolscan3
    (1.0.0) - + - + @@ -16937,7 +16937,7 @@ coolscan3
    (1.0.0) coolscan2
    (0.1.8) - + @@ -16947,7 +16947,7 @@ coolscan3
    (1.0.0) - + @@ -16957,7 +16957,7 @@ coolscan3
    (1.0.0) - + @@ -16968,7 +16968,7 @@ coolscan3
    (1.0.0) coolscan2
    (0.1.8) - + @@ -16978,7 +16978,7 @@ coolscan3
    (1.0.0) - + @@ -16989,9 +16989,9 @@ coolscan3
    (1.0.0) coolscan2
    (0.1.8) - + - + @@ -16999,7 +16999,7 @@ coolscan3
    (1.0.0) - + @@ -17010,7 +17010,7 @@ coolscan3
    (1.0.0) coolscan2
    (0.1.8) - + @@ -17020,7 +17020,7 @@ coolscan3
    (1.0.0) - + @@ -17031,7 +17031,7 @@ coolscan3
    (1.0.0) coolscan2
    (0.1.8) - + @@ -17041,7 +17041,7 @@ coolscan3
    (1.0.0) - + @@ -17052,7 +17052,7 @@ coolscan3
    (1.0.0) coolscan2
    (0.1.8) - + @@ -17062,7 +17062,7 @@ coolscan3
    (1.0.0) - + @@ -17073,7 +17073,7 @@ coolscan3
    (1.0.0) coolscan2
    (0.1.8) - + @@ -17084,7 +17084,7 @@ coolscan3
    (1.0.0) coolscan
    (0.4.3) - + @@ -17095,7 +17095,7 @@ coolscan3
    (1.0.0) coolscan
    (0.4.3) - + @@ -17106,7 +17106,7 @@ coolscan3
    (1.0.0) coolscan
    (0.4.3) - + @@ -17117,20 +17117,20 @@ coolscan3
    (1.0.0) coolscan
    (0.4.3) - + - + - + @@ -17138,9 +17138,9 @@ coolscan3
    (1.0.0) - + - + @@ -17149,7 +17149,7 @@ coolscan3
    (1.0.0) coolscan2
    (0.1.8) - +
    sane-umaxsane-umax
    AX-210 SCSI sane-umaxsane-umax
    Coolscan III SCSI coolscan3
    (1.0.0)
    sane-coolscan3sane-coolscan3
    Coolscan V ED
    Coolscan V ED USB 0x04b0/0x4001 Minimal coolscan3
    (1.0.0)
    sane-coolscan3sane-coolscan3
    Coolscan V ED
    Coolscan V ED USB 0x04b0/0x4001 Minimal sane-coolscan2sane-coolscan2
    Coolspan IV USB coolscan3
    (1.0.0)
    sane-coolscan3sane-coolscan3
    LS 30 SCSI coolscan3
    (1.0.0)
    sane-coolscan3sane-coolscan3
    LS 30 SCSI sane-coolscan2sane-coolscan2
    LS 40 ED USB coolscan3
    (1.0.0)
    sane-coolscan3sane-coolscan3
    LS 40 ED USB sane-coolscan2sane-coolscan2
    LS 50 ED
    LS 50 ED USB 0x04b0/0x4001 Minimal coolscan3
    (1.0.0)
    sane-coolscan3sane-coolscan3
    LS 50 ED USB sane-coolscan2sane-coolscan2
    LS 2000 SCSI coolscan3
    (1.0.0)
    sane-coolscan3sane-coolscan3
    LS 2000 SCSI sane-coolscan2sane-coolscan2
    LS 4000 ED IEEE-1394 coolscan3
    (1.0.0)
    sane-coolscan3sane-coolscan3
    LS 4000 ED IEEE-1394 sane-coolscan2sane-coolscan2
    LS 8000 ED IEEE-1394 coolscan3
    (1.0.0)
    sane-coolscan3sane-coolscan3
    LS 8000 ED IEEE-1394 sane-coolscan2sane-coolscan2
    LS-20 SCSI sane-coolscansane-coolscan
    LS-30 SCSI sane-coolscansane-coolscan
    LS-1000 SCSI sane-coolscansane-coolscan
    LS-2000 SCSI sane-coolscansane-coolscan
    LS-9000 ED
    LS-9000 ED IEEE-1394   Unsupported Probably not supported. See link for details. Possibly similar to LS-8000 ED. -unsupported +unsupported
    (2010-06-09)
    ?
    Super Coolscan LS-5000 ED
    Super Coolscan LS-5000 ED USB 0x04b0/0x4002 Untested coolscan3
    (1.0.0)
    sane-coolscan3sane-coolscan3
    Super Coolscan LS-5000 ED
    Super Coolscan LS-5000 ED USB 0x04b0/0x4002 Untested sane-coolscan2sane-coolscan2

    Manufacturer: Nortek

    @@ -17174,7 +17174,7 @@ coolscan3
    (1.0.0) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx

    Manufacturer: OKI

    @@ -17199,12 +17199,12 @@ coolscan3
    (1.0.0) avision
    (Build: 296) -sane-avision +sane-avision

    Manufacturer: Olivetti

    -Link(s): +Link(s): http://www.olivetti.com

    @@ -17217,13 +17217,13 @@ coolscan3
    (1.0.0) - + @@ -17231,7 +17231,7 @@ coolscan3
    (1.0.0)
    Backend Manpage
    Job-Jet M400
    Job-Jet M400 USB 0x0b3c/0xa880 Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Olympus

    -Link(s): +Link(s): http://www.olympus.com

    @@ -17244,24 +17244,24 @@ coolscan3
    (1.0.0) - + - + @@ -17286,7 +17286,7 @@ coolscan3
    (1.0.0) @@ -17311,7 +17311,7 @@ coolscan3
    (1.0.0) @@ -17322,7 +17322,7 @@ coolscan3
    (1.0.0) @@ -17333,7 +17333,7 @@ coolscan3
    (1.0.0) @@ -17344,7 +17344,7 @@ coolscan3
    (1.0.0) @@ -17355,7 +17355,7 @@ coolscan3
    (1.0.0) @@ -17366,7 +17366,7 @@ coolscan3
    (1.0.0) @@ -17394,7 +17394,7 @@ coolscan3
    (1.0.0) gt68xx
    (1.0-84) - + @@ -17405,7 +17405,7 @@ coolscan3
    (1.0.0) gt68xx
    (1.0-84) - + @@ -17416,7 +17416,7 @@ coolscan3
    (1.0.0) gt68xx
    (1.0-84) - + @@ -17427,12 +17427,12 @@ coolscan3
    (1.0.0) gt68xx
    (1.0-84) - +
    Backend Manpage
    ES-10P
    ES-10P Parport   Unsupported   -unsupported +unsupported
    (2010-06-09)
    ?
    ES-10S
    ES-10S SCSI   Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably not supported. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported   -unsupported +unsupported
    (2010-06-09)
    ?Unsupported   -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Special ISA card -unsupported +unsupported
    (2010-06-09)
    ?Unsupported   -unsupported +unsupported
    (2010-06-09)
    ?Unsupported   -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Special ISA card -unsupported +unsupported
    (2010-06-09)
    ? sane-gt68xxsane-gt68xx
    Diamond 1200 Plus USB sane-gt68xxsane-gt68xx
    Diamond 1200 Plus USB sane-gt68xxsane-gt68xx
    Diamond 2450 USB sane-gt68xxsane-gt68xx

    Manufacturer: Panasonic

    -Link(s): +Link(s): http://www.panasonic.com/

    @@ -17453,7 +17453,7 @@ coolscan3
    (1.0.0) - + @@ -17463,7 +17463,7 @@ kvs1025
    (unmaintained) - + @@ -17473,7 +17473,7 @@ kvs1025
    (unmaintained) - + @@ -17484,7 +17484,7 @@ kvs1025
    (unmaintained) matsushita
    (1.0-7) - + @@ -17494,7 +17494,7 @@ kvs1025
    (unmaintained) - + @@ -17504,7 +17504,7 @@ kvs20xx
    (unmaintained) - + @@ -17515,7 +17515,7 @@ kvs20xx
    (unmaintained) matsushita
    (1.0-7) - + @@ -17525,7 +17525,7 @@ kvs20xx
    (unmaintained) - + @@ -17535,7 +17535,7 @@ kvs20xx
    (unmaintained) - + @@ -17543,7 +17543,7 @@ kvs20xx
    (unmaintained) @@ -17554,7 +17554,7 @@ kvs20xx
    (unmaintained) @@ -17568,7 +17568,7 @@ kvs20xx
    (unmaintained) matsushita
    (1.0-7) - + @@ -17576,7 +17576,7 @@ kvs20xx
    (unmaintained) @@ -17587,7 +17587,7 @@ kvs20xx
    (unmaintained) @@ -17598,7 +17598,7 @@ kvs20xx
    (unmaintained) @@ -17609,7 +17609,7 @@ kvs20xx
    (unmaintained) @@ -17620,7 +17620,7 @@ kvs20xx
    (unmaintained) @@ -17633,7 +17633,7 @@ kvs20xx
    (unmaintained) - + @@ -17643,7 +17643,7 @@ kvs40xx
    (unmaintained) - + @@ -17651,7 +17651,7 @@ kvs40xx
    (unmaintained) @@ -17662,7 +17662,7 @@ kvs40xx
    (unmaintained) @@ -17673,7 +17673,7 @@ kvs40xx
    (unmaintained) @@ -17684,7 +17684,7 @@ kvs40xx
    (unmaintained) @@ -17695,7 +17695,7 @@ kvs40xx
    (unmaintained) @@ -17708,7 +17708,7 @@ kvs40xx
    (unmaintained) - + @@ -17719,7 +17719,7 @@ kvs40xx
    (unmaintained) matsushita
    (1.0-7) - + @@ -17730,7 +17730,7 @@ kvs40xx
    (unmaintained) matsushita
    (1.0-7) - + @@ -17741,7 +17741,7 @@ kvs40xx
    (unmaintained) matsushita
    (1.0-7) - + @@ -17752,7 +17752,7 @@ kvs40xx
    (unmaintained) matsushita
    (1.0-7) - + @@ -17763,7 +17763,7 @@ kvs40xx
    (unmaintained) matsushita
    (1.0-7) - + @@ -17774,7 +17774,7 @@ kvs40xx
    (unmaintained) matsushita
    (1.0-7) - + @@ -17785,7 +17785,7 @@ kvs40xx
    (unmaintained) genesys
    (1.0-63) - + @@ -17796,7 +17796,7 @@ kvs40xx
    (unmaintained) matsushita
    (1.0-7) - + @@ -17807,7 +17807,7 @@ kvs40xx
    (unmaintained) matsushita
    (1.0-7) - + @@ -17815,7 +17815,7 @@ kvs40xx
    (unmaintained) @@ -17823,7 +17823,7 @@ kvs40xx
    (unmaintained)
    kvs1025
    (unmaintained)
    sane-kvs1025sane-kvs1025
    KV-S1025C USB kvs1025
    (unmaintained)
    sane-kvs1025sane-kvs1025
    KV-S1045C USB kvs1025
    (unmaintained)
    sane-kvs1025sane-kvs1025
    KV-S2025C SCSI sane-matsushitasane-matsushita
    KV-S2026C USB SCSI kvs20xx
    (unmaintained)
    sane-kvs20xxsane-kvs20xx
    KV-S2028C USB kvs20xx
    (unmaintained)
    sane-kvs20xxsane-kvs20xx
    KV-S2045C SCSI sane-matsushitasane-matsushita
    KV-S2046C USB SCSI kvs20xx
    (unmaintained)
    sane-kvs20xxsane-kvs20xx
    KV-S2048C USB kvs20xx
    (unmaintained)
    sane-kvs20xxsane-kvs20xx
    KV-S2055L SCSIUnsupported might be supported by matsushita backend. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported might be supported by matsushita backend. -unsupported +unsupported
    (2010-06-09)
    ? sane-matsushitasane-matsushita
    KV-S2065W SCSIUnsupported might be supported by matsushita backend. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported might be supported by matsushita backend. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported might be supported by matsushita backend. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported might be supported by matsushita backend. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported might be supported by matsushita backend. See http://code.google.com/p/kvss905c/ for a standalone scanning tool. -unsupported +unsupported
    (2010-06-09)
    ? kvs40xx
    (unmaintained)
    sane-kvs40xxsane-kvs40xx
    KV-S4085C USB kvs40xx
    (unmaintained)
    sane-kvs40xxsane-kvs40xx
    KV-S6040W SCSIUnsupported might be supported by matsushita backend. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported might be supported by matsushita backend. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported might be supported by matsushita backend. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported might be supported by matsushita backend. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported might be supported by matsushita backend. -unsupported +unsupported
    (2010-06-09)
    ? kvs40xx
    (unmaintained)
    sane-kvs40xxsane-kvs40xx
    KV-SS25 SCSI sane-matsushitasane-matsushita
    KV-SS25D SCSI sane-matsushitasane-matsushita
    KV-SS50 SCSI sane-matsushitasane-matsushita
    KV-SS50EX SCSI sane-matsushitasane-matsushita
    KV-SS55 SCSI sane-matsushitasane-matsushita
    KV-SS55EX SCSI sane-matsushitasane-matsushita
    KV-SS080 USB sane-genesyssane-genesys
    KV-SS850 SCSI sane-matsushitasane-matsushita
    KV-SS855 SCSI sane-matsushitasane-matsushita
    KV-SS905C SCSIUnsupported might be supported by matsushita backend. See http://code.google.com/p/kvss905c/ for a standalone scanning tool. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Pentax

    -Link(s): +Link(s): http://www.pentaxtech.com/, http://mobilesolutions.brother-usa.com/

    @@ -17845,7 +17845,7 @@ kvs40xx
    (unmaintained) genesys
    (1.0-63) - + @@ -17856,15 +17856,15 @@ kvs40xx
    (unmaintained) genesys
    (1.0-63) - + - + @@ -17872,7 +17872,7 @@ kvs40xx
    (unmaintained)
    sane-genesyssane-genesys
    DSmobile 600 USB sane-genesyssane-genesys
    DSmobile USB
    DSmobile USB USB 0x0a82/0x2000 Unsupported Probably not supported. Some information is available. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: PIE

    -Link(s): +Link(s): http://www.scanace.com/
    Comment: Pacific Image Electronics

    @@ -17886,46 +17886,46 @@ kvs40xx
    (unmaintained) Backend Manpage -PF3650 Pro3 Film Scanner +PF3650 Pro3 Film Scanner USB IEEE-1394 0x05e3/0x0143 Unsupported Not supported. See link for details. -unsupported +unsupported
    (2010-06-09) ? -Powerslide 3600 +Powerslide 3600 USB IEEE-1394 0x05e3/0x0142 Unsupported Probably unsupported. Film scanner that can scan directly from the magazine. -unsupported +unsupported
    (2010-06-09) ? -Primefilm 1800u +Primefilm 1800u USB 0x05e3/0x0120 Unsupported Not supported. See link for details. -unsupported +unsupported
    (2010-06-09) ? -Primefilm 2700 +Primefilm 2700 USB   Unsupported   -unsupported +unsupported
    (2010-06-09) ? @@ -17936,7 +17936,7 @@ kvs40xx
    (unmaintained) Unsupported Probably not supported. -unsupported +unsupported
    (2010-06-09) ? @@ -17950,7 +17950,7 @@ kvs40xx
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie ScanAce 636S SCSI @@ -17961,7 +17961,7 @@ kvs40xx
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie ScanAce 1230S SCSI @@ -17972,7 +17972,7 @@ kvs40xx
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie ScanAce 1236S SCSI @@ -17983,7 +17983,7 @@ kvs40xx
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie ScanAce II SCSI @@ -17994,7 +17994,7 @@ kvs40xx
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie ScanAce II Plus SCSI @@ -18005,7 +18005,7 @@ kvs40xx
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie ScanAce III SCSI @@ -18016,7 +18016,7 @@ kvs40xx
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie ScanAce III Plus SCSI @@ -18027,7 +18027,7 @@ kvs40xx
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie ScanAce Plus SCSI @@ -18038,7 +18038,7 @@ kvs40xx
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie ScanAce ScanMedia SCSI @@ -18049,7 +18049,7 @@ kvs40xx
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie ScanAce ScanMedia II SCSI @@ -18060,7 +18060,7 @@ kvs40xx
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie ScanAce V SCSI @@ -18071,12 +18071,12 @@ kvs40xx
    (unmaintained) pie
    (1.0) -sane-pie +sane-pie

    Manufacturer: PIOTECH

    -Link(s): +Link(s): http://www.image-land.com/

    @@ -18098,12 +18098,12 @@ kvs40xx
    (unmaintained) teco3
    (1.0-1) - +
    sane-teco3sane-teco3

    Manufacturer: PLANon

    -Link(s): +Link(s): http://www.planon.com/

    @@ -18122,18 +18122,18 @@ kvs40xx
    (unmaintained) - + @@ -18144,7 +18144,7 @@ kvs40xx
    (unmaintained) @@ -18152,7 +18152,7 @@ kvs40xx
    (unmaintained)
    Unsupported Probably not supported. No details known. -unsupported +unsupported
    (2010-06-09)
    ?
    DocuPen R700
    DocuPen R700 USB 0x10c4/0xea60 Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably not supported. No details known. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Plustek

    -Link(s): +Link(s): http://www.plustek.com/, http://www.plustek.de/

    @@ -18174,7 +18174,7 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + @@ -18182,7 +18182,7 @@ kvs40xx
    (unmaintained) @@ -18196,15 +18196,15 @@ kvs40xx
    (unmaintained) genesys
    (1.0-63) - + - + @@ -18215,7 +18215,7 @@ kvs40xx
    (unmaintained) @@ -18229,7 +18229,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18240,7 +18240,7 @@ kvs40xx
    (unmaintained) u12
    (0.02) - + @@ -18251,7 +18251,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18262,7 +18262,7 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + @@ -18273,7 +18273,7 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + @@ -18284,7 +18284,7 @@ kvs40xx
    (unmaintained) teco3
    (1.0-1) - + @@ -18295,7 +18295,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18306,7 +18306,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18317,7 +18317,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18328,7 +18328,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18339,7 +18339,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18350,7 +18350,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18361,7 +18361,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18372,7 +18372,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18383,7 +18383,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18394,7 +18394,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18405,7 +18405,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18416,7 +18416,7 @@ kvs40xx
    (unmaintained) artec
    (unmaintained) - + @@ -18424,7 +18424,7 @@ kvs40xx
    (unmaintained) @@ -18438,7 +18438,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18449,7 +18449,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18460,7 +18460,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18471,7 +18471,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -18479,18 +18479,18 @@ kvs40xx
    (unmaintained) - + @@ -18504,15 +18504,15 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + - + @@ -18526,26 +18526,26 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + - + - + @@ -18559,81 +18559,81 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + - + - + - + - + - + - + - + @@ -18647,7 +18647,7 @@ kvs40xx
    (unmaintained) u12
    (0.02) - + @@ -18658,7 +18658,7 @@ kvs40xx
    (unmaintained) plustek
    (0.52) - + @@ -18669,7 +18669,7 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + @@ -18680,7 +18680,7 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + @@ -18691,7 +18691,7 @@ kvs40xx
    (unmaintained) plustek
    (0.52) - + @@ -18702,7 +18702,7 @@ kvs40xx
    (unmaintained) plustek
    (0.52) - + @@ -18710,7 +18710,7 @@ kvs40xx
    (unmaintained) @@ -18724,7 +18724,7 @@ kvs40xx
    (unmaintained) u12
    (0.02) - + @@ -18735,7 +18735,7 @@ kvs40xx
    (unmaintained) plustek
    (0.52) - + @@ -18746,7 +18746,7 @@ kvs40xx
    (unmaintained) plustek
    (0.52) - + @@ -18757,7 +18757,7 @@ kvs40xx
    (unmaintained) plustek
    (0.52) - + @@ -18768,7 +18768,7 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + @@ -18779,15 +18779,15 @@ kvs40xx
    (unmaintained) plustek
    (0.52) - + - + @@ -18801,7 +18801,7 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + @@ -18812,7 +18812,7 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + @@ -18823,26 +18823,26 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + - + - + @@ -18856,7 +18856,7 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + @@ -18864,40 +18864,40 @@ kvs40xx
    (unmaintained) - + - + - + @@ -18908,18 +18908,18 @@ kvs40xx
    (unmaintained) - + @@ -18930,7 +18930,7 @@ kvs40xx
    (unmaintained) @@ -18941,7 +18941,7 @@ kvs40xx
    (unmaintained) @@ -18952,7 +18952,7 @@ kvs40xx
    (unmaintained) @@ -18963,7 +18963,7 @@ kvs40xx
    (unmaintained) @@ -18974,7 +18974,7 @@ kvs40xx
    (unmaintained) @@ -18985,7 +18985,7 @@ kvs40xx
    (unmaintained) @@ -18993,7 +18993,7 @@ kvs40xx
    (unmaintained)
    sane-gt68xxsane-gt68xx
    OptiCard 600+ USBUnsupported Business card reader. No further information available. -unsupported +unsupported
    (2010-06-09)
    ? sane-genesyssane-genesys
    OpticFilm 7200
    OpticFilm 7200 USB 0x07b3/0x0807 Unsupported GL842 based, maybe to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?Unsupported GL843 based, maybe to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ? sane-plustek_ppsane-plustek_pp
    OpticPro 1212U USB sane-u12sane-u12
    OpticPro 1236P Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro 1248U USB sane-gt68xxsane-gt68xx
    OpticPro 1248U USB sane-gt68xxsane-gt68xx
    OpticPro 2400SP SCSI sane-teco3sane-teco3
    OpticPro 4800P Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro 4830P Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro 4831P Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro 9600P Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro 9630P Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro 9630PL Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro 9636P Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro 9636P+/Turbo Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro 9636T Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro 12000P/96000P Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro 12000T Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro 19200S SCSI sane-artecsane-artec
    OpticPro A3U USBUnsupported Uses Plustek ASIC P99002 -unsupported +unsupported
    (2010-06-09)
    ? sane-plustek_ppsane-plustek_pp
    OpticPro P8 Parport sane-plustek_ppsane-plustek_pp
    OpticPro P12 Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro PT12 Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    OpticPro S6 USBUnsupported Uses RealTek chipset (RTL8801D) -unsupported +unsupported
    (2010-06-09)
    ?
    OpticPro S12
    OpticPro S12 USB 0x07b3/0x0600 Unsupported Product id 0x0600 is unsupported but may be supported by the genesys backend in future. Product id 0x040b is supported by the gt68xx backend. -unsupported +unsupported
    (2010-06-09)
    ? sane-gt68xxsane-gt68xx
    OpticPro S24
    OpticPro S24 USB 0x07b3/0x0601 Unsupported Product id 0x0601 is unsupported but may be supported by the genesys backend in future /GL646). Product id 0x040e is supported by the gt68xx backend. -unsupported +unsupported
    (2010-06-09)
    ? sane-gt68xxsane-gt68xx
    OpticPro S28
    OpticPro S28 USB 0x07b3/0x0801 Unsupported GL841 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?
    OpticPro ST12
    OpticPro ST12 USB 0x07b3/0x0600 Unsupported Product id 0x0600 is unsupported but may be supported by the genesys backend in future. Product id 0x040b is supported by the gt68xx backend. -unsupported +unsupported
    (2010-06-09)
    ? sane-gt68xxsane-gt68xx
    OpticPro ST16
    OpticPro ST16 USB 0x07b3/0x0600 Unsupported GL646 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?
    OpticPro ST24
    OpticPro ST24 USB 0x07b3/0x0601 Unsupported GL646 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?
    OpticPro ST28
    OpticPro ST28 USB 0x07b3/0x0802 Unsupported GL841 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?
    OpticPro ST28
    OpticPro ST28 USB 0x07b3/0x0801 Unsupported GL841 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?
    OpticPro ST48
    OpticPro ST48 USB 0x07b3/0x0800 Unsupported GL841 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?
    OpticPro ST64
    OpticPro ST64 USB 0x07b3/0x0c00 Unsupported GL843 based, maybe to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?
    OpticPro ST64+
    OpticPro ST64+ USB 0x07b3/0x0c03 Unsupported GL843 based. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ? sane-u12sane-u12
    OpticPro U12 USB sane-plusteksane-plustek
    OpticPro U16B USB sane-gt68xxsane-gt68xx
    OpticPro U16B+ USB sane-gt68xxsane-gt68xx
    OpticPro U24 USB sane-plusteksane-plustek
    OpticPro U24 USB sane-plusteksane-plustek
    OpticPro UA18 USBUnsupported Probably LM983x based. -unsupported +unsupported
    (2010-06-09)
    ? sane-u12sane-u12
    OpticPro UT12 USB sane-plusteksane-plustek
    OpticPro UT12 USB sane-plusteksane-plustek
    OpticPro UT16 USB sane-plusteksane-plustek
    OpticPro UT16B USB sane-gt68xxsane-gt68xx
    OpticPro UT24 USB sane-plusteksane-plustek
    OpticSlim 500
    OpticSlim 500 USB 0x07b3/0x0458 Unsupported Unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ? sane-gt68xxsane-gt68xx
    OpticSlim 2400 USB sane-gt68xxsane-gt68xx
    OpticSlim 2400 plus USB sane-gt68xxsane-gt68xx
    OpticSlim 2420
    OpticSlim 2420 USB 0x07b3/0x0806 Unsupported GL841 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?
    OpticSlim 2420+
    OpticSlim 2420+ USB 0x07b3/0x0914 Unsupported GL841 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ? sane-gt68xxsane-gt68xx
    OpticWorks 2000 ParportUnsupported Multifunction device. No further information available. -unsupported +unsupported
    (2010-06-09)
    ?
    PL 806
    PL 806 USB 0x07b3/0x0c0c Unsupported Unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ?
    ScanCopy 115
    ScanCopy 115 USB 0x07b3/0x081c Unsupported GL841 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ?
    SmartOffice PL 812
    SmartOffice PL 812 USB 0x07b3/0x0c0d Unsupported Unsupported. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Unsupported. Uses proprietary ISA card that also provides power and is labelled GPS-1 PAGE-A from Taiwan. Other labels on the scanner include ADF Color Scanner and SF600AS. Maybe the same as the IBM ADF Color Scanner? -unsupported +unsupported
    (2010-06-09)
    ?
    Umax AstraScan 4750
    Umax AstraScan 4750 USB 0x07b3/0x0802 Unsupported GL841 based, to be added to genesys backend, rebadged Plustek ST28 -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. Scanner name not known yet. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. Scanner name not known yet. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. Scanner name not known yet. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. Scanner name not known yet. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. Scanner name not known yet. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. Scanner name not known yet. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Portable Peripheral Co., Ltd.

    -Link(s): +Link(s): http://www.pandp.com.tw/

    @@ -19015,7 +19015,7 @@ kvs40xx
    (unmaintained) plustek
    (0.52) - + @@ -19026,12 +19026,12 @@ kvs40xx
    (unmaintained) plustek
    (0.52) - +
    sane-plusteksane-plustek
    Q-Scan USB201 (A6 portable scanner) USB sane-plusteksane-plustek

    Manufacturer: Primax

    -Link(s): +Link(s): http://www.primax.nl/, http://www.primax.com.tw

    @@ -19044,13 +19044,13 @@ kvs40xx
    (unmaintained) - + @@ -19061,7 +19061,7 @@ kvs40xx
    (unmaintained) @@ -19072,7 +19072,7 @@ kvs40xx
    (unmaintained) @@ -19086,7 +19086,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -19094,7 +19094,7 @@ kvs40xx
    (unmaintained) @@ -19105,18 +19105,18 @@ kvs40xx
    (unmaintained) - + @@ -19130,7 +19130,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -19141,7 +19141,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -19152,7 +19152,7 @@ kvs40xx
    (unmaintained) mustek
    (1.0-138) - + @@ -19163,7 +19163,7 @@ kvs40xx
    (unmaintained) plustek_pp
    (0.43) - + @@ -19171,7 +19171,7 @@ kvs40xx
    (unmaintained) @@ -19182,7 +19182,7 @@ kvs40xx
    (unmaintained) @@ -19193,7 +19193,7 @@ kvs40xx
    (unmaintained) @@ -19204,7 +19204,7 @@ kvs40xx
    (unmaintained) @@ -19215,7 +19215,7 @@ kvs40xx
    (unmaintained) @@ -19226,7 +19226,7 @@ kvs40xx
    (unmaintained) @@ -19237,7 +19237,7 @@ kvs40xx
    (unmaintained) @@ -19251,7 +19251,7 @@ kvs40xx
    (unmaintained) teco2
    (1.0-9) - + @@ -19259,18 +19259,18 @@ kvs40xx
    (unmaintained) - + @@ -19284,15 +19284,15 @@ kvs40xx
    (unmaintained) p5
    (1) - + - + @@ -19306,7 +19306,7 @@ kvs40xx
    (unmaintained) teco2
    (1.0-9) - + @@ -19317,7 +19317,7 @@ kvs40xx
    (unmaintained) teco2
    (1.0-9) - + @@ -19325,7 +19325,7 @@ kvs40xx
    (unmaintained) @@ -19336,7 +19336,7 @@ kvs40xx
    (unmaintained) @@ -19344,7 +19344,7 @@ kvs40xx
    (unmaintained)
    Backend Manpage
    Colorado 600U
    Colorado 600U USB 0x0461/0x0341 Unsupported Not supported. Some information is available. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Unsupported by SANE. But is reported to partly work with pxscan. See link. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. No details known. -unsupported +unsupported
    (2010-06-09)
    ? sane-plustek_ppsane-plustek_pp
    Colorado Direct 600 ParportUnsupported Not supported. However, a stand-alone program is available. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Not supported. However, a stand-alone program is available. -unsupported +unsupported
    (2010-06-09)
    ?
    Colorado USB 9600
    Colorado USB 9600 USB 0x0461/0x0340 Unsupported Not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-plustek_ppsane-plustek_pp
    Compact 4800 Direct-30 Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    Compact 4800 SCSI SCSI sane-musteksane-mustek
    Compact 9600 Direct-30 Parport (SPP, EPP) sane-plustek_ppsane-plustek_pp
    G2-300 USBUnsupported Probably unsupported. No details known. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. No details known. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. No details known. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. No details known. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. No details known. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. No details known. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably unsupported. No details known. -unsupported +unsupported
    (2010-06-09)
    ? sane-teco2sane-teco2
    OneTouch 5300 ParportUnsupported Not supported. -unsupported +unsupported
    (2010-06-09)
    ?
    Onetouch 8920
    Onetouch 8920 USB 0x0461/0x0371 Unsupported Not supported. Look similar to Visioneer Onetouch 8920 (same USB product id). -unsupported +unsupported
    (2010-06-09)
    ? sane-p5sane-p5
    Primascan Colorado 2600u
    Primascan Colorado 2600u USB 0x0461/0x0347 Unsupported Unsupported. Same as Visioneer Onetouch 4400. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-teco2sane-teco2
    Profi 19200 SCSI sane-teco2sane-teco2
    ReadyScan 636i USBUnsupported Probably unsupported. No details known. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Maybe GL646. Maybe similar to Medion MD 6228? -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Prolink

    -Link(s): +Link(s): http://www.fida.com/

    @@ -19363,18 +19363,18 @@ kvs40xx
    (unmaintained) - + @@ -19382,7 +19382,7 @@ kvs40xx
    (unmaintained)
    Unsupported Not supported. No further information available. -unsupported +unsupported
    (2010-06-09)
    ?
    Winscan Pro 2448U
    Winscan Pro 2448U USB 0x06dc/0x0014 Unsupported Not supported. Some information is available. RealTek RTS8801. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Quato

    -Link(s): +Link(s): http://www.quato.de/

    @@ -19401,7 +19401,7 @@ kvs40xx
    (unmaintained) @@ -19412,7 +19412,7 @@ kvs40xx
    (unmaintained) @@ -19431,35 +19431,35 @@ kvs40xx
    (unmaintained) - + - + - + @@ -19467,7 +19467,7 @@ kvs40xx
    (unmaintained)
    Unsupported Probably not supported. No details yet. Originally manufactured by PFU? -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably not supported. No details yet. -unsupported +unsupported
    (2010-06-09)
    ?Backend Manpage
    DigitDia 3600
    DigitDia 3600 USB IEEE-1394 0x05e3/0x0142 Unsupported Film scanner that can scan directly from the magazine. -unsupported +unsupported
    (2010-06-09)
    ?
    iScan 1800
    iScan 1800 USB 0x05e3/0x0120 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    ProScan 4000
    ProScan 4000 USB IEEE-1394 0x05e3/0x0143 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: Relisys

    -Link(s): +Link(s): http://www.relisys.com/, http://www.tecoimage.com.tw/

    @@ -19489,7 +19489,7 @@ kvs40xx
    (unmaintained) teco2
    (1.0-9) - + @@ -19500,7 +19500,7 @@ kvs40xx
    (unmaintained) teco2
    (1.0-9) - + @@ -19511,7 +19511,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19522,7 +19522,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19533,7 +19533,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19544,7 +19544,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19552,7 +19552,7 @@ kvs40xx
    (unmaintained) @@ -19566,7 +19566,7 @@ kvs40xx
    (unmaintained) teco2
    (1.0-9) - + @@ -19577,26 +19577,26 @@ kvs40xx
    (unmaintained) teco2
    (1.0-9) - + - + - + @@ -19610,7 +19610,7 @@ kvs40xx
    (unmaintained) teco3
    (1.0-1) - + @@ -19621,7 +19621,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19632,7 +19632,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19643,7 +19643,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19654,7 +19654,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19665,7 +19665,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19676,7 +19676,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19687,7 +19687,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19698,7 +19698,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19709,7 +19709,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19720,7 +19720,7 @@ kvs40xx
    (unmaintained) teco1
    (1.0-10) - + @@ -19731,7 +19731,7 @@ kvs40xx
    (unmaintained) teco2
    (1.0-9) - + @@ -19742,7 +19742,7 @@ kvs40xx
    (unmaintained) teco2
    (1.0-9) - + @@ -19753,15 +19753,15 @@ kvs40xx
    (unmaintained) teco2
    (1.0-9) - + - + @@ -19789,7 +19789,7 @@ kvs40xx
    (unmaintained) gt68xx
    (1.0-84) - + @@ -19800,12 +19800,12 @@ kvs40xx
    (unmaintained) u12
    (0.02) - +
    sane-teco2sane-teco2
    APOLLO Express 6 SCSI sane-teco2sane-teco2
    AVEC 2400 SCSI sane-teco1sane-teco1
    AVEC 2412 SCSI sane-teco1sane-teco1
    AVEC 4800 SCSI sane-teco1sane-teco1
    AVEC 4816 SCSI sane-teco1sane-teco1
    AVEC II E3 ParportUnsupported Parport version of AVEC II S3?. See bug #304992 for details -unsupported +unsupported
    (2010-06-09)
    ? sane-teco2sane-teco2
    AVEC Super 3 SCSI sane-teco2sane-teco2
    Eclipse 1200U
    Eclipse 1200U USB 0x0475/0x0103 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Episode
    Episode USB 0x0475/0x0103 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-teco3sane-teco3
    RELI 2400 SCSI sane-teco1sane-teco1
    RELI 2412 SCSI sane-teco1sane-teco1
    RELI 4816 SCSI sane-teco1sane-teco1
    RELI 4830 SCSI sane-teco1sane-teco1
    RELI 9600 SCSI sane-teco1sane-teco1
    RELI 9612 SCSI sane-teco1sane-teco1
    RELI 9624 SCSI sane-teco1sane-teco1
    RELI 9630 SCSI sane-teco1sane-teco1
    RELI DS6 SCSI sane-teco1sane-teco1
    RELI DS15 SCSI sane-teco1sane-teco1
    SCORPIO Pro SCSI sane-teco2sane-teco2
    SCORPIO Pro-S SCSI sane-teco2sane-teco2
    SCORPIO Super 3 SCSI sane-teco2sane-teco2
    Scorpio Ultra 3
    Scorpio Ultra 3 USB 0x0475/0x0210 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-gt68xxsane-gt68xx
    RevScan Orange R48Ti USB sane-u12sane-u12

    Manufacturer: Ricoh

    -Link(s): +Link(s): http://www.ricoh.com/

    @@ -19827,7 +19827,7 @@ kvs40xx
    (unmaintained) ibm
    (1.0-4) - + @@ -19838,7 +19838,7 @@ kvs40xx
    (unmaintained) hs2p
    (1.00) - + @@ -19849,7 +19849,7 @@ kvs40xx
    (unmaintained) ibm
    (1.0-4) - + @@ -19860,7 +19860,7 @@ kvs40xx
    (unmaintained) ibm
    (1.0-4) - + @@ -19871,7 +19871,7 @@ kvs40xx
    (unmaintained) hs2p
    (1.00) - + @@ -19882,7 +19882,7 @@ kvs40xx
    (unmaintained) hs2p
    (1.00) - + @@ -19892,7 +19892,7 @@ kvs40xx
    (unmaintained) - + @@ -19902,12 +19902,12 @@ ricoh
    (unmaintained) - +
    sane-ibmsane-ibm
    IS-410 SCSI sane-hs2psane-hs2p
    IS-420 SCSI sane-ibmsane-ibm
    IS-430 SCSI sane-ibmsane-ibm
    IS-430 SCSI sane-hs2psane-hs2p
    IS450 SCSI sane-hs2psane-hs2p
    Ricoh IS50 SCSI ricoh
    (unmaintained)
    sane-ricohsane-ricoh
    Ricoh IS60 SCSI ricoh
    (unmaintained)
    sane-ricohsane-ricoh

    Manufacturer: Samsung

    -Link(s): +Link(s): http://www.samsung.com

    @@ -19928,7 +19928,7 @@ ricoh
    (unmaintained) - + @@ -19938,7 +19938,7 @@ xerox_mfp
    (1.0-13) - + @@ -19948,7 +19948,7 @@ xerox_mfp
    (1.0-13) - + @@ -19958,7 +19958,7 @@ xerox_mfp
    (1.0-13) - + @@ -19968,7 +19968,7 @@ xerox_mfp
    (1.0-13) - + @@ -19978,7 +19978,7 @@ xerox_mfp
    (1.0-13) - + @@ -19988,7 +19988,7 @@ xerox_mfp
    (1.0-13) - + @@ -19998,7 +19998,7 @@ xerox_mfp
    (1.0-13) - + @@ -20008,7 +20008,7 @@ xerox_mfp
    (1.0-13) - + @@ -20018,7 +20018,7 @@ xerox_mfp
    (1.0-13) - + @@ -20028,7 +20028,7 @@ xerox_mfp
    (1.0-13) - + @@ -20038,7 +20038,7 @@ xerox_mfp
    (1.0-13) - + @@ -20048,7 +20048,7 @@ xerox_mfp
    (1.0-13) - + @@ -20058,7 +20058,7 @@ xerox_mfp
    (1.0-13) - + @@ -20068,7 +20068,7 @@ xerox_mfp
    (1.0-13) - + @@ -20078,7 +20078,7 @@ xerox_mfp
    (1.0-13) - + @@ -20088,7 +20088,7 @@ xerox_mfp
    (1.0-13) - + @@ -20098,7 +20098,7 @@ xerox_mfp
    (1.0-13) - + @@ -20108,7 +20108,7 @@ xerox_mfp
    (1.0-13) - + @@ -20118,7 +20118,7 @@ xerox_mfp
    (1.0-13) - + @@ -20128,7 +20128,7 @@ xerox_mfp
    (1.0-13) - + @@ -20138,7 +20138,7 @@ xerox_mfp
    (1.0-13) - + @@ -20148,7 +20148,7 @@ xerox_mfp
    (1.0-13) - + @@ -20158,7 +20158,7 @@ xerox_mfp
    (1.0-13) - + @@ -20168,7 +20168,7 @@ xerox_mfp
    (1.0-13) - + @@ -20178,7 +20178,7 @@ xerox_mfp
    (1.0-13) - + @@ -20188,7 +20188,7 @@ xerox_mfp
    (1.0-13) - + @@ -20198,7 +20198,7 @@ xerox_mfp
    (1.0-13) - + @@ -20208,7 +20208,7 @@ xerox_mfp
    (1.0-13) - + @@ -20218,7 +20218,7 @@ xerox_mfp
    (1.0-13) - + @@ -20228,7 +20228,7 @@ xerox_mfp
    (1.0-13) - + @@ -20238,7 +20238,7 @@ xerox_mfp
    (1.0-13) - + @@ -20248,7 +20248,7 @@ xerox_mfp
    (1.0-13) - + @@ -20258,7 +20258,7 @@ xerox_mfp
    (1.0-13) - + @@ -20268,7 +20268,7 @@ xerox_mfp
    (1.0-13) - + @@ -20278,7 +20278,7 @@ xerox_mfp
    (1.0-13) - + @@ -20288,7 +20288,7 @@ xerox_mfp
    (1.0-13) - + @@ -20298,7 +20298,7 @@ xerox_mfp
    (1.0-13) - + @@ -20308,7 +20308,7 @@ xerox_mfp
    (1.0-13) - + @@ -20318,7 +20318,7 @@ xerox_mfp
    (1.0-13) - + @@ -20328,7 +20328,7 @@ xerox_mfp
    (1.0-13) - + @@ -20338,7 +20338,7 @@ xerox_mfp
    (1.0-13) - + @@ -20348,7 +20348,7 @@ xerox_mfp
    (1.0-13) - + @@ -20358,7 +20358,7 @@ xerox_mfp
    (1.0-13) - + @@ -20368,7 +20368,7 @@ xerox_mfp
    (1.0-13) - + @@ -20378,15 +20378,15 @@ xerox_mfp
    (1.0-13) - + - + @@ -20399,7 +20399,7 @@ xerox_mfp
    (1.0-13) - + @@ -20409,7 +20409,7 @@ xerox_mfp
    (1.0-13) - + @@ -20419,7 +20419,7 @@ xerox_mfp
    (1.0-13) - + @@ -20429,7 +20429,7 @@ xerox_mfp
    (1.0-13) - + @@ -20439,7 +20439,7 @@ xerox_mfp
    (1.0-13) - + @@ -20449,7 +20449,7 @@ xerox_mfp
    (1.0-13) - + @@ -20459,7 +20459,7 @@ xerox_mfp
    (1.0-13) - + @@ -20469,7 +20469,7 @@ xerox_mfp
    (1.0-13) - + @@ -20479,7 +20479,7 @@ xerox_mfp
    (1.0-13) - + @@ -20489,7 +20489,7 @@ xerox_mfp
    (1.0-13) - + @@ -20499,7 +20499,7 @@ xerox_mfp
    (1.0-13) - + @@ -20509,7 +20509,7 @@ xerox_mfp
    (1.0-13) - + @@ -20519,7 +20519,7 @@ xerox_mfp
    (1.0-13) - + @@ -20529,12 +20529,12 @@ xerox_mfp
    (1.0-13) - +
    xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-2160 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-3160 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-3170fn (CLX-3170 Series) USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-3175FW USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-3185 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-3300 Series USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-4190 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-6200 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-6220 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-6240 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-6250 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-6260 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-8380 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-8385 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-8385X USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    CLX-8540 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    M267x 287x Series USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    M337x 387x 407x Series USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    MFP-65x USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    MFP-560 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    MFP-750 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4x16 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4x20 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4x21 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4x26 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-5x30 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-6x20 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-6x22 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-6x45 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-6x55 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-6x55X USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-470x USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-681x USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-3205W (SCX-3200 Series) USB Ethernet xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-3400 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-3405W Ethernet xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4100 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4200 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4300 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4500 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4500W USB Ethernet xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4600 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4623 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4623FW USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4650 4x21S Series USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4725FN
    SCX-4725FN USB 0x04e8/0x341f Unsupported Not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4824 (SCX-4x24 Series) USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4825FN (SCX-4x25 Series) USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4828FN (SCX-4x28 Series) USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4833FD USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-4835FD Ethernet xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-5635 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-5835_5935 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-5835_5935X USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-6545 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX-6545X USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX4725 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SCX4725-FN USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    SF-760 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp

    Manufacturer: Scanport

    -Link(s): +Link(s): http://www.scanport.com/

    @@ -20556,7 +20556,7 @@ xerox_mfp
    (1.0-13) microtek2
    (unmaintained) - + @@ -20567,7 +20567,7 @@ xerox_mfp
    (1.0-13) microtek2
    (unmaintained) - + @@ -20578,7 +20578,7 @@ xerox_mfp
    (1.0-13) microtek2
    (unmaintained) - +
    sane-microtek2sane-microtek2
    SQ2030 Parport sane-microtek2sane-microtek2
    SQ4836 SCSI sane-microtek2sane-microtek2

    Manufacturer: Scanshell

    @@ -20594,13 +20594,13 @@ xerox_mfp
    (1.0-13) Backend Manpage -800N +800N USB 0x0a82/0x6605 Unsupported Not supported. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -20608,7 +20608,7 @@ xerox_mfp
    (1.0-13)

    Manufacturer: Sceptre

    -Link(s): +Link(s): http://www.sceptre.com/

    @@ -20630,12 +20630,12 @@ xerox_mfp
    (1.0-13) sceptre
    (1.0-10) - +
    sane-sceptresane-sceptre

    Manufacturer: Sharp

    -Link(s): +Link(s): http://sharp-world.com/

    @@ -20657,7 +20657,7 @@ xerox_mfp
    (1.0-13) sharp
    (0.32) - + @@ -20668,7 +20668,7 @@ xerox_mfp
    (1.0-13) sharp
    (0.32) - + @@ -20679,7 +20679,7 @@ xerox_mfp
    (1.0-13) sharp
    (0.32) - + @@ -20690,7 +20690,7 @@ xerox_mfp
    (1.0-13) sharp
    (0.32) - + @@ -20701,7 +20701,7 @@ xerox_mfp
    (1.0-13) sharp
    (0.32) - + @@ -20712,7 +20712,7 @@ xerox_mfp
    (1.0-13) sharp
    (0.32) - +
    sane-sharpsane-sharp
    JX-320 SCSI sane-sharpsane-sharp
    JX-325 SCSI sane-sharpsane-sharp
    JX-330 SCSI sane-sharpsane-sharp
    JX-350 SCSI sane-sharpsane-sharp
    JX-610 SCSI sane-sharpsane-sharp

    Manufacturer: Sicos

    @@ -20734,7 +20734,7 @@ xerox_mfp
    (1.0-13) Unsupported Not supported until now. Work on a backend has started, contact the author for details (see link) -unsupported +unsupported
    (2010-06-09) ? @@ -20742,7 +20742,7 @@ xerox_mfp
    (1.0-13)

    Manufacturer: Siemens

    -Link(s): +Link(s): http://www.siemens.com/, http://www.siemens.de/

    @@ -20763,7 +20763,7 @@ xerox_mfp
    (1.0-13) - + @@ -20771,7 +20771,7 @@ s9036
    (unmaintained) @@ -20782,7 +20782,7 @@ s9036
    (unmaintained) @@ -20795,7 +20795,7 @@ s9036
    (unmaintained) - + @@ -20806,7 +20806,7 @@ agfafocus
    (unmaintained) st400
    (1.6) - + @@ -20817,7 +20817,7 @@ agfafocus
    (unmaintained) st400
    (1.6) - +
    s9036
    (unmaintained)
    sane-s9036sane-s9036
    Cherry FingerTIP ID Board - Sensor USBUnsupported Not supported. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Not supported. -unsupported +unsupported
    (2010-06-09)
    ? agfafocus
    (unmaintained)
    sane-agfafocussane-agfafocus
    ST400 SCSI sane-st400sane-st400
    ST800 SCSI sane-st400sane-st400

    Manufacturer: SmartDisk

    @@ -20839,7 +20839,7 @@ agfafocus
    (unmaintained) Unsupported Probably not supported. Same as PIE Primefilm 2600 PRO. -unsupported +unsupported
    (2010-06-09) ? @@ -20865,7 +20865,7 @@ agfafocus
    (unmaintained) Unsupported Not supported until now. Work on a backend has started, see link for more information. -unsupported +unsupported
    (2010-06-09) ? @@ -20876,7 +20876,7 @@ agfafocus
    (unmaintained) Unsupported Not supported. Work on a backend has started, see link for more information. -unsupported +unsupported
    (2010-06-09) ? @@ -20887,7 +20887,7 @@ agfafocus
    (unmaintained) Unsupported Not supported. Work on a backend has started, see link for more information. -unsupported +unsupported
    (2010-06-09) ? @@ -20895,7 +20895,7 @@ agfafocus
    (unmaintained)

    Manufacturer: Syscan

    -Link(s): +Link(s): http://www.syscaninc.com/

    @@ -20917,7 +20917,7 @@ agfafocus
    (unmaintained) genesys
    (1.0-63) - + @@ -20928,7 +20928,7 @@ agfafocus
    (unmaintained) genesys
    (1.0-63) - + @@ -20939,7 +20939,7 @@ agfafocus
    (unmaintained) genesys
    (1.0-63) - + @@ -20950,7 +20950,7 @@ agfafocus
    (unmaintained) genesys
    (1.0-63) - + @@ -20961,7 +20961,7 @@ agfafocus
    (unmaintained) plustek
    (0.52) - + @@ -20972,26 +20972,26 @@ agfafocus
    (unmaintained) plustek
    (0.52) - + - + - + @@ -21010,13 +21010,13 @@ agfafocus
    (unmaintained) - + @@ -21029,7 +21029,7 @@ agfafocus
    (unmaintained) - + @@ -21039,7 +21039,7 @@ tamarack
    (unmaintained) - + @@ -21047,7 +21047,7 @@ tamarack
    (unmaintained) @@ -21058,7 +21058,7 @@ tamarack
    (unmaintained) @@ -21071,7 +21071,7 @@ tamarack
    (unmaintained) - +
    sane-genesyssane-genesys
    DocketPort 485 USB sane-genesyssane-genesys
    DocketPort 665 USB sane-genesyssane-genesys
    DocketPort 685/ Ambir DS685 USB sane-genesyssane-genesys
    TravelScan 460/464 USB sane-plusteksane-plustek
    TravelScan 662 USB sane-plusteksane-plustek
    TravelScan FS-531
    TravelScan FS-531 USB 0x0a82/0x0530 Unsupported Not supported. May work with the Plustek backend in future. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    TravelScan Pro
    TravelScan Pro USB 0x0a82/0x2000 Unsupported Probably not supported. Some information is available. -unsupported +unsupported
    (2010-06-09)
    ?Backend Manpage
    Artiscan 2400FS
    Artiscan 2400FS USB 0x05e3/0x0100 Unsupported Unsupported. See link for more information. -unsupported +unsupported
    (2010-06-09)
    ? tamarack
    (unmaintained)
    sane-tamaracksane-tamarack
    Artiscan 8000C SCSI tamarack
    (unmaintained)
    sane-tamaracksane-tamarack
    Artiscan 9600 ParportUnsupported Unsupported at the moment. See link for a project for that scanner taht may support it in future. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Unsupported at the moment. See link for a project for that scanner. -unsupported +unsupported
    (2010-06-09)
    ? tamarack
    (unmaintained)
    sane-tamaracksane-tamarack

    Manufacturer: Targa

    @@ -21096,7 +21096,7 @@ tamarack
    (unmaintained) mustek_pp
    (13) -sane-mustek_pp +sane-mustek_pp Funline TS12 EP Parport (EPP) @@ -21107,12 +21107,12 @@ tamarack
    (unmaintained) mustek_pp
    (13) -sane-mustek_pp +sane-mustek_pp

    Manufacturer: TCE

    -Link(s): +Link(s): http://www.tce.com.br/
    Comment: Brasilian vendor.

    @@ -21126,13 +21126,13 @@ tamarack
    (unmaintained) Backend Manpage -MK600U +MK600U USB 0x0461/0x0346 Unsupported Not supported. Some information is available. -unsupported +unsupported
    (2010-06-09) ? @@ -21143,7 +21143,7 @@ tamarack
    (unmaintained) Unsupported Not supported by SANE but is reported to work with pxscan (see link). -unsupported +unsupported
    (2010-06-09) ? @@ -21151,7 +21151,7 @@ tamarack
    (unmaintained)

    Manufacturer: Teco

    -Link(s): +Link(s): http://www.tecoimage.com.tw/

    @@ -21164,13 +21164,13 @@ tamarack
    (unmaintained) - + @@ -21189,13 +21189,13 @@ tamarack
    (unmaintained) - + @@ -21203,7 +21203,7 @@ tamarack
    (unmaintained)
    Backend Manpage
    VM6509F
    VM6509F USB 0x080d/0x0102 Unsupported Probably unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?Backend Manpage
    FU661E
    FU661E USB 0x0461/0x0347 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?

    Manufacturer: TriGem

    -Link(s): +Link(s): http://www.nikon.com/

    @@ -21225,12 +21225,12 @@ tamarack
    (unmaintained) umax
    (1.0-41) - +
    sane-umaxsane-umax

    Manufacturer: Trust

    -Link(s): +Link(s): http://www.trust-site.com, http://www.trust-site.com/home/, http://www.trust.com
    Comment: Carefully check the model names. Trust uses similar names for completely different hardware.

    @@ -21252,7 +21252,7 @@ tamarack
    (unmaintained) artec_eplus48u
    (unmaintained) -sane-artec_eplus48u +sane-artec_eplus48u 240TH Easy Webscan Gold USB @@ -21263,15 +21263,15 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx -CombiScan 19200 +CombiScan 19200 Parport USB 0x05cb/0x1483 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -21285,7 +21285,7 @@ artec_eplus48u
    (unmaintained) mustek_usb
    (1.0-18) -sane-mustek_usb +sane-mustek_usb Compact Scan USB 19200 USB @@ -21296,7 +21296,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx Direct WebScan 19200 USB @@ -21307,7 +21307,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx Easy Connect 9600+ Parport (EPP) @@ -21318,7 +21318,7 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) -sane-mustek_pp +sane-mustek_pp Easy Connect 19200+ Parport (EPP) @@ -21329,7 +21329,7 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) -sane-mustek_pp +sane-mustek_pp Easy Scan 9600 Plus Parport @@ -21340,7 +21340,7 @@ artec_eplus48u
    (unmaintained) as6e
    (0.5) -sane-as6e +sane-as6e Easy Webscan 19200 USB @@ -21350,15 +21350,15 @@ artec_eplus48u
    (unmaintained) artec_eplus48u
    (unmaintained) -sane-artec_eplus48u +sane-artec_eplus48u -EasyScan 19200 +EasyScan 19200 Parport   Unsupported   -unsupported +unsupported
    (2010-06-09) ? @@ -21372,7 +21372,7 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) -sane-gt68xx +sane-gt68xx Imagery 1200 SCSI @@ -21383,7 +21383,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) -sane-mustek +sane-mustek Imagery 1200 SP SCSI @@ -21394,7 +21394,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) -sane-mustek +sane-mustek Imagery 2400 SP SCSI @@ -21405,7 +21405,7 @@ artec_eplus48u
    (unmaintained) teco3
    (1.0-1) -sane-teco3 +sane-teco3 Imagery 4800 SP SCSI @@ -21416,7 +21416,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) -sane-mustek +sane-mustek Imagery 4800 SP+ SCSI @@ -21427,7 +21427,7 @@ artec_eplus48u
    (unmaintained) teco3
    (1.0-1) -sane-teco3 +sane-teco3 Imagery 9600 SP SCSI @@ -21438,7 +21438,7 @@ artec_eplus48u
    (unmaintained) teco3
    (1.0-1) -sane-teco3 +sane-teco3 Office Scan USB 19200 USB @@ -21449,7 +21449,7 @@ artec_eplus48u
    (unmaintained) niash
    (0.3) -sane-niash +sane-niash SCSI Connect 19200 SCSI @@ -21460,7 +21460,7 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) -sane-mustek +sane-mustek SCSI excellence series 19200 SCSI @@ -21471,15 +21471,15 @@ artec_eplus48u
    (unmaintained) mustek
    (1.0-138) -sane-mustek +sane-mustek -SCSI Scan 19200 -Excellence Series- +SCSI Scan 19200 -Excellence Series- SCSI   Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09) ? @@ -21487,7 +21487,7 @@ artec_eplus48u
    (unmaintained)

    Manufacturer: UMAX

    -Link(s): +Link(s): http://www.umax.com/, http://www.umax.com.tw/, http://www.umax.de/en, http://www.umax-europe.com, http://www.umaxjapan.co.jp, http://www.umax.com.cn, http://www.umax.com

    @@ -21509,7 +21509,7 @@ artec_eplus48u
    (unmaintained) umax_pp
    (1) - + @@ -21520,7 +21520,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21531,7 +21531,7 @@ artec_eplus48u
    (unmaintained) umax_pp
    (1) - + @@ -21542,7 +21542,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21553,7 +21553,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21564,7 +21564,7 @@ artec_eplus48u
    (unmaintained) umax_pp
    (1) - + @@ -21575,7 +21575,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21586,7 +21586,7 @@ artec_eplus48u
    (unmaintained) umax1220u
    (unmaintained) - + @@ -21597,7 +21597,7 @@ artec_eplus48u
    (unmaintained) umax_pp
    (1) - + @@ -21608,7 +21608,7 @@ artec_eplus48u
    (unmaintained) umax1220u
    (unmaintained) - + @@ -21619,7 +21619,7 @@ artec_eplus48u
    (unmaintained) umax_pp
    (1) - + @@ -21630,7 +21630,7 @@ artec_eplus48u
    (unmaintained) umax1220u
    (unmaintained) - + @@ -21641,7 +21641,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21652,7 +21652,7 @@ artec_eplus48u
    (unmaintained) umax1220u
    (unmaintained) - + @@ -21663,7 +21663,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21674,7 +21674,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21685,70 +21685,70 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + - + - + - + - + - + - + @@ -21762,7 +21762,7 @@ artec_eplus48u
    (unmaintained) rts8891
    (1.0-0) - + @@ -21773,15 +21773,15 @@ artec_eplus48u
    (unmaintained) rts8891
    (1.0-0) - + - + @@ -21792,18 +21792,18 @@ artec_eplus48u
    (unmaintained) - + @@ -21817,7 +21817,7 @@ artec_eplus48u
    (unmaintained) hp3900
    (0.12) - + @@ -21828,7 +21828,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21839,7 +21839,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21847,7 +21847,7 @@ artec_eplus48u
    (unmaintained) @@ -21861,7 +21861,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21872,26 +21872,26 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + - + - + @@ -21904,15 +21904,15 @@ artec_eplus48u
    (unmaintained) - + - + @@ -21925,7 +21925,7 @@ artec_eplus48u
    (unmaintained) - + @@ -21936,7 +21936,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21947,7 +21947,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21958,7 +21958,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21969,7 +21969,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -21977,7 +21977,7 @@ artec_eplus48u
    (unmaintained) @@ -21991,7 +21991,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22002,15 +22002,15 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + - + @@ -22024,7 +22024,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22035,7 +22035,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22043,7 +22043,7 @@ artec_eplus48u
    (unmaintained) @@ -22057,7 +22057,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22068,7 +22068,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22079,7 +22079,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22090,7 +22090,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22101,7 +22101,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22112,7 +22112,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22123,7 +22123,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22134,7 +22134,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22145,7 +22145,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22156,7 +22156,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22167,7 +22167,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22178,7 +22178,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22189,7 +22189,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22200,7 +22200,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22211,7 +22211,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -22222,7 +22222,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -22233,7 +22233,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -22244,7 +22244,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -22255,7 +22255,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -22266,7 +22266,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22277,7 +22277,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22288,7 +22288,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22299,7 +22299,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22310,7 +22310,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22321,7 +22321,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22332,7 +22332,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22343,7 +22343,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - + @@ -22354,7 +22354,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - +
    sane-umax_ppsane-umax_pp
    Astra 600S SCSI sane-umaxsane-umax
    Astra 610P Parport (SPP/ECP) sane-umax_ppsane-umax_pp
    Astra 610S SCSI sane-umaxsane-umax
    Astra 1200S SCSI sane-umaxsane-umax
    Astra 1220P Parport (EPP/ECP) sane-umax_ppsane-umax_pp
    Astra 1220S SCSI sane-umaxsane-umax
    Astra 1220U USB sane-umax1220usane-umax1220u
    Astra 1600P Parport (EPP/ECP) sane-umax_ppsane-umax_pp
    Astra 1600U USB sane-umax1220usane-umax1220u
    Astra 2000P Parport (EPP/ECP) sane-umax_ppsane-umax_pp
    Astra 2000U USB sane-umax1220usane-umax1220u
    Astra 2100S SCSI sane-umaxsane-umax
    Astra 2100U USB sane-umax1220usane-umax1220u
    Astra 2200 (SU) USB sane-umaxsane-umax
    Astra 2200 (SU) SCSI sane-umaxsane-umax
    Astra 2400S SCSI sane-umaxsane-umax
    Astra 2500
    Astra 2500 USB 0x0461/0x0374 Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Astra 2850
    Astra 2850 USB 0x07b3/0x0601 Unsupported Probably not supported. Same IDs as Plustek OpticPro ST24. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Astra 3000
    Astra 3000 USB 0x0461/0x038a Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Astra 3600
    Astra 3600 USB 0x0461/0x038a Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Astra 4000
    Astra 4000 USB 0x1606/0x1030 Unsupported Not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Astra 4100
    Astra 4100 USB 0x0461/0x038c Unsupported Not supported, to be added to genesys backend. -unsupported +unsupported
    (2010-06-09)
    ? sane-rts8891sane-rts8891
    Astra 4450 USB sane-rts8891sane-rts8891
    Astra 4500
    Astra 4500 USB 0x0638/0x0a10 Unsupported GL646 based, to be added to genesys backend. Avision iVina FB1600 clone -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Probably not supported, no details known. -unsupported +unsupported
    (2010-06-09)
    ?
    Astra 4700
    Astra 4700 USB 0x0638/0x0a20 Unsupported GL646/GL660 based. Avision iVina FB1800 clone. -unsupported +unsupported
    (2010-06-09)
    ? sane-hp3900sane-hp3900
    Astra 6400 IEEE-1394 sane-umaxsane-umax
    Astra 6450 IEEE-1394 sane-umaxsane-umax
    Astra 6700 USBUnsupported Not supported. No chipset information available. Same as Avision iVina FB2400. -unsupported +unsupported
    (2010-06-09)
    ? sane-umaxsane-umax
    Astra MX3 SCSI sane-umaxsane-umax
    AstraSlim
    AstraSlim USB 0x080d/0x0104 Unsupported Probably not supported currently. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ?
    AstraSlim 1200
    AstraSlim 1200 USB 0x080d/0x0110 Unsupported See link for more details. -unsupported +unsupported
    (2010-06-09)
    ? artec_eplus48u
    (unmaintained)
    sane-artec_eplus48usane-artec_eplus48u
    AstraSlim 6000
    AstraSlim 6000 USB 0x080d/0x0104 Unsupported Probably not supported currently. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ? artec_eplus48u
    (unmaintained)
    sane-artec_eplus48usane-artec_eplus48u
    Gemini D-16 SCSI sane-umaxsane-umax
    Mirage D-16L SCSI sane-umaxsane-umax
    Mirage II SCSI sane-umaxsane-umax
    Mirage IIse SCSI sane-umaxsane-umax
    Nete3470' ParportUnsupported Probably not supported. No details known.. -unsupported +unsupported
    (2010-06-09)
    ? sane-umaxsane-umax
    PowerLook SCSI sane-umaxsane-umax
    Powerlook 180
    Powerlook 180 USB   Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-umaxsane-umax
    PowerLook 270plus SCSI sane-umaxsane-umax
    Powerlook 1000 USB USBUnsupported Probably not supported. No further information available. -unsupported +unsupported
    (2010-06-09)
    ? sane-umaxsane-umax
    PowerLook 2000 SCSI sane-umaxsane-umax
    PowerLook 2100XL SCSI sane-umaxsane-umax
    PowerLook 3000 SCSI sane-umaxsane-umax
    PowerLook III SCSI sane-umaxsane-umax
    PSD SCSI sane-umaxsane-umax
    Supervista S-12 SCSI sane-umaxsane-umax
    UC 630 SCSI sane-umaxsane-umax
    UC 840 SCSI sane-umaxsane-umax
    UC 1200S SCSI sane-umaxsane-umax
    UC 1200SE SCSI sane-umaxsane-umax
    UC 1260 SCSI sane-umaxsane-umax
    UG 80 SCSI sane-umaxsane-umax
    UG 630 SCSI sane-umaxsane-umax
    UMAX 3400 USB sane-plusteksane-plustek
    UMAX 3400 USB sane-plusteksane-plustek
    UMAX 3450 USB sane-plusteksane-plustek
    UMAX 5400 USB sane-plusteksane-plustek
    UMAX Astranet ia101 USB sane-plusteksane-plustek
    UMAX S-6E SCSI sane-umaxsane-umax
    UMAX S-6EG SCSI sane-umaxsane-umax
    UMAX S-12 SCSI sane-umaxsane-umax
    UMAX S-12G SCSI sane-umaxsane-umax
    UMAX VT600 SCSI sane-umaxsane-umax
    Vista S6 SCSI sane-umaxsane-umax
    Vista S6E SCSI sane-umaxsane-umax
    Vista-S8 SCSI sane-umaxsane-umax
    Vista-T630 SCSI sane-umaxsane-umax

    Manufacturer: Vantas

    @@ -22370,13 +22370,13 @@ artec_eplus48u
    (unmaintained) Backend Manpage -3000 +3000 USB 0x04a7/0x0224 Unsupported Not supported. See link for more details. -unsupported +unsupported
    (2010-06-09) ? @@ -22384,7 +22384,7 @@ artec_eplus48u
    (unmaintained)

    Manufacturer: Visioneer

    -Link(s): +Link(s): http://www.visioneer.com/

    @@ -22397,13 +22397,13 @@ artec_eplus48u
    (unmaintained) - + @@ -22414,7 +22414,7 @@ artec_eplus48u
    (unmaintained) @@ -22425,7 +22425,7 @@ artec_eplus48u
    (unmaintained) @@ -22439,15 +22439,15 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + - + @@ -22461,15 +22461,15 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + - + @@ -22483,7 +22483,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -22494,7 +22494,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -22505,7 +22505,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -22516,7 +22516,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -22527,7 +22527,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -22538,70 +22538,70 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + - + - + - + - + - + - + @@ -22612,51 +22612,51 @@ artec_eplus48u
    (unmaintained) - + - + - + - + @@ -22670,125 +22670,125 @@ artec_eplus48u
    (unmaintained) gt68xx
    (1.0-84) - + - + - + - + - + - + - + - + - + - + - + - + @@ -22799,18 +22799,18 @@ artec_eplus48u
    (unmaintained) - + @@ -22824,7 +22824,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -22835,7 +22835,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -22846,7 +22846,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -22857,7 +22857,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -22868,15 +22868,15 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + - + @@ -22890,7 +22890,7 @@ artec_eplus48u
    (unmaintained) plustek
    (0.52) - + @@ -22901,7 +22901,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + @@ -22912,7 +22912,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + @@ -22923,7 +22923,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + @@ -22934,7 +22934,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -22945,7 +22945,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -22956,7 +22956,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -22967,7 +22967,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -22978,81 +22978,81 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + - + - + - + - + - + - + - + @@ -23080,12 +23080,12 @@ artec_eplus48u
    (unmaintained) mustek_pp
    (13) - +
    Backend Manpage
    4800 One Touch
    4800 One Touch USB 0x04a7/0x03a0 Unsupported Unsupported. See link for details. Different id compared to One Touch 4800? -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Not supported. Is reported to use the E5 chipset. Uses a Primax ID. Looks similar to Primascan Colorado 2600u. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Not supported. Id is from Primax? Yet another scanner with the same name? -unsupported +unsupported
    (2010-06-09)
    ? sane-avisionsane-avision
    9420
    9420 USB 0x0461/0x03a8 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-avisionsane-avision
    9450 USB
    9450 USB USB 0x04a7/0x0421 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-avisionsane-avision
    9550 USB sane-avisionsane-avision
    9650 USB sane-avisionsane-avision
    9650-G USB sane-avisionsane-avision
    9750 USB sane-avisionsane-avision
    9750-G USB sane-avisionsane-avision
    DocuImage 620S
    DocuImage 620S SCSI   Unsupported Not supported. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ?
    DocuMate 510
    DocuMate 510 USB 0x04a7/0x047c Unsupported Not supported. See link for more details. Yet another USB id. -unsupported +unsupported
    (2010-06-09)
    ?
    DocuMate 510
    DocuMate 510 USB 0x04a7/0x0446 Unsupported Not supported. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ?
    One Touch 4800
    One Touch 4800 USB 0x04a7/0x0224 Unsupported Unsupported. See link for details. Different id compared to 4800 One Touch? -unsupported +unsupported
    (2010-06-09)
    ?
    Onetouch 4400
    Onetouch 4400 USB 0x0461/0x0347 Unsupported Not supported. E5 chipset? See link for more details. -unsupported +unsupported
    (2010-06-09)
    ?
    OneTouch 4800 USB
    OneTouch 4800 USB USB 0x04a7/0x0224 Unsupported Unsupported. Seems to use Realtek RTS8801B. Same as Microtek Scanport 3000. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Not supported. Yet another scanner with this name? -unsupported +unsupported
    (2010-06-09)
    ?
    OneTouch 5300 USB
    OneTouch 5300 USB USB 0x04a7/0x0226 Unsupported Not supported. Chipset is RTS8801B(?). See link for output of /proc/bus/usb/devices. -unsupported +unsupported
    (2010-06-09)
    ?
    OneTouch 5800 USB
    OneTouch 5800 USB USB 0x04a7/0x0226 Unsupported Unsupported. 48 bit scanner, doesn't work with viceo backend. RTS8801C. -unsupported +unsupported
    (2010-06-09)
    ?
    OneTouch 6600
    OneTouch 6600 USB 0x04a7/0x022a Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Onetouch 7100
    Onetouch 7100 USB 0x04a7/0x0229 Unsupported GL646 based, to be added to genesys backend -unsupported +unsupported
    (2010-06-09)
    ? sane-gt68xxsane-gt68xx
    Onetouch 7700
    Onetouch 7700 USB 0x04a7/0x0380 Unsupported LM9832/3 based, to be added to plustek backend -unsupported +unsupported
    (2010-06-09)
    ?
    OneTouch 8100
    OneTouch 8100 USB 0x04a7/0x0321 Unsupported Unsupported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Onetouch 8700
    Onetouch 8700 USB 0x04a7/0x0371 Unsupported Not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Onetouch 8900
    Onetouch 8900 USB 0x04a7/0x0371 Unsupported Not supported. Same as 8920 but without TA? -unsupported +unsupported
    (2010-06-09)
    ?
    Onetouch 8920
    Onetouch 8920 USB 0x04a7/0x0371 Unsupported Not supported. Same as 8700 and 8900 but includes a TA. Uses a Primax ID. Chipset is RTS8801C. See link for output of /proc/bus/usb/devices. -unsupported +unsupported
    (2010-06-09)
    ?
    Onetouch 9000
    Onetouch 9000 USB 0x04a7/0x022c Unsupported Not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Onetouch 9020
    Onetouch 9020 USB 0x04a7/0x022c Unsupported Not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Onetouch 9320
    Onetouch 9320 USB 0x04a7/0x0362 Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Onetouch Pro 8800
    Onetouch Pro 8800 USB 0x04a7/0x0410 Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    Onetouch Pro 8820
    Onetouch Pro 8820 USB 0x04a7/0x0410 Unsupported Probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?
    PaperPort 3100b
    PaperPort 3100b Parport   Unsupported Most probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ?Unsupported Most probably not supported. More details would be appreciated. -unsupported +unsupported
    (2010-06-09)
    ?
    PaperPort OneTouch
    PaperPort OneTouch Parport   Unsupported Most probably not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-avisionsane-avision
    Patriot 470 USB sane-avisionsane-avision
    Patriot 680 USB sane-avisionsane-avision
    Patriot 780 USB sane-avisionsane-avision
    Roadwarrior USB sane-genesyssane-genesys
    Strobe Pro USB
    Strobe Pro USB USB 0x04a7/0x0102 Unsupported Not supported. See link for details. -unsupported +unsupported
    (2010-06-09)
    ? sane-plusteksane-plustek
    Strobe XP 100,r3 USB sane-genesyssane-genesys
    Strobe XP 200 USB sane-genesyssane-genesys
    Strobe XP 300 USB sane-genesyssane-genesys
    Strobe XP 450 USB sane-avisionsane-avision
    Strobe XP 450-G USB sane-avisionsane-avision
    Strobe XP 470 USB sane-avisionsane-avision
    Strobe XP 470-G USB sane-avisionsane-avision
    Visioneer OneTouch 7100 USB sane-genesyssane-genesys
    WorkCentre 470cx
    WorkCentre 470cx Parport   Unsupported Not supported. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ?
    WorkCentre M15i
    WorkCentre M15i USB 0x0924/0xffef Unsupported Not supported. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ?
    WorkCentre PE16
    WorkCentre PE16 USB Parport 0x0924/0x4220 Unsupported Not supported. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ?
    WorkCentre PE120i
    WorkCentre PE120i USB 0x0924/0x4237 Unsupported Not supported. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ?
    WorkCentre Pro 412
    WorkCentre Pro 412 USB Parport 0x043d/0x4303 Unsupported Not supported. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ?
    WorkCentre XK35c
    WorkCentre XK35c USB Parport 0x043d/0x0020 Unsupported Not supported. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ?
    WorkCentre XK50cx
    WorkCentre XK50cx USB 0x04e8/0x3903 Unsupported Not supported. See link for more details. -unsupported +unsupported
    (2010-06-09)
    ? sane-mustek_ppsane-mustek_pp

    Manufacturer: Vobis

    -Link(s): +Link(s): http://www.vobis.de/

    @@ -23107,7 +23107,7 @@ artec_eplus48u
    (unmaintained) microtek2
    (unmaintained) - + @@ -23118,7 +23118,7 @@ artec_eplus48u
    (unmaintained) microtek
    (0.13.1) - + @@ -23129,7 +23129,7 @@ artec_eplus48u
    (unmaintained) umax
    (1.0-41) - +
    sane-microtek2sane-microtek2
    Highscreen Realscan SCSI sane-microteksane-microtek
    Highscreen Scanboostar Premium SCSI sane-umaxsane-umax

    Manufacturer: Vuego

    @@ -23138,7 +23138,7 @@ artec_eplus48u
    (unmaintained)

    Manufacturer: Xerox

    -Link(s): +Link(s): http://www.xerox.com/, http://www.office.xerox.com/

    @@ -23160,7 +23160,7 @@ artec_eplus48u
    (unmaintained) genesys
    (1.0-63) - + @@ -23171,7 +23171,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23182,7 +23182,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23193,7 +23193,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23204,7 +23204,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23215,7 +23215,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23226,7 +23226,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23237,7 +23237,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23248,7 +23248,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23259,7 +23259,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23270,7 +23270,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23281,7 +23281,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23292,7 +23292,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23303,7 +23303,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23314,7 +23314,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23325,7 +23325,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23336,7 +23336,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23347,7 +23347,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23358,7 +23358,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23369,7 +23369,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23380,7 +23380,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23391,7 +23391,7 @@ artec_eplus48u
    (unmaintained) avision
    (Build: 296) - + @@ -23401,7 +23401,7 @@ artec_eplus48u
    (unmaintained) - + @@ -23411,7 +23411,7 @@ xerox_mfp
    (1.0-13) - + @@ -23422,7 +23422,7 @@ xerox_mfp
    (1.0-13) genesys
    (1.0-63) - + @@ -23432,7 +23432,7 @@ xerox_mfp
    (1.0-13) - + @@ -23442,7 +23442,7 @@ xerox_mfp
    (1.0-13) - + @@ -23452,7 +23452,7 @@ xerox_mfp
    (1.0-13) - + @@ -23462,12 +23462,12 @@ xerox_mfp
    (1.0-13) - +
    sane-genesyssane-genesys
    DocuMate150 USB sane-avisionsane-avision
    DocuMate152 USB sane-avisionsane-avision
    DocuMate162 USB sane-avisionsane-avision
    DocuMate232 USB sane-avisionsane-avision
    DocuMate250 USB sane-avisionsane-avision
    DocuMate250-G USB sane-avisionsane-avision
    DocuMate252 USB sane-avisionsane-avision
    DocuMate252-G USB sane-avisionsane-avision
    DocuMate262 USB sane-avisionsane-avision
    DocuMate262-G USB sane-avisionsane-avision
    DocuMate262i USB sane-avisionsane-avision
    DocuMate272 USB sane-avisionsane-avision
    DocuMate272-G USB sane-avisionsane-avision
    DocuMate510 USB sane-avisionsane-avision
    DocuMate510-G USB sane-avisionsane-avision
    DocuMate512 USB sane-avisionsane-avision
    DocuMate520 USB sane-avisionsane-avision
    DocuMate520-G USB sane-avisionsane-avision
    DocuMate632 USB sane-avisionsane-avision
    DocuMate752 USB sane-avisionsane-avision
    DocuMate752 USB sane-avisionsane-avision
    Phaser 3200MFP USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    Phaser 6110MFP USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    Travel Scanner 100 USB sane-genesyssane-genesys
    WorkCentre 3119 Series USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    WorkCentre 3210 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    WorkCentre 3220 USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp
    WorkCentre 4118 Series USB xerox_mfp
    (1.0-13)
    sane-xerox_mfpsane-xerox_mfp

    Manufacturer: Yakumo

    -Link(s): +Link(s): http://www.yakumo.com/

    @@ -23488,16 +23488,16 @@ xerox_mfp
    (1.0-13) - +
    artec_eplus48u
    (unmaintained)
    sane-artec_eplus48usane-artec_eplus48u

    Still Cameras

    -

    Manufacturers: -Kodak, +

    Manufacturers: +Kodak, Polaroid

    Manufacturer: Kodak

    -Link(s): +Link(s): http://www.kodak.com/global/en/service/digCam/dc25/dc25.shtml, http://www.kodak.com/global/en/service/digCam/dc210/dc210.shtml, http://www.kodak.com/global/en/service/products/ekn006568.jhtml

    @@ -23519,7 +23519,7 @@ artec_eplus48u
    (unmaintained) dc25
    (1.2) - + @@ -23530,7 +23530,7 @@ artec_eplus48u
    (unmaintained) dc25
    (1.2) - + @@ -23541,7 +23541,7 @@ artec_eplus48u
    (unmaintained) dc210
    (0.0) - + @@ -23552,12 +23552,12 @@ artec_eplus48u
    (unmaintained) dc240
    (0.0) - +
    sane-dc25sane-dc25
    DC25 Serial port sane-dc25sane-dc25
    DC210 Serial port sane-dc210sane-dc210
    DC240 Serial port sane-dc240sane-dc240

    Manufacturer: Polaroid

    -Link(s): +Link(s): http://www.polaroid.com/

    @@ -23578,21 +23578,21 @@ artec_eplus48u
    (unmaintained) - +
    dmc
    (unmaintained)
    sane-dmcsane-dmc

    Video Cameras

    -

    Manufacturers: -Aiptek, -Biolux, -Connectix, -Creative, -Digital Dream, -Grandtek Scopecam, +

    Manufacturers: +Aiptek, +Biolux, +Connectix, +Creative, +Digital Dream, +Grandtek Scopecam, Konica

    Manufacturer: Aiptek

    -Link(s): +Link(s): http://www.aiptek.com.tw

    @@ -23614,7 +23614,7 @@ dmc
    (unmaintained) stv680
    (1.0-1) - +
    sane-stv680sane-stv680

    Manufacturer: Biolux

    @@ -23630,13 +23630,13 @@ dmc
    (unmaintained) Backend Manpage -654 (micrOcular) +654 (micrOcular) USB 0x0923/0x010f Unsupported Not supported yet. See link for more details. -unsupported +unsupported
    (2010-06-09) ? @@ -23663,7 +23663,7 @@ dmc
    (unmaintained) qcam
    (unmaintained) -sane-qcam +sane-qcam Greyscale QuickCam Parport @@ -23673,12 +23673,12 @@ qcam
    (unmaintained) qcam
    (unmaintained) -sane-qcam +sane-qcam

    Manufacturer: Creative

    -Link(s): +Link(s): http://www.creative.com/

    @@ -23700,12 +23700,12 @@ qcam
    (unmaintained) stv680
    (1.0-1) - +
    sane-stv680sane-stv680

    Manufacturer: Digital Dream

    -Link(s): +Link(s): http://www.digitaldreamco.com/en/index.shtml

    @@ -23727,7 +23727,7 @@ qcam
    (unmaintained) stv680
    (1.0-1) - +
    sane-stv680sane-stv680

    Manufacturer: Grandtek Scopecam

    @@ -23743,13 +23743,13 @@ qcam
    (unmaintained) Backend Manpage -8x30 Binocular & Digital Camera +8x30 Binocular & Digital Camera USB 0x0797/0x801c Unsupported Not Supported yet. See link for more details. -unsupported +unsupported
    (2010-06-09) ? @@ -23757,7 +23757,7 @@ qcam
    (unmaintained)

    Manufacturer: Konica

    -Link(s): +Link(s): http://www.konicaminolta.com

    @@ -23779,23 +23779,23 @@ qcam
    (unmaintained) stv680
    (1.0-1) - +
    sane-stv680sane-stv680

    APIs

    -

    Backends: -gphoto2, -pint, -pnm, -test, +

    Backends: +gphoto2, +pint, +pnm, +test, v4l

    Backend: gphoto2 (0.0)

    -Link(s): +Link(s): mailto:peter@fales-lorenz.net
    -Manual page: sane-gphoto2
    +Manual page: sane-gphoto2
    Description: Multiple cameras supported by the gphoto2 libraries
    Comment: The long-term plan is to support all the cameras supported by the gphoto2 libraries (currently over 140 models). However, at this stage, only a handful of cameras are definitely known to work with SANE. Other cameras will probably work if the native file format is EXIF or JPEG. Testers welcome!

    @@ -23803,7 +23803,7 @@ qcam
    (unmaintained) (unmaintained)

    -Manual page: sane-pint
    +Manual page: sane-pint
    Description: Scanners with the machine-independent PINT interface
    Comment: Haven't been tested for a long time. Handle with care.

    @@ -23811,9 +23811,9 @@ qcam
    (unmaintained) (1.0.8)

    -Link(s): +Link(s): mailto:henning@meier-geinitz.de
    -Manual page: sane-pnm
    +Manual page: sane-pnm
    Description: Reads PNM files
    Comment: Used for debugging frontends. Obsolete, use test backend instead.

    @@ -23821,9 +23821,9 @@ qcam
    (unmaintained) (1.0-28)

    -Link(s): +Link(s): http://www.meier-geinitz.de/sane/test-backend/
    -Manual page: sane-test
    +Manual page: sane-test
    Description: Frontend-tester
    Comment: Backend for testing frontends. Also serves as example for SANE backend options.

    @@ -23831,32 +23831,32 @@ qcam
    (unmaintained) (1.0-3)

    -Link(s): +Link(s): mailto:henning@meier-geinitz.de
    -Manual page: sane-v4l
    +Manual page: sane-v4l
    Description: Interface to Video For Linux API
    Comment: Supports video cameras and other devices accessed by the v4l kernel API, e.g. bttv devices. Quite a lot of known bugs.

    Meta Backends

    -

    Backends: -dll, +

    Backends: +dll, net

    Backend: dll (1.0.13)

    -Link(s): +Link(s): mailto:henning@meier-geinitz.de
    -Manual page: sane-dll
    +Manual page: sane-dll
    Description: Dynamic loading of shared-library backends.

    Backend: net (1.0.14)

    -Link(s): +Link(s): http://www.penguin-breeder.org/?page=sane-net
    -Manual page: sane-net
    +Manual page: sane-net
    Description: Network access to saned servers
    Comment: Can be used to access any scanner supported by SANE over the net. Supports IPv4 and IPv6.

    @@ -23870,18 +23870,18 @@ qcam
    (unmaintained)
    USB id:
    The USB vendor and product ids as printed by sane-find-scanner -q (only applicable for USB devices).
    Status:
    -
    Indicates how many of the features the device provides +
    Indicates how many of the features the device provides are supported by SANE.
    • unsupported means the device is not supported at least by this backend. It may be supported by other backends, however.
    • untested means the device may be supported but couldn't be tested. Be very careful and report success/failure.
    • minimal means that the - device is detected and scans at least in one mode. But the quality + device is detected and scans at least in one mode. But the quality is bad or important features won't work. -
    • basic means it works at +
    • basic means it works at least in the most important modes but quality is not perfect. -
    • good means the device is usable +
    • good means the device is usable for day-to-day work. Some rather exotic features may be missing. -
    • complete means the backends +
    • complete means the backends supports everything the device can do.
    Comment:
    @@ -23891,8 +23891,8 @@ qcam
    (unmaintained) Version of backend/driver; newer versions may be available from their home sites.
    NEW! means brand-new to the current release of SANE.
    - UNMAINTAINED means that nobody maintains that backend. Expect no - new features or newly supported devices. You are welcome to take over + UNMAINTAINED means that nobody maintains that backend. Expect no + new features or newly supported devices. You are welcome to take over maintainership.
    Manual Page:
    @@ -23904,9 +23904,9 @@ qcam
    (unmaintained)
    -SANE homepage +SANE homepage
    -Contact
    diff --git a/testsuite/tools/data/hwdb.ref b/testsuite/tools/data/hwdb.ref index 909ac46..7d029e0 100644 --- a/testsuite/tools/data/hwdb.ref +++ b/testsuite/tools/data/hwdb.ref @@ -11,7 +11,7 @@ # device detection support for your OS # # If the scanner is supported by sane-backends, please mail the entry to -# the sane-devel mailing list (sane-devel@lists.alioth.debian.org). +# the sane-devel mailing list (sane-devel@alioth-lists.debian.net). # # Hewlett-Packard ScanJet 4100C usb:v03F0p0101* @@ -2733,4 +2733,3 @@ usb:v413Cp5124* # Dell 1600n usb:v413Cp5250* libsane_matched=yes - diff --git a/testsuite/tools/data/testfile.desc b/testsuite/tools/data/testfile.desc index 06359b6..e59aed3 100644 --- a/testsuite/tools/data/testfile.desc +++ b/testsuite/tools/data/testfile.desc @@ -20,7 +20,7 @@ :comment "Untested, use with caution" :backend "agfafocus" :version "unmaintained" -:manpage "sane-agfafocus" +:manpage "sane-agfafocus" :devicetype :scanner @@ -66,9 +66,9 @@ ;:url "http://no.www.page.yet/" ; backend's web page :devicetype :scanner ; start of a list of devices.... - + :mfg "Apple" -:url "http://developer.apple.com/" +:url "http://developer.apple.com/" :model "Apple Scanner" :interface "SCSI" :status :good ; :alpha, :beta, :stable, :new @@ -1327,7 +1327,7 @@ ; :backend "canon_dr" ; name of backend -:url "http://www.thebility.com/canon/" +:url "http://www.thebility.com/canon/" :version "38" ; version of backend :manpage "sane-canon_dr" ; name of manpage (if it exists) :comment "Backend updated for SANE release 1.0.23, see sane-canon_dr manpage" @@ -1644,7 +1644,7 @@ ; :backend "cardscan" ; name of backend -:url "http://www.thebility.com/cardscan/" +:url "http://www.thebility.com/cardscan/" :version "2" ; version of backend :manpage "sane-cardscan" ; name of manpage (if it exists) :comment "Backend updated for SANE release 1.0.21, see sane-cardscan manpage" @@ -1707,19 +1707,19 @@ :comment "needs linux kernel 2.4.19 or later" :model "LS 50 ED" -;:url "/unsupported/nikon-ls50-ed.html" +;:url "unsupported/nikon-ls50-ed.html" :interface "USB" :usbid "0x04b0" "0x4001" :status :minimal :model "Coolscan V ED" -:url "/unsupported/nikon-ls50-ed.html" +:url "unsupported/nikon-ls50-ed.html" :interface "USB" :usbid "0x04b0" "0x4001" :status :minimal :model "Super Coolscan LS-5000 ED" -:url "/unsupported/nikon-ls5000-ed.html" +:url "unsupported/nikon-ls5000-ed.html" :interface "USB" :usbid "0x04b0" "0x4002" :status :untested @@ -1772,13 +1772,13 @@ :comment "Rebadged LS 40?" :model "LS 50 ED" -:url "/unsupported/nikon-ls50-ed.html" +:url "unsupported/nikon-ls50-ed.html" :interface "USB" :usbid "0x04b0" "0x4001" :status :minimal :model "Coolscan V ED" -:url "/unsupported/nikon-ls50-ed.html" +:url "unsupported/nikon-ls50-ed.html" :interface "USB" :usbid "0x04b0" "0x4001" :status :minimal @@ -1794,7 +1794,7 @@ :comment "needs linux kernel 2.4.19 or later" :model "Super Coolscan LS-5000 ED" -:url "/unsupported/nikon-ls5000-ed.html" +:url "unsupported/nikon-ls5000-ed.html" :interface "USB" :usbid "0x04b0" "0x4002" :status :untested @@ -1835,7 +1835,7 @@ :model "LS-30" ; name models for above-specified mfg. :interface "SCSI" -:comment "alpha: only 24/30 bit RGB + 32/40 bit RGBI" +:comment "alpha: only 24/30 bit RGB + 32/40 bit RGBI" :status :basic :model "LS-2000" ; name models for above-specified mfg. @@ -1845,7 +1845,7 @@ :model "LS-1000" :interface "SCSI" -:comment "Doesn't support gamma correction" +:comment "Doesn't support gamma correction" :status :basic ; :comment and :url specifiers are optional after :mfg, :model, :desc, @@ -1858,7 +1858,7 @@ :url "mailto:peter@fales-lorenz.net" ; backend's web page :devicetype :stillcam ; start of a list of devices.... - + :mfg "Kodak" :url "http://www.kodak.com/global/en/service/digCam/dc210/dc210.shtml" :model "DC210" @@ -1872,7 +1872,7 @@ :url "mailto:peter@fales-lorenz.net" ; backend's web page :devicetype :stillcam ; start of a list of devices.... - + :mfg "Kodak" :url "http://www.kodak.com/global/en/service/products/ekn006568.jhtml" :model "DC240" @@ -1960,7 +1960,7 @@ ; :backend "epjitsu" ; name of backend -:url "http://www.thebility.com/epjitsu/" +:url "http://www.thebility.com/epjitsu/" :version "20" ; version of backend :manpage "sane-epjitsu" ; name of manpage (if it exists) :comment "Backend updated for SANE release 1.0.21, see sane-epjitsu manpage" @@ -4349,10 +4349,10 @@ :usbid "0x04b8" "0x082b" :status :good -:model "DX-6000" -:interface "USB" -:usbid "0x04b8" "0x082e" -:status :good +:model "DX-6000" +:interface "USB" +:usbid "0x04b8" "0x082e" +:status :good :model "DX-7400" :interface "USB" @@ -4397,7 +4397,7 @@ :backend "fujitsu" ; name of backend -:url "http://www.thebility.com/fujitsu/" +:url "http://www.thebility.com/fujitsu/" :version "117" ; version of backend :manpage "sane-fujitsu" ; name of manpage (if it exists) :comment "Backend updated for SANE release 1.0.23, see sane-fujitsu manpage" @@ -4412,7 +4412,7 @@ ; DISCONTINUED OLDER MODELS, SMALL :model "M3091DC" :interface "SCSI" -:url "http://www.remote.org/frederik/projects/software/sane/" +:url "http://www.remote.org/frederik/projects/software/sane/" :status :complete :comment "small, old, discontinued" @@ -5131,7 +5131,7 @@ :url "mailto:peter@fales-lorenz.net" ; backend's web page :devicetype :api ; start of a list of devices.... - + :desc "Multiple cameras supported by the gphoto2 libraries" :url "http://www.gphoto.org" ;:interface "USB, serial port" @@ -5186,7 +5186,7 @@ :url "http://www.genius-kye.com/" :model "ColorPage Slim 1200" -;:url "/unsupported/genius-colorpage-slim-1200.html" +;:url "unsupported/genius-colorpage-slim-1200.html" :interface "USB" :usbid "0x0458" "0x201e" :status :untested @@ -5268,7 +5268,7 @@ :mfg "Medion/Lifetec/Tevion/Cytron" :url "http://www.medion.com" :comment "Sold by Aldi and Tchibo." - + :model "MD 4394" :interface "USB" :usbid "0x05d8" "0x4002" @@ -5779,7 +5779,7 @@ :comment "8bpp color, 75/150/300/600 dpi only" ; :comment and :url specifiers are optional after :mfg, :model, :desc, -; and at the top-level. +; and at the top-level. ; Copied from hp3300 testtools - Martijn van Oosterhout 22/02/2003 ; SANE Backend specification file ; @@ -6154,7 +6154,7 @@ :status :untested :comment "Untested, please report!" :backend "kodakaio" -:url "http://sourceforge.net/projects/cupsdriverkodak/" +:url "http://sourceforge.net/projects/cupsdriverkodak/" :version "2.4.6" :manpage "sane-kodakaio" :comment "Backend for Kodak AiO ESP and Hero printers. Also possibly Advent AWL10" @@ -6334,7 +6334,7 @@ :backend "kodak" -:url "http://www.thebility.com/kodak/" +:url "http://www.thebility.com/kodak/" :version "7" :manpage "sane-kodak" :comment "New backend for SANE release 1.0.21, see sane-kodak manpage" @@ -6660,7 +6660,7 @@ :devicetype :scanner ; start of a list of devices.... :mfg "LEO" -:model "LEOScan S3" +:model "LEOScan S3" :interface "SCSI" :comment "FCC ID LUZFS1130" :status :good @@ -6694,7 +6694,7 @@ :url "http://stef.dev.free.fr/sane/lexmark" ; backend's web page -:comment "This backend supports lexmark x1100 series scanners." +:comment "This backend supports lexmark x1100 series scanners." ; comment about the backend :devicetype :scanner ; start of a list of devices.... @@ -6794,7 +6794,7 @@ :interface "USB" :usbid "0x055f" "0x0010" :status :good -:comment "Works upto 600 dpi. No support for TA and ADF yet." +:comment "Works upto 600 dpi. No support for TA and ADF yet." :mfg "Fujitsu" ; name a manufacturer :url "http://www.fujitsu.com/" @@ -7002,7 +7002,7 @@ :status :good :model "ScanMaker 9800XL" -:url "/unsupported/microtek-scanmaker-9800.html" +:url "unsupported/microtek-scanmaker-9800.html" :interface "IEEE-1394" :status :minimal :comment "IEEE-1394 seems to work. See link. More reports welcome." @@ -7083,7 +7083,7 @@ :backend "microtek" :version "0.13.1" -:manpage "sane-microtek" +:manpage "sane-microtek" :url "http://www.mir.com/mtek/" :devicetype :scanner @@ -7682,7 +7682,7 @@ :model "PagePartner" :interface "Parport (EPP/ECP)" -:status :basic +:status :basic :comment "Sheetfed scanner, work in gray and color, but uncalibrated scans" ; :comment and :url specifiers are optional after :mfg, :model, :desc, @@ -9153,10 +9153,10 @@ :backend "rts8891" ; name of backend :version "1.0-0" ; version of backend (or "unmaintained") :manpage "sane-rts8891" ; name of manpage (if it exists) -:url "http://stef.dev.free.fr/sane/rts8891/index.html" +:url "http://stef.dev.free.fr/sane/rts8891/index.html" ; backend's web page -:comment "This backend supports Realtek RTS8891 ASIC bases scanners." +:comment "This backend supports Realtek RTS8891 ASIC bases scanners." ; comment about the backend :devicetype :scanner ; start of a list of devices.... @@ -9225,20 +9225,20 @@ :mfg "Sceptre" :url "http://www.sceptre.com/" -:model "Vividscan S1200" +:model "Vividscan S1200" :interface "SCSI" :status :basic :mfg "Komodo" :url "http://www.komodo.com/" -:model "S1200" +:model "S1200" :interface "SCSI" :status :untested :comment "rebadged Sceptre S1200" :backend "sharp" ; name of backend :version "0.32" ; version of backend ;:status :beta ; :alpha, :beta, :stable, :new -:url "http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html" +:url "http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html" ; backend's homepage :manpage "sane-sharp" :devicetype :scanner @@ -9344,7 +9344,7 @@ :version "1.1" ; version of backend (or "unmaintained") :manpage "sane-sm3840" ; name of manpage (if it exists) :url "http://www.ziplabel.com/sm3840/" ; backend's web page -:comment "This reverse-engineered backend supports the USB ScanMaker 3840 model" +:comment "This reverse-engineered backend supports the USB ScanMaker 3840 model" ; comment about the backend :devicetype :scanner ; start of a list of devices.... @@ -10695,41 +10695,41 @@ :mfg "UMAX" ; name a manufacturer :url "http://www.umax.com.tw/" -; These scanners are known to have the same ASIC family. +; These scanners are known to have the same ASIC family. :model "Astra 1220P" :interface "Parport (EPP/ECP)" -:status :good +:status :good :model "Astra 2000P" :interface "Parport (EPP/ECP)" -:status :good +:status :good :model "Astra 1600P" :interface "Parport (EPP/ECP)" -:status :good +:status :good :model "Astra 600P" :interface "Parport (SPP/ECP)" -:status :unsupported +:status :unsupported :comment "untested, but should be close to 610P" :model "Astra 610P" :interface "Parport (SPP/ECP)" -:status :good +:status :good :mfg "Hewlett-Packard" :model "Scanjet 3200C" :interface "Parport (EPP/ECP)" -:status :good +:status :good :comment "works (relabelled 1220P and 2000P)" :mfg "Genius" :model "ColorPage-Life Pro" :interface "Parport (EPP/ECP)" -:status :good +:status :good :comment "works (relabelled 1220P and 2000P)" ; :comment and :url specifiers are optional after :mfg, :model, :desc, @@ -10746,7 +10746,7 @@ :backend "unsupported" ; name of backend :version "2010-06-09" ; version of backend -:url "/contrib.html" +:url "contrib.html" ;:manpage "sane-mustek" ; name of manpage (if it exists) :comment "The devices mentioned here are not supported by any SANE backend. However, there may be links to information about them or stand-alone programs." @@ -10757,14 +10757,14 @@ :mfg "Agfa" :model "DuoScan f40" -:url "/unsupported/agfa-duoscan-f40.html" +:url "unsupported/agfa-duoscan-f40.html" :interface "USB IEEE-1394" :usbid "0x06bd" "0x02bf" :status :unsupported :comment "Unsupported. See link for details." :model "DuoScan T2000XL" -:url "/unsupported/agfa-duoscan-t2000xl.html" +:url "unsupported/agfa-duoscan-t2000xl.html" :interface "SCSI" :status :unsupported :comment "Unsupported. Same as Microtek ArtixScan 2020?" @@ -10775,25 +10775,25 @@ :comment "Unsupported. Same as Microtek Artixscan 2500f" :model "SnapScan 310P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :interface "Parport" :status :unsupported :comment "Unsupported, see link for details." :model "SnapScan EZ" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :interface "Parport" :status :unsupported :comment "Unsupported, see link for details." :model "SnapScan 1200P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :interface "Parport" :status :unsupported :comment "Unsupported, see link for details." :model "SnapScan 1212P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :interface "Parport" :status :unsupported :comment "Unsupported, see link for details." @@ -10804,7 +10804,7 @@ :url "http://www.artecusa.com/" :model "1236 USB" -:url "/unsupported/artec_1236usb.html" +:url "unsupported/artec_1236usb.html" :interface "USB" :usbid "0x05d8" "0x4001" :status :unsupported @@ -10816,7 +10816,7 @@ :comment "Unsupported. Chips found inside: AT015, AD9816JS. Maybe similar to SCSI version or as6e?" :model "Ultima 2000 (0x4001)" -:url "/unsupported/artec-ultima-2000-2.html" +:url "unsupported/artec-ultima-2000-2.html" :interface "USB" :usbid "0x05d8" "0x4001" :status :unsupported @@ -10827,7 +10827,7 @@ :mfg "Avigramm" :model "Minidoc" -:url "/unsupported/trust-combiscan-19200.html" +:url "unsupported/trust-combiscan-19200.html" :interface "USB Parport" :usbid "0x05cb" "0x1483" :status :unsupported @@ -10849,14 +10849,14 @@ :comment "Not supported. No chipset information available. Same as UMAX Astra 6700." :model "iVina 1600" -:url "/unsupported/umax-astra-4500.html" +:url "unsupported/umax-astra-4500.html" :interface "USB" :usbid "0x0638" "0x0a10" :status :unsupported :comment "GL646 based, to be added to genesys backend. Same as UMAX Astra 4500." :model "iVina FB1800" -:url "/unsupported/umax-astra-4700.html" +:url "unsupported/umax-astra-4700.html" :interface "USB" :usbid "0x0638" "0x0a20" :status :unsupported @@ -10870,49 +10870,49 @@ :comment "Formerly Acer Peripherals" :model "310P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "320P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "340P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "610P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "610PT" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "620P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "620PT" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." :model "640P" -:url "/unsupported/acer-parport.html" +:url "unsupported/acer-parport.html" :status :unsupported :interface "Parport" :comment "Unsupported, see link for details." @@ -10924,7 +10924,7 @@ :comment "Unsupported." :model "5550" -:url "/unsupported/benq-5550.html" +:url "unsupported/benq-5550.html" :interface "USB" :usbid "0x04a5" "0x2211" :status :unsupported @@ -10934,10 +10934,10 @@ :interface "USB" :usbid "0x04a5" "0x2311" :status :unsupported -:url "http://lists.alioth.debian.org/pipermail/sane-devel/2009-January/023447.html" +:url "http://alioth-lists.debian.net/pipermail/sane-devel/2009-January/023447.html" :model "7400UT" -:url "/unsupported/benq-7400ut.html" +:url "unsupported/benq-7400ut.html" :interface "USB" :usbid "0x04a5" "0x2202" :status :unsupported @@ -10947,7 +10947,7 @@ :mfg "Boeder" :model "Sm@rtScan Office" -:url "/unsupported/trust-combiscan-19200.html" +:url "unsupported/trust-combiscan-19200.html" :interface "Parport USB" :usbid "0x05cb" "0x1483" :status :unsupported @@ -10959,7 +10959,7 @@ :url "http://www.brother.com/" :model "MFC 2500" -:url "/unsupported/brother-mfc-2500.html" +:url "unsupported/brother-mfc-2500.html" :interface "USB" :usbid "0x04f9" "0x000a" :status :unsupported @@ -10972,13 +10972,13 @@ :comment "The parport 200x400dpi grayscale version of this scanner is unsupported. Dmitri Katchalov did some investigations on this scanner. If you want to write a backend, contact him (see link)." :model "MFC 7300c" -:url "/unsupported/brother-mfc-7300.html" +:url "unsupported/brother-mfc-7300.html" :interface "Parport USB" :usbid "0x04f9" "0x0106" :status :unsupported :model "MFC 9600" -:url "/unsupported/brother-mfc-9600.html" +:url "unsupported/brother-mfc-9600.html" :interface "USB" :usbid "0x04f9" "0x0101" :status :unsupported @@ -10989,7 +10989,7 @@ :url "http://www.c-channel.ch/" :model "MyPen Pro" -:url "/unsupported/c-channel-mypen-pro.html" +:url "unsupported/c-channel-mypen-pro.html" :interface "USB" ;:usbid "" "" :status :unsupported @@ -11002,7 +11002,7 @@ :comment "See bug #306792 for details." :model "MoneyPen II" -;:url "/unsupported/c-channel-mypen-pro.html" +;:url "unsupported/c-channel-mypen-pro.html" :interface "USB" ;:usbid "" "" :status :unsupported @@ -11014,70 +11014,70 @@ :url "http://www.canon.com/" :model "CanoScan 3000" -:url "/unsupported/canon-3000.html" +:url "unsupported/canon-3000.html" :interface "USB" :usbid "0x04a9" "0x2215" :status :unsupported :comment "GL660+GL646 based." :model "CanoScan 3000ex" -:url "/unsupported/canon-3000.html" +:url "unsupported/canon-3000.html" :interface "USB" :usbid "0x04a9" "0x2215" :status :unsupported :comment "GL660+GL646 based." :model "CanoScan 3000F" -:url "/unsupported/canon-3000.html" +:url "unsupported/canon-3000.html" :interface "USB" :usbid "0x04a9" "0x2215" :status :unsupported :comment "GL660+GL646 based, to be added to genesys backend" :model "CanoScan 4200F" -:url "/unsupported/canon-4200f.html" +:url "unsupported/canon-4200f.html" :interface "USB" :usbid "0x04a9" "0x221b" :status :unsupported :comment "Probably unsupported. See link." :model "CanoScan 4400F" -:url "/unsupported/canon-4400.html" +:url "unsupported/canon-4400.html" :interface "USB" :usbid "0x04a9" "0x2228" :status :unsupported :comment "GL843 based, to be added to genesys backend" :model "CanoScan 5000F" -:url "/unsupported/canon-5000f.html" +:url "unsupported/canon-5000f.html" :interface "USB" :usbid "0x04a9" "0x2212" :status :unsupported :comment "Unsupported. See link for details." :model "CanoScan 5200F" -:url "/unsupported/canon-5200f.html" +:url "unsupported/canon-5200f.html" :interface "USB" :usbid "0x04a9" "0x2217" :status :unsupported :comment "Probably unsupported. See link for details." :model "CanoScan 8000F" -:url "/unsupported/canon-8000f.html" +:url "unsupported/canon-8000f.html" :interface "USB" :usbid "0x04a9" "0x220f" :status :unsupported :comment "Not supported. See link for more information. With transparency adapter." :model "CanoScan 8400F" -:url "/unsupported/canon-8400f.html" +:url "unsupported/canon-8400f.html" :interface "USB" :usbid "0x04a9" "0x221e" :status :unsupported :comment "GL841 based, to be added to genesys backend" :model "CanoScan 8600F" -:url "/unsupported/canon-8600.html" +:url "unsupported/canon-8600.html" :interface "USB" :usbid "0x04a9" "0x2229" :status :unsupported @@ -11085,49 +11085,49 @@ :model "CanoScan 9900F" -:url "/unsupported/canon-9900f.html" +:url "unsupported/canon-9900f.html" :interface "USB" :usbid "0x04a9" "0x2210" :status :unsupported :comment "Probably unsupported, similar to 8000F. 3200x6400 dpi USB2. With transparency adapter." :model "CanoScan 9950F" -:url "/unsupported/canon-9950f.html" +:url "unsupported/canon-9950f.html" :interface "USB" :usbid "0x04a9" "0x2219" :status :unsupported :comment "Probably unsupported." :model "CanoScan D646U" -:url "/unsupported/canon-d646u.html" +:url "unsupported/canon-d646u.html" :interface "USB" :usbid "0x04a9" "0x220b" :status :unsupported :comment "Probably not supported. See link for more information and test program." :model "CanoScan D646U ex" -:url "/unsupported/canon-d646u.html" +:url "unsupported/canon-d646u.html" :interface "USB" :usbid "0x04a9" "0x220b" :status :unsupported :comment "Probably not supported. See D646." :model "CanoScan D1230U" -:url "/unsupported/canon-d1230u.html" +:url "unsupported/canon-d1230u.html" :interface "USB" :usbid "0x04a9" "0x2209" :status :unsupported :comment "Probably not supported. " :model "CanoScan D1250U2" -:url "/unsupported/canon-d1250u2.html" +:url "unsupported/canon-d1250u2.html" :interface "USB" :usbid "0x04a9" "0x220c" :status :unsupported :comment "Not supported. However, someone started working on this scanner and some information is available (see link)." :model "CanoScan D2400UF" -:url "/unsupported/canon-d2400uf.html" +:url "unsupported/canon-d2400uf.html" :interface "USB" :usbid "0x04a9" "0x220a" :status :unsupported @@ -11140,7 +11140,7 @@ :comment "Probably not supported. No details known." :model "CanoScan FB620U" -:url "/unsupported/canon-fb620u.html" +:url "unsupported/canon-fb620u.html" :interface "USB" :usbid "0x04a9" "0x2202" :status :unsupported @@ -11161,21 +11161,21 @@ :comment "Philips chip. Backend started, see link" :model "CanoScan LiDE 80" -:url "/unsupported/canon-lide-80.html" +:url "unsupported/canon-lide-80.html" :interface "USB" :usbid "0x04a9" "0x2214" :status :unsupported :comment "GL841 based, to be added to genesys backend" :model "CanoScan LiDE 90" -:url "/unsupported/canon-lide-90.html" +:url "unsupported/canon-lide-90.html" :interface "USB" :usbid "0x04a9" "0x1900" :status :unsupported :comment "Unsupported. See link for details." :model "CanoScan LiDE 500F" -:url "/unsupported/canon-canoscan-lide-500f.html" +:url "unsupported/canon-canoscan-lide-500f.html" :interface "USB" :usbid "0x04a9" "0x221f" :status :unsupported @@ -11196,67 +11196,67 @@ :comment "Philips chip. Backend started, see link" :model "FS4000" -:url "/unsupported/canon-fs4000.html" +:url "unsupported/canon-fs4000.html" :interface "USB SCSI" :usbid "0x04a9" "0x3042" :status :unsupported :comment "Not supported. See link for more details." :model "IS 12" -:url "/unsupported/canon-is-12.html" +:url "unsupported/canon-is-12.html" :interface "USB" :status :unsupported :comment "Probably not supported. Scanner cardridge for Canon inkjet printers." :model "IS 22" -:url "/unsupported/canon-is-22.html" +:url "unsupported/canon-is-22.html" :interface "Parport" :status :unsupported :comment "Probably not supported. Scanner cardridge for Canon inkjet printers." :model "IS 32" -:url "/unsupported/canon-is-32.html" +:url "unsupported/canon-is-32.html" :interface "USB" :usbid "0x04a9" "0x105d" :status :unsupported :comment "Probably not supported. Scanner cardridge for Canon inkjet printers." :model "IS 52" -:url "/unsupported/canon-is-52.html" +:url "unsupported/canon-is-52.html" :interface "USB" :status :unsupported :comment "Probably not supported. Scanner cardridge for Canon inkjet printers." :model "ImageRunner iR1018" -:url "/unsupported/canon-imagerunner.html" +:url "unsupported/canon-imagerunner.html" :interface "USB" :usbid "0x04a9" "0x269d" :status :unsupported :comment "Probably not supported. See link for details." :model "ImageRunner iR1022" -:url "/unsupported/canon-imagerunner.html" +:url "unsupported/canon-imagerunner.html" :interface "USB" :usbid "0x04a9" "0x269d" :status :unsupported :comment "Probably not supported. See link for details." :model "ImageRunner iR1023" -:url "/unsupported/canon-imagerunner.html" +:url "unsupported/canon-imagerunner.html" :interface "USB" :usbid "0x04a9" "0x269d" :status :unsupported :comment "Probably not supported. See link for details." :model "PIXMA MP110" -:url "/unsupported/canon-pixma-mp110.html" +:url "unsupported/canon-pixma-mp110.html" :interface "USB" :usbid "0x04a9" "0x1700" :status :unsupported :comment "Probably not supported. See link for details." :model "PIXMA MP130" -:url "/unsupported/canon-pixma-mp130.html" +:url "unsupported/canon-pixma-mp130.html" :interface "USB" :usbid "0x04a9" "0x1701" :status :unsupported @@ -11271,7 +11271,7 @@ :mfg "Chinon" :model "DS-3000" -:url "/unsupported/chinon-ds3000.html" +:url "unsupported/chinon-ds3000.html" :interface "Parport Serial Port" :status :unsupported :comment "Unsupported at the moment, but a backend is in preparation. See link." @@ -11292,7 +11292,7 @@ :mfg "Compeye" :model "Simplex 1236C" -:url "/unsupported/trust-combiscan-19200.html" +:url "unsupported/trust-combiscan-19200.html" :interface "Parport USB" :usbid "0x05cb" "0x1483" :status :unsupported @@ -11304,14 +11304,14 @@ :url "http://www.cardscan.com/" :model "Cardscan 500" -:url "/unsupported/corex-cardscan-500.html" +:url "unsupported/corex-cardscan-500.html" :interface "USB" :usbid "0x08f0" "0x0001" :status :unsupported :comment "Probably not supported. Businesscard reader." :model "Cardscan 700 C" -:url "/unsupported/corex-cardscan-700.html" +:url "unsupported/corex-cardscan-700.html" :interface "USB" :usbid "0x08f0" "0x0004" :status :unsupported @@ -11329,14 +11329,14 @@ :comment "Probably rebadged Lexmark X5150. May work with sane-lexmark? See bug #312130" :model "A960" -:url "/unsupported/dell-a960.html" +:url "unsupported/dell-a960.html" :interface "USB" :usbid "0x413c" "0x5107" :status :unsupported :comment "Probably not supported. See link for details." :model "922" -:url "/unsupported/dell-922.html" +:url "unsupported/dell-922.html" :interface "USB" :usbid "0x413c" "0x5109" :status :unsupported @@ -11360,7 +11360,7 @@ :comment "Probably unsupported. No details known." :model "Stylus DX4450" -:url "/unsupported/epson-stylus-dx4450.html" +:url "unsupported/epson-stylus-dx4450.html" :interface "USB" :usbid "0x04b8" "0x083f" :status :unsupported @@ -11377,7 +11377,7 @@ :url "http://www.bizcardreader.com/" :model "BizCardReader 900C" -:url "/unsupported/edt-900c.html" +:url "unsupported/edt-900c.html" :interface "USB" :usbid "0x0a53" "0x5001" :status :unsupported @@ -11417,41 +11417,41 @@ :url "http://www.genius-kye.com/" :model "ColorPage CS" -:url "/unsupported/genius-colorpage-cs.html" +:url "unsupported/genius-colorpage-cs.html" :interface "SCSI" :status :unsupported :comment "Probably unsupported, see link for details." :model "ColorPage-Slim 1200 USB2" -:url "/unsupported/genius-colorpage-slim-1200-usb2.html" +:url "unsupported/genius-colorpage-slim-1200-usb2.html" :interface "USB" :usbid "0x0458" "0x2020" :status :unsupported :comment "GL841 based, to be added to genesys backend." :model "ColorPage HR6X Slim" -:url "/unsupported/genius-colorpage-hr6x.html" +:url "unsupported/genius-colorpage-hr6x.html" :interface "USB" :usbid "0x0458" "0x2019" :status :unsupported :comment "GL646 based, to be added to genesys backend" :model "ColorPage HR7X" -:url "/unsupported/genius-colorpage-hr7x.html" +:url "unsupported/genius-colorpage-hr7x.html" :interface "USB" :usbid "0x0458" "0x2018" :status :unsupported :comment "GL646 based, to be added to genesys backend" :model "ColorPage HR7XE" -:url "/unsupported/genius-colorpage-hr7xe.html" +:url "unsupported/genius-colorpage-hr7xe.html" :interface "USB" :usbid "0x06dc" "0x0012" :status :unsupported :comment "Unsuported. See link for details." :model "ColorPage HR8" -:url "/unsupported/genius-colorpage-hr8.html" +:url "unsupported/genius-colorpage-hr8.html" :interface "USB" :usbid "0x0458" "0x201c" :status :unsupported @@ -11462,7 +11462,7 @@ :mfg "Guillemot" ; name a manufacturer :model "SCAN@HOME 48 USB" -:url "/unsupported/teco-vm6509.html" +:url "unsupported/teco-vm6509.html" :interface "USB" :usbid "0x080d" "0x0102" :status :unsupported @@ -11479,7 +11479,7 @@ :mfg "Hercules" ; name a manufacturer :model "SCAN@HOME 48 USB" -:url "/unsupported/teco-vm6509.html" +:url "unsupported/teco-vm6509.html" :interface "USB" :usbid "0x080d" "0x0102" :status :unsupported @@ -11492,7 +11492,7 @@ :url "http://www.hp.com/" :model "Photo Scanner 1000" -:url "/unsupported/hp-photo-1000.html" +:url "unsupported/hp-photo-1000.html" :interface "USB" :usbid "0x03f0" "0x1001" :status :unsupported @@ -11504,35 +11504,35 @@ :comment "Probably not supported by SANE. No details known. 10x15 cm. Maybe similar to Photo Scanner 1000?" :model "Photosmart S20 (C5101A)" -:url "/unsupported/hp-photosmart-s20xi.html" +:url "unsupported/hp-photosmart-s20xi.html" :interface "USB" :usbid "0x03f0" "0x0102" :status :unsupported :comment "Not supported yet by SANE. See link for details." :model "Photosmart S20xi (C7150A)" -:url "/unsupported/hp-photosmart-s20xi.html" +:url "unsupported/hp-photosmart-s20xi.html" :interface "USB" :usbid "0x03f0" "0x0102" :status :unsupported :comment "Not supported yet by SANE. See link for details." :model "Photosmart C5100 series" -:url "/unsupported/hp-photosmart-5100.html" +:url "unsupported/hp-photosmart-5100.html" :interface "USB" :usbid "0x03f0" "0x5811" :status :unsupported :comment "Not supported yet by SANE. See link for details." :model "ScanJet 2400c" -:url "/unsupported/hp-scanjet-2400c.html" +:url "unsupported/hp-scanjet-2400c.html" :interface "USB" :usbid "0x03f0" "0x0a01" :status :unsupported :comment "GL646 based, to be added to genesys backend" :model "Photosmart C3180" -:url "/unsupported/hp-photosmart-3180.html" +:url "unsupported/hp-photosmart-3180.html" :interface "USB" :usbid "0x03f0" "0x5611" :status :unsupported @@ -11545,7 +11545,7 @@ :comment "While an external binary-only backend exists, it works only on Linux i386. Therefore the scanner is unsupported on other platforms." :model "ScanJet 4600" -:url "/unsupported/hp-scanjet-4600.html" +:url "unsupported/hp-scanjet-4600.html" :interface "USB" :usbid "0x03f0" "0x3005" :comment "Not supported. See link for details, or http://www.chmil.org/hp4600linux/ for code" @@ -11558,35 +11558,35 @@ :status :unsupported :model "ScanJet 4850C" -:url "/unsupported/hp-scanjet-4850.html" +:url "unsupported/hp-scanjet-4850.html" :interface "USB" :usbid "0x03f0" "0x1b05" :comment "GL841, maybe can be added to genesys backend " :status :unsupported :model "ScanJet 4890C" -:url "/unsupported/hp-scanjet-4850.html" +:url "unsupported/hp-scanjet-4850.html" :interface "USB" :usbid "0x03f0" "0x1b05" :comment "GL843, maybe can be added to genesys backend " :status :unsupported :model "ScanJet 5530C Photosmart" -:url "/unsupported/hp-scanjet-5530.html" +:url "unsupported/hp-scanjet-5530.html" :interface "USB" :usbid "0x03f0" "0x1605" :comment "Maybe GL841_HP, but not confirmed, maybe can be added to genesys backend" :status :unsupported :model "ScanJet 8390" -:url "/unsupported/hp-scanjet-8390.html" +:url "unsupported/hp-scanjet-8390.html" :interface "USB" :usbid "0x03f0" "0x3805" :comment "Probably not supported. See link for details." :status :unsupported :model "ScanJet G4000" -:url "/unsupported/hp-g4000.html" +:url "unsupported/hp-g4000.html" :interface "USB" :usbid "0x03f0" "0x4505" :comment "Probably not supported. See link for details." @@ -11608,7 +11608,7 @@ :url "http://www.iomagic.com/" :model "MobileScan USB" -:url "/unsupported/trust-combiscan-19200.html" +:url "unsupported/trust-combiscan-19200.html" :interface "USB Parport" :usbid "0x05cb" "0x1483" :status :unsupported @@ -11620,21 +11620,21 @@ :url "http://irislink.com/" :model "IriScan" -:url "/unsupported/iris-iriscan.html" +:url "unsupported/iris-iriscan.html" :interface "USB" :usbid "0x0a53" "0x1000" :status :unsupported :comment "Unsupported. LM9832/3. See link for details." :model "IRISPen Translator Executive" -:url "/unsupported/iris-irispen-translator.html" +:url "unsupported/iris-irispen-translator.html" :interface "USB" :usbid "0x0f43" "0x015a" :status :unsupported :comment "Unsupported. See link for details." :model "IRISCard Pro (IBCR II)" -:url "/unsupported/iris-business.html" +:url "unsupported/iris-business.html" :interface "USB" :usbid "0x0a38" "0x0301" :status :unsupported @@ -11656,84 +11656,84 @@ :url "http://www.lexmark.com/" :model "P6250" -:url "/unsupported/lexmark-p6250.html" +:url "unsupported/lexmark-p6250.html" :interface "USB" :usbid "0x043d" "0x0097" :status :unsupported :comment "Unsupported. See link for details." :model "Photo 3150" -:url "/unsupported/lexmark-3150.html" +:url "unsupported/lexmark-3150.html" :interface "USB" :usbid "0x043d" "0x007d" :status :unsupported :comment "Unsupported. See link for details." :model "X74" -:url "/unsupported/lexmark-x75.html" +:url "unsupported/lexmark-x75.html" :interface "USB" :usbid "0x043d" "0x0060" :status :unsupported :comment "Unsupported. See link for details." :model "X75" -:url "/unsupported/lexmark-x75.html" +:url "unsupported/lexmark-x75.html" :interface "USB" :usbid "0x043d" "0x0060" :status :unsupported :comment "Unsupported. See link for details." :model "X75 PrinTrio" -:url "/unsupported/lexmark-x75.html" +:url "unsupported/lexmark-x75.html" :interface "USB" :usbid "0x043d" "0x0060" :status :unsupported :comment "Unsupported. See link for details." :model "X83" -:url "/unsupported/lexmark-x83.html" +:url "unsupported/lexmark-x83.html" :interface "USB" :usbid "0x043d" "0x003d" :status :unsupported :comment "Unsupported. GL640." :model "X2330" -:url "/unsupported/lexmark-x2330.html" +:url "unsupported/lexmark-x2330.html" :interface "USB" :usbid "0x043d" "0x00bb" :status :unsupported :comment "Unsupported. See link for details." - + :model "X3450" -:url "/unsupported/lexmark-x3450.html" +:url "unsupported/lexmark-x3450.html" :interface "USB" :usbid "0x043d" "0x00f6" :status :unsupported :comment "Unsupported. See link for details." - + :model "X5130" -:url "/unsupported/lexmark-x5130.html" +:url "unsupported/lexmark-x5130.html" :interface "USB" :usbid "0x043d" "0x0065" :status :unsupported :comment "Unsupported." :model "X5150" -:url "/unsupported/lexmark-x5130.html" +:url "unsupported/lexmark-x5130.html" :interface "USB" :usbid "0x043d" "0x0065" :status :unsupported :comment "Probably unsupported. See link for details." :model "X5250" -:url "/unsupported/lexmark-x5250.html" +:url "unsupported/lexmark-x5250.html" :interface "USB" :usbid "0x043d" "0x0093" :status :unsupported :comment "Unsupported." :model "X6170" -:url "/unsupported/lexmark-x6170.html" +:url "unsupported/lexmark-x6170.html" :interface "USB" :usbid "0x043d" "0x0072" :status :unsupported @@ -11746,14 +11746,14 @@ :comment "Unsupported. See bug #310889 for details." :model "X7350" -:url "/unsupported/lexmark-x7350.html" +:url "unsupported/lexmark-x7350.html" :interface "USB" :usbid "0x043d" "0x00b8" :status :unsupported :comment "Unsupported. See link for details." :model "X8350" -:url "/unsupported/lexmark-x8350.html" +:url "unsupported/lexmark-x8350.html" :interface "USB" :usbid "0x043d" "0x00b9" :status :unsupported @@ -11770,7 +11770,7 @@ :comment "Most probably unsupported." :model "PageScan USB" -:url "/unsupported/logitech-pagescan-usb.html" +:url "unsupported/logitech-pagescan-usb.html" :interface "USB" :usbid "0x046d" "0x040f" :status :unsupported @@ -11783,42 +11783,42 @@ :url "http://www.medion.de/" :model "MD 6190" -:url "/unsupported/medion-md6190.html" +:url "unsupported/medion-md6190.html" :interface "USB" :usbid "0x0461" "0x0392" :status :unsupported :comment "Probably unsupported. There seem to exist two different scanners with that name. See link for details." :model "MD 6190" -:url "/unsupported/medion-md6190.html" +:url "unsupported/medion-md6190.html" :interface "USB" :usbid "0x0461" "0x037b" :status :unsupported :comment "Probably unsupported. There seem to exist two different scanners with that name. See link for details." :model "MD 40420" -:url "/unsupported/tevion-md40420.html" +:url "unsupported/tevion-md40420.html" :interface "USB" :usbid "0x05da" "0x3008" :status :unsupported :comment "Probably unsupported. See link for details." :model "MD 41260" -:url "/unsupported/medion-md6190.html" +:url "unsupported/medion-md6190.html" :interface "USB" :usbid "0x0461" "0x037b" :status :unsupported :comment "Probably unsupported. See link for details." :model "MD 41985" -:url "/unsupported/medion-md6190.html" +:url "unsupported/medion-md6190.html" :interface "USB" :usbid "0x0461" "0x037b" :status :unsupported :comment "Probably unsupported. See link for details." :model "MD 42666" -:url "/unsupported/tevion-md40420.html" +:url "unsupported/tevion-md40420.html" :interface "USB" :usbid "0x05da" "0x3008" :status :unsupported @@ -11832,21 +11832,21 @@ :comment "Fingerprint sensor. See link for details." :model "MD 90009" -:url "/unsupported/tevion-md90009.html" +:url "unsupported/tevion-md90009.html" :interface "USB" :usbid "0x05da" "0x30e5" :status :unsupported :comment "Probably unsupported. See link for details." :model "MD 90070" -:url "/unsupported/tevion-md90070.html" +:url "unsupported/tevion-md90070.html" :interface "USB" :usbid "0x05da" "0x3022" :status :unsupported :comment "Unsupported. See link for details." :model "MD 90090" -:url "/unsupported/tevion-md90070.html" +:url "unsupported/tevion-md90070.html" :interface "USB" :usbid "0x05da" "0x3022" :status :unsupported @@ -11858,28 +11858,28 @@ :url "http://www.memorex.com/" :model "6136u" -:url "/unsupported/memorex-maxx-6136u.html" +:url "unsupported/memorex-maxx-6136u.html" :interface "USB" :usbid "0x0461" "0x0346" :status :unsupported :comment "Probably unsupported." :model "6142u" -:url "/unsupported/visioneer-onetouch4400.html" +:url "unsupported/visioneer-onetouch4400.html" :interface "USB" :usbid "0x0461" "0x0347" :status :unsupported :comment "Probably unsupported. Same as Visioneer Onetouch 4400. See link for details." :model "MaxxScan 6122" -:url "/unsupported/trust-combiscan-19200.html" +:url "unsupported/trust-combiscan-19200.html" :interface "USB Parport" :usbid "0x05cb" "0x1483" :status :unsupported :comment "Unsupported. See link for details." :model "SCF 9612P" -:url "/unsupported/memorex-scf-9612p.html" +:url "unsupported/memorex-scf-9612p.html" :interface "Parport" :status :unsupported :comment "Probably unsupported. See link for details." @@ -11894,7 +11894,7 @@ :comment "Unsupported. Same as Agfa DuoScan T2000XL?" :model "ArtixScanDI 2020" -:url "/unsupported/microtek-artixscan-2020.html" +:url "unsupported/microtek-artixscan-2020.html" :interface "USB" :usbid "0x05da" "0x202e" :status :unsupported @@ -11911,7 +11911,7 @@ :comment "Unsupported. Uses ALI M5611B." :model "FilmScan 35" -:url "/unsupported/microtek-filmscan-35.html" +:url "unsupported/microtek-filmscan-35.html" :interface "USB" :usbid "0x05e3" "0x0120" :status :unsupported @@ -11923,89 +11923,89 @@ :comment "Probably unsupported. Seems to be similar to the Microtek 330 CX and is detected by the microtek2 backend. Scanning doesn't seem to work however." :model "Scanmaker 1850S" -:url "/unsupported/microtek-scanmaker-1850s.html" +:url "unsupported/microtek-scanmaker-1850s.html" :interface "SCSI" :status :unsupported :comment "Unsupported. See link for details." :model "ScanMaker 3630" -:url "/unsupported/microtek-scanmaker-3630.html" +:url "unsupported/microtek-scanmaker-3630.html" :interface "USB" :usbid "0x0461" "0x0347" :status :unsupported :comment "Unsupported. Doesn't seem to be compatible to 3600 series, see link." :model "ScanMaker 3800" -:url "/unsupported/microtek-scanmaker-3800.html" +:url "unsupported/microtek-scanmaker-3800.html" :interface "USB" :usbid "0x05da" "0x30ce" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 3830" -:url "/unsupported/microtek-scanmaker-3830.html" +:url "unsupported/microtek-scanmaker-3830.html" :interface "USB" :usbid "0x05da" "0x30ce" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 3860" -:url "/unsupported/microtek-scanmaker-3880.html" +:url "unsupported/microtek-scanmaker-3880.html" :interface "USB" :usbid "0x05da" "0x3023" :status :unsupported :comment "Unsupported. See link for more details. Appears to be similar to ScanMaker 3880." :model "ScanMaker 3880" -:url "/unsupported/microtek-scanmaker-3880.html" +:url "unsupported/microtek-scanmaker-3880.html" :interface "USB" :usbid "0x05da" "0x3021" :status :unsupported :comment "Unsupported. SQ113 chip. See link for more details." :model "ScanMaker 4600" -:url "/unsupported/microtek-scanmaker-4600.html" +:url "unsupported/microtek-scanmaker-4600.html" :interface "USB" :usbid "0x05da" "0x40c7" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 4700" -:url "/unsupported/microtek-scanmaker-4700.html" +:url "unsupported/microtek-scanmaker-4700.html" :interface "USB" :usbid "0x05da" "0x20b4" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 4850" -:url "/unsupported/microtek-scanmaker-4900.html" +:url "unsupported/microtek-scanmaker-4900.html" :interface "USB" :usbid "0x05da" "0x30d9" :status :unsupported :comment "Probably unsupported. See link for details." :model "ScanMaker 4850 II" -:url "/unsupported/microtek-scanmaker-4850-2.html" +:url "unsupported/microtek-scanmaker-4850-2.html" :interface "USB" :usbid "0x05da" "0x3008" :status :unsupported :comment "Probably unsupported. See link for details." :model "ScanMaker 4900" -:url "/unsupported/microtek-scanmaker-4900.html" +:url "unsupported/microtek-scanmaker-4900.html" :interface "USB" :usbid "0x05da" "0x30b9" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 5" -:url "/unsupported/microtek-scanmaker-5600.html" +:url "unsupported/microtek-scanmaker-5600.html" :interface "SCSI" :status :unsupported :comment "Probably unsupported. See link for more details." :model "ScanMaker 5600" -:url "/unsupported/microtek-scanmaker-5600.html" +:url "unsupported/microtek-scanmaker-5600.html" :interface "USB" :usbid "0x05da" "0x20a7" :status :unsupported @@ -12018,49 +12018,49 @@ :comment "Unsupported. Uses ALI M5615 like the ScanMaker 4700." :model "ScanMaker 5800" -:url "/unsupported/microtek-scanmaker-5800.html" +:url "unsupported/microtek-scanmaker-5800.html" :interface "USB" :usbid "0x05da" "0x3008" :status :unsupported :comment "Unsupported. See link for details." :model "ScanMaker 5800" -:url "/unsupported/microtek-scanmaker-5800.html" +:url "unsupported/microtek-scanmaker-5800.html" :interface "USB" :usbid "0x05da" "0x30d8" :status :unsupported :comment "Unsupported. See link for details." :model "ScanMaker 5900" -:url "/unsupported/microtek-scanmaker-5900.html" +:url "unsupported/microtek-scanmaker-5900.html" :interface "USB" :usbid "0x05da" "0x30d8" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 5950" -:url "/unsupported/microtek-scanmaker-5950.html" +:url "unsupported/microtek-scanmaker-5950.html" :interface "USB" :usbid "0x05da" "0x30d8" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 6000" -:url "/unsupported/microtek-scanmaker-6000.html" +:url "unsupported/microtek-scanmaker-6000.html" :interface "USB" :usbid "0x05da" "0x30e5" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 6100" -:url "/unsupported/microtek-scanmaker-6100.html" +:url "unsupported/microtek-scanmaker-6100.html" :interface "USB" :usbid "0x05da" "0x30e5" :status :unsupported :comment "Unsupported. See link for more details." :model "ScanMaker 6700" -:url "/unsupported/microtek-scanmaker-6700.html" +:url "unsupported/microtek-scanmaker-6700.html" :interface "USB IEEE-1394" :usbid "0x05da" "0x20c9" :status :unsupported @@ -12068,7 +12068,7 @@ :model "ScanMaker 8700" :status :unsupported -:url "/unsupported/microtek-scanmaker-8700.html" +:url "unsupported/microtek-scanmaker-8700.html" :interface "USB IEEE-1394" :usbid "0x05da" "0x20b1" :comment "Unsupported. See link for details. USB vendor and product ids to be checked." @@ -12080,35 +12080,35 @@ :comment "Probably unsupported. SCSI seems to work with microtek2 backend." :model "ScanMaker 9800XL" -:url "/unsupported/microtek-scanmaker-9800.html" +:url "unsupported/microtek-scanmaker-9800.html" :interface "USB SCSI" :usbid "0x05da" "0x20de" :status :unsupported :comment "Partly unsupported. IEEE-1394 works with microtek2 backend. See link." :model "ScanMaker i320" -:url "/unsupported/microtek-scanmaker-i320.html" +:url "unsupported/microtek-scanmaker-i320.html" :interface "USB" :usbid "0x05da" "0x30e6" :status :unsupported :comment "Unsupported. See link." :model "ScanMaker s400" -:url "/unsupported/microtek-scanmaker-s400.html" +:url "unsupported/microtek-scanmaker-s400.html" :interface "USB" :usbid "0x05da" "0x201c" :status :unsupported :comment "Unsupported. See link." :model "ScanMaker S400" -:url "/unsupported/microtek-scanmaker-s400.html" +:url "unsupported/microtek-scanmaker-s400.html" :interface "USB" :usbid "0x05da" "0x300b" :status :unsupported :comment "Unsupported. See link." :model "ScanPort 3000" -:url "/unsupported/microtek-scanport-3000.html" +:url "unsupported/microtek-scanport-3000.html" :interface "USB" :usbid "0x04a7" "0x0224" :status :unsupported @@ -12121,35 +12121,35 @@ :url "http://www.konicaminolta.com/" :model "Dual Scan III" -:url "/unsupported/minolta-dual-scan-III.html" +:url "unsupported/minolta-dual-scan-III.html" :interface "USB" :usbid "0x0686" "0x400d" :status :unsupported :comment "Unsupported. May work with vuescan. See link for details." :model "Dual Scan IV" -:url "/unsupported/minolta-dual-scan-IV.html" +:url "unsupported/minolta-dual-scan-IV.html" :interface "USB" :usbid "0x132b" "0x000a" :status :unsupported :comment "Unsupported. Works with vuescan. See link for details." :model "DiMAGE Scan Elite 5400" -:url "/unsupported/minolta-dse-5400.html" +:url "unsupported/minolta-dse-5400.html" :interface "USB IEEE-1394" :usbid "0x0686" "0x400e" :status :unsupported :comment "Probably unsupported. May work with vuescan. See link for details." :model "DiMAGE Scan Elite 5400 2" -:url "/unsupported/minolta-dse-5400-2.html" +:url "unsupported/minolta-dse-5400-2.html" :interface "USB" :usbid "0x132b" "0x0012" :status :unsupported :comment "Probably unsupported. See link for details." :model "DiMAGE Scan Multi Pro" -:url "/unsupported/minolta-dimage-scan-multi-pro.html" +:url "unsupported/minolta-dimage-scan-multi-pro.html" :interface "IEEE-1394" :status :unsupported :comment "Probably unsupported. See link for details." @@ -12185,21 +12185,21 @@ :status :unsupported :model "BearPaw 2448 CU Pro" -:url "/unsupported/mustek-bearpaw-2448-cu-pro.html" +:url "unsupported/mustek-bearpaw-2448-cu-pro.html" :usbid "0x055f" "0x0408" :interface "USB" :comment "Not supported. May be supported by mustek_usb2 backend later. See link for some information." :status :unsupported :model "BearPaw 4800 TA Pro" -:url "/unsupported/mustek-bearpaw-4800ta-pro.html" +:url "unsupported/mustek-bearpaw-4800ta-pro.html" :interface "USB" :usbid "0x055f" "0x1000" :comment "Not supported. See link for some information." :status :unsupported :model "BearPaw 4800 TA Pro II" -:url "/unsupported/mustek-bearpaw-4800ta-pro-ii.html" +:url "unsupported/mustek-bearpaw-4800ta-pro-ii.html" :interface "USB" :usbid "0x055f" "0x040a" :comment "Not supported. May be supported by mustek_usb2 backend later. See link for some information." @@ -12256,7 +12256,7 @@ :comment "Probably unsupported. USB business card scanner. Maybe works as USB storage device?" :model "ScanMagic 9636P" -:url "http://lists.alioth.debian.org/pipermail/sane-devel/2003-May/007682.html" +:url "http://alioth-lists.debian.net/pipermail/sane-devel/2003-May/007682.html" :interface "Parport" :status :unsupported :comment "Probably not supported. Same as Mustek 12000 P?. ASIC 1505." @@ -12267,7 +12267,7 @@ :url "http://www.nevt.co.jp/" :model "Petiscan" -:url "/unsupported/nec-petiscan.html" +:url "unsupported/nec-petiscan.html" :interface "USB" :usbid "0x0475" "0x0100" :status :unsupported @@ -12279,7 +12279,7 @@ :url "http://www.nikon.com/" :model "LS-9000 ED" -:url "/unsupported/nikon-ls9000-ed.html" +:url "unsupported/nikon-ls9000-ed.html" :interface "IEEE-1394" :status :unsupported :comment "Probably not supported. See link for details. Possibly similar to LS-8000 ED." @@ -12290,7 +12290,7 @@ :url "http://www.olivetti.com" :model "Job-Jet M400" -:url "/unsupported/olivetti-job-jet-m400.html" +:url "unsupported/olivetti-job-jet-m400.html" :interface "USB" :usbid "0x0b3c" "0xa880" :status :unsupported @@ -12301,12 +12301,12 @@ :url "http://www.olympus.com" :model "ES-10P" -:url "http://lists.alioth.debian.org/pipermail/sane-devel/2008-December/023326.html" +:url "http://alioth-lists.debian.net/pipermail/sane-devel/2008-December/023326.html" :interface "Parport" :status :unsupported :model "ES-10S" -:url "/unsupported/olympus-es10s.html" +:url "unsupported/olympus-es10s.html" :interface "SCSI" :status :unsupported :comment "Probably not supported. See link for details." @@ -12431,7 +12431,7 @@ :mfg "Pentax" :model "DSmobile USB" -:url "/unsupported/syscan-travelscan-pro.html" +:url "unsupported/syscan-travelscan-pro.html" :interface "USB" :usbid "0x0a82" "0x2000" :status :unsupported @@ -12444,7 +12444,7 @@ :comment "Pacific Image Electronics" :model "Primefilm 1800u" -:url "/unsupported/pie-1800u.html" +:url "unsupported/pie-1800u.html" :interface "USB" :usbid "0x05e3" "0x0120" :status :unsupported @@ -12453,7 +12453,7 @@ :model "Primefilm 2700" :interface "USB" :status :unsupported -:url "http://lists.alioth.debian.org/pipermail/sane-devel/2009-January/023442.html" +:url "http://alioth-lists.debian.net/pipermail/sane-devel/2009-January/023442.html" :model "Primefilm 3600PRO" :interface "USB IEEE-1394" @@ -12461,14 +12461,14 @@ :comment "Probably not supported. " :model "Powerslide 3600" -:url "/unsupported/reflecta-digitdia-3600.html" +:url "unsupported/reflecta-digitdia-3600.html" :interface "USB IEEE-1394" :usbid "0x05e3" "0x0142" :status :unsupported :comment "Probably unsupported. Film scanner that can scan directly from the magazine." :model "PF3650 Pro3 Film Scanner" -:url "/unsupported/pie-pf3650.html" +:url "unsupported/pie-pf3650.html" :interface "USB IEEE-1394" :usbid "0x05e3" "0x0143" :status :unsupported @@ -12485,7 +12485,7 @@ :url "http://www.plustek.com/" :model "OpticFilm 7200" -:url "/unsupported/plustek-opticfilm-7200.html" +:url "unsupported/plustek-opticfilm-7200.html" :interface "USB" :usbid "0x07b3" "0x0807" :status :unsupported @@ -12508,21 +12508,21 @@ :comment "Uses RealTek chipset (RTL8801D)" :model "OpticPro S12" -:url "/unsupported/plustek-opticpro-st12.html" +:url "unsupported/plustek-opticpro-st12.html" :interface "USB" :usbid "0x07b3" "0x0600" :status :unsupported :comment "Product id 0x0600 is unsupported but may be supported by the genesys backend in future. Product id 0x040b is supported by the gt68xx backend." :model "OpticPro ST12" -:url "/unsupported/plustek-opticpro-st12.html" +:url "unsupported/plustek-opticpro-st12.html" :interface "USB" :usbid "0x07b3" "0x0600" :status :unsupported :comment "Product id 0x0600 is unsupported but may be supported by the genesys backend in future. Product id 0x040b is supported by the gt68xx backend." :model "OpticPro ST16" -:url "/unsupported/plustek-opticpro-st16.html" +:url "unsupported/plustek-opticpro-st16.html" :interface "USB" :usbid "0x07b3" "0x0600" :status :unsupported @@ -12534,14 +12534,14 @@ :comment "Probably LM983x based." :model "OpticPro S24" -:url "/unsupported/plustek-opticpro-st24.html" +:url "unsupported/plustek-opticpro-st24.html" :interface "USB" :usbid "0x07b3" "0x0601" :status :unsupported :comment "Product id 0x0601 is unsupported but may be supported by the genesys backend in future /GL646). Product id 0x040e is supported by the gt68xx backend." :model "OpticPro ST24" -:url "/unsupported/plustek-opticpro-st24.html" +:url "unsupported/plustek-opticpro-st24.html" :interface "USB" :usbid "0x07b3" "0x0601" :status :unsupported @@ -12549,83 +12549,83 @@ :model "OpticPro S28" :interface "USB" -:url "/unsupported/plustek-opticpro-s28.html" +:url "unsupported/plustek-opticpro-s28.html" :usbid "0x07b3" "0x0801" :status :unsupported :comment "GL841 based, to be added to genesys backend" :model "OpticPro ST28" -:url "/unsupported/plustek-opticpro-s28.html" +:url "unsupported/plustek-opticpro-s28.html" :interface "USB" :usbid "0x07b3" "0x0801" :status :unsupported :comment "GL841 based, to be added to genesys backend" :model "OpticPro ST28" -:url "/unsupported/plustek-opticpro-st28.html" +:url "unsupported/plustek-opticpro-st28.html" :interface "USB" :usbid "0x07b3" "0x0802" :status :unsupported :comment "GL841 based, to be added to genesys backend" :model "Umax AstraScan 4750" -:url "/unsupported/umax-astrscan-4750.html" +:url "unsupported/umax-astrscan-4750.html" :interface "USB" :usbid "0x07b3" "0x0802" :status :unsupported :comment "GL841 based, to be added to genesys backend, rebadged Plustek ST28" :model "OpticPro ST48" -:url "/unsupported/plustek-opticpro-st48.html" +:url "unsupported/plustek-opticpro-st48.html" :interface "USB" :usbid "0x07b3" "0x0800" :status :unsupported :comment "GL841 based, to be added to genesys backend" :model "OpticPro ST64" -:url "/unsupported/plustek-opticpro-st64.html" +:url "unsupported/plustek-opticpro-st64.html" :interface "USB" :usbid "0x07b3" "0x0c00" :status :unsupported :comment "GL843 based, maybe to be added to genesys backend" :model "OpticPro ST64+" -:url "/unsupported/plustek-opticpro-st64plus.html" +:url "unsupported/plustek-opticpro-st64plus.html" :interface "USB" :usbid "0x07b3" "0x0c03" :status :unsupported :comment "GL843 based. See link for more details." :model "PL 806" -:url "/unsupported/plustek-pl806.html" +:url "unsupported/plustek-pl806.html" :interface "USB" :usbid "0x07b3" "0x0c0c" :status :unsupported :comment "Unsupported. See link for more details." :model "SmartOffice PL 812" -:url "/unsupported/plustek-pl812.html" +:url "unsupported/plustek-pl812.html" :interface "USB" :usbid "0x07b3" "0x0c0d" :status :unsupported :comment "Unsupported. See link for more details." :model "OpticSlim 500" -:url "/unsupported/plustek-opticslim-500.html" +:url "unsupported/plustek-opticslim-500.html" :interface "USB" :usbid "0x07b3" "0x0458" :status :unsupported :comment "Unsupported. See link for more details." :model "OpticSlim 2420" -:url "/unsupported/plustek-opticslim-2420.html" +:url "unsupported/plustek-opticslim-2420.html" :interface "USB" :usbid "0x07b3" "0x0806" :status :unsupported :comment "GL841 based, to be added to genesys backend" :model "OpticSlim 2420+" -:url "/unsupported/plustek-opticslim-2420plus.html" +:url "unsupported/plustek-opticslim-2420plus.html" :interface "USB" :usbid "0x07b3" "0x0914" :status :unsupported @@ -12642,7 +12642,7 @@ :comment "Business card reader. No further information available." :model "ScanCopy 115" -:url "/unsupported/plustek-scancopy-115.html" +:url "unsupported/plustek-scancopy-115.html" :interface "USB" :usbid "0x07b3" "0x081c" :status :unsupported @@ -12700,7 +12700,7 @@ :comment "Probably not supported. No details known." :model "DocuPen R700" -:url "/unsupported/planon-docupen-r700.html" +:url "unsupported/planon-docupen-r700.html" :interface "USB" :usbid "0x10c4" "0xea60" :status :unsupported @@ -12717,7 +12717,7 @@ :url "http://www.primax.nl/" :model "Colorado 600U" -:url "/unsupported/primax-colorado-600u.html" +:url "unsupported/primax-colorado-600u.html" :interface "USB" :usbid "0x0461" "0x0341" :status :unsupported @@ -12736,7 +12736,7 @@ :comment "Probably unsupported. No details known." :model "Primascan Colorado 2600u" -:url "/unsupported/visioneer-onetouch4400.html" +:url "unsupported/visioneer-onetouch4400.html" :interface "USB" :usbid "0x0461" "0x0347" :status :unsupported @@ -12755,7 +12755,7 @@ :comment "Not supported. However, a stand-alone program is available." :model "Colorado USB 9600" -:url "/unsupported/primax-colorado-usb-9600.html" +:url "unsupported/primax-colorado-usb-9600.html" :interface "USB" :usbid "0x0461" "0x0340" :status :unsupported @@ -12820,7 +12820,7 @@ :comment "Maybe GL646. Maybe similar to Medion MD 6228?" :model "Onetouch 8920" -:url "/unsupported/visioneer-onetouch8920.html" +:url "unsupported/visioneer-onetouch8920.html" :interface "USB" :usbid "0x0461" "0x0371" :status :unsupported @@ -12832,7 +12832,7 @@ :url "http://www.fida.com/" :model "Winscan Pro 2448U" -:url "/unsupported/prolink-2448u.html" +:url "unsupported/prolink-2448u.html" :interface "USB" :usbid "0x06dc" "0x0014" :status :unsupported @@ -12863,21 +12863,21 @@ :mfg "Reflecta" :model "DigitDia 3600" -:url "/unsupported/reflecta-digitdia-3600.html" +:url "unsupported/reflecta-digitdia-3600.html" :interface "USB IEEE-1394" :usbid "0x05e3" "0x0142" :status :unsupported :comment "Film scanner that can scan directly from the magazine." :model "iScan 1800" -:url "/unsupported/reflecta-iscan-1800.html" +:url "unsupported/reflecta-iscan-1800.html" :interface "USB" :usbid "0x05e3" "0x0120" :status :unsupported :comment "Probably unsupported. See link for details." :model "ProScan 4000" -:url "/unsupported/reflecta-proscan-4000.html" +:url "unsupported/reflecta-proscan-4000.html" :interface "USB IEEE-1394" :usbid "0x05e3" "0x0143" :status :unsupported @@ -12888,21 +12888,21 @@ :mfg "Relisys" :model "Eclipse 1200U" -:url "/unsupported/relisys-eclipse-1200u.html" +:url "unsupported/relisys-eclipse-1200u.html" :interface "USB" :usbid "0x0475" "0x0103" :status :unsupported :comment "Probably unsupported. See link for details." :model "Scorpio Ultra 3" -:url "/unsupported/relisys-scorpio-ultra3.html" +:url "unsupported/relisys-scorpio-ultra3.html" :interface "USB" :usbid "0x0475" "0x0210" :status :unsupported :comment "Probably unsupported. See link for details." :model "Episode" -:url "/unsupported/relisys-episode.html" +:url "unsupported/relisys-episode.html" :interface "USB" :usbid "0x0475" "0x0103" :status :unsupported @@ -12918,7 +12918,7 @@ :mfg "Samsung" :model "SCX-4725FN" -:url "/unsupported/samsung-scx-4725.html" +:url "unsupported/samsung-scx-4725.html" :interface "USB" :usbid "0x04e8" "0x341f" :status :unsupported @@ -12929,7 +12929,7 @@ :mfg "Scanshell" :model "800N" -:url "/unsupported/scanshell-800n.html" +:url "unsupported/scanshell-800n.html" :interface "USB" :usbid "0x0a82" "0x6605" :status :unsupported @@ -12999,14 +12999,14 @@ :mfg "Syscan" :model "TravelScan FS-531" -:url "/unsupported/syscan-travelscan-fs531.html" +:url "unsupported/syscan-travelscan-fs531.html" :interface "USB" :usbid "0x0a82" "0x0530" :status :unsupported :comment "Not supported. May work with the Plustek backend in future. See link for details." :model "TravelScan Pro" -:url "/unsupported/syscan-travelscan-pro.html" +:url "unsupported/syscan-travelscan-pro.html" :interface "USB" :usbid "0x0a82" "0x2000" :status :unsupported @@ -13029,7 +13029,7 @@ :comment "Unsupported at the moment. See link for a project for that scanner." :model "Artiscan 2400FS" -:url "/unsupported/tamarack-artiscan-2400.html" +:url "unsupported/tamarack-artiscan-2400.html" :interface "USB" :usbid "0x05e3" "0x0100" :status :unsupported @@ -13042,7 +13042,7 @@ :url "http://www.tce.com.br/" :model "MK600U" -:url "/unsupported/memorex-maxx-6136u.html" +:url "unsupported/memorex-maxx-6136u.html" :interface "USB" :usbid "0x0461" "0x0346" :status :unsupported @@ -13060,7 +13060,7 @@ :url "http://www.tecoimage.com.tw/" :model "VM6509F" -:url "/unsupported/teco-vm6509.html" +:url "unsupported/teco-vm6509.html" :interface "USB" :usbid "0x080d" "0x0102" :status :unsupported @@ -13071,7 +13071,7 @@ :mfg "Tiny" :model "FU661E" -:url "/unsupported/visioneer-onetouch4400.html" +:url "unsupported/visioneer-onetouch4400.html" :interface "USB" :usbid "0x0461" "0x0347" :status :unsupported @@ -13083,19 +13083,19 @@ :url "http://www.trust-site.com" :model "CombiScan 19200" -:url "/unsupported/trust-combiscan-19200.html" +:url "unsupported/trust-combiscan-19200.html" :interface "Parport USB" :usbid "0x05cb" "0x1483" :status :unsupported :comment "Unsupported. See link for details." :model "EasyScan 19200" -:url "http://lists.alioth.debian.org/pipermail/sane-devel/2008-October/022955.html" +:url "http://alioth-lists.debian.net/pipermail/sane-devel/2008-October/022955.html" :interface "Parport" :status :unsupported :model "SCSI Scan 19200 -Excellence Series-" -:url "/unsupported/trust-scsi-scan-19200.html" +:url "unsupported/trust-scsi-scan-19200.html" :interface "SCSI" :status :unsupported :comment "Unsupported. See link for details." @@ -13106,49 +13106,49 @@ :url "http://www.umax.com/" :model "Astra 2500" -:url "/unsupported/umax-astra-2500.html" +:url "unsupported/umax-astra-2500.html" :interface "USB" :usbid "0x0461" "0x0374" :status :unsupported :comment "Probably not supported. See link for details." :model "Astra 2850" -:url "/unsupported/plustek-opticpro-st24.html" +:url "unsupported/plustek-opticpro-st24.html" :interface "USB" :usbid "0x07b3" "0x0601" :status :unsupported :comment "Probably not supported. Same IDs as Plustek OpticPro ST24. See link for details." :model "Astra 3000" -:url "/unsupported/umax-astra-3000.html" +:url "unsupported/umax-astra-3000.html" :interface "USB" :usbid "0x0461" "0x038a" :status :unsupported :comment "Probably not supported. See link for details." :model "Astra 3600" -:url "/unsupported/umax-astra-3600.html" +:url "unsupported/umax-astra-3600.html" :interface "USB" :usbid "0x0461" "0x038a" :status :unsupported :comment "Probably not supported. See link for details." :model "Astra 4000" -:url "/unsupported/umax-astra-4000.html" +:url "unsupported/umax-astra-4000.html" :interface "USB" :usbid "0x1606" "0x1030" :status :unsupported :comment "Not supported. See link for details." :model "Astra 4100" -:url "/unsupported/umax-astra-4100.html" +:url "unsupported/umax-astra-4100.html" :interface "USB" :usbid "0x0461" "0x038c" :status :unsupported :comment "Not supported, to be added to genesys backend." :model "Astra 4500" -:url "/unsupported/umax-astra-4500.html" +:url "unsupported/umax-astra-4500.html" :interface "USB" :usbid "0x0638" "0x0a10" :status :unsupported @@ -13160,7 +13160,7 @@ :comment "Probably not supported, no details known." :model "Astra 4700" -:url "/unsupported/umax-astra-4700.html" +:url "unsupported/umax-astra-4700.html" :interface "USB" :usbid "0x0638" "0x0a20" :status :unsupported @@ -13172,21 +13172,21 @@ :comment "Not supported. No chipset information available. Same as Avision iVina FB2400." :model "AstraSlim" -:url "/unsupported/umax-astraslim.html" +:url "unsupported/umax-astraslim.html" :usbid "0x080d" "0x0104" :interface "USB" :status :unsupported :comment "Probably not supported currently. See link for more details." :model "AstraSlim 1200" -:url "/unsupported/umax-astraslim-1200.html" +:url "unsupported/umax-astraslim-1200.html" :interface "USB" :usbid "0x080d" "0x0110" :status :unsupported :comment "See link for more details." :model "AstraSlim 6000" -:url "/unsupported/umax-astraslim-6000.html" +:url "unsupported/umax-astraslim-6000.html" :interface "USB" :usbid "0x080d" "0x0104" :status :unsupported @@ -13198,7 +13198,7 @@ :comment "Probably not supported. No details known.." :model "Powerlook 180" -:url "/unsupported/umax-powerlook-180.html" +:url "unsupported/umax-powerlook-180.html" :interface "USB" ;:usbid "0x3902" "0xc470" #correct? :status :unsupported @@ -13214,7 +13214,7 @@ :mfg "Vantas" :model "3000" -:url "/unsupported/visioneer-onetouch4800.html" +:url "unsupported/visioneer-onetouch4800.html" :interface "USB" :usbid "0x04a7" "0x0224" :status :unsupported @@ -13238,35 +13238,35 @@ :comment "Not supported. Id is from Primax? Yet another scanner with the same name?" :model "9420" -:url "/unsupported/visioneer-9420.html" +:url "unsupported/visioneer-9420.html" :interface "USB" :usbid "0x0461" "0x03a8" :status :unsupported :comment "Unsupported. See link for details." :model "9450 USB" -:url "/unsupported/visioneer-9450-usb.html" +:url "unsupported/visioneer-9450-usb.html" :interface "USB" :usbid "0x04a7" "0x0421" :status :unsupported :comment "Unsupported. See link for details." :model "Onetouch 4400" -:url "/unsupported/visioneer-onetouch4400.html" +:url "unsupported/visioneer-onetouch4400.html" :interface "USB" :usbid "0x0461" "0x0347" :status :unsupported :comment "Not supported. E5 chipset? See link for more details." :model "OneTouch 4800 USB" -:url "/unsupported/visioneer-onetouch4800.html" +:url "unsupported/visioneer-onetouch4800.html" :interface "USB" :usbid "0x04a7" "0x0224" :status :unsupported :comment "Unsupported. Seems to use Realtek RTS8801B. Same as Microtek Scanport 3000. See link for details." :model "OneTouch 5300 USB" -:url "/unsupported/visioneer-onetouch5300.html" +:url "unsupported/visioneer-onetouch5300.html" :interface "USB" :usbid "0x04a7" "0x0226" :status :unsupported @@ -13279,98 +13279,98 @@ :comment "Not supported. Yet another scanner with this name?" :model "OneTouch 5800 USB" -:url "/unsupported/visioneer-onetouch5800.html" +:url "unsupported/visioneer-onetouch5800.html" :interface "USB" :usbid "0x04a7" "0x0226" :status :unsupported :comment "Unsupported. 48 bit scanner, doesn't work with viceo backend. RTS8801C." :model "OneTouch 6600" -:url "/unsupported/visioneer-onetouch6600.html" +:url "unsupported/visioneer-onetouch6600.html" :interface "USB" :usbid "0x04a7" "0x022a" :status :unsupported :comment "Unsupported. See link for details." :model "Onetouch 7100" -:url "/unsupported/visioneer-onetouch7100.html" +:url "unsupported/visioneer-onetouch7100.html" :interface "USB" :usbid "0x04a7" "0x0229" :status :unsupported :comment "GL646 based, to be added to genesys backend" :model "Onetouch 7700" -:url "/unsupported/visioneer-onetouch7700.html" +:url "unsupported/visioneer-onetouch7700.html" :interface "USB" :usbid "0x04a7" "0x0380" :status :unsupported :comment "LM9832/3 based, to be added to plustek backend" :model "OneTouch 8100" -:url "/unsupported/visioneer-onetouch8100.html" +:url "unsupported/visioneer-onetouch8100.html" :interface "USB" :usbid "0x04a7" "0x0321" :status :unsupported :comment "Unsupported. See link for details." :model "Onetouch 8700" -:url "/unsupported/visioneer-onetouch8920.html" +:url "unsupported/visioneer-onetouch8920.html" :interface "USB" :usbid "0x04a7" "0x0371" :status :unsupported :comment "Not supported. See link for details." :model "Onetouch 8900" -:url "/unsupported/visioneer-onetouch8920.html" +:url "unsupported/visioneer-onetouch8920.html" :interface "USB" :usbid "0x04a7" "0x0371" :status :unsupported :comment "Not supported. Same as 8920 but without TA?" :model "Onetouch 8920" -:url "/unsupported/visioneer-onetouch8920.html" +:url "unsupported/visioneer-onetouch8920.html" :interface "USB" :usbid "0x04a7" "0x0371" :status :unsupported :comment "Not supported. Same as 8700 and 8900 but includes a TA. Uses a Primax ID. Chipset is RTS8801C. See link for output of /proc/bus/usb/devices." :model "Onetouch 9000" -:url "/unsupported/visioneer-onetouch9020.html" +:url "unsupported/visioneer-onetouch9020.html" :interface "USB" :usbid "0x04a7" "0x022c" :status :unsupported :comment "Not supported. See link for details." :model "Onetouch 9020" -:url "/unsupported/visioneer-onetouch9020.html" +:url "unsupported/visioneer-onetouch9020.html" :interface "USB" :usbid "0x04a7" "0x022c" :status :unsupported :comment "Not supported. See link for details." :model "Onetouch 9320" -:url "/unsupported/visioneer-onetouch9320.html" +:url "unsupported/visioneer-onetouch9320.html" :interface "USB" :usbid "0x04a7" "0x0362" :status :unsupported :comment "Probably not supported. See link for details." :model "Onetouch Pro 8800" -:url "/unsupported/visioneer-onetouch8820.html" +:url "unsupported/visioneer-onetouch8820.html" :interface "USB" :usbid "0x04a7" "0x0410" :status :unsupported :comment "Probably not supported. See link for details." :model "Onetouch Pro 8820" -:url "/unsupported/visioneer-onetouch8820.html" +:url "unsupported/visioneer-onetouch8820.html" :interface "USB" :usbid "0x04a7" "0x0410" :status :unsupported :comment "Probably not supported. See link for details." :model "PaperPort 3100b" -:url "/unsupported/visioneer-paperport-3100b.html" +:url "unsupported/visioneer-paperport-3100b.html" :interface "Parport" :status :unsupported :comment "Most probably not supported. See link for details." @@ -13381,13 +13381,13 @@ :comment "Most probably not supported. More details would be appreciated." :model "PaperPort OneTouch" -:url "/unsupported/visioneer-paperport-onetouch.html" +:url "unsupported/visioneer-paperport-onetouch.html" :interface "Parport" :status :unsupported :comment "Most probably not supported. See link for details." :model "Strobe Pro USB" -:url "/unsupported/visioneer-strobe-pro-usb.html" +:url "unsupported/visioneer-strobe-pro-usb.html" :interface "USB" :usbid "0x04a7" "0x0102" :status :unsupported @@ -13396,82 +13396,82 @@ ;******************************************************************************************** :model "4800 One Touch" -:url "/unsupported/xerox-4800-onetouch.html" +:url "unsupported/xerox-4800-onetouch.html" :interface "USB" :usbid "0x04a7" "0x03a0" :status :unsupported :comment "Unsupported. See link for details. Different id compared to One Touch 4800?" :model "DocuImage 620S" -:url "/unsupported/xerox-docuimage-620s.html" +:url "unsupported/xerox-docuimage-620s.html" :interface "SCSI" :status :unsupported :comment "Not supported. See link for more details." :model "DocuMate 510" -:url "/unsupported/xerox-documate-510.html" +:url "unsupported/xerox-documate-510.html" :interface "USB" :status :unsupported :usbid "0x04a7" "0x0446" :comment "Not supported. See link for more details." :model "DocuMate 510" -:url "/unsupported/xerox-documate-510.html" +:url "unsupported/xerox-documate-510.html" :interface "USB" :status :unsupported :usbid "0x04a7" "0x047c" :comment "Not supported. See link for more details. Yet another USB id." :model "One Touch 4800" -:url "/unsupported/visioneer-onetouch4800.html" +:url "unsupported/visioneer-onetouch4800.html" :interface "USB" :usbid "0x04a7" "0x0224" :status :unsupported :comment "Unsupported. See link for details. Different id compared to 4800 One Touch?" :model "WorkCentre 470cx" -:url "/unsupported/xerox-workcentre-470cx.html" +:url "unsupported/xerox-workcentre-470cx.html" :interface "Parport" :status :unsupported :comment "Not supported. See link for more details." :model "WorkCentre M15i" -:url "/unsupported/xerox-workcentre-m15i.html" +:url "unsupported/xerox-workcentre-m15i.html" :interface "USB" :usbid "0x0924" "0xffef" :status :unsupported :comment "Not supported. See link for more details." :model "WorkCentre XK35c" -:url "/unsupported/xerox-workcentre-xk35c.html" +:url "unsupported/xerox-workcentre-xk35c.html" :interface "USB Parport" :usbid "0x043d" "0x0020" :status :unsupported :comment "Not supported. See link for more details." :model "WorkCentre XK50cx" -:url "/unsupported/xerox-workcentre-xk50cx.html" +:url "unsupported/xerox-workcentre-xk50cx.html" :interface "USB" :usbid "0x04e8" "0x3903" :status :unsupported :comment "Not supported. See link for more details." :model "WorkCentre Pro 412" -:url "/unsupported/xerox-workcentre-pro412.html" +:url "unsupported/xerox-workcentre-pro412.html" :interface "USB Parport" :usbid "0x043d" "0x4303" :status :unsupported :comment "Not supported. See link for more details." :model "WorkCentre PE16" -:url "/unsupported/xerox-workcentre-pe16.html" +:url "unsupported/xerox-workcentre-pe16.html" :interface "USB Parport" :usbid "0x0924" "0x4220" :status :unsupported :comment "Not supported. See link for more details." :model "WorkCentre PE120i" -:url "/unsupported/xerox-workcentre-pe120i.html" +:url "unsupported/xerox-workcentre-pe120i.html" :interface "USB" :usbid "0x0924" "0x4237" :status :unsupported @@ -13487,7 +13487,7 @@ :mfg "Biolux" :model "654 (micrOcular)" -:url "/unsupported/biolux-654.html" +:url "unsupported/biolux-654.html" :interface "USB" :usbid "0x0923" "0x010f" :status :unsupported @@ -13499,7 +13499,7 @@ :mfg "Grandtek Scopecam" :model "8x30 Binocular & Digital Camera" -:url "/unsupported/grandtech-scopecam.html" +:url "unsupported/grandtech-scopecam.html" :interface "USB" :usbid "0x0797" "0x801c" :status :unsupported @@ -13511,7 +13511,7 @@ ; :comment and :url specifiers are optional after :mfg, :model, :desc, ; and at the top-level. - + ; ; SANE Backend specification file ; @@ -13885,4 +13885,3 @@ :interface "USB" :usbid "0x04e8" "0x3468" :status :untested - diff --git a/testsuite/tools/data/udev+acl.ref b/testsuite/tools/data/udev+acl.ref index 167cf56..4721034 100644 --- a/testsuite/tools/data/udev+acl.ref +++ b/testsuite/tools/data/udev+acl.ref @@ -21,7 +21,7 @@ # device detection support for your OS # # If the scanner is supported by sane-backends, please mail the entry to -# the sane-devel mailing list (sane-devel@lists.alioth.debian.org). +# the sane-devel mailing list (sane-devel@alioth-lists.debian.net). # ACTION!="add", GOTO="libsane_rules_end" ENV{DEVTYPE}=="usb_device", GOTO="libsane_create_usb_dev" diff --git a/testsuite/tools/data/udev+hwdb.ref b/testsuite/tools/data/udev+hwdb.ref index aec3129..ead2939 100644 --- a/testsuite/tools/data/udev+hwdb.ref +++ b/testsuite/tools/data/udev+hwdb.ref @@ -18,7 +18,7 @@ # device detection support for your OS # # If the scanner is supported by sane-backends, please mail the entry to -# the sane-devel mailing list (sane-devel@lists.alioth.debian.org). +# the sane-devel mailing list (sane-devel@alioth-lists.debian.net). # ACTION!="add", GOTO="libsane_rules_end" diff --git a/testsuite/tools/data/udev.ref b/testsuite/tools/data/udev.ref index 12db0e4..9a221fc 100644 --- a/testsuite/tools/data/udev.ref +++ b/testsuite/tools/data/udev.ref @@ -21,7 +21,7 @@ # device detection support for your OS # # If the scanner is supported by sane-backends, please mail the entry to -# the sane-devel mailing list (sane-devel@lists.alioth.debian.org). +# the sane-devel mailing list (sane-devel@alioth-lists.debian.net). # ACTION!="add", GOTO="libsane_rules_end" ENV{DEVTYPE}=="usb_device", GOTO="libsane_create_usb_dev" diff --git a/testsuite/tools/data/usermap.ref b/testsuite/tools/data/usermap.ref index a4e7884..e02d73a 100644 --- a/testsuite/tools/data/usermap.ref +++ b/testsuite/tools/data/usermap.ref @@ -20,7 +20,7 @@ # device detection support for your OS # # If the scanner is supported by sane-backends, please mail the entry to -# the sane-devel mailing list (sane-devel@lists.alioth.debian.org). +# the sane-devel mailing list (sane-devel@alioth-lists.debian.net). # # Hewlett-Packard ScanJet 4100C libusbscanner 0x0003 0x03f0 0x0101 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 diff --git a/testsuite/tools/data/xml.ref b/testsuite/tools/data/xml.ref index 822fd64..0618093 100644 --- a/testsuite/tools/data/xml.ref +++ b/testsuite/tools/data/xml.ref @@ -1,6 +1,6 @@ -unmaintained +unmaintained sane-abaton *none* @@ -29,7 +29,7 @@ -unmaintained +unmaintained sane-agfafocus *none* @@ -94,7 +94,7 @@ -unmaintained +unmaintained sane-apple *none* @@ -131,7 +131,7 @@ -unmaintained +unmaintained sane-artec http://www4.infi.net/~cpinkham/sane/sane-artec-doc.html @@ -216,7 +216,7 @@ -unmaintained +unmaintained sane-artec_eplus48u *none* @@ -354,7 +354,7 @@ -0.5 +0.5 sane-as6e http://as6edriver.sourceforge.net/ @@ -399,7 +399,7 @@ -Build: 296 +Build: 296 sane-avision http://skull.piratehaven.org/~mike/sane/avision.html @@ -1644,7 +1644,7 @@ -1.0-4 +1.0-4 sane-bh http://www.martoneconsulting.com/sane-bh.html @@ -1705,7 +1705,7 @@ -1.12 +1.12 sane-canon http://www.rzg.mpg.de/~mpd/sane/ @@ -1786,7 +1786,7 @@ -0.1 +0.1 sane-canon630u http://canon-fb630u.sourceforge.net/ @@ -1815,7 +1815,7 @@ -38 +38 sane-canon_dr http://www.thebility.com/canon/ @@ -2148,7 +2148,7 @@ -0.33 +0.33 sane-canon_pp http://canon-fb330p.sourceforge.net @@ -2233,7 +2233,7 @@ -2 +2 sane-cardscan http://www.thebility.com/cardscan/ @@ -2262,7 +2262,7 @@ -0.4.3 +0.4.3 sane-coolscan http://andreas.rick.free.fr/sane/ @@ -2307,7 +2307,7 @@ -0.1.8 +0.1.8 sane-coolscan2 http://coolscan2.sourceforge.net/ @@ -2361,7 +2361,7 @@ 0x04b0 0x4001 minimal - /unsupported/nikon-ls50-ed.html + unsupported/nikon-ls50-ed.html *none* @@ -2369,7 +2369,7 @@ 0x04b0 0x4002 untested - /unsupported/nikon-ls5000-ed.html + unsupported/nikon-ls5000-ed.html May work, similar to LS 50 ED, but untested. Please tell us if it works. @@ -2384,7 +2384,7 @@ -1.0.0 +1.0.0 sane-coolscan3 *none* @@ -2430,7 +2430,7 @@ 0x04b0 0x4001 minimal - /unsupported/nikon-ls50-ed.html + unsupported/nikon-ls50-ed.html *none* @@ -2438,7 +2438,7 @@ 0x04b0 0x4001 minimal - /unsupported/nikon-ls50-ed.html + unsupported/nikon-ls50-ed.html Rebadged LS 50? @@ -2462,7 +2462,7 @@ 0x04b0 0x4002 untested - /unsupported/nikon-ls5000-ed.html + unsupported/nikon-ls5000-ed.html May work, similar to LS 50 ED, but untested. Please tell us if it works. @@ -2477,7 +2477,7 @@ -1.2 +1.2 sane-dc25 mailto:peter@fales-lorenz.net @@ -2506,7 +2506,7 @@ -0.0 +0.0 sane-dc210 mailto:peter@fales-lorenz.net @@ -2527,7 +2527,7 @@ -0.0 +0.0 sane-dc240 mailto:peter@fales-lorenz.net @@ -2569,7 +2569,7 @@ -1.0.13 +1.0.13 sane-dll mailto:henning@meier-geinitz.de @@ -2581,7 +2581,7 @@ -unmaintained +unmaintained sane-dmc *none* @@ -2602,7 +2602,7 @@ -20 +20 sane-epjitsu http://www.thebility.com/epjitsu/ @@ -2655,7 +2655,7 @@ -unmaintained +unmaintained sane-epson http://www.khk.net/sane @@ -3196,7 +3196,7 @@ -1.0.124 +1.0.124 sane-epson2 *none* @@ -5945,7 +5945,7 @@ -117 +117 sane-fujitsu http://www.thebility.com/fujitsu/ @@ -6534,7 +6534,7 @@ -1.0-63 +1.0-63 sane-genesys http://www.meier-geinitz.de/sane/genesys-backend/ @@ -6906,7 +6906,7 @@ -0.0 +0.0 sane-gphoto2 mailto:peter@fales-lorenz.net @@ -6918,7 +6918,7 @@ -1.0-84 +1.0-84 sane-gt68xx http://www.meier-geinitz.de/sane/gt68xx-backend/ @@ -7542,7 +7542,7 @@ -1.06 +1.06 sane-hp http://www.kirchgessner.net/ @@ -7707,7 +7707,7 @@ -1.1 +1.1 sane-hp3500 http://projects.troy.rollo.name/rt-scanners/ @@ -7744,7 +7744,7 @@ -0.12 +0.12 sane-hp3900 http://sourceforge.net/projects/hp3900-series/ @@ -7837,7 +7837,7 @@ -1.0-2 +1.0-2 sane-hp4200 http://hp4200-backend.sourceforge.net @@ -7874,7 +7874,7 @@ -1.0-2 +1.0-2 sane-hp5400 http://sourceforge.net/projects/hp5400backend @@ -7911,7 +7911,7 @@ -1.0.5 +1.0.5 sane-hp5590 *none* @@ -7972,7 +7972,7 @@ -0 +0 sane-hpljm1005 *none* @@ -8009,7 +8009,7 @@ -0.03 +0.03 sane-hpsj5s http://hpsj5s.sourceforge.net/ @@ -8030,7 +8030,7 @@ -1.00 +1.00 sane-hs2p http://www.acjlaw.net:8080/~jeremy/Ricoh/ @@ -8075,7 +8075,7 @@ -1.0-4 +1.0-4 sane-ibm http://www.meier-geinitz.de/sane/ibm-backend/ @@ -8124,7 +8124,7 @@ -7 +7 sane-kodak http://www.thebility.com/kodak/ @@ -8401,7 +8401,7 @@ -2.4.6 +2.4.6 sane-kodakaio http://sourceforge.net/projects/cupsdriverkodak/ @@ -8626,7 +8626,7 @@ -unmaintained +unmaintained sane-kvs20xx *none* @@ -8687,7 +8687,7 @@ -unmaintained +unmaintained sane-kvs40xx *none* @@ -8724,7 +8724,7 @@ -unmaintained +unmaintained sane-kvs1025 *none* @@ -8761,7 +8761,7 @@ -1.0-10 +1.0-10 sane-leo http://www.zago.net/sane/#leo @@ -8806,7 +8806,7 @@ -1.0-0 +1.0-0 sane-lexmark http://stef.dev.free.fr/sane/lexmark @@ -8911,7 +8911,7 @@ -1.0-3 +1.0-3 sane-ma1509 http://www.meier-geinitz.de/sane/ma1509-backend/ @@ -8946,7 +8946,7 @@ -1.0.0 +1.0.0 sane-magicolor http://wiki.kainhofer.com/hardware/magicolor_scan @@ -8983,7 +8983,7 @@ -1.0-7 +1.0-7 sane-matsushita http://www.zago.net/sane @@ -9084,7 +9084,7 @@ -0.13.1 +0.13.1 sane-microtek http://www.mir.com/mtek/ @@ -9285,7 +9285,7 @@ -unmaintained +unmaintained sane-microtek2 http://karstenfestag.gmxhome.de/linux.html @@ -9427,7 +9427,7 @@ *none* *none* minimal - /unsupported/microtek-scanmaker-9800.html + unsupported/microtek-scanmaker-9800.html IEEE-1394 seems to work. See link. More reports welcome. @@ -9566,7 +9566,7 @@ -1.0-138 +1.0-138 sane-mustek http://www.meier-geinitz.de/sane/mustek-backend/ @@ -9845,7 +9845,7 @@ -13 +13 sane-mustek_pp http://penguin-breeder.org/sane/mustek_pp/ @@ -10076,7 +10076,7 @@ -1.0-18 +1.0-18 sane-mustek_usb http://www.meier-geinitz.de/sane/mustek_usb-backend/ @@ -10135,7 +10135,7 @@ -1.0-10 +1.0-10 sane-mustek_usb2 http://www.meier-geinitz.de/sane/mustek_usb2-backend/ @@ -10158,7 +10158,7 @@ -0.12 +0.12 sane-nec http://www5a.biglobe.ne.jp/~saetaka/ @@ -10179,7 +10179,7 @@ -1.0.14 +1.0.14 sane-net http://www.penguin-breeder.org/?page=sane-net @@ -10191,7 +10191,7 @@ -0.3 +0.3 sane-niash http://sourceforge.net/projects/hp3300backend @@ -10260,7 +10260,7 @@ -1 +1 sane-p5 http://www.sane-project.org/ @@ -10281,7 +10281,7 @@ -1.0 +1.0 sane-pie http://www.munton.demon.co.uk/sane @@ -10438,7 +10438,7 @@ -unmaintained +unmaintained sane-pint *none* @@ -10450,7 +10450,7 @@ -0.17.3 +0.17.3 sane-pixma http://home.arcor.de/wittawat/pixma/ @@ -11568,7 +11568,7 @@ -0.52 +0.52 sane-plustek http://www.gjaeger.de/scanner/plustek/ @@ -11946,7 +11946,7 @@ -0.43 +0.43 sane-plustek_pp http://www.gjaeger.de/scanner/plustek_pp/ @@ -12184,7 +12184,7 @@ -1.0.8 +1.0.8 sane-pnm mailto:henning@meier-geinitz.de @@ -12196,7 +12196,7 @@ -unmaintained +unmaintained sane-qcam *none* @@ -12225,7 +12225,7 @@ -unmaintained +unmaintained sane-ricoh *none* @@ -12254,7 +12254,7 @@ -1.0-0 +1.0-0 sane-rts8891 http://stef.dev.free.fr/sane/rts8891/index.html @@ -12303,7 +12303,7 @@ -unmaintained +unmaintained sane-s9036 *none* @@ -12324,7 +12324,7 @@ -1.0-10 +1.0-10 sane-sceptre http://www.zago.net/sane/ @@ -12357,7 +12357,7 @@ -0.32 +0.32 sane-sharp http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html @@ -12418,7 +12418,7 @@ -0.1 +0.1 sane-sm3600 http://sm3600.sourceforge.net/ @@ -12479,7 +12479,7 @@ -1.1 +1.1 sane-sm3840 http://www.ziplabel.com/sm3840/ @@ -12508,7 +12508,7 @@ -1.4 +1.4 sane-snapscan http://snapscan.sourceforge.net/ @@ -13003,7 +13003,7 @@ -unmaintained +unmaintained sane-sp15c *none* @@ -13033,7 +13033,7 @@ -1.6 +1.6 sane-st400 http://www.informatik.uni-oldenburg.de/~ingo/sane/ @@ -13062,7 +13062,7 @@ -1.0-1 +1.0-1 sane-stv680 http://gkall.hobby.nl/stv680-aiptek.html @@ -13119,7 +13119,7 @@ -unmaintained +unmaintained sane-tamarack *none* @@ -13156,7 +13156,7 @@ -1.0-10 +1.0-10 sane-teco1 http://www.zago.net/sane/#teco @@ -13330,7 +13330,7 @@ -1.0-9 +1.0-9 sane-teco2 http://gkall.hobby.nl/teco2.html @@ -13439,7 +13439,7 @@ -1.0-1 +1.0-1 sane-teco3 http://www.zago.net/sane/#teco3 @@ -13512,7 +13512,7 @@ -1.0-28 +1.0-28 sane-test http://www.meier-geinitz.de/sane/test-backend/ @@ -13524,7 +13524,7 @@ -0.02 +0.02 sane-u12 http://www.gjaeger.de/scanner/u12/ @@ -13594,7 +13594,7 @@ -1.0-41 +1.0-41 sane-umax http://www.rauch-domain.de/sane-umax/index.html @@ -14168,7 +14168,7 @@ -unmaintained +unmaintained sane-umax1220u http://sourceforge.net/projects/umax1220u-sane @@ -14213,7 +14213,7 @@ -1 +1 sane-umax_pp http://umax1220p.sourceforge.net/ @@ -14290,10 +14290,10 @@ -2010-06-09 +2010-06-09 *none* - /contrib.html + contrib.html The devices mentioned here are not supported by any SANE backend. However, there may be links to information about them or stand-alone programs. @@ -14304,7 +14304,7 @@ 0x06bd 0x02bf unsupported - /unsupported/agfa-duoscan-f40.html + unsupported/agfa-duoscan-f40.html Unsupported. See link for details. @@ -14312,7 +14312,7 @@ *none* *none* unsupported - /unsupported/agfa-duoscan-t2000xl.html + unsupported/agfa-duoscan-t2000xl.html Unsupported. Same as Microtek ArtixScan 2020? @@ -14328,7 +14328,7 @@ *none* *none* unsupported - /unsupported/acer-parport.html + unsupported/acer-parport.html Unsupported, see link for details. @@ -14336,7 +14336,7 @@ *none* *none* unsupported - /unsupported/acer-parport.html + unsupported/acer-parport.html Unsupported, see link for details. @@ -14344,7 +14344,7 @@ *none* *none* unsupported - /unsupported/acer-parport.html + unsupported/acer-parport.html Unsupported, see link for details. @@ -14352,7 +14352,7 @@ *none* *none* unsupported - /unsupported/acer-parport.html + unsupported/acer-parport.html Unsupported, see link for details. @@ -14364,7 +14364,7 @@ 0x05d8 0x4001 unsupported - /unsupported/artec_1236usb.html + unsupported/artec_1236usb.html Unsupported. See link for details. @@ -14380,7 +14380,7 @@ 0x05d8 0x4001 unsupported - /unsupported/artec-ultima-2000-2.html + unsupported/artec-ultima-2000-2.html Same name, but different ids: This scanner is not supported. The scanner with product id 0x4002 is supported by the gt68xx backend, however. @@ -14392,7 +14392,7 @@ 0x05cb 0x1483 unsupported - /unsupported/trust-combiscan-19200.html + unsupported/trust-combiscan-19200.html Not supported. See link for details. @@ -14420,7 +14420,7 @@ 0x0638 0x0a10 unsupported - /unsupported/umax-astra-4500.html + unsupported/umax-astra-4500.html GL646 based, to be added to genesys backend. Same as UMAX Astra 4500. @@ -14428,7 +14428,7 @@ 0x0638 0x0a20 unsupported - /unsupported/umax-astra-4700.html + unsupported/umax-astra-4700.html GL646/GL660 based. Same as UMAX Astra 4700. @@ -14440,7 +14440,7 @@ *none* *none* unsupported - /unsupported/acer-parport.html + unsupported/acer-parport.html Unsupported, see link for details. @@ -14448,7 +14448,7 @@ *none* *none* unsupported - /unsupported/acer-parport.html + unsupported/acer-parport.html Unsupported, see link for details. @@ -14456,7 +14456,7 @@ *none* *none* unsupported - /unsupported/acer-parport.html + unsupported/acer-parport.html Unsupported, see link for details. @@ -14464,7 +14464,7 @@ *none* *none* unsupported - /unsupported/acer-parport.html + unsupported/acer-parport.html Unsupported, see link for details. @@ -14472,7 +14472,7 @@ *none* *none* unsupported - /unsupported/acer-parport.html + unsupported/acer-parport.html Unsupported, see link for details. @@ -14480,7 +14480,7 @@ *none* *none* unsupported - /unsupported/acer-parport.html + unsupported/acer-parport.html Unsupported, see link for details. @@ -14488,7 +14488,7 @@ *none* *none* unsupported - /unsupported/acer-parport.html + unsupported/acer-parport.html Unsupported, see link for details. @@ -14496,7 +14496,7 @@ *none* *none* unsupported - /unsupported/acer-parport.html + unsupported/acer-parport.html Unsupported, see link for details. @@ -14512,7 +14512,7 @@ 0x04a5 0x2211 unsupported - /unsupported/benq-5550.html + unsupported/benq-5550.html Unsupported, see link for details. @@ -14520,7 +14520,7 @@ 0x04a5 0x2311 unsupported - http://lists.alioth.debian.org/pipermail/sane-devel/2009-January/023447.html + http://alioth-lists.debian.net/pipermail/sane-devel/2009-January/023447.html *none* @@ -14528,7 +14528,7 @@ 0x04a5 0x2202 unsupported - /unsupported/benq-7400ut.html + unsupported/benq-7400ut.html *none* @@ -14540,7 +14540,7 @@ 0x05cb 0x1483 unsupported - /unsupported/trust-combiscan-19200.html + unsupported/trust-combiscan-19200.html Unsupported. See link for details. @@ -14552,7 +14552,7 @@ 0x04f9 0x000a unsupported - /unsupported/brother-mfc-2500.html + unsupported/brother-mfc-2500.html Not supported. See link for details. @@ -14568,7 +14568,7 @@ 0x04f9 0x0106 unsupported - /unsupported/brother-mfc-7300.html + unsupported/brother-mfc-7300.html *none* @@ -14576,7 +14576,7 @@ 0x04f9 0x0101 unsupported - /unsupported/brother-mfc-9600.html + unsupported/brother-mfc-9600.html *none* @@ -14588,7 +14588,7 @@ *none* *none* unsupported - /unsupported/c-channel-mypen-pro.html + unsupported/c-channel-mypen-pro.html Probably unsupported. See link for details. @@ -14616,7 +14616,7 @@ 0x04a9 0x2215 unsupported - /unsupported/canon-3000.html + unsupported/canon-3000.html GL660+GL646 based. @@ -14624,7 +14624,7 @@ 0x04a9 0x2215 unsupported - /unsupported/canon-3000.html + unsupported/canon-3000.html GL660+GL646 based. @@ -14632,7 +14632,7 @@ 0x04a9 0x2215 unsupported - /unsupported/canon-3000.html + unsupported/canon-3000.html GL660+GL646 based, to be added to genesys backend @@ -14640,7 +14640,7 @@ 0x04a9 0x221b unsupported - /unsupported/canon-4200f.html + unsupported/canon-4200f.html Probably unsupported. See link. @@ -14648,7 +14648,7 @@ 0x04a9 0x2228 unsupported - /unsupported/canon-4400.html + unsupported/canon-4400.html GL843 based, to be added to genesys backend @@ -14656,7 +14656,7 @@ 0x04a9 0x2212 unsupported - /unsupported/canon-5000f.html + unsupported/canon-5000f.html Unsupported. See link for details. @@ -14664,7 +14664,7 @@ 0x04a9 0x2217 unsupported - /unsupported/canon-5200f.html + unsupported/canon-5200f.html Probably unsupported. See link for details. @@ -14672,7 +14672,7 @@ 0x04a9 0x220f unsupported - /unsupported/canon-8000f.html + unsupported/canon-8000f.html Not supported. See link for more information. With transparency adapter. @@ -14680,7 +14680,7 @@ 0x04a9 0x221e unsupported - /unsupported/canon-8400f.html + unsupported/canon-8400f.html GL841 based, to be added to genesys backend @@ -14688,7 +14688,7 @@ 0x04a9 0x2229 unsupported - /unsupported/canon-8600.html + unsupported/canon-8600.html GL841 based, to be added to genesys backend @@ -14696,7 +14696,7 @@ 0x04a9 0x2210 unsupported - /unsupported/canon-9900f.html + unsupported/canon-9900f.html Probably unsupported, similar to 8000F. 3200x6400 dpi USB2. With transparency adapter. @@ -14704,7 +14704,7 @@ 0x04a9 0x2219 unsupported - /unsupported/canon-9950f.html + unsupported/canon-9950f.html Probably unsupported. @@ -14712,7 +14712,7 @@ 0x04a9 0x220b unsupported - /unsupported/canon-d646u.html + unsupported/canon-d646u.html Probably not supported. See link for more information and test program. @@ -14720,7 +14720,7 @@ 0x04a9 0x220b unsupported - /unsupported/canon-d646u.html + unsupported/canon-d646u.html Probably not supported. See D646. @@ -14728,7 +14728,7 @@ 0x04a9 0x2209 unsupported - /unsupported/canon-d1230u.html + unsupported/canon-d1230u.html Probably not supported. @@ -14736,7 +14736,7 @@ 0x04a9 0x220c unsupported - /unsupported/canon-d1250u2.html + unsupported/canon-d1250u2.html Not supported. However, someone started working on this scanner and some information is available (see link). @@ -14744,7 +14744,7 @@ 0x04a9 0x220a unsupported - /unsupported/canon-d2400uf.html + unsupported/canon-d2400uf.html Not supported. See link. @@ -14760,7 +14760,7 @@ 0x04a9 0x2202 unsupported - /unsupported/canon-fb620u.html + unsupported/canon-fb620u.html Probably not supported. Some information is available. @@ -14784,7 +14784,7 @@ 0x04a9 0x2214 unsupported - /unsupported/canon-lide-80.html + unsupported/canon-lide-80.html GL841 based, to be added to genesys backend @@ -14792,7 +14792,7 @@ 0x04a9 0x1900 unsupported - /unsupported/canon-lide-90.html + unsupported/canon-lide-90.html Unsupported. See link for details. @@ -14800,7 +14800,7 @@ 0x04a9 0x221f unsupported - /unsupported/canon-canoscan-lide-500f.html + unsupported/canon-canoscan-lide-500f.html GL841 based, to be added to genesys backend @@ -14824,7 +14824,7 @@ 0x04a9 0x3042 unsupported - /unsupported/canon-fs4000.html + unsupported/canon-fs4000.html Not supported. See link for more details. @@ -14832,7 +14832,7 @@ *none* *none* unsupported - /unsupported/canon-is-12.html + unsupported/canon-is-12.html Probably not supported. Scanner cardridge for Canon inkjet printers. @@ -14840,7 +14840,7 @@ *none* *none* unsupported - /unsupported/canon-is-22.html + unsupported/canon-is-22.html Probably not supported. Scanner cardridge for Canon inkjet printers. @@ -14848,7 +14848,7 @@ 0x04a9 0x105d unsupported - /unsupported/canon-is-32.html + unsupported/canon-is-32.html Probably not supported. Scanner cardridge for Canon inkjet printers. @@ -14856,7 +14856,7 @@ *none* *none* unsupported - /unsupported/canon-is-52.html + unsupported/canon-is-52.html Probably not supported. Scanner cardridge for Canon inkjet printers. @@ -14864,7 +14864,7 @@ 0x04a9 0x269d unsupported - /unsupported/canon-imagerunner.html + unsupported/canon-imagerunner.html Probably not supported. See link for details. @@ -14872,7 +14872,7 @@ 0x04a9 0x269d unsupported - /unsupported/canon-imagerunner.html + unsupported/canon-imagerunner.html Probably not supported. See link for details. @@ -14880,7 +14880,7 @@ 0x04a9 0x269d unsupported - /unsupported/canon-imagerunner.html + unsupported/canon-imagerunner.html Probably not supported. See link for details. @@ -14888,7 +14888,7 @@ 0x04a9 0x1700 unsupported - /unsupported/canon-pixma-mp110.html + unsupported/canon-pixma-mp110.html Probably not supported. See link for details. @@ -14896,7 +14896,7 @@ 0x04a9 0x1701 unsupported - /unsupported/canon-pixma-mp130.html + unsupported/canon-pixma-mp130.html Probably not supported. See link for details. @@ -14916,7 +14916,7 @@ *none* *none* unsupported - /unsupported/chinon-ds3000.html + unsupported/chinon-ds3000.html Unsupported at the moment, but a backend is in preparation. See link. @@ -14940,7 +14940,7 @@ 0x05cb 0x1483 unsupported - /unsupported/trust-combiscan-19200.html + unsupported/trust-combiscan-19200.html Unsupported. See link for details. @@ -14952,7 +14952,7 @@ 0x08f0 0x0001 unsupported - /unsupported/corex-cardscan-500.html + unsupported/corex-cardscan-500.html Probably not supported. Businesscard reader. @@ -14960,7 +14960,7 @@ 0x08f0 0x0004 unsupported - /unsupported/corex-cardscan-700.html + unsupported/corex-cardscan-700.html Probably not supported. @@ -14980,7 +14980,7 @@ 0x413c 0x5107 unsupported - /unsupported/dell-a960.html + unsupported/dell-a960.html Probably not supported. See link for details. @@ -14988,7 +14988,7 @@ 0x413c 0x5109 unsupported - /unsupported/dell-922.html + unsupported/dell-922.html Probably not supported. See link for details. @@ -15016,7 +15016,7 @@ 0x04b8 0x083f unsupported - /unsupported/epson-stylus-dx4450.html + unsupported/epson-stylus-dx4450.html Probably unsupported. See link for details. @@ -15036,7 +15036,7 @@ 0x0a53 0x5001 unsupported - /unsupported/edt-900c.html + unsupported/edt-900c.html Probably unsupported. See link for details. @@ -15081,7 +15081,7 @@ *none* *none* unsupported - /unsupported/genius-colorpage-cs.html + unsupported/genius-colorpage-cs.html Probably unsupported, see link for details. @@ -15089,7 +15089,7 @@ 0x0458 0x2020 unsupported - /unsupported/genius-colorpage-slim-1200-usb2.html + unsupported/genius-colorpage-slim-1200-usb2.html GL841 based, to be added to genesys backend. @@ -15097,7 +15097,7 @@ 0x0458 0x2019 unsupported - /unsupported/genius-colorpage-hr6x.html + unsupported/genius-colorpage-hr6x.html GL646 based, to be added to genesys backend @@ -15105,7 +15105,7 @@ 0x0458 0x2018 unsupported - /unsupported/genius-colorpage-hr7x.html + unsupported/genius-colorpage-hr7x.html GL646 based, to be added to genesys backend @@ -15113,7 +15113,7 @@ 0x06dc 0x0012 unsupported - /unsupported/genius-colorpage-hr7xe.html + unsupported/genius-colorpage-hr7xe.html Unsuported. See link for details. @@ -15121,7 +15121,7 @@ 0x0458 0x201c unsupported - /unsupported/genius-colorpage-hr8.html + unsupported/genius-colorpage-hr8.html GL841 based, to be added to genesys backend @@ -15133,7 +15133,7 @@ 0x080d 0x0102 unsupported - /unsupported/teco-vm6509.html + unsupported/teco-vm6509.html Probably unsupported. See link for details. @@ -15153,7 +15153,7 @@ 0x080d 0x0102 unsupported - /unsupported/teco-vm6509.html + unsupported/teco-vm6509.html Probably unsupported. See link for details. @@ -15165,7 +15165,7 @@ 0x03f0 0x1001 unsupported - /unsupported/hp-photo-1000.html + unsupported/hp-photo-1000.html Not supported by SANE. However, it's detected as mass storage device so just mounting it is reported to work. See link for device data. @@ -15181,7 +15181,7 @@ 0x03f0 0x0102 unsupported - /unsupported/hp-photosmart-s20xi.html + unsupported/hp-photosmart-s20xi.html Not supported yet by SANE. See link for details. @@ -15189,7 +15189,7 @@ 0x03f0 0x0102 unsupported - /unsupported/hp-photosmart-s20xi.html + unsupported/hp-photosmart-s20xi.html Not supported yet by SANE. See link for details. @@ -15197,7 +15197,7 @@ 0x03f0 0x5811 unsupported - /unsupported/hp-photosmart-5100.html + unsupported/hp-photosmart-5100.html Not supported yet by SANE. See link for details. @@ -15205,7 +15205,7 @@ 0x03f0 0x0a01 unsupported - /unsupported/hp-scanjet-2400c.html + unsupported/hp-scanjet-2400c.html GL646 based, to be added to genesys backend @@ -15213,7 +15213,7 @@ 0x03f0 0x5611 unsupported - /unsupported/hp-photosmart-3180.html + unsupported/hp-photosmart-3180.html Not supported yet by SANE. See link for details. @@ -15229,7 +15229,7 @@ 0x03f0 0x3005 unsupported - /unsupported/hp-scanjet-4600.html + unsupported/hp-scanjet-4600.html Not supported. See link for details, or http://www.chmil.org/hp4600linux/ for code @@ -15245,7 +15245,7 @@ 0x03f0 0x1b05 unsupported - /unsupported/hp-scanjet-4850.html + unsupported/hp-scanjet-4850.html GL841, maybe can be added to genesys backend @@ -15253,7 +15253,7 @@ 0x03f0 0x1b05 unsupported - /unsupported/hp-scanjet-4850.html + unsupported/hp-scanjet-4850.html GL843, maybe can be added to genesys backend @@ -15261,7 +15261,7 @@ 0x03f0 0x1605 unsupported - /unsupported/hp-scanjet-5530.html + unsupported/hp-scanjet-5530.html Maybe GL841_HP, but not confirmed, maybe can be added to genesys backend @@ -15269,7 +15269,7 @@ 0x03f0 0x3805 unsupported - /unsupported/hp-scanjet-8390.html + unsupported/hp-scanjet-8390.html Probably not supported. See link for details. @@ -15277,7 +15277,7 @@ 0x03f0 0x4505 unsupported - /unsupported/hp-g4000.html + unsupported/hp-g4000.html Probably not supported. See link for details. @@ -15301,7 +15301,7 @@ 0x05cb 0x1483 unsupported - /unsupported/trust-combiscan-19200.html + unsupported/trust-combiscan-19200.html Unsupported. See link for details. @@ -15313,7 +15313,7 @@ 0x0a53 0x1000 unsupported - /unsupported/iris-iriscan.html + unsupported/iris-iriscan.html Unsupported. LM9832/3. See link for details. @@ -15321,7 +15321,7 @@ 0x0f43 0x015a unsupported - /unsupported/iris-irispen-translator.html + unsupported/iris-irispen-translator.html Unsupported. See link for details. @@ -15329,7 +15329,7 @@ 0x0a38 0x0301 unsupported - /unsupported/iris-business.html + unsupported/iris-business.html Unsupported. See link for details. @@ -15353,7 +15353,7 @@ 0x043d 0x0097 unsupported - /unsupported/lexmark-p6250.html + unsupported/lexmark-p6250.html Unsupported. See link for details. @@ -15361,7 +15361,7 @@ 0x043d 0x007d unsupported - /unsupported/lexmark-3150.html + unsupported/lexmark-3150.html Unsupported. See link for details. @@ -15369,7 +15369,7 @@ 0x043d 0x0060 unsupported - /unsupported/lexmark-x75.html + unsupported/lexmark-x75.html Unsupported. See link for details. @@ -15377,7 +15377,7 @@ 0x043d 0x0060 unsupported - /unsupported/lexmark-x75.html + unsupported/lexmark-x75.html Unsupported. See link for details. @@ -15385,7 +15385,7 @@ 0x043d 0x0060 unsupported - /unsupported/lexmark-x75.html + unsupported/lexmark-x75.html Unsupported. See link for details. @@ -15393,7 +15393,7 @@ 0x043d 0x003d unsupported - /unsupported/lexmark-x83.html + unsupported/lexmark-x83.html Unsupported. GL640. @@ -15401,7 +15401,7 @@ 0x043d 0x00bb unsupported - /unsupported/lexmark-x2330.html + unsupported/lexmark-x2330.html Unsupported. See link for details. @@ -15409,7 +15409,7 @@ 0x043d 0x00f6 unsupported - /unsupported/lexmark-x3450.html + unsupported/lexmark-x3450.html Unsupported. See link for details. @@ -15417,7 +15417,7 @@ 0x043d 0x0065 unsupported - /unsupported/lexmark-x5130.html + unsupported/lexmark-x5130.html Unsupported. @@ -15425,7 +15425,7 @@ 0x043d 0x0065 unsupported - /unsupported/lexmark-x5130.html + unsupported/lexmark-x5130.html Probably unsupported. See link for details. @@ -15433,7 +15433,7 @@ 0x043d 0x0093 unsupported - /unsupported/lexmark-x5250.html + unsupported/lexmark-x5250.html Unsupported. @@ -15441,7 +15441,7 @@ 0x043d 0x0072 unsupported - /unsupported/lexmark-x6170.html + unsupported/lexmark-x6170.html Unsupported. See link for details. @@ -15457,7 +15457,7 @@ 0x043d 0x00b8 unsupported - /unsupported/lexmark-x7350.html + unsupported/lexmark-x7350.html Unsupported. See link for details. @@ -15465,7 +15465,7 @@ 0x043d 0x00b9 unsupported - /unsupported/lexmark-x8350.html + unsupported/lexmark-x8350.html Unsupported. See link for details. @@ -15485,7 +15485,7 @@ 0x046d 0x040f unsupported - /unsupported/logitech-pagescan-usb.html + unsupported/logitech-pagescan-usb.html Probably unsupported. See link for details. @@ -15498,7 +15498,7 @@ 0x0461 0x0392 unsupported - /unsupported/medion-md6190.html + unsupported/medion-md6190.html Probably unsupported. There seem to exist two different scanners with that name. See link for details. @@ -15506,7 +15506,7 @@ 0x0461 0x037b unsupported - /unsupported/medion-md6190.html + unsupported/medion-md6190.html Probably unsupported. There seem to exist two different scanners with that name. See link for details. @@ -15514,7 +15514,7 @@ 0x05da 0x3008 unsupported - /unsupported/tevion-md40420.html + unsupported/tevion-md40420.html Probably unsupported. See link for details. @@ -15522,7 +15522,7 @@ 0x0461 0x037b unsupported - /unsupported/medion-md6190.html + unsupported/medion-md6190.html Probably unsupported. See link for details. @@ -15530,7 +15530,7 @@ 0x0461 0x037b unsupported - /unsupported/medion-md6190.html + unsupported/medion-md6190.html Probably unsupported. See link for details. @@ -15538,7 +15538,7 @@ 0x05da 0x3008 unsupported - /unsupported/tevion-md40420.html + unsupported/tevion-md40420.html Probably unsupported. See link for details. @@ -15554,7 +15554,7 @@ 0x05da 0x30e5 unsupported - /unsupported/tevion-md90009.html + unsupported/tevion-md90009.html Probably unsupported. See link for details. @@ -15562,7 +15562,7 @@ 0x05da 0x3022 unsupported - /unsupported/tevion-md90070.html + unsupported/tevion-md90070.html Unsupported. See link for details. @@ -15570,7 +15570,7 @@ 0x05da 0x3022 unsupported - /unsupported/tevion-md90070.html + unsupported/tevion-md90070.html Unsupported. See link for details. @@ -15582,7 +15582,7 @@ 0x0461 0x0346 unsupported - /unsupported/memorex-maxx-6136u.html + unsupported/memorex-maxx-6136u.html Probably unsupported. @@ -15590,7 +15590,7 @@ 0x0461 0x0347 unsupported - /unsupported/visioneer-onetouch4400.html + unsupported/visioneer-onetouch4400.html Probably unsupported. Same as Visioneer Onetouch 4400. See link for details. @@ -15598,7 +15598,7 @@ 0x05cb 0x1483 unsupported - /unsupported/trust-combiscan-19200.html + unsupported/trust-combiscan-19200.html Unsupported. See link for details. @@ -15606,7 +15606,7 @@ *none* *none* unsupported - /unsupported/memorex-scf-9612p.html + unsupported/memorex-scf-9612p.html Probably unsupported. See link for details. @@ -15626,7 +15626,7 @@ 0x05da 0x202e unsupported - /unsupported/microtek-artixscan-2020.html + unsupported/microtek-artixscan-2020.html Unsupported. See link for details. @@ -15650,7 +15650,7 @@ 0x05e3 0x0120 unsupported - /unsupported/microtek-filmscan-35.html + unsupported/microtek-filmscan-35.html Probably unsupported. See link for details. @@ -15666,7 +15666,7 @@ *none* *none* unsupported - /unsupported/microtek-scanmaker-1850s.html + unsupported/microtek-scanmaker-1850s.html Unsupported. See link for details. @@ -15674,7 +15674,7 @@ 0x0461 0x0347 unsupported - /unsupported/microtek-scanmaker-3630.html + unsupported/microtek-scanmaker-3630.html Unsupported. Doesn't seem to be compatible to 3600 series, see link. @@ -15682,7 +15682,7 @@ 0x05da 0x30ce unsupported - /unsupported/microtek-scanmaker-3800.html + unsupported/microtek-scanmaker-3800.html Unsupported. See link for more details. @@ -15690,7 +15690,7 @@ 0x05da 0x30ce unsupported - /unsupported/microtek-scanmaker-3830.html + unsupported/microtek-scanmaker-3830.html Unsupported. See link for more details. @@ -15698,7 +15698,7 @@ 0x05da 0x3023 unsupported - /unsupported/microtek-scanmaker-3880.html + unsupported/microtek-scanmaker-3880.html Unsupported. See link for more details. Appears to be similar to ScanMaker 3880. @@ -15706,7 +15706,7 @@ 0x05da 0x3021 unsupported - /unsupported/microtek-scanmaker-3880.html + unsupported/microtek-scanmaker-3880.html Unsupported. SQ113 chip. See link for more details. @@ -15714,7 +15714,7 @@ 0x05da 0x40c7 unsupported - /unsupported/microtek-scanmaker-4600.html + unsupported/microtek-scanmaker-4600.html Unsupported. See link for more details. @@ -15722,7 +15722,7 @@ 0x05da 0x20b4 unsupported - /unsupported/microtek-scanmaker-4700.html + unsupported/microtek-scanmaker-4700.html Unsupported. See link for more details. @@ -15730,7 +15730,7 @@ 0x05da 0x30d9 unsupported - /unsupported/microtek-scanmaker-4900.html + unsupported/microtek-scanmaker-4900.html Probably unsupported. See link for details. @@ -15738,7 +15738,7 @@ 0x05da 0x3008 unsupported - /unsupported/microtek-scanmaker-4850-2.html + unsupported/microtek-scanmaker-4850-2.html Probably unsupported. See link for details. @@ -15746,7 +15746,7 @@ 0x05da 0x30b9 unsupported - /unsupported/microtek-scanmaker-4900.html + unsupported/microtek-scanmaker-4900.html Unsupported. See link for more details. @@ -15754,7 +15754,7 @@ *none* *none* unsupported - /unsupported/microtek-scanmaker-5600.html + unsupported/microtek-scanmaker-5600.html Probably unsupported. See link for more details. @@ -15762,7 +15762,7 @@ 0x05da 0x20a7 unsupported - /unsupported/microtek-scanmaker-5600.html + unsupported/microtek-scanmaker-5600.html Unsupported. See link for more details. @@ -15778,7 +15778,7 @@ 0x05da 0x3008 unsupported - /unsupported/microtek-scanmaker-5800.html + unsupported/microtek-scanmaker-5800.html Unsupported. See link for details. @@ -15786,7 +15786,7 @@ 0x05da 0x30d8 unsupported - /unsupported/microtek-scanmaker-5800.html + unsupported/microtek-scanmaker-5800.html Unsupported. See link for details. @@ -15794,7 +15794,7 @@ 0x05da 0x30d8 unsupported - /unsupported/microtek-scanmaker-5900.html + unsupported/microtek-scanmaker-5900.html Unsupported. See link for more details. @@ -15802,7 +15802,7 @@ 0x05da 0x30d8 unsupported - /unsupported/microtek-scanmaker-5950.html + unsupported/microtek-scanmaker-5950.html Unsupported. See link for more details. @@ -15810,7 +15810,7 @@ 0x05da 0x30e5 unsupported - /unsupported/microtek-scanmaker-6000.html + unsupported/microtek-scanmaker-6000.html Unsupported. See link for more details. @@ -15818,7 +15818,7 @@ 0x05da 0x30e5 unsupported - /unsupported/microtek-scanmaker-6100.html + unsupported/microtek-scanmaker-6100.html Unsupported. See link for more details. @@ -15826,7 +15826,7 @@ 0x05da 0x20c9 unsupported - /unsupported/microtek-scanmaker-6700.html + unsupported/microtek-scanmaker-6700.html Unsupported. See link. @@ -15834,7 +15834,7 @@ 0x05da 0x20b1 unsupported - /unsupported/microtek-scanmaker-8700.html + unsupported/microtek-scanmaker-8700.html Unsupported. See link for details. USB vendor and product ids to be checked. @@ -15850,7 +15850,7 @@ 0x05da 0x20de unsupported - /unsupported/microtek-scanmaker-9800.html + unsupported/microtek-scanmaker-9800.html Partly unsupported. IEEE-1394 works with microtek2 backend. See link. @@ -15858,7 +15858,7 @@ 0x05da 0x30e6 unsupported - /unsupported/microtek-scanmaker-i320.html + unsupported/microtek-scanmaker-i320.html Unsupported. See link. @@ -15866,7 +15866,7 @@ 0x05da 0x201c unsupported - /unsupported/microtek-scanmaker-s400.html + unsupported/microtek-scanmaker-s400.html Unsupported. See link. @@ -15874,7 +15874,7 @@ 0x05da 0x300b unsupported - /unsupported/microtek-scanmaker-s400.html + unsupported/microtek-scanmaker-s400.html Unsupported. See link. @@ -15882,7 +15882,7 @@ 0x04a7 0x0224 unsupported - /unsupported/microtek-scanport-3000.html + unsupported/microtek-scanport-3000.html Unsupported. Vendor/Product ids: 0x04a7/0x0224. Realtek RTS8801B?. See link for details. @@ -15894,7 +15894,7 @@ 0x0686 0x400d unsupported - /unsupported/minolta-dual-scan-III.html + unsupported/minolta-dual-scan-III.html Unsupported. May work with vuescan. See link for details. @@ -15902,7 +15902,7 @@ 0x132b 0x000a unsupported - /unsupported/minolta-dual-scan-IV.html + unsupported/minolta-dual-scan-IV.html Unsupported. Works with vuescan. See link for details. @@ -15910,7 +15910,7 @@ 0x0686 0x400e unsupported - /unsupported/minolta-dse-5400.html + unsupported/minolta-dse-5400.html Probably unsupported. May work with vuescan. See link for details. @@ -15918,7 +15918,7 @@ 0x132b 0x0012 unsupported - /unsupported/minolta-dse-5400-2.html + unsupported/minolta-dse-5400-2.html Probably unsupported. See link for details. @@ -15926,7 +15926,7 @@ *none* *none* unsupported - /unsupported/minolta-dimage-scan-multi-pro.html + unsupported/minolta-dimage-scan-multi-pro.html Probably unsupported. See link for details. @@ -15972,7 +15972,7 @@ 0x055f 0x0408 unsupported - /unsupported/mustek-bearpaw-2448-cu-pro.html + unsupported/mustek-bearpaw-2448-cu-pro.html Not supported. May be supported by mustek_usb2 backend later. See link for some information. @@ -15980,7 +15980,7 @@ 0x055f 0x1000 unsupported - /unsupported/mustek-bearpaw-4800ta-pro.html + unsupported/mustek-bearpaw-4800ta-pro.html Not supported. See link for some information. @@ -15988,7 +15988,7 @@ 0x055f 0x040a unsupported - /unsupported/mustek-bearpaw-4800ta-pro-ii.html + unsupported/mustek-bearpaw-4800ta-pro-ii.html Not supported. May be supported by mustek_usb2 backend later. See link for some information. @@ -16060,7 +16060,7 @@ *none* *none* unsupported - http://lists.alioth.debian.org/pipermail/sane-devel/2003-May/007682.html + http://alioth-lists.debian.net/pipermail/sane-devel/2003-May/007682.html Probably not supported. Same as Mustek 12000 P?. ASIC 1505. @@ -16072,7 +16072,7 @@ 0x0475 0x0100 unsupported - /unsupported/nec-petiscan.html + unsupported/nec-petiscan.html Most probably unsupported. See link for details. Vendor ID is Relisys/Teco. Not known if it is similar to other Relisys/Teco USB scanners. @@ -16084,7 +16084,7 @@ *none* *none* unsupported - /unsupported/nikon-ls9000-ed.html + unsupported/nikon-ls9000-ed.html Probably not supported. See link for details. Possibly similar to LS-8000 ED. @@ -16096,7 +16096,7 @@ 0x0b3c 0xa880 unsupported - /unsupported/olivetti-job-jet-m400.html + unsupported/olivetti-job-jet-m400.html Probably not supported. See link for details. @@ -16108,7 +16108,7 @@ *none* *none* unsupported - http://lists.alioth.debian.org/pipermail/sane-devel/2008-December/023326.html + http://alioth-lists.debian.net/pipermail/sane-devel/2008-December/023326.html *none* @@ -16116,7 +16116,7 @@ *none* *none* unsupported - /unsupported/olympus-es10s.html + unsupported/olympus-es10s.html Probably not supported. See link for details. @@ -16300,7 +16300,7 @@ 0x0a82 0x2000 unsupported - /unsupported/syscan-travelscan-pro.html + unsupported/syscan-travelscan-pro.html Probably not supported. Some information is available. @@ -16312,7 +16312,7 @@ 0x05e3 0x0120 unsupported - /unsupported/pie-1800u.html + unsupported/pie-1800u.html Not supported. See link for details. @@ -16320,7 +16320,7 @@ *none* *none* unsupported - http://lists.alioth.debian.org/pipermail/sane-devel/2009-January/023442.html + http://alioth-lists.debian.net/pipermail/sane-devel/2009-January/023442.html *none* @@ -16336,7 +16336,7 @@ 0x05e3 0x0142 unsupported - /unsupported/reflecta-digitdia-3600.html + unsupported/reflecta-digitdia-3600.html Probably unsupported. Film scanner that can scan directly from the magazine. @@ -16344,7 +16344,7 @@ 0x05e3 0x0143 unsupported - /unsupported/pie-pf3650.html + unsupported/pie-pf3650.html Not supported. See link for details. @@ -16357,7 +16357,7 @@ 0x07b3 0x0807 unsupported - /unsupported/plustek-opticfilm-7200.html + unsupported/plustek-opticfilm-7200.html GL842 based, maybe to be added to genesys backend @@ -16389,7 +16389,7 @@ 0x07b3 0x0600 unsupported - /unsupported/plustek-opticpro-st12.html + unsupported/plustek-opticpro-st12.html Product id 0x0600 is unsupported but may be supported by the genesys backend in future. Product id 0x040b is supported by the gt68xx backend. @@ -16397,7 +16397,7 @@ 0x07b3 0x0600 unsupported - /unsupported/plustek-opticpro-st12.html + unsupported/plustek-opticpro-st12.html Product id 0x0600 is unsupported but may be supported by the genesys backend in future. Product id 0x040b is supported by the gt68xx backend. @@ -16405,7 +16405,7 @@ 0x07b3 0x0600 unsupported - /unsupported/plustek-opticpro-st16.html + unsupported/plustek-opticpro-st16.html GL646 based, to be added to genesys backend @@ -16421,7 +16421,7 @@ 0x07b3 0x0601 unsupported - /unsupported/plustek-opticpro-st24.html + unsupported/plustek-opticpro-st24.html Product id 0x0601 is unsupported but may be supported by the genesys backend in future /GL646). Product id 0x040e is supported by the gt68xx backend. @@ -16429,7 +16429,7 @@ 0x07b3 0x0601 unsupported - /unsupported/plustek-opticpro-st24.html + unsupported/plustek-opticpro-st24.html GL646 based, to be added to genesys backend @@ -16437,7 +16437,7 @@ 0x07b3 0x0801 unsupported - /unsupported/plustek-opticpro-s28.html + unsupported/plustek-opticpro-s28.html GL841 based, to be added to genesys backend @@ -16445,7 +16445,7 @@ 0x07b3 0x0801 unsupported - /unsupported/plustek-opticpro-s28.html + unsupported/plustek-opticpro-s28.html GL841 based, to be added to genesys backend @@ -16453,7 +16453,7 @@ 0x07b3 0x0802 unsupported - /unsupported/plustek-opticpro-st28.html + unsupported/plustek-opticpro-st28.html GL841 based, to be added to genesys backend @@ -16461,7 +16461,7 @@ 0x07b3 0x0802 unsupported - /unsupported/umax-astrscan-4750.html + unsupported/umax-astrscan-4750.html GL841 based, to be added to genesys backend, rebadged Plustek ST28 @@ -16469,7 +16469,7 @@ 0x07b3 0x0800 unsupported - /unsupported/plustek-opticpro-st48.html + unsupported/plustek-opticpro-st48.html GL841 based, to be added to genesys backend @@ -16477,7 +16477,7 @@ 0x07b3 0x0c00 unsupported - /unsupported/plustek-opticpro-st64.html + unsupported/plustek-opticpro-st64.html GL843 based, maybe to be added to genesys backend @@ -16485,7 +16485,7 @@ 0x07b3 0x0c03 unsupported - /unsupported/plustek-opticpro-st64plus.html + unsupported/plustek-opticpro-st64plus.html GL843 based. See link for more details. @@ -16493,7 +16493,7 @@ 0x07b3 0x0c0c unsupported - /unsupported/plustek-pl806.html + unsupported/plustek-pl806.html Unsupported. See link for more details. @@ -16501,7 +16501,7 @@ 0x07b3 0x0c0d unsupported - /unsupported/plustek-pl812.html + unsupported/plustek-pl812.html Unsupported. See link for more details. @@ -16509,7 +16509,7 @@ 0x07b3 0x0458 unsupported - /unsupported/plustek-opticslim-500.html + unsupported/plustek-opticslim-500.html Unsupported. See link for more details. @@ -16517,7 +16517,7 @@ 0x07b3 0x0806 unsupported - /unsupported/plustek-opticslim-2420.html + unsupported/plustek-opticslim-2420.html GL841 based, to be added to genesys backend @@ -16525,7 +16525,7 @@ 0x07b3 0x0914 unsupported - /unsupported/plustek-opticslim-2420plus.html + unsupported/plustek-opticslim-2420plus.html GL841 based, to be added to genesys backend @@ -16549,7 +16549,7 @@ 0x07b3 0x081c unsupported - /unsupported/plustek-scancopy-115.html + unsupported/plustek-scancopy-115.html GL841 based, to be added to genesys backend @@ -16625,7 +16625,7 @@ 0x10c4 0xea60 unsupported - /unsupported/planon-docupen-r700.html + unsupported/planon-docupen-r700.html Probably not supported. See link for details. @@ -16645,7 +16645,7 @@ 0x0461 0x0341 unsupported - /unsupported/primax-colorado-600u.html + unsupported/primax-colorado-600u.html Not supported. Some information is available. @@ -16669,7 +16669,7 @@ 0x0461 0x0347 unsupported - /unsupported/visioneer-onetouch4400.html + unsupported/visioneer-onetouch4400.html Unsupported. Same as Visioneer Onetouch 4400. See link for details. @@ -16693,7 +16693,7 @@ 0x0461 0x0340 unsupported - /unsupported/primax-colorado-usb-9600.html + unsupported/primax-colorado-usb-9600.html Not supported. See link for details. @@ -16781,7 +16781,7 @@ 0x0461 0x0371 unsupported - /unsupported/visioneer-onetouch8920.html + unsupported/visioneer-onetouch8920.html Not supported. Look similar to Visioneer Onetouch 8920 (same USB product id). @@ -16793,7 +16793,7 @@ 0x06dc 0x0014 unsupported - /unsupported/prolink-2448u.html + unsupported/prolink-2448u.html Not supported. Some information is available. RealTek RTS8801. @@ -16833,7 +16833,7 @@ 0x05e3 0x0142 unsupported - /unsupported/reflecta-digitdia-3600.html + unsupported/reflecta-digitdia-3600.html Film scanner that can scan directly from the magazine. @@ -16841,7 +16841,7 @@ 0x05e3 0x0120 unsupported - /unsupported/reflecta-iscan-1800.html + unsupported/reflecta-iscan-1800.html Probably unsupported. See link for details. @@ -16849,7 +16849,7 @@ 0x05e3 0x0143 unsupported - /unsupported/reflecta-proscan-4000.html + unsupported/reflecta-proscan-4000.html Probably unsupported. See link for details. @@ -16861,7 +16861,7 @@ 0x0475 0x0103 unsupported - /unsupported/relisys-eclipse-1200u.html + unsupported/relisys-eclipse-1200u.html Probably unsupported. See link for details. @@ -16869,7 +16869,7 @@ 0x0475 0x0210 unsupported - /unsupported/relisys-scorpio-ultra3.html + unsupported/relisys-scorpio-ultra3.html Probably unsupported. See link for details. @@ -16877,7 +16877,7 @@ 0x0475 0x0103 unsupported - /unsupported/relisys-episode.html + unsupported/relisys-episode.html Probably unsupported. See link for details. @@ -16897,7 +16897,7 @@ 0x04e8 0x341f unsupported - /unsupported/samsung-scx-4725.html + unsupported/samsung-scx-4725.html Not supported. See link for details. @@ -16909,7 +16909,7 @@ 0x0a82 0x6605 unsupported - /unsupported/scanshell-800n.html + unsupported/scanshell-800n.html Not supported. See link for details. @@ -16993,7 +16993,7 @@ 0x0a82 0x0530 unsupported - /unsupported/syscan-travelscan-fs531.html + unsupported/syscan-travelscan-fs531.html Not supported. May work with the Plustek backend in future. See link for details. @@ -17001,7 +17001,7 @@ 0x0a82 0x2000 unsupported - /unsupported/syscan-travelscan-pro.html + unsupported/syscan-travelscan-pro.html Probably not supported. Some information is available. @@ -17029,7 +17029,7 @@ 0x05e3 0x0100 unsupported - /unsupported/tamarack-artiscan-2400.html + unsupported/tamarack-artiscan-2400.html Unsupported. See link for more information. @@ -17041,7 +17041,7 @@ 0x0461 0x0346 unsupported - /unsupported/memorex-maxx-6136u.html + unsupported/memorex-maxx-6136u.html Not supported. Some information is available. @@ -17061,7 +17061,7 @@ 0x080d 0x0102 unsupported - /unsupported/teco-vm6509.html + unsupported/teco-vm6509.html Probably unsupported. See link for details. @@ -17073,7 +17073,7 @@ 0x0461 0x0347 unsupported - /unsupported/visioneer-onetouch4400.html + unsupported/visioneer-onetouch4400.html Unsupported. See link for details. @@ -17085,7 +17085,7 @@ 0x05cb 0x1483 unsupported - /unsupported/trust-combiscan-19200.html + unsupported/trust-combiscan-19200.html Unsupported. See link for details. @@ -17093,7 +17093,7 @@ *none* *none* unsupported - http://lists.alioth.debian.org/pipermail/sane-devel/2008-October/022955.html + http://alioth-lists.debian.net/pipermail/sane-devel/2008-October/022955.html *none* @@ -17101,7 +17101,7 @@ *none* *none* unsupported - /unsupported/trust-scsi-scan-19200.html + unsupported/trust-scsi-scan-19200.html Unsupported. See link for details. @@ -17113,7 +17113,7 @@ 0x0461 0x0374 unsupported - /unsupported/umax-astra-2500.html + unsupported/umax-astra-2500.html Probably not supported. See link for details. @@ -17121,7 +17121,7 @@ 0x07b3 0x0601 unsupported - /unsupported/plustek-opticpro-st24.html + unsupported/plustek-opticpro-st24.html Probably not supported. Same IDs as Plustek OpticPro ST24. See link for details. @@ -17129,7 +17129,7 @@ 0x0461 0x038a unsupported - /unsupported/umax-astra-3000.html + unsupported/umax-astra-3000.html Probably not supported. See link for details. @@ -17137,7 +17137,7 @@ 0x0461 0x038a unsupported - /unsupported/umax-astra-3600.html + unsupported/umax-astra-3600.html Probably not supported. See link for details. @@ -17145,7 +17145,7 @@ 0x1606 0x1030 unsupported - /unsupported/umax-astra-4000.html + unsupported/umax-astra-4000.html Not supported. See link for details. @@ -17153,7 +17153,7 @@ 0x0461 0x038c unsupported - /unsupported/umax-astra-4100.html + unsupported/umax-astra-4100.html Not supported, to be added to genesys backend. @@ -17161,7 +17161,7 @@ 0x0638 0x0a10 unsupported - /unsupported/umax-astra-4500.html + unsupported/umax-astra-4500.html GL646 based, to be added to genesys backend. Avision iVina FB1600 clone @@ -17177,7 +17177,7 @@ 0x0638 0x0a20 unsupported - /unsupported/umax-astra-4700.html + unsupported/umax-astra-4700.html GL646/GL660 based. Avision iVina FB1800 clone. @@ -17193,7 +17193,7 @@ 0x080d 0x0104 unsupported - /unsupported/umax-astraslim.html + unsupported/umax-astraslim.html Probably not supported currently. See link for more details. @@ -17201,7 +17201,7 @@ 0x080d 0x0110 unsupported - /unsupported/umax-astraslim-1200.html + unsupported/umax-astraslim-1200.html See link for more details. @@ -17209,7 +17209,7 @@ 0x080d 0x0104 unsupported - /unsupported/umax-astraslim-6000.html + unsupported/umax-astraslim-6000.html Probably not supported currently. See link for more details. @@ -17225,7 +17225,7 @@ *none* *none* unsupported - /unsupported/umax-powerlook-180.html + unsupported/umax-powerlook-180.html Probably not supported. See link for details. @@ -17245,7 +17245,7 @@ 0x04a7 0x0224 unsupported - /unsupported/visioneer-onetouch4800.html + unsupported/visioneer-onetouch4800.html Not supported. See link for more details. @@ -17273,7 +17273,7 @@ 0x0461 0x03a8 unsupported - /unsupported/visioneer-9420.html + unsupported/visioneer-9420.html Unsupported. See link for details. @@ -17281,7 +17281,7 @@ 0x04a7 0x0421 unsupported - /unsupported/visioneer-9450-usb.html + unsupported/visioneer-9450-usb.html Unsupported. See link for details. @@ -17289,7 +17289,7 @@ 0x0461 0x0347 unsupported - /unsupported/visioneer-onetouch4400.html + unsupported/visioneer-onetouch4400.html Not supported. E5 chipset? See link for more details. @@ -17297,7 +17297,7 @@ 0x04a7 0x0224 unsupported - /unsupported/visioneer-onetouch4800.html + unsupported/visioneer-onetouch4800.html Unsupported. Seems to use Realtek RTS8801B. Same as Microtek Scanport 3000. See link for details. @@ -17305,7 +17305,7 @@ 0x04a7 0x0226 unsupported - /unsupported/visioneer-onetouch5300.html + unsupported/visioneer-onetouch5300.html Not supported. Chipset is RTS8801B(?). See link for output of /proc/bus/usb/devices. @@ -17321,7 +17321,7 @@ 0x04a7 0x0226 unsupported - /unsupported/visioneer-onetouch5800.html + unsupported/visioneer-onetouch5800.html Unsupported. 48 bit scanner, doesn't work with viceo backend. RTS8801C. @@ -17329,7 +17329,7 @@ 0x04a7 0x022a unsupported - /unsupported/visioneer-onetouch6600.html + unsupported/visioneer-onetouch6600.html Unsupported. See link for details. @@ -17337,7 +17337,7 @@ 0x04a7 0x0229 unsupported - /unsupported/visioneer-onetouch7100.html + unsupported/visioneer-onetouch7100.html GL646 based, to be added to genesys backend @@ -17345,7 +17345,7 @@ 0x04a7 0x0380 unsupported - /unsupported/visioneer-onetouch7700.html + unsupported/visioneer-onetouch7700.html LM9832/3 based, to be added to plustek backend @@ -17353,7 +17353,7 @@ 0x04a7 0x0321 unsupported - /unsupported/visioneer-onetouch8100.html + unsupported/visioneer-onetouch8100.html Unsupported. See link for details. @@ -17361,7 +17361,7 @@ 0x04a7 0x0371 unsupported - /unsupported/visioneer-onetouch8920.html + unsupported/visioneer-onetouch8920.html Not supported. See link for details. @@ -17369,7 +17369,7 @@ 0x04a7 0x0371 unsupported - /unsupported/visioneer-onetouch8920.html + unsupported/visioneer-onetouch8920.html Not supported. Same as 8920 but without TA? @@ -17377,7 +17377,7 @@ 0x04a7 0x0371 unsupported - /unsupported/visioneer-onetouch8920.html + unsupported/visioneer-onetouch8920.html Not supported. Same as 8700 and 8900 but includes a TA. Uses a Primax ID. Chipset is RTS8801C. See link for output of /proc/bus/usb/devices. @@ -17385,7 +17385,7 @@ 0x04a7 0x022c unsupported - /unsupported/visioneer-onetouch9020.html + unsupported/visioneer-onetouch9020.html Not supported. See link for details. @@ -17393,7 +17393,7 @@ 0x04a7 0x022c unsupported - /unsupported/visioneer-onetouch9020.html + unsupported/visioneer-onetouch9020.html Not supported. See link for details. @@ -17401,7 +17401,7 @@ 0x04a7 0x0362 unsupported - /unsupported/visioneer-onetouch9320.html + unsupported/visioneer-onetouch9320.html Probably not supported. See link for details. @@ -17409,7 +17409,7 @@ 0x04a7 0x0410 unsupported - /unsupported/visioneer-onetouch8820.html + unsupported/visioneer-onetouch8820.html Probably not supported. See link for details. @@ -17417,7 +17417,7 @@ 0x04a7 0x0410 unsupported - /unsupported/visioneer-onetouch8820.html + unsupported/visioneer-onetouch8820.html Probably not supported. See link for details. @@ -17425,7 +17425,7 @@ *none* *none* unsupported - /unsupported/visioneer-paperport-3100b.html + unsupported/visioneer-paperport-3100b.html Most probably not supported. See link for details. @@ -17441,7 +17441,7 @@ *none* *none* unsupported - /unsupported/visioneer-paperport-onetouch.html + unsupported/visioneer-paperport-onetouch.html Most probably not supported. See link for details. @@ -17449,7 +17449,7 @@ 0x04a7 0x0102 unsupported - /unsupported/visioneer-strobe-pro-usb.html + unsupported/visioneer-strobe-pro-usb.html Not supported. See link for details. @@ -17457,7 +17457,7 @@ 0x04a7 0x03a0 unsupported - /unsupported/xerox-4800-onetouch.html + unsupported/xerox-4800-onetouch.html Unsupported. See link for details. Different id compared to One Touch 4800? @@ -17465,7 +17465,7 @@ *none* *none* unsupported - /unsupported/xerox-docuimage-620s.html + unsupported/xerox-docuimage-620s.html Not supported. See link for more details. @@ -17473,7 +17473,7 @@ 0x04a7 0x0446 unsupported - /unsupported/xerox-documate-510.html + unsupported/xerox-documate-510.html Not supported. See link for more details. @@ -17481,7 +17481,7 @@ 0x04a7 0x047c unsupported - /unsupported/xerox-documate-510.html + unsupported/xerox-documate-510.html Not supported. See link for more details. Yet another USB id. @@ -17489,7 +17489,7 @@ 0x04a7 0x0224 unsupported - /unsupported/visioneer-onetouch4800.html + unsupported/visioneer-onetouch4800.html Unsupported. See link for details. Different id compared to 4800 One Touch? @@ -17497,7 +17497,7 @@ *none* *none* unsupported - /unsupported/xerox-workcentre-470cx.html + unsupported/xerox-workcentre-470cx.html Not supported. See link for more details. @@ -17505,7 +17505,7 @@ 0x0924 0xffef unsupported - /unsupported/xerox-workcentre-m15i.html + unsupported/xerox-workcentre-m15i.html Not supported. See link for more details. @@ -17513,7 +17513,7 @@ 0x043d 0x0020 unsupported - /unsupported/xerox-workcentre-xk35c.html + unsupported/xerox-workcentre-xk35c.html Not supported. See link for more details. @@ -17521,7 +17521,7 @@ 0x04e8 0x3903 unsupported - /unsupported/xerox-workcentre-xk50cx.html + unsupported/xerox-workcentre-xk50cx.html Not supported. See link for more details. @@ -17529,7 +17529,7 @@ 0x043d 0x4303 unsupported - /unsupported/xerox-workcentre-pro412.html + unsupported/xerox-workcentre-pro412.html Not supported. See link for more details. @@ -17537,7 +17537,7 @@ 0x0924 0x4220 unsupported - /unsupported/xerox-workcentre-pe16.html + unsupported/xerox-workcentre-pe16.html Not supported. See link for more details. @@ -17545,7 +17545,7 @@ 0x0924 0x4237 unsupported - /unsupported/xerox-workcentre-pe120i.html + unsupported/xerox-workcentre-pe120i.html Not supported. See link for more details. @@ -17559,7 +17559,7 @@ 0x0923 0x010f unsupported - /unsupported/biolux-654.html + unsupported/biolux-654.html Not supported yet. See link for more details. @@ -17571,14 +17571,14 @@ 0x0797 0x801c unsupported - /unsupported/grandtech-scopecam.html + unsupported/grandtech-scopecam.html Not Supported yet. See link for more details. -1.0-3 +1.0-3 sane-v4l mailto:henning@meier-geinitz.de @@ -17590,7 +17590,7 @@ -1.0-13 +1.0-13 sane-xerox_mfp *none* diff --git a/tools/.gitignore b/tools/.gitignore new file mode 100644 index 0000000..445cc64 --- /dev/null +++ b/tools/.gitignore @@ -0,0 +1,8 @@ +gamma4scanimage +hal +sane-backends.pc +sane-config +sane-desc +sane-find-scanner +udev +umax_pp diff --git a/tools/Makefile.am b/tools/Makefile.am index 70c87ee..684815a 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -33,6 +33,9 @@ CLEANFILES = $(bin_SCRIPTS) $(dist_noinst_SCRIPTS) EXTRA_DIST = check-po.awk libtool-get-dll-ext mustek600iin-off.c \ RenSaneDlls.cmd README xerox +EXTRA_DIST += style-check.sh +EXTRA_DIST += create-changelog.sh +EXTRA_DIST += update-upstreams.sh sane_find_scanner_SOURCES = sane-find-scanner.c if have_usblib diff --git a/tools/Makefile.in b/tools/Makefile.in deleted file mode 100644 index 77e9d72..0000000 --- a/tools/Makefile.in +++ /dev/null @@ -1,913 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - - - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = sane-find-scanner$(EXEEXT) gamma4scanimage$(EXEEXT) \ - $(am__EXEEXT_1) -noinst_PROGRAMS = sane-desc$(EXEEXT) $(am__EXEEXT_2) -@INSTALL_UMAX_PP_TOOLS_TRUE@am__append_1 = umax_pp -@INSTALL_UMAX_PP_TOOLS_FALSE@am__append_2 = umax_pp -@have_usblib_TRUE@am__append_3 = check-usb-chip.c -subdir = tools -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/mkinstalldirs $(srcdir)/sane-config.in \ - $(srcdir)/sane-backends.pc.in $(top_srcdir)/depcomp README -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/stdint.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/include/sane/config.h -CONFIG_CLEAN_FILES = sane-config sane-backends.pc -CONFIG_CLEAN_VPATH_FILES = -@INSTALL_UMAX_PP_TOOLS_TRUE@am__EXEEXT_1 = umax_pp$(EXEEXT) -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \ - "$(DESTDIR)$(pkgconfigdir)" -@INSTALL_UMAX_PP_TOOLS_FALSE@am__EXEEXT_2 = umax_pp$(EXEEXT) -PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) -am_gamma4scanimage_OBJECTS = gamma4scanimage.$(OBJEXT) -gamma4scanimage_OBJECTS = $(am_gamma4scanimage_OBJECTS) -am__DEPENDENCIES_1 = -gamma4scanimage_DEPENDENCIES = $(am__DEPENDENCIES_1) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -am_sane_desc_OBJECTS = sane-desc.$(OBJEXT) -sane_desc_OBJECTS = $(am_sane_desc_OBJECTS) -sane_desc_DEPENDENCIES = ../sanei/libsanei.la ../lib/liblib.la -am__sane_find_scanner_SOURCES_DIST = sane-find-scanner.c \ - check-usb-chip.c -@have_usblib_TRUE@am__objects_1 = check-usb-chip.$(OBJEXT) -am_sane_find_scanner_OBJECTS = sane-find-scanner.$(OBJEXT) \ - $(am__objects_1) -sane_find_scanner_OBJECTS = $(am_sane_find_scanner_OBJECTS) -sane_find_scanner_DEPENDENCIES = ../sanei/libsanei.la ../lib/liblib.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) ../backend/sane_strstatus.lo -am_umax_pp_OBJECTS = umax_pp.$(OBJEXT) -umax_pp_OBJECTS = $(am_umax_pp_OBJECTS) -umax_pp_DEPENDENCIES = ../sanei/libsanei.la ../lib/liblib.la \ - $(am__DEPENDENCIES_1) ../backend/umax_pp_low.lo -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -SCRIPTS = $(bin_SCRIPTS) $(noinst_SCRIPTS) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/sane -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(gamma4scanimage_SOURCES) $(sane_desc_SOURCES) \ - $(sane_find_scanner_SOURCES) $(umax_pp_SOURCES) -DIST_SOURCES = $(gamma4scanimage_SOURCES) $(sane_desc_SOURCES) \ - $(am__sane_find_scanner_SOURCES_DIST) $(umax_pp_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -DATA = $(pkgconfig_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(srcdir) -I$(top_builddir)/include \ - -I$(top_srcdir)/include $(USB_CFLAGS) -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AVAHI_CFLAGS = @AVAHI_CFLAGS@ -AVAHI_LIBS = @AVAHI_LIBS@ -AWK = @AWK@ -BACKENDS = @BACKENDS@ -BACKEND_CONFS_ENABLED = @BACKEND_CONFS_ENABLED@ -BACKEND_LIBS_ENABLED = @BACKEND_LIBS_ENABLED@ -BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLH = @DLH@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DVIPS = @DVIPS@ -DYNAMIC_FLAG = @DYNAMIC_FLAG@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FIG2DEV = @FIG2DEV@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GPHOTO2_CPPFLAGS = @GPHOTO2_CPPFLAGS@ -GPHOTO2_LDFLAGS = @GPHOTO2_LDFLAGS@ -GPHOTO2_LIBS = @GPHOTO2_LIBS@ -GREP = @GREP@ -GS = @GS@ -HAVE_GPHOTO2 = @HAVE_GPHOTO2@ -IEEE1284_LIBS = @IEEE1284_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_LOCKPATH = @INSTALL_LOCKPATH@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -JPEG_LIBS = @JPEG_LIBS@ -LATEX = @LATEX@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBV4L_CFLAGS = @LIBV4L_CFLAGS@ -LIBV4L_LIBS = @LIBV4L_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOCKPATH_GROUP = @LOCKPATH_GROUP@ -LTALLOCA = @LTALLOCA@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINDEX = @MAKEINDEX@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIB = @MATH_LIB@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_LIBS = @PNG_LIBS@ -POSUB = @POSUB@ -PPMTOGIF = @PPMTOGIF@ -PRELOADABLE_BACKENDS = @PRELOADABLE_BACKENDS@ -PRELOADABLE_BACKENDS_ENABLED = @PRELOADABLE_BACKENDS_ENABLED@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RESMGR_LIBS = @RESMGR_LIBS@ -SANEI_SANEI_JPEG_LO = @SANEI_SANEI_JPEG_LO@ -SANE_CONFIG_PATH = @SANE_CONFIG_PATH@ -SCSI_LIBS = @SCSI_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SNMP_CFLAGS = @SNMP_CFLAGS@ -SNMP_CONFIG_PATH = @SNMP_CONFIG_PATH@ -SNMP_LIBS = @SNMP_LIBS@ -SOCKET_LIBS = @SOCKET_LIBS@ -STRICT_LDFLAGS = @STRICT_LDFLAGS@ -STRIP = @STRIP@ -SYSLOG_LIBS = @SYSLOG_LIBS@ -SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ -SYSTEMD_LIBS = @SYSTEMD_LIBS@ -TIFF_LIBS = @TIFF_LIBS@ -USB_CFLAGS = @USB_CFLAGS@ -USB_LIBS = @USB_LIBS@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -V_MAJOR = @V_MAJOR@ -V_MINOR = @V_MINOR@ -V_REV = @V_REV@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -configdir = @configdir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -effective_target = @effective_target@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -locksanedir = @locksanedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -@CROSS_COMPILING_FALSE@HOTPLUG = hal/libsane.fdi hotplug/libsane.usermap hotplug-ng/libsane.db \ -@CROSS_COMPILING_FALSE@ udev/libsane.rules - -@CROSS_COMPILING_TRUE@HOTPLUG = -@CROSS_COMPILING_FALSE@HOTPLUG_DIRS = hal hotplug hotplug-ng udev -@CROSS_COMPILING_TRUE@HOTPLUG_DIRS = -@CROSS_COMPILING_FALSE@HOTPLUG_DIR = dirs -@CROSS_COMPILING_TRUE@HOTPLUG_DIR = -bin_SCRIPTS = sane-config -noinst_SCRIPTS = $(HOTPLUG) -BUILT_SOURCES = $(HOTPLUG_DIR) -CLEANFILES = $(bin_SCRIPTS) $(dist_noinst_SCRIPTS) -EXTRA_DIST = check-po.awk libtool-get-dll-ext mustek600iin-off.c \ - RenSaneDlls.cmd README xerox hotplug/README \ - hotplug/libusbscanner hotplug-ng/README \ - hotplug-ng/libsane.hotplug openbsd/attach openbsd/detach -sane_find_scanner_SOURCES = sane-find-scanner.c $(am__append_3) -sane_find_scanner_LDADD = ../sanei/libsanei.la ../lib/liblib.la \ - $(USB_LIBS) $(IEEE1284_LIBS) $(SCSI_LIBS) \ - ../backend/sane_strstatus.lo - -gamma4scanimage_SOURCES = gamma4scanimage.c -gamma4scanimage_LDADD = $(MATH_LIB) -umax_pp_SOURCES = umax_pp.c -umax_pp_LDADD = ../sanei/libsanei.la ../lib/liblib.la $(MATH_LIB) \ - ../backend/umax_pp_low.lo - -sane_desc_SOURCES = sane-desc.c -sane_desc_LDADD = ../sanei/libsanei.la ../lib/liblib.la -pkgconfigdir = @libdir@/pkgconfig -pkgconfig_DATA = sane-backends.pc -descriptions = ${top_srcdir}/doc/descriptions/*.desc ${top_srcdir}/doc/descriptions-external/*.desc -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu tools/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -sane-config: $(top_builddir)/config.status $(srcdir)/sane-config.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -sane-backends.pc: $(top_builddir)/config.status $(srcdir)/sane-backends.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -gamma4scanimage$(EXEEXT): $(gamma4scanimage_OBJECTS) $(gamma4scanimage_DEPENDENCIES) $(EXTRA_gamma4scanimage_DEPENDENCIES) - @rm -f gamma4scanimage$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(gamma4scanimage_OBJECTS) $(gamma4scanimage_LDADD) $(LIBS) - -sane-desc$(EXEEXT): $(sane_desc_OBJECTS) $(sane_desc_DEPENDENCIES) $(EXTRA_sane_desc_DEPENDENCIES) - @rm -f sane-desc$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sane_desc_OBJECTS) $(sane_desc_LDADD) $(LIBS) - -sane-find-scanner$(EXEEXT): $(sane_find_scanner_OBJECTS) $(sane_find_scanner_DEPENDENCIES) $(EXTRA_sane_find_scanner_DEPENDENCIES) - @rm -f sane-find-scanner$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sane_find_scanner_OBJECTS) $(sane_find_scanner_LDADD) $(LIBS) - -umax_pp$(EXEEXT): $(umax_pp_OBJECTS) $(umax_pp_DEPENDENCIES) $(EXTRA_umax_pp_DEPENDENCIES) - @rm -f umax_pp$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(umax_pp_OBJECTS) $(umax_pp_LDADD) $(LIBS) -install-binSCRIPTS: $(bin_SCRIPTS) - @$(NORMAL_INSTALL) - @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n' \ - -e 'h;s|.*|.|' \ - -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) { files[d] = files[d] " " $$1; \ - if (++n[d] == $(am__install_max)) { \ - print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ - else { print "f", d "/" $$4, $$1 } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binSCRIPTS: - @$(NORMAL_UNINSTALL) - @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 's,.*/,,;$(transform)'`; \ - dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check-usb-chip.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gamma4scanimage.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sane-desc.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sane-find-scanner.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umax_pp.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(DATA) -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \ - clean-noinstPROGRAMS mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-pkgconfigDATA - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS install-binSCRIPTS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \ - uninstall-pkgconfigDATA - -.MAKE: all check install install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool clean-local \ - clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-binSCRIPTS \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-binSCRIPTS \ - uninstall-pkgconfigDATA - - -# When build directory is not same as source directory then any -# subdirectories that targets use must be manually created (under -# the build directory that is). -dirs: - for subdir in $(HOTPLUG_DIRS); do \ - $(MKDIR_P) $$subdir || exit 1; \ - done - -hotplug/libsane.usermap: sane-desc $(descriptions) - @./sane-desc -m usermap -s ${top_srcdir}/doc/descriptions:${top_srcdir}/doc/descriptions-external \ - -d 1 > $@ - -hotplug-ng/libsane.db: sane-desc $(descriptions) - @./sane-desc -m db -s ${top_srcdir}/doc/descriptions:${top_srcdir}/doc/descriptions-external \ - -d 0 > $@ - -udev/libsane.rules: sane-desc $(descriptions) - @./sane-desc -m udev -s ${top_srcdir}/doc/descriptions:${top_srcdir}/doc/descriptions-external \ - -d 0 > $@ - -hal/libsane.fdi: sane-desc $(descriptions) - @./sane-desc -m hal -s ${top_srcdir}/doc/descriptions:${top_srcdir}/doc/descriptions-external \ - -d 0 > $@ - -clean-local: - rm -f $(HOTPLUG) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tools/README b/tools/README index 10d0d95..ca15ad4 100644 --- a/tools/README +++ b/tools/README @@ -48,7 +48,7 @@ This directory contains various tools that may be useful: scanner protocol can be tested directly. gamma4scanimage: Creates a gamma table in the format expected by scanimage. - You can define a gamma value, shadow and highlight. + You can define a gamma value, shadow and highlight. Take a look at manual page gamma4scanimage for further information. RenSaneDlls.cmd: Convert backend-DLL-filenames according to 8.3 naming @@ -57,13 +57,13 @@ This directory contains various tools that may be useful: Maybe useful for SANE developers: sane-config: - Show SANE version, linker flags etc. Might be useful for + Show SANE version, linker flags etc. Might be useful for frontend developers. sane-desc: Generate SANE webpages (and ASCII lists) from backend .desc files. Run "sane-desc --help" for details. The default lists are generated - in doc/Makefile. + in doc/Makefile. check-po.awk: Print untranslated and fuzzy messages and their line numbers in the @@ -73,4 +73,3 @@ Maybe useful for SANE developers: script. Alternatively, run it via gawk's -f option, like so: gawk -f tools/check-po.awk po/de.po More documentation is in the script itself. - diff --git a/tools/RenSaneDlls.cmd b/tools/RenSaneDlls.cmd index 2973f85..97c6f71 100644 --- a/tools/RenSaneDlls.cmd +++ b/tools/RenSaneDlls.cmd @@ -3,7 +3,7 @@ /* necessary for DLLs on OS/2 (C) Franz Bakan 2004,2005 */ /* */ /* 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 */ diff --git a/tools/check-po.awk b/tools/check-po.awk index 09e4d15..412b451 100755 --- a/tools/check-po.awk +++ b/tools/check-po.awk @@ -18,11 +18,11 @@ # This script will (hopefully!) check the completeness of a .po # translation file. It will report untranslated strings, as well -# as fuzzy ones. It will print a summarry at the end of the check +# as fuzzy ones. It will print a summary at the end of the check # that says how many strings there are, how many are translated # (and the percentage it represents), how many are fuzzy (and the # percentage it represents amongst translated strings), and how -# many aree un-translated (and the percentage it represents). +# many are untranslated (and the percentage it represents). # It will _not_ tell you wether your file is syntactically correct # (eg. check for terminating double quotes!). And of course it # will _not_ tell you wether the translations are correct! ;-] @@ -30,7 +30,7 @@ # It was originaly been written for SANE backends translations, but # shall be able to check any .po file. # -# Originally writen by Yann E. MORIN +# Originally writen by Yann E. MORIN # # # Output will look like : diff --git a/tools/check-usb-chip.c b/tools/check-usb-chip.c index 50b3e88..ac71cb4 100644 --- a/tools/check-usb-chip.c +++ b/tools/check-usb-chip.c @@ -1,6 +1,6 @@ /* check-usb-chip.c -- Find out what USB scanner chipset is used - + Copyright (C) 2003-2005 Henning Meier-Geinitz Copyright (C) 2003 Gerhard Jaeger for LM983x tests @@ -706,7 +706,7 @@ check_ma1017 (struct usb_device *dev) finish_interface (handle); return 0; } - /* Read one byte again to work around a bug in the MA-1017 chipset that + /* Read one byte again to work around a bug in the MA-1017 chipset that appears when an odd number of bytes is read or written. */ result = usb_bulk_write (handle, 0x01, req, 2, 1000); result = usb_bulk_read (handle, 0x82, &res, 1, 1000); @@ -1727,14 +1727,14 @@ check_gl660_gl646 (struct usb_device *dev) /********** the gl841 section **********/ -/* the various incarnations could be distinguished by the +/* the various incarnations could be distinguished by the * bcdDevice entry: * 0x701 --> GL124 * 0x700 --> ? * 0x605 --> GL845 * 0x603 --> GL847 - * 0x601 --> GL846 - * 0x500 --> GL843 + * 0x601 --> GL846 + * 0x500 --> GL843 * 0x300 --> GL842 (perhaps only >= 0x303 ?) * 0x200 --> GL841 */ @@ -2239,7 +2239,7 @@ check_pv8630_lm9830 (struct usb_device *dev) if (!result) return "PV8630/LM9830?"; - result = + result = usb_control_msg (handle, 0x40, 0x01, 0x38, 0x01, NULL, 0, TIMEOUT); if (result < 0) { @@ -2261,7 +2261,7 @@ check_pv8630_lm9830 (struct usb_device *dev) return 0; } - result = + result = usb_control_msg (handle, 0x40, 0x01, 0x38, 0x01, NULL, 0, TIMEOUT); if (result < 0) { @@ -2375,7 +2375,7 @@ check_m011 (struct usb_device *dev) data = 0x63; - result = + result = usb_control_msg (handle, 0x40, 0x08, 0x34, 0x00, &data, 1, TIMEOUT); if (result < 0) { @@ -2876,13 +2876,13 @@ check_sq113 (struct usb_device *dev) result = prepare_interface (dev, &handle); if (!result) return "SQ113?"; - + buffer [0] = 0x5f; buffer [1] = 0x00; buffer [2] = 0x5f; buffer [3] = 0x00; - result = + result = usb_control_msg (handle, 0x40, 0x01, 0xb0, 0, (char *) buffer, 4, TIMEOUT); if (result < 0) { @@ -2900,7 +2900,7 @@ check_sq113 (struct usb_device *dev) buffer [2] = 0x8b; buffer [3] = data; - result = + result = usb_control_msg (handle, 0x40, 0x01, 0xb0, 0, (char *) buffer, 4, TIMEOUT); if (result < 0) { @@ -2915,7 +2915,7 @@ check_sq113 (struct usb_device *dev) buffer [1] = 0x8b; buffer [2] = 0x8b; buffer [3] = 0x8b; - result = + result = usb_control_msg (handle, 0x40, 0x01, 0x04, 0x8b, (char *) buffer, 4, TIMEOUT); if (result < 0) { @@ -2926,7 +2926,7 @@ check_sq113 (struct usb_device *dev) return 0; } - result = + result = usb_control_msg (handle, 0xc0, 0x01, 0x07, 0, (char *) buffer, 4, TIMEOUT); if (result < 0) { @@ -3240,7 +3240,7 @@ check_hp5590 (struct usb_device *dev) } /* Get confirmation for USB-in-USB command */ - result = usb_control_msg (handle, USB_ENDPOINT_IN | USB_TYPE_VENDOR, + result = usb_control_msg (handle, USB_ENDPOINT_IN | USB_TYPE_VENDOR, 0x0c, 0x8e, 0x20, (char *) &status, sizeof(status), TIMEOUT); if (result < 0) @@ -3874,14 +3874,14 @@ check_gt6816 (libusb_device_handle * handle, /** @brief check for known genesys chip * * Try to check if the scanner use a known genesys ASIC. - * The various incarnations could be distinguished by the + * The various incarnations could be distinguished by the * bcdDevice entry: * 0x701 --> GL124 * 0x700 --> ? * 0x605 --> GL845 * 0x603 --> GL847 - * 0x601 --> GL846 - * 0x500 --> GL843 + * 0x601 --> GL846 + * 0x500 --> GL843 * 0x300 --> GL842 (perhaps only >= 0x303 ?) * 0x200 --> GL841 * diff --git a/tools/create-changelog.sh b/tools/create-changelog.sh new file mode 100755 index 0000000..a0b8d91 --- /dev/null +++ b/tools/create-changelog.sh @@ -0,0 +1,16 @@ +#!/bin/sh -u +# tools/create-changelog.sh -- for inclusion in source tarballs +# Copyright (C) 2019 Olaf Meeuwissen +# +# License: GPL-3.0+ + +git log --date=iso8601 --decorate=short 1.0.27..HEAD \ + | sed 's/^[ \t]*$//' \ + > ChangeLog + +cat << EOF >> ChangeLog + +---------------------------------------------------------------------- +Older ChangeLog entries can be found in the ChangeLogs/ directory on a +file per release basis. Please note that 1.0.26 was never released. +EOF diff --git a/tools/create-release.sh b/tools/create-release.sh new file mode 100755 index 0000000..40904d7 --- /dev/null +++ b/tools/create-release.sh @@ -0,0 +1,61 @@ +#!/bin/sh -eux +# tools/create-release.sh -- via GitLab CI and API +# Copyright (C) 2019 Olaf Meeuwissen +# +# License: GPL-3.0+ + +GROUP=sane-project +PROJECT=backends +PROJECT_ID=$GROUP%2F$PROJECT + +API_ENDPOINT=https://gitlab.com/api/v4 + +# Uploads a file and returns a project relative URL to it. +upload () { + curl --silent --fail \ + --header "PRIVATE-TOKEN: $PRIVATE_TOKEN" \ + --form "file=@$1" \ + --request POST \ + $API_ENDPOINT/projects/$PROJECT_ID/uploads \ + | jq --raw-output .url \ + | sed "s|^|https://gitlab.com/$GROUP/$PROJECT|" +} + +cat << EOF > release.json +{ + "name": "SANE Backends $CI_COMMIT_TAG", + "tag_name": "$CI_COMMIT_TAG", + "description": "$(sed '1,3d; / /{s/.*//; q}' NEWS \ + | git stripspace \ + | sed 's/"/\\"/g; s/$/\\n/g' \ + | tr -d '\n')", + "assets": { + "links": [ +EOF + +for check in sha256 sha512; do + ${check}sum sane-backends-$CI_COMMIT_TAG.tar.gz \ + > sane-backends-$CI_COMMIT_TAG.$check.txt + cat << EOF >> release.json + { + "name": "sane-backends-$CI_COMMIT_TAG.$check.txt", + "url": "$(upload sane-backends-$CI_COMMIT_TAG.$check.txt)" + }, +EOF +done + +cat << EOF >> release.json + { + "name": "sane-backends-$CI_COMMIT_TAG.tar.gz", + "url": "$(upload sane-backends-$CI_COMMIT_TAG.tar.gz)" + } + ] + } +} +EOF + +curl --silent --fail --write-out "%{http_code}\n"\ + --header "PRIVATE-TOKEN: $PRIVATE_TOKEN" \ + --header "Content-Type: application/json" \ + --data @release.json \ + --request POST $API_ENDPOINT/projects/$PROJECT_ID/releases diff --git a/tools/epson2usb.pl b/tools/epson2usb.pl new file mode 100755 index 0000000..6d542d7 --- /dev/null +++ b/tools/epson2usb.pl @@ -0,0 +1,61 @@ +#!/usr/bin/perl -w + +# Creates an USB device list from the description file +# +# epson2usb.pl doc/descriptions/epson2.desc +# +# Copyright (C) 2010 Tower Technologies +# Author: Alessandro Zummo +# +# 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, version 2. + +use strict; +use warnings; + + my %ids; + my @models; + my $i = 0; + + while (<>) { + + my $flip = /^:model/ ... /^$/; + + $models[$i]{$1} = $2 + if /^:(\w+)\s+(.+)/; + + $i++ + if $flip =~ /E0$/; + } + + foreach my $m (@models) { + + next unless defined $m->{'usbid'}; + next if $m->{'status'} eq ':unsupported'; + +# print $m->{'model'} , "\n"; +# print "-", $m->{'usbid'} , "-\n"; + + next unless $m->{'usbid'} =~ /"0x04b8"\s+"(0x[[:xdigit:]]+)"/; + + my $id = $1; + +# print $id, "\n"; + + $id =~ s/0x0/0x/; + + $m->{'model'} =~ s/;.+$//; + $m->{'model'} =~ s/\"//g; + $m->{'model'} =~ s/\s+$//; + + push(@{$ids{$id}}, $m->{'model'}); + } + + foreach (sort keys %ids) { + print ' ', $_, ', /* '; + print join(', ', @{$ids{$_}}); + print " */\n"; + } diff --git a/tools/hotplug-ng/.gitignore b/tools/hotplug-ng/.gitignore new file mode 100644 index 0000000..c63faf4 --- /dev/null +++ b/tools/hotplug-ng/.gitignore @@ -0,0 +1 @@ +libsane.db diff --git a/tools/hotplug/.gitignore b/tools/hotplug/.gitignore new file mode 100644 index 0000000..e194d28 --- /dev/null +++ b/tools/hotplug/.gitignore @@ -0,0 +1 @@ +libsane.usermap diff --git a/tools/hotplug/libusbscanner b/tools/hotplug/libusbscanner index bf613a5..55646d4 100755 --- a/tools/hotplug/libusbscanner +++ b/tools/hotplug/libusbscanner @@ -32,4 +32,3 @@ fi # if [ "$ACTION" = "add" -a "$TYPE" = "usb" ]; then # chmod 0666 "$DEVICE" # fi - diff --git a/tools/sane-config.in b/tools/sane-config.in index 6b7cd30..5ef9ba4 100644 --- a/tools/sane-config.in +++ b/tools/sane-config.in @@ -2,7 +2,7 @@ # # This script is part of SANE, # -# Send bugreports and other requests to sane-devel@lists.alioth.debian.org +# Send bugreports and other requests to sane-devel@alioth-lists.debian.net PACKAGE="@PACKAGE@" scriptname="sane-config" @@ -88,4 +88,3 @@ if test $# -gt 0; then ;; esac fi - diff --git a/tools/sane-desc.c b/tools/sane-desc.c index badc8ce..890e754 100644 --- a/tools/sane-desc.c +++ b/tools/sane-desc.c @@ -47,7 +47,7 @@ #define SANE_DESC_VERSION "3.5" -#define MAN_PAGE_LINK "http://www.sane-project.org/man/%s.5.html" +#define MAN_PAGE_LINK "man/%s.5.html" #define COLOR_MINIMAL "\"#B00000\"" #define COLOR_BASIC "\"#FF9000\"" #define COLOR_GOOD "\"#90B000\"" @@ -315,7 +315,7 @@ print_usage (char *program_name) printf ("Usage: %s [-s dir] [-m mode] [-d level] [-h] [-V]\n", program_name); printf (" -s|--search-dir dir " - "Specify the directory that contains .desc files \n" + "Specify the directory that contains .desc files\n" " " "(multiple directories can be concatenated by \":\")\n"); printf (" -m|--mode mode " @@ -2075,7 +2075,7 @@ xml_print_backends (void) printf ("\n"); if (be->version) - printf ("%s \n", clean_string (be->version)); + printf ("%s\n", clean_string (be->version)); else printf ("*none*\n"); @@ -2448,7 +2448,7 @@ html_backends_split_table (device_type dev_type) backend_entry *be = first_backend; SANE_Bool first = SANE_TRUE; - printf ("

    Backends: \n"); + printf ("

    Backends:\n"); while (be) /* print link list */ { type_entry *type = be->type; @@ -2463,7 +2463,7 @@ html_backends_split_table (device_type dev_type) if (found) { if (!first) - printf (", \n"); + printf (",\n"); first = SANE_FALSE; printf ("%s", html_generate_anchor_name (dev_type, be->name), be->name); @@ -2512,7 +2512,7 @@ html_backends_split_table (device_type dev_type) if (be->url && be->url->name) { url_entry *url = be->url; - printf ("Link(s): \n"); + printf ("Link(s):\n"); while (url) { if (url != be->url) @@ -2650,11 +2650,11 @@ html_mfgs_table (device_type dev_type) first_mfg_record = create_mfg_list (dev_type); mfg_record = first_mfg_record; - printf ("

    Manufacturers: \n"); + printf ("

    Manufacturers:\n"); while (mfg_record) { if (mfg_record != first_mfg_record) - printf (", \n"); + printf (",\n"); printf ("%s", html_generate_anchor_name (type_unknown, mfg_record->name), mfg_record->name); @@ -2675,7 +2675,7 @@ html_mfgs_table (device_type dev_type) if (mfg_record->url && mfg_record->url->name) { url_entry *url = mfg_record->url; - printf ("Link(s): \n"); + printf ("Link(s):\n"); while (url) { if (url != mfg_record->url) @@ -2786,7 +2786,7 @@ html_print_header (void) ("\n" "\n" "

    \n" - "\"SANE\"\n"); + "\"SANE\"\n"); printf ("

    %s

    \n", title); printf ("
    \n" "
    \n"); printf ("%s\n", intro); @@ -2797,8 +2797,8 @@ html_print_header (void) "concerning each backend.

    \n"); printf ("

    If you have new information or corrections, please file a\n" - "bug report\n" - "with as many details as possible. Also please tell us if your scanner \n" + "bug report\n" + "with as many details as possible. Also please tell us if your scanner\n" "isn't mentioned in this list at all.

    \n" "

    For an explanation of the tables, see the\n" "legend.\n"); @@ -2812,9 +2812,9 @@ html_print_footer (void) printf ("


    \n" - "SANE homepage\n" + "SANE homepage\n" "
    \n" - "Contact\n" "
    \n" "\n"); printf ("This page was last updated on %s by sane-desc %s from %s\n", asctime (localtime (¤t_time)), SANE_DESC_VERSION, PACKAGE_STRING); @@ -2834,8 +2834,8 @@ html_print_legend_backend (void) " available from their home sites.
    " " NEW! means brand-new to the\n" " current release of SANE.
    \n" - " UNMAINTAINED means that nobody maintains that backend. Expect no \n" - " new features or newly supported devices. You are welcome to take over \n" + " UNMAINTAINED means that nobody maintains that backend. Expect no\n" + " new features or newly supported devices. You are welcome to take over\n" " maintainership.\n" " \n"); } @@ -2902,7 +2902,7 @@ html_print_legend_status (void) { printf ("
    Status:
    \n" - "
    Indicates how many of the features the device provides \n" + "
    Indicates how many of the features the device provides\n" " are supported by SANE.\n" "
    • unsupported" " means the device is not supported at least by this backend. " @@ -2912,16 +2912,16 @@ html_print_legend_status (void) " device may be supported but couldn't be tested. Be very " " careful and report success/failure.\n" "
    • minimal means that the\n" - " device is detected and scans at least in one mode. But the quality \n" + " device is detected and scans at least in one mode. But the quality\n" " is bad or important features won't work.\n"); printf - ("
    • basic means it works at \n" + ("
    • basic means it works at\n" " least in the most important modes but quality is not perfect.\n" "
    • good means the device is usable \n" + ">good means the device is usable\n" " for day-to-day work. Some rather exotic features may be missing.\n" "
    • complete means the backends \n" + ">complete means the backends\n" " supports everything the device can do.\n" "
    \n"); } @@ -3360,7 +3360,7 @@ print_usermap_header (void) "# device detection support for your OS\n" "#\n" "# If the scanner is supported by sane-backends, please mail the entry to\n" - "# the sane-devel mailing list (sane-devel@lists.alioth.debian.org).\n" + "# the sane-devel mailing list (sane-devel@alioth-lists.debian.net).\n" "#\n" ); @@ -3427,7 +3427,7 @@ print_db_header (void) "# device detection support for your OS\n" "#\n" "# If the scanner is supported by sane-backends, please mail the entry to\n" - "# the sane-devel mailing list (sane-devel@lists.alioth.debian.org).\n" + "# the sane-devel mailing list (sane-devel@alioth-lists.debian.net).\n" "#\n" ); } @@ -3451,7 +3451,7 @@ print_db (void) name = name->next; } printf ("\n"); - printf ("%s\t%s\t%s:%s\t%s\t\n", usbid->usb_vendor_id, + printf ("%s\t%s\t%s:%s\t%s\n", usbid->usb_vendor_id, usbid->usb_product_id, DEVOWNER, DEVGROUP, DEVMODE); usbid = usbid->next; } @@ -3491,7 +3491,7 @@ print_udev_header (void) "# device detection support for your OS\n" "#\n" "# If the scanner is supported by sane-backends, please mail the entry to\n" - "# the sane-devel mailing list (sane-devel@lists.alioth.debian.org).\n" + "# the sane-devel mailing list (sane-devel@alioth-lists.debian.net).\n" "#\n" ); } @@ -3679,7 +3679,7 @@ print_udevhwdb_header (void) "# device detection support for your OS\n" "#\n" "# If the scanner is supported by sane-backends, please mail the entry to\n" - "# the sane-devel mailing list (sane-devel@lists.alioth.debian.org).\n" + "# the sane-devel mailing list (sane-devel@alioth-lists.debian.net).\n" "#\n" ); } @@ -3782,8 +3782,8 @@ print_hwdb_header (void) "# device detection support for your OS\n" "#\n" "# If the scanner is supported by sane-backends, please mail the entry to\n" - "# the sane-devel mailing list (sane-devel@lists.alioth.debian.org).\n" - "#\n" + "# the sane-devel mailing list (sane-devel@alioth-lists.debian.net).\n" + "#" ); } @@ -3802,7 +3802,7 @@ print_hwdb (void) manufacturer_model_type * name = usbid->name; i = 0; - printf ("# "); + printf ("\n# "); while (name) { if ((name != usbid->name) && (i > 0)) @@ -3833,7 +3833,7 @@ print_hwdb (void) product_id[j] = toupper(product_id[j]); } - printf ("usb:v%sp%s*\n libsane_matched=yes\n\n", + printf ("usb:v%sp%s*\n libsane_matched=yes\n", vendor_id, product_id); free(vendor_id); diff --git a/tools/sane-find-scanner.c b/tools/sane-find-scanner.c index 04f19d9..a62ceac 100644 --- a/tools/sane-find-scanner.c +++ b/tools/sane-find-scanner.c @@ -225,7 +225,7 @@ scanner_do_scsi_inquiry (unsigned char *buffer, int sfd) memset (buffer, '\0', 256); /* clear buffer */ - size = 5; /* first get only 5 bytes to get size of + size = 5; /* first get only 5 bytes to get size of inquiry_return_block */ set_inquiry_return_size (inquiry.cmd, size); status = sanei_scsi_cmd (sfd, inquiry.cmd, inquiry.size, buffer, &size); @@ -433,13 +433,13 @@ get_libusb_string_descriptor (struct usb_device *dev, int index) return 0; } - if (sd->bLength < 2 + if (sd->bLength < 2 || sd->bDescriptorType != USB_DT_STRING) { usb_close (handle); return 0; } - + size = sd->bLength; buffer = calloc (1, size + 1); @@ -659,7 +659,7 @@ check_libusb_device (struct usb_device *dev, SANE_Bool from_file) ++is_scanner; break; case USB_CLASS_PER_INTERFACE: - if (dev->config[0].interface[interface_nr].num_altsetting == 0 || + if (dev->config[0].interface[interface_nr].num_altsetting == 0 || !dev->config[0].interface[interface_nr].altsetting) break; switch (dev->config[0].interface[interface_nr].altsetting[0].bInterfaceClass) @@ -782,7 +782,7 @@ get_libusb_string_descriptor (libusb_device_handle *hdl, int index) if ((short_buffer[0] < 2) /* descriptor length */ || (short_buffer[1] != LIBUSB_DT_STRING)) /* descriptor type */ return NULL; - + size = short_buffer[0]; buffer = calloc (1, size + 1); @@ -934,7 +934,7 @@ check_libusb_device (libusb_device *dev, SANE_Bool from_file) printf (" iConfiguration %d (%s)\n", c->iConfiguration, (buf) ? buf : ""); free (buf); - + printf (" bmAttributes %d (%s%s)\n", c->bmAttributes, c->bmAttributes & 64 ? "Self-powered" : "", c->bmAttributes & 32 ? "Remote Wakeup" : ""); @@ -1064,7 +1064,7 @@ check_libusb_device (libusb_device *dev, SANE_Bool from_file) if (is_scanner > 0) { char *chipset = NULL; - + if(!from_file) chipset = check_usb_chip (verbose, desc, hdl, config0); @@ -1084,7 +1084,7 @@ check_libusb_device (libusb_device *dev, SANE_Bool from_file) libusb_device_found = SANE_TRUE; device_found = SANE_TRUE; } - + libusb_free_config_descriptor (config0); out_free: @@ -1212,14 +1212,14 @@ static char **build_scsi_dev_list(void) adapter = (PSCSI_ADAPTER_BUS_INFO)buffer; - for(i = 0; i < adapter->NumberOfBuses; i++) { + for(i = 0; i < adapter->NumberOfBuses; i++) { if (adapter->BusData[i].InquiryDataOffset == 0) { /* No device here */ continue; } - inquiry = (PSCSI_INQUIRY_DATA) (buffer + + inquiry = (PSCSI_INQUIRY_DATA) (buffer + adapter->BusData[i].InquiryDataOffset); while(1) { /* Check if it is a scanner or a processor @@ -1233,7 +1233,7 @@ static char **build_scsi_dev_list(void) dev_list[dev_list_index] = strdup(device_name); dev_list_index++; } - + if (inquiry->NextInquiryDataOffset == 0) { /* No device here */ break; @@ -1300,7 +1300,7 @@ check_mustek_pp_device (void) printf ("checking %s...", devices[ctr]); result = sanei_pa4s2_open (devices[ctr], &fd); - + if (verbose > 1) { if (result != 0) @@ -1315,13 +1315,13 @@ check_mustek_pp_device (void) found++; sanei_pa4s2_close(fd); } - + /* trying scsi over pp devices */ if (verbose > 1) printf ("checking %s (SCSI emulation)...", devices[ctr]); result = sanei_pa4s2_scsi_pp_open (devices[ctr], &fd); - + if (verbose > 1) { if (result != 0) @@ -1365,7 +1365,7 @@ parse_num (char* search, const char* line, int base, long int * number) if (start_number == NULL) return SANE_FALSE; start_number += strlen (search); - + *number = strtol (start_number, NULL, base); if (verbose > 2) printf ("Found %s%ld\n", search, *number); @@ -1384,11 +1384,11 @@ parse_bcd (char* search, const char* line, long int * number) if (start_number == NULL) return SANE_FALSE; start_number += strlen (search); - + first_part = strtol (start_number, &end_number, 10); start_number = end_number + 1; /* skip colon */ second_part = strtol (start_number, NULL, 10); - *number = ((first_part / 10) << 12) + ((first_part % 10) << 8) + *number = ((first_part / 10) << 12) + ((first_part % 10) << 8) + ((second_part / 10) << 4) + (second_part % 10); if (verbose > 2) printf ("Found %s%ld\n", search, *number); @@ -1478,7 +1478,7 @@ parse_file (char *filename) } if (parse_num ("Ifs=", line, 10, &number)) dev->config[current_config].bNumInterfaces = number; - dev->config[current_config].interface + dev->config[current_config].interface = calloc (number, sizeof (struct usb_interface)); if (parse_num ("Atr=", line, 16, &number)) dev->config[current_config].bmAttributes = number; @@ -1504,24 +1504,24 @@ parse_file (char *filename) if (parse_num ("Alt=", line, 10, &number)) { current_as = number; - dev->config[current_config].interface[current_if].altsetting[current_as].bInterfaceNumber + dev->config[current_config].interface[current_if].altsetting[current_as].bInterfaceNumber = current_if; - dev->config[current_config].interface[current_if].altsetting[current_as].bAlternateSetting + dev->config[current_config].interface[current_if].altsetting[current_as].bAlternateSetting = current_as; } if (parse_num ("#EPs=", line, 10, &number)) - dev->config[current_config].interface[current_if].altsetting[current_as].bNumEndpoints + dev->config[current_config].interface[current_if].altsetting[current_as].bNumEndpoints = number; - dev->config[current_config].interface[current_if].altsetting[current_as].endpoint + dev->config[current_config].interface[current_if].altsetting[current_as].endpoint = calloc (number, sizeof (struct usb_endpoint_descriptor)); if (parse_num ("Cls=", line, 16, &number)) - dev->config[current_config].interface[current_if].altsetting[current_as].bInterfaceClass + dev->config[current_config].interface[current_if].altsetting[current_as].bInterfaceClass = number; if (parse_num ("Sub=", line, 16, &number)) - dev->config[current_config].interface[current_if].altsetting[current_as].bInterfaceSubClass + dev->config[current_config].interface[current_if].altsetting[current_as].bInterfaceSubClass = number; if (parse_num ("Prot=", line, 16, &number)) - dev->config[current_config].interface[current_if].altsetting[current_as].bInterfaceProtocol + dev->config[current_config].interface[current_if].altsetting[current_as].bInterfaceProtocol = number; break; case 'E': @@ -1605,6 +1605,13 @@ main (int argc, char **argv) #endif exit (0); + case '-': + if (!strcmp((*ap), "--help")) + { + usage (0); + exit (0); + } + default: printf ("unknown option: -%c, try -h for help\n", (*ap)[1]); exit (0); @@ -2069,7 +2076,7 @@ main (int argc, char **argv) "more details.\n"); #endif } - if (enable_pp_checks == SANE_TRUE) + if (enable_pp_checks == SANE_TRUE) { if (!check_mustek_pp_device() && verbose > 0) printf ("\n # No Mustek parallel port scanners found. If you expected" diff --git a/tools/style-check.sh b/tools/style-check.sh new file mode 100755 index 0000000..479f7bb --- /dev/null +++ b/tools/style-check.sh @@ -0,0 +1,99 @@ +#!/bin/sh -u +# tools/style-check.sh -- for conformance or --fix to conform +# Copyright (C) 2017 Olaf Meeuwissen +# +# License: GPL-3.0+ + +check_final_newline() { + test x = "x$(tail -c 1 $1)" +} + +insert_final_newline() { + check_final_newline $1 || echo >> $1 +} + +check_trailing_whitespace() { + test -z "$(sed -n '/[ \t]$/{p;q}' $1)" +} + +trim_trailing_whitespace() { + sed -i 's/[ \t]*$//' $1 +} + +check_trailing_blank_lines() { + test -z "$(sed -n '${/^$/s/^/blank/p}' $1)" +} + +trim_trailing_blank_lines() { + sed -i -e :a -e '/^\n*$/{$d;N;};/\n$/ba' $1 +} + +check_leading_blank_lines() { + test -z "$(sed -n '1{/^$/s/^/blank/p;q}' $1)" +} + +trim_leading_blank_lines() { + sed -i '/./,$!d' $1 +} + +check_utf_8_charset() { + err=$(iconv -f utf-8 -t utf-8 < $1 2>&1 > /dev/null) + if test x != "x$err"; then + echo "charset not UTF-8: $1" >&2 + echo "$err" >&2 + return 1 + fi +} + +fix=false +case $1 in + --fix) fix=true; shift;; +esac + +status=0 +for file in "$@"; do + test -d $file && continue # skip directories, just in case + file=$(echo $file | sed 's,^\.\/,,') + case $file in + COPYING) ;; # hands off of the GPL + *.gif) ;; # don't touch image files + *.jpg) ;; + *.png) ;; + *.pnm) ;; + *.patch) ;; # patch output may have trailing lines or whitespace + Makefile.in) ;; # skip automake outputs + */Makefile.in) ;; + aclocal.m4) ;; # skip autoconf outputs + include/sane/config.h.in) ;; + m4/libtool.m4) ;; # courtesy of libtool + m4/lt~obsolete.m4) ;; + ABOUT-NLS) ;; # courtesy of gettext + doc/doxygen-*.conf.in) ;; # don't fix doxygen -g comments + + *) + if `$fix`; then + trim_trailing_whitespace $file + insert_final_newline $file + trim_trailing_blank_lines $file + else + if ! check_trailing_whitespace $file; then + status=1 + echo "trailing whitespace: $file" >&2 + fi + if ! check_final_newline $file; then + status=1 + echo "final newline missing: $file" >&2 + fi + if ! check_trailing_blank_lines $file; then + status=1 + echo "trailing blank lines: $file" >&2 + fi + if ! check_utf_8_charset $file; then + status=1 + fi + fi + ;; + esac +done + +exit $status diff --git a/tools/umax_pp.c b/tools/umax_pp.c index 134320b..7b127e3 100644 --- a/tools/umax_pp.c +++ b/tools/umax_pp.c @@ -35,12 +35,16 @@ main (int argc, char **argv) char *name = NULL; int scan = 0; int lamp = -1; - int i, fd; + int i; int found; int recover = 0; int trace = 0; int maxw, maxh; +#ifdef HAVE_LINUX_PPDEV_H + int fd; +#endif + /* scanning parameters : defaults to preview (75 dpi color, full scan area) */ int gain = 0x0; int offset = 0x646; diff --git a/tools/update-upstreams.sh b/tools/update-upstreams.sh new file mode 100755 index 0000000..3fde735 --- /dev/null +++ b/tools/update-upstreams.sh @@ -0,0 +1,21 @@ +#!/bin/sh -u +# tools/update-upstreams.sh -- files to their latest version +# Copyright (C) 2017, 2019 Olaf Meeuwissen +# +# License: GPL-3.0+ + +fetch () { + if type curl 2>/dev/null >/dev/null ; then + curl --silent --location --remote-name $1 + return + fi + if type wget 2>/dev/null >/dev/null ; then + wget --quiet --output-document $(echo $1 | sed 's,.*/,,') $1 + fi +} + +CONFIG_BASE_URL=https://git.savannah.gnu.org/cgit/config.git/plain + +for file in config.guess config.sub; do + fetch $CONFIG_BASE_URL/$file +done diff --git a/tools/xerox b/tools/xerox index 0b2a7c3..0d04a0c 100755 --- a/tools/xerox +++ b/tools/xerox @@ -35,11 +35,11 @@ else WIDTH=8.27; HEIGHT=11.69 fi -SCANWIDTH=`bc <<_EOF_ +SCANWIDTH=`bc <<_EOF_ scale=3 $WIDTH-$LMARGIN-$RMARGIN _EOF_` -SCANHEIGHT=`bc <<_EOF_ +SCANHEIGHT=`bc <<_EOF_ scale=3 $HEIGHT-$TMARGIN-$BMARGIN _EOF_` -- cgit v1.2.3 From 8afa6fd8c336000aab4f92ebcc6f4bdadceecc2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 31 Jul 2019 17:20:47 +0200 Subject: Refresh patches --- debian/changelog | 3 ++- debian/patches/0600-scanimage_manpage.patch | 2 +- debian/patches/series | 16 ++++++++-------- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/debian/changelog b/debian/changelog index cc2f709..d78c700 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ -sane-backends (1.0.27-4~experimental1) experimental; urgency=medium +sane-backends (1.0.28-1~experimental1) experimental; urgency=medium + * New upstream release. * debian/rules: - Add --exclude=/sane/ to override_dh_makeshlibs-arch to generate only public symbols (Closes: #911597). diff --git a/debian/patches/0600-scanimage_manpage.patch b/debian/patches/0600-scanimage_manpage.patch index dc70271..26cedf4 100644 --- a/debian/patches/0600-scanimage_manpage.patch +++ b/debian/patches/0600-scanimage_manpage.patch @@ -9,7 +9,7 @@ Index: trunk/doc/scanimage.man =================================================================== --- trunk.orig/doc/scanimage.man +++ trunk/doc/scanimage.man -@@ -74,6 +74,9 @@ To print all available options: +@@ -75,6 +75,9 @@ To print all available options: scanimage \-h .SH OPTIONS diff --git a/debian/patches/series b/debian/patches/series index 7dbb3bb..717fd31 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,8 +1,8 @@ #0005-libsane_deps.patch #0010-unneeded_doc.patch #0015-frontend_libs.patch -0020-nousbtest.patch -0025-multiarch_manpages_libdir.patch +##0020-nousbtest.patch +##0025-multiarch_manpages_libdir.patch #0030-ppc64el.patch 0035-trim-libraries-in-sane-backends.pc.in.patch #0100-source_spelling.patch @@ -14,16 +14,16 @@ #0605-man_typo.patch #0700-mk_reproducible_results.patch 0705-kfreebsd.patch -0710-sane-desc.c_debian_mods.patch -0125-multiarch_dll_search_path.patch +##0710-sane-desc.c_debian_mods.patch +##0125-multiarch_dll_search_path.patch #0135-saned-remotescanners.patch #0500-CVE-2017-6318.patch 0140-avahi.patch 0145-avahi.patch -0100-source_spelling.patch -0150-genesys-Fix-use-of-uninitialized-variable.patch +##0100-source_spelling.patch +##0150-genesys-Fix-use-of-uninitialized-variable.patch #0130-usb-timeout.patch 0715-20-sane.hwdb_multi-arch.patch -0720-mustek_usb2-Avoid-stack-smashing.patch +##0720-mustek_usb2-Avoid-stack-smashing.patch 0725-fix_link_60-libsane_rule.patch -0155-genesys_gl847.patch +##0155-genesys_gl847.patch -- cgit v1.2.3 From 29535611d1ac116a34ca8036714f5cc1b94ab354 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 11 Aug 2019 07:05:18 +0200 Subject: New upstream release: Refresh patches; New d/p/0040-remove_git.patch; refresh symbols file --- debian/changelog | 9 +- debian/control | 2 + debian/libsane1.symbols | 180 --------------------- debian/patches/0040-remove_git.patch | 19 +++ debian/patches/0700-mk_reproducible_results.patch | 120 ++++++++------ debian/patches/0710-sane-desc.c_debian_mods.patch | 11 -- debian/patches/0715-20-sane.hwdb_multi-arch.patch | 85 +--------- debian/patches/0725-fix_link_60-libsane_rule.patch | 2 +- debian/patches/series | 3 +- 9 files changed, 105 insertions(+), 326 deletions(-) create mode 100644 debian/patches/0040-remove_git.patch diff --git a/debian/changelog b/debian/changelog index d78c700..f68eb36 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,13 @@ sane-backends (1.0.28-1~experimental1) experimental; urgency=medium * New upstream release. + - New debian/patches/0040-remove_git.patch to remove git access at build time. + - Refresh patches: + + debian/patches/0700-mk_reproducible_results.patch. + + debian/patches/0710-sane-desc.c_debian_mods.patch. + + debian/patches/0715-20-sane.hwdb_multi-arch.patch. + + debian/patches/0725-fix_link_60-libsane_rule.patch. + - Refresh symbols file. * debian/rules: - Add --exclude=/sane/ to override_dh_makeshlibs-arch to generate only public symbols (Closes: #911597). @@ -35,7 +42,7 @@ sane-backends (1.0.28-1~experimental1) experimental; urgency=medium - Change debian/compat to 12. - Bump minimum debhelper version in debian/control to >= 12. * Declare compliance with Debian Policy 4.4.0 (No changes needed). - * New debian/sane-utils.lintian-overrides to override false positve missing + * New debian/sane-utils.lintian-overrides to override false positive missing init.d script. * debian/control: Add Pre-Depends ${misc:Pre-Depends} to install invoke-rc.d. * debian/watch: Rewrite for the new Gitlab directory layout. diff --git a/debian/control b/debian/control index f0ac9b4..46242ce 100644 --- a/debian/control +++ b/debian/control @@ -5,9 +5,11 @@ Maintainer: Jörg Frings-Fürst Standards-Version: 4.4.0 Build-Depends: autoconf, + autoconf-archive, chrpath, debhelper (>= 12), gettext, + git, libavahi-client-dev, libcam-dev [kfreebsd-any], libcups2-dev, diff --git a/debian/libsane1.symbols b/debian/libsane1.symbols index 0604286..19cb8b4 100644 --- a/debian/libsane1.symbols +++ b/debian/libsane1.symbols @@ -1,5 +1,4 @@ libsane.so.1 libsane1 #MINVER# - cmsg@Base 1.0.27 md5_buffer@Base 1.0.27 md5_finish_ctx@Base 1.0.27 md5_init_ctx@Base 1.0.27 @@ -35,19 +34,7 @@ libsane.so.1 libsane1 #MINVER# sane_set_io_mode@Base 1.0.27 sane_start@Base 1.0.27 sane_strstatus@Base 1.0.27 - sanei_ab306_close@Base 1.0.27 - sanei_ab306_cmd@Base 1.0.27 - sanei_ab306_exit@Base 1.0.27 - sanei_ab306_get_io_privilege@Base 1.0.27 - sanei_ab306_open@Base 1.0.27 - sanei_ab306_rdata@Base 1.0.27 - sanei_ab306_test_ready@Base 1.0.27 - sanei_access_init@Base 1.0.27 - sanei_access_lock@Base 1.0.27 - sanei_access_unlock@Base 1.0.27 sanei_check_value@Base 1.0.27 - sanei_codec_bin_init@Base 1.0.27 - sanei_config_attach_matching_devices@Base 1.0.27 sanei_config_get_paths@Base 1.0.27 sanei_config_get_string@Base 1.0.27 sanei_config_open@Base 1.0.27 @@ -57,173 +44,6 @@ libsane.so.1 libsane1 #MINVER# sanei_constrain_value@Base 1.0.27 sanei_debug_dll@Base 1.0.27 sanei_debug_msg@Base 1.0.27 - sanei_debug_sanei_ab306@Base 1.0.27 - sanei_debug_sanei_access@Base 1.0.27 sanei_debug_sanei_config@Base 1.0.27 sanei_debug_sanei_debug@Base 1.0.27 - sanei_debug_sanei_lm983x@Base 1.0.27 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_pa4s2@Base 1.0.27 - sanei_debug_sanei_pio@Base 1.0.27 - sanei_debug_sanei_pp@Base 1.0.27 - sanei_debug_sanei_pv8630@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.27 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_thread@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.27 - sanei_debug_sanei_wire@Base 1.0.27 sanei_init_debug@Base 1.0.27 - sanei_lm983x_init@Base 1.0.27 - sanei_lm983x_read@Base 1.0.27 - sanei_lm983x_reset@Base 1.0.27 - sanei_lm983x_write@Base 1.0.27 - sanei_lm983x_write_byte@Base 1.0.27 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_pa4s2_close@Base 1.0.27 - sanei_pa4s2_devices@Base 1.0.27 - sanei_pa4s2_enable@Base 1.0.27 - sanei_pa4s2_open@Base 1.0.27 - sanei_pa4s2_options@Base 1.0.27 - sanei_pa4s2_readbegin@Base 1.0.27 - sanei_pa4s2_readbyte@Base 1.0.27 - sanei_pa4s2_readend@Base 1.0.27 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.27 - sanei_pa4s2_scsi_pp_open@Base 1.0.27 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.27 - sanei_pa4s2_writebyte@Base 1.0.27 - sanei_pio_close@Base 1.0.27 - sanei_pio_open@Base 1.0.27 - sanei_pio_read@Base 1.0.27 - sanei_pio_write@Base 1.0.27 - sanei_pp_claim@Base 1.0.27 - sanei_pp_close@Base 1.0.27 - sanei_pp_getmodes@Base 1.0.27 - sanei_pp_inb_ctrl@Base 1.0.27 - sanei_pp_inb_data@Base 1.0.27 - sanei_pp_inb_epp@Base 1.0.27 - sanei_pp_inb_stat@Base 1.0.27 - sanei_pp_init@Base 1.0.27 - sanei_pp_open@Base 1.0.27 - sanei_pp_outb_addr@Base 1.0.27 - sanei_pp_outb_ctrl@Base 1.0.27 - sanei_pp_outb_data@Base 1.0.27 - sanei_pp_outb_epp@Base 1.0.27 - sanei_pp_release@Base 1.0.27 - sanei_pp_set_datadir@Base 1.0.27 - sanei_pp_setmode@Base 1.0.27 - sanei_pp_udelay@Base 1.0.27 - sanei_pp_uses_directio@Base 1.0.27 - sanei_pv8630_bulkread@Base 1.0.27 - sanei_pv8630_bulkwrite@Base 1.0.27 - sanei_pv8630_flush_buffer@Base 1.0.27 - sanei_pv8630_init@Base 1.0.27 - sanei_pv8630_prep_bulkread@Base 1.0.27 - sanei_pv8630_prep_bulkwrite@Base 1.0.27 - sanei_pv8630_read_byte@Base 1.0.27 - sanei_pv8630_wait_byte@Base 1.0.27 - sanei_pv8630_write_byte@Base 1.0.27 - sanei_pv8630_xpect_byte@Base 1.0.27 - sanei_scsi_close@Base 1.0.27 - sanei_scsi_cmd2@Base 1.0.27 - sanei_scsi_cmd@Base 1.0.27 - sanei_scsi_find_devices@Base 1.0.27 - sanei_scsi_max_request_size@Base 1.0.27 - sanei_scsi_open@Base 1.0.27 - sanei_scsi_open_extended@Base 1.0.27 - sanei_scsi_req_enter2@Base 1.0.27 - sanei_scsi_req_enter@Base 1.0.27 - sanei_scsi_req_flush_all@Base 1.0.27 - sanei_scsi_req_flush_all_extended@Base 1.0.27 - sanei_scsi_req_wait@Base 1.0.27 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_thread_begin@Base 1.0.27 - sanei_thread_get_status@Base 1.0.27 - sanei_thread_init@Base 1.0.27 - sanei_thread_is_forked@Base 1.0.27 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.27 - sanei_thread_sendsig@Base 1.0.27 - sanei_thread_waitpid@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.27 - sanei_usb_claim_interface@Base 1.0.27 - sanei_usb_clear_halt@Base 1.0.27 - sanei_usb_close@Base 1.0.27 - sanei_usb_control_msg@Base 1.0.27 - sanei_usb_exit@Base 1.0.27 - sanei_usb_find_devices@Base 1.0.27 - sanei_usb_get_descriptor@Base 1.0.27 - sanei_usb_get_endpoint@Base 1.0.27 - sanei_usb_get_vendor_product@Base 1.0.27 - sanei_usb_get_vendor_product_byname@Base 1.0.27 - sanei_usb_init@Base 1.0.27 - sanei_usb_open@Base 1.0.27 - sanei_usb_read_bulk@Base 1.0.27 - sanei_usb_read_int@Base 1.0.27 - sanei_usb_release_interface@Base 1.0.27 - sanei_usb_reset@Base 1.0.27 - sanei_usb_scan_devices@Base 1.0.27 - sanei_usb_set_altinterface@Base 1.0.27 - sanei_usb_set_configuration@Base 1.0.27 - sanei_usb_set_endpoint@Base 1.0.27 - sanei_usb_set_timeout@Base 1.0.27 - sanei_usb_write_bulk@Base 1.0.27 - sanei_w_action@Base 1.0.27 - sanei_w_array@Base 1.0.27 - sanei_w_authorization_req@Base 1.0.27 - sanei_w_bool@Base 1.0.27 - sanei_w_byte@Base 1.0.27 - sanei_w_call@Base 1.0.27 - sanei_w_char@Base 1.0.27 - sanei_w_constraint_type@Base 1.0.27 - sanei_w_control_option_reply@Base 1.0.27 - sanei_w_control_option_req@Base 1.0.27 - sanei_w_device@Base 1.0.27 - sanei_w_device_ptr@Base 1.0.27 - sanei_w_exit@Base 1.0.27 - sanei_w_frame@Base 1.0.27 - sanei_w_free@Base 1.0.27 - sanei_w_get_devices_reply@Base 1.0.27 - sanei_w_get_parameters_reply@Base 1.0.27 - sanei_w_init@Base 1.0.27 - sanei_w_init_reply@Base 1.0.27 - sanei_w_init_req@Base 1.0.27 - sanei_w_open_reply@Base 1.0.27 - sanei_w_option_descriptor@Base 1.0.27 - sanei_w_option_descriptor_array@Base 1.0.27 - sanei_w_option_descriptor_ptr@Base 1.0.27 - sanei_w_parameters@Base 1.0.27 - sanei_w_ptr@Base 1.0.27 - sanei_w_range@Base 1.0.27 - sanei_w_reply@Base 1.0.27 - sanei_w_set_dir@Base 1.0.27 - sanei_w_space@Base 1.0.27 - sanei_w_start_reply@Base 1.0.27 - sanei_w_status@Base 1.0.27 - sanei_w_string@Base 1.0.27 - sanei_w_unit@Base 1.0.27 - sanei_w_value_type@Base 1.0.27 - sanei_w_void@Base 1.0.27 - sanei_w_word@Base 1.0.27 diff --git a/debian/patches/0040-remove_git.patch b/debian/patches/0040-remove_git.patch new file mode 100644 index 0000000..b45e898 --- /dev/null +++ b/debian/patches/0040-remove_git.patch @@ -0,0 +1,19 @@ +Description: Remove git from buildsystem +Author: Jörg Frings-Fürst +Forwarded: not-needed +Last-Update: 2019-08-11 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/configure.ac +=================================================================== +--- trunk.orig/configure.ac ++++ trunk/configure.ac +@@ -5,7 +5,7 @@ dnl Set up autoconf and automake + dnl When preparing a release, modify the numeric version components + dnl and remove the git suffix. + dnl ****************************************************************** +-AC_INIT([sane-backends],m4_esyscmd_s([git describe --dirty]), ++AC_INIT([sane-backends],[1.0.28-debian], + [sane-devel@alioth-lists.debian.net]) + AC_PREREQ([2.69]) dnl minimum autoconf version required + AC_CONFIG_MACRO_DIR([m4]) diff --git a/debian/patches/0700-mk_reproducible_results.patch b/debian/patches/0700-mk_reproducible_results.patch index defc409..044e60f 100644 --- a/debian/patches/0700-mk_reproducible_results.patch +++ b/debian/patches/0700-mk_reproducible_results.patch @@ -1,6 +1,6 @@ Description: Make build reproducible. Author: Jörg Frings-Fürst -Last-Update: 2015-05-21 +Last-Update: 2019-08-11 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ Index: trunk/tools/sane-desc.c @@ -9,7 +9,7 @@ Index: trunk/tools/sane-desc.c +++ trunk/tools/sane-desc.c @@ -2816,8 +2816,10 @@ html_print_footer (void) "
    \n" - "Contact\n" "
    \n" "\n"); - printf ("This page was last updated on %s by sane-desc %s from %s\n", - asctime (localtime (¤t_time)), SANE_DESC_VERSION, PACKAGE_STRING); @@ -20,6 +20,17 @@ Index: trunk/tools/sane-desc.c printf ("\n"); printf (" \n"); } +@@ -3463,8 +3465,8 @@ print_udev_header (void) + { + time_t current_time = time (0); + printf ("# This file was automatically created based on description files (*.desc)\n" +- "# by sane-desc %s from %s on %s", +- SANE_DESC_VERSION, PACKAGE_STRING, asctime (localtime (¤t_time))); ++ "# by sane-desc %s from %s\n", ++ SANE_DESC_VERSION, PACKAGE_STRING); + + printf + ("#\n" @@ -3656,8 +3658,8 @@ print_udevhwdb_header (void) { time_t current_time = time (0); @@ -31,50 +42,6 @@ Index: trunk/tools/sane-desc.c printf ("#\n" -Index: trunk/Makefile.in -=================================================================== ---- trunk.orig/Makefile.in -+++ trunk/Makefile.in -@@ -254,7 +254,7 @@ DLLTOOL = @DLLTOOL@ - DL_LIBS = @DL_LIBS@ - DSYMUTIL = @DSYMUTIL@ - DUMPBIN = @DUMPBIN@ --DVIPS = @DVIPS@ -+DVIPS = @DVIPS@ -N - DYNAMIC_FLAG = @DYNAMIC_FLAG@ - ECHO_C = @ECHO_C@ - ECHO_N = @ECHO_N@ -@@ -276,7 +276,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - JPEG_LIBS = @JPEG_LIBS@ --LATEX = @LATEX@ -+LATEX = @LATEX@ --output-comment="" - LD = @LD@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ -Index: trunk/doc/Makefile.in -=================================================================== ---- trunk.orig/doc/Makefile.in -+++ trunk/doc/Makefile.in -@@ -190,7 +190,7 @@ DLLTOOL = @DLLTOOL@ - DL_LIBS = @DL_LIBS@ - DSYMUTIL = @DSYMUTIL@ - DUMPBIN = @DUMPBIN@ --DVIPS = @DVIPS@ -+DVIPS = @DVIPS@ -N - DYNAMIC_FLAG = @DYNAMIC_FLAG@ - ECHO_C = @ECHO_C@ - ECHO_N = @ECHO_N@ -@@ -212,7 +212,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - JPEG_LIBS = @JPEG_LIBS@ --LATEX = TEXINPUTS="$(srcdir):$$TEXINPUTS" @LATEX@ -+LATEX = TEXINPUTS="$(srcdir):$$TEXINPUTS" @LATEX@ --output-comment="" - LD = @LD@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ Index: trunk/testsuite/tools/data/html-backends-split.ref =================================================================== --- trunk.orig/testsuite/tools/data/html-backends-split.ref @@ -85,7 +52,7 @@ Index: trunk/testsuite/tools/data/html-backends-split.ref -This page was last updated on Wed Jul 31 07:52:48 2013 - by sane-desc 3.5 from sane-backends 1.0.24git -+This page was last updated by sane-desc 3.5 from sane-backends 1.0.25 ++This page was last updated by sane-desc 3.5 from sane-backends 1.0.28-debian Index: trunk/testsuite/tools/data/html-mfgs.ref @@ -98,7 +65,7 @@ Index: trunk/testsuite/tools/data/html-mfgs.ref -This page was last updated on Wed Jul 31 07:52:48 2013 - by sane-desc 3.5 from sane-backends 1.0.24git -+This page was last updated by sane-desc 3.5 from sane-backends 1.0.25 ++This page was last updated by sane-desc 3.5 from sane-backends 1.0.28-debian Index: trunk/testsuite/tools/data/udev.ref @@ -108,7 +75,7 @@ Index: trunk/testsuite/tools/data/udev.ref @@ -1,5 +1,5 @@ # This file was automatically created based on description files (*.desc) -# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:48 2013 -+# by sane-desc 3.5 from sane-backends 1.0.25 ++# by sane-desc 3.5 from sane-backends 1.0.28-debian # # udev rules file for supported USB and SCSI devices # @@ -119,7 +86,7 @@ Index: trunk/testsuite/tools/data/udev+acl.ref @@ -1,5 +1,5 @@ # This file was automatically created based on description files (*.desc) -# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:49 2013 -+# by sane-desc 3.5 from sane-backends 1.0.25 ++# by sane-desc 3.5 from sane-backends 1.0.28-debian # # udev rules file for supported USB and SCSI devices # @@ -130,7 +97,58 @@ Index: trunk/testsuite/tools/data/udev+hwdb.ref @@ -1,5 +1,5 @@ # This file was automatically created based on description files (*.desc) -# by sane-desc 3.5 from sane-backends 1.0.24git on Thu Aug 1 18:50:15 2013 -+# by sane-desc 3.5 from sane-backends 1.0.25 ++# by sane-desc 3.5 from sane-backends 1.0.28-debian # # udev rules file for supported USB and SCSI devices # +Index: trunk/doc/Makefile.am +=================================================================== +--- trunk.orig/doc/Makefile.am ++++ trunk/doc/Makefile.am +@@ -278,11 +278,11 @@ sane.ind: $(API_SPEC_INPUTS) + + sane.dvi: $(API_SPEC_INPUTS) $(API_SPEC_EPS_FIGS) sane.ind + @echo Generating $@ from $<... +- @$(am_TEXINPUTS) $(LATEX) $< /dev/null ++ @$(am_TEXINPUTS) $(LATEX) --output-comment="" $< /dev/null + + sane.ps: sane.dvi + @echo Generating $@ from $<... +- @$(am_TEXINPUTS) $(DVIPS) -q $< -o $@ ++ @$(am_TEXINPUTS) $(DVIPS) -q -N $< -o $@ + + .fig.pdf: + @test -d $(@D) || $(MKDIR_P) $(@D) +Index: trunk/testsuite/tools/data/db.ref +=================================================================== +--- trunk.orig/testsuite/tools/data/db.ref ++++ trunk/testsuite/tools/data/db.ref +@@ -1,5 +1,5 @@ + # This file was automatically created based on description files (*.desc) +-# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:48 2013 ++# by sane-desc 3.5 from sane-backends 1.0.28-debian + # + # The entries below are used to detect a USB device when it's plugged in + # and then run a script to change the ownership and +Index: trunk/testsuite/tools/data/hwdb.ref +=================================================================== +--- trunk.orig/testsuite/tools/data/hwdb.ref ++++ trunk/testsuite/tools/data/hwdb.ref +@@ -1,5 +1,5 @@ + # This file was automatically created based on description files (*.desc) +-# by sane-desc 3.5 from sane-backends 1.0.25git on Tue Dec 3 15:24:46 2013 ++# by sane-desc 3.5 from sane-backends 1.0.28-debian + # + # hwdb file for supported USB devices + # +Index: trunk/testsuite/tools/data/usermap.ref +=================================================================== +--- trunk.orig/testsuite/tools/data/usermap.ref ++++ trunk/testsuite/tools/data/usermap.ref +@@ -1,5 +1,5 @@ + # This file was automatically created based on description files (*.desc) +-# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:48 2013 ++# by sane-desc 3.5 from sane-backends 1.0.28-debian + # + # The entries below are used to detect a USB device and change owner + # and permissions on the "device node" used by libusb. diff --git a/debian/patches/0710-sane-desc.c_debian_mods.patch b/debian/patches/0710-sane-desc.c_debian_mods.patch index 0207bbe..5dc9fdd 100644 --- a/debian/patches/0710-sane-desc.c_debian_mods.patch +++ b/debian/patches/0710-sane-desc.c_debian_mods.patch @@ -42,17 +42,6 @@ Index: trunk/tools/sane-desc.c else printf ("?\n"); -@@ -2785,8 +2785,8 @@ html_print_header (void) - printf - ("\n" - "\n" -- "
    \n" -- "\"SANE\"\n"); -+ "
    \n"); -+ /* "\"SANE\"\n"); */ - printf ("

    %s

    \n", title); - printf ("
    \n" "
    \n"); - printf ("%s\n", intro); @@ -3463,8 +3463,8 @@ print_udev_header (void) { time_t current_time = time (0); diff --git a/debian/patches/0715-20-sane.hwdb_multi-arch.patch b/debian/patches/0715-20-sane.hwdb_multi-arch.patch index 350c911..e590649 100644 --- a/debian/patches/0715-20-sane.hwdb_multi-arch.patch +++ b/debian/patches/0715-20-sane.hwdb_multi-arch.patch @@ -2,14 +2,14 @@ Description: Make 20-sane.hwdb Multi-Arch ready Author: Jörg Frings-Fürst Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=880391 Forwarded: not-needed -Last-Update: 2018-04-02 +Last-Update: 2018-08-11 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ Index: trunk/tools/sane-desc.c =================================================================== --- trunk.orig/tools/sane-desc.c +++ trunk/tools/sane-desc.c -@@ -3326,10 +3326,10 @@ print_usermap_header (void) +@@ -3328,10 +3328,10 @@ print_usermap_header (void) printf ("# This file was automatically created based on description files (*.desc)\n" @@ -22,7 +22,7 @@ Index: trunk/tools/sane-desc.c printf ("# The entries below are used to detect a USB device and change owner\n" -@@ -3398,8 +3398,8 @@ print_db_header (void) +@@ -3400,8 +3400,8 @@ print_db_header (void) { time_t current_time = time (0); printf ("# This file was automatically created based on description files (*.desc)\n" @@ -33,7 +33,7 @@ Index: trunk/tools/sane-desc.c printf ("#\n" "# The entries below are used to detect a USB device when it's plugged in\n" -@@ -3656,8 +3656,8 @@ print_udevhwdb_header (void) +@@ -3768,8 +3768,8 @@ print_hwdb_header (void) { time_t current_time = time (0); printf ("# This file was automatically created based on description files (*.desc)\n" @@ -44,80 +44,3 @@ Index: trunk/tools/sane-desc.c printf ("#\n" -@@ -3766,8 +3766,8 @@ print_hwdb_header (void) - { - time_t current_time = time (0); - printf ("# This file was automatically created based on description files (*.desc)\n" -- "# by sane-desc %s from %s on %s", -- SANE_DESC_VERSION, PACKAGE_STRING, asctime (localtime (¤t_time))); -+ "# by sane-desc %s from %s\n", -+ SANE_DESC_VERSION, PACKAGE_STRING); - - printf - ("#\n" -Index: trunk/testsuite/tools/data/db.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/db.ref -+++ trunk/testsuite/tools/data/db.ref -@@ -1,5 +1,5 @@ - # This file was automatically created based on description files (*.desc) --# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:48 2013 -+# by sane-desc 3.5 from sane-backends 1.0.24git - # - # The entries below are used to detect a USB device when it's plugged in - # and then run a script to change the ownership and -Index: trunk/testsuite/tools/data/hwdb.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/hwdb.ref -+++ trunk/testsuite/tools/data/hwdb.ref -@@ -1,5 +1,5 @@ - # This file was automatically created based on description files (*.desc) --# by sane-desc 3.5 from sane-backends 1.0.25git on Tue Dec 3 15:24:46 2013 -+# by sane-desc 3.5 from sane-backends 1.0.25git - # - # hwdb file for supported USB devices - # -Index: trunk/testsuite/tools/data/udev+acl.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/udev+acl.ref -+++ trunk/testsuite/tools/data/udev+acl.ref -@@ -1,5 +1,5 @@ - # This file was automatically created based on description files (*.desc) --# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:49 2013 -+# by sane-desc 3.5 from sane-backends 1.0.24git - # - # udev rules file for supported USB and SCSI devices - # -Index: trunk/testsuite/tools/data/udev+hwdb.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/udev+hwdb.ref -+++ trunk/testsuite/tools/data/udev+hwdb.ref -@@ -1,5 +1,5 @@ - # This file was automatically created based on description files (*.desc) --# by sane-desc 3.5 from sane-backends 1.0.24git on Thu Aug 1 18:50:15 2013 -+# by sane-desc 3.5 from sane-backends 1.0.24git - # - # udev rules file for supported USB and SCSI devices - # -Index: trunk/testsuite/tools/data/udev.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/udev.ref -+++ trunk/testsuite/tools/data/udev.ref -@@ -1,5 +1,5 @@ - # This file was automatically created based on description files (*.desc) --# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:48 2013 -+# by sane-desc 3.5 from sane-backends 1.0.24git - # - # udev rules file for supported USB and SCSI devices - # -Index: trunk/testsuite/tools/data/usermap.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/usermap.ref -+++ trunk/testsuite/tools/data/usermap.ref -@@ -1,5 +1,5 @@ - # This file was automatically created based on description files (*.desc) --# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:48 2013 -+# by sane-desc 3.5 from sane-backends 1.0.24git - # - # The entries below are used to detect a USB device and change owner - # and permissions on the "device node" used by libusb. diff --git a/debian/patches/0725-fix_link_60-libsane_rule.patch b/debian/patches/0725-fix_link_60-libsane_rule.patch index dc99d2c..018e796 100644 --- a/debian/patches/0725-fix_link_60-libsane_rule.patch +++ b/debian/patches/0725-fix_link_60-libsane_rule.patch @@ -9,7 +9,7 @@ Index: trunk/tools/sane-desc.c =================================================================== --- trunk.orig/tools/sane-desc.c +++ trunk/tools/sane-desc.c -@@ -3663,7 +3663,7 @@ print_udevhwdb_header (void) +@@ -3665,7 +3665,7 @@ print_udevhwdb_header (void) ("#\n" "# udev rules file for supported USB and SCSI devices\n" "#\n" diff --git a/debian/patches/series b/debian/patches/series index 717fd31..cb9993e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -4,6 +4,7 @@ ##0020-nousbtest.patch ##0025-multiarch_manpages_libdir.patch #0030-ppc64el.patch +0040-remove_git.patch 0035-trim-libraries-in-sane-backends.pc.in.patch #0100-source_spelling.patch #0105-hp3900.patch @@ -12,7 +13,7 @@ #0120-typo.patch 0600-scanimage_manpage.patch #0605-man_typo.patch -#0700-mk_reproducible_results.patch +0700-mk_reproducible_results.patch 0705-kfreebsd.patch ##0710-sane-desc.c_debian_mods.patch ##0125-multiarch_dll_search_path.patch -- cgit v1.2.3 From fdb2de52ca0c27bfc7e5f25c164ded5322e9295f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 11 Aug 2019 08:02:45 +0200 Subject: d/copyright: Refresh --- debian/changelog | 1 + debian/copyright | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 64 insertions(+), 5 deletions(-) diff --git a/debian/changelog b/debian/changelog index f68eb36..b9bac36 100644 --- a/debian/changelog +++ b/debian/changelog @@ -29,6 +29,7 @@ sane-backends (1.0.28-1~experimental1) experimental; urgency=medium * debian/copyright: - Add year 2019 for debian/*. - Add missing Uploaders to debian/*. + - Refresh for the new upstream release. * Fix the lintian warning "libsane: package-name-doesnt-match-sonames libsane1": - debian/control: rename package libsane to libsane1. diff --git a/debian/copyright b/debian/copyright index 9e4c2dc..02a4702 100644 --- a/debian/copyright +++ b/debian/copyright @@ -207,6 +207,14 @@ Files: backend/genesys_gl124.* Copyright: 2010-2016 Stéphane Voltz License: GPL-2+ with sane exception +Files: backend/genesys_error.cc + backend/genesys_serialize.h + backend/genesys_error.h + backend/genesys_sanei.cc + backend/genesys_sanei.h +Copyright: 2019 Povilas Kanapickas +License: GPL-2+ with sane exception + Files: backend/genesys_gl646.c Copyright: 2003 Oliver Rauch 2003-2004 Henning Meier-Geinitz @@ -474,7 +482,7 @@ Files: backend/pixma.* backend/pixma_mp810.c Copyright: 2007-2008 Nicolas Martin, 2006-2007 Wittawat Yamwong - 2011-2016 Rolf Bensch + 2011-2019 Rolf Bensch License: GPL-2+ with sane exception Files: backend/pixma_bjnp*.* @@ -556,6 +564,11 @@ Copyright: 1996-1997 Andreas Beck 2008 Stéphane Voltz License: GPL-2+ with sane exception +Files: backend/ricoh2.c + backend/ricoh2_buffer.c +Copyright: 2018 Stanislav Yuzvinsky +License: GPL-2+ with sane exception + Files: backend/ricoh*.* Copyright: 1998 F.W. Dillema License: GPL-2+ with sane exception @@ -740,7 +753,7 @@ License: GPL-2+ with sane exception Files: backend/xerox_mfp-tcp.c Copyright: 2010 Alexander Kuznetsov -License: GPL-2+ with sane exception +License: Files: backend/xerox_mfp-usb.c backend/xerox_mfp.* @@ -762,8 +775,18 @@ Copyright: 2010-2011 Reinhold Kainhofer License: GPL-2+ Files: doc/descriptions-external/utsushi.desc -Copyright: 2004-2015 Olaf Meeuwissen -License: GPL-2+ +Copyright: 2004-2019 Olaf Meeuwissen +License: GPL-3+ + +Files: po/Makevars +Copyright: 2016-2019 Olaf Meeuwissen and the SANE developers +License: GPL-2+ with sane exception + +Files: po/he.po + po/ca@valencia.po + po/ca.po +Copyright: 2018 The SANE developers +License: GPL-2+ with sane exception Files: po/fr.po Copyright: 2002 Frank Zago @@ -899,6 +922,24 @@ Copyright: 2001-2005 Henning Meier-Geinitz 2011 Reinhold Kainhofer License: GPL-2+ with sane exception +Files: testsuite/backend/genesys/Makefile.am +Copyright: 2019 Sane Developers +License: GPL-2+ with sane exception + +Files: testsuite/backend/genesys/minigtest.cc + testsuite/backend/genesys/minigtest.h + testsuite/backend/genesys/tests.cc + testsuite/backend/genesys/tests.h + testsuite/backend/genesys/tests_calibration.cc +Copyright: 2019 Povilas Kanapickas +License: GPL-2+ with sane exception + +Files: tools/create-release.sh + tools/create-changelog.sh + tools/update-upstreams.sh +Copyright: 2017-2019 Olaf Meeuwissen +License: GPL-3+ + Files: tools/RenSaneDlls.cmd Copyright: 2004-2005 Franz Bakan License: GPL-2+ @@ -927,7 +968,7 @@ License: GPL-2+ Files: tools/sane-find-scanner.c Copyright: 1997-2013 Oliver Rauch - 1997-2013 Henning Meier-Geinitz + 1997-2013 Henning Meier-Geinitz License: GPL-2+ License: Artistic @@ -1101,6 +1142,23 @@ License: GPL-2 License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. +License: GPL-3+ + 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 3 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 + . + On Debian systems, the complete text of the GNU General + Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". + License: LGPL-2.1+ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public -- cgit v1.2.3 From d1009d916fda49353425e5cc73d8db2f5eecd532 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 11 Aug 2019 10:31:21 +0200 Subject: Refresh d/p/0100-source_spelling.patch; Refresh lintian overrides --- debian/changelog | 5 +- debian/copyright | 58 +---------- debian/libsane-common.lintian-overrides | 10 ++ debian/libsane1.lintian-overrides | 6 +- debian/patches/0100-source_spelling.patch | 164 +++++------------------------- debian/patches/series | 2 +- 6 files changed, 46 insertions(+), 199 deletions(-) diff --git a/debian/changelog b/debian/changelog index b9bac36..e9a919c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,13 +1,16 @@ sane-backends (1.0.28-1~experimental1) experimental; urgency=medium * New upstream release. - - New debian/patches/0040-remove_git.patch to remove git access at build time. + - New debian/patches/0040-remove_git.patch to remove git access at + build time. - Refresh patches: + debian/patches/0700-mk_reproducible_results.patch. + debian/patches/0710-sane-desc.c_debian_mods.patch. + debian/patches/0715-20-sane.hwdb_multi-arch.patch. + debian/patches/0725-fix_link_60-libsane_rule.patch. + + debian/patches/0100-source_spelling.patch. - Refresh symbols file. + - Refresh lintian overrides. * debian/rules: - Add --exclude=/sane/ to override_dh_makeshlibs-arch to generate only public symbols (Closes: #911597). diff --git a/debian/copyright b/debian/copyright index 02a4702..9ce5455 100644 --- a/debian/copyright +++ b/debian/copyright @@ -156,17 +156,6 @@ Copyright: 2000 Randolph Bentson 2003-2016 m. allan noah License: GPL-2+ with sane exception -Files: backend/genesys.c -Copyright: 2003-2004 Henning Meier-Geinitz - 2004-2005 Gerhard Jaeger - 2004-2013 Stéphane Voltz - 2005-2009 Pierre Willenbrock - 2006 Laurent Charpentier - 2007 Luke - 2010 Chris Berry - 2010 Michael Rickmann -License: GPL-2+ with sane exception - Files: backend/genesys.h Copyright: 2003-2004 Henning Meier-Geinitz 2004-2005 Gerhard Jaeger @@ -174,34 +163,11 @@ Copyright: 2003-2004 Henning Meier-Geinitz 2005-2009 Pierre Willenbrock License: GPL-2+ with sane exception -Files: backend/genesys_conv.c -Copyright: 2010-2013 Stéphane Voltz - 2005-2006 Pierre Willenbrock -License: GPL-2+ with sane exception - -Files: backend/genesys_conv_hlp.c -Copyright: 2005 Pierre Willenbrock -License: GPL-2+ with sane exception - -Files: backend/genesys_devices.c -Copyright: 2003 Oliver Rauch - 2003-2004 Henning Meier-Geinitz - 2004-2005 Gerhard Jaeger - 2004-2013 Stéphane Voltz - 2005-2009 Pierre Willenbrock - 2007 Luke - 2010 Jack McGill - 2010 Andrey Loginov , - 2010 Chris Berry - 2010 Michael Rickmann -License: GPL-2+ with sane exception - Files: backend/genesys_gl124.* backend/genesys_gl841.h backend/genesys_gl843.* backend/genesys_gl846.* backend/genesys_gl847.* - backend/genesys_low.c backend/rts88*.* backend/umax_pp*.* Copyright: 2010-2016 Stéphane Voltz @@ -215,16 +181,6 @@ Files: backend/genesys_error.cc Copyright: 2019 Povilas Kanapickas License: GPL-2+ with sane exception -Files: backend/genesys_gl646.c -Copyright: 2003 Oliver Rauch - 2003-2004 Henning Meier-Geinitz - 2004 Gerhard Jaeger - 2004-2013 Stéphane Voltz - 2005-2009 Pierre Willenbrock - 2007 Luke - 2011 Alexey Osipov -License: GPL-2+ with sane exception - Files: backend/genesys_gl646.h Copyright: 2003-2004 Henning Meier-Geinitz 2004 Gerhard Jaeger @@ -232,18 +188,6 @@ Copyright: 2003-2004 Henning Meier-Geinitz 2005-2009 Pierre Willenbrock License: GPL-2+ with sane exception -Files: backend/genesys_gl841.c -Copyright: 2003 Oliver Rauch - 2003-2004 Henning Meier-Geinitz - 2004 Gerhard Jaeger - 2004-2013 Stéphane Voltz - 2005 Philipp Schmid - 2005-2009 Pierre Willenbrock - 2006 Laurent Charpentier - 2010 Chris Berry - 2010 Michael Rickmann -License: GPL-2+ with sane exception - Files: backend/genesys_low.h Copyright: 2003 Oliver Rauch 2003-2004 Henning Meier-Geinitz @@ -753,7 +697,7 @@ License: GPL-2+ with sane exception Files: backend/xerox_mfp-tcp.c Copyright: 2010 Alexander Kuznetsov -License: +License: GPL-2+ with sane exception Files: backend/xerox_mfp-usb.c backend/xerox_mfp.* diff --git a/debian/libsane-common.lintian-overrides b/debian/libsane-common.lintian-overrides index 1386138..0a1a9f4 100644 --- a/debian/libsane-common.lintian-overrides +++ b/debian/libsane-common.lintian-overrides @@ -4,3 +4,13 @@ libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-gt68xx.5.gz afe safe libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-gt68xx.5.gz afe safe libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-gt68xx.5.gz afe safe + +# +# See bug #934452 +# +libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-canon_dr.5.gz busses buses +libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-canon_dr.5.gz busses buses +libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-cardscan.5.gz busses buses +libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-fujitsu.5.gz busses buses +libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-fujitsu.5.gz busses buses +libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-kodak.5.gz busses buses diff --git a/debian/libsane1.lintian-overrides b/debian/libsane1.lintian-overrides index 125b615..5805464 100644 --- a/debian/libsane1.lintian-overrides +++ b/debian/libsane1.lintian-overrides @@ -1,6 +1,6 @@ # # doc/gt68xx/gt68xx.CHANGES:442:- Added "afe" option for gt68xx.conf for selecting default afe values. # -libsane1: spelling-error-in-binary usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1.0.27 afe safe -libsane1: spelling-error-in-binary usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1.0.27 afe safe -libsane1: spelling-error-in-binary usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1.0.27 afe safe +libsane1: spelling-error-in-binary usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1.0.28 afe safe +libsane1: spelling-error-in-binary usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1.0.28 afe safe +libsane1: spelling-error-in-binary usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1.0.28 afe safe diff --git a/debian/patches/0100-source_spelling.patch b/debian/patches/0100-source_spelling.patch index 7e638f2..cc8e6b6 100644 --- a/debian/patches/0100-source_spelling.patch +++ b/debian/patches/0100-source_spelling.patch @@ -3,94 +3,6 @@ Author: Jörg Frings-Fürst Last-Update: 2019-04-28 ---- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/backend/pixma_bjnp.c -=================================================================== ---- trunk.orig/backend/pixma_bjnp.c -+++ trunk/backend/pixma_bjnp.c -@@ -1829,7 +1829,7 @@ static void add_scanner(SANE_Int *dev_no - - attach_bjnp (uri, makemodel, - serial, pixma_devices); -- PDBG (bjnp_dbg (LOG_NOTICE, "add_scanner: New scanner added: %s, serial %s, mac addres: %s.\n", -+ PDBG (bjnp_dbg (LOG_NOTICE, "add_scanner: New scanner added: %s, serial %s, mac address: %s.\n", - uri, serial, device[*dev_no].mac_address)); - } - break; -Index: trunk/doc/sane-pixma.man -=================================================================== ---- trunk.orig/doc/sane-pixma.man -+++ trunk/doc/sane-pixma.man -@@ -232,7 +232,7 @@ interfaces (i.e. it does not support the - to add your scanner here as well. - .RS - .PP --.I Scanners shall be listed in the configuraton file as follows: -+.I Scanners shall be listed in the configuration file as follows: - .PP - .RS - .I ://[:port][/timeout=] -@@ -253,7 +253,7 @@ bjnp-timeout parameter. The value is in - .PP - Define scanners each on a new line. - .PP --More globally applicable tinmeouts can be set using the bjnp-timeout parameter as folllows: -+More globally applicable tinmeouts can be set using the bjnp-timeout parameter as follows: - .PP - .RS - .I bjnp-timeout= -@@ -263,7 +263,7 @@ A timeout defined using bjnp-timeout wil - in the file. If required the bjnp-timeout setting - can be defined multiple times, where each settng will apply only to the scanners that - follow the setting. The last setting is used for the auto discovered scanners. --If not explicitely set, the default 1000ms setting will apply. -+If not explicitly set, the default 1000ms setting will apply. - .PP - Setting timeouts should only be required in exceptional cases. - .PP -@@ -288,7 +288,7 @@ common subnet for scanning. - .PP - Scanner detection is slightly more complicated. The pixma backend sends - a broadcast on all direct connected subnets it can find (provided your OS --allows for enumeration of all netowrk interfaces). The broadcast is sent FROM -+allows for enumeration of all network interfaces). The broadcast is sent FROM - port 8612 TO port 8610 or 8612 on the broadcast address of each interface. - The outgoing packets will be allowed by the rule described above. - .PP -Index: trunk/doc/sane-canon_dr.man -=================================================================== ---- trunk.orig/doc/sane-canon_dr.man -+++ trunk/doc/sane-canon_dr.man -@@ -105,7 +105,7 @@ Scanners can be specified in the configu - .PP - "scsi CANON DR" - .RS --Requests backend to search all scsi busses in the system for a device -+Requests backend to search all scsi buses in the system for a device - which reports itself to be a scanner made by 'CANON', with a model name - starting with 'DR'. - .RE -@@ -119,7 +119,7 @@ specify one. Probably should not be used - .PP - "usb 0x04a9 0x1603" (or other vendor/product ids) - .RS --Requests backend to search all usb busses in the system for a device -+Requests backend to search all usb buses in the system for a device - which uses that vendor and product id. The device will then be queried - to determine if it is a Canon scanner. - .RE -Index: trunk/doc/sane-cardscan.man -=================================================================== ---- trunk.orig/doc/sane-cardscan.man -+++ trunk/doc/sane-cardscan.man -@@ -37,7 +37,7 @@ Scanners can be specified in the configu - .PP - "usb 0x04c5 0x1042" (or other vendor/product ids) - .RS --Requests backend to search all usb busses in the system for a device -+Requests backend to search all usb buses in the system for a device - which uses that vendor and product id. The device will then be queried - to determine if it is a cardscan scanner. - .RE Index: trunk/doc/sane-epjitsu.man =================================================================== --- trunk.orig/doc/sane-epjitsu.man @@ -104,54 +16,6 @@ Index: trunk/doc/sane-epjitsu.man .RE .PP "usb /dev/usb/scanner0" (or other device file) -Index: trunk/doc/sane-fujitsu.man -=================================================================== ---- trunk.orig/doc/sane-fujitsu.man -+++ trunk/doc/sane-fujitsu.man -@@ -109,7 +109,7 @@ Scanners can be specified in the configu - .PP - "scsi FUJITSU" - .RS --Requests backend to search all scsi busses in the system for a device -+Requests backend to search all scsi buses in the system for a device - which reports itself to be a scanner made by 'FUJITSU'. - .RE - .PP -@@ -122,7 +122,7 @@ specify one. Probably should not be used - .PP - "usb 0x04c5 0x1042" (or other vendor/product ids) - .RS --Requests backend to search all usb busses in the system for a device -+Requests backend to search all usb buses in the system for a device - which uses that vendor and product id. The device will then be queried - to determine if it is a Fujitsu scanner. - .RE -Index: trunk/doc/saned.man -=================================================================== ---- trunk.orig/doc/saned.man -+++ trunk/doc/saned.man -@@ -220,7 +220,7 @@ to the systemd journal. The systemd supp - requires compilation with the systemd-devel package - installed on the system. this is the preferred option. - --Saned can be used wih systemd without the systemd integration -+Saned can be used with systemd without the systemd integration - compiled in, but then logging of debug information is not supported. - - The systemd configuration is different for the 2 options, so -Index: trunk/doc/sane-kodak.man -=================================================================== ---- trunk.orig/doc/sane-kodak.man -+++ trunk/doc/sane-kodak.man -@@ -77,7 +77,7 @@ Scanners can be specified in the configu - .PP - "scsi KODAK" - .RS --Requests backend to search all scsi busses in the system for a device -+Requests backend to search all scsi buses in the system for a device - which reports itself to be a scanner made by 'KODAK'. - .RE - .PP Index: trunk/backend/apple.c =================================================================== --- trunk.orig/backend/apple.c @@ -169,7 +33,7 @@ Index: trunk/tools/umax_pp.c =================================================================== --- trunk.orig/tools/umax_pp.c +++ trunk/tools/umax_pp.c -@@ -370,10 +370,10 @@ main (int argc, char **argv) +@@ -374,10 +374,10 @@ main (int argc, char **argv) if (sanei_umax_pp_initPort (port, name) != 1) { if (port) @@ -182,3 +46,29 @@ Index: trunk/tools/umax_pp.c return 0; } } +Index: trunk/doc/saned.man +=================================================================== +--- trunk.orig/doc/saned.man ++++ trunk/doc/saned.man +@@ -254,7 +254,7 @@ to the systemd journal. The systemd supp + requires compilation with the systemd-devel package + installed on the system. this is the preferred option. + +-Saned can be used wih systemd without the systemd integration ++Saned can be used with systemd without the systemd integration + compiled in, but then logging of debug information is not supported. + + The systemd configuration is different for the 2 options, so +Index: trunk/doc/sane-pixma.man +=================================================================== +--- trunk.orig/doc/sane-pixma.man ++++ trunk/doc/sane-pixma.man +@@ -308,7 +308,7 @@ common subnet for scanning. + .PP + Scanner detection is slightly more complicated. The pixma backend sends + a broadcast on all direct connected subnets it can find (provided your OS +-allows for enumeration of all netowrk interfaces). The broadcast is sent FROM ++allows for enumeration of all network interfaces). The broadcast is sent FROM + port 8612 TO port 8610 or 8612 on the broadcast address of each interface. + The outgoing packets will be allowed by the rule described above. + .PP diff --git a/debian/patches/series b/debian/patches/series index cb9993e..e99d249 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -6,7 +6,7 @@ #0030-ppc64el.patch 0040-remove_git.patch 0035-trim-libraries-in-sane-backends.pc.in.patch -#0100-source_spelling.patch +0100-source_spelling.patch #0105-hp3900.patch #0110-dll_backend_conf.patch #0115-license_typo.patch -- cgit v1.2.3 From 5bb4cf12855ec0151de15d6c5a2354ff08766957 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 11 Aug 2019 10:57:34 +0200 Subject: Fix Conflicts / Replaces --- debian/control | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index 46242ce..a2c2334 100644 --- a/debian/control +++ b/debian/control @@ -82,8 +82,8 @@ Package: libsane1 Section: libs Architecture: any Multi-Arch: same -Conflicts: libsane (<< 1.0.27-4~) -Replaces: libsane (<< 1.0.27-4~) +Conflicts: libsane (<< 1.0.28-1~) +Replaces: libsane (<< 1.0.28-1~) Provides: libsane (= ${binary:Version}) Depends: acl [linux-any], -- cgit v1.2.3 From ffa8801644a7d53cc1c785e3450f794c07a14eb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 2 Feb 2020 17:13:01 +0100 Subject: New upstream version 1.0.29 --- .editorconfig | 4 + .gitlab-ci.yml | 88 +- AUTHORS | 3 + ChangeLogs/ChangeLog-1.0.11 | 10 + ChangeLogs/ChangeLog-1.0.12 | 2 +- ChangeLogs/ChangeLog-1.0.28 | 4695 ++++++++++++ INSTALL.linux | 3 + Makefile.am | 34 +- NEWS | 36 + acinclude.m4 | 35 +- backend/.gitignore | 3 +- backend/Makefile.am | 154 +- backend/agfafocus.c | 1 + backend/apple.c | 3 +- backend/artec.c | 8 +- backend/artec_eplus48u.c | 2 +- backend/as6e.c | 28 +- backend/avision.c | 2 +- backend/avision.h | 2 +- backend/canon-sane.c | 4 +- backend/canon.c | 2 +- backend/canon630u-common.c | 4 +- backend/canon_dr.c | 35 +- backend/dc25.c | 2 +- backend/dll.c | 90 +- backend/dll.conf.in | 15 +- backend/epjitsu.c | 13 +- backend/epson2.c | 5 +- backend/epsonds.c | 5 +- backend/escl.conf.in | 17 + backend/escl/escl.c | 777 ++ backend/escl/escl.h | 171 + backend/escl/escl_capabilities.c | 377 + backend/escl/escl_devices.c | 185 + backend/escl/escl_jpeg.c | 230 + backend/escl/escl_newjob.c | 241 + backend/escl/escl_png.c | 193 + backend/escl/escl_reset.c | 75 + backend/escl/escl_scan.c | 99 + backend/escl/escl_status.c | 176 + backend/escl/escl_tiff.c | 119 + backend/fujitsu.c | 10 +- backend/fujitsu.conf.in | 3 + backend/genesys.cc | 7580 -------------------- backend/genesys.conf.in | 19 +- backend/genesys.h | 250 - backend/genesys/buffer.cpp | 102 + backend/genesys/buffer.h | 89 + backend/genesys/calibration.h | 108 + backend/genesys/command_set.h | 166 + backend/genesys/conv.cpp | 238 + backend/genesys/conv.h | 69 + backend/genesys/device.cpp | 272 + backend/genesys/device.h | 387 + backend/genesys/enums.cpp | 131 + backend/genesys/enums.h | 530 ++ backend/genesys/error.cpp | 215 + backend/genesys/error.h | 199 + backend/genesys/fwd.h | 132 + backend/genesys/genesys.cpp | 6172 ++++++++++++++++ backend/genesys/genesys.h | 258 + backend/genesys/gl124.cpp | 2269 ++++++ backend/genesys/gl124.h | 205 + backend/genesys/gl124_registers.h | 316 + backend/genesys/gl646.cpp | 3436 +++++++++ backend/genesys/gl646.h | 521 ++ backend/genesys/gl646_registers.h | 176 + backend/genesys/gl841.cpp | 4010 +++++++++++ backend/genesys/gl841.h | 130 + backend/genesys/gl841_registers.h | 269 + backend/genesys/gl843.cpp | 3060 ++++++++ backend/genesys/gl843.h | 139 + backend/genesys/gl843_registers.h | 382 + backend/genesys/gl846.cpp | 2098 ++++++ backend/genesys/gl846.h | 218 + backend/genesys/gl846_registers.h | 351 + backend/genesys/gl847.cpp | 2140 ++++++ backend/genesys/gl847.h | 206 + backend/genesys/gl847_registers.h | 333 + backend/genesys/image.cpp | 204 + backend/genesys/image.h | 87 + backend/genesys/image_buffer.cpp | 203 + backend/genesys/image_buffer.h | 129 + backend/genesys/image_pipeline.cpp | 839 +++ backend/genesys/image_pipeline.h | 572 ++ backend/genesys/image_pixel.cpp | 509 ++ backend/genesys/image_pixel.h | 144 + backend/genesys/low.cpp | 1994 +++++ backend/genesys/low.h | 525 ++ backend/genesys/motor.cpp | 180 + backend/genesys/motor.h | 177 + backend/genesys/register.h | 537 ++ backend/genesys/register_cache.h | 92 + backend/genesys/row_buffer.h | 214 + backend/genesys/scanner_interface.cpp | 52 + backend/genesys/scanner_interface.h | 112 + backend/genesys/scanner_interface_usb.cpp | 515 ++ backend/genesys/scanner_interface_usb.h | 98 + backend/genesys/sensor.cpp | 160 + backend/genesys/sensor.h | 470 ++ backend/genesys/serialize.cpp | 0 backend/genesys/serialize.h | 150 + backend/genesys/settings.cpp | 142 + backend/genesys/settings.h | 328 + backend/genesys/static_init.cpp | 70 + backend/genesys/static_init.h | 88 + backend/genesys/status.cpp | 66 + backend/genesys/status.h | 68 + backend/genesys/tables_frontend.cpp | 653 ++ backend/genesys/tables_gpo.cpp | 415 ++ backend/genesys/tables_model.cpp | 2958 ++++++++ backend/genesys/tables_motor.cpp | 325 + backend/genesys/tables_motor_profile.cpp | 380 + backend/genesys/tables_sensor.cpp | 3668 ++++++++++ backend/genesys/test_scanner_interface.cpp | 229 + backend/genesys/test_scanner_interface.h | 122 + backend/genesys/test_settings.cpp | 106 + backend/genesys/test_settings.h | 70 + backend/genesys/test_usb_device.cpp | 141 + backend/genesys/test_usb_device.h | 85 + backend/genesys/usb_device.cpp | 147 + backend/genesys/usb_device.h | 118 + backend/genesys/utilities.h | 180 + backend/genesys_conv.cc | 474 -- backend/genesys_conv_hlp.cc | 345 - backend/genesys_devices.cc | 5165 ------------- backend/genesys_error.cc | 115 - backend/genesys_error.h | 202 - backend/genesys_gl124.cc | 3592 ---------- backend/genesys_gl124.h | 489 -- backend/genesys_gl646.cc | 4911 ------------- backend/genesys_gl646.h | 594 -- backend/genesys_gl841.cc | 5624 --------------- backend/genesys_gl841.h | 265 - backend/genesys_gl843.cc | 4415 ------------ backend/genesys_gl843.h | 472 -- backend/genesys_gl846.cc | 3393 --------- backend/genesys_gl846.h | 498 -- backend/genesys_gl847.cc | 3517 --------- backend/genesys_gl847.h | 510 -- backend/genesys_low.cc | 2059 ------ backend/genesys_low.h | 2042 ------ backend/genesys_sanei.cc | 140 - backend/genesys_sanei.h | 97 - backend/genesys_serialize.cc | 0 backend/genesys_serialize.h | 144 - backend/gt68xx.c | 32 +- backend/hp-option.h | 2 +- backend/hp-scl.c | 4 +- backend/hp3900_config.c | 2 +- backend/hp3900_debug.c | 6 +- backend/hp3900_rts8822.c | 92 +- backend/hp3900_sane.c | 5 +- backend/hp3900_usb.c | 6 +- backend/hpsj5s.c | 9 +- backend/ibm.c | 10 +- backend/kodakaio.c | 5 +- backend/kvs1025_opt.c | 2 +- backend/kvs20xx_opt.c | 2 +- backend/kvs40xx.c | 9 +- backend/kvs40xx_opt.c | 18 +- backend/magicolor.c | 5 +- backend/microtek.c | 1 + backend/mustek_pp.c | 40 - backend/mustek_usb2_transparent.c | 2 +- backend/nec.c | 4 + backend/niash.c | 1 + backend/pieusb_buffer.h | 4 + backend/pieusb_specific.c | 6 +- backend/pixma.c | 2168 ------ backend/pixma.conf.in | 9 +- backend/pixma.h | 502 -- backend/pixma/pixma.c | 2166 ++++++ backend/pixma/pixma.h | 506 ++ backend/pixma/pixma_bjnp.c | 2645 +++++++ backend/pixma/pixma_bjnp.h | 201 + backend/pixma/pixma_bjnp_private.h | 384 + backend/pixma/pixma_common.c | 1187 +++ backend/pixma/pixma_common.h | 232 + backend/pixma/pixma_imageclass.c | 985 +++ backend/pixma/pixma_io.h | 186 + backend/pixma/pixma_io_sanei.c | 556 ++ backend/pixma/pixma_mp150.c | 1817 +++++ backend/pixma/pixma_mp730.c | 846 +++ backend/pixma/pixma_mp750.c | 972 +++ backend/pixma/pixma_mp800.c | 2434 +++++++ backend/pixma/pixma_rename.h | 105 + backend/pixma/pixma_sane_options.c | 362 + backend/pixma/pixma_sane_options.h | 51 + backend/pixma/scripts/pixma_gen_options.py | 389 + backend/pixma_bjnp.c | 2558 ------- backend/pixma_bjnp.h | 203 - backend/pixma_bjnp_private.h | 382 - backend/pixma_common.c | 1187 --- backend/pixma_common.h | 232 - backend/pixma_imageclass.c | 979 --- backend/pixma_io.h | 186 - backend/pixma_io_sanei.c | 593 -- backend/pixma_mp150.c | 2013 ------ backend/pixma_mp730.c | 848 --- backend/pixma_mp750.c | 970 --- backend/pixma_mp810.c | 2388 ------ backend/pixma_rename.h | 105 - backend/pixma_sane_options.c | 362 - backend/pixma_sane_options.h | 51 - backend/plustek-pp_motor.c | 1 + backend/plustek-usb.c | 14 +- backend/plustek-usbcal.c | 2 +- backend/plustek.c | 13 +- backend/plustek_pp.c | 2 +- backend/ricoh.c | 10 +- backend/ricoh2.c | 9 +- backend/ricoh2_buffer.c | 5 + backend/s9036.c | 1 + backend/sane_strstatus.c | 2 +- backend/scripts/pixma_gen_options.py | 389 - backend/sharp.c | 1 + backend/sm3600.c | 8 +- backend/snapscan-options.c | 4 +- backend/stv680.c | 12 +- backend/umax_pp.c | 47 +- backend/umax_pp_low.c | 31 +- backend/umax_pp_low.h | 2 +- backend/umax_pp_mid.c | 2 +- backend/umax_pp_mid.h | 2 +- backend/xerox_mfp.c | 42 +- backend/xerox_mfp.h | 4 +- configure.ac | 48 +- doc/Makefile.am | 11 +- doc/backend-writing.txt | 16 +- doc/descriptions-external/brother-mfc4600.desc | 2 - doc/descriptions-external/brother.desc | 2 - doc/descriptions-external/brother2.desc | 2 - doc/descriptions-external/cs3200f.desc | 2 - doc/descriptions-external/hp3770.desc | 2 - doc/descriptions-external/hp8200.desc | 2 - doc/descriptions-external/hpaio.desc | 3260 +++++++-- doc/descriptions-external/lhii.desc | 2 - doc/descriptions-external/panamfs.desc | 2 - doc/descriptions-external/primascan.desc | 2 - doc/descriptions-external/scangearmp2.desc | 425 ++ doc/descriptions-external/template.desc. | 2 - doc/descriptions-external/utsushi.desc | 67 +- doc/descriptions/escl.desc | 7 + doc/descriptions/fujitsu.desc | 6 + doc/descriptions/genesys.desc | 32 +- doc/descriptions/pixma.desc | 150 +- doc/descriptions/ricoh2.desc | 9 +- doc/descriptions/unsupported.desc | 20 - doc/releases.txt | 31 +- doc/sane-escl.man | 41 + doc/sane-pixma.man | 101 +- doc/sane-ricoh2.man | 6 +- doc/sane.man | 10 +- frontend/saned.c | 3 + frontend/scanimage.c | 84 +- frontend/tstbackend.c | 4 +- include/sane/sanei_usb.h | 51 + include/sane/sanei_wire.h | 2 +- include/sane/saneopts.h | 4 +- japi/Makefile.am | 10 +- ltmain.sh.patch | 8 +- po/POTFILES.in | 90 +- po/bg.po | 1747 ++--- po/ca.po | 1762 ++--- po/ca@valencia.po | 1762 ++--- po/cs.po | 1679 ++--- po/da.po | 1771 ++--- po/de.po | 2328 +++--- po/en_GB.po | 1740 ++--- po/eo.po | 1731 ++--- po/es.po | 1711 ++--- po/fi.po | 1759 ++--- po/fr.po | 1731 ++--- po/gl.po | 1711 ++--- po/he.po | 1749 ++--- po/hu.po | 1575 ++-- po/it.po | 1773 ++--- po/ja.po | 1675 ++--- po/nb.po | 1617 +++-- po/nl.po | 1741 ++--- po/pl.po | 1724 ++--- po/pt.po | 1575 ++-- po/ru.po | 1763 ++--- po/sv.po | 1743 ++--- po/uk.po | 1743 ++--- sanei/Makefile.am | 2 +- sanei/sanei_init_debug.c | 10 +- sanei/sanei_scsi.c | 20 +- sanei/sanei_usb.c | 1840 ++++- sanei/sanei_wire.c | 2 +- testsuite/backend/genesys/Makefile.am | 26 +- testsuite/backend/genesys/minigtest.cc | 35 - testsuite/backend/genesys/minigtest.cpp | 37 + testsuite/backend/genesys/minigtest.h | 38 +- testsuite/backend/genesys/session_config_test.cpp | 503 ++ testsuite/backend/genesys/tests.cc | 30 - testsuite/backend/genesys/tests.cpp | 37 + testsuite/backend/genesys/tests.h | 9 + testsuite/backend/genesys/tests_calibration.cc | 130 - testsuite/backend/genesys/tests_calibration.cpp | 135 + testsuite/backend/genesys/tests_image.cpp | 576 ++ testsuite/backend/genesys/tests_image_pipeline.cpp | 519 ++ testsuite/backend/genesys/tests_motor.cpp | 365 + testsuite/backend/genesys/tests_printers.h | 62 + testsuite/backend/genesys/tests_row_buffer.cpp | 91 + testsuite/backend/genesys/tests_utilities.cpp | 110 + testsuite/sanei/Makefile.am | 6 +- testsuite/tools/data/ascii.ref | 4 +- testsuite/tools/data/db.ref | 2 +- testsuite/tools/data/hal-new.ref | 2 +- testsuite/tools/data/hal.ref | 2 +- testsuite/tools/data/html-backends-split.ref | 4 +- testsuite/tools/data/html-mfgs.ref | 4 +- testsuite/tools/data/hwdb.ref | 2 +- testsuite/tools/data/testfile.desc | 4 +- testsuite/tools/data/udev+acl.ref | 2 +- testsuite/tools/data/udev.ref | 2 +- testsuite/tools/data/usermap.ref | 2 +- testsuite/tools/data/xml.ref | 4 +- tools/Makefile.am | 8 +- tools/create-changelog.sh | 4 +- tools/sane-find-scanner.c | 7 +- tools/umax_pp.c | 2 +- tools/update-upstreams.sh | 4 +- 325 files changed, 100386 insertions(+), 84034 deletions(-) create mode 100644 ChangeLogs/ChangeLog-1.0.11 create mode 100644 ChangeLogs/ChangeLog-1.0.28 create mode 100644 backend/escl.conf.in create mode 100644 backend/escl/escl.c create mode 100644 backend/escl/escl.h create mode 100644 backend/escl/escl_capabilities.c create mode 100644 backend/escl/escl_devices.c create mode 100644 backend/escl/escl_jpeg.c create mode 100644 backend/escl/escl_newjob.c create mode 100644 backend/escl/escl_png.c create mode 100644 backend/escl/escl_reset.c create mode 100644 backend/escl/escl_scan.c create mode 100644 backend/escl/escl_status.c create mode 100644 backend/escl/escl_tiff.c delete mode 100644 backend/genesys.cc delete mode 100644 backend/genesys.h create mode 100644 backend/genesys/buffer.cpp create mode 100644 backend/genesys/buffer.h create mode 100644 backend/genesys/calibration.h create mode 100644 backend/genesys/command_set.h create mode 100644 backend/genesys/conv.cpp create mode 100644 backend/genesys/conv.h create mode 100644 backend/genesys/device.cpp create mode 100644 backend/genesys/device.h create mode 100644 backend/genesys/enums.cpp create mode 100644 backend/genesys/enums.h create mode 100644 backend/genesys/error.cpp create mode 100644 backend/genesys/error.h create mode 100644 backend/genesys/fwd.h create mode 100644 backend/genesys/genesys.cpp create mode 100644 backend/genesys/genesys.h create mode 100644 backend/genesys/gl124.cpp create mode 100644 backend/genesys/gl124.h create mode 100644 backend/genesys/gl124_registers.h create mode 100644 backend/genesys/gl646.cpp create mode 100644 backend/genesys/gl646.h create mode 100644 backend/genesys/gl646_registers.h create mode 100644 backend/genesys/gl841.cpp create mode 100644 backend/genesys/gl841.h create mode 100644 backend/genesys/gl841_registers.h create mode 100644 backend/genesys/gl843.cpp create mode 100644 backend/genesys/gl843.h create mode 100644 backend/genesys/gl843_registers.h create mode 100644 backend/genesys/gl846.cpp create mode 100644 backend/genesys/gl846.h create mode 100644 backend/genesys/gl846_registers.h create mode 100644 backend/genesys/gl847.cpp create mode 100644 backend/genesys/gl847.h create mode 100644 backend/genesys/gl847_registers.h create mode 100644 backend/genesys/image.cpp create mode 100644 backend/genesys/image.h create mode 100644 backend/genesys/image_buffer.cpp create mode 100644 backend/genesys/image_buffer.h create mode 100644 backend/genesys/image_pipeline.cpp create mode 100644 backend/genesys/image_pipeline.h create mode 100644 backend/genesys/image_pixel.cpp create mode 100644 backend/genesys/image_pixel.h create mode 100644 backend/genesys/low.cpp create mode 100644 backend/genesys/low.h create mode 100644 backend/genesys/motor.cpp create mode 100644 backend/genesys/motor.h create mode 100644 backend/genesys/register.h create mode 100644 backend/genesys/register_cache.h create mode 100644 backend/genesys/row_buffer.h create mode 100644 backend/genesys/scanner_interface.cpp create mode 100644 backend/genesys/scanner_interface.h create mode 100644 backend/genesys/scanner_interface_usb.cpp create mode 100644 backend/genesys/scanner_interface_usb.h create mode 100644 backend/genesys/sensor.cpp create mode 100644 backend/genesys/sensor.h create mode 100644 backend/genesys/serialize.cpp create mode 100644 backend/genesys/serialize.h create mode 100644 backend/genesys/settings.cpp create mode 100644 backend/genesys/settings.h create mode 100644 backend/genesys/static_init.cpp create mode 100644 backend/genesys/static_init.h create mode 100644 backend/genesys/status.cpp create mode 100644 backend/genesys/status.h create mode 100644 backend/genesys/tables_frontend.cpp create mode 100644 backend/genesys/tables_gpo.cpp create mode 100644 backend/genesys/tables_model.cpp create mode 100644 backend/genesys/tables_motor.cpp create mode 100644 backend/genesys/tables_motor_profile.cpp create mode 100644 backend/genesys/tables_sensor.cpp create mode 100644 backend/genesys/test_scanner_interface.cpp create mode 100644 backend/genesys/test_scanner_interface.h create mode 100644 backend/genesys/test_settings.cpp create mode 100644 backend/genesys/test_settings.h create mode 100644 backend/genesys/test_usb_device.cpp create mode 100644 backend/genesys/test_usb_device.h create mode 100644 backend/genesys/usb_device.cpp create mode 100644 backend/genesys/usb_device.h create mode 100644 backend/genesys/utilities.h delete mode 100644 backend/genesys_conv.cc delete mode 100644 backend/genesys_conv_hlp.cc delete mode 100644 backend/genesys_devices.cc delete mode 100644 backend/genesys_error.cc delete mode 100644 backend/genesys_error.h delete mode 100644 backend/genesys_gl124.cc delete mode 100644 backend/genesys_gl124.h delete mode 100644 backend/genesys_gl646.cc delete mode 100644 backend/genesys_gl646.h delete mode 100644 backend/genesys_gl841.cc delete mode 100644 backend/genesys_gl841.h delete mode 100644 backend/genesys_gl843.cc delete mode 100644 backend/genesys_gl843.h delete mode 100644 backend/genesys_gl846.cc delete mode 100644 backend/genesys_gl846.h delete mode 100644 backend/genesys_gl847.cc delete mode 100644 backend/genesys_gl847.h delete mode 100644 backend/genesys_low.cc delete mode 100644 backend/genesys_low.h delete mode 100644 backend/genesys_sanei.cc delete mode 100644 backend/genesys_sanei.h delete mode 100644 backend/genesys_serialize.cc delete mode 100644 backend/genesys_serialize.h delete mode 100644 backend/pixma.c delete mode 100644 backend/pixma.h create mode 100644 backend/pixma/pixma.c create mode 100644 backend/pixma/pixma.h create mode 100644 backend/pixma/pixma_bjnp.c create mode 100644 backend/pixma/pixma_bjnp.h create mode 100644 backend/pixma/pixma_bjnp_private.h create mode 100644 backend/pixma/pixma_common.c create mode 100644 backend/pixma/pixma_common.h create mode 100644 backend/pixma/pixma_imageclass.c create mode 100644 backend/pixma/pixma_io.h create mode 100644 backend/pixma/pixma_io_sanei.c create mode 100644 backend/pixma/pixma_mp150.c create mode 100644 backend/pixma/pixma_mp730.c create mode 100644 backend/pixma/pixma_mp750.c create mode 100644 backend/pixma/pixma_mp800.c create mode 100644 backend/pixma/pixma_rename.h create mode 100644 backend/pixma/pixma_sane_options.c create mode 100644 backend/pixma/pixma_sane_options.h create mode 100755 backend/pixma/scripts/pixma_gen_options.py delete mode 100644 backend/pixma_bjnp.c delete mode 100644 backend/pixma_bjnp.h delete mode 100644 backend/pixma_bjnp_private.h delete mode 100644 backend/pixma_common.c delete mode 100644 backend/pixma_common.h delete mode 100644 backend/pixma_imageclass.c delete mode 100644 backend/pixma_io.h delete mode 100644 backend/pixma_io_sanei.c delete mode 100644 backend/pixma_mp150.c delete mode 100644 backend/pixma_mp730.c delete mode 100644 backend/pixma_mp750.c delete mode 100644 backend/pixma_mp810.c delete mode 100644 backend/pixma_rename.h delete mode 100644 backend/pixma_sane_options.c delete mode 100644 backend/pixma_sane_options.h delete mode 100755 backend/scripts/pixma_gen_options.py create mode 100644 doc/descriptions-external/scangearmp2.desc create mode 100644 doc/descriptions/escl.desc create mode 100644 doc/sane-escl.man delete mode 100644 testsuite/backend/genesys/minigtest.cc create mode 100644 testsuite/backend/genesys/minigtest.cpp create mode 100644 testsuite/backend/genesys/session_config_test.cpp delete mode 100644 testsuite/backend/genesys/tests.cc create mode 100644 testsuite/backend/genesys/tests.cpp delete mode 100644 testsuite/backend/genesys/tests_calibration.cc create mode 100644 testsuite/backend/genesys/tests_calibration.cpp create mode 100644 testsuite/backend/genesys/tests_image.cpp create mode 100644 testsuite/backend/genesys/tests_image_pipeline.cpp create mode 100644 testsuite/backend/genesys/tests_motor.cpp create mode 100644 testsuite/backend/genesys/tests_printers.h create mode 100644 testsuite/backend/genesys/tests_row_buffer.cpp create mode 100644 testsuite/backend/genesys/tests_utilities.cpp diff --git a/.editorconfig b/.editorconfig index 0faa31d..107f9ec 100644 --- a/.editorconfig +++ b/.editorconfig @@ -12,3 +12,7 @@ root = true ; look no further charset = utf-8 insert_final_newline = true trim_trailing_whitespace = true + +[backend/escl/*] +indent_size = 4 +indent_style = space diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f35992f..5c8758e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,22 +6,25 @@ variables: REGISTRY_HUB: "registry.gitlab.com/sane-project/ci-envs" CONFIGURE_MINI: "--enable-silent-rules" - CONFIGURE_FULL: "--with-usb --enable-avahi --enable-pnm-backend" + CONFIGURE_FULL: "--with-usb --enable-avahi --enable-pnm-backend --with-libcurl" stages: - - prepare + - tarball - compile - - archive + - snapshot - release -prepare: - image: $REGISTRY_HUB:debian-stretch-mini - stage: prepare +# This job creates the source tarball that is the *sole* input to our +# compile stage. The job is meant to be run on the stable release of +# Debian GNU/Linux. + +make-dist: + image: $REGISTRY_HUB:debian-buster-mini + stage: tarball script: - git ls-files | xargs ./tools/style-check.sh - ./autogen.sh - ./tools/create-changelog.sh - - ./tools/update-upstreams.sh - ./configure - make dist artifacts: @@ -38,15 +41,26 @@ prepare: - ./configure $CONFIGURE_OPTS - make -j2 -k $MAKE_FLAGS -compile:debian-9-mini: - image: $REGISTRY_HUB:debian-stretch-mini +debian-9-full: + image: $REGISTRY_HUB:debian-stretch-full + variables: + CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL" + MAKE_FLAGS: "CFLAGS=-Werror CXXFLAGS=-Werror" + <<: *compile_definition + +debian-10-mini: + image: $REGISTRY_HUB:debian-buster-mini variables: CONFIGURE_OPTS: "$CONFIGURE_MINI" MAKE_FLAGS: "CFLAGS=-Werror" <<: *compile_definition -compile:debian-9-full: - image: $REGISTRY_HUB:debian-stretch-full +# In addition to the regular compile check, the full Debian stable +# environment is used to keep some of the HTML documentation that's +# available from our website up-to-date. + +debian-10-full: + image: $REGISTRY_HUB:debian-buster-full variables: CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL" MAKE_FLAGS: "CFLAGS=-Werror CXXFLAGS=-Werror" @@ -62,43 +76,34 @@ compile:debian-9-full: - doc/sanei-html expire_in: 1 day -compile:debian-10-mini: - image: $REGISTRY_HUB:debian-buster-mini - variables: - CONFIGURE_OPTS: "$CONFIGURE_MINI" - #MAKE_FLAGS: "CFLAGS=-Werror" - <<: *compile_definition - -compile:debian-10-full: - image: $REGISTRY_HUB:debian-buster-full - variables: - CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL" - #MAKE_FLAGS: "CFLAGS=-Werror" - <<: *compile_definition - -compile:fedora-29-clang: - image: $REGISTRY_HUB:fedora-29-clang +fedora-31-clang: + image: $REGISTRY_HUB:fedora-31-clang variables: CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL" <<: *compile_definition -compile:fedora-30-clang: - image: $REGISTRY_HUB:fedora-30-clang +alpine-3.11-musl: + image: $REGISTRY_HUB:alpine-3.11-musl variables: CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL" <<: *compile_definition -compile:alpine-3.10-musl: - image: $REGISTRY_HUB:alpine-3.10-musl - variables: - CONFIGURE_OPTS: "$CONFIGURE_MINI $CONFIGURE_FULL" - <<: *compile_definition +# This snapshot stage job makes sure that the source tarball has all +# it needs to rebuild itself, install everything built and cleans up +# without leaving any droppings behind when uninstalling. The build +# result will be available as a snapshot for a limited time period. +# People that prefer a source tarball to work with should use this +# snapshot. +# Some HTML documentation derived from this project's source is also +# uploaded for use by our website so it uses the latest information. +# It gets these artifacts from the full compile job on Debian stable, +# hence the dependency. -archive: - image: $REGISTRY_HUB:debian-stretch-full - stage: archive +make-distcheck: + image: $REGISTRY_HUB:debian-buster-full + stage: snapshot dependencies: - - compile:debian-9-full + - debian-10-full script: - tar xzf sane-backends-*.tar.gz --strip-components=1 - rm sane-backends-*.tar.gz @@ -109,8 +114,13 @@ archive: - sane-backends-*.tar.gz - lists - doc/sanei-html + expire_in: 90 days + +# For release tags only, this manual job handles putting all of the +# releasables on the Project Releases page. See the script for more +# details. -release: +upload: image: alpine stage: release before_script: diff --git a/AUTHORS b/AUTHORS index 783c881..bb2bbfe 100644 --- a/AUTHORS +++ b/AUTHORS @@ -32,6 +32,7 @@ Backends: epson: Karl Heinz Kremer epson2: Alessandro Zummo epsonds: Alessandro Zummo + escl: Touboul Nathane, Thierry HUCHARD (*) fujitsu: Randolph Bentson, Frederik Ramm, Oliver Schirrmeister, m. allan noah (*) genesys: Henning Geinitz, Gerhard Jaeger (*), Stéphane Voltz, @@ -248,9 +249,11 @@ Sergey Vlasov Simon Krix Simon Munton Stéphane Voltz +Thierry HUCHARD Thomas Soumarmon Tom Martone Tom Wang +Touboul Nathane Tristan Tarrant Troy Rollo Ullrich Sigwanz diff --git a/ChangeLogs/ChangeLog-1.0.11 b/ChangeLogs/ChangeLog-1.0.11 new file mode 100644 index 0000000..2591ba8 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.11 @@ -0,0 +1,10 @@ +****** Release of sane-backends 1.0.12. End of code freeze ****** + +2003-02-09 Henning Meier-Geinitz + + * frontend/saned.c sanei/sanei_codec_bin.c sanei/sanei_wire.c: Check + the IP address of the remote host before any communication occurs. + Check for a errors before trsuting values that came from remote. + Make sure that strings are 0-terminated. + +Older entries can be found in ChangeLog-1.0.10. diff --git a/ChangeLogs/ChangeLog-1.0.12 b/ChangeLogs/ChangeLog-1.0.12 index f0eb34a..1b106f1 100644 --- a/ChangeLogs/ChangeLog-1.0.12 +++ b/ChangeLogs/ChangeLog-1.0.12 @@ -957,4 +957,4 @@ * configure configure.in: Warnings enabled again. Used extra version -cvs. -Older entries can be found in ChangeLog-1.0.10. +Older entries can be found in ChangeLog-1.0.11. diff --git a/ChangeLogs/ChangeLog-1.0.28 b/ChangeLogs/ChangeLog-1.0.28 new file mode 100644 index 0000000..0a161f1 --- /dev/null +++ b/ChangeLogs/ChangeLog-1.0.28 @@ -0,0 +1,4695 @@ +commit 5aa523289f82d1c7f01dde601356214920646542 (HEAD, tag: 1.0.28, origin/master) +Author: Olaf Meeuwissen +Date: 2019-07-31 20:39:43 +0900 + + NEWS: Document changes for upcoming release + +commit 7799a072b4ee31f7848bac7b52b916dd8d627817 +Author: Olaf Meeuwissen +Date: 2019-07-30 22:40:11 +0900 + + CI: Add a scripted release process + +commit a8d4d4b7786e0cca227ab716f9d865bc9c288b25 +Author: Rolf Bensch +Date: 2019-07-29 22:34:13 +0200 + + pixma: Canon PIXMA TS8200 Series is working + + https://alioth-lists.debian.net/pipermail/sane-devel/2019-July/036877.html + +commit 9dce0eaf74facef88fae83ba4d7f9fe886307d4c +Merge: 05bdcbd8 a4e122ad +Author: Rolf Bensch +Date: 2019-07-29 17:27:07 +0200 + + Merge branch 'update_de_translation' + +commit a4e122add55e4b315d96183ced77acc76ab74737 +Author: Rolf Bensch +Date: 2019-07-28 23:04:23 +0200 + + update German translation + +commit ef11a785404c9f9bb663b2cc3d14d956c7fec4d8 +Author: Rolf Bensch +Date: 2019-07-27 13:11:28 +0200 + + 1st bunch of updated German translation + +commit 05bdcbd81a5a92da12e1d4e1559d3f7faf7782ac +Merge: 8eb5850f d4164a73 +Author: Olaf Meeuwissen +Date: 2019-07-27 06:49:23 +0000 + + Merge branch 'en_GB_translation' into 'master' + + Updated en_GB translations + + See merge request sane-project/backends!89 + +commit d4164a7320e3b73547ae624817e974e1fb2086e3 +Author: Ralph Little +Date: 2019-07-26 23:20:29 -0700 + + Fix trailing whitespace and update translator + +commit 78359453e1c21af2055559be99040d979aececdb +Author: Ralph Little +Date: 2019-07-26 10:05:41 -0700 + + Updated en_GB translations + +commit 8eb5850f2749ba8b8c7e1d8e4d7aed18d3adf67a +Author: Olaf Meeuwissen +Date: 2019-07-26 13:55:23 +0900 + + po/nl.po: Update Dutch translations + + [skip ci] + +commit 3a0f0df8fb0bf63c2980b80950b4314b93830ba7 +Author: Olaf Meeuwissen +Date: 2019-07-23 21:15:24 +0900 + + po/*.po: Sync with latest source + +commit 97f04e16e462f61cb87a0acc19868c3357c259eb +Merge: 8ae2569a a8a5f58f +Author: Povilas Kanapickas +Date: 2019-07-22 23:13:51 +0000 + + Merge branch 'genesys-fix-calibration' into 'master' + + genesys: Fix crash when deserializing calibration files + + Closes #97 + + See merge request sane-project/backends!88 + +commit a8a5f58f21554af7c4c945fa07ed33fa03fc0421 +Author: Povilas Kanapickas +Date: 2019-07-23 02:00:44 +0300 + + genesys: Add tests for serialization of calibration data + +commit 25ed10029cea095e5e757f12b5dccf46eb4ca973 +Author: Povilas Kanapickas +Date: 2019-07-23 02:00:43 +0300 + + genesys: Make set_calibration_value() more robust + +commit b9fb97e0f77efba9059834096845a1d1a49d20e6 +Author: Povilas Kanapickas +Date: 2019-07-23 02:00:42 +0300 + + genesys: Make serialization of calibration data less error prone + +commit 8ae2569a879c39f520120f33bda94991b1dd10ab +Author: Olaf Meeuwissen +Date: 2019-07-17 18:26:59 +0900 + + INSTALL.linux: Document need to run autogen.sh for clean checkouts + + Fixes #102. + +commit cb8171734110fd3f42a24b57be735163f903076b +Author: Olaf Meeuwissen +Date: 2019-07-14 17:09:33 +0900 + + .gitignore: more build artifacts + +commit dc328a8d5fdf3daf4aa7deaecb46bd69797a99c6 +Author: Olaf Meeuwissen +Date: 2019-07-14 17:08:08 +0900 + + ChangeLog: Fix awkward grammar + +commit c52eef6e215cb9f3bfab19a64dbcd96d39aaca25 +Author: Olaf Meeuwissen +Date: 2019-07-14 14:03:56 +0900 + + CI: Drop Debian 8, add Debian 10 + + This uses the updated Debian images which now use codenames instead + of version numbers. + + Note that `CFLAGS=-Werror` has been disabled until such time as all + new warnings have been addressed. + +commit 3fb0f020154eecb95a81e0ab32a441709ead361f +Author: Olaf Meeuwissen +Date: 2019-07-10 22:58:40 +0900 + + utsushi.desc: Sync with upstream + +commit 7b2d2cd0b3b6a2052635a35bdf4d0eeab10a3b5d +Merge: 6f6a4928 4742f213 +Author: Olaf Meeuwissen +Date: 2019-07-07 02:16:49 +0000 + + Merge branch 'fix-warnings-memset-size' into 'master' + + Fix invocations of memset with incorrect size + + See merge request sane-project/backends!87 + +commit 4742f213185c9c18f5a194a133adc2752b97660d +Author: Povilas Kanapickas +Date: 2019-07-06 22:14:11 +0300 + + Fix invocations of memset with incorrect size + +commit 6f6a4928741ce99dd6c4d5fe4eed5357d11e9964 +Author: Olaf Meeuwissen +Date: 2019-07-03 22:19:52 +0900 + + Raise the bar for archiving of source tarballs + + They now have to pass a `make distcheck`. The compile stage takes + care of compiler errors/warnings. We are interested in all checks + passing and the source archive being self-consistent. + +commit 14e00fa360839fbb0222c742e8f5f31c530998a4 +Author: Olaf Meeuwissen +Date: 2019-06-30 21:58:57 +0900 + + Drop Linux Software Map file; it has outlived its purpose + + Source and binary packages are readily available from most major Linux + distributions. + +commit 02b0a7e4b6a1ba02b566d96f5aa477e32a8efdb0 +Author: Olaf Meeuwissen +Date: 2019-06-30 17:48:34 +0900 + + m4: Move byteorder.m4 back to m4/ directory + + There is little value in putting this in its own directory just + because it is a non-generated file. + +commit 2f14ac2fcc6124c7170fdc2bbb868813c5bdfeb7 +Merge: 72d68c73 640fa9db +Author: Povilas Kanapickas +Date: 2019-07-05 23:39:04 +0000 + + Merge branch 'genesys-error-handling' into 'master' + + genesys: Improve error handling + + See merge request sane-project/backends!86 + +commit 640fa9dbbaaab7f03b7aff0e9d6abcc17ce4689e +Author: Povilas Kanapickas +Date: 2019-07-06 02:10:08 +0300 + + genesys: Always initialize status variable + +commit 0454f42c36422c1d7b3c3595be0a10bc13da4be1 +Author: Povilas Kanapickas +Date: 2019-07-06 02:10:07 +0300 + + genesys: Report USB errors via exceptions to reduce code duplication + +commit b9cd547aea749ee1064fec6a8a3bafba88761efa +Author: Povilas Kanapickas +Date: 2019-07-06 02:10:06 +0300 + + genesys: Support printf-like messages in debug helper + +commit 22b7fb5105e8e32936e540c8f4276d167ee9508d +Author: Povilas Kanapickas +Date: 2019-07-06 02:10:05 +0300 + + genesys: Move more error functionality to genesys_error.{h,cc} + +commit 942f3fbbf7083d77f5af96455f523c577148f4d7 +Author: Povilas Kanapickas +Date: 2019-07-06 02:10:04 +0300 + + genesys: Move error-related functions to separate header + +commit 9d07e2108a5fdc45136cb73be7617ba80d448431 +Author: Povilas Kanapickas +Date: 2019-07-06 02:10:03 +0300 + + genesys: Support message argument to exceptions + +commit 72d68c7367e4713a340ea1ab109360ce9788266d +Merge: ec8017a8 14bbe802 +Author: Povilas Kanapickas +Date: 2019-06-30 23:16:47 +0000 + + Merge branch 'genesys-canoscan-8600f' into 'master' + + genesys: Preparation for infrared channel support on 8600F (part 2) + + See merge request sane-project/backends!84 + +commit ec8017a8c0238ba319b87d94fa7214cd2cb92c86 +Author: Alex Belkin +Date: 2019-06-30 18:54:46 +0300 + + xerox_mfp: Mark SCX-4x16 as unsupported + + As reported by Andrew Sotnikov in issue #95 Samsung SCX-4216F is not + really supported. Change SCX-4x16 status from untested to unsupported. + Closes #95. + +commit 14bbe802dbdd748d439bb54c62800ad73141880f +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:29 +0300 + + genesys: Move move_to_ta() calls out of *_init_regs_for_*() + +commit a92187edadb28c071c092ce17ffdd13759723d91 +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:28 +0300 + + genesys: Move moving to home out of *_init_regs_for_scan() + +commit 442ffd048663994bb4b7a1a884e6abd49f65709e +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:27 +0300 + + genesys: Move waiting for motor stop out of *_init_regs_for_scan() + +commit bba75702b6d8b136562bc6d13c466d5d8232716a +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:26 +0300 + + genesys: Add utility to print debug messages upon function exit + +commit 397994b215605814713f008a474f8ff12607bd07 +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:25 +0300 + + genesys: Make exposure configuration more consistent + +commit 1e7da8638e34168ad2ba656e7be51ac7c088c50c +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:24 +0300 + + genesys: Use a more descriptive filename for coarse gain debug images + +commit 6d11f6df25a5fc764781c097a592366d33c01d9c +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:23 +0300 + + genesys: Fix support for large exposures on GL843 + +commit f41440ef9fd7ffc377939725e9454ef931860909 +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:22 +0300 + + genesys: Extract debug_dump for Genesys_Current_Setup + +commit fe8383543dbf3d8abb3addbdc3d144213954390a +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:21 +0300 + + genesys: Remove code for G4050 CCD that's unused and likely incorrect + +commit 7bd68b5225f4feeccd61c54a11441087846dc82f +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:20 +0300 + + genesys: Fix crash in sane_open_impl due to uninitialized variable + +commit 616c86de2fa70d852ebed3659b3c224127fdbf93 +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:19 +0300 + + genesys: Fix incorrect use of TGTIME for pixel coordinates + +commit 89d06c9a3aa3f6013ee9fc94e2d30e61a2484d6c +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:18 +0300 + + genesys: Fix error handling in the presence of exceptions + +commit 3050f50b256dd7f902fd02549959a168772113c5 +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:17 +0300 + + genesys: Add a macro to convert status return to exception + +commit 1685e6e8636dbfe77e01f865c0ab50e8ccc51feb +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:16 +0300 + + genesys: Return bool out of *_is_compatible_calibration() + +commit eaa4cb77664122251a9085a7fd974c323359c641 +Author: Povilas Kanapickas +Date: 2019-06-30 14:05:15 +0300 + + genesys: Return void out of *_calculate_current_setup() + +commit 7a07f47b4796f4d4c4f853b8bf76edd5c424f291 +Author: Olaf Meeuwissen +Date: 2019-06-30 14:53:00 +0900 + + Include po/README in the source tarball + + Makefile.in.in ignores EXTRA_DIST. + +commit 2ea6e8eaaa214da7a551070763ef8e4f370018db +Author: Olaf Meeuwissen +Date: 2019-06-30 11:52:33 +0900 + + po: Fix inconsistent word wrapping when using custom width + + This fixes test failures run during a `make distcheck` for generated + message catalogs for LINGUAS such as `en@boldquot` and `en@quot`. + +commit f29e1c88def371a227d0dbd9de7dcb64eae863d5 +Author: Olaf Meeuwissen +Date: 2019-06-30 11:51:55 +0900 + + Make potential issues stick out when running `make distcheck` + +commit 9b109a7bd70892f69228d916fc19c2bbd3594f61 +Author: Olaf Meeuwissen +Date: 2019-06-30 11:17:59 +0900 + + Fix typo + +commit 7af0d47e2957c7c53884904656ef8b9f39b75b53 +Author: Olaf Meeuwissen +Date: 2019-06-30 11:15:20 +0900 + + Keep warning out of redirected image data. Fixes testsuite + +commit adc64520eedbdea6946c6a7b05ba2d9da15917a3 +Author: Olaf Meeuwissen +Date: 2019-06-29 17:31:25 +0900 + + Fix test suite, following bf00b9f49c1ed91e898e5c6f4bc93f7c483c651e + +commit 02d33a0e6d8712c5e1fa18ec5c549cde8bcd3792 +Author: Olaf Meeuwissen +Date: 2019-06-29 17:08:52 +0900 + + Take "advantage" of CI environment changes + + The mini variant now has everything needed to roll a source tarball. + It also has git installed so we don't need a convoluted find for our + style check anymore. + +commit 1017d790b61fce2944ea57f2fe4a1a767c09b505 +Author: Olaf Meeuwissen +Date: 2019-06-29 17:29:15 +0900 + + Always use the latest upstream config.{guess,sub} in source tarballs + + This was one of the release tasks but we may as well find out as soon + as possible whether these break anything ;-) + +commit b596f9887998fc2f2e30ce904bb42e37e428ddfd +Author: Olaf Meeuwissen +Date: 2019-06-29 15:57:04 +0900 + + Include an up-to-date ChangeLog with every build + +commit 8b2fa76497f195208623298d129a2c3fd7917c1b +Merge: bf00b9f4 0dd1feec +Author: Olaf Meeuwissen +Date: 2019-06-27 20:00:38 +0900 + + Merge branch 'yurchor:uk_update' + +commit 0dd1feec2d62caddbe7e9702a213cf87c3e5b027 +Author: Olaf Meeuwissen +Date: 2019-06-27 20:00:05 +0900 + + po/uk.po: Remove trailing blank line + +commit d976a5124fdc300bebf67ff09b93a5cea64c2027 +Author: Yuri Chornoivan +Date: 2019-06-26 18:18:47 +0300 + + Update Ukrainian translation + +commit bf00b9f49c1ed91e898e5c6f4bc93f7c483c651e +Author: Olaf Meeuwissen +Date: 2019-06-25 21:54:37 +0900 + + Use git to put a version in configure + + CI has been using this for a long time. Now that generated files are + no longer in the repository, new clones require autotools already and + adding a git requirement doesn't seem like a big burden. + +commit 2ab39228b9120b0aba4e71269edf8fdbc5a45def +Author: Olaf Meeuwissen +Date: 2019-06-25 21:52:48 +0900 + + Ignore generated English message catalogs w/ quotation marks + +commit 9bbb2b37a189bc275bc11a655e832bb781b7d998 +Author: Olaf Meeuwissen +Date: 2019-06-20 20:02:15 +0900 + + Bump Alpine build from 3.9 to 3.10 + +commit f3577168d2bb8ed9fd7bdf53997ad511ac800870 +Author: Olaf Meeuwissen +Date: 2019-06-20 19:47:32 +0900 + + autogen.sh: Fix out-of-tree invocation + + The check for unsubstituted macros on configure would silently pass + if configure was not created in the current working directory. + +commit ec1a614d6b73214a3510e9654c0f33d4a876bc3e +Merge: f901462f 9173e5db +Author: Povilas Kanapickas +Date: 2019-06-20 08:58:33 +0000 + + Merge branch 'genesys-canoscan-8600f' into 'master' + + genesys: Preparation for infrared channel support on 8600F + + See merge request sane-project/backends!82 + +commit f901462f9937e884c4da7bfe9e96f6d12dfdccf1 +Author: Olaf Meeuwissen +Date: 2019-06-19 21:12:51 +0900 + + Fix AS_CASE clause matching + + See https://alioth-lists.debian.net/pipermail/sane-devel/2019-June/036809.html + +commit 46e98476acc831c43cc60fb82756aad19b214e5d +Merge: 6d95bc19 8aa5318f +Author: Povilas Kanapickas +Date: 2019-06-16 15:40:29 +0000 + + Merge branch 'genesys-canoscan-8600f' into 'master' + + genesys: Add initial support for 2400 and 4800 dpi transparency scanning on CanoScan 8600F + + See merge request sane-project/backends!81 + +commit 6d95bc191f796eef07da3f5334d840e8b31bf4cf +Author: Olaf Meeuwissen +Date: 2019-06-16 21:40:39 +0900 + + Drop unneeded C++ compiler flag additions to AM_CXXFLAGS. Re #92 + + The AX_CXX_COMPILE_STDCXX_11 macro takes care of doing so if needed + already. + +commit a4862d8526ca238fb667658a4bcd83de27915cb8 +Author: Olaf Meeuwissen +Date: 2019-06-16 21:39:45 +0900 + + Predicate genesys compilation on documented variable. Re #92 + +commit 424bb7d923965327a28e303d1c424d5fc00e977c +Author: Rolf Bensch +Date: 2019-06-16 13:13:48 +0200 + + INSTALL.linux: add missing development environment packages + +commit 4c05fb474282c64c8e700ab9852b465eda32617e +Merge: cadf5a9b f111032e +Author: Olaf Meeuwissen +Date: 2019-06-15 06:50:27 +0000 + + Merge branch 'backend/as6e' into 'master' + + as6e: Avoid out of bound access + + See merge request sane-project/backends!31 + +commit cadf5a9b1a9e62829fe630b474d91c5a94c4e68a +Author: Olaf Meeuwissen +Date: 2019-06-15 14:45:36 +0900 + + Prevent segfault in case strndup cannot allocate memory + + This complements 18f9e5598c224e90554d333b7f9f05ba8fa14ad0 + +commit f9eb32317abf2f109fe21478358e637750df7f32 +Merge: d22516c7 0b5ab0b5 +Author: Olaf Meeuwissen +Date: 2019-06-15 05:43:06 +0000 + + Merge branch 'sanei-usb-testing-mode-prep' into 'master' + + sanei: Preparation to support capture and replay of USB data for testing + + See merge request sane-project/backends!74 + +commit d22516c76ac52c3b5208b62fc82312b223efc7ad +Merge: 767cbfaa 9c42d6ac +Author: Olaf Meeuwissen +Date: 2019-06-12 10:48:14 +0000 + + Merge branch 'remove-autoconf-generated-files' into 'master' + + Remove autoconf generated files + + See merge request sane-project/backends!72 + +commit 9173e5dbddf5f616ae2343222315310edfad2ccf +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:30 +0300 + + genesys: Merge XPA lamp setup to a single function + +commit 4adb96b7afa8935c663279c5b5caccb60a7241b8 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:29 +0300 + + genesys: Merge XPA motor setup to a single function + +commit 4d4b3be12d566ed3eb3bc81b9f8db915d81ed5e8 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:28 +0300 + + genesys: Cache logical lamp and XPA state in register set + +commit d11971b220c8c780b043ed08c58d2cb8b527c5f4 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:27 +0300 + + genesys: Only ever use sanei_genesys_set_lamp_power() to turn on lamp + +commit 6d9e783a517f2481ff0a661ebc2c7f8b8918daf1 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:26 +0300 + + genesys: Only ever use sanei_genesys_set_motor_power() to turn on motor + +commit 5b788022dc37d5dd259e784dcc23b6354d3e6991 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:25 +0300 + + genesys: Extract sanei_genesys_set_motor_power() + +commit 57480021dd6853267e4af266afc9d55dac04f3e7 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:24 +0300 + + genesys: Extract sanei_genesys_set_lamp_power() + +commit 8d5ff56ee97969671ca3ea9e7e6cb20508b9c2df +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:23 +0300 + + genesys: Use scan method out of setup params for cache comparison + +commit bf0ed8ed09f4aa710dfb6c5e543928a89a42c184 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:22 +0300 + + genesys: Store scan method within params struct + +commit be19edfd7241d00f2fc8990f50dbbb9c8a1c6fe3 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:21 +0300 + + genesys: Store setup params to current setup struct + +commit 9f3c86cd57a61cc841bec66849ffe255c2b96fec +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:20 +0300 + + genesys: Wrap data into SetupParams in *_calculate_current_setup() + +commit 6796315cc10f41033d4666942e2600abb1406624 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:19 +0300 + + genesys: Remove useless condition in lineart setup check + + The flag in the remaining condition can only be set if the second + condition is true. + +commit 65bb8724c67619c57ed25fcbf98c21d3f0b37eb9 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:18 +0300 + + genesys: Use scan params to compute scan geometry, not settings + +commit 2a8f642787b8ebd33c82727a5e2f518f1f80760a +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:17 +0300 + + genesys: Fix sign comparison warnings + +commit bf395270e807e50a89bf98bcdf14bde1e9e58f1c +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:16 +0300 + + genesys: Refactor color filter into an enum + +commit 0ffbd6c0238aee9f6eed676c94478bb9938da375 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:15 +0300 + + genesys: Specify underlying types of enums + +commit cd7186965b3418a4c4c21d1f0b6d49f07137a0b2 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:14 +0300 + + genesys: Don't use floating point numbers in SetupParams unnecessarily + +commit ca070fb5697124f0a92432fcb7c87b73048098fe +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:13 +0300 + + genesys: Extract function to dump SetupParams to debug + +commit a8b61d0501fffa2eff1fcdd841c7c4fd11dba048 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:12 +0300 + + genesys: Update gl646_setup_registers() doc + +commit e47a6dfb56468d19bb1482258d9947aee3039458 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:11 +0300 + + genesys: Represent color as channels on GL646 + +commit 6ae640cac17c504c060676e099851e9514a9a896 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:10 +0300 + + genesys: Simplify channel setup in gl646_setup_registers() + +commit a843704cc198fcbc10d1eeb0ba537b68cf4438c4 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:09 +0300 + + genesys: Move color filter setup to gl646_setup_registers() + +commit 8184699bbfac3a6ded6f4dfb26a6adc6534a5c77 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:08 +0300 + + genesys: Allocate GL646 slope tables on stack + +commit e129bdd1e16de8556ec458dbf50a3f76a6f20481 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:07 +0300 + + genesys: Move low-level computations to gl646_setup_registers() + +commit fb8014d77e3de4fe0188d9ef0e554d7df1ae1838 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:06 +0300 + + genesys: Store scan setup data in SetupParams struct + +commit 42ae7ea2d8fef1141f7f110051ee2f94d13c555c +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:05 +0300 + + genesys: Reuse SetupParams on GL847 code + +commit 1841e5b276c21578b2296f382861a08bf5ffb31a +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:04 +0300 + + genesys: Reuse SetupParams on GL846 code + +commit 6719f885da49dc616a80e8bd317e6ad08bc11cfd +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:03 +0300 + + genesys: Reuse SetupParams on GL841 code + +commit 50f5007b3d0d1f0d4713d767590c6a54e2f582b6 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:02 +0300 + + genesys: Reuse SetupParams on GL124 code + +commit 319a5082ac3cda6c70bca9c568fd7f24ed9fab90 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:01 +0300 + + genesys: Remove unused command set API + +commit d92bfd1e9e831e3044f24e7d430d03a9273ffe39 +Author: Povilas Kanapickas +Date: 2019-06-08 14:04:00 +0300 + + genesys: Remove unused fields out of Genesys_Settings struct + +commit efd7723a4f16c20b31fc874a1792bf3dd52cc920 +Author: Povilas Kanapickas +Date: 2019-06-08 14:03:59 +0300 + + genesys: Deduplicate dumping of Genesys_Current_Setup to logs + +commit 7020001ba77cec3a2d4368ba4bbd1da7bc7c9bca +Author: Povilas Kanapickas +Date: 2019-06-08 14:03:58 +0300 + + genesys: Remove unused ScanColorMode::COLOR_MULTI_PASS + +commit 6e657e3eac1f878d881d058ca272646afcb4542d +Author: Povilas Kanapickas +Date: 2019-06-08 14:03:57 +0300 + + genesys: Refactor scan color mode into an enum + +commit 723426d78bd90802199301ef7d75febb8766cc74 +Author: Povilas Kanapickas +Date: 2019-06-08 14:03:56 +0300 + + genesys: Don't use dev->calib_reg directly when possible + +commit c09370eab49b1c1522964d418c6e1344adc07ede +Author: Povilas Kanapickas +Date: 2019-06-08 14:03:55 +0300 + + genesys: Add support for selecting infrared channel + +commit a63c8a5f8c8422cd51aea00efc30fd11c68fb780 +Author: Povilas Kanapickas +Date: 2019-06-08 14:03:54 +0300 + + genesys: Support more than two scan methods + +commit f1e583aea8f5e6a4ef1e74071ef1f41390c447ad +Author: Povilas Kanapickas +Date: 2019-06-08 14:03:53 +0300 + + genesys: Refactor scan method into an enum + +commit 374a3043fafcae61a64f601a3329afc04f748060 +Author: Povilas Kanapickas +Date: 2019-06-08 14:03:52 +0300 + + genesys: Use STR_ prefix to macros yielding to strings + +commit 06157f753cf9a5c1114d63604b2710131cb58a6a +Author: Povilas Kanapickas +Date: 2019-06-08 14:03:51 +0300 + + genesys: Extract remaining options out of option list + +commit 38ccdc67881de4c5e0e7fc19467229ea8ab56bf8 +Author: Povilas Kanapickas +Date: 2019-06-08 14:03:50 +0300 + + genesys: Extract resolution and bit_depth options out of option list + +commit a7a2e0abd6c9d58dc9782add70384fe707b48da4 +Author: Povilas Kanapickas +Date: 2019-06-08 14:03:49 +0300 + + genesys: Extract string options out of options list + +commit 3301e0fbea7bb731f70d3420fdcb088400700c45 +Author: Povilas Kanapickas +Date: 2019-06-08 14:03:48 +0300 + + genesys: Extract position options out of option list + +commit 3f184b795f302aa63c331982113b0f0427a8928d +Author: Povilas Kanapickas +Date: 2019-06-08 14:03:47 +0300 + + genesys: Simplify sensor handling + +commit 9c42d6ac11fc0ef71d4712607381d19636829d9c +Author: Olaf Meeuwissen +Date: 2019-06-08 13:00:25 +0900 + + Check AX_CXX_COMPILE_STDCXX macro expansion in configure + + If not expanded, the user is informed how to deal with this. + +commit c0b07792d948e46ef9cde8910a5b78f5f9e958fc +Author: Olaf Meeuwissen +Date: 2019-06-08 12:37:49 +0900 + + Ignore harmless patch backups + + When patching `ltmain.sh` the `patch` utility creates this file if the + patch did not apply cleanly, e.g. when it applied with an offset. Any + hunks that *failed* to apply end up in `ltmain.sh.rej`. This file you + probably want to see in `git status` so it is not ignored. + It should not be committed, of course. + +commit 8b51e449f67aa220b515364bceae960e8b1090e8 +Author: Olaf Meeuwissen +Date: 2019-06-08 12:36:06 +0900 + + Add ignore patterns + + These files were removed in 1c143f630e3c8ef4b649a369260eebebf10c869c. + +commit b35e0184027c36e51fd73e1f52f8705f525cc4d8 +Author: Olaf Meeuwissen +Date: 2019-06-08 12:34:58 +0900 + + Remove files provided/created by Gettext. Re !72 + +commit ee604e33653537db8825e76bcc8560dd8cb53910 +Author: Olaf Meeuwissen +Date: 2019-06-07 20:48:40 +0900 + + Update autotools related information. Re !72 + +commit 165aad31bcc115013658683a53195279122c0800 +Author: Olaf Meeuwissen +Date: 2019-06-06 20:50:29 +0900 + + Make tar invocation work with Busybox tar version + +commit 03591a4c4a1014cac0cd39aff3daf8dde927563a +Author: Olaf Meeuwissen +Date: 2019-06-06 20:37:08 +0900 + + Fix current working directory assumptions + +commit 103be60e24a07e14b3c8bd98e53472f3822d8a16 +Author: Olaf Meeuwissen +Date: 2019-06-05 23:44:43 +0900 + + Really make it a no-op script. Re !72 + +commit a367df0994ec7fb1e43a0e6e191096bca71d143a +Author: Olaf Meeuwissen +Date: 2019-06-05 23:39:44 +0900 + + Add no-op script to satisfy GitLab CI requirements. Re !72 + +commit 4ddd89dc16700cbe968c7627870be583bf6264d5 +Author: Olaf Meeuwissen +Date: 2019-06-05 23:34:56 +0900 + + Move source tarball creation to prepare stage. Re !72 + + The build jobs use this tarball to exercise the build and only if all + builds pass will it be "archived". + +commit b6f8053af8f2c2ef301c23fbf9e24fe75b4463d7 +Author: Olaf Meeuwissen +Date: 2019-06-04 18:18:59 +0900 + + Carry forward configure.ac tweak only. Re !72 + +commit 767cbfaa7f8d190648345a97637d76120f3aa1c9 +Merge: 1f847e41 1f383b37 +Author: Ilia Sotnikov +Date: 2019-06-03 06:10:26 +0000 + + Merge branch 'hp5590-devel' into 'master' + + HP5590: Add options for reading out user settings from scanner panel. + + See merge request sane-project/backends!66 + +commit 1f383b379540bc8a4b2300b066fe9ed6cfc7f550 +Author: Bernard B Badeer +Date: 2019-06-03 06:10:26 +0000 + + Add options for reading LCD counter and LED indicator. + + * Add command line parameters for readling LCD counter and LED indicator. + * Code refactoring: Use static parameter strings instead of dynamically + allocated string in order to avoid memory leak. + +commit 1c143f630e3c8ef4b649a369260eebebf10c869c +Author: Olaf Meeuwissen +Date: 2019-06-02 21:33:22 +0900 + + Remove more generated files. Re !72 + +commit 93be23ccf5b0a29024d619f6cc13191c9088b32b +Author: Olaf Meeuwissen +Date: 2019-06-02 21:21:42 +0900 + + Fix libtool requirement for autogen.sh. Re !72 + +commit 8aa5318f90a084ae7fb0c27258a456723540f552 +Author: Povilas Kanapickas +Date: 2019-06-02 11:48:04 +0300 + + genesys: Make frontend register list generic + +commit 24853e657a3a57d18d8c10005074159ed7882547 +Author: Povilas Kanapickas +Date: 2019-06-02 11:48:03 +0300 + + genesys: Refactor frontend table to initialize data explicitly + +commit 63054332102eb4c4f1b8b56d442c436aa8a3f82a +Author: Povilas Kanapickas +Date: 2019-06-02 11:48:02 +0300 + + genesys: Cache the initial frontend values in the device + +commit ba778a7d84e555c58843d1664db65f683c1f5d4c +Author: Povilas Kanapickas +Date: 2019-06-02 11:48:01 +0300 + + genesys: Add a way to set custom FE registers depending on scan mode + +commit c05b0c15983b223dc43957f569def6609f7ee165 +Author: Povilas Kanapickas +Date: 2019-06-02 11:48:00 +0300 + + genesys: Add initial support for 8600F 4800dpi transparency scanning + +commit 91a37b65588a23eef009283d307b0650c91be34d +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:59 +0300 + + genesys: Add a way to calibrate partial width of the scanner + +commit a2f451526c5d0b05a60f5407923e79061b5788fe +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:58 +0300 + + genesys: Extract GenesysRegisterSettingSet::{fread,fwrite}() + +commit ac624433bbacdcf3c1cfe5cbcfd16803baae2097 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:57 +0300 + + sanei: Print the number of read bytes on bulk USB read error + +commit a9689de4784deb240073a964c85fbee14ea125b0 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:56 +0300 + + genesys: Don't hardcode ccd size divisor for start position + +commit 3a8f1ddf6c8d3f8bdf7ddeee4af5d3734cf6b390 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:55 +0300 + + genesys: Support 2400dpi transparency scans on 8600F + +commit 8520b810fdc7901db6e5fa5fbf773723ba077f22 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:54 +0300 + + genesys: Add support for mixed half/quarter-ccd mode on the same scanner + +commit 36872e57518f22da7e8588b697b3ac24ea56597d +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:53 +0300 + + genesys: Add support for half-ccd and quarter-ccd modes on the same chip + + Previously we hardcoded half-ccd mode to be actually quarter-ccd mode on + GL843. + +commit 8a9a4e3f719d2d7fdf3c41b1431dd9dd29d5d54f +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:52 +0300 + + genesys: Move GL843 sensor profiles to global sensor database + + Note that gl843_setup_sensor() did not write certain registers and they + weren't written to the scanner anywhere else, thus they have been + excluded from the new definitions. + +commit 723aa2b73cf213b58310e74d4baca78ff03e4a61 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:51 +0300 + + genesys: Don't store current sensor in device as it depends on the scan + +commit f8e8243b78fa3a13d366bbdacdc2b13158a66c36 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:50 +0300 + + genesys: Don't modify sensor with gamma data + +commit dafd2a150b908b37065c5d5817e36c044ae6c675 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:49 +0300 + + genesys: Extract gamma creation into a single function + +commit ea74f8e6ef3fe496a75d3f7fc7165c4dd3b4adca +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:48 +0300 + + genesys: Pass gamma tables as vectors + +commit dd2884ede7dbe619bd1b845708d4e74440289a73 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:47 +0300 + + genesys: Don't read registers to get data available from model flags + +commit 5adaea3e2f22c53108f062d3763ba4f34e4ec72b +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:46 +0300 + + genesys: Pass sensor to genesys_coarse_calibration() as param + +commit 60289d58e20ded371dee4f82eae786ac4afb53c5 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:45 +0300 + + genesys: Pass sensor to genesys_average_white() as param + +commit 35e45196b950227057b9858d1e62614fcb6fc696 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:44 +0300 + + genesys: Pass sensor to sanei_genesys_search_reference_point() as param + +commit 43c86ecd819307b076aecba880d6bf55012b98bf +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:43 +0300 + + genesys: Only ever name Genesys_Sensor as "sensor" to reduce confusion + +commit 773841251710c8933aecab8e9ff7002ffe888245 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:42 +0300 + + genesys: Remove vim indent settings + +commit 6fdabd817477b5d69733d18e9244fc05a7af2f8a +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:41 +0300 + + genesys: Remove unused sensor config + +commit d3f13839af4a985308c1cdf67d2307966ca01e1c +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:40 +0300 + + genesys: Remove no longer needed explicit initialization and copying + +commit 4269f67c4a04862627795ec17559fb8d75c00aaf +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:39 +0300 + + genesys: Always initialize Genesys_Frontend + +commit 68df437faf1d025f6a3e16a47816ed261707f172 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:38 +0300 + + genesys: Always initialize Genesys_Motor + +commit 52f73ffd8d673641176379aa75879b2a7154f294 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:37 +0300 + + genesys: Always initialize Genesys_Gpo + +commit d39189e424dcda05c295a60e01ffff25a97f374e +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:36 +0300 + + genesys: Always initialize Genesys_Settings + +commit 03ecbf1bb0af74f857172a2792ebfc55d40c76f8 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:35 +0300 + + genesys: Always initialize Genesys_Current_Setup + +commit a287f4945cb63e425b37aa9b6d0682de8570a8d8 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:34 +0300 + + genesys: Extract computation of session setup to callers + +commit d688429ccd3558fb6eb5948efce9e812d7a23776 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:33 +0300 + + genesys: Fix use of wrong dpi when computing output pixel count + +commit 1a9e05b2918b831c4e3afa5d05ee32c61793ddc6 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:32 +0300 + + genesys: Extract params to gl843_init_scan_regs to a struct + +commit 836a78bef5713d6e7ade520e23c4959ef3a31386 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:31 +0300 + + genesys: Extract exposure to separate variable in sensor definition + +commit e9419d5e33c0bda22e7f358e9d1ef6a33127a699 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:30 +0300 + + genesys: Make per-sensor register override list generic + +commit 7f22e35e2c6ec20a552e588decc000996385a3df +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:29 +0300 + + genesys: Use internal sleep wrapper for remaining sleep calls + +commit 90814ac7d3c30bdc1a4c4b19d8822e908aedefdc +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:28 +0300 + + genesys: Move half CCD property to sensor definition + +commit 7359412548cfc662b913a79ee014aa8e30fb19c1 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:27 +0300 + + genesys: Remove dead code + +commit 04c5b4afde1a88454df1682e00dcb8a1b360eb49 +Author: Povilas Kanapickas +Date: 2019-06-02 11:47:26 +0300 + + genesys: Improve type safety of Genesys_Register_Set + +commit 1f847e4128a3f1f2d425b5ebb5509f64f2d32f2b +Author: Rolf Bensch +Date: 2019-06-01 18:23:41 +0200 + + INSTALL.linux: add missing development package + +commit 3b2ecec808b54543ec341a8028055b36d650e17e +Author: Povilas Kanapickas +Date: 2019-06-01 14:41:32 +0300 + + style-check: Ignore patch files + +commit 61bff8b60153f0189a9bcc5cb70d4a2b042b3f13 +Author: Povilas Kanapickas +Date: 2019-05-25 09:12:18 +0300 + + autotools: Restore patch to libtool to change libsane soname + +commit 72320897d8f1b5b8bfc296791d114de01b4b4bd1 +Author: Povilas Kanapickas +Date: 2019-05-25 09:12:17 +0300 + + autotools: Move byteorder.m4 to prevent mixing with generated files + +commit 9e6a83860b2f8644a739ba837f6434d3815105a6 +Author: Povilas Kanapickas +Date: 2019-05-25 09:12:16 +0300 + + autotools: Add autogen.sh to run autotools in appropriate way + +commit 1c3e1aa1846ec04bf8a48bd918a2ad62ac77dd2e +Author: Povilas Kanapickas +Date: 2019-05-25 09:12:15 +0300 + + autotools: Remove files generated by autotools from version control + +commit 6b4759252043534f74caa18918ce6f2d91b52651 +Merge: 26b3d8aa 916d4e0d +Author: Povilas Kanapickas +Date: 2019-06-01 02:40:24 +0000 + + Merge branch 'genesys-fix-read-set-reg-from-set' into 'master' + + genesys: Fix sanei_genesys_{read,set}_reg_from_set() + + See merge request sane-project/backends!80 + +commit 916d4e0db9e62a444cdcbef6c6512b7ecf6dd238 +Author: Povilas Kanapickas +Date: 2019-06-01 05:24:58 +0300 + + genesys: Fix sanei_genesys_{read,set}_reg_from_set() + + There can be registers in the register set with zero address. In + particular, the 0x0b register's address is set to zero on most + sub-backends to prevent writes to it. This leads to the functions in + question not do anything in most scenarios. + +commit 26b3d8aaa0854f87dd39dce1dbe5af3ae1adbfcc +Merge: ceec219c 1df69527 +Author: Povilas Kanapickas +Date: 2019-05-30 21:17:10 +0000 + + Merge branch 'genesys-canoscan-8600f' into 'master' + + genesys: Add basic support for CanoScan 8600F + + See merge request sane-project/backends!79 + +commit 1df6952788f1724fe63bb17c588e56d98d0ce23f +Author: Povilas Kanapickas +Date: 2019-05-31 00:07:44 +0300 + + doc: Update description for CanoScan 8600F + +commit ceec219cecb467e9d2cd082f88096f0a1686200b +Merge: dc42318d aeefb370 +Author: Povilas Kanapickas +Date: 2019-05-30 20:51:27 +0000 + + Merge branch 'genesys-fix-gl843-calib-pixel-count' into 'master' + + genesys: Fix read pixel count calculation during calibration on GL843 + + See merge request sane-project/backends!78 + +commit aeefb370724cd0bfa085f728d3bf7132a9134863 +Author: Povilas Kanapickas +Date: 2019-05-30 23:33:13 +0300 + + genesys: Fix read pixel count calc during calibration on GL843 + +commit dc42318d905e35f09a5e5d0a9560d296eb43cf06 +Merge: 9f461060 50b27fe8 +Author: Povilas Kanapickas +Date: 2019-05-29 21:28:43 +0000 + + Merge branch 'genesys-use-containers' into 'master' + + genesys: Use C++ containers to remove chances of memory leaks + + See merge request sane-project/backends!76 + +commit 9f461060aac2c6517e471699a7efa7e254b8048d +Merge: 5d7fc4e0 896385a0 +Author: Povilas Kanapickas +Date: 2019-05-28 01:21:44 +0000 + + Merge branch 'genesys-catch-exceptions' into 'master' + + genesys: Catch C++ exceptions when returning to C code + + See merge request sane-project/backends!75 + +commit 0b5ab0b5e47f74ddf7e6a609bf91c3f4b36c0369 +Author: Povilas Kanapickas +Date: 2019-04-27 12:16:10 +0300 + + sanei_usb: Fall through to the end of sanei_usb_get_descriptor() + +commit 422e0831757681e1ff3cd6d6c93b80c38a8d1e67 +Author: Povilas Kanapickas +Date: 2019-04-27 12:16:09 +0300 + + sanei_usb: Fall through the end in sanei_usb_control_msg() + +commit d865705ef13a5d9f261abf1ed39b02319d414004 +Author: Povilas Kanapickas +Date: 2019-04-27 12:16:08 +0300 + + sanei_usb: Don't change input size variable in USBCALLS bulk code paths + +commit 18f9e5598c224e90554d333b7f9f05ba8fa14ad0 +Author: Povilas Kanapickas +Date: 2019-04-27 12:16:07 +0300 + + dll: Don't unnecessarily use alloca + +commit 50b27fe8367cbe5f1e426d709be00aae478c6b15 +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:42 +0300 + + genesys: Use std::string for Genesys_Device::calib_file + +commit 38986c2c6f39da0f326c922b3607b78c1591b5e9 +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:41 +0300 + + genesys: Use std::vector for Genesys_Device::img_buffer + +commit eb93267fa9af5632d1cff5cf221b3ea2916c69d0 +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:40 +0300 + + genesys: Use std::vector instead of custom vector implementation + +commit 69485e9f11963cee51ff10fd63d069bd2fea06a8 +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:39 +0300 + + genesys: Remove unused new device list + +commit 3096dcee0ee25ea93123801e56a1d75cd153aca1 +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:38 +0300 + + genesys: Use s_devices.size() for num_devices + +commit 9c2fdeeb3d91d581d55fa8972b583e7d7cb8b765 +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:37 +0300 + + genesys: Use proper containers for device lists + +commit 5a90b7bb8fb72ba9fed235d2ff974c8e26dfba30 +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:36 +0300 + + genesys: Convert Genesys_Buffer to C++ class + +commit 247658f23ed81be58a5bfea6f62f9d229b163ff4 +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:35 +0300 + + genesys: Return std::vector from GL646 simple_scan() + +commit e48b6c4e2dc7065ead61015673fed89d16f1c81a +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:34 +0300 + + genesys: Store global Genesys_Scanner instances in std::list + +commit 15b373a5cc388aed628d5514e00f979cf8df6222 +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:33 +0300 + + genesys: Use std::vector for calibration cache average data + +commit 64ca298d02d03dbd2818d8c887f7c94c350ac42e +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:32 +0300 + + genesys: Store calibration class using std::list + +commit 52b1989edaa99dea1d1ab6bbcc9486d64ae28360 +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:31 +0300 + + genesys: Remove no longer used RIEF and RIEF2 macros + +commit 3d44c89f1e7a3ef548275730127d956c415773ba +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:30 +0300 + + genesys: Use std::vector for Genesys_Device::{dark,white}_average_data + +commit 2dc4e5d1fc3c48cf1cd7ae1010dd5cc3328754dc +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:29 +0300 + + genesys: Use std::vector for Genesys_Sensor::gamma_table + +commit 555be1c3eb5e3becac770170687713d73756511b +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:28 +0300 + + genesys: Use Genesys_Device as C++ class + +commit cb189cfe2d9ec1004e83c285612f6ee386f44100 +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:27 +0300 + + genesys: Rewrite sensor table to use std::vector + +commit e5eff5d76f98170d6b583aa19e9c6ebd58407eb4 +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:26 +0300 + + genesys: Add facility for auto releasing static data on backend exit + +commit 9cea33b53c4fb351e8983c0a1f6e2694220f8127 +Author: Povilas Kanapickas +Date: 2019-05-25 11:15:25 +0300 + + genesys: Use std::vector instead of malloc for local allocations + +commit 896385a082f0d44a4fa4abb21c4c5fd110d51d8e +Author: Povilas Kanapickas +Date: 2019-05-25 10:03:15 +0300 + + genesys: Ensure that functions passed to C API don't throw + +commit 23f3ebf612456f3328c925764abfcaaa31c80e39 +Author: Povilas Kanapickas +Date: 2019-05-25 10:03:14 +0300 + + genesys: Wrap exported functions to always catch exceptions + +commit 5d7fc4e0ed3489982082be3c1845fa3f2eba42d9 +Merge: 216e8b28 58ee13d0 +Author: Povilas Kanapickas +Date: 2019-05-24 18:25:58 +0000 + + Merge branch 'genesys-fix-warning' into 'master' + + genesys: Fix warning + + See merge request sane-project/backends!71 + +commit 58ee13d057f0db1c07edb6627aaf973e6a3d6566 +Author: Povilas Kanapickas +Date: 2019-05-24 21:13:37 +0300 + + genesys: Fix warning + +commit 216e8b28a0b792276ede8a46618a713ad5ef4b9d +Author: Olaf Meeuwissen +Date: 2019-05-22 21:48:32 +0900 + + Turn C++ compiler warning into error on the right job. Re #85 + + Fixes 8d67531c70e8cc346d8705477ac9c53d0a4571d8 where the flags were + set for a job that runs in an environment *without* a C++ compiler. + +commit 199a685d0b174ce618d23decd0565b591be67b91 +Author: Olaf Meeuwissen +Date: 2019-05-22 21:35:08 +0900 + + Restore availability of config.status for archive stage. Re #85 + +commit 8d67531c70e8cc346d8705477ac9c53d0a4571d8 +Author: Olaf Meeuwissen +Date: 2019-05-22 21:31:13 +0900 + + Turn C++ compiler warnings into errors. See #85 + +commit 57ee89a6760621d92fa8564bdc066c36c17618d7 +Author: Olaf Meeuwissen +Date: 2019-05-22 21:19:54 +0900 + + Drop caching of untracked files. Re #85 + +commit be9736020f48119a1060088d95ec1ac8eef8ac07 +Author: Olaf Meeuwissen +Date: 2019-05-21 22:11:50 +0900 + + autofoo: Sync generated files + + The AX_CXX_COMPILE_STDCXX* macros that were embedded in aclocal.m4 + have been replaced with the versions found in the autoconf-archive + package from Debian 9. + +commit e2d89c1ab3b06cb81634a869ed94620d91af6d68 +Author: Olaf Meeuwissen +Date: 2019-05-21 22:10:12 +0900 + + Expand AM_CXXFLAGS in our Makefiles. Fixes #84 + +commit 16a3945ce6b585c97a90461419b573a2d389d58f +Merge: f498e5fa 0a66ed1d +Author: Povilas Kanapickas +Date: 2019-05-20 09:47:38 +0000 + + Merge branch 'genesys-sleep' into 'master' + + genesys: Add wrapper for sleep that can be turned off when testing + + See merge request sane-project/backends!70 + +commit f498e5fa66718a76adbcd60be8228a50cc903ab1 +Author: Olaf Meeuwissen +Date: 2019-05-20 18:32:48 +0900 + + genesys: Add missing pointer cast on malloc call + + Fixes build on Fedora 29 and 30. + +commit 2bb5ed655ade84281435d80cf133403f8e11bb29 +Merge: 2a116229 185303a1 +Author: Olaf Meeuwissen +Date: 2019-05-20 09:10:53 +0000 + + Merge branch 'genesys-enable-cxx' into 'master' + + Use C++ for the genesys backend + + See merge request sane-project/backends!61 + +commit 2a11622967ff2f5f09d4b47ffc3e1817645f814a +Merge: 75855385 7a8ae928 +Author: Stanislav Yuzvinsky +Date: 2019-05-19 18:18:57 +0000 + + Merge branch 'teardown' into 'master' + + ricoh2: Rearrange init/deinit code of ricoh2 to correctly support "code flow" + + See merge request sane-project/backends!65 + +commit 758553859589a1c5ec0a7ff688fe4621e81b62db +Author: Olaf Meeuwissen +Date: 2019-05-19 21:41:16 +0900 + + epson2: Add XP-255 as supported. Fixes #81 + +commit 71bf2daec6584db1228975c88cb737375244e57e +Merge: 8cdd5ae2 a4ab6937 +Author: Povilas Kanapickas +Date: 2019-05-19 12:02:50 +0000 + + Merge branch 'genesys-remove-static' into 'master' + + genesys: Remove uses of GENESYS_STATIC + + See merge request sane-project/backends!68 + +commit 8cdd5ae22e3ac4c3b059edba56e174eafcfc404d +Merge: e13b80fa 4c2c4eb6 +Author: Povilas Kanapickas +Date: 2019-05-19 11:56:38 +0000 + + Merge branch 'genesys-debug-cleanup' into 'master' + + genesys: Use the same debug identifier for the whole backend + + See merge request sane-project/backends!67 + +commit a4ab69376c3f05a37d51953776a938731c277683 +Author: Povilas Kanapickas +Date: 2019-05-19 14:49:44 +0300 + + genesys: Remove uses of GENESYS_STATIC + +commit 4c2c4eb6397b974c90a20c1f4f355730b700be27 +Author: Povilas Kanapickas +Date: 2019-05-19 14:46:46 +0300 + + genesys: Remove duplicate definition of DBGSTART and DBGCOMPLETED + +commit 6f617e9889be1c35f5960b2a00dcc702aa3787f2 +Author: Povilas Kanapickas +Date: 2019-05-19 14:46:45 +0300 + + genesys: Don't define different backend names in source files + +commit 873e82c0a06a6a240cdb8e0178f4bc6f5d87c1c2 +Author: Povilas Kanapickas +Date: 2019-05-19 14:46:44 +0300 + + genesys: Remove logging of the build number + + A git commit would be much more useful in log messages + +commit 185303a18d18e855df38b85a0647d595a1c0462f +Author: Povilas Kanapickas +Date: 2019-05-19 13:50:11 +0300 + + Enable warnings in C++ source + +commit 42fb5a3e038d1344534e5ff1b175dc4c7125ff0d +Author: Povilas Kanapickas +Date: 2019-05-19 13:39:42 +0300 + + Don't compile genesys backend when C++11 is not available + +commit c536f3cf7094a597fe389cfdb1acf2c7753522f2 +Author: Povilas Kanapickas +Date: 2019-05-18 14:56:12 +0300 + + genesys: Fix calibration size calculation for 8600F + + The current approach of marking the scanner as + GENESYS_FLAG_FULL_HWDPI_MODE is counter-productive, because only the + register value is always full DPI, the actual resolution is different. + For now, let's just work around this by having a special case for the + scanner. + +commit 0a0a14042338ca26c77910ed08e1248578e16d30 +Author: Povilas Kanapickas +Date: 2019-05-18 14:56:11 +0300 + + genesys: Correctly adjust pixels per line during calibration + +commit 190361b724b0bea6ec253b9296e02e17b8767387 +Author: Povilas Kanapickas +Date: 2019-05-18 14:56:10 +0300 + + genesys: Work around first line having artifacts during calibration + +commit 3a4f67feefe8c262a6da95b9c64057ff1548e089 +Author: Povilas Kanapickas +Date: 2019-05-18 14:56:09 +0300 + + genesys: Fix lockups on GL843 during calibration + +commit ed582c585841279827cd0a3117dfdb3fc1848e44 +Author: Povilas Kanapickas +Date: 2019-05-18 14:56:08 +0300 + + genesys: Fix gain calibration on GL843 + +commit b2205121721306db13b75fa9400c93f92b20a27a +Author: Povilas Kanapickas +Date: 2019-05-18 14:56:07 +0300 + + genesys: Add a separate shading line count param for TA mode + + q + +commit b7ef75d63f8acc8fb71d8fa74429dcc52eddb012 +Author: Povilas Kanapickas +Date: 2019-05-18 14:56:06 +0300 + + genesys: Implement transparency support for 8600F + +commit 126e98524a3543f83e79dd1a15e3cd6674dc6324 +Author: Povilas Kanapickas +Date: 2019-05-18 14:56:05 +0300 + + genesys: Remove special ADF handling for G4050 + +commit 091fdbe6d66315430cf227b5e92d30639d214f01 +Author: Povilas Kanapickas +Date: 2019-05-18 14:56:04 +0300 + + genesys: Use correct offsets for transparency scan + +commit d0c4f87ac793a7dafcf35796edfee9f23878fdde +Author: Povilas Kanapickas +Date: 2019-05-18 14:56:03 +0300 + + genesys: Don't set exposure to zero on 8600F + +commit 33a60dcc7bae671f63bbacc684c996167c5307df +Author: Povilas Kanapickas +Date: 2019-05-18 14:56:02 +0300 + + genesys: Implement support for 8600F + +commit 41e2029e4bcb25371cc0b89170dfab8e47a40b96 +Author: Povilas Kanapickas +Date: 2019-05-18 14:56:01 +0300 + + genesys: Initialize 0x7e register on GL843 + +commit 966ef337100c4143408a68a609bef8054442b65c +Author: Povilas Kanapickas +Date: 2019-05-18 14:56:00 +0300 + + genesys: Fix pixel calculation during calibration on gl843 + +commit df889c96f5d979369ba702a87ae0cafcda9aba9a +Author: Povilas Kanapickas +Date: 2019-05-18 14:55:59 +0300 + + genesys: Deduplicate pixel count computation during calibration + +commit 695addaafd0d7de46309384587d4d864261083cb +Author: Povilas Kanapickas +Date: 2019-05-18 14:55:58 +0300 + + genesys: Fix pixel count when scanning in half-ccd mode on GL843 + +commit d2b4a1b838eb5df1a27f5a0fde8e2297fd17b1e9 +Author: Povilas Kanapickas +Date: 2019-05-18 14:55:57 +0300 + + genesys: Extract gl843_compute_physical_params() + +commit 76bf1ad072bc5b50743273060f3c4b3cd67e0950 +Author: Povilas Kanapickas +Date: 2019-05-18 14:55:56 +0300 + + genesys: Improve documentations for registers in various places + +commit 7a8ae928626a2ccecc5dd40dd4564c47d8dcb9a4 +Author: Stanislav Yuzvinsky +Date: 2019-05-08 11:03:15 +0300 + + ricoh2: Rearrange init/deinit code of ricoh2 to correctly support "code flow" + + The backend worked incorrectly when scanning process was interrupted before the + current page was scanned completely. For example, scanimage tool could not scan + the next page if the previous one was interrupted. Now this issue is fixed. + + See also "4.4. Code Flow" in SANE API specification v.1.06. + + Also debug levels was changed to have better control over what should be + logged. + +commit e13b80fa6ff333cede132dc29377eec9b6c02f48 +Merge: ae871333 0273c05c +Author: Olaf Meeuwissen +Date: 2019-05-12 03:11:00 +0000 + + Merge branch 'add_sg3100' into 'master' + + Add support for Aficio SG3100SNw + + See merge request sane-project/backends!57 + +commit ae871333ef09d867c6d95edd6c3adf3bd05c2fea +Merge: 4df63ef5 ee6d6da3 +Author: Olaf Meeuwissen +Date: 2019-05-12 02:36:36 +0000 + + Merge branch 'scanimage-output-path' into 'master' + + scanimage: Allow specification of the output path via option + + See merge request sane-project/backends!46 + +commit 0273c05c95040b0cd3141117d67bbd08e4a03e5b +Author: Stanislav Yuzvinsky +Date: 2019-05-11 16:17:40 +0300 + + Fix review comments; add the backend to dll.conf + +commit 4df63ef5480103edf5c2a92a1641afdc0eddca04 +Merge: 3c8b9b91 988a91ae +Author: Povilas Kanapickas +Date: 2019-05-11 09:20:45 +0000 + + Merge branch 'genesys-debug-improvements' into 'master' + + genesys: Miscellaneous debug improvements + + See merge request sane-project/backends!64 + +commit 3c8b9b9167947def05544160153d8f3bc5312548 +Merge: 74fffa64 8de5a1fd +Author: Povilas Kanapickas +Date: 2019-05-11 09:14:06 +0000 + + Merge branch 'genesys-reduce-duplication' into 'master' + + genesys: Reduce duplication in low level functions + + See merge request sane-project/backends!63 + +commit 988a91aec47697f1ec37ecc492819223df40b18f +Author: Povilas Kanapickas +Date: 2019-05-11 12:12:29 +0300 + + genesys: Write all offset calibration debug to a single file on gl843 + +commit 36bc194405ed82e56ec12b68b5cc9491ed3ef199 +Author: Povilas Kanapickas +Date: 2019-05-11 12:12:28 +0300 + + genesys: Add a small C array implementation + +commit 5321427e55b67a1d7274f3b0851e89dced66e1a0 +Author: Povilas Kanapickas +Date: 2019-05-11 12:12:27 +0300 + + genesys: Don't write identical debug pnm files + +commit 882741d78ae5ebffbd128104d850eec95a9e5a50 +Author: Povilas Kanapickas +Date: 2019-05-11 12:12:26 +0300 + + genesys: Prepend file identifier to debug image filenames + +commit d3b25a59664a2779481329d4c5627f9018af3f83 +Author: Povilas Kanapickas +Date: 2019-05-11 12:12:25 +0300 + + genesys: Don't write identical debug pnm files + +commit 74fffa64791f6e670942604eac27bc330afc339b +Merge: 15fd9bc9 88775919 +Author: Povilas Kanapickas +Date: 2019-05-11 09:08:11 +0000 + + Merge branch 'genesys-force-calibration' into 'master' + + genesys: Add option to force calibration ignoring caches + + See merge request sane-project/backends!62 + +commit 8de5a1fdb10498c85a998ad8eeb4e6b228019fb2 +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:26 +0300 + + genesys: Remove unused code + +commit da81a523fa231858a18232186c878730c849aa6f +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:25 +0300 + + genesys: Reuse sanei_genesys_bulk_write_register() on GL841 + +commit 2b1f13fddb9fdfe16523c855242a768f39a64f57 +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:24 +0300 + + genesys: Reuse sanei_genesys_bulk_write_register() on GL646 + +commit b683a40fdda7eae26ca80995935d473a272521e6 +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:23 +0300 + + genesys: Reuse common genesys register functions on GL646 + +commit 58e1eb8ac4692423ce4795a815d0d7c2ef2b25cf +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:22 +0300 + + genesys: Reuse sanei_genesys_bulk_write_data() on GL646 + +commit 80efacab1022351597dac95f6183204fb3f3e800 +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:21 +0300 + + genesys: Reuse sanei_genesys_bulk_write_data() on GL841 + +commit d62d4f0d164b1ee3a5a3debebd307b6484fa5a8f +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:20 +0300 + + genesys: Use sanei_genesys_get_bulk_max_size() for max bulk out size + +commit 7ee139bd4bc0dbc6740df0d9fbe0bc89794c18da +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:19 +0300 + + genesys: Pass device to sanei_genesys_write_ahb() as ptr not number + +commit d7bff42cba003c99197ce7bb2384d08383dd4ef9 +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:18 +0300 + + genesys: Add generic sanei_genesys_bulk_write_data() out of GL843 impl + +commit 98258549cb48955aadba7fb6e2ed266aeec3eb68 +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:17 +0300 + + genesys: Extract sanei_genesys_get_bulk_max_size() + +commit 5b9d0145927b0974cb49d4f042e7d2927abdd97d +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:16 +0300 + + genesys: Remove commented out code for buffer size alignment + +commit 9dc8bbfac95c2106aabe2833dbd7ccf191aee62a +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:15 +0300 + + genesys: Reuse sanei_genesys_bulk_read_data() on GL847 + +commit 4af3557bbf622b4937278273daef782baaf42157 +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:14 +0300 + + genesys: Reuse sanei_genesys_bulk_read_data() on GL846 + +commit 216c18f9ff02b2984c55b65b4050caef70956a7b +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:13 +0300 + + genesys: Reuse sanei_genesys_bulk_read_data() on GL843 + +commit 55e5c7b7ac745ada19dc95dd59929a6a03313431 +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:12 +0300 + + genesys: Reuse sanei_genesys_bulk_read_data() on GL841 + +commit 8e8511a49e8bfb4aae993a64bc8845f82e26d513 +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:11 +0300 + + genesys: Reuse sanei_genesys_bulk_read_data() on GL646 + +commit 69435b3bb2a35ba11ac1a1e79ee91bd4a5c2f9a5 +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:10 +0300 + + genesys: Revert 512-byte bulk transfer alignment workaround + + It should be handled by libusb. + +commit 4a899d26f33e337b56e0d5c8ad834bee7cfb132d +Author: Povilas Kanapickas +Date: 2019-05-11 12:05:09 +0300 + + genesys: Create generic sanei_genesys_bulk_read_data out of gl124 impl + +commit 887759192bbf2f8265f5897ba43acdcf5a10cbe5 +Author: Povilas Kanapickas +Date: 2019-05-11 12:00:25 +0300 + + genesys: Add option to force calibration ignoring caches + +commit ee6d6da339459bc8393547005e087e97d3d4987b +Author: Povilas Kanapickas +Date: 2019-04-28 23:28:21 +0300 + + scanimage: Update manual page + +commit 728de89d7166708331907726571c7027b4921d82 +Author: Povilas Kanapickas +Date: 2019-04-28 23:28:20 +0300 + + scanimage: Guess --format from --output-file if possible + +commit 86e917b04b9bd1fbeb53d58323b118f30c8efc15 +Author: Povilas Kanapickas +Date: 2019-04-28 23:28:19 +0300 + + scanimage: Prevent --output-file and --batch to be used together + +commit 7f4944f0a7d1c7ce90d5f4f79078112bc5d52dff +Author: Povilas Kanapickas +Date: 2019-04-28 23:28:18 +0300 + + scanimage: Warn when output format is not set + +commit 877cc29d88529f9af8e898a52b4be99863a20eea +Author: Povilas Kanapickas +Date: 2019-04-28 23:28:17 +0300 + + scanimage: Raise an error if --format option is an unknown format + +commit 15fd9bc9ce70953d70fd3fa2f48bf725cb27a37d +Merge: 85639110 16a8d554 +Author: Olaf Meeuwissen +Date: 2019-05-11 08:13:18 +0000 + + Merge branch 'log-messages-no-git-conflict-markers' into 'master' + + Don't use strings that are similar to conflict markers in debug msgs + + See merge request sane-project/backends!60 + +commit ca051cc22736909c7eaddbb1ba549eb718ea36f8 +Author: Povilas Kanapickas +Date: 2019-05-10 21:16:11 +0300 + + genesys: Compile library as C++ code + +commit 72121bc7d88bbd6577cd3ea88b301d91ac35d675 +Author: Povilas Kanapickas +Date: 2019-05-10 21:16:10 +0300 + + sanei: Use C linkage for internal functions in C++ mode + +commit 9e3b5d6381b5c8d49b71753e7b28b65f45feebee +Author: Povilas Kanapickas +Date: 2019-05-10 21:16:09 +0300 + + Update generated files + +commit b93340b8623de865c73b7e12a5b448732f9a5f68 +Author: Povilas Kanapickas +Date: 2019-05-11 00:02:47 +0300 + + Enable C++ in autoconf + +commit 856391100f00b49bdf245930cd68c52f3116b6f7 +Merge: 56c01c00 47e7f087 +Author: Povilas Kanapickas +Date: 2019-05-10 18:23:32 +0000 + + Merge branch 'genesys-explicit-casts' into 'master' + + genesys: Perform type casts explicitly + + See merge request sane-project/backends!59 + +commit 47e7f087c62234c540cac2cdcf86d4334a4026ea +Author: Povilas Kanapickas +Date: 2019-05-10 21:04:15 +0300 + + genesys: Perform type casts explicitly + +commit 16a8d554809171156ed2727c6e1f4e2fdff5b5e3 +Author: Povilas Kanapickas +Date: 2019-05-10 21:05:51 +0300 + + Don't use strings that are similar to conflict markers in debug msgs + +commit 56c01c005a8ddda04d24e81a337e724f673faece +Merge: f6038a70 29654290 +Author: Olaf Meeuwissen +Date: 2019-05-05 09:27:29 +0000 + + Merge branch '24-hp-scanjet-8250-duplex-broken-avision-backend' into 'master' + + avision: Fix threaded ADF flipping duplex handling + + Closes #24 + + See merge request sane-project/backends!58 + +commit 296542905e84c5607e3dc5da5766fd574015f66d +Author: Olaf Meeuwissen +Date: 2019-05-04 23:39:33 +0900 + + avision: Fix threaded ADF flipping duplex handling. Re #24 + +commit f6038a70ec2c4492d7488e81021fed04891f5d06 +Author: Olaf Meeuwissen +Date: 2019-05-04 09:19:26 +0900 + + Add a Fedora 30 build, drop the Fedora 28 one + +commit 1b8f7926fe18b2d5c646480a4fa691f1984114a3 +Merge: fa940e86 25feb1be +Author: Olaf Meeuwissen +Date: 2019-05-02 06:16:55 +0000 + + Merge branch 'debian-bts-869673-genesys-usb-mode-initialization' into 'master' + + genesys: Fix use of uninitialized variable + + See merge request sane-project/backends!56 + +commit 25feb1be0c89f14d4cbca09e5e44b50ac1ebb8ed +Author: Olaf Meeuwissen +Date: 2017-08-03 18:50:05 +0900 + + genesys: Fix use of uninitialized variable + + See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=869673 + +commit 3514d06156424373b832f2e46a7d7e3311f6d15b +Author: Stanislav Yuzvinsky +Date: 2019-05-01 01:14:45 +0300 + + Add support for Aficio SG3100SNw + +commit fa940e86bbac2ac21c969b80722d8cf341eac389 +Merge: 916ce82f 0921d366 +Author: Povilas Kanapickas +Date: 2019-04-28 21:02:16 +0000 + + Merge branch 'sanei-endpoint-refactor' into 'master' + + sanei_usb: Deduplicate endpoint setup code + + See merge request sane-project/backends!48 + +commit 5dbd51d1ec36ba4389a7ec18ff041fd04ee3c5da +Author: Povilas Kanapickas +Date: 2019-03-20 23:09:03 +0200 + + scanimage: Allow specification of the output path via option + +commit 0a66ed1dbcb3f85bedab81581cb84320a8c3c2c1 +Author: Povilas Kanapickas +Date: 2019-04-28 17:47:45 +0300 + + genesys: Use a function to sleep ms to reduce chance of errors + +commit d9f65eefc0fca4a45fb3ac1b944d55fb33fd319a +Author: Povilas Kanapickas +Date: 2019-04-28 17:47:44 +0300 + + genesys: Fix a bug in sleep duration calculation + +commit baaa934dce8db53bd1c4f0e0308f7dac1000201f +Author: Povilas Kanapickas +Date: 2019-04-28 17:47:43 +0300 + + genesys: Use a wrapper of usleep() + +commit 916ce82f007e0eb297dadda9a0577482f0fb2dc0 +Author: Rolf Bensch +Date: 2019-04-25 21:31:27 +0200 + + pixma: backend version 0.23.0 + +commit 28d87cb6e5400df519c703bc4769808a37b6f990 +Merge: 392beeec 9fe7d990 +Author: Rolf Bensch +Date: 2019-04-25 21:27:53 +0200 + + Merge remote-tracking branch 'origin/master' + +commit 9fe7d990891cd53ec6295610507be0238ad868c6 +Merge: d50f3330 a3c64bc0 +Author: Rolf Bensch +Date: 2019-04-25 19:26:50 +0000 + + Merge branch 'master' into 'master' + + Added Imageclass MF634Cdw + + See merge request sane-project/backends!49 + +commit 392beeec74b97cd712469953962c2b3a6bf2b31f +Author: Rolf Bensch +Date: 2019-04-25 21:24:40 +0200 + + pixma: new scanners Canon i-SENSYS MF110, MF260, MF420, MF510, MF520, MF640 and MF740 Series + +commit d50f33306f9c9ae0d976dce247c316c071ae3715 +Merge: a569bfbf a814df33 +Author: Povilas Kanapickas +Date: 2019-04-22 22:07:19 +0000 + + Merge branch 'genesys-numeric-model-ids' into 'master' + + genesys: Add numeric model IDs and prefer them to string comparisons + + See merge request sane-project/backends!54 + +commit a814df3343110b0329dfaab83d4e4e31e1ad27e5 +Author: Povilas Kanapickas +Date: 2019-04-23 00:55:46 +0300 + + genesys: Prefer numeric model IDs instead of string comparisons + +commit ad164ce9c6a7b924ec88d6496fa89f7093272581 +Author: Povilas Kanapickas +Date: 2019-04-23 00:55:45 +0300 + + genesys: Fix a typo in LiDE 120 gpio setup + +commit f240a77e92d0557996ed37b650ddfaf3ae64342e +Author: Povilas Kanapickas +Date: 2019-04-23 00:55:44 +0300 + + genesys: Add numeric model IDs to model tables + +commit a569bfbf02c1d85b440db0b00f5e3a6564991564 +Merge: 595e1fc7 3cd8a4cd +Author: Povilas Kanapickas +Date: 2019-04-22 21:38:29 +0000 + + Merge branch 'genesys-misc' into 'master' + + genesys: Miscellaneous changes/improvements + + See merge request sane-project/backends!53 + +commit 3cd8a4cd015769d275816252b256cc0e97b9a847 +Author: Povilas Kanapickas +Date: 2019-04-23 00:14:49 +0300 + + genesys: Use hex to print USB vendor and product IDs to debug log + +commit 595e1fc754cfa463f771f25daff5c7bea79715d8 +Merge: c9ebf2b5 23416187 +Author: Povilas Kanapickas +Date: 2019-04-22 21:15:44 +0000 + + Merge branch 'genesys-bugs' into 'master' + + Several genesys bugfixes + + See merge request sane-project/backends!52 + +commit d7c17f75403aa5619c711b7d19e81932fa9a47b1 +Author: Povilas Kanapickas +Date: 2019-04-23 00:14:48 +0300 + + genesys: Limit maximum bulk transfer size to allow data capture + +commit f04119b12626d0bb7c71e46a8a82837501da7ee9 +Author: Povilas Kanapickas +Date: 2019-04-23 00:14:47 +0300 + + genesys: Remove support for fake USB mode + + WIP implement support for 8600F + +commit 902610132b04d1adc279f11cc2cb7541a28b0ba7 +Author: Povilas Kanapickas +Date: 2019-04-23 00:14:46 +0300 + + genesys: Include genesys_low.h + +commit 23416187205c4d7ef4ec9c1a4b1eaa3f0e03a4c4 +Author: Povilas Kanapickas +Date: 2019-04-23 00:05:35 +0300 + + genesys: Work around reads from non-initialized memory in gamma setup + +commit 88c22e38beef49e2722656f47f39e33b329bd967 +Author: Povilas Kanapickas +Date: 2019-04-23 00:05:34 +0300 + + genesys: Fix double free in sanei_genesys_send_gamma_table() + +commit 621c9799fe535d296218f80701a9ea06e538974d +Author: Povilas Kanapickas +Date: 2019-04-23 00:05:33 +0300 + + genesys: Fix use of uninitialized memory + +commit c9ebf2b5605e263d8d93f1132cb4df73ebee4516 +Merge: 4f5eb745 2fd3b562 +Author: Povilas Kanapickas +Date: 2019-04-22 20:56:38 +0000 + + Merge branch 'genesys-remove-unneeded-function-names-in-dbg-args' into 'master' + + genesys: Remove unneeded function name in DBG macro args + + See merge request sane-project/backends!51 + +commit 2fd3b5622b395bc60beb903b5e5539d23ca9b6eb +Author: Povilas Kanapickas +Date: 2019-04-22 23:48:23 +0300 + + genesys: Remove unneeded function name in DBG macro args + +commit 4f5eb745ac680479ed23eff0741911903090d21c +Author: Olaf Meeuwissen +Date: 2019-04-17 21:00:47 +0900 + + epson2_usb.c: Sync USB product IDs with epson2.desc content + +commit ddbcb2b28588068f845d6ef3feaa32c60f6e57d3 +Author: Olaf Meeuwissen +Date: 2019-04-17 21:00:10 +0900 + + epson2.desc: Add the EPSON L380 as supported. Re #23 + +commit 3f6f9f829eca56791cd3f28e755eaaef5761357a +Author: Olaf Meeuwissen +Date: 2019-04-06 17:11:47 +0900 + + utsushi.desc: Sync with upstream + +commit a3c64bc0cad104d09ba14f833828ae963dbc72f9 +Author: MackPi +Date: 2019-04-03 16:37:03 -0700 + + Added Imageclass MF634Cdw + + Added MF634Cdw using MF733Cdw as reference + +commit 155248dde28b2a9ec4114d59dc294b69b3260142 +Author: Louis Lagendijk +Date: 2019-03-27 19:09:43 +0100 + + pixma_bjnp: change default timeout from 1 to 10 seconds (10000) + +commit d15aa248c78c6f296fe1dbef189f54052c80386b +Author: Louis Lagendijk +Date: 2019-03-27 18:46:17 +0100 + + pixma_bjnp.c: corrected url-rewrite as it set bjnp:// unconditionally rather than honor the received method + function renamed to add_default_timeout() to clarify its purpose + +commit 4ac6550e7ca64a4f6c7ece2156c3d43033600b52 +Author: Olaf Meeuwissen +Date: 2019-03-23 14:09:24 +0900 + + utsushi.desc: Sync with upstream + +commit 0921d3661812615b4cb12d16d0754af49445bd05 +Author: Povilas Kanapickas +Date: 2019-03-22 15:56:57 +0200 + + sanei_usb: Deduplicate endpoint setup code + +commit 276670f3c249e4a59267bc5c45e170c8e7be7286 +Merge: e92a3d6e 2653cbae +Author: Povilas Kanapickas +Date: 2019-03-22 14:27:53 +0000 + + Merge branch 'rerun-autoreconf' into 'master' + + Rerun autoreconf and automake + + See merge request sane-project/backends!44 + +commit e92a3d6ebaca4fcedb262e7861155b9fd49e5bf0 +Merge: de5c63ee d866998f +Author: Povilas Kanapickas +Date: 2019-03-22 14:25:39 +0000 + + Merge branch 'remove-unused-unit-testing' into 'master' + + Remove uses of unused UNIT_TESTING ifdef + + See merge request sane-project/backends!45 + +commit de5c63ee7cff16115fa04ed998c988fb79087bda +Merge: 13350ba4 265f4a96 +Author: Povilas Kanapickas +Date: 2019-03-22 14:24:48 +0000 + + Merge branch 'genesys-enums' into 'master' + + genesys: Prefer enums to #defines + + See merge request sane-project/backends!47 + +commit 265f4a96ea0d3ba898b65adb56f7c7b83ae18b30 +Author: Povilas Kanapickas +Date: 2019-03-22 14:50:03 +0200 + + genesys: Prefer enums to #defines + +commit 2653cbaec799fbfd365362c45e61796ce90b6466 +Author: Povilas Kanapickas +Date: 2019-03-20 23:09:07 +0200 + + Run autoreconf and automake + +commit d866998f102f242ed421ff4b4480aa2a4073c166 +Author: Povilas Kanapickas +Date: 2019-03-20 23:09:05 +0200 + + genesys: Remove uses of unused UNIT_TESTING ifdef + +commit b7b5ca79c8f7a92d488d96d0b1d0963d01d86423 +Author: Povilas Kanapickas +Date: 2019-03-20 23:09:04 +0200 + + rts8891: Remove uses of unused UNIT_TESTING ifdef + +commit 13350ba4ba0a40e0fae4567bb23566575a0317e2 +Author: Rolf Bensch +Date: 2019-03-11 17:46:18 +0100 + + pixma: backend version 0.22.0 + +commit dfc5f5ed760b7922c98280e03099aed5bcc719ad +Author: Rolf Bensch +Date: 2019-03-11 17:45:27 +0100 + + pixma: new scanners Canon PIXUS XK50, XK70, XK80 Series + +commit 6f4440152f58507f5a4d4f915f41a5de7c0a5e2e +Author: Rolf Bensch +Date: 2019-03-11 17:44:19 +0100 + + pixma: new scanners PIXMA TS6130, TS6180, TS6230, TS6280, TS8100, + TS8130, TS8180, TS8200, TS8230, TS8280, + TS9180, TS9580 Series + +commit adef5537994948794ca6db3369b71269ffaa1d45 +Author: Rolf Bensch +Date: 2019-03-11 17:26:29 +0100 + + pixma: new scanners Canon PIXMA TR4500, TR7350, TR8530, TR8580, TR9530 Series + +commit 83ddbd0fc4ae64c694bf8f9ba5f695aa5f7d3bd8 +Author: Rolf Bensch +Date: 2019-03-11 17:23:20 +0100 + + pixma: new scanners Canon PIXMA G3010, G4010 Series + +commit 96e6eff1ae18d9d34d24a5e9ae4684da80c70165 +Author: Rolf Bensch +Date: 2019-03-11 17:21:36 +0100 + + pixma: fix some descriptions names + +commit 953562ae8e6e1c215e1b3818911edc35c6e8aec7 +Author: Rolf Bensch +Date: 2019-03-11 17:17:45 +0100 + + pixma: new scanner Canon PIXMA E4200 Series + +commit 0678ce8e3bd8f73efc3189df225b25d6de368679 +Author: Rolf Bensch +Date: 2019-03-11 17:15:54 +0100 + + pixma: fix some interface descriptions + +commit 960a6d5d697bac72dd5d068eefe12741a5d68de5 +Merge: 9d69d94f 2915756a +Author: Rolf Bensch +Date: 2019-03-08 20:56:26 +0000 + + Merge branch 'master' into 'master' + + Add Driver Canon Pixma TS 6200 Serie. + + See merge request sane-project/backends!43 + +commit 9d69d94f0219fa71b8e16968f08293f902d0016f +Author: Rolf Bensch +Date: 2019-03-08 17:28:36 +0100 + + add missing development packages to INSTALL.linux + +commit 2915756ae4262b6a87490b5d96959f58c498307b +Author: Thierry +Date: 2019-03-05 08:43:31 +0100 + + Add Driver Canon Pixma TS 6200 Serie. + +commit 9e4344b33a2d83aa7663b65d6d8a49c7306d72c7 +Author: Rolf Bensch +Date: 2019-02-27 19:37:58 +0100 + + remove canon_mfp from doc/sane-mfgs-external.html + + all listed scanners are supported by the pixma backend + +commit 9c4ac1f07f67b9f07f53a380897b3af11601a240 +Author: m. allan noah +Date: 2019-02-24 20:37:55 -0500 + + canon_dr backend v57 + + - complete support for X-10, including hardware cropping (by manuarg) + - minor comments and move a bit of code for consistency + +commit 81faeb46f28c4b6c251123aabac118ff0262d9e7 +Merge: 2d0912af 60dffda6 +Author: m. allan noah +Date: 2019-02-25 01:37:03 +0000 + + Merge branch 'canon_drx10c' into 'master' + + Add support for Canon DR-X10C scanner + + See merge request sane-project/backends!12 + +commit 2d0912afdcdb174721dbad0cb2e200880e5ddb15 +Author: Rolf Bensch +Date: 2019-02-24 12:40:16 +0100 + + pixma: backend version 0.21.1 + +commit 0c00dac37adbf61db5f64a5bcb67be039a19bd58 +Author: Rolf Bensch +Date: 2019-02-24 12:39:54 +0100 + + pixma: update doc files for MF731/733 + +commit d0e4f0fa5268294993ec640a18bcd8893a4d1e51 +Author: Rolf Bensch +Date: 2019-02-24 12:38:37 +0100 + + pixma: add comment for MF733C + +commit 73645abba08a0df68c43f798dee9cf28451b785d +Merge: 5ae6f698 b327c3d7 +Author: Rolf Bensch +Date: 2019-02-24 11:22:07 +0000 + + Merge branch 'mikef-MF733C' into 'master' + + Mikef mf733 c + + See merge request sane-project/backends!42 + +commit 5ae6f698aedd58ad83802b0ecfe87d171f30ee72 +Author: m. allan noah +Date: 2019-02-23 15:46:59 -0500 + + remove trailing whitespace + +commit 156f7c9bd442105038adeb9962a60fb1b56b6349 +Author: m. allan noah +Date: 2019-02-23 15:16:32 -0500 + + fujitsu backend v134 + + rewrite init_vpd for scanners which fail to report overscan correctly + update description and man page to match + rebuild po files with updated line numbers + +commit 057a10e9842997aeb7166fcd7a255390d047d3d9 +Author: m. allan noah +Date: 2019-02-23 15:14:34 -0500 + + move three scanners to unsupported.desc + + These three machines are unsupportable by fujitsu backend. Remove + them from fujitsu backend files. + +commit 941f6bb3808fd45760ab0cf0fa0cf53a6f197986 +Author: m. allan noah +Date: 2019-02-23 14:54:48 -0500 + + remove nonexistant scanners + + the fi-6125 and 6135 were never released, though they showed in + some old versions of the windows driver. here, we remove them. + +commit b608751b82cad09a82d816dcb2210c5352996bcd +Author: m. allan noah +Date: 2019-02-23 14:50:49 -0500 + + Fix a few typos + +commit b327c3d780a486b3069f2f17c589fcc083289788 +Author: Mike Ferrara +Date: 2019-02-22 11:01:51 -0800 + + Typo. fixed. + +commit eadd663676c17a30ba27854e82ad8dfebefb4aa6 +Merge: 7277cec0 ff04ede4 +Author: Mike Ferrara +Date: 2019-02-22 10:40:29 -0800 + + Merge branch 'master' into mikef-MF733C + +commit 7277cec027c80386f90193b330aacf1b555d0c96 +Author: Mike Ferrara +Date: 2019-02-22 10:30:18 -0800 + + Mods to support imageCLASS MF733Cdw USA color laser MFP + +commit ff04ede4adb4f0267351150122fa63fea354f0bb +Author: Rolf Bensch +Date: 2019-02-20 19:51:57 +0100 + + pixma: Canon PIXMA G2000 is working + + reported by William Bombardelli da Silva + +commit 7521ff5b339c1513560014f1885742f57cfa5b36 +Author: Rolf Bensch +Date: 2019-02-20 19:25:46 +0100 + + pixma: Canon imageRUNNER 1133 is working + + See issue sane-project/website#15 + +commit c9c0d956c60a9e7d36bdfbdcdfdf1340499d2edd +Author: Rolf Bensch +Date: 2019-02-20 19:14:19 +0100 + + pixma: backend version 0.21.0 + +commit 7bbc9bf1c76c9ce1a36d3c771e38d8585c724d86 +Author: Rolf Bensch +Date: 2019-02-20 19:12:55 +0100 + + pixma: new scanner CanoScan LIDE 300 + + See issue sane-project/website#18 + +commit 0d193b838b49335c848ad2b6e0d5edee95796837 +Author: Rolf Bensch +Date: 2019-02-20 19:00:32 +0100 + + pixma: fix manpage section + +commit ab1b746c69e2490102fd2cec36f7489b797b4bd4 +Author: Rolf Bensch +Date: 2019-02-20 18:47:24 +0100 + + pixma: add button support for CanoScan LiDE400 + +commit c784e82d65689fd1e315bb814e381959a56d2b98 +Merge: 2b0c7a31 d9784940 +Author: Rolf Bensch +Date: 2019-02-20 17:44:44 +0000 + + Merge branch 'master' into 'master' + + pixma: Added Canon LiDE 400 + + See merge request sane-project/backends!36 + +commit d9784940968d4dec9ffc4b1810b01729bb9270a2 +Author: pekhterev +Date: 2019-02-20 17:44:44 +0000 + + pixma: new scanner CanoScan LiDE 400 + + See merge request sane-project/backends!36 + +commit 60dffda6036ae15d89b2a94af269d32dcb300786 +Author: Manuel Argüelles +Date: 2019-02-08 22:40:15 -0500 + + Add mention of company contributing to canon_dr.c + +commit 2b0c7a3170a6ef0ab74bbf652069aa06a069e8c6 +Author: Alex Belkin +Date: 2019-02-05 15:19:27 +0300 + + xerox_mfp: Add Samsung C480W usb id + + Reported in #54 by Lambrigts walter. + +commit 78ffe3235db28a1048561d32267dc69fdc3b79d1 +Merge: 66fed7c4 fd18d197 +Author: Alex Belkin +Date: 2019-02-05 15:08:17 +0300 + + Merge branch 'Piraty/backends-samsung-m2070' + +commit fd18d197f8346ebee2841fc0ddbd5bbca6e8649e +Author: Piraty +Date: 2019-02-03 15:06:59 +0100 + + xerox_mfp: Add Samsung Xpress M2070 + + Device is tested with latest sane (1.0.27) on several Linux + distributions (Void Linux + Ubuntu), using the proposed addition. + + Frontends used to test are: simple-scan and xsane + +commit 66fed7c4bfb28fb0a97abb470751636ada871c82 +Author: Olaf Meeuwissen +Date: 2019-02-02 10:38:35 +0900 + + Bump Alpine build from 3.8 to 3.9 + +commit 4354fc7f6da2ee65cbe940a715f11abecdad3f49 +Merge: 93340afd 00d31e14 +Author: Olaf Meeuwissen +Date: 2019-01-21 11:51:48 +0000 + + Merge branch '7-discolored-bar-on-scan-canolide-200-from-1-0-25-onwards' into 'master' + + Restore slow_back_home use, disable rewind for gl847 + + Closes #7 + + See merge request sane-project/backends!34 + +commit 93340afddfbc4085a5297fe635b65dd7f7f3ef05 +Author: Bernhard Übelacker +Date: 2018-12-17 00:05:43 +0100 + + mustek_usb2: Avoid stack smashing. Fixes #35 + + Use a properly sized variable in call to sanei_usb_{read,write}_bulk. + + Debian-Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886777 + Debian-Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907972 + +commit a8fb090f560aa8f15df137c4162090524fd31323 +Author: Rolf Bensch +Date: 2019-01-03 12:12:28 +0100 + + add missing development package to INSTALL.linux + +commit 99abf804109b330a77a4bf7c74e37df965698138 +Author: Rolf Bensch +Date: 2019-01-01 14:25:23 +0100 + + pixma: backend version 0.20.0 + +commit 8fdc6f79eaa050d60257f9f541382ffa1ebe0aa4 +Author: Rolf Bensch +Date: 2019-01-01 14:24:41 +0100 + + Revert "pixma: backend version 0.19.0" + + This reverts commit dd6e2632418d46baaed6d6f5aec1d4c8fc625d9f. + +commit 46ef5ffa4198847e306aae8047fe04bf53ab5aa7 +Author: Rolf Bensch +Date: 2019-01-01 14:24:27 +0100 + + pixma: update copyright + +commit 107f334d7f0693756dfc148e05265e78da75816a +Author: Rolf Bensch +Date: 2019-01-01 14:20:46 +0100 + + pixma: update copyright + +commit dd6e2632418d46baaed6d6f5aec1d4c8fc625d9f +Author: Rolf Bensch +Date: 2019-01-01 14:14:19 +0100 + + pixma: backend version 0.19.0 + +commit ff021ddcf919039a95d75f1fb87c05332264274e +Author: Rolf Bensch +Date: 2019-01-01 14:13:58 +0100 + + pixma: new scanner Canon imageCLASS D550 + +commit ac83c8110c47659993266dae3de6aafb29308716 +Merge: 36648cba d71f5e4b +Author: Gerhard Jäger +Date: 2018-12-31 14:13:26 +0000 + + Merge branch 'plustek-fix-color-banding-64bit' into 'master' + + backend/plustek: fix "color-banding" on 64bit + + Closes #42 + + See merge request sane-project/backends!33 + +commit 36648cba52c90df11ee5a6c3d3a4a7506b0cc7cd +Merge: 2d14283d 47f9b1ee +Author: Gerhard Jäger +Date: 2018-12-31 14:09:56 +0000 + + Merge branch 'lide700' into 'master' + + Fix a bug with Canon LiDE 700 where bright areas overflow + + See merge request sane-project/backends!32 + +commit 2d14283d0c443cfd505088f2503b6e59d47b192d +Author: Rolf Bensch +Date: 2018-12-20 12:57:14 +0100 + + pixma: backend version 0.19.0 + +commit 2f3cdcb58089ca62e36151d687bf29839882f748 +Author: Rolf Bensch +Date: 2018-12-20 12:56:47 +0100 + + pixma: new scanner Canon PIXMA TS9500 Series + +commit 08a638dc319a9f10810f2653002c7f348dd492d6 +Author: Nico R +Date: 2018-10-06 17:50:47 +0200 + + xerox_mfp: Add Samsung Xpress C1860FW + + Device status is “untested”, because it was not really tested _in depth_. + Basic scanning of a number of pages using the automated feeder worked. + + See https://alioth-lists.debian.net/pipermail/sane-devel/2018-October/036411.html + +commit 00d31e14f8a5339a2756af29697ec3c2ff6e7d4d +Author: Olaf Meeuwissen +Date: 2018-12-16 22:25:12 +0900 + + genesys: fix [-Wunused-function] compiler warning + +commit d609de285b710ca0a9c76c653abee4b8f4315f57 +Author: Olaf Meeuwissen +Date: 2018-12-16 21:56:52 +0900 + + Restore slow_back_home use, disable rewind for gl847 + + See #7. + +commit d71f5e4bc87500c2de8e4297e140bab09e3f6272 +Author: Michał Wróbel +Date: 2018-12-09 22:21:18 +0100 + + backend/plustek: fix "color-banding" on 64bit + + Fixes https://gitlab.com/sane-project/backends/issues/42 + +commit dc3e6e6e41f4698c0676bb8d0119777ed91d287a +Author: Olaf Meeuwissen +Date: 2018-12-08 20:33:20 +0900 + + .gitignore: `make check` artifacts + +commit 866c451edb420855c6d9dff6b7a6c21a0a2d96ce +Author: Olaf Meeuwissen +Date: 2018-12-08 20:29:22 +0900 + + Add a Fedora 29 build, drop the Fedora 27 one + +commit b72e2bc758a9d6a93b25083f8f4ac73dadff1e86 +Author: Olaf Meeuwissen +Date: 2018-12-08 20:24:00 +0900 + + utsushi.desc: Sync with upstream + +commit 47f9b1eeed2deb1f0d0f63c25f83dab5aeea0c8d +Author: Mark Hills +Date: 2018-12-01 21:01:57 +0000 + + Fix a bug with Canon LiDE 700 where bright areas overflow + + On this scanner, white areas are easily seen to become yellow, implying + some kind of integer overflow in the blue channel first, followed by + others. + + I can't be 100% sure this is the correct fix without knowing more about + the design or having a data sheet; this "target_code" was established + experimentally. + + This is a fix to issue #43. + +commit 4423421806d727885918b81f94fde1d21409059e +Author: Mark Hills +Date: 2018-12-01 21:00:47 +0000 + + A switch statement prepares us for additional entries + + Avoid the negative 'if' case which is harder to reason about. Preparing + for new entries to be added here. + +commit 1bc6ade107d294d93ad4c50727bd9fd77caf63ec +Author: Manuel Argüelles +Date: 2018-11-30 10:50:13 -0500 + + Fix image displacement for lineart/halftone during hardware crop + + Increases the width of the image if the reported size is less than the byte + boundary. + +commit ecac81eee2f79fc3f089f3a3d3509a2860e3f4c0 +Author: Manuel Argüelles +Date: 2018-11-12 14:01:24 -0500 + + Set scan area to maximum when hardware crop is enable + +commit dc8b27c1eff4617596f7b9304ef743d415791c26 +Author: Olaf Meeuwissen +Date: 2018-11-12 21:14:18 +0900 + + Add new maintainer to genesys backend + +commit 5c048d58df598c31e6918ad19179fa7131f56b43 +Author: Olaf Meeuwissen +Date: 2018-11-09 20:31:29 +0900 + + Mention commit access for ricoh2 backend maintainer. + + [skip ci] + +commit 0af6149aa8799f0d0b08570af34a99c3de63eaba +Merge: 6f797d94 9cf0de75 +Author: Olaf Meeuwissen +Date: 2018-11-04 11:33:33 +0000 + + Merge branch 'master' into 'master' + + Add new backend ricoh2 + + See merge request sane-project/backends!20 + +commit 9cf0de7559fe68a40db8e9f7421696e6d8c90c03 +Author: Stanislav Yuzvinsky +Date: 2018-11-02 23:12:44 +0300 + + Address review comments + +commit 6f797d94e572e333341d11a32aa37a6b36018584 +Author: Rolf Bensch +Date: 2018-10-28 12:29:36 +0100 + + pixma: backend version 0.18.2 + +commit 1675697366e0d69edf1e413265c6fc15e6f3ab97 +Author: Rolf Bensch +Date: 2018-10-28 12:28:11 +0100 + + pixma: MP490 Series doesn't need special image formatting @ high dpi + +commit 5fee88415b175054f38a9a31967c007c8b36d20f +Author: Rolf Bensch +Date: 2018-10-28 12:11:49 +0100 + + pixma: Canon imageCLASS MF8030 is working + +commit f111032e7f05e735422d02a88b1d04cb7b5da1c2 +Author: Martin Güthle +Date: 2018-10-25 08:53:58 +0200 + + as6e: Avoid out of bound access + + This fixes a crash due to a stack corruption. + To reproduce the bug, set a path within the PATH variable, to something, + which exceeds 128 chars. Maybe more chars are needed, to reach the stack + corruption. + +commit 54aa154d918245d5090fc342d4d1b00cf12a2477 +Author: Rolf Bensch +Date: 2018-10-24 20:25:40 +0200 + + pixma: backend version 0.18.1 + +commit 8818879297155abb8f91b242b98b62a4d0024331 +Author: Rolf Bensch +Date: 2018-10-24 20:24:00 +0200 + + pixma: Canon PIXMA E510 is working + +commit e41090725370cf0abaf15cd9c34ad7e711fece3f +Merge: ef85977e 1846b038 +Author: Rolf Bensch +Date: 2018-10-24 20:05:00 +0200 + + Merge branch 'kapcake/backends-patch-1' + +commit 1846b0381e06359033f122986f3296afa3445677 +Author: Laurent Kap +Date: 2018-10-17 21:30:17 +0000 + + Adds button support for Pixma MG5350 + +commit ef85977ec4ba55254dba31752c84b4e160b63923 +Author: Rolf Bensch +Date: 2018-10-12 12:33:46 +0200 + + pixma: Canon PIXMA TS3100 Series is working + +commit 54c42b04a8ccfce2c140782007a11d2b3a1627fe +Merge: f633bad6 05400ad6 +Author: Gerhard Jäger +Date: 2018-10-11 07:36:54 +0000 + + Merge branch 'lide80-increase-bright-point' into 'master' + + backend/genesys: Increase excessively low bright point on Lide 80 calib + + See merge request sane-project/backends!10 + +commit f633bad6ec1dd4b306ea245dc10a602020df7bba +Merge: 030153b3 92c40c44 +Author: Gerhard Jäger +Date: 2018-10-11 07:34:14 +0000 + + Merge branch 'lide80-reduce-dark-area-offset' into 'master' + + backend/genesys_gl841: Reduce extra dark area offset for Lide 80 + + See merge request sane-project/backends!9 + +commit 030153b39b82aca45b724b940aa107fdfe0c4b37 +Merge: 6abb072d 065855e1 +Author: Gerhard Jäger +Date: 2018-10-11 07:33:24 +0000 + + Merge branch 'lide80-disable-ledadd' into 'master' + + backend/genesys_gl841: Disable LEDADD on Lide 80 since it's broken there (fixes issue #12) + + Closes #12 + + See merge request sane-project/backends!7 + +commit 6abb072ded1daea860c64375b140287fb180bfbd +Merge: c980c732 a64f2096 +Author: Gerhard Jäger +Date: 2018-10-11 07:29:59 +0000 + + Merge branch 'master' into 'master' + + genesys: Add buttons to LiDE 60 + + See merge request sane-project/backends!6 + +commit c980c73259de59b5af1785068b21c5417173e47e +Author: Olaf Meeuwissen +Date: 2018-10-11 00:46:55 +0900 + + Remove cached lists of supported devices + + Caching was introduced in e7d9779dfc3748f8f205585fa09ebc7181874642. + + Fixes sane-project/website#7. + +commit e2bfb2e00ad5f87d4f905218daa7d066f908c28b +Author: Olaf Meeuwissen +Date: 2018-10-11 00:30:20 +0900 + + Bump Alpine build from 3.7 to 3.8 + +commit b31ef5e4aafdc02eb019039a7a5f1b4e80e874ef +Author: Rolf Bensch +Date: 2018-10-08 21:25:47 +0200 + + pixma: backend version 0.18.0 + +commit e8bdbe1f50fd44a87f6f95c40577ac1ea462b01f +Author: Rolf Bensch +Date: 2018-10-08 21:24:51 +0200 + + pixma: new scanners Canon MAXIFY MB5100, MB5400 Series + +commit b5e92b8b8de83985f25484adcdeb5b2a4ecd0df9 +Author: Rolf Bensch +Date: 2018-10-08 21:24:04 +0200 + + pixma: new scanners Canon PIXMA TR7500, TR8500, TS3100, TS5100, TS9100 Series + +commit 8ba4c51bae5df65b67b692da9ade5e7808cee9eb +Author: Olaf Meeuwissen +Date: 2018-10-02 22:09:18 +0900 + + utsushi.desc: SYnc with upstream + +commit 30579b0f54dc079549bdf8190e59477814852799 +Merge: 428dc565 de8ab756 +Author: Olaf Meeuwissen +Date: 2018-10-02 11:27:47 +0000 + + Merge branch 'for-upstream/backend_avision_gitignore' into 'master' + + add .po~ to gitignore + + See merge request sane-project/backends!24 + +commit 428dc5657d4e02d8eefabd0231e8117e73c17ccd +Merge: 6bdb2486 37bbbed3 +Author: Olaf Meeuwissen +Date: 2018-10-01 21:17:45 +0000 + + Merge branch 'check-po.awk-typos2' into 'master' + + check-po.awk: Fix minor typos + + See merge request sane-project/backends!27 + +commit 37bbbed3cbe8ae80035f356d41e144c2e4255b3a +Author: Simon J Mudd +Date: 2018-09-30 20:29:16 +0200 + + check-po.awk: Fix minor typos + +commit de8ab7560898550cbb6e3dcac655b46c52adaeaf +Author: Michael Niewoehner +Date: 2018-09-20 19:26:43 +0200 + + add .po~ to gitignore + +commit 6bdb2486aeba08a4d75964b325da5a75b14c68bf +Merge: 04fc0ca8 cfbc7448 +Author: Rolf Bensch +Date: 2018-09-29 20:39:05 +0200 + + Merge remote-tracking branch 'origin/master' + +commit 04fc0ca8bd7bd64a1d4fbee6790d4353a79275a4 +Author: Rolf Bensch +Date: 2018-09-29 20:37:59 +0200 + + pixma: TS6100 Series is working + +commit d62ba623b2118ca009a8491e40daedbbd643f267 +Author: Stanislav Yuzvinsky +Date: 2018-09-22 01:00:06 +0300 + + Add new backend ricoh2 + +commit 3437b6e48ed235d5fcec6a4625eddf6bb52b77df +Author: Rolf Bensch +Date: 2018-09-22 12:54:05 +0200 + + pixma: i-SENSYS MF730 Series is working + +commit cfbc744826f5ca29936fd00ae05b385819ce9988 +Author: Alex Belkin +Date: 2018-09-21 21:35:03 +0300 + + xerox_mfp: Change support status of SCX-4623FW after user feedback + + Also fix spelling of previous commit. + +commit 22af4c8e251e34d28c13db79da8b5743e330a030 +Author: Alex Belkin +Date: 2018-09-20 15:11:16 +0300 + + xerox_mfp: Update xerox_mfp.desc with useful comments + +commit 9ee0d41f4a0529fc2dd17b976337f6902053acff +Merge: 8bc33176 46e59346 +Author: Olaf Meeuwissen +Date: 2018-09-17 00:36:35 +0000 + + Merge branch 'master' into 'master' + + Add Hebrew translation by Elishai Shkury + + See merge request sane-project/backends!17 + +commit 46e59346ea4f24210f50d82052e83486287004b0 +Author: Yuri Chornoivan +Date: 2018-09-16 22:57:27 +0300 + + Add Hebrew translation by Elishai Shkury + +commit 8bc331761a88491c80524cd7d4b1ae64c1fccc92 +Merge: 0b811391 eceeaa80 +Author: Olaf Meeuwissen +Date: 2018-09-16 13:07:31 +0900 + + Merge branch 'master' of https://gitlab.com/bellaperez/backends + +commit eceeaa80afcfacb541f653380d4fbadba6c94e9c +Author: Antoni Bella Pérez +Date: 2018-09-15 22:28:48 +0200 + + Add a new transtalion for Valencian Language + +commit 0b811391a9b3bacfe17f8760da16b96663ba647e +Author: Rolf Bensch +Date: 2018-09-13 19:07:42 +0200 + + pixma: new scanner i-SENSYS MF410 Series + +commit e8b11ec2eb948d5b13bc05287ddd58aad24bc413 +Author: Rolf Bensch +Date: 2018-09-13 18:43:55 +0200 + + pixma: backend version 0.17.51 + +commit 3b5223b16b043bba1c74a70df87047c889c7bc88 +Author: Rolf Bensch +Date: 2018-09-13 18:43:31 +0200 + + pixma: new scanner imageCLASS D570 + +commit 01533e2e3e99e72ec29272a039ef6997360e99e6 +Author: Rolf Bensch +Date: 2018-09-12 22:09:06 +0200 + + pixma: backend version 0.17.50 + +commit dbecf846d5c040eb0688eba2af21a168dbe29114 +Author: Rolf Bensch +Date: 2018-09-12 22:08:41 +0200 + + pixma: new scanner TS6100 Series + +commit 92dc8789be48297c4dca68b1150dfb0c83603c90 +Author: Antoni Bella Pérez +Date: 2018-09-10 23:30:40 +0200 + + Sync source code + +commit 4bea45b632e68d7b6aa2972523d664fe42140a08 +Author: Antoni Bella Pérez +Date: 2018-09-10 00:43:34 +0200 + + Fixes from Softcatalà.org mailing list + +commit 4c562f8142b0b67e8646975f07a3d0ebb588703f +Author: Olaf Meeuwissen +Date: 2018-09-09 09:54:38 +0900 + + Document that Ethernet works for the Canon MB5300 Series + + See https://alioth-lists.debian.net/pipermail/sane-devel/2018-September/036346.html + +commit fd8aedea4c475f1c8c51c3efe28bc81495ece61c +Author: Olaf Meeuwissen +Date: 2018-09-08 20:15:15 +0900 + + List Canon MB5300 Series as supported + + See https://alioth-lists.debian.net/pipermail/sane-devel/2018-September/036340.html + +commit f0f349b0ce2088dac9c8762959f9bf2f93313e9b +Author: Antoni Bella Pérez +Date: 2018-09-07 15:22:17 +0200 + + Last fixes reported + +commit 36d1618b76d692e58523e02e869d8eab0834c413 +Author: Antoni Bella Pérez +Date: 2018-09-07 14:52:27 +0200 + + 100% translated, whaiting mailing list fixes... ;-) + +commit 3ee997194a7026085b3c390289bfec89fb81e40c +Merge: 2f944738 1484b475 +Author: Olaf Meeuwissen +Date: 2018-09-06 12:30:34 +0000 + + Add support for Plustek OpticSlim 500+ + + See merge request sane-project/backends!4 + +commit 1484b47582d20eab6a78a1f0461f5e90ceb7faa8 +Author: Mikhail Strizhov +Date: 2018-09-06 12:36:26 +0300 + + add support of Plustek OpticSlim 500+ + +commit 210ea90b107337a79e4505c372124db4a6ad41b8 +Author: Antoni Bella Pérez +Date: 2018-09-04 23:26:43 +0200 + + More updates + +commit 2f944738803fbaf90a37e3960b06f565274c1174 +Merge: 1d58e23c 32d05417 +Author: Olaf Meeuwissen +Date: 2018-09-04 12:24:52 +0000 + + Merge branch 'master' into 'master' + + Update Ukrainian translation + + See merge request sane-project/backends!14 + +commit 7f551a79e33df168b5faaa73ea0bcb7d5b8f7269 +Author: Antoni Bella Pérez +Date: 2018-09-03 01:23:23 +0200 + + Updates and fixes for initial translation + +commit 617037837aff3952dae719265250f4a1e3d657d6 +Author: Antoni Bella Pérez +Date: 2018-09-02 21:33:36 +0200 + + Fixes from SoftCatalà.org + +commit ceb6b2787e5f904c6a652988ef8f77f44ef4d826 +Author: Antoni Bella Pérez +Date: 2018-09-02 21:06:41 +0200 + + Last fixes for initial translation + +commit 32d05417c898fad4985f3cb87b465826ec99fd60 +Author: Yuri Chornoivan +Date: 2018-09-02 20:23:47 +0300 + + Update Ukrainian translation + +commit 1d58e23c91bce08693ae75ae18d66c938927b6b7 +Author: Olaf Meeuwissen +Date: 2018-09-02 20:52:51 +0900 + + utsushi.desc: Sync with upstream + +commit 4a73b1cb0c0184cb7340fb398d39c63f649341cb +Author: Antoni Bella Pérez +Date: 2018-09-01 23:26:55 +0200 + + KDE fixes (pology) for initial translation + +commit 7459debf0ed2de477111f2246f15c24758e6b19e +Author: Antoni Bella Pérez +Date: 2018-09-01 20:52:05 +0200 + + Update initial translation + +commit a1f3fbcef869e865aef7a6817a12aba3f8cda58e +Author: Antoni Bella Pérez +Date: 2018-08-28 19:55:01 +0200 + + Sync all languages (test Catalan translations) + +commit 2143773b063e58754c9fe56a6cc5c9cfbf676964 +Author: Antoni Bella Pérez +Date: 2018-08-28 19:31:57 +0200 + + Update initial translation + +commit 158898f2a4e26467f84ff15d01e0da8eeec38c7f +Author: Antoni Bella Pérez +Date: 2018-08-28 00:52:26 +0200 + + More updates for initial translation + +commit 5230430a572c078605cf9cd3894de2ebb80b1956 +Author: Rolf Bensch +Date: 2018-08-27 21:57:24 +0200 + + pixma: backend version 0.17.49 + +commit eb11c2fc94ccc7ae0e002a6a488546dd31f17171 +Author: Rolf Bensch +Date: 2018-08-27 21:56:48 +0200 + + pixma: new scanner i-SENSYS MF731/733 + +commit c187b6c36334789f9d71f1e74f89615725a9f068 +Author: Antoni Bella Pérez +Date: 2018-08-27 02:05:11 +0200 + + Updates for initial translation + +commit d61a59ca01b638474b6a847bf26e6dfb9420e064 +Author: Manuel Argüelles +Date: 2018-07-30 17:26:13 -0500 + + Add support for Canon DR-X10C scanner + + Added initial support for DR-X10C SSM2 scanner with dropout color, hardware + deskew and hardware crop. + +commit a76b0b21543f38996fb6a516f7d8e25cb80d08c7 +Author: Antoni Bella Pérez +Date: 2018-08-21 14:10:54 +0200 + + Add an initial translation + +commit 082cf4cdf3cad1f97f4d1a5c0ffb1ad2c69ab9df +Merge: 1a2a8ee7 d6aace7d +Author: Olaf Meeuwissen +Date: 2018-07-22 13:01:55 +0000 + + Merge branch 'hp5590-fix-compile-error' into 'master' + + hp5590: Fix sanei_net.h include path. + + See merge request sane-project/backends!8 + +commit 05400ad69b8047f0a2320a120519941fa99faf36 +Author: Povilas Kanapickas +Date: 2018-07-21 03:37:45 +0300 + + backend/genesys: Increase excessively low bright point on Lide 80 calib + +commit 92c40c44b9a6c7ce7a5cc865db1f4b61fb1bd3c0 +Author: Povilas Kanapickas +Date: 2018-07-21 03:37:44 +0300 + + backend/genesys_gl841: Reduce extra dark area offset for LIDE 80 + +commit 065855e1da5c088e561580c26d96ad2b051685c4 +Author: Povilas Kanapickas +Date: 2018-07-21 03:37:46 +0300 + + backend/genesys_gl841: Disable LEDADD on Lide 80 since it's broken there + +commit d6aace7d5167b39d474f57c5671f0a400cad0bc0 +Author: Povilas Kanapickas +Date: 2018-07-21 03:37:43 +0300 + + hp5590: Fix compile error + +commit 1a2a8ee744ceacdb2a46906e626327c5d9496af6 +Author: Ilia Sotnikov +Date: 2018-07-15 14:09:49 +0300 + + backend/hp5590.c, backend/hp5590_cmds.c: + + Files header have been expanded to mention of scanbd integration by + Damiano Scaramuzza and Bernard Badr + +commit bfc63709a796704005642edfacf0b4bb92732597 +Merge: fc88e525 1649d5bf +Author: Ilia Sotnikov +Date: 2018-07-15 11:00:18 +0000 + + Merge branch 'master' into 'master' + + HP5590: scanbd integration is ready. + + See merge request sane-project/backends!5 + +commit 1649d5bfea36bc2209a7c673df333ac6c71ac376 +Author: Bernard B Badr +Date: 2018-07-15 11:00:18 +0000 + + HP5590: scanbd integration is ready. + +commit a64f2096438970ca0c1b9a86f363a0f3ce8476ef +Author: iosabi +Date: 2018-07-02 22:48:02 +0200 + + genesys: Add buttons to LiDE 60 + + Canon LiDE 60 has four buttons. These are already supported in the + GL841, we just needed to add them to the config. Tested it with scanbd. + +commit fc88e5251130ef39a7e56930c3323aa1d8d7762d +Author: Olaf Meeuwissen +Date: 2018-06-13 21:23:43 +0900 + + utsushi.desc: Sync with upstream + +commit a80f3b575ea7f2ef90efb1368949a7d0cf451366 +Author: Ilia Sotnikov +Date: 2018-06-11 11:11:53 +0300 + + backend/hp5590.c, backend/hp5590_cmds.c: + + Files header have been expanded to mention of ADF page detection and + high DPI fixes by Bernard Badr + * Use C-style comments instead of C++ ones + +commit 8c912284299d37dd32ea8e3216d16cada180928e +Merge: 85efea28 b1da51f7 +Author: Ilia Sotnikov +Date: 2018-06-11 07:56:28 +0000 + + Merge branch 'master' into 'master' + + HP5590: Fixed ADF handling, fixed 48bit color mode, fixed 2400 dpi color layer shift. + + See merge request sane-project/backends!3 + +commit b1da51f7fe04f6186dc0f1826bd7c0e67f1e41f8 +Author: Bernard Badr +Date: 2018-06-11 07:56:28 +0000 + + HP5590: Fixed ADF handling, fixed 48bit color mode, fixed 2400 dpi color layer shift. + +commit 85efea28aeb14c0f769a25d527055636aa9ec915 +Author: Olaf Meeuwissen +Date: 2018-05-31 22:15:04 +0900 + + Add a Fedora 28 build, drop the Fedora 26 one + +commit ad20558bb23195f3a5c7cbcc9cb81af3e05dcd19 +Author: Alex Belkin +Date: 2018-05-18 01:51:01 +0300 + + xerox_mfp: Blacklist Samsung M288x Series from jpeg mode + + Fix issue #315839 reported by Jan Christoph Ebersach + https://alioth.debian.org/tracker/?func=detail&group_id=30186&aid=315839&atid=410366 + +commit 54a55700f66eaeef827de3ab2dbf802dd32ea697 +Author: Alex Belkin +Date: 2018-05-18 01:31:46 +0300 + + xerox_mfp: blacklist SCX-4500W from jpeg mode + + Fix issue #315876 reported by Bernard Cafarelli + https://alioth.debian.org/tracker/?func=detail&atid=410366&aid=315876&group_id=30186 + +commit 4accdae4edbaf4ab88dcf458282c82189f8e39a3 +Author: Rolf Bensch +Date: 2018-05-16 21:29:50 +0200 + + pixma: backend version 0.17.48 + +commit 15aebab5149a767e02e25b47abb7145f7fa6f668 +Author: Rolf Bensch +Date: 2018-05-16 21:29:14 +0200 + + pixma: Canon MAXIFY MB2100 and MB2700 Series support 1200 dpi + +commit 6a7e4141eb53876511829b5bb87aae311d828402 +Merge: 9d315bc2 5e5183c8 +Author: Rolf Bensch +Date: 2018-05-16 18:08:42 +0000 + + Merge branch 'mb2100_adf_oop' into 'master' + + Return NO_DOCS after last ADF page, not IO_ERROR + + See merge request sane-project/backends!2 + +commit 5e5183c84efe4d71675a3d4cc968a4eb09511a7d +Author: Earle F. Philhower, III +Date: 2018-05-15 20:16:44 -0700 + + Return NO_DOCS after last ADF page, not IO_ERROR + + When scanning from ADF in MP150 based scanners, after the last page is + scanned the XML session-close was sent. However, when using the ADF, if + the frontend called sane_start/sane_read(), it would try and send an + XML command that was not valid after the session abort. This would give + an IO error up through the stack. + + Now, check if ADF scanning is happening and on reads after the last page + return SANE_STATUS_NO_DOCS on read. and abort. + + Finally, minor fix of max DPI for Pixma MAXIFY MB21xx/27xx to 1200 DPI. + +commit 9d315bc2f71c48622511c49fdeeb756b71a69e38 +Author: Robert A. Schmied +Date: 2018-05-14 21:28:40 +0900 + + Fix typo in debugging statement + +commit a1c42247ab36682d9664affb1dab5933dbd3fd20 +Author: Rolf Bensch +Date: 2018-05-12 20:54:38 +0200 + + pixma: backend version 0.17.47 + +commit 72f9411257345c941459703f3e08f79d8ea8f46e +Author: Rolf Bensch +Date: 2018-05-12 20:55:16 +0200 + + pixma: new scanners Canon Maxify MB2100 and MB2700 Series + +commit 8c340a34a49312a29f959e22286c3b83be9bf19b +Merge: c6bfe88c d90f9054 +Author: Rolf Bensch +Date: 2018-05-12 20:35:41 +0200 + + Merge branch 'earlephilhower/backends-pixma_jpeg' + + merge request #1 + +commit d90f9054c6fd2f4ecad78142411bef91c449c19f +Author: Earle F. Philhower, III +Date: 2018-05-09 13:40:10 -0700 + + Add JPEG scanning, MB2100/2700 to PIXMA + + The Maxify scanners seem to only be able to return JPEG data for ADF + sources. Attempting to send a gamma LUT will result in an error on + sane_start when trying to use the ADF. Flatbed scanning is unaffected + and runs fine with LUTs like prior models. + + This patch adds support to the PIXMA backend for returned JPEG scans + and keys it off of the new capability, ADF_JPEG. + + Tested on a Maxify MB2120 using the ADF and the flatbed scanner. + + This may also fix other Maxify MB* models where it seems the ADF does + not with with the prior code, but I only have the MB2120 to test. + +commit c6bfe88c31f3f582fdc0bea08199282efceb3914 +Author: Olaf Meeuwissen +Date: 2018-04-18 21:36:00 +0900 + + Update mailing lists addresses to new location + +commit 4ade295ab1c1d3bbd23ae3fe2118424c2bb5c799 +Author: Olaf Meeuwissen +Date: 2018-04-18 21:12:44 +0900 + + Update mail archive links to point to new location + +commit d22f36f8cc759d9ee978a438be08b1bd57bfe170 +Author: Olaf Meeuwissen +Date: 2018-04-10 19:41:24 +0900 + + utsushi.desc: Sync with upstream + +commit f17585e1595e50ee0bbdd36210bc141e1a137f53 +Author: Olaf Meeuwissen +Date: 2018-03-26 21:31:57 +0900 + + *.desc: Mark backends that have become unmaintained + +commit 872a7521f5e0177cacfd3f800105237fd596fd9e +Author: Olaf Meeuwissen +Date: 2018-03-26 21:30:57 +0900 + + AUTHORS: Update git access status following project member changes + +commit 07f1351df510ea9453811b9137e71b8c26b4ac38 +Author: Olaf Meeuwissen +Date: 2018-03-20 21:48:24 +0900 + + sane-p5.man: Point to new issue tracker location + +commit 2d374b0a690fe4e8116fa2714ef426cc3fd536d1 +Author: Olaf Meeuwissen +Date: 2018-03-16 21:55:35 +0900 + + ltmain.sh: revert removal of SANE specific tweaks + +commit a78969384b2b7ac233694e7e21add44ad055dbea +Author: Olaf Meeuwissen +Date: 2018-03-16 21:54:42 +0900 + + autotools: Sync derived files + + This was done by running + + libtoolize --copy + autoreconf --force --install + + on Debian GNU/Linux 9.3. + +commit c8d8f05256523cb0aafe24309ea2b3c93bea20f2 +Author: Olaf Meeuwissen +Date: 2018-03-16 20:56:47 +0900 + + Bump autofoo dependencies to match those present in Debian 9 + + This gets rid of the warning that AM_PROG_MKDIR_P is deprecated and + should be replaced with AC_PROG_MKDIR_P warning. + +commit f162fad98c55f792828acc05ff32c3e036490ea7 +Author: Olaf Meeuwissen +Date: 2018-03-15 09:22:53 +0900 + + Bump the "canonical" build environment to Debian 9 + +commit 5944c15d03b6aadaa8691cd0b7615b551f60d196 +Author: Olaf Meeuwissen +Date: 2018-03-15 09:41:58 +0900 + + Bump Alpine build from 3.6 to 3.7 + +commit 080702ae7df21e882d2e135fc35a0bbde04aca8b +Author: Olaf Meeuwissen +Date: 2018-03-15 09:04:31 +0900 + + Add a Fedora 27 build, drop the Fedora 25 one + +commit a5ae2dad1d4202911be927933b8f8d6a8dde6413 +Author: Rolf Bensch +Date: 2018-03-11 12:08:18 +0100 + + pixma: backend version 0.17.46 + +commit 12dbae0fc5d08c597deb85150521945c5b806488 +Author: Rolf Bensch +Date: 2018-03-11 12:06:51 +0100 + + pixma: MB2300 Series has no duplex document scanner + +commit 4f156894db02d3232a04ab17ca49da84540e7d13 +Author: Rolf Bensch +Date: 2018-03-11 11:13:43 +0100 + + pixma: add button support for MB2300 Series + +commit 393cf040b950b274090372b58693227a4455aa16 +Author: Olaf Meeuwissen +Date: 2018-03-10 10:14:06 +0900 + + Add doxygen generated sanei HTML documentation to archive + +commit fadb3d809ae850b5f260550d149713dde763945d +Author: Olaf Meeuwissen +Date: 2018-03-09 22:36:39 +0900 + + Add doxygen generated sanei HTML documentation to artifacts + +commit 82b9d215fc6d943cb9245c8eded11f51f4f1f154 +Author: Olaf Meeuwissen +Date: 2018-03-09 22:23:12 +0900 + + Update configuration files to match newer doxygen version + + The comments have been dropped to cut down on future diff chatter. + Please refer to the doxygen documentation instead. + +commit 9b0db823ede07e1bb0cb867b64b87d019cff5741 +Author: Olaf Meeuwissen +Date: 2018-03-07 21:38:56 +0900 + + Make absolute URLs in the sane-desc HTML output site-relative + +commit 8849137abb3f7ac2836609c69ee2c89af7538ee8 +Author: Olaf Meeuwissen +Date: 2018-03-05 20:21:58 +0900 + + Make root-relative hrefs/src properties site-relative + + This allows for hosting content on any level below a domain. + +commit 48f950b95a1a851e8656c0da53ddd553f5f397c9 +Author: Olaf Meeuwissen +Date: 2018-02-27 21:38:06 +0900 + + utsushi.desc: Sync with upstream + +commit bb56d44eb99cc8fc122728995fc8a2aa68aa83f5 +Author: Olaf Meeuwissen +Date: 2018-02-25 17:01:10 +0900 + + CI: Actually move the *html files + +commit ef0610ce2e8155b1edfca45dc03e653f80cf66c3 +Author: Olaf Meeuwissen +Date: 2018-02-21 21:09:59 +0900 + + CI: Generate device support status HTML in after_script + +commit 936a45b4aa3b818c5c963109e06d7cece5c19af1 +Author: Olaf Meeuwissen +Date: 2018-02-21 20:50:07 +0900 + + Include device support status HTML pages in archive target + + This is meant to make it easier for the website to get the latest + information up. + +commit a84290a8f96f2a93ab4ac4cdc36e7e771d4a3e48 +Author: Olaf Meeuwissen +Date: 2018-02-20 21:24:56 +0900 + + sane.man: Fix typo in stv680 backend name + +commit f38a1731a643e0c54f27f065ff35a4d66635f68d +Author: Olaf Meeuwissen +Date: 2018-02-09 18:37:21 +0900 + + Point to new GitLab.com repository location + +commit c32c78fe8e19835cde4bf7b3742d488e3ec9092b +Author: Olaf Meeuwissen +Date: 2018-02-08 21:58:45 +0900 + + epson2.desc: Add ET-2650/L495 as supported + + Information courtesy of Ed Hamrick. + +commit 1b2e4b0b3bef6dc07e750bdb9288f593faf146a2 +Author: Olaf Meeuwissen +Date: 2018-02-08 21:53:02 +0900 + + include/sane/sanei_ir.h: Adjust doc params to match code + +commit 0e7b3b79251274cff6c136cb54785e7ccc047966 +Author: Olaf Meeuwissen +Date: 2018-02-08 21:52:14 +0900 + + utsushi.desc: sync with upstream + +commit 3c6a3d499236e7f8ad9e9f7d43d2b22f26d17480 +Author: Rolf Bensch +Date: 2018-02-04 13:12:34 +0100 + + pixma: Canon MAXIFY MB2300 Series is working + + - reported by Patrick Roncagliolo + +commit b487db3af0251171e43d8a5458f9200954cf79a9 +Author: Rolf Bensch +Date: 2018-01-04 19:52:16 +0100 + + pixma: Canon i-SENSYS MF620 Series is working + + reported by Markus Heiser + +commit 74898c4330cc25521ddbf008aa18db75fc00af1b +Author: Olaf Meeuwissen +Date: 2018-01-03 16:13:16 +0900 + + Fix array indexing + + This fixes a glaring oversight in 39ceeae6. Thanks to James Ring for + reporting this. + +commit b6873cfa5a5e57e1ba60f90b137cfa4400bfb99a +Author: Rolf Bensch +Date: 2018-01-03 21:01:32 +0100 + + pixma: backend version 0.17.45 + +commit a873a5e444a067c6d2ac7f813b2e97e31e98c582 +Author: Rolf Bensch +Date: 2018-01-03 21:00:51 +0100 + + pixma: new scanner Canon i-SENSYS MF630 Series [#315892] + +commit e6db7a8f14a107bcdc1edbb068cee15a34f2d030 +Author: Rolf Bensch +Date: 2018-01-03 20:52:39 +0100 + + pixma: new scanner Canon i-SENSYS MF630 Series + +commit 463e010f1a83063610b43b7aae6f378b8c532a07 +Author: Rolf Bensch +Date: 2018-01-03 20:07:33 +0100 + + pixma: new scanner Canon i-SENSYS MF620 Series + + many thanks to Markus Heiser + +commit 781c4ad080d1f240e763fc87f193a9349e23a23d +Author: Rolf Bensch +Date: 2018-01-02 14:14:05 +0100 + + pixma: Canon MAXIFY MB2000 Series is working, except ADF (#315538) + +commit e895ee55bec8a3320a0e972b32c05d35b47fe226 +Author: Edward Betts +Date: 2017-12-01 00:49:00 +0900 + + sane-find-scanner: Recognize --help as a valid option + +commit 214f82e36a3bbcac21053cc282dfe67ecef9a0f9 +Author: Gerhard Jaeger +Date: 2017-11-18 15:07:25 +0100 + + [#315864] CanoScan LiDE25 -> CanoScan LiDE 25 + Change LiDE descriptions and split as suggested in the ticket. + While here remove outdated URL. + +commit d6a93b83a7dc3a3871db31ecf11adebe470b52a4 +Author: Olaf Meeuwissen +Date: 2017-11-18 17:35:30 +0900 + + epson2: Add Expression 12000XL / DS-G20000 as supported + + Also removed stale comment in epson2.desc. + + See https://lists.alioth.debian.org/pipermail/sane-devel/2017-November/035744.html + +commit 76600e397459e237af2a174664fe7fc1e3b5c110 +Author: Olaf Meeuwissen +Date: 2017-11-18 16:42:39 +0900 + + utsushi.desc: sync with upstream + +commit c51af8fd996f124151f82e13d6a6e94fcd906b94 +Author: Rolf Bensch +Date: 2017-11-14 22:16:40 +0100 + + pixma: fix typos + +commit 77722d754f2eb06d1a26380989dd098fcb8da533 +Author: Olaf Meeuwissen +Date: 2017-10-11 22:09:43 +0900 + + utsushi.desc: sync with upstream + +commit 99a98e448b603fccb438aea94a7c28ea2ca2059a +Author: Olaf Meeuwissen +Date: 2017-09-29 21:49:08 +0900 + + saned: Brush up manual page's OPTIONS section following 5288dd5f + +commit f9a76395da768f2bd4ee803a78ca5e5604df0c8d +Author: Olaf Meeuwissen +Date: 2017-09-29 21:48:14 +0900 + + saned: Fix typo in help message + +commit 5288dd5f61b32da2f4bc18950c247dc3b6e1579d +Author: Luiz Angelo Daros de Luca +Date: 2017-09-18 04:25:37 -0300 + + saned: reorganize flags, remove run_mode SANED_RUN_DEBUG + + Flags like -a, -d and -s have many overlap effects. This patch restricts + the effect of flags to a simple action. + + New -u (user) flag replaces -a optional argument for running saned as a different user. + The code that retrieve the user info and drop privileges migrated to runas_user(). + As a side effect, PID file can be created even if getting user info fails. + + New -l (listen) flag sets run_mode to standalone. + New -D (daemonize) flag daemonizes saned after bind. + New -o (once) make saned exit after the first client disconnects. + Flag -s (syslog) is gone. Previous behavior can be reproduced with '-a -d level -o -f'. + New -e (stderr) flag for redirecting output to stderr, instead of syslog. + + Flag -d (debug) now only sets the debug level and argument is required. Previous behavior + can be reproduced with '-a -d level -o -f -e'. + + The run_mode SANED_RUN_DEBUG and SANED_RUN_ALONE shared most of its code + path. With the new flags dealing with their difference, SANED_RUN_DEBUG is gone. + + Flag '-a' still works as before but it can be replaced by '-l -D -u user'. + + Current uses of -d (debug) or -s (syslog) will break. + + Signed-off-by: Luiz Angelo Daros de Luca + +commit c9356cb184c0babeb9a8b525728e33d01e2a878c +Author: Olaf Meeuwissen +Date: 2017-09-09 15:37:13 +0900 + + saned: Fix incorrect claim about passing options to inetd etc. + +commit 1f68d8d8c43ff049b0c6921d3823f6c32fdece41 +Author: Farid Benamrouche +Date: 2017-07-22 21:34:00 +0900 + + saned: Cancel scan if data connection appears to have gone away + + The data connection timeout default to 4000ms but is configurable + in saned.conf. + + See Alioth 315765 + +commit 0a62202e95983493598d3b94718bb277f5e71b2f +Author: Rolf Bensch +Date: 2017-09-01 12:15:40 +0200 + + pixma: backend version 0.17.44 + +commit 055c3ffa8643da6dad885bb69b08a7d4f45d1cc0 +Author: Rolf Bensch +Date: 2017-09-01 12:15:10 +0200 + + pixma: new scanners Canon PIXMA E410 Series, E3100 Series, G2000 and G3000 + +commit 61ca162fc069dff85964ad5352b1f2faaca692c5 +Author: Rolf Bensch +Date: 2017-09-01 12:07:57 +0200 + + pixma: fix definitions for PIXMA G4000 + +commit d78013afc6943b6cd86d468b045fe16fe495350d +Author: Rolf Bensch +Date: 2017-09-01 11:52:39 +0200 + + pixma_mp150: fix comments for generation 5 scanners + +commit fef19d7740fc1dd1c3109efe47040b1eca046fe6 +Author: Rolf Bensch +Date: 2017-08-31 20:34:32 +0200 + + pixma: backend version 0.17.43 + +commit 450e55c2309d372a088ef963082252fd2f27c524 +Author: Rolf Bensch +Date: 2017-08-31 13:27:16 +0200 + + pixma_mp150: send XML end of scan dialog also for generation 5 scanners + +commit 9b95970b917a74d4c973dc536192b7546603c9b7 +Author: Olaf Meeuwissen +Date: 2017-08-20 14:08:33 +0900 + + utsushi.desc: Sync with upstream + +commit 6eb2a0d10a9f5e116b8ef3aff508dfec51ca273a +Author: Rolf Bensch +Date: 2017-08-18 10:06:17 +0200 + + pixma: fix device interface info for PIXMA MG7100 Series + +commit 5a0e30b5e31586bf3ec5488876a7744341e16331 +Author: Olaf Meeuwissen +Date: 2017-08-17 21:24:14 +0900 + + epson2: Add the Epson XP-243 245 247 Series as supported + + See https://alioth.debian.org/tracker/?func=detail&atid=410366&aid=315818&group_id=30186 + +commit 1e87016dca2593e4d595654435fe0bbaf6311fd3 +Author: Olaf Meeuwissen +Date: 2017-08-12 14:14:05 +0900 + + epson2: Add the Epson XP-427 as supported + + See https://alioth.debian.org/tracker/index.php?func=detail&aid=315805&group_id=30186&atid=410366 + +commit 519ff57bed9391c9c178f660648669f4c77b7d3a +Author: Olaf Meeuwissen +Date: 2017-08-12 15:03:51 +0900 + + install: Make sure configuration files get created before install + +commit f19a41e6f7b693e55fd4e26b988e55e3a30b6eb8 +Author: Luiz Angelo Daros de Luca +Date: 2017-07-22 05:43:17 -0300 + + saned: update man for option -b + +commit fc57a5a6a5b9d1039915145223571a2211ce6173 +Author: Luiz Angelo Daros de Luca +Date: 2017-07-22 05:43:16 -0300 + + saned: fix --debug help message (output is stderr) + + Man page was correct. + + Signed-off-by: Luiz Angelo Daros de Luca + +commit f482b498a25326ae380c16f22dfdfc34ec6edfe3 +Author: Jeremy Bicha +Date: 2017-07-26 18:32:36 -0400 + + po: Fix Plural-Forms header for es and gl + + Fixes 315801. + +commit f88b5ea2b6bccf7dc356fa2c2944428f0a67d41d +Author: Olaf Meeuwissen +Date: 2017-07-22 15:31:42 +0900 + + umax_pp: Fix [-Wsign-compare] compiler warnings + +commit 14e701438dd87dc47b500c504702c4b5b98b5c3d +Author: Olaf Meeuwissen +Date: 2017-07-22 14:19:02 +0900 + + umax_pp: Fix [-Wunused-but-set-variable] compiler warnings + +commit 772f31d4a0624c00b698fc4873feafb5820c2141 +Author: Olaf Meeuwissen +Date: 2017-07-22 14:02:10 +0900 + + umax_pp: Fix [-Wunused-variable] compiler warnings + + The variable declaration section has been completely rewritten to + follow the #ifdef structure of the function's implementation. + +commit 56398ead607d8bcb9deef7ca3f4d7f78478f1b4c +Author: Olaf Meeuwissen +Date: 2017-07-22 11:48:14 +0900 + + sane-usb: Document SANE_USB_WORKAROUND variable + + Fixes Alioth#315792. Thanks Zdenek Dohnal + +commit 1f8bfd69a253fa0e3af39e30d1a5ce00891550d2 +Author: Olaf Meeuwissen +Date: 2017-07-18 21:02:43 +0900 + + dell1600n_net: Fix [-Wincompatible-pointer-types] compiler warnings + + This casts the pointers to the type expected by the functions as per + POSIX stipulations. + + See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/netinet_in.h.html + +commit bdba3cc073055ac852bc93e126ae97f938b2d06f +Author: Olaf Meeuwissen +Date: 2017-07-18 20:46:01 +0900 + + tools/umax_pp: Fix [-Wunused-variable] compiler warning + + The file descriptor is only used in code conditionalised on the + HAVE_LINUX_PPDEV_H preprocessor define. + +commit 3258b70de42f0abf891b139b01fc0a731f2974e8 +Author: Rolf Bensch +Date: 2017-07-16 11:46:27 +0200 + + pixma: fix device status for i-SENSYS MF240 Series + and add comment for image width workaround (see: 611647b) + +commit 8f61317f00529ecb0b1e44a726266e33512759ad +Author: Olaf Meeuwissen +Date: 2017-07-15 22:52:00 +0900 + + autofoo: Sync generated files + +commit f18ab2e2a29058c098d7709cbad6169064b70da2 +Author: Olaf Meeuwissen +Date: 2017-07-15 22:48:29 +0900 + + plustek-pp: Replace sys/signal.h include with signal.h + + All other backends already `#include ` directly, without any + configure time checking or problems. + + Fixes [-Wcc] compiler warning on Alpine. + +commit 68ec98d7b1ef636f4d230c81c8e1e8de7e62c66d +Author: Olaf Meeuwissen +Date: 2017-07-15 22:15:18 +0900 + + hp3500: Fix [-Wunused-function] compiler warning + + The sigtermHandler is only used when _POSIX_SOURCE is defined. + +commit d94c29a726667604f3ba1cf18185a48ad7355966 +Author: Olaf Meeuwissen +Date: 2017-07-15 22:06:05 +0900 + + autofoo: Sync generated files + +commit 54627bdeacf5f8bff8d622469f3c02f6f9c8ef79 +Author: Olaf Meeuwissen +Date: 2017-07-15 21:58:51 +0900 + + lib/isfdtype.c: Remove badly broken substitute + + The substitute completely ignores the fdtype argument and only works + correctly for S_IFSOCK values. This happened to be the only way the + function was invoked but for safety's sake this has been replaced by + a local implementation that does pretty much the same thing, without + the misleading bit. + + Found courtesy of a [-Wunused-parameter] compiler warning on Alpine. + +commit c754d440eaec35b231537a26ee6c6d230c489733 +Author: Olaf Meeuwissen +Date: 2017-07-15 20:27:28 +0900 + + sanei_thread: Fix [-Wunused-function] compiler warning + + The sanei_thread_set_invalid static function is only used by code that + exists if USE_PTHREAD is defined. + +commit f3334500860115aab264de850db1c0cb6411099e +Author: Olaf Meeuwissen +Date: 2017-07-15 17:19:38 +0900 + + CI: Add a Fedora 26 Clang build + +commit 2c1f3d696f1c5ba6f410fca6e103da51c6a814a4 +Author: Olaf Meeuwissen +Date: 2017-07-15 17:17:21 +0900 + + autofoo: Sync generated files + + This pulls in the changes from 756d286f and e7d9779d. + +commit 756d286f3605143b26471eb7e1e7a45bc7ba356a +Author: Olaf Meeuwissen +Date: 2017-07-15 17:13:34 +0900 + + pthread: Disable support if pthread_t is *not* an integer type + + The sanei_thread implementation assumes an integer type in case of + pthread based thread support. As anything else is unlikely to work + correctly, it's safer to just fall back to forked processes. + +commit 73861ea91cd046c1b42b6c1270ff387c34d10fa4 +Author: Olaf Meeuwissen +Date: 2017-07-15 17:11:06 +0900 + + pixma: Fix [-Wint-conversion] and [-Wpedantic] compiler warnings + + These are also related to the SANE_Pid type issues. + +commit ddd7d821f68ab6f4389563c19d1915097f9c5a19 +Author: Olaf Meeuwissen +Date: 2017-07-15 17:07:13 +0900 + + sanei_thread: Fix [-Wformat=] compiler warnings + +commit ad09bbdd1860899f0d8badb359c26be4848b64c9 +Author: Olaf Meeuwissen +Date: 2017-07-15 17:06:20 +0900 + + sanei_thread: Fix [-Wint-conversion] compiler warnings + +commit 3caf05c0335858cbf22dedff3fbac47f3b9f7a91 +Author: Olaf Meeuwissen +Date: 2017-07-15 17:00:08 +0900 + + hp: Fix [-Wint-conversion] compiler warnings + + Don't do yourself what sanei_thread does for you already ;-) + +commit df1aba21bc318dffc316fc28bd7eee82531a707c +Author: Olaf Meeuwissen +Date: 2017-07-15 14:47:54 +0900 + + SANE_Pid: Fix [-Wint-conversion] issues + + Not all pthreads implementations use an integer type for pthread_t. + As a matter of fact, POSIX has explicitly withdrawn the requirement + that it must be an arithmatic type. + + The musl C library uses a `struct __pthread *` which triggered the + warnings. As of this change, sanei_thread.h works around this by + providing two new macros to help keep this issue out of sight. All + backends have been changed to use these macros. + +commit 3f8db8e2d0ee2b0282f94ea108db5ac4462334a8 +Author: Olaf Meeuwissen +Date: 2017-07-12 21:31:31 +0900 + + AWARE: Treat compiler warnings as errors on the debian-9-* builds + +commit 3eb3d6b9bf827be6ee62ab7e155f71ba9b09d633 +Author: Olaf Meeuwissen +Date: 2017-07-12 21:20:12 +0900 + + plustek-pp: Fix [-Wmisleading-indentation] compiler warnings + +commit 48cb209f2a780fd83a497201e79b9c4147e7b4a9 +Author: Rolf Bensch +Date: 2017-07-11 14:02:11 +0200 + + pixma: backend version 0.17.42 + +commit 611647b61ca3dbb2dd720f67cd219f68f6dea1d1 +Author: Rolf Bensch +Date: 2017-07-11 14:00:40 +0200 + + pixma_imageclass.c: restrict image width to 215mm for i-SENSYS MF240 Series + + this scanner produces black stripes in 216mm wide images @ 600dpi + +commit 62fcf80c0b733211a602c9dd2073551dfc36361a +Author: Rolf Bensch +Date: 2017-07-10 23:34:01 +0200 + + pixma: PIXMA TS5000 Series (#315764) and TS8000 Series (#315763) are working + +commit 02a4ec11bfae075e0ab8d3d87e37d17c9ef19ff0 +Author: Rolf Bensch +Date: 2017-07-10 23:07:35 +0200 + + pixma: backend version 0.17.41 + +commit 862f265631386ef8531106d6cd04f6e0c0e9ccec +Author: Rolf Bensch +Date: 2017-07-10 23:12:22 +0200 + + pixma: remove unreachable and depreciated websites from man page + +commit 49ae62618cd0b5d0063c884ce8521b165bae7c22 +Author: Rolf Bensch +Date: 2017-07-10 23:06:29 +0200 + + pixma_mp150.c: new generation 5 for scanners without special image format @ high dpi + +commit 890aa30a7cc7e9ac43d379e38c280679f78ad3d7 +Author: Rolf Bensch +Date: 2017-07-10 22:01:26 +0200 + + pixma: i-SENSYS MF210 Series is working + +commit fbbb6cabf3f69334837413d6d4e4822efe23f476 +Author: Rolf Bensch +Date: 2017-06-25 10:02:43 +0200 + + pixma: fix capabilities for TS* Series + +commit b5f78dd081c41a91b381943726412e4142bc5338 +Author: Rolf Bensch +Date: 2017-07-10 21:46:57 +0200 + + pixma_imageclass.c: fix image block size calculation for particular scanners + +commit a08f5630d83328a38602b47f74f2728489656377 +Author: Olaf Meeuwissen +Date: 2017-07-08 17:58:49 +0900 + + sanei_scsi: Fix [-Wdeprecated-declarations] compiler warning + + The readdir_r() using loop in sanei_scsi_find_devices() has been + modified to use readdir(). + + With the exception of sane_cancel(), the SANE API is not re-entrant. + The sanei_scsi_find_devices() function is referenced neither directly + nor indirectly from any of the sane_cancel() implementations so there + is no inherent need to use readdir_r(). + +commit 0bf4595273b89b660bf1cef1c2752cdbf164b27d +Author: Olaf Meeuwissen +Date: 2017-06-26 19:13:51 +0900 + + plustek: Fix [-Wpedantic] compiler warning + + The warning reads: + + enumerator value for '_PS_INP_MIO6' is not an integer constant + expression + + and that comes about as _PS_INP_MIO6 evaluates to 0x8000000, which + does not fit in the *signed* integer range which has been allotted + to enumeration constants by ISO C99. + + Seeing that the _PS_INP* values appear to be bitflags (despite the + arithmatic additions in backend/plustek-usbdev.c!) it is safer to + use #defines instead of an enum. + +commit a74cb99c1aa3dbddf0bb8250a9b2af72584d9b42 +Author: Olaf Meeuwissen +Date: 2017-06-26 18:19:27 +0900 + + u12: Fix [-Wmisleading-indentation] compiler warning + + It appears that what the compiler has to do is what was intended. + Fixing the indentation to make that clearer. + +commit 6ad9e8479d9dc1fbf72ed7ae1d275753288365b9 +Author: Olaf Meeuwissen +Date: 2017-06-26 18:07:11 +0900 + + pixma: Fix [-Wmisleading-indentation] compiler warning + + There is no point in falling through the case branch so the break + should be at the same level as the if. + +commit 08e1ba12866eb5592e27f879479a878fa9d21c70 +Author: Olaf Meeuwissen +Date: 2017-06-26 18:01:34 +0900 + + pieusb: Fix [-Wmisleading-indentation] compiler warning + + The indentation has been aligned what is used inside the while loop. + The function appears to have been copied from elsewhere and slightly + modified. + + The msg variable is set to NULL inside the if branch for efficiency + only. + +commit 3191056a4c0b4f21b9b31ae0bccc68d40934954d +Author: Olaf Meeuwissen +Date: 2017-06-26 17:58:44 +0900 + + microtek2: Fix [-Wmisleading-indentation] compiler warnings + + The case branches have been made to follow other case branches in the + same switch. + +commit e04261673f60dd9797d41528297c95fae8e24ecb +Author: Olaf Meeuwissen +Date: 2017-06-26 17:57:14 +0900 + + magicolor: Fix [-Wmisleading-indentation] compiler warning + + The assumption is that the failure should be returned to the caller. + +commit 0f90a5c2e33e7b893e432d1c096198951829598c +Author: Olaf Meeuwissen +Date: 2017-06-26 17:55:30 +0900 + + hp: Fix [-Wmisleading-indentation] compiler warning + + Indentation based on the style used in the immediate neighbourhood. + The file uses a mix of styles though. + +commit 2ff1d7da59eeca5a83e1f83d32382daf07914d95 +Author: Olaf Meeuwissen +Date: 2017-06-26 17:52:08 +0900 + + genesys: Fix [-Wmisleading-indentation] compiler warning + + The fix is based on similar code in backend/genesys_gl846.c and fixes + a potential infinite loop as well. + +commit 5098b9bfbb8707f55930864fbbcaccc8356a1efe +Author: Olaf Meeuwissen +Date: 2017-06-26 17:51:40 +0900 + + genesys: Fix [-Wmisleading-indentation] compiler warnings + +commit a1133aa194fbf407998e62c9d20c0ecc2a90c937 +Author: Olaf Meeuwissen +Date: 2017-06-26 12:28:54 +0900 + + pnm: Fix [-Wshift-negative-value] compiler warning + +commit deb856cb279bd5a31b5e8b72b2a65f6a66a16122 +Author: Olaf Meeuwissen +Date: 2017-06-26 12:09:54 +0900 + + umax: Fix [-Wshift-negative-value] compiler warning + +commit ff535ef1ead749526ff41c56b24bd72ea0b16705 +Author: Olaf Meeuwissen +Date: 2017-06-26 12:09:39 +0900 + + u12: Fix [-Wshift-negative-value] compiler warning + +commit 0c6fc8b1745465c2071f8346406aed8d86c7eef2 +Author: Olaf Meeuwissen +Date: 2017-06-26 12:09:23 +0900 + + snapscan: Fix [-Wshift-negative-value] compiler warning + +commit 582a3b89877c149f5122f414abc6a75127eb553a +Author: Olaf Meeuwissen +Date: 2017-06-26 12:09:06 +0900 + + s9036: Fix [-Wshift-negative-value] compiler warning + +commit 73e1d3568dabb1ef7e66985c94b716909df34c5d +Author: Olaf Meeuwissen +Date: 2017-06-26 12:08:51 +0900 + + plustek_pp: Fix [-Wshift-negative-value] compiler warning + +commit 1a1c808c15c78ec63ecb66a9f4538ddb6d5a5761 +Author: Olaf Meeuwissen +Date: 2017-06-26 12:08:37 +0900 + + plustek: Fix [-Wshift-negative-value] compiler warning + +commit f8eb12b49d43c69a4ab7259b201158f1f2dba793 +Author: Olaf Meeuwissen +Date: 2017-06-26 12:08:17 +0900 + + mustek: Fix [-Wshift-negative-value] compiler warning + +commit 02ce2b5d46d1aa352d1444ac61c67c865b4ae962 +Author: Olaf Meeuwissen +Date: 2017-06-26 12:07:24 +0900 + + agfafocus: Fix [-Wshift-negative-value] compiler warning + +commit 702a8e27b61a4bb5de0da2c4f84326e96b9dde10 +Author: Olaf Meeuwissen +Date: 2017-06-26 11:43:01 +0900 + + p5: Fix [-Wunused-const-variable=] compiler warning + + The u8_range and threshold_percentage_range constants have not been + used for anything ever since the backend's addition. They probable + ended up in the code as a result of copy-and-paste. + +commit aa5468552bbe036aed5d8a4df1b61ff5b42c751b +Author: Olaf Meeuwissen +Date: 2017-06-26 11:39:50 +0900 + + teco2: Fix [-Wunused-const-variable=] compiler warning + + The default_dpi_color_adjust variable hasn't been used ever since the + backend was added. + +commit a2083538e97b6419e70414ab0c42aa42a78fbce4 +Author: Olaf Meeuwissen +Date: 2017-06-26 11:35:06 +0900 + + tamarack: Fix [-Wunused-const-variable=] compiler warning + + The u8_range has been `#if 0`'d to match the gamma options' have been + disabled (since the initial revision). The options refer to u8_range. + +commit 2442ddf6d17b2721192d311cd961f29eaa0b55cd +Author: Olaf Meeuwissen +Date: 2017-06-26 11:28:10 +0900 + + sp15c: Fix [-Wunused-const-variable=] compiler warning + + The RCSid* variables have never been used for anything by the backend + code. + +commit 86ab41d8f1bd85d75af1e8e2cd1ed387b8ab9fc0 +Author: Olaf Meeuwissen +Date: 2017-06-26 11:19:55 +0900 + + mustek_usb: Fix [-Wunused-const-variable=] compiler warning + + The brightness option that used the char_range variable was renamed to + threshold and changed to use u8_range in c95e4638. + +commit 39849809d126de710318e4c70f93728c3d4ade1f +Author: Olaf Meeuwissen +Date: 2017-06-26 11:16:55 +0900 + + mustek: Fix [-Wunused-const-variable=] compiler warning + + The const variables' definition has been #ifdef'd to prevent loss of + protocol info. + + Neither scsi_area_and_windows nor scsi_lookup_table appear to have + been used for anything. + +commit 398d5850fa5a1d3ce6a7f5eb13b3cfb7e1c11296 +Author: Olaf Meeuwissen +Date: 2017-06-26 11:08:03 +0900 + + avision: Fix [-Wunused-const-variable=] compiler warning + + The const variable's definition has been #ifdef'd to prevent loss of + protocol info. + +commit 0f70ce9aac2e1d7f198b8d73524657b404a99f2d +Author: Olaf Meeuwissen +Date: 2017-06-26 11:05:01 +0900 + + avision: Fix [-Wunused-const-variable=] compiler warning + + The threshold option which used the abs_percentage_range was removed + in e2169ec4. + +commit 2f5c9e14990b90b2716a12fcb449527e0fb1ffb4 +Author: Olaf Meeuwissen +Date: 2017-06-26 10:57:50 +0900 + + kvs1025: Fix [-Wunused-const-variable=] compiler warning + + The go_paper_max_width value hasn't been used for anything since the + initial revision of the file. + +commit ed0062d474530d0dd95f9152ee7c2bb88abe010d +Author: Olaf Meeuwissen +Date: 2017-06-26 10:50:40 +0900 + + gt68xx: Fix [-Wunused-const-variable=] compiler warning + + The options that used offset_range were removed in a3a8808b. + +commit fa4497047352583cd3113d2962d919589f0044ae +Author: Olaf Meeuwissen +Date: 2017-06-26 10:45:42 +0900 + + epson2: Fix [-Wunused-const-variable=] compiler warning + + The s8_range variable appears to be a left-over from the epson + backend's "fork" and became superfluous after refactoring the + colour correction support in the epson2 backend. + +commit 754a7164f35aa6331f2f5a02076fcb5082b521d8 +Author: Olaf Meeuwissen +Date: 2017-06-26 10:38:44 +0900 + + dc25: Fix [-Wunused-const-variable=] compiler warning + + The percentage_range hasn't been used for anything since the initial + revision of the file. + + This also gets rid of a [-Wshift-negative-value] warning as well as a + "initializer element is not a constant expression" pedantic warning. + +commit a52d843da40a945c4e2a55b59e92f362b6d77479 +Author: Olaf Meeuwissen +Date: 2017-06-26 10:34:14 +0900 + + canon: Fix [-Wunused-const-variable=] compiler warning + + The papersize_list hasn't been used for anything since the initial + revision of the file. + +commit fe3299a9b069865aef81aa50a0bca0b7a114d74f +Author: Olaf Meeuwissen +Date: 2017-06-22 20:36:59 +0900 + + Add minimal and full CI compile tests for Debian 9 + +commit e7d9779dfc3748f8f205585fa09ebc7181874642 +Author: Olaf Meeuwissen +Date: 2017-06-17 12:38:21 +0900 + + CI: Build `git describe` versioned snapshot tarballs + + This: + - modifies `configure.ac` to get a version number courtesy of `git` + when `autoconf` is run + - runs a `make dist` when all compilation targets succeed + - makes the resulting tarball available as a build artifact + - renames the various pipeline stages + +commit a06e9a40751dd3c4c87d35a821f7c9281fa71644 +Author: Olaf Meeuwissen +Date: 2017-06-12 20:53:53 +0900 + + Script updating of upstream files + +commit baec9c4e264329a13899e28090b59fe7182b80dd +Author: Olaf Meeuwissen +Date: 2017-06-07 22:50:56 +0900 + + autofoo: Sync with configure.ac, Makefile.am changes + +commit a2f1cc1c82e1ca4dfb04c386a6d51cfad3934d33 +Author: Olaf Meeuwissen +Date: 2017-06-07 22:06:05 +0900 + + libsane: Only depend on and link in the kitchen sink if needed + + There is no need to depend on and link in all the various dependencies + for whatever backends *might* be preloaded if none are. Distributions + habitually rip these out, rightfully so, to reduce the list of package + dependencies. This will achieve the same while still doing the "right + thing" for builds that do preload one or more backens. + +commit 2284c6e03438c489bd3f077810e3e24771fed294 +Author: Jerome Duval +Date: 2017-06-04 12:22:31 +0200 + + epsonds: add missing includes + + Fixes build failure on Haiku. Alioth Tracker: 315750. + +commit fbe2f6d332702c7878483d24d1daf66fe83633d4 +Author: Olaf Meeuwissen +Date: 2017-06-02 21:08:44 +0900 + + CI: add a "lint" stage before the builds + + This is mostly meant for "cheap" policy checks that do not require the + sources to be compiled. + +commit 828f1a39495198aace07d1991e7a785d3a7ce291 +Author: Olaf Meeuwissen +Date: 2017-06-02 20:52:12 +0900 + + style-check: skip directories, sanitize file names + + When generating lists of files with `find`, directories may get output + if you try to prune paths and it has a habit of prefixing paths with a + leading `./`. + +commit 75e271444ae76b3a6c845943a765a17664987e4e +Author: Rolf Bensch +Date: 2017-06-01 14:11:48 +0200 + + pixma: backend version 0.17.40 + +commit 80445f9e5775b976dce1f6162974839197b8a10d +Author: Rolf Bensch +Date: 2017-06-01 14:09:21 +0200 + + pixma_imageclass.c: MF240 Series restricts adf scans to max. 300dpi + +commit c2594e949bc77b2fc23988062af67c2fa9e988d5 +Author: Rolf Bensch +Date: 2017-06-01 14:06:43 +0200 + + Revert "pixma_imageclass.c: MF240 Series supports only 300dpi for adf scans" + + This reverts commit 60e0c31bb7a080385fba0e9acf0afe55f293526a. + + Truly this scanner restricts adf scans to max. 300dpi. + +commit ba8e76d937c520a6841cf838867760f58f7758f9 +Author: Olaf Meeuwissen +Date: 2017-05-31 21:28:45 +0900 + + .editorconfig: add script to check and fix style issues + + The various checks cover all settings in the `.editorconfig` file. + The `--fix` support, however, does not attempt to correct charset + issues because the encoding cannot be determined automatically. + + Note that image files as well as generated files in the repository + are exempted from all style checks. + +commit 01c5dbc82b78db865cd88c0044d22199babb3e6f +Author: Olaf Meeuwissen +Date: 2017-05-30 22:39:30 +0900 + + .editorconfig: Fix sane-desc tool to match cleaned up references + + Changes to the test reference files should not, famous last words ;-), + have any effect on the use of the tool's actual outputs. + + Note that the tests use a "concocted" `testfile.desc` as their input. + +commit fc4b250a090eef934b9c77afedcebaf146f119c0 +Author: Olaf Meeuwissen +Date: 2017-05-27 15:22:15 +0900 + + .editorconfig: use utf-8 charset throughout + +commit f0f187f995c45226e95dfbeb3231a316f76e11ea +Author: Olaf Meeuwissen +Date: 2017-05-27 15:37:14 +0900 + + .editorconfig: trim trailing blank lines + +commit ffa573f65eade56a7c76c91ca4a584692c8bfb97 +Author: Olaf Meeuwissen +Date: 2017-05-27 13:57:01 +0900 + + .editorconfig: insert a newline at end-of-file + + This keeps `git` from "complaining" about this when doing a diff. It + also keeps your prompt at the left edge when you `cat` a file. + +commit 23891a2646c171f7396bc399d25079f9887c10a0 +Author: Olaf Meeuwissen +Date: 2017-05-27 14:27:22 +0900 + + .editorconfig: trim trailing whitespace + +commit 45a7aabc80b0bc18e6fec1c3015466e1a2debca4 +Author: Olaf Meeuwissen +Date: 2017-05-27 13:52:59 +0900 + + Add .editorconfig to maintain a more consistent coding style + + This does not set anything yet. + + See http://editorconfig.org/ for more information. + +commit 55257bea66c8d0b48cb3e306d5863b190752cfed +Author: Olaf Meeuwissen +Date: 2017-05-29 21:02:53 +0900 + + Bump Alpine builder to 3.6 + +commit 7893b77d926139452be1162a4bea4dc2b595face +Author: Rolf Bensch +Date: 2017-05-26 23:37:28 +0200 + + pixma: backend version 0.17.39 + +commit bcf1f4398eb967cc4db313a3b15104fff5587eb3 +Author: Rolf Bensch +Date: 2017-05-26 23:36:52 +0200 + + pixma_imageclass.c: reduce max. scan width to 216mm for particular scanners + +commit 2b0028b4af61761420fbff4459310b799bc13c7b +Merge: 35dc4426 2bba2739 +Author: Rolf Bensch +Date: 2017-05-23 21:16:52 +0200 + + Merge branch 'pixma/mf240_adf_only_300dpi' + +commit 35dc4426d2dad67167af40e6c136feb229b4f3ac +Author: m. allan noah +Date: 2017-05-22 21:08:33 -0400 + + Open repo for 1.0.28 development + +commit 2bba2739937ba26059701eec1ae5e4372ff9de2a +Author: Rolf Bensch +Date: 2017-05-19 11:21:59 +0200 + + pixma: backend version 0.17.38 + +commit 60e0c31bb7a080385fba0e9acf0afe55f293526a +Author: Rolf Bensch +Date: 2017-05-19 11:26:00 +0200 + + pixma_imageclass.c: MF240 Series supports only 300dpi for adf scans diff --git a/INSTALL.linux b/INSTALL.linux index a851852..703b9e3 100644 --- a/INSTALL.linux +++ b/INSTALL.linux @@ -19,8 +19,11 @@ $ make install - optional: git (b) missing development packages - libusb-dev or libusb-devel or libusb-compat-devel + - libusb-1.0.0-dev or similar - libjpeg-dev or libjpeg8-dev or libjpeg-turbo-devel or turbojpeg-devel - libpng-dev or similar + - libcurl4-gnutls-dev or similar + - libxml2-dev or similar 2.2. Get the latest SANE backend from git: You can download "daily git snapshot" from here: diff --git a/Makefile.am b/Makefile.am index 54d0f27..0e4150d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -7,12 +7,44 @@ SUBDIRS = include lib sanei backend frontend tools doc po testsuite DIST_SUBDIRS = include lib sanei backend frontend tools doc po japi testsuite -dist_doc_DATA = AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS \ +dist_doc_DATA = AUTHORS COPYING LICENSE NEWS PROBLEMS PROJECTS \ README README.aix README.beos README.darwin README.djpeg README.freebsd \ README.hp-ux README.linux README.netbsd README.openbsd README.os2 \ README.solaris README.unixware2 README.unixware7 README.windows \ README.zeta +dist_doc_DATA += ChangeLog +changelogsdir = $(docdir)/ChangeLogs +dist_changelogs_DATA = ChangeLogs/ChangeLog-1.0.28 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.27 +## sane-backends-1.0.26 was skipped +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.25 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.24 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.23 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.22 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.21 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.20 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.19 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.18 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.17 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.16 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.15 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.14 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.13 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.12 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.11 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.10 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.9 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.8 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.7 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.6 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.5 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.4 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.3 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.2 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.1 +dist_changelogs_DATA += ChangeLogs/ChangeLog-1.0.0 + EXTRA_DIST = .editorconfig EXTRA_DIST += po/README diff --git a/NEWS b/NEWS index 5a326c6..9f503b9 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,41 @@ +## New with 1.0.29 (upcoming release) + +### Backends + +- adds an `escl` backend (theoretically supporting *all* AirPrint + devices with a scan unit) +- adds support for 23 new scanner models via existing backends +- significantly changes `genesys` and `pixma` backends +- fixes bugs in `canon_dr`, `fujitsu`, `hp3900`, `mustek_usb2`, + `plustek` and `xerox_mfp` backends +- fixes *all* compiler warnings on Debian 10 (#120) +- fixes portability issues for uClibc-ng and MacOS builds +- adds support to record and replay USB I/O traffic +- adds timestamps to debug logs + +### Frontends + +- fixes a 32-bit arithmetic overflow issue in `scanimage` + +### Documentation + +- updates translations for British English, Catalan, German, + Ukrainian, Valencian +- adds `scangearmp2` external backend descriptions +- updates `hpaio` and `utsushi` external backend descriptions +- adds the `ChangeLogs/` directory to the source tarball (#103) + +### Build + +- additionally requires `libcurl` and `libxml2` to build the `escl` + backend +- requires `libxml2` for USB I/O recording and replay functionality +- re-enables pthread support for backends that use its API directly, + irrespective of the `pthread_t` type (#153) +- moves the `genesys` and `pixma` backends to a directory of their own + ## New with 1.0.28 (released 2019-07-31) ### Backends diff --git a/acinclude.m4 b/acinclude.m4 index 1bc3b74..7c90c64 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -252,21 +252,22 @@ AC_DEFUN([SANE_CHECK_PTHREAD], [Define if pthread_t is integer.]) else # Until the sanei_thread implementation is fixed. - have_pthread=no use_pthread=no fi + if test "$have_pthread" = "yes" ; then + AM_CPPFLAGS="${AM_CPPFLAGS} -D_REENTRANT" + fi + AC_SUBST(PTHREAD_LIBS) + if test $use_pthread = yes ; then AC_DEFINE_UNQUOTED(USE_PTHREAD, "$use_pthread", [Define if pthreads should be used instead of forked processes.]) + SANEI_THREAD_LIBS=$PTHREAD_LIBS else - dnl Reset library in case it was found but we are not going to use it. - PTHREAD_LIBS="" + SANEI_THREAD_LIBS="" fi - if test "$have_pthread" = "yes" ; then - AM_CPPFLAGS="${AM_CPPFLAGS} -D_REENTRANT" - fi - AC_SUBST(PTHREAD_LIBS) + AC_SUBST(SANEI_THREAD_LIBS) AC_MSG_CHECKING([whether to enable pthread support]) AC_MSG_RESULT([$have_pthread]) AC_MSG_CHECKING([whether to use pthread instead of fork]) @@ -611,6 +612,26 @@ for be in ${BACKENDS}; do fi ;; + escl) + if test "x${enable_avahi}" != "xyes"; then + echo "*** $be backend requires AVAHI library - $DISABLE_MSG" + backend_supported="no" + fi + if test "x${with_libcurl}" != "xyes"; then + echo "*** $be backend requires cURL library - $DISABLE_MSG" + backend_supported="no" + fi + if test "x${have_libxml}" != "xyes"; then + echo "*** $be backend requires XML library - $DISABLE_MSG" + backend_supported="no" + fi + # FIXME: Remove when PNG and/or PDF support have been added. + if test "x${sane_cv_use_libjpeg}" != "xyes"; then + echo "*** $be backend currently requires JPEG library - $DISABLE_MSG" + backend_supported="no" + fi + ;; + gphoto2) if test "${HAVE_GPHOTO2}" != "true" \ || test "${sane_cv_use_libjpeg}" != "yes"; then diff --git a/backend/.gitignore b/backend/.gitignore index 6ebfbd5..6276e61 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -1,5 +1,6 @@ *-s.c -*-s.cc +*-s.cpp *.conf +.dirstamp dll-preload.c dll-preload.h diff --git a/backend/Makefile.am b/backend/Makefile.am index 44d1e17..1dc1a58 100644 --- a/backend/Makefile.am +++ b/backend/Makefile.am @@ -17,7 +17,12 @@ DIST_LIBS_LDFLAGS = $(AM_LDFLAGS) -rpath '$(libdir)' -version-number $(V_MAJOR): LIBTOOL += --silent FIRMWARE_DIRS = artec_eplus48u gt68xx snapscan epjitsu +# Needed by most backends as they add sane_strstatus.lo to their list +# of libraries to link with via libsane_${BACKEND}_la_LIBADD. Due to +# the implicit dependency, automake does not notice the need to clean +# up the dependency tracking file. EXTRA_DIST = sane_strstatus.c +CLEANFILES = $(DEPDIR)/sane_strstatus.Plo all: becfg @@ -29,7 +34,7 @@ EXTRA_DIST += stubs.c $(AM_V_at)rm -f $@ $(AM_V_at)$(LN_S) $(srcdir)/stubs.c $@ -%-s.cc: $(srcdir)/stubs.c +%-s.cpp: $(srcdir)/stubs.c $(AM_V_at)rm -f $@ $(AM_V_at)$(LN_S) $(srcdir)/stubs.c $@ @@ -63,8 +68,8 @@ BACKEND_CONFS= abaton.conf agfafocus.conf apple.conf artec.conf \ canon_pp.conf cardscan.conf coolscan2.conf coolscan3.conf \ coolscan.conf dc210.conf dc240.conf dc25.conf \ dell1600n_net.conf dmc.conf epjitsu.conf epson2.conf \ - epson.conf epsonds.conf fujitsu.conf genesys.conf gphoto2.conf \ - gt68xx.conf hp3900.conf hp4200.conf hp5400.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 \ @@ -133,7 +138,7 @@ uninstall-hook: rmdir $(DESTDIR)$(datadir)/sane/$${dir} ; \ done -CLEANFILES = $(BACKEND_CONFS) $(be_convenience_libs) +CLEANFILES += $(BACKEND_CONFS) $(be_convenience_libs) clean-local: find . -type l -name \*-s.c | xargs rm -f @@ -156,7 +161,7 @@ be_convenience_libs = libabaton.la libagfafocus.la \ libcoolscan2.la libcoolscan3.la libdc25.la \ libdc210.la libdc240.la libdell1600n_net.la \ libdmc.la libdll.la libdll_preload.la libepjitsu.la libepson.la \ - libepson2.la libepsonds.la libfujitsu.la libgenesys.la \ + libepson2.la libepsonds.la libescl.la libfujitsu.la libgenesys.la \ libgphoto2_i.la libgt68xx.la libhp.la \ libhp3500.la libhp3900.la libhp4200.la \ libhp5400.la libhp5590.la libhpljm1005.la \ @@ -189,8 +194,8 @@ be_dlopen_libs = libsane-abaton.la libsane-agfafocus.la \ libsane-coolscan2.la libsane-coolscan3.la libsane-dc25.la \ libsane-dc210.la libsane-dc240.la libsane-dell1600n_net.la \ libsane-dmc.la libsane-epjitsu.la libsane-epson.la \ - libsane-epson2.la libsane-epsonds.la libsane-fujitsu.la libsane-genesys.la \ - libsane-gphoto2.la libsane-gt68xx.la libsane-hp.la \ + libsane-epson2.la libsane-epsonds.la libsane-escl.la libsane-fujitsu.la \ + libsane-genesys.la libsane-gphoto2.la libsane-gt68xx.la libsane-hp.la \ libsane-hp3500.la libsane-hp3900.la libsane-hp4200.la \ libsane-hp5400.la libsane-hp5590.la libsane-hpljm1005.la \ libsane-hpsj5s.la libsane-hs2p.la libsane-ibm.la libsane-kodak.la libsane-kodakaio.la\ @@ -219,7 +224,7 @@ lib_LTLIBRARIES = libsane.la sanelibdir = $(libdir)/sane sanelib_LTLIBRARIES = $(BACKEND_LIBS_ENABLED) libsane-dll.la -COMMON_LIBS = ../lib/liblib.la +COMMON_LIBS = ../lib/liblib.la $(XML_LIBS) # Each backend should define a convenience library that compiles # all related files within backend directory. General guideline @@ -252,7 +257,7 @@ libagfafocus_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=agfafocus nodist_libsane_agfafocus_la_SOURCES = agfafocus-s.c libsane_agfafocus_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=agfafocus libsane_agfafocus_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_agfafocus_la_LIBADD = $(COMMON_LIBS) libagfafocus.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_agfafocus_la_LIBADD = $(COMMON_LIBS) libagfafocus.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += agfafocus.conf.in libapple_la_SOURCES = apple.c apple.h @@ -279,7 +284,7 @@ libartec_eplus48u_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=artec_eplus48u nodist_libsane_artec_eplus48u_la_SOURCES = artec_eplus48u-s.c libsane_artec_eplus48u_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=artec_eplus48u libsane_artec_eplus48u_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_artec_eplus48u_la_LIBADD = $(COMMON_LIBS) libartec_eplus48u.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMEG_LIBS) +libsane_artec_eplus48u_la_LIBADD = $(COMMON_LIBS) libartec_eplus48u.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(USB_LIBS) $(SANEI_THREAD_LIBS) $(RESMEG_LIBS) EXTRA_DIST += artec_eplus48u.conf.in libas6e_la_SOURCES = as6e.c as6e.h @@ -296,7 +301,7 @@ libavision_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=avision nodist_libsane_avision_la_SOURCES = avision-s.c libsane_avision_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=avision libsane_avision_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_avision_la_LIBADD = $(COMMON_LIBS) libavision.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_avision_la_LIBADD = $(COMMON_LIBS) libavision.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += avision.conf.in libbh_la_SOURCES = bh.c bh.h @@ -363,7 +368,7 @@ libcoolscan_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=coolscan nodist_libsane_coolscan_la_SOURCES = coolscan-s.c libsane_coolscan_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=coolscan libsane_coolscan_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_coolscan_la_LIBADD = $(COMMON_LIBS) libcoolscan.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_thread.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_coolscan_la_LIBADD = $(COMMON_LIBS) libcoolscan.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_thread.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += coolscan.conf.in libcoolscan2_la_SOURCES = coolscan2.c @@ -429,6 +434,21 @@ libsane_dmc_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) libsane_dmc_la_LIBADD = $(COMMON_LIBS) libdmc.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(RESMGR_LIBS) EXTRA_DIST += dmc.conf.in +if have_libavahi +if have_libcurl +if have_libxml2 +libescl_la_SOURCES = escl/escl.c escl/escl_capabilities.c escl/escl_devices.c escl/escl.h escl/escl_newjob.c escl/escl_reset.c escl/escl_scan.c escl/escl_status.c escl/escl_jpeg.c escl/escl_png.c escl/escl_tiff.c +libescl_la_CPPFLAGS = $(AM_CPPFLAGS) $(JPEG_CFLAGS) $(PNG_CFLAGS) $(TIFF_CFLAGS) $(XML_CFLAGS) $(libcurl_CFLAGS) $(AVAHI_CFLAGS) -DBACKEND_NAME=escl + +nodist_libsane_escl_la_SOURCES = escl-s.c +libsane_escl_la_CPPFLAGS = $(AM_CPPFLAGS) $(JPEG_CFLAGS) $(PNG_CFLAGS) $(TIFF_CFLAGS) $(XML_CFLAGS) $(libcurl_CFLAGS) $(AVAHI_CFLAGS) -DBACKEND_NAME=escl +libsane_escl_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) +libsane_escl_la_LIBADD = $(COMMON_LIBS) libescl.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo $(JPEG_LIBS) $(PNG_LIBS) $(TIFF_LIBS) $(XML_LIBS) $(libcurl_LIBS) $(AVAHI_LIBS) +endif +endif +endif +EXTRA_DIST += escl.conf.in + libepjitsu_la_SOURCES = epjitsu.c epjitsu.h epjitsu-cmd.h libepjitsu_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epjitsu @@ -480,22 +500,56 @@ libsane_fujitsu_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) libsane_fujitsu_la_LIBADD = $(COMMON_LIBS) libfujitsu.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_magic.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(RESMGR_LIBS) EXTRA_DIST += fujitsu.conf.in -libgenesys_la_SOURCES = genesys.cc genesys.h genesys_sanei.h genesys_sanei.cc genesys_error.h genesys_error.cc \ - genesys_serialize.h \ - genesys_gl646.cc genesys_gl646.h genesys_gl841.cc genesys_gl841.h \ - genesys_gl843.cc genesys_gl843.h genesys_gl846.cc genesys_gl846.h \ - genesys_gl847.cc genesys_gl847.h genesys_gl124.cc genesys_gl124.h \ - genesys_low.cc genesys_low.h +libgenesys_la_SOURCES = genesys/genesys.cpp genesys/genesys.h \ + genesys/buffer.h genesys/buffer.cpp \ + genesys/calibration.h \ + genesys/command_set.h \ + genesys/conv.h genesys/conv.cpp \ + genesys/device.h genesys/device.cpp \ + genesys/enums.h genesys/enums.cpp \ + genesys/error.h genesys/error.cpp \ + genesys/fwd.h \ + genesys/gl646.cpp genesys/gl646.h genesys/gl646_registers.h \ + genesys/gl124.cpp genesys/gl124.h genesys/gl124_registers.h \ + genesys/gl841.cpp genesys/gl841.h genesys/gl841_registers.h \ + genesys/gl843.cpp genesys/gl843.h genesys/gl843_registers.h \ + genesys/gl846.cpp genesys/gl846.h genesys/gl846_registers.h \ + genesys/gl847.cpp genesys/gl847.h genesys/gl847_registers.h \ + genesys/row_buffer.h \ + genesys/image_buffer.h genesys/image_buffer.cpp \ + genesys/image_pipeline.h genesys/image_pipeline.cpp \ + genesys/image_pixel.h genesys/image_pixel.cpp \ + genesys/image.h genesys/image.cpp \ + genesys/motor.h genesys/motor.cpp \ + genesys/register.h \ + genesys/register_cache.h \ + genesys/scanner_interface.h genesys/scanner_interface.cpp \ + genesys/scanner_interface_usb.h genesys/scanner_interface_usb.cpp \ + genesys/sensor.h genesys/sensor.cpp \ + genesys/settings.h genesys/settings.cpp \ + genesys/serialize.h \ + genesys/static_init.h genesys/static_init.cpp \ + genesys/status.h genesys/status.cpp \ + genesys/tables_frontend.cpp \ + genesys/tables_gpo.cpp \ + genesys/tables_model.cpp \ + genesys/tables_motor.cpp \ + genesys/tables_motor_profile.cpp \ + genesys/tables_sensor.cpp \ + genesys/test_scanner_interface.h genesys/test_scanner_interface.cpp \ + genesys/test_settings.h genesys/test_settings.cpp \ + genesys/test_usb_device.h genesys/test_usb_device.cpp \ + genesys/usb_device.h genesys/usb_device.cpp \ + genesys/low.cpp genesys/low.h \ + genesys/utilities.h libgenesys_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=genesys -nodist_libsane_genesys_la_SOURCES = genesys-s.cc +nodist_libsane_genesys_la_SOURCES = genesys-s.cpp libsane_genesys_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=genesys libsane_genesys_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) libsane_genesys_la_LIBADD = $(COMMON_LIBS) libgenesys.la ../sanei/sanei_magic.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo $(MATH_LIB) $(USB_LIBS) $(RESMGR_LIBS) EXTRA_DIST += genesys.conf.in -# TODO: Why are this distributed but not compiled? -EXTRA_DIST += genesys_conv.cc genesys_conv_hlp.cc genesys_devices.cc libgphoto2_i_la_SOURCES = gphoto2.c gphoto2.h libgphoto2_i_la_CPPFLAGS = $(AM_CPPFLAGS) $(GPHOTO2_CPPFLAGS) -DBACKEND_NAME=gphoto2 @@ -523,7 +577,7 @@ libhp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp nodist_libsane_hp_la_SOURCES = hp-s.c libsane_hp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp libsane_hp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_hp_la_LIBADD = $(COMMON_LIBS) libhp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pio.lo ../sanei/sanei_thread.lo $(SCSI_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_hp_la_LIBADD = $(COMMON_LIBS) libhp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pio.lo ../sanei/sanei_thread.lo $(SCSI_LIBS) $(USB_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += hp.conf.in # TODO: These should be moved to ../docs/hp; don't belong here. EXTRA_DIST += hp.README hp.TODO @@ -534,7 +588,7 @@ libhp3500_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp3500 nodist_libsane_hp3500_la_SOURCES = hp3500-s.c libsane_hp3500_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp3500 libsane_hp3500_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_hp3500_la_LIBADD = $(COMMON_LIBS) libhp3500.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_hp3500_la_LIBADD = $(COMMON_LIBS) libhp3500.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(USB_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) libhp3900_la_SOURCES = hp3900.c libhp3900_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=hp3900 @@ -726,7 +780,7 @@ libmicrotek2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=microtek2 nodist_libsane_microtek2_la_SOURCES = microtek2-s.c libsane_microtek2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=microtek2 libsane_microtek2_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_microtek2_la_LIBADD = $(COMMON_LIBS) libmicrotek2.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_microtek2_la_LIBADD = $(COMMON_LIBS) libmicrotek2.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(SCSI_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += microtek2.conf.in libmustek_la_SOURCES = mustek.c mustek.h @@ -735,7 +789,7 @@ libmustek_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=mustek nodist_libsane_mustek_la_SOURCES = mustek-s.c libsane_mustek_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=mustek libsane_mustek_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_mustek_la_LIBADD = $(COMMON_LIBS) libmustek.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo ../sanei/sanei_thread.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pa4s2.lo $(IEEE1284_LIBS) $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_mustek_la_LIBADD = $(COMMON_LIBS) libmustek.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo ../sanei/sanei_thread.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pa4s2.lo $(IEEE1284_LIBS) $(SCSI_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += mustek.conf.in # TODO: Why are these distributed but not compiled? EXTRA_DIST += mustek_scsi_pp.c mustek_scsi_pp.h @@ -768,7 +822,7 @@ libmustek_usb2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=mustek_usb2 nodist_libsane_mustek_usb2_la_SOURCES = mustek_usb2-s.c libsane_mustek_usb2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=mustek_usb2 libsane_mustek_usb2_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_mustek_usb2_la_LIBADD = $(COMMON_LIBS) libmustek_usb2.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(PTHREAD_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_mustek_usb2_la_LIBADD = $(COMMON_LIBS) libmustek_usb2.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo $(MATH_LIB) $(PTHREAD_LIBS) $(USB_LIBS) $(RESMGR_LIBS) # TODO: Why are these distributed but not compiled? EXTRA_DIST += mustek_usb2_asic.c mustek_usb2_asic.h mustek_usb2_high.c mustek_usb2_high.h mustek_usb2_reflective.c mustek_usb2_transparent.c @@ -806,7 +860,7 @@ libpie_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pie nodist_libsane_pie_la_SOURCES = pie-s.c libsane_pie_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pie libsane_pie_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_pie_la_LIBADD = $(COMMON_LIBS) libpie.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo ../sanei/sanei_thread.lo $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_pie_la_LIBADD = $(COMMON_LIBS) libpie.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo ../sanei/sanei_thread.lo $(SCSI_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += pie.conf.in libpieusb_la_SOURCES = pieusb.h pieusb_buffer.c pieusb_buffer.h pieusb_scancmd.c pieusb_scancmd.h pieusb_specific.c pieusb_specific.h pieusb_usb.c pieusb_usb.h pieusb.c @@ -815,7 +869,7 @@ libpieusb_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pieusb nodist_libsane_pieusb_la_SOURCES = pieusb-s.c libsane_pieusb_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pieusb libsane_pieusb_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_pieusb_la_LIBADD = $(COMMON_LIBS) libpieusb.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo ../sanei/sanei_thread.lo ../sanei/sanei_usb.lo ../sanei/sanei_ir.lo ../sanei/sanei_magic.lo $(PTHREAD_LIBS) $(RESMGR_LIBS) $(USB_LIBS) $(MATH_LIB) +libsane_pieusb_la_LIBADD = $(COMMON_LIBS) libpieusb.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_scsi.lo ../sanei/sanei_thread.lo ../sanei/sanei_usb.lo ../sanei/sanei_ir.lo ../sanei/sanei_magic.lo $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) $(USB_LIBS) $(MATH_LIB) EXTRA_DIST += pieusb.conf.in libp5_la_SOURCES = p5.c p5.h p5_device.h @@ -835,16 +889,30 @@ libsane_pint_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pint libsane_pint_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) libsane_pint_la_LIBADD = $(COMMON_LIBS) libpint.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo -libpixma_la_SOURCES = pixma.c pixma.h pixma_io_sanei.c pixma_io.h pixma_common.c pixma_common.h pixma_mp150.c pixma_mp730.c pixma_mp750.c pixma_mp810.c pixma_imageclass.c pixma_bjnp.c pixma_bjnp.h pixma_bjnp_private.h pixma_rename.h +libpixma_la_SOURCES = pixma/pixma.c \ + pixma/pixma.h \ + pixma/pixma_io_sanei.c \ + pixma/pixma_io.h \ + pixma/pixma_common.c \ + pixma/pixma_common.h \ + pixma/pixma_mp150.c \ + pixma/pixma_mp730.c \ + pixma/pixma_mp750.c \ + pixma/pixma_mp800.c \ + pixma/pixma_imageclass.c \ + pixma/pixma_bjnp.c \ + pixma/pixma_bjnp.h \ + pixma/pixma_bjnp_private.h \ + pixma/pixma_rename.h libpixma_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pixma nodist_libsane_pixma_la_SOURCES = pixma-s.c libsane_pixma_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=pixma libsane_pixma_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_pixma_la_LIBADD = $(COMMON_LIBS) libpixma.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(SANEI_SANEI_JPEG_LO) $(JPEG_LIBS) $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_pixma_la_LIBADD = $(COMMON_LIBS) libpixma.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(SANEI_SANEI_JPEG_LO) $(JPEG_LIBS) $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += pixma.conf.in -# TODO: Why are these distributed but not compiled? -EXTRA_DIST += pixma_sane_options.c pixma_sane_options.h +# included in pixma.c +EXTRA_DIST += pixma/pixma_sane_options.c pixma/pixma_sane_options.h libplustek_la_SOURCES = plustek.c plustek.h libplustek_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=plustek @@ -852,7 +920,7 @@ libplustek_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=plustek nodist_libsane_plustek_la_SOURCES = plustek-s.c libsane_plustek_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=plustek libsane_plustek_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_plustek_la_LIBADD = $(COMMON_LIBS) libplustek.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_plustek_la_LIBADD = $(COMMON_LIBS) libplustek.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo $(MATH_LIB) $(USB_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += plustek.conf.in EXTRA_DIST += plustek-usb.c plustek-usb.h plustek-usbcal.c plustek-usbcalfile.c plustek-usbdevs.c plustek-usbhw.c plustek-usbimg.c plustek-usbio.c plustek-usbmap.c plustek-usbscan.c plustek-usbshading.c @@ -862,7 +930,7 @@ libplustek_pp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=plustek_pp nodist_libsane_plustek_pp_la_SOURCES = plustek_pp-s.c libsane_plustek_pp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=plustek_pp libsane_plustek_pp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_plustek_pp_la_LIBADD = $(COMMON_LIBS) libplustek_pp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(IEEE1284_LIBS) $(PTHREAD_LIBS) +libsane_plustek_pp_la_LIBADD = $(COMMON_LIBS) libplustek_pp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(IEEE1284_LIBS) $(SANEI_THREAD_LIBS) EXTRA_DIST += plustek_pp.conf.in # TODO: Why are these distributed but not compiled? EXTRA_DIST += plustek-pp_dac.c plustek-pp_dbg.h plustek-pp_detect.c plustek-pp_genericio.c plustek-pp_hwdefs.h plustek-pp_image.c plustek-pp_io.c plustek-pp_map.c plustek-pp_misc.c plustek-pp_models.c plustek-pp_motor.c plustek-pp_p12.c plustek-pp_p12ccd.c plustek-pp_p48xx.c plustek-pp_p9636.c plustek-pp_procfs.c plustek-pp_procs.h plustek-pp_ptdrv.c plustek-pp_scale.c plustek-pp_scan.h plustek-pp_scandata.h plustek-pp_sysdep.h plustek-pp_tpa.c plustek-pp_types.h plustek-pp_wrapper.c @@ -969,7 +1037,7 @@ libsnapscan_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=snapscan nodist_libsane_snapscan_la_SOURCES = snapscan-s.c libsane_snapscan_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=snapscan libsane_snapscan_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_snapscan_la_LIBADD = $(COMMON_LIBS) libsnapscan.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_snapscan_la_LIBADD = $(COMMON_LIBS) libsnapscan.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += snapscan.conf.in # TODO: Why are these distributed but not compiled? EXTRA_DIST += snapscan-data.c snapscan-mutex.c snapscan-options.c snapscan-scsi.c snapscan-sources.c snapscan-sources.h snapscan-usb.c snapscan-usb.h @@ -980,7 +1048,7 @@ libsp15c_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=sp15c nodist_libsane_sp15c_la_SOURCES = sp15c-s.c libsane_sp15c_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=sp15c libsane_sp15c_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_sp15c_la_LIBADD = $(COMMON_LIBS) libsp15c.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_sp15c_la_LIBADD = $(COMMON_LIBS) libsp15c.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += sp15c.conf.in libst400_la_SOURCES = st400.c st400.h @@ -1007,7 +1075,7 @@ libtamarack_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=tamarack nodist_libsane_tamarack_la_SOURCES = tamarack-s.c libsane_tamarack_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=tamarack libsane_tamarack_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_tamarack_la_LIBADD = $(COMMON_LIBS) libtamarack.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_tamarack_la_LIBADD = $(COMMON_LIBS) libtamarack.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo $(SCSI_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += tamarack.conf.in libtest_la_SOURCES = test.c test.h @@ -1016,7 +1084,7 @@ libtest_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=test nodist_libsane_test_la_SOURCES = test-s.c libsane_test_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=test libsane_test_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_test_la_LIBADD = $(COMMON_LIBS) libtest.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_thread.lo $(PTHREAD_LIBS) +libsane_test_la_LIBADD = $(COMMON_LIBS) libtest.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_thread.lo $(SANEI_THREAD_LIBS) EXTRA_DIST += test.conf.in # TODO: Why are these distributed but not compiled? EXTRA_DIST += test-picture.c @@ -1054,7 +1122,7 @@ libu12_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=u12 nodist_libsane_u12_la_SOURCES = u12-s.c libsane_u12_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=u12 libsane_u12_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_u12_la_LIBADD = $(COMMON_LIBS) libu12.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_u12_la_LIBADD = $(COMMON_LIBS) libu12.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo $(MATH_LIB) $(USB_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += u12.conf.in # TODO: Why are these distributed but not compiled? EXTRA_DIST += u12-ccd.c u12-hw.c u12-hwdef.h u12-if.c u12-image.c u12-io.c u12-map.c u12-motor.c u12-scanner.h u12-shading.c u12-tpa.c @@ -1065,7 +1133,7 @@ libumax_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=umax nodist_libsane_umax_la_SOURCES = umax-s.c libsane_umax_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=umax libsane_umax_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) -libsane_umax_la_LIBADD = $(COMMON_LIBS) libumax.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +libsane_umax_la_LIBADD = $(COMMON_LIBS) libumax.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_thread.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo $(MATH_LIB) $(SCSI_LIBS) $(USB_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) EXTRA_DIST += umax.conf.in # TODO: Why are these distributed but not compiled? EXTRA_DIST += umax-scanner.c umax-scanner.h umax-scsidef.h umax-uc1200s.c umax-uc1200se.c umax-uc1260.c umax-uc630.c umax-uc840.c umax-ug630.c umax-ug80.c umax-usb.c @@ -1110,8 +1178,10 @@ EXTRA_DIST += xerox_mfp.conf.in libdll_preload_la_SOURCES = dll.c libdll_preload_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll -DENABLE_PRELOAD +libdll_preload_la_LIBADD = ../sanei/sanei_usb.lo $(USB_LIBS) $(XML_LIBS) libdll_la_SOURCES = dll.c libdll_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll +libdll_la_LIBADD = ../sanei/sanei_usb.lo $(USB_LIBS) $(XML_LIBS) BUILT_SOURCES = dll-preload.h CLEANFILES += dll-preload.h @@ -1142,13 +1212,13 @@ EXTRA_DIST += dll.aliases # what backends are preloaded. It should include what is needed by # those backends that are actually preloaded. if preloadable_backends_enabled -PRELOADABLE_BACKENDS_LIBS = ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo $(LIBV4L_LIBS) $(MATH_LIB) $(IEEE1284_LIBS) $(TIFF_LIBS) $(JPEG_LIBS) $(GPHOTO2_LIBS) $(SOCKET_LIBS) $(USB_LIBS) $(AVAHI_LIBS) $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) +PRELOADABLE_BACKENDS_LIBS = ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo $(LIBV4L_LIBS) $(MATH_LIB) $(IEEE1284_LIBS) $(TIFF_LIBS) $(JPEG_LIBS) $(GPHOTO2_LIBS) $(SOCKET_LIBS) $(USB_LIBS) $(AVAHI_LIBS) $(SCSI_LIBS) $(SANEI_THREAD_LIBS) $(RESMGR_LIBS) $(XML_LIBS) PRELOADABLE_BACKENDS_DEPS = ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo $(SANEI_SANEI_JPEG_LO) endif nodist_libsane_la_SOURCES = dll-s.c libsane_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll libsane_la_LDFLAGS = $(DIST_LIBS_LDFLAGS) -libsane_la_LIBADD = $(COMMON_LIBS) $(PRELOADABLE_BACKENDS_ENABLED) libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo $(PRELOADABLE_BACKENDS_LIBS) $(DL_LIBS) +libsane_la_LIBADD = $(COMMON_LIBS) $(PRELOADABLE_BACKENDS_ENABLED) libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo $(PRELOADABLE_BACKENDS_LIBS) $(DL_LIBS) $(XML_LIBS) # WARNING: Automake is getting this wrong so have to do it ourselves. libsane_la_DEPENDENCIES = $(COMMON_LIBS) $(PRELOADABLE_BACKENDS_ENABLED) libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo $(PRELOADABLE_BACKENDS_DEPS) diff --git a/backend/agfafocus.c b/backend/agfafocus.c index 0b59d2d..8177f38 100644 --- a/backend/agfafocus.c +++ b/backend/agfafocus.c @@ -1485,6 +1485,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_BR_Y: if (info) *info |= SANE_INFO_RELOAD_PARAMS; + // fall through case OPT_SHARPEN: case OPT_EXPOSURE: case OPT_ATTENUATION_RED: diff --git a/backend/apple.c b/backend/apple.c index 167f6ea..980edb4 100644 --- a/backend/apple.c +++ b/backend/apple.c @@ -2064,7 +2064,8 @@ sane_control_option (SANE_Handle handle, SANE_Int option, v2 = SANE_UNFIX (f); DBG (FLOW_CONTROL, "Value %g (Fixed)\n", (action == SANE_ACTION_GET_VALUE) ? v1 : v2); - } + break; + } default: DBG (FLOW_CONTROL, "Value %u (Int).\n", (action == SANE_ACTION_GET_VALUE) diff --git a/backend/artec.c b/backend/artec.c index 2ba8d6d..395b4f1 100644 --- a/backend/artec.c +++ b/backend/artec.c @@ -1999,8 +1999,8 @@ attach (const char *devname, ARTEC_Device ** devp) DBG (6, "Found BlackWidow BW4800SP scanner, setting up like AT3\n"); /* setup the vendor and product to mimic the Artec/Ultima AT3 */ - strncpy (result + 8, "ULTIMA", 6); - strncpy (result + 16, "AT3 ", 16); + memcpy (result + 8, "ULTIMA", 6); + memcpy (result + 16, "AT3 ", 16); } /* @@ -2013,8 +2013,8 @@ attach (const char *devname, ARTEC_Device ** devp) DBG (6, "Found Plustek 19200S scanner, setting up like AM12S\n"); /* setup the vendor and product to mimic the Artec/Ultima AM12S */ - strncpy (result + 8, "ULTIMA", 6); - strncpy (result + 16, "AM12S ", 16); + memcpy (result + 8, "ULTIMA", 6); + memcpy (result + 16, "AM12S ", 16); } /* diff --git a/backend/artec_eplus48u.c b/backend/artec_eplus48u.c index 0e81b06..c5eb225 100644 --- a/backend/artec_eplus48u.c +++ b/backend/artec_eplus48u.c @@ -2956,7 +2956,7 @@ init_options (Artec48U_Scanner * s) SANE_I18N ("If enabled, only the shading correction is " "performed during calibration. The default values " "for gain, offset and exposure time, " - "either build-in or from the configuration file, " + "either built-in or from the configuration file, " "are used."); s->opt[OPT_CALIBRATE_SHADING].type = SANE_TYPE_BOOL; s->opt[OPT_CALIBRATE_SHADING].unit = SANE_UNIT_NONE; diff --git a/backend/as6e.c b/backend/as6e.c index 37a6d3b..47d8c90 100644 --- a/backend/as6e.c +++ b/backend/as6e.c @@ -797,7 +797,6 @@ check_for_driver (const char *devname) struct stat statbuf; mode_t modes; char *path; - char fullname[NAMESIZE]; char dir[NAMESIZE]; int count = 0, offset = 0, valid; @@ -806,7 +805,6 @@ check_for_driver (const char *devname) return 0; while (path[count] != '\0') { - memset (fullname, '\0', sizeof (fullname)); memset (dir, '\0', sizeof (dir)); valid = 1; while ((path[count] != ':') && (path[count] != '\0')) @@ -819,19 +817,19 @@ check_for_driver (const char *devname) count++; } if (valid == 1) - { - /* use sizeof(fullname)-1 to make sure there is at least one padded null byte */ - strncpy (fullname, dir, sizeof(fullname)-1); - /* take into account that fullname already contains non-null bytes */ - strncat (fullname, "/", sizeof(fullname)-strlen(fullname)-1); - strncat (fullname, devname, sizeof(fullname)-strlen(fullname)-1); - if (!stat (fullname, &statbuf)) - { - modes = statbuf.st_mode; - if (S_ISREG (modes)) - return (1); /* found as6edriver */ - } - } + { + char fullname[NAMESIZE]; + int len = snprintf(fullname, sizeof(fullname), "%s/%s", dir, devname); + if ((len > 0) && (len <= (int)sizeof(fullname))) + { + if (!stat (fullname, &statbuf)) + { + modes = statbuf.st_mode; + if (S_ISREG (modes)) + return (1); /* found as6edriver */ + } + } + } if (path[count] == '\0') return (0); /* end of path --no driver found */ count++; diff --git a/backend/avision.c b/backend/avision.c index e9f0145..55b5f4f 100644 --- a/backend/avision.c +++ b/backend/avision.c @@ -7921,7 +7921,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle *handle) However, I was told Cygwin (et al.) takes care of it. */ strncpy(s->duplex_rear_fname, "/tmp/avision-rear-XXXXXX", PATH_MAX); - if (! mktemp(s->duplex_rear_fname) ) { + if (! mkstemp(s->duplex_rear_fname) ) { DBG (1, "sane_open: failed to generate temporary fname for duplex scans\n"); return SANE_STATUS_NO_MEM; } diff --git a/backend/avision.h b/backend/avision.h index 3f42ff6..58552c0 100644 --- a/backend/avision.h +++ b/backend/avision.h @@ -780,7 +780,7 @@ typedef struct acceleration_info #define SANE_NAME_DUPLEX "duplex" #define SANE_TITLE_DUPLEX SANE_I18N("Duplex scan") -#define SANE_DESC_DUPLEX SANE_I18N("Duplex scan provide a scan of the front and back side of the document") +#define SANE_DESC_DUPLEX SANE_I18N("Duplex scan provides a scan of the front and back side of the document") #ifdef AVISION_ENHANCED_SANE #warning "Compiled Avision backend will violate the SANE standard" diff --git a/backend/canon-sane.c b/backend/canon-sane.c index 5d9ec99..cd75719 100644 --- a/backend/canon-sane.c +++ b/backend/canon-sane.c @@ -1125,9 +1125,9 @@ sane_start (SANE_Handle handle) if (thistmpfile != NULL) { - if (mktemp(thistmpfile) == 0) + if (!mkstemp(thistmpfile)) { - DBG(1, "mktemp(thistmpfile) is failed\n"); + DBG(1, "mkstemp(thistmpfile) is failed\n"); return (SANE_STATUS_INVAL); } } diff --git a/backend/canon.c b/backend/canon.c index ad738e8..4a5a2a2 100644 --- a/backend/canon.c +++ b/backend/canon.c @@ -457,7 +457,7 @@ sense_handler (int scsi_fd, u_char * result, void *arg) status = SANE_STATUS_UNSUPPORTED; break; case 0x8002: - sense_str = SANE_I18N("option not connect"); + sense_str = SANE_I18N("option not correct"); status = SANE_STATUS_UNSUPPORTED; break; default: diff --git a/backend/canon630u-common.c b/backend/canon630u-common.c index 27c34ff..5cd0fcf 100644 --- a/backend/canon630u-common.c +++ b/backend/canon630u-common.c @@ -939,7 +939,7 @@ plugin_cal (CANON_Handle * s) { DBG (1, "No temp filename!\n"); s->fname = strdup ("/tmp/cal.XXXXXX"); - mktemp (s->fname); + mkstemp (s->fname); } s->width = 2551; s->height = 75; @@ -1583,7 +1583,7 @@ CANON_start_scan (CANON_Handle * scanner) /* choose a temp file name for scan data */ scanner->fname = strdup ("/tmp/scan.XXXXXX"); - if (!mktemp (scanner->fname)) + if (!mkstemp (scanner->fname)) return SANE_STATUS_IO_ERROR; /* calibrate if needed */ diff --git a/backend/canon_dr.c b/backend/canon_dr.c index 64aec31..f6cd5d4 100644 --- a/backend/canon_dr.c +++ b/backend/canon_dr.c @@ -3,7 +3,7 @@ This file is part of the SANE package, and implements a SANE backend for various Canon DR-series scanners. - Copyright (C) 2008-2016 m. allan noah + Copyright (C) 2008-2019 m. allan noah Yabarana Corp. www.yabarana.com provided significant funding EvriChart, Inc. www.evrichart.com provided funding and loaned equipment @@ -338,6 +338,8 @@ - initial support for P-150 v57 2019-02-24, manuarg - complete support for X-10, including hardware cropping + v58 2019-11-10, MAN + - adjust wait_scanner to set runRS only as a last resort, bug #154 SANE FLOW DIAGRAM @@ -388,7 +390,7 @@ #include "canon_dr.h" #define DEBUG 1 -#define BUILD 57 +#define BUILD 58 /* values for SANE_DEBUG_CANON_DR env var: - errors 5 @@ -7584,6 +7586,24 @@ wait_scanner(struct scanner *s) NULL, NULL ); + if (ret != SANE_STATUS_GOOD) { + DBG(5,"WARNING: Brain-dead scanner. Hitting with stick.\n"); + ret = do_cmd ( + s, 0, 1, + cmd, cmdLen, + NULL, 0, + NULL, NULL + ); + } + if (ret != SANE_STATUS_GOOD) { + DBG(5,"WARNING: Brain-dead scanner. Hitting with stick again.\n"); + ret = do_cmd ( + s, 0, 1, + cmd, cmdLen, + NULL, 0, + NULL, NULL + ); + } // some scanners (such as DR-F120) are OK but will not respond to commands // when in sleep mode. By checking the sense it wakes them up. if (ret != SANE_STATUS_GOOD) { @@ -7596,7 +7616,16 @@ wait_scanner(struct scanner *s) ); } if (ret != SANE_STATUS_GOOD) { - DBG(5,"WARNING: Brain-dead scanner. Hitting with stick instead.\n"); + DBG(5,"WARNING: Brain-dead scanner. Hitting with stick a third time.\n"); + ret = do_cmd ( + s, 0, 1, + cmd, cmdLen, + NULL, 0, + NULL, NULL + ); + } + if (ret != SANE_STATUS_GOOD) { + DBG(5,"WARNING: Brain-dead scanner. Hitting with stick a fourth time.\n"); ret = do_cmd ( s, 0, 1, cmd, cmdLen, diff --git a/backend/dc25.c b/backend/dc25.c index 3bb81f5..6188608 100644 --- a/backend/dc25.c +++ b/backend/dc25.c @@ -2030,7 +2030,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) if (tmpname == NULL) { tmpname = tmpnamebuf; - if (mktemp (tmpname) == NULL) + if (!mkstemp (tmpname)) { DBG (1, "Unable to make temp file %s\n", tmpname); return SANE_STATUS_INVAL; diff --git a/backend/dll.c b/backend/dll.c index 8f0983d..73ffde4 100644 --- a/backend/dll.c +++ b/backend/dll.c @@ -89,6 +89,20 @@ posix_dlsym (void *handle, const char *func) } # pragma GCC diagnostic pop + /* Similar to the above, GCC also warns about conversion between + pointers to functions. The ISO C standard says that invoking a + converted pointer to a function whose type is not compatible with + the pointed-to type, the behavior is undefined. Although GCC is + correct to warn about this, the dll backend has been using these + conversions without issues for a very long time already. + + Rather than push/pop around every use, which would get very ugly + real fast, ignore this particular warning for the remainder of + the file. + */ +# pragma GCC diagnostic ignored "-Wpragmas" /* backward compatibility */ +# pragma GCC diagnostic ignored "-Wcast-function-type" + /* Older versions of dlopen() don't define RTLD_NOW and RTLD_LAZY. They all seem to use a mode of 1 to indicate RTLD_NOW and some do not support RTLD_LAZY at all. Hence, unless defined, we define @@ -139,6 +153,8 @@ posix_dlsym (void *handle, const char *func) #define DLL_CONFIG_FILE "dll.conf" #define DLL_ALIASES_FILE "dll.aliases" +#include "../include/sane/sanei_usb.h" + enum SANE_Ops { OP_INIT = 0, @@ -797,7 +813,8 @@ read_dlld (void) DIR *dlld; struct dirent *dllconf; struct stat st; - char conffile[PATH_MAX], dlldir[PATH_MAX]; + char dlldir[PATH_MAX]; + char conffile[PATH_MAX + strlen("/") + NAME_MAX]; size_t len, plen; const char *dir_list; char *copy, *next, *dir; @@ -849,7 +866,7 @@ read_dlld (void) || (dllconf->d_name[len-1] == '#')) continue; - snprintf (conffile, PATH_MAX, "%s/%s", dlldir, dllconf->d_name); + snprintf (conffile, sizeof(conffile), "%s/%s", dlldir, dllconf->d_name); DBG (5, "sane_init/read_dlld: considering %s\n", conffile); @@ -1177,18 +1194,73 @@ sane_open (SANE_String_Const full_name, SANE_Handle * meta_handle) } dev_name = strchr (full_name, ':'); + + int is_fakeusb = 0, is_fakeusbdev = 0, is_fakeusbout = 0; + if (dev_name) { - be_name = strndup(full_name, dev_name - full_name); - ++dev_name; /* skip colon */ + is_fakeusb = strncmp(full_name, "fakeusb", dev_name - full_name) == 0 && + dev_name - full_name == 7; + is_fakeusbdev = strncmp(full_name, "fakeusbdev", dev_name - full_name) == 0 && + dev_name - full_name == 10; + is_fakeusbout = strncmp(full_name, "fakeusbout", dev_name - full_name) == 0 && + dev_name - full_name == 10; + } + + if (is_fakeusb || is_fakeusbdev) + { + ++dev_name; // skip colon + status = sanei_usb_testing_enable_replay(dev_name, is_fakeusbdev); + if (status != SANE_STATUS_GOOD) + return status; + + be_name = sanei_usb_testing_get_backend(); + if (be_name == NULL) + { + DBG (0, "%s: unknown backend for testing\n", __func__); + return SANE_STATUS_ACCESS_DENIED; + } } else { - /* if no colon interpret full_name as the backend name; an empty - backend device name will cause us to open the first device of - that backend. */ - be_name = strdup(full_name); - dev_name = ""; + char* fakeusbout_path = NULL; + if (is_fakeusbout) + { + ++dev_name; // skip colon + + const char* path_end = strchr(dev_name, ':'); + if (path_end == NULL) + { + DBG (0, "%s: the device name does not contain path\n", __func__); + return SANE_STATUS_INVAL; + } + fakeusbout_path = strndup(dev_name, path_end - dev_name); + + full_name = path_end + 1; // skip colon + dev_name = strchr(full_name, ':'); + } + + if (dev_name) + { + be_name = strndup(full_name, dev_name - full_name); + ++dev_name; /* skip colon */ + } + else + { + /* if no colon interpret full_name as the backend name; an empty + backend device name will cause us to open the first device of + that backend. */ + be_name = strdup(full_name); + dev_name = ""; + } + + if (is_fakeusbout) + { + status = sanei_usb_testing_enable_record(fakeusbout_path, be_name); + free(fakeusbout_path); + if (status != SANE_STATUS_GOOD) + return status; + } } if (!be_name) diff --git a/backend/dll.conf.in b/backend/dll.conf.in index 8d459ab..92091cb 100644 --- a/backend/dll.conf.in +++ b/backend/dll.conf.in @@ -11,10 +11,10 @@ net abaton agfafocus apple -avision artec artec_eplus48u as6e +avision bh canon canon630u @@ -24,33 +24,35 @@ cardscan coolscan #coolscan2 coolscan3 -#dc25 #dc210 #dc240 +#dc25 dell1600n_net dmc epjitsu #epson epson2 epsonds +escl fujitsu -#gphoto2 genesys +#gphoto2 gt68xx hp -hp3900 -hpsj5s hp3500 +hp3900 hp4200 hp5400 hp5590 hpljm1005 +hpsj5s hs2p ibm kodak kodakaio kvs1025 kvs20xx +kvs40xx leo lexmark ma1509 @@ -66,6 +68,7 @@ nec niash #p5 pie +pieusb pint pixma plustek @@ -91,7 +94,7 @@ teco3 #test u12 umax -#umax_pp umax1220u +#umax_pp v4l xerox_mfp diff --git a/backend/epjitsu.c b/backend/epjitsu.c index bee4310..714bc0b 100644 --- a/backend/epjitsu.c +++ b/backend/epjitsu.c @@ -349,10 +349,21 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) continue; if ((strncmp ("firmware", lp, 8) == 0) && isspace (lp[8])) { + size_t firmware_len; + lp += 8; lp = sanei_config_skip_whitespace (lp); DBG (15, "sane_get_devices: firmware '%s'\n", lp); - strncpy((char *)global_firmware_filename,lp,PATH_MAX); + + firmware_len = strlen(lp); + if (firmware_len > sizeof(global_firmware_filename) - 1) + { + DBG (5, "sane_get_devices: firmware file too long. ignoring '%s'\n", lp); + } + else + { + strcpy((char *)global_firmware_filename, lp); + } } else if ((strncmp ("usb", lp, 3) == 0) && isspace (lp[3])) { DBG (15, "sane_get_devices: looking for '%s'\n", lp); diff --git a/backend/epson2.c b/backend/epson2.c index f119018..e6f6786 100644 --- a/backend/epson2.c +++ b/backend/epson2.c @@ -1889,12 +1889,11 @@ setvalue(SANE_Handle handle, SANE_Int option, void *value, SANE_Int *info) case OPT_BR_X: case OPT_BR_Y: - sval->w = *((SANE_Word *) value); - if (SANE_UNFIX(sval->w) == 0) { + if (SANE_UNFIX(*((SANE_Word *) value)) == 0) { DBG(17, "invalid br-x or br-y\n"); return SANE_STATUS_INVAL; } - /* passthru */ + // fall through case OPT_TL_X: case OPT_TL_Y: sval->w = *((SANE_Word *) value); diff --git a/backend/epsonds.c b/backend/epsonds.c index d402f58..ff5d681 100644 --- a/backend/epsonds.c +++ b/backend/epsonds.c @@ -1050,12 +1050,11 @@ setvalue(SANE_Handle handle, SANE_Int option, void *value, SANE_Int *info) case OPT_BR_X: case OPT_BR_Y: - sval->w = *((SANE_Word *) value); - if (SANE_UNFIX(sval->w) == 0) { + if (SANE_UNFIX(*((SANE_Word *) value)) == 0) { DBG(17, " invalid br-x or br-y\n"); return SANE_STATUS_INVAL; } - /* passthru */ + // fall through case OPT_TL_X: case OPT_TL_Y: sval->w = *((SANE_Word *) value); diff --git a/backend/escl.conf.in b/backend/escl.conf.in new file mode 100644 index 0000000..2aa6257 --- /dev/null +++ b/backend/escl.conf.in @@ -0,0 +1,17 @@ +# escl.conf -- ESCL configuration +# Lines starting with a # or a ; are comments. Comments must be on a +# line of their own. End-of-line comments are not supported. +# Explanation : if you can't detect your device but it's an eSCL device, modify this escl conf' file to use your device. +# -> uncomment the lines below, from '[device]' to 'port'. +# -> put your device name instead of 'EPSON X'. +# -> put your type of protocol instead of 'https' : http or https. +# -> put your device ip instead of '123.456.789.10'. +# -> put the port that you use instead of '88'. +# For example, the lines below are for one device, but if you have several devices to use, you can duplicate the lines below as many times as you have devices. + +#[device] + +#model EPSON X +#type https +#ip 123.456.789.10 +#port 88 diff --git a/backend/escl/escl.c b/backend/escl/escl.c new file mode 100644 index 0000000..8df6c5c --- /dev/null +++ b/backend/escl/escl.c @@ -0,0 +1,777 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Touboul Nathane + Copyright (C) 2019 Thierry HUCHARD + + This file is part of the SANE package. + + SANE 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 3 of the License, or (at your + option) any later version. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + This file implements a SANE backend for eSCL scanners. */ + +#include "escl.h" + +#include +#include +#include + +#include + +#include + +#include "../include/sane/saneopts.h" +#include "../include/sane/sanei.h" +#include "../include/sane/sanei_backend.h" +#include "../include/sane/sanei_config.h" + +#define min(A,B) (((A)<(B)) ? (A) : (B)) +#define max(A,B) (((A)>(B)) ? (A) : (B)) +#define INPUT_BUFFER_SIZE 4096 + +static const SANE_Device **devlist = NULL; +static ESCL_Device *list_devices_primary = NULL; +static int num_devices = 0; + +typedef struct Handled { + struct Handled *next; + SANE_String_Const name; + char *result; + ESCL_ScanParam param; + SANE_Option_Descriptor opt[NUM_OPTIONS]; + Option_Value val[NUM_OPTIONS]; + capabilities_t *scanner; + SANE_Range x_range; + SANE_Range y_range; + SANE_Bool cancel; + SANE_Bool write_scan_data; + SANE_Bool decompress_scan_data; + SANE_Bool end_read; + SANE_Parameters ps; +} escl_sane_t; + +/** + * \fn static SANE_Status escl_add_in_list(ESCL_Device *current) + * \brief Function that adds all the element needed to my list : + * the port number, the model name, the ip address, and the type of url (http/https). + * Moreover, this function counts the number of devices found. + * + * \return SANE_STATUS_GOOD if everything is OK. + */ +static SANE_Status +escl_add_in_list(ESCL_Device *current) +{ + ++num_devices; + current->next = list_devices_primary; + list_devices_primary = current; + return (SANE_STATUS_GOOD); +} + +/** + * \fn SANE_Status escl_device_add(int port_nb, const char *model_name, char *ip_address, char *type) + * \brief Function that browses my list ('for' loop) and returns the "escl_add_in_list" function to + * adds all the element needed to my list : + * the port number, the model name, the ip address and the type of the url (http / https). + * + * \return escl_add_in_list(current) + */ +SANE_Status +escl_device_add(int port_nb, const char *model_name, char *ip_address, char *type) +{ + ESCL_Device *current = NULL; + DBG (10, "escl_device_add\n"); + for (current = list_devices_primary; current; current = current->next) { + if (strcmp(current->ip_address, ip_address) == 0 && current->port_nb == port_nb + && strcmp(current->type, type) == 0) + return (SANE_STATUS_GOOD); + } + current = malloc(sizeof(*current)); + if (current == NULL) + return (SANE_STATUS_NO_MEM); + memset(current, 0, sizeof(*current)); + current->port_nb = port_nb; + current->model_name = strdup(model_name); + current->ip_address = strdup(ip_address); + current->type = strdup(type); + return escl_add_in_list(current); +} + +/** + * \fn static inline size_t max_string_size(const SANE_String_Const strings[]) + * \brief Function that browses the string ('for' loop) and counts the number of character in the string. + * --> this allows to know the maximum size of the string. + * + * \return max_size + 1 (the size max) + */ +static inline size_t +max_string_size(const SANE_String_Const strings[]) +{ + size_t max_size = 0; + int i = 0; + + for (i = 0; strings[i]; ++i) { + size_t size = strlen (strings[i]); + if (size > max_size) + max_size = size; + } + return (max_size + 1); +} + +/** + * \fn static SANE_Device *convertFromESCLDev(ESCL_Device *cdev) + * \brief Function that checks if the url of the received scanner is secured or not (http / https). + * --> if the url is not secured, our own url will be composed like "http://'ip':'port'". + * --> else, our own url will be composed like "https://'ip':'port'". + * AND, it's in this function that we gather all the informations of the url (that were in our list) : + * the model_name, the port, the ip, and the type of url. + * SO, leaving this function, we have in memory the complete url. + * + * \return sdev (structure that contains the elements of the url) + */ +static SANE_Device * +convertFromESCLDev(ESCL_Device *cdev) +{ + SANE_Device *sdev = (SANE_Device*) calloc(1, sizeof(SANE_Device)); + char tmp[PATH_MAX] = { 0 }; + + if (strcmp(cdev->type, "_uscan._tcp") == 0 || strcmp(cdev->type, "http") == 0) + snprintf(tmp, sizeof(tmp), "http://%s:%d", cdev->ip_address, cdev->port_nb); + else + snprintf(tmp, sizeof(tmp), "https://%s:%d", cdev->ip_address, cdev->port_nb); + DBG( 1, "Escl add device : %s\n", tmp); + sdev->name = strdup(tmp); + sdev->model = strdup(cdev->model_name); + sdev->vendor = strdup("ESCL"); + sdev->type = strdup("flatbed scanner"); + return (sdev); +} + +/** + * \fn SANE_Status sane_init(SANE_Int *version_code, SANE_Auth_Callback authorize) + * \brief Function that's called before any other SANE function ; it's the first SANE function called. + * --> this function checks the SANE config. and can check the authentication of the user if + * 'authorize' value is more than SANE_TRUE. + * In this case, it will be necessary to define an authentication method. + * + * \return SANE_STATUS_GOOD (everything is OK) + */ +SANE_Status +sane_init(SANE_Int *version_code, SANE_Auth_Callback __sane_unused__ authorize) +{ + DBG_INIT(); + DBG (10, "escl sane_init\n"); + SANE_Status status = SANE_STATUS_GOOD; + curl_global_init(CURL_GLOBAL_ALL); + if (version_code != NULL) + *version_code = SANE_VERSION_CODE(1, 0, 0); + if (status != SANE_STATUS_GOOD) + return (status); + return (SANE_STATUS_GOOD); +} + +/** + * \fn void sane_exit(void) + * \brief Function that must be called to terminate use of a backend. + * This function will first close all device handles that still might be open. + * --> by freeing all the elements of my list. + * After this function, no function other than 'sane_init' may be called. + */ +void +sane_exit(void) +{ + DBG (10, "escl sane_exit\n"); + ESCL_Device *next = NULL; + + while (list_devices_primary != NULL) { + next = list_devices_primary->next; + free(list_devices_primary); + list_devices_primary = next; + } + if (devlist) + free (devlist); + list_devices_primary = NULL; + devlist = NULL; + curl_global_cleanup(); +} + +/** + * \fn static SANE_Status attach_one_config(SANEI_Config *config, const char *line) + * \brief Function that implements a configuration file to the user : + * if the user can't detect some devices, he will be able to force their detection with this config' file to use them. + * Thus, this function parses the config' file to use the device of the user with the information below : + * the type of protocol (http/https), the ip, the port number, and the model name. + * + * \return escl_add_in_list(escl_device) if the parsing worked, SANE_STATUS_GOOD otherwise. + */ +static SANE_Status +attach_one_config(SANEI_Config __sane_unused__ *config, const char *line) +{ + int port = 0; + static int count = 0; + static ESCL_Device *escl_device = NULL; + + if (strncmp(line, "[device]", 8) == 0) { + count = 0; + escl_device = (ESCL_Device*)calloc(1, sizeof(ESCL_Device)); + } + if (strncmp(line, "ip", 2) == 0) { + const char *ip_space = sanei_config_skip_whitespace(line + 2); + if (escl_device != NULL && ip_space != NULL) { + count++; + escl_device->ip_address = strdup(ip_space); + } + } + if (sscanf(line, "port %i", &port) == 1 && port != 0) { + const char *port_space = sanei_config_skip_whitespace(line + 4); + if (escl_device != NULL && port_space != NULL) { + count++; + escl_device->port_nb = port; + } + } + if (strncmp(line, "model", 5) == 0) { + const char *model_space = sanei_config_skip_whitespace(line + 5); + if (escl_device != NULL && model_space != NULL) { + count++; + escl_device->model_name = strdup(model_space); + } + } + if (strncmp(line, "type", 4) == 0) { + const char *type_space = sanei_config_skip_whitespace(line + 4); + if (escl_device != NULL && type_space != NULL) { + count++; + escl_device->type = strdup(type_space); + } + } + if (count == 4) + return (escl_add_in_list(escl_device)); + return (SANE_STATUS_GOOD); +} + +/** + * \fn SANE_Status sane_get_devices(const SANE_Device ***device_list, SANE_Bool local_only) + * \brief Function that searches for connected devices and places them in our 'device_list'. ('for' loop) + * If the attribute 'local_only' is worth SANE_FALSE, we only returns the connected devices locally. + * + * \return SANE_STATUS_GOOD if devlist != NULL ; SANE_STATUS_NO_MEM otherwise. + */ +SANE_Status +sane_get_devices(const SANE_Device ***device_list, SANE_Bool local_only) +{ + if (local_only) /* eSCL is a network-only protocol */ + return (device_list ? SANE_STATUS_GOOD : SANE_STATUS_INVAL); + + DBG (10, "escl sane_get_devices\n"); + ESCL_Device *dev = NULL; + static const SANE_Device **devlist = 0; + SANE_Status status; + + if (device_list == NULL) + return (SANE_STATUS_INVAL); + status = sanei_configure_attach(ESCL_CONFIG_FILE, NULL, attach_one_config); + if (status != SANE_STATUS_GOOD) + return (status); + escl_devices(&status); + if (status != SANE_STATUS_GOOD) + return (status); + if (devlist) + free(devlist); + devlist = (const SANE_Device **) calloc (num_devices + 1, sizeof (devlist[0])); + if (devlist == NULL) + return (SANE_STATUS_NO_MEM); + int i = 0; + for (dev = list_devices_primary; i < num_devices; dev = dev->next) { + SANE_Device *s_dev = convertFromESCLDev(dev); + devlist[i] = s_dev; + i++; + } + devlist[i] = 0; + *device_list = devlist; + return (devlist) ? SANE_STATUS_GOOD : SANE_STATUS_NO_MEM; +} + +/** + * \fn static SANE_Status init_options(SANE_String_Const name, escl_sane_t *s) + * \brief Function thzt initializes all the needed options of the received scanner + * (the resolution / the color / the margins) thanks to the informations received with + * the 'escl_capabilities' function, called just before. + * + * \return status (if everything is OK, status = SANE_STATUS_GOOD) + */ +static SANE_Status +init_options(SANE_String_Const name, escl_sane_t *s) +{ + DBG (10, "escl init_options\n"); + SANE_Status status = SANE_STATUS_GOOD; + int i = 0; + + if (name == NULL) + return (SANE_STATUS_INVAL); + memset (s->opt, 0, sizeof (s->opt)); + memset (s->val, 0, sizeof (s->val)); + for (i = 0; i < NUM_OPTIONS; ++i) { + s->opt[i].size = sizeof (SANE_Word); + s->opt[i].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; + } + s->x_range.min = 0; + s->x_range.max = s->scanner->MaxWidth - s->scanner->MinWidth; + s->x_range.quant = 1; + s->y_range.min = 0; + s->y_range.max = s->scanner->MaxHeight - s->scanner->MinHeight; + s->y_range.quant = 1; + s->opt[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS; + s->opt[OPT_NUM_OPTS].desc = SANE_DESC_NUM_OPTIONS; + s->opt[OPT_NUM_OPTS].type = SANE_TYPE_INT; + s->opt[OPT_NUM_OPTS].cap = SANE_CAP_SOFT_DETECT; + s->val[OPT_NUM_OPTS].w = NUM_OPTIONS; + + s->opt[OPT_MODE_GROUP].title = SANE_TITLE_SCAN_MODE; + s->opt[OPT_MODE_GROUP].desc = ""; + s->opt[OPT_MODE_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_MODE_GROUP].cap = 0; + s->opt[OPT_MODE_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + s->opt[OPT_MODE].name = SANE_NAME_SCAN_MODE; + s->opt[OPT_MODE].title = SANE_TITLE_SCAN_MODE; + s->opt[OPT_MODE].desc = SANE_DESC_SCAN_MODE; + s->opt[OPT_MODE].type = SANE_TYPE_STRING; + s->opt[OPT_MODE].unit = SANE_UNIT_NONE; + s->opt[OPT_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST; + s->opt[OPT_MODE].constraint.string_list = s->scanner->ColorModes; + s->val[OPT_MODE].s = (char *)strdup(s->scanner->ColorModes[0]); + s->opt[OPT_MODE].size = max_string_size(s->scanner->ColorModes); + s->scanner->default_color = (char *)strdup(s->scanner->ColorModes[0]); + + s->opt[OPT_RESOLUTION].name = SANE_NAME_SCAN_RESOLUTION; + s->opt[OPT_RESOLUTION].title = SANE_TITLE_SCAN_RESOLUTION; + s->opt[OPT_RESOLUTION].desc = SANE_DESC_SCAN_RESOLUTION; + s->opt[OPT_RESOLUTION].type = SANE_TYPE_INT; + s->opt[OPT_RESOLUTION].unit = SANE_UNIT_DPI; + s->opt[OPT_RESOLUTION].constraint_type = SANE_CONSTRAINT_WORD_LIST; + s->opt[OPT_RESOLUTION].constraint.word_list = s->scanner->SupportedResolutions; + s->val[OPT_RESOLUTION].w = s->scanner->SupportedResolutions[1]; + s->scanner->default_resolution = s->scanner->SupportedResolutions[1]; + + s->opt[OPT_PREVIEW].name = SANE_NAME_PREVIEW; + s->opt[OPT_PREVIEW].title = SANE_TITLE_PREVIEW; + s->opt[OPT_PREVIEW].desc = SANE_DESC_PREVIEW; + s->opt[OPT_PREVIEW].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT; + s->opt[OPT_PREVIEW].type = SANE_TYPE_BOOL; + s->val[OPT_PREVIEW].w = SANE_FALSE; + + s->opt[OPT_GRAY_PREVIEW].name = SANE_NAME_GRAY_PREVIEW; + s->opt[OPT_GRAY_PREVIEW].title = SANE_TITLE_GRAY_PREVIEW; + s->opt[OPT_GRAY_PREVIEW].desc = SANE_DESC_GRAY_PREVIEW; + s->opt[OPT_GRAY_PREVIEW].type = SANE_TYPE_BOOL; + s->val[OPT_GRAY_PREVIEW].w = SANE_FALSE; + + s->opt[OPT_GEOMETRY_GROUP].title = SANE_TITLE_GEOMETRY; + s->opt[OPT_GEOMETRY_GROUP].desc = ""; + s->opt[OPT_GEOMETRY_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_GEOMETRY_GROUP].cap = SANE_CAP_ADVANCED; + s->opt[OPT_GEOMETRY_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + s->opt[OPT_TL_X].name = SANE_NAME_SCAN_TL_X; + s->opt[OPT_TL_X].title = SANE_TITLE_SCAN_TL_X; + s->opt[OPT_TL_X].desc = SANE_DESC_SCAN_TL_X; + s->opt[OPT_TL_X].type = SANE_TYPE_FIXED; + s->opt[OPT_TL_X].unit = SANE_UNIT_PIXEL; + s->opt[OPT_TL_X].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_TL_X].constraint.range = &s->x_range; + s->val[OPT_TL_X].w = s->scanner->RiskyLeftMargin; + + s->opt[OPT_TL_Y].name = SANE_NAME_SCAN_TL_Y; + s->opt[OPT_TL_Y].title = SANE_TITLE_SCAN_TL_Y; + s->opt[OPT_TL_Y].desc = SANE_DESC_SCAN_TL_Y; + s->opt[OPT_TL_Y].type = SANE_TYPE_FIXED; + s->opt[OPT_TL_Y].unit = SANE_UNIT_PIXEL; + s->opt[OPT_TL_Y].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_TL_Y].constraint.range = &s->y_range; + s->val[OPT_TL_Y].w = s->scanner->RiskyTopMargin; + + s->opt[OPT_BR_X].name = SANE_NAME_SCAN_BR_X; + s->opt[OPT_BR_X].title = SANE_TITLE_SCAN_BR_X; + s->opt[OPT_BR_X].desc = SANE_DESC_SCAN_BR_X; + s->opt[OPT_BR_X].type = SANE_TYPE_FIXED; + s->opt[OPT_BR_X].unit = SANE_UNIT_PIXEL; + s->opt[OPT_BR_X].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_BR_X].constraint.range = &s->x_range; + s->val[OPT_BR_X].w = s->scanner->MaxWidth; + + s->opt[OPT_BR_Y].name = SANE_NAME_SCAN_BR_Y; + s->opt[OPT_BR_Y].title = SANE_TITLE_SCAN_BR_Y; + s->opt[OPT_BR_Y].desc = SANE_DESC_SCAN_BR_Y; + s->opt[OPT_BR_Y].type = SANE_TYPE_FIXED; + s->opt[OPT_BR_Y].unit = SANE_UNIT_PIXEL; + s->opt[OPT_BR_Y].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_BR_Y].constraint.range = &s->y_range; + s->val[OPT_BR_Y].w = s->scanner->MaxHeight; + return (status); +} + +/** + * \fn SANE_Status sane_open(SANE_String_Const name, SANE_Handle *h) + * \brief Function that establishes a connection with the device named by 'name', + * and returns a 'handler' using 'SANE_Handle *h', representing it. + * Thus, it's this function that calls the 'escl_status' function firstly, + * then the 'escl_capabilities' function, and, after, the 'init_options' function. + * + * \return status (if everything is OK, status = SANE_STATUS_GOOD, otherwise, SANE_STATUS_NO_MEM/SANE_STATUS_INVAL) + */ +SANE_Status +sane_open(SANE_String_Const name, SANE_Handle *h) +{ + DBG (10, "escl sane_open\n"); + SANE_Status status; + escl_sane_t *handler = NULL; + + if (name == NULL) + return (SANE_STATUS_INVAL); + status = escl_status(name); + if (status != SANE_STATUS_GOOD) + return (status); + handler = (escl_sane_t *)calloc(1, sizeof(escl_sane_t)); + if (handler == NULL) + return (SANE_STATUS_NO_MEM); + handler->name = strdup(name); + handler->scanner = escl_capabilities(name, &status); + if (status != SANE_STATUS_GOOD) + return (status); + status = init_options(name, handler); + if (status != SANE_STATUS_GOOD) + return (status); + handler->ps.depth = 8; + handler->ps.last_frame = SANE_TRUE; + handler->ps.format = SANE_FRAME_RGB; + handler->ps.pixels_per_line = handler->val[OPT_BR_X].w; + handler->ps.lines = handler->val[OPT_BR_Y].w; + handler->ps.bytes_per_line = handler->ps.pixels_per_line * 3; + status = sane_get_parameters(handler, 0); + if (status != SANE_STATUS_GOOD) + return (status); + handler->cancel = SANE_FALSE; + handler->write_scan_data = SANE_FALSE; + handler->decompress_scan_data = SANE_FALSE; + handler->end_read = SANE_FALSE; + *h = handler; + return (status); +} + +/** + * \fn void sane_cancel(SANE_Handle h) + * \brief Function that's used to, immediately or as quickly as possible, cancel the currently + * pending operation of the device represented by 'SANE_Handle h'. + * This functions calls the 'escl_scanner' functions, that resets the scan operations. + */ +void +sane_cancel(SANE_Handle h) +{ + DBG (10, "escl sane_cancel\n"); + escl_sane_t *handler = h; + if (handler->scanner->tmp) + { + fclose(handler->scanner->tmp); + handler->scanner->tmp = NULL; + } + handler->cancel = SANE_TRUE; + escl_scanner(handler->name, handler->result); +} + +/** + * \fn void sane_close(SANE_Handle h) + * \brief Function that closes the communication with the device represented by 'SANE_Handle h'. + * This function must release the resources that were allocated to the opening of 'h'. + */ +void +sane_close(SANE_Handle h) +{ + DBG (10, "escl sane_close\n"); + if (h != NULL) { + free(h); + h = NULL; + } +} + +/** + * \fn const SANE_Option_Descriptor *sane_get_option_descriptor(SANE_Handle h, SANE_Int n) + * \brief Function that retrieves a descriptor from the n number option of the scanner + * represented by 'h'. + * The descriptor remains valid until the machine is closed. + * + * \return s->opt + n + */ +const SANE_Option_Descriptor * +sane_get_option_descriptor(SANE_Handle h, SANE_Int n) +{ + DBG (10, "escl sane_get_option_descriptor\n"); + escl_sane_t *s = h; + + if ((unsigned) n >= NUM_OPTIONS || n < 0) + return (0); + return (s->opt + n); +} + +/** + * \fn SANE_Status sane_control_option(SANE_Handle h, SANE_Int n, SANE_Action a, void *v, SANE_Int *i) + * \brief Function that defines the actions to perform for the 'n' option of the machine, + * represented by 'h', if the action is 'a'. + * There are 3 types of possible actions : + * --> SANE_ACTION_GET_VALUE: 'v' must be used to provide the value of the option. + * --> SANE_ACTION_SET_VALUE: The option must take the 'v' value. + * --> SANE_ACTION_SET_AUTO: The backend or machine must affect the option with an appropriate value. + * Moreover, the parameter 'i' is used to provide additional information about the state of + * 'n' option if SANE_ACTION_SET_VALUE has been performed. + * + * \return SANE_STATUS_GOOD if everything is OK, otherwise, SANE_STATUS_NO_MEM/SANE_STATUS_INVAL + */ +SANE_Status +sane_control_option(SANE_Handle h, SANE_Int n, SANE_Action a, void *v, SANE_Int *i) +{ + DBG (10, "escl sane_control_option\n"); + escl_sane_t *handler = h; + + if (i) + *i = 0; + if (n >= NUM_OPTIONS || n < 0) + return (SANE_STATUS_INVAL); + if (a == SANE_ACTION_GET_VALUE) { + switch (n) { + case OPT_NUM_OPTS: + case OPT_RESOLUTION: + case OPT_TL_X: + case OPT_TL_Y: + case OPT_BR_X: + case OPT_BR_Y: + case OPT_PREVIEW: + case OPT_GRAY_PREVIEW: + *(SANE_Word *) v = handler->val[n].w; + break; + case OPT_MODE: + strcpy (v, handler->val[n].s); + break; + case OPT_MODE_GROUP: + default: + break; + } + return (SANE_STATUS_GOOD); + } + if (a == SANE_ACTION_SET_VALUE) { + switch (n) { + case OPT_TL_X: + case OPT_TL_Y: + case OPT_BR_X: + case OPT_BR_Y: + case OPT_PREVIEW: + case OPT_GRAY_PREVIEW: + handler->val[n].w = *(SANE_Word *) v; + if (i && handler->val[n].w != *(SANE_Word *) v) + *i |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS | SANE_INFO_INEXACT; + handler->val[n].w = *(SANE_Word *) v; + break; + case OPT_RESOLUTION: + handler->val[n].w = *(SANE_Word *) v; + if (i) + *i |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS | SANE_INFO_INEXACT; + break; + case OPT_MODE: + if (handler->val[n].s) + free (handler->val[n].s); + handler->val[n].s = strdup (v); + if (i) + *i |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS | SANE_INFO_INEXACT; + break; + default: + break; + } + } + return (SANE_STATUS_GOOD); +} + +/** + * \fn SANE_Status sane_start(SANE_Handle h) + * \brief Function that initiates aquisition of an image from the device represented by handle 'h'. + * This function calls the "escl_newjob" function and the "escl_scan" function. + * + * \return status (if everything is OK, status = SANE_STATUS_GOOD, otherwise, SANE_STATUS_NO_MEM/SANE_STATUS_INVAL) + */ +SANE_Status +sane_start(SANE_Handle h) +{ + DBG (10, "escl sane_start\n"); + SANE_Status status = SANE_STATUS_GOOD; + escl_sane_t *handler = h; + int w = 0; + int he = 0; + int bps = 0; + + if (handler->name == NULL) + return (SANE_STATUS_INVAL); + handler->cancel = SANE_FALSE; + handler->write_scan_data = SANE_FALSE; + handler->decompress_scan_data = SANE_FALSE; + handler->end_read = SANE_FALSE; + handler->scanner->height = handler->val[OPT_BR_Y].w; + handler->scanner->width = handler->val[OPT_BR_X].w; + handler->scanner->pos_x = handler->val[OPT_TL_X].w; + handler->scanner->pos_y = handler->val[OPT_TL_Y].w; + if(handler->scanner->default_color) + free(handler->scanner->default_color); + if (handler->val[OPT_PREVIEW].w == SANE_TRUE) + { + int i = 0, val = 9999;; + if (handler->val[OPT_GRAY_PREVIEW].w == SANE_TRUE || + !strncasecmp(handler->val[OPT_MODE].s, SANE_VALUE_SCAN_MODE_GRAY, 3)) + handler->scanner->default_color = strdup("Grayscale8"); + else + handler->scanner->default_color = strdup("RGB24"); + for (i = 1; i < handler->scanner->SupportedResolutionsSize; i++) + { + if (val > handler->scanner->SupportedResolutions[i]) + val = handler->scanner->SupportedResolutions[i]; + } + handler->scanner->default_resolution = val; + } + else + { + handler->scanner->default_resolution = handler->val[OPT_RESOLUTION].w; + if (!strncasecmp(handler->val[OPT_MODE].s, SANE_VALUE_SCAN_MODE_GRAY, 3)) + handler->scanner->default_color = strdup("Grayscale8"); + else + handler->scanner->default_color = strdup("RGB24"); + } + handler->result = escl_newjob(handler->scanner, handler->name, &status); + if (status != SANE_STATUS_GOOD) + return (status); + status = escl_scan(handler->scanner, handler->name, handler->result); + if (status != SANE_STATUS_GOOD) + return (status); + if (!strcmp(handler->scanner->default_format, "image/jpeg")) + { + status = get_JPEG_data(handler->scanner, &w, &he, &bps); + } + else if (!strcmp(handler->scanner->default_format, "image/png")) + { + status = get_PNG_data(handler->scanner, &w, &he, &bps); + } + else if (!strcmp(handler->scanner->default_format, "image/tiff")) + { + status = get_TIFF_data(handler->scanner, &w, &he, &bps); + } + else + return SANE_STATUS_INVAL; + + if (status != SANE_STATUS_GOOD) + return (status); + handler->ps.depth = 8; + handler->ps.pixels_per_line = w; + handler->ps.lines = he; + handler->ps.bytes_per_line = w * bps; + handler->ps.last_frame = SANE_TRUE; + handler->ps.format = SANE_FRAME_RGB; + return (status); +} + +/** + * \fn SANE_Status sane_get_parameters(SANE_Handle h, SANE_Parameters *p) + * \brief Function that retrieves the device parameters represented by 'h' and stores them in 'p'. + * This function is normally used after "sane_start". + * It's in this function that we choose to assign the default color. (Color or Monochrome) + * + * \return status (if everything is OK, status = SANE_STATUS_GOOD, otherwise, SANE_STATUS_NO_MEM/SANE_STATUS_INVAL) + */ +SANE_Status +sane_get_parameters(SANE_Handle h, SANE_Parameters *p) +{ + DBG (10, "escl sane_get_parameters\n"); + SANE_Status status = SANE_STATUS_GOOD; + escl_sane_t *handler = h; + + if (status != SANE_STATUS_GOOD) + return (status); + if (p != NULL) { + p->depth = 8; + p->last_frame = SANE_TRUE; + p->format = SANE_FRAME_RGB; + p->pixels_per_line = handler->ps.pixels_per_line; + p->lines = handler->ps.lines; + p->bytes_per_line = handler->ps.bytes_per_line; + } + return (status); +} + + +/** + * \fn SANE_Status sane_read(SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *len) + * \brief Function that's used to read image data from the device represented by handle 'h'. + * The argument 'buf' is a pointer to a memory area that is at least 'maxlen' bytes long. + * The number of bytes returned is stored in '*len'. + * --> When the call succeeds, the number of bytes returned can be anywhere in the range from 0 to 'maxlen' bytes. + * + * \return SANE_STATUS_GOOD (if everything is OK, otherwise, SANE_STATUS_NO_MEM/SANE_STATUS_INVAL) + */ +SANE_Status +sane_read(SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *len) +{ + DBG (10, "escl sane_read\n"); + escl_sane_t *handler = h; + SANE_Status status = SANE_STATUS_GOOD; + long readbyte; + + if (!handler | !buf | !len) + return (SANE_STATUS_INVAL); + if (handler->cancel) + return (SANE_STATUS_CANCELLED); + if (!handler->write_scan_data) + handler->write_scan_data = SANE_TRUE; + if (!handler->decompress_scan_data) { + if (status != SANE_STATUS_GOOD) + return (status); + handler->decompress_scan_data = SANE_TRUE; + } + if (handler->scanner->img_data == NULL) + return (SANE_STATUS_INVAL); + if (!handler->end_read) { + readbyte = min((handler->scanner->img_size - handler->scanner->img_read), maxlen); + memcpy(buf, handler->scanner->img_data + handler->scanner->img_read, readbyte); + handler->scanner->img_read = handler->scanner->img_read + readbyte; + *len = readbyte; + if (handler->scanner->img_read == handler->scanner->img_size) + handler->end_read = SANE_TRUE; + else if (handler->scanner->img_read > handler->scanner->img_size) { + *len = 0; + handler->end_read = SANE_TRUE; + free(handler->scanner->img_data); + handler->scanner->img_data = NULL; + return (SANE_STATUS_INVAL); + } + } + else { + *len = 0; + free(handler->scanner->img_data); + handler->scanner->img_data = NULL; + return (SANE_STATUS_EOF); + } + return (SANE_STATUS_GOOD); +} + +SANE_Status +sane_get_select_fd(SANE_Handle __sane_unused__ h, SANE_Int __sane_unused__ *fd) +{ + return (SANE_STATUS_UNSUPPORTED); +} + +SANE_Status +sane_set_io_mode(SANE_Handle __sane_unused__ handle, SANE_Bool __sane_unused__ non_blocking) +{ + return (SANE_STATUS_UNSUPPORTED); +} diff --git a/backend/escl/escl.h b/backend/escl/escl.h new file mode 100644 index 0000000..82910bd --- /dev/null +++ b/backend/escl/escl.h @@ -0,0 +1,171 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Touboul Nathane + Copyright (C) 2019 Thierry HUCHARD + + This file is part of the SANE package. + + SANE 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 3 of the License, or (at your + option) any later version. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + This file implements a SANE backend for eSCL scanners. */ + + +#ifndef __ESCL_H__ +#define __ESCL_H__ + +#include "../include/sane/config.h" + +#if !(HAVE_LIBCURL && defined(WITH_AVAHI) && defined(HAVE_LIBXML2)) +#error "The escl backend requires libcurl, libavahi and libxml2" +#endif + +#ifndef HAVE_LIBJPEG +/* FIXME: Make JPEG support optional. + Support for PNG and PDF is to be added later but currently only + JPEG is supported. Absence of JPEG support makes the backend a + no-op at present. + */ +#error "The escl backend currently requires libjpeg" +#endif + +#include "../include/sane/sane.h" + +#include + +#ifndef BACKEND_NAME +#define BACKEND_NAME escl +#endif + +#define DEBUG_NOT_STATIC +#include "../include/sane/sanei_debug.h" + +#ifndef DBG_LEVEL +#define DBG_LEVEL PASTE(sanei_debug_, BACKEND_NAME) +#endif +#ifndef NDEBUG +# define DBGDUMP(level, buf, size) \ + do { if (DBG_LEVEL >= (level)) sanei_escl_dbgdump(buf, size); } while (0) +#else +# define DBGDUMP(level, buf, size) +#endif + +#define ESCL_CONFIG_FILE "escl.conf" + +typedef struct { + int p1_0; + int p2_0; + int p3_3; + int DocumentType; + int p4_0; + int p5_0; + int p6_1; + int reserve[11]; +} ESCL_SCANOPTS; + + +typedef struct ESCL_Device { + struct ESCL_Device *next; + + char *model_name; + int port_nb; + char *ip_address; + char *type; +} ESCL_Device; + +typedef struct capabilities +{ + int height; + int width; + int pos_x; + int pos_y; + SANE_String default_color; + SANE_String default_format; + SANE_Int default_resolution; + int MinWidth; + int MaxWidth; + int MinHeight; + int MaxHeight; + int MaxScanRegions; + SANE_String_Const *ColorModes; + int ColorModesSize; + SANE_String_Const *ContentTypes; + int ContentTypesSize; + SANE_String_Const *DocumentFormats; + int DocumentFormatsSize; + SANE_Int *SupportedResolutions; + int SupportedResolutionsSize; + SANE_String_Const *SupportedIntents; + int SupportedIntentsSize; + SANE_String_Const SupportedIntentDefault; + int MaxOpticalXResolution; + int RiskyLeftMargin; + int RiskyRightMargin; + int RiskyTopMargin; + int RiskyBottomMargin; + FILE *tmp; + unsigned char *img_data; + long img_size; + long img_read; + int format_ext; +} capabilities_t; + +typedef struct { + int XRes; + int YRes; + int Left; + int Top; + int Right; + int Bottom; + int ScanMode; + int ScanMethod; + ESCL_SCANOPTS opts; +} ESCL_ScanParam; + + +enum +{ + OPT_NUM_OPTS = 0, + OPT_MODE_GROUP, + OPT_MODE, + OPT_RESOLUTION, + OPT_PREVIEW, + OPT_GRAY_PREVIEW, + + OPT_GEOMETRY_GROUP, + OPT_TL_X, + OPT_TL_Y, + OPT_BR_X, + OPT_BR_Y, + NUM_OPTIONS +}; + +ESCL_Device *escl_devices(SANE_Status *status); +SANE_Status escl_device_add(int port_nb, const char *model_name, char *ip_address, char *type); +SANE_Status escl_status(SANE_String_Const name); +capabilities_t *escl_capabilities(SANE_String_Const name, SANE_Status *status); +char *escl_newjob(capabilities_t *scanner, SANE_String_Const name, SANE_Status *status); +SANE_Status escl_scan(capabilities_t *scanner, SANE_String_Const name, char *result); +void escl_scanner(SANE_String_Const name, char *result); + +// JPEG +SANE_Status get_JPEG_data(capabilities_t *scanner, int *w, int *h, int *bps); + +// PNG +SANE_Status get_PNG_data(capabilities_t *scanner, int *w, int *h, int *bps); + +// TIFF +SANE_Status get_TIFF_data(capabilities_t *scanner, int *w, int *h, int *bps); + +#endif diff --git a/backend/escl/escl_capabilities.c b/backend/escl/escl_capabilities.c new file mode 100644 index 0000000..690ff1e --- /dev/null +++ b/backend/escl/escl_capabilities.c @@ -0,0 +1,377 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Touboul Nathane + Copyright (C) 2019 Thierry HUCHARD + + This file is part of the SANE package. + + SANE 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 3 of the License, or (at your + option) any later version. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + This file implements a SANE backend for eSCL scanners. */ + +#define DEBUG_DECLARE_ONLY +#include "../include/sane/config.h" + +#include "escl.h" + +#include +#include +#include + +#include +#include + +#include "../include/sane/saneopts.h" + +struct cap +{ + char *memory; + size_t size; +}; + +/** + * \fn static SANE_String_Const convert_elements(SANE_String_Const str) + * \brief Function that converts the 'color modes' of the scanner (color/gray) to be understood by SANE. + * + * \return SANE_VALUE_SCAN_MODE_GRAY / SANE_VALUE_SCAN_MODE_COLOR ; NULL otherwise + */ +static SANE_String_Const +convert_elements(SANE_String_Const str) +{ + if (strcmp(str, "Grayscale8") == 0) + return (SANE_VALUE_SCAN_MODE_GRAY); + else if (strcmp(str, "RGB24") == 0) + return (SANE_VALUE_SCAN_MODE_COLOR); + return (NULL); +} + +/** + * \fn static SANE_String_Const *char_to_array(SANE_String_Const *tab, int *tabsize, SANE_String_Const mode, int good_array) + * \brief Function that creates the character arrays to put inside : + * the 'color modes', the 'content types', the 'document formats' and the 'supported intents'. + * + * \return board (the allocated array) + */ +static SANE_String_Const * +char_to_array(SANE_String_Const *tab, int *tabsize, SANE_String_Const mode, int good_array) +{ + SANE_String_Const *board = NULL; + int i = 0; + SANE_String_Const convert = NULL; + + if (mode == NULL) + return (tab); + if (good_array != 0) { + convert = convert_elements(mode); + if (convert == NULL) + return (tab); + } + else + convert = mode; + for (i = 0; i < (*tabsize); i++) { + if (strcmp(tab[i], convert) == 0) + return (tab); + } + (*tabsize)++; + if (*tabsize == 1) + board = (SANE_String_Const *)malloc(sizeof(SANE_String_Const) * (*tabsize) + 1); + else + board = (SANE_String_Const *)realloc(tab, sizeof(SANE_String_Const) * (*tabsize) + 1); + board[*tabsize - 1] = (SANE_String_Const)strdup(convert); + board[*tabsize] = NULL; + return (board); +} + +/** + * \fn static SANE_Int *int_to_array(SANE_Int *tab, int *tabsize, int cont) + * \brief Function that creates the integer array to put inside the 'supported resolutions'. + * + * \return board (the allocated array) + */ +static SANE_Int * +int_to_array(SANE_Int *tab, int *tabsize, int cont) +{ + SANE_Int *board = NULL; + int i = 0; + + for (i = 0; i < (*tabsize); i++) { + if (tab[i] == cont) + return (tab); + } + (*tabsize)++; + if (*tabsize == 1) { + (*tabsize)++; + board = malloc(sizeof(SANE_Int *) * (*tabsize) + 1); + } + else + board = realloc(tab, sizeof(SANE_Int *) * (*tabsize) + 1); + board[0] = *tabsize - 1; + board[*tabsize - 1] = cont; + board[*tabsize] = -1; + return (board); +} + +/** + * \fn static size_t memory_callback_c(void *contents, size_t size, size_t nmemb, void *userp) + * \brief Callback function that stocks in memory the content of the scanner capabilities. + * + * \return realsize (size of the content needed -> the scanner capabilities) + */ +static size_t +memory_callback_c(void *contents, size_t size, size_t nmemb, void *userp) +{ + size_t realsize = size * nmemb; + struct cap *mem = (struct cap *)userp; + + char *str = realloc(mem->memory, mem->size + realsize + 1); + if (str == NULL) { + fprintf(stderr, "not enough memory (realloc returned NULL)\n"); + return (0); + } + mem->memory = str; + memcpy(&(mem->memory[mem->size]), contents, realsize); + mem->size = mem->size + realsize; + mem->memory[mem->size] = 0; + return (realsize); +} + +/** + * \fn static int find_nodes_c(xmlNode *node) + * \brief Function that browses the xml file and parses it, to find the xml children node. + * --> to recover the scanner capabilities. + * + * \return 0 if a xml child node is found, 1 otherwise + */ +static int +find_nodes_c(xmlNode *node) +{ + xmlNode *child = node->children; + + while (child) { + if (child->type == XML_ELEMENT_NODE) + return (0); + child = child->next; + } + return (1); +} + +/** + * \fn static int find_valor_of_array_variables(xmlNode *node, capabilities_t *scanner) + * \brief Function that searchs in the xml file if a scanner capabilitie stocked + * in one of the created array (character/integer array) is found. + * + * \return 0 + */ +static int +find_valor_of_array_variables(xmlNode *node, capabilities_t *scanner) +{ + const char *name = (const char *)node->name; + if (strcmp(name, "ColorMode") == 0) + scanner->ColorModes = char_to_array(scanner->ColorModes, &scanner->ColorModesSize, (SANE_String_Const)xmlNodeGetContent(node), 1); + else if (strcmp(name, "ContentType") == 0) + scanner->ContentTypes = char_to_array(scanner->ContentTypes, &scanner->ContentTypesSize, (SANE_String_Const)xmlNodeGetContent(node), 0); + else if (strcmp(name, "DocumentFormat") == 0) + { + int i = 0; + scanner->DocumentFormats = char_to_array(scanner->DocumentFormats, &scanner->DocumentFormatsSize, (SANE_String_Const)xmlNodeGetContent(node), 0); + for(; i < scanner->DocumentFormatsSize; i++) + { + if (scanner->default_format == NULL && !strcmp(scanner->DocumentFormats[i], "image/jpeg")) + { + scanner->default_format = strdup("image/jpeg"); + } +#if(defined HAVE_LIBPNG) + else if(!strcmp(scanner->DocumentFormats[i], "image/png") && (scanner->default_format == NULL || strcmp(scanner->default_format, "image/tiff"))) + { + if (scanner->default_format) + free(scanner->default_format); + scanner->default_format = strdup("image/png"); + } +#endif +#if(defined HAVE_TIFFIO_H) + else if(!strcmp(scanner->DocumentFormats[i], "image/tiff")) + { + if (scanner->default_format) + free(scanner->default_format); + scanner->default_format = strdup("image/tiff"); + } +#endif + } + fprintf(stderr, "Capability : [%s]\n", scanner->default_format); + } + else if (strcmp(name, "DocumentFormatExt") == 0) + scanner->format_ext = 1; + else if (strcmp(name, "Intent") == 0) + scanner->SupportedIntents = char_to_array(scanner->SupportedIntents, &scanner->SupportedIntentsSize, (SANE_String_Const)xmlNodeGetContent(node), 0); + else if (strcmp(name, "XResolution") == 0) + scanner->SupportedResolutions = int_to_array(scanner->SupportedResolutions, &scanner->SupportedResolutionsSize, atoi((const char *)xmlNodeGetContent(node))); + return (0); +} + +/** + * \fn static int find_value_of_int_variables(xmlNode *node, capabilities_t *scanner) + * \brief Function that searchs in the xml file if a integer scanner capabilitie is found. + * The integer scanner capabilities that are interesting are : + * MinWidth, MaxWidth, MaxHeight, MinHeight, MaxScanRegions, MaxOpticalXResolution, + * RiskyLeftMargin, RiskyRightMargin, RiskyTopMargin, RiskyBottomMargin. + * + * \return 0 + */ +static int +find_value_of_int_variables(xmlNode *node, capabilities_t *scanner) +{ + int MaxWidth = 0; + int MaxHeight = 0; + const char *name = (const char *)node->name; + + if (strcmp(name, "MinWidth") == 0) + scanner->MinWidth = atoi((const char*)xmlNodeGetContent(node)); + else if (strcmp(name, "MaxWidth") == 0) { + MaxWidth = atoi((const char*)xmlNodeGetContent(node)); + if (scanner->MaxWidth == 0 || MaxWidth < scanner->MaxWidth) + scanner->MaxWidth = atoi((const char *)xmlNodeGetContent(node)); + } + else if (strcmp(name, "MinHeight") == 0) + scanner->MinHeight = atoi((const char*)xmlNodeGetContent(node)); + else if (strcmp(name, "MaxHeight") == 0) { + MaxHeight = atoi((const char*)xmlNodeGetContent(node)); + if (scanner->MaxHeight == 0 || MaxHeight < scanner->MaxHeight) + scanner->MaxHeight = atoi((const char *)xmlNodeGetContent(node)); + } + else if (strcmp(name, "MaxScanRegions") == 0) + scanner->MaxScanRegions = atoi((const char *)xmlNodeGetContent(node)); + else if (strcmp(name, "MaxOpticalXResolution") == 0) + scanner->MaxOpticalXResolution = atoi((const char *)xmlNodeGetContent(node)); + else if (strcmp(name, "RiskyLeftMargin") == 0) + scanner->RiskyLeftMargin = atoi((const char *)xmlNodeGetContent(node)); + else if (strcmp(name, "RiskyRightMargin") == 0) + scanner->RiskyRightMargin = atoi((const char *)xmlNodeGetContent(node)); + else if (strcmp(name, "RiskyTopMargin") == 0) + scanner->RiskyTopMargin = atoi((const char *)xmlNodeGetContent(node)); + else if (strcmp(name, "RiskyBottomMargin") == 0) + scanner->RiskyBottomMargin = atoi((const char *)xmlNodeGetContent(node)); + find_valor_of_array_variables(node, scanner); + return (0); +} + +/** + * \fn static int find_true_variables(xmlNode *node, capabilities_t *scanner) + * \brief Function that searchs in the xml file if we find a scanner capabilitie stocked + * in one of the created array (character/integer array), + * or, if we find a integer scanner capabilitie. + * + * \return 0 + */ +static int +find_true_variables(xmlNode *node, capabilities_t *scanner) +{ + const char *name = (const char *)node->name; + if (strcmp(name, "MinWidth") == 0 || + strcmp(name, "MaxWidth") == 0 || + strcmp(name, "MinHeight") == 0 || + strcmp(name, "MaxHeight") == 0 || + strcmp(name, "MaxScanRegions") == 0 || + strcmp(name, "ColorMode") == 0 || + strcmp(name, "ContentType") == 0 || + strcmp(name, "DocumentFormat") == 0 || + strcmp(name, "XResolution") == 0 || + strcmp(name, "Intent") == 0 || + strcmp(name, "MaxOpticalXResolution") == 0 || + strcmp(name, "RiskyLeftMargin") == 0 || + strcmp(name, "RiskyRightMargin") == 0 || + strcmp(name, "RiskyTopMargin") == 0 || + strcmp(name, "RiskyBottomMargin") == 0 || + strcmp(name, "DocumentFormatExt") == 0) + find_value_of_int_variables(node, scanner); + return (0); +} + +/** + * \fn static int print_xml_c(xmlNode *node, capabilities_t *scanner) + * \brief Function that browses the xml file, node by node. + * + * \return 0 + */ +static int +print_xml_c(xmlNode *node, capabilities_t *scanner) +{ + while (node) { + if (node->type == XML_ELEMENT_NODE) { + if (find_nodes_c(node)) + find_true_variables(node, scanner); + } + print_xml_c(node->children, scanner); + node = node->next; + } + return (0); +} + +/** + * \fn capabilities_t *escl_capabilities(SANE_String_Const name, SANE_Status *status) + * \brief Function that finally recovers all the capabilities of the scanner, using curl. + * This function is called in the 'sane_open' function and it's the equivalent of + * the following curl command : "curl http(s)://'ip':'port'/eSCL/ScannerCapabilities". + * + * \return scanner (the structure that stocks all the capabilities elements) + */ +capabilities_t * +escl_capabilities(SANE_String_Const name, SANE_Status *status) +{ + capabilities_t *scanner = (capabilities_t*)calloc(1, sizeof(capabilities_t)); + CURL *curl_handle = NULL; + struct cap *var = NULL; + xmlDoc *data = NULL; + xmlNode *node = NULL; + const char *scanner_capabilities = "/eSCL/ScannerCapabilities"; + char tmp[PATH_MAX] = { 0 }; + + *status = SANE_STATUS_GOOD; + if (name == NULL) + *status = SANE_STATUS_NO_MEM; + var = (struct cap *)calloc(1, sizeof(struct cap)); + if (var == NULL) + *status = SANE_STATUS_NO_MEM; + var->memory = malloc(1); + var->size = 0; + curl_handle = curl_easy_init(); + strcpy(tmp, name); + strcat(tmp, scanner_capabilities); + DBG( 1, "Get Capabilities : %s\n", tmp); + curl_easy_setopt(curl_handle, CURLOPT_URL, tmp); + if (strncmp(name, "https", 5) == 0) { + DBG( 1, "Ignoring safety certificates, use https\n"); + curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER, 0L); + curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYHOST, 0L); + } + curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, memory_callback_c); + curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)var); + if (curl_easy_perform(curl_handle) != CURLE_OK) { + DBG( 1, "The scanner didn't respond.\n"); + *status = SANE_STATUS_INVAL; + } + data = xmlReadMemory(var->memory, var->size, "file.xml", NULL, 0); + if (data == NULL) + *status = SANE_STATUS_NO_MEM; + node = xmlDocGetRootElement(data); + if (node == NULL) + *status = SANE_STATUS_NO_MEM; + print_xml_c(node, scanner); + xmlFreeDoc(data); + xmlCleanupParser(); + xmlMemoryDump(); + curl_easy_cleanup(curl_handle); + free(var->memory); + return (scanner); +} diff --git a/backend/escl/escl_devices.c b/backend/escl/escl_devices.c new file mode 100644 index 0000000..7ecbe31 --- /dev/null +++ b/backend/escl/escl_devices.c @@ -0,0 +1,185 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Touboul Nathane + Copyright (C) 2019 Thierry HUCHARD + + This file is part of the SANE package. + + SANE 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 3 of the License, or (at your + option) any later version. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + This file implements a SANE backend for eSCL scanners. */ + +#define DEBUG_DECLARE_ONLY +#include "../include/sane/config.h" + +#include "escl.h" + +#include +#include +#include +#include + +#include +#include +#include + +#include "../include/sane/sanei.h" + +static AvahiSimplePoll *simple_poll = NULL; + +/** + * \fn static void resolve_callback(AvahiServiceResolver *r, AVAHI_GCC_UNUSED + * AvahiIfIndex interface, AVAHI_GCC_UNUSED AvahiProtocol protocol, + * AvahiResolverEvent event, const char *name, + * const char *type, const char *domain, const char *host_name, + * const AvahiAddress *address, uint16_t port, + * AvahiStringList *txt, AvahiLookupResultFlags flags, + * void *userdata) + * \brief Callback function that will check if the selected scanner follows the escl + * protocol or not. + */ +static void +resolve_callback(AvahiServiceResolver *r, AVAHI_GCC_UNUSED AvahiIfIndex interface, + AVAHI_GCC_UNUSED AvahiProtocol protocol, + AvahiResolverEvent event, const char *name, + const char __sane_unused__ *type, + const char __sane_unused__ *domain, + const char __sane_unused__ *host_name, + const AvahiAddress *address, uint16_t port, AvahiStringList *txt, + AvahiLookupResultFlags __sane_unused__ flags, + void __sane_unused__ *userdata) +{ + char a[AVAHI_ADDRESS_STR_MAX], *t; + assert(r); + switch (event) { + case AVAHI_RESOLVER_FAILURE: + break; + case AVAHI_RESOLVER_FOUND: + avahi_address_snprint(a, sizeof(a), address); + t = avahi_string_list_to_string(txt); + if (strstr(t, "\"rs=eSCL\"") || strstr(t, "\"rs=/eSCL\"")) + escl_device_add(port, name, a, (char*)type); + } +} + +/** + * \fn static void browse_callback(AvahiServiceBrowser *b, AvahiIfIndex interface, + * AvahiProtocol protocol, AvahiBrowserEvent event, const char *name, + * const char *type, const char *domain, + * AVAHI_GCC_UNUSED AvahiLookupResultFlags flags, void* userdata) + * \brief Callback function that will browse tanks to 'avahi' the scanners + * connected in network. + */ +static void +browse_callback(AvahiServiceBrowser *b, AvahiIfIndex interface, + AvahiProtocol protocol, AvahiBrowserEvent event, + const char *name, const char *type, + const char *domain, + AVAHI_GCC_UNUSED AvahiLookupResultFlags flags, + void* userdata) +{ + AvahiClient *c = userdata; + assert(b); + switch (event) { + case AVAHI_BROWSER_FAILURE: + avahi_simple_poll_quit(simple_poll); + return; + case AVAHI_BROWSER_NEW: + if (!(avahi_service_resolver_new(c, interface, protocol, name, + type, domain, + AVAHI_PROTO_UNSPEC, 0, + resolve_callback, c))) + break; + case AVAHI_BROWSER_REMOVE: + break; + case AVAHI_BROWSER_ALL_FOR_NOW: + case AVAHI_BROWSER_CACHE_EXHAUSTED: + if (event != AVAHI_BROWSER_CACHE_EXHAUSTED) + avahi_simple_poll_quit(simple_poll); + break; + } +} + +/** + * \fn static void client_callback(AvahiClient *c, AvahiClientState state, + * AVAHI_GCC_UNUSED void *userdata) + * \brief Callback Function that quit if it doesn't find a connected scanner, + * possible thanks the "Hello Protocol". + * --> Waiting for a answer by the scanner to continue the avahi process. + */ +static void +client_callback(AvahiClient *c, AvahiClientState state, + AVAHI_GCC_UNUSED void *userdata) +{ + assert(c); + if (state == AVAHI_CLIENT_FAILURE) + avahi_simple_poll_quit(simple_poll); +} + +/** + * \fn ESCL_Device *escl_devices(SANE_Status *status) + * \brief Function that calls all the avahi functions and then, recovers the + * connected eSCL devices. + * This function is called in the 'sane_get_devices' function. + * + * \return NULL (the eSCL devices found) + */ +ESCL_Device * +escl_devices(SANE_Status *status) +{ + AvahiClient *client = NULL; + AvahiServiceBrowser *sb = NULL; + int error; + + *status = SANE_STATUS_GOOD; + if (!(simple_poll = avahi_simple_poll_new())) { + DBG( 1, "Failed to create simple poll object.\n"); + *status = SANE_STATUS_INVAL; + goto fail; + } + client = avahi_client_new(avahi_simple_poll_get(simple_poll), 0, + client_callback, NULL, &error); + if (!client) { + DBG( 1, "Failed to create client: %s\n", avahi_strerror(error)); + *status = SANE_STATUS_INVAL; + goto fail; + } + if (!(sb = avahi_service_browser_new(client, AVAHI_IF_UNSPEC, + AVAHI_PROTO_UNSPEC, "_uscan._tcp", + NULL, 0, browse_callback, client))) { + DBG( 1, "Failed to create service browser: %s\n", + avahi_strerror(avahi_client_errno(client))); + *status = SANE_STATUS_INVAL; + goto fail; + } + if (!(sb = avahi_service_browser_new(client, AVAHI_IF_UNSPEC, + AVAHI_PROTO_UNSPEC, + "_uscans._tcp", NULL, 0, + browse_callback, client))) { + DBG( 1, "Failed to create service browser: %s\n", + avahi_strerror(avahi_client_errno(client))); + *status = SANE_STATUS_INVAL; + goto fail; + } + avahi_simple_poll_loop(simple_poll); +fail: + if (sb) + avahi_service_browser_free(sb); + if (client) + avahi_client_free(client); + if (simple_poll) + avahi_simple_poll_free(simple_poll); + return (NULL); +} diff --git a/backend/escl/escl_jpeg.c b/backend/escl/escl_jpeg.c new file mode 100644 index 0000000..d6287ef --- /dev/null +++ b/backend/escl/escl_jpeg.c @@ -0,0 +1,230 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Touboul Nathane + Copyright (C) 2019 Thierry HUCHARD + + This file is part of the SANE package. + + SANE 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 3 of the License, or (at your + option) any later version. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + This file implements a SANE backend for eSCL scanners. */ + +#define DEBUG_DECLARE_ONLY +#include "../include/sane/config.h" + +#include "escl.h" + +#include "../include/sane/sanei.h" + +#include +#include +#include + +#if(defined HAVE_LIBJPEG) +# include +#endif + +#include + +#define INPUT_BUFFER_SIZE 4096 + +#if(defined HAVE_LIBJPEG) +struct my_error_mgr +{ + struct jpeg_error_mgr errmgr; + jmp_buf escape; +}; + +typedef struct +{ + struct jpeg_source_mgr pub; + FILE *ctx; + unsigned char buffer[INPUT_BUFFER_SIZE]; +} my_source_mgr; + +/** + * \fn static boolean fill_input_buffer(j_decompress_ptr cinfo) + * \brief Called in the "skip_input_data" function. + * + * \return TRUE (everything is OK) + */ +static boolean +fill_input_buffer(j_decompress_ptr cinfo) +{ + my_source_mgr *src = (my_source_mgr *) cinfo->src; + int nbytes = 0; + + nbytes = fread(src->buffer, 1, INPUT_BUFFER_SIZE, src->ctx); + if (nbytes <= 0) { + src->buffer[0] = (unsigned char) 0xFF; + src->buffer[1] = (unsigned char) JPEG_EOI; + nbytes = 2; + } + src->pub.next_input_byte = src->buffer; + src->pub.bytes_in_buffer = nbytes; + return (TRUE); +} + +/** + * \fn static void skip_input_data(j_decompress_ptr cinfo, long num_bytes) + * \brief Called in the "jpeg_RW_src" function. + */ +static void +skip_input_data(j_decompress_ptr cinfo, long num_bytes) +{ + my_source_mgr *src = (my_source_mgr *) cinfo->src; + + if (num_bytes > 0) { + while (num_bytes > (long) src->pub.bytes_in_buffer) { + num_bytes -= (long) src->pub.bytes_in_buffer; + (void) src->pub.fill_input_buffer(cinfo); + } + src->pub.next_input_byte += (size_t) num_bytes; + src->pub.bytes_in_buffer -= (size_t) num_bytes; + } +} + +static void +term_source(j_decompress_ptr __sane_unused__ cinfo) +{ + return; +} + +static void +init_source(j_decompress_ptr __sane_unused__ cinfo) +{ + return; +} + +/** + * \fn static void jpeg_RW_src(j_decompress_ptr cinfo, FILE *ctx) + * \brief Called in the "escl_sane_decompressor" function. + */ +static void +jpeg_RW_src(j_decompress_ptr cinfo, FILE *ctx) +{ + my_source_mgr *src; + + if (cinfo->src == NULL) { + cinfo->src = (struct jpeg_source_mgr *)(*cinfo->mem->alloc_small) + ((j_common_ptr) cinfo, JPOOL_PERMANENT, sizeof(my_source_mgr)); + src = (my_source_mgr *) cinfo->src; + } + src = (my_source_mgr *) cinfo->src; + src->pub.init_source = init_source; + src->pub.fill_input_buffer = fill_input_buffer; + src->pub.skip_input_data = skip_input_data; + src->pub.resync_to_restart = jpeg_resync_to_restart; + src->pub.term_source = term_source; + src->ctx = ctx; + src->pub.bytes_in_buffer = 0; + src->pub.next_input_byte = NULL; +} + +static void +my_error_exit(j_common_ptr cinfo) +{ + struct my_error_mgr *err = (struct my_error_mgr *)cinfo->err; + + longjmp(err->escape, 1); +} + +static void +output_no_message(j_common_ptr __sane_unused__ cinfo) +{ +} + +/** + * \fn SANE_Status escl_sane_decompressor(escl_sane_t *handler) + * \brief Function that aims to decompress the jpeg image to SANE be able to read the image. + * This function is called in the "sane_read" function. + * + * \return SANE_STATUS_GOOD (if everything is OK, otherwise, SANE_STATUS_NO_MEM/SANE_STATUS_INVAL) + */ +SANE_Status +get_JPEG_data(capabilities_t *scanner, int *w, int *h, int *bps) +{ + int start = 0; + struct jpeg_decompress_struct cinfo; + JSAMPROW rowptr[1]; + unsigned char *surface = NULL; + struct my_error_mgr jerr; + int lineSize = 0; + + if (scanner->tmp == NULL) + return (SANE_STATUS_INVAL); + fseek(scanner->tmp, SEEK_SET, 0); + start = ftell(scanner->tmp); + cinfo.err = jpeg_std_error(&jerr.errmgr); + jerr.errmgr.error_exit = my_error_exit; + jerr.errmgr.output_message = output_no_message; + if (setjmp(jerr.escape)) { + jpeg_destroy_decompress(&cinfo); + if (surface != NULL) + free(surface); + DBG( 1, "Escl Jpeg : Error reading jpeg\n"); + if (scanner->tmp) { + fclose(scanner->tmp); + scanner->tmp = NULL; + } + return (SANE_STATUS_INVAL); + } + jpeg_create_decompress(&cinfo); + jpeg_RW_src(&cinfo, scanner->tmp); + jpeg_read_header(&cinfo, TRUE); + cinfo.out_color_space = JCS_RGB; + cinfo.quantize_colors = FALSE; + jpeg_calc_output_dimensions(&cinfo); + surface = malloc(cinfo.output_width * cinfo.output_height * cinfo.output_components); + if (surface == NULL) { + jpeg_destroy_decompress(&cinfo); + fseek(scanner->tmp, start, SEEK_SET); + DBG( 1, "Escl Jpeg : Memory allocation problem\n"); + if (scanner->tmp) { + fclose(scanner->tmp); + scanner->tmp = NULL; + } + return (SANE_STATUS_NO_MEM); + } + lineSize = cinfo.output_width * cinfo.output_components; + jpeg_start_decompress(&cinfo); + while (cinfo.output_scanline < cinfo.output_height) { + rowptr[0] = (JSAMPROW)surface + (lineSize * cinfo.output_scanline); + jpeg_read_scanlines(&cinfo, rowptr, (JDIMENSION) 1); + } + scanner->img_data = surface; + scanner->img_size = lineSize * cinfo.output_height; + scanner->img_read = 0; + *w = cinfo.output_width; + *h = cinfo.output_height; + *bps = cinfo.output_components; + jpeg_finish_decompress(&cinfo); + jpeg_destroy_decompress(&cinfo); + fclose(scanner->tmp); + scanner->tmp = NULL; + return (SANE_STATUS_GOOD); +} +#else + +SANE_Status +get_JPEG_data(capabilities_t __sane_unused__ *scanner, + int __sane_unused__ *w, + int __sane_unused__ *h, + int __sane_unused__ *bps) +{ + return (SANE_STATUS_INVAL); +} + +#endif diff --git a/backend/escl/escl_newjob.c b/backend/escl/escl_newjob.c new file mode 100644 index 0000000..279b9df --- /dev/null +++ b/backend/escl/escl_newjob.c @@ -0,0 +1,241 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Touboul Nathane + Copyright (C) 2019 Thierry HUCHARD + + This file is part of the SANE package. + + SANE 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 3 of the License, or (at your + option) any later version. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + This file implements a SANE backend for eSCL scanners. */ + +#define DEBUG_DECLARE_ONLY +#include "../include/sane/config.h" + +#include "escl.h" + +#include +#include +#include + +#include + +#ifdef PATH_MAX +# undef PATH_MAX +#endif + +#define PATH_MAX 4096 + +struct uploading +{ + const char *read_data; + size_t size; +}; + +struct downloading +{ + char *memory; + size_t size; +}; + +static const char settings[] = + "" \ + "" \ + " 2.0" \ + " " \ + " " \ + " escl:ThreeHundredthsOfInches" \ + " %d" \ + " %d" \ + " %d" \ + " %d" \ + " " \ + " " \ + " %s" \ + "%s" \ + " %s" \ + " %d" \ + " %d" \ + " Platen" \ + ""; + +static char formatExtJPEG[] = + " image/jpeg"; + +static char formatExtPNG[] = + " image/png"; + +static char formatExtTIFF[] = + " image/tiff"; + +/** + * \fn static size_t download_callback(void *str, size_t size, size_t nmemb, void *userp) + * \brief Callback function that stocks in memory the content of the 'job'. Example below : + * "Trying 192.168.14.150... + * TCP_NODELAY set + * Connected to 192.168.14.150 (192.168.14.150) port 80 + * POST /eSCL/ScanJobs HTTP/1.1 + * Host: 192.168.14.150 + * User-Agent: curl/7.55.1 + * Accept: / + * Content-Length: 605 + * Content-Type: application/x-www-form-urlencoded + * upload completely sent off: 605 out of 605 bytes + * < HTTP/1.1 201 Created + * < MIME-Version: 1.0 + * < Location: http://192.168.14.150/eSCL/ScanJobs/22b54fd0-027b-1000-9bd0-f4a99726e2fa + * < Content-Length: 0 + * < Connection: close + * < + * Closing connection 0" + * + * \return realsize (size of the content needed -> the 'job') + */ +static size_t +download_callback(void *str, size_t size, size_t nmemb, void *userp) +{ + struct downloading *download = (struct downloading *)userp; + size_t realsize = size * nmemb; + char *content = realloc(download->memory, download->size + realsize + 1); + + if (content == NULL) { + DBG( 1, "Not enough memory (realloc returned NULL)\n"); + return (0); + } + download->memory = content; + memcpy(&(download->memory[download->size]), str, realsize); + download->size = download->size + realsize; + download->memory[download->size] = 0; + return (realsize); +} + +/** + * \fn char *escl_newjob (capabilities_t *scanner, SANE_String_Const name, SANE_Status *status) + * \brief Function that, using curl, uploads the data (composed by the scanner capabilities) to the + * server to download the 'job' and recover the 'new job' (char *result), in LOCATION. + * This function is called in the 'sane_start' function and it's the equivalent of the + * following curl command : "curl -v POST -d cap.xml http(s)://'ip':'port'/eSCL/ScanJobs". + * + * \return result (the 'new job', situated in LOCATION) + */ +char * +escl_newjob (capabilities_t *scanner, SANE_String_Const name, SANE_Status *status) +{ + CURL *curl_handle = NULL; + struct uploading *upload = NULL; + struct downloading *download = NULL; + const char *scan_jobs = "/eSCL/ScanJobs"; + char cap_data[PATH_MAX] = { 0 }; + char job_cmd[PATH_MAX] = { 0 }; + char *location = NULL; + char *result = NULL; + char *temporary = NULL; + char *f_ext = ""; + char *format_ext = NULL; + + *status = SANE_STATUS_GOOD; + if (name == NULL || scanner == NULL) { + *status = SANE_STATUS_NO_MEM; + DBG( 1, "Create NewJob : the name or the scan are invalid.\n"); + return (NULL); + } + upload = (struct uploading *)calloc(1, sizeof(struct uploading)); + if (upload == NULL) { + *status = SANE_STATUS_NO_MEM; + DBG( 1, "Create NewJob : memory allocation failure\n"); + return (NULL); + } + download = (struct downloading *)calloc(1, sizeof(struct downloading)); + if (download == NULL) { + free(upload); + DBG( 1, "Create NewJob : memory allocation failure\n"); + *status = SANE_STATUS_NO_MEM; + return (NULL); + } + curl_handle = curl_easy_init(); + if (scanner->format_ext == 1) + { + if (!strcmp(scanner->default_format, "image/jpeg")) + format_ext = formatExtJPEG; + else if (!strcmp(scanner->default_format, "image/png")) + format_ext = formatExtPNG; + else if (!strcmp(scanner->default_format, "image/tiff")) + format_ext = formatExtTIFF; + else + format_ext = f_ext; + } + else + format_ext = f_ext; + DBG( 1, "Create NewJob : %s\n", scanner->default_format); + if (curl_handle != NULL) { + snprintf(cap_data, sizeof(cap_data), settings, scanner->height, scanner->width, 0, 0, scanner->default_format, + format_ext, + scanner->default_color, scanner->default_resolution, scanner->default_resolution); + DBG( 1, "Create NewJob : %s\n", cap_data); + upload->read_data = strdup(cap_data); + upload->size = strlen(cap_data); + download->memory = malloc(1); + download->size = 0; + strcpy(job_cmd, name); + strcat(job_cmd, scan_jobs); + curl_easy_setopt(curl_handle, CURLOPT_URL, job_cmd); + if (strncmp(name, "https", 5) == 0) { + curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER, 0L); + curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYHOST, 0L); + } + curl_easy_setopt(curl_handle, CURLOPT_POST, 1L); + curl_easy_setopt(curl_handle, CURLOPT_POSTFIELDS, upload->read_data); + curl_easy_setopt(curl_handle, CURLOPT_POSTFIELDSIZE, upload->size); + curl_easy_setopt(curl_handle, CURLOPT_HEADERFUNCTION, download_callback); + curl_easy_setopt(curl_handle, CURLOPT_HEADERDATA, (void *)download); + if (curl_easy_perform(curl_handle) != CURLE_OK) { + DBG( 1, "Create NewJob : the scanner responded incorrectly.\n"); + *status = SANE_STATUS_INVAL; + } + else { + if (download->memory != NULL) { + if (strstr(download->memory, "Location:")) { + temporary = strrchr(download->memory, '/'); + if (temporary != NULL) { + location = strchr(temporary, '\r'); + if (location == NULL) + location = strchr(temporary, '\n'); + else { + *location = '\0'; + result = strdup(temporary); + } + DBG( 1, "Create NewJob : %s\n", result); + } + free(download->memory); + } + else { + DBG( 1, "Create NewJob : The creation of the failed job\n"); + *status = SANE_STATUS_INVAL; + } + } + else { + *status = SANE_STATUS_NO_MEM; + DBG( 1, "Create NewJob : The creation of the failed job\n"); + return (NULL); + } + } + curl_easy_cleanup(curl_handle); + } + if (upload != NULL) + free(upload); + if (download != NULL) + free(download); + return (result); +} diff --git a/backend/escl/escl_png.c b/backend/escl/escl_png.c new file mode 100644 index 0000000..18f6f35 --- /dev/null +++ b/backend/escl/escl_png.c @@ -0,0 +1,193 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Touboul Nathane + Copyright (C) 2019 Thierry HUCHARD + + This file is part of the SANE package. + + SANE 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 3 of the License, or (at your + option) any later version. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + This file implements a SANE backend for eSCL scanners. */ + +#define DEBUG_DECLARE_ONLY +#include "../include/sane/config.h" + +#include "escl.h" + +#include "../include/sane/sanei.h" + +#include +#include +#include + +#if(defined HAVE_LIBPNG) +#include +#endif + +#include + + +#if(defined HAVE_LIBPNG) + +/** + * \fn SANE_Status escl_sane_decompressor(escl_sane_t *handler) + * \brief Function that aims to decompress the png image to SANE be able to read the image. + * This function is called in the "sane_read" function. + * + * \return SANE_STATUS_GOOD (if everything is OK, otherwise, SANE_STATUS_NO_MEM/SANE_STATUS_INVAL) + */ +SANE_Status +get_PNG_data(capabilities_t *scanner, int *w, int *h, int *components) +{ + unsigned int width = 0; /* largeur */ + unsigned int height = 0; /* hauteur */ + int bps = 3; /* composantes d'un texel */ + unsigned char *texels = NULL; /* données de l'image */ + unsigned int i = 0; + png_byte magic[8]; + + // read magic number + fread (magic, 1, sizeof (magic), scanner->tmp); + // check for valid magic number + if (!png_check_sig (magic, sizeof (magic))) + { + DBG( 1, "Escl Png : PNG error is not a valid PNG image!\n"); + if (scanner->tmp) { + fclose(scanner->tmp); + scanner->tmp = NULL; + } + return (SANE_STATUS_INVAL); + } + // create a png read struct + png_structp png_ptr = png_create_read_struct + (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + if (!png_ptr) + { + DBG( 1, "Escl Png : PNG error create a png read struct\n"); + if (scanner->tmp) + if (scanner->tmp) { + fclose(scanner->tmp); + scanner->tmp = NULL; + } + return (SANE_STATUS_INVAL); + } + // create a png info struct + png_infop info_ptr = png_create_info_struct (png_ptr); + if (!info_ptr) + { + DBG( 1, "Escl Png : PNG error create a png info struct\n"); + png_destroy_read_struct (&png_ptr, NULL, NULL); + if (scanner->tmp) { + fclose(scanner->tmp); + scanner->tmp = NULL; + } + return (SANE_STATUS_INVAL); + } + // initialize the setjmp for returning properly after a libpng + // error occured + if (setjmp (png_jmpbuf (png_ptr))) + { + png_destroy_read_struct (&png_ptr, &info_ptr, NULL); + if (texels) + free (texels); + fprintf(stderr,"PNG read error.\n"); + if (scanner->tmp) { + fclose(scanner->tmp); + scanner->tmp = NULL; + } + DBG( 1, "Escl Png : PNG read error.\n"); + return (SANE_STATUS_INVAL); + } + // setup libpng for using standard C fread() function + // with our FILE pointer + png_init_io (png_ptr, scanner->tmp); + // tell libpng that we have already read the magic number + png_set_sig_bytes (png_ptr, sizeof (magic)); + + // read png info + png_read_info (png_ptr, info_ptr); + + int bit_depth, color_type; + // get some usefull information from header + bit_depth = png_get_bit_depth (png_ptr, info_ptr); + color_type = png_get_color_type (png_ptr, info_ptr); + // convert index color images to RGB images + if (color_type == PNG_COLOR_TYPE_PALETTE) + png_set_palette_to_rgb (png_ptr); + else if (color_type != PNG_COLOR_TYPE_RGB && color_type != PNG_COLOR_TYPE_RGB_ALPHA) + { + fprintf(stderr,"PNG format not supported.\n"); + if (scanner->tmp) { + fclose(scanner->tmp); + scanner->tmp = NULL; + } + return (SANE_STATUS_INVAL); + } + if (color_type == PNG_COLOR_TYPE_RGB_ALPHA) + bps = 4; + else + bps = 3; + if (png_get_valid (png_ptr, info_ptr, PNG_INFO_tRNS)) + png_set_tRNS_to_alpha (png_ptr); + if (bit_depth == 16) + png_set_strip_16 (png_ptr); + else if (bit_depth < 8) + png_set_packing (png_ptr); + // update info structure to apply transformations + png_read_update_info (png_ptr, info_ptr); + // retrieve updated information + png_get_IHDR (png_ptr, info_ptr, + (png_uint_32*)(&width), + (png_uint_32*)(&height), + &bit_depth, &color_type, + NULL, NULL, NULL); + + *w = (int)width; + *h = (int)height; + *components = bps; + // we can now allocate memory for storing pixel data + texels = (unsigned char *)malloc (sizeof (unsigned char) * width + * height * bps); + png_bytep *row_pointers; + // setup a pointer array. Each one points at the begening of a row. + row_pointers = (png_bytep *)malloc (sizeof (png_bytep) * height); + for (i = 0; i < height; ++i) + { + row_pointers[i] = (png_bytep)(texels + + ((height - (i + 1)) * width * bps)); + } + // read pixel data using row pointers + png_read_image (png_ptr, row_pointers); + // we don't need row pointers anymore + scanner->img_data = texels; + scanner->img_size = (int)(width * height * bps); + scanner->img_read = 0; + free (row_pointers); + fclose(scanner->tmp); + scanner->tmp = NULL; + return (SANE_STATUS_GOOD); +} +#else + +SANE_Status +get_PNG_data(capabilities_t __sane_unused__ *scanner, + int __sane_unused__ *w, + int __sane_unused__ *h, + int __sane_unused__ *bps) +{ + return (SANE_STATUS_INVAL); +} + +#endif diff --git a/backend/escl/escl_reset.c b/backend/escl/escl_reset.c new file mode 100644 index 0000000..7722d89 --- /dev/null +++ b/backend/escl/escl_reset.c @@ -0,0 +1,75 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Touboul Nathane + Copyright (C) 2019 Thierry HUCHARD + + This file is part of the SANE package. + + SANE 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 3 of the License, or (at your + option) any later version. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + This file implements a SANE backend for eSCL scanners. */ + +#define DEBUG_DECLARE_ONLY +#include "../include/sane/config.h" + +#include "escl.h" + +#include +#include + +#include + +/** + * \fn void escl_scanner(SANE_String_Const name, char *result) + * \brief Function that resets the scanner after each scan, using curl. + * This function is called in the 'sane_cancel' function. + */ +void +escl_scanner(SANE_String_Const name, char *result) +{ + CURL *curl_handle = NULL; + const char *scan_jobs = "/eSCL/ScanJobs"; + const char *scanner_start = "/NextDocument"; + char scan_cmd[PATH_MAX] = { 0 }; + int i = 0; + long answer = 0; + + if (name == NULL || result == NULL) + return; +CURL_CALL: + curl_handle = curl_easy_init(); + if (curl_handle != NULL) { + strcpy(scan_cmd, name); + strcat(scan_cmd, scan_jobs); + strcat(scan_cmd, result); + strcat(scan_cmd, scanner_start); + curl_easy_setopt(curl_handle, CURLOPT_URL, scan_cmd); + DBG( 1, "Reset Job : %s.\n", scan_cmd); + if (strncmp(name, "https", 5) == 0) { + DBG( 1, "Ignoring safety certificates, use https\n"); + curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER, 0L); + curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYHOST, 0L); + } + if (curl_easy_perform(curl_handle) == CURLE_OK) { + curl_easy_getinfo(curl_handle, CURLINFO_RESPONSE_CODE, &answer); + if (i < 3 && answer == 503) { + curl_easy_cleanup(curl_handle); + i++; + goto CURL_CALL; + } + } + curl_easy_cleanup(curl_handle); + } +} diff --git a/backend/escl/escl_scan.c b/backend/escl/escl_scan.c new file mode 100644 index 0000000..8f077a1 --- /dev/null +++ b/backend/escl/escl_scan.c @@ -0,0 +1,99 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Touboul Nathane + Copyright (C) 2019 Thierry HUCHARD + + This file is part of the SANE package. + + SANE 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 3 of the License, or (at your + option) any later version. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + This file implements a SANE backend for eSCL scanners. */ + +#define DEBUG_DECLARE_ONLY +#include "../include/sane/config.h" + +#include "escl.h" + +#include +#include +#include + +#include + +#include "../include/sane/sanei.h" + +/** + * \fn static size_t write_callback(void *str, size_t size, size_t nmemb, void *userp) + * \brief Callback function that writes the image scanned into the temporary file. + * + * \return to_write (the result of the fwrite fonction) + */ +static size_t +write_callback(void *str, size_t size, size_t nmemb, void *userp) +{ + size_t to_write = fwrite(str, size, nmemb, (FILE *)userp); + + return (to_write); +} + +/** + * \fn SANE_Status escl_scan(capabilities_t *scanner, SANE_String_Const name, char *result) + * \brief Function that, after recovering the 'new job', scans the image writed in the + * temporary file, using curl. + * This function is called in the 'sane_start' function and it's the equivalent of + * the following curl command : "curl -s http(s)://'ip:'port'/eSCL/ScanJobs/'new job'/NextDocument > image.jpg". + * + * \return status (if everything is OK, status = SANE_STATUS_GOOD, otherwise, SANE_STATUS_NO_MEM/SANE_STATUS_INVAL) + */ +SANE_Status +escl_scan(capabilities_t __sane_unused__ *scanner, SANE_String_Const name, char *result) +{ + CURL *curl_handle = NULL; + const char *scan_jobs = "/eSCL/ScanJobs"; + const char *scanner_start = "/NextDocument"; + char scan_cmd[PATH_MAX] = { 0 }; + SANE_Status status = SANE_STATUS_GOOD; + + if (name == NULL) + return (SANE_STATUS_NO_MEM); + curl_handle = curl_easy_init(); + if (curl_handle != NULL) { + strcpy(scan_cmd, name); + strcat(scan_cmd, scan_jobs); + strcat(scan_cmd, result); + strcat(scan_cmd, scanner_start); + curl_easy_setopt(curl_handle, CURLOPT_URL, scan_cmd); + DBG( 1, "Scan : %s.\n", scan_cmd); + if (strncmp(name, "https", 5) == 0) { + DBG( 1, "Ignoring safety certificates, use https\n"); + curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER, 0L); + curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYHOST, 0L); + } + curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_callback); + scanner->tmp = tmpfile(); + if (scanner->tmp != NULL) { + curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, scanner->tmp); + if (curl_easy_perform(curl_handle) != CURLE_OK) { + status = SANE_STATUS_INVAL; + } + else + curl_easy_cleanup(curl_handle); + fseek(scanner->tmp, 0, SEEK_SET); + } + else + status = SANE_STATUS_NO_MEM; + } + return (status); +} diff --git a/backend/escl/escl_status.c b/backend/escl/escl_status.c new file mode 100644 index 0000000..68b51dc --- /dev/null +++ b/backend/escl/escl_status.c @@ -0,0 +1,176 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Touboul Nathane + Copyright (C) 2019 Thierry HUCHARD + + This file is part of the SANE package. + + SANE 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 3 of the License, or (at your + option) any later version. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + This file implements a SANE backend for eSCL scanners. */ + +#define DEBUG_DECLARE_ONLY +#include "../include/sane/config.h" + +#include "escl.h" + +#include +#include +#include + +#include +#include + +struct idle +{ + char *memory; + size_t size; +}; + +/** + * \fn static size_t memory_callback_s(void *contents, size_t size, size_t nmemb, void *userp) + * \brief Callback function that stocks in memory the content of the scanner status. + * + * \return realsize (size of the content needed -> the scanner status) + */ +static size_t +memory_callback_s(void *contents, size_t size, size_t nmemb, void *userp) +{ + size_t realsize = size * nmemb; + struct idle *mem = (struct idle *)userp; + + char *str = realloc(mem->memory, mem->size + realsize + 1); + if (str == NULL) { + DBG(1, "not enough memory (realloc returned NULL)\n"); + return (0); + } + mem->memory = str; + memcpy(&(mem->memory[mem->size]), contents, realsize); + mem->size = mem->size + realsize; + mem->memory[mem->size] = 0; + return (realsize); +} + +/** + * \fn static int find_nodes_s(xmlNode *node) + * \brief Function that browses the xml file and parses it, to find the xml children node. + * --> to recover the scanner status. + * + * \return 0 if a xml child node is found, 1 otherwise + */ +static int +find_nodes_s(xmlNode *node) +{ + xmlNode *child = node->children; + + while (child) { + if (child->type == XML_ELEMENT_NODE) + return (0); + child = child->next; + } + return (1); +} + +/** + * \fn static void print_xml_s(xmlNode *node, SANE_Status *status) + * \brief Function that browses the xml file, node by node. + * If the node 'State' is found, we are expecting to found in this node the 'Idle' + * content (if the scanner is ready to use) and then 'status' = SANE_STATUS_GOOD. + * Otherwise, this means that the scanner isn't ready to use. + */ +static void +print_xml_s(xmlNode *node, SANE_Status *status) +{ + int x = 0; + + while (node) { + if (node->type == XML_ELEMENT_NODE) { + if (find_nodes_s(node)) { + if (strcmp((const char *)node->name, "State") == 0) + x = 1; + } + if (x == 1 && strcmp((const char *)xmlNodeGetContent(node), "Idle") == 0) + *status = SANE_STATUS_GOOD; + } + print_xml_s(node->children, status); + node = node->next; + } +} + +/** + * \fn SANE_Status escl_status(SANE_String_Const name) + * \brief Function that finally recovers the scanner status ('Idle', or not), using curl. + * This function is called in the 'sane_open' function and it's the equivalent of + * the following curl command : "curl http(s)://'ip':'port'/eSCL/ScannerStatus". + * + * \return status (if everything is OK, status = SANE_STATUS_GOOD, otherwise, SANE_STATUS_NO_MEM/SANE_STATUS_INVAL) + */ +SANE_Status +escl_status(SANE_String_Const name) +{ + SANE_Status status; + CURL *curl_handle = NULL; + struct idle *var = NULL; + xmlDoc *data = NULL; + xmlNode *node = NULL; + const char *scanner_status = "/eSCL/ScannerStatus"; + char tmp[PATH_MAX] = { 0 }; + + if (name == NULL) + return (SANE_STATUS_NO_MEM); + var = (struct idle*)calloc(1, sizeof(struct idle)); + if (var == NULL) + return (SANE_STATUS_NO_MEM); + var->memory = malloc(1); + var->size = 0; + curl_handle = curl_easy_init(); + strcpy(tmp, name); + strcat(tmp, scanner_status); + curl_easy_setopt(curl_handle, CURLOPT_URL, tmp); + DBG( 1, "Get Status : %s.\n", tmp); + if (strncmp(name, "https", 5) == 0) { + DBG( 1, "Ignoring safety certificates, use https\n"); + curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER, 0L); + curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYHOST, 0L); + } + curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, memory_callback_s); + curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)var); + if (curl_easy_perform(curl_handle) != CURLE_OK) { + DBG( 1, "The scanner didn't respond.\n"); + status = SANE_STATUS_INVAL; + goto clean_data; + } + data = xmlReadMemory(var->memory, var->size, "file.xml", NULL, 0); + if (data == NULL) { + status = SANE_STATUS_NO_MEM; + goto clean_data; + } + node = xmlDocGetRootElement(data); + if (node == NULL) { + status = SANE_STATUS_NO_MEM; + goto clean; + } + status = SANE_STATUS_DEVICE_BUSY; + print_xml_s(node, &status); +clean: + xmlFreeDoc(data); +clean_data: + xmlCleanupParser(); + xmlMemoryDump(); + curl_easy_cleanup(curl_handle); + free(var->memory); + free(var); + return (status); +} diff --git a/backend/escl/escl_tiff.c b/backend/escl/escl_tiff.c new file mode 100644 index 0000000..52aec20 --- /dev/null +++ b/backend/escl/escl_tiff.c @@ -0,0 +1,119 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Touboul Nathane + Copyright (C) 2019 Thierry HUCHARD + + This file is part of the SANE package. + + SANE 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 3 of the License, or (at your + option) any later version. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + This file implements a SANE backend for eSCL scanners. */ + +#define DEBUG_DECLARE_ONLY +#include "../include/sane/config.h" + +#include "escl.h" + +#include "../include/sane/sanei.h" + +#include +#include +#include +#include + +#if(defined HAVE_TIFFIO_H) +#include +#endif + +#include + + +#if(defined HAVE_TIFFIO_H) + +/** + * \fn SANE_Status escl_sane_decompressor(escl_sane_t *handler) + * \brief Function that aims to decompress the png image to SANE be able to read the image. + * This function is called in the "sane_read" function. + * + * \return SANE_STATUS_GOOD (if everything is OK, otherwise, SANE_STATUS_NO_MEM/SANE_STATUS_INVAL) + */ +SANE_Status +get_TIFF_data(capabilities_t *scanner, int *w, int *h, int *components) +{ + TIFF* tif = NULL; + uint32 width = 0; /* largeur */ + uint32 height = 0; /* hauteur */ + unsigned char *raster = NULL; /* données de l'image */ + int bps = 4; + uint32 npixels = 0; + + lseek(fileno(scanner->tmp), 0, SEEK_SET); + tif = TIFFFdOpen(fileno(scanner->tmp), "temp", "r"); + if (!tif) { + DBG( 1, "Escl Tiff : Can not open, or not a TIFF file.\n"); + if (scanner->tmp) { + fclose(scanner->tmp); + scanner->tmp = NULL; + } + return (SANE_STATUS_INVAL); + } + + TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &width); + TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &height); + npixels = width * height; + raster = (unsigned char*) malloc(npixels * sizeof (uint32)); + if (raster != NULL) + { + DBG( 1, "Escl Tiff : Memory allocation problem.\n"); + if (scanner->tmp) { + fclose(scanner->tmp); + scanner->tmp = NULL; + } + return (SANE_STATUS_INVAL); + } + + if (!TIFFReadRGBAImage(tif, width, height, (uint32 *)raster, 0)) + { + DBG( 1, "Escl Tiff : Problem reading image data.\n"); + if (scanner->tmp) { + fclose(scanner->tmp); + scanner->tmp = NULL; + } + return (SANE_STATUS_INVAL); + } + *w = (int)width; + *h = (int)height; + *components = bps; + // we don't need row pointers anymore + scanner->img_data = raster; + scanner->img_size = (int)(width * height * bps); + scanner->img_read = 0; + TIFFClose(tif); + fclose(scanner->tmp); + scanner->tmp = NULL; + return (SANE_STATUS_GOOD); +} +#else + +SANE_Status +get_TIFF_data(capabilities_t __sane_unused__ *scanner, + int __sane_unused__ *w, + int __sane_unused__ *h, + int __sane_unused__ *bps) +{ + return (SANE_STATUS_INVAL); +} + +#endif diff --git a/backend/fujitsu.c b/backend/fujitsu.c index 3ac4c8e..5dc466c 100644 --- a/backend/fujitsu.c +++ b/backend/fujitsu.c @@ -6,7 +6,7 @@ Copyright (C) 2000 Randolph Bentson Copyright (C) 2001 Frederik Ramm Copyright (C) 2001-2004 Oliver Schirrmeister - Copyright (C) 2003-2016 m. allan noah + Copyright (C) 2003-2019 m. allan noah JPEG output and low memory usage support funded by: Archivista GmbH, www.archivista.ch @@ -603,6 +603,8 @@ v134 2019-02-23, MAN - rewrite init_vpd for scanners which fail to report overscan correctly + v135 2019-11-10, MAN + - set has_MS_lamp=0 for fi-72x0, bug #134 SANE FLOW DIAGRAM @@ -2404,6 +2406,8 @@ init_model (struct fujitsu *s) else if (strstr (s->model_name,"fi-7280") || strstr (s->model_name,"fi-7260")){ + /* locks up scanner if we try to auto detect */ + s->has_MS_lamp = 0; /* weirdness */ /* these machines have longer max paper at lower res */ @@ -4377,7 +4381,7 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) if(option==OPT_TOP){ opt->name = "top-edge"; opt->title = SANE_I18N ("Top edge"); - opt->desc = SANE_I18N ("Paper is pulled partly into adf"); + opt->desc = SANE_I18N ("Paper is pulled partly into ADF"); opt->type = SANE_TYPE_BOOL; opt->unit = SANE_UNIT_NONE; if (s->has_cmd_hw_status || s->ghs_in_rs) @@ -6935,7 +6939,7 @@ sane_start (SANE_Handle handle) else{ ret = scanner_control(s, SC_function_adf); if (ret != SANE_STATUS_GOOD) { - DBG (5, "sane_start: ERROR: cannot control adf, ignoring\n"); + DBG (5, "sane_start: ERROR: cannot control ADF, ignoring\n"); } } diff --git a/backend/fujitsu.conf.in b/backend/fujitsu.conf.in index cb33f15..4f2b1a9 100644 --- a/backend/fujitsu.conf.in +++ b/backend/fujitsu.conf.in @@ -252,3 +252,6 @@ usb 0x04c5 0x1521 #fi-7700S usb 0x04c5 0x1522 + +#ScanSnap iX1500 +usb 0x04c5 0x159f diff --git a/backend/genesys.cc b/backend/genesys.cc deleted file mode 100644 index 0368e21..0000000 --- a/backend/genesys.cc +++ /dev/null @@ -1,7580 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2003, 2004 Henning Meier-Geinitz - Copyright (C) 2004, 2005 Gerhard Jaeger - Copyright (C) 2004-2016 Stéphane Voltz - Copyright (C) 2005-2009 Pierre Willenbrock - Copyright (C) 2006 Laurent Charpentier - Copyright (C) 2007 Luke - Copyright (C) 2010 Chris Berry and Michael Rickmann - for Plustek Opticbook 3600 support - - Dynamic rasterization code was taken from the epjistsu backend by - m. allan noah - - Software processing for deskew, crop and dspeckle are inspired by allan's - noah work in the fujitsu backend - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -/* - * SANE backend for Genesys Logic GL646/GL841/GL842/GL843/GL846/GL847/GL124 based scanners - */ - -#define DEBUG_NOT_STATIC - -#include "genesys.h" -#include "genesys_sanei.h" -#include "../include/sane/sanei_config.h" -#include "../include/sane/sanei_magic.h" -#include "genesys_devices.cc" - -#include -#include -#include -#include -#include - -StaticInit> s_scanners; -StaticInit> s_sane_devices; -StaticInit> s_sane_devices_ptrs; -StaticInit> s_devices; - -static SANE_String_Const mode_list[] = { - SANE_VALUE_SCAN_MODE_COLOR, - SANE_VALUE_SCAN_MODE_GRAY, - /* SANE_TITLE_HALFTONE, currently unused */ - SANE_VALUE_SCAN_MODE_LINEART, - 0 -}; - -static SANE_String_Const color_filter_list[] = { - SANE_I18N ("Red"), - SANE_I18N ("Green"), - SANE_I18N ("Blue"), - 0 -}; - -static SANE_String_Const cis_color_filter_list[] = { - SANE_I18N ("Red"), - SANE_I18N ("Green"), - SANE_I18N ("Blue"), - SANE_I18N ("None"), - 0 -}; - -static SANE_String_Const source_list[] = { - SANE_I18N (STR_FLATBED), - SANE_I18N (STR_TRANSPARENCY_ADAPTER), - 0 -}; - -static const char* source_list_infrared[] = { - SANE_I18N(STR_FLATBED), - SANE_I18N(STR_TRANSPARENCY_ADAPTER), - SANE_I18N(STR_TRANSPARENCY_ADAPTER_INFRARED), - 0 -}; - -static SANE_Range swdespeck_range = { - 1, - 9, - 1 -}; - -static SANE_Range time_range = { - 0, /* minimum */ - 60, /* maximum */ - 0 /* quantization */ -}; - -static const SANE_Range u12_range = { - 0, /* minimum */ - 4095, /* maximum */ - 0 /* quantization */ -}; - -static const SANE_Range u14_range = { - 0, /* minimum */ - 16383, /* maximum */ - 0 /* quantization */ -}; - -static const SANE_Range u16_range = { - 0, /* minimum */ - 65535, /* maximum */ - 0 /* quantization */ -}; - -static const SANE_Range percentage_range = { - SANE_FIX (0), /* minimum */ - SANE_FIX (100), /* maximum */ - SANE_FIX (1) /* quantization */ -}; - -static const SANE_Range threshold_curve_range = { - 0, /* minimum */ - 127, /* maximum */ - 1 /* quantization */ -}; - -/** - * range for brightness and contrast - */ -static const SANE_Range enhance_range = { - -100, /* minimum */ - 100, /* maximum */ - 1 /* quantization */ -}; - -/** - * range for expiration time - */ -static const SANE_Range expiration_range = { - -1, /* minimum */ - 30000, /* maximum */ - 1 /* quantization */ -}; - -Genesys_Sensor& sanei_genesys_find_sensor_any_for_write(Genesys_Device* dev) -{ - for (auto& sensor : *s_sensors) { - if (dev->model->ccd_type == sensor.sensor_id) { - return sensor; - } - } - throw std::runtime_error("Given device does not have sensor defined"); -} - -const Genesys_Sensor& sanei_genesys_find_sensor_any(Genesys_Device* dev) -{ - for (const auto& sensor : *s_sensors) { - if (dev->model->ccd_type == sensor.sensor_id) { - return sensor; - } - } - throw std::runtime_error("Given device does not have sensor defined"); -} - -const Genesys_Sensor& sanei_genesys_find_sensor(Genesys_Device* dev, int dpi, - ScanMethod scan_method) -{ - for (const auto& sensor : *s_sensors) { - if (dev->model->ccd_type == sensor.sensor_id && - (sensor.min_resolution == -1 || dpi >= sensor.min_resolution) && - (sensor.max_resolution == -1 || dpi <= sensor.max_resolution) && - sensor.method == scan_method) { - return sensor; - } - } - throw std::runtime_error("Given device does not have sensor defined"); -} - -Genesys_Sensor& sanei_genesys_find_sensor_for_write(Genesys_Device* dev, int dpi, - ScanMethod scan_method) -{ - for (auto& sensor : *s_sensors) { - if (dev->model->ccd_type == sensor.sensor_id && - (sensor.min_resolution == -1 || dpi >= sensor.min_resolution) && - (sensor.max_resolution == -1 || dpi <= sensor.max_resolution) && - sensor.method == scan_method) { - return sensor; - } - } - throw std::runtime_error("Given device does not have sensor defined"); -} - - -void -sanei_genesys_init_structs (Genesys_Device * dev) -{ - unsigned int i, gpo_ok = 0, motor_ok = 0; - bool fe_ok = false; - - /* initialize the GPO data stuff */ - for (i = 0; i < sizeof (Gpo) / sizeof (Genesys_Gpo); i++) - { - if (dev->model->gpo_type == Gpo[i].gpo_id) - { - dev->gpo = Gpo[i]; - gpo_ok = 1; - } - } - - /* initialize the motor data stuff */ - for (i = 0; i < sizeof (Motor) / sizeof (Genesys_Motor); i++) - { - if (dev->model->motor_type == Motor[i].motor_id) - { - dev->motor = Motor[i]; - motor_ok = 1; - } - } - - for (const auto& frontend : *s_frontends) { - if (dev->model->dac_type == frontend.fe_id) { - dev->frontend_initial = frontend; - fe_ok = true; - break; - } - } - - /* sanity check */ - if (motor_ok == 0 || gpo_ok == 0 || !fe_ok) - { - DBG(DBG_error0, "%s: bad description(s) for fe/gpo/motor=%d/%d/%d\n", __func__, - dev->model->ccd_type, dev->model->gpo_type, dev->model->motor_type); - } - - /* set up initial line distance shift */ - dev->ld_shift_r = dev->model->ld_shift_r; - dev->ld_shift_g = dev->model->ld_shift_g; - dev->ld_shift_b = dev->model->ld_shift_b; -} - -/* main function for slope creation */ -/** - * This function generates a slope table using the given slope - * truncated at the given exposure time or step count, whichever comes first. - * The reached step time is then stored in final_exposure and used for the rest - * of the table. The summed time of the acceleration steps is returned, and the - * number of accerelation steps is put into used_steps. - * - * @param slope_table Table to write to - * @param max_steps Size of slope_table in steps - * @param use_steps Maximum number of steps to use for acceleration - * @param stop_at Minimum step time to use - * @param vstart Start step time of default slope - * @param vend End step time of default slope - * @param steps Step count of default slope - * @param g Power for default slope - * @param used_steps Final number of steps is stored here - * @param vfinal Final step time is stored here - * @return Time for acceleration - * @note All times in pixel time. Correction for other motor timings is not - * done. - */ -SANE_Int -sanei_genesys_generate_slope_table (uint16_t * slope_table, - unsigned int max_steps, - unsigned int use_steps, - uint16_t stop_at, - uint16_t vstart, - uint16_t vend, - unsigned int steps, - double g, - unsigned int *used_steps, - unsigned int *vfinal) -{ - double t; - SANE_Int sum = 0; - unsigned int i; - unsigned int c = 0; - uint16_t t2; - unsigned int dummy; - unsigned int _vfinal; - if (!used_steps) - used_steps = &dummy; - if (!vfinal) - vfinal = &_vfinal; - - DBG(DBG_proc, "%s: table size: %d\n", __func__, max_steps); - - DBG(DBG_proc, "%s: stop at time: %d, use %d steps max\n", __func__, stop_at, use_steps); - - DBG(DBG_proc, "%s: target slope: vstart: %d, vend: %d, steps: %d, g: %g\n", __func__, vstart, - vend, steps, g); - - sum = 0; - c = 0; - *used_steps = 0; - - if (use_steps < 1) - use_steps = 1; - - if (stop_at < vstart) - { - t2 = vstart; - for (i = 0; i < steps && i < use_steps - 1 && i < max_steps; i++, c++) - { - t = pow (((double) i) / ((double) (steps - 1)), g); - t2 = vstart * (1 - t) + t * vend; - if (t2 < stop_at) - break; - *slope_table++ = t2; - /* DBG (DBG_io, "slope_table[%3d] = %5d\n", c, t2); */ - sum += t2; - } - if (t2 > stop_at) - { - DBG(DBG_warn, "Can not reach target speed(%d) in %d steps.\n", stop_at, use_steps); - DBG(DBG_warn, "Expect image to be distorted. Ignore this if only feeding.\n"); - } - *vfinal = t2; - *used_steps += i; - max_steps -= i; - } - else - *vfinal = stop_at; - - for (i = 0; i < max_steps; i++, c++) - { - *slope_table++ = *vfinal; - /* DBG (DBG_io, "slope_table[%3d] = %5d\n", c, *vfinal); */ - } - - (*used_steps)++; - sum += *vfinal; - - DBG(DBG_proc, "%s: returns sum=%d, used %d steps, completed\n", __func__, sum, *used_steps); - - return sum; -} - -/* Generate slope table for motor movement */ -/** - * This function generates a slope table using the slope from the motor struct - * truncated at the given exposure time or step count, whichever comes first. - * The reached step time is then stored in final_exposure and used for the rest - * of the table. The summed time of the acceleration steps is returned, and the - * number of accerelation steps is put into used_steps. - * - * @param dev Device struct - * @param slope_table Table to write to - * @param max_step Size of slope_table in steps - * @param use_steps Maximum number of steps to use for acceleration - * @param step_type Generate table for this step_type. 0=>full, 1=>half, - * 2=>quarter - * @param exposure_time Minimum exposure time of a scan line - * @param yres Resolution of a scan line - * @param used_steps Final number of steps is stored here - * @param final_exposure Final step time is stored here - * @param power_mode Power mode (related to the Vref used) of the motor - * @return Time for acceleration - * @note all times in pixel time - */ -SANE_Int -sanei_genesys_create_slope_table3 (Genesys_Device * dev, - uint16_t * slope_table, - int max_step, - unsigned int use_steps, - int step_type, - int exposure_time, - double yres, - unsigned int *used_steps, - unsigned int *final_exposure, - int power_mode) -{ - unsigned int sum_time = 0; - unsigned int vtarget; - unsigned int vend; - unsigned int vstart; - unsigned int vfinal; - - DBG(DBG_proc, "%s: step_type = %d, exposure_time = %d, yres = %g, power_mode = %d\n", __func__, - step_type, exposure_time, yres, power_mode); - - /* final speed */ - vtarget = (exposure_time * yres) / dev->motor.base_ydpi; - - vstart = dev->motor.slopes[power_mode][step_type].maximum_start_speed; - vend = dev->motor.slopes[power_mode][step_type].maximum_speed; - - vtarget >>= step_type; - if (vtarget > 65535) - vtarget = 65535; - - vstart >>= step_type; - if (vstart > 65535) - vstart = 65535; - - vend >>= step_type; - if (vend > 65535) - vend = 65535; - - sum_time = sanei_genesys_generate_slope_table (slope_table, - max_step, - use_steps, - vtarget, - vstart, - vend, - dev->motor.slopes[power_mode][step_type].minimum_steps << step_type, - dev->motor.slopes[power_mode][step_type].g, - used_steps, - &vfinal); - - if (final_exposure) - *final_exposure = (vfinal * dev->motor.base_ydpi) / yres; - - DBG(DBG_proc, "%s: returns sum_time=%d, completed\n", __func__, sum_time); - - return sum_time; -} - - -/* alternate slope table creation function */ -/* the hardcoded values (g and vstart) will go in a motor struct */ -static SANE_Int -genesys_create_slope_table2 (Genesys_Device * dev, - uint16_t * slope_table, int steps, - int step_type, int exposure_time, - SANE_Bool same_speed, double yres, - int power_mode) -{ - double t, g; - SANE_Int sum = 0; - int vstart, vend; - int i; - - DBG(DBG_proc, "%s: %d steps, step_type = %d, " - "exposure_time = %d, same_speed = %d, yres = %.2f, power_mode = %d\n", __func__, steps, - step_type, exposure_time, same_speed, yres, power_mode); - - /* start speed */ - if (dev->model->motor_type == MOTOR_5345) - { - if (yres < dev->motor.base_ydpi / 6) - vstart = 2500; - else - vstart = 2000; - } - else - { - if (steps == 2) - vstart = exposure_time; - else if (steps == 3) - vstart = 2 * exposure_time; - else if (steps == 4) - vstart = 1.5 * exposure_time; - else if (steps == 120) - vstart = 1.81674 * exposure_time; - else - vstart = exposure_time; - } - - /* final speed */ - vend = (exposure_time * yres) / (dev->motor.base_ydpi * (1 << step_type)); - - /* - type=1 : full - type=2 : half - type=4 : quarter - vend * type * base_ydpi / exposure = yres - */ - - /* acceleration */ - switch (steps) - { - case 255: - /* test for special case: fast moving slope */ - /* todo: a 'fast' boolean parameter should be better */ - if (vstart == 2000) - g = 0.2013; - else - g = 0.1677; - break; - case 120: - g = 0.5; - break; - case 67: - g = 0.5; - break; - case 64: - g = 0.2555; - break; - case 44: - g = 0.5; - break; - case 4: - g = 0.5; - break; - case 3: - g = 1; - break; - case 2: - vstart = vend; - g = 1; - break; - default: - g = 0.2635; - } - - /* if same speed, no 'g' */ - sum = 0; - if (same_speed) - { - for (i = 0; i < 255; i++) - { - slope_table[i] = vend; - sum += slope_table[i]; - DBG (DBG_io, "slope_table[%3d] = %5d\n", i, slope_table[i]); - } - } - else - { - for (i = 0; i < steps; i++) - { - t = pow (((double) i) / ((double) (steps - 1)), g); - slope_table[i] = vstart * (1 - t) + t * vend; - DBG (DBG_io, "slope_table[%3d] = %5d\n", i, slope_table[i]); - sum += slope_table[i]; - } - for (i = steps; i < 255; i++) - { - slope_table[i] = vend; - DBG (DBG_io, "slope_table[%3d] = %5d\n", i, slope_table[i]); - sum += slope_table[i]; - } - } - - DBG(DBG_proc, "%s: returns sum=%d, completed\n", __func__, sum); - - return sum; -} - -/* Generate slope table for motor movement */ -/* todo: check details */ -SANE_Int -sanei_genesys_create_slope_table (Genesys_Device * dev, - uint16_t * slope_table, int steps, - int step_type, int exposure_time, - SANE_Bool same_speed, double yres, - int power_mode) -{ - double t; - double start_speed; - double g; - uint32_t time_period; - int sum_time = 0; - int i, divider; - int same_step; - - if (dev->model->motor_type == MOTOR_5345 - || dev->model->motor_type == MOTOR_HP2300 - || dev->model->motor_type == MOTOR_HP2400) - return genesys_create_slope_table2 (dev, slope_table, steps, - step_type, exposure_time, - same_speed, yres, power_mode); - - DBG(DBG_proc, "%s: %d steps, step_type = %d, exposure_time = %d, same_speed =%d\n", __func__, - steps, step_type, exposure_time, same_speed); - DBG(DBG_proc, "%s: yres = %.2f\n", __func__, yres); - - g = 0.6; - start_speed = 0.01; - same_step = 4; - divider = 1 << step_type; - - time_period = - (uint32_t) (yres * exposure_time / dev->motor.base_ydpi /*MOTOR_GEAR */ ); - if ((time_period < 2000) && (same_speed)) - same_speed = SANE_FALSE; - - time_period = time_period / divider; - - if (same_speed) - { - for (i = 0; i < steps; i++) - { - slope_table[i] = (uint16_t) time_period; - sum_time += time_period; - - DBG (DBG_io, "slope_table[%d] = %d\n", i, time_period); - } - DBG(DBG_info, "%s: returns sum_time=%d, completed\n", __func__, sum_time); - return sum_time; - } - - if (time_period > MOTOR_SPEED_MAX * 5) - { - g = 1.0; - start_speed = 0.05; - same_step = 2; - } - else if (time_period > MOTOR_SPEED_MAX * 4) - { - g = 0.8; - start_speed = 0.04; - same_step = 2; - } - else if (time_period > MOTOR_SPEED_MAX * 3) - { - g = 0.7; - start_speed = 0.03; - same_step = 2; - } - else if (time_period > MOTOR_SPEED_MAX * 2) - { - g = 0.6; - start_speed = 0.02; - same_step = 3; - } - - if (dev->model->motor_type == MOTOR_ST24) - { - steps = 255; - switch ((int) yres) - { - case 2400: - g = 0.1672; - start_speed = 1.09; - break; - case 1200: - g = 1; - start_speed = 6.4; - break; - case 600: - g = 0.1672; - start_speed = 1.09; - break; - case 400: - g = 0.2005; - start_speed = 20.0 / 3.0 /*7.5 */ ; - break; - case 300: - g = 0.253; - start_speed = 2.182; - break; - case 150: - g = 0.253; - start_speed = 4.367; - break; - default: - g = 0.262; - start_speed = 7.29; - } - same_step = 1; - } - - if (steps <= same_step) - { - time_period = - (uint32_t) (yres * exposure_time / - dev->motor.base_ydpi /*MOTOR_GEAR */ ); - time_period = time_period / divider; - - if (time_period > 65535) - time_period = 65535; - - for (i = 0; i < same_step; i++) - { - slope_table[i] = (uint16_t) time_period; - sum_time += time_period; - - DBG (DBG_io, "slope_table[%d] = %d\n", i, time_period); - } - - DBG(DBG_proc, "%s: returns sum_time=%d, completed\n", __func__, sum_time); - return sum_time; - } - - for (i = 0; i < steps; i++) - { - double j = ((double) i) - same_step + 1; /* start from 1/16 speed */ - - if (j <= 0) - t = 0; - else - t = pow (j / (steps - same_step), g); - - time_period = /* time required for full steps */ - (uint32_t) (yres * exposure_time / - dev->motor.base_ydpi /*MOTOR_GEAR */ * - (start_speed + (1 - start_speed) * t)); - - time_period = time_period / divider; - if (time_period > 65535) - time_period = 65535; - - slope_table[i] = (uint16_t) time_period; - sum_time += time_period; - - DBG (DBG_io, "slope_table[%d] = %d\n", i, slope_table[i]); - } - - DBG(DBG_proc, "%s: returns sum_time=%d, completed\n", __func__, sum_time); - - return sum_time; -} - -/** @brief computes gamma table - * Generates a gamma table of the given length within 0 and the given - * maximum value - * @param gamma_table gamma table to fill - * @param size size of the table - * @param maximum value allowed for gamma - * @param gamma_max maximum gamma value - * @param gamma gamma to compute values - * @return a gamma table filled with the computed values - * */ -void -sanei_genesys_create_gamma_table (std::vector& gamma_table, int size, - float maximum, float gamma_max, float gamma) -{ - gamma_table.clear(); - gamma_table.resize(size, 0); - - int i; - float value; - - DBG(DBG_proc, "%s: size = %d, ""maximum = %g, gamma_max = %g, gamma = %g\n", __func__, size, - maximum, gamma_max, gamma); - for (i = 0; i < size; i++) - { - value = gamma_max * pow ((float) i / size, 1.0 / gamma); - if (value > maximum) - value = maximum; - gamma_table[i] = value; - } - DBG(DBG_proc, "%s: completed\n", __func__); -} - -void sanei_genesys_create_default_gamma_table(Genesys_Device* dev, - std::vector& gamma_table, float gamma) -{ - int size = 0; - int max = 0; - if (dev->model->asic_type == GENESYS_GL646) { - if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) { - size = 16384; - } else { - size = 4096; - } - max = size - 1; - } else { - size = 256; - max = 65535; - } - sanei_genesys_create_gamma_table(gamma_table, size, max, max, gamma); -} - -/* computes the exposure_time on the basis of the given vertical dpi, - the number of pixels the ccd needs to send, - the step_type and the corresponding maximum speed from the motor struct */ -/* - Currently considers maximum motor speed at given step_type, minimum - line exposure needed for conversion and led exposure time. - - TODO: Should also consider maximum transfer rate: ~6.5MB/s. - Note: The enhance option of the scanners does _not_ help. It only halves - the amount of pixels transfered. - */ -SANE_Int -sanei_genesys_exposure_time2 (Genesys_Device * dev, float ydpi, - int step_type, int endpixel, - int exposure_by_led, int power_mode) -{ - int exposure_by_ccd = endpixel + 32; - int exposure_by_motor = - (dev->motor.slopes[power_mode][step_type].maximum_speed - * dev->motor.base_ydpi) / ydpi; - - int exposure = exposure_by_ccd; - - if (exposure < exposure_by_motor) - exposure = exposure_by_motor; - - if (exposure < exposure_by_led && dev->model->is_cis) - exposure = exposure_by_led; - - DBG(DBG_info, "%s: ydpi=%d, step=%d, endpixel=%d led=%d, power=%d => exposure=%d\n", __func__, - (int)ydpi, step_type, endpixel, exposure_by_led, power_mode, exposure); - return exposure; -} - -/* computes the exposure_time on the basis of the given horizontal dpi */ -/* we will clean/simplify it by using constants from a future motor struct */ -SANE_Int -sanei_genesys_exposure_time (Genesys_Device * dev, Genesys_Register_Set * reg, - int xdpi) -{ - if (dev->model->motor_type == MOTOR_5345) - { - if (dev->model->cmd_set->get_filter_bit (reg)) - { - /* monochrome */ - switch (xdpi) - { - case 600: - return 8500; - case 500: - case 400: - case 300: - case 250: - case 200: - case 150: - return 5500; - case 100: - return 6500; - case 50: - return 12000; - default: - return 11000; - } - } - else - { - /* color scan */ - switch (xdpi) - { - case 300: - case 250: - case 200: - return 5500; - case 50: - return 12000; - default: - return 11000; - } - } - } - else if (dev->model->motor_type == MOTOR_HP2400) - { - if (dev->model->cmd_set->get_filter_bit (reg)) - { - /* monochrome */ - switch (xdpi) - { - case 200: - return 7210; - default: - return 11111; - } - } - else - { - /* color scan */ - switch (xdpi) - { - case 600: - return 8751; /*11902; 19200 */ - default: - return 11111; - } - } - } - else if (dev->model->motor_type == MOTOR_HP2300) - { - if (dev->model->cmd_set->get_filter_bit (reg)) - { - /* monochrome */ - switch (xdpi) - { - case 600: - return 8699; /* 3200; */ - case 300: - return 3200; /*10000;, 3200 -> too dark */ - case 150: - return 4480; /* 3200 ???, warmup needs 4480 */ - case 75: - return 5500; - default: - return 11111; - } - } - else - { - /* color scan */ - switch (xdpi) - { - case 600: - return 8699; - case 300: - return 4349; - case 150: - case 75: - return 4480; - default: - return 11111; - } - } - } - return 11000; -} - - - -/* Sends a block of shading information to the scanner. - The data is placed at address 0x0000 for color mode, gray mode and - unconditionally for the following CCD chips: HP2300, HP2400 and HP5345 - In the other cases (lineart, halftone on ccd chips not mentioned) the - addresses are 0x2a00 for dpihw==0, 0x5500 for dpihw==1 and 0xa800 for - dpihw==2. //Note: why this? - - The data needs to be of size "size", and in little endian byte order. - */ -static SANE_Status -genesys_send_offset_and_shading (Genesys_Device * dev, const Genesys_Sensor& sensor, - uint8_t * data, - int size) -{ - int dpihw; - int start_address; - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s: (size = %d)\n", __func__, size); - - /* ASIC higher than gl843 doesn't have register 2A/2B, so we route to - * a per ASIC shading data loading function if available. - * It is also used for scanners using SHDAREA */ - if(dev->model->cmd_set->send_shading_data!=NULL) - { - status=dev->model->cmd_set->send_shading_data(dev, sensor, data, size); - DBGCOMPLETED; - return status; - } - - /* gl646, gl84[123] case */ - dpihw = dev->reg.get8(0x05) >> 6; - - /* TODO invert the test so only the 2 models behaving like that are - * tested instead of adding all the others */ - /* many scanners send coefficient for lineart/gray like in color mode */ - if ((dev->settings.scan_mode == ScanColorMode::LINEART || - dev->settings.scan_mode == ScanColorMode::HALFTONE) - && dev->model->ccd_type != CCD_PLUSTEK3800 - && dev->model->ccd_type != CCD_KVSS080 - && dev->model->ccd_type != CCD_G4050 - && dev->model->ccd_type != CCD_CS4400F - && dev->model->ccd_type != CCD_CS8400F - && dev->model->ccd_type != CCD_CS8600F - && dev->model->ccd_type != CCD_DSMOBILE600 - && dev->model->ccd_type != CCD_XP300 - && dev->model->ccd_type != CCD_DP665 - && dev->model->ccd_type != CCD_DP685 - && dev->model->ccd_type != CIS_CANONLIDE80 - && dev->model->ccd_type != CCD_ROADWARRIOR - && dev->model->ccd_type != CCD_HP2300 - && dev->model->ccd_type != CCD_HP2400 - && dev->model->ccd_type != CCD_HP3670 - && dev->model->ccd_type != CCD_5345) /* lineart, halftone */ - { - if (dpihw == 0) /* 600 dpi */ - start_address = 0x02a00; - else if (dpihw == 1) /* 1200 dpi */ - start_address = 0x05500; - else if (dpihw == 2) /* 2400 dpi */ - start_address = 0x0a800; - else /* reserved */ - return SANE_STATUS_INVAL; - } - else /* color */ - start_address = 0x00; - - status = sanei_genesys_set_buffer_address (dev, start_address); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = dev->model->cmd_set->bulk_write_data (dev, 0x3c, data, size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send shading table: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -/* ? */ -SANE_Status -sanei_genesys_init_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, - int pixels_per_line) -{ - SANE_Status status = SANE_STATUS_GOOD; - int channels; - int i; - - /* these models don't need to init shading data due to the use of specific send shading data - function */ - if (dev->model->ccd_type==CCD_KVSS080 - || dev->model->ccd_type==CCD_G4050 - || dev->model->ccd_type==CCD_CS4400F - || dev->model->ccd_type==CCD_CS8400F - || dev->model->cmd_set->send_shading_data!=NULL) - return SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s (pixels_per_line = %d)\n", __func__, pixels_per_line); - - // BUG: GRAY shouldn't probably be in the if condition below. Discovered when refactoring - if (dev->settings.scan_mode == ScanColorMode::GRAY || - dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - { - channels = 3; - } else { - channels = 1; - } - - // 16 bit black, 16 bit white - std::vector shading_data(pixels_per_line * 4 * channels, 0); - - uint8_t* shading_data_ptr = shading_data.data(); - - for (i = 0; i < pixels_per_line * channels; i++) - { - *shading_data_ptr++ = 0x00; /* dark lo */ - *shading_data_ptr++ = 0x00; /* dark hi */ - *shading_data_ptr++ = 0x00; /* white lo */ - *shading_data_ptr++ = 0x40; /* white hi -> 0x4000 */ - } - - status = genesys_send_offset_and_shading (dev, sensor, - shading_data.data(), - pixels_per_line * 4 * channels); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send shading data: %s\n", __func__, - sane_strstatus (status)); - } - - DBGCOMPLETED; - return status; -} - - -/* Find the position of the reference point: - takes gray level 8 bits data and find - first CCD usable pixel and top of scanning area */ -SANE_Status -sanei_genesys_search_reference_point (Genesys_Device * dev, Genesys_Sensor& sensor, - uint8_t * data, - int start_pixel, int dpi, int width, - int height) -{ - int x, y; - int current, left, top = 0; - int size, count; - int level = 80; /* edge threshold level */ - - /*sanity check */ - if ((width < 3) || (height < 3)) - return SANE_STATUS_INVAL; - - /* transformed image data */ - size = width * height; - std::vector image(size, 0); - - /* laplace filter to denoise picture */ - memcpy(image.data(), data, size); // to initialize unprocessed part of the image buffer - for (y = 1; y < height - 1; y++) - for (x = 1; x < width - 1; x++) - { - image[y * width + x] = - (data[(y - 1) * width + x + 1] + 2 * data[(y - 1) * width + x] + - data[(y - 1) * width + x - 1] + 2 * data[y * width + x + 1] + - 4 * data[y * width + x] + 2 * data[y * width + x - 1] + - data[(y + 1) * width + x + 1] + 2 * data[(y + 1) * width + x] + - data[(y + 1) * width + x - 1]) / 16; - } - - memcpy (data, image.data(), size); - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl_laplace.pnm", image.data(), 8, 1, width, height); - - /* apply X direction sobel filter - -1 0 1 - -2 0 2 - -1 0 1 - and finds threshold level - */ - level = 0; - for (y = 2; y < height - 2; y++) - for (x = 2; x < width - 2; x++) - { - current = - data[(y - 1) * width + x + 1] - data[(y - 1) * width + x - 1] + - 2 * data[y * width + x + 1] - 2 * data[y * width + x - 1] + - data[(y + 1) * width + x + 1] - data[(y + 1) * width + x - 1]; - if (current < 0) - current = -current; - if (current > 255) - current = 255; - image[y * width + x] = current; - if (current > level) - level = current; - } - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl_xsobel.pnm", image.data(), 8, 1, width, height); - - /* set up detection level */ - level = level / 3; - - /* find left black margin first - todo: search top before left - we average the result of N searches */ - left = 0; - count = 0; - for (y = 2; y < 11; y++) - { - x = 8; - while ((x < width / 2) && (image[y * width + x] < level)) - { - image[y * width + x] = 255; - x++; - } - count++; - left += x; - } - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl_detected-xsobel.pnm", image.data(), 8, 1, width, height); - left = left / count; - - /* turn it in CCD pixel at full sensor optical resolution */ - sensor.CCD_start_xoffset = start_pixel + (left * sensor.optical_res) / dpi; - - /* find top edge by detecting black strip */ - /* apply Y direction sobel filter - -1 -2 -1 - 0 0 0 - 1 2 1 - */ - level = 0; - for (y = 2; y < height - 2; y++) - for (x = 2; x < width - 2; x++) - { - current = - -data[(y - 1) * width + x + 1] - 2 * data[(y - 1) * width + x] - - data[(y - 1) * width + x - 1] + data[(y + 1) * width + x + 1] + - 2 * data[(y + 1) * width + x] + data[(y + 1) * width + x - 1]; - if (current < 0) - current = -current; - if (current > 255) - current = 255; - image[y * width + x] = current; - if (current > level) - level = current; - } - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl_ysobel.pnm", image.data(), 8, 1, width, height); - - /* set up detection level */ - level = level / 3; - - /* search top of horizontal black stripe : TODO yet another flag */ - if (dev->model->ccd_type == CCD_5345 - && dev->model->motor_type == MOTOR_5345) - { - top = 0; - count = 0; - for (x = width / 2; x < width - 1; x++) - { - y = 2; - while ((y < height) && (image[x + y * width] < level)) - { - image[y * width + x] = 255; - y++; - } - count++; - top += y; - } - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl_detected-ysobel.pnm", image.data(), 8, 1, width, height); - top = top / count; - - /* bottom of black stripe is of fixed witdh, this hardcoded value - * will be moved into device struct if more such values are needed */ - top += 10; - dev->model->y_offset_calib = SANE_FIX ((top * MM_PER_INCH) / dpi); - DBG(DBG_info, "%s: black stripe y_offset = %f mm \n", __func__, - SANE_UNFIX (dev->model->y_offset_calib)); - } - - /* find white corner in dark area : TODO yet another flag */ - if ((dev->model->ccd_type == CCD_HP2300 - && dev->model->motor_type == MOTOR_HP2300) - || (dev->model->ccd_type == CCD_HP2400 - && dev->model->motor_type == MOTOR_HP2400) - || (dev->model->ccd_type == CCD_HP3670 - && dev->model->motor_type == MOTOR_HP3670)) - { - top = 0; - count = 0; - for (x = 10; x < 60; x++) - { - y = 2; - while ((y < height) && (image[x + y * width] < level)) - y++; - top += y; - count++; - } - top = top / count; - dev->model->y_offset_calib = SANE_FIX ((top * MM_PER_INCH) / dpi); - DBG(DBG_info, "%s: white corner y_offset = %f mm\n", __func__, - SANE_UNFIX (dev->model->y_offset_calib)); - } - - DBG(DBG_proc, "%s: CCD_start_xoffset = %d, left = %d, top = %d\n", __func__, - sensor.CCD_start_xoffset, left, top); - - return SANE_STATUS_GOOD; -} - - -void -sanei_genesys_calculate_zmode2 (SANE_Bool two_table, - uint32_t exposure_time, - uint16_t * slope_table, - int reg21, - int move, int reg22, uint32_t * z1, - uint32_t * z2) -{ - int i; - int sum; - DBG(DBG_info, "%s: two_table=%d\n", __func__, two_table); - - /* acceleration total time */ - sum = 0; - for (i = 0; i < reg21; i++) - sum += slope_table[i]; - - /* compute Z1MOD */ - /* c=sum(slope_table;reg21) - d=reg22*cruising speed - Z1MOD=(c+d) % exposure_time */ - *z1 = (sum + reg22 * slope_table[reg21 - 1]) % exposure_time; - - /* compute Z2MOD */ - /* a=sum(slope_table;reg21), b=move or 1 if 2 tables */ - /* Z2MOD=(a+b) % exposure_time */ - if (!two_table) - sum = sum + (move * slope_table[reg21 - 1]); - else - sum = sum + slope_table[reg21 - 1]; - *z2 = sum % exposure_time; -} - - -/* huh? */ -/* todo: double check */ -/* Z1 and Z2 seem to be a time to synchronize with clock or a phase correction */ -/* steps_sum is the result of create_slope_table */ -/* last_speed is the last entry of the slope_table */ -/* feedl is registers 3d,3e,3f */ -/* fastfed is register 02 bit 3 */ -/* scanfed is register 1f */ -/* fwdstep is register 22 */ -/* tgtime is register 6c bit 6+7 >> 6 */ - -void -sanei_genesys_calculate_zmode (uint32_t exposure_time, - uint32_t steps_sum, uint16_t last_speed, - uint32_t feedl, uint8_t fastfed, - uint8_t scanfed, uint8_t fwdstep, - uint8_t tgtime, uint32_t * z1, uint32_t * z2) -{ - uint8_t exposure_factor; - - exposure_factor = pow (2, tgtime); /* todo: originally, this is always 2^0 ! */ - - /* Z1 is for buffer-full backward forward moving */ - *z1 = - exposure_factor * ((steps_sum + fwdstep * last_speed) % exposure_time); - - /* Z2 is for acceleration before scan */ - if (fastfed) /* two curve mode */ - { - *z2 = - exposure_factor * ((steps_sum + scanfed * last_speed) % - exposure_time); - } - else /* one curve mode */ - { - *z2 = - exposure_factor * ((steps_sum + feedl * last_speed) % exposure_time); - } -} - - -static uint8_t genesys_adjust_gain(double* applied_multi, double multi, uint8_t gain) -{ - double voltage, original_voltage; - uint8_t new_gain = 0; - - DBG(DBG_proc, "%s: multi=%f, gain=%d\n", __func__, multi, gain); - - voltage = 0.5 + gain * 0.25; - original_voltage = voltage; - - voltage *= multi; - - new_gain = (uint8_t) ((voltage - 0.5) * 4); - if (new_gain > 0x0e) - new_gain = 0x0e; - - voltage = 0.5 + (new_gain) * 0.25; - - *applied_multi = voltage / original_voltage; - - DBG(DBG_proc, "%s: orig voltage=%.2f, new voltage=%.2f, *applied_multi=%f, new_gain=%d\n", - __func__, original_voltage, voltage, *applied_multi, new_gain); - - return new_gain; -} - - -/* todo: is return status necessary (unchecked?) */ -static SANE_Status -genesys_average_white (Genesys_Device * dev, Genesys_Sensor& sensor, int channels, int channel, - uint8_t * data, int size, int *max_average) -{ - int gain_white_ref, sum, range; - int average; - int i; - - DBG(DBG_proc, "%s: channels=%d, channel=%d, size=%d\n", __func__, channels, channel, size); - - range = size / 50; - - if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) /* transparency mode */ - gain_white_ref = sensor.fau_gain_white_ref * 256; - else - gain_white_ref = sensor.gain_white_ref * 256; - - if (range < 1) - range = 1; - - size = size / (2 * range * channels); - - data += (channel * 2); - - *max_average = 0; - - while (size--) - { - sum = 0; - for (i = 0; i < range; i++) - { - sum += (*data); - sum += *(data + 1) * 256; - data += (2 * channels); /* byte based */ - } - - average = (sum / range); - if (average > *max_average) - *max_average = average; - } - - DBG(DBG_proc, "%s: max_average=%d, gain_white_ref = %d, finished\n", __func__, *max_average, - gain_white_ref); - - if (*max_average >= gain_white_ref) - return SANE_STATUS_INVAL; - - return SANE_STATUS_GOOD; -} - -/* todo: understand, values are too high */ -static int -genesys_average_black (Genesys_Device * dev, int channel, - uint8_t * data, int pixels) -{ - int i; - int sum; - int pixel_step; - - DBG(DBG_proc, "%s: channel=%d, pixels=%d\n", __func__, channel, pixels); - - sum = 0; - - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - { - data += (channel * 2); - pixel_step = 3 * 2; - } - else - { - pixel_step = 2; - } - - for (i = 0; i < pixels; i++) - { - sum += *data; - sum += *(data + 1) * 256; - - data += pixel_step; - } - - DBG(DBG_proc, "%s = %d\n", __func__, sum / pixels); - - return (int) (sum / pixels); -} - - -/* todo: check; it works but the lines 1, 2, and 3 are too dark even with the - same offset and gain settings? */ -static SANE_Status genesys_coarse_calibration(Genesys_Device * dev, Genesys_Sensor& sensor) -{ - int size; - int black_pixels; - int white_average; - int channels; - SANE_Status status = SANE_STATUS_GOOD; - uint8_t offset[4] = { 0xa0, 0x00, 0xa0, 0x40 }; /* first value isn't used */ - uint16_t white[12], dark[12]; - int i, j; - - DBG(DBG_info, "%s (scan_mode = %d)\n", __func__, static_cast(dev->settings.scan_mode)); - - black_pixels = sensor.black_pixels - * dev->settings.xres / sensor.optical_res; - - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else - channels = 1; - - DBG(DBG_info, "channels %d y_size %d xres %d\n", channels, dev->model->y_size, - dev->settings.xres); - size = - channels * 2 * SANE_UNFIX (dev->model->y_size) * dev->settings.xres / - 25.4; - /* 1 1 mm 1/inch inch/mm */ - - std::vector calibration_data(size); - std::vector all_data(size * 4, 1); - - status = dev->model->cmd_set->set_fe(dev, sensor, AFE_INIT); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); - return status; - } - - dev->frontend.set_gain(0, 2); - dev->frontend.set_gain(1, 2); - dev->frontend.set_gain(2, 2); // TODO: ? was 2 - dev->frontend.set_offset(0, offset[0]); - dev->frontend.set_offset(1, offset[0]); - dev->frontend.set_offset(2, offset[0]); - - for (i = 0; i < 4; i++) /* read 4 lines */ - { - if (i < 3) /* first 3 lines */ - { - dev->frontend.set_offset(0, offset[i]); - dev->frontend.set_offset(1, offset[i]); - dev->frontend.set_offset(2, offset[i]); - } - - if (i == 1) /* second line */ - { - double applied_multi; - double gain_white_ref; - - if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) /* Transparency */ - gain_white_ref = sensor.fau_gain_white_ref * 256; - else - gain_white_ref = sensor.gain_white_ref * 256; - /* white and black are defined downwards */ - - uint8_t gain0 = genesys_adjust_gain(&applied_multi, - gain_white_ref / (white[0] - dark[0]), - dev->frontend.get_gain(0)); - uint8_t gain1 = genesys_adjust_gain(&applied_multi, - gain_white_ref / (white[1] - dark[1]), - dev->frontend.get_gain(1)); - uint8_t gain2 = genesys_adjust_gain(&applied_multi, - gain_white_ref / (white[2] - dark[2]), - dev->frontend.get_gain(2)); - // FIXME: looks like overwritten data. Are the above calculations doing - // anything at all? - dev->frontend.set_gain(0, gain0); - dev->frontend.set_gain(1, gain1); - dev->frontend.set_gain(2, gain2); - dev->frontend.set_gain(0, 2); - dev->frontend.set_gain(1, 2); - dev->frontend.set_gain(2, 2); - - status = - sanei_genesys_fe_write_data(dev, 0x28, dev->frontend.get_gain(0)); - if (status != SANE_STATUS_GOOD) /* todo: this was 0x28 + 3 ? */ - { - DBG(DBG_error, "%s: Failed to write gain[0]: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = - sanei_genesys_fe_write_data(dev, 0x29, dev->frontend.get_gain(1)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to write gain[1]: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = - sanei_genesys_fe_write_data(dev, 0x2a, dev->frontend.get_gain(2)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to write gain[2]: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - if (i == 3) /* last line */ - { - double x, y, rate; - - for (j = 0; j < 3; j++) - { - - x = - (double) (dark[(i - 2) * 3 + j] - - dark[(i - 1) * 3 + j]) * 254 / (offset[i - 1] / 2 - - offset[i - 2] / 2); - y = x - x * (offset[i - 1] / 2) / 254 - dark[(i - 1) * 3 + j]; - rate = (x - DARK_VALUE - y) * 254 / x + 0.5; - - uint8_t curr_offset = static_cast(rate); - - if (curr_offset > 0x7f) { - curr_offset = 0x7f; - } - curr_offset <<= 1; - dev->frontend.set_offset(j, curr_offset); - } - } - status = - sanei_genesys_fe_write_data(dev, 0x20, dev->frontend.get_offset(0)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to write offset[0]: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = - sanei_genesys_fe_write_data(dev, 0x21, dev->frontend.get_offset(1)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to write offset[1]: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = - sanei_genesys_fe_write_data(dev, 0x22, dev->frontend.get_offset(2)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to write offset[2]: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_info, - "%s: doing scan: gain: %d/%d/%d, offset: %d/%d/%d\n", __func__, - dev->frontend.get_gain(0), - dev->frontend.get_gain(1), - dev->frontend.get_gain(2), - dev->frontend.get_offset(0), - dev->frontend.get_offset(1), - dev->frontend.get_offset(2)); - - status = - dev->model->cmd_set->begin_scan(dev, sensor, &dev->calib_reg, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = - sanei_genesys_read_data_from_scanner (dev, calibration_data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - std::memcpy(all_data.data() + i * size, calibration_data.data(), size); - if (i == 3) /* last line */ - { - std::vector all_data_8(size * 4 / 2); - unsigned int count; - - for (count = 0; count < (unsigned int) (size * 4 / 2); count++) - all_data_8[count] = all_data[count * 2 + 1]; - status = - sanei_genesys_write_pnm_file("gl_coarse.pnm", all_data_8.data(), 8, channels, size / 6, 4); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - status = dev->model->cmd_set->end_scan(dev, &dev->calib_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to end scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - { - for (j = 0; j < 3; j++) - { - genesys_average_white (dev, sensor, 3, j, calibration_data.data(), size, - &white_average); - white[i * 3 + j] = white_average; - dark[i * 3 + j] = - genesys_average_black (dev, j, calibration_data.data(), - black_pixels); - DBG(DBG_info, "%s: white[%d]=%d, black[%d]=%d\n", __func__, - i * 3 + j, white[i * 3 + j], i * 3 + j, dark[i * 3 + j]); - } - } - else /* one color-component modes */ - { - genesys_average_white (dev, sensor, 1, 0, calibration_data.data(), size, - &white_average); - white[i * 3 + 0] = white[i * 3 + 1] = white[i * 3 + 2] = - white_average; - dark[i * 3 + 0] = dark[i * 3 + 1] = dark[i * 3 + 2] = - genesys_average_black (dev, 0, calibration_data.data(), black_pixels); - } - - if (i == 3) - { - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - { - /* todo: huh? */ - dev->dark[0] = - (uint16_t) (1.6925 * dark[i * 3 + 0] + 0.1895 * 256); - dev->dark[1] = - (uint16_t) (1.4013 * dark[i * 3 + 1] + 0.3147 * 256); - dev->dark[2] = - (uint16_t) (1.2931 * dark[i * 3 + 2] + 0.1558 * 256); - } - else /* one color-component modes */ - { - switch (dev->settings.color_filter) - { - case ColorFilter::RED: - default: - dev->dark[0] = - (uint16_t) (1.6925 * dark[i * 3 + 0] + - (1.1895 - 1.0) * 256); - dev->dark[1] = dev->dark[2] = dev->dark[0]; - break; - - case ColorFilter::GREEN: - dev->dark[1] = - (uint16_t) (1.4013 * dark[i * 3 + 1] + - (1.3147 - 1.0) * 256); - dev->dark[0] = dev->dark[2] = dev->dark[1]; - break; - - case ColorFilter::BLUE: - dev->dark[2] = - (uint16_t) (1.2931 * dark[i * 3 + 2] + - (1.1558 - 1.0) * 256); - dev->dark[0] = dev->dark[1] = dev->dark[2]; - break; - } - } - } - } /* for (i = 0; i < 4; i++) */ - - DBG(DBG_info, "%s: final: gain: %d/%d/%d, offset: %d/%d/%d\n", __func__, - dev->frontend.get_gain(0), - dev->frontend.get_gain(1), - dev->frontend.get_gain(2), - dev->frontend.get_offset(0), - dev->frontend.get_offset(1), - dev->frontend.get_offset(2)); - DBGCOMPLETED; - - return status; -} - -/* Averages image data. - average_data and calibration_data are little endian 16 bit words. - */ -static void -genesys_average_data (uint8_t * average_data, - uint8_t * calibration_data, - uint32_t lines, - uint32_t pixel_components_per_line) -{ - uint32_t x, y; - uint32_t sum; - - for (x = 0; x < pixel_components_per_line; x++) - { - sum = 0; - for (y = 0; y < lines; y++) - { - sum += calibration_data[(x + y * pixel_components_per_line) * 2]; - sum += - calibration_data[(x + y * pixel_components_per_line) * 2 + - 1] * 256; - } - sum /= lines; - *average_data++ = sum & 255; - *average_data++ = sum / 256; - } -} - -/** - * scans a white area with motor and lamp off to get the per CCD pixel offset - * that will be used to compute shading coefficient - * @param dev scanner's device - * @return SANE_STATUS_GOOD if OK, else an error - */ -static SANE_Status -genesys_dark_shading_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - SANE_Status status = SANE_STATUS_GOOD; - size_t size; - uint32_t pixels_per_line; - uint8_t channels; - SANE_Bool motor; - - DBGSTART; - - /* end pixel - start pixel */ - pixels_per_line = dev->calib_pixels; - channels = dev->calib_channels; - - uint32_t out_pixels_per_line = pixels_per_line + dev->calib_pixels_offset; - dev->average_size = channels * 2 * out_pixels_per_line; - - dev->dark_average_data.clear(); - dev->dark_average_data.resize(dev->average_size); - - // FIXME: the current calculation is likely incorrect on non-GENESYS_GL843 implementations, - // but this needs checking - if (dev->calib_total_bytes_to_read > 0) { - size = dev->calib_total_bytes_to_read; - } else if (dev->model->asic_type == GENESYS_GL843) { - size = channels * 2 * pixels_per_line * dev->calib_lines; - } else { - size = channels * 2 * pixels_per_line * (dev->calib_lines + 1); - } - - std::vector calibration_data(size); - - motor=SANE_TRUE; - if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE) - { - motor=SANE_FALSE; - } - - /* turn off motor and lamp power for flatbed scanners, but not for sheetfed scanners - * because they have a calibration sheet with a sufficient black strip */ - if (dev->model->is_sheetfed == SANE_FALSE) - { - sanei_genesys_set_lamp_power(dev, sensor, dev->calib_reg, false); - sanei_genesys_set_motor_power(dev->calib_reg, motor); - } - else - { - sanei_genesys_set_lamp_power(dev, sensor, dev->calib_reg, true); - sanei_genesys_set_motor_power(dev->calib_reg, motor); - } - - status = - dev->model->cmd_set->bulk_write_register(dev, dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - // wait some time to let lamp to get dark - sanei_genesys_sleep_ms(200); - - status = dev->model->cmd_set->begin_scan(dev, sensor, &dev->calib_reg, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_read_data_from_scanner (dev, calibration_data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = dev->model->cmd_set->end_scan(dev, &dev->calib_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - std::fill(dev->dark_average_data.begin(), - dev->dark_average_data.begin() + dev->calib_pixels_offset * channels, - 0x00); - - genesys_average_data(dev->dark_average_data.data() + dev->calib_pixels_offset * channels, - calibration_data.data(), - dev->calib_lines, pixels_per_line * channels); - - if (DBG_LEVEL >= DBG_data) - { - sanei_genesys_write_pnm_file("gl_black_shading.pnm", calibration_data.data(), 16, - channels, pixels_per_line, dev->calib_lines); - sanei_genesys_write_pnm_file("gl_black_average.pnm", dev->dark_average_data.data(), 16, - channels, out_pixels_per_line, 1); - } - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -/* - * this function builds dummy dark calibration data so that we can - * compute shading coefficient in a clean way - * todo: current values are hardcoded, we have to find if they - * can be computed from previous calibration data (when doing offset - * calibration ?) - */ -static SANE_Status -genesys_dummy_dark_shading (Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - uint32_t pixels_per_line; - uint8_t channels; - uint32_t x, skip, xend; - int dummy1, dummy2, dummy3; /* dummy black average per channel */ - - DBGSTART; - - pixels_per_line = dev->calib_pixels; - channels = dev->calib_channels; - - uint32_t out_pixels_per_line = pixels_per_line + dev->calib_pixels_offset; - - dev->average_size = channels * 2 * out_pixels_per_line; - dev->dark_average_data.clear(); - dev->dark_average_data.resize(dev->average_size, 0); - - /* we average values on 'the left' where CCD pixels are under casing and - give darkest values. We then use these as dummy dark calibration */ - if (dev->settings.xres <= sensor.optical_res / 2) - { - skip = 4; - xend = 36; - } - else - { - skip = 4; - xend = 68; - } - if (dev->model->ccd_type==CCD_G4050 - || dev->model->ccd_type==CCD_CS4400F - || dev->model->ccd_type==CCD_CS8400F - || dev->model->ccd_type==CCD_KVSS080) - { - skip = 2; - xend = sensor.black_pixels; - } - - /* average each channels on half left margin */ - dummy1 = 0; - dummy2 = 0; - dummy3 = 0; - - for (x = skip + 1; x <= xend; x++) - { - dummy1 += - dev->white_average_data[channels * 2 * x] + - 256 * dev->white_average_data[channels * 2 * x + 1]; - if (channels > 1) - { - dummy2 += - (dev->white_average_data[channels * 2 * x + 2] + - 256 * dev->white_average_data[channels * 2 * x + 3]); - dummy3 += - (dev->white_average_data[channels * 2 * x + 4] + - 256 * dev->white_average_data[channels * 2 * x + 5]); - } - } - - dummy1 /= (xend - skip); - if (channels > 1) - { - dummy2 /= (xend - skip); - dummy3 /= (xend - skip); - } - DBG(DBG_proc, "%s: dummy1=%d, dummy2=%d, dummy3=%d \n", __func__, dummy1, dummy2, dummy3); - - /* fill dark_average */ - for (x = 0; x < out_pixels_per_line; x++) - { - dev->dark_average_data[channels * 2 * x] = dummy1 & 0xff; - dev->dark_average_data[channels * 2 * x + 1] = dummy1 >> 8; - if (channels > 1) - { - dev->dark_average_data[channels * 2 * x + 2] = dummy2 & 0xff; - dev->dark_average_data[channels * 2 * x + 3] = dummy2 >> 8; - dev->dark_average_data[channels * 2 * x + 4] = dummy3 & 0xff; - dev->dark_average_data[channels * 2 * x + 5] = dummy3 >> 8; - } - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -static SANE_Status -genesys_white_shading_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - SANE_Status status = SANE_STATUS_GOOD; - size_t size; - uint32_t pixels_per_line; - uint8_t channels; - SANE_Bool motor; - - DBG(DBG_proc, "%s (lines = %d)\n", __func__, (unsigned int)dev->calib_lines); - - pixels_per_line = dev->calib_pixels; - channels = dev->calib_channels; - - uint32_t out_pixels_per_line = pixels_per_line + dev->calib_pixels_offset; - - dev->white_average_data.clear(); - dev->white_average_data.resize(channels * 2 * out_pixels_per_line); - - // FIXME: the current calculation is likely incorrect on non-GENESYS_GL843 implementations, - // but this needs checking - if (dev->calib_total_bytes_to_read > 0) { - size = dev->calib_total_bytes_to_read; - } else if (dev->model->asic_type == GENESYS_GL843) { - size = channels * 2 * pixels_per_line * dev->calib_lines; - } else { - size = channels * 2 * pixels_per_line * (dev->calib_lines + 1); - } - - std::vector calibration_data(size); - - motor=SANE_TRUE; - if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE) - { - motor=SANE_FALSE; - } - - // turn on motor and lamp power - sanei_genesys_set_lamp_power(dev, sensor, dev->calib_reg, true); - sanei_genesys_set_motor_power(dev->calib_reg, motor); - - /* if needed, go back before doing next scan */ - if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) - { - /* rewind keeps registers and slopes table intact from previous - scan but is not available on all supported chipsets (or may - cause scan artifacts, see #7) */ - status = (dev->model->cmd_set->rewind - ? dev->model->cmd_set->rewind (dev) - : dev->model->cmd_set->slow_back_home (dev, SANE_TRUE)); - if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) - { - dev->model->cmd_set->move_to_ta(dev); - } - } - - status = - dev->model->cmd_set->bulk_write_register(dev, dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) - sanei_genesys_sleep_ms(500); // make sure lamp is bright again - - status = dev->model->cmd_set->begin_scan(dev, sensor, &dev->calib_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_read_data_from_scanner (dev, calibration_data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = dev->model->cmd_set->end_scan(dev, &dev->calib_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl_white_shading.pnm", calibration_data.data(), 16, - channels, pixels_per_line, dev->calib_lines); - - std::fill(dev->dark_average_data.begin(), - dev->dark_average_data.begin() + dev->calib_pixels_offset * channels, - 0x00); - - genesys_average_data (dev->white_average_data.data() + dev->calib_pixels_offset * channels, - calibration_data.data(), dev->calib_lines, - pixels_per_line * channels); - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl_white_average.pnm", dev->white_average_data.data(), 16, - channels, out_pixels_per_line, 1); - - /* in case we haven't done dark calibration, build dummy data from white_average */ - if (!(dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION)) - { - status = genesys_dummy_dark_shading(dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to do dummy dark shading calibration: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } - - if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) - { - status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE); - } - - DBGCOMPLETED; - - return status; -} - -/* This calibration uses a scan over the calibration target, comprising a - * black and a white strip. (So the motor must be on.) - */ -static SANE_Status -genesys_dark_white_shading_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - SANE_Status status = SANE_STATUS_GOOD; - size_t size; - uint32_t pixels_per_line; - uint8_t *average_white, *average_dark; - uint8_t channels; - unsigned int x; - int y; - uint32_t dark, white, dark_sum, white_sum, dark_count, white_count, col, - dif; - SANE_Bool motor; - - - DBG(DBG_proc, "%s: (lines = %d)\n", __func__, (unsigned int)dev->calib_lines); - - pixels_per_line = dev->calib_pixels; - channels = dev->calib_channels; - - uint32_t out_pixels_per_line = pixels_per_line + dev->calib_pixels_offset; - - dev->average_size = channels * 2 * out_pixels_per_line; - - dev->white_average_data.clear(); - dev->white_average_data.resize(dev->average_size); - - dev->dark_average_data.clear(); - dev->dark_average_data.resize(dev->average_size); - - if (dev->calib_total_bytes_to_read > 0) - size = dev->calib_total_bytes_to_read; - else - size = channels * 2 * pixels_per_line * dev->calib_lines; - - std::vector calibration_data(size); - - motor=SANE_TRUE; - if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE) - { - motor=SANE_FALSE; - } - - // turn on motor and lamp power - sanei_genesys_set_lamp_power(dev, sensor, dev->calib_reg, true); - sanei_genesys_set_motor_power(dev->calib_reg, motor); - - status = - dev->model->cmd_set->bulk_write_register(dev, dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = dev->model->cmd_set->begin_scan(dev, sensor, &dev->calib_reg, SANE_FALSE); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_read_data_from_scanner (dev, calibration_data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = dev->model->cmd_set->end_scan(dev, &dev->calib_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to end scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - if (dev->model->is_cis) - { - sanei_genesys_write_pnm_file("gl_black_white_shading.pnm", calibration_data.data(), - 16, 1, pixels_per_line*channels, - dev->calib_lines); - } - else - { - sanei_genesys_write_pnm_file("gl_black_white_shading.pnm", calibration_data.data(), - 16, channels, pixels_per_line, - dev->calib_lines); - } - } - - - std::fill(dev->dark_average_data.begin(), - dev->dark_average_data.begin() + dev->calib_pixels_offset * channels, - 0x00); - std::fill(dev->white_average_data.begin(), - dev->white_average_data.begin() + dev->calib_pixels_offset * channels, - 0x00); - - average_white = dev->white_average_data.data() + dev->calib_pixels_offset * channels; - average_dark = dev->dark_average_data.data() + dev->calib_pixels_offset * channels; - - for (x = 0; x < pixels_per_line * channels; x++) - { - dark = 0xffff; - white = 0; - - for (y = 0; y < (int)dev->calib_lines; y++) - { - col = calibration_data[(x + y * pixels_per_line * channels) * 2]; - col |= - calibration_data[(x + y * pixels_per_line * channels) * 2 + - 1] << 8; - - if (col > white) - white = col; - if (col < dark) - dark = col; - } - - dif = white - dark; - - dark = dark + dif / 8; - white = white - dif / 8; - - dark_count = 0; - dark_sum = 0; - - white_count = 0; - white_sum = 0; - - for (y = 0; y < (int)dev->calib_lines; y++) - { - col = calibration_data[(x + y * pixels_per_line * channels) * 2]; - col |= - calibration_data[(x + y * pixels_per_line * channels) * 2 + - 1] << 8; - - if (col >= white) - { - white_sum += col; - white_count++; - } - if (col <= dark) - { - dark_sum += col; - dark_count++; - } - - } - - dark_sum /= dark_count; - white_sum /= white_count; - - *average_dark++ = dark_sum & 255; - *average_dark++ = dark_sum >> 8; - - *average_white++ = white_sum & 255; - *average_white++ = white_sum >> 8; - } - - if (DBG_LEVEL >= DBG_data) - { - sanei_genesys_write_pnm_file("gl_white_average.pnm", - dev->white_average_data.data(), 16, channels, - out_pixels_per_line, 1); - sanei_genesys_write_pnm_file("gl_dark_average.pnm", - dev->dark_average_data.data(), 16, channels, - out_pixels_per_line, 1); - } - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -/* computes one coefficient given bright-dark value - * @param coeff factor giving 1.00 gain - * @param target desired target code - * @param value brght-dark value - * */ -static unsigned int -compute_coefficient (unsigned int coeff, unsigned int target, unsigned int value) -{ - int result; - - if (value > 0) - { - result = (coeff * target) / value; - if (result >= 65535) - { - result = 65535; - } - } - else - { - result = coeff; - } - return result; -} - -/** @brief compute shading coefficients for LiDE scanners - * The dark/white shading is actually performed _after_ reducing - * resolution via averaging. only dark/white shading data for what would be - * first pixel at full resolution is used. - * - * scanner raw input to output value calculation: - * o=(i-off)*(gain/coeff) - * - * from datasheet: - * off=dark_average - * gain=coeff*bright_target/(bright_average-dark_average) - * works for dark_target==0 - * - * what we want is these: - * bright_target=(bright_average-off)*(gain/coeff) - * dark_target=(dark_average-off)*(gain/coeff) - * leading to - * off = (dark_average*bright_target - bright_average*dark_target)/(bright_target - dark_target) - * gain = (bright_target - dark_target)/(bright_average - dark_average)*coeff - * - * @param dev scanner's device - * @param shading_data memory area where to store the computed shading coefficients - * @param pixels_per_line number of pixels per line - * @param words_per_color memory words per color channel - * @param channels number of color channels (actually 1 or 3) - * @param o shading coefficients left offset - * @param coeff 4000h or 2000h depending on fast scan mode or not (GAIN4 bit) - * @param target_bright value of the white target code - * @param target_dark value of the black target code -*/ -static void -compute_averaged_planar (Genesys_Device * dev, const Genesys_Sensor& sensor, - uint8_t * shading_data, - unsigned int pixels_per_line, - unsigned int words_per_color, - unsigned int channels, - unsigned int o, - unsigned int coeff, - unsigned int target_bright, - unsigned int target_dark) -{ - unsigned int x, i, j, br, dk, res, avgpixels, basepixels, val; - unsigned int fill,factor; - - DBG(DBG_info, "%s: pixels=%d, offset=%d\n", __func__, pixels_per_line, o); - - /* initialize result */ - memset (shading_data, 0xff, words_per_color * 3 * 2); - - /* - strangely i can write 0x20000 bytes beginning at 0x00000 without overwriting - slope tables - which begin at address 0x10000(for 1200dpi hw mode): - memory is organized in words(2 bytes) instead of single bytes. explains - quite some things - */ -/* - another one: the dark/white shading is actually performed _after_ reducing - resolution via averaging. only dark/white shading data for what would be - first pixel at full resolution is used. - */ -/* - scanner raw input to output value calculation: - o=(i-off)*(gain/coeff) - - from datasheet: - off=dark_average - gain=coeff*bright_target/(bright_average-dark_average) - works for dark_target==0 - - what we want is these: - bright_target=(bright_average-off)*(gain/coeff) - dark_target=(dark_average-off)*(gain/coeff) - leading to - off = (dark_average*bright_target - bright_average*dark_target)/(bright_target - dark_target) - gain = (bright_target - dark_target)/(bright_average - dark_average)*coeff - */ - res = dev->settings.xres; - - if (sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres) > 1) - { - res *= 2; - } - - /* this should be evenly dividable */ - basepixels = sensor.optical_res / res; - - /* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ - if (basepixels < 1) - avgpixels = 1; - else if (basepixels < 6) - avgpixels = basepixels; - else if (basepixels < 8) - avgpixels = 6; - else if (basepixels < 10) - avgpixels = 8; - else if (basepixels < 12) - avgpixels = 10; - else if (basepixels < 15) - avgpixels = 12; - else - avgpixels = 15; - - /* LiDE80 packs shading data */ - if(dev->model->ccd_type != CIS_CANONLIDE80) - { - factor=1; - fill=avgpixels; - } - else - { - factor=avgpixels; - fill=1; - } - - DBG(DBG_info, "%s: averaging over %d pixels\n", __func__, avgpixels); - DBG(DBG_info, "%s: packing factor is %d\n", __func__, factor); - DBG(DBG_info, "%s: fill length is %d\n", __func__, fill); - - for (x = 0; x <= pixels_per_line - avgpixels; x += avgpixels) - { - if ((x + o) * 2 * 2 + 3 > words_per_color * 2) - break; - - for (j = 0; j < channels; j++) - { - - dk = 0; - br = 0; - for (i = 0; i < avgpixels; i++) - { - /* dark data */ - dk += - (dev->dark_average_data[(x + i + - pixels_per_line * j) * - 2] | - (dev->dark_average_data - [(x + i + pixels_per_line * j) * 2 + 1] << 8)); - - /* white data */ - br += - (dev->white_average_data[(x + i + - pixels_per_line * j) * - 2] | - (dev->white_average_data - [(x + i + pixels_per_line * j) * 2 + 1] << 8)); - } - - br /= avgpixels; - dk /= avgpixels; - - if (br * target_dark > dk * target_bright) - val = 0; - else if (dk * target_bright - br * target_dark > - 65535 * (target_bright - target_dark)) - val = 65535; - else - { - val = (dk * target_bright - br * target_dark) / (target_bright - target_dark); - } - - /*fill all pixels, even if only the last one is relevant*/ - for (i = 0; i < fill; i++) - { - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j] = val & 0xff; - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 1] = val >> 8; - } - - val = br - dk; - - if (65535 * val > (target_bright - target_dark) * coeff) - { - val = (coeff * (target_bright - target_dark)) / val; - } - else - { - val = 65535; - } - - /*fill all pixels, even if only the last one is relevant*/ - for (i = 0; i < fill; i++) - { - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 2] = val & 0xff; - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 3] = val >> 8; - } - } - - /* fill remaining channels */ - for (j = channels; j < 3; j++) - { - for (i = 0; i < fill; i++) - { - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j ] = shading_data[(x/factor + o + i) * 2 * 2 ]; - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 1] = shading_data[(x/factor + o + i) * 2 * 2 + 1]; - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 2] = shading_data[(x/factor + o + i) * 2 * 2 + 2]; - shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 3] = shading_data[(x/factor + o + i) * 2 * 2 + 3]; - } - } - } -} - -/** - * Computes shading coefficient using formula in data sheet. 16bit data values - * manipulated here are little endian. For now we assume deletion scanning type - * and that there is always 3 channels. - * @param dev scanner's device - * @param shading_data memory area where to store the computed shading coefficients - * @param pixels_per_line number of pixels per line - * @param channels number of color channels (actually 1 or 3) - * @param cmat color transposition matrix - * @param offset shading coefficients left offset - * @param coeff 4000h or 2000h depending on fast scan mode or not - * @param target value of the target code - */ -static void -compute_coefficients (Genesys_Device * dev, - uint8_t * shading_data, - unsigned int pixels_per_line, - unsigned int channels, - unsigned int cmat[3], - int offset, - unsigned int coeff, - unsigned int target) -{ - uint8_t *ptr; /* contain 16bit words in little endian */ - unsigned int x, c; - unsigned int val, br, dk; - unsigned int start, end; - - DBG(DBG_io, "%s: pixels_per_line=%d, coeff=0x%04x\n", __func__, pixels_per_line, coeff); - - /* compute start & end values depending of the offset */ - if (offset < 0) - { - start = -1 * offset; - end = pixels_per_line; - } - else - { - start = 0; - end = pixels_per_line - offset; - } - - for (c = 0; c < channels; c++) - { - for (x = start; x < end; x++) - { - /* TODO if channels=1 , use filter to know the base addr */ - ptr = shading_data + 4 * ((x + offset) * channels + cmat[c]); - - /* dark data */ - dk = dev->dark_average_data[x * 2 * channels + c * 2]; - dk += 256 * dev->dark_average_data[x * 2 * channels + c * 2 + 1]; - - /* white data */ - br = dev->white_average_data[x * 2 * channels + c * 2]; - br += 256 * dev->white_average_data[x * 2 * channels + c * 2 + 1]; - - /* compute coeff */ - val=compute_coefficient(coeff,target,br-dk); - - /* assign it */ - ptr[0] = dk & 255; - ptr[1] = dk / 256; - ptr[2] = val & 0xff; - ptr[3] = val / 256; - - } - } -} - -/** - * Computes shading coefficient using formula in data sheet. 16bit data values - * manipulated here are little endian. Data is in planar form, ie grouped by - * lines of the same color component. - * @param dev scanner's device - * @param shading_data memory area where to store the computed shading coefficients - * @param factor averaging factor when the calibration scan is done at a higher resolution - * than the final scan - * @param pixels_per_line number of pixels per line - * @param words_per_color total number of shading data words for one color element - * @param channels number of color channels (actually 1 or 3) - * @param cmat transcoding matrix for color channel order - * @param offset shading coefficients left offset - * @param coeff 4000h or 2000h depending on fast scan mode or not - * @param target white target value - */ -static void -compute_planar_coefficients (Genesys_Device * dev, - uint8_t * shading_data, - unsigned int factor, - unsigned int pixels_per_line, - unsigned int words_per_color, - unsigned int channels, - unsigned int cmat[3], - unsigned int offset, - unsigned int coeff, - unsigned int target) -{ - uint8_t *ptr; /* contains 16bit words in little endian */ - uint32_t x, c, i; - uint32_t val, dk, br; - - DBG(DBG_io, "%s: factor=%d, pixels_per_line=%d, words=0x%X, coeff=0x%04x\n", __func__, factor, - pixels_per_line, words_per_color, coeff); - for (c = 0; c < channels; c++) - { - /* shading data is larger than pixels_per_line so offset can be neglected */ - for (x = 0; x < pixels_per_line; x+=factor) - { - /* x2 because of 16 bit values, and x2 since one coeff for dark - * and another for white */ - ptr = shading_data + words_per_color * cmat[c] * 2 + (x + offset) * 4; - - dk = 0; - br = 0; - - /* average case */ - for(i=0;idark_average_data[((x+i) + pixels_per_line * c) * 2 + 1]; - dk += dev->dark_average_data[((x+i) + pixels_per_line * c) * 2]; - br += - 256 * dev->white_average_data[((x+i) + pixels_per_line * c) * 2 + 1]; - br += dev->white_average_data[((x+i) + pixels_per_line * c) * 2]; - } - dk /= factor; - br /= factor; - - val = compute_coefficient (coeff, target, br - dk); - - /* we duplicate the information to have calibration data at optical resolution */ - for (i = 0; i < factor; i++) - { - ptr[0 + 4 * i] = dk & 255; - ptr[1 + 4 * i] = dk / 256; - ptr[2 + 4 * i] = val & 0xff; - ptr[3 + 4 * i] = val / 256; - } - } - } - /* in case of gray level scan, we duplicate shading information on all - * three color channels */ - if(channels==1) - { - memcpy(shading_data+cmat[1]*2*words_per_color, - shading_data+cmat[0]*2*words_per_color, - words_per_color*2); - memcpy(shading_data+cmat[2]*2*words_per_color, - shading_data+cmat[0]*2*words_per_color, - words_per_color*2); - } -} - -static void -compute_shifted_coefficients (Genesys_Device * dev, - const Genesys_Sensor& sensor, - uint8_t * shading_data, - unsigned int pixels_per_line, - unsigned int channels, - unsigned int cmat[3], - int offset, - unsigned int coeff, - unsigned int target_dark, - unsigned int target_bright, - unsigned int patch_size) /* contigous extent */ -{ - unsigned int x, avgpixels, basepixels, i, j, val1, val2; - unsigned int br_tmp [3], dk_tmp [3]; - uint8_t *ptr = shading_data + offset * 3 * 4; /* contain 16bit words in little endian */ - unsigned int patch_cnt = offset * 3; /* at start, offset of first patch */ - - x = dev->settings.xres; - if (sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres) > 1) - x *= 2; /* scanner is using half-ccd mode */ - basepixels = sensor.optical_res / x; /*this should be evenly dividable */ - - /* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ - if (basepixels < 1) - avgpixels = 1; - else if (basepixels < 6) - avgpixels = basepixels; - else if (basepixels < 8) - avgpixels = 6; - else if (basepixels < 10) - avgpixels = 8; - else if (basepixels < 12) - avgpixels = 10; - else if (basepixels < 15) - avgpixels = 12; - else - avgpixels = 15; - DBG(DBG_info, "%s: pixels_per_line=%d, coeff=0x%04x, averaging over %d pixels\n", __func__, - pixels_per_line, coeff, avgpixels); - - for (x = 0; x <= pixels_per_line - avgpixels; x += avgpixels) { - memset (&br_tmp, 0, sizeof(br_tmp)); - memset (&dk_tmp, 0, sizeof(dk_tmp)); - - for (i = 0; i < avgpixels; i++) { - for (j = 0; j < channels; j++) { - br_tmp[j] += (dev->white_average_data[((x + i) * channels + j) * 2] | - (dev->white_average_data[((x + i) * channels + j) * 2 + 1] << 8)); - dk_tmp[i] += (dev->dark_average_data[((x + i) * channels + j) * 2] | - (dev->dark_average_data[((x + i) * channels + j) * 2 + 1] << 8)); - } - } - for (j = 0; j < channels; j++) { - br_tmp[j] /= avgpixels; - dk_tmp[j] /= avgpixels; - - if (br_tmp[j] * target_dark > dk_tmp[j] * target_bright) - val1 = 0; - else if (dk_tmp[j] * target_bright - br_tmp[j] * target_dark > 65535 * (target_bright - target_dark)) - val1 = 65535; - else - val1 = (dk_tmp[j] * target_bright - br_tmp[j] * target_dark) / (target_bright - target_dark); - - val2 = br_tmp[j] - dk_tmp[j]; - if (65535 * val2 > (target_bright - target_dark) * coeff) - val2 = (coeff * (target_bright - target_dark)) / val2; - else - val2 = 65535; - - br_tmp[j] = val1; - dk_tmp[j] = val2; - } - for (i = 0; i < avgpixels; i++) { - for (j = 0; j < channels; j++) { - * ptr++ = br_tmp[ cmat[j] ] & 0xff; - * ptr++ = br_tmp[ cmat[j] ] >> 8; - * ptr++ = dk_tmp[ cmat[j] ] & 0xff; - * ptr++ = dk_tmp[ cmat[j] ] >> 8; - patch_cnt++; - if (patch_cnt == patch_size) { - patch_cnt = 0; - val1 = cmat[2]; - cmat[2] = cmat[1]; - cmat[1] = cmat[0]; - cmat[0] = val1; - } - } - } - } -} - -static SANE_Status -genesys_send_shading_coefficient(Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint32_t pixels_per_line; - uint8_t channels; - int o; - unsigned int length; /**> number of shading calibration data words */ - unsigned int factor; - unsigned int cmat[3]; /**> matrix of color channels */ - unsigned int coeff, target_code, words_per_color = 0; - - DBGSTART; - - pixels_per_line = dev->calib_pixels + dev->calib_pixels_offset; - channels = dev->calib_channels; - - /* we always build data for three channels, even for gray - * we make the shading data such that each color channel data line is contiguous - * to the next one, which allow to write the 3 channels in 1 write - * during genesys_send_shading_coefficient, some values are words, other bytes - * hence the x2 factor */ - switch (dev->reg.get8(0x05) >> 6) - { - /* 600 dpi */ - case 0: - words_per_color = 0x2a00; - break; - /* 1200 dpi */ - case 1: - words_per_color = 0x5500; - break; - /* 2400 dpi */ - case 2: - words_per_color = 0xa800; - break; - /* 4800 dpi */ - case 3: - words_per_color = 0x15000; - break; - } - - /* special case, memory is aligned on 0x5400, this has yet to be explained */ - /* could be 0xa800 because sensor is truly 2400 dpi, then halved because - * we only set 1200 dpi */ - if(dev->model->ccd_type==CIS_CANONLIDE80) - { - words_per_color = 0x5400; - } - - length = words_per_color * 3 * 2; - - /* allocate computed size */ - // contains 16bit words in little endian - std::vector shading_data(length, 0); - - /* TARGET/(Wn-Dn) = white gain -> ~1.xxx then it is multiplied by 0x2000 - or 0x4000 to give an integer - Wn = white average for column n - Dn = dark average for column n - */ - if (dev->model->cmd_set->get_gain4_bit(&dev->calib_reg)) - coeff = 0x4000; - else - coeff = 0x2000; - - /* compute avg factor */ - if(dev->settings.xres>sensor.optical_res) - { - factor=1; - } - else - { - factor=sensor.optical_res/dev->settings.xres; - } - - /* for GL646, shading data is planar if REG01_FASTMOD is set and - * chunky if not. For now we rely on the fact that we know that - * each sensor is used only in one mode. Currently only the CIS_XP200 - * sets REG01_FASTMOD. - */ - - /* TODO setup a struct in genesys_devices that - * will handle these settings instead of having this switch growing up */ - cmat[0] = 0; - cmat[1] = 1; - cmat[2] = 2; - switch (dev->model->ccd_type) - { - case CCD_XP300: - case CCD_ROADWARRIOR: - case CCD_DP665: - case CCD_DP685: - case CCD_DSMOBILE600: - target_code = 0xdc00; - o = 4; - compute_planar_coefficients (dev, - shading_data.data(), - factor, - pixels_per_line, - words_per_color, - channels, - cmat, - o, - coeff, - target_code); - break; - case CIS_XP200: - target_code = 0xdc00; - o = 2; - cmat[0] = 2; /* red is last */ - cmat[1] = 0; /* green is first */ - cmat[2] = 1; /* blue is second */ - compute_planar_coefficients (dev, - shading_data.data(), - 1, - pixels_per_line, - words_per_color, - channels, - cmat, - o, - coeff, - target_code); - break; - case CCD_HP2300: - target_code = 0xdc00; - o = 2; - if(dev->settings.xres<=sensor.optical_res/2) - { - o = o - sensor.dummy_pixel / 2; - } - compute_coefficients (dev, - shading_data.data(), - pixels_per_line, - 3, - cmat, - o, - coeff, - target_code); - break; - case CCD_5345: - target_code = 0xe000; - o = 4; - if(dev->settings.xres<=sensor.optical_res/2) - { - o = o - sensor.dummy_pixel; - } - compute_coefficients (dev, - shading_data.data(), - pixels_per_line, - 3, - cmat, - o, - coeff, - target_code); - break; - case CCD_HP3670: - case CCD_HP2400: - target_code = 0xe000; - /* offset is cksel dependent, but we can't use this in common code */ - if(dev->settings.xres<=300) - { - o = -10; /* OK for <=300 */ - } - else if(dev->settings.xres<=600) - { - o = -6; /* ok at 600 */ - } - else - { - o = +2; - } - compute_coefficients (dev, - shading_data.data(), - pixels_per_line, - 3, - cmat, - o, - coeff, - target_code); - break; - case CCD_KVSS080: - case CCD_PLUSTEK3800: - case CCD_G4050: - case CCD_CS4400F: - case CCD_CS8400F: - case CCD_CS8600F: - target_code = 0xe000; - o = 0; - compute_coefficients (dev, - shading_data.data(), - pixels_per_line, - 3, - cmat, - o, - coeff, - target_code); - break; - case CIS_CANONLIDE700: - case CIS_CANONLIDE100: - case CIS_CANONLIDE200: - case CIS_CANONLIDE110: - case CIS_CANONLIDE120: - case CIS_CANONLIDE210: - case CIS_CANONLIDE220: - /* TODO store this in a data struct so we avoid - * growing this switch */ - switch(dev->model->ccd_type) - { - case CIS_CANONLIDE110: - case CIS_CANONLIDE120: - case CIS_CANONLIDE210: - case CIS_CANONLIDE220: - target_code = 0xf000; - break; - case CIS_CANONLIDE700: - target_code = 0xc000; /* from experimentation */ - break; - default: - target_code = 0xdc00; - } - words_per_color=pixels_per_line*2; - length = words_per_color * 3 * 2; - shading_data.clear(); - shading_data.resize(length, 0); - compute_planar_coefficients (dev, - shading_data.data(), - 1, - pixels_per_line, - words_per_color, - channels, - cmat, - 0, - coeff, - target_code); - break; - case CCD_CANONLIDE35: - compute_averaged_planar (dev, sensor, - shading_data.data(), - pixels_per_line, - words_per_color, - channels, - 4, - coeff, - 0xe000, - 0x0a00); - break; - case CIS_CANONLIDE80: - compute_averaged_planar (dev, sensor, - shading_data.data(), - pixels_per_line, - words_per_color, - channels, - 0, - coeff, - 0xe000, - 0x0800); - break; - case CCD_PLUSTEK_3600: - compute_shifted_coefficients (dev, sensor, - shading_data.data(), - pixels_per_line, - channels, - cmat, - 12, /* offset */ - coeff, - 0x0001, /* target_dark */ - 0xf900, /* target_bright */ - 256); /* patch_size: contigous extent */ - break; - default: - DBG (DBG_error, "%s: sensor %d not supported\n", __func__, dev->model->ccd_type); - return SANE_STATUS_UNSUPPORTED; - break; - } - - /* do the actual write of shading calibration data to the scanner */ - status = genesys_send_offset_and_shading (dev, sensor, shading_data.data(), length); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to send shading data: %s\n", __func__, - sane_strstatus (status)); - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** - * search calibration cache list for an entry matching required scan. - * If one is found, set device calibration with it - * @param dev scanner's device - * @return false if no matching cache entry has been - * found, true if one has been found and used. - */ -static bool -genesys_restore_calibration(Genesys_Device * dev, Genesys_Sensor& sensor) -{ - DBGSTART; - - /* if no cache or no function to evaluate cache entry ther can be no match */ - if (!dev->model->cmd_set->is_compatible_calibration - || dev->calibration_cache.empty()) - return false; - - /* we walk the link list of calibration cache in search for a - * matching one */ - for (auto& cache : dev->calibration_cache) - { - if (dev->model->cmd_set->is_compatible_calibration(dev, sensor, &cache, SANE_FALSE)) - { - dev->frontend = cache.frontend; - /* we don't restore the gamma fields */ - sensor.exposure = cache.sensor.exposure; - - dev->average_size = cache.average_size; - dev->calib_pixels = cache.calib_pixels; - dev->calib_channels = cache.calib_channels; - - dev->dark_average_data = cache.dark_average_data; - dev->white_average_data = cache.white_average_data; - - if(dev->model->cmd_set->send_shading_data==NULL) - { - TIE(genesys_send_shading_coefficient(dev, sensor)); - } - - DBG(DBG_proc, "%s: restored\n", __func__); - return true; - } - } - DBG(DBG_proc, "%s: completed(nothing found)\n", __func__); - return false; -} - - -static SANE_Status -genesys_save_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor) -{ -#ifdef HAVE_SYS_TIME_H - struct timeval time; -#endif - - DBGSTART; - - if (!dev->model->cmd_set->is_compatible_calibration) - return SANE_STATUS_UNSUPPORTED; - - auto found_cache_it = dev->calibration_cache.end(); - for (auto cache_it = dev->calibration_cache.begin(); cache_it != dev->calibration_cache.end(); - cache_it++) - { - if (dev->model->cmd_set->is_compatible_calibration(dev, sensor, &*cache_it, SANE_TRUE)) - { - found_cache_it = cache_it; - break; - } - } - - /* if we found on overridable cache, we reuse it */ - if (found_cache_it == dev->calibration_cache.end()) - { - /* create a new cache entry and insert it in the linked list */ - dev->calibration_cache.push_back(Genesys_Calibration_Cache()); - found_cache_it = std::prev(dev->calibration_cache.end()); - } - - found_cache_it->average_size = dev->average_size; - - found_cache_it->dark_average_data = dev->dark_average_data; - found_cache_it->white_average_data = dev->white_average_data; - - found_cache_it->used_setup = dev->current_setup; - found_cache_it->frontend = dev->frontend; - found_cache_it->sensor = sensor; - - found_cache_it->calib_pixels = dev->calib_pixels; - found_cache_it->calib_channels = dev->calib_channels; - -#ifdef HAVE_SYS_TIME_H - gettimeofday(&time,NULL); - found_cache_it->last_calibration = time.tv_sec; -#endif - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * does the calibration process for a flatbed scanner - * - offset calibration - * - gain calibration - * - shading calibration - * @param dev device to calibrate - * @return SANE_STATUS_GOOD if everything when all right, else the error code. - */ -static SANE_Status -genesys_flatbed_calibration(Genesys_Device * dev, Genesys_Sensor& sensor) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint32_t pixels_per_line; - int yres; - - DBG(DBG_info, "%s\n", __func__); - - yres = sensor.optical_res; - if (dev->settings.yres <= sensor.optical_res / 2) - yres /= 2; - - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - yres = 1200; - - /* do offset calibration if needed */ - if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) - { - status = dev->model->cmd_set->offset_calibration(dev, sensor, dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: offset calibration failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* since all the registers are set up correctly, just use them */ - status = dev->model->cmd_set->coarse_gain_calibration(dev, sensor, dev->calib_reg, yres); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: coarse gain calibration: %s\n", __func__, sane_strstatus(status)); - return status; - } - - } - else - /* since we have 2 gain calibration proc, skip second if first one was - used. */ - { - status = dev->model->cmd_set->init_regs_for_coarse_calibration(dev, sensor, dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send calibration registers: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - status = genesys_coarse_calibration(dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to do coarse gain calibration: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - } - - if (dev->model->is_cis) - { - /* the afe now sends valid data for doing led calibration */ - status = dev->model->cmd_set->led_calibration(dev, sensor, dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: led calibration failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* calibrate afe again to match new exposure */ - if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) - { - status = dev->model->cmd_set->offset_calibration(dev, sensor, dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: offset calibration failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* since all the registers are set up correctly, just use them */ - - status = dev->model->cmd_set->coarse_gain_calibration(dev, sensor, dev->calib_reg, yres); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: coarse gain calibration: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - else - /* since we have 2 gain calibration proc, skip second if first one was - used. */ - { - status = dev->model->cmd_set->init_regs_for_coarse_calibration(dev, sensor, - dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send calibration registers: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - status = genesys_coarse_calibration(dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to do static calibration: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } - } - - /* we always use sensor pixel number when the ASIC can't handle multi-segments sensor */ - if (!(dev->model->flags & GENESYS_FLAG_SIS_SENSOR)) - { - pixels_per_line = (SANE_UNFIX (dev->model->x_size) * dev->settings.xres) / MM_PER_INCH; - } - else - { - pixels_per_line = sensor.sensor_pixels; - } - - /* send default shading data */ - status = sanei_genesys_init_shading_data(dev, sensor, pixels_per_line); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to init shading process: %s\n", __func__, sane_strstatus(status)); - return status; - } - - if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) { - RIE(dev->model->cmd_set->move_to_ta(dev)); - } - - /* shading calibration */ - status = dev->model->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send shading registers: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - if (dev->model->flags & GENESYS_FLAG_DARK_WHITE_CALIBRATION) - { - status = genesys_dark_white_shading_calibration (dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to do dark+white shading calibration: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } - else - { - if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) - { - status = genesys_dark_shading_calibration(dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to do dark shading calibration: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } - - status = genesys_white_shading_calibration (dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to do white shading calibration: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } - - if(dev->model->cmd_set->send_shading_data==NULL) - { - status = genesys_send_shading_coefficient(dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send shading calibration coefficients: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } - - DBG(DBG_info, "%s: completed\n", __func__); - - return SANE_STATUS_GOOD; -} - -/** - * Does the calibration process for a sheetfed scanner - * - offset calibration - * - gain calibration - * - shading calibration - * During calibration a predefined calibration sheet with specific black and white - * areas is used. - * @param dev device to calibrate - * @return SANE_STATUS_GOOD if everything when all right, else the error code. - */ -static SANE_Status genesys_sheetfed_calibration(Genesys_Device * dev, Genesys_Sensor& sensor) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Bool forward = SANE_TRUE; - int xres; - - DBGSTART; - if (dev->model->cmd_set->search_strip == NULL) - { - DBG(DBG_error, "%s: no strip searching function available\n", __func__); - return SANE_STATUS_UNSUPPORTED; - } - - /* first step, load document */ - status = dev->model->cmd_set->load_document (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to load document: %s\n", __func__, sane_strstatus(status)); - return status; - } - - - DBG(DBG_info, "%s\n", __func__); - - /* led, offset and gain calibration are influenced by scan - * settings. So we set it to sensor resolution */ - xres = sensor.optical_res; - dev->settings.xres = sensor.optical_res; - /* XP200 needs to calibrate a full and half sensor's resolution */ - if (dev->model->ccd_type == CIS_XP200 - && dev->settings.xres <= sensor.optical_res / 2) - dev->settings.xres /= 2; - - /* the afe needs to sends valid data even before calibration */ - - /* go to a white area */ - try { - status = dev->model->cmd_set->search_strip(dev, sensor, forward, SANE_FALSE); - if (status != SANE_STATUS_GOOD) { - DBG(DBG_error, "%s: failed to find white strip: %s\n", __func__, - sane_strstatus(status)); - dev->model->cmd_set->eject_document (dev); - return status; - } - } catch (...) { - dev->model->cmd_set->eject_document(dev); - throw; - } - - if (dev->model->is_cis) - { - status = dev->model->cmd_set->led_calibration(dev, sensor, dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: led calibration failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - /* calibrate afe */ - if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) - { - status = dev->model->cmd_set->offset_calibration(dev, sensor, dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: offset calibration failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* since all the registers are set up correctly, just use them */ - - status = dev->model->cmd_set->coarse_gain_calibration(dev, sensor, dev->calib_reg, xres); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: coarse gain calibration: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - else - /* since we have 2 gain calibration proc, skip second if first one was - used. */ - { - status = dev->model->cmd_set->init_regs_for_coarse_calibration(dev, sensor, dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send calibration registers: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - status = genesys_coarse_calibration(dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to do static calibration: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - /* search for a full width black strip and then do a 16 bit scan to - * gather black shading data */ - if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) - { - /* seek black/white reverse/forward */ - try { - status = dev->model->cmd_set->search_strip(dev, sensor, forward, SANE_TRUE); - if (status != SANE_STATUS_GOOD) { - DBG(DBG_error, "%s: failed to find black strip: %s\n", __func__, - sane_strstatus(status)); - dev->model->cmd_set->eject_document(dev); - return status; - } - } catch (...) { - dev->model->cmd_set->eject_document(dev); - throw; - } - - status = dev->model->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to do set up registers for shading calibration: %s\n", - __func__, sane_strstatus(status)); - return status; - } - try { - status = genesys_dark_shading_calibration(dev, sensor); - if (status != SANE_STATUS_GOOD) { - dev->model->cmd_set->eject_document(dev); - DBG(DBG_error, "%s: failed to do dark shading calibration: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } catch (...) { - dev->model->cmd_set->eject_document(dev); - throw; - } - forward = SANE_FALSE; - } - - - /* go to a white area */ - try { - status = dev->model->cmd_set->search_strip(dev, sensor, forward, SANE_FALSE); - if (status != SANE_STATUS_GOOD) { - DBG(DBG_error, "%s: failed to find white strip: %s\n", __func__, - sane_strstatus(status)); - dev->model->cmd_set->eject_document (dev); - return status; - } - } catch (...) { - dev->model->cmd_set->eject_document (dev); - throw; - } - - status = dev->model->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to do set up registers for shading calibration: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - try { - status = genesys_white_shading_calibration(dev, sensor); - if (status != SANE_STATUS_GOOD) { - dev->model->cmd_set->eject_document(dev); - DBG(DBG_error, "%s: failed eject target: %s\n", __func__, sane_strstatus(status)); - return status; - } - } catch (...) { - dev->model->cmd_set->eject_document (dev); - throw; - } - - /* in case we haven't black shading data, build it from black pixels - * of white calibration */ - if (!(dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION)) - { - dev->dark_average_data.clear(); - dev->dark_average_data.resize(dev->average_size, 0x0f); - /* XXX STEF XXX - * with black point in white shading, build an average black - * pixel and use it to fill the dark_average - * dev->calib_pixels - (sensor.sensor_pixels * dev->settings.xres) / sensor.optical_res, - dev->calib_lines, - */ - } - - /* send the shading coefficient when doing whole line shading - * but not when using SHDAREA like GL124 */ - if(dev->model->cmd_set->send_shading_data==NULL) - { - status = genesys_send_shading_coefficient(dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send shading calibration coefficients: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } - - /* save the calibration data */ - genesys_save_calibration (dev, sensor); - - /* and finally eject calibration sheet */ - status = dev->model->cmd_set->eject_document (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to eject document: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* resotre settings */ - dev->settings.xres = xres; - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * does the calibration process for a device - * @param dev device to calibrate - */ -static SANE_Status -genesys_scanner_calibration(Genesys_Device * dev, Genesys_Sensor& sensor) -{ - if (dev->model->is_sheetfed == SANE_FALSE) - { - return genesys_flatbed_calibration (dev, sensor); - } - return genesys_sheetfed_calibration(dev, sensor); -} - -/* unused function kept in case it may be usefull in the futur */ -#if 0 -static SANE_Status -genesys_wait_not_moving (Genesys_Device * dev, int mseconds) -{ - uint8_t value; - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s: waiting %d mseconds for motor to stop\n", __func__, mseconds); - while (mseconds > 0) - { - RIE (sanei_genesys_get_status (dev, &value)); - - if (dev->model->cmd_set->test_motor_flag_bit (value)) - { - sanei_genesys_sleep_ms(100); - mseconds -= 100; - DBG(DBG_io, "%s: motor is moving, %d mseconds to go\n", __func__, mseconds); - } - else - { - DBG(DBG_info, "%s: motor is not moving, exiting\n", __func__); - return SANE_STATUS_GOOD; - } - - } - DBG(DBG_error, "%s: motor is still moving, timeout exceeded\n", __func__); - return SANE_STATUS_DEVICE_BUSY; -} -#endif - - -/* ------------------------------------------------------------------------ */ -/* High level (exported) functions */ -/* ------------------------------------------------------------------------ */ - -/* - * wait lamp to be warm enough by scanning the same line until - * differences between two scans are below a threshold - */ -static SANE_Status -genesys_warmup_lamp (Genesys_Device * dev) -{ - int seconds = 0; - int pixel; - int channels, total_size; - double first_average = 0; - double second_average = 0; - int difference = 255; - int empty, lines = 3; - SANE_Status status = SANE_STATUS_IO_ERROR; - - DBGSTART; - - /* check if the current chipset implements warmup */ - if(dev->model->cmd_set->init_regs_for_warmup==NULL) - { - DBG(DBG_error,"%s: init_regs_for_warmup not implemented\n", __func__); - return status; - } - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - dev->model->cmd_set->init_regs_for_warmup(dev, sensor, &dev->reg, &channels, &total_size); - std::vector first_line(total_size); - std::vector second_line(total_size); - - do - { - DBG(DBG_info, "%s: one more loop\n", __func__); - RIE(dev->model->cmd_set->begin_scan(dev, sensor, &dev->reg, SANE_FALSE)); - do - { - sanei_genesys_test_buffer_empty (dev, &empty); - } - while (empty); - - try { - status = sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size); - if (status != SANE_STATUS_GOOD) { - RIE(sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size)); - } - } catch (...) { - RIE(sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size)); - } - - RIE(dev->model->cmd_set->end_scan(dev, &dev->reg, SANE_TRUE)); - - sanei_genesys_sleep_ms(1000); - seconds++; - - RIE(dev->model->cmd_set->begin_scan(dev, sensor, &dev->reg, SANE_FALSE)); - do - { - sanei_genesys_test_buffer_empty (dev, &empty); - sanei_genesys_sleep_ms(100); - } - while (empty); - RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); - RIE(dev->model->cmd_set->end_scan(dev, &dev->reg, SANE_TRUE)); - - /* compute difference between the two scans */ - for (pixel = 0; pixel < total_size; pixel++) - { - /* 16 bit data */ - if (dev->model->cmd_set->get_bitset_bit(&dev->reg)) - { - first_average += (first_line[pixel] + first_line[pixel + 1] * 256); - second_average += (second_line[pixel] + second_line[pixel + 1] * 256); - pixel++; - } - else - { - first_average += first_line[pixel]; - second_average += second_line[pixel]; - } - } - if (dev->model->cmd_set->get_bitset_bit(&dev->reg)) - { - first_average /= pixel; - second_average /= pixel; - difference = fabs (first_average - second_average); - DBG(DBG_info, "%s: average = %.2f, diff = %.3f\n", __func__, - 100 * ((second_average) / (256 * 256)), - 100 * (difference / second_average)); - - if (second_average > (100 * 256) - && (difference / second_average) < 0.002) - break; - } - else - { - first_average /= pixel; - second_average /= pixel; - if (DBG_LEVEL >= DBG_data) - { - sanei_genesys_write_pnm_file("gl_warmup1.pnm", first_line.data(), 8, channels, - total_size / (lines * channels), lines); - sanei_genesys_write_pnm_file("gl_warmup2.pnm", second_line.data(), 8, channels, - total_size / (lines * channels), lines); - } - DBG(DBG_info, "%s: average 1 = %.2f, average 2 = %.2f\n", __func__, first_average, - second_average); - /* if delta below 15/255 ~= 5.8%, lamp is considred warm enough */ - if (fabs (first_average - second_average) < 15 - && second_average > 55) - break; - } - - /* sleep another second before next loop */ - sanei_genesys_sleep_ms(1000); - seconds++; - } - while (seconds < WARMUP_TIME); - - if (seconds >= WARMUP_TIME) - { - DBG(DBG_error, "%s: warmup timed out after %d seconds. Lamp defective?\n", __func__, seconds); - status = SANE_STATUS_IO_ERROR; - } - else - { - DBG(DBG_info, "%s: warmup succeeded after %d seconds\n", __func__, seconds); - } - - DBGCOMPLETED; - - return status; -} - - -/* High-level start of scanning */ -static SANE_Status -genesys_start_scan (Genesys_Device * dev, SANE_Bool lamp_off) -{ - SANE_Status status = SANE_STATUS_GOOD; - unsigned int steps, expected; - SANE_Bool empty; - - DBGSTART; - - /* since not all scanners are set ot wait for head to park - * we check we are not still parking before starting a new scan */ - if (dev->parking == SANE_TRUE) - { - status = sanei_genesys_wait_for_home (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to wait for head to park: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } - - /* disable power saving*/ - status = dev->model->cmd_set->save_power (dev, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to disable power saving mode: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - /* wait for lamp warmup : until a warmup for TRANSPARENCY is designed, skip - * it when scanning from XPA. */ - if (!(dev->model->flags & GENESYS_FLAG_SKIP_WARMUP) - && (dev->settings.scan_method == ScanMethod::FLATBED)) - { - RIE (genesys_warmup_lamp (dev)); - } - - /* set top left x and y values by scanning the internals if flatbed scanners */ - if (dev->model->is_sheetfed == SANE_FALSE) - { - /* do the geometry detection only once */ - if ((dev->model->flags & GENESYS_FLAG_SEARCH_START) - && (dev->model->y_offset_calib == 0)) - { - status = dev->model->cmd_set->search_start_position (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to search start position: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - dev->parking = SANE_FALSE; - status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to move scanhead to home position: %s\n", __func__, - sane_strstatus(status)); - return status; - } - dev->scanhead_position_in_steps = 0; - } - else - { - /* Go home */ - /* TODO: check we can drop this since we cannot have the - scanner's head wandering here */ - dev->parking = SANE_FALSE; - status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to move scanhead to home position: %s\n", __func__, - sane_strstatus(status)); - return status; - } - dev->scanhead_position_in_steps = 0; - } - } - - /* move to calibration area for transparency adapter */ - if ((dev->settings.scan_method == ScanMethod::TRANSPARENCY) - && dev->model->cmd_set->move_to_ta != NULL) - { - status=dev->model->cmd_set->move_to_ta(dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to move to start of transparency adapter: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } - - /* load document if needed (for sheetfed scanner for instance) */ - if (dev->model->is_sheetfed == SANE_TRUE - && dev->model->cmd_set->load_document != NULL) - { - status = dev->model->cmd_set->load_document (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to load document: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - auto& sensor = sanei_genesys_find_sensor_for_write(dev, dev->settings.xres, - dev->settings.scan_method); - - /* send gamma tables. They have been set to device or user value - * when setting option value */ - status = dev->model->cmd_set->send_gamma_table(dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to init gamma table: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* try to use cached calibration first */ - if (!genesys_restore_calibration (dev, sensor)) - { - /* calibration : sheetfed scanners can't calibrate before each scan */ - /* and also those who have the NO_CALIBRATION flag */ - if (!(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION) - &&dev->model->is_sheetfed == SANE_FALSE) - { - status = genesys_scanner_calibration(dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to do scanner calibration: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - genesys_save_calibration (dev, sensor); - } - else - { - DBG(DBG_warn, "%s: no calibration done\n", __func__); - } - } - - /* build look up table for dynamic lineart */ - if(dev->settings.dynamic_lineart==SANE_TRUE) - { - status = sanei_genesys_load_lut(dev->lineart_lut, 8, 8, 50, 205, - dev->settings.threshold_curve, - dev->settings.threshold-127); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to build lut\n", __func__); - return status; - } - } - - if (dev->model->cmd_set->wait_for_motor_stop) { - dev->model->cmd_set->wait_for_motor_stop(dev); - } - - if (dev->model->cmd_set->needs_home_before_init_regs_for_scan && - dev->model->cmd_set->needs_home_before_init_regs_for_scan(dev) && - dev->model->cmd_set->slow_back_home) - { - RIE(dev->model->cmd_set->slow_back_home(dev, SANE_TRUE)); - } - - if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) { - RIE(dev->model->cmd_set->move_to_ta(dev)); - } - - status = dev->model->cmd_set->init_regs_for_scan(dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to do init registers for scan: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - /* no lamp during scan */ - if(lamp_off == SANE_TRUE) - { - sanei_genesys_set_lamp_power(dev, sensor, dev->reg, false); - } - - /* GL124 is using SHDAREA, so we have to wait for scan to be set up before - * sending shading data */ - if( (dev->model->cmd_set->send_shading_data!=NULL) - && !(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) - { - status = genesys_send_shading_coefficient(dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send shading calibration coefficients: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } - - /* now send registers for scan */ - status = - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers, status = %d\n", __func__, status); - return status; - } - - /* start effective scan */ - status = dev->model->cmd_set->begin_scan(dev, sensor, &dev->reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - - /*do we really need this? the valid data check should be sufficent -- pierre*/ - /* waits for head to reach scanning position */ - expected = dev->reg.get8(0x3d) * 65536 - + dev->reg.get8(0x3e) * 256 - + dev->reg.get8(0x3f); - do - { - // wait some time between each test to avoid overloading USB and CPU - sanei_genesys_sleep_ms(100); - status = sanei_genesys_read_feed_steps (dev, &steps); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to read feed steps: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - while (steps < expected); - - /* wait for buffers to be filled */ - do - { - RIE (sanei_genesys_test_buffer_empty (dev, &empty)); - } - while (empty); - - /* when doing one or two-table movement, let the motor settle to scanning speed */ - /* and scanning start before reading data */ -/* the valid data check already waits until the scanner delivers data. this here leads to unnecessary buffer full conditions in the scanner. - if (dev->model->cmd_set->get_fast_feed_bit (dev->reg)) - sanei_genesys_sleep_ms(1000); - else - sanei_genesys_sleep_ms(500); -*/ - /* then we wait for at least one word of valid scan data - - this is also done in sanei_genesys_read_data_from_scanner -- pierre */ - if (dev->model->is_sheetfed == SANE_FALSE) - { - do - { - sanei_genesys_sleep_ms(100); - status = sanei_genesys_read_valid_words (dev, &steps); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read valid words: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } - while (steps < 1); - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* this is _not_ a ringbuffer. - if we need a block which does not fit at the end of our available data, - we move the available data to the beginning. - */ - -void Genesys_Buffer::alloc(size_t size) -{ - buffer_.resize(size); - avail_ = 0; - pos_ = 0; -} - -void Genesys_Buffer::clear() -{ - buffer_.clear(); - avail_ = 0; - pos_ = 0; -} - -void Genesys_Buffer::reset() -{ - avail_ = 0; - pos_ = 0; -} - -uint8_t* Genesys_Buffer::get_write_pos(size_t size) -{ - if (avail_ + size > buffer_.size()) - return nullptr; - if (pos_ + avail_ + size > buffer_.size()) - { - std::memmove(buffer_.data(), buffer_.data() + pos_, avail_); - pos_ = 0; - } - return buffer_.data() + pos_ + avail_; -} - -uint8_t* Genesys_Buffer::get_read_pos() -{ - return buffer_.data() + pos_; -} - -void Genesys_Buffer::produce(size_t size) -{ - if (size > buffer_.size() - avail_) - throw std::runtime_error("buffer size exceeded"); - avail_ += size; -} - -void Genesys_Buffer::consume(size_t size) -{ - if (size > avail_) - throw std::runtime_error("no more data in buffer"); - avail_ -= size; - pos_ += size; -} - - -#include "genesys_conv.cc" - -static SANE_Status accurate_line_read(Genesys_Device * dev, - Genesys_Buffer& buffer) -{ - buffer.reset(); - - SANE_Status status = SANE_STATUS_GOOD; - status = dev->model->cmd_set->bulk_read_data(dev, 0x45, buffer.get_write_pos(buffer.size()), - buffer.size()); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read %lu bytes (%s)\n", __func__, (u_long) buffer.size(), - sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - - buffer.produce(buffer.size()); - return status; -} - -/** @brief fill buffer while reducing vertical resolution - * This function fills a read buffer with scanned data from a sensor - * which puts odd and even pixels in 2 different data segment. So a complete - * must be read and bytes interleaved to get usable by the other stages - * of the backend - */ -static SANE_Status -genesys_fill_line_interp_buffer (Genesys_Device * dev, uint8_t *work_buffer_dst, size_t size) -{ - size_t count; - SANE_Status status = SANE_STATUS_GOOD; - - /* fill buffer if needed */ - if (dev->oe_buffer.avail() == 0) - { - status = accurate_line_read(dev, dev->oe_buffer); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read %lu bytes (%s)\n", __func__, - (u_long) dev->oe_buffer.size(), sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - } - - /* copy size bytes of data, copying from a line when line count matches */ - count = 0; - while (count < size) - { - /* line counter */ - /* dev->line_interp holds the number of lines scanned for one line of data sent */ - if(((dev->line_count/dev->current_setup.channels) % dev->line_interp)==0) - { - /* copy pixel when line matches */ - work_buffer_dst[count] = dev->oe_buffer.get_read_pos()[dev->cur]; - count++; - } - - /* always update pointer so we skip uncopied data */ - dev->cur++; - - /* go to next line if needed */ - if (dev->cur == dev->len) - { - dev->oe_buffer.set_pos(dev->oe_buffer.pos() + dev->bpl); - dev->cur = 0; - dev->line_count++; - } - - /* read a new buffer if needed */ - if (dev->oe_buffer.pos() >= dev->oe_buffer.avail()) - { - status = accurate_line_read(dev, dev->oe_buffer); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read %lu bytes (%s)\n", __func__, - (u_long) dev->oe_buffer.size(), sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - } - } - - return SANE_STATUS_GOOD; -} - -/** @brief fill buffer for segmented sensors - * This function fills a read buffer with scanned data from a sensor segmented - * in several parts (multi-lines sensors). Data of the same valid area is read - * back to back and must be interleaved to get usable by the other stages - * of the backend - */ -static SANE_Status -genesys_fill_segmented_buffer (Genesys_Device * dev, uint8_t *work_buffer_dst, size_t size) -{ - size_t count; - SANE_Status status = SANE_STATUS_GOOD; - int depth,i,n,k; - - depth = dev->settings.depth; - if (dev->settings.scan_mode == ScanColorMode::LINEART && dev->settings.dynamic_lineart==SANE_FALSE) - depth = 1; - - /* fill buffer if needed */ - if (dev->oe_buffer.avail() == 0) - { - status = accurate_line_read(dev, dev->oe_buffer); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read %lu bytes (%s)\n", __func__, - (u_long) dev->oe_buffer.size(), sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - } - - /* copy size bytes of data, copying from a subwindow of each line - * when last line of buffer is exhausted, read another one */ - count = 0; - while (count < size) - { - if (depth==1) { - while (dev->cur < dev->len && count < size) { - for (n=0; nsegnb; n++) { - work_buffer_dst[count+n] = 0; - } - /* interleaving is at bit level */ - for (i=0;i<8;i++) { - k=count+(i*dev->segnb)/8; - for (n=0;nsegnb;n++) { - work_buffer_dst[k] = work_buffer_dst[k] << 1; - if ((dev->oe_buffer.get_read_pos()[dev->cur + dev->skip + dev->dist*dev->order[n]])&(128>>i)) { - work_buffer_dst[k] |= 1; - } - } - } - - /* update counter and pointer */ - count += dev->segnb; - dev->cur++; - } - } - if (depth==8) { - while (dev->cur < dev->len && count < size) { - for (n=0;nsegnb;n++) { - work_buffer_dst[count+n] = dev->oe_buffer.get_read_pos()[dev->cur + dev->skip + dev->dist*dev->order[n]]; - } - /* update counter and pointer */ - count += dev->segnb; - dev->cur++; - } - } - if (depth==16) { - while (dev->cur < dev->len && count < size) { - for (n=0;nsegnb;n++) { - work_buffer_dst[count+n*2] = dev->oe_buffer.get_read_pos()[dev->cur + dev->skip + dev->dist*dev->order[n]]; - work_buffer_dst[count+n*2+1] = dev->oe_buffer.get_read_pos()[dev->cur + dev->skip + dev->dist*dev->order[n] + 1]; - } - /* update counter and pointer */ - count += dev->segnb*2; - dev->cur+=2; - } - } - - /* go to next line if needed */ - if (dev->cur == dev->len) - { - dev->oe_buffer.set_pos(dev->oe_buffer.pos() + dev->bpl); - dev->cur = 0; - } - - /* read a new buffer if needed */ - if (dev->oe_buffer.pos() >= dev->oe_buffer.avail()) - { - status = accurate_line_read(dev, dev->oe_buffer); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read %lu bytes (%s)\n", __func__, - (u_long) dev->oe_buffer.size(), sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - } - } - - return SANE_STATUS_GOOD; -} - -/** - * - */ -static SANE_Status -genesys_fill_read_buffer (Genesys_Device * dev) -{ - size_t size; - size_t space; - SANE_Status status = SANE_STATUS_GOOD; - uint8_t *work_buffer_dst; - - DBGSTART; - - /* for sheetfed scanner, we must check is document is shorter than - * the requested scan */ - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = dev->model->cmd_set->detect_document_end (dev); - if (status != SANE_STATUS_GOOD) - return status; - } - - space = dev->read_buffer.size() - dev->read_buffer.avail(); - - work_buffer_dst = dev->read_buffer.get_write_pos(space); - - size = space; - - /* never read an odd number. exception: last read - the chip internal counter does not count half words. */ - size &= ~1; - /* Some setups need the reads to be multiples of 256 bytes */ - size &= ~0xff; - - if (dev->read_bytes_left < size) - { - size = dev->read_bytes_left; - /*round up to a multiple of 256 bytes */ - size += (size & 0xff) ? 0x100 : 0x00; - size &= ~0xff; - } - - /* early out if our remaining buffer capacity is too low */ - if (size == 0) - return SANE_STATUS_GOOD; - - DBG(DBG_io, "%s: reading %lu bytes\n", __func__, (u_long) size); - - /* size is already maxed to our needs. for most models bulk_read_data - will read as much data as requested. */ - - /* due to sensors and motors, not all data can be directly used. It - * may have to be read from another intermediate buffer and then processed. - * There are currently 3 intermediate stages: - * - handling of odd/even sensors - * - handling of line interpolation for motors that can't have low - * enough dpi - * - handling of multi-segments sensors - * - * This is also the place where full duplex data will be handled. - */ - if (dev->line_interp>0) - { - /* line interpolation */ - status = genesys_fill_line_interp_buffer (dev, work_buffer_dst, size); - } - else if (dev->segnb>1) - { - /* multi-segment sensors processing */ - status = genesys_fill_segmented_buffer (dev, work_buffer_dst, size); - } - else /* regular case with no extra copy */ - { - status = dev->model->cmd_set->bulk_read_data (dev, 0x45, work_buffer_dst, size); - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read %lu bytes (%s)\n", __func__, (u_long) size, - sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - - if (size > dev->read_bytes_left) - size = dev->read_bytes_left; - - dev->read_bytes_left -= size; - - dev->read_buffer.produce(size); - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -/* this function does the effective data read in a manner that suits - the scanner. It does data reordering and resizing if need. - It also manages EOF and I/O errors, and line distance correction. - */ -static SANE_Status -genesys_read_ordered_data (Genesys_Device * dev, SANE_Byte * destination, - size_t * len) -{ - SANE_Status status = SANE_STATUS_GOOD; - size_t bytes, extra; - unsigned int channels, depth, src_pixels; - unsigned int ccd_shift[12], shift_count; - uint8_t *work_buffer_src; - uint8_t *work_buffer_dst; - unsigned int dst_lines; - unsigned int step_1_mode; - unsigned int needs_reorder; - unsigned int needs_ccd; - unsigned int needs_shrink; - unsigned int needs_reverse; - Genesys_Buffer *src_buffer; - Genesys_Buffer *dst_buffer; - - DBGSTART; - if (dev->read_active != SANE_TRUE) - { - DBG(DBG_error, "%s: read not active!\n", __func__); - *len = 0; - return SANE_STATUS_INVAL; - } - - DBG(DBG_info, "%s: ", __func__); - debug_dump(DBG_info, dev->current_setup); - - /* prepare conversion */ - /* current settings */ - channels = dev->current_setup.channels; - depth = dev->current_setup.depth; - - src_pixels = dev->current_setup.pixels; - - needs_reorder = 1; - if (channels != 3 && depth != 16) - needs_reorder = 0; -#ifndef WORDS_BIGENDIAN - if (channels != 3 && depth == 16) - needs_reorder = 0; - if (channels == 3 && depth == 16 && !dev->model->is_cis && - dev->model->line_mode_color_order == COLOR_ORDER_RGB) - needs_reorder = 0; -#endif - if (channels == 3 && depth == 8 && !dev->model->is_cis && - dev->model->line_mode_color_order == COLOR_ORDER_RGB) - needs_reorder = 0; - - needs_ccd = dev->current_setup.max_shift > 0; - needs_shrink = dev->settings.pixels != src_pixels; - needs_reverse = depth == 1; - - DBG(DBG_info, "%s: using filters:%s%s%s%s\n", __func__, - needs_reorder ? " reorder" : "", - needs_ccd ? " ccd" : "", - needs_shrink ? " shrink" : "", - needs_reverse ? " reverse" : ""); - - DBG(DBG_info, "%s: frontend requested %lu bytes\n", __func__, (u_long) * len); - - DBG(DBG_info, "%s: bytes_to_read=%lu, total_bytes_read=%lu\n", __func__, - (u_long) dev->total_bytes_to_read, (u_long) dev->total_bytes_read); - /* is there data left to scan */ - if (dev->total_bytes_read >= dev->total_bytes_to_read) - { - DBG(DBG_proc, "%s: nothing more to scan: EOF\n", __func__); - *len = 0; - - /* issue park command immediatly in case scanner can handle it - * so we save time */ - if (dev->model->is_sheetfed == SANE_FALSE - && !(dev->model->flags & GENESYS_FLAG_MUST_WAIT) - && dev->parking == SANE_FALSE) - { - dev->model->cmd_set->slow_back_home (dev, SANE_FALSE); - dev->parking = SANE_TRUE; - } - return SANE_STATUS_EOF; - } - - DBG(DBG_info, "%s: %lu lines left by output\n", __func__, - ((dev->total_bytes_to_read - dev->total_bytes_read) * 8UL) / - (dev->settings.pixels * channels * depth)); - DBG(DBG_info, "%s: %lu lines left by input\n", __func__, - ((dev->read_bytes_left + dev->read_buffer.avail()) * 8UL) / - (src_pixels * channels * depth)); - - if (channels == 1) - { - ccd_shift[0] = 0; - ccd_shift[1] = dev->current_setup.stagger; - shift_count = 2; - } - else - { - ccd_shift[0] = - ((dev->ld_shift_r * dev->settings.yres) / - dev->motor.base_ydpi); - ccd_shift[1] = - ((dev->ld_shift_g * dev->settings.yres) / - dev->motor.base_ydpi); - ccd_shift[2] = - ((dev->ld_shift_b * dev->settings.yres) / - dev->motor.base_ydpi); - - ccd_shift[3] = ccd_shift[0] + dev->current_setup.stagger; - ccd_shift[4] = ccd_shift[1] + dev->current_setup.stagger; - ccd_shift[5] = ccd_shift[2] + dev->current_setup.stagger; - - shift_count = 6; - } - - -/* convert data */ -/* - 0. fill_read_buffer --------------- read_buffer ---------------------- - 1a). (opt)uncis (assumes color components to be laid out - planar) - 1b). (opt)reverse_RGB (assumes pixels to be BGR or BBGGRR)) --------------- lines_buffer ---------------------- - 2a). (opt)line_distance_correction (assumes RGB or RRGGBB) - 2b). (opt)unstagger (assumes pixels to be depth*channels/8 - bytes long, unshrinked) -------------- shrink_buffer --------------------- - 3. (opt)shrink_lines (assumes component separation in pixels) --------------- out_buffer ----------------------- - 4. memcpy to destination (for lineart with bit reversal) -*/ -/*FIXME: for lineart we need sub byte addressing in buffers, or conversion to - bytes at 0. and back to bits at 4. -Problems with the first approach: - - its not clear how to check if we need to output an incomplete byte - because it is the last one. - */ -/*FIXME: add lineart support for gl646. in the meantime add logic to convert - from gray to lineart at the end? would suffer the above problem, - total_bytes_to_read and total_bytes_read help in that case. - */ - - status = genesys_fill_read_buffer (dev); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: genesys_fill_read_buffer failed\n", __func__); - return status; - } - - src_buffer = &(dev->read_buffer); - -/* maybe reorder components/bytes */ - if (needs_reorder) - { -/*not implemented for depth == 1.*/ - if (depth == 1) - { - DBG(DBG_error, "Can't reorder single bit data\n"); - return SANE_STATUS_INVAL; - } - - dst_buffer = &(dev->lines_buffer); - - work_buffer_src = src_buffer->get_read_pos(); - bytes = src_buffer->avail(); - -/*how many bytes can be processed here?*/ -/*we are greedy. we work as much as possible*/ - if (bytes > dst_buffer->size() - dst_buffer->avail()) - bytes = dst_buffer->size() - dst_buffer->avail(); - - dst_lines = (bytes * 8) / (src_pixels * channels * depth); - bytes = (dst_lines * src_pixels * channels * depth) / 8; - - work_buffer_dst = dst_buffer->get_write_pos(bytes); - - DBG(DBG_info, "%s: reordering %d lines\n", __func__, dst_lines); - - if (dst_lines != 0) - { - - if (channels == 3) - { - step_1_mode = 0; - - if (depth == 16) - step_1_mode |= 1; - - if (dev->model->is_cis) - step_1_mode |= 2; - - if (dev->model->line_mode_color_order == COLOR_ORDER_BGR) - step_1_mode |= 4; - - switch (step_1_mode) - { - case 1: /* RGB, chunky, 16 bit */ -#ifdef WORDS_BIGENDIAN - status = - genesys_reorder_components_endian_16 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels, 3); - break; -#endif /*WORDS_BIGENDIAN */ - case 0: /* RGB, chunky, 8 bit */ - status = SANE_STATUS_GOOD; - break; - case 2: /* RGB, cis, 8 bit */ - status = - genesys_reorder_components_cis_8 (work_buffer_src, - work_buffer_dst, - dst_lines, src_pixels); - break; - case 3: /* RGB, cis, 16 bit */ - status = - genesys_reorder_components_cis_16 (work_buffer_src, - work_buffer_dst, - dst_lines, src_pixels); - break; - case 4: /* BGR, chunky, 8 bit */ - status = - genesys_reorder_components_bgr_8 (work_buffer_src, - work_buffer_dst, - dst_lines, src_pixels); - break; - case 5: /* BGR, chunky, 16 bit */ - status = - genesys_reorder_components_bgr_16 (work_buffer_src, - work_buffer_dst, - dst_lines, src_pixels); - break; - case 6: /* BGR, cis, 8 bit */ - status = - genesys_reorder_components_cis_bgr_8 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels); - break; - case 7: /* BGR, cis, 16 bit */ - status = - genesys_reorder_components_cis_bgr_16 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels); - break; - } - } - else - { -#ifdef WORDS_BIGENDIAN - if (depth == 16) - { - status = - genesys_reorder_components_endian_16 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels, 1); - } - else - { - status = SANE_STATUS_GOOD; - } -#else /*!WORDS_BIGENDIAN */ - status = SANE_STATUS_GOOD; -#endif /*WORDS_BIGENDIAN */ - } - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to convert byte ordering(%s)\n", __func__, - sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - - dst_buffer->produce(bytes); - src_buffer->consume(bytes); - } - src_buffer = dst_buffer; - } - -/* maybe reverse effects of ccd layout */ - if (needs_ccd) - { -/*should not happen with depth == 1.*/ - if (depth == 1) - { - DBG(DBG_error, "Can't reverse ccd for single bit data\n"); - return SANE_STATUS_INVAL; - } - - dst_buffer = &(dev->shrink_buffer); - - work_buffer_src = src_buffer->get_read_pos(); - bytes = src_buffer->avail(); - - extra = - (dev->current_setup.max_shift * src_pixels * channels * depth) / 8; - -/*extra bytes are reserved, and should not be consumed*/ - if (bytes < extra) - bytes = 0; - else - bytes -= extra; - -/*how many bytes can be processed here?*/ -/*we are greedy. we work as much as possible*/ - if (bytes > dst_buffer->size() - dst_buffer->avail()) - bytes = dst_buffer->size() - dst_buffer->avail(); - - dst_lines = (bytes * 8) / (src_pixels * channels * depth); - bytes = (dst_lines * src_pixels * channels * depth) / 8; - - work_buffer_dst = dst_buffer->get_write_pos(bytes); - - DBG(DBG_info, "%s: un-ccd-ing %d lines\n", __func__, dst_lines); - - if (dst_lines != 0) - { - - if (depth == 8) - status = genesys_reverse_ccd_8 (work_buffer_src, work_buffer_dst, - dst_lines, - src_pixels * channels, - ccd_shift, shift_count); - else - status = genesys_reverse_ccd_16 (work_buffer_src, work_buffer_dst, - dst_lines, - src_pixels * channels, - ccd_shift, shift_count); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to reverse ccd effects(%s)\n", __func__, - sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - - dst_buffer->produce(bytes); - src_buffer->consume(bytes); - } - src_buffer = dst_buffer; - } - -/* maybe shrink(or enlarge) lines */ - if (needs_shrink) - { - - dst_buffer = &(dev->out_buffer); - - work_buffer_src = src_buffer->get_read_pos(); - bytes = src_buffer->avail(); - -/*lines in input*/ - dst_lines = (bytes * 8) / (src_pixels * channels * depth); - - /* how many lines can be processed here? */ - /* we are greedy. we work as much as possible */ - bytes = dst_buffer->size() - dst_buffer->avail(); - - if (dst_lines > (bytes * 8) / (dev->settings.pixels * channels * depth)) - dst_lines = (bytes * 8) / (dev->settings.pixels * channels * depth); - - bytes = (dst_lines * dev->settings.pixels * channels * depth) / 8; - - work_buffer_dst = dst_buffer->get_write_pos(bytes); - - DBG(DBG_info, "%s: shrinking %d lines\n", __func__, dst_lines); - - if (dst_lines != 0) - { - if (depth == 1) - status = genesys_shrink_lines_1 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels, - dev->settings.pixels, - channels); - else if (depth == 8) - status = genesys_shrink_lines_8 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels, - dev->settings.pixels, channels); - else - status = genesys_shrink_lines_16 (work_buffer_src, - work_buffer_dst, - dst_lines, - src_pixels, - dev->settings.pixels, channels); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to shrink lines(%s)\n", __func__, sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - - /* we just consumed this many bytes*/ - bytes = (dst_lines * src_pixels * channels * depth) / 8; - src_buffer->consume(bytes); - - /* we just created this many bytes*/ - bytes = (dst_lines * dev->settings.pixels * channels * depth) / 8; - dst_buffer->produce(bytes); - } - src_buffer = dst_buffer; - } - - /* move data to destination */ - bytes = src_buffer->avail(); - if (bytes > *len) - bytes = *len; - work_buffer_src = src_buffer->get_read_pos(); - - if (needs_reverse) - { - status = genesys_reverse_bits (work_buffer_src, destination, bytes); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to reverse bits(%s)\n", __func__, sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - *len = bytes; - } - else - { - memcpy (destination, work_buffer_src, bytes); - *len = bytes; - } - - /* avoid signaling some extra data because we have treated a full block - * on the last block */ - if (dev->total_bytes_read + *len > dev->total_bytes_to_read) - *len = dev->total_bytes_to_read - dev->total_bytes_read; - - /* count bytes sent to frontend */ - dev->total_bytes_read += *len; - - src_buffer->consume(bytes); - - /* end scan if all needed data have been read */ - if(dev->total_bytes_read >= dev->total_bytes_to_read) - { - dev->model->cmd_set->end_scan(dev, &dev->reg, SANE_TRUE); - if (dev->model->is_sheetfed == SANE_TRUE) - { - dev->model->cmd_set->eject_document (dev); - } - } - - DBG(DBG_proc, "%s: completed, %lu bytes read\n", __func__, (u_long) bytes); - return SANE_STATUS_GOOD; -} - - - -/* ------------------------------------------------------------------------ */ -/* Start of higher level functions */ -/* ------------------------------------------------------------------------ */ - -static size_t -max_string_size (const SANE_String_Const strings[]) -{ - size_t size, max_size = 0; - SANE_Int i; - - for (i = 0; strings[i]; ++i) - { - size = strlen (strings[i]) + 1; - if (size > max_size) - max_size = size; - } - return max_size; -} - -static SANE_Status -calc_parameters (Genesys_Scanner * s) -{ - SANE_Status status = SANE_STATUS_GOOD; - double tl_x = 0, tl_y = 0, br_x = 0, br_y = 0; - - tl_x = SANE_UNFIX(s->pos_top_left_x); - tl_y = SANE_UNFIX(s->pos_top_left_y); - br_x = SANE_UNFIX(s->pos_bottom_right_x); - br_y = SANE_UNFIX(s->pos_bottom_right_y); - - s->params.last_frame = SANE_TRUE; /* only single pass scanning supported */ - - if (s->mode == SANE_VALUE_SCAN_MODE_GRAY || s->mode == SANE_VALUE_SCAN_MODE_LINEART) { - s->params.format = SANE_FRAME_GRAY; - } else { - s->params.format = SANE_FRAME_RGB; - } - - if (s->mode == SANE_VALUE_SCAN_MODE_LINEART) { - s->params.depth = 1; - } else { - s->params.depth = s->bit_depth; - } - - s->dev->settings.depth = s->bit_depth; - - /* interpolation */ - s->dev->settings.disable_interpolation = s->disable_interpolation; - - // FIXME: use correct sensor - const auto& sensor = sanei_genesys_find_sensor_any(s->dev); - - // hardware settings - if (s->resolution > sensor.optical_res && s->dev->settings.disable_interpolation) { - s->dev->settings.xres = sensor.optical_res; - } else { - s->dev->settings.xres = s->resolution; - } - s->dev->settings.yres = s->resolution; - - s->params.lines = ((br_y - tl_y) * s->dev->settings.yres) / MM_PER_INCH; - s->params.pixels_per_line = ((br_x - tl_x) * s->resolution) / MM_PER_INCH; - - /* we need an even pixels number - * TODO invert test logic or generalize behaviour across all ASICs */ - if ((s->dev->model->flags & GENESYS_FLAG_SIS_SENSOR) - || s->dev->model->asic_type == GENESYS_GL847 - || s->dev->model->asic_type == GENESYS_GL124 - || s->dev->model->asic_type == GENESYS_GL845 - || s->dev->model->asic_type == GENESYS_GL846 - || s->dev->model->asic_type == GENESYS_GL843) - { - if (s->dev->settings.xres <= 1200) - s->params.pixels_per_line = (s->params.pixels_per_line/4)*4; - else - s->params.pixels_per_line = (s->params.pixels_per_line/16)*16; - } - - /* corner case for true lineart for sensor with several segments - * or when xres is doubled to match yres */ - if (s->dev->settings.xres >= 1200 - && ( s->dev->model->asic_type == GENESYS_GL124 - || s->dev->model->asic_type == GENESYS_GL847 - || s->dev->current_setup.xres < s->dev->current_setup.yres - ) - ) - { - s->params.pixels_per_line = (s->params.pixels_per_line/16)*16; - } - - s->params.bytes_per_line = s->params.pixels_per_line; - if (s->params.depth > 8) - { - s->params.depth = 16; - s->params.bytes_per_line *= 2; - } - else if (s->params.depth == 1) - { - s->params.bytes_per_line /= 8; - /* round down pixel number - really? rounding down means loss of at most 7 pixels! -- pierre */ - s->params.pixels_per_line = 8 * s->params.bytes_per_line; - } - - if (s->params.format == SANE_FRAME_RGB) { - s->params.bytes_per_line *= 3; - } - - if (s->mode == SANE_VALUE_SCAN_MODE_COLOR) { - s->dev->settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - } else if (s->mode == SANE_VALUE_SCAN_MODE_GRAY) { - s->dev->settings.scan_mode = ScanColorMode::GRAY; - } else if (s->mode == SANE_TITLE_HALFTONE) { - s->dev->settings.scan_mode = ScanColorMode::HALFTONE; - } else { /* Lineart */ - s->dev->settings.scan_mode = ScanColorMode::LINEART; - } - - if (s->source == STR_FLATBED) { - s->dev->settings.scan_method = ScanMethod::FLATBED; - } else if (s->source == STR_TRANSPARENCY_ADAPTER) { - s->dev->settings.scan_method = ScanMethod::TRANSPARENCY; - } else if (s->source == STR_TRANSPARENCY_ADAPTER_INFRARED) { - s->dev->settings.scan_method = ScanMethod::TRANSPARENCY_INFRARED; - } - - s->dev->settings.lines = s->params.lines; - s->dev->settings.pixels = s->params.pixels_per_line; - s->dev->settings.tl_x = tl_x; - s->dev->settings.tl_y = tl_y; - - // threshold setting - s->dev->settings.threshold = 2.55 * (SANE_UNFIX(s->threshold)); - - // color filter - if (s->color_filter == "Red") { - s->dev->settings.color_filter = ColorFilter::RED; - } else if (s->color_filter == "Green") { - s->dev->settings.color_filter = ColorFilter::GREEN; - } else if (s->color_filter == "Blue") { - s->dev->settings.color_filter = ColorFilter::BLUE; - } else { - s->dev->settings.color_filter = ColorFilter::NONE; - } - - // true gray - if (s->color_filter == "None") { - s->dev->settings.true_gray = 1; - } else { - s->dev->settings.true_gray = 0; - } - - /* dynamic lineart */ - s->dev->settings.dynamic_lineart = SANE_FALSE; - s->dev->settings.threshold_curve=0; - if (!s->disable_dynamic_lineart && s->dev->settings.scan_mode == ScanColorMode::LINEART) { - s->dev->settings.dynamic_lineart = SANE_TRUE; - } - - /* hardware lineart works only when we don't have interleave data - * for GL847 scanners, ie up to 600 DPI, then we have to rely on - * dynamic_lineart */ - if(s->dev->settings.xres > 600 - && s->dev->model->asic_type==GENESYS_GL847 - && s->dev->settings.scan_mode == ScanColorMode::LINEART) - { - s->dev->settings.dynamic_lineart = SANE_TRUE; - } - - // threshold curve for dynamic rasterization - s->dev->settings.threshold_curve = s->threshold_curve; - - /* some digital processing requires the whole picture to be buffered */ - /* no digital processing takes place when doing preview, or when bit depth is - * higher than 8 bits */ - if ((s->swdespeck || s->swcrop || s->swdeskew || s->swderotate ||(SANE_UNFIX(s->swskip)>0)) - && (!s->preview) - && (s->bit_depth <= 8)) - { - s->dev->buffer_image=SANE_TRUE; - } - else - { - s->dev->buffer_image=SANE_FALSE; - } - - /* brigthness and contrast only for for 8 bit scans */ - if(s->bit_depth <= 8) - { - s->dev->settings.contrast = (s->contrast * 127) / 100; - s->dev->settings.brightness = (s->brightness * 127) / 100; - } - else - { - s->dev->settings.contrast=0; - s->dev->settings.brightness=0; - } - - /* cache expiration time */ - s->dev->settings.expiration_time = s->expiration_time; - - return status; -} - - -static SANE_Status -create_bpp_list (Genesys_Scanner * s, SANE_Int * bpp) -{ - int count; - - for (count = 0; bpp[count] != 0; count++) - ; - s->bpp_list[0] = count; - for (count = 0; bpp[count] != 0; count++) - { - s->bpp_list[s->bpp_list[0] - count] = bpp[count]; - } - return SANE_STATUS_GOOD; -} - -/** @brief this function initialize a gamma vector based on the ASIC: - * Set up a default gamma table vector based on device description - * gl646: 12 or 14 bits gamma table depending on GENESYS_FLAG_14BIT_GAMMA - * gl84x: 16 bits - * gl12x: 16 bits - * @param scanner pointer to scanner session to get options - * @param option option number of the gamma table to set - */ -static void -init_gamma_vector_option (Genesys_Scanner * scanner, int option) -{ - /* the option is inactive until the custom gamma control - * is enabled */ - scanner->opt[option].type = SANE_TYPE_INT; - scanner->opt[option].cap |= SANE_CAP_INACTIVE | SANE_CAP_ADVANCED; - scanner->opt[option].unit = SANE_UNIT_NONE; - scanner->opt[option].constraint_type = SANE_CONSTRAINT_RANGE; - if (scanner->dev->model->asic_type == GENESYS_GL646) - { - if ((scanner->dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) != 0) - { - scanner->opt[option].size = 16384 * sizeof (SANE_Word); - scanner->opt[option].constraint.range = &u14_range; - } - else - { /* 12 bits gamma tables */ - scanner->opt[option].size = 4096 * sizeof (SANE_Word); - scanner->opt[option].constraint.range = &u12_range; - } - } - else - { /* other asics have 16 bits words gamma table */ - scanner->opt[option].size = 256 * sizeof (SANE_Word); - scanner->opt[option].constraint.range = &u16_range; - } -} - -/** - * allocate a geometry range - * @param size maximum size of the range - * @return a pointer to a valid range or NULL - */ -static SANE_Range *create_range(SANE_Fixed size) -{ -SANE_Range *range=NULL; - - range=(SANE_Range *)malloc(sizeof(SANE_Range)); - if(range!=NULL) - { - range->min = SANE_FIX (0.0); - range->max = size; - range->quant = SANE_FIX (0.0); - } - return range; -} - -/** @brief generate calibration cache file nam - * Generates the calibration cache file name to use. - * Tries to store the chache in $HOME/.sane or - * then fallbacks to $TMPDIR or TMP. The filename - * uses the model name if only one scanner is plugged - * else is uses the device name when several identical - * scanners are in use. - * @param currdev current scanner device - * @return an allocated string containing a file name - */ -static char *calibration_filename(Genesys_Device *currdev) -{ - char *tmpstr; - char *ptr; - char filename[80]; - unsigned int count; - unsigned int i; - - /* allocate space for result */ - tmpstr = (char*) malloc(PATH_MAX); - if(tmpstr==NULL) - { - return NULL; - } - - /* first compute the DIR where we can store cache: - * 1 - home dir - * 2 - $TMPDIR - * 3 - $TMP - * 4 - tmp dir - * 5 - temp dir - * 6 - then resort to current dir - */ - ptr = getenv ("HOME"); - if(ptr==NULL) - { - ptr = getenv ("USERPROFILE"); - } - if(ptr==NULL) - { - ptr = getenv ("TMPDIR"); - } - if(ptr==NULL) - { - ptr = getenv ("TMP"); - } - - /* now choose filename: - * 1 - if only one scanner, name of the model - * 2 - if several scanners of the same model, use device name, - * replacing special chars - */ - count=0; - /* count models of the same names if several scanners attached */ - if(s_devices->size() > 1) { - for (const auto& dev : *s_devices) { - if (dev.model->model_id == currdev->model->model_id) { - count++; - } - } - } - if(count>1) - { - snprintf(filename,sizeof(filename),"%s.cal",currdev->file_name); - for(i=0;imodel->name); - } - - /* build final final name : store dir + filename */ - if (NULL == ptr) - { - snprintf (tmpstr, PATH_MAX, "%s", filename); - } - else - { -#ifdef HAVE_MKDIR - /* make sure .sane directory exists in existing store dir */ - snprintf (tmpstr, PATH_MAX, "%s%c.sane", ptr, PATH_SEP); - mkdir(tmpstr,0700); -#endif - snprintf (tmpstr, PATH_MAX, "%s%c.sane%c%s", ptr, PATH_SEP, PATH_SEP, filename); - } - - DBG(DBG_info, "%s: calibration filename >%s<\n", __func__, tmpstr); - - return tmpstr; -} - - -static SANE_Status -init_options (Genesys_Scanner * s) -{ - SANE_Int option, count, min_dpi; - SANE_Status status = SANE_STATUS_GOOD; - SANE_Word *dpi_list; - Genesys_Model *model = s->dev->model; - SANE_Range *x_range, *y_range; - - DBGSTART; - - memset (s->opt, 0, sizeof (s->opt)); - - for (option = 0; option < NUM_OPTIONS; ++option) - { - s->opt[option].size = sizeof (SANE_Word); - s->opt[option].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - } - s->opt[OPT_NUM_OPTS].name = SANE_NAME_NUM_OPTIONS; - s->opt[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS; - s->opt[OPT_NUM_OPTS].desc = SANE_DESC_NUM_OPTIONS; - s->opt[OPT_NUM_OPTS].type = SANE_TYPE_INT; - s->opt[OPT_NUM_OPTS].cap = SANE_CAP_SOFT_DETECT; - - /* "Mode" group: */ - s->opt[OPT_MODE_GROUP].title = SANE_I18N ("Scan Mode"); - s->opt[OPT_MODE_GROUP].desc = ""; - s->opt[OPT_MODE_GROUP].type = SANE_TYPE_GROUP; - s->opt[OPT_MODE_GROUP].size = 0; - s->opt[OPT_MODE_GROUP].cap = 0; - s->opt[OPT_MODE_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - - /* scan mode */ - s->opt[OPT_MODE].name = SANE_NAME_SCAN_MODE; - s->opt[OPT_MODE].title = SANE_TITLE_SCAN_MODE; - s->opt[OPT_MODE].desc = SANE_DESC_SCAN_MODE; - s->opt[OPT_MODE].type = SANE_TYPE_STRING; - s->opt[OPT_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST; - s->opt[OPT_MODE].size = max_string_size (mode_list); - s->opt[OPT_MODE].constraint.string_list = mode_list; - s->mode = SANE_VALUE_SCAN_MODE_GRAY; - - /* scan source */ - s->opt[OPT_SOURCE].name = SANE_NAME_SCAN_SOURCE; - s->opt[OPT_SOURCE].title = SANE_TITLE_SCAN_SOURCE; - s->opt[OPT_SOURCE].desc = SANE_DESC_SCAN_SOURCE; - s->opt[OPT_SOURCE].type = SANE_TYPE_STRING; - s->opt[OPT_SOURCE].constraint_type = SANE_CONSTRAINT_STRING_LIST; - s->opt[OPT_SOURCE].size = max_string_size (source_list); - s->opt[OPT_SOURCE].constraint.string_list = source_list; - s->source = STR_FLATBED; - if (model->flags & GENESYS_FLAG_HAS_UTA) - { - ENABLE (OPT_SOURCE); - if (model->flags & GENESYS_FLAG_HAS_UTA_INFRARED) { - s->opt[OPT_SOURCE].size = max_string_size(source_list_infrared); - s->opt[OPT_SOURCE].constraint.string_list = source_list_infrared; - } - } - else - { - DISABLE (OPT_SOURCE); - } - - /* preview */ - s->opt[OPT_PREVIEW].name = SANE_NAME_PREVIEW; - s->opt[OPT_PREVIEW].title = SANE_TITLE_PREVIEW; - s->opt[OPT_PREVIEW].desc = SANE_DESC_PREVIEW; - s->opt[OPT_PREVIEW].type = SANE_TYPE_BOOL; - s->opt[OPT_PREVIEW].unit = SANE_UNIT_NONE; - s->opt[OPT_PREVIEW].constraint_type = SANE_CONSTRAINT_NONE; - s->preview = false; - - /* bit depth */ - s->opt[OPT_BIT_DEPTH].name = SANE_NAME_BIT_DEPTH; - s->opt[OPT_BIT_DEPTH].title = SANE_TITLE_BIT_DEPTH; - s->opt[OPT_BIT_DEPTH].desc = SANE_DESC_BIT_DEPTH; - s->opt[OPT_BIT_DEPTH].type = SANE_TYPE_INT; - s->opt[OPT_BIT_DEPTH].constraint_type = SANE_CONSTRAINT_WORD_LIST; - s->opt[OPT_BIT_DEPTH].size = sizeof (SANE_Word); - s->opt[OPT_BIT_DEPTH].constraint.word_list = 0; - s->opt[OPT_BIT_DEPTH].constraint.word_list = s->bpp_list; - create_bpp_list (s, model->bpp_gray_values); - s->bit_depth = 8; - if (s->opt[OPT_BIT_DEPTH].constraint.word_list[0] < 2) - DISABLE (OPT_BIT_DEPTH); - - /* resolution */ - min_dpi=200000; - for (count = 0; model->xdpi_values[count] != 0; count++) - { - if(model->xdpi_values[count]xdpi_values[count]; - } - } - dpi_list = (SANE_Word*) malloc((count + 1) * sizeof(SANE_Word)); - if (!dpi_list) - return SANE_STATUS_NO_MEM; - dpi_list[0] = count; - for (count = 0; model->xdpi_values[count] != 0; count++) - dpi_list[count + 1] = model->xdpi_values[count]; - s->opt[OPT_RESOLUTION].name = SANE_NAME_SCAN_RESOLUTION; - s->opt[OPT_RESOLUTION].title = SANE_TITLE_SCAN_RESOLUTION; - s->opt[OPT_RESOLUTION].desc = SANE_DESC_SCAN_RESOLUTION; - s->opt[OPT_RESOLUTION].type = SANE_TYPE_INT; - s->opt[OPT_RESOLUTION].unit = SANE_UNIT_DPI; - s->opt[OPT_RESOLUTION].constraint_type = SANE_CONSTRAINT_WORD_LIST; - s->opt[OPT_RESOLUTION].constraint.word_list = dpi_list; - s->resolution = min_dpi; - - /* "Geometry" group: */ - s->opt[OPT_GEOMETRY_GROUP].title = SANE_I18N ("Geometry"); - s->opt[OPT_GEOMETRY_GROUP].desc = ""; - s->opt[OPT_GEOMETRY_GROUP].type = SANE_TYPE_GROUP; - s->opt[OPT_GEOMETRY_GROUP].cap = SANE_CAP_ADVANCED; - s->opt[OPT_GEOMETRY_GROUP].size = 0; - s->opt[OPT_GEOMETRY_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - - x_range=create_range(model->x_size); - if(x_range==NULL) - { - return SANE_STATUS_NO_MEM; - } - - y_range=create_range(model->y_size); - if(y_range==NULL) - { - return SANE_STATUS_NO_MEM; - } - - /* top-left x */ - s->opt[OPT_TL_X].name = SANE_NAME_SCAN_TL_X; - s->opt[OPT_TL_X].title = SANE_TITLE_SCAN_TL_X; - s->opt[OPT_TL_X].desc = SANE_DESC_SCAN_TL_X; - s->opt[OPT_TL_X].type = SANE_TYPE_FIXED; - s->opt[OPT_TL_X].unit = SANE_UNIT_MM; - s->opt[OPT_TL_X].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_TL_X].constraint.range = x_range; - s->pos_top_left_x = 0; - - /* top-left y */ - s->opt[OPT_TL_Y].name = SANE_NAME_SCAN_TL_Y; - s->opt[OPT_TL_Y].title = SANE_TITLE_SCAN_TL_Y; - s->opt[OPT_TL_Y].desc = SANE_DESC_SCAN_TL_Y; - s->opt[OPT_TL_Y].type = SANE_TYPE_FIXED; - s->opt[OPT_TL_Y].unit = SANE_UNIT_MM; - s->opt[OPT_TL_Y].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_TL_Y].constraint.range = y_range; - s->pos_top_left_y = 0; - - /* bottom-right x */ - s->opt[OPT_BR_X].name = SANE_NAME_SCAN_BR_X; - s->opt[OPT_BR_X].title = SANE_TITLE_SCAN_BR_X; - s->opt[OPT_BR_X].desc = SANE_DESC_SCAN_BR_X; - s->opt[OPT_BR_X].type = SANE_TYPE_FIXED; - s->opt[OPT_BR_X].unit = SANE_UNIT_MM; - s->opt[OPT_BR_X].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_BR_X].constraint.range = x_range; - s->pos_bottom_right_x = x_range->max; - - /* bottom-right y */ - s->opt[OPT_BR_Y].name = SANE_NAME_SCAN_BR_Y; - s->opt[OPT_BR_Y].title = SANE_TITLE_SCAN_BR_Y; - s->opt[OPT_BR_Y].desc = SANE_DESC_SCAN_BR_Y; - s->opt[OPT_BR_Y].type = SANE_TYPE_FIXED; - s->opt[OPT_BR_Y].unit = SANE_UNIT_MM; - s->opt[OPT_BR_Y].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_BR_Y].constraint.range = y_range; - s->pos_bottom_right_y = y_range->max; - - /* "Enhancement" group: */ - s->opt[OPT_ENHANCEMENT_GROUP].title = SANE_I18N ("Enhancement"); - s->opt[OPT_ENHANCEMENT_GROUP].desc = ""; - s->opt[OPT_ENHANCEMENT_GROUP].type = SANE_TYPE_GROUP; - s->opt[OPT_ENHANCEMENT_GROUP].cap = SANE_CAP_ADVANCED; - s->opt[OPT_ENHANCEMENT_GROUP].size = 0; - s->opt[OPT_ENHANCEMENT_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - - /* custom-gamma table */ - s->opt[OPT_CUSTOM_GAMMA].name = SANE_NAME_CUSTOM_GAMMA; - s->opt[OPT_CUSTOM_GAMMA].title = SANE_TITLE_CUSTOM_GAMMA; - s->opt[OPT_CUSTOM_GAMMA].desc = SANE_DESC_CUSTOM_GAMMA; - s->opt[OPT_CUSTOM_GAMMA].type = SANE_TYPE_BOOL; - s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_ADVANCED; - s->custom_gamma = false; - - /* grayscale gamma vector */ - s->opt[OPT_GAMMA_VECTOR].name = SANE_NAME_GAMMA_VECTOR; - s->opt[OPT_GAMMA_VECTOR].title = SANE_TITLE_GAMMA_VECTOR; - s->opt[OPT_GAMMA_VECTOR].desc = SANE_DESC_GAMMA_VECTOR; - init_gamma_vector_option (s, OPT_GAMMA_VECTOR); - - /* red gamma vector */ - s->opt[OPT_GAMMA_VECTOR_R].name = SANE_NAME_GAMMA_VECTOR_R; - s->opt[OPT_GAMMA_VECTOR_R].title = SANE_TITLE_GAMMA_VECTOR_R; - s->opt[OPT_GAMMA_VECTOR_R].desc = SANE_DESC_GAMMA_VECTOR_R; - init_gamma_vector_option (s, OPT_GAMMA_VECTOR_R); - - /* green gamma vector */ - s->opt[OPT_GAMMA_VECTOR_G].name = SANE_NAME_GAMMA_VECTOR_G; - s->opt[OPT_GAMMA_VECTOR_G].title = SANE_TITLE_GAMMA_VECTOR_G; - s->opt[OPT_GAMMA_VECTOR_G].desc = SANE_DESC_GAMMA_VECTOR_G; - init_gamma_vector_option (s, OPT_GAMMA_VECTOR_G); - - /* blue gamma vector */ - s->opt[OPT_GAMMA_VECTOR_B].name = SANE_NAME_GAMMA_VECTOR_B; - s->opt[OPT_GAMMA_VECTOR_B].title = SANE_TITLE_GAMMA_VECTOR_B; - s->opt[OPT_GAMMA_VECTOR_B].desc = SANE_DESC_GAMMA_VECTOR_B; - init_gamma_vector_option (s, OPT_GAMMA_VECTOR_B); - - /* currently, there are only gamma table options in this group, - * so if the scanner doesn't support gamma table, disable the - * whole group */ - if (!(model->flags & GENESYS_FLAG_CUSTOM_GAMMA)) - { - s->opt[OPT_ENHANCEMENT_GROUP].cap |= SANE_CAP_INACTIVE; - s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_INACTIVE; - DBG(DBG_info, "%s: custom gamma disabled\n", __func__); - } - - /* software base image enhancements, these are consuming as many - * memory than used by the full scanned image and may fail at high - * resolution - */ - /* software deskew */ - s->opt[OPT_SWDESKEW].name = "swdeskew"; - s->opt[OPT_SWDESKEW].title = "Software deskew"; - s->opt[OPT_SWDESKEW].desc = "Request backend to rotate skewed pages digitally"; - s->opt[OPT_SWDESKEW].type = SANE_TYPE_BOOL; - s->opt[OPT_SWDESKEW].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; - s->swdeskew = false; - - /* software deskew */ - s->opt[OPT_SWDESPECK].name = "swdespeck"; - s->opt[OPT_SWDESPECK].title = "Software despeck"; - s->opt[OPT_SWDESPECK].desc = "Request backend to remove lone dots digitally"; - s->opt[OPT_SWDESPECK].type = SANE_TYPE_BOOL; - s->opt[OPT_SWDESPECK].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; - s->swdespeck = false; - - /* software despeckle radius */ - s->opt[OPT_DESPECK].name = "despeck"; - s->opt[OPT_DESPECK].title = "Software despeckle diameter"; - s->opt[OPT_DESPECK].desc = "Maximum diameter of lone dots to remove from scan"; - s->opt[OPT_DESPECK].type = SANE_TYPE_INT; - s->opt[OPT_DESPECK].unit = SANE_UNIT_NONE; - s->opt[OPT_DESPECK].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_DESPECK].constraint.range = &swdespeck_range; - s->opt[OPT_DESPECK].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED | SANE_CAP_INACTIVE; - s->despeck = 1; - - /* crop by software */ - s->opt[OPT_SWCROP].name = "swcrop"; - s->opt[OPT_SWCROP].title = SANE_I18N ("Software crop"); - s->opt[OPT_SWCROP].desc = SANE_I18N ("Request backend to remove border from pages digitally"); - s->opt[OPT_SWCROP].type = SANE_TYPE_BOOL; - s->opt[OPT_SWCROP].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; - s->opt[OPT_SWCROP].unit = SANE_UNIT_NONE; - s->swcrop = false; - - /* Software blank page skip */ - s->opt[OPT_SWSKIP].name = "swskip"; - s->opt[OPT_SWSKIP].title = SANE_I18N ("Software blank skip percentage"); - s->opt[OPT_SWSKIP].desc = SANE_I18N("Request driver to discard pages with low numbers of dark pixels"); - s->opt[OPT_SWSKIP].type = SANE_TYPE_FIXED; - s->opt[OPT_SWSKIP].unit = SANE_UNIT_PERCENT; - s->opt[OPT_SWSKIP].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_SWSKIP].constraint.range = &(percentage_range); - s->opt[OPT_SWSKIP].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; - s->swskip = 0; // disable by default - - /* Software Derotate */ - s->opt[OPT_SWDEROTATE].name = "swderotate"; - s->opt[OPT_SWDEROTATE].title = SANE_I18N ("Software derotate"); - s->opt[OPT_SWDEROTATE].desc = SANE_I18N("Request driver to detect and correct 90 degree image rotation"); - s->opt[OPT_SWDEROTATE].type = SANE_TYPE_BOOL; - s->opt[OPT_SWDEROTATE].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; - s->opt[OPT_SWDEROTATE].unit = SANE_UNIT_NONE; - s->swderotate = false; - - /* Software brightness */ - s->opt[OPT_BRIGHTNESS].name = SANE_NAME_BRIGHTNESS; - s->opt[OPT_BRIGHTNESS].title = SANE_TITLE_BRIGHTNESS; - s->opt[OPT_BRIGHTNESS].desc = SANE_DESC_BRIGHTNESS; - s->opt[OPT_BRIGHTNESS].type = SANE_TYPE_INT; - s->opt[OPT_BRIGHTNESS].unit = SANE_UNIT_NONE; - s->opt[OPT_BRIGHTNESS].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_BRIGHTNESS].constraint.range = &(enhance_range); - s->opt[OPT_BRIGHTNESS].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - s->brightness = 0; // disable by default - - /* Sowftware contrast */ - s->opt[OPT_CONTRAST].name = SANE_NAME_CONTRAST; - s->opt[OPT_CONTRAST].title = SANE_TITLE_CONTRAST; - s->opt[OPT_CONTRAST].desc = SANE_DESC_CONTRAST; - s->opt[OPT_CONTRAST].type = SANE_TYPE_INT; - s->opt[OPT_CONTRAST].unit = SANE_UNIT_NONE; - s->opt[OPT_CONTRAST].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_CONTRAST].constraint.range = &(enhance_range); - s->opt[OPT_CONTRAST].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; - s->contrast = 0; // disable by default - - /* "Extras" group: */ - s->opt[OPT_EXTRAS_GROUP].title = SANE_I18N ("Extras"); - s->opt[OPT_EXTRAS_GROUP].desc = ""; - s->opt[OPT_EXTRAS_GROUP].type = SANE_TYPE_GROUP; - s->opt[OPT_EXTRAS_GROUP].cap = SANE_CAP_ADVANCED; - s->opt[OPT_EXTRAS_GROUP].size = 0; - s->opt[OPT_EXTRAS_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - - /* BW threshold */ - s->opt[OPT_THRESHOLD].name = SANE_NAME_THRESHOLD; - s->opt[OPT_THRESHOLD].title = SANE_TITLE_THRESHOLD; - s->opt[OPT_THRESHOLD].desc = SANE_DESC_THRESHOLD; - s->opt[OPT_THRESHOLD].type = SANE_TYPE_FIXED; - s->opt[OPT_THRESHOLD].unit = SANE_UNIT_PERCENT; - s->opt[OPT_THRESHOLD].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_THRESHOLD].constraint.range = &percentage_range; - s->threshold = SANE_FIX(50); - - /* BW threshold curve */ - s->opt[OPT_THRESHOLD_CURVE].name = "threshold-curve"; - s->opt[OPT_THRESHOLD_CURVE].title = SANE_I18N ("Threshold curve"); - s->opt[OPT_THRESHOLD_CURVE].desc = SANE_I18N ("Dynamic threshold curve, from light to dark, normally 50-65"); - s->opt[OPT_THRESHOLD_CURVE].type = SANE_TYPE_INT; - s->opt[OPT_THRESHOLD_CURVE].unit = SANE_UNIT_NONE; - s->opt[OPT_THRESHOLD_CURVE].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_THRESHOLD_CURVE].constraint.range = &threshold_curve_range; - s->threshold_curve = 50; - - /* dynamic linart */ - s->opt[OPT_DISABLE_DYNAMIC_LINEART].name = "disable-dynamic-lineart"; - s->opt[OPT_DISABLE_DYNAMIC_LINEART].title = SANE_I18N ("Disable dynamic lineart"); - s->opt[OPT_DISABLE_DYNAMIC_LINEART].desc = - SANE_I18N ("Disable use of a software adaptive algorithm to generate lineart relying instead on hardware lineart."); - s->opt[OPT_DISABLE_DYNAMIC_LINEART].type = SANE_TYPE_BOOL; - s->opt[OPT_DISABLE_DYNAMIC_LINEART].unit = SANE_UNIT_NONE; - s->opt[OPT_DISABLE_DYNAMIC_LINEART].constraint_type = SANE_CONSTRAINT_NONE; - s->disable_dynamic_lineart = false; - - /* fastmod is required for hw lineart to work */ - if ((s->dev->model->asic_type == GENESYS_GL646) - &&(s->dev->model->motor_type != MOTOR_XP200)) - { - s->opt[OPT_DISABLE_DYNAMIC_LINEART].cap = SANE_CAP_INACTIVE; - } - - /* disable_interpolation */ - s->opt[OPT_DISABLE_INTERPOLATION].name = "disable-interpolation"; - s->opt[OPT_DISABLE_INTERPOLATION].title = - SANE_I18N ("Disable interpolation"); - s->opt[OPT_DISABLE_INTERPOLATION].desc = - SANE_I18N - ("When using high resolutions where the horizontal resolution is smaller " - "than the vertical resolution this disables horizontal interpolation."); - s->opt[OPT_DISABLE_INTERPOLATION].type = SANE_TYPE_BOOL; - s->opt[OPT_DISABLE_INTERPOLATION].unit = SANE_UNIT_NONE; - s->opt[OPT_DISABLE_INTERPOLATION].constraint_type = SANE_CONSTRAINT_NONE; - s->disable_interpolation = false; - - /* color filter */ - s->opt[OPT_COLOR_FILTER].name = "color-filter"; - s->opt[OPT_COLOR_FILTER].title = SANE_I18N ("Color filter"); - s->opt[OPT_COLOR_FILTER].desc = - SANE_I18N - ("When using gray or lineart this option selects the used color."); - s->opt[OPT_COLOR_FILTER].type = SANE_TYPE_STRING; - s->opt[OPT_COLOR_FILTER].constraint_type = SANE_CONSTRAINT_STRING_LIST; - /* true gray not yet supported for GL847 and GL124 scanners */ - if(!model->is_cis || model->asic_type==GENESYS_GL847 || model->asic_type==GENESYS_GL124) - { - s->opt[OPT_COLOR_FILTER].size = max_string_size (color_filter_list); - s->opt[OPT_COLOR_FILTER].constraint.string_list = color_filter_list; - s->color_filter = s->opt[OPT_COLOR_FILTER].constraint.string_list[1]; - } - else - { - s->opt[OPT_COLOR_FILTER].size = max_string_size (cis_color_filter_list); - s->opt[OPT_COLOR_FILTER].constraint.string_list = cis_color_filter_list; - /* default to "None" ie true gray */ - s->color_filter = s->opt[OPT_COLOR_FILTER].constraint.string_list[3]; - } - - /* no support for color filter for cis+gl646 scanners */ - if (model->asic_type == GENESYS_GL646 && model->is_cis) - { - DISABLE (OPT_COLOR_FILTER); - } - - /* calibration store file name */ - s->opt[OPT_CALIBRATION_FILE].name = "calibration-file"; - s->opt[OPT_CALIBRATION_FILE].title = SANE_I18N ("Calibration file"); - s->opt[OPT_CALIBRATION_FILE].desc = SANE_I18N ("Specify the calibration file to use"); - s->opt[OPT_CALIBRATION_FILE].type = SANE_TYPE_STRING; - s->opt[OPT_CALIBRATION_FILE].unit = SANE_UNIT_NONE; - s->opt[OPT_CALIBRATION_FILE].size = PATH_MAX; - s->opt[OPT_CALIBRATION_FILE].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED; - s->opt[OPT_CALIBRATION_FILE].constraint_type = SANE_CONSTRAINT_NONE; - s->calibration_file.clear(); - /* disable option if ran as root */ -#ifdef HAVE_GETUID - if(geteuid()==0) - { - DISABLE (OPT_CALIBRATION_FILE); - } -#endif - - /* expiration time for calibration cache entries */ - s->opt[OPT_EXPIRATION_TIME].name = "expiration-time"; - s->opt[OPT_EXPIRATION_TIME].title = SANE_I18N ("Calibration cache expiration time"); - s->opt[OPT_EXPIRATION_TIME].desc = SANE_I18N ("Time (in minutes) before a cached calibration expires. " - "A value of 0 means cache is not used. A negative value means cache never expires."); - s->opt[OPT_EXPIRATION_TIME].type = SANE_TYPE_INT; - s->opt[OPT_EXPIRATION_TIME].unit = SANE_UNIT_NONE; - s->opt[OPT_EXPIRATION_TIME].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_EXPIRATION_TIME].constraint.range = &expiration_range; - s->expiration_time = 60; // 60 minutes by default - - /* Powersave time (turn lamp off) */ - s->opt[OPT_LAMP_OFF_TIME].name = "lamp-off-time"; - s->opt[OPT_LAMP_OFF_TIME].title = SANE_I18N ("Lamp off time"); - s->opt[OPT_LAMP_OFF_TIME].desc = - SANE_I18N - ("The lamp will be turned off after the given time (in minutes). " - "A value of 0 means, that the lamp won't be turned off."); - s->opt[OPT_LAMP_OFF_TIME].type = SANE_TYPE_INT; - s->opt[OPT_LAMP_OFF_TIME].unit = SANE_UNIT_NONE; - s->opt[OPT_LAMP_OFF_TIME].constraint_type = SANE_CONSTRAINT_RANGE; - s->opt[OPT_LAMP_OFF_TIME].constraint.range = &time_range; - s->lamp_off_time = 15; // 15 minutes - - /* turn lamp off during scan */ - s->opt[OPT_LAMP_OFF].name = "lamp-off-scan"; - s->opt[OPT_LAMP_OFF].title = SANE_I18N ("Lamp off during scan"); - s->opt[OPT_LAMP_OFF].desc = SANE_I18N ("The lamp will be turned off during scan. "); - s->opt[OPT_LAMP_OFF].type = SANE_TYPE_BOOL; - s->opt[OPT_LAMP_OFF].unit = SANE_UNIT_NONE; - s->opt[OPT_LAMP_OFF].constraint_type = SANE_CONSTRAINT_NONE; - s->lamp_off = false; - - s->opt[OPT_SENSOR_GROUP].title = SANE_TITLE_SENSORS; - s->opt[OPT_SENSOR_GROUP].desc = SANE_DESC_SENSORS; - s->opt[OPT_SENSOR_GROUP].type = SANE_TYPE_GROUP; - s->opt[OPT_SENSOR_GROUP].cap = SANE_CAP_ADVANCED; - s->opt[OPT_SENSOR_GROUP].size = 0; - s->opt[OPT_SENSOR_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - - s->opt[OPT_SCAN_SW].name = SANE_NAME_SCAN; - s->opt[OPT_SCAN_SW].title = SANE_TITLE_SCAN; - s->opt[OPT_SCAN_SW].desc = SANE_DESC_SCAN; - s->opt[OPT_SCAN_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_SCAN_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_SCAN_SW) - s->opt[OPT_SCAN_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_SCAN_SW].cap = SANE_CAP_INACTIVE; - - /* SANE_NAME_FILE is not for buttons */ - s->opt[OPT_FILE_SW].name = "file"; - s->opt[OPT_FILE_SW].title = SANE_I18N ("File button"); - s->opt[OPT_FILE_SW].desc = SANE_I18N ("File button"); - s->opt[OPT_FILE_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_FILE_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_FILE_SW) - s->opt[OPT_FILE_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_FILE_SW].cap = SANE_CAP_INACTIVE; - - s->opt[OPT_EMAIL_SW].name = SANE_NAME_EMAIL; - s->opt[OPT_EMAIL_SW].title = SANE_TITLE_EMAIL; - s->opt[OPT_EMAIL_SW].desc = SANE_DESC_EMAIL; - s->opt[OPT_EMAIL_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_EMAIL_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_EMAIL_SW) - s->opt[OPT_EMAIL_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_EMAIL_SW].cap = SANE_CAP_INACTIVE; - - s->opt[OPT_COPY_SW].name = SANE_NAME_COPY; - s->opt[OPT_COPY_SW].title = SANE_TITLE_COPY; - s->opt[OPT_COPY_SW].desc = SANE_DESC_COPY; - s->opt[OPT_COPY_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_COPY_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_COPY_SW) - s->opt[OPT_COPY_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_COPY_SW].cap = SANE_CAP_INACTIVE; - - s->opt[OPT_PAGE_LOADED_SW].name = SANE_NAME_PAGE_LOADED; - s->opt[OPT_PAGE_LOADED_SW].title = SANE_TITLE_PAGE_LOADED; - s->opt[OPT_PAGE_LOADED_SW].desc = SANE_DESC_PAGE_LOADED; - s->opt[OPT_PAGE_LOADED_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_PAGE_LOADED_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_PAGE_LOADED_SW) - s->opt[OPT_PAGE_LOADED_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_PAGE_LOADED_SW].cap = SANE_CAP_INACTIVE; - - /* OCR button */ - s->opt[OPT_OCR_SW].name = "ocr"; - s->opt[OPT_OCR_SW].title = SANE_I18N ("OCR button"); - s->opt[OPT_OCR_SW].desc = SANE_I18N ("OCR button"); - s->opt[OPT_OCR_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_OCR_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_OCR_SW) - s->opt[OPT_OCR_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_OCR_SW].cap = SANE_CAP_INACTIVE; - - /* power button */ - s->opt[OPT_POWER_SW].name = "power"; - s->opt[OPT_POWER_SW].title = SANE_I18N ("Power button"); - s->opt[OPT_POWER_SW].desc = SANE_I18N ("Power button"); - s->opt[OPT_POWER_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_POWER_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_POWER_SW) - s->opt[OPT_POWER_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_POWER_SW].cap = SANE_CAP_INACTIVE; - - /* extra button */ - s->opt[OPT_EXTRA_SW].name = "extra"; - s->opt[OPT_EXTRA_SW].title = SANE_I18N ("Extra button"); - s->opt[OPT_EXTRA_SW].desc = SANE_I18N ("Extra button"); - s->opt[OPT_EXTRA_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_EXTRA_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_EXTRA_SW) - s->opt[OPT_EXTRA_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_EXTRA_SW].cap = SANE_CAP_INACTIVE; - - /* calibration needed */ - s->opt[OPT_NEED_CALIBRATION_SW].name = "need-calibration"; - s->opt[OPT_NEED_CALIBRATION_SW].title = SANE_I18N ("Need calibration"); - s->opt[OPT_NEED_CALIBRATION_SW].desc = SANE_I18N ("The scanner needs calibration for the current settings"); - s->opt[OPT_NEED_CALIBRATION_SW].type = SANE_TYPE_BOOL; - s->opt[OPT_NEED_CALIBRATION_SW].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_CALIBRATE) - s->opt[OPT_NEED_CALIBRATION_SW].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; - else - s->opt[OPT_NEED_CALIBRATION_SW].cap = SANE_CAP_INACTIVE; - - /* button group */ - s->opt[OPT_BUTTON_GROUP].title = SANE_I18N ("Buttons"); - s->opt[OPT_BUTTON_GROUP].desc = ""; - s->opt[OPT_BUTTON_GROUP].type = SANE_TYPE_GROUP; - s->opt[OPT_BUTTON_GROUP].cap = SANE_CAP_ADVANCED; - s->opt[OPT_BUTTON_GROUP].size = 0; - s->opt[OPT_BUTTON_GROUP].constraint_type = SANE_CONSTRAINT_NONE; - - /* calibrate button */ - s->opt[OPT_CALIBRATE].name = "calibrate"; - s->opt[OPT_CALIBRATE].title = SANE_I18N ("Calibrate"); - s->opt[OPT_CALIBRATE].desc = - SANE_I18N ("Start calibration using special sheet"); - s->opt[OPT_CALIBRATE].type = SANE_TYPE_BUTTON; - s->opt[OPT_CALIBRATE].unit = SANE_UNIT_NONE; - if (model->buttons & GENESYS_HAS_CALIBRATE) - s->opt[OPT_CALIBRATE].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED | - SANE_CAP_AUTOMATIC; - else - s->opt[OPT_CALIBRATE].cap = SANE_CAP_INACTIVE; - - /* clear calibration cache button */ - s->opt[OPT_CLEAR_CALIBRATION].name = "clear-calibration"; - s->opt[OPT_CLEAR_CALIBRATION].title = SANE_I18N ("Clear calibration"); - s->opt[OPT_CLEAR_CALIBRATION].desc = SANE_I18N ("Clear calibration cache"); - s->opt[OPT_CLEAR_CALIBRATION].type = SANE_TYPE_BUTTON; - s->opt[OPT_CLEAR_CALIBRATION].unit = SANE_UNIT_NONE; - s->opt[OPT_CLEAR_CALIBRATION].size = 0; - s->opt[OPT_CLEAR_CALIBRATION].constraint_type = SANE_CONSTRAINT_NONE; - s->opt[OPT_CLEAR_CALIBRATION].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED; - - /* force calibration cache button */ - s->opt[OPT_FORCE_CALIBRATION].name = "force-calibration"; - s->opt[OPT_FORCE_CALIBRATION].title = SANE_I18N("Force calibration"); - s->opt[OPT_FORCE_CALIBRATION].desc = SANE_I18N("Force calibration ignoring all and any calibration caches"); - s->opt[OPT_FORCE_CALIBRATION].type = SANE_TYPE_BUTTON; - s->opt[OPT_FORCE_CALIBRATION].unit = SANE_UNIT_NONE; - s->opt[OPT_FORCE_CALIBRATION].size = 0; - s->opt[OPT_FORCE_CALIBRATION].constraint_type = SANE_CONSTRAINT_NONE; - s->opt[OPT_FORCE_CALIBRATION].cap = - SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED; - - RIE (calc_parameters (s)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Bool present; - -// this function is passed to C API, it must not throw -static SANE_Status -check_present (SANE_String_Const devname) noexcept -{ - present=SANE_TRUE; - DBG(DBG_io, "%s: %s detected.\n", __func__, devname); - return SANE_STATUS_GOOD; -} - -static SANE_Status -attach (SANE_String_Const devname, Genesys_Device ** devp, SANE_Bool may_wait) -{ - DBG_HELPER(dbg); - - Genesys_Device *dev = 0; - unsigned int i; - - - DBG(DBG_proc, "%s: start: devp %s NULL, may_wait = %d\n", __func__, devp ? "!=" : "==", may_wait); - - if (devp) - *devp = 0; - - if (!devname) - { - DBG(DBG_error, "%s: devname == NULL\n", __func__); - return SANE_STATUS_INVAL; - } - - for (auto& dev : *s_devices) { - if (strcmp(dev.file_name, devname) == 0) { - if (devp) - *devp = &dev; - DBG(DBG_info, "%s: device `%s' was already in device list\n", __func__, devname); - return SANE_STATUS_GOOD; - } - } - - DBG(DBG_info, "%s: trying to open device `%s'\n", __func__, devname); - - UsbDevice usb_dev; - - usb_dev.open(devname); - DBG(DBG_info, "%s: device `%s' successfully opened\n", __func__, devname); - - int vendor, product; - usb_dev.get_vendor_product(vendor, product); - - /* KV-SS080 is an auxiliary device which requires a master device to be here */ - if(vendor == 0x04da && product == 0x100f) - { - present=SANE_FALSE; - sanei_usb_find_devices (vendor, 0x1006, check_present); - sanei_usb_find_devices (vendor, 0x1007, check_present); - sanei_usb_find_devices (vendor, 0x1010, check_present); - if (present == SANE_FALSE) { - throw SaneException("master device not present"); - } - } - - bool found_dev = false; - for (i = 0; i < MAX_SCANNERS && genesys_usb_device_list[i].model != 0; i++) - { - if (vendor == genesys_usb_device_list[i].vendor && - product == genesys_usb_device_list[i].product) - { - found_dev = true; - break; - } - } - - if (!found_dev) { - DBG(DBG_error, "%s: vendor 0x%xd product 0x%xd is not supported by this backend\n", __func__, - vendor, product); - return SANE_STATUS_INVAL; - } - - char* new_devname = strdup (devname); - if (!new_devname) { - return SANE_STATUS_NO_MEM; - } - - s_devices->emplace_back(); - dev = &s_devices->back(); - dev->file_name = new_devname; - - dev->model = genesys_usb_device_list[i].model; - dev->vendorId = genesys_usb_device_list[i].vendor; - dev->productId = genesys_usb_device_list[i].product; - dev->usb_mode = 0; /* i.e. unset */ - dev->already_initialized = SANE_FALSE; - - DBG(DBG_info, "%s: found %s flatbed scanner %s at %s\n", __func__, dev->model->vendor, - dev->model->model, dev->file_name); - - if (devp) { - *devp = dev; - } - - usb_dev.close(); - return SANE_STATUS_GOOD; -} - -static SANE_Status -attach_one_device_impl(SANE_String_Const devname) -{ - Genesys_Device *dev; - SANE_Status status = SANE_STATUS_GOOD; - - RIE (attach (devname, &dev, SANE_FALSE)); - - return SANE_STATUS_GOOD; -} - -static SANE_Status attach_one_device(SANE_String_Const devname) -{ - return wrap_exceptions_to_status_code(__func__, [=]() - { - return attach_one_device_impl(devname); - }); -} - -/* configuration framework functions */ - -// this function is passed to C API, it must not throw -static SANE_Status -config_attach_genesys(SANEI_Config __sane_unused__ *config, const char *devname) noexcept -{ - /* the devname has been processed and is ready to be used - * directly. Since the backend is an USB only one, we can - * call sanei_usb_attach_matching_devices straight */ - sanei_usb_attach_matching_devices (devname, attach_one_device); - - return SANE_STATUS_GOOD; -} - -/* probes for scanner to attach to the backend */ -static SANE_Status -probe_genesys_devices (void) -{ - SANEI_Config config; - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - /* set configuration options structure : no option for this backend */ - config.descriptors = NULL; - config.values = NULL; - config.count = 0; - - /* generic configure and attach function */ - status = sanei_configure_attach (GENESYS_CONFIG_FILE, &config, - config_attach_genesys); - - DBG(DBG_info, "%s: %d devices currently attached\n", __func__, (int) s_devices->size()); - - DBGCOMPLETED; - - return status; -} - -/** - * This should be changed if one of the substructures of - Genesys_Calibration_Cache change, but it must be changed if there are - changes that don't change size -- at least for now, as we store most - of Genesys_Calibration_Cache as is. -*/ -static const char* CALIBRATION_IDENT = "sane_genesys"; -static const int CALIBRATION_VERSION = 2; - -bool read_calibration(std::istream& str, Genesys_Device::Calibration& calibration, - const std::string& path) -{ - std::string ident; - serialize(str, ident); - - if (ident != CALIBRATION_IDENT) { - DBG(DBG_info, "%s: Incorrect calibration file '%s' header\n", __func__, path.c_str()); - return false; - } - - size_t version; - serialize(str, version); - - if (version != CALIBRATION_VERSION) { - DBG(DBG_info, "%s: Incorrect calibration file '%s' version\n", __func__, path.c_str()); - return false; - } - - calibration.clear(); - serialize(str, calibration); - return true; -} - -/** - * reads previously cached calibration data - * from file defined in dev->calib_file - */ -static bool sanei_genesys_read_calibration(Genesys_Device::Calibration& calibration, - const std::string& path) -{ - DBG_HELPER(dbg); - - std::ifstream str; - str.open(path); - if (!str.is_open()) { - DBG(DBG_info, "%s: Cannot open %s\n", __func__, path.c_str()); - return false; - } - - return read_calibration(str, calibration, path); -} - -void write_calibration(std::ostream& str, Genesys_Device::Calibration& calibration) -{ - std::string ident = CALIBRATION_IDENT; - serialize(str, ident); - size_t version = CALIBRATION_VERSION; - serialize(str, version); - serialize_newline(str); - serialize(str, calibration); -} - -static void write_calibration(Genesys_Device::Calibration& calibration, const std::string& path) -{ - DBG_HELPER(dbg); - - std::ofstream str; - str.open(path); - if (!str.is_open()) { - throw SaneException("Cannot open calibration for writing"); - } - write_calibration(str, calibration); -} - -/** @brief buffer scanned picture - * In order to allow digital processing, we must be able to put all the - * scanned picture in a buffer. - */ -static SANE_Status -genesys_buffer_image(Genesys_Scanner *s) -{ - SANE_Status status = SANE_STATUS_GOOD; - size_t maximum; /**> maximum bytes size of the scan */ - size_t len; /**> length of scanned data read */ - size_t total; /**> total of butes read */ - size_t size; /**> size of image buffer */ - size_t read_size; /**> size of reads */ - int lines; /** number of lines of the scan */ - Genesys_Device *dev = s->dev; - - /* compute maximum number of lines for the scan */ - if (s->params.lines > 0) - { - lines = s->params.lines; - } - else - { - lines = - (SANE_UNFIX (dev->model->y_size) * dev->settings.yres) / MM_PER_INCH; - } - DBG(DBG_info, "%s: buffering %d lines of %d bytes\n", __func__, lines, - s->params.bytes_per_line); - - /* maximum bytes to read */ - maximum = s->params.bytes_per_line * lines; - if(s->dev->settings.dynamic_lineart==SANE_TRUE) - { - maximum *= 8; - } - - /* initial size of the read buffer */ - size = - ((2048 * 2048) / s->params.bytes_per_line) * s->params.bytes_per_line; - - /* read size */ - read_size = size / 2; - - dev->img_buffer.resize(size); - - /* loop reading data until we reach maximum or EOF */ - total = 0; - while (total < maximum && status != SANE_STATUS_EOF) - { - len = size - maximum; - if (len > read_size) - { - len = read_size; - } - - status = genesys_read_ordered_data(dev, dev->img_buffer.data() + total, &len); - if (status != SANE_STATUS_EOF && status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: %s buffering failed\n", __func__, sane_strstatus(status)); - return status; - } - total += len; - - /* do we need to enlarge read buffer ? */ - if (total + read_size > size && status != SANE_STATUS_EOF) - { - size += read_size; - dev->img_buffer.resize(size); - } - } - - /* since digital processing is going to take place, - * issue head parking command so that the head move while - * computing so we can save time - */ - if (dev->model->is_sheetfed == SANE_FALSE && - dev->parking == SANE_FALSE) - { - dev->model->cmd_set->slow_back_home (dev, dev->model->flags & GENESYS_FLAG_MUST_WAIT); - dev->parking = !(s->dev->model->flags & GENESYS_FLAG_MUST_WAIT); - } - - /* in case of dynamic lineart, we have buffered gray data which - * must be converted to lineart first */ - if(s->dev->settings.dynamic_lineart==SANE_TRUE) - { - total/=8; - std::vector lineart(total); - - genesys_gray_lineart (dev, - dev->img_buffer.data(), - lineart.data(), - dev->settings.pixels, - (total*8)/dev->settings.pixels, - dev->settings.threshold); - dev->img_buffer = lineart; - } - - /* update counters */ - dev->total_bytes_to_read = total; - dev->total_bytes_read = 0; - - /* update params */ - s->params.lines = total / s->params.bytes_per_line; - if (DBG_LEVEL >= DBG_io2) - { - sanei_genesys_write_pnm_file("gl_unprocessed.pnm", dev->img_buffer.data(), s->params.depth, - s->params.format==SANE_FRAME_RGB ? 3 : 1, - s->params.pixels_per_line, s->params.lines); - } - - return SANE_STATUS_GOOD; -} - -/* -------------------------- SANE API functions ------------------------- */ - -SANE_Status -sane_init_impl(SANE_Int * version_code, SANE_Auth_Callback authorize) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG_INIT (); - DBG(DBG_init, "SANE Genesys backend version %d.%d from %s\n", - SANE_CURRENT_MAJOR, V_MINOR, PACKAGE_STRING); -#ifdef HAVE_LIBUSB - DBG(DBG_init, "SANE Genesys backend built with libusb-1.0\n"); -#endif -#ifdef HAVE_LIBUSB_LEGACY - DBG(DBG_init, "SANE Genesys backend built with libusb\n"); -#endif - - if (version_code) - *version_code = SANE_VERSION_CODE (SANE_CURRENT_MAJOR, V_MINOR, 0); - - DBG(DBG_proc, "%s: authorize %s null\n", __func__, authorize ? "!=" : "=="); - - /* init usb use */ - sanei_usb_init (); - - /* init sanei_magic */ - sanei_magic_init(); - - s_scanners.init(); - s_devices.init(); - s_sane_devices.init(); - s_sane_devices_ptrs.init(); - genesys_init_sensor_tables(); - genesys_init_frontend_tables(); - - DBG(DBG_info, "%s: %s endian machine\n", __func__, -#ifdef WORDS_BIGENDIAN - "big" -#else - "little" -#endif - ); - - /* cold-plug case :detection of allready connected scanners */ - status = probe_genesys_devices (); - - DBGCOMPLETED; - - return status; -} - - -extern "C" SANE_Status sane_init(SANE_Int * version_code, SANE_Auth_Callback authorize) -{ - return wrap_exceptions_to_status_code(__func__, [=]() - { - return sane_init_impl(version_code, authorize); - }); -} - -void -sane_exit_impl(void) -{ - DBGSTART; - - sanei_usb_exit(); - - run_functions_at_backend_exit(); - - DBGCOMPLETED; -} - -void sane_exit() -{ - catch_all_exceptions(__func__, [](){ sane_exit_impl(); }); -} - -SANE_Status -sane_get_devices_impl(const SANE_Device *** device_list, SANE_Bool local_only) -{ - DBG(DBG_proc, "%s: start: local_only = %s\n", __func__, - local_only == SANE_TRUE ? "true" : "false"); - - /* hot-plug case : detection of newly connected scanners */ - sanei_usb_scan_devices (); - probe_genesys_devices (); - - s_sane_devices->clear(); - s_sane_devices_ptrs->clear(); - s_sane_devices->reserve(s_devices->size()); - s_sane_devices_ptrs->reserve(s_devices->size() + 1); - - for (auto dev_it = s_devices->begin(); dev_it != s_devices->end();) { - present = SANE_FALSE; - sanei_usb_find_devices(dev_it->vendorId, dev_it->productId, check_present); - if (present) { - s_sane_devices->emplace_back(); - auto& sane_device = s_sane_devices->back(); - sane_device.name = dev_it->file_name; - sane_device.vendor = dev_it->model->vendor; - sane_device.model = dev_it->model->model; - sane_device.type = "flatbed scanner"; - s_sane_devices_ptrs->push_back(&sane_device); - dev_it++; - } else { - dev_it = s_devices->erase(dev_it); - } - } - s_sane_devices_ptrs->push_back(nullptr); - - *((SANE_Device ***)device_list) = s_sane_devices_ptrs->data(); - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -SANE_Status sane_get_devices(const SANE_Device *** device_list, SANE_Bool local_only) -{ - return wrap_exceptions_to_status_code(__func__, [=]() - { - return sane_get_devices_impl(device_list, local_only); - }); -} - -SANE_Status -sane_open_impl(SANE_String_Const devicename, SANE_Handle * handle) -{ - DBG_HELPER(dbg); - Genesys_Device *dev = nullptr; - SANE_Status status = SANE_STATUS_GOOD; - char *tmpstr; - - DBG(DBG_proc, "%s: devicename = `%s')\n", __func__, devicename); - - /* devicename="" or devicename="genesys" are default values that use - * first available device - */ - if (devicename[0] && strcmp ("genesys", devicename) != 0) - { - /* search for the given devicename in the device list */ - for (auto& d : *s_devices) { - if (strcmp(d.file_name, devicename) == 0) { - dev = &d; - break; - } - } - - if (!dev) - { - DBG(DBG_info, "%s: couldn't find `%s' in devlist, trying attach\n", __func__, devicename); - RIE (attach (devicename, &dev, SANE_TRUE)); - } - else - DBG(DBG_info, "%s: found `%s' in devlist\n", __func__, dev->model->name); - } - else - { - // empty devicename or "genesys" -> use first device - if (!s_devices->empty()) { - dev = &s_devices->front(); - devicename = dev->file_name; - DBG(DBG_info, "%s: empty devicename, trying `%s'\n", __func__, devicename); - } - } - - if (!dev) - return SANE_STATUS_INVAL; - - if (dev->model->flags & GENESYS_FLAG_UNTESTED) - { - DBG(DBG_error0, "WARNING: Your scanner is not fully supported or at least \n"); - DBG(DBG_error0, " had only limited testing. Please be careful and \n"); - DBG(DBG_error0, " report any failure/success to \n"); - DBG(DBG_error0, " sane-devel@alioth-lists.debian.net. Please provide as many\n"); - DBG(DBG_error0, " details as possible, e.g. the exact name of your\n"); - DBG(DBG_error0, " scanner and what does (not) work.\n"); - } - - dbg.vstatus("open device '%s'", dev->file_name); - dev->usb_dev.open(dev->file_name); - dbg.clear(); - - - s_scanners->push_back(Genesys_Scanner()); - auto* s = &s_scanners->back(); - - s->dev = dev; - s->scanning = SANE_FALSE; - s->dev->parking = SANE_FALSE; - s->dev->read_active = SANE_FALSE; - s->dev->force_calibration = 0; - s->dev->line_interp = 0; - s->dev->line_count = 0; - s->dev->segnb = 0; - s->dev->binary=NULL; - - *handle = s; - - if (!dev->already_initialized) - sanei_genesys_init_structs (dev); - - RIE (init_options (s)); - - if (sanei_genesys_init_cmd_set (s->dev) != SANE_STATUS_GOOD) - { - DBG(DBG_error0, "This device doesn't have a valid command set!!\n"); - return SANE_STATUS_IO_ERROR; - } - - // FIXME: we create sensor tables for the sensor, this should happen when we know which sensor - // we will select - RIE (dev->model->cmd_set->init(dev)); - - /* some hardware capabilities are detected through sensors */ - RIE (s->dev->model->cmd_set->update_hardware_sensors (s)); - - /* here is the place to fetch a stored calibration cache */ - if (s->dev->force_calibration == 0) - { - tmpstr=calibration_filename(s->dev); - s->calibration_file = tmpstr; - s->dev->calib_file = tmpstr; - DBG(DBG_info, "%s: Calibration filename set to:\n", __func__); - DBG(DBG_info, "%s: >%s<\n", __func__, s->dev->calib_file.c_str()); - free(tmpstr); - - catch_all_exceptions(__func__, [&]() - { - sanei_genesys_read_calibration(s->dev->calibration_cache, s->dev->calib_file); - }); - } - - return SANE_STATUS_GOOD; -} - -SANE_Status sane_open(SANE_String_Const devicename, SANE_Handle* handle) -{ - return wrap_exceptions_to_status_code(__func__, [=]() - { - return sane_open_impl(devicename, handle); - }); -} - -void -sane_close_impl(SANE_Handle handle) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - /* remove handle from list of open handles: */ - auto it = s_scanners->end(); - for (auto it2 = s_scanners->begin(); it2 != s_scanners->end(); it2++) - { - if (&*it2 == handle) { - it = it2; - break; - } - } - if (it == s_scanners->end()) - { - DBG(DBG_error, "%s: invalid handle %p\n", __func__, handle); - return; /* oops, not a handle we know about */ - } - - Genesys_Scanner* s = &*it; - - /* eject document for sheetfed scanners */ - if (s->dev->model->is_sheetfed == SANE_TRUE) - { - s->dev->model->cmd_set->eject_document (s->dev); - } - else - { - /* in case scanner is parking, wait for the head - * to reach home position */ - if(s->dev->parking==SANE_TRUE) - { - status = sanei_genesys_wait_for_home (s->dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to wait for head to park: %s\n", __func__, - sane_strstatus(status)); - } - } - } - - /* enable power saving before leaving */ - status = s->dev->model->cmd_set->save_power (s->dev, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to enable power saving mode: %s\n", __func__, - sane_strstatus(status)); - } - - // here is the place to store calibration cache - if (s->dev->force_calibration == 0) { - catch_all_exceptions(__func__, [&](){ write_calibration(s->dev->calibration_cache, - s->dev->calib_file); }); - } - - s->dev->already_initialized = SANE_FALSE; - - /* for an handful of bytes .. */ - free ((void *)(size_t)s->opt[OPT_RESOLUTION].constraint.word_list); - free ((void *)(size_t)s->opt[OPT_TL_X].constraint.range); - free ((void *)(size_t)s->opt[OPT_TL_Y].constraint.range); - - s->dev->clear(); - - /* LAMP OFF : same register across all the ASICs */ - sanei_genesys_write_register (s->dev, 0x03, 0x00); - - catch_all_exceptions(__func__, [&](){ s->dev->usb_dev.clear_halt(); }); - - // we need this to avoid these ASIC getting stuck in bulk writes - catch_all_exceptions(__func__, [&](){ s->dev->usb_dev.reset(); }); - - // not freeing s->dev because it's in the dev list - catch_all_exceptions(__func__, [&](){ s->dev->usb_dev.close(); }); - - s_scanners->erase(it); - - DBGCOMPLETED; -} - -void sane_close(SANE_Handle handle) -{ - catch_all_exceptions(__func__, [=]() - { - sane_close_impl(handle); - }); -} - -const SANE_Option_Descriptor * -sane_get_option_descriptor_impl(SANE_Handle handle, SANE_Int option) -{ - Genesys_Scanner *s = (Genesys_Scanner*) handle; - - if ((unsigned) option >= NUM_OPTIONS) - return 0; - DBG(DBG_io2, "%s: option = %s (%d)\n", __func__, s->opt[option].name, option); - return s->opt + option; -} - - -const SANE_Option_Descriptor * -sane_get_option_descriptor(SANE_Handle handle, SANE_Int option) -{ - const SANE_Option_Descriptor* ret = NULL; - catch_all_exceptions(__func__, [&]() - { - ret = sane_get_option_descriptor_impl(handle, option); - }); - return ret; -} - -/* gets an option , called by sane_control_option */ -static SANE_Status -get_option_value (Genesys_Scanner * s, int option, void *val) -{ - unsigned int i; - SANE_Word* table = nullptr; - std::vector gamma_table; - unsigned option_size = 0; - SANE_Status status = SANE_STATUS_GOOD; - - // FIXME: we should pick correct sensor here - const Genesys_Sensor& sensor = sanei_genesys_find_sensor_any(s->dev); - - switch (option) - { - /* geometry */ - case OPT_TL_X: - *reinterpret_cast(val) = s->pos_top_left_x; - break; - case OPT_TL_Y: - *reinterpret_cast(val) = s->pos_top_left_y; - break; - case OPT_BR_X: - *reinterpret_cast(val) = s->pos_bottom_right_x; - break; - case OPT_BR_Y: - *reinterpret_cast(val) = s->pos_bottom_right_y; - break; - /* word options: */ - case OPT_NUM_OPTS: - *reinterpret_cast(val) = NUM_OPTIONS; - break; - case OPT_RESOLUTION: - *reinterpret_cast(val) = s->resolution; - break; - case OPT_BIT_DEPTH: - *reinterpret_cast(val) = s->bit_depth; - break; - case OPT_PREVIEW: - *reinterpret_cast(val) = s->preview; - break; - case OPT_THRESHOLD: - *reinterpret_cast(val) = s->threshold; - break; - case OPT_THRESHOLD_CURVE: - *reinterpret_cast(val) = s->threshold_curve; - break; - case OPT_DISABLE_DYNAMIC_LINEART: - *reinterpret_cast(val) = s->disable_dynamic_lineart; - break; - case OPT_DISABLE_INTERPOLATION: - *reinterpret_cast(val) = s->disable_interpolation; - break; - case OPT_LAMP_OFF: - *reinterpret_cast(val) = s->lamp_off; - break; - case OPT_LAMP_OFF_TIME: - *reinterpret_cast(val) = s->lamp_off_time; - break; - case OPT_SWDESKEW: - *reinterpret_cast(val) = s->swdeskew; - break; - case OPT_SWCROP: - *reinterpret_cast(val) = s->swcrop; - break; - case OPT_SWDESPECK: - *reinterpret_cast(val) = s->swdespeck; - break; - case OPT_SWDEROTATE: - *reinterpret_cast(val) = s->swderotate; - break; - case OPT_SWSKIP: - *reinterpret_cast(val) = s->swskip; - break; - case OPT_DESPECK: - *reinterpret_cast(val) = s->despeck; - break; - case OPT_CONTRAST: - *reinterpret_cast(val) = s->contrast; - break; - case OPT_BRIGHTNESS: - *reinterpret_cast(val) = s->brightness; - break; - case OPT_EXPIRATION_TIME: - *reinterpret_cast(val) = s->expiration_time; - break; - case OPT_CUSTOM_GAMMA: - *reinterpret_cast(val) = s->custom_gamma; - break; - - /* string options: */ - case OPT_MODE: - std::strcpy(reinterpret_cast(val), s->mode.c_str()); - break; - case OPT_COLOR_FILTER: - std::strcpy(reinterpret_cast(val), s->color_filter.c_str()); - break; - case OPT_CALIBRATION_FILE: - std::strcpy(reinterpret_cast(val), s->calibration_file.c_str()); - break; - case OPT_SOURCE: - std::strcpy(reinterpret_cast(val), s->source.c_str()); - break; - - /* word array options */ - case OPT_GAMMA_VECTOR: - table = (SANE_Word *) val; - if (s->color_filter == "Red") { - gamma_table = get_gamma_table(s->dev, sensor, GENESYS_RED); - } else if (s->color_filter == "Blue") { - gamma_table = get_gamma_table(s->dev, sensor, GENESYS_BLUE); - } else { - gamma_table = get_gamma_table(s->dev, sensor, GENESYS_GREEN); - } - option_size = s->opt[option].size / sizeof (SANE_Word); - if (gamma_table.size() != option_size) { - throw std::runtime_error("The size of the gamma tables does not match"); - } - for (i = 0; i < option_size; i++) { - table[i] = gamma_table[i]; - } - break; - case OPT_GAMMA_VECTOR_R: - table = (SANE_Word *) val; - gamma_table = get_gamma_table(s->dev, sensor, GENESYS_RED); - option_size = s->opt[option].size / sizeof (SANE_Word); - if (gamma_table.size() != option_size) { - throw std::runtime_error("The size of the gamma tables does not match"); - } - for (i = 0; i < option_size; i++) { - table[i] = gamma_table[i]; - } - break; - case OPT_GAMMA_VECTOR_G: - table = (SANE_Word *) val; - gamma_table = get_gamma_table(s->dev, sensor, GENESYS_GREEN); - option_size = s->opt[option].size / sizeof (SANE_Word); - if (gamma_table.size() != option_size) { - throw std::runtime_error("The size of the gamma tables does not match"); - } - for (i = 0; i < option_size; i++) { - table[i] = gamma_table[i]; - } - break; - case OPT_GAMMA_VECTOR_B: - table = (SANE_Word *) val; - gamma_table = get_gamma_table(s->dev, sensor, GENESYS_BLUE); - option_size = s->opt[option].size / sizeof (SANE_Word); - if (gamma_table.size() != option_size) { - throw std::runtime_error("The size of the gamma tables does not match"); - } - for (i = 0; i < option_size; i++) { - table[i] = gamma_table[i]; - } - break; - /* sensors */ - case OPT_SCAN_SW: - case OPT_FILE_SW: - case OPT_EMAIL_SW: - case OPT_COPY_SW: - case OPT_PAGE_LOADED_SW: - case OPT_OCR_SW: - case OPT_POWER_SW: - case OPT_EXTRA_SW: - RIE (s->dev->model->cmd_set->update_hardware_sensors (s)); - *(SANE_Bool *) val = s->buttons[genesys_option_to_button(option)].read(); - break; - case OPT_NEED_CALIBRATION_SW: - /* scanner needs calibration for current mode unless a matching - * calibration cache is found */ - *(SANE_Bool *) val = SANE_TRUE; - for (auto& cache : s->dev->calibration_cache) - { - if (s->dev->model->cmd_set->is_compatible_calibration(s->dev, sensor, &cache, SANE_FALSE)) - { - *(SANE_Bool *) val = SANE_FALSE; - } - } - break; - default: - DBG(DBG_warn, "%s: can't get unknown option %d\n", __func__, option); - } - return status; -} - -/** @brief set calibration file value - * Set calibration file value. Load new cache values from file if it exists, - * else creates the file*/ -static void set_calibration_value(Genesys_Scanner* s, const char* val) -{ - DBG_HELPER(dbg); - - std::string new_calib_path = val; - Genesys_Device::Calibration new_calibration; - - bool is_calib_success = false; - catch_all_exceptions(__func__, [&]() - { - is_calib_success = sanei_genesys_read_calibration(new_calibration, new_calib_path); - }); - - if (!is_calib_success) { - return; - } - - s->dev->calibration_cache = std::move(new_calibration); - s->dev->calib_file = new_calib_path; - s->calibration_file = new_calib_path; - DBG(DBG_info, "%s: Calibration filename set to '%s':\n", __func__, new_calib_path.c_str()); -} - -/* sets an option , called by sane_control_option */ -static SANE_Status -set_option_value (Genesys_Scanner * s, int option, void *val, - SANE_Int * myinfo) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Word *table; - unsigned int i; - SANE_Range *x_range, *y_range; - unsigned option_size = 0; - - // FIXME: we should modify device-specific sensor - auto& sensor = sanei_genesys_find_sensor_any_for_write(s->dev); - - switch (option) - { - case OPT_TL_X: - s->pos_top_left_x = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_TL_Y: - s->pos_top_left_y = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_BR_X: - s->pos_bottom_right_x = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_BR_Y: - s->pos_bottom_right_y = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_RESOLUTION: - s->resolution = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_THRESHOLD: - s->threshold = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_THRESHOLD_CURVE: - s->threshold_curve = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_DISABLE_DYNAMIC_LINEART: - s->disable_dynamic_lineart = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_SWCROP: - s->swcrop = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_SWDESKEW: - s->swdeskew = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_DESPECK: - s->despeck = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_SWDEROTATE: - s->swderotate = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_SWSKIP: - s->swskip = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_DISABLE_INTERPOLATION: - s->disable_interpolation = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_LAMP_OFF: - s->lamp_off = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_PREVIEW: - s->preview = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_BRIGHTNESS: - s->brightness = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_CONTRAST: - s->contrast = *reinterpret_cast(val); - RIE (calc_parameters(s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS; - break; - case OPT_SWDESPECK: - s->swdespeck = *reinterpret_cast(val); - if (s->swdespeck) { - ENABLE(OPT_DESPECK); - } else { - DISABLE(OPT_DESPECK); - } - RIE (calc_parameters (s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - break; - /* software enhancement functions only apply to 8 or 1 bits data */ - case OPT_BIT_DEPTH: - s->bit_depth = *reinterpret_cast(val); - if(s->bit_depth>8) - { - DISABLE(OPT_SWDESKEW); - DISABLE(OPT_SWDESPECK); - DISABLE(OPT_SWCROP); - DISABLE(OPT_DESPECK); - DISABLE(OPT_SWDEROTATE); - DISABLE(OPT_SWSKIP); - DISABLE(OPT_CONTRAST); - DISABLE(OPT_BRIGHTNESS); - } - else - { - ENABLE(OPT_SWDESKEW); - ENABLE(OPT_SWDESPECK); - ENABLE(OPT_SWCROP); - ENABLE(OPT_DESPECK); - ENABLE(OPT_SWDEROTATE); - ENABLE(OPT_SWSKIP); - ENABLE(OPT_CONTRAST); - ENABLE(OPT_BRIGHTNESS); - } - RIE (calc_parameters (s)); - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - break; - case OPT_SOURCE: - if (s->source != reinterpret_cast(val)) { - s->source = reinterpret_cast(val); - - // change geometry constraint to the new source value - if (s->source == STR_FLATBED) - { - x_range=create_range(s->dev->model->x_size); - y_range=create_range(s->dev->model->y_size); - } - else - { - x_range=create_range(s->dev->model->x_size_ta); - y_range=create_range(s->dev->model->y_size_ta); - } - if(x_range==NULL || y_range==NULL) - { - return SANE_STATUS_NO_MEM; - } - - /* assign new values */ - free((void *)(size_t)s->opt[OPT_TL_X].constraint.range); - free((void *)(size_t)s->opt[OPT_TL_Y].constraint.range); - s->opt[OPT_TL_X].constraint.range = x_range; - s->pos_top_left_x = 0; - s->opt[OPT_TL_Y].constraint.range = y_range; - s->pos_top_left_y = 0; - s->opt[OPT_BR_X].constraint.range = x_range; - s->pos_bottom_right_x = x_range->max; - s->opt[OPT_BR_Y].constraint.range = y_range; - s->pos_bottom_right_y = y_range->max; - - /* signals reload */ - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - } - break; - case OPT_MODE: - s->mode = reinterpret_cast(val); - - if (s->mode == SANE_VALUE_SCAN_MODE_LINEART) - { - ENABLE (OPT_THRESHOLD); - ENABLE (OPT_THRESHOLD_CURVE); - DISABLE (OPT_BIT_DEPTH); - if (s->dev->model->asic_type != GENESYS_GL646 || !s->dev->model->is_cis) - { - ENABLE (OPT_COLOR_FILTER); - } - ENABLE (OPT_DISABLE_DYNAMIC_LINEART); - } - else - { - DISABLE (OPT_THRESHOLD); - DISABLE (OPT_THRESHOLD_CURVE); - DISABLE (OPT_DISABLE_DYNAMIC_LINEART); - if (s->mode == SANE_VALUE_SCAN_MODE_GRAY) - { - if (s->dev->model->asic_type != GENESYS_GL646 || !s->dev->model->is_cis) - { - ENABLE (OPT_COLOR_FILTER); - } - create_bpp_list (s, s->dev->model->bpp_gray_values); - } - else - { - DISABLE (OPT_COLOR_FILTER); - create_bpp_list (s, s->dev->model->bpp_color_values); - } - if (s->bpp_list[0] < 2) - DISABLE (OPT_BIT_DEPTH); - else - ENABLE (OPT_BIT_DEPTH); - } - RIE (calc_parameters (s)); - - /* if custom gamma, toggle gamma table options according to the mode */ - if (s->custom_gamma) - { - if (s->mode == SANE_VALUE_SCAN_MODE_COLOR) - { - DISABLE (OPT_GAMMA_VECTOR); - ENABLE (OPT_GAMMA_VECTOR_R); - ENABLE (OPT_GAMMA_VECTOR_G); - ENABLE (OPT_GAMMA_VECTOR_B); - } - else - { - ENABLE (OPT_GAMMA_VECTOR); - DISABLE (OPT_GAMMA_VECTOR_R); - DISABLE (OPT_GAMMA_VECTOR_G); - DISABLE (OPT_GAMMA_VECTOR_B); - } - } - - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - break; - case OPT_COLOR_FILTER: - s->color_filter = reinterpret_cast(val); - RIE (calc_parameters (s)); - break; - case OPT_CALIBRATION_FILE: - if (s->dev->force_calibration == 0) { - set_calibration_value(s, reinterpret_cast(val)); - } - break; - case OPT_LAMP_OFF_TIME: - if (*reinterpret_cast(val) != s->lamp_off_time) { - s->lamp_off_time = *reinterpret_cast(val); - RIE(s->dev->model->cmd_set->set_powersaving(s->dev, s->lamp_off_time)); - } - break; - case OPT_EXPIRATION_TIME: - if (*reinterpret_cast(val) != s->expiration_time) { - s->expiration_time = *reinterpret_cast(val); - // BUG: this is most likely not intended behavior, found out during refactor - RIE(s->dev->model->cmd_set->set_powersaving(s->dev, s->expiration_time)); - } - break; - - case OPT_CUSTOM_GAMMA: - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - s->custom_gamma = *reinterpret_cast(val); - - if (s->custom_gamma) { - if (s->mode == SANE_VALUE_SCAN_MODE_COLOR) - { - DISABLE (OPT_GAMMA_VECTOR); - ENABLE (OPT_GAMMA_VECTOR_R); - ENABLE (OPT_GAMMA_VECTOR_G); - ENABLE (OPT_GAMMA_VECTOR_B); - } - else - { - ENABLE (OPT_GAMMA_VECTOR); - DISABLE (OPT_GAMMA_VECTOR_R); - DISABLE (OPT_GAMMA_VECTOR_G); - DISABLE (OPT_GAMMA_VECTOR_B); - } - } - else - { - DISABLE (OPT_GAMMA_VECTOR); - DISABLE (OPT_GAMMA_VECTOR_R); - DISABLE (OPT_GAMMA_VECTOR_G); - DISABLE (OPT_GAMMA_VECTOR_B); - for (auto& table : s->dev->gamma_override_tables) { - table.clear(); - } - } - break; - - case OPT_GAMMA_VECTOR: - table = (SANE_Word *) val; - option_size = s->opt[option].size / sizeof (SANE_Word); - - s->dev->gamma_override_tables[GENESYS_RED].resize(option_size); - s->dev->gamma_override_tables[GENESYS_GREEN].resize(option_size); - s->dev->gamma_override_tables[GENESYS_BLUE].resize(option_size); - for (i = 0; i < option_size; i++) { - s->dev->gamma_override_tables[GENESYS_RED][i] = table[i]; - s->dev->gamma_override_tables[GENESYS_GREEN][i] = table[i]; - s->dev->gamma_override_tables[GENESYS_BLUE][i] = table[i]; - } - break; - case OPT_GAMMA_VECTOR_R: - table = (SANE_Word *) val; - option_size = s->opt[option].size / sizeof (SANE_Word); - s->dev->gamma_override_tables[GENESYS_RED].resize(option_size); - for (i = 0; i < option_size; i++) { - s->dev->gamma_override_tables[GENESYS_RED][i] = table[i]; - } - break; - case OPT_GAMMA_VECTOR_G: - table = (SANE_Word *) val; - option_size = s->opt[option].size / sizeof (SANE_Word); - s->dev->gamma_override_tables[GENESYS_GREEN].resize(option_size); - for (i = 0; i < option_size; i++) { - s->dev->gamma_override_tables[GENESYS_GREEN][i] = table[i]; - } - break; - case OPT_GAMMA_VECTOR_B: - table = (SANE_Word *) val; - option_size = s->opt[option].size / sizeof (SANE_Word); - s->dev->gamma_override_tables[GENESYS_BLUE].resize(option_size); - for (i = 0; i < option_size; i++) { - s->dev->gamma_override_tables[GENESYS_BLUE][i] = table[i]; - } - break; - case OPT_CALIBRATE: - status = s->dev->model->cmd_set->save_power (s->dev, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to disable power saving mode: %s\n", __func__, - sane_strstatus(status)); - } - else - status = genesys_scanner_calibration(s->dev, sensor); - /* not critical if this fails*/ - s->dev->model->cmd_set->save_power (s->dev, SANE_TRUE); - /* signals that sensors will have to be read again */ - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - break; - case OPT_CLEAR_CALIBRATION: - s->dev->calibration_cache.clear(); - - /* remove file */ - unlink(s->dev->calib_file.c_str()); - /* signals that sensors will have to be read again */ - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - break; - case OPT_FORCE_CALIBRATION: - s->dev->force_calibration = 1; - s->dev->calibration_cache.clear(); - s->dev->calib_file.clear(); - - /* signals that sensors will have to be read again */ - *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; - break; - - default: - DBG(DBG_warn, "%s: can't set unknown option %d\n", __func__, option); - } - return status; -} - - -/* sets and gets scanner option values */ -SANE_Status -sane_control_option_impl(SANE_Handle handle, SANE_Int option, - SANE_Action action, void *val, SANE_Int * info) -{ - Genesys_Scanner *s = (Genesys_Scanner*) handle; - SANE_Status status = SANE_STATUS_GOOD; - SANE_Word cap; - SANE_Int myinfo = 0; - - DBG(DBG_io2, "%s: start: action = %s, option = %s (%d)\n", __func__, - (action == SANE_ACTION_GET_VALUE) ? "get" : (action == SANE_ACTION_SET_VALUE) ? - "set" : (action == SANE_ACTION_SET_AUTO) ? "set_auto" : "unknown", - s->opt[option].name, option); - - if (info) - *info = 0; - - if (s->scanning) - { - DBG(DBG_warn, "%s: don't call this function while scanning (option = %s (%d))\n", __func__, - s->opt[option].name, option); - - return SANE_STATUS_DEVICE_BUSY; - } - if (option >= NUM_OPTIONS || option < 0) - { - DBG(DBG_warn, "%s: option %d >= NUM_OPTIONS || option < 0\n", __func__, option); - return SANE_STATUS_INVAL; - } - - cap = s->opt[option].cap; - - if (!SANE_OPTION_IS_ACTIVE (cap)) - { - DBG(DBG_warn, "%s: option %d is inactive\n", __func__, option); - return SANE_STATUS_INVAL; - } - - switch (action) - { - case SANE_ACTION_GET_VALUE: - status = get_option_value (s, option, val); - break; - - case SANE_ACTION_SET_VALUE: - if (!SANE_OPTION_IS_SETTABLE (cap)) - { - DBG(DBG_warn, "%s: option %d is not settable\n", __func__, option); - return SANE_STATUS_INVAL; - } - - status = sanei_constrain_value (s->opt + option, val, &myinfo); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_warn, "%s: sanei_constrain_value returned %s\n", __func__, - sane_strstatus(status)); - return status; - } - - status = set_option_value (s, option, val, &myinfo); - break; - - case SANE_ACTION_SET_AUTO: - DBG(DBG_error, - "%s: SANE_ACTION_SET_AUTO unsupported since no option has SANE_CAP_AUTOMATIC\n", - __func__); - status = SANE_STATUS_INVAL; - break; - - default: - DBG(DBG_warn, "%s: unknown action %d for option %d\n", __func__, action, option); - status = SANE_STATUS_INVAL; - break; - } - - if (info) - *info = myinfo; - - DBG(DBG_io2, "%s: exit\n", __func__); - return status; -} - -SANE_Status sane_control_option(SANE_Handle handle, SANE_Int option, - SANE_Action action, void *val, SANE_Int * info) -{ - return wrap_exceptions_to_status_code(__func__, [=]() - { - return sane_control_option_impl(handle, option, action, val, info); - }); -} - -SANE_Status sane_get_parameters_impl(SANE_Handle handle, SANE_Parameters* params) -{ - Genesys_Scanner *s = (Genesys_Scanner*) handle; - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - /* don't recompute parameters once data reading is active, ie during scan */ - if(s->dev->read_active == SANE_FALSE) - { - RIE (calc_parameters (s)); - } - if (params) - { - *params = s->params; - - /* in the case of a sheetfed scanner, when full height is specified - * we override the computed line number with -1 to signal that we - * don't know the real document height. - * We don't do that doing buffering image for digital processing - */ - if (s->dev->model->is_sheetfed == SANE_TRUE - && s->dev->buffer_image == SANE_FALSE - && s->pos_bottom_right_y == s->opt[OPT_BR_Y].constraint.range->max) - { - params->lines = -1; - } - } - - DBGCOMPLETED; - - return SANE_STATUS_GOOD; -} - -SANE_Status sane_get_parameters(SANE_Handle handle, SANE_Parameters* params) -{ - return wrap_exceptions_to_status_code(__func__, [=]() - { - return sane_get_parameters_impl(handle, params); - }); -} - -SANE_Status sane_start_impl(SANE_Handle handle) -{ - Genesys_Scanner *s = (Genesys_Scanner*) handle; - SANE_Status status=SANE_STATUS_GOOD; - - DBGSTART; - - if (s->pos_top_left_x >= s->pos_bottom_right_x) - { - DBG(DBG_error0, "%s: top left x >= bottom right x --- exiting\n", __func__); - return SANE_STATUS_INVAL; - } - if (s->pos_top_left_y >= s->pos_bottom_right_y) - { - DBG(DBG_error0, "%s: top left y >= bottom right y --- exiting\n", __func__); - return SANE_STATUS_INVAL; - } - - /* First make sure we have a current parameter set. Some of the - parameters will be overwritten below, but that's OK. */ - - RIE (calc_parameters (s)); - RIE(genesys_start_scan(s->dev, s->lamp_off)); - - s->scanning = SANE_TRUE; - - /* allocate intermediate buffer when doing dynamic lineart */ - if(s->dev->settings.dynamic_lineart==SANE_TRUE) - { - s->dev->binarize_buffer.clear(); - s->dev->binarize_buffer.alloc(s->dev->settings.pixels); - s->dev->local_buffer.clear(); - s->dev->local_buffer.alloc(s->dev->binarize_buffer.size() * 8); - } - - /* if one of the software enhancement option is selected, - * we do the scan internally, process picture then put it an internal - * buffer. Since cropping may change scan parameters, we recompute them - * at the end */ - if (s->dev->buffer_image) - { - RIE(genesys_buffer_image(s)); - - /* check if we need to skip this page, sheetfed scanners - * can go to next doc while flatbed ones can't */ - if (s->swskip > 0 && IS_ACTIVE(OPT_SWSKIP)) { - status = sanei_magic_isBlank(&s->params, - s->dev->img_buffer.data(), - SANE_UNFIX(s->swskip)); - if(status == SANE_STATUS_NO_DOCS) - { - if (s->dev->model->is_sheetfed == SANE_TRUE) - { - DBG(DBG_info, "%s: blank page, recurse\n", __func__); - return sane_start(handle); - } - return status; - } - } - - if (s->swdeskew) { - const auto& sensor = sanei_genesys_find_sensor(s->dev, s->dev->settings.xres, - s->dev->settings.scan_method); - RIE(genesys_deskew(s, sensor)); - } - - if (s->swdespeck) { - RIE(genesys_despeck(s)); - } - - if(s->swcrop) { - RIE(genesys_crop(s)); - } - - if(s->swderotate) { - RIE(genesys_derotate(s)); - } - } - - DBGCOMPLETED; - return status; -} - -SANE_Status sane_start(SANE_Handle handle) -{ - return wrap_exceptions_to_status_code(__func__, [=]() - { - return sane_start_impl(handle); - }); -} - -SANE_Status -sane_read_impl(SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int* len) -{ - Genesys_Scanner *s = (Genesys_Scanner*) handle; - Genesys_Device *dev; - SANE_Status status=SANE_STATUS_GOOD; - size_t local_len; - - if (!s) - { - DBG(DBG_error, "%s: handle is null!\n", __func__); - return SANE_STATUS_INVAL; - } - - dev=s->dev; - if (!dev) - { - DBG(DBG_error, "%s: dev is null!\n", __func__); - return SANE_STATUS_INVAL; - } - - if (!buf) - { - DBG(DBG_error, "%s: buf is null!\n", __func__); - return SANE_STATUS_INVAL; - } - - if (!len) - { - DBG(DBG_error, "%s: len is null!\n", __func__); - return SANE_STATUS_INVAL; - } - - *len = 0; - - if (!s->scanning) - { - DBG(DBG_warn, "%s: scan was cancelled, is over or has not been initiated yet\n", __func__); - return SANE_STATUS_CANCELLED; - } - - DBG(DBG_proc, "%s: start, %d maximum bytes required\n", __func__, max_len); - DBG(DBG_io2, "%s: bytes_to_read=%lu, total_bytes_read=%lu\n", __func__, - (u_long) dev->total_bytes_to_read, (u_long) dev->total_bytes_read); - DBG(DBG_io2, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); - - if(dev->total_bytes_read>=dev->total_bytes_to_read) - { - DBG(DBG_proc, "%s: nothing more to scan: EOF\n", __func__); - - /* issue park command immediatly in case scanner can handle it - * so we save time */ - if (dev->model->is_sheetfed == SANE_FALSE - && !(dev->model->flags & GENESYS_FLAG_MUST_WAIT) - && dev->parking == SANE_FALSE) - { - dev->model->cmd_set->slow_back_home (dev, SANE_FALSE); - dev->parking = SANE_TRUE; - } - return SANE_STATUS_EOF; - } - - local_len = max_len; - - /* in case of image processing, all data has been stored in - * buffer_image. So read data from it if it exists, else from scanner */ - if(!dev->buffer_image) - { - /* dynamic lineart is another kind of digital processing that needs - * another layer of buffering on top of genesys_read_ordered_data */ - if(dev->settings.dynamic_lineart==SANE_TRUE) - { - /* if buffer is empty, fill it with genesys_read_ordered_data */ - if(dev->binarize_buffer.avail() == 0) - { - /* store gray data */ - local_len=dev->local_buffer.size(); - dev->local_buffer.reset(); - status = genesys_read_ordered_data (dev, dev->local_buffer.get_write_pos(local_len), - &local_len); - dev->local_buffer.produce(local_len); - - /* binarize data is read successful */ - if(status==SANE_STATUS_GOOD) - { - dev->binarize_buffer.reset(); - genesys_gray_lineart (dev, - dev->local_buffer.get_read_pos(), - dev->binarize_buffer.get_write_pos(local_len / 8), - dev->settings.pixels, - local_len/dev->settings.pixels, - dev->settings.threshold); - dev->binarize_buffer.produce(local_len / 8); - } - - } - - /* return data from lineart buffer if any, up to the available amount */ - local_len = max_len; - if((size_t)max_len>dev->binarize_buffer.avail()) - { - local_len=dev->binarize_buffer.avail(); - } - if(local_len) - { - memcpy(buf, dev->binarize_buffer.get_read_pos(), local_len); - dev->binarize_buffer.consume(local_len); - } - } - else - { - /* most usual case, direct read of data from scanner */ - status = genesys_read_ordered_data (dev, buf, &local_len); - } - } - else /* read data from buffer */ - { - if(dev->total_bytes_read+local_len>dev->total_bytes_to_read) - { - local_len=dev->total_bytes_to_read-dev->total_bytes_read; - } - memcpy(buf, dev->img_buffer.data() + dev->total_bytes_read, local_len); - dev->total_bytes_read+=local_len; - } - - *len = local_len; - if(local_len>(size_t)max_len) - { - fprintf (stderr, "[genesys] sane_read: returning incorrect length!!\n"); - } - DBG(DBG_proc, "%s: %d bytes returned\n", __func__, *len); - return status; -} - -SANE_Status sane_read(SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int* len) -{ - return wrap_exceptions_to_status_code(__func__, [=]() - { - return sane_read_impl(handle, buf, max_len, len); - }); -} - -void sane_cancel_impl(SANE_Handle handle) -{ - Genesys_Scanner *s = (Genesys_Scanner*) handle; - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - /* end binary logging if needed */ - if (s->dev->binary!=NULL) - { - fclose(s->dev->binary); - s->dev->binary=NULL; - } - - s->scanning = SANE_FALSE; - s->dev->read_active = SANE_FALSE; - s->dev->img_buffer.clear(); - - /* no need to end scan if we are parking the head */ - if(s->dev->parking==SANE_FALSE) - { - status = s->dev->model->cmd_set->end_scan(s->dev, &s->dev->reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); - return; - } - } - - /* park head if flatbed scanner */ - if (s->dev->model->is_sheetfed == SANE_FALSE) - { - if(s->dev->parking==SANE_FALSE) - { - status = s->dev->model->cmd_set->slow_back_home (s->dev, s->dev->model->flags & GENESYS_FLAG_MUST_WAIT); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to move scanhead to home position: %s\n", __func__, - sane_strstatus(status)); - return; - } - s->dev->parking = !(s->dev->model->flags & GENESYS_FLAG_MUST_WAIT); - } - } - else - { /* in case of sheetfed scanners, we have to eject the document if still present */ - status = s->dev->model->cmd_set->eject_document (s->dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to eject document: %s\n", __func__, sane_strstatus(status)); - return; - } - } - - /* enable power saving mode unless we are parking .... */ - if(s->dev->parking==SANE_FALSE) - { - status = s->dev->model->cmd_set->save_power (s->dev, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to enable power saving mode: %s\n", __func__, - sane_strstatus(status)); - return; - } - } - - DBGCOMPLETED; - return; -} - -void sane_cancel(SANE_Handle handle) -{ - catch_all_exceptions(__func__, [=]() { sane_cancel_impl(handle); }); -} - -SANE_Status -sane_set_io_mode_impl(SANE_Handle handle, SANE_Bool non_blocking) -{ - Genesys_Scanner *s = (Genesys_Scanner*) handle; - - DBG(DBG_proc, "%s: handle = %p, non_blocking = %s\n", __func__, handle, - non_blocking == SANE_TRUE ? "true" : "false"); - - if (!s->scanning) - { - DBG(DBG_error, "%s: not scanning\n", __func__); - return SANE_STATUS_INVAL; - } - if (non_blocking) - return SANE_STATUS_UNSUPPORTED; - return SANE_STATUS_GOOD; -} - -SANE_Status -sane_set_io_mode(SANE_Handle handle, SANE_Bool non_blocking) -{ - return wrap_exceptions_to_status_code(__func__, [=]() - { - return sane_set_io_mode_impl(handle, non_blocking); - }); -} - -SANE_Status -sane_get_select_fd_impl(SANE_Handle handle, SANE_Int * fd) -{ - Genesys_Scanner *s = (Genesys_Scanner*) handle; - - DBG(DBG_proc, "%s: handle = %p, fd = %p\n", __func__, handle, (void *) fd); - - if (!s->scanning) - { - DBG(DBG_error, "%s: not scanning\n", __func__); - return SANE_STATUS_INVAL; - } - return SANE_STATUS_UNSUPPORTED; -} - -SANE_Status -sane_get_select_fd(SANE_Handle handle, SANE_Int * fd) -{ - return wrap_exceptions_to_status_code(__func__, [=]() - { - return sane_get_select_fd_impl(handle, fd); - }); -} - -GenesysButtonName genesys_option_to_button(int option) -{ - switch (option) { - case OPT_SCAN_SW: return BUTTON_SCAN_SW; - case OPT_FILE_SW: return BUTTON_FILE_SW; - case OPT_EMAIL_SW: return BUTTON_EMAIL_SW; - case OPT_COPY_SW: return BUTTON_COPY_SW; - case OPT_PAGE_LOADED_SW: return BUTTON_PAGE_LOADED_SW; - case OPT_OCR_SW: return BUTTON_OCR_SW; - case OPT_POWER_SW: return BUTTON_POWER_SW; - case OPT_EXTRA_SW: return BUTTON_EXTRA_SW; - default: throw std::runtime_error("Unknown option to convert to button index"); - } -} diff --git a/backend/genesys.conf.in b/backend/genesys.conf.in index b1a0861..786ccd5 100644 --- a/backend/genesys.conf.in +++ b/backend/genesys.conf.in @@ -11,7 +11,7 @@ # Hewlett Packard ScanJet 2400c usb 0x03f0 0x0a01 -# Hewlett Packard ScanJet 3670c/3690c +# Hewlett Packard ScanJet 3670/3690c usb 0x03f0 0x1405 # Plustek OpticPro ST24 @@ -51,9 +51,6 @@ usb 0x04a9 0x1909 # Canon LiDE 200 usb 0x04a9 0x1905 -# Canon 5600F -usb 0x04a9 0x1906 - # Canon LiDE 700F usb 0x04a9 0x1907 @@ -66,9 +63,12 @@ usb 0x04a9 0x190e # Canon LiDE 220 usb 0x04a9 0x190f -# Canon 5600f +# Canon 5600F usb 0x04a9 0x1906 +# Canon 8400F +usb 0x04a9 0x221e + # Canon 8600F usb 0x04a9 0x2229 @@ -124,6 +124,15 @@ usb 0x03f0 0x4605 # Plustek OpticBook 3600 usb 0x07b3 0x0900 +# Plustek OpticFilm 7200i +usb 0x07b3 0x0c04 + +# Plustek OpticFilm 7300 +usb 0x07b3 0x0c12 + +# Plustek OpticFilm 7500i +usb 0x07b3 0x0c13 + # Primax Electronics, Ltd Xerox 2400 Onetouch usb 0x0461 0x038b diff --git a/backend/genesys.h b/backend/genesys.h deleted file mode 100644 index 47a684c..0000000 --- a/backend/genesys.h +++ /dev/null @@ -1,250 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2003, 2004 Henning Meier-Geinitz - Copyright (C) 2005-2013 Stephane Voltz - Copyright (C) 2006 Laurent Charpentier - Copyright (C) 2009 Pierre Willenbrock - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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 GENESYS_H -#define GENESYS_H - -#ifndef BACKEND_NAME -# define BACKEND_NAME genesys -#endif - -#include "genesys_low.h" -#include - -#ifndef PATH_MAX -# define PATH_MAX 1024 -#endif - -#if defined(_WIN32) || defined(HAVE_OS2_H) -# define PATH_SEP '\\' -#else -# define PATH_SEP '/' -#endif - - -#define ENABLE(OPTION) s->opt[OPTION].cap &= ~SANE_CAP_INACTIVE -#define DISABLE(OPTION) s->opt[OPTION].cap |= SANE_CAP_INACTIVE -#define IS_ACTIVE(OPTION) (((s->opt[OPTION].cap) & SANE_CAP_INACTIVE) == 0) - -#define GENESYS_CONFIG_FILE "genesys.conf" - -/* Maximum time for lamp warm-up */ -#define WARMUP_TIME 65 - -#define STR_FLATBED "Flatbed" -#define STR_TRANSPARENCY_ADAPTER "Transparency Adapter" -#define STR_TRANSPARENCY_ADAPTER_INFRARED "Transparency Adapter Infrared" - -#ifndef SANE_I18N -#define SANE_I18N(text) text -#endif - -/** List of SANE options - */ -enum Genesys_Option -{ - OPT_NUM_OPTS = 0, - - OPT_MODE_GROUP, - OPT_MODE, - OPT_SOURCE, - OPT_PREVIEW, - OPT_BIT_DEPTH, - OPT_RESOLUTION, - - 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 */ - - /* advanced image enhancement options */ - OPT_ENHANCEMENT_GROUP, - OPT_CUSTOM_GAMMA, /* toggle to enable custom gamma tables */ - OPT_GAMMA_VECTOR, - OPT_GAMMA_VECTOR_R, - OPT_GAMMA_VECTOR_G, - OPT_GAMMA_VECTOR_B, - OPT_SWDESKEW, - OPT_SWCROP, - OPT_SWDESPECK, - OPT_DESPECK, - OPT_SWSKIP, - OPT_SWDEROTATE, - OPT_BRIGHTNESS, - OPT_CONTRAST, - - OPT_EXTRAS_GROUP, - OPT_LAMP_OFF_TIME, - OPT_LAMP_OFF, - OPT_THRESHOLD, - OPT_THRESHOLD_CURVE, - OPT_DISABLE_DYNAMIC_LINEART, - OPT_DISABLE_INTERPOLATION, - OPT_COLOR_FILTER, - OPT_CALIBRATION_FILE, - OPT_EXPIRATION_TIME, - - OPT_SENSOR_GROUP, - OPT_SCAN_SW, - OPT_FILE_SW, - OPT_EMAIL_SW, - OPT_COPY_SW, - OPT_PAGE_LOADED_SW, - OPT_OCR_SW, - OPT_POWER_SW, - OPT_EXTRA_SW, - OPT_NEED_CALIBRATION_SW, - OPT_BUTTON_GROUP, - OPT_CALIBRATE, - OPT_CLEAR_CALIBRATION, - OPT_FORCE_CALIBRATION, - - /* must come last: */ - NUM_OPTIONS -}; - -enum GenesysButtonName : unsigned { - BUTTON_SCAN_SW = 0, - BUTTON_FILE_SW, - BUTTON_EMAIL_SW, - BUTTON_COPY_SW, - BUTTON_PAGE_LOADED_SW, - BUTTON_OCR_SW, - BUTTON_POWER_SW, - BUTTON_EXTRA_SW, - NUM_BUTTONS -}; - -GenesysButtonName genesys_option_to_button(int option); - -class GenesysButton { -public: - void write(bool value) - { - if (value == value_) { - return; - } - values_to_read_.push(value); - value_ = value; - } - - bool read() - { - if (values_to_read_.empty()) { - return value_; - } - bool ret = values_to_read_.front(); - values_to_read_.pop(); - return ret; - } - -private: - bool value_ = false; - std::queue values_to_read_; -}; - -/** Scanner object. Should have better be called Session than Scanner - */ -struct Genesys_Scanner -{ - Genesys_Scanner() = default; - ~Genesys_Scanner() = default; - - // Next scanner in list - struct Genesys_Scanner *next; - - // Low-level device object - Genesys_Device* dev = nullptr; - - // SANE data - // We are currently scanning - SANE_Bool scanning; - // Option descriptors - SANE_Option_Descriptor opt[NUM_OPTIONS]; - - // Option values - SANE_Word bit_depth = 0; - SANE_Word resolution = 0; - bool preview = false; - SANE_Word threshold = 0; - SANE_Word threshold_curve = 0; - bool disable_dynamic_lineart = false; - bool disable_interpolation = false; - bool lamp_off = false; - SANE_Word lamp_off_time = 0; - bool swdeskew = false; - bool swcrop = false; - bool swdespeck = false; - bool swderotate = false; - SANE_Word swskip = 0; - SANE_Word despeck = 0; - SANE_Word contrast = 0; - SANE_Word brightness = 0; - SANE_Word expiration_time = 0; - bool custom_gamma = false; - - SANE_Word pos_top_left_y = 0; - SANE_Word pos_top_left_x = 0; - SANE_Word pos_bottom_right_y = 0; - SANE_Word pos_bottom_right_x = 0; - - std::string mode, source, color_filter; - - std::string calibration_file; - // Button states - GenesysButton buttons[NUM_BUTTONS]; - - // SANE Parameters - SANE_Parameters params = {}; - SANE_Int bpp_list[5] = {}; -}; - -void write_calibration(std::ostream& str, Genesys_Device::Calibration& cache); -bool read_calibration(std::istream& str, Genesys_Device::Calibration& cache, - const std::string& path); - -#endif /* not GENESYS_H */ diff --git a/backend/genesys/buffer.cpp b/backend/genesys/buffer.cpp new file mode 100644 index 0000000..f17e361 --- /dev/null +++ b/backend/genesys/buffer.cpp @@ -0,0 +1,102 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#include "buffer.h" +#include +#include + +namespace genesys { + +void Genesys_Buffer::alloc(std::size_t size) +{ + buffer_.resize(size); + avail_ = 0; + pos_ = 0; +} + +void Genesys_Buffer::clear() +{ + buffer_.clear(); + avail_ = 0; + pos_ = 0; +} + +void Genesys_Buffer::reset() +{ + avail_ = 0; + pos_ = 0; +} + +std::uint8_t* Genesys_Buffer::get_write_pos(std::size_t size) +{ + if (avail_ + size > buffer_.size()) + return nullptr; + if (pos_ + avail_ + size > buffer_.size()) + { + std::memmove(buffer_.data(), buffer_.data() + pos_, avail_); + pos_ = 0; + } + return buffer_.data() + pos_ + avail_; +} + +std::uint8_t* Genesys_Buffer::get_read_pos() +{ + return buffer_.data() + pos_; +} + +void Genesys_Buffer::produce(std::size_t size) +{ + if (size > buffer_.size() - avail_) + throw std::runtime_error("buffer size exceeded"); + avail_ += size; +} + +void Genesys_Buffer::consume(std::size_t size) +{ + if (size > avail_) + throw std::runtime_error("no more data in buffer"); + avail_ -= size; + pos_ += size; +} + +} // namespace genesys diff --git a/backend/genesys/buffer.h b/backend/genesys/buffer.h new file mode 100644 index 0000000..e9c889b --- /dev/null +++ b/backend/genesys/buffer.h @@ -0,0 +1,89 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_BUFFER_H +#define BACKEND_GENESYS_BUFFER_H + +#include +#include +#include + +namespace genesys { + +/* A FIFO buffer. Note, that this is _not_ a ringbuffer. + if we need a block which does not fit at the end of our available data, + we move the available data to the beginning. +*/ +struct Genesys_Buffer +{ + Genesys_Buffer() = default; + + std::size_t size() const { return buffer_.size(); } + std::size_t avail() const { return avail_; } + std::size_t pos() const { return pos_; } + + // TODO: refactor code that uses this function to no longer use it + void set_pos(std::size_t pos) { pos_ = pos; } + + void alloc(std::size_t size); + void clear(); + + void reset(); + + std::uint8_t* get_write_pos(std::size_t size); + std::uint8_t* get_read_pos(); // TODO: mark as const + + void produce(std::size_t size); + void consume(std::size_t size); + +private: + std::vector buffer_; + // current position in read buffer + std::size_t pos_ = 0; + // data bytes currently in buffer + std::size_t avail_ = 0; +}; + +} // namespace genesys + +#endif // BACKEND_GENESYS_BUFFER_H diff --git a/backend/genesys/calibration.h b/backend/genesys/calibration.h new file mode 100644 index 0000000..f14aaa3 --- /dev/null +++ b/backend/genesys/calibration.h @@ -0,0 +1,108 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_CALIBRATION_H +#define BACKEND_GENESYS_CALIBRATION_H + +#include "sensor.h" +#include "settings.h" +#include + +namespace genesys { + +struct Genesys_Calibration_Cache +{ + Genesys_Calibration_Cache() = default; + ~Genesys_Calibration_Cache() = default; + + // used to check if entry is compatible + SetupParams params; + + std::time_t last_calibration = 0; + + Genesys_Frontend frontend; + Genesys_Sensor sensor; + + size_t calib_pixels = 0; + size_t calib_channels = 0; + size_t average_size = 0; + std::vector white_average_data; + std::vector dark_average_data; + + bool operator==(const Genesys_Calibration_Cache& other) const + { + return params == other.params && + last_calibration == other.last_calibration && + frontend == other.frontend && + sensor == other.sensor && + calib_pixels == other.calib_pixels && + calib_channels == other.calib_channels && + average_size == other.average_size && + white_average_data == other.white_average_data && + dark_average_data == other.dark_average_data; + } +}; + +template +void serialize(Stream& str, Genesys_Calibration_Cache& x) +{ + serialize(str, x.params); + serialize_newline(str); + serialize(str, x.last_calibration); + serialize_newline(str); + serialize(str, x.frontend); + serialize_newline(str); + serialize(str, x.sensor); + serialize_newline(str); + serialize(str, x.calib_pixels); + serialize(str, x.calib_channels); + serialize(str, x.average_size); + serialize_newline(str); + serialize(str, x.white_average_data); + serialize_newline(str); + serialize(str, x.dark_average_data); +} + +} // namespace genesys + +#endif // BACKEND_GENESYS_CALIBRATION_H diff --git a/backend/genesys/command_set.h b/backend/genesys/command_set.h new file mode 100644 index 0000000..ab3a4b6 --- /dev/null +++ b/backend/genesys/command_set.h @@ -0,0 +1,166 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_COMMAND_SET_H +#define BACKEND_GENESYS_COMMAND_SET_H + +#include "device.h" +#include "fwd.h" +#include + +namespace genesys { + + +/** Scanner command set description. + + This description contains parts which are common to all scanners with the + same command set, but may have different optical resolution and other + parameters. + */ +class CommandSet +{ +public: + virtual ~CommandSet() = default; + + virtual bool needs_home_before_init_regs_for_scan(Genesys_Device* dev) const = 0; + + virtual void init(Genesys_Device* dev) const = 0; + + virtual void init_regs_for_warmup(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, int* channels, + int* total_size) const = 0; + + virtual void init_regs_for_coarse_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const = 0; + virtual void init_regs_for_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const = 0; + virtual void init_regs_for_scan(Genesys_Device* dev, const Genesys_Sensor& sensor) const = 0; + + /** Set up registers for a scan. Similar to init_regs_for_scan except that the session is + already computed from the session + */ + virtual void init_regs_for_scan_session(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const ScanSession& session) const= 0; + + virtual void set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, std::uint8_t set) const = 0; + virtual void set_powersaving(Genesys_Device* dev, int delay) const = 0; + virtual void save_power(Genesys_Device* dev, bool enable) const = 0; + + virtual void begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, bool start_motor) const = 0; + virtual void end_scan(Genesys_Device* dev, Genesys_Register_Set* regs, + bool check_stop) const = 0; + + + /** + * Send gamma tables to ASIC + */ + virtual void send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) const = 0; + + virtual void search_start_position(Genesys_Device* dev) const = 0; + virtual void offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const = 0; + virtual void coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) const = 0; + virtual SensorExposure led_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const = 0; + + virtual void wait_for_motor_stop(Genesys_Device* dev) const = 0; + virtual void move_back_home(Genesys_Device* dev, bool wait_until_home) const = 0; + + // Updates hardware sensor information in Genesys_Scanner.val[]. + virtual void update_hardware_sensors(struct Genesys_Scanner* s) const = 0; + + /** Whether the scanner needs to call update_home_sensor_gpio before reading the status of the + home sensor. On some chipsets this is unreliable until update_home_sensor_gpio() is called. + */ + virtual bool needs_update_home_sensor_gpio() const { return false; } + + /** Needed on some chipsets before reading the status of the home sensor to make this operation + reliable. + */ + virtual void update_home_sensor_gpio(Genesys_Device& dev) const { (void) dev; } + + // functions for sheetfed scanners + + // load document into scanner + virtual void load_document(Genesys_Device* dev) const = 0; + + /** Detects is the scanned document has left scanner. In this case it updates the amount of + data to read and set up flags in the dev struct + */ + virtual void detect_document_end(Genesys_Device* dev) const = 0; + + /// eject document from scanner + virtual void eject_document(Genesys_Device* dev) const = 0; + /** + * search for an black or white area in forward or reverse + * direction */ + virtual void search_strip(Genesys_Device* dev, const Genesys_Sensor& sensor, + bool forward, bool black) const = 0; + + /// move scanning head to transparency adapter + virtual void move_to_ta(Genesys_Device* dev) const = 0; + + /// write shading data calibration to ASIC + virtual void send_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, + std::uint8_t* data, int size) const = 0; + + virtual bool has_send_shading_data() const + { + return true; + } + + /// calculate an instance of ScanSession for scanning with the given settings + virtual ScanSession calculate_scan_session(const Genesys_Device* dev, + const Genesys_Sensor& sensor, + const Genesys_Settings& settings) const = 0; + + /// cold boot init function + virtual void asic_boot(Genesys_Device* dev, bool cold) const = 0; +}; + +} // namespace genesys + +#endif // BACKEND_GENESYS_COMMAND_SET_H diff --git a/backend/genesys/conv.cpp b/backend/genesys/conv.cpp new file mode 100644 index 0000000..a87c463 --- /dev/null +++ b/backend/genesys/conv.cpp @@ -0,0 +1,238 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2005, 2006 Pierre Willenbrock + Copyright (C) 2010-2013 Stéphane Voltz + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "conv.h" +#include "sane/sanei_magic.h" + +namespace genesys { + +/** + * uses the threshold/threshold_curve to control software binarization + * This code was taken from the epjistsu backend by m. allan noah + * @param dev device set up for the scan + * @param src pointer to raw data + * @param dst pointer where to store result + * @param width width of the processed line + * */ +void binarize_line(Genesys_Device* dev, std::uint8_t* src, std::uint8_t* dst, int width) +{ + DBG_HELPER(dbg); + int j, windowX, sum = 0; + int thresh; + int offset, addCol, dropCol; + unsigned char mask; + + int x; + std::uint8_t min, max; + + /* normalize line */ + min = 255; + max = 0; + for (x = 0; x < width; x++) + { + if (src[x] > max) + { + max = src[x]; + } + if (src[x] < min) + { + min = src[x]; + } + } + + /* safeguard against dark or white areas */ + if(min>80) + min=0; + if(max<80) + max=255; + for (x = 0; x < width; x++) + { + src[x] = ((src[x] - min) * 255) / (max - min); + } + + /* ~1mm works best, but the window needs to have odd # of pixels */ + windowX = (6 * dev->settings.xres) / 150; + if (!(windowX % 2)) + windowX++; + + /* second, prefill the sliding sum */ + for (j = 0; j < windowX; j++) + sum += src[j]; + + /* third, walk the input buffer, update the sliding sum, */ + /* determine threshold, output bits */ + for (j = 0; j < width; j++) + { + /* output image location */ + offset = j % 8; + mask = 0x80 >> offset; + thresh = dev->settings.threshold; + + /* move sum/update threshold only if there is a curve */ + if (dev->settings.threshold_curve) + { + addCol = j + windowX / 2; + dropCol = addCol - windowX; + + if (dropCol >= 0 && addCol < width) + { + sum -= src[dropCol]; + sum += src[addCol]; + } + thresh = dev->lineart_lut[sum / windowX]; + } + + /* use average to lookup threshold */ + if (src[j] > thresh) + *dst &= ~mask; /* white */ + else + *dst |= mask; /* black */ + + if (offset == 7) + dst++; + } +} + +/** + * software lineart using data from a 8 bit gray scan. We assume true gray + * or monochrome scan as input. + */ +void genesys_gray_lineart(Genesys_Device* dev, + std::uint8_t* src_data, std::uint8_t* dst_data, + std::size_t pixels, std::size_t lines, std::uint8_t threshold) +{ + DBG_HELPER(dbg); + std::size_t y; + + DBG(DBG_io2, "%s: converting %zu lines of %zu pixels\n", __func__, lines, pixels); + DBG(DBG_io2, "%s: threshold=%d\n", __func__, threshold); + + for (y = 0; y < lines; y++) + { + binarize_line (dev, src_data + y * pixels, dst_data, pixels); + dst_data += pixels / 8; + } +} + +/** Look in image for likely left/right/bottom paper edges, then crop image. + */ +void genesys_crop(Genesys_Scanner* s) +{ + DBG_HELPER(dbg); + Genesys_Device *dev = s->dev; + int top = 0; + int bottom = 0; + int left = 0; + int right = 0; + + // first find edges if any + TIE(sanei_magic_findEdges(&s->params, dev->img_buffer.data(), + dev->settings.xres, dev->settings.yres, + &top, &bottom, &left, &right)); + + DBG (DBG_io, "%s: t:%d b:%d l:%d r:%d\n", __func__, top, bottom, left, + right); + + // now crop the image + TIE(sanei_magic_crop (&(s->params), dev->img_buffer.data(), top, bottom, left, right)); + + /* update counters to new image size */ + dev->total_bytes_to_read = s->params.bytes_per_line * s->params.lines; +} + +/** Look in image for likely upper and left paper edges, then rotate + * image so that upper left corner of paper is upper left of image. + */ +void genesys_deskew(Genesys_Scanner *s, const Genesys_Sensor& sensor) +{ + DBG_HELPER(dbg); + Genesys_Device *dev = s->dev; + + int x = 0, y = 0, bg; + double slope = 0; + + bg=0; + if(s->params.format==SANE_FRAME_GRAY && s->params.depth == 1) + { + bg=0xff; + } + TIE(sanei_magic_findSkew(&s->params, dev->img_buffer.data(), + sensor.optical_res, sensor.optical_res, + &x, &y, &slope)); + + DBG(DBG_info, "%s: slope=%f => %f\n", __func__, slope, slope * 180 / M_PI); + + // rotate image slope is in [-PI/2,PI/2]. Positive values rotate trigonometric direction wise + TIE(sanei_magic_rotate(&s->params, dev->img_buffer.data(), + x, y, slope, bg)); +} + +/** remove lone dots + */ +void genesys_despeck(Genesys_Scanner* s) +{ + DBG_HELPER(dbg); + TIE(sanei_magic_despeck(&s->params, s->dev->img_buffer.data(), s->despeck)); +} + +/** Look if image needs rotation and apply it + * */ +void genesys_derotate(Genesys_Scanner* s) +{ + DBG_HELPER(dbg); + int angle = 0; + + TIE(sanei_magic_findTurn(&s->params, s->dev->img_buffer.data(), + s->resolution, s->resolution, &angle)); + + // apply rotation angle found + TIE(sanei_magic_turn(&s->params, s->dev->img_buffer.data(), angle)); + + // update counters to new image size + s->dev->total_bytes_to_read = s->params.bytes_per_line * s->params.lines; +} + +} // namespace genesys diff --git a/backend/genesys/conv.h b/backend/genesys/conv.h new file mode 100644 index 0000000..446a80d --- /dev/null +++ b/backend/genesys/conv.h @@ -0,0 +1,69 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_CONV_H +#define BACKEND_GENESYS_CONV_H + +#include "device.h" +#include "sensor.h" +#include "genesys.h" + +namespace genesys { + +void binarize_line(Genesys_Device* dev, std::uint8_t* src, std::uint8_t* dst, int width); + +void genesys_gray_lineart(Genesys_Device* dev, + std::uint8_t* src_data, std::uint8_t* dst_data, + std::size_t pixels, size_t lines, std::uint8_t threshold); + +void genesys_crop(Genesys_Scanner* s); + +void genesys_deskew(Genesys_Scanner *s, const Genesys_Sensor& sensor); + +void genesys_despeck(Genesys_Scanner* s); + +void genesys_derotate(Genesys_Scanner* s); + +} // namespace genesys + +#endif // BACKEND_GENESYS_CONV_H diff --git a/backend/genesys/device.cpp b/backend/genesys/device.cpp new file mode 100644 index 0000000..ba035fd --- /dev/null +++ b/backend/genesys/device.cpp @@ -0,0 +1,272 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "device.h" +#include "command_set.h" +#include "low.h" +#include "utilities.h" + +namespace genesys { + +std::vector MethodResolutions::get_resolutions() const +{ + std::vector ret; + std::copy(resolutions_x.begin(), resolutions_x.end(), std::back_inserter(ret)); + std::copy(resolutions_y.begin(), resolutions_y.end(), std::back_inserter(ret)); + // sort in decreasing order + + std::sort(ret.begin(), ret.end(), std::greater()); + ret.erase(std::unique(ret.begin(), ret.end()), ret.end()); + return ret; +} + +const MethodResolutions& Genesys_Model::get_resolution_settings(ScanMethod method) const +{ + for (const auto& res_for_method : resolutions) { + for (auto res_method : res_for_method.methods) { + if (res_method == method) { + return res_for_method; + } + } + } + throw SaneException("Could not find resolution settings for method %d", + static_cast(method)); +} + +std::vector Genesys_Model::get_resolutions(ScanMethod method) const +{ + return get_resolution_settings(method).get_resolutions(); +} + +Genesys_Device::~Genesys_Device() +{ + clear(); +} + +void Genesys_Device::clear() +{ + read_buffer.clear(); + binarize_buffer.clear(); + local_buffer.clear(); + + calib_file.clear(); + + calibration_cache.clear(); + + white_average_data.clear(); + dark_average_data.clear(); +} + +ImagePipelineNodeBytesSource& Genesys_Device::get_pipeline_source() +{ + return static_cast(pipeline.front()); +} + +bool Genesys_Device::is_head_pos_known(ScanHeadId scan_head) const +{ + switch (scan_head) { + case ScanHeadId::PRIMARY: return is_head_pos_primary_known_; + case ScanHeadId::SECONDARY: return is_head_pos_secondary_known_; + case ScanHeadId::ALL: return is_head_pos_primary_known_ && is_head_pos_secondary_known_; + default: + throw SaneException("Unknown scan head ID"); + } +} +unsigned Genesys_Device::head_pos(ScanHeadId scan_head) const +{ + switch (scan_head) { + case ScanHeadId::PRIMARY: return head_pos_primary_; + case ScanHeadId::SECONDARY: return head_pos_secondary_; + default: + throw SaneException("Unknown scan head ID"); + } +} + +void Genesys_Device::set_head_pos_unknown() +{ + is_head_pos_primary_known_ = false; + is_head_pos_secondary_known_ = false; +} + +void Genesys_Device::set_head_pos_zero(ScanHeadId scan_head) +{ + if ((scan_head & ScanHeadId::PRIMARY) != ScanHeadId::NONE) { + head_pos_primary_ = 0; + is_head_pos_primary_known_ = true; + } + if ((scan_head & ScanHeadId::SECONDARY) != ScanHeadId::NONE) { + head_pos_secondary_ = 0; + is_head_pos_secondary_known_ = true; + } +} + +void Genesys_Device::advance_head_pos_by_session(ScanHeadId scan_head) +{ + int motor_steps = session.params.starty + + (session.params.lines * motor.base_ydpi) / session.params.yres; + auto direction = has_flag(session.params.flags, ScanFlag::REVERSE) ? Direction::BACKWARD + : Direction::FORWARD; + advance_head_pos_by_steps(scan_head, direction, motor_steps); +} + +static void advance_pos(unsigned& pos, Direction direction, unsigned offset) +{ + if (direction == Direction::FORWARD) { + pos += offset; + } else { + if (pos < offset) { + throw SaneException("Trying to advance head behind the home sensor"); + } + pos -= offset; + } +} + +void Genesys_Device::advance_head_pos_by_steps(ScanHeadId scan_head, Direction direction, + unsigned steps) +{ + if ((scan_head & ScanHeadId::PRIMARY) != ScanHeadId::NONE) { + if (!is_head_pos_primary_known_) { + throw SaneException("Trying to advance head while scanhead position is not known"); + } + advance_pos(head_pos_primary_, direction, steps); + } + if ((scan_head & ScanHeadId::SECONDARY) != ScanHeadId::NONE) { + if (!is_head_pos_secondary_known_) { + throw SaneException("Trying to advance head while scanhead position is not known"); + } + advance_pos(head_pos_secondary_, direction, steps); + } +} + +void print_scan_position(std::ostream& out, const Genesys_Device& dev, ScanHeadId scan_head) +{ + if (dev.is_head_pos_known(scan_head)) { + out << dev.head_pos(scan_head); + } else { + out <<"(unknown)"; + } +} + +std::ostream& operator<<(std::ostream& out, const Genesys_Device& dev) +{ + StreamStateSaver state_saver{out}; + + out << "Genesys_Device{\n" + << std::hex + << " vendorId: 0x" << dev.vendorId << '\n' + << " productId: 0x" << dev.productId << '\n' + << std::dec + << " usb_mode: " << dev.usb_mode << '\n' + << " file_name: " << dev.file_name << '\n' + << " calib_file: " << dev.calib_file << '\n' + << " force_calibration: " << dev.force_calibration << '\n' + << " ignore_offsets: " << dev.ignore_offsets << '\n' + << " model: (not printed)\n" + << " reg: " << format_indent_braced_list(4, dev.reg) << '\n' + << " calib_reg: " << format_indent_braced_list(4, dev.calib_reg) << '\n' + << " settings: " << format_indent_braced_list(4, dev.settings) << '\n' + << " frontend: " << format_indent_braced_list(4, dev.frontend) << '\n' + << " frontend_initial: " << format_indent_braced_list(4, dev.frontend_initial) << '\n' + << " frontend_is_init: " << dev.frontend_is_init << '\n' + << " gpo.regs: " << format_indent_braced_list(4, dev.gpo.regs) << '\n' + << " motor: " << format_indent_braced_list(4, dev.motor) << '\n' + << " control[0..6]: " << std::hex + << static_cast(dev.control[0]) << ' ' + << static_cast(dev.control[1]) << ' ' + << static_cast(dev.control[2]) << ' ' + << static_cast(dev.control[3]) << ' ' + << static_cast(dev.control[4]) << ' ' + << static_cast(dev.control[5]) << '\n' << std::dec + << " average_size: " << dev.average_size << '\n' + << " calib_pixels: " << dev.calib_pixels << '\n' + << " calib_lines: " << dev.calib_lines << '\n' + << " calib_channels: " << dev.calib_channels << '\n' + << " calib_resolution: " << dev.calib_resolution << '\n' + << " calib_total_bytes_to_read: " << dev.calib_total_bytes_to_read << '\n' + << " calib_session: " << format_indent_braced_list(4, dev.calib_session) << '\n' + << " calib_pixels_offset: " << dev.calib_pixels_offset << '\n' + << " gamma_override_tables[0].size(): " << dev.gamma_override_tables[0].size() << '\n' + << " gamma_override_tables[1].size(): " << dev.gamma_override_tables[1].size() << '\n' + << " gamma_override_tables[2].size(): " << dev.gamma_override_tables[2].size() << '\n' + << " white_average_data.size(): " << dev.white_average_data.size() << '\n' + << " dark_average_data.size(): " << dev.dark_average_data.size() << '\n' + << " already_initialized: " << dev.already_initialized << '\n' + << " scanhead_position[PRIMARY]: "; + print_scan_position(out, dev, ScanHeadId::PRIMARY); + out << '\n' + << " scanhead_position[SECONDARY]: "; + print_scan_position(out, dev, ScanHeadId::SECONDARY); + out << '\n' + << " read_active: " << dev.read_active << '\n' + << " parking: " << dev.parking << '\n' + << " document: " << dev.document << '\n' + << " read_buffer.size(): " << dev.read_buffer.size() << '\n' + << " binarize_buffer.size(): " << dev.binarize_buffer.size() << '\n' + << " local_buffer.size(): " << dev.local_buffer.size() << '\n' + << " oe_buffer.size(): " << dev.oe_buffer.size() << '\n' + << " total_bytes_read: " << dev.total_bytes_read << '\n' + << " total_bytes_to_read: " << dev.total_bytes_to_read << '\n' + << " session: " << format_indent_braced_list(4, dev.session) << '\n' + << " lineart_lut: (not printed)\n" + << " calibration_cache: (not printed)\n" + << " line_count: " << dev.line_count << '\n' + << " segment_order: " + << format_indent_braced_list(4, format_vector_unsigned(4, dev.segment_order)) << '\n' + << " buffer_image: " << dev.buffer_image << '\n' + << " img_buffer.size(): " << dev.img_buffer.size() << '\n' + << '}'; + return out; +} + +void apply_reg_settings_to_device(Genesys_Device& dev, const GenesysRegisterSettingSet& regs) +{ + for (const auto& reg : regs) { + uint8_t val = dev.interface->read_register(reg.address); + val = (val & ~reg.mask) | (reg.value & reg.mask); + dev.interface->write_register(reg.address, val); + } +} + +} // namespace genesys diff --git a/backend/genesys/device.h b/backend/genesys/device.h new file mode 100644 index 0000000..6c744c9 --- /dev/null +++ b/backend/genesys/device.h @@ -0,0 +1,387 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_DEVICE_H +#define BACKEND_GENESYS_DEVICE_H + +#include "calibration.h" +#include "command_set.h" +#include "buffer.h" +#include "enums.h" +#include "image_pipeline.h" +#include "motor.h" +#include "settings.h" +#include "sensor.h" +#include "register.h" +#include "usb_device.h" +#include "scanner_interface.h" +#include + +namespace genesys { + +struct Genesys_Gpo +{ + Genesys_Gpo() = default; + + // Genesys_Gpo + GpioId id = GpioId::UNKNOWN; + + /* GL646 and possibly others: + - have the value registers at 0x66 and 0x67 + - have the enable registers at 0x68 and 0x69 + + GL841, GL842, GL843, GL846, GL848 and possibly others: + - have the value registers at 0x6c and 0x6d. + - have the enable registers at 0x6e and 0x6f. + */ + GenesysRegisterSettingSet regs; +}; + +/// Stores a SANE_Fixed value which is automatically converted from and to floating-point values +class FixedFloat +{ +public: + FixedFloat() = default; + FixedFloat(const FixedFloat&) = default; + FixedFloat(double number) : value_{SANE_FIX(number)} {} + FixedFloat& operator=(const FixedFloat&) = default; + FixedFloat& operator=(double number) { value_ = SANE_FIX(number); return *this; } + + operator double() const { return value(); } + + double value() const { return SANE_UNFIX(value_); } + +private: + SANE_Fixed value_ = 0; +}; + +struct MethodResolutions +{ + std::vector methods; + std::vector resolutions_x; + std::vector resolutions_y; + + unsigned get_min_resolution_x() const + { + return *std::min_element(resolutions_x.begin(), resolutions_x.end()); + } + + unsigned get_min_resolution_y() const + { + return *std::min_element(resolutions_y.begin(), resolutions_y.end()); + } + + std::vector get_resolutions() const; +}; + +/** @brief structure to describe a scanner model + * This structure describes a model. It is composed of information on the + * sensor, the motor, scanner geometry and flags to drive operation. + */ +struct Genesys_Model +{ + Genesys_Model() = default; + + const char* name = nullptr; + const char* vendor = nullptr; + const char* model = nullptr; + ModelId model_id = ModelId::UNKNOWN; + + AsicType asic_type = AsicType::UNKNOWN; + + // possible x and y resolutions for each method supported by the scanner + std::vector resolutions; + + // possible depths in gray mode + std::vector bpp_gray_values; + // possible depths in color mode + std::vector bpp_color_values; + + // the default scanning method. This is used when moving the head for example + ScanMethod default_method = ScanMethod::FLATBED; + + // All offsets below are with respect to the sensor home position + + // Start of scan area in mm + FixedFloat x_offset = 0; + + // Start of scan area in mm (Amount of feeding needed to get to the medium) + FixedFloat y_offset = 0; + + // Size of scan area in mm + FixedFloat x_size = 0; + + // Size of scan area in mm + FixedFloat y_size = 0; + + // Start of white strip in mm + FixedFloat y_offset_calib_white = 0; + + // Start of black mark in mm + FixedFloat x_offset_calib_black = 0; + + // Start of scan area in transparency mode in mm + FixedFloat x_offset_ta = 0; + + // Start of scan area in transparency mode in mm + FixedFloat y_offset_ta = 0; + + // Size of scan area in transparency mode in mm + FixedFloat x_size_ta = 0; + + // Size of scan area in transparency mode in mm + FixedFloat y_size_ta = 0; + + // The position of the sensor when it's aligned with the lamp for transparency scanning + FixedFloat y_offset_sensor_to_ta = 0; + + // Start of white strip in transparency mode in mm + FixedFloat y_offset_calib_white_ta = 0; + + // Start of black strip in transparency mode in mm + FixedFloat y_offset_calib_black_ta = 0; + + // Size of scan area after paper sensor stop sensing document in mm + FixedFloat post_scan = 0; + + // Amount of feeding needed to eject document after finishing scanning in mm + FixedFloat eject_feed = 0; + + // Line-distance correction (in pixel at optical_ydpi) for CCD scanners + SANE_Int ld_shift_r = 0; + SANE_Int ld_shift_g = 0; + SANE_Int ld_shift_b = 0; + + // Order of the CCD/CIS colors + ColorOrder line_mode_color_order = ColorOrder::RGB; + + // Is this a CIS or CCD scanner? + bool is_cis = false; + + // Is this sheetfed scanner? + bool is_sheetfed = false; + + // sensor type + SensorId sensor_id = SensorId::UNKNOWN; + // Analog-Digital converter type + AdcId adc_id = AdcId::UNKNOWN; + // General purpose output type + GpioId gpio_id = GpioId::UNKNOWN; + // stepper motor type + MotorId motor_id = MotorId::UNKNOWN; + + // Which hacks are needed for this scanner? + SANE_Word flags = 0; + + // Button flags, described existing buttons for the model + SANE_Word buttons = 0; + + // how many lines are used for shading calibration + SANE_Int shading_lines = 0; + // how many lines are used for shading calibration in TA mode + SANE_Int shading_ta_lines = 0; + // how many lines are used to search start position + SANE_Int search_lines = 0; + + const MethodResolutions& get_resolution_settings(ScanMethod method) const; + + std::vector get_resolutions(ScanMethod method) const; +}; + +/** + * Describes the current device status for the backend + * session. This should be more accurately called + * Genesys_Session . + */ +struct Genesys_Device +{ + Genesys_Device() = default; + ~Genesys_Device(); + + using Calibration = std::vector; + + // frees commonly used data + void clear(); + + SANE_Word vendorId = 0; /**< USB vendor identifier */ + SANE_Word productId = 0; /**< USB product identifier */ + + // USB mode: + // 0: not set + // 1: USB 1.1 + // 2: USB 2.0 + SANE_Int usb_mode = 0; + + std::string file_name; + std::string calib_file; + + // if enabled, no calibration data will be loaded or saved to files + SANE_Int force_calibration = 0; + // if enabled, will ignore the scan offsets and start scanning at true origin. This allows + // acquiring the positions of the black and white strips and the actual scan area + bool ignore_offsets = false; + + Genesys_Model *model = nullptr; + + // pointers to low level functions + std::unique_ptr cmd_set; + + Genesys_Register_Set reg; + Genesys_Register_Set calib_reg; + Genesys_Settings settings; + Genesys_Frontend frontend, frontend_initial; + + // whether the frontend is initialized. This is currently used just to preserve historical + // behavior + bool frontend_is_init = false; + + Genesys_Gpo gpo; + Genesys_Motor motor; + std::uint8_t control[6] = {}; + + size_t average_size = 0; + // number of pixels used during shading calibration + size_t calib_pixels = 0; + // number of lines used during shading calibration + size_t calib_lines = 0; + size_t calib_channels = 0; + size_t calib_resolution = 0; + // bytes to read from USB when calibrating. If 0, this is not set + size_t calib_total_bytes_to_read = 0; + + // the session that was configured for calibration + ScanSession calib_session; + + // certain scanners support much higher resolution when scanning transparency, but we can't + // read whole width of the scanner as a single line at that resolution. Thus for stuff like + // calibration we want to read only the possible calibration area. + size_t calib_pixels_offset = 0; + + // gamma overrides. If a respective array is not empty then it means that the gamma for that + // color is overridden. + std::vector gamma_override_tables[3]; + + std::vector white_average_data; + std::vector dark_average_data; + + bool already_initialized = false; + + bool read_active = false; + // signal wether the park command has been issued + bool parking = false; + + // for sheetfed scanner's, is TRUE when there is a document in the scanner + bool document = false; + + Genesys_Buffer read_buffer; + + // buffer for digital lineart from gray data + Genesys_Buffer binarize_buffer; + // local buffer for gray data during dynamix lineart + Genesys_Buffer local_buffer; + + // total bytes read sent to frontend + size_t total_bytes_read = 0; + // total bytes read to be sent to frontend + size_t total_bytes_to_read = 0; + + // contains computed data for the current setup + ScanSession session; + + // look up table used in dynamic rasterization + unsigned char lineart_lut[256] = {}; + + Calibration calibration_cache; + + // number of scan lines used during scan + int line_count = 0; + + // array describing the order of the sub-segments of the sensor + std::vector segment_order; + + // buffer to handle even/odd data + Genesys_Buffer oe_buffer = {}; + + // stores information about how the input image should be processed + ImagePipelineStack pipeline; + + // an buffer that allows reading from `pipeline` in chunks of any size + ImageBuffer pipeline_buffer; + + // when true the scanned picture is first buffered to allow software image enhancements + bool buffer_image = false; + + // image buffer where the scanned picture is stored + std::vector img_buffer; + + ImagePipelineNodeBytesSource& get_pipeline_source(); + + std::unique_ptr interface; + + bool is_head_pos_known(ScanHeadId scan_head) const; + unsigned head_pos(ScanHeadId scan_head) const; + void set_head_pos_unknown(); + void set_head_pos_zero(ScanHeadId scan_head); + void advance_head_pos_by_session(ScanHeadId scan_head); + void advance_head_pos_by_steps(ScanHeadId scan_head, Direction direction, unsigned steps); + +private: + // the position of the primary scan head in motor->base_dpi units + unsigned head_pos_primary_ = 0; + bool is_head_pos_primary_known_ = true; + + // the position of the secondary scan head in motor->base_dpi units. Only certain scanners + // have a secondary scan head. + unsigned head_pos_secondary_ = 0; + bool is_head_pos_secondary_known_ = true; + + friend class ScannerInterfaceUsb; +}; + +std::ostream& operator<<(std::ostream& out, const Genesys_Device& dev); + +void apply_reg_settings_to_device(Genesys_Device& dev, const GenesysRegisterSettingSet& regs); + +} // namespace genesys + +#endif diff --git a/backend/genesys/enums.cpp b/backend/genesys/enums.cpp new file mode 100644 index 0000000..f515cfd --- /dev/null +++ b/backend/genesys/enums.cpp @@ -0,0 +1,131 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "enums.h" +#include "genesys.h" +#include + +namespace genesys { + +const char* scan_method_to_option_string(ScanMethod method) +{ + switch (method) { + case ScanMethod::FLATBED: return STR_FLATBED; + case ScanMethod::TRANSPARENCY: return STR_TRANSPARENCY_ADAPTER; + case ScanMethod::TRANSPARENCY_INFRARED: return STR_TRANSPARENCY_ADAPTER_INFRARED; + } + throw SaneException("Unknown scan method %d", static_cast(method)); +} + +ScanMethod option_string_to_scan_method(const std::string& str) +{ + if (str == STR_FLATBED) { + return ScanMethod::FLATBED; + } else if (str == STR_TRANSPARENCY_ADAPTER) { + return ScanMethod::TRANSPARENCY; + } else if (str == STR_TRANSPARENCY_ADAPTER_INFRARED) { + return ScanMethod::TRANSPARENCY_INFRARED; + } + throw SaneException("Unknown scan method option %s", str.c_str()); +} + +const char* scan_color_mode_to_option_string(ScanColorMode mode) +{ + switch (mode) { + case ScanColorMode::COLOR_SINGLE_PASS: return SANE_VALUE_SCAN_MODE_COLOR; + case ScanColorMode::GRAY: return SANE_VALUE_SCAN_MODE_GRAY; + case ScanColorMode::HALFTONE: return SANE_VALUE_SCAN_MODE_HALFTONE; + case ScanColorMode::LINEART: return SANE_VALUE_SCAN_MODE_LINEART; + } + throw SaneException("Unknown scan mode %d", static_cast(mode)); +} + +ScanColorMode option_string_to_scan_color_mode(const std::string& str) +{ + if (str == SANE_VALUE_SCAN_MODE_COLOR) { + return ScanColorMode::COLOR_SINGLE_PASS; + } else if (str == SANE_VALUE_SCAN_MODE_GRAY) { + return ScanColorMode::GRAY; + } else if (str == SANE_VALUE_SCAN_MODE_HALFTONE) { + return ScanColorMode::HALFTONE; + } else if (str == SANE_VALUE_SCAN_MODE_LINEART) { + return ScanColorMode::LINEART; + } + throw SaneException("Unknown scan color mode %s", str.c_str()); +} + + +std::ostream& operator<<(std::ostream& out, ColorFilter mode) +{ + switch (mode) { + case ColorFilter::RED: out << "RED"; break; + case ColorFilter::GREEN: out << "GREEN"; break; + case ColorFilter::BLUE: out << "BLUE"; break; + case ColorFilter::NONE: out << "NONE"; break; + default: out << static_cast(mode); break; + } + return out; +} + +std::ostream& operator<<(std::ostream& out, StepType type) +{ + switch (type) { + case StepType::FULL: out << "1/1"; break; + case StepType::HALF: out << "1/2"; break; + case StepType::QUARTER: out << "1/4"; break; + case StepType::EIGHTH: out << "1/8"; break; + default: out << static_cast(type); break; + } + return out; +} + +std::ostream& operator<<(std::ostream& out, ScanFlag flags) +{ + StreamStateSaver state_saver{out}; + out << "0x" << std::hex << static_cast(flags); + return out; +} + +} // namespace genesys diff --git a/backend/genesys/enums.h b/backend/genesys/enums.h new file mode 100644 index 0000000..810c4ca --- /dev/null +++ b/backend/genesys/enums.h @@ -0,0 +1,530 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_ENUMS_H +#define BACKEND_GENESYS_ENUMS_H + +#include +#include "serialize.h" + +namespace genesys { + +enum class ScanMethod : unsigned { + // normal scan method + FLATBED = 0, + // scan using transparency adaptor + TRANSPARENCY = 1, + // scan using transparency adaptor via infrared channel + TRANSPARENCY_INFRARED = 2 +}; + +inline std::ostream& operator<<(std::ostream& out, ScanMethod mode) +{ + switch (mode) { + case ScanMethod::FLATBED: out << "FLATBED"; return out; + case ScanMethod::TRANSPARENCY: out << "TRANSPARENCY"; return out; + case ScanMethod::TRANSPARENCY_INFRARED: out << "TRANSPARENCY_INFRARED"; return out; + } + return out; +} + +inline void serialize(std::istream& str, ScanMethod& x) +{ + unsigned value; + serialize(str, value); + x = static_cast(value); +} + +inline void serialize(std::ostream& str, ScanMethod& x) +{ + unsigned value = static_cast(x); + serialize(str, value); +} + +const char* scan_method_to_option_string(ScanMethod method); +ScanMethod option_string_to_scan_method(const std::string& str); + +enum class ScanColorMode : unsigned { + LINEART = 0, + HALFTONE, + GRAY, + COLOR_SINGLE_PASS +}; + +inline std::ostream& operator<<(std::ostream& out, ScanColorMode mode) +{ + switch (mode) { + case ScanColorMode::LINEART: out << "LINEART"; return out; + case ScanColorMode::HALFTONE: out << "HALFTONE"; return out; + case ScanColorMode::GRAY: out << "GRAY"; return out; + case ScanColorMode::COLOR_SINGLE_PASS: out << "COLOR_SINGLE_PASS"; return out; + } + return out; +} + +inline void serialize(std::istream& str, ScanColorMode& x) +{ + unsigned value; + serialize(str, value); + x = static_cast(value); +} + +inline void serialize(std::ostream& str, ScanColorMode& x) +{ + unsigned value = static_cast(x); + serialize(str, value); +} + +const char* scan_color_mode_to_option_string(ScanColorMode mode); +ScanColorMode option_string_to_scan_color_mode(const std::string& str); + + +enum class ScanHeadId : unsigned { + NONE = 0, + PRIMARY = 1 << 0, + SECONDARY = 1 << 1, + ALL = PRIMARY | SECONDARY, +}; + +inline ScanHeadId operator|(ScanHeadId left, ScanHeadId right) +{ + return static_cast(static_cast(left) | static_cast(right)); +} + +inline ScanHeadId operator&(ScanHeadId left, ScanHeadId right) +{ + return static_cast(static_cast(left) & static_cast(right)); +} + + +enum class ColorFilter : unsigned { + RED = 0, + GREEN, + BLUE, + NONE +}; + +std::ostream& operator<<(std::ostream& out, ColorFilter mode); + +inline void serialize(std::istream& str, ColorFilter& x) +{ + unsigned value; + serialize(str, value); + x = static_cast(value); +} + +inline void serialize(std::ostream& str, ColorFilter& x) +{ + unsigned value = static_cast(x); + serialize(str, value); +} + +enum class ColorOrder +{ + RGB, + GBR, + BGR, +}; + +/* Enum value naming conventions: + Full name must be included with the following exceptions: + + Canon scanners omit "Canoscan" if present +*/ +enum class ModelId : unsigned +{ + UNKNOWN = 0, + CANON_4400F, + CANON_5600F, + CANON_8400F, + CANON_8600F, + CANON_IMAGE_FORMULA_101, + CANON_LIDE_50, + CANON_LIDE_60, + CANON_LIDE_80, + CANON_LIDE_100, + CANON_LIDE_110, + CANON_LIDE_120, + CANON_LIDE_200, + CANON_LIDE_210, + CANON_LIDE_220, + CANON_LIDE_700F, + DCT_DOCKETPORT_487, + HP_SCANJET_2300C, + HP_SCANJET_2400C, + HP_SCANJET_3670, + HP_SCANJET_4850C, + HP_SCANJET_G4010, + HP_SCANJET_G4050, + HP_SCANJET_N6310, + MEDION_MD5345, + PANASONIC_KV_SS080, + PENTAX_DSMOBILE_600, + PLUSTEK_OPTICBOOK_3800, + PLUSTEK_OPTICFILM_7200I, + PLUSTEK_OPTICFILM_7300, + PLUSTEK_OPTICFILM_7500I, + PLUSTEK_OPTICPRO_3600, + PLUSTEK_OPTICPRO_ST12, + PLUSTEK_OPTICPRO_ST24, + SYSCAN_DOCKETPORT_465, + SYSCAN_DOCKETPORT_467, + SYSCAN_DOCKETPORT_485, + SYSCAN_DOCKETPORT_665, + SYSCAN_DOCKETPORT_685, + UMAX_ASTRA_4500, + VISIONEER_7100, + VISIONEER_ROADWARRIOR, + VISIONEER_STROBE_XP100_REVISION3, + VISIONEER_STROBE_XP200, + VISIONEER_STROBE_XP300, + XEROX_2400, + XEROX_TRAVELSCANNER_100, +}; + +enum class SensorId : unsigned +{ + UNKNOWN = 0, + CCD_5345, + CCD_CANON_4400F, + CCD_CANON_8400F, + CCD_CANON_8600F, + CCD_DP665, + CCD_DP685, + CCD_DSMOBILE600, + CCD_G4050, + CCD_HP2300, + CCD_HP2400, + CCD_HP3670, + CCD_HP_N6310, + CCD_HP_4850C, + CCD_IMG101, + CCD_KVSS080, + CCD_PLUSTEK_OPTICBOOK_3800, + CCD_PLUSTEK_OPTICFILM_7200I, + CCD_PLUSTEK_OPTICFILM_7300, + CCD_PLUSTEK_OPTICFILM_7500I, + CCD_PLUSTEK_OPTICPRO_3600, + CCD_ROADWARRIOR, + CCD_ST12, // SONY ILX548: 5340 Pixel ??? + CCD_ST24, // SONY ILX569: 10680 Pixel ??? + CCD_UMAX, + CCD_XP300, + CIS_CANON_LIDE_35, + CIS_CANON_LIDE_80, + CIS_CANON_LIDE_100, + CIS_CANON_LIDE_110, + CIS_CANON_LIDE_120, + CIS_CANON_LIDE_200, + CIS_CANON_LIDE_210, + CIS_CANON_LIDE_220, + CIS_CANON_LIDE_700F, + CIS_XP200, +}; + +inline void serialize(std::istream& str, SensorId& x) +{ + unsigned value; + serialize(str, value); + x = static_cast(value); +} + +inline void serialize(std::ostream& str, SensorId& x) +{ + unsigned value = static_cast(x); + serialize(str, value); +} + + +enum class AdcId : unsigned +{ + UNKNOWN = 0, + AD_XP200, + CANON_LIDE_35, + CANON_LIDE_80, + CANON_LIDE_110, + CANON_LIDE_120, + CANON_LIDE_200, + CANON_LIDE_700F, + CANON_4400F, + CANON_8400F, + CANON_8600F, + G4050, + IMG101, + KVSS080, + PLUSTEK_OPTICBOOK_3800, + PLUSTEK_OPTICFILM_7200I, + PLUSTEK_OPTICFILM_7300, + PLUSTEK_OPTICFILM_7500I, + PLUSTEK_OPTICPRO_3600, + WOLFSON_5345, + WOLFSON_DSM600, + WOLFSON_HP2300, + WOLFSON_HP2400, + WOLFSON_HP3670, + WOLFSON_ST12, + WOLFSON_ST24, + WOLFSON_UMAX, + WOLFSON_XP300, +}; + +inline void serialize(std::istream& str, AdcId& x) +{ + unsigned value; + serialize(str, value); + x = static_cast(value); +} + +inline void serialize(std::ostream& str, AdcId& x) +{ + unsigned value = static_cast(x); + serialize(str, value); +} + +enum class GpioId : unsigned +{ + UNKNOWN = 0, + CANON_LIDE_35, + CANON_LIDE_80, + CANON_LIDE_110, + CANON_LIDE_120, + CANON_LIDE_200, + CANON_LIDE_210, + CANON_LIDE_700F, + CANON_4400F, + CANON_8400F, + CANON_8600F, + DP665, + DP685, + G4050, + HP2300, + HP2400, + HP3670, + HP_N6310, + IMG101, + KVSS080, + MD_5345, + PLUSTEK_OPTICBOOK_3800, + PLUSTEK_OPTICFILM_7200I, + PLUSTEK_OPTICFILM_7300, + PLUSTEK_OPTICFILM_7500I, + PLUSTEK_OPTICPRO_3600, + ST12, + ST24, + UMAX, + XP200, + XP300, +}; + +enum class MotorId : unsigned +{ + UNKNOWN = 0, + CANON_LIDE_100, + CANON_LIDE_110, + CANON_LIDE_120, + CANON_LIDE_200, + CANON_LIDE_210, + CANON_LIDE_35, + CANON_LIDE_700, + CANON_LIDE_80, + CANON_4400F, + CANON_8400F, + CANON_8600F, + DP665, + DSMOBILE_600, + G4050, + HP2300, + HP2400, + HP3670, + IMG101, + KVSS080, + MD_5345, + PLUSTEK_OPTICBOOK_3800, + PLUSTEK_OPTICFILM_7200I, + PLUSTEK_OPTICFILM_7300, + PLUSTEK_OPTICFILM_7500I, + PLUSTEK_OPTICPRO_3600, + ROADWARRIOR, + ST24, + UMAX, + XP200, + XP300, +}; + +enum class StepType : unsigned +{ + FULL = 0, + HALF = 1, + QUARTER = 2, + EIGHTH = 3, +}; + +std::ostream& operator<<(std::ostream& out, StepType type); + +inline bool operator<(StepType lhs, StepType rhs) +{ + return static_cast(lhs) < static_cast(rhs); +} +inline bool operator<=(StepType lhs, StepType rhs) +{ + return static_cast(lhs) <= static_cast(rhs); +} +inline bool operator>(StepType lhs, StepType rhs) +{ + return static_cast(lhs) > static_cast(rhs); +} +inline bool operator>=(StepType lhs, StepType rhs) +{ + return static_cast(lhs) >= static_cast(rhs); +} + +enum class AsicType : unsigned +{ + UNKNOWN = 0, + GL646, + GL841, + GL843, + GL845, + GL846, + GL847, + GL124, +}; + + +enum class ScanFlag : unsigned +{ + NONE = 0, + SINGLE_LINE = 1 << 0, + DISABLE_SHADING = 1 << 1, + DISABLE_GAMMA = 1 << 2, + DISABLE_BUFFER_FULL_MOVE = 1 << 3, + IGNORE_LINE_DISTANCE = 1 << 4, + DISABLE_LAMP = 1 << 5, + CALIBRATION = 1 << 6, + FEEDING = 1 << 7, + USE_XPA = 1 << 8, + ENABLE_LEDADD = 1 << 9, + USE_XCORRECTION = 1 << 10, + REVERSE = 1 << 11, +}; + +inline ScanFlag operator|(ScanFlag left, ScanFlag right) +{ + return static_cast(static_cast(left) | static_cast(right)); +} + +inline ScanFlag& operator|=(ScanFlag& left, ScanFlag right) +{ + left = left | right; + return left; +} + +inline ScanFlag operator&(ScanFlag left, ScanFlag right) +{ + return static_cast(static_cast(left) & static_cast(right)); +} + +inline bool has_flag(ScanFlag flags, ScanFlag which) +{ + return (flags & which) == which; +} + +inline void serialize(std::istream& str, ScanFlag& x) +{ + unsigned value; + serialize(str, value); + x = static_cast(value); +} + +inline void serialize(std::ostream& str, ScanFlag& x) +{ + unsigned value = static_cast(x); + serialize(str, value); +} + +std::ostream& operator<<(std::ostream& out, ScanFlag flags); + + + +enum class MotorFlag : unsigned +{ + NONE = 0, + AUTO_GO_HOME = 1 << 0, + DISABLE_BUFFER_FULL_MOVE = 1 << 2, + FEED = 1 << 3, + USE_XPA = 1 << 4, + REVERSE = 1 << 5, +}; + +inline MotorFlag operator|(MotorFlag left, MotorFlag right) +{ + return static_cast(static_cast(left) | static_cast(right)); +} + +inline MotorFlag& operator|=(MotorFlag& left, MotorFlag right) +{ + left = left | right; + return left; +} + +inline MotorFlag operator&(MotorFlag left, MotorFlag right) +{ + return static_cast(static_cast(left) & static_cast(right)); +} + +inline bool has_flag(MotorFlag flags, MotorFlag which) +{ + return (flags & which) == which; +} + + +enum class Direction : unsigned +{ + FORWARD = 0, + BACKWARD = 1 +}; + + +} // namespace genesys + +#endif // BACKEND_GENESYS_ENUMS_H diff --git a/backend/genesys/error.cpp b/backend/genesys/error.cpp new file mode 100644 index 0000000..6c921c1 --- /dev/null +++ b/backend/genesys/error.cpp @@ -0,0 +1,215 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "error.h" +#include + +namespace genesys { + +extern "C" void sanei_debug_msg(int level, int max_level, const char *be, const char *fmt, + std::va_list ap); + +#if (defined(__GNUC__) || defined(__CLANG__)) && (defined(__linux__) || defined(__APPLE__)) +extern "C" char* __cxa_get_globals(); +#endif + +static unsigned num_uncaught_exceptions() +{ +#if __cplusplus >= 201703L + int count = std::uncaught_exceptions(); + return count >= 0 ? count : 0; +#elif (defined(__GNUC__) || defined(__CLANG__)) && (defined(__linux__) || defined(__APPLE__)) + // the format of the __cxa_eh_globals struct is enshrined into the Itanium C++ ABI and it's + // very unlikely we'll get issues referencing it directly + char* cxa_eh_globals_ptr = __cxa_get_globals(); + return *reinterpret_cast(cxa_eh_globals_ptr + sizeof(void*)); +#else + return std::uncaught_exception() ? 1 : 0; +#endif +} + +SaneException::SaneException(SANE_Status status) : status_(status) +{ + set_msg(); +} + +SaneException::SaneException(SANE_Status status, const char* format, ...) : status_(status) +{ + std::va_list args; + va_start(args, format); + set_msg(format, args); + va_end(args); +} + +SaneException::SaneException(const char* format, ...) : status_(SANE_STATUS_INVAL) +{ + std::va_list args; + va_start(args, format); + set_msg(format, args); + va_end(args); +} + +SANE_Status SaneException::status() const +{ + return status_; +} + +const char* SaneException::what() const noexcept +{ + return msg_.c_str(); +} + +void SaneException::set_msg() +{ + const char* status_msg = sane_strstatus(status_); + std::size_t status_msg_len = std::strlen(status_msg); + msg_.reserve(status_msg_len); + msg_ = status_msg; +} + +void SaneException::set_msg(const char* format, std::va_list vlist) +{ + const char* status_msg = sane_strstatus(status_); + std::size_t status_msg_len = std::strlen(status_msg); + + std::va_list vlist2; + va_copy(vlist2, vlist); + int msg_len = std::vsnprintf(nullptr, 0, format, vlist2); + va_end(vlist2); + + if (msg_len < 0) { + const char* formatting_error_msg = "(error formatting arguments)"; + msg_.reserve(std::strlen(formatting_error_msg) + 3 + status_msg_len); + msg_ = formatting_error_msg; + msg_ += " : "; + msg_ += status_msg; + return; + } + + msg_.reserve(msg_len + status_msg_len + 3); + msg_.resize(msg_len + 1, ' '); + std::vsnprintf(&msg_[0], msg_len + 1, format, vlist); + msg_.resize(msg_len, ' '); + + msg_ += " : "; + msg_ += status_msg; +} + +DebugMessageHelper::DebugMessageHelper(const char* func) +{ + func_ = func; + num_exceptions_on_enter_ = num_uncaught_exceptions(); + msg_[0] = '\0'; + DBG(DBG_proc, "%s: start\n", func_); +} + +DebugMessageHelper::DebugMessageHelper(const char* func, const char* format, ...) +{ + func_ = func; + num_exceptions_on_enter_ = num_uncaught_exceptions(); + msg_[0] = '\0'; + DBG(DBG_proc, "%s: start\n", func_); + DBG(DBG_proc, "%s: ", func_); + + std::va_list args; + va_start(args, format); + sanei_debug_msg(DBG_proc, DBG_LEVEL, STRINGIFY(BACKEND_NAME), format, args); + va_end(args); + DBG(DBG_proc, "\n"); +} + + +DebugMessageHelper::~DebugMessageHelper() +{ + if (num_exceptions_on_enter_ < num_uncaught_exceptions()) { + if (msg_[0] != '\0') { + DBG(DBG_error, "%s: failed during %s\n", func_, msg_); + } else { + DBG(DBG_error, "%s: failed\n", func_); + } + } else { + DBG(DBG_proc, "%s: completed\n", func_); + } +} + +void DebugMessageHelper::vstatus(const char* format, ...) +{ + std::va_list args; + va_start(args, format); + std::vsnprintf(msg_, MAX_BUF_SIZE, format, args); + va_end(args); +} + +void DebugMessageHelper::log(unsigned level, const char* msg) +{ + DBG(level, "%s: %s\n", func_, msg); +} + +void DebugMessageHelper::vlog(unsigned level, const char* format, ...) +{ + std::string msg; + + std::va_list args; + + va_start(args, format); + int msg_len = std::vsnprintf(nullptr, 0, format, args); + va_end(args); + + if (msg_len < 0) { + DBG(level, "%s: error formatting error message: %s\n", func_, format); + return; + } + msg.resize(msg_len + 1, ' '); + + va_start(args, format); + std::vsnprintf(&msg.front(), msg.size(), format, args); + va_end(args); + + msg.resize(msg_len, ' '); // strip the null character + + DBG(level, "%s: %s\n", func_, msg.c_str()); +} + +} // namespace genesys diff --git a/backend/genesys/error.h b/backend/genesys/error.h new file mode 100644 index 0000000..5aba8cf --- /dev/null +++ b/backend/genesys/error.h @@ -0,0 +1,199 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_ERROR_H +#define BACKEND_GENESYS_ERROR_H + +#include "../include/sane/config.h" +#include "../include/sane/sane.h" +#include "../include/sane/sanei_backend.h" + +#include +#include +#include +#include +#include + +#define DBG_error0 0 /* errors/warnings printed even with devuglevel 0 */ +#define DBG_error 1 /* fatal errors */ +#define DBG_init 2 /* initialization and scanning time messages */ +#define DBG_warn 3 /* warnings and non-fatal errors */ +#define DBG_info 4 /* informational messages */ +#define DBG_proc 5 /* starting/finishing functions */ +#define DBG_io 6 /* io functions */ +#define DBG_io2 7 /* io functions that are called very often */ +#define DBG_data 8 /* log image data */ + +namespace genesys { + +class SaneException : public std::exception { +public: + SaneException(SANE_Status status); + SaneException(SANE_Status status, const char* format, ...) + #ifdef __GNUC__ + __attribute__((format(printf, 3, 4))) + #endif + ; + + SaneException(const char* format, ...) + #ifdef __GNUC__ + __attribute__((format(printf, 2, 3))) + #endif + ; + + SANE_Status status() const; + const char* what() const noexcept override; + +private: + + void set_msg(); + void set_msg(const char* format, std::va_list vlist); + + std::string msg_; + SANE_Status status_; +}; + +// call a function and throw an exception on error +#define TIE(function) \ + do { \ + SANE_Status tmp_status = function; \ + if (tmp_status != SANE_STATUS_GOOD) { \ + throw ::genesys::SaneException(tmp_status); \ + } \ + } while (false) + +class DebugMessageHelper { +public: + static constexpr unsigned MAX_BUF_SIZE = 120; + + DebugMessageHelper(const char* func); + DebugMessageHelper(const char* func, const char* format, ...) + #ifdef __GNUC__ + __attribute__((format(printf, 3, 4))) + #endif + ; + + ~DebugMessageHelper(); + + void status(const char* msg) { vstatus("%s", msg); } + void vstatus(const char* format, ...) + #ifdef __GNUC__ + __attribute__((format(printf, 2, 3))) + #endif + ; + + void clear() { msg_[0] = '\n'; } + + void log(unsigned level, const char* msg); + void vlog(unsigned level, const char* format, ...) + #ifdef __GNUC__ + __attribute__((format(printf, 3, 4))) + #endif + ; + +private: + const char* func_ = nullptr; + char msg_[MAX_BUF_SIZE]; + unsigned num_exceptions_on_enter_ = 0; +}; + + +#if defined(__GNUC__) || defined(__clang__) +#define GENESYS_CURRENT_FUNCTION __PRETTY_FUNCTION__ +#elif defined(__FUNCSIG__) +#define GENESYS_CURRENT_FUNCTION __FUNCSIG__ +#else +#define GENESYS_CURRENT_FUNCTION __func__ +#endif + +#define DBG_HELPER(var) DebugMessageHelper var(GENESYS_CURRENT_FUNCTION) +#define DBG_HELPER_ARGS(var, ...) DebugMessageHelper var(GENESYS_CURRENT_FUNCTION, __VA_ARGS__) + +template +SANE_Status wrap_exceptions_to_status_code(const char* func, F&& function) +{ + try { + function(); + return SANE_STATUS_GOOD; + } catch (const SaneException& exc) { + DBG(DBG_error, "%s: got error: %s\n", func, exc.what()); + return exc.status(); + } catch (const std::bad_alloc& exc) { + (void) exc; + DBG(DBG_error, "%s: failed to allocate memory\n", func); + return SANE_STATUS_NO_MEM; + } catch (const std::exception& exc) { + DBG(DBG_error, "%s: got uncaught exception: %s\n", func, exc.what()); + return SANE_STATUS_INVAL; + } catch (...) { + DBG(DBG_error, "%s: got unknown uncaught exception\n", func); + return SANE_STATUS_INVAL; + } +} + +template +void catch_all_exceptions(const char* func, F&& function) +{ + try { + function(); + } catch (const SaneException& exc) { + DBG(DBG_error, "%s: got exception: %s\n", func, exc.what()); + } catch (const std::bad_alloc& exc) { + DBG(DBG_error, "%s: got exception: could not allocate memory: %s\n", func, exc.what()); + } catch (const std::exception& exc) { + DBG(DBG_error, "%s: got uncaught exception: %s\n", func, exc.what()); + } catch (...) { + DBG(DBG_error, "%s: got unknown uncaught exception\n", func); + } +} + +inline void wrap_status_code_to_exception(SANE_Status status) +{ + if (status == SANE_STATUS_GOOD) + return; + throw SaneException(status); +} + +} // namespace genesys + +#endif // BACKEND_GENESYS_ERROR_H diff --git a/backend/genesys/fwd.h b/backend/genesys/fwd.h new file mode 100644 index 0000000..2d55f98 --- /dev/null +++ b/backend/genesys/fwd.h @@ -0,0 +1,132 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_FWD_H +#define BACKEND_GENESYS_FWD_H + +namespace genesys { + +// buffer.h +struct Genesys_Buffer; + +// calibration.h +struct Genesys_Calibration_Cache; + +// command_set.h +class CommandSet; + +// device.h +class FixedFloat; +struct Genesys_Gpo; +struct MethodResolutions; +struct Genesys_Model; +struct Genesys_Device; + +// error.h +class DebugMessageHelper; +class SaneException; + +// genesys.h +class GenesysButton; +struct Genesys_Scanner; + +// image.h +class Image; + +// image_buffer.h +class ImageBuffer; +class FakeBufferModel; +class ImageBufferGenesysUsb; + +// image_pipeline.h +class ImagePipelineNode; +// ImagePipelineNode* skipped +class ImagePipelineStack; + +// image_pixel.h +struct Pixel; +struct RawPixel; + +// low.h +struct Genesys_USB_Device_Entry; +struct Motor_Profile; + +// motor.h +struct Genesys_Motor; +struct MotorSlope; +struct MotorSlopeTable; + +// register.h +class Genesys_Register_Set; +struct GenesysRegisterSetState; + +// row_buffer.h +class RowBuffer; + +// usb_device.h +class IUsbDevice; +class UsbDevice; + +// scanner_interface.h +class ScannerInterface; +class ScannerInterfaceUsb; +class TestScannerInterface; + +// sensor.h +class ResolutionFilter; +struct GenesysFrontendLayout; +struct Genesys_Frontend; +struct SensorExposure; +struct Genesys_Sensor; + +// settings.h +struct Genesys_Settings; +struct SetupParams; +struct ScanSession; + +// test_usb_device.h +class TestUsbDevice; + +} // namespace genesys + +#endif diff --git a/backend/genesys/genesys.cpp b/backend/genesys/genesys.cpp new file mode 100644 index 0000000..7c25168 --- /dev/null +++ b/backend/genesys/genesys.cpp @@ -0,0 +1,6172 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2003, 2004 Henning Meier-Geinitz + Copyright (C) 2004, 2005 Gerhard Jaeger + Copyright (C) 2004-2016 Stéphane Voltz + Copyright (C) 2005-2009 Pierre Willenbrock + Copyright (C) 2006 Laurent Charpentier + Copyright (C) 2007 Luke + Copyright (C) 2010 Chris Berry and Michael Rickmann + for Plustek Opticbook 3600 support + + Dynamic rasterization code was taken from the epjistsu backend by + m. allan noah + + Software processing for deskew, crop and dspeckle are inspired by allan's + noah work in the fujitsu backend + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +/* + * SANE backend for Genesys Logic GL646/GL841/GL842/GL843/GL846/GL847/GL124 based scanners + */ + +#define DEBUG_NOT_STATIC + +#include "genesys.h" +#include "conv.h" +#include "gl124_registers.h" +#include "gl841_registers.h" +#include "gl843_registers.h" +#include "gl846_registers.h" +#include "gl847_registers.h" +#include "usb_device.h" +#include "utilities.h" +#include "scanner_interface_usb.h" +#include "test_scanner_interface.h" +#include "test_settings.h" +#include "../include/sane/sanei_config.h" +#include "../include/sane/sanei_magic.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef SANE_GENESYS_API_LINKAGE +#define SANE_GENESYS_API_LINKAGE extern "C" +#endif + +namespace genesys { + +// Data that we allocate to back SANE_Device objects in s_sane_devices +struct SANE_Device_Data +{ + std::string name; +}; + +namespace { + StaticInit> s_scanners; + StaticInit> s_sane_devices; + StaticInit> s_sane_devices_data; + StaticInit> s_sane_devices_ptrs; + StaticInit> s_devices; + + // Maximum time for lamp warm-up + constexpr unsigned WARMUP_TIME = 65; +} // namespace + +static SANE_String_Const mode_list[] = { + SANE_VALUE_SCAN_MODE_COLOR, + SANE_VALUE_SCAN_MODE_GRAY, + /* SANE_TITLE_HALFTONE, currently unused */ + SANE_VALUE_SCAN_MODE_LINEART, + nullptr +}; + +static SANE_String_Const color_filter_list[] = { + SANE_I18N ("Red"), + SANE_I18N ("Green"), + SANE_I18N ("Blue"), + nullptr +}; + +static SANE_String_Const cis_color_filter_list[] = { + SANE_I18N ("Red"), + SANE_I18N ("Green"), + SANE_I18N ("Blue"), + SANE_I18N ("None"), + nullptr +}; + +static SANE_Range swdespeck_range = { + 1, + 9, + 1 +}; + +static SANE_Range time_range = { + 0, /* minimum */ + 60, /* maximum */ + 0 /* quantization */ +}; + +static const SANE_Range u12_range = { + 0, /* minimum */ + 4095, /* maximum */ + 0 /* quantization */ +}; + +static const SANE_Range u14_range = { + 0, /* minimum */ + 16383, /* maximum */ + 0 /* quantization */ +}; + +static const SANE_Range u16_range = { + 0, /* minimum */ + 65535, /* maximum */ + 0 /* quantization */ +}; + +static const SANE_Range percentage_range = { + SANE_FIX (0), /* minimum */ + SANE_FIX (100), /* maximum */ + SANE_FIX (1) /* quantization */ +}; + +static const SANE_Range threshold_curve_range = { + 0, /* minimum */ + 127, /* maximum */ + 1 /* quantization */ +}; + +/** + * range for brightness and contrast + */ +static const SANE_Range enhance_range = { + -100, /* minimum */ + 100, /* maximum */ + 1 /* quantization */ +}; + +/** + * range for expiration time + */ +static const SANE_Range expiration_range = { + -1, /* minimum */ + 30000, /* maximum */ + 1 /* quantization */ +}; + +const Genesys_Sensor& sanei_genesys_find_sensor_any(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + for (const auto& sensor : *s_sensors) { + if (dev->model->sensor_id == sensor.sensor_id) { + return sensor; + } + } + throw std::runtime_error("Given device does not have sensor defined"); +} + +Genesys_Sensor* find_sensor_impl(Genesys_Device* dev, unsigned dpi, unsigned channels, + ScanMethod scan_method) +{ + DBG_HELPER_ARGS(dbg, "dpi: %d, channels: %d, scan_method: %d", dpi, channels, + static_cast(scan_method)); + for (auto& sensor : *s_sensors) { + if (dev->model->sensor_id == sensor.sensor_id && sensor.resolutions.matches(dpi) && + sensor.matches_channel_count(channels) && sensor.method == scan_method) + { + return &sensor; + } + } + return nullptr; +} + +bool sanei_genesys_has_sensor(Genesys_Device* dev, unsigned dpi, unsigned channels, + ScanMethod scan_method) +{ + DBG_HELPER_ARGS(dbg, "dpi: %d, channels: %d, scan_method: %d", dpi, channels, + static_cast(scan_method)); + return find_sensor_impl(dev, dpi, channels, scan_method) != nullptr; +} + +const Genesys_Sensor& sanei_genesys_find_sensor(Genesys_Device* dev, unsigned dpi, unsigned channels, + ScanMethod scan_method) +{ + DBG_HELPER_ARGS(dbg, "dpi: %d, channels: %d, scan_method: %d", dpi, channels, + static_cast(scan_method)); + const auto* sensor = find_sensor_impl(dev, dpi, channels, scan_method); + if (sensor) + return *sensor; + throw std::runtime_error("Given device does not have sensor defined"); +} + +Genesys_Sensor& sanei_genesys_find_sensor_for_write(Genesys_Device* dev, unsigned dpi, + unsigned channels, + ScanMethod scan_method) +{ + DBG_HELPER_ARGS(dbg, "dpi: %d, channels: %d, scan_method: %d", dpi, channels, + static_cast(scan_method)); + auto* sensor = find_sensor_impl(dev, dpi, channels, scan_method); + if (sensor) + return *sensor; + throw std::runtime_error("Given device does not have sensor defined"); +} + + +std::vector> + sanei_genesys_find_sensors_all(Genesys_Device* dev, ScanMethod scan_method) +{ + DBG_HELPER_ARGS(dbg, "scan_method: %d", static_cast(scan_method)); + std::vector> ret; + for (const Genesys_Sensor& sensor : sanei_genesys_find_sensors_all_for_write(dev, scan_method)) { + ret.push_back(sensor); + } + return ret; +} + +std::vector> + sanei_genesys_find_sensors_all_for_write(Genesys_Device* dev, ScanMethod scan_method) +{ + DBG_HELPER_ARGS(dbg, "scan_method: %d", static_cast(scan_method)); + std::vector> ret; + for (auto& sensor : *s_sensors) { + if (dev->model->sensor_id == sensor.sensor_id && sensor.method == scan_method) { + ret.push_back(sensor); + } + } + return ret; +} + +void sanei_genesys_init_structs (Genesys_Device * dev) +{ + DBG_HELPER(dbg); + + bool gpo_ok = false; + bool motor_ok = false; + bool fe_ok = false; + + /* initialize the GPO data stuff */ + for (const auto& gpo : *s_gpo) { + if (dev->model->gpio_id == gpo.id) { + dev->gpo = gpo; + gpo_ok = true; + break; + } + } + + // initialize the motor data stuff + for (const auto& motor : *s_motors) { + if (dev->model->motor_id == motor.id) { + dev->motor = motor; + motor_ok = true; + break; + } + } + + for (const auto& frontend : *s_frontends) { + if (dev->model->adc_id == frontend.id) { + dev->frontend_initial = frontend; + dev->frontend = frontend; + fe_ok = true; + break; + } + } + + if (!motor_ok || !gpo_ok || !fe_ok) { + throw SaneException("bad description(s) for fe/gpo/motor=%d/%d/%d\n", + static_cast(dev->model->sensor_id), + static_cast(dev->model->gpio_id), + static_cast(dev->model->motor_id)); + } +} + +/* Generate slope table for motor movement */ +/** + * This function generates a slope table using the slope from the motor struct + * truncated at the given exposure time or step count, whichever comes first. + * The summed time of the acceleration steps is returned, and the + * number of accerelation steps is put into used_steps. + * + * @param dev Device struct + * @param slope_table Table to write to + * @param step_type Generate table for this step_type. 0=>full, 1=>half, + * 2=>quarter + * @param exposure_time Minimum exposure time of a scan line + * @param yres Resolution of a scan line + * @param used_steps Final number of steps is stored here + * @return Motor slope table + * @note all times in pixel time + */ +MotorSlopeTable sanei_genesys_create_slope_table3(AsicType asic_type, const Genesys_Motor& motor, + StepType step_type, int exposure_time, + unsigned yres) +{ + unsigned target_speed_w = (exposure_time * yres) / motor.base_ydpi; + + return create_slope_table(motor.get_slope(step_type), target_speed_w, step_type, 1, 1, + get_slope_table_max_size(asic_type)); +} + +/** @brief computes gamma table + * Generates a gamma table of the given length within 0 and the given + * maximum value + * @param gamma_table gamma table to fill + * @param size size of the table + * @param maximum value allowed for gamma + * @param gamma_max maximum gamma value + * @param gamma gamma to compute values + * @return a gamma table filled with the computed values + * */ +void +sanei_genesys_create_gamma_table (std::vector& gamma_table, int size, + float maximum, float gamma_max, float gamma) +{ + gamma_table.clear(); + gamma_table.resize(size, 0); + + int i; + float value; + + DBG(DBG_proc, "%s: size = %d, ""maximum = %g, gamma_max = %g, gamma = %g\n", __func__, size, + maximum, gamma_max, gamma); + for (i = 0; i < size; i++) + { + value = static_cast(gamma_max * std::pow(static_cast(i) / size, 1.0 / gamma)); + if (value > maximum) { + value = maximum; + } + gamma_table[i] = static_cast(value); + } + DBG(DBG_proc, "%s: completed\n", __func__); +} + +void sanei_genesys_create_default_gamma_table(Genesys_Device* dev, + std::vector& gamma_table, float gamma) +{ + int size = 0; + int max = 0; + if (dev->model->asic_type == AsicType::GL646) { + if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) { + size = 16384; + } else { + size = 4096; + } + max = size - 1; + } else if (dev->model->asic_type == AsicType::GL124 || + dev->model->asic_type == AsicType::GL846 || + dev->model->asic_type == AsicType::GL847) { + size = 257; + max = 65535; + } else { + size = 256; + max = 65535; + } + sanei_genesys_create_gamma_table(gamma_table, size, max, max, gamma); +} + +/* computes the exposure_time on the basis of the given vertical dpi, + the number of pixels the ccd needs to send, + the step_type and the corresponding maximum speed from the motor struct */ +/* + Currently considers maximum motor speed at given step_type, minimum + line exposure needed for conversion and led exposure time. + + TODO: Should also consider maximum transfer rate: ~6.5MB/s. + Note: The enhance option of the scanners does _not_ help. It only halves + the amount of pixels transfered. + */ +SANE_Int sanei_genesys_exposure_time2(Genesys_Device * dev, float ydpi, + StepType step_type, int endpixel, int exposure_by_led) +{ + int exposure_by_ccd = endpixel + 32; + unsigned max_speed_motor_w = dev->motor.get_slope(step_type).max_speed_w; + int exposure_by_motor = static_cast((max_speed_motor_w * dev->motor.base_ydpi) / ydpi); + + int exposure = exposure_by_ccd; + + if (exposure < exposure_by_motor) + exposure = exposure_by_motor; + + if (exposure < exposure_by_led && dev->model->is_cis) + exposure = exposure_by_led; + + DBG(DBG_info, "%s: ydpi=%d, step=%d, endpixel=%d led=%d => exposure=%d\n", __func__, + static_cast(ydpi), static_cast(step_type), endpixel, + exposure_by_led, exposure); + return exposure; +} + + +/* Sends a block of shading information to the scanner. + The data is placed at address 0x0000 for color mode, gray mode and + unconditionally for the following CCD chips: HP2300, HP2400 and HP5345 + In the other cases (lineart, halftone on ccd chips not mentioned) the + addresses are 0x2a00 for dpihw==0, 0x5500 for dpihw==1 and 0xa800 for + dpihw==2. //Note: why this? + + The data needs to be of size "size", and in little endian byte order. + */ +static void genesys_send_offset_and_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + uint8_t* data, int size) +{ + DBG_HELPER_ARGS(dbg, "(size = %d)", size); + int dpihw; + int start_address; + + /* ASIC higher than gl843 doesn't have register 2A/2B, so we route to + * a per ASIC shading data loading function if available. + * It is also used for scanners using SHDAREA */ + if (dev->cmd_set->has_send_shading_data()) { + dev->cmd_set->send_shading_data(dev, sensor, data, size); + return; + } + + /* gl646, gl84[123] case */ + dpihw = dev->reg.get8(0x05) >> 6; + + /* TODO invert the test so only the 2 models behaving like that are + * tested instead of adding all the others */ + /* many scanners send coefficient for lineart/gray like in color mode */ + if ((dev->settings.scan_mode == ScanColorMode::LINEART || + dev->settings.scan_mode == ScanColorMode::HALFTONE) + && dev->model->sensor_id != SensorId::CCD_PLUSTEK_OPTICBOOK_3800 + && dev->model->sensor_id != SensorId::CCD_KVSS080 + && dev->model->sensor_id != SensorId::CCD_G4050 + && dev->model->sensor_id != SensorId::CCD_HP_4850C + && dev->model->sensor_id != SensorId::CCD_CANON_4400F + && dev->model->sensor_id != SensorId::CCD_CANON_8400F + && dev->model->sensor_id != SensorId::CCD_CANON_8600F + && dev->model->sensor_id != SensorId::CCD_DSMOBILE600 + && dev->model->sensor_id != SensorId::CCD_XP300 + && dev->model->sensor_id != SensorId::CCD_DP665 + && dev->model->sensor_id != SensorId::CCD_DP685 + && dev->model->sensor_id != SensorId::CIS_CANON_LIDE_80 + && dev->model->sensor_id != SensorId::CCD_ROADWARRIOR + && dev->model->sensor_id != SensorId::CCD_HP2300 + && dev->model->sensor_id != SensorId::CCD_HP2400 + && dev->model->sensor_id != SensorId::CCD_HP3670 + && dev->model->sensor_id != SensorId::CCD_5345) /* lineart, halftone */ + { + if (dpihw == 0) { /* 600 dpi */ + start_address = 0x02a00; + } else if (dpihw == 1) { /* 1200 dpi */ + start_address = 0x05500; + } else if (dpihw == 2) { /* 2400 dpi */ + start_address = 0x0a800; + } else { /* reserved */ + throw SaneException("unknown dpihw"); + } + } + else { // color + start_address = 0x00; + } + + dev->interface->write_buffer(0x3c, start_address, data, size); +} + +// ? +void sanei_genesys_init_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, + int pixels_per_line) +{ + DBG_HELPER_ARGS(dbg, "pixels_per_line: %d", pixels_per_line); + + if (dev->model->flags & GENESYS_FLAG_CALIBRATION_HOST_SIDE) { + return; + } + + int channels; + int i; + + if (dev->cmd_set->has_send_shading_data()) { + return; + } + + DBG(DBG_proc, "%s (pixels_per_line = %d)\n", __func__, pixels_per_line); + + // BUG: GRAY shouldn't probably be in the if condition below. Discovered when refactoring + if (dev->settings.scan_mode == ScanColorMode::GRAY || + dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + channels = 3; + } else { + channels = 1; + } + + // 16 bit black, 16 bit white + std::vector shading_data(pixels_per_line * 4 * channels, 0); + + uint8_t* shading_data_ptr = shading_data.data(); + + for (i = 0; i < pixels_per_line * channels; i++) + { + *shading_data_ptr++ = 0x00; /* dark lo */ + *shading_data_ptr++ = 0x00; /* dark hi */ + *shading_data_ptr++ = 0x00; /* white lo */ + *shading_data_ptr++ = 0x40; /* white hi -> 0x4000 */ + } + + genesys_send_offset_and_shading(dev, sensor, shading_data.data(), + pixels_per_line * 4 * channels); +} + + +// Find the position of the reference point: takes gray level 8 bits data and find +// first CCD usable pixel and top of scanning area +void sanei_genesys_search_reference_point(Genesys_Device* dev, Genesys_Sensor& sensor, + const uint8_t* src_data, int start_pixel, int dpi, + int width, int height) +{ + DBG_HELPER(dbg); + int x, y; + int current, left, top = 0; + int size, count; + int level = 80; /* edge threshold level */ + + // sanity check + if ((width < 3) || (height < 3)) { + throw SaneException("invalid width or height"); + } + + /* transformed image data */ + size = width * height; + std::vector image2(size, 0); + std::vector image(size, 0); + + /* laplace filter to denoise picture */ + std::memcpy(image2.data(), src_data, size); + std::memcpy(image.data(), src_data, size); // to initialize unprocessed part of the image buffer + + for (y = 1; y < height - 1; y++) { + for (x = 1; x < width - 1; x++) { + image[y * width + x] = + (image2[(y - 1) * width + x + 1] + 2 * image2[(y - 1) * width + x] + + image2[(y - 1) * width + x - 1] + 2 * image2[y * width + x + 1] + + 4 * image2[y * width + x] + 2 * image2[y * width + x - 1] + + image2[(y + 1) * width + x + 1] + 2 * image2[(y + 1) * width + x] + + image2[(y + 1) * width + x - 1]) / 16; + } + } + + image2 = image; + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl_laplace.pnm", image.data(), 8, 1, width, height); + + /* apply X direction sobel filter + -1 0 1 + -2 0 2 + -1 0 1 + and finds threshold level + */ + level = 0; + for (y = 2; y < height - 2; y++) { + for (x = 2; x < width - 2; x++) { + current = image2[(y - 1) * width + x + 1] - image2[(y - 1) * width + x - 1] + + 2 * image2[y * width + x + 1] - 2 * image2[y * width + x - 1] + + image2[(y + 1) * width + x + 1] - image2[(y + 1) * width + x - 1]; + if (current < 0) + current = -current; + if (current > 255) + current = 255; + image[y * width + x] = current; + if (current > level) + level = current; + } + } + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl_xsobel.pnm", image.data(), 8, 1, width, height); + + /* set up detection level */ + level = level / 3; + + /* find left black margin first + todo: search top before left + we average the result of N searches */ + left = 0; + count = 0; + for (y = 2; y < 11; y++) + { + x = 8; + while ((x < width / 2) && (image[y * width + x] < level)) + { + image[y * width + x] = 255; + x++; + } + count++; + left += x; + } + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl_detected-xsobel.pnm", image.data(), 8, 1, width, height); + left = left / count; + + // turn it in CCD pixel at full sensor optical resolution + sensor.ccd_start_xoffset = start_pixel + (left * sensor.optical_res) / dpi; + + /* find top edge by detecting black strip */ + /* apply Y direction sobel filter + -1 -2 -1 + 0 0 0 + 1 2 1 + */ + level = 0; + for (y = 2; y < height - 2; y++) { + for (x = 2; x < width - 2; x++) { + current = -image2[(y - 1) * width + x + 1] - 2 * image2[(y - 1) * width + x] - + image2[(y - 1) * width + x - 1] + image2[(y + 1) * width + x + 1] + + 2 * image2[(y + 1) * width + x] + image2[(y + 1) * width + x - 1]; + if (current < 0) + current = -current; + if (current > 255) + current = 255; + image[y * width + x] = current; + if (current > level) + level = current; + } + } + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl_ysobel.pnm", image.data(), 8, 1, width, height); + + /* set up detection level */ + level = level / 3; + + /* search top of horizontal black stripe : TODO yet another flag */ + if (dev->model->sensor_id == SensorId::CCD_5345 + && dev->model->motor_id == MotorId::MD_5345) + { + top = 0; + count = 0; + for (x = width / 2; x < width - 1; x++) + { + y = 2; + while ((y < height) && (image[x + y * width] < level)) + { + image[y * width + x] = 255; + y++; + } + count++; + top += y; + } + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl_detected-ysobel.pnm", image.data(), 8, 1, width, height); + top = top / count; + + /* bottom of black stripe is of fixed witdh, this hardcoded value + * will be moved into device struct if more such values are needed */ + top += 10; + dev->model->y_offset_calib_white = (top * MM_PER_INCH) / dpi; + DBG(DBG_info, "%s: black stripe y_offset = %f mm \n", __func__, + dev->model->y_offset_calib_white.value()); + } + + /* find white corner in dark area : TODO yet another flag */ + if ((dev->model->sensor_id == SensorId::CCD_HP2300 && dev->model->motor_id == MotorId::HP2300) || + (dev->model->sensor_id == SensorId::CCD_HP2400 && dev->model->motor_id == MotorId::HP2400) || + (dev->model->sensor_id == SensorId::CCD_HP3670 && dev->model->motor_id == MotorId::HP3670)) + { + top = 0; + count = 0; + for (x = 10; x < 60; x++) + { + y = 2; + while ((y < height) && (image[x + y * width] < level)) + y++; + top += y; + count++; + } + top = top / count; + dev->model->y_offset_calib_white = (top * MM_PER_INCH) / dpi; + DBG(DBG_info, "%s: white corner y_offset = %f mm\n", __func__, + dev->model->y_offset_calib_white.value()); + } + + DBG(DBG_proc, "%s: ccd_start_xoffset = %d, left = %d, top = %d\n", __func__, + sensor.ccd_start_xoffset, left, top); +} + +namespace gl843 { + void gl843_park_xpa_lamp(Genesys_Device* dev); + void gl843_set_xpa_motor_power(Genesys_Device* dev, Genesys_Register_Set& regs, bool set); +} // namespace gl843 + +namespace gl124 { + void gl124_setup_scan_gpio(Genesys_Device* dev, int resolution); +} // namespace gl124 + +void scanner_clear_scan_and_feed_counts(Genesys_Device& dev) +{ + switch (dev.model->asic_type) { + case AsicType::GL843: { + dev.interface->write_register(gl843::REG_0x0D, + gl843::REG_0x0D_CLRLNCNT | gl843::REG_0x0D_CLRMCNT); + break; + } + case AsicType::GL845: + case AsicType::GL846: { + dev.interface->write_register(gl846::REG_0x0D, + gl846::REG_0x0D_CLRLNCNT | gl846::REG_0x0D_CLRMCNT); + break; + } + case AsicType::GL847:{ + dev.interface->write_register(gl847::REG_0x0D, + gl847::REG_0x0D_CLRLNCNT | gl847::REG_0x0D_CLRMCNT); + break; + } + case AsicType::GL124:{ + dev.interface->write_register(gl124::REG_0x0D, + gl124::REG_0x0D_CLRLNCNT | gl124::REG_0x0D_CLRMCNT); + break; + } + default: + throw SaneException("Unsupported asic type"); + } +} + +void scanner_clear_scan_and_feed_counts2(Genesys_Device& dev) +{ + // FIXME: switch to scanner_clear_scan_and_feed_counts when updating tests + switch (dev.model->asic_type) { + case AsicType::GL843: { + dev.interface->write_register(gl843::REG_0x0D, gl843::REG_0x0D_CLRLNCNT); + dev.interface->write_register(gl843::REG_0x0D, gl843::REG_0x0D_CLRMCNT); + break; + } + case AsicType::GL845: + case AsicType::GL846: { + dev.interface->write_register(gl846::REG_0x0D, gl846::REG_0x0D_CLRLNCNT); + dev.interface->write_register(gl846::REG_0x0D, gl846::REG_0x0D_CLRMCNT); + break; + } + case AsicType::GL847: { + dev.interface->write_register(gl847::REG_0x0D, gl847::REG_0x0D_CLRLNCNT); + dev.interface->write_register(gl847::REG_0x0D, gl847::REG_0x0D_CLRMCNT); + break; + } + case AsicType::GL124: { + dev.interface->write_register(gl124::REG_0x0D, gl124::REG_0x0D_CLRLNCNT); + dev.interface->write_register(gl124::REG_0x0D, gl124::REG_0x0D_CLRMCNT); + break; + } + default: + throw SaneException("Unsupported asic type"); + } +} + +bool scanner_is_motor_stopped(Genesys_Device& dev) +{ + switch (dev.model->asic_type) { + case AsicType::GL646: { + auto status = scanner_read_status(dev); + return !status.is_motor_enabled && status.is_feeding_finished; + } + case AsicType::GL841: { + auto reg = dev.interface->read_register(gl841::REG_0x40); + + return (!(reg & gl841::REG_0x40_DATAENB) && !(reg & gl841::REG_0x40_MOTMFLG)); + } + case AsicType::GL843: { + auto status = scanner_read_status(dev); + auto reg = dev.interface->read_register(gl843::REG_0x40); + + return (!(reg & gl843::REG_0x40_DATAENB) && !(reg & gl843::REG_0x40_MOTMFLG) && + !status.is_motor_enabled); + } + case AsicType::GL845: + case AsicType::GL846: { + auto status = scanner_read_status(dev); + auto reg = dev.interface->read_register(gl846::REG_0x40); + + return (!(reg & gl846::REG_0x40_DATAENB) && !(reg & gl846::REG_0x40_MOTMFLG) && + !status.is_motor_enabled); + } + case AsicType::GL847: { + auto status = scanner_read_status(dev); + auto reg = dev.interface->read_register(gl847::REG_0x40); + + return (!(reg & gl847::REG_0x40_DATAENB) && !(reg & gl847::REG_0x40_MOTMFLG) && + !status.is_motor_enabled); + } + case AsicType::GL124: { + auto status = scanner_read_status(dev); + auto reg = dev.interface->read_register(gl124::REG_0x100); + + return (!(reg & gl124::REG_0x100_DATAENB) && !(reg & gl124::REG_0x100_MOTMFLG) && + !status.is_motor_enabled); + } + default: + throw SaneException("Unsupported asic type"); + } +} + +void scanner_stop_action(Genesys_Device& dev) +{ + DBG_HELPER(dbg); + + switch (dev.model->asic_type) { + case AsicType::GL843: + case AsicType::GL845: + case AsicType::GL846: + case AsicType::GL847: + case AsicType::GL124: + break; + default: + throw SaneException("Unsupported asic type"); + } + + if (dev.cmd_set->needs_update_home_sensor_gpio()) { + dev.cmd_set->update_home_sensor_gpio(dev); + } + + if (scanner_is_motor_stopped(dev)) { + DBG(DBG_info, "%s: already stopped\n", __func__); + return; + } + + scanner_stop_action_no_move(dev, dev.reg); + + if (is_testing_mode()) { + return; + } + + for (unsigned i = 0; i < 10; ++i) { + if (scanner_is_motor_stopped(dev)) { + return; + } + + dev.interface->sleep_ms(100); + } + + throw SaneException(SANE_STATUS_IO_ERROR, "could not stop motor"); +} + +void scanner_stop_action_no_move(Genesys_Device& dev, genesys::Genesys_Register_Set& regs) +{ + switch (dev.model->asic_type) { + case AsicType::GL646: + case AsicType::GL841: + case AsicType::GL843: + case AsicType::GL845: + case AsicType::GL846: + case AsicType::GL847: + case AsicType::GL124: + break; + default: + throw SaneException("Unsupported asic type"); + } + + regs_set_optical_off(dev.model->asic_type, regs); + // same across all supported ASICs + dev.interface->write_register(0x01, regs.get8(0x01)); + + // looks like certain scanners lock up if we try to scan immediately after stopping previous + // action. + dev.interface->sleep_ms(100); +} + +void scanner_move(Genesys_Device& dev, ScanMethod scan_method, unsigned steps, Direction direction) +{ + DBG_HELPER_ARGS(dbg, "steps=%d direction=%d", steps, static_cast(direction)); + + auto local_reg = dev.reg; + + unsigned resolution = dev.model->get_resolution_settings(scan_method).get_min_resolution_y(); + + const auto& sensor = sanei_genesys_find_sensor(&dev, resolution, 3, scan_method); + + bool uses_secondary_head = (scan_method == ScanMethod::TRANSPARENCY || + scan_method == ScanMethod::TRANSPARENCY_INFRARED); + bool uses_secondary_pos = uses_secondary_head && + dev.model->default_method == ScanMethod::FLATBED; + + if (!dev.is_head_pos_known(ScanHeadId::PRIMARY)) { + throw SaneException("Unknown head position"); + } + if (uses_secondary_pos && !dev.is_head_pos_known(ScanHeadId::SECONDARY)) { + throw SaneException("Unknown head position"); + } + if (direction == Direction::BACKWARD && steps > dev.head_pos(ScanHeadId::PRIMARY)) { + throw SaneException("Trying to feed behind the home position %d %d", + steps, dev.head_pos(ScanHeadId::PRIMARY)); + } + if (uses_secondary_pos && direction == Direction::BACKWARD && + steps > dev.head_pos(ScanHeadId::SECONDARY)) + { + throw SaneException("Trying to feed behind the home position %d %d", + steps, dev.head_pos(ScanHeadId::SECONDARY)); + } + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = 0; + session.params.starty = steps; + session.params.pixels = 100; + session.params.lines = 3; + session.params.depth = 8; + session.params.channels = 3; + session.params.scan_method = scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + if (dev.model->asic_type == AsicType::GL843) { + session.params.color_filter = ColorFilter::RED; + } else { + session.params.color_filter = dev.settings.color_filter; + } + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::FEEDING | + ScanFlag::IGNORE_LINE_DISTANCE; + + if (dev.model->asic_type == AsicType::GL124) { + session.params.flags |= ScanFlag::DISABLE_BUFFER_FULL_MOVE; + } + + if (direction == Direction::BACKWARD) { + session.params.flags |= ScanFlag::REVERSE; + } + + compute_session(&dev, session, sensor); + + dev.cmd_set->init_regs_for_scan_session(&dev, sensor, &local_reg, session); + + if (dev.model->asic_type != AsicType::GL843) { + regs_set_exposure(dev.model->asic_type, local_reg, {0, 0, 0}); + } + scanner_clear_scan_and_feed_counts2(dev); + + dev.interface->write_registers(local_reg); + if (uses_secondary_head) { + gl843::gl843_set_xpa_motor_power(&dev, local_reg, true); + } + + try { + scanner_start_action(dev, true); + } catch (...) { + catch_all_exceptions(__func__, [&]() { + gl843::gl843_set_xpa_motor_power(&dev, local_reg, false); + }); + catch_all_exceptions(__func__, [&]() { scanner_stop_action(dev); }); + // restore original registers + catch_all_exceptions(__func__, [&]() { dev.interface->write_registers(dev.reg); }); + throw; + } + + if (is_testing_mode()) { + dev.interface->test_checkpoint("feed"); + + dev.advance_head_pos_by_steps(ScanHeadId::PRIMARY, direction, steps); + if (uses_secondary_pos) { + dev.advance_head_pos_by_steps(ScanHeadId::SECONDARY, direction, steps); + } + + // FIXME: why don't we stop the scanner like on other ASICs + if (dev.model->asic_type != AsicType::GL843) { + scanner_stop_action(dev); + } + if (uses_secondary_head) { + gl843::gl843_set_xpa_motor_power(&dev, local_reg, false); + } + return; + } + + // wait until feed count reaches the required value + // FIXME: should porbably wait for some timeout + Status status; + for (unsigned i = 0;; ++i) { + status = scanner_read_status(dev); + if (status.is_feeding_finished || ( + direction == Direction::BACKWARD && status.is_at_home)) + { + break; + } + dev.interface->sleep_ms(10); + } + + // FIXME: why don't we stop the scanner like on other ASICs + if (dev.model->asic_type != AsicType::GL843) { + scanner_stop_action(dev); + } + if (uses_secondary_head) { + gl843::gl843_set_xpa_motor_power(&dev, local_reg, false); + } + + dev.advance_head_pos_by_steps(ScanHeadId::PRIMARY, direction, steps); + if (uses_secondary_pos) { + dev.advance_head_pos_by_steps(ScanHeadId::SECONDARY, direction, steps); + } + + // looks like certain scanners lock up if we scan immediately after feeding + dev.interface->sleep_ms(100); +} + +void scanner_move_back_home(Genesys_Device& dev, bool wait_until_home) +{ + DBG_HELPER_ARGS(dbg, "wait_until_home = %d", wait_until_home); + + switch (dev.model->asic_type) { + case AsicType::GL843: + case AsicType::GL845: + case AsicType::GL846: + case AsicType::GL847: + case AsicType::GL124: + break; + default: + throw SaneException("Unsupported asic type"); + } + + // FIXME: also check whether the scanner actually has a secondary head + if (!dev.is_head_pos_known(ScanHeadId::SECONDARY) || + dev.head_pos(ScanHeadId::SECONDARY) > 0 || + dev.settings.scan_method == ScanMethod::TRANSPARENCY || + dev.settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + scanner_move_back_home_ta(dev); + } + + if (dev.is_head_pos_known(ScanHeadId::PRIMARY) && + dev.head_pos(ScanHeadId::PRIMARY) > 1000) + { + // leave 500 steps for regular slow back home + scanner_move(dev, dev.model->default_method, dev.head_pos(ScanHeadId::PRIMARY) - 500, + Direction::BACKWARD); + } + + if (dev.cmd_set->needs_update_home_sensor_gpio()) { + dev.cmd_set->update_home_sensor_gpio(dev); + } + + auto status = scanner_read_reliable_status(dev); + + if (status.is_at_home) { + dbg.log(DBG_info, "already at home"); + dev.set_head_pos_zero(ScanHeadId::PRIMARY); + return; + } + + if (dev.model->model_id == ModelId::CANON_LIDE_210) { + // move the head back a little first + if (dev.is_head_pos_known(ScanHeadId::PRIMARY) && + dev.head_pos(ScanHeadId::PRIMARY) > 30) + { + scanner_move(dev, dev.model->default_method, 20, Direction::BACKWARD); + } + } + + Genesys_Register_Set local_reg = dev.reg; + unsigned resolution = sanei_genesys_get_lowest_ydpi(&dev); + + const auto& sensor = sanei_genesys_find_sensor(&dev, resolution, 1, dev.model->default_method); + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = 100; + if (dev.model->asic_type == AsicType::GL843) { + session.params.starty = 40000; + } else { + session.params.starty = 30000; + } + session.params.pixels = 100; + session.params.lines = 100; + session.params.depth = 8; + session.params.channels = 1; + session.params.scan_method = dev.settings.scan_method; + if (dev.model->asic_type == AsicType::GL843) { + session.params.scan_mode = ScanColorMode::LINEART; + session.params.color_filter = dev.settings.color_filter; + } else { + session.params.scan_mode = ScanColorMode::GRAY; + session.params.color_filter = ColorFilter::RED; + } + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::IGNORE_LINE_DISTANCE | + ScanFlag::REVERSE; + if (dev.model->asic_type == AsicType::GL843) { + session.params.flags |= ScanFlag::DISABLE_BUFFER_FULL_MOVE; + } + + compute_session(&dev, session, sensor); + + dev.cmd_set->init_regs_for_scan_session(&dev, sensor, &local_reg, session); + + scanner_clear_scan_and_feed_counts(dev); + + dev.interface->write_registers(local_reg); + + if (dev.model->asic_type == AsicType::GL124) { + gl124::gl124_setup_scan_gpio(&dev, resolution); + } + + try { + scanner_start_action(dev, true); + } catch (...) { + catch_all_exceptions(__func__, [&]() { scanner_stop_action(dev); }); + // restore original registers + catch_all_exceptions(__func__, [&]() + { + dev.interface->write_registers(dev.reg); + }); + throw; + } + + if (dev.cmd_set->needs_update_home_sensor_gpio()) { + dev.cmd_set->update_home_sensor_gpio(dev); + } + + if (is_testing_mode()) { + dev.interface->test_checkpoint("move_back_home"); + dev.set_head_pos_zero(ScanHeadId::PRIMARY); + return; + } + + if (wait_until_home) { + for (unsigned i = 0; i < 300; ++i) { + auto status = scanner_read_status(dev); + + if (status.is_at_home) { + dbg.log(DBG_info, "reached home position"); + if (dev.model->asic_type == AsicType::GL846 || + dev.model->asic_type == AsicType::GL847) + { + scanner_stop_action(dev); + } + dev.set_head_pos_zero(ScanHeadId::PRIMARY); + return; + } + + dev.interface->sleep_ms(100); + } + + // when we come here then the scanner needed too much time for this, so we better stop + // the motor + catch_all_exceptions(__func__, [&](){ scanner_stop_action(dev); }); + dev.set_head_pos_unknown(); + throw SaneException(SANE_STATUS_IO_ERROR, "timeout while waiting for scanhead to go home"); + } + dbg.log(DBG_info, "scanhead is still moving"); +} + +void scanner_move_back_home_ta(Genesys_Device& dev) +{ + DBG_HELPER(dbg); + + switch (dev.model->asic_type) { + case AsicType::GL843: + break; + default: + throw SaneException("Unsupported asic type"); + } + + Genesys_Register_Set local_reg = dev.reg; + + auto scan_method = ScanMethod::TRANSPARENCY; + unsigned resolution = dev.model->get_resolution_settings(scan_method).get_min_resolution_y(); + + const auto& sensor = sanei_genesys_find_sensor(&dev, resolution, 1, scan_method); + + if (dev.is_head_pos_known(ScanHeadId::SECONDARY) && + dev.head_pos(ScanHeadId::SECONDARY) > 1000) + { + // leave 500 steps for regular slow back home + scanner_move(dev, scan_method, dev.head_pos(ScanHeadId::SECONDARY) - 500, + Direction::BACKWARD); + } + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = 100; + session.params.starty = 30000; + session.params.pixels = 100; + session.params.lines = 100; + session.params.depth = 8; + session.params.channels = 1; + session.params.scan_method = scan_method; + session.params.scan_mode = ScanColorMode::GRAY; + session.params.color_filter = ColorFilter::RED; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::IGNORE_LINE_DISTANCE | + ScanFlag::REVERSE; + + compute_session(&dev, session, sensor); + + dev.cmd_set->init_regs_for_scan_session(&dev, sensor, &local_reg, session); + + scanner_clear_scan_and_feed_counts(dev); + + dev.interface->write_registers(local_reg); + gl843::gl843_set_xpa_motor_power(&dev, local_reg, true); + + try { + scanner_start_action(dev, true); + } catch (...) { + catch_all_exceptions(__func__, [&]() { scanner_stop_action(dev); }); + // restore original registers + catch_all_exceptions(__func__, [&]() { dev.interface->write_registers(dev.reg); }); + throw; + } + + if (is_testing_mode()) { + dev.interface->test_checkpoint("move_back_home_ta"); + + if (dev.is_head_pos_known(ScanHeadId::PRIMARY)) { + if (dev.head_pos(ScanHeadId::PRIMARY) > dev.head_pos(ScanHeadId::SECONDARY)) { + dev.advance_head_pos_by_steps(ScanHeadId::PRIMARY, Direction::BACKWARD, + dev.head_pos(ScanHeadId::SECONDARY)); + } else { + dev.set_head_pos_zero(ScanHeadId::PRIMARY); + } + dev.set_head_pos_zero(ScanHeadId::SECONDARY); + } + + scanner_stop_action(dev); + gl843::gl843_set_xpa_motor_power(&dev, local_reg, false); + return; + } + + for (unsigned i = 0; i < 1200; ++i) { + + auto status = scanner_read_status(dev); + + if (status.is_at_home) { + dbg.log(DBG_info, "TA reached home position"); + + if (dev.is_head_pos_known(ScanHeadId::PRIMARY)) { + if (dev.head_pos(ScanHeadId::PRIMARY) > dev.head_pos(ScanHeadId::SECONDARY)) { + dev.advance_head_pos_by_steps(ScanHeadId::PRIMARY, Direction::BACKWARD, + dev.head_pos(ScanHeadId::SECONDARY)); + } else { + dev.set_head_pos_zero(ScanHeadId::PRIMARY); + } + dev.set_head_pos_zero(ScanHeadId::SECONDARY); + } + + scanner_stop_action(dev); + gl843::gl843_set_xpa_motor_power(&dev, local_reg, false); + return; + } + + dev.interface->sleep_ms(100); + } + + throw SaneException("Timeout waiting for XPA lamp to park"); +} + +void sanei_genesys_calculate_zmod(bool two_table, + uint32_t exposure_time, + const std::vector& slope_table, + unsigned acceleration_steps, + unsigned move_steps, + unsigned buffer_acceleration_steps, + uint32_t* out_z1, uint32_t* out_z2) +{ + DBG(DBG_info, "%s: two_table=%d\n", __func__, two_table); + + // acceleration total time + unsigned sum = std::accumulate(slope_table.begin(), slope_table.begin() + acceleration_steps, + 0, std::plus()); + + /* Z1MOD: + c = sum(slope_table; reg_stepno) + d = reg_fwdstep * + Z1MOD = (c+d) % exposure_time + */ + *out_z1 = (sum + buffer_acceleration_steps * slope_table[acceleration_steps - 1]) % exposure_time; + + /* Z2MOD: + a = sum(slope_table; reg_stepno) + b = move_steps or 1 if 2 tables + Z1MOD = (a+b) % exposure_time + */ + if (!two_table) { + sum = sum + (move_steps * slope_table[acceleration_steps - 1]); + } else { + sum = sum + slope_table[acceleration_steps - 1]; + } + *out_z2 = sum % exposure_time; +} + +static uint8_t genesys_adjust_gain(double* applied_multi, double multi, uint8_t gain) +{ + double voltage, original_voltage; + uint8_t new_gain = 0; + + DBG(DBG_proc, "%s: multi=%f, gain=%d\n", __func__, multi, gain); + + voltage = 0.5 + gain * 0.25; + original_voltage = voltage; + + voltage *= multi; + + new_gain = static_cast((voltage - 0.5) * 4); + if (new_gain > 0x0e) + new_gain = 0x0e; + + voltage = 0.5 + (new_gain) * 0.25; + + *applied_multi = voltage / original_voltage; + + DBG(DBG_proc, "%s: orig voltage=%.2f, new voltage=%.2f, *applied_multi=%f, new_gain=%d\n", + __func__, original_voltage, voltage, *applied_multi, new_gain); + + return new_gain; +} + + +// todo: is return status necessary (unchecked?) +static void genesys_average_white(Genesys_Device* dev, Genesys_Sensor& sensor, int channels, + int channel, uint8_t* data, int size, int *max_average) +{ + + DBG_HELPER_ARGS(dbg, "channels=%d, channel=%d, size=%d", channels, channel, size); + int gain_white_ref, sum, range; + int average; + int i; + + range = size / 50; + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + gain_white_ref = sensor.fau_gain_white_ref * 256; + } else { + gain_white_ref = sensor.gain_white_ref * 256; + } + + if (range < 1) + range = 1; + + size = size / (2 * range * channels); + + data += (channel * 2); + + *max_average = 0; + + while (size--) + { + sum = 0; + for (i = 0; i < range; i++) + { + sum += (*data); + sum += *(data + 1) * 256; + data += (2 * channels); /* byte based */ + } + + average = (sum / range); + if (average > *max_average) + *max_average = average; + } + + DBG(DBG_proc, "%s: max_average=%d, gain_white_ref = %d, finished\n", __func__, *max_average, + gain_white_ref); + + if (*max_average >= gain_white_ref) + throw SaneException(SANE_STATUS_INVAL); +} + +/* todo: understand, values are too high */ +static int +genesys_average_black (Genesys_Device * dev, int channel, + uint8_t * data, int pixels) +{ + int i; + int sum; + int pixel_step; + + DBG(DBG_proc, "%s: channel=%d, pixels=%d\n", __func__, channel, pixels); + + sum = 0; + + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + data += (channel * 2); + pixel_step = 3 * 2; + } + else + { + pixel_step = 2; + } + + for (i = 0; i < pixels; i++) + { + sum += *data; + sum += *(data + 1) * 256; + + data += pixel_step; + } + + DBG(DBG_proc, "%s = %d\n", __func__, sum / pixels); + + return sum / pixels; +} + + +// todo: check; it works but the lines 1, 2, and 3 are too dark even with the +// same offset and gain settings? +static void genesys_coarse_calibration(Genesys_Device* dev, Genesys_Sensor& sensor) +{ + DBG_HELPER_ARGS(dbg, "scan_mode = %d", static_cast(dev->settings.scan_mode)); + int black_pixels; + int white_average; + uint8_t offset[4] = { 0xa0, 0x00, 0xa0, 0x40 }; /* first value isn't used */ + uint16_t white[12], dark[12]; + int i, j; + + black_pixels = sensor.black_pixels + * dev->settings.xres / sensor.optical_res; + + unsigned channels = dev->settings.get_channels(); + + DBG(DBG_info, "channels %d y_size %f xres %d\n", channels, dev->model->y_size.value(), + dev->settings.xres); + unsigned size = static_cast(channels * 2 * dev->model->y_size * dev->settings.xres / + MM_PER_INCH); + /* 1 1 mm 1/inch inch/mm */ + + std::vector calibration_data(size); + std::vector all_data(size * 4, 1); + + dev->cmd_set->set_fe(dev, sensor, AFE_INIT); + + dev->frontend.set_gain(0, 2); + dev->frontend.set_gain(1, 2); + dev->frontend.set_gain(2, 2); // TODO: ? was 2 + dev->frontend.set_offset(0, offset[0]); + dev->frontend.set_offset(1, offset[0]); + dev->frontend.set_offset(2, offset[0]); + + for (i = 0; i < 4; i++) /* read 4 lines */ + { + if (i < 3) /* first 3 lines */ + { + dev->frontend.set_offset(0, offset[i]); + dev->frontend.set_offset(1, offset[i]); + dev->frontend.set_offset(2, offset[i]); + } + + if (i == 1) /* second line */ + { + double applied_multi; + double gain_white_ref; + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + gain_white_ref = sensor.fau_gain_white_ref * 256; + } else { + gain_white_ref = sensor.gain_white_ref * 256; + } + + // white and black are defined downwards + + uint8_t gain0 = genesys_adjust_gain(&applied_multi, + gain_white_ref / (white[0] - dark[0]), + dev->frontend.get_gain(0)); + uint8_t gain1 = genesys_adjust_gain(&applied_multi, + gain_white_ref / (white[1] - dark[1]), + dev->frontend.get_gain(1)); + uint8_t gain2 = genesys_adjust_gain(&applied_multi, + gain_white_ref / (white[2] - dark[2]), + dev->frontend.get_gain(2)); + // FIXME: looks like overwritten data. Are the above calculations doing + // anything at all? + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain1); + dev->frontend.set_gain(2, gain2); + dev->frontend.set_gain(0, 2); + dev->frontend.set_gain(1, 2); + dev->frontend.set_gain(2, 2); + + dev->interface->write_fe_register(0x28, dev->frontend.get_gain(0)); + dev->interface->write_fe_register(0x29, dev->frontend.get_gain(1)); + dev->interface->write_fe_register(0x2a, dev->frontend.get_gain(2)); + } + + if (i == 3) /* last line */ + { + double x, y, rate; + + for (j = 0; j < 3; j++) + { + + x = static_cast(dark[(i - 2) * 3 + j] - + dark[(i - 1) * 3 + j]) * 254 / (offset[i - 1] / 2 - + offset[i - 2] / 2); + y = x - x * (offset[i - 1] / 2) / 254 - dark[(i - 1) * 3 + j]; + rate = (x - DARK_VALUE - y) * 254 / x + 0.5; + + uint8_t curr_offset = static_cast(rate); + + if (curr_offset > 0x7f) { + curr_offset = 0x7f; + } + curr_offset <<= 1; + dev->frontend.set_offset(j, curr_offset); + } + } + dev->interface->write_fe_register(0x20, dev->frontend.get_offset(0)); + dev->interface->write_fe_register(0x21, dev->frontend.get_offset(1)); + dev->interface->write_fe_register(0x22, dev->frontend.get_offset(2)); + + DBG(DBG_info, + "%s: doing scan: gain: %d/%d/%d, offset: %d/%d/%d\n", __func__, + dev->frontend.get_gain(0), + dev->frontend.get_gain(1), + dev->frontend.get_gain(2), + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); + + + dev->cmd_set->begin_scan(dev, sensor, &dev->calib_reg, false); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("coarse_calibration"); + dev->cmd_set->end_scan(dev, &dev->calib_reg, true); + return; + } + + sanei_genesys_read_data_from_scanner(dev, calibration_data.data(), size); + std::memcpy(all_data.data() + i * size, calibration_data.data(), size); + if (i == 3) /* last line */ + { + std::vector all_data_8(size * 4 / 2); + unsigned int count; + + for (count = 0; count < static_cast(size * 4 / 2); count++) { + all_data_8[count] = all_data[count * 2 + 1]; + } + sanei_genesys_write_pnm_file("gl_coarse.pnm", all_data_8.data(), 8, channels, size / 6, 4); + } + + dev->cmd_set->end_scan(dev, &dev->calib_reg, true); + + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + for (j = 0; j < 3; j++) + { + genesys_average_white(dev, sensor, 3, j, calibration_data.data(), size, &white_average); + white[i * 3 + j] = white_average; + dark[i * 3 + j] = + genesys_average_black (dev, j, calibration_data.data(), + black_pixels); + DBG(DBG_info, "%s: white[%d]=%d, black[%d]=%d\n", __func__, + i * 3 + j, white[i * 3 + j], i * 3 + j, dark[i * 3 + j]); + } + } + else /* one color-component modes */ + { + genesys_average_white(dev, sensor, 1, 0, calibration_data.data(), size, &white_average); + white[i * 3 + 0] = white[i * 3 + 1] = white[i * 3 + 2] = + white_average; + dark[i * 3 + 0] = dark[i * 3 + 1] = dark[i * 3 + 2] = + genesys_average_black (dev, 0, calibration_data.data(), black_pixels); + } + } /* for (i = 0; i < 4; i++) */ + + DBG(DBG_info, "%s: final: gain: %d/%d/%d, offset: %d/%d/%d\n", __func__, + dev->frontend.get_gain(0), + dev->frontend.get_gain(1), + dev->frontend.get_gain(2), + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); +} + +/** + * scans a white area with motor and lamp off to get the per CCD pixel offset + * that will be used to compute shading coefficient + * @param dev scanner's device + */ +static void genesys_shading_calibration_impl(Genesys_Device* dev, const Genesys_Sensor& sensor, + std::vector& out_average_data, + bool is_dark, const std::string& log_filename_prefix) +{ + DBG_HELPER(dbg); + + debug_dump(DBG_info, dev->calib_session); + + size_t size; + uint32_t pixels_per_line; + uint8_t channels; + + /* end pixel - start pixel */ + pixels_per_line = dev->calib_pixels; + channels = dev->calib_channels; + + uint32_t out_pixels_per_line = pixels_per_line + dev->calib_pixels_offset; + + // FIXME: we set this during both dark and white calibration. A cleaner approach should + // probably be used + dev->average_size = channels * out_pixels_per_line; + + out_average_data.clear(); + out_average_data.resize(dev->average_size); + + if (is_dark && dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) { + // FIXME: dark shading currently not supported on infrared transparency scans + return; + } + + // FIXME: the current calculation is likely incorrect on non-GL843 implementations, + // but this needs checking + if (dev->calib_total_bytes_to_read > 0) { + size = dev->calib_total_bytes_to_read; + } else if (dev->model->asic_type == AsicType::GL843) { + size = channels * 2 * pixels_per_line * dev->calib_lines; + } else { + size = channels * 2 * pixels_per_line * (dev->calib_lines + 1); + } + + std::vector calibration_data(size / 2); + + bool motor = true; + if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE) + { + motor = false; + } + + // turn off motor and lamp power for flatbed scanners, but not for sheetfed scanners + // because they have a calibration sheet with a sufficient black strip + if (is_dark && !dev->model->is_sheetfed) { + sanei_genesys_set_lamp_power(dev, sensor, dev->calib_reg, false); + sanei_genesys_set_motor_power(dev->calib_reg, motor); + } else { + sanei_genesys_set_lamp_power(dev, sensor, dev->calib_reg, true); + sanei_genesys_set_motor_power(dev->calib_reg, motor); + } + + dev->interface->write_registers(dev->calib_reg); + + if (is_dark) { + // wait some time to let lamp to get dark + dev->interface->sleep_ms(200); + } else if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) { + // make sure lamp is bright again + // FIXME: what about scanners that take a long time to warm the lamp? + dev->interface->sleep_ms(500); + } + + bool start_motor = !is_dark; + dev->cmd_set->begin_scan(dev, sensor, &dev->calib_reg, start_motor); + + + if (is_testing_mode()) { + dev->interface->test_checkpoint(is_dark ? "dark_shading_calibration" + : "white_shading_calibration"); + dev->cmd_set->end_scan(dev, &dev->calib_reg, true); + return; + } + + sanei_genesys_read_data_from_scanner(dev, reinterpret_cast(calibration_data.data()), + size); + + dev->cmd_set->end_scan(dev, &dev->calib_reg, true); + + if (dev->model->flags & GENESYS_FLAG_16BIT_DATA_INVERTED) { + for (std::size_t i = 0; i < size / 2; ++i) { + auto value = calibration_data[i]; + value = ((value >> 8) & 0xff) | ((value << 8) & 0xff00); + calibration_data[i] = value; + } + } + + std::fill(out_average_data.begin(), + out_average_data.begin() + dev->calib_pixels_offset * channels, 0); + + compute_array_percentile_approx(out_average_data.data() + dev->calib_pixels_offset * channels, + calibration_data.data(), + dev->calib_lines, pixels_per_line * channels, + 0.5f); + + if (DBG_LEVEL >= DBG_data) { + sanei_genesys_write_pnm_file16((log_filename_prefix + "_shading.pnm").c_str(), + calibration_data.data(), + channels, pixels_per_line, dev->calib_lines); + sanei_genesys_write_pnm_file16((log_filename_prefix + "_average.pnm").c_str(), + out_average_data.data(), + channels, out_pixels_per_line, 1); + } +} + + +static void genesys_dark_shading_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor) +{ + DBG_HELPER(dbg); + genesys_shading_calibration_impl(dev, sensor, dev->dark_average_data, true, "gl_black_"); +} +/* + * this function builds dummy dark calibration data so that we can + * compute shading coefficient in a clean way + * todo: current values are hardcoded, we have to find if they + * can be computed from previous calibration data (when doing offset + * calibration ?) + */ +static void genesys_dummy_dark_shading(Genesys_Device* dev, const Genesys_Sensor& sensor) +{ + DBG_HELPER(dbg); + uint32_t pixels_per_line; + uint8_t channels; + uint32_t skip, xend; + int dummy1, dummy2, dummy3; /* dummy black average per channel */ + + pixels_per_line = dev->calib_pixels; + channels = dev->calib_channels; + + uint32_t out_pixels_per_line = pixels_per_line + dev->calib_pixels_offset; + + dev->average_size = channels * out_pixels_per_line; + dev->dark_average_data.clear(); + dev->dark_average_data.resize(dev->average_size, 0); + + /* we average values on 'the left' where CCD pixels are under casing and + give darkest values. We then use these as dummy dark calibration */ + if (dev->settings.xres <= sensor.optical_res / 2) + { + skip = 4; + xend = 36; + } + else + { + skip = 4; + xend = 68; + } + if (dev->model->sensor_id==SensorId::CCD_G4050 || + dev->model->sensor_id==SensorId::CCD_HP_4850C + || dev->model->sensor_id==SensorId::CCD_CANON_4400F + || dev->model->sensor_id==SensorId::CCD_CANON_8400F + || dev->model->sensor_id==SensorId::CCD_KVSS080) + { + skip = 2; + xend = sensor.black_pixels; + } + + /* average each channels on half left margin */ + dummy1 = 0; + dummy2 = 0; + dummy3 = 0; + + for (unsigned x = skip + 1; x <= xend; x++) { + dummy1 += dev->white_average_data[channels * x]; + if (channels > 1) { + dummy2 += dev->white_average_data[channels * x + 1]; + dummy3 += dev->white_average_data[channels * x + 2]; + } + } + + dummy1 /= (xend - skip); + if (channels > 1) + { + dummy2 /= (xend - skip); + dummy3 /= (xend - skip); + } + DBG(DBG_proc, "%s: dummy1=%d, dummy2=%d, dummy3=%d \n", __func__, dummy1, dummy2, dummy3); + + /* fill dark_average */ + for (unsigned x = 0; x < out_pixels_per_line; x++) { + dev->dark_average_data[channels * x] = dummy1; + if (channels > 1) { + dev->dark_average_data[channels * x + 1] = dummy2; + dev->dark_average_data[channels * x + 2] = dummy3; + } + } +} + + +static void genesys_repark_sensor_before_shading(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) { + dev->cmd_set->move_back_home(dev, true); + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + dev->cmd_set->move_to_ta(dev); + } + } +} + +static void genesys_repark_sensor_after_white_shading(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) { + dev->cmd_set->move_back_home(dev, true); + } +} + +static void genesys_white_shading_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor) +{ + DBG_HELPER(dbg); + genesys_shading_calibration_impl(dev, sensor, dev->white_average_data, false, "gl_white_"); +} + +// This calibration uses a scan over the calibration target, comprising a black and a white strip. +// (So the motor must be on.) +static void genesys_dark_white_shading_calibration(Genesys_Device* dev, + const Genesys_Sensor& sensor) +{ + DBG_HELPER_ARGS(dbg, "lines = %zu", dev->calib_lines); + size_t size; + uint32_t pixels_per_line; + uint8_t channels; + unsigned int x; + uint32_t dark, white, dark_sum, white_sum, dark_count, white_count, col, + dif; + + pixels_per_line = dev->calib_pixels; + channels = dev->calib_channels; + + uint32_t out_pixels_per_line = pixels_per_line + dev->calib_pixels_offset; + + dev->average_size = channels * out_pixels_per_line; + + dev->white_average_data.clear(); + dev->white_average_data.resize(dev->average_size); + + dev->dark_average_data.clear(); + dev->dark_average_data.resize(dev->average_size); + + if (dev->calib_total_bytes_to_read > 0) + size = dev->calib_total_bytes_to_read; + else + size = channels * 2 * pixels_per_line * dev->calib_lines; + + std::vector calibration_data(size); + + bool motor = true; + if (dev->model->flags & GENESYS_FLAG_SHADING_NO_MOVE) + { + motor = false; + } + + // turn on motor and lamp power + sanei_genesys_set_lamp_power(dev, sensor, dev->calib_reg, true); + sanei_genesys_set_motor_power(dev->calib_reg, motor); + + dev->interface->write_registers(dev->calib_reg); + + dev->cmd_set->begin_scan(dev, sensor, &dev->calib_reg, false); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("dark_white_shading_calibration"); + dev->cmd_set->end_scan(dev, &dev->calib_reg, true); + return; + } + + sanei_genesys_read_data_from_scanner(dev, calibration_data.data(), size); + + dev->cmd_set->end_scan(dev, &dev->calib_reg, true); + + if (DBG_LEVEL >= DBG_data) + { + if (dev->model->is_cis) + { + sanei_genesys_write_pnm_file("gl_black_white_shading.pnm", calibration_data.data(), + 16, 1, pixels_per_line*channels, + dev->calib_lines); + } + else + { + sanei_genesys_write_pnm_file("gl_black_white_shading.pnm", calibration_data.data(), + 16, channels, pixels_per_line, + dev->calib_lines); + } + } + + + std::fill(dev->dark_average_data.begin(), + dev->dark_average_data.begin() + dev->calib_pixels_offset * channels, 0); + std::fill(dev->white_average_data.begin(), + dev->white_average_data.begin() + dev->calib_pixels_offset * channels, 0); + + uint16_t* average_white = dev->white_average_data.data() + dev->calib_pixels_offset * channels; + uint16_t* average_dark = dev->dark_average_data.data() + dev->calib_pixels_offset * channels; + + for (x = 0; x < pixels_per_line * channels; x++) + { + dark = 0xffff; + white = 0; + + for (std::size_t y = 0; y < dev->calib_lines; y++) + { + col = calibration_data[(x + y * pixels_per_line * channels) * 2]; + col |= + calibration_data[(x + y * pixels_per_line * channels) * 2 + + 1] << 8; + + if (col > white) + white = col; + if (col < dark) + dark = col; + } + + dif = white - dark; + + dark = dark + dif / 8; + white = white - dif / 8; + + dark_count = 0; + dark_sum = 0; + + white_count = 0; + white_sum = 0; + + for (std::size_t y = 0; y < dev->calib_lines; y++) + { + col = calibration_data[(x + y * pixels_per_line * channels) * 2]; + col |= + calibration_data[(x + y * pixels_per_line * channels) * 2 + + 1] << 8; + + if (col >= white) + { + white_sum += col; + white_count++; + } + if (col <= dark) + { + dark_sum += col; + dark_count++; + } + + } + + dark_sum /= dark_count; + white_sum /= white_count; + + *average_dark++ = dark_sum; + *average_white++ = white_sum; + } + + if (DBG_LEVEL >= DBG_data) { + sanei_genesys_write_pnm_file16("gl_white_average.pnm", dev->white_average_data.data(), + channels, out_pixels_per_line, 1); + sanei_genesys_write_pnm_file16("gl_dark_average.pnm", dev->dark_average_data.data(), + channels, out_pixels_per_line, 1); + } +} + +/* computes one coefficient given bright-dark value + * @param coeff factor giving 1.00 gain + * @param target desired target code + * @param value brght-dark value + * */ +static unsigned int +compute_coefficient (unsigned int coeff, unsigned int target, unsigned int value) +{ + int result; + + if (value > 0) + { + result = (coeff * target) / value; + if (result >= 65535) + { + result = 65535; + } + } + else + { + result = coeff; + } + return result; +} + +/** @brief compute shading coefficients for LiDE scanners + * The dark/white shading is actually performed _after_ reducing + * resolution via averaging. only dark/white shading data for what would be + * first pixel at full resolution is used. + * + * scanner raw input to output value calculation: + * o=(i-off)*(gain/coeff) + * + * from datasheet: + * off=dark_average + * gain=coeff*bright_target/(bright_average-dark_average) + * works for dark_target==0 + * + * what we want is these: + * bright_target=(bright_average-off)*(gain/coeff) + * dark_target=(dark_average-off)*(gain/coeff) + * leading to + * off = (dark_average*bright_target - bright_average*dark_target)/(bright_target - dark_target) + * gain = (bright_target - dark_target)/(bright_average - dark_average)*coeff + * + * @param dev scanner's device + * @param shading_data memory area where to store the computed shading coefficients + * @param pixels_per_line number of pixels per line + * @param words_per_color memory words per color channel + * @param channels number of color channels (actually 1 or 3) + * @param o shading coefficients left offset + * @param coeff 4000h or 2000h depending on fast scan mode or not (GAIN4 bit) + * @param target_bright value of the white target code + * @param target_dark value of the black target code +*/ +static void +compute_averaged_planar (Genesys_Device * dev, const Genesys_Sensor& sensor, + uint8_t * shading_data, + unsigned int pixels_per_line, + unsigned int words_per_color, + unsigned int channels, + unsigned int o, + unsigned int coeff, + unsigned int target_bright, + unsigned int target_dark) +{ + unsigned int x, i, j, br, dk, res, avgpixels, basepixels, val; + unsigned int fill,factor; + + DBG(DBG_info, "%s: pixels=%d, offset=%d\n", __func__, pixels_per_line, o); + + /* initialize result */ + memset (shading_data, 0xff, words_per_color * 3 * 2); + + /* + strangely i can write 0x20000 bytes beginning at 0x00000 without overwriting + slope tables - which begin at address 0x10000(for 1200dpi hw mode): + memory is organized in words(2 bytes) instead of single bytes. explains + quite some things + */ +/* + another one: the dark/white shading is actually performed _after_ reducing + resolution via averaging. only dark/white shading data for what would be + first pixel at full resolution is used. + */ +/* + scanner raw input to output value calculation: + o=(i-off)*(gain/coeff) + + from datasheet: + off=dark_average + gain=coeff*bright_target/(bright_average-dark_average) + works for dark_target==0 + + what we want is these: + bright_target=(bright_average-off)*(gain/coeff) + dark_target=(dark_average-off)*(gain/coeff) + leading to + off = (dark_average*bright_target - bright_average*dark_target)/(bright_target - dark_target) + gain = (bright_target - dark_target)/(bright_average - dark_average)*coeff + */ + res = dev->settings.xres; + + if (sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres) > 1) + { + res *= 2; + } + + /* this should be evenly dividable */ + basepixels = sensor.optical_res / res; + + /* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ + if (basepixels < 1) + avgpixels = 1; + else if (basepixels < 6) + avgpixels = basepixels; + else if (basepixels < 8) + avgpixels = 6; + else if (basepixels < 10) + avgpixels = 8; + else if (basepixels < 12) + avgpixels = 10; + else if (basepixels < 15) + avgpixels = 12; + else + avgpixels = 15; + + /* LiDE80 packs shading data */ + if (dev->model->sensor_id != SensorId::CIS_CANON_LIDE_80) { + factor=1; + fill=avgpixels; + } + else + { + factor=avgpixels; + fill=1; + } + + DBG(DBG_info, "%s: averaging over %d pixels\n", __func__, avgpixels); + DBG(DBG_info, "%s: packing factor is %d\n", __func__, factor); + DBG(DBG_info, "%s: fill length is %d\n", __func__, fill); + + for (x = 0; x <= pixels_per_line - avgpixels; x += avgpixels) + { + if ((x + o) * 2 * 2 + 3 > words_per_color * 2) + break; + + for (j = 0; j < channels; j++) + { + + dk = 0; + br = 0; + for (i = 0; i < avgpixels; i++) + { + // dark data + dk += dev->dark_average_data[(x + i + pixels_per_line * j)]; + // white data + br += dev->white_average_data[(x + i + pixels_per_line * j)]; + } + + br /= avgpixels; + dk /= avgpixels; + + if (br * target_dark > dk * target_bright) + val = 0; + else if (dk * target_bright - br * target_dark > + 65535 * (target_bright - target_dark)) + val = 65535; + else + { + val = (dk * target_bright - br * target_dark) / (target_bright - target_dark); + } + + /*fill all pixels, even if only the last one is relevant*/ + for (i = 0; i < fill; i++) + { + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j] = val & 0xff; + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 1] = val >> 8; + } + + val = br - dk; + + if (65535 * val > (target_bright - target_dark) * coeff) + { + val = (coeff * (target_bright - target_dark)) / val; + } + else + { + val = 65535; + } + + /*fill all pixels, even if only the last one is relevant*/ + for (i = 0; i < fill; i++) + { + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 2] = val & 0xff; + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 3] = val >> 8; + } + } + + /* fill remaining channels */ + for (j = channels; j < 3; j++) + { + for (i = 0; i < fill; i++) + { + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j ] = shading_data[(x/factor + o + i) * 2 * 2 ]; + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 1] = shading_data[(x/factor + o + i) * 2 * 2 + 1]; + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 2] = shading_data[(x/factor + o + i) * 2 * 2 + 2]; + shading_data[(x/factor + o + i) * 2 * 2 + words_per_color * 2 * j + 3] = shading_data[(x/factor + o + i) * 2 * 2 + 3]; + } + } + } +} + +static std::array color_order_to_cmat(ColorOrder color_order) +{ + switch (color_order) { + case ColorOrder::RGB: return {0, 1, 2}; + case ColorOrder::GBR: return {2, 0, 1}; + default: + throw std::logic_error("Unknown color order"); + } +} + +/** + * Computes shading coefficient using formula in data sheet. 16bit data values + * manipulated here are little endian. For now we assume deletion scanning type + * and that there is always 3 channels. + * @param dev scanner's device + * @param shading_data memory area where to store the computed shading coefficients + * @param pixels_per_line number of pixels per line + * @param channels number of color channels (actually 1 or 3) + * @param cmat color transposition matrix + * @param offset shading coefficients left offset + * @param coeff 4000h or 2000h depending on fast scan mode or not + * @param target value of the target code + */ +static void compute_coefficients(Genesys_Device * dev, + uint8_t * shading_data, + unsigned int pixels_per_line, + unsigned int channels, + ColorOrder color_order, + int offset, + unsigned int coeff, + unsigned int target) +{ + uint8_t *ptr; /* contain 16bit words in little endian */ + unsigned int x, c; + unsigned int val, br, dk; + unsigned int start, end; + + DBG(DBG_io, "%s: pixels_per_line=%d, coeff=0x%04x\n", __func__, pixels_per_line, coeff); + + auto cmat = color_order_to_cmat(color_order); + + /* compute start & end values depending of the offset */ + if (offset < 0) + { + start = -1 * offset; + end = pixels_per_line; + } + else + { + start = 0; + end = pixels_per_line - offset; + } + + for (c = 0; c < channels; c++) + { + for (x = start; x < end; x++) + { + /* TODO if channels=1 , use filter to know the base addr */ + ptr = shading_data + 4 * ((x + offset) * channels + cmat[c]); + + // dark data + dk = dev->dark_average_data[x * channels + c]; + + // white data + br = dev->white_average_data[x * channels + c]; + + /* compute coeff */ + val=compute_coefficient(coeff,target,br-dk); + + /* assign it */ + ptr[0] = dk & 255; + ptr[1] = dk / 256; + ptr[2] = val & 0xff; + ptr[3] = val / 256; + + } + } +} + +/** + * Computes shading coefficient using formula in data sheet. 16bit data values + * manipulated here are little endian. Data is in planar form, ie grouped by + * lines of the same color component. + * @param dev scanner's device + * @param shading_data memory area where to store the computed shading coefficients + * @param factor averaging factor when the calibration scan is done at a higher resolution + * than the final scan + * @param pixels_per_line number of pixels per line + * @param words_per_color total number of shading data words for one color element + * @param channels number of color channels (actually 1 or 3) + * @param cmat transcoding matrix for color channel order + * @param offset shading coefficients left offset + * @param coeff 4000h or 2000h depending on fast scan mode or not + * @param target white target value + */ +static void compute_planar_coefficients(Genesys_Device * dev, + uint8_t * shading_data, + unsigned int factor, + unsigned int pixels_per_line, + unsigned int words_per_color, + unsigned int channels, + ColorOrder color_order, + unsigned int offset, + unsigned int coeff, + unsigned int target) +{ + uint8_t *ptr; /* contains 16bit words in little endian */ + uint32_t x, c, i; + uint32_t val, dk, br; + + auto cmat = color_order_to_cmat(color_order); + + DBG(DBG_io, "%s: factor=%d, pixels_per_line=%d, words=0x%X, coeff=0x%04x\n", __func__, factor, + pixels_per_line, words_per_color, coeff); + for (c = 0; c < channels; c++) + { + /* shading data is larger than pixels_per_line so offset can be neglected */ + for (x = 0; x < pixels_per_line; x+=factor) + { + /* x2 because of 16 bit values, and x2 since one coeff for dark + * and another for white */ + ptr = shading_data + words_per_color * cmat[c] * 2 + (x + offset) * 4; + + dk = 0; + br = 0; + + /* average case */ + for(i=0;idark_average_data[((x+i) + pixels_per_line * c)]; + br += dev->white_average_data[((x+i) + pixels_per_line * c)]; + } + dk /= factor; + br /= factor; + + val = compute_coefficient (coeff, target, br - dk); + + /* we duplicate the information to have calibration data at optical resolution */ + for (i = 0; i < factor; i++) + { + ptr[0 + 4 * i] = dk & 255; + ptr[1 + 4 * i] = dk / 256; + ptr[2 + 4 * i] = val & 0xff; + ptr[3 + 4 * i] = val / 256; + } + } + } + /* in case of gray level scan, we duplicate shading information on all + * three color channels */ + if(channels==1) + { + memcpy(shading_data+cmat[1]*2*words_per_color, + shading_data+cmat[0]*2*words_per_color, + words_per_color*2); + memcpy(shading_data+cmat[2]*2*words_per_color, + shading_data+cmat[0]*2*words_per_color, + words_per_color*2); + } +} + +static void +compute_shifted_coefficients (Genesys_Device * dev, + const Genesys_Sensor& sensor, + uint8_t * shading_data, + unsigned int pixels_per_line, + unsigned int channels, + ColorOrder color_order, + int offset, + unsigned int coeff, + unsigned int target_dark, + unsigned int target_bright, + unsigned int patch_size) /* contigous extent */ +{ + unsigned int x, avgpixels, basepixels, i, j, val1, val2; + unsigned int br_tmp [3], dk_tmp [3]; + uint8_t *ptr = shading_data + offset * 3 * 4; /* contain 16bit words in little endian */ + unsigned int patch_cnt = offset * 3; /* at start, offset of first patch */ + + auto cmat = color_order_to_cmat(color_order); + + x = dev->settings.xres; + if (sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres) > 1) + x *= 2; /* scanner is using half-ccd mode */ + basepixels = sensor.optical_res / x; /*this should be evenly dividable */ + + /* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ + if (basepixels < 1) + avgpixels = 1; + else if (basepixels < 6) + avgpixels = basepixels; + else if (basepixels < 8) + avgpixels = 6; + else if (basepixels < 10) + avgpixels = 8; + else if (basepixels < 12) + avgpixels = 10; + else if (basepixels < 15) + avgpixels = 12; + else + avgpixels = 15; + DBG(DBG_info, "%s: pixels_per_line=%d, coeff=0x%04x, averaging over %d pixels\n", __func__, + pixels_per_line, coeff, avgpixels); + + for (x = 0; x <= pixels_per_line - avgpixels; x += avgpixels) { + memset (&br_tmp, 0, sizeof(br_tmp)); + memset (&dk_tmp, 0, sizeof(dk_tmp)); + + for (i = 0; i < avgpixels; i++) { + for (j = 0; j < channels; j++) { + br_tmp[j] += dev->white_average_data[((x + i) * channels + j)]; + dk_tmp[i] += dev->dark_average_data[((x + i) * channels + j)]; + } + } + for (j = 0; j < channels; j++) { + br_tmp[j] /= avgpixels; + dk_tmp[j] /= avgpixels; + + if (br_tmp[j] * target_dark > dk_tmp[j] * target_bright) + val1 = 0; + else if (dk_tmp[j] * target_bright - br_tmp[j] * target_dark > 65535 * (target_bright - target_dark)) + val1 = 65535; + else + val1 = (dk_tmp[j] * target_bright - br_tmp[j] * target_dark) / (target_bright - target_dark); + + val2 = br_tmp[j] - dk_tmp[j]; + if (65535 * val2 > (target_bright - target_dark) * coeff) + val2 = (coeff * (target_bright - target_dark)) / val2; + else + val2 = 65535; + + br_tmp[j] = val1; + dk_tmp[j] = val2; + } + for (i = 0; i < avgpixels; i++) { + for (j = 0; j < channels; j++) { + * ptr++ = br_tmp[ cmat[j] ] & 0xff; + * ptr++ = br_tmp[ cmat[j] ] >> 8; + * ptr++ = dk_tmp[ cmat[j] ] & 0xff; + * ptr++ = dk_tmp[ cmat[j] ] >> 8; + patch_cnt++; + if (patch_cnt == patch_size) { + patch_cnt = 0; + val1 = cmat[2]; + cmat[2] = cmat[1]; + cmat[1] = cmat[0]; + cmat[0] = val1; + } + } + } + } +} + +static void genesys_send_shading_coefficient(Genesys_Device* dev, const Genesys_Sensor& sensor) +{ + DBG_HELPER(dbg); + + if (dev->model->flags & GENESYS_FLAG_CALIBRATION_HOST_SIDE) { + return; + } + + uint32_t pixels_per_line; + uint8_t channels; + int o; + unsigned int length; /**> number of shading calibration data words */ + unsigned int factor; + unsigned int coeff, target_code, words_per_color = 0; + + pixels_per_line = dev->calib_pixels + dev->calib_pixels_offset; + channels = dev->calib_channels; + + /* we always build data for three channels, even for gray + * we make the shading data such that each color channel data line is contiguous + * to the next one, which allow to write the 3 channels in 1 write + * during genesys_send_shading_coefficient, some values are words, other bytes + * hence the x2 factor */ + switch (dev->reg.get8(0x05) >> 6) + { + /* 600 dpi */ + case 0: + words_per_color = 0x2a00; + break; + /* 1200 dpi */ + case 1: + words_per_color = 0x5500; + break; + /* 2400 dpi */ + case 2: + words_per_color = 0xa800; + break; + /* 4800 dpi */ + case 3: + words_per_color = 0x15000; + break; + } + + /* special case, memory is aligned on 0x5400, this has yet to be explained */ + /* could be 0xa800 because sensor is truly 2400 dpi, then halved because + * we only set 1200 dpi */ + if(dev->model->sensor_id==SensorId::CIS_CANON_LIDE_80) + { + words_per_color = 0x5400; + } + + length = words_per_color * 3 * 2; + + /* allocate computed size */ + // contains 16bit words in little endian + std::vector shading_data(length, 0); + + /* TARGET/(Wn-Dn) = white gain -> ~1.xxx then it is multiplied by 0x2000 + or 0x4000 to give an integer + Wn = white average for column n + Dn = dark average for column n + */ + if (get_registers_gain4_bit(dev->model->asic_type, dev->calib_reg)) { + coeff = 0x4000; + } else { + coeff = 0x2000; + } + + /* compute avg factor */ + if(dev->settings.xres>sensor.optical_res) + { + factor=1; + } + else + { + factor=sensor.optical_res/dev->settings.xres; + } + + /* for GL646, shading data is planar if REG_0x01_FASTMOD is set and + * chunky if not. For now we rely on the fact that we know that + * each sensor is used only in one mode. Currently only the CIS_XP200 + * sets REG_0x01_FASTMOD. + */ + + /* TODO setup a struct in genesys_devices that + * will handle these settings instead of having this switch growing up */ + switch (dev->model->sensor_id) + { + case SensorId::CCD_XP300: + case SensorId::CCD_ROADWARRIOR: + case SensorId::CCD_DP665: + case SensorId::CCD_DP685: + case SensorId::CCD_DSMOBILE600: + target_code = 0xdc00; + o = 4; + compute_planar_coefficients (dev, + shading_data.data(), + factor, + pixels_per_line, + words_per_color, + channels, + ColorOrder::RGB, + o, + coeff, + target_code); + break; + case SensorId::CIS_XP200: + target_code = 0xdc00; + o = 2; + compute_planar_coefficients (dev, + shading_data.data(), + 1, + pixels_per_line, + words_per_color, + channels, + ColorOrder::GBR, + o, + coeff, + target_code); + break; + case SensorId::CCD_HP2300: + target_code = 0xdc00; + o = 2; + if(dev->settings.xres<=sensor.optical_res/2) + { + o = o - sensor.dummy_pixel / 2; + } + compute_coefficients (dev, + shading_data.data(), + pixels_per_line, + 3, + ColorOrder::RGB, + o, + coeff, + target_code); + break; + case SensorId::CCD_5345: + target_code = 0xe000; + o = 4; + if(dev->settings.xres<=sensor.optical_res/2) + { + o = o - sensor.dummy_pixel; + } + compute_coefficients (dev, + shading_data.data(), + pixels_per_line, + 3, + ColorOrder::RGB, + o, + coeff, + target_code); + break; + case SensorId::CCD_HP3670: + case SensorId::CCD_HP2400: + target_code = 0xe000; + // offset is dependent on ccd_pixels_per_system_pixel(), but we couldn't use this in + // common code previously. + // FIXME: use sensor.ccd_pixels_per_system_pixel() + if(dev->settings.xres<=300) + { + o = -10; + } + else if(dev->settings.xres<=600) + { + o = -6; + } + else + { + o = +2; + } + compute_coefficients (dev, + shading_data.data(), + pixels_per_line, + 3, + ColorOrder::RGB, + o, + coeff, + target_code); + break; + case SensorId::CCD_KVSS080: + case SensorId::CCD_PLUSTEK_OPTICBOOK_3800: + case SensorId::CCD_G4050: + case SensorId::CCD_HP_4850C: + case SensorId::CCD_CANON_4400F: + case SensorId::CCD_CANON_8400F: + case SensorId::CCD_CANON_8600F: + case SensorId::CCD_PLUSTEK_OPTICFILM_7200I: + case SensorId::CCD_PLUSTEK_OPTICFILM_7300: + case SensorId::CCD_PLUSTEK_OPTICFILM_7500I: + target_code = 0xe000; + o = 0; + compute_coefficients (dev, + shading_data.data(), + pixels_per_line, + 3, + ColorOrder::RGB, + o, + coeff, + target_code); + break; + case SensorId::CIS_CANON_LIDE_700F: + case SensorId::CIS_CANON_LIDE_100: + case SensorId::CIS_CANON_LIDE_200: + case SensorId::CIS_CANON_LIDE_110: + case SensorId::CIS_CANON_LIDE_120: + case SensorId::CIS_CANON_LIDE_210: + case SensorId::CIS_CANON_LIDE_220: + /* TODO store this in a data struct so we avoid + * growing this switch */ + switch(dev->model->sensor_id) + { + case SensorId::CIS_CANON_LIDE_110: + case SensorId::CIS_CANON_LIDE_120: + case SensorId::CIS_CANON_LIDE_210: + case SensorId::CIS_CANON_LIDE_220: + case SensorId::CIS_CANON_LIDE_700F: + target_code = 0xc000; + break; + default: + target_code = 0xdc00; + } + words_per_color=pixels_per_line*2; + length = words_per_color * 3 * 2; + shading_data.clear(); + shading_data.resize(length, 0); + compute_planar_coefficients (dev, + shading_data.data(), + 1, + pixels_per_line, + words_per_color, + channels, + ColorOrder::RGB, + 0, + coeff, + target_code); + break; + case SensorId::CIS_CANON_LIDE_35: + compute_averaged_planar (dev, sensor, + shading_data.data(), + pixels_per_line, + words_per_color, + channels, + 4, + coeff, + 0xe000, + 0x0a00); + break; + case SensorId::CIS_CANON_LIDE_80: + compute_averaged_planar (dev, sensor, + shading_data.data(), + pixels_per_line, + words_per_color, + channels, + 0, + coeff, + 0xe000, + 0x0800); + break; + case SensorId::CCD_PLUSTEK_OPTICPRO_3600: + compute_shifted_coefficients (dev, sensor, + shading_data.data(), + pixels_per_line, + channels, + ColorOrder::RGB, + 12, /* offset */ + coeff, + 0x0001, /* target_dark */ + 0xf900, /* target_bright */ + 256); /* patch_size: contigous extent */ + break; + default: + throw SaneException(SANE_STATUS_UNSUPPORTED, "sensor %d not supported", + static_cast(dev->model->sensor_id)); + break; + } + + // do the actual write of shading calibration data to the scanner + genesys_send_offset_and_shading(dev, sensor, shading_data.data(), length); +} + + +/** + * search calibration cache list for an entry matching required scan. + * If one is found, set device calibration with it + * @param dev scanner's device + * @return false if no matching cache entry has been + * found, true if one has been found and used. + */ +static bool +genesys_restore_calibration(Genesys_Device * dev, Genesys_Sensor& sensor) +{ + DBG_HELPER(dbg); + + // if no cache or no function to evaluate cache entry ther can be no match/ + if (dev->calibration_cache.empty()) { + return false; + } + + auto session = dev->cmd_set->calculate_scan_session(dev, sensor, dev->settings); + + /* we walk the link list of calibration cache in search for a + * matching one */ + for (auto& cache : dev->calibration_cache) + { + if (sanei_genesys_is_compatible_calibration(dev, session, &cache, false)) { + dev->frontend = cache.frontend; + /* we don't restore the gamma fields */ + sensor.exposure = cache.sensor.exposure; + + dev->average_size = cache.average_size; + dev->calib_pixels = cache.calib_pixels; + dev->calib_channels = cache.calib_channels; + + dev->dark_average_data = cache.dark_average_data; + dev->white_average_data = cache.white_average_data; + + if (!dev->cmd_set->has_send_shading_data()) { + genesys_send_shading_coefficient(dev, sensor); + } + + DBG(DBG_proc, "%s: restored\n", __func__); + return true; + } + } + DBG(DBG_proc, "%s: completed(nothing found)\n", __func__); + return false; +} + + +static void genesys_save_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor) +{ + DBG_HELPER(dbg); +#ifdef HAVE_SYS_TIME_H + struct timeval time; +#endif + + auto session = dev->cmd_set->calculate_scan_session(dev, sensor, dev->settings); + + auto found_cache_it = dev->calibration_cache.end(); + for (auto cache_it = dev->calibration_cache.begin(); cache_it != dev->calibration_cache.end(); + cache_it++) + { + if (sanei_genesys_is_compatible_calibration(dev, session, &*cache_it, true)) { + found_cache_it = cache_it; + break; + } + } + + /* if we found on overridable cache, we reuse it */ + if (found_cache_it == dev->calibration_cache.end()) + { + /* create a new cache entry and insert it in the linked list */ + dev->calibration_cache.push_back(Genesys_Calibration_Cache()); + found_cache_it = std::prev(dev->calibration_cache.end()); + } + + found_cache_it->average_size = dev->average_size; + + found_cache_it->dark_average_data = dev->dark_average_data; + found_cache_it->white_average_data = dev->white_average_data; + + found_cache_it->params = session.params; + found_cache_it->frontend = dev->frontend; + found_cache_it->sensor = sensor; + + found_cache_it->calib_pixels = dev->calib_pixels; + found_cache_it->calib_channels = dev->calib_channels; + +#ifdef HAVE_SYS_TIME_H + gettimeofday(&time, nullptr); + found_cache_it->last_calibration = time.tv_sec; +#endif +} + +/** + * does the calibration process for a flatbed scanner + * - offset calibration + * - gain calibration + * - shading calibration + * @param dev device to calibrate + */ +static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sensor) +{ + DBG_HELPER(dbg); + uint32_t pixels_per_line; + + unsigned coarse_res = sensor.optical_res; + if (dev->settings.yres <= sensor.optical_res / 2) { + coarse_res /= 2; + } + + if (dev->model->model_id == ModelId::CANON_8400F) { + coarse_res = 1600; + } + + if (dev->model->model_id == ModelId::CANON_4400F || + dev->model->model_id == ModelId::CANON_8600F) + { + coarse_res = 1200; + } + + /* do offset calibration if needed */ + if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) + { + dev->interface->record_progress_message("offset_calibration"); + dev->cmd_set->offset_calibration(dev, sensor, dev->calib_reg); + + /* since all the registers are set up correctly, just use them */ + dev->interface->record_progress_message("coarse_gain_calibration"); + dev->cmd_set->coarse_gain_calibration(dev, sensor, dev->calib_reg, coarse_res); + } else { + /* since we have 2 gain calibration proc, skip second if first one was + used. */ + dev->interface->record_progress_message("init_regs_for_coarse_calibration"); + dev->cmd_set->init_regs_for_coarse_calibration(dev, sensor, dev->calib_reg); + + dev->interface->record_progress_message("genesys_coarse_calibration"); + genesys_coarse_calibration(dev, sensor); + } + + if (dev->model->is_cis) + { + /* the afe now sends valid data for doing led calibration */ + dev->interface->record_progress_message("led_calibration"); + switch (dev->model->asic_type) { + case AsicType::GL124: + case AsicType::GL845: + case AsicType::GL846: + case AsicType::GL847: { + auto calib_exposure = dev->cmd_set->led_calibration(dev, sensor, dev->calib_reg); + for (auto& sensor_update : + sanei_genesys_find_sensors_all_for_write(dev, sensor.method)) { + sensor_update.get().exposure = calib_exposure; + } + sensor.exposure = calib_exposure; + break; + } + default: { + sensor.exposure = dev->cmd_set->led_calibration(dev, sensor, dev->calib_reg); + } + } + + + /* calibrate afe again to match new exposure */ + if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) { + dev->interface->record_progress_message("offset_calibration"); + dev->cmd_set->offset_calibration(dev, sensor, dev->calib_reg); + + // since all the registers are set up correctly, just use them + + dev->interface->record_progress_message("coarse_gain_calibration"); + dev->cmd_set->coarse_gain_calibration(dev, sensor, dev->calib_reg, coarse_res); + } else { + // since we have 2 gain calibration proc, skip second if first one was used + dev->interface->record_progress_message("init_regs_for_coarse_calibration"); + dev->cmd_set->init_regs_for_coarse_calibration(dev, sensor, dev->calib_reg); + + dev->interface->record_progress_message("genesys_coarse_calibration"); + genesys_coarse_calibration(dev, sensor); + } + } + + /* we always use sensor pixel number when the ASIC can't handle multi-segments sensor */ + if (!(dev->model->flags & GENESYS_FLAG_SIS_SENSOR)) + { + pixels_per_line = static_cast((dev->model->x_size * dev->settings.xres) / + MM_PER_INCH); + } + else + { + pixels_per_line = sensor.sensor_pixels; + } + + // send default shading data + dev->interface->record_progress_message("sanei_genesys_init_shading_data"); + sanei_genesys_init_shading_data(dev, sensor, pixels_per_line); + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + dev->cmd_set->move_to_ta(dev); + } + + // shading calibration + if (dev->model->flags & GENESYS_FLAG_DARK_WHITE_CALIBRATION) { + dev->interface->record_progress_message("init_regs_for_shading"); + dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg); + + dev->interface->record_progress_message("genesys_dark_white_shading_calibration"); + genesys_dark_white_shading_calibration(dev, sensor); + } else { + DBG(DBG_proc, "%s : genesys_dark_shading_calibration dev->calib_reg ", __func__); + debug_dump(DBG_proc, dev->calib_reg); + + if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) { + dev->interface->record_progress_message("init_regs_for_shading"); + dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg); + + dev->interface->record_progress_message("genesys_dark_shading_calibration"); + genesys_dark_shading_calibration(dev, sensor); + genesys_repark_sensor_before_shading(dev); + } + + dev->interface->record_progress_message("init_regs_for_shading2"); + dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg); + + dev->interface->record_progress_message("genesys_white_shading_calibration"); + genesys_white_shading_calibration(dev, sensor); + genesys_repark_sensor_after_white_shading(dev); + + if (!(dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION)) { + genesys_dummy_dark_shading(dev, sensor); + } + } + + if (!dev->cmd_set->has_send_shading_data()) { + dev->interface->record_progress_message("genesys_send_shading_coefficient"); + genesys_send_shading_coefficient(dev, sensor); + } +} + +/** + * Does the calibration process for a sheetfed scanner + * - offset calibration + * - gain calibration + * - shading calibration + * During calibration a predefined calibration sheet with specific black and white + * areas is used. + * @param dev device to calibrate + */ +static void genesys_sheetfed_calibration(Genesys_Device* dev, Genesys_Sensor& sensor) +{ + DBG_HELPER(dbg); + bool forward = true; + + // first step, load document + dev->cmd_set->load_document(dev); + + /* led, offset and gain calibration are influenced by scan + * settings. So we set it to sensor resolution */ + dev->settings.xres = sensor.optical_res; + /* XP200 needs to calibrate a full and half sensor's resolution */ + if (dev->model->sensor_id == SensorId::CIS_XP200 && + dev->settings.xres <= sensor.optical_res / 2) + { + dev->settings.xres /= 2; + } + + /* the afe needs to sends valid data even before calibration */ + + /* go to a white area */ + try { + dev->cmd_set->search_strip(dev, sensor, forward, false); + } catch (...) { + catch_all_exceptions(__func__, [&](){ dev->cmd_set->eject_document(dev); }); + throw; + } + + if (dev->model->is_cis) + { + dev->cmd_set->led_calibration(dev, sensor, dev->calib_reg); + } + + /* calibrate afe */ + if (dev->model->flags & GENESYS_FLAG_OFFSET_CALIBRATION) + { + dev->cmd_set->offset_calibration(dev, sensor, dev->calib_reg); + + /* since all the registers are set up correctly, just use them */ + + dev->cmd_set->coarse_gain_calibration(dev, sensor, dev->calib_reg, sensor.optical_res); + } + else + /* since we have 2 gain calibration proc, skip second if first one was + used. */ + { + dev->cmd_set->init_regs_for_coarse_calibration(dev, sensor, dev->calib_reg); + + genesys_coarse_calibration(dev, sensor); + } + + /* search for a full width black strip and then do a 16 bit scan to + * gather black shading data */ + if (dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION) + { + /* seek black/white reverse/forward */ + try { + dev->cmd_set->search_strip(dev, sensor, forward, true); + } catch (...) { + catch_all_exceptions(__func__, [&](){ dev->cmd_set->eject_document(dev); }); + throw; + } + + dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg); + + try { + genesys_dark_shading_calibration(dev, sensor); + } catch (...) { + catch_all_exceptions(__func__, [&](){ dev->cmd_set->eject_document(dev); }); + throw; + } + forward = false; + } + + + /* go to a white area */ + try { + dev->cmd_set->search_strip(dev, sensor, forward, false); + } catch (...) { + catch_all_exceptions(__func__, [&](){ dev->cmd_set->eject_document(dev); }); + throw; + } + + genesys_repark_sensor_before_shading(dev); + + dev->cmd_set->init_regs_for_shading(dev, sensor, dev->calib_reg); + + try { + genesys_white_shading_calibration(dev, sensor); + genesys_repark_sensor_after_white_shading(dev); + } catch (...) { + catch_all_exceptions(__func__, [&](){ dev->cmd_set->eject_document(dev); }); + throw; + } + + // in case we haven't black shading data, build it from black pixels of white calibration + // FIXME: shouldn't we use genesys_dummy_dark_shading() ? + if (!(dev->model->flags & GENESYS_FLAG_DARK_CALIBRATION)) { + dev->dark_average_data.clear(); + dev->dark_average_data.resize(dev->average_size, 0x0f0f); + /* XXX STEF XXX + * with black point in white shading, build an average black + * pixel and use it to fill the dark_average + * dev->calib_pixels + (sensor.sensor_pixels * dev->settings.xres) / sensor.optical_res, + dev->calib_lines, + */ + } + + /* send the shading coefficient when doing whole line shading + * but not when using SHDAREA like GL124 */ + if (!dev->cmd_set->has_send_shading_data()) { + genesys_send_shading_coefficient(dev, sensor); + } + + // save the calibration data + genesys_save_calibration(dev, sensor); + + // and finally eject calibration sheet + dev->cmd_set->eject_document(dev); + + // restore settings + dev->settings.xres = sensor.optical_res; +} + +/** + * does the calibration process for a device + * @param dev device to calibrate + */ +static void genesys_scanner_calibration(Genesys_Device* dev, Genesys_Sensor& sensor) +{ + DBG_HELPER(dbg); + if (!dev->model->is_sheetfed) { + genesys_flatbed_calibration(dev, sensor); + return; + } + genesys_sheetfed_calibration(dev, sensor); +} + + +/* ------------------------------------------------------------------------ */ +/* High level (exported) functions */ +/* ------------------------------------------------------------------------ */ + +/* + * wait lamp to be warm enough by scanning the same line until + * differences between two scans are below a threshold + */ +static void genesys_warmup_lamp(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + unsigned seconds = 0; + int pixel; + int channels, total_size; + double first_average = 0; + double second_average = 0; + int difference = 255; + int lines = 3; + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + dev->cmd_set->init_regs_for_warmup(dev, sensor, &dev->reg, &channels, &total_size); + std::vector first_line(total_size); + std::vector second_line(total_size); + + do + { + DBG(DBG_info, "%s: one more loop\n", __func__); + dev->cmd_set->begin_scan(dev, sensor, &dev->reg, false); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("warmup_lamp"); + dev->cmd_set->end_scan(dev, &dev->reg, true); + return; + } + + wait_until_buffer_non_empty(dev); + + try { + sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size); + } catch (...) { + // FIXME: document why this retry is here + sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size); + } + + dev->cmd_set->end_scan(dev, &dev->reg, true); + + dev->interface->sleep_ms(1000); + seconds++; + + dev->cmd_set->begin_scan(dev, sensor, &dev->reg, false); + + wait_until_buffer_non_empty(dev); + + sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size); + dev->cmd_set->end_scan(dev, &dev->reg, true); + + /* compute difference between the two scans */ + for (pixel = 0; pixel < total_size; pixel++) + { + // 16 bit data + if (dev->session.params.depth == 16) { + first_average += (first_line[pixel] + first_line[pixel + 1] * 256); + second_average += (second_line[pixel] + second_line[pixel + 1] * 256); + pixel++; + } + else + { + first_average += first_line[pixel]; + second_average += second_line[pixel]; + } + } + if (dev->session.params.depth == 16) { + first_average /= pixel; + second_average /= pixel; + difference = static_cast(std::fabs(first_average - second_average)); + DBG(DBG_info, "%s: average = %.2f, diff = %.3f\n", __func__, + 100 * ((second_average) / (256 * 256)), + 100 * (difference / second_average)); + + if (second_average > (100 * 256) + && (difference / second_average) < 0.002) + break; + } + else + { + first_average /= pixel; + second_average /= pixel; + if (DBG_LEVEL >= DBG_data) + { + sanei_genesys_write_pnm_file("gl_warmup1.pnm", first_line.data(), 8, channels, + total_size / (lines * channels), lines); + sanei_genesys_write_pnm_file("gl_warmup2.pnm", second_line.data(), 8, channels, + total_size / (lines * channels), lines); + } + DBG(DBG_info, "%s: average 1 = %.2f, average 2 = %.2f\n", __func__, first_average, + second_average); + /* if delta below 15/255 ~= 5.8%, lamp is considred warm enough */ + if (fabs (first_average - second_average) < 15 + && second_average > 55) + break; + } + + /* sleep another second before next loop */ + dev->interface->sleep_ms(1000); + seconds++; + } while (seconds < WARMUP_TIME); + + if (seconds >= WARMUP_TIME) + { + throw SaneException(SANE_STATUS_IO_ERROR, + "warmup timed out after %d seconds. Lamp defective?", seconds); + } + else + { + DBG(DBG_info, "%s: warmup succeeded after %d seconds\n", __func__, seconds); + } +} + + +// High-level start of scanning +static void genesys_start_scan(Genesys_Device* dev, bool lamp_off) +{ + DBG_HELPER(dbg); + unsigned int steps, expected; + + /* since not all scanners are set ot wait for head to park + * we check we are not still parking before starting a new scan */ + if (dev->parking) { + sanei_genesys_wait_for_home(dev); + } + + // disable power saving + dev->cmd_set->save_power(dev, false); + + /* wait for lamp warmup : until a warmup for TRANSPARENCY is designed, skip + * it when scanning from XPA. */ + if (!(dev->model->flags & GENESYS_FLAG_SKIP_WARMUP) + && (dev->settings.scan_method == ScanMethod::FLATBED)) + { + genesys_warmup_lamp(dev); + } + + /* set top left x and y values by scanning the internals if flatbed scanners */ + if (!dev->model->is_sheetfed) { + /* do the geometry detection only once */ + if ((dev->model->flags & GENESYS_FLAG_SEARCH_START) + && (dev->model->y_offset_calib_white == 0)) + { + dev->cmd_set->search_start_position (dev); + + dev->parking = false; + dev->cmd_set->move_back_home(dev, true); + } + else + { + /* Go home */ + /* TODO: check we can drop this since we cannot have the + scanner's head wandering here */ + dev->parking = false; + dev->cmd_set->move_back_home(dev, true); + } + } + + /* move to calibration area for transparency adapter */ + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + dev->cmd_set->move_to_ta(dev); + } + + /* load document if needed (for sheetfed scanner for instance) */ + if (dev->model->is_sheetfed) { + dev->cmd_set->load_document(dev); + } + + auto& sensor = sanei_genesys_find_sensor_for_write(dev, dev->settings.xres, + dev->settings.get_channels(), + dev->settings.scan_method); + + // send gamma tables. They have been set to device or user value + // when setting option value */ + dev->cmd_set->send_gamma_table(dev, sensor); + + /* try to use cached calibration first */ + if (!genesys_restore_calibration (dev, sensor)) + { + /* calibration : sheetfed scanners can't calibrate before each scan */ + /* and also those who have the NO_CALIBRATION flag */ + if (!(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION) && !dev->model->is_sheetfed) { + genesys_scanner_calibration(dev, sensor); + genesys_save_calibration (dev, sensor); + } + else + { + DBG(DBG_warn, "%s: no calibration done\n", __func__); + } + } + + /* build look up table for dynamic lineart */ + if (dev->settings.scan_mode == ScanColorMode::LINEART) { + sanei_genesys_load_lut(dev->lineart_lut, 8, 8, 50, 205, dev->settings.threshold_curve, + dev->settings.threshold-127); + } + + dev->cmd_set->wait_for_motor_stop(dev); + + if (dev->cmd_set->needs_home_before_init_regs_for_scan(dev)) { + dev->cmd_set->move_back_home(dev, true); + } + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + dev->cmd_set->move_to_ta(dev); + } + + dev->cmd_set->init_regs_for_scan(dev, sensor); + + /* no lamp during scan */ + if (lamp_off) { + sanei_genesys_set_lamp_power(dev, sensor, dev->reg, false); + } + + /* GL124 is using SHDAREA, so we have to wait for scan to be set up before + * sending shading data */ + if (dev->cmd_set->has_send_shading_data() && + !(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) + { + genesys_send_shading_coefficient(dev, sensor); + } + + // now send registers for scan + dev->interface->write_registers(dev->reg); + + // start effective scan + dev->cmd_set->begin_scan(dev, sensor, &dev->reg, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("start_scan"); + return; + } + + /*do we really need this? the valid data check should be sufficent -- pierre*/ + /* waits for head to reach scanning position */ + expected = dev->reg.get8(0x3d) * 65536 + + dev->reg.get8(0x3e) * 256 + + dev->reg.get8(0x3f); + do + { + // wait some time between each test to avoid overloading USB and CPU + dev->interface->sleep_ms(100); + sanei_genesys_read_feed_steps (dev, &steps); + } + while (steps < expected); + + wait_until_buffer_non_empty(dev); + + // we wait for at least one word of valid scan data + // this is also done in sanei_genesys_read_data_from_scanner -- pierre + if (!dev->model->is_sheetfed) { + do { + dev->interface->sleep_ms(100); + sanei_genesys_read_valid_words(dev, &steps); + } + while (steps < 1); + } +} + +static void genesys_fill_read_buffer(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + + /* for sheetfed scanner, we must check is document is shorter than + * the requested scan */ + if (dev->model->is_sheetfed) { + dev->cmd_set->detect_document_end(dev); + } + + std::size_t size = dev->read_buffer.size() - dev->read_buffer.avail(); + + /* due to sensors and motors, not all data can be directly used. It + * may have to be read from another intermediate buffer and then processed. + * There are currently 3 intermediate stages: + * - handling of odd/even sensors + * - handling of line interpolation for motors that can't have low + * enough dpi + * - handling of multi-segments sensors + * + * This is also the place where full duplex data will be handled. + */ + dev->pipeline_buffer.get_data(size, dev->read_buffer.get_write_pos(size)); + + dev->read_buffer.produce(size); +} + +/* this function does the effective data read in a manner that suits + the scanner. It does data reordering and resizing if need. + It also manages EOF and I/O errors, and line distance correction. + Returns true on success, false on end-of-file. +*/ +static void genesys_read_ordered_data(Genesys_Device* dev, SANE_Byte* destination, size_t* len) +{ + DBG_HELPER(dbg); + size_t bytes = 0; + uint8_t *work_buffer_src; + Genesys_Buffer *src_buffer; + + if (!dev->read_active) { + *len = 0; + throw SaneException("read is not active"); + } + + DBG(DBG_info, "%s: frontend requested %zu bytes\n", __func__, *len); + DBG(DBG_info, "%s: bytes_to_read=%zu, total_bytes_read=%zu\n", __func__, + dev->total_bytes_to_read, dev->total_bytes_read); + + /* is there data left to scan */ + if (dev->total_bytes_read >= dev->total_bytes_to_read) + { + /* issue park command immediatly in case scanner can handle it + * so we save time */ + if (!dev->model->is_sheetfed && !(dev->model->flags & GENESYS_FLAG_MUST_WAIT) && + !dev->parking) + { + dev->cmd_set->move_back_home(dev, false); + dev->parking = true; + } + throw SaneException(SANE_STATUS_EOF, "nothing more to scan: EOF"); + } + +/* convert data */ +/* + 0. fill_read_buffer +-------------- read_buffer ---------------------- + 1a). (opt)uncis (assumes color components to be laid out + planar) + 1b). (opt)reverse_RGB (assumes pixels to be BGR or BBGGRR)) +-------------- lines_buffer ---------------------- + 2a). (opt)line_distance_correction (assumes RGB or RRGGBB) + 2b). (opt)unstagger (assumes pixels to be depth*channels/8 + bytes long, unshrinked) +------------- shrink_buffer --------------------- + 3. (opt)shrink_lines (assumes component separation in pixels) +-------------- out_buffer ----------------------- + 4. memcpy to destination (for lineart with bit reversal) +*/ +/*FIXME: for lineart we need sub byte addressing in buffers, or conversion to + bytes at 0. and back to bits at 4. +Problems with the first approach: + - its not clear how to check if we need to output an incomplete byte + because it is the last one. + */ +/*FIXME: add lineart support for gl646. in the meantime add logic to convert + from gray to lineart at the end? would suffer the above problem, + total_bytes_to_read and total_bytes_read help in that case. + */ + + if (is_testing_mode()) { + if (dev->total_bytes_read + *len > dev->total_bytes_to_read) { + *len = dev->total_bytes_to_read - dev->total_bytes_read; + } + dev->total_bytes_read += *len; + } else { + genesys_fill_read_buffer(dev); + + src_buffer = &(dev->read_buffer); + + /* move data to destination */ + bytes = std::min(src_buffer->avail(), *len); + + work_buffer_src = src_buffer->get_read_pos(); + + std::memcpy(destination, work_buffer_src, bytes); + *len = bytes; + + /* avoid signaling some extra data because we have treated a full block + * on the last block */ + if (dev->total_bytes_read + *len > dev->total_bytes_to_read) { + *len = dev->total_bytes_to_read - dev->total_bytes_read; + } + + /* count bytes sent to frontend */ + dev->total_bytes_read += *len; + + src_buffer->consume(bytes); + } + + /* end scan if all needed data have been read */ + if(dev->total_bytes_read >= dev->total_bytes_to_read) + { + dev->cmd_set->end_scan(dev, &dev->reg, true); + if (dev->model->is_sheetfed) { + dev->cmd_set->eject_document (dev); + } + } + + DBG(DBG_proc, "%s: completed, %zu bytes read\n", __func__, bytes); +} + + + +/* ------------------------------------------------------------------------ */ +/* Start of higher level functions */ +/* ------------------------------------------------------------------------ */ + +static size_t +max_string_size (const SANE_String_Const strings[]) +{ + size_t size, max_size = 0; + SANE_Int i; + + for (i = 0; strings[i]; ++i) + { + size = strlen (strings[i]) + 1; + if (size > max_size) + max_size = size; + } + return max_size; +} + +static std::size_t max_string_size(const std::vector& strings) +{ + std::size_t max_size = 0; + for (const auto& s : strings) { + if (!s) { + continue; + } + max_size = std::max(max_size, std::strlen(s)); + } + return max_size; +} + +static unsigned pick_resolution(const std::vector& resolutions, unsigned resolution, + const char* direction) +{ + DBG_HELPER(dbg); + + if (resolutions.empty()) + throw SaneException("Empty resolution list"); + + unsigned best_res = resolutions.front(); + unsigned min_diff = abs_diff(best_res, resolution); + + for (auto it = std::next(resolutions.begin()); it != resolutions.end(); ++it) { + unsigned curr_diff = abs_diff(*it, resolution); + if (curr_diff < min_diff) { + min_diff = curr_diff; + best_res = *it; + } + } + + if (best_res != resolution) { + DBG(DBG_warn, "%s: using resolution %d that is nearest to %d for direction %s\n", + __func__, best_res, resolution, direction); + } + return best_res; +} + +static void calc_parameters(Genesys_Scanner* s) +{ + DBG_HELPER(dbg); + double tl_x = 0, tl_y = 0, br_x = 0, br_y = 0; + + tl_x = SANE_UNFIX(s->pos_top_left_x); + tl_y = SANE_UNFIX(s->pos_top_left_y); + br_x = SANE_UNFIX(s->pos_bottom_right_x); + br_y = SANE_UNFIX(s->pos_bottom_right_y); + + s->params.last_frame = true; /* only single pass scanning supported */ + + if (s->mode == SANE_VALUE_SCAN_MODE_GRAY || s->mode == SANE_VALUE_SCAN_MODE_LINEART) { + s->params.format = SANE_FRAME_GRAY; + } else { + s->params.format = SANE_FRAME_RGB; + } + + if (s->mode == SANE_VALUE_SCAN_MODE_LINEART) { + s->params.depth = 1; + } else { + s->params.depth = s->bit_depth; + } + + s->dev->settings.scan_method = s->scan_method; + const auto& resolutions = s->dev->model->get_resolution_settings(s->dev->settings.scan_method); + + s->dev->settings.depth = s->bit_depth; + + /* interpolation */ + s->dev->settings.disable_interpolation = s->disable_interpolation; + + // FIXME: use correct sensor + const auto& sensor = sanei_genesys_find_sensor_any(s->dev); + + // hardware settings + if (static_cast(s->resolution) > sensor.optical_res && + s->dev->settings.disable_interpolation) + { + s->dev->settings.xres = sensor.optical_res; + } else { + s->dev->settings.xres = s->resolution; + } + s->dev->settings.yres = s->resolution; + + s->dev->settings.xres = pick_resolution(resolutions.resolutions_x, s->dev->settings.xres, "X"); + s->dev->settings.yres = pick_resolution(resolutions.resolutions_y, s->dev->settings.yres, "Y"); + + s->params.lines = static_cast(((br_y - tl_y) * s->dev->settings.yres) / + MM_PER_INCH); + unsigned pixels_per_line = static_cast(((br_x - tl_x) * s->dev->settings.xres) / + MM_PER_INCH); + + /* we need an even pixels number + * TODO invert test logic or generalize behaviour across all ASICs */ + if ((s->dev->model->flags & GENESYS_FLAG_SIS_SENSOR) || + s->dev->model->asic_type == AsicType::GL847 || + s->dev->model->asic_type == AsicType::GL124 || + s->dev->model->asic_type == AsicType::GL845 || + s->dev->model->asic_type == AsicType::GL846 || + s->dev->model->asic_type == AsicType::GL843) + { + if (s->dev->settings.xres <= 1200) { + pixels_per_line = (pixels_per_line / 4) * 4; + } else if (s->dev->settings.xres < s->dev->settings.yres) { + // BUG: this is an artifact of the fact that the resolution was twice as large than + // the actual resolution when scanning above the supported scanner X resolution + pixels_per_line = (pixels_per_line / 8) * 8; + } else { + pixels_per_line = (pixels_per_line / 16) * 16; + } + } + + /* corner case for true lineart for sensor with several segments + * or when xres is doubled to match yres */ + if (s->dev->settings.xres >= 1200 && ( + s->dev->model->asic_type == AsicType::GL124 || + s->dev->model->asic_type == AsicType::GL847 || + s->dev->session.params.xres < s->dev->session.params.yres)) + { + if (s->dev->settings.xres < s->dev->settings.yres) { + // FIXME: this is an artifact of the fact that the resolution was twice as large than + // the actual resolution when scanning above the supported scanner X resolution + pixels_per_line = (pixels_per_line / 8) * 8; + } else { + pixels_per_line = (pixels_per_line / 16) * 16; + } + } + + unsigned xres_factor = s->resolution / s->dev->settings.xres; + + unsigned bytes_per_line = 0; + + if (s->params.depth > 8) + { + s->params.depth = 16; + bytes_per_line = 2 * pixels_per_line; + } + else if (s->params.depth == 1) + { + // round down pixel number. This will is lossy operation, at most 7 pixels will be lost + pixels_per_line = (pixels_per_line / 8) * 8; + bytes_per_line = pixels_per_line / 8; + } else { + bytes_per_line = pixels_per_line; + } + + if (s->params.format == SANE_FRAME_RGB) { + bytes_per_line *= 3; + } + + s->dev->settings.scan_mode = option_string_to_scan_color_mode(s->mode); + + s->dev->settings.lines = s->params.lines; + s->dev->settings.pixels = pixels_per_line; + s->dev->settings.requested_pixels = pixels_per_line * xres_factor; + s->params.pixels_per_line = pixels_per_line * xres_factor; + s->params.bytes_per_line = bytes_per_line * xres_factor; + s->dev->settings.tl_x = tl_x; + s->dev->settings.tl_y = tl_y; + + // threshold setting + s->dev->settings.threshold = static_cast(2.55 * (SANE_UNFIX(s->threshold))); + + // color filter + if (s->color_filter == "Red") { + s->dev->settings.color_filter = ColorFilter::RED; + } else if (s->color_filter == "Green") { + s->dev->settings.color_filter = ColorFilter::GREEN; + } else if (s->color_filter == "Blue") { + s->dev->settings.color_filter = ColorFilter::BLUE; + } else { + s->dev->settings.color_filter = ColorFilter::NONE; + } + + // true gray + if (s->color_filter == "None") { + s->dev->settings.true_gray = 1; + } else { + s->dev->settings.true_gray = 0; + } + + // threshold curve for dynamic rasterization + s->dev->settings.threshold_curve = s->threshold_curve; + + /* some digital processing requires the whole picture to be buffered */ + /* no digital processing takes place when doing preview, or when bit depth is + * higher than 8 bits */ + if ((s->swdespeck || s->swcrop || s->swdeskew || s->swderotate ||(SANE_UNFIX(s->swskip)>0)) + && (!s->preview) + && (s->bit_depth <= 8)) + { + s->dev->buffer_image = true; + } + else + { + s->dev->buffer_image = false; + } + + /* brigthness and contrast only for for 8 bit scans */ + if(s->bit_depth <= 8) + { + s->dev->settings.contrast = (s->contrast * 127) / 100; + s->dev->settings.brightness = (s->brightness * 127) / 100; + } + else + { + s->dev->settings.contrast=0; + s->dev->settings.brightness=0; + } + + /* cache expiration time */ + s->dev->settings.expiration_time = s->expiration_time; +} + + +static void create_bpp_list (Genesys_Scanner * s, const std::vector& bpp) +{ + s->bpp_list[0] = bpp.size(); + std::reverse_copy(bpp.begin(), bpp.end(), s->bpp_list + 1); +} + +/** @brief this function initialize a gamma vector based on the ASIC: + * Set up a default gamma table vector based on device description + * gl646: 12 or 14 bits gamma table depending on GENESYS_FLAG_14BIT_GAMMA + * gl84x: 16 bits + * gl12x: 16 bits + * @param scanner pointer to scanner session to get options + * @param option option number of the gamma table to set + */ +static void +init_gamma_vector_option (Genesys_Scanner * scanner, int option) +{ + /* the option is inactive until the custom gamma control + * is enabled */ + scanner->opt[option].type = SANE_TYPE_INT; + scanner->opt[option].cap |= SANE_CAP_INACTIVE | SANE_CAP_ADVANCED; + scanner->opt[option].unit = SANE_UNIT_NONE; + scanner->opt[option].constraint_type = SANE_CONSTRAINT_RANGE; + if (scanner->dev->model->asic_type == AsicType::GL646) { + if ((scanner->dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) != 0) + { + scanner->opt[option].size = 16384 * sizeof (SANE_Word); + scanner->opt[option].constraint.range = &u14_range; + } + else + { /* 12 bits gamma tables */ + scanner->opt[option].size = 4096 * sizeof (SANE_Word); + scanner->opt[option].constraint.range = &u12_range; + } + } + else + { /* other asics have 16 bits words gamma table */ + scanner->opt[option].size = 256 * sizeof (SANE_Word); + scanner->opt[option].constraint.range = &u16_range; + } +} + +/** + * allocate a geometry range + * @param size maximum size of the range + * @return a pointer to a valid range or nullptr + */ +static SANE_Range create_range(float size) +{ + SANE_Range range; + range.min = SANE_FIX(0.0); + range.max = SANE_FIX(size); + range.quant = SANE_FIX(0.0); + return range; +} + +/** @brief generate calibration cache file nam + * Generates the calibration cache file name to use. + * Tries to store the chache in $HOME/.sane or + * then fallbacks to $TMPDIR or TMP. The filename + * uses the model name if only one scanner is plugged + * else is uses the device name when several identical + * scanners are in use. + * @param currdev current scanner device + * @return an allocated string containing a file name + */ +static std::string calibration_filename(Genesys_Device *currdev) +{ + std::string ret; + ret.resize(PATH_MAX); + + char filename[80]; + unsigned int count; + unsigned int i; + + /* first compute the DIR where we can store cache: + * 1 - home dir + * 2 - $TMPDIR + * 3 - $TMP + * 4 - tmp dir + * 5 - temp dir + * 6 - then resort to current dir + */ + char* ptr = std::getenv("HOME"); + if (ptr == nullptr) { + ptr = std::getenv("USERPROFILE"); + } + if (ptr == nullptr) { + ptr = std::getenv("TMPDIR"); + } + if (ptr == nullptr) { + ptr = std::getenv("TMP"); + } + + /* now choose filename: + * 1 - if only one scanner, name of the model + * 2 - if several scanners of the same model, use device name, + * replacing special chars + */ + count=0; + /* count models of the same names if several scanners attached */ + if(s_devices->size() > 1) { + for (const auto& dev : *s_devices) { + if (dev.model->model_id == currdev->model->model_id) { + count++; + } + } + } + if(count>1) + { + std::snprintf(filename, sizeof(filename), "%s.cal", currdev->file_name.c_str()); + for(i=0;imodel->name); + } + + /* build final final name : store dir + filename */ + if (ptr == nullptr) { + int size = std::snprintf(&ret.front(), ret.size(), "%s", filename); + ret.resize(size); + } + else + { + int size = 0; +#ifdef HAVE_MKDIR + /* make sure .sane directory exists in existing store dir */ + size = std::snprintf(&ret.front(), ret.size(), "%s%c.sane", ptr, PATH_SEP); + ret.resize(size); + mkdir(ret.c_str(), 0700); + + ret.resize(PATH_MAX); +#endif + size = std::snprintf(&ret.front(), ret.size(), "%s%c.sane%c%s", + ptr, PATH_SEP, PATH_SEP, filename); + ret.resize(size); + } + + DBG(DBG_info, "%s: calibration filename >%s<\n", __func__, ret.c_str()); + + return ret; +} + +static void set_resolution_option_values(Genesys_Scanner& s, bool reset_resolution_value) +{ + auto resolutions = s.dev->model->get_resolutions(s.scan_method); + + s.opt_resolution_values.resize(resolutions.size() + 1, 0); + s.opt_resolution_values[0] = resolutions.size(); + std::copy(resolutions.begin(), resolutions.end(), s.opt_resolution_values.begin() + 1); + + s.opt[OPT_RESOLUTION].constraint.word_list = s.opt_resolution_values.data(); + + if (reset_resolution_value) { + s.resolution = *std::min_element(resolutions.begin(), resolutions.end()); + } +} + +static void set_xy_range_option_values(Genesys_Scanner& s) +{ + if (s.scan_method == ScanMethod::FLATBED) + { + s.opt_x_range = create_range(static_cast(s.dev->model->x_size)); + s.opt_y_range = create_range(static_cast(s.dev->model->y_size)); + } + else + { + s.opt_x_range = create_range(static_cast(s.dev->model->x_size_ta)); + s.opt_y_range = create_range(static_cast(s.dev->model->y_size_ta)); + } + + s.opt[OPT_TL_X].constraint.range = &s.opt_x_range; + s.opt[OPT_TL_Y].constraint.range = &s.opt_y_range; + s.opt[OPT_BR_X].constraint.range = &s.opt_x_range; + s.opt[OPT_BR_Y].constraint.range = &s.opt_y_range; + + s.pos_top_left_x = 0; + s.pos_top_left_y = 0; + s.pos_bottom_right_x = s.opt_x_range.max; + s.pos_bottom_right_y = s.opt_y_range.max; +} + +static void init_options(Genesys_Scanner* s) +{ + DBG_HELPER(dbg); + SANE_Int option; + Genesys_Model *model = s->dev->model; + + memset (s->opt, 0, sizeof (s->opt)); + + for (option = 0; option < NUM_OPTIONS; ++option) + { + s->opt[option].size = sizeof (SANE_Word); + s->opt[option].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; + } + s->opt[OPT_NUM_OPTS].name = SANE_NAME_NUM_OPTIONS; + s->opt[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS; + s->opt[OPT_NUM_OPTS].desc = SANE_DESC_NUM_OPTIONS; + s->opt[OPT_NUM_OPTS].type = SANE_TYPE_INT; + s->opt[OPT_NUM_OPTS].cap = SANE_CAP_SOFT_DETECT; + + /* "Mode" group: */ + s->opt[OPT_MODE_GROUP].name = "scanmode-group"; + s->opt[OPT_MODE_GROUP].title = SANE_I18N ("Scan Mode"); + s->opt[OPT_MODE_GROUP].desc = ""; + s->opt[OPT_MODE_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_MODE_GROUP].size = 0; + s->opt[OPT_MODE_GROUP].cap = 0; + s->opt[OPT_MODE_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + /* scan mode */ + s->opt[OPT_MODE].name = SANE_NAME_SCAN_MODE; + s->opt[OPT_MODE].title = SANE_TITLE_SCAN_MODE; + s->opt[OPT_MODE].desc = SANE_DESC_SCAN_MODE; + s->opt[OPT_MODE].type = SANE_TYPE_STRING; + s->opt[OPT_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST; + s->opt[OPT_MODE].size = max_string_size (mode_list); + s->opt[OPT_MODE].constraint.string_list = mode_list; + s->mode = SANE_VALUE_SCAN_MODE_GRAY; + + /* scan source */ + s->opt_source_values.clear(); + for (const auto& resolution_setting : model->resolutions) { + for (auto method : resolution_setting.methods) { + s->opt_source_values.push_back(scan_method_to_option_string(method)); + } + } + s->opt_source_values.push_back(nullptr); + + s->opt[OPT_SOURCE].name = SANE_NAME_SCAN_SOURCE; + s->opt[OPT_SOURCE].title = SANE_TITLE_SCAN_SOURCE; + s->opt[OPT_SOURCE].desc = SANE_DESC_SCAN_SOURCE; + s->opt[OPT_SOURCE].type = SANE_TYPE_STRING; + s->opt[OPT_SOURCE].constraint_type = SANE_CONSTRAINT_STRING_LIST; + s->opt[OPT_SOURCE].size = max_string_size(s->opt_source_values); + s->opt[OPT_SOURCE].constraint.string_list = s->opt_source_values.data(); + if (s->opt_source_values.size() < 2) { + throw SaneException("No scan methods specified for scanner"); + } + s->scan_method = model->default_method; + + /* preview */ + s->opt[OPT_PREVIEW].name = SANE_NAME_PREVIEW; + s->opt[OPT_PREVIEW].title = SANE_TITLE_PREVIEW; + s->opt[OPT_PREVIEW].desc = SANE_DESC_PREVIEW; + s->opt[OPT_PREVIEW].type = SANE_TYPE_BOOL; + s->opt[OPT_PREVIEW].unit = SANE_UNIT_NONE; + s->opt[OPT_PREVIEW].constraint_type = SANE_CONSTRAINT_NONE; + s->preview = false; + + /* bit depth */ + s->opt[OPT_BIT_DEPTH].name = SANE_NAME_BIT_DEPTH; + s->opt[OPT_BIT_DEPTH].title = SANE_TITLE_BIT_DEPTH; + s->opt[OPT_BIT_DEPTH].desc = SANE_DESC_BIT_DEPTH; + s->opt[OPT_BIT_DEPTH].type = SANE_TYPE_INT; + s->opt[OPT_BIT_DEPTH].constraint_type = SANE_CONSTRAINT_WORD_LIST; + s->opt[OPT_BIT_DEPTH].size = sizeof (SANE_Word); + s->opt[OPT_BIT_DEPTH].constraint.word_list = s->bpp_list; + create_bpp_list (s, model->bpp_gray_values); + s->bit_depth = model->bpp_gray_values[0]; + + // resolution + s->opt[OPT_RESOLUTION].name = SANE_NAME_SCAN_RESOLUTION; + s->opt[OPT_RESOLUTION].title = SANE_TITLE_SCAN_RESOLUTION; + s->opt[OPT_RESOLUTION].desc = SANE_DESC_SCAN_RESOLUTION; + s->opt[OPT_RESOLUTION].type = SANE_TYPE_INT; + s->opt[OPT_RESOLUTION].unit = SANE_UNIT_DPI; + s->opt[OPT_RESOLUTION].constraint_type = SANE_CONSTRAINT_WORD_LIST; + set_resolution_option_values(*s, true); + + /* "Geometry" group: */ + s->opt[OPT_GEOMETRY_GROUP].name = SANE_NAME_GEOMETRY; + s->opt[OPT_GEOMETRY_GROUP].title = SANE_I18N ("Geometry"); + s->opt[OPT_GEOMETRY_GROUP].desc = ""; + s->opt[OPT_GEOMETRY_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_GEOMETRY_GROUP].cap = SANE_CAP_ADVANCED; + s->opt[OPT_GEOMETRY_GROUP].size = 0; + s->opt[OPT_GEOMETRY_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + s->opt_x_range = create_range(static_cast(model->x_size)); + s->opt_y_range = create_range(static_cast(model->y_size)); + + // scan area + s->opt[OPT_TL_X].name = SANE_NAME_SCAN_TL_X; + s->opt[OPT_TL_X].title = SANE_TITLE_SCAN_TL_X; + s->opt[OPT_TL_X].desc = SANE_DESC_SCAN_TL_X; + s->opt[OPT_TL_X].type = SANE_TYPE_FIXED; + s->opt[OPT_TL_X].unit = SANE_UNIT_MM; + s->opt[OPT_TL_X].constraint_type = SANE_CONSTRAINT_RANGE; + + s->opt[OPT_TL_Y].name = SANE_NAME_SCAN_TL_Y; + s->opt[OPT_TL_Y].title = SANE_TITLE_SCAN_TL_Y; + s->opt[OPT_TL_Y].desc = SANE_DESC_SCAN_TL_Y; + s->opt[OPT_TL_Y].type = SANE_TYPE_FIXED; + s->opt[OPT_TL_Y].unit = SANE_UNIT_MM; + s->opt[OPT_TL_Y].constraint_type = SANE_CONSTRAINT_RANGE; + + s->opt[OPT_BR_X].name = SANE_NAME_SCAN_BR_X; + s->opt[OPT_BR_X].title = SANE_TITLE_SCAN_BR_X; + s->opt[OPT_BR_X].desc = SANE_DESC_SCAN_BR_X; + s->opt[OPT_BR_X].type = SANE_TYPE_FIXED; + s->opt[OPT_BR_X].unit = SANE_UNIT_MM; + s->opt[OPT_BR_X].constraint_type = SANE_CONSTRAINT_RANGE; + + s->opt[OPT_BR_Y].name = SANE_NAME_SCAN_BR_Y; + s->opt[OPT_BR_Y].title = SANE_TITLE_SCAN_BR_Y; + s->opt[OPT_BR_Y].desc = SANE_DESC_SCAN_BR_Y; + s->opt[OPT_BR_Y].type = SANE_TYPE_FIXED; + s->opt[OPT_BR_Y].unit = SANE_UNIT_MM; + s->opt[OPT_BR_Y].constraint_type = SANE_CONSTRAINT_RANGE; + + set_xy_range_option_values(*s); + + /* "Enhancement" group: */ + s->opt[OPT_ENHANCEMENT_GROUP].name = SANE_NAME_ENHANCEMENT; + s->opt[OPT_ENHANCEMENT_GROUP].title = SANE_I18N ("Enhancement"); + s->opt[OPT_ENHANCEMENT_GROUP].desc = ""; + s->opt[OPT_ENHANCEMENT_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_ENHANCEMENT_GROUP].cap = SANE_CAP_ADVANCED; + s->opt[OPT_ENHANCEMENT_GROUP].size = 0; + s->opt[OPT_ENHANCEMENT_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + /* custom-gamma table */ + s->opt[OPT_CUSTOM_GAMMA].name = SANE_NAME_CUSTOM_GAMMA; + s->opt[OPT_CUSTOM_GAMMA].title = SANE_TITLE_CUSTOM_GAMMA; + s->opt[OPT_CUSTOM_GAMMA].desc = SANE_DESC_CUSTOM_GAMMA; + s->opt[OPT_CUSTOM_GAMMA].type = SANE_TYPE_BOOL; + s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_ADVANCED; + s->custom_gamma = false; + + /* grayscale gamma vector */ + s->opt[OPT_GAMMA_VECTOR].name = SANE_NAME_GAMMA_VECTOR; + s->opt[OPT_GAMMA_VECTOR].title = SANE_TITLE_GAMMA_VECTOR; + s->opt[OPT_GAMMA_VECTOR].desc = SANE_DESC_GAMMA_VECTOR; + init_gamma_vector_option (s, OPT_GAMMA_VECTOR); + + /* red gamma vector */ + s->opt[OPT_GAMMA_VECTOR_R].name = SANE_NAME_GAMMA_VECTOR_R; + s->opt[OPT_GAMMA_VECTOR_R].title = SANE_TITLE_GAMMA_VECTOR_R; + s->opt[OPT_GAMMA_VECTOR_R].desc = SANE_DESC_GAMMA_VECTOR_R; + init_gamma_vector_option (s, OPT_GAMMA_VECTOR_R); + + /* green gamma vector */ + s->opt[OPT_GAMMA_VECTOR_G].name = SANE_NAME_GAMMA_VECTOR_G; + s->opt[OPT_GAMMA_VECTOR_G].title = SANE_TITLE_GAMMA_VECTOR_G; + s->opt[OPT_GAMMA_VECTOR_G].desc = SANE_DESC_GAMMA_VECTOR_G; + init_gamma_vector_option (s, OPT_GAMMA_VECTOR_G); + + /* blue gamma vector */ + s->opt[OPT_GAMMA_VECTOR_B].name = SANE_NAME_GAMMA_VECTOR_B; + s->opt[OPT_GAMMA_VECTOR_B].title = SANE_TITLE_GAMMA_VECTOR_B; + s->opt[OPT_GAMMA_VECTOR_B].desc = SANE_DESC_GAMMA_VECTOR_B; + init_gamma_vector_option (s, OPT_GAMMA_VECTOR_B); + + /* currently, there are only gamma table options in this group, + * so if the scanner doesn't support gamma table, disable the + * whole group */ + if (!(model->flags & GENESYS_FLAG_CUSTOM_GAMMA)) + { + s->opt[OPT_ENHANCEMENT_GROUP].cap |= SANE_CAP_INACTIVE; + s->opt[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_INACTIVE; + DBG(DBG_info, "%s: custom gamma disabled\n", __func__); + } + + /* software base image enhancements, these are consuming as many + * memory than used by the full scanned image and may fail at high + * resolution + */ + /* software deskew */ + s->opt[OPT_SWDESKEW].name = "swdeskew"; + s->opt[OPT_SWDESKEW].title = "Software deskew"; + s->opt[OPT_SWDESKEW].desc = "Request backend to rotate skewed pages digitally"; + s->opt[OPT_SWDESKEW].type = SANE_TYPE_BOOL; + s->opt[OPT_SWDESKEW].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + s->swdeskew = false; + + /* software deskew */ + s->opt[OPT_SWDESPECK].name = "swdespeck"; + s->opt[OPT_SWDESPECK].title = "Software despeck"; + s->opt[OPT_SWDESPECK].desc = "Request backend to remove lone dots digitally"; + s->opt[OPT_SWDESPECK].type = SANE_TYPE_BOOL; + s->opt[OPT_SWDESPECK].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + s->swdespeck = false; + + /* software despeckle radius */ + s->opt[OPT_DESPECK].name = "despeck"; + s->opt[OPT_DESPECK].title = "Software despeckle diameter"; + s->opt[OPT_DESPECK].desc = "Maximum diameter of lone dots to remove from scan"; + s->opt[OPT_DESPECK].type = SANE_TYPE_INT; + s->opt[OPT_DESPECK].unit = SANE_UNIT_NONE; + s->opt[OPT_DESPECK].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_DESPECK].constraint.range = &swdespeck_range; + s->opt[OPT_DESPECK].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED | SANE_CAP_INACTIVE; + s->despeck = 1; + + /* crop by software */ + s->opt[OPT_SWCROP].name = "swcrop"; + s->opt[OPT_SWCROP].title = SANE_I18N ("Software crop"); + s->opt[OPT_SWCROP].desc = SANE_I18N ("Request backend to remove border from pages digitally"); + s->opt[OPT_SWCROP].type = SANE_TYPE_BOOL; + s->opt[OPT_SWCROP].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + s->opt[OPT_SWCROP].unit = SANE_UNIT_NONE; + s->swcrop = false; + + /* Software blank page skip */ + s->opt[OPT_SWSKIP].name = "swskip"; + s->opt[OPT_SWSKIP].title = SANE_I18N ("Software blank skip percentage"); + s->opt[OPT_SWSKIP].desc = SANE_I18N("Request driver to discard pages with low numbers of dark pixels"); + s->opt[OPT_SWSKIP].type = SANE_TYPE_FIXED; + s->opt[OPT_SWSKIP].unit = SANE_UNIT_PERCENT; + s->opt[OPT_SWSKIP].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_SWSKIP].constraint.range = &(percentage_range); + s->opt[OPT_SWSKIP].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + s->swskip = 0; // disable by default + + /* Software Derotate */ + s->opt[OPT_SWDEROTATE].name = "swderotate"; + s->opt[OPT_SWDEROTATE].title = SANE_I18N ("Software derotate"); + s->opt[OPT_SWDEROTATE].desc = SANE_I18N("Request driver to detect and correct 90 degree image rotation"); + s->opt[OPT_SWDEROTATE].type = SANE_TYPE_BOOL; + s->opt[OPT_SWDEROTATE].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED; + s->opt[OPT_SWDEROTATE].unit = SANE_UNIT_NONE; + s->swderotate = false; + + /* Software brightness */ + s->opt[OPT_BRIGHTNESS].name = SANE_NAME_BRIGHTNESS; + s->opt[OPT_BRIGHTNESS].title = SANE_TITLE_BRIGHTNESS; + s->opt[OPT_BRIGHTNESS].desc = SANE_DESC_BRIGHTNESS; + s->opt[OPT_BRIGHTNESS].type = SANE_TYPE_INT; + s->opt[OPT_BRIGHTNESS].unit = SANE_UNIT_NONE; + s->opt[OPT_BRIGHTNESS].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_BRIGHTNESS].constraint.range = &(enhance_range); + s->opt[OPT_BRIGHTNESS].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; + s->brightness = 0; // disable by default + + /* Sowftware contrast */ + s->opt[OPT_CONTRAST].name = SANE_NAME_CONTRAST; + s->opt[OPT_CONTRAST].title = SANE_TITLE_CONTRAST; + s->opt[OPT_CONTRAST].desc = SANE_DESC_CONTRAST; + s->opt[OPT_CONTRAST].type = SANE_TYPE_INT; + s->opt[OPT_CONTRAST].unit = SANE_UNIT_NONE; + s->opt[OPT_CONTRAST].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_CONTRAST].constraint.range = &(enhance_range); + s->opt[OPT_CONTRAST].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT; + s->contrast = 0; // disable by default + + /* "Extras" group: */ + s->opt[OPT_EXTRAS_GROUP].name = "extras-group"; + s->opt[OPT_EXTRAS_GROUP].title = SANE_I18N ("Extras"); + s->opt[OPT_EXTRAS_GROUP].desc = ""; + s->opt[OPT_EXTRAS_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_EXTRAS_GROUP].cap = SANE_CAP_ADVANCED; + s->opt[OPT_EXTRAS_GROUP].size = 0; + s->opt[OPT_EXTRAS_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + /* BW threshold */ + s->opt[OPT_THRESHOLD].name = SANE_NAME_THRESHOLD; + s->opt[OPT_THRESHOLD].title = SANE_TITLE_THRESHOLD; + s->opt[OPT_THRESHOLD].desc = SANE_DESC_THRESHOLD; + s->opt[OPT_THRESHOLD].type = SANE_TYPE_FIXED; + s->opt[OPT_THRESHOLD].unit = SANE_UNIT_PERCENT; + s->opt[OPT_THRESHOLD].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_THRESHOLD].constraint.range = &percentage_range; + s->threshold = SANE_FIX(50); + + /* BW threshold curve */ + s->opt[OPT_THRESHOLD_CURVE].name = "threshold-curve"; + s->opt[OPT_THRESHOLD_CURVE].title = SANE_I18N ("Threshold curve"); + s->opt[OPT_THRESHOLD_CURVE].desc = SANE_I18N ("Dynamic threshold curve, from light to dark, normally 50-65"); + s->opt[OPT_THRESHOLD_CURVE].type = SANE_TYPE_INT; + s->opt[OPT_THRESHOLD_CURVE].unit = SANE_UNIT_NONE; + s->opt[OPT_THRESHOLD_CURVE].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_THRESHOLD_CURVE].constraint.range = &threshold_curve_range; + s->threshold_curve = 50; + + /* disable_interpolation */ + s->opt[OPT_DISABLE_INTERPOLATION].name = "disable-interpolation"; + s->opt[OPT_DISABLE_INTERPOLATION].title = + SANE_I18N ("Disable interpolation"); + s->opt[OPT_DISABLE_INTERPOLATION].desc = + SANE_I18N + ("When using high resolutions where the horizontal resolution is smaller " + "than the vertical resolution this disables horizontal interpolation."); + s->opt[OPT_DISABLE_INTERPOLATION].type = SANE_TYPE_BOOL; + s->opt[OPT_DISABLE_INTERPOLATION].unit = SANE_UNIT_NONE; + s->opt[OPT_DISABLE_INTERPOLATION].constraint_type = SANE_CONSTRAINT_NONE; + s->disable_interpolation = false; + + /* color filter */ + s->opt[OPT_COLOR_FILTER].name = "color-filter"; + s->opt[OPT_COLOR_FILTER].title = SANE_I18N ("Color filter"); + s->opt[OPT_COLOR_FILTER].desc = + SANE_I18N + ("When using gray or lineart this option selects the used color."); + s->opt[OPT_COLOR_FILTER].type = SANE_TYPE_STRING; + s->opt[OPT_COLOR_FILTER].constraint_type = SANE_CONSTRAINT_STRING_LIST; + /* true gray not yet supported for GL847 and GL124 scanners */ + if (!model->is_cis || model->asic_type==AsicType::GL847 || model->asic_type==AsicType::GL124) { + s->opt[OPT_COLOR_FILTER].size = max_string_size (color_filter_list); + s->opt[OPT_COLOR_FILTER].constraint.string_list = color_filter_list; + s->color_filter = s->opt[OPT_COLOR_FILTER].constraint.string_list[1]; + } + else + { + s->opt[OPT_COLOR_FILTER].size = max_string_size (cis_color_filter_list); + s->opt[OPT_COLOR_FILTER].constraint.string_list = cis_color_filter_list; + /* default to "None" ie true gray */ + s->color_filter = s->opt[OPT_COLOR_FILTER].constraint.string_list[3]; + } + + // no support for color filter for cis+gl646 scanners + if (model->asic_type == AsicType::GL646 && model->is_cis) { + DISABLE (OPT_COLOR_FILTER); + } + + /* calibration store file name */ + s->opt[OPT_CALIBRATION_FILE].name = "calibration-file"; + s->opt[OPT_CALIBRATION_FILE].title = SANE_I18N ("Calibration file"); + s->opt[OPT_CALIBRATION_FILE].desc = SANE_I18N ("Specify the calibration file to use"); + s->opt[OPT_CALIBRATION_FILE].type = SANE_TYPE_STRING; + s->opt[OPT_CALIBRATION_FILE].unit = SANE_UNIT_NONE; + s->opt[OPT_CALIBRATION_FILE].size = PATH_MAX; + s->opt[OPT_CALIBRATION_FILE].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED; + s->opt[OPT_CALIBRATION_FILE].constraint_type = SANE_CONSTRAINT_NONE; + s->calibration_file.clear(); + /* disable option if ran as root */ +#ifdef HAVE_GETUID + if(geteuid()==0) + { + DISABLE (OPT_CALIBRATION_FILE); + } +#endif + + /* expiration time for calibration cache entries */ + s->opt[OPT_EXPIRATION_TIME].name = "expiration-time"; + s->opt[OPT_EXPIRATION_TIME].title = SANE_I18N ("Calibration cache expiration time"); + s->opt[OPT_EXPIRATION_TIME].desc = SANE_I18N ("Time (in minutes) before a cached calibration expires. " + "A value of 0 means cache is not used. A negative value means cache never expires."); + s->opt[OPT_EXPIRATION_TIME].type = SANE_TYPE_INT; + s->opt[OPT_EXPIRATION_TIME].unit = SANE_UNIT_NONE; + s->opt[OPT_EXPIRATION_TIME].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_EXPIRATION_TIME].constraint.range = &expiration_range; + s->expiration_time = 60; // 60 minutes by default + + /* Powersave time (turn lamp off) */ + s->opt[OPT_LAMP_OFF_TIME].name = "lamp-off-time"; + s->opt[OPT_LAMP_OFF_TIME].title = SANE_I18N ("Lamp off time"); + s->opt[OPT_LAMP_OFF_TIME].desc = + SANE_I18N + ("The lamp will be turned off after the given time (in minutes). " + "A value of 0 means, that the lamp won't be turned off."); + s->opt[OPT_LAMP_OFF_TIME].type = SANE_TYPE_INT; + s->opt[OPT_LAMP_OFF_TIME].unit = SANE_UNIT_NONE; + s->opt[OPT_LAMP_OFF_TIME].constraint_type = SANE_CONSTRAINT_RANGE; + s->opt[OPT_LAMP_OFF_TIME].constraint.range = &time_range; + s->lamp_off_time = 15; // 15 minutes + + /* turn lamp off during scan */ + s->opt[OPT_LAMP_OFF].name = "lamp-off-scan"; + s->opt[OPT_LAMP_OFF].title = SANE_I18N ("Lamp off during scan"); + s->opt[OPT_LAMP_OFF].desc = SANE_I18N ("The lamp will be turned off during scan. "); + s->opt[OPT_LAMP_OFF].type = SANE_TYPE_BOOL; + s->opt[OPT_LAMP_OFF].unit = SANE_UNIT_NONE; + s->opt[OPT_LAMP_OFF].constraint_type = SANE_CONSTRAINT_NONE; + s->lamp_off = false; + + s->opt[OPT_SENSOR_GROUP].name = SANE_NAME_SENSORS; + s->opt[OPT_SENSOR_GROUP].title = SANE_TITLE_SENSORS; + s->opt[OPT_SENSOR_GROUP].desc = SANE_DESC_SENSORS; + s->opt[OPT_SENSOR_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_SENSOR_GROUP].cap = SANE_CAP_ADVANCED; + s->opt[OPT_SENSOR_GROUP].size = 0; + s->opt[OPT_SENSOR_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + s->opt[OPT_SCAN_SW].name = SANE_NAME_SCAN; + s->opt[OPT_SCAN_SW].title = SANE_TITLE_SCAN; + s->opt[OPT_SCAN_SW].desc = SANE_DESC_SCAN; + s->opt[OPT_SCAN_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_SCAN_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_SCAN_SW) + s->opt[OPT_SCAN_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_SCAN_SW].cap = SANE_CAP_INACTIVE; + + /* SANE_NAME_FILE is not for buttons */ + s->opt[OPT_FILE_SW].name = "file"; + s->opt[OPT_FILE_SW].title = SANE_I18N ("File button"); + s->opt[OPT_FILE_SW].desc = SANE_I18N ("File button"); + s->opt[OPT_FILE_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_FILE_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_FILE_SW) + s->opt[OPT_FILE_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_FILE_SW].cap = SANE_CAP_INACTIVE; + + s->opt[OPT_EMAIL_SW].name = SANE_NAME_EMAIL; + s->opt[OPT_EMAIL_SW].title = SANE_TITLE_EMAIL; + s->opt[OPT_EMAIL_SW].desc = SANE_DESC_EMAIL; + s->opt[OPT_EMAIL_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_EMAIL_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_EMAIL_SW) + s->opt[OPT_EMAIL_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_EMAIL_SW].cap = SANE_CAP_INACTIVE; + + s->opt[OPT_COPY_SW].name = SANE_NAME_COPY; + s->opt[OPT_COPY_SW].title = SANE_TITLE_COPY; + s->opt[OPT_COPY_SW].desc = SANE_DESC_COPY; + s->opt[OPT_COPY_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_COPY_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_COPY_SW) + s->opt[OPT_COPY_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_COPY_SW].cap = SANE_CAP_INACTIVE; + + s->opt[OPT_PAGE_LOADED_SW].name = SANE_NAME_PAGE_LOADED; + s->opt[OPT_PAGE_LOADED_SW].title = SANE_TITLE_PAGE_LOADED; + s->opt[OPT_PAGE_LOADED_SW].desc = SANE_DESC_PAGE_LOADED; + s->opt[OPT_PAGE_LOADED_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_PAGE_LOADED_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_PAGE_LOADED_SW) + s->opt[OPT_PAGE_LOADED_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_PAGE_LOADED_SW].cap = SANE_CAP_INACTIVE; + + /* OCR button */ + s->opt[OPT_OCR_SW].name = "ocr"; + s->opt[OPT_OCR_SW].title = SANE_I18N ("OCR button"); + s->opt[OPT_OCR_SW].desc = SANE_I18N ("OCR button"); + s->opt[OPT_OCR_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_OCR_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_OCR_SW) + s->opt[OPT_OCR_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_OCR_SW].cap = SANE_CAP_INACTIVE; + + /* power button */ + s->opt[OPT_POWER_SW].name = "power"; + s->opt[OPT_POWER_SW].title = SANE_I18N ("Power button"); + s->opt[OPT_POWER_SW].desc = SANE_I18N ("Power button"); + s->opt[OPT_POWER_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_POWER_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_POWER_SW) + s->opt[OPT_POWER_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_POWER_SW].cap = SANE_CAP_INACTIVE; + + /* extra button */ + s->opt[OPT_EXTRA_SW].name = "extra"; + s->opt[OPT_EXTRA_SW].title = SANE_I18N ("Extra button"); + s->opt[OPT_EXTRA_SW].desc = SANE_I18N ("Extra button"); + s->opt[OPT_EXTRA_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_EXTRA_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_EXTRA_SW) + s->opt[OPT_EXTRA_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_EXTRA_SW].cap = SANE_CAP_INACTIVE; + + /* calibration needed */ + s->opt[OPT_NEED_CALIBRATION_SW].name = "need-calibration"; + s->opt[OPT_NEED_CALIBRATION_SW].title = SANE_I18N ("Needs calibration"); + s->opt[OPT_NEED_CALIBRATION_SW].desc = SANE_I18N ("The scanner needs calibration for the current settings"); + s->opt[OPT_NEED_CALIBRATION_SW].type = SANE_TYPE_BOOL; + s->opt[OPT_NEED_CALIBRATION_SW].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_CALIBRATE) + s->opt[OPT_NEED_CALIBRATION_SW].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED; + else + s->opt[OPT_NEED_CALIBRATION_SW].cap = SANE_CAP_INACTIVE; + + /* button group */ + s->opt[OPT_BUTTON_GROUP].name = "buttons"; + s->opt[OPT_BUTTON_GROUP].title = SANE_I18N ("Buttons"); + s->opt[OPT_BUTTON_GROUP].desc = ""; + s->opt[OPT_BUTTON_GROUP].type = SANE_TYPE_GROUP; + s->opt[OPT_BUTTON_GROUP].cap = SANE_CAP_ADVANCED; + s->opt[OPT_BUTTON_GROUP].size = 0; + s->opt[OPT_BUTTON_GROUP].constraint_type = SANE_CONSTRAINT_NONE; + + /* calibrate button */ + s->opt[OPT_CALIBRATE].name = "calibrate"; + s->opt[OPT_CALIBRATE].title = SANE_I18N ("Calibrate"); + s->opt[OPT_CALIBRATE].desc = + SANE_I18N ("Start calibration using special sheet"); + s->opt[OPT_CALIBRATE].type = SANE_TYPE_BUTTON; + s->opt[OPT_CALIBRATE].unit = SANE_UNIT_NONE; + if (model->buttons & GENESYS_HAS_CALIBRATE) + s->opt[OPT_CALIBRATE].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED | + SANE_CAP_AUTOMATIC; + else + s->opt[OPT_CALIBRATE].cap = SANE_CAP_INACTIVE; + + /* clear calibration cache button */ + s->opt[OPT_CLEAR_CALIBRATION].name = "clear-calibration"; + s->opt[OPT_CLEAR_CALIBRATION].title = SANE_I18N ("Clear calibration"); + s->opt[OPT_CLEAR_CALIBRATION].desc = SANE_I18N ("Clear calibration cache"); + s->opt[OPT_CLEAR_CALIBRATION].type = SANE_TYPE_BUTTON; + s->opt[OPT_CLEAR_CALIBRATION].unit = SANE_UNIT_NONE; + s->opt[OPT_CLEAR_CALIBRATION].size = 0; + s->opt[OPT_CLEAR_CALIBRATION].constraint_type = SANE_CONSTRAINT_NONE; + s->opt[OPT_CLEAR_CALIBRATION].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED; + + /* force calibration cache button */ + s->opt[OPT_FORCE_CALIBRATION].name = "force-calibration"; + s->opt[OPT_FORCE_CALIBRATION].title = SANE_I18N("Force calibration"); + s->opt[OPT_FORCE_CALIBRATION].desc = SANE_I18N("Force calibration ignoring all and any calibration caches"); + s->opt[OPT_FORCE_CALIBRATION].type = SANE_TYPE_BUTTON; + s->opt[OPT_FORCE_CALIBRATION].unit = SANE_UNIT_NONE; + s->opt[OPT_FORCE_CALIBRATION].size = 0; + s->opt[OPT_FORCE_CALIBRATION].constraint_type = SANE_CONSTRAINT_NONE; + s->opt[OPT_FORCE_CALIBRATION].cap = + SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | SANE_CAP_ADVANCED; + + // ignore offsets option + s->opt[OPT_IGNORE_OFFSETS].name = "ignore-internal-offsets"; + s->opt[OPT_IGNORE_OFFSETS].title = SANE_I18N("Ignore internal offsets"); + s->opt[OPT_IGNORE_OFFSETS].desc = + SANE_I18N("Acquires the image including the internal calibration areas of the scanner"); + s->opt[OPT_IGNORE_OFFSETS].type = SANE_TYPE_BUTTON; + s->opt[OPT_IGNORE_OFFSETS].unit = SANE_UNIT_NONE; + s->opt[OPT_IGNORE_OFFSETS].size = 0; + s->opt[OPT_IGNORE_OFFSETS].constraint_type = SANE_CONSTRAINT_NONE; + s->opt[OPT_IGNORE_OFFSETS].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT | + SANE_CAP_ADVANCED; + + calc_parameters(s); +} + +static bool present; + +// this function is passed to C API, it must not throw +static SANE_Status +check_present (SANE_String_Const devname) noexcept +{ + DBG_HELPER_ARGS(dbg, "%s detected.", devname); + present = true; + return SANE_STATUS_GOOD; +} + +static Genesys_Device* attach_usb_device(const char* devname, + std::uint16_t vendor_id, std::uint16_t product_id) +{ + Genesys_USB_Device_Entry* found_usb_dev = nullptr; + for (auto& usb_dev : *s_usb_devices) { + if (usb_dev.vendor == vendor_id && + usb_dev.product == product_id) + { + found_usb_dev = &usb_dev; + break; + } + } + + if (found_usb_dev == nullptr) { + throw SaneException("vendor 0x%xd product 0x%xd is not supported by this backend", + vendor_id, product_id); + } + + s_devices->emplace_back(); + Genesys_Device* dev = &s_devices->back(); + dev->file_name = devname; + + dev->model = &found_usb_dev->model; + dev->vendorId = found_usb_dev->vendor; + dev->productId = found_usb_dev->product; + dev->usb_mode = 0; // i.e. unset + dev->already_initialized = false; + return dev; +} + +static Genesys_Device* attach_device_by_name(SANE_String_Const devname, bool may_wait) +{ + DBG_HELPER_ARGS(dbg, " devname: %s, may_wait = %d", devname, may_wait); + + if (!devname) { + throw SaneException("devname must not be nullptr"); + } + + for (auto& dev : *s_devices) { + if (dev.file_name == devname) { + DBG(DBG_info, "%s: device `%s' was already in device list\n", __func__, devname); + return &dev; + } + } + + DBG(DBG_info, "%s: trying to open device `%s'\n", __func__, devname); + + UsbDevice usb_dev; + + usb_dev.open(devname); + DBG(DBG_info, "%s: device `%s' successfully opened\n", __func__, devname); + + int vendor, product; + usb_dev.get_vendor_product(vendor, product); + usb_dev.close(); + + /* KV-SS080 is an auxiliary device which requires a master device to be here */ + if(vendor == 0x04da && product == 0x100f) + { + present = false; + sanei_usb_find_devices (vendor, 0x1006, check_present); + sanei_usb_find_devices (vendor, 0x1007, check_present); + sanei_usb_find_devices (vendor, 0x1010, check_present); + if (present == false) { + throw SaneException("master device not present"); + } + } + + Genesys_Device* dev = attach_usb_device(devname, vendor, product); + + DBG(DBG_info, "%s: found %s flatbed scanner %s at %s\n", __func__, dev->model->vendor, + dev->model->model, dev->file_name.c_str()); + + return dev; +} + +// this function is passed to C API and must not throw +static SANE_Status attach_one_device(SANE_String_Const devname) noexcept +{ + DBG_HELPER(dbg); + return wrap_exceptions_to_status_code(__func__, [=]() + { + attach_device_by_name(devname, false); + }); +} + +/* configuration framework functions */ + +// this function is passed to C API, it must not throw +static SANE_Status +config_attach_genesys(SANEI_Config __sane_unused__ *config, const char *devname) noexcept +{ + /* the devname has been processed and is ready to be used + * directly. Since the backend is an USB only one, we can + * call sanei_usb_attach_matching_devices straight */ + sanei_usb_attach_matching_devices (devname, attach_one_device); + + return SANE_STATUS_GOOD; +} + +/* probes for scanner to attach to the backend */ +static void probe_genesys_devices() +{ + DBG_HELPER(dbg); + if (is_testing_mode()) { + attach_usb_device(get_testing_device_name().c_str(), + get_testing_vendor_id(), get_testing_product_id()); + return; + } + + SANEI_Config config; + + // set configuration options structure : no option for this backend + config.descriptors = nullptr; + config.values = nullptr; + config.count = 0; + + TIE(sanei_configure_attach(GENESYS_CONFIG_FILE, &config, config_attach_genesys)); + + DBG(DBG_info, "%s: %zu devices currently attached\n", __func__, s_devices->size()); +} + +/** + * This should be changed if one of the substructures of + Genesys_Calibration_Cache change, but it must be changed if there are + changes that don't change size -- at least for now, as we store most + of Genesys_Calibration_Cache as is. +*/ +static const char* CALIBRATION_IDENT = "sane_genesys"; +static const int CALIBRATION_VERSION = 21; + +bool read_calibration(std::istream& str, Genesys_Device::Calibration& calibration, + const std::string& path) +{ + DBG_HELPER(dbg); + + std::string ident; + serialize(str, ident); + + if (ident != CALIBRATION_IDENT) { + DBG(DBG_info, "%s: Incorrect calibration file '%s' header\n", __func__, path.c_str()); + return false; + } + + size_t version; + serialize(str, version); + + if (version != CALIBRATION_VERSION) { + DBG(DBG_info, "%s: Incorrect calibration file '%s' version\n", __func__, path.c_str()); + return false; + } + + calibration.clear(); + serialize(str, calibration); + return true; +} + +/** + * reads previously cached calibration data + * from file defined in dev->calib_file + */ +static bool sanei_genesys_read_calibration(Genesys_Device::Calibration& calibration, + const std::string& path) +{ + DBG_HELPER(dbg); + + std::ifstream str; + str.open(path); + if (!str.is_open()) { + DBG(DBG_info, "%s: Cannot open %s\n", __func__, path.c_str()); + return false; + } + + return read_calibration(str, calibration, path); +} + +void write_calibration(std::ostream& str, Genesys_Device::Calibration& calibration) +{ + std::string ident = CALIBRATION_IDENT; + serialize(str, ident); + size_t version = CALIBRATION_VERSION; + serialize(str, version); + serialize_newline(str); + serialize(str, calibration); +} + +static void write_calibration(Genesys_Device::Calibration& calibration, const std::string& path) +{ + DBG_HELPER(dbg); + + std::ofstream str; + str.open(path); + if (!str.is_open()) { + throw SaneException("Cannot open calibration for writing"); + } + write_calibration(str, calibration); +} + +/** @brief buffer scanned picture + * In order to allow digital processing, we must be able to put all the + * scanned picture in a buffer. + */ +static void genesys_buffer_image(Genesys_Scanner *s) +{ + DBG_HELPER(dbg); + size_t maximum; /**> maximum bytes size of the scan */ + size_t len; /**> length of scanned data read */ + size_t total; /**> total of butes read */ + size_t size; /**> size of image buffer */ + size_t read_size; /**> size of reads */ + int lines; /** number of lines of the scan */ + Genesys_Device *dev = s->dev; + + /* compute maximum number of lines for the scan */ + if (s->params.lines > 0) + { + lines = s->params.lines; + } + else + { + lines = static_cast((dev->model->y_size * dev->settings.yres) / MM_PER_INCH); + } + DBG(DBG_info, "%s: buffering %d lines of %d bytes\n", __func__, lines, + s->params.bytes_per_line); + + /* maximum bytes to read */ + maximum = s->params.bytes_per_line * lines; + if (s->dev->settings.scan_mode == ScanColorMode::LINEART) { + maximum *= 8; + } + + /* initial size of the read buffer */ + size = + ((2048 * 2048) / s->params.bytes_per_line) * s->params.bytes_per_line; + + /* read size */ + read_size = size / 2; + + dev->img_buffer.resize(size); + + /* loop reading data until we reach maximum or EOF */ + total = 0; + while (total < maximum) { + len = size - maximum; + if (len > read_size) + { + len = read_size; + } + + try { + genesys_read_ordered_data(dev, dev->img_buffer.data() + total, &len); + } catch (const SaneException& e) { + if (e.status() == SANE_STATUS_EOF) { + // ideally we shouldn't end up here, but because computations are duplicated and + // slightly different everywhere in the genesys backend, we have no other choice + break; + } + throw; + } + total += len; + + // do we need to enlarge read buffer ? + if (total + read_size > size) { + size += read_size; + dev->img_buffer.resize(size); + } + } + + /* since digital processing is going to take place, + * issue head parking command so that the head move while + * computing so we can save time + */ + if (!dev->model->is_sheetfed && !dev->parking) { + dev->cmd_set->move_back_home(dev, dev->model->flags & GENESYS_FLAG_MUST_WAIT); + dev->parking = !(s->dev->model->flags & GENESYS_FLAG_MUST_WAIT); + } + + /* in case of dynamic lineart, we have buffered gray data which + * must be converted to lineart first */ + if (s->dev->settings.scan_mode == ScanColorMode::LINEART) { + total/=8; + std::vector lineart(total); + + genesys_gray_lineart (dev, + dev->img_buffer.data(), + lineart.data(), + dev->settings.pixels, + (total*8)/dev->settings.pixels, + dev->settings.threshold); + dev->img_buffer = lineart; + } + + /* update counters */ + dev->total_bytes_to_read = total; + dev->total_bytes_read = 0; + + /* update params */ + s->params.lines = total / s->params.bytes_per_line; + if (DBG_LEVEL >= DBG_io2) + { + sanei_genesys_write_pnm_file("gl_unprocessed.pnm", dev->img_buffer.data(), s->params.depth, + s->params.format==SANE_FRAME_RGB ? 3 : 1, + s->params.pixels_per_line, s->params.lines); + } +} + +/* -------------------------- SANE API functions ------------------------- */ + +void sane_init_impl(SANE_Int * version_code, SANE_Auth_Callback authorize) +{ + DBG_INIT (); + DBG_HELPER_ARGS(dbg, "authorize %s null", authorize ? "!=" : "=="); + DBG(DBG_init, "SANE Genesys backend from %s\n", PACKAGE_STRING); + + if (!is_testing_mode()) { +#ifdef HAVE_LIBUSB + DBG(DBG_init, "SANE Genesys backend built with libusb-1.0\n"); +#endif +#ifdef HAVE_LIBUSB_LEGACY + DBG(DBG_init, "SANE Genesys backend built with libusb\n"); +#endif + } + + if (version_code) { + *version_code = SANE_VERSION_CODE(SANE_CURRENT_MAJOR, SANE_CURRENT_MINOR, 0); + } + + if (!is_testing_mode()) { + sanei_usb_init(); + } + + /* init sanei_magic */ + sanei_magic_init(); + + s_scanners.init(); + s_devices.init(); + s_sane_devices.init(); + s_sane_devices_data.init(); + s_sane_devices_ptrs.init(); + genesys_init_sensor_tables(); + genesys_init_frontend_tables(); + genesys_init_gpo_tables(); + genesys_init_motor_tables(); + genesys_init_motor_profile_tables(); + genesys_init_usb_device_tables(); + + + DBG(DBG_info, "%s: %s endian machine\n", __func__, +#ifdef WORDS_BIGENDIAN + "big" +#else + "little" +#endif + ); + + // cold-plug case :detection of allready connected scanners + probe_genesys_devices(); +} + + +SANE_GENESYS_API_LINKAGE +SANE_Status sane_init(SANE_Int * version_code, SANE_Auth_Callback authorize) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + sane_init_impl(version_code, authorize); + }); +} + +void +sane_exit_impl(void) +{ + DBG_HELPER(dbg); + + if (!is_testing_mode()) { + sanei_usb_exit(); + } + + run_functions_at_backend_exit(); +} + +SANE_GENESYS_API_LINKAGE +void sane_exit() +{ + catch_all_exceptions(__func__, [](){ sane_exit_impl(); }); +} + +void sane_get_devices_impl(const SANE_Device *** device_list, SANE_Bool local_only) +{ + DBG_HELPER_ARGS(dbg, "local_only = %s", local_only ? "true" : "false"); + + if (!is_testing_mode()) { + // hot-plug case : detection of newly connected scanners */ + sanei_usb_scan_devices(); + } + probe_genesys_devices(); + + s_sane_devices->clear(); + s_sane_devices_data->clear(); + s_sane_devices_ptrs->clear(); + s_sane_devices->reserve(s_devices->size()); + s_sane_devices_data->reserve(s_devices->size()); + s_sane_devices_ptrs->reserve(s_devices->size() + 1); + + for (auto dev_it = s_devices->begin(); dev_it != s_devices->end();) { + + if (is_testing_mode()) { + present = true; + } else { + present = false; + sanei_usb_find_devices(dev_it->vendorId, dev_it->productId, check_present); + } + + if (present) { + s_sane_devices->emplace_back(); + s_sane_devices_data->emplace_back(); + auto& sane_device = s_sane_devices->back(); + auto& sane_device_data = s_sane_devices_data->back(); + sane_device_data.name = dev_it->file_name; + sane_device.name = sane_device_data.name.c_str(); + sane_device.vendor = dev_it->model->vendor; + sane_device.model = dev_it->model->model; + sane_device.type = "flatbed scanner"; + s_sane_devices_ptrs->push_back(&sane_device); + dev_it++; + } else { + dev_it = s_devices->erase(dev_it); + } + } + s_sane_devices_ptrs->push_back(nullptr); + + *const_cast(device_list) = s_sane_devices_ptrs->data(); +} + +SANE_GENESYS_API_LINKAGE +SANE_Status sane_get_devices(const SANE_Device *** device_list, SANE_Bool local_only) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + sane_get_devices_impl(device_list, local_only); + }); +} + +static void sane_open_impl(SANE_String_Const devicename, SANE_Handle * handle) +{ + DBG_HELPER_ARGS(dbg, "devicename = %s", devicename); + Genesys_Device* dev = nullptr; + + /* devicename="" or devicename="genesys" are default values that use + * first available device + */ + if (devicename[0] && strcmp ("genesys", devicename) != 0) { + /* search for the given devicename in the device list */ + for (auto& d : *s_devices) { + if (d.file_name == devicename) { + dev = &d; + break; + } + } + + if (dev) { + DBG(DBG_info, "%s: found `%s' in devlist\n", __func__, dev->model->name); + } else if (is_testing_mode()) { + DBG(DBG_info, "%s: couldn't find `%s' in devlist, not attaching", __func__, devicename); + } else { + DBG(DBG_info, "%s: couldn't find `%s' in devlist, trying attach\n", __func__, + devicename); + dbg.status("attach_device_by_name"); + dev = attach_device_by_name(devicename, true); + dbg.clear(); + } + } else { + // empty devicename or "genesys" -> use first device + if (!s_devices->empty()) { + dev = &s_devices->front(); + DBG(DBG_info, "%s: empty devicename, trying `%s'\n", __func__, dev->file_name.c_str()); + } + } + + if (!dev) { + throw SaneException("could not find the device to open: %s", devicename); + } + + if (dev->model->flags & GENESYS_FLAG_UNTESTED) + { + DBG(DBG_error0, "WARNING: Your scanner is not fully supported or at least \n"); + DBG(DBG_error0, " had only limited testing. Please be careful and \n"); + DBG(DBG_error0, " report any failure/success to \n"); + DBG(DBG_error0, " sane-devel@alioth-lists.debian.net. Please provide as many\n"); + DBG(DBG_error0, " details as possible, e.g. the exact name of your\n"); + DBG(DBG_error0, " scanner and what does (not) work.\n"); + } + + dbg.vstatus("open device '%s'", dev->file_name.c_str()); + + if (is_testing_mode()) { + auto interface = std::unique_ptr{new TestScannerInterface{dev}}; + interface->set_checkpoint_callback(get_testing_checkpoint_callback()); + dev->interface = std::move(interface); + } else { + dev->interface = std::unique_ptr{new ScannerInterfaceUsb{dev}}; + } + dev->interface->get_usb_device().open(dev->file_name.c_str()); + dbg.clear(); + + s_scanners->push_back(Genesys_Scanner()); + auto* s = &s_scanners->back(); + + s->dev = dev; + s->scanning = false; + s->dev->parking = false; + s->dev->read_active = false; + s->dev->force_calibration = 0; + s->dev->line_count = 0; + + *handle = s; + + if (!dev->already_initialized) { + sanei_genesys_init_structs (dev); + } + + init_options(s); + + sanei_genesys_init_cmd_set(s->dev); + + // FIXME: we create sensor tables for the sensor, this should happen when we know which sensor + // we will select + dev->cmd_set->init(dev); + + // some hardware capabilities are detected through sensors + s->dev->cmd_set->update_hardware_sensors (s); + + /* here is the place to fetch a stored calibration cache */ + if (s->dev->force_calibration == 0) + { + auto path = calibration_filename(s->dev); + s->calibration_file = path; + s->dev->calib_file = path; + DBG(DBG_info, "%s: Calibration filename set to:\n", __func__); + DBG(DBG_info, "%s: >%s<\n", __func__, s->dev->calib_file.c_str()); + + catch_all_exceptions(__func__, [&]() + { + sanei_genesys_read_calibration(s->dev->calibration_cache, s->dev->calib_file); + }); + } +} + +SANE_GENESYS_API_LINKAGE +SANE_Status sane_open(SANE_String_Const devicename, SANE_Handle* handle) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + sane_open_impl(devicename, handle); + }); +} + +void +sane_close_impl(SANE_Handle handle) +{ + DBG_HELPER(dbg); + + /* remove handle from list of open handles: */ + auto it = s_scanners->end(); + for (auto it2 = s_scanners->begin(); it2 != s_scanners->end(); it2++) + { + if (&*it2 == handle) { + it = it2; + break; + } + } + if (it == s_scanners->end()) + { + DBG(DBG_error, "%s: invalid handle %p\n", __func__, handle); + return; /* oops, not a handle we know about */ + } + + Genesys_Scanner* s = &*it; + + /* eject document for sheetfed scanners */ + if (s->dev->model->is_sheetfed) { + catch_all_exceptions(__func__, [&](){ s->dev->cmd_set->eject_document(s->dev); }); + } + else + { + /* in case scanner is parking, wait for the head + * to reach home position */ + if (s->dev->parking) { + sanei_genesys_wait_for_home(s->dev); + } + } + + // enable power saving before leaving + s->dev->cmd_set->save_power(s->dev, true); + + // here is the place to store calibration cache + if (s->dev->force_calibration == 0 && !is_testing_mode()) { + catch_all_exceptions(__func__, [&](){ write_calibration(s->dev->calibration_cache, + s->dev->calib_file); }); + } + + s->dev->already_initialized = false; + + s->dev->clear(); + + // LAMP OFF : same register across all the ASICs */ + s->dev->interface->write_register(0x03, 0x00); + + catch_all_exceptions(__func__, [&](){ s->dev->interface->get_usb_device().clear_halt(); }); + + // we need this to avoid these ASIC getting stuck in bulk writes + catch_all_exceptions(__func__, [&](){ s->dev->interface->get_usb_device().reset(); }); + + // not freeing s->dev because it's in the dev list + catch_all_exceptions(__func__, [&](){ s->dev->interface->get_usb_device().close(); }); + + s_scanners->erase(it); +} + +SANE_GENESYS_API_LINKAGE +void sane_close(SANE_Handle handle) +{ + catch_all_exceptions(__func__, [=]() + { + sane_close_impl(handle); + }); +} + +const SANE_Option_Descriptor * +sane_get_option_descriptor_impl(SANE_Handle handle, SANE_Int option) +{ + DBG_HELPER(dbg); + Genesys_Scanner* s = reinterpret_cast(handle); + + if (static_cast(option) >= NUM_OPTIONS) { + return nullptr; + } + + DBG(DBG_io2, "%s: option = %s (%d)\n", __func__, s->opt[option].name, option); + return s->opt + option; +} + + +SANE_GENESYS_API_LINKAGE +const SANE_Option_Descriptor* sane_get_option_descriptor(SANE_Handle handle, SANE_Int option) +{ + const SANE_Option_Descriptor* ret = nullptr; + catch_all_exceptions(__func__, [&]() + { + ret = sane_get_option_descriptor_impl(handle, option); + }); + return ret; +} + +static void print_option(DebugMessageHelper& dbg, const Genesys_Scanner& s, int option, void* val) +{ + switch (s.opt[option].type) { + case SANE_TYPE_INT: { + dbg.vlog(DBG_proc, "value: %d", *reinterpret_cast(val)); + return; + } + case SANE_TYPE_BOOL: { + dbg.vlog(DBG_proc, "value: %s", *reinterpret_cast(val) ? "true" : "false"); + return; + } + case SANE_TYPE_FIXED: { + dbg.vlog(DBG_proc, "value: %f", SANE_UNFIX(*reinterpret_cast(val))); + return; + } + case SANE_TYPE_STRING: { + dbg.vlog(DBG_proc, "value: %s", reinterpret_cast(val)); + return; + } + default: break; + } + dbg.log(DBG_proc, "value: (non-printable)"); +} + +static void get_option_value(Genesys_Scanner* s, int option, void* val) +{ + DBG_HELPER_ARGS(dbg, "option: %s (%d)", s->opt[option].name, option); + unsigned int i; + SANE_Word* table = nullptr; + std::vector gamma_table; + unsigned option_size = 0; + + const Genesys_Sensor* sensor = nullptr; + if (sanei_genesys_has_sensor(s->dev, s->dev->settings.xres, s->dev->settings.get_channels(), + s->dev->settings.scan_method)) + { + sensor = &sanei_genesys_find_sensor(s->dev, s->dev->settings.xres, + s->dev->settings.get_channels(), + s->dev->settings.scan_method); + } + + switch (option) + { + /* geometry */ + case OPT_TL_X: + *reinterpret_cast(val) = s->pos_top_left_x; + break; + case OPT_TL_Y: + *reinterpret_cast(val) = s->pos_top_left_y; + break; + case OPT_BR_X: + *reinterpret_cast(val) = s->pos_bottom_right_x; + break; + case OPT_BR_Y: + *reinterpret_cast(val) = s->pos_bottom_right_y; + break; + /* word options: */ + case OPT_NUM_OPTS: + *reinterpret_cast(val) = NUM_OPTIONS; + break; + case OPT_RESOLUTION: + *reinterpret_cast(val) = s->resolution; + break; + case OPT_BIT_DEPTH: + *reinterpret_cast(val) = s->bit_depth; + break; + case OPT_PREVIEW: + *reinterpret_cast(val) = s->preview; + break; + case OPT_THRESHOLD: + *reinterpret_cast(val) = s->threshold; + break; + case OPT_THRESHOLD_CURVE: + *reinterpret_cast(val) = s->threshold_curve; + break; + case OPT_DISABLE_INTERPOLATION: + *reinterpret_cast(val) = s->disable_interpolation; + break; + case OPT_LAMP_OFF: + *reinterpret_cast(val) = s->lamp_off; + break; + case OPT_LAMP_OFF_TIME: + *reinterpret_cast(val) = s->lamp_off_time; + break; + case OPT_SWDESKEW: + *reinterpret_cast(val) = s->swdeskew; + break; + case OPT_SWCROP: + *reinterpret_cast(val) = s->swcrop; + break; + case OPT_SWDESPECK: + *reinterpret_cast(val) = s->swdespeck; + break; + case OPT_SWDEROTATE: + *reinterpret_cast(val) = s->swderotate; + break; + case OPT_SWSKIP: + *reinterpret_cast(val) = s->swskip; + break; + case OPT_DESPECK: + *reinterpret_cast(val) = s->despeck; + break; + case OPT_CONTRAST: + *reinterpret_cast(val) = s->contrast; + break; + case OPT_BRIGHTNESS: + *reinterpret_cast(val) = s->brightness; + break; + case OPT_EXPIRATION_TIME: + *reinterpret_cast(val) = s->expiration_time; + break; + case OPT_CUSTOM_GAMMA: + *reinterpret_cast(val) = s->custom_gamma; + break; + + /* string options: */ + case OPT_MODE: + std::strcpy(reinterpret_cast(val), s->mode.c_str()); + break; + case OPT_COLOR_FILTER: + std::strcpy(reinterpret_cast(val), s->color_filter.c_str()); + break; + case OPT_CALIBRATION_FILE: + std::strcpy(reinterpret_cast(val), s->calibration_file.c_str()); + break; + case OPT_SOURCE: + std::strcpy(reinterpret_cast(val), scan_method_to_option_string(s->scan_method)); + break; + + /* word array options */ + case OPT_GAMMA_VECTOR: + if (!sensor) + throw SaneException("Unsupported scanner mode selected"); + + table = reinterpret_cast(val); + if (s->color_filter == "Red") { + gamma_table = get_gamma_table(s->dev, *sensor, GENESYS_RED); + } else if (s->color_filter == "Blue") { + gamma_table = get_gamma_table(s->dev, *sensor, GENESYS_BLUE); + } else { + gamma_table = get_gamma_table(s->dev, *sensor, GENESYS_GREEN); + } + option_size = s->opt[option].size / sizeof (SANE_Word); + if (gamma_table.size() != option_size) { + throw std::runtime_error("The size of the gamma tables does not match"); + } + for (i = 0; i < option_size; i++) { + table[i] = gamma_table[i]; + } + break; + case OPT_GAMMA_VECTOR_R: + if (!sensor) + throw SaneException("Unsupported scanner mode selected"); + + table = reinterpret_cast(val); + gamma_table = get_gamma_table(s->dev, *sensor, GENESYS_RED); + option_size = s->opt[option].size / sizeof (SANE_Word); + if (gamma_table.size() != option_size) { + throw std::runtime_error("The size of the gamma tables does not match"); + } + for (i = 0; i < option_size; i++) { + table[i] = gamma_table[i]; + } + break; + case OPT_GAMMA_VECTOR_G: + if (!sensor) + throw SaneException("Unsupported scanner mode selected"); + + table = reinterpret_cast(val); + gamma_table = get_gamma_table(s->dev, *sensor, GENESYS_GREEN); + option_size = s->opt[option].size / sizeof (SANE_Word); + if (gamma_table.size() != option_size) { + throw std::runtime_error("The size of the gamma tables does not match"); + } + for (i = 0; i < option_size; i++) { + table[i] = gamma_table[i]; + } + break; + case OPT_GAMMA_VECTOR_B: + if (!sensor) + throw SaneException("Unsupported scanner mode selected"); + + table = reinterpret_cast(val); + gamma_table = get_gamma_table(s->dev, *sensor, GENESYS_BLUE); + option_size = s->opt[option].size / sizeof (SANE_Word); + if (gamma_table.size() != option_size) { + throw std::runtime_error("The size of the gamma tables does not match"); + } + for (i = 0; i < option_size; i++) { + table[i] = gamma_table[i]; + } + break; + /* sensors */ + case OPT_SCAN_SW: + case OPT_FILE_SW: + case OPT_EMAIL_SW: + case OPT_COPY_SW: + case OPT_PAGE_LOADED_SW: + case OPT_OCR_SW: + case OPT_POWER_SW: + case OPT_EXTRA_SW: + s->dev->cmd_set->update_hardware_sensors(s); + *reinterpret_cast(val) = s->buttons[genesys_option_to_button(option)].read(); + break; + + case OPT_NEED_CALIBRATION_SW: { + if (!sensor) { + throw SaneException("Unsupported scanner mode selected"); + } + + // scanner needs calibration for current mode unless a matching calibration cache is + // found + + bool result = true; + + auto session = s->dev->cmd_set->calculate_scan_session(s->dev, *sensor, + s->dev->settings); + + for (auto& cache : s->dev->calibration_cache) { + if (sanei_genesys_is_compatible_calibration(s->dev, session, &cache, false)) { + *reinterpret_cast(val) = SANE_FALSE; + } + } + *reinterpret_cast(val) = result; + break; + } + default: + DBG(DBG_warn, "%s: can't get unknown option %d\n", __func__, option); + } + print_option(dbg, *s, option, val); +} + +/** @brief set calibration file value + * Set calibration file value. Load new cache values from file if it exists, + * else creates the file*/ +static void set_calibration_value(Genesys_Scanner* s, const char* val) +{ + DBG_HELPER(dbg); + + std::string new_calib_path = val; + Genesys_Device::Calibration new_calibration; + + bool is_calib_success = false; + catch_all_exceptions(__func__, [&]() + { + is_calib_success = sanei_genesys_read_calibration(new_calibration, new_calib_path); + }); + + if (!is_calib_success) { + return; + } + + s->dev->calibration_cache = std::move(new_calibration); + s->dev->calib_file = new_calib_path; + s->calibration_file = new_calib_path; + DBG(DBG_info, "%s: Calibration filename set to '%s':\n", __func__, new_calib_path.c_str()); +} + +/* sets an option , called by sane_control_option */ +static void set_option_value(Genesys_Scanner* s, int option, void *val, SANE_Int* myinfo) +{ + DBG_HELPER_ARGS(dbg, "option: %s (%d)", s->opt[option].name, option); + print_option(dbg, *s, option, val); + + SANE_Word *table; + unsigned int i; + unsigned option_size = 0; + + switch (option) + { + case OPT_TL_X: + s->pos_top_left_x = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_TL_Y: + s->pos_top_left_y = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_BR_X: + s->pos_bottom_right_x = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_BR_Y: + s->pos_bottom_right_y = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_RESOLUTION: + s->resolution = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_THRESHOLD: + s->threshold = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_THRESHOLD_CURVE: + s->threshold_curve = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_SWCROP: + s->swcrop = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_SWDESKEW: + s->swdeskew = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_DESPECK: + s->despeck = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_SWDEROTATE: + s->swderotate = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_SWSKIP: + s->swskip = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_DISABLE_INTERPOLATION: + s->disable_interpolation = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_LAMP_OFF: + s->lamp_off = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_PREVIEW: + s->preview = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_BRIGHTNESS: + s->brightness = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_CONTRAST: + s->contrast = *reinterpret_cast(val); + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS; + break; + case OPT_SWDESPECK: + s->swdespeck = *reinterpret_cast(val); + if (s->swdespeck) { + ENABLE(OPT_DESPECK); + } else { + DISABLE(OPT_DESPECK); + } + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + break; + /* software enhancement functions only apply to 8 or 1 bits data */ + case OPT_BIT_DEPTH: + s->bit_depth = *reinterpret_cast(val); + if(s->bit_depth>8) + { + DISABLE(OPT_SWDESKEW); + DISABLE(OPT_SWDESPECK); + DISABLE(OPT_SWCROP); + DISABLE(OPT_DESPECK); + DISABLE(OPT_SWDEROTATE); + DISABLE(OPT_SWSKIP); + DISABLE(OPT_CONTRAST); + DISABLE(OPT_BRIGHTNESS); + } + else + { + ENABLE(OPT_SWDESKEW); + ENABLE(OPT_SWDESPECK); + ENABLE(OPT_SWCROP); + ENABLE(OPT_DESPECK); + ENABLE(OPT_SWDEROTATE); + ENABLE(OPT_SWSKIP); + ENABLE(OPT_CONTRAST); + ENABLE(OPT_BRIGHTNESS); + } + calc_parameters(s); + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + break; + case OPT_SOURCE: { + auto scan_method = option_string_to_scan_method(reinterpret_cast(val)); + if (s->scan_method != scan_method) { + s->scan_method = scan_method; + + set_xy_range_option_values(*s); + set_resolution_option_values(*s, false); + + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + } + break; + } + case OPT_MODE: + s->mode = reinterpret_cast(val); + + if (s->mode == SANE_VALUE_SCAN_MODE_LINEART) + { + ENABLE (OPT_THRESHOLD); + ENABLE (OPT_THRESHOLD_CURVE); + DISABLE (OPT_BIT_DEPTH); + if (s->dev->model->asic_type != AsicType::GL646 || !s->dev->model->is_cis) { + ENABLE(OPT_COLOR_FILTER); + } + } + else + { + DISABLE (OPT_THRESHOLD); + DISABLE (OPT_THRESHOLD_CURVE); + if (s->mode == SANE_VALUE_SCAN_MODE_GRAY) + { + if (s->dev->model->asic_type != AsicType::GL646 || !s->dev->model->is_cis) { + ENABLE(OPT_COLOR_FILTER); + } + create_bpp_list (s, s->dev->model->bpp_gray_values); + s->bit_depth = s->dev->model->bpp_gray_values[0]; + } + else + { + DISABLE (OPT_COLOR_FILTER); + create_bpp_list (s, s->dev->model->bpp_color_values); + s->bit_depth = s->dev->model->bpp_color_values[0]; + } + } + calc_parameters(s); + + /* if custom gamma, toggle gamma table options according to the mode */ + if (s->custom_gamma) + { + if (s->mode == SANE_VALUE_SCAN_MODE_COLOR) + { + DISABLE (OPT_GAMMA_VECTOR); + ENABLE (OPT_GAMMA_VECTOR_R); + ENABLE (OPT_GAMMA_VECTOR_G); + ENABLE (OPT_GAMMA_VECTOR_B); + } + else + { + ENABLE (OPT_GAMMA_VECTOR); + DISABLE (OPT_GAMMA_VECTOR_R); + DISABLE (OPT_GAMMA_VECTOR_G); + DISABLE (OPT_GAMMA_VECTOR_B); + } + } + + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + break; + case OPT_COLOR_FILTER: + s->color_filter = reinterpret_cast(val); + calc_parameters(s); + break; + case OPT_CALIBRATION_FILE: + if (s->dev->force_calibration == 0) { + set_calibration_value(s, reinterpret_cast(val)); + } + break; + case OPT_LAMP_OFF_TIME: + if (*reinterpret_cast(val) != s->lamp_off_time) { + s->lamp_off_time = *reinterpret_cast(val); + s->dev->cmd_set->set_powersaving(s->dev, s->lamp_off_time); + } + break; + case OPT_EXPIRATION_TIME: + if (*reinterpret_cast(val) != s->expiration_time) { + s->expiration_time = *reinterpret_cast(val); + // BUG: this is most likely not intended behavior, found out during refactor + s->dev->cmd_set->set_powersaving(s->dev, s->expiration_time); + } + break; + + case OPT_CUSTOM_GAMMA: + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + s->custom_gamma = *reinterpret_cast(val); + + if (s->custom_gamma) { + if (s->mode == SANE_VALUE_SCAN_MODE_COLOR) + { + DISABLE (OPT_GAMMA_VECTOR); + ENABLE (OPT_GAMMA_VECTOR_R); + ENABLE (OPT_GAMMA_VECTOR_G); + ENABLE (OPT_GAMMA_VECTOR_B); + } + else + { + ENABLE (OPT_GAMMA_VECTOR); + DISABLE (OPT_GAMMA_VECTOR_R); + DISABLE (OPT_GAMMA_VECTOR_G); + DISABLE (OPT_GAMMA_VECTOR_B); + } + } + else + { + DISABLE (OPT_GAMMA_VECTOR); + DISABLE (OPT_GAMMA_VECTOR_R); + DISABLE (OPT_GAMMA_VECTOR_G); + DISABLE (OPT_GAMMA_VECTOR_B); + for (auto& table : s->dev->gamma_override_tables) { + table.clear(); + } + } + break; + + case OPT_GAMMA_VECTOR: + table = reinterpret_cast(val); + option_size = s->opt[option].size / sizeof (SANE_Word); + + s->dev->gamma_override_tables[GENESYS_RED].resize(option_size); + s->dev->gamma_override_tables[GENESYS_GREEN].resize(option_size); + s->dev->gamma_override_tables[GENESYS_BLUE].resize(option_size); + for (i = 0; i < option_size; i++) { + s->dev->gamma_override_tables[GENESYS_RED][i] = table[i]; + s->dev->gamma_override_tables[GENESYS_GREEN][i] = table[i]; + s->dev->gamma_override_tables[GENESYS_BLUE][i] = table[i]; + } + break; + case OPT_GAMMA_VECTOR_R: + table = reinterpret_cast(val); + option_size = s->opt[option].size / sizeof (SANE_Word); + s->dev->gamma_override_tables[GENESYS_RED].resize(option_size); + for (i = 0; i < option_size; i++) { + s->dev->gamma_override_tables[GENESYS_RED][i] = table[i]; + } + break; + case OPT_GAMMA_VECTOR_G: + table = reinterpret_cast(val); + option_size = s->opt[option].size / sizeof (SANE_Word); + s->dev->gamma_override_tables[GENESYS_GREEN].resize(option_size); + for (i = 0; i < option_size; i++) { + s->dev->gamma_override_tables[GENESYS_GREEN][i] = table[i]; + } + break; + case OPT_GAMMA_VECTOR_B: + table = reinterpret_cast(val); + option_size = s->opt[option].size / sizeof (SANE_Word); + s->dev->gamma_override_tables[GENESYS_BLUE].resize(option_size); + for (i = 0; i < option_size; i++) { + s->dev->gamma_override_tables[GENESYS_BLUE][i] = table[i]; + } + break; + case OPT_CALIBRATE: { + auto& sensor = sanei_genesys_find_sensor_for_write(s->dev, s->dev->settings.xres, + s->dev->settings.get_channels(), + s->dev->settings.scan_method); + catch_all_exceptions(__func__, [&]() + { + s->dev->cmd_set->save_power(s->dev, false); + genesys_scanner_calibration(s->dev, sensor); + }); + catch_all_exceptions(__func__, [&]() + { + s->dev->cmd_set->save_power(s->dev, true); + }); + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + break; + } + case OPT_CLEAR_CALIBRATION: + s->dev->calibration_cache.clear(); + + /* remove file */ + unlink(s->dev->calib_file.c_str()); + /* signals that sensors will have to be read again */ + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + break; + case OPT_FORCE_CALIBRATION: + s->dev->force_calibration = 1; + s->dev->calibration_cache.clear(); + s->dev->calib_file.clear(); + + /* signals that sensors will have to be read again */ + *myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS; + break; + + case OPT_IGNORE_OFFSETS: { + s->dev->ignore_offsets = true; + break; + } + default: + DBG(DBG_warn, "%s: can't set unknown option %d\n", __func__, option); + } +} + + +/* sets and gets scanner option values */ +void sane_control_option_impl(SANE_Handle handle, SANE_Int option, + SANE_Action action, void *val, SANE_Int * info) +{ + Genesys_Scanner* s = reinterpret_cast(handle); + auto action_str = (action == SANE_ACTION_GET_VALUE) ? "get" : + (action == SANE_ACTION_SET_VALUE) ? "set" : + (action == SANE_ACTION_SET_AUTO) ? "set_auto" : "unknown"; + DBG_HELPER_ARGS(dbg, "action = %s, option = %s (%d)", action_str, + s->opt[option].name, option); + + SANE_Word cap; + SANE_Int myinfo = 0; + + if (info) { + *info = 0; + } + + if (s->scanning) { + throw SaneException(SANE_STATUS_DEVICE_BUSY, + "don't call this function while scanning (option = %s (%d))", + s->opt[option].name, option); + } + if (option >= NUM_OPTIONS || option < 0) { + throw SaneException("option %d >= NUM_OPTIONS || option < 0", option); + } + + cap = s->opt[option].cap; + + if (!SANE_OPTION_IS_ACTIVE (cap)) { + throw SaneException("option %d is inactive", option); + } + + switch (action) { + case SANE_ACTION_GET_VALUE: + get_option_value(s, option, val); + break; + + case SANE_ACTION_SET_VALUE: + if (!SANE_OPTION_IS_SETTABLE (cap)) { + throw SaneException("option %d is not settable", option); + } + + TIE(sanei_constrain_value(s->opt + option, val, &myinfo)); + + set_option_value(s, option, val, &myinfo); + break; + + case SANE_ACTION_SET_AUTO: + throw SaneException("SANE_ACTION_SET_AUTO unsupported since no option " + "has SANE_CAP_AUTOMATIC"); + default: + throw SaneException("unknown action %d for option %d", action, option); + } + + if (info) + *info = myinfo; +} + +SANE_GENESYS_API_LINKAGE +SANE_Status sane_control_option(SANE_Handle handle, SANE_Int option, + SANE_Action action, void *val, SANE_Int * info) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + sane_control_option_impl(handle, option, action, val, info); + }); +} + +void sane_get_parameters_impl(SANE_Handle handle, SANE_Parameters* params) +{ + DBG_HELPER(dbg); + Genesys_Scanner* s = reinterpret_cast(handle); + + /* don't recompute parameters once data reading is active, ie during scan */ + if (!s->dev->read_active) { + calc_parameters(s); + } + if (params) + { + *params = s->params; + + /* in the case of a sheetfed scanner, when full height is specified + * we override the computed line number with -1 to signal that we + * don't know the real document height. + * We don't do that doing buffering image for digital processing + */ + if (s->dev->model->is_sheetfed && !s->dev->buffer_image && + s->pos_bottom_right_y == s->opt[OPT_BR_Y].constraint.range->max) + { + params->lines = -1; + } + } + debug_dump(DBG_proc, *params); +} + +SANE_GENESYS_API_LINKAGE +SANE_Status sane_get_parameters(SANE_Handle handle, SANE_Parameters* params) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + sane_get_parameters_impl(handle, params); + }); +} + +void sane_start_impl(SANE_Handle handle) +{ + DBG_HELPER(dbg); + Genesys_Scanner* s = reinterpret_cast(handle); + + if (s->pos_top_left_x >= s->pos_bottom_right_x) { + throw SaneException("top left x >= bottom right x"); + } + if (s->pos_top_left_y >= s->pos_bottom_right_y) { + throw SaneException("top left y >= bottom right y"); + } + + /* First make sure we have a current parameter set. Some of the + parameters will be overwritten below, but that's OK. */ + + calc_parameters(s); + genesys_start_scan(s->dev, s->lamp_off); + + s->scanning = true; + + /* allocate intermediate buffer when doing dynamic lineart */ + if (s->dev->settings.scan_mode == ScanColorMode::LINEART) { + s->dev->binarize_buffer.clear(); + s->dev->binarize_buffer.alloc(s->dev->settings.pixels); + s->dev->local_buffer.clear(); + s->dev->local_buffer.alloc(s->dev->binarize_buffer.size() * 8); + } + + /* if one of the software enhancement option is selected, + * we do the scan internally, process picture then put it an internal + * buffer. Since cropping may change scan parameters, we recompute them + * at the end */ + if (s->dev->buffer_image) + { + genesys_buffer_image(s); + + /* check if we need to skip this page, sheetfed scanners + * can go to next doc while flatbed ones can't */ + if (s->swskip > 0 && IS_ACTIVE(OPT_SWSKIP)) { + auto status = sanei_magic_isBlank(&s->params, + s->dev->img_buffer.data(), + SANE_UNFIX(s->swskip)); + + if (status == SANE_STATUS_NO_DOCS && s->dev->model->is_sheetfed) { + DBG(DBG_info, "%s: blank page, recurse\n", __func__); + sane_start(handle); + return; + } + + if (status != SANE_STATUS_GOOD) { + throw SaneException(status); + } + } + + if (s->swdeskew) { + const auto& sensor = sanei_genesys_find_sensor(s->dev, s->dev->settings.xres, + s->dev->settings.get_channels(), + s->dev->settings.scan_method); + catch_all_exceptions(__func__, [&](){ genesys_deskew(s, sensor); }); + } + + if (s->swdespeck) { + catch_all_exceptions(__func__, [&](){ genesys_despeck(s); }); + } + + if(s->swcrop) { + catch_all_exceptions(__func__, [&](){ genesys_crop(s); }); + } + + if(s->swderotate) { + catch_all_exceptions(__func__, [&](){ genesys_derotate(s); }); + } + } +} + +SANE_GENESYS_API_LINKAGE +SANE_Status sane_start(SANE_Handle handle) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + sane_start_impl(handle); + }); +} + +void sane_read_impl(SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int* len) +{ + DBG_HELPER(dbg); + Genesys_Scanner* s = reinterpret_cast(handle); + Genesys_Device *dev; + size_t local_len; + + if (!s) { + throw SaneException("handle is nullptr"); + } + + dev=s->dev; + if (!dev) { + throw SaneException("dev is nullptr"); + } + + if (!buf) { + throw SaneException("buf is nullptr"); + } + + if (!len) { + throw SaneException("len is nullptr"); + } + + *len = 0; + + if (!s->scanning) { + throw SaneException(SANE_STATUS_CANCELLED, + "scan was cancelled, is over or has not been initiated yet"); + } + + DBG(DBG_proc, "%s: start, %d maximum bytes required\n", __func__, max_len); + DBG(DBG_io2, "%s: bytes_to_read=%zu, total_bytes_read=%zu\n", __func__, + dev->total_bytes_to_read, dev->total_bytes_read); + + if(dev->total_bytes_read>=dev->total_bytes_to_read) + { + DBG(DBG_proc, "%s: nothing more to scan: EOF\n", __func__); + + /* issue park command immediatly in case scanner can handle it + * so we save time */ + if (!dev->model->is_sheetfed && !(dev->model->flags & GENESYS_FLAG_MUST_WAIT) && + !dev->parking) + { + dev->cmd_set->move_back_home(dev, false); + dev->parking = true; + } + throw SaneException(SANE_STATUS_EOF); + } + + local_len = max_len; + + /* in case of image processing, all data has been stored in + * buffer_image. So read data from it if it exists, else from scanner */ + if(!dev->buffer_image) + { + /* dynamic lineart is another kind of digital processing that needs + * another layer of buffering on top of genesys_read_ordered_data */ + if (dev->settings.scan_mode == ScanColorMode::LINEART) { + /* if buffer is empty, fill it with genesys_read_ordered_data */ + if(dev->binarize_buffer.avail() == 0) + { + /* store gray data */ + local_len=dev->local_buffer.size(); + dev->local_buffer.reset(); + genesys_read_ordered_data(dev, dev->local_buffer.get_write_pos(local_len), + &local_len); + dev->local_buffer.produce(local_len); + + dev->binarize_buffer.reset(); + if (!is_testing_mode()) { + genesys_gray_lineart(dev, dev->local_buffer.get_read_pos(), + dev->binarize_buffer.get_write_pos(local_len / 8), + dev->settings.pixels, + local_len / dev->settings.pixels, + dev->settings.threshold); + } + dev->binarize_buffer.produce(local_len / 8); + } + + /* return data from lineart buffer if any, up to the available amount */ + local_len = max_len; + if (static_cast(max_len) > dev->binarize_buffer.avail()) + { + local_len=dev->binarize_buffer.avail(); + } + if(local_len) + { + memcpy(buf, dev->binarize_buffer.get_read_pos(), local_len); + dev->binarize_buffer.consume(local_len); + } + } + else + { + // most usual case, direct read of data from scanner */ + genesys_read_ordered_data(dev, buf, &local_len); + } + } + else /* read data from buffer */ + { + if(dev->total_bytes_read+local_len>dev->total_bytes_to_read) + { + local_len=dev->total_bytes_to_read-dev->total_bytes_read; + } + memcpy(buf, dev->img_buffer.data() + dev->total_bytes_read, local_len); + dev->total_bytes_read+=local_len; + } + + *len = local_len; + if (local_len > static_cast(max_len)) { + fprintf (stderr, "[genesys] sane_read: returning incorrect length!!\n"); + } + DBG(DBG_proc, "%s: %d bytes returned\n", __func__, *len); +} + +SANE_GENESYS_API_LINKAGE +SANE_Status sane_read(SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, SANE_Int* len) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + sane_read_impl(handle, buf, max_len, len); + }); +} + +void sane_cancel_impl(SANE_Handle handle) +{ + DBG_HELPER(dbg); + Genesys_Scanner* s = reinterpret_cast(handle); + + s->scanning = false; + s->dev->read_active = false; + s->dev->img_buffer.clear(); + + /* no need to end scan if we are parking the head */ + if (!s->dev->parking) { + s->dev->cmd_set->end_scan(s->dev, &s->dev->reg, true); + } + + /* park head if flatbed scanner */ + if (!s->dev->model->is_sheetfed) { + if (!s->dev->parking) { + s->dev->cmd_set->move_back_home (s->dev, s->dev->model->flags & + GENESYS_FLAG_MUST_WAIT); + + s->dev->parking = !(s->dev->model->flags & GENESYS_FLAG_MUST_WAIT); + } + } + else + { /* in case of sheetfed scanners, we have to eject the document if still present */ + s->dev->cmd_set->eject_document(s->dev); + } + + /* enable power saving mode unless we are parking .... */ + if (!s->dev->parking) { + s->dev->cmd_set->save_power(s->dev, true); + } + + return; +} + +SANE_GENESYS_API_LINKAGE +void sane_cancel(SANE_Handle handle) +{ + catch_all_exceptions(__func__, [=]() { sane_cancel_impl(handle); }); +} + +void sane_set_io_mode_impl(SANE_Handle handle, SANE_Bool non_blocking) +{ + DBG_HELPER_ARGS(dbg, "handle = %p, non_blocking = %s", handle, + non_blocking == SANE_TRUE ? "true" : "false"); + Genesys_Scanner* s = reinterpret_cast(handle); + + if (!s->scanning) { + throw SaneException("not scanning"); + } + if (non_blocking) { + throw SaneException(SANE_STATUS_UNSUPPORTED); + } +} + +SANE_GENESYS_API_LINKAGE +SANE_Status sane_set_io_mode(SANE_Handle handle, SANE_Bool non_blocking) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + sane_set_io_mode_impl(handle, non_blocking); + }); +} + +void sane_get_select_fd_impl(SANE_Handle handle, SANE_Int* fd) +{ + DBG_HELPER_ARGS(dbg, "handle = %p, fd = %p", handle, reinterpret_cast(fd)); + Genesys_Scanner* s = reinterpret_cast(handle); + + if (!s->scanning) { + throw SaneException("not scanning"); + } + throw SaneException(SANE_STATUS_UNSUPPORTED); +} + +SANE_GENESYS_API_LINKAGE +SANE_Status sane_get_select_fd(SANE_Handle handle, SANE_Int* fd) +{ + return wrap_exceptions_to_status_code(__func__, [=]() + { + sane_get_select_fd_impl(handle, fd); + }); +} + +GenesysButtonName genesys_option_to_button(int option) +{ + switch (option) { + case OPT_SCAN_SW: return BUTTON_SCAN_SW; + case OPT_FILE_SW: return BUTTON_FILE_SW; + case OPT_EMAIL_SW: return BUTTON_EMAIL_SW; + case OPT_COPY_SW: return BUTTON_COPY_SW; + case OPT_PAGE_LOADED_SW: return BUTTON_PAGE_LOADED_SW; + case OPT_OCR_SW: return BUTTON_OCR_SW; + case OPT_POWER_SW: return BUTTON_POWER_SW; + case OPT_EXTRA_SW: return BUTTON_EXTRA_SW; + default: throw std::runtime_error("Unknown option to convert to button index"); + } +} + +} // namespace genesys diff --git a/backend/genesys/genesys.h b/backend/genesys/genesys.h new file mode 100644 index 0000000..255bf76 --- /dev/null +++ b/backend/genesys/genesys.h @@ -0,0 +1,258 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2003, 2004 Henning Meier-Geinitz + Copyright (C) 2005-2013 Stephane Voltz + Copyright (C) 2006 Laurent Charpentier + Copyright (C) 2009 Pierre Willenbrock + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 GENESYS_H +#define GENESYS_H + +#ifndef BACKEND_NAME +# define BACKEND_NAME genesys +#endif + +#include "low.h" +#include + +#ifndef PATH_MAX +# define PATH_MAX 1024 +#endif + +#if defined(_WIN32) || defined(HAVE_OS2_H) +# define PATH_SEP '\\' +#else +# define PATH_SEP '/' +#endif + + +#define ENABLE(OPTION) s->opt[OPTION].cap &= ~SANE_CAP_INACTIVE +#define DISABLE(OPTION) s->opt[OPTION].cap |= SANE_CAP_INACTIVE +#define IS_ACTIVE(OPTION) (((s->opt[OPTION].cap) & SANE_CAP_INACTIVE) == 0) + +#define GENESYS_CONFIG_FILE "genesys.conf" + +#ifndef SANE_I18N +#define SANE_I18N(text) text +#endif + +#define STR_FLATBED SANE_I18N("Flatbed") +#define STR_TRANSPARENCY_ADAPTER SANE_I18N("Transparency Adapter") +#define STR_TRANSPARENCY_ADAPTER_INFRARED SANE_I18N("Transparency Adapter Infrared") + +namespace genesys { + +/** List of SANE options + */ +enum Genesys_Option +{ + OPT_NUM_OPTS = 0, + + OPT_MODE_GROUP, + OPT_MODE, + OPT_SOURCE, + OPT_PREVIEW, + OPT_BIT_DEPTH, + OPT_RESOLUTION, + + 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 */ + + /* advanced image enhancement options */ + OPT_ENHANCEMENT_GROUP, + OPT_CUSTOM_GAMMA, /* toggle to enable custom gamma tables */ + OPT_GAMMA_VECTOR, + OPT_GAMMA_VECTOR_R, + OPT_GAMMA_VECTOR_G, + OPT_GAMMA_VECTOR_B, + OPT_SWDESKEW, + OPT_SWCROP, + OPT_SWDESPECK, + OPT_DESPECK, + OPT_SWSKIP, + OPT_SWDEROTATE, + OPT_BRIGHTNESS, + OPT_CONTRAST, + + OPT_EXTRAS_GROUP, + OPT_LAMP_OFF_TIME, + OPT_LAMP_OFF, + OPT_THRESHOLD, + OPT_THRESHOLD_CURVE, + OPT_DISABLE_INTERPOLATION, + OPT_COLOR_FILTER, + OPT_CALIBRATION_FILE, + OPT_EXPIRATION_TIME, + + OPT_SENSOR_GROUP, + OPT_SCAN_SW, + OPT_FILE_SW, + OPT_EMAIL_SW, + OPT_COPY_SW, + OPT_PAGE_LOADED_SW, + OPT_OCR_SW, + OPT_POWER_SW, + OPT_EXTRA_SW, + OPT_NEED_CALIBRATION_SW, + OPT_BUTTON_GROUP, + OPT_CALIBRATE, + OPT_CLEAR_CALIBRATION, + OPT_FORCE_CALIBRATION, + OPT_IGNORE_OFFSETS, + + /* must come last: */ + NUM_OPTIONS +}; + +enum GenesysButtonName : unsigned { + BUTTON_SCAN_SW = 0, + BUTTON_FILE_SW, + BUTTON_EMAIL_SW, + BUTTON_COPY_SW, + BUTTON_PAGE_LOADED_SW, + BUTTON_OCR_SW, + BUTTON_POWER_SW, + BUTTON_EXTRA_SW, + NUM_BUTTONS +}; + +GenesysButtonName genesys_option_to_button(int option); + +class GenesysButton { +public: + void write(bool value) + { + if (value == value_) { + return; + } + values_to_read_.push(value); + value_ = value; + } + + bool read() + { + if (values_to_read_.empty()) { + return value_; + } + bool ret = values_to_read_.front(); + values_to_read_.pop(); + return ret; + } + +private: + bool value_ = false; + std::queue values_to_read_; +}; + +/** Scanner object. Should have better be called Session than Scanner + */ +struct Genesys_Scanner +{ + Genesys_Scanner() = default; + ~Genesys_Scanner() = default; + + // Next scanner in list + struct Genesys_Scanner *next; + + // Low-level device object + Genesys_Device* dev = nullptr; + + // SANE data + // We are currently scanning + bool scanning; + // Option descriptors + SANE_Option_Descriptor opt[NUM_OPTIONS]; + + std::vector opt_resolution_values; + SANE_Range opt_x_range = {}; + SANE_Range opt_y_range = {}; + std::vector opt_source_values; + + // Option values + SANE_Word bit_depth = 0; + SANE_Word resolution = 0; + bool preview = false; + SANE_Word threshold = 0; + SANE_Word threshold_curve = 0; + bool disable_interpolation = false; + bool lamp_off = false; + SANE_Word lamp_off_time = 0; + bool swdeskew = false; + bool swcrop = false; + bool swdespeck = false; + bool swderotate = false; + SANE_Word swskip = 0; + SANE_Word despeck = 0; + SANE_Word contrast = 0; + SANE_Word brightness = 0; + SANE_Word expiration_time = 0; + bool custom_gamma = false; + + SANE_Word pos_top_left_y = 0; + SANE_Word pos_top_left_x = 0; + SANE_Word pos_bottom_right_y = 0; + SANE_Word pos_bottom_right_x = 0; + + std::string mode, color_filter; + + // the value of the source option + ScanMethod scan_method = ScanMethod::FLATBED; + + std::string calibration_file; + // Button states + GenesysButton buttons[NUM_BUTTONS]; + + // SANE Parameters + SANE_Parameters params = {}; + SANE_Int bpp_list[5] = {}; +}; + +void write_calibration(std::ostream& str, Genesys_Device::Calibration& cache); +bool read_calibration(std::istream& str, Genesys_Device::Calibration& cache, + const std::string& path); + +} // namespace genesys + +#endif /* not GENESYS_H */ diff --git a/backend/genesys/gl124.cpp b/backend/genesys/gl124.cpp new file mode 100644 index 0000000..054f1ef --- /dev/null +++ b/backend/genesys/gl124.cpp @@ -0,0 +1,2269 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2010-2016 Stéphane Voltz + + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "gl124.h" +#include "gl124_registers.h" +#include "test_settings.h" + +#include + +namespace genesys { +namespace gl124 { + +/** @brief set all registers to default values . + * This function is called only once at the beginning and + * fills register startup values for registers reused across scans. + * Those that are rarely modified or not modified are written + * individually. + * @param dev device structure holding register set to initialize + */ +static void +gl124_init_registers (Genesys_Device * dev) +{ + DBG_HELPER(dbg); + + dev->reg.clear(); + + // default to LiDE 110 + dev->reg.init_reg(0x01, 0xa2); // + REG_0x01_SHDAREA + dev->reg.init_reg(0x02, 0x90); + dev->reg.init_reg(0x03, 0x50); + dev->reg.init_reg(0x04, 0x03); + dev->reg.init_reg(0x05, 0x00); + + if(dev->model->sensor_id == SensorId::CIS_CANON_LIDE_120) { + dev->reg.init_reg(0x06, 0x50); + dev->reg.init_reg(0x07, 0x00); + } else { + dev->reg.init_reg(0x03, 0x50 & ~REG_0x03_AVEENB); + dev->reg.init_reg(0x06, 0x50 | REG_0x06_GAIN4); + } + dev->reg.init_reg(0x09, 0x00); + dev->reg.init_reg(0x0a, 0xc0); + dev->reg.init_reg(0x0b, 0x2a); + dev->reg.init_reg(0x0c, 0x12); + dev->reg.init_reg(0x11, 0x00); + dev->reg.init_reg(0x12, 0x00); + dev->reg.init_reg(0x13, 0x0f); + dev->reg.init_reg(0x14, 0x00); + dev->reg.init_reg(0x15, 0x80); + dev->reg.init_reg(0x16, 0x10); // SENSOR_DEF + dev->reg.init_reg(0x17, 0x04); // SENSOR_DEF + dev->reg.init_reg(0x18, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x19, 0x01); // SENSOR_DEF + dev->reg.init_reg(0x1a, 0x30); // SENSOR_DEF + dev->reg.init_reg(0x1b, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x1c, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x1d, 0x01); // SENSOR_DEF + dev->reg.init_reg(0x1e, 0x10); + dev->reg.init_reg(0x1f, 0x00); + dev->reg.init_reg(0x20, 0x15); // SENSOR_DEF + dev->reg.init_reg(0x21, 0x00); + if(dev->model->sensor_id != SensorId::CIS_CANON_LIDE_120) { + dev->reg.init_reg(0x22, 0x02); + } else { + dev->reg.init_reg(0x22, 0x14); + } + dev->reg.init_reg(0x23, 0x00); + dev->reg.init_reg(0x24, 0x00); + dev->reg.init_reg(0x25, 0x00); + dev->reg.init_reg(0x26, 0x0d); + dev->reg.init_reg(0x27, 0x48); + dev->reg.init_reg(0x28, 0x00); + dev->reg.init_reg(0x29, 0x56); + dev->reg.init_reg(0x2a, 0x5e); + dev->reg.init_reg(0x2b, 0x02); + dev->reg.init_reg(0x2c, 0x02); + dev->reg.init_reg(0x2d, 0x58); + dev->reg.init_reg(0x3b, 0x00); + dev->reg.init_reg(0x3c, 0x00); + dev->reg.init_reg(0x3d, 0x00); + dev->reg.init_reg(0x3e, 0x00); + dev->reg.init_reg(0x3f, 0x02); + dev->reg.init_reg(0x40, 0x00); + dev->reg.init_reg(0x41, 0x00); + dev->reg.init_reg(0x42, 0x00); + dev->reg.init_reg(0x43, 0x00); + dev->reg.init_reg(0x44, 0x00); + dev->reg.init_reg(0x45, 0x00); + dev->reg.init_reg(0x46, 0x00); + dev->reg.init_reg(0x47, 0x00); + dev->reg.init_reg(0x48, 0x00); + dev->reg.init_reg(0x49, 0x00); + dev->reg.init_reg(0x4f, 0x00); + dev->reg.init_reg(0x52, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x53, 0x02); // SENSOR_DEF + dev->reg.init_reg(0x54, 0x04); // SENSOR_DEF + dev->reg.init_reg(0x55, 0x06); // SENSOR_DEF + dev->reg.init_reg(0x56, 0x04); // SENSOR_DEF + dev->reg.init_reg(0x57, 0x04); // SENSOR_DEF + dev->reg.init_reg(0x58, 0x04); // SENSOR_DEF + dev->reg.init_reg(0x59, 0x04); // SENSOR_DEF + dev->reg.init_reg(0x5a, 0x1a); // SENSOR_DEF + dev->reg.init_reg(0x5b, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x5c, 0xc0); // SENSOR_DEF + dev->reg.init_reg(0x5f, 0x00); + dev->reg.init_reg(0x60, 0x02); + dev->reg.init_reg(0x61, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x62, 0x00); + dev->reg.init_reg(0x63, 0x00); + dev->reg.init_reg(0x64, 0x00); + dev->reg.init_reg(0x65, 0x00); + dev->reg.init_reg(0x66, 0x00); + dev->reg.init_reg(0x67, 0x00); + dev->reg.init_reg(0x68, 0x00); + dev->reg.init_reg(0x69, 0x00); + dev->reg.init_reg(0x6a, 0x00); + dev->reg.init_reg(0x6b, 0x00); + dev->reg.init_reg(0x6c, 0x00); + dev->reg.init_reg(0x6e, 0x00); + dev->reg.init_reg(0x6f, 0x00); + + if (dev->model->sensor_id != SensorId::CIS_CANON_LIDE_120) { + dev->reg.init_reg(0x6d, 0xd0); + dev->reg.init_reg(0x71, 0x08); + } else { + dev->reg.init_reg(0x6d, 0x00); + dev->reg.init_reg(0x71, 0x1f); + } + dev->reg.init_reg(0x70, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x71, 0x08); // SENSOR_DEF + dev->reg.init_reg(0x72, 0x08); // SENSOR_DEF + dev->reg.init_reg(0x73, 0x0a); // SENSOR_DEF + + // CKxMAP + dev->reg.init_reg(0x74, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x75, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x76, 0x3c); // SENSOR_DEF + dev->reg.init_reg(0x77, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x78, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x79, 0x9f); // SENSOR_DEF + dev->reg.init_reg(0x7a, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x7b, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x7c, 0x55); // SENSOR_DEF + + dev->reg.init_reg(0x7d, 0x00); + dev->reg.init_reg(0x7e, 0x08); + dev->reg.init_reg(0x7f, 0x58); + + if (dev->model->sensor_id != SensorId::CIS_CANON_LIDE_120) { + dev->reg.init_reg(0x80, 0x00); + dev->reg.init_reg(0x81, 0x14); + } else { + dev->reg.init_reg(0x80, 0x00); + dev->reg.init_reg(0x81, 0x10); + } + + // STRPIXEL + dev->reg.init_reg(0x82, 0x00); + dev->reg.init_reg(0x83, 0x00); + dev->reg.init_reg(0x84, 0x00); + + // ENDPIXEL + dev->reg.init_reg(0x85, 0x00); + dev->reg.init_reg(0x86, 0x00); + dev->reg.init_reg(0x87, 0x00); + + dev->reg.init_reg(0x88, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x89, 0x65); // SENSOR_DEF + dev->reg.init_reg(0x8a, 0x00); + dev->reg.init_reg(0x8b, 0x00); + dev->reg.init_reg(0x8c, 0x00); + dev->reg.init_reg(0x8d, 0x00); + dev->reg.init_reg(0x8e, 0x00); + dev->reg.init_reg(0x8f, 0x00); + dev->reg.init_reg(0x90, 0x00); + dev->reg.init_reg(0x91, 0x00); + dev->reg.init_reg(0x92, 0x00); + dev->reg.init_reg(0x93, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x94, 0x14); // SENSOR_DEF + dev->reg.init_reg(0x95, 0x30); // SENSOR_DEF + dev->reg.init_reg(0x96, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x97, 0x90); // SENSOR_DEF + dev->reg.init_reg(0x98, 0x01); // SENSOR_DEF + dev->reg.init_reg(0x99, 0x1f); + dev->reg.init_reg(0x9a, 0x00); + dev->reg.init_reg(0x9b, 0x80); + dev->reg.init_reg(0x9c, 0x80); + dev->reg.init_reg(0x9d, 0x3f); + dev->reg.init_reg(0x9e, 0x00); + dev->reg.init_reg(0x9f, 0x00); + dev->reg.init_reg(0xa0, 0x20); + dev->reg.init_reg(0xa1, 0x30); + dev->reg.init_reg(0xa2, 0x00); + dev->reg.init_reg(0xa3, 0x20); + dev->reg.init_reg(0xa4, 0x01); + dev->reg.init_reg(0xa5, 0x00); + dev->reg.init_reg(0xa6, 0x00); + dev->reg.init_reg(0xa7, 0x08); + dev->reg.init_reg(0xa8, 0x00); + dev->reg.init_reg(0xa9, 0x08); + dev->reg.init_reg(0xaa, 0x01); + dev->reg.init_reg(0xab, 0x00); + dev->reg.init_reg(0xac, 0x00); + dev->reg.init_reg(0xad, 0x40); + dev->reg.init_reg(0xae, 0x01); + dev->reg.init_reg(0xaf, 0x00); + dev->reg.init_reg(0xb0, 0x00); + dev->reg.init_reg(0xb1, 0x40); + dev->reg.init_reg(0xb2, 0x00); + dev->reg.init_reg(0xb3, 0x09); + dev->reg.init_reg(0xb4, 0x5b); + dev->reg.init_reg(0xb5, 0x00); + dev->reg.init_reg(0xb6, 0x10); + dev->reg.init_reg(0xb7, 0x3f); + dev->reg.init_reg(0xb8, 0x00); + dev->reg.init_reg(0xbb, 0x00); + dev->reg.init_reg(0xbc, 0xff); + dev->reg.init_reg(0xbd, 0x00); + dev->reg.init_reg(0xbe, 0x07); + dev->reg.init_reg(0xc3, 0x00); + dev->reg.init_reg(0xc4, 0x00); + + /* gamma + dev->reg.init_reg(0xc5, 0x00); + dev->reg.init_reg(0xc6, 0x00); + dev->reg.init_reg(0xc7, 0x00); + dev->reg.init_reg(0xc8, 0x00); + dev->reg.init_reg(0xc9, 0x00); + dev->reg.init_reg(0xca, 0x00); + dev->reg.init_reg(0xcb, 0x00); + dev->reg.init_reg(0xcc, 0x00); + dev->reg.init_reg(0xcd, 0x00); + dev->reg.init_reg(0xce, 0x00); + */ + + if (dev->model->sensor_id == SensorId::CIS_CANON_LIDE_120) { + dev->reg.init_reg(0xc5, 0x20); + dev->reg.init_reg(0xc6, 0xeb); + dev->reg.init_reg(0xc7, 0x20); + dev->reg.init_reg(0xc8, 0xeb); + dev->reg.init_reg(0xc9, 0x20); + dev->reg.init_reg(0xca, 0xeb); + } + + // memory layout + /* + dev->reg.init_reg(0xd0, 0x0a); + dev->reg.init_reg(0xd1, 0x1f); + dev->reg.init_reg(0xd2, 0x34); + */ + dev->reg.init_reg(0xd3, 0x00); + dev->reg.init_reg(0xd4, 0x00); + dev->reg.init_reg(0xd5, 0x00); + dev->reg.init_reg(0xd6, 0x00); + dev->reg.init_reg(0xd7, 0x00); + dev->reg.init_reg(0xd8, 0x00); + dev->reg.init_reg(0xd9, 0x00); + + // memory layout + /* + dev->reg.init_reg(0xe0, 0x00); + dev->reg.init_reg(0xe1, 0x48); + dev->reg.init_reg(0xe2, 0x15); + dev->reg.init_reg(0xe3, 0x90); + dev->reg.init_reg(0xe4, 0x15); + dev->reg.init_reg(0xe5, 0x91); + dev->reg.init_reg(0xe6, 0x2a); + dev->reg.init_reg(0xe7, 0xd9); + dev->reg.init_reg(0xe8, 0x2a); + dev->reg.init_reg(0xe9, 0xad); + dev->reg.init_reg(0xea, 0x40); + dev->reg.init_reg(0xeb, 0x22); + dev->reg.init_reg(0xec, 0x40); + dev->reg.init_reg(0xed, 0x23); + dev->reg.init_reg(0xee, 0x55); + dev->reg.init_reg(0xef, 0x6b); + dev->reg.init_reg(0xf0, 0x55); + dev->reg.init_reg(0xf1, 0x6c); + dev->reg.init_reg(0xf2, 0x6a); + dev->reg.init_reg(0xf3, 0xb4); + dev->reg.init_reg(0xf4, 0x6a); + dev->reg.init_reg(0xf5, 0xb5); + dev->reg.init_reg(0xf6, 0x7f); + dev->reg.init_reg(0xf7, 0xfd); + */ + + dev->reg.init_reg(0xf8, 0x01); // other value is 0x05 + dev->reg.init_reg(0xf9, 0x00); + dev->reg.init_reg(0xfa, 0x00); + dev->reg.init_reg(0xfb, 0x00); + dev->reg.init_reg(0xfc, 0x00); + dev->reg.init_reg(0xff, 0x00); + + // fine tune upon device description + const auto& sensor = sanei_genesys_find_sensor_any(dev); + sanei_genesys_set_dpihw(dev->reg, sensor, sensor.optical_res); + + dev->calib_reg = dev->reg; +} + +/**@brief send slope table for motor movement + * Send slope_table in machine byte order + * @param dev device to send slope table + * @param table_nr index of the slope table in ASIC memory + * Must be in the [0-4] range. + * @param slope_table pointer to 16 bit values array of the slope table + * @param steps number of elemnts in the slope table + */ +static void gl124_send_slope_table(Genesys_Device* dev, int table_nr, + const std::vector& slope_table, + int steps) +{ + DBG_HELPER_ARGS(dbg, "table_nr = %d, steps = %d", table_nr, steps); + int i; + char msg[10000]; + + /* sanity check */ + if(table_nr<0 || table_nr>4) + { + throw SaneException("invalid table number"); + } + + std::vector table(steps * 2); + for (i = 0; i < steps; i++) + { + table[i * 2] = slope_table[i] & 0xff; + table[i * 2 + 1] = slope_table[i] >> 8; + } + + if (DBG_LEVEL >= DBG_io) + { + std::sprintf(msg, "write slope %d (%d)=", table_nr, steps); + for (i = 0; i < steps; i++) { + std::sprintf(msg + std::strlen(msg), ",%d", slope_table[i]); + } + DBG (DBG_io, "%s: %s\n", __func__, msg); + } + + if (dev->interface->is_mock()) { + dev->interface->record_slope_table(table_nr, slope_table); + } + // slope table addresses are fixed + dev->interface->write_ahb(0x10000000 + 0x4000 * table_nr, steps * 2, table.data()); +} + +/** @brief * Set register values of 'special' ti type frontend + * Registers value are taken from the frontend register data + * set. + * @param dev device owning the AFE + * @param set flag AFE_INIT to specify the AFE must be reset before writing data + * */ +static void gl124_set_ti_fe(Genesys_Device* dev, uint8_t set) +{ + DBG_HELPER(dbg); + int i; + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s: setting DAC %u\n", __func__, + static_cast(dev->model->adc_id)); + + dev->frontend = dev->frontend_initial; + } + + // start writing to DAC + dev->interface->write_fe_register(0x00, 0x80); + + /* write values to analog frontend */ + for (uint16_t addr = 0x01; addr < 0x04; addr++) + { + dev->interface->write_fe_register(addr, dev->frontend.regs.get_value(addr)); + } + + dev->interface->write_fe_register(0x04, 0x00); + + /* these are not really sign for this AFE */ + for (i = 0; i < 3; i++) + { + dev->interface->write_fe_register(0x05 + i, dev->frontend.regs.get_value(0x24 + i)); + } + + if (dev->model->adc_id == AdcId::CANON_LIDE_120) { + dev->interface->write_fe_register(0x00, 0x01); + } + else + { + dev->interface->write_fe_register(0x00, 0x11); + } +} + + +// Set values of analog frontend +void CommandSetGl124::set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set) const +{ + DBG_HELPER_ARGS(dbg, "%s", set == AFE_INIT ? "init" : + set == AFE_SET ? "set" : + set == AFE_POWER_SAVE ? "powersave" : "huh?"); + (void) sensor; + uint8_t val; + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, + static_cast(dev->model->adc_id)); + dev->frontend = dev->frontend_initial; + } + + val = dev->interface->read_register(REG_0x0A); + + /* route to correct analog FE */ + switch ((val & REG_0x0A_SIFSEL) >> REG_0x0AS_SIFSEL) { + case 3: + gl124_set_ti_fe(dev, set); + break; + case 0: + case 1: + case 2: + default: + throw SaneException("unsupported analog FE 0x%02x", val); + } +} + +static void gl124_init_motor_regs_scan(Genesys_Device* dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const Motor_Profile& motor_profile, + unsigned int scan_exposure_time, + unsigned scan_yres, + unsigned int scan_lines, + unsigned int scan_dummy, + unsigned int feed_steps, + ScanColorMode scan_mode, + MotorFlag flags) +{ + DBG_HELPER(dbg); + int use_fast_fed; + unsigned int lincnt, fast_dpi; + unsigned int feedl,dist; + uint32_t z1, z2; + unsigned yres; + unsigned min_speed; + unsigned int linesel; + + DBG(DBG_info, "%s : scan_exposure_time=%d, scan_yres=%d, step_type=%d, scan_lines=%d, " + "scan_dummy=%d, feed_steps=%d, scan_mode=%d, flags=%x\n", __func__, scan_exposure_time, + scan_yres, static_cast(motor_profile.step_type), scan_lines, scan_dummy, + feed_steps, static_cast(scan_mode), + static_cast(flags)); + + /* we never use fast fed since we do manual feed for the scans */ + use_fast_fed=0; + + /* enforce motor minimal scan speed + * @TODO extend motor struct for this value */ + if (scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + min_speed = 900; + } + else + { + switch(dev->model->motor_id) + { + case MotorId::CANON_LIDE_110: + min_speed = 600; + break; + case MotorId::CANON_LIDE_120: + min_speed = 900; + break; + default: + min_speed = 900; + break; + } + } + + /* compute min_speed and linesel */ + if(scan_yres 0 */ + if(linesel==0) + { + linesel=1; + yres=scan_yres*2; + } + } + else + { + yres=scan_yres; + linesel=0; + } + + DBG(DBG_io2, "%s: final yres=%d, linesel=%d\n", __func__, yres, linesel); + + lincnt=scan_lines*(linesel+1); + reg->set24(REG_LINCNT, lincnt); + DBG (DBG_io, "%s: lincnt=%d\n", __func__, lincnt); + + /* compute register 02 value */ + uint8_t r02 = REG_0x02_NOTHOME; + + if (use_fast_fed) { + r02 |= REG_0x02_FASTFED; + } else { + r02 &= ~REG_0x02_FASTFED; + } + + if (has_flag(flags, MotorFlag::AUTO_GO_HOME)) { + r02 |= REG_0x02_AGOHOME; + } + + if (has_flag(flags, MotorFlag::DISABLE_BUFFER_FULL_MOVE) || (yres >= sensor.optical_res)) + { + r02 |= REG_0x02_ACDCDIS; + } + if (has_flag(flags, MotorFlag::REVERSE)) { + r02 |= REG_0x02_MTRREV; + } + + reg->set8(REG_0x02, r02); + sanei_genesys_set_motor_power(*reg, true); + + reg->set16(REG_SCANFED, 4); + + /* scan and backtracking slope table */ + auto scan_table = sanei_genesys_slope_table(dev->model->asic_type, yres, scan_exposure_time, + dev->motor.base_ydpi, 1, + motor_profile); + gl124_send_slope_table(dev, SCAN_TABLE, scan_table.table, scan_table.steps_count); + gl124_send_slope_table(dev, BACKTRACK_TABLE, scan_table.table, scan_table.steps_count); + + reg->set16(REG_STEPNO, scan_table.steps_count); + + /* fast table */ + fast_dpi=yres; + + /* + if (scan_mode != ScanColorMode::COLOR_SINGLE_PASS) + { + fast_dpi*=3; + } + */ + auto fast_table = sanei_genesys_slope_table(dev->model->asic_type, fast_dpi, + scan_exposure_time, dev->motor.base_ydpi, + 1, motor_profile); + gl124_send_slope_table(dev, STOP_TABLE, fast_table.table, fast_table.steps_count); + gl124_send_slope_table(dev, FAST_TABLE, fast_table.table, fast_table.steps_count); + + reg->set16(REG_FASTNO, fast_table.steps_count); + reg->set16(REG_FSHDEC, fast_table.steps_count); + reg->set16(REG_FMOVNO, fast_table.steps_count); + + /* substract acceleration distance from feedl */ + feedl=feed_steps; + feedl <<= static_cast(motor_profile.step_type); + + dist = scan_table.steps_count; + if (has_flag(flags, MotorFlag::FEED)) { + dist *= 2; + } + if (use_fast_fed) { + dist += fast_table.steps_count * 2; + } + DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); + + /* get sure we don't use insane value */ + if (dist < feedl) { + feedl -= dist; + } else { + feedl = 0; + } + + reg->set24(REG_FEEDL, feedl); + DBG (DBG_io, "%s: feedl=%d\n", __func__, feedl); + + /* doesn't seem to matter that much */ + sanei_genesys_calculate_zmod(use_fast_fed, + scan_exposure_time, + scan_table.table, + scan_table.steps_count, + feedl, + scan_table.steps_count, + &z1, + &z2); + + reg->set24(REG_Z1MOD, z1); + DBG(DBG_info, "%s: z1 = %d\n", __func__, z1); + + reg->set24(REG_Z2MOD, z2); + DBG(DBG_info, "%s: z2 = %d\n", __func__, z2); + + /* LINESEL */ + reg->set8_mask(REG_0x1D, linesel, REG_0x1D_LINESEL); + reg->set8(REG_0xA0, (static_cast(motor_profile.step_type) << REG_0xA0S_STEPSEL) | + (static_cast(motor_profile.step_type) << REG_0xA0S_FSTPSEL)); + + reg->set16(REG_FMOVDEC, fast_table.steps_count); +} + + +/** @brief copy sensor specific settings + * Set up register set for the given sensor resolution. Values are from the device table + * in genesys_devices.c for registers: + * [0x16 ... 0x1d] + * [0x52 ... 0x5e] + * Other come from the specific device sensor table in genesys_gl124.h: + * 0x18, 0x20, 0x61, 0x98 and + * @param dev device to set up + * @param regs register set to modify + * @param dpi resolution of the sensor during scan + * @param ccd_size_divisor flag for half ccd mode + * */ +static void gl124_setup_sensor(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs) +{ + DBG_HELPER(dbg); + + for (const auto& reg : sensor.custom_regs) { + regs->set8(reg.address, reg.value); + } + + regs->set24(REG_EXPR, sensor.exposure.red); + regs->set24(REG_EXPG, sensor.exposure.green); + regs->set24(REG_EXPB, sensor.exposure.blue); + + dev->segment_order = sensor.segment_order; +} + +/** @brief setup optical related registers + * start and pixels are expressed in optical sensor resolution coordinate + * space. + * @param dev scanner device to use + * @param reg registers to set up + * @param exposure_time exposure time to use + * @param used_res scanning resolution used, may differ from + * scan's one + * @param start logical start pixel coordinate + * @param pixels logical number of pixels to use + * @param channels number of color channels (currently 1 or 3) + * @param depth bit depth of the scan (1, 8 or 16) + * @param ccd_size_divisor whether sensor's timings are such that x coordinates must be halved + * @param color_filter color channel to use as gray data + * @param flags optical flags (@see ) + */ +static void gl124_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, unsigned int exposure_time, + const ScanSession& session) +{ + DBG_HELPER_ARGS(dbg, "exposure_time=%d", exposure_time); + unsigned int dpihw; + GenesysRegister *r; + uint32_t expmax; + + // resolution is divided according to ccd_pixels_per_system_pixel + unsigned ccd_pixels_per_system_pixel = sensor.ccd_pixels_per_system_pixel(); + DBG(DBG_io2, "%s: ccd_pixels_per_system_pixel=%d\n", __func__, ccd_pixels_per_system_pixel); + + // to manage high resolution device while keeping good low resolution scanning speed, we + // make hardware dpi vary + dpihw = sensor.get_register_hwdpi(session.output_resolution * ccd_pixels_per_system_pixel); + DBG(DBG_io2, "%s: dpihw=%d\n", __func__, dpihw); + + gl124_setup_sensor(dev, sensor, reg); + + dev->cmd_set->set_fe(dev, sensor, AFE_SET); + + /* enable shading */ + regs_set_optical_off(dev->model->asic_type, *reg); + r = sanei_genesys_get_address (reg, REG_0x01); + if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) || + (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) + { + r->value &= ~REG_0x01_DVDSET; + } else { + r->value |= REG_0x01_DVDSET; + } + + r = sanei_genesys_get_address(reg, REG_0x03); + if ((dev->model->sensor_id != SensorId::CIS_CANON_LIDE_120) && (session.params.xres>=600)) { + r->value &= ~REG_0x03_AVEENB; + DBG (DBG_io, "%s: disabling AVEENB\n", __func__); + } + else + { + r->value |= ~REG_0x03_AVEENB; + DBG (DBG_io, "%s: enabling AVEENB\n", __func__); + } + + sanei_genesys_set_lamp_power(dev, sensor, *reg, + !has_flag(session.params.flags, ScanFlag::DISABLE_LAMP)); + + // BW threshold + dev->interface->write_register(REG_0x114, dev->settings.threshold); + dev->interface->write_register(REG_0x115, dev->settings.threshold); + + /* monochrome / color scan */ + r = sanei_genesys_get_address (reg, REG_0x04); + switch (session.params.depth) { + case 8: + r->value &= ~(REG_0x04_LINEART | REG_0x04_BITSET); + break; + case 16: + r->value &= ~REG_0x04_LINEART; + r->value |= REG_0x04_BITSET; + break; + } + + r->value &= ~REG_0x04_FILTER; + if (session.params.channels == 1) + { + switch (session.params.color_filter) + { + case ColorFilter::RED: + r->value |= 0x10; + break; + case ColorFilter::BLUE: + r->value |= 0x30; + break; + case ColorFilter::GREEN: + r->value |= 0x20; + break; + default: + break; // should not happen + } + } + + sanei_genesys_set_dpihw(*reg, sensor, dpihw); + + if (should_enable_gamma(session, sensor)) { + reg->find_reg(REG_0x05).value |= REG_0x05_GMMENB; + } else { + reg->find_reg(REG_0x05).value &= ~REG_0x05_GMMENB; + } + + unsigned dpiset_reg = session.output_resolution * ccd_pixels_per_system_pixel * + session.ccd_size_divisor; + if (sensor.dpiset_override != 0) { + dpiset_reg = sensor.dpiset_override; + } + + reg->set16(REG_DPISET, dpiset_reg); + DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset_reg); + + r = sanei_genesys_get_address(reg, REG_0x06); + r->value |= REG_0x06_GAIN4; + + /* CIS scanners can do true gray by setting LEDADD */ + /* we set up LEDADD only when asked */ + if (dev->model->is_cis) { + r = sanei_genesys_get_address (reg, REG_0x60); + r->value &= ~REG_0x60_LEDADD; + if (session.enable_ledadd) { + r->value |= REG_0x60_LEDADD; + expmax = reg->get24(REG_EXPR); + expmax = std::max(expmax, reg->get24(REG_EXPG)); + expmax = std::max(expmax, reg->get24(REG_EXPB)); + + dev->reg.set24(REG_EXPR, expmax); + dev->reg.set24(REG_EXPG, expmax); + dev->reg.set24(REG_EXPB, expmax); + } + /* RGB weighting, REG_TRUER,G and B are to be set */ + r = sanei_genesys_get_address (reg, 0x01); + r->value &= ~REG_0x01_TRUEGRAY; + if (session.enable_ledadd) { + r->value |= REG_0x01_TRUEGRAY; + dev->interface->write_register(REG_TRUER, 0x80); + dev->interface->write_register(REG_TRUEG, 0x80); + dev->interface->write_register(REG_TRUEB, 0x80); + } + } + + reg->set24(REG_STRPIXEL, session.pixel_startx); + reg->set24(REG_ENDPIXEL, session.pixel_endx); + + dev->line_count = 0; + + build_image_pipeline(dev, session); + + // MAXWD is expressed in 2 words unit + + // BUG: we shouldn't multiply by channels here + reg->set24(REG_MAXWD, session.output_line_bytes_raw / session.ccd_size_divisor * session.params.channels); + + reg->set24(REG_LPERIOD, exposure_time); + DBG (DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); + + reg->set16(REG_DUMMY, sensor.dummy_pixel); +} + +void CommandSetGl124::init_regs_for_scan_session(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const ScanSession& session) const +{ + DBG_HELPER(dbg); + session.assert_computed(); + + int move; + int exposure_time; + + int dummy = 0; + int slope_dpi = 0; + + /* cis color scan is effectively a gray scan with 3 gray lines per color line and a FILTER of 0 */ + if (dev->model->is_cis) { + slope_dpi = session.params.yres * session.params.channels; + } else { + slope_dpi = session.params.yres; + } + + if (has_flag(session.params.flags, ScanFlag::FEEDING)) { + exposure_time = 2304; + } else { + exposure_time = sensor.exposure_lperiod; + } + const auto& motor_profile = sanei_genesys_get_motor_profile(*gl124_motor_profiles, + dev->model->motor_id, + exposure_time); + + DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); + DBG(DBG_info, "%s : scan_step_type=%d\n", __func__, static_cast(motor_profile.step_type)); + + /* we enable true gray for cis scanners only, and just when doing + * scan since color calibration is OK for this mode + */ + + // now _LOGICAL_ optical values used are known, setup registers + gl124_init_optical_regs_scan(dev, sensor, reg, exposure_time, session); + + /* add tl_y to base movement */ + move = session.params.starty; + DBG(DBG_info, "%s: move=%d steps\n", __func__, move); + + MotorFlag mflags = MotorFlag::NONE; + if (has_flag(session.params.flags, ScanFlag::DISABLE_BUFFER_FULL_MOVE)) { + mflags |= MotorFlag::DISABLE_BUFFER_FULL_MOVE; + } + if (has_flag(session.params.flags, ScanFlag::FEEDING)) { + mflags |= MotorFlag::FEED; + } + if (has_flag(session.params.flags, ScanFlag::REVERSE)) { + mflags |= MotorFlag::REVERSE; + } + gl124_init_motor_regs_scan(dev, sensor, reg, motor_profile, exposure_time, slope_dpi, + dev->model->is_cis ? session.output_line_count * session.params.channels : + session.output_line_count, + dummy, move, session.params.scan_mode, mflags); + + /*** prepares data reordering ***/ + + dev->read_buffer.clear(); + dev->read_buffer.alloc(session.buffer_size_read); + + dev->read_active = true; + + dev->session = session; + + dev->total_bytes_read = 0; + dev->total_bytes_to_read = session.output_line_bytes_requested * session.params.lines; + + DBG(DBG_info, "%s: total bytes to send to frontend = %zu\n", __func__, + dev->total_bytes_to_read); +} + +ScanSession CommandSetGl124::calculate_scan_session(const Genesys_Device* dev, + const Genesys_Sensor& sensor, + const Genesys_Settings& settings) const +{ + int start; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, settings); + + /* start */ + start = static_cast(dev->model->x_offset); + start += static_cast(settings.tl_x); + start = static_cast((start * sensor.optical_res) / MM_PER_INCH); + + ScanSession session; + session.params.xres = settings.xres; + session.params.yres = settings.yres; + session.params.startx = start; + session.params.starty = 0; // not used + session.params.pixels = settings.pixels; + session.params.requested_pixels = settings.requested_pixels; + session.params.lines = settings.lines; + session.params.depth = settings.depth; + session.params.channels = settings.get_channels(); + session.params.scan_method = settings.scan_method; + session.params.scan_mode = settings.scan_mode; + session.params.color_filter = settings.color_filter; + session.params.flags = ScanFlag::NONE; + + compute_session(dev, session, sensor); + + return session; +} + +/** + * for fast power saving methods only, like disabling certain amplifiers + * @param dev device to use + * @param enable true to set inot powersaving + * */ +void CommandSetGl124::save_power(Genesys_Device* dev, bool enable) const +{ + (void) dev; + DBG_HELPER_ARGS(dbg, "enable = %d", enable); +} + +void CommandSetGl124::set_powersaving(Genesys_Device* dev, int delay /* in minutes */) const +{ + DBG_HELPER_ARGS(dbg, "delay = %d", delay); + GenesysRegister *r; + + r = sanei_genesys_get_address(&dev->reg, REG_0x03); + r->value &= ~0xf0; + if(delay<15) + { + r->value |= delay; + } + else + { + r->value |= 0x0f; + } +} + +/** @brief setup GPIOs for scan + * Setup GPIO values to drive motor (or light) needed for the + * target resolution + * @param *dev device to set up + * @param resolution dpi of the target scan + */ +void gl124_setup_scan_gpio(Genesys_Device* dev, int resolution) +{ + DBG_HELPER(dbg); + + uint8_t val = dev->interface->read_register(REG_0x32); + + /* LiDE 110, 210 and 220 cases */ + if(dev->model->gpio_id != GpioId::CANON_LIDE_120) { + if(resolution>=dev->motor.base_ydpi/2) + { + val &= 0xf7; + } + else if(resolution>=dev->motor.base_ydpi/4) + { + val &= 0xef; + } + else + { + val |= 0x10; + } + } + /* 120 : <=300 => 0x53 */ + else + { /* base_ydpi is 4800 */ + if(resolution<=300) + { + val &= 0xf7; + } + else if(resolution<=600) + { + val |= 0x08; + } + else if(resolution<=1200) + { + val &= 0xef; + val |= 0x08; + } + else + { + val &= 0xf7; + } + } + val |= 0x02; + dev->interface->write_register(REG_0x32, val); +} + +// Send the low-level scan command +// todo: is this that useful ? +void CommandSetGl124::begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, bool start_motor) const +{ + DBG_HELPER(dbg); + (void) sensor; + (void) reg; + + // set up GPIO for scan + gl124_setup_scan_gpio(dev,dev->settings.yres); + + // clear scan and feed count + dev->interface->write_register(REG_0x0D, REG_0x0D_CLRLNCNT | REG_0x0D_CLRMCNT); + + // enable scan and motor + uint8_t val = dev->interface->read_register(REG_0x01); + val |= REG_0x01_SCAN; + dev->interface->write_register(REG_0x01, val); + + scanner_start_action(*dev, start_motor); + + dev->advance_head_pos_by_session(ScanHeadId::PRIMARY); +} + + +// Send the stop scan command +void CommandSetGl124::end_scan(Genesys_Device* dev, Genesys_Register_Set* reg, + bool check_stop) const +{ + (void) reg; + DBG_HELPER_ARGS(dbg, "check_stop = %d", check_stop); + + if (!dev->model->is_sheetfed) { + scanner_stop_action(*dev); + } +} + + +/** Park head + * Moves the slider to the home (top) position slowly + * @param dev device to park + * @param wait_until_home true to make the function waiting for head + * to be home before returning, if fals returne immediately + */ +void CommandSetGl124::move_back_home(Genesys_Device* dev, bool wait_until_home) const +{ + scanner_move_back_home(*dev, wait_until_home); +} + +// Automatically set top-left edge of the scan area by scanning a 200x200 pixels area at 600 dpi +// from very top of scanner +void CommandSetGl124::search_start_position(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + int size; + Genesys_Register_Set local_reg = dev->reg; + + int pixels = 600; + int dpi = 300; + + /* sets for a 200 lines * 600 pixels */ + /* normal scan with no shading */ + + // FIXME: the current approach of doing search only for one resolution does not work on scanners + // whith employ different sensors with potentially different settings. + const auto& sensor = sanei_genesys_find_sensor(dev, dpi, 1, ScanMethod::FLATBED); + + ScanSession session; + session.params.xres = dpi; + session.params.yres = dpi; + session.params.startx = 0; + session.params.starty = 0; /*we should give a small offset here~60 steps */ + session.params.pixels = 600; + session.params.lines = dev->model->search_lines; + session.params.depth = 8; + session.params.channels = 1; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::GRAY; + session.params.color_filter = ColorFilter::GREEN; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::IGNORE_LINE_DISTANCE | + ScanFlag::DISABLE_BUFFER_FULL_MOVE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, &local_reg, session); + + // send to scanner + dev->interface->write_registers(local_reg); + + size = pixels * dev->model->search_lines; + + std::vector data(size); + + begin_scan(dev, sensor, &local_reg, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("search_start_position"); + end_scan(dev, &local_reg, true); + dev->reg = local_reg; + return; + } + + wait_until_buffer_non_empty(dev); + + // now we're on target, we can read data + sanei_genesys_read_data_from_scanner(dev, data.data(), size); + + if (DBG_LEVEL >= DBG_data) { + sanei_genesys_write_pnm_file("gl124_search_position.pnm", data.data(), 8, 1, pixels, + dev->model->search_lines); + } + + end_scan(dev, &local_reg, true); + + /* update regs to copy ASIC internal state */ + dev->reg = local_reg; + + for (auto& sensor_update : + sanei_genesys_find_sensors_all_for_write(dev, dev->model->default_method)) + { + sanei_genesys_search_reference_point(dev, sensor_update, data.data(), 0, dpi, pixels, + dev->model->search_lines); + } +} + +// sets up register for coarse gain calibration +// todo: check it for scanners using it +void CommandSetGl124::init_regs_for_coarse_calibration(Genesys_Device* dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + + ScanSession session; + session.params.xres = dev->settings.xres; + session.params.yres = dev->settings.yres; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = sensor.optical_res / sensor.ccd_pixels_per_system_pixel(); + session.params.lines = 20; + session.params.depth = 16; + session.params.channels = dev->settings.get_channels(); + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::FEEDING | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, ®s, session); + + sanei_genesys_set_motor_power(regs, false); + + DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, + sensor.optical_res / sensor.ccd_pixels_per_system_pixel(), dev->settings.xres); + + dev->interface->write_registers(regs); +} + + +// init registers for shading calibration shading calibration is done at dpihw +void CommandSetGl124::init_regs_for_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + int move, resolution, dpihw, factor; + + /* initial calibration reg values */ + regs = dev->reg; + + dev->calib_channels = 3; + dev->calib_lines = dev->model->shading_lines; + dpihw = sensor.get_register_hwdpi(dev->settings.xres); + if(dpihw>=2400) + { + dev->calib_lines *= 2; + } + resolution=dpihw; + + unsigned ccd_size_divisor = sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres); + + resolution /= ccd_size_divisor; + dev->calib_lines /= ccd_size_divisor; // reducing just because we reduced the resolution + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, + dev->calib_channels, + dev->settings.scan_method); + dev->calib_resolution = resolution; + dev->calib_total_bytes_to_read = 0; + factor = calib_sensor.optical_res / resolution; + dev->calib_pixels = calib_sensor.sensor_pixels / factor; + + /* distance to move to reach white target at high resolution */ + move=0; + if (dev->settings.yres >= 1200) { + move = static_cast(dev->model->y_offset_calib_white); + move = static_cast((move * (dev->motor.base_ydpi/4)) / MM_PER_INCH); + } + DBG (DBG_io, "%s: move=%d steps\n", __func__, move); + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = 0; + session.params.starty = move; + session.params.pixels = dev->calib_pixels; + session.params.lines = dev->calib_lines; + session.params.depth = 16; + session.params.channels = dev->calib_channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = ColorFilter::RED; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::DISABLE_BUFFER_FULL_MOVE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, calib_sensor); + + try { + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + } catch (...) { + catch_all_exceptions(__func__, [&](){ sanei_genesys_set_motor_power(regs, false); }); + throw; + } + sanei_genesys_set_motor_power(regs, false); + + dev->interface->write_registers(regs); +} + +void CommandSetGl124::wait_for_motor_stop(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + + auto status = scanner_read_status(*dev); + uint8_t val40 = dev->interface->read_register(REG_0x100); + + if (!status.is_motor_enabled && (val40 & REG_0x100_MOTMFLG) == 0) { + return; + } + + do { + dev->interface->sleep_ms(10); + status = scanner_read_status(*dev); + val40 = dev->interface->read_register(REG_0x100); + } while (status.is_motor_enabled ||(val40 & REG_0x100_MOTMFLG)); + dev->interface->sleep_ms(50); +} + +/** @brief set up registers for the actual scan + */ +void CommandSetGl124::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sensor& sensor) const +{ + DBG_HELPER(dbg); + float move; + int move_dpi; + float start; + + debug_dump(DBG_info, dev->settings); + + /* y (motor) distance to move to reach scanned area */ + move_dpi = dev->motor.base_ydpi/4; + move = static_cast(dev->model->y_offset); + move += static_cast(dev->settings.tl_y); + move = static_cast((move * move_dpi) / MM_PER_INCH); + DBG (DBG_info, "%s: move=%f steps\n", __func__, move); + + if (dev->settings.get_channels() * dev->settings.yres >= 600 && move > 700) { + scanner_move(*dev, dev->model->default_method, static_cast(move - 500), + Direction::FORWARD); + move=500; + } + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + /* start */ + start = static_cast(dev->model->x_offset); + start += static_cast(dev->settings.tl_x); + start /= sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres); + start = static_cast((start * sensor.optical_res) / MM_PER_INCH); + + ScanSession session; + session.params.xres = dev->settings.xres; + session.params.yres = dev->settings.yres; + session.params.startx = static_cast(start); + session.params.starty = static_cast(move); + session.params.pixels = dev->settings.pixels; + session.params.requested_pixels = dev->settings.requested_pixels; + session.params.lines = dev->settings.lines; + session.params.depth = dev->settings.depth; + session.params.channels = dev->settings.get_channels(); + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::NONE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, &dev->reg, session); +} + +/** + * Send shading calibration data. The buffer is considered to always hold values + * for all the channels. + */ +void CommandSetGl124::send_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, + std::uint8_t* data, int size) const +{ + DBG_HELPER_ARGS(dbg, "writing %d bytes of shading data", size); + uint32_t addr, length, x, factor, segcnt, pixels, i; + uint16_t dpiset,dpihw; + uint8_t *ptr, *src; + + /* logical size of a color as seen by generic code of the frontend */ + length = size / 3; + std::uint32_t strpixel = dev->session.pixel_startx; + std::uint32_t endpixel = dev->session.pixel_endx; + segcnt = dev->reg.get24(REG_SEGCNT); + if(endpixel==0) + { + endpixel=segcnt; + } + + /* compute deletion factor */ + dpiset = dev->reg.get16(REG_DPISET); + dpihw = sensor.get_register_hwdpi(dpiset); + factor=dpihw/dpiset; + DBG( DBG_io2, "%s: factor=%d\n",__func__,factor); + + /* turn pixel value into bytes 2x16 bits words */ + strpixel*=2*2; /* 2 words of 2 bytes */ + endpixel*=2*2; + segcnt*=2*2; + pixels=endpixel-strpixel; + + dev->interface->record_key_value("shading_start_pixel", std::to_string(strpixel)); + dev->interface->record_key_value("shading_pixels", std::to_string(pixels)); + dev->interface->record_key_value("shading_length", std::to_string(length)); + dev->interface->record_key_value("shading_factor", std::to_string(factor)); + dev->interface->record_key_value("shading_segcnt", std::to_string(segcnt)); + dev->interface->record_key_value("shading_segment_count", + std::to_string(dev->session.segment_count)); + + DBG( DBG_io2, "%s: using chunks of %d bytes (%d shading data pixels)\n",__func__,length, length/4); + std::vector buffer(pixels * dev->session.segment_count, 0); + + /* write actual red data */ + for(i=0;i<3;i++) + { + /* copy data to work buffer and process it */ + /* coefficent destination */ + ptr = buffer.data(); + + /* iterate on both sensor segment */ + for(x=0;xsession.segment_count) { + case 1: + ptr[0+pixels*0]=src[0+segcnt*0]; + ptr[1+pixels*0]=src[1+segcnt*0]; + ptr[2+pixels*0]=src[2+segcnt*0]; + ptr[3+pixels*0]=src[3+segcnt*0]; + break; + case 2: + ptr[0+pixels*0]=src[0+segcnt*0]; + ptr[1+pixels*0]=src[1+segcnt*0]; + ptr[2+pixels*0]=src[2+segcnt*0]; + ptr[3+pixels*0]=src[3+segcnt*0]; + ptr[0+pixels*1]=src[0+segcnt*1]; + ptr[1+pixels*1]=src[1+segcnt*1]; + ptr[2+pixels*1]=src[2+segcnt*1]; + ptr[3+pixels*1]=src[3+segcnt*1]; + break; + case 4: + ptr[0+pixels*0]=src[0+segcnt*0]; + ptr[1+pixels*0]=src[1+segcnt*0]; + ptr[2+pixels*0]=src[2+segcnt*0]; + ptr[3+pixels*0]=src[3+segcnt*0]; + ptr[0+pixels*1]=src[0+segcnt*2]; + ptr[1+pixels*1]=src[1+segcnt*2]; + ptr[2+pixels*1]=src[2+segcnt*2]; + ptr[3+pixels*1]=src[3+segcnt*2]; + ptr[0+pixels*2]=src[0+segcnt*1]; + ptr[1+pixels*2]=src[1+segcnt*1]; + ptr[2+pixels*2]=src[2+segcnt*1]; + ptr[3+pixels*2]=src[3+segcnt*1]; + ptr[0+pixels*3]=src[0+segcnt*3]; + ptr[1+pixels*3]=src[1+segcnt*3]; + ptr[2+pixels*3]=src[2+segcnt*3]; + ptr[3+pixels*3]=src[3+segcnt*3]; + break; + } + + /* next shading coefficient */ + ptr+=4; + } + uint8_t val = dev->interface->read_register(0xd0+i); + addr = val * 8192 + 0x10000000; + dev->interface->write_ahb(addr, pixels * dev->session.segment_count, buffer.data()); + } +} + + +/** @brief move to calibration area + * This functions moves scanning head to calibration area + * by doing a 600 dpi scan + * @param dev scanner device + */ +static void move_to_calibration_area(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + (void) sensor; + + DBG_HELPER(dbg); + int pixels; + int size; + + unsigned resolution = 600; + unsigned channels = 3; + const auto& move_sensor = sanei_genesys_find_sensor(dev, resolution, channels, + dev->settings.scan_method); + pixels = (move_sensor.sensor_pixels * 600) / move_sensor.optical_res; + + /* initial calibration reg values */ + regs = dev->reg; + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = pixels; + session.params.lines = 1; + session.params.depth = 8; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, move_sensor); + + dev->cmd_set->init_regs_for_scan_session(dev, move_sensor, ®s, session); + + size = pixels * 3; + std::vector line(size); + + // write registers and scan data + dev->interface->write_registers(regs); + + DBG (DBG_info, "%s: starting line reading\n", __func__); + dev->cmd_set->begin_scan(dev, move_sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("move_to_calibration_area"); + scanner_stop_action(*dev); + return; + } + + sanei_genesys_read_data_from_scanner(dev, line.data(), size); + + // stop scanning + scanner_stop_action(*dev); + + if (DBG_LEVEL >= DBG_data) + { + sanei_genesys_write_pnm_file("gl124_movetocalarea.pnm", line.data(), 8, 3, pixels, 1); + } +} + +/* this function does the led calibration by scanning one line of the calibration + area below scanner's top on white strip. + +-needs working coarse/gain +*/ +SensorExposure CommandSetGl124::led_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + int num_pixels; + int total_size; + int resolution; + int dpihw; + int i, j; + int val; + int channels; + int avg[3]; + int turn; + uint16_t exp[3],target; + + /* move to calibration area */ + move_to_calibration_area(dev, sensor, regs); + + /* offset calibration is always done in 16 bit depth color mode */ + channels = 3; + dpihw = sensor.get_register_hwdpi(dev->settings.xres); + resolution = dpihw; + unsigned ccd_size_divisor = sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres); + resolution /= ccd_size_divisor; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, channels, + dev->settings.scan_method); + num_pixels = (calib_sensor.sensor_pixels * resolution) / calib_sensor.optical_res; + + /* initial calibration reg values */ + regs = dev->reg; + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = num_pixels; + session.params.lines = 1; + session.params.depth = 16; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, calib_sensor); + + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + + total_size = num_pixels * channels * (session.params.depth / 8) * 1; + std::vector line(total_size); + + // initial loop values and boundaries + exp[0] = calib_sensor.exposure.red; + exp[1] = calib_sensor.exposure.green; + exp[2] = calib_sensor.exposure.blue; + target=sensor.gain_white_ref*256; + + turn = 0; + + /* no move during led calibration */ + sanei_genesys_set_motor_power(regs, false); + bool acceptable = false; + do + { + // set up exposure + regs.set24(REG_EXPR, exp[0]); + regs.set24(REG_EXPG, exp[1]); + regs.set24(REG_EXPB, exp[2]); + + // write registers and scan data + dev->interface->write_registers(regs); + + DBG(DBG_info, "%s: starting line reading\n", __func__); + begin_scan(dev, calib_sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("led_calibration"); + scanner_stop_action(*dev); + return calib_sensor.exposure; + } + + sanei_genesys_read_data_from_scanner(dev, line.data(), total_size); + + // stop scanning + scanner_stop_action(*dev); + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + std::snprintf(fn, 30, "gl124_led_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, line.data(), session.params.depth, channels, num_pixels, + 1); + } + + /* compute average */ + for (j = 0; j < channels; j++) + { + avg[j] = 0; + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * num_pixels + 1] * 256 + + line[i * 2 + j * 2 * num_pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + avg[j] += val; + } + + avg[j] /= num_pixels; + } + + DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); + + /* check if exposure gives average within the boundaries */ + acceptable = true; + for(i=0;i<3;i++) + { + /* we accept +- 2% delta from target */ + if(abs(avg[i]-target)>target/50) + { + float prev_weight = 0.5; + exp[i] = exp[i] * prev_weight + ((exp[i] * target) / avg[i]) * (1 - prev_weight); + acceptable = false; + } + } + + turn++; + } + while (!acceptable && turn < 100); + + DBG(DBG_info, "%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0], exp[1], exp[2]); + + // set these values as final ones for scan + dev->reg.set24(REG_EXPR, exp[0]); + dev->reg.set24(REG_EXPG, exp[1]); + dev->reg.set24(REG_EXPB, exp[2]); + + return { exp[0], exp[1], exp[2] }; +} + +/** + * average dark pixels of a 8 bits scan + */ +static int +dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, + unsigned int channels, unsigned int black) +{ + unsigned int i, j, k, average, count; + unsigned int avg[3]; + uint8_t val; + + /* computes average value on black margin */ + for (k = 0; k < channels; k++) + { + avg[k] = 0; + count = 0; + for (i = 0; i < lines; i++) + { + for (j = 0; j < black; j++) + { + val = data[i * channels * pixels + j + k]; + avg[k] += val; + count++; + } + } + if (count) + avg[k] /= count; + DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); + } + average = 0; + for (i = 0; i < channels; i++) + average += avg[i]; + average /= channels; + DBG(DBG_info, "%s: average = %d\n", __func__, average); + return average; +} + + +void CommandSetGl124::offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + unsigned channels; + int pass = 0, avg, total_size; + int topavg, bottomavg, lines; + int top, bottom, black_pixels, pixels; + + // no gain nor offset for TI AFE + uint8_t reg0a = dev->interface->read_register(REG_0x0A); + if (((reg0a & REG_0x0A_SIFSEL) >> REG_0x0AS_SIFSEL) == 3) { + return; + } + + /* offset calibration is always done in color mode */ + channels = 3; + dev->calib_pixels = sensor.sensor_pixels; + lines=1; + pixels = (sensor.sensor_pixels * sensor.optical_res) / sensor.optical_res; + black_pixels = (sensor.black_pixels * sensor.optical_res) / sensor.optical_res; + DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); + + ScanSession session; + session.params.xres = sensor.optical_res; + session.params.yres = sensor.optical_res; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = pixels; + session.params.lines = lines; + session.params.depth = 8; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, ®s, session); + + sanei_genesys_set_motor_power(regs, false); + + /* allocate memory for scans */ + total_size = pixels * channels * lines * (session.params.depth / 8); + + std::vector first_line(total_size); + std::vector second_line(total_size); + + /* init gain */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + + /* scan with no move */ + bottom = 10; + dev->frontend.set_offset(0, bottom); + dev->frontend.set_offset(1, bottom); + dev->frontend.set_offset(2, bottom); + + set_fe(dev, sensor, AFE_SET); + dev->interface->write_registers(regs); + DBG(DBG_info, "%s: starting first line reading\n", __func__); + begin_scan(dev, sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("offset_calibration"); + return; + } + + sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size); + if (DBG_LEVEL >= DBG_data) + { + char title[30]; + std::snprintf(title, 30, "gl124_offset%03d.pnm", bottom); + sanei_genesys_write_pnm_file(title, first_line.data(), session.params.depth, + channels, pixels, lines); + } + + bottomavg = dark_average(first_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_io2, "%s: bottom avg=%d\n", __func__, bottomavg); + + /* now top value */ + top = 255; + dev->frontend.set_offset(0, top); + dev->frontend.set_offset(1, top); + dev->frontend.set_offset(2, top); + set_fe(dev, sensor, AFE_SET); + dev->interface->write_registers(regs); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + begin_scan(dev, sensor, ®s, true); + sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size); + + topavg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_io2, "%s: top avg=%d\n", __func__, topavg); + + /* loop until acceptable level */ + while ((pass < 32) && (top - bottom > 1)) + { + pass++; + + /* settings for new scan */ + dev->frontend.set_offset(0, (top + bottom) / 2); + dev->frontend.set_offset(1, (top + bottom) / 2); + dev->frontend.set_offset(2, (top + bottom) / 2); + + // scan with no move + set_fe(dev, sensor, AFE_SET); + dev->interface->write_registers(regs); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + begin_scan(dev, sensor, ®s, true); + sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size); + + if (DBG_LEVEL >= DBG_data) + { + char title[30]; + std::snprintf(title, 30, "gl124_offset%03d.pnm", dev->frontend.get_offset(1)); + sanei_genesys_write_pnm_file(title, second_line.data(), session.params.depth, + channels, pixels, lines); + } + + avg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_info, "%s: avg=%d offset=%d\n", __func__, avg, dev->frontend.get_offset(1)); + + /* compute new boundaries */ + if (topavg == avg) + { + topavg = avg; + top = dev->frontend.get_offset(1); + } + else + { + bottomavg = avg; + bottom = dev->frontend.get_offset(1); + } + } + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); +} + + +/* alternative coarse gain calibration + this on uses the settings from offset_calibration and + uses only one scanline + */ +/* + with offset and coarse calibration we only want to get our input range into + a reasonable shape. the fine calibration of the upper and lower bounds will + be done with shading. + */ +void CommandSetGl124::coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) const +{ + DBG_HELPER_ARGS(dbg, "dpi = %d", dpi); + int pixels; + int total_size; + int i, j, channels; + int max[3]; + float gain[3],coeff; + int val, code, lines; + + // no gain nor offset for TI AFE + uint8_t reg0a = dev->interface->read_register(REG_0x0A); + if (((reg0a & REG_0x0A_SIFSEL) >> REG_0x0AS_SIFSEL) == 3) { + return; + } + + /* coarse gain calibration is always done in color mode */ + channels = 3; + + if(dev->settings.xressettings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + try { + init_regs_for_scan_session(dev, sensor, ®s, session); + } catch (...) { + catch_all_exceptions(__func__, [&](){ sanei_genesys_set_motor_power(regs, false); }); + throw; + } + + sanei_genesys_set_motor_power(regs, false); + + dev->interface->write_registers(regs); + + total_size = pixels * channels * (16 / session.params.depth) * lines; + + std::vector line(total_size); + + set_fe(dev, sensor, AFE_SET); + begin_scan(dev, sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("coarse_gain_calibration"); + scanner_stop_action(*dev); + move_back_home(dev, true); + return; + } + + sanei_genesys_read_data_from_scanner(dev, line.data(), total_size); + + if (DBG_LEVEL >= DBG_data) { + sanei_genesys_write_pnm_file("gl124_gain.pnm", line.data(), session.params.depth, + channels, pixels, lines); + } + + /* average value on each channel */ + for (j = 0; j < channels; j++) + { + max[j] = 0; + for (i = pixels/4; i < (pixels*3/4); i++) + { + if (dev->model->is_cis) { + val = line[i + j * pixels]; + } else { + val = line[i * channels + j]; + } + + max[j] += val; + } + max[j] = max[j] / (pixels/2); + + gain[j] = (static_cast(sensor.gain_white_ref) * coeff) / max[j]; + + /* turn logical gain value into gain code, checking for overflow */ + code = static_cast(283 - 208 / gain[j]); + if (code > 255) + code = 255; + else if (code < 0) + code = 0; + dev->frontend.set_gain(j, code); + + DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], + gain[j], dev->frontend.get_gain(j)); + } + + if (dev->model->is_cis) { + uint8_t gain0 = dev->frontend.get_gain(0); + if (gain0 > dev->frontend.get_gain(1)) { + gain0 = dev->frontend.get_gain(1); + } + if (gain0 > dev->frontend.get_gain(2)) { + gain0 = dev->frontend.get_gain(2); + } + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain0); + dev->frontend.set_gain(2, gain0); + } + + if (channels == 1) { + dev->frontend.set_gain(0, dev->frontend.get_gain(1)); + dev->frontend.set_gain(2, dev->frontend.get_gain(1)); + } + + scanner_stop_action(*dev); + + move_back_home(dev, true); +} + +// wait for lamp warmup by scanning the same line until difference +// between 2 scans is below a threshold +void CommandSetGl124::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, int* channels, + int* total_size) const +{ + DBG_HELPER(dbg); + int num_pixels; + + *channels=3; + + *reg = dev->reg; + + ScanSession session; + session.params.xres = sensor.optical_res; + session.params.yres = dev->motor.base_ydpi; + session.params.startx = sensor.sensor_pixels / 4; + session.params.starty = 0; + session.params.pixels = sensor.sensor_pixels / 2; + session.params.lines = 1; + session.params.depth = 8; + session.params.channels = *channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, reg, session); + + num_pixels = session.output_pixels; + + *total_size = num_pixels * 3 * 1; /* colors * bytes_per_color * scan lines */ + + sanei_genesys_set_motor_power(*reg, false); + dev->interface->write_registers(*reg); +} + +/** @brief default GPIO values + * set up GPIO/GPOE for idle state + * @param dev device to set up + */ +static void gl124_init_gpio(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + int idx; + + /* per model GPIO layout */ + if (dev->model->model_id == ModelId::CANON_LIDE_110) { + idx = 0; + } else if (dev->model->model_id == ModelId::CANON_LIDE_120) { + idx = 2; + } + else + { /* canon LiDE 210 and 220 case */ + idx = 1; + } + + dev->interface->write_register(REG_0x31, gpios[idx].r31); + dev->interface->write_register(REG_0x32, gpios[idx].r32); + dev->interface->write_register(REG_0x33, gpios[idx].r33); + dev->interface->write_register(REG_0x34, gpios[idx].r34); + dev->interface->write_register(REG_0x35, gpios[idx].r35); + dev->interface->write_register(REG_0x36, gpios[idx].r36); + dev->interface->write_register(REG_0x38, gpios[idx].r38); +} + +/** + * set memory layout by filling values in dedicated registers + */ +static void gl124_init_memory_layout(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + int idx = 0; + + /* point to per model memory layout */ + if (dev->model->model_id == ModelId::CANON_LIDE_110 || + dev->model->model_id == ModelId::CANON_LIDE_120) + { + idx = 0; + } + else + { /* canon LiDE 210 and 220 case */ + idx = 1; + } + + /* setup base address for shading data. */ + /* values must be multiplied by 8192=0x4000 to give address on AHB */ + /* R-Channel shading bank0 address setting for CIS */ + dev->interface->write_register(0xd0, layouts[idx].rd0); + /* G-Channel shading bank0 address setting for CIS */ + dev->interface->write_register(0xd1, layouts[idx].rd1); + /* B-Channel shading bank0 address setting for CIS */ + dev->interface->write_register(0xd2, layouts[idx].rd2); + + /* setup base address for scanned data. */ + /* values must be multiplied by 1024*2=0x0800 to give address on AHB */ + /* R-Channel ODD image buffer 0x0124->0x92000 */ + /* size for each buffer is 0x16d*1k word */ + dev->interface->write_register(0xe0, layouts[idx].re0); + dev->interface->write_register(0xe1, layouts[idx].re1); + /* R-Channel ODD image buffer end-address 0x0291->0x148800 => size=0xB6800*/ + dev->interface->write_register(0xe2, layouts[idx].re2); + dev->interface->write_register(0xe3, layouts[idx].re3); + + /* R-Channel EVEN image buffer 0x0292 */ + dev->interface->write_register(0xe4, layouts[idx].re4); + dev->interface->write_register(0xe5, layouts[idx].re5); + /* R-Channel EVEN image buffer end-address 0x03ff*/ + dev->interface->write_register(0xe6, layouts[idx].re6); + dev->interface->write_register(0xe7, layouts[idx].re7); + + /* same for green, since CIS, same addresses */ + dev->interface->write_register(0xe8, layouts[idx].re0); + dev->interface->write_register(0xe9, layouts[idx].re1); + dev->interface->write_register(0xea, layouts[idx].re2); + dev->interface->write_register(0xeb, layouts[idx].re3); + dev->interface->write_register(0xec, layouts[idx].re4); + dev->interface->write_register(0xed, layouts[idx].re5); + dev->interface->write_register(0xee, layouts[idx].re6); + dev->interface->write_register(0xef, layouts[idx].re7); + +/* same for blue, since CIS, same addresses */ + dev->interface->write_register(0xf0, layouts[idx].re0); + dev->interface->write_register(0xf1, layouts[idx].re1); + dev->interface->write_register(0xf2, layouts[idx].re2); + dev->interface->write_register(0xf3, layouts[idx].re3); + dev->interface->write_register(0xf4, layouts[idx].re4); + dev->interface->write_register(0xf5, layouts[idx].re5); + dev->interface->write_register(0xf6, layouts[idx].re6); + dev->interface->write_register(0xf7, layouts[idx].re7); +} + +/** + * initialize backend and ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home + */ +void CommandSetGl124::init(Genesys_Device* dev) const +{ + DBG_INIT (); + DBG_HELPER(dbg); + + sanei_genesys_asic_init(dev, 0); +} + + +/* * + * initialize ASIC from power on condition + */ +void CommandSetGl124::asic_boot(Genesys_Device* dev, bool cold) const +{ + DBG_HELPER(dbg); + + // reset ASIC in case of cold boot + if (cold) { + dev->interface->write_register(0x0e, 0x01); + dev->interface->write_register(0x0e, 0x00); + } + + // enable GPOE 17 + dev->interface->write_register(0x36, 0x01); + + // set GPIO 17 + uint8_t val = dev->interface->read_register(0x33); + val |= 0x01; + dev->interface->write_register(0x33, val); + + // test CHKVER + val = dev->interface->read_register(REG_0x100); + if (val & REG_0x100_CHKVER) { + val = dev->interface->read_register(0x00); + DBG(DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); + } + + /* Set default values for registers */ + gl124_init_registers (dev); + + // Write initial registers + dev->interface->write_registers(dev->reg); + + // tune reg 0B + dev->interface->write_register(REG_0x0B, REG_0x0B_30MHZ | REG_0x0B_ENBDRAM | REG_0x0B_64M); + dev->reg.remove_reg(0x0b); + + //set up end access + dev->interface->write_0x8c(0x10, 0x0b); + dev->interface->write_0x8c(0x13, 0x0e); + + /* CIS_LINE */ + dev->reg.init_reg(0x08, REG_0x08_CIS_LINE); + dev->interface->write_register(0x08, dev->reg.find_reg(0x08).value); + + // setup gpio + gl124_init_gpio(dev); + + // setup internal memory layout + gl124_init_memory_layout(dev); +} + + +void CommandSetGl124::update_hardware_sensors(Genesys_Scanner* s) const +{ + /* do what is needed to get a new set of events, but try to not loose + any of them. + */ + DBG_HELPER(dbg); + uint8_t val = s->dev->interface->read_register(REG_0x31); + + /* TODO : for the next scanner special case, + * add another per scanner button profile struct to avoid growing + * hard-coded button mapping here. + */ + if ((s->dev->model->gpio_id == GpioId::CANON_LIDE_110) || + (s->dev->model->gpio_id == GpioId::CANON_LIDE_120)) + { + s->buttons[BUTTON_SCAN_SW].write((val & 0x01) == 0); + s->buttons[BUTTON_FILE_SW].write((val & 0x08) == 0); + s->buttons[BUTTON_EMAIL_SW].write((val & 0x04) == 0); + s->buttons[BUTTON_COPY_SW].write((val & 0x02) == 0); + } + else + { /* LiDE 210 case */ + s->buttons[BUTTON_EXTRA_SW].write((val & 0x01) == 0); + s->buttons[BUTTON_SCAN_SW].write((val & 0x02) == 0); + s->buttons[BUTTON_COPY_SW].write((val & 0x04) == 0); + s->buttons[BUTTON_EMAIL_SW].write((val & 0x08) == 0); + s->buttons[BUTTON_FILE_SW].write((val & 0x10) == 0); + } +} + +void CommandSetGl124::update_home_sensor_gpio(Genesys_Device& dev) const +{ + DBG_HELPER(dbg); + + std::uint8_t val = dev.interface->read_register(REG_0x32); + val &= ~REG_0x32_GPIO10; + dev.interface->write_register(REG_0x32, val); +} + +bool CommandSetGl124::needs_home_before_init_regs_for_scan(Genesys_Device* dev) const +{ + (void) dev; + return true; +} + +void CommandSetGl124::send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) const +{ + sanei_genesys_send_gamma_table(dev, sensor); +} + +void CommandSetGl124::load_document(Genesys_Device* dev) const +{ + (void) dev; + throw SaneException("not implemented"); +} + +void CommandSetGl124::detect_document_end(Genesys_Device* dev) const +{ + (void) dev; + throw SaneException("not implemented"); +} + +void CommandSetGl124::eject_document(Genesys_Device* dev) const +{ + (void) dev; + throw SaneException("not implemented"); +} + +void CommandSetGl124::search_strip(Genesys_Device* dev, const Genesys_Sensor& sensor, + bool forward, bool black) const +{ + (void) dev; + (void) sensor; + (void) forward; + (void) black; + throw SaneException("not implemented"); +} + +void CommandSetGl124::move_to_ta(Genesys_Device* dev) const +{ + (void) dev; + throw SaneException("not implemented"); +} + +std::unique_ptr create_gl124_cmd_set() +{ + return std::unique_ptr(new CommandSetGl124{}); +} + +} // namespace gl124 +} // namespace genesys diff --git a/backend/genesys/gl124.h b/backend/genesys/gl124.h new file mode 100644 index 0000000..cdf8faf --- /dev/null +++ b/backend/genesys/gl124.h @@ -0,0 +1,205 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2010-2016 Stéphane Voltz + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_GL124_H +#define BACKEND_GENESYS_GL124_H + +#include "genesys.h" +#include "command_set.h" + +namespace genesys { +namespace gl124 { + +typedef struct +{ + uint8_t r31; + uint8_t r32; + uint8_t r33; + uint8_t r34; + uint8_t r35; + uint8_t r36; + uint8_t r38; +} Gpio_layout; + +/** @brief gpio layout + * describes initial gpio settings for a given model + * registers 0x31 to 0x38 + */ +static Gpio_layout gpios[]={ + /* LiDE 110 */ + { /* 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x38 */ + 0x9f, 0x59, 0x01, 0x80, 0x5f, 0x01, 0x00 + }, + /* LiDE 210 */ + { + 0x9f, 0x59, 0x01, 0x80, 0x5f, 0x01, 0x00 + }, + /* LiDE 120 */ + { + 0x9f, 0x53, 0x01, 0x80, 0x5f, 0x01, 0x00 + }, +}; + +typedef struct +{ + uint8_t rd0; + uint8_t rd1; + uint8_t rd2; + uint8_t re0; + uint8_t re1; + uint8_t re2; + uint8_t re3; + uint8_t re4; + uint8_t re5; + uint8_t re6; + uint8_t re7; +} Memory_layout; + +static Memory_layout layouts[]={ + /* LIDE 110, 120 */ + { /* 0xd0 0xd1 0xd2 */ + 0x0a, 0x15, 0x20, + /* 0xe0 0xe1 0xe2 0xe3 0xe4 0xe5 0xe6 0xe7 */ + 0x00, 0xac, 0x08, 0x55, 0x08, 0x56, 0x0f, 0xff + }, + /* LIDE 210, 220 */ + { + 0x0a, 0x1f, 0x34, + 0x01, 0x24, 0x08, 0x91, 0x08, 0x92, 0x0f, 0xff + } +}; + +static void gl124_send_slope_table(Genesys_Device* dev, int table_nr, + const std::vector& slope_table, int steps); + +class CommandSetGl124 : public CommandSet +{ +public: + ~CommandSetGl124() override = default; + + bool needs_home_before_init_regs_for_scan(Genesys_Device* dev) const override; + + void init(Genesys_Device* dev) const override; + + void init_regs_for_warmup(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, int* channels, + int* total_size) const override; + + void init_regs_for_coarse_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void init_regs_for_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void init_regs_for_scan(Genesys_Device* dev, const Genesys_Sensor& sensor) const override; + + void init_regs_for_scan_session(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const ScanSession& session) const override; + + void set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set) const override; + void set_powersaving(Genesys_Device* dev, int delay) const override; + void save_power(Genesys_Device* dev, bool enable) const override; + + void begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, bool start_motor) const override; + + void end_scan(Genesys_Device* dev, Genesys_Register_Set* regs, bool check_stop) const override; + + void send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) const override; + + void search_start_position(Genesys_Device* dev) const override; + + void offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) const override; + + SensorExposure led_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void wait_for_motor_stop(Genesys_Device* dev) const override; + + void move_back_home(Genesys_Device* dev, bool wait_until_home) const override; + + void update_hardware_sensors(struct Genesys_Scanner* s) const override; + + bool needs_update_home_sensor_gpio() const override { return true; } + + void update_home_sensor_gpio(Genesys_Device& dev) const override; + + void load_document(Genesys_Device* dev) const override; + + void detect_document_end(Genesys_Device* dev) const override; + + void eject_document(Genesys_Device* dev) const override; + + void search_strip(Genesys_Device* dev, const Genesys_Sensor& sensor, + bool forward, bool black) const override; + + void move_to_ta(Genesys_Device* dev) const override; + + void send_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t* data, + int size) const override; + + ScanSession calculate_scan_session(const Genesys_Device* dev, + const Genesys_Sensor& sensor, + const Genesys_Settings& settings) const override; + + void asic_boot(Genesys_Device* dev, bool cold) const override; +}; + +enum SlopeTable +{ + SCAN_TABLE = 0, // table 1 at 0x4000 + BACKTRACK_TABLE = 1, // table 2 at 0x4800 + STOP_TABLE = 2, // table 3 at 0x5000 + FAST_TABLE = 3, // table 4 at 0x5800 + HOME_TABLE = 4, // table 5 at 0x6000 +}; + +} // namespace gl124 +} // namespace genesys + +#endif // BACKEND_GENESYS_GL124_H diff --git a/backend/genesys/gl124_registers.h b/backend/genesys/gl124_registers.h new file mode 100644 index 0000000..9b42084 --- /dev/null +++ b/backend/genesys/gl124_registers.h @@ -0,0 +1,316 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_GL124_REGISTERS_H +#define BACKEND_GENESYS_GL124_REGISTERS_H + +#include + +namespace genesys { +namespace gl124 { + +using RegAddr = std::uint16_t; +using RegMask = std::uint8_t; +using RegShift = unsigned; + +static constexpr RegAddr REG_0x01 = 0x01; +static constexpr RegMask REG_0x01_CISSET = 0x80; +static constexpr RegMask REG_0x01_DOGENB = 0x40; +static constexpr RegMask REG_0x01_DVDSET = 0x20; +static constexpr RegMask REG_0x01_STAGGER = 0x10; +static constexpr RegMask REG_0x01_COMPENB = 0x08; +static constexpr RegMask REG_0x01_TRUEGRAY = 0x04; +static constexpr RegMask REG_0x01_SHDAREA = 0x02; +static constexpr RegMask REG_0x01_SCAN = 0x01; + +static constexpr RegAddr REG_0x02 = 0x02; +static constexpr RegMask REG_0x02_NOTHOME = 0x80; +static constexpr RegMask REG_0x02_ACDCDIS = 0x40; +static constexpr RegMask REG_0x02_AGOHOME = 0x20; +static constexpr RegMask REG_0x02_MTRPWR = 0x10; +static constexpr RegMask REG_0x02_FASTFED = 0x08; +static constexpr RegMask REG_0x02_MTRREV = 0x04; +static constexpr RegMask REG_0x02_HOMENEG = 0x02; +static constexpr RegMask REG_0x02_LONGCURV = 0x01; + +static constexpr RegAddr REG_0x03 = 0x03; +static constexpr RegMask REG_0x03_LAMPDOG = 0x80; +static constexpr RegMask REG_0x03_AVEENB = 0x40; +static constexpr RegMask REG_0x03_XPASEL = 0x20; +static constexpr RegMask REG_0x03_LAMPPWR = 0x10; +static constexpr RegMask REG_0x03_LAMPTIM = 0x0f; + +static constexpr RegAddr REG_0x04 = 0x04; +static constexpr RegMask REG_0x04_LINEART = 0x80; +static constexpr RegMask REG_0x04_BITSET = 0x40; +static constexpr RegMask REG_0x04_FILTER = 0x30; +static constexpr RegMask REG_0x04_AFEMOD = 0x07; + +static constexpr RegAddr REG_0x05 = 0x05; +static constexpr RegMask REG_0x05_DPIHW = 0xc0; +static constexpr RegMask REG_0x05_DPIHW_600 = 0x00; +static constexpr RegMask REG_0x05_DPIHW_1200 = 0x40; +static constexpr RegMask REG_0x05_DPIHW_2400 = 0x80; +static constexpr RegMask REG_0x05_DPIHW_4800 = 0xc0; +static constexpr RegMask REG_0x05_MTLLAMP = 0x30; +static constexpr RegMask REG_0x05_GMMENB = 0x08; +static constexpr RegMask REG_0x05_ENB20M = 0x04; +static constexpr RegMask REG_0x05_MTLBASE = 0x03; + +static constexpr RegAddr REG_0x06 = 0x06; +static constexpr RegMask REG_0x06_SCANMOD = 0xe0; +static constexpr RegMask REG_0x06S_SCANMOD = 5; +static constexpr RegMask REG_0x06_PWRBIT = 0x10; +static constexpr RegMask REG_0x06_GAIN4 = 0x08; +static constexpr RegMask REG_0x06_OPTEST = 0x07; + +static constexpr RegMask REG_0x07_LAMPSIM = 0x80; + +static constexpr RegMask REG_0x08_DRAM2X = 0x80; +static constexpr RegMask REG_0x08_MPENB = 0x20; +static constexpr RegMask REG_0x08_CIS_LINE = 0x10; +static constexpr RegMask REG_0x08_IR2_ENB = 0x08; +static constexpr RegMask REG_0x08_IR1_ENB = 0x04; +static constexpr RegMask REG_0x08_ENB24M = 0x01; + +static constexpr RegMask REG_0x09_MCNTSET = 0xc0; +static constexpr RegMask REG_0x09_EVEN1ST = 0x20; +static constexpr RegMask REG_0x09_BLINE1ST = 0x10; +static constexpr RegMask REG_0x09_BACKSCAN = 0x08; +static constexpr RegMask REG_0x09_OUTINV = 0x04; +static constexpr RegMask REG_0x09_SHORTTG = 0x02; + +static constexpr RegShift REG_0x09S_MCNTSET = 6; +static constexpr RegShift REG_0x09S_CLKSET = 4; + +static constexpr RegAddr REG_0x0A = 0x0a; +static constexpr RegMask REG_0x0A_SIFSEL = 0xc0; +static constexpr RegShift REG_0x0AS_SIFSEL = 6; +static constexpr RegMask REG_0x0A_SHEETFED = 0x20; +static constexpr RegMask REG_0x0A_LPWMEN = 0x10; + +static constexpr RegAddr REG_0x0B = 0x0b; +static constexpr RegMask REG_0x0B_DRAMSEL = 0x07; +static constexpr RegMask REG_0x0B_16M = 0x01; +static constexpr RegMask REG_0x0B_64M = 0x02; +static constexpr RegMask REG_0x0B_128M = 0x03; +static constexpr RegMask REG_0x0B_256M = 0x04; +static constexpr RegMask REG_0x0B_512M = 0x05; +static constexpr RegMask REG_0x0B_1G = 0x06; +static constexpr RegMask REG_0x0B_ENBDRAM = 0x08; +static constexpr RegMask REG_0x0B_RFHDIS = 0x10; +static constexpr RegMask REG_0x0B_CLKSET = 0xe0; +static constexpr RegMask REG_0x0B_24MHZ = 0x00; +static constexpr RegMask REG_0x0B_30MHZ = 0x20; +static constexpr RegMask REG_0x0B_40MHZ = 0x40; +static constexpr RegMask REG_0x0B_48MHZ = 0x60; +static constexpr RegMask REG_0x0B_60MHZ = 0x80; + +static constexpr RegAddr REG_0x0D = 0x0d; +static constexpr RegMask REG_0x0D_MTRP_RDY = 0x80; +static constexpr RegMask REG_0x0D_FULLSTP = 0x10; +static constexpr RegMask REG_0x0D_CLRMCNT = 0x04; +static constexpr RegMask REG_0x0D_CLRDOCJM = 0x02; +static constexpr RegMask REG_0x0D_CLRLNCNT = 0x01; + +static constexpr RegAddr REG_0x0F = 0x0f; + +static constexpr RegMask REG_0x16_CTRLHI = 0x80; +static constexpr RegMask REG_0x16_TOSHIBA = 0x40; +static constexpr RegMask REG_0x16_TGINV = 0x20; +static constexpr RegMask REG_0x16_CK1INV = 0x10; +static constexpr RegMask REG_0x16_CK2INV = 0x08; +static constexpr RegMask REG_0x16_CTRLINV = 0x04; +static constexpr RegMask REG_0x16_CKDIS = 0x02; +static constexpr RegMask REG_0x16_CTRLDIS = 0x01; + +static constexpr RegMask REG_0x17_TGMODE = 0xc0; +static constexpr RegMask REG_0x17_SNRSYN = 0x0f; + +static constexpr RegAddr REG_0x18 = 0x18; +static constexpr RegMask REG_0x18_CNSET = 0x80; +static constexpr RegMask REG_0x18_DCKSEL = 0x60; +static constexpr RegMask REG_0x18_CKTOGGLE = 0x10; +static constexpr RegMask REG_0x18_CKDELAY = 0x0c; +static constexpr RegMask REG_0x18_CKSEL = 0x03; + +static constexpr RegMask REG_0x1A_SW2SET = 0x80; +static constexpr RegMask REG_0x1A_SW1SET = 0x40; +static constexpr RegMask REG_0x1A_MANUAL3 = 0x02; +static constexpr RegMask REG_0x1A_MANUAL1 = 0x01; +static constexpr RegMask REG_0x1A_CK4INV = 0x08; +static constexpr RegMask REG_0x1A_CK3INV = 0x04; +static constexpr RegMask REG_0x1A_LINECLP = 0x02; + +static constexpr RegMask REG_0x1C_TBTIME = 0x07; + +static constexpr RegAddr REG_0x1D = 0x1d; +static constexpr RegMask REG_0x1D_CK4LOW = 0x80; +static constexpr RegMask REG_0x1D_CK3LOW = 0x40; +static constexpr RegMask REG_0x1D_CK1LOW = 0x20; +static constexpr RegMask REG_0x1D_LINESEL = 0x1f; +static constexpr RegShift REG_0x1DS_LINESEL = 0; + +static constexpr RegAddr REG_0x1E = 0x1e; +static constexpr RegMask REG_0x1E_WDTIME = 0xf0; +static constexpr RegShift REG_0x1ES_WDTIME = 4; + +static constexpr RegAddr REG_0x30 = 0x30; +static constexpr RegAddr REG_0x31 = 0x31; +static constexpr RegAddr REG_0x32 = 0x32; +static constexpr RegMask REG_0x32_GPIO16 = 0x80; +static constexpr RegMask REG_0x32_GPIO15 = 0x40; +static constexpr RegMask REG_0x32_GPIO14 = 0x20; +static constexpr RegMask REG_0x32_GPIO13 = 0x10; +static constexpr RegMask REG_0x32_GPIO12 = 0x08; +static constexpr RegMask REG_0x32_GPIO11 = 0x04; +static constexpr RegMask REG_0x32_GPIO10 = 0x02; +static constexpr RegMask REG_0x32_GPIO9 = 0x01; +static constexpr RegAddr REG_0x33 = 0x33; +static constexpr RegAddr REG_0x34 = 0x34; +static constexpr RegAddr REG_0x35 = 0x35; +static constexpr RegAddr REG_0x36 = 0x36; +static constexpr RegAddr REG_0x37 = 0x37; +static constexpr RegAddr REG_0x38 = 0x38; +static constexpr RegAddr REG_0x39 = 0x39; + +static constexpr RegAddr REG_0x60 = 0x60; +static constexpr RegMask REG_0x60_LED4TG = 0x80; +static constexpr RegMask REG_0x60_YENB = 0x40; +static constexpr RegMask REG_0x60_YBIT = 0x20; +static constexpr RegMask REG_0x60_ACYNCNRLC = 0x10; +static constexpr RegMask REG_0x60_ENOFFSET = 0x08; +static constexpr RegMask REG_0x60_LEDADD = 0x04; +static constexpr RegMask REG_0x60_CK4ADC = 0x02; +static constexpr RegMask REG_0x60_AUTOCONF = 0x01; + +static constexpr RegAddr REG_0x80 = 0x80; +static constexpr RegAddr REG_0x81 = 0x81; + +static constexpr RegAddr REG_0xA0 = 0xa0; +static constexpr RegMask REG_0xA0_FSTPSEL = 0x38; +static constexpr RegShift REG_0xA0S_FSTPSEL = 3; +static constexpr RegMask REG_0xA0_STEPSEL = 0x07; +static constexpr RegShift REG_0xA0S_STEPSEL = 0; + +static constexpr RegAddr REG_0xA1 = 0xa1; +static constexpr RegAddr REG_0xA2 = 0xa2; +static constexpr RegAddr REG_0xA3 = 0xa3; +static constexpr RegAddr REG_0xA4 = 0xa4; +static constexpr RegAddr REG_0xA5 = 0xa5; +static constexpr RegAddr REG_0xA6 = 0xa6; +static constexpr RegAddr REG_0xA7 = 0xa7; +static constexpr RegAddr REG_0xA8 = 0xa8; +static constexpr RegAddr REG_0xA9 = 0xa9; +static constexpr RegAddr REG_0xAA = 0xaa; +static constexpr RegAddr REG_0xAB = 0xab; +static constexpr RegAddr REG_0xAC = 0xac; +static constexpr RegAddr REG_0xAD = 0xad; +static constexpr RegAddr REG_0xAE = 0xae; +static constexpr RegAddr REG_0xAF = 0xaf; +static constexpr RegAddr REG_0xB0 = 0xb0; +static constexpr RegAddr REG_0xB1 = 0xb1; + +static constexpr RegAddr REG_0xB2 = 0xb2; +static constexpr RegMask REG_0xB2_Z1MOD = 0x1f; +static constexpr RegAddr REG_0xB3 = 0xb3; +static constexpr RegMask REG_0xB3_Z1MOD = 0xff; +static constexpr RegAddr REG_0xB4 = 0xb4; +static constexpr RegMask REG_0xB4_Z1MOD = 0xff; + +static constexpr RegAddr REG_0xB5 = 0xb5; +static constexpr RegMask REG_0xB5_Z2MOD = 0x1f; +static constexpr RegAddr REG_0xB6 = 0xb6; +static constexpr RegMask REG_0xB6_Z2MOD = 0xff; +static constexpr RegAddr REG_0xB7 = 0xb7; +static constexpr RegMask REG_0xB7_Z2MOD = 0xff; + +static constexpr RegAddr REG_0x100 = 0x100; +static constexpr RegMask REG_0x100_DOCSNR = 0x80; +static constexpr RegMask REG_0x100_ADFSNR = 0x40; +static constexpr RegMask REG_0x100_COVERSNR = 0x20; +static constexpr RegMask REG_0x100_CHKVER = 0x10; +static constexpr RegMask REG_0x100_DOCJAM = 0x08; +static constexpr RegMask REG_0x100_HISPDFLG = 0x04; +static constexpr RegMask REG_0x100_MOTMFLG = 0x02; +static constexpr RegMask REG_0x100_DATAENB = 0x01; + +static constexpr RegAddr REG_0x114 = 0x114; +static constexpr RegAddr REG_0x115 = 0x115; + +static constexpr RegAddr REG_LINCNT = 0x25; +static constexpr RegAddr REG_MAXWD = 0x28; +static constexpr RegAddr REG_DPISET = 0x2c; +static constexpr RegAddr REG_FEEDL = 0x3d; +static constexpr RegAddr REG_CK1MAP = 0x74; +static constexpr RegAddr REG_CK3MAP = 0x77; +static constexpr RegAddr REG_CK4MAP = 0x7a; +static constexpr RegAddr REG_LPERIOD = 0x7d; +static constexpr RegAddr REG_DUMMY = 0x80; +static constexpr RegAddr REG_STRPIXEL = 0x82; +static constexpr RegAddr REG_ENDPIXEL = 0x85; +static constexpr RegAddr REG_EXPDMY = 0x88; +static constexpr RegAddr REG_EXPR = 0x8a; +static constexpr RegAddr REG_EXPG = 0x8d; +static constexpr RegAddr REG_EXPB = 0x90; +static constexpr RegAddr REG_SEGCNT = 0x93; +static constexpr RegAddr REG_TG0CNT = 0x96; +static constexpr RegAddr REG_SCANFED = 0xa2; +static constexpr RegAddr REG_STEPNO = 0xa4; +static constexpr RegAddr REG_FWDSTEP = 0xa6; +static constexpr RegAddr REG_BWDSTEP = 0xa8; +static constexpr RegAddr REG_FASTNO = 0xaa; +static constexpr RegAddr REG_FSHDEC = 0xac; +static constexpr RegAddr REG_FMOVNO = 0xae; +static constexpr RegAddr REG_FMOVDEC = 0xb0; +static constexpr RegAddr REG_Z1MOD = 0xb2; +static constexpr RegAddr REG_Z2MOD = 0xb5; + +static constexpr RegAddr REG_TRUER = 0x110; +static constexpr RegAddr REG_TRUEG = 0x111; +static constexpr RegAddr REG_TRUEB = 0x112; + +} // namespace gl124 +} // namespace genesys + +#endif // BACKEND_GENESYS_GL843_REGISTERS_H diff --git a/backend/genesys/gl646.cpp b/backend/genesys/gl646.cpp new file mode 100644 index 0000000..04ee85e --- /dev/null +++ b/backend/genesys/gl646.cpp @@ -0,0 +1,3436 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2003 Oliver Rauch + Copyright (C) 2003, 2004 Henning Meier-Geinitz + Copyright (C) 2004 Gerhard Jaeger + Copyright (C) 2004-2013 Stéphane Voltz + Copyright (C) 2005-2009 Pierre Willenbrock + Copyright (C) 2007 Luke + Copyright (C) 2011 Alexey Osipov for HP2400 description + and tuning + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "gl646.h" +#include "gl646_registers.h" +#include "test_settings.h" + +#include + +namespace genesys { +namespace gl646 { + +namespace { +constexpr unsigned CALIBRATION_LINES = 10; +} // namespace + +static void gl646_send_slope_table(Genesys_Device* dev, int table_nr, + const std::vector& slope_table, + int steps); + +/** + * reads value from gpio endpoint + */ +static void gl646_gpio_read(IUsbDevice& usb_dev, uint8_t* value) +{ + DBG_HELPER(dbg); + usb_dev.control_msg(REQUEST_TYPE_IN, REQUEST_REGISTER, GPIO_READ, INDEX, 1, value); +} + +/** + * writes the given value to gpio endpoint + */ +static void gl646_gpio_write(IUsbDevice& usb_dev, uint8_t value) +{ + DBG_HELPER_ARGS(dbg, "(0x%02x)", value); + usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, GPIO_WRITE, INDEX, 1, &value); +} + +/** + * writes the given value to gpio output enable endpoint + */ +static void gl646_gpio_output_enable(IUsbDevice& usb_dev, uint8_t value) +{ + DBG_HELPER_ARGS(dbg, "(0x%02x)", value); + usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, GPIO_OUTPUT_ENABLE, INDEX, 1, &value); +} + +/** + * stop scanner's motor + * @param dev scanner's device + */ +static void gl646_stop_motor(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + dev->interface->write_register(0x0f, 0x00); +} + +/** + * find the closest match in mode tables for the given resolution and scan mode. + * @param sensor id of the sensor + * @param required required resolution + * @param color true is color mode + * @return the closest resolution for the sensor and mode + */ +static unsigned get_closest_resolution(SensorId sensor_id, int required, unsigned channels) +{ + unsigned best_res = 0; + unsigned best_diff = 9600; + + for (const auto& sensor : *s_sensors) { + if (sensor_id != sensor.sensor_id) + continue; + + // exit on perfect match + if (sensor.resolutions.matches(required) && sensor.matches_channel_count(channels)) { + DBG(DBG_info, "%s: match found for %d\n", __func__, required); + return required; + } + + // computes distance and keep mode if it is closer than previous + if (sensor.matches_channel_count(channels)) { + for (auto res : sensor.resolutions.resolutions()) { + unsigned curr_diff = std::abs(static_cast(res) - static_cast(required)); + if (curr_diff < best_diff) { + best_res = res; + best_diff = curr_diff; + } + } + } + } + + DBG(DBG_info, "%s: closest match for %d is %d\n", __func__, required, best_res); + return best_res; +} + +/** + * Returns the cksel values used by the required scan mode. + * @param sensor id of the sensor + * @param required required resolution + * @param color true is color mode + * @return cksel value for mode + */ +static int get_cksel(SensorId sensor_id, int required, unsigned channels) +{ + for (const auto& sensor : *s_sensors) { + // exit on perfect match + if (sensor.sensor_id == sensor_id && sensor.resolutions.matches(required) && + sensor.matches_channel_count(channels)) + { + unsigned cksel = sensor.ccd_pixels_per_system_pixel(); + DBG(DBG_io, "%s: match found for %d (cksel=%d)\n", __func__, required, cksel); + return cksel; + } + } + DBG(DBG_error, "%s: failed to find match for %d dpi\n", __func__, required); + /* fail safe fallback */ + return 1; +} + +void CommandSetGl646::init_regs_for_scan_session(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, + const ScanSession& session) const +{ + DBG_HELPER(dbg); + session.assert_computed(); + + debug_dump(DBG_info, sensor); + + uint32_t move = session.params.starty; + + int i, nb; + Motor_Master *motor = nullptr; + uint32_t z1, z2; + int feedl; + + + /* for the given resolution, search for master + * motor mode setting */ + i = 0; + nb = sizeof (motor_master) / sizeof (Motor_Master); + while (i < nb) + { + if (dev->model->motor_id == motor_master[i].motor_id + && motor_master[i].dpi == session.params.yres + && motor_master[i].channels == session.params.channels) + { + motor = &motor_master[i]; + } + i++; + } + if (motor == nullptr) + { + throw SaneException("unable to find settings for motor %d at %d dpi, color=%d", + static_cast(dev->model->motor_id), + session.params.yres, session.params.channels); + } + + /* now we can search for the specific sensor settings */ + i = 0; + + // now apply values from settings to registers + regs->set16(REG_EXPR, sensor.exposure.red); + regs->set16(REG_EXPG, sensor.exposure.green); + regs->set16(REG_EXPB, sensor.exposure.blue); + + for (const auto& reg : sensor.custom_regs) { + regs->set8(reg.address, reg.value); + } + + /* now generate slope tables : we are not using generate_slope_table3 yet */ + auto slope_table1 = create_slope_table(motor->slope1, motor->slope1.max_speed_w, StepType::FULL, + 1, 4, get_slope_table_max_size(AsicType::GL646)); + auto slope_table2 = create_slope_table(motor->slope2, motor->slope2.max_speed_w, StepType::FULL, + 1, 4, get_slope_table_max_size(AsicType::GL646)); + + /* R01 */ + /* now setup other registers for final scan (ie with shading enabled) */ + /* watch dog + shading + scan enable */ + regs->find_reg(0x01).value |= REG_0x01_DOGENB | REG_0x01_DVDSET | REG_0x01_SCAN; + if (dev->model->is_cis) { + regs->find_reg(0x01).value |= REG_0x01_CISSET; + } else { + regs->find_reg(0x01).value &= ~REG_0x01_CISSET; + } + + /* if device has no calibration, don't enable shading correction */ + if (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION) + { + regs->find_reg(0x01).value &= ~REG_0x01_DVDSET; + } + + regs->find_reg(0x01).value &= ~REG_0x01_FASTMOD; + if (motor->fastmod) { + regs->find_reg(0x01).value |= REG_0x01_FASTMOD; + } + + /* R02 */ + /* allow moving when buffer full by default */ + if (!dev->model->is_sheetfed) { + dev->reg.find_reg(0x02).value &= ~REG_0x02_ACDCDIS; + } else { + dev->reg.find_reg(0x02).value |= REG_0x02_ACDCDIS; + } + + /* setup motor power and direction */ + sanei_genesys_set_motor_power(*regs, true); + + if (has_flag(session.params.flags, ScanFlag::REVERSE)) { + regs->find_reg(0x02).value |= REG_0x02_MTRREV; + } else { + regs->find_reg(0x02).value &= ~REG_0x02_MTRREV; + } + + /* fastfed enabled (2 motor slope tables) */ + if (motor->fastfed) { + regs->find_reg(0x02).value |= REG_0x02_FASTFED; + } else { + regs->find_reg(0x02).value &= ~REG_0x02_FASTFED; + } + + /* step type */ + regs->find_reg(0x02).value &= ~REG_0x02_STEPSEL; + switch (motor->steptype) + { + case StepType::FULL: + break; + case StepType::HALF: + regs->find_reg(0x02).value |= 1; + break; + case StepType::QUARTER: + regs->find_reg(0x02).value |= 2; + break; + default: + regs->find_reg(0x02).value |= 3; + break; + } + + if (dev->model->is_sheetfed) { + regs->find_reg(0x02).value &= ~REG_0x02_AGOHOME; + } else { + regs->find_reg(0x02).value |= REG_0x02_AGOHOME; + } + + /* R03 */ + regs->find_reg(0x03).value &= ~REG_0x03_AVEENB; + // regs->find_reg(0x03).value |= REG_0x03_AVEENB; + regs->find_reg(0x03).value &= ~REG_0x03_LAMPDOG; + + /* select XPA */ + regs->find_reg(0x03).value &= ~REG_0x03_XPASEL; + if ((session.params.flags & ScanFlag::USE_XPA) != ScanFlag::NONE) { + regs->find_reg(0x03).value |= REG_0x03_XPASEL; + } + regs->state.is_xpa_on = (session.params.flags & ScanFlag::USE_XPA) != ScanFlag::NONE; + + /* R04 */ + /* monochrome / color scan */ + switch (session.params.depth) { + case 8: + regs->find_reg(0x04).value &= ~(REG_0x04_LINEART | REG_0x04_BITSET); + break; + case 16: + regs->find_reg(0x04).value &= ~REG_0x04_LINEART; + regs->find_reg(0x04).value |= REG_0x04_BITSET; + break; + } + + sanei_genesys_set_dpihw(*regs, sensor, sensor.optical_res); + + /* gamma enable for scans */ + if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) { + regs->find_reg(0x05).value |= REG_0x05_GMM14BIT; + } + + regs->find_reg(0x05).value &= ~REG_0x05_GMMENB; + + /* true CIS gray if needed */ + if (dev->model->is_cis && session.params.channels == 1 && dev->settings.true_gray) { + regs->find_reg(0x05).value |= REG_0x05_LEDADD; + } else { + regs->find_reg(0x05).value &= ~REG_0x05_LEDADD; + } + + /* HP2400 1200dpi mode tuning */ + + if (dev->model->sensor_id == SensorId::CCD_HP2400) { + /* reset count of dummy lines to zero */ + regs->find_reg(0x1e).value &= ~REG_0x1E_LINESEL; + if (session.params.xres >= 1200) { + /* there must be one dummy line */ + regs->find_reg(0x1e).value |= 1 & REG_0x1E_LINESEL; + + /* GPO12 need to be set to zero */ + regs->find_reg(0x66).value &= ~0x20; + } + else + { + /* set GPO12 back to one */ + regs->find_reg(0x66).value |= 0x20; + } + } + + /* motor steps used */ + unsigned forward_steps = motor->fwdbwd; + unsigned backward_steps = motor->fwdbwd; + + // the steps count must be different by at most 128, otherwise it's impossible to construct + // a proper backtracking curve. We're using slightly lower limit to allow at least a minimum + // distance between accelerations (forward_steps, backward_steps) + if (slope_table1.steps_count > slope_table2.steps_count + 100) { + slope_table2.steps_count += slope_table1.steps_count - 100; + } + if (slope_table2.steps_count > slope_table1.steps_count + 100) { + slope_table1.steps_count += slope_table2.steps_count - 100; + } + + if (slope_table1.steps_count >= slope_table2.steps_count) { + backward_steps += (slope_table1.steps_count - slope_table2.steps_count) * 2; + } else { + forward_steps += (slope_table2.steps_count - slope_table1.steps_count) * 2; + } + + if (forward_steps > 255) { + if (backward_steps < (forward_steps - 255)) { + throw SaneException("Can't set backtracking parameters without skipping image"); + } + backward_steps -= forward_steps - 255; + } + if (backward_steps > 255) { + if (forward_steps < (backward_steps - 255)) { + throw SaneException("Can't set backtracking parameters without skipping image"); + } + forward_steps -= backward_steps - 255; + } + + regs->find_reg(0x21).value = slope_table1.steps_count; + regs->find_reg(0x24).value = slope_table2.steps_count; + regs->find_reg(0x22).value = forward_steps; + regs->find_reg(0x23).value = backward_steps; + + /* CIS scanners read one line per color channel + * since gray mode use 'add' we also read 3 channels even not in + * color mode */ + if (dev->model->is_cis) { + regs->set24(REG_LINCNT, session.output_line_count * 3); + } else { + regs->set24(REG_LINCNT, session.output_line_count); + } + + regs->set16(REG_STRPIXEL, session.pixel_startx); + regs->set16(REG_ENDPIXEL, session.pixel_endx); + + regs->set24(REG_MAXWD, session.output_line_bytes); + + regs->set16(REG_DPISET, session.output_resolution * session.ccd_size_divisor * + sensor.ccd_pixels_per_system_pixel()); + regs->set16(REG_LPERIOD, sensor.exposure_lperiod); + + /* move distance must be adjusted to take into account the extra lines + * read to reorder data */ + feedl = move; + + if (session.num_staggered_lines + session.max_color_shift_lines > 0 && feedl != 0) { + int feed_offset = ((session.max_color_shift_lines + session.num_staggered_lines) * dev->motor.optical_ydpi) / + motor->dpi; + if (feedl > feed_offset) { + feedl = feedl - feed_offset; + } + } + + /* we assume all scans are done with 2 tables */ + /* + feedl = feed_steps - fast_slope_steps*2 - + (slow_slope_steps >> scan_step_type); */ + /* but head has moved due to shading calibration => dev->scanhead_position_primary */ + if (feedl > 0) + { + DBG(DBG_info, "%s: initial move=%d\n", __func__, feedl); + + /* TODO clean up this when I'll fully understand. + * for now, special casing each motor */ + switch (dev->model->motor_id) { + case MotorId::MD_5345: + switch (motor->dpi) { + case 200: + feedl -= 70; + break; + case 300: + feedl -= 70; + break; + case 400: + feedl += 130; + break; + case 600: + feedl += 160; + break; + case 1200: + feedl += 160; + break; + case 2400: + feedl += 180; + break; + default: + break; + } + break; + case MotorId::HP2300: + switch (motor->dpi) { + case 75: + feedl -= 180; + break; + case 150: + feedl += 0; + break; + case 300: + feedl += 30; + break; + case 600: + feedl += 35; + break; + case 1200: + feedl += 45; + break; + default: + break; + } + break; + case MotorId::HP2400: + switch (motor->dpi) { + case 150: + feedl += 150; + break; + case 300: + feedl += 220; + break; + case 600: + feedl += 260; + break; + case 1200: + feedl += 280; /* 300 */ + break; + case 50: + feedl += 0; + break; + case 100: + feedl += 100; + break; + default: + break; + } + break; + + /* theorical value */ + default: { + unsigned step_shift = static_cast(motor->steptype); + + if (motor->fastfed) + { + feedl = feedl - 2 * slope_table2.steps_count - + (slope_table1.steps_count >> step_shift); + } + else + { + feedl = feedl - (slope_table1.steps_count >> step_shift); + } + break; + } + } + /* security */ + if (feedl < 0) + feedl = 0; + } + + DBG(DBG_info, "%s: final move=%d\n", __func__, feedl); + regs->set24(REG_FEEDL, feedl); + + regs->find_reg(0x65).value = motor->mtrpwm; + + sanei_genesys_calculate_zmod(regs->find_reg(0x02).value & REG_0x02_FASTFED, + sensor.exposure_lperiod, + slope_table1.table, + slope_table1.steps_count, + move, motor->fwdbwd, &z1, &z2); + + /* no z1/z2 for sheetfed scanners */ + if (dev->model->is_sheetfed) { + z1 = 0; + z2 = 0; + } + regs->set16(REG_Z1MOD, z1); + regs->set16(REG_Z2MOD, z2); + regs->find_reg(0x6b).value = slope_table2.steps_count; + regs->find_reg(0x6c).value = + (regs->find_reg(0x6c).value & REG_0x6C_TGTIME) | ((z1 >> 13) & 0x38) | ((z2 >> 16) + & 0x07); + + write_control(dev, sensor, session.output_resolution); + + // setup analog frontend + gl646_set_fe(dev, sensor, AFE_SET, session.output_resolution); + + dev->read_buffer.clear(); + dev->read_buffer.alloc(session.buffer_size_read); + + build_image_pipeline(dev, session); + + dev->read_active = true; + + dev->session = session; + + dev->total_bytes_read = 0; + dev->total_bytes_to_read = session.output_line_bytes_requested * session.params.lines; + + /* select color filter based on settings */ + regs->find_reg(0x04).value &= ~REG_0x04_FILTER; + if (session.params.channels == 1) { + switch (session.params.color_filter) { + case ColorFilter::RED: + regs->find_reg(0x04).value |= 0x04; + break; + case ColorFilter::GREEN: + regs->find_reg(0x04).value |= 0x08; + break; + case ColorFilter::BLUE: + regs->find_reg(0x04).value |= 0x0c; + break; + default: + break; + } + } + + gl646_send_slope_table(dev, 0, slope_table1.table, regs->get8(0x21)); + gl646_send_slope_table(dev, 1, slope_table2.table, regs->get8(0x6b)); +} + + +/** copy sensor specific settings */ +/* *dev : device infos + *regs : regiters to be set + extended : do extended set up + ccd_size_divisor: set up for half ccd resolution + all registers 08-0B, 10-1D, 52-5E are set up. They shouldn't + appear anywhere else but in register init +*/ +static void +gl646_setup_sensor (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * regs) +{ + (void) dev; + DBG(DBG_proc, "%s: start\n", __func__); + + for (const auto& reg_setting : sensor.custom_base_regs) { + regs->set8(reg_setting.address, reg_setting.value); + } + // FIXME: all other drivers don't set exposure here + regs_set_exposure(AsicType::GL646, *regs, sensor.exposure); + + DBG(DBG_proc, "%s: end\n", __func__); +} + +/** + * Set all registers to default values after init + * @param dev scannerr's device to set + */ +static void +gl646_init_regs (Genesys_Device * dev) +{ + int addr; + + DBG(DBG_proc, "%s\n", __func__); + + dev->reg.clear(); + + for (addr = 1; addr <= 0x0b; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x10; addr <= 0x29; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x2c; addr <= 0x39; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x3d; addr <= 0x3f; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x52; addr <= 0x5e; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x60; addr <= 0x6d; addr++) + dev->reg.init_reg(addr, 0); + + dev->reg.find_reg(0x01).value = 0x20 /*0x22 */ ; /* enable shading, CCD, color, 1M */ + dev->reg.find_reg(0x02).value = 0x30 /*0x38 */ ; /* auto home, one-table-move, full step */ + if (dev->model->motor_id == MotorId::MD_5345) { + dev->reg.find_reg(0x02).value |= 0x01; // half-step + } + switch (dev->model->motor_id) { + case MotorId::MD_5345: + dev->reg.find_reg(0x02).value |= 0x01; /* half-step */ + break; + case MotorId::XP200: + /* for this sheetfed scanner, no AGOHOME, nor backtracking */ + dev->reg.find_reg(0x02).value = 0x50; + break; + default: + break; + } + dev->reg.find_reg(0x03).value = 0x1f /*0x17 */ ; /* lamp on */ + dev->reg.find_reg(0x04).value = 0x13 /*0x03 */ ; /* 8 bits data, 16 bits A/D, color, Wolfson fe *//* todo: according to spec, 0x0 is reserved? */ + switch (dev->model->adc_id) + { + case AdcId::AD_XP200: + dev->reg.find_reg(0x04).value = 0x12; + break; + default: + /* Wolfson frontend */ + dev->reg.find_reg(0x04).value = 0x13; + break; + } + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + dev->reg.find_reg(0x05).value = 0x00; /* 12 bits gamma, disable gamma, 24 clocks/pixel */ + sanei_genesys_set_dpihw(dev->reg, sensor, sensor.optical_res); + + if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) { + dev->reg.find_reg(0x05).value |= REG_0x05_GMM14BIT; + } + if (dev->model->adc_id == AdcId::AD_XP200) { + dev->reg.find_reg(0x05).value |= 0x01; /* 12 clocks/pixel */ + } + + if (dev->model->sensor_id == SensorId::CCD_HP2300) { + dev->reg.find_reg(0x06).value = 0x00; // PWRBIT off, shading gain=4, normal AFE image capture + } else { + dev->reg.find_reg(0x06).value = 0x18; // PWRBIT on, shading gain=8, normal AFE image capture + } + + + gl646_setup_sensor(dev, sensor, &dev->reg); + + dev->reg.find_reg(0x1e).value = 0xf0; /* watch-dog time */ + + switch (dev->model->sensor_id) + { + case SensorId::CCD_HP2300: + dev->reg.find_reg(0x1e).value = 0xf0; + dev->reg.find_reg(0x1f).value = 0x10; + dev->reg.find_reg(0x20).value = 0x20; + break; + case SensorId::CCD_HP2400: + dev->reg.find_reg(0x1e).value = 0x80; + dev->reg.find_reg(0x1f).value = 0x10; + dev->reg.find_reg(0x20).value = 0x20; + break; + case SensorId::CCD_HP3670: + dev->reg.find_reg(0x19).value = 0x2a; + dev->reg.find_reg(0x1e).value = 0x80; + dev->reg.find_reg(0x1f).value = 0x10; + dev->reg.find_reg(0x20).value = 0x20; + break; + case SensorId::CIS_XP200: + dev->reg.find_reg(0x1e).value = 0x10; + dev->reg.find_reg(0x1f).value = 0x01; + dev->reg.find_reg(0x20).value = 0x50; + break; + default: + dev->reg.find_reg(0x1f).value = 0x01; + dev->reg.find_reg(0x20).value = 0x50; + break; + } + + dev->reg.find_reg(0x21).value = 0x08 /*0x20 */ ; /* table one steps number for forward slope curve of the acc/dec */ + dev->reg.find_reg(0x22).value = 0x10 /*0x08 */ ; /* steps number of the forward steps for start/stop */ + dev->reg.find_reg(0x23).value = 0x10 /*0x08 */ ; /* steps number of the backward steps for start/stop */ + dev->reg.find_reg(0x24).value = 0x08 /*0x20 */ ; /* table one steps number backward slope curve of the acc/dec */ + dev->reg.find_reg(0x25).value = 0x00; /* scan line numbers (7000) */ + dev->reg.find_reg(0x26).value = 0x00 /*0x1b */ ; + dev->reg.find_reg(0x27).value = 0xd4 /*0x58 */ ; + dev->reg.find_reg(0x28).value = 0x01; /* PWM duty for lamp control */ + dev->reg.find_reg(0x29).value = 0xff; + + dev->reg.find_reg(0x2c).value = 0x02; /* set resolution (600 DPI) */ + dev->reg.find_reg(0x2d).value = 0x58; + dev->reg.find_reg(0x2e).value = 0x78; /* set black&white threshold high level */ + dev->reg.find_reg(0x2f).value = 0x7f; /* set black&white threshold low level */ + + dev->reg.find_reg(0x30).value = 0x00; /* begin pixel position (16) */ + dev->reg.find_reg(0x31).value = sensor.dummy_pixel /*0x10 */ ; /* TGW + 2*TG_SHLD + x */ + dev->reg.find_reg(0x32).value = 0x2a /*0x15 */ ; /* end pixel position (5390) */ + dev->reg.find_reg(0x33).value = 0xf8 /*0x0e */ ; /* TGW + 2*TG_SHLD + y */ + dev->reg.find_reg(0x34).value = sensor.dummy_pixel; + dev->reg.find_reg(0x35).value = 0x01 /*0x00 */ ; /* set maximum word size per line, for buffer full control (10800) */ + dev->reg.find_reg(0x36).value = 0x00 /*0x2a */ ; + dev->reg.find_reg(0x37).value = 0x00 /*0x30 */ ; + dev->reg.find_reg(0x38).value = 0x2a; // line period (exposure time = 11000 pixels) */ + dev->reg.find_reg(0x39).value = 0xf8; + dev->reg.find_reg(0x3d).value = 0x00; /* set feed steps number of motor move */ + dev->reg.find_reg(0x3e).value = 0x00; + dev->reg.find_reg(0x3f).value = 0x01 /*0x00 */ ; + + dev->reg.find_reg(0x60).value = 0x00; /* Z1MOD, 60h:61h:(6D b5:b3), remainder for start/stop */ + dev->reg.find_reg(0x61).value = 0x00; /* (21h+22h)/LPeriod */ + dev->reg.find_reg(0x62).value = 0x00; /* Z2MODE, 62h:63h:(6D b2:b0), remainder for start scan */ + dev->reg.find_reg(0x63).value = 0x00; /* (3Dh+3Eh+3Fh)/LPeriod for one-table mode,(21h+1Fh)/LPeriod */ + dev->reg.find_reg(0x64).value = 0x00; /* motor PWM frequency */ + dev->reg.find_reg(0x65).value = 0x00; /* PWM duty cycle for table one motor phase (63 = max) */ + if (dev->model->motor_id == MotorId::MD_5345) { + // PWM duty cycle for table one motor phase (63 = max) + dev->reg.find_reg(0x65).value = 0x02; + } + + for (const auto& reg : dev->gpo.regs) { + dev->reg.set8(reg.address, reg.value); + } + + switch (dev->model->motor_id) { + case MotorId::HP2300: + case MotorId::HP2400: + dev->reg.find_reg(0x6a).value = 0x7f; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6b).value = 0x78; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6d).value = 0x7f; + break; + case MotorId::MD_5345: + dev->reg.find_reg(0x6a).value = 0x42; /* table two fast moving step type, PWM duty for table two */ + dev->reg.find_reg(0x6b).value = 0xff; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6d).value = 0x41; /* select deceleration steps whenever go home (0), accel/decel stop time (31 * LPeriod) */ + break; + case MotorId::XP200: + dev->reg.find_reg(0x6a).value = 0x7f; /* table two fast moving step type, PWM duty for table two */ + dev->reg.find_reg(0x6b).value = 0x08; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6d).value = 0x01; /* select deceleration steps whenever go home (0), accel/decel stop time (31 * LPeriod) */ + break; + case MotorId::HP3670: + dev->reg.find_reg(0x6a).value = 0x41; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6b).value = 0xc8; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6d).value = 0x7f; + break; + default: + dev->reg.find_reg(0x6a).value = 0x40; /* table two fast moving step type, PWM duty for table two */ + dev->reg.find_reg(0x6b).value = 0xff; /* table two steps number for acc/dec */ + dev->reg.find_reg(0x6d).value = 0x01; /* select deceleration steps whenever go home (0), accel/decel stop time (31 * LPeriod) */ + break; + } + dev->reg.find_reg(0x6c).value = 0x00; /* peroid times for LPeriod, expR,expG,expB, Z1MODE, Z2MODE (one period time) */ +} + + +// Send slope table for motor movement slope_table in machine byte order +static void gl646_send_slope_table(Genesys_Device* dev, int table_nr, + const std::vector& slope_table, + int steps) +{ + DBG_HELPER_ARGS(dbg, "table_nr = %d, steps = %d)=%d .. %d", table_nr, steps, slope_table[0], + slope_table[steps - 1]); + int dpihw; + int start_address; + + dpihw = dev->reg.find_reg(0x05).value >> 6; + + if (dpihw == 0) /* 600 dpi */ + start_address = 0x08000; + else if (dpihw == 1) /* 1200 dpi */ + start_address = 0x10000; + else if (dpihw == 2) /* 2400 dpi */ + start_address = 0x1f800; + else { + throw SaneException("Unexpected dpihw"); + } + + std::vector table(steps * 2); + for (int i = 0; i < steps; i++) + { + table[i * 2] = slope_table[i] & 0xff; + table[i * 2 + 1] = slope_table[i] >> 8; + } + + if (dev->interface->is_mock()) { + dev->interface->record_slope_table(table_nr, slope_table); + } + dev->interface->write_buffer(0x3c, start_address + table_nr * 0x100, table.data(), steps * 2); +} + +// Set values of Analog Device type frontend +static void gl646_set_ad_fe(Genesys_Device* dev, uint8_t set) +{ + DBG_HELPER(dbg); + int i; + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, + static_cast(dev->model->adc_id)); + + dev->frontend = dev->frontend_initial; + + // write them to analog frontend + dev->interface->write_fe_register(0x00, dev->frontend.regs.get_value(0x00)); + dev->interface->write_fe_register(0x01, dev->frontend.regs.get_value(0x01)); + } + if (set == AFE_SET) + { + for (i = 0; i < 3; i++) { + dev->interface->write_fe_register(0x02 + i, dev->frontend.get_gain(i)); + } + for (i = 0; i < 3; i++) { + dev->interface->write_fe_register(0x05 + i, dev->frontend.get_offset(i)); + } + } + /* + if (set == AFE_POWER_SAVE) + { + dev->interface->write_fe_register(0x00, dev->frontend.reg[0] | 0x04); + } */ +} + +/** set up analog frontend + * set up analog frontend + * @param dev device to set up + * @param set action from AFE_SET, AFE_INIT and AFE_POWERSAVE + * @param dpi resolution of the scan since it affects settings + */ +static void gl646_wm_hp3670(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set, + unsigned dpi) +{ + DBG_HELPER(dbg); + int i; + + switch (set) + { + case AFE_INIT: + dev->interface->write_fe_register(0x04, 0x80); + dev->interface->sleep_ms(200); + dev->interface->write_register(0x50, 0x00); + dev->frontend = dev->frontend_initial; + dev->interface->write_fe_register(0x01, dev->frontend.regs.get_value(0x01)); + dev->interface->write_fe_register(0x02, dev->frontend.regs.get_value(0x02)); + gl646_gpio_output_enable(dev->interface->get_usb_device(), 0x07); + break; + case AFE_POWER_SAVE: + dev->interface->write_fe_register(0x01, 0x06); + dev->interface->write_fe_register(0x06, 0x0f); + return; + break; + default: /* AFE_SET */ + /* mode setup */ + i = dev->frontend.regs.get_value(0x03); + if (dpi > sensor.optical_res / 2) + { + /* fe_reg_0x03 must be 0x12 for 1200 dpi in WOLFSON_HP3670. + * WOLFSON_HP2400 in 1200 dpi mode works well with + * fe_reg_0x03 set to 0x32 or 0x12 but not to 0x02 */ + i = 0x12; + } + dev->interface->write_fe_register(0x03, i); + /* offset and sign (or msb/lsb ?) */ + for (i = 0; i < 3; i++) { + dev->interface->write_fe_register(0x20 + i, dev->frontend.get_offset(i)); + dev->interface->write_fe_register(0x24 + i, dev->frontend.regs.get_value(0x24 + i)); + } + + // gain + for (i = 0; i < 3; i++) { + dev->interface->write_fe_register(0x28 + i, dev->frontend.get_gain(i)); + } + } +} + +/** Set values of analog frontend + * @param dev device to set + * @param set action to execute + * @param dpi dpi to setup the AFE + */ +static void gl646_set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set, int dpi) +{ + DBG_HELPER_ARGS(dbg, "%s,%d", set == AFE_INIT ? "init" : + set == AFE_SET ? "set" : + set == AFE_POWER_SAVE ? "powersave" : "huh?", dpi); + int i; + uint8_t val; + + /* Analog Device type frontend */ + uint8_t frontend_type = dev->reg.find_reg(0x04).value & REG_0x04_FESET; + if (frontend_type == 0x02) { + gl646_set_ad_fe(dev, set); + return; + } + + /* Wolfson type frontend */ + if (frontend_type != 0x03) { + throw SaneException("unsupported frontend type %d", frontend_type); + } + + /* per frontend function to keep code clean */ + switch (dev->model->adc_id) + { + case AdcId::WOLFSON_HP3670: + case AdcId::WOLFSON_HP2400: + gl646_wm_hp3670(dev, sensor, set, dpi); + return; + default: + DBG(DBG_proc, "%s(): using old method\n", __func__); + break; + } + + /* initialize analog frontend */ + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, + static_cast(dev->model->adc_id)); + dev->frontend = dev->frontend_initial; + + // reset only done on init + dev->interface->write_fe_register(0x04, 0x80); + + /* enable GPIO for some models */ + if (dev->model->sensor_id == SensorId::CCD_HP2300) { + val = 0x07; + gl646_gpio_output_enable(dev->interface->get_usb_device(), val); + } + return; + } + + // set fontend to power saving mode + if (set == AFE_POWER_SAVE) { + dev->interface->write_fe_register(0x01, 0x02); + return; + } + + /* here starts AFE_SET */ + /* TODO : base this test on cfg reg3 or a CCD family flag to be created */ + /* if (dev->model->ccd_type != SensorId::CCD_HP2300 + && dev->model->ccd_type != SensorId::CCD_HP3670 + && dev->model->ccd_type != SensorId::CCD_HP2400) */ + { + dev->interface->write_fe_register(0x00, dev->frontend.regs.get_value(0x00)); + dev->interface->write_fe_register(0x02, dev->frontend.regs.get_value(0x02)); + } + + // start with reg3 + dev->interface->write_fe_register(0x03, dev->frontend.regs.get_value(0x03)); + + switch (dev->model->sensor_id) + { + default: + for (i = 0; i < 3; i++) { + dev->interface->write_fe_register(0x24 + i, dev->frontend.regs.get_value(0x24 + i)); + dev->interface->write_fe_register(0x28 + i, dev->frontend.get_gain(i)); + dev->interface->write_fe_register(0x20 + i, dev->frontend.get_offset(i)); + } + break; + /* just can't have it to work .... + case SensorId::CCD_HP2300: + case SensorId::CCD_HP2400: + case SensorId::CCD_HP3670: + + dev->interface->write_fe_register(0x23, dev->frontend.get_offset(1)); + dev->interface->write_fe_register(0x28, dev->frontend.get_gain(1)); + break; */ + } + + // end with reg1 + dev->interface->write_fe_register(0x01, dev->frontend.regs.get_value(0x01)); +} + +/** Set values of analog frontend + * this this the public interface, the gl646 as to use one more + * parameter to work effectively, hence the redirection + * @param dev device to set + * @param set action to execute + */ +void CommandSetGl646::set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set) const +{ + gl646_set_fe(dev, sensor, set, dev->settings.yres); +} + +/** + * enters or leaves power saving mode + * limited to AFE for now. + * @param dev scanner's device + * @param enable true to enable power saving, false to leave it + */ +void CommandSetGl646::save_power(Genesys_Device* dev, bool enable) const +{ + DBG_HELPER_ARGS(dbg, "enable = %d", enable); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + if (enable) + { + // gl646_set_fe(dev, sensor, AFE_POWER_SAVE); + } + else + { + gl646_set_fe(dev, sensor, AFE_INIT, 0); + } +} + +void CommandSetGl646::set_powersaving(Genesys_Device* dev, int delay /* in minutes */) const +{ + DBG_HELPER_ARGS(dbg, "delay = %d", delay); + Genesys_Register_Set local_reg(Genesys_Register_Set::SEQUENTIAL); + int rate, exposure_time, tgtime, time; + + local_reg.init_reg(0x01, dev->reg.get8(0x01)); // disable fastmode + local_reg.init_reg(0x03, dev->reg.get8(0x03)); // Lamp power control + local_reg.init_reg(0x05, dev->reg.get8(0x05) & ~REG_0x05_BASESEL); // 24 clocks/pixel + local_reg.init_reg(0x38, 0x00); // line period low + local_reg.init_reg(0x39, 0x00); //line period high + local_reg.init_reg(0x6c, 0x00); // period times for LPeriod, expR,expG,expB, Z1MODE, Z2MODE + + if (!delay) + local_reg.find_reg(0x03).value &= 0xf0; /* disable lampdog and set lamptime = 0 */ + else if (delay < 20) + local_reg.find_reg(0x03).value = (local_reg.get8(0x03) & 0xf0) | 0x09; /* enable lampdog and set lamptime = 1 */ + else + local_reg.find_reg(0x03).value = (local_reg.get8(0x03) & 0xf0) | 0x0f; /* enable lampdog and set lamptime = 7 */ + + time = delay * 1000 * 60; /* -> msec */ + exposure_time = static_cast((time * 32000.0 / + (24.0 * 64.0 * (local_reg.get8(0x03) & REG_0x03_LAMPTIM) * + 1024.0) + 0.5)); + /* 32000 = system clock, 24 = clocks per pixel */ + rate = (exposure_time + 65536) / 65536; + if (rate > 4) + { + rate = 8; + tgtime = 3; + } + else if (rate > 2) + { + rate = 4; + tgtime = 2; + } + else if (rate > 1) + { + rate = 2; + tgtime = 1; + } + else + { + rate = 1; + tgtime = 0; + } + + local_reg.find_reg(0x6c).value |= tgtime << 6; + exposure_time /= rate; + + if (exposure_time > 65535) + exposure_time = 65535; + + local_reg.find_reg(0x38).value = exposure_time / 256; + local_reg.find_reg(0x39).value = exposure_time & 255; + + dev->interface->write_registers(local_reg); +} + + +/** + * loads document into scanner + * currently only used by XP200 + * bit2 (0x04) of gpio is paper event (document in/out) on XP200 + * HOMESNR is set if no document in front of sensor, the sequence of events is + * paper event -> document is in the sheet feeder + * HOMESNR becomes 0 -> document reach sensor + * HOMESNR becomes 1 ->document left sensor + * paper event -> document is out + */ +void CommandSetGl646::load_document(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + + // FIXME: sequential not really needed in this case + Genesys_Register_Set regs(Genesys_Register_Set::SEQUENTIAL); + unsigned count; + + /* no need to load document is flatbed scanner */ + if (!dev->model->is_sheetfed) { + DBG(DBG_proc, "%s: nothing to load\n", __func__); + DBG(DBG_proc, "%s: end\n", __func__); + return; + } + + auto status = scanner_read_status(*dev); + + // home sensor is set if a document is inserted + if (status.is_at_home) { + /* if no document, waits for a paper event to start loading */ + /* with a 60 seconde minutes timeout */ + count = 0; + std::uint8_t val = 0; + do { + gl646_gpio_read(dev->interface->get_usb_device(), &val); + + DBG(DBG_info, "%s: GPIO=0x%02x\n", __func__, val); + if ((val & 0x04) != 0x04) + { + DBG(DBG_warn, "%s: no paper detected\n", __func__); + } + dev->interface->sleep_ms(200); + count++; + } + while (((val & 0x04) != 0x04) && (count < 300)); /* 1 min time out */ + if (count == 300) + { + throw SaneException(SANE_STATUS_NO_DOCS, "timeout waiting for document"); + } + } + + /* set up to fast move before scan then move until document is detected */ + regs.init_reg(0x01, 0x90); + + /* AGOME, 2 slopes motor moving */ + regs.init_reg(0x02, 0x79); + + /* motor feeding steps to 0 */ + regs.init_reg(0x3d, 0); + regs.init_reg(0x3e, 0); + regs.init_reg(0x3f, 0); + + /* 50 fast moving steps */ + regs.init_reg(0x6b, 50); + + /* set GPO */ + regs.init_reg(0x66, 0x30); + + /* stesp NO */ + regs.init_reg(0x21, 4); + regs.init_reg(0x22, 1); + regs.init_reg(0x23, 1); + regs.init_reg(0x24, 4); + + /* generate slope table 2 */ + auto slope_table = create_slope_table(MotorSlope::create_from_steps(6000, 2400, 50), 2400, + StepType::FULL, 1, 4, + get_slope_table_max_size(AsicType::GL646)); + // document loading: + // send regs + // start motor + // wait e1 status to become e0 + gl646_send_slope_table(dev, 1, slope_table.table, slope_table.steps_count); + + dev->interface->write_registers(regs); + + scanner_start_action(*dev, true); + + count = 0; + do + { + status = scanner_read_status(*dev); + dev->interface->sleep_ms(200); + count++; + } while (status.is_motor_enabled && (count < 300)); + + if (count == 300) + { + throw SaneException(SANE_STATUS_JAMMED, "can't load document"); + } + + /* when loading OK, document is here */ + dev->document = true; + + /* set up to idle */ + regs.set8(0x02, 0x71); + regs.set8(0x3f, 1); + regs.set8(0x6b, 8); + dev->interface->write_registers(regs); +} + +/** + * detects end of document and adjust current scan + * to take it into account + * used by sheetfed scanners + */ +void CommandSetGl646::detect_document_end(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + std::uint8_t gpio; + unsigned int bytes_left; + + // test for document presence + scanner_read_print_status(*dev); + + gl646_gpio_read(dev->interface->get_usb_device(), &gpio); + DBG(DBG_info, "%s: GPIO=0x%02x\n", __func__, gpio); + + /* detect document event. There one event when the document go in, + * then another when it leaves */ + if (dev->document && (gpio & 0x04) && (dev->total_bytes_read > 0)) { + DBG(DBG_info, "%s: no more document\n", __func__); + dev->document = false; + + /* adjust number of bytes to read: + * total_bytes_to_read is the number of byte to send to frontend + * total_bytes_read is the number of bytes sent to frontend + * read_bytes_left is the number of bytes to read from the scanner + */ + DBG(DBG_io, "%s: total_bytes_to_read=%zu\n", __func__, dev->total_bytes_to_read); + DBG(DBG_io, "%s: total_bytes_read =%zu\n", __func__, dev->total_bytes_read); + + // amount of data available from scanner is what to scan + sanei_genesys_read_valid_words(dev, &bytes_left); + + unsigned lines_in_buffer = bytes_left / dev->session.output_line_bytes_raw; + + // we add the number of lines needed to read the last part of the document in + unsigned lines_offset = static_cast( + (dev->model->y_offset * dev->session.params.yres) / MM_PER_INCH); + + unsigned remaining_lines = lines_in_buffer + lines_offset; + + bytes_left = remaining_lines * dev->session.output_line_bytes_raw; + + if (bytes_left < dev->get_pipeline_source().remaining_bytes()) { + dev->get_pipeline_source().set_remaining_bytes(bytes_left); + dev->total_bytes_to_read = dev->total_bytes_read + bytes_left; + } + DBG(DBG_io, "%s: total_bytes_to_read=%zu\n", __func__, dev->total_bytes_to_read); + DBG(DBG_io, "%s: total_bytes_read =%zu\n", __func__, dev->total_bytes_read); + } +} + +/** + * eject document from the feeder + * currently only used by XP200 + * TODO we currently rely on AGOHOME not being set for sheetfed scanners, + * maybe check this flag in eject to let the document being eject automaticaly + */ +void CommandSetGl646::eject_document(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + + // FIXME: SEQUENTIAL not really needed in this case + Genesys_Register_Set regs((Genesys_Register_Set::SEQUENTIAL)); + unsigned count; + std::uint8_t gpio; + + /* at the end there will be noe more document */ + dev->document = false; + + // first check for document event + gl646_gpio_read(dev->interface->get_usb_device(), &gpio); + + DBG(DBG_info, "%s: GPIO=0x%02x\n", __func__, gpio); + + // test status : paper event + HOMESNR -> no more doc ? + auto status = scanner_read_status(*dev); + + // home sensor is set when document is inserted + if (status.is_at_home) { + dev->document = false; + DBG(DBG_info, "%s: no more document to eject\n", __func__); + DBG(DBG_proc, "%s: end\n", __func__); + return; + } + + // there is a document inserted, eject it + dev->interface->write_register(0x01, 0xb0); + + /* wait for motor to stop */ + do { + dev->interface->sleep_ms(200); + status = scanner_read_status(*dev); + } + while (status.is_motor_enabled); + + /* set up to fast move before scan then move until document is detected */ + regs.init_reg(0x01, 0xb0); + + /* AGOME, 2 slopes motor moving , eject 'backward' */ + regs.init_reg(0x02, 0x5d); + + /* motor feeding steps to 119880 */ + regs.init_reg(0x3d, 1); + regs.init_reg(0x3e, 0xd4); + regs.init_reg(0x3f, 0x48); + + /* 60 fast moving steps */ + regs.init_reg(0x6b, 60); + + /* set GPO */ + regs.init_reg(0x66, 0x30); + + /* stesp NO */ + regs.init_reg(0x21, 4); + regs.init_reg(0x22, 1); + regs.init_reg(0x23, 1); + regs.init_reg(0x24, 4); + + /* generate slope table 2 */ + auto slope_table = create_slope_table(MotorSlope::create_from_steps(10000, 1600, 60), 1600, + StepType::FULL, 1, 4, + get_slope_table_max_size(AsicType::GL646)); + // document eject: + // send regs + // start motor + // wait c1 status to become c8 : HOMESNR and ~MOTFLAG + gl646_send_slope_table(dev, 1, slope_table.table, slope_table.steps_count); + + dev->interface->write_registers(regs); + + scanner_start_action(*dev, true); + + /* loop until paper sensor tells paper is out, and till motor is running */ + /* use a 30 timeout */ + count = 0; + do { + status = scanner_read_status(*dev); + + dev->interface->sleep_ms(200); + count++; + } while (!status.is_at_home && (count < 150)); + + // read GPIO on exit + gl646_gpio_read(dev->interface->get_usb_device(), &gpio); + + DBG(DBG_info, "%s: GPIO=0x%02x\n", __func__, gpio); +} + +// Send the low-level scan command +void CommandSetGl646::begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, bool start_motor) const +{ + DBG_HELPER(dbg); + (void) sensor; + // FIXME: SEQUENTIAL not really needed in this case + Genesys_Register_Set local_reg(Genesys_Register_Set::SEQUENTIAL); + + local_reg.init_reg(0x03, reg->get8(0x03)); + local_reg.init_reg(0x01, reg->get8(0x01) | REG_0x01_SCAN); + + if (start_motor) { + local_reg.init_reg(0x0f, 0x01); + } else { + local_reg.init_reg(0x0f, 0x00); // do not start motor yet + } + + dev->interface->write_registers(local_reg); + + dev->advance_head_pos_by_session(ScanHeadId::PRIMARY); +} + + +// Send the stop scan command +static void end_scan_impl(Genesys_Device* dev, Genesys_Register_Set* reg, bool check_stop, + bool eject) +{ + DBG_HELPER_ARGS(dbg, "check_stop = %d, eject = %d", check_stop, eject); + + scanner_stop_action_no_move(*dev, *reg); + + unsigned wait_limit_seconds = 30; + + /* for sheetfed scanners, we may have to eject document */ + if (dev->model->is_sheetfed) { + if (eject && dev->document) { + dev->cmd_set->eject_document(dev); + } + wait_limit_seconds = 3; + } + + if (is_testing_mode()) { + return; + } + + dev->interface->sleep_ms(100); + + if (check_stop) { + for (unsigned i = 0; i < wait_limit_seconds * 10; i++) { + if (scanner_is_motor_stopped(*dev)) { + return; + } + + dev->interface->sleep_ms(100); + } + throw SaneException(SANE_STATUS_IO_ERROR, "could not stop motor"); + } +} + +// Send the stop scan command +void CommandSetGl646::end_scan(Genesys_Device* dev, Genesys_Register_Set* reg, + bool check_stop) const +{ + end_scan_impl(dev, reg, check_stop, false); +} + +/** + * parks head + * @param dev scanner's device + * @param wait_until_home true if the function waits until head parked + */ +void CommandSetGl646::move_back_home(Genesys_Device* dev, bool wait_until_home) const +{ + DBG_HELPER_ARGS(dbg, "wait_until_home = %d\n", wait_until_home); + int i; + int loop = 0; + + auto status = scanner_read_status(*dev); + + if (status.is_at_home) { + DBG(DBG_info, "%s: end since already at home\n", __func__); + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + return; + } + + /* stop motor if needed */ + if (status.is_motor_enabled) { + gl646_stop_motor(dev); + dev->interface->sleep_ms(200); + } + + /* when scanhead is moving then wait until scanhead stops or timeout */ + DBG(DBG_info, "%s: ensuring that motor is off\n", __func__); + for (i = 400; i > 0; i--) { + // do not wait longer than 40 seconds, count down to get i = 0 when busy + + status = scanner_read_status(*dev); + + if (!status.is_motor_enabled && status.is_at_home) { + DBG(DBG_info, "%s: already at home and not moving\n", __func__); + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + return; + } + if (!status.is_motor_enabled) { + break; + } + + dev->interface->sleep_ms(100); + } + + if (!i) /* the loop counted down to 0, scanner still is busy */ + { + dev->set_head_pos_unknown(); + throw SaneException(SANE_STATUS_DEVICE_BUSY, "motor is still on: device busy"); + } + + // setup for a backward scan of 65535 steps, with no actual data reading + auto resolution = sanei_genesys_get_lowest_dpi(dev); + + const auto& sensor = sanei_genesys_find_sensor(dev, resolution, 3, + dev->model->default_method); + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = 0; + session.params.starty = 65535; + session.params.pixels = 600; + session.params.requested_pixels = 600; + session.params.lines = 1; + session.params.depth = 8; + session.params.channels = 3; + session.params.scan_method = dev->model->default_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = ColorFilter::RED; + session.params.flags = ScanFlag::USE_XCORRECTION | + ScanFlag::REVERSE; + if (dev->model->default_method == ScanMethod::TRANSPARENCY) { + session.params.flags |= ScanFlag::USE_XPA; + } + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, &dev->reg, session); + + /* backward , no actual data scanned TODO more setup flags to avoid this register manipulations ? */ + regs_set_optical_off(dev->model->asic_type, dev->reg); + + // sets frontend + gl646_set_fe(dev, sensor, AFE_SET, resolution); + + /* write scan registers */ + try { + dev->interface->write_registers(dev->reg); + } catch (...) { + DBG(DBG_error, "%s: failed to bulk write registers\n", __func__); + } + + /* registers are restored to an iddl state, give up if no head to park */ + if (dev->model->is_sheetfed) { + DBG(DBG_proc, "%s: end \n", __func__); + return; + } + + // starts scan + { + // this is effectively the same as dev->cmd_set->begin_scan(dev, sensor, &dev->reg, true); + // except that we don't modify the head position calculations + + // FIXME: SEQUENTIAL not really needed in this case + Genesys_Register_Set scan_local_reg(Genesys_Register_Set::SEQUENTIAL); + + scan_local_reg.init_reg(0x03, dev->reg.get8(0x03)); + scan_local_reg.init_reg(0x01, dev->reg.get8(0x01) | REG_0x01_SCAN); + scan_local_reg.init_reg(0x0f, 0x01); + + dev->interface->write_registers(scan_local_reg); + } + + if (is_testing_mode()) { + dev->interface->test_checkpoint("move_back_home"); + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + return; + } + + /* loop until head parked */ + if (wait_until_home) + { + while (loop < 300) /* do not wait longer then 30 seconds */ + { + auto status = scanner_read_status(*dev); + + if (status.is_at_home) { + DBG(DBG_info, "%s: reached home position\n", __func__); + DBG(DBG_proc, "%s: end\n", __func__); + dev->interface->sleep_ms(500); + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + return; + } + dev->interface->sleep_ms(100); + ++loop; + } + + // when we come here then the scanner needed too much time for this, so we better + // stop the motor + catch_all_exceptions(__func__, [&](){ gl646_stop_motor (dev); }); + catch_all_exceptions(__func__, [&](){ end_scan_impl(dev, &dev->reg, true, false); }); + dev->set_head_pos_unknown(); + throw SaneException(SANE_STATUS_IO_ERROR, "timeout while waiting for scanhead to go home"); + } + + + DBG(DBG_info, "%s: scanhead is still moving\n", __func__); +} + +/** + * Automatically set top-left edge of the scan area by scanning an + * area at 300 dpi from very top of scanner + * @param dev device stucture describing the scanner + */ +void CommandSetGl646::search_start_position(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + Genesys_Settings settings; + unsigned int resolution, x, y; + + /* we scan at 300 dpi */ + resolution = get_closest_resolution(dev->model->sensor_id, 300, 1); + + // FIXME: the current approach of doing search only for one resolution does not work on scanners + // whith employ different sensors with potentially different settings. + const auto& sensor = sanei_genesys_find_sensor(dev, resolution, 1, + dev->model->default_method); + + /* fill settings for a gray level scan */ + settings.scan_method = dev->model->default_method; + settings.scan_mode = ScanColorMode::GRAY; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = 600; + settings.requested_pixels = settings.pixels; + settings.lines = dev->model->search_lines; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + + // scan the desired area + std::vector data; + simple_scan(dev, sensor, settings, true, true, false, data, "search_start_position"); + + // handle stagger case : reorder gray data and thus loose some lines + auto staggered_lines = dev->session.num_staggered_lines; + if (staggered_lines > 0) { + DBG(DBG_proc, "%s: 'un-staggering'\n", __func__); + for (y = 0; y < settings.lines - staggered_lines; y++) { + /* one point out of 2 is 'unaligned' */ + for (x = 0; x < settings.pixels; x += 2) + { + data[y * settings.pixels + x] = data[(y + staggered_lines) * settings.pixels + x]; + } + } + /* correct line number */ + settings.lines -= staggered_lines; + } + + if (DBG_LEVEL >= DBG_data) + { + sanei_genesys_write_pnm_file("gl646_search_position.pnm", data.data(), settings.depth, 1, + settings.pixels, settings.lines); + } + + // now search reference points on the data + for (auto& sensor_update : + sanei_genesys_find_sensors_all_for_write(dev, dev->model->default_method)) + { + sanei_genesys_search_reference_point(dev, sensor_update, data.data(), 0, + resolution, settings.pixels, settings.lines); + } +} + +/** + * internally overriden during effective calibration + * sets up register for coarse gain calibration + */ +void CommandSetGl646::init_regs_for_coarse_calibration(Genesys_Device* dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + (void) dev; + (void) sensor; + (void) regs; +} + + +/** + * init registers for shading calibration + * we assume that scanner's head is on an area suiting shading calibration. + * We scan a full scan width area by the shading line number for the device + * at either at full sensor's resolution or half depending upon ccd_size_divisor + * @param dev scanner's device + */ +void CommandSetGl646::init_regs_for_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + (void) regs; + Genesys_Settings settings; + int cksel = 1; + + /* fill settings for scan : always a color scan */ + int channels = 3; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, dev->settings.xres, channels, + dev->settings.scan_method); + + unsigned ccd_size_divisor = calib_sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres); + + settings.scan_method = dev->settings.scan_method; + settings.scan_mode = dev->settings.scan_mode; + if (!dev->model->is_cis) { + // FIXME: always a color scan, but why don't we set scan_mode to COLOR_SINGLE_PASS always? + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + } + settings.xres = sensor.optical_res / ccd_size_divisor; + cksel = get_cksel(dev->model->sensor_id, dev->settings.xres, channels); + settings.xres = settings.xres / cksel; + settings.yres = settings.xres; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = (calib_sensor.sensor_pixels * settings.xres) / calib_sensor.optical_res; + settings.requested_pixels = settings.pixels; + dev->calib_lines = dev->model->shading_lines; + settings.lines = dev->calib_lines * (3 - ccd_size_divisor); + settings.depth = 16; + settings.color_filter = dev->settings.color_filter; + + settings.disable_interpolation = dev->settings.disable_interpolation; + settings.threshold = dev->settings.threshold; + + // we don't want top offset, but we need right margin to be the same than the one for the final + // scan + setup_for_scan(dev, calib_sensor, &dev->reg, settings, true, false, false, false); + + /* used when sending shading calibration data */ + dev->calib_pixels = settings.pixels; + dev->calib_channels = dev->session.params.channels; + if (!dev->model->is_cis) { + dev->calib_channels = 3; + } + + /* no shading */ + dev->reg.find_reg(0x01).value &= ~REG_0x01_DVDSET; + dev->reg.find_reg(0x02).value |= REG_0x02_ACDCDIS; /* ease backtracking */ + dev->reg.find_reg(0x02).value &= ~(REG_0x02_FASTFED | REG_0x02_AGOHOME); + dev->reg.find_reg(0x05).value &= ~REG_0x05_GMMENB; + sanei_genesys_set_motor_power(dev->reg, false); + + /* TODO another flag to setup regs ? */ + /* enforce needed LINCNT, getting rid of extra lines for color reordering */ + if (!dev->model->is_cis) { + dev->reg.set24(REG_LINCNT, dev->calib_lines); + } else { + dev->reg.set24(REG_LINCNT, dev->calib_lines * 3); + } + + /* copy reg to calib_reg */ + dev->calib_reg = dev->reg; + + DBG(DBG_info, "%s:\n\tdev->settings.xres=%d\n\tdev->settings.yres=%d\n", __func__, + dev->settings.xres, dev->settings.yres); +} + +bool CommandSetGl646::needs_home_before_init_regs_for_scan(Genesys_Device* dev) const +{ + return dev->is_head_pos_known(ScanHeadId::PRIMARY) && + dev->head_pos(ScanHeadId::PRIMARY) && + dev->settings.scan_method == ScanMethod::FLATBED; +} + +/** + * set up registers for the actual scan. The scan's parameters are given + * through the device settings. It allocates the scan buffers. + */ +void CommandSetGl646::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sensor& sensor) const +{ + DBG_HELPER(dbg); + + debug_dump(DBG_info, dev->settings); + + ScanSession session = calculate_scan_session(dev, sensor, dev->settings); + + init_regs_for_scan_session(dev, sensor, &dev->reg, session); + + /* gamma is only enabled at final scan time */ + if (dev->settings.depth < 16) { + dev->reg.find_reg(0x05).value |= REG_0x05_GMMENB; + } +} + +/** + * set up registers for the actual scan. The scan's parameters are given + * through the device settings. It allocates the scan buffers. + * @param dev scanner's device + * @param regs registers to set up + * @param settings settings of scan + * @param split true if move to scan area is split from scan, false is + * scan first moves to area + * @param xcorrection take x geometry correction into account (fixed and detected offsets) + * @param ycorrection take y geometry correction into account + */ +static void setup_for_scan(Genesys_Device* dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set*regs, + Genesys_Settings settings, + bool split, + bool xcorrection, + bool ycorrection, + bool reverse) +{ + DBG_HELPER(dbg); + + debug_dump(DBG_info, dev->settings); + + // compute distance to move + float move = 0; + // XXX STEF XXX MD5345 -> optical_ydpi, other base_ydpi => half/full step ? */ + if (!split) { + if (!dev->model->is_sheetfed) { + if (ycorrection) { + move = static_cast(dev->model->y_offset); + } + + // add tl_y to base movement + } + move += static_cast(settings.tl_y); + + if (move < 0) { + DBG(DBG_error, "%s: overriding negative move value %f\n", __func__, move); + move = 0; + } + } + move = static_cast((move * dev->motor.optical_ydpi) / MM_PER_INCH); + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + float start = static_cast(settings.tl_x); + if (xcorrection) { + if (settings.scan_method == ScanMethod::FLATBED) { + start += static_cast(dev->model->x_offset); + } else { + start += static_cast(dev->model->x_offset_ta); + } + } + start = static_cast((start * sensor.optical_res) / MM_PER_INCH); + + ScanSession session; + session.params.xres = settings.xres; + session.params.yres = settings.yres; + session.params.startx = static_cast(start); + session.params.starty = static_cast(move); + session.params.pixels = settings.pixels; + session.params.requested_pixels = settings.requested_pixels; + session.params.lines = settings.lines; + session.params.depth = settings.depth; + session.params.channels = settings.get_channels(); + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = settings.scan_mode; + session.params.color_filter = settings.color_filter; + session.params.flags = ScanFlag::NONE; + if (settings.scan_method == ScanMethod::TRANSPARENCY) { + session.params.flags |= ScanFlag::USE_XPA; + } + if (xcorrection) { + session.params.flags |= ScanFlag::USE_XCORRECTION; + } + if (reverse) { + session.params.flags |= ScanFlag::REVERSE; + } + compute_session(dev, session, sensor); + + dev->cmd_set->init_regs_for_scan_session(dev, sensor, regs, session); +} + +/** + * this function send gamma table to ASIC + */ +void CommandSetGl646::send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) const +{ + DBG_HELPER(dbg); + int size; + int address; + int bits; + + /* gamma table size */ + if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) + { + size = 16384; + bits = 14; + } + else + { + size = 4096; + bits = 12; + } + + /* allocate temporary gamma tables: 16 bits words, 3 channels */ + std::vector gamma(size * 2 * 3); + + sanei_genesys_generate_gamma_buffer(dev, sensor, bits, size-1, size, gamma.data()); + + /* table address */ + switch (dev->reg.find_reg(0x05).value >> 6) + { + case 0: /* 600 dpi */ + address = 0x09000; + break; + case 1: /* 1200 dpi */ + address = 0x11000; + break; + case 2: /* 2400 dpi */ + address = 0x20000; + break; + default: + throw SaneException("invalid dpi"); + } + + dev->interface->write_buffer(0x3c, address, gamma.data(), size * 2 * 3); +} + +/** @brief this function does the led calibration. + * this function does the led calibration by scanning one line of the calibration + * area below scanner's top on white strip. The scope of this function is + * currently limited to the XP200 + */ +SensorExposure CommandSetGl646::led_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + (void) regs; + int total_size; + unsigned int i, j; + int val; + int avg[3], avga, avge; + int turn; + uint16_t expr, expg, expb; + Genesys_Settings settings; + SANE_Int resolution; + + unsigned channels = dev->settings.get_channels(); + + /* get led calibration resolution */ + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) + { + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + } + else + { + settings.scan_mode = ScanColorMode::GRAY; + } + resolution = get_closest_resolution(dev->model->sensor_id, sensor.optical_res, channels); + + /* offset calibration is always done in color mode */ + settings.scan_method = dev->model->default_method; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = (sensor.sensor_pixels * resolution) / sensor.optical_res; + settings.requested_pixels = settings.pixels; + settings.lines = 1; + settings.depth = 16; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + + /* colors * bytes_per_color * scan lines */ + total_size = settings.pixels * channels * 2 * 1; + + std::vector line(total_size); + +/* + we try to get equal bright leds here: + + loop: + average per color + adjust exposure times + */ + expr = sensor.exposure.red; + expg = sensor.exposure.green; + expb = sensor.exposure.blue; + + turn = 0; + + auto calib_sensor = sensor; + + bool acceptable = false; + do { + calib_sensor.exposure.red = expr; + calib_sensor.exposure.green = expg; + calib_sensor.exposure.blue = expb; + + DBG(DBG_info, "%s: starting first line reading\n", __func__); + + simple_scan(dev, calib_sensor, settings, false, true, false, line, "led_calibration"); + + if (is_testing_mode()) { + return calib_sensor.exposure; + } + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + std::snprintf(fn, 30, "gl646_led_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, line.data(), 16, channels, settings.pixels, 1); + } + + acceptable = true; + + for (j = 0; j < channels; j++) + { + avg[j] = 0; + for (i = 0; i < settings.pixels; i++) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * settings.pixels + 1] * 256 + + line[i * 2 + j * 2 * settings.pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + avg[j] += val; + } + + avg[j] /= settings.pixels; + } + + DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); + + acceptable = true; + + if (!acceptable) + { + avga = (avg[0] + avg[1] + avg[2]) / 3; + expr = (expr * avga) / avg[0]; + expg = (expg * avga) / avg[1]; + expb = (expb * avga) / avg[2]; + + /* keep exposure time in a working window */ + avge = (expr + expg + expb) / 3; + if (avge > 0x2000) + { + expr = (expr * 0x2000) / avge; + expg = (expg * 0x2000) / avge; + expb = (expb * 0x2000) / avge; + } + if (avge < 0x400) + { + expr = (expr * 0x400) / avge; + expg = (expg * 0x400) / avge; + expb = (expb * 0x400) / avge; + } + } + + turn++; + + } + while (!acceptable && turn < 100); + + DBG(DBG_info,"%s: acceptable exposure: 0x%04x,0x%04x,0x%04x\n", __func__, expr, expg, expb); + // BUG: we don't store the result of the last iteration to the sensor + return calib_sensor.exposure; +} + +/** + * average dark pixels of a scan + */ +static int +dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, + unsigned int channels, unsigned int black) +{ + unsigned int i, j, k, average, count; + unsigned int avg[3]; + uint8_t val; + + /* computes average value on black margin */ + for (k = 0; k < channels; k++) + { + avg[k] = 0; + count = 0; + for (i = 0; i < lines; i++) + { + for (j = 0; j < black; j++) + { + val = data[i * channels * pixels + j + k]; + avg[k] += val; + count++; + } + } + if (count) + avg[k] /= count; + DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); + } + average = 0; + for (i = 0; i < channels; i++) + average += avg[i]; + average /= channels; + DBG(DBG_info, "%s: average = %d\n", __func__, average); + return average; +} + + +/** @brief calibration for AD frontend devices + * we do simple scan until all black_pixels are higher than 0, + * raising offset at each turn. + */ +static void ad_fe_offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor) +{ + DBG_HELPER(dbg); + (void) sensor; + + unsigned int channels; + int pass = 0; + SANE_Int resolution; + Genesys_Settings settings; + unsigned int x, y, adr, min; + unsigned int bottom, black_pixels; + + channels = 3; + resolution = get_closest_resolution(dev->model->sensor_id, sensor.optical_res, channels); + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, 3, ScanMethod::FLATBED); + black_pixels = (calib_sensor.black_pixels * resolution) / calib_sensor.optical_res; + DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); + + settings.scan_method = dev->model->default_method; + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = (calib_sensor.sensor_pixels * resolution) / calib_sensor.optical_res; + settings.requested_pixels = settings.pixels; + settings.lines = CALIBRATION_LINES; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + + /* scan first line of data with no gain */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + + std::vector line; + + /* scan with no move */ + bottom = 1; + do + { + pass++; + dev->frontend.set_offset(0, bottom); + dev->frontend.set_offset(1, bottom); + dev->frontend.set_offset(2, bottom); + simple_scan(dev, calib_sensor, settings, false, true, false, line, + "ad_fe_offset_calibration"); + + if (is_testing_mode()) { + return; + } + + if (DBG_LEVEL >= DBG_data) + { + char title[30]; + std::snprintf(title, 30, "gl646_offset%03d.pnm", static_cast(bottom)); + sanei_genesys_write_pnm_file (title, line.data(), 8, channels, + settings.pixels, settings.lines); + } + + min = 0; + for (y = 0; y < settings.lines; y++) + { + for (x = 0; x < black_pixels; x++) + { + adr = (x + y * settings.pixels) * channels; + if (line[adr] > min) + min = line[adr]; + if (line[adr + 1] > min) + min = line[adr + 1]; + if (line[adr + 2] > min) + min = line[adr + 2]; + } + } + + DBG(DBG_io2, "%s: pass=%d, min=%d\n", __func__, pass, min); + bottom++; + } + while (pass < 128 && min == 0); + if (pass == 128) + { + throw SaneException(SANE_STATUS_INVAL, "failed to find correct offset"); + } + + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); +} + +/** + * This function does the offset calibration by scanning one line of the calibration + * area below scanner's top. There is a black margin and the remaining is white. + * genesys_search_start() must have been called so that the offsets and margins + * are already known. + * @param dev scanner's device +*/ +void CommandSetGl646::offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + (void) regs; + + unsigned int channels; + int pass = 0, avg; + Genesys_Settings settings; + int topavg, bottomavg; + int top, bottom, black_pixels; + + if (dev->model->adc_id == AdcId::AD_XP200) { + ad_fe_offset_calibration(dev, sensor); + return; + } + + DBG(DBG_proc, "%s: start\n", __func__); // TODO + + /* setup for a RGB scan, one full sensor's width line */ + /* resolution is the one from the final scan */ + channels = 3; + int resolution = get_closest_resolution(dev->model->sensor_id, dev->settings.xres, channels); + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, 3, ScanMethod::FLATBED); + black_pixels = (calib_sensor.black_pixels * resolution) / calib_sensor.optical_res; + + DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); + + settings.scan_method = dev->model->default_method; + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = (calib_sensor.sensor_pixels * resolution) / calib_sensor.optical_res; + settings.requested_pixels = settings.pixels; + settings.lines = CALIBRATION_LINES; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + + /* scan first line of data with no gain, but with offset from + * last calibration */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + + /* scan with no move */ + bottom = 90; + dev->frontend.set_offset(0, bottom); + dev->frontend.set_offset(1, bottom); + dev->frontend.set_offset(2, bottom); + + std::vector first_line, second_line; + + simple_scan(dev, calib_sensor, settings, false, true, false, first_line, + "offset_first_line"); + + if (DBG_LEVEL >= DBG_data) + { + char title[30]; + std::snprintf(title, 30, "gl646_offset%03d.pnm", bottom); + sanei_genesys_write_pnm_file(title, first_line.data(), 8, channels, + settings.pixels, settings.lines); + } + bottomavg = dark_average(first_line.data(), settings.pixels, settings.lines, channels, + black_pixels); + DBG(DBG_io2, "%s: bottom avg=%d\n", __func__, bottomavg); + + /* now top value */ + top = 231; + dev->frontend.set_offset(0, top); + dev->frontend.set_offset(1, top); + dev->frontend.set_offset(2, top); + simple_scan(dev, calib_sensor, settings, false, true, false, second_line, + "offset_second_line"); + + if (DBG_LEVEL >= DBG_data) + { + char title[30]; + std::snprintf(title, 30, "gl646_offset%03d.pnm", top); + sanei_genesys_write_pnm_file (title, second_line.data(), 8, channels, + settings.pixels, settings.lines); + } + topavg = dark_average(second_line.data(), settings.pixels, settings.lines, channels, + black_pixels); + DBG(DBG_io2, "%s: top avg=%d\n", __func__, topavg); + + if (is_testing_mode()) { + return; + } + + /* loop until acceptable level */ + while ((pass < 32) && (top - bottom > 1)) + { + pass++; + + /* settings for new scan */ + dev->frontend.set_offset(0, (top + bottom) / 2); + dev->frontend.set_offset(1, (top + bottom) / 2); + dev->frontend.set_offset(2, (top + bottom) / 2); + + // scan with no move + simple_scan(dev, calib_sensor, settings, false, true, false, second_line, + "offset_calibration_i"); + + if (DBG_LEVEL >= DBG_data) + { + char title[30]; + std::snprintf(title, 30, "gl646_offset%03d.pnm", dev->frontend.get_offset(1)); + sanei_genesys_write_pnm_file (title, second_line.data(), 8, channels, + settings.pixels, settings.lines); + } + + avg = + dark_average (second_line.data(), settings.pixels, settings.lines, channels, + black_pixels); + DBG(DBG_info, "%s: avg=%d offset=%d\n", __func__, avg, dev->frontend.get_offset(1)); + + /* compute new boundaries */ + if (topavg == avg) + { + topavg = avg; + top = dev->frontend.get_offset(1); + } + else + { + bottomavg = avg; + bottom = dev->frontend.get_offset(1); + } + } + + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); +} + +/** @brief gain calibration for Analog Device frontends + * Alternative coarse gain calibration + */ +static void ad_fe_coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) +{ + DBG_HELPER(dbg); + (void) sensor; + (void) regs; + + unsigned int i, channels, val; + unsigned int size, count, resolution, pass; + float average; + Genesys_Settings settings; + char title[32]; + + /* setup for a RGB scan, one full sensor's width line */ + /* resolution is the one from the final scan */ + channels = 3; + resolution = get_closest_resolution(dev->model->sensor_id, dpi, channels); + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, 3, ScanMethod::FLATBED); + + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + + settings.scan_method = dev->model->default_method; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = (calib_sensor.sensor_pixels * resolution) / calib_sensor.optical_res; + settings.requested_pixels = settings.pixels; + settings.lines = CALIBRATION_LINES; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + + size = channels * settings.pixels * settings.lines; + + /* start gain value */ + dev->frontend.set_gain(0, 1); + dev->frontend.set_gain(1, 1); + dev->frontend.set_gain(2, 1); + + average = 0; + pass = 0; + + std::vector line; + + // loop until each channel raises to acceptable level + while ((average < calib_sensor.gain_white_ref) && (pass < 30)) { + // scan with no move + simple_scan(dev, calib_sensor, settings, false, true, false, line, + "ad_fe_coarse_gain_calibration"); + + /* log scanning data */ + if (DBG_LEVEL >= DBG_data) + { + std::sprintf(title, "gl646_alternative_gain%02d.pnm", pass); + sanei_genesys_write_pnm_file(title, line.data(), 8, channels, settings.pixels, + settings.lines); + } + pass++; + + /* computes white average */ + average = 0; + count = 0; + for (i = 0; i < size; i++) + { + val = line[i]; + average += val; + count++; + } + average = average / count; + + uint8_t gain0 = dev->frontend.get_gain(0); + // adjusts gain for the channel + if (average < calib_sensor.gain_white_ref) { + gain0 += 1; + } + + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain0); + dev->frontend.set_gain(2, gain0); + + DBG(DBG_proc, "%s: average = %.2f, gain = %d\n", __func__, average, gain0); + } + + DBG(DBG_info, "%s: gains=(%d,%d,%d)\n", __func__, + dev->frontend.get_gain(0), + dev->frontend.get_gain(1), + dev->frontend.get_gain(2)); +} + +/** + * Alternative coarse gain calibration + * this on uses the settings from offset_calibration. First scan moves so + * we can go to calibration area for XPA. + * @param dev device for scan + * @param dpi resolutnio to calibrate at + */ +void CommandSetGl646::coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) const +{ + DBG_HELPER(dbg); + (void) dpi; + + unsigned int i, j, k, channels, val, maximum, idx; + unsigned int count, resolution, pass; + float average[3]; + Genesys_Settings settings; + char title[32]; + + if (dev->model->sensor_id == SensorId::CIS_XP200) { + return ad_fe_coarse_gain_calibration(dev, sensor, regs, sensor.optical_res); + } + + /* setup for a RGB scan, one full sensor's width line */ + /* resolution is the one from the final scan */ + channels = 3; + + /* we are searching a sensor resolution */ + resolution = get_closest_resolution(dev->model->sensor_id, dev->settings.xres, channels); + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, channels, + ScanMethod::FLATBED); + + settings.scan_method = dev->settings.scan_method; + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_y = 0; + if (settings.scan_method == ScanMethod::FLATBED) + { + settings.tl_x = 0; + settings.pixels = (calib_sensor.sensor_pixels * resolution) / calib_sensor.optical_res; + } + else + { + settings.tl_x = dev->model->x_offset_ta; + settings.pixels = static_cast((dev->model->x_size_ta * resolution) / MM_PER_INCH); + } + settings.requested_pixels = settings.pixels; + settings.lines = CALIBRATION_LINES; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + + /* start gain value */ + dev->frontend.set_gain(0, 1); + dev->frontend.set_gain(1, 1); + dev->frontend.set_gain(2, 1); + + if (channels > 1) + { + average[0] = 0; + average[1] = 0; + average[2] = 0; + idx = 0; + } + else + { + average[0] = 255; + average[1] = 255; + average[2] = 255; + switch (dev->settings.color_filter) { + case ColorFilter::RED: idx = 0; break; + case ColorFilter::GREEN: idx = 1; break; + case ColorFilter::BLUE: idx = 2; break; + default: idx = 0; break; // should not happen + } + average[idx] = 0; + } + pass = 0; + + std::vector line; + + /* loop until each channel raises to acceptable level */ + while (((average[0] < calib_sensor.gain_white_ref) || + (average[1] < calib_sensor.gain_white_ref) || + (average[2] < calib_sensor.gain_white_ref)) && (pass < 30)) + { + // scan with no move + simple_scan(dev, calib_sensor, settings, false, true, false, line, + "coarse_gain_calibration"); + + /* log scanning data */ + if (DBG_LEVEL >= DBG_data) + { + std::sprintf(title, "gl646_gain%02d.pnm", pass); + sanei_genesys_write_pnm_file(title, line.data(), 8, channels, settings.pixels, + settings.lines); + } + pass++; + + /* average high level for each channel and compute gain + to reach the target code + we only use the central half of the CCD data */ + for (k = idx; k < idx + channels; k++) + { + /* we find the maximum white value, so we can deduce a threshold + to average white values */ + maximum = 0; + for (i = 0; i < settings.lines; i++) + { + for (j = 0; j < settings.pixels; j++) + { + val = line[i * channels * settings.pixels + j + k]; + if (val > maximum) + maximum = val; + } + } + + /* threshold */ + maximum = static_cast(maximum * 0.9); + + /* computes white average */ + average[k] = 0; + count = 0; + for (i = 0; i < settings.lines; i++) + { + for (j = 0; j < settings.pixels; j++) + { + /* averaging only white points allow us not to care about dark margins */ + val = line[i * channels * settings.pixels + j + k]; + if (val > maximum) + { + average[k] += val; + count++; + } + } + } + average[k] = average[k] / count; + + /* adjusts gain for the channel */ + if (average[k] < calib_sensor.gain_white_ref) + dev->frontend.set_gain(k, dev->frontend.get_gain(k) + 1); + + DBG(DBG_proc, "%s: channel %d, average = %.2f, gain = %d\n", __func__, k, average[k], + dev->frontend.get_gain(k)); + } + } + + if (channels < 3) { + dev->frontend.set_gain(1, dev->frontend.get_gain(0)); + dev->frontend.set_gain(2, dev->frontend.get_gain(0)); + } + + DBG(DBG_info, "%s: gains=(%d,%d,%d)\n", __func__, + dev->frontend.get_gain(0), + dev->frontend.get_gain(1), + dev->frontend.get_gain(2)); +} + +/** + * sets up the scanner's register for warming up. We scan 2 lines without moving. + * + */ +void CommandSetGl646::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* local_reg, int* channels, + int* total_size) const +{ + DBG_HELPER(dbg); + (void) sensor; + + Genesys_Settings settings; + int resolution, lines; + + dev->frontend = dev->frontend_initial; + + resolution = get_closest_resolution(dev->model->sensor_id, 300, 1); + + const auto& local_sensor = sanei_genesys_find_sensor(dev, resolution, 1, + dev->settings.scan_method); + + /* set up for a half width 2 lines gray scan without moving */ + settings.scan_method = dev->model->default_method; + settings.scan_mode = ScanColorMode::GRAY; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = (local_sensor.sensor_pixels * resolution) / local_sensor.optical_res; + settings.requested_pixels = settings.pixels; + settings.lines = 2; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + + // setup for scan + setup_for_scan(dev, local_sensor, &dev->reg, settings, true, false, false, false); + + /* we are not going to move, so clear these bits */ + dev->reg.find_reg(0x02).value &= ~(REG_0x02_FASTFED | REG_0x02_AGOHOME); + + /* don't enable any correction for this scan */ + dev->reg.find_reg(0x01).value &= ~REG_0x01_DVDSET; + + /* copy to local_reg */ + *local_reg = dev->reg; + + /* turn off motor during this scan */ + sanei_genesys_set_motor_power(*local_reg, false); + + /* returned value to higher level warmup function */ + *channels = 1; + lines = local_reg->get24(REG_LINCNT) + 1; + *total_size = lines * settings.pixels; + + // now registers are ok, write them to scanner + gl646_set_fe(dev, local_sensor, AFE_SET, settings.xres); + dev->interface->write_registers(*local_reg); +} + + +/* + * this function moves head without scanning, forward, then backward + * so that the head goes to park position. + * as a by-product, also check for lock + */ +static void gl646_repark_head(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + Genesys_Settings settings; + unsigned int expected, steps; + + settings.scan_method = dev->model->default_method; + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + settings.xres = get_closest_resolution(dev->model->sensor_id, 75, 1); + settings.yres = settings.xres; + settings.tl_x = 0; + settings.tl_y = 5; + settings.pixels = 600; + settings.requested_pixels = settings.pixels; + settings.lines = 4; + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + + const auto& sensor = sanei_genesys_find_sensor(dev, settings.xres, 3, + dev->model->default_method); + + setup_for_scan(dev, sensor, &dev->reg, settings, false, false, false, false); + + /* TODO seems wrong ... no effective scan */ + regs_set_optical_off(dev->model->asic_type, dev->reg); + + dev->interface->write_registers(dev->reg); + + // start scan + dev->cmd_set->begin_scan(dev, sensor, &dev->reg, true); + + expected = dev->reg.get24(REG_FEEDL); + do + { + dev->interface->sleep_ms(100); + sanei_genesys_read_feed_steps (dev, &steps); + } + while (steps < expected); + + // toggle motor flag, put an huge step number and redo move backward + dev->cmd_set->move_back_home(dev, 1); +} + +/* * + * initialize ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home + * @param dev device description of the scanner to initailize + */ +void CommandSetGl646::init(Genesys_Device* dev) const +{ + DBG_INIT(); + DBG_HELPER(dbg); + + uint8_t val = 0; + uint32_t addr = 0xdead; + size_t len; + + // to detect real power up condition, we write to REG_0x41 with pwrbit set, then read it back. + // When scanner is cold (just replugged) PWRBIT will be set in the returned value + auto status = scanner_read_status(*dev); + if (status.is_replugged) { + DBG(DBG_info, "%s: device is cold\n", __func__); + } else { + DBG(DBG_info, "%s: device is hot\n", __func__); + } + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + /* if scanning session hasn't been initialized, set it up */ + if (!dev->already_initialized) + { + dev->dark_average_data.clear(); + dev->white_average_data.clear(); + + dev->settings.color_filter = ColorFilter::GREEN; + + /* Set default values for registers */ + gl646_init_regs (dev); + + // Init shading data + sanei_genesys_init_shading_data(dev, sensor, sensor.sensor_pixels); + + /* initial calibration reg values */ + dev->calib_reg = dev->reg; + } + + // execute physical unit init only if cold + if (status.is_replugged) + { + DBG(DBG_info, "%s: device is cold\n", __func__); + + val = 0x04; + dev->interface->get_usb_device().control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, + VALUE_INIT, INDEX, 1, &val); + + // ASIC reset + dev->interface->write_register(0x0e, 0x00); + dev->interface->sleep_ms(100); + + // Write initial registers + dev->interface->write_registers(dev->reg); + + // send gamma tables if needed + dev->cmd_set->send_gamma_table(dev, sensor); + + // Set powersaving(default = 15 minutes) + dev->cmd_set->set_powersaving(dev, 15); + } + + // Set analog frontend + gl646_set_fe(dev, sensor, AFE_INIT, 0); + + /* GPO enabling for XP200 */ + if (dev->model->sensor_id == SensorId::CIS_XP200) { + dev->interface->write_register(0x68, dev->gpo.regs.get_value(0x68)); + dev->interface->write_register(0x69, dev->gpo.regs.get_value(0x69)); + + // enable GPIO + gl646_gpio_output_enable(dev->interface->get_usb_device(), 6); + + // writes 0 to GPIO + gl646_gpio_write(dev->interface->get_usb_device(), 0); + + // clear GPIO enable + gl646_gpio_output_enable(dev->interface->get_usb_device(), 0); + + dev->interface->write_register(0x66, 0x10); + dev->interface->write_register(0x66, 0x00); + dev->interface->write_register(0x66, 0x10); + } + + /* MD6471/G2410 and XP200 read/write data from an undocumented memory area which + * is after the second slope table */ + if (dev->model->gpio_id != GpioId::HP3670 && + dev->model->gpio_id != GpioId::HP2400) + { + switch (sensor.optical_res) + { + case 600: + addr = 0x08200; + break; + case 1200: + addr = 0x10200; + break; + case 2400: + addr = 0x1fa00; + break; + } + sanei_genesys_set_buffer_address(dev, addr); + + sanei_usb_set_timeout (2 * 1000); + len = 6; + // for some reason, read fails here for MD6471, HP2300 and XP200 one time out of + // 2 scanimage launches + try { + dev->interface->bulk_read_data(0x45, dev->control, len); + } catch (...) { + dev->interface->bulk_read_data(0x45, dev->control, len); + } + DBG(DBG_info, "%s: control read=0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x\n", __func__, + dev->control[0], dev->control[1], dev->control[2], dev->control[3], dev->control[4], + dev->control[5]); + sanei_usb_set_timeout (30 * 1000); + } + else + /* HP2400 and HP3670 case */ + { + dev->control[0] = 0x00; + dev->control[1] = 0x00; + dev->control[2] = 0x01; + dev->control[3] = 0x00; + dev->control[4] = 0x00; + dev->control[5] = 0x00; + } + + /* ensure head is correctly parked, and check lock */ + if (!dev->model->is_sheetfed) { + if (dev->model->flags & GENESYS_FLAG_REPARK) + { + // FIXME: if repark fails, we should print an error message that the scanner is locked and + // the user should unlock the lock. We should also rethrow with SANE_STATUS_JAMMED + gl646_repark_head(dev); + } + else + { + move_back_home(dev, true); + } + } + + /* here session and device are initialized */ + dev->already_initialized = true; +} + +void CommandSetGl646::move_to_ta(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + + simple_move(dev, static_cast(dev->model->y_offset_sensor_to_ta)); +} + + +/** + * Does a simple scan: ie no line reordering and avanced data buffering and + * shading correction. Memory for data is allocated in this function + * and must be freed by caller. + * @param dev device of the scanner + * @param settings parameters of the scan + * @param move true if moving during scan + * @param forward true if moving forward during scan + * @param shading true to enable shading correction + * @param data pointer for the data + */ +static void simple_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Settings settings, bool move, bool forward, + bool shading, std::vector& data, + const char* scan_identifier) +{ + DBG_HELPER_ARGS(dbg, "move=%d, forward=%d, shading=%d", move, forward, shading); + unsigned int size, lines, x, y, bpp; + bool split; + + /* round up to multiple of 3 in case of CIS scanner */ + if (dev->model->is_cis) { + settings.lines = ((settings.lines + 2) / 3) * 3; + } + + /* setup for move then scan */ + split = !(move && settings.tl_y > 0); + setup_for_scan(dev, sensor, &dev->reg, settings, split, false, false, !forward); + + /* allocate memory fo scan : LINCNT may have been adjusted for CCD reordering */ + if (dev->model->is_cis) { + lines = dev->reg.get24(REG_LINCNT) / 3; + } else { + lines = dev->reg.get24(REG_LINCNT) + 1; + } + size = lines * settings.pixels; + if (settings.depth == 16) { + bpp = 2; + } else { + bpp = 1; + } + size *= bpp * settings.get_channels(); + data.clear(); + data.resize(size); + + DBG(DBG_io, "%s: allocated %d bytes of memory for %d lines\n", __func__, size, lines); + + /* put back real line number in settings */ + settings.lines = lines; + + // initialize frontend + gl646_set_fe(dev, sensor, AFE_SET, settings.xres); + + /* no shading correction and not watch dog for simple scan */ + dev->reg.find_reg(0x01).value &= ~(REG_0x01_DVDSET | REG_0x01_DOGENB); + if (shading) { + dev->reg.find_reg(0x01).value |= REG_0x01_DVDSET; + } + + /* enable gamma table for the scan */ + dev->reg.find_reg(0x05).value |= REG_0x05_GMMENB; + + /* one table movement for simple scan */ + dev->reg.find_reg(0x02).value &= ~REG_0x02_FASTFED; + + if (!move) { + sanei_genesys_set_motor_power(dev->reg, false); + + /* no automatic go home if no movement */ + dev->reg.find_reg(0x02).value &= ~REG_0x02_AGOHOME; + } + + /* no automatic go home when using XPA */ + if (settings.scan_method == ScanMethod::TRANSPARENCY) { + dev->reg.find_reg(0x02).value &= ~REG_0x02_AGOHOME; + } + + // write scan registers + dev->interface->write_registers(dev->reg); + + // starts scan + dev->cmd_set->begin_scan(dev, sensor, &dev->reg, move); + + if (is_testing_mode()) { + dev->interface->test_checkpoint(scan_identifier); + return; + } + + wait_until_buffer_non_empty(dev, true); + + // now we're on target, we can read data + sanei_genesys_read_data_from_scanner(dev, data.data(), size); + + /* in case of CIS scanner, we must reorder data */ + if (dev->model->is_cis && settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) { + /* alloc one line sized working buffer */ + std::vector buffer(settings.pixels * 3 * bpp); + + /* reorder one line of data and put it back to buffer */ + if (bpp == 1) + { + for (y = 0; y < lines; y++) + { + /* reorder line */ + for (x = 0; x < settings.pixels; x++) + { + buffer[x * 3] = data[y * settings.pixels * 3 + x]; + buffer[x * 3 + 1] = data[y * settings.pixels * 3 + settings.pixels + x]; + buffer[x * 3 + 2] = data[y * settings.pixels * 3 + 2 * settings.pixels + x]; + } + /* copy line back */ + memcpy (data.data() + settings.pixels * 3 * y, buffer.data(), + settings.pixels * 3); + } + } + else + { + for (y = 0; y < lines; y++) + { + /* reorder line */ + for (x = 0; x < settings.pixels; x++) + { + buffer[x * 6] = data[y * settings.pixels * 6 + x * 2]; + buffer[x * 6 + 1] = data[y * settings.pixels * 6 + x * 2 + 1]; + buffer[x * 6 + 2] = data[y * settings.pixels * 6 + 2 * settings.pixels + x * 2]; + buffer[x * 6 + 3] = data[y * settings.pixels * 6 + 2 * settings.pixels + x * 2 + 1]; + buffer[x * 6 + 4] = data[y * settings.pixels * 6 + 4 * settings.pixels + x * 2]; + buffer[x * 6 + 5] = data[y * settings.pixels * 6 + 4 * settings.pixels + x * 2 + 1]; + } + /* copy line back */ + memcpy (data.data() + settings.pixels * 6 * y, buffer.data(), + settings.pixels * 6); + } + } + } + + // end scan , waiting the motor to stop if needed (if moving), but without ejecting doc + end_scan_impl(dev, &dev->reg, true, false); +} + +/** + * Does a simple move of the given distance by doing a scan at lowest resolution + * shading correction. Memory for data is allocated in this function + * and must be freed by caller. + * @param dev device of the scanner + * @param distance distance to move in MM + */ +static void simple_move(Genesys_Device* dev, SANE_Int distance) +{ + DBG_HELPER_ARGS(dbg, "%d mm", distance); + Genesys_Settings settings; + + unsigned resolution = sanei_genesys_get_lowest_dpi(dev); + + const auto& sensor = sanei_genesys_find_sensor(dev, resolution, 3, dev->model->default_method); + + /* TODO give a no AGOHOME flag */ + settings.scan_method = dev->model->default_method; + settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + settings.xres = resolution; + settings.yres = resolution; + settings.tl_y = 0; + settings.tl_x = 0; + settings.pixels = (sensor.sensor_pixels * settings.xres) / sensor.optical_res; + settings.requested_pixels = settings.pixels; + settings.lines = static_cast((distance * settings.xres) / MM_PER_INCH); + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + + std::vector data; + simple_scan(dev, sensor, settings, true, true, false, data, "simple_move"); +} + +/** + * update the status of the required sensor in the scanner session + * the button fileds are used to make events 'sticky' + */ +void CommandSetGl646::update_hardware_sensors(Genesys_Scanner* session) const +{ + DBG_HELPER(dbg); + Genesys_Device *dev = session->dev; + uint8_t value; + + // do what is needed to get a new set of events, but try to not loose any of them. + gl646_gpio_read(dev->interface->get_usb_device(), &value); + DBG(DBG_io, "%s: GPIO=0x%02x\n", __func__, value); + + // scan button + if (dev->model->buttons & GENESYS_HAS_SCAN_SW) { + switch (dev->model->gpio_id) { + case GpioId::XP200: + session->buttons[BUTTON_SCAN_SW].write((value & 0x02) != 0); + break; + case GpioId::MD_5345: + session->buttons[BUTTON_SCAN_SW].write(value == 0x16); + break; + case GpioId::HP2300: + session->buttons[BUTTON_SCAN_SW].write(value == 0x6c); + break; + case GpioId::HP3670: + case GpioId::HP2400: + session->buttons[BUTTON_SCAN_SW].write((value & 0x20) == 0); + break; + default: + throw SaneException(SANE_STATUS_UNSUPPORTED, "unknown gpo type"); + } + } + + // email button + if (dev->model->buttons & GENESYS_HAS_EMAIL_SW) { + switch (dev->model->gpio_id) { + case GpioId::MD_5345: + session->buttons[BUTTON_EMAIL_SW].write(value == 0x12); + break; + case GpioId::HP3670: + case GpioId::HP2400: + session->buttons[BUTTON_EMAIL_SW].write((value & 0x08) == 0); + break; + default: + throw SaneException(SANE_STATUS_UNSUPPORTED, "unknown gpo type"); + } + } + + // copy button + if (dev->model->buttons & GENESYS_HAS_COPY_SW) { + switch (dev->model->gpio_id) { + case GpioId::MD_5345: + session->buttons[BUTTON_COPY_SW].write(value == 0x11); + break; + case GpioId::HP2300: + session->buttons[BUTTON_COPY_SW].write(value == 0x5c); + break; + case GpioId::HP3670: + case GpioId::HP2400: + session->buttons[BUTTON_COPY_SW].write((value & 0x10) == 0); + break; + default: + throw SaneException(SANE_STATUS_UNSUPPORTED, "unknown gpo type"); + } + } + + // power button + if (dev->model->buttons & GENESYS_HAS_POWER_SW) { + switch (dev->model->gpio_id) { + case GpioId::MD_5345: + session->buttons[BUTTON_POWER_SW].write(value == 0x14); + break; + default: + throw SaneException(SANE_STATUS_UNSUPPORTED, "unknown gpo type"); + } + } + + // ocr button + if (dev->model->buttons & GENESYS_HAS_OCR_SW) { + switch (dev->model->gpio_id) { + case GpioId::MD_5345: + session->buttons[BUTTON_OCR_SW].write(value == 0x13); + break; + default: + throw SaneException(SANE_STATUS_UNSUPPORTED, "unknown gpo type"); + } + } + + // document detection + if (dev->model->buttons & GENESYS_HAS_PAGE_LOADED_SW) { + switch (dev->model->gpio_id) { + case GpioId::XP200: + session->buttons[BUTTON_PAGE_LOADED_SW].write((value & 0x04) != 0); + break; + default: + throw SaneException(SANE_STATUS_UNSUPPORTED, "unknown gpo type"); + } + } + + /* XPA detection */ + if (dev->model->flags & GENESYS_FLAG_XPA) + { + switch (dev->model->gpio_id) { + case GpioId::HP3670: + case GpioId::HP2400: + /* test if XPA is plugged-in */ + if ((value & 0x40) == 0) + { + DBG(DBG_io, "%s: enabling XPA\n", __func__); + session->opt[OPT_SOURCE].cap &= ~SANE_CAP_INACTIVE; + } + else + { + DBG(DBG_io, "%s: disabling XPA\n", __func__); + session->opt[OPT_SOURCE].cap |= SANE_CAP_INACTIVE; + } + break; + default: + throw SaneException(SANE_STATUS_UNSUPPORTED, "unknown gpo type"); + } + } +} + + +static void write_control(Genesys_Device* dev, const Genesys_Sensor& sensor, int resolution) +{ + DBG_HELPER(dbg); + uint8_t control[4]; + uint32_t addr = 0xdead; + + /* 2300 does not write to 'control' */ + if (dev->model->motor_id == MotorId::HP2300) { + return; + } + + /* MD6471/G2410/HP2300 and XP200 read/write data from an undocumented memory area which + * is after the second slope table */ + switch (sensor.optical_res) + { + case 600: + addr = 0x08200; + break; + case 1200: + addr = 0x10200; + break; + case 2400: + addr = 0x1fa00; + break; + default: + throw SaneException("failed to compute control address"); + } + + /* XP200 sets dpi, what other scanner put is unknown yet */ + switch (dev->model->motor_id) + { + case MotorId::XP200: + /* we put scan's dpi, not motor one */ + control[0] = resolution & 0xff; + control[1] = (resolution >> 8) & 0xff; + control[2] = dev->control[4]; + control[3] = dev->control[5]; + break; + case MotorId::HP3670: + case MotorId::HP2400: + case MotorId::MD_5345: + default: + control[0] = dev->control[2]; + control[1] = dev->control[3]; + control[2] = dev->control[4]; + control[3] = dev->control[5]; + break; + } + + DBG(DBG_info, "%s: control write=0x%02x 0x%02x 0x%02x 0x%02x\n", __func__, control[0], control[1], + control[2], control[3]); + dev->interface->write_buffer(0x3c, addr, control, 4); +} + +/** + * search for a full width black or white strip. + * @param dev scanner device + * @param forward true if searching forward, false if searching backward + * @param black true if searching for a black strip, false for a white strip + */ +void CommandSetGl646::search_strip(Genesys_Device* dev, const Genesys_Sensor& sensor, bool forward, + bool black) const +{ + DBG_HELPER(dbg); + (void) sensor; + + Genesys_Settings settings; + int res = get_closest_resolution(dev->model->sensor_id, 75, 1); + unsigned int pass, count, found, x, y; + char title[80]; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, res, 1, ScanMethod::FLATBED); + + /* we set up for a lowest available resolution color grey scan, full width */ + settings.scan_method = dev->model->default_method; + settings.scan_mode = ScanColorMode::GRAY; + settings.xres = res; + settings.yres = res; + settings.tl_x = 0; + settings.tl_y = 0; + settings.pixels = static_cast((dev->model->x_size * res) / MM_PER_INCH); + settings.pixels /= calib_sensor.get_ccd_size_divisor_for_dpi(res); + settings.requested_pixels = settings.pixels; + + /* 15 mm at at time */ + settings.lines = static_cast((15 * settings.yres) / MM_PER_INCH); + settings.depth = 8; + settings.color_filter = ColorFilter::RED; + + settings.disable_interpolation = 0; + settings.threshold = 0; + + /* signals if a strip of the given color has been found */ + found = 0; + + /* detection pass done */ + pass = 0; + + std::vector data; + + /* loop until strip is found or maximum pass number done */ + while (pass < 20 && !found) + { + // scan a full width strip + simple_scan(dev, calib_sensor, settings, true, forward, false, data, "search_strip"); + + if (is_testing_mode()) { + return; + } + + if (DBG_LEVEL >= DBG_data) + { + std::sprintf(title, "gl646_search_strip_%s%02d.pnm", forward ? "fwd" : "bwd", pass); + sanei_genesys_write_pnm_file (title, data.data(), settings.depth, 1, + settings.pixels, settings.lines); + } + + /* search data to find black strip */ + /* when searching forward, we only need one line of the searched color since we + * will scan forward. But when doing backward search, we need all the area of the + * same color */ + if (forward) + { + for (y = 0; y < settings.lines && !found; y++) + { + count = 0; + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < settings.pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * settings.pixels + x] > 90) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * settings.pixels + x] < 60) + { + count++; + } + } + + /* at end of line, if count >= 3%, line is not fully of the desired color + * so we must go to next line of the buffer */ + /* count*100/pixels < 3 */ + if ((count * 100) / settings.pixels < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, + pass, y); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d\n", __func__, settings.pixels, count); + } + } + } + else /* since calibration scans are done forward, we need the whole area + to be of the required color when searching backward */ + { + count = 0; + for (y = 0; y < settings.lines; y++) + { + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < settings.pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * settings.pixels + x] > 60) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * settings.pixels + x] < 60) + { + count++; + } + } + } + + /* at end of area, if count >= 3%, area is not fully of the desired color + * so we must go to next buffer */ + if ((count * 100) / (settings.pixels * settings.lines) < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d\n", __func__, settings.pixels, count); + } + } + pass++; + } + if (found) + { + DBG(DBG_info, "%s: strip found\n", __func__); + } + else + { + throw SaneException(SANE_STATUS_UNSUPPORTED, "%s strip not found", black ? "black" : "white"); + } +} + +void CommandSetGl646::wait_for_motor_stop(Genesys_Device* dev) const +{ + (void) dev; +} + +void CommandSetGl646::send_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, + std::uint8_t* data, int size) const +{ + (void) dev; + (void) sensor; + (void) data; + (void) size; + throw SaneException("not implemented"); +} + +ScanSession CommandSetGl646::calculate_scan_session(const Genesys_Device* dev, + const Genesys_Sensor& sensor, + const Genesys_Settings& settings) const +{ + // compute distance to move + float move = 0; + // XXX STEF XXX MD5345 -> optical_ydpi, other base_ydpi => half/full step ? */ + if (!dev->model->is_sheetfed) { + move = static_cast(dev->model->y_offset); + // add tl_y to base movement + } + move += static_cast(settings.tl_y); + + if (move < 0) { + DBG(DBG_error, "%s: overriding negative move value %f\n", __func__, move); + move = 0; + } + + move = static_cast((move * dev->motor.optical_ydpi) / MM_PER_INCH); + float start = static_cast(settings.tl_x); + if (settings.scan_method == ScanMethod::FLATBED) { + start += static_cast(dev->model->x_offset); + } else { + start += static_cast(dev->model->x_offset_ta); + } + start = static_cast((start * sensor.optical_res) / MM_PER_INCH); + + ScanSession session; + session.params.xres = settings.xres; + session.params.yres = settings.yres; + session.params.startx = static_cast(start); + session.params.starty = static_cast(move); + session.params.pixels = settings.pixels; + session.params.requested_pixels = settings.requested_pixels; + session.params.lines = settings.lines; + session.params.depth = settings.depth; + session.params.channels = settings.get_channels(); + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = settings.scan_mode; + session.params.color_filter = settings.color_filter; + session.params.flags = ScanFlag::USE_XCORRECTION; + if (settings.scan_method == ScanMethod::TRANSPARENCY) { + session.params.flags |= ScanFlag::USE_XPA; + } + compute_session(dev, session, sensor); + + return session; +} + +void CommandSetGl646::asic_boot(Genesys_Device *dev, bool cold) const +{ + (void) dev; + (void) cold; + throw SaneException("not implemented"); +} + +std::unique_ptr create_gl646_cmd_set() +{ + return std::unique_ptr(new CommandSetGl646{}); +} + +} // namespace gl646 +} // namespace genesys diff --git a/backend/genesys/gl646.h b/backend/genesys/gl646.h new file mode 100644 index 0000000..afcfa05 --- /dev/null +++ b/backend/genesys/gl646.h @@ -0,0 +1,521 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2003-2004 Henning Meier-Geinitz + Copyright (C) 2004-2005 Gerhard Jaeger + Copyright (C) 2004-2013 Stéphane Voltz + Copyright (C) 2005-2009 Pierre Willenbrock + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_GL646_H +#define BACKEND_GENESYS_GL646_H + +#include "genesys.h" +#include "command_set.h" +#include "motor.h" + +namespace genesys { +namespace gl646 { + +static void gl646_set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set, int dpi); + +/** + * sets up the scanner for a scan, registers, gamma tables, shading tables + * and slope tables, based on the parameter struct. + * @param dev device to set up + * @param regs registers to set up + * @param settings settings of the scan + * @param split true if move before scan has to be done + * @param xcorrection true if scanner's X geometry must be taken into account to + * compute X, ie add left margins + * @param ycorrection true if scanner's Y geometry must be taken into account to + * compute Y, ie add top margins + */ +static void setup_for_scan(Genesys_Device* device, + const Genesys_Sensor& sensor, + Genesys_Register_Set*regs, + Genesys_Settings settings, + bool split, + bool xcorrection, + bool ycorrection, + bool reverse); + +/** + * Does a simple move of the given distance by doing a scan at lowest resolution + * shading correction. Memory for data is allocated in this function + * and must be freed by caller. + * @param dev device of the scanner + * @param distance distance to move in MM + */ +static void simple_move(Genesys_Device* dev, SANE_Int distance); + +/** + * Does a simple scan of the area given by the settings. Scanned data + * it put in an allocated area which must be freed by the caller. + * and slope tables, based on the parameter struct. There is no shading + * correction while gamma correction is active. + * @param dev device to set up + * @param settings settings of the scan + * @param move flag to enable scanhead to move + * @param forward flag to tell movement direction + * @param shading flag to tell if shading correction should be done + * @param data pointer that will point to the scanned data + */ +static void simple_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Settings settings, bool move, bool forward, + bool shading, std::vector& data, const char* test_identifier); + +/** + * Send the stop scan command + * */ +static void end_scan_impl(Genesys_Device* dev, Genesys_Register_Set* reg, bool check_stop, + bool eject); +/** + * writes control data to an area behind the last motor table. + */ +static void write_control(Genesys_Device* dev, const Genesys_Sensor& sensor, int resolution); + + +/** + * initialize scanner's registers at SANE init time + */ +static void gl646_init_regs (Genesys_Device * dev); + +/** + * master motor settings table entry + */ +typedef struct +{ + /* key */ + MotorId motor_id; + unsigned dpi; + unsigned channels; + + /* settings */ + StepType steptype; + bool fastmod; // fast scanning + bool fastfed; // fast fed slope tables + SANE_Int mtrpwm; + MotorSlope slope1; + MotorSlope slope2; + SANE_Int fwdbwd; /* forward/backward steps */ +} Motor_Master; + +/** + * master motor settings, for a given motor and dpi, + * it gives steps and speed informations + */ +static Motor_Master motor_master[] = { + /* HP3670 motor settings */ + {MotorId::HP3670, 50, 3, StepType::HALF, false, true, 1, + MotorSlope::create_from_steps(2329, 120, 229), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + {MotorId::HP3670, 75, 3, StepType::FULL, false, true, 1, + MotorSlope::create_from_steps(3429, 305, 200), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + {MotorId::HP3670, 100, 3, StepType::HALF, false, true, 1, + MotorSlope::create_from_steps(2905, 187, 143), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + {MotorId::HP3670, 150, 3, StepType::HALF, false, true, 1, + MotorSlope::create_from_steps(3429, 305, 73), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + {MotorId::HP3670, 300, 3, StepType::HALF, false, true, 1, + MotorSlope::create_from_steps(1055, 563, 11), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + {MotorId::HP3670, 600, 3, StepType::FULL, false, true, 0, + MotorSlope::create_from_steps(10687, 5126, 3), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + {MotorId::HP3670,1200, 3, StepType::HALF, false, true, 0, + MotorSlope::create_from_steps(15937, 6375, 3), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + {MotorId::HP3670, 50, 1, StepType::HALF, false, true, 1, + MotorSlope::create_from_steps(2329, 120, 229), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + {MotorId::HP3670, 75, 1, StepType::FULL, false, true, 1, + MotorSlope::create_from_steps(3429, 305, 200), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + {MotorId::HP3670, 100, 1, StepType::HALF, false, true, 1, + MotorSlope::create_from_steps(2905, 187, 143), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + {MotorId::HP3670, 150, 1, StepType::HALF, false, true, 1, + MotorSlope::create_from_steps(3429, 305, 73), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + {MotorId::HP3670, 300, 1, StepType::HALF, false, true, 1, + MotorSlope::create_from_steps(1055, 563, 11), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + {MotorId::HP3670, 600, 1, StepType::FULL, false, true, 0, + MotorSlope::create_from_steps(10687, 5126, 3), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + {MotorId::HP3670,1200, 1, StepType::HALF, false, true, 0, + MotorSlope::create_from_steps(15937, 6375, 3), + MotorSlope::create_from_steps(3399, 337, 192), 192}, + + /* HP2400/G2410 motor settings base motor dpi = 600 */ + {MotorId::HP2400, 50, 3, StepType::FULL, false, true, 63, + MotorSlope::create_from_steps(8736, 601, 120), + MotorSlope::create_from_steps(4905, 337, 192), 192}, + + {MotorId::HP2400, 100, 3, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(8736, 601, 120), + MotorSlope::create_from_steps(4905, 337, 192), 192}, + + {MotorId::HP2400, 150, 3, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(15902, 902, 67), + MotorSlope::create_from_steps(4905, 337, 192), 192}, + + {MotorId::HP2400, 300, 3, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(16703, 2188, 32), + MotorSlope::create_from_steps(4905, 337, 192), 192}, + + {MotorId::HP2400, 600, 3, StepType::FULL, false, true, 63, + MotorSlope::create_from_steps(18761, 18761, 3), + MotorSlope::create_from_steps(4905, 627, 192), 192}, + + {MotorId::HP2400,1200, 3, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(43501, 43501, 3), + MotorSlope::create_from_steps(4905, 627, 192), 192}, + + {MotorId::HP2400, 50, 1, StepType::FULL, false, true, 63, + MotorSlope::create_from_steps(8736, 601, 120), + MotorSlope::create_from_steps(4905, 337, 192), 192}, + + {MotorId::HP2400, 100, 1, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(8736, 601, 120), + MotorSlope::create_from_steps(4905, 337, 192), 192}, + + {MotorId::HP2400, 150, 1, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(15902, 902, 67), + MotorSlope::create_from_steps(4905, 337, 192), 192}, + + {MotorId::HP2400, 300, 1, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(16703, 2188, 32), + MotorSlope::create_from_steps(4905, 337, 192), 192}, + + {MotorId::HP2400, 600, 1, StepType::FULL, false, true, 63, + MotorSlope::create_from_steps(18761, 18761, 3), + MotorSlope::create_from_steps(4905, 337, 192), 192}, + + {MotorId::HP2400,1200, 1, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(43501, 43501, 3), + MotorSlope::create_from_steps(4905, 337, 192), 192}, + + /* XP 200 motor settings */ + {MotorId::XP200, 75, 3, StepType::HALF, true, false, 0, + MotorSlope::create_from_steps(6000, 2136, 4), + MotorSlope::create_from_steps(12000, 1200, 8), 1}, + + {MotorId::XP200, 100, 3, StepType::HALF, true, false, 0, + MotorSlope::create_from_steps(6000, 2850, 4), + MotorSlope::create_from_steps(12000, 1200, 8), 1}, + + {MotorId::XP200, 200, 3, StepType::HALF, true, false, 0, + MotorSlope::create_from_steps(6999, 5700, 4), + MotorSlope::create_from_steps(12000, 1200, 8), 1}, + + {MotorId::XP200, 250, 3, StepType::HALF, true, false, 0, + MotorSlope::create_from_steps(6999, 6999, 4), + MotorSlope::create_from_steps(12000, 1200, 8), 1}, + + {MotorId::XP200, 300, 3, StepType::HALF, true, false, 0, + MotorSlope::create_from_steps(13500, 13500, 4), + MotorSlope::create_from_steps(12000, 1200, 8), 1}, + + {MotorId::XP200, 600, 3, StepType::HALF, true, true, 0, + MotorSlope::create_from_steps(31998, 31998, 4), + MotorSlope::create_from_steps(12000, 1200, 2), 1}, + + {MotorId::XP200, 75, 1, StepType::HALF, true, false, 0, + MotorSlope::create_from_steps(6000, 2000, 4), + MotorSlope::create_from_steps(12000, 1200, 8), 1}, + + {MotorId::XP200, 100, 1, StepType::HALF, true, false, 0, + MotorSlope::create_from_steps(6000, 1300, 4), + MotorSlope::create_from_steps(12000, 1200, 8), 1}, + + {MotorId::XP200, 200, 1, StepType::HALF, true, true, 0, + MotorSlope::create_from_steps(6000, 3666, 4), + MotorSlope::create_from_steps(12000, 1200, 8), 1}, + + {MotorId::XP200, 300, 1, StepType::HALF, true, false, 0, + MotorSlope::create_from_steps(6500, 6500, 4), + MotorSlope::create_from_steps(12000, 1200, 8), 1}, + + {MotorId::XP200, 600, 1, StepType::HALF, true, true, 0, + MotorSlope::create_from_steps(24000, 24000, 4), + MotorSlope::create_from_steps(12000, 1200, 2), 1}, + + /* HP scanjet 2300c */ + {MotorId::HP2300, 75, 3, StepType::FULL, false, true, 63, + MotorSlope::create_from_steps(8139, 560, 120), + MotorSlope::create_from_steps(4905, 337, 120), 16}, + + {MotorId::HP2300, 150, 3, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(7903, 543, 67), + MotorSlope::create_from_steps(4905, 337, 120), 16}, + + {MotorId::HP2300, 300, 3, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(2175, 1087, 3), + MotorSlope::create_from_steps(4905, 337, 120), 16}, + + {MotorId::HP2300, 600, 3, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(8700, 4350, 3), + MotorSlope::create_from_steps(4905, 337, 120), 16}, + + {MotorId::HP2300,1200, 3, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(17400, 8700, 3), + MotorSlope::create_from_steps(4905, 337, 120), 16}, + + {MotorId::HP2300, 75, 1, StepType::FULL, false, true, 63, + MotorSlope::create_from_steps(8139, 560, 120), + MotorSlope::create_from_steps(4905, 337, 120), 16}, + + {MotorId::HP2300, 150, 1, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(7903, 543, 67), + MotorSlope::create_from_steps(4905, 337, 120), 16}, + + {MotorId::HP2300, 300, 1, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(2175, 1087, 3), + MotorSlope::create_from_steps(4905, 337, 120), 16}, + + {MotorId::HP2300, 600, 1, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(8700, 4350, 3), + MotorSlope::create_from_steps(4905, 337, 120), 16}, + + {MotorId::HP2300,1200, 1, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(17400, 8700, 3), + MotorSlope::create_from_steps(4905, 337, 120), 16}, + + /* non half ccd settings for 300 dpi + {MotorId::HP2300, 300, 3, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(5386, 2175, 44), + MotorSlope::create_from_steps(4905, 337, 120), 16}, + + {MotorId::HP2300, 300, 1, StepType::HALF, false, true, 63, + MotorSlope::create_from_steps(5386, 2175, 44), + MotorSlope::create_from_steps(4905, 337, 120), 16}, + */ + + /* MD5345/6471 motor settings */ + /* vfinal=(exposure/(1200/dpi))/step_type */ + {MotorId::MD_5345, 50, 3, StepType::HALF, false, true, 2, + MotorSlope::create_from_steps(2500, 250, 255), + MotorSlope::create_from_steps(2000, 300, 255), 64}, + + {MotorId::MD_5345, 75, 3, StepType::HALF, false, true, 2, + MotorSlope::create_from_steps(2500, 343, 255), + MotorSlope::create_from_steps(2000, 300, 255), 64}, + + {MotorId::MD_5345, 100, 3, StepType::HALF, false, true, 2, + MotorSlope::create_from_steps(2500, 458, 255), + MotorSlope::create_from_steps(2000, 300, 255), 64}, + + {MotorId::MD_5345, 150, 3, StepType::HALF, false, true, 2, + MotorSlope::create_from_steps(2500, 687, 255), + MotorSlope::create_from_steps(2000, 300, 255), 64}, + + {MotorId::MD_5345, 200, 3, StepType::HALF, false, true, 2, + MotorSlope::create_from_steps(2500, 916, 255), + MotorSlope::create_from_steps(2000, 300, 255), 64}, + + {MotorId::MD_5345, 300, 3, StepType::HALF, false, true, 2, + MotorSlope::create_from_steps(2500, 1375, 255), + MotorSlope::create_from_steps(2000, 300, 255), 64}, + + {MotorId::MD_5345, 400, 3, StepType::HALF, false, true, 0, + MotorSlope::create_from_steps(2000, 1833, 32), + MotorSlope::create_from_steps(2000, 300, 255), 32}, + + {MotorId::MD_5345, 500, 3, StepType::HALF, false, true, 0, + MotorSlope::create_from_steps(2291, 2291, 32), + MotorSlope::create_from_steps(2000, 300, 255), 32}, + + {MotorId::MD_5345, 600, 3, StepType::HALF, false, true, 0, + MotorSlope::create_from_steps(2750, 2750, 32), + MotorSlope::create_from_steps(2000, 300, 255), 32}, + + {MotorId::MD_5345, 1200, 3, StepType::QUARTER, false, true, 0, + MotorSlope::create_from_steps(2750, 2750, 16), + MotorSlope::create_from_steps(2000, 300, 255), 146}, + + {MotorId::MD_5345, 2400, 3, StepType::QUARTER, false, true, 0, + MotorSlope::create_from_steps(5500, 5500, 16), + MotorSlope::create_from_steps(2000, 300, 255), 146}, + + {MotorId::MD_5345, 50, 1, StepType::HALF, false, true, 2, + MotorSlope::create_from_steps(2500, 250, 255), + MotorSlope::create_from_steps(2000, 300, 255), 64}, + + {MotorId::MD_5345, 75, 1, StepType::HALF, false, true, 2, + MotorSlope::create_from_steps(2500, 343, 255), + MotorSlope::create_from_steps(2000, 300, 255), 64}, + + {MotorId::MD_5345, 100, 1, StepType::HALF, false, true, 2, + MotorSlope::create_from_steps(2500, 458, 255), + MotorSlope::create_from_steps(2000, 300, 255), 64}, + + {MotorId::MD_5345, 150, 1, StepType::HALF, false, true, 2, + MotorSlope::create_from_steps(2500, 687, 255), + MotorSlope::create_from_steps(2000, 300, 255), 64}, + + {MotorId::MD_5345, 200, 1, StepType::HALF, false, true, 2, + MotorSlope::create_from_steps(2500, 916, 255), + MotorSlope::create_from_steps(2000, 300, 255), 64}, + + {MotorId::MD_5345, 300, 1, StepType::HALF, false, true, 2, + MotorSlope::create_from_steps(2500, 1375, 255), + MotorSlope::create_from_steps(2000, 300, 255), 64}, + + {MotorId::MD_5345, 400, 1, StepType::HALF, false, true, 0, + MotorSlope::create_from_steps(2000, 1833, 32), + MotorSlope::create_from_steps(2000, 300, 255), 32}, + + {MotorId::MD_5345, 500, 1, StepType::HALF, false, true, 0, + MotorSlope::create_from_steps(2291, 2291, 32), + MotorSlope::create_from_steps(2000, 300, 255), 32}, + + {MotorId::MD_5345, 600, 1, StepType::HALF, false, true, 0, + MotorSlope::create_from_steps(2750, 2750, 32), + MotorSlope::create_from_steps(2000, 300, 255), 32}, + + {MotorId::MD_5345, 1200, 1, StepType::QUARTER, false, true, 0, + MotorSlope::create_from_steps(2750, 2750, 16), + MotorSlope::create_from_steps(2000, 300, 255), 146}, + + {MotorId::MD_5345, 2400, 1, StepType::QUARTER, false, true, 0, + MotorSlope::create_from_steps(5500, 5500, 16), + MotorSlope::create_from_steps(2000, 300, 255), 146}, /* 5500 guessed */ +}; + +class CommandSetGl646 : public CommandSet +{ +public: + ~CommandSetGl646() override = default; + + bool needs_home_before_init_regs_for_scan(Genesys_Device* dev) const override; + + void init(Genesys_Device* dev) const override; + + void init_regs_for_warmup(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, int* channels, + int* total_size) const override; + + void init_regs_for_coarse_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void init_regs_for_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void init_regs_for_scan(Genesys_Device* dev, const Genesys_Sensor& sensor) const override; + + void init_regs_for_scan_session(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const ScanSession& session) const override; + + void set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set) const override; + void set_powersaving(Genesys_Device* dev, int delay) const override; + void save_power(Genesys_Device* dev, bool enable) const override; + + void begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, bool start_motor) const override; + + void end_scan(Genesys_Device* dev, Genesys_Register_Set* regs, bool check_stop) const override; + + void send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) const override; + + void search_start_position(Genesys_Device* dev) const override; + + void offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) const override; + + SensorExposure led_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void wait_for_motor_stop(Genesys_Device* dev) const override; + + void move_back_home(Genesys_Device* dev, bool wait_until_home) const override; + + void update_hardware_sensors(struct Genesys_Scanner* s) const override; + + void load_document(Genesys_Device* dev) const override; + + void detect_document_end(Genesys_Device* dev) const override; + + void eject_document(Genesys_Device* dev) const override; + + void search_strip(Genesys_Device* dev, const Genesys_Sensor& sensor, + bool forward, bool black) const override; + + void move_to_ta(Genesys_Device* dev) const override; + + void send_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t* data, + int size) const override; + + bool has_send_shading_data() const override + { + return false; + } + + ScanSession calculate_scan_session(const Genesys_Device* dev, + const Genesys_Sensor& sensor, + const Genesys_Settings& settings) const override; + + void asic_boot(Genesys_Device* dev, bool cold) const override; +}; + +} // namespace gl646 +} // namespace genesys + +#endif // BACKEND_GENESYS_GL646_H diff --git a/backend/genesys/gl646_registers.h b/backend/genesys/gl646_registers.h new file mode 100644 index 0000000..2fe8f19 --- /dev/null +++ b/backend/genesys/gl646_registers.h @@ -0,0 +1,176 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_GL646_REGISTERS_H +#define BACKEND_GENESYS_GL646_REGISTERS_H + +#include + +namespace genesys { +namespace gl646 { + +using RegAddr = std::uint16_t; +using RegMask = std::uint8_t; +using RegShift = unsigned; + +static constexpr RegAddr REG_0x01 = 0x01; +static constexpr RegMask REG_0x01_CISSET = 0x80; +static constexpr RegMask REG_0x01_DOGENB = 0x40; +static constexpr RegMask REG_0x01_DVDSET = 0x20; +static constexpr RegMask REG_0x01_FASTMOD = 0x10; +static constexpr RegMask REG_0x01_COMPENB = 0x08; +static constexpr RegMask REG_0x01_DRAMSEL = 0x04; +static constexpr RegMask REG_0x01_SHDAREA = 0x02; +static constexpr RegMask REG_0x01_SCAN = 0x01; + +static constexpr RegMask REG_0x02_NOTHOME = 0x80; +static constexpr RegMask REG_0x02_ACDCDIS = 0x40; +static constexpr RegMask REG_0x02_AGOHOME = 0x20; +static constexpr RegMask REG_0x02_MTRPWR = 0x10; +static constexpr RegMask REG_0x02_FASTFED = 0x08; +static constexpr RegMask REG_0x02_MTRREV = 0x04; +static constexpr RegMask REG_0x02_STEPSEL = 0x03; + +static constexpr RegMask REG_0x02_FULLSTEP = 0x00; +static constexpr RegMask REG_0x02_HALFSTEP = 0x01; +static constexpr RegMask REG_0x02_QUATERSTEP = 0x02; + +static constexpr RegMask REG_0x03_TG3 = 0x80; +static constexpr RegMask REG_0x03_AVEENB = 0x40; +static constexpr RegMask REG_0x03_XPASEL = 0x20; +static constexpr RegMask REG_0x03_LAMPPWR = 0x10; +static constexpr RegMask REG_0x03_LAMPDOG = 0x08; +static constexpr RegMask REG_0x03_LAMPTIM = 0x07; + +static constexpr RegMask REG_0x04_LINEART = 0x80; +static constexpr RegMask REG_0x04_BITSET = 0x40; +static constexpr RegMask REG_0x04_ADTYPE = 0x30; +static constexpr RegMask REG_0x04_FILTER = 0x0c; +static constexpr RegMask REG_0x04_FESET = 0x03; + +static constexpr RegMask REG_0x05_DPIHW = 0xc0; +static constexpr RegMask REG_0x05_DPIHW_600 = 0x00; +static constexpr RegMask REG_0x05_DPIHW_1200 = 0x40; +static constexpr RegMask REG_0x05_DPIHW_2400 = 0x80; +static constexpr RegMask REG_0x05_DPIHW_4800 = 0xc0; +static constexpr RegMask REG_0x05_GMMTYPE = 0x30; +static constexpr RegMask REG_0x05_GMM14BIT = 0x10; +static constexpr RegMask REG_0x05_GMMENB = 0x08; +static constexpr RegMask REG_0x05_LEDADD = 0x04; +static constexpr RegMask REG_0x05_BASESEL = 0x03; + +static constexpr RegAddr REG_0x06 = 0x06; +static constexpr RegMask REG_0x06_PWRBIT = 0x10; +static constexpr RegMask REG_0x06_GAIN4 = 0x08; +static constexpr RegMask REG_0x06_OPTEST = 0x07; + +static constexpr RegMask REG_0x07_DMASEL = 0x02; +static constexpr RegMask REG_0x07_DMARDWR = 0x01; + +static constexpr RegMask REG_0x16_CTRLHI = 0x80; +static constexpr RegMask REG_0x16_SELINV = 0x40; +static constexpr RegMask REG_0x16_TGINV = 0x20; +static constexpr RegMask REG_0x16_CK1INV = 0x10; +static constexpr RegMask REG_0x16_CK2INV = 0x08; +static constexpr RegMask REG_0x16_CTRLINV = 0x04; +static constexpr RegMask REG_0x16_CKDIS = 0x02; +static constexpr RegMask REG_0x16_CTRLDIS = 0x01; + +static constexpr RegMask REG_0x17_TGMODE = 0xc0; +static constexpr RegMask REG_0x17_TGMODE_NO_DUMMY = 0x00; +static constexpr RegMask REG_0x17_TGMODE_REF = 0x40; +static constexpr RegMask REG_0x17_TGMODE_XPA = 0x80; +static constexpr RegMask REG_0x17_TGW = 0x3f; + +static constexpr RegMask REG_0x18_CNSET = 0x80; +static constexpr RegMask REG_0x18_DCKSEL = 0x60; +static constexpr RegMask REG_0x18_CKTOGGLE = 0x10; +static constexpr RegMask REG_0x18_CKDELAY = 0x0c; +static constexpr RegMask REG_0x18_CKSEL = 0x03; + +static constexpr RegMask REG_0x1D_CKMANUAL = 0x80; + +static constexpr RegMask REG_0x1E_WDTIME = 0xf0; +static constexpr RegMask REG_0x1E_LINESEL = 0x0f; + +static constexpr RegMask REG_0x41_PWRBIT = 0x80; +static constexpr RegMask REG_0x41_BUFEMPTY = 0x40; +static constexpr RegMask REG_0x41_FEEDFSH = 0x20; +static constexpr RegMask REG_0x41_SCANFSH = 0x10; +static constexpr RegMask REG_0x41_HOMESNR = 0x08; +static constexpr RegMask REG_0x41_LAMPSTS = 0x04; +static constexpr RegMask REG_0x41_FEBUSY = 0x02; +static constexpr RegMask REG_0x41_MOTMFLG = 0x01; + +static constexpr RegMask REG_0x66_LOW_CURRENT = 0x10; + +static constexpr RegMask REG_0x6A_FSTPSEL = 0xc0; +static constexpr RegMask REG_0x6A_FASTPWM = 0x3f; + +static constexpr RegMask REG_0x6C_TGTIME = 0xc0; +static constexpr RegMask REG_0x6C_Z1MOD = 0x38; +static constexpr RegMask REG_0x6C_Z2MOD = 0x07; + +static constexpr RegAddr REG_EXPR = 0x10; +static constexpr RegAddr REG_EXPG = 0x12; +static constexpr RegAddr REG_EXPB = 0x14; +static constexpr RegAddr REG_SCANFED = 0x1f; +static constexpr RegAddr REG_BUFSEL = 0x20; +static constexpr RegAddr REG_LINCNT = 0x25; +static constexpr RegAddr REG_DPISET = 0x2c; +static constexpr RegAddr REG_STRPIXEL = 0x30; +static constexpr RegAddr REG_ENDPIXEL = 0x32; +static constexpr RegAddr REG_DUMMY = 0x34; +static constexpr RegAddr REG_MAXWD = 0x35; +static constexpr RegAddr REG_LPERIOD = 0x38; +static constexpr RegAddr REG_FEEDL = 0x3d; +static constexpr RegAddr REG_VALIDWORD = 0x42; +static constexpr RegAddr REG_FEDCNT = 0x48; +static constexpr RegAddr REG_SCANCNT = 0x4b; +static constexpr RegAddr REG_Z1MOD = 0x60; +static constexpr RegAddr REG_Z2MOD = 0x62; + +} // namespace gl646 +} // namespace genesys + +#endif // BACKEND_GENESYS_GL646_REGISTERS_H diff --git a/backend/genesys/gl841.cpp b/backend/genesys/gl841.cpp new file mode 100644 index 0000000..470f9ba --- /dev/null +++ b/backend/genesys/gl841.cpp @@ -0,0 +1,4010 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2003 Oliver Rauch + Copyright (C) 2003, 2004 Henning Meier-Geinitz + Copyright (C) 2004 Gerhard Jaeger + Copyright (C) 2004-2013 Stéphane Voltz + Copyright (C) 2005 Philipp Schmid + Copyright (C) 2005-2009 Pierre Willenbrock + Copyright (C) 2006 Laurent Charpentier + Copyright (C) 2010 Chris Berry and Michael Rickmann + for Plustek Opticbook 3600 support + + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "gl841.h" +#include "gl841_registers.h" +#include "test_settings.h" + +#include + +namespace genesys { +namespace gl841 { + + +static int gl841_exposure_time(Genesys_Device *dev, const Genesys_Sensor& sensor, + float slope_dpi, + StepType scan_step_type, + int start, + int used_pixels); + +/** copy sensor specific settings */ +/* *dev : device infos + *regs : registers to be set + extended : do extended set up + ccd_size_divisor: set up for half ccd resolution + all registers 08-0B, 10-1D, 52-59 are set up. They shouldn't + appear anywhere else but in register_ini + +Responsible for signals to CCD/CIS: + CCD_CK1X (CK1INV(0x16),CKDIS(0x16),CKTOGGLE(0x18),CKDELAY(0x18),MANUAL1(0x1A),CK1MTGL(0x1C),CK1LOW(0x1D),CK1MAP(0x74,0x75,0x76),CK1NEG(0x7D)) + CCD_CK2X (CK2INV(0x16),CKDIS(0x16),CKTOGGLE(0x18),CKDELAY(0x18),MANUAL1(0x1A),CK1LOW(0x1D),CK1NEG(0x7D)) + CCD_CK3X (MANUAL3(0x1A),CK3INV(0x1A),CK3MTGL(0x1C),CK3LOW(0x1D),CK3MAP(0x77,0x78,0x79),CK3NEG(0x7D)) + CCD_CK4X (MANUAL3(0x1A),CK4INV(0x1A),CK4MTGL(0x1C),CK4LOW(0x1D),CK4MAP(0x7A,0x7B,0x7C),CK4NEG(0x7D)) + CCD_CPX (CTRLHI(0x16),CTRLINV(0x16),CTRLDIS(0x16),CPH(0x72),CPL(0x73),CPNEG(0x7D)) + CCD_RSX (CTRLHI(0x16),CTRLINV(0x16),CTRLDIS(0x16),RSH(0x70),RSL(0x71),RSNEG(0x7D)) + CCD_TGX (TGINV(0x16),TGMODE(0x17),TGW(0x17),EXPR(0x10,0x11),TGSHLD(0x1D)) + CCD_TGG (TGINV(0x16),TGMODE(0x17),TGW(0x17),EXPG(0x12,0x13),TGSHLD(0x1D)) + CCD_TGB (TGINV(0x16),TGMODE(0x17),TGW(0x17),EXPB(0x14,0x15),TGSHLD(0x1D)) + LAMP_SW (EXPR(0x10,0x11),XPA_SEL(0x03),LAMP_PWR(0x03),LAMPTIM(0x03),MTLLAMP(0x04),LAMPPWM(0x29)) + XPA_SW (EXPG(0x12,0x13),XPA_SEL(0x03),LAMP_PWR(0x03),LAMPTIM(0x03),MTLLAMP(0x04),LAMPPWM(0x29)) + LAMP_B (EXPB(0x14,0x15),LAMP_PWR(0x03)) + +other registers: + CISSET(0x01),CNSET(0x18),DCKSEL(0x18),SCANMOD(0x18),EXPDMY(0x19),LINECLP(0x1A),CKAREA(0x1C),TGTIME(0x1C),LINESEL(0x1E),DUMMY(0x34) + +Responsible for signals to AFE: + VSMP (VSMP(0x58),VSMPW(0x58)) + BSMP (BSMP(0x59),BSMPW(0x59)) + +other register settings depending on this: + RHI(0x52),RLOW(0x53),GHI(0x54),GLOW(0x55),BHI(0x56),BLOW(0x57), + +*/ +static void sanei_gl841_setup_sensor(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set * regs, + bool extended, unsigned ccd_size_divisor) +{ + DBG(DBG_proc, "%s\n", __func__); + + // that one is tricky at least + for (uint16_t addr = 0x08; addr <= 0x0b; ++addr) { + regs->set8(0x70 + addr - 0x08, sensor.custom_regs.get_value(addr)); + } + + // ignore registers in range [0x10..0x16) + for (uint16_t addr = 0x16; addr < 0x1e; ++addr) { + regs->set8(addr, sensor.custom_regs.get_value(addr)); + } + + // ignore registers in range [0x5b..0x5e] + for (uint16_t addr = 0x52; addr < 0x52 + 9; ++addr) { + regs->set8(addr, sensor.custom_regs.get_value(addr)); + } + + /* don't go any further if no extended setup */ + if (!extended) + return; + + /* todo : add more CCD types if needed */ + /* we might want to expand the Sensor struct to have these + 2 kind of settings */ + if (dev->model->sensor_id == SensorId::CCD_5345) { + if (ccd_size_divisor > 1) { + GenesysRegister* r; + /* settings for CCD used at half is max resolution */ + r = sanei_genesys_get_address (regs, 0x70); + r->value = 0x00; + r = sanei_genesys_get_address (regs, 0x71); + r->value = 0x05; + r = sanei_genesys_get_address (regs, 0x72); + r->value = 0x06; + r = sanei_genesys_get_address (regs, 0x73); + r->value = 0x08; + r = sanei_genesys_get_address (regs, 0x18); + r->value = 0x28; + r = sanei_genesys_get_address (regs, 0x58); + r->value = 0x80 | (r->value & 0x03); /* VSMP=16 */ + } + else + { + GenesysRegister* r; + /* swap latch times */ + r = sanei_genesys_get_address (regs, 0x18); + r->value = 0x30; + regs->set8(0x52, sensor.custom_regs.get_value(0x55)); + regs->set8(0x53, sensor.custom_regs.get_value(0x56)); + regs->set8(0x54, sensor.custom_regs.get_value(0x57)); + regs->set8(0x55, sensor.custom_regs.get_value(0x52)); + regs->set8(0x56, sensor.custom_regs.get_value(0x53)); + regs->set8(0x57, sensor.custom_regs.get_value(0x54)); + r = sanei_genesys_get_address (regs, 0x58); + r->value = 0x20 | (r->value & 0x03); /* VSMP=4 */ + } + return; + } + + if (dev->model->sensor_id == SensorId::CCD_HP2300) { + /* settings for CCD used at half is max resolution */ + GenesysRegister* r; + if (ccd_size_divisor > 1) { + r = sanei_genesys_get_address (regs, 0x70); + r->value = 0x16; + r = sanei_genesys_get_address (regs, 0x71); + r->value = 0x00; + r = sanei_genesys_get_address (regs, 0x72); + r->value = 0x01; + r = sanei_genesys_get_address (regs, 0x73); + r->value = 0x03; + /* manual clock programming */ + r = sanei_genesys_get_address (regs, 0x1d); + r->value |= 0x80; + } + else + { + r = sanei_genesys_get_address (regs, 0x70); + r->value = 1; + r = sanei_genesys_get_address (regs, 0x71); + r->value = 3; + r = sanei_genesys_get_address (regs, 0x72); + r->value = 4; + r = sanei_genesys_get_address (regs, 0x73); + r->value = 6; + } + r = sanei_genesys_get_address (regs, 0x58); + r->value = 0x80 | (r->value & 0x03); /* VSMP=16 */ + return; + } +} + +/* + * Set all registers LiDE 80 to default values + * (function called only once at the beginning) + * we are doing a special case to ease development + */ +static void +gl841_init_lide80 (Genesys_Device * dev) +{ + dev->reg.init_reg(0x01, 0x82); // 0x02 = SHDAREA and no CISSET ! + dev->reg.init_reg(0x02, 0x10); + dev->reg.init_reg(0x03, 0x50); + dev->reg.init_reg(0x04, 0x02); + dev->reg.init_reg(0x05, 0x4c); // 1200 DPI + dev->reg.init_reg(0x06, 0x38); // 0x38 scanmod=1, pwrbit, GAIN4 + dev->reg.init_reg(0x07, 0x00); + dev->reg.init_reg(0x08, 0x00); + dev->reg.init_reg(0x09, 0x11); + dev->reg.init_reg(0x0a, 0x00); + + dev->reg.init_reg(0x10, 0x40); + dev->reg.init_reg(0x11, 0x00); + dev->reg.init_reg(0x12, 0x40); + dev->reg.init_reg(0x13, 0x00); + dev->reg.init_reg(0x14, 0x40); + dev->reg.init_reg(0x15, 0x00); + dev->reg.init_reg(0x16, 0x00); + dev->reg.init_reg(0x17, 0x01); + dev->reg.init_reg(0x18, 0x00); + dev->reg.init_reg(0x19, 0x06); + dev->reg.init_reg(0x1a, 0x00); + dev->reg.init_reg(0x1b, 0x00); + dev->reg.init_reg(0x1c, 0x00); + dev->reg.init_reg(0x1d, 0x04); + dev->reg.init_reg(0x1e, 0x10); + dev->reg.init_reg(0x1f, 0x04); + dev->reg.init_reg(0x20, 0x02); + dev->reg.init_reg(0x21, 0x10); + dev->reg.init_reg(0x22, 0x20); + dev->reg.init_reg(0x23, 0x20); + dev->reg.init_reg(0x24, 0x10); + dev->reg.init_reg(0x25, 0x00); + dev->reg.init_reg(0x26, 0x00); + dev->reg.init_reg(0x27, 0x00); + + dev->reg.init_reg(0x29, 0xff); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + dev->reg.init_reg(0x2c, sensor.optical_res>>8); + dev->reg.init_reg(0x2d, sensor.optical_res & 0xff); + dev->reg.init_reg(0x2e, 0x80); + dev->reg.init_reg(0x2f, 0x80); + dev->reg.init_reg(0x30, 0x00); + dev->reg.init_reg(0x31, 0x10); + dev->reg.init_reg(0x32, 0x15); + dev->reg.init_reg(0x33, 0x0e); + dev->reg.init_reg(0x34, 0x40); + dev->reg.init_reg(0x35, 0x00); + dev->reg.init_reg(0x36, 0x2a); + dev->reg.init_reg(0x37, 0x30); + dev->reg.init_reg(0x38, 0x2a); + dev->reg.init_reg(0x39, 0xf8); + + dev->reg.init_reg(0x3d, 0x00); + dev->reg.init_reg(0x3e, 0x00); + dev->reg.init_reg(0x3f, 0x00); + + dev->reg.init_reg(0x52, 0x03); + dev->reg.init_reg(0x53, 0x07); + dev->reg.init_reg(0x54, 0x00); + dev->reg.init_reg(0x55, 0x00); + dev->reg.init_reg(0x56, 0x00); + dev->reg.init_reg(0x57, 0x00); + dev->reg.init_reg(0x58, 0x29); + dev->reg.init_reg(0x59, 0x69); + dev->reg.init_reg(0x5a, 0x55); + + dev->reg.init_reg(0x5d, 0x20); + dev->reg.init_reg(0x5e, 0x41); + dev->reg.init_reg(0x5f, 0x40); + dev->reg.init_reg(0x60, 0x00); + dev->reg.init_reg(0x61, 0x00); + dev->reg.init_reg(0x62, 0x00); + dev->reg.init_reg(0x63, 0x00); + dev->reg.init_reg(0x64, 0x00); + dev->reg.init_reg(0x65, 0x00); + dev->reg.init_reg(0x66, 0x00); + dev->reg.init_reg(0x67, 0x40); + dev->reg.init_reg(0x68, 0x40); + dev->reg.init_reg(0x69, 0x20); + dev->reg.init_reg(0x6a, 0x20); + dev->reg.init_reg(0x6c, 0x00); + dev->reg.init_reg(0x6d, 0x00); + dev->reg.init_reg(0x6e, 0x00); + dev->reg.init_reg(0x6f, 0x00); + dev->reg.init_reg(0x70, 0x00); + dev->reg.init_reg(0x71, 0x05); + dev->reg.init_reg(0x72, 0x07); + dev->reg.init_reg(0x73, 0x09); + dev->reg.init_reg(0x74, 0x00); + dev->reg.init_reg(0x75, 0x01); + dev->reg.init_reg(0x76, 0xff); + dev->reg.init_reg(0x77, 0x00); + dev->reg.init_reg(0x78, 0x0f); + dev->reg.init_reg(0x79, 0xf0); + dev->reg.init_reg(0x7a, 0xf0); + dev->reg.init_reg(0x7b, 0x00); + dev->reg.init_reg(0x7c, 0x1e); + dev->reg.init_reg(0x7d, 0x11); + dev->reg.init_reg(0x7e, 0x00); + dev->reg.init_reg(0x7f, 0x50); + dev->reg.init_reg(0x80, 0x00); + dev->reg.init_reg(0x81, 0x00); + dev->reg.init_reg(0x82, 0x0f); + dev->reg.init_reg(0x83, 0x00); + dev->reg.init_reg(0x84, 0x0e); + dev->reg.init_reg(0x85, 0x00); + dev->reg.init_reg(0x86, 0x0d); + dev->reg.init_reg(0x87, 0x02); + dev->reg.init_reg(0x88, 0x00); + dev->reg.init_reg(0x89, 0x00); + + for (const auto& reg : dev->gpo.regs) { + dev->reg.set8(reg.address, reg.value); + } + + // specific scanner settings, clock and gpio first + // FIXME: remove the dummy reads as we don't use the values + if (!is_testing_mode()) { + dev->interface->read_register(REG_0x6B); + } + dev->interface->write_register(REG_0x6B, 0x0c); + dev->interface->write_register(0x06, 0x10); + dev->interface->write_register(REG_0x6E, 0x6d); + dev->interface->write_register(REG_0x6F, 0x80); + dev->interface->write_register(REG_0x6B, 0x0e); + if (!is_testing_mode()) { + dev->interface->read_register(REG_0x6C); + } + dev->interface->write_register(REG_0x6C, 0x00); + if (!is_testing_mode()) { + dev->interface->read_register(REG_0x6D); + } + dev->interface->write_register(REG_0x6D, 0x8f); + if (!is_testing_mode()) { + dev->interface->read_register(REG_0x6B); + } + dev->interface->write_register(REG_0x6B, 0x0e); + if (!is_testing_mode()) { + dev->interface->read_register(REG_0x6B); + } + dev->interface->write_register(REG_0x6B, 0x0e); + if (!is_testing_mode()) { + dev->interface->read_register(REG_0x6B); + } + dev->interface->write_register(REG_0x6B, 0x0a); + if (!is_testing_mode()) { + dev->interface->read_register(REG_0x6B); + } + dev->interface->write_register(REG_0x6B, 0x02); + if (!is_testing_mode()) { + dev->interface->read_register(REG_0x6B); + } + dev->interface->write_register(REG_0x6B, 0x06); + + dev->interface->write_0x8c(0x10, 0x94); + dev->interface->write_register(0x09, 0x10); + + // FIXME: the following code originally changed 0x6b, but due to bug the 0x6c register was + // effectively changed. The current behavior matches the old code, but should probably be fixed. + dev->reg.find_reg(0x6c).value |= REG_0x6B_GPO18; + dev->reg.find_reg(0x6c).value &= ~REG_0x6B_GPO17; + + sanei_gl841_setup_sensor(dev, sensor, &dev->reg, 0, 1); +} + +/* + * Set all registers to default values + * (function called only once at the beginning) + */ +static void +gl841_init_registers (Genesys_Device * dev) +{ + int addr; + + DBG(DBG_proc, "%s\n", __func__); + + dev->reg.clear(); + if (dev->model->model_id == ModelId::CANON_LIDE_80) { + gl841_init_lide80(dev); + return ; + } + + for (addr = 1; addr <= 0x0a; addr++) { + dev->reg.init_reg(addr, 0); + } + for (addr = 0x10; addr <= 0x27; addr++) { + dev->reg.init_reg(addr, 0); + } + dev->reg.init_reg(0x29, 0); + for (addr = 0x2c; addr <= 0x39; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x3d; addr <= 0x3f; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x52; addr <= 0x5a; addr++) + dev->reg.init_reg(addr, 0); + for (addr = 0x5d; addr <= 0x87; addr++) + dev->reg.init_reg(addr, 0); + + + dev->reg.find_reg(0x01).value = 0x20; /* (enable shading), CCD, color, 1M */ + if (dev->model->is_cis) { + dev->reg.find_reg(0x01).value |= REG_0x01_CISSET; + } else { + dev->reg.find_reg(0x01).value &= ~REG_0x01_CISSET; + } + + dev->reg.find_reg(0x02).value = 0x30 /*0x38 */ ; /* auto home, one-table-move, full step */ + dev->reg.find_reg(0x02).value |= REG_0x02_AGOHOME; + sanei_genesys_set_motor_power(dev->reg, true); + dev->reg.find_reg(0x02).value |= REG_0x02_FASTFED; + + dev->reg.find_reg(0x03).value = 0x1f /*0x17 */ ; /* lamp on */ + dev->reg.find_reg(0x03).value |= REG_0x03_AVEENB; + + if (dev->model->sensor_id == SensorId::CCD_PLUSTEK_OPTICPRO_3600) { + // AD front end + dev->reg.find_reg(0x04).value = (2 << REG_0x04S_AFEMOD) | 0x02; + } + else /* Wolfson front end */ + { + dev->reg.find_reg(0x04).value |= 1 << REG_0x04S_AFEMOD; + } + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + dev->reg.find_reg(0x05).value = 0x00; /* disable gamma, 24 clocks/pixel */ + + unsigned dpihw = 0; + if (sensor.sensor_pixels < 0x1500) { + dpihw = 600; + } else if (sensor.sensor_pixels < 0x2a80) { + dpihw = 1200; + } else if (sensor.sensor_pixels < 0x5400) { + dpihw = 2400; + } else { + throw SaneException("Cannot handle sensor pixel count %d", sensor.sensor_pixels); + } + sanei_genesys_set_dpihw(dev->reg, sensor, dpihw); + + dev->reg.find_reg(0x06).value |= REG_0x06_PWRBIT; + dev->reg.find_reg(0x06).value |= REG_0x06_GAIN4; + + /* XP300 CCD needs different clock and clock/pixels values */ + if (dev->model->sensor_id != SensorId::CCD_XP300 && + dev->model->sensor_id != SensorId::CCD_DP685 && + dev->model->sensor_id != SensorId::CCD_PLUSTEK_OPTICPRO_3600) + { + dev->reg.find_reg(0x06).value |= 0 << REG_0x06S_SCANMOD; + dev->reg.find_reg(0x09).value |= 1 << REG_0x09S_CLKSET; + } + else + { + dev->reg.find_reg(0x06).value |= 0x05 << REG_0x06S_SCANMOD; /* 15 clocks/pixel */ + dev->reg.find_reg(0x09).value = 0; /* 24 MHz CLKSET */ + } + + dev->reg.find_reg(0x1e).value = 0xf0; /* watch-dog time */ + + dev->reg.find_reg(0x17).value |= 1 << REG_0x17S_TGW; + + dev->reg.find_reg(0x19).value = 0x50; + + dev->reg.find_reg(0x1d).value |= 1 << REG_0x1DS_TGSHLD; + + dev->reg.find_reg(0x1e).value |= 1 << REG_0x1ES_WDTIME; + +/*SCANFED*/ + dev->reg.find_reg(0x1f).value = 0x01; + +/*BUFSEL*/ + dev->reg.find_reg(0x20).value = 0x20; + +/*LAMPPWM*/ + dev->reg.find_reg(0x29).value = 0xff; + +/*BWHI*/ + dev->reg.find_reg(0x2e).value = 0x80; + +/*BWLOW*/ + dev->reg.find_reg(0x2f).value = 0x80; + +/*LPERIOD*/ + dev->reg.find_reg(0x38).value = 0x4f; + dev->reg.find_reg(0x39).value = 0xc1; + +/*VSMPW*/ + dev->reg.find_reg(0x58).value |= 3 << REG_0x58S_VSMPW; + +/*BSMPW*/ + dev->reg.find_reg(0x59).value |= 3 << REG_0x59S_BSMPW; + +/*RLCSEL*/ + dev->reg.find_reg(0x5a).value |= REG_0x5A_RLCSEL; + +/*STOPTIM*/ + dev->reg.find_reg(0x5e).value |= 0x2 << REG_0x5ES_STOPTIM; + + sanei_gl841_setup_sensor(dev, sensor, &dev->reg, 0, 1); + + // set up GPIO + for (const auto& reg : dev->gpo.regs) { + dev->reg.set8(reg.address, reg.value); + } + + /* TODO there is a switch calling to be written here */ + if (dev->model->gpio_id == GpioId::CANON_LIDE_35) { + dev->reg.find_reg(0x6b).value |= REG_0x6B_GPO18; + dev->reg.find_reg(0x6b).value &= ~REG_0x6B_GPO17; + } + + if (dev->model->gpio_id == GpioId::XP300) { + dev->reg.find_reg(0x6b).value |= REG_0x6B_GPO17; + } + + if (dev->model->gpio_id == GpioId::DP685) { + /* REG_0x6B_GPO18 lights on green led */ + dev->reg.find_reg(0x6b).value |= REG_0x6B_GPO17|REG_0x6B_GPO18; + } + + DBG(DBG_proc, "%s complete\n", __func__); +} + +// Send slope table for motor movement slope_table in machine byte order +static void gl841_send_slope_table(Genesys_Device* dev, int table_nr, + const std::vector& slope_table, + int steps) +{ + DBG_HELPER_ARGS(dbg, "table_nr = %d, steps = %d", table_nr, steps); + int dpihw; + int start_address; + char msg[4000]; +/*#ifdef WORDS_BIGENDIAN*/ + int i; +/*#endif*/ + + dpihw = dev->reg.find_reg(0x05).value >> 6; + + if (dpihw == 0) /* 600 dpi */ + start_address = 0x08000; + else if (dpihw == 1) /* 1200 dpi */ + start_address = 0x10000; + else if (dpihw == 2) /* 2400 dpi */ + start_address = 0x20000; + else { + throw SaneException("Unexpected dpihw"); + } + + std::vector table(steps * 2); + for(i = 0; i < steps; i++) { + table[i * 2] = slope_table[i] & 0xff; + table[i * 2 + 1] = slope_table[i] >> 8; + } + + if (DBG_LEVEL >= DBG_io) + { + std::sprintf(msg, "write slope %d (%d)=", table_nr, steps); + for (i = 0; i < steps; i++) { + std::sprintf (msg+strlen(msg), ",%d", slope_table[i]); + } + DBG(DBG_io, "%s: %s\n", __func__, msg); + } + + if (dev->interface->is_mock()) { + dev->interface->record_slope_table(table_nr, slope_table); + } + dev->interface->write_buffer(0x3c, start_address + table_nr * 0x200, table.data(), steps * 2); +} + +static void gl841_set_lide80_fe(Genesys_Device* dev, uint8_t set) +{ + DBG_HELPER(dbg); + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, + static_cast(dev->model->adc_id)); + + dev->frontend = dev->frontend_initial; + + // write them to analog frontend + dev->interface->write_fe_register(0x00, dev->frontend.regs.get_value(0x00)); + dev->interface->write_fe_register(0x03, dev->frontend.regs.get_value(0x01)); + dev->interface->write_fe_register(0x06, dev->frontend.regs.get_value(0x02)); + } + + if (set == AFE_SET) + { + dev->interface->write_fe_register(0x00, dev->frontend.regs.get_value(0x00)); + dev->interface->write_fe_register(0x06, dev->frontend.regs.get_value(0x20)); + dev->interface->write_fe_register(0x03, dev->frontend.regs.get_value(0x28)); + } +} + +// Set values of Analog Device type frontend +static void gl841_set_ad_fe(Genesys_Device* dev, uint8_t set) +{ + DBG_HELPER(dbg); + int i; + + if (dev->model->adc_id==AdcId::CANON_LIDE_80) { + gl841_set_lide80_fe(dev, set); + return; + } + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, + static_cast(dev->model->adc_id)); + + dev->frontend = dev->frontend_initial; + + // write them to analog frontend + dev->interface->write_fe_register(0x00, dev->frontend.regs.get_value(0x00)); + + dev->interface->write_fe_register(0x01, dev->frontend.regs.get_value(0x01)); + + for (i = 0; i < 6; i++) { + dev->interface->write_fe_register(0x02 + i, 0x00); + } + } + if (set == AFE_SET) + { + // write them to analog frontend + dev->interface->write_fe_register(0x00, dev->frontend.regs.get_value(0x00)); + + dev->interface->write_fe_register(0x01, dev->frontend.regs.get_value(0x01)); + + // Write fe 0x02 (red gain) + dev->interface->write_fe_register(0x02, dev->frontend.get_gain(0)); + + // Write fe 0x03 (green gain) + dev->interface->write_fe_register(0x03, dev->frontend.get_gain(1)); + + // Write fe 0x04 (blue gain) + dev->interface->write_fe_register(0x04, dev->frontend.get_gain(2)); + + // Write fe 0x05 (red offset) + dev->interface->write_fe_register(0x05, dev->frontend.get_offset(0)); + + // Write fe 0x06 (green offset) + dev->interface->write_fe_register(0x06, dev->frontend.get_offset(1)); + + // Write fe 0x07 (blue offset) + dev->interface->write_fe_register(0x07, dev->frontend.get_offset(2)); + } +} + +// Set values of analog frontend +void CommandSetGl841::set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set) const +{ + DBG_HELPER_ARGS(dbg, "%s", set == AFE_INIT ? "init" : + set == AFE_SET ? "set" : + set == AFE_POWER_SAVE ? "powersave" : "huh?"); + (void) sensor; + + /* Analog Device type frontend */ + uint8_t frontend_type = dev->reg.find_reg(0x04).value & REG_0x04_FESET; + + if (frontend_type == 0x02) { + gl841_set_ad_fe(dev, set); + return; + } + + if (frontend_type != 0x00) { + throw SaneException("unsupported frontend type %d", frontend_type); + } + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, + static_cast(dev->model->adc_id)); + dev->frontend = dev->frontend_initial; + + // reset only done on init + dev->interface->write_fe_register(0x04, 0x80); + DBG(DBG_proc, "%s(): frontend reset complete\n", __func__); + } + + + if (set == AFE_POWER_SAVE) + { + dev->interface->write_fe_register(0x01, 0x02); + return; + } + + /* todo : base this test on cfg reg3 or a CCD family flag to be created */ + /*if (dev->model->ccd_type!=SensorId::CCD_HP2300 && dev->model->ccd_type!=SensorId::CCD_HP2400) */ + { + dev->interface->write_fe_register(0x00, dev->frontend.regs.get_value(0x00)); + dev->interface->write_fe_register(0x02, dev->frontend.regs.get_value(0x02)); + } + + dev->interface->write_fe_register(0x01, dev->frontend.regs.get_value(0x01)); + dev->interface->write_fe_register(0x03, dev->frontend.regs.get_value(0x03)); + dev->interface->write_fe_register(0x06, dev->frontend.reg2[0]); + dev->interface->write_fe_register(0x08, dev->frontend.reg2[1]); + dev->interface->write_fe_register(0x09, dev->frontend.reg2[2]); + + for (unsigned i = 0; i < 3; i++) { + dev->interface->write_fe_register(0x24 + i, dev->frontend.regs.get_value(0x24 + i)); + dev->interface->write_fe_register(0x28 + i, dev->frontend.get_gain(i)); + dev->interface->write_fe_register(0x20 + i, dev->frontend.get_offset(i)); + } +} + +enum MotorAction { + MOTOR_ACTION_FEED = 1, + MOTOR_ACTION_GO_HOME = 2, + MOTOR_ACTION_HOME_FREE = 3 +}; + +// @brief turn off motor +static void gl841_init_motor_regs_off(Genesys_Register_Set* reg, unsigned int scan_lines) +{ + DBG_HELPER_ARGS(dbg, "scan_lines=%d", scan_lines); + unsigned int feedl; + GenesysRegister* r; + + feedl = 2; + + r = sanei_genesys_get_address (reg, 0x3d); + r->value = (feedl >> 16) & 0xf; + r = sanei_genesys_get_address (reg, 0x3e); + r->value = (feedl >> 8) & 0xff; + r = sanei_genesys_get_address (reg, 0x3f); + r->value = feedl & 0xff; + r = sanei_genesys_get_address (reg, 0x5e); + r->value &= ~0xe0; + + r = sanei_genesys_get_address (reg, 0x25); + r->value = (scan_lines >> 16) & 0xf; + r = sanei_genesys_get_address (reg, 0x26); + r->value = (scan_lines >> 8) & 0xff; + r = sanei_genesys_get_address (reg, 0x27); + r->value = scan_lines & 0xff; + + r = sanei_genesys_get_address (reg, 0x02); + r->value &= ~0x01; /*LONGCURV OFF*/ + r->value &= ~0x80; /*NOT_HOME OFF*/ + + r->value &= ~0x10; + + r->value &= ~0x06; + + r->value &= ~0x08; + + r->value &= ~0x20; + + r->value &= ~0x40; + + r = sanei_genesys_get_address (reg, 0x67); + r->value = 0x3f; + + r = sanei_genesys_get_address (reg, 0x68); + r->value = 0x3f; + + r = sanei_genesys_get_address(reg, REG_STEPNO); + r->value = 0; + + r = sanei_genesys_get_address(reg, REG_FASTNO); + r->value = 0; + + r = sanei_genesys_get_address (reg, 0x69); + r->value = 0; + + r = sanei_genesys_get_address (reg, 0x6a); + r->value = 0; + + r = sanei_genesys_get_address (reg, 0x5f); + r->value = 0; +} + +/** @brief write motor table frequency + * Write motor frequency data table. + * @param dev device to set up motor + * @param ydpi motor target resolution + */ +static void gl841_write_freq(Genesys_Device* dev, unsigned int ydpi) +{ + DBG_HELPER(dbg); +/**< fast table */ +uint8_t tdefault[] = {0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76}; +uint8_t t1200[] = {0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20}; +uint8_t t300[] = {0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60}; +uint8_t t150[] = {0x0c,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0x40,0x14,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x0c,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0x11,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x0c,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0x40,0xd4,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x0c,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0x11,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60}; + +uint8_t *table; + + if(dev->model->motor_id == MotorId::CANON_LIDE_80) { + switch(ydpi) + { + case 3600: + case 1200: + table=t1200; + break; + case 900: + case 300: + table=t300; + break; + case 450: + case 150: + table=t150; + break; + default: + table=tdefault; + } + dev->interface->write_register(0x66, 0x00); + dev->interface->write_gamma(0x28, 0xc000, table, 128, + ScannerInterface::FLAG_SWAP_REGISTERS); + dev->interface->write_register(0x5b, 0x00); + dev->interface->write_register(0x5c, 0x00); + } +} + + +static void gl841_init_motor_regs(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, unsigned int feed_steps,/*1/base_ydpi*/ + /*maybe float for half/quarter step resolution?*/ + unsigned int action, MotorFlag flags) +{ + DBG_HELPER_ARGS(dbg, "feed_steps=%d, action=%d, flags=%x", feed_steps, action, + static_cast(flags)); + unsigned int fast_exposure = 0; + int use_fast_fed = 0; + unsigned int feedl; + GenesysRegister* r; +/*number of scan lines to add in a scan_lines line*/ + + { + std::vector table; + table.resize(256, 0xffff); + + gl841_send_slope_table(dev, 0, table, 256); + gl841_send_slope_table(dev, 1, table, 256); + gl841_send_slope_table(dev, 2, table, 256); + gl841_send_slope_table(dev, 3, table, 256); + gl841_send_slope_table(dev, 4, table, 256); + } + + gl841_write_freq(dev, dev->motor.base_ydpi / 4); + + if (action == MOTOR_ACTION_FEED || action == MOTOR_ACTION_GO_HOME) { + /* FEED and GO_HOME can use fastest slopes available */ + fast_exposure = gl841_exposure_time(dev, sensor, + dev->motor.base_ydpi / 4, + StepType::FULL, + 0, + 0); + DBG(DBG_info, "%s : fast_exposure=%d pixels\n", __func__, fast_exposure); + } + + if (action == MOTOR_ACTION_HOME_FREE) { +/* HOME_FREE must be able to stop in one step, so do not try to get faster */ + fast_exposure = dev->motor.get_slope(StepType::FULL).max_speed_w; + } + + auto fast_table = sanei_genesys_create_slope_table3(dev->model->asic_type, dev->motor, + StepType::FULL, fast_exposure, + dev->motor.base_ydpi / 4); + + feedl = feed_steps - fast_table.steps_count * 2; + use_fast_fed = 1; + +/* all needed slopes available. we did even decide which mode to use. + what next? + - transfer slopes +SCAN: +flags \ use_fast_fed ! 0 1 +------------------------\-------------------- + 0 ! 0,1,2 0,1,2,3 +MotorFlag::AUTO_GO_HOME ! 0,1,2,4 0,1,2,3,4 +OFF: none +FEED: 3 +GO_HOME: 3 +HOME_FREE: 3 + - setup registers + * slope specific registers (already done) + * DECSEL for HOME_FREE/GO_HOME/SCAN + * FEEDL + * MTRREV + * MTRPWR + * FASTFED + * STEPSEL + * MTRPWM + * FSTPSEL + * FASTPWM + * HOMENEG + * BWDSTEP + * FWDSTEP + * Z1 + * Z2 + */ + + r = sanei_genesys_get_address(reg, 0x3d); + r->value = (feedl >> 16) & 0xf; + r = sanei_genesys_get_address(reg, 0x3e); + r->value = (feedl >> 8) & 0xff; + r = sanei_genesys_get_address(reg, 0x3f); + r->value = feedl & 0xff; + r = sanei_genesys_get_address(reg, 0x5e); + r->value &= ~0xe0; + + r = sanei_genesys_get_address(reg, 0x25); + r->value = 0; + r = sanei_genesys_get_address(reg, 0x26); + r->value = 0; + r = sanei_genesys_get_address(reg, 0x27); + r->value = 0; + + r = sanei_genesys_get_address(reg, 0x02); + r->value &= ~0x01; /*LONGCURV OFF*/ + r->value &= ~0x80; /*NOT_HOME OFF*/ + + r->value |= 0x10; + + if (action == MOTOR_ACTION_GO_HOME) + r->value |= 0x06; + else + r->value &= ~0x06; + + if (use_fast_fed) + r->value |= 0x08; + else + r->value &= ~0x08; + + if (has_flag(flags, MotorFlag::AUTO_GO_HOME)) { + r->value |= 0x20; + } else { + r->value &= ~0x20; + } + + r->value &= ~0x40; + + if (has_flag(flags, MotorFlag::REVERSE)) { + r->value |= REG_0x02_MTRREV; + } + + gl841_send_slope_table(dev, 3, fast_table.table, 256); + + r = sanei_genesys_get_address(reg, 0x67); + r->value = 0x3f; + + r = sanei_genesys_get_address(reg, 0x68); + r->value = 0x3f; + + r = sanei_genesys_get_address(reg, REG_STEPNO); + r->value = 0; + + r = sanei_genesys_get_address(reg, REG_FASTNO); + r->value = 0; + + r = sanei_genesys_get_address(reg, 0x69); + r->value = 0; + + r = sanei_genesys_get_address(reg, 0x6a); + r->value = (fast_table.steps_count >> 1) + (fast_table.steps_count & 1); + + r = sanei_genesys_get_address(reg, 0x5f); + r->value = (fast_table.steps_count >> 1) + (fast_table.steps_count & 1); +} + +static void gl841_init_motor_regs_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + unsigned int scan_exposure_time,/*pixel*/ + unsigned scan_yres, // dpi, motor resolution + StepType scan_step_type, + unsigned int scan_lines,/*lines, scan resolution*/ + unsigned int scan_dummy, + // number of scan lines to add in a scan_lines line + unsigned int feed_steps,/*1/base_ydpi*/ + // maybe float for half/quarter step resolution? + MotorFlag flags) +{ + DBG_HELPER_ARGS(dbg, "scan_exposure_time=%d, scan_yres=%d, scan_step_type=%d, scan_lines=%d," + " scan_dummy=%d, feed_steps=%d, flags=%x", + scan_exposure_time, scan_yres, static_cast(scan_step_type), + scan_lines, scan_dummy, feed_steps, static_cast(flags)); + unsigned int fast_exposure; + int use_fast_fed = 0; + unsigned int fast_time; + unsigned int slow_time; + unsigned int feedl; + GenesysRegister* r; + unsigned int min_restep = 0x20; + uint32_t z1, z2; + + fast_exposure = gl841_exposure_time(dev, sensor, + dev->motor.base_ydpi / 4, + StepType::FULL, + 0, + 0); + + DBG(DBG_info, "%s : fast_exposure=%d pixels\n", __func__, fast_exposure); + + { + std::vector table; + table.resize(256, 0xffff); + + gl841_send_slope_table(dev, 0, table, 256); + gl841_send_slope_table(dev, 1, table, 256); + gl841_send_slope_table(dev, 2, table, 256); + gl841_send_slope_table(dev, 3, table, 256); + gl841_send_slope_table(dev, 4, table, 256); + } + + + /* motor frequency table */ + gl841_write_freq(dev, scan_yres); + +/* + we calculate both tables for SCAN. the fast slope step count depends on + how many steps we need for slow acceleration and how much steps we are + allowed to use. + */ + + auto slow_table = sanei_genesys_create_slope_table3(dev->model->asic_type, dev->motor, + scan_step_type, scan_exposure_time, + scan_yres); + + auto back_table = sanei_genesys_create_slope_table3(dev->model->asic_type, dev->motor, + scan_step_type, 0, scan_yres); + + if (feed_steps < (slow_table.steps_count >> static_cast(scan_step_type))) { + /*TODO: what should we do here?? go back to exposure calculation?*/ + feed_steps = slow_table.steps_count >> static_cast(scan_step_type); + } + + auto fast_table = sanei_genesys_create_slope_table3(dev->model->asic_type, dev->motor, + StepType::FULL, fast_exposure, + dev->motor.base_ydpi / 4); + + unsigned max_fast_slope_steps_count = 1; + if (feed_steps > (slow_table.steps_count >> static_cast(scan_step_type)) + 2) { + max_fast_slope_steps_count = (feed_steps - + (slow_table.steps_count >> static_cast(scan_step_type))) / 2; + } + + if (fast_table.steps_count > max_fast_slope_steps_count) { + fast_table.slice_steps(max_fast_slope_steps_count); + } + + /* fast fed special cases handling */ + if (dev->model->gpio_id == GpioId::XP300 + || dev->model->gpio_id == GpioId::DP685) + { + /* quirk: looks like at least this scanner is unable to use + 2-feed mode */ + use_fast_fed = 0; + } + else if (feed_steps < fast_table.steps_count * 2 + + (slow_table.steps_count >> static_cast(scan_step_type))) + { + use_fast_fed = 0; + DBG(DBG_info, "%s: feed too short, slow move forced.\n", __func__); + } else { +/* for deciding whether we should use fast mode we need to check how long we + need for (fast)accelerating, moving, decelerating, (TODO: stopping?) + (slow)accelerating again versus (slow)accelerating and moving. we need + fast and slow tables here. +*/ +/*NOTE: scan_exposure_time is per scan_yres*/ +/*NOTE: fast_exposure is per base_ydpi/4*/ +/*we use full steps as base unit here*/ + fast_time = + fast_exposure / 4 * + (feed_steps - fast_table.steps_count*2 - + (slow_table.steps_count >> static_cast(scan_step_type))) + + fast_table.pixeltime_sum*2 + slow_table.pixeltime_sum; + slow_time = + (scan_exposure_time * scan_yres) / dev->motor.base_ydpi * + (feed_steps - (slow_table.steps_count >> static_cast(scan_step_type))) + + slow_table.pixeltime_sum; + + DBG(DBG_info, "%s: Time for slow move: %d\n", __func__, slow_time); + DBG(DBG_info, "%s: Time for fast move: %d\n", __func__, fast_time); + + use_fast_fed = fast_time < slow_time; + } + + if (use_fast_fed) { + feedl = feed_steps - fast_table.steps_count * 2 - + (slow_table.steps_count >> static_cast(scan_step_type)); + } else if ((feed_steps << static_cast(scan_step_type)) < slow_table.steps_count) { + feedl = 0; + } else { + feedl = (feed_steps << static_cast(scan_step_type)) - slow_table.steps_count; + } + DBG(DBG_info, "%s: Decided to use %s mode\n", __func__, use_fast_fed?"fast feed":"slow feed"); + +/* all needed slopes available. we did even decide which mode to use. + what next? + - transfer slopes +SCAN: +flags \ use_fast_fed ! 0 1 +------------------------\-------------------- + 0 ! 0,1,2 0,1,2,3 +MotorFlag::AUTO_GO_HOME ! 0,1,2,4 0,1,2,3,4 +OFF: none +FEED: 3 +GO_HOME: 3 +HOME_FREE: 3 + - setup registers + * slope specific registers (already done) + * DECSEL for HOME_FREE/GO_HOME/SCAN + * FEEDL + * MTRREV + * MTRPWR + * FASTFED + * STEPSEL + * MTRPWM + * FSTPSEL + * FASTPWM + * HOMENEG + * BWDSTEP + * FWDSTEP + * Z1 + * Z2 + */ + + r = sanei_genesys_get_address (reg, 0x3d); + r->value = (feedl >> 16) & 0xf; + r = sanei_genesys_get_address (reg, 0x3e); + r->value = (feedl >> 8) & 0xff; + r = sanei_genesys_get_address (reg, 0x3f); + r->value = feedl & 0xff; + r = sanei_genesys_get_address (reg, 0x5e); + r->value &= ~0xe0; + + r = sanei_genesys_get_address (reg, 0x25); + r->value = (scan_lines >> 16) & 0xf; + r = sanei_genesys_get_address (reg, 0x26); + r->value = (scan_lines >> 8) & 0xff; + r = sanei_genesys_get_address (reg, 0x27); + r->value = scan_lines & 0xff; + + r = sanei_genesys_get_address (reg, 0x02); + r->value &= ~0x01; /*LONGCURV OFF*/ + r->value &= ~0x80; /*NOT_HOME OFF*/ + r->value |= 0x10; + + r->value &= ~0x06; + + if (use_fast_fed) + r->value |= 0x08; + else + r->value &= ~0x08; + + if (has_flag(flags, MotorFlag::AUTO_GO_HOME)) + r->value |= 0x20; + else + r->value &= ~0x20; + + if (has_flag(flags, MotorFlag::DISABLE_BUFFER_FULL_MOVE)) { + r->value |= 0x40; + } else { + r->value &= ~0x40; + } + + gl841_send_slope_table(dev, 0, slow_table.table, 256); + + gl841_send_slope_table(dev, 1, back_table.table, 256); + + gl841_send_slope_table(dev, 2, slow_table.table, 256); + + if (use_fast_fed) { + gl841_send_slope_table(dev, 3, fast_table.table, 256); + } + + if (has_flag(flags, MotorFlag::AUTO_GO_HOME)) { + gl841_send_slope_table(dev, 4, fast_table.table, 256); + } + +/* now reg 0x21 and 0x24 are available, we can calculate reg 0x22 and 0x23, + reg 0x60-0x62 and reg 0x63-0x65 + rule: + 2*STEPNO+FWDSTEP=2*FASTNO+BWDSTEP +*/ +/* steps of table 0*/ + if (min_restep < slow_table.steps_count * 2 + 2) { + min_restep = slow_table.steps_count * 2 + 2; + } +/* steps of table 1*/ + if (min_restep < back_table.steps_count * 2 + 2) { + min_restep = back_table.steps_count * 2 + 2; + } +/* steps of table 0*/ + r = sanei_genesys_get_address(reg, REG_FWDSTEP); + r->value = min_restep - slow_table.steps_count*2; +/* steps of table 1*/ + r = sanei_genesys_get_address(reg, REG_BWDSTEP); + r->value = min_restep - back_table.steps_count*2; + +/* + for z1/z2: + in dokumentation mentioned variables a-d: + a = time needed for acceleration, table 1 + b = time needed for reg 0x1f... wouldn't that be reg0x1f*exposure_time? + c = time needed for acceleration, table 1 + d = time needed for reg 0x22... wouldn't that be reg0x22*exposure_time? + z1 = (c+d-1) % exposure_time + z2 = (a+b-1) % exposure_time +*/ +/* i don't see any effect of this. i can only guess that this will enhance + sub-pixel accuracy + z1 = (slope_0_time-1) % exposure_time; + z2 = (slope_0_time-1) % exposure_time; +*/ + z1 = z2 = 0; + + DBG(DBG_info, "%s: z1 = %d\n", __func__, z1); + DBG(DBG_info, "%s: z2 = %d\n", __func__, z2); + r = sanei_genesys_get_address (reg, 0x60); + r->value = ((z1 >> 16) & 0xff); + r = sanei_genesys_get_address (reg, 0x61); + r->value = ((z1 >> 8) & 0xff); + r = sanei_genesys_get_address (reg, 0x62); + r->value = (z1 & 0xff); + r = sanei_genesys_get_address (reg, 0x63); + r->value = ((z2 >> 16) & 0xff); + r = sanei_genesys_get_address (reg, 0x64); + r->value = ((z2 >> 8) & 0xff); + r = sanei_genesys_get_address (reg, 0x65); + r->value = (z2 & 0xff); + + r = sanei_genesys_get_address(reg, REG_0x1E); + r->value &= REG_0x1E_WDTIME; + r->value |= scan_dummy; + + r = sanei_genesys_get_address (reg, 0x67); + r->value = 0x3f | (static_cast(scan_step_type) << 6); + + r = sanei_genesys_get_address (reg, 0x68); + r->value = 0x3f; + + r = sanei_genesys_get_address(reg, REG_STEPNO); + r->value = (slow_table.steps_count >> 1) + (slow_table.steps_count & 1); + + r = sanei_genesys_get_address(reg, REG_FASTNO); + r->value = (back_table.steps_count >> 1) + (back_table.steps_count & 1); + + r = sanei_genesys_get_address (reg, 0x69); + r->value = (slow_table.steps_count >> 1) + (slow_table.steps_count & 1); + + r = sanei_genesys_get_address (reg, 0x6a); + r->value = (fast_table.steps_count >> 1) + (fast_table.steps_count & 1); + + r = sanei_genesys_get_address (reg, 0x5f); + r->value = (fast_table.steps_count >> 1) + (fast_table.steps_count & 1); +} + +static int +gl841_get_dpihw(Genesys_Device * dev) +{ + GenesysRegister* r; + r = sanei_genesys_get_address(&dev->reg, 0x05); + if ((r->value & REG_0x05_DPIHW) == REG_0x05_DPIHW_600) { + return 600; + } + if ((r->value & REG_0x05_DPIHW) == REG_0x05_DPIHW_1200) { + return 1200; + } + if ((r->value & REG_0x05_DPIHW) == REG_0x05_DPIHW_2400) { + return 2400; + } + return 0; +} + +static void gl841_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, unsigned int exposure_time, + const ScanSession& session) +{ + DBG_HELPER_ARGS(dbg, "exposure_time=%d", exposure_time); + GenesysRegister* r; + uint16_t expavg, expr, expb, expg; + + dev->cmd_set->set_fe(dev, sensor, AFE_SET); + + /* gpio part.*/ + if (dev->model->gpio_id == GpioId::CANON_LIDE_35) { + r = sanei_genesys_get_address(reg, REG_0x6C); + if (session.ccd_size_divisor > 1) { + r->value &= ~0x80; + } else { + r->value |= 0x80; + } + } + if (dev->model->gpio_id == GpioId::CANON_LIDE_80) { + r = sanei_genesys_get_address(reg, REG_0x6C); + if (session.ccd_size_divisor > 1) { + r->value &= ~0x40; + r->value |= 0x20; + } else { + r->value &= ~0x20; + r->value |= 0x40; + } + } + + /* enable shading */ + r = sanei_genesys_get_address (reg, 0x01); + r->value |= REG_0x01_SCAN; + if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) || + (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) { + r->value &= ~REG_0x01_DVDSET; + } else { + r->value |= REG_0x01_DVDSET; + } + + /* average looks better than deletion, and we are already set up to + use one of the average enabled resolutions + */ + r = sanei_genesys_get_address (reg, 0x03); + r->value |= REG_0x03_AVEENB; + sanei_genesys_set_lamp_power(dev, sensor, *reg, + !has_flag(session.params.flags, ScanFlag::DISABLE_LAMP)); + + /* BW threshold */ + r = sanei_genesys_get_address (reg, 0x2e); + r->value = dev->settings.threshold; + r = sanei_genesys_get_address (reg, 0x2f); + r->value = dev->settings.threshold; + + + /* monochrome / color scan */ + r = sanei_genesys_get_address (reg, 0x04); + switch (session.params.depth) { + case 8: + r->value &= ~(REG_0x04_LINEART | REG_0x04_BITSET); + break; + case 16: + r->value &= ~REG_0x04_LINEART; + r->value |= REG_0x04_BITSET; + break; + } + + /* AFEMOD should depend on FESET, and we should set these + * bits separately */ + r->value &= ~(REG_0x04_FILTER | REG_0x04_AFEMOD); + if (has_flag(session.params.flags, ScanFlag::ENABLE_LEDADD)) { + r->value |= 0x10; /* no filter */ + } + else if (session.params.channels == 1) + { + switch (session.params.color_filter) + { + case ColorFilter::RED: + r->value |= 0x14; + break; + case ColorFilter::GREEN: + r->value |= 0x18; + break; + case ColorFilter::BLUE: + r->value |= 0x1c; + break; + default: + r->value |= 0x10; + break; + } + } + else + { + if (dev->model->sensor_id == SensorId::CCD_PLUSTEK_OPTICPRO_3600) { + r->value |= 0x22; /* slow color pixel by pixel */ + } + else + { + r->value |= 0x10; /* color pixel by pixel */ + } + } + + /* CIS scanners can do true gray by setting LEDADD */ + r = sanei_genesys_get_address (reg, 0x87); + r->value &= ~REG_0x87_LEDADD; + if (has_flag(session.params.flags, ScanFlag::ENABLE_LEDADD)) { + r->value |= REG_0x87_LEDADD; + expr = reg->get16(REG_EXPR); + expg = reg->get16(REG_EXPG); + expb = reg->get16(REG_EXPB); + + /* use minimal exposure for best image quality */ + expavg = expg; + if (expr < expg) + expavg = expr; + if (expb < expavg) + expavg = expb; + + dev->reg.set16(REG_EXPR, expavg); + dev->reg.set16(REG_EXPG, expavg); + dev->reg.set16(REG_EXPB, expavg); + } + + // enable gamma tables + if (should_enable_gamma(session, sensor)) { + reg->find_reg(REG_0x05).value |= REG_0x05_GMMENB; + } else { + reg->find_reg(REG_0x05).value &= ~REG_0x05_GMMENB; + } + + /* sensor parameters */ + sanei_gl841_setup_sensor(dev, sensor, &dev->reg, 1, session.ccd_size_divisor); + + r = sanei_genesys_get_address (reg, 0x29); + r->value = 255; /*<<<"magic" number, only suitable for cis*/ + + reg->set16(REG_DPISET, gl841_get_dpihw(dev) * session.output_resolution / session.optical_resolution); + reg->set16(REG_STRPIXEL, session.pixel_startx); + reg->set16(REG_ENDPIXEL, session.pixel_endx); + + reg->set24(REG_MAXWD, session.output_line_bytes); + + reg->set16(REG_LPERIOD, exposure_time); + + r = sanei_genesys_get_address (reg, 0x34); + r->value = sensor.dummy_pixel; +} + +static int +gl841_get_led_exposure(Genesys_Device * dev, const Genesys_Sensor& sensor) +{ + int d,r,g,b,m; + if (!dev->model->is_cis) + return 0; + d = dev->reg.find_reg(0x19).value; + + r = sensor.exposure.red; + g = sensor.exposure.green; + b = sensor.exposure.blue; + + m = r; + if (m < g) + m = g; + if (m < b) + m = b; + + return m + d; +} + +/** @brief compute exposure time + * Compute exposure time for the device and the given scan resolution + */ +static int +gl841_exposure_time(Genesys_Device *dev, const Genesys_Sensor& sensor, + float slope_dpi, + StepType scan_step_type, + int start, + int used_pixels) +{ +int exposure_time = 0; +int led_exposure; + + led_exposure=gl841_get_led_exposure(dev, sensor); + exposure_time = sanei_genesys_exposure_time2( + dev, + slope_dpi, + scan_step_type, + start+used_pixels,/*+tgtime? currently done in sanei_genesys_exposure_time2 with tgtime = 32 pixel*/ + led_exposure); + + return exposure_time; +} + +/**@brief compute scan_step_type + * Try to do at least 4 steps per line. if that is impossible we will have to + * live with that. + * @param dev device + * @param yres motor resolution + */ +static StepType gl841_scan_step_type(Genesys_Device *dev, int yres) +{ + StepType type = StepType::FULL; + + /* TODO : check if there is a bug around the use of max_step_type */ + /* should be <=1, need to chek all devices entry in genesys_devices */ + if (yres * 4 < dev->motor.base_ydpi || dev->motor.max_step_type() == StepType::FULL) { + type = StepType::FULL; + } else if (yres * 4 < dev->motor.base_ydpi * 2 || + dev->motor.max_step_type() <= StepType::HALF) + { + type = StepType::HALF; + } else { + type = StepType::QUARTER; + } + + /* this motor behaves differently */ + if (dev->model->motor_id==MotorId::CANON_LIDE_80) { + // driven by 'frequency' tables ? + type = StepType::FULL; + } + + return type; +} + +void CommandSetGl841::init_regs_for_scan_session(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const ScanSession& session) const +{ + DBG_HELPER(dbg); + session.assert_computed(); + + int move; + int exposure_time; + + int slope_dpi = 0; + int dummy = 0; + +/* +results: + +for scanner: +start +end +dpiset +exposure_time +dummy +z1 +z2 + +for ordered_read: + dev->words_per_line + dev->read_factor + dev->requested_buffer_size + dev->read_buffer_size + dev->read_pos + dev->read_bytes_in_buffer + dev->read_bytes_left + dev->max_shift + dev->stagger + +independent of our calculated values: + dev->total_bytes_read + dev->bytes_to_read + */ + +/* dummy */ + /* dummy lines: may not be usefull, for instance 250 dpi works with 0 or 1 + dummy line. Maybe the dummy line adds correctness since the motor runs + slower (higher dpi) + */ +/* for cis this creates better aligned color lines: +dummy \ scanned lines + 0: R G B R ... + 1: R G B - R ... + 2: R G B - - R ... + 3: R G B - - - R ... + 4: R G B - - - - R ... + 5: R G B - - - - - R ... + 6: R G B - - - - - - R ... + 7: R G B - - - - - - - R ... + 8: R G B - - - - - - - - R ... + 9: R G B - - - - - - - - - R ... + 10: R G B - - - - - - - - - - R ... + 11: R G B - - - - - - - - - - - R ... + 12: R G B - - - - - - - - - - - - R ... + 13: R G B - - - - - - - - - - - - - R ... + 14: R G B - - - - - - - - - - - - - - R ... + 15: R G B - - - - - - - - - - - - - - - R ... + -- pierre + */ + dummy = 0; + +/* slope_dpi */ +/* cis color scan is effectively a gray scan with 3 gray lines per color + line and a FILTER of 0 */ + if (dev->model->is_cis) { + slope_dpi = session.params.yres* session.params.channels; + } else { + slope_dpi = session.params.yres; + } + + slope_dpi = slope_dpi * (1 + dummy); + + StepType scan_step_type = gl841_scan_step_type(dev, session.params.yres); + exposure_time = gl841_exposure_time(dev, sensor, + slope_dpi, + scan_step_type, + session.pixel_startx, + session.optical_pixels); + DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); + + gl841_init_optical_regs_scan(dev, sensor, reg, exposure_time, session); + + move = session.params.starty; + DBG(DBG_info, "%s: move=%d steps\n", __func__, move); + + /* subtract current head position */ + move -= (dev->head_pos(ScanHeadId::PRIMARY) * session.params.yres) / dev->motor.base_ydpi; + DBG(DBG_info, "%s: move=%d steps\n", __func__, move); + + if (move < 0) + move = 0; + + /* round it */ +/* the move is not affected by dummy -- pierre */ +/* move = ((move + dummy) / (dummy + 1)) * (dummy + 1); + DBG(DBG_info, "%s: move=%d steps\n", __func__, move);*/ + + if (has_flag(session.params.flags, ScanFlag::SINGLE_LINE)) { + gl841_init_motor_regs_off(reg, dev->model->is_cis ? session.output_line_count * session.params.channels + : session.output_line_count); + } else { + auto motor_flag = has_flag(session.params.flags, ScanFlag::DISABLE_BUFFER_FULL_MOVE) ? + MotorFlag::DISABLE_BUFFER_FULL_MOVE : MotorFlag::NONE; + + gl841_init_motor_regs_scan(dev, sensor, reg, exposure_time, slope_dpi, scan_step_type, + dev->model->is_cis ? session.output_line_count * session.params.channels + : session.output_line_count, + dummy, move, motor_flag); + } + + dev->read_buffer.clear(); + dev->read_buffer.alloc(session.buffer_size_read); + + build_image_pipeline(dev, session); + + dev->read_active = true; + + dev->session = session; + + dev->total_bytes_read = 0; + dev->total_bytes_to_read = session.output_line_bytes_requested * session.params.lines; + + DBG(DBG_info, "%s: total bytes to send = %zu\n", __func__, dev->total_bytes_to_read); +} + +ScanSession CommandSetGl841::calculate_scan_session(const Genesys_Device* dev, + const Genesys_Sensor& sensor, + const Genesys_Settings& settings) const +{ + int start; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, settings); + +/* start */ + start = static_cast(dev->model->x_offset); + start += static_cast(settings.tl_x); + + start = static_cast((start * sensor.optical_res) / MM_PER_INCH); + + ScanSession session; + session.params.xres = settings.xres; + session.params.yres = settings.yres; + session.params.startx = start; + session.params.starty = 0; // not used + session.params.pixels = settings.pixels; + session.params.requested_pixels = settings.requested_pixels; + session.params.lines = settings.lines; + session.params.depth = settings.depth; + session.params.channels = settings.get_channels(); + session.params.scan_method = settings.scan_method; + session.params.scan_mode = settings.scan_mode; + session.params.color_filter = settings.color_filter; + session.params.flags = ScanFlag::NONE; + + compute_session(dev, session, sensor); + + return session; +} + +// for fast power saving methods only, like disabling certain amplifiers +void CommandSetGl841::save_power(Genesys_Device* dev, bool enable) const +{ + DBG_HELPER_ARGS(dbg, "enable = %d", enable); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + if (enable) + { + if (dev->model->gpio_id == GpioId::CANON_LIDE_35) + { +/* expect GPIO17 to be enabled, and GPIO9 to be disabled, + while GPIO8 is disabled*/ +/* final state: GPIO8 disabled, GPIO9 enabled, GPIO17 disabled, + GPIO18 disabled*/ + + uint8_t val = dev->interface->read_register(REG_0x6D); + dev->interface->write_register(REG_0x6D, val | 0x80); + + dev->interface->sleep_ms(1); + + /*enable GPIO9*/ + val = dev->interface->read_register(REG_0x6C); + dev->interface->write_register(REG_0x6C, val | 0x01); + + /*disable GPO17*/ + val = dev->interface->read_register(REG_0x6B); + dev->interface->write_register(REG_0x6B, val & ~REG_0x6B_GPO17); + + /*disable GPO18*/ + val = dev->interface->read_register(REG_0x6B); + dev->interface->write_register(REG_0x6B, val & ~REG_0x6B_GPO18); + + dev->interface->sleep_ms(1); + + val = dev->interface->read_register(REG_0x6D); + dev->interface->write_register(REG_0x6D, val & ~0x80); + + } + if (dev->model->gpio_id == GpioId::DP685) + { + uint8_t val = dev->interface->read_register(REG_0x6B); + dev->interface->write_register(REG_0x6B, val & ~REG_0x6B_GPO17); + dev->reg.find_reg(0x6b).value &= ~REG_0x6B_GPO17; + dev->calib_reg.find_reg(0x6b).value &= ~REG_0x6B_GPO17; + } + + set_fe(dev, sensor, AFE_POWER_SAVE); + + } + else + { + if (dev->model->gpio_id == GpioId::CANON_LIDE_35) + { +/* expect GPIO17 to be enabled, and GPIO9 to be disabled, + while GPIO8 is disabled*/ +/* final state: GPIO8 enabled, GPIO9 disabled, GPIO17 enabled, + GPIO18 enabled*/ + + uint8_t val = dev->interface->read_register(REG_0x6D); + dev->interface->write_register(REG_0x6D, val | 0x80); + + dev->interface->sleep_ms(10); + + /*disable GPIO9*/ + val = dev->interface->read_register(REG_0x6C); + dev->interface->write_register(REG_0x6C, val & ~0x01); + + /*enable GPIO10*/ + val = dev->interface->read_register(REG_0x6C); + dev->interface->write_register(REG_0x6C, val | 0x02); + + /*enable GPO17*/ + val = dev->interface->read_register(REG_0x6B); + dev->interface->write_register(REG_0x6B, val | REG_0x6B_GPO17); + dev->reg.find_reg(0x6b).value |= REG_0x6B_GPO17; + dev->calib_reg.find_reg(0x6b).value |= REG_0x6B_GPO17; + + /*enable GPO18*/ + val = dev->interface->read_register(REG_0x6B); + dev->interface->write_register(REG_0x6B, val | REG_0x6B_GPO18); + dev->reg.find_reg(0x6b).value |= REG_0x6B_GPO18; + dev->calib_reg.find_reg(0x6b).value |= REG_0x6B_GPO18; + + } + if (dev->model->gpio_id == GpioId::DP665 + || dev->model->gpio_id == GpioId::DP685) + { + uint8_t val = dev->interface->read_register(REG_0x6B); + dev->interface->write_register(REG_0x6B, val | REG_0x6B_GPO17); + dev->reg.find_reg(0x6b).value |= REG_0x6B_GPO17; + dev->calib_reg.find_reg(0x6b).value |= REG_0x6B_GPO17; + } + + } +} + +void CommandSetGl841::set_powersaving(Genesys_Device* dev, int delay /* in minutes */) const +{ + DBG_HELPER_ARGS(dbg, "delay = %d", delay); + // FIXME: SEQUENTIAL not really needed in this case + Genesys_Register_Set local_reg(Genesys_Register_Set::SEQUENTIAL); + int rate, exposure_time, tgtime, time; + + local_reg.init_reg(0x01, dev->reg.get8(0x01)); /* disable fastmode */ + local_reg.init_reg(0x03, dev->reg.get8(0x03)); /* Lamp power control */ + local_reg.init_reg(0x05, dev->reg.get8(0x05)); /*& ~REG_0x05_BASESEL*/; /* 24 clocks/pixel */ + local_reg.init_reg(0x18, 0x00); // Set CCD type + local_reg.init_reg(0x38, 0x00); + local_reg.init_reg(0x39, 0x00); + + // period times for LPeriod, expR,expG,expB, Z1MODE, Z2MODE + local_reg.init_reg(0x1c, dev->reg.get8(0x05) & ~REG_0x1C_TGTIME); + + if (!delay) { + local_reg.find_reg(0x03).value = local_reg.find_reg(0x03).value & 0xf0; /* disable lampdog and set lamptime = 0 */ + } else if (delay < 20) { + local_reg.find_reg(0x03).value = (local_reg.find_reg(0x03).value & 0xf0) | 0x09; /* enable lampdog and set lamptime = 1 */ + } else { + local_reg.find_reg(0x03).value = (local_reg.find_reg(0x03).value & 0xf0) | 0x0f; /* enable lampdog and set lamptime = 7 */ + } + + time = delay * 1000 * 60; /* -> msec */ + exposure_time = static_cast(time * 32000.0 / + (24.0 * 64.0 * (local_reg.find_reg(0x03).value & REG_0x03_LAMPTIM) * + 1024.0) + 0.5); + /* 32000 = system clock, 24 = clocks per pixel */ + rate = (exposure_time + 65536) / 65536; + if (rate > 4) + { + rate = 8; + tgtime = 3; + } + else if (rate > 2) + { + rate = 4; + tgtime = 2; + } + else if (rate > 1) + { + rate = 2; + tgtime = 1; + } + else + { + rate = 1; + tgtime = 0; + } + + local_reg.find_reg(0x1c).value |= tgtime; + exposure_time /= rate; + + if (exposure_time > 65535) + exposure_time = 65535; + + local_reg.set8(0x38, exposure_time >> 8); + local_reg.set8(0x39, exposure_time & 255); /* lowbyte */ + + dev->interface->write_registers(local_reg); +} + +static void gl841_stop_action(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + Genesys_Register_Set local_reg; + unsigned int loop; + + scanner_read_print_status(*dev); + + if (scanner_is_motor_stopped(*dev)) { + DBG(DBG_info, "%s: already stopped\n", __func__); + return; + } + + local_reg = dev->reg; + + regs_set_optical_off(dev->model->asic_type, local_reg); + + gl841_init_motor_regs_off(&local_reg,0); + dev->interface->write_registers(local_reg); + + if (is_testing_mode()) { + return; + } + + /* looks like writing the right registers to zero is enough to get the chip + out of scan mode into command mode, actually triggering(writing to + register 0x0f) seems to be unnecessary */ + + loop = 10; + while (loop > 0) { + if (scanner_is_motor_stopped(*dev)) { + return; + } + + dev->interface->sleep_ms(100); + loop--; + } + + throw SaneException(SANE_STATUS_IO_ERROR, "could not stop motor"); +} + +static bool gl841_get_paper_sensor(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + + uint8_t val = dev->interface->read_register(REG_0x6D); + + return (val & 0x1) == 0; +} + +void CommandSetGl841::eject_document(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + Genesys_Register_Set local_reg; + unsigned int init_steps; + float feed_mm; + int loop; + + if (!dev->model->is_sheetfed) { + DBG(DBG_proc, "%s: there is no \"eject sheet\"-concept for non sheet fed\n", __func__); + DBG(DBG_proc, "%s: finished\n", __func__); + return; + } + + + local_reg.clear(); + + // FIXME: unused result + scanner_read_status(*dev); + + gl841_stop_action(dev); + + local_reg = dev->reg; + + regs_set_optical_off(dev->model->asic_type, local_reg); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + gl841_init_motor_regs(dev, sensor, &local_reg, 65536, MOTOR_ACTION_FEED, MotorFlag::NONE); + + dev->interface->write_registers(local_reg); + + try { + scanner_start_action(*dev, true); + } catch (...) { + catch_all_exceptions(__func__, [&]() { gl841_stop_action(dev); }); + // restore original registers + catch_all_exceptions(__func__, [&]() + { + dev->interface->write_registers(dev->reg); + }); + throw; + } + + if (is_testing_mode()) { + dev->interface->test_checkpoint("eject_document"); + gl841_stop_action(dev); + return; + } + + if (gl841_get_paper_sensor(dev)) { + DBG(DBG_info, "%s: paper still loaded\n", __func__); + /* force document TRUE, because it is definitely present */ + dev->document = true; + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + + loop = 300; + while (loop > 0) /* do not wait longer then 30 seconds */ + { + + if (!gl841_get_paper_sensor(dev)) { + DBG(DBG_info, "%s: reached home position\n", __func__); + DBG(DBG_proc, "%s: finished\n", __func__); + break; + } + dev->interface->sleep_ms(100); + --loop; + } + + if (loop == 0) + { + // when we come here then the scanner needed too much time for this, so we better stop + // the motor + catch_all_exceptions(__func__, [&](){ gl841_stop_action(dev); }); + throw SaneException(SANE_STATUS_IO_ERROR, + "timeout while waiting for scanhead to go home"); + } + } + + feed_mm = static_cast(dev->model->eject_feed); + if (dev->document) + { + feed_mm += static_cast(dev->model->post_scan); + } + + sanei_genesys_read_feed_steps(dev, &init_steps); + + /* now feed for extra steps */ + loop = 0; + while (loop < 300) /* do not wait longer then 30 seconds */ + { + unsigned int steps; + + sanei_genesys_read_feed_steps(dev, &steps); + + DBG(DBG_info, "%s: init_steps: %d, steps: %d\n", __func__, init_steps, steps); + + if (steps > init_steps + (feed_mm * dev->motor.base_ydpi) / MM_PER_INCH) + { + break; + } + + dev->interface->sleep_ms(100); + ++loop; + } + + gl841_stop_action(dev); + + dev->document = false; +} + + +void CommandSetGl841::load_document(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + int loop = 300; + while (loop > 0) /* do not wait longer then 30 seconds */ + { + if (gl841_get_paper_sensor(dev)) { + DBG(DBG_info, "%s: document inserted\n", __func__); + + /* when loading OK, document is here */ + dev->document = true; + + // give user some time to place document correctly + dev->interface->sleep_ms(1000); + break; + } + dev->interface->sleep_ms(100); + --loop; + } + + if (loop == 0) + { + // when we come here then the user needed to much time for this + throw SaneException(SANE_STATUS_IO_ERROR, "timeout while waiting for document"); + } +} + +/** + * detects end of document and adjust current scan + * to take it into account + * used by sheetfed scanners + */ +void CommandSetGl841::detect_document_end(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + bool paper_loaded = gl841_get_paper_sensor(dev); + + /* sheetfed scanner uses home sensor as paper present */ + if (dev->document && !paper_loaded) { + DBG(DBG_info, "%s: no more document\n", __func__); + dev->document = false; + + /* we can't rely on total_bytes_to_read since the frontend + * might have been slow to read data, so we re-evaluate the + * amount of data to scan form the hardware settings + */ + unsigned scanned_lines = 0; + try { + sanei_genesys_read_scancnt(dev, &scanned_lines); + } catch (...) { + dev->total_bytes_to_read = dev->total_bytes_read; + throw; + } + + if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS && dev->model->is_cis) { + scanned_lines /= 3; + } + + std::size_t output_lines = dev->session.output_line_count; + + std::size_t offset_lines = static_cast( + (dev->model->post_scan / MM_PER_INCH) * dev->settings.yres); + + std::size_t scan_end_lines = scanned_lines + offset_lines; + + std::size_t remaining_lines = dev->get_pipeline_source().remaining_bytes() / + dev->session.output_line_bytes_raw; + + DBG(DBG_io, "%s: scanned_lines=%u\n", __func__, scanned_lines); + DBG(DBG_io, "%s: scan_end_lines=%zu\n", __func__, scan_end_lines); + DBG(DBG_io, "%s: output_lines=%zu\n", __func__, output_lines); + DBG(DBG_io, "%s: remaining_lines=%zu\n", __func__, remaining_lines); + + if (scan_end_lines > output_lines) { + auto skip_lines = scan_end_lines - output_lines; + + if (remaining_lines > skip_lines) { + DBG(DBG_io, "%s: skip_lines=%zu\n", __func__, skip_lines); + + remaining_lines -= skip_lines; + dev->get_pipeline_source().set_remaining_bytes(remaining_lines * + dev->session.output_line_bytes_raw); + dev->total_bytes_to_read -= skip_lines * dev->session.output_line_bytes_requested; + } + } + } +} + +// Send the low-level scan command +// todo : is this that useful ? +void CommandSetGl841::begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, bool start_motor) const +{ + DBG_HELPER(dbg); + (void) sensor; + // FIXME: SEQUENTIAL not really needed in this case + Genesys_Register_Set local_reg(Genesys_Register_Set::SEQUENTIAL); + uint8_t val; + + if (dev->model->gpio_id == GpioId::CANON_LIDE_80) { + val = dev->interface->read_register(REG_0x6B); + val = REG_0x6B_GPO18; + dev->interface->write_register(REG_0x6B, val); + } + + if (dev->model->sensor_id != SensorId::CCD_PLUSTEK_OPTICPRO_3600) { + local_reg.init_reg(0x03, reg->get8(0x03) | REG_0x03_LAMPPWR); + } else { + // TODO PLUSTEK_3600: why ?? + local_reg.init_reg(0x03, reg->get8(0x03)); + } + + local_reg.init_reg(0x01, reg->get8(0x01) | REG_0x01_SCAN); + local_reg.init_reg(0x0d, 0x01); + + // scanner_start_action(dev, start_motor) + if (start_motor) { + local_reg.init_reg(0x0f, 0x01); + } else { + // do not start motor yet + local_reg.init_reg(0x0f, 0x00); + } + + dev->interface->write_registers(local_reg); + + dev->advance_head_pos_by_session(ScanHeadId::PRIMARY); +} + + +// Send the stop scan command +void CommandSetGl841::end_scan(Genesys_Device* dev, Genesys_Register_Set __sane_unused__* reg, + bool check_stop) const +{ + DBG_HELPER_ARGS(dbg, "check_stop = %d", check_stop); + + if (!dev->model->is_sheetfed) { + gl841_stop_action(dev); + } +} + +// Moves the slider to steps +static void gl841_feed(Genesys_Device* dev, int steps) +{ + DBG_HELPER_ARGS(dbg, "steps = %d", steps); + Genesys_Register_Set local_reg; + int loop; + + gl841_stop_action(dev); + + // FIXME: we should pick sensor according to the resolution scanner is currently operating on + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + local_reg = dev->reg; + + regs_set_optical_off(dev->model->asic_type, local_reg); + + gl841_init_motor_regs(dev, sensor, &local_reg, steps, MOTOR_ACTION_FEED, MotorFlag::NONE); + + dev->interface->write_registers(local_reg); + + try { + scanner_start_action(*dev, true); + } catch (...) { + catch_all_exceptions(__func__, [&]() { gl841_stop_action (dev); }); + // restore original registers + catch_all_exceptions(__func__, [&]() + { + dev->interface->write_registers(dev->reg); + }); + throw; + } + + if (is_testing_mode()) { + dev->interface->test_checkpoint("feed"); + dev->advance_head_pos_by_steps(ScanHeadId::PRIMARY, Direction::FORWARD, steps); + gl841_stop_action(dev); + return; + } + + loop = 0; + while (loop < 300) /* do not wait longer then 30 seconds */ + { + auto status = scanner_read_status(*dev); + + if (!status.is_motor_enabled) { + DBG(DBG_proc, "%s: finished\n", __func__); + dev->advance_head_pos_by_steps(ScanHeadId::PRIMARY, Direction::FORWARD, steps); + return; + } + dev->interface->sleep_ms(100); + ++loop; + } + + /* when we come here then the scanner needed too much time for this, so we better stop the motor */ + gl841_stop_action (dev); + + dev->set_head_pos_unknown(); + + throw SaneException(SANE_STATUS_IO_ERROR, "timeout while waiting for scanhead to go home"); +} + +// Moves the slider to the home (top) position slowly +void CommandSetGl841::move_back_home(Genesys_Device* dev, bool wait_until_home) const +{ + DBG_HELPER_ARGS(dbg, "wait_until_home = %d", wait_until_home); + Genesys_Register_Set local_reg; + int loop = 0; + + if (dev->model->is_sheetfed) { + DBG(DBG_proc, "%s: there is no \"home\"-concept for sheet fed\n", __func__); + DBG(DBG_proc, "%s: finished\n", __func__); + return; + } + + // reset gpio pin + uint8_t val; + if (dev->model->gpio_id == GpioId::CANON_LIDE_35) { + val = dev->interface->read_register(REG_0x6C); + val = dev->gpo.regs.get_value(0x6c); + dev->interface->write_register(REG_0x6C, val); + } + if (dev->model->gpio_id == GpioId::CANON_LIDE_80) { + val = dev->interface->read_register(REG_0x6B); + val = REG_0x6B_GPO18 | REG_0x6B_GPO17; + dev->interface->write_register(REG_0x6B, val); + } + dev->cmd_set->save_power(dev, false); + + // first read gives HOME_SENSOR true + auto status = scanner_read_reliable_status(*dev); + + + if (status.is_at_home) { + DBG(DBG_info, "%s: already at home, completed\n", __func__); + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + return; + } + + scanner_stop_action_no_move(*dev, dev->reg); + + /* if motor is on, stop current action */ + if (status.is_motor_enabled) { + gl841_stop_action(dev); + } + + local_reg = dev->reg; + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + gl841_init_motor_regs(dev, sensor, &local_reg, 65536, MOTOR_ACTION_GO_HOME, MotorFlag::REVERSE); + + // set up for no scan + regs_set_optical_off(dev->model->asic_type, local_reg); + + dev->interface->write_registers(local_reg); + + try { + scanner_start_action(*dev, true); + } catch (...) { + catch_all_exceptions(__func__, [&]() { gl841_stop_action(dev); }); + // restore original registers + catch_all_exceptions(__func__, [&]() + { + dev->interface->write_registers(dev->reg); + }); + throw; + } + + if (is_testing_mode()) { + dev->interface->test_checkpoint("move_back_home"); + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + return; + } + + if (wait_until_home) + { + while (loop < 300) /* do not wait longer then 30 seconds */ + { + auto status = scanner_read_status(*dev); + if (status.is_at_home) { + DBG(DBG_info, "%s: reached home position\n", __func__); + DBG(DBG_proc, "%s: finished\n", __func__); + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + return; + } + dev->interface->sleep_ms(100); + ++loop; + } + + // when we come here then the scanner needed too much time for this, so we better stop + // the motor + catch_all_exceptions(__func__, [&](){ gl841_stop_action(dev); }); + dev->set_head_pos_unknown(); + throw SaneException(SANE_STATUS_IO_ERROR, "timeout while waiting for scanhead to go home"); + } + + DBG(DBG_info, "%s: scanhead is still moving\n", __func__); +} + +// Automatically set top-left edge of the scan area by scanning a 200x200 pixels area at 600 dpi +// from very top of scanner +void CommandSetGl841::search_start_position(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + int size; + Genesys_Register_Set local_reg; + + int pixels = 600; + int dpi = 300; + + local_reg = dev->reg; + + /* sets for a 200 lines * 600 pixels */ + /* normal scan with no shading */ + + // FIXME: the current approach of doing search only for one resolution does not work on scanners + // whith employ different sensors with potentially different settings. + const auto& sensor = sanei_genesys_find_sensor(dev, dpi, 1, dev->model->default_method); + + ScanSession session; + session.params.xres = dpi; + session.params.yres = dpi; + session.params.startx = 0; + session.params.starty = 0; /*we should give a small offset here~60 steps*/ + session.params.pixels = 600; + session.params.lines = dev->model->search_lines; + session.params.depth = 8; + session.params.channels = 1; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::GRAY; + session.params.color_filter = ColorFilter::GREEN; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::IGNORE_LINE_DISTANCE | + ScanFlag::DISABLE_BUFFER_FULL_MOVE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, &local_reg, session); + + // send to scanner + dev->interface->write_registers(local_reg); + + size = pixels * dev->model->search_lines; + + std::vector data(size); + + dev->cmd_set->begin_scan(dev, sensor, &local_reg, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("search_start_position"); + dev->cmd_set->end_scan(dev, &local_reg, true); + dev->reg = local_reg; + return; + } + + wait_until_buffer_non_empty(dev); + + // now we're on target, we can read data + sanei_genesys_read_data_from_scanner(dev, data.data(), size); + + if (DBG_LEVEL >= DBG_data) { + sanei_genesys_write_pnm_file("gl841_search_position.pnm", data.data(), 8, 1, pixels, + dev->model->search_lines); + } + + dev->cmd_set->end_scan(dev, &local_reg, true); + + /* update regs to copy ASIC internal state */ + dev->reg = local_reg; + + for (auto& sensor_update : + sanei_genesys_find_sensors_all_for_write(dev, dev->model->default_method)) + { + sanei_genesys_search_reference_point(dev, sensor_update, data.data(), 0, dpi, pixels, + dev->model->search_lines); + } +} + +// sets up register for coarse gain calibration +// todo: check it for scanners using it +void CommandSetGl841::init_regs_for_coarse_calibration(Genesys_Device* dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + + ScanSession session; + session.params.xres = dev->settings.xres; + session.params.yres = dev->settings.yres; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = sensor.optical_res / sensor.ccd_pixels_per_system_pixel(); + session.params.lines = 20; + session.params.depth = 16; + session.params.channels = dev->settings.get_channels(); + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, ®s, session); + + DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, + sensor.optical_res / sensor.ccd_pixels_per_system_pixel(), dev->settings.xres); + + dev->interface->write_registers(regs); + +/* if (DBG_LEVEL >= DBG_info) + sanei_gl841_print_registers (regs);*/ +} + + +// init registers for shading calibration +void CommandSetGl841::init_regs_for_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER_ARGS(dbg, "lines = %zu", dev->calib_lines); + SANE_Int ydpi; + unsigned starty = 0; + + /* initial calibration reg values */ + regs = dev->reg; + + ydpi = dev->motor.base_ydpi; + if (dev->model->motor_id == MotorId::PLUSTEK_OPTICPRO_3600) /* TODO PLUSTEK_3600: 1200dpi not yet working, produces dark bar */ + { + ydpi = 600; + } + if (dev->model->motor_id == MotorId::CANON_LIDE_80) { + ydpi = gl841_get_dpihw(dev); + /* get over extra dark area for this model. + It looks like different devices have dark areas of different width + due to manufacturing variability. The initial value of starty was 140, + but it moves the sensor almost past the dark area completely in places + on certain devices. + + On a particular device the black area starts at roughly position + 160 to 230 depending on location (the dark area is not completely + parallel to the frame). + */ + starty = 70; + } + + dev->calib_channels = 3; + dev->calib_lines = dev->model->shading_lines; + + unsigned resolution = sensor.get_logical_hwdpi(dev->settings.xres); + unsigned factor = sensor.optical_res / resolution; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, dev->calib_channels, + dev->settings.scan_method); + + dev->calib_pixels = calib_sensor.sensor_pixels / factor; + + ScanSession session; + session.params.xres = resolution; + session.params.yres = ydpi; + session.params.startx = 0; + session.params.starty = starty; + session.params.pixels = dev->calib_pixels; + session.params.lines = dev->calib_lines; + session.params.depth = 16; + session.params.channels = dev->calib_channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + /*ScanFlag::DISABLE_BUFFER_FULL_MOVE |*/ + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, calib_sensor); + + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + + dev->interface->write_registers(regs); +} + +// set up registers for the actual scan +void CommandSetGl841::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sensor& sensor) const +{ + DBG_HELPER(dbg); + float move; + int move_dpi; + float start; + + debug_dump(DBG_info, dev->settings); + + /* steps to move to reach scanning area: + - first we move to physical start of scanning + either by a fixed steps amount from the black strip + or by a fixed amount from parking position, + minus the steps done during shading calibration + - then we move by the needed offset whitin physical + scanning area + + assumption: steps are expressed at maximum motor resolution + + we need: + float y_offset; + float y_size; + float y_offset_calib; + mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ + + /* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is + relative from origin, else, it is from parking position */ + + move_dpi = dev->motor.base_ydpi; + + move = 0; + if (dev->model->flags & GENESYS_FLAG_SEARCH_START) { + move += static_cast(dev->model->y_offset_calib_white); + } + + DBG(DBG_info, "%s move=%f steps\n", __func__, move); + + move += static_cast(dev->model->y_offset); + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + move += static_cast(dev->settings.tl_y); + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + move = static_cast((move * move_dpi) / MM_PER_INCH); + +/* start */ + start = static_cast(dev->model->x_offset); + + start += static_cast(dev->settings.tl_x); + + start = static_cast((start * sensor.optical_res) / MM_PER_INCH); + + /* we enable true gray for cis scanners only, and just when doing + * scan since color calibration is OK for this mode + */ + ScanFlag flags = ScanFlag::NONE; + + /* true gray (led add for cis scanners) */ + if(dev->model->is_cis && dev->settings.true_gray + && dev->settings.scan_mode != ScanColorMode::COLOR_SINGLE_PASS + && dev->model->sensor_id != SensorId::CIS_CANON_LIDE_80) + { + // on Lide 80 the LEDADD bit results in only red LED array being lit + DBG(DBG_io, "%s: activating LEDADD\n", __func__); + flags |= ScanFlag::ENABLE_LEDADD; + } + + ScanSession session; + session.params.xres = dev->settings.xres; + session.params.yres = dev->settings.yres; + session.params.startx = static_cast(start); + session.params.starty = static_cast(move); + session.params.pixels = dev->settings.pixels; + session.params.requested_pixels = dev->settings.requested_pixels; + session.params.lines = dev->settings.lines; + session.params.depth = dev->settings.depth; + session.params.channels = dev->settings.get_channels(); + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = flags; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, &dev->reg, session); +} + + +// this function sends generic gamma table (ie linear ones) or the Sensor specific one if provided +void CommandSetGl841::send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) const +{ + DBG_HELPER(dbg); + int size; + + size = 256; + + /* allocate temporary gamma tables: 16 bits words, 3 channels */ + std::vector gamma(size * 2 * 3); + + sanei_genesys_generate_gamma_buffer(dev, sensor, 16, 65535, size, gamma.data()); + + dev->interface->write_gamma(0x28, 0x0000, gamma.data(), size * 2 * 3); +} + + +/* this function does the led calibration by scanning one line of the calibration + area below scanner's top on white strip. + +-needs working coarse/gain +*/ +SensorExposure CommandSetGl841::led_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + int num_pixels; + int total_size; + int i, j; + int val; + int channels; + int avg[3], avga, avge; + int turn; + uint16_t exp[3], target; + int move; + + /* these 2 boundaries should be per sensor */ + uint16_t min_exposure=500; + uint16_t max_exposure; + + /* feed to white strip if needed */ + if (dev->model->y_offset_calib_white > 0) { + move = static_cast(dev->model->y_offset_calib_white); + move = static_cast((move * (dev->motor.base_ydpi)) / MM_PER_INCH); + DBG(DBG_io, "%s: move=%d lines\n", __func__, move); + gl841_feed(dev, move); + } + + /* offset calibration is always done in color mode */ + channels = 3; + + unsigned resolution = sensor.get_logical_hwdpi(dev->settings.xres); + unsigned factor = sensor.optical_res / resolution; + + const auto& calib_sensor_base = sanei_genesys_find_sensor(dev, resolution, channels, + dev->settings.scan_method); + + num_pixels = calib_sensor_base.sensor_pixels / factor; + + ScanSession session; + session.params.xres = resolution; + session.params.yres = dev->settings.yres; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = num_pixels; + session.params.lines = 1; + session.params.depth = 16; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, calib_sensor_base); + + init_regs_for_scan_session(dev, calib_sensor_base, ®s, session); + + dev->interface->write_registers(regs); + + + total_size = num_pixels * channels * 2 * 1; /* colors * bytes_per_color * scan lines */ + + std::vector line(total_size); + +/* + we try to get equal bright leds here: + + loop: + average per color + adjust exposure times + */ + + exp[0] = sensor.exposure.red; + exp[1] = sensor.exposure.green; + exp[2] = sensor.exposure.blue; + + turn = 0; + /* max exposure is set to ~2 time initial average + * exposure, or 2 time last calibration exposure */ + max_exposure=((exp[0]+exp[1]+exp[2])/3)*2; + target=sensor.gain_white_ref*256; + + auto calib_sensor = calib_sensor_base; + + bool acceptable = false; + do { + calib_sensor.exposure.red = exp[0]; + calib_sensor.exposure.green = exp[1]; + calib_sensor.exposure.blue = exp[2]; + + regs_set_exposure(dev->model->asic_type, regs, calib_sensor.exposure); + dev->interface->write_register(0x10, (calib_sensor.exposure.red >> 8) & 0xff); + dev->interface->write_register(0x11, calib_sensor.exposure.red & 0xff); + dev->interface->write_register(0x12, (calib_sensor.exposure.green >> 8) & 0xff); + dev->interface->write_register(0x13, calib_sensor.exposure.green & 0xff); + dev->interface->write_register(0x14, (calib_sensor.exposure.blue >> 8) & 0xff); + dev->interface->write_register(0x15, calib_sensor.exposure.blue & 0xff); + + dev->interface->write_registers(regs); + + DBG(DBG_info, "%s: starting line reading\n", __func__); + dev->cmd_set->begin_scan(dev, calib_sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("led_calibration"); + move_back_home(dev, true); + return calib_sensor.exposure; + } + + sanei_genesys_read_data_from_scanner(dev, line.data(), total_size); + + if (DBG_LEVEL >= DBG_data) { + char fn[30]; + std::snprintf(fn, 30, "gl841_led_%d.pnm", turn); + sanei_genesys_write_pnm_file(fn, line.data(), 16, channels, num_pixels, 1); + } + + /* compute average */ + for (j = 0; j < channels; j++) + { + avg[j] = 0; + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * num_pixels + 1] * 256 + + line[i * 2 + j * 2 * num_pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + avg[j] += val; + } + + avg[j] /= num_pixels; + } + + DBG(DBG_info,"%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); + + acceptable = true; + + /* exposure is acceptable if each color is in the %5 range + * of other color channels */ + if (avg[0] < avg[1] * 0.95 || avg[1] < avg[0] * 0.95 || + avg[0] < avg[2] * 0.95 || avg[2] < avg[0] * 0.95 || + avg[1] < avg[2] * 0.95 || avg[2] < avg[1] * 0.95) + { + acceptable = false; + } + + /* led exposure is not acceptable if white level is too low + * ~80 hardcoded value for white level */ + if(avg[0]<20000 || avg[1]<20000 || avg[2]<20000) + { + acceptable = false; + } + + /* for scanners using target value */ + if(target>0) + { + acceptable = true; + for(i=0;i<3;i++) + { + /* we accept +- 2% delta from target */ + if(abs(avg[i]-target)>target/50) + { + exp[i]=(exp[i]*target)/avg[i]; + acceptable = false; + } + } + } + else + { + if (!acceptable) + { + avga = (avg[0]+avg[1]+avg[2])/3; + exp[0] = (exp[0] * avga) / avg[0]; + exp[1] = (exp[1] * avga) / avg[1]; + exp[2] = (exp[2] * avga) / avg[2]; + /* + keep the resulting exposures below this value. + too long exposure drives the ccd into saturation. + we may fix this by relying on the fact that + we get a striped scan without shading, by means of + statistical calculation + */ + avge = (exp[0] + exp[1] + exp[2]) / 3; + + if (avge > max_exposure) { + exp[0] = (exp[0] * max_exposure) / avge; + exp[1] = (exp[1] * max_exposure) / avge; + exp[2] = (exp[2] * max_exposure) / avge; + } + if (avge < min_exposure) { + exp[0] = (exp[0] * min_exposure) / avge; + exp[1] = (exp[1] * min_exposure) / avge; + exp[2] = (exp[2] * min_exposure) / avge; + } + + } + } + + gl841_stop_action(dev); + + turn++; + + } while (!acceptable && turn < 100); + + DBG(DBG_info,"%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0], exp[1], exp[2]); + + dev->cmd_set->move_back_home(dev, true); + + return calib_sensor.exposure; +} + +/** @brief calibration for AD frontend devices + * offset calibration assumes that the scanning head is on a black area + * For LiDE80 analog frontend + * 0x0003 : is gain and belongs to [0..63] + * 0x0006 : is offset + * We scan a line with no gain until average offset reaches the target + */ +static void ad_fe_offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) +{ + DBG_HELPER(dbg); + int num_pixels; + int total_size; + int i; + int average; + int turn; + int top; + int bottom; + int target; + + /* don't impact 3600 behavior since we can't test it */ + if (dev->model->sensor_id == SensorId::CCD_PLUSTEK_OPTICPRO_3600) { + return; + } + + unsigned resolution = sensor.get_logical_hwdpi(dev->settings.xres); + unsigned factor = sensor.optical_res / resolution; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, 3, + dev->settings.scan_method); + + num_pixels = calib_sensor.sensor_pixels / factor; + + ScanSession session; + session.params.xres = resolution; + session.params.yres = dev->settings.yres; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = num_pixels; + session.params.lines = 1; + session.params.depth = 8; + session.params.channels = 3; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, calib_sensor); + + dev->cmd_set->init_regs_for_scan_session(dev, calib_sensor, ®s, session); + + total_size = num_pixels * 3 * 2 * 1; + + std::vector line(total_size); + + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + + /* loop on scan until target offset is reached */ + turn=0; + target=24; + bottom=0; + top=255; + do { + /* set up offset mid range */ + dev->frontend.set_offset(0, (top + bottom) / 2); + dev->frontend.set_offset(1, (top + bottom) / 2); + dev->frontend.set_offset(2, (top + bottom) / 2); + + /* scan line */ + DBG(DBG_info, "%s: starting line reading\n", __func__); + dev->interface->write_registers(regs); + dev->cmd_set->set_fe(dev, calib_sensor, AFE_SET); + dev->cmd_set->begin_scan(dev, calib_sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("ad_fe_offset_calibration"); + gl841_stop_action(dev); + return; + } + + sanei_genesys_read_data_from_scanner(dev, line.data(), total_size); + gl841_stop_action (dev); + if (DBG_LEVEL >= DBG_data) { + char fn[30]; + std::snprintf(fn, 30, "gl841_offset_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, line.data(), 8, 3, num_pixels, 1); + } + + /* search for minimal value */ + average=0; + for(i=0;itarget) + { + top=(top+bottom)/2; + } + else + { + bottom=(top+bottom)/2; + } + turn++; + } while ((top-bottom)>1 && turn < 100); + + // FIXME: don't overwrite the calibrated values + dev->frontend.set_offset(0, 0); + dev->frontend.set_offset(1, 0); + dev->frontend.set_offset(2, 0); + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); +} + +/* this function does the offset calibration by scanning one line of the calibration + area below scanner's top. There is a black margin and the remaining is white. + sanei_genesys_search_start() must have been called so that the offsets and margins + are allready known. + +this function expects the slider to be where? +*/ +void CommandSetGl841::offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + int num_pixels; + int total_size; + int i, j; + int val; + int channels; + int off[3],offh[3],offl[3],off1[3],off2[3]; + int min1[3],min2[3]; + int cmin[3],cmax[3]; + int turn; + int mintgt = 0x400; + + /* Analog Device fronted have a different calibration */ + if ((dev->reg.find_reg(0x04).value & REG_0x04_FESET) == 0x02) { + return ad_fe_offset_calibration(dev, sensor, regs); + } + + /* offset calibration is always done in color mode */ + channels = 3; + + unsigned resolution = sensor.get_logical_hwdpi(dev->settings.xres); + unsigned factor = sensor.optical_res / resolution; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, channels, + dev->settings.scan_method); + + num_pixels = calib_sensor.sensor_pixels / factor; + + ScanSession session; + session.params.xres = resolution; + session.params.yres = dev->settings.yres; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = num_pixels; + session.params.lines = 1; + session.params.depth = 16; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE | + ScanFlag::DISABLE_LAMP; + compute_session(dev, session, calib_sensor); + + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + + total_size = num_pixels * channels * 2 * 1; /* colors * bytes_per_color * scan lines */ + + std::vector first_line(total_size); + std::vector second_line(total_size); + + /* scan first line of data with no offset nor gain */ +/*WM8199: gain=0.73; offset=-260mV*/ +/*okay. the sensor black level is now at -260mV. we only get 0 from AFE...*/ +/* we should probably do real calibration here: + * -detect acceptable offset with binary search + * -calculate offset from this last version + * + * acceptable offset means + * - few completely black pixels(<10%?) + * - few completely white pixels(<10%?) + * + * final offset should map the minimum not completely black + * pixel to 0(16 bits) + * + * this does account for dummy pixels at the end of ccd + * this assumes slider is at black strip(which is not quite as black as "no + * signal"). + * + */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + offh[0] = 0xff; + offh[1] = 0xff; + offh[2] = 0xff; + offl[0] = 0x00; + offl[1] = 0x00; + offl[2] = 0x00; + turn = 0; + + bool acceptable = false; + do { + + dev->interface->write_registers(regs); + + for (j=0; j < channels; j++) { + off[j] = (offh[j]+offl[j])/2; + dev->frontend.set_offset(j, off[j]); + } + + dev->cmd_set->set_fe(dev, calib_sensor, AFE_SET); + + DBG(DBG_info, "%s: starting first line reading\n", __func__); + dev->cmd_set->begin_scan(dev, calib_sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("offset_calibration"); + return; + } + + sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size); + + if (DBG_LEVEL >= DBG_data) { + char fn[30]; + std::snprintf(fn, 30, "gl841_offset1_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, first_line.data(), 16, channels, num_pixels, 1); + } + + acceptable = true; + + for (j = 0; j < channels; j++) + { + cmin[j] = 0; + cmax[j] = 0; + + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + first_line[i * 2 + j * 2 * num_pixels + 1] * 256 + + first_line[i * 2 + j * 2 * num_pixels]; + else + val = + first_line[i * 2 * channels + 2 * j + 1] * 256 + + first_line[i * 2 * channels + 2 * j]; + if (val < 10) + cmin[j]++; + if (val > 65525) + cmax[j]++; + } + + /* TODO the DP685 has a black strip in the middle of the sensor + * should be handled in a more elegant way , could be a bug */ + if (dev->model->sensor_id == SensorId::CCD_DP685) + cmin[j] -= 20; + + if (cmin[j] > num_pixels/100) { + acceptable = false; + if (dev->model->is_cis) + offl[0] = off[0]; + else + offl[j] = off[j]; + } + if (cmax[j] > num_pixels/100) { + acceptable = false; + if (dev->model->is_cis) + offh[0] = off[0]; + else + offh[j] = off[j]; + } + } + + DBG(DBG_info,"%s: black/white pixels: %d/%d,%d/%d,%d/%d\n", __func__, cmin[0], cmax[0], + cmin[1], cmax[1], cmin[2], cmax[2]); + + if (dev->model->is_cis) { + offh[2] = offh[1] = offh[0]; + offl[2] = offl[1] = offl[0]; + } + + gl841_stop_action(dev); + + turn++; + } while (!acceptable && turn < 100); + + DBG(DBG_info,"%s: acceptable offsets: %d,%d,%d\n", __func__, off[0], off[1], off[2]); + + + for (j = 0; j < channels; j++) + { + off1[j] = off[j]; + + min1[j] = 65536; + + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + first_line[i * 2 + j * 2 * num_pixels + 1] * 256 + + first_line[i * 2 + j * 2 * num_pixels]; + else + val = + first_line[i * 2 * channels + 2 * j + 1] * 256 + + first_line[i * 2 * channels + 2 * j]; + if (min1[j] > val && val >= 10) + min1[j] = val; + } + } + + + offl[0] = off[0]; + offl[1] = off[0]; + offl[2] = off[0]; + turn = 0; + + do { + + for (j=0; j < channels; j++) { + off[j] = (offh[j]+offl[j])/2; + dev->frontend.set_offset(j, off[j]); + } + + dev->cmd_set->set_fe(dev, calib_sensor, AFE_SET); + + DBG(DBG_info, "%s: starting second line reading\n", __func__); + dev->interface->write_registers(regs); + dev->cmd_set->begin_scan(dev, calib_sensor, ®s, true); + sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size); + + if (DBG_LEVEL >= DBG_data) { + char fn[30]; + std::snprintf(fn, 30, "gl841_offset2_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, second_line.data(), 16, channels, num_pixels, 1); + } + + acceptable = true; + + for (j = 0; j < channels; j++) + { + cmin[j] = 0; + cmax[j] = 0; + + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + second_line[i * 2 + j * 2 * num_pixels + 1] * 256 + + second_line[i * 2 + j * 2 * num_pixels]; + else + val = + second_line[i * 2 * channels + 2 * j + 1] * 256 + + second_line[i * 2 * channels + 2 * j]; + if (val < 10) + cmin[j]++; + if (val > 65525) + cmax[j]++; + } + + if (cmin[j] > num_pixels/100) { + acceptable = false; + if (dev->model->is_cis) + offl[0] = off[0]; + else + offl[j] = off[j]; + } + if (cmax[j] > num_pixels/100) { + acceptable = false; + if (dev->model->is_cis) + offh[0] = off[0]; + else + offh[j] = off[j]; + } + } + + DBG(DBG_info, "%s: black/white pixels: %d/%d,%d/%d,%d/%d\n", __func__, cmin[0], cmax[0], + cmin[1], cmax[1], cmin[2], cmax[2]); + + if (dev->model->is_cis) { + offh[2] = offh[1] = offh[0]; + offl[2] = offl[1] = offl[0]; + } + + gl841_stop_action(dev); + + turn++; + + } while (!acceptable && turn < 100); + + DBG(DBG_info, "%s: acceptable offsets: %d,%d,%d\n", __func__, off[0], off[1], off[2]); + + + for (j = 0; j < channels; j++) + { + off2[j] = off[j]; + + min2[j] = 65536; + + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + second_line[i * 2 + j * 2 * num_pixels + 1] * 256 + + second_line[i * 2 + j * 2 * num_pixels]; + else + val = + second_line[i * 2 * channels + 2 * j + 1] * 256 + + second_line[i * 2 * channels + 2 * j]; + if (min2[j] > val && val != 0) + min2[j] = val; + } + } + + DBG(DBG_info, "%s: first set: %d/%d,%d/%d,%d/%d\n", __func__, off1[0], min1[0], off1[1], min1[1], + off1[2], min1[2]); + + DBG(DBG_info, "%s: second set: %d/%d,%d/%d,%d/%d\n", __func__, off2[0], min2[0], off2[1], min2[1], + off2[2], min2[2]); + +/* + calculate offset for each channel + based on minimal pixel value min1 at offset off1 and minimal pixel value min2 + at offset off2 + + to get min at off, values are linearly interpolated: + min=real+off*fact + min1=real+off1*fact + min2=real+off2*fact + + fact=(min1-min2)/(off1-off2) + real=min1-off1*(min1-min2)/(off1-off2) + + off=(min-min1+off1*(min1-min2)/(off1-off2))/((min1-min2)/(off1-off2)) + + off=(min*(off1-off2)+min1*off2-off1*min2)/(min1-min2) + + */ + for (j = 0; j < channels; j++) + { + if (min2[j]-min1[j] == 0) { +/*TODO: try to avoid this*/ + DBG(DBG_warn, "%s: difference too small\n", __func__); + if (mintgt * (off1[j] - off2[j]) + min1[j] * off2[j] - min2[j] * off1[j] >= 0) + off[j] = 0x0000; + else + off[j] = 0xffff; + } else + off[j] = (mintgt * (off1[j] - off2[j]) + min1[j] * off2[j] - min2[j] * off1[j])/(min1[j]-min2[j]); + if (off[j] > 255) + off[j] = 255; + if (off[j] < 0) + off[j] = 0; + dev->frontend.set_offset(j, off[j]); + } + + DBG(DBG_info, "%s: final offsets: %d,%d,%d\n", __func__, off[0], off[1], off[2]); + + if (dev->model->is_cis) { + if (off[0] < off[1]) + off[0] = off[1]; + if (off[0] < off[2]) + off[0] = off[2]; + dev->frontend.set_offset(0, off[0]); + dev->frontend.set_offset(1, off[0]); + dev->frontend.set_offset(2, off[0]); + } + + if (channels == 1) + { + dev->frontend.set_offset(1, dev->frontend.get_offset(0)); + dev->frontend.set_offset(2, dev->frontend.get_offset(0)); + } +} + + +/* alternative coarse gain calibration + this on uses the settings from offset_calibration and + uses only one scanline + */ +/* + with offset and coarse calibration we only want to get our input range into + a reasonable shape. the fine calibration of the upper and lower bounds will + be done with shading. + */ +void CommandSetGl841::coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) const +{ + DBG_HELPER_ARGS(dbg, "dpi=%d", dpi); + int num_pixels; + int total_size; + int i, j, channels; + int max[3]; + float gain[3]; + int val; + int lines=1; + int move; + + // feed to white strip if needed + if (dev->model->y_offset_calib_white > 0) { + move = static_cast(dev->model->y_offset_calib_white); + move = static_cast((move * (dev->motor.base_ydpi)) / MM_PER_INCH); + DBG(DBG_io, "%s: move=%d lines\n", __func__, move); + gl841_feed(dev, move); + } + + /* coarse gain calibration is allways done in color mode */ + channels = 3; + + unsigned resolution = sensor.get_logical_hwdpi(dev->settings.xres); + unsigned factor = sensor.optical_res / resolution; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, channels, + dev->settings.scan_method); + + num_pixels = calib_sensor.sensor_pixels / factor; + + ScanSession session; + session.params.xres = resolution; + session.params.yres = dev->settings.yres; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = num_pixels; + session.params.lines = lines; + session.params.depth = 16; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, calib_sensor); + + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + + dev->interface->write_registers(regs); + + total_size = num_pixels * channels * 2 * lines; /* colors * bytes_per_color * scan lines */ + + std::vector line(total_size); + + dev->cmd_set->begin_scan(dev, calib_sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("coarse_gain_calibration"); + gl841_stop_action(dev); + move_back_home(dev, true); + return; + } + + sanei_genesys_read_data_from_scanner(dev, line.data(), total_size); + + if (DBG_LEVEL >= DBG_data) + sanei_genesys_write_pnm_file("gl841_gain.pnm", line.data(), 16, channels, num_pixels, lines); + + /* average high level for each channel and compute gain + to reach the target code + we only use the central half of the CCD data */ + for (j = 0; j < channels; j++) + { + max[j] = 0; + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * num_pixels + 1] * 256 + + line[i * 2 + j * 2 * num_pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + + if (val > max[j]) + max[j] = val; + } + + gain[j] = 65535.0f / max[j]; + + uint8_t out_gain = 0; + + if (dev->model->adc_id == AdcId::CANON_LIDE_35 || + dev->model->adc_id == AdcId::WOLFSON_XP300 || + dev->model->adc_id == AdcId::WOLFSON_DSM600) + { + gain[j] *= 0.69f; // seems we don't get the real maximum. empirically derived + if (283 - 208/gain[j] > 255) + out_gain = 255; + else if (283 - 208/gain[j] < 0) + out_gain = 0; + else + out_gain = static_cast(283 - 208 / gain[j]); + } else if (dev->model->adc_id == AdcId::CANON_LIDE_80) { + out_gain = static_cast(gain[j] * 12); + } + dev->frontend.set_gain(j, out_gain); + + DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], gain[j], + out_gain); + } + + for (j = 0; j < channels; j++) + { + if(gain[j] > 10) + { + DBG (DBG_error0, "**********************************************\n"); + DBG (DBG_error0, "**********************************************\n"); + DBG (DBG_error0, "**** ****\n"); + DBG (DBG_error0, "**** Extremely low Brightness detected. ****\n"); + DBG (DBG_error0, "**** Check the scanning head is ****\n"); + DBG (DBG_error0, "**** unlocked and moving. ****\n"); + DBG (DBG_error0, "**** ****\n"); + DBG (DBG_error0, "**********************************************\n"); + DBG (DBG_error0, "**********************************************\n"); + throw SaneException(SANE_STATUS_JAMMED, "scanning head is locked"); + } + + } + + if (dev->model->is_cis) { + uint8_t gain0 = dev->frontend.get_gain(0); + if (gain0 > dev->frontend.get_gain(1)) { + gain0 = dev->frontend.get_gain(1); + } + if (gain0 > dev->frontend.get_gain(2)) { + gain0 = dev->frontend.get_gain(2); + } + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain0); + dev->frontend.set_gain(2, gain0); + } + + if (channels == 1) { + dev->frontend.set_gain(0, dev->frontend.get_gain(1)); + dev->frontend.set_gain(2, dev->frontend.get_gain(1)); + } + + DBG(DBG_info, "%s: gain=(%d,%d,%d)\n", __func__, + dev->frontend.get_gain(0), + dev->frontend.get_gain(1), + dev->frontend.get_gain(2)); + + gl841_stop_action(dev); + + dev->cmd_set->move_back_home(dev, true); +} + +// wait for lamp warmup by scanning the same line until difference +// between 2 scans is below a threshold +void CommandSetGl841::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* local_reg, int* channels, + int* total_size) const +{ + DBG_HELPER(dbg); + int num_pixels = 4 * 300; + *local_reg = dev->reg; + +/* okay.. these should be defaults stored somewhere */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + dev->frontend.set_offset(0, 0x80); + dev->frontend.set_offset(1, 0x80); + dev->frontend.set_offset(2, 0x80); + + ScanSession session; + session.params.xres = sensor.optical_res; + session.params.yres = dev->settings.yres; + session.params.startx = sensor.dummy_pixel; + session.params.starty = 0; + session.params.pixels = num_pixels; + session.params.lines = 1; + session.params.depth = 16; + session.params.channels = *channels; + session.params.scan_method = dev->settings.scan_method; + if (*channels == 3) { + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + } else { + session.params.scan_mode = ScanColorMode::GRAY; + } + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, local_reg, session); + + num_pixels = session.output_pixels; + + *total_size = num_pixels * 3 * 2 * 1; /* colors * bytes_per_color * scan lines */ + + dev->interface->write_registers(*local_reg); +} + + +/* + * this function moves head without scanning, forward, then backward + * so that the head goes to park position. + * as a by-product, also check for lock + */ +static void sanei_gl841_repark_head(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + + gl841_feed(dev,232); + + // toggle motor flag, put an huge step number and redo move backward + dev->cmd_set->move_back_home(dev, true); +} + +/* + * initialize ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home + */ +void CommandSetGl841::init(Genesys_Device* dev) const +{ + size_t size; + + DBG_INIT (); + DBG_HELPER(dbg); + + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + + /* Check if the device has already been initialized and powered up */ + if (dev->already_initialized) + { + auto status = scanner_read_status(*dev); + if (!status.is_replugged) { + DBG(DBG_info, "%s: already initialized\n", __func__); + return; + } + } + + dev->dark_average_data.clear(); + dev->white_average_data.clear(); + + dev->settings.color_filter = ColorFilter::RED; + + // ASIC reset + dev->interface->write_register(0x0e, 0x01); + dev->interface->write_register(0x0e, 0x00); + + /* Set default values for registers */ + gl841_init_registers (dev); + + // Write initial registers + dev->interface->write_registers(dev->reg); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + // Set analog frontend + dev->cmd_set->set_fe(dev, sensor, AFE_INIT); + + // FIXME: move_back_home modifies dev->calib_reg and requires it to be filled + dev->calib_reg = dev->reg; + + // Move home + dev->cmd_set->move_back_home(dev, true); + + // Init shading data + sanei_genesys_init_shading_data(dev, sensor, sensor.sensor_pixels); + + /* ensure head is correctly parked, and check lock */ + if (dev->model->flags & GENESYS_FLAG_REPARK) + { + // FIXME: if repark fails, we should print an error message that the scanner is locked and + // the user should unlock the lock. We should also rethrow with SANE_STATUS_JAMMED + sanei_gl841_repark_head(dev); + } + + // send gamma tables + dev->cmd_set->send_gamma_table(dev, sensor); + + /* initial calibration reg values */ + Genesys_Register_Set& regs = dev->calib_reg; + regs = dev->reg; + + unsigned resolution = sensor.get_logical_hwdpi(300); + unsigned factor = sensor.optical_res / resolution; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, 3, + dev->settings.scan_method); + + unsigned num_pixels = 16 / factor; + + ScanSession session; + session.params.xres = resolution; + session.params.yres = 300; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = num_pixels; + session.params.lines = 1; + session.params.depth = 16; + session.params.channels = 3; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = ColorFilter::RED; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, calib_sensor); + + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + + dev->interface->write_registers(regs); + + size = num_pixels * 3 * 2 * 1; // colors * bytes_per_color * scan lines + + std::vector line(size); + + DBG(DBG_info, "%s: starting dummy data reading\n", __func__); + dev->cmd_set->begin_scan(dev, calib_sensor, ®s, true); + + sanei_usb_set_timeout(1000);/* 1 second*/ + + if (is_testing_mode()) { + dev->interface->test_checkpoint("init"); + } else { + // ignore errors. next read will succeed + catch_all_exceptions(__func__, + [&](){ sanei_genesys_read_data_from_scanner(dev, line.data(), size); }); + } + + sanei_usb_set_timeout(30 * 1000);/* 30 seconds*/ + + end_scan(dev, ®s, true); + + regs = dev->reg; + + // Set powersaving(default = 15 minutes) + set_powersaving(dev, 15); + dev->already_initialized = true; +} + +void CommandSetGl841::update_hardware_sensors(Genesys_Scanner* s) const +{ + DBG_HELPER(dbg); + /* do what is needed to get a new set of events, but try to not lose + any of them. + */ + uint8_t val; + + if (s->dev->model->gpio_id == GpioId::CANON_LIDE_35 + || s->dev->model->gpio_id == GpioId::CANON_LIDE_80) + { + val = s->dev->interface->read_register(REG_0x6D); + s->buttons[BUTTON_SCAN_SW].write((val & 0x01) == 0); + s->buttons[BUTTON_FILE_SW].write((val & 0x02) == 0); + s->buttons[BUTTON_EMAIL_SW].write((val & 0x04) == 0); + s->buttons[BUTTON_COPY_SW].write((val & 0x08) == 0); + } + + if (s->dev->model->gpio_id == GpioId::XP300 || + s->dev->model->gpio_id == GpioId::DP665 || + s->dev->model->gpio_id == GpioId::DP685) + { + val = s->dev->interface->read_register(REG_0x6D); + + s->buttons[BUTTON_PAGE_LOADED_SW].write((val & 0x01) == 0); + s->buttons[BUTTON_SCAN_SW].write((val & 0x02) == 0); + } +} + +/** @brief search for a full width black or white strip. + * This function searches for a black or white stripe across the scanning area. + * When searching backward, the searched area must completely be of the desired + * color since this area will be used for calibration which scans forward. + * @param dev scanner device + * @param forward true if searching forward, false if searching backward + * @param black true if searching for a black strip, false for a white strip + */ +void CommandSetGl841::search_strip(Genesys_Device* dev, const Genesys_Sensor& sensor, bool forward, + bool black) const +{ + DBG_HELPER_ARGS(dbg, "%s %s", black ? "black" : "white", forward ? "forward" : "reverse"); + unsigned int pixels, lines, channels; + Genesys_Register_Set local_reg; + size_t size; + unsigned int pass, count, found, x, y, length; + char title[80]; + GenesysRegister *r; + uint8_t white_level=90; /**< default white level to detect white dots */ + uint8_t black_level=60; /**< default black level to detect black dots */ + + /* use maximum gain when doing forward white strip detection + * since we don't have calibrated the sensor yet */ + if(!black && forward) + { + dev->frontend.set_gain(0, 0xff); + dev->frontend.set_gain(1, 0xff); + dev->frontend.set_gain(2, 0xff); + } + + dev->cmd_set->set_fe(dev, sensor, AFE_SET); + gl841_stop_action(dev); + + // set up for a gray scan at lowest dpi + const auto& resolution_settings = dev->model->get_resolution_settings(dev->settings.scan_method); + unsigned dpi = resolution_settings.get_min_resolution_x(); + channels = 1; + + /* shading calibation is done with dev->motor.base_ydpi */ + /* lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; */ + lines = static_cast((10 * dpi) / MM_PER_INCH); + + pixels = (sensor.sensor_pixels * dpi) / sensor.optical_res; + + /* 20 cm max length for calibration sheet */ + length = static_cast(((200 * dpi) / MM_PER_INCH) / lines); + + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + + local_reg = dev->reg; + + ScanSession session; + session.params.xres = dpi; + session.params.yres = dpi; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = pixels; + session.params.lines = lines; + session.params.depth = 8; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::GRAY; + session.params.color_filter = ColorFilter::RED; + session.params.flags = ScanFlag::DISABLE_SHADING | ScanFlag::DISABLE_GAMMA; + compute_session(dev, session, sensor); + + size = pixels * channels * lines * (session.params.depth / 8); + std::vector data(size); + + init_regs_for_scan_session(dev, sensor, &local_reg, session); + + /* set up for reverse or forward */ + r = sanei_genesys_get_address(&local_reg, 0x02); + if (forward) { + r->value &= ~4; + } else { + r->value |= 4; + } + + dev->interface->write_registers(local_reg); + + dev->cmd_set->begin_scan(dev, sensor, &local_reg, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("search_strip"); + gl841_stop_action(dev); + return; + } + + // waits for valid data + wait_until_buffer_non_empty(dev); + + // now we're on target, we can read data + sanei_genesys_read_data_from_scanner(dev, data.data(), size); + + gl841_stop_action(dev); + + pass = 0; + if (DBG_LEVEL >= DBG_data) + { + std::sprintf(title, "gl841_search_strip_%s_%s%02u.pnm", black ? "black" : "white", + forward ? "fwd" : "bwd", pass); + sanei_genesys_write_pnm_file(title, data.data(), session.params.depth, + channels, pixels, lines); + } + + /* loop until strip is found or maximum pass number done */ + found = 0; + while (pass < length && !found) + { + dev->interface->write_registers(local_reg); + + //now start scan + dev->cmd_set->begin_scan(dev, sensor, &local_reg, true); + + // waits for valid data + wait_until_buffer_non_empty(dev); + + // now we're on target, we can read data + sanei_genesys_read_data_from_scanner(dev, data.data(), size); + + gl841_stop_action (dev); + + if (DBG_LEVEL >= DBG_data) + { + std::sprintf(title, "gl841_search_strip_%s_%s%02u.pnm", + black ? "black" : "white", forward ? "fwd" : "bwd", pass); + sanei_genesys_write_pnm_file(title, data.data(), session.params.depth, + channels, pixels, lines); + } + + /* search data to find black strip */ + /* when searching forward, we only need one line of the searched color since we + * will scan forward. But when doing backward search, we need all the area of the + * same color */ + if (forward) + { + for (y = 0; y < lines && !found; y++) + { + count = 0; + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > white_level) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < black_level) + { + count++; + } + } + + /* at end of line, if count >= 3%, line is not fully of the desired color + * so we must go to next line of the buffer */ + /* count*100/pixels < 3 */ + if ((count * 100) / pixels < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, + pass, y); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + } + else /* since calibration scans are done forward, we need the whole area + to be of the required color when searching backward */ + { + count = 0; + for (y = 0; y < lines; y++) + { + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > white_level) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < black_level) + { + count++; + } + } + } + + /* at end of area, if count >= 3%, area is not fully of the desired color + * so we must go to next buffer */ + if ((count * 100) / (pixels * lines) < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + pass++; + } + + if (found) + { + DBG(DBG_info, "%s: %s strip found\n", __func__, black ? "black" : "white"); + } + else + { + throw SaneException(SANE_STATUS_UNSUPPORTED, "%s strip not found", black ? "black" : "white"); + } +} + +/** + * Send shading calibration data. The buffer is considered to always hold values + * for all the channels. + */ +void CommandSetGl841::send_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, + uint8_t* data, int size) const +{ + DBG_HELPER_ARGS(dbg, "writing %d bytes of shading data", size); + uint32_t length, x, factor, pixels, i; + uint16_t dpiset, dpihw, beginpixel; + uint8_t *ptr,*src; + + /* old method if no SHDAREA */ + if ((dev->reg.find_reg(0x01).value & REG_0x01_SHDAREA) == 0) { + dev->interface->write_buffer(0x3c, 0x0000, data, size); + return; + } + + /* data is whole line, we extract only the part for the scanned area */ + length = static_cast(size / 3); + unsigned strpixel = dev->session.pixel_startx; + unsigned endpixel = dev->session.pixel_endx; + + /* compute deletion/average factor */ + dpiset = dev->reg.get16(REG_DPISET); + dpihw = gl841_get_dpihw(dev); + unsigned ccd_size_divisor = dev->session.ccd_size_divisor; + factor=dpihw/dpiset; + DBG(DBG_io2, "%s: dpihw=%d, dpiset=%d, ccd_size_divisor=%d, factor=%d\n", __func__, dpihw, dpiset, + ccd_size_divisor, factor); + + /* turn pixel value into bytes 2x16 bits words */ + strpixel*=2*2; /* 2 words of 2 bytes */ + endpixel*=2*2; + pixels=endpixel-strpixel; + + /* shading pixel begin is start pixel minus start pixel during shading + * calibration. Currently only cases handled are full and half ccd resolution. + */ + beginpixel = sensor.ccd_start_xoffset / ccd_size_divisor; + beginpixel += sensor.dummy_pixel + 1; + DBG(DBG_io2, "%s: ORIGIN PIXEL=%d\n", __func__, beginpixel); + beginpixel = (strpixel-beginpixel*2*2)/factor; + DBG(DBG_io2, "%s: BEGIN PIXEL=%d\n", __func__, beginpixel/4); + + dev->interface->record_key_value("shading_offset", std::to_string(beginpixel)); + dev->interface->record_key_value("shading_pixels", std::to_string(pixels)); + dev->interface->record_key_value("shading_length", std::to_string(length)); + + DBG(DBG_io2, "%s: using chunks of %d bytes (%d shading data pixels)\n", __func__, length, + length/4); + std::vector buffer(pixels, 0); + + /* write actual shading data contigously + * channel by channel, starting at addr 0x0000 + * */ + for(i=0;i<3;i++) + { + /* copy data to work buffer and process it */ + /* coefficent destination */ + ptr=buffer.data(); + + /* iterate on both sensor segment, data has been averaged, + * so is in the right order and we only have to copy it */ + for(x=0;xinterface->write_buffer(0x3c, 0x5400 * i, buffer.data(), pixels); + } +} + +bool CommandSetGl841::needs_home_before_init_regs_for_scan(Genesys_Device* dev) const +{ + (void) dev; + return true; +} + +void CommandSetGl841::wait_for_motor_stop(Genesys_Device* dev) const +{ + (void) dev; +} + +void CommandSetGl841::move_to_ta(Genesys_Device* dev) const +{ + (void) dev; + throw SaneException("not implemented"); +} + +void CommandSetGl841::asic_boot(Genesys_Device *dev, bool cold) const +{ + (void) dev; + (void) cold; + throw SaneException("not implemented"); +} + +std::unique_ptr create_gl841_cmd_set() +{ + return std::unique_ptr(new CommandSetGl841{}); +} + +} // namespace gl841 +} // namespace genesys diff --git a/backend/genesys/gl841.h b/backend/genesys/gl841.h new file mode 100644 index 0000000..5e24249 --- /dev/null +++ b/backend/genesys/gl841.h @@ -0,0 +1,130 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2011-2013 Stéphane Voltz + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#include "genesys.h" +#include "command_set.h" + +#ifndef BACKEND_GENESYS_GL841_H +#define BACKEND_GENESYS_GL841_H + +namespace genesys { +namespace gl841 { + +class CommandSetGl841 : public CommandSet +{ +public: + ~CommandSetGl841() override = default; + + bool needs_home_before_init_regs_for_scan(Genesys_Device* dev) const override; + + void init(Genesys_Device* dev) const override; + + void init_regs_for_warmup(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, int* channels, + int* total_size) const override; + + void init_regs_for_coarse_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void init_regs_for_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void init_regs_for_scan(Genesys_Device* dev, const Genesys_Sensor& sensor) const override; + + void init_regs_for_scan_session(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const ScanSession& session) const override; + + void set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set) const override; + void set_powersaving(Genesys_Device* dev, int delay) const override; + void save_power(Genesys_Device* dev, bool enable) const override; + + void begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, bool start_motor) const override; + + void end_scan(Genesys_Device* dev, Genesys_Register_Set* regs, bool check_stop) const override; + + void send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) const override; + + void search_start_position(Genesys_Device* dev) const override; + + void offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) const override; + + SensorExposure led_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void wait_for_motor_stop(Genesys_Device* dev) const override; + + void move_back_home(Genesys_Device* dev, bool wait_until_home) const override; + + void update_hardware_sensors(struct Genesys_Scanner* s) const override; + + void load_document(Genesys_Device* dev) const override; + + void detect_document_end(Genesys_Device* dev) const override; + + void eject_document(Genesys_Device* dev) const override; + + void search_strip(Genesys_Device* dev, const Genesys_Sensor& sensor, + bool forward, bool black) const override; + + void move_to_ta(Genesys_Device* dev) const override; + + void send_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t* data, + int size) const override; + + ScanSession calculate_scan_session(const Genesys_Device* dev, + const Genesys_Sensor& sensor, + const Genesys_Settings& settings) const override; + + void asic_boot(Genesys_Device* dev, bool cold) const override; +}; + +} // namespace gl841 +} // namespace genesys + +#endif // BACKEND_GENESYS_GL841_H diff --git a/backend/genesys/gl841_registers.h b/backend/genesys/gl841_registers.h new file mode 100644 index 0000000..8e0c204 --- /dev/null +++ b/backend/genesys/gl841_registers.h @@ -0,0 +1,269 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_GL841_REGISTERS_H +#define BACKEND_GENESYS_GL841_REGISTERS_H + +#include + +namespace genesys { +namespace gl841 { + +using RegAddr = std::uint16_t; +using RegMask = std::uint8_t; +using RegShift = unsigned; + +static constexpr RegAddr REG_0x01 = 0x01; +static constexpr RegMask REG_0x01_CISSET = 0x80; +static constexpr RegMask REG_0x01_DOGENB = 0x40; +static constexpr RegMask REG_0x01_DVDSET = 0x20; +static constexpr RegMask REG_0x01_M16DRAM = 0x08; +static constexpr RegMask REG_0x01_DRAMSEL = 0x04; +static constexpr RegMask REG_0x01_SHDAREA = 0x02; +static constexpr RegMask REG_0x01_SCAN = 0x01; + +static constexpr RegAddr REG_0x02 = 0x02; +static constexpr RegMask REG_0x02_NOTHOME = 0x80; +static constexpr RegMask REG_0x02_ACDCDIS = 0x40; +static constexpr RegMask REG_0x02_AGOHOME = 0x20; +static constexpr RegMask REG_0x02_MTRPWR = 0x10; +static constexpr RegMask REG_0x02_FASTFED = 0x08; +static constexpr RegMask REG_0x02_MTRREV = 0x04; +static constexpr RegMask REG_0x02_HOMENEG = 0x02; +static constexpr RegMask REG_0x02_LONGCURV = 0x01; + +static constexpr RegMask REG_0x03_LAMPDOG = 0x80; +static constexpr RegMask REG_0x03_AVEENB = 0x40; +static constexpr RegMask REG_0x03_XPASEL = 0x20; +static constexpr RegMask REG_0x03_LAMPPWR = 0x10; +static constexpr RegMask REG_0x03_LAMPTIM = 0x0f; + +static constexpr RegMask REG_0x04_LINEART = 0x80; +static constexpr RegMask REG_0x04_BITSET = 0x40; +static constexpr RegMask REG_0x04_AFEMOD = 0x30; +static constexpr RegMask REG_0x04_FILTER = 0x0c; +static constexpr RegMask REG_0x04_FESET = 0x03; + +static constexpr RegShift REG_0x04S_AFEMOD = 4; + +static constexpr RegAddr REG_0x05 = 0x05; +static constexpr RegMask REG_0x05_DPIHW = 0xc0; +static constexpr RegMask REG_0x05_DPIHW_600 = 0x00; +static constexpr RegMask REG_0x05_DPIHW_1200 = 0x40; +static constexpr RegMask REG_0x05_DPIHW_2400 = 0x80; +static constexpr RegMask REG_0x05_MTLLAMP = 0x30; +static constexpr RegMask REG_0x05_GMMENB = 0x08; +static constexpr RegMask REG_0x05_MTLBASE = 0x03; + +static constexpr RegAddr REG_0x06 = 0x06; +static constexpr RegMask REG_0x06_SCANMOD = 0xe0; +static constexpr RegShift REG_0x06S_SCANMOD = 5; +static constexpr RegMask REG_0x06_PWRBIT = 0x10; +static constexpr RegMask REG_0x06_GAIN4 = 0x08; +static constexpr RegMask REG_0x06_OPTEST = 0x07; + +static constexpr RegMask REG_0x07_SRAMSEL = 0x08; +static constexpr RegMask REG_0x07_FASTDMA = 0x04; +static constexpr RegMask REG_0x07_DMASEL = 0x02; +static constexpr RegMask REG_0x07_DMARDWR = 0x01; + +static constexpr RegMask REG_0x08_DECFLAG = 0x40; +static constexpr RegMask REG_0x08_GMMFFR = 0x20; +static constexpr RegMask REG_0x08_GMMFFG = 0x10; +static constexpr RegMask REG_0x08_GMMFFB = 0x08; +static constexpr RegMask REG_0x08_GMMZR = 0x04; +static constexpr RegMask REG_0x08_GMMZG = 0x02; +static constexpr RegMask REG_0x08_GMMZB = 0x01; + +static constexpr RegMask REG_0x09_MCNTSET = 0xc0; +static constexpr RegMask REG_0x09_CLKSET = 0x30; +static constexpr RegMask REG_0x09_BACKSCAN = 0x08; +static constexpr RegMask REG_0x09_ENHANCE = 0x04; +static constexpr RegMask REG_0x09_SHORTTG = 0x02; +static constexpr RegMask REG_0x09_NWAIT = 0x01; + +static constexpr RegShift REG_0x09S_MCNTSET = 6; +static constexpr RegShift REG_0x09S_CLKSET = 4; + + +static constexpr RegMask REG_0x0A_SRAMBUF = 0x01; + +static constexpr RegAddr REG_0x0D = 0x0d; +static constexpr RegMask REG_0x0D_CLRLNCNT = 0x01; + +static constexpr RegMask REG_0x16_CTRLHI = 0x80; +static constexpr RegMask REG_0x16_TOSHIBA = 0x40; +static constexpr RegMask REG_0x16_TGINV = 0x20; +static constexpr RegMask REG_0x16_CK1INV = 0x10; +static constexpr RegMask REG_0x16_CK2INV = 0x08; +static constexpr RegMask REG_0x16_CTRLINV = 0x04; +static constexpr RegMask REG_0x16_CKDIS = 0x02; +static constexpr RegMask REG_0x16_CTRLDIS = 0x01; + +static constexpr RegMask REG_0x17_TGMODE = 0xc0; +static constexpr RegMask REG_0x17_TGMODE_NO_DUMMY = 0x00; +static constexpr RegMask REG_0x17_TGMODE_REF = 0x40; +static constexpr RegMask REG_0x17_TGMODE_XPA = 0x80; +static constexpr RegMask REG_0x17_TGW = 0x3f; +static constexpr RegShift REG_0x17S_TGW = 0; + +static constexpr RegMask REG_0x18_CNSET = 0x80; +static constexpr RegMask REG_0x18_DCKSEL = 0x60; +static constexpr RegMask REG_0x18_CKTOGGLE = 0x10; +static constexpr RegMask REG_0x18_CKDELAY = 0x0c; +static constexpr RegMask REG_0x18_CKSEL = 0x03; + +static constexpr RegMask REG_0x1A_MANUAL3 = 0x02; +static constexpr RegMask REG_0x1A_MANUAL1 = 0x01; +static constexpr RegMask REG_0x1A_CK4INV = 0x08; +static constexpr RegMask REG_0x1A_CK3INV = 0x04; +static constexpr RegMask REG_0x1A_LINECLP = 0x02; + +static constexpr RegMask REG_0x1C_TGTIME = 0x07; + +static constexpr RegMask REG_0x1D_CK4LOW = 0x80; +static constexpr RegMask REG_0x1D_CK3LOW = 0x40; +static constexpr RegMask REG_0x1D_CK1LOW = 0x20; +static constexpr RegMask REG_0x1D_TGSHLD = 0x1f; +static constexpr RegShift REG_0x1DS_TGSHLD = 0; + + +static constexpr RegAddr REG_0x1E = 0x1e; +static constexpr RegMask REG_0x1E_WDTIME = 0xf0; +static constexpr RegShift REG_0x1ES_WDTIME = 4; +static constexpr RegMask REG_0x1E_LINESEL = 0x0f; +static constexpr RegShift REG_0x1ES_LINESEL = 0; + +static constexpr RegAddr REG_EXPR = 0x10; +static constexpr RegAddr REG_EXPG = 0x12; +static constexpr RegAddr REG_EXPB = 0x14; +static constexpr RegAddr REG_STEPNO = 0x21; +static constexpr RegAddr REG_FWDSTEP = 0x22; +static constexpr RegAddr REG_BWDSTEP = 0x23; +static constexpr RegAddr REG_FASTNO = 0x24; +static constexpr RegAddr REG_LINCNT = 0x25; +static constexpr RegAddr REG_DPISET = 0x2c; +static constexpr RegAddr REG_STRPIXEL = 0x30; +static constexpr RegAddr REG_ENDPIXEL = 0x32; +static constexpr RegAddr REG_MAXWD = 0x35; +static constexpr RegAddr REG_LPERIOD = 0x38; + +static constexpr RegAddr REG_0x40 = 0x40; +static constexpr RegMask REG_0x40_HISPDFLG = 0x04; +static constexpr RegMask REG_0x40_MOTMFLG = 0x02; +static constexpr RegMask REG_0x40_DATAENB = 0x01; + +static constexpr RegMask REG_0x41_PWRBIT = 0x80; +static constexpr RegMask REG_0x41_BUFEMPTY = 0x40; +static constexpr RegMask REG_0x41_FEEDFSH = 0x20; +static constexpr RegMask REG_0x41_SCANFSH = 0x10; +static constexpr RegMask REG_0x41_HOMESNR = 0x08; +static constexpr RegMask REG_0x41_LAMPSTS = 0x04; +static constexpr RegMask REG_0x41_FEBUSY = 0x02; +static constexpr RegMask REG_0x41_MOTORENB = 0x01; + +static constexpr RegMask REG_0x58_VSMP = 0xf8; +static constexpr RegShift REG_0x58S_VSMP = 3; +static constexpr RegMask REG_0x58_VSMPW = 0x07; +static constexpr RegShift REG_0x58S_VSMPW = 0; + +static constexpr RegMask REG_0x59_BSMP = 0xf8; +static constexpr RegShift REG_0x59S_BSMP = 3; +static constexpr RegMask REG_0x59_BSMPW = 0x07; +static constexpr RegShift REG_0x59S_BSMPW = 0; + +static constexpr RegMask REG_0x5A_ADCLKINV = 0x80; +static constexpr RegMask REG_0x5A_RLCSEL = 0x40; +static constexpr RegMask REG_0x5A_CDSREF = 0x30; +static constexpr RegShift REG_0x5AS_CDSREF = 4; +static constexpr RegMask REG_0x5A_RLC = 0x0f; +static constexpr RegShift REG_0x5AS_RLC = 0; + +static constexpr RegMask REG_0x5E_DECSEL = 0xe0; +static constexpr RegShift REG_0x5ES_DECSEL = 5; +static constexpr RegMask REG_0x5E_STOPTIM = 0x1f; +static constexpr RegShift REG_0x5ES_STOPTIM = 0; + +static constexpr RegMask REG_0x60_ZIMOD = 0x1f; +static constexpr RegMask REG_0x61_Z1MOD = 0xff; +static constexpr RegMask REG_0x62_Z1MOD = 0xff; + +static constexpr RegMask REG_0x63_Z2MOD = 0x1f; +static constexpr RegMask REG_0x64_Z2MOD = 0xff; +static constexpr RegMask REG_0x65_Z2MOD = 0xff; + +static constexpr RegMask REG_0x67_STEPSEL = 0xc0; +static constexpr RegMask REG_0x67_FULLSTEP = 0x00; +static constexpr RegMask REG_0x67_HALFSTEP = 0x40; +static constexpr RegMask REG_0x67_QUATERSTEP = 0x80; +static constexpr RegMask REG_0x67_MTRPWM = 0x3f; + +static constexpr RegMask REG_0x68_FSTPSEL = 0xc0; +static constexpr RegMask REG_0x68_FULLSTEP = 0x00; +static constexpr RegMask REG_0x68_HALFSTEP = 0x40; +static constexpr RegMask REG_0x68_QUATERSTEP = 0x80; +static constexpr RegMask REG_0x68_FASTPWM = 0x3f; + +static constexpr RegMask REG_0x6B_MULTFILM = 0x80; +static constexpr RegMask REG_0x6B_GPOM13 = 0x40; +static constexpr RegMask REG_0x6B_GPOM12 = 0x20; +static constexpr RegMask REG_0x6B_GPOM11 = 0x10; +static constexpr RegMask REG_0x6B_GPO18 = 0x02; +static constexpr RegMask REG_0x6B_GPO17 = 0x01; + +static constexpr RegAddr REG_0x6B = 0x6b; + +static constexpr RegAddr REG_0x6C = 0x6c; +static constexpr RegMask REG_0x6C_GPIOH = 0xff; +static constexpr RegMask REG_0x6C_GPIOL = 0xff; + +static constexpr RegAddr REG_0x6D = 0x6d; +static constexpr RegAddr REG_0x6E = 0x6e; +static constexpr RegAddr REG_0x6F = 0x6f; + +static constexpr RegMask REG_0x87_LEDADD = 0x04; + +} // namespace gl841 +} // namespace genesys + +#endif // BACKEND_GENESYS_GL841_REGISTERS_H diff --git a/backend/genesys/gl843.cpp b/backend/genesys/gl843.cpp new file mode 100644 index 0000000..f83ac8d --- /dev/null +++ b/backend/genesys/gl843.cpp @@ -0,0 +1,3060 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2010-2013 Stéphane Voltz + + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "gl843_registers.h" +#include "gl843.h" +#include "test_settings.h" + +#include +#include + +namespace genesys { +namespace gl843 { + +// Set address for writing data +static void gl843_set_buffer_address(Genesys_Device* dev, uint32_t addr) +{ + DBG_HELPER_ARGS(dbg, "setting address to 0x%05x", addr & 0xffff); + + dev->interface->write_register(0x5b, ((addr >> 8) & 0xff)); + dev->interface->write_register(0x5c, (addr & 0xff)); +} + +/** + * compute the step multiplier used + */ +static int gl843_get_step_multiplier(Genesys_Register_Set* regs) +{ + GenesysRegister *r = sanei_genesys_get_address(regs, REG_0x9D); + int value = 1; + if (r != nullptr) + { + switch (r->value & 0x0c) + { + case 0x04: + value = 2; + break; + case 0x08: + value = 4; + break; + default: + value = 1; + } + } + DBG(DBG_io, "%s: step multiplier is %d\n", __func__, value); + return value; +} + +/** copy sensor specific settings */ +static void gl843_setup_sensor(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs) +{ + DBG_HELPER(dbg); + for (const auto& custom_reg : sensor.custom_regs) { + regs->set8(custom_reg.address, custom_reg.value); + } + if (!(dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE) && + dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7200I && + dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7300 && + dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7500I) + { + regs->set8(0x7d, 0x90); + } + + dev->segment_order = sensor.segment_order; +} + + +/** @brief set all registers to default values . + * This function is called only once at the beginning and + * fills register startup values for registers reused across scans. + * Those that are rarely modified or not modified are written + * individually. + * @param dev device structure holding register set to initialize + */ +static void +gl843_init_registers (Genesys_Device * dev) +{ + // Within this function SENSOR_DEF marker documents that a register is part + // of the sensors definition and the actual value is set in + // gl843_setup_sensor(). + + // 0x6c, 0x6d, 0x6e, 0x6f, 0xa6, 0xa7, 0xa8, 0xa9 are defined in the Gpo sensor struct + + DBG_HELPER(dbg); + + dev->reg.clear(); + + dev->reg.init_reg(0x01, 0x00); + dev->reg.init_reg(0x02, 0x78); + dev->reg.init_reg(0x03, 0x1f); + if (dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050 || + dev->model->model_id == ModelId::HP_SCANJET_4850C) + { + dev->reg.init_reg(0x03, 0x1d); + } + if (dev->model->model_id == ModelId::CANON_8400F) { + dev->reg.init_reg(0x03, 0x1c); + } + + dev->reg.init_reg(0x04, 0x10); + if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7300 || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7500I) + { + dev->reg.init_reg(0x04, 0x22); + } + + // fine tune upon device description + dev->reg.init_reg(0x05, 0x80); + if (dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050 || + dev->model->model_id == ModelId::HP_SCANJET_4850C) + { + dev->reg.init_reg(0x05, 0x08); + } + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + sanei_genesys_set_dpihw(dev->reg, sensor, sensor.optical_res); + + // TODO: on 8600F the windows driver turns off GAIN4 which is recommended + dev->reg.init_reg(0x06, 0xd8); /* SCANMOD=110, PWRBIT and GAIN4 */ + if (dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050 || + dev->model->model_id == ModelId::HP_SCANJET_4850C) + { + dev->reg.init_reg(0x06, 0xd8); /* SCANMOD=110, PWRBIT and GAIN4 */ + } + if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I) { + dev->reg.init_reg(0x06, 0xd0); + } + if (dev->model->model_id == ModelId::CANON_4400F || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7300 || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7500I) + { + dev->reg.init_reg(0x06, 0xf0); /* SCANMOD=111, PWRBIT and no GAIN4 */ + } + + dev->reg.init_reg(0x08, 0x00); + dev->reg.init_reg(0x09, 0x00); + dev->reg.init_reg(0x0a, 0x00); + if (dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050 || + dev->model->model_id == ModelId::HP_SCANJET_4850C) + { + dev->reg.init_reg(0x0a, 0x18); + } + if (dev->model->model_id == ModelId::CANON_8400F) { + dev->reg.init_reg(0x0a, 0x10); + } + + // This register controls clock and RAM settings and is further modified in + // gl843_boot + dev->reg.init_reg(0x0b, 0x6a); + + if (dev->model->model_id == ModelId::CANON_4400F) { + dev->reg.init_reg(0x0b, 0x69); // 16M only + } + if (dev->model->model_id == ModelId::CANON_8600F) { + dev->reg.init_reg(0x0b, 0x89); + } + if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I) { + dev->reg.init_reg(0x0b, 0x2a); + } + if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7300 || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7500I) { + dev->reg.init_reg(0x0b, 0x4a); + } + if (dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050 || + dev->model->model_id == ModelId::HP_SCANJET_4850C) + { + dev->reg.init_reg(0x0b, 0x69); + } + + if (dev->model->model_id != ModelId::CANON_8400F && + dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7200I && + dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7300) + { + dev->reg.init_reg(0x0c, 0x00); + } + + // EXPR[0:15], EXPG[0:15], EXPB[0:15]: Exposure time settings. + dev->reg.init_reg(0x10, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x11, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x12, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x13, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x14, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x15, 0x00); // SENSOR_DEF + if (dev->model->model_id == ModelId::CANON_4400F || + dev->model->model_id == ModelId::CANON_8600F) + { + dev->reg.set16(REG_EXPR, 0x9c40); + dev->reg.set16(REG_EXPG, 0x9c40); + dev->reg.set16(REG_EXPB, 0x9c40); + } + if (dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050 || + dev->model->model_id == ModelId::HP_SCANJET_4850C) + { + dev->reg.set16(REG_EXPR, 0x2c09); + dev->reg.set16(REG_EXPG, 0x22b8); + dev->reg.set16(REG_EXPB, 0x10f0); + } + + // CCD signal settings. + dev->reg.init_reg(0x16, 0x33); // SENSOR_DEF + dev->reg.init_reg(0x17, 0x1c); // SENSOR_DEF + dev->reg.init_reg(0x18, 0x10); // SENSOR_DEF + + // EXPDMY[0:7]: Exposure time of dummy lines. + dev->reg.init_reg(0x19, 0x2a); // SENSOR_DEF + + // Various CCD clock settings. + dev->reg.init_reg(0x1a, 0x04); // SENSOR_DEF + dev->reg.init_reg(0x1b, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x1c, 0x20); // SENSOR_DEF + dev->reg.init_reg(0x1d, 0x04); // SENSOR_DEF + + dev->reg.init_reg(0x1e, 0x10); + if (dev->model->model_id == ModelId::CANON_4400F || + dev->model->model_id == ModelId::CANON_8600F) + { + dev->reg.init_reg(0x1e, 0x20); + } + if (dev->model->model_id == ModelId::CANON_8400F) { + dev->reg.init_reg(0x1e, 0xa0); + } + + dev->reg.init_reg(0x1f, 0x01); + if (dev->model->model_id == ModelId::CANON_8600F) { + dev->reg.init_reg(0x1f, 0xff); + } + + dev->reg.init_reg(0x20, 0x10); + dev->reg.init_reg(0x21, 0x04); + + dev->reg.init_reg(0x22, 0x10); + dev->reg.init_reg(0x23, 0x10); + if (dev->model->model_id == ModelId::CANON_8600F) { + dev->reg.init_reg(0x22, 0xc8); + dev->reg.init_reg(0x23, 0xc8); + } + if (dev->model->model_id == ModelId::CANON_8400F) { + dev->reg.init_reg(0x22, 0x50); + dev->reg.init_reg(0x23, 0x50); + } + + dev->reg.init_reg(0x24, 0x04); + dev->reg.init_reg(0x25, 0x00); + dev->reg.init_reg(0x26, 0x00); + dev->reg.init_reg(0x27, 0x00); + dev->reg.init_reg(0x2c, 0x02); + dev->reg.init_reg(0x2d, 0x58); + // BWHI[0:7]: high level of black and white threshold + dev->reg.init_reg(0x2e, 0x80); + // BWLOW[0:7]: low level of black and white threshold + dev->reg.init_reg(0x2f, 0x80); + dev->reg.init_reg(0x30, 0x00); + dev->reg.init_reg(0x31, 0x14); + dev->reg.init_reg(0x32, 0x27); + dev->reg.init_reg(0x33, 0xec); + + // DUMMY: CCD dummy and optically black pixel count + dev->reg.init_reg(0x34, 0x24); + if (dev->model->model_id == ModelId::CANON_8600F) { + dev->reg.init_reg(0x34, 0x14); + } + if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7300 || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7500I) + { + dev->reg.init_reg(0x34, 0x3c); + } + + // MAXWD: If available buffer size is less than 2*MAXWD words, then + // "buffer full" state will be set. + dev->reg.init_reg(0x35, 0x00); + dev->reg.init_reg(0x36, 0xff); + dev->reg.init_reg(0x37, 0xff); + + // LPERIOD: Line period or exposure time for CCD or CIS. + dev->reg.init_reg(0x38, 0x55); // SENSOR_DEF + dev->reg.init_reg(0x39, 0xf0); // SENSOR_DEF + + // FEEDL[0:24]: The number of steps of motor movement. + dev->reg.init_reg(0x3d, 0x00); + dev->reg.init_reg(0x3e, 0x00); + dev->reg.init_reg(0x3f, 0x01); + + // Latch points for high and low bytes of R, G and B channels of AFE. If + // multiple clocks per pixel are consumed, then the setting defines during + // which clock the corresponding value will be read. + // RHI[0:4]: The latch point for high byte of R channel. + // RLOW[0:4]: The latch point for low byte of R channel. + // GHI[0:4]: The latch point for high byte of G channel. + // GLOW[0:4]: The latch point for low byte of G channel. + // BHI[0:4]: The latch point for high byte of B channel. + // BLOW[0:4]: The latch point for low byte of B channel. + dev->reg.init_reg(0x52, 0x01); // SENSOR_DEF + dev->reg.init_reg(0x53, 0x04); // SENSOR_DEF + dev->reg.init_reg(0x54, 0x07); // SENSOR_DEF + dev->reg.init_reg(0x55, 0x0a); // SENSOR_DEF + dev->reg.init_reg(0x56, 0x0d); // SENSOR_DEF + dev->reg.init_reg(0x57, 0x10); // SENSOR_DEF + + // VSMP[0:4]: The position of the image sampling pulse for AFE in cycles. + // VSMPW[0:2]: The length of the image sampling pulse for AFE in cycles. + dev->reg.init_reg(0x58, 0x1b); // SENSOR_DEF + + dev->reg.init_reg(0x59, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x5a, 0x40); // SENSOR_DEF + + // 0x5b-0x5c: GMMADDR[0:15] address for gamma or motor tables download + // SENSOR_DEF + + // DECSEL[0:2]: The number of deceleration steps after touching home sensor + // STOPTIM[0:4]: The stop duration between change of directions in + // backtracking + dev->reg.init_reg(0x5e, 0x23); + if (dev->model->model_id == ModelId::CANON_4400F) { + dev->reg.init_reg(0x5e, 0x3f); + } + if (dev->model->model_id == ModelId::CANON_8400F) { + dev->reg.init_reg(0x5e, 0x85); + } + if (dev->model->model_id == ModelId::CANON_8600F) { + dev->reg.init_reg(0x5e, 0x1f); + } + if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7300 || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7500I) + { + dev->reg.init_reg(0x5e, 0x01); + } + + //FMOVDEC: The number of deceleration steps in table 5 for auto-go-home + dev->reg.init_reg(0x5f, 0x01); + if (dev->model->model_id == ModelId::CANON_4400F) { + dev->reg.init_reg(0x5f, 0xf0); + } + if (dev->model->model_id == ModelId::CANON_8600F) { + dev->reg.init_reg(0x5f, 0xf0); + } + if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7300 || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7500I) + { + dev->reg.init_reg(0x5f, 0x01); + } + + // Z1MOD[0:20] + dev->reg.init_reg(0x60, 0x00); + dev->reg.init_reg(0x61, 0x00); + dev->reg.init_reg(0x62, 0x00); + + // Z2MOD[0:20] + dev->reg.init_reg(0x63, 0x00); + dev->reg.init_reg(0x64, 0x00); + dev->reg.init_reg(0x65, 0x00); + + // STEPSEL[0:1]. Motor movement step mode selection for tables 1-3 in + // scanning mode. + // MTRPWM[0:5]. Motor phase PWM duty cycle setting for tables 1-3 + dev->reg.init_reg(0x67, 0x7f); + // FSTPSEL[0:1]: Motor movement step mode selection for tables 4-5 in + // command mode. + // FASTPWM[5:0]: Motor phase PWM duty cycle setting for tables 4-5 + dev->reg.init_reg(0x68, 0x7f); + + if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7300) { + dev->reg.init_reg(0x67, 0x80); + dev->reg.init_reg(0x68, 0x80); + } + + // FSHDEC[0:7]: The number of deceleration steps after scanning is finished + // (table 3) + dev->reg.init_reg(0x69, 0x01); + if (dev->model->model_id == ModelId::CANON_8600F) { + dev->reg.init_reg(0x69, 64); + } + + // FMOVNO[0:7] The number of acceleration or deceleration steps for fast + // moving (table 4) + dev->reg.init_reg(0x6a, 0x04); + if (dev->model->model_id == ModelId::CANON_8600F) { + dev->reg.init_reg(0x69, 64); + } + + // GPIO-related register bits + dev->reg.init_reg(0x6b, 0x30); + if (dev->model->model_id == ModelId::CANON_4400F || + dev->model->model_id == ModelId::CANON_8600F) + { + dev->reg.init_reg(0x6b, 0x72); + } + if (dev->model->model_id == ModelId::CANON_8400F) { + dev->reg.init_reg(0x6b, 0xb1); + } + if (dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050 || + dev->model->model_id == ModelId::HP_SCANJET_4850C) + { + dev->reg.init_reg(0x6b, 0xf4); + } + if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7300 || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7500I) + { + dev->reg.init_reg(0x6b, 0x31); + } + + // 0x6c, 0x6d, 0x6e, 0x6f are set according to gpio tables. See + // gl843_init_gpio. + + // RSH[0:4]: The position of rising edge of CCD RS signal in cycles + // RSL[0:4]: The position of falling edge of CCD RS signal in cycles + // CPH[0:4]: The position of rising edge of CCD CP signal in cycles. + // CPL[0:4]: The position of falling edge of CCD CP signal in cycles + dev->reg.init_reg(0x70, 0x01); // SENSOR_DEF + dev->reg.init_reg(0x71, 0x03); // SENSOR_DEF + dev->reg.init_reg(0x72, 0x04); // SENSOR_DEF + dev->reg.init_reg(0x73, 0x05); // SENSOR_DEF + + if (dev->model->model_id == ModelId::CANON_4400F) { + dev->reg.init_reg(0x70, 0x01); + dev->reg.init_reg(0x71, 0x03); + dev->reg.init_reg(0x72, 0x01); + dev->reg.init_reg(0x73, 0x03); + } + if (dev->model->model_id == ModelId::CANON_8400F) { + dev->reg.init_reg(0x70, 0x01); + dev->reg.init_reg(0x71, 0x03); + dev->reg.init_reg(0x72, 0x03); + dev->reg.init_reg(0x73, 0x04); + } + if (dev->model->model_id == ModelId::CANON_8600F) { + dev->reg.init_reg(0x70, 0x00); + dev->reg.init_reg(0x71, 0x02); + dev->reg.init_reg(0x72, 0x02); + dev->reg.init_reg(0x73, 0x04); + } + if (dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050 || + dev->model->model_id == ModelId::HP_SCANJET_4850C) + { + dev->reg.init_reg(0x70, 0x00); + dev->reg.init_reg(0x71, 0x02); + dev->reg.init_reg(0x72, 0x00); + dev->reg.init_reg(0x73, 0x00); + } + + // CK1MAP[0:17], CK3MAP[0:17], CK4MAP[0:17]: CCD clock bit mapping setting. + dev->reg.init_reg(0x74, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x75, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x76, 0x3c); // SENSOR_DEF + dev->reg.init_reg(0x77, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x78, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x79, 0x9f); // SENSOR_DEF + dev->reg.init_reg(0x7a, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x7b, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x7c, 0x55); // SENSOR_DEF + + // various AFE settings + dev->reg.init_reg(0x7d, 0x00); + if (dev->model->model_id == ModelId::CANON_8400F) { + dev->reg.init_reg(0x7d, 0x20); + } + + // GPOLED[x]: LED vs GPIO settings + dev->reg.init_reg(0x7e, 0x00); + + // BSMPDLY, VSMPDLY + // LEDCNT[0:1]: Controls led blinking and its period + dev->reg.init_reg(0x7f, 0x00); + + // VRHOME, VRMOVE, VRBACK, VRSCAN: Vref settings of the motor driver IC for + // moving in various situations. + dev->reg.init_reg(0x80, 0x00); + if (dev->model->model_id == ModelId::CANON_4400F) { + dev->reg.init_reg(0x80, 0x0c); + } + if (dev->model->model_id == ModelId::CANON_8400F) { + dev->reg.init_reg(0x80, 0x28); + } + if (dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050 || + dev->model->model_id == ModelId::HP_SCANJET_4850C) + { + dev->reg.init_reg(0x80, 0x50); + } + if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7300 || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7500I) + { + dev->reg.init_reg(0x80, 0x0f); + } + + if (dev->model->model_id != ModelId::CANON_4400F) { + dev->reg.init_reg(0x81, 0x00); + dev->reg.init_reg(0x82, 0x00); + dev->reg.init_reg(0x83, 0x00); + dev->reg.init_reg(0x84, 0x00); + dev->reg.init_reg(0x85, 0x00); + dev->reg.init_reg(0x86, 0x00); + } + + dev->reg.init_reg(0x87, 0x00); + if (dev->model->model_id == ModelId::CANON_4400F || + dev->model->model_id == ModelId::CANON_8400F || + dev->model->model_id == ModelId::CANON_8600F) + { + dev->reg.init_reg(0x87, 0x02); + } + + // MTRPLS[0:7]: The width of the ADF motor trigger signal pulse. + if (dev->model->model_id != ModelId::CANON_8400F && + dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7200I && + dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7300) + { + dev->reg.init_reg(0x94, 0xff); + } + + // 0x95-0x97: SCANLEN[0:19]: Controls when paper jam bit is set in sheetfed + // scanners. + + // ONDUR[0:15]: The duration of PWM ON phase for LAMP control + // OFFDUR[0:15]: The duration of PWM OFF phase for LAMP control + // both of the above are in system clocks + if (dev->model->model_id == ModelId::CANON_8600F) { + dev->reg.init_reg(0x98, 0x00); + dev->reg.init_reg(0x99, 0x00); + dev->reg.init_reg(0x9a, 0x00); + dev->reg.init_reg(0x9b, 0x00); + } + if (dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050 || + dev->model->model_id == ModelId::HP_SCANJET_4850C) + { + // TODO: move to set for scan + dev->reg.init_reg(0x98, 0x03); + dev->reg.init_reg(0x99, 0x30); + dev->reg.init_reg(0x9a, 0x01); + dev->reg.init_reg(0x9b, 0x80); + } + + // RMADLY[0:1], MOTLAG, CMODE, STEPTIM, MULDMYLN, IFRS + dev->reg.init_reg(0x9d, 0x04); + if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7300 || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7500I) + { + dev->reg.init_reg(0x9d, 0x00); + } + if (dev->model->model_id == ModelId::CANON_4400F || + dev->model->model_id == ModelId::CANON_8400F || + dev->model->model_id == ModelId::CANON_8600F || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I || + dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050 || + dev->model->model_id == ModelId::HP_SCANJET_4850C) + { + dev->reg.init_reg(0x9d, 0x08); // sets the multiplier for slope tables + } + + + // SEL3INV, TGSTIME[0:2], TGWTIME[0:2] + if (dev->model->model_id != ModelId::CANON_8400F && + dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7200I && + dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7300) + { + dev->reg.init_reg(0x9e, 0x00); // SENSOR_DEF + } + + if (dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7300) { + dev->reg.init_reg(0xa2, 0x0f); + } + + // RFHSET[0:4]: Refresh time of SDRAM in units of 2us + if (dev->model->model_id == ModelId::CANON_4400F || + dev->model->model_id == ModelId::CANON_8600F) + { + dev->reg.init_reg(0xa2, 0x1f); + } + + // 0xa6-0xa9: controls gpio, see gl843_gpio_init + + // not documented + if (dev->model->model_id != ModelId::CANON_4400F && + dev->model->model_id != ModelId::CANON_8400F && + dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7200I && + dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7300) + { + dev->reg.init_reg(0xaa, 0x00); + } + + // GPOM9, MULSTOP[0-2], NODECEL, TB3TB1, TB5TB2, FIX16CLK. Not documented + if (dev->model->model_id != ModelId::CANON_8400F && + dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7200I && + dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7300) { + dev->reg.init_reg(0xab, 0x50); + } + if (dev->model->model_id == ModelId::CANON_4400F) { + dev->reg.init_reg(0xab, 0x00); + } + if (dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050 || + dev->model->model_id == ModelId::HP_SCANJET_4850C) + { + // BUG: this should apply to ModelId::CANON_CANOSCAN_8600F too, but due to previous bug + // the 8400F case overwrote it + dev->reg.init_reg(0xab, 0x40); + } + + // VRHOME[3:2], VRMOVE[3:2], VRBACK[3:2]: Vref setting of the motor driver IC + // for various situations. + if (dev->model->model_id == ModelId::CANON_8600F || + dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050 || + dev->model->model_id == ModelId::HP_SCANJET_4850C) + { + dev->reg.init_reg(0xac, 0x00); + } + + dev->calib_reg = dev->reg; + + if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I) { + uint8_t data[32] = { + 0x8c, 0x8f, 0xc9, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6a, 0x73, 0x63, 0x68, 0x69, 0x65, 0x6e, 0x00, + }; + + dev->interface->write_buffer(0x3c, 0x3ff000, data, 32, + ScannerInterface::FLAG_SWAP_REGISTERS); + } +} + +// Send slope table for motor movement slope_table in machine byte order +static void gl843_send_slope_table(Genesys_Device* dev, int table_nr, + const std::vector& slope_table, + int steps) +{ + DBG_HELPER_ARGS(dbg, "table_nr = %d, steps = %d", table_nr, steps); + + int i; + char msg[10000]; + + std::vector table(steps * 2); + for (i = 0; i < steps; i++) + { + table[i * 2] = slope_table[i] & 0xff; + table[i * 2 + 1] = slope_table[i] >> 8; + } + + if (DBG_LEVEL >= DBG_io) + { + std::sprintf(msg, "write slope %d (%d)=", table_nr, steps); + for (i = 0; i < steps; i++) { + std::sprintf (msg+strlen(msg), "%d", slope_table[i]); + } + DBG(DBG_io, "%s: %s\n", __func__, msg); + } + + if (dev->interface->is_mock()) { + dev->interface->record_slope_table(table_nr, slope_table); + } + + // slope table addresses are fixed : 0x40000, 0x48000, 0x50000, 0x58000, 0x60000 + // XXX STEF XXX USB 1.1 ? sanei_genesys_write_0x8c (dev, 0x0f, 0x14); + dev->interface->write_gamma(0x28, 0x40000 + 0x8000 * table_nr, table.data(), steps * 2, + ScannerInterface::FLAG_SWAP_REGISTERS); + + // FIXME: remove this when updating tests + gl843_set_buffer_address(dev, 0); +} + +static void gl843_set_ad_fe(Genesys_Device* dev) +{ + for (const auto& reg : dev->frontend.regs) { + dev->interface->write_fe_register(reg.address, reg.value); + } +} + +// Set values of analog frontend +void CommandSetGl843::set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set) const +{ + DBG_HELPER_ARGS(dbg, "%s", set == AFE_INIT ? "init" : + set == AFE_SET ? "set" : + set == AFE_POWER_SAVE ? "powersave" : "huh?"); + (void) sensor; + int i; + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, + static_cast(dev->model->adc_id)); + dev->frontend = dev->frontend_initial; + dev->frontend_is_init = true; + } + + // check analog frontend type + // FIXME: looks like we write to that register with initial data + uint8_t fe_type = dev->interface->read_register(REG_0x04) & REG_0x04_FESET; + if (fe_type == 2) { + gl843_set_ad_fe(dev); + return; + } + if (fe_type != 0) { + throw SaneException(SANE_STATUS_UNSUPPORTED, "unsupported frontend type %d", fe_type); + } + + DBG(DBG_proc, "%s(): frontend reset complete\n", __func__); + + for (i = 1; i <= 3; i++) + { + // FIXME: the check below is just historical artifact, we can remove it when convenient + if (!dev->frontend_is_init) { + dev->interface->write_fe_register(i, 0x00); + } else { + dev->interface->write_fe_register(i, dev->frontend.regs.get_value(0x00 + i)); + } + } + for (const auto& reg : sensor.custom_fe_regs) { + dev->interface->write_fe_register(reg.address, reg.value); + } + + for (i = 0; i < 3; i++) + { + // FIXME: the check below is just historical artifact, we can remove it when convenient + if (!dev->frontend_is_init) { + dev->interface->write_fe_register(0x20 + i, 0x00); + } else { + dev->interface->write_fe_register(0x20 + i, dev->frontend.get_offset(i)); + } + } + + if (dev->model->sensor_id == SensorId::CCD_KVSS080) { + for (i = 0; i < 3; i++) + { + // FIXME: the check below is just historical artifact, we can remove it when convenient + if (!dev->frontend_is_init) { + dev->interface->write_fe_register(0x24 + i, 0x00); + } else { + dev->interface->write_fe_register(0x24 + i, dev->frontend.regs.get_value(0x24 + i)); + } + } + } + + for (i = 0; i < 3; i++) + { + // FIXME: the check below is just historical artifact, we can remove it when convenient + if (!dev->frontend_is_init) { + dev->interface->write_fe_register(0x28 + i, 0x00); + } else { + dev->interface->write_fe_register(0x28 + i, dev->frontend.get_gain(i)); + } + } +} + + +static void gl843_init_motor_regs_scan(Genesys_Device* dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const Motor_Profile& motor_profile, + unsigned int exposure, + unsigned scan_yres, + unsigned int scan_lines, + unsigned int scan_dummy, + unsigned int feed_steps, + MotorFlag flags) +{ + DBG_HELPER_ARGS(dbg, "exposure=%d, scan_yres=%d, step_type=%d, scan_lines=%d, scan_dummy=%d, " + "feed_steps=%d, flags=%x", + exposure, scan_yres, static_cast(motor_profile.step_type), + scan_lines, scan_dummy, feed_steps, static_cast(flags)); + + int use_fast_fed, coeff; + unsigned int lincnt; + unsigned feedl, dist; + GenesysRegister *r; + uint32_t z1, z2; + + /* get step multiplier */ + unsigned step_multiplier = gl843_get_step_multiplier (reg); + + use_fast_fed = 0; + + if ((scan_yres >= 300 && feed_steps > 900) || (has_flag(flags, MotorFlag::FEED))) { + use_fast_fed = 1; + } + + lincnt=scan_lines; + reg->set24(REG_LINCNT, lincnt); + DBG(DBG_io, "%s: lincnt=%d\n", __func__, lincnt); + + /* compute register 02 value */ + r = sanei_genesys_get_address(reg, REG_0x02); + r->value = 0x00; + sanei_genesys_set_motor_power(*reg, true); + + if (use_fast_fed) { + r->value |= REG_0x02_FASTFED; + } else { + r->value &= ~REG_0x02_FASTFED; + } + + /* in case of automatic go home, move until home sensor */ + if (has_flag(flags, MotorFlag::AUTO_GO_HOME)) { + r->value |= REG_0x02_AGOHOME | REG_0x02_NOTHOME; + } + + /* disable backtracking */ + if (has_flag(flags, MotorFlag::DISABLE_BUFFER_FULL_MOVE) + ||(scan_yres>=2400 && dev->model->model_id != ModelId::CANON_4400F) + ||(scan_yres>=sensor.optical_res)) + { + r->value |= REG_0x02_ACDCDIS; + } + + if (has_flag(flags, MotorFlag::REVERSE)) { + r->value |= REG_0x02_MTRREV; + } else { + r->value &= ~REG_0x02_MTRREV; + } + + /* scan and backtracking slope table */ + auto scan_table = sanei_genesys_slope_table(dev->model->asic_type, scan_yres, exposure, + dev->motor.base_ydpi, step_multiplier, + motor_profile); + + gl843_send_slope_table(dev, SCAN_TABLE, scan_table.table, scan_table.steps_count); + gl843_send_slope_table(dev, BACKTRACK_TABLE, scan_table.table, scan_table.steps_count); + + reg->set8(REG_STEPNO, scan_table.steps_count / step_multiplier); + reg->set8(REG_FASTNO, scan_table.steps_count / step_multiplier); + + // fast table + unsigned fast_yres = sanei_genesys_get_lowest_ydpi(dev); + auto fast_table = sanei_genesys_slope_table(dev->model->asic_type, fast_yres, exposure, + dev->motor.base_ydpi, step_multiplier, + motor_profile); + gl843_send_slope_table(dev, STOP_TABLE, fast_table.table, fast_table.steps_count); + gl843_send_slope_table(dev, FAST_TABLE, fast_table.table, fast_table.steps_count); + gl843_send_slope_table(dev, HOME_TABLE, fast_table.table, fast_table.steps_count); + + reg->set8(REG_FSHDEC, fast_table.steps_count / step_multiplier); + reg->set8(REG_FMOVNO, fast_table.steps_count / step_multiplier); + + /* substract acceleration distance from feedl */ + feedl=feed_steps; + feedl <<= static_cast(motor_profile.step_type); + + dist = scan_table.steps_count / step_multiplier; + if (use_fast_fed) + { + dist += (fast_table.steps_count / step_multiplier) * 2; + } + DBG(DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); + + /* get sure when don't insane value : XXX STEF XXX in this case we should + * fall back to single table move */ + if (dist < feedl) { + feedl -= dist; + } else { + feedl = 1; + } + + reg->set24(REG_FEEDL, feedl); + DBG(DBG_io, "%s: feedl=%d\n", __func__, feedl); + + /* doesn't seem to matter that much */ + sanei_genesys_calculate_zmod(use_fast_fed, + exposure, + scan_table.table, + scan_table.steps_count / step_multiplier, + feedl, + scan_table.steps_count / step_multiplier, + &z1, + &z2); + if(scan_yres>600) + { + z1=0; + z2=0; + } + + reg->set24(REG_Z1MOD, z1); + DBG(DBG_info, "%s: z1 = %d\n", __func__, z1); + + reg->set24(REG_Z2MOD, z2); + DBG(DBG_info, "%s: z2 = %d\n", __func__, z2); + + r = sanei_genesys_get_address(reg, REG_0x1E); + r->value &= 0xf0; /* 0 dummy lines */ + r->value |= scan_dummy; /* dummy lines */ + + reg->set8_mask(REG_0x67, static_cast(motor_profile.step_type) << REG_0x67S_STEPSEL, 0xc0); + reg->set8_mask(REG_0x68, static_cast(motor_profile.step_type) << REG_0x68S_FSTPSEL, 0xc0); + + // steps for STOP table + reg->set8(REG_FMOVDEC, fast_table.steps_count / step_multiplier); + + /* Vref XXX STEF XXX : optical divider or step type ? */ + r = sanei_genesys_get_address (reg, 0x80); + if (!(dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE)) + { + r->value = 0x50; + coeff = sensor.get_hwdpi_divisor_for_dpi(scan_yres); + if (dev->model->motor_id == MotorId::KVSS080) { + if(coeff>=1) + { + r->value |= 0x05; + } + } + else { + switch(coeff) + { + case 4: + r->value |= 0x0a; + break; + case 2: + r->value |= 0x0f; + break; + case 1: + r->value |= 0x0f; + break; + } + } + } +} + + +/** @brief setup optical related registers + * start and pixels are expressed in optical sensor resolution coordinate + * space. + * @param dev device to use + * @param reg registers to set up + * @param exposure exposure time to use + * @param used_res scanning resolution used, may differ from + * scan's one + * @param start logical start pixel coordinate + * @param pixels logical number of pixels to use + * @param channels number of color channles used (1 or 3) + * @param depth bit depth of the scan (1, 8 or 16 bits) + * @param ccd_size_divisor true specifies how much x coordinates must be shrunk + * @param color_filter to choose the color channel used in gray scans + * @param flags to drive specific settings such no calibration, XPA use ... + */ +static void gl843_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, unsigned int exposure, + const ScanSession& session) +{ + DBG_HELPER_ARGS(dbg, "exposure=%d", exposure); + unsigned int dpihw; + unsigned int tgtime; /**> exposure time multiplier */ + GenesysRegister *r; + + /* tgtime */ + tgtime = exposure / 65536 + 1; + DBG(DBG_io2, "%s: tgtime=%d\n", __func__, tgtime); + + // to manage high resolution device while keeping good low resolution scanning speed, we make + // hardware dpi vary + dpihw = sensor.get_register_hwdpi(session.output_resolution); + DBG(DBG_io2, "%s: dpihw=%d\n", __func__, dpihw); + + /* sensor parameters */ + gl843_setup_sensor(dev, sensor, reg); + + // resolution is divided according to CKSEL + unsigned ccd_pixels_per_system_pixel = sensor.ccd_pixels_per_system_pixel(); + DBG(DBG_io2, "%s: ccd_pixels_per_system_pixel=%d\n", __func__, ccd_pixels_per_system_pixel); + + dev->cmd_set->set_fe(dev, sensor, AFE_SET); + + /* enable shading */ + regs_set_optical_off(dev->model->asic_type, *reg); + r = sanei_genesys_get_address (reg, REG_0x01); + if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) || + (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION || + (dev->model->flags & GENESYS_FLAG_CALIBRATION_HOST_SIDE))) + { + r->value &= ~REG_0x01_DVDSET; + } else { + r->value |= REG_0x01_DVDSET; + } + + bool use_shdarea = dpihw > 600; + if (dev->model->model_id == ModelId::CANON_4400F) { + use_shdarea = session.params.xres <= 600; + } else if (dev->model->model_id == ModelId::CANON_8400F) { + use_shdarea = session.params.xres <= 400; + } + if (use_shdarea) { + r->value |= REG_0x01_SHDAREA; + } else { + r->value &= ~REG_0x01_SHDAREA; + } + + r = sanei_genesys_get_address (reg, REG_0x03); + if (dev->model->model_id == ModelId::CANON_8600F) { + r->value |= REG_0x03_AVEENB; + } else { + r->value &= ~REG_0x03_AVEENB; + } + + // FIXME: we probably don't need to set exposure to registers at this point. It was this way + // before a refactor. + sanei_genesys_set_lamp_power(dev, sensor, *reg, + !has_flag(session.params.flags, ScanFlag::DISABLE_LAMP)); + + /* select XPA */ + r->value &= ~REG_0x03_XPASEL; + if (has_flag(session.params.flags, ScanFlag::USE_XPA)) { + r->value |= REG_0x03_XPASEL; + } + reg->state.is_xpa_on = has_flag(session.params.flags, ScanFlag::USE_XPA); + + /* BW threshold */ + r = sanei_genesys_get_address(reg, REG_0x2E); + r->value = dev->settings.threshold; + r = sanei_genesys_get_address(reg, REG_0x2F); + r->value = dev->settings.threshold; + + /* monochrome / color scan */ + r = sanei_genesys_get_address(reg, REG_0x04); + switch (session.params.depth) { + case 8: + r->value &= ~(REG_0x04_LINEART | REG_0x04_BITSET); + break; + case 16: + r->value &= ~REG_0x04_LINEART; + r->value |= REG_0x04_BITSET; + break; + } + + r->value &= ~(REG_0x04_FILTER | REG_0x04_AFEMOD); + if (session.params.channels == 1) + { + switch (session.params.color_filter) + { + case ColorFilter::RED: + r->value |= 0x14; + break; + case ColorFilter::BLUE: + r->value |= 0x1c; + break; + case ColorFilter::GREEN: + r->value |= 0x18; + break; + default: + break; // should not happen + } + } else { + switch (dev->frontend.layout.type) { + case FrontendType::WOLFSON: + r->value |= 0x10; // pixel by pixel + break; + case FrontendType::ANALOG_DEVICES: + r->value |= 0x20; // slow color pixel by pixel + break; + default: + throw SaneException("Invalid frontend type %d", + static_cast(dev->frontend.layout.type)); + } + } + + sanei_genesys_set_dpihw(*reg, sensor, dpihw); + + if (should_enable_gamma(session, sensor)) { + reg->find_reg(REG_0x05).value |= REG_0x05_GMMENB; + } else { + reg->find_reg(REG_0x05).value &= ~REG_0x05_GMMENB; + } + + unsigned dpiset = session.output_resolution * session.ccd_size_divisor * + ccd_pixels_per_system_pixel; + + if (sensor.dpiset_override != 0) { + dpiset = sensor.dpiset_override; + } + reg->set16(REG_DPISET, dpiset); + DBG(DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); + + reg->set16(REG_STRPIXEL, session.pixel_startx); + reg->set16(REG_ENDPIXEL, session.pixel_endx); + + /* MAXWD is expressed in 2 words unit */ + /* nousedspace = (mem_bank_range * 1024 / 256 -1 ) * 4; */ + // BUG: the division by ccd_size_divisor likely does not make sense + reg->set24(REG_MAXWD, (session.output_line_bytes / session.ccd_size_divisor) >> 1); + + reg->set16(REG_LPERIOD, exposure / tgtime); + DBG(DBG_io2, "%s: exposure used=%d\n", __func__, exposure/tgtime); + + r = sanei_genesys_get_address (reg, REG_DUMMY); + r->value = sensor.dummy_pixel; +} + +void CommandSetGl843::init_regs_for_scan_session(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const ScanSession& session) const +{ + DBG_HELPER(dbg); + session.assert_computed(); + + int exposure; + + int slope_dpi = 0; + int dummy = 0; + + /* we enable true gray for cis scanners only, and just when doing + * scan since color calibration is OK for this mode + */ + + dummy = 0; + if (dev->model->model_id == ModelId::CANON_4400F && session.params.yres == 1200) { + dummy = 1; + } + + /* slope_dpi */ + /* cis color scan is effectively a gray scan with 3 gray lines per color line and a FILTER of 0 */ + if (dev->model->is_cis) + slope_dpi = session.params.yres * session.params.channels; + else + slope_dpi = session.params.yres; + slope_dpi = slope_dpi * (1 + dummy); + + /* scan_step_type */ + exposure = sensor.exposure_lperiod; + if (exposure < 0) { + throw std::runtime_error("Exposure not defined in sensor definition"); + } + const auto& motor_profile = sanei_genesys_get_motor_profile(*gl843_motor_profiles, + dev->model->motor_id, + exposure); + + DBG(DBG_info, "%s : exposure=%d pixels\n", __func__, exposure); + DBG(DBG_info, "%s : scan_step_type=%d\n", __func__, + static_cast(motor_profile.step_type)); + + // now _LOGICAL_ optical values used are known, setup registers + gl843_init_optical_regs_scan(dev, sensor, reg, exposure, session); + + /*** motor parameters ***/ + MotorFlag mflags = MotorFlag::NONE; + if (has_flag(session.params.flags, ScanFlag::DISABLE_BUFFER_FULL_MOVE)) { + mflags |= MotorFlag::DISABLE_BUFFER_FULL_MOVE; + } + if (has_flag(session.params.flags, ScanFlag::FEEDING)) { + mflags |= MotorFlag::FEED; + } + if (has_flag(session.params.flags, ScanFlag::USE_XPA)) { + mflags |= MotorFlag::USE_XPA; + } + if (has_flag(session.params.flags, ScanFlag::REVERSE)) { + mflags |= MotorFlag::REVERSE; + } + + unsigned scan_lines = dev->model->is_cis ? session.output_line_count * session.params.channels + : session.output_line_count; + + gl843_init_motor_regs_scan(dev, sensor, reg, motor_profile, exposure, slope_dpi, + scan_lines, dummy, session.params.starty, mflags); + + dev->read_buffer.clear(); + dev->read_buffer.alloc(session.buffer_size_read); + + build_image_pipeline(dev, session); + + dev->read_active = true; + + dev->session = session; + + dev->total_bytes_read = 0; + dev->total_bytes_to_read = session.output_line_bytes_requested * session.params.lines; + + DBG(DBG_info, "%s: total bytes to send = %zu\n", __func__, dev->total_bytes_to_read); +} + +ScanSession CommandSetGl843::calculate_scan_session(const Genesys_Device* dev, + const Genesys_Sensor& sensor, + const Genesys_Settings& settings) const +{ + DBG_HELPER(dbg); + debug_dump(DBG_info, settings); + + int start; + + /* we have 2 domains for ccd: xres below or above half ccd max dpi */ + unsigned ccd_size_divisor = sensor.get_ccd_size_divisor_for_dpi(settings.xres); + + if (settings.scan_method == ScanMethod::TRANSPARENCY || + settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + start = static_cast(dev->model->x_offset_ta); + } else { + start = static_cast(dev->model->x_offset); + } + + if (dev->model->model_id == ModelId::CANON_8600F) + { + // FIXME: this is probably just an artifact of a bug elsewhere + start /= ccd_size_divisor; + } + + start += static_cast(settings.tl_x); + start = static_cast((start * sensor.optical_res) / MM_PER_INCH); + + ScanSession session; + session.params.xres = settings.xres; + session.params.yres = settings.yres; + session.params.startx = start; // not used + session.params.starty = 0; // not used + session.params.pixels = settings.pixels; + session.params.requested_pixels = settings.requested_pixels; + session.params.lines = settings.lines; + session.params.depth = settings.depth; + session.params.channels = settings.get_channels(); + session.params.scan_method = settings.scan_method; + session.params.scan_mode = settings.scan_mode; + session.params.color_filter = settings.color_filter; + session.params.flags = ScanFlag::NONE; + + compute_session(dev, session, sensor); + + return session; +} + +/** + * for fast power saving methods only, like disabling certain amplifiers + * @param dev device to use + * @param enable true to set inot powersaving + * */ +void CommandSetGl843::save_power(Genesys_Device* dev, bool enable) const +{ + DBG_HELPER_ARGS(dbg, "enable = %d", enable); + + // switch KV-SS080 lamp off + if (dev->model->gpio_id == GpioId::KVSS080) { + uint8_t val = dev->interface->read_register(REG_0x6C); + if (enable) { + val &= 0xef; + } else { + val |= 0x10; + } + dev->interface->write_register(REG_0x6C, val); + } +} + +void CommandSetGl843::set_powersaving(Genesys_Device* dev, int delay /* in minutes */) const +{ + (void) dev; + DBG_HELPER_ARGS(dbg, "delay = %d", delay); +} + +static bool gl843_get_paper_sensor(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + + uint8_t val = dev->interface->read_register(REG_0x6D); + + return (val & 0x1) == 0; +} + +void CommandSetGl843::eject_document(Genesys_Device* dev) const +{ + (void) dev; + DBG_HELPER(dbg); +} + + +void CommandSetGl843::load_document(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + (void) dev; +} + +/** + * detects end of document and adjust current scan + * to take it into account + * used by sheetfed scanners + */ +void CommandSetGl843::detect_document_end(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + bool paper_loaded = gl843_get_paper_sensor(dev); + + /* sheetfed scanner uses home sensor as paper present */ + if (dev->document && !paper_loaded) { + DBG(DBG_info, "%s: no more document\n", __func__); + dev->document = false; + + unsigned scanned_lines = 0; + catch_all_exceptions(__func__, [&](){ sanei_genesys_read_scancnt(dev, &scanned_lines); }); + + std::size_t output_lines = dev->session.output_line_count; + + std::size_t offset_lines = static_cast( + (dev->model->post_scan * dev->session.params.yres) / MM_PER_INCH); + + std::size_t scan_end_lines = scanned_lines + offset_lines; + + std::size_t remaining_lines = dev->get_pipeline_source().remaining_bytes() / + dev->session.output_line_bytes_raw; + + DBG(DBG_io, "%s: scanned_lines=%u\n", __func__, scanned_lines); + DBG(DBG_io, "%s: scan_end_lines=%zu\n", __func__, scan_end_lines); + DBG(DBG_io, "%s: output_lines=%zu\n", __func__, output_lines); + DBG(DBG_io, "%s: remaining_lines=%zu\n", __func__, remaining_lines); + + if (scan_end_lines > output_lines) { + auto skip_lines = scan_end_lines - output_lines; + + if (remaining_lines > skip_lines) { + DBG(DBG_io, "%s: skip_lines=%zu\n", __func__, skip_lines); + + remaining_lines -= skip_lines; + dev->get_pipeline_source().set_remaining_bytes(remaining_lines * + dev->session.output_line_bytes_raw); + dev->total_bytes_to_read -= skip_lines * dev->session.output_line_bytes_requested; + } + } + } +} + +// enables or disables XPA slider motor +void gl843_set_xpa_motor_power(Genesys_Device* dev, Genesys_Register_Set& regs, bool set) +{ + DBG_HELPER(dbg); + uint8_t val; + + if (dev->model->model_id == ModelId::CANON_8400F) { + + if (set) { + val = dev->interface->read_register(0x6c); + val &= ~(REG_0x6C_GPIO16 | REG_0x6C_GPIO13); + if (dev->session.output_resolution >= 2400) { + val &= ~REG_0x6C_GPIO10; + } + dev->interface->write_register(0x6c, val); + + val = dev->interface->read_register(0xa9); + val |= REG_0xA9_GPO30; + val &= ~REG_0xA9_GPO29; + dev->interface->write_register(0xa9, val); + } else { + val = dev->interface->read_register(0x6c); + val |= REG_0x6C_GPIO16 | REG_0x6C_GPIO13; + dev->interface->write_register(0x6c, val); + + val = dev->interface->read_register(0xa9); + val &= ~REG_0xA9_GPO30; + val |= REG_0xA9_GPO29; + dev->interface->write_register(0xa9, val); + } + } else if (dev->model->model_id == ModelId::CANON_8600F) { + if (set) { + val = dev->interface->read_register(REG_0x6C); + val &= ~REG_0x6C_GPIO14; + if (dev->session.output_resolution >= 2400) { + val |= REG_0x6C_GPIO10; + } + dev->interface->write_register(REG_0x6C, val); + + val = dev->interface->read_register(REG_0xA6); + val |= REG_0xA6_GPIO17; + val &= ~REG_0xA6_GPIO23; + dev->interface->write_register(REG_0xA6, val); + } else { + val = dev->interface->read_register(REG_0x6C); + val |= REG_0x6C_GPIO14; + val &= ~REG_0x6C_GPIO10; + dev->interface->write_register(REG_0x6C, val); + + val = dev->interface->read_register(REG_0xA6); + val &= ~REG_0xA6_GPIO17; + val &= ~REG_0xA6_GPIO23; + dev->interface->write_register(REG_0xA6, val); + } + } else if (dev->model->model_id == ModelId::HP_SCANJET_G4050) { + if (set) { + // set MULTFILM et GPOADF + val = dev->interface->read_register(REG_0x6B); + val |=REG_0x6B_MULTFILM|REG_0x6B_GPOADF; + dev->interface->write_register(REG_0x6B, val); + + val = dev->interface->read_register(REG_0x6C); + val &= ~REG_0x6C_GPIO15; + dev->interface->write_register(REG_0x6C, val); + + /* Motor power ? No move at all without this one */ + val = dev->interface->read_register(REG_0xA6); + val |= REG_0xA6_GPIO20; + dev->interface->write_register(REG_0xA6, val); + + val = dev->interface->read_register(REG_0xA8); + val &= ~REG_0xA8_GPO27; + dev->interface->write_register(REG_0xA8, val); + + val = dev->interface->read_register(REG_0xA9); + val |= REG_0xA9_GPO32|REG_0xA9_GPO31; + dev->interface->write_register(REG_0xA9, val); + } else { + // unset GPOADF + val = dev->interface->read_register(REG_0x6B); + val &= ~REG_0x6B_GPOADF; + dev->interface->write_register(REG_0x6B, val); + + val = dev->interface->read_register(REG_0xA8); + val |= REG_0xA8_GPO27; + dev->interface->write_register(REG_0xA8, val); + + val = dev->interface->read_register(REG_0xA9); + val &= ~REG_0xA9_GPO31; + dev->interface->write_register(REG_0xA9, val); + } + } + regs.state.is_xpa_motor_on = set; +} + + +/** @brief light XPA lamp + * toggle gpios to switch off regular lamp and light on the + * XPA light + * @param dev device to set up + */ +static void gl843_set_xpa_lamp_power(Genesys_Device* dev, bool set) +{ + DBG_HELPER(dbg); + + struct LampSettings { + ModelId model_id; + ScanMethod scan_method; + GenesysRegisterSettingSet regs_on; + GenesysRegisterSettingSet regs_off; + }; + + // FIXME: BUG: we're not clearing the registers to the previous state when returning back when + // turning off the lamp + LampSettings settings[] = { + { ModelId::CANON_8400F, ScanMethod::TRANSPARENCY, { + { 0xa6, 0x34, 0xf4 }, + }, { + { 0xa6, 0x40, 0x70 }, + } + }, + { ModelId::CANON_8400F, ScanMethod::TRANSPARENCY_INFRARED, { + { 0x6c, 0x40, 0x40 }, + { 0xa6, 0x01, 0xff }, + }, { + { 0x6c, 0x00, 0x40 }, + { 0xa6, 0x00, 0xff }, + } + }, + { ModelId::CANON_8600F, ScanMethod::TRANSPARENCY, { + { 0xa6, 0x34, 0xf4 }, + { 0xa7, 0xe0, 0xe0 }, + }, { + { 0xa6, 0x40, 0x70 }, + } + }, + { ModelId::CANON_8600F, ScanMethod::TRANSPARENCY_INFRARED, { + { 0xa6, 0x00, 0xc0 }, + { 0xa7, 0xe0, 0xe0 }, + { 0x6c, 0x80, 0x80 }, + }, { + { 0xa6, 0x00, 0xc0 }, + { 0x6c, 0x00, 0x80 }, + } + }, + { ModelId::PLUSTEK_OPTICFILM_7200I, ScanMethod::TRANSPARENCY, { + }, { + { 0xa6, 0x40, 0x70 }, // BUG: remove this cleanup write, it was enabled by accident + } + }, + { ModelId::PLUSTEK_OPTICFILM_7200I, ScanMethod::TRANSPARENCY_INFRARED, { + { 0xa8, 0x07, 0x07 }, + }, { + { 0xa8, 0x00, 0x07 }, + } + }, + { ModelId::PLUSTEK_OPTICFILM_7300, ScanMethod::TRANSPARENCY, {}, {} }, + { ModelId::PLUSTEK_OPTICFILM_7500I, ScanMethod::TRANSPARENCY, {}, {} }, + { ModelId::PLUSTEK_OPTICFILM_7500I, ScanMethod::TRANSPARENCY_INFRARED, { + { 0xa8, 0x07, 0x07 }, + }, { + { 0xa8, 0x00, 0x07 }, + } + }, + }; + + for (const auto& setting : settings) { + if (setting.model_id == dev->model->model_id && + setting.scan_method == dev->settings.scan_method) + { + apply_reg_settings_to_device(*dev, set ? setting.regs_on : setting.regs_off); + return; + } + } + + // BUG: we're currently calling the function in shut down path of regular lamp + if (set) { + throw SaneException("Unexpected code path entered"); + } + + GenesysRegisterSettingSet regs = { + { 0xa6, 0x40, 0x70 }, + }; + apply_reg_settings_to_device(*dev, regs); + // TODO: throw exception when we're only calling this function in error return path + // throw SaneException("Could not find XPA lamp settings"); +} + +// Send the low-level scan command +void CommandSetGl843::begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, bool start_motor) const +{ + DBG_HELPER(dbg); + (void) sensor; + + /* set up GPIO for scan */ + switch(dev->model->gpio_id) { + /* KV case */ + case GpioId::KVSS080: + dev->interface->write_register(REG_0xA9, 0x00); + dev->interface->write_register(REG_0xA6, 0xf6); + // blinking led + dev->interface->write_register(0x7e, 0x04); + break; + case GpioId::G4050: + dev->interface->write_register(REG_0xA7, 0xfe); + dev->interface->write_register(REG_0xA8, 0x3e); + dev->interface->write_register(REG_0xA9, 0x06); + if ((reg->get8(0x05) & REG_0x05_DPIHW) == REG_0x05_DPIHW_600) { + dev->interface->write_register(REG_0x6C, 0x20); + dev->interface->write_register(REG_0xA6, 0x44); + } else { + dev->interface->write_register(REG_0x6C, 0x60); + dev->interface->write_register(REG_0xA6, 0x46); + } + + if (reg->state.is_xpa_on && reg->state.is_lamp_on) { + gl843_set_xpa_lamp_power(dev, true); + } + + if (reg->state.is_xpa_on) { + gl843_set_xpa_motor_power(dev, *reg, true); + } + + // blinking led + dev->interface->write_register(REG_0x7E, 0x01); + break; + case GpioId::CANON_8400F: + case GpioId::CANON_8600F: + if (reg->state.is_xpa_on && reg->state.is_lamp_on) { + gl843_set_xpa_lamp_power(dev, true); + } + if (reg->state.is_xpa_on) { + gl843_set_xpa_motor_power(dev, *reg, true); + } + break; + case GpioId::PLUSTEK_OPTICFILM_7200I: + case GpioId::PLUSTEK_OPTICFILM_7300: + case GpioId::PLUSTEK_OPTICFILM_7500I: { + if (reg->state.is_xpa_on && reg->state.is_lamp_on) { + gl843_set_xpa_lamp_power(dev, true); + } + break; + } + case GpioId::CANON_4400F: + default: + break; + } + + // clear scan and feed count + dev->interface->write_register(REG_0x0D, REG_0x0D_CLRLNCNT | REG_0x0D_CLRMCNT); + + // enable scan and motor + uint8_t val = dev->interface->read_register(REG_0x01); + val |= REG_0x01_SCAN; + dev->interface->write_register(REG_0x01, val); + + scanner_start_action(*dev, start_motor); + + if (reg->state.is_motor_on) { + dev->advance_head_pos_by_session(ScanHeadId::PRIMARY); + } + if (reg->state.is_xpa_motor_on) { + dev->advance_head_pos_by_session(ScanHeadId::SECONDARY); + } +} + + +// Send the stop scan command +void CommandSetGl843::end_scan(Genesys_Device* dev, Genesys_Register_Set* reg, + bool check_stop) const +{ + DBG_HELPER_ARGS(dbg, "check_stop = %d", check_stop); + + // post scan gpio + dev->interface->write_register(0x7e, 0x00); + + // turn off XPA lamp if needed + // BUG: the if condition below probably shouldn't be enabled when XPA is off + if (reg->state.is_xpa_on || reg->state.is_lamp_on) { + gl843_set_xpa_lamp_power(dev, false); + } + + if (!dev->model->is_sheetfed) { + scanner_stop_action(*dev); + } +} + +/** @brief Moves the slider to the home (top) position slowly + * */ +void CommandSetGl843::move_back_home(Genesys_Device* dev, bool wait_until_home) const +{ + scanner_move_back_home(*dev, wait_until_home); +} + +// Automatically set top-left edge of the scan area by scanning a 200x200 pixels area at 600 dpi +// from very top of scanner +void CommandSetGl843::search_start_position(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + Genesys_Register_Set local_reg; + + int pixels = 600; + int dpi = 300; + + local_reg = dev->reg; + + /* sets for a 200 lines * 600 pixels */ + /* normal scan with no shading */ + + // FIXME: the current approach of doing search only for one resolution does not work on scanners + // whith employ different sensors with potentially different settings. + const auto& sensor = sanei_genesys_find_sensor(dev, dpi, 1, dev->model->default_method); + + ScanSession session; + session.params.xres = dpi; + session.params.yres = dpi; + session.params.startx = 0; + session.params.starty = 0; // we should give a small offset here - ~60 steps + session.params.pixels = 600; + session.params.lines = dev->model->search_lines; + session.params.depth = 8; + session.params.channels = 1; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::GRAY; + session.params.color_filter = ColorFilter::GREEN; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::IGNORE_LINE_DISTANCE | + ScanFlag::DISABLE_BUFFER_FULL_MOVE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, &local_reg, session); + + // send to scanner + dev->interface->write_registers(local_reg); + + dev->cmd_set->begin_scan(dev, sensor, &local_reg, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("search_start_position"); + end_scan(dev, &local_reg, true); + dev->reg = local_reg; + return; + } + + wait_until_buffer_non_empty(dev); + + // now we're on target, we can read data + Image image = read_unshuffled_image_from_scanner(dev, session, session.output_total_bytes_raw); + + scanner_stop_action_no_move(*dev, local_reg); + + if (DBG_LEVEL >= DBG_data) { + sanei_genesys_write_pnm_file("gl843_search_position.pnm", image); + } + + dev->cmd_set->end_scan(dev, &local_reg, true); + + /* update regs to copy ASIC internal state */ + dev->reg = local_reg; + + for (auto& sensor_update : + sanei_genesys_find_sensors_all_for_write(dev, dev->model->default_method)) + { + sanei_genesys_search_reference_point(dev, sensor_update, image.get_row_ptr(0), 0, dpi, + pixels, dev->model->search_lines); + } +} + +// sets up register for coarse gain calibration +// todo: check it for scanners using it +void CommandSetGl843::init_regs_for_coarse_calibration(Genesys_Device* dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + + ScanFlag flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) { + flags |= ScanFlag::USE_XPA; + } + + ScanSession session; + session.params.xres = dev->settings.xres; + session.params.yres = dev->settings.yres; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = sensor.optical_res / sensor.ccd_pixels_per_system_pixel(); + session.params.lines = 20; + session.params.depth = 16; + session.params.channels = dev->settings.get_channels(); + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = flags; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, ®s, session); + + sanei_genesys_set_motor_power(regs, false); + + DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, + sensor.optical_res / sensor.ccd_pixels_per_system_pixel(), dev->settings.xres); + + dev->interface->write_registers(regs); +} + +// init registers for shading calibration shading calibration is done at dpihw +void CommandSetGl843::init_regs_for_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + int move, resolution, dpihw, factor; + + /* initial calibration reg values */ + regs = dev->reg; + + dev->calib_channels = 3; + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + dev->calib_lines = dev->model->shading_ta_lines; + } else { + dev->calib_lines = dev->model->shading_lines; + } + + dpihw = sensor.get_logical_hwdpi(dev->settings.xres); + factor=sensor.optical_res/dpihw; + resolution=dpihw; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, dev->calib_channels, + dev->settings.scan_method); + + if ((dev->settings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) && + dev->model->model_id == ModelId::CANON_8600F && + dev->settings.xres == 4800) + { + float offset = static_cast(dev->model->x_offset_ta); + offset /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); + offset = static_cast((offset * calib_sensor.optical_res) / MM_PER_INCH); + + float size = static_cast(dev->model->x_size_ta); + size /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); + size = static_cast((size * calib_sensor.optical_res) / MM_PER_INCH); + + dev->calib_pixels_offset = static_cast(offset); + dev->calib_pixels = static_cast(size); + } + else + { + dev->calib_pixels_offset = 0; + dev->calib_pixels = calib_sensor.sensor_pixels / factor; + } + + dev->calib_resolution = resolution; + + ScanFlag flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::DISABLE_BUFFER_FULL_MOVE | + ScanFlag::IGNORE_LINE_DISTANCE; + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + // note: move_to_ta() function has already been called and the sensor is at the + // transparency adapter + move = static_cast(dev->model->y_offset_calib_white_ta - dev->model->y_offset_sensor_to_ta); + flags |= ScanFlag::USE_XPA; + } else { + move = static_cast(dev->model->y_offset_calib_white); + } + + move = static_cast((move * resolution) / MM_PER_INCH); + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = dev->calib_pixels_offset; + session.params.starty = move; + session.params.pixels = dev->calib_pixels; + session.params.lines = dev->calib_lines; + session.params.depth = 16; + session.params.channels = dev->calib_channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = flags; + compute_session(dev, session, calib_sensor); + + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + + // the pixel number may be updated to conform to scanner constraints + dev->calib_pixels = session.output_pixels; + + dev->calib_session = session; + dev->calib_total_bytes_to_read = session.output_total_bytes_raw; + + dev->interface->write_registers(regs); +} + +/** @brief set up registers for the actual scan + */ +void CommandSetGl843::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sensor& sensor) const +{ + DBG_HELPER(dbg); + float move; + int move_dpi; + float start; + + debug_dump(DBG_info, dev->settings); + + move_dpi = dev->motor.base_ydpi; + + ScanFlag flags = ScanFlag::NONE; + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + // note: move_to_ta() function has already been called and the sensor is at the + // transparency adapter + if (dev->ignore_offsets) { + move = 0; + } else { + move = static_cast(dev->model->y_offset_ta - dev->model->y_offset_sensor_to_ta); + } + flags |= ScanFlag::USE_XPA; + } else { + if (dev->ignore_offsets) { + move = 0; + } else { + move = static_cast(dev->model->y_offset); + } + } + + move += static_cast(dev->settings.tl_y); + move = static_cast((move * move_dpi) / MM_PER_INCH); + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + /* start */ + if (dev->settings.scan_method==ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + start = static_cast(dev->model->x_offset_ta); + } else { + start = static_cast(dev->model->x_offset); + } + + if (dev->model->model_id == ModelId::CANON_8400F || + dev->model->model_id == ModelId::CANON_8600F) + { + // FIXME: this is probably just an artifact of a bug elsewhere + start /= sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres); + } + + start = static_cast(start + dev->settings.tl_x); + start = static_cast((start * sensor.optical_res) / MM_PER_INCH); + + ScanSession session; + session.params.xres = dev->settings.xres; + session.params.yres = dev->settings.yres; + session.params.startx = static_cast(start); + session.params.starty = static_cast(move); + session.params.pixels = dev->settings.pixels; + session.params.requested_pixels = dev->settings.requested_pixels; + session.params.lines = dev->settings.lines; + session.params.depth = dev->settings.depth; + session.params.channels = dev->settings.get_channels(); + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = flags; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, &dev->reg, session); +} + +/** + * This function sends gamma tables to ASIC + */ +void CommandSetGl843::send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) const +{ + DBG_HELPER(dbg); + int size; + int i; + + size = 256; + + /* allocate temporary gamma tables: 16 bits words, 3 channels */ + std::vector gamma(size * 2 * 3); + + std::vector rgamma = get_gamma_table(dev, sensor, GENESYS_RED); + std::vector ggamma = get_gamma_table(dev, sensor, GENESYS_GREEN); + std::vector bgamma = get_gamma_table(dev, sensor, GENESYS_BLUE); + + // copy sensor specific's gamma tables + for (i = 0; i < size; i++) { + gamma[i * 2 + size * 0 + 0] = rgamma[i] & 0xff; + gamma[i * 2 + size * 0 + 1] = (rgamma[i] >> 8) & 0xff; + gamma[i * 2 + size * 2 + 0] = ggamma[i] & 0xff; + gamma[i * 2 + size * 2 + 1] = (ggamma[i] >> 8) & 0xff; + gamma[i * 2 + size * 4 + 0] = bgamma[i] & 0xff; + gamma[i * 2 + size * 4 + 1] = (bgamma[i] >> 8) & 0xff; + } + + dev->interface->write_gamma(0x28, 0x0000, gamma.data(), size * 2 * 3, + ScannerInterface::FLAG_SWAP_REGISTERS); +} + +/* this function does the led calibration by scanning one line of the calibration + area below scanner's top on white strip. + +-needs working coarse/gain +*/ +SensorExposure CommandSetGl843::led_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + int num_pixels; + int avg[3], avga, avge; + int turn; + uint16_t expr, expg, expb; + + // offset calibration is always done in color mode + unsigned channels = 3; + + // take a copy, as we're going to modify exposure + auto calib_sensor = sanei_genesys_find_sensor(dev, sensor.optical_res, channels, + dev->settings.scan_method); + + num_pixels = (calib_sensor.sensor_pixels * calib_sensor.optical_res) / calib_sensor.optical_res; + + /* initial calibration reg values */ + regs = dev->reg; + + ScanSession session; + session.params.xres = calib_sensor.sensor_pixels; + session.params.yres = dev->motor.base_ydpi; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = num_pixels; + session.params.lines = 1; + session.params.depth = 16; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, calib_sensor); + + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + + dev->interface->write_registers(regs); + +/* + we try to get equal bright leds here: + + loop: + average per color + adjust exposure times + */ + + expr = calib_sensor.exposure.red; + expg = calib_sensor.exposure.green; + expb = calib_sensor.exposure.blue; + + turn = 0; + + bool acceptable = false; + do + { + + calib_sensor.exposure.red = expr; + calib_sensor.exposure.green = expg; + calib_sensor.exposure.blue = expb; + + regs_set_exposure(dev->model->asic_type, regs, calib_sensor.exposure); + + dev->interface->write_registers(regs); + + DBG(DBG_info, "%s: starting first line reading\n", __func__); + dev->cmd_set->begin_scan(dev, calib_sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("led_calibration"); + move_back_home(dev, true); + return calib_sensor.exposure; + } + + auto image = read_unshuffled_image_from_scanner(dev, session, + session.output_total_bytes_raw); + scanner_stop_action_no_move(*dev, regs); + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + std::snprintf(fn, 30, "gl843_led_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, image); + } + + acceptable = true; + + for (unsigned ch = 0; ch < channels; ch++) { + avg[ch] = 0; + for (std::size_t x = 0; x < image.get_width(); x++) { + avg[ch] += image.get_raw_channel(x, 0, ch); + } + avg[ch] /= image.get_width(); + } + + DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); + + acceptable = true; + + if (avg[0] < avg[1] * 0.95 || avg[1] < avg[0] * 0.95 || + avg[0] < avg[2] * 0.95 || avg[2] < avg[0] * 0.95 || + avg[1] < avg[2] * 0.95 || avg[2] < avg[1] * 0.95) + acceptable = false; + + if (!acceptable) + { + avga = (avg[0] + avg[1] + avg[2]) / 3; + expr = (expr * avga) / avg[0]; + expg = (expg * avga) / avg[1]; + expb = (expb * avga) / avg[2]; +/* + keep the resulting exposures below this value. + too long exposure drives the ccd into saturation. + we may fix this by relying on the fact that + we get a striped scan without shading, by means of + statistical calculation +*/ + avge = (expr + expg + expb) / 3; + + /* don't overflow max exposure */ + if (avge > 3000) + { + expr = (expr * 2000) / avge; + expg = (expg * 2000) / avge; + expb = (expb * 2000) / avge; + } + if (avge < 50) + { + expr = (expr * 50) / avge; + expg = (expg * 50) / avge; + expb = (expb * 50) / avge; + } + + } + scanner_stop_action(*dev); + + turn++; + + } + while (!acceptable && turn < 100); + + DBG(DBG_info, "%s: acceptable exposure: %d,%d,%d\n", __func__, expr, expg, expb); + + move_back_home(dev, true); + + return calib_sensor.exposure; +} + + + +/** + * average dark pixels of a 8 bits scan of a given channel + */ +static int dark_average_channel(const Image& image, unsigned black, unsigned channel) +{ + auto channels = get_pixel_channels(image.get_format()); + + unsigned avg[3]; + + // computes average values on black margin + for (unsigned ch = 0; ch < channels; ch++) { + avg[ch] = 0; + unsigned count = 0; + // FIXME: start with the second line because the black pixels often have noise on the first + // line; the cause is probably incorrectly cleaned up previous scan + for (std::size_t y = 1; y < image.get_height(); y++) { + for (unsigned j = 0; j < black; j++) { + avg[ch] += image.get_raw_channel(j, y, ch); + count++; + } + } + if (count > 0) { + avg[ch] /= count; + } + DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, ch, avg[ch]); + } + DBG(DBG_info, "%s: average = %d\n", __func__, avg[channel]); + return avg[channel]; +} + +/** @brief calibrate AFE offset + * Iterate doing scans at target dpi until AFE offset if correct. One + * color line is scanned at a time. Scanning head doesn't move. + * @param dev device to calibrate + */ +void CommandSetGl843::offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + + if (dev->frontend.layout.type != FrontendType::WOLFSON) + return; + + unsigned channels; + int pass, resolution, lines; + int topavg[3], bottomavg[3], avg[3]; + int top[3], bottom[3], black_pixels, pixels, factor, dpihw; + + /* offset calibration is always done in color mode */ + channels = 3; + lines = 8; + + // compute divider factor to compute final pixels number + dpihw = sensor.get_logical_hwdpi(dev->settings.xres); + factor = sensor.optical_res / dpihw; + resolution = dpihw; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, channels, + dev->settings.scan_method); + + int target_pixels = calib_sensor.sensor_pixels / factor; + int start_pixel = 0; + black_pixels = calib_sensor.black_pixels / factor; + + if ((dev->settings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) && + dev->model->model_id == ModelId::CANON_8600F && + dev->settings.xres == 4800) + { + start_pixel = static_cast(dev->model->x_offset_ta); + start_pixel /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); + start_pixel = static_cast((start_pixel * calib_sensor.optical_res) / MM_PER_INCH); + + target_pixels = static_cast(dev->model->x_size_ta); + target_pixels /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); + target_pixels = static_cast((target_pixels * calib_sensor.optical_res) / MM_PER_INCH); + } + + ScanFlag flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + + if (dev->settings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + flags |= ScanFlag::USE_XPA; + } + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = start_pixel; + session.params.starty = 0; + session.params.pixels = target_pixels; + session.params.lines = lines; + session.params.depth = 8; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = ColorFilter::RED; + session.params.flags = flags; + compute_session(dev, session, calib_sensor); + pixels = session.output_pixels; + + DBG(DBG_io, "%s: dpihw =%d\n", __func__, dpihw); + DBG(DBG_io, "%s: factor =%d\n", __func__, factor); + DBG(DBG_io, "%s: resolution =%d\n", __func__, resolution); + DBG(DBG_io, "%s: pixels =%d\n", __func__, pixels); + DBG(DBG_io, "%s: black_pixels=%d\n", __func__, black_pixels); + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + + sanei_genesys_set_motor_power(regs, false); + + // init gain and offset + for (unsigned ch = 0; ch < 3; ch++) + { + bottom[ch] = 10; + dev->frontend.set_offset(ch, bottom[ch]); + dev->frontend.set_gain(ch, 0); + } + dev->cmd_set->set_fe(dev, calib_sensor, AFE_SET); + + // scan with bottom AFE settings + dev->interface->write_registers(regs); + DBG(DBG_info, "%s: starting first line reading\n", __func__); + + dev->cmd_set->begin_scan(dev, calib_sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("offset_calibration"); + scanner_stop_action_no_move(*dev, regs); + return; + } + + auto first_line = read_unshuffled_image_from_scanner(dev, session, + session.output_total_bytes_raw); + scanner_stop_action_no_move(*dev, regs); + + if (DBG_LEVEL >= DBG_data) + { + char fn[40]; + std::snprintf(fn, 40, "gl843_bottom_offset_%03d_%03d_%03d.pnm", + bottom[0], bottom[1], bottom[2]); + sanei_genesys_write_pnm_file(fn, first_line); + } + + for (unsigned ch = 0; ch < 3; ch++) { + bottomavg[ch] = dark_average_channel(first_line, black_pixels, ch); + DBG(DBG_io2, "%s: bottom avg %d=%d\n", __func__, ch, bottomavg[ch]); + } + + // now top value + for (unsigned ch = 0; ch < 3; ch++) { + top[ch] = 255; + dev->frontend.set_offset(ch, top[ch]); + } + dev->cmd_set->set_fe(dev, calib_sensor, AFE_SET); + + // scan with top AFE values + dev->interface->write_registers(regs); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + + dev->cmd_set->begin_scan(dev, calib_sensor, ®s, true); + auto second_line = read_unshuffled_image_from_scanner(dev, session, + session.output_total_bytes_raw); + scanner_stop_action_no_move(*dev, regs); + + for (unsigned ch = 0; ch < 3; ch++){ + topavg[ch] = dark_average_channel(second_line, black_pixels, ch); + DBG(DBG_io2, "%s: top avg %d=%d\n", __func__, ch, topavg[ch]); + } + + pass = 0; + + std::vector debug_image; + size_t debug_image_lines = 0; + std::string debug_image_info; + + /* loop until acceptable level */ + while ((pass < 32) + && ((top[0] - bottom[0] > 1) + || (top[1] - bottom[1] > 1) || (top[2] - bottom[2] > 1))) + { + pass++; + + // settings for new scan + for (unsigned ch = 0; ch < 3; ch++) { + if (top[ch] - bottom[ch] > 1) { + dev->frontend.set_offset(ch, (top[ch] + bottom[ch]) / 2); + } + } + dev->cmd_set->set_fe(dev, calib_sensor, AFE_SET); + + // scan with no move + dev->interface->write_registers(regs); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + dev->cmd_set->begin_scan(dev, calib_sensor, ®s, true); + second_line = read_unshuffled_image_from_scanner(dev, session, + session.output_total_bytes_raw); + scanner_stop_action_no_move(*dev, regs); + + if (DBG_LEVEL >= DBG_data) + { + char title[100]; + std::snprintf(title, 100, "lines: %d pixels_per_line: %d offsets[0..2]: %d %d %d\n", + lines, pixels, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); + debug_image_info += title; + std::copy(second_line.get_row_ptr(0), + second_line.get_row_ptr(0) + second_line.get_row_bytes() * second_line.get_height(), + std::back_inserter(debug_image)); + debug_image_lines += lines; + } + + for (unsigned ch = 0; ch < 3; ch++) { + avg[ch] = dark_average_channel(second_line, black_pixels, ch); + DBG(DBG_info, "%s: avg[%d]=%d offset=%d\n", __func__, ch, avg[ch], + dev->frontend.get_offset(ch)); + } + + // compute new boundaries + for (unsigned ch = 0; ch < 3; ch++) { + if (topavg[ch] >= avg[ch]) { + topavg[ch] = avg[ch]; + top[ch] = dev->frontend.get_offset(ch); + } else { + bottomavg[ch] = avg[ch]; + bottom[ch] = dev->frontend.get_offset(ch); + } + } + } + + if (DBG_LEVEL >= DBG_data) + { + sanei_genesys_write_file("gl843_offset_all_desc.txt", + reinterpret_cast(debug_image_info.data()), + debug_image_info.size()); + sanei_genesys_write_pnm_file("gl843_offset_all.pnm", + debug_image.data(), session.params.depth, channels, pixels, + debug_image_lines); + } + + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); +} + + +/* alternative coarse gain calibration + this on uses the settings from offset_calibration and + uses only one scanline + */ +/* + with offset and coarse calibration we only want to get our input range into + a reasonable shape. the fine calibration of the upper and lower bounds will + be done with shading. + */ +void CommandSetGl843::coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) const +{ + DBG_HELPER_ARGS(dbg, "dpi = %d", dpi); + int factor, dpihw; + float coeff; + int lines; + int resolution; + + if (dev->frontend.layout.type != FrontendType::WOLFSON) + return; + + dpihw = sensor.get_logical_hwdpi(dpi); + factor=sensor.optical_res/dpihw; + + // coarse gain calibration is always done in color mode + unsigned channels = 3; + + /* follow CKSEL */ + if (dev->model->sensor_id == SensorId::CCD_KVSS080) { + if(dev->settings.xressettings.scan_method == ScanMethod::TRANSPARENCY || + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + flags |= ScanFlag::USE_XPA; + } + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, channels, + dev->settings.scan_method); + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = target_pixels; + session.params.lines = lines; + session.params.depth = 8; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = flags; + compute_session(dev, session, calib_sensor); + std::size_t pixels = session.output_pixels; + + try { + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + } catch (...) { + catch_all_exceptions(__func__, [&](){ sanei_genesys_set_motor_power(regs, false); }); + throw; + } + + sanei_genesys_set_motor_power(regs, false); + + dev->interface->write_registers(regs); + + dev->cmd_set->set_fe(dev, calib_sensor, AFE_SET); + dev->cmd_set->begin_scan(dev, calib_sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("coarse_gain_calibration"); + scanner_stop_action(*dev); + move_back_home(dev, true); + return; + } + + auto line = read_unshuffled_image_from_scanner(dev, session, session.output_total_bytes_raw); + scanner_stop_action_no_move(*dev, regs); + + if (DBG_LEVEL >= DBG_data) { + sanei_genesys_write_pnm_file("gl843_gain.pnm", line); + } + + // average value on each channel + for (unsigned ch = 0; ch < channels; ch++) { + + std::vector values; + // FIXME: start from the second line because the first line often has artifacts. Probably + // caused by unclean cleanup of previous scan + for (std::size_t x = pixels / 4; x < (pixels * 3 / 4); x++) { + values.push_back(line.get_raw_channel(x, 1, ch)); + } + + // pick target value at 95th percentile of all values. There may be a lot of black values + // in transparency scans for example + std::sort(values.begin(), values.end()); + uint16_t curr_output = values[unsigned((values.size() - 1) * 0.95)]; + float target_value = calib_sensor.gain_white_ref * coeff; + + int code = compute_frontend_gain(curr_output, target_value, dev->frontend.layout.type); + dev->frontend.set_gain(ch, code); + + DBG(DBG_proc, "%s: channel %d, max=%d, target=%d, setting:%d\n", __func__, ch, curr_output, + static_cast(target_value), code); + } + + if (dev->model->is_cis) { + uint8_t gain0 = dev->frontend.get_gain(0); + if (gain0 > dev->frontend.get_gain(1)) { + gain0 = dev->frontend.get_gain(1); + } + if (gain0 > dev->frontend.get_gain(2)) { + gain0 = dev->frontend.get_gain(2); + } + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain0); + dev->frontend.set_gain(2, gain0); + } + + if (channels == 1) { + dev->frontend.set_gain(0, dev->frontend.get_gain(1)); + dev->frontend.set_gain(2, dev->frontend.get_gain(1)); + } + + scanner_stop_action(*dev); + + move_back_home(dev, true); +} + +// wait for lamp warmup by scanning the same line until difference +// between 2 scans is below a threshold +void CommandSetGl843::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, int* channels, + int* total_size) const +{ + DBG_HELPER(dbg); + int num_pixels; + int dpihw; + int resolution; + int factor; + + /* setup scan */ + *channels=3; + resolution=600; + dpihw = sensor.get_logical_hwdpi(resolution); + resolution=dpihw; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, *channels, + dev->settings.scan_method); + factor = calib_sensor.optical_res/dpihw; + num_pixels = calib_sensor.sensor_pixels/(factor*2); + *total_size = num_pixels * 3 * 1; + + *reg = dev->reg; + + ScanSession session; + session.params.xres = resolution; + session.params.yres = resolution; + session.params.startx = num_pixels/2; + session.params.starty = 0; + session.params.pixels = num_pixels; + session.params.lines = 1; + session.params.depth = 8; + session.params.channels = *channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, calib_sensor); + + init_regs_for_scan_session(dev, calib_sensor, reg, session); + + sanei_genesys_set_motor_power(*reg, false); + dev->interface->write_registers(*reg); +} + +/** + * set up GPIO/GPOE for idle state +WRITE GPIO[17-21]= GPIO19 +WRITE GPOE[17-21]= GPOE21 GPOE20 GPOE19 GPOE18 +genesys_write_register(0xa8,0x3e) +GPIO(0xa8)=0x3e + */ +static void gl843_init_gpio(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + apply_registers_ordered(dev->gpo.regs, { 0x6e, 0x6f }, [&](const GenesysRegisterSetting& reg) + { + dev->interface->write_register(reg.address, reg.value); + }); +} + + +/* * + * initialize ASIC from power on condition + */ +void CommandSetGl843::asic_boot(Genesys_Device* dev, bool cold) const +{ + DBG_HELPER(dbg); + uint8_t val; + + if (cold) { + dev->interface->write_register(0x0e, 0x01); + dev->interface->write_register(0x0e, 0x00); + } + + if(dev->usb_mode == 1) + { + val = 0x14; + } + else + { + val = 0x11; + } + dev->interface->write_0x8c(0x0f, val); + + // test CHKVER + val = dev->interface->read_register(REG_0x40); + if (val & REG_0x40_CHKVER) { + val = dev->interface->read_register(0x00); + DBG(DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); + } + + /* Set default values for registers */ + gl843_init_registers (dev); + + if (dev->model->model_id == ModelId::CANON_8600F) { + // turns on vref control for maximum current of the motor driver + dev->interface->write_register(REG_0x6B, 0x72); + } else { + dev->interface->write_register(REG_0x6B, 0x02); + } + + // Write initial registers + dev->interface->write_registers(dev->reg); + + // Enable DRAM by setting a rising edge on bit 3 of reg 0x0b + val = dev->reg.find_reg(0x0b).value & REG_0x0B_DRAMSEL; + val = (val | REG_0x0B_ENBDRAM); + dev->interface->write_register(REG_0x0B, val); + dev->reg.find_reg(0x0b).value = val; + + if (dev->model->model_id == ModelId::CANON_8400F) { + dev->interface->write_0x8c(0x1e, 0x01); + dev->interface->write_0x8c(0x10, 0xb4); + dev->interface->write_0x8c(0x0f, 0x02); + } + else if (dev->model->model_id == ModelId::CANON_8600F) { + dev->interface->write_0x8c(0x10, 0xc8); + } else if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7300 || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7500I) + { + dev->interface->write_0x8c(0x10, 0xd4); + } else { + dev->interface->write_0x8c(0x10, 0xb4); + } + + /* CLKSET */ + int clock_freq = REG_0x0B_48MHZ; + switch (dev->model->model_id) { + case ModelId::CANON_8600F: + clock_freq = REG_0x0B_60MHZ; + break; + case ModelId::PLUSTEK_OPTICFILM_7200I: + clock_freq = REG_0x0B_30MHZ; + break; + case ModelId::PLUSTEK_OPTICFILM_7300: + case ModelId::PLUSTEK_OPTICFILM_7500I: + clock_freq = REG_0x0B_40MHZ; + break; + default: + break; + } + + val = (dev->reg.find_reg(0x0b).value & ~REG_0x0B_CLKSET) | clock_freq; + + dev->interface->write_register(REG_0x0B, val); + dev->reg.find_reg(0x0b).value = val; + + /* prevent further writings by bulk write register */ + dev->reg.remove_reg(0x0b); + + if (dev->model->model_id != ModelId::CANON_8600F) { + // set up end access + // FIXME: this is overwritten in gl843_init_gpio + dev->interface->write_register(REG_0xA7, 0x04); + dev->interface->write_register(REG_0xA9, 0x00); + } + + // set RAM read address + dev->interface->write_register(REG_0x29, 0x00); + dev->interface->write_register(REG_0x2A, 0x00); + dev->interface->write_register(REG_0x2B, 0x00); + + // setup gpio + gl843_init_gpio(dev); + + scanner_move(*dev, dev->model->default_method, 300, Direction::FORWARD); + dev->interface->sleep_ms(100); +} + +/* * + * initialize backend and ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home + */ +void CommandSetGl843::init(Genesys_Device* dev) const +{ + DBG_INIT (); + DBG_HELPER(dbg); + + sanei_genesys_asic_init(dev, 0); +} + +void CommandSetGl843::update_hardware_sensors(Genesys_Scanner* s) const +{ + DBG_HELPER(dbg); + /* do what is needed to get a new set of events, but try to not lose + any of them. + */ + + uint8_t val = s->dev->interface->read_register(REG_0x6D); + + switch (s->dev->model->gpio_id) + { + case GpioId::KVSS080: + s->buttons[BUTTON_SCAN_SW].write((val & 0x04) == 0); + break; + case GpioId::G4050: + s->buttons[BUTTON_SCAN_SW].write((val & 0x01) == 0); + s->buttons[BUTTON_FILE_SW].write((val & 0x02) == 0); + s->buttons[BUTTON_EMAIL_SW].write((val & 0x04) == 0); + s->buttons[BUTTON_COPY_SW].write((val & 0x08) == 0); + break; + case GpioId::CANON_4400F: + case GpioId::CANON_8400F: + default: + break; + } +} + +/** @brief move sensor to transparency adaptor + * Move sensor to the calibration of the transparency adapator (XPA). + * @param dev device to use + */ +void CommandSetGl843::move_to_ta(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + + const auto& resolution_settings = dev->model->get_resolution_settings(dev->model->default_method); + float resolution = resolution_settings.get_min_resolution_y(); + + unsigned multiplier = 16; + if (dev->model->model_id == ModelId::CANON_8400F) { + multiplier = 4; + } + unsigned feed = static_cast(multiplier * (dev->model->y_offset_sensor_to_ta * resolution) / + MM_PER_INCH); + scanner_move(*dev, dev->model->default_method, feed, Direction::FORWARD); +} + + +/** @brief search for a full width black or white strip. + * This function searches for a black or white stripe across the scanning area. + * When searching backward, the searched area must completely be of the desired + * color since this area will be used for calibration which scans forward. + * @param dev scanner device + * @param forward true if searching forward, false if searching backward + * @param black true if searching for a black strip, false for a white strip + */ +void CommandSetGl843::search_strip(Genesys_Device* dev, const Genesys_Sensor& sensor, + bool forward, bool black) const +{ + DBG_HELPER_ARGS(dbg, "%s %s", black ? "black" : "white", forward ? "forward" : "reverse"); + unsigned int pixels, lines, channels; + Genesys_Register_Set local_reg; + int dpi; + unsigned int pass, count, found, x, y; + + dev->cmd_set->set_fe(dev, sensor, AFE_SET); + scanner_stop_action(*dev); + + /* set up for a gray scan at lowest dpi */ + dpi = sanei_genesys_get_lowest_dpi(dev); + channels = 1; + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, dpi, channels, + dev->settings.scan_method); + + /* 10 MM */ + /* lines = (10 * dpi) / MM_PER_INCH; */ + /* shading calibation is done with dev->motor.base_ydpi */ + lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; + pixels = (calib_sensor.sensor_pixels * dpi) / calib_sensor.optical_res; + + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + + local_reg = dev->reg; + + ScanSession session; + session.params.xres = dpi; + session.params.yres = dpi; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = pixels; + session.params.lines = lines; + session.params.depth = 8; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::GRAY; + session.params.color_filter = ColorFilter::RED; + session.params.flags = ScanFlag::DISABLE_SHADING | ScanFlag::DISABLE_SHADING; + if (!forward) { + session.params.flags = ScanFlag::REVERSE; + } + compute_session(dev, session, calib_sensor); + + init_regs_for_scan_session(dev, calib_sensor, &local_reg, session); + + dev->interface->write_registers(local_reg); + + dev->cmd_set->begin_scan(dev, calib_sensor, &local_reg, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("search_strip"); + scanner_stop_action(*dev); + return; + } + + wait_until_buffer_non_empty(dev); + + // now we're on target, we can read data + auto data = read_unshuffled_image_from_scanner(dev, session, + session.output_total_bytes_raw); + + scanner_stop_action(*dev); + + pass = 0; + if (DBG_LEVEL >= DBG_data) + { + char fn[40]; + std::snprintf(fn, 40, "gl843_search_strip_%s_%s%02d.pnm", + black ? "black" : "white", forward ? "fwd" : "bwd", pass); + sanei_genesys_write_pnm_file(fn, data); + } + + /* loop until strip is found or maximum pass number done */ + found = 0; + while (pass < 20 && !found) + { + dev->interface->write_registers(local_reg); + + // now start scan + dev->cmd_set->begin_scan(dev, calib_sensor, &local_reg, true); + + wait_until_buffer_non_empty(dev); + + // now we're on target, we can read data + data = read_unshuffled_image_from_scanner(dev, session, session.output_total_bytes_raw); + + scanner_stop_action(*dev); + + if (DBG_LEVEL >= DBG_data) + { + char fn[40]; + std::snprintf(fn, 40, "gl843_search_strip_%s_%s%02d.pnm", + black ? "black" : "white", forward ? "fwd" : "bwd", pass); + sanei_genesys_write_pnm_file(fn, data); + } + + /* search data to find black strip */ + /* when searching forward, we only need one line of the searched color since we + * will scan forward. But when doing backward search, we need all the area of the + * same color */ + if (forward) + { + for (y = 0; y < lines && !found; y++) + { + count = 0; + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data.get_raw_channel(x, y, 0) > 90) { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data.get_raw_channel(x, y, 0) < 60) { + count++; + } + } + + /* at end of line, if count >= 3%, line is not fully of the desired color + * so we must go to next line of the buffer */ + /* count*100/pixels < 3 */ + if ((count * 100) / pixels < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, + pass, y); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + } + else /* since calibration scans are done forward, we need the whole area + to be of the required color when searching backward */ + { + count = 0; + for (y = 0; y < lines; y++) + { + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + // when searching for black, detect white pixels + if (black && data.get_raw_channel(x, y, 0) > 90) { + count++; + } + // when searching for white, detect black pixels + if (!black && data.get_raw_channel(x, y, 0) < 60) { + count++; + } + } + } + + /* at end of area, if count >= 3%, area is not fully of the desired color + * so we must go to next buffer */ + if ((count * 100) / (pixels * lines) < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + pass++; + } + if (found) + { + DBG(DBG_info, "%s: %s strip found\n", __func__, black ? "black" : "white"); + } + else + { + throw SaneException(SANE_STATUS_UNSUPPORTED, "%s strip not found", black ? "black" : "white"); + } +} + +/** + * Send shading calibration data. The buffer is considered to always hold values + * for all the channels. + */ +void CommandSetGl843::send_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, + uint8_t* data, int size) const +{ + DBG_HELPER(dbg); + uint32_t final_size, length, i; + uint8_t *buffer; + int count,offset; + GenesysRegister *r; + uint16_t strpixel, endpixel, startx; + + offset=0; + length=size; + r = sanei_genesys_get_address(&dev->reg, REG_0x01); + if (r->value & REG_0x01_SHDAREA) + { + /* recompute STRPIXEL used shading calibration so we can + * compute offset within data for SHDAREA case */ + + // FIXME: the following is likely incorrect + // start coordinate in optical dpi coordinates + startx = (sensor.dummy_pixel / sensor.ccd_pixels_per_system_pixel()) / dev->session.hwdpi_divisor; + startx *= dev->session.pixel_count_multiplier; + + /* current scan coordinates */ + strpixel = dev->session.pixel_startx; + endpixel = dev->session.pixel_endx; + + if (dev->model->model_id == ModelId::CANON_4400F || + dev->model->model_id == ModelId::CANON_8600F) + { + int half_ccd_factor = dev->session.optical_resolution / + sensor.get_logical_hwdpi(dev->session.output_resolution); + strpixel /= half_ccd_factor * sensor.ccd_pixels_per_system_pixel(); + endpixel /= half_ccd_factor * sensor.ccd_pixels_per_system_pixel(); + } + + /* 16 bit words, 2 words per color, 3 color channels */ + offset=(strpixel-startx)*2*2*3; + length=(endpixel-strpixel)*2*2*3; + DBG(DBG_info, "%s: STRPIXEL=%d, ENDPIXEL=%d, startx=%d\n", __func__, strpixel, endpixel, + startx); + } + + dev->interface->record_key_value("shading_offset", std::to_string(offset)); + dev->interface->record_key_value("shading_length", std::to_string(length)); + + /* compute and allocate size for final data */ + final_size = ((length+251) / 252) * 256; + DBG(DBG_io, "%s: final shading size=%04x (length=%d)\n", __func__, final_size, length); + std::vector final_data(final_size, 0); + + /* copy regular shading data to the expected layout */ + buffer = final_data.data(); + count = 0; + + /* loop over calibration data */ + for (i = 0; i < length; i++) + { + buffer[count] = data[offset+i]; + count++; + if ((count % (256*2)) == (252*2)) + { + count += 4*2; + } + } + + dev->interface->write_buffer(0x3c, 0, final_data.data(), count, + ScannerInterface::FLAG_SMALL_ADDRESS); +} + +bool CommandSetGl843::needs_home_before_init_regs_for_scan(Genesys_Device* dev) const +{ + (void) dev; + return true; +} + +void CommandSetGl843::wait_for_motor_stop(Genesys_Device* dev) const +{ + (void) dev; +} + +std::unique_ptr create_gl843_cmd_set() +{ + return std::unique_ptr(new CommandSetGl843{}); +} + +} // namespace gl843 +} // namespace genesys diff --git a/backend/genesys/gl843.h b/backend/genesys/gl843.h new file mode 100644 index 0000000..9f0a9e9 --- /dev/null +++ b/backend/genesys/gl843.h @@ -0,0 +1,139 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2010-2013 Stéphane Voltz + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#include "genesys.h" +#include "command_set.h" + +#ifndef BACKEND_GENESYS_GL843_H +#define BACKEND_GENESYS_GL843_H + +namespace genesys { +namespace gl843 { + +class CommandSetGl843 : public CommandSet +{ +public: + ~CommandSetGl843() override = default; + + bool needs_home_before_init_regs_for_scan(Genesys_Device* dev) const override; + + void init(Genesys_Device* dev) const override; + + void init_regs_for_warmup(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, int* channels, + int* total_size) const override; + + void init_regs_for_coarse_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void init_regs_for_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void init_regs_for_scan(Genesys_Device* dev, const Genesys_Sensor& sensor) const override; + + void init_regs_for_scan_session(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const ScanSession& session) const override; + + void set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set) const override; + void set_powersaving(Genesys_Device* dev, int delay) const override; + void save_power(Genesys_Device* dev, bool enable) const override; + + void begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, bool start_motor) const override; + + void end_scan(Genesys_Device* dev, Genesys_Register_Set* regs, bool check_stop) const override; + + void send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) const override; + + void search_start_position(Genesys_Device* dev) const override; + + void offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) const override; + + SensorExposure led_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void wait_for_motor_stop(Genesys_Device* dev) const override; + + void move_back_home(Genesys_Device* dev, bool wait_until_home) const override; + + void update_hardware_sensors(struct Genesys_Scanner* s) const override; + + void load_document(Genesys_Device* dev) const override; + + void detect_document_end(Genesys_Device* dev) const override; + + void eject_document(Genesys_Device* dev) const override; + + void search_strip(Genesys_Device* dev, const Genesys_Sensor& sensor, + bool forward, bool black) const override; + + void move_to_ta(Genesys_Device* dev) const override; + + void send_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t* data, + int size) const override; + + ScanSession calculate_scan_session(const Genesys_Device* dev, + const Genesys_Sensor& sensor, + const Genesys_Settings& settings) const override; + + void asic_boot(Genesys_Device* dev, bool cold) const override; +}; + +enum SlopeTable +{ + SCAN_TABLE = 0, // table 1 at 0x4000 + BACKTRACK_TABLE = 1, // table 2 at 0x4800 + STOP_TABLE = 2, // table 3 at 0x5000 + FAST_TABLE = 3, // table 4 at 0x5800 + HOME_TABLE = 4, // table 5 at 0x6000 +}; + +} // namespace gl843 +} // namespace genesys + +#endif // BACKEND_GENESYS_GL843_H diff --git a/backend/genesys/gl843_registers.h b/backend/genesys/gl843_registers.h new file mode 100644 index 0000000..8ecb0fc --- /dev/null +++ b/backend/genesys/gl843_registers.h @@ -0,0 +1,382 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_GL843_REGISTERS_H +#define BACKEND_GENESYS_GL843_REGISTERS_H + +#include + +namespace genesys { +namespace gl843 { + +using RegAddr = std::uint16_t; +using RegMask = std::uint8_t; +using RegShift = unsigned; + +static constexpr RegAddr REG_0x01 = 0x01; +static constexpr RegMask REG_0x01_CISSET = 0x80; +static constexpr RegMask REG_0x01_DOGENB = 0x40; +static constexpr RegMask REG_0x01_DVDSET = 0x20; +static constexpr RegMask REG_0x01_STAGGER = 0x10; +static constexpr RegMask REG_0x01_COMPENB = 0x08; +static constexpr RegMask REG_0x01_TRUEGRAY = 0x04; +static constexpr RegMask REG_0x01_SHDAREA = 0x02; +static constexpr RegMask REG_0x01_SCAN = 0x01; + +static constexpr RegAddr REG_0x02 = 0x02; +static constexpr RegMask REG_0x02_NOTHOME = 0x80; +static constexpr RegMask REG_0x02_ACDCDIS = 0x40; +static constexpr RegMask REG_0x02_AGOHOME = 0x20; +static constexpr RegMask REG_0x02_MTRPWR = 0x10; +static constexpr RegMask REG_0x02_FASTFED = 0x08; +static constexpr RegMask REG_0x02_MTRREV = 0x04; +static constexpr RegMask REG_0x02_HOMENEG = 0x02; +static constexpr RegMask REG_0x02_LONGCURV = 0x01; + +static constexpr RegAddr REG_0x03 = 0x03; +static constexpr RegMask REG_0x03_LAMPDOG = 0x80; +static constexpr RegMask REG_0x03_AVEENB = 0x40; +static constexpr RegMask REG_0x03_XPASEL = 0x20; +static constexpr RegMask REG_0x03_LAMPPWR = 0x10; +static constexpr RegMask REG_0x03_LAMPTIM = 0x0f; + +static constexpr RegAddr REG_0x04 = 0x04; +static constexpr RegMask REG_0x04_LINEART = 0x80; +static constexpr RegMask REG_0x04_BITSET = 0x40; +static constexpr RegMask REG_0x04_AFEMOD = 0x30; +static constexpr RegMask REG_0x04_FILTER = 0x0c; +static constexpr RegMask REG_0x04_FESET = 0x03; + +static constexpr RegShift REG_0x04S_AFEMOD = 4; + +static constexpr RegAddr REG_0x05 = 0x05; +static constexpr RegMask REG_0x05_DPIHW = 0xc0; +static constexpr RegMask REG_0x05_DPIHW_600 = 0x00; +static constexpr RegMask REG_0x05_DPIHW_1200 = 0x40; +static constexpr RegMask REG_0x05_DPIHW_2400 = 0x80; +static constexpr RegMask REG_0x05_DPIHW_4800 = 0xc0; +static constexpr RegMask REG_0x05_MTLLAMP = 0x30; +static constexpr RegMask REG_0x05_GMMENB = 0x08; +static constexpr RegMask REG_0x05_MTLBASE = 0x03; + +static constexpr RegAddr REG_0x06 = 0x06; +static constexpr RegMask REG_0x06_SCANMOD = 0xe0; +static constexpr RegShift REG_0x06S_SCANMOD = 5; +static constexpr RegMask REG_0x06_PWRBIT = 0x10; +static constexpr RegMask REG_0x06_GAIN4 = 0x08; +static constexpr RegMask REG_0x06_OPTEST = 0x07; + +static constexpr RegMask REG_0x07_LAMPSIM = 0x80; + +static constexpr RegMask REG_0x08_DECFLAG = 0x40; +static constexpr RegMask REG_0x08_GMMFFR = 0x20; +static constexpr RegMask REG_0x08_GMMFFG = 0x10; +static constexpr RegMask REG_0x08_GMMFFB = 0x08; +static constexpr RegMask REG_0x08_GMMZR = 0x04; +static constexpr RegMask REG_0x08_GMMZG = 0x02; +static constexpr RegMask REG_0x08_GMMZB = 0x01; + +static constexpr RegMask REG_0x09_MCNTSET = 0xc0; +static constexpr RegMask REG_0x09_EVEN1ST = 0x20; +static constexpr RegMask REG_0x09_BLINE1ST = 0x10; +static constexpr RegMask REG_0x09_BACKSCAN = 0x08; +static constexpr RegMask REG_0x09_ENHANCE = 0x04; +static constexpr RegMask REG_0x09_SHORTTG = 0x02; +static constexpr RegMask REG_0x09_NWAIT = 0x01; + +static constexpr RegShift REG_0x09S_MCNTSET = 6; +static constexpr RegShift REG_0x09S_CLKSET = 4; + +static constexpr RegAddr REG_0x0B = 0x0b; +static constexpr RegMask REG_0x0B_DRAMSEL = 0x07; +static constexpr RegMask REG_0x0B_ENBDRAM = 0x08; +static constexpr RegMask REG_0x0B_RFHDIS = 0x10; +static constexpr RegMask REG_0x0B_CLKSET = 0xe0; +static constexpr RegMask REG_0x0B_24MHZ = 0x00; +static constexpr RegMask REG_0x0B_30MHZ = 0x20; +static constexpr RegMask REG_0x0B_40MHZ = 0x40; +static constexpr RegMask REG_0x0B_48MHZ = 0x60; +static constexpr RegMask REG_0x0B_60MHZ = 0x80; + +static constexpr RegAddr REG_0x0D = 0x0d; +static constexpr RegMask REG_0x0D_JAMPCMD = 0x80; +static constexpr RegMask REG_0x0D_DOCCMD = 0x40; +static constexpr RegMask REG_0x0D_CCDCMD = 0x20; +static constexpr RegMask REG_0x0D_FULLSTP = 0x10; +static constexpr RegMask REG_0x0D_SEND = 0x08; +static constexpr RegMask REG_0x0D_CLRMCNT = 0x04; +static constexpr RegMask REG_0x0D_CLRDOCJM = 0x02; +static constexpr RegMask REG_0x0D_CLRLNCNT = 0x01; + +static constexpr RegAddr REG_0x0F = 0x0f; + +static constexpr RegAddr REG_EXPR = 0x10; +static constexpr RegAddr REG_EXPG = 0x12; +static constexpr RegAddr REG_EXPB = 0x14; + +static constexpr RegMask REG_0x16_CTRLHI = 0x80; +static constexpr RegMask REG_0x16_TOSHIBA = 0x40; +static constexpr RegMask REG_0x16_TGINV = 0x20; +static constexpr RegMask REG_0x16_CK1INV = 0x10; +static constexpr RegMask REG_0x16_CK2INV = 0x08; +static constexpr RegMask REG_0x16_CTRLINV = 0x04; +static constexpr RegMask REG_0x16_CKDIS = 0x02; +static constexpr RegMask REG_0x16_CTRLDIS = 0x01; + +static constexpr RegMask REG_0x17_TGMODE = 0xc0; +static constexpr RegMask REG_0x17_TGMODE_NO_DUMMY = 0x00; +static constexpr RegMask REG_0x17_TGMODE_REF = 0x40; +static constexpr RegMask REG_0x17_TGMODE_XPA = 0x80; +static constexpr RegMask REG_0x17_TGW = 0x3f; +static constexpr RegShift REG_0x17S_TGW = 0; + +static constexpr RegAddr REG_0x18 = 0x18; +static constexpr RegMask REG_0x18_CNSET = 0x80; +static constexpr RegMask REG_0x18_DCKSEL = 0x60; +static constexpr RegMask REG_0x18_CKTOGGLE = 0x10; +static constexpr RegMask REG_0x18_CKDELAY = 0x0c; +static constexpr RegMask REG_0x18_CKSEL = 0x03; + +static constexpr RegAddr REG_EXPDMY = 0x19; + +static constexpr RegMask REG_0x1A_TGLSW2 = 0x80; +static constexpr RegMask REG_0x1A_TGLSW1 = 0x40; +static constexpr RegMask REG_0x1A_MANUAL3 = 0x02; +static constexpr RegMask REG_0x1A_MANUAL1 = 0x01; +static constexpr RegMask REG_0x1A_CK4INV = 0x08; +static constexpr RegMask REG_0x1A_CK3INV = 0x04; +static constexpr RegMask REG_0x1A_LINECLP = 0x02; + +static constexpr RegAddr REG_0x1C = 0x1c; +static constexpr RegMask REG_0x1C_TGTIME = 0x07; + +static constexpr RegMask REG_0x1D_CK4LOW = 0x80; +static constexpr RegMask REG_0x1D_CK3LOW = 0x40; +static constexpr RegMask REG_0x1D_CK1LOW = 0x20; +static constexpr RegMask REG_0x1D_TGSHLD = 0x1f; +static constexpr RegShift REG_0x1DS_TGSHLD = 0; + + +static constexpr RegAddr REG_0x1E = 0x1e; +static constexpr RegMask REG_0x1E_WDTIME = 0xf0; +static constexpr RegShift REG_0x1ES_WDTIME = 4; +static constexpr RegMask REG_0x1E_LINESEL = 0x0f; +static constexpr RegShift REG_0x1ES_LINESEL = 0; + +static constexpr RegAddr REG_0x21 = 0x21; +static constexpr RegAddr REG_STEPNO = 0x21; +static constexpr RegAddr REG_FWDSTEP = 0x22; +static constexpr RegAddr REG_BWDSTEP = 0x23; +static constexpr RegAddr REG_FASTNO = 0x24; +static constexpr RegAddr REG_LINCNT = 0x25; + +static constexpr RegAddr REG_0x29 = 0x29; +static constexpr RegAddr REG_0x2A = 0x2a; +static constexpr RegAddr REG_0x2B = 0x2b; +static constexpr RegAddr REG_DPISET = 0x2c; +static constexpr RegAddr REG_0x2E = 0x2e; +static constexpr RegAddr REG_0x2F = 0x2f; + +static constexpr RegAddr REG_STRPIXEL = 0x30; +static constexpr RegAddr REG_ENDPIXEL = 0x32; +static constexpr RegAddr REG_DUMMY = 0x34; +static constexpr RegAddr REG_MAXWD = 0x35; +static constexpr RegAddr REG_LPERIOD = 0x38; +static constexpr RegAddr REG_FEEDL = 0x3d; + +static constexpr RegAddr REG_0x40 = 0x40; +static constexpr RegMask REG_0x40_DOCSNR = 0x80; +static constexpr RegMask REG_0x40_ADFSNR = 0x40; +static constexpr RegMask REG_0x40_COVERSNR = 0x20; +static constexpr RegMask REG_0x40_CHKVER = 0x10; +static constexpr RegMask REG_0x40_DOCJAM = 0x08; +static constexpr RegMask REG_0x40_HISPDFLG = 0x04; +static constexpr RegMask REG_0x40_MOTMFLG = 0x02; +static constexpr RegMask REG_0x40_DATAENB = 0x01; + +static constexpr RegMask REG_0x41_PWRBIT = 0x80; +static constexpr RegMask REG_0x41_BUFEMPTY = 0x40; +static constexpr RegMask REG_0x41_FEEDFSH = 0x20; +static constexpr RegMask REG_0x41_SCANFSH = 0x10; +static constexpr RegMask REG_0x41_HOMESNR = 0x08; +static constexpr RegMask REG_0x41_LAMPSTS = 0x04; +static constexpr RegMask REG_0x41_FEBUSY = 0x02; +static constexpr RegMask REG_0x41_MOTORENB = 0x01; + +static constexpr RegMask REG_0x58_VSMP = 0xf8; +static constexpr RegShift REG_0x58S_VSMP = 3; +static constexpr RegMask REG_0x58_VSMPW = 0x07; +static constexpr RegShift REG_0x58S_VSMPW = 0; + +static constexpr RegMask REG_0x59_BSMP = 0xf8; +static constexpr RegShift REG_0x59S_BSMP = 3; +static constexpr RegMask REG_0x59_BSMPW = 0x07; +static constexpr RegShift REG_0x59S_BSMPW = 0; + +static constexpr RegMask REG_0x5A_ADCLKINV = 0x80; +static constexpr RegMask REG_0x5A_RLCSEL = 0x40; +static constexpr RegMask REG_0x5A_CDSREF = 0x30; +static constexpr RegShift REG_0x5AS_CDSREF = 4; +static constexpr RegMask REG_0x5A_RLC = 0x0f; +static constexpr RegShift REG_0x5AS_RLC = 0; + +static constexpr RegAddr REG_0x5E = 0x5e; +static constexpr RegMask REG_0x5E_DECSEL = 0xe0; +static constexpr RegShift REG_0x5ES_DECSEL = 5; +static constexpr RegMask REG_0x5E_STOPTIM = 0x1f; +static constexpr RegShift REG_0x5ES_STOPTIM = 0; + +static constexpr RegAddr REG_FMOVDEC = 0x5f; + +static constexpr RegAddr REG_0x60 = 0x60; +static constexpr RegMask REG_0x60_Z1MOD = 0x1f; +static constexpr RegAddr REG_0x61 = 0x61; +static constexpr RegMask REG_0x61_Z1MOD = 0xff; +static constexpr RegAddr REG_0x62 = 0x62; +static constexpr RegMask REG_0x62_Z1MOD = 0xff; + +static constexpr RegAddr REG_0x63 = 0x63; +static constexpr RegMask REG_0x63_Z2MOD = 0x1f; +static constexpr RegAddr REG_0x64 = 0x64; +static constexpr RegMask REG_0x64_Z2MOD = 0xff; +static constexpr RegAddr REG_0x65 = 0x65; +static constexpr RegMask REG_0x65_Z2MOD = 0xff; + +static constexpr RegAddr REG_0x67 = 0x67; + +static constexpr RegAddr REG_0x68 = 0x68; + +static constexpr RegShift REG_0x67S_STEPSEL = 6; +static constexpr RegMask REG_0x67_STEPSEL = 0xc0; +static constexpr RegMask REG_0x67_FULLSTEP = 0x00; +static constexpr RegMask REG_0x67_HALFSTEP = 0x20; +static constexpr RegMask REG_0x67_EIGHTHSTEP = 0x60; +static constexpr RegMask REG_0x67_16THSTEP = 0x80; + +static constexpr RegShift REG_0x68S_FSTPSEL = 6; +static constexpr RegMask REG_0x68_FSTPSEL = 0xc0; +static constexpr RegMask REG_0x68_FULLSTEP = 0x00; +static constexpr RegMask REG_0x68_HALFSTEP = 0x20; +static constexpr RegMask REG_0x68_EIGHTHSTEP = 0x60; +static constexpr RegMask REG_0x68_16THSTEP = 0x80; + +static constexpr RegAddr REG_FSHDEC = 0x69; +static constexpr RegAddr REG_FMOVNO = 0x6a; + +static constexpr RegAddr REG_0x6B = 0x6b; +static constexpr RegMask REG_0x6B_MULTFILM = 0x80; +static constexpr RegMask REG_0x6B_GPOM13 = 0x40; +static constexpr RegMask REG_0x6B_GPOM12 = 0x20; +static constexpr RegMask REG_0x6B_GPOM11 = 0x10; +static constexpr RegMask REG_0x6B_GPOCK4 = 0x08; +static constexpr RegMask REG_0x6B_GPOCP = 0x04; +static constexpr RegMask REG_0x6B_GPOLEDB = 0x02; +static constexpr RegMask REG_0x6B_GPOADF = 0x01; + +static constexpr RegAddr REG_0x6C = 0x6c; +static constexpr RegMask REG_0x6C_GPIO16 = 0x80; +static constexpr RegMask REG_0x6C_GPIO15 = 0x40; +static constexpr RegMask REG_0x6C_GPIO14 = 0x20; +static constexpr RegMask REG_0x6C_GPIO13 = 0x10; +static constexpr RegMask REG_0x6C_GPIO12 = 0x08; +static constexpr RegMask REG_0x6C_GPIO11 = 0x04; +static constexpr RegMask REG_0x6C_GPIO10 = 0x02; +static constexpr RegMask REG_0x6C_GPIO9 = 0x01; +static constexpr RegMask REG_0x6C_GPIOH = 0xff; +static constexpr RegMask REG_0x6C_GPIOL = 0xff; + +static constexpr RegAddr REG_Z1MOD = 0x60; +static constexpr RegAddr REG_Z2MOD = 0x63; + +static constexpr RegAddr REG_0x6D = 0x6d; +static constexpr RegAddr REG_0x6E = 0x6e; +static constexpr RegAddr REG_0x6F = 0x6f; + +static constexpr RegAddr REG_CK1MAP = 0x74; +static constexpr RegAddr REG_CK3MAP = 0x77; +static constexpr RegAddr REG_CK4MAP = 0x7a; + +static constexpr RegAddr REG_0x7E = 0x7e; + +static constexpr RegAddr REG_0x9D = 0x9d; +static constexpr RegShift REG_0x9DS_STEPTIM = 2; + +static constexpr RegMask REG_0x87_LEDADD = 0x04; + +static constexpr RegAddr REG_0xA6 = 0xa6; +static constexpr RegMask REG_0xA6_GPIO24 = 0x80; +static constexpr RegMask REG_0xA6_GPIO23 = 0x40; +static constexpr RegMask REG_0xA6_GPIO22 = 0x20; +static constexpr RegMask REG_0xA6_GPIO21 = 0x10; +static constexpr RegMask REG_0xA6_GPIO20 = 0x08; +static constexpr RegMask REG_0xA6_GPIO19 = 0x04; +static constexpr RegMask REG_0xA6_GPIO18 = 0x02; +static constexpr RegMask REG_0xA6_GPIO17 = 0x01; +static constexpr RegAddr REG_0xA7 = 0xa7; +static constexpr RegMask REG_0xA7_GPOE24 = 0x80; +static constexpr RegMask REG_0xA7_GPOE23 = 0x40; +static constexpr RegMask REG_0xA7_GPOE22 = 0x20; +static constexpr RegMask REG_0xA7_GPOE21 = 0x10; +static constexpr RegMask REG_0xA7_GPOE20 = 0x08; +static constexpr RegMask REG_0xA7_GPOE19 = 0x04; +static constexpr RegMask REG_0xA7_GPOE18 = 0x02; +static constexpr RegMask REG_0xA7_GPOE17 = 0x01; +static constexpr RegAddr REG_0xA8 = 0xa8; +static constexpr RegMask REG_0xA8_GPOE27 = 0x20; +static constexpr RegMask REG_0xA8_GPOE26 = 0x10; +static constexpr RegMask REG_0xA8_GPOE25 = 0x08; +static constexpr RegMask REG_0xA8_GPO27 = 0x04; +static constexpr RegMask REG_0xA8_GPO26 = 0x02; +static constexpr RegMask REG_0xA8_GPO25 = 0x01; +static constexpr RegAddr REG_0xA9 = 0xa9; +static constexpr RegMask REG_0xA9_GPO33 = 0x20; +static constexpr RegMask REG_0xA9_GPO32 = 0x10; +static constexpr RegMask REG_0xA9_GPO31 = 0x08; +static constexpr RegMask REG_0xA9_GPO30 = 0x04; +static constexpr RegMask REG_0xA9_GPO29 = 0x02; +static constexpr RegMask REG_0xA9_GPO28 = 0x01; + +} // namespace gl843 +} // namespace genesys + +#endif // BACKEND_GENESYS_GL843_REGISTERS_H diff --git a/backend/genesys/gl846.cpp b/backend/genesys/gl846.cpp new file mode 100644 index 0000000..d309d29 --- /dev/null +++ b/backend/genesys/gl846.cpp @@ -0,0 +1,2098 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2012-2013 Stéphane Voltz + + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +/** @file + * + * This file handles GL846 and GL845 ASICs since they are really close to each other. + */ + +#define DEBUG_DECLARE_ONLY + +#include "gl846.h" +#include "gl846_registers.h" +#include "test_settings.h" + +#include + +namespace genesys { +namespace gl846 { + +/** + * compute the step multiplier used + */ +static int +gl846_get_step_multiplier (Genesys_Register_Set * regs) +{ + GenesysRegister *r = sanei_genesys_get_address(regs, 0x9d); + int value = 1; + if (r != nullptr) { + value = (r->value & 0x0f)>>1; + value = 1 << value; + } + DBG (DBG_io, "%s: step multiplier is %d\n", __func__, value); + return value; +} + +/** @brief sensor specific settings +*/ +static void gl846_setup_sensor(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs) +{ + DBG_HELPER(dbg); + + for (const auto& reg : sensor.custom_regs) { + regs->set8(reg.address, reg.value); + } + + regs->set16(REG_EXPR, sensor.exposure.red); + regs->set16(REG_EXPG, sensor.exposure.green); + regs->set16(REG_EXPB, sensor.exposure.blue); + + dev->segment_order = sensor.segment_order; +} + + +/** @brief set all registers to default values . + * This function is called only once at the beginning and + * fills register startup values for registers reused across scans. + * Those that are rarely modified or not modified are written + * individually. + * @param dev device structure holding register set to initialize + */ +static void +gl846_init_registers (Genesys_Device * dev) +{ + DBG_HELPER(dbg); + + dev->reg.clear(); + + dev->reg.init_reg(0x01, 0x60); + dev->reg.init_reg(0x02, 0x38); + dev->reg.init_reg(0x03, 0x03); + dev->reg.init_reg(0x04, 0x22); + dev->reg.init_reg(0x05, 0x60); + dev->reg.init_reg(0x06, 0x10); + dev->reg.init_reg(0x08, 0x60); + dev->reg.init_reg(0x09, 0x00); + dev->reg.init_reg(0x0a, 0x00); + dev->reg.init_reg(0x0b, 0x8b); + dev->reg.init_reg(0x0c, 0x00); + dev->reg.init_reg(0x0d, 0x00); + dev->reg.init_reg(0x10, 0x00); + dev->reg.init_reg(0x11, 0x00); + dev->reg.init_reg(0x12, 0x00); + dev->reg.init_reg(0x13, 0x00); + dev->reg.init_reg(0x14, 0x00); + dev->reg.init_reg(0x15, 0x00); + dev->reg.init_reg(0x16, 0xbb); // SENSOR_DEF + dev->reg.init_reg(0x17, 0x13); // SENSOR_DEF + dev->reg.init_reg(0x18, 0x10); // SENSOR_DEF + dev->reg.init_reg(0x19, 0x2a); // SENSOR_DEF + dev->reg.init_reg(0x1a, 0x34); // SENSOR_DEF + dev->reg.init_reg(0x1b, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x1c, 0x20); // SENSOR_DEF + dev->reg.init_reg(0x1d, 0x06); // SENSOR_DEF + dev->reg.init_reg(0x1e, 0xf0); + dev->reg.init_reg(0x1f, 0x01); + dev->reg.init_reg(0x20, 0x03); + dev->reg.init_reg(0x21, 0x10); + dev->reg.init_reg(0x22, 0x60); + dev->reg.init_reg(0x23, 0x60); + dev->reg.init_reg(0x24, 0x60); + dev->reg.init_reg(0x25, 0x00); + dev->reg.init_reg(0x26, 0x00); + dev->reg.init_reg(0x27, 0x00); + dev->reg.init_reg(0x2c, 0x00); + dev->reg.init_reg(0x2d, 0x00); + dev->reg.init_reg(0x2e, 0x80); + dev->reg.init_reg(0x2f, 0x80); + dev->reg.init_reg(0x30, 0x00); + dev->reg.init_reg(0x31, 0x00); + dev->reg.init_reg(0x32, 0x00); + dev->reg.init_reg(0x33, 0x00); + dev->reg.init_reg(0x34, 0x1f); + dev->reg.init_reg(0x35, 0x00); + dev->reg.init_reg(0x36, 0x40); + dev->reg.init_reg(0x37, 0x00); + dev->reg.init_reg(0x38, 0x2a); + dev->reg.init_reg(0x39, 0xf8); + dev->reg.init_reg(0x3d, 0x00); + dev->reg.init_reg(0x3e, 0x00); + dev->reg.init_reg(0x3f, 0x01); + dev->reg.init_reg(0x52, 0x02); // SENSOR_DEF + dev->reg.init_reg(0x53, 0x04); // SENSOR_DEF + dev->reg.init_reg(0x54, 0x06); // SENSOR_DEF + dev->reg.init_reg(0x55, 0x08); // SENSOR_DEF + dev->reg.init_reg(0x56, 0x0a); // SENSOR_DEF + dev->reg.init_reg(0x57, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x58, 0x59); // SENSOR_DEF + dev->reg.init_reg(0x59, 0x31); // SENSOR_DEF + dev->reg.init_reg(0x5a, 0x40); // SENSOR_DEF + dev->reg.init_reg(0x5e, 0x1f); + dev->reg.init_reg(0x5f, 0x01); + dev->reg.init_reg(0x60, 0x00); + dev->reg.init_reg(0x61, 0x00); + dev->reg.init_reg(0x62, 0x00); + dev->reg.init_reg(0x63, 0x00); + dev->reg.init_reg(0x64, 0x00); + dev->reg.init_reg(0x65, 0x00); + dev->reg.init_reg(0x67, 0x7f); + dev->reg.init_reg(0x68, 0x7f); + dev->reg.init_reg(0x69, 0x01); + dev->reg.init_reg(0x6a, 0x01); + dev->reg.init_reg(0x70, 0x01); + dev->reg.init_reg(0x71, 0x00); + dev->reg.init_reg(0x72, 0x02); + dev->reg.init_reg(0x73, 0x01); + dev->reg.init_reg(0x74, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x75, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x76, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x77, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x78, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x79, 0x3f); // SENSOR_DEF + dev->reg.init_reg(0x7a, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x7b, 0x09); // SENSOR_DEF + dev->reg.init_reg(0x7c, 0x99); // SENSOR_DEF + dev->reg.init_reg(0x7d, 0x20); + dev->reg.init_reg(0x7f, 0x05); + dev->reg.init_reg(0x80, 0x4f); + dev->reg.init_reg(0x87, 0x02); + dev->reg.init_reg(0x94, 0xff); + dev->reg.init_reg(0x9d, 0x04); + dev->reg.init_reg(0x9e, 0x00); + dev->reg.init_reg(0xa1, 0xe0); + dev->reg.init_reg(0xa2, 0x1f); + dev->reg.init_reg(0xab, 0xc0); + dev->reg.init_reg(0xbb, 0x00); + dev->reg.init_reg(0xbc, 0x0f); + dev->reg.init_reg(0xdb, 0xff); + dev->reg.init_reg(0xfe, 0x08); + dev->reg.init_reg(0xff, 0x02); + dev->reg.init_reg(0x98, 0x20); + dev->reg.init_reg(0x99, 0x00); + dev->reg.init_reg(0x9a, 0x90); + dev->reg.init_reg(0x9b, 0x00); + dev->reg.init_reg(0xf8, 0x05); + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + sanei_genesys_set_dpihw(dev->reg, sensor, sensor.optical_res); + + /* initalize calibration reg */ + dev->calib_reg = dev->reg; +} + +/**@brief send slope table for motor movement + * Send slope_table in machine byte order + * @param dev device to send slope table + * @param table_nr index of the slope table in ASIC memory + * Must be in the [0-4] range. + * @param slope_table pointer to 16 bit values array of the slope table + * @param steps number of elements in the slope table + */ +static void gl846_send_slope_table(Genesys_Device* dev, int table_nr, + const std::vector& slope_table, + int steps) +{ + DBG_HELPER_ARGS(dbg, "table_nr = %d, steps = %d", table_nr, steps); + int i; + char msg[10000]; + + /* sanity check */ + if(table_nr<0 || table_nr>4) + { + throw SaneException("invalid table number %d", table_nr); + } + + std::vector table(steps * 2); + for (i = 0; i < steps; i++) + { + table[i * 2] = slope_table[i] & 0xff; + table[i * 2 + 1] = slope_table[i] >> 8; + } + + if (DBG_LEVEL >= DBG_io) + { + std::sprintf(msg, "write slope %d (%d)=", table_nr, steps); + for (i = 0; i < steps; i++) + { + std::sprintf(msg+strlen(msg), "%d", slope_table[i]); + } + DBG (DBG_io, "%s: %s\n", __func__, msg); + } + + if (dev->interface->is_mock()) { + dev->interface->record_slope_table(table_nr, slope_table); + } + // slope table addresses are fixed + dev->interface->write_ahb(0x10000000 + 0x4000 * table_nr, steps * 2, table.data()); +} + +/** + * Set register values of Analog Device type frontend + * */ +static void gl846_set_adi_fe(Genesys_Device* dev, uint8_t set) +{ + DBG_HELPER(dbg); + int i; + + // wait for FE to be ready + auto status = scanner_read_status(*dev); + while (status.is_front_end_busy) { + dev->interface->sleep_ms(10); + status = scanner_read_status(*dev); + }; + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, + static_cast(dev->model->adc_id)); + dev->frontend = dev->frontend_initial; + } + + // write them to analog frontend + dev->interface->write_fe_register(0x00, dev->frontend.regs.get_value(0x00)); + + dev->interface->write_fe_register(0x01, dev->frontend.regs.get_value(0x01)); + + for (i = 0; i < 3; i++) { + dev->interface->write_fe_register(0x02 + i, dev->frontend.get_gain(i)); + } + for (i = 0; i < 3; i++) { + dev->interface->write_fe_register(0x05 + i, dev->frontend.get_offset(i)); + } +} + +// Set values of analog frontend +void CommandSetGl846::set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set) const +{ + DBG_HELPER_ARGS(dbg, "%s", set == AFE_INIT ? "init" : + set == AFE_SET ? "set" : + set == AFE_POWER_SAVE ? "powersave" : "huh?"); + (void) sensor; + + /* route to specific analog frontend setup */ + uint8_t frontend_type = dev->reg.find_reg(0x04).value & REG_0x04_FESET; + switch (frontend_type) { + case 0x02: /* ADI FE */ + gl846_set_adi_fe(dev, set); + break; + default: + throw SaneException("unsupported frontend type %d", frontend_type); + } +} + + +// @brief set up motor related register for scan +static void gl846_init_motor_regs_scan(Genesys_Device* dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const Motor_Profile& motor_profile, + unsigned int scan_exposure_time, + unsigned scan_yres, + unsigned int scan_lines, + unsigned int scan_dummy, + unsigned int feed_steps, + MotorFlag flags) +{ + DBG_HELPER_ARGS(dbg, "scan_exposure_time=%d, scan_yres=%d, step_type=%d, scan_lines=%d, " + "scan_dummy=%d, feed_steps=%d, flags=%x", + scan_exposure_time, scan_yres, static_cast(motor_profile.step_type), + scan_lines, scan_dummy, feed_steps, static_cast(flags)); + int use_fast_fed; + unsigned int fast_dpi; + unsigned int feedl, dist; + GenesysRegister *r; + uint32_t z1, z2; + unsigned int min_restep = 0x20; + uint8_t val; + unsigned int ccdlmt,tgtime; + + unsigned step_multiplier = gl846_get_step_multiplier(reg); + + use_fast_fed=0; + /* no fast fed since feed works well */ + if (dev->settings.yres == 4444 && feed_steps > 100 && !has_flag(flags, MotorFlag::FEED)) { + use_fast_fed = 1; + } + DBG (DBG_io, "%s: use_fast_fed=%d\n", __func__, use_fast_fed); + + reg->set24(REG_LINCNT, scan_lines); + DBG (DBG_io, "%s: lincnt=%d\n", __func__, scan_lines); + + /* compute register 02 value */ + r = sanei_genesys_get_address(reg, REG_0x02); + r->value = 0x00; + sanei_genesys_set_motor_power(*reg, true); + + if (use_fast_fed) + r->value |= REG_0x02_FASTFED; + else + r->value &= ~REG_0x02_FASTFED; + + if (has_flag(flags, MotorFlag::AUTO_GO_HOME)) { + r->value |= REG_0x02_AGOHOME | REG_0x02_NOTHOME; + } + + if (has_flag(flags, MotorFlag::DISABLE_BUFFER_FULL_MOVE) ||(scan_yres>=sensor.optical_res)) { + r->value |= REG_0x02_ACDCDIS; + } + if (has_flag(flags, MotorFlag::REVERSE)) { + r->value |= REG_0x02_MTRREV; + } else { + r->value &= ~REG_0x02_MTRREV; + } + + /* scan and backtracking slope table */ + auto scan_table = sanei_genesys_slope_table(dev->model->asic_type, scan_yres, + scan_exposure_time, dev->motor.base_ydpi, + step_multiplier, motor_profile); + + gl846_send_slope_table(dev, SCAN_TABLE, scan_table.table, scan_table.steps_count); + gl846_send_slope_table(dev, BACKTRACK_TABLE, scan_table.table, scan_table.steps_count); + + /* fast table */ + fast_dpi=sanei_genesys_get_lowest_ydpi(dev); + + // BUG: looks like for fast moves we use inconsistent step type + StepType fast_step_type = motor_profile.step_type; + if (static_cast(motor_profile.step_type) >= static_cast(StepType::QUARTER)) { + fast_step_type = StepType::QUARTER; + } + + Motor_Profile fast_motor_profile = motor_profile; + fast_motor_profile.step_type = fast_step_type; + + auto fast_table = sanei_genesys_slope_table(dev->model->asic_type, fast_dpi, + scan_exposure_time, dev->motor.base_ydpi, + step_multiplier, fast_motor_profile); + + gl846_send_slope_table(dev, STOP_TABLE, fast_table.table, fast_table.steps_count); + gl846_send_slope_table(dev, FAST_TABLE, fast_table.table, fast_table.steps_count); + gl846_send_slope_table(dev, HOME_TABLE, fast_table.table, fast_table.steps_count); + + /* correct move distance by acceleration and deceleration amounts */ + feedl=feed_steps; + if (use_fast_fed) + { + feedl <<= static_cast(fast_step_type); + dist = (scan_table.steps_count + 2 * fast_table.steps_count); + /* TODO read and decode REG_0xAB */ + r = sanei_genesys_get_address (reg, 0x5e); + dist += (r->value & 31); + /* FEDCNT */ + r = sanei_genesys_get_address(reg, REG_FEDCNT); + dist += r->value; + } + else + { + feedl <<= static_cast(motor_profile.step_type); + dist = scan_table.steps_count; + if (has_flag(flags, MotorFlag::FEED)) { + dist *= 2; + } + } + DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); + + /* check for overflow */ + if (dist < feedl) { + feedl -= dist; + } else { + feedl = 0; + } + + reg->set24(REG_FEEDL, feedl); + DBG (DBG_io ,"%s: feedl=%d\n",__func__,feedl); + + r = sanei_genesys_get_address(reg, REG_0x0C); + ccdlmt = (r->value & REG_0x0C_CCDLMT) + 1; + + r = sanei_genesys_get_address(reg, REG_0x1C); + tgtime = 1 << (r->value & REG_0x1C_TGTIME); + + /* hi res motor speed GPIO */ + /* + uint8_t effective = dev->interface->read_register(REG_0x6C); + */ + + /* if quarter step, bipolar Vref2 */ + /* XXX STEF XXX GPIO + if (motor_profile.step_type > 1) + { + if (motor_profile.step_type < 3) + { + val = effective & ~REG_0x6C_GPIO13; + } + else + { + val = effective | REG_0x6C_GPIO13; + } + } + else + { + val = effective; + } + dev->interface->write_register(REG_0x6C, val); + */ + + /* effective scan */ + /* + effective = dev->interface->read_register(REG_0x6C); + val = effective | REG_0x6C_GPIO10; + dev->interface->write_register(REG_0x6C, val); + */ + + if(dev->model->gpio_id == GpioId::IMG101) { + if (scan_yres == sensor.get_register_hwdpi(scan_yres)) { + val=1; + } + else + { + val=0; + } + dev->interface->write_register(REG_0x7E, val); + } + + min_restep = (scan_table.steps_count / step_multiplier) / 2 - 1; + if (min_restep < 1) { + min_restep = 1; + } + r = sanei_genesys_get_address(reg, REG_FWDSTEP); + r->value = min_restep; + r = sanei_genesys_get_address(reg, REG_BWDSTEP); + r->value = min_restep; + + sanei_genesys_calculate_zmod(use_fast_fed, + scan_exposure_time*ccdlmt*tgtime, + scan_table.table, + scan_table.steps_count, + feedl, + min_restep * step_multiplier, + &z1, + &z2); + + DBG(DBG_info, "%s: z1 = %d\n", __func__, z1); + reg->set24(REG_0x60, z1 | (static_cast(motor_profile.step_type) << (16 + REG_0x60S_STEPSEL))); + + DBG(DBG_info, "%s: z2 = %d\n", __func__, z2); + reg->set24(REG_0x63, z2 | (static_cast(motor_profile.step_type) << (16 + REG_0x63S_FSTPSEL))); + + r = sanei_genesys_get_address (reg, 0x1e); + r->value &= 0xf0; /* 0 dummy lines */ + r->value |= scan_dummy; /* dummy lines */ + + r = sanei_genesys_get_address(reg, REG_0x67); + r->value = 0x7f; + + r = sanei_genesys_get_address(reg, REG_0x68); + r->value = 0x7f; + + reg->set8(REG_STEPNO, scan_table.steps_count / step_multiplier); + reg->set8(REG_FASTNO, scan_table.steps_count / step_multiplier); + reg->set8(REG_FSHDEC, scan_table.steps_count / step_multiplier); + reg->set8(REG_FMOVNO, fast_table.steps_count / step_multiplier); + reg->set8(REG_FMOVDEC, fast_table.steps_count / step_multiplier); +} + + +/** @brief set up registers related to sensor + * Set up the following registers + 0x01 + 0x03 + 0x10-0x015 R/G/B exposures + 0x19 EXPDMY + 0x2e BWHI + 0x2f BWLO + 0x04 + 0x87 + 0x05 + 0x2c,0x2d DPISET + 0x30,0x31 STRPIXEL + 0x32,0x33 ENDPIXEL + 0x35,0x36,0x37 MAXWD [25:2] (>>2) + 0x38,0x39 LPERIOD + 0x34 DUMMY + */ +static void gl846_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, unsigned int exposure_time, + const ScanSession& session) +{ + DBG_HELPER_ARGS(dbg, "exposure_time=%d", exposure_time); + unsigned int dpihw; + GenesysRegister *r; + + // resolution is divided according to ccd_pixels_per_system_pixel() + unsigned ccd_pixels_per_system_pixel = sensor.ccd_pixels_per_system_pixel(); + DBG(DBG_io2, "%s: ccd_pixels_per_system_pixel=%d\n", __func__, ccd_pixels_per_system_pixel); + + // to manage high resolution device while keeping good low resolution scanning speed, + // we make hardware dpi vary + dpihw = sensor.get_register_hwdpi(session.params.xres * ccd_pixels_per_system_pixel); + DBG(DBG_io2, "%s: dpihw=%d\n", __func__, dpihw); + + gl846_setup_sensor(dev, sensor, reg); + + dev->cmd_set->set_fe(dev, sensor, AFE_SET); + + /* enable shading */ + regs_set_optical_off(dev->model->asic_type, *reg); + r = sanei_genesys_get_address(reg, REG_0x01); + r->value |= REG_0x01_SHDAREA; + if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) || + (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) + { + r->value &= ~REG_0x01_DVDSET; + } + else + { + r->value |= REG_0x01_DVDSET; + } + + r = sanei_genesys_get_address(reg, REG_0x03); + r->value &= ~REG_0x03_AVEENB; + + sanei_genesys_set_lamp_power(dev, sensor, *reg, + !has_flag(session.params.flags, ScanFlag::DISABLE_LAMP)); + + /* BW threshold */ + r = sanei_genesys_get_address (reg, 0x2e); + r->value = dev->settings.threshold; + r = sanei_genesys_get_address (reg, 0x2f); + r->value = dev->settings.threshold; + + /* monochrome / color scan */ + r = sanei_genesys_get_address(reg, REG_0x04); + switch (session.params.depth) { + case 8: + r->value &= ~(REG_0x04_LINEART | REG_0x04_BITSET); + break; + case 16: + r->value &= ~REG_0x04_LINEART; + r->value |= REG_0x04_BITSET; + break; + } + + r->value &= ~(REG_0x04_FILTER | REG_0x04_AFEMOD); + if (session.params.channels == 1) + { + switch (session.params.color_filter) + { + case ColorFilter::RED: + r->value |= 0x24; + break; + case ColorFilter::BLUE: + r->value |= 0x2c; + break; + case ColorFilter::GREEN: + r->value |= 0x28; + break; + default: + break; // should not happen + } + } else { + r->value |= 0x20; // mono + } + + sanei_genesys_set_dpihw(*reg, sensor, dpihw); + + if (should_enable_gamma(session, sensor)) { + reg->find_reg(REG_0x05).value |= REG_0x05_GMMENB; + } else { + reg->find_reg(REG_0x05).value &= ~REG_0x05_GMMENB; + } + + /* CIS scanners can do true gray by setting LEDADD */ + /* we set up LEDADD only when asked */ + if (dev->model->is_cis) { + r = sanei_genesys_get_address (reg, 0x87); + r->value &= ~REG_0x87_LEDADD; + if (session.enable_ledadd) { + r->value |= REG_0x87_LEDADD; + } + /* RGB weighting + r = sanei_genesys_get_address (reg, 0x01); + r->value &= ~REG_0x01_TRUEGRAY; + if (session.enable_ledadd)) + { + r->value |= REG_0x01_TRUEGRAY; + }*/ + } + + unsigned dpiset = session.params.xres * ccd_pixels_per_system_pixel; + reg->set16(REG_DPISET, dpiset); + DBG(DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); + + reg->set16(REG_STRPIXEL, session.pixel_startx); + reg->set16(REG_ENDPIXEL, session.pixel_endx); + + build_image_pipeline(dev, session); + + /* MAXWD is expressed in 4 words unit */ + // BUG: we shouldn't multiply by channels here + reg->set24(REG_MAXWD, (session.output_line_bytes_raw * session.params.channels >> 2)); + + reg->set16(REG_LPERIOD, exposure_time); + DBG (DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); + + r = sanei_genesys_get_address (reg, 0x34); + r->value = sensor.dummy_pixel; +} + +void CommandSetGl846::init_regs_for_scan_session(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const ScanSession& session) const +{ + DBG_HELPER(dbg); + session.assert_computed(); + + int move; + int exposure_time; + + int slope_dpi = 0; + int dummy = 0; + + dummy = 3-session.params.channels; + +/* slope_dpi */ +/* cis color scan is effectively a gray scan with 3 gray lines per color + line and a FILTER of 0 */ + if (dev->model->is_cis) { + slope_dpi = session.params.yres * session.params.channels; + } else { + slope_dpi = session.params.yres; + } + + slope_dpi = slope_dpi * (1 + dummy); + + exposure_time = sensor.exposure_lperiod; + const auto& motor_profile = sanei_genesys_get_motor_profile(*gl846_motor_profiles, + dev->model->motor_id, + exposure_time); + + DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); + DBG(DBG_info, "%s : scan_step_type=%d\n", __func__, + static_cast(motor_profile.step_type)); + + /* we enable true gray for cis scanners only, and just when doing + * scan since color calibration is OK for this mode + */ + gl846_init_optical_regs_scan(dev, sensor, reg, exposure_time, session); + +/*** motor parameters ***/ + + /* add tl_y to base movement */ + move = session.params.starty; + DBG(DBG_info, "%s: move=%d steps\n", __func__, move); + + MotorFlag mflags = MotorFlag::NONE; + if (has_flag(session.params.flags, ScanFlag::DISABLE_BUFFER_FULL_MOVE)) { + mflags |= MotorFlag::DISABLE_BUFFER_FULL_MOVE; + } + if (has_flag(session.params.flags, ScanFlag::FEEDING)) { + mflags |= MotorFlag::FEED; + } + if (has_flag(session.params.flags, ScanFlag::REVERSE)) { + mflags |= MotorFlag::REVERSE; + } + + gl846_init_motor_regs_scan(dev, sensor, reg, motor_profile, exposure_time, slope_dpi, + dev->model->is_cis ? session.output_line_count * session.params.channels + : session.output_line_count, + dummy, move, mflags); + + /*** prepares data reordering ***/ + + dev->read_buffer.clear(); + dev->read_buffer.alloc(session.buffer_size_read); + + dev->read_active = true; + + dev->session = session; + + dev->total_bytes_read = 0; + dev->total_bytes_to_read = session.output_line_bytes_requested * session.params.lines; + + DBG(DBG_info, "%s: total bytes to send = %zu\n", __func__, dev->total_bytes_to_read); +} + +ScanSession CommandSetGl846::calculate_scan_session(const Genesys_Device* dev, + const Genesys_Sensor& sensor, + const Genesys_Settings& settings) const +{ + int start; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, settings); + + /* start */ + start = static_cast(dev->model->x_offset); + start += static_cast(settings.tl_x); + start = static_cast((start * sensor.optical_res) / MM_PER_INCH); + + ScanSession session; + session.params.xres = settings.xres; + session.params.yres = settings.yres; + session.params.startx = start; // not used + session.params.starty = 0; // not used + session.params.pixels = settings.pixels; + session.params.requested_pixels = settings.requested_pixels; + session.params.lines = settings.lines; + session.params.depth = settings.depth; + session.params.channels = settings.get_channels(); + session.params.scan_method = settings.scan_method; + session.params.scan_mode = settings.scan_mode; + session.params.color_filter = settings.color_filter; + session.params.flags = ScanFlag::NONE; + + compute_session(dev, session, sensor); + + return session; +} + +// for fast power saving methods only, like disabling certain amplifiers +void CommandSetGl846::save_power(Genesys_Device* dev, bool enable) const +{ + (void) dev; + DBG_HELPER_ARGS(dbg, "enable = %d", enable); +} + +void CommandSetGl846::set_powersaving(Genesys_Device* dev, int delay /* in minutes */) const +{ + (void) dev; + DBG_HELPER_ARGS(dbg, "delay = %d", delay); +} + +// Send the low-level scan command +void CommandSetGl846::begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, bool start_motor) const +{ + DBG_HELPER(dbg); + (void) sensor; + uint8_t val; + GenesysRegister *r; + + /* XXX STEF XXX SCAN GPIO */ + /* + val = dev->interface->read_register(REG_0x6C); + dev->interface->write_register(REG_0x6C, val); + */ + + val = REG_0x0D_CLRLNCNT; + dev->interface->write_register(REG_0x0D, val); + val = REG_0x0D_CLRMCNT; + dev->interface->write_register(REG_0x0D, val); + + val = dev->interface->read_register(REG_0x01); + val |= REG_0x01_SCAN; + dev->interface->write_register(REG_0x01, val); + r = sanei_genesys_get_address (reg, REG_0x01); + r->value = val; + + scanner_start_action(*dev, start_motor); + + dev->advance_head_pos_by_session(ScanHeadId::PRIMARY); +} + + +// Send the stop scan command +void CommandSetGl846::end_scan(Genesys_Device* dev, Genesys_Register_Set* reg, + bool check_stop) const +{ + (void) reg; + DBG_HELPER_ARGS(dbg, "check_stop = %d", check_stop); + + if (!dev->model->is_sheetfed) { + scanner_stop_action(*dev); + } +} + +// Moves the slider to the home (top) postion slowly +void CommandSetGl846::move_back_home(Genesys_Device* dev, bool wait_until_home) const +{ + scanner_move_back_home(*dev, wait_until_home); +} + +// Automatically set top-left edge of the scan area by scanning a 200x200 pixels area at 600 dpi +// from very top of scanner +void CommandSetGl846::search_start_position(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + int size; + Genesys_Register_Set local_reg; + + int pixels = 600; + int dpi = 300; + + local_reg = dev->reg; + + /* sets for a 200 lines * 600 pixels */ + /* normal scan with no shading */ + + // FIXME: the current approach of doing search only for one resolution does not work on scanners + // whith employ different sensors with potentially different settings. + const auto& sensor = sanei_genesys_find_sensor(dev, dpi, 1, dev->model->default_method); + + ScanSession session; + session.params.xres = dpi; + session.params.yres = dpi; + session.params.startx = 0; + session.params.starty = 0; /*we should give a small offset here~60 steps */ + session.params.pixels = 600; + session.params.lines = dev->model->search_lines; + session.params.depth = 8; + session.params.channels = 1; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::GRAY; + session.params.color_filter = ColorFilter::GREEN; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, &local_reg, session); + + // send to scanner + dev->interface->write_registers(local_reg); + + size = pixels * dev->model->search_lines; + + std::vector data(size); + + begin_scan(dev, sensor, &local_reg, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("search_start_position"); + end_scan(dev, &local_reg, true); + dev->reg = local_reg; + return; + } + + wait_until_buffer_non_empty(dev); + + // now we're on target, we can read data + sanei_genesys_read_data_from_scanner(dev, data.data(), size); + + if (DBG_LEVEL >= DBG_data) { + sanei_genesys_write_pnm_file("gl846_search_position.pnm", data.data(), 8, 1, pixels, + dev->model->search_lines); + } + + end_scan(dev, &local_reg, true); + + /* update regs to copy ASIC internal state */ + dev->reg = local_reg; + + // TODO: find out where sanei_genesys_search_reference_point stores information, + // and use that correctly + for (auto& sensor_update : + sanei_genesys_find_sensors_all_for_write(dev, dev->model->default_method)) + { + sanei_genesys_search_reference_point(dev, sensor_update, data.data(), 0, dpi, pixels, + dev->model->search_lines); + } +} + +// sets up register for coarse gain calibration +// todo: check it for scanners using it +void CommandSetGl846::init_regs_for_coarse_calibration(Genesys_Device* dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + + ScanSession session; + session.params.xres = dev->settings.xres; + session.params.yres = dev->settings.yres; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = sensor.optical_res / sensor.ccd_pixels_per_system_pixel(); + session.params.lines = 20; + session.params.depth = 16; + session.params.channels = dev->settings.get_channels(); + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, ®s, session); + + DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, + sensor.optical_res / sensor.ccd_pixels_per_system_pixel(), dev->settings.xres); + + dev->interface->write_registers(regs); +} + +// init registers for shading calibration +void CommandSetGl846::init_regs_for_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + float move; + + dev->calib_channels = 3; + + /* initial calibration reg values */ + regs = dev->reg; + + dev->calib_resolution = sensor.get_register_hwdpi(dev->settings.xres); + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, dev->calib_resolution, + dev->calib_channels, + dev->settings.scan_method); + dev->calib_total_bytes_to_read = 0; + dev->calib_lines = dev->model->shading_lines; + if (dev->calib_resolution==4800) { + dev->calib_lines *= 2; + } + dev->calib_pixels = (calib_sensor.sensor_pixels * dev->calib_resolution) / + calib_sensor.optical_res; + + DBG(DBG_io, "%s: calib_lines = %zu\n", __func__, dev->calib_lines); + DBG(DBG_io, "%s: calib_pixels = %zu\n", __func__, dev->calib_pixels); + + /* this is aworkaround insufficent distance for slope + * motor acceleration TODO special motor slope for shading */ + move=1; + if(dev->calib_resolution<1200) + { + move=40; + } + + ScanSession session; + session.params.xres = dev->calib_resolution; + session.params.yres = dev->calib_resolution; + session.params.startx = 0; + session.params.starty = static_cast(move); + session.params.pixels = dev->calib_pixels; + session.params.lines = dev->calib_lines; + session.params.depth = 16; + session.params.channels = dev->calib_channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::DISABLE_BUFFER_FULL_MOVE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, calib_sensor); + + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + + dev->interface->write_registers(regs); + + /* we use GENESYS_FLAG_SHADING_REPARK */ + dev->set_head_pos_zero(ScanHeadId::PRIMARY); +} + +/** @brief set up registers for the actual scan + */ +void CommandSetGl846::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sensor& sensor) const +{ + DBG_HELPER(dbg); + float move; + int move_dpi; + float start; + + debug_dump(DBG_info, dev->settings); + + /* steps to move to reach scanning area: + - first we move to physical start of scanning + either by a fixed steps amount from the black strip + or by a fixed amount from parking position, + minus the steps done during shading calibration + - then we move by the needed offset whitin physical + scanning area + + assumption: steps are expressed at maximum motor resolution + + we need: + float y_offset; + float y_size; + float y_offset_calib; + mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ + + /* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is + relative from origin, else, it is from parking position */ + + move_dpi = dev->motor.base_ydpi; + + move = static_cast(dev->model->y_offset); + move = static_cast(move + dev->settings.tl_y); + move = static_cast((move * move_dpi) / MM_PER_INCH); + move -= dev->head_pos(ScanHeadId::PRIMARY); + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + /* fast move to scan area */ + /* we don't move fast the whole distance since it would involve + * computing acceleration/deceleration distance for scan + * resolution. So leave a remainder for it so scan makes the final + * move tuning */ + if (dev->settings.get_channels() * dev->settings.yres >= 600 && move > 700) { + scanner_move(*dev, dev->model->default_method, static_cast(move - 500), + Direction::FORWARD); + move=500; + } + + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + /* start */ + start = static_cast(dev->model->x_offset); + start = static_cast(start + dev->settings.tl_x); + start = static_cast((start * sensor.optical_res) / MM_PER_INCH); + + ScanSession session; + session.params.xres = dev->settings.xres; + session.params.yres = dev->settings.yres; + session.params.startx = static_cast(start); + session.params.starty = static_cast(move); + session.params.pixels = dev->settings.pixels; + session.params.requested_pixels = dev->settings.requested_pixels; + session.params.lines = dev->settings.lines; + session.params.depth = dev->settings.depth; + session.params.channels = dev->settings.get_channels(); + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + // backtracking isn't handled well, so don't enable it + session.params.flags = ScanFlag::DISABLE_BUFFER_FULL_MOVE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, &dev->reg, session); +} + + +/** + * Send shading calibration data. The buffer is considered to always hold values + * for all the channels. + */ +void CommandSetGl846::send_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, + uint8_t* data, int size) const +{ + DBG_HELPER_ARGS(dbg, "writing %d bytes of shading data", size); + uint32_t addr, length, i, x, factor, pixels; + uint32_t dpiset, dpihw; + uint8_t val,*ptr,*src; + + /* shading data is plit in 3 (up to 5 with IR) areas + write(0x10014000,0x00000dd8) + URB 23429 bulk_out len 3544 wrote 0x33 0x10 0x.... + write(0x1003e000,0x00000dd8) + write(0x10068000,0x00000dd8) + */ + length = static_cast(size / 3); + unsigned strpixel = dev->session.pixel_startx; + unsigned endpixel = dev->session.pixel_endx; + + /* compute deletion factor */ + dpiset = dev->reg.get16(REG_DPISET); + dpihw = sensor.get_register_hwdpi(dpiset); + factor=dpihw/dpiset; + DBG(DBG_io2, "%s: factor=%d\n", __func__, factor); + + pixels=endpixel-strpixel; + + /* since we're using SHDAREA, substract startx coordinate from shading */ + strpixel -= (sensor.ccd_start_xoffset * 600) / sensor.optical_res; + + /* turn pixel value into bytes 2x16 bits words */ + strpixel*=2*2; + pixels*=2*2; + + dev->interface->record_key_value("shading_offset", std::to_string(strpixel)); + dev->interface->record_key_value("shading_pixels", std::to_string(pixels)); + dev->interface->record_key_value("shading_length", std::to_string(length)); + dev->interface->record_key_value("shading_factor", std::to_string(factor)); + + std::vector buffer(pixels, 0); + + DBG(DBG_io2, "%s: using chunks of %d (0x%04x) bytes\n", __func__, pixels, pixels); + + /* base addr of data has been written in reg D0-D4 in 4K word, so AHB address + * is 8192*reg value */ + + /* write actual color channel data */ + for(i=0;i<3;i++) + { + /* build up actual shading data by copying the part from the full width one + * to the one corresponding to SHDAREA */ + ptr = buffer.data(); + + /* iterate on both sensor segment */ + for(x=0;xinterface->read_register(0xd0+i); + addr = val * 8192 + 0x10000000; + dev->interface->write_ahb(addr, pixels, buffer.data()); + } +} + +/** @brief calibrates led exposure + * Calibrate exposure by scanning a white area until the used exposure gives + * data white enough. + * @param dev device to calibrate + */ +SensorExposure CommandSetGl846::led_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + int num_pixels; + int total_size; + int used_res; + int i, j; + int val; + int channels; + int avg[3], top[3], bottom[3]; + int turn; + uint16_t exp[3]; + + float move = static_cast(dev->model->y_offset_calib_white); + move = static_cast((move * (dev->motor.base_ydpi / 4)) / MM_PER_INCH); + if(move>20) + { + scanner_move(*dev, dev->model->default_method, static_cast(move), + Direction::FORWARD); + } + DBG(DBG_io, "%s: move=%f steps\n", __func__, move); + + /* offset calibration is always done in color mode */ + channels = 3; + used_res = sensor.get_register_hwdpi(dev->settings.xres); + const auto& calib_sensor = sanei_genesys_find_sensor(dev, used_res, channels, + dev->settings.scan_method); + num_pixels = (calib_sensor.sensor_pixels * used_res) / calib_sensor.optical_res; + + /* initial calibration reg values */ + regs = dev->reg; + + ScanSession session; + session.params.xres = used_res; + session.params.yres = used_res; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = num_pixels; + session.params.lines = 1; + session.params.depth = 16; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, calib_sensor); + + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + + total_size = num_pixels * channels * (session.params.depth / 8) * 1; + std::vector line(total_size); + + /* initial loop values and boundaries */ + exp[0] = calib_sensor.exposure.red; + exp[1] = calib_sensor.exposure.green; + exp[2] = calib_sensor.exposure.blue; + + bottom[0]=29000; + bottom[1]=29000; + bottom[2]=29000; + + top[0]=41000; + top[1]=51000; + top[2]=51000; + + turn = 0; + + /* no move during led calibration */ + sanei_genesys_set_motor_power(regs, false); + bool acceptable = false; + do + { + // set up exposure + regs.set16(REG_EXPR, exp[0]); + regs.set16(REG_EXPG, exp[1]); + regs.set16(REG_EXPB, exp[2]); + + // write registers and scan data + dev->interface->write_registers(regs); + + DBG(DBG_info, "%s: starting line reading\n", __func__); + begin_scan(dev, calib_sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("led_calibration"); + scanner_stop_action(*dev); + move_back_home(dev, true); + return calib_sensor.exposure; + } + + sanei_genesys_read_data_from_scanner(dev, line.data(), total_size); + + // stop scanning + scanner_stop_action(*dev); + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + std::snprintf(fn, 30, "gl846_led_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, line.data(), session.params.depth, + channels, num_pixels, 1); + } + + /* compute average */ + for (j = 0; j < channels; j++) + { + avg[j] = 0; + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * num_pixels + 1] * 256 + + line[i * 2 + j * 2 * num_pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + avg[j] += val; + } + + avg[j] /= num_pixels; + } + + DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); + + /* check if exposure gives average within the boundaries */ + acceptable = true; + for(i=0;i<3;i++) + { + if(avg[i]top[i]) + { + exp[i]=(exp[i]*top[i])/avg[i]; + acceptable = false; + } + } + + turn++; + } + while (!acceptable && turn < 100); + + DBG(DBG_info, "%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0], exp[1], exp[2]); + + // set these values as final ones for scan + dev->reg.set16(REG_EXPR, exp[0]); + dev->reg.set16(REG_EXPG, exp[1]); + dev->reg.set16(REG_EXPB, exp[2]); + + /* go back home */ + if(move>20) + { + move_back_home(dev, true); + } + + return { exp[0], exp[1], exp[2] }; +} + +/** + * set up GPIO/GPOE for idle state + */ +static void gl846_init_gpio(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + int idx=0; + + /* search GPIO profile */ + while (gpios[idx].gpio_id != GpioId::UNKNOWN && dev->model->gpio_id != gpios[idx].gpio_id) { + idx++; + } + if (gpios[idx].gpio_id == GpioId::UNKNOWN) + { + throw SaneException("failed to find GPIO profile for sensor_id=%d", + static_cast(dev->model->sensor_id)); + } + + dev->interface->write_register(REG_0xA7, gpios[idx].ra7); + dev->interface->write_register(REG_0xA6, gpios[idx].ra6); + + dev->interface->write_register(REG_0x6B, gpios[idx].r6b); + dev->interface->write_register(REG_0x6C, gpios[idx].r6c); + dev->interface->write_register(REG_0x6D, gpios[idx].r6d); + dev->interface->write_register(REG_0x6E, gpios[idx].r6e); + dev->interface->write_register(REG_0x6F, gpios[idx].r6f); + + dev->interface->write_register(REG_0xA8, gpios[idx].ra8); + dev->interface->write_register(REG_0xA9, gpios[idx].ra9); +} + +/** + * set memory layout by filling values in dedicated registers + */ +static void gl846_init_memory_layout(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + int idx = 0, i; + uint8_t val; + + /* point to per model memory layout */ + idx = 0; + while (layouts[idx].model != nullptr && strcmp(dev->model->name,layouts[idx].model)!=0) { + if(strcmp(dev->model->name,layouts[idx].model)!=0) + idx++; + } + if (layouts[idx].model == nullptr) { + throw SaneException("failed to find memory layout for model %s", dev->model->name); + } + + /* CLKSET and DRAMSEL */ + val = layouts[idx].dramsel; + dev->interface->write_register(REG_0x0B, val); + dev->reg.find_reg(0x0b).value = val; + + /* prevent further writings by bulk write register */ + dev->reg.remove_reg(0x0b); + + /* setup base address for shading and scanned data. */ + for(i=0;i<10;i++) + { + dev->interface->write_register(0xe0+i, layouts[idx].rx[i]); + } +} + +/* * + * initialize ASIC from power on condition + */ +void CommandSetGl846::asic_boot(Genesys_Device* dev, bool cold) const +{ + DBG_HELPER(dbg); + uint8_t val; + + // reset ASIC if cold boot + if (cold) { + dev->interface->write_register(0x0e, 0x01); + dev->interface->write_register(0x0e, 0x00); + } + + if(dev->usb_mode == 1) + { + val = 0x14; + } + else + { + val = 0x11; + } + dev->interface->write_0x8c(0x0f, val); + + // test CHKVER + val = dev->interface->read_register(REG_0x40); + if (val & REG_0x40_CHKVER) { + val = dev->interface->read_register(0x00); + DBG(DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); + } + + /* Set default values for registers */ + gl846_init_registers (dev); + + // Write initial registers + dev->interface->write_registers(dev->reg); + + /* Enable DRAM by setting a rising edge on bit 3 of reg 0x0b */ + val = dev->reg.find_reg(0x0b).value & REG_0x0B_DRAMSEL; + val = (val | REG_0x0B_ENBDRAM); + dev->interface->write_register(REG_0x0B, val); + dev->reg.find_reg(0x0b).value = val; + + /* CIS_LINE */ + if (dev->model->is_cis) + { + dev->reg.init_reg(0x08, REG_0x08_CIS_LINE); + dev->interface->write_register(0x08, dev->reg.find_reg(0x08).value); + } + + // set up clocks + dev->interface->write_0x8c(0x10, 0x0e); + dev->interface->write_0x8c(0x13, 0x0e); + + // setup gpio + gl846_init_gpio(dev); + + // setup internal memory layout + gl846_init_memory_layout(dev); + + dev->reg.init_reg(0xf8, 0x05); + dev->interface->write_register(0xf8, dev->reg.find_reg(0xf8).value); +} + +/** + * initialize backend and ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home + */ +void CommandSetGl846::init(Genesys_Device* dev) const +{ + DBG_INIT (); + DBG_HELPER(dbg); + + sanei_genesys_asic_init(dev, 0); +} + +void CommandSetGl846::update_hardware_sensors(Genesys_Scanner* s) const +{ + DBG_HELPER(dbg); + /* do what is needed to get a new set of events, but try to not lose + any of them. + */ + uint8_t val; + uint8_t scan, file, email, copy; + switch(s->dev->model->gpio_id) + { + default: + scan=0x01; + file=0x02; + email=0x04; + copy=0x08; + } + val = s->dev->interface->read_register(REG_0x6D); + + s->buttons[BUTTON_SCAN_SW].write((val & scan) == 0); + s->buttons[BUTTON_FILE_SW].write((val & file) == 0); + s->buttons[BUTTON_EMAIL_SW].write((val & email) == 0); + s->buttons[BUTTON_COPY_SW].write((val & copy) == 0); +} + + +void CommandSetGl846::update_home_sensor_gpio(Genesys_Device& dev) const +{ + DBG_HELPER(dbg); + + std::uint8_t val = dev.interface->read_register(REG_0x6C); + val |= 0x41; + dev.interface->write_register(REG_0x6C, val); +} + +/** @brief search for a full width black or white strip. + * This function searches for a black or white stripe across the scanning area. + * When searching backward, the searched area must completely be of the desired + * color since this area will be used for calibration which scans forward. + * @param dev scanner device + * @param forward true if searching forward, false if searching backward + * @param black true if searching for a black strip, false for a white strip + */ +void CommandSetGl846::search_strip(Genesys_Device* dev, const Genesys_Sensor& sensor, bool forward, + bool black) const +{ + DBG_HELPER_ARGS(dbg, "%s %s", black ? "black" : "white", forward ? "forward" : "reverse"); + unsigned int pixels, lines, channels; + Genesys_Register_Set local_reg; + size_t size; + unsigned int pass, count, found, x, y; + char title[80]; + + set_fe(dev, sensor, AFE_SET); + + scanner_stop_action(*dev); + + // set up for a gray scan at lowest dpi + const auto& resolution_settings = dev->model->get_resolution_settings(dev->settings.scan_method); + unsigned dpi = resolution_settings.get_min_resolution_x(); + channels = 1; + /* 10 MM */ + /* lines = (10 * dpi) / MM_PER_INCH; */ + /* shading calibation is done with dev->motor.base_ydpi */ + lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; + pixels = (sensor.sensor_pixels * dpi) / sensor.optical_res; + + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + + local_reg = dev->reg; + + ScanSession session; + session.params.xres = dpi; + session.params.yres = dpi; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = pixels; + session.params.lines = lines; + session.params.depth = 8; + session.params.channels = channels; + session.params.scan_mode = ScanColorMode::GRAY; + session.params.color_filter = ColorFilter::RED; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA; + if (!forward) { + session.params.flags |= ScanFlag::REVERSE; + } + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, &local_reg, session); + + size = pixels * channels * lines * (session.params.depth / 8); + std::vector data(size); + + dev->interface->write_registers(local_reg); + + begin_scan(dev, sensor, &local_reg, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("search_strip"); + scanner_stop_action(*dev); + return; + } + + wait_until_buffer_non_empty(dev); + + // now we're on target, we can read data + sanei_genesys_read_data_from_scanner(dev, data.data(), size); + + scanner_stop_action(*dev); + + pass = 0; + if (DBG_LEVEL >= DBG_data) + { + std::sprintf(title, "gl846_search_strip_%s_%s%02d.pnm", + black ? "black" : "white", forward ? "fwd" : "bwd", pass); + sanei_genesys_write_pnm_file(title, data.data(), session.params.depth, + channels, pixels, lines); + } + + /* loop until strip is found or maximum pass number done */ + found = 0; + while (pass < 20 && !found) + { + dev->interface->write_registers(local_reg); + + // now start scan + begin_scan(dev, sensor, &local_reg, true); + + wait_until_buffer_non_empty(dev); + + // now we're on target, we can read data + sanei_genesys_read_data_from_scanner(dev, data.data(), size); + + scanner_stop_action(*dev); + + if (DBG_LEVEL >= DBG_data) + { + std::sprintf(title, "gl846_search_strip_%s_%s%02d.pnm", + black ? "black" : "white", forward ? "fwd" : "bwd", pass); + sanei_genesys_write_pnm_file(title, data.data(), session.params.depth, + channels, pixels, lines); + } + + /* search data to find black strip */ + /* when searching forward, we only need one line of the searched color since we + * will scan forward. But when doing backward search, we need all the area of the + * same color */ + if (forward) + { + for (y = 0; y < lines && !found; y++) + { + count = 0; + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > 90) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < 60) + { + count++; + } + } + + /* at end of line, if count >= 3%, line is not fully of the desired color + * so we must go to next line of the buffer */ + /* count*100/pixels < 3 */ + if ((count * 100) / pixels < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, + pass, y); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + } + else /* since calibration scans are done forward, we need the whole area + to be of the required color when searching backward */ + { + count = 0; + for (y = 0; y < lines; y++) + { + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > 90) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < 60) + { + count++; + } + } + } + + /* at end of area, if count >= 3%, area is not fully of the desired color + * so we must go to next buffer */ + if ((count * 100) / (pixels * lines) < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + pass++; + } + + if (found) + { + DBG(DBG_info, "%s: %s strip found\n", __func__, black ? "black" : "white"); + } + else + { + throw SaneException(SANE_STATUS_UNSUPPORTED, "%s strip not found", black ? "black" : "white"); + } +} + +/** + * average dark pixels of a 8 bits scan + */ +static int +dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, + unsigned int channels, unsigned int black) +{ + unsigned int i, j, k, average, count; + unsigned int avg[3]; + uint8_t val; + + /* computes average value on black margin */ + for (k = 0; k < channels; k++) + { + avg[k] = 0; + count = 0; + for (i = 0; i < lines; i++) + { + for (j = 0; j < black; j++) + { + val = data[i * channels * pixels + j + k]; + avg[k] += val; + count++; + } + } + if (count) + avg[k] /= count; + DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); + } + average = 0; + for (i = 0; i < channels; i++) + average += avg[i]; + average /= channels; + DBG(DBG_info, "%s: average = %d\n", __func__, average); + return average; +} + +void CommandSetGl846::offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + unsigned channels; + int pass = 0, avg, total_size; + int topavg, bottomavg, lines; + int top, bottom, black_pixels, pixels; + + // no gain nor offset for AKM AFE + uint8_t reg04 = dev->interface->read_register(REG_0x04); + if ((reg04 & REG_0x04_FESET) == 0x02) { + return; + } + + /* offset calibration is always done in color mode */ + channels = 3; + dev->calib_pixels = sensor.sensor_pixels; + lines=1; + pixels = (sensor.sensor_pixels * sensor.optical_res) / sensor.optical_res; + black_pixels = (sensor.black_pixels * sensor.optical_res) / sensor.optical_res; + DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); + + ScanSession session; + session.params.xres = sensor.optical_res; + session.params.yres = sensor.optical_res; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = pixels; + session.params.lines = lines; + session.params.depth = 8; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, ®s, session); + + sanei_genesys_set_motor_power(regs, false); + + total_size = pixels * channels * lines * (session.params.depth / 8); + + std::vector first_line(total_size); + std::vector second_line(total_size); + + /* init gain */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + + /* scan with no move */ + bottom = 10; + dev->frontend.set_offset(0, bottom); + dev->frontend.set_offset(1, bottom); + dev->frontend.set_offset(2, bottom); + + set_fe(dev, sensor, AFE_SET); + dev->interface->write_registers(regs); + DBG(DBG_info, "%s: starting first line reading\n", __func__); + begin_scan(dev, sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("offset_calibration"); + return; + } + + sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size); + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + std::snprintf(fn, 30, "gl846_offset%03d.pnm", bottom); + sanei_genesys_write_pnm_file(fn, first_line.data(), session.params.depth, + channels, pixels, lines); + } + + bottomavg = dark_average(first_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_io2, "%s: bottom avg=%d\n", __func__, bottomavg); + + /* now top value */ + top = 255; + dev->frontend.set_offset(0, top); + dev->frontend.set_offset(1, top); + dev->frontend.set_offset(2, top); + set_fe(dev, sensor, AFE_SET); + dev->interface->write_registers(regs); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + begin_scan(dev, sensor, ®s, true); + sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size); + + topavg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_io2, "%s: top avg=%d\n", __func__, topavg); + + /* loop until acceptable level */ + while ((pass < 32) && (top - bottom > 1)) + { + pass++; + + /* settings for new scan */ + dev->frontend.set_offset(0, (top + bottom) / 2); + dev->frontend.set_offset(1, (top + bottom) / 2); + dev->frontend.set_offset(2, (top + bottom) / 2); + + // scan with no move + set_fe(dev, sensor, AFE_SET); + dev->interface->write_registers(regs); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + begin_scan(dev, sensor, ®s, true); + sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size); + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + std::snprintf(fn, 30, "gl846_offset%03d.pnm", dev->frontend.get_offset(1)); + sanei_genesys_write_pnm_file(fn, second_line.data(), session.params.depth, + channels, pixels, lines); + } + + avg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_info, "%s: avg=%d offset=%d\n", __func__, avg, dev->frontend.get_offset(1)); + + /* compute new boundaries */ + if (topavg == avg) + { + topavg = avg; + top = dev->frontend.get_offset(1); + } + else + { + bottomavg = avg; + bottom = dev->frontend.get_offset(1); + } + } + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); +} + +void CommandSetGl846::coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) const +{ + DBG_HELPER(dbg); + int pixels; + int total_size; + int i, j, channels; + int max[3]; + float gain[3],coeff; + int val, code, lines; + + DBG(DBG_proc, "%s: dpi = %d\n", __func__, dpi); + + // no gain nor offset for AKM AFE + uint8_t reg04 = dev->interface->read_register(REG_0x04); + if ((reg04 & REG_0x04_FESET) == 0x02) { + return; + } + + /* coarse gain calibration is always done in color mode */ + channels = 3; + + /* follow CKSEL */ + if(dev->settings.xressettings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + try { + init_regs_for_scan_session(dev, sensor, ®s, session); + } catch (...) { + catch_all_exceptions(__func__, [&](){ sanei_genesys_set_motor_power(regs, false); }); + throw; + } + + sanei_genesys_set_motor_power(regs, false); + + dev->interface->write_registers(regs); + + total_size = pixels * channels * (16 / session.params.depth) * lines; + + std::vector line(total_size); + + set_fe(dev, sensor, AFE_SET); + begin_scan(dev, sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("coarse_gain_calibration"); + scanner_stop_action(*dev); + move_back_home(dev, true); + return; + } + + sanei_genesys_read_data_from_scanner(dev, line.data(), total_size); + + if (DBG_LEVEL >= DBG_data) { + sanei_genesys_write_pnm_file("gl846_gain.pnm", line.data(), session.params.depth, + channels, pixels, lines); + } + + /* average value on each channel */ + for (j = 0; j < channels; j++) + { + max[j] = 0; + for (i = pixels/4; i < (pixels*3/4); i++) + { + if (dev->model->is_cis) + val = line[i + j * pixels]; + else + val = line[i * channels + j]; + + max[j] += val; + } + max[j] = max[j] / (pixels/2); + + gain[j] = (static_cast(sensor.gain_white_ref) * coeff) / max[j]; + + /* turn logical gain value into gain code, checking for overflow */ + code = static_cast(283 - 208 / gain[j]); + if (code > 255) + code = 255; + else if (code < 0) + code = 0; + dev->frontend.set_gain(j, code); + + DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], gain[j], + dev->frontend.get_gain(j)); + } + + if (dev->model->is_cis) { + uint8_t gain0 = dev->frontend.get_gain(0); + if (gain0 > dev->frontend.get_gain(1)) { + gain0 = dev->frontend.get_gain(1); + } + if (gain0 > dev->frontend.get_gain(2)) { + gain0 = dev->frontend.get_gain(2); + } + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain0); + dev->frontend.set_gain(2, gain0); + } + + scanner_stop_action(*dev); + + move_back_home(dev, true); +} + +bool CommandSetGl846::needs_home_before_init_regs_for_scan(Genesys_Device* dev) const +{ + (void) dev; + return false; +} + +void CommandSetGl846::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, int* channels, + int* total_size) const +{ + (void) dev; + (void) sensor; + (void) regs; + (void) channels; + (void) total_size; + throw SaneException("not implemented"); +} + +void CommandSetGl846::send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) const +{ + sanei_genesys_send_gamma_table(dev, sensor); +} + +void CommandSetGl846::wait_for_motor_stop(Genesys_Device* dev) const +{ + (void) dev; +} + +void CommandSetGl846::load_document(Genesys_Device* dev) const +{ + (void) dev; + throw SaneException("not implemented"); +} + +void CommandSetGl846::detect_document_end(Genesys_Device* dev) const +{ + (void) dev; + throw SaneException("not implemented"); +} + +void CommandSetGl846::eject_document(Genesys_Device* dev) const +{ + (void) dev; + throw SaneException("not implemented"); +} + +void CommandSetGl846::move_to_ta(Genesys_Device* dev) const +{ + (void) dev; + throw SaneException("not implemented"); +} + +std::unique_ptr create_gl846_cmd_set() +{ + return std::unique_ptr(new CommandSetGl846{}); +} + +} // namespace gl846 +} // namespace genesys diff --git a/backend/genesys/gl846.h b/backend/genesys/gl846.h new file mode 100644 index 0000000..258015a --- /dev/null +++ b/backend/genesys/gl846.h @@ -0,0 +1,218 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2012-2013 Stéphane Voltz + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#include "genesys.h" +#include "command_set.h" + +#ifndef BACKEND_GENESYS_GL846_H +#define BACKEND_GENESYS_GL846_H + +namespace genesys { +namespace gl846 { + +typedef struct +{ + GpioId gpio_id; + uint8_t r6b; + uint8_t r6c; + uint8_t r6d; + uint8_t r6e; + uint8_t r6f; + uint8_t ra6; + uint8_t ra7; + uint8_t ra8; + uint8_t ra9; +} Gpio_Profile; + +static Gpio_Profile gpios[]={ + { GpioId::IMG101, 0x72, 0x1f, 0xa4, 0x13, 0xa7, 0x11, 0xff, 0x19, 0x05}, + { GpioId::PLUSTEK_OPTICBOOK_3800, 0x30, 0x01, 0x80, 0x2d, 0x80, 0x0c, 0x8f, 0x08, 0x04}, + { GpioId::UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +}; + +typedef struct +{ + const char *model; + uint8_t dramsel; + /* shading data address */ + uint8_t rd0; + uint8_t rd1; + uint8_t rd2; + /* scanned data address */ + uint8_t rx[24]; +} Memory_layout; + +static Memory_layout layouts[]={ + /* Image formula 101 */ + { + "canon-image-formula-101", + 0x8b, + 0x0a, 0x1b, 0x00, + { /* RED ODD START / RED ODD END */ + 0x00, 0xb0, 0x05, 0xe7, /* [0x00b0, 0x05e7] 1336*4000w */ + /* RED EVEN START / RED EVEN END */ + 0x05, 0xe8, 0x0b, 0x1f, /* [0x05e8, 0x0b1f] */ + /* GREEN ODD START / GREEN ODD END */ + 0x0b, 0x20, 0x10, 0x57, /* [0x0b20, 0x1057] */ + /* GREEN EVEN START / GREEN EVEN END */ + 0x10, 0x58, 0x15, 0x8f, /* [0x1058, 0x158f] */ + /* BLUE ODD START / BLUE ODD END */ + 0x15, 0x90, 0x1a, 0xc7, /* [0x1590,0x1ac7] */ + /* BLUE EVEN START / BLUE EVEN END */ + 0x1a, 0xc8, 0x1f, 0xff /* [0x1ac8,0x1fff] */ + } + }, + /* OpticBook 3800 */ + { + "plustek-opticbook-3800", + 0x2a, + 0x0a, 0x0a, 0x0a, + { /* RED ODD START / RED ODD END */ + 0x00, 0x68, 0x03, 0x00, + /* RED EVEN START / RED EVEN END */ + 0x03, 0x01, 0x05, 0x99, + /* GREEN ODD START / GREEN ODD END */ + 0x05, 0x9a, 0x08, 0x32, + /* GREEN EVEN START / GREEN EVEN END */ + 0x08, 0x33, 0x0a, 0xcb, + /* BLUE ODD START / BLUE ODD END */ + 0x0a, 0xcc, 0x0d, 0x64, + /* BLUE EVEN START / BLUE EVEN END */ + 0x0d, 0x65, 0x0f, 0xfd + } + }, + /* list terminating entry */ + { nullptr, 0, 0, 0, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} } +}; + +class CommandSetGl846 : public CommandSet +{ +public: + ~CommandSetGl846() override = default; + + bool needs_home_before_init_regs_for_scan(Genesys_Device* dev) const override; + + void init(Genesys_Device* dev) const override; + + void init_regs_for_warmup(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, int* channels, + int* total_size) const override; + + void init_regs_for_coarse_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void init_regs_for_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void init_regs_for_scan(Genesys_Device* dev, const Genesys_Sensor& sensor) const override; + + void init_regs_for_scan_session(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const ScanSession& session) const override; + + void set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set) const override; + void set_powersaving(Genesys_Device* dev, int delay) const override; + void save_power(Genesys_Device* dev, bool enable) const override; + + void begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, bool start_motor) const override; + + void end_scan(Genesys_Device* dev, Genesys_Register_Set* regs, bool check_stop) const override; + + void send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) const override; + + void search_start_position(Genesys_Device* dev) const override; + + void offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) const override; + + SensorExposure led_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void wait_for_motor_stop(Genesys_Device* dev) const override; + + void move_back_home(Genesys_Device* dev, bool wait_until_home) const override; + + void update_hardware_sensors(struct Genesys_Scanner* s) const override; + + bool needs_update_home_sensor_gpio() const override { return true; } + + void update_home_sensor_gpio(Genesys_Device& dev) const override; + + void load_document(Genesys_Device* dev) const override; + + void detect_document_end(Genesys_Device* dev) const override; + + void eject_document(Genesys_Device* dev) const override; + + void search_strip(Genesys_Device* dev, const Genesys_Sensor& sensor, + bool forward, bool black) const override; + + void move_to_ta(Genesys_Device* dev) const override; + + void send_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t* data, + int size) const override; + + ScanSession calculate_scan_session(const Genesys_Device* dev, + const Genesys_Sensor& sensor, + const Genesys_Settings& settings) const override; + + void asic_boot(Genesys_Device* dev, bool cold) const override; +}; + +enum SlopeTable +{ + SCAN_TABLE = 0, // table 1 at 0x4000 + BACKTRACK_TABLE = 1, // table 2 at 0x4800 + STOP_TABLE = 2, // table 3 at 0x5000 + FAST_TABLE = 3, // table 4 at 0x5800 + HOME_TABLE = 4, // table 5 at 0x6000 +}; + +} // namespace gl846 +} // namespace genesys + +#endif // BACKEND_GENESYS_GL846_H diff --git a/backend/genesys/gl846_registers.h b/backend/genesys/gl846_registers.h new file mode 100644 index 0000000..39b3029 --- /dev/null +++ b/backend/genesys/gl846_registers.h @@ -0,0 +1,351 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_GL846_REGISTERS_H +#define BACKEND_GENESYS_GL846_REGISTERS_H + +#include + +namespace genesys { +namespace gl846 { + +using RegAddr = std::uint16_t; +using RegMask = std::uint8_t; +using RegShift = unsigned; + +static constexpr RegAddr REG_0x01 = 0x01; +static constexpr RegMask REG_0x01_CISSET = 0x80; +static constexpr RegMask REG_0x01_DOGENB = 0x40; +static constexpr RegMask REG_0x01_DVDSET = 0x20; +static constexpr RegMask REG_0x01_STAGGER = 0x10; +static constexpr RegMask REG_0x01_COMPENB = 0x08; +static constexpr RegMask REG_0x01_TRUEGRAY = 0x04; +static constexpr RegMask REG_0x01_SHDAREA = 0x02; +static constexpr RegMask REG_0x01_SCAN = 0x01; + +static constexpr RegAddr REG_0x02 = 0x02; +static constexpr RegMask REG_0x02_NOTHOME = 0x80; +static constexpr RegMask REG_0x02_ACDCDIS = 0x40; +static constexpr RegMask REG_0x02_AGOHOME = 0x20; +static constexpr RegMask REG_0x02_MTRPWR = 0x10; +static constexpr RegMask REG_0x02_FASTFED = 0x08; +static constexpr RegMask REG_0x02_MTRREV = 0x04; +static constexpr RegMask REG_0x02_HOMENEG = 0x02; +static constexpr RegMask REG_0x02_LONGCURV = 0x01; + +static constexpr RegAddr REG_0x03 = 0x03; +static constexpr RegMask REG_0x03_LAMPDOG = 0x80; +static constexpr RegMask REG_0x03_AVEENB = 0x40; +static constexpr RegMask REG_0x03_XPASEL = 0x20; +static constexpr RegMask REG_0x03_LAMPPWR = 0x10; +static constexpr RegMask REG_0x03_LAMPTIM = 0x0f; + +static constexpr RegAddr REG_0x04 = 0x04; +static constexpr RegMask REG_0x04_LINEART = 0x80; +static constexpr RegMask REG_0x04_BITSET = 0x40; +static constexpr RegMask REG_0x04_AFEMOD = 0x30; +static constexpr RegMask REG_0x04_FILTER = 0x0c; +static constexpr RegMask REG_0x04_FESET = 0x03; + +static constexpr RegShift REG_0x04S_AFEMOD = 4; + +static constexpr RegAddr REG_0x05 = 0x05; +static constexpr RegMask REG_0x05_DPIHW = 0xc0; +static constexpr RegMask REG_0x05_DPIHW_600 = 0x00; +static constexpr RegMask REG_0x05_DPIHW_1200 = 0x40; +static constexpr RegMask REG_0x05_DPIHW_2400 = 0x80; +static constexpr RegMask REG_0x05_DPIHW_4800 = 0xc0; +static constexpr RegMask REG_0x05_MTLLAMP = 0x30; +static constexpr RegMask REG_0x05_GMMENB = 0x08; +static constexpr RegMask REG_0x05_MTLBASE = 0x03; + +static constexpr RegAddr REG_0x06 = 0x06; +static constexpr RegMask REG_0x06_SCANMOD = 0xe0; +static constexpr RegShift REG_0x06S_SCANMOD = 5; +static constexpr RegMask REG_0x06_PWRBIT = 0x10; +static constexpr RegMask REG_0x06_GAIN4 = 0x08; +static constexpr RegMask REG_0x06_OPTEST = 0x07; + +static constexpr RegMask REG_0x07_LAMPSIM = 0x80; + +static constexpr RegMask REG_0x08_DRAM2X = 0x80; +static constexpr RegMask REG_0x08_MPENB = 0x20; +static constexpr RegMask REG_0x08_CIS_LINE = 0x10; +static constexpr RegMask REG_0x08_IR1ENB = 0x08; +static constexpr RegMask REG_0x08_IR2ENB = 0x04; +static constexpr RegMask REG_0x08_ENB24M = 0x01; + +static constexpr RegMask REG_0x09_MCNTSET = 0xc0; +static constexpr RegMask REG_0x09_EVEN1ST = 0x20; +static constexpr RegMask REG_0x09_BLINE1ST = 0x10; +static constexpr RegMask REG_0x09_BACKSCAN = 0x08; +static constexpr RegMask REG_0x09_ENHANCE = 0x04; +static constexpr RegMask REG_0x09_SHORTTG = 0x02; +static constexpr RegMask REG_0x09_NWAIT = 0x01; + +static constexpr RegShift REG_0x09S_MCNTSET = 6; +static constexpr RegShift REG_0x09S_CLKSET = 4; + + +static constexpr RegAddr REG_0x0A_LPWMEN = 0x10; + +static constexpr RegAddr REG_0x0B = 0x0b; +static constexpr RegMask REG_0x0B_DRAMSEL = 0x07; +static constexpr RegMask REG_0x0B_ENBDRAM = 0x08; +static constexpr RegMask REG_0x0B_RFHDIS = 0x10; +static constexpr RegMask REG_0x0B_CLKSET = 0xe0; +static constexpr RegMask REG_0x0B_24MHZ = 0x00; +static constexpr RegMask REG_0x0B_30MHZ = 0x20; +static constexpr RegMask REG_0x0B_40MHZ = 0x40; +static constexpr RegMask REG_0x0B_48MHZ = 0x60; +static constexpr RegMask REG_0x0B_60MHZ = 0x80; + +static constexpr RegAddr REG_0x0C = 0x0c; +static constexpr RegMask REG_0x0C_CCDLMT = 0x0f; + +static constexpr RegAddr REG_0x0D = 0x0d; +static constexpr RegMask REG_0x0D_SCSYNC = 0x40; +static constexpr RegMask REG_0x0D_CLRERR = 0x20; +static constexpr RegMask REG_0x0D_FULLSTP = 0x10; +static constexpr RegMask REG_0x0D_SEND = 0x80; +static constexpr RegMask REG_0x0D_CLRMCNT = 0x04; +static constexpr RegMask REG_0x0D_CLRDOCJM = 0x02; +static constexpr RegMask REG_0x0D_CLRLNCNT = 0x01; + +static constexpr RegAddr REG_0x0F = 0x0f; + +static constexpr RegMask REG_0x16_CTRLHI = 0x80; +static constexpr RegMask REG_0x16_TOSHIBA = 0x40; +static constexpr RegMask REG_0x16_TGINV = 0x20; +static constexpr RegMask REG_0x16_CK1INV = 0x10; +static constexpr RegMask REG_0x16_CK2INV = 0x08; +static constexpr RegMask REG_0x16_CTRLINV = 0x04; +static constexpr RegMask REG_0x16_CKDIS = 0x02; +static constexpr RegMask REG_0x16_CTRLDIS = 0x01; + +static constexpr RegMask REG_0x17_TGMODE = 0xc0; +static constexpr RegMask REG_0x17_TGMODE_NO_DUMMY = 0x00; +static constexpr RegMask REG_0x17_TGMODE_REF = 0x40; +static constexpr RegMask REG_0x17_TGMODE_XPA = 0x80; +static constexpr RegMask REG_0x17_TGW = 0x3f; +static constexpr RegAddr REG_0x17S_TGW = 0; + +static constexpr RegAddr REG_0x18 = 0x18; +static constexpr RegMask REG_0x18_CNSET = 0x80; +static constexpr RegMask REG_0x18_DCKSEL = 0x60; +static constexpr RegMask REG_0x18_CKTOGGLE = 0x10; +static constexpr RegMask REG_0x18_CKDELAY = 0x0c; +static constexpr RegMask REG_0x18_CKSEL = 0x03; + +static constexpr RegMask REG_0x1A_SW2SET = 0x80; +static constexpr RegMask REG_0x1A_SW1SET = 0x40; +static constexpr RegMask REG_0x1A_MANUAL3 = 0x02; +static constexpr RegMask REG_0x1A_MANUAL1 = 0x01; +static constexpr RegMask REG_0x1A_CK4INV = 0x08; +static constexpr RegMask REG_0x1A_CK3INV = 0x04; +static constexpr RegMask REG_0x1A_LINECLP = 0x02; + +static constexpr RegAddr REG_0x1C = 0x1c; +static constexpr RegMask REG_0x1C_TGTIME = 0x07; + +static constexpr RegMask REG_0x1D_CK4LOW = 0x80; +static constexpr RegMask REG_0x1D_CK3LOW = 0x40; +static constexpr RegMask REG_0x1D_CK1LOW = 0x20; +static constexpr RegMask REG_0x1D_TGSHLD = 0x1f; +static constexpr RegShift REG_0x1DS_TGSHLD = 0; + + +static constexpr RegMask REG_0x1E_WDTIME = 0xf0; +static constexpr RegShift REG_0x1ES_WDTIME = 4; +static constexpr RegMask REG_0x1E_LINESEL = 0x0f; +static constexpr RegShift REG_0x1ES_LINESEL = 0; + +static constexpr RegAddr REG_FEDCNT = 0x1f; + +static constexpr RegAddr REG_0x24 = 0x1c; +static constexpr RegAddr REG_0x40 = 0x40; +static constexpr RegMask REG_0x40_DOCSNR = 0x80; +static constexpr RegMask REG_0x40_ADFSNR = 0x40; +static constexpr RegMask REG_0x40_COVERSNR = 0x20; +static constexpr RegMask REG_0x40_CHKVER = 0x10; +static constexpr RegMask REG_0x40_DOCJAM = 0x08; +static constexpr RegMask REG_0x40_HISPDFLG = 0x04; +static constexpr RegMask REG_0x40_MOTMFLG = 0x02; +static constexpr RegMask REG_0x40_DATAENB = 0x01; + +static constexpr RegMask REG_0x41_PWRBIT = 0x80; +static constexpr RegMask REG_0x41_BUFEMPTY = 0x40; +static constexpr RegMask REG_0x41_FEEDFSH = 0x20; +static constexpr RegMask REG_0x41_SCANFSH = 0x10; +static constexpr RegMask REG_0x41_HOMESNR = 0x08; +static constexpr RegMask REG_0x41_LAMPSTS = 0x04; +static constexpr RegMask REG_0x41_FEBUSY = 0x02; +static constexpr RegMask REG_0x41_MOTORENB = 0x01; + +static constexpr RegMask REG_0x58_VSMP = 0xf8; +static constexpr RegShift REG_0x58S_VSMP = 3; +static constexpr RegMask REG_0x58_VSMPW = 0x07; +static constexpr RegAddr REG_0x58S_VSMPW = 0; + +static constexpr RegMask REG_0x59_BSMP = 0xf8; +static constexpr RegAddr REG_0x59S_BSMP = 3; +static constexpr RegMask REG_0x59_BSMPW = 0x07; +static constexpr RegShift REG_0x59S_BSMPW = 0; + +static constexpr RegMask REG_0x5A_ADCLKINV = 0x80; +static constexpr RegMask REG_0x5A_RLCSEL = 0x40; +static constexpr RegMask REG_0x5A_CDSREF = 0x30; +static constexpr RegShift REG_0x5AS_CDSREF = 4; +static constexpr RegMask REG_0x5A_RLC = 0x0f; +static constexpr RegShift REG_0x5AS_RLC = 0; + +static constexpr RegMask REG_0x5E_DECSEL = 0xe0; +static constexpr RegShift REG_0x5ES_DECSEL = 5; +static constexpr RegMask REG_0x5E_STOPTIM = 0x1f; +static constexpr RegShift REG_0x5ES_STOPTIM = 0; + +static constexpr RegAddr REG_0x60 = 0x60; +static constexpr RegMask REG_0x60_Z1MOD = 0x1f; +static constexpr RegAddr REG_0x61 = 0x61; +static constexpr RegMask REG_0x61_Z1MOD = 0xff; +static constexpr RegAddr REG_0x62 = 0x62; +static constexpr RegMask REG_0x62_Z1MOD = 0xff; + +static constexpr RegAddr REG_0x63 = 0x63; +static constexpr RegMask REG_0x63_Z2MOD = 0x1f; +static constexpr RegAddr REG_0x64 = 0x64; +static constexpr RegMask REG_0x64_Z2MOD = 0xff; +static constexpr RegAddr REG_0x65 = 0x65; +static constexpr RegMask REG_0x65_Z2MOD = 0xff; + +static constexpr RegShift REG_0x60S_STEPSEL = 5; +static constexpr RegMask REG_0x60_STEPSEL = 0xe0; +static constexpr RegMask REG_0x60_FULLSTEP = 0x00; +static constexpr RegMask REG_0x60_HALFSTEP = 0x20; +static constexpr RegMask REG_0x60_EIGHTHSTEP = 0x60; +static constexpr RegMask REG_0x60_16THSTEP = 0x80; + +static constexpr RegShift REG_0x63S_FSTPSEL = 5; +static constexpr RegMask REG_0x63_FSTPSEL = 0xe0; +static constexpr RegMask REG_0x63_FULLSTEP = 0x00; +static constexpr RegMask REG_0x63_HALFSTEP = 0x20; +static constexpr RegMask REG_0x63_EIGHTHSTEP = 0x60; +static constexpr RegMask REG_0x63_16THSTEP = 0x80; + +static constexpr RegAddr REG_0x67 = 0x67; +static constexpr RegMask REG_0x67_MTRPWM = 0x80; + +static constexpr RegAddr REG_0x68 = 0x68; +static constexpr RegMask REG_0x68_FASTPWM = 0x80; + +static constexpr RegAddr REG_0x6B = 0x6b; +static constexpr RegMask REG_0x6B_MULTFILM = 0x80; +static constexpr RegMask REG_0x6B_GPOM13 = 0x40; +static constexpr RegMask REG_0x6B_GPOM12 = 0x20; +static constexpr RegMask REG_0x6B_GPOM11 = 0x10; +static constexpr RegMask REG_0x6B_GPO18 = 0x02; +static constexpr RegMask REG_0x6B_GPO17 = 0x01; + +static constexpr RegAddr REG_0x6C = 0x6c; +static constexpr RegMask REG_0x6C_GPIO16 = 0x80; +static constexpr RegMask REG_0x6C_GPIO15 = 0x40; +static constexpr RegMask REG_0x6C_GPIO14 = 0x20; +static constexpr RegMask REG_0x6C_GPIO13 = 0x10; +static constexpr RegMask REG_0x6C_GPIO12 = 0x08; +static constexpr RegMask REG_0x6C_GPIO11 = 0x04; +static constexpr RegMask REG_0x6C_GPIO10 = 0x02; +static constexpr RegMask REG_0x6C_GPIO9 = 0x01; +static constexpr RegMask REG_0x6C_GPIOH = 0xff; +static constexpr RegMask REG_0x6C_GPIOL = 0xff; + +static constexpr RegAddr REG_0x6D = 0x6d; +static constexpr RegAddr REG_0x6E = 0x6e; +static constexpr RegAddr REG_0x6F = 0x6f; +static constexpr RegAddr REG_0x7E = 0x7e; + +static constexpr RegMask REG_0x87_ACYCNRLC = 0x10; +static constexpr RegMask REG_0x87_ENOFFSET = 0x08; +static constexpr RegMask REG_0x87_LEDADD = 0x04; +static constexpr RegMask REG_0x87_CK4ADC = 0x02; +static constexpr RegMask REG_0x87_AUTOCONF = 0x01; + +static constexpr RegAddr REG_0x9E = 0x9e; +static constexpr RegAddr REG_0x9F = 0x9f; + +static constexpr RegAddr REG_0xA6 = 0xa6; +static constexpr RegAddr REG_0xA7 = 0xa7; +static constexpr RegAddr REG_0xA8 = 0xa8; +static constexpr RegAddr REG_0xA9 = 0xa9; +static constexpr RegAddr REG_0xAB = 0xab; + +static constexpr RegAddr REG_EXPR = 0x10; +static constexpr RegAddr REG_EXPG = 0x12; +static constexpr RegAddr REG_EXPB = 0x14; +static constexpr RegAddr REG_EXPDMY = 0x19; +static constexpr RegAddr REG_STEPNO = 0x21; +static constexpr RegAddr REG_FWDSTEP = 0x22; +static constexpr RegAddr REG_BWDSTEP = 0x23; +static constexpr RegAddr REG_FASTNO = 0x24; +static constexpr RegAddr REG_DPISET = 0x2c; +static constexpr RegAddr REG_STRPIXEL = 0x30; +static constexpr RegAddr REG_ENDPIXEL = 0x32; +static constexpr RegAddr REG_LINCNT = 0x25; +static constexpr RegAddr REG_MAXWD = 0x35; +static constexpr RegAddr REG_LPERIOD = 0x38; +static constexpr RegAddr REG_FEEDL = 0x3d; +static constexpr RegAddr REG_FMOVDEC = 0x5f; +static constexpr RegAddr REG_FSHDEC = 0x69; +static constexpr RegAddr REG_FMOVNO = 0x6a; +static constexpr RegAddr REG_CK1MAP = 0x74; +static constexpr RegAddr REG_CK3MAP = 0x77; +static constexpr RegAddr REG_CK4MAP = 0x7a; + +static constexpr RegAddr REG_0xF8 = 0xf8; +static constexpr RegMask REG_0xF8_MAXSEL = 0xf0; +static constexpr RegShift REG_0xF8_SMAXSEL = 4; +static constexpr RegMask REG_0xF8_MINSEL = 0x0f; + +} // namespace gl846 +} // namespace genesys + +#endif // BACKEND_GENESYS_GL846_REGISTERS_H diff --git a/backend/genesys/gl847.cpp b/backend/genesys/gl847.cpp new file mode 100644 index 0000000..cb0b527 --- /dev/null +++ b/backend/genesys/gl847.cpp @@ -0,0 +1,2140 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2010-2013 Stéphane Voltz + + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "gl847.h" +#include "gl847_registers.h" +#include "test_settings.h" + +#include + +namespace genesys { +namespace gl847 { + +/** + * compute the step multiplier used + */ +static int +gl847_get_step_multiplier (Genesys_Register_Set * regs) +{ + GenesysRegister *r = sanei_genesys_get_address(regs, 0x9d); + int value = 1; + if (r != nullptr) + { + value = (r->value & 0x0f)>>1; + value = 1 << value; + } + DBG (DBG_io, "%s: step multiplier is %d\n", __func__, value); + return value; +} + +/** @brief sensor specific settings +*/ +static void gl847_setup_sensor(Genesys_Device * dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs) +{ + DBG_HELPER(dbg); + + for (const auto& reg : sensor.custom_regs) { + regs->set8(reg.address, reg.value); + } + + regs->set16(REG_EXPR, sensor.exposure.red); + regs->set16(REG_EXPG, sensor.exposure.green); + regs->set16(REG_EXPB, sensor.exposure.blue); + + dev->segment_order = sensor.segment_order; +} + + +/** @brief set all registers to default values . + * This function is called only once at the beginning and + * fills register startup values for registers reused across scans. + * Those that are rarely modified or not modified are written + * individually. + * @param dev device structure holding register set to initialize + */ +static void +gl847_init_registers (Genesys_Device * dev) +{ + DBG_HELPER(dbg); + int lide700=0; + uint8_t val; + + /* 700F class needs some different initial settings */ + if (dev->model->model_id == ModelId::CANON_LIDE_700F) { + lide700 = 1; + } + + dev->reg.clear(); + + dev->reg.init_reg(0x01, 0x82); + dev->reg.init_reg(0x02, 0x18); + dev->reg.init_reg(0x03, 0x50); + dev->reg.init_reg(0x04, 0x12); + dev->reg.init_reg(0x05, 0x80); + dev->reg.init_reg(0x06, 0x50); // FASTMODE + POWERBIT + dev->reg.init_reg(0x08, 0x10); + dev->reg.init_reg(0x09, 0x01); + dev->reg.init_reg(0x0a, 0x00); + dev->reg.init_reg(0x0b, 0x01); + dev->reg.init_reg(0x0c, 0x02); + + // LED exposures + dev->reg.init_reg(0x10, 0x00); + dev->reg.init_reg(0x11, 0x00); + dev->reg.init_reg(0x12, 0x00); + dev->reg.init_reg(0x13, 0x00); + dev->reg.init_reg(0x14, 0x00); + dev->reg.init_reg(0x15, 0x00); + + dev->reg.init_reg(0x16, 0x10); // SENSOR_DEF + dev->reg.init_reg(0x17, 0x08); // SENSOR_DEF + dev->reg.init_reg(0x18, 0x00); // SENSOR_DEF + + // EXPDMY + dev->reg.init_reg(0x19, 0x50); // SENSOR_DEF + + dev->reg.init_reg(0x1a, 0x34); // SENSOR_DEF + dev->reg.init_reg(0x1b, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x1c, 0x02); // SENSOR_DEF + dev->reg.init_reg(0x1d, 0x04); // SENSOR_DEF + dev->reg.init_reg(0x1e, 0x10); + dev->reg.init_reg(0x1f, 0x04); + dev->reg.init_reg(0x20, 0x02); + dev->reg.init_reg(0x21, 0x10); + dev->reg.init_reg(0x22, 0x7f); + dev->reg.init_reg(0x23, 0x7f); + dev->reg.init_reg(0x24, 0x10); + dev->reg.init_reg(0x25, 0x00); + dev->reg.init_reg(0x26, 0x00); + dev->reg.init_reg(0x27, 0x00); + dev->reg.init_reg(0x2c, 0x09); + dev->reg.init_reg(0x2d, 0x60); + dev->reg.init_reg(0x2e, 0x80); + dev->reg.init_reg(0x2f, 0x80); + dev->reg.init_reg(0x30, 0x00); + dev->reg.init_reg(0x31, 0x10); + dev->reg.init_reg(0x32, 0x15); + dev->reg.init_reg(0x33, 0x0e); + dev->reg.init_reg(0x34, 0x40); + dev->reg.init_reg(0x35, 0x00); + dev->reg.init_reg(0x36, 0x2a); + dev->reg.init_reg(0x37, 0x30); + dev->reg.init_reg(0x38, 0x2a); + dev->reg.init_reg(0x39, 0xf8); + dev->reg.init_reg(0x3d, 0x00); + dev->reg.init_reg(0x3e, 0x00); + dev->reg.init_reg(0x3f, 0x00); + dev->reg.init_reg(0x52, 0x03); // SENSOR_DEF + dev->reg.init_reg(0x53, 0x07); // SENSOR_DEF + dev->reg.init_reg(0x54, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x55, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x56, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x57, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x58, 0x2a); // SENSOR_DEF + dev->reg.init_reg(0x59, 0xe1); // SENSOR_DEF + dev->reg.init_reg(0x5a, 0x55); // SENSOR_DEF + dev->reg.init_reg(0x5e, 0x41); + dev->reg.init_reg(0x5f, 0x40); + dev->reg.init_reg(0x60, 0x00); + dev->reg.init_reg(0x61, 0x21); + dev->reg.init_reg(0x62, 0x40); + dev->reg.init_reg(0x63, 0x00); + dev->reg.init_reg(0x64, 0x21); + dev->reg.init_reg(0x65, 0x40); + dev->reg.init_reg(0x67, 0x80); + dev->reg.init_reg(0x68, 0x80); + dev->reg.init_reg(0x69, 0x20); + dev->reg.init_reg(0x6a, 0x20); + + // CK1MAP + dev->reg.init_reg(0x74, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x75, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x76, 0x3c); // SENSOR_DEF + + // CK3MAP + dev->reg.init_reg(0x77, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x78, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x79, 0x9f); // SENSOR_DEF + + // CK4MAP + dev->reg.init_reg(0x7a, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x7b, 0x00); // SENSOR_DEF + dev->reg.init_reg(0x7c, 0x55); // SENSOR_DEF + + dev->reg.init_reg(0x7d, 0x00); + + // NOTE: autoconf is a non working option + dev->reg.init_reg(0x87, 0x02); + dev->reg.init_reg(0x9d, 0x06); + dev->reg.init_reg(0xa2, 0x0f); + dev->reg.init_reg(0xbd, 0x18); + dev->reg.init_reg(0xfe, 0x08); + + // gamma[0] and gamma[256] values + dev->reg.init_reg(0xbe, 0x00); + dev->reg.init_reg(0xc5, 0x00); + dev->reg.init_reg(0xc6, 0x00); + dev->reg.init_reg(0xc7, 0x00); + dev->reg.init_reg(0xc8, 0x00); + dev->reg.init_reg(0xc9, 0x00); + dev->reg.init_reg(0xca, 0x00); + + /* LiDE 700 fixups */ + if (lide700) { + dev->reg.init_reg(0x5f, 0x04); + dev->reg.init_reg(0x7d, 0x80); + + /* we write to these registers only once */ + val=0; + dev->interface->write_register(REG_0x7E, val); + dev->interface->write_register(REG_0x9E, val); + dev->interface->write_register(REG_0x9F, val); + dev->interface->write_register(REG_0xAB, val); + } + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + sanei_genesys_set_dpihw(dev->reg, sensor, sensor.optical_res); + + /* initalize calibration reg */ + dev->calib_reg = dev->reg; +} + +/**@brief send slope table for motor movement + * Send slope_table in machine byte order + * @param dev device to send slope table + * @param table_nr index of the slope table in ASIC memory + * Must be in the [0-4] range. + * @param slope_table pointer to 16 bit values array of the slope table + * @param steps number of elements in the slope table + */ +static void gl847_send_slope_table(Genesys_Device* dev, int table_nr, + const std::vector& slope_table, + int steps) +{ + DBG_HELPER_ARGS(dbg, "table_nr = %d, steps = %d", table_nr, steps); + int i; + char msg[10000]; + + /* sanity check */ + if(table_nr<0 || table_nr>4) + { + throw SaneException("invalid table number %d", table_nr); + } + + std::vector table(steps * 2); + for (i = 0; i < steps; i++) + { + table[i * 2] = slope_table[i] & 0xff; + table[i * 2 + 1] = slope_table[i] >> 8; + } + + if (DBG_LEVEL >= DBG_io) + { + std::sprintf(msg, "write slope %d (%d)=", table_nr, steps); + for (i = 0; i < steps; i++) + { + std::sprintf(msg + std::strlen(msg), "%d", slope_table[i]); + } + DBG (DBG_io, "%s: %s\n", __func__, msg); + } + + if (dev->interface->is_mock()) { + dev->interface->record_slope_table(table_nr, slope_table); + } + // slope table addresses are fixed + dev->interface->write_ahb(0x10000000 + 0x4000 * table_nr, steps * 2, table.data()); +} + +/** + * Set register values of Analog Device type frontend + * */ +static void gl847_set_ad_fe(Genesys_Device* dev, uint8_t set) +{ + DBG_HELPER(dbg); + int i; + + // wait for FE to be ready + auto status = scanner_read_status(*dev); + while (status.is_front_end_busy) { + dev->interface->sleep_ms(10); + status = scanner_read_status(*dev); + }; + + if (set == AFE_INIT) + { + DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, + static_cast(dev->model->adc_id)); + + dev->frontend = dev->frontend_initial; + } + + // reset DAC + dev->interface->write_fe_register(0x00, 0x80); + + // write them to analog frontend + dev->interface->write_fe_register(0x00, dev->frontend.regs.get_value(0x00)); + + dev->interface->write_fe_register(0x01, dev->frontend.regs.get_value(0x01)); + + for (i = 0; i < 3; i++) { + dev->interface->write_fe_register(0x02 + i, dev->frontend.get_gain(i)); + } + for (i = 0; i < 3; i++) { + dev->interface->write_fe_register(0x05 + i, dev->frontend.get_offset(i)); + } +} + +// Set values of analog frontend +void CommandSetGl847::set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set) const +{ + DBG_HELPER_ARGS(dbg, "%s", set == AFE_INIT ? "init" : + set == AFE_SET ? "set" : + set == AFE_POWER_SAVE ? "powersave" : "huh?"); + + (void) sensor; + + uint8_t val = dev->interface->read_register(REG_0x04); + uint8_t frontend_type = val & REG_0x04_FESET; + + // route to AD devices + if (frontend_type == 0x02) { + gl847_set_ad_fe(dev, set); + return; + } + + throw SaneException("unsupported frontend type %d", frontend_type); +} + + +// @brief set up motor related register for scan +static void gl847_init_motor_regs_scan(Genesys_Device* dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const Motor_Profile& motor_profile, + unsigned int scan_exposure_time, + unsigned scan_yres, + unsigned int scan_lines, + unsigned int scan_dummy, + unsigned int feed_steps, + MotorFlag flags) +{ + DBG_HELPER_ARGS(dbg, "scan_exposure_time=%d, can_yres=%d, step_type=%d, scan_lines=%d, " + "scan_dummy=%d, feed_steps=%d, flags=%x", + scan_exposure_time, scan_yres, static_cast(motor_profile.step_type), + scan_lines, scan_dummy, feed_steps, static_cast(flags)); + int use_fast_fed; + unsigned int fast_dpi; + unsigned int feedl, dist; + GenesysRegister *r; + uint32_t z1, z2; + unsigned int min_restep = 0x20; + uint8_t val; + unsigned int ccdlmt,tgtime; + + unsigned step_multiplier = gl847_get_step_multiplier (reg); + + use_fast_fed=0; + /* no fast fed since feed works well */ + if (dev->settings.yres==4444 && feed_steps > 100 && (!has_flag(flags, MotorFlag::FEED))) + { + use_fast_fed=1; + } + DBG(DBG_io, "%s: use_fast_fed=%d\n", __func__, use_fast_fed); + + reg->set24(REG_LINCNT, scan_lines); + DBG(DBG_io, "%s: lincnt=%d\n", __func__, scan_lines); + + /* compute register 02 value */ + r = sanei_genesys_get_address(reg, REG_0x02); + r->value = 0x00; + sanei_genesys_set_motor_power(*reg, true); + + if (use_fast_fed) { + r->value |= REG_0x02_FASTFED; + } else { + r->value &= ~REG_0x02_FASTFED; + } + + if (has_flag(flags, MotorFlag::AUTO_GO_HOME)) { + r->value |= REG_0x02_AGOHOME | REG_0x02_NOTHOME; + } + + if (has_flag(flags, MotorFlag::DISABLE_BUFFER_FULL_MOVE) + ||(scan_yres>=sensor.optical_res)) + { + r->value |= REG_0x02_ACDCDIS; + } + + if (has_flag(flags, MotorFlag::REVERSE)) { + r->value |= REG_0x02_MTRREV; + } else { + r->value &= ~REG_0x02_MTRREV; + } + + /* scan and backtracking slope table */ + auto scan_table = sanei_genesys_slope_table(dev->model->asic_type, scan_yres, + scan_exposure_time, dev->motor.base_ydpi, + step_multiplier, motor_profile); + gl847_send_slope_table(dev, SCAN_TABLE, scan_table.table, scan_table.steps_count); + gl847_send_slope_table(dev, BACKTRACK_TABLE, scan_table.table, scan_table.steps_count); + + /* fast table */ + fast_dpi=sanei_genesys_get_lowest_ydpi(dev); + StepType fast_step_type = motor_profile.step_type; + if (static_cast(motor_profile.step_type) >= static_cast(StepType::QUARTER)) { + fast_step_type = StepType::QUARTER; + } + + Motor_Profile fast_motor_profile = motor_profile; + fast_motor_profile.step_type = fast_step_type; + + auto fast_table = sanei_genesys_slope_table(dev->model->asic_type, fast_dpi, + scan_exposure_time, dev->motor.base_ydpi, + step_multiplier, fast_motor_profile); + + gl847_send_slope_table(dev, STOP_TABLE, fast_table.table, fast_table.steps_count); + gl847_send_slope_table(dev, FAST_TABLE, fast_table.table, fast_table.steps_count); + gl847_send_slope_table(dev, HOME_TABLE, fast_table.table, fast_table.steps_count); + + /* correct move distance by acceleration and deceleration amounts */ + feedl=feed_steps; + if (use_fast_fed) + { + feedl <<= static_cast(fast_step_type); + dist = (scan_table.steps_count + 2 * fast_table.steps_count); + /* TODO read and decode REG_0xAB */ + r = sanei_genesys_get_address (reg, 0x5e); + dist += (r->value & 31); + /* FEDCNT */ + r = sanei_genesys_get_address (reg, REG_FEDCNT); + dist += r->value; + } + else + { + feedl <<= static_cast(motor_profile.step_type); + dist = scan_table.steps_count; + if (has_flag(flags, MotorFlag::FEED)) { + dist *= 2; + } + } + DBG(DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); + + /* check for overflow */ + if (dist < feedl) { + feedl -= dist; + } else { + feedl = 0; + } + + reg->set24(REG_FEEDL, feedl); + DBG(DBG_io ,"%s: feedl=%d\n", __func__, feedl); + + r = sanei_genesys_get_address(reg, REG_0x0C); + ccdlmt = (r->value & REG_0x0C_CCDLMT) + 1; + + r = sanei_genesys_get_address(reg, REG_0x1C); + tgtime = 1<<(r->value & REG_0x1C_TGTIME); + + // hi res motor speed GPIO + uint8_t effective = dev->interface->read_register(REG_0x6C); + + // if quarter step, bipolar Vref2 + + if (motor_profile.step_type == StepType::QUARTER) { + val = effective & ~REG_0x6C_GPIO13; + } else if (static_cast(motor_profile.step_type) > static_cast(StepType::QUARTER)) { + val = effective | REG_0x6C_GPIO13; + } else { + val = effective; + } + dev->interface->write_register(REG_0x6C, val); + + // effective scan + effective = dev->interface->read_register(REG_0x6C); + val = effective | REG_0x6C_GPIO10; + dev->interface->write_register(REG_0x6C, val); + + min_restep = scan_table.steps_count / (2 * step_multiplier) - 1; + if (min_restep < 1) { + min_restep = 1; + } + r = sanei_genesys_get_address(reg, REG_FWDSTEP); + r->value = min_restep; + r = sanei_genesys_get_address(reg, REG_BWDSTEP); + r->value = min_restep; + + sanei_genesys_calculate_zmod(use_fast_fed, + scan_exposure_time*ccdlmt*tgtime, + scan_table.table, + scan_table.steps_count, + feedl, + min_restep * step_multiplier, + &z1, + &z2); + + DBG(DBG_info, "%s: z1 = %d\n", __func__, z1); + reg->set24(REG_0x60, z1 | (static_cast(motor_profile.step_type) << (16+REG_0x60S_STEPSEL))); + + DBG(DBG_info, "%s: z2 = %d\n", __func__, z2); + reg->set24(REG_0x63, z2 | (static_cast(motor_profile.step_type) << (16+REG_0x63S_FSTPSEL))); + + r = sanei_genesys_get_address (reg, 0x1e); + r->value &= 0xf0; /* 0 dummy lines */ + r->value |= scan_dummy; /* dummy lines */ + + r = sanei_genesys_get_address(reg, REG_0x67); + r->value = REG_0x67_MTRPWM; + + r = sanei_genesys_get_address(reg, REG_0x68); + r->value = REG_0x68_FASTPWM; + + reg->set8(REG_STEPNO, scan_table.steps_count / step_multiplier); + reg->set8(REG_FASTNO, scan_table.steps_count / step_multiplier); + reg->set8(REG_FSHDEC, scan_table.steps_count / step_multiplier); + reg->set8(REG_FMOVNO, fast_table.steps_count / step_multiplier); + reg->set8(REG_FMOVDEC, fast_table.steps_count / step_multiplier); +} + + +/** @brief set up registers related to sensor + * Set up the following registers + 0x01 + 0x03 + 0x10-0x015 R/G/B exposures + 0x19 EXPDMY + 0x2e BWHI + 0x2f BWLO + 0x04 + 0x87 + 0x05 + 0x2c,0x2d DPISET + 0x30,0x31 STRPIXEL + 0x32,0x33 ENDPIXEL + 0x35,0x36,0x37 MAXWD [25:2] (>>2) + 0x38,0x39 LPERIOD + 0x34 DUMMY + */ +static void gl847_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, unsigned int exposure_time, + const ScanSession& session) +{ + DBG_HELPER_ARGS(dbg, "exposure_time=%d", exposure_time); + unsigned dpihw; + GenesysRegister *r; + + // resolution is divided according to ccd_pixels_per_system_pixel() + unsigned ccd_pixels_per_system_pixel = sensor.ccd_pixels_per_system_pixel(); + DBG(DBG_io2, "%s: ccd_pixels_per_system_pixel=%d\n", __func__, ccd_pixels_per_system_pixel); + + // to manage high resolution device while keeping good low resolution scanning speed, we make + // hardware dpi vary + dpihw = sensor.get_register_hwdpi(session.params.xres * ccd_pixels_per_system_pixel); + DBG(DBG_io2, "%s: dpihw=%d\n", __func__, dpihw); + + gl847_setup_sensor(dev, sensor, reg); + + dev->cmd_set->set_fe(dev, sensor, AFE_SET); + + /* enable shading */ + regs_set_optical_off(dev->model->asic_type, *reg); + r = sanei_genesys_get_address(reg, REG_0x01); + r->value |= REG_0x01_SHDAREA; + + if (has_flag(session.params.flags, ScanFlag::DISABLE_SHADING) || + (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) + { + r->value &= ~REG_0x01_DVDSET; + } + else + { + r->value |= REG_0x01_DVDSET; + } + + r = sanei_genesys_get_address (reg, REG_0x03); + r->value &= ~REG_0x03_AVEENB; + + sanei_genesys_set_lamp_power(dev, sensor, *reg, + !has_flag(session.params.flags, ScanFlag::DISABLE_LAMP)); + + /* BW threshold */ + r = sanei_genesys_get_address (reg, 0x2e); + r->value = dev->settings.threshold; + r = sanei_genesys_get_address (reg, 0x2f); + r->value = dev->settings.threshold; + + /* monochrome / color scan */ + r = sanei_genesys_get_address (reg, REG_0x04); + switch (session.params.depth) { + case 8: + r->value &= ~(REG_0x04_LINEART | REG_0x04_BITSET); + break; + case 16: + r->value &= ~REG_0x04_LINEART; + r->value |= REG_0x04_BITSET; + break; + } + + r->value &= ~(REG_0x04_FILTER | REG_0x04_AFEMOD); + if (session.params.channels == 1) + { + switch (session.params.color_filter) + { + + case ColorFilter::RED: + r->value |= 0x14; + break; + case ColorFilter::BLUE: + r->value |= 0x1c; + break; + case ColorFilter::GREEN: + r->value |= 0x18; + break; + default: + break; // should not happen + } + } else { + r->value |= 0x10; // mono + } + + sanei_genesys_set_dpihw(*reg, sensor, dpihw); + + if (should_enable_gamma(session, sensor)) { + reg->find_reg(REG_0x05).value |= REG_0x05_GMMENB; + } else { + reg->find_reg(REG_0x05).value &= ~REG_0x05_GMMENB; + } + + /* CIS scanners can do true gray by setting LEDADD */ + /* we set up LEDADD only when asked */ + if (dev->model->is_cis) { + r = sanei_genesys_get_address (reg, 0x87); + r->value &= ~REG_0x87_LEDADD; + if (session.enable_ledadd) { + r->value |= REG_0x87_LEDADD; + } + /* RGB weighting + r = sanei_genesys_get_address (reg, 0x01); + r->value &= ~REG_0x01_TRUEGRAY; + if (session.enable_ledadd) { + r->value |= REG_0x01_TRUEGRAY; + } + */ + } + + unsigned dpiset = session.params.xres * ccd_pixels_per_system_pixel; + reg->set16(REG_DPISET, dpiset); + DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); + + reg->set16(REG_STRPIXEL, session.pixel_startx); + reg->set16(REG_ENDPIXEL, session.pixel_endx); + + build_image_pipeline(dev, session); + + /* MAXWD is expressed in 4 words unit */ + // BUG: we shouldn't multiply by channels here + reg->set24(REG_MAXWD, (session.output_line_bytes_raw * session.params.channels >> 2)); + + reg->set16(REG_LPERIOD, exposure_time); + DBG(DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); + + r = sanei_genesys_get_address (reg, 0x34); + r->value = sensor.dummy_pixel; +} + +void CommandSetGl847::init_regs_for_scan_session(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const ScanSession& session) const +{ + DBG_HELPER(dbg); + session.assert_computed(); + + int move; + int exposure_time; + + int slope_dpi = 0; + int dummy = 0; + + dummy = 3 - session.params.channels; + +/* slope_dpi */ +/* cis color scan is effectively a gray scan with 3 gray lines per color + line and a FILTER of 0 */ + if (dev->model->is_cis) { + slope_dpi = session.params.yres * session.params.channels; + } else { + slope_dpi = session.params.yres; + } + + slope_dpi = slope_dpi * (1 + dummy); + + exposure_time = sensor.exposure_lperiod; + const auto& motor_profile = sanei_genesys_get_motor_profile(*gl847_motor_profiles, + dev->model->motor_id, + exposure_time); + + DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); + DBG(DBG_info, "%s : scan_step_type=%d\n", __func__, + static_cast(motor_profile.step_type)); + + /* we enable true gray for cis scanners only, and just when doing + * scan since color calibration is OK for this mode + */ + gl847_init_optical_regs_scan(dev, sensor, reg, exposure_time, session); + + move = session.params.starty; + DBG(DBG_info, "%s: move=%d steps\n", __func__, move); + + MotorFlag mflags = MotorFlag::NONE; + if (has_flag(session.params.flags, ScanFlag::DISABLE_BUFFER_FULL_MOVE)) { + mflags |= MotorFlag::DISABLE_BUFFER_FULL_MOVE; + } + if (has_flag(session.params.flags, ScanFlag::FEEDING)) { + mflags |= MotorFlag::FEED; + } + if (has_flag(session.params.flags, ScanFlag::REVERSE)) { + mflags |= MotorFlag::REVERSE; + } + + gl847_init_motor_regs_scan(dev, sensor, reg, motor_profile, exposure_time, slope_dpi, + dev->model->is_cis ? session.output_line_count * session.params.channels + : session.output_line_count, + dummy, move, mflags); + + dev->read_buffer.clear(); + dev->read_buffer.alloc(session.buffer_size_read); + + dev->read_active = true; + + dev->session = session; + + dev->total_bytes_read = 0; + dev->total_bytes_to_read = session.output_line_bytes_requested * session.params.lines; + + DBG(DBG_info, "%s: total bytes to send = %zu\n", __func__, dev->total_bytes_to_read); +} + +ScanSession CommandSetGl847::calculate_scan_session(const Genesys_Device* dev, + const Genesys_Sensor& sensor, + const Genesys_Settings& settings) const +{ + int start; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, settings); + + /* start */ + start = static_cast(dev->model->x_offset); + start = static_cast(start + settings.tl_x); + start = static_cast((start * sensor.optical_res) / MM_PER_INCH); + + ScanSession session; + session.params.xres = settings.xres; + session.params.yres = settings.yres; + session.params.startx = start; // not used + session.params.starty = 0; // not used + session.params.pixels = settings.pixels; + session.params.requested_pixels = settings.requested_pixels; + session.params.lines = settings.lines; + session.params.depth = settings.depth; + session.params.channels = settings.get_channels(); + session.params.scan_method = settings.scan_method; + session.params.scan_mode = settings.scan_mode; + session.params.color_filter = settings.color_filter; + session.params.flags = ScanFlag::NONE; + + compute_session(dev, session, sensor); + + return session; +} + +// for fast power saving methods only, like disabling certain amplifiers +void CommandSetGl847::save_power(Genesys_Device* dev, bool enable) const +{ + DBG_HELPER_ARGS(dbg, "enable = %d", enable); + (void) dev; +} + +void CommandSetGl847::set_powersaving(Genesys_Device* dev, int delay /* in minutes */) const +{ + (void) dev; + DBG_HELPER_ARGS(dbg, "delay = %d", delay); +} + +// Send the low-level scan command +void CommandSetGl847::begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, bool start_motor) const +{ + DBG_HELPER(dbg); + (void) sensor; + uint8_t val; + GenesysRegister *r; + + // clear GPIO 10 + if (dev->model->gpio_id != GpioId::CANON_LIDE_700F) { + val = dev->interface->read_register(REG_0x6C); + val &= ~REG_0x6C_GPIO10; + dev->interface->write_register(REG_0x6C, val); + } + + val = REG_0x0D_CLRLNCNT; + dev->interface->write_register(REG_0x0D, val); + val = REG_0x0D_CLRMCNT; + dev->interface->write_register(REG_0x0D, val); + + val = dev->interface->read_register(REG_0x01); + val |= REG_0x01_SCAN; + dev->interface->write_register(REG_0x01, val); + r = sanei_genesys_get_address (reg, REG_0x01); + r->value = val; + + scanner_start_action(*dev, start_motor); + + dev->advance_head_pos_by_session(ScanHeadId::PRIMARY); +} + + +// Send the stop scan command +void CommandSetGl847::end_scan(Genesys_Device* dev, Genesys_Register_Set* reg, + bool check_stop) const +{ + (void) reg; + DBG_HELPER_ARGS(dbg, "check_stop = %d", check_stop); + + if (!dev->model->is_sheetfed) { + scanner_stop_action(*dev); + } +} + +/** Park head + * Moves the slider to the home (top) position slowly + * @param dev device to park + * @param wait_until_home true to make the function waiting for head + * to be home before returning, if fals returne immediately +*/ +void CommandSetGl847::move_back_home(Genesys_Device* dev, bool wait_until_home) const +{ + scanner_move_back_home(*dev, wait_until_home); +} + +// Automatically set top-left edge of the scan area by scanning a 200x200 pixels area at 600 dpi +// from very top of scanner +void CommandSetGl847::search_start_position(Genesys_Device* dev) const +{ + DBG_HELPER(dbg); + int size; + Genesys_Register_Set local_reg; + + int pixels = 600; + int dpi = 300; + + local_reg = dev->reg; + + /* sets for a 200 lines * 600 pixels */ + /* normal scan with no shading */ + + // FIXME: the current approach of doing search only for one resolution does not work on scanners + // whith employ different sensors with potentially different settings. + const auto& sensor = sanei_genesys_find_sensor(dev, dpi, 1, dev->model->default_method); + + ScanSession session; + session.params.xres = dpi; + session.params.yres = dpi; + session.params.startx = 0; + session.params.starty = 0; /*we should give a small offset here~60 steps */ + session.params.pixels = 600; + session.params.lines = dev->model->search_lines; + session.params.depth = 8; + session.params.channels = 1; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::GRAY; + session.params.color_filter = ColorFilter::GREEN; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, &local_reg, session); + + // send to scanner + dev->interface->write_registers(local_reg); + + size = pixels * dev->model->search_lines; + + std::vector data(size); + + begin_scan(dev, sensor, &local_reg, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("search_start_position"); + end_scan(dev, &local_reg, true); + dev->reg = local_reg; + return; + } + + wait_until_buffer_non_empty(dev); + + // now we're on target, we can read data + sanei_genesys_read_data_from_scanner(dev, data.data(), size); + + if (DBG_LEVEL >= DBG_data) { + sanei_genesys_write_pnm_file("gl847_search_position.pnm", data.data(), 8, 1, pixels, + dev->model->search_lines); + } + + end_scan(dev, &local_reg, true); + + /* update regs to copy ASIC internal state */ + dev->reg = local_reg; + + // TODO: find out where sanei_genesys_search_reference_point stores information, + // and use that correctly + for (auto& sensor_update : + sanei_genesys_find_sensors_all_for_write(dev, dev->model->default_method)) + { + sanei_genesys_search_reference_point(dev, sensor_update, data.data(), 0, dpi, pixels, + dev->model->search_lines); + } +} + +// sets up register for coarse gain calibration +// todo: check it for scanners using it +void CommandSetGl847::init_regs_for_coarse_calibration(Genesys_Device* dev, + const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + + ScanSession session; + session.params.xres = dev->settings.xres; + session.params.yres = dev->settings.yres; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = sensor.optical_res / sensor.ccd_pixels_per_system_pixel(); + session.params.lines = 20; + session.params.depth = 16; + session.params.channels = dev->settings.get_channels(); + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, ®s, session); + + DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, + sensor.optical_res / sensor.ccd_pixels_per_system_pixel(), dev->settings.xres); + + dev->interface->write_registers(regs); +} + +// init registers for shading calibration +void CommandSetGl847::init_regs_for_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + + dev->calib_channels = 3; + + /* initial calibration reg values */ + regs = dev->reg; + + dev->calib_resolution = sensor.get_register_hwdpi(dev->settings.xres); + + const auto& calib_sensor = sanei_genesys_find_sensor(dev, dev->calib_resolution, + dev->calib_channels, + dev->settings.scan_method); + + dev->calib_total_bytes_to_read = 0; + dev->calib_lines = dev->model->shading_lines; + if (dev->calib_resolution == 4800) { + dev->calib_lines *= 2; + } + dev->calib_pixels = (calib_sensor.sensor_pixels * dev->calib_resolution) / + calib_sensor.optical_res; + + DBG(DBG_io, "%s: calib_lines = %zu\n", __func__, dev->calib_lines); + DBG(DBG_io, "%s: calib_pixels = %zu\n", __func__, dev->calib_pixels); + + ScanSession session; + session.params.xres = dev->calib_resolution; + session.params.yres = dev->motor.base_ydpi; + session.params.startx = 0; + session.params.starty = 20; + session.params.pixels = dev->calib_pixels; + session.params.lines = dev->calib_lines; + session.params.depth = 16; + session.params.channels = dev->calib_channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::DISABLE_BUFFER_FULL_MOVE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, calib_sensor); + + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + + dev->interface->write_registers(regs); + + /* we use GENESYS_FLAG_SHADING_REPARK */ + dev->set_head_pos_zero(ScanHeadId::PRIMARY); +} + +/** @brief set up registers for the actual scan + */ +void CommandSetGl847::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sensor& sensor) const +{ + DBG_HELPER(dbg); + float move; + int move_dpi; + float start; + + debug_dump(DBG_info, dev->settings); + + /* steps to move to reach scanning area: + - first we move to physical start of scanning + either by a fixed steps amount from the black strip + or by a fixed amount from parking position, + minus the steps done during shading calibration + - then we move by the needed offset whitin physical + scanning area + + assumption: steps are expressed at maximum motor resolution + + we need: + float y_offset; + float y_size; + float y_offset_calib; + mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ + + /* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is + relative from origin, else, it is from parking position */ + + move_dpi = dev->motor.base_ydpi; + + move = static_cast(dev->model->y_offset); + move = static_cast(move + dev->settings.tl_y); + move = static_cast((move * move_dpi) / MM_PER_INCH); + move -= dev->head_pos(ScanHeadId::PRIMARY); + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + /* fast move to scan area */ + /* we don't move fast the whole distance since it would involve + * computing acceleration/deceleration distance for scan + * resolution. So leave a remainder for it so scan makes the final + * move tuning */ + if (dev->settings.get_channels() * dev->settings.yres >= 600 && move > 700) { + scanner_move(*dev, dev->model->default_method, static_cast(move - 500), + Direction::FORWARD); + move=500; + } + + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + DBG(DBG_info, "%s: move=%f steps\n", __func__, move); + + /* start */ + start = static_cast(dev->model->x_offset); + start = static_cast(start + dev->settings.tl_x); + start = static_cast((start * sensor.optical_res) / MM_PER_INCH); + + ScanSession session; + session.params.xres = dev->settings.xres; + session.params.yres = dev->settings.yres; + session.params.startx = static_cast(start); + session.params.starty = static_cast(move); + session.params.pixels = dev->settings.pixels; + session.params.requested_pixels = dev->settings.requested_pixels; + session.params.lines = dev->settings.lines; + session.params.depth = dev->settings.depth; + session.params.channels = dev->settings.get_channels(); + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = dev->settings.scan_mode; + session.params.color_filter = dev->settings.color_filter; + // backtracking isn't handled well, so don't enable it + session.params.flags = ScanFlag::DISABLE_BUFFER_FULL_MOVE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, &dev->reg, session); +} + + +/** + * Send shading calibration data. The buffer is considered to always hold values + * for all the channels. + */ +void CommandSetGl847::send_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, + uint8_t* data, int size) const +{ + DBG_HELPER_ARGS(dbg, "writing %d bytes of shading data", size); + uint32_t addr, length, i, x, factor, pixels; + uint32_t dpiset, dpihw; + uint8_t val,*ptr,*src; + + /* shading data is plit in 3 (up to 5 with IR) areas + write(0x10014000,0x00000dd8) + URB 23429 bulk_out len 3544 wrote 0x33 0x10 0x.... + write(0x1003e000,0x00000dd8) + write(0x10068000,0x00000dd8) + */ + length = static_cast(size / 3); + std::uint32_t strpixel = dev->session.pixel_startx; + std::uint32_t endpixel = dev->session.pixel_endx; + + /* compute deletion factor */ + dpiset = dev->reg.get16(REG_DPISET); + dpihw = sensor.get_register_hwdpi(dpiset); + factor=dpihw/dpiset; + DBG(DBG_io2, "%s: factor=%d\n", __func__, factor); + + pixels=endpixel-strpixel; + + /* since we're using SHDAREA, substract startx coordinate from shading */ + strpixel -= (sensor.ccd_start_xoffset * 600) / sensor.optical_res; + + /* turn pixel value into bytes 2x16 bits words */ + strpixel*=2*2; + pixels*=2*2; + + dev->interface->record_key_value("shading_offset", std::to_string(strpixel)); + dev->interface->record_key_value("shading_pixels", std::to_string(pixels)); + dev->interface->record_key_value("shading_length", std::to_string(length)); + dev->interface->record_key_value("shading_factor", std::to_string(factor)); + + std::vector buffer(pixels, 0); + + DBG(DBG_io2, "%s: using chunks of %d (0x%04x) bytes\n", __func__, pixels, pixels); + + /* base addr of data has been written in reg D0-D4 in 4K word, so AHB address + * is 8192*reg value */ + + /* write actual color channel data */ + for(i=0;i<3;i++) + { + /* build up actual shading data by copying the part from the full width one + * to the one corresponding to SHDAREA */ + ptr = buffer.data(); + + /* iterate on both sensor segment */ + for(x=0;xinterface->read_register(0xd0+i); + addr = val * 8192 + 0x10000000; + dev->interface->write_ahb(addr, pixels, buffer.data()); + } +} + +/** @brief calibrates led exposure + * Calibrate exposure by scanning a white area until the used exposure gives + * data white enough. + * @param dev device to calibrate + */ +SensorExposure CommandSetGl847::led_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + int num_pixels; + int total_size; + int used_res; + int i, j; + int val; + int channels; + int avg[3], top[3], bottom[3]; + int turn; + uint16_t exp[3]; + float move; + + move = static_cast(dev->model->y_offset_calib_white); + move = static_cast((move * (dev->motor.base_ydpi / 4)) / MM_PER_INCH); + if (move > 20) { + scanner_move(*dev, dev->model->default_method, static_cast(move), + Direction::FORWARD); + } + DBG(DBG_io, "%s: move=%f steps\n", __func__, move); + + /* offset calibration is always done in color mode */ + channels = 3; + used_res = sensor.get_register_hwdpi(dev->settings.xres); + const auto& calib_sensor = sanei_genesys_find_sensor(dev, used_res, channels, + dev->settings.scan_method); + num_pixels = (calib_sensor.sensor_pixels * used_res) / calib_sensor.optical_res; + + /* initial calibration reg values */ + regs = dev->reg; + + ScanSession session; + session.params.xres = used_res; + session.params.yres = used_res; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = num_pixels; + session.params.lines = 1; + session.params.depth = 16; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, calib_sensor); + + init_regs_for_scan_session(dev, calib_sensor, ®s, session); + + total_size = num_pixels * channels * (session.params.depth/8) * 1; + std::vector line(total_size); + + // initial loop values and boundaries + exp[0] = calib_sensor.exposure.red; + exp[1] = calib_sensor.exposure.green; + exp[2] = calib_sensor.exposure.blue; + + bottom[0] = 28000; + bottom[1] = 28000; + bottom[2] = 28000; + + top[0] = 32000; + top[1] = 32000; + top[2] = 32000; + + turn = 0; + + /* no move during led calibration */ + bool acceptable = false; + sanei_genesys_set_motor_power(regs, false); + do + { + // set up exposure + regs.set16(REG_EXPR,exp[0]); + regs.set16(REG_EXPG,exp[1]); + regs.set16(REG_EXPB,exp[2]); + + // write registers and scan data + dev->interface->write_registers(regs); + + DBG(DBG_info, "%s: starting line reading\n", __func__); + begin_scan(dev, calib_sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("led_calibration"); + scanner_stop_action(*dev); + move_back_home(dev, true); + return calib_sensor.exposure; + } + + sanei_genesys_read_data_from_scanner(dev, line.data(), total_size); + + // stop scanning + scanner_stop_action(*dev); + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + std::snprintf(fn, 30, "gl847_led_%02d.pnm", turn); + sanei_genesys_write_pnm_file(fn, line.data(), session.params.depth, + channels, num_pixels, 1); + } + + /* compute average */ + for (j = 0; j < channels; j++) + { + avg[j] = 0; + for (i = 0; i < num_pixels; i++) + { + if (dev->model->is_cis) + val = + line[i * 2 + j * 2 * num_pixels + 1] * 256 + + line[i * 2 + j * 2 * num_pixels]; + else + val = + line[i * 2 * channels + 2 * j + 1] * 256 + + line[i * 2 * channels + 2 * j]; + avg[j] += val; + } + + avg[j] /= num_pixels; + } + + DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); + + /* check if exposure gives average within the boundaries */ + acceptable = true; + for(i=0;i<3;i++) + { + if (avg[i] < bottom[i] || avg[i] > top[i]) { + auto target = (bottom[i] + top[i]) / 2; + exp[i] = (exp[i] * target) / avg[i]; + acceptable = false; + } + } + + turn++; + } + while (!acceptable && turn < 100); + + DBG(DBG_info, "%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0], exp[1], exp[2]); + + // set these values as final ones for scan + dev->reg.set16(REG_EXPR, exp[0]); + dev->reg.set16(REG_EXPG, exp[1]); + dev->reg.set16(REG_EXPB, exp[2]); + + // go back home + if (move>20) { + move_back_home(dev, true); + } + + return { exp[0], exp[1], exp[2] }; +} + +/** + * set up GPIO/GPOE for idle state + */ +static void gl847_init_gpio(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + int idx=0; + + /* search GPIO profile */ + while(gpios[idx].gpio_id != GpioId::UNKNOWN && dev->model->gpio_id != gpios[idx].gpio_id) { + idx++; + } + if (gpios[idx].gpio_id == GpioId::UNKNOWN) { + throw SaneException("failed to find GPIO profile for sensor_id=%d", + static_cast(dev->model->sensor_id)); + } + + dev->interface->write_register(REG_0xA7, gpios[idx].ra7); + dev->interface->write_register(REG_0xA6, gpios[idx].ra6); + + dev->interface->write_register(REG_0x6E, gpios[idx].r6e); + dev->interface->write_register(REG_0x6C, 0x00); + + dev->interface->write_register(REG_0x6B, gpios[idx].r6b); + dev->interface->write_register(REG_0x6C, gpios[idx].r6c); + dev->interface->write_register(REG_0x6D, gpios[idx].r6d); + dev->interface->write_register(REG_0x6E, gpios[idx].r6e); + dev->interface->write_register(REG_0x6F, gpios[idx].r6f); + + dev->interface->write_register(REG_0xA8, gpios[idx].ra8); + dev->interface->write_register(REG_0xA9, gpios[idx].ra9); +} + +/** + * set memory layout by filling values in dedicated registers + */ +static void gl847_init_memory_layout(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + int idx = 0; + uint8_t val; + + /* point to per model memory layout */ + idx = 0; + if (dev->model->model_id == ModelId::CANON_LIDE_100) { + idx = 0; + } + if (dev->model->model_id == ModelId::CANON_LIDE_200) { + idx = 1; + } + if (dev->model->model_id == ModelId::CANON_5600F) { + idx = 2; + } + if (dev->model->model_id == ModelId::CANON_LIDE_700F) { + idx = 3; + } + + /* CLKSET nd DRAMSEL */ + val = layouts[idx].dramsel; + dev->interface->write_register(REG_0x0B, val); + dev->reg.find_reg(0x0b).value = val; + + /* prevent further writings by bulk write register */ + dev->reg.remove_reg(0x0b); + + /* setup base address for shading data. */ + /* values must be multiplied by 8192=0x4000 to give address on AHB */ + /* R-Channel shading bank0 address setting for CIS */ + dev->interface->write_register(0xd0, layouts[idx].rd0); + /* G-Channel shading bank0 address setting for CIS */ + dev->interface->write_register(0xd1, layouts[idx].rd1); + /* B-Channel shading bank0 address setting for CIS */ + dev->interface->write_register(0xd2, layouts[idx].rd2); + + /* setup base address for scanned data. */ + /* values must be multiplied by 1024*2=0x0800 to give address on AHB */ + /* R-Channel ODD image buffer 0x0124->0x92000 */ + /* size for each buffer is 0x16d*1k word */ + dev->interface->write_register(0xe0, layouts[idx].re0); + dev->interface->write_register(0xe1, layouts[idx].re1); + /* R-Channel ODD image buffer end-address 0x0291->0x148800 => size=0xB6800*/ + dev->interface->write_register(0xe2, layouts[idx].re2); + dev->interface->write_register(0xe3, layouts[idx].re3); + + /* R-Channel EVEN image buffer 0x0292 */ + dev->interface->write_register(0xe4, layouts[idx].re4); + dev->interface->write_register(0xe5, layouts[idx].re5); + /* R-Channel EVEN image buffer end-address 0x03ff*/ + dev->interface->write_register(0xe6, layouts[idx].re6); + dev->interface->write_register(0xe7, layouts[idx].re7); + + /* same for green, since CIS, same addresses */ + dev->interface->write_register(0xe8, layouts[idx].re0); + dev->interface->write_register(0xe9, layouts[idx].re1); + dev->interface->write_register(0xea, layouts[idx].re2); + dev->interface->write_register(0xeb, layouts[idx].re3); + dev->interface->write_register(0xec, layouts[idx].re4); + dev->interface->write_register(0xed, layouts[idx].re5); + dev->interface->write_register(0xee, layouts[idx].re6); + dev->interface->write_register(0xef, layouts[idx].re7); + +/* same for blue, since CIS, same addresses */ + dev->interface->write_register(0xf0, layouts[idx].re0); + dev->interface->write_register(0xf1, layouts[idx].re1); + dev->interface->write_register(0xf2, layouts[idx].re2); + dev->interface->write_register(0xf3, layouts[idx].re3); + dev->interface->write_register(0xf4, layouts[idx].re4); + dev->interface->write_register(0xf5, layouts[idx].re5); + dev->interface->write_register(0xf6, layouts[idx].re6); + dev->interface->write_register(0xf7, layouts[idx].re7); +} + +/* * + * initialize ASIC from power on condition + */ +void CommandSetGl847::asic_boot(Genesys_Device* dev, bool cold) const +{ + DBG_HELPER(dbg); + + // reset ASIC if cold boot + if (cold) { + dev->interface->write_register(0x0e, 0x01); + dev->interface->write_register(0x0e, 0x00); + } + + // test CHKVER + uint8_t val = dev->interface->read_register(REG_0x40); + if (val & REG_0x40_CHKVER) { + val = dev->interface->read_register(0x00); + DBG(DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); + } + + /* Set default values for registers */ + gl847_init_registers (dev); + + // Write initial registers + dev->interface->write_registers(dev->reg); + + /* Enable DRAM by setting a rising edge on bit 3 of reg 0x0b */ + val = dev->reg.find_reg(0x0b).value & REG_0x0B_DRAMSEL; + val = (val | REG_0x0B_ENBDRAM); + dev->interface->write_register(REG_0x0B, val); + dev->reg.find_reg(0x0b).value = val; + + /* CIS_LINE */ + dev->reg.init_reg(0x08, REG_0x08_CIS_LINE); + dev->interface->write_register(0x08, dev->reg.find_reg(0x08).value); + + // set up end access + dev->interface->write_0x8c(0x10, 0x0b); + dev->interface->write_0x8c(0x13, 0x0e); + + // setup gpio + gl847_init_gpio(dev); + + // setup internal memory layout + gl847_init_memory_layout (dev); + + dev->reg.init_reg(0xf8, 0x01); + dev->interface->write_register(0xf8, dev->reg.find_reg(0xf8).value); +} + +/** + * initialize backend and ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home + */ +void CommandSetGl847::init(Genesys_Device* dev) const +{ + DBG_INIT (); + DBG_HELPER(dbg); + + sanei_genesys_asic_init(dev, 0); +} + +void CommandSetGl847::update_hardware_sensors(Genesys_Scanner* s) const +{ + DBG_HELPER(dbg); + /* do what is needed to get a new set of events, but try to not lose + any of them. + */ + uint8_t val; + uint8_t scan, file, email, copy; + switch(s->dev->model->gpio_id) { + case GpioId::CANON_LIDE_700F: + scan=0x04; + file=0x02; + email=0x01; + copy=0x08; + break; + default: + scan=0x01; + file=0x02; + email=0x04; + copy=0x08; + } + val = s->dev->interface->read_register(REG_0x6D); + + s->buttons[BUTTON_SCAN_SW].write((val & scan) == 0); + s->buttons[BUTTON_FILE_SW].write((val & file) == 0); + s->buttons[BUTTON_EMAIL_SW].write((val & email) == 0); + s->buttons[BUTTON_COPY_SW].write((val & copy) == 0); +} + +void CommandSetGl847::update_home_sensor_gpio(Genesys_Device& dev) const +{ + DBG_HELPER(dbg); + + if (dev.model->gpio_id == GpioId::CANON_LIDE_700F) { + std::uint8_t val = dev.interface->read_register(REG_0x6C); + val &= ~REG_0x6C_GPIO10; + dev.interface->write_register(REG_0x6C, val); + } else { + std::uint8_t val = dev.interface->read_register(REG_0x6C); + val |= REG_0x6C_GPIO10; + dev.interface->write_register(REG_0x6C, val); + } +} + +/** @brief search for a full width black or white strip. + * This function searches for a black or white stripe across the scanning area. + * When searching backward, the searched area must completely be of the desired + * color since this area will be used for calibration which scans forward. + * @param dev scanner device + * @param forward true if searching forward, false if searching backward + * @param black true if searching for a black strip, false for a white strip + */ +void CommandSetGl847::search_strip(Genesys_Device* dev, const Genesys_Sensor& sensor, bool forward, + bool black) const +{ + DBG_HELPER_ARGS(dbg, "%s %s", black ? "black" : "white", forward ? "forward" : "reverse"); + unsigned int pixels, lines, channels; + Genesys_Register_Set local_reg; + size_t size; + unsigned int pass, count, found, x, y; + char title[80]; + + set_fe(dev, sensor, AFE_SET); + scanner_stop_action(*dev); + + // set up for a gray scan at lowest dpi + const auto& resolution_settings = dev->model->get_resolution_settings(dev->settings.scan_method); + unsigned dpi = resolution_settings.get_min_resolution_x(); + channels = 1; + /* 10 MM */ + /* lines = (10 * dpi) / MM_PER_INCH; */ + /* shading calibation is done with dev->motor.base_ydpi */ + lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; + pixels = (sensor.sensor_pixels * dpi) / sensor.optical_res; + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + + local_reg = dev->reg; + + ScanSession session; + session.params.xres = dpi; + session.params.yres = dpi; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = pixels; + session.params.lines = lines; + session.params.depth = 8; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::GRAY; + session.params.color_filter = ColorFilter::RED; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA; + if (!forward) { + session.params.flags |= ScanFlag::REVERSE; + } + compute_session(dev, session, sensor); + + size = pixels * channels * lines * (session.params.depth / 8); + std::vector data(size); + + init_regs_for_scan_session(dev, sensor, &local_reg, session); + + dev->interface->write_registers(local_reg); + + begin_scan(dev, sensor, &local_reg, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("search_strip"); + scanner_stop_action(*dev); + return; + } + + wait_until_buffer_non_empty(dev); + + // now we're on target, we can read data + sanei_genesys_read_data_from_scanner(dev, data.data(), size); + + scanner_stop_action(*dev); + + pass = 0; + if (DBG_LEVEL >= DBG_data) + { + std::sprintf(title, "gl847_search_strip_%s_%s%02d.pnm", + black ? "black" : "white", forward ? "fwd" : "bwd", pass); + sanei_genesys_write_pnm_file(title, data.data(), session.params.depth, + channels, pixels, lines); + } + + /* loop until strip is found or maximum pass number done */ + found = 0; + while (pass < 20 && !found) + { + dev->interface->write_registers(local_reg); + + // now start scan + begin_scan(dev, sensor, &local_reg, true); + + wait_until_buffer_non_empty(dev); + + // now we're on target, we can read data + sanei_genesys_read_data_from_scanner(dev, data.data(), size); + + scanner_stop_action(*dev); + + if (DBG_LEVEL >= DBG_data) + { + std::sprintf(title, "gl847_search_strip_%s_%s%02d.pnm", + black ? "black" : "white", + forward ? "fwd" : "bwd", static_cast(pass)); + sanei_genesys_write_pnm_file(title, data.data(), session.params.depth, + channels, pixels, lines); + } + + /* search data to find black strip */ + /* when searching forward, we only need one line of the searched color since we + * will scan forward. But when doing backward search, we need all the area of the + * same color */ + if (forward) + { + for (y = 0; y < lines && !found; y++) + { + count = 0; + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > 90) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < 60) + { + count++; + } + } + + /* at end of line, if count >= 3%, line is not fully of the desired color + * so we must go to next line of the buffer */ + /* count*100/pixels < 3 */ + if ((count * 100) / pixels < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, + pass, y); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + } + else /* since calibration scans are done forward, we need the whole area + to be of the required color when searching backward */ + { + count = 0; + for (y = 0; y < lines; y++) + { + /* count of white/black pixels depending on the color searched */ + for (x = 0; x < pixels; x++) + { + /* when searching for black, detect white pixels */ + if (black && data[y * pixels + x] > 90) + { + count++; + } + /* when searching for white, detect black pixels */ + if (!black && data[y * pixels + x] < 60) + { + count++; + } + } + } + + /* at end of area, if count >= 3%, area is not fully of the desired color + * so we must go to next buffer */ + if ((count * 100) / (pixels * lines) < 3) + { + found = 1; + DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); + } + else + { + DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, + (100 * count) / pixels); + } + } + pass++; + } + + if (found) + { + DBG(DBG_info, "%s: %s strip found\n", __func__, black ? "black" : "white"); + } + else + { + throw SaneException(SANE_STATUS_UNSUPPORTED, "%s strip not found", black ? "black" : "white"); + } +} + +/** + * average dark pixels of a 8 bits scan + */ +static int +dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, + unsigned int channels, unsigned int black) +{ + unsigned int i, j, k, average, count; + unsigned int avg[3]; + uint8_t val; + + /* computes average value on black margin */ + for (k = 0; k < channels; k++) + { + avg[k] = 0; + count = 0; + for (i = 0; i < lines; i++) + { + for (j = 0; j < black; j++) + { + val = data[i * channels * pixels + j + k]; + avg[k] += val; + count++; + } + } + if (count) + avg[k] /= count; + DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); + } + average = 0; + for (i = 0; i < channels; i++) + average += avg[i]; + average /= channels; + DBG(DBG_info, "%s: average = %d\n", __func__, average); + return average; +} + +void CommandSetGl847::offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const +{ + DBG_HELPER(dbg); + unsigned channels; + int pass = 0, avg, total_size; + int topavg, bottomavg, lines; + int top, bottom, black_pixels, pixels; + + // no gain nor offset for AKM AFE + uint8_t reg04 = dev->interface->read_register(REG_0x04); + if ((reg04 & REG_0x04_FESET) == 0x02) { + return; + } + + /* offset calibration is always done in color mode */ + channels = 3; + dev->calib_pixels = sensor.sensor_pixels; + lines=1; + pixels= (sensor.sensor_pixels * sensor.optical_res) / sensor.optical_res; + black_pixels = (sensor.black_pixels * sensor.optical_res) / sensor.optical_res; + DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); + + ScanSession session; + session.params.xres = sensor.optical_res; + session.params.yres = sensor.optical_res; + session.params.startx = 0; + session.params.starty = 0; + session.params.pixels = pixels; + session.params.lines = lines; + session.params.depth = 8; + session.params.channels = channels; + session.params.scan_method = dev->settings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + init_regs_for_scan_session(dev, sensor, ®s, session); + + sanei_genesys_set_motor_power(regs, false); + + /* allocate memory for scans */ + total_size = pixels * channels * lines * (session.params.depth / 8); /* colors * bytes_per_color * scan lines */ + + std::vector first_line(total_size); + std::vector second_line(total_size); + + /* init gain */ + dev->frontend.set_gain(0, 0); + dev->frontend.set_gain(1, 0); + dev->frontend.set_gain(2, 0); + + /* scan with no move */ + bottom = 10; + dev->frontend.set_offset(0, bottom); + dev->frontend.set_offset(1, bottom); + dev->frontend.set_offset(2, bottom); + + set_fe(dev, sensor, AFE_SET); + dev->interface->write_registers(regs); + DBG(DBG_info, "%s: starting first line reading\n", __func__); + begin_scan(dev, sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("offset_calibration"); + return; + } + + sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size); + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + std::snprintf(fn, 30, "gl847_offset%03d.pnm", bottom); + sanei_genesys_write_pnm_file(fn, first_line.data(), session.params.depth, + channels, pixels, lines); + } + + bottomavg = dark_average (first_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_io2, "%s: bottom avg=%d\n", __func__, bottomavg); + + /* now top value */ + top = 255; + dev->frontend.set_offset(0, top); + dev->frontend.set_offset(1, top); + dev->frontend.set_offset(2, top); + set_fe(dev, sensor, AFE_SET); + dev->interface->write_registers(regs); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + begin_scan(dev, sensor, ®s, true); + sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size); + + topavg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_io2, "%s: top avg=%d\n", __func__, topavg); + + /* loop until acceptable level */ + while ((pass < 32) && (top - bottom > 1)) + { + pass++; + + /* settings for new scan */ + dev->frontend.set_offset(0, (top + bottom) / 2); + dev->frontend.set_offset(1, (top + bottom) / 2); + dev->frontend.set_offset(2, (top + bottom) / 2); + + // scan with no move + set_fe(dev, sensor, AFE_SET); + dev->interface->write_registers(regs); + DBG(DBG_info, "%s: starting second line reading\n", __func__); + begin_scan(dev, sensor, ®s, true); + sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size); + + if (DBG_LEVEL >= DBG_data) + { + char fn[30]; + std::snprintf(fn, 30, "gl847_offset%03d.pnm", dev->frontend.get_offset(1)); + sanei_genesys_write_pnm_file(fn, second_line.data(), session.params.depth, + channels, pixels, lines); + } + + avg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); + DBG(DBG_info, "%s: avg=%d offset=%d\n", __func__, avg, dev->frontend.get_offset(1)); + + /* compute new boundaries */ + if (topavg == avg) + { + topavg = avg; + top = dev->frontend.get_offset(1); + } + else + { + bottomavg = avg; + bottom = dev->frontend.get_offset(1); + } + } + DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, + dev->frontend.get_offset(0), + dev->frontend.get_offset(1), + dev->frontend.get_offset(2)); +} + +void CommandSetGl847::coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) const +{ + DBG_HELPER_ARGS(dbg, "dpi = %d", dpi); + int pixels; + int total_size; + int i, j, channels; + int max[3]; + float gain[3],coeff; + int val, code, lines; + + // no gain nor offset for AKM AFE + uint8_t reg04 = dev->interface->read_register(REG_0x04); + if ((reg04 & REG_0x04_FESET) == 0x02) { + return; + } + + /* coarse gain calibration is always done in color mode */ + channels = 3; + + /* follow CKSEL */ + if(dev->settings.xressettings.scan_method; + session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; + session.params.color_filter = dev->settings.color_filter; + session.params.flags = ScanFlag::DISABLE_SHADING | + ScanFlag::DISABLE_GAMMA | + ScanFlag::SINGLE_LINE | + ScanFlag::IGNORE_LINE_DISTANCE; + compute_session(dev, session, sensor); + + try { + init_regs_for_scan_session(dev, sensor, ®s, session); + } catch (...) { + catch_all_exceptions(__func__, [&](){ sanei_genesys_set_motor_power(regs, false); }); + throw; + } + + sanei_genesys_set_motor_power(regs, false); + + dev->interface->write_registers(regs); + + total_size = pixels * channels * (16 / session.params.depth) * lines; + + std::vector line(total_size); + + set_fe(dev, sensor, AFE_SET); + begin_scan(dev, sensor, ®s, true); + + if (is_testing_mode()) { + dev->interface->test_checkpoint("coarse_gain_calibration"); + scanner_stop_action(*dev); + move_back_home(dev, true); + return; + } + + sanei_genesys_read_data_from_scanner(dev, line.data(), total_size); + + if (DBG_LEVEL >= DBG_data) { + sanei_genesys_write_pnm_file("gl847_gain.pnm", line.data(), session.params.depth, + channels, pixels, lines); + } + + /* average value on each channel */ + for (j = 0; j < channels; j++) + { + max[j] = 0; + for (i = pixels/4; i < (pixels*3/4); i++) + { + if (dev->model->is_cis) { + val = line[i + j * pixels]; + } else { + val = line[i * channels + j]; + } + + max[j] += val; + } + max[j] = max[j] / (pixels/2); + + gain[j] = (static_cast(sensor.gain_white_ref) * coeff) / max[j]; + + /* turn logical gain value into gain code, checking for overflow */ + code = static_cast(283 - 208 / gain[j]); + if (code > 255) + code = 255; + else if (code < 0) + code = 0; + dev->frontend.set_gain(j, code); + + DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], gain[j], + dev->frontend.get_gain(j)); + } + + if (dev->model->is_cis) { + uint8_t gain0 = dev->frontend.get_gain(0); + if (gain0 > dev->frontend.get_gain(1)) { + gain0 = dev->frontend.get_gain(1); + } + if (gain0 > dev->frontend.get_gain(2)) { + gain0 = dev->frontend.get_gain(2); + } + dev->frontend.set_gain(0, gain0); + dev->frontend.set_gain(1, gain0); + dev->frontend.set_gain(2, gain0); + } + + if (channels == 1) { + dev->frontend.set_gain(0, dev->frontend.get_gain(1)); + dev->frontend.set_gain(2, dev->frontend.get_gain(1)); + } + + scanner_stop_action(*dev); + + move_back_home(dev, true); +} + +bool CommandSetGl847::needs_home_before_init_regs_for_scan(Genesys_Device* dev) const +{ + (void) dev; + return false; +} + +void CommandSetGl847::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, int* channels, + int* total_size) const +{ + (void) dev; + (void) sensor; + (void) regs; + (void) channels; + (void) total_size; + throw SaneException("not implemented"); +} + +void CommandSetGl847::send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) const +{ + sanei_genesys_send_gamma_table(dev, sensor); +} + +void CommandSetGl847::wait_for_motor_stop(Genesys_Device* dev) const +{ + (void) dev; +} + +void CommandSetGl847::load_document(Genesys_Device* dev) const +{ + (void) dev; + throw SaneException("not implemented"); +} + +void CommandSetGl847::detect_document_end(Genesys_Device* dev) const +{ + (void) dev; + throw SaneException("not implemented"); +} + +void CommandSetGl847::eject_document(Genesys_Device* dev) const +{ + (void) dev; + throw SaneException("not implemented"); +} + +void CommandSetGl847::move_to_ta(Genesys_Device* dev) const +{ + (void) dev; + throw SaneException("not implemented"); +} + +std::unique_ptr create_gl847_cmd_set() +{ + return std::unique_ptr(new CommandSetGl847{}); +} + +} // namespace gl847 +} // namespace genesys diff --git a/backend/genesys/gl847.h b/backend/genesys/gl847.h new file mode 100644 index 0000000..a51c293 --- /dev/null +++ b/backend/genesys/gl847.h @@ -0,0 +1,206 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2010-2013 Stéphane Voltz + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_GL847_H +#define BACKEND_GENESYS_GL847_H + +#include "genesys.h" +#include "command_set.h" + +namespace genesys { +namespace gl847 { + +typedef struct +{ + GpioId gpio_id; + uint8_t r6b; + uint8_t r6c; + uint8_t r6d; + uint8_t r6e; + uint8_t r6f; + uint8_t ra6; + uint8_t ra7; + uint8_t ra8; + uint8_t ra9; +} Gpio_Profile; + +static Gpio_Profile gpios[]={ + { GpioId::CANON_LIDE_200, 0x02, 0xf9, 0x20, 0xff, 0x00, 0x04, 0x04, 0x00, 0x00}, + { GpioId::CANON_LIDE_700F, 0x06, 0xdb, 0xff, 0xff, 0x80, 0x15, 0x07, 0x20, 0x10}, + { GpioId::UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, +}; + +typedef struct +{ + uint8_t dramsel; + uint8_t rd0; + uint8_t rd1; + uint8_t rd2; + uint8_t re0; + uint8_t re1; + uint8_t re2; + uint8_t re3; + uint8_t re4; + uint8_t re5; + uint8_t re6; + uint8_t re7; +} Memory_layout; + +static Memory_layout layouts[]={ + /* LIDE 100 */ + { + 0x29, + 0x0a, 0x15, 0x20, + 0x00, 0xac, 0x02, 0x55, 0x02, 0x56, 0x03, 0xff + }, + /* LIDE 200 */ + { + 0x29, + 0x0a, 0x1f, 0x34, + 0x01, 0x24, 0x02, 0x91, 0x02, 0x92, 0x03, 0xff + }, + /* 5600F */ + { + 0x29, + 0x0a, 0x1f, 0x34, + 0x01, 0x24, 0x02, 0x91, 0x02, 0x92, 0x03, 0xff + }, + /* LIDE 700F */ + { + 0x2a, + 0x0a, 0x33, 0x5c, + 0x02, 0x14, 0x09, 0x09, 0x09, 0x0a, 0x0f, 0xff + } +}; + +class CommandSetGl847 : public CommandSet +{ +public: + ~CommandSetGl847() override = default; + + bool needs_home_before_init_regs_for_scan(Genesys_Device* dev) const override; + + void init(Genesys_Device* dev) const override; + + void init_regs_for_warmup(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, int* channels, + int* total_size) const override; + + void init_regs_for_coarse_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void init_regs_for_shading(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void init_regs_for_scan(Genesys_Device* dev, const Genesys_Sensor& sensor) const override; + + void init_regs_for_scan_session(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* reg, + const ScanSession& session) const override; + + void set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t set) const override; + void set_powersaving(Genesys_Device* dev, int delay) const override; + void save_power(Genesys_Device* dev, bool enable) const override; + + void begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set* regs, bool start_motor) const override; + + void end_scan(Genesys_Device* dev, Genesys_Register_Set* regs, bool check_stop) const override; + + void send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) const override; + + void search_start_position(Genesys_Device* dev) const override; + + void offset_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, int dpi) const override; + + SensorExposure led_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs) const override; + + void wait_for_motor_stop(Genesys_Device* dev) const override; + + void move_back_home(Genesys_Device* dev, bool wait_until_home) const override; + + void update_hardware_sensors(struct Genesys_Scanner* s) const override; + + bool needs_update_home_sensor_gpio() const override { return true; } + + void update_home_sensor_gpio(Genesys_Device& dev) const override; + + void load_document(Genesys_Device* dev) const override; + + void detect_document_end(Genesys_Device* dev) const override; + + void eject_document(Genesys_Device* dev) const override; + + void search_strip(Genesys_Device* dev, const Genesys_Sensor& sensor, + bool forward, bool black) const override; + + void move_to_ta(Genesys_Device* dev) const override; + + void send_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, uint8_t* data, + int size) const override; + + ScanSession calculate_scan_session(const Genesys_Device* dev, + const Genesys_Sensor& sensor, + const Genesys_Settings& settings) const override; + + void asic_boot(Genesys_Device* dev, bool cold) const override; +}; + +enum SlopeTable +{ + SCAN_TABLE = 0, // table 1 at 0x4000 + BACKTRACK_TABLE = 1, // table 2 at 0x4800 + STOP_TABLE = 2, // table 3 at 0x5000 + FAST_TABLE = 3, // table 4 at 0x5800 + HOME_TABLE = 4, // table 5 at 0x6000 +}; + +} // namespace gl847 +} // namespace genesys + +#endif // BACKEND_GENESYS_GL847_H diff --git a/backend/genesys/gl847_registers.h b/backend/genesys/gl847_registers.h new file mode 100644 index 0000000..0603a6a --- /dev/null +++ b/backend/genesys/gl847_registers.h @@ -0,0 +1,333 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_GL847_REGISTERS_H +#define BACKEND_GENESYS_GL847_REGISTERS_H + +#include + +namespace genesys { +namespace gl847 { + +using RegAddr = std::uint16_t; +using RegMask = std::uint8_t; +using RegShift = unsigned; + +static constexpr RegAddr REG_0x01 = 0x01; +static constexpr RegMask REG_0x01_CISSET = 0x80; +static constexpr RegMask REG_0x01_DOGENB = 0x40; +static constexpr RegMask REG_0x01_DVDSET = 0x20; +static constexpr RegMask REG_0x01_STAGGER = 0x10; +static constexpr RegMask REG_0x01_COMPENB = 0x08; +static constexpr RegMask REG_0x01_TRUEGRAY = 0x04; +static constexpr RegMask REG_0x01_SHDAREA = 0x02; +static constexpr RegMask REG_0x01_SCAN = 0x01; + +static constexpr RegAddr REG_0x02 = 0x02; +static constexpr RegMask REG_0x02_NOTHOME = 0x80; +static constexpr RegMask REG_0x02_ACDCDIS = 0x40; +static constexpr RegMask REG_0x02_AGOHOME = 0x20; +static constexpr RegMask REG_0x02_MTRPWR = 0x10; +static constexpr RegMask REG_0x02_FASTFED = 0x08; +static constexpr RegMask REG_0x02_MTRREV = 0x04; +static constexpr RegMask REG_0x02_HOMENEG = 0x02; +static constexpr RegMask REG_0x02_LONGCURV = 0x01; + +static constexpr RegAddr REG_0x03 = 0x03; +static constexpr RegMask REG_0x03_LAMPDOG = 0x80; +static constexpr RegMask REG_0x03_AVEENB = 0x40; +static constexpr RegMask REG_0x03_XPASEL = 0x20; +static constexpr RegMask REG_0x03_LAMPPWR = 0x10; +static constexpr RegMask REG_0x03_LAMPTIM = 0x0f; + +static constexpr RegAddr REG_0x04 = 0x04; +static constexpr RegMask REG_0x04_LINEART = 0x80; +static constexpr RegMask REG_0x04_BITSET = 0x40; +static constexpr RegMask REG_0x04_AFEMOD = 0x30; +static constexpr RegMask REG_0x04_FILTER = 0x0c; +static constexpr RegMask REG_0x04_FESET = 0x03; +static constexpr RegShift REG_0x04S_AFEMOD = 4; + +static constexpr RegAddr REG_0x05 = 0x05; +static constexpr RegMask REG_0x05_DPIHW = 0xc0; +static constexpr RegMask REG_0x05_DPIHW_600 = 0x00; +static constexpr RegMask REG_0x05_DPIHW_1200 = 0x40; +static constexpr RegMask REG_0x05_DPIHW_2400 = 0x80; +static constexpr RegMask REG_0x05_DPIHW_4800 = 0xc0; +static constexpr RegMask REG_0x05_MTLLAMP = 0x30; +static constexpr RegMask REG_0x05_GMMENB = 0x08; +static constexpr RegMask REG_0x05_MTLBASE = 0x03; + +static constexpr RegAddr REG_0x06 = 0x06; +static constexpr RegMask REG_0x06_SCANMOD = 0xe0; +static constexpr RegMask REG_0x06S_SCANMOD = 5; +static constexpr RegMask REG_0x06_PWRBIT = 0x10; +static constexpr RegMask REG_0x06_GAIN4 = 0x08; +static constexpr RegMask REG_0x06_OPTEST = 0x07; + +static constexpr RegMask REG_0x07_LAMPSIM = 0x80; + +static constexpr RegMask REG_0x08_DRAM2X = 0x80; +static constexpr RegMask REG_0x08_MPENB = 0x20; +static constexpr RegMask REG_0x08_CIS_LINE = 0x10; +static constexpr RegMask REG_0x08_IR1ENB = 0x08; +static constexpr RegMask REG_0x08_IR2ENB = 0x04; +static constexpr RegMask REG_0x08_ENB24M = 0x01; + +static constexpr RegMask REG_0x09_MCNTSET = 0xc0; +static constexpr RegMask REG_0x09_EVEN1ST = 0x20; +static constexpr RegMask REG_0x09_BLINE1ST = 0x10; +static constexpr RegMask REG_0x09_BACKSCAN = 0x08; +static constexpr RegMask REG_0x09_ENHANCE = 0x04; +static constexpr RegMask REG_0x09_SHORTTG = 0x02; +static constexpr RegMask REG_0x09_NWAIT = 0x01; + +static constexpr RegShift REG_0x09S_MCNTSET = 6; +static constexpr RegShift REG_0x09S_CLKSET = 4; + +static constexpr RegMask REG_0x0A_LPWMEN = 0x10; + +static constexpr RegAddr REG_0x0B = 0x0b; +static constexpr RegMask REG_0x0B_DRAMSEL = 0x07; +static constexpr RegMask REG_0x0B_ENBDRAM = 0x08; +static constexpr RegMask REG_0x0B_RFHDIS = 0x10; +static constexpr RegMask REG_0x0B_CLKSET = 0xe0; +static constexpr RegMask REG_0x0B_24MHZ = 0x00; +static constexpr RegMask REG_0x0B_30MHZ = 0x20; +static constexpr RegMask REG_0x0B_40MHZ = 0x40; +static constexpr RegMask REG_0x0B_48MHZ = 0x60; +static constexpr RegMask REG_0x0B_60MHZ = 0x80; + +static constexpr RegAddr REG_0x0C = 0x0c; +static constexpr RegMask REG_0x0C_CCDLMT = 0x0f; + +static constexpr RegAddr REG_0x0D = 0x0d; +static constexpr RegMask REG_0x0D_FULLSTP = 0x10; +static constexpr RegMask REG_0x0D_SEND = 0x80; +static constexpr RegMask REG_0x0D_CLRMCNT = 0x04; +static constexpr RegMask REG_0x0D_CLRDOCJM = 0x02; +static constexpr RegMask REG_0x0D_CLRLNCNT = 0x01; + +static constexpr RegAddr REG_0x0F = 0x0f; + +static constexpr RegMask REG_0x16_CTRLHI = 0x80; +static constexpr RegMask REG_0x16_TOSHIBA = 0x40; +static constexpr RegMask REG_0x16_TGINV = 0x20; +static constexpr RegMask REG_0x16_CK1INV = 0x10; +static constexpr RegMask REG_0x16_CK2INV = 0x08; +static constexpr RegMask REG_0x16_CTRLINV = 0x04; +static constexpr RegMask REG_0x16_CKDIS = 0x02; +static constexpr RegMask REG_0x16_CTRLDIS = 0x01; + +static constexpr RegMask REG_0x17_TGMODE = 0xc0; +static constexpr RegMask REG_0x17_TGMODE_NO_DUMMY = 0x00; +static constexpr RegMask REG_0x17_TGMODE_REF = 0x40; +static constexpr RegMask REG_0x17_TGMODE_XPA = 0x80; +static constexpr RegMask REG_0x17_TGW = 0x3f; +static constexpr RegMask REG_0x17S_TGW = 0; + +static constexpr RegAddr REG_0x18 = 0x18; +static constexpr RegMask REG_0x18_CNSET = 0x80; +static constexpr RegMask REG_0x18_DCKSEL = 0x60; +static constexpr RegMask REG_0x18_CKTOGGLE = 0x10; +static constexpr RegMask REG_0x18_CKDELAY = 0x0c; +static constexpr RegMask REG_0x18_CKSEL = 0x03; + +static constexpr RegMask REG_0x1A_SW2SET = 0x80; +static constexpr RegMask REG_0x1A_SW1SET = 0x40; +static constexpr RegMask REG_0x1A_MANUAL3 = 0x02; +static constexpr RegMask REG_0x1A_MANUAL1 = 0x01; +static constexpr RegMask REG_0x1A_CK4INV = 0x08; +static constexpr RegMask REG_0x1A_CK3INV = 0x04; +static constexpr RegMask REG_0x1A_LINECLP = 0x02; + +static constexpr RegAddr REG_0x1C = 0x1c; +static constexpr RegMask REG_0x1C_TGTIME = 0x07; + +static constexpr RegMask REG_0x1D_CK4LOW = 0x80; +static constexpr RegMask REG_0x1D_CK3LOW = 0x40; +static constexpr RegMask REG_0x1D_CK1LOW = 0x20; +static constexpr RegMask REG_0x1D_TGSHLD = 0x1f; +static constexpr RegMask REG_0x1DS_TGSHLD = 0; + +static constexpr RegMask REG_0x1E_WDTIME = 0xf0; +static constexpr RegMask REG_0x1ES_WDTIME = 4; +static constexpr RegMask REG_0x1E_LINESEL = 0x0f; +static constexpr RegMask REG_0x1ES_LINESEL = 0; + +static constexpr RegAddr REG_FEDCNT = 0x1f; + +static constexpr RegAddr REG_0x24 = 0x1c; +static constexpr RegAddr REG_0x40 = 0x40; +static constexpr RegMask REG_0x40_CHKVER = 0x10; +static constexpr RegMask REG_0x40_HISPDFLG = 0x04; +static constexpr RegMask REG_0x40_MOTMFLG = 0x02; +static constexpr RegMask REG_0x40_DATAENB = 0x01; + +static constexpr RegMask REG_0x41_PWRBIT = 0x80; +static constexpr RegMask REG_0x41_BUFEMPTY = 0x40; +static constexpr RegMask REG_0x41_FEEDFSH = 0x20; +static constexpr RegMask REG_0x41_SCANFSH = 0x10; +static constexpr RegMask REG_0x41_HOMESNR = 0x08; +static constexpr RegMask REG_0x41_LAMPSTS = 0x04; +static constexpr RegMask REG_0x41_FEBUSY = 0x02; +static constexpr RegMask REG_0x41_MOTORENB = 0x01; + +static constexpr RegMask REG_0x58_VSMP = 0xf8; +static constexpr RegShift REG_0x58S_VSMP = 3; +static constexpr RegMask REG_0x58_VSMPW = 0x07; +static constexpr RegShift REG_0x58S_VSMPW = 0; + +static constexpr RegMask REG_0x59_BSMP = 0xf8; +static constexpr RegShift REG_0x59S_BSMP = 3; +static constexpr RegMask REG_0x59_BSMPW = 0x07; +static constexpr RegShift REG_0x59S_BSMPW = 0; + +static constexpr RegMask REG_0x5A_ADCLKINV = 0x80; +static constexpr RegMask REG_0x5A_RLCSEL = 0x40; +static constexpr RegMask REG_0x5A_CDSREF = 0x30; +static constexpr RegShift REG_0x5AS_CDSREF = 4; +static constexpr RegMask REG_0x5A_RLC = 0x0f; +static constexpr RegShift REG_0x5AS_RLC = 0; + +static constexpr RegMask REG_0x5E_DECSEL = 0xe0; +static constexpr RegShift REG_0x5ES_DECSEL = 5; +static constexpr RegMask REG_0x5E_STOPTIM = 0x1f; +static constexpr RegShift REG_0x5ES_STOPTIM = 0; + +static constexpr RegAddr REG_0x60 = 0x60; +static constexpr RegMask REG_0x60_Z1MOD = 0x1f; +static constexpr RegAddr REG_0x61 = 0x61; +static constexpr RegMask REG_0x61_Z1MOD = 0xff; +static constexpr RegAddr REG_0x62 = 0x62; +static constexpr RegMask REG_0x62_Z1MOD = 0xff; + +static constexpr RegAddr REG_0x63 = 0x63; +static constexpr RegMask REG_0x63_Z2MOD = 0x1f; +static constexpr RegAddr REG_0x64 = 0x64; +static constexpr RegMask REG_0x64_Z2MOD = 0xff; +static constexpr RegAddr REG_0x65 = 0x65; +static constexpr RegMask REG_0x65_Z2MOD = 0xff; + +static constexpr RegShift REG_0x60S_STEPSEL = 5; +static constexpr RegMask REG_0x60_STEPSEL = 0xe0; +static constexpr RegMask REG_0x60_FULLSTEP = 0x00; +static constexpr RegMask REG_0x60_HALFSTEP = 0x20; +static constexpr RegMask REG_0x60_EIGHTHSTEP = 0x60; +static constexpr RegMask REG_0x60_16THSTEP = 0x80; + +static constexpr RegShift REG_0x63S_FSTPSEL = 5; +static constexpr RegMask REG_0x63_FSTPSEL = 0xe0; +static constexpr RegMask REG_0x63_FULLSTEP = 0x00; +static constexpr RegMask REG_0x63_HALFSTEP = 0x20; +static constexpr RegMask REG_0x63_EIGHTHSTEP = 0x60; +static constexpr RegMask REG_0x63_16THSTEP = 0x80; + +static constexpr RegAddr REG_0x67 = 0x67; +static constexpr RegMask REG_0x67_MTRPWM = 0x80; + +static constexpr RegAddr REG_0x68 = 0x68; +static constexpr RegMask REG_0x68_FASTPWM = 0x80; + +static constexpr RegAddr REG_0x6B = 0x6b; +static constexpr RegMask REG_0x6B_MULTFILM = 0x80; +static constexpr RegMask REG_0x6B_GPOM13 = 0x40; +static constexpr RegMask REG_0x6B_GPOM12 = 0x20; +static constexpr RegMask REG_0x6B_GPOM11 = 0x10; +static constexpr RegMask REG_0x6B_GPO18 = 0x02; +static constexpr RegMask REG_0x6B_GPO17 = 0x01; + +static constexpr RegShift REG_0x6C = 0x6c; +static constexpr RegMask REG_0x6C_GPIO16 = 0x80; +static constexpr RegMask REG_0x6C_GPIO15 = 0x40; +static constexpr RegMask REG_0x6C_GPIO14 = 0x20; +static constexpr RegMask REG_0x6C_GPIO13 = 0x10; +static constexpr RegMask REG_0x6C_GPIO12 = 0x08; +static constexpr RegMask REG_0x6C_GPIO11 = 0x04; +static constexpr RegMask REG_0x6C_GPIO10 = 0x02; +static constexpr RegMask REG_0x6C_GPIO9 = 0x01; +static constexpr RegMask REG_0x6C_GPIOH = 0xff; +static constexpr RegMask REG_0x6C_GPIOL = 0xff; + +static constexpr RegAddr REG_0x6D = 0x6d; +static constexpr RegAddr REG_0x6E = 0x6e; +static constexpr RegAddr REG_0x6F = 0x6f; +static constexpr RegAddr REG_0x7E = 0x7e; + +static constexpr RegMask REG_0x87_LEDADD = 0x04; + +static constexpr RegAddr REG_0x9E = 0x9e; +static constexpr RegAddr REG_0x9F = 0x9f; + +static constexpr RegAddr REG_0xA6 = 0xa6; +static constexpr RegAddr REG_0xA7 = 0xa7; +static constexpr RegAddr REG_0xA8 = 0xa8; +static constexpr RegAddr REG_0xA9 = 0xa9; +static constexpr RegAddr REG_0xAB = 0xab; + +static constexpr RegAddr REG_EXPR = 0x10; +static constexpr RegAddr REG_EXPG = 0x12; +static constexpr RegAddr REG_EXPB = 0x14; +static constexpr RegAddr REG_EXPDMY = 0x19; +static constexpr RegAddr REG_STEPNO = 0x21; +static constexpr RegAddr REG_FWDSTEP = 0x22; +static constexpr RegAddr REG_BWDSTEP = 0x23; +static constexpr RegAddr REG_FASTNO = 0x24; +static constexpr RegAddr REG_DPISET = 0x2c; +static constexpr RegAddr REG_STRPIXEL = 0x30; +static constexpr RegAddr REG_ENDPIXEL = 0x32; +static constexpr RegAddr REG_LINCNT = 0x25; +static constexpr RegAddr REG_MAXWD = 0x35; +static constexpr RegAddr REG_LPERIOD = 0x38; +static constexpr RegAddr REG_FEEDL = 0x3d; +static constexpr RegAddr REG_FMOVDEC = 0x5f; +static constexpr RegAddr REG_FSHDEC = 0x69; +static constexpr RegAddr REG_FMOVNO = 0x6a; +static constexpr RegAddr REG_CK1MAP = 0x74; +static constexpr RegAddr REG_CK3MAP = 0x77; +static constexpr RegAddr REG_CK4MAP = 0x7a; + +} // namespace gl847 +} // namespace genesys + +#endif // BACKEND_GENESYS_GL847_REGISTERS_H diff --git a/backend/genesys/image.cpp b/backend/genesys/image.cpp new file mode 100644 index 0000000..7d386c6 --- /dev/null +++ b/backend/genesys/image.cpp @@ -0,0 +1,204 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "image.h" + +#include + +namespace genesys { + +Image::Image() = default; + +Image::Image(std::size_t width, std::size_t height, PixelFormat format) : + width_{width}, + height_{height}, + format_{format}, + row_bytes_{get_pixel_row_bytes(format_, width_)} +{ + data_.resize(get_row_bytes() * height); +} + +std::uint8_t* Image::get_row_ptr(std::size_t y) +{ + return data_.data() + row_bytes_ * y; +} + +const std::uint8_t* Image::get_row_ptr(std::size_t y) const +{ + return data_.data() + row_bytes_ * y; +} + +Pixel Image::get_pixel(std::size_t x, std::size_t y) const +{ + return get_pixel_from_row(get_row_ptr(y), x, format_); +} + +void Image::set_pixel(std::size_t x, std::size_t y, const Pixel& pixel) +{ + set_pixel_to_row(get_row_ptr(y), x, pixel, format_); +} + +RawPixel Image::get_raw_pixel(std::size_t x, std::size_t y) const +{ + return get_raw_pixel_from_row(get_row_ptr(y), x, format_); +} + +std::uint16_t Image::get_raw_channel(std::size_t x, std::size_t y, unsigned channel) const +{ + return get_raw_channel_from_row(get_row_ptr(y), x, channel, format_); +} + +void Image::set_raw_pixel(std::size_t x, std::size_t y, const RawPixel& pixel) +{ + set_raw_pixel_to_row(get_row_ptr(y), x, pixel, format_); +} + +void Image::resize(std::size_t width, std::size_t height, PixelFormat format) +{ + width_ = width; + height_ = height; + format_ = format; + row_bytes_ = get_pixel_row_bytes(format_, width_); + data_.resize(get_row_bytes() * height); +} + +template +void convert_pixel_row_impl2(const std::uint8_t* in_data, std::uint8_t* out_data, + std::size_t count) +{ + for (std::size_t i = 0; i < count; ++i) { + Pixel pixel = get_pixel_from_row(in_data, i, SrcFormat); + set_pixel_to_row(out_data, i, pixel, DstFormat); + } +} + +template +void convert_pixel_row_impl(const std::uint8_t* in_data, std::uint8_t* out_data, + PixelFormat out_format, std::size_t count) +{ + switch (out_format) { + case PixelFormat::I1: { + convert_pixel_row_impl2(in_data, out_data, count); + return; + } + case PixelFormat::RGB111: { + convert_pixel_row_impl2(in_data, out_data, count); + return; + } + case PixelFormat::I8: { + convert_pixel_row_impl2(in_data, out_data, count); + return; + } + case PixelFormat::RGB888: { + convert_pixel_row_impl2(in_data, out_data, count); + return; + } + case PixelFormat::BGR888: { + convert_pixel_row_impl2(in_data, out_data, count); + return; + } + case PixelFormat::I16: { + convert_pixel_row_impl2(in_data, out_data, count); + return; + } + case PixelFormat::RGB161616: { + convert_pixel_row_impl2(in_data, out_data, count); + return; + } + case PixelFormat::BGR161616: { + convert_pixel_row_impl2(in_data, out_data, count); + return; + } + default: + throw SaneException("Unknown pixel format %d", static_cast(out_format)); + } +} +void convert_pixel_row_format(const std::uint8_t* in_data, PixelFormat in_format, + std::uint8_t* out_data, PixelFormat out_format, std::size_t count) +{ + if (in_format == out_format) { + std::memcpy(out_data, in_data, get_pixel_row_bytes(in_format, count)); + return; + } + + switch (in_format) { + case PixelFormat::I1: { + convert_pixel_row_impl(in_data, out_data, out_format, count); + return; + } + case PixelFormat::RGB111: { + convert_pixel_row_impl(in_data, out_data, out_format, count); + return; + } + case PixelFormat::I8: { + convert_pixel_row_impl(in_data, out_data, out_format, count); + return; + } + case PixelFormat::RGB888: { + convert_pixel_row_impl(in_data, out_data, out_format, count); + return; + } + case PixelFormat::BGR888: { + convert_pixel_row_impl(in_data, out_data, out_format, count); + return; + } + case PixelFormat::I16: { + convert_pixel_row_impl(in_data, out_data, out_format, count); + return; + } + case PixelFormat::RGB161616: { + convert_pixel_row_impl(in_data, out_data, out_format, count); + return; + } + case PixelFormat::BGR161616: { + convert_pixel_row_impl(in_data, out_data, out_format, count); + return; + } + default: + throw SaneException("Unknown pixel format %d", static_cast(in_format)); + } +} + +} // namespace genesys diff --git a/backend/genesys/image.h b/backend/genesys/image.h new file mode 100644 index 0000000..c96b1bb --- /dev/null +++ b/backend/genesys/image.h @@ -0,0 +1,87 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_IMAGE_H +#define BACKEND_GENESYS_IMAGE_H + +#include "image_pixel.h" +#include + +namespace genesys { + +class Image +{ +public: + Image(); + Image(std::size_t width, std::size_t height, PixelFormat format); + + std::size_t get_width() const { return width_; } + std::size_t get_height() const { return height_; } + PixelFormat get_format() const { return format_; } + std::size_t get_row_bytes() const { return row_bytes_; } + + std::uint8_t* get_row_ptr(std::size_t y); + const std::uint8_t* get_row_ptr(std::size_t y) const; + + Pixel get_pixel(std::size_t x, std::size_t y) const; + void set_pixel(std::size_t x, std::size_t y, const Pixel& pixel); + + RawPixel get_raw_pixel(std::size_t x, std::size_t y) const; + std::uint16_t get_raw_channel(std::size_t x, std::size_t y, unsigned channel) const; + void set_raw_pixel(std::size_t x, std::size_t y, const RawPixel& pixel); + + void resize(std::size_t width, std::size_t height, PixelFormat format); +private: + std::size_t width_ = 0; + std::size_t height_ = 0; + PixelFormat format_ = PixelFormat::UNKNOWN; + std::size_t row_bytes_ = 0; + std::vector data_; +}; + +void convert_pixel_row_format(const std::uint8_t* in_data, PixelFormat in_format, + std::uint8_t* out_data, PixelFormat out_format, std::size_t count); + +} // namespace genesys + +#endif // ifndef BACKEND_GENESYS_IMAGE_H diff --git a/backend/genesys/image_buffer.cpp b/backend/genesys/image_buffer.cpp new file mode 100644 index 0000000..07c6987 --- /dev/null +++ b/backend/genesys/image_buffer.cpp @@ -0,0 +1,203 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "image_buffer.h" +#include "image.h" + +namespace genesys { + +ImageBuffer::ImageBuffer(std::size_t size, ProducerCallback producer) : + producer_{producer}, + size_{size}, + buffer_offset_{size} +{ + buffer_.resize(size_); +} + +bool ImageBuffer::get_data(std::size_t size, std::uint8_t* out_data) +{ + const std::uint8_t* out_data_end = out_data + size; + + auto copy_buffer = [&]() + { + std::size_t bytes_copy = std::min(out_data_end - out_data, available()); + std::memcpy(out_data, buffer_.data() + buffer_offset_, bytes_copy); + out_data += bytes_copy; + buffer_offset_ += bytes_copy; + }; + + // first, read remaining data from buffer + if (available() > 0) { + copy_buffer(); + } + + if (out_data == out_data_end) { + return true; + } + + // now the buffer is empty and there's more data to be read + bool got_data = true; + do { + buffer_offset_ = 0; + got_data &= producer_(size_, buffer_.data()); + + copy_buffer(); + } while(out_data < out_data_end && got_data); + + return got_data; +} + +void FakeBufferModel::push_step(std::size_t buffer_size, std::size_t row_bytes) +{ + sizes_.push_back(buffer_size); + available_sizes_.push_back(0); + row_bytes_.push_back(row_bytes); +} + +std::size_t FakeBufferModel::available_space() const +{ + if (sizes_.empty()) + throw SaneException("Model has not been setup"); + return sizes_.front() - available_sizes_.front(); +} + +void FakeBufferModel::simulate_read(std::size_t size) +{ + if (sizes_.empty()) { + throw SaneException("Model has not been setup"); + } + if (available_space() < size) { + throw SaneException("Attempted to simulate read of too much memory"); + } + + available_sizes_.front() += size; + + for (unsigned i = 1; i < sizes_.size(); ++i) { + auto avail_src = available_sizes_[i - 1]; + auto avail_dst = sizes_[i] - available_sizes_[i]; + + auto avail = (std::min(avail_src, avail_dst) / row_bytes_[i]) * row_bytes_[i]; + available_sizes_[i - 1] -= avail; + available_sizes_[i] += avail; + } + available_sizes_.back() = 0; +} + +ImageBufferGenesysUsb::ImageBufferGenesysUsb(std::size_t total_size, + const FakeBufferModel& buffer_model, + ProducerCallback producer) : + remaining_size_{total_size}, + buffer_model_{buffer_model}, + producer_{producer} +{} + +bool ImageBufferGenesysUsb::get_data(std::size_t size, std::uint8_t* out_data) +{ + const std::uint8_t* out_data_end = out_data + size; + + auto copy_buffer = [&]() + { + std::size_t bytes_copy = std::min(out_data_end - out_data, available()); + std::memcpy(out_data, buffer_.data() + buffer_offset_, bytes_copy); + out_data += bytes_copy; + buffer_offset_ += bytes_copy; + }; + + // first, read remaining data from buffer + if (available() > 0) { + copy_buffer(); + } + + if (out_data == out_data_end) { + return true; + } + + // now the buffer is empty and there's more data to be read + do { + if (remaining_size_ == 0) + return false; + + auto bytes_to_read = get_read_size(); + buffer_offset_ = 0; + buffer_end_ = bytes_to_read; + buffer_.resize(bytes_to_read); + + producer_(bytes_to_read, buffer_.data()); + + if (remaining_size_ < bytes_to_read) { + remaining_size_ = 0; + } else { + remaining_size_ -= bytes_to_read; + } + + copy_buffer(); + } while(out_data < out_data_end); + return true; +} + +std::size_t ImageBufferGenesysUsb::get_read_size() +{ + std::size_t size = buffer_model_.available_space(); + + // never read an odd number. exception: last read + // the chip internal counter does not count half words. + size &= ~1; + + // Some setups need the reads to be multiples of 256 bytes + size &= ~0xff; + + if (remaining_size_ < size) { + size = remaining_size_; + /*round up to a multiple of 256 bytes */ + size += (size & 0xff) ? 0x100 : 0x00; + size &= ~0xff; + } + + buffer_model_.simulate_read(size); + + return size; +} + +} // namespace genesys diff --git a/backend/genesys/image_buffer.h b/backend/genesys/image_buffer.h new file mode 100644 index 0000000..43c3eb7 --- /dev/null +++ b/backend/genesys/image_buffer.h @@ -0,0 +1,129 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_IMAGE_BUFFER_H +#define BACKEND_GENESYS_IMAGE_BUFFER_H + +#include "enums.h" +#include "row_buffer.h" +#include +#include + +namespace genesys { + +// This class allows reading from row-based source in smaller or larger chunks of data +class ImageBuffer +{ +public: + using ProducerCallback = std::function; + + ImageBuffer() {} + ImageBuffer(std::size_t size, ProducerCallback producer); + + std::size_t size() const { return size_; } + std::size_t available() const { return size_ - buffer_offset_; } + + bool get_data(std::size_t size, std::uint8_t* out_data); + +private: + ProducerCallback producer_; + std::size_t size_ = 0; + + std::size_t buffer_offset_ = 0; + std::vector buffer_; +}; + +class FakeBufferModel +{ +public: + FakeBufferModel() {} + + void push_step(std::size_t buffer_size, std::size_t row_bytes); + + std::size_t available_space() const; + + void simulate_read(std::size_t size); + +private: + std::vector sizes_; + std::vector available_sizes_; + std::vector row_bytes_; +}; + +// This class is similar to ImageBuffer, but preserves historical peculiarities of buffer handling +// in the backend to preserve exact behavior +class ImageBufferGenesysUsb +{ +public: + using ProducerCallback = std::function; + + ImageBufferGenesysUsb() {} + ImageBufferGenesysUsb(std::size_t total_size, const FakeBufferModel& buffer_model, + ProducerCallback producer); + + std::size_t remaining_size() const { return remaining_size_; } + + void set_remaining_size(std::size_t bytes) { remaining_size_ = bytes; } + + std::size_t available() const { return buffer_end_ - buffer_offset_; } + + bool get_data(std::size_t size, std::uint8_t* out_data); + +private: + + std::size_t get_read_size(); + + std::size_t remaining_size_ = 0; + + std::size_t buffer_offset_ = 0; + std::size_t buffer_end_ = 0; + std::vector buffer_; + + FakeBufferModel buffer_model_; + + ProducerCallback producer_; +}; + +} // namespace genesys + +#endif // BACKEND_GENESYS_IMAGE_BUFFER_H diff --git a/backend/genesys/image_pipeline.cpp b/backend/genesys/image_pipeline.cpp new file mode 100644 index 0000000..c01b7f4 --- /dev/null +++ b/backend/genesys/image_pipeline.cpp @@ -0,0 +1,839 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "image_pipeline.h" +#include "image.h" +#include "low.h" +#include +#include + +namespace genesys { + +ImagePipelineNode::~ImagePipelineNode() {} + +std::size_t ImagePipelineNodeBytesSource::consume_remaining_bytes(std::size_t bytes) +{ + if (bytes > remaining_bytes_) { + bytes = remaining_bytes_; + } + remaining_bytes_ -= bytes; + return bytes; +} + +bool ImagePipelineNodeCallableSource::get_next_row_data(std::uint8_t* out_data) +{ + bool got_data = producer_(get_row_bytes(), out_data); + if (!got_data) + eof_ = true; + return got_data; +} + +ImagePipelineNodeBufferedCallableSource::ImagePipelineNodeBufferedCallableSource( + std::size_t width, std::size_t height, PixelFormat format, std::size_t input_batch_size, + ProducerCallback producer) : + width_{width}, + height_{height}, + format_{format}, + buffer_{input_batch_size, producer} +{ + set_remaining_bytes(height_ * get_row_bytes()); +} + +bool ImagePipelineNodeBufferedCallableSource::get_next_row_data(std::uint8_t* out_data) +{ + if (curr_row_ >= get_height()) { + DBG(DBG_warn, "%s: reading out of bounds. Row %zu, height: %zu\n", __func__, + curr_row_, get_height()); + eof_ = true; + return false; + } + + bool got_data = true; + + auto row_bytes = get_row_bytes(); + auto bytes_to_ask = consume_remaining_bytes(row_bytes); + if (bytes_to_ask < row_bytes) { + got_data = false; + } + + got_data &= buffer_.get_data(bytes_to_ask, out_data); + curr_row_++; + if (!got_data) { + eof_ = true; + } + return got_data; +} + + +ImagePipelineNodeBufferedGenesysUsb::ImagePipelineNodeBufferedGenesysUsb( + std::size_t width, std::size_t height, PixelFormat format, std::size_t total_size, + const FakeBufferModel& buffer_model, ProducerCallback producer) : + width_{width}, + height_{height}, + format_{format}, + buffer_{total_size, buffer_model, producer} +{ + set_remaining_bytes(total_size); +} + +bool ImagePipelineNodeBufferedGenesysUsb::get_next_row_data(std::uint8_t* out_data) +{ + if (remaining_bytes() != buffer_.remaining_size() + buffer_.available()) { + buffer_.set_remaining_size(remaining_bytes() - buffer_.available()); + } + bool got_data = true; + + std::size_t row_bytes = get_row_bytes(); + std::size_t ask_bytes = consume_remaining_bytes(row_bytes); + if (ask_bytes < row_bytes) { + got_data = false; + } + got_data &= buffer_.get_data(ask_bytes, out_data); + if (!got_data) { + eof_ = true; + } + return got_data; +} + +ImagePipelineNodeArraySource::ImagePipelineNodeArraySource(std::size_t width, std::size_t height, + PixelFormat format, + std::vector data) : + width_{width}, + height_{height}, + format_{format}, + data_{std::move(data)}, + next_row_{0} +{ + auto size = get_row_bytes() * height_; + if (data_.size() < size) { + throw SaneException("The given array is too small (%zu bytes). Need at least %zu", + data_.size(), size); + } + set_remaining_bytes(size); +} + +bool ImagePipelineNodeArraySource::get_next_row_data(std::uint8_t* out_data) +{ + if (next_row_ >= height_) { + eof_ = true; + return false; + } + + bool got_data = true; + + auto row_bytes = get_row_bytes(); + auto bytes_to_ask = consume_remaining_bytes(row_bytes); + if (bytes_to_ask < row_bytes) { + got_data = false; + } + + std::memcpy(out_data, data_.data() + get_row_bytes() * next_row_, bytes_to_ask); + next_row_++; + + if (!got_data) { + eof_ = true; + } + return got_data; +} + + +ImagePipelineNodeImageSource::ImagePipelineNodeImageSource(const Image& source) : + source_{source} +{} + +bool ImagePipelineNodeImageSource::get_next_row_data(std::uint8_t* out_data) +{ + if (next_row_ >= get_height()) { + return false; + } + std::memcpy(out_data, source_.get_row_ptr(next_row_), get_row_bytes()); + next_row_++; + return true; +} + +bool ImagePipelineNodeFormatConvert::get_next_row_data(std::uint8_t* out_data) +{ + auto src_format = source_.get_format(); + if (src_format == dst_format_) { + return source_.get_next_row_data(out_data); + } + + buffer_.clear(); + buffer_.resize(source_.get_row_bytes()); + bool got_data = source_.get_next_row_data(buffer_.data()); + + convert_pixel_row_format(buffer_.data(), src_format, out_data, dst_format_, get_width()); + return got_data; +} + +ImagePipelineNodeDesegment::ImagePipelineNodeDesegment(ImagePipelineNode& source, + std::size_t output_width, + const std::vector& segment_order, + std::size_t segment_pixels, + std::size_t interleaved_lines, + std::size_t pixels_per_chunk) : + source_(source), + output_width_{output_width}, + segment_order_{segment_order}, + segment_pixels_{segment_pixels}, + interleaved_lines_{interleaved_lines}, + pixels_per_chunk_{pixels_per_chunk}, + buffer_{source_.get_row_bytes()} +{ + DBG_HELPER_ARGS(dbg, "segment_count=%zu, segment_size=%zu, interleaved_lines=%zu, " + "pixels_per_shunk=%zu", segment_order.size(), segment_pixels, + interleaved_lines, pixels_per_chunk); + + if (source_.get_height() % interleaved_lines_ > 0) { + throw SaneException("Height is not a multiple of the number of lines to interelave %zu/%zu", + source_.get_height(), interleaved_lines_); + } +} + +ImagePipelineNodeDesegment::ImagePipelineNodeDesegment(ImagePipelineNode& source, + std::size_t output_width, + std::size_t segment_count, + std::size_t segment_pixels, + std::size_t interleaved_lines, + std::size_t pixels_per_chunk) : + source_(source), + output_width_{output_width}, + segment_pixels_{segment_pixels}, + interleaved_lines_{interleaved_lines}, + pixels_per_chunk_{pixels_per_chunk}, + buffer_{source_.get_row_bytes()} +{ + DBG_HELPER_ARGS(dbg, "segment_count=%zu, segment_size=%zu, interleaved_lines=%zu, " + "pixels_per_shunk=%zu", segment_count, segment_pixels, interleaved_lines, + pixels_per_chunk); + + segment_order_.resize(segment_count); + std::iota(segment_order_.begin(), segment_order_.end(), 0); +} + +bool ImagePipelineNodeDesegment::get_next_row_data(uint8_t* out_data) +{ + bool got_data = true; + + buffer_.clear(); + for (std::size_t i = 0; i < interleaved_lines_; ++i) { + buffer_.push_back(); + got_data &= source_.get_next_row_data(buffer_.get_row_ptr(i)); + } + if (!buffer_.is_linear()) { + throw SaneException("Buffer is not linear"); + } + + auto format = get_format(); + auto segment_count = segment_order_.size(); + + const std::uint8_t* in_data = buffer_.get_row_ptr(0); + + std::size_t groups_count = output_width_ / (segment_order_.size() * pixels_per_chunk_); + + for (std::size_t igroup = 0; igroup < groups_count; ++igroup) { + for (std::size_t isegment = 0; isegment < segment_count; ++isegment) { + auto input_offset = igroup * pixels_per_chunk_; + input_offset += segment_pixels_ * segment_order_[isegment]; + auto output_offset = (igroup * segment_count + isegment) * pixels_per_chunk_; + + for (std::size_t ipixel = 0; ipixel < pixels_per_chunk_; ++ipixel) { + auto pixel = get_raw_pixel_from_row(in_data, input_offset + ipixel, format); + set_raw_pixel_to_row(out_data, output_offset + ipixel, pixel, format); + } + } + } + return got_data; +} + +ImagePipelineNodeDeinterleaveLines::ImagePipelineNodeDeinterleaveLines( + ImagePipelineNode& source, std::size_t interleaved_lines, std::size_t pixels_per_chunk) : + ImagePipelineNodeDesegment(source, source.get_width() * interleaved_lines, + interleaved_lines, source.get_width(), + interleaved_lines, pixels_per_chunk) +{} + +ImagePipelineNodeSwap16BitEndian::ImagePipelineNodeSwap16BitEndian(ImagePipelineNode& source) : + source_(source), + needs_swapping_{false} +{ + if (get_pixel_format_depth(source_.get_format()) == 16) { + needs_swapping_ = true; + } else { + DBG(DBG_info, "%s: this pipeline node does nothing for non 16-bit formats", __func__); + } +} + +bool ImagePipelineNodeSwap16BitEndian::get_next_row_data(std::uint8_t* out_data) +{ + bool got_data = source_.get_next_row_data(out_data); + if (needs_swapping_) { + std::size_t pixels = get_row_bytes() / 2; + for (std::size_t i = 0; i < pixels; ++i) { + std::swap(*out_data, *(out_data + 1)); + out_data += 2; + } + } + return got_data; +} + +ImagePipelineNodeMergeMonoLines::ImagePipelineNodeMergeMonoLines(ImagePipelineNode& source, + ColorOrder color_order) : + source_(source), + buffer_(source_.get_row_bytes()) +{ + DBG_HELPER_ARGS(dbg, "color_order %d", static_cast(color_order)); + + output_format_ = get_output_format(source_.get_format(), color_order); +} + +bool ImagePipelineNodeMergeMonoLines::get_next_row_data(std::uint8_t* out_data) +{ + bool got_data = true; + + buffer_.clear(); + for (unsigned i = 0; i < 3; ++i) { + buffer_.push_back(); + got_data &= source_.get_next_row_data(buffer_.get_row_ptr(i)); + } + + const auto* row0 = buffer_.get_row_ptr(0); + const auto* row1 = buffer_.get_row_ptr(1); + const auto* row2 = buffer_.get_row_ptr(2); + + auto format = source_.get_format(); + + for (std::size_t x = 0, width = get_width(); x < width; ++x) { + std::uint16_t ch0 = get_raw_channel_from_row(row0, x, 0, format); + std::uint16_t ch1 = get_raw_channel_from_row(row1, x, 0, format); + std::uint16_t ch2 = get_raw_channel_from_row(row2, x, 0, format); + set_raw_channel_to_row(out_data, x, 0, ch0, output_format_); + set_raw_channel_to_row(out_data, x, 1, ch1, output_format_); + set_raw_channel_to_row(out_data, x, 2, ch2, output_format_); + } + return got_data; +} + +PixelFormat ImagePipelineNodeMergeMonoLines::get_output_format(PixelFormat input_format, + ColorOrder order) +{ + switch (input_format) { + case PixelFormat::I1: { + if (order == ColorOrder::RGB) { + return PixelFormat::RGB111; + } + break; + } + case PixelFormat::I8: { + if (order == ColorOrder::RGB) { + return PixelFormat::RGB888; + } + if (order == ColorOrder::BGR) { + return PixelFormat::BGR888; + } + break; + } + case PixelFormat::I16: { + if (order == ColorOrder::RGB) { + return PixelFormat::RGB161616; + } + if (order == ColorOrder::BGR) { + return PixelFormat::BGR161616; + } + break; + } + default: break; + } + throw SaneException("Unsupported format combidation %d %d", + static_cast(input_format), + static_cast(order)); +} + +ImagePipelineNodeSplitMonoLines::ImagePipelineNodeSplitMonoLines(ImagePipelineNode& source) : + source_(source), + next_channel_{0} +{ + output_format_ = get_output_format(source_.get_format()); +} + +bool ImagePipelineNodeSplitMonoLines::get_next_row_data(std::uint8_t* out_data) +{ + bool got_data = true; + + if (next_channel_ == 0) { + buffer_.resize(source_.get_row_bytes()); + got_data &= source_.get_next_row_data(buffer_.data()); + } + + const auto* row = buffer_.data(); + auto format = source_.get_format(); + + for (std::size_t x = 0, width = get_width(); x < width; ++x) { + std::uint16_t ch = get_raw_channel_from_row(row, x, next_channel_, format); + set_raw_channel_to_row(out_data, x, 0, ch, output_format_); + } + next_channel_ = (next_channel_ + 1) % 3; + + return got_data; +} + +PixelFormat ImagePipelineNodeSplitMonoLines::get_output_format(PixelFormat input_format) +{ + switch (input_format) { + case PixelFormat::RGB111: return PixelFormat::I1; + case PixelFormat::RGB888: + case PixelFormat::BGR888: return PixelFormat::I8; + case PixelFormat::RGB161616: + case PixelFormat::BGR161616: return PixelFormat::I16; + default: break; + } + throw SaneException("Unsupported input format %d", static_cast(input_format)); +} + +ImagePipelineNodeComponentShiftLines::ImagePipelineNodeComponentShiftLines( + ImagePipelineNode& source, unsigned shift_r, unsigned shift_g, unsigned shift_b) : + source_(source), + buffer_{source.get_row_bytes()} +{ + DBG_HELPER_ARGS(dbg, "shifts={%d, %d, %d}", shift_r, shift_g, shift_b); + + switch (source.get_format()) { + case PixelFormat::RGB111: + case PixelFormat::RGB888: + case PixelFormat::RGB161616: { + channel_shifts_ = { shift_r, shift_g, shift_b }; + break; + } + case PixelFormat::BGR888: + case PixelFormat::BGR161616: { + channel_shifts_ = { shift_b, shift_g, shift_r }; + break; + } + default: + throw SaneException("Unsupported input format %d", + static_cast(source.get_format())); + } + extra_height_ = *std::max_element(channel_shifts_.begin(), channel_shifts_.end()); +} + +bool ImagePipelineNodeComponentShiftLines::get_next_row_data(std::uint8_t* out_data) +{ + bool got_data = true; + + if (!buffer_.empty()) { + buffer_.pop_front(); + } + while (buffer_.height() < extra_height_ + 1) { + buffer_.push_back(); + got_data &= source_.get_next_row_data(buffer_.get_back_row_ptr()); + } + + auto format = get_format(); + const auto* row0 = buffer_.get_row_ptr(channel_shifts_[0]); + const auto* row1 = buffer_.get_row_ptr(channel_shifts_[1]); + const auto* row2 = buffer_.get_row_ptr(channel_shifts_[2]); + + for (std::size_t x = 0, width = get_width(); x < width; ++x) { + std::uint16_t ch0 = get_raw_channel_from_row(row0, x, 0, format); + std::uint16_t ch1 = get_raw_channel_from_row(row1, x, 1, format); + std::uint16_t ch2 = get_raw_channel_from_row(row2, x, 2, format); + set_raw_channel_to_row(out_data, x, 0, ch0, format); + set_raw_channel_to_row(out_data, x, 1, ch1, format); + set_raw_channel_to_row(out_data, x, 2, ch2, format); + } + return got_data; +} + +ImagePipelineNodePixelShiftLines::ImagePipelineNodePixelShiftLines( + ImagePipelineNode& source, const std::vector& shifts) : + source_(source), + pixel_shifts_{shifts}, + buffer_{get_row_bytes()} +{ + DBG_HELPER(dbg); + DBG(DBG_proc, "%s: shifts={", __func__); + for (auto el : pixel_shifts_) { + DBG(DBG_proc, " %zu", el); + } + DBG(DBG_proc, " }\n"); + + if (pixel_shifts_.size() > MAX_SHIFTS) { + throw SaneException("Unsupported number of shift configurations %zu", pixel_shifts_.size()); + } + + extra_height_ = *std::max_element(pixel_shifts_.begin(), pixel_shifts_.end()); +} + +bool ImagePipelineNodePixelShiftLines::get_next_row_data(std::uint8_t* out_data) +{ + bool got_data = true; + + if (!buffer_.empty()) { + buffer_.pop_front(); + } + while (buffer_.height() < extra_height_ + 1) { + buffer_.push_back(); + got_data &= source_.get_next_row_data(buffer_.get_back_row_ptr()); + } + + auto format = get_format(); + auto shift_count = pixel_shifts_.size(); + + std::array rows; + + for (std::size_t irow = 0; irow < shift_count; ++irow) { + rows[irow] = buffer_.get_row_ptr(pixel_shifts_[irow]); + } + + for (std::size_t x = 0, width = get_width(); x < width;) { + for (std::size_t irow = 0; irow < shift_count && x < width; irow++, x++) { + RawPixel pixel = get_raw_pixel_from_row(rows[irow], x, format); + set_raw_pixel_to_row(out_data, x, pixel, format); + } + } + return got_data; +} + +ImagePipelineNodeExtract::ImagePipelineNodeExtract(ImagePipelineNode& source, + std::size_t offset_x, std::size_t offset_y, + std::size_t width, std::size_t height) : + source_(source), + offset_x_{offset_x}, + offset_y_{offset_y}, + width_{width}, + height_{height} +{ + cached_line_.resize(source_.get_row_bytes()); +} + +ImagePipelineNodeExtract::~ImagePipelineNodeExtract() {} + +ImagePipelineNodeScaleRows::ImagePipelineNodeScaleRows(ImagePipelineNode& source, + std::size_t width) : + source_(source), + width_{width} +{ + cached_line_.resize(source_.get_row_bytes()); +} + +bool ImagePipelineNodeScaleRows::get_next_row_data(std::uint8_t* out_data) +{ + auto src_width = source_.get_width(); + auto dst_width = width_; + + bool got_data = source_.get_next_row_data(cached_line_.data()); + + const auto* src_data = cached_line_.data(); + auto format = get_format(); + auto channels = get_pixel_channels(format); + + if (src_width > dst_width) { + // average + std::uint32_t counter = src_width / 2; + unsigned src_x = 0; + for (unsigned dst_x = 0; dst_x < dst_width; dst_x++) { + unsigned avg[3] = {0, 0, 0}; + unsigned count = 0; + while (counter < src_width && src_x < src_width) { + counter += dst_width; + + for (unsigned c = 0; c < channels; c++) { + avg[c] += get_raw_channel_from_row(src_data, src_x, c, format); + } + + src_x++; + count++; + } + counter -= src_width; + + for (unsigned c = 0; c < channels; c++) { + set_raw_channel_to_row(out_data, dst_x, c, avg[c] / count, format); + } + } + } else { + // interpolate and copy pixels + std::uint32_t counter = dst_width / 2; + unsigned dst_x = 0; + + for (unsigned src_x = 0; src_x < src_width; src_x++) { + unsigned avg[3] = {0, 0, 0}; + for (unsigned c = 0; c < channels; c++) { + avg[c] += get_raw_channel_from_row(src_data, src_x, c, format); + } + while ((counter < dst_width || src_x + 1 == src_width) && dst_x < dst_width) { + counter += src_width; + + for (unsigned c = 0; c < channels; c++) { + set_raw_channel_to_row(out_data, dst_x, c, avg[c], format); + } + dst_x++; + } + counter -= dst_width; + } + } + return got_data; +} + +bool ImagePipelineNodeExtract::get_next_row_data(std::uint8_t* out_data) +{ + bool got_data = true; + + while (current_line_ < offset_y_) { + got_data &= source_.get_next_row_data(cached_line_.data()); + current_line_++; + } + if (current_line_ >= offset_y_ + source_.get_height()) { + std::fill(out_data, out_data + get_row_bytes(), 0); + current_line_++; + return got_data; + } + // now we're sure that the following holds: + // offset_y_ <= current_line_ < offset_y_ + source_.get_height()) + got_data &= source_.get_next_row_data(cached_line_.data()); + + auto format = get_format(); + auto x_src_width = source_.get_width() > offset_x_ ? source_.get_width() - offset_x_ : 0; + x_src_width = std::min(x_src_width, width_); + auto x_pad_after = width_ > x_src_width ? width_ - x_src_width : 0; + + if (get_pixel_format_depth(format) < 8) { + // we need to copy pixels one-by-one as there's no per-bit addressing + for (std::size_t i = 0; i < x_src_width; ++i) { + auto pixel = get_raw_pixel_from_row(cached_line_.data(), i + offset_x_, format); + set_raw_pixel_to_row(out_data, i, pixel, format); + } + for (std::size_t i = 0; i < x_pad_after; ++i) { + set_raw_pixel_to_row(out_data, i + x_src_width, RawPixel{}, format); + } + } else { + std::size_t bpp = get_pixel_format_depth(format) / 8; + if (x_src_width > 0) { + std::memcpy(out_data, cached_line_.data() + offset_x_ * bpp, + x_src_width * bpp); + } + if (x_pad_after > 0) { + std::fill(out_data + x_src_width * bpp, + out_data + (x_src_width + x_pad_after) * bpp, 0); + } + } + + current_line_++; + + return got_data; +} + +ImagePipelineNodeCalibrate::ImagePipelineNodeCalibrate(ImagePipelineNode& source, + const std::vector& bottom, + const std::vector& top) : + source_{source} +{ + auto size = std::min(bottom.size(), top.size()); + offset_.reserve(size); + multiplier_.reserve(size); + + for (std::size_t i = 0; i < size; ++i) { + offset_.push_back(bottom[i] / 65535.0f); + multiplier_.push_back(65535.0f / (top[i] - bottom[i])); + } +} + +bool ImagePipelineNodeCalibrate::get_next_row_data(std::uint8_t* out_data) +{ + bool ret = source_.get_next_row_data(out_data); + + auto format = get_format(); + auto depth = get_pixel_format_depth(format); + std::size_t max_value = 1; + switch (depth) { + case 8: max_value = 255; break; + case 16: max_value = 65535; break; + default: + throw SaneException("Unsupported depth for calibration %d", depth); + } + unsigned channels = get_pixel_channels(format); + + std::size_t max_calib_i = offset_.size(); + std::size_t curr_calib_i = 0; + + for (std::size_t x = 0, width = get_width(); x < width && curr_calib_i < max_calib_i; ++x) { + for (unsigned ch = 0; ch < channels && curr_calib_i < max_calib_i; ++ch) { + std::int32_t value = get_raw_channel_from_row(out_data, x, ch, format); + + float value_f = static_cast(value) / max_value; + value_f = (value_f - offset_[curr_calib_i]) * multiplier_[curr_calib_i]; + value_f = std::round(value_f * max_value); + value = clamp(static_cast(value_f), 0, max_value); + set_raw_channel_to_row(out_data, x, ch, value, format); + + curr_calib_i++; + } + } + return ret; +} + +ImagePipelineNodeDebug::ImagePipelineNodeDebug(ImagePipelineNode& source, + const std::string& path) : + source_(source), + path_{path}, + buffer_{source_.get_row_bytes()} +{} + +ImagePipelineNodeDebug::~ImagePipelineNodeDebug() +{ + catch_all_exceptions(__func__, [&]() + { + if (buffer_.empty()) + return; + + auto format = get_format(); + buffer_.linearize(); + sanei_genesys_write_pnm_file(path_.c_str(), buffer_.get_front_row_ptr(), + get_pixel_format_depth(format), + get_pixel_channels(format), + get_width(), buffer_.height()); + }); +} + +bool ImagePipelineNodeDebug::get_next_row_data(std::uint8_t* out_data) +{ + buffer_.push_back(); + bool got_data = source_.get_next_row_data(out_data); + std::memcpy(buffer_.get_back_row_ptr(), out_data, get_row_bytes()); + return got_data; +} + +std::size_t ImagePipelineStack::get_input_width() const +{ + ensure_node_exists(); + return nodes_.front()->get_width(); +} + +std::size_t ImagePipelineStack::get_input_height() const +{ + ensure_node_exists(); + return nodes_.front()->get_height(); +} + +PixelFormat ImagePipelineStack::get_input_format() const +{ + ensure_node_exists(); + return nodes_.front()->get_format(); +} + +std::size_t ImagePipelineStack::get_input_row_bytes() const +{ + ensure_node_exists(); + return nodes_.front()->get_row_bytes(); +} + +std::size_t ImagePipelineStack::get_output_width() const +{ + ensure_node_exists(); + return nodes_.back()->get_width(); +} + +std::size_t ImagePipelineStack::get_output_height() const +{ + ensure_node_exists(); + return nodes_.back()->get_height(); +} + +PixelFormat ImagePipelineStack::get_output_format() const +{ + ensure_node_exists(); + return nodes_.back()->get_format(); +} + +std::size_t ImagePipelineStack::get_output_row_bytes() const +{ + ensure_node_exists(); + return nodes_.back()->get_row_bytes(); +} + +void ImagePipelineStack::ensure_node_exists() const +{ + if (nodes_.empty()) { + throw SaneException("The pipeline does not contain any nodes"); + } +} + +void ImagePipelineStack::clear() +{ + // we need to destroy the nodes back to front, so that the destructors still have valid + // references to sources + for (auto it = nodes_.rbegin(); it != nodes_.rend(); ++it) { + it->reset(); + } + nodes_.clear(); +} + +std::vector ImagePipelineStack::get_all_data() +{ + auto row_bytes = get_output_row_bytes(); + auto height = get_output_height(); + + std::vector ret; + ret.resize(row_bytes * height); + + for (std::size_t i = 0; i < height; ++i) { + get_next_row_data(ret.data() + row_bytes * i); + } + return ret; +} + +Image ImagePipelineStack::get_image() +{ + auto height = get_output_height(); + + Image ret; + ret.resize(get_output_width(), height, get_output_format()); + + for (std::size_t i = 0; i < height; ++i) { + get_next_row_data(ret.get_row_ptr(i)); + } + return ret; +} + +} // namespace genesys diff --git a/backend/genesys/image_pipeline.h b/backend/genesys/image_pipeline.h new file mode 100644 index 0000000..2986837 --- /dev/null +++ b/backend/genesys/image_pipeline.h @@ -0,0 +1,572 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_IMAGE_PIPELINE_H +#define BACKEND_GENESYS_IMAGE_PIPELINE_H + +#include "image.h" +#include "image_pixel.h" +#include "image_buffer.h" + +#include +#include +#include + +namespace genesys { + +class ImagePipelineNode +{ +public: + virtual ~ImagePipelineNode(); + + virtual std::size_t get_width() const = 0; + virtual std::size_t get_height() const = 0; + virtual PixelFormat get_format() const = 0; + + std::size_t get_row_bytes() const + { + return get_pixel_row_bytes(get_format(), get_width()); + } + + virtual bool eof() const = 0; + + // returns true if the row was filled successfully, false otherwise (e.g. if not enough data + // was available. + virtual bool get_next_row_data(std::uint8_t* out_data) = 0; +}; + +class ImagePipelineNodeBytesSource : public ImagePipelineNode +{ +public: + std::size_t remaining_bytes() const { return remaining_bytes_; } + void set_remaining_bytes(std::size_t bytes) { remaining_bytes_ = bytes; } + + std::size_t consume_remaining_bytes(std::size_t bytes); + +private: + std::size_t remaining_bytes_ = 0; +}; + +// A pipeline node that produces data from a callable +class ImagePipelineNodeCallableSource : public ImagePipelineNode +{ +public: + using ProducerCallback = std::function; + + ImagePipelineNodeCallableSource(std::size_t width, std::size_t height, PixelFormat format, + ProducerCallback producer) : + producer_{producer}, + width_{width}, + height_{height}, + format_{format} + {} + + std::size_t get_width() const override { return width_; } + std::size_t get_height() const override { return height_; } + PixelFormat get_format() const override { return format_; } + + bool eof() const override { return eof_; } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + ProducerCallback producer_; + std::size_t width_ = 0; + std::size_t height_ = 0; + PixelFormat format_ = PixelFormat::UNKNOWN; + bool eof_ = false; +}; + +// A pipeline node that produces data from a callable requesting fixed-size chunks. +class ImagePipelineNodeBufferedCallableSource : public ImagePipelineNodeBytesSource +{ +public: + using ProducerCallback = std::function; + + ImagePipelineNodeBufferedCallableSource(std::size_t width, std::size_t height, + PixelFormat format, std::size_t input_batch_size, + ProducerCallback producer); + + std::size_t get_width() const override { return width_; } + std::size_t get_height() const override { return height_; } + PixelFormat get_format() const override { return format_; } + + bool eof() const override { return eof_; } + + bool get_next_row_data(std::uint8_t* out_data) override; + + std::size_t buffer_size() const { return buffer_.size(); } + std::size_t buffer_available() const { return buffer_.available(); } + +private: + ProducerCallback producer_; + std::size_t width_ = 0; + std::size_t height_ = 0; + PixelFormat format_ = PixelFormat::UNKNOWN; + + bool eof_ = false; + std::size_t curr_row_ = 0; + + ImageBuffer buffer_; +}; + +class ImagePipelineNodeBufferedGenesysUsb : public ImagePipelineNodeBytesSource +{ +public: + using ProducerCallback = std::function; + + ImagePipelineNodeBufferedGenesysUsb(std::size_t width, std::size_t height, + PixelFormat format, std::size_t total_size, + const FakeBufferModel& buffer_model, + ProducerCallback producer); + + std::size_t get_width() const override { return width_; } + std::size_t get_height() const override { return height_; } + PixelFormat get_format() const override { return format_; } + + bool eof() const override { return eof_; } + + bool get_next_row_data(std::uint8_t* out_data) override; + + std::size_t buffer_available() const { return buffer_.available(); } + +private: + ProducerCallback producer_; + std::size_t width_ = 0; + std::size_t height_ = 0; + PixelFormat format_ = PixelFormat::UNKNOWN; + + bool eof_ = false; + + ImageBufferGenesysUsb buffer_; +}; + +// A pipeline node that produces data from the given array. +class ImagePipelineNodeArraySource : public ImagePipelineNodeBytesSource +{ +public: + ImagePipelineNodeArraySource(std::size_t width, std::size_t height, PixelFormat format, + std::vector data); + + std::size_t get_width() const override { return width_; } + std::size_t get_height() const override { return height_; } + PixelFormat get_format() const override { return format_; } + + bool eof() const override { return eof_; } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + std::size_t width_ = 0; + std::size_t height_ = 0; + PixelFormat format_ = PixelFormat::UNKNOWN; + + bool eof_ = false; + + std::vector data_; + std::size_t next_row_ = 0; +}; + + +/// A pipeline node that produces data from the given image +class ImagePipelineNodeImageSource : public ImagePipelineNode +{ +public: + ImagePipelineNodeImageSource(const Image& source); + + std::size_t get_width() const override { return source_.get_width(); } + std::size_t get_height() const override { return source_.get_height(); } + PixelFormat get_format() const override { return source_.get_format(); } + + bool eof() const override { return next_row_ >= get_height(); } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + const Image& source_; + std::size_t next_row_ = 0; +}; + +// A pipeline node that converts between pixel formats +class ImagePipelineNodeFormatConvert : public ImagePipelineNode +{ +public: + ImagePipelineNodeFormatConvert(ImagePipelineNode& source, PixelFormat dst_format) : + source_(source), + dst_format_{dst_format} + {} + + ~ImagePipelineNodeFormatConvert() override = default; + + std::size_t get_width() const override { return source_.get_width(); } + std::size_t get_height() const override { return source_.get_height(); } + PixelFormat get_format() const override { return dst_format_; } + + bool eof() const override { return source_.eof(); } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + ImagePipelineNode& source_; + PixelFormat dst_format_; + std::vector buffer_; +}; + +// A pipeline node that handles data that comes out of segmented sensors. Note that the width of +// the output data does not necessarily match the input data width, because in many cases almost +// all width of the image needs to be read in order to desegment it. +class ImagePipelineNodeDesegment : public ImagePipelineNode +{ +public: + ImagePipelineNodeDesegment(ImagePipelineNode& source, + std::size_t output_width, + const std::vector& segment_order, + std::size_t segment_pixels, + std::size_t interleaved_lines, + std::size_t pixels_per_chunk); + + ImagePipelineNodeDesegment(ImagePipelineNode& source, + std::size_t output_width, + std::size_t segment_count, + std::size_t segment_pixels, + std::size_t interleaved_lines, + std::size_t pixels_per_chunk); + + ~ImagePipelineNodeDesegment() override = default; + + std::size_t get_width() const override { return output_width_; } + std::size_t get_height() const override { return source_.get_height() / interleaved_lines_; } + PixelFormat get_format() const override { return source_.get_format(); } + + bool eof() const override { return source_.eof(); } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + ImagePipelineNode& source_; + std::size_t output_width_; + std::vector segment_order_; + std::size_t segment_pixels_ = 0; + std::size_t interleaved_lines_ = 0; + std::size_t pixels_per_chunk_ = 0; + + RowBuffer buffer_; +}; + +// A pipeline node that deinterleaves data on multiple lines +class ImagePipelineNodeDeinterleaveLines : public ImagePipelineNodeDesegment +{ +public: + ImagePipelineNodeDeinterleaveLines(ImagePipelineNode& source, + std::size_t interleaved_lines, + std::size_t pixels_per_chunk); +}; + +// A pipeline that swaps bytes in 16-bit components on big-endian systems +class ImagePipelineNodeSwap16BitEndian : public ImagePipelineNode +{ +public: + ImagePipelineNodeSwap16BitEndian(ImagePipelineNode& source); + + std::size_t get_width() const override { return source_.get_width(); } + std::size_t get_height() const override { return source_.get_height(); } + PixelFormat get_format() const override { return source_.get_format(); } + + bool eof() const override { return source_.eof(); } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + ImagePipelineNode& source_; + bool needs_swapping_ = false; +}; + +// A pipeline node that merges 3 mono lines into a color channel +class ImagePipelineNodeMergeMonoLines : public ImagePipelineNode +{ +public: + ImagePipelineNodeMergeMonoLines(ImagePipelineNode& source, + ColorOrder color_order); + + std::size_t get_width() const override { return source_.get_width(); } + std::size_t get_height() const override { return source_.get_height() / 3; } + PixelFormat get_format() const override { return output_format_; } + + bool eof() const override { return source_.eof(); } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + static PixelFormat get_output_format(PixelFormat input_format, ColorOrder order); + + ImagePipelineNode& source_; + PixelFormat output_format_ = PixelFormat::UNKNOWN; + + RowBuffer buffer_; +}; + +// A pipeline node that splits a color channel into 3 mono lines +class ImagePipelineNodeSplitMonoLines : public ImagePipelineNode +{ +public: + ImagePipelineNodeSplitMonoLines(ImagePipelineNode& source); + + std::size_t get_width() const override { return source_.get_width(); } + std::size_t get_height() const override { return source_.get_height() * 3; } + PixelFormat get_format() const override { return output_format_; } + + bool eof() const override { return source_.eof(); } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + static PixelFormat get_output_format(PixelFormat input_format); + + ImagePipelineNode& source_; + PixelFormat output_format_ = PixelFormat::UNKNOWN; + + std::vector buffer_; + unsigned next_channel_ = 0; +}; + +// A pipeline node that shifts colors across lines by the given offsets +class ImagePipelineNodeComponentShiftLines : public ImagePipelineNode +{ +public: + ImagePipelineNodeComponentShiftLines(ImagePipelineNode& source, + unsigned shift_r, unsigned shift_g, unsigned shift_b); + + std::size_t get_width() const override { return source_.get_width(); } + std::size_t get_height() const override { return source_.get_height() - extra_height_; } + PixelFormat get_format() const override { return source_.get_format(); } + + bool eof() const override { return source_.eof(); } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + ImagePipelineNode& source_; + std::size_t extra_height_ = 0; + + std::array channel_shifts_; + + RowBuffer buffer_; +}; + +// A pipeline node that shifts pixels across lines by the given offsets (performs unstaggering) +class ImagePipelineNodePixelShiftLines : public ImagePipelineNode +{ +public: + constexpr static std::size_t MAX_SHIFTS = 2; + + ImagePipelineNodePixelShiftLines(ImagePipelineNode& source, + const std::vector& shifts); + + std::size_t get_width() const override { return source_.get_width(); } + std::size_t get_height() const override { return source_.get_height() - extra_height_; } + PixelFormat get_format() const override { return source_.get_format(); } + + bool eof() const override { return source_.eof(); } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + ImagePipelineNode& source_; + std::size_t extra_height_ = 0; + + std::vector pixel_shifts_; + + RowBuffer buffer_; +}; + +// A pipeline node that extracts a sub-image from the image. Padding and cropping is done as needed. +// The class can't pad to the left of the image currently, as only positive offsets are accepted. +class ImagePipelineNodeExtract : public ImagePipelineNode +{ +public: + ImagePipelineNodeExtract(ImagePipelineNode& source, + std::size_t offset_x, std::size_t offset_y, + std::size_t width, std::size_t height); + + ~ImagePipelineNodeExtract() override; + + std::size_t get_width() const override { return width_; } + std::size_t get_height() const override { return height_; } + PixelFormat get_format() const override { return source_.get_format(); } + + bool eof() const override { return source_.eof(); } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + ImagePipelineNode& source_; + std::size_t offset_x_ = 0; + std::size_t offset_y_ = 0; + std::size_t width_ = 0; + std::size_t height_ = 0; + + std::size_t current_line_ = 0; + std::vector cached_line_; +}; + +// A pipeline node that scales rows to the specified width by using a point filter +class ImagePipelineNodeScaleRows : public ImagePipelineNode +{ +public: + ImagePipelineNodeScaleRows(ImagePipelineNode& source, std::size_t width); + + std::size_t get_width() const override { return width_; } + std::size_t get_height() const override { return source_.get_height(); } + PixelFormat get_format() const override { return source_.get_format(); } + + bool eof() const override { return source_.eof(); } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + ImagePipelineNode& source_; + std::size_t width_ = 0; + + std::vector cached_line_; +}; + +// A pipeline node that mimics the calibration behavior on Genesys chips +class ImagePipelineNodeCalibrate : public ImagePipelineNode +{ +public: + + ImagePipelineNodeCalibrate(ImagePipelineNode& source, const std::vector& bottom, + const std::vector& top); + + std::size_t get_width() const override { return source_.get_width(); } + std::size_t get_height() const override { return source_.get_height(); } + PixelFormat get_format() const override { return source_.get_format(); } + + bool eof() const override { return source_.eof(); } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + ImagePipelineNode& source_; + + std::vector offset_; + std::vector multiplier_; +}; + +class ImagePipelineNodeDebug : public ImagePipelineNode +{ +public: + ImagePipelineNodeDebug(ImagePipelineNode& source, const std::string& path); + ~ImagePipelineNodeDebug() override; + + std::size_t get_width() const override { return source_.get_width(); } + std::size_t get_height() const override { return source_.get_height(); } + PixelFormat get_format() const override { return source_.get_format(); } + + bool eof() const override { return source_.eof(); } + + bool get_next_row_data(std::uint8_t* out_data) override; + +private: + ImagePipelineNode& source_; + std::string path_; + RowBuffer buffer_; +}; + +class ImagePipelineStack +{ +public: + ImagePipelineStack() {} + ~ImagePipelineStack() { clear(); } + + std::size_t get_input_width() const; + std::size_t get_input_height() const; + PixelFormat get_input_format() const; + std::size_t get_input_row_bytes() const; + + std::size_t get_output_width() const; + std::size_t get_output_height() const; + PixelFormat get_output_format() const; + std::size_t get_output_row_bytes() const; + + ImagePipelineNode& front() { return *(nodes_.front().get()); } + + bool eof() const { return nodes_.back()->eof(); } + + void clear(); + + template + void push_first_node(Args&&... args) + { + if (!nodes_.empty()) { + throw SaneException("Trying to append first node when there are existing nodes"); + } + nodes_.emplace_back(std::unique_ptr(new Node(std::forward(args)...))); + } + + template + void push_node(Args&&... args) + { + ensure_node_exists(); + nodes_.emplace_back(std::unique_ptr(new Node(*nodes_.back(), + std::forward(args)...))); + } + + bool get_next_row_data(std::uint8_t* out_data) + { + return nodes_.back()->get_next_row_data(out_data); + } + + std::vector get_all_data(); + + Image get_image(); + +private: + void ensure_node_exists() const; + + std::vector> nodes_; +}; + +} // namespace genesys + +#endif // ifndef BACKEND_GENESYS_IMAGE_PIPELINE_H diff --git a/backend/genesys/image_pixel.cpp b/backend/genesys/image_pixel.cpp new file mode 100644 index 0000000..1b83e12 --- /dev/null +++ b/backend/genesys/image_pixel.cpp @@ -0,0 +1,509 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "image.h" + +#include + +namespace genesys { + +struct PixelFormatDesc +{ + PixelFormat format; + unsigned depth; + unsigned channels; + ColorOrder order; +}; + +const PixelFormatDesc s_known_pixel_formats[] = { + { PixelFormat::I1, 1, 1, ColorOrder::RGB }, + { PixelFormat::I8, 8, 1, ColorOrder::RGB }, + { PixelFormat::I16, 16, 1, ColorOrder::RGB }, + { PixelFormat::RGB111, 1, 3, ColorOrder::RGB }, + { PixelFormat::RGB888, 8, 3, ColorOrder::RGB }, + { PixelFormat::RGB161616, 16, 3, ColorOrder::RGB }, + { PixelFormat::BGR888, 8, 3, ColorOrder::BGR }, + { PixelFormat::BGR161616, 16, 3, ColorOrder::BGR }, +}; + + +ColorOrder get_pixel_format_color_order(PixelFormat format) +{ + for (const auto& desc : s_known_pixel_formats) { + if (desc.format == format) + return desc.order; + } + throw SaneException("Unknown pixel format %d", static_cast(format)); +} + + +unsigned get_pixel_format_depth(PixelFormat format) +{ + for (const auto& desc : s_known_pixel_formats) { + if (desc.format == format) + return desc.depth; + } + throw SaneException("Unknown pixel format %d", static_cast(format)); +} + +unsigned get_pixel_channels(PixelFormat format) +{ + for (const auto& desc : s_known_pixel_formats) { + if (desc.format == format) + return desc.channels; + } + throw SaneException("Unknown pixel format %d", static_cast(format)); +} + +std::size_t get_pixel_row_bytes(PixelFormat format, std::size_t width) +{ + std::size_t depth = get_pixel_format_depth(format) * get_pixel_channels(format); + std::size_t total_bits = depth * width; + return total_bits / 8 + ((total_bits % 8 > 0) ? 1 : 0); +} + +std::size_t get_pixels_from_row_bytes(PixelFormat format, std::size_t row_bytes) +{ + std::size_t depth = get_pixel_format_depth(format) * get_pixel_channels(format); + return (row_bytes * 8) / depth; +} + +PixelFormat create_pixel_format(unsigned depth, unsigned channels, ColorOrder order) +{ + for (const auto& desc : s_known_pixel_formats) { + if (desc.depth == depth && desc.channels == channels && desc.order == order) { + return desc.format; + } + } + throw SaneException("Unknown pixel format %d %d %d", depth, channels, + static_cast(order)); +} + +static inline unsigned read_bit(const std::uint8_t* data, std::size_t x) +{ + return (data[x / 8] >> (7 - (x % 8))) & 0x1; +} + +static inline void write_bit(std::uint8_t* data, std::size_t x, unsigned value) +{ + value = (value & 0x1) << (7 - (x % 8)); + std::uint8_t mask = 0x1 << (7 - (x % 8)); + + data[x / 8] = (data[x / 8] & ~mask) | (value & mask); +} + +Pixel get_pixel_from_row(const std::uint8_t* data, std::size_t x, PixelFormat format) +{ + switch (format) { + case PixelFormat::I1: { + std::uint16_t val = read_bit(data, x) ? 0xffff : 0x0000; + return Pixel(val, val, val); + } + case PixelFormat::RGB111: { + x *= 3; + std::uint16_t r = read_bit(data, x) ? 0xffff : 0x0000; + std::uint16_t g = read_bit(data, x + 1) ? 0xffff : 0x0000; + std::uint16_t b = read_bit(data, x + 2) ? 0xffff : 0x0000; + return Pixel(r, g, b); + } + case PixelFormat::I8: { + std::uint16_t val = std::uint16_t(data[x]) | (data[x] << 8); + return Pixel(val, val, val); + } + case PixelFormat::I16: { + x *= 2; + std::uint16_t val = std::uint16_t(data[x]) | (data[x + 1] << 8); + return Pixel(val, val, val); + } + case PixelFormat::RGB888: { + x *= 3; + std::uint16_t r = std::uint16_t(data[x]) | (data[x] << 8); + std::uint16_t g = std::uint16_t(data[x + 1]) | (data[x + 1] << 8); + std::uint16_t b = std::uint16_t(data[x + 2]) | (data[x + 2] << 8); + return Pixel(r, g, b); + } + case PixelFormat::BGR888: { + x *= 3; + std::uint16_t b = std::uint16_t(data[x]) | (data[x] << 8); + std::uint16_t g = std::uint16_t(data[x + 1]) | (data[x + 1] << 8); + std::uint16_t r = std::uint16_t(data[x + 2]) | (data[x + 2] << 8); + return Pixel(r, g, b); + } + case PixelFormat::RGB161616: { + x *= 6; + std::uint16_t r = std::uint16_t(data[x]) | (data[x + 1] << 8); + std::uint16_t g = std::uint16_t(data[x + 2]) | (data[x + 3] << 8); + std::uint16_t b = std::uint16_t(data[x + 4]) | (data[x + 5] << 8); + return Pixel(r, g, b); + } + case PixelFormat::BGR161616: { + x *= 6; + std::uint16_t b = std::uint16_t(data[x]) | (data[x + 1] << 8); + std::uint16_t g = std::uint16_t(data[x + 2]) | (data[x + 3] << 8); + std::uint16_t r = std::uint16_t(data[x + 4]) | (data[x + 5] << 8); + return Pixel(r, g, b); + } + default: + throw SaneException("Unknown pixel format %d", static_cast(format)); + } +} + +void set_pixel_to_row(std::uint8_t* data, std::size_t x, Pixel pixel, PixelFormat format) +{ + switch (format) { + case PixelFormat::I1: + write_bit(data, x, pixel.r & 0x8000 ? 1 : 0); + return; + case PixelFormat::RGB111: { + x *= 3; + write_bit(data, x, pixel.r & 0x8000 ? 1 : 0); + write_bit(data, x + 1,pixel.g & 0x8000 ? 1 : 0); + write_bit(data, x + 2, pixel.b & 0x8000 ? 1 : 0); + return; + } + case PixelFormat::I8: { + float val = (pixel.r >> 8) * 0.3f; + val += (pixel.g >> 8) * 0.59f; + val += (pixel.b >> 8) * 0.11f; + data[x] = static_cast(val); + return; + } + case PixelFormat::I16: { + x *= 2; + float val = pixel.r * 0.3f; + val += pixel.g * 0.59f; + val += pixel.b * 0.11f; + auto val16 = static_cast(val); + data[x] = val16 & 0xff; + data[x + 1] = (val16 >> 8) & 0xff; + return; + } + case PixelFormat::RGB888: { + x *= 3; + data[x] = pixel.r >> 8; + data[x + 1] = pixel.g >> 8; + data[x + 2] = pixel.b >> 8; + return; + } + case PixelFormat::BGR888: { + x *= 3; + data[x] = pixel.b >> 8; + data[x + 1] = pixel.g >> 8; + data[x + 2] = pixel.r >> 8; + return; + } + case PixelFormat::RGB161616: { + x *= 6; + data[x] = pixel.r & 0xff; + data[x + 1] = (pixel.r >> 8) & 0xff; + data[x + 2] = pixel.g & 0xff; + data[x + 3] = (pixel.g >> 8) & 0xff; + data[x + 4] = pixel.b & 0xff; + data[x + 5] = (pixel.b >> 8) & 0xff; + return; + } + case PixelFormat::BGR161616: + x *= 6; + data[x] = pixel.b & 0xff; + data[x + 1] = (pixel.b >> 8) & 0xff; + data[x + 2] = pixel.g & 0xff; + data[x + 3] = (pixel.g >> 8) & 0xff; + data[x + 4] = pixel.r & 0xff; + data[x + 5] = (pixel.r >> 8) & 0xff; + return; + default: + throw SaneException("Unknown pixel format %d", static_cast(format)); + } +} + +RawPixel get_raw_pixel_from_row(const std::uint8_t* data, std::size_t x, PixelFormat format) +{ + switch (format) { + case PixelFormat::I1: + return RawPixel(read_bit(data, x)); + case PixelFormat::RGB111: { + x *= 3; + return RawPixel(read_bit(data, x) << 2 | + (read_bit(data, x + 1) << 1) | + (read_bit(data, x + 2))); + } + case PixelFormat::I8: + return RawPixel(data[x]); + case PixelFormat::I16: { + x *= 2; + return RawPixel(data[x], data[x + 1]); + } + case PixelFormat::RGB888: + case PixelFormat::BGR888: { + x *= 3; + return RawPixel(data[x], data[x + 1], data[x + 2]); + } + case PixelFormat::RGB161616: + case PixelFormat::BGR161616: { + x *= 6; + return RawPixel(data[x], data[x + 1], data[x + 2], + data[x + 3], data[x + 4], data[x + 5]); + } + default: + throw SaneException("Unknown pixel format %d", static_cast(format)); + } +} + +void set_raw_pixel_to_row(std::uint8_t* data, std::size_t x, RawPixel pixel, PixelFormat format) +{ + switch (format) { + case PixelFormat::I1: + write_bit(data, x, pixel.data[0] & 0x1); + return; + case PixelFormat::RGB111: { + x *= 3; + write_bit(data, x, (pixel.data[0] >> 2) & 0x1); + write_bit(data, x + 1, (pixel.data[0] >> 1) & 0x1); + write_bit(data, x + 2, (pixel.data[0]) & 0x1); + return; + } + case PixelFormat::I8: + data[x] = pixel.data[0]; + return; + case PixelFormat::I16: { + x *= 2; + data[x] = pixel.data[0]; + data[x + 1] = pixel.data[1]; + return; + } + case PixelFormat::RGB888: + case PixelFormat::BGR888: { + x *= 3; + data[x] = pixel.data[0]; + data[x + 1] = pixel.data[1]; + data[x + 2] = pixel.data[2]; + return; + } + case PixelFormat::RGB161616: + case PixelFormat::BGR161616: { + x *= 6; + data[x] = pixel.data[0]; + data[x + 1] = pixel.data[1]; + data[x + 2] = pixel.data[2]; + data[x + 3] = pixel.data[3]; + data[x + 4] = pixel.data[4]; + data[x + 5] = pixel.data[5]; + return; + } + default: + throw SaneException("Unknown pixel format %d", static_cast(format)); + } +} + +std::uint16_t get_raw_channel_from_row(const std::uint8_t* data, std::size_t x, unsigned channel, + PixelFormat format) +{ + switch (format) { + case PixelFormat::I1: + return read_bit(data, x); + case PixelFormat::RGB111: + return read_bit(data, x * 3 + channel); + case PixelFormat::I8: + return data[x]; + case PixelFormat::I16: { + x *= 2; + return data[x] | (data[x + 1] << 8); + } + case PixelFormat::RGB888: + case PixelFormat::BGR888: + return data[x * 3 + channel]; + case PixelFormat::RGB161616: + case PixelFormat::BGR161616: + return data[x * 6 + channel * 2] | (data[x * 6 + channel * 2 + 1]) << 8; + default: + throw SaneException("Unknown pixel format %d", static_cast(format)); + } +} + +void set_raw_channel_to_row(std::uint8_t* data, std::size_t x, unsigned channel, + std::uint16_t pixel, PixelFormat format) +{ + switch (format) { + case PixelFormat::I1: + write_bit(data, x, pixel & 0x1); + return; + case PixelFormat::RGB111: { + write_bit(data, x * 3 + channel, pixel & 0x1); + return; + } + case PixelFormat::I8: + data[x] = pixel; + return; + case PixelFormat::I16: { + x *= 2; + data[x] = pixel; + data[x + 1] = pixel >> 8; + return; + } + case PixelFormat::RGB888: + case PixelFormat::BGR888: { + x *= 3; + data[x + channel] = pixel; + return; + } + case PixelFormat::RGB161616: + case PixelFormat::BGR161616: { + x *= 6; + data[x + channel * 2] = pixel; + data[x + channel * 2 + 1] = pixel >> 8; + return; + } + default: + throw SaneException("Unknown pixel format %d", static_cast(format)); + } +} + +template +Pixel get_pixel_from_row(const std::uint8_t* data, std::size_t x) +{ + return get_pixel_from_row(data, x, Format); +} + +template +void set_pixel_to_row(std::uint8_t* data, std::size_t x, Pixel pixel) +{ + set_pixel_to_row(data, x, pixel, Format); +} + +template +RawPixel get_raw_pixel_from_row(const std::uint8_t* data, std::size_t x) +{ + return get_raw_pixel_from_row(data, x, Format); +} + +template +void set_raw_pixel_to_row(std::uint8_t* data, std::size_t x, RawPixel pixel) +{ + set_raw_pixel_to_row(data, x, pixel, Format); +} + +template +std::uint16_t get_raw_channel_from_row(const std::uint8_t* data, std::size_t x, unsigned channel) +{ + return get_raw_channel_from_row(data, x, channel, Format); +} + +template +void set_raw_channel_to_row(std::uint8_t* data, std::size_t x, unsigned channel, std::uint16_t pixel) +{ + set_raw_channel_to_row(data, x, channel, pixel, Format); +} + +template Pixel get_pixel_from_row(const std::uint8_t* data, std::size_t x); +template Pixel get_pixel_from_row(const std::uint8_t* data, std::size_t x); +template Pixel get_pixel_from_row(const std::uint8_t* data, std::size_t x); +template Pixel get_pixel_from_row(const std::uint8_t* data, std::size_t x); +template Pixel get_pixel_from_row(const std::uint8_t* data, std::size_t x); +template Pixel get_pixel_from_row(const std::uint8_t* data, std::size_t x); +template Pixel get_pixel_from_row(const std::uint8_t* data, std::size_t x); +template Pixel get_pixel_from_row(const std::uint8_t* data, std::size_t x); + +template RawPixel get_raw_pixel_from_row(const std::uint8_t* data, std::size_t x); +template RawPixel get_raw_pixel_from_row(const std::uint8_t* data, std::size_t x); +template RawPixel get_raw_pixel_from_row(const std::uint8_t* data, std::size_t x); +template RawPixel get_raw_pixel_from_row(const std::uint8_t* data, std::size_t x); +template RawPixel get_raw_pixel_from_row(const std::uint8_t* data, std::size_t x); +template RawPixel get_raw_pixel_from_row(const std::uint8_t* data, std::size_t x); +template RawPixel get_raw_pixel_from_row(const std::uint8_t* data, std::size_t x); +template RawPixel get_raw_pixel_from_row(const std::uint8_t* data, std::size_t x); + +template std::uint16_t get_raw_channel_from_row( + const std::uint8_t* data, std::size_t x, unsigned channel); +template std::uint16_t get_raw_channel_from_row( + const std::uint8_t* data, std::size_t x, unsigned channel); +template std::uint16_t get_raw_channel_from_row( + const std::uint8_t* data, std::size_t x, unsigned channel); +template std::uint16_t get_raw_channel_from_row( + const std::uint8_t* data, std::size_t x, unsigned channel); +template std::uint16_t get_raw_channel_from_row( + const std::uint8_t* data, std::size_t x, unsigned channel); +template std::uint16_t get_raw_channel_from_row( + const std::uint8_t* data, std::size_t x, unsigned channel); +template std::uint16_t get_raw_channel_from_row( + const std::uint8_t* data, std::size_t x, unsigned channel); +template std::uint16_t get_raw_channel_from_row + (const std::uint8_t* data, std::size_t x, unsigned channel); + +template void set_pixel_to_row(std::uint8_t* data, std::size_t x, Pixel pixel); +template void set_pixel_to_row(std::uint8_t* data, std::size_t x, Pixel pixel); +template void set_pixel_to_row(std::uint8_t* data, std::size_t x, Pixel pixel); +template void set_pixel_to_row(std::uint8_t* data, std::size_t x, Pixel pixel); +template void set_pixel_to_row(std::uint8_t* data, std::size_t x, Pixel pixel); +template void set_pixel_to_row(std::uint8_t* data, std::size_t x, Pixel pixel); +template void set_pixel_to_row(std::uint8_t* data, std::size_t x, Pixel pixel); +template void set_pixel_to_row(std::uint8_t* data, std::size_t x, Pixel pixel); + +template void set_raw_pixel_to_row(std::uint8_t* data, std::size_t x, RawPixel pixel); +template void set_raw_pixel_to_row(std::uint8_t* data, std::size_t x, RawPixel pixel); +template void set_raw_pixel_to_row(std::uint8_t* data, std::size_t x, RawPixel pixel); +template void set_raw_pixel_to_row(std::uint8_t* data, std::size_t x, RawPixel pixel); +template void set_raw_pixel_to_row(std::uint8_t* data, std::size_t x, RawPixel pixel); +template void set_raw_pixel_to_row(std::uint8_t* data, std::size_t x, RawPixel pixel); +template void set_raw_pixel_to_row(std::uint8_t* data, std::size_t x, RawPixel pixel); +template void set_raw_pixel_to_row(std::uint8_t* data, std::size_t x, RawPixel pixel); + +template void set_raw_channel_to_row( + std::uint8_t* data, std::size_t x, unsigned channel, std::uint16_t pixel); +template void set_raw_channel_to_row( + std::uint8_t* data, std::size_t x, unsigned channel, std::uint16_t pixel); +template void set_raw_channel_to_row( + std::uint8_t* data, std::size_t x, unsigned channel, std::uint16_t pixel); +template void set_raw_channel_to_row( + std::uint8_t* data, std::size_t x, unsigned channel, std::uint16_t pixel); +template void set_raw_channel_to_row( + std::uint8_t* data, std::size_t x, unsigned channel, std::uint16_t pixel); +template void set_raw_channel_to_row( + std::uint8_t* data, std::size_t x, unsigned channel, std::uint16_t pixel); +template void set_raw_channel_to_row( + std::uint8_t* data, std::size_t x, unsigned channel, std::uint16_t pixel); +template void set_raw_channel_to_row( + std::uint8_t* data, std::size_t x, unsigned channel, std::uint16_t pixel); + +} // namespace genesys diff --git a/backend/genesys/image_pixel.h b/backend/genesys/image_pixel.h new file mode 100644 index 0000000..2dda271 --- /dev/null +++ b/backend/genesys/image_pixel.h @@ -0,0 +1,144 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_IMAGE_PIXEL_H +#define BACKEND_GENESYS_IMAGE_PIXEL_H + +#include "enums.h" +#include +#include +#include + +namespace genesys { + +enum class PixelFormat +{ + UNKNOWN, + I1, + RGB111, + I8, + RGB888, + BGR888, + I16, + RGB161616, + BGR161616, +}; + +struct Pixel +{ + Pixel() = default; + Pixel(std::uint16_t red, std::uint16_t green, std::uint16_t blue) : + r{red}, g{green}, b{blue} {} + + std::uint16_t r = 0; + std::uint16_t g = 0; + std::uint16_t b = 0; + + bool operator==(const Pixel& other) const + { + return r == other.r && g == other.g && b == other.b; + } +}; + +struct RawPixel +{ + RawPixel() = default; + RawPixel(std::uint8_t d0) : data{d0, 0, 0, 0, 0, 0} {} + RawPixel(std::uint8_t d0, std::uint8_t d1) : data{d0, d1, 0, 0, 0, 0} {} + RawPixel(std::uint8_t d0, std::uint8_t d1, std::uint8_t d2) : data{d0, d1, d2, 0, 0, 0} {} + RawPixel(std::uint8_t d0, std::uint8_t d1, std::uint8_t d2, + std::uint8_t d3, std::uint8_t d4, std::uint8_t d5) : data{d0, d1, d2, d3, d4, d5} {} + std::uint8_t data[6] = {}; + + bool operator==(const RawPixel& other) const + { + return std::equal(std::begin(data), std::end(data), + std::begin(other.data)); + } +}; + +ColorOrder get_pixel_format_color_order(PixelFormat format); +unsigned get_pixel_format_depth(PixelFormat format); +unsigned get_pixel_channels(PixelFormat format); +std::size_t get_pixel_row_bytes(PixelFormat format, std::size_t width); + +std::size_t get_pixels_from_row_bytes(PixelFormat format, std::size_t row_bytes); + +PixelFormat create_pixel_format(unsigned depth, unsigned channels, ColorOrder order); + +// retrieves or sets the logical pixel values in 16-bit range. +Pixel get_pixel_from_row(const std::uint8_t* data, std::size_t x, PixelFormat format); +void set_pixel_to_row(std::uint8_t* data, std::size_t x, Pixel pixel, PixelFormat format); + +// retrieves or sets the physical pixel values. The low bytes of the RawPixel are interpreted as +// the retrieved values / values to set +RawPixel get_raw_pixel_from_row(const std::uint8_t* data, std::size_t x, PixelFormat format); +void set_raw_pixel_to_row(std::uint8_t* data, std::size_t x, RawPixel pixel, PixelFormat format); + +// retrieves or sets the physical value of specific channel of the pixel. The channels are numbered +// in the same order as the pixel is laid out in memory, that is, whichever channel comes first +// has the index 0. E.g. 0-th channel in RGB888 is the red byte, but in BGR888 is the blue byte. +std::uint16_t get_raw_channel_from_row(const std::uint8_t* data, std::size_t x, unsigned channel, + PixelFormat format); +void set_raw_channel_to_row(std::uint8_t* data, std::size_t x, unsigned channel, std::uint16_t pixel, + PixelFormat format); + +template +Pixel get_pixel_from_row(const std::uint8_t* data, std::size_t x); +template +void set_pixel_to_row(std::uint8_t* data, std::size_t x, RawPixel pixel); + +template +Pixel get_raw_pixel_from_row(const std::uint8_t* data, std::size_t x); +template +void set_raw_pixel_to_row(std::uint8_t* data, std::size_t x, RawPixel pixel); + +template +std::uint16_t get_raw_channel_from_row(const std::uint8_t* data, std::size_t x, unsigned channel); +template +void set_raw_channel_to_row(std::uint8_t* data, std::size_t x, unsigned channel, + std::uint16_t pixel); + +} // namespace genesys + +#endif // BACKEND_GENESYS_IMAGE_PIXEL_H diff --git a/backend/genesys/low.cpp b/backend/genesys/low.cpp new file mode 100644 index 0000000..7937fcc --- /dev/null +++ b/backend/genesys/low.cpp @@ -0,0 +1,1994 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2010-2013 Stéphane Voltz + + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "low.h" +#include "assert.h" +#include "test_settings.h" + +#include "gl124_registers.h" +#include "gl646_registers.h" +#include "gl841_registers.h" +#include "gl843_registers.h" +#include "gl846_registers.h" +#include "gl847_registers.h" +#include "gl646_registers.h" + +#include +#include +#include + +/* ------------------------------------------------------------------------ */ +/* functions calling ASIC specific functions */ +/* ------------------------------------------------------------------------ */ + +namespace genesys { + +/** + * setup the hardware dependent functions + */ + +namespace gl124 { std::unique_ptr create_gl124_cmd_set(); } +namespace gl646 { std::unique_ptr create_gl646_cmd_set(); } +namespace gl841 { std::unique_ptr create_gl841_cmd_set(); } +namespace gl843 { std::unique_ptr create_gl843_cmd_set(); } +namespace gl846 { std::unique_ptr create_gl846_cmd_set(); } +namespace gl847 { std::unique_ptr create_gl847_cmd_set(); } + +void sanei_genesys_init_cmd_set(Genesys_Device* dev) +{ + DBG_INIT (); + DBG_HELPER(dbg); + switch (dev->model->asic_type) { + case AsicType::GL646: dev->cmd_set = gl646::create_gl646_cmd_set(); break; + case AsicType::GL841: dev->cmd_set = gl841::create_gl841_cmd_set(); break; + case AsicType::GL843: dev->cmd_set = gl843::create_gl843_cmd_set(); break; + case AsicType::GL845: // since only a few reg bits differs we handle both together + case AsicType::GL846: dev->cmd_set = gl846::create_gl846_cmd_set(); break; + case AsicType::GL847: dev->cmd_set = gl847::create_gl847_cmd_set(); break; + case AsicType::GL124: dev->cmd_set = gl124::create_gl124_cmd_set(); break; + default: throw SaneException(SANE_STATUS_INVAL, "unknown ASIC type"); + } +} + +/* ------------------------------------------------------------------------ */ +/* General IO and debugging functions */ +/* ------------------------------------------------------------------------ */ + +void sanei_genesys_write_file(const char* filename, const std::uint8_t* data, std::size_t length) +{ + DBG_HELPER(dbg); + std::FILE* out = std::fopen(filename, "w"); + if (!out) { + throw SaneException("could not open %s for writing: %s", filename, strerror(errno)); + } + std::fwrite(data, 1, length, out); + std::fclose(out); +} + +// Write data to a pnm file (e.g. calibration). For debugging only +// data is RGB or grey, with little endian byte order +void sanei_genesys_write_pnm_file(const char* filename, const std::uint8_t* data, int depth, + int channels, int pixels_per_line, int lines) +{ + DBG_HELPER_ARGS(dbg, "depth=%d, channels=%d, ppl=%d, lines=%d", depth, channels, + pixels_per_line, lines); + int count; + + std::FILE* out = std::fopen(filename, "w"); + if (!out) + { + throw SaneException("could not open %s for writing: %s\n", filename, strerror(errno)); + } + if(depth==1) + { + fprintf (out, "P4\n%d\n%d\n", pixels_per_line, lines); + } + else + { + std::fprintf(out, "P%c\n%d\n%d\n%d\n", channels == 1 ? '5' : '6', pixels_per_line, lines, + static_cast(std::pow(static_cast(2), + static_cast(depth - 1)))); + } + if (channels == 3) + { + for (count = 0; count < (pixels_per_line * lines * 3); count++) + { + if (depth == 16) + fputc (*(data + 1), out); + fputc (*(data++), out); + if (depth == 16) + data++; + } + } + else + { + if (depth==1) + { + pixels_per_line/=8; + } + for (count = 0; count < (pixels_per_line * lines); count++) + { + switch (depth) + { + case 8: + fputc (*(data + count), out); + break; + case 16: + fputc (*(data + 1), out); + fputc (*(data), out); + data += 2; + break; + default: + fputc(data[count], out); + break; + } + } + } + std::fclose(out); +} + +void sanei_genesys_write_pnm_file16(const char* filename, const uint16_t* data, unsigned channels, + unsigned pixels_per_line, unsigned lines) +{ + DBG_HELPER_ARGS(dbg, "channels=%d, ppl=%d, lines=%d", channels, + pixels_per_line, lines); + + std::FILE* out = std::fopen(filename, "w"); + if (!out) { + throw SaneException("could not open %s for writing: %s\n", filename, strerror(errno)); + } + std::fprintf(out, "P%c\n%d\n%d\n%d\n", channels == 1 ? '5' : '6', + pixels_per_line, lines, 256 * 256 - 1); + + for (unsigned count = 0; count < (pixels_per_line * lines * channels); count++) { + fputc(*data >> 8, out); + fputc(*data & 0xff, out); + data++; + } + std::fclose(out); +} + +bool is_supported_write_pnm_file_image_format(PixelFormat format) +{ + switch (format) { + case PixelFormat::I1: + case PixelFormat::RGB111: + case PixelFormat::I8: + case PixelFormat::RGB888: + case PixelFormat::I16: + case PixelFormat::RGB161616: + return true; + default: + return false; + } +} + +void sanei_genesys_write_pnm_file(const char* filename, const Image& image) +{ + if (!is_supported_write_pnm_file_image_format(image.get_format())) { + throw SaneException("Unsupported format %d", static_cast(image.get_format())); + } + + sanei_genesys_write_pnm_file(filename, image.get_row_ptr(0), + get_pixel_format_depth(image.get_format()), + get_pixel_channels(image.get_format()), + image.get_width(), image.get_height()); +} + +/* ------------------------------------------------------------------------ */ +/* Read and write RAM, registers and AFE */ +/* ------------------------------------------------------------------------ */ + +unsigned sanei_genesys_get_bulk_max_size(AsicType asic_type) +{ + /* Genesys supports 0xFE00 maximum size in general, wheraus GL646 supports + 0xFFC0. We use 0xF000 because that's the packet limit in the Linux usbmon + USB capture stack. By default it limits packet size to b_size / 5 where + b_size is the size of the ring buffer. By default it's 300*1024, so the + packet is limited 61440 without any visibility to acquiring software. + */ + if (asic_type == AsicType::GL124 || + asic_type == AsicType::GL846 || + asic_type == AsicType::GL847) + { + return 0xeff0; + } + return 0xf000; +} + +// Set address for writing data +void sanei_genesys_set_buffer_address(Genesys_Device* dev, uint32_t addr) +{ + DBG_HELPER(dbg); + + if (dev->model->asic_type==AsicType::GL847 || + dev->model->asic_type==AsicType::GL845 || + dev->model->asic_type==AsicType::GL846 || + dev->model->asic_type==AsicType::GL124) + { + DBG(DBG_warn, "%s: shouldn't be used for GL846+ ASICs\n", __func__); + return; + } + + DBG(DBG_io, "%s: setting address to 0x%05x\n", __func__, addr & 0xfffffff0); + + addr = addr >> 4; + + dev->interface->write_register(0x2b, (addr & 0xff)); + + addr = addr >> 8; + dev->interface->write_register(0x2a, (addr & 0xff)); +} + +/* ------------------------------------------------------------------------ */ +/* Medium level functions */ +/* ------------------------------------------------------------------------ */ + +Status scanner_read_status(Genesys_Device& dev) +{ + DBG_HELPER(dbg); + std::uint16_t address = 0; + + switch (dev.model->asic_type) { + case AsicType::GL124: address = 0x101; break; + case AsicType::GL646: + case AsicType::GL841: + case AsicType::GL843: + case AsicType::GL845: + case AsicType::GL846: + case AsicType::GL847: address = 0x41; break; + default: throw SaneException("Unsupported asic type"); + } + + // same for all chips + constexpr std::uint8_t PWRBIT = 0x80; + constexpr std::uint8_t BUFEMPTY = 0x40; + constexpr std::uint8_t FEEDFSH = 0x20; + constexpr std::uint8_t SCANFSH = 0x10; + constexpr std::uint8_t HOMESNR = 0x08; + constexpr std::uint8_t LAMPSTS = 0x04; + constexpr std::uint8_t FEBUSY = 0x02; + constexpr std::uint8_t MOTORENB = 0x01; + + auto value = dev.interface->read_register(address); + Status status; + status.is_replugged = !(value & PWRBIT); + status.is_buffer_empty = value & BUFEMPTY; + status.is_feeding_finished = value & FEEDFSH; + status.is_scanning_finished = value & SCANFSH; + status.is_at_home = value & HOMESNR; + status.is_lamp_on = value & LAMPSTS; + status.is_front_end_busy = value & FEBUSY; + status.is_motor_enabled = value & MOTORENB; + + if (DBG_LEVEL >= DBG_io) { + debug_print_status(dbg, status); + } + + return status; +} + +Status scanner_read_reliable_status(Genesys_Device& dev) +{ + DBG_HELPER(dbg); + + scanner_read_status(dev); + dev.interface->sleep_ms(100); + return scanner_read_status(dev); +} + +void scanner_read_print_status(Genesys_Device& dev) +{ + scanner_read_status(dev); +} + +/** + * decodes and prints content of status register + * @param val value read from status register + */ +void debug_print_status(DebugMessageHelper& dbg, Status val) +{ + std::stringstream str; + str << val; + dbg.vlog(DBG_info, "status=%s\n", str.str().c_str()); +} + +#if 0 +/* returns pixels per line from register set */ +/*candidate for moving into chip specific files?*/ +static int +genesys_pixels_per_line (Genesys_Register_Set * reg) +{ + int pixels_per_line; + + pixels_per_line = reg->get8(0x32) * 256 + reg->get8(0x33); + pixels_per_line -= (reg->get8(0x30) * 256 + reg->get8(0x31)); + + return pixels_per_line; +} + +/* returns dpiset from register set */ +/*candidate for moving into chip specific files?*/ +static int +genesys_dpiset (Genesys_Register_Set * reg) +{ + return reg->get8(0x2c) * 256 + reg->get8(0x2d); +} +#endif + +/** read the number of valid words in scanner's RAM + * ie registers 42-43-44 + */ +// candidate for moving into chip specific files? +void sanei_genesys_read_valid_words(Genesys_Device* dev, unsigned int* words) +{ + DBG_HELPER(dbg); + + switch (dev->model->asic_type) + { + case AsicType::GL124: + *words = dev->interface->read_register(0x102) & 0x03; + *words = *words * 256 + dev->interface->read_register(0x103); + *words = *words * 256 + dev->interface->read_register(0x104); + *words = *words * 256 + dev->interface->read_register(0x105); + break; + + case AsicType::GL845: + case AsicType::GL846: + *words = dev->interface->read_register(0x42) & 0x02; + *words = *words * 256 + dev->interface->read_register(0x43); + *words = *words * 256 + dev->interface->read_register(0x44); + *words = *words * 256 + dev->interface->read_register(0x45); + break; + + case AsicType::GL847: + *words = dev->interface->read_register(0x42) & 0x03; + *words = *words * 256 + dev->interface->read_register(0x43); + *words = *words * 256 + dev->interface->read_register(0x44); + *words = *words * 256 + dev->interface->read_register(0x45); + break; + + default: + *words = dev->interface->read_register(0x44); + *words += dev->interface->read_register(0x43) * 256; + if (dev->model->asic_type == AsicType::GL646) { + *words += ((dev->interface->read_register(0x42) & 0x03) * 256 * 256); + } else { + *words += ((dev->interface->read_register(0x42) & 0x0f) * 256 * 256); + } + } + + DBG(DBG_proc, "%s: %d words\n", __func__, *words); +} + +/** read the number of lines scanned + * ie registers 4b-4c-4d + */ +void sanei_genesys_read_scancnt(Genesys_Device* dev, unsigned int* words) +{ + DBG_HELPER(dbg); + + if (dev->model->asic_type == AsicType::GL124) { + *words = (dev->interface->read_register(0x10b) & 0x0f) << 16; + *words += (dev->interface->read_register(0x10c) << 8); + *words += dev->interface->read_register(0x10d); + } + else + { + *words = dev->interface->read_register(0x4d); + *words += dev->interface->read_register(0x4c) * 256; + if (dev->model->asic_type == AsicType::GL646) { + *words += ((dev->interface->read_register(0x4b) & 0x03) * 256 * 256); + } else { + *words += ((dev->interface->read_register(0x4b) & 0x0f) * 256 * 256); + } + } + + DBG(DBG_proc, "%s: %d lines\n", __func__, *words); +} + +/** @brief Check if the scanner's internal data buffer is empty + * @param *dev device to test for data + * @param *empty return value + * @return empty will be set to true if there is no scanned data. + **/ +bool sanei_genesys_is_buffer_empty(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + + dev->interface->sleep_ms(1); + + auto status = scanner_read_status(*dev); + + if (status.is_buffer_empty) { + /* fix timing issue on USB3 (or just may be too fast) hardware + * spotted by John S. Weber + */ + dev->interface->sleep_ms(1); + DBG(DBG_io2, "%s: buffer is empty\n", __func__); + return true; + } + + + DBG(DBG_io, "%s: buffer is filled\n", __func__); + return false; +} + +void wait_until_buffer_non_empty(Genesys_Device* dev, bool check_status_twice) +{ + // FIXME: reduce MAX_RETRIES once tests are updated + const unsigned MAX_RETRIES = 100000; + for (unsigned i = 0; i < MAX_RETRIES; ++i) { + + if (check_status_twice) { + // FIXME: this only to preserve previous behavior, can be removed + scanner_read_status(*dev); + } + + bool empty = sanei_genesys_is_buffer_empty(dev); + dev->interface->sleep_ms(10); + if (!empty) + return; + } + throw SaneException(SANE_STATUS_IO_ERROR, "failed to read data"); +} + +void wait_until_has_valid_words(Genesys_Device* dev) +{ + unsigned words = 0; + unsigned sleep_time_ms = 10; + + for (unsigned wait_ms = 0; wait_ms < 50000; wait_ms += sleep_time_ms) { + sanei_genesys_read_valid_words(dev, &words); + if (words != 0) + break; + dev->interface->sleep_ms(sleep_time_ms); + } + + if (words == 0) { + throw SaneException(SANE_STATUS_IO_ERROR, "timeout, buffer does not get filled"); + } +} + +// Read data (e.g scanned image) from scan buffer +void sanei_genesys_read_data_from_scanner(Genesys_Device* dev, uint8_t* data, size_t size) +{ + DBG_HELPER_ARGS(dbg, "size = %zu bytes", size); + + if (size & 1) + DBG(DBG_info, "WARNING %s: odd number of bytes\n", __func__); + + wait_until_has_valid_words(dev); + + dev->interface->bulk_read_data(0x45, data, size); +} + +Image read_unshuffled_image_from_scanner(Genesys_Device* dev, const ScanSession& session, + std::size_t total_bytes) +{ + DBG_HELPER(dbg); + + auto format = create_pixel_format(session.params.depth, + dev->model->is_cis ? 1 : session.params.channels, + dev->model->line_mode_color_order); + + auto width = get_pixels_from_row_bytes(format, session.output_line_bytes_raw); + auto height = session.output_line_count * (dev->model->is_cis ? session.params.channels : 1); + + Image image(width, height, format); + + auto max_bytes = image.get_row_bytes() * height; + if (total_bytes > max_bytes) { + throw SaneException("Trying to read too much data %zu (max %zu)", total_bytes, max_bytes); + } + if (total_bytes != max_bytes) { + DBG(DBG_info, "WARNING %s: trying to read not enough data (%zu, full fill %zu\n", __func__, + total_bytes, max_bytes); + } + + sanei_genesys_read_data_from_scanner(dev, image.get_row_ptr(0), total_bytes); + + ImagePipelineStack pipeline; + pipeline.push_first_node(image); + + if ((dev->model->flags & GENESYS_FLAG_16BIT_DATA_INVERTED) && session.params.depth == 16) { + dev->pipeline.push_node(); + } + +#ifdef WORDS_BIGENDIAN + if (depth == 16) { + dev->pipeline.push_node(); + } +#endif + + if (dev->model->is_cis && session.params.channels == 3) { + dev->pipeline.push_node(dev->model->line_mode_color_order); + } + + if (dev->pipeline.get_output_format() == PixelFormat::BGR888) { + dev->pipeline.push_node(PixelFormat::RGB888); + } + + if (dev->pipeline.get_output_format() == PixelFormat::BGR161616) { + dev->pipeline.push_node(PixelFormat::RGB161616); + } + + return pipeline.get_image(); +} + +void sanei_genesys_read_feed_steps(Genesys_Device* dev, unsigned int* steps) +{ + DBG_HELPER(dbg); + + if (dev->model->asic_type == AsicType::GL124) { + *steps = (dev->interface->read_register(0x108) & 0x1f) << 16; + *steps += (dev->interface->read_register(0x109) << 8); + *steps += dev->interface->read_register(0x10a); + } + else + { + *steps = dev->interface->read_register(0x4a); + *steps += dev->interface->read_register(0x49) * 256; + if (dev->model->asic_type == AsicType::GL646) { + *steps += ((dev->interface->read_register(0x48) & 0x03) * 256 * 256); + } else if (dev->model->asic_type == AsicType::GL841) { + *steps += ((dev->interface->read_register(0x48) & 0x0f) * 256 * 256); + } else { + *steps += ((dev->interface->read_register(0x48) & 0x1f) * 256 * 256); + } + } + + DBG(DBG_proc, "%s: %d steps\n", __func__, *steps); +} + +void sanei_genesys_set_lamp_power(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, bool set) +{ + static const uint8_t REG_0x03_LAMPPWR = 0x10; + + if (set) { + regs.find_reg(0x03).value |= REG_0x03_LAMPPWR; + + if (dev->model->asic_type == AsicType::GL841) { + regs_set_exposure(dev->model->asic_type, regs, + sanei_genesys_fixup_exposure(sensor.exposure)); + regs.set8(0x19, 0x50); + } + + if (dev->model->asic_type == AsicType::GL843) { + regs_set_exposure(dev->model->asic_type, regs, sensor.exposure); + + // we don't actually turn on lamp on infrared scan + if ((dev->model->model_id == ModelId::CANON_8400F || + dev->model->model_id == ModelId::CANON_8600F || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7500I) && + dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) + { + regs.find_reg(0x03).value &= ~REG_0x03_LAMPPWR; + } + } + } else { + regs.find_reg(0x03).value &= ~REG_0x03_LAMPPWR; + + if (dev->model->asic_type == AsicType::GL841) { + regs_set_exposure(dev->model->asic_type, regs, {0x0101, 0x0101, 0x0101}); + regs.set8(0x19, 0xff); + } + + if (dev->model->asic_type == AsicType::GL843) { + if (dev->model->model_id == ModelId::PANASONIC_KV_SS080 || + dev->model->model_id == ModelId::HP_SCANJET_4850C || + dev->model->model_id == ModelId::HP_SCANJET_G4010 || + dev->model->model_id == ModelId::HP_SCANJET_G4050) + { + // BUG: datasheet says we shouldn't set exposure to zero + regs_set_exposure(dev->model->asic_type, regs, {0, 0, 0}); + } + } + } + regs.state.is_lamp_on = set; +} + +void sanei_genesys_set_motor_power(Genesys_Register_Set& regs, bool set) +{ + static const uint8_t REG_0x02_MTRPWR = 0x10; + + if (set) { + regs.find_reg(0x02).value |= REG_0x02_MTRPWR; + } else { + regs.find_reg(0x02).value &= ~REG_0x02_MTRPWR; + } + regs.state.is_motor_on = set; +} + +bool should_enable_gamma(const ScanSession& session, const Genesys_Sensor& sensor) +{ + if ((session.params.flags & ScanFlag::DISABLE_GAMMA) != ScanFlag::NONE) { + return false; + } + if (sensor.gamma[0] == 1.0f || sensor.gamma[1] == 1.0f || sensor.gamma[2] == 1.0f) { + return false; + } + if (session.params.depth == 16) + return false; + + return true; +} + +std::vector get_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor, + int color) +{ + if (!dev->gamma_override_tables[color].empty()) { + return dev->gamma_override_tables[color]; + } else { + std::vector ret; + sanei_genesys_create_default_gamma_table(dev, ret, sensor.gamma[color]); + return ret; + } +} + +/** @brief generates gamma buffer to transfer + * Generates gamma table buffer to send to ASIC. Applies + * contrast and brightness if set. + * @param dev device to set up + * @param bits number of bits used by gamma + * @param max value for gamma + * @param size of the gamma table + * @param gamma allocated gamma buffer to fill + */ +void sanei_genesys_generate_gamma_buffer(Genesys_Device* dev, + const Genesys_Sensor& sensor, + int bits, + int max, + int size, + uint8_t* gamma) +{ + DBG_HELPER(dbg); + std::vector rgamma = get_gamma_table(dev, sensor, GENESYS_RED); + std::vector ggamma = get_gamma_table(dev, sensor, GENESYS_GREEN); + std::vector bgamma = get_gamma_table(dev, sensor, GENESYS_BLUE); + + if(dev->settings.contrast!=0 || dev->settings.brightness!=0) + { + std::vector lut(65536); + sanei_genesys_load_lut(reinterpret_cast(lut.data()), + bits, + bits, + 0, + max, + dev->settings.contrast, + dev->settings.brightness); + for (int i = 0; i < size; i++) + { + uint16_t value=rgamma[i]; + value=lut[value]; + gamma[i * 2 + size * 0 + 0] = value & 0xff; + gamma[i * 2 + size * 0 + 1] = (value >> 8) & 0xff; + + value=ggamma[i]; + value=lut[value]; + gamma[i * 2 + size * 2 + 0] = value & 0xff; + gamma[i * 2 + size * 2 + 1] = (value >> 8) & 0xff; + + value=bgamma[i]; + value=lut[value]; + gamma[i * 2 + size * 4 + 0] = value & 0xff; + gamma[i * 2 + size * 4 + 1] = (value >> 8) & 0xff; + } + } + else + { + for (int i = 0; i < size; i++) + { + uint16_t value=rgamma[i]; + gamma[i * 2 + size * 0 + 0] = value & 0xff; + gamma[i * 2 + size * 0 + 1] = (value >> 8) & 0xff; + + value=ggamma[i]; + gamma[i * 2 + size * 2 + 0] = value & 0xff; + gamma[i * 2 + size * 2 + 1] = (value >> 8) & 0xff; + + value=bgamma[i]; + gamma[i * 2 + size * 4 + 0] = value & 0xff; + gamma[i * 2 + size * 4 + 1] = (value >> 8) & 0xff; + } + } +} + + +/** @brief send gamma table to scanner + * This function sends generic gamma table (ie ones built with + * provided gamma) or the user defined one if provided by + * fontend. Used by gl846+ ASICs + * @param dev device to write to + */ +void sanei_genesys_send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) +{ + DBG_HELPER(dbg); + int size; + int i; + + size = 256 + 1; + + /* allocate temporary gamma tables: 16 bits words, 3 channels */ + std::vector gamma(size * 2 * 3, 255); + + sanei_genesys_generate_gamma_buffer(dev, sensor, 16, 65535, size, gamma.data()); + + // loop sending gamma tables NOTE: 0x01000000 not 0x10000000 + for (i = 0; i < 3; i++) { + // clear corresponding GMM_N bit + uint8_t val = dev->interface->read_register(0xbd); + val &= ~(0x01 << i); + dev->interface->write_register(0xbd, val); + + // clear corresponding GMM_F bit + val = dev->interface->read_register(0xbe); + val &= ~(0x01 << i); + dev->interface->write_register(0xbe, val); + + // FIXME: currently the last word of each gamma table is not initialied, so to work around + // unstable data, just set it to 0 which is the most likely value of uninitialized memory + // (proper value is probably 0xff) + gamma[size * 2 * i + size * 2 - 2] = 0; + gamma[size * 2 * i + size * 2 - 1] = 0; + + /* set GMM_Z */ + dev->interface->write_register(0xc5+2*i, gamma[size*2*i+1]); + dev->interface->write_register(0xc6+2*i, gamma[size*2*i]); + + dev->interface->write_ahb(0x01000000 + 0x200 * i, (size-1) * 2, + gamma.data() + i * size * 2+2); + } +} + +static unsigned align_int_up(unsigned num, unsigned alignment) +{ + unsigned mask = alignment - 1; + if (num & mask) + num = (num & ~mask) + alignment; + return num; +} + +void compute_session_buffer_sizes(AsicType asic, ScanSession& s) +{ + size_t line_bytes = s.output_line_bytes; + size_t line_bytes_stagger = s.output_line_bytes; + + if (asic != AsicType::GL646) { + // BUG: this is historical artifact and should be removed. Note that buffer sizes affect + // how often we request the scanner for data and thus change the USB traffic. + line_bytes_stagger = + multiply_by_depth_ceil(s.optical_pixels, s.params.depth) * s.params.channels; + } + + struct BufferConfig { + size_t* result_size = nullptr; + size_t lines = 0; + size_t lines_mult = 0; + size_t max_size = 0; // does not apply if 0 + size_t stagger_lines = 0; + + BufferConfig() = default; + BufferConfig(std::size_t* rs, std::size_t l, std::size_t lm, std::size_t ms, + std::size_t sl) : + result_size{rs}, + lines{l}, + lines_mult{lm}, + max_size{ms}, + stagger_lines{sl} + {} + }; + + std::array configs; + if (asic == AsicType::GL124 || asic == AsicType::GL843) { + configs = { { + { &s.buffer_size_read, 32, 1, 0, s.max_color_shift_lines + s.num_staggered_lines }, + { &s.buffer_size_lines, 32, 1, 0, s.max_color_shift_lines + s.num_staggered_lines }, + { &s.buffer_size_shrink, 16, 1, 0, 0 }, + { &s.buffer_size_out, 8, 1, 0, 0 }, + } }; + } else if (asic == AsicType::GL841) { + size_t max_buf = sanei_genesys_get_bulk_max_size(asic); + configs = { { + { &s.buffer_size_read, 8, 2, max_buf, s.max_color_shift_lines + s.num_staggered_lines }, + { &s.buffer_size_lines, 8, 2, max_buf, s.max_color_shift_lines + s.num_staggered_lines }, + { &s.buffer_size_shrink, 8, 1, max_buf, 0 }, + { &s.buffer_size_out, 8, 1, 0, 0 }, + } }; + } else { + configs = { { + { &s.buffer_size_read, 16, 1, 0, s.max_color_shift_lines + s.num_staggered_lines }, + { &s.buffer_size_lines, 16, 1, 0, s.max_color_shift_lines + s.num_staggered_lines }, + { &s.buffer_size_shrink, 8, 1, 0, 0 }, + { &s.buffer_size_out, 8, 1, 0, 0 }, + } }; + } + + for (BufferConfig& config : configs) { + size_t buf_size = line_bytes * config.lines; + if (config.max_size > 0 && buf_size > config.max_size) { + buf_size = (config.max_size / line_bytes) * line_bytes; + } + buf_size *= config.lines_mult; + buf_size += line_bytes_stagger * config.stagger_lines; + *config.result_size = buf_size; + } +} + +void compute_session_pipeline(const Genesys_Device* dev, ScanSession& s) +{ + auto channels = s.params.channels; + auto depth = s.params.depth; + + s.pipeline_needs_reorder = true; + if (channels != 3 && depth != 16) { + s.pipeline_needs_reorder = false; + } +#ifndef WORDS_BIGENDIAN + if (channels != 3 && depth == 16) { + s.pipeline_needs_reorder = false; + } + if (channels == 3 && depth == 16 && !dev->model->is_cis && + dev->model->line_mode_color_order == ColorOrder::RGB) + { + s.pipeline_needs_reorder = false; + } +#endif + if (channels == 3 && depth == 8 && !dev->model->is_cis && + dev->model->line_mode_color_order == ColorOrder::RGB) + { + s.pipeline_needs_reorder = false; + } + s.pipeline_needs_ccd = s.max_color_shift_lines + s.num_staggered_lines > 0; + s.pipeline_needs_shrink = dev->settings.requested_pixels != s.output_pixels; +} + +void compute_session_pixel_offsets(const Genesys_Device* dev, ScanSession& s, + const Genesys_Sensor& sensor) +{ + unsigned ccd_pixels_per_system_pixel = sensor.ccd_pixels_per_system_pixel(); + + if (dev->model->asic_type == AsicType::GL646) { + + // startx cannot be below dummy pixel value + s.pixel_startx = sensor.dummy_pixel; + if (has_flag(s.params.flags, ScanFlag::USE_XCORRECTION) && sensor.ccd_start_xoffset > 0) { + s.pixel_startx = sensor.ccd_start_xoffset; + } + s.pixel_startx += s.params.startx; + + if (sensor.stagger_config.stagger_at_resolution(s.params.xres, s.params.yres) > 0) { + s.pixel_startx |= 1; + } + + s.pixel_endx = s.pixel_startx + s.optical_pixels; + + s.pixel_startx /= sensor.ccd_pixels_per_system_pixel() * s.ccd_size_divisor; + s.pixel_endx /= sensor.ccd_pixels_per_system_pixel() * s.ccd_size_divisor; + + } else if (dev->model->asic_type == AsicType::GL841) { + s.pixel_startx = ((sensor.ccd_start_xoffset + s.params.startx) * s.optical_resolution) + / sensor.optical_res; + + s.pixel_startx += sensor.dummy_pixel + 1; + + if (s.num_staggered_lines > 0 && (s.pixel_startx & 1) == 0) { + s.pixel_startx++; + } + + /* In case of SHDAREA, we need to align start on pixel average factor, startx is + different than 0 only when calling for function to setup for scan, where shading data + needs to be align. + + NOTE: we can check the value of the register here, because we don't set this bit + anywhere except in initialization. + */ + const uint8_t REG_0x01_SHDAREA = 0x02; + if ((dev->reg.find_reg(0x01).value & REG_0x01_SHDAREA) != 0) { + unsigned average_factor = s.optical_resolution / s.params.xres; + s.pixel_startx = align_multiple_floor(s.pixel_startx, average_factor); + } + + s.pixel_endx = s.pixel_startx + s.optical_pixels; + + } else if (dev->model->asic_type == AsicType::GL843) { + + s.pixel_startx = (s.params.startx + sensor.dummy_pixel) / ccd_pixels_per_system_pixel; + s.pixel_endx = s.pixel_startx + s.optical_pixels / ccd_pixels_per_system_pixel; + + s.pixel_startx /= s.hwdpi_divisor; + s.pixel_endx /= s.hwdpi_divisor; + + // in case of stagger we have to start at an odd coordinate + bool stagger_starts_even = dev->model->model_id == ModelId::CANON_8400F; + if (s.num_staggered_lines > 0) { + if (!stagger_starts_even && (s.pixel_startx & 1) == 0) { + s.pixel_startx++; + s.pixel_endx++; + } else if (stagger_starts_even && (s.pixel_startx & 1) != 0) { + s.pixel_startx++; + s.pixel_endx++; + } + } + + } else if (dev->model->asic_type == AsicType::GL845 || + dev->model->asic_type == AsicType::GL846 || + dev->model->asic_type == AsicType::GL847) + { + s.pixel_startx = s.params.startx; + + if (s.num_staggered_lines > 0) { + s.pixel_startx |= 1; + } + + s.pixel_startx += sensor.ccd_start_xoffset * ccd_pixels_per_system_pixel; + s.pixel_endx = s.pixel_startx + s.optical_pixels_raw; + + s.pixel_startx /= s.hwdpi_divisor * s.segment_count * ccd_pixels_per_system_pixel; + s.pixel_endx /= s.hwdpi_divisor * s.segment_count * ccd_pixels_per_system_pixel; + + } else if (dev->model->asic_type == AsicType::GL124) { + s.pixel_startx = s.params.startx; + + if (s.num_staggered_lines > 0) { + s.pixel_startx |= 1; + } + + s.pixel_startx /= ccd_pixels_per_system_pixel; + // FIXME: should we add sensor.dummy_pxel to pixel_startx at this point? + s.pixel_endx = s.pixel_startx + s.optical_pixels / ccd_pixels_per_system_pixel; + + s.pixel_startx /= s.hwdpi_divisor * s.segment_count; + s.pixel_endx /= s.hwdpi_divisor * s.segment_count; + + std::uint32_t segcnt = (sensor.custom_regs.get_value(gl124::REG_SEGCNT) << 16) + + (sensor.custom_regs.get_value(gl124::REG_SEGCNT + 1) << 8) + + sensor.custom_regs.get_value(gl124::REG_SEGCNT + 2); + if (s.pixel_endx == segcnt) { + s.pixel_endx = 0; + } + } + + s.pixel_count_multiplier = sensor.pixel_count_multiplier; + + s.pixel_startx *= sensor.pixel_count_multiplier; + s.pixel_endx *= sensor.pixel_count_multiplier; +} + +void compute_session(const Genesys_Device* dev, ScanSession& s, const Genesys_Sensor& sensor) +{ + DBG_HELPER(dbg); + + (void) dev; + s.params.assert_valid(); + + if (s.params.depth != 8 && s.params.depth != 16) { + throw SaneException("Unsupported depth setting %d", s.params.depth); + } + + unsigned ccd_pixels_per_system_pixel = sensor.ccd_pixels_per_system_pixel(); + + // compute optical and output resolutions + + if (dev->model->asic_type == AsicType::GL843) { + // FIXME: this may be incorrect, but need more scanners to test + s.hwdpi_divisor = sensor.get_hwdpi_divisor_for_dpi(s.params.xres); + } else { + s.hwdpi_divisor = sensor.get_hwdpi_divisor_for_dpi(s.params.xres * ccd_pixels_per_system_pixel); + } + + s.ccd_size_divisor = sensor.get_ccd_size_divisor_for_dpi(s.params.xres); + + if (dev->model->asic_type == AsicType::GL646) { + s.optical_resolution = sensor.optical_res; + } else { + s.optical_resolution = sensor.optical_res / s.ccd_size_divisor; + } + s.output_resolution = s.params.xres; + + if (s.output_resolution > s.optical_resolution) { + throw std::runtime_error("output resolution higher than optical resolution"); + } + + // compute the number of optical pixels that will be acquired by the chip + s.optical_pixels = (s.params.pixels * s.optical_resolution) / s.output_resolution; + if (s.optical_pixels * s.output_resolution < s.params.pixels * s.optical_resolution) { + s.optical_pixels++; + } + + if (dev->model->asic_type == AsicType::GL841) { + if (s.optical_pixels & 1) + s.optical_pixels++; + } + + if (dev->model->asic_type == AsicType::GL646 && s.params.xres == 400) { + s.optical_pixels = (s.optical_pixels / 6) * 6; + } + + if (dev->model->asic_type == AsicType::GL843) { + // ensure the number of optical pixels is divisible by 2. + // In quarter-CCD mode optical_pixels is 4x larger than the actual physical number + s.optical_pixels = align_int_up(s.optical_pixels, 2 * s.ccd_size_divisor); + + if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7300 || + dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7500I) + { + s.optical_pixels = align_int_up(s.optical_pixels, 16); + } + } + + // after all adjustments on the optical pixels have been made, compute the number of pixels + // to retrieve from the chip + s.output_pixels = (s.optical_pixels * s.output_resolution) / s.optical_resolution; + + // Note: staggering is not applied for calibration. Staggering starts at 2400 dpi + s.num_staggered_lines = 0; + if (!has_flag(s.params.flags, ScanFlag::IGNORE_LINE_DISTANCE)) + { + s.num_staggered_lines = sensor.stagger_config.stagger_at_resolution(s.params.xres, + s.params.yres); + } + + s.color_shift_lines_r = dev->model->ld_shift_r; + s.color_shift_lines_g = dev->model->ld_shift_g; + s.color_shift_lines_b = dev->model->ld_shift_b; + + if (dev->model->motor_id == MotorId::G4050 && s.params.yres > 600) { + // it seems base_dpi of the G4050 motor is changed above 600 dpi + s.color_shift_lines_r = (s.color_shift_lines_r * 3800) / dev->motor.base_ydpi; + s.color_shift_lines_g = (s.color_shift_lines_g * 3800) / dev->motor.base_ydpi; + s.color_shift_lines_b = (s.color_shift_lines_b * 3800) / dev->motor.base_ydpi; + } + + s.color_shift_lines_r = (s.color_shift_lines_r * s.params.yres) / dev->motor.base_ydpi; + s.color_shift_lines_g = (s.color_shift_lines_g * s.params.yres) / dev->motor.base_ydpi; + s.color_shift_lines_b = (s.color_shift_lines_b * s.params.yres) / dev->motor.base_ydpi; + + s.max_color_shift_lines = 0; + if (s.params.channels > 1 && !has_flag(s.params.flags, ScanFlag::IGNORE_LINE_DISTANCE)) { + s.max_color_shift_lines = std::max(s.color_shift_lines_r, std::max(s.color_shift_lines_g, + s.color_shift_lines_b)); + } + + s.output_line_count = s.params.lines + s.max_color_shift_lines + s.num_staggered_lines; + + s.output_channel_bytes = multiply_by_depth_ceil(s.output_pixels, s.params.depth); + s.output_line_bytes = s.output_channel_bytes * s.params.channels; + + s.segment_count = sensor.get_segment_count(); + + s.optical_pixels_raw = s.optical_pixels; + s.output_line_bytes_raw = s.output_line_bytes; + s.conseq_pixel_dist = 0; + + if (dev->model->asic_type == AsicType::GL845 || + dev->model->asic_type == AsicType::GL846 || + dev->model->asic_type == AsicType::GL847) + { + if (s.segment_count > 1) { + s.conseq_pixel_dist = sensor.segment_size; + + // in case of multi-segments sensor, we have to add the width of the sensor crossed by + // the scan area + unsigned extra_segment_scan_area = align_multiple_ceil(s.conseq_pixel_dist, 2); + extra_segment_scan_area *= s.segment_count - 1; + extra_segment_scan_area *= s.hwdpi_divisor * s.segment_count; + extra_segment_scan_area *= ccd_pixels_per_system_pixel; + + s.optical_pixels_raw += extra_segment_scan_area; + } + + s.output_line_bytes_raw = multiply_by_depth_ceil( + (s.optical_pixels_raw * s.output_resolution) / sensor.optical_res / s.segment_count, + s.params.depth); + } + + if (dev->model->asic_type == AsicType::GL841) { + if (dev->model->is_cis) { + s.output_line_bytes_raw = s.output_channel_bytes; + } + } + + if (dev->model->asic_type == AsicType::GL124) { + if (dev->model->is_cis) { + s.output_line_bytes_raw = s.output_channel_bytes; + } + s.conseq_pixel_dist = s.output_pixels / s.ccd_size_divisor / s.segment_count; + } + + if (dev->model->asic_type == AsicType::GL843) { + s.conseq_pixel_dist = s.output_pixels / s.segment_count; + } + + s.output_segment_pixel_group_count = 0; + if (dev->model->asic_type == AsicType::GL124 || + dev->model->asic_type == AsicType::GL843) + { + s.output_segment_pixel_group_count = multiply_by_depth_ceil( + s.output_pixels / s.ccd_size_divisor / s.segment_count, s.params.depth); + } + if (dev->model->asic_type == AsicType::GL845 || + dev->model->asic_type == AsicType::GL846 || + dev->model->asic_type == AsicType::GL847) + { + s.output_segment_pixel_group_count = multiply_by_depth_ceil( + s.optical_pixels / (s.hwdpi_divisor * s.segment_count * ccd_pixels_per_system_pixel), + s.params.depth); + } + + s.output_line_bytes_requested = multiply_by_depth_ceil( + s.params.get_requested_pixels() * s.params.channels, s.params.depth); + + s.output_total_bytes_raw = s.output_line_bytes_raw * s.output_line_count; + s.output_total_bytes = s.output_line_bytes * s.output_line_count; + + compute_session_buffer_sizes(dev->model->asic_type, s); + compute_session_pipeline(dev, s); + compute_session_pixel_offsets(dev, s, sensor); + + if (dev->model->asic_type == AsicType::GL124 || + dev->model->asic_type == AsicType::GL845 || + dev->model->asic_type == AsicType::GL846) + { + s.enable_ledadd = (s.params.channels == 1 && dev->model->is_cis && dev->settings.true_gray); + } + + if (dev->model->asic_type == AsicType::GL841 || + dev->model->asic_type == AsicType::GL843) + { + // no 16 bit gamma for this ASIC + if (s.params.depth == 16) { + s.params.flags |= ScanFlag::DISABLE_GAMMA; + } + } + + s.computed = true; + + DBG(DBG_info, "%s ", __func__); + debug_dump(DBG_info, s); +} + +static std::size_t get_usb_buffer_read_size(AsicType asic, const ScanSession& session) +{ + switch (asic) { + case AsicType::GL646: + // buffer not used on this chip set + return 1; + + case AsicType::GL124: + // BUG: we shouldn't multiply by channels here nor divide by ccd_size_divisor + return session.output_line_bytes_raw / session.ccd_size_divisor * session.params.channels; + + case AsicType::GL845: + case AsicType::GL846: + case AsicType::GL847: + // BUG: we shouldn't multiply by channels here + return session.output_line_bytes_raw * session.params.channels; + + case AsicType::GL843: + return session.output_line_bytes_raw * 2; + + default: + throw SaneException("Unknown asic type"); + } +} + +static FakeBufferModel get_fake_usb_buffer_model(const ScanSession& session) +{ + FakeBufferModel model; + model.push_step(session.buffer_size_read, 1); + + if (session.pipeline_needs_reorder) { + model.push_step(session.buffer_size_lines, session.output_line_bytes); + } + if (session.pipeline_needs_ccd) { + model.push_step(session.buffer_size_shrink, session.output_line_bytes); + } + if (session.pipeline_needs_shrink) { + model.push_step(session.buffer_size_out, session.output_line_bytes); + } + + return model; +} + +void build_image_pipeline(Genesys_Device* dev, const ScanSession& session) +{ + static unsigned s_pipeline_index = 0; + + s_pipeline_index++; + + auto format = create_pixel_format(session.params.depth, + dev->model->is_cis ? 1 : session.params.channels, + dev->model->line_mode_color_order); + auto depth = get_pixel_format_depth(format); + auto width = get_pixels_from_row_bytes(format, session.output_line_bytes_raw); + + auto read_data_from_usb = [dev](std::size_t size, std::uint8_t* data) + { + dev->interface->bulk_read_data(0x45, data, size); + return true; + }; + + auto lines = session.output_line_count * (dev->model->is_cis ? session.params.channels : 1); + + dev->pipeline.clear(); + + // FIXME: here we are complicating things for the time being to preserve the existing behaviour + // This allows to be sure that the changes to the image pipeline have not introduced + // regressions. + + if (session.segment_count > 1) { + // BUG: we're reading one line too much + dev->pipeline.push_first_node( + width, lines + 1, format, + get_usb_buffer_read_size(dev->model->asic_type, session), read_data_from_usb); + + auto output_width = session.output_segment_pixel_group_count * session.segment_count; + dev->pipeline.push_node(output_width, dev->segment_order, + session.conseq_pixel_dist, + 1, 1); + } else { + auto read_bytes_left_after_deseg = session.output_line_bytes * session.output_line_count; + if (dev->model->asic_type == AsicType::GL646) { + read_bytes_left_after_deseg *= dev->model->is_cis ? session.params.channels : 1; + } + + dev->pipeline.push_first_node( + width, lines, format, read_bytes_left_after_deseg, + get_fake_usb_buffer_model(session), read_data_from_usb); + } + + if (DBG_LEVEL >= DBG_io2) { + dev->pipeline.push_node("gl_pipeline_" + + std::to_string(s_pipeline_index) + + "_0_before_swap.pnm"); + } + + if ((dev->model->flags & GENESYS_FLAG_16BIT_DATA_INVERTED) && depth == 16) { + dev->pipeline.push_node(); + } + +#ifdef WORDS_BIGENDIAN + if (depth == 16) { + dev->pipeline.push_node(); + } +#endif + + if (DBG_LEVEL >= DBG_io2) { + dev->pipeline.push_node("gl_pipeline_" + + std::to_string(s_pipeline_index) + + "_1_after_swap.pnm"); + } + + if (dev->model->is_cis && session.params.channels == 3) { + dev->pipeline.push_node(dev->model->line_mode_color_order); + } + + if (dev->pipeline.get_output_format() == PixelFormat::BGR888) { + dev->pipeline.push_node(PixelFormat::RGB888); + } + + if (dev->pipeline.get_output_format() == PixelFormat::BGR161616) { + dev->pipeline.push_node(PixelFormat::RGB161616); + } + + if (session.max_color_shift_lines > 0 && session.params.channels == 3) { + dev->pipeline.push_node( + session.color_shift_lines_r, + session.color_shift_lines_g, + session.color_shift_lines_b); + } + + if (DBG_LEVEL >= DBG_io2) { + dev->pipeline.push_node("gl_pipeline_" + + std::to_string(s_pipeline_index) + + "_2_after_shift.pnm"); + } + + if (session.num_staggered_lines > 0) { + std::vector shifts{0, session.num_staggered_lines}; + dev->pipeline.push_node(shifts); + } + + if (DBG_LEVEL >= DBG_io2) { + dev->pipeline.push_node("gl_pipeline_" + + std::to_string(s_pipeline_index) + + "_3_after_stagger.pnm"); + } + + if ((dev->model->flags & GENESYS_FLAG_CALIBRATION_HOST_SIDE) && + !(dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) + { + dev->pipeline.push_node(dev->dark_average_data, + dev->white_average_data); + + if (DBG_LEVEL >= DBG_io2) { + dev->pipeline.push_node("gl_pipeline_" + + std::to_string(s_pipeline_index) + + "_4_after_calibrate.pnm"); + } + } + + if (session.output_pixels != session.params.get_requested_pixels()) { + dev->pipeline.push_node(session.params.get_requested_pixels()); + } + + auto read_from_pipeline = [dev](std::size_t size, std::uint8_t* out_data) + { + (void) size; // will be always equal to dev->pipeline.get_output_row_bytes() + return dev->pipeline.get_next_row_data(out_data); + }; + dev->pipeline_buffer = ImageBuffer{dev->pipeline.get_output_row_bytes(), + read_from_pipeline}; +} + +std::uint8_t compute_frontend_gain_wolfson(float value, float target_value) +{ + /* the flow of data through the frontend ADC is as follows (see e.g. WM8192 datasheet) + input + -> apply offset (o = i + 260mV * (DAC[7:0]-127.5)/127.5) -> + -> apply gain (o = i * 208/(283-PGA[7:0]) + -> ADC + + Here we have some input data that was acquired with zero gain (PGA==0). + We want to compute gain such that the output would approach full ADC range (controlled by + target_value). + + We want to solve the following for {PGA}: + + {value} = {input} * 208 / (283 - 0) + {target_value} = {input} * 208 / (283 - {PGA}) + + The solution is the following equation: + + {PGA} = 283 * (1 - {value} / {target_value}) + */ + float gain = value / target_value; + int code = static_cast(283 * (1 - gain)); + return clamp(code, 0, 255); +} + +std::uint8_t compute_frontend_gain_analog_devices(float value, float target_value) +{ + /* The flow of data through the frontend ADC is as follows (see e.g. AD9826 datasheet) + input + -> apply offset (o = i + 300mV * (OFFSET[8] ? 1 : -1) * (OFFSET[7:0] / 127) + -> apply gain (o = i * 6 / (1 + 5 * ( 63 - PGA[5:0] ) / 63 ) ) + -> ADC + + We want to solve the following for {PGA}: + + {value} = {input} * 6 / (1 + 5 * ( 63 - 0) / 63 ) ) + {target_value} = {input} * 6 / (1 + 5 * ( 63 - {PGA}) / 63 ) ) + + The solution is the following equation: + + {PGA} = (378 / 5) * ({target_value} - {value} / {target_value}) + */ + int code = static_cast((378.0f / 5.0f) * ((target_value - value) / target_value)); + return clamp(code, 0, 63); +} + +std::uint8_t compute_frontend_gain(float value, float target_value, + FrontendType frontend_type) +{ + if (frontend_type == FrontendType::WOLFSON) { + return compute_frontend_gain_wolfson(value, target_value); + } + if (frontend_type == FrontendType::ANALOG_DEVICES) { + return compute_frontend_gain_analog_devices(value, target_value); + } + throw SaneException("Unknown frontend to compute gain for"); +} + +/** @brief initialize device + * Initialize backend and ASIC : registers, motor tables, and gamma tables + * then ensure scanner's head is at home. Designed for gl846+ ASICs. + * Detects cold boot (ie first boot since device plugged) in this case + * an extensice setup up is done at hardware level. + * + * @param dev device to initialize + * @param max_regs umber of maximum used registers + */ +void sanei_genesys_asic_init(Genesys_Device* dev, bool /*max_regs*/) +{ + DBG_HELPER(dbg); + + uint8_t val; + bool cold = true; + + // URB 16 control 0xc0 0x0c 0x8e 0x0b len 1 read 0x00 */ + dev->interface->get_usb_device().control_msg(REQUEST_TYPE_IN, REQUEST_REGISTER, + VALUE_GET_REGISTER, 0x00, 1, &val); + + DBG (DBG_io2, "%s: value=0x%02x\n", __func__, val); + DBG (DBG_info, "%s: device is %s\n", __func__, (val & 0x08) ? "USB 1.0" : "USB2.0"); + if (val & 0x08) + { + dev->usb_mode = 1; + } + else + { + dev->usb_mode = 2; + } + + /* Check if the device has already been initialized and powered up. We read register 0x06 and + check PWRBIT, if reset scanner has been freshly powered up. This bit will be set to later + so that following reads can detect power down/up cycle + */ + if (!is_testing_mode()) { + if (dev->interface->read_register(0x06) & 0x10) { + cold = false; + } + } + DBG (DBG_info, "%s: device is %s\n", __func__, cold ? "cold" : "warm"); + + /* don't do anything if backend is initialized and hardware hasn't been + * replug */ + if (dev->already_initialized && !cold) + { + DBG (DBG_info, "%s: already initialized, nothing to do\n", __func__); + return; + } + + // set up hardware and registers + dev->cmd_set->asic_boot(dev, cold); + + /* now hardware part is OK, set up device struct */ + dev->white_average_data.clear(); + dev->dark_average_data.clear(); + + dev->settings.color_filter = ColorFilter::RED; + + /* duplicate initial values into calibration registers */ + dev->calib_reg = dev->reg; + + const auto& sensor = sanei_genesys_find_sensor_any(dev); + + // Set analog frontend + dev->cmd_set->set_fe(dev, sensor, AFE_INIT); + + dev->already_initialized = true; + + // Move to home if needed + dev->cmd_set->move_back_home(dev, true); + dev->set_head_pos_zero(ScanHeadId::PRIMARY); + + // Set powersaving (default = 15 minutes) + dev->cmd_set->set_powersaving(dev, 15); +} + +void scanner_start_action(Genesys_Device& dev, bool start_motor) +{ + DBG_HELPER(dbg); + switch (dev.model->asic_type) { + case AsicType::GL646: + case AsicType::GL841: + case AsicType::GL843: + case AsicType::GL845: + case AsicType::GL846: + case AsicType::GL847: + case AsicType::GL124: + break; + default: + throw SaneException("Unsupported chip"); + } + + if (start_motor) { + dev.interface->write_register(0x0f, 0x01); + } else { + dev.interface->write_register(0x0f, 0); + } +} + +void sanei_genesys_set_dpihw(Genesys_Register_Set& regs, const Genesys_Sensor& sensor, + unsigned dpihw) +{ + // same across GL646, GL841, GL843, GL846, GL847, GL124 + const uint8_t REG_0x05_DPIHW_MASK = 0xc0; + const uint8_t REG_0x05_DPIHW_600 = 0x00; + const uint8_t REG_0x05_DPIHW_1200 = 0x40; + const uint8_t REG_0x05_DPIHW_2400 = 0x80; + const uint8_t REG_0x05_DPIHW_4800 = 0xc0; + + if (sensor.register_dpihw_override != 0) { + dpihw = sensor.register_dpihw_override; + } + + uint8_t dpihw_setting; + switch (dpihw) { + case 600: + dpihw_setting = REG_0x05_DPIHW_600; + break; + case 1200: + dpihw_setting = REG_0x05_DPIHW_1200; + break; + case 2400: + dpihw_setting = REG_0x05_DPIHW_2400; + break; + case 4800: + dpihw_setting = REG_0x05_DPIHW_4800; + break; + default: + throw SaneException("Unknown dpihw value: %d", dpihw); + } + regs.set8_mask(0x05, dpihw_setting, REG_0x05_DPIHW_MASK); +} + +void regs_set_exposure(AsicType asic_type, Genesys_Register_Set& regs, + const SensorExposure& exposure) +{ + switch (asic_type) { + case AsicType::GL124: { + regs.set24(gl124::REG_EXPR, exposure.red); + regs.set24(gl124::REG_EXPG, exposure.green); + regs.set24(gl124::REG_EXPB, exposure.blue); + break; + } + case AsicType::GL646: { + regs.set16(gl646::REG_EXPR, exposure.red); + regs.set16(gl646::REG_EXPG, exposure.green); + regs.set16(gl646::REG_EXPB, exposure.blue); + break; + } + case AsicType::GL841: { + regs.set16(gl841::REG_EXPR, exposure.red); + regs.set16(gl841::REG_EXPG, exposure.green); + regs.set16(gl841::REG_EXPB, exposure.blue); + break; + } + case AsicType::GL843: { + regs.set16(gl843::REG_EXPR, exposure.red); + regs.set16(gl843::REG_EXPG, exposure.green); + regs.set16(gl843::REG_EXPB, exposure.blue); + break; + } + case AsicType::GL845: + case AsicType::GL846: { + regs.set16(gl846::REG_EXPR, exposure.red); + regs.set16(gl846::REG_EXPG, exposure.green); + regs.set16(gl846::REG_EXPB, exposure.blue); + break; + } + case AsicType::GL847: { + regs.set16(gl847::REG_EXPR, exposure.red); + regs.set16(gl847::REG_EXPG, exposure.green); + regs.set16(gl847::REG_EXPB, exposure.blue); + break; + } + default: + throw SaneException("Unsupported asic"); + } +} + +void regs_set_optical_off(AsicType asic_type, Genesys_Register_Set& regs) +{ + DBG_HELPER(dbg); + switch (asic_type) { + case AsicType::GL646: { + regs.find_reg(gl646::REG_0x01).value &= ~gl646::REG_0x01_SCAN; + break; + } + case AsicType::GL841: { + regs.find_reg(gl841::REG_0x01).value &= ~gl841::REG_0x01_SCAN; + break; + } + case AsicType::GL843: { + regs.find_reg(gl843::REG_0x01).value &= ~gl843::REG_0x01_SCAN; + break; + } + case AsicType::GL845: + case AsicType::GL846: { + regs.find_reg(gl846::REG_0x01).value &= ~gl846::REG_0x01_SCAN; + break; + } + case AsicType::GL847: { + regs.find_reg(gl847::REG_0x01).value &= ~gl847::REG_0x01_SCAN; + break; + } + case AsicType::GL124: { + regs.find_reg(gl124::REG_0x01).value &= ~gl124::REG_0x01_SCAN; + break; + } + default: + throw SaneException("Unsupported asic"); + } +} + +bool get_registers_gain4_bit(AsicType asic_type, const Genesys_Register_Set& regs) +{ + switch (asic_type) { + case AsicType::GL646: + return static_cast(regs.get8(gl646::REG_0x06) & gl646::REG_0x06_GAIN4); + case AsicType::GL841: + return static_cast(regs.get8(gl841::REG_0x06) & gl841::REG_0x06_GAIN4); + case AsicType::GL843: + return static_cast(regs.get8(gl843::REG_0x06) & gl843::REG_0x06_GAIN4); + case AsicType::GL845: + case AsicType::GL846: + return static_cast(regs.get8(gl846::REG_0x06) & gl846::REG_0x06_GAIN4); + case AsicType::GL847: + return static_cast(regs.get8(gl847::REG_0x06) & gl847::REG_0x06_GAIN4); + case AsicType::GL124: + return static_cast(regs.get8(gl124::REG_0x06) & gl124::REG_0x06_GAIN4); + default: + throw SaneException("Unsupported chipset"); + } +} + +/** + * Wait for the scanning head to park + */ +void sanei_genesys_wait_for_home(Genesys_Device* dev) +{ + DBG_HELPER(dbg); + + /* clear the parking status whatever the outcome of the function */ + dev->parking = false; + + if (is_testing_mode()) { + return; + } + + // read initial status, if head isn't at home and motor is on we are parking, so we wait. + // gl847/gl124 need 2 reads for reliable results + auto status = scanner_read_status(*dev); + dev->interface->sleep_ms(10); + status = scanner_read_status(*dev); + + if (status.is_at_home) { + DBG (DBG_info, + "%s: already at home\n", __func__); + return; + } + + unsigned timeout_ms = 200000; + unsigned elapsed_ms = 0; + do + { + dev->interface->sleep_ms(100); + elapsed_ms += 100; + + status = scanner_read_status(*dev); + } while (elapsed_ms < timeout_ms && !status.is_at_home); + + /* if after the timeout, head is still not parked, error out */ + if (elapsed_ms >= timeout_ms && !status.is_at_home) { + DBG (DBG_error, "%s: failed to reach park position in %dseconds\n", __func__, + timeout_ms / 1000); + throw SaneException(SANE_STATUS_IO_ERROR, "failed to reach park position"); + } +} + +/** @brief motor profile + * search for the database of motor profiles and get the best one. Each + * profile is at full step and at a reference exposure. Use first entry + * by default. + * @param motors motor profile database + * @param motor_type motor id + * @param exposure exposure time + * @return a pointer to a Motor_Profile struct + */ +const Motor_Profile& sanei_genesys_get_motor_profile(const std::vector& motors, + MotorId motor_id, int exposure) +{ + int idx; + + idx=-1; + for (std::size_t i = 0; i < motors.size(); ++i) { + // exact match + if (motors[i].motor_id == motor_id && motors[i].exposure==exposure) { + return motors[i]; + } + + // closest match + if (motors[i].motor_id == motor_id) { + /* if profile exposure is higher than the required one, + * the entry is a candidate for the closest match */ + if (motors[i].exposure == 0 || motors[i].exposure >= exposure) + { + if(idx<0) + { + /* no match found yet */ + idx=i; + } + else + { + /* test for better match */ + if(motors[i].exposuremodel->get_resolution_settings(dev->settings.scan_method); + return resolution_settings.get_min_resolution_y(); +} + +/** @brief returns the lowest possible dpi for the device + * Parses device entry to find lowest motor or sensor dpi. + * @param dev device description + * @return lowest motor resolution + */ +int sanei_genesys_get_lowest_dpi(Genesys_Device *dev) +{ + const auto& resolution_settings = dev->model->get_resolution_settings(dev->settings.scan_method); + return std::min(resolution_settings.get_min_resolution_x(), + resolution_settings.get_min_resolution_y()); +} + +/** @brief check is a cache entry may be used + * Compares current settings with the cache entry and return + * true if they are compatible. + * A calibration cache is compatible if color mode and x dpi match the user + * requested scan. In the case of CIS scanners, dpi isn't a criteria. + * flatbed cache entries are considred too old and then expires if they + * are older than the expiration time option, forcing calibration at least once + * then given time. */ +bool sanei_genesys_is_compatible_calibration(Genesys_Device* dev, + const ScanSession& session, + const Genesys_Calibration_Cache* cache, + bool for_overwrite) +{ + DBG_HELPER(dbg); +#ifdef HAVE_SYS_TIME_H + struct timeval time; +#endif + + bool compatible = true; + + const auto& dev_params = session.params; + + if (dev_params.scan_method != cache->params.scan_method) { + dbg.vlog(DBG_io, "incompatible: scan_method %d vs. %d\n", + static_cast(dev_params.scan_method), + static_cast(cache->params.scan_method)); + compatible = false; + } + + if (dev_params.xres != cache->params.xres) { + dbg.vlog(DBG_io, "incompatible: params.xres %d vs. %d\n", + dev_params.xres, cache->params.xres); + compatible = false; + } + + if (dev_params.yres != cache->params.yres) { + // exposure depends on selected sensor and we select the sensor according to yres + dbg.vlog(DBG_io, "incompatible: params.yres %d vs. %d\n", + dev_params.yres, cache->params.yres); + compatible = false; + } + + if (dev_params.channels != cache->params.channels) { + // exposure depends on total number of pixels at least on gl841 + dbg.vlog(DBG_io, "incompatible: params.channels %d vs. %d\n", + dev_params.channels, cache->params.channels); + compatible = false; + } + + if (dev_params.startx != cache->params.startx) { + // exposure depends on total number of pixels at least on gl841 + dbg.vlog(DBG_io, "incompatible: params.startx %d vs. %d\n", + dev_params.startx, cache->params.startx); + compatible = false; + } + + if (dev_params.pixels != cache->params.pixels) { + // exposure depends on total number of pixels at least on gl841 + dbg.vlog(DBG_io, "incompatible: params.pixels %d vs. %d\n", + dev_params.pixels, cache->params.pixels); + compatible = false; + } + + if (!compatible) + { + DBG (DBG_proc, "%s: completed, non compatible cache\n", __func__); + return false; + } + + /* a cache entry expires after afetr expiration time for non sheetfed scanners */ + /* this is not taken into account when overwriting cache entries */ +#ifdef HAVE_SYS_TIME_H + if (!for_overwrite && dev->settings.expiration_time >=0) + { + gettimeofday(&time, nullptr); + if ((time.tv_sec - cache->last_calibration > dev->settings.expiration_time*60) + && !dev->model->is_sheetfed + && (dev->settings.scan_method == ScanMethod::FLATBED)) + { + DBG (DBG_proc, "%s: expired entry, non compatible cache\n", __func__); + return false; + } + } +#endif + + return true; +} + +/** @brief build lookup table for digital enhancements + * Function to build a lookup table (LUT), often + used by scanners to implement brightness/contrast/gamma + or by backends to speed binarization/thresholding + + offset and slope inputs are -127 to +127 + + slope rotates line around central input/output val, + 0 makes horizontal line + + pos zero neg + . x . . x + . x . . x + out . x .xxxxxxxxxxx . x + . x . . x + ....x....... ............ .......x.... + in in in + + offset moves line vertically, and clamps to output range + 0 keeps the line crossing the center of the table + + high low + . xxxxxxxx . + . x . + out x . x + . . x + ............ xxxxxxxx.... + in in + + out_min/max provide bounds on output values, + useful when building thresholding lut. + 0 and 255 are good defaults otherwise. + * @param lut pointer where to store the generated lut + * @param in_bits number of bits for in values + * @param out_bits number of bits of out values + * @param out_min minimal out value + * @param out_max maximal out value + * @param slope slope of the generated data + * @param offset offset of the generated data + */ +void sanei_genesys_load_lut(unsigned char* lut, + int in_bits, int out_bits, + int out_min, int out_max, + int slope, int offset) +{ + DBG_HELPER(dbg); + int i, j; + double shift, rise; + int max_in_val = (1 << in_bits) - 1; + int max_out_val = (1 << out_bits) - 1; + uint8_t *lut_p8 = lut; + uint16_t* lut_p16 = reinterpret_cast(lut); + + /* slope is converted to rise per unit run: + * first [-127,127] to [-.999,.999] + * then to [-PI/4,PI/4] then [0,PI/2] + * then take the tangent (T.O.A) + * then multiply by the normal linear slope + * because the table may not be square, i.e. 1024x256*/ + auto pi_4 = M_PI / 4.0; + rise = std::tan(static_cast(slope) / 128 * pi_4 + pi_4) * max_out_val / max_in_val; + + /* line must stay vertically centered, so figure + * out vertical offset at central input value */ + shift = static_cast(max_out_val) / 2 - (rise * max_in_val / 2); + + /* convert the user offset setting to scale of output + * first [-127,127] to [-1,1] + * then to [-max_out_val/2,max_out_val/2]*/ + shift += static_cast(offset) / 127 * max_out_val / 2; + + for (i = 0; i <= max_in_val; i++) + { + j = static_cast(rise * i + shift); + + /* cap data to required range */ + if (j < out_min) + { + j = out_min; + } + else if (j > out_max) + { + j = out_max; + } + + /* copy result according to bit depth */ + if (out_bits <= 8) + { + *lut_p8 = j; + lut_p8++; + } + else + { + *lut_p16 = j; + lut_p16++; + } + } +} + +} // namespace genesys diff --git a/backend/genesys/low.h b/backend/genesys/low.h new file mode 100644 index 0000000..d7f5dd2 --- /dev/null +++ b/backend/genesys/low.h @@ -0,0 +1,525 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2003 Oliver Rauch + Copyright (C) 2003, 2004 Henning Meier-Geinitz + Copyright (C) 2004, 2005 Gerhard Jaeger + Copyright (C) 2004-2013 Stéphane Voltz + Copyright (C) 2005-2009 Pierre Willenbrock + Copyright (C) 2006 Laurent Charpentier + Parts of the structs have been taken from the gt68xx backend by + Sergey Vlasov et al. + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 GENESYS_LOW_H +#define GENESYS_LOW_H + + +#include "../include/sane/config.h" + +#include +#include +#include +#include +#include +#include +#ifdef HAVE_SYS_TIME_H +#include +#endif +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_MKDIR +#include +#include +#endif + +#include "../include/sane/sane.h" +#include "../include/sane/sanei.h" +#include "../include/sane/saneopts.h" + +#include "../include/sane/sanei_backend.h" +#include "../include/sane/sanei_usb.h" + +#include "../include/_stdint.h" + +#include "device.h" +#include "enums.h" +#include "error.h" +#include "fwd.h" +#include "usb_device.h" +#include "sensor.h" +#include "serialize.h" +#include "settings.h" +#include "static_init.h" +#include "status.h" +#include "register.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define GENESYS_RED 0 +#define GENESYS_GREEN 1 +#define GENESYS_BLUE 2 + +/* Flags */ +#define GENESYS_FLAG_UNTESTED (1 << 0) /**< Print a warning for these scanners */ +#define GENESYS_FLAG_14BIT_GAMMA (1 << 1) /**< use 14bit Gamma table instead of 12 */ +#define GENESYS_FLAG_XPA (1 << 3) +#define GENESYS_FLAG_SKIP_WARMUP (1 << 4) /**< skip genesys_warmup() */ +/** @brief offset calibration flag + * signals that the scanner does offset calibration. In this case off_calibration() and + * coarse_gain_calibration() functions must be implemented + */ +#define GENESYS_FLAG_OFFSET_CALIBRATION (1 << 5) +#define GENESYS_FLAG_SEARCH_START (1 << 6) /**< do start search before scanning */ +#define GENESYS_FLAG_REPARK (1 << 7) /**< repark head (and check for lock) by + moving without scanning */ +#define GENESYS_FLAG_DARK_CALIBRATION (1 << 8) /**< do dark calibration */ + +#define GENESYS_FLAG_MUST_WAIT (1 << 10) /**< tells wether the scanner must wait for the head when parking */ + + +#define GENESYS_FLAG_HAS_UTA (1 << 11) /**< scanner has a transparency adapter */ + +#define GENESYS_FLAG_DARK_WHITE_CALIBRATION (1 << 12) /**< yet another calibration method. does white and dark shading in one run, depending on a black and a white strip*/ +#define GENESYS_FLAG_CUSTOM_GAMMA (1 << 13) /**< allow custom gamma tables */ +#define GENESYS_FLAG_NO_CALIBRATION (1 << 14) /**< allow scanners to use skip the calibration, needed for sheetfed scanners */ +#define GENESYS_FLAG_SIS_SENSOR (1 << 16) /**< handling of multi-segments sensors in software */ +#define GENESYS_FLAG_SHADING_NO_MOVE (1 << 17) /**< scanner doesn't move sensor during shading calibration */ +#define GENESYS_FLAG_SHADING_REPARK (1 << 18) /**< repark head between shading scans */ +#define GENESYS_FLAG_FULL_HWDPI_MODE (1 << 19) /**< scanner always use maximum hw dpi to setup the sensor */ +// scanner has infrared transparency scanning capability +#define GENESYS_FLAG_HAS_UTA_INFRARED (1 << 20) +// scanner calibration is handled on the host side +#define GENESYS_FLAG_CALIBRATION_HOST_SIDE (1 << 21) +#define GENESYS_FLAG_16BIT_DATA_INVERTED (1 << 22) + +#define GENESYS_HAS_NO_BUTTONS 0 /**< scanner has no supported button */ +#define GENESYS_HAS_SCAN_SW (1 << 0) /**< scanner has SCAN button */ +#define GENESYS_HAS_FILE_SW (1 << 1) /**< scanner has FILE button */ +#define GENESYS_HAS_COPY_SW (1 << 2) /**< scanner has COPY button */ +#define GENESYS_HAS_EMAIL_SW (1 << 3) /**< scanner has EMAIL button */ +#define GENESYS_HAS_PAGE_LOADED_SW (1 << 4) /**< scanner has paper in detection */ +#define GENESYS_HAS_OCR_SW (1 << 5) /**< scanner has OCR button */ +#define GENESYS_HAS_POWER_SW (1 << 6) /**< scanner has power button */ +#define GENESYS_HAS_CALIBRATE (1 << 7) /**< scanner has 'calibrate' software button to start calibration */ +#define GENESYS_HAS_EXTRA_SW (1 << 8) /**< scanner has extra function button */ + +/* USB control message values */ +#define REQUEST_TYPE_IN (USB_TYPE_VENDOR | USB_DIR_IN) +#define REQUEST_TYPE_OUT (USB_TYPE_VENDOR | USB_DIR_OUT) +#define REQUEST_REGISTER 0x0c +#define REQUEST_BUFFER 0x04 +#define VALUE_BUFFER 0x82 +#define VALUE_SET_REGISTER 0x83 +#define VALUE_READ_REGISTER 0x84 +#define VALUE_WRITE_REGISTER 0x85 +#define VALUE_INIT 0x87 +#define GPIO_OUTPUT_ENABLE 0x89 +#define GPIO_READ 0x8a +#define GPIO_WRITE 0x8b +#define VALUE_BUF_ENDACCESS 0x8c +#define VALUE_GET_REGISTER 0x8e +#define INDEX 0x00 + +/* todo: used? +#define VALUE_READ_STATUS 0x86 +*/ + +/* Read/write bulk data/registers */ +#define BULK_OUT 0x01 +#define BULK_IN 0x00 +#define BULK_RAM 0x00 +#define BULK_REGISTER 0x11 + +#define BULKOUT_MAXSIZE 0xF000 + +/* AFE values */ +#define AFE_INIT 1 +#define AFE_SET 2 +#define AFE_POWER_SAVE 4 + +#define LOWORD(x) ((uint16_t)((x) & 0xffff)) +#define HIWORD(x) ((uint16_t)((x) >> 16)) +#define LOBYTE(x) ((uint8_t)((x) & 0xFF)) +#define HIBYTE(x) ((uint8_t)((x) >> 8)) + +/* Global constants */ +/* TODO: emove this leftover of early backend days */ +#define MOTOR_SPEED_MAX 350 +#define DARK_VALUE 0 + +#define MAX_RESOLUTIONS 13 +#define MAX_DPI 4 + +namespace genesys { + +struct Genesys_USB_Device_Entry { + + Genesys_USB_Device_Entry(unsigned v, unsigned p, const Genesys_Model& m) : + vendor(v), product(p), model(m) + {} + + // USB vendor identifier + std::uint16_t vendor; + // USB product identifier + std::uint16_t product; + // Scanner model information + Genesys_Model model; +}; + +/** + * structure for motor database + */ +struct Motor_Profile +{ + MotorId motor_id; + int exposure; // used only to select the wanted motor + StepType step_type; // default step type for given exposure + MotorSlope slope; +}; + +extern StaticInit> gl843_motor_profiles; +extern StaticInit> gl846_motor_profiles; +extern StaticInit> gl847_motor_profiles; +extern StaticInit> gl124_motor_profiles; + +/*--------------------------------------------------------------------------*/ +/* common functions needed by low level specific functions */ +/*--------------------------------------------------------------------------*/ + +inline GenesysRegister* sanei_genesys_get_address(Genesys_Register_Set* regs, uint16_t addr) +{ + auto* ret = regs->find_reg_address(addr); + if (ret == nullptr) { + DBG(DBG_error, "%s: failed to find address for register 0x%02x, crash expected !\n", + __func__, addr); + } + return ret; +} + +extern void sanei_genesys_init_cmd_set(Genesys_Device* dev); + +// reads the status of the scanner +Status scanner_read_status(Genesys_Device& dev); + +// reads the status of the scanner reliably. This is done by reading the status twice. The first +// read sometimes returns the home sensor as engaged when this is not true. +Status scanner_read_reliable_status(Genesys_Device& dev); + +// reads and prints the scanner status +void scanner_read_print_status(Genesys_Device& dev); + +void debug_print_status(DebugMessageHelper& dbg, Status status); + +extern void sanei_genesys_write_ahb(Genesys_Device* dev, uint32_t addr, uint32_t size, + uint8_t* data); + +extern void sanei_genesys_init_structs (Genesys_Device * dev); + +const Genesys_Sensor& sanei_genesys_find_sensor_any(Genesys_Device* dev); +const Genesys_Sensor& sanei_genesys_find_sensor(Genesys_Device* dev, unsigned dpi, + unsigned channels, ScanMethod scan_method); +bool sanei_genesys_has_sensor(Genesys_Device* dev, unsigned dpi, unsigned channels, + ScanMethod scan_method); +Genesys_Sensor& sanei_genesys_find_sensor_for_write(Genesys_Device* dev, unsigned dpi, + unsigned channels, ScanMethod scan_method); + +std::vector> + sanei_genesys_find_sensors_all(Genesys_Device* dev, ScanMethod scan_method); +std::vector> + sanei_genesys_find_sensors_all_for_write(Genesys_Device* dev, ScanMethod scan_method); + +extern void sanei_genesys_init_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor, + int pixels_per_line); + +extern void sanei_genesys_read_valid_words(Genesys_Device* dev, unsigned int* steps); + +extern void sanei_genesys_read_scancnt(Genesys_Device* dev, unsigned int* steps); + +extern void sanei_genesys_read_feed_steps(Genesys_Device* dev, unsigned int* steps); + +void sanei_genesys_set_lamp_power(Genesys_Device* dev, const Genesys_Sensor& sensor, + Genesys_Register_Set& regs, bool set); + +void sanei_genesys_set_motor_power(Genesys_Register_Set& regs, bool set); + +bool should_enable_gamma(const ScanSession& session, const Genesys_Sensor& sensor); + +/** Calculates the values of the Z{1,2}MOD registers. They are a phase correction to synchronize + with the line clock during acceleration and deceleration. + + two_table is true if moving is done by two tables, false otherwise. + + acceleration_steps is the number of steps for acceleration, i.e. the number written to + REG_STEPNO. + + move_steps number of steps to move, i.e. the number written to REG_FEEDL. + + buffer_acceleration_steps, the number of steps for acceleration when buffer condition is met, + i.e. the number written to REG_FWDSTEP. +*/ +void sanei_genesys_calculate_zmod(bool two_table, + uint32_t exposure_time, + const std::vector& slope_table, + unsigned acceleration_steps, + unsigned move_steps, + unsigned buffer_acceleration_steps, + uint32_t* out_z1, uint32_t* out_z2); + +extern void sanei_genesys_set_buffer_address(Genesys_Device* dev, uint32_t addr); + +unsigned sanei_genesys_get_bulk_max_size(AsicType asic_type); + +SANE_Int sanei_genesys_exposure_time2(Genesys_Device * dev, float ydpi, StepType step_type, + int endpixel, int led_exposure); + +MotorSlopeTable sanei_genesys_create_slope_table3(AsicType asic_type, const Genesys_Motor& motor, + StepType step_type, int exposure_time, + unsigned yres); + +void sanei_genesys_create_default_gamma_table(Genesys_Device* dev, + std::vector& gamma_table, float gamma); + +std::vector get_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor, + int color); + +void sanei_genesys_send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor); + +extern void sanei_genesys_stop_motor(Genesys_Device* dev); + +extern void sanei_genesys_search_reference_point(Genesys_Device* dev, Genesys_Sensor& sensor, + const uint8_t* src_data, int start_pixel, int dpi, + int width, int height); + +// moves the scan head by the specified steps at the motor base dpi +void scanner_move(Genesys_Device& dev, ScanMethod scan_method, unsigned steps, Direction direction); + +void scanner_move_back_home(Genesys_Device& dev, bool wait_until_home); +void scanner_move_back_home_ta(Genesys_Device& dev); + +void scanner_clear_scan_and_feed_counts(Genesys_Device& dev); + +extern void sanei_genesys_write_file(const char* filename, const std::uint8_t* data, + std::size_t length); + +extern void sanei_genesys_write_pnm_file(const char* filename, const std::uint8_t* data, int depth, + int channels, int pixels_per_line, int lines); + +void sanei_genesys_write_pnm_file(const char* filename, const Image& image); + +extern void sanei_genesys_write_pnm_file16(const char* filename, const uint16_t *data, unsigned channels, + unsigned pixels_per_line, unsigned lines); + +void wait_until_buffer_non_empty(Genesys_Device* dev, bool check_status_twice = false); + +extern void sanei_genesys_read_data_from_scanner(Genesys_Device* dev, uint8_t* data, size_t size); + +Image read_unshuffled_image_from_scanner(Genesys_Device* dev, const ScanSession& session, + std::size_t total_bytes); + +void regs_set_exposure(AsicType asic_type, Genesys_Register_Set& regs, + const SensorExposure& exposure); + +void regs_set_optical_off(AsicType asic_type, Genesys_Register_Set& regs); + +void sanei_genesys_set_dpihw(Genesys_Register_Set& regs, const Genesys_Sensor& sensor, + unsigned dpihw); + +inline uint16_t sanei_genesys_fixup_exposure_value(uint16_t value) +{ + if ((value & 0xff00) == 0) { + value |= 0x100; + } + if ((value & 0x00ff) == 0) { + value |= 0x1; + } + return value; +} + +inline SensorExposure sanei_genesys_fixup_exposure(SensorExposure exposure) +{ + exposure.red = sanei_genesys_fixup_exposure_value(exposure.red); + exposure.green = sanei_genesys_fixup_exposure_value(exposure.green); + exposure.blue = sanei_genesys_fixup_exposure_value(exposure.blue); + return exposure; +} + +bool get_registers_gain4_bit(AsicType asic_type, const Genesys_Register_Set& regs); + +extern void sanei_genesys_wait_for_home(Genesys_Device* dev); + +extern void sanei_genesys_asic_init(Genesys_Device* dev, bool cold); + +void scanner_start_action(Genesys_Device& dev, bool start_motor); +void scanner_stop_action(Genesys_Device& dev); +void scanner_stop_action_no_move(Genesys_Device& dev, Genesys_Register_Set& regs); + +bool scanner_is_motor_stopped(Genesys_Device& dev); + +const Motor_Profile& sanei_genesys_get_motor_profile(const std::vector& motors, + MotorId motor_id, int exposure); + +MotorSlopeTable sanei_genesys_slope_table(AsicType asic_type, int dpi, int exposure, int base_dpi, + unsigned step_multiplier, + const Motor_Profile& motor_profile); + +MotorSlopeTable create_slope_table_fastest(AsicType asic_type, unsigned step_multiplier, + const Motor_Profile& motor_profile); + +/** @brief find lowest motor resolution for the device. + * Parses the resolution list for motor and + * returns the lowest value. + * @param dev for which to find the lowest motor resolution + * @return the lowest available motor resolution for the device + */ +extern +int sanei_genesys_get_lowest_ydpi(Genesys_Device *dev); + +/** @brief find lowest resolution for the device. + * Parses the resolution list for motor and sensor and + * returns the lowest value. + * @param dev for which to find the lowest resolution + * @return the lowest available resolution for the device + */ +extern +int sanei_genesys_get_lowest_dpi(Genesys_Device *dev); + +bool sanei_genesys_is_compatible_calibration(Genesys_Device* dev, + const ScanSession& session, + const Genesys_Calibration_Cache* cache, + bool for_overwrite); + +extern void sanei_genesys_load_lut(unsigned char* lut, + int in_bits, int out_bits, + int out_min, int out_max, + int slope, int offset); + +extern void sanei_genesys_generate_gamma_buffer(Genesys_Device* dev, + const Genesys_Sensor& sensor, + int bits, + int max, + int size, + uint8_t* gamma); + +void compute_session(const Genesys_Device* dev, ScanSession& s, const Genesys_Sensor& sensor); + +void build_image_pipeline(Genesys_Device* dev, const ScanSession& session); + +std::uint8_t compute_frontend_gain(float value, float target_value, + FrontendType frontend_type); + +template +inline T abs_diff(T a, T b) +{ + if (a < b) { + return b - a; + } else { + return a - b; + } +} + +inline uint64_t align_multiple_floor(uint64_t x, uint64_t multiple) +{ + return (x / multiple) * multiple; +} + +inline uint64_t align_multiple_ceil(uint64_t x, uint64_t multiple) +{ + return ((x + multiple - 1) / multiple) * multiple; +} + +inline uint64_t multiply_by_depth_ceil(uint64_t pixels, uint64_t depth) +{ + if (depth == 1) { + return (pixels / 8) + ((pixels % 8) ? 1 : 0); + } else { + return pixels * (depth / 8); + } +} + +template +inline T clamp(const T& value, const T& lo, const T& hi) +{ + if (value < lo) + return lo; + if (value > hi) + return hi; + return value; +} + +/*---------------------------------------------------------------------------*/ +/* ASIC specific functions declarations */ +/*---------------------------------------------------------------------------*/ + +extern StaticInit> s_sensors; +extern StaticInit> s_frontends; +extern StaticInit> s_gpo; +extern StaticInit> s_motors; +extern StaticInit> s_usb_devices; + +void genesys_init_sensor_tables(); +void genesys_init_frontend_tables(); +void genesys_init_gpo_tables(); +void genesys_init_motor_tables(); +void genesys_init_motor_profile_tables(); +void genesys_init_usb_device_tables(); + +template +void debug_dump(unsigned level, const T& value) +{ + std::stringstream out; + out << value; + DBG(level, "%s\n", out.str().c_str()); +} + +} // namespace genesys + +#endif /* not GENESYS_LOW_H */ diff --git a/backend/genesys/motor.cpp b/backend/genesys/motor.cpp new file mode 100644 index 0000000..910266a --- /dev/null +++ b/backend/genesys/motor.cpp @@ -0,0 +1,180 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "motor.h" +#include "utilities.h" +#include + +namespace genesys { + +unsigned MotorSlope::get_table_step_shifted(unsigned step, StepType step_type) const +{ + // first two steps are always equal to the initial speed + if (step < 2) { + return initial_speed_w >> static_cast(step_type); + } + step--; + + float initial_speed_v = 1.0f / initial_speed_w; + float speed_v = std::sqrt(initial_speed_v * initial_speed_v + 2 * acceleration * step); + return static_cast(1.0f / speed_v) >> static_cast(step_type); +} + +float compute_acceleration_for_steps(unsigned initial_w, unsigned max_w, unsigned steps) +{ + float initial_speed_v = 1.0f / static_cast(initial_w); + float max_speed_v = 1.0f / static_cast(max_w); + return (max_speed_v * max_speed_v - initial_speed_v * initial_speed_v) / (2 * steps); +} + + +MotorSlope MotorSlope::create_from_steps(unsigned initial_w, unsigned max_w, + unsigned steps) +{ + MotorSlope slope; + slope.initial_speed_w = initial_w; + slope.max_speed_w = max_w; + slope.acceleration = compute_acceleration_for_steps(initial_w, max_w, steps); + return slope; +} + +void MotorSlopeTable::slice_steps(unsigned count) +{ + if (count >= table.size() || count > steps_count) { + throw SaneException("Excepssive steps count"); + } + steps_count = count; +} + +unsigned get_slope_table_max_size(AsicType asic_type) +{ + switch (asic_type) { + case AsicType::GL646: + case AsicType::GL841: return 255; + case AsicType::GL843: + case AsicType::GL845: + case AsicType::GL846: + case AsicType::GL847: + case AsicType::GL124: return 1024; + default: + throw SaneException("Unknown asic type"); + } +} + +MotorSlopeTable create_slope_table(const MotorSlope& slope, unsigned target_speed_w, + StepType step_type, unsigned steps_alignment, + unsigned min_size, unsigned max_size) +{ + DBG_HELPER_ARGS(dbg, "target_speed_w: %d, step_type: %d, steps_alignment: %d, min_size: %d", + target_speed_w, static_cast(step_type), steps_alignment, min_size); + MotorSlopeTable table; + + unsigned step_shift = static_cast(step_type); + + unsigned target_speed_shifted_w = target_speed_w >> step_shift; + unsigned max_speed_shifted_w = slope.max_speed_w >> step_shift; + + if (target_speed_shifted_w < max_speed_shifted_w) { + dbg.log(DBG_warn, "failed to reach target speed"); + } + + unsigned final_speed = std::max(target_speed_shifted_w, max_speed_shifted_w); + + table.table.reserve(max_size); + + while (table.table.size() < max_size - 1) { + unsigned current = slope.get_table_step_shifted(table.table.size(), step_type); + if (current <= final_speed) { + break; + } + table.table.push_back(current); + table.pixeltime_sum += current; + } + + // make sure the target speed (or the max speed if target speed is too high) is present in + // the table + table.table.push_back(final_speed); + table.pixeltime_sum += table.table.back(); + + // fill the table up to the specified size + while (table.table.size() < max_size - 1 && + (table.table.size() % steps_alignment != 0 || table.table.size() < min_size)) + { + table.table.push_back(table.table.back()); + table.pixeltime_sum += table.table.back(); + } + + table.steps_count = table.table.size(); + + // fill the rest of the table with the final speed + table.table.resize(max_size, final_speed); + + return table; +} + +std::ostream& operator<<(std::ostream& out, const MotorSlope& slope) +{ + out << "MotorSlope{\n" + << " initial_speed_w: " << slope.initial_speed_w << '\n' + << " max_speed_w: " << slope.max_speed_w << '\n' + << " a: " << slope.acceleration << '\n' + << '}'; + return out; +} + +std::ostream& operator<<(std::ostream& out, const Genesys_Motor& motor) +{ + out << "Genesys_Motor{\n" + << " id: " << static_cast(motor.id) << '\n' + << " base_ydpi: " << motor.base_ydpi << '\n' + << " optical_ydpi: " << motor.optical_ydpi << '\n' + << " slopes: " + << format_indent_braced_list(4, format_vector_indent_braced(4, "MotorSlope", + motor.slopes)) + << '}'; + return out; +} + +} // namespace genesys diff --git a/backend/genesys/motor.h b/backend/genesys/motor.h new file mode 100644 index 0000000..d80da6d --- /dev/null +++ b/backend/genesys/motor.h @@ -0,0 +1,177 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_MOTOR_H +#define BACKEND_GENESYS_MOTOR_H + +#include +#include +#include "enums.h" + +namespace genesys { + +/* Describes a motor acceleration curve. + + Definitions: + v - speed in steps per pixeltime + w - speed in pixel times per step. w = 1 / v + a - acceleration in steps per pixeltime squared + s - distance travelled in steps + t - time in pixeltime + + The physical mode defines the curve in physical quantities. We asssume that the scanner head + accelerates from standstill to the target speed uniformly. Then: + + v(t) = v(0) + a * t (2) + + Where `a` is acceleration, `t` is time. Also we can calculate the travelled distance `s`: + + s(t) = v(0) * t + a * t^2 / 2 (3) + + The actual motor slope is defined as the duration of each motor step. That means we need to + define speed in terms of travelled distance. + + Solving (3) for `t` gives: + + sqrt( v(0)^2 + 2 * a * s ) - v(0) + t(s) = --------------------------------- (4) + a + + Combining (4) and (2) will yield: + + v(s) = sqrt( v(0)^2 + 2 * a * s ) (5) + + The data in the slope struct MotorSlope corresponds to the above in the following way: + + maximum_start_speed is `w(0) = 1/v(0)` + + maximum_speed is defines maximum speed which should not be exceeded + + minimum_steps is not used + + g is `a` + + Given the start and target speeds on a known motor curve, `a` can be computed as follows: + + v(t1)^2 - v(t0)^2 + a = ----------------- (6) + 2 * s + + Here `v(t0)` and `v(t1)` are the start and target speeds and `s` is the number of step required + to reach the target speeds. +*/ +struct MotorSlope +{ + // initial speed in pixeltime per step + unsigned initial_speed_w = 0; + + // max speed in pixeltime per step + unsigned max_speed_w = 0; + + // maximum number of steps in the table + unsigned max_step_count; + + // acceleration in steps per pixeltime squared. + float acceleration = 0; + + unsigned get_table_step_shifted(unsigned step, StepType step_type) const; + + static MotorSlope create_from_steps(unsigned initial_w, unsigned max_w, + unsigned steps); +}; + +struct MotorSlopeTable +{ + std::vector table; + unsigned steps_count = 0; + unsigned pixeltime_sum = 0; + + void slice_steps(unsigned count); +}; + +unsigned get_slope_table_max_size(AsicType asic_type); + +MotorSlopeTable create_slope_table(const MotorSlope& slope, unsigned target_speed_w, + StepType step_type, unsigned steps_alignment, + unsigned min_size, unsigned max_size); + +std::ostream& operator<<(std::ostream& out, const MotorSlope& slope); + + +struct Genesys_Motor +{ + Genesys_Motor() = default; + + // id of the motor description + MotorId id = MotorId::UNKNOWN; + // motor base steps. Unit: 1/inch + int base_ydpi = 0; + // maximum resolution in y-direction. Unit: 1/inch + int optical_ydpi = 0; + // slopes to derive individual slopes from + std::vector slopes; + + MotorSlope& get_slope(StepType step_type) + { + return slopes[static_cast(step_type)]; + } + + const MotorSlope& get_slope(StepType step_type) const + { + return slopes[static_cast(step_type)]; + } + + StepType max_step_type() const + { + if (slopes.empty()) { + throw std::runtime_error("Slopes table is empty"); + } + return static_cast(slopes.size() - 1); + } +}; + +std::ostream& operator<<(std::ostream& out, const Genesys_Motor& motor); + +} // namespace genesys + +#endif // BACKEND_GENESYS_MOTOR_H diff --git a/backend/genesys/register.h b/backend/genesys/register.h new file mode 100644 index 0000000..bbc7ec8 --- /dev/null +++ b/backend/genesys/register.h @@ -0,0 +1,537 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_REGISTER_H +#define BACKEND_GENESYS_REGISTER_H + +#include "utilities.h" + +#include +#include +#include +#include +#include +#include +#include + +namespace genesys { + +template +struct Register +{ + std::uint16_t address = 0; + Value value = 0; +}; + +using GenesysRegister = Register; + +template +inline bool operator<(const Register& lhs, const Register& rhs) +{ + return lhs.address < rhs.address; +} + +struct GenesysRegisterSetState +{ + bool is_lamp_on = false; + bool is_xpa_on = false; + bool is_motor_on = false; + bool is_xpa_motor_on = false; +}; + +template +class RegisterContainer +{ +public: + + enum Options { + SEQUENTIAL = 1 + }; + + using RegisterType = Register; + using ContainerType = std::vector; + using iterator = typename ContainerType::iterator; + using const_iterator = typename ContainerType::const_iterator; + + RegisterContainer() = default; + + RegisterContainer(Options opts) : RegisterContainer() + { + if ((opts & SEQUENTIAL) == SEQUENTIAL) { + sorted_ = false; + } + } + + void init_reg(std::uint16_t address, Value default_value) + { + if (find_reg_index(address) >= 0) { + set(address, default_value); + return; + } + RegisterType reg; + reg.address = address; + reg.value = default_value; + registers_.push_back(reg); + if (sorted_) + std::sort(registers_.begin(), registers_.end()); + } + + bool has_reg(std::uint16_t address) const + { + return find_reg_index(address) >= 0; + } + + void remove_reg(std::uint16_t address) + { + int i = find_reg_index(address); + if (i < 0) { + throw std::runtime_error("the register does not exist"); + } + registers_.erase(registers_.begin() + i); + } + + RegisterType& find_reg(std::uint16_t address) + { + int i = find_reg_index(address); + if (i < 0) { + throw std::runtime_error("the register does not exist"); + } + return registers_[i]; + } + + const RegisterType& find_reg(std::uint16_t address) const + { + int i = find_reg_index(address); + if (i < 0) { + throw std::runtime_error("the register does not exist"); + } + return registers_[i]; + } + + void set(std::uint16_t address, Value value) + { + find_reg(address).value = value; + } + + Value get(std::uint16_t address) const + { + return find_reg(address).value; + } + + void reserve(std::size_t size) { registers_.reserve(size); } + void clear() { registers_.clear(); } + std::size_t size() const { return registers_.size(); } + + iterator begin() { return registers_.begin(); } + const_iterator begin() const { return registers_.begin(); } + + iterator end() { return registers_.end(); } + const_iterator end() const { return registers_.end(); } + +private: + int find_reg_index(std::uint16_t address) const + { + if (!sorted_) { + for (std::size_t i = 0; i < registers_.size(); i++) { + if (registers_[i].address == address) { + return i; + } + } + return -1; + } + + RegisterType search; + search.address = address; + auto it = std::lower_bound(registers_.begin(), registers_.end(), search); + if (it == registers_.end()) + return -1; + if (it->address != address) + return -1; + return std::distance(registers_.begin(), it); + } + + // registers are stored in a sorted vector + bool sorted_ = true; + std::vector registers_; +}; + +template +std::ostream& operator<<(std::ostream& out, const RegisterContainer& container) +{ + StreamStateSaver state_saver{out}; + + out << "RegisterContainer{\n"; + out << std::hex; + out.fill('0'); + + for (const auto& reg : container) { + unsigned address_width = sizeof(reg.address) * 2; + unsigned value_width = sizeof(reg.value) * 2; + + out << " 0x" << std::setw(address_width) << static_cast(reg.address) + << " = 0x" << std::setw(value_width) << static_cast(reg.value) << '\n'; + } + out << "}"; + return out; +} + +class Genesys_Register_Set +{ +public: + static constexpr unsigned MAX_REGS = 256; + + using ContainerType = RegisterContainer; + using iterator = typename ContainerType::iterator; + using const_iterator = typename ContainerType::const_iterator; + + // FIXME: this shouldn't live here, but in a separate struct that contains Genesys_Register_Set + GenesysRegisterSetState state; + + enum Options { + SEQUENTIAL = 1 + }; + + Genesys_Register_Set() + { + registers_.reserve(MAX_REGS); + } + + // by default the register set is sorted by address. In certain cases it's importand to send + // the registers in certain order: use the SEQUENTIAL option for that + Genesys_Register_Set(Options opts) : registers_{static_cast(opts)} + { + registers_.reserve(MAX_REGS); + } + + const ContainerType& registers() const + { + return registers_; + } + + void init_reg(std::uint16_t address, std::uint8_t default_value) + { + registers_.init_reg(address, default_value); + } + + bool has_reg(std::uint16_t address) const { return registers_.has_reg(address); } + + void remove_reg(std::uint16_t address) { registers_.remove_reg(address); } + + GenesysRegister& find_reg(std::uint16_t address) + { + return registers_.find_reg(address); + } + + const GenesysRegister& find_reg(std::uint16_t address) const + { + return registers_.find_reg(address); + } + + GenesysRegister* find_reg_address(std::uint16_t address) + { + return &find_reg(address); + } + + const GenesysRegister* find_reg_address(std::uint16_t address) const + { + return &find_reg(address); + } + + void set8(std::uint16_t address, std::uint8_t value) + { + find_reg(address).value = value; + } + + void set8_mask(std::uint16_t address, std::uint8_t value, std::uint8_t mask) + { + auto& reg = find_reg(address); + reg.value = (reg.value & ~mask) | value; + } + + void set16(std::uint16_t address, std::uint16_t value) + { + find_reg(address).value = (value >> 8) & 0xff; + find_reg(address + 1).value = value & 0xff; + } + + void set24(std::uint16_t address, std::uint32_t value) + { + find_reg(address).value = (value >> 16) & 0xff; + find_reg(address + 1).value = (value >> 8) & 0xff; + find_reg(address + 2).value = value & 0xff; + } + + std::uint8_t get8(std::uint16_t address) const + { + return find_reg(address).value; + } + + std::uint16_t get16(std::uint16_t address) const + { + return (find_reg(address).value << 8) | find_reg(address + 1).value; + } + + std::uint32_t get24(std::uint16_t address) const + { + return (find_reg(address).value << 16) | + (find_reg(address + 1).value << 8) | + find_reg(address + 2).value; + } + + void clear() { registers_.clear(); } + std::size_t size() const { return registers_.size(); } + + iterator begin() { return registers_.begin(); } + const_iterator begin() const { return registers_.begin(); } + + iterator end() { return registers_.end(); } + const_iterator end() const { return registers_.end(); } + +private: + + // registers are stored in a sorted vector + ContainerType registers_; +}; + +inline std::ostream& operator<<(std::ostream& out, const Genesys_Register_Set& regs) +{ + out << regs.registers(); + return out; +} + +template +struct RegisterSetting +{ + using ValueType = Value; + using AddressType = std::uint16_t; + + RegisterSetting() = default; + + RegisterSetting(AddressType p_address, ValueType p_value) : + address(p_address), value(p_value) + {} + + RegisterSetting(AddressType p_address, ValueType p_value, ValueType p_mask) : + address(p_address), value(p_value), mask(p_mask) + {} + + AddressType address = 0; + ValueType value = 0; + ValueType mask = 0xff; + + bool operator==(const RegisterSetting& other) const + { + return address == other.address && value == other.value && mask == other.mask; + } +}; + +using GenesysRegisterSetting = RegisterSetting; +using GenesysRegisterSetting16 = RegisterSetting; + +template +void serialize(Stream& str, RegisterSetting& reg) +{ + serialize(str, reg.address); + serialize(str, reg.value); + serialize(str, reg.mask); +} + +template +class RegisterSettingSet +{ +public: + using ValueType = Value; + using SettingType = RegisterSetting; + using AddressType = typename SettingType::AddressType; + + using container = std::vector; + using iterator = typename container::iterator; + using const_iterator = typename container::const_iterator; + + RegisterSettingSet() = default; + RegisterSettingSet(std::initializer_list ilist) : + registers_(ilist) + {} + + iterator begin() { return registers_.begin(); } + const_iterator begin() const { return registers_.begin(); } + iterator end() { return registers_.end(); } + const_iterator end() const { return registers_.end(); } + + SettingType& operator[](std::size_t i) { return registers_[i]; } + const SettingType& operator[](std::size_t i) const { return registers_[i]; } + + std::size_t size() const { return registers_.size(); } + bool empty() const { return registers_.empty(); } + void clear() { registers_.clear(); } + + void push_back(SettingType reg) { registers_.push_back(reg); } + + void merge(const RegisterSettingSet& other) + { + for (const auto& reg : other) { + set_value(reg.address, reg.value); + } + } + + SettingType& find_reg(AddressType address) + { + int i = find_reg_index(address); + if (i < 0) { + throw std::runtime_error("the register does not exist"); + } + return registers_[i]; + } + + const SettingType& find_reg(AddressType address) const + { + int i = find_reg_index(address); + if (i < 0) { + throw std::runtime_error("the register does not exist"); + } + return registers_[i]; + } + + ValueType get_value(AddressType address) const + { + int index = find_reg_index(address); + if (index >= 0) { + return registers_[index].value; + } + throw std::out_of_range("Unknown register"); + } + + void set_value(AddressType address, ValueType value) + { + int index = find_reg_index(address); + if (index >= 0) { + registers_[index].value = value; + return; + } + push_back(SettingType(address, value)); + } + + template + friend void serialize(std::istream& str, RegisterSettingSet& reg); + template + friend void serialize(std::ostream& str, RegisterSettingSet& reg); + + bool operator==(const RegisterSettingSet& other) const + { + return registers_ == other.registers_; + } + +private: + + int find_reg_index(AddressType address) const + { + for (std::size_t i = 0; i < registers_.size(); i++) { + if (registers_[i].address == address) { + return i; + } + } + return -1; + } + + std::vector registers_; +}; + +using GenesysRegisterSettingSet = RegisterSettingSet; +using GenesysRegisterSettingSet16 = RegisterSettingSet; + +template +std::ostream& operator<<(std::ostream& out, const RegisterSettingSet& container) +{ + StreamStateSaver state_saver{out}; + + out << "RegisterSettingSet{\n"; + out << std::hex; + out.fill('0'); + + for (const auto& reg : container) { + unsigned address_width = sizeof(reg.address) * 2; + unsigned value_width = sizeof(reg.value) * 2; + unsigned mask_width = sizeof(reg.mask) * 2; + + out << " 0x" << std::setw(address_width) << static_cast(reg.address) + << " = 0x" << std::setw(value_width) << static_cast(reg.value) + << " & 0x" << std::setw(mask_width) << static_cast(reg.mask) << '\n'; + } + out << "}"; + return out; +} + +template +inline void serialize(std::istream& str, RegisterSettingSet& reg) +{ + using AddressType = typename RegisterSetting::AddressType; + + reg.clear(); + const std::size_t max_register_address = 1 << (sizeof(AddressType) * CHAR_BIT); + serialize(str, reg.registers_, max_register_address); +} + +template +inline void serialize(std::ostream& str, RegisterSettingSet& reg) +{ + serialize(str, reg.registers_); +} + +template +void apply_registers_ordered(const RegisterSettingSet& set, + std::initializer_list order, F f) +{ + for (std::uint16_t addr : order) { + f(set.find_reg(addr)); + } + for (const auto& reg : set) { + if (std::find(order.begin(), order.end(), reg.address) != order.end()) { + continue; + } + f(reg); + } +} + +} // namespace genesys + +#endif // BACKEND_GENESYS_REGISTER_H diff --git a/backend/genesys/register_cache.h b/backend/genesys/register_cache.h new file mode 100644 index 0000000..dce701a --- /dev/null +++ b/backend/genesys/register_cache.h @@ -0,0 +1,92 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_REGISTER_CACHE_H +#define BACKEND_GENESYS_REGISTER_CACHE_H + +#include "register.h" + +namespace genesys { + +template +class RegisterCache +{ +public: + void update(std::uint16_t address, Value value) + { + if (regs_.has_reg(address)) { + regs_.set(address, value); + } else { + regs_.init_reg(address, value); + } + } + + void update(const Genesys_Register_Set& regs) + { + for (const auto& reg : regs) { + update(reg.address, reg.value); + } + } + + Value get(std::uint16_t address) const + { + return regs_.get(address); + } + +private: + RegisterContainer regs_; + + template + friend std::ostream& operator<<(std::ostream& out, const RegisterCache& cache); +}; + +template +std::ostream& operator<<(std::ostream& out, const RegisterCache& cache) +{ + out << cache.regs_; + return out; +} + +} // namespace genesys + +#endif // BACKEND_GENESYS_LINE_BUFFER_H diff --git a/backend/genesys/row_buffer.h b/backend/genesys/row_buffer.h new file mode 100644 index 0000000..e1a0c82 --- /dev/null +++ b/backend/genesys/row_buffer.h @@ -0,0 +1,214 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_LINE_BUFFER_H +#define BACKEND_GENESYS_LINE_BUFFER_H + +#include "error.h" + +#include +#include +#include +#include + +namespace genesys { + +class RowBuffer +{ +public: + RowBuffer(std::size_t line_bytes) : row_bytes_{line_bytes} {} + RowBuffer(const RowBuffer&) = default; + RowBuffer& operator=(const RowBuffer&) = default; + ~RowBuffer() = default; + + const std::uint8_t* get_row_ptr(std::size_t y) const + { + if (y >= height()) { + throw SaneException("y %zu is out of range", y); + } + return data_.data() + row_bytes_ * get_row_index(y); + } + + std::uint8_t* get_row_ptr(std::size_t y) + { + if (y >= height()) { + throw SaneException("y %zu is out of range", y); + } + return data_.data() + row_bytes_ * get_row_index(y); + } + + const std::uint8_t* get_front_row_ptr() const { return get_row_ptr(0); } + std::uint8_t* get_front_row_ptr() { return get_row_ptr(0); } + const std::uint8_t* get_back_row_ptr() const { return get_row_ptr(height() - 1); } + std::uint8_t* get_back_row_ptr() { return get_row_ptr(height() - 1); } + + bool empty() const { return is_linear_ && first_ == last_; } + + bool full() + { + if (is_linear_) { + return last_ == buffer_end_; + } + return first_ == last_; + } + + bool is_linear() const { return is_linear_; } + + void linearize() + { + if (!is_linear_) { + std::rotate(data_.begin(), data_.begin() + row_bytes_ * first_, data_.end()); + last_ = height(); + first_ = 0; + is_linear_ = true; + } + } + + void pop_front() + { + if (empty()) { + throw SaneException("Trying to pop out of empty() line buffer"); + } + + first_++; + if (first_ == last_) { + first_ = 0; + last_ = 0; + is_linear_ = true; + } else if (first_ == buffer_end_) { + first_ = 0; + is_linear_ = true; + } + } + + void push_front() + { + if (height() + 1 >= height_capacity()) { + ensure_capacity(std::max(1, height() * 2)); + } + + if (first_ == 0) { + is_linear_ = false; + first_ = buffer_end_; + } + first_--; + } + + void pop_back() + { + if (empty()) { + throw SaneException("Trying to pop out of empty() line buffer"); + } + if (last_ == 0) { + last_ = buffer_end_; + is_linear_ = true; + } + last_--; + if (first_ == last_) { + first_ = 0; + last_ = 0; + is_linear_ = true; + } + } + + void push_back() + { + if (height() + 1 >= height_capacity()) { + ensure_capacity(std::max(1, height() * 2)); + } + + if (last_ == buffer_end_) { + is_linear_ = false; + last_ = 0; + } + last_++; + } + + std::size_t row_bytes() const { return row_bytes_; } + + std::size_t height() const + { + if (!is_linear_) { + return last_ + buffer_end_ - first_; + } + return last_ - first_; + } + + std::size_t height_capacity() const { return buffer_end_; } + + void clear() + { + first_ = 0; + last_ = 0; + } + +private: + std::size_t get_row_index(std::size_t index) const + { + if (index >= buffer_end_ - first_) { + return index - (buffer_end_ - first_); + } + return index + first_; + } + + void ensure_capacity(std::size_t capacity) + { + if (capacity < height_capacity()) + return; + linearize(); + data_.resize(capacity * row_bytes_); + buffer_end_ = capacity; + } + +private: + std::size_t row_bytes_ = 0; + std::size_t first_ = 0; + std::size_t last_ = 0; + std::size_t buffer_end_ = 0; + bool is_linear_ = true; + std::vector data_; +}; + +} // namespace genesys + +#endif // BACKEND_GENESYS_LINE_BUFFER_H diff --git a/backend/genesys/scanner_interface.cpp b/backend/genesys/scanner_interface.cpp new file mode 100644 index 0000000..0b60b66 --- /dev/null +++ b/backend/genesys/scanner_interface.cpp @@ -0,0 +1,52 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "scanner_interface.h" + +namespace genesys { + +ScannerInterface::~ScannerInterface() = default; + +} // namespace genesys diff --git a/backend/genesys/scanner_interface.h b/backend/genesys/scanner_interface.h new file mode 100644 index 0000000..03c7132 --- /dev/null +++ b/backend/genesys/scanner_interface.h @@ -0,0 +1,112 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_SCANNER_INTERFACE_H +#define BACKEND_GENESYS_SCANNER_INTERFACE_H + +#include "fwd.h" +#include +#include +#include +#include + +namespace genesys { + +// Represents an interface through which all low level operations are performed. +class ScannerInterface +{ +public: + enum Flags { + FLAG_NONE = 0, + FLAG_SWAP_REGISTERS = 1 << 0, + FLAG_SMALL_ADDRESS = 1 << 1 + }; + + virtual ~ScannerInterface(); + + virtual bool is_mock() const = 0; + + virtual std::uint8_t read_register(std::uint16_t address) = 0; + virtual void write_register(std::uint16_t address, std::uint8_t value) = 0; + virtual void write_registers(const Genesys_Register_Set& regs) = 0; + + virtual void write_0x8c(std::uint8_t index, std::uint8_t value) = 0; + virtual void bulk_read_data(std::uint8_t addr, std::uint8_t* data, std::size_t size) = 0; + virtual void bulk_write_data(std::uint8_t addr, std::uint8_t* data, std::size_t size) = 0; + + // GL646, GL841, GL843 have different ways to write to RAM and to gamma tables + // FIXME: remove flags when updating tests + virtual void write_buffer(std::uint8_t type, std::uint32_t addr, std::uint8_t* data, + std::size_t size, Flags flags = FLAG_NONE) = 0; + + virtual void write_gamma(std::uint8_t type, std::uint32_t addr, std::uint8_t* data, + std::size_t size, Flags flags = FLAG_NONE) = 0; + + // GL845, GL846, GL847 and GL124 have a uniform way to write to RAM tables + virtual void write_ahb(std::uint32_t addr, std::uint32_t size, std::uint8_t* data) = 0; + + virtual std::uint16_t read_fe_register(std::uint8_t address) = 0; + virtual void write_fe_register(std::uint8_t address, std::uint16_t value) = 0; + + virtual IUsbDevice& get_usb_device() = 0; + + // sleeps the specified number of microseconds. Will not sleep if testing mode is enabled. + virtual void sleep_us(unsigned microseconds) = 0; + + void sleep_ms(unsigned milliseconds) + { + sleep_us(milliseconds * 1000); + } + + virtual void record_progress_message(const char* msg) = 0; + + virtual void record_slope_table(unsigned table_nr, const std::vector& steps) = 0; + + virtual void record_key_value(const std::string& key, const std::string& value) = 0; + + virtual void test_checkpoint(const std::string& name) = 0; +}; + +} // namespace genesys + +#endif diff --git a/backend/genesys/scanner_interface_usb.cpp b/backend/genesys/scanner_interface_usb.cpp new file mode 100644 index 0000000..d4d83dd --- /dev/null +++ b/backend/genesys/scanner_interface_usb.cpp @@ -0,0 +1,515 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "scanner_interface_usb.h" +#include "low.h" +#include + +namespace genesys { + +ScannerInterfaceUsb::~ScannerInterfaceUsb() = default; + +ScannerInterfaceUsb::ScannerInterfaceUsb(Genesys_Device* dev) : dev_{dev} {} + +bool ScannerInterfaceUsb::is_mock() const +{ + return false; +} + +std::uint8_t ScannerInterfaceUsb::read_register(std::uint16_t address) +{ + DBG_HELPER(dbg); + + std::uint8_t value = 0; + + if (dev_->model->asic_type == AsicType::GL847 || + dev_->model->asic_type == AsicType::GL845 || + dev_->model->asic_type == AsicType::GL846 || + dev_->model->asic_type == AsicType::GL124) + { + std::uint8_t value2x8[2]; + std::uint16_t address16 = 0x22 + (address << 8); + + std::uint16_t usb_value = VALUE_GET_REGISTER; + if (address > 0xff) { + usb_value |= 0x100; + } + + usb_dev_.control_msg(REQUEST_TYPE_IN, REQUEST_BUFFER, usb_value, address16, 2, value2x8); + + // check usb link status + if (value2x8[1] != 0x55) { + throw SaneException(SANE_STATUS_IO_ERROR, "invalid read, scanner unplugged?"); + } + + DBG(DBG_io, "%s (0x%02x, 0x%02x) completed\n", __func__, address, value2x8[0]); + + value = value2x8[0]; + + } else { + + if (address > 0xff) { + throw SaneException("Invalid register address 0x%04x", address); + } + + std::uint8_t address8 = address & 0xff; + + usb_dev_.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, INDEX, + 1, &address8); + usb_dev_.control_msg(REQUEST_TYPE_IN, REQUEST_REGISTER, VALUE_READ_REGISTER, INDEX, + 1, &value); + } + + DBG(DBG_proc, "%s (0x%02x, 0x%02x) completed\n", __func__, address, value); + return value; +} + +void ScannerInterfaceUsb::write_register(std::uint16_t address, std::uint8_t value) +{ + DBG_HELPER_ARGS(dbg, "address: 0x%04x, value: 0x%02x", static_cast(address), + static_cast(value)); + + if (dev_->model->asic_type == AsicType::GL847 || + dev_->model->asic_type == AsicType::GL845 || + dev_->model->asic_type == AsicType::GL846 || + dev_->model->asic_type == AsicType::GL124) + { + std::uint8_t buffer[2]; + + buffer[0] = address & 0xff; + buffer[1] = value; + + std::uint16_t usb_value = VALUE_SET_REGISTER; + if (address > 0xff) { + usb_value |= 0x100; + } + + usb_dev_.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, usb_value, INDEX, + 2, buffer); + + } else { + if (address > 0xff) { + throw SaneException("Invalid register address 0x%04x", address); + } + + std::uint8_t address8 = address & 0xff; + + usb_dev_.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, INDEX, + 1, &address8); + + usb_dev_.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_WRITE_REGISTER, INDEX, + 1, &value); + + } + DBG(DBG_io, "%s (0x%02x, 0x%02x) completed\n", __func__, address, value); +} + +void ScannerInterfaceUsb::write_registers(const Genesys_Register_Set& regs) +{ + DBG_HELPER(dbg); + if (dev_->model->asic_type == AsicType::GL646 || + dev_->model->asic_type == AsicType::GL841) + { + uint8_t outdata[8]; + std::vector buffer; + buffer.reserve(regs.size() * 2); + + /* copy registers and values in data buffer */ + for (const auto& r : regs) { + buffer.push_back(r.address); + buffer.push_back(r.value); + } + + DBG(DBG_io, "%s (elems= %zu, size = %zu)\n", __func__, regs.size(), buffer.size()); + + if (dev_->model->asic_type == AsicType::GL646) { + outdata[0] = BULK_OUT; + outdata[1] = BULK_REGISTER; + outdata[2] = 0x00; + outdata[3] = 0x00; + outdata[4] = (buffer.size() & 0xff); + outdata[5] = ((buffer.size() >> 8) & 0xff); + outdata[6] = ((buffer.size() >> 16) & 0xff); + outdata[7] = ((buffer.size() >> 24) & 0xff); + + usb_dev_.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, INDEX, + sizeof(outdata), outdata); + + size_t write_size = buffer.size(); + + usb_dev_.bulk_write(buffer.data(), &write_size); + } else { + for (std::size_t i = 0; i < regs.size();) { + std::size_t c = regs.size() - i; + if (c > 32) /*32 is max on GL841. checked that.*/ + c = 32; + + usb_dev_.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_SET_REGISTER, + INDEX, c * 2, buffer.data() + i * 2); + + i += c; + } + } + } else { + for (const auto& r : regs) { + write_register(r.address, r.value); + } + } + + DBG(DBG_io, "%s: wrote %zu registers\n", __func__, regs.size()); +} + +void ScannerInterfaceUsb::write_0x8c(std::uint8_t index, std::uint8_t value) +{ + DBG_HELPER_ARGS(dbg, "0x%02x,0x%02x", index, value); + usb_dev_.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_BUF_ENDACCESS, index, 1, &value); +} + +static void bulk_read_data_send_header(UsbDevice& usb_dev, AsicType asic_type, size_t size) +{ + DBG_HELPER(dbg); + + uint8_t outdata[8]; + if (asic_type == AsicType::GL124 || + asic_type == AsicType::GL846 || + asic_type == AsicType::GL847) + { + // hard coded 0x10000000 address + outdata[0] = 0; + outdata[1] = 0; + outdata[2] = 0; + outdata[3] = 0x10; + } else if (asic_type == AsicType::GL841 || + asic_type == AsicType::GL843) { + outdata[0] = BULK_IN; + outdata[1] = BULK_RAM; + outdata[2] = 0x82; // + outdata[3] = 0x00; + } else { + outdata[0] = BULK_IN; + outdata[1] = BULK_RAM; + outdata[2] = 0x00; + outdata[3] = 0x00; + } + + /* data size to transfer */ + outdata[4] = (size & 0xff); + outdata[5] = ((size >> 8) & 0xff); + outdata[6] = ((size >> 16) & 0xff); + outdata[7] = ((size >> 24) & 0xff); + + usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, 0x00, + sizeof(outdata), outdata); +} + +void ScannerInterfaceUsb::bulk_read_data(std::uint8_t addr, std::uint8_t* data, std::size_t size) +{ + // currently supported: GL646, GL841, GL843, GL846, GL847, GL124 + DBG_HELPER(dbg); + + unsigned is_addr_used = 1; + unsigned has_header_before_each_chunk = 0; + if (dev_->model->asic_type == AsicType::GL124 || + dev_->model->asic_type == AsicType::GL846 || + dev_->model->asic_type == AsicType::GL847) + { + is_addr_used = 0; + has_header_before_each_chunk = 1; + } + + if (is_addr_used) { + DBG(DBG_io, "%s: requesting %zu bytes from 0x%02x addr\n", __func__, size, addr); + } else { + DBG(DBG_io, "%s: requesting %zu bytes\n", __func__, size); + } + + if (size == 0) + return; + + if (is_addr_used) { + usb_dev_.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, 0x00, + 1, &addr); + } + + std::size_t target_size = size; + + std::size_t max_in_size = sanei_genesys_get_bulk_max_size(dev_->model->asic_type); + + if (!has_header_before_each_chunk) { + bulk_read_data_send_header(usb_dev_, dev_->model->asic_type, size); + } + + // loop until computed data size is read + while (target_size > 0) { + std::size_t block_size = std::min(target_size, max_in_size); + + if (has_header_before_each_chunk) { + bulk_read_data_send_header(usb_dev_, dev_->model->asic_type, block_size); + } + + DBG(DBG_io2, "%s: trying to read %zu bytes of data\n", __func__, block_size); + + usb_dev_.bulk_read(data, &block_size); + + DBG(DBG_io2, "%s: read %zu bytes, %zu remaining\n", __func__, block_size, target_size - block_size); + + target_size -= block_size; + data += block_size; + } +} + +void ScannerInterfaceUsb::bulk_write_data(std::uint8_t addr, std::uint8_t* data, std::size_t len) +{ + DBG_HELPER_ARGS(dbg, "writing %zu bytes", len); + + // supported: GL646, GL841, GL843 + std::size_t size; + std::uint8_t outdata[8]; + + usb_dev_.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, INDEX, + 1, &addr); + + std::size_t max_out_size = sanei_genesys_get_bulk_max_size(dev_->model->asic_type); + + while (len) { + if (len > max_out_size) + size = max_out_size; + else + size = len; + + if (dev_->model->asic_type == AsicType::GL841) { + outdata[0] = BULK_OUT; + outdata[1] = BULK_RAM; + // both 0x82 and 0x00 works on GL841. + outdata[2] = 0x82; + outdata[3] = 0x00; + } else { + outdata[0] = BULK_OUT; + outdata[1] = BULK_RAM; + // 8600F uses 0x82, but 0x00 works too. 8400F uses 0x02 for certain transactions. + outdata[2] = 0x00; + outdata[3] = 0x00; + } + + outdata[4] = (size & 0xff); + outdata[5] = ((size >> 8) & 0xff); + outdata[6] = ((size >> 16) & 0xff); + outdata[7] = ((size >> 24) & 0xff); + + usb_dev_.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, 0x00, + sizeof(outdata), outdata); + + usb_dev_.bulk_write(data, &size); + + DBG(DBG_io2, "%s: wrote %zu bytes, %zu remaining\n", __func__, size, len - size); + + len -= size; + data += size; + } +} + +void ScannerInterfaceUsb::write_buffer(std::uint8_t type, std::uint32_t addr, std::uint8_t* data, + std::size_t size, Flags flags) +{ + DBG_HELPER_ARGS(dbg, "type: 0x%02x, addr: 0x%08x, size: 0x%08zx", type, addr, size); + if (dev_->model->asic_type != AsicType::GL646 && + dev_->model->asic_type != AsicType::GL841 && + dev_->model->asic_type != AsicType::GL843) + { + throw SaneException("Unsupported transfer mode"); + } + + if (dev_->model->asic_type == AsicType::GL843) { + if (flags & FLAG_SWAP_REGISTERS) { + if (!(flags & FLAG_SMALL_ADDRESS)) { + write_register(0x29, ((addr >> 20) & 0xff)); + } + write_register(0x2a, ((addr >> 12) & 0xff)); + write_register(0x2b, ((addr >> 4) & 0xff)); + } else { + write_register(0x2b, ((addr >> 4) & 0xff)); + write_register(0x2a, ((addr >> 12) & 0xff)); + if (!(flags & FLAG_SMALL_ADDRESS)) { + write_register(0x29, ((addr >> 20) & 0xff)); + } + } + } else { + write_register(0x2b, ((addr >> 4) & 0xff)); + write_register(0x2a, ((addr >> 12) & 0xff)); + } + bulk_write_data(type, data, size); +} + +void ScannerInterfaceUsb::write_gamma(std::uint8_t type, std::uint32_t addr, std::uint8_t* data, + std::size_t size, Flags flags) +{ + DBG_HELPER_ARGS(dbg, "type: 0x%02x, addr: 0x%08x, size: 0x%08zx", type, addr, size); + if (dev_->model->asic_type != AsicType::GL646 && + dev_->model->asic_type != AsicType::GL841 && + dev_->model->asic_type != AsicType::GL843) + { + throw SaneException("Unsupported transfer mode"); + } + + if (flags & FLAG_SWAP_REGISTERS) { + write_register(0x5b, ((addr >> 12) & 0xff)); + write_register(0x5c, ((addr >> 4) & 0xff)); + } else { + write_register(0x5c, ((addr >> 4) & 0xff)); + write_register(0x5b, ((addr >> 12) & 0xff)); + } + bulk_write_data(type, data, size); +} + +void ScannerInterfaceUsb::write_ahb(std::uint32_t addr, std::uint32_t size, std::uint8_t* data) +{ + DBG_HELPER_ARGS(dbg, "address: 0x%08x, size: %d", static_cast(addr), + static_cast(size)); + + if (dev_->model->asic_type != AsicType::GL845 && + dev_->model->asic_type != AsicType::GL846 && + dev_->model->asic_type != AsicType::GL847 && + dev_->model->asic_type != AsicType::GL124) + { + throw SaneException("Unsupported transfer type"); + } + std::uint8_t outdata[8]; + outdata[0] = addr & 0xff; + outdata[1] = ((addr >> 8) & 0xff); + outdata[2] = ((addr >> 16) & 0xff); + outdata[3] = ((addr >> 24) & 0xff); + outdata[4] = (size & 0xff); + outdata[5] = ((size >> 8) & 0xff); + outdata[6] = ((size >> 16) & 0xff); + outdata[7] = ((size >> 24) & 0xff); + + // write addr and size for AHB + usb_dev_.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, 0x01, 8, outdata); + + std::size_t max_out_size = sanei_genesys_get_bulk_max_size(dev_->model->asic_type); + + // write actual data + std::size_t written = 0; + do { + std::size_t block_size = std::min(size - written, max_out_size); + + usb_dev_.bulk_write(data + written, &block_size); + + written += block_size; + } while (written < size); +} + +std::uint16_t ScannerInterfaceUsb::read_fe_register(std::uint8_t address) +{ + DBG_HELPER(dbg); + Genesys_Register_Set reg; + + reg.init_reg(0x50, address); + + // set up read address + write_registers(reg); + + // read data + std::uint16_t value = read_register(0x46) << 8; + value |= read_register(0x47); + + DBG(DBG_io, "%s (0x%02x, 0x%04x)\n", __func__, address, value); + return value; +} + +void ScannerInterfaceUsb::write_fe_register(std::uint8_t address, std::uint16_t value) +{ + DBG_HELPER_ARGS(dbg, "0x%02x, 0x%04x", address, value); + Genesys_Register_Set reg(Genesys_Register_Set::SEQUENTIAL); + + reg.init_reg(0x51, address); + if (dev_->model->asic_type == AsicType::GL124) { + reg.init_reg(0x5d, (value / 256) & 0xff); + reg.init_reg(0x5e, value & 0xff); + } else { + reg.init_reg(0x3a, (value / 256) & 0xff); + reg.init_reg(0x3b, value & 0xff); + } + + write_registers(reg); +} + +IUsbDevice& ScannerInterfaceUsb::get_usb_device() +{ + return usb_dev_; +} + +void ScannerInterfaceUsb::sleep_us(unsigned microseconds) +{ + if (sanei_usb_is_replay_mode_enabled()) { + return; + } + std::this_thread::sleep_for(std::chrono::microseconds{microseconds}); +} + +void ScannerInterfaceUsb::record_progress_message(const char* msg) +{ + sanei_usb_testing_record_message(msg); +} + +void ScannerInterfaceUsb::record_slope_table(unsigned table_nr, + const std::vector& steps) +{ + (void) table_nr; + (void) steps; +} + +void ScannerInterfaceUsb::record_key_value(const std::string& key, const std::string& value) +{ + (void) key; + (void) value; +} + +void ScannerInterfaceUsb::test_checkpoint(const std::string& name) +{ + (void) name; +} + +} // namespace genesys diff --git a/backend/genesys/scanner_interface_usb.h b/backend/genesys/scanner_interface_usb.h new file mode 100644 index 0000000..06b51ff --- /dev/null +++ b/backend/genesys/scanner_interface_usb.h @@ -0,0 +1,98 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_SCANNER_INTERFACE_USB_H +#define BACKEND_GENESYS_SCANNER_INTERFACE_USB_H + +#include "scanner_interface.h" +#include "usb_device.h" + +namespace genesys { + +class ScannerInterfaceUsb : public ScannerInterface +{ +public: + ScannerInterfaceUsb(Genesys_Device* dev); + + ~ScannerInterfaceUsb() override; + + bool is_mock() const override; + + std::uint8_t read_register(std::uint16_t address) override; + void write_register(std::uint16_t address, std::uint8_t value) override; + void write_registers(const Genesys_Register_Set& regs) override; + + void write_0x8c(std::uint8_t index, std::uint8_t value) override; + void bulk_read_data(std::uint8_t addr, std::uint8_t* data, std::size_t size) override; + void bulk_write_data(std::uint8_t addr, std::uint8_t* data, std::size_t size) override; + + void write_buffer(std::uint8_t type, std::uint32_t addr, std::uint8_t* data, + std::size_t size, Flags flags) override; + void write_gamma(std::uint8_t type, std::uint32_t addr, std::uint8_t* data, + std::size_t size, Flags flags) override; + + void write_ahb(std::uint32_t addr, std::uint32_t size, std::uint8_t* data) override; + + std::uint16_t read_fe_register(std::uint8_t address) override; + void write_fe_register(std::uint8_t address, std::uint16_t value) override; + + IUsbDevice& get_usb_device() override; + + void sleep_us(unsigned microseconds) override; + + void record_progress_message(const char* msg) override; + + void record_slope_table(unsigned table_nr, const std::vector& steps) override; + + void record_key_value(const std::string& key, const std::string& value) override; + + void test_checkpoint(const std::string& name) override; + +private: + Genesys_Device* dev_; + UsbDevice usb_dev_; +}; + +} // namespace genesys + +#endif diff --git a/backend/genesys/sensor.cpp b/backend/genesys/sensor.cpp new file mode 100644 index 0000000..e54af65 --- /dev/null +++ b/backend/genesys/sensor.cpp @@ -0,0 +1,160 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "sensor.h" +#include "utilities.h" +#include + +namespace genesys { + +std::ostream& operator<<(std::ostream& out, const StaggerConfig& config) +{ + out << "StaggerConfig{\n" + << " min_resolution: " << config.min_resolution() << '\n' + << " lines_at_min: " << config.lines_at_min() << '\n' + << "}"; + return out; +} + +std::ostream& operator<<(std::ostream& out, const FrontendType& type) +{ + switch (type) { + case FrontendType::UNKNOWN: out << "UNKNOWN"; break; + case FrontendType::WOLFSON: out << "WOLFSON"; break; + case FrontendType::ANALOG_DEVICES: out << "ANALOG_DEVICES"; break; + default: out << "(unknown value)"; + } + return out; +} + +std::ostream& operator<<(std::ostream& out, const GenesysFrontendLayout& layout) +{ + StreamStateSaver state_saver{out}; + + out << "GenesysFrontendLayout{\n" + << " type: " << layout.type << '\n' + << std::hex + << " offset_addr[0]: " << layout.offset_addr[0] << '\n' + << " offset_addr[1]: " << layout.offset_addr[1] << '\n' + << " offset_addr[2]: " << layout.offset_addr[2] << '\n' + << " gain_addr[0]: " << layout.gain_addr[0] << '\n' + << " gain_addr[1]: " << layout.gain_addr[1] << '\n' + << " gain_addr[2]: " << layout.gain_addr[2] << '\n' + << '}'; + return out; +} + +std::ostream& operator<<(std::ostream& out, const Genesys_Frontend& frontend) +{ + StreamStateSaver state_saver{out}; + + out << "Genesys_Frontend{\n" + << " id: " << static_cast(frontend.id) << '\n' + << " regs: " << format_indent_braced_list(4, frontend.regs) << '\n' + << std::hex + << " reg2[0]: " << frontend.reg2[0] << '\n' + << " reg2[1]: " << frontend.reg2[1] << '\n' + << " reg2[2]: " << frontend.reg2[2] << '\n' + << " layout: " << format_indent_braced_list(4, frontend.layout) << '\n' + << '}'; + return out; +} + +std::ostream& operator<<(std::ostream& out, const SensorExposure& exposure) +{ + out << "SensorExposure{\n" + << " red: " << exposure.red << '\n' + << " green: " << exposure.green << '\n' + << " blue: " << exposure.blue << '\n' + << '}'; + return out; +} + +std::ostream& operator<<(std::ostream& out, const ResolutionFilter& resolutions) +{ + if (resolutions.matches_any()) { + out << "ANY"; + return out; + } + out << format_vector_unsigned(4, resolutions.resolutions()); + return out; +} + +std::ostream& operator<<(std::ostream& out, const Genesys_Sensor& sensor) +{ + out << "Genesys_Sensor{\n" + << " sensor_id: " << static_cast(sensor.sensor_id) << '\n' + << " optical_res: " << sensor.optical_res << '\n' + << " resolutions: " << format_indent_braced_list(4, sensor.resolutions) << '\n' + << " channels: " << format_vector_unsigned(4, sensor.channels) << '\n' + << " method: " << sensor.method << '\n' + << " register_dpihw_override: " << sensor.register_dpihw_override << '\n' + << " logical_dpihw_override: " << sensor.logical_dpihw_override << '\n' + << " dpiset_override: " << sensor.dpiset_override << '\n' + << " ccd_size_divisor: " << sensor.ccd_size_divisor << '\n' + << " pixel_count_multiplier: " << sensor.pixel_count_multiplier << '\n' + << " black_pixels: " << sensor.black_pixels << '\n' + << " dummy_pixel: " << sensor.dummy_pixel << '\n' + << " ccd_start_xoffset: " << sensor.ccd_start_xoffset << '\n' + << " sensor_pixels: " << sensor.sensor_pixels << '\n' + << " fau_gain_white_ref: " << sensor.fau_gain_white_ref << '\n' + << " gain_white_ref: " << sensor.gain_white_ref << '\n' + << " exposure: " << format_indent_braced_list(4, sensor.exposure) << '\n' + << " exposure_lperiod: " << sensor.exposure_lperiod << '\n' + << " segment_size: " << sensor.segment_size << '\n' + << " segment_order: " + << format_indent_braced_list(4, format_vector_unsigned(4, sensor.segment_order)) << '\n' + << " stagger_config: " << format_indent_braced_list(4, sensor.stagger_config) << '\n' + << " custom_base_regs: " << format_indent_braced_list(4, sensor.custom_base_regs) << '\n' + << " custom_regs: " << format_indent_braced_list(4, sensor.custom_regs) << '\n' + << " custom_fe_regs: " << format_indent_braced_list(4, sensor.custom_fe_regs) << '\n' + << " gamma.red: " << sensor.gamma[0] << '\n' + << " gamma.green: " << sensor.gamma[1] << '\n' + << " gamma.blue: " << sensor.gamma[2] << '\n' + << "}"; + return out; +} + +} // namespace genesys diff --git a/backend/genesys/sensor.h b/backend/genesys/sensor.h new file mode 100644 index 0000000..e70728e --- /dev/null +++ b/backend/genesys/sensor.h @@ -0,0 +1,470 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_SENSOR_H +#define BACKEND_GENESYS_SENSOR_H + +#include "enums.h" +#include "register.h" +#include "serialize.h" +#include +#include + +namespace genesys { + +template +struct AssignableArray : public std::array { + AssignableArray() = default; + AssignableArray(const AssignableArray&) = default; + AssignableArray& operator=(const AssignableArray&) = default; + + AssignableArray& operator=(std::initializer_list init) + { + if (init.size() != std::array::size()) + throw std::runtime_error("An array of incorrect size assigned"); + std::copy(init.begin(), init.end(), std::array::begin()); + return *this; + } +}; + + +class StaggerConfig +{ +public: + StaggerConfig() = default; + StaggerConfig(unsigned min_resolution, unsigned lines_at_min) : + min_resolution_{min_resolution}, + lines_at_min_{lines_at_min} + { + } + + unsigned stagger_at_resolution(unsigned xresolution, unsigned yresolution) const + { + if (min_resolution_ == 0 || xresolution < min_resolution_) + return 0; + return yresolution / min_resolution_ * lines_at_min_; + } + + unsigned min_resolution() const { return min_resolution_; } + unsigned lines_at_min() const { return lines_at_min_; } + + bool operator==(const StaggerConfig& other) const + { + return min_resolution_ == other.min_resolution_ && + lines_at_min_ == other.lines_at_min_; + } + +private: + unsigned min_resolution_ = 0; + unsigned lines_at_min_ = 0; + + template + friend void serialize(Stream& str, StaggerConfig& x); +}; + +template +void serialize(Stream& str, StaggerConfig& x) +{ + serialize(str, x.min_resolution_); + serialize(str, x.lines_at_min_); +} + +std::ostream& operator<<(std::ostream& out, const StaggerConfig& config); + + +enum class FrontendType : unsigned +{ + UNKNOWN, + WOLFSON, + ANALOG_DEVICES +}; + +inline void serialize(std::istream& str, FrontendType& x) +{ + unsigned value; + serialize(str, value); + x = static_cast(value); +} + +inline void serialize(std::ostream& str, FrontendType& x) +{ + unsigned value = static_cast(x); + serialize(str, value); +} + +std::ostream& operator<<(std::ostream& out, const FrontendType& type); + +struct GenesysFrontendLayout +{ + FrontendType type = FrontendType::UNKNOWN; + std::array offset_addr = {}; + std::array gain_addr = {}; + + bool operator==(const GenesysFrontendLayout& other) const + { + return type == other.type && + offset_addr == other.offset_addr && + gain_addr == other.gain_addr; + } +}; + +template +void serialize(Stream& str, GenesysFrontendLayout& x) +{ + serialize(str, x.type); + serialize_newline(str); + serialize(str, x.offset_addr); + serialize_newline(str); + serialize(str, x.gain_addr); +} + +std::ostream& operator<<(std::ostream& out, const GenesysFrontendLayout& layout); + +/** @brief Data structure to set up analog frontend. + The analog frontend converts analog value from image sensor to digital value. It has its own + control registers which are set up with this structure. The values are written using + fe_write_data. + */ +struct Genesys_Frontend +{ + Genesys_Frontend() = default; + + // id of the frontend description + AdcId id = AdcId::UNKNOWN; + + // all registers of the frontend. Note that the registers can hold 9-bit values + RegisterSettingSet regs; + + // extra control registers + std::array reg2 = {}; + + GenesysFrontendLayout layout; + + void set_offset(unsigned which, std::uint16_t value) + { + regs.set_value(layout.offset_addr[which], value); + } + + void set_gain(unsigned which, std::uint16_t value) + { + regs.set_value(layout.gain_addr[which], value); + } + + std::uint16_t get_offset(unsigned which) const + { + return regs.get_value(layout.offset_addr[which]); + } + + std::uint16_t get_gain(unsigned which) const + { + return regs.get_value(layout.gain_addr[which]); + } + + bool operator==(const Genesys_Frontend& other) const + { + return id == other.id && + regs == other.regs && + reg2 == other.reg2 && + layout == other.layout; + } +}; + +std::ostream& operator<<(std::ostream& out, const Genesys_Frontend& frontend); + +template +void serialize(Stream& str, Genesys_Frontend& x) +{ + serialize(str, x.id); + serialize_newline(str); + serialize(str, x.regs); + serialize_newline(str); + serialize(str, x.reg2); + serialize_newline(str); + serialize(str, x.layout); +} + +struct SensorExposure { + std::uint16_t red = 0; + std::uint16_t green = 0; + std::uint16_t blue = 0; + + SensorExposure() = default; + SensorExposure(std::uint16_t r, std::uint16_t g, std::uint16_t b) : + red{r}, green{g}, blue{b} + {} + + bool operator==(const SensorExposure& other) const + { + return red == other.red && green == other.green && blue == other.blue; + } +}; + +std::ostream& operator<<(std::ostream& out, const SensorExposure& exposure); + + +class ResolutionFilter +{ +public: + struct Any {}; + static constexpr Any ANY{}; + + ResolutionFilter() : matches_any_{false} {} + ResolutionFilter(Any) : matches_any_{true} {} + ResolutionFilter(std::initializer_list resolutions) : + matches_any_{false}, + resolutions_{resolutions} + {} + + bool matches(unsigned resolution) const + { + if (matches_any_) + return true; + auto it = std::find(resolutions_.begin(), resolutions_.end(), resolution); + return it != resolutions_.end(); + } + + bool operator==(const ResolutionFilter& other) const + { + return matches_any_ == other.matches_any_ && resolutions_ == other.resolutions_; + } + + bool matches_any() const { return matches_any_; } + const std::vector& resolutions() const { return resolutions_; } + +private: + bool matches_any_ = false; + std::vector resolutions_; + + template + friend void serialize(Stream& str, ResolutionFilter& x); +}; + +std::ostream& operator<<(std::ostream& out, const ResolutionFilter& resolutions); + +template +void serialize(Stream& str, ResolutionFilter& x) +{ + serialize(str, x.matches_any_); + serialize_newline(str); + serialize(str, x.resolutions_); +} + + +struct Genesys_Sensor { + + Genesys_Sensor() = default; + ~Genesys_Sensor() = default; + + // id of the sensor description + SensorId sensor_id = SensorId::UNKNOWN; + + // sensor resolution in CCD pixels. Note that we may read more than one CCD pixel per logical + // pixel, see ccd_pixels_per_system_pixel() + unsigned optical_res = 0; + + // the resolution list that the sensor is usable at. + ResolutionFilter resolutions = ResolutionFilter::ANY; + + // the channel list that the sensor is usable at + std::vector channels = { 1, 3 }; + + // the scan method used with the sensor + ScanMethod method = ScanMethod::FLATBED; + + // The scanner may be setup to use a custom dpihw that does not correspond to any actual + // resolution. The value zero does not set the override. + unsigned register_dpihw_override = 0; + + // The scanner may be setup to use a custom logical dpihw that does not correspond to any actual + // resolution. The value zero does not set the override. + unsigned logical_dpihw_override = 0; + + // The scanner may be setup to use a custom dpiset value that does not correspond to any actual + // resolution. The value zero does not set the override. + unsigned dpiset_override = 0; + + // CCD may present itself as half or quarter-size CCD on certain resolutions + int ccd_size_divisor = 1; + + // Some scanners need an additional multiplier over the scan coordinates + int pixel_count_multiplier = 1; + + int black_pixels = 0; + // value of the dummy register + int dummy_pixel = 0; + // last pixel of CCD margin at optical resolution + int ccd_start_xoffset = 0; + // total pixels used by the sensor + int sensor_pixels = 0; + // TA CCD target code (reference gain) + int fau_gain_white_ref = 0; + // CCD target code (reference gain) + int gain_white_ref = 0; + + // red, green and blue initial exposure values + SensorExposure exposure; + + int exposure_lperiod = -1; + + // the number of pixels in a single segment. + // only on gl843 + unsigned segment_size = 0; + + // the order of the segments, if any, for the sensor. If the sensor is not segmented or uses + // only single segment, this array can be empty + // only on gl843 + std::vector segment_order; + + // some CCDs use two arrays of pixels for double resolution. On such CCDs when scanning at + // high-enough resolution, every other pixel column is shifted + StaggerConfig stagger_config; + + GenesysRegisterSettingSet custom_base_regs; // gl646-specific + GenesysRegisterSettingSet custom_regs; + GenesysRegisterSettingSet custom_fe_regs; + + // red, green and blue gamma coefficient for default gamma tables + AssignableArray gamma; + + std::function get_logical_hwdpi_fun; + std::function get_register_hwdpi_fun; + std::function get_ccd_size_divisor_fun; + std::function get_hwdpi_divisor_fun; + + unsigned get_logical_hwdpi(unsigned xres) const { return get_logical_hwdpi_fun(*this, xres); } + unsigned get_register_hwdpi(unsigned xres) const { return get_register_hwdpi_fun(*this, xres); } + unsigned get_ccd_size_divisor_for_dpi(unsigned xres) const + { + return get_ccd_size_divisor_fun(*this, xres); + } + unsigned get_hwdpi_divisor_for_dpi(unsigned xres) const + { + return get_hwdpi_divisor_fun(*this, xres); + } + + // how many CCD pixels are processed per system pixel time. This corresponds to CKSEL + 1 + unsigned ccd_pixels_per_system_pixel() const + { + // same on GL646, GL841, GL843, GL846, GL847, GL124 + constexpr unsigned REG_CKSEL = 0x03; + return (custom_regs.get_value(0x18) & REG_CKSEL) + 1; + } + + bool matches_channel_count(unsigned count) const + { + return std::find(channels.begin(), channels.end(), count) != channels.end(); + } + + unsigned get_segment_count() const + { + if (segment_order.size() < 2) + return 1; + return segment_order.size(); + } + + bool operator==(const Genesys_Sensor& other) const + { + return sensor_id == other.sensor_id && + optical_res == other.optical_res && + resolutions == other.resolutions && + method == other.method && + ccd_size_divisor == other.ccd_size_divisor && + black_pixels == other.black_pixels && + dummy_pixel == other.dummy_pixel && + ccd_start_xoffset == other.ccd_start_xoffset && + sensor_pixels == other.sensor_pixels && + fau_gain_white_ref == other.fau_gain_white_ref && + gain_white_ref == other.gain_white_ref && + exposure == other.exposure && + exposure_lperiod == other.exposure_lperiod && + segment_size == other.segment_size && + segment_order == other.segment_order && + stagger_config == other.stagger_config && + custom_base_regs == other.custom_base_regs && + custom_regs == other.custom_regs && + custom_fe_regs == other.custom_fe_regs && + gamma == other.gamma; + } +}; + +template +void serialize(Stream& str, Genesys_Sensor& x) +{ + serialize(str, x.sensor_id); + serialize(str, x.optical_res); + serialize(str, x.resolutions); + serialize(str, x.method); + serialize(str, x.ccd_size_divisor); + serialize(str, x.black_pixels); + serialize(str, x.dummy_pixel); + serialize(str, x.ccd_start_xoffset); + serialize(str, x.sensor_pixels); + serialize(str, x.fau_gain_white_ref); + serialize(str, x.gain_white_ref); + serialize_newline(str); + serialize(str, x.exposure.blue); + serialize(str, x.exposure.green); + serialize(str, x.exposure.red); + serialize(str, x.exposure_lperiod); + serialize_newline(str); + serialize(str, x.segment_size); + serialize_newline(str); + serialize(str, x.segment_order); + serialize_newline(str); + serialize(str, x.stagger_config); + serialize_newline(str); + serialize(str, x.custom_base_regs); + serialize_newline(str); + serialize(str, x.custom_regs); + serialize_newline(str); + serialize(str, x.custom_fe_regs); + serialize_newline(str); + serialize(str, x.gamma); + serialize_newline(str); +} + +std::ostream& operator<<(std::ostream& out, const Genesys_Sensor& sensor); + +} // namespace genesys + +#endif // BACKEND_GENESYS_SENSOR_H diff --git a/backend/genesys/serialize.cpp b/backend/genesys/serialize.cpp new file mode 100644 index 0000000..e69de29 diff --git a/backend/genesys/serialize.h b/backend/genesys/serialize.h new file mode 100644 index 0000000..ed40a4e --- /dev/null +++ b/backend/genesys/serialize.h @@ -0,0 +1,150 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_SERIALIZE_H +#define BACKEND_GENESYS_SERIALIZE_H + +#include "error.h" +#include +#include +#include +#include +#include + +namespace genesys { + +// it would be best to use something like boost.serialization + +inline void serialize_newline(std::ostream& str) { str << '\n'; } +inline void serialize_newline(std::istream& str) { (void) str; } + +inline void serialize(std::ostream& str, bool x) { str << static_cast(x) << " "; } +inline void serialize(std::istream& str, bool& x) { unsigned v; str >> v; x = v; } +inline void serialize(std::ostream& str, char x) { str << static_cast(x) << " "; } +inline void serialize(std::istream& str, char& x) { int v; str >> v; x = v; } +inline void serialize(std::ostream& str, unsigned char x) { str << static_cast(x) << " "; } +inline void serialize(std::istream& str, unsigned char& x) { unsigned v; str >> v; x = v; } +inline void serialize(std::ostream& str, signed char x) { str << static_cast(x) << " "; } +inline void serialize(std::istream& str, signed char& x) { int v; str >> v; x = v; } +inline void serialize(std::ostream& str, short x) { str << x << " "; } +inline void serialize(std::istream& str, short& x) { str >> x; } +inline void serialize(std::ostream& str, unsigned short x) { str << x << " "; } +inline void serialize(std::istream& str, unsigned short& x) { str >> x; } +inline void serialize(std::ostream& str, int x) { str << x << " "; } +inline void serialize(std::istream& str, int& x) { str >> x; } +inline void serialize(std::ostream& str, unsigned int x) { str << x << " "; } +inline void serialize(std::istream& str, unsigned int& x) { str >> x; } +inline void serialize(std::ostream& str, long x) { str << x << " "; } +inline void serialize(std::istream& str, long& x) { str >> x; } +inline void serialize(std::ostream& str, unsigned long x) { str << x << " "; } +inline void serialize(std::istream& str, unsigned long& x) { str >> x; } +inline void serialize(std::ostream& str, long long x) { str << x << " "; } +inline void serialize(std::istream& str, long long& x) { str >> x; } +inline void serialize(std::ostream& str, unsigned long long x) { str << x << " "; } +inline void serialize(std::istream& str, unsigned long long& x) { str >> x; } +inline void serialize(std::ostream& str, float x) { str << x << " "; } +inline void serialize(std::istream& str, float& x) { str >> x; } +inline void serialize(std::ostream& str, double x) { str << x << " "; } +inline void serialize(std::istream& str, double& x) { str >> x; } +inline void serialize(std::ostream& str, const std::string& x) { str << x << " "; } +inline void serialize(std::istream& str, std::string& x) { str >> x; } + +template +void serialize(std::ostream& str, std::vector& x) +{ + serialize(str, x.size()); + serialize_newline(str); + + for (auto& item : x) { + serialize(str, item); + serialize_newline(str); + } +} + +template +void serialize(std::istream& str, std::vector& x, + size_t max_size = std::numeric_limits::max()) +{ + size_t new_size; + serialize(str, new_size); + + if (new_size > max_size) { + throw SaneException("Too large std::vector to deserialize"); + } + x.reserve(new_size); + for (size_t i = 0; i < new_size; ++i) { + T item; + serialize(str, item); + x.push_back(item); + } +} + +template +void serialize(std::ostream& str, std::array& x) +{ + serialize(str, x.size()); + serialize_newline(str); + + for (auto& item : x) { + serialize(str, item); + serialize_newline(str); + } +} + +template +void serialize(std::istream& str, std::array& x) +{ + size_t new_size; + serialize(str, new_size); + + if (new_size > Size) { + throw SaneException("Incorrect std::array size to deserialize"); + } + for (auto& item : x) { + serialize(str, item); + } +} + +} // namespace genesys + +#endif diff --git a/backend/genesys/settings.cpp b/backend/genesys/settings.cpp new file mode 100644 index 0000000..41c66de --- /dev/null +++ b/backend/genesys/settings.cpp @@ -0,0 +1,142 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "settings.h" +#include "utilities.h" +#include + +namespace genesys { + +std::ostream& operator<<(std::ostream& out, const Genesys_Settings& settings) +{ + StreamStateSaver state_saver{out}; + + out << "Genesys_Settings{\n" + << " xres: " << settings.xres << " yres: " << settings.yres << '\n' + << " lines: " << settings.lines << '\n' + << " pixels per line (actual): " << settings.pixels << '\n' + << " pixels per line (requested): " << settings.requested_pixels << '\n' + << " depth: " << settings.depth << '\n'; + auto prec = out.precision(); + out.precision(3); + out << " tl_x: " << settings.tl_x << " tl_y: " << settings.tl_y << '\n'; + out.precision(prec); + out << " scan_mode: " << settings.scan_mode << '\n' + << '}'; + return out; +} + +std::ostream& operator<<(std::ostream& out, const SetupParams& params) +{ + StreamStateSaver state_saver{out}; + + out << "SetupParams{\n" + << " xres: " << params.xres << " yres: " << params.yres << '\n' + << " lines: " << params.lines << '\n' + << " pixels per line (actual): " << params.pixels << '\n' + << " pixels per line (requested): " << params.requested_pixels << '\n' + << " depth: " << params.depth << '\n' + << " channels: " << params.channels << '\n' + << " startx: " << params.startx << " starty: " << params.starty << '\n' + << " scan_mode: " << params.scan_mode << '\n' + << " color_filter: " << params.color_filter << '\n' + << " flags: " << params.flags << '\n' + << "}"; + return out; +} + +std::ostream& operator<<(std::ostream& out, const ScanSession& session) +{ + out << "ScanSession{\n" + << " computed: " << session.computed << '\n' + << " hwdpi_divisor: " << session.hwdpi_divisor << '\n' + << " ccd_size_divisor: " << session.ccd_size_divisor << '\n' + << " optical_resolution: " << session.optical_resolution << '\n' + << " optical_pixels: " << session.optical_pixels << '\n' + << " optical_pixels_raw: " << session.optical_pixels_raw << '\n' + << " output_resolution: " << session.output_resolution << '\n' + << " output_pixels: " << session.output_pixels << '\n' + << " output_line_bytes: " << session.output_line_bytes << '\n' + << " output_line_bytes_raw: " << session.output_line_bytes_raw << '\n' + << " output_line_count: " << session.output_line_count << '\n' + << " num_staggered_lines: " << session.num_staggered_lines << '\n' + << " color_shift_lines_r: " << session.color_shift_lines_r << '\n' + << " color_shift_lines_g: " << session.color_shift_lines_g << '\n' + << " color_shift_lines_b: " << session.color_shift_lines_b << '\n' + << " max_color_shift_lines: " << session.max_color_shift_lines << '\n' + << " enable_ledadd: " << session.enable_ledadd << '\n' + << " segment_count: " << session.segment_count << '\n' + << " pixel_startx: " << session.pixel_startx << '\n' + << " pixel_endx: " << session.pixel_endx << '\n' + << " conseq_pixel_dist: " << session.conseq_pixel_dist << '\n' + << " output_segment_pixel_group_count: " + << session.output_segment_pixel_group_count << '\n' + << " buffer_size_read: " << session.buffer_size_read << '\n' + << " buffer_size_read: " << session.buffer_size_lines << '\n' + << " buffer_size_shrink: " << session.buffer_size_shrink << '\n' + << " buffer_size_out: " << session.buffer_size_out << '\n' + << " filters: " + << (session.pipeline_needs_reorder ? " reorder": "") + << (session.pipeline_needs_ccd ? " ccd": "") + << (session.pipeline_needs_shrink ? " shrink": "") << '\n' + << " params: " << format_indent_braced_list(4, session.params) << '\n' + << "}"; + return out; +} + +std::ostream& operator<<(std::ostream& out, const SANE_Parameters& params) +{ + out << "SANE_Parameters{\n" + << " format: " << static_cast(params.format) << '\n' + << " last_frame: " << params.last_frame << '\n' + << " bytes_per_line: " << params.bytes_per_line << '\n' + << " pixels_per_line: " << params.pixels_per_line << '\n' + << " lines: " << params.lines << '\n' + << " depth: " << params.depth << '\n' + << '}'; + return out; +} + +} // namespace genesys diff --git a/backend/genesys/settings.h b/backend/genesys/settings.h new file mode 100644 index 0000000..a697e60 --- /dev/null +++ b/backend/genesys/settings.h @@ -0,0 +1,328 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_SETTINGS_H +#define BACKEND_GENESYS_SETTINGS_H + +#include "enums.h" +#include "serialize.h" + +namespace genesys { + +struct Genesys_Settings +{ + ScanMethod scan_method = ScanMethod::FLATBED; + ScanColorMode scan_mode = ScanColorMode::LINEART; + + // horizontal dpi + unsigned xres = 0; + // vertical dpi + unsigned yres = 0; + + //x start on scan table in mm + double tl_x = 0; + // y start on scan table in mm + double tl_y = 0; + + // number of lines at scan resolution + unsigned int lines = 0; + // number of pixels expected from the scanner + unsigned int pixels = 0; + // number of pixels expected by the frontend + unsigned requested_pixels = 0; + + // bit depth of the scan + unsigned int depth = 0; + + ColorFilter color_filter = ColorFilter::NONE; + + // true if scan is true gray, false if monochrome scan + int true_gray = 0; + + // lineart threshold + int threshold = 0; + + // lineart threshold curve for dynamic rasterization + int threshold_curve = 0; + + // Disable interpolation for xres::max(); + + // resolution in x direction + unsigned xres = NOT_SET; + // resolution in y direction + unsigned yres = NOT_SET; + // start pixel in X direction, from dummy_pixel + 1 + unsigned startx = NOT_SET; + // start pixel in Y direction, counted according to base_ydpi + unsigned starty = NOT_SET; + // the number of pixels in X direction. Note that each logical pixel may correspond to more + // than one CCD pixel, see CKSEL and GenesysSensor::ccd_pixels_per_system_pixel() + unsigned pixels = NOT_SET; + + // the number of pixels in the X direction as requested by the frontend. This will be different + // from `pixels` if the X resolution requested by the frontend is different than the actual + // resolution. This is only needed to compute dev->total_bytes_to_read. If 0, then the value + // is the same as pixels. + // TODO: move the computation of total_bytes_to_read to a higher layer. + unsigned requested_pixels = 0; + + // the number of pixels in Y direction + unsigned lines = NOT_SET; + // the depth of the scan in bits. Allowed are 1, 8, 16 + unsigned depth = NOT_SET; + // the number of channels + unsigned channels = NOT_SET; + + ScanMethod scan_method = static_cast(NOT_SET); + + ScanColorMode scan_mode = static_cast(NOT_SET); + + ColorFilter color_filter = static_cast(NOT_SET); + + ScanFlag flags; + + unsigned get_requested_pixels() const + { + if (requested_pixels != 0) { + return requested_pixels; + } + return pixels; + } + + void assert_valid() const + { + if (xres == NOT_SET || yres == NOT_SET || startx == NOT_SET || starty == NOT_SET || + pixels == NOT_SET || lines == NOT_SET ||depth == NOT_SET || channels == NOT_SET || + scan_method == static_cast(NOT_SET) || + scan_mode == static_cast(NOT_SET) || + color_filter == static_cast(NOT_SET)) + { + throw std::runtime_error("SetupParams are not valid"); + } + } + + bool operator==(const SetupParams& other) const + { + return xres == other.xres && + yres == other.yres && + startx == other.startx && + starty == other.starty && + pixels == other.pixels && + requested_pixels == other.requested_pixels && + lines == other.lines && + depth == other.depth && + channels == other.channels && + scan_method == other.scan_method && + scan_mode == other.scan_mode && + color_filter == other.color_filter && + flags == other.flags; + } +}; + +std::ostream& operator<<(std::ostream& out, const SetupParams& params); + +template +void serialize(Stream& str, SetupParams& x) +{ + serialize(str, x.xres); + serialize(str, x.yres); + serialize(str, x.startx); + serialize(str, x.starty); + serialize(str, x.pixels); + serialize(str, x.requested_pixels); + serialize(str, x.lines); + serialize(str, x.depth); + serialize(str, x.channels); + serialize(str, x.scan_method); + serialize(str, x.scan_mode); + serialize(str, x.color_filter); + serialize(str, x.flags); +} + +struct ScanSession { + SetupParams params; + + // whether the session setup has been computed via compute_session() + bool computed = false; + + // specifies the reduction (if any) of hardware dpi on the Genesys chip side. + // except gl646 + unsigned hwdpi_divisor = 1; + + // specifies the reduction (if any) of CCD effective dpi which is performed by latching the + // data coming from CCD in such a way that 1/2 or 3/4 of pixel data is ignored. + unsigned ccd_size_divisor = 1; + + // the optical resolution of the scanner. + unsigned optical_resolution = 0; + + // the number of pixels at the optical resolution, not including segmentation overhead. + unsigned optical_pixels = 0; + + // the number of pixels at the optical resolution, including segmentation overhead. + // only on gl846, g847 + unsigned optical_pixels_raw = 0; + + // the resolution of the output data. + // gl843-only + unsigned output_resolution = 0; + + // the number of pixels in output data (after desegmentation) + unsigned output_pixels = 0; + + // the number of bytes in the output of a channel of a single line (after desegmentation) + unsigned output_channel_bytes = 0; + + // the number of bytes in the output of a single line (after desegmentation) + unsigned output_line_bytes = 0; + + // the number of bytes per line in the output data from the scanner (before desegmentation) + // Equal to output_line_bytes if sensor does not have segments + unsigned output_line_bytes_raw = 0; + + // the number of bytes per line as requested by the frontend + unsigned output_line_bytes_requested = 0; + + // the number of lines in the output of the scanner. This must be larger than the user + // requested number due to line staggering and color channel shifting. + unsigned output_line_count = 0; + + // the total number of bytes to read from the scanner (before desegmentation) + unsigned output_total_bytes_raw = 0; + + // the total number of bytes to read from the scanner (after desegmentation) + unsigned output_total_bytes = 0; + + // the number of staggered lines (i.e. lines that overlap during scanning due to line being + // thinner than the CCD element) + unsigned num_staggered_lines = 0; + + // the number of lines that color channels shift due to different physical positions of + // different color channels. + unsigned max_color_shift_lines = 0; + + // actual line shift of the red color + unsigned color_shift_lines_r = 0; + // actual line shift of the green color + unsigned color_shift_lines_g = 0; + // actual line shift of the blue color + unsigned color_shift_lines_b = 0; + + // the number of scanner segments used in the current scan + unsigned segment_count = 1; + + // the physical pixel positions that are sent to the registers + unsigned pixel_startx = 0; + unsigned pixel_endx = 0; + + // certain scanners require the logical pixel count to be multiplied on certain resolutions + unsigned pixel_count_multiplier = 1; + + // Distance in pixels between consecutive pixels, e.g. between odd and even pixels. Note that + // the number of segments can be large. + // only on gl124, gl846, gl847 + unsigned conseq_pixel_dist = 0; + + // The number of "even" pixels to scan. This corresponds to the number of pixels that will be + // scanned from a single segment + // only on gl124, gl846, gl847 + unsigned output_segment_pixel_group_count = 0; + + // The number of bytes to skip at start of line during desegmentation. + // Currently it's always zero. + unsigned output_segment_start_offset = 0; + + // the sizes of the corresponding buffers + size_t buffer_size_read = 0; + size_t buffer_size_lines = 0; + size_t buffer_size_shrink = 0; + size_t buffer_size_out = 0; + + // whether to enable ledadd functionality + bool enable_ledadd = false; + + // what pipeline modifications are needed + bool pipeline_needs_reorder = false; + bool pipeline_needs_ccd = false; + bool pipeline_needs_shrink = false; + + void assert_computed() const + { + if (!computed) { + throw std::runtime_error("ScanSession is not computed"); + } + } +}; + +std::ostream& operator<<(std::ostream& out, const ScanSession& session); + +std::ostream& operator<<(std::ostream& out, const SANE_Parameters& params); + +} // namespace genesys + +#endif // BACKEND_GENESYS_SETTINGS_H diff --git a/backend/genesys/static_init.cpp b/backend/genesys/static_init.cpp new file mode 100644 index 0000000..c0f3748 --- /dev/null +++ b/backend/genesys/static_init.cpp @@ -0,0 +1,70 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "static_init.h" +#include + +namespace genesys { + +static std::unique_ptr>> s_functions_run_at_backend_exit; + +void add_function_to_run_at_backend_exit(const std::function& function) +{ + if (!s_functions_run_at_backend_exit) + s_functions_run_at_backend_exit.reset(new std::vector>()); + s_functions_run_at_backend_exit->push_back(std::move(function)); +} + +void run_functions_at_backend_exit() +{ + for (auto it = s_functions_run_at_backend_exit->rbegin(); + it != s_functions_run_at_backend_exit->rend(); ++it) + { + (*it)(); + } + s_functions_run_at_backend_exit.reset(); +} + +} // namespace genesys diff --git a/backend/genesys/static_init.h b/backend/genesys/static_init.h new file mode 100644 index 0000000..3ffa62c --- /dev/null +++ b/backend/genesys/static_init.h @@ -0,0 +1,88 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_STATIC_INIT_H +#define BACKEND_GENESYS_STATIC_INIT_H + +#include +#include + +namespace genesys { + +void add_function_to_run_at_backend_exit(const std::function& function); + +// calls functions added via add_function_to_run_at_backend_exit() in reverse order of being +// added. +void run_functions_at_backend_exit(); + +template +class StaticInit { +public: + StaticInit() = default; + StaticInit(const StaticInit&) = delete; + StaticInit& operator=(const StaticInit&) = delete; + + template + void init(Args&& ... args) + { + ptr_ = std::unique_ptr(new T(std::forward(args)...)); + add_function_to_run_at_backend_exit([this](){ deinit(); }); + } + + void deinit() + { + ptr_.reset(); + } + + const T* operator->() const { return ptr_.get(); } + T* operator->() { return ptr_.get(); } + const T& operator*() const { return *ptr_.get(); } + T& operator*() { return *ptr_.get(); } + +private: + std::unique_ptr ptr_; +}; + +} // namespace genesys + +#endif // BACKEND_GENESYS_STATIC_INIT_H diff --git a/backend/genesys/status.cpp b/backend/genesys/status.cpp new file mode 100644 index 0000000..7f883b0 --- /dev/null +++ b/backend/genesys/status.cpp @@ -0,0 +1,66 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "status.h" +#include + +namespace genesys { + +std::ostream& operator<<(std::ostream& out, Status status) +{ + out << "Status{\n" + << " replugged: " << (status.is_replugged ? "yes" : "no") << '\n' + << " is_buffer_empty: " << (status.is_buffer_empty ? "yes" : "no") << '\n' + << " is_feeding_finished: " << (status.is_feeding_finished ? "yes" : "no") << '\n' + << " is_scanning_finished: " << (status.is_scanning_finished ? "yes" : "no") << '\n' + << " is_at_home: " << (status.is_at_home ? "yes" : "no") << '\n' + << " is_lamp_on: " << (status.is_lamp_on ? "yes" : "no") << '\n' + << " is_front_end_busy: " << (status.is_front_end_busy ? "yes" : "no") << '\n' + << " is_motor_enabled: " << (status.is_motor_enabled ? "yes" : "no") << '\n' + << "}\n"; + return out; +} + +} // namespace genesys diff --git a/backend/genesys/status.h b/backend/genesys/status.h new file mode 100644 index 0000000..91f4692 --- /dev/null +++ b/backend/genesys/status.h @@ -0,0 +1,68 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_STATUS_H +#define BACKEND_GENESYS_STATUS_H + +#include + +namespace genesys { + +/// Represents the scanner status register +struct Status +{ + bool is_replugged = false; + bool is_buffer_empty = false; + bool is_feeding_finished = false; + bool is_scanning_finished = false; + bool is_at_home = false; + bool is_lamp_on = false; + bool is_front_end_busy = false; + bool is_motor_enabled = false; +}; + +std::ostream& operator<<(std::ostream& out, Status status); + +} // namespace genesys + +#endif // BACKEND_GENESYS_STATUS_H diff --git a/backend/genesys/tables_frontend.cpp b/backend/genesys/tables_frontend.cpp new file mode 100644 index 0000000..1edf32f --- /dev/null +++ b/backend/genesys/tables_frontend.cpp @@ -0,0 +1,653 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "low.h" + +namespace genesys { + +StaticInit> s_frontends; + +void genesys_init_frontend_tables() +{ + s_frontends.init(); + + GenesysFrontendLayout wolfson_layout; + wolfson_layout.type = FrontendType::WOLFSON; + wolfson_layout.offset_addr = { 0x20, 0x21, 0x22 }; + wolfson_layout.gain_addr = { 0x28, 0x29, 0x2a }; + + GenesysFrontendLayout analog_devices; + analog_devices.type = FrontendType::ANALOG_DEVICES; + + + Genesys_Frontend fe; + fe.id = AdcId::WOLFSON_UMAX; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x11 }, + { 0x20, 0x80 }, + { 0x21, 0x80 }, + { 0x22, 0x80 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x02 }, + { 0x29, 0x02 }, + { 0x2a, 0x02 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::WOLFSON_ST12; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x03 }, + { 0x20, 0xc8 }, + { 0x21, 0xc8 }, + { 0x22, 0xc8 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x04 }, + { 0x29, 0x04 }, + { 0x2a, 0x04 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::WOLFSON_ST24; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x21 }, + { 0x20, 0xc8 }, + { 0x21, 0xc8 }, + { 0x22, 0xc8 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x06 }, + { 0x29, 0x06 }, + { 0x2a, 0x06 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::WOLFSON_5345; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x12 }, + { 0x20, 0xb8 }, + { 0x21, 0xb8 }, + { 0x22, 0xb8 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x04 }, + { 0x29, 0x04 }, + { 0x2a, 0x04 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + // reg3=0x02 for 50-600 dpi, 0x32 (0x12 also works well) at 1200 + fe = Genesys_Frontend(); + fe.id = AdcId::WOLFSON_HP2400; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x02 }, + { 0x20, 0xb4 }, + { 0x21, 0xb6 }, + { 0x22, 0xbc }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x06 }, + { 0x29, 0x09 }, + { 0x2a, 0x08 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::WOLFSON_HP2300; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x04 }, + { 0x03, 0x02 }, + { 0x20, 0xbe }, + { 0x21, 0xbe }, + { 0x22, 0xbe }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x04 }, + { 0x29, 0x04 }, + { 0x2a, 0x04 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::CANON_LIDE_35; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x3d }, + { 0x02, 0x08 }, + { 0x03, 0x00 }, + { 0x20, 0xe1 }, + { 0x21, 0xe1 }, + { 0x22, 0xe1 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x93 }, + { 0x29, 0x93 }, + { 0x2a, 0x93 }, + }; + fe.reg2 = {0x00, 0x19, 0x06}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::AD_XP200; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x58 }, + { 0x01, 0x80 }, + { 0x02, 0x00 }, + { 0x03, 0x00 }, + { 0x20, 0x09 }, + { 0x21, 0x09 }, + { 0x22, 0x09 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x09 }, + { 0x29, 0x09 }, + { 0x2a, 0x09 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::WOLFSON_XP300; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x35 }, + { 0x02, 0x20 }, + { 0x03, 0x14 }, + { 0x20, 0xe1 }, + { 0x21, 0xe1 }, + { 0x22, 0xe1 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x93 }, + { 0x29, 0x93 }, + { 0x2a, 0x93 }, + }; + fe.reg2 = {0x07, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::WOLFSON_HP3670; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x32 }, + { 0x20, 0xba }, + { 0x21, 0xb8 }, + { 0x22, 0xb8 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x06 }, + { 0x29, 0x05 }, + { 0x2a, 0x04 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::WOLFSON_DSM600; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x35 }, + { 0x02, 0x20 }, + { 0x03, 0x14 }, + { 0x20, 0x85 }, + { 0x21, 0x85 }, + { 0x22, 0x85 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0xa0 }, + { 0x29, 0xa0 }, + { 0x2a, 0xa0 }, + }; + fe.reg2 = {0x07, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::CANON_LIDE_200; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x9d }, + { 0x01, 0x91 }, + { 0x02, 0x00 }, + { 0x03, 0x00 }, + { 0x20, 0x00 }, + { 0x21, 0x3f }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x32 }, + { 0x29, 0x04 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::CANON_LIDE_700F; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x9d }, + { 0x01, 0x9e }, + { 0x02, 0x00 }, + { 0x03, 0x00 }, + { 0x20, 0x00 }, + { 0x21, 0x3f }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x2f }, + { 0x29, 0x04 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::KVSS080; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x23 }, + { 0x02, 0x24 }, + { 0x03, 0x0f }, + { 0x20, 0x80 }, + { 0x21, 0x80 }, + { 0x22, 0x80 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x4b }, + { 0x29, 0x4b }, + { 0x2a, 0x4b }, + }; + fe.reg2 = {0x00,0x00,0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::G4050; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x23 }, + { 0x02, 0x24 }, + { 0x03, 0x1f }, + { 0x20, 0x45 }, + { 0x21, 0x45 }, + { 0x22, 0x45 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x4b }, + { 0x29, 0x4b }, + { 0x2a, 0x4b }, + }; + fe.reg2 = {0x00,0x00,0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::CANON_LIDE_110; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x80 }, + { 0x01, 0x8a }, + { 0x02, 0x23 }, + { 0x03, 0x4c }, + { 0x20, 0x00 }, + { 0x21, 0x00 }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0xca }, + { 0x26, 0x94 }, + { 0x28, 0x00 }, + { 0x29, 0x00 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + /** @brief GL124 special case + * for GL124 based scanners, this struct is "abused" + * in fact the fields are map like below to AFE registers + * (from Texas Instrument or alike ?) + */ + fe = Genesys_Frontend(); + fe.id = AdcId::CANON_LIDE_120; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x80 }, + { 0x01, 0xa3 }, + { 0x02, 0x2b }, + { 0x03, 0x4c }, + { 0x20, 0x00 }, + { 0x21, 0x00 }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, // actual address 0x05 + { 0x25, 0xca }, // actual address 0x06 + { 0x26, 0x95 }, // actual address 0x07 + { 0x28, 0x00 }, + { 0x29, 0x00 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::PLUSTEK_OPTICPRO_3600; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x70 }, + { 0x01, 0x80 }, + { 0x02, 0x00 }, + { 0x03, 0x00 }, + { 0x20, 0x00 }, + { 0x21, 0x00 }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x3f }, + { 0x29, 0x3d }, + { 0x2a, 0x3d }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::PLUSTEK_OPTICFILM_7200I; + fe.layout = analog_devices; + fe.regs = { + { 0x00, 0xf8 }, + { 0x01, 0x80 }, + { 0x02, 0x0a }, + { 0x03, 0x06 }, + { 0x04, 0x0f }, + { 0x05, 0x56 }, + { 0x06, 0x64 }, + { 0x07, 0x56 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::PLUSTEK_OPTICFILM_7300; + fe.layout = analog_devices; + fe.regs = { + { 0x00, 0xf8 }, + { 0x01, 0x80 }, + { 0x02, 0x10 }, + { 0x03, 0x06 }, + { 0x04, 0x06 }, + { 0x05, 0x09 }, + { 0x06, 0x0a }, + { 0x07, 0x0102 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::PLUSTEK_OPTICFILM_7500I; + fe.layout = analog_devices; + fe.regs = { + { 0x00, 0xf8 }, + { 0x01, 0x80 }, + { 0x02, 0x1d }, + { 0x03, 0x17 }, + { 0x04, 0x13 }, + { 0x05, 0x00 }, + { 0x06, 0x00 }, + { 0x07, 0x0111 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::CANON_4400F; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x23 }, + { 0x02, 0x24 }, + { 0x03, 0x2f }, + { 0x20, 0x6d }, + { 0x21, 0x67 }, + { 0x22, 0x5b }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0xd8 }, + { 0x29, 0xd1 }, + { 0x2a, 0xb9 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::CANON_8400F; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x23 }, + { 0x02, 0x24 }, + { 0x03, 0x0f }, + { 0x20, 0x60 }, + { 0x21, 0x5c }, + { 0x22, 0x6c }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x8a }, + { 0x29, 0x9f }, + { 0x2a, 0xc2 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::CANON_8600F; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x23 }, + { 0x02, 0x24 }, + { 0x03, 0x2f }, + { 0x20, 0x67 }, + { 0x21, 0x69 }, + { 0x22, 0x68 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0xdb }, + { 0x29, 0xda }, + { 0x2a, 0xd7 }, + }; + fe.reg2 = { 0x00, 0x00, 0x00 }; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::IMG101; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x78 }, + { 0x01, 0xf0 }, + { 0x02, 0x00 }, + { 0x03, 0x00 }, + { 0x20, 0x00 }, + { 0x21, 0x00 }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x00 }, + { 0x29, 0x00 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + fe = Genesys_Frontend(); + fe.id = AdcId::PLUSTEK_OPTICBOOK_3800; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x78 }, + { 0x01, 0xf0 }, + { 0x02, 0x00 }, + { 0x03, 0x00 }, + { 0x20, 0x00 }, + { 0x21, 0x00 }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x00 }, + { 0x29, 0x00 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); + + + /* reg0: control 74 data, 70 no data + * reg3: offset + * reg6: gain + * reg0 , reg3, reg6 */ + fe = Genesys_Frontend(); + fe.id = AdcId::CANON_LIDE_80; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x70 }, + { 0x01, 0x16 }, + { 0x02, 0x60 }, + { 0x03, 0x00 }, + { 0x20, 0x00 }, + { 0x21, 0x00 }, + { 0x22, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x00 }, + { 0x29, 0x00 }, + { 0x2a, 0x00 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + s_frontends->push_back(fe); +} + +} // namespace genesys diff --git a/backend/genesys/tables_gpo.cpp b/backend/genesys/tables_gpo.cpp new file mode 100644 index 0000000..2c9ad5e --- /dev/null +++ b/backend/genesys/tables_gpo.cpp @@ -0,0 +1,415 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "low.h" + +namespace genesys { + +StaticInit> s_gpo; + +void genesys_init_gpo_tables() +{ + s_gpo.init(); + + Genesys_Gpo gpo; + gpo.id = GpioId::UMAX; + gpo.regs = { + { 0x66, 0x11 }, + { 0x67, 0x00 }, + { 0x68, 0x51 }, + { 0x69, 0x20 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::ST12; + gpo.regs = { + { 0x66, 0x11 }, + { 0x67, 0x00 }, + { 0x68, 0x51 }, + { 0x69, 0x20 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::ST24; + gpo.regs = { + { 0x66, 0x00 }, + { 0x67, 0x00 }, + { 0x68, 0x51 }, + { 0x69, 0x20 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::MD_5345; // bits 11-12 are for bipolar V-ref input voltage + gpo.regs = { + { 0x66, 0x30 }, + { 0x67, 0x18 }, + { 0x68, 0xa0 }, + { 0x69, 0x18 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::HP2400; + gpo.regs = { + { 0x66, 0x30 }, + { 0x67, 0x00 }, + { 0x68, 0x31 }, + { 0x69, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::HP2300; + gpo.regs = { + { 0x66, 0x00 }, + { 0x67, 0x00 }, + { 0x68, 0x00 }, + { 0x69, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::CANON_LIDE_35; + gpo.regs = { + { 0x6c, 0x02 }, + { 0x6d, 0x80 }, + { 0x6e, 0xef }, + { 0x6f, 0x80 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::XP200; + gpo.regs = { + { 0x66, 0x30 }, + { 0x67, 0x00 }, + { 0x68, 0xb0 }, + { 0x69, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::HP3670; + gpo.regs = { + { 0x66, 0x00 }, + { 0x67, 0x00 }, + { 0x68, 0x00 }, + { 0x69, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::XP300; + gpo.regs = { + { 0x6c, 0x09 }, + { 0x6d, 0xc6 }, + { 0x6e, 0xbb }, + { 0x6f, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::DP665; + gpo.regs = { + { 0x6c, 0x18 }, + { 0x6d, 0x00 }, + { 0x6e, 0xbb }, + { 0x6f, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::DP685; + gpo.regs = { + { 0x6c, 0x3f }, + { 0x6d, 0x46 }, + { 0x6e, 0xfb }, + { 0x6f, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::CANON_LIDE_200; + gpo.regs = { + { 0x6c, 0xfb }, // 0xfb when idle , 0xf9/0xe9 (1200) when scanning + { 0x6d, 0x20 }, + { 0x6e, 0xff }, + { 0x6f, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::CANON_LIDE_700F; + gpo.regs = { + { 0x6c, 0xdb }, + { 0x6d, 0xff }, + { 0x6e, 0xff }, + { 0x6f, 0x80 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::KVSS080; + gpo.regs = { + { 0x6c, 0xf5 }, + { 0x6d, 0x20 }, + { 0x6e, 0x7e }, + { 0x6f, 0xa1 }, + { 0xa6, 0x06 }, + { 0xa7, 0x0f }, + { 0xa8, 0x00 }, + { 0xa9, 0x08 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::G4050; + gpo.regs = { + { 0x6c, 0x20 }, + { 0x6d, 0x00 }, + { 0x6e, 0xfc }, + { 0x6f, 0x00 }, + { 0xa6, 0x08 }, + { 0xa7, 0x1e }, + { 0xa8, 0x3e }, + { 0xa9, 0x06 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::HP_N6310; + gpo.regs = { + { 0x6c, 0xa3 }, + { 0x6d, 0x00 }, + { 0x6e, 0x7f }, + { 0x6f, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::CANON_LIDE_110; + gpo.regs = { + { 0x6c, 0xfb }, + { 0x6d, 0x20 }, + { 0x6e, 0xff }, + { 0x6f, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::CANON_LIDE_120; + gpo.regs = { + { 0x6c, 0xfb }, + { 0x6d, 0x20 }, + { 0x6e, 0xff }, + { 0x6f, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::CANON_LIDE_210; + gpo.regs = { + { 0x6c, 0xfb }, + { 0x6d, 0x20 }, + { 0x6e, 0xff }, + { 0x6f, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::PLUSTEK_OPTICPRO_3600; + gpo.regs = { + { 0x6c, 0x02 }, + { 0x6d, 0x00 }, + { 0x6e, 0x1e }, + { 0x6f, 0x80 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::PLUSTEK_OPTICFILM_7200I; + gpo.regs = { + { 0x6c, 0x4c }, + { 0x6d, 0x80 }, + { 0x6e, 0x4c }, + { 0x6f, 0x80 }, + { 0xa6, 0x00 }, + { 0xa7, 0x07 }, + { 0xa8, 0x20 }, + { 0xa9, 0x01 }, + }; + s_gpo->push_back(gpo); + + gpo = Genesys_Gpo(); + gpo.id = GpioId::PLUSTEK_OPTICFILM_7300; + gpo.regs = { + { 0x6c, 0x4c }, + { 0x6d, 0x00 }, + { 0x6e, 0x4c }, + { 0x6f, 0x80 }, + { 0xa6, 0x00 }, + { 0xa7, 0x07 }, + { 0xa8, 0x20 }, + { 0xa9, 0x01 }, + }; + s_gpo->push_back(gpo); + + gpo = Genesys_Gpo(); + gpo.id = GpioId::PLUSTEK_OPTICFILM_7500I; + gpo.regs = { + { 0x6c, 0x4c }, + { 0x6d, 0x00 }, + { 0x6e, 0x4c }, + { 0x6f, 0x80 }, + { 0xa6, 0x00 }, + { 0xa7, 0x07 }, + { 0xa8, 0x20 }, + { 0xa9, 0x01 }, + }; + s_gpo->push_back(gpo); + + gpo = Genesys_Gpo(); + gpo.id = GpioId::CANON_4400F; + gpo.regs = { + { 0x6c, 0x01 }, + { 0x6d, 0x7f }, + { 0x6e, 0xff }, + { 0x6f, 0x00 }, + { 0xa6, 0x00 }, + { 0xa7, 0xff }, + { 0xa8, 0x07 }, + { 0xa9, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::CANON_8400F; + gpo.regs = { + { 0x6c, 0x9a }, + { 0x6d, 0xdf }, + { 0x6e, 0xfe }, + { 0x6f, 0x60 }, + { 0xa6, 0x00 }, + { 0xa7, 0x03 }, + { 0xa8, 0x00 }, + { 0xa9, 0x02 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::CANON_8600F; + gpo.regs = { + { 0x6c, 0x20 }, + { 0x6d, 0x7c }, + { 0x6e, 0xff }, + { 0x6f, 0x00 }, + { 0xa6, 0x00 }, + { 0xa7, 0xff }, + { 0xa8, 0x00 }, + { 0xa9, 0x00 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::IMG101; + gpo.regs = { + { 0x6c, 0x41 }, + { 0x6d, 0xa4 }, + { 0x6e, 0x13 }, + { 0x6f, 0xa7 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::PLUSTEK_OPTICBOOK_3800; + gpo.regs = { + { 0x6c, 0x41 }, + { 0x6d, 0xa4 }, + { 0x6e, 0x13 }, + { 0x6f, 0xa7 }, + }; + s_gpo->push_back(gpo); + + + gpo = Genesys_Gpo(); + gpo.id = GpioId::CANON_LIDE_80; + gpo.regs = { + { 0x6c, 0x28 }, + { 0x6d, 0x90 }, + { 0x6e, 0x75 }, + { 0x6f, 0x80 }, + }; + s_gpo->push_back(gpo); +} + +} // namespace genesys diff --git a/backend/genesys/tables_model.cpp b/backend/genesys/tables_model.cpp new file mode 100644 index 0000000..0b3a0af --- /dev/null +++ b/backend/genesys/tables_model.cpp @@ -0,0 +1,2958 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2003 Oliver Rauch + Copyright (C) 2003-2005 Henning Meier-Geinitz + Copyright (C) 2004, 2005 Gerhard Jaeger + Copyright (C) 2004-2013 Stéphane Voltz + Copyright (C) 2005-2009 Pierre Willenbrock + Copyright (C) 2007 Luke + Copyright (C) 2010 Jack McGill + Copyright (C) 2010 Andrey Loginov , + xerox travelscan device entry + Copyright (C) 2010 Chris Berry and Michael Rickmann + for Plustek Opticbook 3600 support + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "low.h" + +namespace genesys { + +StaticInit> s_usb_devices; + +void genesys_init_usb_device_tables() +{ + s_usb_devices.init(); + + Genesys_Model model; + model.name = "umax-astra-4500"; + model.vendor = "UMAX"; + model.model = "Astra 4500"; + model.model_id = ModelId::UMAX_ASTRA_4500; + model.asic_type = AsicType::GL646; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 300, 150, 75 }, + { 2400, 1200, 600, 300, 150, 75 } + } + }; + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 3.5; + model.y_offset = 7.5; + model.x_size = 218.0; + model.y_size = 299.0; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 1.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 8; + model.ld_shift_b = 16; + + model.line_mode_color_order = ColorOrder::BGR; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_UMAX; + model.adc_id = AdcId::WOLFSON_UMAX; + model.gpio_id = GpioId::UMAX; + model.motor_id = MotorId::UMAX; + model.flags = GENESYS_FLAG_UNTESTED; + model.buttons = GENESYS_HAS_NO_BUTTONS; + model.shading_lines = 20; + model.shading_ta_lines = 0; + model.search_lines = 200; + + s_usb_devices->emplace_back(0x0638, 0x0a10, model); + + + model = Genesys_Model(); + model.name = "canon-lide-50"; + model.vendor = "Canon"; + model.model = "LiDE 35/40/50"; + model.model_id = ModelId::CANON_LIDE_50; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 300, 200, 150, 75 }, + { 2400, 1200, 600, 300, 200, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.42; + model.y_offset = 7.9; + model.x_size = 218.0; + model.y_size = 299.0; + + model.y_offset_calib_white = 6.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = false; + model.sensor_id = SensorId::CIS_CANON_LIDE_35; + model.adc_id = AdcId::CANON_LIDE_35; + model.gpio_id = GpioId::CANON_LIDE_35; + model.motor_id = MotorId::CANON_LIDE_35; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_WHITE_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | + GENESYS_HAS_FILE_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_COPY_SW; + model.shading_lines = 280; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a9, 0x2213, model); + + + model = Genesys_Model(); + model.name = "panasonic-kv-ss080"; + model.vendor = "Panasonic"; + model.model = "KV-SS080"; + model.model_id = ModelId::PANASONIC_KV_SS080; + model.asic_type = AsicType::GL843; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, /* 500, 400,*/ 300, 200, 150, 100, 75 }, + { 1200, 600, /* 500, 400, */ 300, 200, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 7.2; + model.y_offset = 14.7; + model.x_size = 217.7; + model.y_size = 300.0; + + model.y_offset_calib_white = 9.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 0.0; + model.y_size_ta = 0.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 8; + model.ld_shift_b = 16; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_KVSS080; + model.adc_id = AdcId::KVSS080; + model.gpio_id = GpioId::KVSS080; + model.motor_id = MotorId::KVSS080; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 100; + + s_usb_devices->emplace_back(0x04da, 0x100f, model); + + + model = Genesys_Model(); + model.name = "hewlett-packard-scanjet-4850c"; + model.vendor = "Hewlett Packard"; + model.model = "ScanJet 4850C"; + model.model_id = ModelId::HP_SCANJET_4850C; + model.asic_type = AsicType::GL843; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 2400, 1200, 600, 400, 300, 200, 150, 100 }, + { 2400, 1200, 600, 400, 300, 200, 150, 100 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 7.9; + model.y_offset = 10.0; + model.x_size = 219.6; + model.y_size = 314.5; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 24; + model.ld_shift_b = 48; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_HP_4850C; + model.adc_id = AdcId::G4050; + model.gpio_id = GpioId::G4050; + model.motor_id = MotorId::G4050; + model.flags = GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_SHADING_REPARK | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 100; + s_usb_devices->emplace_back(0x03f0, 0x1b05, model); + + + model = Genesys_Model(); + model.name = "hewlett-packard-scanjet-g4010"; + model.vendor = "Hewlett Packard"; + model.model = "ScanJet G4010"; + model.model_id = ModelId::HP_SCANJET_G4010; + model.asic_type = AsicType::GL843; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 2400, 1200, 600, 400, 300, 200, 150, 100 }, + { 2400, 1200, 600, 400, 300, 200, 150, 100 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 8.0; + model.y_offset = 13.00; + model.x_size = 217.9; + model.y_size = 315.0; + + model.y_offset_calib_white = 3.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 24; + model.ld_shift_b = 48; + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_G4050; + model.adc_id = AdcId::G4050; + model.gpio_id = GpioId::G4050; + model.motor_id = MotorId::G4050; + model.flags = GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 100; + + s_usb_devices->emplace_back(0x03f0, 0x4505, model); + + + model = Genesys_Model(); + model.name = "hewlett-packard-scanjet-g4050"; + model.vendor = "Hewlett Packard"; + model.model = "ScanJet G4050"; + model.model_id = ModelId::HP_SCANJET_G4050; + model.asic_type = AsicType::GL843; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 2400, 1200, 600, 400, 300, 200, 150, 100 }, + { 2400, 1200, 600, 400, 300, 200, 150, 100 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 8.0; + model.y_offset = 10.00; + model.x_size = 217.9; + model.y_size = 315.0; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 8.0; + model.y_offset_ta = 13.00; + model.x_size_ta = 217.9; + model.y_size_ta = 250.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 40.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 24; + model.ld_shift_b = 48; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_G4050; + model.adc_id = AdcId::G4050; + model.gpio_id = GpioId::G4050; + model.motor_id = MotorId::G4050; + model.flags = GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 100; + + s_usb_devices->emplace_back(0x03f0, 0x4605, model); + + + model = Genesys_Model(); + model.name = "canon-canoscan-4400f"; + model.vendor = "Canon"; + model.model = "Canoscan 4400f"; + model.model_id = ModelId::CANON_4400F; + model.asic_type = AsicType::GL843; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 300 }, + { 1200, 600, 300 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 6.0; + model.y_offset = 12.00; + model.x_size = 215.9; + model.y_size = 297.0; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 8.0; + model.y_offset_ta = 13.00; + model.x_size_ta = 217.9; + model.y_size_ta = 250.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 40.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 96; + model.ld_shift_g = 48; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_CANON_4400F; + model.adc_id = AdcId::CANON_4400F; + model.gpio_id = GpioId::CANON_4400F; + model.motor_id = MotorId::CANON_4400F; + model.flags = GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_FULL_HWDPI_MODE | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_SHADING_REPARK; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 100; + + s_usb_devices->emplace_back(0x04a9, 0x2228, model); + + + model = Genesys_Model(); + model.name = "canon-canoscan-8400f"; + model.vendor = "Canon"; + model.model = "Canoscan 8400f"; + model.model_id = ModelId::CANON_8400F; + model.asic_type = AsicType::GL843; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 3200, 1600, 800, 400 }, + { 3200, 1600, 800, 400 }, + }, { + { ScanMethod::TRANSPARENCY }, + { 3200, 1600, 800, 400 }, + { 3200, 1600, 800, 400 }, + }, { + { ScanMethod::TRANSPARENCY_INFRARED }, + { 3200, 1600, 800, 400 }, + { 3200, 1600, 800, 400 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 3.5; + model.y_offset = 17.00; + model.x_size = 219.9; + model.y_size = 300.0; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 10.0; + + model.x_offset_ta = 75.0; + model.y_offset_ta = 45.00; + model.x_size_ta = 75.0; + model.y_size_ta = 230.0; + + model.y_offset_sensor_to_ta = 22.0; + model.y_offset_calib_white_ta = 25.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 24; + model.ld_shift_b = 48; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_CANON_8400F; + model.adc_id = AdcId::CANON_8400F; + model.gpio_id = GpioId::CANON_8400F; + model.motor_id = MotorId::CANON_8400F; + model.flags = GENESYS_FLAG_HAS_UTA | + GENESYS_FLAG_HAS_UTA_INFRARED | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_FULL_HWDPI_MODE | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_SHADING_REPARK; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW; + model.shading_lines = 100; + model.shading_ta_lines = 50; + model.search_lines = 100; + + s_usb_devices->emplace_back(0x04a9, 0x221e, model); + + + model = Genesys_Model(); + model.name = "canon-canoscan-8600f"; + model.vendor = "Canon"; + model.model = "Canoscan 8600f"; + model.model_id = ModelId::CANON_8600F; + model.asic_type = AsicType::GL843; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 300 }, + { 1200, 600, 300 }, + }, { + { ScanMethod::TRANSPARENCY, ScanMethod::TRANSPARENCY_INFRARED }, + { 4800, 2400, 1200, 600, 300 }, + { 4800, 2400, 1200, 600, 300 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 24.0; + model.y_offset = 10.0; + model.x_size = 216.0; + model.y_size = 297.0; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 8.0; + + model.x_offset_ta = 85.0; + model.y_offset_ta = 26.0; + model.x_size_ta = 70.0; + model.y_size_ta = 230.0; + + model.y_offset_sensor_to_ta = 11.5; + model.y_offset_calib_white_ta = 14.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 48; + model.ld_shift_b = 96; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_CANON_8600F; + model.adc_id = AdcId::CANON_8600F; + model.gpio_id = GpioId::CANON_8600F; + model.motor_id = MotorId::CANON_8600F; + model.flags = GENESYS_FLAG_HAS_UTA | + GENESYS_FLAG_HAS_UTA_INFRARED | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_FULL_HWDPI_MODE | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_SHADING_REPARK; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW; + model.shading_lines = 50; + model.shading_ta_lines = 50; + model.search_lines = 100; + + s_usb_devices->emplace_back(0x04a9, 0x2229, model); + + + model = Genesys_Model(); + model.name = "canon-lide-100"; + model.vendor = "Canon"; + model.model = "LiDE 100"; + model.model_id = ModelId::CANON_LIDE_100; + model.asic_type = AsicType::GL847; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 2400, 1200, 600, 300, 200, 150, 100, 75 }, + { 4800, 2400, 1200, 600, 300, 200, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 1.1; + model.y_offset = 8.3; + model.x_size = 216.07; + model.y_size = 299.0; + + model.y_offset_calib_white = 1.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = false; + model.sensor_id = SensorId::CIS_CANON_LIDE_100; + model.adc_id = AdcId::CANON_LIDE_200; + model.gpio_id = GpioId::CANON_LIDE_200; + model.motor_id = MotorId::CANON_LIDE_100; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_SIS_SENSOR | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_SHADING_REPARK | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | + GENESYS_HAS_COPY_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_FILE_SW; + model.shading_lines = 50; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a9, 0x1904, model); + + + model = Genesys_Model(); + model.name = "canon-lide-110"; + model.vendor = "Canon"; + model.model = "LiDE 110"; + model.model_id = ModelId::CANON_LIDE_110; + model.asic_type = AsicType::GL124; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75 }, + { 4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 2.2; + model.y_offset = 9.0; + model.x_size = 216.70; + model.y_size = 300.0; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = false; + model.sensor_id = SensorId::CIS_CANON_LIDE_110; + model.adc_id = AdcId::CANON_LIDE_110; + model.gpio_id = GpioId::CANON_LIDE_110; + model.motor_id = MotorId::CANON_LIDE_110; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_SHADING_REPARK | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | + GENESYS_HAS_COPY_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_FILE_SW; + model.shading_lines = 25; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a9, 0x1909, model); + + + model = Genesys_Model(); + model.name = "canon-lide-120"; + model.vendor = "Canon"; + model.model = "LiDE 120"; + model.model_id = ModelId::CANON_LIDE_120; + model.asic_type = AsicType::GL124; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 2400, 1200, 600, 300, 150, 100, 75 }, + { 4800, 2400, 1200, 600, 300, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.0; + model.y_offset = 8.0; + model.x_size = 216.0; + model.y_size = 300.0; + + model.y_offset_calib_white = 1.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + model.line_mode_color_order = ColorOrder::RGB; + model.is_cis = true; + model.is_sheetfed = false; + model.sensor_id = SensorId::CIS_CANON_LIDE_120; + model.adc_id = AdcId::CANON_LIDE_120; + model.gpio_id = GpioId::CANON_LIDE_120; + model.motor_id = MotorId::CANON_LIDE_120; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_SHADING_REPARK | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | + GENESYS_HAS_COPY_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_FILE_SW; + model.shading_lines = 50; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a9, 0x190e, model); + + + model = Genesys_Model(); + model.name = "canon-lide-210"; + model.vendor = "Canon"; + model.model = "LiDE 210"; + model.model_id = ModelId::CANON_LIDE_210; + model.asic_type = AsicType::GL124; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + // BUG: 4800 resolution crashes + { /*4800,*/ 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75 }, + { /*4800,*/ 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 2.2; + model.y_offset = 8.7; + model.x_size = 216.70; + model.y_size = 297.5; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = false; + model.sensor_id = SensorId::CIS_CANON_LIDE_210; + model.adc_id = AdcId::CANON_LIDE_110; + model.gpio_id = GpioId::CANON_LIDE_210; + model.motor_id = MotorId::CANON_LIDE_210; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_SHADING_REPARK | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | + GENESYS_HAS_COPY_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_FILE_SW | + GENESYS_HAS_EXTRA_SW; + model.shading_lines = 60; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a9, 0x190a, model); + + + model = Genesys_Model(); + model.name = "canon-lide-220"; + model.vendor = "Canon"; + model.model = "LiDE 220"; + model.model_id = ModelId::CANON_LIDE_220; + model.asic_type = AsicType::GL124; // or a compatible one + + model.resolutions = { + { + { ScanMethod::FLATBED }, + // BUG: 4800 resolution crashes + { /*4800,*/ 2400, 1200, 600, 300, 150, 100, 75 }, + { /*4800,*/ 2400, 1200, 600, 300, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 2.2; + model.y_offset = 8.7; + model.x_size = 216.70; + model.y_size = 297.5; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + model.is_cis = true; + model.is_sheetfed = false; + model.sensor_id = SensorId::CIS_CANON_LIDE_220; + model.adc_id = AdcId::CANON_LIDE_110; + model.gpio_id = GpioId::CANON_LIDE_210; + model.motor_id = MotorId::CANON_LIDE_210; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_SHADING_REPARK | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | + GENESYS_HAS_COPY_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_FILE_SW | + GENESYS_HAS_EXTRA_SW; + model.shading_lines = 60; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a9, 0x190f, model); + + + model = Genesys_Model(); + model.name = "canon-5600f"; + model.vendor = "Canon"; + model.model = "5600F"; + model.model_id = ModelId::CANON_5600F; + model.asic_type = AsicType::GL847; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 75 }, + { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 1.1; + model.y_offset = 8.3; + model.x_size = 216.07; + model.y_size = 299.0; + + model.y_offset_calib_white = 3.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = false; + model.sensor_id = SensorId::CIS_CANON_LIDE_200; + model.adc_id = AdcId::CANON_LIDE_200; + model.gpio_id = GpioId::CANON_LIDE_200; + model.motor_id = MotorId::CANON_LIDE_200; + model.flags = GENESYS_FLAG_UNTESTED | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_SIS_SENSOR | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | + GENESYS_HAS_COPY_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_FILE_SW; + model.shading_lines = 50; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a9, 0x1906, model); + + + model = Genesys_Model(); + model.name = "canon-lide-700f"; + model.vendor = "Canon"; + model.model = "LiDE 700F"; + model.model_id = ModelId::CANON_LIDE_700F; + model.asic_type = AsicType::GL847; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 4800, 2400, 1200, 600, 300, 200, 150, 100, 75 }, + { 4800, 2400, 1200, 600, 300, 200, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 3.1; + model.y_offset = 8.1; + model.x_size = 216.07; + model.y_size = 297.0; + + model.y_offset_calib_white = 1.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = false; + model.sensor_id = SensorId::CIS_CANON_LIDE_700F; + model.adc_id = AdcId::CANON_LIDE_700F; + model.gpio_id = GpioId::CANON_LIDE_700F; + model.motor_id = MotorId::CANON_LIDE_700; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_SIS_SENSOR | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_SHADING_REPARK | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | + GENESYS_HAS_COPY_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_FILE_SW; + model.shading_lines = 70; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a9, 0x1907, model); + + + model = Genesys_Model(); + model.name = "canon-lide-200"; + model.vendor = "Canon"; + model.model = "LiDE 200"; + model.model_id = ModelId::CANON_LIDE_200; + model.asic_type = AsicType::GL847; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 4800, 2400, 1200, 600, 300, 200, 150, 100, 75 }, + { 4800, 2400, 1200, 600, 300, 200, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 1.1; + model.y_offset = 8.3; + model.x_size = 216.07; + model.y_size = 299.0; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + model.is_cis = true; + model.is_sheetfed = false; + model.sensor_id = SensorId::CIS_CANON_LIDE_200; + model.adc_id = AdcId::CANON_LIDE_200; + model.gpio_id = GpioId::CANON_LIDE_200; + model.motor_id = MotorId::CANON_LIDE_200; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_SIS_SENSOR | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_SHADING_REPARK | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | + GENESYS_HAS_COPY_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_FILE_SW; + model.shading_lines = 50; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a9, 0x1905, model); + + + model = Genesys_Model(); + model.name = "canon-lide-60"; + model.vendor = "Canon"; + model.model = "LiDE 60"; + model.model_id = ModelId::CANON_LIDE_60; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 300, 150, 75 }, + { 2400, 1200, 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.42; + model.y_offset = 7.9; + model.x_size = 218.0; + model.y_size = 299.0; + + model.y_offset_calib_white = 6.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = false; + model.sensor_id = SensorId::CIS_CANON_LIDE_35; + model.adc_id = AdcId::CANON_LIDE_35; + model.gpio_id = GpioId::CANON_LIDE_35; + model.motor_id = MotorId::CANON_LIDE_35; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_WHITE_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + + model.buttons = GENESYS_HAS_COPY_SW | + GENESYS_HAS_SCAN_SW | + GENESYS_HAS_FILE_SW | + GENESYS_HAS_EMAIL_SW; + model.shading_lines = 300; + model.shading_ta_lines = 0; + model.search_lines = 400; + // this is completely untested + s_usb_devices->emplace_back(0x04a9, 0x221c, model); + + + model = Genesys_Model(); + model.name = "canon-lide-80"; + model.vendor = "Canon"; + model.model = "LiDE 80"; + model.model_id = ModelId::CANON_LIDE_80; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 300, 150, 100, 75 }, + { 2400, 1200, 600, 300, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + model.x_offset = 0.42; + model.y_offset = 7.90; + model.x_size = 216.07; + model.y_size = 299.0; + + model.y_offset_calib_white = 4.5; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = false; + model.sensor_id = SensorId::CIS_CANON_LIDE_80; + model.adc_id = AdcId::CANON_LIDE_80; + model.gpio_id = GpioId::CANON_LIDE_80; + model.motor_id = MotorId::CANON_LIDE_80; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_WHITE_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | + GENESYS_HAS_FILE_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_COPY_SW; + model.shading_lines = 160; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a9, 0x2214, model); + + + model = Genesys_Model(); + model.name = "hewlett-packard-scanjet-2300c"; + model.vendor = "Hewlett Packard"; + model.model = "ScanJet 2300c"; + model.model_id = ModelId::HP_SCANJET_2300C; + model.asic_type = AsicType::GL646; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 150, 75 }, + { 1200, 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 2.0; + model.y_offset = 7.5; + model.x_size = 215.9; + model.y_size = 295.0; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 1.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 16; + model.ld_shift_g = 8; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_HP2300; + model.adc_id = AdcId::WOLFSON_HP2300; + model.gpio_id = GpioId::HP2300; + model.motor_id = MotorId::HP2300; + model.flags = GENESYS_FLAG_14BIT_GAMMA | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_SEARCH_START | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW; + model.shading_lines = 40; + model.shading_ta_lines = 0; + model.search_lines = 132; + + s_usb_devices->emplace_back(0x03f0, 0x0901, model); + + + model = Genesys_Model(); + model.name = "hewlett-packard-scanjet-2400c"; + model.vendor = "Hewlett Packard"; + model.model = "ScanJet 2400c"; + model.model_id = ModelId::HP_SCANJET_2400C; + model.asic_type = AsicType::GL646; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 300, 150, 100, 50 }, + { 1200, 600, 300, 150, 100, 50 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 6.5; + model.y_offset = 2.5; + model.x_size = 220.0; + model.y_size = 297.2; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 1.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 24; + model.ld_shift_b = 48; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_HP2400; + model.adc_id = AdcId::WOLFSON_HP2400; + model.gpio_id = GpioId::HP2400; + model.motor_id = MotorId::HP2400; + model.flags = GENESYS_FLAG_14BIT_GAMMA | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW; + model.shading_lines = 20; + model.shading_ta_lines = 0; + model.search_lines = 132; + + s_usb_devices->emplace_back(0x03f0, 0x0a01, model); + + + model = Genesys_Model(); + model.name = "visioneer-strobe-xp200"; + model.vendor = "Visioneer"; + model.model = "Strobe XP200"; + model.model_id = ModelId::VISIONEER_STROBE_XP200; + model.asic_type = AsicType::GL646; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 200, 100, 75 }, + { 600, 300, 200, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.5; + model.y_offset = 16.0; + model.x_size = 215.9; + model.y_size = 297.2; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = true; + model.sensor_id = SensorId::CIS_XP200; + model.adc_id = AdcId::AD_XP200; + model.gpio_id = GpioId::XP200; + model.motor_id = MotorId::XP200; + model.flags = GENESYS_FLAG_14BIT_GAMMA | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_OFFSET_CALIBRATION; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; + model.shading_lines = 120; + model.shading_ta_lines = 0; + model.search_lines = 132; + + s_usb_devices->emplace_back(0x04a7, 0x0426, model); + + + model = Genesys_Model(); + model.name = "hewlett-packard-scanjet-3670"; + model.vendor = "Hewlett Packard"; + model.model = "ScanJet 3670"; + model.model_id = ModelId::HP_SCANJET_3670; + model.asic_type = AsicType::GL646; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 300, 150, 100, 75, 50 }, + { 1200, 600, 300, 150, 100, 75, 50 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 8.5; + model.y_offset = 11.0; + model.x_size = 215.9; + model.y_size = 300.0; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 1.0; + + model.x_offset_ta = 104.0; + model.y_offset_ta = 55.6; + model.x_size_ta = 25.6; + model.y_size_ta = 78.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 76.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 24; + model.ld_shift_b = 48; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_HP3670; + model.adc_id = AdcId::WOLFSON_HP3670; + model.gpio_id = GpioId::HP3670; + model.motor_id = MotorId::HP3670; + model.flags = GENESYS_FLAG_14BIT_GAMMA | + GENESYS_FLAG_XPA | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW; + model.shading_lines = 20; + model.shading_ta_lines = 0; + model.search_lines = 200; + + s_usb_devices->emplace_back(0x03f0, 0x1405, model); + + + model = Genesys_Model(); + model.name = "plustek-opticpro-st12"; + model.vendor = "Plustek"; + model.model = "OpticPro ST12"; + model.model_id = ModelId::PLUSTEK_OPTICPRO_ST12; + model.asic_type = AsicType::GL646; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 150, 75 }, + { 1200, 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 3.5; + model.y_offset = 7.5; + model.x_size = 218.0; + model.y_size = 299.0; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 1.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 8; + model.ld_shift_b = 16; + + model.line_mode_color_order = ColorOrder::BGR; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_ST12; + model.adc_id = AdcId::WOLFSON_ST12; + model.gpio_id = GpioId::ST12; + model.motor_id = MotorId::UMAX; + model.flags = GENESYS_FLAG_UNTESTED | GENESYS_FLAG_14BIT_GAMMA; + model.buttons = GENESYS_HAS_NO_BUTTONS; + model.shading_lines = 20; + model.shading_ta_lines = 0; + model.search_lines = 200; + + s_usb_devices->emplace_back(0x07b3, 0x0600, model); + + model = Genesys_Model(); + model.name = "plustek-opticpro-st24"; + model.vendor = "Plustek"; + model.model = "OpticPro ST24"; + model.model_id = ModelId::PLUSTEK_OPTICPRO_ST24; + model.asic_type = AsicType::GL646; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 300, 150, 75 }, + { 2400, 1200, 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 3.5; + model.y_offset = 7.5; + model.x_size = 218.0; + model.y_size = 299.0; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 1.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 8; + model.ld_shift_b = 16; + + model.line_mode_color_order = ColorOrder::BGR; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_ST24; + model.adc_id = AdcId::WOLFSON_ST24; + model.gpio_id = GpioId::ST24; + model.motor_id = MotorId::ST24; + model.flags = GENESYS_FLAG_UNTESTED | + GENESYS_FLAG_14BIT_GAMMA | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_SEARCH_START | + GENESYS_FLAG_OFFSET_CALIBRATION; + model.buttons = GENESYS_HAS_NO_BUTTONS; + model.shading_lines = 20; + model.shading_ta_lines = 0; + model.search_lines = 200; + + s_usb_devices->emplace_back(0x07b3, 0x0601, model); + + model = Genesys_Model(); + model.name = "medion-md5345-model"; + model.vendor = "Medion"; + model.model = "MD5345/MD6228/MD6471"; + model.model_id = ModelId::MEDION_MD5345; + model.asic_type = AsicType::GL646; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 400, 300, 200, 150, 100, 75, 50 }, + { 2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.30; + model.y_offset = 0.80; + model.x_size = 220.0; + model.y_size = 296.4; + + model.y_offset_calib_white = 0.00; + model.x_offset_calib_black = 0.00; + + model.x_offset_ta = 0.00; + model.y_offset_ta = 0.00; + model.x_size_ta = 0.00; + model.y_size_ta = 0.00; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.00; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 48; + model.ld_shift_g = 24; + model.ld_shift_b = 0; + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_5345; + model.adc_id = AdcId::WOLFSON_5345; + model.gpio_id = GpioId::MD_5345; + model.motor_id = MotorId::MD_5345; + model.flags = GENESYS_FLAG_14BIT_GAMMA | + GENESYS_FLAG_SEARCH_START | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_SHADING_NO_MOVE | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_COPY_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_POWER_SW | + GENESYS_HAS_OCR_SW | + GENESYS_HAS_SCAN_SW; + model.shading_lines = 40; + model.shading_ta_lines = 0; + model.search_lines = 200; + + s_usb_devices->emplace_back(0x0461, 0x0377, model); + + model = Genesys_Model(); + model.name = "visioneer-strobe-xp300"; + model.vendor = "Visioneer"; + model.model = "Strobe XP300"; + model.model_id = ModelId::VISIONEER_STROBE_XP300; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 150, 75 }, + { 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.0; + model.y_offset = 1.0; + model.x_size = 435.0; + model.y_size = 511; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 26.5; + // this is larger than needed -- accounts for second sensor head, which is a calibration item + model.eject_feed = 0.0; + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = true; + model.sensor_id = SensorId::CCD_XP300; + model.adc_id = AdcId::WOLFSON_XP300; + model.gpio_id = GpioId::XP300; + model.motor_id = MotorId::XP300; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a7, 0x0474, model); + + model = Genesys_Model(); + model.name = "syscan-docketport-665"; + model.vendor = "Syscan/Ambir"; + model.model = "DocketPORT 665"; + model.model_id = ModelId::SYSCAN_DOCKETPORT_665; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 150, 75 }, + { 1200, 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.0; + model.y_offset = 0.0; + model.x_size = 108.0; + model.y_size = 511; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 17.5; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = true; + model.sensor_id = SensorId::CCD_DP665; + model.adc_id = AdcId::WOLFSON_XP300; + model.gpio_id = GpioId::DP665; + model.motor_id = MotorId::DP665; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x0a82, 0x4803, model); + + model = Genesys_Model(); + model.name = "visioneer-roadwarrior"; + model.vendor = "Visioneer"; + model.model = "Readwarrior"; + model.model_id = ModelId::VISIONEER_ROADWARRIOR; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 150, 75 }, + { 1200, 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.0; + model.y_offset = 0.0; + model.x_size = 220.0; + model.y_size = 511; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 16.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = true; + model.sensor_id = SensorId::CCD_ROADWARRIOR; + model.adc_id = AdcId::WOLFSON_XP300; + model.gpio_id = GpioId::DP665; + model.motor_id = MotorId::ROADWARRIOR; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_DARK_CALIBRATION; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a7, 0x0494, model); + + model = Genesys_Model(); + model.name = "syscan-docketport-465"; + model.vendor = "Syscan"; + model.model = "DocketPORT 465"; + model.model_id = ModelId::SYSCAN_DOCKETPORT_465; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 150, 75 }, + { 1200, 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.0; + model.y_offset = 0.0; + model.x_size = 220.0; + model.y_size = 511; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 16.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = true; + model.sensor_id = SensorId::CCD_ROADWARRIOR; + model.adc_id = AdcId::WOLFSON_XP300; + model.gpio_id = GpioId::DP665; + model.motor_id = MotorId::ROADWARRIOR; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_NO_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_UNTESTED; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW; + model.shading_lines = 300; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x0a82, 0x4802, model); + + + model = Genesys_Model(); + model.name = "visioneer-xp100-revision3"; + model.vendor = "Visioneer"; + model.model = "XP100 Revision 3"; + model.model_id = ModelId::VISIONEER_STROBE_XP100_REVISION3; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 150, 75 }, + { 1200, 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.0; + model.y_offset = 0.0; + model.x_size = 220.0; + model.y_size = 511; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 16.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = true; + model.sensor_id = SensorId::CCD_ROADWARRIOR; + model.adc_id = AdcId::WOLFSON_XP300; + model.gpio_id = GpioId::DP665; + model.motor_id = MotorId::ROADWARRIOR; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_DARK_CALIBRATION; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a7, 0x049b, model); + + model = Genesys_Model(); + model.name = "pentax-dsmobile-600"; + model.vendor = "Pentax"; + model.model = "DSmobile 600"; + model.model_id = ModelId::PENTAX_DSMOBILE_600; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 150, 75 }, + { 1200, 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.0; + model.y_offset = 0.0; + model.x_size = 220.0; + model.y_size = 511; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 16.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = true; + model.sensor_id = SensorId::CCD_DSMOBILE600; + model.adc_id = AdcId::WOLFSON_DSM600; + model.gpio_id = GpioId::DP665; + model.motor_id = MotorId::DSMOBILE_600; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_DARK_CALIBRATION; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x0a17, 0x3210, model); + // clone, only usb id is different + s_usb_devices->emplace_back(0x04f9, 0x2038, model); + + model = Genesys_Model(); + model.name = "syscan-docketport-467"; + model.vendor = "Syscan"; + model.model = "DocketPORT 467"; + model.model_id = ModelId::SYSCAN_DOCKETPORT_467; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 150, 75 }, + { 1200, 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.0; + model.y_offset = 0.0; + model.x_size = 220.0; + model.y_size = 511; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 16.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = true; + model.sensor_id = SensorId::CCD_DSMOBILE600; + model.adc_id = AdcId::WOLFSON_DSM600; + model.gpio_id = GpioId::DP665; + model.motor_id = MotorId::DSMOBILE_600; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_DARK_CALIBRATION; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x1dcc, 0x4812, model); + + model = Genesys_Model(); + model.name = "syscan-docketport-685"; + model.vendor = "Syscan/Ambir"; + model.model = "DocketPORT 685"; + model.model_id = ModelId::SYSCAN_DOCKETPORT_685; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 150, 75 }, + { 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.0; + model.y_offset = 1.0; + model.x_size = 212.0; + model.y_size = 500; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 26.5; + // this is larger than needed -- accounts for second sensor head, which is a calibration item + model.eject_feed = 0.0; + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = true; + model.sensor_id = SensorId::CCD_DP685; + model.adc_id = AdcId::WOLFSON_DSM600; + model.gpio_id = GpioId::DP685; + model.motor_id = MotorId::XP300; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_DARK_CALIBRATION; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 400; + + + s_usb_devices->emplace_back(0x0a82, 0x480c, model); + + + model = Genesys_Model(); + model.name = "syscan-docketport-485"; + model.vendor = "Syscan/Ambir"; + model.model = "DocketPORT 485"; + model.model_id = ModelId::SYSCAN_DOCKETPORT_485; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 150, 75 }, + { 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.0; + model.y_offset = 1.0; + model.x_size = 435.0; + model.y_size = 511; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 26.5; + // this is larger than needed -- accounts for second sensor head, which is a calibration item + model.eject_feed = 0.0; + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = true; + model.sensor_id = SensorId::CCD_XP300; + model.adc_id = AdcId::WOLFSON_XP300; + model.gpio_id = GpioId::XP300; + model.motor_id = MotorId::XP300; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_DARK_CALIBRATION; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x0a82, 0x4800, model); + + + model = Genesys_Model(); + model.name = "dct-docketport-487"; + model.vendor = "DCT"; + model.model = "DocketPORT 487"; + model.model_id = ModelId::DCT_DOCKETPORT_487; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 150, 75 }, + { 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.0; + model.y_offset = 1.0; + model.x_size = 435.0; + model.y_size = 511; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 26.5; + // this is larger than needed -- accounts for second sensor head, which is a calibration item + model.eject_feed = 0.0; + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = true; + model.sensor_id = SensorId::CCD_XP300; + model.adc_id = AdcId::WOLFSON_XP300; + model.gpio_id = GpioId::XP300; + model.motor_id = MotorId::XP300; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_UNTESTED; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x1dcc, 0x4810, model); + + + model = Genesys_Model(); + model.name = "visioneer-7100-model"; + model.vendor = "Visioneer"; + model.model = "OneTouch 7100"; + model.model_id = ModelId::VISIONEER_7100; + model.asic_type = AsicType::GL646; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 400, 300, 200, 150, 100, 75, 50 }, + { 2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 4.00; + model.y_offset = 0.80; + model.x_size = 215.9; + model.y_size = 296.4; + + model.y_offset_calib_white = 0.00; + model.x_offset_calib_black = 0.00; + + model.x_offset_ta = 0.00; + model.y_offset_ta = 0.00; + model.x_size_ta = 0.00; + model.y_size_ta = 0.00; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.00; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 48; + model.ld_shift_g = 24; + model.ld_shift_b = 0; + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_5345; + model.adc_id = AdcId::WOLFSON_5345; + model.gpio_id = GpioId::MD_5345; + model.motor_id = MotorId::MD_5345; + model.flags = GENESYS_FLAG_14BIT_GAMMA | + GENESYS_FLAG_SEARCH_START | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_COPY_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_POWER_SW | + GENESYS_HAS_OCR_SW | + GENESYS_HAS_SCAN_SW; + model.shading_lines = 40; + model.shading_ta_lines = 0; + model.search_lines = 200; + + s_usb_devices->emplace_back(0x04a7, 0x0229, model); + + + model = Genesys_Model(); + model.name = "xerox-2400-model"; + model.vendor = "Xerox"; + model.model = "OneTouch 2400"; + model.model_id = ModelId::XEROX_2400; + model.asic_type = AsicType::GL646; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 400, 300, 200, 150, 100, 75, 50 }, + { 2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 4.00; + model.y_offset = 0.80; + model.x_size = 215.9; + model.y_size = 296.4; + + model.y_offset_calib_white = 0.00; + model.x_offset_calib_black = 0.00; + + model.x_offset_ta = 0.00; + model.y_offset_ta = 0.00; + model.x_size_ta = 0.00; + model.y_size_ta = 0.00; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.00; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 48; + model.ld_shift_g = 24; + model.ld_shift_b = 0; + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_5345; + model.adc_id = AdcId::WOLFSON_5345; + model.gpio_id = GpioId::MD_5345; + model.motor_id = MotorId::MD_5345; + model.flags = GENESYS_FLAG_14BIT_GAMMA | + GENESYS_FLAG_SEARCH_START | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_COPY_SW | + GENESYS_HAS_EMAIL_SW | + GENESYS_HAS_POWER_SW | + GENESYS_HAS_OCR_SW | + GENESYS_HAS_SCAN_SW; + model.shading_lines = 40; + model.shading_ta_lines = 0; + model.search_lines = 200; + + s_usb_devices->emplace_back(0x0461, 0x038b, model); + + + model = Genesys_Model(); + model.name = "xerox-travelscanner"; + model.vendor = "Xerox"; + model.model = "Travelscanner 100"; + model.model_id = ModelId::XEROX_TRAVELSCANNER_100; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 600, 300, 150, 75 }, + { 1200, 600, 300, 150, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 4.0; + model.y_offset = 0.0; + model.x_size = 220.0; + model.y_size = 511; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 16.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = true; + model.is_sheetfed = true; + model.sensor_id = SensorId::CCD_ROADWARRIOR; + model.adc_id = AdcId::WOLFSON_XP300; + model.gpio_id = GpioId::DP665; + model.motor_id = MotorId::ROADWARRIOR; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_DARK_CALIBRATION; + model.buttons = GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 400; + + s_usb_devices->emplace_back(0x04a7, 0x04ac, model); + + + model = Genesys_Model(); + model.name = "plustek-opticbook-3600"; + model.vendor = "PLUSTEK"; + model.model = "OpticBook 3600"; + model.model_id = ModelId::PLUSTEK_OPTICPRO_3600; + model.asic_type = AsicType::GL841; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { /*1200,*/ 600, 400, 300, 200, 150, 100, 75 }, + { /*2400,*/ 1200, 600, 400, 300, 200, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 0.42; + model.y_offset = 6.75; + model.x_size = 216.0; + model.y_size = 297.0; + + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 0.0; + model.y_size_ta = 0.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 24; + model.ld_shift_b = 48; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_PLUSTEK_OPTICPRO_3600; + model.adc_id = AdcId::PLUSTEK_OPTICPRO_3600; + model.gpio_id = GpioId::PLUSTEK_OPTICPRO_3600; + model.motor_id = MotorId::PLUSTEK_OPTICPRO_3600; + model.flags = GENESYS_FLAG_UNTESTED | // not fully working yet + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_OFFSET_CALIBRATION; + model.buttons = GENESYS_HAS_NO_BUTTONS; + model.shading_lines = 7; + model.shading_ta_lines = 0; + model.search_lines = 200; + + s_usb_devices->emplace_back(0x07b3, 0x0900, model); + + + model = Genesys_Model(); + model.name = "plustek-opticfilm-7200i"; + model.vendor = "PLUSTEK"; + model.model = "OpticFilm 7200i"; + model.model_id = ModelId::PLUSTEK_OPTICFILM_7200I; + model.asic_type = AsicType::GL843; + + model.resolutions = { + { + { ScanMethod::TRANSPARENCY, ScanMethod::TRANSPARENCY_INFRARED }, + { 7200, 3600, 1800, 900 }, + { 7200, 3600, 1800, 900 }, + } + }; + + model.bpp_gray_values = { 16 }; + model.bpp_color_values = { 16 }; + model.default_method = ScanMethod::TRANSPARENCY; + + model.x_offset = 0.0; + model.y_offset = 0.0; + model.x_size = 36.0; + model.y_size = 44.0; + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 6.5; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 29.0; + model.x_size_ta = 36.0; + model.y_size_ta = 24.0; + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_black_ta = 6.5; + model.y_offset_calib_white_ta = 0.0; + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 12; + model.ld_shift_b = 24; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + + model.sensor_id = SensorId::CCD_PLUSTEK_OPTICFILM_7200I; + model.adc_id = AdcId::PLUSTEK_OPTICFILM_7200I; + model.gpio_id = GpioId::PLUSTEK_OPTICFILM_7200I; + model.motor_id = MotorId::PLUSTEK_OPTICFILM_7200I; + + model.flags = GENESYS_FLAG_HAS_UTA | + GENESYS_FLAG_HAS_UTA_INFRARED | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_HAS_NO_BUTTONS | + GENESYS_FLAG_SHADING_REPARK | + GENESYS_FLAG_CALIBRATION_HOST_SIDE | + GENESYS_FLAG_16BIT_DATA_INVERTED; + + model.shading_lines = 7; + model.shading_ta_lines = 50; + model.search_lines = 200; + s_usb_devices->emplace_back(0x07b3, 0x0c04, model); + + + model = Genesys_Model(); + model.name = "plustek-opticfilm-7300"; + model.vendor = "PLUSTEK"; + model.model = "OpticFilm 7300"; + model.model_id = ModelId::PLUSTEK_OPTICFILM_7300; + model.asic_type = AsicType::GL843; + + model.resolutions = { + { + { ScanMethod::TRANSPARENCY }, + { 7200, 3600, 1800, 900 }, + { 7200, 3600, 1800, 900 }, + } + }; + + model.bpp_gray_values = { 16 }; + model.bpp_color_values = { 16 }; + model.default_method = ScanMethod::TRANSPARENCY; + + model.x_offset = 0.0; + model.y_offset = 0.0; + model.x_size = 36.0; + model.y_size = 44.0; + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 6.5; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 29.0; + model.x_size_ta = 36.0; + model.y_size_ta = 24.0; + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_black_ta = 6.5; + model.y_offset_calib_white_ta = 0.0; + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 12; + model.ld_shift_b = 24; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + + model.sensor_id = SensorId::CCD_PLUSTEK_OPTICFILM_7300; + model.adc_id = AdcId::PLUSTEK_OPTICFILM_7300; + model.gpio_id = GpioId::PLUSTEK_OPTICFILM_7300; + model.motor_id = MotorId::PLUSTEK_OPTICFILM_7300; + + model.flags = GENESYS_FLAG_HAS_UTA | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_HAS_NO_BUTTONS | + GENESYS_FLAG_SHADING_REPARK | + GENESYS_FLAG_CALIBRATION_HOST_SIDE; + + model.shading_lines = 7; + model.shading_ta_lines = 50; + model.search_lines = 200; + s_usb_devices->emplace_back(0x07b3, 0x0c12, model); + + + model = Genesys_Model(); + model.name = "plustek-opticfilm-7500i"; + model.vendor = "PLUSTEK"; + model.model = "OpticFilm 7500i"; + model.model_id = ModelId::PLUSTEK_OPTICFILM_7500I; + model.asic_type = AsicType::GL843; + + model.resolutions = { + { + { ScanMethod::TRANSPARENCY, ScanMethod::TRANSPARENCY_INFRARED }, + { 7200, 3600, 1800, 900 }, + { 7200, 3600, 1800, 900 }, + } + }; + + model.bpp_gray_values = { 16 }; + model.bpp_color_values = { 16 }; + model.default_method = ScanMethod::TRANSPARENCY; + + model.x_offset = 0.0; + model.y_offset = 0.0; + model.x_size = 36.0; + model.y_size = 44.0; + model.y_offset_calib_white = 0.0; + model.x_offset_calib_black = 6.5; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 29.0; + model.x_size_ta = 36.0; + model.y_size_ta = 24.0; + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_black_ta = 6.5; + model.y_offset_calib_white_ta = 0.0; + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 12; + model.ld_shift_b = 24; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + + model.sensor_id = SensorId::CCD_PLUSTEK_OPTICFILM_7500I; + model.adc_id = AdcId::PLUSTEK_OPTICFILM_7500I; + model.gpio_id = GpioId::PLUSTEK_OPTICFILM_7500I; + model.motor_id = MotorId::PLUSTEK_OPTICFILM_7500I; + + model.flags = GENESYS_FLAG_HAS_UTA | + GENESYS_FLAG_HAS_UTA_INFRARED | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_HAS_NO_BUTTONS | + GENESYS_FLAG_SHADING_REPARK | + GENESYS_FLAG_CALIBRATION_HOST_SIDE; + + model.shading_lines = 7; + model.shading_ta_lines = 50; + model.search_lines = 200; + s_usb_devices->emplace_back(0x07b3, 0x0c13, model); + + + model = Genesys_Model(); + model.name = "hewlett-packard-scanjet-N6310"; + model.vendor = "Hewlett Packard"; + model.model = "ScanJet N6310"; + model.model_id = ModelId::HP_SCANJET_N6310; + model.asic_type = AsicType::GL847; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 2400, 1200, 600, 400, 300, 200, 150, 100, 75 }, + { 2400, 1200, 600, 400, 300, 200, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 6; + model.y_offset = 2; + model.x_size = 216; + model.y_size = 511; + + model.y_offset_calib_white = 3.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 100.0; + model.y_size_ta = 100.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0; + + model.post_scan = 0; + model.eject_feed = 0; + + model.ld_shift_r = 0; + model.ld_shift_g = 0; + model.ld_shift_b = 0; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_HP_N6310; + model.adc_id = AdcId::CANON_LIDE_200; // Not defined yet for N6310 + model.gpio_id = GpioId::HP_N6310; + model.motor_id = MotorId::CANON_LIDE_200; // Not defined yet for N6310 + model.flags = GENESYS_FLAG_UNTESTED | + GENESYS_FLAG_14BIT_GAMMA | + GENESYS_FLAG_DARK_CALIBRATION | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_NO_CALIBRATION; + + model.buttons = GENESYS_HAS_NO_BUTTONS; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 100; + + s_usb_devices->emplace_back(0x03f0, 0x4705, model); + + + model = Genesys_Model(); + model.name = "plustek-opticbook-3800"; + model.vendor = "PLUSTEK"; + model.model = "OpticBook 3800"; + model.model_id = ModelId::PLUSTEK_OPTICBOOK_3800; + model.asic_type = AsicType::GL845; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 300, 150, 100, 75 }, + { 1200, 600, 300, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 7.2; + model.y_offset = 14.7; + model.x_size = 217.7; + model.y_size = 300.0; + + model.y_offset_calib_white = 9.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 0.0; + model.y_size_ta = 0.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 24; + model.ld_shift_b = 48; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_PLUSTEK_OPTICBOOK_3800; + model.adc_id = AdcId::PLUSTEK_OPTICBOOK_3800; + model.gpio_id = GpioId::PLUSTEK_OPTICBOOK_3800; + model.motor_id = MotorId::PLUSTEK_OPTICBOOK_3800; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA; + model.buttons = GENESYS_HAS_NO_BUTTONS; // TODO there are 4 buttons to support + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 100; + + s_usb_devices->emplace_back(0x07b3, 0x1300, model); + + + model = Genesys_Model(); + model.name = "canon-image-formula-101"; + model.vendor = "Canon"; + model.model = "Image Formula 101"; + model.model_id = ModelId::CANON_IMAGE_FORMULA_101; + model.asic_type = AsicType::GL846; + + model.resolutions = { + { + { ScanMethod::FLATBED }, + { 1200, 600, 300, 150, 100, 75 }, + { 1200, 600, 300, 150, 100, 75 }, + } + }; + + model.bpp_gray_values = { 8, 16 }; + model.bpp_color_values = { 8, 16 }; + + model.x_offset = 7.2; + model.y_offset = 14.7; + model.x_size = 217.7; + model.y_size = 300.0; + + model.y_offset_calib_white = 9.0; + model.x_offset_calib_black = 0.0; + + model.x_offset_ta = 0.0; + model.y_offset_ta = 0.0; + model.x_size_ta = 0.0; + model.y_size_ta = 0.0; + + model.y_offset_sensor_to_ta = 0.0; + model.y_offset_calib_white_ta = 0.0; + + model.post_scan = 0.0; + model.eject_feed = 0.0; + + model.ld_shift_r = 0; + model.ld_shift_g = 24; + model.ld_shift_b = 48; + + model.line_mode_color_order = ColorOrder::RGB; + + model.is_cis = false; + model.is_sheetfed = false; + model.sensor_id = SensorId::CCD_IMG101; + model.adc_id = AdcId::IMG101; + model.gpio_id = GpioId::IMG101; + model.motor_id = MotorId::IMG101; + model.flags = GENESYS_FLAG_SKIP_WARMUP | + GENESYS_FLAG_OFFSET_CALIBRATION | + GENESYS_FLAG_CUSTOM_GAMMA | + GENESYS_FLAG_UNTESTED; + model.buttons = GENESYS_HAS_NO_BUTTONS ; + model.shading_lines = 100; + model.shading_ta_lines = 0; + model.search_lines = 100; + + s_usb_devices->emplace_back(0x1083, 0x162e, model); + } + +} // namespace genesys diff --git a/backend/genesys/tables_motor.cpp b/backend/genesys/tables_motor.cpp new file mode 100644 index 0000000..2484d2d --- /dev/null +++ b/backend/genesys/tables_motor.cpp @@ -0,0 +1,325 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "low.h" + +namespace genesys { + +StaticInit> s_motors; + +void genesys_init_motor_tables() +{ + s_motors.init(); + + Genesys_Motor motor; + motor.id = MotorId::UMAX; + motor.base_ydpi = 1200; + motor.optical_ydpi = 2400; + motor.slopes.push_back(MotorSlope::create_from_steps(11000, 3000, 128)); + motor.slopes.push_back(MotorSlope::create_from_steps(11000, 3000, 128)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::MD_5345; // MD5345/6228/6471 + motor.base_ydpi = 1200; + motor.optical_ydpi = 2400; + motor.slopes.push_back(MotorSlope::create_from_steps(2000, 1375, 128)); + motor.slopes.push_back(MotorSlope::create_from_steps(2000, 1375, 128)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::ST24; + motor.base_ydpi = 2400; + motor.optical_ydpi = 2400; + motor.slopes.push_back(MotorSlope::create_from_steps(2289, 2100, 128)); + motor.slopes.push_back(MotorSlope::create_from_steps(2289, 2100, 128)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::HP3670; + motor.base_ydpi = 1200; + motor.optical_ydpi = 1200; + motor.slopes.push_back(MotorSlope::create_from_steps(11000, 3000, 128)); + motor.slopes.push_back(MotorSlope::create_from_steps(11000, 3000, 128)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::HP2400; + motor.base_ydpi = 1200; + motor.optical_ydpi = 1200; + motor.slopes.push_back(MotorSlope::create_from_steps(11000, 3000, 128)); + motor.slopes.push_back(MotorSlope::create_from_steps(11000, 3000, 128)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::HP2300; + motor.base_ydpi = 600; + motor.optical_ydpi = 1200; + motor.slopes.push_back(MotorSlope::create_from_steps(3200, 1200, 128)); + motor.slopes.push_back(MotorSlope::create_from_steps(3200, 1200, 128)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::CANON_LIDE_35; + motor.base_ydpi = 1200; + motor.optical_ydpi = 2400; + motor.slopes.push_back(MotorSlope::create_from_steps(3500, 1300, 60)); + motor.slopes.push_back(MotorSlope::create_from_steps(3500, 1400, 60)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::XP200; + motor.base_ydpi = 600; + motor.optical_ydpi = 600; + motor.slopes.push_back(MotorSlope::create_from_steps(3500, 1300, 60)); + motor.slopes.push_back(MotorSlope::create_from_steps(3500, 1300, 60)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::XP300; + motor.base_ydpi = 300; + motor.optical_ydpi = 600; + // works best with GPIO10, GPIO14 off + motor.slopes.push_back(MotorSlope::create_from_steps(3700, 3700, 2)); + motor.slopes.push_back(MotorSlope::create_from_steps(11000, 11000, 2)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::DP665; + motor.base_ydpi = 750; + motor.optical_ydpi = 1500; + motor.slopes.push_back(MotorSlope::create_from_steps(3000, 2500, 10)); + motor.slopes.push_back(MotorSlope::create_from_steps(11000, 11000, 2)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::ROADWARRIOR; + motor.base_ydpi = 750; + motor.optical_ydpi = 1500; + motor.slopes.push_back(MotorSlope::create_from_steps(3000, 2600, 10)); + motor.slopes.push_back(MotorSlope::create_from_steps(11000, 11000, 2)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::DSMOBILE_600; + motor.base_ydpi = 750; + motor.optical_ydpi = 1500; + motor.slopes.push_back(MotorSlope::create_from_steps(6666, 3700, 8)); + motor.slopes.push_back(MotorSlope::create_from_steps(6666, 3700, 8)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::CANON_LIDE_100; + motor.base_ydpi = 1200; + motor.optical_ydpi = 6400; + motor.slopes.push_back(MotorSlope::create_from_steps(3000, 1000, 127)); + motor.slopes.push_back(MotorSlope::create_from_steps(3000, 1500, 127)); + motor.slopes.push_back(MotorSlope::create_from_steps(3 * 2712, 3 * 2712, 16)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::CANON_LIDE_200; + motor.base_ydpi = 1200; + motor.optical_ydpi = 6400; + motor.slopes.push_back(MotorSlope::create_from_steps(3000, 1000, 127)); + motor.slopes.push_back(MotorSlope::create_from_steps(3000, 1500, 127)); + motor.slopes.push_back(MotorSlope::create_from_steps(3 * 2712, 3 * 2712, 16)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::CANON_LIDE_700; + motor.base_ydpi = 1200; + motor.optical_ydpi = 6400; + motor.slopes.push_back(MotorSlope::create_from_steps(3000, 1000, 127)); + motor.slopes.push_back(MotorSlope::create_from_steps(3000, 1500, 127)); + motor.slopes.push_back(MotorSlope::create_from_steps(3 * 2712, 3 * 2712, 16)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::KVSS080; + motor.base_ydpi = 1200; + motor.optical_ydpi = 1200; + motor.slopes.push_back(MotorSlope::create_from_steps(22222, 500, 246)); + motor.slopes.push_back(MotorSlope::create_from_steps(22222, 500, 246)); + motor.slopes.push_back(MotorSlope::create_from_steps(22222, 500, 246)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::G4050; + motor.base_ydpi = 2400; + motor.optical_ydpi = 9600; + motor.slopes.push_back(MotorSlope::create_from_steps(3961, 240, 246)); + motor.slopes.push_back(MotorSlope::create_from_steps(3961, 240, 246)); + motor.slopes.push_back(MotorSlope::create_from_steps(3961, 240, 246)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::CANON_4400F; + motor.base_ydpi = 2400; + motor.optical_ydpi = 9600; + motor.slopes.push_back(MotorSlope::create_from_steps(3961, 240, 246)); + motor.slopes.push_back(MotorSlope::create_from_steps(3961, 240, 246)); + motor.slopes.push_back(MotorSlope::create_from_steps(3961, 240, 246)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::CANON_8400F; + motor.base_ydpi = 1600; + motor.optical_ydpi = 6400; + motor.slopes.push_back(MotorSlope::create_from_steps(3961, 240, 246)); + motor.slopes.push_back(MotorSlope::create_from_steps(3961, 240, 246)); + motor.slopes.push_back(MotorSlope::create_from_steps(3961, 240, 246)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::CANON_8600F; + motor.base_ydpi = 2400; + motor.optical_ydpi = 9600; + motor.slopes.push_back(MotorSlope::create_from_steps(3961, 240, 246)); + motor.slopes.push_back(MotorSlope::create_from_steps(3961, 240, 246)); + motor.slopes.push_back(MotorSlope::create_from_steps(3961, 240, 246)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::CANON_LIDE_110; + motor.base_ydpi = 4800; + motor.optical_ydpi = 9600; + motor.slopes.push_back(MotorSlope::create_from_steps(3000, 1000, 256)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::CANON_LIDE_120; + motor.base_ydpi = 4800; + motor.optical_ydpi = 9600; + motor.slopes.push_back(MotorSlope::create_from_steps(3000, 1000, 256)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::CANON_LIDE_210; + motor.base_ydpi = 4800; + motor.optical_ydpi = 9600; + motor.slopes.push_back(MotorSlope::create_from_steps(3000, 1000, 256)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::PLUSTEK_OPTICPRO_3600; + motor.base_ydpi = 1200; + motor.optical_ydpi = 2400; + motor.slopes.push_back(MotorSlope::create_from_steps(3500, 1300, 60)); + motor.slopes.push_back(MotorSlope::create_from_steps(3500, 3250, 60)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::PLUSTEK_OPTICFILM_7200I; + motor.base_ydpi = 3600; + motor.optical_ydpi = 3600; + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::PLUSTEK_OPTICFILM_7300; + motor.base_ydpi = 3600; + motor.optical_ydpi = 3600; + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::PLUSTEK_OPTICFILM_7500I; + motor.base_ydpi = 3600; + motor.optical_ydpi = 3600; + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::IMG101; + motor.base_ydpi = 600; + motor.optical_ydpi = 1200; + motor.slopes.push_back(MotorSlope::create_from_steps(3500, 1300, 60)); + motor.slopes.push_back(MotorSlope::create_from_steps(3500, 3250, 60)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::PLUSTEK_OPTICBOOK_3800; + motor.base_ydpi = 600; + motor.optical_ydpi = 1200; + motor.slopes.push_back(MotorSlope::create_from_steps(3500, 1300, 60)); + motor.slopes.push_back(MotorSlope::create_from_steps(3500, 3250, 60)); + s_motors->push_back(std::move(motor)); + + + motor = Genesys_Motor(); + motor.id = MotorId::CANON_LIDE_80; + motor.base_ydpi = 2400; + motor.optical_ydpi = 4800; // 9600 + motor.slopes.push_back(MotorSlope::create_from_steps(9560, 1912, 31)); + s_motors->push_back(std::move(motor)); +} + +} // namespace genesys diff --git a/backend/genesys/tables_motor_profile.cpp b/backend/genesys/tables_motor_profile.cpp new file mode 100644 index 0000000..18f7271 --- /dev/null +++ b/backend/genesys/tables_motor_profile.cpp @@ -0,0 +1,380 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "low.h" + +namespace genesys { + +StaticInit> gl843_motor_profiles; + +void genesys_init_motor_profile_tables_gl843() +{ + gl843_motor_profiles.init(); + + auto profile = Motor_Profile(); + profile.motor_id = MotorId::KVSS080; + profile.exposure = 8000; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(44444, 500, 489); + gl843_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::G4050; + profile.exposure = 8016; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(7842, 320, 602); + gl843_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::G4050; + profile.exposure = 15624; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(9422, 254, 1004); + gl843_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::G4050; + profile.exposure = 42752; + profile.step_type = StepType::QUARTER; + profile.slope = MotorSlope::create_from_steps(42752, 1706, 610); + gl843_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::G4050; + profile.exposure = 56064; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(28032, 2238, 604); + gl843_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_4400F; + profile.exposure = 11640; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(49152, 484, 1014); + gl843_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_8400F; + profile.exposure = 50000; + profile.step_type = StepType::QUARTER; + profile.slope = MotorSlope::create_from_steps(8743, 300, 794); + gl843_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_8600F; + profile.exposure = 0x59d8; + profile.step_type = StepType::QUARTER; + // FIXME: if the exposure is lower then we'll select another motor + profile.slope = MotorSlope::create_from_steps(54612, 1500, 219); + gl843_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::PLUSTEK_OPTICFILM_7200I; + profile.exposure = 0; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(39682, 1191, 15); + gl843_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::PLUSTEK_OPTICFILM_7300; + profile.exposure = 0x2f44; + profile.step_type = StepType::QUARTER; + profile.slope = MotorSlope::create_from_steps(31250, 1512, 6); + gl843_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::PLUSTEK_OPTICFILM_7500I; + profile.exposure = 0; + profile.step_type = StepType::QUARTER; + profile.slope = MotorSlope::create_from_steps(31250, 1375, 7); + gl843_motor_profiles->push_back(profile); +} + +StaticInit> gl846_motor_profiles; + +void genesys_init_motor_profile_tables_gl846() +{ + gl846_motor_profiles.init(); + + auto profile = Motor_Profile(); + profile.motor_id = MotorId::IMG101; + profile.exposure = 11000; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(22000, 1000, 1017); + + gl846_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::PLUSTEK_OPTICBOOK_3800; + profile.exposure = 11000; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(22000, 1000, 1017); + gl846_motor_profiles->push_back(profile); +} + +/** + * database of motor profiles + */ + +StaticInit> gl847_motor_profiles; + +void genesys_init_motor_profile_tables_gl847() +{ + gl847_motor_profiles.init(); + + auto profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_100; + profile.exposure = 2848; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(46876, 534, 255); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_100; + profile.exposure = 1424; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(46876, 534, 255); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_100; + profile.exposure = 1432; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(46876, 534, 255); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_100; + profile.exposure = 2712; + profile.step_type = StepType::QUARTER; + profile.slope = MotorSlope::create_from_steps(46876, 534, 279); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_100; + profile.exposure = 5280; + profile.step_type = StepType::EIGHTH; + profile.slope = MotorSlope::create_from_steps(31680, 534, 247); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_200; + profile.exposure = 2848; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(46876, 534, 255); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_200; + profile.exposure = 1424; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(46876, 534, 255); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_200; + profile.exposure = 1432; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(46876, 534, 255); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_200; + profile.exposure = 2712; + profile.step_type = StepType::QUARTER; + profile.slope = MotorSlope::create_from_steps(46876, 534, 279); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_200; + profile.exposure = 5280; + profile.step_type = StepType::EIGHTH; + profile.slope = MotorSlope::create_from_steps(31680, 534, 247); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_200; + profile.exposure = 10416; + profile.step_type = StepType::EIGHTH; + profile.slope = MotorSlope::create_from_steps(31680, 534, 247); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_700; + profile.exposure = 2848; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(46876, 534, 255); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_700; + profile.exposure = 1424; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(46876, 534, 255); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_700; + profile.exposure = 1504; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(46876, 534, 255); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_700; + profile.exposure = 2696; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(46876, 2022, 127); + gl847_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_700; + profile.exposure = 10576; + profile.step_type = StepType::EIGHTH; + profile.slope = MotorSlope::create_from_steps(46876, 15864, 2); + gl847_motor_profiles->push_back(profile); +} + +StaticInit> gl124_motor_profiles; + +void genesys_init_motor_profile_tables_gl124() +{ + gl124_motor_profiles.init(); + + // NEXT LPERIOD=PREVIOUS*2-192 + Motor_Profile profile; + profile.motor_id = MotorId::CANON_LIDE_110; + profile.exposure = 2768; + profile.step_type = StepType::FULL; + profile.slope = MotorSlope::create_from_steps(62496, 335, 255); + gl124_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_110; + profile.exposure = 5360; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(62496, 335, 469); + gl124_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_110; + profile.exposure = 10528; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(62496, 2632, 3); + gl124_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_110; + profile.exposure = 20864; + profile.step_type = StepType::QUARTER; + profile.slope = MotorSlope::create_from_steps(62496, 10432, 3); + gl124_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_120; + profile.exposure = 4608; + profile.step_type = StepType::FULL; + profile.slope = MotorSlope::create_from_steps(62496, 864, 127); + gl124_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_120; + profile.exposure = 5360; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(62496, 2010, 63); + gl124_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_120; + profile.exposure = 10528; + profile.step_type = StepType::QUARTER; + profile.slope = MotorSlope::create_from_steps(62464, 2632, 3); + gl124_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_120; + profile.exposure = 20864; + profile.step_type = StepType::QUARTER; + profile.slope = MotorSlope::create_from_steps(62592, 10432, 5); + gl124_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_210; + profile.exposure = 2768; + profile.step_type = StepType::FULL; + profile.slope = MotorSlope::create_from_steps(62496, 335, 255); + gl124_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_210; + profile.exposure = 5360; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(62496, 335, 469); + gl124_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_210; + profile.exposure = 10528; + profile.step_type = StepType::HALF; + profile.slope = MotorSlope::create_from_steps(62496, 2632, 3); + gl124_motor_profiles->push_back(profile); + + profile = Motor_Profile(); + profile.motor_id = MotorId::CANON_LIDE_210; + profile.exposure = 20864; + profile.step_type = StepType::QUARTER; + profile.slope = MotorSlope::create_from_steps(62496, 10432, 4); + gl124_motor_profiles->push_back(profile); +} + +void genesys_init_motor_profile_tables() +{ + genesys_init_motor_profile_tables_gl843(); + genesys_init_motor_profile_tables_gl846(); + genesys_init_motor_profile_tables_gl847(); + genesys_init_motor_profile_tables_gl124(); +} + +} // namespace genesys diff --git a/backend/genesys/tables_sensor.cpp b/backend/genesys/tables_sensor.cpp new file mode 100644 index 0000000..bbbe441 --- /dev/null +++ b/backend/genesys/tables_sensor.cpp @@ -0,0 +1,3668 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "low.h" + +namespace genesys { + +inline unsigned default_get_logical_hwdpi(const Genesys_Sensor& sensor, unsigned xres) +{ + if (sensor.logical_dpihw_override) + return sensor.logical_dpihw_override; + + // can't be below 600 dpi + if (xres <= 600) { + return 600; + } + if (xres <= static_cast(sensor.optical_res) / 4) { + return sensor.optical_res / 4; + } + if (xres <= static_cast(sensor.optical_res) / 2) { + return sensor.optical_res / 2; + } + return sensor.optical_res; +} + +inline unsigned get_sensor_optical_with_ccd_divisor(const Genesys_Sensor& sensor, unsigned xres) +{ + unsigned hwres = sensor.optical_res / sensor.get_ccd_size_divisor_for_dpi(xres); + + if (xres <= hwres / 4) { + return hwres / 4; + } + if (xres <= hwres / 2) { + return hwres / 2; + } + return hwres; +} + +inline unsigned default_get_ccd_size_divisor_for_dpi(const Genesys_Sensor& sensor, unsigned xres) +{ + if (sensor.ccd_size_divisor >= 4 && xres * 4 <= static_cast(sensor.optical_res)) { + return 4; + } + if (sensor.ccd_size_divisor >= 2 && xres * 2 <= static_cast(sensor.optical_res)) { + return 2; + } + return 1; +} + +inline unsigned get_ccd_size_divisor_exact(const Genesys_Sensor& sensor, unsigned xres) +{ + (void) xres; + return sensor.ccd_size_divisor; +} + +inline unsigned get_ccd_size_divisor_gl124(const Genesys_Sensor& sensor, unsigned xres) +{ + // we have 2 domains for ccd: xres below or above half ccd max dpi + if (xres <= 300 && sensor.ccd_size_divisor > 1) { + return 2; + } + return 1; +} + +inline unsigned default_get_hwdpi_divisor_for_dpi(const Genesys_Sensor& sensor, unsigned xres) +{ + return sensor.optical_res / default_get_logical_hwdpi(sensor, xres); +} + +StaticInit> s_sensors; + +void genesys_init_sensor_tables() +{ + s_sensors.init(); + + Genesys_Sensor sensor; + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_UMAX; + sensor.optical_res = 1200; + sensor.black_pixels = 48; + sensor.dummy_pixel = 64; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10800; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x01 }, + { 0x09, 0x03 }, + { 0x0a, 0x05 }, + { 0x0b, 0x07 }, + { 0x16, 0x33 }, + { 0x17, 0x05 }, + { 0x18, 0x31 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x13 }, + { 0x53, 0x17 }, + { 0x54, 0x03 }, + { 0x55, 0x07 }, + { 0x56, 0x0b }, + { 0x57, 0x0f }, + { 0x58, 0x23 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_ST12; + sensor.optical_res = 600; + sensor.black_pixels = 48; + sensor.dummy_pixel = 85; + sensor.ccd_start_xoffset = 152; + sensor.sensor_pixels = 5416; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x02 }, + { 0x09, 0x00 }, + { 0x0a, 0x06 }, + { 0x0b, 0x04 }, + { 0x16, 0x2b }, + { 0x17, 0x08 }, + { 0x18, 0x20 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x0c }, + { 0x1d, 0x03 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_ST24; + sensor.optical_res = 1200; + sensor.black_pixels = 48; + sensor.dummy_pixel = 64; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10800; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x0e }, + { 0x09, 0x0c }, + { 0x0a, 0x00 }, + { 0x0b, 0x0c }, + { 0x16, 0x33 }, + { 0x17, 0x08 }, + { 0x18, 0x31 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x17 }, + { 0x53, 0x03 }, + { 0x54, 0x07 }, + { 0x55, 0x0b }, + { 0x56, 0x0f }, + { 0x57, 0x13 }, + { 0x58, 0x03 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_5345; + sensor.optical_res = 1200; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 48; + sensor.dummy_pixel = 16; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10872; + sensor.fau_gain_white_ref = 190; + sensor.gain_white_ref = 190; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.stagger_config = StaggerConfig{ 1200, 4 }; // FIXME: may be incorrect + sensor.custom_base_regs = { + { 0x08, 0x0d }, + { 0x09, 0x0f }, + { 0x0a, 0x11 }, + { 0x0b, 0x13 }, + { 0x16, 0x0b }, + { 0x17, 0x0a }, + { 0x18, 0x30 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x03 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x23 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = { 2.38f, 2.35f, 2.34f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = get_ccd_size_divisor_exact; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + unsigned exposure_lperiod; + unsigned ccd_size_divisor; + GenesysRegisterSettingSet custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 50 }, 12000, 2, { + { 0x08, 0x00 }, + { 0x09, 0x05 }, + { 0x0a, 0x06 }, + { 0x0b, 0x08 }, + { 0x16, 0x0b }, + { 0x17, 0x0a }, + { 0x18, 0x28 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x03 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 75 }, 11000, 2, { + { 0x08, 0x00 }, + { 0x09, 0x05 }, + { 0x0a, 0x06 }, + { 0x0b, 0x08 }, + { 0x16, 0x0b }, + { 0x17, 0x0a }, + { 0x18, 0x28 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x03 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 100 }, 11000, 2, { + { 0x08, 0x00 }, + { 0x09, 0x05 }, + { 0x0a, 0x06 }, + { 0x0b, 0x08 }, + { 0x16, 0x0b }, + { 0x17, 0x0a }, + { 0x18, 0x28 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x03 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 150 }, 11000, 2, { + { 0x08, 0x00 }, + { 0x09, 0x05 }, + { 0x0a, 0x06 }, + { 0x0b, 0x08 }, + { 0x16, 0x0b }, + { 0x17, 0x0a }, + { 0x18, 0x28 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x03 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 200 }, 11000, 2, { + { 0x08, 0x00 }, + { 0x09, 0x05 }, + { 0x0a, 0x06 }, + { 0x0b, 0x08 }, + { 0x16, 0x0b }, + { 0x17, 0x0a }, + { 0x18, 0x28 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x03 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 300 }, 11000, 2, { + { 0x08, 0x00 }, + { 0x09, 0x05 }, + { 0x0a, 0x06 }, + { 0x0b, 0x08 }, + { 0x16, 0x0b }, + { 0x17, 0x0a }, + { 0x18, 0x28 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x03 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 400 }, 11000, 2, { + { 0x08, 0x00 }, + { 0x09, 0x05 }, + { 0x0a, 0x06 }, + { 0x0b, 0x08 }, + { 0x16, 0x0b }, + { 0x17, 0x0a }, + { 0x18, 0x28 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x03 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 600 }, 11000, 2, { + { 0x08, 0x00 }, + { 0x09, 0x05 }, + { 0x0a, 0x06 }, + { 0x0b, 0x08 }, + { 0x16, 0x0b }, + { 0x17, 0x0a }, + { 0x18, 0x28 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x03 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 1200 }, 11000, 1, { + { 0x08, 0x0d }, + { 0x09, 0x0f }, + { 0x0a, 0x11 }, + { 0x0b, 0x13 }, + { 0x16, 0x0b }, + { 0x17, 0x0a }, + { 0x18, 0x30 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x03 }, + { 0x52, 0x03 }, + { 0x53, 0x07 }, + { 0x54, 0x0b }, + { 0x55, 0x0f }, + { 0x56, 0x13 }, + { 0x57, 0x17 }, + { 0x58, 0x23 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + }; + + for (const CustomSensorSettings& setting : custom_settings) + { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.ccd_size_divisor = setting.ccd_size_divisor; + sensor.custom_regs = setting.custom_regs; + s_sensors->push_back(sensor); + } + } + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_HP2400; + sensor.optical_res = 1200; + sensor.black_pixels = 48; + sensor.dummy_pixel = 15; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10872; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.stagger_config = StaggerConfig{1200, 4}; // FIXME: may be incorrect + sensor.custom_base_regs = { + { 0x08, 0x14 }, + { 0x09, 0x15 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0xbf }, + { 0x17, 0x08 }, + { 0x18, 0x3f }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x0b }, + { 0x53, 0x0f }, + { 0x54, 0x13 }, + { 0x55, 0x17 }, + { 0x56, 0x03 }, + { 0x57, 0x07 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x0e }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = { 2.1f, 2.1f, 2.1f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = get_ccd_size_divisor_exact; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + unsigned exposure_lperiod; + GenesysRegisterSettingSet custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 50 }, 7211, { + { 0x08, 0x14 }, + { 0x09, 0x15 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0xbf }, + { 0x17, 0x08 }, + { 0x18, 0x3f }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x0b }, + { 0x53, 0x0f }, + { 0x54, 0x13 }, + { 0x55, 0x17 }, + { 0x56, 0x03 }, + { 0x57, 0x07 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 100 }, 7211, { + { 0x08, 0x14 }, + { 0x09, 0x15 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0xbf }, + { 0x17, 0x08 }, + { 0x18, 0x3f }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x0b }, + { 0x53, 0x0f }, + { 0x54, 0x13 }, + { 0x55, 0x17 }, + { 0x56, 0x03 }, + { 0x57, 0x07 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 150 }, 7211, { + { 0x08, 0x14 }, + { 0x09, 0x15 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0xbf }, + { 0x17, 0x08 }, + { 0x18, 0x3f }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x0b }, + { 0x53, 0x0f }, + { 0x54, 0x13 }, + { 0x55, 0x17 }, + { 0x56, 0x03 }, + { 0x57, 0x07 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 300 }, 8751, { + { 0x08, 0x14 }, + { 0x09, 0x15 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0xbf }, + { 0x17, 0x08 }, + { 0x18, 0x3f }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x0b }, + { 0x53, 0x0f }, + { 0x54, 0x13 }, + { 0x55, 0x17 }, + { 0x56, 0x03 }, + { 0x57, 0x07 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 600 }, 18760, { + { 0x08, 0x0e }, + { 0x09, 0x0f }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0xbf }, + { 0x17, 0x08 }, + { 0x18, 0x31 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x03 }, + { 0x53, 0x07 }, + { 0x54, 0x0b }, + { 0x55, 0x0f }, + { 0x56, 0x13 }, + { 0x57, 0x17 }, + { 0x58, 0x23 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 1200 }, 21749, { + { 0x08, 0x02 }, + { 0x09, 0x04 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0xbf }, + { 0x17, 0x08 }, + { 0x18, 0x30 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0xc0 }, + { 0x1d, 0x42 }, + { 0x52, 0x0b }, + { 0x53, 0x0f }, + { 0x54, 0x13 }, + { 0x55, 0x17 }, + { 0x56, 0x03 }, + { 0x57, 0x07 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x0e }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + }; + + for (const CustomSensorSettings& setting : custom_settings) + { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.custom_regs = setting.custom_regs; + s_sensors->push_back(sensor); + } + } + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_HP2300; + sensor.optical_res = 600; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 48; + sensor.dummy_pixel = 20; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 5368; + sensor.fau_gain_white_ref = 180; + sensor.gain_white_ref = 180; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_base_regs = { + { 0x08, 0x16 }, + { 0x09, 0x00 }, + { 0x0a, 0x01 }, + { 0x0b, 0x03 }, + { 0x16, 0xb7 }, + { 0x17, 0x0a }, + { 0x18, 0x20 }, + { 0x19, 0x2a }, + { 0x1a, 0x6a }, + { 0x1b, 0x8a }, + { 0x1c, 0x00 }, + { 0x1d, 0x05 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x06 }, + { 0x5c, 0x0b }, + { 0x5d, 0x10 }, + { 0x5e, 0x16 }, + }; + sensor.gamma = { 2.1f, 2.1f, 2.1f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = get_ccd_size_divisor_exact; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + unsigned exposure_lperiod; + unsigned ccd_size_divisor; + GenesysRegisterSettingSet custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 75 }, 4480, 2, { + { 0x08, 0x16 }, + { 0x09, 0x00 }, + { 0x0a, 0x01 }, + { 0x0b, 0x03 }, + { 0x16, 0xb7 }, + { 0x17, 0x0a }, + { 0x18, 0x20 }, + { 0x19, 0x2a }, + { 0x1a, 0x6a }, + { 0x1b, 0x8a }, + { 0x1c, 0x00 }, + { 0x1d, 0x85 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x06 }, + { 0x5c, 0x0b }, + { 0x5d, 0x10 }, + { 0x5e, 0x16 } + } + }, + { { 150 }, 4350, 2, { + { 0x08, 0x16 }, + { 0x09, 0x00 }, + { 0x0a, 0x01 }, + { 0x0b, 0x03 }, + { 0x16, 0xb7 }, + { 0x17, 0x0a }, + { 0x18, 0x20 }, + { 0x19, 0x2a }, + { 0x1a, 0x6a }, + { 0x1b, 0x8a }, + { 0x1c, 0x00 }, + { 0x1d, 0x85 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x06 }, + { 0x5c, 0x0b }, + { 0x5d, 0x10 }, + { 0x5e, 0x16 } + } + }, + { { 300 }, 4350, 2, { + { 0x08, 0x16 }, + { 0x09, 0x00 }, + { 0x0a, 0x01 }, + { 0x0b, 0x03 }, + { 0x16, 0xb7 }, + { 0x17, 0x0a }, + { 0x18, 0x20 }, + { 0x19, 0x2a }, + { 0x1a, 0x6a }, + { 0x1b, 0x8a }, + { 0x1c, 0x00 }, + { 0x1d, 0x85 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x06 }, + { 0x5c, 0x0b }, + { 0x5d, 0x10 }, + { 0x5e, 0x16 } + } + }, + { { 600 }, 8700, 1, { + { 0x08, 0x01 }, + { 0x09, 0x03 }, + { 0x0a, 0x04 }, + { 0x0b, 0x06 }, + { 0x16, 0xb7 }, + { 0x17, 0x0a }, + { 0x18, 0x20 }, + { 0x19, 0x2a }, + { 0x1a, 0x6a }, + { 0x1b, 0x8a }, + { 0x1c, 0x00 }, + { 0x1d, 0x05 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x06 }, + { 0x5c, 0x0b }, + { 0x5d, 0x10 }, + { 0x5e, 0x16 } + } + }, + }; + + for (const CustomSensorSettings& setting : custom_settings) + { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.ccd_size_divisor = setting.ccd_size_divisor; + sensor.custom_regs = setting.custom_regs; + s_sensors->push_back(sensor); + } + } + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CIS_CANON_LIDE_35; + sensor.optical_res = 1200; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 87; + sensor.dummy_pixel = 87; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10400; + sensor.fau_gain_white_ref = 0; + sensor.gain_white_ref = 0; + sensor.exposure = { 0x0400, 0x0400, 0x0400 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x02 }, + { 0x18, 0x00 }, + { 0x19, 0x50 }, + { 0x1a, 0x00 }, // TODO: 1a-1d: these do no harm, but may be neccessery for CCD + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x05 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x07 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x3a }, + { 0x59, 0x03 }, + { 0x5a, 0x40 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CIS_XP200; + sensor.optical_res = 600; + sensor.black_pixels = 5; + sensor.dummy_pixel = 38; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 5200; + sensor.fau_gain_white_ref = 200; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x1450, 0x0c80, 0x0a28 }; + sensor.custom_base_regs = { + { 0x08, 0x16 }, + { 0x09, 0x00 }, + { 0x0a, 0x01 }, + { 0x0b, 0x03 }, + { 0x16, 0xb7 }, + { 0x17, 0x0a }, + { 0x18, 0x20 }, + { 0x19, 0x2a }, + { 0x1a, 0x6a }, + { 0x1b, 0x8a }, + { 0x1c, 0x00 }, + { 0x1d, 0x05 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x06 }, + { 0x5c, 0x0b }, + { 0x5d, 0x10 }, + { 0x5e, 0x16 }, + }; + sensor.custom_regs = { + { 0x08, 0x06 }, + { 0x09, 0x07 }, + { 0x0a, 0x0a }, + { 0x0b, 0x04 }, + { 0x16, 0x24 }, + { 0x17, 0x04 }, + { 0x18, 0x00 }, + { 0x19, 0x2a }, + { 0x1a, 0x0a }, + { 0x1b, 0x0a }, + { 0x1c, 0x00 }, + { 0x1d, 0x11 }, + { 0x52, 0x08 }, + { 0x53, 0x02 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x1a }, + { 0x59, 0x51 }, + { 0x5a, 0x00 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + }; + sensor.gamma = { 2.1f, 2.1f, 2.1f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = get_ccd_size_divisor_exact; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + std::vector channels; + unsigned exposure_lperiod; + SensorExposure exposure; + }; + + CustomSensorSettings custom_settings[] = { + { { 75 }, { 3 }, 5700, { 0x1644, 0x0c80, 0x092e } }, + { { 100 }, { 3 }, 5700, { 0x1644, 0x0c80, 0x092e } }, + { { 200 }, { 3 }, 5700, { 0x1644, 0x0c80, 0x092e } }, + { { 300 }, { 3 }, 9000, { 0x1644, 0x0c80, 0x092e } }, + { { 600 }, { 3 }, 16000, { 0x1644, 0x0c80, 0x092e } }, + { { 75 }, { 1 }, 16000, { 0x050a, 0x0fa0, 0x1010 } }, + { { 100 }, { 1 }, 7800, { 0x050a, 0x0fa0, 0x1010 } }, + { { 200 }, { 1 }, 11000, { 0x050a, 0x0fa0, 0x1010 } }, + { { 300 }, { 1 }, 13000, { 0x050a, 0x0fa0, 0x1010 } }, + { { 600 }, { 1 }, 24000, { 0x050a, 0x0fa0, 0x1010 } }, + }; + + for (const CustomSensorSettings& setting : custom_settings) + { + sensor.resolutions = setting.resolutions; + sensor.channels = setting.channels; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.exposure = setting.exposure; + s_sensors->push_back(sensor); + } + } + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_HP3670; + sensor.optical_res = 1200; + sensor.black_pixels = 48; + sensor.dummy_pixel = 16; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10872; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0, 0, 0 }; + sensor.stagger_config = StaggerConfig{1200, 4}; // FIXME: may be incorrect + sensor.custom_base_regs = { + { 0x08, 0x00 }, + { 0x09, 0x0a }, + { 0x0a, 0x0b }, + { 0x0b, 0x0d }, + { 0x16, 0x33 }, + { 0x17, 0x07 }, + { 0x18, 0x20 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0xc0 }, + { 0x1d, 0x43 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x00 }, + { 0x5a, 0x15 }, + { 0x5b, 0x05 }, + { 0x5c, 0x0a }, + { 0x5d, 0x0f }, + { 0x5e, 0x00 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = get_ccd_size_divisor_exact; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + unsigned exposure_lperiod; + GenesysRegisterSettingSet custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 50 }, 5758, { + { 0x08, 0x00 }, + { 0x09, 0x0a }, + { 0x0a, 0x0b }, + { 0x0b, 0x0d }, + { 0x16, 0x33 }, + { 0x17, 0x07 }, + { 0x18, 0x33 }, + { 0x19, 0x2a }, + { 0x1a, 0x02 }, + { 0x1b, 0x13 }, + { 0x1c, 0xc0 }, + { 0x1d, 0x43 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x15 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x05 }, + { 0x5c, 0x0a }, + { 0x5d, 0x0f }, + { 0x5e, 0x00 } + } + }, + { { 75 }, 4879, { + { 0x08, 0x00 }, + { 0x09, 0x0a }, + { 0x0a, 0x0b }, + { 0x0b, 0x0d }, + { 0x16, 0x33 }, + { 0x17, 0x07 }, + { 0x18, 0x33 }, + { 0x19, 0x2a }, + { 0x1a, 0x02 }, + { 0x1b, 0x13 }, + { 0x1c, 0xc0 }, + { 0x1d, 0x43 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x15 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x05 }, + { 0x5c, 0x0a }, + { 0x5d, 0x0f }, + { 0x5e, 0x00 } + } + }, + { { 100 }, 4487, { + { 0x08, 0x00 }, + { 0x09, 0x0a }, + { 0x0a, 0x0b }, + { 0x0b, 0x0d }, + { 0x16, 0x33 }, + { 0x17, 0x07 }, + { 0x18, 0x33 }, + { 0x19, 0x2a }, + { 0x1a, 0x02 }, + { 0x1b, 0x13 }, + { 0x1c, 0xc0 }, + { 0x1d, 0x43 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x15 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x05 }, + { 0x5c, 0x0a }, + { 0x5d, 0x0f }, + { 0x5e, 0x00 } + } + }, + { { 150 }, 4879, { + { 0x08, 0x00 }, + { 0x09, 0x0a }, + { 0x0a, 0x0b }, + { 0x0b, 0x0d }, + { 0x16, 0x33 }, + { 0x17, 0x07 }, + { 0x18, 0x33 }, + { 0x19, 0x2a }, + { 0x1a, 0x02 }, + { 0x1b, 0x13 }, + { 0x1c, 0xc0 }, + { 0x1d, 0x43 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x15 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x05 }, + { 0x5c, 0x0a }, + { 0x5d, 0x0f }, + { 0x5e, 0x00 } + } + }, + { { 300 }, 4503, { + { 0x08, 0x00 }, + { 0x09, 0x0a }, + { 0x0a, 0x0b }, + { 0x0b, 0x0d }, + { 0x16, 0x33 }, + { 0x17, 0x07 }, + { 0x18, 0x33 }, + { 0x19, 0x2a }, + { 0x1a, 0x02 }, + { 0x1b, 0x13 }, + { 0x1c, 0xc0 }, + { 0x1d, 0x43 }, + { 0x52, 0x0f }, + { 0x53, 0x13 }, + { 0x54, 0x17 }, + { 0x55, 0x03 }, + { 0x56, 0x07 }, + { 0x57, 0x0b }, + { 0x58, 0x83 }, + { 0x59, 0x15 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x05 }, + { 0x5c, 0x0a }, + { 0x5d, 0x0f }, + { 0x5e, 0x00 } + } + }, + { { 600 }, 10251, { + { 0x08, 0x00 }, + { 0x09, 0x05 }, + { 0x0a, 0x06 }, + { 0x0b, 0x08 }, + { 0x16, 0x33 }, + { 0x17, 0x07 }, + { 0x18, 0x31 }, + { 0x19, 0x2a }, + { 0x1a, 0x02 }, + { 0x1b, 0x0e }, + { 0x1c, 0xc0 }, + { 0x1d, 0x43 }, + { 0x52, 0x0b }, + { 0x53, 0x0f }, + { 0x54, 0x13 }, + { 0x55, 0x17 }, + { 0x56, 0x03 }, + { 0x57, 0x07 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x02 }, + { 0x5c, 0x0e }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + { { 1200 }, 12750, { + { 0x08, 0x0d }, + { 0x09, 0x0f }, + { 0x0a, 0x11 }, + { 0x0b, 0x13 }, + { 0x16, 0x2b }, + { 0x17, 0x07 }, + { 0x18, 0x30 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0xc0 }, + { 0x1d, 0x43 }, + { 0x52, 0x03 }, + { 0x53, 0x07 }, + { 0x54, 0x0b }, + { 0x55, 0x0f }, + { 0x56, 0x13 }, + { 0x57, 0x17 }, + { 0x58, 0x23 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 } + } + }, + }; + + for (const CustomSensorSettings& setting : custom_settings) + { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.custom_regs = setting.custom_regs; + s_sensors->push_back(sensor); + } + } + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_DP665; + sensor.optical_res = 600; + sensor.black_pixels = 27; + sensor.dummy_pixel = 27; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 2496; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x1100, 0x1100, 0x1100 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x02 }, + { 0x18, 0x04 }, + { 0x19, 0x50 }, + { 0x1a, 0x10 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x02 }, + { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x05 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x54 }, + { 0x59, 0x03 }, + { 0x5a, 0x00 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x01 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_ROADWARRIOR; + sensor.optical_res = 600; + sensor.black_pixels = 27; + sensor.dummy_pixel = 27; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 5200; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x1100, 0x1100, 0x1100 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x02 }, + { 0x18, 0x04 }, + { 0x19, 0x50 }, + { 0x1a, 0x10 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x02 }, + { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x05 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x54 }, + { 0x59, 0x03 }, + { 0x5a, 0x00 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x01 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_DSMOBILE600; + sensor.optical_res = 600; + sensor.black_pixels = 28; + sensor.dummy_pixel = 28; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 5200; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x1544, 0x1544, 0x1544 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x02 }, + { 0x18, 0x04 }, + { 0x19, 0x50 }, + { 0x1a, 0x10 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x02 }, + { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x05 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x54 }, + { 0x59, 0x03 }, + { 0x5a, 0x00 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x01 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_XP300; + sensor.optical_res = 600; + sensor.black_pixels = 27; + sensor.dummy_pixel = 27; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10240; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x1100, 0x1100, 0x1100 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x02 }, + { 0x18, 0x04 }, + { 0x19, 0x50 }, + { 0x1a, 0x10 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x02 }, + { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x05 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x54 }, + { 0x59, 0x03 }, + { 0x5a, 0x00 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x01 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_DP685; + sensor.optical_res = 600; + sensor.black_pixels = 27; + sensor.dummy_pixel = 27; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 5020; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x1100, 0x1100, 0x1100 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x02 }, + { 0x18, 0x04 }, + { 0x19, 0x50 }, + { 0x1a, 0x10 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x02 }, + { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x05 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x54 }, + { 0x59, 0x03 }, + { 0x5a, 0x00 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x01 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CIS_CANON_LIDE_200; + sensor.optical_res = 4800; + sensor.black_pixels = 87*4; + sensor.dummy_pixel = 16*4; + sensor.ccd_start_xoffset = 320*8; + sensor.sensor_pixels = 5136*8; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.gamma = { 2.2f, 2.2f, 2.2f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + int exposure_lperiod; + SensorExposure exposure; + unsigned segment_size; + std::vector segment_order; + GenesysRegisterSettingSet custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + // Note: Windows driver uses 1424 lperiod and enables dummy line (0x17) + { { 75, 100, 150, 200 }, 2848, { 304, 203, 180 }, 5136, std::vector{}, { + { 0x16, 0x10 }, { 0x17, 0x0a }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x3c }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + }, + // Note: Windows driver uses 788 lperiod and enables dummy line (0x17) + { { 300, 400 }, 1424, { 304, 203, 180 }, 5136, std::vector{}, { + { 0x16, 0x10 }, { 0x17, 0x0a }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x3c }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + }, + { { 600 }, 1432, { 492, 326, 296 }, 5136, std::vector{}, { + { 0x16, 0x10 }, { 0x17, 0x0a }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x3c }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + }, + { { 1200 }, 2712, { 935, 592, 538 }, 5136, { 0, 1 }, { + { 0x16, 0x10 }, { 0x17, 0x08 }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x3c }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + }, + { { 2400 }, 5280, { 1777, 1125, 979 }, 5136, { 0, 2, 1, 3 }, { + { 0x16, 0x10 }, { 0x17, 0x06 }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x3c }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + }, + { { 4800 }, 10416, { 3377, 2138, 1780 }, 5136, { 0, 2, 4, 6, 1, 3, 5, 7 }, { + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x3c }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + } + }; + + for (const auto& setting : custom_settings) { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.exposure = setting.exposure; + sensor.segment_size = setting.segment_size; + sensor.segment_order = setting.segment_order; + sensor.custom_regs = setting.custom_regs; + s_sensors->push_back(sensor); + } + } + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CIS_CANON_LIDE_700F; + sensor.optical_res = 4800; + sensor.black_pixels = 73*8; // black pixels 73 at 600 dpi + sensor.dummy_pixel = 16*8; + // 384 at 600 dpi + sensor.ccd_start_xoffset = 384*8; + // 8x5570 segments, 5187+1 for rounding + sensor.sensor_pixels = 5188*8; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + int exposure_lperiod; + SensorExposure exposure; + unsigned segment_size; + std::vector segment_order; + GenesysRegisterSettingSet custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 75, 100, 150, 200 }, 2848, { 465, 310, 239 }, 5187, std::vector{}, { + { 0x16, 0x10 }, { 0x17, 0x0c }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x07 }, { 0x53, 0x03 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x87 }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0xf9 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + }, + { { 300 }, 1424, { 465, 310, 239 }, 5187, std::vector{}, { + { 0x16, 0x10 }, { 0x17, 0x0c }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x07 }, { 0x53, 0x03 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x87 }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0xf9 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + }, + { { 600 }, 1504, { 465, 310, 239 }, 5187, std::vector{}, { + { 0x16, 0x10 }, { 0x17, 0x0c }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x07 }, { 0x53, 0x03 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x87 }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0xf9 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + }, + { { 1200 }, 2696, { 1464, 844, 555 }, 5187, { 0, 1 }, { + { 0x16, 0x10 }, { 0x17, 0x0a }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x07 }, { 0x53, 0x03 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x87 }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0xf9 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + }, + { { 2400 }, 10576, { 2798, 1558, 972 }, 5187, { 0, 1, 2, 3 }, { + { 0x16, 0x10 }, { 0x17, 0x08 }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x07 }, { 0x53, 0x03 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x87 }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0xf9 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + }, + { { 4800 }, 10576, { 2798, 1558, 972 }, 5187, { 0, 1, 4, 5, 2, 3, 6, 7 }, { + { 0x16, 0x10 }, { 0x17, 0x06 }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x07 }, { 0x53, 0x03 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x87 }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0xf9 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + } + }; + + for (const auto& setting : custom_settings) { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.exposure = setting.exposure; + sensor.segment_size = setting.segment_size; + sensor.segment_order = setting.segment_order; + sensor.custom_regs = setting.custom_regs; + s_sensors->push_back(sensor); + } + } + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CIS_CANON_LIDE_100; + sensor.optical_res = 2400; + sensor.black_pixels = 87*4; + sensor.dummy_pixel = 16*4; + sensor.ccd_start_xoffset = 320*4; + sensor.sensor_pixels = 5136*4; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x01c1, 0x0126, 0x00e5 }; + sensor.gamma = { 2.2f, 2.2f, 2.2f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + int exposure_lperiod; + SensorExposure exposure; + unsigned segment_size; + std::vector segment_order; + GenesysRegisterSettingSet custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 75, 100, 150, 200 }, 2304, { 423, 294, 242 }, 5136, std::vector{}, { + { 0x16, 0x10 }, { 0x17, 0x0a }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x3c }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + }, + { { 300 }, 1728, { 423, 294, 242 }, 5136, std::vector{}, { + { 0x16, 0x10 }, { 0x17, 0x0a }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x3c }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + }, + { { 600 }, 1432, { 423, 294, 242 }, 5136, std::vector{}, { + { 0x16, 0x10 }, { 0x17, 0x0a }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x3c }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + }, + }, + { { 1200 }, 2712, { 791, 542, 403 }, 5136, {0, 1}, { + { 0x16, 0x10 }, { 0x17, 0x08 }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x3c }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + }, + { { 2400 }, 5280, { 1504, 1030, 766 }, 5136, {0, 2, 1, 3}, { + { 0x16, 0x10 }, { 0x17, 0x06 }, { 0x18, 0x00 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x04 }, + { 0x52, 0x03 }, { 0x53, 0x07 }, { 0x54, 0x00 }, { 0x55, 0x00 }, + { 0x56, 0x00 }, { 0x57, 0x00 }, { 0x58, 0x2a }, { 0x59, 0xe1 }, { 0x5a, 0x55 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x3c }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + } + } + }; + + for (const auto& setting : custom_settings) { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.exposure = setting.exposure; + sensor.segment_size = setting.segment_size; + sensor.segment_order = setting.segment_order; + sensor.custom_regs = setting.custom_regs; + s_sensors->push_back(sensor); + } + } + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_KVSS080; + sensor.optical_res = 600; + sensor.black_pixels = 38; + sensor.dummy_pixel = 38; + sensor.ccd_start_xoffset = 152; + sensor.sensor_pixels = 5376; + sensor.fau_gain_white_ref = 160; + sensor.gain_white_ref = 160; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.exposure_lperiod = 8000; + sensor.custom_regs = { + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x00 }, + { 0x77, 0x00 }, { 0x78, 0xff }, { 0x79, 0xff }, + { 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, + { 0x0c, 0x00 }, + { 0x70, 0x01 }, + { 0x71, 0x03 }, + { 0x9e, 0x00 }, + { 0xaa, 0x00 }, + { 0x16, 0x33 }, + { 0x17, 0x1c }, + { 0x18, 0x00 }, + { 0x19, 0x2a }, + { 0x1a, 0x2c }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x04 }, + { 0x52, 0x0c }, + { 0x53, 0x0f }, + { 0x54, 0x00 }, + { 0x55, 0x03 }, + { 0x56, 0x06 }, + { 0x57, 0x09 }, + { 0x58, 0x6b }, + { 0x59, 0x00 }, + { 0x5a, 0xc0 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_G4050; + sensor.optical_res = 4800; + sensor.black_pixels = 50*8; + // 31 at 600 dpi dummy_pixels 58 at 1200 + sensor.dummy_pixel = 58; + sensor.ccd_start_xoffset = 152; + sensor.sensor_pixels = 5360*8; + sensor.fau_gain_white_ref = 160; + sensor.gain_white_ref = 160; + sensor.exposure = { 0x2c09, 0x22b8, 0x10f0 }; + sensor.stagger_config = StaggerConfig{ 2400, 4 }; // FIXME: may be incorrect + sensor.custom_regs = {}; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + int exposure_lperiod; + ScanMethod method; + GenesysRegisterSettingSet extra_custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 100, 150, 200, 300, 400, 600 }, 8016, ScanMethod::FLATBED, { + { 0x74, 0x00 }, { 0x75, 0x01 }, { 0x76, 0xff }, + { 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff }, + { 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, + { 0x0c, 0x00 }, + { 0x70, 0x00 }, + { 0x71, 0x02 }, + { 0x9e, 0x00 }, + { 0xaa, 0x00 }, + { 0x16, 0x33 }, + { 0x17, 0x0c }, + { 0x18, 0x00 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x08 }, + { 0x52, 0x0b }, + { 0x53, 0x0e }, + { 0x54, 0x11 }, + { 0x55, 0x02 }, + { 0x56, 0x05 }, + { 0x57, 0x08 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + } + }, + { { 1200 }, 56064, ScanMethod::FLATBED, { + { 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff }, + { 0x77, 0x00 }, { 0x78, 0x01 }, { 0x79, 0xff }, + { 0x7a, 0x00 }, { 0x7b, 0x01 }, { 0x7c, 0xff }, + { 0x0c, 0x20 }, + { 0x70, 0x08 }, + { 0x71, 0x0c }, + { 0x9e, 0xc0 }, + { 0xaa, 0x05 }, + { 0x16, 0x3b }, + { 0x17, 0x0c }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x38 }, + { 0x1b, 0x10 }, + { 0x1c, 0x00 }, + { 0x1d, 0x08 }, + { 0x52, 0x02 }, + { 0x53, 0x05 }, + { 0x54, 0x08 }, + { 0x55, 0x0b }, + { 0x56, 0x0e }, + { 0x57, 0x11 }, + { 0x58, 0x1b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + } + }, + { { 2400 }, 56064, ScanMethod::FLATBED, { + { 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, + { 0x0c, 0x20 }, + { 0x70, 0x08 }, + { 0x71, 0x0a }, + { 0x9e, 0xc0 }, + { 0xaa, 0x05 }, + { 0x16, 0x3b }, + { 0x17, 0x0c }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x38 }, + { 0x1b, 0x10 }, + { 0x1c, 0xc0 }, + { 0x1d, 0x08 }, + { 0x52, 0x02 }, + { 0x53, 0x05 }, + { 0x54, 0x08 }, + { 0x55, 0x0b }, + { 0x56, 0x0e }, + { 0x57, 0x11 }, + { 0x58, 0x1b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + } + }, + { { 4800 }, 42752, ScanMethod::FLATBED, { + { 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, + { 0x0c, 0x21 }, + { 0x70, 0x08 }, + { 0x71, 0x0a }, + { 0x9e, 0xc0 }, + { 0xaa, 0x07 }, + { 0x16, 0x3b }, + { 0x17, 0x0c }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x38 }, + { 0x1b, 0x10 }, + { 0x1c, 0xc1 }, + { 0x1d, 0x08 }, + { 0x52, 0x02 }, + { 0x53, 0x05 }, + { 0x54, 0x08 }, + { 0x55, 0x0b }, + { 0x56, 0x0e }, + { 0x57, 0x11 }, + { 0x58, 0x1b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + } + }, + { ResolutionFilter::ANY, 15624, ScanMethod::TRANSPARENCY, { + { 0x74, 0x00 }, { 0x75, 0x1c }, { 0x76, 0x7f }, + { 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff }, + { 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, + { 0x0c, 0x00 }, + { 0x70, 0x00 }, + { 0x71, 0x02 }, + { 0x9e, 0x00 }, + { 0xaa, 0x00 }, + { 0x16, 0x33 }, + { 0x17, 0x4c }, + { 0x18, 0x01 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x08 }, + { 0x52, 0x0e }, + { 0x53, 0x11 }, + { 0x54, 0x02 }, + { 0x55, 0x05 }, + { 0x56, 0x08 }, + { 0x57, 0x0b }, + { 0x58, 0x6b }, + { 0x59, 0x00 }, + { 0x5a, 0xc0 }, + } + } + }; + + auto base_custom_regs = sensor.custom_regs; + for (const CustomSensorSettings& setting : custom_settings) + { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.method = setting.method; + sensor.custom_regs = base_custom_regs; + sensor.custom_regs.merge(setting.extra_custom_regs); + s_sensors->push_back(sensor); + } + } + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_HP_4850C; + sensor.optical_res = 4800; + sensor.black_pixels = 100; + sensor.dummy_pixel = 58; + sensor.ccd_start_xoffset = 152; + sensor.sensor_pixels = 5360*8; + sensor.fau_gain_white_ref = 160; + sensor.gain_white_ref = 160; + sensor.exposure = { 0x2c09, 0x22b8, 0x10f0 }; + sensor.stagger_config = StaggerConfig{ 2400, 4 }; // FIXME: may be incorrect + sensor.custom_regs = {}; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + int exposure_lperiod; + ScanMethod method; + GenesysRegisterSettingSet extra_custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 100, 150, 200, 300, 400, 600 }, 8016, ScanMethod::FLATBED, { + { 0x0c, 0x00 }, + { 0x16, 0x33 }, { 0x17, 0x0c }, { 0x18, 0x00 }, { 0x19, 0x2a }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x00 }, { 0x1d, 0x08 }, + { 0x52, 0x0b }, { 0x53, 0x0e }, { 0x54, 0x11 }, { 0x55, 0x02 }, + { 0x56, 0x05 }, { 0x57, 0x08 }, { 0x58, 0x63 }, { 0x59, 0x00 }, { 0x5a, 0x40 }, + { 0x70, 0x00 }, { 0x71, 0x02 }, + { 0x74, 0x00 }, { 0x75, 0x01 }, { 0x76, 0xff }, + { 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff }, + { 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, + { 0x9e, 0x00 }, + { 0xaa, 0x00 }, + } + }, + { { 1200 }, 56064, ScanMethod::FLATBED, { + { 0x0c, 0x20 }, + { 0x16, 0x3b }, { 0x17, 0x0c }, { 0x18, 0x10 }, { 0x19, 0x2a }, + { 0x1a, 0x38 }, { 0x1b, 0x10 }, { 0x1c, 0x00 }, { 0x1d, 0x08 }, + { 0x52, 0x02 }, { 0x53, 0x05 }, { 0x54, 0x08 }, { 0x55, 0x0b }, + { 0x56, 0x0e }, { 0x57, 0x11 }, { 0x58, 0x1b }, { 0x59, 0x00 }, { 0x5a, 0x40 }, + { 0x70, 0x08 }, { 0x71, 0x0c }, + { 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff }, + { 0x77, 0x00 }, { 0x78, 0x01 }, { 0x79, 0xff }, + { 0x7a, 0x00 }, { 0x7b, 0x01 }, { 0x7c, 0xff }, + { 0x9e, 0xc0 }, + { 0xaa, 0x05 }, + } + }, + { { 2400 }, 56064, ScanMethod::FLATBED, { + { 0x0c, 0x20 }, + { 0x16, 0x3b }, { 0x17, 0x0c }, { 0x18, 0x10 }, { 0x19, 0x2a }, + { 0x1a, 0x38 }, { 0x1b, 0x10 }, { 0x1c, 0xc0 }, { 0x1d, 0x08 }, + { 0x52, 0x02 }, { 0x53, 0x05 }, { 0x54, 0x08 }, { 0x55, 0x0b }, + { 0x56, 0x0e }, { 0x57, 0x11 }, { 0x58, 0x1b }, { 0x59, 0x00 }, { 0x5a, 0x40 }, + { 0x70, 0x08 }, { 0x71, 0x0a }, + { 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, + { 0x9e, 0xc0 }, + { 0xaa, 0x05 }, + } + }, + { { 4800 }, 42752, ScanMethod::FLATBED, { + { 0x0c, 0x21 }, + { 0x16, 0x3b }, { 0x17, 0x0c }, { 0x18, 0x10 }, { 0x19, 0x2a }, + { 0x1a, 0x38 }, { 0x1b, 0x10 }, { 0x1c, 0xc1 }, { 0x1d, 0x08 }, + { 0x52, 0x02 }, { 0x53, 0x05 }, { 0x54, 0x08 }, { 0x55, 0x0b }, + { 0x56, 0x0e }, { 0x57, 0x11 }, { 0x58, 0x1b }, { 0x59, 0x00 }, { 0x5a, 0x40 }, + { 0x70, 0x08 }, { 0x71, 0x0a }, + { 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, + { 0x9e, 0xc0 }, + { 0xaa, 0x07 }, + } + }, + { ResolutionFilter::ANY, 15624, ScanMethod::TRANSPARENCY, { + { 0x0c, 0x00 }, + { 0x16, 0x33 }, { 0x17, 0x4c }, { 0x18, 0x01 }, { 0x19, 0x2a }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x00 }, { 0x1d, 0x08 }, + { 0x52, 0x0e }, { 0x53, 0x11 }, { 0x54, 0x02 }, { 0x55, 0x05 }, + { 0x56, 0x08 }, { 0x57, 0x0b }, { 0x58, 0x6b }, { 0x59, 0x00 }, { 0x5a, 0xc0 }, + { 0x70, 0x00 }, { 0x71, 0x02 }, + { 0x74, 0x00 }, { 0x75, 0x1c }, { 0x76, 0x7f }, + { 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff }, + { 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, + { 0x9e, 0x00 }, + { 0xaa, 0x00 }, + } + } + }; + + auto base_custom_regs = sensor.custom_regs; + for (const CustomSensorSettings& setting : custom_settings) + { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.method = setting.method; + sensor.custom_regs = base_custom_regs; + sensor.custom_regs.merge(setting.extra_custom_regs); + s_sensors->push_back(sensor); + } + } + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_CANON_4400F; + sensor.optical_res = 4800; + sensor.ccd_size_divisor = 4; + sensor.black_pixels = 50*8; + // 31 at 600 dpi, 58 at 1200 dpi + sensor.dummy_pixel = 20; + sensor.ccd_start_xoffset = 152; + // 5360 max at 600 dpi + sensor.sensor_pixels = 5700 * 8; + sensor.fau_gain_white_ref = 160; + sensor.gain_white_ref = 160; + sensor.exposure = { 0x9c40, 0x9c40, 0x9c40 }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = get_sensor_optical_with_ccd_divisor; + sensor.get_register_hwdpi_fun = [](const Genesys_Sensor&, unsigned) { return 4800; }; + sensor.get_hwdpi_divisor_fun = [](const Genesys_Sensor&, unsigned) { return 1; }; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + int exposure_lperiod; + std::vector methods; + GenesysRegisterSettingSet extra_custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 300, 600, 1200 }, 11640, { ScanMethod::FLATBED }, { + { 0x16, 0x13 }, + { 0x17, 0x0a }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x6b }, + { 0x52, 0x0a }, + { 0x53, 0x0d }, + { 0x54, 0x00 }, + { 0x55, 0x03 }, + { 0x56, 0x06 }, + { 0x57, 0x08 }, + { 0x58, 0x5b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + { 0x70, 0x00 }, { 0x71, 0x02 }, { 0x72, 0x01 }, { 0x73, 0x03 }, + { 0x74, 0x00 }, { 0x75, 0xf8 }, { 0x76, 0x38 }, + { 0x77, 0x00 }, { 0x78, 0xfc }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0xa4 }, + { 0x9e, 0x2d }, + } + }, + { { 300, 600, 1200 }, 33300, { ScanMethod::TRANSPARENCY }, { + { 0x16, 0x13 }, + { 0x17, 0x0a }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x6b }, + { 0x52, 0x0a }, + { 0x53, 0x0d }, + { 0x54, 0x00 }, + { 0x55, 0x03 }, + { 0x56, 0x06 }, + { 0x57, 0x08 }, + { 0x58, 0x5b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + { 0x70, 0x00 }, { 0x71, 0x02 }, { 0x72, 0x00 }, { 0x73, 0x02 }, + { 0x74, 0x00 }, { 0x75, 0xf8 }, { 0x76, 0x38 }, + { 0x77, 0x00 }, { 0x78, 0xfc }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0xa4 }, + { 0x9e, 0x2d }, + } + }, + { { 2400 }, 33300, { ScanMethod::TRANSPARENCY }, { + { 0x16, 0x13 }, + { 0x17, 0x0a }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x01 }, + { 0x1d, 0x75 }, + { 0x52, 0x0b }, + { 0x53, 0x0d }, + { 0x54, 0x00 }, + { 0x55, 0x03 }, + { 0x56, 0x06 }, + { 0x57, 0x09 }, + { 0x58, 0x53 }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + { 0x70, 0x00 }, { 0x71, 0x02 }, { 0x72, 0x02 }, { 0x73, 0x04 }, + { 0x74, 0x00 }, { 0x75, 0xff }, { 0x76, 0x00 }, + { 0x77, 0x00 }, { 0x78, 0xff }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x54 }, { 0x7c, 0x92 }, + { 0x9e, 0x2d }, + } + }, + { { 4800 }, 33300, { ScanMethod::TRANSPARENCY }, { + { 0x16, 0x13 }, + { 0x17, 0x0a }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x61 }, + { 0x1d, 0x75 }, + { 0x52, 0x02 }, + { 0x53, 0x05 }, + { 0x54, 0x08 }, + { 0x55, 0x0b }, + { 0x56, 0x0d }, + { 0x57, 0x0f }, + { 0x58, 0x1b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + { 0x70, 0x08 }, { 0x71, 0x0a }, { 0x72, 0x0a }, { 0x73, 0x0c }, + { 0x74, 0x00 }, { 0x75, 0xff }, { 0x76, 0xff }, + { 0x77, 0x00 }, { 0x78, 0xff }, { 0x79, 0xff }, + { 0x7a, 0x00 }, { 0x7b, 0x54 }, { 0x7c, 0x92 }, + { 0x9e, 0x2d }, + } + } + }; + + for (const CustomSensorSettings& setting : custom_settings) + { + for (auto method : setting.methods) { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.method = method; + sensor.custom_regs = setting.extra_custom_regs; + s_sensors->push_back(sensor); + } + } + } + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_CANON_8400F; + sensor.optical_res = 3200; + sensor.register_dpihw_override = 4800; + sensor.ccd_size_divisor = 1; + sensor.black_pixels = 50*8; + // 31 at 600 dpi, 58 at 1200 dpi + sensor.dummy_pixel = 20; + sensor.ccd_start_xoffset = 152; + sensor.sensor_pixels = 27200; + sensor.fau_gain_white_ref = 160; + sensor.gain_white_ref = 160; + sensor.exposure = { 0x9c40, 0x9c40, 0x9c40 }; + sensor.stagger_config = StaggerConfig{ 3200, 6 }; + sensor.custom_regs = {}; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = get_sensor_optical_with_ccd_divisor; + sensor.get_register_hwdpi_fun = [](const Genesys_Sensor&, unsigned) { return 4800; }; + sensor.get_hwdpi_divisor_fun = [](const Genesys_Sensor&, unsigned) { return 1; }; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + unsigned dpiset_override; + unsigned pixel_count_multiplier; + int exposure_lperiod; + std::vector methods; + GenesysRegisterSettingSet extra_custom_regs; + GenesysRegisterSettingSet custom_fe_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 400 }, 2400, 1, 7200, { ScanMethod::FLATBED }, { + { 0x16, 0x33 }, + { 0x17, 0x0c }, + { 0x18, 0x13 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x84 }, + { 0x1e, 0xa0 }, + { 0x52, 0x0d }, + { 0x53, 0x10 }, + { 0x54, 0x01 }, + { 0x55, 0x04 }, + { 0x56, 0x07 }, + { 0x57, 0x0a }, + { 0x58, 0x6b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + { 0x70, 0x01 }, { 0x71, 0x02 }, { 0x72, 0x03 }, { 0x73, 0x04 }, + { 0x74, 0x00 }, { 0x75, 0x0e }, { 0x76, 0x3f }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x01 }, { 0x7b, 0xb6 }, { 0x7c, 0xdb }, + { 0x80, 0x2a }, + }, {} + }, + { { 800 }, 4800, 1, 7200, { ScanMethod::FLATBED }, { + { 0x16, 0x33 }, + { 0x17, 0x0c }, + { 0x18, 0x13 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x84 }, + { 0x1e, 0xa0 }, + { 0x52, 0x0d }, + { 0x53, 0x10 }, + { 0x54, 0x01 }, + { 0x55, 0x04 }, + { 0x56, 0x07 }, + { 0x57, 0x0a }, + { 0x58, 0x6b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + { 0x70, 0x01 }, { 0x71, 0x02 }, { 0x72, 0x03 }, { 0x73, 0x04 }, + { 0x74, 0x00 }, { 0x75, 0x0e }, { 0x76, 0x3f }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x01 }, { 0x7b, 0xb6 }, { 0x7c, 0xdb }, + { 0x80, 0x20 }, + }, {} + }, + { { 1600 }, 4800, 1, 14400, { ScanMethod::FLATBED }, { + { 0x16, 0x33 }, + { 0x17, 0x0c }, + { 0x18, 0x11 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x84 }, + { 0x1e, 0xa1 }, + { 0x52, 0x0b }, + { 0x53, 0x0e }, + { 0x54, 0x11 }, + { 0x55, 0x02 }, + { 0x56, 0x05 }, + { 0x57, 0x08 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + { 0x70, 0x01 }, { 0x71, 0x02 }, { 0x72, 0x02 }, { 0x73, 0x03 }, + { 0x74, 0x00 }, { 0x75, 0x01 }, { 0x76, 0xff }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x02 }, { 0x7b, 0x49 }, { 0x7c, 0x24 }, + { 0x80, 0x28 }, + }, { + { 0x03, 0x1f }, + } + }, + { { 3200 }, 4800, 1, 28800, { ScanMethod::FLATBED }, { + { 0x16, 0x33 }, + { 0x17, 0x0c }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x84 }, + { 0x1e, 0xa1 }, + { 0x52, 0x02 }, + { 0x53, 0x05 }, + { 0x54, 0x08 }, + { 0x55, 0x0b }, + { 0x56, 0x0e }, + { 0x57, 0x11 }, + { 0x58, 0x1b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + { 0x70, 0x09 }, { 0x71, 0x0a }, { 0x72, 0x0b }, { 0x73, 0x0c }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x00 }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x02 }, { 0x7b, 0x49 }, { 0x7c, 0x24 }, + { 0x80, 0x2b }, + }, { + { 0x03, 0x1f }, + }, + }, + { { 400 }, 2400, 1, 14400, { ScanMethod::TRANSPARENCY, + ScanMethod::TRANSPARENCY_INFRARED }, { + { 0x16, 0x33 }, + { 0x17, 0x0c }, + { 0x18, 0x13 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x84 }, + { 0x1e, 0xa0 }, + { 0x52, 0x0d }, + { 0x53, 0x10 }, + { 0x54, 0x01 }, + { 0x55, 0x04 }, + { 0x56, 0x07 }, + { 0x57, 0x0a }, + { 0x58, 0x6b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + { 0x70, 0x01 }, { 0x71, 0x02 }, { 0x72, 0x03 }, { 0x73, 0x04 }, + { 0x74, 0x00 }, { 0x75, 0x0e }, { 0x76, 0x3f }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x01 }, { 0x7b, 0xb6 }, { 0x7c, 0xdb }, + { 0x80, 0x20 }, + }, {} + }, + { { 800 }, 4800, 1, 14400, { ScanMethod::TRANSPARENCY, + ScanMethod::TRANSPARENCY_INFRARED }, { + { 0x16, 0x33 }, + { 0x17, 0x0c }, + { 0x18, 0x13 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x84 }, + { 0x1e, 0xa0 }, + { 0x52, 0x0d }, + { 0x53, 0x10 }, + { 0x54, 0x01 }, + { 0x55, 0x04 }, + { 0x56, 0x07 }, + { 0x57, 0x0a }, + { 0x58, 0x6b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + { 0x70, 0x01 }, { 0x71, 0x02 }, { 0x72, 0x03 }, { 0x73, 0x04 }, + { 0x74, 0x00 }, { 0x75, 0x0e }, { 0x76, 0x3f }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x01 }, { 0x7b, 0xb6 }, { 0x7c, 0xdb }, + { 0x80, 0x20 }, + }, {} + }, + { { 1600 }, 4800, 1, 28800, { ScanMethod::TRANSPARENCY, + ScanMethod::TRANSPARENCY_INFRARED }, { + { 0x16, 0x33 }, + { 0x17, 0x0c }, + { 0x18, 0x11 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x84 }, + { 0x1e, 0xa0 }, + { 0x52, 0x0b }, + { 0x53, 0x0e }, + { 0x54, 0x11 }, + { 0x55, 0x02 }, + { 0x56, 0x05 }, + { 0x57, 0x08 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + { 0x70, 0x00 }, { 0x71, 0x01 }, { 0x72, 0x02 }, { 0x73, 0x03 }, + { 0x74, 0x00 }, { 0x75, 0x01 }, { 0x76, 0xff }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x02 }, { 0x7b, 0x49 }, { 0x7c, 0x24 }, + { 0x80, 0x29 }, + }, { + { 0x03, 0x1f }, + }, + }, + { { 3200 }, 4800, 1, 28800, { ScanMethod::TRANSPARENCY, + ScanMethod::TRANSPARENCY_INFRARED }, { + { 0x16, 0x33 }, + { 0x17, 0x0c }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x84 }, + { 0x1e, 0xa0 }, + { 0x52, 0x02 }, + { 0x53, 0x05 }, + { 0x54, 0x08 }, + { 0x55, 0x0b }, + { 0x56, 0x0e }, + { 0x57, 0x11 }, + { 0x58, 0x1b }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + { 0x70, 0x09 }, { 0x71, 0x0a }, { 0x72, 0x0b }, { 0x73, 0x0c }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x00 }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x02 }, { 0x7b, 0x49 }, { 0x7c, 0x24 }, + { 0x80, 0x2b }, + }, { + { 0x03, 0x1f }, + }, + }, + }; + + for (const CustomSensorSettings& setting : custom_settings) + { + for (auto method : setting.methods) { + sensor.resolutions = setting.resolutions; + sensor.dpiset_override = setting.dpiset_override; + sensor.pixel_count_multiplier = setting.pixel_count_multiplier; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.method = method; + sensor.custom_regs = setting.extra_custom_regs; + sensor.custom_fe_regs = setting.custom_fe_regs; + s_sensors->push_back(sensor); + } + } + } + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_CANON_8600F; + sensor.optical_res = 4800; + sensor.ccd_size_divisor = 4; + sensor.black_pixels = 31; + sensor.dummy_pixel = 20; + sensor.ccd_start_xoffset = 0; // not used at the moment + // 11372 pixels at 1200 dpi + sensor.sensor_pixels = 11372*4; + sensor.fau_gain_white_ref = 160; + sensor.gain_white_ref = 160; + sensor.exposure = { 0x9c40, 0x9c40, 0x9c40 }; + sensor.stagger_config = StaggerConfig{4800, 8}; + sensor.custom_regs = {}; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = get_sensor_optical_with_ccd_divisor; + sensor.get_register_hwdpi_fun = [](const Genesys_Sensor&, unsigned) { return 4800; }; + sensor.get_hwdpi_divisor_fun = [](const Genesys_Sensor&, unsigned) { return 1; }; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + int exposure_lperiod; + std::vector methods; + GenesysRegisterSettingSet extra_custom_regs; + GenesysRegisterSettingSet custom_fe_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 300, 600, 1200 }, 24000, { ScanMethod::FLATBED }, { + { 0x0c, 0x00 }, + { 0x16, 0x13 }, { 0x17, 0x0a }, { 0x18, 0x10 }, { 0x19, 0x2a }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x00 }, { 0x1d, 0x6b }, + { 0x52, 0x0c }, { 0x53, 0x0f }, { 0x54, 0x00 }, { 0x55, 0x03 }, + { 0x70, 0x00 }, { 0x71, 0x02 }, { 0x72, 0x02 }, { 0x73, 0x04 }, + { 0x56, 0x06 }, { 0x57, 0x09 }, { 0x58, 0x6b }, { 0x59, 0x00 }, { 0x5a, 0x40 }, + { 0x74, 0x03 }, { 0x75, 0xf0 }, { 0x76, 0xf0 }, + { 0x77, 0x03 }, { 0x78, 0xfe }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0x49 }, + { 0x9e, 0x2d }, + { 0xaa, 0x00 }, + }, + {}, + }, + { { 300, 600, 1200 }, 45000, { ScanMethod::TRANSPARENCY, + ScanMethod::TRANSPARENCY_INFRARED }, { + { 0x0c, 0x00 }, + { 0x16, 0x13 }, { 0x17, 0x0a }, { 0x18, 0x10 }, { 0x19, 0x2a }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x00 }, { 0x1d, 0x6b }, + { 0x52, 0x0c }, { 0x53, 0x0f }, { 0x54, 0x00 }, { 0x55, 0x03 }, + { 0x56, 0x06 }, { 0x57, 0x09 }, { 0x58, 0x6b }, { 0x59, 0x00 }, { 0x5a, 0x40 }, + { 0x70, 0x00 }, { 0x71, 0x02 }, { 0x72, 0x02 }, { 0x73, 0x04 }, + { 0x74, 0x03 }, { 0x75, 0xf0 }, { 0x76, 0xf0 }, + { 0x77, 0x03 }, { 0x78, 0xfe }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0x49 }, + { 0x9e, 0x2d }, + { 0xaa, 0x00 }, + }, + {}, + }, + { { 2400 }, 45000, { ScanMethod::TRANSPARENCY, + ScanMethod::TRANSPARENCY_INFRARED }, { + { 0x0c, 0x00 }, + { 0x16, 0x13 }, { 0x17, 0x15 }, { 0x18, 0x10 }, { 0x19, 0x2a }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x01 }, { 0x1d, 0x75 }, + { 0x52, 0x0c }, { 0x53, 0x0f }, { 0x54, 0x00 }, { 0x55, 0x03 }, + { 0x56, 0x06 }, { 0x57, 0x09 }, { 0x58, 0x6b }, { 0x59, 0x00 }, { 0x5a, 0x40 }, + { 0x70, 0x00 }, { 0x71, 0x02 }, { 0x72, 0x02 }, { 0x73, 0x04 }, + { 0x74, 0x03 }, { 0x75, 0xfe }, { 0x76, 0x00 }, + { 0x77, 0x03 }, { 0x78, 0xfe }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0x49 }, + { 0x9e, 0x2d }, + { 0xaa, 0x00 }, + }, + {}, + }, + { { 4800 }, 45000, { ScanMethod::TRANSPARENCY, + ScanMethod::TRANSPARENCY_INFRARED }, { + { 0x0c, 0x00 }, + { 0x16, 0x13 }, { 0x17, 0x15 }, { 0x18, 0x10 }, { 0x19, 0x2a }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x61 }, { 0x1d, 0x75 }, + { 0x52, 0x03 }, { 0x53, 0x06 }, { 0x54, 0x09 }, { 0x55, 0x0c }, + { 0x56, 0x0f }, { 0x57, 0x00 }, { 0x58, 0x23 }, { 0x59, 0x00 }, { 0x5a, 0x40 }, + { 0x70, 0x0a }, { 0x71, 0x0c }, { 0x72, 0x0c }, { 0x73, 0x0e }, + { 0x74, 0x03 }, { 0x75, 0xff }, { 0x76, 0xff }, + { 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff }, + { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0x49 }, + { 0x9e, 0x2d }, + { 0xaa, 0x00 }, + }, + { { 0x03, 0x1f }, + }, + }, + }; + + for (const CustomSensorSettings& setting : custom_settings) { + for (auto method : setting.methods) { + sensor.resolutions = setting.resolutions; + sensor.method = method; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.custom_regs = setting.extra_custom_regs; + sensor.custom_fe_regs = setting.custom_fe_regs; + s_sensors->push_back(sensor); + } + } + } + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_HP_N6310; + sensor.optical_res = 2400; + // sensor.ccd_size_divisor = 2; Possibly half CCD, needs checking + sensor.black_pixels = 96; + sensor.dummy_pixel = 26; + sensor.ccd_start_xoffset = 128; + sensor.sensor_pixels = 42720; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x16, 0x33 }, + { 0x17, 0x0c }, + { 0x18, 0x02 }, + { 0x19, 0x2a }, + { 0x1a, 0x30 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x08 }, + { 0x52, 0x0b }, + { 0x53, 0x0e }, + { 0x54, 0x11 }, + { 0x55, 0x02 }, + { 0x56, 0x05 }, + { 0x57, 0x08 }, + { 0x58, 0x63 }, + { 0x59, 0x00 }, + { 0x5a, 0x40 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CIS_CANON_LIDE_110; + sensor.optical_res = 2400; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 87; + sensor.dummy_pixel = 16; + sensor.ccd_start_xoffset = 303; + sensor.sensor_pixels = 5168*4; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.gamma = { 2.2f, 2.2f, 2.2f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = get_ccd_size_divisor_gl124; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + int exposure_lperiod; + SensorExposure exposure; + std::vector segment_order; + GenesysRegisterSettingSet custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 75, 100, 150 }, 4608, { 462, 609, 453 }, std::vector{}, { + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x0c }, + { 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 }, + { 0x61, 0x20 }, + { 0x70, 0x06 }, { 0x71, 0x08 }, { 0x72, 0x08 }, { 0x73, 0x0a }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x00 }, { 0x89, 0x65 }, + { 0x93, 0x00 }, { 0x94, 0x0a }, { 0x95, 0x18 }, + { 0x96, 0x00 }, { 0x97, 0x9a }, + { 0x98, 0x21 }, + } + }, + { { 300 }, 4608, { 462, 609, 453 }, std::vector{}, { + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x0c }, + { 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 }, + { 0x61, 0x20 }, + { 0x70, 0x06 }, { 0x71, 0x08 }, { 0x72, 0x08 }, { 0x73, 0x0a }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x00 }, { 0x89, 0x65 }, + { 0x93, 0x00 }, { 0x94, 0x0a }, { 0x95, 0x18 }, + { 0x96, 0x00 }, { 0x97, 0x9a }, + { 0x98, 0x21 }, + } + }, + { { 600 }, 5360, { 823, 1117, 805 }, std::vector{}, { + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x0a }, + { 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 }, + { 0x61, 0x20 }, + { 0x70, 0x06 }, { 0x71, 0x08 }, { 0x72, 0x08 }, { 0x73, 0x0a }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x00 }, { 0x89, 0x65 }, + { 0x93, 0x00 }, { 0x94, 0x14 }, { 0x95, 0x30 }, + { 0x96, 0x00 }, { 0x97, 0xa3 }, + { 0x98, 0x21 }, + }, + }, + { { 1200 }, 10528, { 6071, 6670, 6042 }, { 0, 1 }, { + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 },{ 0x20, 0x08 }, + { 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 }, + { 0x61, 0x20 }, + { 0x70, 0x06 }, { 0x71, 0x08 }, { 0x72, 0x08 }, { 0x73, 0x0a }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x12 }, { 0x89, 0x47 }, + { 0x93, 0x00 }, { 0x94, 0x14 }, { 0x95, 0x30 }, + { 0x96, 0x00 }, { 0x97, 0xa3 }, + { 0x98, 0x22 }, + } + }, + { { 2400 }, 20864, { 7451, 8661, 7405 }, { 0, 2, 1, 3 }, { + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x06 }, + { 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 }, + { 0x61, 0x20 }, + { 0x70, 0x06 }, { 0x71, 0x08 }, { 0x72, 0x08 }, { 0x73, 0x0a }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x12 }, { 0x89, 0x47 }, + { 0x93, 0x00 }, { 0x94, 0x14 }, { 0x95, 0x30 }, + { 0x96, 0x00 }, { 0x97, 0xa3 }, + { 0x98, 0x24 }, + } + } + }; + + for (const auto& setting : custom_settings) { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.exposure = setting.exposure; + sensor.segment_order = setting.segment_order; + sensor.custom_regs = setting.custom_regs; + s_sensors->push_back(sensor); + } + } + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CIS_CANON_LIDE_120; + sensor.optical_res = 2400; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 87; + sensor.dummy_pixel = 16; + sensor.ccd_start_xoffset = 303; + // SEGCNT at 600 DPI by number of segments + sensor.sensor_pixels = 5104*4; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.gamma = { 2.2f, 2.2f, 2.2f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = get_ccd_size_divisor_gl124; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + int exposure_lperiod; + SensorExposure exposure; + std::vector segment_order; + GenesysRegisterSettingSet custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 75, 100, 150, 300 }, 4608, { 1244, 1294, 1144 }, std::vector{}, { + { 0x16, 0x15 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x02 }, + { 0x52, 0x04 }, { 0x53, 0x06 }, { 0x54, 0x00 }, { 0x55, 0x02 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x3a }, { 0x5b, 0x00 }, { 0x5c, 0x00 }, + { 0x61, 0x20 }, + { 0x70, 0x00 }, { 0x71, 0x1f }, { 0x72, 0x08 }, { 0x73, 0x0a }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x0f }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x00 }, { 0x89, 0x5e }, + { 0x93, 0x00 }, { 0x94, 0x09 }, { 0x95, 0xf8 }, + { 0x96, 0x00 }, { 0x97, 0x70 }, + { 0x98, 0x21 }, + }, + }, + { { 600 }, 5360, { 2394, 2444, 2144 }, std::vector{}, { + { 0x16, 0x11 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x02 }, + { 0x52, 0x04 }, { 0x53, 0x06 }, { 0x54, 0x00 }, { 0x55, 0x02 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x3a }, { 0x5b, 0x00 }, { 0x5c, 0x00 }, + { 0x61, 0x20 }, + { 0x70, 0x1f }, { 0x71, 0x1f }, { 0x72, 0x08 }, { 0x73, 0x0a }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x0f }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x00 }, { 0x89, 0x5e }, + { 0x93, 0x00 }, { 0x94, 0x13 }, { 0x95, 0xf0 }, + { 0x96, 0x00 }, { 0x97, 0x8b }, + { 0x98, 0x21 }, + }, + }, + { { 1200 }, 10528, { 4694, 4644, 4094 }, std::vector{}, { + { 0x16, 0x15 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x02 }, + { 0x52, 0x04 }, { 0x53, 0x06 }, { 0x54, 0x00 }, { 0x55, 0x02 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x3a }, { 0x5b, 0x00 }, { 0x5c, 0x00 }, + { 0x61, 0x20 }, + { 0x70, 0x1f }, { 0x71, 0x1f }, { 0x72, 0x08 }, { 0x73, 0x0a }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x0f }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x00 }, { 0x89, 0x5e }, + { 0x93, 0x00 }, { 0x94, 0x27 }, { 0x95, 0xe0 }, + { 0x96, 0x00 }, { 0x97, 0xc0 }, + { 0x98, 0x21 }, + }, + }, + { { 2400 }, 20864, { 8944, 8144, 7994 }, std::vector{}, { + { 0x16, 0x11 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x00 }, { 0x20, 0x02 }, + { 0x52, 0x04 }, { 0x53, 0x06 }, { 0x54, 0x00 }, { 0x55, 0x02 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x3a }, { 0x5b, 0x00 }, { 0x5c, 0x00 }, + { 0x61, 0x20 }, + { 0x70, 0x00 }, { 0x71, 0x1f }, { 0x72, 0x08 }, { 0x73, 0x0a }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x0f }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x00 }, { 0x89, 0x5e }, + { 0x93, 0x00 }, { 0x94, 0x4f }, { 0x95, 0xc0 }, + { 0x96, 0x01 }, { 0x97, 0x2a }, + { 0x98, 0x21 }, + } + }, + }; + + for (const auto& setting : custom_settings) { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.exposure = setting.exposure; + sensor.segment_order = setting.segment_order; + sensor.custom_regs = setting.custom_regs; + s_sensors->push_back(sensor); + } + } + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CIS_CANON_LIDE_210; + sensor.optical_res = 2400; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 87; + sensor.dummy_pixel = 16; + sensor.ccd_start_xoffset = 303; + sensor.sensor_pixels = 5168*4; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.gamma = { 2.2f, 2.2f, 2.2f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = get_ccd_size_divisor_gl124; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + int exposure_lperiod; + SensorExposure exposure; + std::vector segment_order; + GenesysRegisterSettingSet custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 75, 100, 150, 300 }, 2768, { 388, 574, 393 }, std::vector{}, { + // { 0x16, 0x00 }, // FIXME: check if default value is different + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x0c }, + { 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 }, + { 0x61, 0x20 }, + // { 0x70, 0x00 }, // FIXME: check if default value is different + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x00 }, { 0x89, 0x65 }, + { 0x93, 0x00 }, { 0x94, 0x0a }, { 0x95, 0x18 }, + { 0x96, 0x00 }, { 0x97, 0x9a }, + { 0x98, 0x21 }, + } + }, + { { 600 }, 5360, { 388, 574, 393 }, std::vector{}, { + // { 0x16, 0x00 }, // FIXME: check if default value is different + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x0a }, + { 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 }, + { 0x61, 0x20 }, + // { 0x70, 0x00 }, // FIXME: check if default value is different + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x00 }, { 0x89, 0x65 }, + { 0x93, 0x00 }, { 0x94, 0x14 }, { 0x95, 0x30 }, + { 0x96, 0x00 }, { 0x97, 0xa3 }, + { 0x98, 0x21 }, + } + }, + { { 1200 }, 10528, { 388, 574, 393 }, {0, 1}, { + // { 0x16, 0x00 }, // FIXME: check if default value is different + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x08 }, + { 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 }, + { 0x61, 0x20 }, + // { 0x70, 0x00 }, // FIXME: check if default value is different + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x00 }, { 0x89, 0x65 }, + { 0x93, 0x00 }, { 0x94, 0x14 }, { 0x95, 0x30 }, + { 0x96, 0x00 }, { 0x97, 0xa3 }, + { 0x98, 0x22 }, + }, + }, + { { 2400 }, 20864, { 6839, 8401, 6859 }, {0, 2, 1, 3}, { + // { 0x16, 0x00 }, // FIXME: check if default value is different + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x06 }, + { 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 }, + { 0x61, 0x20 }, + // { 0x70, 0x00 }, // FIXME: check if default value is different + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x1e }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x12 }, { 0x89, 0x47 }, + { 0x93, 0x00 }, { 0x94, 0x14 }, { 0x95, 0x30 }, + { 0x96, 0x00 }, { 0x97, 0xa3 }, + { 0x98, 0x24 }, + }, + } + }; + + for (const auto& setting : custom_settings) { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.exposure = setting.exposure; + sensor.segment_order = setting.segment_order; + sensor.custom_regs = setting.custom_regs; + s_sensors->push_back(sensor); + } + } + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CIS_CANON_LIDE_220; + sensor.optical_res = 2400; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 87; + sensor.dummy_pixel = 16; + sensor.ccd_start_xoffset = 303; + sensor.sensor_pixels = 5168*4; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.gamma = { 2.2f, 2.2f, 2.2f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = get_ccd_size_divisor_gl124; + + { + struct CustomSensorSettings { + ResolutionFilter resolutions; + int exposure_lperiod; + SensorExposure exposure; + std::vector segment_order; + GenesysRegisterSettingSet custom_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 75, 100, 150, 300 }, 2768, { 388, 574, 393 }, std::vector{}, { + // { 0x16, 0x00 }, // FIXME: check if default value is different + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x0c }, + { 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 }, + { 0x61, 0x20 }, + // { 0x70, 0x00 }, // FIXME: check if default value is different + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x0f }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x00 }, { 0x89, 0x65 }, + { 0x93, 0x00 }, { 0x94, 0x0a }, { 0x95, 0x18 }, + { 0x96, 0x00 }, { 0x97, 0x9a }, + { 0x98, 0x21 }, + } + }, + { { 600 }, 5360, { 388, 574, 393 }, std::vector{}, { + // { 0x16, 0x00 }, // FIXME: check if default value is different + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x0a }, + { 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 }, + { 0x61, 0x20 }, + // { 0x70, 0x00 }, // FIXME: check if default value is different + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x0f }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x00 }, { 0x89, 0x65 }, + { 0x93, 0x00 }, { 0x94, 0x14 }, { 0x95, 0x30 }, + { 0x96, 0x00 }, { 0x97, 0xa3 }, + { 0x98, 0x21 }, + } + }, + { { 1200 }, 10528, { 388, 574, 393 }, {0, 1}, { + // { 0x16, 0x00 }, // FIXME: check if default value is different + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x08 }, + { 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 }, + { 0x61, 0x20 }, + // { 0x70, 0x00 }, // FIXME: check if default value is different + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x0f }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x00 }, { 0x89, 0x65 }, + { 0x93, 0x00 }, { 0x94, 0x14 }, { 0x95, 0x30 }, + { 0x96, 0x00 }, { 0x97, 0xa3 }, + { 0x98, 0x22 }, + } + }, + { { 2400 }, 20864, { 6839, 8401, 6859 }, {0, 2, 1, 3}, { + // { 0x16, 0x00 }, // FIXME: check if default value is different + { 0x16, 0x10 }, { 0x17, 0x04 }, { 0x18, 0x00 }, { 0x19, 0x01 }, + { 0x1a, 0x30 }, { 0x1b, 0x00 }, { 0x1c, 0x02 }, { 0x1d, 0x01 }, { 0x20, 0x06 }, + { 0x52, 0x00 }, { 0x53, 0x02 }, { 0x54, 0x04 }, { 0x55, 0x06 }, + { 0x56, 0x04 }, { 0x57, 0x04 }, { 0x58, 0x04 }, { 0x59, 0x04 }, + { 0x5a, 0x1a }, { 0x5b, 0x00 }, { 0x5c, 0xc0 }, + { 0x61, 0x20 }, + // { 0x70, 0x00 }, // FIXME: check if default value is different + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x0f }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + { 0x88, 0x12 }, { 0x89, 0x47 }, + { 0x93, 0x00 }, { 0x94, 0x14 }, { 0x95, 0x30 }, + { 0x96, 0x00 }, { 0x97, 0xa3 }, + { 0x98, 0x24 }, + }, + } + }; + + for (const auto& setting : custom_settings) { + sensor.resolutions = setting.resolutions; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.exposure = setting.exposure; + sensor.segment_order = setting.segment_order; + sensor.custom_regs = setting.custom_regs; + s_sensors->push_back(sensor); + } + } + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_PLUSTEK_OPTICPRO_3600; + sensor.optical_res = 1200; + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 87; + sensor.dummy_pixel = 87; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10100; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x0b, 0x00 }, + { 0x16, 0x33 }, + { 0x17, 0x0b }, + { 0x18, 0x11 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0xc4 }, + { 0x52, 0x07 }, // [GB](HI|LOW) not needed for cis + { 0x53, 0x0a }, + { 0x54, 0x0c }, + { 0x55, 0x00 }, + { 0x56, 0x02 }, + { 0x57, 0x06 }, + { 0x58, 0x22 }, + { 0x59, 0x69 }, + { 0x5a, 0x40 }, + { 0x5b, 0x00 }, // TODO: 5b-5e + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x02 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_PLUSTEK_OPTICFILM_7200I; + sensor.optical_res = 7200; + sensor.register_dpihw_override = 1200; + sensor.black_pixels = 88; // TODO + sensor.dummy_pixel = 20; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10200; // TODO + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.stagger_config = StaggerConfig{7200, 4}; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x16, 0x23 }, + { 0x17, 0x0c }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x21 }, + { 0x1d, 0x84 }, + { 0x52, 0x0a }, + { 0x53, 0x0d }, + { 0x54, 0x10 }, + { 0x55, 0x01 }, + { 0x56, 0x04 }, + { 0x57, 0x07 }, + { 0x58, 0x3a }, + { 0x59, 0x81 }, + { 0x5a, 0xc0 }, + { 0x70, 0x0a }, + { 0x71, 0x0b }, + { 0x72, 0x0c }, + { 0x73, 0x0d }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x00 }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = get_ccd_size_divisor_exact; + { + struct CustomSensorSettings + { + ResolutionFilter resolutions; + ScanMethod method; + unsigned ccd_size_divisor; + unsigned logical_dpihw_override; + unsigned pixel_count_multiplier; + unsigned exposure_lperiod; + unsigned dpiset_override; + GenesysRegisterSettingSet custom_fe_regs; + }; + + CustomSensorSettings custom_settings[] = { + { { 900 }, ScanMethod::TRANSPARENCY, 1, 900, 8, 0x2538, 150, {} }, + { { 1800 }, ScanMethod::TRANSPARENCY, 1, 1800, 4, 0x2538, 300, {} }, + { { 3600 }, ScanMethod::TRANSPARENCY, 1, 3600, 2, 0x2538, 600, {} }, + { { 7200 }, ScanMethod::TRANSPARENCY, 1, 7200, 1, 0x19c8, 1200, { + { 0x02, 0x1b }, + { 0x03, 0x14 }, + { 0x04, 0x20 }, + } + }, + { { 900 }, ScanMethod::TRANSPARENCY_INFRARED, 1, 900, 8, 0x1f54, 150, {} }, + { { 1800 }, ScanMethod::TRANSPARENCY_INFRARED, 1, 1800, 4, 0x1f54, 300, {} }, + { { 3600 }, ScanMethod::TRANSPARENCY_INFRARED, 1, 3600, 2, 0x1f54, 600, {} }, + { { 7200 }, ScanMethod::TRANSPARENCY_INFRARED, 1, 7200, 1, 0x1f54, 1200, {} }, + }; + + for (const CustomSensorSettings& setting : custom_settings) { + sensor.resolutions = setting.resolutions; + sensor.method = setting.method; + sensor.ccd_size_divisor = setting.ccd_size_divisor; + sensor.logical_dpihw_override = setting.logical_dpihw_override; + sensor.pixel_count_multiplier = setting.pixel_count_multiplier; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.dpiset_override = setting.dpiset_override; + sensor.custom_fe_regs = setting.custom_fe_regs; + s_sensors->push_back(sensor); + } + } + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_PLUSTEK_OPTICFILM_7300; + sensor.optical_res = 7200; + sensor.method = ScanMethod::TRANSPARENCY; + sensor.register_dpihw_override = 1200; + sensor.black_pixels = 88; // TODO + sensor.dummy_pixel = 20; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10200; // TODO + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.exposure_lperiod = 0x2f44; + sensor.stagger_config = StaggerConfig{7200, 4}; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x16, 0x27 }, + { 0x17, 0x0c }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x84 }, + { 0x52, 0x0a }, + { 0x53, 0x0d }, + { 0x54, 0x0f }, + { 0x55, 0x01 }, + { 0x56, 0x04 }, + { 0x57, 0x07 }, + { 0x58, 0x31 }, + { 0x59, 0x79 }, + { 0x5a, 0xc0 }, + { 0x70, 0x0c }, + { 0x71, 0x0d }, + { 0x72, 0x0e }, + { 0x73, 0x0f }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x00 }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = get_ccd_size_divisor_exact; + { + struct CustomSensorSettings + { + ResolutionFilter resolutions; + unsigned ccd_size_divisor; + unsigned logical_dpihw_override; + unsigned pixel_count_multiplier; + unsigned dpiset_override; + }; + + CustomSensorSettings custom_settings[] = { + { { 900 }, 1, 900, 8, 150 }, + { { 1800 }, 1, 1800, 4, 300 }, + { { 3600 }, 1, 3600, 2, 600 }, + { { 7200 }, 1, 7200, 1, 1200 }, + }; + + for (const CustomSensorSettings& setting : custom_settings) { + sensor.resolutions = setting.resolutions; + sensor.ccd_size_divisor = setting.ccd_size_divisor; + sensor.logical_dpihw_override = setting.logical_dpihw_override; + sensor.pixel_count_multiplier = setting.pixel_count_multiplier; + sensor.dpiset_override = setting.dpiset_override; + s_sensors->push_back(sensor); + } + } + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_PLUSTEK_OPTICFILM_7500I; + sensor.optical_res = 7200; + sensor.register_dpihw_override = 1200; + sensor.black_pixels = 88; // TODO + sensor.dummy_pixel = 20; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10200; // TODO + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.stagger_config = StaggerConfig{7200, 4}; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0a, 0x00 }, + { 0x16, 0x27 }, + { 0x17, 0x0c }, + { 0x18, 0x10 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x20 }, + { 0x1d, 0x84 }, + { 0x52, 0x0a }, + { 0x53, 0x0d }, + { 0x54, 0x0f }, + { 0x55, 0x01 }, + { 0x56, 0x04 }, + { 0x57, 0x07 }, + { 0x58, 0x31 }, + { 0x59, 0x79 }, + { 0x5a, 0xc0 }, + { 0x70, 0x0c }, + { 0x71, 0x0d }, + { 0x72, 0x0e }, + { 0x73, 0x0f }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x00 }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = get_ccd_size_divisor_exact; + { + struct CustomSensorSettings + { + ResolutionFilter resolutions; + ScanMethod method; + unsigned ccd_size_divisor; + unsigned logical_dpihw_override; + unsigned pixel_count_multiplier; + unsigned exposure_lperiod; + unsigned dpiset_override; + }; + + CustomSensorSettings custom_settings[] = { + { { 900 }, ScanMethod::TRANSPARENCY, 1, 900, 8, 0x2f44, 150 }, + { { 1800 }, ScanMethod::TRANSPARENCY, 1, 1800, 4, 0x2f44, 300 }, + { { 3600 }, ScanMethod::TRANSPARENCY, 1, 3600, 2, 0x2f44, 600 }, + { { 7200 }, ScanMethod::TRANSPARENCY, 1, 7200, 1, 0x2f44, 1200 }, + { { 900 }, ScanMethod::TRANSPARENCY_INFRARED, 1, 900, 8, 0x2af8, 150 }, + { { 1800 }, ScanMethod::TRANSPARENCY_INFRARED, 1, 1800, 4, 0x2af8, 300 }, + { { 3600 }, ScanMethod::TRANSPARENCY_INFRARED, 1, 3600, 2, 0x2af8, 600 }, + { { 7200 }, ScanMethod::TRANSPARENCY_INFRARED, 1, 7200, 1, 0x2af8, 1200 }, + }; + + for (const CustomSensorSettings& setting : custom_settings) { + sensor.resolutions = setting.resolutions; + sensor.method = setting.method; + sensor.ccd_size_divisor = setting.ccd_size_divisor; + sensor.logical_dpihw_override = setting.logical_dpihw_override; + sensor.pixel_count_multiplier = setting.pixel_count_multiplier; + sensor.exposure_lperiod = setting.exposure_lperiod; + sensor.dpiset_override = setting.dpiset_override; + s_sensors->push_back(sensor); + } + } + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_IMG101; + sensor.resolutions = { 75, 100, 150, 300, 600, 1200 }; + sensor.exposure_lperiod = 11000; + sensor.segment_size = 5136; + sensor.segment_order = {0, 1}; + sensor.optical_res = 1200; + sensor.black_pixels = 31; + sensor.dummy_pixel = 31; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10800; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x16, 0xbb }, { 0x17, 0x13 }, { 0x18, 0x10 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x20 }, { 0x1d, 0x06 }, + { 0x52, 0x02 }, { 0x53, 0x04 }, { 0x54, 0x06 }, { 0x55, 0x08 }, + { 0x56, 0x0a }, { 0x57, 0x00 }, { 0x58, 0x59 }, { 0x59, 0x31 }, { 0x5a, 0x40 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x3c }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + }; + sensor.gamma = { 1.7f, 1.7f, 1.7f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CCD_PLUSTEK_OPTICBOOK_3800; + sensor.resolutions = { 75, 100, 150, 300, 600, 1200 }; + sensor.exposure_lperiod = 11000; + sensor.optical_res = 1200; + sensor.black_pixels = 31; + sensor.dummy_pixel = 31; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10200; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 200; + sensor.exposure = { 0, 0, 0 }; + sensor.custom_regs = { + { 0x16, 0xbb }, { 0x17, 0x13 }, { 0x18, 0x10 }, { 0x19, 0xff }, + { 0x1a, 0x34 }, { 0x1b, 0x00 }, { 0x1c, 0x20 }, { 0x1d, 0x06 }, + { 0x52, 0x02 }, { 0x53, 0x04 }, { 0x54, 0x06 }, { 0x55, 0x08 }, + { 0x56, 0x0a }, { 0x57, 0x00 }, { 0x58, 0x59 }, { 0x59, 0x31 }, { 0x5a, 0x40 }, + { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x3c }, + { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x9f }, + { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x55 }, + }; + sensor.gamma = { 1.7f, 1.7f, 1.7f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); + + + sensor = Genesys_Sensor(); + sensor.sensor_id = SensorId::CIS_CANON_LIDE_80; + sensor.optical_res = 1200; // real hardware limit is 2400 + sensor.ccd_size_divisor = 2; + sensor.black_pixels = 20; + sensor.dummy_pixel = 6; + // tuned to give 3*8 multiple startx coordinate during shading calibration + sensor.ccd_start_xoffset = 34; // 14=>3, 20=>2 + // 10400, too wide=>10288 in shading data 10240~ + // 10208 too short for shading, max shading data = 10240 pixels, endpix-startpix=10208 + sensor.sensor_pixels = 10240; + sensor.fau_gain_white_ref = 150; + sensor.gain_white_ref = 150; + // maps to 0x70-0x73 for GL841 + sensor.exposure = { 0x1000, 0x1000, 0x0500 }; + sensor.custom_regs = { + { 0x08, 0x00 }, + { 0x09, 0x05 }, + { 0x0a, 0x07 }, + { 0x0b, 0x09 }, + { 0x16, 0x00 }, + { 0x17, 0x01 }, + { 0x18, 0x00 }, + { 0x19, 0x06 }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x04 }, + { 0x52, 0x03 }, + { 0x53, 0x07 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x29 }, + { 0x59, 0x69 }, + { 0x5a, 0x55 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x20 }, + { 0x5e, 0x41 }, + }; + sensor.gamma = { 1.0f, 1.0f, 1.0f }; + sensor.get_logical_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_register_hwdpi_fun = default_get_logical_hwdpi; + sensor.get_hwdpi_divisor_fun = default_get_hwdpi_divisor_for_dpi; + sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi; + s_sensors->push_back(sensor); +} + +} // namespace genesys diff --git a/backend/genesys/test_scanner_interface.cpp b/backend/genesys/test_scanner_interface.cpp new file mode 100644 index 0000000..12f726f --- /dev/null +++ b/backend/genesys/test_scanner_interface.cpp @@ -0,0 +1,229 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "test_scanner_interface.h" +#include "device.h" +#include + +namespace genesys { + +TestScannerInterface::TestScannerInterface(Genesys_Device* dev) : dev_{dev} +{ + // initialize status registers + if (dev_->model->asic_type == AsicType::GL124) { + write_register(0x101, 0x00); + } else { + write_register(0x41, 0x00); + } + if (dev_->model->asic_type == AsicType::GL841 || + dev_->model->asic_type == AsicType::GL843 || + dev_->model->asic_type == AsicType::GL845 || + dev_->model->asic_type == AsicType::GL846 || + dev_->model->asic_type == AsicType::GL847) + { + write_register(0x40, 0x00); + } + + // initialize other registers that we read on init + if (dev_->model->asic_type == AsicType::GL124) { + write_register(0x33, 0x00); + write_register(0xbd, 0x00); + write_register(0xbe, 0x00); + write_register(0x100, 0x00); + } + + if (dev_->model->asic_type == AsicType::GL845 || + dev_->model->asic_type == AsicType::GL846 || + dev_->model->asic_type == AsicType::GL847) + { + write_register(0xbd, 0x00); + write_register(0xbe, 0x00); + + write_register(0xd0, 0x00); + write_register(0xd1, 0x01); + write_register(0xd2, 0x02); + write_register(0xd3, 0x03); + write_register(0xd4, 0x04); + write_register(0xd5, 0x05); + write_register(0xd6, 0x06); + write_register(0xd7, 0x07); + write_register(0xd8, 0x08); + write_register(0xd9, 0x09); + } +} + +TestScannerInterface::~TestScannerInterface() = default; + +bool TestScannerInterface::is_mock() const +{ + return true; +} + +std::uint8_t TestScannerInterface::read_register(std::uint16_t address) +{ + return cached_regs_.get(address); +} + +void TestScannerInterface::write_register(std::uint16_t address, std::uint8_t value) +{ + cached_regs_.update(address, value); +} + +void TestScannerInterface::write_registers(const Genesys_Register_Set& regs) +{ + cached_regs_.update(regs); +} + + +void TestScannerInterface::write_0x8c(std::uint8_t index, std::uint8_t value) +{ + (void) index; + (void) value; +} + +void TestScannerInterface::bulk_read_data(std::uint8_t addr, std::uint8_t* data, std::size_t size) +{ + (void) addr; + std::memset(data, 0, size); +} + +void TestScannerInterface::bulk_write_data(std::uint8_t addr, std::uint8_t* data, std::size_t size) +{ + (void) addr; + (void) data; + (void) size; +} + +void TestScannerInterface::write_buffer(std::uint8_t type, std::uint32_t addr, std::uint8_t* data, + std::size_t size, Flags flags) +{ + (void) type; + (void) addr; + (void) data; + (void) size; + (void) flags; +} + +void TestScannerInterface::write_gamma(std::uint8_t type, std::uint32_t addr, std::uint8_t* data, + std::size_t size, Flags flags) +{ + (void) type; + (void) addr; + (void) data; + (void) size; + (void) flags; +} + +void TestScannerInterface::write_ahb(std::uint32_t addr, std::uint32_t size, std::uint8_t* data) +{ + (void) addr; + (void) size; + (void) data; +} + +std::uint16_t TestScannerInterface::read_fe_register(std::uint8_t address) +{ + return cached_fe_regs_.get(address); +} + +void TestScannerInterface::write_fe_register(std::uint8_t address, std::uint16_t value) +{ + cached_fe_regs_.update(address, value); +} + +IUsbDevice& TestScannerInterface::get_usb_device() +{ + return usb_dev_; +} + +void TestScannerInterface::sleep_us(unsigned microseconds) +{ + (void) microseconds; +} + +void TestScannerInterface::record_slope_table(unsigned table_nr, + const std::vector& steps) +{ + slope_tables_[table_nr] = steps; +} + +std::map>& TestScannerInterface::recorded_slope_tables() +{ + return slope_tables_; +} + +void TestScannerInterface::record_progress_message(const char* msg) +{ + last_progress_message_ = msg; +} + +const std::string& TestScannerInterface::last_progress_message() const +{ + return last_progress_message_; +} + +void TestScannerInterface::record_key_value(const std::string& key, const std::string& value) +{ + key_values_[key] = value; +} + +std::map& TestScannerInterface::recorded_key_values() +{ + return key_values_; +} + +void TestScannerInterface::test_checkpoint(const std::string& name) +{ + if (checkpoint_callback_) { + checkpoint_callback_(*dev_, *this, name); + } +} + +void TestScannerInterface::set_checkpoint_callback(TestCheckpointCallback callback) +{ + checkpoint_callback_ = callback; +} + +} // namespace genesys diff --git a/backend/genesys/test_scanner_interface.h b/backend/genesys/test_scanner_interface.h new file mode 100644 index 0000000..acf0f6d --- /dev/null +++ b/backend/genesys/test_scanner_interface.h @@ -0,0 +1,122 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_TEST_SCANNER_INTERFACE_H +#define BACKEND_GENESYS_TEST_SCANNER_INTERFACE_H + +#include "scanner_interface.h" +#include "register_cache.h" +#include "test_usb_device.h" +#include "test_settings.h" + +#include + +namespace genesys { + +class TestScannerInterface : public ScannerInterface +{ +public: + TestScannerInterface(Genesys_Device* dev); + + ~TestScannerInterface() override; + + bool is_mock() const override; + + const RegisterCache& cached_regs() const { return cached_regs_; } + const RegisterCache& cached_fe_regs() const { return cached_fe_regs_; } + + std::uint8_t read_register(std::uint16_t address) override; + void write_register(std::uint16_t address, std::uint8_t value) override; + void write_registers(const Genesys_Register_Set& regs) override; + + void write_0x8c(std::uint8_t index, std::uint8_t value) override; + void bulk_read_data(std::uint8_t addr, std::uint8_t* data, std::size_t size) override; + void bulk_write_data(std::uint8_t addr, std::uint8_t* data, std::size_t size) override; + + void write_buffer(std::uint8_t type, std::uint32_t addr, std::uint8_t* data, + std::size_t size, Flags flags) override; + void write_gamma(std::uint8_t type, std::uint32_t addr, std::uint8_t* data, + std::size_t size, Flags flags) override; + void write_ahb(std::uint32_t addr, std::uint32_t size, std::uint8_t* data) override; + + std::uint16_t read_fe_register(std::uint8_t address) override; + void write_fe_register(std::uint8_t address, std::uint16_t value) override; + + IUsbDevice& get_usb_device() override; + + void sleep_us(unsigned microseconds) override; + + void record_progress_message(const char* msg) override; + + const std::string& last_progress_message() const; + + void record_slope_table(unsigned table_nr, const std::vector& steps) override; + + std::map>& recorded_slope_tables(); + + void record_key_value(const std::string& key, const std::string& value) override; + + std::map& recorded_key_values(); + + void test_checkpoint(const std::string& name) override; + + void set_checkpoint_callback(TestCheckpointCallback callback); + +private: + Genesys_Device* dev_; + + RegisterCache cached_regs_; + RegisterCache cached_fe_regs_; + TestUsbDevice usb_dev_; + + TestCheckpointCallback checkpoint_callback_; + + std::map> slope_tables_; + + std::string last_progress_message_; + std::map key_values_; +}; + +} // namespace genesys + +#endif diff --git a/backend/genesys/test_settings.cpp b/backend/genesys/test_settings.cpp new file mode 100644 index 0000000..425f09c --- /dev/null +++ b/backend/genesys/test_settings.cpp @@ -0,0 +1,106 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "test_settings.h" + +namespace genesys { + +namespace { + +bool s_testing_mode = false; +std::uint16_t s_vendor_id = 0; +std::uint16_t s_product_id = 0; +TestCheckpointCallback s_checkpoint_callback; + +} // namespace + +bool is_testing_mode() +{ + return s_testing_mode; +} + +void disable_testing_mode() +{ + s_testing_mode = false; + s_vendor_id = 0; + s_product_id = 0; + +} + +void enable_testing_mode(std::uint16_t vendor_id, std::uint16_t product_id, + TestCheckpointCallback checkpoint_callback) +{ + s_testing_mode = true; + s_vendor_id = vendor_id; + s_product_id = product_id; + s_checkpoint_callback = checkpoint_callback; +} + +std::uint16_t get_testing_vendor_id() +{ + return s_vendor_id; +} + +std::uint16_t get_testing_product_id() +{ + return s_product_id; +} + +std::string get_testing_device_name() +{ + std::string name; + unsigned max_size = 50; + name.resize(max_size); + name.resize(std::snprintf(&name.front(), max_size, "test device:0x%04x:0x%04x", + s_vendor_id, s_product_id)); + return name; +} + +TestCheckpointCallback get_testing_checkpoint_callback() +{ + return s_checkpoint_callback; +} + +} // namespace genesys diff --git a/backend/genesys/test_settings.h b/backend/genesys/test_settings.h new file mode 100644 index 0000000..8ac03e0 --- /dev/null +++ b/backend/genesys/test_settings.h @@ -0,0 +1,70 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_TEST_SETTINGS_H +#define BACKEND_GENESYS_TEST_SETTINGS_H + +#include "scanner_interface.h" +#include "register_cache.h" +#include "test_usb_device.h" +#include + +namespace genesys { + +using TestCheckpointCallback = std::function; + +bool is_testing_mode(); +void disable_testing_mode(); +void enable_testing_mode(std::uint16_t vendor_id, std::uint16_t product_id, + TestCheckpointCallback checkpoint_callback); +std::uint16_t get_testing_vendor_id(); +std::uint16_t get_testing_product_id(); +std::string get_testing_device_name(); +TestCheckpointCallback get_testing_checkpoint_callback(); + + +} // namespace genesys + +#endif // BACKEND_GENESYS_TEST_SETTINGS_H diff --git a/backend/genesys/test_usb_device.cpp b/backend/genesys/test_usb_device.cpp new file mode 100644 index 0000000..de2399e --- /dev/null +++ b/backend/genesys/test_usb_device.cpp @@ -0,0 +1,141 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "test_usb_device.h" +#include "low.h" + +namespace genesys { + +TestUsbDevice::TestUsbDevice(std::uint16_t vendor, std::uint16_t product) : + vendor_{vendor}, + product_{product} +{ +} + +TestUsbDevice::~TestUsbDevice() +{ + if (is_open()) { + DBG(DBG_error, "TestUsbDevice not closed; closing automatically"); + close(); + } +} + +void TestUsbDevice::open(const char* dev_name) +{ + DBG_HELPER(dbg); + + if (is_open()) { + throw SaneException("device already open"); + } + name_ = dev_name; + is_open_ = true; +} + +void TestUsbDevice::clear_halt() +{ + DBG_HELPER(dbg); + assert_is_open(); +} + +void TestUsbDevice::reset() +{ + DBG_HELPER(dbg); + assert_is_open(); +} + +void TestUsbDevice::close() +{ + DBG_HELPER(dbg); + assert_is_open(); + + is_open_ = false; + name_ = ""; +} + +void TestUsbDevice::get_vendor_product(int& vendor, int& product) +{ + DBG_HELPER(dbg); + assert_is_open(); + vendor = vendor_; + product = product_; +} + +void TestUsbDevice::control_msg(int rtype, int reg, int value, int index, int length, + std::uint8_t* data) +{ + (void) reg; + (void) value; + (void) index; + DBG_HELPER(dbg); + assert_is_open(); + if (rtype == REQUEST_TYPE_IN) { + std::memset(data, 0, length); + } +} + +void TestUsbDevice::bulk_read(std::uint8_t* buffer, std::size_t* size) +{ + + DBG_HELPER(dbg); + assert_is_open(); + std::memset(buffer, 0, *size); +} + +void TestUsbDevice::bulk_write(const std::uint8_t* buffer, std::size_t* size) +{ + (void) buffer; + (void) size; + DBG_HELPER(dbg); + assert_is_open(); +} + +void TestUsbDevice::assert_is_open() const +{ + if (!is_open()) { + throw SaneException("device not open"); + } +} + +} // namespace genesys diff --git a/backend/genesys/test_usb_device.h b/backend/genesys/test_usb_device.h new file mode 100644 index 0000000..abbd78a --- /dev/null +++ b/backend/genesys/test_usb_device.h @@ -0,0 +1,85 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_TEST_USB_DEVICE_H +#define BACKEND_GENESYS_TEST_USB_DEVICE_H + +#include "usb_device.h" + +namespace genesys { + +class TestUsbDevice : public IUsbDevice { +public: + TestUsbDevice(std::uint16_t vendor, std::uint16_t product); + TestUsbDevice() = default; + + ~TestUsbDevice() override; + + bool is_open() const override { return is_open_; } + + const std::string& name() const override { return name_; } + + void open(const char* dev_name) override; + + void clear_halt() override; + void reset() override; + void close() override; + + void get_vendor_product(int& vendor, int& product) override; + + void control_msg(int rtype, int reg, int value, int index, int length, + std::uint8_t* data) override; + void bulk_read(std::uint8_t* buffer, std::size_t* size) override; + void bulk_write(const std::uint8_t* buffer, std::size_t* size) override; +private: + void assert_is_open() const; + + std::string name_; + bool is_open_ = false; + std::uint16_t vendor_ = 0; + std::uint16_t product_ = 0; +}; + +} // namespace genesys + +#endif // BACKEND_GENESYS_TEST_USB_DEVICE_H diff --git a/backend/genesys/usb_device.cpp b/backend/genesys/usb_device.cpp new file mode 100644 index 0000000..2d02219 --- /dev/null +++ b/backend/genesys/usb_device.cpp @@ -0,0 +1,147 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "usb_device.h" + +namespace genesys { + +IUsbDevice::~IUsbDevice() = default; + +UsbDevice::~UsbDevice() +{ + if (is_open()) { + DBG(DBG_error, "UsbDevice not closed; closing automatically"); + close(); + } +} + +void UsbDevice::open(const char* dev_name) +{ + DBG_HELPER(dbg); + + if (is_open()) { + throw SaneException("device already open"); + } + int device_num = 0; + + dbg.status("open device"); + TIE(sanei_usb_open(dev_name, &device_num)); + + name_ = dev_name; + device_num_ = device_num; + is_open_ = true; +} + +void UsbDevice::clear_halt() +{ + DBG_HELPER(dbg); + assert_is_open(); + TIE(sanei_usb_clear_halt(device_num_)); +} + +void UsbDevice::reset() +{ + DBG_HELPER(dbg); + assert_is_open(); + TIE(sanei_usb_reset(device_num_)); +} + +void UsbDevice::close() +{ + DBG_HELPER(dbg); + assert_is_open(); + + // we can't do much if closing fails, so we close the device on our side regardless of the + // function succeeds + int device_num = device_num_; + + set_not_open(); + sanei_usb_close(device_num); +} + +void UsbDevice::get_vendor_product(int& vendor, int& product) +{ + DBG_HELPER(dbg); + assert_is_open(); + TIE(sanei_usb_get_vendor_product(device_num_, &vendor, &product)); +} + +void UsbDevice::control_msg(int rtype, int reg, int value, int index, int length, + std::uint8_t* data) +{ + DBG_HELPER(dbg); + assert_is_open(); + TIE(sanei_usb_control_msg(device_num_, rtype, reg, value, index, length, data)); +} + +void UsbDevice::bulk_read(std::uint8_t* buffer, std::size_t* size) +{ + DBG_HELPER(dbg); + assert_is_open(); + TIE(sanei_usb_read_bulk(device_num_, buffer, size)); +} + +void UsbDevice::bulk_write(const std::uint8_t* buffer, std::size_t* size) +{ + DBG_HELPER(dbg); + assert_is_open(); + TIE(sanei_usb_write_bulk(device_num_, buffer, size)); +} + +void UsbDevice::assert_is_open() const +{ + if (!is_open()) { + throw SaneException("device not open"); + } +} + +void UsbDevice::set_not_open() +{ + device_num_ = 0; + is_open_ = false; + name_ = ""; +} + +} // namespace genesys diff --git a/backend/genesys/usb_device.h b/backend/genesys/usb_device.h new file mode 100644 index 0000000..265c57c --- /dev/null +++ b/backend/genesys/usb_device.h @@ -0,0 +1,118 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_USB_DEVICE_H +#define BACKEND_GENESYS_USB_DEVICE_H + +#include "error.h" +#include "../include/sane/sanei_usb.h" + +#include +#include + +namespace genesys { + +class IUsbDevice { +public: + IUsbDevice() = default; + + IUsbDevice(const IUsbDevice& other) = delete; + IUsbDevice& operator=(const IUsbDevice&) = delete; + + virtual ~IUsbDevice(); + + virtual bool is_open() const = 0; + + virtual const std::string& name() const = 0; + + virtual void open(const char* dev_name) = 0; + + virtual void clear_halt() = 0; + virtual void reset() = 0; + virtual void close() = 0; + + virtual void get_vendor_product(int& vendor, int& product) = 0; + + virtual void control_msg(int rtype, int reg, int value, int index, int length, + std::uint8_t* data) = 0; + virtual void bulk_read(std::uint8_t* buffer, std::size_t* size) = 0; + virtual void bulk_write(const std::uint8_t* buffer, std::size_t* size) = 0; + +}; + +class UsbDevice : public IUsbDevice { +public: + UsbDevice() = default; + + ~UsbDevice() override; + + bool is_open() const override { return is_open_; } + + const std::string& name() const override { return name_; } + + void open(const char* dev_name) override; + + void clear_halt() override; + void reset() override; + void close() override; + + void get_vendor_product(int& vendor, int& product) override; + + void control_msg(int rtype, int reg, int value, int index, int length, + std::uint8_t* data) override; + void bulk_read(std::uint8_t* buffer, std::size_t* size) override; + void bulk_write(const std::uint8_t* buffer, std::size_t* size) override; + +private: + + void assert_is_open() const; + void set_not_open(); + + std::string name_; + bool is_open_ = false; + int device_num_ = 0; +}; + +} // namespace genesys + +#endif // BACKEND_GENESYS_USB_DEVICE_H diff --git a/backend/genesys/utilities.h b/backend/genesys/utilities.h new file mode 100644 index 0000000..1e268b5 --- /dev/null +++ b/backend/genesys/utilities.h @@ -0,0 +1,180 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 BACKEND_GENESYS_UTILITIES_H +#define BACKEND_GENESYS_UTILITIES_H + +#include "error.h" +#include +#include +#include +#include + +namespace genesys { + +template +void compute_array_percentile_approx(T* result, const T* data, + std::size_t line_count, std::size_t elements_per_line, + float percentile) +{ + if (line_count == 0) { + throw SaneException("invalid line count"); + } + + if (line_count == 1) { + std::copy(data, data + elements_per_line, result); + return; + } + + std::vector column_elems; + column_elems.resize(line_count, 0); + + std::size_t select_elem = std::min(static_cast(line_count * percentile), + line_count - 1); + + auto select_it = column_elems.begin() + select_elem; + + for (std::size_t ix = 0; ix < elements_per_line; ++ix) { + for (std::size_t iy = 0; iy < line_count; ++iy) { + column_elems[iy] = data[iy * elements_per_line + ix]; + } + + std::nth_element(column_elems.begin(), select_it, column_elems.end()); + + *result++ = *select_it; + } +} + +template +class BasicStreamStateSaver +{ +public: + explicit BasicStreamStateSaver(std::basic_ios& stream) : + stream_{stream} + { + flags_ = stream_.flags(); + width_ = stream_.width(); + precision_ = stream_.precision(); + fill_ = stream_.fill(); + } + + ~BasicStreamStateSaver() + { + stream_.flags(flags_); + stream_.width(width_); + stream_.precision(precision_); + stream_.fill(fill_); + } + + BasicStreamStateSaver(const BasicStreamStateSaver&) = delete; + BasicStreamStateSaver& operator=(const BasicStreamStateSaver&) = delete; + +private: + std::basic_ios& stream_; + std::ios_base::fmtflags flags_; + std::streamsize width_ = 0; + std::streamsize precision_ = 0; + Char fill_ = ' '; +}; + +using StreamStateSaver = BasicStreamStateSaver>; + +template +std::string format_indent_braced_list(unsigned indent, const T& x) +{ + std::string indent_str(indent, ' '); + std::ostringstream out; + out << x; + auto formatted_str = out.str(); + if (formatted_str.empty()) { + return formatted_str; + } + + std::string out_str; + for (std::size_t i = 0; i < formatted_str.size(); ++i) { + out_str += formatted_str[i]; + + if (formatted_str[i] == '\n' && + i < formatted_str.size() - 1 && + formatted_str[i + 1] != '\n') + { + out_str += indent_str; + } + } + return out_str; +} + +template +std::string format_vector_unsigned(unsigned indent, const std::vector& arg) +{ + std::ostringstream out; + std::string indent_str(indent, ' '); + + out << "std::vector{ "; + for (const auto& el : arg) { + out << indent_str << static_cast(el) << "\n"; + } + out << "}"; + return out.str(); +} + +template +std::string format_vector_indent_braced(unsigned indent, const char* type, + const std::vector& arg) +{ + if (arg.empty()) { + return "{}"; + } + std::string indent_str(indent, ' '); + std::stringstream out; + out << "std::vector<" << type << ">{\n"; + for (const auto& item : arg) { + out << indent_str << format_indent_braced_list(indent, item) << '\n'; + } + out << "}"; + return out.str(); +} + +} // namespace genesys + +#endif // BACKEND_GENESYS_UTILITIES_H diff --git a/backend/genesys_conv.cc b/backend/genesys_conv.cc deleted file mode 100644 index 06fd4e0..0000000 --- a/backend/genesys_conv.cc +++ /dev/null @@ -1,474 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2005, 2006 Pierre Willenbrock - Copyright (C) 2010-2013 Stéphane Voltz - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -/* - * Conversion filters for genesys backend - */ - - -/*8 bit*/ -#define SINGLE_BYTE -#define BYTES_PER_COMPONENT 1 -#define COMPONENT_TYPE uint8_t - -#define FUNC_NAME(f) f ## _8 - -#include "genesys_conv_hlp.cc" - -#undef FUNC_NAME - -#undef COMPONENT_TYPE -#undef BYTES_PER_COMPONENT -#undef SINGLE_BYTE - -/*16 bit*/ -#define DOUBLE_BYTE -#define BYTES_PER_COMPONENT 2 -#define COMPONENT_TYPE uint16_t - -#define FUNC_NAME(f) f ## _16 - -#include "genesys_conv_hlp.cc" - -#undef FUNC_NAME - -#undef COMPONENT_TYPE -#undef BYTES_PER_COMPONENT -#undef DOUBLE_BYTE - -static SANE_Status -genesys_reverse_bits( - uint8_t *src_data, - uint8_t *dst_data, - size_t bytes) -{ - size_t i; - for(i = 0; i < bytes; i++) { - *dst_data++ = ~ *src_data++; - } - return SANE_STATUS_GOOD; -} - -/** - * uses the threshold/threshold_curve to control software binarization - * This code was taken from the epjistsu backend by m. allan noah - * @param dev device set up for the scan - * @param src pointer to raw data - * @param dst pointer where to store result - * @param width width of the processed line - * */ -static SANE_Status -binarize_line(Genesys_Device * dev, uint8_t *src, uint8_t *dst, int width) -{ - int j, windowX, sum = 0; - int thresh; - int offset, addCol, dropCol; - unsigned char mask; - - int x; - uint8_t min, max; - - /* normalize line */ - min = 255; - max = 0; - for (x = 0; x < width; x++) - { - if (src[x] > max) - { - max = src[x]; - } - if (src[x] < min) - { - min = src[x]; - } - } - - /* safeguard against dark or white areas */ - if(min>80) - min=0; - if(max<80) - max=255; - for (x = 0; x < width; x++) - { - src[x] = ((src[x] - min) * 255) / (max - min); - } - - /* ~1mm works best, but the window needs to have odd # of pixels */ - windowX = (6 * dev->settings.xres) / 150; - if (!(windowX % 2)) - windowX++; - - /* second, prefill the sliding sum */ - for (j = 0; j < windowX; j++) - sum += src[j]; - - /* third, walk the input buffer, update the sliding sum, */ - /* determine threshold, output bits */ - for (j = 0; j < width; j++) - { - /* output image location */ - offset = j % 8; - mask = 0x80 >> offset; - thresh = dev->settings.threshold; - - /* move sum/update threshold only if there is a curve */ - if (dev->settings.threshold_curve) - { - addCol = j + windowX / 2; - dropCol = addCol - windowX; - - if (dropCol >= 0 && addCol < width) - { - sum -= src[dropCol]; - sum += src[addCol]; - } - thresh = dev->lineart_lut[sum / windowX]; - } - - /* use average to lookup threshold */ - if (src[j] > thresh) - *dst &= ~mask; /* white */ - else - *dst |= mask; /* black */ - - if (offset == 7) - dst++; - } - - return SANE_STATUS_GOOD; -} - -/** - * software lineart using data from a 8 bit gray scan. We assume true gray - * or monochrome scan as input. - */ -static SANE_Status -genesys_gray_lineart( - Genesys_Device *dev, - uint8_t *src_data, - uint8_t *dst_data, - size_t pixels, - size_t lines, - uint8_t threshold) -{ - size_t y; - - DBG(DBG_io2, "%s: converting %lu lines of %lu pixels\n", __func__, (unsigned long)lines, - (unsigned long)pixels); - DBG(DBG_io2, "%s: threshold=%d\n", __func__, threshold); - - for (y = 0; y < lines; y++) - { - binarize_line (dev, src_data + y * pixels, dst_data, pixels); - dst_data += pixels / 8; - } - return SANE_STATUS_GOOD; -} - -/** @brief shrink or grow scanned data to fit the final scan size - * This function shrinks the scanned data it the required resolution is lower than the hardware one, - * or grows it in case it is the opposite like when motor resolution is higher than - * sensor's one. - */ -static SANE_Status -genesys_shrink_lines_1 ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int src_pixels, - unsigned int dst_pixels, - unsigned int channels) -{ - unsigned int dst_x, src_x, y, c, cnt; - unsigned int avg[3], val; - uint8_t *src = (uint8_t *) src_data; - uint8_t *dst = (uint8_t *) dst_data; - - /* choose between case where me must reduce or grow the scanned data */ - if (src_pixels > dst_pixels) - { - /* shrink data */ - /* TODO action must be taken at bit level, no bytes */ - src_pixels /= 8; - dst_pixels /= 8; - /*take first _byte_ */ - for (y = 0; y < lines; y++) - { - cnt = src_pixels / 2; - src_x = 0; - for (dst_x = 0; dst_x < dst_pixels; dst_x++) - { - while (cnt < src_pixels && src_x < src_pixels) - { - cnt += dst_pixels; - - for (c = 0; c < channels; c++) - avg[c] = *src++; - src_x++; - } - cnt -= src_pixels; - - for (c = 0; c < channels; c++) - *dst++ = avg[c]; - } - } - } - else - { - /* common case where y res is double x res */ - for (y = 0; y < lines; y++) - { - if (2 * src_pixels == dst_pixels) - { - /* double and interleave on line */ - for (c = 0; c < src_pixels/8; c++) - { - /* first 4 bits */ - val = 0; - val |= (*src & 0x80) >> 0; /* X___ ____ --> X___ ____ */ - val |= (*src & 0x80) >> 1; /* X___ ____ --> _X__ ____ */ - val |= (*src & 0x40) >> 1; /* _X__ ____ --> __X_ ____ */ - val |= (*src & 0x40) >> 2; /* _X__ ____ --> ___X ____ */ - val |= (*src & 0x20) >> 2; /* __X_ ____ --> ____ X___ */ - val |= (*src & 0x20) >> 3; /* __X_ ____ --> ____ _X__ */ - val |= (*src & 0x10) >> 3; /* ___X ____ --> ____ __X_ */ - val |= (*src & 0x10) >> 4; /* ___X ____ --> ____ ___X */ - *dst = val; - dst++; - - /* last for bits */ - val = 0; - val |= (*src & 0x08) << 4; /* ____ X___ --> X___ ____ */ - val |= (*src & 0x08) << 3; /* ____ X___ --> _X__ ____ */ - val |= (*src & 0x04) << 3; /* ____ _X__ --> __X_ ____ */ - val |= (*src & 0x04) << 2; /* ____ _X__ --> ___X ____ */ - val |= (*src & 0x02) << 2; /* ____ __X_ --> ____ X___ */ - val |= (*src & 0x02) << 1; /* ____ __X_ --> ____ _X__ */ - val |= (*src & 0x01) << 1; /* ____ ___X --> ____ __X_ */ - val |= (*src & 0x01) << 0; /* ____ ___X --> ____ ___X */ - *dst = val; - dst++; - src++; - } - } - else - { - /* TODO: since depth is 1, we must interpolate bit within bytes */ - DBG (DBG_warn, "%s: inaccurate bit expansion!\n", __func__); - cnt = dst_pixels / 2; - dst_x = 0; - for (src_x = 0; src_x < src_pixels; src_x++) - { - for (c = 0; c < channels; c++) - avg[c] = *src++; - while (cnt < dst_pixels && dst_x < dst_pixels) - { - cnt += src_pixels; - for (c = 0; c < channels; c++) - *dst++ = avg[c]; - dst_x++; - } - cnt -= dst_pixels; - } - } - } - } - - return SANE_STATUS_GOOD; -} - - -/** Look in image for likely left/right/bottom paper edges, then crop image. - * Since failing to crop isn't fatal, we always return SANE_STATUS_GOOD . - */ -static SANE_Status -genesys_crop(Genesys_Scanner *s) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Device *dev = s->dev; - int top = 0; - int bottom = 0; - int left = 0; - int right = 0; - - DBG (DBG_proc, "%s: start\n", __func__); - - /* first find edges if any */ - status = sanei_magic_findEdges (&s->params, - dev->img_buffer.data(), - dev->settings.xres, - dev->settings.yres, - &top, - &bottom, - &left, - &right); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_info, "%s: bad or no edges, bailing\n", __func__); - return SANE_STATUS_GOOD; - } - DBG (DBG_io, "%s: t:%d b:%d l:%d r:%d\n", __func__, top, bottom, left, - right); - - /* now crop the image */ - status = - sanei_magic_crop (&(s->params), dev->img_buffer.data(), top, bottom, left, right); - if (status) - { - DBG (DBG_warn, "%s: failed to crop\n", __func__); - return SANE_STATUS_GOOD; - } - - /* update counters to new image size */ - dev->total_bytes_to_read = s->params.bytes_per_line * s->params.lines; - - DBG (DBG_proc, "%s: completed\n", __func__); - return SANE_STATUS_GOOD; -} - -/** Look in image for likely upper and left paper edges, then rotate - * image so that upper left corner of paper is upper left of image. - * @return since failure doens't prevent scanning, we always return - * SANE_STATUS_GOOD - */ -static SANE_Status -genesys_deskew(Genesys_Scanner *s, const Genesys_Sensor& sensor) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Device *dev = s->dev; - - int x = 0, y = 0, bg; - double slope = 0; - - DBG (DBG_proc, "%s: start\n", __func__); - - bg=0; - if(s->params.format==SANE_FRAME_GRAY && s->params.depth == 1) - { - bg=0xff; - } - status = sanei_magic_findSkew (&s->params, - dev->img_buffer.data(), - sensor.optical_res, - sensor.optical_res, - &x, - &y, - &slope); - if (status!=SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: bad findSkew, bailing\n", __func__); - return SANE_STATUS_GOOD; - } - DBG(DBG_info, "%s: slope=%f => %f\n",__func__,slope, (slope/M_PI_2)*90); - /* rotate image slope is in [-PI/2,PI/2] - * positive values rotate trigonometric direction wise */ - status = sanei_magic_rotate (&s->params, - dev->img_buffer.data(), - x, - y, - slope, - bg); - if (status!=SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: rotate error: %s", __func__, sane_strstatus(status)); - } - - DBG (DBG_proc, "%s: completed\n", __func__); - return SANE_STATUS_GOOD; -} - -/** remove lone dots - * @return since failure doens't prevent scanning, we always return - * SANE_STATUS_GOOD - */ -static SANE_Status -genesys_despeck(Genesys_Scanner *s) -{ - if(sanei_magic_despeck(&s->params, - s->dev->img_buffer.data(), - s->despeck)!=SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: bad despeck, bailing\n",__func__); - } - - return SANE_STATUS_GOOD; -} - -/** Look if image needs rotation and apply it - * */ -static SANE_Status -genesys_derotate (Genesys_Scanner * s) -{ - SANE_Status status = SANE_STATUS_GOOD; - int angle = 0; - - DBGSTART; - status = sanei_magic_findTurn (&s->params, - s->dev->img_buffer.data(), - s->resolution, - s->resolution, - &angle); - - if (status) - { - DBG (DBG_warn, "%s: failed : %d\n", __func__, status); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* apply rotation angle found */ - status = sanei_magic_turn (&s->params, s->dev->img_buffer.data(), angle); - if (status) - { - DBG (DBG_warn, "%s: failed : %d\n", __func__, status); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* update counters to new image size */ - s->dev->total_bytes_to_read = s->params.bytes_per_line * s->params.lines; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} diff --git a/backend/genesys_conv_hlp.cc b/backend/genesys_conv_hlp.cc deleted file mode 100644 index 7663a87..0000000 --- a/backend/genesys_conv_hlp.cc +++ /dev/null @@ -1,345 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2005 Pierre Willenbrock - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -/* - * Conversion filters for genesys backend - */ - -static SANE_Status -FUNC_NAME(genesys_reorder_components_cis) ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int pixels) -{ - unsigned int x, y; - uint8_t *src[3]; - uint8_t *dst = dst_data; - unsigned int rest = pixels * 2 * BYTES_PER_COMPONENT; - - src[0] = src_data + pixels * BYTES_PER_COMPONENT * 0; - src[1] = src_data + pixels * BYTES_PER_COMPONENT * 1; - src[2] = src_data + pixels * BYTES_PER_COMPONENT * 2; - - for(y = 0; y < lines; y++) { - for(x = 0; x < pixels; x++) { - -#ifndef DOUBLE_BYTE - *dst++ = *src[0]++; - *dst++ = *src[1]++; - *dst++ = *src[2]++; -#else -# ifndef WORDS_BIGENDIAN - *dst++ = *src[0]++; - *dst++ = *src[0]++; - *dst++ = *src[1]++; - *dst++ = *src[1]++; - *dst++ = *src[2]++; - *dst++ = *src[2]++; -# else - *dst++ = src[0][1]; - *dst++ = src[0][0]; - *dst++ = src[1][1]; - *dst++ = src[1][0]; - *dst++ = src[2][1]; - *dst++ = src[2][0]; - src[0] += 2; - src[1] += 2; - src[2] += 2; -# endif -#endif - } - - src[0] += rest; - src[1] += rest; - src[2] += rest; - } - return SANE_STATUS_GOOD; -} - -static SANE_Status -FUNC_NAME(genesys_reorder_components_cis_bgr) ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int pixels) -{ - unsigned int x, y; - uint8_t *src[3]; - uint8_t *dst = dst_data; - unsigned int rest = pixels * 2 * BYTES_PER_COMPONENT; - - src[0] = src_data + pixels * BYTES_PER_COMPONENT * 0; - src[1] = src_data + pixels * BYTES_PER_COMPONENT * 1; - src[2] = src_data + pixels * BYTES_PER_COMPONENT * 2; - - for(y = 0; y < lines; y++) { - for(x = 0; x < pixels; x++) { -#ifndef DOUBLE_BYTE - *dst++ = *src[2]++; - *dst++ = *src[1]++; - *dst++ = *src[0]++; -#else -# ifndef WORDS_BIGENDIAN - *dst++ = *src[2]++; - *dst++ = *src[2]++; - *dst++ = *src[1]++; - *dst++ = *src[1]++; - *dst++ = *src[0]++; - *dst++ = *src[0]++; -# else - *dst++ = src[2][1]; - *dst++ = src[2][0]; - *dst++ = src[1][1]; - *dst++ = src[1][0]; - *dst++ = src[0][1]; - *dst++ = src[0][0]; - src[0] += 2; - src[1] += 2; - src[2] += 2; -# endif -#endif - } - - src[0] += rest; - src[1] += rest; - src[2] += rest; - } - return SANE_STATUS_GOOD; -} - -static SANE_Status -FUNC_NAME(genesys_reorder_components_bgr) ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int pixels) -{ - unsigned int c; - uint8_t *src = src_data; - uint8_t *dst = dst_data; - - for(c = 0; c < lines * pixels; c++) { - -#ifndef DOUBLE_BYTE - *dst++ = src[2]; - *dst++ = src[1]; - *dst++ = src[0]; - src += 3; -#else -# ifndef WORDS_BIGENDIAN - *dst++ = src[2 * 2 + 0]; - *dst++ = src[2 * 2 + 1]; - *dst++ = src[1 * 2 + 0]; - *dst++ = src[1 * 2 + 1]; - *dst++ = src[0 * 2 + 0]; - *dst++ = src[0 * 2 + 1]; -# else - *dst++ = src[2 * 2 + 1]; - *dst++ = src[2 * 2 + 0]; - *dst++ = src[1 * 2 + 1]; - *dst++ = src[1 * 2 + 0]; - *dst++ = src[0 * 2 + 1]; - *dst++ = src[0 * 2 + 0]; -# endif - src += 3 * 2; -#endif - - } - return SANE_STATUS_GOOD; -} - -#if defined(DOUBLE_BYTE) && defined(WORDS_BIGENDIAN) -static SANE_Status -FUNC_NAME(genesys_reorder_components_endian) ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int pixels, - unsigned int channels) -{ - unsigned int c; - uint8_t *src = src_data; - uint8_t *dst = dst_data; - - for(c = 0; c < lines * pixels * channels; c++) { - *dst++ = src[1]; - *dst++ = src[0]; - src += 2; - } -return SANE_STATUS_GOOD; -} -#endif /*defined(DOUBLE_BYTE) && defined(WORDS_BIGENDIAN)*/ - - -static SANE_Status -FUNC_NAME(genesys_reverse_ccd) ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int components_per_line, - unsigned int *ccd_shift, - unsigned int component_count) -{ - unsigned int x, y, c; - COMPONENT_TYPE *src = (COMPONENT_TYPE *)src_data; - COMPONENT_TYPE *dst = (COMPONENT_TYPE *)dst_data; - COMPONENT_TYPE *srcp; - COMPONENT_TYPE *dstp; - unsigned int pitch = components_per_line; - unsigned int ccd_shift_pitch[12]; - unsigned int *csp; - - for (c = 0; c < component_count; c++) - ccd_shift_pitch[c] = ccd_shift[c] * pitch; - -/* - * cache efficiency: - we are processing a single line component_count times, so it should fit - into the cpu cache for maximum efficiency. our lines take - maximum 252kb(3 channels, 16bit, 2400dpi, full gl841 shading range) - * instruction efficiency: - the innermost loop runs long and consists of 3 adds, one compare, - 2 derefences. - */ -/* - for (y = 0; y < lines; y++) { - csp = ccd_shift_pitch; - for (c = 0; c < component_count; c++) { - srcp = src + c + *csp++; - dstp = dst + c; - for (x = 0; x < pitch; x += component_count) { - *dstp = *srcp; - srcp += component_count; - dstp += component_count; - } - } - dst += pitch; - src += pitch; - } - */ -/* - * cache efficency: - here only line_dist_pitch needs to stay in cache. 12*4 = 48 bytes - * instruction efficiency: - we have a short running inner loop, consisting of 4 incs, 2 compare, 1 add, - 2 dereference and 1 indexed dereference. - the enclosing loop is long running, consisting of 1 add, 1 compare. - */ - srcp = src; - dstp = dst; - for (y = 0; y < lines; y++) { - for (x = 0; x < pitch; x += component_count) { - csp = ccd_shift_pitch; - for (c = 0; c < component_count && c + x < pitch; c++) { - *dstp = srcp[*csp++]; - dstp++; - srcp++; - } - } - } - return SANE_STATUS_GOOD; -} - -static SANE_Status -FUNC_NAME(genesys_shrink_lines) ( - uint8_t *src_data, - uint8_t *dst_data, - unsigned int lines, - unsigned int src_pixels, - unsigned int dst_pixels, - unsigned int channels) -{ - unsigned int dst_x, src_x, y, c, cnt; - unsigned int avg[3]; - unsigned int count; - COMPONENT_TYPE *src = (COMPONENT_TYPE *)src_data; - COMPONENT_TYPE *dst = (COMPONENT_TYPE *)dst_data; - - if (src_pixels > dst_pixels) { -/*average*/ - for (c = 0; c < channels; c++) - avg[c] = 0; - for(y = 0; y < lines; y++) { - cnt = src_pixels / 2; - src_x = 0; - for (dst_x = 0; dst_x < dst_pixels; dst_x++) { - count = 0; - while (cnt < src_pixels && src_x < src_pixels) { - cnt += dst_pixels; - - for (c = 0; c < channels; c++) - avg[c] += *src++; - src_x++; - count++; - } - cnt -= src_pixels; - - for (c = 0; c < channels; c++) { - *dst++ = avg[c] / count; - avg[c] = 0; - } - } - } - } else { -/*interpolate. copy pixels*/ - for(y = 0; y < lines; y++) { - cnt = dst_pixels / 2; - dst_x = 0; - for (src_x = 0; src_x < src_pixels; src_x++) { - for (c = 0; c < channels; c++) - avg[c] = *src++; - while ((cnt < dst_pixels || src_x + 1 == src_pixels) && - dst_x < dst_pixels) { - cnt += src_pixels; - - for (c = 0; c < channels; c++) - *dst++ = avg[c]; - dst_x++; - } - cnt -= dst_pixels; - } - } - } - return SANE_STATUS_GOOD; -} diff --git a/backend/genesys_devices.cc b/backend/genesys_devices.cc deleted file mode 100644 index b4ae5ca..0000000 --- a/backend/genesys_devices.cc +++ /dev/null @@ -1,5165 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2003 Oliver Rauch - Copyright (C) 2003-2005 Henning Meier-Geinitz - Copyright (C) 2004, 2005 Gerhard Jaeger - Copyright (C) 2004-2013 Stéphane Voltz - Copyright (C) 2005-2009 Pierre Willenbrock - Copyright (C) 2007 Luke - Copyright (C) 2010 Jack McGill - Copyright (C) 2010 Andrey Loginov , - xerox travelscan device entry - Copyright (C) 2010 Chris Berry and Michael Rickmann - for Plustek Opticbook 3600 support - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -/* ------------------------------------------------------------------------ */ -/* Some setup DAC and CCD tables */ -/* ------------------------------------------------------------------------ */ - -#include "genesys_low.h" - -StaticInit> s_frontends; - -void genesys_init_frontend_tables() -{ - s_frontends.init(); - - GenesysFrontendLayout wolfson_layout; - wolfson_layout.offset_addr = { 0x20, 0x21, 0x22 }; - wolfson_layout.gain_addr = { 0x28, 0x29, 0x2a }; - - Genesys_Frontend fe; - fe.fe_id = DAC_WOLFSON_UMAX; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x03 }, - { 0x02, 0x05 }, - { 0x03, 0x11 }, - { 0x20, 0x80 }, - { 0x21, 0x80 }, - { 0x22, 0x80 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x02 }, - { 0x29, 0x02 }, - { 0x2a, 0x02 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_WOLFSON_ST12; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x03 }, - { 0x02, 0x05 }, - { 0x03, 0x03 }, - { 0x20, 0xc8 }, - { 0x21, 0xc8 }, - { 0x22, 0xc8 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x04 }, - { 0x29, 0x04 }, - { 0x2a, 0x04 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_WOLFSON_ST24; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x03 }, - { 0x02, 0x05 }, - { 0x03, 0x21 }, - { 0x20, 0xc8 }, - { 0x21, 0xc8 }, - { 0x22, 0xc8 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x06 }, - { 0x29, 0x06 }, - { 0x2a, 0x06 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_WOLFSON_5345; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x03 }, - { 0x02, 0x05 }, - { 0x03, 0x12 }, - { 0x20, 0xb8 }, - { 0x21, 0xb8 }, - { 0x22, 0xb8 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x04 }, - { 0x29, 0x04 }, - { 0x2a, 0x04 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - // reg3=0x02 for 50-600 dpi, 0x32 (0x12 also works well) at 1200 - fe = Genesys_Frontend(); - fe.fe_id = DAC_WOLFSON_HP2400; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x03 }, - { 0x02, 0x05 }, - { 0x03, 0x02 }, - { 0x20, 0xb4 }, - { 0x21, 0xb6 }, - { 0x22, 0xbc }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x06 }, - { 0x29, 0x09 }, - { 0x2a, 0x08 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_WOLFSON_HP2300; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x03 }, - { 0x02, 0x04 }, - { 0x03, 0x02 }, - { 0x20, 0xbe }, - { 0x21, 0xbe }, - { 0x22, 0xbe }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x04 }, - { 0x29, 0x04 }, - { 0x2a, 0x04 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_CANONLIDE35; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x3d }, - { 0x02, 0x08 }, - { 0x03, 0x00 }, - { 0x20, 0xe1 }, - { 0x21, 0xe1 }, - { 0x22, 0xe1 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x93 }, - { 0x29, 0x93 }, - { 0x2a, 0x93 }, - }; - fe.reg2 = {0x00, 0x19, 0x06}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_AD_XP200; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x58 }, - { 0x01, 0x80 }, - { 0x02, 0x00 }, - { 0x03, 0x00 }, - { 0x20, 0x09 }, - { 0x21, 0x09 }, - { 0x22, 0x09 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x09 }, - { 0x29, 0x09 }, - { 0x2a, 0x09 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_WOLFSON_XP300; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x35 }, - { 0x02, 0x20 }, - { 0x03, 0x14 }, - { 0x20, 0xe1 }, - { 0x21, 0xe1 }, - { 0x22, 0xe1 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x93 }, - { 0x29, 0x93 }, - { 0x2a, 0x93 }, - }; - fe.reg2 = {0x07, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_WOLFSON_HP3670; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x03 }, - { 0x02, 0x05 }, - { 0x03, 0x32 }, - { 0x20, 0xba }, - { 0x21, 0xb8 }, - { 0x22, 0xb8 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x06 }, - { 0x29, 0x05 }, - { 0x2a, 0x04 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_WOLFSON_DSM600; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x35 }, - { 0x02, 0x20 }, - { 0x03, 0x14 }, - { 0x20, 0x85 }, - { 0x21, 0x85 }, - { 0x22, 0x85 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0xa0 }, - { 0x29, 0xa0 }, - { 0x2a, 0xa0 }, - }; - fe.reg2 = {0x07, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_CANONLIDE200; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x9d }, - { 0x01, 0x91 }, - { 0x02, 0x00 }, - { 0x03, 0x00 }, - { 0x20, 0x00 }, - { 0x21, 0x3f }, - { 0x22, 0x00 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x32 }, - { 0x29, 0x04 }, - { 0x2a, 0x00 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_CANONLIDE700; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x9d }, - { 0x01, 0x9e }, - { 0x02, 0x00 }, - { 0x03, 0x00 }, - { 0x20, 0x00 }, - { 0x21, 0x3f }, - { 0x22, 0x00 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x2f }, - { 0x29, 0x04 }, - { 0x2a, 0x00 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_KVSS080; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x23 }, - { 0x02, 0x24 }, - { 0x03, 0x0f }, - { 0x20, 0x80 }, - { 0x21, 0x80 }, - { 0x22, 0x80 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x4b }, - { 0x29, 0x4b }, - { 0x2a, 0x4b }, - }; - fe.reg2 = {0x00,0x00,0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_G4050; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x23 }, - { 0x02, 0x24 }, - { 0x03, 0x1f }, - { 0x20, 0x45 }, - { 0x21, 0x45 }, - { 0x22, 0x45 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x4b }, - { 0x29, 0x4b }, - { 0x2a, 0x4b }, - }; - fe.reg2 = {0x00,0x00,0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_CANONLIDE110; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x80 }, - { 0x01, 0x8a }, - { 0x02, 0x23 }, - { 0x03, 0x4c }, - { 0x20, 0x00 }, - { 0x21, 0x00 }, - { 0x22, 0x00 }, - { 0x24, 0x00 }, - { 0x25, 0xca }, - { 0x26, 0x94 }, - { 0x28, 0x00 }, - { 0x29, 0x00 }, - { 0x2a, 0x00 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - /** @brief GL124 special case - * for GL124 based scanners, this struct is "abused" - * in fact the fields are map like below to AFE registers - * (from Texas Instrument or alike ?) - */ - fe = Genesys_Frontend(); - fe.fe_id = DAC_CANONLIDE120; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x80 }, - { 0x01, 0xa3 }, - { 0x02, 0x2b }, - { 0x03, 0x4c }, - { 0x20, 0x00 }, - { 0x21, 0x00 }, - { 0x22, 0x00 }, - { 0x24, 0x00 }, // actual address 0x05 - { 0x25, 0xca }, // actual address 0x06 - { 0x26, 0x95 }, // actual address 0x07 - { 0x28, 0x00 }, - { 0x29, 0x00 }, - { 0x2a, 0x00 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_PLUSTEK_3600; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x70 }, - { 0x01, 0x80 }, - { 0x02, 0x00 }, - { 0x03, 0x00 }, - { 0x20, 0x00 }, - { 0x21, 0x00 }, - { 0x22, 0x00 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x3f }, - { 0x29, 0x3d }, - { 0x2a, 0x3d }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_CS8400F; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x23 }, - { 0x02, 0x24 }, - { 0x03, 0x0f }, - { 0x20, 0x60 }, - { 0x21, 0x5c }, - { 0x22, 0x6c }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x8a }, - { 0x29, 0x9f }, - { 0x2a, 0xc2 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_CS8600F; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x23 }, - { 0x02, 0x24 }, - { 0x03, 0x2f }, - { 0x20, 0x67 }, - { 0x21, 0x69 }, - { 0x22, 0x68 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0xdb }, - { 0x29, 0xda }, - { 0x2a, 0xd7 }, - }; - fe.reg2 = { 0x00, 0x00, 0x00 }; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_IMG101; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x78 }, - { 0x01, 0xf0 }, - { 0x02, 0x00 }, - { 0x03, 0x00 }, - { 0x20, 0x00 }, - { 0x21, 0x00 }, - { 0x22, 0x00 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x00 }, - { 0x29, 0x00 }, - { 0x2a, 0x00 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - fe = Genesys_Frontend(); - fe.fe_id = DAC_PLUSTEK3800; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x78 }, - { 0x01, 0xf0 }, - { 0x02, 0x00 }, - { 0x03, 0x00 }, - { 0x20, 0x00 }, - { 0x21, 0x00 }, - { 0x22, 0x00 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x00 }, - { 0x29, 0x00 }, - { 0x2a, 0x00 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); - - - /* reg0: control 74 data, 70 no data - * reg3: offset - * reg6: gain - * reg0 , reg3, reg6 */ - fe = Genesys_Frontend(); - fe.fe_id = DAC_CANONLIDE80; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x70 }, - { 0x01, 0x16 }, - { 0x02, 0x60 }, - { 0x03, 0x00 }, - { 0x20, 0x00 }, - { 0x21, 0x00 }, - { 0x22, 0x00 }, - { 0x24, 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x00 }, - { 0x29, 0x00 }, - { 0x2a, 0x00 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - s_frontends->push_back(fe); -} - - -/** for setting up the sensor-specific settings: - * Optical Resolution, number of black pixels, number of dummy pixels, - * CCD_start_xoffset, and overall number of sensor pixels - * registers 0x08-0x0b, 0x10-0x1d and 0x52-0x5e - */ -StaticInit> s_sensors; - -void genesys_init_sensor_tables() -{ - s_sensors.init(); - - Genesys_Sensor sensor; - sensor.sensor_id = CCD_UMAX; - sensor.optical_res = 1200; - sensor.black_pixels = 48; - sensor.dummy_pixel = 64; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 10800; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 230; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x01 }, - { 0x09, 0x03 }, - { 0x0a, 0x05 }, - { 0x0b, 0x07 }, - { 0x16, 0x33 }, - { 0x17, 0x05 }, - { 0x18, 0x31 }, - { 0x19, 0x2a }, - { 0x1a, 0x00 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x02 }, - { 0x52, 0x13 }, - { 0x53, 0x17 }, - { 0x54, 0x03 }, - { 0x55, 0x07 }, - { 0x56, 0x0b }, - { 0x57, 0x0f }, - { 0x58, 0x23 }, - { 0x59, 0x00 }, - { 0x5a, 0xc1 }, - { 0x5b, 0x00 }, - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x00 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_ST12; - sensor.optical_res = 600; - sensor.black_pixels = 48; - sensor.dummy_pixel = 85; - sensor.CCD_start_xoffset = 152; - sensor.sensor_pixels = 5416; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 230; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x02 }, - { 0x09, 0x00 }, - { 0x0a, 0x06 }, - { 0x0b, 0x04 }, - { 0x16, 0x2b }, - { 0x17, 0x08 }, - { 0x18, 0x20 }, - { 0x19, 0x2a }, - { 0x1a, 0x00 }, - { 0x1b, 0x00 }, - { 0x1c, 0x0c }, - { 0x1d, 0x03 }, - { 0x52, 0x0f }, - { 0x53, 0x13 }, - { 0x54, 0x17 }, - { 0x55, 0x03 }, - { 0x56, 0x07 }, - { 0x57, 0x0b }, - { 0x58, 0x83 }, - { 0x59, 0x00 }, - { 0x5a, 0xc1 }, - { 0x5b, 0x00 }, - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x00 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_ST24; - sensor.optical_res = 1200; - sensor.black_pixels = 48; - sensor.dummy_pixel = 64; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 10800; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 230; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x0e }, - { 0x09, 0x0c }, - { 0x0a, 0x00 }, - { 0x0b, 0x0c }, - { 0x16, 0x33 }, - { 0x17, 0x08 }, - { 0x18, 0x31 }, - { 0x19, 0x2a }, - { 0x1a, 0x00 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x02 }, - { 0x52, 0x17 }, - { 0x53, 0x03 }, - { 0x54, 0x07 }, - { 0x55, 0x0b }, - { 0x56, 0x0f }, - { 0x57, 0x13 }, - { 0x58, 0x03 }, - { 0x59, 0x00 }, - { 0x5a, 0xc1 }, - { 0x5b, 0x00 }, - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x00 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_5345; - sensor.optical_res = 1200; - sensor.ccd_size_divisor = 2; - sensor.black_pixels = 48; - sensor.dummy_pixel = 16; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 10872; - sensor.fau_gain_white_ref = 190; - sensor.gain_white_ref = 190; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x0d }, - { 0x09, 0x0f }, - { 0x0a, 0x11 }, - { 0x0b, 0x13 }, - { 0x16, 0x0b }, - { 0x17, 0x0a }, - { 0x18, 0x30 }, - { 0x19, 0x2a }, - { 0x1a, 0x00 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x03 }, - { 0x52, 0x0f }, - { 0x53, 0x13 }, - { 0x54, 0x17 }, - { 0x55, 0x03 }, - { 0x56, 0x07 }, - { 0x57, 0x0b }, - { 0x58, 0x23 }, - { 0x59, 0x00 }, - { 0x5a, 0xc1 }, - { 0x5b, 0x00 }, - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x00 }, - }; - sensor.gamma = {2.38, 2.35, 2.34}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_HP2400; - sensor.optical_res = 1200, - sensor.black_pixels = 48; - sensor.dummy_pixel = 15; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 10872; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x14 }, - { 0x09, 0x15 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0xbf }, - { 0x17, 0x08 }, - { 0x18, 0x3f }, - { 0x19, 0x2a }, - { 0x1a, 0x00 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x02 }, - { 0x52, 0x0b }, - { 0x53, 0x0f }, - { 0x54, 0x13 }, - { 0x55, 0x17 }, - { 0x56, 0x03 }, - { 0x57, 0x07 }, - { 0x58, 0x63 }, - { 0x59, 0x00 }, - { 0x5a, 0xc1 }, - { 0x5b, 0x00 }, - { 0x5c, 0x0e }, - { 0x5d, 0x00 }, - { 0x5e, 0x00 }, - }; - sensor.gamma = {2.1, 2.1, 2.1}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_HP2300; - sensor.optical_res = 600; - sensor.ccd_size_divisor = 2; - sensor.black_pixels = 48; - sensor.dummy_pixel = 20; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 5368; - sensor.fau_gain_white_ref = 180; - sensor.gain_white_ref = 180; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x16 }, - { 0x09, 0x00 }, - { 0x0a, 0x01 }, - { 0x0b, 0x03 }, - { 0x16, 0xb7 }, - { 0x17, 0x0a }, - { 0x18, 0x20 }, - { 0x19, 0x2a }, - { 0x1a, 0x6a }, - { 0x1b, 0x8a }, - { 0x1c, 0x00 }, - { 0x1d, 0x05 }, - { 0x52, 0x0f }, - { 0x53, 0x13 }, - { 0x54, 0x17 }, - { 0x55, 0x03 }, - { 0x56, 0x07 }, - { 0x57, 0x0b }, - { 0x58, 0x83 }, - { 0x59, 0x00 }, - { 0x5a, 0xc1 }, - { 0x5b, 0x06 }, - { 0x5c, 0x0b }, - { 0x5d, 0x10 }, - { 0x5e, 0x16 }, - }; - sensor.gamma = {2.1, 2.1, 2.1}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_CANONLIDE35; - sensor.optical_res = 1200; - sensor.ccd_size_divisor = 2; - sensor.black_pixels = 87; - sensor.dummy_pixel = 87; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 10400; - sensor.fau_gain_white_ref = 0; - sensor.gain_white_ref = 0; - sensor.exposure = { 0x0400, 0x0400, 0x0400 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0x02 }, - { 0x18, 0x00 }, - { 0x19, 0x50 }, - { 0x1a, 0x00 }, // TODO: 1a-1d: these do no harm, but may be neccessery for CCD - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x02 }, - { 0x52, 0x05 }, // [GB](HI|LOW) not needed for cis - { 0x53, 0x07 }, - { 0x54, 0x00 }, - { 0x55, 0x00 }, - { 0x56, 0x00 }, - { 0x57, 0x00 }, - { 0x58, 0x3a }, - { 0x59, 0x03 }, - { 0x5a, 0x40 }, - { 0x5b, 0x00 }, // TODO: 5b-5e - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x00 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CIS_XP200; - sensor.optical_res = 600; - sensor.black_pixels = 5; - sensor.dummy_pixel = 38; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 5200; - sensor.fau_gain_white_ref = 200; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x1450, 0x0c80, 0x0a28 }; - sensor.custom_regs = { - { 0x08, 0x16 }, - { 0x09, 0x00 }, - { 0x0a, 0x01 }, - { 0x0b, 0x03 }, - { 0x16, 0xb7 }, - { 0x17, 0x0a }, - { 0x18, 0x20 }, - { 0x19, 0x2a }, - { 0x1a, 0x6a }, - { 0x1b, 0x8a }, - { 0x1c, 0x00 }, - { 0x1d, 0x05 }, - { 0x52, 0x0f }, - { 0x53, 0x13 }, - { 0x54, 0x17 }, - { 0x55, 0x03 }, - { 0x56, 0x07 }, - { 0x57, 0x0b }, - { 0x58, 0x83 }, - { 0x59, 0x00 }, - { 0x5a, 0xc1 }, - { 0x5b, 0x06 }, - { 0x5c, 0x0b }, - { 0x5d, 0x10 }, - { 0x5e, 0x16 }, - }; - sensor.gamma = {2.1, 2.1, 2.1}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_HP3670; - sensor.optical_res = 1200; - sensor.black_pixels = 48; - sensor.dummy_pixel = 16; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 10872; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x0a }, - { 0x0a, 0x0b }, - { 0x0b, 0x0d }, - { 0x16, 0x33 }, - { 0x17, 0x07 }, - { 0x18, 0x20 }, - { 0x19, 0x2a }, - { 0x1a, 0x00 }, - { 0x1b, 0x00 }, - { 0x1c, 0xc0 }, - { 0x1d, 0x43 }, - { 0x52, 0x0f }, - { 0x53, 0x13 }, - { 0x54, 0x17 }, - { 0x55, 0x03 }, - { 0x56, 0x07 }, - { 0x57, 0x0b }, - { 0x58, 0x83 }, - { 0x59, 0x00 }, - { 0x5a, 0x15 }, - { 0x5b, 0x05 }, - { 0x5c, 0x0a }, - { 0x5d, 0x0f }, - { 0x5e, 0x00 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_DP665; - sensor.optical_res = 600; - sensor.black_pixels = 27; - sensor.dummy_pixel = 27; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 2496; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x1100, 0x1100, 0x1100 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0x02 }, - { 0x18, 0x04 }, - { 0x19, 0x50 }, - { 0x1a, 0x10 }, - { 0x1b, 0x00 }, - { 0x1c, 0x20 }, - { 0x1d, 0x02 }, - { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis - { 0x53, 0x05 }, - { 0x54, 0x00 }, - { 0x55, 0x00 }, - { 0x56, 0x00 }, - { 0x57, 0x00 }, - { 0x58, 0x54 }, - { 0x59, 0x03 }, - { 0x5a, 0x00 }, - { 0x5b, 0x00 }, // TODO: 5b-5e - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x01 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_ROADWARRIOR; - sensor.optical_res = 600; - sensor.black_pixels = 27; - sensor.dummy_pixel = 27; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 5200; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x1100, 0x1100, 0x1100 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0x02 }, - { 0x18, 0x04 }, - { 0x19, 0x50 }, - { 0x1a, 0x10 }, - { 0x1b, 0x00 }, - { 0x1c, 0x20 }, - { 0x1d, 0x02 }, - { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis - { 0x53, 0x05 }, - { 0x54, 0x00 }, - { 0x55, 0x00 }, - { 0x56, 0x00 }, - { 0x57, 0x00 }, - { 0x58, 0x54 }, - { 0x59, 0x03 }, - { 0x5a, 0x00 }, - { 0x5b, 0x00 }, // TODO: 5b-5e - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x01 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_DSMOBILE600; - sensor.optical_res = 600; - sensor.black_pixels = 28; - sensor.dummy_pixel = 28; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 5200; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x1544, 0x1544, 0x1544 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0x02 }, - { 0x18, 0x04 }, - { 0x19, 0x50 }, - { 0x1a, 0x10 }, - { 0x1b, 0x00 }, - { 0x1c, 0x20 }, - { 0x1d, 0x02 }, - { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis - { 0x53, 0x05 }, - { 0x54, 0x00 }, - { 0x55, 0x00 }, - { 0x56, 0x00 }, - { 0x57, 0x00 }, - { 0x58, 0x54 }, - { 0x59, 0x03 }, - { 0x5a, 0x00 }, - { 0x5b, 0x00 }, // TODO: 5b-5e - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x01 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_XP300; - sensor.optical_res = 600; - sensor.black_pixels = 27; - sensor.dummy_pixel = 27; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 10240; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x1100, 0x1100, 0x1100 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0x02 }, - { 0x18, 0x04 }, - { 0x19, 0x50 }, - { 0x1a, 0x10 }, - { 0x1b, 0x00 }, - { 0x1c, 0x20 }, - { 0x1d, 0x02 }, - { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis - { 0x53, 0x05 }, - { 0x54, 0x00 }, - { 0x55, 0x00 }, - { 0x56, 0x00 }, - { 0x57, 0x00 }, - { 0x58, 0x54 }, - { 0x59, 0x03 }, - { 0x5a, 0x00 }, - { 0x5b, 0x00 }, // TODO: 5b-5e - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x01 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_DP685; - sensor.optical_res = 600; - sensor.black_pixels = 27; - sensor.dummy_pixel = 27; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 5020; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x1100, 0x1100, 0x1100 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x00 }, - { 0x17, 0x02 }, - { 0x18, 0x04 }, - { 0x19, 0x50 }, - { 0x1a, 0x10 }, - { 0x1b, 0x00 }, - { 0x1c, 0x20 }, - { 0x1d, 0x02 }, - { 0x52, 0x04 }, // [GB](HI|LOW) not needed for cis - { 0x53, 0x05 }, - { 0x54, 0x00 }, - { 0x55, 0x00 }, - { 0x56, 0x00 }, - { 0x57, 0x00 }, - { 0x58, 0x54 }, - { 0x59, 0x03 }, - { 0x5a, 0x00 }, - { 0x5b, 0x00 }, // TODO: 5b-5e - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x01 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CIS_CANONLIDE200; - sensor.optical_res = 4800; - sensor.black_pixels = 87*4; - sensor.dummy_pixel = 16*4; - sensor.CCD_start_xoffset = 320*8; - sensor.sensor_pixels = 5136*8; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x10 }, - { 0x17, 0x08 }, - { 0x18, 0x00 }, - { 0x19, 0xff }, - { 0x1a, 0x34 }, - { 0x1b, 0x00 }, - { 0x1c, 0x02 }, - { 0x1d, 0x04 }, - { 0x52, 0x03 }, - { 0x53, 0x07 }, - { 0x54, 0x00 }, - { 0x55, 0x00 }, - { 0x56, 0x00 }, - { 0x57, 0x00 }, - { 0x58, 0x2a }, - { 0x59, 0xe1 }, - { 0x5a, 0x55 }, - { 0x5b, 0x00 }, - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x41 }, - }; - sensor.gamma = {1.7, 1.7, 1.7}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CIS_CANONLIDE700; - sensor.optical_res = 4800; - sensor.black_pixels = 73*8; // black pixels 73 at 600 dpi - sensor.dummy_pixel = 16*8; - // 384 at 600 dpi - sensor.CCD_start_xoffset = 384*8; - // 8x5570 segments, 5187+1 for rounding - sensor.sensor_pixels = 5188*8; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x10 }, - { 0x17, 0x08 }, - { 0x18, 0x00 }, - { 0x19, 0xff }, - { 0x1a, 0x34 }, - { 0x1b, 0x00 }, - { 0x1c, 0x02 }, - { 0x1d, 0x04 }, - { 0x52, 0x07 }, - { 0x53, 0x03 }, - { 0x54, 0x00 }, - { 0x55, 0x00 }, - { 0x56, 0x00 }, - { 0x57, 0x00 }, - { 0x58, 0x2a }, - { 0x59, 0xe1 }, - { 0x5a, 0x55 }, - { 0x5b, 0x00 }, - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x41 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CIS_CANONLIDE100; - sensor.optical_res = 2400; - sensor.black_pixels = 87*4, /* black pixels */ - sensor.dummy_pixel = 16*4; - sensor.CCD_start_xoffset = 320*4; - sensor.sensor_pixels = 5136*4; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x01c1, 0x0126, 0x00e5 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x10 }, - { 0x17, 0x08 }, - { 0x18, 0x00 }, - { 0x19, 0x50 }, - { 0x1a, 0x34 }, - { 0x1b, 0x00 }, - { 0x1c, 0x02 }, - { 0x1d, 0x04 }, - { 0x52, 0x03 }, - { 0x53, 0x07 }, - { 0x54, 0x00 }, - { 0x55, 0x00 }, - { 0x56, 0x00 }, - { 0x57, 0x00 }, - { 0x58, 0x2a }, - { 0x59, 0xe1 }, - { 0x5a, 0x55 }, - { 0x5b, 0x00 }, - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x41 }, - }; - sensor.gamma = {1.7, 1.7, 1.7}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_KVSS080; - sensor.optical_res = 600; - sensor.black_pixels = 38; - sensor.dummy_pixel = 38; - sensor.CCD_start_xoffset = 152; - sensor.sensor_pixels = 5376; - sensor.fau_gain_white_ref = 160; - sensor.gain_white_ref = 160; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.exposure_lperiod = 8000; - sensor.custom_regs = { - { 0x74, 0x00 }, { 0x75, 0x00 }, { 0x76, 0x00 }, - { 0x77, 0x00 }, { 0x78, 0xff }, { 0x79, 0xff }, - { 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, - { 0x0c, 0x00 }, - { 0x70, 0x01 }, - { 0x71, 0x03 }, - { 0x9e, 0x00 }, - { 0xaa, 0x00 }, - { 0x16, 0x33 }, - { 0x17, 0x1c }, - { 0x18, 0x00 }, - { 0x19, 0x2a }, - { 0x1a, 0x2c }, - { 0x1b, 0x00 }, - { 0x1c, 0x20 }, - { 0x1d, 0x04 }, - { 0x52, 0x0c }, - { 0x53, 0x0f }, - { 0x54, 0x00 }, - { 0x55, 0x03 }, - { 0x56, 0x06 }, - { 0x57, 0x09 }, - { 0x58, 0x6b }, - { 0x59, 0x00 }, - { 0x5a, 0xc0 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_G4050; - sensor.optical_res = 4800; - sensor.black_pixels = 50*8; - // 31 at 600 dpi dummy_pixels 58 at 1200 - sensor.dummy_pixel = 58; - sensor.CCD_start_xoffset = 152; - sensor.sensor_pixels = 5360*8; - sensor.fau_gain_white_ref = 160; - sensor.gain_white_ref = 160; - sensor.exposure = { 0x2c09, 0x22b8, 0x10f0 }; - sensor.custom_regs = {}; - sensor.gamma = {1.0, 1.0, 1.0}; - - { - struct CustomSensorSettings { - int min_resolution; - int max_resolution; - int exposure_lperiod; - ScanMethod method; - GenesysRegisterSettingSet extra_custom_regs; - }; - - CustomSensorSettings custom_settings[] = { - { -1, 600, 8016, ScanMethod::FLATBED, { - { 0x74, 0x00 }, { 0x75, 0x01 }, { 0x76, 0xff }, - { 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff }, - { 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, - { 0x0c, 0x00 }, - { 0x70, 0x00 }, - { 0x71, 0x02 }, - { 0x9e, 0x00 }, - { 0xaa, 0x00 }, - { 0x16, 0x33 }, - { 0x17, 0x0c }, - { 0x18, 0x00 }, - { 0x19, 0x2a }, - { 0x1a, 0x30 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x08 }, - { 0x52, 0x0b }, - { 0x53, 0x0e }, - { 0x54, 0x11 }, - { 0x55, 0x02 }, - { 0x56, 0x05 }, - { 0x57, 0x08 }, - { 0x58, 0x63 }, - { 0x59, 0x00 }, - { 0x5a, 0x40 }, - } - }, - { 1200, 1200, 56064, ScanMethod::FLATBED, { - { 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff }, - { 0x77, 0x00 }, { 0x78, 0x01 }, { 0x79, 0xff }, - { 0x7a, 0x00 }, { 0x7b, 0x01 }, { 0x7c, 0xff }, - { 0x0c, 0x20 }, - { 0x70, 0x08 }, - { 0x71, 0x0c }, - { 0x9e, 0xc0 }, - { 0xaa, 0x05 }, - { 0x16, 0x3b }, - { 0x17, 0x0c }, - { 0x18, 0x10 }, - { 0x19, 0x2a }, - { 0x1a, 0x38 }, - { 0x1b, 0x10 }, - { 0x1c, 0x00 }, - { 0x1d, 0x08 }, - { 0x52, 0x02 }, - { 0x53, 0x05 }, - { 0x54, 0x08 }, - { 0x55, 0x0b }, - { 0x56, 0x0e }, - { 0x57, 0x11 }, - { 0x58, 0x1b }, - { 0x59, 0x00 }, - { 0x5a, 0x40 }, - } - }, - { 2400, 2400, 56064, ScanMethod::FLATBED, { - { 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff }, - { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, - { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, - { 0x0c, 0x20 }, - { 0x70, 0x08 }, - { 0x71, 0x0a }, - { 0x9e, 0xc0 }, - { 0xaa, 0x05 }, - { 0x16, 0x3b }, - { 0x17, 0x0c }, - { 0x18, 0x10 }, - { 0x19, 0x2a }, - { 0x1a, 0x38 }, - { 0x1b, 0x10 }, - { 0x1c, 0xc0 }, - { 0x1d, 0x08 }, - { 0x52, 0x02 }, - { 0x53, 0x05 }, - { 0x54, 0x08 }, - { 0x55, 0x0b }, - { 0x56, 0x0e }, - { 0x57, 0x11 }, - { 0x58, 0x1b }, - { 0x59, 0x00 }, - { 0x5a, 0x40 }, - } - }, - { 4800, 4800, 42752, ScanMethod::FLATBED, { - { 0x74, 0x0f }, { 0x75, 0xff }, { 0x76, 0xff }, - { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, - { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x00 }, - { 0x0c, 0x21 }, - { 0x70, 0x08 }, - { 0x71, 0x0a }, - { 0x9e, 0xc0 }, - { 0xaa, 0x07 }, - { 0x16, 0x3b }, - { 0x17, 0x0c }, - { 0x18, 0x10 }, - { 0x19, 0x2a }, - { 0x1a, 0x38 }, - { 0x1b, 0x10 }, - { 0x1c, 0xc1 }, - { 0x1d, 0x08 }, - { 0x52, 0x02 }, - { 0x53, 0x05 }, - { 0x54, 0x08 }, - { 0x55, 0x0b }, - { 0x56, 0x0e }, - { 0x57, 0x11 }, - { 0x58, 0x1b }, - { 0x59, 0x00 }, - { 0x5a, 0x40 }, - } - }, - { -1, -1, 15624, ScanMethod::TRANSPARENCY, { - { 0x74, 0x00 }, { 0x75, 0x1c }, { 0x76, 0x7f }, - { 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff }, - { 0x7a, 0x03 }, { 0x7b, 0xff }, { 0x7c, 0xff }, - { 0x0c, 0x00 }, - { 0x70, 0x00 }, - { 0x71, 0x02 }, - { 0x9e, 0x00 }, - { 0xaa, 0x00 }, - { 0x16, 0x33 }, - { 0x17, 0x4c }, - { 0x18, 0x01 }, - { 0x19, 0x2a }, - { 0x1a, 0x30 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x08 }, - { 0x52, 0x0e }, - { 0x53, 0x11 }, - { 0x54, 0x02 }, - { 0x55, 0x05 }, - { 0x56, 0x08 }, - { 0x57, 0x0b }, - { 0x58, 0x6b }, - { 0x59, 0x00 }, - { 0x5a, 0xc0 }, - } - } - }; - - auto base_custom_regs = sensor.custom_regs; - for (const CustomSensorSettings& setting : custom_settings) - { - sensor.min_resolution = setting.min_resolution; - sensor.max_resolution = setting.max_resolution; - sensor.exposure_lperiod = setting.exposure_lperiod; - sensor.method = setting.method; - sensor.custom_regs = base_custom_regs; - sensor.custom_regs.merge(setting.extra_custom_regs); - s_sensors->push_back(sensor); - } - } - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_CS4400F; - sensor.optical_res = 4800; - sensor.ccd_size_divisor = 4; - sensor.black_pixels = 50*8; - // 31 at 600 dpi, 58 at 1200 dpi - sensor.dummy_pixel = 20; - sensor.CCD_start_xoffset = 152; - // 5360 max at 600 dpi - sensor.sensor_pixels = 5360*8; - sensor.fau_gain_white_ref = 160; - sensor.gain_white_ref = 160; - sensor.exposure = { 0x9c40, 0x9c40, 0x9c40 }; - sensor.exposure_lperiod = 11640; - sensor.custom_regs = { - { 0x74, 0x00 }, { 0x75, 0xf8 }, { 0x76, 0x38 }, - { 0x77, 0x00 }, { 0x78, 0xfc }, { 0x79, 0x00 }, - { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0xa4 }, - { 0x0c, 0x00 }, - { 0x70, 0x00 }, - { 0x71, 0x02 }, - { 0x9e, 0x2d }, - { 0xaa, 0x00 }, - { 0x16, 0x13 }, - { 0x17, 0x0a }, - { 0x18, 0x10 }, - { 0x19, 0x2a }, - { 0x1a, 0x30 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x6b }, - { 0x52, 0x0a }, - { 0x53, 0x0d }, - { 0x54, 0x00 }, - { 0x55, 0x03 }, - { 0x56, 0x06 }, - { 0x57, 0x08 }, - { 0x58, 0x5b }, - { 0x59, 0x00 }, - { 0x5a, 0x40 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_CS8400F; - sensor.optical_res = 4800; - sensor.black_pixels = 50*8; - // 31 at 600 dpi, 58 at 1200 dpi - sensor.dummy_pixel = 20; - sensor.CCD_start_xoffset = 152; - // 5360 max at 600 dpi - sensor.sensor_pixels = 5360*8; - sensor.fau_gain_white_ref = 160; - sensor.gain_white_ref = 160; - sensor.exposure = { 0x9c40, 0x9c40, 0x9c40 }; - sensor.exposure_lperiod = 7200; - sensor.custom_regs = { - { 0x74, 0x00 }, { 0x75, 0x0e }, { 0x76, 0x3f }, - { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 }, - { 0x7a, 0x01 }, { 0x7b, 0xb6 }, { 0x7c, 0xdb }, - { 0x0c, 0x00 }, - { 0x70, 0x01 }, - { 0x71, 0x02 }, - { 0x9e, 0x00 }, - { 0xaa, 0x00 }, - { 0x16, 0x33 }, - { 0x17, 0x0c }, - { 0x18, 0x13 }, - { 0x19, 0x2a }, - { 0x1a, 0x30 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x84 }, - { 0x52, 0x0d }, - { 0x53, 0x10 }, - { 0x54, 0x01 }, - { 0x55, 0x04 }, - { 0x56, 0x07 }, - { 0x57, 0x0a }, - { 0x58, 0x6b }, - { 0x59, 0x00 }, - { 0x5a, 0x40 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_CS8600F; - sensor.optical_res = 4800; - sensor.ccd_size_divisor = 4; - sensor.black_pixels = 31; - sensor.dummy_pixel = 20; - sensor.CCD_start_xoffset = 0; // not used at the moment - // 11372 pixels at 1200 dpi - sensor.sensor_pixels = 11372*4; - sensor.fau_gain_white_ref = 160; - sensor.gain_white_ref = 160; - sensor.exposure = { 0x9c40, 0x9c40, 0x9c40 }; - sensor.custom_regs = {}; - sensor.gamma = {1.0, 1.0, 1.0}; - - { - struct CustomSensorSettings { - int min_resolution; - int max_resolution; - int exposure_lperiod; - ScanMethod method; - GenesysRegisterSettingSet extra_custom_regs; - GenesysRegisterSettingSet custom_fe_regs; - }; - - CustomSensorSettings custom_settings[] = { - { -1, 1200, 24000, ScanMethod::FLATBED, { - { 0x74, 0x03 }, { 0x75, 0xf0 }, { 0x76, 0xf0 }, - { 0x77, 0x03 }, { 0x78, 0xfe }, { 0x79, 0x00 }, - { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0x49 }, - { 0x0c, 0x00 }, - { 0x70, 0x00 }, - { 0x71, 0x02 }, - { 0x9e, 0x2d }, - { 0xaa, 0x00 }, - { 0x16, 0x13 }, - { 0x17, 0x0a }, - { 0x18, 0x10 }, - { 0x19, 0x2a }, - { 0x1a, 0x30 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x6b }, - { 0x52, 0x0c }, - { 0x53, 0x0f }, - { 0x54, 0x00 }, - { 0x55, 0x03 }, - { 0x56, 0x06 }, - { 0x57, 0x09 }, - { 0x58, 0x6b }, - { 0x59, 0x00 }, - { 0x5a, 0x40 }, - }, - {}, - }, - { -1, 1200, 24000, ScanMethod::TRANSPARENCY, { - { 0x74, 0x03 }, { 0x75, 0xf0 }, { 0x76, 0xf0 }, - { 0x77, 0x03 }, { 0x78, 0xfe }, { 0x79, 0x00 }, - { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0x49 }, - { 0x0c, 0x00 }, - { 0x70, 0x00 }, - { 0x71, 0x02 }, - { 0x9e, 0x2d }, - { 0xaa, 0x00 }, - { 0x16, 0x13 }, - { 0x17, 0x0a }, - { 0x18, 0x10 }, - { 0x19, 0x2a }, - { 0x1a, 0x30 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x6b }, - { 0x52, 0x0c }, - { 0x53, 0x0f }, - { 0x54, 0x00 }, - { 0x55, 0x03 }, - { 0x56, 0x06 }, - { 0x57, 0x09 }, - { 0x58, 0x6b }, - { 0x59, 0x00 }, - { 0x5a, 0x40 }, - }, - {}, - }, - { 2400, 2400, 24000, ScanMethod::TRANSPARENCY, { - { 0x74, 0x03 }, { 0x75, 0xfe }, { 0x76, 0x00 }, - { 0x77, 0x03 }, { 0x78, 0xfe }, { 0x79, 0x00 }, - { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0x49 }, - { 0x0c, 0x00 }, - { 0x70, 0x00 }, - { 0x71, 0x02 }, - { 0x9e, 0x2d }, - { 0xaa, 0x00 }, - { 0x16, 0x13 }, - { 0x17, 0x15 }, - { 0x18, 0x10 }, - { 0x19, 0x2a }, - { 0x1a, 0x30 }, - { 0x1b, 0x00 }, - { 0x1c, 0x01 }, - { 0x1d, 0x75 }, - { 0x52, 0x0c }, - { 0x53, 0x0f }, - { 0x54, 0x00 }, - { 0x55, 0x03 }, - { 0x56, 0x06 }, - { 0x57, 0x09 }, - { 0x58, 0x6b }, - { 0x59, 0x00 }, - { 0x5a, 0x40 }, - }, - {}, - }, - { 4800, 4800, 24000, ScanMethod::TRANSPARENCY, { - { 0x74, 0x03 }, { 0x75, 0xff }, { 0x76, 0xff }, - { 0x77, 0x03 }, { 0x78, 0xff }, { 0x79, 0xff }, - { 0x7a, 0x00 }, { 0x7b, 0x92 }, { 0x7c, 0x49 }, - { 0x0c, 0x00 }, - { 0x70, 0x0a }, - { 0x71, 0x0c }, - { 0x72, 0x0c }, - { 0x73, 0x0e }, - { 0x9e, 0x2d }, - { 0xaa, 0x00 }, - { 0x16, 0x13 }, - { 0x17, 0x15 }, - { 0x18, 0x10 }, - { 0x19, 0x2a }, - { 0x1a, 0x30 }, - { 0x1b, 0x00 }, - { 0x1c, 0x61 }, - { 0x1d, 0x75 }, - { 0x52, 0x03 }, - { 0x53, 0x06 }, - { 0x54, 0x09 }, - { 0x55, 0x0c }, - { 0x56, 0x0f }, - { 0x57, 0x00 }, - { 0x58, 0x23 }, - { 0x59, 0x00 }, - { 0x5a, 0x40 }, - }, - { { 0x03, 0x1f }, - }, - }, - }; - - auto base_custom_regs = sensor.custom_regs; - for (const CustomSensorSettings& setting : custom_settings) - { - sensor.min_resolution = setting.min_resolution; - sensor.max_resolution = setting.max_resolution; - sensor.method = setting.method; - sensor.exposure_lperiod = setting.exposure_lperiod; - sensor.custom_regs = base_custom_regs; - sensor.custom_regs.merge(setting.extra_custom_regs); - sensor.custom_fe_regs = setting.custom_fe_regs; - s_sensors->push_back(sensor); - } - } - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_HP_N6310; - sensor.optical_res = 2400; - // sensor.ccd_size_divisor = 2; Possibly half CCD, needs checking - sensor.black_pixels = 96; - sensor.dummy_pixel = 26; - sensor.CCD_start_xoffset = 128; - sensor.sensor_pixels = 42720; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 230; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x10 }, - { 0x0a, 0x10 }, - { 0x0b, 0x0c }, - { 0x16, 0x33 }, - { 0x17, 0x0c }, - { 0x18, 0x02 }, - { 0x19, 0x2a }, - { 0x1a, 0x30 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x08 }, - { 0x52, 0x0b }, - { 0x53, 0x0e }, - { 0x54, 0x11 }, - { 0x55, 0x02 }, - { 0x56, 0x05 }, - { 0x57, 0x08 }, - { 0x58, 0x63 }, - { 0x59, 0x00 }, - { 0x5a, 0x40 }, - { 0x5b, 0x00 }, - { 0x5c, 0x00 }, - { 0x5d, 0x06 }, - { 0x5e, 0x6f }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CIS_CANONLIDE110; - sensor.optical_res = 2400; - sensor.ccd_size_divisor = 2; - sensor.black_pixels = 87; - sensor.dummy_pixel = 16; - sensor.CCD_start_xoffset = 303; - sensor.sensor_pixels = 5168*4; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x10 }, - { 0x17, 0x04 }, - { 0x18, 0x00 }, - { 0x19, 0x01 }, - { 0x1a, 0x30 }, - { 0x1b, 0x00 }, - { 0x1c, 0x02 }, - { 0x1d, 0x01 }, - { 0x52, 0x00 }, - { 0x53, 0x02 }, - { 0x54, 0x04 }, - { 0x55, 0x06 }, - { 0x56, 0x04 }, - { 0x57, 0x04 }, - { 0x58, 0x04 }, - { 0x59, 0x04 }, - { 0x5a, 0x1a }, - { 0x5b, 0x00 }, - { 0x5c, 0xc0 }, - { 0x5d, 0x00 }, - { 0x5e, 0x00 }, - }; - sensor.gamma = {2.1, 2.1, 2.1}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CIS_CANONLIDE120; - sensor.optical_res = 2400; - sensor.ccd_size_divisor = 2; - sensor.black_pixels = 87; - sensor.dummy_pixel = 16; - sensor.CCD_start_xoffset = 303; - // SEGCNT at 600 DPI by number of segments - sensor.sensor_pixels = 5104*4; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x15 }, - { 0x17, 0x04 }, - { 0x18, 0x00 }, - { 0x19, 0x01 }, - { 0x1a, 0x30 }, - { 0x1b, 0x00 }, - { 0x1c, 0x02 }, - { 0x1d, 0x01 }, - { 0x52, 0x04 }, - { 0x53, 0x06 }, - { 0x54, 0x00 }, - { 0x55, 0x02 }, - { 0x56, 0x04 }, - { 0x57, 0x04 }, - { 0x58, 0x04 }, - { 0x59, 0x04 }, - { 0x5a, 0x3a }, - { 0x5b, 0x00 }, - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x1f }, - }; - sensor.gamma = {2.1, 2.1, 2.1}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CIS_CANONLIDE210; - sensor.optical_res = 2400; - sensor.ccd_size_divisor = 2; - sensor.black_pixels = 87; - sensor.dummy_pixel = 16; - sensor.CCD_start_xoffset = 303; - sensor.sensor_pixels = 5168*4; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x10 }, - { 0x17, 0x04 }, - { 0x18, 0x00 }, - { 0x19, 0x01 }, - { 0x1a, 0x30 }, - { 0x1b, 0x00 }, - { 0x1c, 0x02 }, - { 0x1d, 0x01 }, - { 0x52, 0x00 }, - { 0x53, 0x02 }, - { 0x54, 0x04 }, - { 0x55, 0x06 }, - { 0x56, 0x04 }, - { 0x57, 0x04 }, - { 0x58, 0x04 }, - { 0x59, 0x04 }, - { 0x5a, 0x1a }, - { 0x5b, 0x00 }, - { 0x5c, 0xc0 }, - { 0x5d, 0x00 }, - { 0x5e, 0x00 }, - }; - sensor.gamma = {2.1, 2.1, 2.1}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CIS_CANONLIDE220; - sensor.optical_res = 2400; - sensor.ccd_size_divisor = 2; - sensor.black_pixels = 87; - sensor.dummy_pixel = 16; - sensor.CCD_start_xoffset = 303; - sensor.sensor_pixels = 5168*4; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x10 }, - { 0x17, 0x04 }, - { 0x18, 0x00 }, - { 0x19, 0x01 }, - { 0x1a, 0x30 }, - { 0x1b, 0x00 }, - { 0x1c, 0x02 }, - { 0x1d, 0x01 }, - { 0x52, 0x00 }, - { 0x53, 0x02 }, - { 0x54, 0x04 }, - { 0x55, 0x06 }, - { 0x56, 0x04 }, - { 0x57, 0x04 }, - { 0x58, 0x04 }, - { 0x59, 0x04 }, - { 0x5a, 0x1a }, - { 0x5b, 0x00 }, - { 0x5c, 0xc0 }, - { 0x5d, 0x00 }, - { 0x5e, 0x00 }, - }; - sensor.gamma = {2.1, 2.1, 2.1}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_PLUSTEK_3600; - sensor.optical_res = 1200; - sensor.ccd_size_divisor = 2; - sensor.black_pixels = 87; - sensor.dummy_pixel = 87; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 10100; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 230; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x00 }, - { 0x16, 0x33 }, - { 0x17, 0x0b }, - { 0x18, 0x11 }, - { 0x19, 0x2a }, - { 0x1a, 0x00 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0xc4 }, - { 0x52, 0x07 }, // [GB](HI|LOW) not needed for cis - { 0x53, 0x0a }, - { 0x54, 0x0c }, - { 0x55, 0x00 }, - { 0x56, 0x02 }, - { 0x57, 0x06 }, - { 0x58, 0x22 }, - { 0x59, 0x69 }, - { 0x5a, 0x40 }, - { 0x5b, 0x00 }, // TODO: 5b-5e - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x02 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_IMG101; - sensor.optical_res = 1200; - sensor.black_pixels = 31; - sensor.dummy_pixel = 31; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 10800; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x60 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x8b }, - { 0x16, 0xbb }, - { 0x17, 0x13 }, - { 0x18, 0x10 }, - { 0x19, 0x2a }, - { 0x1a, 0x34 }, - { 0x1b, 0x00 }, - { 0x1c, 0x20 }, - { 0x1d, 0x06 }, - { 0x52, 0x02 }, - { 0x53, 0x04 }, - { 0x54, 0x06 }, - { 0x55, 0x08 }, - { 0x56, 0x0a }, - { 0x57, 0x00 }, - { 0x58, 0x59 }, - { 0x59, 0x31 }, - { 0x5a, 0x40 }, - { 0x5b, 0x00 }, - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x1f }, - }; - sensor.gamma = {1.7, 1.7, 1.7}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CCD_PLUSTEK3800; - sensor.optical_res = 1200; - sensor.black_pixels = 31; - sensor.dummy_pixel = 31; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 10200; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 200; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x60 }, - { 0x09, 0x00 }, - { 0x0a, 0x00 }, - { 0x0b, 0x8b }, - { 0x16, 0xbb }, - { 0x17, 0x13 }, - { 0x18, 0x10 }, - { 0x19, 0x2a }, - { 0x1a, 0x34 }, - { 0x1b, 0x00 }, - { 0x1c, 0x20 }, - { 0x1d, 0x06 }, - { 0x52, 0x02 }, - { 0x53, 0x04 }, - { 0x54, 0x06 }, - { 0x55, 0x08 }, - { 0x56, 0x0a }, - { 0x57, 0x00 }, - { 0x58, 0x59 }, - { 0x59, 0x31 }, - { 0x5a, 0x40 }, - { 0x5b, 0x00 }, - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x1f }, - }; - sensor.gamma = {1.7, 1.7, 1.7}; - s_sensors->push_back(sensor); - - - sensor = Genesys_Sensor(); - sensor.sensor_id = CIS_CANONLIDE80, - sensor.optical_res = 1200; // real hardware limit is 2400 - sensor.ccd_size_divisor = 2; - sensor.black_pixels = 20; - sensor.dummy_pixel = 6; - // tuned to give 3*8 multiple startx coordinate during shading calibration - sensor.CCD_start_xoffset = 34; // 14=>3, 20=>2 - // 10400, too wide=>10288 in shading data 10240~ - // 10208 too short for shading, max shading data = 10240 pixels, endpix-startpix=10208 - sensor.sensor_pixels = 10240; - sensor.fau_gain_white_ref = 150; - sensor.gain_white_ref = 150; - // maps to 0x70-0x73 for GL841 - sensor.exposure = { 0x1000, 0x1000, 0x0500 }; - sensor.custom_regs = { - { 0x08, 0x00 }, - { 0x09, 0x05 }, - { 0x0a, 0x07 }, - { 0x0b, 0x09 }, - { 0x16, 0x00 }, - { 0x17, 0x01 }, - { 0x18, 0x00 }, - { 0x19, 0x06 }, - { 0x1a, 0x00 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x04 }, - { 0x52, 0x03 }, - { 0x53, 0x07 }, - { 0x54, 0x00 }, - { 0x55, 0x00 }, - { 0x56, 0x00 }, - { 0x57, 0x00 }, - { 0x58, 0x29 }, - { 0x59, 0x69 }, - { 0x5a, 0x55 }, - { 0x5b, 0x00 }, - { 0x5c, 0x00 }, - { 0x5d, 0x20 }, - { 0x5e, 0x41 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - s_sensors->push_back(sensor); -} - -/** for General Purpose Output specific settings: - * initial GPO value (registers 0x66-0x67/0x6c-0x6d) - * GPO enable mask (registers 0x68-0x69/0x6e-0x6f) - * The first register is for GPIO9-GPIO16, the second for GPIO1-GPIO8 - */ -static Genesys_Gpo Gpo[] = { - /* UMAX */ - {GPO_UMAX, - {0x11, 0x00} - , - {0x51, 0x20} - , - } - , - /* Plustek OpticPro S12/ST12 */ - {GPO_ST12, - {0x11, 0x00} - , - {0x51, 0x20} - , - } - , - /* Plustek OpticPro S24/ST24 */ - {GPO_ST24, - {0x00, 0x00} - , - {0x51, 0x20} - , - } - , - /* MD5345/MD6471 */ - {GPO_5345, - {0x30, 0x18} - , /* bits 11-12 are for bipolar V-ref input voltage */ - {0xa0, 0x18} - , - } - , - /* HP2400C */ - {GPO_HP2400, - {0x30, 0x00} - , - {0x31, 0x00} - , - } - , - /* HP2300C */ - {GPO_HP2300, - {0x00, 0x00} - , - {0x00, 0x00} - , - } - , - /* CANONLIDE35 */ - {GPO_CANONLIDE35, - {0x02, 0x80} - , - {0xef, 0x80} - , - } - , - /* 7: XP200 */ - {GPO_XP200, - {0x30, 0x00} - , - {0xb0, 0x00} - , - }, - /* HP3670 */ - {GPO_HP3670, - {0x00, 0x00} - , - {0x00, 0x00} - } - , - /* 8: XP300 */ - {GPO_XP300, - {0x09, 0xc6}, - {0xbb, 0x00}, - } - , - /* Syscan DP 665 */ - { - GPO_DP665, - {0x18, 0x00},/*0x19,0x00*/ - {0xbb, 0x00}, - } - , - /* Syscan DP 685 */ - { - GPO_DP685, - {0x3f, 0x46}, /* 6c, 6d */ - {0xfb, 0x00}, /* 6e, 6f */ - }, - /* CANONLIDE200 */ - {GPO_CANONLIDE200, - {0xfb, 0x20}, /* 0xfb when idle , 0xf9/0xe9 (1200) when scanning */ - {0xff, 0x00}, - }, - /* CANONLIDE700 */ - {GPO_CANONLIDE700, - {0xdb, 0xff}, - {0xff, 0x80}, - }, - {GPO_KVSS080, - {0xf5, 0x20}, - {0x7e, 0xa1}, - } - , - {GPO_G4050, - {0x20, 0x00}, - {0xfc, 0x00}, - } - , - /* HP N6310 */ - {GPO_HP_N6310, - {0xa3, 0x00}, - {0x7f, 0x00}, - } - , - /* CANONLIDE110 */ - {GPO_CANONLIDE110, - {0xfb, 0x20}, - {0xff, 0x00}, - } - , - /* CANONLIDE120 */ - {GPO_CANONLIDE120, - {0xfb, 0x20}, - {0xff, 0x00}, - } - , - /* CANONLIDE210 */ - {GPO_CANONLIDE210, - {0xfb, 0x20}, - {0xff, 0x00}, - } - , - /* Plustek 3600 */ - {GPO_PLUSTEK_3600, - {0x02, 0x00}, - {0x1e, 0x80}, - } - /* CanoScan 4400f */ - , - {GPO_CS4400F, - {0x01, 0x7f}, - {0xff, 0x00}, - } - /* CanoScan 8400f */ - , - {GPO_CS8400F, - {0x9a, 0xdf}, - {0xfe, 0x60}, - } - /* CanoScan 8600F */ - , - { GPO_CS8600F, - { 0x20, 0x7c }, - { 0xff, 0x00 }, - } - /* Canon Image formula 101 */ - , - {GPO_IMG101, - {0x41, 0xa4}, - {0x13, 0xa7} - } - /* Plustek OpticBook 3800 */ - , - {GPO_PLUSTEK3800, - {0x41, 0xa4}, - {0x13, 0xa7} - }, - /* Canon LiDE 80 */ - { - GPO_CANONLIDE80, - {0x28, 0x90}, - {0x75, 0x80}, - } -}; - -static Genesys_Motor Motor[] = { - /* UMAX */ - {MOTOR_UMAX, - 1200, /* motor base steps */ - 2400, /* maximum motor resolution */ - 1, /* maximum step mode */ - 1, /* number of power modes*/ - {{{ - 11000, /* maximum start speed */ - 3000, /* maximum end speed */ - 128, /* step count */ - 1.0, /* nonlinearity */ - }, - { - 11000, - 3000, - 128, - 1.0, - },},}, - }, - {MOTOR_5345, /* MD5345/6228/6471 */ - 1200, - 2400, - 1, - 1, - {{{ - 2000, - 1375, - 128, - 0.5, - }, - { - 2000, - 1375, - 128, - 0.5, - },},}, - }, - {MOTOR_ST24, /* ST24 */ - 2400, - 2400, - 1, - 1, - {{{ - 2289, - 2100, - 128, - 0.3, - }, - { - 2289, - 2100, - 128, - 0.3, - },},}, - }, - {MOTOR_HP3670, /* HP 3670 */ - 1200, - 2400, - 1, - 1, - {{{ - 11000, /* start speed */ - 3000, /* max speed */ - 128, /* min steps */ - 0.25, - }, - { - 11000, - 3000, - 128, - 0.5, - },},}, - }, - {MOTOR_HP2400, /* HP 2400c */ - 1200, - 1200, - 1, - 1, - {{{ - 11000, /* start speed */ - 3000, /* max speed */ - 128, /* min steps */ - 0.25, - }, - { - 11000, - 3000, - 128, - 0.5, - },},}, - }, - {MOTOR_HP2300, /* HP 2300c */ - 600, /* 600/1200 */ - 1200, - 1, - 1, - {{{ - 3200, - 1200, - 128, - 0.5, - }, - { - 3200, - 1200, - 128, - 0.5, - },},}, - }, - {MOTOR_CANONLIDE35, /* Canon LiDE 35 */ - 1200, - 2400, - 1, - 1, - {{{ 3500, 1300, 60, 0.8, }, - { 3500, 1400, 60, 0.8, },},}, - }, - {MOTOR_XP200, /* Strobe XP200 */ - 600, - 600, - 1, - 1, - {{{ - 3500, - 1300, - 60, - 0.25, - }, - { - 3500, - 1400, - 60, - 0.5, - },},}, - }, - {MOTOR_XP300, /* 7: Visioneer Strobe XP300 */ - 300, - 600, - 1, - 1, - {{{ /* works best with GPIO10, GPIO14 off */ - 3700, - 3700, - 2, - 0.8, - }, - { - 11000, - 11000, - 2, - 0.8, - },},}, - }, - {MOTOR_DP665, /* Syscan DP 665 */ - 750, - 1500, - 1, - 1, - {{{ - 3000, - 2500, - 10, - 0.8, - }, - { - 11000, - 11000, - 2, - 0.8, - },},}, - }, - {MOTOR_ROADWARRIOR, /* Visioneer Roadwarrior */ - 750, - 1500, - 1, - 1, - {{{ - 3000, - 2600, - 10, - 0.8, - }, - { - 11000, - 11000, - 2, - 0.8, - },},}, - }, - {MOTOR_DSMOBILE_600, /* Pentax DSmobile 600 */ - 750, - 1500, - 2, - 1, - {{{ - 6666, - 3700, - 8, - 0.8, - }, - { - 6666, - 3700, - 8, - 0.8, - },},}, - }, - {MOTOR_CANONLIDE100, /* Canon LiDE 100 */ - 1200, - 6400, - 2, /* maximum step type count */ - 1, /* maximum power modes count */ - { /* motor slopes */ - { /* power mode 0 */ - { 3000, 1000, 127, 0.50}, /* full step */ - { 3000, 1500, 127, 0.50}, /* half step */ - { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ - }, - }, - }, - {MOTOR_CANONLIDE200, /* Canon LiDE 200 */ - 1200, - 6400, - 2, - 1, - { /* motor slopes */ - { /* power mode 0 */ - { 3000, 1000, 127, 0.50}, /* full step */ - { 3000, 1500, 127, 0.50}, /* half step */ - { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ - }, - }, - }, - {MOTOR_CANONLIDE700, /* Canon LiDE 700 */ - 1200, - 6400, - 2, - 1, - { /* motor slopes */ - { /* power mode 0 */ - { 3000, 1000, 127, 0.50}, /* full step */ - { 3000, 1500, 127, 0.50}, /* half step */ - { 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */ - }, - }, - }, - {MOTOR_KVSS080, - 1200, - 1200, - 2, - 1, - { /* motor slopes */ - { /* power mode 0 */ - { 22222, 500, 246, 0.5 }, /* max speed / dpi * base dpi => exposure */ - { 22222, 500, 246, 0.5 }, - { 22222, 500, 246, 0.5 }, - }, - }, - }, - {MOTOR_G4050, - 2400, - 9600, - 2, - 1, - { /* motor slopes */ - { /* power mode 0 */ - { 3961, 240, 246, 0.8 }, /* full step */ - { 3961, 240, 246, 0.8 }, /* half step */ - { 3961, 240, 246, 0.8 }, /* quarter step */ - }, - }, - }, - {MOTOR_CS8400F, - 2400, - 9600, - 2, - 1, - { /* motor slopes */ - { /* power mode 0 */ - { 3961, 240, 246, 0.8 }, /* full step */ - { 3961, 240, 246, 0.8 }, /* half step */ - { 3961, 240, 246, 0.8 }, /* quarter step */ - }, - }, - }, - { - MOTOR_CS8600F, - 2400, - 9600, - 2, - 1, - { /* motor slopes */ - { /* power mode 0 */ - { 3961, 240, 246, 0.8 }, /* full step */ - { 3961, 240, 246, 0.8 }, /* half step */ - { 3961, 240, 246, 0.8 }, /* quarter step */ - }, - }, - }, - {MOTOR_CANONLIDE110, /* Canon LiDE 110 */ - 4800, - 9600, - 1, /* maximum step type count */ - 1, /* maximum power modes count */ - { /* motor slopes */ - { /* power mode 0 */ - { 3000, 1000, 256, 0.50}, /* full step */ - }, - }, - }, - {MOTOR_CANONLIDE120, /* Canon LiDE 120 */ - 4800, - 9600, - 1, /* maximum step type count */ - 1, /* maximum power modes count */ - { /* motor slopes */ - { /* power mode 0 */ - { 3000, 1000, 256, 0.50}, /* full step */ - }, - }, - }, - {MOTOR_CANONLIDE210, /* Canon LiDE 210 */ - 4800, - 9600, - 1, /* maximum step type count */ - 1, /* maximum power modes count */ - { /* motor slopes */ - { /* power mode 0 */ - { 3000, 1000, 256, 0.50}, /* full step */ - }, - }, - }, - {MOTOR_PLUSTEK_3600, /* PLUSTEK 3600 */ - 1200, - 2400, - 1, - 1, - { - { - { 3500, 1300, 60, 0.8 }, - { 3500, 3250, 60, 0.8 }, - }, - },}, - {MOTOR_IMG101, /* Canon Image Formula 101 */ - 600, - 1200, - 1, - 1, - { - { - { 3500, 1300, 60, 0.8 }, - { 3500, 3250, 60, 0.8 }, - }, - },}, - {MOTOR_PLUSTEK3800, /* Plustek OpticBook 3800 */ - 600, - 1200, - 1, - 1, - { - { - { 3500, 1300, 60, 0.8 }, - { 3500, 3250, 60, 0.8 }, - }, - },}, - {MOTOR_CANONLIDE80, - 2400, /* 2400 ???? */ - 4800, /* 9600 ???? */ - 1, /* max step type */ - 1, /* power mode count */ - { - { /* start speed, max end speed, step number */ - /* maximum speed (second field) is used to compute exposure as seen by motor */ - /* exposure=max speed/ slope dpi * base dpi */ - /* 5144 = max pixels at 600 dpi */ - /* 1288=(5144+8)*ydpi(=300)/base_dpi(=1200) , where 5152 is exposure */ - /* 6440=9660/(1932/1288) */ - { 9560, 1912, 31, 0.8 }, - }, - },}, -}; - -/* here we have the various device settings... - */ -static Genesys_Model umax_astra_4500_model = { - "umax-astra-4500", /* Name */ - "UMAX", /* Device vendor string */ - "Astra 4500", /* Device model name */ - MODEL_UMAX_ASTRA_4500, - GENESYS_GL646, - NULL, - - {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (3.5), /* Start of scan area in mm (x) */ - SANE_FIX (7.5), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_UMAX, - DAC_WOLFSON_UMAX, - GPO_UMAX, - MOTOR_UMAX, - GENESYS_FLAG_UNTESTED, /* Which flags are needed for this scanner? */ - /* untested, values set by hmg */ - GENESYS_HAS_NO_BUTTONS, /* no buttons supported */ - 20, - 0, // shading_ta_lines - 200 -}; - -static Genesys_Model canon_lide_50_model = { - "canon-lide-50", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 35/40/50", /* Device model name */ - MODEL_CANON_LIDE_50, - GENESYS_GL841, - NULL, - - { 1200, 600, 400, 300, 240, 200, 150, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 240, 200, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.42), /* Start of scan area in mm (x) */ - SANE_FIX (7.9), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (6.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_CANONLIDE35, - DAC_CANONLIDE35, - GPO_CANONLIDE35, - MOTOR_CANONLIDE35, - GENESYS_FLAG_LAZY_INIT | /* Which flags are needed for this scanner? */ - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_DARK_WHITE_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | - GENESYS_HAS_FILE_SW | - GENESYS_HAS_EMAIL_SW | - GENESYS_HAS_COPY_SW, - 280, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model panasonic_kvss080_model = { - "panasonic-kv-ss080", /* Name */ - "Panasonic", /* Device vendor string */ - "KV-SS080", /* Device model name */ - MODEL_PANASONIC_KV_SS080, - GENESYS_GL843, - NULL, - - { 600, /* 500, 400,*/ 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - { 1200, 600, /* 500, 400, */ 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (7.2), /* Start of scan area in mm (x) */ - SANE_FIX (14.7), /* Start of scan area in mm (y) */ - SANE_FIX (217.7), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ - - SANE_FIX (9.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_KVSS080, - DAC_KVSS080, - GPO_KVSS080, - MOTOR_KVSS080, - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW , - 100, - 0, // shading_ta_lines - 100 -}; - -static Genesys_Model hp4850c_model = { - "hewlett-packard-scanjet-4850c", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet 4850C", /* Device model name */ - MODEL_HP_SCANJET_4850C, - GENESYS_GL843, - NULL, - - {2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (7.9), /* Start of scan area in mm (x) */ - SANE_FIX (5.9), /* Start of scan area in mm (y) */ - SANE_FIX (219.6), /* Size of scan area in mm (x) */ - SANE_FIX (314.5), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_G4050, - DAC_G4050, - GPO_G4050, - MOTOR_G4050, - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_STAGGERED_LINE | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_DARK_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, - 100, - 0, // shading_ta_lines - 100 -}; - -static Genesys_Model hpg4010_model = { - "hewlett-packard-scanjet-g4010", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet G4010", /* Device model name */ - MODEL_HP_SCANJET_G4010, - GENESYS_GL843, - NULL, - - { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (8.0), /* Start of scan area in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (315.0), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_G4050, - DAC_G4050, - GPO_G4050, - MOTOR_G4050, - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_STAGGERED_LINE | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_DARK_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, - 100, - 0, // shading_ta_lines - 100 -}; - -static Genesys_Model hpg4050_model = { - "hewlett-packard-scanjet-g4050", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet G4050", /* Device model name */ - MODEL_HP_SCANJET_G4050, - GENESYS_GL843, - NULL, - - { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - { 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (8.0), /* Start of scan area in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (315.0), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_G4050, - DAC_G4050, - GPO_G4050, - MOTOR_G4050, - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_STAGGERED_LINE | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_DARK_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, - 100, - 0, // shading_ta_lines - 100 -}; - - -static Genesys_Model canon_4400f_model = { - "canon-canoscan-4400f", /* Name */ - "Canon", /* Device vendor string */ - "Canoscan 4400f", /* Device model name */ - MODEL_CANON_CANOSCAN_4400F, - GENESYS_GL843, - NULL, - - { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (6.0), /* Start of scan area in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (315.0), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_CS4400F, - DAC_G4050, - GPO_CS4400F, - MOTOR_G4050, - GENESYS_FLAG_NO_CALIBRATION | - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_STAGGERED_LINE | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_DARK_CALIBRATION | - GENESYS_FLAG_FULL_HWDPI_MODE | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, - 100, - 0, // shading_ta_lines - 100 -}; - - -static Genesys_Model canon_8400f_model = { - "canon-canoscan-8400f", /* Name */ - "Canon", /* Device vendor string */ - "Canoscan 8400f", /* Device model name */ - MODEL_CANON_CANOSCAN_8400F, - GENESYS_GL843, - NULL, - - { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100, 0}, - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (4.0), /* Start of scan area in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (315.0), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (8.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (13.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (217.9), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (250.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (40.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in line number */ - /* 0 38 76 OK 1200/2400 */ - /* 0 24 48 OK [100,600] dpi */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_CS8400F, - DAC_CS8400F, - GPO_CS8400F, - MOTOR_CS8400F, - GENESYS_FLAG_NO_CALIBRATION | - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_STAGGERED_LINE | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_DARK_CALIBRATION | - GENESYS_FLAG_FULL_HWDPI_MODE | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, - 100, - 0, // shading_ta_lines - 100 -}; - - -static Genesys_Model canon_8600f_model = { - "canon-canoscan-8600f", // name - "Canon", // Device vendor string - "Canoscan 8600f", // Device model name - MODEL_CANON_CANOSCAN_8600F, - GENESYS_GL843, // ASIC type - NULL, - - { 4800, 2400, 1200, 600, 400, 300, 0}, // TODO: resolutions for non-XPA mode - { 4800, 2400, 1200, 600, 400, 300, 0}, // TODO: resolutions for non-XPA mode - { 16, 8, 0 }, // possible depths in gray mode - { 16, 8, 0 }, // possible depths in color mode - - SANE_FIX(24.0), // Start of scan area in mm (x) - SANE_FIX(10.0), // Start of scan area in mm (y) - SANE_FIX(216.0), // Size of scan area in mm (x) - SANE_FIX(297.0), // Size of scan area in mm (y) - - SANE_FIX(0.0), // Start of white strip in mm (y) - SANE_FIX(8.0), // Start of black mark in mm (x) - - SANE_FIX(95.0), // x_offset_ta - SANE_FIX(26.0), // y_offset_ta - SANE_FIX(70.0), // x_size_ta - SANE_FIX(230.0), // y_size_ta - - SANE_FIX(12.5), // y_offset_calib - - SANE_FIX(0.0), // Size of scan area after paper sensor stops - // sensing document in mm - SANE_FIX(0.0), // Amount of feeding needed to eject document - // after finishing scanning in mm - - 0, 48, 96, // RGB CCD Line-distance correction in line number - - COLOR_ORDER_RGB, // Order of the CCD/CIS colors - - SANE_FALSE, // Is this a CIS scanner? - SANE_FALSE, // Is this a sheetfed scanner? - CCD_CS8600F, - DAC_CS8600F, - GPO_CS8600F, - MOTOR_CS8600F, - GENESYS_FLAG_HAS_UTA | - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_STAGGERED_LINE | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_DARK_CALIBRATION | - GENESYS_FLAG_FULL_HWDPI_MODE | - GENESYS_FLAG_CUSTOM_GAMMA | - GENESYS_FLAG_SHADING_REPARK, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_COPY_SW, - 50, // shading_lines - 50, // shading_ta_lines - 100 -}; - - -static Genesys_Model canon_lide_100_model = { - "canon-lide-100", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 100", /* Device model name */ - MODEL_CANON_LIDE_100, - GENESYS_GL847, - NULL, - - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (1.1), /* Start of scan area in mm (x) */ - SANE_FIX (8.3), /* Start of scan area in mm (y) */ - SANE_FIX (216.07), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (1.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE100, - DAC_CANONLIDE200, - GPO_CANONLIDE200, - MOTOR_CANONLIDE100, - /* Which flags are needed for this scanner? */ - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_SIS_SENSOR - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, - 50, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model canon_lide_110_model = { - "canon-lide-110", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 110", /* Device model name */ - MODEL_CANON_LIDE_110, - GENESYS_GL124, - NULL, - - {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (2.2), /* Start of scan area in mm (x) */ - SANE_FIX (9.0), /* Start of scan area in mm (y) */ - SANE_FIX (216.70), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ - - SANE_FIX (1.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE110, - DAC_CANONLIDE110, - GPO_CANONLIDE110, - MOTOR_CANONLIDE110, - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, - 50, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model canon_lide_120_model = { - "canon-lide-120", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 120", /* Device model name */ - MODEL_CANON_LIDE_120, - GENESYS_GL124, - NULL, - - {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (8.0), /* Start of scan area in mm (y) */ - SANE_FIX (216.0), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ - - SANE_FIX (1.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE120, - DAC_CANONLIDE120, - GPO_CANONLIDE120, - MOTOR_CANONLIDE120, - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, - 50, - 0, // shading_ta_lines - 400 -}; - - -static Genesys_Model canon_lide_210_model = { - "canon-lide-210", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 210", /* Device model name */ - MODEL_CANON_LIDE_210, - GENESYS_GL124, - NULL, - - {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (2.2), /* Start of scan area in mm (x) */ - SANE_FIX (8.7), /* Start of scan area in mm (y) */ - SANE_FIX (216.70), /* Size of scan area in mm (x) */ - SANE_FIX (297.5), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE210, - DAC_CANONLIDE110, - GPO_CANONLIDE210, - MOTOR_CANONLIDE210, - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_EXTRA_SW, - 60, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model canon_lide_220_model = { - "canon-lide-220", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 220", /* Device model name */ - MODEL_CANON_LIDE_220, - GENESYS_GL124, /* or a compatible one */ - NULL, - - {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (2.2), /* Start of scan area in mm (x) */ - SANE_FIX (8.7), /* Start of scan area in mm (y) */ - SANE_FIX (216.70), /* Size of scan area in mm (x) */ - SANE_FIX (297.5), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE220, - DAC_CANONLIDE110, - GPO_CANONLIDE210, - MOTOR_CANONLIDE210, - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_EXTRA_SW, - 60, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model canon_5600f_model = { - "canon-5600f", /* Name */ - "Canon", /* Device vendor string */ - "5600F", /* Device model name */ - MODEL_CANON_CANOSCAN_5600F, - GENESYS_GL847, - NULL, - - {1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (1.1), /* Start of scan area in mm (x) */ - SANE_FIX (8.3), /* Start of scan area in mm (y) */ - SANE_FIX (216.07), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE200, - DAC_CANONLIDE200, - GPO_CANONLIDE200, - MOTOR_CANONLIDE200, - GENESYS_FLAG_UNTESTED /* not working yet */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_SIS_SENSOR - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, - 50, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model canon_lide_700f_model = { - "canon-lide-700f", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 700F", /* Device model name */ - MODEL_CANON_LIDE_700F, - GENESYS_GL847, - NULL, - - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (3.1), /* Start of scan area in mm (x) */ - SANE_FIX (8.1), /* Start of scan area in mm (y) */ - SANE_FIX (216.07), /* Size of scan area in mm (x) */ - SANE_FIX (297.0), /* Size of scan area in mm (y) */ - - SANE_FIX (1.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE700, - DAC_CANONLIDE700, - GPO_CANONLIDE700, - MOTOR_CANONLIDE700, - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_SIS_SENSOR - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, - 70, - 0, // shading_ta_lines - 400 -}; - - - -static Genesys_Model canon_lide_200_model = { - "canon-lide-200", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 200", /* Device model name */ - MODEL_CANON_LIDE_200, - GENESYS_GL847, - NULL, - - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {4800, 2400, 1200, 600, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (1.1), /* Start of scan area in mm (x) */ - SANE_FIX (8.3), /* Start of scan area in mm (y) */ - SANE_FIX (216.07), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE200, - DAC_CANONLIDE200, - GPO_CANONLIDE200, - MOTOR_CANONLIDE200, - GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_SIS_SENSOR - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_SHADING_REPARK - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW, - 50, - 0, // shading_ta_lines - 400 -}; - - -static Genesys_Model canon_lide_60_model = { - "canon-lide-60", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 60", /* Device model name */ - MODEL_CANON_LIDE_60, - GENESYS_GL841, - NULL, - - {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.42), /* Start of scan area in mm (x) */ - SANE_FIX (7.9), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (6.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_CANONLIDE35, - DAC_CANONLIDE35, - GPO_CANONLIDE35, - MOTOR_CANONLIDE35, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_WHITE_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA, - - GENESYS_HAS_COPY_SW /* Has four buttons: COPY, SCAN, PDF, EMAIL */ - | GENESYS_HAS_SCAN_SW - | GENESYS_HAS_FILE_SW - | GENESYS_HAS_EMAIL_SW, - 300, - 0, // shading_ta_lines - 400 -}; /* this is completely untested -- hmg */ - -static Genesys_Model canon_lide_80_model = { - "canon-lide-80", /* Name */ - "Canon", /* Device vendor string */ - "LiDE 80", /* Device model name */ - MODEL_CANON_LIDE_80, - GENESYS_GL841, - NULL, - - { 1200, 600, 400, 300, 240, 150, 100, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 240, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - SANE_FIX (0.42), /* Start of scan area in mm (x) 0.42 */ - SANE_FIX (7.90), /* Start of scan area in mm (y) 7.90 */ - SANE_FIX (216.07), /* Size of scan area in mm (x) 218.00 */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (4.5), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CIS_CANONLIDE80, - DAC_CANONLIDE80, - GPO_CANONLIDE80, - MOTOR_CANONLIDE80, - GENESYS_FLAG_LAZY_INIT | /* Which flags are needed for this scanner? */ - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_DARK_WHITE_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | - GENESYS_HAS_FILE_SW | - GENESYS_HAS_EMAIL_SW | - GENESYS_HAS_COPY_SW, - 160, /* 280 @2400 */ - 0, // shading_ta_lines - 400 -}; - - -static Genesys_Model hp2300c_model = { - "hewlett-packard-scanjet-2300c", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet 2300c", /* Device model name */ - MODEL_HP_SCANJET_2300C, - GENESYS_GL646, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions, motor can go up to 1200 dpi */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (2.0), /* Start of scan area in mm (x_offset) */ - SANE_FIX (7.5), /* Start of scan area in mm (y_offset) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (295.0), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 16, 8, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_HP2300, - DAC_WOLFSON_HP2300, - GPO_HP2300, - MOTOR_HP2300, - GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_SEARCH_START - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW, - 40, - 0, // shading_ta_lines - 132 -}; - -static -Genesys_Model hp2400c_model = { - "hewlett-packard-scanjet-2400c", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet 2400c", /* Device model name */ - MODEL_HP_SCANJET_2400C, - GENESYS_GL646, - NULL, - - {1200, 600, 300, 150, 100, 50, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 100, 50, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (6.5), /* Start of scan area in mm (x) */ - SANE_FIX (2.5), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (297.2), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_HP2400, - DAC_WOLFSON_HP2400, - GPO_HP2400, - MOTOR_HP2400, - GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_STAGGERED_LINE - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW, - 20, - 0, // shading_ta_lines - 132 -}; - -static -Genesys_Model visioneer_xp200_model = { - "visioneer-strobe-xp200", /* Name */ - "Visioneer", /* Device vendor string */ - "Strobe XP200", /* Device model name */ - MODEL_VISIONEER_STROBE_XP200, - GENESYS_GL646, - NULL, - - {600, 300, 200, 100, 75, 0}, /* possible x-resolutions */ - {600, 300, 200, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.5), /* Start of scan area in mm (x) */ - SANE_FIX (16.0), /* Start of scan area in mm (y) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (297.2), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CIS_XP200, - DAC_AD_XP200, /* Analog Device frontend */ - GPO_XP200, - MOTOR_XP200, - GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 120, - 0, // shading_ta_lines - 132 -}; - -static Genesys_Model hp3670c_model = { - "hewlett-packard-scanjet-3670c", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet 3670c", /* Device model name */ - MODEL_HP_SCANJET_3670C, - GENESYS_GL646, - NULL, - - {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (8.5), /* Start of scan area in mm (x) */ - SANE_FIX (11.0), /* Start of scan area in mm (y) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ - - SANE_FIX (104.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (55.6), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (25.6), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (78.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (76.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_HP3670, - DAC_WOLFSON_HP3670, - GPO_HP3670, - MOTOR_HP3670, - GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_XPA - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_STAGGERED_LINE - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_SCAN_SW, - 20, - 0, // shading_ta_lines - 200 -}; - -static Genesys_Model plustek_st12_model = { - "plustek-opticpro-st12", /* Name */ - "Plustek", /* Device vendor string */ - "OpticPro ST12", /* Device model name */ - MODEL_PLUSTEK_OPTICPRO_ST12, - GENESYS_GL646, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (3.5), /* Start of scan area in mm (x) */ - SANE_FIX (7.5), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_ST12, - DAC_WOLFSON_ST12, - GPO_ST12, - MOTOR_UMAX, - GENESYS_FLAG_UNTESTED | GENESYS_FLAG_14BIT_GAMMA, /* Which flags are needed for this scanner? */ - GENESYS_HAS_NO_BUTTONS, /* no buttons supported */ - 20, - 0, // shading_ta_lines - 200 -}; - -static Genesys_Model plustek_st24_model = { - "plustek-opticpro-st24", /* Name */ - "Plustek", /* Device vendor string */ - "OpticPro ST24", /* Device model name */ - MODEL_PLUSTEK_OPTICPRO_ST24, - GENESYS_GL646, - NULL, - - {1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (3.5), /* Start of scan area in mm (x) */ - SANE_FIX (7.5), /* Start of scan area in mm (y) */ - SANE_FIX (218.0), /* Size of scan area in mm (x) */ - SANE_FIX (299.0), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (1.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_ST24, - DAC_WOLFSON_ST24, - GPO_ST24, - MOTOR_ST24, - GENESYS_FLAG_UNTESTED - | GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_SEARCH_START - | GENESYS_FLAG_OFFSET_CALIBRATION, - GENESYS_HAS_NO_BUTTONS, /* no buttons supported */ - 20, - 0, // shading_ta_lines - 200 -}; - -static Genesys_Model medion_md5345_model = { - "medion-md5345-model", /* Name */ - "Medion", /* Device vendor string */ - "MD5345/MD6228/MD6471", /* Device model name */ - MODEL_MEDION_MD5345, - GENESYS_GL646, - NULL, - - {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX ( 0.30), /* Start of scan area in mm (x) */ - SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (296.4), /* Size of scan area in mm (y) */ - - SANE_FIX (0.00), /* Start of white strip in mm (y) */ - SANE_FIX (0.00), /* Start of black mark in mm (x) */ - - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_5345, - DAC_WOLFSON_5345, - GPO_5345, - MOTOR_5345, - GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_SEARCH_START - | GENESYS_FLAG_STAGGERED_LINE - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_SHADING_NO_MOVE - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_POWER_SW | GENESYS_HAS_OCR_SW | GENESYS_HAS_SCAN_SW, - 40, - 0, // shading_ta_lines - 200 -}; - -static Genesys_Model visioneer_xp300_model = { - "visioneer-strobe-xp300", /* Name */ - "Visioneer", /* Device vendor string */ - "Strobe XP300", /* Device model name */ - MODEL_VISIONEER_STROBE_XP300, - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (1.0), /* Start of scan area in mm (y) */ - SANE_FIX (435.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (26.5), /* Size of scan area after paper sensor stops - sensing document in mm */ - /* this is larger than needed -- accounts for second sensor head, which is a - calibration item */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_XP300, - DAC_WOLFSON_XP300, - GPO_XP300, - MOTOR_XP300, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model syscan_docketport_665_model = { - "syscan-docketport-665", /* Name */ - "Syscan/Ambir", /* Device vendor string */ - "DocketPORT 665", /* Device model name */ - MODEL_SYSCAN_DOCKETPORT_665, - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (108.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (17.5), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_DP665, - DAC_WOLFSON_XP300, - GPO_DP665, - MOTOR_DP665, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model visioneer_roadwarrior_model = { - "visioneer-roadwarrior", /* Name */ - "Visioneer", /* Device vendor string */ - "Readwarrior", /* Device model name */ - MODEL_VISIONEER_ROADWARRIOR, - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (16.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_ROADWARRIOR, - DAC_WOLFSON_XP300, - GPO_DP665, - MOTOR_ROADWARRIOR, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model syscan_docketport_465_model = { - "syscan-docketport-465", /* Name */ - "Syscan", /* Device vendor string */ - "DocketPORT 465", /* Device model name */ - MODEL_SYSCAN_DOCKETPORT_465, - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (16.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_ROADWARRIOR, - DAC_WOLFSON_XP300, - GPO_DP665, - MOTOR_ROADWARRIOR, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_NO_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_UNTESTED, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW, - 300, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model visioneer_xp100_r3_model = { - "visioneer-xp100-revision3", /* Name */ - "Visioneer", /* Device vendor string */ - "XP100 Revision 3", /* Device model name */ - MODEL_VISIONEER_STROBE_XP100_REVISION3, - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (16.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_ROADWARRIOR, - DAC_WOLFSON_XP300, - GPO_DP665, - MOTOR_ROADWARRIOR, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model pentax_dsmobile_600_model = { - "pentax-dsmobile-600", /* Name */ - "Pentax", /* Device vendor string */ - "DSmobile 600", /* Device model name */ - MODEL_PENTAX_DSMOBILE_600, - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (16.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_DSMOBILE600, - DAC_WOLFSON_DSM600, - GPO_DP665, - MOTOR_DSMOBILE_600, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model syscan_docketport_467_model = { - "syscan-docketport-467", /* Name */ - "Syscan", /* Device vendor string */ - "DocketPORT 467", /* Device model name */ - MODEL_SYSCAN_DOCKETPORT_467, - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (16.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_DSMOBILE600, - DAC_WOLFSON_DSM600, - GPO_DP665, - MOTOR_DSMOBILE_600, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model syscan_docketport_685_model = { - "syscan-docketport-685", /* Name */ - "Syscan/Ambir", /* Device vendor string */ - "DocketPORT 685", /* Device model name */ - MODEL_SYSCAN_DOCKETPORT_685, - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (1.0), /* Start of scan area in mm (y) */ - SANE_FIX (212.0), /* Size of scan area in mm (x) */ - SANE_FIX (500), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (26.5), /* Size of scan area after paper sensor stops - sensing document in mm */ - /* this is larger than needed -- accounts for second sensor head, which is a - calibration item */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_DP685, - DAC_WOLFSON_DSM600, - GPO_DP685, - MOTOR_XP300, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model syscan_docketport_485_model = { - "syscan-docketport-485", /* Name */ - "Syscan/Ambir", /* Device vendor string */ - "DocketPORT 485", /* Device model name */ - MODEL_SYSCAN_DOCKETPORT_485, - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (1.0), /* Start of scan area in mm (y) */ - SANE_FIX (435.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (26.5), /* Size of scan area after paper sensor stops - sensing document in mm */ - /* this is larger than needed -- accounts for second sensor head, which is a - calibration item */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_XP300, - DAC_WOLFSON_XP300, - GPO_XP300, - MOTOR_XP300, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model dct_docketport_487_model = { - "dct-docketport-487", /* Name */ - "DCT", /* Device vendor string */ - "DocketPORT 487", /* Device model name */ - MODEL_DCT_DOCKETPORT_487, - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.0), /* Start of scan area in mm (x) */ - SANE_FIX (1.0), /* Start of scan area in mm (y) */ - SANE_FIX (435.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (26.5), /* Size of scan area after paper sensor stops - sensing document in mm */ - /* this is larger than needed -- accounts for second sensor head, which is a - calibration item */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_XP300, - DAC_WOLFSON_XP300, - GPO_XP300, - MOTOR_XP300, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_UNTESTED, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model visioneer_7100_model = { - "visioneer-7100-model", /* Name */ - "Visioneer", /* Device vendor string */ - "OneTouch 7100", /* Device model name */ - MODEL_VISIONEER_7100, - GENESYS_GL646, - NULL, - - {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX ( 4.00), /* Start of scan area in mm (x) */ - SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (296.4), /* Size of scan area in mm (y) */ - - SANE_FIX (0.00), /* Start of white strip in mm (y) */ - SANE_FIX (0.00), /* Start of black mark in mm (x) */ - - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ -/* 48, 24, 0, */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_5345, - DAC_WOLFSON_5345, - GPO_5345, - MOTOR_5345, - GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_SEARCH_START - | GENESYS_FLAG_STAGGERED_LINE - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_POWER_SW | GENESYS_HAS_OCR_SW | GENESYS_HAS_SCAN_SW, - 40, - 0, // shading_ta_lines - 200 -}; - -static Genesys_Model xerox_2400_model = { - "xerox-2400-model", /* Name */ - "Xerox", /* Device vendor string */ - "OneTouch 2400", /* Device model name */ - MODEL_XEROX_2400, - GENESYS_GL646, - NULL, - - {1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ - {2400, 1200, 600, 400, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX ( 4.00), /* Start of scan area in mm (x) */ - SANE_FIX ( 0.80), /* 2.79 < Start of scan area in mm (y) */ - SANE_FIX (215.9), /* Size of scan area in mm (x) */ - SANE_FIX (296.4), /* Size of scan area in mm (y) */ - - SANE_FIX (0.00), /* Start of white strip in mm (y) */ - SANE_FIX (0.00), /* Start of black mark in mm (x) */ - - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.00), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.00), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ -/* 48, 24, 0, */ - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_5345, - DAC_WOLFSON_5345, - GPO_5345, - MOTOR_5345, - GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_SEARCH_START - | GENESYS_FLAG_STAGGERED_LINE - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_POWER_SW | GENESYS_HAS_OCR_SW | GENESYS_HAS_SCAN_SW, - 40, - 0, // shading_ta_lines - 200 -}; - - -static Genesys_Model xerox_travelscanner_model = { - "xerox-travelscanner", /* Name */ - "Xerox", /* Device vendor string */ - "Travelscanner 100", /* Device model name */ - MODEL_XEROX_TRAVELSCANNER_100, - GENESYS_GL841, - NULL, - - {600, 300, 150, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (4.0), /* Start of scan area in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in mm (y) */ - SANE_FIX (220.0), /* Size of scan area in mm (x) */ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (16.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_TRUE, /* Is this a CIS scanner? */ - SANE_TRUE, /* Is this a sheetfed scanner? */ - CCD_ROADWARRIOR, - DAC_WOLFSON_XP300, - GPO_DP665, - MOTOR_ROADWARRIOR, - GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION, - GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW | GENESYS_HAS_CALIBRATE, - 100, - 0, // shading_ta_lines - 400 -}; - -static Genesys_Model plustek_3600_model = { - "plustek-opticbook-3600", /* Name */ - "PLUSTEK", /* Device vendor string */ - "OpticBook 3600", /* Device model name */ - MODEL_PLUSTEK_OPTICPRO_3600, - GENESYS_GL841, - NULL, - {/*1200,*/ 600, 400, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */ - {/*2400,*/ 1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (0.42),/*SANE_FIX (0.42), Start of scan area in mm (x) */ - SANE_FIX (6.75),/*SANE_FIX (7.9), Start of scan area in mm (y) */ - SANE_FIX (216.0),/*SANE_FIX (216.0), Size of scan area in mm (x) */ - SANE_FIX (297.0),/*SANE_FIX (297.0), Size of scan area in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_PLUSTEK_3600, - DAC_PLUSTEK_3600, - GPO_PLUSTEK_3600, - MOTOR_PLUSTEK_3600, - GENESYS_FLAG_UNTESTED /* not fully working yet */ - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_LAZY_INIT,/* - | GENESYS_FLAG_NO_CALIBRATION,*/ - GENESYS_HAS_NO_BUTTONS, - 7, - 0, // shading_ta_lines - 200 -}; - -static Genesys_Model hpn6310_model = { - "hewlett-packard-scanjet-N6310", /* Name */ - "Hewlett Packard", /* Device vendor string */ - "ScanJet N6310", /* Device model name */ - MODEL_HP_SCANJET_N6310, - GENESYS_GL847, - NULL, - - { 2400, 1200, 600, 400, 300, 200, 150, 100, 75, 0}, - { 2400, 1200, 600, 400, 300, 200, 150, 100, 75, 0}, - - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (6), /* Start of scan area in mm (x) */ - SANE_FIX (2), /* Start of scan area in mm (y) */ - SANE_FIX (216), /* Size of scan area in mm (x) 5148 pixels at 600 dpi*/ - SANE_FIX (511), /* Size of scan area in mm (y) */ - - SANE_FIX (3.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_HP_N6310, - DAC_CANONLIDE200, /*Not defined yet for N6310 */ - GPO_HP_N6310, - MOTOR_CANONLIDE200, /*Not defined yet for N6310 */ - GENESYS_FLAG_UNTESTED /* not fully working yet */ - | GENESYS_FLAG_LAZY_INIT - | GENESYS_FLAG_14BIT_GAMMA - | GENESYS_FLAG_DARK_CALIBRATION - | GENESYS_FLAG_OFFSET_CALIBRATION - | GENESYS_FLAG_CUSTOM_GAMMA - | GENESYS_FLAG_SKIP_WARMUP - | GENESYS_FLAG_NO_CALIBRATION, - - GENESYS_HAS_NO_BUTTONS, - 100, - 0, // shading_ta_lines - 100 -}; - - -static Genesys_Model plustek_3800_model = { - "plustek-opticbook-3800", /* Name */ - "PLUSTEK", /* Device vendor string */ - "OpticBook 3800", /* Device model name */ - MODEL_PLUSTEK_OPTICBOOK_3800, - GENESYS_GL845, - NULL, - - {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (7.2), /* Start of scan area in mm (x) */ - SANE_FIX (14.7), /* Start of scan area in mm (y) */ - SANE_FIX (217.7), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ - - SANE_FIX (9.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_PLUSTEK3800, - DAC_PLUSTEK3800, - GPO_PLUSTEK3800, - MOTOR_PLUSTEK3800, - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_NO_BUTTONS, /* TODO there are 4 buttons to support */ - 100, - 0, // shading_ta_lines - 100 -}; - - -static Genesys_Model canon_formula101_model = { - "canon-image-formula-101", /* Name */ - "Canon", /* Device vendor string */ - "Image Formula 101", /* Device model name */ - MODEL_CANON_IMAGE_FORMULA_101, - GENESYS_GL846, - NULL, - - {1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */ - {1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */ - {16, 8, 0}, /* possible depths in gray mode */ - {16, 8, 0}, /* possible depths in color mode */ - - SANE_FIX (7.2), /* Start of scan area in mm (x) */ - SANE_FIX (14.7), /* Start of scan area in mm (y) */ - SANE_FIX (217.7), /* Size of scan area in mm (x) */ - SANE_FIX (300.0), /* Size of scan area in mm (y) */ - - SANE_FIX (9.0), /* Start of white strip in mm (y) */ - SANE_FIX (0.0), /* Start of black mark in mm (x) */ - - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ - SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ - - SANE_FIX (0.0), /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_FIX (0.0), /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ - - COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ - - SANE_FALSE, /* Is this a CIS scanner? */ - SANE_FALSE, /* Is this a sheetfed scanner? */ - CCD_IMG101, - DAC_IMG101, - GPO_IMG101, - MOTOR_IMG101, - GENESYS_FLAG_LAZY_INIT | - GENESYS_FLAG_SKIP_WARMUP | - GENESYS_FLAG_OFFSET_CALIBRATION | - GENESYS_FLAG_CUSTOM_GAMMA, - GENESYS_HAS_NO_BUTTONS , - 100, - 0, // shading_ta_lines - 100 -}; - - -static Genesys_USB_Device_Entry genesys_usb_device_list[] = { - /* GL646 devices */ - {0x03f0, 0x0901, &hp2300c_model}, - {0x03f0, 0x0a01, &hp2400c_model}, - {0x03f0, 0x1405, &hp3670c_model}, - {0x0461, 0x0377, &medion_md5345_model}, - {0x04a7, 0x0229, &visioneer_7100_model}, - {0x0461, 0x038b, &xerox_2400_model}, - {0x04a7, 0x0426, &visioneer_xp200_model}, - {0x0638, 0x0a10, &umax_astra_4500_model}, - {0x07b3, 0x0600, &plustek_st12_model}, - {0x07b3, 0x0601, &plustek_st24_model}, - /* GL841 devices */ - {0x04a7, 0x0474, &visioneer_xp300_model}, - {0x04a7, 0x0494, &visioneer_roadwarrior_model}, - {0x04a7, 0x049b, &visioneer_xp100_r3_model}, - {0x04a7, 0x04ac, &xerox_travelscanner_model}, - {0x04a9, 0x2213, &canon_lide_50_model}, - {0x04a9, 0x221c, &canon_lide_60_model}, - {0x04a9, 0x2214, &canon_lide_80_model}, - {0x07b3, 0x0900, &plustek_3600_model}, - {0x0a17, 0x3210, &pentax_dsmobile_600_model}, - {0x04f9, 0x2038, &pentax_dsmobile_600_model}, /* clone, only usb id is different */ - {0x0a82, 0x4800, &syscan_docketport_485_model}, - {0x0a82, 0x4802, &syscan_docketport_465_model}, - {0x0a82, 0x4803, &syscan_docketport_665_model}, - {0x0a82, 0x480c, &syscan_docketport_685_model}, - {0x1dcc, 0x4810, &dct_docketport_487_model}, - {0x1dcc, 0x4812, &syscan_docketport_467_model}, - /* GL843 devices */ - {0x04da, 0x100f, &panasonic_kvss080_model}, - {0x03f0, 0x1b05, &hp4850c_model}, - {0x03f0, 0x4505, &hpg4010_model}, - {0x03f0, 0x4605, &hpg4050_model}, - {0x04a9, 0x2228, &canon_4400f_model}, - {0x04a9, 0x221e, &canon_8400f_model}, - {0x04a9, 0x2229, &canon_8600f_model}, - /* GL845 devices */ - {0x07b3, 0x1300, &plustek_3800_model}, - /* GL846 devices */ - {0x1083, 0x162e, &canon_formula101_model}, - /* GL847 devices */ - {0x04a9, 0x1904, &canon_lide_100_model}, - {0x04a9, 0x1905, &canon_lide_200_model}, - {0x04a9, 0x1906, &canon_5600f_model}, - {0x04a9, 0x1907, &canon_lide_700f_model}, - {0x03f0, 0x4705, &hpn6310_model}, - /* GL124 devices */ - {0x04a9, 0x1909, &canon_lide_110_model}, - {0x04a9, 0x190e, &canon_lide_120_model}, - {0x04a9, 0x190a, &canon_lide_210_model}, - {0x04a9, 0x190f, &canon_lide_220_model}, - {0, 0, NULL} -}; - -#define MAX_SCANNERS (sizeof(genesys_usb_device_list) / \ - sizeof(genesys_usb_device_list[0])) diff --git a/backend/genesys_error.cc b/backend/genesys_error.cc deleted file mode 100644 index c98a490..0000000 --- a/backend/genesys_error.cc +++ /dev/null @@ -1,115 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2019 Povilas Kanapickas - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#define DEBUG_DECLARE_ONLY - -#include "genesys_error.h" -#include -#include - -extern "C" void sanei_debug_msg(int level, int max_level, const char *be, const char *fmt, - va_list ap); - -#if (defined(__GNUC__) || defined(__CLANG__)) && (defined(__linux__) || defined(__APPLE__)) -extern "C" char* __cxa_get_globals(); -#endif - -static unsigned num_uncaught_exceptions() -{ -#if __cplusplus >= 201703L - int count = std::uncaught_exceptions(); - return count >= 0 ? count : 0; -#elif (defined(__GNUC__) || defined(__CLANG__)) && (defined(__linux__) || defined(__APPLE__)) - // the format of the __cxa_eh_globals struct is enshrined into the Itanium C++ ABI and it's - // very unlikely we'll get issues referencing it directly - char* cxa_eh_globals_ptr = __cxa_get_globals(); - return *reinterpret_cast(cxa_eh_globals_ptr + sizeof(void*)); -#else - return std::uncaught_exception() ? 1 : 0; -#endif -} - -DebugMessageHelper::DebugMessageHelper(const char* func) -{ - func_ = func; - num_exceptions_on_enter_ = num_uncaught_exceptions(); - msg_[0] = '\0'; - DBG(DBG_proc, "%s: start\n", func_); -} - -DebugMessageHelper::DebugMessageHelper(const char* func, const char* format, ...) -{ - func_ = func; - num_exceptions_on_enter_ = num_uncaught_exceptions(); - msg_[0] = '\0'; - DBG(DBG_proc, "%s: start\n", func_); - DBG(DBG_proc, "%s: ", func_); - - std::va_list args; - va_start(args, format); - sanei_debug_msg(DBG_proc, DBG_LEVEL, STRINGIFY(BACKEND_NAME), format, args); - va_end(args); - DBG(DBG_proc, "\n"); -} - - -DebugMessageHelper::~DebugMessageHelper() -{ - if (num_exceptions_on_enter_ < num_uncaught_exceptions()) { - if (msg_[0] != '\0') { - DBG(DBG_error, "%s: failed during %s\n", func_, msg_); - } else { - DBG(DBG_error, "%s: failed\n", func_); - } - } else { - DBG(DBG_proc, "%s: completed\n", func_); - } -} - -void DebugMessageHelper::vstatus(const char* format, ...) -{ - std::va_list args; - va_start(args, format); - std::vsnprintf(msg_, MAX_BUF_SIZE, format, args); - va_end(args); -} diff --git a/backend/genesys_error.h b/backend/genesys_error.h deleted file mode 100644 index d456581..0000000 --- a/backend/genesys_error.h +++ /dev/null @@ -1,202 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2019 Povilas Kanapickas - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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 BACKEND_GENESYS_ERROR_H -#define BACKEND_GENESYS_ERROR_H - -#include "../include/sane/config.h" -#include "../include/sane/sane.h" -#include "../include/sane/sanei_backend.h" - -#include -#include -#include - -#define DBG_error0 0 /* errors/warnings printed even with devuglevel 0 */ -#define DBG_error 1 /* fatal errors */ -#define DBG_init 2 /* initialization and scanning time messages */ -#define DBG_warn 3 /* warnings and non-fatal errors */ -#define DBG_info 4 /* informational messages */ -#define DBG_proc 5 /* starting/finishing functions */ -#define DBG_io 6 /* io functions */ -#define DBG_io2 7 /* io functions that are called very often */ -#define DBG_data 8 /* log image data */ - -class SaneException : std::exception { -public: - SaneException(SANE_Status status) : status_(status) - { - set_msg(nullptr); - } - - SaneException(SANE_Status status, const char* msg) : status_(status) - { - set_msg(msg); - } - - SaneException(const char* msg) : SaneException(SANE_STATUS_INVAL, msg) {} - - SANE_Status status() const { return status_; } - virtual const char* what() const noexcept override { return msg_.c_str(); } - -private: - - void set_msg(const char* msg) - { - const char* status_msg = sane_strstatus(status_); - std::size_t status_msg_len = std::strlen(status_msg); - - if (msg) { - std::size_t msg_len = std::strlen(msg); - msg_.reserve(msg_len + status_msg_len + 3); - msg_ = msg; - msg_ += " : "; - msg_ += status_msg; - return; - } - - msg_.reserve(status_msg_len); - msg_ = status_msg; - } - - std::string msg_; - SANE_Status status_; -}; - -/** - * call a function and return on error - */ -#define RIE(function) \ - do { status = function; \ - if (status != SANE_STATUS_GOOD) \ - { \ - DBG(DBG_error, "%s: %s\n", __func__, sane_strstatus (status)); \ - return status; \ - } \ - } while (SANE_FALSE) - -// call a function and throw an exception on error -#define TIE(function) \ - do { \ - SANE_Status tmp_status = function; \ - if (tmp_status != SANE_STATUS_GOOD) { \ - throw SaneException(tmp_status); \ - } \ - } while (false) - -#define DBGSTART DBG (DBG_proc, "%s start\n", __func__); -#define DBGCOMPLETED DBG (DBG_proc, "%s completed\n", __func__); - -class DebugMessageHelper { -public: - static constexpr unsigned MAX_BUF_SIZE = 120; - - DebugMessageHelper(const char* func); - DebugMessageHelper(const char* func, const char* format, ...) - #ifdef __GNUC__ - __attribute__((format(printf, 3, 4))) - #endif - ; - - ~DebugMessageHelper(); - - void status(const char* msg) { vstatus("%s", msg); } - void vstatus(const char* format, ...) - #ifdef __GNUC__ - __attribute__((format(printf, 2, 3))) - #endif - ; - - void clear() { msg_[0] = '\n'; } - -private: - const char* func_ = nullptr; - char msg_[MAX_BUF_SIZE]; - unsigned num_exceptions_on_enter_ = 0; -}; - -#define DBG_HELPER(var) DebugMessageHelper var(__func__) -#define DBG_HELPER_ARGS(var, ...) DebugMessageHelper var(__func__, __VA_ARGS__) - -template -SANE_Status wrap_exceptions_to_status_code(const char* func, F&& function) -{ - try { - return function(); - } catch (const SaneException& exc) { - return exc.status(); - } catch (const std::bad_alloc& exc) { - return SANE_STATUS_NO_MEM; - } catch (const std::exception& exc) { - DBG(DBG_error, "%s: got uncaught exception: %s\n", func, exc.what()); - return SANE_STATUS_INVAL; - } catch (...) { - DBG(DBG_error, "%s: got unknown uncaught exception\n", func); - return SANE_STATUS_INVAL; - } -} - -template -void catch_all_exceptions(const char* func, F&& function) -{ - try { - function(); - } catch (const SaneException& exc) { - DBG(DBG_error, "%s: got exception: %s\n", func, exc.what()); - } catch (const std::bad_alloc& exc) { - DBG(DBG_error, "%s: got exception: could not allocate memory: %s\n", func, exc.what()); - } catch (const std::exception& exc) { - DBG(DBG_error, "%s: got uncaught exception: %s\n", func, exc.what()); - } catch (...) { - DBG(DBG_error, "%s: got unknown uncaught exception\n", func); - } -} - -inline void wrap_status_code_to_exception(SANE_Status status) -{ - if (status == SANE_STATUS_GOOD) - return; - throw SaneException(status); -} - -#endif // BACKEND_GENESYS_ERROR_H diff --git a/backend/genesys_gl124.cc b/backend/genesys_gl124.cc deleted file mode 100644 index a535d58..0000000 --- a/backend/genesys_gl124.cc +++ /dev/null @@ -1,3592 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2010-2016 Stéphane Voltz - - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#define DEBUG_DECLARE_ONLY - -#include "genesys_gl124.h" - -#include - -/**************************************************************************** - Mid level functions - ****************************************************************************/ - -static SANE_Bool gl124_get_fast_feed_bit(Genesys_Register_Set* regs) -{ - return (bool)(regs->get8(REG02) & REG02_FASTFED); -} - -static SANE_Bool gl124_get_filter_bit(Genesys_Register_Set* regs) -{ - return (bool)(regs->get8(REG04) & REG04_FILTER); -} - -static SANE_Bool gl124_get_lineart_bit(Genesys_Register_Set* regs) -{ - return (bool)(regs->get8(REG04) & REG04_LINEART); -} - -static SANE_Bool gl124_get_bitset_bit(Genesys_Register_Set* regs) -{ - return (bool)(regs->get8(REG04) & REG04_BITSET); -} - -static SANE_Bool gl124_get_gain4_bit (Genesys_Register_Set * regs) -{ - return (bool)(regs->get8(REG06) & REG06_GAIN4); -} - -static SANE_Bool -gl124_test_buffer_empty_bit (SANE_Byte val) -{ - if (val & BUFEMPTY) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl124_test_motor_flag_bit (SANE_Byte val) -{ - if (val & MOTORENB) - return SANE_TRUE; - return SANE_FALSE; -} - -/** @brief sensor profile - * search for the database of motor profiles and get the best one. Each - * profile is at a specific dpihw. Use LiDE 110 table by default. - * @param sensor_type sensor id - * @param dpi hardware dpi for the scan - * @param half_ccd flag to signal half ccd mode - * @return a pointer to a Sensor_Profile struct - */ -static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi, int half_ccd) -{ - unsigned int i; - int idx; - - i=0; - idx=-1; - while(i=dpi - && sensors[i].dpi 1) - { - return SANE_TRUE; - } - return SANE_FALSE; -} - -/** @brief set all registers to default values . - * This function is called only once at the beginning and - * fills register startup values for registers reused across scans. - * Those that are rarely modified or not modified are written - * individually. - * @param dev device structure holding register set to initialize - */ -static void -gl124_init_registers (Genesys_Device * dev) -{ - DBGSTART; - - dev->reg.clear(); - - /* default to LiDE 110 */ - SETREG (0x01,0xa2); /* + REG01_SHDAREA */ - SETREG (0x02,0x90); - SETREG (0x03,0x50); - SETREG (0x04,0x03); - SETREG (0x05,0x00); - if(dev->model->ccd_type==CIS_CANONLIDE120) - { - SETREG (0x06,0x50); - SETREG (0x07,0x00); - } - else - { - SETREG (0x03,0x50 & ~REG03_AVEENB); - SETREG (0x06,0x50 | REG06_GAIN4); - } - SETREG (0x09,0x00); - SETREG (0x0a,0xc0); - SETREG (0x0b,0x2a); - SETREG (0x0c,0x12); - SETREG (0x11,0x00); - SETREG (0x12,0x00); - SETREG (0x13,0x0f); - SETREG (0x14,0x00); - SETREG (0x15,0x80); - SETREG (0x16,0x10); - SETREG (0x17,0x04); - SETREG (0x18,0x00); - SETREG (0x19,0x01); - SETREG (0x1a,0x30); - SETREG (0x1b,0x00); - SETREG (0x1c,0x00); - SETREG (0x1d,0x01); - SETREG (0x1e,0x10); - SETREG (0x1f,0x00); - SETREG (0x20,0x15); - SETREG (0x21,0x00); - if(dev->model->ccd_type!=CIS_CANONLIDE120) - { - SETREG (0x22,0x02); - } - else - { - SETREG (0x22,0x14); - } - SETREG (0x23,0x00); - SETREG (0x24,0x00); - SETREG (0x25,0x00); - SETREG (0x26,0x0d); - SETREG (0x27,0x48); - SETREG (0x28,0x00); - SETREG (0x29,0x56); - SETREG (0x2a,0x5e); - SETREG (0x2b,0x02); - SETREG (0x2c,0x02); - SETREG (0x2d,0x58); - SETREG (0x3b,0x00); - SETREG (0x3c,0x00); - SETREG (0x3d,0x00); - SETREG (0x3e,0x00); - SETREG (0x3f,0x02); - SETREG (0x40,0x00); - SETREG (0x41,0x00); - SETREG (0x42,0x00); - SETREG (0x43,0x00); - SETREG (0x44,0x00); - SETREG (0x45,0x00); - SETREG (0x46,0x00); - SETREG (0x47,0x00); - SETREG (0x48,0x00); - SETREG (0x49,0x00); - SETREG (0x4f,0x00); - SETREG (0x52,0x00); - SETREG (0x53,0x02); - SETREG (0x54,0x04); - SETREG (0x55,0x06); - SETREG (0x56,0x04); - SETREG (0x57,0x04); - SETREG (0x58,0x04); - SETREG (0x59,0x04); - SETREG (0x5a,0x1a); - SETREG (0x5b,0x00); - SETREG (0x5c,0xc0); - SETREG (0x5f,0x00); - SETREG (0x60,0x02); - SETREG (0x61,0x00); - SETREG (0x62,0x00); - SETREG (0x63,0x00); - SETREG (0x64,0x00); - SETREG (0x65,0x00); - SETREG (0x66,0x00); - SETREG (0x67,0x00); - SETREG (0x68,0x00); - SETREG (0x69,0x00); - SETREG (0x6a,0x00); - SETREG (0x6b,0x00); - SETREG (0x6c,0x00); - SETREG (0x6e,0x00); - SETREG (0x6f,0x00); - if(dev->model->ccd_type!=CIS_CANONLIDE120) - { - SETREG (0x6d,0xd0); - SETREG (0x71,0x08); - } - else - { - SETREG (0x6d,0x00); - SETREG (0x71,0x1f); - } - SETREG (0x70,0x00); - SETREG (0x72,0x08); - SETREG (0x73,0x0a); - - /* CKxMAP */ - SETREG (0x74,0x00); - SETREG (0x75,0x00); - SETREG (0x76,0x3c); - SETREG (0x77,0x00); - SETREG (0x78,0x00); - SETREG (0x79,0x9f); - SETREG (0x7a,0x00); - SETREG (0x7b,0x00); - SETREG (0x7c,0x55); - - SETREG (0x7d,0x00); - SETREG (0x7e,0x08); - SETREG (0x7f,0x58); - if(dev->model->ccd_type!=CIS_CANONLIDE120) - { - SETREG (0x80,0x00); - SETREG (0x81,0x14); - } - else - { - SETREG (0x80,0x00); - SETREG (0x81,0x10); - } - - /* STRPIXEL */ - SETREG (0x82,0x00); - SETREG (0x83,0x00); - SETREG (0x84,0x00); - /* ENDPIXEL */ - SETREG (0x85,0x00); - SETREG (0x86,0x00); - SETREG (0x87,0x00); - - SETREG (0x88,0x00); - SETREG (0x89,0x65); - SETREG (0x8a,0x00); - SETREG (0x8b,0x00); - SETREG (0x8c,0x00); - SETREG (0x8d,0x00); - SETREG (0x8e,0x00); - SETREG (0x8f,0x00); - SETREG (0x90,0x00); - SETREG (0x91,0x00); - SETREG (0x92,0x00); - SETREG (0x93,0x00); - SETREG (0x94,0x14); - SETREG (0x95,0x30); - SETREG (0x96,0x00); - SETREG (0x97,0x90); - SETREG (0x98,0x01); - SETREG (0x99,0x1f); - SETREG (0x9a,0x00); - SETREG (0x9b,0x80); - SETREG (0x9c,0x80); - SETREG (0x9d,0x3f); - SETREG (0x9e,0x00); - SETREG (0x9f,0x00); - SETREG (0xa0,0x20); - SETREG (0xa1,0x30); - SETREG (0xa2,0x00); - SETREG (0xa3,0x20); - SETREG (0xa4,0x01); - SETREG (0xa5,0x00); - SETREG (0xa6,0x00); - SETREG (0xa7,0x08); - SETREG (0xa8,0x00); - SETREG (0xa9,0x08); - SETREG (0xaa,0x01); - SETREG (0xab,0x00); - SETREG (0xac,0x00); - SETREG (0xad,0x40); - SETREG (0xae,0x01); - SETREG (0xaf,0x00); - SETREG (0xb0,0x00); - SETREG (0xb1,0x40); - SETREG (0xb2,0x00); - SETREG (0xb3,0x09); - SETREG (0xb4,0x5b); - SETREG (0xb5,0x00); - SETREG (0xb6,0x10); - SETREG (0xb7,0x3f); - SETREG (0xb8,0x00); - SETREG (0xbb,0x00); - SETREG (0xbc,0xff); - SETREG (0xbd,0x00); - SETREG (0xbe,0x07); - SETREG (0xc3,0x00); - SETREG (0xc4,0x00); - - /* gamma - SETREG (0xc5,0x00); - SETREG (0xc6,0x00); - SETREG (0xc7,0x00); - SETREG (0xc8,0x00); - SETREG (0xc9,0x00); - SETREG (0xca,0x00); - SETREG (0xcb,0x00); - SETREG (0xcc,0x00); - SETREG (0xcd,0x00); - SETREG (0xce,0x00); - */ - if(dev->model->ccd_type==CIS_CANONLIDE120) - { - SETREG (0xc5,0x20); - SETREG (0xc6,0xeb); - SETREG (0xc7,0x20); - SETREG (0xc8,0xeb); - SETREG (0xc9,0x20); - SETREG (0xca,0xeb); - } - - /* memory layout - SETREG (0xd0,0x0a); - SETREG (0xd1,0x1f); - SETREG (0xd2,0x34); */ - SETREG (0xd3,0x00); - SETREG (0xd4,0x00); - SETREG (0xd5,0x00); - SETREG (0xd6,0x00); - SETREG (0xd7,0x00); - SETREG (0xd8,0x00); - SETREG (0xd9,0x00); - - /* memory layout - SETREG (0xe0,0x00); - SETREG (0xe1,0x48); - SETREG (0xe2,0x15); - SETREG (0xe3,0x90); - SETREG (0xe4,0x15); - SETREG (0xe5,0x91); - SETREG (0xe6,0x2a); - SETREG (0xe7,0xd9); - SETREG (0xe8,0x2a); - SETREG (0xe9,0xad); - SETREG (0xea,0x40); - SETREG (0xeb,0x22); - SETREG (0xec,0x40); - SETREG (0xed,0x23); - SETREG (0xee,0x55); - SETREG (0xef,0x6b); - SETREG (0xf0,0x55); - SETREG (0xf1,0x6c); - SETREG (0xf2,0x6a); - SETREG (0xf3,0xb4); - SETREG (0xf4,0x6a); - SETREG (0xf5,0xb5); - SETREG (0xf6,0x7f); - SETREG (0xf7,0xfd);*/ - - SETREG (0xf8,0x01); /* other value is 0x05 */ - SETREG (0xf9,0x00); - SETREG (0xfa,0x00); - SETREG (0xfb,0x00); - SETREG (0xfc,0x00); - SETREG (0xff,0x00); - - /* fine tune upon device description */ - dev->reg.find_reg(0x05).value &= ~REG05_DPIHW; - switch (sanei_genesys_find_sensor_any(dev).optical_res) - { - case 600: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_600; - break; - case 1200: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_1200; - break; - case 2400: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; - break; - case 4800: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_4800; - break; - } - - dev->calib_reg = dev->reg; - - DBGCOMPLETED; -} - -/**@brief send slope table for motor movement - * Send slope_table in machine byte order - * @param dev device to send slope table - * @param table_nr index of the slope table in ASIC memory - * Must be in the [0-4] range. - * @param slope_table pointer to 16 bit values array of the slope table - * @param steps number of elemnts in the slope table - */ -static SANE_Status -gl124_send_slope_table (Genesys_Device * dev, int table_nr, - uint16_t * slope_table, int steps) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - char msg[10000]; - - DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, - table_nr, steps); - - /* sanity check */ - if(table_nr<0 || table_nr>4) - { - DBG (DBG_error, "%s: invalid table number %d!\n", __func__, table_nr); - return SANE_STATUS_INVAL; - } - - std::vector table(steps * 2); - for (i = 0; i < steps; i++) - { - table[i * 2] = slope_table[i] & 0xff; - table[i * 2 + 1] = slope_table[i] >> 8; - } - - if (DBG_LEVEL >= DBG_io) - { - sprintf (msg, "write slope %d (%d)=", table_nr, steps); - for (i = 0; i < steps; i++) - { - sprintf (msg+strlen(msg), ",%d", slope_table[i]); - } - DBG (DBG_io, "%s: %s\n", __func__, msg); - } - - /* slope table addresses are fixed */ - status = sanei_genesys_write_ahb(dev, 0x10000000 + 0x4000 * table_nr, steps * 2, table.data()); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: write to AHB failed writing slope table %d (%s)\n", - __func__, table_nr, sane_strstatus (status)); - } - - DBGCOMPLETED; - return status; -} - -/** @brief * Set register values of 'special' ti type frontend - * Registers value are taken from the frontend register data - * set. - * @param dev device owning the AFE - * @param set flag AFE_INIT to specify the AFE must be reset before writing data - * */ -static SANE_Status -gl124_set_ti_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - - DBGSTART; - if (set == AFE_INIT) - { - DBG (DBG_proc, "%s: setting DAC %u\n", __func__, dev->model->dac_type); - - dev->frontend = dev->frontend_initial; - } - - /* start writing to DAC */ - status = sanei_genesys_fe_write_data (dev, 0x00, 0x80); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to write reg0: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* write values to analog frontend */ - for (uint16_t addr = 0x01; addr < 0x04; addr++) - { - status = sanei_genesys_fe_write_data(dev, addr, dev->frontend.regs.get_value(addr)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write reg %d: %s\n", __func__, addr, - sane_strstatus(status)); - return status; - } - } - - status = sanei_genesys_fe_write_data (dev, 0x04, 0x00); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to write reg4: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* these are not really sign for this AFE */ - for (i = 0; i < 3; i++) - { - status = sanei_genesys_fe_write_data(dev, 0x05 + i, dev->frontend.regs.get_value(0x24 + i)); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to write reg %d: %s\n", __func__, i+5, - sane_strstatus (status)); - return status; - } - } - - /* close writing to DAC */ - if(dev->model->dac_type == DAC_CANONLIDE120) - { - status = sanei_genesys_fe_write_data (dev, 0x00, 0x01); - } - else - { - status = sanei_genesys_fe_write_data (dev, 0x00, 0x11); - } - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to write reg0: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - DBGCOMPLETED; - - return status; -} - - -/* Set values of analog frontend */ -static SANE_Status -gl124_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set) -{ - (void) sensor; - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - - DBG(DBG_proc, "%s (%s)\n", __func__, set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == - AFE_POWER_SAVE ? "powersave" : "huh?"); - - if (set == AFE_INIT) - { - DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); - dev->frontend = dev->frontend_initial; - } - - RIE (sanei_genesys_read_register (dev, REG0A, &val)); - - /* route to correct analog FE */ - switch ((val & REG0A_SIFSEL)>>REG0AS_SIFSEL) - { - case 3: - status=gl124_set_ti_fe (dev, set); - break; - case 0: - case 1: - case 2: - default: - DBG(DBG_error, "%s: unsupported analog FE 0x%02x\n", __func__, val); - status=SANE_STATUS_INVAL; - break; - } - - DBGCOMPLETED; - return status; -} - - -/**@brief compute exposure to use - * compute the sensor exposure based on target resolution - * @param dev pointer to device description - * @param xres sensor's required resolution - * @param half_ccd flag for half ccd mode - */ -static int gl124_compute_exposure(Genesys_Device *dev, int xres, int half_ccd) -{ - Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, xres, half_ccd); - return sensor_profile->exposure; -} - - -static SANE_Status -gl124_init_motor_regs_scan (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, - unsigned int scan_exposure_time, - float scan_yres, - int scan_step_type, - unsigned int scan_lines, - unsigned int scan_dummy, - unsigned int feed_steps, - ScanColorMode scan_mode, - unsigned int flags) -{ - SANE_Status status = SANE_STATUS_GOOD; - int use_fast_fed; - unsigned int lincnt, fast_dpi; - uint16_t scan_table[SLOPE_TABLE_SIZE]; - uint16_t fast_table[SLOPE_TABLE_SIZE]; - int scan_steps,fast_steps,factor; - unsigned int feedl,dist; - uint32_t z1, z2; - float yres; - int min_speed; - unsigned int linesel; - - DBGSTART; - DBG(DBG_info, "%s : scan_exposure_time=%d, scan_yres=%g, scan_step_type=%d, scan_lines=%d, " - "scan_dummy=%d, feed_steps=%d, scan_mode=%d, flags=%x\n", __func__, scan_exposure_time, - scan_yres, scan_step_type, scan_lines, scan_dummy, feed_steps, - static_cast(scan_mode), flags); - - /* we never use fast fed since we do manual feed for the scans */ - use_fast_fed=0; - factor=1; - - /* enforce motor minimal scan speed - * @TODO extend motor struct for this value */ - if (scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - { - min_speed = 900; - } - else - { - switch(dev->model->motor_type) - { - case MOTOR_CANONLIDE110: - min_speed = 600; - break; - case MOTOR_CANONLIDE120: - min_speed = 900; - break; - default: - min_speed = 900; - break; - } - } - - /* compute min_speed and linesel */ - if(scan_yres 0 */ - if(linesel==0) - { - linesel=1; - yres=scan_yres*2; - } - } - else - { - yres=scan_yres; - linesel=0; - } - - DBG (DBG_io2, "%s: final yres=%f, linesel=%d\n", __func__, yres, linesel); - - lincnt=scan_lines*(linesel+1); - sanei_genesys_set_triple(reg,REG_LINCNT,lincnt); - DBG (DBG_io, "%s: lincnt=%d\n", __func__, lincnt); - - /* compute register 02 value */ - uint8_t r02 = REG02_NOTHOME; - - if (use_fast_fed) { - r02 |= REG02_FASTFED; - } else { - r02 &= ~REG02_FASTFED; - } - - if (flags & MOTOR_FLAG_AUTO_GO_HOME) - r02 |= REG02_AGOHOME; - - if ((flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) - ||(yres>=sensor.optical_res)) - { - r02 |= REG02_ACDCDIS; - } - - reg->set8(REG02, r02); - sanei_genesys_set_motor_power(*reg, true); - - /* SCANFED */ - sanei_genesys_set_double(reg,REG_SCANFED,4); - - /* scan and backtracking slope table */ - sanei_genesys_slope_table(scan_table, - &scan_steps, - yres, - scan_exposure_time, - dev->motor.base_ydpi, - scan_step_type, - factor, - dev->model->motor_type, - motors); - RIE(gl124_send_slope_table (dev, SCAN_TABLE, scan_table, scan_steps)); - RIE(gl124_send_slope_table (dev, BACKTRACK_TABLE, scan_table, scan_steps)); - - /* STEPNO */ - sanei_genesys_set_double(reg,REG_STEPNO,scan_steps); - - /* fast table */ - fast_dpi=yres; - - /* - if (scan_mode != ScanColorMode::COLOR_SINGLE_PASS) - { - fast_dpi*=3; - } - */ - sanei_genesys_slope_table(fast_table, - &fast_steps, - fast_dpi, - scan_exposure_time, - dev->motor.base_ydpi, - scan_step_type, - factor, - dev->model->motor_type, - motors); - RIE(gl124_send_slope_table (dev, STOP_TABLE, fast_table, fast_steps)); - RIE(gl124_send_slope_table (dev, FAST_TABLE, fast_table, fast_steps)); - - /* FASTNO */ - sanei_genesys_set_double(reg,REG_FASTNO,fast_steps); - - /* FSHDEC */ - sanei_genesys_set_double(reg,REG_FSHDEC,fast_steps); - - /* FMOVNO */ - sanei_genesys_set_double(reg,REG_FMOVNO,fast_steps); - - /* substract acceleration distance from feedl */ - feedl=feed_steps; - feedl<<=scan_step_type; - - dist = scan_steps; - if (flags & MOTOR_FLAG_FEED) - dist *=2; - if (use_fast_fed) - { - dist += fast_steps*2; - } - DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); - - /* get sure we don't use insane value */ - if(distset8_mask(REG1D, linesel, REG1D_LINESEL); - reg->set8(REGA0, (scan_step_type << REGA0S_STEPSEL) | (scan_step_type << REGA0S_FSTPSEL)); - - /* FMOVDEC */ - sanei_genesys_set_double(reg,REG_FMOVDEC,fast_steps); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** @brief copy sensor specific settings - * Set up register set for the given sensor resolution. Values are from the device table - * in genesys_devices.c for registers: - * [0x16 ... 0x1d] - * [0x52 ... 0x5e] - * Other come from the specific device sensor table in genesys_gl124.h: - * 0x18, 0x20, 0x61, 0x98 and - * @param dev device to set up - * @param regs register set to modify - * @param dpi resolution of the sensor during scan - * @param half_ccd flag for half ccd mode - * */ -static void gl124_setup_sensor(Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * regs, int dpi, int half_ccd) -{ - int dpihw; - uint32_t exp; - - DBGSTART; - - // we start at 6, 0-5 is a 16 bits cache for exposure - for (uint16_t addr = 0x16; addr < 0x1e; addr++) { - regs->set8(addr, sensor.custom_regs.get_value(addr)); - } - - // skip writing 5d,5e which is AFE address because - // they are not defined in register set */ - for (uint16_t addr = 0x52; addr < 0x52 + 11; addr++) { - regs->set8(addr, sensor.custom_regs.get_value(addr)); - } - - /* set EXPDUMMY and CKxMAP */ - dpihw = sanei_genesys_compute_dpihw(dev, sensor, dpi); - Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd); - - regs->set8(0x18, sensor_profile->reg18); - regs->set8(0x20, sensor_profile->reg20); - regs->set8(0x61, sensor_profile->reg61); - regs->set8(0x98, sensor_profile->reg98); - if (sensor_profile->reg16 != 0) { - regs->set8(0x16, sensor_profile->reg16); - } - if (sensor_profile->reg70 != 0) { - regs->set8(0x70, sensor_profile->reg70); - } - - - sanei_genesys_set_triple(regs,REG_SEGCNT,sensor_profile->segcnt); - sanei_genesys_set_double(regs,REG_TG0CNT,sensor_profile->tg0cnt); - sanei_genesys_set_double(regs,REG_EXPDMY,sensor_profile->expdummy); - - /* if no calibration has been done, set default values for exposures */ - exp = sensor.exposure.red; - if(exp==0) - { - exp=sensor_profile->expr; - } - sanei_genesys_set_triple(regs,REG_EXPR,exp); - - exp =sensor.exposure.green; - if(exp==0) - { - exp=sensor_profile->expg; - } - sanei_genesys_set_triple(regs,REG_EXPG,exp); - - exp = sensor.exposure.blue; - if(exp==0) - { - exp=sensor_profile->expb; - } - sanei_genesys_set_triple(regs,REG_EXPB,exp); - - sanei_genesys_set_triple(regs,REG_CK1MAP,sensor_profile->ck1map); - sanei_genesys_set_triple(regs,REG_CK3MAP,sensor_profile->ck3map); - sanei_genesys_set_triple(regs,REG_CK4MAP,sensor_profile->ck4map); - - /* order of the sub-segments */ - dev->order=sensor_profile->order; - - DBGCOMPLETED; -} - -/** @brief setup optical related registers - * start and pixels are expressed in optical sensor resolution coordinate - * space. - * @param dev scanner device to use - * @param reg registers to set up - * @param exposure_time exposure time to use - * @param used_res scanning resolution used, may differ from - * scan's one - * @param start logical start pixel coordinate - * @param pixels logical number of pixels to use - * @param channels number of color channels (currently 1 or 3) - * @param depth bit depth of the scan (1, 8 or 16) - * @param half_ccd SANE_TRUE if sensor's timings are such that x coordinates - * must be halved - * @param color_filter color channel to use as gray data - * @param flags optical flags (@see ) - * @return SANE_STATUS_GOOD if OK - */ -static SANE_Status -gl124_init_optical_regs_scan (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, - unsigned int exposure_time, - int used_res, - unsigned int start, - unsigned int pixels, - int channels, - int depth, - SANE_Bool half_ccd, - ColorFilter color_filter, - int flags) -{ - unsigned int words_per_line, segcnt; - unsigned int startx, endx, used_pixels, segnb; - unsigned int dpiset, cksel, dpihw, factor; - unsigned int bytes; - GenesysRegister *r; - SANE_Status status = SANE_STATUS_GOOD; - uint32_t expmax, exp; - - DBG(DBG_proc, "%s : exposure_time=%d, used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " - "half_ccd=%d, flags=%x\n", __func__, exposure_time, used_res, start, pixels, channels, depth, - half_ccd, flags); - - /* resolution is divided according to CKSEL */ - r = sanei_genesys_get_address (reg, REG18); - cksel= (r->value & REG18_CKSEL)+1; - DBG (DBG_io2, "%s: cksel=%d\n", __func__, cksel); - - /* to manage high resolution device while keeping good - * low resolution scanning speed, we make hardware dpi vary */ - dpihw=sanei_genesys_compute_dpihw(dev, sensor, used_res * cksel); - factor=sensor.optical_res/dpihw; - DBG (DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); - - /* sensor parameters */ - gl124_setup_sensor(dev, sensor, reg, dpihw, half_ccd); - dpiset = used_res * cksel; - - /* start and end coordinate in optical dpi coordinates */ - /* startx = start/cksel + sensor.dummy_pixel; XXX STEF XXX */ - startx = start/cksel; - used_pixels=pixels/cksel; - endx = startx + used_pixels; - - /* pixel coordinate factor correction when used dpihw is not maximal one */ - startx/=factor; - endx/=factor; - used_pixels=endx-startx; - - status = gl124_set_fe(dev, sensor, AFE_SET); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to set frontend: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* enable shading */ - r = sanei_genesys_get_address (reg, REG01); - r->value &= ~REG01_SCAN; - if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || - (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) - { - r->value &= ~REG01_DVDSET; - } - else - { - r->value |= REG01_DVDSET; - } - r->value &= ~REG01_SCAN; - - r = sanei_genesys_get_address (reg, REG03); - if((dev->model->ccd_type!=CIS_CANONLIDE120)&&(used_res>=600)) - { - r->value &= ~REG03_AVEENB; - DBG (DBG_io, "%s: disabling AVEENB\n", __func__); - } - else - { - r->value |= ~REG03_AVEENB; - DBG (DBG_io, "%s: enabling AVEENB\n", __func__); - } - - sanei_genesys_set_lamp_power(dev, sensor, *reg, !(flags & OPTICAL_FLAG_DISABLE_LAMP)); - - /* BW threshold */ - RIE (sanei_genesys_write_register (dev, REG114, dev->settings.threshold)); - RIE (sanei_genesys_write_register (dev, REG115, dev->settings.threshold)); - - /* monochrome / color scan */ - r = sanei_genesys_get_address (reg, REG04); - switch (depth) - { - case 1: - r->value &= ~REG04_BITSET; - r->value |= REG04_LINEART; - break; - case 8: - r->value &= ~(REG04_LINEART | REG04_BITSET); - break; - case 16: - r->value &= ~REG04_LINEART; - r->value |= REG04_BITSET; - break; - } - - r->value &= ~REG04_FILTER; - if (channels == 1) - { - switch (color_filter) - { - case ColorFilter::RED: - r->value |= 0x10; - break; - case ColorFilter::BLUE: - r->value |= 0x30; - break; - case ColorFilter::GREEN: - r->value |= 0x20; - break; - default: - break; // should not happen - } - } - - /* register 05 */ - r = sanei_genesys_get_address (reg, REG05); - - /* set up dpihw */ - r->value &= ~REG05_DPIHW; - switch(dpihw) - { - case 600: - r->value |= REG05_DPIHW_600; - break; - case 1200: - r->value |= REG05_DPIHW_1200; - break; - case 2400: - r->value |= REG05_DPIHW_2400; - break; - case 4800: - r->value |= REG05_DPIHW_4800; - break; - } - - /* enable gamma tables */ - if (flags & OPTICAL_FLAG_DISABLE_GAMMA) - r->value &= ~REG05_GMMENB; - else - r->value |= REG05_GMMENB; - - if(half_ccd) - { - sanei_genesys_set_double(reg,REG_DPISET,dpiset*2); - DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset*2); - } - else - { - sanei_genesys_set_double(reg,REG_DPISET,dpiset); - DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); - } - - r = sanei_genesys_get_address (reg, REG06); - r->value |= REG06_GAIN4; - - /* CIS scanners can do true gray by setting LEDADD */ - /* we set up LEDADD only when asked */ - if (dev->model->is_cis == SANE_TRUE) - { - r = sanei_genesys_get_address (reg, REG60); - r->value &= ~REG60_LEDADD; - if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) - { - r->value |= REG60_LEDADD; - sanei_genesys_get_triple(reg,REG_EXPR,&expmax); - sanei_genesys_get_triple(reg,REG_EXPG,&exp); - if(exp>expmax) - { - expmax=exp; - } - sanei_genesys_get_triple(reg,REG_EXPB,&exp); - if(exp>expmax) - { - expmax=exp; - } - sanei_genesys_set_triple(&dev->reg,REG_EXPR,expmax); - sanei_genesys_set_triple(&dev->reg,REG_EXPG,expmax); - sanei_genesys_set_triple(&dev->reg,REG_EXPB,expmax); - } - /* RGB weighting, REG_TRUER,G and B are to be set */ - r = sanei_genesys_get_address (reg, 0x01); - r->value &= ~REG01_TRUEGRAY; - if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) - { - r->value |= REG01_TRUEGRAY; - sanei_genesys_write_register (dev, REG_TRUER, 0x80); - sanei_genesys_write_register (dev, REG_TRUEG, 0x80); - sanei_genesys_write_register (dev, REG_TRUEB, 0x80); - } - } - - /* segment number */ - r = sanei_genesys_get_address (reg, 0x98); - segnb = r->value & 0x0f; - - sanei_genesys_set_triple(reg,REG_STRPIXEL,startx/segnb); - DBG (DBG_io2, "%s: strpixel used=%d\n", __func__, startx/segnb); - sanei_genesys_get_triple(reg,REG_SEGCNT,&segcnt); - if(endx/segnb==segcnt) - { - endx=0; - } - sanei_genesys_set_triple(reg,REG_ENDPIXEL,endx/segnb); - DBG (DBG_io2, "%s: endpixel used=%d\n", __func__, endx/segnb); - - /* words(16bit) before gamma, conversion to 8 bit or lineart */ - words_per_line = (used_pixels * dpiset) / dpihw; - bytes = depth / 8; - if (depth == 1) - { - words_per_line = (words_per_line >> 3) + ((words_per_line & 7) ? 1 : 0); - } - else - { - words_per_line *= bytes; - } - - dev->bpl = words_per_line; - dev->cur = 0; - dev->skip = 0; - dev->len = dev->bpl/segnb; - dev->dist = dev->bpl/segnb; - dev->segnb = segnb; - dev->line_count = 0; - dev->line_interp = 0; - - DBG (DBG_io2, "%s: used_pixels =%d\n", __func__, used_pixels); - DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); - DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); - DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long)dev->bpl); - DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); - DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); - DBG (DBG_io2, "%s: dev->line_interp=%lu\n", __func__, (unsigned long)dev->line_interp); - - words_per_line *= channels; - dev->wpl = words_per_line; - - /* allocate buffer for odd/even pixels handling */ - dev->oe_buffer.clear(); - dev->oe_buffer.alloc(dev->wpl); - - /* MAXWD is expressed in 2 words unit */ - sanei_genesys_set_triple(reg,REG_MAXWD,(words_per_line)); - DBG (DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); - - sanei_genesys_set_triple(reg,REG_LPERIOD,exposure_time); - DBG (DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); - - sanei_genesys_set_double(reg,REG_DUMMY,sensor.dummy_pixel); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** set up registers for an actual scan - * - * this function sets up the scanner to scan in normal or single line mode - */ -static SANE_Status -gl124_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set* reg, - SetupParams& params) -{ - params.assert_valid(); - - int used_res; - int start, used_pixels; - int bytes_per_line; - int move; - unsigned int lincnt; - unsigned int oflags, mflags; /**> optical and motor flags */ - int exposure_time; - int stagger; - - int dummy = 0; - int slope_dpi = 0; - int scan_step_type = 1; - int max_shift; - size_t requested_buffer_size, read_buffer_size; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - unsigned optical_res; - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, params); - - half_ccd=compute_half_ccd(sensor, params.xres); - - /* optical_res */ - optical_res = sensor.optical_res; - if (half_ccd) - optical_res /= 2; - DBG (DBG_info, "%s: optical_res=%d\n", __func__, optical_res); - - /* stagger */ - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * params.yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG (DBG_info, "gl124_init_scan_regs : stagger=%d lines\n", stagger); - - /** @brief compute used resolution */ - if (params.flags & SCAN_FLAG_USE_OPTICAL_RES) - { - used_res = optical_res; - } - else - { - /* resolution is choosen from a fixed list and can be used directly, - * unless we have ydpi higher than sensor's maximum one */ - if(params.xres>optical_res) - used_res=optical_res; - else - used_res = params.xres; - } - - /* compute scan parameters values */ - /* pixels are allways given at full optical resolution */ - /* use detected left margin and fixed value */ - /* start */ - /* add x coordinates */ - start = params.startx; - - if (stagger > 0) - start |= 1; - - /* compute correct pixels number */ - used_pixels = (params.pixels * optical_res) / params.xres; - DBG (DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); - - /* round up pixels number if needed */ - if (used_pixels * params.xres < params.pixels * optical_res) - used_pixels++; - - /* we want even number of pixels here */ - if(used_pixels & 1) - used_pixels++; - - /* slope_dpi */ - /* cis color scan is effectively a gray scan with 3 gray lines per color line and a FILTER of 0 */ - if (dev->model->is_cis) - slope_dpi = params.yres * params.channels; - else - slope_dpi = params.yres; - - /* scan_step_type */ - if(params.flags & SCAN_FLAG_FEEDING) - { - scan_step_type=0; - exposure_time=MOVE_EXPOSURE; - } - else - { - exposure_time = gl124_compute_exposure (dev, used_res, half_ccd); - scan_step_type = sanei_genesys_compute_step_type(motors, dev->model->motor_type, exposure_time); - } - - DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); - DBG(DBG_info, "%s : scan_step_type=%d\n", __func__, scan_step_type); - - /*** optical parameters ***/ - /* in case of dynamic lineart, we use an internal 8 bit gray scan - * to generate 1 lineart data */ - if (params.flags & SCAN_FLAG_DYNAMIC_LINEART) { - params.depth = 8; - } - - /* we enable true gray for cis scanners only, and just when doing - * scan since color calibration is OK for this mode - */ - oflags = 0; - if (params.flags & SCAN_FLAG_DISABLE_SHADING) - oflags |= OPTICAL_FLAG_DISABLE_SHADING; - if (params.flags & SCAN_FLAG_DISABLE_GAMMA) - oflags |= OPTICAL_FLAG_DISABLE_GAMMA; - if (params.flags & SCAN_FLAG_DISABLE_LAMP) - oflags |= OPTICAL_FLAG_DISABLE_LAMP; - if (params.flags & SCAN_FLAG_CALIBRATION) - oflags |= OPTICAL_FLAG_DISABLE_DOUBLE; - - if (dev->model->is_cis && dev->settings.true_gray) - { - oflags |= OPTICAL_FLAG_ENABLE_LEDADD; - } - - /* now _LOGICAL_ optical values used are known, setup registers */ - status = gl124_init_optical_regs_scan (dev, - sensor, - reg, - exposure_time, - used_res, - start, - used_pixels, - params.channels, - params.depth, - half_ccd, - params.color_filter, - oflags); - if (status != SANE_STATUS_GOOD) - return status; - - /*** motor parameters ***/ - - /* max_shift */ - max_shift=sanei_genesys_compute_max_shift(dev,params.channels,params.yres,params.flags); - - /* lines to scan */ - lincnt = params.lines + max_shift + stagger; - - /* add tl_y to base movement */ - move = params.starty; - DBG(DBG_info, "%s: move=%d steps\n", __func__, move); - - mflags=0; - if(params.flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE) - mflags|=MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE; - if(params.flags & SCAN_FLAG_FEEDING) - mflags|=MOTOR_FLAG_FEED; - - status = gl124_init_motor_regs_scan (dev, sensor, - reg, - exposure_time, - slope_dpi, - scan_step_type, - dev->model->is_cis ? lincnt * params.channels : lincnt, - dummy, - move, - params.scan_mode, - mflags); - if (status != SANE_STATUS_GOOD) - return status; - - /*** prepares data reordering ***/ - - /* words_per_line */ - bytes_per_line = (used_pixels * used_res) / optical_res; - bytes_per_line = (bytes_per_line * params.channels * params.depth) / 8; - - /* since we don't have sheetfed scanners to handle, - * use huge read buffer */ - /* TODO find the best size according to settings */ - requested_buffer_size = 16 * bytes_per_line; - - read_buffer_size = - 2 * requested_buffer_size + - ((max_shift + stagger) * used_pixels * params.channels * params.depth) / 8; - - dev->read_buffer.clear(); - dev->read_buffer.alloc(read_buffer_size); - - dev->lines_buffer.clear(); - dev->lines_buffer.alloc(read_buffer_size); - - dev->shrink_buffer.clear(); - dev->shrink_buffer.alloc(requested_buffer_size); - - dev->out_buffer.clear(); - dev->out_buffer.alloc((8 * dev->settings.pixels * params.channels * params.depth) / 8); - - dev->read_bytes_left = bytes_per_line * lincnt; - - DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); - dev->read_active = SANE_TRUE; - - - dev->current_setup.params = params; - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - DBG(DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); - dev->current_setup.lines = lincnt; - dev->current_setup.depth = params.depth; - dev->current_setup.channels = params.channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = params.yres; - dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - dev->total_bytes_read = 0; - if (params.depth == 1) - dev->total_bytes_to_read = - ((dev->settings.pixels * dev->settings.lines) / 8 + - (((dev->settings.pixels * dev->settings.lines) % 8) ? 1 : 0)) * - params.channels; - else - dev->total_bytes_to_read = - dev->settings.pixels * dev->settings.lines * params.channels * (params.depth / 8); - - DBG(DBG_info, "%s: total bytes to send = %lu\n", __func__, (u_long) dev->total_bytes_to_read); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static void -gl124_calculate_current_setup (Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int channels; - int depth; - int start; - - int used_res; - int used_pixels; - unsigned int lincnt; - int exposure_time; - int stagger; - SANE_Bool half_ccd; - - int max_shift, dpihw; - - int optical_res; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, dev->settings); - - /* channels */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == ScanColorMode::LINEART) - depth = 1; - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - start = (start * sensor.optical_res) / MM_PER_INCH; - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = start; - params.starty = 0; // not used - params.pixels = dev->settings.pixels; - params.lines = dev->settings.lines; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = dev->settings.scan_mode; - params.color_filter = dev->settings.color_filter; - params.flags = 0; - - half_ccd=compute_half_ccd(sensor, params.xres); - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, params); - - /* optical_res */ - optical_res = sensor.optical_res; - - if (params.xres <= (unsigned) optical_res) - used_res = params.xres; - else - used_res=optical_res; - - /* compute scan parameters values */ - /* pixels are allways given at half or full CCD optical resolution */ - /* use detected left margin and fixed value */ - - /* compute correct pixels number */ - used_pixels = (params.pixels * optical_res) / params.xres; - DBG (DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); - - /* exposure */ - exposure_time = gl124_compute_exposure (dev, params.xres, half_ccd); - DBG (DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); - - /* max_shift */ - max_shift=sanei_genesys_compute_max_shift(dev, params.channels, params.yres, 0); - - /* compute hw dpi for sensor */ - dpihw=sanei_genesys_compute_dpihw(dev, sensor,used_res); - - Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd); - dev->segnb=sensor_profile->reg98 & 0x0f; - - /* stagger */ - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * params.yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG (DBG_info, "%s: stagger=%d lines\n", __func__, stagger); - - /* lincnt */ - lincnt = params.lines + max_shift + stagger; - - dev->current_setup.params = params; - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - DBG (DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); - dev->current_setup.lines = lincnt; - dev->current_setup.depth = params.depth; - dev->current_setup.channels = params.channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = params.yres; - dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - DBGCOMPLETED; -} - -/** - * for fast power saving methods only, like disabling certain amplifiers - * @param dev device to use - * @param enable true to set inot powersaving - * */ -static SANE_Status -gl124_save_power (Genesys_Device * dev, SANE_Bool enable) -{ - DBG(DBG_proc, "%s: enable = %d\n", __func__, enable); - if (dev == NULL) - return SANE_STATUS_INVAL; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl124_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) -{ - GenesysRegister *r; - - DBG(DBG_proc, "%s (delay = %d)\n", __func__, delay); - - r = sanei_genesys_get_address (&dev->reg, REG03); - r->value &= ~0xf0; - if(delay<15) - { - r->value |= delay; - } - else - { - r->value |= 0x0f; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl124_start_action (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x01); -} - -static SANE_Status -gl124_stop_action (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val40, val; - unsigned int loop; - - DBGSTART; - - /* post scan gpio : without that HOMSNR is unreliable */ - gl124_homsnr_gpio(dev); - - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - status = sanei_genesys_read_register (dev, REG100, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read reg100: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* only stop action if needed */ - if (!(val40 & REG100_DATAENB) && !(val40 & REG100_MOTMFLG)) - { - DBG (DBG_info, "%s: already stopped\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* ends scan */ - val = dev->reg.get8(REG01); - val &= ~REG01_SCAN; - dev->reg.set8(REG01, val); - status = sanei_genesys_write_register (dev, REG01, val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to write register 01: %s\n", __func__, - sane_strstatus (status)); - return status; - } - sanei_genesys_sleep_ms(100); - - loop = 10; - while (loop > 0) - { - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - status = sanei_genesys_read_register (dev, REG100, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* if scanner is in command mode, we are done */ - if (!(val40 & REG100_DATAENB) && !(val40 & REG100_MOTMFLG) - && !(val & MOTORENB)) - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - sanei_genesys_sleep_ms(100); - loop--; - } - - DBGCOMPLETED; - return SANE_STATUS_IO_ERROR; -} - - -/** @brief setup GPIOs for scan - * Setup GPIO values to drive motor (or light) needed for the - * target resolution - * @param *dev device to set up - * @param resolution dpi of the target scan - * @return SANE_STATUS_GOOD unless REG32 cannot be read - */ -static SANE_Status -gl124_setup_scan_gpio(Genesys_Device *dev, int resolution) -{ -SANE_Status status = SANE_STATUS_GOOD; -uint8_t val; - - DBGSTART; - RIE (sanei_genesys_read_register (dev, REG32, &val)); - - /* LiDE 110, 210 and 220 cases */ - if(dev->model->gpo_type != GPO_CANONLIDE120) - { - if(resolution>=dev->motor.base_ydpi/2) - { - val &= 0xf7; - } - else if(resolution>=dev->motor.base_ydpi/4) - { - val &= 0xef; - } - else - { - val |= 0x10; - } - } - /* 120 : <=300 => 0x53 */ - else - { /* base_ydpi is 4800 */ - if(resolution<=300) - { - val &= 0xf7; - } - else if(resolution<=600) - { - val |= 0x08; - } - else if(resolution<=1200) - { - val &= 0xef; - val |= 0x08; - } - else - { - val &= 0xf7; - } - } - val |= 0x02; - RIE (sanei_genesys_write_register (dev, REG32, val)); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* Send the low-level scan command */ -/* todo : is this that useful ? */ -static SANE_Status -gl124_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, - SANE_Bool start_motor) -{ - (void) sensor; - - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - - DBGSTART; - if (reg == NULL) - return SANE_STATUS_INVAL; - - /* set up GPIO for scan */ - RIE(gl124_setup_scan_gpio(dev,dev->settings.yres)); - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* enable scan and motor */ - RIE (sanei_genesys_read_register (dev, REG01, &val)); - val |= REG01_SCAN; - RIE (sanei_genesys_write_register (dev, REG01, val)); - - if (start_motor) - { - RIE (sanei_genesys_write_register (dev, REG0F, 1)); - } - else - { - RIE (sanei_genesys_write_register (dev, REG0F, 0)); - } - - DBGCOMPLETED; - return status; -} - - -/* Send the stop scan command */ -static SANE_Status -gl124_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s (check_stop = %d)\n", __func__, check_stop); - if (reg == NULL) - return SANE_STATUS_INVAL; - - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = SANE_STATUS_GOOD; - } - else /* flat bed scanners */ - { - status = gl124_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - DBGCOMPLETED; - return status; -} - - -/** rewind scan - * Move back by the same amount of distance than previous scan. - * @param dev device to rewind - * @returns SANE_STATUS_GOOD on success - */ -static -SANE_Status gl124_rewind(Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t byte; - - DBGSTART; - - /* set motor reverse */ - RIE (sanei_genesys_read_register (dev, 0x02, &byte)); - byte |= 0x04; - RIE (sanei_genesys_write_register(dev, 0x02, byte)); - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - /* and start scan, then wait completion */ - RIE (gl124_begin_scan (dev, sensor, &dev->reg, SANE_TRUE)); - do - { - sanei_genesys_sleep_ms(100); - RIE (sanei_genesys_read_register (dev, REG100, &byte)); - } - while(byte & REG100_MOTMFLG); - RIE (gl124_end_scan (dev, &dev->reg, SANE_TRUE)); - - /* restore direction */ - RIE (sanei_genesys_read_register (dev, 0x02, &byte)); - byte &= 0xfb; - RIE (sanei_genesys_write_register(dev, 0x02, byte)); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** Park head - * Moves the slider to the home (top) position slowly - * @param dev device to park - * @param wait_until_home true to make the function waiting for head - * to be home before returning, if fals returne immediately - * @returns SANE_STATUS_GOO on success */ -static -SANE_Status -gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) -{ - Genesys_Register_Set local_reg; - SANE_Status status = SANE_STATUS_GOOD; - GenesysRegister *r; - uint8_t val; - float resolution; - int loop = 0; - - DBG(DBG_proc, "%s (wait_until_home = %d)\n", __func__, wait_until_home); - - /* post scan gpio : without that HOMSNR is unreliable */ - gl124_homsnr_gpio(dev); - - /* first read gives HOME_SENSOR true */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - sanei_genesys_sleep_ms(100); - - /* second is reliable */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - /* is sensor at home? */ - if (val & HOMESNR) - { - DBG (DBG_info, "%s: already at home, completed\n", __func__); - dev->scanhead_position_in_steps = 0; - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* feed a little first */ - if (dev->model->model_id == MODEL_CANON_LIDE_210) - { - status = gl124_feed (dev, 20, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to do initial feed: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - local_reg = dev->reg; - resolution=sanei_genesys_get_lowest_dpi(dev); - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - SetupParams params; - params.xres = resolution; - params.yres = resolution; - params.startx = 100; - params.starty = 30000; - params.pixels = 100; - params.lines = 100; - params.depth = 8; - params.channels = 1; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::GRAY; - params.color_filter = ColorFilter::RED; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl124_init_scan_regs(dev, sensor, &local_reg, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* set up for reverse and no scan */ - r = sanei_genesys_get_address(&local_reg, REG02); - r->value |= REG02_MTRREV; - - RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); - - RIE(gl124_setup_scan_gpio(dev,resolution)); - - try { - status = gl124_start_action (dev); - } catch (...) { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - try { - gl124_stop_action (dev); - } catch (...) {} - try { - // restore original registers - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - } catch (...) {} - throw; - } - if (status != SANE_STATUS_GOOD) { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - try { - gl124_stop_action (dev); - } catch (...) {} - /* restore original registers */ - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - return status; - } - - /* post scan gpio : without that HOMSNR is unreliable */ - gl124_homsnr_gpio(dev); - - if (wait_until_home) - { - - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - if (val & HOMESNR) /* home sensor */ - { - DBG(DBG_info, "%s: reached home position\n", __func__); - DBGCOMPLETED; - dev->scanhead_position_in_steps = 0; - return SANE_STATUS_GOOD; - } - sanei_genesys_sleep_ms(100); - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl124_stop_action (dev); - DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); - return SANE_STATUS_IO_ERROR; - } - - DBG(DBG_info, "%s: scanhead is still moving\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief moves the slider to steps at motor base dpi - * @param dev device to work on - * @param steps number of steps to move - * @param reverse true is moving backward - * */ -static SANE_Status -gl124_feed (Genesys_Device * dev, unsigned int steps, int reverse) -{ - Genesys_Register_Set local_reg; - SANE_Status status = SANE_STATUS_GOOD; - GenesysRegister *r; - float resolution; - uint8_t val; - - DBGSTART; - DBG (DBG_io, "%s: steps=%d\n", __func__, steps); - - /* prepare local registers */ - local_reg = dev->reg; - - resolution=sanei_genesys_get_lowest_ydpi(dev); - const auto& sensor = sanei_genesys_find_sensor(dev, resolution); - - SetupParams params; - params.xres = resolution; - params.yres = resolution; - params.startx = 0; - params.starty = steps; - params.pixels = 100; - params.lines = 3; - params.depth = 8; - params.channels = 3; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_FEEDING | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl124_init_scan_regs(dev, sensor, &local_reg, params); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus (status)); - DBGCOMPLETED; - return status; - } - - /* set exposure to zero */ - sanei_genesys_set_triple(&local_reg,REG_EXPR,0); - sanei_genesys_set_triple(&local_reg,REG_EXPG,0); - sanei_genesys_set_triple(&local_reg,REG_EXPB,0); - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT)); - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRMCNT)); - - /* set up for no scan */ - r = sanei_genesys_get_address (&local_reg, REG01); - r->value &= ~REG01_SCAN; - - /* set up for reverse if needed */ - if(reverse) - { - r = sanei_genesys_get_address (&local_reg, REG02); - r->value |= REG02_MTRREV; - } - - /* send registers */ - RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); - - status = gl124_start_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus (status)); - gl124_stop_action (dev); - - /* restore original registers */ - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - return status; - } - - /* wait until feed count reaches the required value, but do not - * exceed 30s */ - do - { - status = sanei_genesys_get_status (dev, &val); - } - while (status == SANE_STATUS_GOOD && !(val & FEEDFSH)); - - /* then stop scanning */ - RIE(gl124_stop_action (dev)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels - area at 600 dpi from very top of scanner */ -static SANE_Status -gl124_search_start_position (Genesys_Device * dev) -{ - int size; - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set local_reg = dev->reg; - int steps; - - int pixels = 600; - int dpi = 300; - - DBGSTART; - - /* sets for a 200 lines * 600 pixels */ - /* normal scan with no shading */ - - // FIXME: the current approach of doing search only for one resolution does not work on scanners - // whith employ different sensors with potentially different settings. - auto& sensor = sanei_genesys_find_sensor_for_write(dev, dpi); - - SetupParams params; - params.xres = dpi; - params.yres = dpi; - params.startx = 0; - params.starty = 0; /*we should give a small offset here~60 steps */ - params.pixels = 600; - params.lines = dev->model->search_lines; - params.depth = 8; - params.channels = 1; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::GRAY; - params.color_filter = ColorFilter::GREEN; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE; - - status = gl124_init_scan_regs(dev, sensor, &local_reg, params); - - if (status!=SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to init scan registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* send to scanner */ - status = dev->model->cmd_set->bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - size = pixels * dev->model->search_lines; - - std::vector data(size); - - status = gl124_begin_scan (dev, sensor, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl124_search_position.pnm", data.data(), 8, 1, pixels, - dev->model->search_lines); - - status = gl124_end_scan (dev, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* update regs to copy ASIC internal state */ - dev->reg = local_reg; - - status = - sanei_genesys_search_reference_point (dev, sensor, data.data(), 0, dpi, pixels, - dev->model->search_lines); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set search reference point: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* - * sets up register for coarse gain calibration - * todo: check it for scanners using it */ -static SANE_Status -gl124_init_regs_for_coarse_calibration(Genesys_Device* dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t channels; - uint8_t cksel; - - DBGSTART; - cksel = (regs.find_reg(0x18).value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ - - /* set line size */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) { - channels = 3; - } else { - channels = 1; - } - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = 0; - params.starty = 0; - params.pixels = sensor.optical_res / cksel; - params.lines = 20; - params.depth = 16; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = dev->settings.scan_mode; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_FEEDING | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl124_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - sanei_genesys_set_motor_power(regs, false); - - DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, - sensor.optical_res / cksel, dev->settings.xres); - - status = dev->model->cmd_set->bulk_write_register(dev, regs); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* init registers for shading calibration */ -/* shading calibration is done at dpihw */ -static SANE_Status -gl124_init_regs_for_shading(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - int move, resolution, dpihw, factor; - - DBGSTART; - - /* initial calibration reg values */ - regs = dev->reg; - - dev->calib_channels = 3; - dev->calib_lines = dev->model->shading_lines; - dpihw=sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); - if(dpihw>=2400) - { - dev->calib_lines *= 2; - } - resolution=dpihw; - - /* if half CCD mode, use half resolution */ - if(compute_half_ccd(sensor, dev->settings.xres)==SANE_TRUE) - { - resolution /= 2; - dev->calib_lines /= 2; - } - dev->calib_resolution = resolution; - dev->calib_total_bytes_to_read = 0; - factor=sensor.optical_res/resolution; - dev->calib_pixels = sensor.sensor_pixels/factor; - - /* distance to move to reach white target at high resolution */ - move=0; - if(dev->settings.yres>=1200) - { - move = SANE_UNFIX (dev->model->y_offset_calib); - move = (move * (dev->motor.base_ydpi/4)) / MM_PER_INCH; - } - DBG (DBG_io, "%s: move=%d steps\n", __func__, move); - - SetupParams params; - params.xres = resolution; - params.yres = resolution; - params.startx = 0; - params.starty = move; - params.pixels = dev->calib_pixels; - params.lines = dev->calib_lines; - params.depth = 16; - params.channels = dev->calib_channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = ColorFilter::RED; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl124_init_scan_regs(dev, sensor, ®s, params); - - sanei_genesys_set_motor_power(regs, false); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - dev->scanhead_position_in_steps += dev->calib_lines + move; - - status = dev->model->cmd_set->bulk_write_register(dev, regs); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to bulk write registers: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static void gl124_wait_for_motor_stop(Genesys_Device* dev) -{ - DBG_HELPER(dbg); - uint8_t val40, val; - - TIE(sanei_genesys_get_status(dev, &val)); - TIE(sanei_genesys_read_register(dev, REG100, &val40)); - - if ((val & MOTORENB) == 0 && (val40 & REG100_MOTMFLG) == 0) - return; - - do { - sanei_genesys_sleep_ms(10); - TIE(sanei_genesys_get_status(dev, &val)); - TIE(sanei_genesys_read_register(dev, REG100, &val40)); - } while ((val & MOTORENB) ||(val40 & REG100_MOTMFLG)); - sanei_genesys_sleep_ms(50); -} - -/** @brief set up registers for the actual scan - */ -static SANE_Status -gl124_init_regs_for_scan (Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int channels; - int flags; - int depth; - float move; - int move_dpi; - float start; - - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, dev->settings); - - /* channels */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == ScanColorMode::LINEART) - depth = 1; - - /* y (motor) distance to move to reach scanned area */ - move_dpi = dev->motor.base_ydpi/4; - move = SANE_UNFIX (dev->model->y_offset); - move += dev->settings.tl_y; - move = (move * move_dpi) / MM_PER_INCH; - DBG (DBG_info, "%s: move=%f steps\n", __func__, move); - - if(channels*dev->settings.yres>=600 && move>700) - { - status = gl124_feed (dev, move-500, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to move to scan area\n",__func__); - return status; - } - move=500; - } - DBG(DBG_info, "%s: move=%f steps\n", __func__, move); - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - if(compute_half_ccd(sensor, dev->settings.xres)==SANE_TRUE) - { - start /=2; - } - start = (start * sensor.optical_res) / MM_PER_INCH; - - flags = 0; - - /* enable emulated lineart from gray data */ - if(dev->settings.scan_mode == ScanColorMode::LINEART - && dev->settings.dynamic_lineart) - { - flags |= SCAN_FLAG_DYNAMIC_LINEART; - } - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = start; - params.starty = move; - params.pixels = dev->settings.pixels; - params.lines = dev->settings.lines; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = dev->settings.scan_mode; - params.color_filter = dev->settings.color_filter; - params.flags = flags; - - status = gl124_init_scan_regs(dev, sensor, &dev->reg, params); - - if (status != SANE_STATUS_GOOD) - return status; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * Send shading calibration data. The buffer is considered to always hold values - * for all the channels. - */ -static SANE_Status -gl124_send_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, - uint8_t * data, int size) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint32_t addr, length, strpixel ,endpixel, x, factor, segcnt, pixels, i; - uint32_t lines, channels; - uint16_t dpiset,dpihw; - uint8_t val,*ptr,*src; - - DBGSTART; - DBG( DBG_io2, "%s: writing %d bytes of shading data\n",__func__,size); - - /* logical size of a color as seen by generic code of the frontend */ - length = (uint32_t) (size / 3); - sanei_genesys_get_triple(&dev->reg,REG_STRPIXEL,&strpixel); - sanei_genesys_get_triple(&dev->reg,REG_ENDPIXEL,&endpixel); - sanei_genesys_get_triple(&dev->reg,REG_SEGCNT,&segcnt); - if(endpixel==0) - { - endpixel=segcnt; - } - DBG( DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, SEGCNT=%d\n",__func__,strpixel,endpixel,endpixel-strpixel,segcnt); - - /* compute deletion factor */ - sanei_genesys_get_double(&dev->reg,REG_DPISET,&dpiset); - dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpiset); - factor=dpihw/dpiset; - DBG( DBG_io2, "%s: factor=%d\n",__func__,factor); - - /* binary data logging */ - if(DBG_LEVEL>=DBG_data) - { - dev->binary=fopen("binary.pnm","wb"); - sanei_genesys_get_triple(&dev->reg, REG_LINCNT, &lines); - channels=dev->current_setup.channels; - if(dev->binary!=NULL) - { - fprintf(dev->binary,"P5\n%d %d\n%d\n",(endpixel-strpixel)/factor*channels*dev->segnb,lines/channels,255); - } - } - - /* turn pixel value into bytes 2x16 bits words */ - strpixel*=2*2; /* 2 words of 2 bytes */ - endpixel*=2*2; - segcnt*=2*2; - pixels=endpixel-strpixel; - - DBG( DBG_io2, "%s: using chunks of %d bytes (%d shading data pixels)\n",__func__,length, length/4); - std::vector buffer(pixels * dev->segnb, 0); - - /* write actual red data */ - for(i=0;i<3;i++) - { - /* copy data to work buffer and process it */ - /* coefficent destination */ - ptr = buffer.data(); - - /* iterate on both sensor segment */ - for(x=0;xsegnb) - { - case 1: - ptr[0+pixels*0]=src[0+segcnt*0]; - ptr[1+pixels*0]=src[1+segcnt*0]; - ptr[2+pixels*0]=src[2+segcnt*0]; - ptr[3+pixels*0]=src[3+segcnt*0]; - break; - case 2: - ptr[0+pixels*0]=src[0+segcnt*0]; - ptr[1+pixels*0]=src[1+segcnt*0]; - ptr[2+pixels*0]=src[2+segcnt*0]; - ptr[3+pixels*0]=src[3+segcnt*0]; - ptr[0+pixels*1]=src[0+segcnt*1]; - ptr[1+pixels*1]=src[1+segcnt*1]; - ptr[2+pixels*1]=src[2+segcnt*1]; - ptr[3+pixels*1]=src[3+segcnt*1]; - break; - case 4: - ptr[0+pixels*0]=src[0+segcnt*0]; - ptr[1+pixels*0]=src[1+segcnt*0]; - ptr[2+pixels*0]=src[2+segcnt*0]; - ptr[3+pixels*0]=src[3+segcnt*0]; - ptr[0+pixels*1]=src[0+segcnt*2]; - ptr[1+pixels*1]=src[1+segcnt*2]; - ptr[2+pixels*1]=src[2+segcnt*2]; - ptr[3+pixels*1]=src[3+segcnt*2]; - ptr[0+pixels*2]=src[0+segcnt*1]; - ptr[1+pixels*2]=src[1+segcnt*1]; - ptr[2+pixels*2]=src[2+segcnt*1]; - ptr[3+pixels*2]=src[3+segcnt*1]; - ptr[0+pixels*3]=src[0+segcnt*3]; - ptr[1+pixels*3]=src[1+segcnt*3]; - ptr[2+pixels*3]=src[2+segcnt*3]; - ptr[3+pixels*3]=src[3+segcnt*3]; - break; - } - - /* next shading coefficient */ - ptr+=4; - } - RIE (sanei_genesys_read_register (dev, 0xd0+i, &val)); - addr = val * 8192 + 0x10000000; - status = sanei_genesys_write_ahb(dev, addr, pixels*dev->segnb, buffer.data()); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s; write to AHB failed (%s)\n", __func__, sane_strstatus(status)); - return status; - } - } - - DBGCOMPLETED; - - return status; -} - - -/** @brief move to calibration area - * This functions moves scanning head to calibration area - * by doing a 600 dpi scan - * @param dev scanner device - * @return SANE_STATUS_GOOD on success, else the error code - */ -static SANE_Status -move_to_calibration_area (Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - int pixels; - int size; - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - pixels = (sensor.sensor_pixels*600)/sensor.optical_res; - - /* initial calibration reg values */ - regs = dev->reg; - - SetupParams params; - params.xres = 600; - params.yres = 600; - params.startx = 0; - params.starty = 0; - params.pixels = pixels; - params.lines = 1; - params.depth = 8; - params.channels = 3; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl124_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); - return status; - } - - size = pixels * 3; - std::vector line(size); - - /* write registers and scan data */ - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - - DBG (DBG_info, "%s: starting line reading\n", __func__); - RIE(gl124_begin_scan (dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), size)); - - /* stop scanning */ - RIE(gl124_stop_action (dev)); - - if (DBG_LEVEL >= DBG_data) - { - sanei_genesys_write_pnm_file("gl124_movetocalarea.pnm", line.data(), 8, 3, pixels, 1); - } - - DBGCOMPLETED; - return status; -} - -/* this function does the led calibration by scanning one line of the calibration - area below scanner's top on white strip. - --needs working coarse/gain -*/ -static SANE_Status -gl124_led_calibration (Genesys_Device * dev, Genesys_Sensor& sensor, Genesys_Register_Set& regs) -{ - int num_pixels; - int total_size; - int resolution; - int dpihw; - int i, j; - SANE_Status status = SANE_STATUS_GOOD; - int val; - int channels, depth; - int avg[3]; - int turn; - uint16_t exp[3],target; - SANE_Bool acceptable; - SANE_Bool half_ccd; - - DBGSTART; - - /* move to calibration area */ - move_to_calibration_area(dev, sensor, regs); - - /* offset calibration is always done in 16 bit depth color mode */ - channels = 3; - depth=16; - dpihw=sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); - half_ccd=compute_half_ccd(sensor, dev->settings.xres); - if(half_ccd==SANE_TRUE) - { - resolution = dpihw/2; - } - else - { - resolution = dpihw; - } - Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw, half_ccd); - num_pixels = (sensor.sensor_pixels*resolution)/sensor.optical_res; - - /* initial calibration reg values */ - regs = dev->reg; - - SetupParams params; - params.xres = resolution; - params.yres = resolution; - params.startx = 0; - params.starty = 0; - params.pixels = num_pixels; - params.lines = 1; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl124_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus (status)); - return status; - } - - total_size = num_pixels * channels * (depth/8) * 1; /* colors * bytes_per_color * scan lines */ - std::vector line(total_size); - - /* initial loop values and boundaries */ - exp[0]=sensor_profile->expr; - exp[1]=sensor_profile->expg; - exp[2]=sensor_profile->expb; - target=sensor.gain_white_ref*256; - - turn = 0; - - /* no move during led calibration */ - sanei_genesys_set_motor_power(regs, false); - do - { - /* set up exposure */ - sanei_genesys_set_triple(®s,REG_EXPR,exp[0]); - sanei_genesys_set_triple(®s,REG_EXPG,exp[1]); - sanei_genesys_set_triple(®s,REG_EXPB,exp[2]); - - /* write registers and scan data */ - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - - DBG(DBG_info, "%s: starting line reading\n", __func__); - RIE(gl124_begin_scan (dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner (dev, line.data(), total_size)); - - /* stop scanning */ - RIE(gl124_stop_action (dev)); - - if (DBG_LEVEL >= DBG_data) - { - char fn[30]; - snprintf(fn, 30, "gl124_led_%02d.pnm", turn); - sanei_genesys_write_pnm_file(fn, line.data(), depth, channels, num_pixels, 1); - } - - /* compute average */ - for (j = 0; j < channels; j++) - { - avg[j] = 0; - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * num_pixels + 1] * 256 + - line[i * 2 + j * 2 * num_pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - avg[j] += val; - } - - avg[j] /= num_pixels; - } - - DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); - - /* check if exposure gives average within the boundaries */ - acceptable = SANE_TRUE; - for(i=0;i<3;i++) - { - /* we accept +- 2% delta from target */ - if(abs(avg[i]-target)>target/50) - { - exp[i]=(exp[i]*target)/avg[i]; - acceptable = SANE_FALSE; - } - } - - turn++; - } - while (!acceptable && turn < 100); - - DBG(DBG_info, "%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0], exp[1], exp[2]); - - /* set these values as final ones for scan */ - sanei_genesys_set_triple(&dev->reg,REG_EXPR,exp[0]); - sanei_genesys_set_triple(&dev->reg,REG_EXPG,exp[1]); - sanei_genesys_set_triple(&dev->reg,REG_EXPB,exp[2]); - - /* store in this struct since it is the one used by cache calibration */ - sensor.exposure.red = exp[0]; - sensor.exposure.green = exp[1]; - sensor.exposure.blue = exp[2]; - - DBGCOMPLETED; - return status; -} - -/** - * average dark pixels of a 8 bits scan - */ -static int -dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, - unsigned int channels, unsigned int black) -{ - unsigned int i, j, k, average, count; - unsigned int avg[3]; - uint8_t val; - - /* computes average value on black margin */ - for (k = 0; k < channels; k++) - { - avg[k] = 0; - count = 0; - for (i = 0; i < lines; i++) - { - for (j = 0; j < black; j++) - { - val = data[i * channels * pixels + j + k]; - avg[k] += val; - count++; - } - } - if (count) - avg[k] /= count; - DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); - } - average = 0; - for (i = 0; i < channels; i++) - average += avg[i]; - average /= channels; - DBG(DBG_info, "%s: average = %d\n", __func__, average); - return average; -} - - -static SANE_Status -gl124_offset_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t reg0a; - unsigned int channels, bpp; - int pass = 0, avg, total_size; - int topavg, bottomavg, resolution, lines; - int top, bottom, black_pixels, pixels; - - DBGSTART; - - /* no gain nor offset for TI AFE */ - RIE (sanei_genesys_read_register (dev, REG0A, ®0a)); - if(((reg0a & REG0A_SIFSEL)>>REG0AS_SIFSEL)==3) - { - DBGCOMPLETED; - return status; - } - - /* offset calibration is always done in color mode */ - channels = 3; - resolution=sensor.optical_res; - dev->calib_pixels = sensor.sensor_pixels; - lines=1; - bpp=8; - pixels= (sensor.sensor_pixels*resolution) / sensor.optical_res; - black_pixels = (sensor.black_pixels * resolution) / sensor.optical_res; - DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); - - SetupParams params; - params.xres = resolution; - params.yres = resolution; - params.startx = 0; - params.starty = 0; - params.pixels = pixels; - params.lines = lines; - params.depth = bpp; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl124_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - sanei_genesys_set_motor_power(regs, false); - - /* allocate memory for scans */ - total_size = pixels * channels * lines * (bpp/8); /* colors * bytes_per_color * scan lines */ - - std::vector first_line(total_size); - std::vector second_line(total_size); - - /* init gain */ - dev->frontend.set_gain(0, 0); - dev->frontend.set_gain(1, 0); - dev->frontend.set_gain(2, 0); - - /* scan with no move */ - bottom = 10; - dev->frontend.set_offset(0, bottom); - dev->frontend.set_offset(1, bottom); - dev->frontend.set_offset(2, bottom); - - RIE(gl124_set_fe(dev, sensor, AFE_SET)); - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - DBG(DBG_info, "%s: starting first line reading\n", __func__); - RIE(gl124_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size)); - if (DBG_LEVEL >= DBG_data) - { - char title[30]; - snprintf(title, 30, "gl124_offset%03d.pnm", bottom); - sanei_genesys_write_pnm_file(title, first_line.data(), bpp, channels, pixels, lines); - } - - bottomavg = dark_average(first_line.data(), pixels, lines, channels, black_pixels); - DBG(DBG_io2, "%s: bottom avg=%d\n", __func__, bottomavg); - - /* now top value */ - top = 255; - dev->frontend.set_offset(0, top); - dev->frontend.set_offset(1, top); - dev->frontend.set_offset(2, top); - RIE(gl124_set_fe(dev, sensor, AFE_SET)); - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - DBG(DBG_info, "%s: starting second line reading\n", __func__); - RIE(gl124_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); - - topavg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); - DBG(DBG_io2, "%s: top avg=%d\n", __func__, topavg); - - /* loop until acceptable level */ - while ((pass < 32) && (top - bottom > 1)) - { - pass++; - - /* settings for new scan */ - dev->frontend.set_offset(0, (top + bottom) / 2); - dev->frontend.set_offset(1, (top + bottom) / 2); - dev->frontend.set_offset(2, (top + bottom) / 2); - - /* scan with no move */ - RIE(gl124_set_fe(dev, sensor, AFE_SET)); - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - DBG(DBG_info, "%s: starting second line reading\n", __func__); - RIE(gl124_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size)); - - if (DBG_LEVEL >= DBG_data) - { - char title[30]; - snprintf(title, 30, "gl124_offset%03d.pnm", dev->frontend.get_offset(1)); - sanei_genesys_write_pnm_file(title, second_line.data(), bpp, channels, pixels, lines); - } - - avg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); - DBG(DBG_info, "%s: avg=%d offset=%d\n", __func__, avg, dev->frontend.get_offset(1)); - - /* compute new boundaries */ - if (topavg == avg) - { - topavg = avg; - top = dev->frontend.get_offset(1); - } - else - { - bottomavg = avg; - bottom = dev->frontend.get_offset(1); - } - } - DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, - dev->frontend.get_offset(0), - dev->frontend.get_offset(1), - dev->frontend.get_offset(2)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* alternative coarse gain calibration - this on uses the settings from offset_calibration and - uses only one scanline - */ -/* - with offset and coarse calibration we only want to get our input range into - a reasonable shape. the fine calibration of the upper and lower bounds will - be done with shading. - */ -static SANE_Status -gl124_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs, int dpi) -{ - int pixels; - int total_size; - uint8_t reg0a; - int i, j, channels; - SANE_Status status = SANE_STATUS_GOOD; - int max[3]; - float gain[3],coeff; - int val, code, lines; - int resolution; - int bpp; - - DBG(DBG_proc, "%s: dpi = %d\n", __func__, dpi); - - /* no gain nor offset for TI AFE */ - RIE (sanei_genesys_read_register (dev, REG0A, ®0a)); - if(((reg0a & REG0A_SIFSEL)>>REG0AS_SIFSEL)==3) - { - DBGCOMPLETED; - return status; - } - - /* coarse gain calibration is always done in color mode */ - channels = 3; - - /* follow CKSEL */ - if(dev->settings.xressettings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - try { - status = gl124_init_scan_regs(dev, sensor, ®s, params); - } catch (...) { - try { - sanei_genesys_set_motor_power(regs, false); - } catch (...) {} - throw; - } - - sanei_genesys_set_motor_power(regs, false); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - RIE (dev->model->cmd_set->bulk_write_register(dev, regs)); - - total_size = pixels * channels * (16/bpp) * lines; - - std::vector line(total_size); - - RIE(gl124_set_fe(dev, sensor, AFE_SET)); - RIE(gl124_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl124_gain.pnm", line.data(), bpp, channels, pixels, lines); - - /* average value on each channel */ - for (j = 0; j < channels; j++) - { - max[j] = 0; - for (i = pixels/4; i < (pixels*3/4); i++) - { - if(bpp==16) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * pixels + 1] * 256 + - line[i * 2 + j * 2 * pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - } - else - { - if (dev->model->is_cis) - val = line[i + j * pixels]; - else - val = line[i * channels + j]; - } - - max[j] += val; - } - max[j] = max[j] / (pixels/2); - - gain[j] = ((float) sensor.gain_white_ref*coeff) / max[j]; - - /* turn logical gain value into gain code, checking for overflow */ - code = 283 - 208 / gain[j]; - if (code > 255) - code = 255; - else if (code < 0) - code = 0; - dev->frontend.set_gain(j, code); - - DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], - gain[j], dev->frontend.get_gain(j)); - } - - if (dev->model->is_cis) { - uint8_t gain0 = dev->frontend.get_gain(0); - if (gain0 > dev->frontend.get_gain(1)) { - gain0 = dev->frontend.get_gain(1); - } - if (gain0 > dev->frontend.get_gain(2)) { - gain0 = dev->frontend.get_gain(2); - } - dev->frontend.set_gain(0, gain0); - dev->frontend.set_gain(1, gain0); - dev->frontend.set_gain(2, gain0); - } - - if (channels == 1) { - dev->frontend.set_gain(0, dev->frontend.get_gain(1)); - dev->frontend.set_gain(2, dev->frontend.get_gain(1)); - } - - RIE (gl124_stop_action (dev)); - - status = gl124_slow_back_home (dev, SANE_TRUE); - - DBGCOMPLETED; - return status; -} - -/* - * wait for lamp warmup by scanning the same line until difference - * between 2 scans is below a threshold - */ -static SANE_Status -gl124_init_regs_for_warmup (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, - int *channels, int *total_size) -{ - int num_pixels; - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - if (dev == NULL || reg == NULL || channels == NULL || total_size == NULL) - return SANE_STATUS_INVAL; - - *channels=3; - - *reg = dev->reg; - - SetupParams params; - params.xres = sensor.optical_res; - params.yres = dev->motor.base_ydpi; - params.startx = sensor.sensor_pixels / 4; - params.starty = 0; - params.pixels = sensor.sensor_pixels / 2; - params.lines = 1; - params.depth = 8; - params.channels = *channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl124_init_scan_regs(dev, sensor, reg, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - num_pixels = dev->current_setup.pixels; - - *total_size = num_pixels * 3 * 1; /* colors * bytes_per_color * scan lines */ - - sanei_genesys_set_motor_power(*reg, false); - RIE (dev->model->cmd_set->bulk_write_register(dev, *reg)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief default GPIO values - * set up GPIO/GPOE for idle state - * @param dev device to set up - * @return SANE_STATUS_GOOD unless a GPIO register cannot be written - */ -static SANE_Status -gl124_init_gpio (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx; - - DBGSTART; - - /* per model GPIO layout */ - if (dev->model->model_id == MODEL_CANON_LIDE_110) - { - idx = 0; - } - else if (dev->model->model_id == MODEL_CANON_LIDE_120) - { - idx = 2; - } - else - { /* canon LiDE 210 and 220 case */ - idx = 1; - } - - RIE (sanei_genesys_write_register (dev, REG31, gpios[idx].r31)); - RIE (sanei_genesys_write_register (dev, REG32, gpios[idx].r32)); - RIE (sanei_genesys_write_register (dev, REG33, gpios[idx].r33)); - RIE (sanei_genesys_write_register (dev, REG34, gpios[idx].r34)); - RIE (sanei_genesys_write_register (dev, REG35, gpios[idx].r35)); - RIE (sanei_genesys_write_register (dev, REG36, gpios[idx].r36)); - RIE (sanei_genesys_write_register (dev, REG38, gpios[idx].r38)); - - DBGCOMPLETED; - return status; -} - -/** - * set memory layout by filling values in dedicated registers - */ -static SANE_Status -gl124_init_memory_layout (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx = 0; - - DBGSTART; - - /* point to per model memory layout */ - if (dev->model->model_id == MODEL_CANON_LIDE_110 ||dev->model->model_id == MODEL_CANON_LIDE_120) - { - idx = 0; - } - else - { /* canon LiDE 210 and 220 case */ - idx = 1; - } - - /* setup base address for shading data. */ - /* values must be multiplied by 8192=0x4000 to give address on AHB */ - /* R-Channel shading bank0 address setting for CIS */ - sanei_genesys_write_register (dev, 0xd0, layouts[idx].rd0); - /* G-Channel shading bank0 address setting for CIS */ - sanei_genesys_write_register (dev, 0xd1, layouts[idx].rd1); - /* B-Channel shading bank0 address setting for CIS */ - sanei_genesys_write_register (dev, 0xd2, layouts[idx].rd2); - - /* setup base address for scanned data. */ - /* values must be multiplied by 1024*2=0x0800 to give address on AHB */ - /* R-Channel ODD image buffer 0x0124->0x92000 */ - /* size for each buffer is 0x16d*1k word */ - sanei_genesys_write_register (dev, 0xe0, layouts[idx].re0); - sanei_genesys_write_register (dev, 0xe1, layouts[idx].re1); - /* R-Channel ODD image buffer end-address 0x0291->0x148800 => size=0xB6800*/ - sanei_genesys_write_register (dev, 0xe2, layouts[idx].re2); - sanei_genesys_write_register (dev, 0xe3, layouts[idx].re3); - - /* R-Channel EVEN image buffer 0x0292 */ - sanei_genesys_write_register (dev, 0xe4, layouts[idx].re4); - sanei_genesys_write_register (dev, 0xe5, layouts[idx].re5); - /* R-Channel EVEN image buffer end-address 0x03ff*/ - sanei_genesys_write_register (dev, 0xe6, layouts[idx].re6); - sanei_genesys_write_register (dev, 0xe7, layouts[idx].re7); - - /* same for green, since CIS, same addresses */ - sanei_genesys_write_register (dev, 0xe8, layouts[idx].re0); - sanei_genesys_write_register (dev, 0xe9, layouts[idx].re1); - sanei_genesys_write_register (dev, 0xea, layouts[idx].re2); - sanei_genesys_write_register (dev, 0xeb, layouts[idx].re3); - sanei_genesys_write_register (dev, 0xec, layouts[idx].re4); - sanei_genesys_write_register (dev, 0xed, layouts[idx].re5); - sanei_genesys_write_register (dev, 0xee, layouts[idx].re6); - sanei_genesys_write_register (dev, 0xef, layouts[idx].re7); - -/* same for blue, since CIS, same addresses */ - sanei_genesys_write_register (dev, 0xf0, layouts[idx].re0); - sanei_genesys_write_register (dev, 0xf1, layouts[idx].re1); - sanei_genesys_write_register (dev, 0xf2, layouts[idx].re2); - sanei_genesys_write_register (dev, 0xf3, layouts[idx].re3); - sanei_genesys_write_register (dev, 0xf4, layouts[idx].re4); - sanei_genesys_write_register (dev, 0xf5, layouts[idx].re5); - sanei_genesys_write_register (dev, 0xf6, layouts[idx].re6); - sanei_genesys_write_register (dev, 0xf7, layouts[idx].re7); - - DBGCOMPLETED; - return status; -} - -/** - * initialize backend and ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home - */ -static SANE_Status -gl124_init(Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG_INIT (); - DBGSTART; - - status=sanei_genesys_asic_init(dev, 0); - - DBGCOMPLETED; - return status; -} - - -/* * - * initialize ASIC from power on condition - */ -static SANE_Status -gl124_boot (Genesys_Device * dev, SANE_Bool cold) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - - DBGSTART; - - /* reset ASIC in case of cold boot */ - if(cold) - { - RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); - RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); - } - - /* enable GPOE 17 */ - RIE (sanei_genesys_write_register (dev, 0x36, 0x01)); - - /* set GPIO 17 */ - RIE (sanei_genesys_read_register (dev, 0x33, &val)); - val |= 0x01; - RIE (sanei_genesys_write_register (dev, 0x33, val)); - - /* test CHKVER */ - RIE (sanei_genesys_read_register (dev, REG100, &val)); - if (val & REG100_CHKVER) - { - RIE (sanei_genesys_read_register (dev, 0x00, &val)); - DBG(DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); - } - - /* Set default values for registers */ - gl124_init_registers (dev); - - /* Write initial registers */ - RIE (dev->model->cmd_set->bulk_write_register(dev, dev->reg)); - - /* tune reg 0B */ - val = REG0B_30MHZ | REG0B_ENBDRAM | REG0B_64M; - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg.remove_reg(0x0b); - - /* set up end access */ - RIE (sanei_genesys_write_0x8c (dev, 0x10, 0x0b)); - RIE (sanei_genesys_write_0x8c (dev, 0x13, 0x0e)); - - /* CIS_LINE */ - SETREG (0x08, REG08_CIS_LINE); - RIE (sanei_genesys_write_register (dev, 0x08, dev->reg.find_reg(0x08).value)); - - /* setup gpio */ - RIE (gl124_init_gpio (dev)); - - /* setup internal memory layout */ - RIE (gl124_init_memory_layout (dev)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -static SANE_Status -gl124_update_hardware_sensors (Genesys_Scanner * s) -{ - /* do what is needed to get a new set of events, but try to not loose - any of them. - */ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val=0; - - RIE (sanei_genesys_read_register (s->dev, REG31, &val)); - - /* TODO : for the next scanner special case, - * add another per scanner button profile struct to avoid growing - * hard-coded button mapping here. - */ - if((s->dev->model->gpo_type == GPO_CANONLIDE110) - ||(s->dev->model->gpo_type == GPO_CANONLIDE120)) - { - s->buttons[BUTTON_SCAN_SW].write((val & 0x01) == 0); - s->buttons[BUTTON_FILE_SW].write((val & 0x08) == 0); - s->buttons[BUTTON_EMAIL_SW].write((val & 0x04) == 0); - s->buttons[BUTTON_COPY_SW].write((val & 0x02) == 0); - } - else - { /* LiDE 210 case */ - s->buttons[BUTTON_EXTRA_SW].write((val & 0x01) == 0); - s->buttons[BUTTON_SCAN_SW].write((val & 0x02) == 0); - s->buttons[BUTTON_COPY_SW].write((val & 0x04) == 0); - s->buttons[BUTTON_EMAIL_SW].write((val & 0x08) == 0); - s->buttons[BUTTON_FILE_SW].write((val & 0x10) == 0); - } - return status; -} - - -/** the gl124 command set */ -static Genesys_Command_Set gl124_cmd_set = { - "gl124-generic", /* the name of this set */ - - [](Genesys_Device* dev) -> bool { (void) dev; return true; }, - - gl124_init, - gl124_init_regs_for_warmup, - gl124_init_regs_for_coarse_calibration, - gl124_init_regs_for_shading, - gl124_init_regs_for_scan, - - gl124_get_filter_bit, - gl124_get_lineart_bit, - gl124_get_bitset_bit, - gl124_get_gain4_bit, - gl124_get_fast_feed_bit, - gl124_test_buffer_empty_bit, - gl124_test_motor_flag_bit, - - gl124_set_fe, - gl124_set_powersaving, - gl124_save_power, - - gl124_begin_scan, - gl124_end_scan, - - sanei_genesys_send_gamma_table, - - gl124_search_start_position, - - gl124_offset_calibration, - gl124_coarse_gain_calibration, - gl124_led_calibration, - - gl124_wait_for_motor_stop, - gl124_slow_back_home, - gl124_rewind, - - sanei_genesys_bulk_write_register, - NULL, - sanei_genesys_bulk_read_data, - - gl124_update_hardware_sensors, - - /* no sheetfed support for now */ - NULL, - NULL, - NULL, - NULL, - - sanei_genesys_is_compatible_calibration, - NULL, - gl124_send_shading_data, - gl124_calculate_current_setup, - gl124_boot -}; - -SANE_Status -sanei_gl124_init_cmd_set (Genesys_Device * dev) -{ - dev->model->cmd_set = &gl124_cmd_set; - return SANE_STATUS_GOOD; -} diff --git a/backend/genesys_gl124.h b/backend/genesys_gl124.h deleted file mode 100644 index 751321d..0000000 --- a/backend/genesys_gl124.h +++ /dev/null @@ -1,489 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2010-2016 Stéphane Voltz - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#include "genesys.h" - -#define REG01 0x01 -#define REG01_CISSET 0x80 -#define REG01_DOGENB 0x40 -#define REG01_DVDSET 0x20 -#define REG01_STAGGER 0x10 -#define REG01_COMPENB 0x08 -#define REG01_TRUEGRAY 0x04 -#define REG01_SHDAREA 0x02 -#define REG01_SCAN 0x01 - -#define REG02 0x02 -#define REG02_NOTHOME 0x80 -#define REG02_ACDCDIS 0x40 -#define REG02_AGOHOME 0x20 -#define REG02_MTRPWR 0x10 -#define REG02_FASTFED 0x08 -#define REG02_MTRREV 0x04 -#define REG02_HOMENEG 0x02 -#define REG02_LONGCURV 0x01 - -#define REG03 0x03 -#define REG03_LAMPDOG 0x80 -#define REG03_AVEENB 0x40 -#define REG03_XPASEL 0x20 -#define REG03_LAMPPWR 0x10 -#define REG03_LAMPTIM 0x0f - -#define REG04 0x04 -#define REG04_LINEART 0x80 -#define REG04_BITSET 0x40 -#define REG04_FILTER 0x30 -#define REG04_AFEMOD 0x07 - -#define REG05 0x05 -#define REG05_DPIHW 0xc0 -#define REG05_DPIHW_600 0x00 -#define REG05_DPIHW_1200 0x40 -#define REG05_DPIHW_2400 0x80 -#define REG05_DPIHW_4800 0xc0 -#define REG05_MTLLAMP 0x30 -#define REG05_GMMENB 0x08 -#define REG05_ENB20M 0x04 -#define REG05_MTLBASE 0x03 - -#define REG06 0x06 -#define REG06_SCANMOD 0xe0 -#define REG06S_SCANMOD 5 -#define REG06_PWRBIT 0x10 -#define REG06_GAIN4 0x08 -#define REG06_OPTEST 0x07 - -#define REG07_LAMPSIM 0x80 - -#define REG08_DRAM2X 0x80 -#define REG08_MPENB 0x20 -#define REG08_CIS_LINE 0x10 -#define REG08_IR2_ENB 0x08 -#define REG08_IR1_ENB 0x04 -#define REG08_ENB24M 0x01 - -#define REG09_MCNTSET 0xc0 -#define REG09_EVEN1ST 0x20 -#define REG09_BLINE1ST 0x10 -#define REG09_BACKSCAN 0x08 -#define REG09_OUTINV 0x04 -#define REG09_SHORTTG 0x02 - -#define REG09S_MCNTSET 6 -#define REG09S_CLKSET 4 - -#define REG0A 0x0a -#define REG0A_SIFSEL 0xc0 -#define REG0AS_SIFSEL 6 -#define REG0A_SHEETFED 0x20 -#define REG0A_LPWMEN 0x10 - -#define REG0B 0x0b -#define REG0B_DRAMSEL 0x07 -#define REG0B_16M 0x01 -#define REG0B_64M 0x02 -#define REG0B_128M 0x03 -#define REG0B_256M 0x04 -#define REG0B_512M 0x05 -#define REG0B_1G 0x06 -#define REG0B_ENBDRAM 0x08 -#define REG0B_RFHDIS 0x10 -#define REG0B_CLKSET 0xe0 -#define REG0B_24MHZ 0x00 -#define REG0B_30MHZ 0x20 -#define REG0B_40MHZ 0x40 -#define REG0B_48MHZ 0x60 -#define REG0B_60MHZ 0x80 - -#define REG0D 0x0d -#define REG0D_MTRP_RDY 0x80 -#define REG0D_FULLSTP 0x10 -#define REG0D_CLRMCNT 0x04 -#define REG0D_CLRDOCJM 0x02 -#define REG0D_CLRLNCNT 0x01 - -#define REG0F 0x0f - -#define REG16_CTRLHI 0x80 -#define REG16_TOSHIBA 0x40 -#define REG16_TGINV 0x20 -#define REG16_CK1INV 0x10 -#define REG16_CK2INV 0x08 -#define REG16_CTRLINV 0x04 -#define REG16_CKDIS 0x02 -#define REG16_CTRLDIS 0x01 - -#define REG17_TGMODE 0xc0 -#define REG17_SNRSYN 0x0f - -#define REG18 0x18 -#define REG18_CNSET 0x80 -#define REG18_DCKSEL 0x60 -#define REG18_CKTOGGLE 0x10 -#define REG18_CKDELAY 0x0c -#define REG18_CKSEL 0x03 - -#define REG1A_SW2SET 0x80 -#define REG1A_SW1SET 0x40 -#define REG1A_MANUAL3 0x02 -#define REG1A_MANUAL1 0x01 -#define REG1A_CK4INV 0x08 -#define REG1A_CK3INV 0x04 -#define REG1A_LINECLP 0x02 - -#define REG1C_TBTIME 0x07 - -#define REG1D 0x1d -#define REG1D_CK4LOW 0x80 -#define REG1D_CK3LOW 0x40 -#define REG1D_CK1LOW 0x20 -#define REG1D_LINESEL 0x1f -#define REG1DS_LINESEL 0 - -#define REG1E 0x1e -#define REG1E_WDTIME 0xf0 -#define REG1ES_WDTIME 4 -#define REG1E_WDTIME 0xf0 - -#define REG30 0x30 -#define REG31 0x31 -#define REG32 0x32 -#define REG32_GPIO16 0x80 -#define REG32_GPIO15 0x40 -#define REG32_GPIO14 0x20 -#define REG32_GPIO13 0x10 -#define REG32_GPIO12 0x08 -#define REG32_GPIO11 0x04 -#define REG32_GPIO10 0x02 -#define REG32_GPIO9 0x01 -#define REG33 0x33 -#define REG34 0x34 -#define REG35 0x35 -#define REG36 0x36 -#define REG37 0x37 -#define REG38 0x38 -#define REG39 0x39 - -#define REG60 0x60 -#define REG60_LED4TG 0x80 -#define REG60_YENB 0x40 -#define REG60_YBIT 0x20 -#define REG60_ACYNCNRLC 0x10 -#define REG60_ENOFFSET 0x08 -#define REG60_LEDADD 0x04 -#define REG60_CK4ADC 0x02 -#define REG60_AUTOCONF 0x01 - -#define REG80 0x80 -#define REG81 0x81 - -#define REGA0 0xa0 -#define REGA0_FSTPSEL 0x28 -#define REGA0S_FSTPSEL 3 -#define REGA0_STEPSEL 0x03 -#define REGA0S_STEPSEL 0 - -#define REGA1 0xa1 -#define REGA2 0xa2 -#define REGA3 0xa3 -#define REGA4 0xa4 -#define REGA5 0xa5 -#define REGA6 0xa6 -#define REGA7 0xa7 -#define REGA8 0xa8 -#define REGA9 0xa9 -#define REGAA 0xaa -#define REGAB 0xab -#define REGAC 0xac -#define REGAD 0xad -#define REGAE 0xae -#define REGAF 0xaf -#define REGB0 0xb0 -#define REGB1 0xb1 - -#define REGB2 0xb2 -#define REGB2_Z1MOD 0x1f -#define REGB3 0xb3 -#define REGB3_Z1MOD 0xff -#define REGB4 0xb4 -#define REGB4_Z1MOD 0xff - -#define REGB5 0xb5 -#define REGB5_Z2MOD 0x1f -#define REGB6 0xb6 -#define REGB6_Z2MOD 0xff -#define REGB7 0xb7 -#define REGB7_Z2MOD 0xff - -#define REG100 0x100 -#define REG100_DOCSNR 0x80 -#define REG100_ADFSNR 0x40 -#define REG100_COVERSNR 0x20 -#define REG100_CHKVER 0x10 -#define REG100_DOCJAM 0x08 -#define REG100_HISPDFLG 0x04 -#define REG100_MOTMFLG 0x02 -#define REG100_DATAENB 0x01 - -#define REG114 0x114 -#define REG115 0x115 - -#define REG_LINCNT 0x25 -#define REG_MAXWD 0x28 -#define REG_DPISET 0x2c -#define REG_FEEDL 0x3d -#define REG_CK1MAP 0x74 -#define REG_CK3MAP 0x77 -#define REG_CK4MAP 0x7a -#define REG_LPERIOD 0x7d -#define REG_DUMMY 0x80 -#define REG_STRPIXEL 0x82 -#define REG_ENDPIXEL 0x85 -#define REG_EXPDMY 0x88 -#define REG_EXPR 0x8a -#define REG_EXPG 0x8d -#define REG_EXPB 0x90 -#define REG_SEGCNT 0x93 -#define REG_TG0CNT 0x96 -#define REG_SCANFED 0xa2 -#define REG_STEPNO 0xa4 -#define REG_FWDSTEP 0xa6 -#define REG_BWDSTEP 0xa8 -#define REG_FASTNO 0xaa -#define REG_FSHDEC 0xac -#define REG_FMOVNO 0xae -#define REG_FMOVDEC 0xb0 -#define REG_Z1MOD 0xb2 -#define REG_Z2MOD 0xb5 - -#define REG_TRUER 0x110 -#define REG_TRUEG 0x111 -#define REG_TRUEB 0x112 - -#define SETREG(adr,val) { dev->reg.init_reg(adr, val); } - -typedef struct -{ - uint8_t r31; - uint8_t r32; - uint8_t r33; - uint8_t r34; - uint8_t r35; - uint8_t r36; - uint8_t r38; -} Gpio_layout; - -/** @brief gpio layout - * describes initial gpio settings for a given model - * registers 0x31 to 0x38 - */ -static Gpio_layout gpios[]={ - /* LiDE 110 */ - { /* 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x38 */ - 0x9f, 0x59, 0x01, 0x80, 0x5f, 0x01, 0x00 - }, - /* LiDE 210 */ - { - 0x9f, 0x59, 0x01, 0x80, 0x5f, 0x01, 0x00 - }, - /* LiDE 120 */ - { - 0x9f, 0x53, 0x01, 0x80, 0x5f, 0x01, 0x00 - }, -}; - -typedef struct -{ - uint8_t rd0; - uint8_t rd1; - uint8_t rd2; - uint8_t re0; - uint8_t re1; - uint8_t re2; - uint8_t re3; - uint8_t re4; - uint8_t re5; - uint8_t re6; - uint8_t re7; -} Memory_layout; - -static Memory_layout layouts[]={ - /* LIDE 110, 120 */ - { /* 0xd0 0xd1 0xd2 */ - 0x0a, 0x15, 0x20, - /* 0xe0 0xe1 0xe2 0xe3 0xe4 0xe5 0xe6 0xe7 */ - 0x00, 0xac, 0x08, 0x55, 0x08, 0x56, 0x0f, 0xff - }, - /* LIDE 210, 220 */ - { - 0x0a, 0x1f, 0x34, - 0x01, 0x24, 0x08, 0x91, 0x08, 0x92, 0x0f, 0xff - } -}; - -/** @brief structure for sensor settings - * this structure describes the sensor settings to use for a given - * exposure. Data settings are identified by - * - sensor id - * - sensor hardware dpi - * - half ccd mode - */ -typedef struct { - int sensor_type; /**> sensor id */ - int dpi; /**> maximum dpi for which data are valid */ - int half_ccd; /**> half ccd mode */ - int exposure; /**> exposure */ - int ck1map; /**> CK1MAP */ - int ck3map; /**> CK3MAP */ - int ck4map; /**> CK4MAP */ - int segcnt; /**> SEGCNT */ - int tg0cnt; /**> TG0CNT */ - int expdummy; /**> exposure dummy */ - int expr; /**> initial red exposure */ - int expg; /**> initial green exposure */ - int expb; /**> initial blue exposure */ - size_t *order; /**> order of sub-segments */ - uint8_t reg18; /**> register 0x18 value */ - uint8_t reg20; /**> register 0x20 value */ - uint8_t reg61; /**> register 0x61 value */ - uint8_t reg98; /**> register 0x98 value */ - uint8_t reg16; /**> register 0x16 value */ - uint8_t reg70; /**> register 0x70 value */ -} Sensor_Profile; - -static size_t order_01[]={0,1}; -static size_t order_0213[]={0,2,1,3}; - -/** @brief database of sensor profiles - * database of sensor profiles giving for each sensor and a given resolution, the period, and timings - * to setup the sensor for the scan. - */ -static Sensor_Profile sensors[]={ - /* LiDE 110 */ - {CIS_CANONLIDE110, 600, 1, 2768, 0x1e, 0x9f, 0x55, 2584, 154, 101, 388, 574, 393, NULL , 0x00, 0x0c, 0x20, 0x21, 0x00, 0x00}, - {CIS_CANONLIDE110, 600, 0, 5360, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, NULL , 0x00, 0x0a, 0x20, 0x21, 0x00, 0x00}, - {CIS_CANONLIDE110, 1200, 0, 10528, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22, 0x00, 0x00}, - {CIS_CANONLIDE110, 2400, 0, 20864, 0x1e, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24, 0x00, 0x00}, - - /* LiDE 120 */ - {CIS_CANONLIDE120, 600, 1, 4608, 0x0f, 0x00, 0x55, 2552, 112, 94, 894, 1044, 994, NULL , 0x00, 0x02, 0x20, 0x21, 0x15, 0x00}, - {CIS_CANONLIDE120, 600, 0, 5360, 0x0f, 0x00, 0x55, 5104, 139, 94, 1644, 1994, 1844, NULL , 0x00, 0x02, 0x20, 0x21, 0x11, 0x1f}, - {CIS_CANONLIDE120, 1200, 0, 10528, 0x0f, 0x00, 0x55,10208, 192, 94, 3194, 3794, 3594, NULL , 0x00, 0x02, 0x20, 0x21, 0x15, 0x1f}, - {CIS_CANONLIDE120, 2400, 0, 20864, 0x0f, 0x00, 0x55,20416, 298, 94, 6244, 7544, 7094, NULL , 0x00, 0x02, 0x20, 0x21, 0x11, 0x00}, - - /* LiDE 210 */ - {CIS_CANONLIDE210, 600, 1, 2768, 0x1e, 0x9f, 0x55, 2584, 154, 101, 388, 574, 393, NULL , 0x00, 0x0c, 0x20, 0x21, 0x00, 0x00}, - {CIS_CANONLIDE210, 600, 0, 5360, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, NULL , 0x00, 0x0a, 0x20, 0x21, 0x00, 0x00}, - {CIS_CANONLIDE210, 1200, 0, 10528, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22, 0x00, 0x00}, - {CIS_CANONLIDE210, 2400, 0, 20864, 0x1e, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24, 0x00, 0x00}, - - /* LiDE 220 */ - {CIS_CANONLIDE220, 600, 1, 2768, 0x0f, 0x9f, 0x55, 2584, 154, 101, 388, 574, 393, NULL , 0x00, 0x0c, 0x20, 0x21, 0x00, 0x00}, - {CIS_CANONLIDE220, 600, 0, 5360, 0x0f, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, NULL , 0x00, 0x0a, 0x20, 0x21, 0x00, 0x00}, - {CIS_CANONLIDE220, 1200, 0, 10528, 0x0f, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22, 0x00, 0x00}, - {CIS_CANONLIDE220, 2400, 0, 20864, 0x0f, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24, 0x00, 0x00}, -}; - - -#define MOVE_DPI 200 -#define MOVE_EXPOSURE 2304 -/** @brief reference slope tables - * slope table directly extracted from USB logs, with a 'termination' value of 0. - */ -static uint32_t lide210_fast[] = { 62496, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2051, 1432, 1372, 1323, 1280, 1246, 1216, 1188, 1163, 1142, 1121, 1101, 1084, 1068, 1051, 1036, 1020, 1007, 995, 983, 971, 959, 949, 938, 929, 917, 908, 900, 891, 882, 874, 866, 857, 849, 843, 835, 829, 821, 816, 808, 802, 795, 789, 784, 778, 773, 765, 760, 755, 749, 744, 739, 734, 731, 726, 721, 716, 711, 707, 702, 698, 693, 690, 685, 682, 677, 672, 669, 665, 662, 657, 654, 650, 647, 644, 639, 637, 632, 629, 626, 622, 619, 617, 614, 610, 607, 604, 601, 599, 595, 592, 589, 587, 584, 581, 579, 576, 572, 570, 567, 564, 562, 559, 557, 554, 552, 549, 547, 544, 542, 539, 538, 536, 533, 531, 529, 526, 524, 522, 519, 518, 516, 513, 511, 509, 506, 505, 503, 501, 498, 497, 495, 493, 491, 490, 487, 485, 483, 482, 480, 477, 476, 474, 472, 470, 469, 467, 465, 464, 462, 460, 458, 456, 455, 453, 451, 450, 448, 447, 445, 444, 442, 440, 439, 437, 436, 434, 433, 431, 430, 428, 427, 425, 423, 422, 420, 419, 417, 417, 415, 414, 413, 411, 410, 408, 407, 405, 404, 402, 401, 400, 399, 398, 396, 395, 393, 392, 391, 390, 389, 387, 386, 385, 383, 382, 381, 380, 379, 377, 376, 375, 374, 373, 371, 370, 369, 368, 367, 366, 364, 363, 363, 361, 360, 359, 358, 357, 356, 355, 353, 352, 352, 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, 335, 335, 0}; -static uint32_t lide110_ok[] = { 62496, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2051, 1961, 1901, 1852, 1809, 1775, 1745, 1717, 1692, 1671, 1650, 1630, 1613, 1597, 1580, 1565, 1549, 1536, 1524, 1512, 1500, 1488, 1478, 1467, 1458, 1446, 1437, 1429, 1420, 1411, 1403, 1395, 1386, 1378, 1372, 1364, 1358, 1350, 1345, 1337, 1331, 1324, 1318, 1313, 1307, 1302, 1294, 1289, 1284, 1278, 1273, 1268, 1263, 1260, 1255, 1250, 1245, 1240, 1236, 1231, 1227, 1222, 1219, 1214, 1211, 1206, 1201, 1198, 1194, 1191, 1186, 1183, 1179, 1176, 1173, 1168, 1166, 1161, 1158, 1155, 1151, 1148, 1146, 1143, 1139, 1136, 1133, 1130, 1128, 1124, 1121, 1118, 1116, 1113, 1110, 1108, 1105, 1101, 1099, 1096, 1093, 1091, 1088, 1086, 1083, 1081, 1078, 1076, 1073, 1071, 1068, 1067, 1065, 1062, 1060, 1058, 1055, 1053, 1051, 1048, 1047, 1045, 1042, 1040, 1038, 1035, 1034, 1032, 1030, 1027, 1026, 1024, 1022, 1020, 1019, 1016, 1014, 1012, 1011, 1009, 1006, 1005, 1003, 1001, 999, 998, 996, 994, 993, 991, 989, 987, 985, 984, 982, 980, 979, 977, 976, 974, 973, 971, 969, 968, 966, 965, 963, 962, 960, 959, 957, 956, 954, 952, 951, 949, 948, 946, 946, 944, 943, 942, 940, 939, 937, 936, 934, 933, 931, 930, 929, 928, 927, 925, 924, 922, 921, 920, 919, 918, 916, 915, 914, 912, 911, 910, 909, 908, 906, 905, 904, 903, 902, 900, 899, 898, 897, 896, 895, 893, 892, 892, 890, 889, 888, 887, 886, 885, 884, 882, 881, 881, 879, 878, 877, 876, 875, 874, 873, 872, 871, 870, 869, 868, 867, 864, 857, 849, 843, 835, 829, 821, 816, 808, 802, 795, 789, 784, 778, 773, 765, 760, 755, 749, 744, 739, 734, 731, 726, 721, 716, 711, 707, 702, 698, 693, 690, 685, 682, 677, 672, 669, 665, 662, 657, 654, 650, 647, 644, 639, 637, 632, 629, 626, 622, 619, 617, 614, 610, 607, 604, 601, 599, 595, 592, 589, 587, 584, 581, 579, 576, 572, 570, 567, 564, 562, 559, 557, 554, 552, 549, 547, 544, 542, 539, 538, 536, 533, 531, 529, 526, 524, 522, 519, 518, 516, 513, 511, 509, 506, 505, 503, 501, 498, 497, 495, 493, 491, 490, 487, 485, 483, 482, 480, 477, 476, 474, 472, 470, 469, 467, 465, 464, 462, 460, 458, 456, 455, 453, 451, 450, 448, 447, 445, 444, 442, 440, 439, 437, 436, 434, 433, 431, 430, 428, 427, 425, 423, 422, 420, 419, 417, 417, 415, 414, 413, 411, 410, 408, 407, 405, 404, 402, 401, 400, 399, 398, 396, 395, 393, 392, 391, 390, 389, 387, 386, 385, 383, 382, 381, 380, 379, 377, 376, 375, 374, 373, 371, 370, 369, 368, 367, 366, 364, 363, 363, 361, 360, 359, 358, 357, 356, 355, 353, 352, 352, 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, 335, 335, 0}; -static uint32_t lide120_fast[] = { 62496, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 1957, 1845, 1768, 1710, 1665, 1624, 1588, 1557, 1529, 1504, 1481, 1458, 1440, 1420, 1403, 1386, 1370, 1356, 1343, 1329, 1316, 1303, 1293, 1280, 1270, 1260, 1250, 1241, 1231, 1222, 1214, 1206, 1197, 1189, 1182, 1174, 1167, 1160, 1153, 1147, 1140, 1133, 1128, 1121, 1116, 1110, 1104, 1099, 1093, 1088, 1082, 1077, 1072, 1067, 1062, 1058, 1053, 1049, 1045, 1040, 1035, 1032, 1027, 1023, 1020, 1015, 1012, 1008, 1004, 1000, 997, 993, 989, 985, 982, 979, 975, 972, 969, 966, 963, 959, 956, 953, 950, 947, 945, 942, 939, 936, 933, 930, 928, 925, 922, 920, 917, 914, 911, 909, 907, 904, 902, 899, 897, 895, 892, 890, 888, 886, 883, 881, 879, 876, 874, 872, 870, 864, 864, 0}; -static uint32_t lide120_ok[] = { 62496, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2286, 2264, 2248, 2232, 2221, 2211, 2205, 2195, 2190, 2180, 2175, 2170, 2160, 2155, 2150, 2145, 2140, 2135, 2130, 2125, 2121, 2116, 2111, 2106, 2106, 2102, 2097, 2092, 2087, 2087, 2083, 2078, 2074, 2074, 2069, 2064, 2064, 2060, 2055, 2055, 2051, 2051, 2046, 2042, 2042, 2038, 2038, 2033, 2029, 2029, 2024, 2024, 2020, 2010, 2010, 670*2, 0}; -static uint32_t lide110_slow[] = { 62496, 7896, 2632, 0}; -static uint32_t lide120_slow[] = { 62464, 7896, 2632, 0}; -static uint32_t lide110_max[] = { 62496, 31296, 10432, 0}; -static uint32_t lide120_max[] = { 62592, 62592, 41728, 31296, 10432, 0}; -static uint32_t lide210_max[] = { 62496, 31296, 20864, 10432, 0}; - -/* NEXT LPERIOD=PREVIOUS*2-192 */ -/** @brief database of motor profiles - * database of motor profiles, for each exposure deigned for the sensor, gives the reference slope table to use - * for scan. - */ -static Motor_Profile motors[]={ - {MOTOR_CANONLIDE110, 2768, 0, lide210_fast}, - {MOTOR_CANONLIDE110, 5360, 1, lide110_ok}, - {MOTOR_CANONLIDE110, 10528, 1, lide110_slow}, - {MOTOR_CANONLIDE110, 20864, 2, lide110_max}, - {MOTOR_CANONLIDE120, 4608, 0, lide120_fast}, - {MOTOR_CANONLIDE120, 5360, 1, lide120_ok}, - {MOTOR_CANONLIDE120, 10528, 2, lide120_slow}, - {MOTOR_CANONLIDE120, 20864, 2, lide120_max}, - {MOTOR_CANONLIDE210, 2768, 0, lide210_fast}, - {MOTOR_CANONLIDE210, 5360, 1, lide110_ok}, - {MOTOR_CANONLIDE210, 10528, 1, lide110_slow}, - {MOTOR_CANONLIDE210, 20864, 2, lide210_max}, - {0, 0, 0, NULL}, -}; - -static -SANE_Status gl124_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, SetupParams& params); - -static SANE_Status gl124_start_action (Genesys_Device * dev); -static SANE_Status -gl124_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, - SANE_Bool start_motor); -static SANE_Status -gl124_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop); -static SANE_Status -gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home); -static SANE_Status gl124_init(Genesys_Device * dev); -static SANE_Status gl124_send_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, - uint8_t * data, int size); - -static SANE_Status gl124_feed (Genesys_Device * dev, unsigned int steps, int reverse); - -static SANE_Status -gl124_stop_action (Genesys_Device * dev); - -static SANE_Status -gl124_send_slope_table (Genesys_Device * dev, int table_nr, - uint16_t * slope_table, int steps); diff --git a/backend/genesys_gl646.cc b/backend/genesys_gl646.cc deleted file mode 100644 index b2b9f62..0000000 --- a/backend/genesys_gl646.cc +++ /dev/null @@ -1,4911 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2003 Oliver Rauch - Copyright (C) 2003, 2004 Henning Meier-Geinitz - Copyright (C) 2004 Gerhard Jaeger - Copyright (C) 2004-2013 Stéphane Voltz - Copyright (C) 2005-2009 Pierre Willenbrock - Copyright (C) 2007 Luke - Copyright (C) 2011 Alexey Osipov for HP2400 description - and tuning - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#define DEBUG_DECLARE_ONLY - -#include "genesys_gl646.h" - -#include - -/** - * reads value from gpio endpoint - */ -static void gl646_gpio_read(UsbDevice& usb_dev, uint8_t* value) -{ - DBG_HELPER(dbg); - usb_dev.control_msg(REQUEST_TYPE_IN, REQUEST_REGISTER, GPIO_READ, INDEX, 1, value); -} - -/** - * writes the given value to gpio endpoint - */ -static void gl646_gpio_write(UsbDevice& usb_dev, uint8_t value) -{ - DBG_HELPER_ARGS(dbg, "(0x%02x)", value); - usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, GPIO_WRITE, INDEX, 1, &value); -} - -/** - * writes the given value to gpio output enable endpoint - */ -static void gl646_gpio_output_enable(UsbDevice& usb_dev, uint8_t value) -{ - DBG_HELPER_ARGS(dbg, "(0x%02x)", value); - usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, GPIO_OUTPUT_ENABLE, INDEX, 1, &value); -} - -/* Read bulk data (e.g. scanned data) */ -static SANE_Status -gl646_bulk_read_data (Genesys_Device * dev, uint8_t addr, - uint8_t * data, size_t len) -{ - SANE_Status status = sanei_genesys_bulk_read_data(dev, addr, data, len); - if (status != SANE_STATUS_GOOD) { - return status; - } - if (dev->model->is_sheetfed == SANE_TRUE) { - gl646_detect_document_end (dev); - } - return status; -} - -static SANE_Bool -gl646_get_fast_feed_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, 0x02); - if (r && (r->value & REG02_FASTFED)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl646_get_filter_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, 0x04); - if (r && (r->value & REG04_FILTER)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl646_get_lineart_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, 0x04); - if (r && (r->value & REG04_LINEART)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl646_get_bitset_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, 0x04); - if (r && (r->value & REG04_BITSET)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl646_get_gain4_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, 0x06); - if (r && (r->value & REG06_GAIN4)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl646_test_buffer_empty_bit (SANE_Byte val) -{ - if (val & REG41_BUFEMPTY) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl646_test_motor_flag_bit (SANE_Byte val) -{ - if (val & REG41_MOTMFLG) - return SANE_TRUE; - return SANE_FALSE; -} - -/** - * decodes and prints content of status (0x41) register - * @param val value read from reg41 - */ -static void -print_status (uint8_t val) -{ - char msg[80]; - - sprintf (msg, "%s%s%s%s%s%s%s%s", - val & REG41_PWRBIT ? "PWRBIT " : "", - val & REG41_BUFEMPTY ? "BUFEMPTY " : "", - val & REG41_FEEDFSH ? "FEEDFSH " : "", - val & REG41_SCANFSH ? "SCANFSH " : "", - val & REG41_HOMESNR ? "HOMESNR " : "", - val & REG41_LAMPSTS ? "LAMPSTS " : "", - val & REG41_FEBUSY ? "FEBUSY " : "", - val & REG41_MOTMFLG ? "MOTMFLG" : ""); - DBG(DBG_info, "status=%s\n", msg); -} - -/** - * start scanner's motor - * @param dev scanner's device - */ -static SANE_Status -gl646_start_motor (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x01); -} - - -/** - * stop scanner's motor - * @param dev scanner's device - */ -static SANE_Status -gl646_stop_motor (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x00); -} - - -/** - * find the lowest resolution for the sensor in the given mode. - * @param sensor id of the sensor - * @param color true is color mode - * @return the closest resolution for the sensor and mode - */ -static int -get_lowest_resolution(int sensor_id, unsigned channels) -{ - int i, nb; - int dpi; - - i = 0; - dpi = 9600; - nb = sizeof (sensor_master) / sizeof (Sensor_Master); - while (i < nb) - { - /* computes distance and keep mode if it is closer than previous */ - if (sensor_id == sensor_master[i].sensor - && sensor_master[i].channels == channels) - { - if (sensor_master[i].dpi < dpi) - { - dpi = sensor_master[i].dpi; - } - } - i++; - } - DBG(DBG_info, "%s: %d\n", __func__, dpi); - return dpi; -} - -/** - * find the closest match in mode tables for the given resolution and scan mode. - * @param sensor id of the sensor - * @param required required resolution - * @param color true is color mode - * @return the closest resolution for the sensor and mode - */ -static int -get_closest_resolution(int sensor_id, int required, unsigned channels) -{ - int i, nb; - int dist, dpi; - - i = 0; - dpi = 0; - dist = 9600; - nb = sizeof (sensor_master) / sizeof (Sensor_Master); - while (i < nb) - { - /* exit on perfect match */ - if (sensor_id == sensor_master[i].sensor - && sensor_master[i].dpi == required - && sensor_master[i].channels == channels) - { - DBG(DBG_info, "%s: match found for %d\n", __func__, required); - return required; - } - /* computes distance and keep mode if it is closer than previous */ - if (sensor_id == sensor_master[i].sensor - && sensor_master[i].channels == channels) - { - if (abs (sensor_master[i].dpi - required) < dist) - { - dpi = sensor_master[i].dpi; - dist = abs (sensor_master[i].dpi - required); - } - } - i++; - } - DBG(DBG_info, "%s: closest match for %d is %d\n", __func__, required, dpi); - return dpi; -} - -/** - * Computes if sensor will be set up for half ccd pixels for the given - * scan mode. - * @param sensor id of the sensor - * @param required required resolution - * @param color true is color mode - * @return SANE_TRUE if half ccd is used - */ -static SANE_Bool is_half_ccd(int sensor_id, int required, unsigned channels) -{ - int i, nb; - - i = 0; - nb = sizeof (sensor_master) / sizeof (Sensor_Master); - while (i < nb) - { - /* exit on perfect match */ - if (sensor_id == sensor_master[i].sensor - && sensor_master[i].dpi == required - && sensor_master[i].channels == channels) - { - DBG(DBG_io, "%s: match found for %d (half_ccd=%d)\n", __func__, required, - sensor_master[i].half_ccd); - return sensor_master[i].half_ccd; - } - i++; - } - DBG(DBG_info, "%s: failed to find match for %d dpi\n", __func__, required); - return SANE_FALSE; -} - -/** - * Returns the cksel values used by the required scan mode. - * @param sensor id of the sensor - * @param required required resolution - * @param color true is color mode - * @return cksel value for mode - */ -static int get_cksel(int sensor_id, int required, unsigned channels) -{ - int i, nb; - - i = 0; - nb = sizeof (sensor_master) / sizeof (Sensor_Master); - while (i < nb) - { - /* exit on perfect match */ - if (sensor_id == sensor_master[i].sensor - && sensor_master[i].dpi == required - && sensor_master[i].channels == channels) - { - DBG(DBG_io, "%s: match found for %d (cksel=%d)\n", __func__, required, - sensor_master[i].cksel); - return sensor_master[i].cksel; - } - i++; - } - DBG(DBG_error, "%s: failed to find match for %d dpi\n", __func__, required); - /* fail safe fallback */ - return 1; -} - -/** - * Setup register and motor tables for a scan at the - * given resolution and color mode. TODO try to not use any filed from - * the device. - * @param dev pointer to a struct describing the device - * @param regs register set to fill - * @param slope_table1 first motor table to fill - * @param slope_table2 second motor table to fill - * @return SANE_STATUS_GOOD if registers could be set, SANE_STATUS_INVAL if - * conditions can't be met. - * @note No harcoded SENSOR or MOTOR 'names' should be present and - * registers are set from settings tables and flags related - * to the hardware capabilities. - * */ -static SANE_Status -gl646_setup_registers (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * regs, - SetupParams& params, - uint16_t * slope_table1, - uint16_t * slope_table2, - bool xcorrection) -{ - int resolution = params.xres; - uint32_t move = params.starty; - uint32_t linecnt = params.lines; - - uint32_t startx = 0; - /* pixels are allways given at full CCD optical resolution */ - /* use detected left margin and fixed value */ - if (xcorrection == SANE_TRUE) { - if (sensor.CCD_start_xoffset > 0) { - startx = sensor.CCD_start_xoffset; - } else { - startx = sensor.dummy_pixel; - } - } else { - // startx cannot be below dummy pixel value - startx = sensor.dummy_pixel; - } - - /* add x coordinates : expressed in sensor max dpi */ - startx += params.startx; - - /* stagger works with odd start cordinates */ - if (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE) { - startx |= 1; - } - - uint32_t pixels = (params.pixels * sensor.optical_res) / params.xres; - /* special requirement for 400 dpi on 1200 dpi sensors */ - if (params.xres == 400) - { - pixels = (pixels / 6) * 6; - } - /* TODO check for pixel width overflow */ - uint32_t endx = startx + pixels; - - SANE_Status status = SANE_STATUS_GOOD; - int i, nb; - Sensor_Master *sensor_mst = NULL; - Motor_Master *motor = NULL; - Sensor_Settings *settings = NULL; - GenesysRegister *r; - unsigned int used1, used2, vfinal; - unsigned int bpp; /**> bytes per pixel */ - uint32_t z1, z2; - uint16_t ex, sx; - int stagger, words_per_line, max_shift; - size_t requested_buffer_size; - size_t read_buffer_size; - SANE_Bool half_ccd = SANE_FALSE; - SANE_Int xresolution; - int feedl; - - DBG(DBG_proc, "%s: start\n", __func__); - DBG(DBG_info, "%s: startx=%d, endx=%d, linecnt=%d\n", __func__, startx, endx, linecnt); - - /* x resolution is capped by sensor's capability */ - if (resolution > sensor.optical_res) - { - xresolution = sensor.optical_res; - } - else - { - xresolution = resolution; - } - - /* for the given resolution, search for master - * sensor mode setting */ - i = 0; - nb = sizeof (sensor_master) / sizeof (Sensor_Master); - while (i < nb) - { - if (dev->model->ccd_type == sensor_master[i].sensor - && sensor_master[i].dpi == xresolution - && sensor_master[i].channels == params.channels) - { - sensor_mst = &sensor_master[i]; - } - i++; - } - if (sensor_mst == NULL) - { - DBG(DBG_error, "%s: unable to find settings for sensor %d at %d dpi channels=%d\n", __func__, - dev->model->ccd_type, xresolution, params.channels); - return SANE_STATUS_INVAL; - } - - /* for the given resolution, search for master - * motor mode setting */ - i = 0; - nb = sizeof (motor_master) / sizeof (Motor_Master); - while (i < nb) - { - if (dev->model->motor_type == motor_master[i].motor - && motor_master[i].dpi == resolution - && motor_master[i].channels == params.channels) - { - motor = &motor_master[i]; - } - i++; - } - if (motor == NULL) - { - DBG(DBG_error, "%s: unable to find settings for motor %d at %d dpi, color=%d\n", __func__, - dev->model->motor_type, resolution, params.channels); - return SANE_STATUS_INVAL; - } - - /* now we can search for the specific sensor settings */ - i = 0; - nb = sizeof (sensor_settings) / sizeof (Sensor_Settings); - while (i < nb) - { - if (sensor_mst->sensor == sensor_settings[i].sensor - && sensor_mst->cksel == sensor_settings[i].cksel) - { - settings = &sensor_settings[i]; - } - i++; - } - if (settings == NULL) - { - DBG(DBG_error, "%s: unable to find settings for sensor %d with '%d' ccd timing\n", __func__, - sensor_mst->sensor, sensor_mst->cksel); - return SANE_STATUS_INVAL; - } - - /* half_ccd if manual clock programming or dpi is half dpiset */ - half_ccd = sensor_mst->half_ccd; - - /* now apply values from settings to registers */ - if (sensor_mst->regs_0x10_0x15 != NULL) - { - for (i = 0; i < 6; i++) - { - r = sanei_genesys_get_address (regs, 0x10 + i); - r->value = sensor_mst->regs_0x10_0x15[i]; - } - } - else - { - for (i = 0; i < 6; i++) - { - r = sanei_genesys_get_address (regs, 0x10 + i); - r->value = 0; - } - } - - for (i = 0; i < 4; i++) - { - r = sanei_genesys_get_address (regs, 0x08 + i); - if (half_ccd == SANE_TRUE) - r->value = settings->manual_0x08_0x0b[i]; - else - r->value = settings->regs_0x08_0x0b[i]; - } - - for (i = 0; i < 8; i++) - { - r = sanei_genesys_get_address (regs, 0x16 + i); - r->value = settings->regs_0x16_0x1d[i]; - } - - for (i = 0; i < 13; i++) - { - r = sanei_genesys_get_address (regs, 0x52 + i); - r->value = settings->regs_0x52_0x5e[i]; - } - if (half_ccd == SANE_TRUE) - { - for (i = 0; i < 7; i++) - { - r = sanei_genesys_get_address (regs, 0x52 + i); - r->value = settings->manual_0x52_0x58[i]; - } - } - - /* now generate slope tables : we are not using generate_slope_table3 yet */ - sanei_genesys_generate_slope_table (slope_table1, motor->steps1, - motor->steps1 + 1, motor->vend1, - motor->vstart1, motor->vend1, - motor->steps1, motor->g1, &used1, - &vfinal); - sanei_genesys_generate_slope_table (slope_table2, motor->steps2, - motor->steps2 + 1, motor->vend2, - motor->vstart2, motor->vend2, - motor->steps2, motor->g2, &used2, - &vfinal); - - /* R01 */ - /* now setup other registers for final scan (ie with shading enabled) */ - /* watch dog + shading + scan enable */ - regs->find_reg(0x01).value |= REG01_DOGENB | REG01_DVDSET | REG01_SCAN; - if (dev->model->is_cis == SANE_TRUE) - regs->find_reg(0x01).value |= REG01_CISSET; - else - regs->find_reg(0x01).value &= ~REG01_CISSET; - - /* if device has no calibration, don't enable shading correction */ - if (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION) - { - regs->find_reg(0x01).value &= ~REG01_DVDSET; - } - - regs->find_reg(0x01).value &= ~REG01_FASTMOD; - if (motor->fastmod) - regs->find_reg(0x01).value |= REG01_FASTMOD; - - /* R02 */ - /* allow moving when buffer full by default */ - if (dev->model->is_sheetfed == SANE_FALSE) - dev->reg.find_reg(0x02).value &= ~REG02_ACDCDIS; - else - dev->reg.find_reg(0x02).value |= REG02_ACDCDIS; - - /* setup motor power and direction */ - sanei_genesys_set_motor_power(*regs, true); - regs->find_reg(0x02).value &= ~REG02_MTRREV; - - /* fastfed enabled (2 motor slope tables) */ - if (motor->fastfed) - regs->find_reg(0x02).value |= REG02_FASTFED; - else - regs->find_reg(0x02).value &= ~REG02_FASTFED; - - /* step type */ - regs->find_reg(0x02).value &= ~REG02_STEPSEL; - switch (motor->steptype) - { - case FULL_STEP: - break; - case HALF_STEP: - regs->find_reg(0x02).value |= 1; - break; - case QUATER_STEP: - regs->find_reg(0x02).value |= 2; - break; - default: - regs->find_reg(0x02).value |= 3; - break; - } - - /* if sheetfed, no AGOHOME */ - if (dev->model->is_sheetfed == SANE_TRUE) - { - regs->find_reg(0x02).value &= ~REG02_AGOHOME; - } - else - { - regs->find_reg(0x02).value |= REG02_AGOHOME; - } - - /* R03 */ - regs->find_reg(0x03).value &= ~REG03_AVEENB; - /* regs->find_reg(0x03).value |= REG03_AVEENB; */ - regs->find_reg(0x03).value &= ~REG03_LAMPDOG; - - /* select XPA */ - regs->find_reg(0x03).value &= ~REG03_XPASEL; - if (params.flags & SCAN_FLAG_USE_XPA) { - regs->find_reg(0x03).value |= REG03_XPASEL; - } - regs->state.is_xpa_on = params.flags & SCAN_FLAG_USE_XPA; - - /* R04 */ - /* monochrome / color scan */ - switch (params.depth) - { - case 1: - regs->find_reg(0x04).value &= ~REG04_BITSET; - regs->find_reg(0x04).value |= REG04_LINEART; - break; - case 8: - regs->find_reg(0x04).value &= ~(REG04_LINEART | REG04_BITSET); - break; - case 16: - regs->find_reg(0x04).value &= ~REG04_LINEART; - regs->find_reg(0x04).value |= REG04_BITSET; - break; - } - - /* R05 */ - regs->find_reg(0x05).value &= ~REG05_DPIHW; - switch (sensor.optical_res) - { - case 600: - regs->find_reg(0x05).value |= REG05_DPIHW_600; - break; - case 1200: - regs->find_reg(0x05).value |= REG05_DPIHW_1200; - break; - case 2400: - regs->find_reg(0x05).value |= REG05_DPIHW_2400; - break; - default: - regs->find_reg(0x05).value |= REG05_DPIHW; - } - - /* gamma enable for scans */ - if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) - regs->find_reg(0x05).value |= REG05_GMM14BIT; - - regs->find_reg(0x05).value &= ~REG05_GMMENB; - - /* true CIS gray if needed */ - if (dev->model->is_cis == SANE_TRUE && params.channels == 1 - && dev->settings.true_gray) - { - regs->find_reg(0x05).value |= REG05_LEDADD; - } - else - { - regs->find_reg(0x05).value &= ~REG05_LEDADD; - } - - /* cktoggle, ckdelay and cksel at once, cktdelay=2 => half_ccd for md5345 */ - regs->find_reg(0x18).value = sensor_mst->r18; - - /* manual CCD/2 clock programming => half_ccd for hp2300 */ - regs->find_reg(0x1d).value = sensor_mst->r1d; - - /* HP2400 1200dpi mode tuning */ - - if (dev->model->ccd_type == CCD_HP2400) - { - /* reset count of dummy lines to zero */ - regs->find_reg(0x1e).value &= ~REG1E_LINESEL; - if (params.xres >= 1200) - { - /* there must be one dummy line */ - regs->find_reg(0x1e).value |= 1 & REG1E_LINESEL; - - /* GPO12 need to be set to zero */ - regs->find_reg(0x66).value &= ~0x20; - } - else - { - /* set GPO12 back to one */ - regs->find_reg(0x66).value |= 0x20; - } - } - - /* motor steps used */ - regs->find_reg(0x21).value = motor->steps1; - regs->find_reg(0x22).value = motor->fwdbwd; - regs->find_reg(0x23).value = motor->fwdbwd; - regs->find_reg(0x24).value = motor->steps1; - - /* scanned area height must be enlarged by max color shift needed */ - max_shift=sanei_genesys_compute_max_shift(dev,params.channels, params.yres, 0); - - /* we adjust linecnt according to real motor dpi */ - linecnt = (linecnt * motor->ydpi) / params.yres + max_shift; - - /* at QUATER_STEP lines are 'staggered' and need correction */ - stagger = 0; - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - { - /* for HP3670, stagger happens only at >=1200 dpi */ - if ((dev->model->motor_type != MOTOR_HP3670 && dev->model->motor_type != MOTOR_HP2400) - || params.yres >= (unsigned) sensor.optical_res) - { - stagger = (4 * params.yres) / dev->motor.base_ydpi; - } - } - linecnt += stagger; - - DBG(DBG_info, "%s : max_shift=%d, stagger=%d lines\n", __func__, max_shift, stagger); - - /* CIS scanners read one line per color channel - * since gray mode use 'add' we also read 3 channels even not in - * color mode */ - if (dev->model->is_cis == SANE_TRUE) - { - sanei_genesys_set_triple(regs, REG_LINCNT, linecnt * 3); - linecnt *= params.channels; - } - else - { - sanei_genesys_set_triple(regs, REG_LINCNT, linecnt); - } - - /* scanner's x coordinates are expressed in physical DPI but they must be divided by cksel */ - sx = startx / sensor_mst->cksel; - ex = endx / sensor_mst->cksel; - if (half_ccd == SANE_TRUE) - { - sx /= 2; - ex /= 2; - } - sanei_genesys_set_double(regs, REG_STRPIXEL, sx); - sanei_genesys_set_double(regs, REG_ENDPIXEL, ex); - DBG(DBG_info, "%s: startx=%d, endx=%d, half_ccd=%d\n", __func__, sx, ex, half_ccd); - - /* words_per_line must be computed according to the scan's resolution */ - /* in fact, words_per_line _gives_ the actual scan resolution */ - words_per_line = (((endx - startx) * sensor_mst->xdpi) / sensor.optical_res); - bpp=params.depth/8; - if (params.depth == 1) - { - words_per_line = (words_per_line+7)/8 ; - bpp=1; - } - else - { - words_per_line *= bpp; - } - dev->bpl = words_per_line; - words_per_line *= params.channels; - dev->wpl = words_per_line; - - DBG(DBG_info, "%s: wpl=%d\n", __func__, words_per_line); - sanei_genesys_set_triple(regs, REG_MAXWD, words_per_line); - - sanei_genesys_set_double(regs, REG_DPISET, sensor_mst->dpiset); - sanei_genesys_set_double(regs, REG_LPERIOD, sensor_mst->exposure); - - /* move distance must be adjusted to take into account the extra lines - * read to reorder data */ - feedl = move; - if (stagger + max_shift > 0 && feedl != 0) - { - if (feedl > - ((max_shift + stagger) * dev->motor.optical_ydpi) / motor->ydpi) - feedl = - feedl - - ((max_shift + stagger) * dev->motor.optical_ydpi) / motor->ydpi; - } - - /* we assume all scans are done with 2 tables */ - /* - feedl = feed_steps - fast_slope_steps*2 - - (slow_slope_steps >> scan_step_type); */ - /* but head has moved due to shading calibration => dev->scanhead_position_in_steps */ - if (feedl > 0) - { - /* take into account the distance moved during calibration */ - /* feedl -= dev->scanhead_position_in_steps; */ - DBG(DBG_info, "%s: initial move=%d\n", __func__, feedl); - DBG(DBG_info, "%s: scanhead_position_in_steps=%d\n", __func__, - dev->scanhead_position_in_steps); - - /* TODO clean up this when I'll fully understand. - * for now, special casing each motor */ - switch (dev->model->motor_type) - { - case MOTOR_5345: - switch (motor->ydpi) - { - case 200: - feedl -= 70; - break; - case 300: - feedl -= 70; - break; - case 400: - feedl += 130; - break; - case 600: - feedl += 160; - break; - case 1200: - feedl += 160; - break; - case 2400: - feedl += 180; - break; - default: - break; - } - break; - case MOTOR_HP2300: - switch (motor->ydpi) - { - case 75: - feedl -= 180; - break; - case 150: - feedl += 0; - break; - case 300: - feedl += 30; - break; - case 600: - feedl += 35; - break; - case 1200: - feedl += 45; - break; - default: - break; - } - break; - case MOTOR_HP2400: - switch (motor->ydpi) - { - case 150: - feedl += 150; - break; - case 300: - feedl += 220; - break; - case 600: - feedl += 260; - break; - case 1200: - feedl += 280; /* 300 */ - break; - case 50: - feedl += 0; - break; - case 100: - feedl += 100; - break; - default: - break; - } - break; - - /* theorical value */ - default: - if (motor->fastfed) - { - feedl = - feedl - 2 * motor->steps2 - - (motor->steps1 >> motor->steptype); - } - else - { - feedl = feedl - (motor->steps1 >> motor->steptype); - } - break; - } - /* security */ - if (feedl < 0) - feedl = 0; - } - - DBG(DBG_info, "%s: final move=%d\n", __func__, feedl); - sanei_genesys_set_triple(regs, REG_FEEDL, feedl); - - regs->find_reg(0x65).value = motor->mtrpwm; - - sanei_genesys_calculate_zmode2 (regs->find_reg(0x02).value & REG02_FASTFED, - sensor_mst->exposure, - slope_table1, - motor->steps1, - move, motor->fwdbwd, &z1, &z2); - - /* no z1/z2 for sheetfed scanners */ - if (dev->model->is_sheetfed == SANE_TRUE) - { - z1 = 0; - z2 = 0; - } - sanei_genesys_set_double(regs, REG_Z1MOD, z1); - sanei_genesys_set_double(regs, REG_Z2MOD, z2); - regs->find_reg(0x6b).value = motor->steps2; - regs->find_reg(0x6c).value = - (regs->find_reg(0x6c).value & REG6C_TGTIME) | ((z1 >> 13) & 0x38) | ((z2 >> 16) - & 0x07); - - RIE (write_control (dev, sensor, xresolution)); - - /* setup analog frontend */ - RIE (gl646_set_fe(dev, sensor, AFE_SET, xresolution)); - - /* now we're done with registers setup values used by data transfer */ - /* we setup values needed for the data transfer */ - - /* we must use a round number of words_per_line */ - requested_buffer_size = 8 * words_per_line; - read_buffer_size = - 2 * requested_buffer_size + - ((max_shift + stagger) * params.pixels * params.channels * params.depth) / 8; - - dev->read_buffer.clear(); - dev->read_buffer.alloc(read_buffer_size); - - dev->lines_buffer.clear(); - dev->lines_buffer.alloc(read_buffer_size); - - dev->shrink_buffer.clear(); - dev->shrink_buffer.alloc(requested_buffer_size); - - dev->out_buffer.clear(); - dev->out_buffer.alloc(8 * params.pixels * params.channels * bpp); - - /* scan bytes to read */ - dev->read_bytes_left = words_per_line * linecnt; - - DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); - dev->read_active = SANE_TRUE; - - dev->current_setup.params = params; - dev->current_setup.pixels = - ((endx - startx) * sensor_mst->xdpi) / sensor.optical_res; - dev->current_setup.lines = linecnt; - dev->current_setup.depth = params.depth; - dev->current_setup.channels = params.channels; - dev->current_setup.exposure_time = sensor_mst->exposure; - dev->current_setup.xres = sensor_mst->xdpi; - dev->current_setup.yres = motor->ydpi; - dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - /* total_bytes_to_read is the number of byte to send to frontend - * total_bytes_read is the number of bytes sent to frontend - * read_bytes_left is the number of bytes to read from the scanner - */ - dev->total_bytes_read = 0; - if (params.depth == 1) { - dev->total_bytes_to_read = ((params.pixels * params.lines) / 8 + - (((params.pixels * params.lines) % 8) ? 1 : 0)) * params.channels; - } else { - dev->total_bytes_to_read = params.pixels * params.lines * params.channels * bpp; - } - - /* select color filter based on settings */ - regs->find_reg(0x04).value &= ~REG04_FILTER; - if (params.channels == 1) { - switch (params.color_filter) { - case ColorFilter::RED: - regs->find_reg(0x04).value |= 0x04; - break; - case ColorFilter::GREEN: - regs->find_reg(0x04).value |= 0x08; - break; - case ColorFilter::BLUE: - regs->find_reg(0x04).value |= 0x0c; - break; - default: - break; - } - } - - DBG(DBG_proc, "%s: end\n", __func__); - return SANE_STATUS_GOOD; -} - - -/** copy sensor specific settings */ -/* *dev : device infos - *regs : regiters to be set - extended : do extended set up - half_ccd: set up for half ccd resolution - all registers 08-0B, 10-1D, 52-5E are set up. They shouldn't - appear anywhere else but in register init -*/ -static void -gl646_setup_sensor (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * regs) -{ - (void) dev; - DBG(DBG_proc, "%s: start\n", __func__); - - for (const auto& reg_setting : sensor.custom_regs) { - regs->set8(reg_setting.address, reg_setting.value); - } - // FIXME: all other drivers don't set exposure here - sanei_genesys_set_exposure(*regs, sensor.exposure); - - DBG(DBG_proc, "%s: end\n", __func__); -} - -/** Test if the ASIC works - */ -static SANE_Status -gl646_asic_test (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - size_t size, verify_size; - unsigned int i; - - DBG(DBG_proc, "%s: start\n", __func__); - - /* set and read exposure time, compare if it's the same */ - status = sanei_genesys_write_register (dev, 0x38, 0xde); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write register: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_write_register (dev, 0x39, 0xad); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write register: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_read_register (dev, 0x4e, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read register: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (val != 0xde) /* value of register 0x38 */ - { - DBG(DBG_error, "%s: register contains invalid value\n", __func__); - return SANE_STATUS_IO_ERROR; - } - - status = sanei_genesys_read_register (dev, 0x4f, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read register: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (val != 0xad) /* value of register 0x39 */ - { - DBG(DBG_error, "%s: register contains invalid value\n", __func__); - return SANE_STATUS_IO_ERROR; - } - - /* ram test: */ - size = 0x40000; - verify_size = size + 0x80; - /* todo: looks like the read size must be a multiple of 128? - otherwise the read doesn't succeed the second time after the scanner has - been plugged in. Very strange. */ - - std::vector data(size); - std::vector verify_data(verify_size); - - for (i = 0; i < (size - 1); i += 2) - { - data[i] = i / 512; - data[i + 1] = (i / 2) % 256; - } - - status = sanei_genesys_set_buffer_address (dev, 0x0000); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_bulk_write_data(dev, 0x3c, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_set_buffer_address (dev, 0x0000); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = - gl646_bulk_read_data (dev, 0x45, verify_data.data(), verify_size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* i + 2 is needed as the changed address goes into effect only after one - data word is sent. */ - for (i = 0; i < size; i++) - { - if (verify_data[i + 2] != data[i]) - { - DBG(DBG_error, "%s: data verification error\n", __func__); - return SANE_STATUS_IO_ERROR; - } - } - - DBG(DBG_info, "%s: end\n", __func__); - - return SANE_STATUS_GOOD; -} - -/** - * Set all registers to default values after init - * @param dev scannerr's device to set - */ -static void -gl646_init_regs (Genesys_Device * dev) -{ - int addr; - - DBG(DBG_proc, "%s\n", __func__); - - dev->reg.clear(); - - for (addr = 1; addr <= 0x0b; addr++) - dev->reg.init_reg(addr, 0); - for (addr = 0x10; addr <= 0x29; addr++) - dev->reg.init_reg(addr, 0); - for (addr = 0x2c; addr <= 0x39; addr++) - dev->reg.init_reg(addr, 0); - for (addr = 0x3d; addr <= 0x3f; addr++) - dev->reg.init_reg(addr, 0); - for (addr = 0x52; addr <= 0x5e; addr++) - dev->reg.init_reg(addr, 0); - for (addr = 0x60; addr <= 0x6d; addr++) - dev->reg.init_reg(addr, 0); - - dev->reg.find_reg(0x01).value = 0x20 /*0x22 */ ; /* enable shading, CCD, color, 1M */ - dev->reg.find_reg(0x02).value = 0x30 /*0x38 */ ; /* auto home, one-table-move, full step */ - if (dev->model->motor_type == MOTOR_5345) - dev->reg.find_reg(0x02).value |= 0x01; /* half-step */ - switch (dev->model->motor_type) - { - case MOTOR_5345: - dev->reg.find_reg(0x02).value |= 0x01; /* half-step */ - break; - case MOTOR_XP200: - /* for this sheetfed scanner, no AGOHOME, nor backtracking */ - dev->reg.find_reg(0x02).value = 0x50; - break; - default: - break; - } - dev->reg.find_reg(0x03).value = 0x1f /*0x17 */ ; /* lamp on */ - dev->reg.find_reg(0x04).value = 0x13 /*0x03 */ ; /* 8 bits data, 16 bits A/D, color, Wolfson fe *//* todo: according to spec, 0x0 is reserved? */ - switch (dev->model->dac_type) - { - case DAC_AD_XP200: - dev->reg.find_reg(0x04).value = 0x12; - break; - default: - /* Wolfson frontend */ - dev->reg.find_reg(0x04).value = 0x13; - break; - } - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - dev->reg.find_reg(0x05).value = 0x00; /* 12 bits gamma, disable gamma, 24 clocks/pixel */ - switch (sensor.optical_res) - { - case 600: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_600; - break; - case 1200: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_1200; - break; - case 2400: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; - break; - default: - dev->reg.find_reg(0x05).value |= REG05_DPIHW; - break; - } - if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) - dev->reg.find_reg(0x05).value |= REG05_GMM14BIT; - if (dev->model->dac_type == DAC_AD_XP200) - dev->reg.find_reg(0x05).value |= 0x01; /* 12 clocks/pixel */ - - if (dev->model->ccd_type == CCD_HP2300) - dev->reg.find_reg(0x06).value = 0x00; /* PWRBIT off, shading gain=4, normal AFE image capture */ - else - dev->reg.find_reg(0x06).value = 0x18; /* PWRBIT on, shading gain=8, normal AFE image capture */ - - - gl646_setup_sensor(dev, sensor, &dev->reg); - - dev->reg.find_reg(0x1e).value = 0xf0; /* watch-dog time */ - - switch (dev->model->ccd_type) - { - case CCD_HP2300: - dev->reg.find_reg(0x1e).value = 0xf0; - dev->reg.find_reg(0x1f).value = 0x10; - dev->reg.find_reg(0x20).value = 0x20; - break; - case CCD_HP2400: - dev->reg.find_reg(0x1e).value = 0x80; - dev->reg.find_reg(0x1f).value = 0x10; - dev->reg.find_reg(0x20).value = 0x20; - break; - case CCD_HP3670: - dev->reg.find_reg(0x19).value = 0x2a; - dev->reg.find_reg(0x1e).value = 0x80; - dev->reg.find_reg(0x1f).value = 0x10; - dev->reg.find_reg(0x20).value = 0x20; - break; - case CIS_XP200: - dev->reg.find_reg(0x1e).value = 0x10; - dev->reg.find_reg(0x1f).value = 0x01; - dev->reg.find_reg(0x20).value = 0x50; - break; - default: - dev->reg.find_reg(0x1f).value = 0x01; - dev->reg.find_reg(0x20).value = 0x50; - break; - } - - dev->reg.find_reg(0x21).value = 0x08 /*0x20 */ ; /* table one steps number for forward slope curve of the acc/dec */ - dev->reg.find_reg(0x22).value = 0x10 /*0x08 */ ; /* steps number of the forward steps for start/stop */ - dev->reg.find_reg(0x23).value = 0x10 /*0x08 */ ; /* steps number of the backward steps for start/stop */ - dev->reg.find_reg(0x24).value = 0x08 /*0x20 */ ; /* table one steps number backward slope curve of the acc/dec */ - dev->reg.find_reg(0x25).value = 0x00; /* scan line numbers (7000) */ - dev->reg.find_reg(0x26).value = 0x00 /*0x1b */ ; - dev->reg.find_reg(0x27).value = 0xd4 /*0x58 */ ; - dev->reg.find_reg(0x28).value = 0x01; /* PWM duty for lamp control */ - dev->reg.find_reg(0x29).value = 0xff; - - dev->reg.find_reg(0x2c).value = 0x02; /* set resolution (600 DPI) */ - dev->reg.find_reg(0x2d).value = 0x58; - dev->reg.find_reg(0x2e).value = 0x78; /* set black&white threshold high level */ - dev->reg.find_reg(0x2f).value = 0x7f; /* set black&white threshold low level */ - - dev->reg.find_reg(0x30).value = 0x00; /* begin pixel position (16) */ - dev->reg.find_reg(0x31).value = sensor.dummy_pixel /*0x10 */ ; /* TGW + 2*TG_SHLD + x */ - dev->reg.find_reg(0x32).value = 0x2a /*0x15 */ ; /* end pixel position (5390) */ - dev->reg.find_reg(0x33).value = 0xf8 /*0x0e */ ; /* TGW + 2*TG_SHLD + y */ - dev->reg.find_reg(0x34).value = sensor.dummy_pixel; - dev->reg.find_reg(0x35).value = 0x01 /*0x00 */ ; /* set maximum word size per line, for buffer full control (10800) */ - dev->reg.find_reg(0x36).value = 0x00 /*0x2a */ ; - dev->reg.find_reg(0x37).value = 0x00 /*0x30 */ ; - dev->reg.find_reg(0x38).value = 0x2a; // line period (exposure time = 11000 pixels) */ - dev->reg.find_reg(0x39).value = 0xf8; - dev->reg.find_reg(0x3d).value = 0x00; /* set feed steps number of motor move */ - dev->reg.find_reg(0x3e).value = 0x00; - dev->reg.find_reg(0x3f).value = 0x01 /*0x00 */ ; - - dev->reg.find_reg(0x60).value = 0x00; /* Z1MOD, 60h:61h:(6D b5:b3), remainder for start/stop */ - dev->reg.find_reg(0x61).value = 0x00; /* (21h+22h)/LPeriod */ - dev->reg.find_reg(0x62).value = 0x00; /* Z2MODE, 62h:63h:(6D b2:b0), remainder for start scan */ - dev->reg.find_reg(0x63).value = 0x00; /* (3Dh+3Eh+3Fh)/LPeriod for one-table mode,(21h+1Fh)/LPeriod */ - dev->reg.find_reg(0x64).value = 0x00; /* motor PWM frequency */ - dev->reg.find_reg(0x65).value = 0x00; /* PWM duty cycle for table one motor phase (63 = max) */ - if (dev->model->motor_type == MOTOR_5345) - dev->reg.find_reg(0x65).value = 0x02; /* PWM duty cycle for table one motor phase (63 = max) */ - dev->reg.find_reg(0x66).value = dev->gpo.value[0]; - dev->reg.find_reg(0x67).value = dev->gpo.value[1]; - dev->reg.find_reg(0x68).value = dev->gpo.enable[0]; - dev->reg.find_reg(0x69).value = dev->gpo.enable[1]; - - switch (dev->model->motor_type) - { - case MOTOR_HP2300: - case MOTOR_HP2400: - dev->reg.find_reg(0x6a).value = 0x7f; /* table two steps number for acc/dec */ - dev->reg.find_reg(0x6b).value = 0x78; /* table two steps number for acc/dec */ - dev->reg.find_reg(0x6d).value = 0x7f; - break; - case MOTOR_5345: - dev->reg.find_reg(0x6a).value = 0x42; /* table two fast moving step type, PWM duty for table two */ - dev->reg.find_reg(0x6b).value = 0xff; /* table two steps number for acc/dec */ - dev->reg.find_reg(0x6d).value = 0x41; /* select deceleration steps whenever go home (0), accel/decel stop time (31 * LPeriod) */ - break; - case MOTOR_XP200: - dev->reg.find_reg(0x6a).value = 0x7f; /* table two fast moving step type, PWM duty for table two */ - dev->reg.find_reg(0x6b).value = 0x08; /* table two steps number for acc/dec */ - dev->reg.find_reg(0x6d).value = 0x01; /* select deceleration steps whenever go home (0), accel/decel stop time (31 * LPeriod) */ - break; - case MOTOR_HP3670: - dev->reg.find_reg(0x6a).value = 0x41; /* table two steps number for acc/dec */ - dev->reg.find_reg(0x6b).value = 0xc8; /* table two steps number for acc/dec */ - dev->reg.find_reg(0x6d).value = 0x7f; - break; - default: - dev->reg.find_reg(0x6a).value = 0x40; /* table two fast moving step type, PWM duty for table two */ - dev->reg.find_reg(0x6b).value = 0xff; /* table two steps number for acc/dec */ - dev->reg.find_reg(0x6d).value = 0x01; /* select deceleration steps whenever go home (0), accel/decel stop time (31 * LPeriod) */ - break; - } - dev->reg.find_reg(0x6c).value = 0x00; /* peroid times for LPeriod, expR,expG,expB, Z1MODE, Z2MODE (one period time) */ -} - - -/* Send slope table for motor movement - slope_table in machine byte order -*/ -static SANE_Status -gl646_send_slope_table (Genesys_Device * dev, int table_nr, - uint16_t * slope_table, int steps) -{ - int dpihw; - int start_address; - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s (table_nr = %d, steps = %d)=%d .. %d\n", __func__, table_nr, steps, - slope_table[0], slope_table[steps - 1]); - - dpihw = dev->reg.find_reg(0x05).value >> 6; - - if (dpihw == 0) /* 600 dpi */ - start_address = 0x08000; - else if (dpihw == 1) /* 1200 dpi */ - start_address = 0x10000; - else if (dpihw == 2) /* 2400 dpi */ - start_address = 0x1f800; - else /* reserved */ - return SANE_STATUS_INVAL; - - std::vector table(steps * 2); - for (int i = 0; i < steps; i++) - { - table[i * 2] = slope_table[i] & 0xff; - table[i * 2 + 1] = slope_table[i] >> 8; - } - - status = - sanei_genesys_set_buffer_address (dev, start_address + table_nr * 0x100); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_bulk_write_data(dev, 0x3c, table.data(), steps * 2); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send slope table: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_proc, "%s: end\n", __func__); - return status; -} - -/* Set values of Analog Device type frontend */ -static SANE_Status -gl646_set_ad_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - - DBG(DBG_proc, "%s(): start\n", __func__); - if (set == AFE_INIT) - { - DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); - - dev->frontend = dev->frontend_initial; - - /* write them to analog frontend */ - status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write reg0: %s\n", __func__, sane_strstatus(status)); - return status; - } - status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write reg1: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - if (set == AFE_SET) - { - for (i = 0; i < 3; i++) - { - status = sanei_genesys_fe_write_data(dev, 0x02 + i, dev->frontend.get_gain(i)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write gain %d: %s\n", __func__, i, - sane_strstatus(status)); - return status; - } - } - for (i = 0; i < 3; i++) - { - status = sanei_genesys_fe_write_data(dev, 0x05 + i, dev->frontend.get_offset(i)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write offset %d: %s\n", __func__, i, - sane_strstatus(status)); - return status; - } - } - } - /* - if (set == AFE_POWER_SAVE) - { - status = - sanei_genesys_fe_write_data (dev, 0x00, dev->frontend.reg[0] | 0x04); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write reg0: %s\n", __func__, sane_strstatus(status)); - return status; - } - } */ - DBG(DBG_proc, "%s(): end\n", __func__); - - return status; -} - -/** set up analog frontend - * set up analog frontend - * @param dev device to set up - * @param set action from AFE_SET, AFE_INIT and AFE_POWERSAVE - * @param dpi resolution of the scan since it affects settings - * @return SANE_STATUS_GOOD if evrithing OK - */ -static SANE_Status -gl646_wm_hp3670(Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set, int dpi) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - - DBGSTART; - switch (set) - { - case AFE_INIT: - status = sanei_genesys_fe_write_data (dev, 0x04, 0x80); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: reset failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - sanei_genesys_sleep_ms(200); - RIE (sanei_genesys_write_register (dev, 0x50, 0x00)); - dev->frontend = dev->frontend_initial; - status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg1 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - status = sanei_genesys_fe_write_data(dev, 0x02, dev->frontend.regs.get_value(0x02)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg2 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - gl646_gpio_output_enable(dev->usb_dev, 0x07); - break; - case AFE_POWER_SAVE: - status = sanei_genesys_fe_write_data (dev, 0x01, 0x06); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg1 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - status = sanei_genesys_fe_write_data (dev, 0x06, 0x0f); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg6 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - return status; - break; - default: /* AFE_SET */ - /* mode setup */ - i = dev->frontend.regs.get_value(0x03); - if (dpi > sensor.optical_res / 2) - { - /* fe_reg_0x03 must be 0x12 for 1200 dpi in DAC_WOLFSON_HP3670. - * DAC_WOLFSON_HP2400 in 1200 dpi mode works well with - * fe_reg_0x03 set to 0x32 or 0x12 but not to 0x02 */ - i = 0x12; - } - status = sanei_genesys_fe_write_data (dev, 0x03, i); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg3 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - /* offset and sign (or msb/lsb ?) */ - for (i = 0; i < 3; i++) - { - status = - sanei_genesys_fe_write_data(dev, 0x20 + i, dev->frontend.get_offset(i)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing offset%d failed: %s\n", __func__, i, - sane_strstatus (status)); - return status; - } - status = sanei_genesys_fe_write_data(dev, 0x24 + i, - dev->frontend.regs.get_value(0x24 + i)); /* MSB/LSB ? */ - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing sign%d failed: %s\n", __func__, i, - sane_strstatus(status)); - return status; - } - } - - /* gain */ - for (i = 0; i < 3; i++) - { - status = - sanei_genesys_fe_write_data(dev, 0x28 + i, dev->frontend.get_gain(i)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing gain%d failed: %s\n", __func__, i, - sane_strstatus(status)); - return status; - } - } - } - - DBGCOMPLETED; - return status; -} - -/** Set values of analog frontend - * @param dev device to set - * @param set action to execute - * @param dpi dpi to setup the AFE - * @return error or SANE_STATUS_GOOD */ -static SANE_Status -gl646_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set, int dpi) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - uint8_t val; - - DBG(DBG_proc, "%s (%s,%d)\n", __func__, set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == - AFE_POWER_SAVE ? "powersave" : "huh?", dpi); - - /* Analog Device type frontend */ - if ((dev->reg.find_reg(0x04).value & REG04_FESET) == 0x02) - return gl646_set_ad_fe (dev, set); - - /* Wolfson type frontend */ - if ((dev->reg.find_reg(0x04).value & REG04_FESET) != 0x03) - { - DBG(DBG_proc, "%s(): unsupported frontend type %d\n", __func__, - dev->reg.find_reg(0x04).value & REG04_FESET); - return SANE_STATUS_UNSUPPORTED; - } - - /* per frontend function to keep code clean */ - switch (dev->model->dac_type) - { - case DAC_WOLFSON_HP3670: - case DAC_WOLFSON_HP2400: - return gl646_wm_hp3670(dev, sensor, set, dpi); - break; - default: - DBG(DBG_proc, "%s(): using old method\n", __func__); - break; - } - - /* initialize analog frontend */ - if (set == AFE_INIT) - { - DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); - dev->frontend = dev->frontend_initial; - - /* reset only done on init */ - status = sanei_genesys_fe_write_data (dev, 0x04, 0x80); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: init fe failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* enable GPIO for some models */ - if (dev->model->ccd_type == CCD_HP2300) - { - val = 0x07; - gl646_gpio_output_enable(dev->usb_dev, val); - } - return status; - } - - /* set fontend to power saving mode */ - if (set == AFE_POWER_SAVE) - { - status = sanei_genesys_fe_write_data (dev, 0x01, 0x02); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing data failed: %s\n", __func__, sane_strstatus(status)); - } - return status; - } - - /* here starts AFE_SET */ - /* TODO : base this test on cfg reg3 or a CCD family flag to be created */ - /* if (dev->model->ccd_type != CCD_HP2300 - && dev->model->ccd_type != CCD_HP3670 - && dev->model->ccd_type != CCD_HP2400) */ - { - status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg0 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - status = sanei_genesys_fe_write_data(dev, 0x02, dev->frontend.regs.get_value(0x02)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg2 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - /* start with reg3 */ - status = sanei_genesys_fe_write_data(dev, 0x03, dev->frontend.regs.get_value(0x03)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg3 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - switch (dev->model->ccd_type) - { - default: - for (i = 0; i < 3; i++) - { - status = - sanei_genesys_fe_write_data(dev, 0x24 + i, - dev->frontend.regs.get_value(0x24 + i)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing sign[%d] failed: %s\n", __func__, i, - sane_strstatus(status)); - return status; - } - - status = - sanei_genesys_fe_write_data(dev, 0x28 + i, dev->frontend.get_gain(i)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing gain[%d] failed: %s\n", __func__, i, - sane_strstatus(status)); - return status; - } - - status = - sanei_genesys_fe_write_data(dev, 0x20 + i, dev->frontend.get_offset(i)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing offset[%d] failed: %s\n", __func__, i, - sane_strstatus(status)); - return status; - } - } - break; - /* just can't have it to work .... - case CCD_HP2300: - case CCD_HP2400: - case CCD_HP3670: - - status = - sanei_genesys_fe_write_data(dev, 0x23, dev->frontend.get_offset(1)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing offset[1] failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - status = sanei_genesys_fe_write_data(dev, 0x28, dev->frontend.get_gain(1)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing gain[1] failed: %s\n", __func__, sane_strstatus (status)); - return status; - } - break; */ - } - - /* end with reg1 */ - status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg1 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - - DBG(DBG_proc, "%s: end\n", __func__); - - return SANE_STATUS_GOOD; -} - -/** Set values of analog frontend - * this this the public interface, the gl646 as to use one more - * parameter to work effectively, hence the redirection - * @param dev device to set - * @param set action to execute - * @return error or SANE_STATUS_GOOD */ -static SANE_Status -gl646_public_set_fe (Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set) -{ - return gl646_set_fe(dev, sensor, set, dev->settings.yres); -} - -/** - * enters or leaves power saving mode - * limited to AFE for now. - * @param dev scanner's device - * @param enable SANE_TRUE to enable power saving, SANE_FALSE to leave it - * @return allways SANE_STATUS_GOOD - */ -static -SANE_Status -gl646_save_power (Genesys_Device * dev, SANE_Bool enable) -{ - - DBGSTART; - DBG(DBG_info, "%s: enable = %d\n", __func__, enable); - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - if (enable) - { - /* gl646_set_fe(dev, sensor, AFE_POWER_SAVE); */ - } - else - { - gl646_set_fe(dev, sensor, AFE_INIT, 0); - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl646_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set local_reg(Genesys_Register_Set::SEQUENTIAL); - int rate, exposure_time, tgtime, time; - - DBG(DBG_proc, "%s (delay = %d)\n", __func__, delay); - - local_reg.init_reg(0x01, dev->reg.get8(0x01)); // disable fastmode - local_reg.init_reg(0x03, dev->reg.get8(0x03)); // Lamp power control - local_reg.init_reg(0x05, dev->reg.get8(0x05) & ~REG05_BASESEL); // 24 clocks/pixel - local_reg.init_reg(0x38, 0x00); // line period low - local_reg.init_reg(0x39, 0x00); //line period high - local_reg.init_reg(0x6c, 0x00); // period times for LPeriod, expR,expG,expB, Z1MODE, Z2MODE - - if (!delay) - local_reg.find_reg(0x03).value &= 0xf0; /* disable lampdog and set lamptime = 0 */ - else if (delay < 20) - local_reg.find_reg(0x03).value = (local_reg.get8(0x03) & 0xf0) | 0x09; /* enable lampdog and set lamptime = 1 */ - else - local_reg.find_reg(0x03).value = (local_reg.get8(0x03) & 0xf0) | 0x0f; /* enable lampdog and set lamptime = 7 */ - - time = delay * 1000 * 60; /* -> msec */ - exposure_time = - (uint32_t) (time * 32000.0 / - (24.0 * 64.0 * (local_reg.get8(0x03) & REG03_LAMPTIM) * - 1024.0) + 0.5); - /* 32000 = system clock, 24 = clocks per pixel */ - rate = (exposure_time + 65536) / 65536; - if (rate > 4) - { - rate = 8; - tgtime = 3; - } - else if (rate > 2) - { - rate = 4; - tgtime = 2; - } - else if (rate > 1) - { - rate = 2; - tgtime = 1; - } - else - { - rate = 1; - tgtime = 0; - } - - local_reg.find_reg(0x6c).value |= tgtime << 6; - exposure_time /= rate; - - if (exposure_time > 65535) - exposure_time = 65535; - - local_reg.find_reg(0x38).value = exposure_time / 256; - local_reg.find_reg(0x39).value = exposure_time & 255; - - status = sanei_genesys_bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) { - DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_proc, "%s: end\n", __func__); - return status; -} - - -/** - * loads document into scanner - * currently only used by XP200 - * bit2 (0x04) of gpio is paper event (document in/out) on XP200 - * HOMESNR is set if no document in front of sensor, the sequence of events is - * paper event -> document is in the sheet feeder - * HOMESNR becomes 0 -> document reach sensor - * HOMESNR becomes 1 ->document left sensor - * paper event -> document is out - */ -static SANE_Status -gl646_load_document (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - - // FIXME: sequential not really needed in this case - Genesys_Register_Set regs(Genesys_Register_Set::SEQUENTIAL); - unsigned int used, vfinal, count; - uint16_t slope_table[255]; - uint8_t val; - - DBG(DBG_proc, "%s: start\n", __func__); - - /* no need to load document is flatbed scanner */ - if (dev->model->is_sheetfed == SANE_FALSE) - { - DBG(DBG_proc, "%s: nothing to load\n", __func__); - DBG(DBG_proc, "%s: end\n", __func__); - return SANE_STATUS_GOOD; - } - - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* HOMSNR is set if a document is inserted */ - if ((val & REG41_HOMESNR)) - { - /* if no document, waits for a paper event to start loading */ - /* with a 60 seconde minutes timeout */ - count = 0; - do - { - gl646_gpio_read(dev->usb_dev, &val); - - DBG(DBG_info, "%s: GPIO=0x%02x\n", __func__, val); - if ((val & 0x04) != 0x04) - { - DBG(DBG_warn, "%s: no paper detected\n", __func__); - } - sanei_genesys_sleep_ms(200); - count++; - } - while (((val & 0x04) != 0x04) && (count < 300)); /* 1 min time out */ - if (count == 300) - { - DBG(DBG_error, "%s: timeout waiting for document\n", __func__); - return SANE_STATUS_NO_DOCS; - } - } - - /* set up to fast move before scan then move until document is detected */ - regs.init_reg(0x01, 0x90); - - /* AGOME, 2 slopes motor moving */ - regs.init_reg(0x02, 0x79); - - /* motor feeding steps to 0 */ - regs.init_reg(0x3d, 0); - regs.init_reg(0x3e, 0); - regs.init_reg(0x3f, 0); - - /* 50 fast moving steps */ - regs.init_reg(0x6b, 50); - - /* set GPO */ - regs.init_reg(0x66, 0x30); - - /* stesp NO */ - regs.init_reg(0x21, 4); - regs.init_reg(0x22, 1); - regs.init_reg(0x23, 1); - regs.init_reg(0x24, 4); - - /* generate slope table 2 */ - sanei_genesys_generate_slope_table (slope_table, - 50, - 51, - 2400, - 6000, 2400, 50, 0.25, &used, &vfinal); -/* document loading: - * send regs - * start motor - * wait e1 status to become e0 - */ - status = gl646_send_slope_table (dev, 1, slope_table, 50); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send slope table 1: %s\n", __func__, sane_strstatus(status)); - return status; - } - status = sanei_genesys_bulk_write_register(dev, regs); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl646_start_motor (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - - count = 0; - do - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus(status)); - return status; - } - sanei_genesys_sleep_ms(200); - count++; - } - while ((val & REG41_MOTMFLG) && (count < 300)); - if (count == 300) - { - DBG(DBG_error, "%s: can't load document\n", __func__); - return SANE_STATUS_JAMMED; - } - - /* when loading OK, document is here */ - dev->document = SANE_TRUE; - - /* set up to idle */ - regs.set8(0x02, 0x71); - regs.set8(0x3f, 1); - regs.set8(0x6b, 8); - status = sanei_genesys_bulk_write_register(dev, regs); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write idle registers: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - DBG(DBG_proc, "%s: end\n", __func__); - - return status; -} - -/** - * detects end of document and adjust current scan - * to take it into account - * used by sheetfed scanners - */ -static SANE_Status -gl646_detect_document_end (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val, gpio; - unsigned int bytes_left, lines; - - DBG(DBG_proc, "%s: start\n", __func__); - - /* test for document presence */ - RIE (sanei_genesys_get_status (dev, &val)); - if (DBG_LEVEL > DBG_info) - { - print_status (val); - } - gl646_gpio_read(dev->usb_dev, &gpio); - DBG(DBG_info, "%s: GPIO=0x%02x\n", __func__, gpio); - - /* detect document event. There one event when the document go in, - * then another when it leaves */ - if ((dev->document == SANE_TRUE) && (gpio & 0x04) - && (dev->total_bytes_read > 0)) - { - DBG(DBG_info, "%s: no more document\n", __func__); - dev->document = SANE_FALSE; - - /* adjust number of bytes to read: - * total_bytes_to_read is the number of byte to send to frontend - * total_bytes_read is the number of bytes sent to frontend - * read_bytes_left is the number of bytes to read from the scanner - */ - DBG(DBG_io, "%s: total_bytes_to_read=%lu\n", __func__, (u_long) dev->total_bytes_to_read); - DBG(DBG_io, "%s: total_bytes_read =%lu\n", __func__, (u_long) dev->total_bytes_read); - DBG(DBG_io, "%s: read_bytes_left =%lu\n", __func__, (u_long) dev->read_bytes_left); - - /* amount of data available from scanner is what to scan */ - status = sanei_genesys_read_valid_words (dev, &bytes_left); - - /* we add the number of lines needed to read the last part of the document in */ - lines = - (SANE_UNFIX (dev->model->y_offset) * dev->current_setup.yres) / - MM_PER_INCH; - DBG(DBG_io, "%s: adding %d line to flush\n", __func__, lines); - bytes_left += lines * dev->wpl; - if (dev->current_setup.depth > 8) - { - bytes_left = 2 * bytes_left; - } - if (dev->current_setup.channels > 1) - { - bytes_left = 3 * bytes_left; - } - if (bytes_left < dev->read_bytes_left) - { - dev->total_bytes_to_read = dev->total_bytes_read + bytes_left; - dev->read_bytes_left = bytes_left; - } - DBG(DBG_io, "%s: total_bytes_to_read=%lu\n", __func__, (u_long) dev->total_bytes_to_read); - DBG(DBG_io, "%s: total_bytes_read =%lu\n", __func__, (u_long) dev->total_bytes_read); - DBG(DBG_io, "%s: read_bytes_left =%lu\n", __func__, (u_long) dev->read_bytes_left); - } - DBG(DBG_proc, "%s: end\n", __func__); - - return status; -} - -/** - * eject document from the feeder - * currently only used by XP200 - * TODO we currently rely on AGOHOME not being set for sheetfed scanners, - * maybe check this flag in eject to let the document being eject automaticaly - */ -static SANE_Status -gl646_eject_document (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - - // FIXME: SEQUENTIAL not really needed in this case - Genesys_Register_Set regs((Genesys_Register_Set::SEQUENTIAL)); - unsigned int used, vfinal, count; - uint16_t slope_table[255]; - uint8_t gpio, state; - - DBG(DBG_proc, "%s: start\n", __func__); - - /* at the end there will be noe more document */ - dev->document = SANE_FALSE; - - // first check for document event - gl646_gpio_read(dev->usb_dev, &gpio); - - DBG(DBG_info, "%s: GPIO=0x%02x\n", __func__, gpio); - - /* test status : paper event + HOMESNR -> no more doc ? */ - status = sanei_genesys_get_status (dev, &state); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus(status)); - return status; - } - DBG(DBG_info, "%s: state=0x%02x\n", __func__, state); - if (DBG_LEVEL > DBG_info) - { - print_status (state); - } - - /* HOMSNR=0 if no document inserted */ - if ((state & REG41_HOMESNR) != 0) - { - dev->document = SANE_FALSE; - DBG(DBG_info, "%s: no more document to eject\n", __func__); - DBG(DBG_proc, "%s: end\n", __func__); - return status; - } - - /* there is a document inserted, eject it */ - status = sanei_genesys_write_register (dev, 0x01, 0xb0); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write register: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* wait for motor to stop */ - do - { - sanei_genesys_sleep_ms(200); - status = sanei_genesys_get_status (dev, &state); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - while (state & REG41_MOTMFLG); - - /* set up to fast move before scan then move until document is detected */ - regs.init_reg(0x01, 0xb0); - - /* AGOME, 2 slopes motor moving , eject 'backward' */ - regs.init_reg(0x02, 0x5d); - - /* motor feeding steps to 119880 */ - regs.init_reg(0x3d, 1); - regs.init_reg(0x3e, 0xd4); - regs.init_reg(0x3f, 0x48); - - /* 60 fast moving steps */ - regs.init_reg(0x6b, 60); - - /* set GPO */ - regs.init_reg(0x66, 0x30); - - /* stesp NO */ - regs.init_reg(0x21, 4); - regs.init_reg(0x22, 1); - regs.init_reg(0x23, 1); - regs.init_reg(0x24, 4); - - /* generate slope table 2 */ - sanei_genesys_generate_slope_table (slope_table, - 60, - 61, - 1600, - 10000, 1600, 60, 0.25, &used, &vfinal); -/* document eject: - * send regs - * start motor - * wait c1 status to become c8 : HOMESNR and ~MOTFLAG - */ - status = gl646_send_slope_table (dev, 1, slope_table, 60); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send slope table 1: %s\n", __func__, sane_strstatus(status)); - return status; - } - status = sanei_genesys_bulk_write_register(dev, regs); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl646_start_motor (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus (status)); - return SANE_STATUS_IO_ERROR; - } - - /* loop until paper sensor tells paper is out, and till motor is running */ - /* use a 30 timeout */ - count = 0; - do - { - status = sanei_genesys_get_status (dev, &state); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read status: %s\n", __func__, sane_strstatus(status)); - return status; - } - print_status (state); - sanei_genesys_sleep_ms(200); - count++; - } - while (((state & REG41_HOMESNR) == 0) && (count < 150)); - - // read GPIO on exit - gl646_gpio_read(dev->usb_dev, &gpio); - - DBG(DBG_info, "%s: GPIO=0x%02x\n", __func__, gpio); - - DBG(DBG_proc, "%s: end\n", __func__); - return status; -} - -/* Send the low-level scan command */ -static SANE_Status -gl646_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, - SANE_Bool start_motor) -{ - (void) sensor; - SANE_Status status = SANE_STATUS_GOOD; - // FIXME: SEQUENTIAL not really needed in this case - Genesys_Register_Set local_reg(Genesys_Register_Set::SEQUENTIAL); - - DBG(DBG_proc, "%s\n", __func__); - - local_reg.init_reg(0x03, sanei_genesys_read_reg_from_set(reg, 0x03)); - local_reg.init_reg(0x01, sanei_genesys_read_reg_from_set(reg, 0x01) | REG01_SCAN); /* set scan bit */ - - if (start_motor) { - local_reg.init_reg(0x0f, 0x01); - } else { - local_reg.init_reg(0x0f, 0x00); // do not start motor yet - } - - status = sanei_genesys_bulk_write_register(dev, local_reg); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_proc, "%s: end\n", __func__); - - return status; -} - - -/* Send the stop scan command */ -static SANE_Status -end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop, SANE_Bool eject) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i = 0; - uint8_t val, scanfsh = 0; - - DBG(DBG_proc, "%s (check_stop = %d, eject = %d)\n", __func__, check_stop, eject); - - /* we need to compute scanfsh before cancelling scan */ - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read register: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (val & REG41_SCANFSH) - scanfsh = 1; - if (DBG_LEVEL > DBG_io2) - { - print_status (val); - } - } - - /* ends scan */ - val = sanei_genesys_read_reg_from_set (reg, 0x01); - val &= ~REG01_SCAN; - sanei_genesys_set_reg_from_set (reg, 0x01, val); - status = sanei_genesys_write_register (dev, 0x01, val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write register 01: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* for sheetfed scanners, we may have to eject document */ - if (dev->model->is_sheetfed == SANE_TRUE) - { - if (eject == SANE_TRUE && dev->document == SANE_TRUE) - { - status = gl646_eject_document (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to eject document\n", __func__); - return status; - } - } - if (check_stop) - { - for (i = 0; i < 30; i++) /* do not wait longer than wait 3 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read register: %s\n", __func__, - sane_strstatus(status)); - return status; - } - if (val & REG41_SCANFSH) - scanfsh = 1; - if (DBG_LEVEL > DBG_io2) - { - print_status (val); - } - - if (!(val & REG41_MOTMFLG) && (val & REG41_FEEDFSH) && scanfsh) - { - DBG(DBG_proc, "%s: scanfeed finished\n", __func__); - break; /* leave for loop */ - } - - sanei_genesys_sleep_ms(100); - } - } - } - else /* flat bed scanners */ - { - if (check_stop) - { - for (i = 0; i < 300; i++) /* do not wait longer than wait 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read register: %s\n", __func__, - sane_strstatus(status)); - return status; - } - if (val & REG41_SCANFSH) - scanfsh = 1; - if (DBG_LEVEL > DBG_io) - { - print_status (val); - } - - if (!(val & REG41_MOTMFLG) && (val & REG41_FEEDFSH) && scanfsh) - { - DBG(DBG_proc, "%s: scanfeed finished\n", __func__); - break; /* leave while loop */ - } - - if ((!(val & REG41_MOTMFLG)) && (val & REG41_HOMESNR)) - { - DBG(DBG_proc, "%s: head at home\n", __func__); - break; /* leave while loop */ - } - - sanei_genesys_sleep_ms(100); - } - } - } - - DBG(DBG_proc, "%s: end (i=%u)\n", __func__, i); - - return status; -} - -/* Send the stop scan command */ -static SANE_Status -gl646_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop) -{ - return end_scan (dev, reg, check_stop, SANE_FALSE); -} - -/** - * parks head - * @param dev scanner's device - * @param wait_until_home true if the function waits until head parked - */ -static -SANE_Status -gl646_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Settings settings; - uint8_t val; - int i; - int loop = 0; - - DBG(DBG_proc, "%s: start , wait_until_home = %d\n", __func__, wait_until_home); - - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (DBG_LEVEL > DBG_io) - { - print_status (val); - } - - dev->scanhead_position_in_steps = 0; - - if (val & REG41_HOMESNR) /* is sensor at home? */ - { - DBG(DBG_info, "%s: end since already at home\n", __func__); - return SANE_STATUS_GOOD; - } - - /* stop motor if needed */ - if (val & REG41_MOTMFLG) - { - status = gl646_stop_motor (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop motor: %s\n", __func__, sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - sanei_genesys_sleep_ms(200); - } - - /* when scanhead is moving then wait until scanhead stops or timeout */ - DBG(DBG_info, "%s: ensuring that motor is off\n", __func__); - val = REG41_MOTMFLG; - for (i = 400; i > 0 && (val & REG41_MOTMFLG); i--) /* do not wait longer than 40 seconds, count down to get i = 0 when busy */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to read home sensor & motor status: %s\n", __func__, - sane_strstatus(status)); - return status; - } - if (((val & (REG41_MOTMFLG | REG41_HOMESNR)) == REG41_HOMESNR)) /* at home and motor is off */ - { - DBG(DBG_info, "%s: already at home and not moving\n", __func__); - return SANE_STATUS_GOOD; - } - sanei_genesys_sleep_ms(100); - } - - if (!i) /* the loop counted down to 0, scanner still is busy */ - { - DBG(DBG_error, "%s: motor is still on: device busy\n", __func__); - return SANE_STATUS_DEVICE_BUSY; - } - - /* setup for a backward scan of 65535 steps, with no actual data reading */ - settings.scan_method = ScanMethod::FLATBED; - settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - settings.xres = get_lowest_resolution(dev->model->ccd_type, 1); - settings.yres = settings.xres; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = 600; - settings.lines = 1; - settings.depth = 8; - settings.color_filter = ColorFilter::RED; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.dynamic_lineart = SANE_FALSE; - - const auto& sensor = sanei_genesys_find_sensor(dev, settings.xres); - - status = setup_for_scan(dev, sensor, &dev->reg, settings, SANE_TRUE, SANE_TRUE, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup for scan: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* backward , no actual data scanned TODO more setup flags to avoid this register manipulations ? */ - dev->reg.find_reg(0x02).value |= REG02_MTRREV; - dev->reg.find_reg(0x01).value &= ~REG01_SCAN; - sanei_genesys_set_triple(&dev->reg, REG_FEEDL, 65535); - - /* sets frontend */ - status = gl646_set_fe(dev, sensor, AFE_SET, settings.xres); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* write scan registers */ - try { - status = sanei_genesys_bulk_write_register(dev, dev->reg); - } catch (...) { - DBG(DBG_error, "%s: failed to bulk write registers\n", __func__); - } - if (status != SANE_STATUS_GOOD) - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - - /* registers are restored to an iddl state, give up if no head to park */ - if (dev->model->is_sheetfed == SANE_TRUE) - { - DBG(DBG_proc, "%s: end \n", __func__); - return SANE_STATUS_GOOD; - } - - /* starts scan */ - status = gl646_begin_scan(dev, sensor, &dev->reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: \n", __func__); - return status; - } - - /* loop until head parked */ - if (wait_until_home) - { - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to read home sensor: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - if (val & 0x08) /* home sensor */ - { - DBG(DBG_info, "%s: reached home position\n", __func__); - DBG(DBG_proc, "%s: end\n", __func__); - sanei_genesys_sleep_ms(500); - return SANE_STATUS_GOOD; - } - sanei_genesys_sleep_ms(100); - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl646_stop_motor (dev); - end_scan(dev, &dev->reg, SANE_TRUE, SANE_FALSE); - DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); - return SANE_STATUS_IO_ERROR; - } - - - DBG(DBG_info, "%s: scanhead is still moving\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * Automatically set top-left edge of the scan area by scanning an - * area at 300 dpi from very top of scanner - * @param dev device stucture describing the scanner - * @return SANE_STATUS_GOOD in cas of success, else failure code - */ -static SANE_Status -gl646_search_start_position (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Settings settings; - unsigned int resolution, x, y; - - DBG(DBG_proc, "%s: start\n", __func__); - - /* we scan at 300 dpi */ - resolution = get_closest_resolution(dev->model->ccd_type, 300, 1); - - // FIXME: the current approach of doing search only for one resolution does not work on scanners - // whith employ different sensors with potentially different settings. - auto& sensor = sanei_genesys_find_sensor_for_write(dev, resolution); - - /* fill settings for a gray level scan */ - settings.scan_method = ScanMethod::FLATBED; - settings.scan_mode = ScanColorMode::GRAY; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = 600; - settings.lines = dev->model->search_lines; - settings.depth = 8; - settings.color_filter = ColorFilter::RED; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* scan the desired area */ - std::vector data; - status = simple_scan(dev, sensor, settings, SANE_TRUE, SANE_TRUE, SANE_FALSE, data); - - /* process data if scan is OK */ - if (status != SANE_STATUS_GOOD) { - DBG(DBG_error, "%s: simple_scan failed\n", __func__); - DBGCOMPLETED; - return status; - } - - - /* handle stagger case : reorder gray data and thus loose some lines */ - if (dev->current_setup.stagger > 0) - { - DBG(DBG_proc, "%s: 'un-staggering'\n", __func__); - for (y = 0; y < settings.lines - dev->current_setup.stagger; y++) - { - /* one point out of 2 is 'unaligned' */ - for (x = 0; x < settings.pixels; x += 2) - { - data[y * settings.pixels + x] = - data[(y + dev->current_setup.stagger) * settings.pixels + - x]; - } - } - /* correct line number */ - settings.lines -= dev->current_setup.stagger; - } - if (DBG_LEVEL >= DBG_data) - { - sanei_genesys_write_pnm_file("gl646_search_position.pnm", data.data(), settings.depth, 1, - settings.pixels, settings.lines); - } - - /* now search reference points on the data */ - status = - sanei_genesys_search_reference_point (dev, sensor, data.data(), - sensor.CCD_start_xoffset, - resolution, settings.pixels, - settings.lines); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set search reference point: %s\n", __func__, - sane_strstatus(status)); - } - - DBGCOMPLETED; - return status; -} - -/** - * internally overriden during effective calibration - * sets up register for coarse gain calibration - */ -static SANE_Status -gl646_init_regs_for_coarse_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - (void) sensor; - (void) regs; - - DBG(DBG_proc, "%s\n", __func__); - DBG(DBG_proc, "%s: end\n", __func__); - - /* to make compilers happy ... */ - if (!dev) - { - return SANE_STATUS_INVAL; - } - - return SANE_STATUS_GOOD; -} - - -/** - * init registers for shading calibration - * we assume that scanner's head is on an area suiting shading calibration. - * We scan a full scan width area by the shading line number for the device - * at either at full sensor's resolution or half depending upon half_ccd - * @param dev scanner's device - * @return SANE_STATUS_GOOD if success, else error code - */ -static SANE_Status -gl646_init_regs_for_shading(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - (void) regs; - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Settings settings; - /* 1: no half_ccd, 2: use half number of pixels */ - int half_ccd = 1; - int cksel = 1; - - DBG(DBG_proc, "%s: start\n", __func__); - - /* fill settings for scan : always a color scan */ - int channels = 3; - - if (sensor.ccd_size_divisor > 1) - { - // when shading all (full width) line, we must adapt to half_ccd case - if (is_half_ccd(dev->model->ccd_type, dev->settings.xres, channels) == SANE_TRUE) - { - half_ccd = 2; - } - } - - settings.scan_method = dev->settings.scan_method; - settings.scan_mode = dev->settings.scan_mode; - if (dev->model->is_cis == SANE_FALSE) - { - // FIXME: always a color scan, but why don't we set scan_mode to COLOR_SINGLE_PASS always? - settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - } - settings.xres = sensor.optical_res / half_ccd; - cksel = get_cksel(dev->model->ccd_type, dev->settings.xres, channels); - settings.xres = settings.xres / cksel; - settings.yres = settings.xres; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = - (sensor.sensor_pixels * settings.xres) / sensor.optical_res; - dev->calib_lines = dev->model->shading_lines; - settings.lines = dev->calib_lines * (3 - half_ccd); - settings.depth = 16; - settings.color_filter = dev->settings.color_filter; - - settings.disable_interpolation = dev->settings.disable_interpolation; - settings.threshold = dev->settings.threshold; - settings.dynamic_lineart = SANE_FALSE; - - /* keep account of the movement for final scan move */ - dev->scanhead_position_in_steps += settings.lines; - - /* we don't want top offset, but we need right margin to be the same - * than the one for the final scan */ - status = setup_for_scan(dev, sensor, &dev->reg, settings, SANE_TRUE, SANE_FALSE, SANE_FALSE); - - /* used when sending shading calibration data */ - dev->calib_pixels = settings.pixels; - dev->calib_channels = dev->current_setup.channels; - if (dev->model->is_cis == SANE_FALSE) - { - dev->calib_channels = 3; - } - - /* no shading */ - dev->reg.find_reg(0x01).value &= ~REG01_DVDSET; - dev->reg.find_reg(0x02).value |= REG02_ACDCDIS; /* ease backtracking */ - dev->reg.find_reg(0x02).value &= ~(REG02_FASTFED | REG02_AGOHOME); - dev->reg.find_reg(0x05).value &= ~REG05_GMMENB; - sanei_genesys_set_motor_power(dev->reg, false); - - /* TODO another flag to setup regs ? */ - /* enforce needed LINCNT, getting rid of extra lines for color reordering */ - if (dev->model->is_cis == SANE_FALSE) - { - sanei_genesys_set_triple(&dev->reg, REG_LINCNT, dev->calib_lines); - } - else - { - sanei_genesys_set_triple(&dev->reg, REG_LINCNT, dev->calib_lines * 3); - } - - /* copy reg to calib_reg */ - dev->calib_reg = dev->reg; - - /* this is an hack to make calibration cache working .... */ - /* if we don't do this, cache will be identified at the shading calibration - * dpi which is different from calibration one */ - dev->current_setup.xres = dev->settings.xres; - DBG(DBG_info, "%s:\n\tdev->settings.xres=%d\n\tdev->settings.yres=%d\n", __func__, - dev->settings.xres, dev->settings.yres); - - DBG(DBG_proc, "%s: end\n", __func__); - return status; -} - -static bool gl646_needs_home_before_init_regs_for_scan(Genesys_Device* dev) -{ - return (dev->scanhead_position_in_steps > 0 && - dev->settings.scan_method == ScanMethod::FLATBED); -} - -/** - * set up registers for the actual scan. The scan's parameters are given - * through the device settings. It allocates the scan buffers. - */ -static SANE_Status -gl646_init_regs_for_scan (Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - RIE(setup_for_scan(dev, sensor, &dev->reg, dev->settings, SANE_FALSE, SANE_TRUE, SANE_TRUE)); - - /* gamma is only enabled at final scan time */ - if (dev->settings.depth < 16) - dev->reg.find_reg(0x05).value |= REG05_GMMENB; - - DBGCOMPLETED; - return status; -} - -/** - * set up registers for the actual scan. The scan's parameters are given - * through the device settings. It allocates the scan buffers. - * @param dev scanner's device - * @param regs registers to set up - * @param settings settings of scan - * @param split SANE_TRUE if move to scan area is split from scan, SANE_FALSE is - * scan first moves to area - * @param xcorrection take x geometry correction into account (fixed and detected offsets) - * @param ycorrection take y geometry correction into account - */ -static SANE_Status -setup_for_scan (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set *regs, - Genesys_Settings settings, - SANE_Bool split, - SANE_Bool xcorrection, - SANE_Bool ycorrection) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Int depth; - int channels; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, dev->settings); - - if (settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - { - channels = 3; - } - else - { - channels = 1; - } - - depth=settings.depth; - if (settings.scan_mode == ScanColorMode::LINEART) - { - if (settings.dynamic_lineart == SANE_TRUE) - { - depth = 8; - } - else - { - /* XXX STEF XXX : why does the common layer never send depth=1 ? */ - depth = 1; - } - } - - // compute distance to move - float move = 0; - // XXX STEF XXX MD5345 -> optical_ydpi, other base_ydpi => half/full step ? */ - if (split == SANE_FALSE) { - if (dev->model->is_sheetfed == SANE_FALSE) { - if (ycorrection == SANE_TRUE) { - move = SANE_UNFIX(dev->model->y_offset); - } - - // add tl_y to base movement - } - move += settings.tl_y; - - if (move < 0) { - DBG(DBG_error, "%s: overriding negative move value %f\n", __func__, move); - move = 0; - } - } - move = (move * dev->motor.optical_ydpi) / MM_PER_INCH; - DBG(DBG_info, "%s: move=%f steps\n", __func__, move); - - float start = settings.tl_x; - if (xcorrection) { - if (settings.scan_method == ScanMethod::FLATBED) { - start += SANE_UNFIX(dev->model->x_offset); - } else { - start += SANE_UNFIX(dev->model->x_offset_ta); - } - } - start = (start * sensor.optical_res) / MM_PER_INCH; - - SetupParams params; - params.xres = settings.xres; - params.yres = settings.yres; - params.startx = start; - params.starty = move; - params.pixels = settings.pixels; - params.lines = settings.lines; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = settings.scan_mode; - params.color_filter = settings.color_filter; - params.flags = 0; - if (settings.scan_method == ScanMethod::TRANSPARENCY) { - params.flags |= SCAN_FLAG_USE_XPA; - } - - uint16_t slope_table0[256] = {}; - uint16_t slope_table1[256] = {}; - - /* set up correct values for scan (gamma and shading enabled) */ - status = gl646_setup_registers(dev, sensor, regs, params, slope_table0, slope_table1, - xcorrection); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed setup registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* send computed slope tables */ - status = - gl646_send_slope_table (dev, 0, slope_table0, - sanei_genesys_read_reg_from_set (regs, 0x21)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send slope table 0: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = - gl646_send_slope_table (dev, 1, slope_table1, - sanei_genesys_read_reg_from_set (regs, 0x6b)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send slope table 1: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBGCOMPLETED; - return status; -} - -/** - * this function sen gamm table to ASIC - */ -static SANE_Status -gl646_send_gamma_table (Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int size; - int address; - SANE_Status status = SANE_STATUS_GOOD; - int bits; - - DBGSTART; - - /* gamma table size */ - if (dev->model->flags & GENESYS_FLAG_14BIT_GAMMA) - { - size = 16384; - bits = 14; - } - else - { - size = 4096; - bits = 12; - } - - /* allocate temporary gamma tables: 16 bits words, 3 channels */ - std::vector gamma(size * 2 * 3); - - RIE(sanei_genesys_generate_gamma_buffer(dev, sensor, bits, size-1, size, gamma.data())); - - /* table address */ - switch (dev->reg.find_reg(0x05).value >> 6) - { - case 0: /* 600 dpi */ - address = 0x09000; - break; - case 1: /* 1200 dpi */ - address = 0x11000; - break; - case 2: /* 2400 dpi */ - address = 0x20000; - break; - default: - return SANE_STATUS_INVAL; - } - - /* send address */ - status = sanei_genesys_set_buffer_address (dev, address); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* send data */ - status = sanei_genesys_bulk_write_data(dev, 0x3c, gamma.data(), size * 2 * 3); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send gamma table: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief this function does the led calibration. - * this function does the led calibration by scanning one line of the calibration - * area below scanner's top on white strip. The scope of this function is - * currently limited to the XP200 - */ -static SANE_Status -gl646_led_calibration (Genesys_Device * dev, Genesys_Sensor& sensor, Genesys_Register_Set& regs) -{ - (void) regs; - int total_size; - unsigned int i, j; - SANE_Status status = SANE_STATUS_GOOD; - int val; - unsigned int channels; - int avg[3], avga, avge; - int turn; - uint16_t expr, expg, expb; - Genesys_Settings settings; - SANE_Int resolution; - - SANE_Bool acceptable = SANE_FALSE; - - DBG(DBG_proc, "%s\n", __func__); - if (!dev->model->is_cis) - { - DBG(DBG_proc, "%s: not a cis scanner, nothing to do...\n", __func__); - return SANE_STATUS_GOOD; - } - - /* get led calibration resolution */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - { - channels = 3; - settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - } - else - { - channels = 1; - settings.scan_mode = ScanColorMode::GRAY; - } - resolution = get_closest_resolution(dev->model->ccd_type, sensor.optical_res, channels); - - /* offset calibration is always done in color mode */ - settings.scan_method = ScanMethod::FLATBED; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = - (sensor.sensor_pixels * resolution) / sensor.optical_res; - settings.lines = 1; - settings.depth = 16; - settings.color_filter = ColorFilter::RED; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* colors * bytes_per_color * scan lines */ - total_size = settings.pixels * channels * 2 * 1; - - std::vector line(total_size); - -/* - we try to get equal bright leds here: - - loop: - average per color - adjust exposure times - - Sensor_Master uint8_t regs_0x10_0x15[6]; - */ - expr = sensor.exposure.red; - expg = sensor.exposure.green; - expb = sensor.exposure.blue; - - turn = 0; - - do - { - sensor.exposure.red = expr; - sensor.exposure.green = expg; - sensor.exposure.blue = expb; - - DBG(DBG_info, "%s: starting first line reading\n", __func__); - - status = simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, line); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - char fn[30]; - snprintf(fn, 30, "gl646_led_%02d.pnm", turn); - sanei_genesys_write_pnm_file(fn, line.data(), 16, channels, settings.pixels, 1); - } - - acceptable = SANE_TRUE; - - for (j = 0; j < channels; j++) - { - avg[j] = 0; - for (i = 0; i < settings.pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * settings.pixels + 1] * 256 + - line[i * 2 + j * 2 * settings.pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - avg[j] += val; - } - - avg[j] /= settings.pixels; - } - - DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); - - acceptable = SANE_TRUE; - - if (!acceptable) - { - avga = (avg[0] + avg[1] + avg[2]) / 3; - expr = (expr * avga) / avg[0]; - expg = (expg * avga) / avg[1]; - expb = (expb * avga) / avg[2]; - - /* keep exposure time in a working window */ - avge = (expr + expg + expb) / 3; - if (avge > 0x2000) - { - expr = (expr * 0x2000) / avge; - expg = (expg * 0x2000) / avge; - expb = (expb * 0x2000) / avge; - } - if (avge < 0x400) - { - expr = (expr * 0x400) / avge; - expg = (expg * 0x400) / avge; - expb = (expb * 0x400) / avge; - } - } - - turn++; - - } - while (!acceptable && turn < 100); - - DBG(DBG_info,"%s: acceptable exposure: 0x%04x,0x%04x,0x%04x\n", __func__, expr, expg, expb); - - DBGCOMPLETED; - return status; -} - -/** - * average dark pixels of a scan - */ -static int -dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, - unsigned int channels, unsigned int black) -{ - unsigned int i, j, k, average, count; - unsigned int avg[3]; - uint8_t val; - - /* computes average value on black margin */ - for (k = 0; k < channels; k++) - { - avg[k] = 0; - count = 0; - for (i = 0; i < lines; i++) - { - for (j = 0; j < black; j++) - { - val = data[i * channels * pixels + j + k]; - avg[k] += val; - count++; - } - } - if (count) - avg[k] /= count; - DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); - } - average = 0; - for (i = 0; i < channels; i++) - average += avg[i]; - average /= channels; - DBG(DBG_info, "%s: average = %d\n", __func__, average); - return average; -} - - -/** @brief calibration for AD frontend devices - * we do simple scan until all black_pixels are higher than 0, - * raising offset at each turn. - */ -static SANE_Status -ad_fe_offset_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - SANE_Status status = SANE_STATUS_GOOD; - unsigned int channels; - int pass = 0; - SANE_Int resolution; - Genesys_Settings settings; - unsigned int x, y, adr, min; - unsigned int bottom, black_pixels; - - DBG(DBG_proc, "%s: start\n", __func__); - channels = 3; - resolution = get_closest_resolution(dev->model->ccd_type, sensor.optical_res, channels); - black_pixels = - (sensor.black_pixels * resolution) / sensor.optical_res; - DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); - - settings.scan_method = ScanMethod::FLATBED; - settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = - (sensor.sensor_pixels * resolution) / sensor.optical_res; - settings.lines = CALIBRATION_LINES; - settings.depth = 8; - settings.color_filter = ColorFilter::RED; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* scan first line of data with no gain */ - dev->frontend.set_gain(0, 0); - dev->frontend.set_gain(1, 0); - dev->frontend.set_gain(2, 0); - - std::vector line; - - /* scan with no move */ - bottom = 1; - do - { - pass++; - dev->frontend.set_offset(0, bottom); - dev->frontend.set_offset(1, bottom); - dev->frontend.set_offset(2, bottom); - status = - simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, line); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to scan first line\n", __func__); - return status; - } - if (DBG_LEVEL >= DBG_data) - { - char title[30]; - snprintf(title, 30, "gl646_offset%03d.pnm", (int)bottom); - sanei_genesys_write_pnm_file (title, line.data(), 8, channels, - settings.pixels, settings.lines); - } - - min = 0; - for (y = 0; y < settings.lines; y++) - { - for (x = 0; x < black_pixels; x++) - { - adr = (x + y * settings.pixels) * channels; - if (line[adr] > min) - min = line[adr]; - if (line[adr + 1] > min) - min = line[adr + 1]; - if (line[adr + 2] > min) - min = line[adr + 2]; - } - } - - DBG(DBG_io2, "%s: pass=%d, min=%d\n", __func__, pass, min); - bottom++; - } - while (pass < 128 && min == 0); - if (pass == 128) - { - DBG(DBG_error, "%s: failed to find correct offset\n", __func__); - return SANE_STATUS_INVAL; - } - - DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, - dev->frontend.get_offset(0), - dev->frontend.get_offset(1), - dev->frontend.get_offset(2)); - DBG(DBG_proc, "%s: end\n", __func__); - return status; -} - -#define DARK_TARGET 8 -/** - * This function does the offset calibration by scanning one line of the calibration - * area below scanner's top. There is a black margin and the remaining is white. - * genesys_search_start() must have been called so that the offsets and margins - * are already known. - * @param dev scanner's device - * @return SANE_STATUS_GOOD if success, else error code is failure -*/ -static SANE_Status -gl646_offset_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - (void) regs; - SANE_Status status = SANE_STATUS_GOOD; - unsigned int channels; - int pass = 0, avg; - SANE_Int resolution; - Genesys_Settings settings; - int topavg, bottomavg; - int top, bottom, black_pixels; - - /* Analog Device fronted have a different calibration */ - if (dev->model->dac_type == DAC_AD_XP200) - { - return ad_fe_offset_calibration (dev, sensor); - } - - DBG(DBG_proc, "%s: start\n", __func__); - - /* setup for a RGB scan, one full sensor's width line */ - /* resolution is the one from the final scan */ - channels = 3; - if (dev->settings.xres > sensor.optical_res) { - resolution = get_closest_resolution(dev->model->ccd_type, sensor.optical_res, channels); - } else { - resolution = get_closest_resolution(dev->model->ccd_type, dev->settings.xres, channels); - } - black_pixels = - (sensor.black_pixels * resolution) / sensor.optical_res; - DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); - - settings.scan_method = ScanMethod::FLATBED; - settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = - (sensor.sensor_pixels * resolution) / sensor.optical_res; - settings.lines = CALIBRATION_LINES; - settings.depth = 8; - settings.color_filter = ColorFilter::RED; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* scan first line of data with no gain, but with offset from - * last calibration */ - dev->frontend.set_gain(0, 0); - dev->frontend.set_gain(1, 0); - dev->frontend.set_gain(2, 0); - - /* scan with no move */ - bottom = 90; - dev->frontend.set_offset(0, bottom); - dev->frontend.set_offset(1, bottom); - dev->frontend.set_offset(2, bottom); - - std::vector first_line, second_line; - - status = simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, first_line); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to scan first line\n", __func__); - return status; - } - if (DBG_LEVEL >= DBG_data) - { - char title[30]; - snprintf(title, 30, "gl646_offset%03d.pnm", bottom); - sanei_genesys_write_pnm_file(title, first_line.data(), 8, channels, - settings.pixels, settings.lines); - } - bottomavg = dark_average(first_line.data(), settings.pixels, settings.lines, channels, - black_pixels); - DBG(DBG_io2, "%s: bottom avg=%d\n", __func__, bottomavg); - - /* now top value */ - top = 231; - dev->frontend.set_offset(0, top); - dev->frontend.set_offset(1, top); - dev->frontend.set_offset(2, top); - status = simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, second_line); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to scan first line\n", __func__); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - char title[30]; - snprintf(title, 30, "gl646_offset%03d.pnm", top); - sanei_genesys_write_pnm_file (title, second_line.data(), 8, channels, - settings.pixels, settings.lines); - } - topavg = dark_average(second_line.data(), settings.pixels, settings.lines, channels, - black_pixels); - DBG(DBG_io2, "%s: top avg=%d\n", __func__, topavg); - - /* loop until acceptable level */ - while ((pass < 32) && (top - bottom > 1)) - { - pass++; - - /* settings for new scan */ - dev->frontend.set_offset(0, (top + bottom) / 2); - dev->frontend.set_offset(1, (top + bottom) / 2); - dev->frontend.set_offset(2, (top + bottom) / 2); - - /* scan with no move */ - status = simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, second_line); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to scan first line\n", __func__); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - char title[30]; - snprintf(title, 30, "gl646_offset%03d.pnm", dev->frontend.get_offset(1)); - sanei_genesys_write_pnm_file (title, second_line.data(), 8, channels, - settings.pixels, settings.lines); - } - - avg = - dark_average (second_line.data(), settings.pixels, settings.lines, channels, - black_pixels); - DBG(DBG_info, "%s: avg=%d offset=%d\n", __func__, avg, dev->frontend.get_offset(1)); - - /* compute new boundaries */ - if (topavg == avg) - { - topavg = avg; - top = dev->frontend.get_offset(1); - } - else - { - bottomavg = avg; - bottom = dev->frontend.get_offset(1); - } - } - - /* in case of debug do a final scan to get result */ - if (DBG_LEVEL >= DBG_data) - { - status = simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, second_line); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to scan final line\n", __func__); - return status; - } - sanei_genesys_write_pnm_file("gl646_offset-final.pnm", second_line.data(), 8, channels, - settings.pixels, settings.lines); - } - - DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, - dev->frontend.get_offset(0), - dev->frontend.get_offset(1), - dev->frontend.get_offset(2)); - DBG(DBG_proc, "%s: end\n", __func__); - return status; -} - -/** @brief gain calibration for Analog Device frontends - * Alternative coarse gain calibration - */ -static SANE_Status -ad_fe_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs, int dpi) -{ - (void) regs; - unsigned int i, channels, val; - unsigned int size, count, resolution, pass; - SANE_Status status = SANE_STATUS_GOOD; - float average; - Genesys_Settings settings; - char title[32]; - - DBGSTART; - - /* setup for a RGB scan, one full sensor's width line */ - /* resolution is the one from the final scan */ - channels = 3; - resolution = get_closest_resolution(dev->model->ccd_type, dpi, channels); - settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - - settings.scan_method = ScanMethod::FLATBED; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = - (sensor.sensor_pixels * resolution) / sensor.optical_res; - settings.lines = CALIBRATION_LINES; - settings.depth = 8; - settings.color_filter = ColorFilter::RED; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.dynamic_lineart = SANE_FALSE; - - size = channels * settings.pixels * settings.lines; - - /* start gain value */ - dev->frontend.set_gain(0, 1); - dev->frontend.set_gain(1, 1); - dev->frontend.set_gain(2, 1); - - average = 0; - pass = 0; - - std::vector line; - - /* loop until each channel raises to acceptable level */ - while ((average < sensor.gain_white_ref) && (pass < 30)) - { - /* scan with no move */ - status = - simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, line); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to scan first line\n", __func__); - return status; - } - - /* log scanning data */ - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "gl646_alternative_gain%02d.pnm", (int)pass); - sanei_genesys_write_pnm_file(title, line.data(), 8, channels, settings.pixels, - settings.lines); - } - pass++; - - /* computes white average */ - average = 0; - count = 0; - for (i = 0; i < size; i++) - { - val = line[i]; - average += val; - count++; - } - average = average / count; - - uint8_t gain0 = dev->frontend.get_gain(0); - // adjusts gain for the channel - if (average < sensor.gain_white_ref) { - gain0 += 1; - } - - dev->frontend.set_gain(0, gain0); - dev->frontend.set_gain(1, gain0); - dev->frontend.set_gain(2, gain0); - - DBG(DBG_proc, "%s: average = %.2f, gain = %d\n", __func__, average, gain0); - } - - DBG(DBG_info, "%s: gains=(%d,%d,%d)\n", __func__, - dev->frontend.get_gain(0), - dev->frontend.get_gain(1), - dev->frontend.get_gain(2)); - DBGCOMPLETED; - return status; -} - -/** - * Alternative coarse gain calibration - * this on uses the settings from offset_calibration. First scan moves so - * we can go to calibration area for XPA. - * @param dev device for scan - * @param dpi resolutnio to calibrate at - */ -static SANE_Status -gl646_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs, int dpi) -{ - unsigned int i, j, k, channels, val, maximum, idx; - unsigned int count, resolution, pass; - SANE_Status status = SANE_STATUS_GOOD; - float average[3]; - Genesys_Settings settings; - char title[32]; - - if (dev->model->ccd_type == CIS_XP200) - { - return ad_fe_coarse_gain_calibration (dev, sensor, regs, sensor.optical_res); - } - DBGSTART; - - /* setup for a RGB scan, one full sensor's width line */ - /* resolution is the one from the final scan */ - channels = 3; - - /* we are searching a sensor resolution */ - if (dpi > sensor.optical_res) { - resolution = sensor.optical_res; - } else { - resolution = get_closest_resolution(dev->model->ccd_type, dev->settings.xres, channels); - } - - settings.scan_method = dev->settings.scan_method; - settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_y = 0; - if (settings.scan_method == ScanMethod::FLATBED) - { - settings.tl_x = 0; - settings.pixels = (sensor.sensor_pixels * resolution) / sensor.optical_res; - } - else - { - settings.tl_x = SANE_UNFIX (dev->model->x_offset_ta); - settings.pixels = (SANE_UNFIX (dev->model->x_size_ta) * resolution) / MM_PER_INCH; - } - settings.lines = CALIBRATION_LINES; - settings.depth = 8; - settings.color_filter = ColorFilter::RED; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* start gain value */ - dev->frontend.set_gain(0, 1); - dev->frontend.set_gain(1, 1); - dev->frontend.set_gain(2, 1); - - if (channels > 1) - { - average[0] = 0; - average[1] = 0; - average[2] = 0; - idx = 0; - } - else - { - average[0] = 255; - average[1] = 255; - average[2] = 255; - switch (dev->settings.color_filter) { - case ColorFilter::RED: idx = 0; break; - case ColorFilter::GREEN: idx = 1; break; - case ColorFilter::BLUE: idx = 2; break; - default: idx = 0; break; // should not happen - } - average[idx] = 0; - } - pass = 0; - - std::vector line; - - /* loop until each channel raises to acceptable level */ - while (((average[0] < sensor.gain_white_ref) - || (average[1] < sensor.gain_white_ref) - || (average[2] < sensor.gain_white_ref)) && (pass < 30)) - { - /* scan with no move */ - status = - simple_scan(dev, sensor, settings, SANE_FALSE, SANE_TRUE, SANE_FALSE, line); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to scan first line\n", __func__); - return status; - } - - /* log scanning data */ - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "gl646_gain%02d.pnm", (int)pass); - sanei_genesys_write_pnm_file(title, line.data(), 8, channels, settings.pixels, - settings.lines); - } - pass++; - - /* average high level for each channel and compute gain - to reach the target code - we only use the central half of the CCD data */ - for (k = idx; k < idx + channels; k++) - { - /* we find the maximum white value, so we can deduce a threshold - to average white values */ - maximum = 0; - for (i = 0; i < settings.lines; i++) - { - for (j = 0; j < settings.pixels; j++) - { - val = line[i * channels * settings.pixels + j + k]; - if (val > maximum) - maximum = val; - } - } - - /* threshold */ - maximum *= 0.9; - - /* computes white average */ - average[k] = 0; - count = 0; - for (i = 0; i < settings.lines; i++) - { - for (j = 0; j < settings.pixels; j++) - { - /* averaging only white points allow us not to care about dark margins */ - val = line[i * channels * settings.pixels + j + k]; - if (val > maximum) - { - average[k] += val; - count++; - } - } - } - average[k] = average[k] / count; - - /* adjusts gain for the channel */ - if (average[k] < sensor.gain_white_ref) - dev->frontend.set_gain(k, dev->frontend.get_gain(k) + 1); - - DBG(DBG_proc, "%s: channel %d, average = %.2f, gain = %d\n", __func__, k, average[k], - dev->frontend.get_gain(k)); - } - } - - if (channels < 3) { - dev->frontend.set_gain(1, dev->frontend.get_gain(0)); - dev->frontend.set_gain(2, dev->frontend.get_gain(0)); - } - - DBG(DBG_info, "%s: gains=(%d,%d,%d)\n", __func__, - dev->frontend.get_gain(0), - dev->frontend.get_gain(1), - dev->frontend.get_gain(2)); - DBGCOMPLETED; - return status; -} - -/** - * sets up the scanner's register for warming up. We scan 2 lines without moving. - * - */ -static SANE_Status -gl646_init_regs_for_warmup (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * local_reg, - int *channels, int *total_size) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Settings settings; - int resolution, lines; - - DBG(DBG_proc, "%s: start\n", __func__); - - dev->frontend = dev->frontend_initial; - - resolution = get_closest_resolution(dev->model->ccd_type, 300, 1); - - /* set up for a half width 2 lines gray scan without moving */ - settings.scan_method = ScanMethod::FLATBED; - settings.scan_mode = ScanColorMode::GRAY; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = - (sensor.sensor_pixels * resolution) / sensor.optical_res; - settings.lines = 2; - settings.depth = 8; - settings.color_filter = ColorFilter::RED; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* setup for scan */ - status = setup_for_scan(dev, sensor, &dev->reg, settings, SANE_TRUE, SANE_FALSE, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: setup_for_scan failed (%s)\n", __func__, sane_strstatus(status)); - return status; - } - - /* we are not going to move, so clear these bits */ - dev->reg.find_reg(0x02).value &= ~(REG02_FASTFED | REG02_AGOHOME); - - /* don't enable any correction for this scan */ - dev->reg.find_reg(0x01).value &= ~REG01_DVDSET; - - /* copy to local_reg */ - *local_reg = dev->reg; - - /* turn off motor during this scan */ - sanei_genesys_set_motor_power(*local_reg, false); - - /* returned value to higher level warmup function */ - *channels = 1; - uint32_t value = 0; - sanei_genesys_get_triple(local_reg, REG_LINCNT, &value); - lines = value + 1; - *total_size = lines * settings.pixels; - - /* now registers are ok, write them to scanner */ - RIE (gl646_set_fe(dev, sensor, AFE_SET, settings.xres)); - RIE(sanei_genesys_bulk_write_register(dev, *local_reg)); - - DBGCOMPLETED; - return status; -} - - -/* - * this function moves head without scanning, forward, then backward - * so that the head goes to park position. - * as a by-product, also check for lock - */ -static SANE_Status -gl646_repark_head (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Settings settings; - unsigned int expected, steps; - - DBG(DBG_proc, "%s: start\n", __func__); - - settings.scan_method = ScanMethod::FLATBED; - settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - settings.xres = get_closest_resolution(dev->model->ccd_type, 75, 1); - settings.yres = settings.xres; - settings.tl_x = 0; - settings.tl_y = 5; - settings.pixels = 600; - settings.lines = 4; - settings.depth = 8; - settings.color_filter = ColorFilter::RED; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.dynamic_lineart = SANE_FALSE; - - const auto& sensor = sanei_genesys_find_sensor(dev, settings.xres); - - status = setup_for_scan(dev, sensor, &dev->reg, settings, SANE_FALSE, SANE_FALSE, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup for scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* TODO seems wrong ... no effective scan */ - dev->reg.find_reg(0x01).value &= ~REG01_SCAN; - - status = sanei_genesys_bulk_write_register(dev, dev->reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* start scan */ - status = gl646_begin_scan(dev, sensor, &dev->reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: \n", __func__); - return status; - } - - uint32_t value32 = 0; - sanei_genesys_get_triple(&dev->reg, REG_FEEDL, &value32); - expected = value32; - do - { - sanei_genesys_sleep_ms(100); - status = sanei_genesys_read_feed_steps (dev, &steps); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read feed steps: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - while (steps < expected); - - /* toggle motor flag, put an huge step number and redo move backward */ - status = gl646_slow_back_home (dev, 1); - DBG(DBG_proc, "%s: end\n", __func__); - return status; -} - -/* * - * initialize ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home - * @param dev device description of the scanner to initailize - * @return SANE_STATUS_GOOD if success, error code if failure - */ -static SANE_Status -gl646_init (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - struct timeval tv; - uint8_t cold = 0, val = 0; - uint32_t addr = 0xdead; - size_t len; - - DBG_INIT (); - DBG(DBG_proc, "%s: start\n", __func__); - - /* to detect real power up condition, we write to REG41 - * with pwrbit set, then read it back. When scanner is cold (just replugged) - * PWRBIT will be set in the returned value - */ - RIE (sanei_genesys_get_status (dev, &cold)); - DBG(DBG_info, "%s: status=0x%02x\n", __func__, cold); - cold = !(cold & REG41_PWRBIT); - if (cold) - { - DBG(DBG_info, "%s: device is cold\n", __func__); - } - else - { - DBG(DBG_info, "%s: device is hot\n", __func__); - } - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - /* if scanning session hasn't been initialized, set it up */ - if (!dev->already_initialized) - { - dev->dark_average_data.clear(); - dev->white_average_data.clear(); - - dev->settings.color_filter = ColorFilter::GREEN; - gettimeofday (&tv, NULL); - dev->init_date = tv.tv_sec; - - /* Set default values for registers */ - gl646_init_regs (dev); - - /* Init shading data */ - RIE (sanei_genesys_init_shading_data(dev, sensor, sensor.sensor_pixels)); - - /* initial calibration reg values */ - dev->calib_reg = dev->reg; - } - - /* execute physical unit init only if cold */ - if (cold) - { - DBG(DBG_info, "%s: device is cold\n", __func__); - - val = 0x04; - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_INIT, INDEX, 1, &val); - - /* ASIC reset */ - RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); - sanei_genesys_sleep_ms(100); - - /* Write initial registers */ - RIE(sanei_genesys_bulk_write_register(dev, dev->reg)); - - /* Test ASIC and RAM */ - if (!(dev->model->flags & GENESYS_FLAG_LAZY_INIT)) - { - RIE (gl646_asic_test (dev)); - } - - /* send gamma tables if needed */ - status = gl646_send_gamma_table(dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send generic gamma tables: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - /* Set powersaving (default = 15 minutes) */ - RIE (gl646_set_powersaving (dev, 15)); - } /* end if cold */ - - /* Set analog frontend */ - RIE (gl646_set_fe(dev, sensor, AFE_INIT, 0)); - - /* GPO enabling for XP200 */ - if (dev->model->ccd_type == CIS_XP200) - { - sanei_genesys_write_register (dev, 0x68, dev->gpo.enable[0]); - sanei_genesys_write_register (dev, 0x69, dev->gpo.enable[1]); - - // enable GPIO - gl646_gpio_output_enable(dev->usb_dev, 6); - - // writes 0 to GPIO - gl646_gpio_write(dev->usb_dev, 0); - - // clear GPIO enable - gl646_gpio_output_enable(dev->usb_dev, 0); - - sanei_genesys_write_register (dev, 0x66, 0x10); - sanei_genesys_write_register (dev, 0x66, 0x00); - sanei_genesys_write_register (dev, 0x66, 0x10); - } - - /* MD6471/G2410 and XP200 read/write data from an undocumented memory area which - * is after the second slope table */ - if (dev->model->gpo_type != GPO_HP3670 - && dev->model->gpo_type != GPO_HP2400) - { - switch (sensor.optical_res) - { - case 600: - addr = 0x08200; - break; - case 1200: - addr = 0x10200; - break; - case 2400: - addr = 0x1fa00; - break; - } - status = sanei_genesys_set_buffer_address (dev, addr); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set up control address\n", __func__); - return SANE_STATUS_INVAL; - } - sanei_usb_set_timeout (2 * 1000); - len = 6; - status = gl646_bulk_read_data (dev, 0x45, dev->control, len); - /* for some reason, read fails here for MD6471, HP2300 and XP200 - * one time out of 2 scanimage launches - */ - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_warn, "%s: failed to read control\n", __func__); - status = gl646_bulk_read_data (dev, 0x45, dev->control, len); - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_warn, "%s: failed to read control\n", __func__); - return SANE_STATUS_INVAL; - } - else - { - DBG(DBG_info, "%s: control read=0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x\n", __func__, - dev->control[0], dev->control[1], dev->control[2], dev->control[3], dev->control[4], - dev->control[5]); - } - sanei_usb_set_timeout (30 * 1000); - } - else - /* HP2400 and HP3670 case */ - { - dev->control[0] = 0x00; - dev->control[1] = 0x00; - dev->control[2] = 0x01; - dev->control[3] = 0x00; - dev->control[4] = 0x00; - dev->control[5] = 0x00; - } - - /* ensure head is correctly parked, and check lock */ - if (dev->model->is_sheetfed == SANE_FALSE) - { - if (dev->model->flags & GENESYS_FLAG_REPARK) - { - status = gl646_repark_head (dev); - if (status != SANE_STATUS_GOOD) - { - if (status == SANE_STATUS_INVAL) - { - DBG(DBG_error0, "Your scanner is locked. Please move the lock switch to the " - "unlocked position\n"); - return SANE_STATUS_JAMMED; - } - else - DBG(DBG_error, "%s: gl646_repark_head failed: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } - else - { - RIE (gl646_slow_back_home (dev, SANE_TRUE)); - } - } - - /* here session and device are initialized */ - dev->already_initialized = SANE_TRUE; - - DBG(DBG_proc, "%s: end\n", __func__); - return SANE_STATUS_GOOD; -} - -static -SANE_Status -gl646_move_to_ta (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - if (simple_move (dev, SANE_UNFIX (dev->model->y_offset_calib_ta)) != - SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to move to calibration area\n", __func__); - return status; - } - DBGCOMPLETED; - return status; -} - - -/** - * Does a simple scan: ie no line reordering and avanced data buffering and - * shading correction. Memory for data is allocated in this function - * and must be freed by caller. - * @param dev device of the scanner - * @param settings parameters of the scan - * @param move SANE_TRUE if moving during scan - * @param forward SANE_TRUE if moving forward during scan - * @param shading SANE_TRUE to enable shading correction - * @param data pointer for the data - */ -static SANE_Status -simple_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Settings settings, SANE_Bool move, - SANE_Bool forward, SANE_Bool shading, std::vector& data) -{ - SANE_Status status = SANE_STATUS_INVAL; - unsigned int size, lines, x, y, bpp; - SANE_Bool empty, split; - int count; - uint8_t val; - - DBG(DBG_proc, "%s: starting\n", __func__); - DBG(DBG_io, "%s: move=%d, forward=%d, shading=%d\n", __func__, move, forward, shading); - - /* round up to multiple of 3 in case of CIS scanner */ - if (dev->model->is_cis == SANE_TRUE) - { - settings.lines = ((settings.lines + 2) / 3) * 3; - } - - /* setup for move then scan */ - if (move == SANE_TRUE && settings.tl_y > 0) - { - split = SANE_FALSE; - } - else - { - split = SANE_TRUE; - } - status = setup_for_scan(dev, sensor, &dev->reg, settings, split, SANE_FALSE, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: setup_for_scan failed (%s)\n", __func__, sane_strstatus(status)); - return status; - } - - /* allocate memory fo scan : LINCNT may have been adjusted for CCD reordering */ - if (dev->model->is_cis == SANE_TRUE) - { - uint32_t value = 0; - sanei_genesys_get_triple(&dev->reg, REG_LINCNT, &value); - lines = value / 3; - } - else - { - uint32_t value = 0; - sanei_genesys_get_triple(&dev->reg, REG_LINCNT, &value); - lines = value + 1; - } - size = lines * settings.pixels; - if (settings.depth == 16) - bpp = 2; - else - bpp = 1; - size *= bpp; - if (settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - size *= 3; - data.clear(); - data.resize(size); - - DBG(DBG_io, "%s: allocated %d bytes of memory for %d lines\n", __func__, size, lines); - - /* put back real line number in settings */ - settings.lines = lines; - - /* initialize frontend */ - status = gl646_set_fe(dev, sensor, AFE_SET, settings.xres); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* no shading correction and not watch dog for simple scan */ - dev->reg.find_reg(0x01).value &= ~(REG01_DVDSET | REG01_DOGENB); - if (shading == SANE_TRUE) - { - dev->reg.find_reg(0x01).value |= REG01_DVDSET; - } - - /* enable gamma table for the scan */ - dev->reg.find_reg(0x05).value |= REG05_GMMENB; - - /* one table movement for simple scan */ - dev->reg.find_reg(0x02).value &= ~REG02_FASTFED; - - if (move == SANE_FALSE) - { - sanei_genesys_set_motor_power(dev->reg, false); - - /* no automatic go home if no movement */ - dev->reg.find_reg(0x02).value &= ~REG02_AGOHOME; - } - if (forward == SANE_FALSE) - { - dev->reg.find_reg(0x02).value |= REG02_MTRREV; - } - else - { - dev->reg.find_reg(0x02).value &= ~REG02_MTRREV; - } - - /* no automatic go home when using XPA */ - if (settings.scan_method == ScanMethod::TRANSPARENCY) - { - dev->reg.find_reg(0x02).value &= ~REG02_AGOHOME; - } - - /* write scan registers */ - status = sanei_genesys_bulk_write_register(dev, dev->reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* starts scan */ - status = gl646_begin_scan(dev, sensor, &dev->reg, move); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: \n", __func__); - return status; - } - - /* wait for buffers to be filled */ - count = 0; - do - { - sanei_genesys_sleep_ms(10); - RIE (sanei_genesys_get_status (dev, &val)); - if (DBG_LEVEL > DBG_info) - { - print_status (val); - } - RIE (sanei_genesys_test_buffer_empty (dev, &empty)); - count++; - } - while (empty && count < 1000); - if (count == 1000) - { - DBG(DBG_error, "%s: failed toread data\n", __func__); - return SANE_STATUS_IO_ERROR; - } - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* in case of CIS scanner, we must reorder data */ - if (dev->model->is_cis == SANE_TRUE - && settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - { - /* alloc one line sized working buffer */ - std::vector buffer(settings.pixels * 3 * bpp); - - /* reorder one line of data and put it back to buffer */ - if (bpp == 1) - { - for (y = 0; y < lines; y++) - { - /* reorder line */ - for (x = 0; x < settings.pixels; x++) - { - buffer[x * 3] = data[y * settings.pixels * 3 + x]; - buffer[x * 3 + 1] = data[y * settings.pixels * 3 + settings.pixels + x]; - buffer[x * 3 + 2] = data[y * settings.pixels * 3 + 2 * settings.pixels + x]; - } - /* copy line back */ - memcpy (data.data() + settings.pixels * 3 * y, buffer.data(), - settings.pixels * 3); - } - } - else - { - for (y = 0; y < lines; y++) - { - /* reorder line */ - for (x = 0; x < settings.pixels; x++) - { - buffer[x * 6] = data[y * settings.pixels * 6 + x * 2]; - buffer[x * 6 + 1] = data[y * settings.pixels * 6 + x * 2 + 1]; - buffer[x * 6 + 2] = data[y * settings.pixels * 6 + 2 * settings.pixels + x * 2]; - buffer[x * 6 + 3] = data[y * settings.pixels * 6 + 2 * settings.pixels + x * 2 + 1]; - buffer[x * 6 + 4] = data[y * settings.pixels * 6 + 4 * settings.pixels + x * 2]; - buffer[x * 6 + 5] = data[y * settings.pixels * 6 + 4 * settings.pixels + x * 2 + 1]; - } - /* copy line back */ - memcpy (data.data() + settings.pixels * 6 * y, buffer.data(), - settings.pixels * 6); - } - } - } - - /* end scan , waiting the motor to stop if needed (if moving), but without ejecting doc */ - status = end_scan(dev, &dev->reg, SANE_TRUE, SANE_FALSE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_proc, "%s: end\n", __func__); - return status; -} - -/** - * Does a simple move of the given distance by doing a scan at lowest resolution - * shading correction. Memory for data is allocated in this function - * and must be freed by caller. - * @param dev device of the scanner - * @param distance distance to move in MM - */ -static SANE_Status -simple_move (Genesys_Device * dev, SANE_Int distance) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Settings settings; - - DBG(DBG_proc, "%s: %d mm\n", __func__, distance); - - int resolution = get_lowest_resolution(dev->model->ccd_type, 3); - - const auto& sensor = sanei_genesys_find_sensor(dev, resolution); - - /* TODO give a no AGOHOME flag */ - settings.scan_method = ScanMethod::TRANSPARENCY; - settings.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - settings.xres = resolution; - settings.yres = resolution; - settings.tl_y = 0; - settings.tl_x = 0; - settings.pixels = - (sensor.sensor_pixels * settings.xres) / sensor.optical_res; - settings.lines = (distance * settings.xres) / MM_PER_INCH; - settings.depth = 8; - settings.color_filter = ColorFilter::RED; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.dynamic_lineart = SANE_FALSE; - - std::vector data; - status = simple_scan(dev, sensor, settings, SANE_TRUE, SANE_TRUE, SANE_FALSE, data); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: simple_scan failed\n", __func__); - } - - DBGCOMPLETED - return status; -} - -/** - * update the status of the required sensor in the scanner session - * the button fileds are used to make events 'sticky' - */ -static SANE_Status -gl646_update_hardware_sensors (Genesys_Scanner * session) -{ - Genesys_Device *dev = session->dev; - uint8_t value; - - // do what is needed to get a new set of events, but try to not loose any of them. - gl646_gpio_read(dev->usb_dev, &value); - DBG(DBG_io, "%s: GPIO=0x%02x\n", __func__, value); - - // scan button - if (dev->model->buttons & GENESYS_HAS_SCAN_SW) { - switch (dev->model->gpo_type) { - case GPO_XP200: - session->buttons[BUTTON_SCAN_SW].write((value & 0x02) != 0); - break; - case GPO_5345: - session->buttons[BUTTON_SCAN_SW].write(value == 0x16); - break; - case GPO_HP2300: - session->buttons[BUTTON_SCAN_SW].write(value == 0x6c); - break; - case GPO_HP3670: - case GPO_HP2400: - session->buttons[BUTTON_SCAN_SW].write((value & 0x20) == 0); - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - // email button - if (dev->model->buttons & GENESYS_HAS_EMAIL_SW) { - switch (dev->model->gpo_type) { - case GPO_5345: - session->buttons[BUTTON_EMAIL_SW].write(value == 0x12); - break; - case GPO_HP3670: - case GPO_HP2400: - session->buttons[BUTTON_EMAIL_SW].write((value & 0x08) == 0); - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - // copy button - if (dev->model->buttons & GENESYS_HAS_COPY_SW) { - switch (dev->model->gpo_type) { - case GPO_5345: - session->buttons[BUTTON_COPY_SW].write(value == 0x11); - break; - case GPO_HP2300: - session->buttons[BUTTON_COPY_SW].write(value == 0x5c); - break; - case GPO_HP3670: - case GPO_HP2400: - session->buttons[BUTTON_COPY_SW].write((value & 0x10) == 0); - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - // power button - if (dev->model->buttons & GENESYS_HAS_POWER_SW) { - switch (dev->model->gpo_type) { - case GPO_5345: - session->buttons[BUTTON_POWER_SW].write(value == 0x14); - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - // ocr button - if (dev->model->buttons & GENESYS_HAS_OCR_SW) { - switch (dev->model->gpo_type) { - case GPO_5345: - session->buttons[BUTTON_OCR_SW].write(value == 0x13); - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - // document detection - if (dev->model->buttons & GENESYS_HAS_PAGE_LOADED_SW) { - switch (dev->model->gpo_type) { - case GPO_XP200: - session->buttons[BUTTON_PAGE_LOADED_SW].write((value & 0x04) != 0); - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - /* XPA detection */ - if (dev->model->flags & GENESYS_FLAG_XPA) - { - switch (dev->model->gpo_type) - { - case GPO_HP3670: - case GPO_HP2400: - /* test if XPA is plugged-in */ - if ((value & 0x40) == 0) - { - DBG(DBG_io, "%s: enabling XPA\n", __func__); - session->opt[OPT_SOURCE].cap &= ~SANE_CAP_INACTIVE; - } - else - { - DBG(DBG_io, "%s: disabling XPA\n", __func__); - session->opt[OPT_SOURCE].cap |= SANE_CAP_INACTIVE; - } - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - } - - return SANE_STATUS_GOOD; -} - - -static SANE_Status -write_control (Genesys_Device * dev, const Genesys_Sensor& sensor, int resolution) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t control[4]; - uint32_t addr = 0xdead; - - /* 2300 does not write to 'control' */ - if (dev->model->motor_type == MOTOR_HP2300) - return SANE_STATUS_GOOD; - - /* MD6471/G2410/HP2300 and XP200 read/write data from an undocumented memory area which - * is after the second slope table */ - switch (sensor.optical_res) - { - case 600: - addr = 0x08200; - break; - case 1200: - addr = 0x10200; - break; - case 2400: - addr = 0x1fa00; - break; - default: - DBG(DBG_error, "%s: failed to compute control address\n", __func__); - return SANE_STATUS_INVAL; - } - - /* XP200 sets dpi, what other scanner put is unknown yet */ - switch (dev->model->motor_type) - { - case MOTOR_XP200: - /* we put scan's dpi, not motor one */ - control[0] = LOBYTE (resolution); - control[1] = HIBYTE (resolution); - control[2] = dev->control[4]; - control[3] = dev->control[5]; - break; - case MOTOR_HP3670: - case MOTOR_HP2400: - case MOTOR_5345: - default: - control[0] = dev->control[2]; - control[1] = dev->control[3]; - control[2] = dev->control[4]; - control[3] = dev->control[5]; - break; - } - - DBG(DBG_info, "%s: control write=0x%02x 0x%02x 0x%02x 0x%02x\n", __func__, control[0], control[1], - control[2], control[3]); - status = sanei_genesys_set_buffer_address (dev, addr); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set up control address\n", __func__); - return SANE_STATUS_INVAL; - } - status = sanei_genesys_bulk_write_data(dev, 0x3c, control, 4); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set up control\n", __func__); - return SANE_STATUS_INVAL; - } - return status; -} - -/** - * check if a stored calibration is compatible with requested scan. - * @return true if compatible, false if not. - * Whenever an error is met, it is returned. - * @param dev scanner device - * @param cache cache entry to test - * @param for_overwrite reserved for future use ... - */ -static bool -gl646_is_compatible_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Calibration_Cache * cache, - int for_overwrite) -{ - (void) sensor; -#ifdef HAVE_SYS_TIME_H - struct timeval time; -#endif - int compatible = 1; - - DBG(DBG_proc, "%s: start (for_overwrite=%d)\n", __func__, for_overwrite); - - if (cache == NULL) - return false; - - /* build minimal current_setup for calibration cache use only, it will be better - * computed when during setup for scan - */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - { - dev->current_setup.channels = 3; - } - else - { - dev->current_setup.channels = 1; - } - dev->current_setup.xres = dev->settings.xres; - - DBG(DBG_io, "%s: requested=(%d,%f), tested=(%d,%f)\n", __func__, dev->current_setup.channels, - dev->current_setup.xres, cache->used_setup.channels, cache->used_setup.xres); - - /* a calibration cache is compatible if color mode and x dpi match the user - * requested scan. In the case of CIS scanners, dpi isn't a criteria */ - if (dev->model->is_cis == SANE_FALSE) - { - compatible = - ((dev->current_setup.channels == cache->used_setup.channels) - && (((int) dev->current_setup.xres) == - ((int) cache->used_setup.xres))); - } - else - { - compatible = - (dev->current_setup.channels == cache->used_setup.channels); - } - if (dev->current_setup.params.scan_method != cache->used_setup.params.scan_method) - { - DBG(DBG_io, "%s: current method=%d, used=%d\n", __func__, - static_cast(dev->current_setup.params.scan_method), - static_cast(cache->used_setup.params.scan_method)); - compatible = 0; - } - if (!compatible) - { - DBG(DBG_proc, "%s: completed, non compatible cache\n", __func__); - return false; - } - - /* a cache entry expires after 30 minutes for non sheetfed scanners */ - /* this is not taken into account when overwriting cache entries */ -#ifdef HAVE_SYS_TIME_H - if(for_overwrite == SANE_FALSE) - { - gettimeofday (&time, NULL); - if ((time.tv_sec - cache->last_calibration > 30 * 60) - && (dev->model->is_sheetfed == SANE_FALSE)) - { - DBG(DBG_proc, "%s: expired entry, non compatible cache\n", __func__); - return false; - } - } -#endif - - DBG(DBG_proc, "%s: completed, cache compatible\n", __func__); - return true; -} - -/** - * search for a full width black or white strip. - * @param dev scanner device - * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward - * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip - * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not - */ -static SANE_Status -gl646_search_strip(Genesys_Device * dev, const Genesys_Sensor& sensor, SANE_Bool forward, SANE_Bool black) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Bool half_ccd = SANE_FALSE; - Genesys_Settings settings; - int res = get_closest_resolution(dev->model->ccd_type, 75, 1); - unsigned int pass, count, found, x, y; - char title[80]; - - DBG(DBG_proc, "%s: start\n", __func__); - /* adapt to half_ccd case */ - if (sensor.ccd_size_divisor > 1) - { - /* walk the master mode list to find if half_ccd */ - // FIXME: possibly wrong channel count for is_half_ccd - if (is_half_ccd (dev->model->ccd_type, res, 3) == SANE_TRUE) - { - half_ccd = SANE_TRUE; - } - } - - /* we set up for a lowest available resolution color grey scan, full width */ - settings.scan_method = ScanMethod::FLATBED; - settings.scan_mode = ScanColorMode::GRAY; - settings.xres = res; - settings.yres = res; - settings.tl_x = 0; - settings.tl_y = 0; - settings.pixels = (SANE_UNFIX (dev->model->x_size) * res) / MM_PER_INCH; - if (half_ccd == SANE_TRUE) - { - settings.pixels /= 2; - } - - /* 15 mm at at time */ - settings.lines = (15 * settings.yres) / MM_PER_INCH; /* may become a parameter from genesys_devices.c */ - settings.depth = 8; - settings.color_filter = ColorFilter::RED; - - settings.disable_interpolation = 0; - settings.threshold = 0; - settings.dynamic_lineart = SANE_FALSE; - - /* signals if a strip of the given color has been found */ - found = 0; - - /* detection pass done */ - pass = 0; - - std::vector data; - - /* loop until strip is found or maximum pass number done */ - while (pass < 20 && !found) - { - /* scan a full width strip */ - status = - simple_scan(dev, sensor, settings, SANE_TRUE, forward, SANE_FALSE, data); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: simple_scan failed\n", __func__); - return status; - } - if (DBG_LEVEL >= DBG_data) - { - sprintf (title, "gl646_search_strip_%s%02d.pnm", forward ? "fwd" : "bwd", - (int)pass); - sanei_genesys_write_pnm_file (title, data.data(), settings.depth, 1, - settings.pixels, settings.lines); - } - - /* search data to find black strip */ - /* when searching forward, we only need one line of the searched color since we - * will scan forward. But when doing backward search, we need all the area of the - * same color */ - if (forward) - { - for (y = 0; y < settings.lines && !found; y++) - { - count = 0; - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < settings.pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * settings.pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * settings.pixels + x] < 60) - { - count++; - } - } - - /* at end of line, if count >= 3%, line is not fully of the desired color - * so we must go to next line of the buffer */ - /* count*100/pixels < 3 */ - if ((count * 100) / settings.pixels < 3) - { - found = 1; - DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, - pass, y); - } - else - { - DBG(DBG_data, "%s: pixels=%d, count=%d\n", __func__, settings.pixels, count); - } - } - } - else /* since calibration scans are done forward, we need the whole area - to be of the required color when searching backward */ - { - count = 0; - for (y = 0; y < settings.lines; y++) - { - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < settings.pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * settings.pixels + x] > 60) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * settings.pixels + x] < 60) - { - count++; - } - } - } - - /* at end of area, if count >= 3%, area is not fully of the desired color - * so we must go to next buffer */ - if ((count * 100) / (settings.pixels * settings.lines) < 3) - { - found = 1; - DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); - } - else - { - DBG(DBG_data, "%s: pixels=%d, count=%d\n", __func__, settings.pixels, count); - } - } - pass++; - } - if (found) - { - status = SANE_STATUS_GOOD; - DBG(DBG_info, "%s: strip found\n", __func__); - } - else - { - status = SANE_STATUS_UNSUPPORTED; - DBG(DBG_info, "%s: strip not found\n", __func__); - } - return status; -} - -/** the gl646 command set */ -static Genesys_Command_Set gl646_cmd_set = { - "gl646-generic", /* the name of this set */ - - gl646_needs_home_before_init_regs_for_scan, - - gl646_init, - gl646_init_regs_for_warmup, - gl646_init_regs_for_coarse_calibration, - gl646_init_regs_for_shading, - gl646_init_regs_for_scan, - - gl646_get_filter_bit, - gl646_get_lineart_bit, - gl646_get_bitset_bit, - gl646_get_gain4_bit, - gl646_get_fast_feed_bit, - gl646_test_buffer_empty_bit, - gl646_test_motor_flag_bit, - - gl646_public_set_fe, - gl646_set_powersaving, - gl646_save_power, - - gl646_begin_scan, - gl646_end_scan, - - gl646_send_gamma_table, - - gl646_search_start_position, - - gl646_offset_calibration, - gl646_coarse_gain_calibration, - gl646_led_calibration, - - NULL, - gl646_slow_back_home, - NULL, - - sanei_genesys_bulk_write_register, - sanei_genesys_bulk_write_data, - gl646_bulk_read_data, - - gl646_update_hardware_sensors, - - /* sheetfed related functions */ - gl646_load_document, - gl646_detect_document_end, - gl646_eject_document, - gl646_search_strip, - - gl646_is_compatible_calibration, - gl646_move_to_ta, - NULL, - NULL, - NULL -}; - -SANE_Status -sanei_gl646_init_cmd_set (Genesys_Device * dev) -{ - dev->model->cmd_set = &gl646_cmd_set; - return SANE_STATUS_GOOD; -} diff --git a/backend/genesys_gl646.h b/backend/genesys_gl646.h deleted file mode 100644 index 766176a..0000000 --- a/backend/genesys_gl646.h +++ /dev/null @@ -1,594 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2003-2004 Henning Meier-Geinitz - Copyright (C) 2004-2005 Gerhard Jaeger - Copyright (C) 2004-2013 Stéphane Voltz - Copyright (C) 2005-2009 Pierre Willenbrock - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#include "genesys.h" - -/* - * Genesys Logic GL646 based scanners - */ -/* Individual bits */ -#define REG01_CISSET 0x80 -#define REG01_DOGENB 0x40 -#define REG01_DVDSET 0x20 -#define REG01_FASTMOD 0x10 -#define REG01_COMPENB 0x08 -#define REG01_DRAMSEL 0x04 -#define REG01_SHDAREA 0x02 -#define REG01_SCAN 0x01 - -#define REG02_NOTHOME 0x80 -#define REG02_ACDCDIS 0x40 -#define REG02_AGOHOME 0x20 -#define REG02_MTRPWR 0x10 -#define REG02_FASTFED 0x08 -#define REG02_MTRREV 0x04 -#define REG02_STEPSEL 0x03 - -#define REG02_FULLSTEP 0x00 -#define REG02_HALFSTEP 0x01 -#define REG02_QUATERSTEP 0x02 - -#define REG03_TG3 0x80 -#define REG03_AVEENB 0x40 -#define REG03_XPASEL 0x20 -#define REG03_LAMPPWR 0x10 -#define REG03_LAMPDOG 0x08 -#define REG03_LAMPTIM 0x07 - -#define REG04_LINEART 0x80 -#define REG04_BITSET 0x40 -#define REG04_ADTYPE 0x30 -#define REG04_FILTER 0x0c -#define REG04_FESET 0x03 - -#define REG05_DPIHW 0xc0 -#define REG05_DPIHW_600 0x00 -#define REG05_DPIHW_1200 0x40 -#define REG05_DPIHW_2400 0x80 -#define REG05_DPIHW_4800 0xc0 -#define REG05_GMMTYPE 0x30 -#define REG05_GMM14BIT 0x10 -#define REG05_GMMENB 0x08 -#define REG05_LEDADD 0x04 -#define REG05_BASESEL 0x03 - -#define REG06_PWRBIT 0x10 -#define REG06_GAIN4 0x08 -#define REG06_OPTEST 0x07 - -#define REG07_DMASEL 0x02 -#define REG07_DMARDWR 0x01 - -#define REG16_CTRLHI 0x80 -#define REG16_SELINV 0x40 -#define REG16_TGINV 0x20 -#define REG16_CK1INV 0x10 -#define REG16_CK2INV 0x08 -#define REG16_CTRLINV 0x04 -#define REG16_CKDIS 0x02 -#define REG16_CTRLDIS 0x01 - -#define REG17_TGMODE 0xc0 -#define REG17_TGMODE_NO_DUMMY 0x00 -#define REG17_TGMODE_REF 0x40 -#define REG17_TGMODE_XPA 0x80 -#define REG17_TGW 0x3f - -#define REG18_CNSET 0x80 -#define REG18_DCKSEL 0x60 -#define REG18_CKTOGGLE 0x10 -#define REG18_CKDELAY 0x0c -#define REG18_CKSEL 0x03 - -#define REG1D_CKMANUAL 0x80 - -#define REG1E_WDTIME 0xf0 -#define REG1E_LINESEL 0x0f - -#define REG41_PWRBIT 0x80 -#define REG41_BUFEMPTY 0x40 -#define REG41_FEEDFSH 0x20 -#define REG41_SCANFSH 0x10 -#define REG41_HOMESNR 0x08 -#define REG41_LAMPSTS 0x04 -#define REG41_FEBUSY 0x02 -#define REG41_MOTMFLG 0x01 - -#define REG66_LOW_CURRENT 0x10 - -#define REG6A_FSTPSEL 0xc0 -#define REG6A_FASTPWM 0x3f - -#define REG6C_TGTIME 0xc0 -#define REG6C_Z1MOD 0x38 -#define REG6C_Z2MOD 0x07 - -#define REG_SCANFED 0x1f -#define REG_BUFSEL 0x20 -#define REG_LINCNT 0x25 -#define REG_DPISET 0x2c -#define REG_STRPIXEL 0x30 -#define REG_ENDPIXEL 0x32 -#define REG_DUMMY 0x34 -#define REG_MAXWD 0x35 -#define REG_LPERIOD 0x38 -#define REG_FEEDL 0x3d -#define REG_VALIDWORD 0x42 -#define REG_FEDCNT 0x48 -#define REG_SCANCNT 0x4b -#define REG_Z1MOD 0x60 -#define REG_Z2MOD 0x62 - - -#include "genesys.h" - -static SANE_Status gl646_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, - uint8_t set, int dpi); - -static SANE_Status gl646_public_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, - uint8_t set); - -static -SANE_Status -gl646_save_power (Genesys_Device * dev, SANE_Bool enable); - -static -SANE_Status -gl646_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home); - -static -SANE_Status -gl646_move_to_ta (Genesys_Device * dev); - -/** - * sets up the scanner for a scan, registers, gamma tables, shading tables - * and slope tables, based on the parameter struct. - * @param dev device to set up - * @param regs registers to set up - * @param settings settings of the scan - * @param split true if move before scan has to be done - * @param xcorrection true if scanner's X geometry must be taken into account to - * compute X, ie add left margins - * @param ycorrection true if scanner's Y geometry must be taken into account to - * compute Y, ie add top margins - */ -static SANE_Status -setup_for_scan (Genesys_Device *device, - const Genesys_Sensor& sensor, - Genesys_Register_Set *regs, - Genesys_Settings settings, - SANE_Bool split, - SANE_Bool xcorrection, - SANE_Bool ycorrection); - -/** - * sets up the registers for a scan corresponding to the settings. - * Builds motor slope tables. Computes buffer sizes and data amount to - * transfer. It also sets up analog frontend. - * */ -static SANE_Status -gl646_setup_registers (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * regs, SetupParams& params, - uint16_t * slope_table1, - uint16_t * slope_table2, - bool xcorrection); - -/** - * Does a simple move of the given distance by doing a scan at lowest resolution - * shading correction. Memory for data is allocated in this function - * and must be freed by caller. - * @param dev device of the scanner - * @param distance distance to move in MM - */ -static SANE_Status -simple_move (Genesys_Device * dev, SANE_Int distance); - -/** - * Does a simple scan of the area given by the settings. Scanned data - * it put in an allocated area which must be freed by the caller. - * and slope tables, based on the parameter struct. There is no shading - * correction while gamma correction is active. - * @param dev device to set up - * @param settings settings of the scan - * @param move flag to enable scanhead to move - * @param forward flag to tell movement direction - * @param shading flag to tell if shading correction should be done - * @param data pointer that will point to the scanned data - */ -static SANE_Status -simple_scan(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Settings settings, SANE_Bool move, SANE_Bool forward, - SANE_Bool shading, std::vector& data); - -/** - * Send the stop scan command - * */ -static SANE_Status -end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop, SANE_Bool eject); -/** - * writes control data to an area behind the last motor table. - */ -static SANE_Status write_control (Genesys_Device * dev, const Genesys_Sensor& sensor, - int resolution); - - -/** - * initialize scanner's registers at SANE init time - */ -static void gl646_init_regs (Genesys_Device * dev); - -static SANE_Status gl646_load_document (Genesys_Device * dev); - -static SANE_Status -gl646_detect_document_end (Genesys_Device * dev); - -#define FULL_STEP 0 -#define HALF_STEP 1 -#define QUATER_STEP 2 - -#define CALIBRATION_LINES 10 - -/** - * master motor settings table entry - */ -typedef struct -{ - /* key */ - SANE_Int motor; - SANE_Int dpi; - unsigned channels; - - /* settings */ - SANE_Int ydpi; /* real motor dpi, may be different from the resolution */ - SANE_Int steptype; /* 0=full, 1=half, 2=quarter */ - SANE_Bool fastmod; /* fast scanning 0/1 */ - SANE_Bool fastfed; /* fast fed slope tables */ - SANE_Int mtrpwm; - SANE_Int steps1; /* table 1 informations */ - SANE_Int vstart1; - SANE_Int vend1; - SANE_Int steps2; /* table 2 informations */ - SANE_Int vstart2; - SANE_Int vend2; - float g1; - float g2; - SANE_Int fwdbwd; /* forward/backward steps */ -} Motor_Master; - -/** - * master sensor settings table entry - */ -typedef struct -{ - /* key */ - SANE_Int sensor; /**< sensor identifier */ - SANE_Int dpi; /**< required dpi */ - unsigned channels; // 3 channels if color scan, 1 channel for gray scan - - /* settings */ - SANE_Int xdpi; /**< real sensor dpi, may be different from the required resolution */ - SANE_Int exposure; /**< exposure time */ - SANE_Int dpiset; /**< set sensor dpi */ - SANE_Int cksel; /**< dpiset 'divisor', part of reg 18h */ - SANE_Int dummy; /**< dummy exposure time */ - /* uint8_t regs_0x10_0x15[6];*/ - uint8_t *regs_0x10_0x15; /**< per color exposure time for CIS scanners */ - SANE_Bool half_ccd; /**> true if manual CCD/2 clock programming or real dpi is half dpiset */ - uint8_t r18; /**> content of register 18h */ - uint8_t r1d; /**> content of register 1dh */ -} Sensor_Master; - -/** - * settings for a given resolution and DPISET - * TODO clean up this when all scanners will have been added - */ -typedef struct -{ - /* key */ - SANE_Int sensor; - SANE_Int cksel; - - /* values */ - uint8_t regs_0x08_0x0b[4]; /**< settings for normal CCD clock */ - uint8_t manual_0x08_0x0b[4]; /**< settings for CCD/2 clock */ - uint8_t regs_0x16_0x1d[8]; - uint8_t regs_0x52_0x5e[13]; - uint8_t manual_0x52_0x58[7]; -} Sensor_Settings; - -static uint8_t xp200_color[6]={0x16, 0x44, 0x0c, 0x80, 0x09, 0x2e}; -static uint8_t xp200_gray[6]={0x05, 0x0a, 0x0f, 0xa0, 0x10, 0x10}; - -/** - * master sensor settings, for a given sensor and dpi, - * it gives exposure and CCD time - */ -static Sensor_Master sensor_master[] = { - /* HP3670 master settings */ - {CCD_HP3670, 75, 3, 75, 4879, 300, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 100, 3, 100, 4487, 400, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 150, 3, 150, 4879, 600, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 300, 3, 300, 4503, 1200, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 600, 3, 600, 10251, 1200, 2, 42, NULL, SANE_FALSE, 0x31, 0x43}, - {CCD_HP3670,1200, 3, 1200, 12750, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x43}, - {CCD_HP3670,2400, 3, 1200, 12750, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x43}, - {CCD_HP3670, 75, 1, 75, 4879, 300, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 100, 1, 100, 4487, 400, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 150, 1, 150, 4879, 600, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 300, 1, 300, 4503, 1200, 4, 42, NULL, SANE_FALSE, 0x33, 0x43}, - {CCD_HP3670, 600, 1, 600, 10251, 1200, 2, 42, NULL, SANE_FALSE, 0x31, 0x43}, - {CCD_HP3670,1200, 1, 1200, 12750, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x43}, - {CCD_HP3670,2400, 1, 1200, 12750, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x43}, - - /* HP 2400 master settings */ - {CCD_HP2400, 50, 3, 50, 7211, 200, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 100, 3, 100, 7211, 400, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 150, 3, 150, 7211, 600, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 300, 3, 300, 8751, 1200, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 600, 3, 600, 18760, 1200, 2, 42, NULL, SANE_FALSE, 0x31, 0x02}, - {CCD_HP2400,1200, 3, 1200, 21749, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x42}, - {CCD_HP2400, 50, 1, 50, 7211, 200, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 100, 1, 100, 7211, 400, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 150, 1, 150, 7211, 600, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 300, 1, 300, 8751, 1200, 4, 42, NULL, SANE_FALSE, 0x3f, 0x02}, - {CCD_HP2400, 600, 1, 600, 18760, 1200, 2, 42, NULL, SANE_FALSE, 0x31, 0x02}, - {CCD_HP2400,1200, 1, 1200, 21749, 1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x42}, - - /* XP 200 master settings */ - {CIS_XP200 , 75, 3, 75, 5700, 75, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 100, 3, 100, 5700, 100, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 200, 3, 200, 5700, 200, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 300, 3, 300, 9000, 300, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 600, 3, 600, 16000, 600, 1, 42, xp200_color, SANE_FALSE, 0x00, 0x11}, - - {CIS_XP200 , 75, 1, 75, 16000, 75, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 100, 1, 100, 7800, 100, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 200, 1, 200, 11000, 200, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 300, 1, 300, 13000, 300, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, - {CIS_XP200 , 600, 1, 600, 24000, 600, 1, 42, xp200_gray, SANE_FALSE, 0x00, 0x11}, - - /* HP 2300 master settings */ - {CCD_HP2300, 75, 3, 75, 4480, 150, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, - {CCD_HP2300, 150, 3, 150, 4350, 300, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, - {CCD_HP2300, 300, 3, 300, 4350, 600, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, - {CCD_HP2300, 600, 3, 600, 8700, 600, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, - {CCD_HP2300,1200, 3, 600, 8700, 600, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, - {CCD_HP2300, 75, 1, 75, 4480, 150, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, - {CCD_HP2300, 150, 1, 150, 4350, 300, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, - {CCD_HP2300, 300, 1, 300, 4350, 600, 1, 42, NULL, SANE_TRUE , 0x20, 0x85}, - {CCD_HP2300, 600, 1, 600, 8700, 600, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, - {CCD_HP2300,1200, 1, 600, 8700, 600, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, - /* non half ccd 300 dpi settings - {CCD_HP2300, 300, 3, 300, 8700, 300, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, - {CCD_HP2300, 300, 1, 300, 8700, 300, 1, 42, NULL, SANE_FALSE, 0x20, 0x05}, - */ - - /* MD5345/6471 master settings */ - {CCD_5345 , 50, 3, 50, 12000, 100, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 75, 3, 75, 11000, 150, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 100, 3, 100, 11000, 200, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 150, 3, 150, 11000, 300, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 200, 3, 200, 11000, 400, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 300, 3, 300, 11000, 600, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 400, 3, 400, 11000, 800, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 600, 3, 600, 11000,1200, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 ,1200, 3, 1200, 11000,1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x03}, - {CCD_5345 ,2400, 3, 1200, 11000,1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x03}, - {CCD_5345 , 50, 1, 50, 12000, 100, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 75, 1, 75, 11000, 150, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 100, 1, 100, 11000, 200, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 150, 1, 150, 11000, 300, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 200, 1, 200, 11000, 400, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 300, 1, 300, 11000, 600, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 400, 1, 400, 11000, 800, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 , 600, 1, 600, 11000,1200, 1, 42, NULL, SANE_TRUE , 0x28, 0x03}, - {CCD_5345 ,1200, 1, 1200, 11000,1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x03}, - {CCD_5345 ,2400, 1, 1200, 11000,1200, 1, 42, NULL, SANE_FALSE, 0x30, 0x03}, - -}; - -/** - * master motor settings, for a given motor and dpi, - * it gives steps and speed informations - */ -static Motor_Master motor_master[] = { - /* HP3670 motor settings */ - {MOTOR_HP3670, 75, 3, 75, FULL_STEP, SANE_FALSE, SANE_TRUE , 1, 200, 3429, 305, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 100, 3, 100, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 143, 2905, 187, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 150, 3, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 73, 3429, 305, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 300, 3, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 11, 1055, 563, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 600, 3, 600, FULL_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 10687, 5126, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670,1200, 3,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 15937, 6375, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670,2400, 3,2400, HALF_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 15937, 12750, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 75, 1, 75, FULL_STEP, SANE_FALSE, SANE_TRUE , 1, 200, 3429, 305, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 100, 1, 100, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 143, 2905, 187, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 150, 1, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 73, 3429, 305, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 300, 1, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 1, 11, 1055, 563, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670, 600, 1, 600, FULL_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 10687, 5126, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670,1200, 1,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 15937, 6375, 192, 3399, 337, 0.3, 0.4, 192}, - {MOTOR_HP3670,2400, 3,2400, HALF_STEP, SANE_FALSE, SANE_TRUE , 0, 3, 15937, 12750, 192, 3399, 337, 0.3, 0.4, 192}, - - /* HP2400/G2410 motor settings base motor dpi = 600 */ - {MOTOR_HP2400, 50, 3, 50, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 120, 8736, 601, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 100, 3, 100, HALF_STEP, SANE_FALSE, SANE_TRUE, 63, 120, 8736, 601, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 150, 3, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 67, 15902, 902, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 300, 3, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 32, 16703, 2188, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 600, 3, 600, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 18761, 18761, 192, 4905, 627, 0.30, 0.4, 192}, - {MOTOR_HP2400,1200, 3,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 43501, 43501, 192, 4905, 627, 0.30, 0.4, 192}, - {MOTOR_HP2400, 50, 1, 50, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 120, 8736, 601, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 100, 1, 100, HALF_STEP, SANE_FALSE, SANE_TRUE, 63, 120, 8736, 601, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 150, 1, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 67, 15902, 902, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 300, 1, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 32, 16703, 2188, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400, 600, 1, 600, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 18761, 18761, 192, 4905, 337, 0.30, 0.4, 192}, - {MOTOR_HP2400,1200, 1,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 43501, 43501, 192, 4905, 337, 0.30, 0.4, 192}, - - /* XP 200 motor settings */ - {MOTOR_XP200, 75, 3, 75, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6000, 2136, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 100, 3, 100, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6000, 2850, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 200, 3, 200, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6999, 5700, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 250, 3, 250, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6999, 6999, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 300, 3, 300, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 13500, 13500, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 600, 3, 600, HALF_STEP, SANE_TRUE , SANE_TRUE, 0, 4, 31998, 31998, 2, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 75, 1, 75, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6000, 2000, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 100, 1, 100, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6000, 1300, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 200, 1, 200, HALF_STEP, SANE_TRUE , SANE_TRUE, 0, 4, 6000, 3666, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 300, 1, 300, HALF_STEP, SANE_TRUE , SANE_FALSE, 0, 4, 6500, 6500, 8, 12000, 1200, 0.3, 0.5, 1}, - {MOTOR_XP200, 600, 1, 600, HALF_STEP, SANE_TRUE , SANE_TRUE, 0, 4, 24000, 24000, 2, 12000, 1200, 0.3, 0.5, 1}, - - /* HP scanjet 2300c */ - {MOTOR_HP2300, 75, 3, 75, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 120, 8139, 560, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 150, 3, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 67, 7903, 543, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 300, 3, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 2175, 1087, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 600, 3, 600, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 8700, 4350, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300,1200, 3,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 17400, 8700, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 75, 1, 75, FULL_STEP, SANE_FALSE, SANE_TRUE , 63, 120, 8139, 560, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 150, 1, 150, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 67, 7903, 543, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 300, 1, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 2175, 1087, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 600, 1, 600, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 8700, 4350, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300,1200, 1,1200, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 3, 17400, 8700, 120, 4905, 337, 0.3, 0.4, 16}, - /* non half ccd settings for 300 dpi - {MOTOR_HP2300, 300, 3, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 44, 5386, 2175, 120, 4905, 337, 0.3, 0.4, 16}, - {MOTOR_HP2300, 300, 1, 300, HALF_STEP, SANE_FALSE, SANE_TRUE , 63, 44, 5386, 2175, 120, 4905, 337, 0.3, 0.4, 16}, - */ - - /* MD5345/6471 motor settings */ - /* vfinal=(exposure/(1200/dpi))/step_type */ - {MOTOR_5345, 50, 3, 50, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 250, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 75, 3, 75, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 343, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 100, 3, 100, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 458, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 150, 3, 150, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 687, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 200, 3, 200, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 916, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 300, 3, 300, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 1375, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 400, 3, 400, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2000, 1833, 255, 2000, 300, 0.3, 0.4, 32}, - {MOTOR_5345, 500, 3, 500, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2291, 2291, 255, 2000, 300, 0.3, 0.4, 32}, - {MOTOR_5345, 600, 3, 600, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2750, 2750, 255, 2000, 300, 0.3, 0.4, 32}, - {MOTOR_5345, 1200, 3,1200, QUATER_STEP, SANE_FALSE, SANE_TRUE , 0, 16, 2750, 2750, 255, 2000, 300, 0.3, 0.4, 146}, - {MOTOR_5345, 2400, 3,2400, QUATER_STEP, SANE_FALSE, SANE_TRUE , 0, 16, 5500, 5500, 255, 2000, 300, 0.3, 0.4, 146}, - {MOTOR_5345, 50, 1, 50, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 250, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 75, 1, 75, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 343, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 100, 1, 100, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 458, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 150, 1, 150, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 687, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 200, 1, 200, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 916, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 300, 1, 300, HALF_STEP , SANE_FALSE, SANE_TRUE , 2, 255, 2500, 1375, 255, 2000, 300, 0.3, 0.4, 64}, - {MOTOR_5345, 400, 1, 400, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2000, 1833, 255, 2000, 300, 0.3, 0.4, 32}, - {MOTOR_5345, 500, 1, 500, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2291, 2291, 255, 2000, 300, 0.3, 0.4, 32}, - {MOTOR_5345, 600, 1, 600, HALF_STEP , SANE_FALSE, SANE_TRUE , 0, 32, 2750, 2750, 255, 2000, 300, 0.3, 0.4, 32}, - {MOTOR_5345, 1200, 1,1200, QUATER_STEP, SANE_FALSE, SANE_TRUE , 0, 16, 2750, 2750, 255, 2000, 300, 0.3, 0.4, 146}, - {MOTOR_5345, 2400, 1,2400, QUATER_STEP, SANE_FALSE, SANE_TRUE , 0, 16, 5500, 5500, 255, 2000, 300, 0.3, 0.4, 146}, /* 5500 guessed */ -}; - -/** - * sensor settings for a given sensor and timing method - */ -static Sensor_Settings sensor_settings[] = { - /* HP 3670 */ - {CCD_HP3670, 1, - {0x0d, 0x0f, 0x11, 0x13}, - {0x00, 0x00, 0x00, 0x00}, - {0x2b, 0x07, 0x30, 0x2a, 0x00, 0x00, 0xc0, 0x43}, - {0x03, 0x07, 0x0b, 0x0f, 0x13, 0x17, 0x23, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, }, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} - }, - {CCD_HP3670, 2, - {0x00, 0x05, 0x06, 0x08}, - {0x00, 0x00, 0x00, 0x00}, - {0x33, 0x07, 0x31, 0x2a, 0x02, 0x0e, 0xc0, 0x43}, - {0x0b, 0x0f, 0x13, 0x17, 0x03, 0x07, 0x63, 0x00, 0xc1, 0x02, 0x0e, 0x00, 0x00, }, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} - }, - {CCD_HP3670, 4, - {0x00, 0x0a, 0x0b, 0x0d}, - {0x00, 0x00, 0x00, 0x00}, - {0x33, 0x07, 0x33, 0x2a, 0x02, 0x13, 0xc0, 0x43}, - {0x0f, 0x13, 0x17, 0x03, 0x07, 0x0b, 0x83, 0x15, 0xc1, 0x05, 0x0a, 0x0f, 0x00, }, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} - }, - /* HP 2400 */ - {CCD_HP2400, 4, - {0x14, 0x15, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00}, - {0xbf, 0x08, 0x3f, 0x2a, 0x00, 0x00, 0x00, 0x02}, - {11, 15, 19, 23, 3, 7, 0x63, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00}, - {11, 15, 19, 23, 3, 7, 0x63} - }, - {CCD_HP2400, 2, - {14, 15, 0, 0}, - {14, 15, 0, 0}, - {0xbf, 0x08, 0x31, 0x2a, 0, 0, 0, 0x02}, - {3, 7, 11, 15, 19, 23, 0x23, 0, 0xc1, 0, 0, 0, 0}, - {3, 7, 11, 15, 19, 23, 0x23} - }, - {CCD_HP2400, 1, - {0x02, 0x04, 0x00, 0x00}, - {0x02, 0x04, 0x00, 0x00}, - {0xbf, 0x08, 0x30, 0x2a, 0x00, 0x00, 0xc0, 0x42}, - {0x0b, 0x0f, 0x13, 0x17, 0x03, 0x07, 0x63, 0x00, 0xc1, 0x00, 0x0e, 0x00, 0x00}, - {0x0b, 0x0f, 0x13, 0x17, 0x03, 0x07, 0x63} - }, - {CIS_XP200, 1, - {6, 7, 10, 4}, - {6, 7, 10, 4}, - {0x24, 0x04, 0x00, 0x2a, 0x0a, 0x0a, 0, 0x11}, - {8, 2, 0, 0, 0, 0, 0x1a, 0x51, 0, 0, 0, 0, 0}, - {8, 2, 0, 0, 0, 0, 0x1a} - }, - {CCD_HP2300, 1, - {0x01, 0x03, 0x04, 0x06}, - {0x16, 0x00, 0x01, 0x03}, - {0xb7, 0x0a, 0x20, 0x2a, 0x6a, 0x8a, 0x00, 0x05}, - {0x0f, 0x13, 0x17, 0x03, 0x07, 0x0b, 0x83, 0x00, 0xc1, 0x06, 0x0b, 0x10, 0x16}, - {0x0f, 0x13, 0x17, 0x03, 0x07, 0x0b, 0x83} - }, - {CCD_5345, 1, - {0x0d, 0x0f, 0x11, 0x13}, - {0x00, 0x05, 0x06, 0x08}, /* manual clock 1/2 settings or half ccd */ - {0x0b, 0x0a, 0x30, 0x2a, 0x00, 0x00, 0x00, 0x03, }, - {0x03, 0x07, 0x0b, 0x0f, 0x13, 0x17, 0x23, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00}, - {0x0f, 0x13, 0x17, 0x03, 0x07, 0x0b, 0x83} /* half ccd settings */ - }, -}; diff --git a/backend/genesys_gl841.cc b/backend/genesys_gl841.cc deleted file mode 100644 index 9e8fc15..0000000 --- a/backend/genesys_gl841.cc +++ /dev/null @@ -1,5624 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2003 Oliver Rauch - Copyright (C) 2003, 2004 Henning Meier-Geinitz - Copyright (C) 2004 Gerhard Jaeger - Copyright (C) 2004-2013 Stéphane Voltz - Copyright (C) 2005 Philipp Schmid - Copyright (C) 2005-2009 Pierre Willenbrock - Copyright (C) 2006 Laurent Charpentier - Copyright (C) 2010 Chris Berry and Michael Rickmann - for Plustek Opticbook 3600 support - - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#define DEBUG_DECLARE_ONLY - -#include "genesys_gl841.h" - -#include - -/**************************************************************************** - Low level function - ****************************************************************************/ - -/* ------------------------------------------------------------------------ */ -/* Read and write RAM, registers and AFE */ -/* ------------------------------------------------------------------------ */ - -/* Set address for writing data */ -static SANE_Status -gl841_set_buffer_address_gamma (Genesys_Device * dev, uint32_t addr) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_io, "%s: setting address to 0x%05x\n", __func__, addr & 0xfffffff0); - - addr = addr >> 4; - - status = sanei_genesys_write_register (dev, 0x5c, (addr & 0xff)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed while writing low byte: %s\n", __func__, sane_strstatus(status)); - return status; - } - - addr = addr >> 8; - status = sanei_genesys_write_register (dev, 0x5b, (addr & 0xff)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed while writing high byte: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_io, "%s: completed\n", __func__); - - return status; -} - -/**************************************************************************** - Mid level functions - ****************************************************************************/ - -static SANE_Bool -gl841_get_fast_feed_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, 0x02); - if (r && (r->value & REG02_FASTFED)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl841_get_filter_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, 0x04); - if (r && (r->value & REG04_FILTER)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl841_get_lineart_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, 0x04); - if (r && (r->value & REG04_LINEART)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl841_get_bitset_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, 0x04); - if (r && (r->value & REG04_BITSET)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl841_get_gain4_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, 0x06); - if (r && (r->value & REG06_GAIN4)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl841_test_buffer_empty_bit (SANE_Byte val) -{ - if (val & REG41_BUFEMPTY) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl841_test_motor_flag_bit (SANE_Byte val) -{ - if (val & REG41_MOTORENB) - return SANE_TRUE; - return SANE_FALSE; -} - -/** copy sensor specific settings */ -/* *dev : device infos - *regs : registers to be set - extended : do extended set up - half_ccd: set up for half ccd resolution - all registers 08-0B, 10-1D, 52-59 are set up. They shouldn't - appear anywhere else but in register_ini - -Responsible for signals to CCD/CIS: - CCD_CK1X (CK1INV(0x16),CKDIS(0x16),CKTOGGLE(0x18),CKDELAY(0x18),MANUAL1(0x1A),CK1MTGL(0x1C),CK1LOW(0x1D),CK1MAP(0x74,0x75,0x76),CK1NEG(0x7D)) - CCD_CK2X (CK2INV(0x16),CKDIS(0x16),CKTOGGLE(0x18),CKDELAY(0x18),MANUAL1(0x1A),CK1LOW(0x1D),CK1NEG(0x7D)) - CCD_CK3X (MANUAL3(0x1A),CK3INV(0x1A),CK3MTGL(0x1C),CK3LOW(0x1D),CK3MAP(0x77,0x78,0x79),CK3NEG(0x7D)) - CCD_CK4X (MANUAL3(0x1A),CK4INV(0x1A),CK4MTGL(0x1C),CK4LOW(0x1D),CK4MAP(0x7A,0x7B,0x7C),CK4NEG(0x7D)) - CCD_CPX (CTRLHI(0x16),CTRLINV(0x16),CTRLDIS(0x16),CPH(0x72),CPL(0x73),CPNEG(0x7D)) - CCD_RSX (CTRLHI(0x16),CTRLINV(0x16),CTRLDIS(0x16),RSH(0x70),RSL(0x71),RSNEG(0x7D)) - CCD_TGX (TGINV(0x16),TGMODE(0x17),TGW(0x17),EXPR(0x10,0x11),TGSHLD(0x1D)) - CCD_TGG (TGINV(0x16),TGMODE(0x17),TGW(0x17),EXPG(0x12,0x13),TGSHLD(0x1D)) - CCD_TGB (TGINV(0x16),TGMODE(0x17),TGW(0x17),EXPB(0x14,0x15),TGSHLD(0x1D)) - LAMP_SW (EXPR(0x10,0x11),XPA_SEL(0x03),LAMP_PWR(0x03),LAMPTIM(0x03),MTLLAMP(0x04),LAMPPWM(0x29)) - XPA_SW (EXPG(0x12,0x13),XPA_SEL(0x03),LAMP_PWR(0x03),LAMPTIM(0x03),MTLLAMP(0x04),LAMPPWM(0x29)) - LAMP_B (EXPB(0x14,0x15),LAMP_PWR(0x03)) - -other registers: - CISSET(0x01),CNSET(0x18),DCKSEL(0x18),SCANMOD(0x18),EXPDMY(0x19),LINECLP(0x1A),CKAREA(0x1C),TGTIME(0x1C),LINESEL(0x1E),DUMMY(0x34) - -Responsible for signals to AFE: - VSMP (VSMP(0x58),VSMPW(0x58)) - BSMP (BSMP(0x59),BSMPW(0x59)) - -other register settings depending on this: - RHI(0x52),RLOW(0x53),GHI(0x54),GLOW(0x55),BHI(0x56),BLOW(0x57), - -*/ -static void sanei_gl841_setup_sensor(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set * regs, - SANE_Bool extended, SANE_Bool half_ccd) -{ - DBG(DBG_proc, "%s\n", __func__); - - // that one is tricky at least - for (uint16_t addr = 0x08; addr <= 0x0b; ++addr) { - regs->set8(0x70 + addr - 0x08, sensor.custom_regs.get_value(addr)); - } - - // ignore registers in range [0x10..0x16) - for (uint16_t addr = 0x16; addr < 0x1e; ++addr) { - regs->set8(addr, sensor.custom_regs.get_value(addr)); - } - - // ignore registers in range [0x5b..0x5e] - for (uint16_t addr = 0x52; addr < 0x52 + 9; ++addr) { - regs->set8(addr, sensor.custom_regs.get_value(addr)); - } - - /* don't go any further if no extended setup */ - if (!extended) - return; - - /* todo : add more CCD types if needed */ - /* we might want to expand the Sensor struct to have these - 2 kind of settings */ - if (dev->model->ccd_type == CCD_5345) - { - if (half_ccd) - { - GenesysRegister* r; - /* settings for CCD used at half is max resolution */ - r = sanei_genesys_get_address (regs, 0x70); - r->value = 0x00; - r = sanei_genesys_get_address (regs, 0x71); - r->value = 0x05; - r = sanei_genesys_get_address (regs, 0x72); - r->value = 0x06; - r = sanei_genesys_get_address (regs, 0x73); - r->value = 0x08; - r = sanei_genesys_get_address (regs, 0x18); - r->value = 0x28; - r = sanei_genesys_get_address (regs, 0x58); - r->value = 0x80 | (r->value & 0x03); /* VSMP=16 */ - } - else - { - GenesysRegister* r; - /* swap latch times */ - r = sanei_genesys_get_address (regs, 0x18); - r->value = 0x30; - regs->set8(0x52, sensor.custom_regs.get_value(0x55)); - regs->set8(0x53, sensor.custom_regs.get_value(0x56)); - regs->set8(0x54, sensor.custom_regs.get_value(0x57)); - regs->set8(0x55, sensor.custom_regs.get_value(0x52)); - regs->set8(0x56, sensor.custom_regs.get_value(0x53)); - regs->set8(0x57, sensor.custom_regs.get_value(0x54)); - r = sanei_genesys_get_address (regs, 0x58); - r->value = 0x20 | (r->value & 0x03); /* VSMP=4 */ - } - return; - } - - if (dev->model->ccd_type == CCD_HP2300) - { - /* settings for CCD used at half is max resolution */ - GenesysRegister* r; - if (half_ccd) - { - r = sanei_genesys_get_address (regs, 0x70); - r->value = 0x16; - r = sanei_genesys_get_address (regs, 0x71); - r->value = 0x00; - r = sanei_genesys_get_address (regs, 0x72); - r->value = 0x01; - r = sanei_genesys_get_address (regs, 0x73); - r->value = 0x03; - /* manual clock programming */ - r = sanei_genesys_get_address (regs, 0x1d); - r->value |= 0x80; - } - else - { - r = sanei_genesys_get_address (regs, 0x70); - r->value = 1; - r = sanei_genesys_get_address (regs, 0x71); - r->value = 3; - r = sanei_genesys_get_address (regs, 0x72); - r->value = 4; - r = sanei_genesys_get_address (regs, 0x73); - r->value = 6; - } - r = sanei_genesys_get_address (regs, 0x58); - r->value = 0x80 | (r->value & 0x03); /* VSMP=16 */ - return; - } -} - -/** Test if the ASIC works - */ -/*TODO: make this functional*/ -static SANE_Status -sanei_gl841_asic_test (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - size_t size, verify_size; - unsigned int i; - - DBG(DBG_proc, "%s\n", __func__); - - return SANE_STATUS_INVAL; - - /* set and read exposure time, compare if it's the same */ - status = sanei_genesys_write_register (dev, 0x38, 0xde); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write register: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_write_register (dev, 0x39, 0xad); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write register: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_read_register (dev, 0x38, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read register: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (val != 0xde) /* value of register 0x38 */ - { - DBG(DBG_error, "%s: register contains invalid value\n", __func__); - return SANE_STATUS_IO_ERROR; - } - - status = sanei_genesys_read_register (dev, 0x39, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read register: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (val != 0xad) /* value of register 0x39 */ - { - DBG(DBG_error, "%s: register contains invalid value\n", __func__); - return SANE_STATUS_IO_ERROR; - } - - /* ram test: */ - size = 0x40000; - verify_size = size + 0x80; - /* todo: looks like the read size must be a multiple of 128? - otherwise the read doesn't succeed the second time after the scanner has - been plugged in. Very strange. */ - - std::vector data(size); - std::vector verify_data(verify_size); - - for (i = 0; i < (size - 1); i += 2) - { - data[i] = i / 512; - data[i + 1] = (i / 2) % 256; - } - - status = sanei_genesys_set_buffer_address (dev, 0x0000); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); - return status; - } - -/* status = sanei_genesys_bulk_write_data(dev, 0x3c, data, size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write data: %s\n", __func__, sane_strstatus(status)); - free (data); - free (verify_data); - return status; - }*/ - - status = sanei_genesys_set_buffer_address (dev, 0x0000); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_bulk_read_data(dev, 0x45, verify_data.data(), verify_size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* todo: why i + 2 ? */ - for (i = 0; i < size; i++) - { - if (verify_data[i] != data[i]) - { - DBG(DBG_error, "%s: data verification error\n", __func__); - DBG(DBG_info, "0x%.8x: got %.2x %.2x %.2x %.2x, expected %.2x %.2x %.2x %.2x\n", - i, - verify_data[i], - verify_data[i+1], - verify_data[i+2], - verify_data[i+3], - data[i], - data[i+1], - data[i+2], - data[i+3]); - return SANE_STATUS_IO_ERROR; - } - } - - DBG(DBG_info, "%s: completed\n", __func__); - - return SANE_STATUS_GOOD; -} - -/* - * Set all registers LiDE 80 to default values - * (function called only once at the beginning) - * we are doing a special case to ease development - */ -static void -gl841_init_lide80 (Genesys_Device * dev) -{ - uint8_t val; - - INITREG (0x01, 0x82); /* 0x02 = SHDAREA and no CISSET ! */ - INITREG (0x02, 0x10); - INITREG (0x03, 0x50); - INITREG (0x04, 0x02); - INITREG (0x05, 0x4c); /* 1200 DPI */ - INITREG (0x06, 0x38); /* 0x38 scanmod=1, pwrbit, GAIN4 */ - INITREG (0x07, 0x00); - INITREG (0x08, 0x00); - INITREG (0x09, 0x11); - INITREG (0x0a, 0x00); - - INITREG (0x10, 0x40); - INITREG (0x11, 0x00); - INITREG (0x12, 0x40); - INITREG (0x13, 0x00); - INITREG (0x14, 0x40); - INITREG (0x15, 0x00); - INITREG (0x16, 0x00); - INITREG (0x17, 0x01); - INITREG (0x18, 0x00); - INITREG (0x19, 0x06); - INITREG (0x1a, 0x00); - INITREG (0x1b, 0x00); - INITREG (0x1c, 0x00); - INITREG (0x1d, 0x04); - INITREG (0x1e, 0x10); - INITREG (0x1f, 0x04); - INITREG (0x20, 0x02); - INITREG (0x21, 0x10); - INITREG (0x22, 0x20); - INITREG (0x23, 0x20); - INITREG (0x24, 0x10); - INITREG (0x25, 0x00); - INITREG (0x26, 0x00); - INITREG (0x27, 0x00); - - INITREG (0x29, 0xff); - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - INITREG (0x2c, sensor.optical_res>>8); - INITREG (0x2d, sensor.optical_res & 0xff); - INITREG (0x2e, 0x80); - INITREG (0x2f, 0x80); - INITREG (0x30, 0x00); - INITREG (0x31, 0x10); - INITREG (0x32, 0x15); - INITREG (0x33, 0x0e); - INITREG (0x34, 0x40); - INITREG (0x35, 0x00); - INITREG (0x36, 0x2a); - INITREG (0x37, 0x30); - INITREG (0x38, 0x2a); - INITREG (0x39, 0xf8); - - INITREG (0x3d, 0x00); - INITREG (0x3e, 0x00); - INITREG (0x3f, 0x00); - - INITREG (0x52, 0x03); - INITREG (0x53, 0x07); - INITREG (0x54, 0x00); - INITREG (0x55, 0x00); - INITREG (0x56, 0x00); - INITREG (0x57, 0x00); - INITREG (0x58, 0x29); - INITREG (0x59, 0x69); - INITREG (0x5a, 0x55); - - INITREG (0x5d, 0x20); - INITREG (0x5e, 0x41); - INITREG (0x5f, 0x40); - INITREG (0x60, 0x00); - INITREG (0x61, 0x00); - INITREG (0x62, 0x00); - INITREG (0x63, 0x00); - INITREG (0x64, 0x00); - INITREG (0x65, 0x00); - INITREG (0x66, 0x00); - INITREG (0x67, 0x40); - INITREG (0x68, 0x40); - INITREG (0x69, 0x20); - INITREG (0x6a, 0x20); - INITREG (0x6c, dev->gpo.value[0]); - INITREG (0x6d, dev->gpo.value[1]); - INITREG (0x6e, dev->gpo.enable[0]); - INITREG (0x6f, dev->gpo.enable[1]); - INITREG (0x70, 0x00); - INITREG (0x71, 0x05); - INITREG (0x72, 0x07); - INITREG (0x73, 0x09); - INITREG (0x74, 0x00); - INITREG (0x75, 0x01); - INITREG (0x76, 0xff); - INITREG (0x77, 0x00); - INITREG (0x78, 0x0f); - INITREG (0x79, 0xf0); - INITREG (0x7a, 0xf0); - INITREG (0x7b, 0x00); - INITREG (0x7c, 0x1e); - INITREG (0x7d, 0x11); - INITREG (0x7e, 0x00); - INITREG (0x7f, 0x50); - INITREG (0x80, 0x00); - INITREG (0x81, 0x00); - INITREG (0x82, 0x0f); - INITREG (0x83, 0x00); - INITREG (0x84, 0x0e); - INITREG (0x85, 0x00); - INITREG (0x86, 0x0d); - INITREG (0x87, 0x02); - INITREG (0x88, 0x00); - INITREG (0x89, 0x00); - - /* specific scanner settings, clock and gpio first */ - sanei_genesys_read_register (dev, REG6B, &val); - sanei_genesys_write_register (dev, REG6B, 0x0c); - sanei_genesys_write_register (dev, 0x06, 0x10); - sanei_genesys_write_register (dev, REG6E, 0x6d); - sanei_genesys_write_register (dev, REG6F, 0x80); - sanei_genesys_write_register (dev, REG6B, 0x0e); - sanei_genesys_read_register (dev, REG6C, &val); - sanei_genesys_write_register (dev, REG6C, 0x00); - sanei_genesys_read_register (dev, REG6D, &val); - sanei_genesys_write_register (dev, REG6D, 0x8f); - sanei_genesys_read_register (dev, REG6B, &val); - sanei_genesys_write_register (dev, REG6B, 0x0e); - sanei_genesys_read_register (dev, REG6B, &val); - sanei_genesys_write_register (dev, REG6B, 0x0e); - sanei_genesys_read_register (dev, REG6B, &val); - sanei_genesys_write_register (dev, REG6B, 0x0a); - sanei_genesys_read_register (dev, REG6B, &val); - sanei_genesys_write_register (dev, REG6B, 0x02); - sanei_genesys_read_register (dev, REG6B, &val); - sanei_genesys_write_register (dev, REG6B, 0x06); - - sanei_genesys_write_0x8c (dev, 0x10, 0x94); - sanei_genesys_write_register (dev, 0x09, 0x10); - - /* set up GPIO : no address, so no bulk write, doesn't written directly either ? */ - /* - dev->reg.find_reg(0x6c).value = dev->gpo.value[0]; - dev->reg.find_reg(0x6d).value = dev->gpo.value[1]; - dev->reg.find_reg(0x6e).value = dev->gpo.enable[0]; - dev->reg.find_reg(0x6f).value = dev->gpo.enable[1]; */ - - // FIXME: the following code originally changed 0x6b, but due to bug the 0x6c register was - // effectively changed. The current behavior matches the old code, but should probably be fixed. - dev->reg.find_reg(0x6c).value |= REG6B_GPO18; - dev->reg.find_reg(0x6c).value &= ~REG6B_GPO17; - - sanei_gl841_setup_sensor(dev, sensor, &dev->reg, 0, 0); -} - -/* - * Set all registers to default values - * (function called only once at the beginning) - */ -static void -gl841_init_registers (Genesys_Device * dev) -{ - int addr; - - DBG(DBG_proc, "%s\n", __func__); - - dev->reg.clear(); - if (dev->model->model_id == MODEL_CANON_LIDE_80) - { - gl841_init_lide80(dev); - return ; - } - - for (addr = 1; addr <= 0x0a; addr++) { - dev->reg.init_reg(addr, 0); - } - for (addr = 0x10; addr <= 0x27; addr++) { - dev->reg.init_reg(addr, 0); - } - dev->reg.init_reg(0x29, 0); - for (addr = 0x2c; addr <= 0x39; addr++) - dev->reg.init_reg(addr, 0); - for (addr = 0x3d; addr <= 0x3f; addr++) - dev->reg.init_reg(addr, 0); - for (addr = 0x52; addr <= 0x5a; addr++) - dev->reg.init_reg(addr, 0); - for (addr = 0x5d; addr <= 0x87; addr++) - dev->reg.init_reg(addr, 0); - - - dev->reg.find_reg(0x01).value = 0x20; /* (enable shading), CCD, color, 1M */ - if (dev->model->is_cis == SANE_TRUE) { - dev->reg.find_reg(0x01).value |= REG01_CISSET; - } else { - dev->reg.find_reg(0x01).value &= ~REG01_CISSET; - } - - dev->reg.find_reg(0x02).value = 0x30 /*0x38 */ ; /* auto home, one-table-move, full step */ - dev->reg.find_reg(0x02).value |= REG02_AGOHOME; - sanei_genesys_set_motor_power(dev->reg, true); - dev->reg.find_reg(0x02).value |= REG02_FASTFED; - - dev->reg.find_reg(0x03).value = 0x1f /*0x17 */ ; /* lamp on */ - dev->reg.find_reg(0x03).value |= REG03_AVEENB; - - if (dev->model->ccd_type == CCD_PLUSTEK_3600) /* AD front end */ - { - dev->reg.find_reg(0x04).value = (2 << REG04S_AFEMOD) | 0x02; - } - else /* Wolfson front end */ - { - dev->reg.find_reg(0x04).value |= 1 << REG04S_AFEMOD; - } - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - dev->reg.find_reg(0x05).value = 0x00; /* disable gamma, 24 clocks/pixel */ - if (sensor.sensor_pixels < 0x1500) - dev->reg.find_reg(0x05).value |= REG05_DPIHW_600; - else if (sensor.sensor_pixels < 0x2a80) - dev->reg.find_reg(0x05).value |= REG05_DPIHW_1200; - else if (sensor.sensor_pixels < 0x5400) - dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; - else - { - dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; - DBG(DBG_warn, "%s: Cannot handle sensor pixel count %d\n", __func__, - sensor.sensor_pixels); - } - - - dev->reg.find_reg(0x06).value |= REG06_PWRBIT; - dev->reg.find_reg(0x06).value |= REG06_GAIN4; - - /* XP300 CCD needs different clock and clock/pixels values */ - if (dev->model->ccd_type != CCD_XP300 && dev->model->ccd_type != CCD_DP685 - && dev->model->ccd_type != CCD_PLUSTEK_3600) - { - dev->reg.find_reg(0x06).value |= 0 << REG06S_SCANMOD; - dev->reg.find_reg(0x09).value |= 1 << REG09S_CLKSET; - } - else - { - dev->reg.find_reg(0x06).value |= 0x05 << REG06S_SCANMOD; /* 15 clocks/pixel */ - dev->reg.find_reg(0x09).value = 0; /* 24 MHz CLKSET */ - } - - dev->reg.find_reg(0x1e).value = 0xf0; /* watch-dog time */ - - dev->reg.find_reg(0x17).value |= 1 << REG17S_TGW; - - dev->reg.find_reg(0x19).value = 0x50; - - dev->reg.find_reg(0x1d).value |= 1 << REG1DS_TGSHLD; - - dev->reg.find_reg(0x1e).value |= 1 << REG1ES_WDTIME; - -/*SCANFED*/ - dev->reg.find_reg(0x1f).value = 0x01; - -/*BUFSEL*/ - dev->reg.find_reg(0x20).value = 0x20; - -/*LAMPPWM*/ - dev->reg.find_reg(0x29).value = 0xff; - -/*BWHI*/ - dev->reg.find_reg(0x2e).value = 0x80; - -/*BWLOW*/ - dev->reg.find_reg(0x2f).value = 0x80; - -/*LPERIOD*/ - dev->reg.find_reg(0x38).value = 0x4f; - dev->reg.find_reg(0x39).value = 0xc1; - -/*VSMPW*/ - dev->reg.find_reg(0x58).value |= 3 << REG58S_VSMPW; - -/*BSMPW*/ - dev->reg.find_reg(0x59).value |= 3 << REG59S_BSMPW; - -/*RLCSEL*/ - dev->reg.find_reg(0x5a).value |= REG5A_RLCSEL; - -/*STOPTIM*/ - dev->reg.find_reg(0x5e).value |= 0x2 << REG5ES_STOPTIM; - - sanei_gl841_setup_sensor(dev, sensor, &dev->reg, 0, 0); - - /* set up GPIO */ - dev->reg.find_reg(0x6c).value = dev->gpo.value[0]; - dev->reg.find_reg(0x6d).value = dev->gpo.value[1]; - dev->reg.find_reg(0x6e).value = dev->gpo.enable[0]; - dev->reg.find_reg(0x6f).value = dev->gpo.enable[1]; - - /* TODO there is a switch calling to be written here */ - if (dev->model->gpo_type == GPO_CANONLIDE35) - { - dev->reg.find_reg(0x6b).value |= REG6B_GPO18; - dev->reg.find_reg(0x6b).value &= ~REG6B_GPO17; - } - - if (dev->model->gpo_type == GPO_XP300) - { - dev->reg.find_reg(0x6b).value |= REG6B_GPO17; - } - - if (dev->model->gpo_type == GPO_DP685) - { - /* REG6B_GPO18 lights on green led */ - dev->reg.find_reg(0x6b).value |= REG6B_GPO17|REG6B_GPO18; - } - - DBG(DBG_proc, "%s complete\n", __func__); -} - -/* Send slope table for motor movement - slope_table in machine byte order - */ -static SANE_Status -gl841_send_slope_table (Genesys_Device * dev, int table_nr, - uint16_t * slope_table, int steps) -{ - int dpihw; - int start_address; - SANE_Status status = SANE_STATUS_GOOD; - char msg[4000]; -/*#ifdef WORDS_BIGENDIAN*/ - int i; -/*#endif*/ - - DBG(DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, table_nr, steps); - - dpihw = dev->reg.find_reg(0x05).value >> 6; - - if (dpihw == 0) /* 600 dpi */ - start_address = 0x08000; - else if (dpihw == 1) /* 1200 dpi */ - start_address = 0x10000; - else if (dpihw == 2) /* 2400 dpi */ - start_address = 0x20000; - else /* reserved */ - return SANE_STATUS_INVAL; - - std::vector table(steps * 2); - for(i = 0; i < steps; i++) { - table[i * 2] = slope_table[i] & 0xff; - table[i * 2 + 1] = slope_table[i] >> 8; - } - - if (DBG_LEVEL >= DBG_io) - { - sprintf (msg, "write slope %d (%d)=", table_nr, steps); - for (i = 0; i < steps; i++) - { - sprintf (msg+strlen(msg), ",%d", slope_table[i]); - } - DBG(DBG_io, "%s: %s\n", __func__, msg); - } - - status = - sanei_genesys_set_buffer_address (dev, start_address + table_nr * 0x200); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_bulk_write_data(dev, 0x3c, table.data(), steps * 2); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send slope table: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_proc, "%s: completed\n", __func__); - return status; -} - -static SANE_Status -gl841_set_lide80_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - if (set == AFE_INIT) - { - DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); - - dev->frontend = dev->frontend_initial; - - /* write them to analog frontend */ - status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg 0x00 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - status = sanei_genesys_fe_write_data(dev, 0x03, dev->frontend.regs.get_value(0x01)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg 0x03 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - status = sanei_genesys_fe_write_data(dev, 0x06, dev->frontend.regs.get_value(0x02)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg 0x06 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - if (set == AFE_SET) - { - status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg 0x00 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - status = sanei_genesys_fe_write_data(dev, 0x06, dev->frontend.regs.get_value(0x20)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing offset failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - status = sanei_genesys_fe_write_data(dev, 0x03, dev->frontend.regs.get_value(0x28)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing gain failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - return status; - DBGCOMPLETED; -} - -/* Set values of Analog Device type frontend */ -static SANE_Status -gl841_set_ad_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - - /* special case for LiDE 80 analog frontend */ - if(dev->model->dac_type==DAC_CANONLIDE80) - { - return gl841_set_lide80_fe(dev, set); - } - - DBG(DBG_proc, "%s(): start\n", __func__); - if (set == AFE_INIT) - { - DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); - - dev->frontend = dev->frontend_initial; - - /* write them to analog frontend */ - status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg 0x00 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg 0x01 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - for (i = 0; i < 6; i++) - { - status = - sanei_genesys_fe_write_data (dev, 0x02 + i, 0x00); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing sign[%d] failed: %s\n", __func__, 0x02 + i, - sane_strstatus(status)); - return status; - } - } - } - if (set == AFE_SET) - { - /* write them to analog frontend */ - status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg 0x00 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg 0x01 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* Write fe 0x02 (red gain)*/ - status = sanei_genesys_fe_write_data(dev, 0x02, dev->frontend.get_gain(0)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing fe 0x02 (gain r) fail: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* Write fe 0x03 (green gain)*/ - status = sanei_genesys_fe_write_data(dev, 0x03, dev->frontend.get_gain(1)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing fe 0x03 (gain g) fail: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* Write fe 0x04 (blue gain)*/ - status = sanei_genesys_fe_write_data(dev, 0x04, dev->frontend.get_gain(2)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing fe 0x04 (gain b) fail: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* Write fe 0x05 (red offset)*/ - status = - sanei_genesys_fe_write_data(dev, 0x05, dev->frontend.get_offset(0)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: write fe 0x05 (offset r) fail: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* Write fe 0x06 (green offset)*/ - status = - sanei_genesys_fe_write_data(dev, 0x06, dev->frontend.get_offset(1)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: write fe 0x06 (offset g) fail: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* Write fe 0x07 (blue offset)*/ - status = - sanei_genesys_fe_write_data(dev, 0x07, dev->frontend.get_offset(2)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: write fe 0x07 (offset b) fail: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - DBG(DBG_proc, "%s(): end\n", __func__); - - return status; -} - -/* Set values of analog frontend */ -static SANE_Status -gl841_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set) -{ - (void) sensor; - SANE_Status status = SANE_STATUS_GOOD; - int i; - - DBG(DBG_proc, "%s (%s)\n", __func__, - set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == - AFE_POWER_SAVE ? "powersave" : "huh?"); - - /* Analog Device type frontend */ - if ((dev->reg.find_reg(0x04).value & REG04_FESET) == 0x02) - { - return gl841_set_ad_fe (dev, set); - } - - if ((dev->reg.find_reg(0x04).value & REG04_FESET) != 0x00) - { - DBG(DBG_proc, "%s(): unsupported frontend type %d\n", __func__, - dev->reg.find_reg(0x04).value & REG04_FESET); - return SANE_STATUS_UNSUPPORTED; - } - - if (set == AFE_INIT) - { - DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); - dev->frontend = dev->frontend_initial; - - /* reset only done on init */ - status = sanei_genesys_fe_write_data (dev, 0x04, 0x80); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: reset fe failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - DBG(DBG_proc, "%s(): frontend reset complete\n", __func__); - } - - - if (set == AFE_POWER_SAVE) - { - status = sanei_genesys_fe_write_data (dev, 0x01, 0x02); - if (status != SANE_STATUS_GOOD) { - DBG(DBG_error, "%s: writing data failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - return status; - } - - /* todo : base this test on cfg reg3 or a CCD family flag to be created */ - /*if (dev->model->ccd_type!=CCD_HP2300 && dev->model->ccd_type!=CCD_HP2400) */ - { - - status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg0 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - status = sanei_genesys_fe_write_data(dev, 0x02, dev->frontend.regs.get_value(0x02)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg2 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg1 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_fe_write_data(dev, 0x03, dev->frontend.regs.get_value(0x03)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg3 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_fe_write_data (dev, 0x06, dev->frontend.reg2[0]); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg6 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_fe_write_data (dev, 0x08, dev->frontend.reg2[1]); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg8 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_fe_write_data (dev, 0x09, dev->frontend.reg2[2]); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg9 failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - for (i = 0; i < 3; i++) - { - status = - sanei_genesys_fe_write_data(dev, 0x24 + i, dev->frontend.regs.get_value(0x24 + i)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing sign[%d] failed: %s\n", __func__, i, - sane_strstatus(status)); - return status; - } - - status = - sanei_genesys_fe_write_data(dev, 0x28 + i, dev->frontend.get_gain(i)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing gain[%d] failed: %s\n", __func__, i, - sane_strstatus(status)); - return status; - } - - status = - sanei_genesys_fe_write_data(dev, 0x20 + i, - dev->frontend.get_offset(i)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing offset[%d] failed: %s\n", __func__, i, - sane_strstatus(status)); - return status; - } - } - - - DBG(DBG_proc, "%s: completed\n", __func__); - - return SANE_STATUS_GOOD; -} - -#define MOTOR_ACTION_FEED 1 -#define MOTOR_ACTION_GO_HOME 2 -#define MOTOR_ACTION_HOME_FREE 3 - -/** @brief turn off motor - * - */ -static SANE_Status -gl841_init_motor_regs_off(Genesys_Register_Set * reg, - unsigned int scan_lines) -{ - unsigned int feedl; - GenesysRegister* r; - - DBG(DBG_proc, "%s : scan_lines=%d\n", __func__, scan_lines); - - feedl = 2; - - r = sanei_genesys_get_address (reg, 0x3d); - r->value = (feedl >> 16) & 0xf; - r = sanei_genesys_get_address (reg, 0x3e); - r->value = (feedl >> 8) & 0xff; - r = sanei_genesys_get_address (reg, 0x3f); - r->value = feedl & 0xff; - r = sanei_genesys_get_address (reg, 0x5e); - r->value &= ~0xe0; - - r = sanei_genesys_get_address (reg, 0x25); - r->value = (scan_lines >> 16) & 0xf; - r = sanei_genesys_get_address (reg, 0x26); - r->value = (scan_lines >> 8) & 0xff; - r = sanei_genesys_get_address (reg, 0x27); - r->value = scan_lines & 0xff; - - r = sanei_genesys_get_address (reg, 0x02); - r->value &= ~0x01; /*LONGCURV OFF*/ - r->value &= ~0x80; /*NOT_HOME OFF*/ - - r->value &= ~0x10; - - r->value &= ~0x06; - - r->value &= ~0x08; - - r->value &= ~0x20; - - r->value &= ~0x40; - - r = sanei_genesys_get_address (reg, 0x67); - r->value = 0x3f; - - r = sanei_genesys_get_address (reg, 0x68); - r->value = 0x3f; - - r = sanei_genesys_get_address (reg, REG_STEPNO); - r->value = 0; - - r = sanei_genesys_get_address (reg, REG_FASTNO); - r->value = 0; - - r = sanei_genesys_get_address (reg, 0x69); - r->value = 0; - - r = sanei_genesys_get_address (reg, 0x6a); - r->value = 0; - - r = sanei_genesys_get_address (reg, 0x5f); - r->value = 0; - - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief write motor table frequency - * Write motor frequency data table. - * @param dev device to set up motor - * @param ydpi motor target resolution - * @return SANE_STATUS_GOOD on success - */ -static SANE_Status gl841_write_freq(Genesys_Device *dev, unsigned int ydpi) -{ -SANE_Status status = SANE_STATUS_GOOD; -/**< fast table */ -uint8_t tdefault[] = {0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0x36,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xb6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0xf6,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76,0x18,0x76}; -uint8_t t1200[] = {0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc7,0x31,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc0,0x11,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0xc7,0xb1,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0x07,0xe0,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc7,0xf1,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc0,0x51,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0xc7,0x71,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20,0x07,0x20}; -uint8_t t300[] = {0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x08,0x32,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x00,0x13,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x08,0xb2,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x0c,0xa0,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x08,0xf2,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x00,0xd3,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x08,0x72,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60,0x0c,0x60}; -uint8_t t150[] = {0x0c,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0xcf,0x33,0x40,0x14,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x80,0x15,0x0c,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0xcf,0xb3,0x11,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x16,0xa0,0x0c,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0x40,0xd4,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x80,0xd5,0x0c,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0xcf,0x73,0x11,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60,0x16,0x60}; - -uint8_t *table; - - DBGSTART; - if(dev->model->motor_type == MOTOR_CANONLIDE80) - { - switch(ydpi) - { - case 3600: - case 1200: - table=t1200; - break; - case 900: - case 300: - table=t300; - break; - case 450: - case 150: - table=t150; - break; - default: - table=tdefault; - } - RIE(sanei_genesys_write_register(dev, 0x66, 0x00)); - RIE(sanei_genesys_write_register(dev, 0x5b, 0x0c)); - RIE(sanei_genesys_write_register(dev, 0x5c, 0x00)); - RIE(sanei_genesys_bulk_write_data(dev, 0x28, table, 128)); - RIE(sanei_genesys_write_register(dev, 0x5b, 0x00)); - RIE(sanei_genesys_write_register(dev, 0x5c, 0x00)); - } - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -static SANE_Status -gl841_init_motor_regs(Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, - unsigned int feed_steps,/*1/base_ydpi*/ -/*maybe float for half/quarter step resolution?*/ - unsigned int action, - unsigned int flags) -{ - SANE_Status status = SANE_STATUS_GOOD; - unsigned int fast_exposure; - int scan_power_mode; - int use_fast_fed = 0; - uint16_t fast_slope_table[256]; - unsigned int fast_slope_steps = 0; - unsigned int feedl; - GenesysRegister* r; -/*number of scan lines to add in a scan_lines line*/ - - DBG(DBG_proc, "%s : feed_steps=%d, action=%d, flags=%x\n", __func__, feed_steps, action, flags); - - memset(fast_slope_table,0xff,512); - - gl841_send_slope_table (dev, 0, fast_slope_table, 256); - gl841_send_slope_table (dev, 1, fast_slope_table, 256); - gl841_send_slope_table (dev, 2, fast_slope_table, 256); - gl841_send_slope_table (dev, 3, fast_slope_table, 256); - gl841_send_slope_table (dev, 4, fast_slope_table, 256); - - gl841_write_freq(dev, dev->motor.base_ydpi / 4); - - fast_slope_steps = 256; - if (action == MOTOR_ACTION_FEED || action == MOTOR_ACTION_GO_HOME) - { - /* FEED and GO_HOME can use fastest slopes available */ - fast_exposure = gl841_exposure_time(dev, sensor, - dev->motor.base_ydpi / 4, - 0, - 0, - 0, - &scan_power_mode); - DBG(DBG_info, "%s : fast_exposure=%d pixels\n", __func__, fast_exposure); - } - - if (action == MOTOR_ACTION_HOME_FREE) { -/* HOME_FREE must be able to stop in one step, so do not try to get faster */ - fast_exposure = dev->motor.slopes[0][0].maximum_start_speed; - } - - sanei_genesys_create_slope_table3 ( - dev, - fast_slope_table, - 256, - fast_slope_steps, - 0, - fast_exposure, - dev->motor.base_ydpi / 4, - &fast_slope_steps, - &fast_exposure, 0); - - feedl = feed_steps - fast_slope_steps*2; - use_fast_fed = 1; - -/* all needed slopes available. we did even decide which mode to use. - what next? - - transfer slopes -SCAN: -flags \ use_fast_fed ! 0 1 -------------------------\-------------------- - 0 ! 0,1,2 0,1,2,3 -MOTOR_FLAG_AUTO_GO_HOME ! 0,1,2,4 0,1,2,3,4 -OFF: none -FEED: 3 -GO_HOME: 3 -HOME_FREE: 3 - - setup registers - * slope specific registers (already done) - * DECSEL for HOME_FREE/GO_HOME/SCAN - * FEEDL - * MTRREV - * MTRPWR - * FASTFED - * STEPSEL - * MTRPWM - * FSTPSEL - * FASTPWM - * HOMENEG - * BWDSTEP - * FWDSTEP - * Z1 - * Z2 - */ - - r = sanei_genesys_get_address(reg, 0x3d); - r->value = (feedl >> 16) & 0xf; - r = sanei_genesys_get_address(reg, 0x3e); - r->value = (feedl >> 8) & 0xff; - r = sanei_genesys_get_address(reg, 0x3f); - r->value = feedl & 0xff; - r = sanei_genesys_get_address(reg, 0x5e); - r->value &= ~0xe0; - - r = sanei_genesys_get_address(reg, 0x25); - r->value = 0; - r = sanei_genesys_get_address(reg, 0x26); - r->value = 0; - r = sanei_genesys_get_address(reg, 0x27); - r->value = 0; - - r = sanei_genesys_get_address(reg, 0x02); - r->value &= ~0x01; /*LONGCURV OFF*/ - r->value &= ~0x80; /*NOT_HOME OFF*/ - - r->value |= 0x10; - - if (action == MOTOR_ACTION_GO_HOME) - r->value |= 0x06; - else - r->value &= ~0x06; - - if (use_fast_fed) - r->value |= 0x08; - else - r->value &= ~0x08; - - if (flags & MOTOR_FLAG_AUTO_GO_HOME) - r->value |= 0x20; - else - r->value &= ~0x20; - - r->value &= ~0x40; - - status = gl841_send_slope_table (dev, 3, fast_slope_table, 256); - - if (status != SANE_STATUS_GOOD) - return status; - - r = sanei_genesys_get_address(reg, 0x67); - r->value = 0x3f; - - r = sanei_genesys_get_address(reg, 0x68); - r->value = 0x3f; - - r = sanei_genesys_get_address(reg, REG_STEPNO); - r->value = 0; - - r = sanei_genesys_get_address(reg, REG_FASTNO); - r->value = 0; - - r = sanei_genesys_get_address(reg, 0x69); - r->value = 0; - - r = sanei_genesys_get_address(reg, 0x6a); - r->value = (fast_slope_steps >> 1) + (fast_slope_steps & 1); - - r = sanei_genesys_get_address(reg, 0x5f); - r->value = (fast_slope_steps >> 1) + (fast_slope_steps & 1); - - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl841_init_motor_regs_scan(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, - unsigned int scan_exposure_time,/*pixel*/ - float scan_yres,/*dpi, motor resolution*/ - int scan_step_type,/*0: full, 1: half, 2: quarter*/ - unsigned int scan_lines,/*lines, scan resolution*/ - unsigned int scan_dummy, -/*number of scan lines to add in a scan_lines line*/ - unsigned int feed_steps,/*1/base_ydpi*/ -/*maybe float for half/quarter step resolution?*/ - int scan_power_mode, - unsigned int flags) -{ - SANE_Status status = SANE_STATUS_GOOD; - unsigned int fast_exposure; - int use_fast_fed = 0; - int dummy_power_mode; - unsigned int fast_time; - unsigned int slow_time; - uint16_t slow_slope_table[256]; - uint16_t fast_slope_table[256]; - uint16_t back_slope_table[256]; - unsigned int slow_slope_time; - unsigned int fast_slope_time; - unsigned int slow_slope_steps = 0; - unsigned int fast_slope_steps = 0; - unsigned int back_slope_steps = 0; - unsigned int feedl; - GenesysRegister* r; - unsigned int min_restep = 0x20; - uint32_t z1, z2; - - DBG(DBG_proc, "%s : scan_exposure_time=%d, scan_yres=%g, scan_step_type=%d, scan_lines=%d," - " scan_dummy=%d, feed_steps=%d, scan_power_mode=%d, flags=%x\n", __func__, - scan_exposure_time, - scan_yres, - scan_step_type, - scan_lines, - scan_dummy, - feed_steps, - scan_power_mode, - flags); - - fast_exposure = gl841_exposure_time(dev, sensor, - dev->motor.base_ydpi / 4, - 0, - 0, - 0, - &dummy_power_mode); - - DBG(DBG_info, "%s : fast_exposure=%d pixels\n", __func__, fast_exposure); - - memset(slow_slope_table,0xff,512); - - gl841_send_slope_table (dev, 0, slow_slope_table, 256); - gl841_send_slope_table (dev, 1, slow_slope_table, 256); - gl841_send_slope_table (dev, 2, slow_slope_table, 256); - gl841_send_slope_table (dev, 3, slow_slope_table, 256); - gl841_send_slope_table (dev, 4, slow_slope_table, 256); - - /* motor frequency table */ - gl841_write_freq(dev, scan_yres); - -/* - we calculate both tables for SCAN. the fast slope step count depends on - how many steps we need for slow acceleration and how much steps we are - allowed to use. - */ - slow_slope_time = sanei_genesys_create_slope_table3 ( - dev, - slow_slope_table, 256, - 256, - scan_step_type, - scan_exposure_time, - scan_yres, - &slow_slope_steps, - NULL, - scan_power_mode); - - sanei_genesys_create_slope_table3 ( - dev, - back_slope_table, 256, - 256, - scan_step_type, - 0, - scan_yres, - &back_slope_steps, - NULL, - scan_power_mode); - - if (feed_steps < (slow_slope_steps >> scan_step_type)) { - /*TODO: what should we do here?? go back to exposure calculation?*/ - feed_steps = slow_slope_steps >> scan_step_type; - } - - if (feed_steps > fast_slope_steps*2 - - (slow_slope_steps >> scan_step_type)) - fast_slope_steps = 256; - else -/* we need to shorten fast_slope_steps here. */ - fast_slope_steps = (feed_steps - - (slow_slope_steps >> scan_step_type))/2; - - DBG(DBG_info, "%s: Maximum allowed slope steps for fast slope: %d\n", __func__, - fast_slope_steps); - - fast_slope_time = sanei_genesys_create_slope_table3 ( - dev, - fast_slope_table, 256, - fast_slope_steps, - 0, - fast_exposure, - dev->motor.base_ydpi / 4, - &fast_slope_steps, - &fast_exposure, - scan_power_mode); - - /* fast fed special cases handling */ - if (dev->model->gpo_type == GPO_XP300 - || dev->model->gpo_type == GPO_DP685) - { - /* quirk: looks like at least this scanner is unable to use - 2-feed mode */ - use_fast_fed = 0; - } - else if (feed_steps < fast_slope_steps*2 + (slow_slope_steps >> scan_step_type)) { - use_fast_fed = 0; - DBG(DBG_info, "%s: feed too short, slow move forced.\n", __func__); - } else { -/* for deciding whether we should use fast mode we need to check how long we - need for (fast)accelerating, moving, decelerating, (TODO: stopping?) - (slow)accelerating again versus (slow)accelerating and moving. we need - fast and slow tables here. -*/ -/*NOTE: scan_exposure_time is per scan_yres*/ -/*NOTE: fast_exposure is per base_ydpi/4*/ -/*we use full steps as base unit here*/ - fast_time = - fast_exposure / 4 * - (feed_steps - fast_slope_steps*2 - - (slow_slope_steps >> scan_step_type)) - + fast_slope_time*2 + slow_slope_time; - slow_time = - (scan_exposure_time * scan_yres) / dev->motor.base_ydpi * - (feed_steps - (slow_slope_steps >> scan_step_type)) - + slow_slope_time; - - DBG(DBG_info, "%s: Time for slow move: %d\n", __func__, slow_time); - DBG(DBG_info, "%s: Time for fast move: %d\n", __func__, fast_time); - - use_fast_fed = fast_time < slow_time; - } - - if (use_fast_fed) - feedl = feed_steps - fast_slope_steps*2 - - (slow_slope_steps >> scan_step_type); - else - if ((feed_steps << scan_step_type) < slow_slope_steps) - feedl = 0; - else - feedl = (feed_steps << scan_step_type) - slow_slope_steps; - DBG(DBG_info, "%s: Decided to use %s mode\n", __func__, use_fast_fed?"fast feed":"slow feed"); - -/* all needed slopes available. we did even decide which mode to use. - what next? - - transfer slopes -SCAN: -flags \ use_fast_fed ! 0 1 -------------------------\-------------------- - 0 ! 0,1,2 0,1,2,3 -MOTOR_FLAG_AUTO_GO_HOME ! 0,1,2,4 0,1,2,3,4 -OFF: none -FEED: 3 -GO_HOME: 3 -HOME_FREE: 3 - - setup registers - * slope specific registers (already done) - * DECSEL for HOME_FREE/GO_HOME/SCAN - * FEEDL - * MTRREV - * MTRPWR - * FASTFED - * STEPSEL - * MTRPWM - * FSTPSEL - * FASTPWM - * HOMENEG - * BWDSTEP - * FWDSTEP - * Z1 - * Z2 - */ - - r = sanei_genesys_get_address (reg, 0x3d); - r->value = (feedl >> 16) & 0xf; - r = sanei_genesys_get_address (reg, 0x3e); - r->value = (feedl >> 8) & 0xff; - r = sanei_genesys_get_address (reg, 0x3f); - r->value = feedl & 0xff; - r = sanei_genesys_get_address (reg, 0x5e); - r->value &= ~0xe0; - - r = sanei_genesys_get_address (reg, 0x25); - r->value = (scan_lines >> 16) & 0xf; - r = sanei_genesys_get_address (reg, 0x26); - r->value = (scan_lines >> 8) & 0xff; - r = sanei_genesys_get_address (reg, 0x27); - r->value = scan_lines & 0xff; - - r = sanei_genesys_get_address (reg, 0x02); - r->value &= ~0x01; /*LONGCURV OFF*/ - r->value &= ~0x80; /*NOT_HOME OFF*/ - r->value |= 0x10; - - r->value &= ~0x06; - - if (use_fast_fed) - r->value |= 0x08; - else - r->value &= ~0x08; - - if (flags & MOTOR_FLAG_AUTO_GO_HOME) - r->value |= 0x20; - else - r->value &= ~0x20; - - if (flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) - r->value |= 0x40; - else - r->value &= ~0x40; - - status = gl841_send_slope_table (dev, 0, slow_slope_table, 256); - - if (status != SANE_STATUS_GOOD) - return status; - - status = gl841_send_slope_table (dev, 1, back_slope_table, 256); - - if (status != SANE_STATUS_GOOD) - return status; - - status = gl841_send_slope_table (dev, 2, slow_slope_table, 256); - - if (status != SANE_STATUS_GOOD) - return status; - - if (use_fast_fed) { - status = gl841_send_slope_table (dev, 3, fast_slope_table, 256); - - if (status != SANE_STATUS_GOOD) - return status; - } - - if (flags & MOTOR_FLAG_AUTO_GO_HOME){ - status = gl841_send_slope_table (dev, 4, fast_slope_table, 256); - - if (status != SANE_STATUS_GOOD) - return status; - } - - -/* now reg 0x21 and 0x24 are available, we can calculate reg 0x22 and 0x23, - reg 0x60-0x62 and reg 0x63-0x65 - rule: - 2*STEPNO+FWDSTEP=2*FASTNO+BWDSTEP -*/ -/* steps of table 0*/ - if (min_restep < slow_slope_steps*2+2) - min_restep = slow_slope_steps*2+2; -/* steps of table 1*/ - if (min_restep < back_slope_steps*2+2) - min_restep = back_slope_steps*2+2; -/* steps of table 0*/ - r = sanei_genesys_get_address (reg, REG_FWDSTEP); - r->value = min_restep - slow_slope_steps*2; -/* steps of table 1*/ - r = sanei_genesys_get_address (reg, REG_BWDSTEP); - r->value = min_restep - back_slope_steps*2; - -/* - for z1/z2: - in dokumentation mentioned variables a-d: - a = time needed for acceleration, table 1 - b = time needed for reg 0x1f... wouldn't that be reg0x1f*exposure_time? - c = time needed for acceleration, table 1 - d = time needed for reg 0x22... wouldn't that be reg0x22*exposure_time? - z1 = (c+d-1) % exposure_time - z2 = (a+b-1) % exposure_time -*/ -/* i don't see any effect of this. i can only guess that this will enhance - sub-pixel accuracy - z1 = (slope_0_time-1) % exposure_time; - z2 = (slope_0_time-1) % exposure_time; -*/ - z1 = z2 = 0; - - DBG(DBG_info, "%s: z1 = %d\n", __func__, z1); - DBG(DBG_info, "%s: z2 = %d\n", __func__, z2); - r = sanei_genesys_get_address (reg, 0x60); - r->value = ((z1 >> 16) & 0xff); - r = sanei_genesys_get_address (reg, 0x61); - r->value = ((z1 >> 8) & 0xff); - r = sanei_genesys_get_address (reg, 0x62); - r->value = (z1 & 0xff); - r = sanei_genesys_get_address (reg, 0x63); - r->value = ((z2 >> 16) & 0xff); - r = sanei_genesys_get_address (reg, 0x64); - r->value = ((z2 >> 8) & 0xff); - r = sanei_genesys_get_address (reg, 0x65); - r->value = (z2 & 0xff); - - r = sanei_genesys_get_address (reg, REG1E); - r->value &= REG1E_WDTIME; - r->value |= scan_dummy; - - r = sanei_genesys_get_address (reg, 0x67); - r->value = 0x3f | (scan_step_type << 6); - - r = sanei_genesys_get_address (reg, 0x68); - r->value = 0x3f; - - r = sanei_genesys_get_address (reg, REG_STEPNO); - r->value = (slow_slope_steps >> 1) + (slow_slope_steps & 1); - - r = sanei_genesys_get_address (reg, REG_FASTNO); - r->value = (back_slope_steps >> 1) + (back_slope_steps & 1); - - r = sanei_genesys_get_address (reg, 0x69); - r->value = (slow_slope_steps >> 1) + (slow_slope_steps & 1); - - r = sanei_genesys_get_address (reg, 0x6a); - r->value = (fast_slope_steps >> 1) + (fast_slope_steps & 1); - - r = sanei_genesys_get_address (reg, 0x5f); - r->value = (fast_slope_steps >> 1) + (fast_slope_steps & 1); - - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static int -gl841_get_dpihw(Genesys_Device * dev) -{ - GenesysRegister* r; - r = sanei_genesys_get_address(&dev->reg, 0x05); - if ((r->value & REG05_DPIHW) == REG05_DPIHW_600) - return 600; - if ((r->value & REG05_DPIHW) == REG05_DPIHW_1200) - return 1200; - if ((r->value & REG05_DPIHW) == REG05_DPIHW_2400) - return 2400; - return 0; -} - -static SANE_Status -gl841_init_optical_regs_off(Genesys_Register_Set * reg) -{ - GenesysRegister* r; - - DBGSTART; - - r = sanei_genesys_get_address(reg, 0x01); - r->value &= ~REG01_SCAN; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl841_init_optical_regs_scan(Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, - unsigned int exposure_time, - unsigned int used_res, - unsigned int start, - unsigned int pixels, - int channels, - int depth, - SANE_Bool half_ccd, - ColorFilter color_filter, - int flags - ) -{ - unsigned int words_per_line; - unsigned int end; - unsigned int dpiset; - GenesysRegister* r; - SANE_Status status = SANE_STATUS_GOOD; - uint16_t expavg, expr, expb, expg; - - DBG(DBG_proc, "%s : exposure_time=%d, used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " - "half_ccd=%d, flags=%x\n", __func__, - exposure_time, - used_res, - start, - pixels, - channels, - depth, - half_ccd, - flags); - - end = start + pixels; - - status = gl841_set_fe(dev, sensor, AFE_SET); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* adjust used_res for chosen dpihw */ - used_res = used_res * gl841_get_dpihw(dev) / sensor.optical_res; - -/* - with half_ccd the optical resolution of the ccd is halved. We don't apply this - to dpihw, so we need to double dpiset. - - For the scanner only the ratio of dpiset and dpihw is of relevance to scale - down properly. -*/ - if (half_ccd) - dpiset = used_res * 2; - else - dpiset = used_res; - - /* gpio part.*/ - if (dev->model->gpo_type == GPO_CANONLIDE35) - { - r = sanei_genesys_get_address (reg, REG6C); - if (half_ccd) - r->value &= ~0x80; - else - r->value |= 0x80; - } - if (dev->model->gpo_type == GPO_CANONLIDE80) - { - r = sanei_genesys_get_address (reg, REG6C); - if (half_ccd) - { - r->value &= ~0x40; - r->value |= 0x20; - } - else - { - r->value &= ~0x20; - r->value |= 0x40; - } - } - - /* enable shading */ - r = sanei_genesys_get_address (reg, 0x01); - r->value |= REG01_SCAN; - if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || - (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) - r->value &= ~REG01_DVDSET; - else - r->value |= REG01_DVDSET; - - /* average looks better than deletion, and we are already set up to - use one of the average enabled resolutions - */ - r = sanei_genesys_get_address (reg, 0x03); - r->value |= REG03_AVEENB; - sanei_genesys_set_lamp_power(dev, sensor, *reg, !(flags & OPTICAL_FLAG_DISABLE_LAMP)); - - /* BW threshold */ - r = sanei_genesys_get_address (reg, 0x2e); - r->value = dev->settings.threshold; - r = sanei_genesys_get_address (reg, 0x2f); - r->value = dev->settings.threshold; - - - /* monochrome / color scan */ - r = sanei_genesys_get_address (reg, 0x04); - switch (depth) { - case 1: - r->value &= ~REG04_BITSET; - r->value |= REG04_LINEART; - break; - case 8: - r->value &= ~(REG04_LINEART | REG04_BITSET); - break; - case 16: - r->value &= ~REG04_LINEART; - r->value |= REG04_BITSET; - break; - } - - /* AFEMOD should depend on FESET, and we should set these - * bits separately */ - r->value &= ~(REG04_FILTER | REG04_AFEMOD); - if (flags & OPTICAL_FLAG_ENABLE_LEDADD) - { - r->value |= 0x10; /* no filter */ - } - else if (channels == 1) - { - switch (color_filter) - { - case ColorFilter::RED: - r->value |= 0x14; - break; - case ColorFilter::GREEN: - r->value |= 0x18; - break; - case ColorFilter::BLUE: - r->value |= 0x1c; - break; - default: - r->value |= 0x10; - break; - } - } - else - { - if (dev->model->ccd_type == CCD_PLUSTEK_3600) - { - r->value |= 0x22; /* slow color pixel by pixel */ - } - else - { - r->value |= 0x10; /* color pixel by pixel */ - } - } - - /* CIS scanners can do true gray by setting LEDADD */ - r = sanei_genesys_get_address (reg, 0x87); - r->value &= ~REG87_LEDADD; - if (flags & OPTICAL_FLAG_ENABLE_LEDADD) - { - r->value |= REG87_LEDADD; - sanei_genesys_get_double (reg, REG_EXPR, &expr); - sanei_genesys_get_double (reg, REG_EXPG, &expg); - sanei_genesys_get_double (reg, REG_EXPB, &expb); - - /* use minimal exposure for best image quality */ - expavg = expg; - if (expr < expg) - expavg = expr; - if (expb < expavg) - expavg = expb; - - sanei_genesys_set_double(&dev->reg, REG_EXPR, expavg); - sanei_genesys_set_double(&dev->reg, REG_EXPG, expavg); - sanei_genesys_set_double(&dev->reg, REG_EXPB, expavg); - } - - /* enable gamma tables */ - r = sanei_genesys_get_address (reg, 0x05); - if (flags & OPTICAL_FLAG_DISABLE_GAMMA) - r->value &= ~REG05_GMMENB; - else - r->value |= REG05_GMMENB; - - /* sensor parameters */ - sanei_gl841_setup_sensor(dev, sensor, &dev->reg, 1, half_ccd); - - r = sanei_genesys_get_address (reg, 0x29); - r->value = 255; /*<<<"magic" number, only suitable for cis*/ - - sanei_genesys_set_double(reg, REG_DPISET, dpiset); - sanei_genesys_set_double(reg, REG_STRPIXEL, start); - sanei_genesys_set_double(reg, REG_ENDPIXEL, end); - DBG(DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d\n", __func__, start, end); - - /* words(16bit) before gamma, conversion to 8 bit or lineart*/ - words_per_line = (pixels * dpiset) / gl841_get_dpihw(dev); - - words_per_line *= channels; - - if (depth == 1) - words_per_line = (words_per_line >> 3) + ((words_per_line & 7)?1:0); - else - words_per_line *= depth / 8; - - dev->wpl = words_per_line; - dev->bpl = words_per_line; - - r = sanei_genesys_get_address (reg, 0x35); - r->value = LOBYTE (HIWORD (words_per_line)); - r = sanei_genesys_get_address (reg, 0x36); - r->value = HIBYTE (LOWORD (words_per_line)); - r = sanei_genesys_get_address (reg, 0x37); - r->value = LOBYTE (LOWORD (words_per_line)); - - sanei_genesys_set_double(reg, REG_LPERIOD, exposure_time); - - r = sanei_genesys_get_address (reg, 0x34); - r->value = sensor.dummy_pixel; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static int -gl841_get_led_exposure(Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int d,r,g,b,m; - if (!dev->model->is_cis) - return 0; - d = dev->reg.find_reg(0x19).value; - - r = sensor.exposure.red; - g = sensor.exposure.green; - b = sensor.exposure.blue; - - m = r; - if (m < g) - m = g; - if (m < b) - m = b; - - return m + d; -} - -/** @brief compute exposure time - * Compute exposure time for the device and the given scan resolution, - * also compute scan_power_mode - */ -static int -gl841_exposure_time(Genesys_Device *dev, const Genesys_Sensor& sensor, - float slope_dpi, - int scan_step_type, - int start, - int used_pixels, - int *scan_power_mode) -{ -int exposure_time = 0; -int exposure_time2 = 0; -int led_exposure; - - *scan_power_mode=0; - led_exposure=gl841_get_led_exposure(dev, sensor); - exposure_time = sanei_genesys_exposure_time2( - dev, - slope_dpi, - scan_step_type, - start+used_pixels,/*+tgtime? currently done in sanei_genesys_exposure_time2 with tgtime = 32 pixel*/ - led_exposure, - *scan_power_mode); - - while(*scan_power_mode + 1 < dev->motor.power_mode_count) { - exposure_time2 = sanei_genesys_exposure_time2( - dev, - slope_dpi, - scan_step_type, - start+used_pixels,/*+tgtime? currently done in sanei_genesys_exposure_time2 with tgtime = 32 pixel*/ - led_exposure, - *scan_power_mode + 1); - if (exposure_time < exposure_time2) - break; - exposure_time = exposure_time2; - (*scan_power_mode)++; - } - - return exposure_time; -} - -/**@brief compute scan_step_type - * Try to do at least 4 steps per line. if that is impossible we will have to - * live with that. - * @param dev device - * @param yres motor resolution - */ -static int -gl841_scan_step_type(Genesys_Device *dev, int yres) -{ -int scan_step_type=0; - - /* TODO : check if there is a bug around the use of max_step_type */ - /* should be <=1, need to chek all devices entry in genesys_devices */ - if (yres*4 < dev->motor.base_ydpi || dev->motor.max_step_type <= 0) - { - scan_step_type = 0; - } - else if (yres*4 < dev->motor.base_ydpi*2 || dev->motor.max_step_type <= 1) - { - scan_step_type = 1; - } - else - { - scan_step_type = 2; - } - - /* this motor behaves differently */ - if (dev->model->motor_type==MOTOR_CANONLIDE80) - { - /* driven by 'frequency' tables ? */ - scan_step_type = 0; - } - - return scan_step_type; -} - -/* set up registers for an actual scan - * - * this function sets up the scanner to scan in normal or single line mode - */ -static -SANE_Status -gl841_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, - SetupParams& params) -{ - params.assert_valid(); - - int used_res; - int start, used_pixels; - int bytes_per_line; - int move; - unsigned int lincnt; - int exposure_time; - int scan_power_mode; - int i; - int stagger; - int avg; - - int slope_dpi = 0; - int dummy = 0; - int scan_step_type = 1; - int max_shift; - size_t requested_buffer_size, read_buffer_size; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - SANE_Status status = SANE_STATUS_GOOD; - unsigned int oflags; /**> optical flags */ - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, params); - -/* -results: - -for scanner: -half_ccd -start -end -dpiset -exposure_time -dummy -z1 -z2 - -for ordered_read: - dev->words_per_line - dev->read_factor - dev->requested_buffer_size - dev->read_buffer_size - dev->read_pos - dev->read_bytes_in_buffer - dev->read_bytes_left - dev->max_shift - dev->stagger - -independent of our calculated values: - dev->total_bytes_read - dev->bytes_to_read - */ - -/* half_ccd */ - /* we have 2 domains for ccd: xres below or above half ccd max dpi */ - if (sensor.get_ccd_size_divisor_for_dpi(params.xres) > 1) { - half_ccd = SANE_TRUE; - } else { - half_ccd = SANE_FALSE; - } - -/* optical_res */ - - optical_res = sensor.optical_res; - if (half_ccd) - optical_res /= 2; - -/* stagger */ - - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * params.yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG(DBG_info, "%s : stagger=%d lines\n", __func__, stagger); - -/* used_res */ - i = optical_res / params.xres; - -/* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ - - if (i < 2 || (params.flags & SCAN_FLAG_USE_OPTICAL_RES)) /* optical_res >= xres > optical_res/2 */ - used_res = optical_res; - else if (i < 3) /* optical_res/2 >= xres > optical_res/3 */ - used_res = optical_res/2; - else if (i < 4) /* optical_res/3 >= xres > optical_res/4 */ - used_res = optical_res/3; - else if (i < 5) /* optical_res/4 >= xres > optical_res/5 */ - used_res = optical_res/4; - else if (i < 6) /* optical_res/5 >= xres > optical_res/6 */ - used_res = optical_res/5; - else if (i < 8) /* optical_res/6 >= xres > optical_res/8 */ - used_res = optical_res/6; - else if (i < 10) /* optical_res/8 >= xres > optical_res/10 */ - used_res = optical_res/8; - else if (i < 12) /* optical_res/10 >= xres > optical_res/12 */ - used_res = optical_res/10; - else if (i < 15) /* optical_res/12 >= xres > optical_res/15 */ - used_res = optical_res/12; - else - used_res = optical_res/15; - - /* compute scan parameters values */ - /* pixels are allways given at half or full CCD optical resolution */ - /* use detected left margin and fixed value */ - /* start */ - /* add x coordinates */ - start = ((sensor.CCD_start_xoffset + params.startx) * used_res) / sensor.optical_res; - - /* needs to be aligned for used_res */ - start = (start * optical_res) / used_res; - - start += sensor.dummy_pixel + 1; - - if (stagger > 0) - start |= 1; - - /* in case of SHDAREA, we need to align start - * on pixel average factor, startx is different of - * 0 only when calling for function to setup for - * scan, where shading data needs to be align */ - if((dev->reg.find_reg(0x01).value & REG01_SHDAREA) != 0) - { - avg=optical_res/used_res; - start=(start/avg)*avg; - } - - /* compute correct pixels number */ - /* pixels */ - used_pixels = (params.pixels * optical_res) / params.xres; - - /* round up pixels number if needed */ - if (used_pixels * params.xres < params.pixels * optical_res) - used_pixels++; - -/* dummy */ - /* dummy lines: may not be usefull, for instance 250 dpi works with 0 or 1 - dummy line. Maybe the dummy line adds correctness since the motor runs - slower (higher dpi) - */ -/* for cis this creates better aligned color lines: -dummy \ scanned lines - 0: R G B R ... - 1: R G B - R ... - 2: R G B - - R ... - 3: R G B - - - R ... - 4: R G B - - - - R ... - 5: R G B - - - - - R ... - 6: R G B - - - - - - R ... - 7: R G B - - - - - - - R ... - 8: R G B - - - - - - - - R ... - 9: R G B - - - - - - - - - R ... - 10: R G B - - - - - - - - - - R ... - 11: R G B - - - - - - - - - - - R ... - 12: R G B - - - - - - - - - - - - R ... - 13: R G B - - - - - - - - - - - - - R ... - 14: R G B - - - - - - - - - - - - - - R ... - 15: R G B - - - - - - - - - - - - - - - R ... - -- pierre - */ - dummy = 0; - -/* slope_dpi */ -/* cis color scan is effectively a gray scan with 3 gray lines per color - line and a FILTER of 0 */ - if (dev->model->is_cis) - slope_dpi = params.yres* params.channels; - else - slope_dpi = params.yres; - - slope_dpi = slope_dpi * (1 + dummy); - - scan_step_type = gl841_scan_step_type(dev, params.yres); - exposure_time = gl841_exposure_time(dev, sensor, - slope_dpi, - scan_step_type, - start, - used_pixels, - &scan_power_mode); - DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); - - /*** optical parameters ***/ - /* in case of dynamic lineart, we use an internal 8 bit gray scan - * to generate 1 lineart data */ - if(params.flags & SCAN_FLAG_DYNAMIC_LINEART) - { - params.depth=8; - } - - oflags=0; - if (params.flags & SCAN_FLAG_DISABLE_SHADING) - { - oflags |= OPTICAL_FLAG_DISABLE_SHADING; - } - if ((params.flags & SCAN_FLAG_DISABLE_GAMMA) || (params.depth==16)) - { - oflags |= OPTICAL_FLAG_DISABLE_GAMMA; - } - if (params.flags & SCAN_FLAG_DISABLE_LAMP) - { - oflags |= OPTICAL_FLAG_DISABLE_LAMP; - } - if (params.flags & SCAN_FLAG_ENABLE_LEDADD) - { - oflags |= OPTICAL_FLAG_ENABLE_LEDADD; - } - - status = gl841_init_optical_regs_scan(dev, sensor, - reg, - exposure_time, - used_res, - start, - used_pixels, - params.channels, - params.depth, - half_ccd, - params.color_filter, - oflags); - if (status != SANE_STATUS_GOOD) - { - return status; - } - -/*** motor parameters ***/ - - /* scanned area must be enlarged by max color shift needed */ - max_shift=sanei_genesys_compute_max_shift(dev, params.channels,params.yres,params.flags); - - /* lincnt */ - lincnt = params.lines + max_shift + stagger; - - /* add tl_y to base movement */ - move = params.starty; - DBG(DBG_info, "%s: move=%d steps\n", __func__, move); - - /* subtract current head position */ - move -= dev->scanhead_position_in_steps; - DBG(DBG_info, "%s: move=%d steps\n", __func__, move); - - if (move < 0) - move = 0; - - /* round it */ -/* the move is not affected by dummy -- pierre */ -/* move = ((move + dummy) / (dummy + 1)) * (dummy + 1); - DBG(DBG_info, "%s: move=%d steps\n", __func__, move);*/ - - if (params.flags & SCAN_FLAG_SINGLE_LINE) - status = gl841_init_motor_regs_off(reg, dev->model->is_cis?lincnt* params.channels:lincnt); - else - status = gl841_init_motor_regs_scan(dev, sensor, - reg, - exposure_time, - slope_dpi, - scan_step_type, - dev->model->is_cis?lincnt* params.channels:lincnt, - dummy, - move, - scan_power_mode, - (params.flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE)? - MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE:0 - ); - - if (status != SANE_STATUS_GOOD) - return status; - - - /*** prepares data reordering ***/ - -/* words_per_line */ - bytes_per_line = (used_pixels * used_res) / optical_res; - bytes_per_line = (bytes_per_line * params.channels * params.depth) / 8; - - requested_buffer_size = 8 * bytes_per_line; - /* we must use a round number of bytes_per_line */ - if (requested_buffer_size > sanei_genesys_get_bulk_max_size(dev)) - requested_buffer_size = - (sanei_genesys_get_bulk_max_size(dev) / bytes_per_line) * bytes_per_line; - - read_buffer_size = - 2 * requested_buffer_size + - ((max_shift + stagger) * used_pixels * params.channels * params.depth) / 8; - - dev->read_buffer.clear(); - dev->read_buffer.alloc(read_buffer_size); - - dev->lines_buffer.clear(); - dev->lines_buffer.alloc(read_buffer_size); - - dev->shrink_buffer.clear(); - dev->shrink_buffer.alloc(requested_buffer_size); - - dev->out_buffer.clear(); - dev->out_buffer.alloc((8 * dev->settings.pixels * params.channels * params.depth) / 8); - - dev->read_bytes_left = bytes_per_line * lincnt; - - DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); - dev->read_active = SANE_TRUE; - - dev->current_setup.params = params; - dev->current_setup.pixels = (used_pixels * used_res)/optical_res; - dev->current_setup.lines = lincnt; - dev->current_setup.depth = params.depth; - dev->current_setup.channels = params.channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = params.yres; - dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - -/* TODO: should this be done elsewhere? */ - /* scan bytes to send to the frontend */ - /* theory : - target_size = - (dev->settings.pixels * dev->settings.lines * channels * depth) / 8; - but it suffers from integer overflow so we do the following: - - 1 bit color images store color data byte-wise, eg byte 0 contains - 8 bits of red data, byte 1 contains 8 bits of green, byte 2 contains - 8 bits of blue. - This does not fix the overflow, though. - 644mp*16 = 10gp, leading to an overflow - -- pierre - */ - - dev->total_bytes_read = 0; - if (params.depth == 1) - dev->total_bytes_to_read = - ((dev->settings.pixels * dev->settings.lines) / 8 + - (((dev->settings.pixels * dev->settings.lines)%8)?1:0) - ) * params.channels; - else - dev->total_bytes_to_read = - dev->settings.pixels * dev->settings.lines * params.channels * (params.depth / 8); - - DBG(DBG_info, "%s: total bytes to send = %lu\n", __func__, (u_long) dev->total_bytes_to_read); -/* END TODO */ - - DBG(DBG_proc, "%s: completed\n", __func__); - return SANE_STATUS_GOOD; -} - -static void gl841_calculate_current_setup(Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int channels; - int depth; - int start; - - int used_res; - int used_pixels; - unsigned int lincnt; - int exposure_time; - int scan_power_mode; - int i; - int stagger; - - int slope_dpi = 0; - int dummy = 0; - int scan_step_type = 1; - int max_shift; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, dev->settings); - -/* channels */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else - channels = 1; - -/* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == ScanColorMode::LINEART) - depth = 1; - -/* start */ - start = SANE_UNFIX (dev->model->x_offset); - - start += dev->settings.tl_x; - - start = (start * sensor.optical_res) / MM_PER_INCH; - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = start; - params.starty = 0; // not used - params.pixels = dev->settings.pixels; - params.lines = dev->settings.lines; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = dev->settings.scan_mode; - params.color_filter = dev->settings.color_filter; - params.flags = 0; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, params); - -/* half_ccd */ - /* we have 2 domains for ccd: xres below or above half ccd max dpi */ - if (sensor.get_ccd_size_divisor_for_dpi(params.xres) > 1) { - half_ccd = SANE_TRUE; - } else { - half_ccd = SANE_FALSE; - } - -/* optical_res */ - - optical_res = sensor.optical_res; - if (half_ccd) - optical_res /= 2; - -/* stagger */ - - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * params.yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG(DBG_info, "%s: stagger=%d lines\n", __func__, stagger); - -/* used_res */ - i = optical_res / params.xres; - -/* gl841 supports 1/1 1/2 1/3 1/4 1/5 1/6 1/8 1/10 1/12 1/15 averaging */ - - if (i < 2) /* optical_res >= xres > optical_res/2 */ - used_res = optical_res; - else if (i < 3) /* optical_res/2 >= xres > optical_res/3 */ - used_res = optical_res/2; - else if (i < 4) /* optical_res/3 >= xres > optical_res/4 */ - used_res = optical_res/3; - else if (i < 5) /* optical_res/4 >= xres > optical_res/5 */ - used_res = optical_res/4; - else if (i < 6) /* optical_res/5 >= xres > optical_res/6 */ - used_res = optical_res/5; - else if (i < 8) /* optical_res/6 >= xres > optical_res/8 */ - used_res = optical_res/6; - else if (i < 10) /* optical_res/8 >= xres > optical_res/10 */ - used_res = optical_res/8; - else if (i < 12) /* optical_res/10 >= xres > optical_res/12 */ - used_res = optical_res/10; - else if (i < 15) /* optical_res/12 >= xres > optical_res/15 */ - used_res = optical_res/12; - else - used_res = optical_res/15; - - /* compute scan parameters values */ - /* pixels are allways given at half or full CCD optical resolution */ - /* use detected left margin and fixed value */ - start = ((sensor.CCD_start_xoffset + params.startx) * used_res) / sensor.optical_res; - -/* needs to be aligned for used_res */ - start = (start * optical_res) / used_res; - - start += sensor.dummy_pixel + 1; - - if (stagger > 0) { - start |= 1; - } - - used_pixels = (params.pixels * optical_res) / params.xres; - - // round up pixels number if needed - if (used_pixels * params.xres < params.pixels * optical_res) { - used_pixels++; - } - - /* dummy lines: may not be usefull, for instance 250 dpi works with 0 or 1 - dummy line. Maybe the dummy line adds correctness since the motor runs - slower (higher dpi) - */ -/* for cis this creates better aligned color lines: -dummy \ scanned lines - 0: R G B R ... - 1: R G B - R ... - 2: R G B - - R ... - 3: R G B - - - R ... - 4: R G B - - - - R ... - 5: R G B - - - - - R ... - 6: R G B - - - - - - R ... - 7: R G B - - - - - - - R ... - 8: R G B - - - - - - - - R ... - 9: R G B - - - - - - - - - R ... - 10: R G B - - - - - - - - - - R ... - 11: R G B - - - - - - - - - - - R ... - 12: R G B - - - - - - - - - - - - R ... - 13: R G B - - - - - - - - - - - - - R ... - 14: R G B - - - - - - - - - - - - - - R ... - 15: R G B - - - - - - - - - - - - - - - R ... - -- pierre - */ - dummy = 0; - -/* cis color scan is effectively a gray scan with 3 gray lines per color - line and a FILTER of 0 */ - if (dev->model->is_cis) { - slope_dpi = params.yres * params.channels; - } else { - slope_dpi = params.yres; - } - - slope_dpi = slope_dpi * (1 + dummy); - - scan_step_type = gl841_scan_step_type(dev, params.yres); - exposure_time = gl841_exposure_time(dev, sensor, - slope_dpi, - scan_step_type, - start, - used_pixels, - &scan_power_mode); - DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); - - /* scanned area must be enlarged by max color shift needed */ - max_shift = sanei_genesys_compute_max_shift(dev, params.channels, params.yres, 0); - - lincnt = params.lines + max_shift + stagger; - - dev->current_setup.params = params; - dev->current_setup.pixels = (used_pixels * used_res)/optical_res; - dev->current_setup.lines = lincnt; - dev->current_setup.depth = params.depth; - dev->current_setup.channels = params.channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = params.yres; - dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - DBGCOMPLETED; -} - -/*for fast power saving methods only, like disabling certain amplifiers*/ -static SANE_Status gl841_save_power(Genesys_Device * dev, SANE_Bool enable) -{ - uint8_t val; - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - DBG(DBG_proc, "%s: enable = %d\n", __func__, enable); - - if (enable) - { - if (dev->model->gpo_type == GPO_CANONLIDE35) - { -/* expect GPIO17 to be enabled, and GPIO9 to be disabled, - while GPIO8 is disabled*/ -/* final state: GPIO8 disabled, GPIO9 enabled, GPIO17 disabled, - GPIO18 disabled*/ - - sanei_genesys_read_register(dev, REG6D, &val); - sanei_genesys_write_register(dev, REG6D, val | 0x80); - - sanei_genesys_sleep_ms(1); - - /*enable GPIO9*/ - sanei_genesys_read_register(dev, REG6C, &val); - sanei_genesys_write_register(dev, REG6C, val | 0x01); - - /*disable GPO17*/ - sanei_genesys_read_register(dev, REG6B, &val); - sanei_genesys_write_register(dev, REG6B, val & ~REG6B_GPO17); - - /*disable GPO18*/ - sanei_genesys_read_register(dev, REG6B, &val); - sanei_genesys_write_register(dev, REG6B, val & ~REG6B_GPO18); - - sanei_genesys_sleep_ms(1); - - sanei_genesys_read_register(dev, REG6D, &val); - sanei_genesys_write_register(dev, REG6D, val & ~0x80); - - } - if (dev->model->gpo_type == GPO_DP685) - { - sanei_genesys_read_register(dev, REG6B, &val); - sanei_genesys_write_register(dev, REG6B, val & ~REG6B_GPO17); - dev->reg.find_reg(0x6b).value &= ~REG6B_GPO17; - dev->calib_reg.find_reg(0x6b).value &= ~REG6B_GPO17; - } - - gl841_set_fe(dev, sensor, AFE_POWER_SAVE); - - } - else - { - if (dev->model->gpo_type == GPO_CANONLIDE35) - { -/* expect GPIO17 to be enabled, and GPIO9 to be disabled, - while GPIO8 is disabled*/ -/* final state: GPIO8 enabled, GPIO9 disabled, GPIO17 enabled, - GPIO18 enabled*/ - - sanei_genesys_read_register(dev, REG6D, &val); - sanei_genesys_write_register(dev, REG6D, val | 0x80); - - sanei_genesys_sleep_ms(10); - - /*disable GPIO9*/ - sanei_genesys_read_register(dev, REG6C, &val); - sanei_genesys_write_register(dev, REG6C, val & ~0x01); - - /*enable GPIO10*/ - sanei_genesys_read_register(dev, REG6C, &val); - sanei_genesys_write_register(dev, REG6C, val | 0x02); - - /*enable GPO17*/ - sanei_genesys_read_register(dev, REG6B, &val); - sanei_genesys_write_register(dev, REG6B, val | REG6B_GPO17); - dev->reg.find_reg(0x6b).value |= REG6B_GPO17; - dev->calib_reg.find_reg(0x6b).value |= REG6B_GPO17; - - /*enable GPO18*/ - sanei_genesys_read_register(dev, REG6B, &val); - sanei_genesys_write_register(dev, REG6B, val | REG6B_GPO18); - dev->reg.find_reg(0x6b).value |= REG6B_GPO18; - dev->calib_reg.find_reg(0x6b).value |= REG6B_GPO18; - - } - if (dev->model->gpo_type == GPO_DP665 - || dev->model->gpo_type == GPO_DP685) - { - sanei_genesys_read_register(dev, REG6B, &val); - sanei_genesys_write_register(dev, REG6B, val | REG6B_GPO17); - dev->reg.find_reg(0x6b).value |= REG6B_GPO17; - dev->calib_reg.find_reg(0x6b).value |= REG6B_GPO17; - } - - } - - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl841_set_powersaving (Genesys_Device * dev, - int delay /* in minutes */ ) -{ - SANE_Status status = SANE_STATUS_GOOD; - // FIXME: SEQUENTIAL not really needed in this case - Genesys_Register_Set local_reg(Genesys_Register_Set::SEQUENTIAL); - int rate, exposure_time, tgtime, time; - - DBG(DBG_proc, "%s (delay = %d)\n", __func__, delay); - - local_reg.init_reg(0x01, dev->reg.get8(0x01)); /* disable fastmode */ - local_reg.init_reg(0x03, dev->reg.get8(0x03)); /* Lamp power control */ - local_reg.init_reg(0x05, dev->reg.get8(0x05)); /*& ~REG05_BASESEL*/; /* 24 clocks/pixel */ - local_reg.init_reg(0x18, 0x00); // Set CCD type - local_reg.init_reg(0x38, 0x00); - local_reg.init_reg(0x39, 0x00); - - // period times for LPeriod, expR,expG,expB, Z1MODE, Z2MODE - local_reg.init_reg(0x1c, dev->reg.get8(0x05) & ~REG1C_TGTIME); - - if (!delay) { - local_reg.find_reg(0x03).value = local_reg.find_reg(0x03).value & 0xf0; /* disable lampdog and set lamptime = 0 */ - } else if (delay < 20) { - local_reg.find_reg(0x03).value = (local_reg.find_reg(0x03).value & 0xf0) | 0x09; /* enable lampdog and set lamptime = 1 */ - } else { - local_reg.find_reg(0x03).value = (local_reg.find_reg(0x03).value & 0xf0) | 0x0f; /* enable lampdog and set lamptime = 7 */ - } - - time = delay * 1000 * 60; /* -> msec */ - exposure_time = - (uint32_t) (time * 32000.0 / - (24.0 * 64.0 * (local_reg.find_reg(0x03).value & REG03_LAMPTIM) * - 1024.0) + 0.5); - /* 32000 = system clock, 24 = clocks per pixel */ - rate = (exposure_time + 65536) / 65536; - if (rate > 4) - { - rate = 8; - tgtime = 3; - } - else if (rate > 2) - { - rate = 4; - tgtime = 2; - } - else if (rate > 1) - { - rate = 2; - tgtime = 1; - } - else - { - rate = 1; - tgtime = 0; - } - - local_reg.find_reg(0x1c).value |= tgtime; - exposure_time /= rate; - - if (exposure_time > 65535) - exposure_time = 65535; - - local_reg.set8(0x38, exposure_time >> 8); - local_reg.set8(0x39, exposure_time & 255); /* lowbyte */ - - status = sanei_genesys_bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - - DBG(DBG_proc, "%s: completed\n", __func__); - return status; -} - -static SANE_Status -gl841_start_action (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x01); -} - -static SANE_Status -gl841_stop_action (Genesys_Device * dev) -{ - Genesys_Register_Set local_reg; - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val40, val; - unsigned int loop; - - DBG(DBG_proc, "%s\n", __func__); - - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - status = sanei_genesys_read_register(dev, 0x40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* only stop action if needed */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) - { - DBG(DBG_info, "%s: already stopped\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - local_reg = dev->reg; - - gl841_init_optical_regs_off(&local_reg); - - gl841_init_motor_regs_off(&local_reg,0); - status = sanei_genesys_bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* looks like writing the right registers to zero is enough to get the chip - out of scan mode into command mode, actually triggering(writing to - register 0x0f) seems to be unnecessary */ - - loop = 10; - while (loop > 0) - { - status = sanei_genesys_read_register(dev, 0x40, &val40); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* if scanner is in command mode, we are done */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - sanei_genesys_sleep_ms(100); - loop--; - } - - DBGCOMPLETED; - return SANE_STATUS_IO_ERROR; -} - -static SANE_Status -gl841_get_paper_sensor(Genesys_Device * dev, SANE_Bool * paper_loaded) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - - status = sanei_genesys_read_register(dev, REG6D, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read gpio: %s\n", __func__, sane_strstatus(status)); - return status; - } - *paper_loaded = (val & 0x1) == 0; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl841_eject_document (Genesys_Device * dev) -{ - Genesys_Register_Set local_reg; - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - SANE_Bool paper_loaded; - unsigned int init_steps; - float feed_mm; - int loop; - - DBG(DBG_proc, "%s\n", __func__); - - if (dev->model->is_sheetfed == SANE_FALSE) - { - DBG(DBG_proc, "%s: there is no \"eject sheet\"-concept for non sheet fed\n", __func__); - DBG(DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; - } - - - local_reg.clear(); - val = 0; - - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read status register: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop motor: %s\n", __func__, sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - - local_reg = dev->reg; - - gl841_init_optical_regs_off(&local_reg); - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - gl841_init_motor_regs(dev, sensor, &local_reg, - 65536,MOTOR_ACTION_FEED,0); - - status = sanei_genesys_bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - try { - status = gl841_start_action (dev); - } catch (...) { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - try { - gl841_stop_action(dev); - } catch (...) {} - try { - // restore original registers - sanei_genesys_bulk_write_register(dev, dev->reg); - } catch (...) {} - throw; - } - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - gl841_stop_action (dev); - /* send original registers */ - sanei_genesys_bulk_write_register(dev, dev->reg); - return status; - } - - RIE(gl841_get_paper_sensor(dev, &paper_loaded)); - if (paper_loaded) - { - DBG(DBG_info, "%s: paper still loaded\n", __func__); - /* force document TRUE, because it is definitely present */ - dev->document = SANE_TRUE; - dev->scanhead_position_in_steps = 0; - - loop = 300; - while (loop > 0) /* do not wait longer then 30 seconds */ - { - - RIE(gl841_get_paper_sensor(dev, &paper_loaded)); - - if (!paper_loaded) - { - DBG(DBG_info, "%s: reached home position\n", __func__); - DBG(DBG_proc, "%s: finished\n", __func__); - break; - } - sanei_genesys_sleep_ms(100); - --loop; - } - - if (loop == 0) - { - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl841_stop_action (dev); - DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); - return SANE_STATUS_IO_ERROR; - } - } - - feed_mm = SANE_UNFIX(dev->model->eject_feed); - if (dev->document) - { - feed_mm += SANE_UNFIX(dev->model->post_scan); - } - - status = sanei_genesys_read_feed_steps(dev, &init_steps); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read feed steps: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* now feed for extra steps */ - loop = 0; - while (loop < 300) /* do not wait longer then 30 seconds */ - { - unsigned int steps; - - status = sanei_genesys_read_feed_steps(dev, &steps); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read feed steps: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_info, "%s: init_steps: %d, steps: %d\n", __func__, init_steps, steps); - - if (steps > init_steps + (feed_mm * dev->motor.base_ydpi) / MM_PER_INCH) - { - break; - } - - sanei_genesys_sleep_ms(100); - ++loop; - } - - status = gl841_stop_action(dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop motor: %s\n", __func__, sane_strstatus(status)); - return status; - } - - dev->document = SANE_FALSE; - - DBG(DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; -} - - -static SANE_Status -gl841_load_document (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Bool paper_loaded; - int loop = 300; - DBG(DBG_proc, "%s\n", __func__); - while (loop > 0) /* do not wait longer then 30 seconds */ - { - - RIE(gl841_get_paper_sensor(dev, &paper_loaded)); - - if (paper_loaded) - { - DBG(DBG_info, "%s: document inserted\n", __func__); - - /* when loading OK, document is here */ - dev->document = SANE_TRUE; - - // give user some time to place document correctly - sanei_genesys_sleep_ms(1000); - break; - } - sanei_genesys_sleep_ms(100); - --loop; - } - - if (loop == 0) - { - /* when we come here then the user needed to much time for this */ - DBG(DBG_error, "%s: timeout while waiting for document\n", __func__); - return SANE_STATUS_IO_ERROR; - } - - DBG(DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; -} - -/** - * detects end of document and adjust current scan - * to take it into account - * used by sheetfed scanners - */ -static SANE_Status -gl841_detect_document_end (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Bool paper_loaded; - unsigned int scancnt = 0, lincnt, postcnt; - uint8_t val; - size_t total_bytes_to_read; - - DBG(DBG_proc, "%s: begin\n", __func__); - - RIE (gl841_get_paper_sensor (dev, &paper_loaded)); - - /* sheetfed scanner uses home sensor as paper present */ - if ((dev->document == SANE_TRUE) && !paper_loaded) - { - DBG(DBG_info, "%s: no more document\n", __func__); - dev->document = SANE_FALSE; - - /* we can't rely on total_bytes_to_read since the frontend - * might have been slow to read data, so we re-evaluate the - * amount of data to scan form the hardware settings - */ - try { - status = sanei_genesys_read_scancnt(dev, &scancnt); - } catch (...) { - dev->total_bytes_to_read = dev->total_bytes_read; - dev->read_bytes_left = 0; - throw; - } - - if(status!=SANE_STATUS_GOOD) - { - dev->total_bytes_to_read = dev->total_bytes_read; - dev->read_bytes_left = 0; - DBG(DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; - } - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS && dev->model->is_cis) - { - scancnt/=3; - } - DBG(DBG_io, "%s: scancnt=%u lines\n", __func__, scancnt); - - RIE(sanei_genesys_read_register(dev, 0x25, &val)); - lincnt=65536*val; - RIE(sanei_genesys_read_register(dev, 0x26, &val)); - lincnt+=256*val; - RIE(sanei_genesys_read_register(dev, 0x27, &val)); - lincnt+=val; - DBG(DBG_io, "%s: lincnt=%u lines\n", __func__, lincnt); - postcnt=(SANE_UNFIX(dev->model->post_scan)/MM_PER_INCH)*dev->settings.yres; - DBG(DBG_io, "%s: postcnt=%u lines\n", __func__, postcnt); - - /* the current scancnt is also the final one, so we use it to - * compute total bytes to read. We also add the line count to eject document */ - total_bytes_to_read=(scancnt+postcnt)*dev->wpl; - - DBG(DBG_io, "%s: old total_bytes_to_read=%u\n", __func__, - (unsigned int)dev->total_bytes_to_read); - DBG(DBG_io, "%s: new total_bytes_to_read=%u\n", __func__, (unsigned int)total_bytes_to_read); - - /* assign new end value */ - if(dev->total_bytes_to_read>total_bytes_to_read) - { - DBG(DBG_io, "%s: scan shorten\n", __func__); - dev->total_bytes_to_read=total_bytes_to_read; - } - } - - DBG(DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; -} - -/* Send the low-level scan command */ -/* todo : is this that useful ? */ -static SANE_Status -gl841_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, - SANE_Bool start_motor) -{ - (void) sensor; - SANE_Status status = SANE_STATUS_GOOD; - // FIXME: SEQUENTIAL not really needed in this case - Genesys_Register_Set local_reg(Genesys_Register_Set::SEQUENTIAL); - uint8_t val; - - DBG(DBG_proc, "%s\n", __func__); - - if (dev->model->gpo_type == GPO_CANONLIDE80) - { - RIE (sanei_genesys_read_register (dev, REG6B, &val)); - val = REG6B_GPO18; - RIE (sanei_genesys_write_register (dev, REG6B, val)); - } - - if (dev->model->ccd_type != CCD_PLUSTEK_3600) { - local_reg.init_reg(0x03, sanei_genesys_read_reg_from_set(reg, 0x03) | REG03_LAMPPWR); - } else { - // TODO PLUSTEK_3600: why ?? - local_reg.init_reg(0x03, sanei_genesys_read_reg_from_set(reg, 0x03)); - } - - local_reg.init_reg(0x01, sanei_genesys_read_reg_from_set(reg, 0x01) | REG01_SCAN); /* set scan bit */ - local_reg.init_reg(0x0d, 0x01); - - if (start_motor) { - local_reg.init_reg(0x0f, 0x01); - } else { - // do not start motor yet - local_reg.init_reg(0x0f, 0x00); - } - - status = sanei_genesys_bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_proc, "%s: completed\n", __func__); - - return status; -} - - -/* Send the stop scan command */ -static SANE_Status -gl841_end_scan (Genesys_Device * dev, Genesys_Register_Set __sane_unused__ * reg, - SANE_Bool check_stop) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s (check_stop = %d)\n", __func__, check_stop); - - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = SANE_STATUS_GOOD; - } - else /* flat bed scanners */ - { - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - DBG(DBG_proc, "%s: completed\n", __func__); - - return status; -} - -/* Moves the slider to steps */ -static SANE_Status -gl841_feed (Genesys_Device * dev, int steps) -{ - Genesys_Register_Set local_reg; - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - int loop; - - DBG(DBG_proc, "%s (steps = %d)\n", __func__, steps); - - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop action: %s\n", __func__, sane_strstatus(status)); - return status; - } - - // FIXME: we should pick sensor according to the resolution scanner is currently operating on - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - local_reg = dev->reg; - - gl841_init_optical_regs_off(&local_reg); - - gl841_init_motor_regs(dev, sensor, &local_reg, steps,MOTOR_ACTION_FEED,0); - - status = sanei_genesys_bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - try { - status = gl841_start_action (dev); - } catch (...) { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - try { - gl841_stop_action (dev); - } catch (...) {} - try { - // send original registers - sanei_genesys_bulk_write_register(dev, dev->reg); - } catch (...) {} - throw; - } - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - gl841_stop_action (dev); - /* send original registers */ - sanei_genesys_bulk_write_register(dev, dev->reg); - return status; - } - - loop = 0; - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - return status; - } - - if (!(val & REG41_MOTORENB)) /* motor enabled */ - { - DBG(DBG_proc, "%s: finished\n", __func__); - dev->scanhead_position_in_steps += steps; - return SANE_STATUS_GOOD; - } - sanei_genesys_sleep_ms(100); - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl841_stop_action (dev); - - DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); - return SANE_STATUS_IO_ERROR; -} - -/* Moves the slider to the home (top) position slowly */ -static SANE_Status -gl841_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) -{ - Genesys_Register_Set local_reg; - SANE_Status status = SANE_STATUS_GOOD; - GenesysRegister *r; - uint8_t val; - int loop = 0; - - DBG(DBG_proc, "%s (wait_until_home = %d)\n", __func__, wait_until_home); - - if (dev->model->is_sheetfed == SANE_TRUE) - { - DBG(DBG_proc, "%s: there is no \"home\"-concept for sheet fed\n", __func__); - DBG(DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; - } - - /* reset gpio pin */ - if (dev->model->gpo_type == GPO_CANONLIDE35) - { - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - val = dev->gpo.value[0]; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - } - if (dev->model->gpo_type == GPO_CANONLIDE80) - { - RIE (sanei_genesys_read_register (dev, REG6B, &val)); - val = REG6B_GPO18 | REG6B_GPO17; - RIE (sanei_genesys_write_register (dev, REG6B, val)); - } - gl841_save_power(dev, SANE_FALSE); - - /* first read gives HOME_SENSOR true */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - sanei_genesys_sleep_ms(100); - - /* second is reliable */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - dev->scanhead_position_in_steps = 0; - - if (val & REG41_HOMESNR) /* is sensor at home? */ - { - DBG(DBG_info, "%s: already at home, completed\n", __func__); - dev->scanhead_position_in_steps = 0; - return SANE_STATUS_GOOD; - } - - /* end previous scan if any */ - r = sanei_genesys_get_address(&dev->reg, REG01); - r->value &= ~REG01_SCAN; - status = sanei_genesys_write_register (dev, REG01, r->value); - - /* if motor is on, stop current action */ - if (val & REG41_MOTORENB) - { - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop motor: %s\n", __func__, sane_strstatus(status)); - return SANE_STATUS_IO_ERROR; - } - } - - local_reg = dev->reg; - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - gl841_init_motor_regs(dev, sensor, &local_reg, 65536,MOTOR_ACTION_GO_HOME,0); - - /* set up for reverse and no scan */ - r = sanei_genesys_get_address(&local_reg, REG02); - r->value |= REG02_MTRREV; - r = sanei_genesys_get_address(&local_reg, REG01); - r->value &= ~REG01_SCAN; - - RIE (sanei_genesys_bulk_write_register(dev, local_reg)); - - try { - status = gl841_start_action (dev); - } catch (...) { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - try { - gl841_stop_action(dev); - } catch (...) {} - try { - sanei_genesys_bulk_write_register(dev, dev->reg); - } catch (...) {} - throw; - } - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - gl841_stop_action (dev); - /* send original registers */ - sanei_genesys_bulk_write_register(dev, dev->reg); - return status; - } - - if (wait_until_home) - { - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - if (val & REG41_HOMESNR) /* home sensor */ - { - DBG(DBG_info, "%s: reached home position\n", __func__); - DBG(DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; - } - sanei_genesys_sleep_ms(100); - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl841_stop_action (dev); - DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); - return SANE_STATUS_IO_ERROR; - } - - DBG(DBG_info, "%s: scanhead is still moving\n", __func__); - DBG(DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; -} - -/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels - area at 600 dpi from very top of scanner */ -static SANE_Status -gl841_search_start_position (Genesys_Device * dev) -{ - int size; - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set local_reg; - int steps; - - int pixels = 600; - int dpi = 300; - - DBGSTART; - - local_reg = dev->reg; - - /* sets for a 200 lines * 600 pixels */ - /* normal scan with no shading */ - - // FIXME: the current approach of doing search only for one resolution does not work on scanners - // whith employ different sensors with potentially different settings. - auto& sensor = sanei_genesys_find_sensor_for_write(dev, dpi); - - SetupParams params; - params.xres = dpi; - params.yres = dpi; - params.startx = 0; - params.starty = 0; /*we should give a small offset here~60 steps*/ - params.pixels = 600; - params.lines = dev->model->search_lines; - params.depth = 8; - params.channels = 1; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::GRAY; - params.color_filter = ColorFilter::GREEN; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE; - - status = gl841_init_scan_regs(dev, sensor, &local_reg, params); - - if(status!=SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to init scan registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* send to scanner */ - status = sanei_genesys_bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - size = pixels * dev->model->search_lines; - - std::vector data(size); - - status = gl841_begin_scan(dev, sensor, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl841_search_position.pnm", data.data(), 8, 1, pixels, - dev->model->search_lines); - - status = gl841_end_scan(dev, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* update regs to copy ASIC internal state */ - dev->reg = local_reg; - -/*TODO: find out where sanei_genesys_search_reference_point - stores information, and use that correctly*/ - status = - sanei_genesys_search_reference_point (dev, sensor, data.data(), 0, dpi, pixels, - dev->model->search_lines); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set search reference point: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - return SANE_STATUS_GOOD; -} - -/* - * sets up register for coarse gain calibration - * todo: check it for scanners using it */ -static SANE_Status -gl841_init_regs_for_coarse_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t channels; - uint8_t cksel; - - DBGSTART; - - cksel = (regs.find_reg(0x18).value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ - - /* set line size */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else { - channels = 1; - } - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = 0; - params.starty = 0; - params.pixels = sensor.optical_res / cksel; /* XXX STEF XXX !!! */ - params.lines = 20; - params.depth = 16; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = dev->settings.scan_mode; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl841_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, - sensor.optical_res / cksel, dev->settings.xres); - - status = sanei_genesys_bulk_write_register(dev, regs); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - -/* if (DBG_LEVEL >= DBG_info) - sanei_gl841_print_registers (regs);*/ - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* init registers for shading calibration */ -static SANE_Status -gl841_init_regs_for_shading(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Int ydpi; - float starty=0; - - DBGSTART; - DBG(DBG_proc, "%s: lines = %d\n", __func__, (int)(dev->calib_lines)); - - /* initial calibration reg values */ - regs = dev->reg; - - ydpi = dev->motor.base_ydpi; - if (dev->model->motor_type == MOTOR_PLUSTEK_3600) /* TODO PLUSTEK_3600: 1200dpi not yet working, produces dark bar */ - { - ydpi = 600; - } - if (dev->model->motor_type == MOTOR_CANONLIDE80) - { - ydpi = gl841_get_dpihw(dev); - /* get over extra dark area for this model. - It looks like different devices have dark areas of different width - due to manufacturing variability. The initial value of starty was 140, - but it moves the sensor almost past the dark area completely in places - on certain devices. - - On a particular device the black area starts at roughly position - 160 to 230 depending on location (the dark area is not completely - parallel to the frame). - */ - starty = 70; - } - - dev->calib_channels = 3; - dev->calib_lines = dev->model->shading_lines; - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = ydpi; - params.startx = 0; - params.starty = starty; - params.pixels = (sensor.sensor_pixels * dev->settings.xres) / sensor.optical_res; - params.lines = dev->calib_lines; - params.depth = 16; - params.channels = dev->calib_channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_USE_OPTICAL_RES | - /*SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE |*/ - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl841_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - dev->calib_pixels = dev->current_setup.pixels; - dev->scanhead_position_in_steps += dev->calib_lines + starty; - - status = sanei_genesys_bulk_write_register(dev, regs); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* set up registers for the actual scan - */ -static SANE_Status -gl841_init_regs_for_scan (Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int channels; - int flags; - int depth; - float move; - int move_dpi; - float start; - - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, dev->settings); - -/* channels */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else - channels = 1; - -/* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == ScanColorMode::LINEART) - depth = 1; - - - /* steps to move to reach scanning area: - - first we move to physical start of scanning - either by a fixed steps amount from the black strip - or by a fixed amount from parking position, - minus the steps done during shading calibration - - then we move by the needed offset whitin physical - scanning area - - assumption: steps are expressed at maximum motor resolution - - we need: - SANE_Fixed y_offset; - SANE_Fixed y_size; - SANE_Fixed y_offset_calib; - mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ - - /* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is - relative from origin, else, it is from parking position */ - - move_dpi = dev->motor.base_ydpi; - - move = 0; - if (dev->model->flags & GENESYS_FLAG_SEARCH_START) - { - move += SANE_UNFIX (dev->model->y_offset_calib); - } - - DBG(DBG_info, "%s move=%f steps\n", __func__, move); - - move += SANE_UNFIX (dev->model->y_offset); - DBG(DBG_info, "%s: move=%f steps\n", __func__, move); - - move += dev->settings.tl_y; - DBG(DBG_info, "%s: move=%f steps\n", __func__, move); - - move = (move * move_dpi) / MM_PER_INCH; - -/* start */ - start = SANE_UNFIX (dev->model->x_offset); - - start += dev->settings.tl_x; - - start = (start * sensor.optical_res) / MM_PER_INCH; - - flags=0; - - /* we enable true gray for cis scanners only, and just when doing - * scan since color calibration is OK for this mode - */ - flags = 0; - - /* true gray (led add for cis scanners) */ - if(dev->model->is_cis && dev->settings.true_gray - && dev->settings.scan_mode != ScanColorMode::COLOR_SINGLE_PASS - && dev->model->ccd_type != CIS_CANONLIDE80) - { - // on Lide 80 the LEDADD bit results in only red LED array being lit - DBG(DBG_io, "%s: activating LEDADD\n", __func__); - flags |= SCAN_FLAG_ENABLE_LEDADD; - } - - /* enable emulated lineart from gray data */ - if(dev->settings.scan_mode == ScanColorMode::LINEART - && dev->settings.dynamic_lineart) - { - flags |= SCAN_FLAG_DYNAMIC_LINEART; - } - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = start; - params.starty = move; - params.pixels = dev->settings.pixels; - params.lines = dev->settings.lines; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = dev->settings.scan_mode; - params.color_filter = dev->settings.color_filter; - params.flags = flags; - - status = gl841_init_scan_regs(dev, sensor, &dev->reg, params); - - if (status != SANE_STATUS_GOOD) - return status; - - - DBG(DBG_proc, "%s: completed\n", __func__); - return SANE_STATUS_GOOD; -} - -/* - * this function sends generic gamma table (ie linear ones) - * or the Sensor specific one if provided - */ -static SANE_Status -gl841_send_gamma_table(Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int size; - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - size = 256; - - /* allocate temporary gamma tables: 16 bits words, 3 channels */ - std::vector gamma(size * 2 * 3); - - RIE(sanei_genesys_generate_gamma_buffer(dev, sensor, 16, 65535, size, gamma.data())); - - /* send address */ - status = gl841_set_buffer_address_gamma (dev, 0x00000); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* send data */ - status = sanei_genesys_bulk_write_data(dev, 0x28, gamma.data(), size * 2 * 3); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send gamma table: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* this function does the led calibration by scanning one line of the calibration - area below scanner's top on white strip. - --needs working coarse/gain -*/ -static SANE_Status -gl841_led_calibration (Genesys_Device * dev, Genesys_Sensor& sensor, Genesys_Register_Set& regs) -{ - int num_pixels; - int total_size; - int i, j; - SANE_Status status = SANE_STATUS_GOOD; - int val; - int channels; - int avg[3], avga, avge; - int turn; - uint16_t exp[3], target; - int move; - - SANE_Bool acceptable = SANE_FALSE; - - /* these 2 boundaries should be per sensor */ - uint16_t min_exposure=500; - uint16_t max_exposure; - - DBGSTART; - - /* feed to white strip if needed */ - if (dev->model->y_offset_calib>0) - { - move = SANE_UNFIX (dev->model->y_offset_calib); - move = (move * (dev->motor.base_ydpi)) / MM_PER_INCH; - DBG(DBG_io, "%s: move=%d lines\n", __func__, move); - status = gl841_feed(dev, move); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to feed: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - /* offset calibration is always done in color mode */ - channels = 3; - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = 0; - params.starty = 0; - params.pixels = (sensor.sensor_pixels*dev->settings.xres) / sensor.optical_res; - params.lines = 1; - params.depth = 16; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES; - - status = gl841_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - RIE(sanei_genesys_bulk_write_register(dev, regs)); - - num_pixels = dev->current_setup.pixels; - - total_size = num_pixels * channels * 2 * 1; /* colors * bytes_per_color * scan lines */ - - std::vector line(total_size); - -/* - we try to get equal bright leds here: - - loop: - average per color - adjust exposure times - */ - - exp[0] = sensor.exposure.red; - exp[1] = sensor.exposure.green; - exp[2] = sensor.exposure.blue; - - turn = 0; - /* max exposure is set to ~2 time initial average - * exposure, or 2 time last calibration exposure */ - max_exposure=((exp[0]+exp[1]+exp[2])/3)*2; - target=sensor.gain_white_ref*256; - - do { - sensor.exposure.red = exp[0]; - sensor.exposure.green = exp[1]; - sensor.exposure.blue = exp[2]; - - sanei_genesys_set_exposure(regs, sensor.exposure); - RIE(sanei_genesys_write_register(dev, 0x10, (sensor.exposure.red >> 8) & 0xff)); - RIE(sanei_genesys_write_register(dev, 0x11, sensor.exposure.red & 0xff)); - RIE(sanei_genesys_write_register(dev, 0x12, (sensor.exposure.green >> 8) & 0xff)); - RIE(sanei_genesys_write_register(dev, 0x13, sensor.exposure.green & 0xff)); - RIE(sanei_genesys_write_register(dev, 0x14, (sensor.exposure.blue >> 8) & 0xff)); - RIE(sanei_genesys_write_register(dev, 0x15, sensor.exposure.blue & 0xff)); - - RIE(sanei_genesys_bulk_write_register(dev, regs)); - - DBG(DBG_info, "%s: starting line reading\n", __func__); - RIE(gl841_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); - - if (DBG_LEVEL >= DBG_data) { - char fn[30]; - snprintf(fn, 30, "gl841_led_%d.pnm", turn); - sanei_genesys_write_pnm_file(fn, line.data(), 16, channels, num_pixels, 1); - } - - /* compute average */ - for (j = 0; j < channels; j++) - { - avg[j] = 0; - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * num_pixels + 1] * 256 + - line[i * 2 + j * 2 * num_pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - avg[j] += val; - } - - avg[j] /= num_pixels; - } - - DBG(DBG_info,"%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); - - acceptable = SANE_TRUE; - - /* exposure is acceptable if each color is in the %5 range - * of other color channels */ - if (avg[0] < avg[1] * 0.95 || avg[1] < avg[0] * 0.95 || - avg[0] < avg[2] * 0.95 || avg[2] < avg[0] * 0.95 || - avg[1] < avg[2] * 0.95 || avg[2] < avg[1] * 0.95) - { - acceptable = SANE_FALSE; - } - - /* led exposure is not acceptable if white level is too low - * ~80 hardcoded value for white level */ - if(avg[0]<20000 || avg[1]<20000 || avg[2]<20000) - { - acceptable = SANE_FALSE; - } - - /* for scanners using target value */ - if(target>0) - { - acceptable = SANE_TRUE; - for(i=0;i<3;i++) - { - /* we accept +- 2% delta from target */ - if(abs(avg[i]-target)>target/50) - { - exp[i]=(exp[i]*target)/avg[i]; - acceptable = SANE_FALSE; - } - } - } - else - { - if (!acceptable) - { - avga = (avg[0]+avg[1]+avg[2])/3; - exp[0] = (exp[0] * avga) / avg[0]; - exp[1] = (exp[1] * avga) / avg[1]; - exp[2] = (exp[2] * avga) / avg[2]; - /* - keep the resulting exposures below this value. - too long exposure drives the ccd into saturation. - we may fix this by relying on the fact that - we get a striped scan without shading, by means of - statistical calculation - */ - avge = (exp[0] + exp[1] + exp[2]) / 3; - - if (avge > max_exposure) { - exp[0] = (exp[0] * max_exposure) / avge; - exp[1] = (exp[1] * max_exposure) / avge; - exp[2] = (exp[2] * max_exposure) / avge; - } - if (avge < min_exposure) { - exp[0] = (exp[0] * min_exposure) / avge; - exp[1] = (exp[1] * min_exposure) / avge; - exp[2] = (exp[2] * min_exposure) / avge; - } - - } - } - - RIE (gl841_stop_action (dev)); - - turn++; - - } while (!acceptable && turn < 100); - - DBG(DBG_info,"%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0], exp[1], exp[2]); - - gl841_slow_back_home(dev, SANE_TRUE); - - DBGCOMPLETED; - return status; -} - -/** @brief calibration for AD frontend devices - * offset calibration assumes that the scanning head is on a black area - * For LiDE80 analog frontend - * 0x0003 : is gain and belongs to [0..63] - * 0x0006 : is offset - * We scan a line with no gain until average offset reaches the target - */ -static SANE_Status -ad_fe_offset_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - int num_pixels; - int total_size; - int i; - int average; - int turn; - int top; - int bottom; - int target; - - DBGSTART; - - /* don't impact 3600 behavior since we can't test it */ - if (dev->model->ccd_type == CCD_PLUSTEK_3600) - { - DBGCOMPLETED; - return status; - } - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = 0; - params.starty = 0; - params.pixels = (sensor.sensor_pixels*dev->settings.xres) / sensor.optical_res; - params.lines = 1; - params.depth = 8; - params.channels = 3; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES; - - status = gl841_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - num_pixels = dev->current_setup.pixels; - total_size = num_pixels * 3 * 2 * 1; - - std::vector line(total_size); - - dev->frontend.set_gain(0, 0); - dev->frontend.set_gain(1, 0); - dev->frontend.set_gain(2, 0); - - /* loop on scan until target offset is reached */ - turn=0; - target=24; - bottom=0; - top=255; - do { - /* set up offset mid range */ - dev->frontend.set_offset(0, (top + bottom) / 2); - dev->frontend.set_offset(1, (top + bottom) / 2); - dev->frontend.set_offset(2, (top + bottom) / 2); - - /* scan line */ - DBG(DBG_info, "%s: starting line reading\n", __func__); - sanei_genesys_bulk_write_register(dev, regs); - gl841_set_fe(dev, sensor, AFE_SET); - gl841_begin_scan(dev, sensor, ®s, SANE_TRUE); - sanei_genesys_read_data_from_scanner(dev, line.data(), total_size); - gl841_stop_action (dev); - if (DBG_LEVEL >= DBG_data) { - char fn[30]; - snprintf(fn, 30, "gl841_offset_%02d.pnm", turn); - sanei_genesys_write_pnm_file(fn, line.data(), 8, 3, num_pixels, 1); - } - - /* search for minimal value */ - average=0; - for(i=0;itarget) - { - top=(top+bottom)/2; - } - else - { - bottom=(top+bottom)/2; - } - turn++; - } while ((top-bottom)>1 && turn < 100); - - // FIXME: don't overwrite the calibrated values - dev->frontend.set_offset(0, 0); - dev->frontend.set_offset(1, 0); - dev->frontend.set_offset(2, 0); - DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, - dev->frontend.get_offset(0), - dev->frontend.get_offset(1), - dev->frontend.get_offset(2)); - DBGCOMPLETED; - return status; -} - -/* this function does the offset calibration by scanning one line of the calibration - area below scanner's top. There is a black margin and the remaining is white. - sanei_genesys_search_start() must have been called so that the offsets and margins - are allready known. - -this function expects the slider to be where? -*/ -static SANE_Status -gl841_offset_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - int num_pixels; - int total_size; - int i, j; - SANE_Status status = SANE_STATUS_GOOD; - int val; - int channels; - int off[3],offh[3],offl[3],off1[3],off2[3]; - int min1[3],min2[3]; - int cmin[3],cmax[3]; - int turn; - SANE_Bool acceptable = SANE_FALSE; - int mintgt = 0x400; - - DBG(DBG_proc, "%s\n", __func__); - - /* Analog Device fronted have a different calibration */ - if ((dev->reg.find_reg(0x04).value & REG04_FESET) == 0x02) - { - return ad_fe_offset_calibration(dev, sensor, regs); - } - - /* offset calibration is always done in color mode */ - channels = 3; - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = 0; - params.starty = 0; - params.pixels = (sensor.sensor_pixels*dev->settings.xres) / sensor.optical_res; - params.lines = 1; - params.depth = 16; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES | - SCAN_FLAG_DISABLE_LAMP; - - status = gl841_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - num_pixels = dev->current_setup.pixels; - - total_size = num_pixels * channels * 2 * 1; /* colors * bytes_per_color * scan lines */ - - std::vector first_line(total_size); - std::vector second_line(total_size); - - /* scan first line of data with no offset nor gain */ -/*WM8199: gain=0.73; offset=-260mV*/ -/*okay. the sensor black level is now at -260mV. we only get 0 from AFE...*/ -/* we should probably do real calibration here: - * -detect acceptable offset with binary search - * -calculate offset from this last version - * - * acceptable offset means - * - few completely black pixels(<10%?) - * - few completely white pixels(<10%?) - * - * final offset should map the minimum not completely black - * pixel to 0(16 bits) - * - * this does account for dummy pixels at the end of ccd - * this assumes slider is at black strip(which is not quite as black as "no - * signal"). - * - */ - dev->frontend.set_gain(0, 0); - dev->frontend.set_gain(1, 0); - dev->frontend.set_gain(2, 0); - offh[0] = 0xff; - offh[1] = 0xff; - offh[2] = 0xff; - offl[0] = 0x00; - offl[1] = 0x00; - offl[2] = 0x00; - turn = 0; - - do { - - RIE(sanei_genesys_bulk_write_register(dev, regs)); - - for (j=0; j < channels; j++) { - off[j] = (offh[j]+offl[j])/2; - dev->frontend.set_offset(j, off[j]); - } - - status = gl841_set_fe(dev, sensor, AFE_SET); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup frontend: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_info, "%s: starting first line reading\n", __func__); - RIE(gl841_begin_scan(dev, sensor, ®s, SANE_TRUE)); - - RIE(sanei_genesys_read_data_from_scanner (dev, first_line.data(), total_size)); - - if (DBG_LEVEL >= DBG_data) { - char fn[30]; - snprintf(fn, 30, "gl841_offset1_%02d.pnm", turn); - sanei_genesys_write_pnm_file(fn, first_line.data(), 16, channels, num_pixels, 1); - } - - acceptable = SANE_TRUE; - - for (j = 0; j < channels; j++) - { - cmin[j] = 0; - cmax[j] = 0; - - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - first_line[i * 2 + j * 2 * num_pixels + 1] * 256 + - first_line[i * 2 + j * 2 * num_pixels]; - else - val = - first_line[i * 2 * channels + 2 * j + 1] * 256 + - first_line[i * 2 * channels + 2 * j]; - if (val < 10) - cmin[j]++; - if (val > 65525) - cmax[j]++; - } - - /* TODO the DP685 has a black strip in the middle of the sensor - * should be handled in a more elegant way , could be a bug */ - if (dev->model->ccd_type == CCD_DP685) - cmin[j] -= 20; - - if (cmin[j] > num_pixels/100) { - acceptable = SANE_FALSE; - if (dev->model->is_cis) - offl[0] = off[0]; - else - offl[j] = off[j]; - } - if (cmax[j] > num_pixels/100) { - acceptable = SANE_FALSE; - if (dev->model->is_cis) - offh[0] = off[0]; - else - offh[j] = off[j]; - } - } - - DBG(DBG_info,"%s: black/white pixels: %d/%d,%d/%d,%d/%d\n", __func__, cmin[0], cmax[0], - cmin[1], cmax[1], cmin[2], cmax[2]); - - if (dev->model->is_cis) { - offh[2] = offh[1] = offh[0]; - offl[2] = offl[1] = offl[0]; - } - - RIE(gl841_stop_action(dev)); - - turn++; - } while (!acceptable && turn < 100); - - DBG(DBG_info,"%s: acceptable offsets: %d,%d,%d\n", __func__, off[0], off[1], off[2]); - - - for (j = 0; j < channels; j++) - { - off1[j] = off[j]; - - min1[j] = 65536; - - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - first_line[i * 2 + j * 2 * num_pixels + 1] * 256 + - first_line[i * 2 + j * 2 * num_pixels]; - else - val = - first_line[i * 2 * channels + 2 * j + 1] * 256 + - first_line[i * 2 * channels + 2 * j]; - if (min1[j] > val && val >= 10) - min1[j] = val; - } - } - - - offl[0] = off[0]; - offl[1] = off[0]; - offl[2] = off[0]; - turn = 0; - - do { - - for (j=0; j < channels; j++) { - off[j] = (offh[j]+offl[j])/2; - dev->frontend.set_offset(j, off[j]); - } - - status = gl841_set_fe(dev, sensor, AFE_SET); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup frontend: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_info, "%s: starting second line reading\n", __func__); - RIE(sanei_genesys_bulk_write_register(dev, regs)); - RIE(gl841_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); - - if (DBG_LEVEL >= DBG_data) { - char fn[30]; - snprintf(fn, 30, "gl841_offset2_%02d.pnm", turn); - sanei_genesys_write_pnm_file(fn, second_line.data(), 16, channels, num_pixels, 1); - } - - acceptable = SANE_TRUE; - - for (j = 0; j < channels; j++) - { - cmin[j] = 0; - cmax[j] = 0; - - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - second_line[i * 2 + j * 2 * num_pixels + 1] * 256 + - second_line[i * 2 + j * 2 * num_pixels]; - else - val = - second_line[i * 2 * channels + 2 * j + 1] * 256 + - second_line[i * 2 * channels + 2 * j]; - if (val < 10) - cmin[j]++; - if (val > 65525) - cmax[j]++; - } - - if (cmin[j] > num_pixels/100) { - acceptable = SANE_FALSE; - if (dev->model->is_cis) - offl[0] = off[0]; - else - offl[j] = off[j]; - } - if (cmax[j] > num_pixels/100) { - acceptable = SANE_FALSE; - if (dev->model->is_cis) - offh[0] = off[0]; - else - offh[j] = off[j]; - } - } - - DBG(DBG_info, "%s: black/white pixels: %d/%d,%d/%d,%d/%d\n", __func__, cmin[0], cmax[0], - cmin[1], cmax[1], cmin[2], cmax[2]); - - if (dev->model->is_cis) { - offh[2] = offh[1] = offh[0]; - offl[2] = offl[1] = offl[0]; - } - - RIE(gl841_stop_action (dev)); - - turn++; - - } while (!acceptable && turn < 100); - - DBG(DBG_info, "%s: acceptable offsets: %d,%d,%d\n", __func__, off[0], off[1], off[2]); - - - for (j = 0; j < channels; j++) - { - off2[j] = off[j]; - - min2[j] = 65536; - - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - second_line[i * 2 + j * 2 * num_pixels + 1] * 256 + - second_line[i * 2 + j * 2 * num_pixels]; - else - val = - second_line[i * 2 * channels + 2 * j + 1] * 256 + - second_line[i * 2 * channels + 2 * j]; - if (min2[j] > val && val != 0) - min2[j] = val; - } - } - - DBG(DBG_info, "%s: first set: %d/%d,%d/%d,%d/%d\n", __func__, off1[0], min1[0], off1[1], min1[1], - off1[2], min1[2]); - - DBG(DBG_info, "%s: second set: %d/%d,%d/%d,%d/%d\n", __func__, off2[0], min2[0], off2[1], min2[1], - off2[2], min2[2]); - -/* - calculate offset for each channel - based on minimal pixel value min1 at offset off1 and minimal pixel value min2 - at offset off2 - - to get min at off, values are linearly interpolated: - min=real+off*fact - min1=real+off1*fact - min2=real+off2*fact - - fact=(min1-min2)/(off1-off2) - real=min1-off1*(min1-min2)/(off1-off2) - - off=(min-min1+off1*(min1-min2)/(off1-off2))/((min1-min2)/(off1-off2)) - - off=(min*(off1-off2)+min1*off2-off1*min2)/(min1-min2) - - */ - for (j = 0; j < channels; j++) - { - if (min2[j]-min1[j] == 0) { -/*TODO: try to avoid this*/ - DBG(DBG_warn, "%s: difference too small\n", __func__); - if (mintgt * (off1[j] - off2[j]) + min1[j] * off2[j] - min2[j] * off1[j] >= 0) - off[j] = 0x0000; - else - off[j] = 0xffff; - } else - off[j] = (mintgt * (off1[j] - off2[j]) + min1[j] * off2[j] - min2[j] * off1[j])/(min1[j]-min2[j]); - if (off[j] > 255) - off[j] = 255; - if (off[j] < 0) - off[j] = 0; - dev->frontend.set_offset(j, off[j]); - } - - DBG(DBG_info, "%s: final offsets: %d,%d,%d\n", __func__, off[0], off[1], off[2]); - - if (dev->model->is_cis) { - if (off[0] < off[1]) - off[0] = off[1]; - if (off[0] < off[2]) - off[0] = off[2]; - dev->frontend.set_offset(0, off[0]); - dev->frontend.set_offset(1, off[0]); - dev->frontend.set_offset(2, off[0]); - } - - if (channels == 1) - { - dev->frontend.set_offset(1, dev->frontend.get_offset(0)); - dev->frontend.set_offset(2, dev->frontend.get_offset(0)); - } - - DBG(DBG_proc, "%s: completed\n", __func__); - return status; -} - - -/* alternative coarse gain calibration - this on uses the settings from offset_calibration and - uses only one scanline - */ -/* - with offset and coarse calibration we only want to get our input range into - a reasonable shape. the fine calibration of the upper and lower bounds will - be done with shading. - */ -static SANE_Status -gl841_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs, int dpi) -{ - int num_pixels; - int total_size; - int i, j, channels; - SANE_Status status = SANE_STATUS_GOOD; - int max[3]; - float gain[3]; - int val; - int lines=1; - int move; - - DBG(DBG_proc, "%s: dpi=%d\n", __func__, dpi); - - /* feed to white strip if needed */ - if (dev->model->y_offset_calib>0) - { - move = SANE_UNFIX (dev->model->y_offset_calib); - move = (move * (dev->motor.base_ydpi)) / MM_PER_INCH; - DBG(DBG_io, "%s: move=%d lines\n", __func__, move); - status = gl841_feed(dev, move); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to feed: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - /* coarse gain calibration is allways done in color mode */ - channels = 3; - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = 0; - params.starty = 0; - params.pixels = (sensor.sensor_pixels*dev->settings.xres) / sensor.optical_res; - params.lines = lines; - params.depth = 16; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES; - - status = gl841_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - RIE(sanei_genesys_bulk_write_register(dev, regs)); - - num_pixels = dev->current_setup.pixels; - - total_size = num_pixels * channels * 2 * lines; /* colors * bytes_per_color * scan lines */ - - std::vector line(total_size); - - RIE(gl841_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl841_gain.pnm", line.data(), 16, channels, num_pixels, lines); - - /* average high level for each channel and compute gain - to reach the target code - we only use the central half of the CCD data */ - for (j = 0; j < channels; j++) - { - max[j] = 0; - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * num_pixels + 1] * 256 + - line[i * 2 + j * 2 * num_pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - - if (val > max[j]) - max[j] = val; - } - - gain[j] = 65535.0/max[j]; - - uint8_t out_gain = 0; - - if (dev->model->dac_type == DAC_CANONLIDE35 || - dev->model->dac_type == DAC_WOLFSON_XP300 || - dev->model->dac_type == DAC_WOLFSON_DSM600) - { - gain[j] *= 0.69;/*seems we don't get the real maximum. empirically derived*/ - if (283 - 208/gain[j] > 255) - out_gain = 255; - else if (283 - 208/gain[j] < 0) - out_gain = 0; - else - out_gain = 283 - 208/gain[j]; - } - else if (dev->model->dac_type == DAC_CANONLIDE80) - { - out_gain = gain[j]*12; - } - dev->frontend.set_gain(j, out_gain); - - DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], gain[j], - out_gain); - } - - for (j = 0; j < channels; j++) - { - if(gain[j] > 10) - { - DBG (DBG_error0, "**********************************************\n"); - DBG (DBG_error0, "**********************************************\n"); - DBG (DBG_error0, "**** ****\n"); - DBG (DBG_error0, "**** Extremely low Brightness detected. ****\n"); - DBG (DBG_error0, "**** Check the scanning head is ****\n"); - DBG (DBG_error0, "**** unlocked and moving. ****\n"); - DBG (DBG_error0, "**** ****\n"); - DBG (DBG_error0, "**********************************************\n"); - DBG (DBG_error0, "**********************************************\n"); - return SANE_STATUS_JAMMED; - } - - } - - if (dev->model->is_cis) { - uint8_t gain0 = dev->frontend.get_gain(0); - if (gain0 > dev->frontend.get_gain(1)) { - gain0 = dev->frontend.get_gain(1); - } - if (gain0 > dev->frontend.get_gain(2)) { - gain0 = dev->frontend.get_gain(2); - } - dev->frontend.set_gain(0, gain0); - dev->frontend.set_gain(1, gain0); - dev->frontend.set_gain(2, gain0); - } - - if (channels == 1) { - dev->frontend.set_gain(0, dev->frontend.get_gain(1)); - dev->frontend.set_gain(2, dev->frontend.get_gain(1)); - } - - DBG(DBG_info, "%s: gain=(%d,%d,%d)\n", __func__, - dev->frontend.get_gain(0), - dev->frontend.get_gain(1), - dev->frontend.get_gain(2)); - - RIE (gl841_stop_action (dev)); - - gl841_slow_back_home(dev, SANE_TRUE); - - DBGCOMPLETED; - return status; -} - -/* - * wait for lamp warmup by scanning the same line until difference - * between 2 scans is below a threshold - */ -static SANE_Status -gl841_init_regs_for_warmup (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * local_reg, - int *channels, int *total_size) -{ - int num_pixels = (int) (4 * 300); - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s\n", __func__); - - *local_reg = dev->reg; - -/* okay.. these should be defaults stored somewhere */ - dev->frontend.set_gain(0, 0); - dev->frontend.set_gain(1, 0); - dev->frontend.set_gain(2, 0); - dev->frontend.set_offset(0, 0x80); - dev->frontend.set_offset(1, 0x80); - dev->frontend.set_offset(2, 0x80); - - SetupParams params; - params.xres = sensor.optical_res; - params.yres = dev->settings.yres; - params.startx = sensor.dummy_pixel; - params.starty = 0; - params.pixels = num_pixels; - params.lines = 1; - params.depth = 16; - params.channels = *channels; - params.scan_method = dev->settings.scan_method; - if (*channels == 3) { - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - } else { - params.scan_mode = ScanColorMode::GRAY; - } - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES; - - status = gl841_init_scan_regs(dev, sensor, local_reg, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - num_pixels = dev->current_setup.pixels; - - *total_size = num_pixels * 3 * 2 * 1; /* colors * bytes_per_color * scan lines */ - - RIE(sanei_genesys_bulk_write_register(dev, *local_reg)); - - return status; -} - - -/* - * this function moves head without scanning, forward, then backward - * so that the head goes to park position. - * as a by-product, also check for lock - */ -static SANE_Status -sanei_gl841_repark_head (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s\n", __func__); - - status = gl841_feed(dev,232); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to feed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* toggle motor flag, put an huge step number and redo move backward */ - status = gl841_slow_back_home (dev, SANE_TRUE); - DBG(DBG_proc, "%s: completed\n", __func__); - return status; -} - -static bool -gl841_is_compatible_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Calibration_Cache *cache, - int for_overwrite) -{ -#ifdef HAVE_SYS_TIME_H - struct timeval time; -#endif - - DBGSTART; - - /* calibration cache not working yet for this model */ - if (dev->model->ccd_type == CCD_PLUSTEK_3600) - { - return false; - } - - gl841_calculate_current_setup (dev, sensor); - - DBG(DBG_proc, "%s: checking\n", __func__); - - if (dev->current_setup.ccd_size_divisor != cache->used_setup.ccd_size_divisor) - return false; - - /* a cache entry expires after 30 minutes for non sheetfed scanners */ - /* this is not taken into account when overwriting cache entries */ -#ifdef HAVE_SYS_TIME_H - if(for_overwrite == SANE_FALSE) - { - gettimeofday (&time, NULL); - if ((time.tv_sec - cache->last_calibration > 30 * 60) - && (dev->model->is_sheetfed == SANE_FALSE)) - { - DBG(DBG_proc, "%s: expired entry, non compatible cache\n", __func__); - return false; - } - } -#endif - - DBGCOMPLETED; - return true; -} - -/* - * initialize ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home - */ -static SANE_Status -gl841_init (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - size_t size; - - DBG_INIT (); - DBGSTART; - - dev->scanhead_position_in_steps = 0; - - /* Check if the device has already been initialized and powered up */ - if (dev->already_initialized) - { - RIE (sanei_genesys_get_status (dev, &val)); - if (val & REG41_PWRBIT) - { - DBG(DBG_info, "%s: already initialized\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - } - - dev->dark_average_data.clear(); - dev->white_average_data.clear(); - - dev->settings.color_filter = ColorFilter::RED; - - /* ASIC reset */ - RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); - RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); - - /* Set default values for registers */ - gl841_init_registers (dev); - - /* Write initial registers */ - RIE(sanei_genesys_bulk_write_register(dev, dev->reg)); - - /* Test ASIC and RAM */ - if (!(dev->model->flags & GENESYS_FLAG_LAZY_INIT)) - { - RIE (sanei_gl841_asic_test (dev)); - } - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - /* Set analog frontend */ - RIE (gl841_set_fe(dev, sensor, AFE_INIT)); - - /* Move home */ - RIE (gl841_slow_back_home (dev, SANE_TRUE)); - - /* Init shading data */ - RIE (sanei_genesys_init_shading_data(dev, sensor, sensor.sensor_pixels)); - - /* ensure head is correctly parked, and check lock */ - if (dev->model->flags & GENESYS_FLAG_REPARK) - { - status = sanei_gl841_repark_head (dev); - if (status != SANE_STATUS_GOOD) - { - if (status == SANE_STATUS_INVAL) - DBG(DBG_error0, "Your scanner is locked. Please move the lock switch to the unlocked " - "position\n"); - else - DBG(DBG_error, "%s: sanei_gl841_repark_head failed: %s\n", __func__, - sane_strstatus(status)); - return status; - } - } - - /* send gamma tables */ - status = gl841_send_gamma_table(dev, sensor); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send initial gamma tables: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - /* initial calibration reg values */ - Genesys_Register_Set& regs = dev->calib_reg; - regs = dev->reg; - - SetupParams params; - params.xres = 300; - params.yres = 300; - params.startx = 0; - params.starty = 0; - params.pixels = (16 * 300) / sensor.optical_res; - params.lines = 1; - params.depth = 16; - params.channels = 3; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = ColorFilter::RED; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES; - - status = gl841_init_scan_regs(dev, sensor, ®s, params); - - RIE(sanei_genesys_bulk_write_register(dev, regs)); - - size = dev->current_setup.pixels * 3 * 2 * 1; /* colors * bytes_per_color * scan lines */ - - std::vector line(size); - - DBG(DBG_info, "%s: starting dummy data reading\n", __func__); - RIE(gl841_begin_scan(dev, sensor, ®s, SANE_TRUE)); - - sanei_usb_set_timeout(1000);/* 1 second*/ - -/*ignore errors. next read will succeed*/ - sanei_genesys_read_data_from_scanner(dev, line.data(), size); - - sanei_usb_set_timeout(30 * 1000);/* 30 seconds*/ - - RIE (gl841_end_scan(dev, ®s, SANE_TRUE)); - - regs = dev->reg; - - /* Set powersaving (default = 15 minutes) */ - RIE (gl841_set_powersaving (dev, 15)); - dev->already_initialized = SANE_TRUE; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl841_update_hardware_sensors (Genesys_Scanner * s) -{ - /* do what is needed to get a new set of events, but try to not lose - any of them. - */ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - - if (s->dev->model->gpo_type == GPO_CANONLIDE35 - || s->dev->model->gpo_type == GPO_CANONLIDE80) - { - RIE(sanei_genesys_read_register(s->dev, REG6D, &val)); - s->buttons[BUTTON_SCAN_SW].write((val & 0x01) == 0); - s->buttons[BUTTON_FILE_SW].write((val & 0x02) == 0); - s->buttons[BUTTON_EMAIL_SW].write((val & 0x04) == 0); - s->buttons[BUTTON_COPY_SW].write((val & 0x08) == 0); - } - - if (s->dev->model->gpo_type == GPO_XP300 || - s->dev->model->gpo_type == GPO_DP665 || - s->dev->model->gpo_type == GPO_DP685) - { - RIE(sanei_genesys_read_register(s->dev, REG6D, &val)); - - s->buttons[BUTTON_PAGE_LOADED_SW].write((val & 0x01) == 0); - s->buttons[BUTTON_SCAN_SW].write((val & 0x02) == 0); - } - - return status; -} - -/** @brief search for a full width black or white strip. - * This function searches for a black or white stripe across the scanning area. - * When searching backward, the searched area must completely be of the desired - * color since this area will be used for calibration which scans forward. - * @param dev scanner device - * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward - * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip - * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not - */ -static SANE_Status -gl841_search_strip(Genesys_Device * dev, const Genesys_Sensor& sensor, - SANE_Bool forward, SANE_Bool black) -{ - unsigned int pixels, lines, channels; - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set local_reg; - size_t size; - int steps, depth, dpi; - unsigned int pass, count, found, x, y, length; - char title[80]; - GenesysRegister *r; - uint8_t white_level=90; /**< default white level to detect white dots */ - uint8_t black_level=60; /**< default black level to detect black dots */ - - DBG(DBG_proc, "%s %s %s\n", __func__, black ? "black" : "white", forward ? "forward" : "reverse"); - - /* use maximum gain when doing forward white strip detection - * since we don't have calibrated the sensor yet */ - if(!black && forward) - { - dev->frontend.set_gain(0, 0xff); - dev->frontend.set_gain(1, 0xff); - dev->frontend.set_gain(2, 0xff); - } - - gl841_set_fe(dev, sensor, AFE_SET); - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* set up for a gray scan at lowest dpi */ - dpi = 9600; - for (x = 0; x < MAX_RESOLUTIONS; x++) - { - if (dev->model->xdpi_values[x] > 0 && dev->model->xdpi_values[x] < dpi) - dpi = dev->model->xdpi_values[x]; - } - channels = 1; - - /* shading calibation is done with dev->motor.base_ydpi */ - /* lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; */ - lines = (10*dpi)/MM_PER_INCH; - - depth = 8; - pixels = (sensor.sensor_pixels * dpi) / sensor.optical_res; - size = pixels * channels * lines * (depth / 8); - std::vector data(size); - - /* 20 cm max length for calibration sheet */ - length = ((200 * dpi) / MM_PER_INCH)/lines; - - dev->scanhead_position_in_steps = 0; - - local_reg = dev->reg; - - SetupParams params; - params.xres = dpi; - params.yres = dpi; - params.startx = 0; - params.starty = 0; - params.pixels = pixels; - params.lines = lines; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::GRAY; - params.color_filter = ColorFilter::RED; - params.flags = SCAN_FLAG_DISABLE_SHADING | SCAN_FLAG_DISABLE_GAMMA; - - status = gl841_init_scan_regs(dev, sensor, &local_reg, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup for scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* set up for reverse or forward */ - r = sanei_genesys_get_address(&local_reg, 0x02); - if (forward) - r->value &= ~4; - else - r->value |= 4; - - - status = sanei_genesys_bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl841_begin_scan(dev, sensor, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: gl841_stop_action failed\n", __func__); - return status; - } - - pass = 0; - if (DBG_LEVEL >= DBG_data) - { - sprintf(title, "gl841_search_strip_%s_%s%02u.pnm", black ? "black" : "white", - forward ? "fwd" : "bwd", pass); - sanei_genesys_write_pnm_file(title, data.data(), depth, channels, pixels, lines); - } - - /* loop until strip is found or maximum pass number done */ - found = 0; - while (pass < length && !found) - { - status = sanei_genesys_bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - /* now start scan */ - status = gl841_begin_scan(dev, sensor, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error,"%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner (dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "g%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl841_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: gl841_stop_action failed\n", __func__); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - sprintf(title, "gl841_search_strip_%s_%s%02u.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", pass); - sanei_genesys_write_pnm_file(title, data.data(), depth, channels, pixels, lines); - } - - /* search data to find black strip */ - /* when searching forward, we only need one line of the searched color since we - * will scan forward. But when doing backward search, we need all the area of the - * same color */ - if (forward) - { - for (y = 0; y < lines && !found; y++) - { - count = 0; - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > white_level) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < black_level) - { - count++; - } - } - - /* at end of line, if count >= 3%, line is not fully of the desired color - * so we must go to next line of the buffer */ - /* count*100/pixels < 3 */ - if ((count * 100) / pixels < 3) - { - found = 1; - DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, - pass, y); - } - else - { - DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, - (100 * count) / pixels); - } - } - } - else /* since calibration scans are done forward, we need the whole area - to be of the required color when searching backward */ - { - count = 0; - for (y = 0; y < lines; y++) - { - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > white_level) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < black_level) - { - count++; - } - } - } - - /* at end of area, if count >= 3%, area is not fully of the desired color - * so we must go to next buffer */ - if ((count * 100) / (pixels * lines) < 3) - { - found = 1; - DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); - } - else - { - DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, - (100 * count) / pixels); - } - } - pass++; - } - - if (found) - { - status = SANE_STATUS_GOOD; - DBG(DBG_info, "%s: %s strip found\n", __func__, black ? "black" : "white"); - } - else - { - status = SANE_STATUS_UNSUPPORTED; - DBG(DBG_info, "%s: %s strip not found\n", __func__, black ? "black" : "white"); - } - - DBG(DBG_proc, "%s: completed\n", __func__); - return status; -} - -/** - * Send shading calibration data. The buffer is considered to always hold values - * for all the channels. - */ -static -SANE_Status -gl841_send_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, - uint8_t * data, int size) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint32_t length, x, factor, pixels, i; - uint32_t lines, channels; - uint16_t dpiset, dpihw, strpixel ,endpixel, beginpixel; - uint8_t *ptr,*src; - - DBGSTART; - DBG(DBG_io2, "%s: writing %d bytes of shading data\n", __func__, size); - - /* old method if no SHDAREA */ - if((dev->reg.find_reg(0x01).value & REG01_SHDAREA) == 0) - { - /* start address */ - status = sanei_genesys_set_buffer_address (dev, 0x0000); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - /* shading data whole line */ - status = dev->model->cmd_set->bulk_write_data (dev, 0x3c, data, size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send shading table: %s\n", __func__, - sane_strstatus(status)); - return status; - } - DBGCOMPLETED; - return status; - } - - /* data is whole line, we extract only the part for the scanned area */ - length = (uint32_t) (size / 3); - sanei_genesys_get_double(&dev->reg,REG_STRPIXEL,&strpixel); - sanei_genesys_get_double(&dev->reg,REG_ENDPIXEL,&endpixel); - DBG(DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d\n", __func__, strpixel, endpixel, - endpixel-strpixel); - - /* compute deletion/average factor */ - sanei_genesys_get_double(&dev->reg,REG_DPISET,&dpiset); - dpihw = gl841_get_dpihw(dev); - unsigned ccd_size_divisor = dev->current_setup.ccd_size_divisor; - factor=dpihw/dpiset; - DBG(DBG_io2, "%s: dpihw=%d, dpiset=%d, ccd_size_divisor=%d, factor=%d\n", __func__, dpihw, dpiset, - ccd_size_divisor, factor); - - /* binary data logging */ - if(DBG_LEVEL>=DBG_data) - { - dev->binary=fopen("binary.pnm","wb"); - sanei_genesys_get_triple(&dev->reg, REG_LINCNT, &lines); - channels=dev->current_setup.channels; - if(dev->binary!=NULL) - { - fprintf(dev->binary,"P5\n%d %d\n%d\n",(endpixel-strpixel)/factor*channels,lines/channels,255); - } - } - - /* turn pixel value into bytes 2x16 bits words */ - strpixel*=2*2; /* 2 words of 2 bytes */ - endpixel*=2*2; - pixels=endpixel-strpixel; - - /* shading pixel begin is start pixel minus start pixel during shading - * calibration. Currently only cases handled are full and half ccd resolution. - */ - beginpixel = sensor.CCD_start_xoffset / ccd_size_divisor; - beginpixel += sensor.dummy_pixel + 1; - DBG(DBG_io2, "%s: ORIGIN PIXEL=%d\n", __func__, beginpixel); - beginpixel = (strpixel-beginpixel*2*2)/factor; - DBG(DBG_io2, "%s: BEGIN PIXEL=%d\n", __func__, beginpixel/4); - - DBG(DBG_io2, "%s: using chunks of %d bytes (%d shading data pixels)\n", __func__, length, - length/4); - std::vector buffer(pixels, 0); - - /* write actual shading data contigously - * channel by channel, starting at addr 0x0000 - * */ - for(i=0;i<3;i++) - { - /* copy data to work buffer and process it */ - /* coefficent destination */ - ptr=buffer.data(); - - /* iterate on both sensor segment, data has been averaged, - * so is in the right order and we only have to copy it */ - for(x=0;xmodel->cmd_set->bulk_write_data(dev, 0x3c, buffer.data(), pixels)); - } - - DBGCOMPLETED; - - return status; -} - - -/** the gl841 command set */ -static Genesys_Command_Set gl841_cmd_set = { - "gl841-generic", /* the name of this set */ - - [](Genesys_Device* dev) -> bool { (void) dev; return true; }, - - gl841_init, - gl841_init_regs_for_warmup, - gl841_init_regs_for_coarse_calibration, - gl841_init_regs_for_shading, - gl841_init_regs_for_scan, - - gl841_get_filter_bit, - gl841_get_lineart_bit, - gl841_get_bitset_bit, - gl841_get_gain4_bit, - gl841_get_fast_feed_bit, - gl841_test_buffer_empty_bit, - gl841_test_motor_flag_bit, - - gl841_set_fe, - gl841_set_powersaving, - gl841_save_power, - - gl841_begin_scan, - gl841_end_scan, - - gl841_send_gamma_table, - - gl841_search_start_position, - - gl841_offset_calibration, - gl841_coarse_gain_calibration, - gl841_led_calibration, - - NULL, - gl841_slow_back_home, - NULL, - - sanei_genesys_bulk_write_register, - sanei_genesys_bulk_write_data, - sanei_genesys_bulk_read_data, - - gl841_update_hardware_sensors, - - gl841_load_document, - gl841_detect_document_end, - gl841_eject_document, - gl841_search_strip, - - gl841_is_compatible_calibration, - NULL, - gl841_send_shading_data, - gl841_calculate_current_setup, - NULL -}; - -SANE_Status -sanei_gl841_init_cmd_set (Genesys_Device * dev) -{ - dev->model->cmd_set = &gl841_cmd_set; - return SANE_STATUS_GOOD; -} diff --git a/backend/genesys_gl841.h b/backend/genesys_gl841.h deleted file mode 100644 index 3dbfc80..0000000 --- a/backend/genesys_gl841.h +++ /dev/null @@ -1,265 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2011-2013 Stéphane Voltz - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#include "genesys.h" - -/* Individual bits */ -#define REG01 0x01 -#define REG01_CISSET 0x80 -#define REG01_DOGENB 0x40 -#define REG01_DVDSET 0x20 -#define REG01_M16DRAM 0x08 -#define REG01_DRAMSEL 0x04 -#define REG01_SHDAREA 0x02 -#define REG01_SCAN 0x01 - -#define REG02 0x02 -#define REG02_NOTHOME 0x80 -#define REG02_ACDCDIS 0x40 -#define REG02_AGOHOME 0x20 -#define REG02_MTRPWR 0x10 -#define REG02_FASTFED 0x08 -#define REG02_MTRREV 0x04 -#define REG02_HOMENEG 0x02 -#define REG02_LONGCURV 0x01 - -#define REG03_LAMPDOG 0x80 -#define REG03_AVEENB 0x40 -#define REG03_XPASEL 0x20 -#define REG03_LAMPPWR 0x10 -#define REG03_LAMPTIM 0x0f - -#define REG04_LINEART 0x80 -#define REG04_BITSET 0x40 -#define REG04_AFEMOD 0x30 -#define REG04_FILTER 0x0c -#define REG04_FESET 0x03 - -#define REG04S_AFEMOD 4 - -#define REG05_DPIHW 0xc0 -#define REG05_DPIHW_600 0x00 -#define REG05_DPIHW_1200 0x40 -#define REG05_DPIHW_2400 0x80 -#define REG05_MTLLAMP 0x30 -#define REG05_GMMENB 0x08 -#define REG05_MTLBASE 0x03 - -#define REG06_SCANMOD 0xe0 -#define REG06S_SCANMOD 5 -#define REG06_PWRBIT 0x10 -#define REG06_GAIN4 0x08 -#define REG06_OPTEST 0x07 - -#define REG07_SRAMSEL 0x08 -#define REG07_FASTDMA 0x04 -#define REG07_DMASEL 0x02 -#define REG07_DMARDWR 0x01 - -#define REG08_DECFLAG 0x40 -#define REG08_GMMFFR 0x20 -#define REG08_GMMFFG 0x10 -#define REG08_GMMFFB 0x08 -#define REG08_GMMZR 0x04 -#define REG08_GMMZG 0x02 -#define REG08_GMMZB 0x01 - -#define REG09_MCNTSET 0xc0 -#define REG09_CLKSET 0x30 -#define REG09_BACKSCAN 0x08 -#define REG09_ENHANCE 0x04 -#define REG09_SHORTTG 0x02 -#define REG09_NWAIT 0x01 - -#define REG09S_MCNTSET 6 -#define REG09S_CLKSET 4 - - -#define REG0A_SRAMBUF 0x01 - -#define REG0D 0x0d -#define REG0D_CLRLNCNT 0x01 - -#define REG16_CTRLHI 0x80 -#define REG16_TOSHIBA 0x40 -#define REG16_TGINV 0x20 -#define REG16_CK1INV 0x10 -#define REG16_CK2INV 0x08 -#define REG16_CTRLINV 0x04 -#define REG16_CKDIS 0x02 -#define REG16_CTRLDIS 0x01 - -#define REG17_TGMODE 0xc0 -#define REG17_TGMODE_NO_DUMMY 0x00 -#define REG17_TGMODE_REF 0x40 -#define REG17_TGMODE_XPA 0x80 -#define REG17_TGW 0x3f -#define REG17S_TGW 0 - -#define REG18_CNSET 0x80 -#define REG18_DCKSEL 0x60 -#define REG18_CKTOGGLE 0x10 -#define REG18_CKDELAY 0x0c -#define REG18_CKSEL 0x03 - -#define REG1A_MANUAL3 0x02 -#define REG1A_MANUAL1 0x01 -#define REG1A_CK4INV 0x08 -#define REG1A_CK3INV 0x04 -#define REG1A_LINECLP 0x02 - -#define REG1C_TGTIME 0x07 - -#define REG1D_CK4LOW 0x80 -#define REG1D_CK3LOW 0x40 -#define REG1D_CK1LOW 0x20 -#define REG1D_TGSHLD 0x1f -#define REG1DS_TGSHLD 0 - - -#define REG1E 0x1e -#define REG1E_WDTIME 0xf0 -#define REG1ES_WDTIME 4 -#define REG1E_LINESEL 0x0f -#define REG1ES_LINESEL 0 - -#define REG_EXPR 0x10 -#define REG_EXPG 0x12 -#define REG_EXPB 0x14 -#define REG_STEPNO 0x21 -#define REG_FWDSTEP 0x22 -#define REG_BWDSTEP 0x23 -#define REG_FASTNO 0x24 -#define REG_LINCNT 0x25 -#define REG_DPISET 0x2c -#define REG_STRPIXEL 0x30 -#define REG_ENDPIXEL 0x32 -#define REG_LPERIOD 0x38 - -#define REG40_HISPDFLG 0x04 -#define REG40_MOTMFLG 0x02 -#define REG40_DATAENB 0x01 - -#define REG41_PWRBIT 0x80 -#define REG41_BUFEMPTY 0x40 -#define REG41_FEEDFSH 0x20 -#define REG41_SCANFSH 0x10 -#define REG41_HOMESNR 0x08 -#define REG41_LAMPSTS 0x04 -#define REG41_FEBUSY 0x02 -#define REG41_MOTORENB 0x01 - -#define REG58_VSMP 0xf8 -#define REG58S_VSMP 3 -#define REG58_VSMPW 0x07 -#define REG58S_VSMPW 0 - -#define REG59_BSMP 0xf8 -#define REG59S_BSMP 3 -#define REG59_BSMPW 0x07 -#define REG59S_BSMPW 0 - -#define REG5A_ADCLKINV 0x80 -#define REG5A_RLCSEL 0x40 -#define REG5A_CDSREF 0x30 -#define REG5AS_CDSREF 4 -#define REG5A_RLC 0x0f -#define REG5AS_RLC 0 - -#define REG5E_DECSEL 0xe0 -#define REG5ES_DECSEL 5 -#define REG5E_STOPTIM 0x1f -#define REG5ES_STOPTIM 0 - -#define REG60_ZIMOD 0x1f -#define REG61_Z1MOD 0xff -#define REG62_Z1MOD 0xff - -#define REG63_Z2MOD 0x1f -#define REG64_Z2MOD 0xff -#define REG65_Z2MOD 0xff - -#define REG67_STEPSEL 0xc0 -#define REG67_FULLSTEP 0x00 -#define REG67_HALFSTEP 0x40 -#define REG67_QUATERSTEP 0x80 -#define REG67_MTRPWM 0x3f - -#define REG68_FSTPSEL 0xc0 -#define REG68_FULLSTEP 0x00 -#define REG68_HALFSTEP 0x40 -#define REG68_QUATERSTEP 0x80 -#define REG68_FASTPWM 0x3f - -#define REG6B_MULTFILM 0x80 -#define REG6B_GPOM13 0x40 -#define REG6B_GPOM12 0x20 -#define REG6B_GPOM11 0x10 -#define REG6B_GPO18 0x02 -#define REG6B_GPO17 0x01 - -#define REG6B 0x6b - -#define REG6C 0x6c -#define REG6C_GPIOH 0xff -#define REG6C_GPIOL 0xff - -#define REG6D 0x6d -#define REG6E 0x6e -#define REG6F 0x6f - -#define REG87_LEDADD 0x04 - -#define INITREG(adr,val) {dev->reg.init_reg(adr, val); } - -/** - * prototypes declaration in case of unit testing - */ - -static -int gl841_exposure_time(Genesys_Device *dev, const Genesys_Sensor& sensor, - float slope_dpi, - int scan_step_type, - int start, - int used_pixels, - int *scan_power_mode); diff --git a/backend/genesys_gl843.cc b/backend/genesys_gl843.cc deleted file mode 100644 index a72dc5a..0000000 --- a/backend/genesys_gl843.cc +++ /dev/null @@ -1,4415 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2010-2013 Stéphane Voltz - - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#define DEBUG_DECLARE_ONLY - -#include "genesys_gl843.h" - -#include -#include - -/**************************************************************************** - Low level function - ****************************************************************************/ - -/* ------------------------------------------------------------------------ */ -/* Read and write RAM, registers and AFE */ -/* ------------------------------------------------------------------------ */ - -/* Set address for writing data */ -static SANE_Status -gl843_set_buffer_address (Genesys_Device * dev, uint32_t addr) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_io, "%s: setting address to 0x%05x\n", __func__, addr & 0xffff); - - status = sanei_genesys_write_register (dev, 0x5b, ((addr >> 8) & 0xff)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed while writing high byte: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = sanei_genesys_write_register (dev, 0x5c, (addr & 0xff)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed while writing low byte: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_io, "%s: completed\n", __func__); - - return status; -} - -/** - * writes a block of data to RAM - * @param dev USB device - * @param addr RAM address to write to - * @param size size of the chunk of data - * @param data pointer to the data to write - */ -static SANE_Status -write_data (Genesys_Device * dev, uint32_t addr, uint32_t size, - uint8_t * data) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - status = gl843_set_buffer_address (dev, addr); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed while setting address for bulk write data: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - /* write actual data */ - status = sanei_genesys_bulk_write_data(dev, 0x28, data, size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed while writing bulk write data: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - /* set back address to 0 */ - status = gl843_set_buffer_address (dev, 0); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed setting to default RAM address: %s\n", __func__, - sane_strstatus(status)); - return status; - } - DBGCOMPLETED; - return status; -} - -/**************************************************************************** - Mid level functions - ****************************************************************************/ - -static SANE_Bool -gl843_get_fast_feed_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, REG02); - if (r && (r->value & REG02_FASTFED)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl843_get_filter_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_FILTER)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl843_get_lineart_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_LINEART)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl843_get_bitset_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_BITSET)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl843_get_gain4_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, REG06); - if (r && (r->value & REG06_GAIN4)) - return SANE_TRUE; - return SANE_FALSE; -} - -/** - * compute the step multiplier used - */ -static int -gl843_get_step_multiplier (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - int value = 1; - - r = sanei_genesys_get_address (regs, REG9D); - if (r != NULL) - { - switch (r->value & 0x0c) - { - case 0x04: - value = 2; - break; - case 0x08: - value = 4; - break; - default: - value = 1; - } - } - DBG(DBG_io, "%s: step multiplier is %d\n", __func__, value); - return value; -} - -static SANE_Bool -gl843_test_buffer_empty_bit (SANE_Byte val) -{ - if (val & REG41_BUFEMPTY) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl843_test_motor_flag_bit (SANE_Byte val) -{ - if (val & REG41_MOTORENB) - return SANE_TRUE; - return SANE_FALSE; -} - -/** copy sensor specific settings */ -static void -gl843_setup_sensor (Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set * regs, int dpi,int flags) -{ - (void) dpi; - (void) flags; - - DBGSTART; - - for (const auto& custom_reg : sensor.custom_regs) { - regs->set8(custom_reg.address, custom_reg.value); - } - if (!(dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE)) { - regs->set8(0x7d, 0x90); - } - - DBGCOMPLETED; -} - - -/** @brief set all registers to default values . - * This function is called only once at the beginning and - * fills register startup values for registers reused across scans. - * Those that are rarely modified or not modified are written - * individually. - * @param dev device structure holding register set to initialize - */ -static void -gl843_init_registers (Genesys_Device * dev) -{ - // Within this function SENSOR_DEF marker documents that a register is part - // of the sensors definition and the actual value is set in - // gl843_setup_sensor(). - - DBGSTART; - - dev->reg.clear(); - - /* default to KV-SS080 */ - SETREG (0xa2, 0x0f); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0xa2, 0x1f); - } - SETREG (0x01, 0x00); - SETREG (0x02, 0x78); - SETREG (0x03, 0x1f); - SETREG (0x04, 0x10); - - // fine tune upon device description - SETREG (0x05, 0x80); - if (dev->model->model_id == MODEL_HP_SCANJET_G4010 || - dev->model->model_id == MODEL_HP_SCANJET_G4050 || - dev->model->model_id == MODEL_HP_SCANJET_4850C) - { - SETREG (0x05, 0x08); - } - - dev->reg.find_reg(0x05).value &= ~REG05_DPIHW; - switch (sanei_genesys_find_sensor_any(dev).optical_res) - { - case 600: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_600; - break; - case 1200: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_1200; - break; - case 2400: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; - break; - case 4800: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_4800; - break; - } - - // TODO: on 8600F the windows driver turns off GAIN4 which is recommended - SETREG (0x06, 0xd8); /* SCANMOD=110, PWRBIT and GAIN4 */ - SETREG (0x08, 0x00); - SETREG (0x09, 0x00); - SETREG (0x0a, 0x00); - - // This register controls clock and RAM settings and is further modified in - // gl843_boot - SETREG (0x0b, 0x6a); - - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x0b, 0x89); - } - - // EXPR[0:15], EXPG[0:15], EXPB[0:15]: Exposure time settings. - SETREG(0x10, 0x00); // SENSOR_DEF - SETREG(0x11, 0x00); // SENSOR_DEF - SETREG(0x12, 0x00); // SENSOR_DEF - SETREG(0x13, 0x00); // SENSOR_DEF - SETREG(0x14, 0x00); // SENSOR_DEF - SETREG(0x15, 0x00); // SENSOR_DEF - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - dev->reg.set16(REG_EXPR, 0x9c40); - dev->reg.set16(REG_EXPG, 0x9c40); - dev->reg.set16(REG_EXPB, 0x9c40); - } - // CCD signal settings. - SETREG(0x16, 0x33); // SENSOR_DEF - SETREG(0x17, 0x1c); // SENSOR_DEF - SETREG(0x18, 0x10); // SENSOR_DEF - - // EXPDMY[0:7]: Exposure time of dummy lines. - SETREG(0x19, 0x2a); // SENSOR_DEF - - // Various CCD clock settings. - SETREG(0x1a, 0x04); // SENSOR_DEF - SETREG(0x1b, 0x00); // SENSOR_DEF - SETREG(0x1c, 0x20); // SENSOR_DEF - SETREG(0x1d, 0x04); // SENSOR_DEF - - SETREG (0x1e, 0x10); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x1e, 0x20); - } - - SETREG (0x1f, 0x01); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x1f, 0xff); - } - - SETREG (0x20, 0x10); - SETREG (0x21, 0x04); - SETREG (0x22, 0x01); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x22, 0xc8); - } - - SETREG (0x23, 0x01); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x23, 0xc8); - } - - SETREG (0x24, 0x04); - SETREG (0x25, 0x00); - SETREG (0x26, 0x00); - SETREG (0x27, 0x00); - SETREG (0x2c, 0x02); - SETREG (0x2d, 0x58); - // BWHI[0:7]: high level of black and white threshold - SETREG (0x2e, 0x80); - // BWLOW[0:7]: low level of black and white threshold - SETREG (0x2f, 0x80); - SETREG (0x30, 0x00); - SETREG (0x31, 0x14); - SETREG (0x32, 0x27); - SETREG (0x33, 0xec); - - // DUMMY: CCD dummy and optically black pixel count - SETREG (0x34, 0x24); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x34, 0x14); - } - - // MAXWD: If available buffer size is less than 2*MAXWD words, then - // "buffer full" state will be set. - SETREG (0x35, 0x00); - SETREG (0x36, 0xff); - SETREG (0x37, 0xff); - - // LPERIOD: Line period or exposure time for CCD or CIS. - SETREG(0x38, 0x55); // SENSOR_DEF - SETREG(0x39, 0xf0); // SENSOR_DEF - - // FEEDL[0:24]: The number of steps of motor movement. - SETREG(0x3d, 0x00); - SETREG (0x3e, 0x00); - SETREG (0x3f, 0x01); - - // Latch points for high and low bytes of R, G and B channels of AFE. If - // multiple clocks per pixel are consumed, then the setting defines during - // which clock the corresponding value will be read. - // RHI[0:4]: The latch point for high byte of R channel. - // RLOW[0:4]: The latch point for low byte of R channel. - // GHI[0:4]: The latch point for high byte of G channel. - // GLOW[0:4]: The latch point for low byte of G channel. - // BHI[0:4]: The latch point for high byte of B channel. - // BLOW[0:4]: The latch point for low byte of B channel. - SETREG(0x52, 0x01); // SENSOR_DEF - SETREG(0x53, 0x04); // SENSOR_DEF - SETREG(0x54, 0x07); // SENSOR_DEF - SETREG(0x55, 0x0a); // SENSOR_DEF - SETREG(0x56, 0x0d); // SENSOR_DEF - SETREG(0x57, 0x10); // SENSOR_DEF - - // VSMP[0:4]: The position of the image sampling pulse for AFE in cycles. - // VSMPW[0:2]: The length of the image sampling pulse for AFE in cycles. - SETREG(0x58, 0x1b); // SENSOR_DEF - - SETREG(0x59, 0x00); // SENSOR_DEF - SETREG(0x5a, 0x40); // SENSOR_DEF - - // 0x5b-0x5c: GMMADDR[0:15] address for gamma or motor tables download - // SENSOR_DEF - - // DECSEL[0:2]: The number of deceleratino steps after touching home sensor - // STOPTIM[0:4]: The stop duration between change of directions in - // backtracking - SETREG (0x5e, 0x23); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x5e, 0x1f); - } - - // FMOVDEC: The number of deceleration steps in table 5 for auto-go-home - SETREG (0x5f, 0x01); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x5f, 0xf0); - } - - // Z1MOD[0:20] - SETREG (0x60, 0x00); - SETREG (0x61, 0x00); - SETREG (0x62, 0x00); - - // Z2MOD[0:20] - SETREG (0x63, 0x00); - SETREG (0x64, 0x00); - SETREG (0x65, 0x00); - - // STEPSEL[0:1]. Motor movement step mode selection for tables 1-3 in - // scanning mode. - // MTRPWM[0:5]. Motor phase PWM duty cycle setting for tables 1-3 - SETREG (0x67, 0x7f); - // FSTPSEL[0:1]: Motor movement step mode selection for tables 4-5 in - // command mode. - // FASTPWM[5:0]: Motor phase PWM duty cycle setting for tables 4-5 - SETREG (0x68, 0x7f); - - // FSHDEC[0:7]: The number of deceleration steps after scanning is finished - // (table 3) - SETREG (0x69, 0x01); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x69, 64); - } - - // FMOVNO[0:7] The number of acceleration or deceleration steps for fast - // moving (table 4) - SETREG (0x6a, 0x04); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x69, 64); - } - - // GPIO-related register bits - SETREG (0x6b, 0x30); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x6b, 0x72); - } - - // 0x6c, 0x6d, 0x6e, 0x6f are set according to gpio tables. See - // gl843_init_gpio. - - // RSH[0:4]: The position of rising edge of CCD RS signal in cycles - // RSL[0:4]: The position of falling edge of CCD RS signal in cycles - // CPH[0:4]: The position of rising edge of CCD CP signal in cycles. - // CPL[0:4]: The position of falling edge of CCD CP signal in cycles - SETREG(0x70, 0x01); // SENSOR_DEF - SETREG(0x71, 0x03); // SENSOR_DEF - SETREG (0x72, 0x04); - SETREG (0x73, 0x05); - - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x70, 0x00); - SETREG(0x71, 0x02); - SETREG(0x72, 0x02); - SETREG(0x73, 0x04); - } - - // CK1MAP[0:17], CK3MAP[0:17], CK4MAP[0:17]: CCD clock bit mapping setting. - SETREG(0x74, 0x00); // SENSOR_DEF - SETREG(0x75, 0x00); // SENSOR_DEF - SETREG(0x76, 0x3c); // SENSOR_DEF - SETREG(0x77, 0x00); // SENSOR_DEF - SETREG(0x78, 0x00); // SENSOR_DEF - SETREG(0x79, 0x9f); // SENSOR_DEF - SETREG(0x7a, 0x00); // SENSOR_DEF - SETREG(0x7b, 0x00); // SENSOR_DEF - SETREG(0x7c, 0x55); // SENSOR_DEF - - // various AFE settings - SETREG(0x7d, 0x00); - - // GPOLED[x]: LED vs GPIO settings - SETREG(0x7e, 0x00); - - // BSMPDLY, VSMPDLY - // LEDCNT[0:1]: Controls led blinking and its period - SETREG (0x7f, 0x00); - - // VRHOME, VRMOVE, VRBACK, VRSCAN: Vref settings of the motor driver IC for - // moving in various situations. - SETREG (0x80, 0x00); - - if (dev->model->model_id != MODEL_CANON_CANOSCAN_4400F) - { - // NOTE: Historical code. None of the following 6 registers are - // documented in the datasheet. Their default value is 0, so probably it's - // not a bad idea to leave this here. - SETREG (0x81, 0x00); - SETREG (0x82, 0x00); - SETREG (0x83, 0x00); - SETREG (0x84, 0x00); - SETREG (0x85, 0x00); - SETREG (0x86, 0x00); - } - - SETREG (0x87, 0x00); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x87, 0x02); - } - - // MTRPLS[0:7]: The width of the ADF motor trigger signal pulse. - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x94, 0xff); - } - - // 0x95-0x97: SCANLEN[0:19]: Controls when paper jam bit is set in sheetfed - // scanners. - - // ONDUR[0:15]: The duration of PWM ON phase for LAMP control - // OFFDUR[0:15]: The duration of PWM OFF phase for LAMP control - // both of the above are in system clocks - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x98, 0x00); - SETREG(0x99, 0x00); - SETREG(0x9a, 0x00); - SETREG(0x9b, 0x00); - } - - // RMADLY[0:1], MOTLAG, CMODE, STEPTIM, MULDMYLN, IFRS - SETREG(0x9d, 0x04); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0x9d, 0x08); // additionally sets the multiplier for slope tables - } - - - // SEL3INV, TGSTIME[0:2], TGWTIME[0:2] - SETREG (0x9e, 0x00); // SENSOR_DEF - - // RFHSET[0:4]: Refresh time of SDRAM in units of 2us - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0xa2, 0x1f); - } - - // 0xa6-0xa9: controls gpio, see gl843_gpio_init - - // GPOM9, MULSTOP[0-2], NODECEL, TB3TB1, TB5TB2, FIX16CLK. - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0xab, 0x00); - } - - // VRHOME[3:2], VRMOVE[3:2], VRBACK[3:2]: Vref setting of the motor driver IC - // for various situations. - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - SETREG(0xac, 0x00); - } - - if (dev->model->model_id != MODEL_CANON_CANOSCAN_8400F) - { - SETREG (0x0c, 0x00); - SETREG (0x94, 0xff); - SETREG (0xab, 0x50); - } - - if (dev->model->model_id != MODEL_CANON_CANOSCAN_4400F - && dev->model->model_id != MODEL_CANON_CANOSCAN_8400F) - { - SETREG (0xaa, 0x00); - } - - /* G4050 values */ - if (dev->model->model_id == MODEL_HP_SCANJET_G4010 || - dev->model->model_id == MODEL_HP_SCANJET_G4050 || - dev->model->model_id == MODEL_HP_SCANJET_4850C) - { - SETREG (0x03, 0x1d); - SETREG (0x06, 0xd0); /* SCANMOD=110, PWRBIT and no GAIN4 */ - SETREG (0x06, 0xd8); /* SCANMOD=110, PWRBIT and GAIN4 */ - SETREG (0x0a, 0x18); - SETREG (0x0b, 0x69); - - /* CIS exposure is used for XPA lamp movement */ - SETREG (0x10, 0x2c); - SETREG (0x11, 0x09); - SETREG (0x12, 0x22); - SETREG (0x13, 0xb8); - SETREG (0x14, 0x10); - SETREG (0x15, 0xf0); - - SETREG (0x6b, 0xf4); - - SETREG (0x70, 0x00); - SETREG (0x71, 0x02); - SETREG (0x72, 0x00); - SETREG (0x73, 0x00); - - SETREG (0x80, 0x50); - SETREG (0x9d, 0x08); - SETREG (0xab, 0x40); - - /* XXX STEF XXX TODO move to set for scan */ - SETREG (0x98, 0x03); - SETREG (0x99, 0x30); - SETREG (0x9a, 0x01); - SETREG (0x9b, 0x80); - SETREG (0xac, 0x00); - } - - if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F) - { - SETREG (0x06, 0xf0); /* SCANMOD=111, PWRBIT and no GAIN4 */ - SETREG (0x0b, 0x69); /* 16M only */ - SETREG (0x1e, 0x20); - SETREG (0x22, 0xc8); - SETREG (0x23, 0xc8); - SETREG (0x5e, 0x3f); - SETREG (0x5f, 0xf0); - SETREG (0x6b, 0x72); - SETREG (0x72, 0x01); - SETREG (0x73, 0x03); - SETREG (0x80, 0x0c); - SETREG (0x87, 0x02); /* MCLOCK -> CK4MAP */ - SETREG (0x9d, 0x08); /* STEPTIM=2 */ - SETREG (0xa2, 0x1f); - SETREG (0xab, 0x00); - sanei_genesys_set_double(&dev->reg,REG_EXPR,0x9c40); - sanei_genesys_set_double(&dev->reg,REG_EXPG,0x9c40); - sanei_genesys_set_double(&dev->reg,REG_EXPB,0x9c40); - } - - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F) - { - SETREG (0x03, 0x1c); - SETREG (0x06, 0xd0); /* SCANMOD=110, PWRBIT and no GAIN4 */ - SETREG (0x0a, 0x10); - SETREG (0x22, 0x50); - SETREG (0x23, 0x50); - SETREG (0x5e, 0x85); - SETREG (0x6b, 0xb1); - SETREG (0x1e, 0xa0); - SETREG (0x72, 0x03); - SETREG (0x73, 0x04); - SETREG (0x7d, 0x20); - SETREG (0x80, 0x28); - SETREG (0x87, 0x02); /* MCLOCK -> CK4MAP */ - SETREG (0x9d, 0x08); /* STEPTIM=2 */ - } - - dev->calib_reg = dev->reg; - - DBGCOMPLETED; -} - -/* Send slope table for motor movement - slope_table in machine byte order - */ -static SANE_Status -gl843_send_slope_table (Genesys_Device * dev, int table_nr, - uint16_t * slope_table, int steps) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - char msg[10000]; - - DBG(DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, table_nr, steps); - - std::vector table(steps * 2); - for (i = 0; i < steps; i++) - { - table[i * 2] = slope_table[i] & 0xff; - table[i * 2 + 1] = slope_table[i] >> 8; - } - - if (DBG_LEVEL >= DBG_io) - { - sprintf (msg, "write slope %d (%d)=", table_nr, steps); - for (i = 0; i < steps; i++) - { - sprintf (msg+strlen(msg), "%d", slope_table[i]); - } - DBG(DBG_io, "%s: %s\n", __func__, msg); - } - - - /* slope table addresses are fixed : 0x4000, 0x4800, 0x5000, 0x5800, 0x6000 */ - /* XXX STEF XXX USB 1.1 ? sanei_genesys_write_0x8c (dev, 0x0f, 0x14); */ - status = write_data (dev, 0x4000 + 0x800 * table_nr, steps * 2, table.data()); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: write data failed writing slope table %d (%s)\n", __func__, table_nr, - sane_strstatus(status)); - } - - DBGCOMPLETED; - return status; -} - - -/* Set values of analog frontend */ -static SANE_Status -gl843_set_fe (Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set) -{ - (void) sensor; - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - int i; - - DBG(DBG_proc, "%s (%s)\n", __func__, set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == - AFE_POWER_SAVE ? "powersave" : "huh?"); - - if (set == AFE_INIT) - { - DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); - dev->frontend = dev->frontend_initial; - } - - /* check analog frontend type */ - // FIXME: looks like we write to that register with initial data - RIE (sanei_genesys_read_register (dev, REG04, &val)); - if ((val & REG04_FESET) != 0x00) - { - /* for now there is no support for AD fe */ - DBG(DBG_proc, "%s(): unsupported frontend type %d\n", __func__, - dev->reg.find_reg(0x04).value & REG04_FESET); - return SANE_STATUS_UNSUPPORTED; - } - - DBG(DBG_proc, "%s(): frontend reset complete\n", __func__); - - for (i = 1; i <= 3; i++) - { - // FIXME: BUG: we should initialize dev->frontend before first use. Right now it's - // initialized during genesys_coarse_calibration() - if (dev->frontend.regs.empty()) { - status = sanei_genesys_fe_write_data(dev, i, 0x00); - } else { - status = sanei_genesys_fe_write_data(dev, i, dev->frontend.regs.get_value(0x00 + i)); - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing reg[%d] failed: %s\n", __func__, i, sane_strstatus(status)); - return status; - } - } - for (const auto& reg : sensor.custom_fe_regs) { - status = sanei_genesys_fe_write_data(dev, reg.address, reg.value); - if (status != SANE_STATUS_GOOD) { - DBG(DBG_error, "%s: writing reg[%d] failed: %s\n", __func__, i, sane_strstatus(status)); - return status; - } - } - - for (i = 0; i < 3; i++) - { - // FIXME: BUG: see above - if (dev->frontend.regs.empty()) { - status = sanei_genesys_fe_write_data(dev, 0x20 + i, 0x00); - } else { - status = sanei_genesys_fe_write_data(dev, 0x20 + i, dev->frontend.get_offset(i)); - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing offset[%d] failed: %s\n", __func__, i, - sane_strstatus(status)); - return status; - } - } - - if (dev->model->ccd_type == CCD_KVSS080) - { - for (i = 0; i < 3; i++) - { - // FIXME: BUG: see above - if (dev->frontend.regs.empty()) { - status = sanei_genesys_fe_write_data(dev, 0x24 + i, 0x00); - } else { - status = sanei_genesys_fe_write_data(dev, 0x24 + i, - dev->frontend.regs.get_value(0x24 + i)); - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing sign[%d] failed: %s\n", __func__, i, - sane_strstatus(status)); - return status; - } - } - } - - for (i = 0; i < 3; i++) - { - // FIXME: BUG: see above - if (dev->frontend.regs.empty()) { - status = sanei_genesys_fe_write_data(dev, 0x28 + i, 0x00); - } else { - status = sanei_genesys_fe_write_data(dev, 0x28 + i, dev->frontend.get_gain(i)); - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: writing gain[%d] failed: %s\n", __func__, i, sane_strstatus(status)); - return status; - } - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -static SANE_Status -gl843_init_motor_regs_scan (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, - unsigned int exposure, - float scan_yres, - int scan_step_type, - unsigned int scan_lines, - unsigned int scan_dummy, - unsigned int feed_steps, - int scan_power_mode, - unsigned int flags) -{ - SANE_Status status = SANE_STATUS_GOOD; - int use_fast_fed, coeff; - unsigned int lincnt; - uint16_t scan_table[1024]; - uint16_t fast_table[1024]; - int scan_steps,fast_steps, fast_step_type; - unsigned int feedl,factor,dist; - GenesysRegister *r; - uint32_t z1, z2; - - DBGSTART; - DBG(DBG_info, "%s : exposure=%d, scan_yres=%g, scan_step_type=%d, scan_lines=%d, scan_dummy=%d, " - "feed_steps=%d, scan_power_mode=%d, flags=%x\n", __func__, exposure, scan_yres, - scan_step_type, scan_lines, scan_dummy, feed_steps, scan_power_mode, flags); - - /* get step multiplier */ - factor = gl843_get_step_multiplier (reg); - - use_fast_fed = 0; - - if((scan_yres>=300 && feed_steps>900) || (flags & MOTOR_FLAG_FEED)) - use_fast_fed=1; - - lincnt=scan_lines; - sanei_genesys_set_triple(reg,REG_LINCNT,lincnt); - DBG(DBG_io, "%s: lincnt=%d\n", __func__, lincnt); - - /* compute register 02 value */ - r = sanei_genesys_get_address (reg, REG02); - r->value = 0x00; - sanei_genesys_set_motor_power(*reg, true); - - if (use_fast_fed) - r->value |= REG02_FASTFED; - else - r->value &= ~REG02_FASTFED; - - /* in case of automatic go home, move until home sensor */ - if (flags & MOTOR_FLAG_AUTO_GO_HOME) - r->value |= REG02_AGOHOME | REG02_NOTHOME; - - /* disable backtracking */ - if ((flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) - ||(scan_yres>=2400) - ||(scan_yres>=sensor.optical_res)) - r->value |= REG02_ACDCDIS; - - /* scan and backtracking slope table */ - sanei_genesys_slope_table(scan_table, - &scan_steps, - scan_yres, - exposure, - dev->motor.base_ydpi, - scan_step_type, - factor, - dev->model->motor_type, - gl843_motors); - RIE(gl843_send_slope_table (dev, SCAN_TABLE, scan_table, scan_steps*factor)); - RIE(gl843_send_slope_table (dev, BACKTRACK_TABLE, scan_table, scan_steps*factor)); - - /* STEPNO */ - r = sanei_genesys_get_address (reg, REG_STEPNO); - r->value = scan_steps; - - /* FSHDEC */ - r = sanei_genesys_get_address (reg, REG_FSHDEC); - r->value = scan_steps; - - /* fast table */ - fast_step_type=0; - if(scan_step_type<=fast_step_type) - { - fast_step_type=scan_step_type; - } - sanei_genesys_slope_table(fast_table, - &fast_steps, - sanei_genesys_get_lowest_ydpi(dev), - exposure, - dev->motor.base_ydpi, - fast_step_type, - factor, - dev->model->motor_type, - gl843_motors); - RIE(gl843_send_slope_table (dev, STOP_TABLE, fast_table, fast_steps*factor)); - RIE(gl843_send_slope_table (dev, FAST_TABLE, fast_table, fast_steps*factor)); - RIE(gl843_send_slope_table (dev, HOME_TABLE, fast_table, fast_steps*factor)); - - /* FASTNO */ - r = sanei_genesys_get_address (reg, REG_FASTNO); - r->value = fast_steps; - - /* FMOVNO */ - r = sanei_genesys_get_address (reg, REG_FMOVNO); - r->value = fast_steps; - - /* substract acceleration distance from feedl */ - feedl=feed_steps; - feedl<<=scan_step_type; - - dist = scan_steps; - if (use_fast_fed) - { - dist += fast_steps*2; - } - DBG(DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); - - /* get sure when don't insane value : XXX STEF XXX in this case we should - * fall back to single table move */ - if(dist600) - { - z1=0; - z2=0; - } - - sanei_genesys_set_triple(reg,REG_Z1MOD,z1); - DBG(DBG_info, "%s: z1 = %d\n", __func__, z1); - - sanei_genesys_set_triple(reg,REG_Z2MOD,z2); - DBG(DBG_info, "%s: z2 = %d\n", __func__, z2); - - r = sanei_genesys_get_address (reg, REG1E); - r->value &= 0xf0; /* 0 dummy lines */ - r->value |= scan_dummy; /* dummy lines */ - - r = sanei_genesys_get_address (reg, REG67); - r->value = 0x3f | (scan_step_type << REG67S_STEPSEL); - - r = sanei_genesys_get_address (reg, REG68); - r->value = 0x3f | (scan_step_type << REG68S_FSTPSEL); - - /* steps for STOP table */ - r = sanei_genesys_get_address (reg, REG_FMOVDEC); - r->value = fast_steps; - - /* Vref XXX STEF XXX : optical divider or step type ? */ - r = sanei_genesys_get_address (reg, 0x80); - if (!(dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE)) - { - r->value = 0x50; - coeff=sensor.optical_res/sanei_genesys_compute_dpihw(dev, sensor, scan_yres); - if (dev->model->motor_type == MOTOR_KVSS080) - { - if(coeff>=1) - { - r->value |= 0x05; - } - } - else { - switch(coeff) - { - case 4: - r->value |= 0x0a; - break; - case 2: - r->value |= 0x0f; - break; - case 1: - r->value |= 0x0f; - break; - } - } - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** @brief setup optical related registers - * start and pixels are expressed in optical sensor resolution coordinate - * space. - * @param dev device to use - * @param reg registers to set up - * @param exposure exposure time to use - * @param used_res scanning resolution used, may differ from - * scan's one - * @param start logical start pixel coordinate - * @param pixels logical number of pixels to use - * @param channels number of color channles used (1 or 3) - * @param depth bit depth of the scan (1, 8 or 16 bits) - * @param ccd_size_divisor SANE_TRUE specifies how much x coordinates must be shrunk - * @param color_filter to choose the color channel used in gray scans - * @param flags to drive specific settings such no calibration, XPA use ... - * @return SANE_STATUS_GOOD if OK - */ -static SANE_Status -gl843_init_optical_regs_scan (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, - unsigned int exposure, - int used_res, - unsigned int start, - unsigned int pixels, - int channels, - int depth, - unsigned ccd_size_divisor, - ColorFilter color_filter, - int flags) -{ - unsigned int words_per_line; - unsigned int startx, endx, used_pixels; - unsigned int dpiset, dpihw, factor; - unsigned int bytes; - unsigned int tgtime; /**> exposure time multiplier */ - unsigned int cksel; /**> clock per system pixel time in capturing image */ - GenesysRegister *r; - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s : exposure=%d, used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " - "ccd_size_divisor=%d, flags=%x\n", __func__, exposure, used_res, start, pixels, channels, - depth, ccd_size_divisor, flags); - - /* tgtime */ - tgtime = exposure / 65536 + 1; - DBG(DBG_io2, "%s: tgtime=%d\n", __func__, tgtime); - - /* to manage high resolution device while keeping good - * low resolution scanning speed, we make hardware dpi vary */ - dpihw=sanei_genesys_compute_dpihw(dev, sensor, used_res); - factor=sensor.optical_res/dpihw; - DBG(DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); - - /* sensor parameters */ - gl843_setup_sensor (dev, sensor, reg, dpihw, flags); - - /* resolution is divided according to CKSEL which is known once sensor is set up */ - r = sanei_genesys_get_address (reg, REG18); - cksel= (r->value & REG18_CKSEL)+1; - DBG(DBG_io2, "%s: cksel=%d\n", __func__, cksel); - dpiset = used_res * cksel; - - /* start and end coordinate in optical dpi coordinates */ - startx = (start + sensor.dummy_pixel)/cksel; - - used_pixels=pixels/cksel; - endx = startx + used_pixels; - - /* pixel coordinate factor correction when used dpihw is not maximal one */ - startx/=factor; - endx/=factor; - used_pixels=endx-startx; - - /* in case of stagger we have to start at an odd coordinate */ - if ((flags & OPTICAL_FLAG_STAGGER) - &&((startx & 1)==0)) - { - startx++; - endx++; - } - - status = gl843_set_fe(dev, sensor, AFE_SET); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* enable shading */ - r = sanei_genesys_get_address (reg, REG01); - r->value &= ~REG01_SCAN; - if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) - { - r->value &= ~REG01_DVDSET; - } - else - { - r->value |= REG01_DVDSET; - } - if(dpihw>600) - { - r->value |= REG01_SHDAREA; - } - else - { - r->value &= ~REG01_SHDAREA; - } - - r = sanei_genesys_get_address (reg, REG03); - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - r->value |= REG03_AVEENB; - else { - r->value &= ~REG03_AVEENB; - } - - // FIXME: we probably don't need to set exposure to registers at this point. It was this way - // before a refactor. - sanei_genesys_set_lamp_power(dev, sensor, *reg, !(flags & OPTICAL_FLAG_DISABLE_LAMP)); - - /* select XPA */ - r->value &= ~REG03_XPASEL; - if (flags & OPTICAL_FLAG_USE_XPA) - { - r->value |= REG03_XPASEL; - } - reg->state.is_xpa_on = flags & OPTICAL_FLAG_USE_XPA; - - /* BW threshold */ - r = sanei_genesys_get_address (reg, REG2E); - r->value = dev->settings.threshold; - r = sanei_genesys_get_address (reg, REG2F); - r->value = dev->settings.threshold; - - /* monochrome / color scan */ - r = sanei_genesys_get_address (reg, REG04); - switch (depth) - { - case 1: - r->value &= ~REG04_BITSET; - r->value |= REG04_LINEART; - break; - case 8: - r->value &= ~(REG04_LINEART | REG04_BITSET); - break; - case 16: - r->value &= ~REG04_LINEART; - r->value |= REG04_BITSET; - break; - } - - r->value &= ~(REG04_FILTER | REG04_AFEMOD); - if (channels == 1) - { - switch (color_filter) - { - case ColorFilter::RED: - r->value |= 0x14; - break; - case ColorFilter::BLUE: - r->value |= 0x1c; - break; - case ColorFilter::GREEN: - r->value |= 0x18; - break; - default: - break; // should not happen - } - } - else - r->value |= 0x10; /* mono */ - - /* register 05 */ - r = sanei_genesys_get_address (reg, REG05); - - /* set up dpihw */ - r->value &= ~REG05_DPIHW; - switch(dpihw) - { - case 600: - r->value |= REG05_DPIHW_600; - break; - case 1200: - r->value |= REG05_DPIHW_1200; - break; - case 2400: - r->value |= REG05_DPIHW_2400; - break; - case 4800: - r->value |= REG05_DPIHW_4800; - break; - } - - /* enable gamma tables */ - if (flags & OPTICAL_FLAG_DISABLE_GAMMA) - r->value &= ~REG05_GMMENB; - else - r->value |= REG05_GMMENB; - - sanei_genesys_set_double(reg, REG_DPISET, dpiset * ccd_size_divisor); - DBG(DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset * ccd_size_divisor); - - sanei_genesys_set_double(reg, REG_STRPIXEL, startx); - sanei_genesys_set_double(reg, REG_ENDPIXEL, endx); - - /* words(16bit) before gamma, conversion to 8 bit or lineart */ - words_per_line = (used_pixels * dpiset) / dpihw; - bytes = depth / 8; - if (depth == 1) - { - words_per_line = (words_per_line >> 3) + ((words_per_line & 7) ? 1 : 0); - } - else - { - words_per_line *= bytes; - } - - dev->wpl = words_per_line; - dev->bpl = words_per_line; - - DBG(DBG_io2, "%s: used_pixels=%d\n", __func__, used_pixels); - DBG(DBG_io2, "%s: pixels =%d\n", __func__, pixels); - DBG(DBG_io2, "%s: depth =%d\n", __func__, depth); - DBG(DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long) dev->bpl); - DBG(DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); - DBG(DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); - - words_per_line *= channels; - - /* MAXWD is expressed in 2 words unit */ - /* nousedspace = (mem_bank_range * 1024 / 256 -1 ) * 4; */ - sanei_genesys_set_triple(reg,REG_MAXWD,(words_per_line)>>1); - DBG(DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); - - sanei_genesys_set_double(reg,REG_LPERIOD,exposure/tgtime); - DBG(DBG_io2, "%s: exposure used=%d\n", __func__, exposure/tgtime); - - r = sanei_genesys_get_address (reg, REG_DUMMY); - r->value = sensor.dummy_pixel; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -struct ScanSession { - SetupParams params; - - // whether the session setup has been computed via gl843_compute_session() - bool computed = false; - - // whether CCD operates as half-resolution or full resolution at a specific resolution - unsigned ccd_size_divisor = 1; - - // the optical resolution of the scanner. - unsigned optical_resolution = 0; - - // the number of pixels at the optical resolution. - unsigned optical_pixels = 0; - - // the number of bytes in the output of a single line directly from scanner - unsigned optical_line_bytes = 0; - - // the resolution of the output data. - unsigned output_resolution = 0; - - // the number of pixels in output data - unsigned output_pixels = 0; - - // the number of bytes in the output of a single line - unsigned output_line_bytes = 0; - - // the number of lines in the output of the scanner. This must be larger than the user - // requested number due to line staggering and color channel shifting. - unsigned output_line_count = 0; - - // the number of staggered lines (i.e. lines that overlap during scanning due to line being - // thinner than the CCD element) - unsigned num_staggered_lines = 0; - - // the number of lines that color channels shift due to different physical positions of - // different color channels - unsigned max_color_shift_lines = 0; - - void assert_computed() const - { - if (!computed) { - throw std::runtime_error("ScanSession is not computed"); - } - } -}; - -static unsigned align_int_up(unsigned num, unsigned alignment) -{ - unsigned mask = alignment - 1; - if (num & mask) - num = (num & ~mask) + alignment; - return num; -} - -// computes physical parameters for specific scan setup -static void gl843_compute_session(Genesys_Device* dev, ScanSession& s, - const Genesys_Sensor& sensor) -{ - s.params.assert_valid(); - s.ccd_size_divisor = sensor.get_ccd_size_divisor_for_dpi(s.params.xres); - - s.optical_resolution = sensor.optical_res / s.ccd_size_divisor; - - if (s.params.flags & SCAN_FLAG_USE_OPTICAL_RES) { - s.output_resolution = s.optical_resolution; - } else { - // resolution is choosen from a fixed list and can be used directly - // unless we have ydpi higher than sensor's maximum one - if (s.params.xres > s.optical_resolution) - s.output_resolution = s.optical_resolution; - else - s.output_resolution = s.params.xres; - } - - // compute rounded up number of optical pixels - s.optical_pixels = (s.params.pixels * s.optical_resolution) / s.params.xres; - if (s.optical_pixels * s.params.xres < s.params.pixels * s.optical_resolution) - s.optical_pixels++; - - // ensure the number of optical pixels is divisible by 2. - // In quarter-CCD mode optical_pixels is 4x larger than the actual physical number - s.optical_pixels = align_int_up(s.optical_pixels, 2 * s.ccd_size_divisor); - - s.output_pixels = - (s.optical_pixels * s.output_resolution) / s.optical_resolution; - - // Note: staggering is not applied for calibration. Staggering starts at 2400 dpi - s.num_staggered_lines = 0; - if ((s.params.yres > 1200) && - ((s.params.flags & SCAN_FLAG_IGNORE_LINE_DISTANCE) == 0) && - (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - { - s.num_staggered_lines = (4 * s.params.yres) / dev->motor.base_ydpi; - } - - s.max_color_shift_lines = sanei_genesys_compute_max_shift(dev, s.params.channels, - s.params.yres, s.params.flags); - - s.output_line_count = s.params.lines + s.max_color_shift_lines + s.num_staggered_lines; - - s.optical_line_bytes = (s.optical_pixels * s.params.channels * s.params.depth) / 8; - s.output_line_bytes = (s.output_pixels * s.params.channels * s.params.depth) / 8; - s.computed = true; -} - -/* set up registers for an actual scan - * - * this function sets up the scanner to scan in normal or single line mode - */ -static SANE_Status gl843_init_scan_regs(Genesys_Device* dev, const Genesys_Sensor& sensor, - Genesys_Register_Set* reg, - ScanSession& session) -{ - session.assert_computed(); - - int start; - int move; - unsigned int oflags, mflags; /**> optical and motor flags */ - int exposure; - - int slope_dpi = 0; - int dummy = 0; - int scan_step_type = 1; - int scan_power_mode = 0; - size_t requested_buffer_size, read_buffer_size; - - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, session.params); - - DBG(DBG_info, "%s : stagger=%d lines\n", __func__, session.num_staggered_lines); - - /* we enable true gray for cis scanners only, and just when doing - * scan since color calibration is OK for this mode - */ - oflags = 0; - if (session.params.flags & SCAN_FLAG_DISABLE_SHADING) - oflags |= OPTICAL_FLAG_DISABLE_SHADING; - if (session.params.flags & SCAN_FLAG_DISABLE_GAMMA) - oflags |= OPTICAL_FLAG_DISABLE_GAMMA; - if (session.params.flags & SCAN_FLAG_DISABLE_LAMP) - oflags |= OPTICAL_FLAG_DISABLE_LAMP; - if (session.params.flags & SCAN_FLAG_CALIBRATION) - oflags |= OPTICAL_FLAG_DISABLE_DOUBLE; - if (session.num_staggered_lines) - oflags |= OPTICAL_FLAG_STAGGER; - if (session.params.flags & SCAN_FLAG_USE_XPA) - oflags |= OPTICAL_FLAG_USE_XPA; - - - /* compute scan parameters values */ - /* pixels are allways given at full optical resolution */ - /* use detected left margin and fixed value */ - /* start */ - start = session.params.startx; - - dummy = 0; - /* dummy = 1; XXX STEF XXX */ - - /* slope_dpi */ - /* cis color scan is effectively a gray scan with 3 gray lines per color line and a FILTER of 0 */ - if (dev->model->is_cis) - slope_dpi = session.params.yres * session.params.channels; - else - slope_dpi = session.params.yres; - slope_dpi = slope_dpi * (1 + dummy); - - /* scan_step_type */ - exposure = sensor.exposure_lperiod; - if (exposure < 0) { - throw std::runtime_error("Exposure not defined in sensor definition"); - } - scan_step_type = sanei_genesys_compute_step_type(gl843_motors, dev->model->motor_type, exposure); - - DBG(DBG_info, "%s : exposure=%d pixels\n", __func__, exposure); - DBG(DBG_info, "%s : scan_step_type=%d\n", __func__, scan_step_type); - - /*** optical parameters ***/ - /* in case of dynamic lineart, we use an internal 8 bit gray scan - * to generate 1 lineart data */ - if (session.params.flags & SCAN_FLAG_DYNAMIC_LINEART) { - session.params.depth = 8; - } - - /* no 16 bit gamma for this ASIC */ - if (session.params.depth == 16) - { - session.params.flags |= SCAN_FLAG_DISABLE_GAMMA; - oflags |= OPTICAL_FLAG_DISABLE_GAMMA; - } - - /* now _LOGICAL_ optical values used are known, setup registers */ - status = gl843_init_optical_regs_scan (dev, sensor, - reg, - exposure, - session.output_resolution, - start, - session.optical_pixels, - session.params.channels, - session.params.depth, - session.ccd_size_divisor, - session.params.color_filter, - oflags); - if (status != SANE_STATUS_GOOD) - return status; - - /*** motor parameters ***/ - - /* it seems base_dpi of the G4050 motor is changed above 600 dpi*/ - if (dev->model->motor_type == MOTOR_G4050 && session.params.yres>600) - { - dev->ld_shift_r = (dev->model->ld_shift_r*3800)/dev->motor.base_ydpi; - dev->ld_shift_g = (dev->model->ld_shift_g*3800)/dev->motor.base_ydpi; - dev->ld_shift_b = (dev->model->ld_shift_b*3800)/dev->motor.base_ydpi; - } - else - { - dev->ld_shift_r = dev->model->ld_shift_r; - dev->ld_shift_g = dev->model->ld_shift_g; - dev->ld_shift_b = dev->model->ld_shift_b; - } - - /* add tl_y to base movement */ - move = session.params.starty; - DBG(DBG_info, "%s: move=%d steps\n", __func__, move); - - - mflags=0; - if(session.params.flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE) - mflags|=MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE; - if(session.params.flags & SCAN_FLAG_FEEDING) - mflags|=MOTOR_FLAG_FEED; - if (session.params.flags & SCAN_FLAG_USE_XPA) - mflags |= MOTOR_FLAG_USE_XPA; - - status = gl843_init_motor_regs_scan (dev, sensor, - reg, - exposure, - slope_dpi, - scan_step_type, - dev->model->is_cis ? session.output_line_count * session.params.channels - : session.output_line_count, - dummy, - move, - scan_power_mode, - mflags); - if (status != SANE_STATUS_GOOD) - return status; - - /* since we don't have sheetfed scanners to handle, - * use huge read buffer */ - /* TODO find the best size according to settings */ - requested_buffer_size = 16 * session.output_line_bytes; - - read_buffer_size = - 2 * requested_buffer_size + - (session.max_color_shift_lines + session.num_staggered_lines) * session.optical_line_bytes; - - dev->read_buffer.clear(); - dev->read_buffer.alloc(read_buffer_size); - - dev->lines_buffer.clear(); - dev->lines_buffer.alloc(read_buffer_size); - - dev->shrink_buffer.clear(); - dev->shrink_buffer.alloc(requested_buffer_size); - - dev->out_buffer.clear(); - dev->out_buffer.alloc((8 * session.params.pixels * session.params.channels * - session.params.depth) / 8); - - dev->read_bytes_left = session.output_line_bytes * session.output_line_count; - - DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); - dev->read_active = SANE_TRUE; - - dev->current_setup.params = session.params; - dev->current_setup.pixels = session.output_pixels; - DBG(DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); - dev->current_setup.lines = session.output_line_count; - dev->current_setup.depth = session.params.depth; - dev->current_setup.channels = session.params.channels; - dev->current_setup.exposure_time = exposure; - dev->current_setup.xres = session.output_resolution; - dev->current_setup.yres = session.params.yres; - dev->current_setup.ccd_size_divisor = session.ccd_size_divisor; - dev->current_setup.stagger = session.num_staggered_lines; - dev->current_setup.max_shift = session.max_color_shift_lines + session.num_staggered_lines; - - dev->total_bytes_read = 0; - if (session.params.depth == 1) { - dev->total_bytes_to_read = ((session.params.pixels * session.params.lines) / 8 + - (((session.params.pixels * session.params.lines) % 8) ? 1 : 0)) * - session.params.channels; - } else { - dev->total_bytes_to_read = session.params.pixels * session.params.lines * - session.params.channels * (session.params.depth / 8); - } - - DBG(DBG_info, "%s: total bytes to send = %lu\n", __func__, (u_long) dev->total_bytes_to_read); - - DBG(DBG_proc, "%s: completed\n", __func__); - return SANE_STATUS_GOOD; -} - -static void -gl843_calculate_current_setup(Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int channels; - int depth; - int start; - - int used_res; - int used_pixels; - unsigned int lincnt; - int exposure; - int stagger; - - int max_shift; - - int optical_res; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, dev->settings); - - /* we have 2 domains for ccd: xres below or above half ccd max dpi */ - unsigned ccd_size_divisor = sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres); - - /* channels */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == ScanColorMode::LINEART) - depth = 1; - - /* start */ - if(dev->settings.scan_method==ScanMethod::TRANSPARENCY) - start = SANE_UNFIX (dev->model->x_offset_ta); - else - start = SANE_UNFIX (dev->model->x_offset); - - start /= ccd_size_divisor; - - start += dev->settings.tl_x; - start = (start * sensor.optical_res) / MM_PER_INCH; - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = start; // not used - params.starty = 0; // not used - params.pixels = dev->settings.pixels; - params.lines = dev->settings.lines; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = dev->settings.scan_mode; - params.color_filter = dev->settings.color_filter; - params.flags = 0; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, params); - - /* optical_res */ - optical_res = sensor.optical_res / ccd_size_divisor; - - /* stagger */ - if (ccd_size_divisor == 1 && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * params.yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG(DBG_info, "%s: stagger=%d lines\n", __func__, stagger); - - if (params.xres <= (unsigned) optical_res) { - used_res = params.xres; - } else { - used_res = optical_res; - } - - /* compute scan parameters values */ - /* pixels are allways given at half or full CCD optical resolution */ - /* use detected left margin and fixed value */ - - /* compute correct pixels number */ - used_pixels = (params.pixels * optical_res) / params.xres; - DBG(DBG_info, "%s: used_pixels=%d\n", __func__, used_pixels); - - /* exposure */ - exposure = sensor.exposure_lperiod; - if (exposure < 0) { - throw std::runtime_error("Exposure not defined in sensor definition"); - } - DBG(DBG_info, "%s : exposure=%d pixels\n", __func__, exposure); - - /* it seems base_dpi of the G4050 motor is changed above 600 dpi*/ - if (dev->model->motor_type == MOTOR_G4050 && params.yres>600) - { - dev->ld_shift_r = (dev->model->ld_shift_r*3800)/dev->motor.base_ydpi; - dev->ld_shift_g = (dev->model->ld_shift_g*3800)/dev->motor.base_ydpi; - dev->ld_shift_b = (dev->model->ld_shift_b*3800)/dev->motor.base_ydpi; - } - else - { - dev->ld_shift_r = dev->model->ld_shift_r; - dev->ld_shift_g = dev->model->ld_shift_g; - dev->ld_shift_b = dev->model->ld_shift_b; - } - - /* scanned area must be enlarged by max color shift needed */ - max_shift = sanei_genesys_compute_max_shift(dev, params.channels, params.yres, 0); - - /* lincnt */ - lincnt = params.lines + max_shift + stagger; - - dev->current_setup.params = params; - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - DBG(DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); - dev->current_setup.lines = lincnt; - dev->current_setup.depth = params.depth; - dev->current_setup.channels = params.channels; - dev->current_setup.exposure_time = exposure; - dev->current_setup.xres = used_res; - dev->current_setup.yres = params.yres; - dev->current_setup.ccd_size_divisor = ccd_size_divisor; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - DBG(DBG_proc, "%s: completed\n", __func__); -} - -/** - * for fast power saving methods only, like disabling certain amplifiers - * @param dev device to use - * @param enable true to set inot powersaving - * */ -static SANE_Status -gl843_save_power (Genesys_Device * dev, SANE_Bool enable) -{ - uint8_t val; - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s: enable = %d\n", __func__, enable); - if (dev == NULL) - return SANE_STATUS_INVAL; - - /* switch KV-SS080 lamp off */ - if (dev->model->gpo_type == GPO_KVSS080) - { - RIE(sanei_genesys_read_register (dev, REG6C, &val)); - if(enable) - val &= 0xef; - else - val |= 0x10; - RIE(sanei_genesys_write_register(dev,REG6C,val)); - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl843_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s (delay = %d)\n", __func__, delay); - if (dev == NULL) - return SANE_STATUS_INVAL; - - DBGCOMPLETED; - return status; -} - -static SANE_Status -gl843_start_action (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x01); -} - -static SANE_Status -gl843_stop_action_no_move(Genesys_Device* dev, Genesys_Register_Set* reg) -{ - uint8_t val = sanei_genesys_read_reg_from_set(reg, REG01); - val &= ~REG01_SCAN; - sanei_genesys_set_reg_from_set(reg, REG01, val); - SANE_Status ret = sanei_genesys_write_register(dev, REG01, val); - sanei_genesys_sleep_ms(100); - return ret; -} - -static SANE_Status -gl843_stop_action (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val40, val; - unsigned int loop; - - DBG(DBG_proc, "%s\n", __func__); - - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - val40 = 0; - status = sanei_genesys_read_register (dev, REG40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - DBG(DBG_proc, "%s: completed\n", __func__); - return status; - } - - /* only stop action if needed */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) - { - DBG(DBG_info, "%s: already stopped\n", __func__); - DBG(DBG_proc, "%s: completed\n", __func__); - return SANE_STATUS_GOOD; - } - - /* ends scan 646 */ - val = dev->reg.get8(REG01); - val &= ~REG01_SCAN; - dev->reg.set8(REG01, val); - status = sanei_genesys_write_register (dev, REG01, val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write register 01: %s\n", __func__, sane_strstatus(status)); - return status; - } - sanei_genesys_sleep_ms(100); - - loop = 10; - while (loop > 0) - { - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - val40 = 0; - status = sanei_genesys_read_register (dev, 0x40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* if scanner is in command mode, we are done */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG) - && !(val & REG41_MOTORENB)) - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - sanei_genesys_sleep_ms(100); - loop--; - } - - DBGCOMPLETED; - return SANE_STATUS_IO_ERROR; -} - -static SANE_Status -gl843_get_paper_sensor (Genesys_Device * dev, SANE_Bool * paper_loaded) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - - status = sanei_genesys_read_register (dev, REG6D, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read gpio: %s\n", __func__, sane_strstatus(status)); - return status; - } - *paper_loaded = (val & 0x1) == 0; - return SANE_STATUS_GOOD; - - return SANE_STATUS_INVAL; -} - -static SANE_Status -gl843_eject_document (Genesys_Device * dev) -{ - DBG(DBG_proc, "%s: not implemented \n", __func__); - if (dev == NULL) - return SANE_STATUS_INVAL; - return SANE_STATUS_GOOD; -} - - -static SANE_Status -gl843_load_document (Genesys_Device * dev) -{ - DBG(DBG_proc, "%s: not implemented \n", __func__); - if (dev == NULL) - return SANE_STATUS_INVAL; - return SANE_STATUS_GOOD; -} - -/** - * detects end of document and adjust current scan - * to take it into account - * used by sheetfed scanners - */ -static SANE_Status -gl843_detect_document_end (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - SANE_Bool paper_loaded; - unsigned int scancnt = 0; - int flines, channels, depth, bytes_remain, sublines, - bytes_to_flush, lines, sub_bytes, tmp, read_bytes_left; - DBG(DBG_proc, "%s: begin\n", __func__); - - RIE (gl843_get_paper_sensor (dev, &paper_loaded)); - - /* sheetfed scanner uses home sensor as paper present */ - if ((dev->document == SANE_TRUE) && !paper_loaded) - { - DBG(DBG_info, "%s: no more document\n", __func__); - dev->document = SANE_FALSE; - - channels = dev->current_setup.channels; - depth = dev->current_setup.depth; - read_bytes_left = (int) dev->read_bytes_left; - DBG(DBG_io, "%s: read_bytes_left=%d\n", __func__, read_bytes_left); - - /* get lines read */ - try { - status = sanei_genesys_read_scancnt(dev, &scancnt); - } catch (...) { - flines = 0; - } - if (status != SANE_STATUS_GOOD) - { - flines = 0; - } - else - { - /* compute number of line read */ - tmp = (int) dev->total_bytes_read; - if (depth == 1 || dev->settings.scan_mode == ScanColorMode::LINEART) - flines = tmp * 8 / dev->settings.pixels / channels; - else - flines = tmp / (depth / 8) / dev->settings.pixels / channels; - - /* number of scanned lines, but no read yet */ - flines = scancnt - flines; - - DBG(DBG_io, "%s: %d scanned but not read lines\n", __func__, flines); - } - - /* adjust number of bytes to read - * we need to read the final bytes which are word per line * number of last lines - * to have doc leaving feeder */ - lines = - (SANE_UNFIX (dev->model->post_scan) * dev->current_setup.yres) / - MM_PER_INCH + flines; - DBG(DBG_io, "%s: adding %d line to flush\n", __func__, lines); - - /* number of bytes to read from scanner to get document out of it after - * end of document dectected by hardware sensor */ - bytes_to_flush = lines * dev->wpl; - - /* if we are already close to end of scan, flushing isn't needed */ - if (bytes_to_flush < read_bytes_left) - { - /* we take all these step to work around an overflow on some plateforms */ - tmp = (int) dev->total_bytes_read; - DBG (DBG_io, "%s: tmp=%d\n", __func__, tmp); - bytes_remain = (int) dev->total_bytes_to_read; - DBG(DBG_io, "%s: bytes_remain=%d\n", __func__, bytes_remain); - bytes_remain = bytes_remain - tmp; - DBG(DBG_io, "%s: bytes_remain=%d\n", __func__, bytes_remain); - - /* remaining lines to read by frontend for the current scan */ - if (depth == 1 || dev->settings.scan_mode == ScanColorMode::LINEART) - { - flines = bytes_remain * 8 / dev->settings.pixels / channels; - } - else - flines = bytes_remain / (depth / 8) - / dev->settings.pixels / channels; - DBG(DBG_io, "%s: flines=%d\n", __func__, flines); - - if (flines > lines) - { - /* change the value controlling communication with the frontend : - * total bytes to read is current value plus the number of remaining lines - * multiplied by bytes per line */ - sublines = flines - lines; - - if (depth == 1 || dev->settings.scan_mode == ScanColorMode::LINEART) - sub_bytes = - ((dev->settings.pixels * sublines) / 8 + - (((dev->settings.pixels * sublines) % 8) ? 1 : 0)) * - channels; - else - sub_bytes = - dev->settings.pixels * sublines * channels * (depth / 8); - - dev->total_bytes_to_read -= sub_bytes; - - /* then adjust the physical bytes to read */ - if (read_bytes_left > sub_bytes) - { - dev->read_bytes_left -= sub_bytes; - } - else - { - dev->total_bytes_to_read = dev->total_bytes_read; - dev->read_bytes_left = 0; - } - - DBG(DBG_io, "%s: sublines=%d\n", __func__, sublines); - DBG(DBG_io, "%s: subbytes=%d\n", __func__, sub_bytes); - DBG(DBG_io, "%s: total_bytes_to_read=%lu\n", __func__, - (unsigned long) dev->total_bytes_to_read); - DBG(DBG_io, "%s: read_bytes_left=%d\n", __func__, read_bytes_left); - } - } - else - { - DBG(DBG_io, "%s: no flushing needed\n", __func__); - } - } - - DBG(DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; -} - -// enables or disables XPA slider motor -static SANE_Status gl843_set_xpa_motor_power(Genesys_Device *dev, bool set) -{ - uint8_t val; - SANE_Status status=SANE_STATUS_GOOD; - - DBGSTART; - - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) { - - if (set) { - RIE(sanei_genesys_read_register(dev, REG6C, &val)); - val &= ~REG6C_GPIO14; - if (dev->current_setup.xres >= 2400) { - val |= REG6C_GPIO10; - } - RIE(sanei_genesys_write_register(dev, REG6C, val)); - - RIE(sanei_genesys_read_register(dev, REGA6, &val)); - val |= REGA6_GPIO17; - RIE(sanei_genesys_write_register(dev, REGA6,val)); - } else { - RIE(sanei_genesys_read_register(dev, REG6C, &val)); - val |= REG6C_GPIO14; - val &= ~REG6C_GPIO10; - RIE(sanei_genesys_write_register(dev, REG6C, val)); - - RIE(sanei_genesys_read_register(dev, REGA6, &val)); - val &= ~REGA6_GPIO17; - RIE(sanei_genesys_write_register(dev, REGA6,val)); - } - DBGCOMPLETED; - return status; - } - - if (dev->model->model_id == MODEL_HP_SCANJET_G4050) { - - if (set) { - /* set MULTFILM et GPOADF */ - RIE (sanei_genesys_read_register (dev, REG6B, &val)); - val |=REG6B_MULTFILM|REG6B_GPOADF; - RIE (sanei_genesys_write_register (dev, REG6B, val)); - - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - val &= ~REG6C_GPIO15; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - - /* Motor power ? No move at all without this one */ - RIE (sanei_genesys_read_register (dev, REGA6, &val)); - val |= REGA6_GPIO20; - RIE (sanei_genesys_write_register(dev,REGA6,val)); - - RIE (sanei_genesys_read_register (dev, REGA8, &val)); - val &= ~REGA8_GPO27; - RIE (sanei_genesys_write_register (dev, REGA8, val)); - - RIE (sanei_genesys_read_register (dev, REGA9, &val)); - val |= REGA9_GPO32|REGA9_GPO31; - RIE (sanei_genesys_write_register (dev, REGA9, val)); - } else { - /* unset GPOADF */ - RIE (sanei_genesys_read_register (dev, REG6B, &val)); - val &= ~REG6B_GPOADF; - RIE (sanei_genesys_write_register (dev, REG6B, val)); - - RIE (sanei_genesys_read_register (dev, REGA8, &val)); - val |= REGA8_GPO27; - RIE (sanei_genesys_write_register (dev, REGA8, val)); - - RIE (sanei_genesys_read_register (dev, REGA9, &val)); - val &= ~REGA9_GPO31; - RIE (sanei_genesys_write_register (dev, REGA9, val)); - } - DBGCOMPLETED; - return status; - } - - DBGCOMPLETED; - return status; -} - - -/** @brief light XPA lamp - * toggle gpios to switch off regular lamp and light on the - * XPA light - * @param dev device to set up - */ -static SANE_Status gl843_set_xpa_lamp_power(Genesys_Device *dev, bool set) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val = 0; - DBGSTART; - - if (set) { - RIE(sanei_genesys_read_register(dev, REGA6, &val)); - - // cut regular lamp power - val &= ~(REGA6_GPIO24 | REGA6_GPIO23); - - // set XPA lamp power - val |= REGA6_GPIO22 | REGA6_GPIO21 | REGA6_GPIO19; - - RIE(sanei_genesys_write_register(dev, REGA6, val)); - - RIE(sanei_genesys_read_register(dev, REGA7, &val)); - val|=REGA7_GPOE24; /* lamp 1 off GPOE 24 */ - val|=REGA7_GPOE23; /* lamp 2 off GPOE 23 */ - val|=REGA7_GPOE22; /* full XPA lamp power */ - RIE(sanei_genesys_write_register(dev, REGA7, val)); - } else { - RIE(sanei_genesys_read_register(dev, REGA6, &val)); - - // switch on regular lamp - val |= REGA6_GPIO23; - - // no XPA lamp power (2 bits for level: __11 ____) - val &= ~(REGA6_GPIO22 | REGA6_GPIO21); - - RIE(sanei_genesys_write_register(dev, REGA6, val)); - } - - DBGCOMPLETED; - return status; -} - -/* Send the low-level scan command */ -static SANE_Status -gl843_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, - SANE_Bool start_motor) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - uint16_t dpiset, dpihw; - - DBGSTART; - - /* get back the target dpihw */ - sanei_genesys_get_double (reg, REG_DPISET, &dpiset); - dpihw = sanei_genesys_compute_dpihw(dev, sensor, dpiset); - - /* set up GPIO for scan */ - switch(dev->model->gpo_type) - { - /* KV case */ - case GPO_KVSS080: - RIE (sanei_genesys_write_register (dev, REGA9, 0x00)); - RIE (sanei_genesys_write_register (dev, REGA6, 0xf6)); - /* blinking led */ - RIE (sanei_genesys_write_register (dev, 0x7e, 0x04)); - break; - case GPO_G4050: - RIE (sanei_genesys_write_register (dev, REGA7, 0xfe)); - RIE (sanei_genesys_write_register (dev, REGA8, 0x3e)); - RIE (sanei_genesys_write_register (dev, REGA9, 0x06)); - switch (dpihw) - { - case 1200: - case 2400: - case 4800: - RIE (sanei_genesys_write_register (dev, REG6C, 0x60)); - RIE (sanei_genesys_write_register (dev, REGA6, 0x46)); - break; - default: /* 600 dpi case */ - RIE (sanei_genesys_write_register (dev, REG6C, 0x20)); - RIE (sanei_genesys_write_register (dev, REGA6, 0x44)); - } - - if (reg->state.is_xpa_on && reg->state.is_lamp_on) { - RIE(gl843_set_xpa_lamp_power(dev, true)); - } - - if (reg->state.is_xpa_on) { - dev->needs_home_ta = SANE_TRUE; - RIE(gl843_set_xpa_motor_power(dev, true)); - } - - /* blinking led */ - RIE (sanei_genesys_write_register (dev, REG7E, 0x01)); - break; - case GPO_CS8600F: - if (reg->state.is_xpa_on) { - dev->needs_home_ta = SANE_TRUE; - RIE(gl843_set_xpa_motor_power(dev, true)); - } - break; - case GPO_CS4400F: - case GPO_CS8400F: - default: - break; - } - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register - (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* enable scan and motor */ - RIE (sanei_genesys_read_register (dev, REG01, &val)); - val |= REG01_SCAN; - RIE (sanei_genesys_write_register (dev, REG01, val)); - - if (start_motor) - { - RIE (sanei_genesys_write_register (dev, REG0F, 1)); - } - else - { - RIE (sanei_genesys_write_register (dev, REG0F, 0)); - } - - DBGCOMPLETED; - return status; -} - - -/* Send the stop scan command */ -static SANE_Status -gl843_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s (check_stop = %d)\n", __func__, check_stop); - if (reg == NULL) - return SANE_STATUS_INVAL; - - /* post scan gpio */ - RIE(sanei_genesys_write_register(dev,0x7e,0x00)); - - // turn off XPA lamp if needed - // BUG: the if condition below probably shouldn't be enabled when XPA is off - if (reg->state.is_xpa_on || reg->state.is_lamp_on) { - gl843_set_xpa_lamp_power(dev, false); - } - - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = SANE_STATUS_GOOD; - } - else /* flat bed scanners */ - { - status = gl843_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - DBGCOMPLETED; - return status; -} - -/** @brief park XPA lamp - * park the XPA lamp if needed - */ -static SANE_Status gl843_park_xpa_lamp (Genesys_Device * dev) -{ - Genesys_Register_Set local_reg; - SANE_Status status = SANE_STATUS_GOOD; - GenesysRegister *r; - uint8_t val; - int loop = 0; - - DBGSTART; - - /* copy scan settings */ - local_reg = dev->reg; - - /* set a huge feedl and reverse direction */ - sanei_genesys_set_triple(&local_reg,REG_FEEDL,0xbdcd); - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* set up for reverse and no scan */ - r = sanei_genesys_get_address (&local_reg, REG02); - r->value |= REG02_MTRREV; - r = sanei_genesys_get_address (&local_reg, REG01); - r->value &= ~REG01_SCAN; - - /* write to scanner and start action */ - RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); - RIE(gl843_set_xpa_motor_power(dev, true)); - try { - status = gl843_start_action (dev); - } catch (...) { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - try { - gl843_stop_action(dev); - } catch (...) {} - try { - // restore original registers - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - } catch (...) {} - throw; - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - gl843_stop_action (dev); - /* restore original registers */ - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - return status; - } - - while (loop < 600) /* do not wait longer then 60 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus(status)); - return status; - } - if (DBG_LEVEL >= DBG_io2) - { - sanei_genesys_print_status (val); - } - - if (val & REG41_HOMESNR) /* home sensor */ - { - DBG(DBG_info, "%s: reached home position\n", __func__); - DBG(DBG_proc, "%s: finished\n", __func__); - - gl843_set_xpa_motor_power(dev, false); - dev->needs_home_ta = SANE_FALSE; - - return SANE_STATUS_GOOD; - } - sanei_genesys_sleep_ms(100); - ++loop; - } - - /* we are not parked here.... should we fail ? */ - DBG(DBG_info, "%s: XPA lamp is not parked\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief Moves the slider to the home (top) position slowly - * */ -static SANE_Status -gl843_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) -{ - Genesys_Register_Set local_reg; - SANE_Status status = SANE_STATUS_GOOD; - GenesysRegister *r; - uint8_t val; - float resolution; - int loop = 0; - - DBG(DBG_proc, "%s (wait_until_home = %d)\n", __func__, wait_until_home); - - if (dev->needs_home_ta) { - RIE(gl843_park_xpa_lamp(dev)); - } - - /* regular slow back home */ - dev->scanhead_position_in_steps = 0; - - /* first read gives HOME_SENSOR true */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - return status; - } - sanei_genesys_sleep_ms(100); - - /* second is reliable */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - if (val & HOMESNR) /* is sensor at home? */ - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - local_reg = dev->reg; - resolution=sanei_genesys_get_lowest_ydpi(dev); - - const auto& sensor = sanei_genesys_find_sensor(dev, resolution); - - ScanSession session; - session.params.xres = resolution; - session.params.yres = resolution; - session.params.startx = 100; - session.params.starty = 40000; - session.params.pixels = 100; - session.params.lines = 100; - session.params.depth = 8; - session.params.channels = 1; - session.params.scan_method = dev->settings.scan_method; - session.params.scan_mode = ScanColorMode::LINEART; - session.params.color_filter = dev->settings.color_filter; - session.params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - gl843_compute_session(dev, session, sensor); - - status = gl843_init_scan_regs(dev, sensor, &local_reg, session); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* set up for reverse and no scan */ - r = sanei_genesys_get_address(&local_reg, REG02); - r->value |= REG02_MTRREV; - r = sanei_genesys_get_address(&local_reg, REG01); - r->value &= ~REG01_SCAN; - - RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); - - try { - status = gl843_start_action (dev); - } catch (...) { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - try { - gl843_stop_action(dev); - } catch (...) {} - try { - // restore original registers - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - } catch (...) {} - throw; - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - gl843_stop_action (dev); - /* restore original registers */ - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - return status; - } - - if (wait_until_home) - { - - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus(status)); - return status; - } - if (DBG_LEVEL >= DBG_io2) - { - sanei_genesys_print_status (val); - } - - if (val & REG41_HOMESNR) /* home sensor */ - { - DBG(DBG_info, "%s: reached home position\n", __func__); - DBG(DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; - } - sanei_genesys_sleep_ms(100); - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl843_stop_action (dev); - DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); - return SANE_STATUS_IO_ERROR; - } - - DBG(DBG_info, "%s: scanhead is still moving\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels - area at 600 dpi from very top of scanner */ -static SANE_Status -gl843_search_start_position (Genesys_Device * dev) -{ - int size; - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set local_reg; - int steps; - - int pixels = 600; - int dpi = 300; - - DBG(DBG_proc, "%s\n", __func__); - - local_reg = dev->reg; - - /* sets for a 200 lines * 600 pixels */ - /* normal scan with no shading */ - - // FIXME: the current approach of doing search only for one resolution does not work on scanners - // whith employ different sensors with potentially different settings. - auto& sensor = sanei_genesys_find_sensor_for_write(dev, dpi); - - ScanSession session; - session.params.xres = dpi; - session.params.yres = dpi; - session.params.startx = 0; - session.params.starty = 0; // we should give a small offset here - ~60 steps - session.params.pixels = 600; - session.params.lines = dev->model->search_lines; - session.params.depth = 8; - session.params.channels = 1; - session.params.scan_method = dev->settings.scan_method; - session.params.scan_mode = ScanColorMode::GRAY; - session.params.color_filter = ColorFilter::GREEN; - session.params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE; - gl843_compute_session(dev, session, sensor); - - status = gl843_init_scan_regs(dev, sensor, &local_reg, session); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk setup registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* send to scanner */ - status = dev->model->cmd_set->bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - size = dev->read_bytes_left; - - std::vector data(size); - - status = gl843_begin_scan(dev, sensor, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - RIE(gl843_stop_action_no_move(dev, &local_reg)); - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl843_search_position.pnm", data.data(), 8, 1, pixels, - dev->model->search_lines); - - status = gl843_end_scan(dev, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* update regs to copy ASIC internal state */ - dev->reg = local_reg; - - status = - sanei_genesys_search_reference_point (dev, sensor, data.data(), 0, dpi, pixels, - dev->model->search_lines); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set search reference point: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - return SANE_STATUS_GOOD; -} - -/* - * sets up register for coarse gain calibration - * todo: check it for scanners using it */ -static SANE_Status -gl843_init_regs_for_coarse_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t channels; - uint8_t cksel; - - DBGSTART; - cksel = (regs.find_reg(0x18).value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ - - /* set line size */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else - channels = 1; - - int flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) { - flags |= SCAN_FLAG_USE_XPA; - } - - ScanSession session; - session.params.xres = dev->settings.xres; - session.params.yres = dev->settings.yres; - session.params.startx = 0; - session.params.starty = 0; - session.params.pixels = sensor.optical_res / cksel; // XXX STEF XXX dpi instead of pixels! - session.params.lines = 20; - session.params.depth = 16; - session.params.channels = channels; - session.params.scan_method = dev->settings.scan_method; - session.params.scan_mode = dev->settings.scan_mode; - session.params.color_filter = dev->settings.color_filter; - session.params.flags = flags; - gl843_compute_session(dev, session, sensor); - - status = gl843_init_scan_regs(dev, sensor, ®s, session); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - sanei_genesys_set_motor_power(regs, false); - - DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, - sensor.optical_res / cksel, dev->settings.xres); - - status = dev->model->cmd_set->bulk_write_register(dev, regs); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief moves the slider to steps at motor base dpi - * @param dev device to work on - * @param steps number of steps to move - * */ -static SANE_Status -gl843_feed (Genesys_Device * dev, unsigned int steps) -{ - Genesys_Register_Set local_reg; - SANE_Status status = SANE_STATUS_GOOD; - GenesysRegister *r; - float resolution; - uint8_t val; - - DBGSTART; - - /* prepare local registers */ - local_reg = dev->reg; - - resolution=sanei_genesys_get_lowest_ydpi(dev); - - const auto& sensor = sanei_genesys_find_sensor(dev, resolution); - - ScanSession session; - session.params.xres = resolution; - session.params.yres = resolution; - session.params.startx = 0; - session.params.starty = steps; - session.params.pixels = 100; - session.params.lines = 3; - session.params.depth = 8; - session.params.channels = 3; - session.params.scan_method = dev->settings.scan_method; - session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - session.params.color_filter = ColorFilter::RED; - session.params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_FEEDING | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - gl843_compute_session(dev, session, sensor); - - status = gl843_init_scan_regs(dev, sensor, &local_reg, session); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT)); - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRMCNT)); - - /* set up for no scan */ - r = sanei_genesys_get_address(&local_reg, REG01); - r->value &= ~REG01_SCAN; - - /* send registers */ - RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); - - try { - status = gl843_start_action (dev); - } catch (...) { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - try { - gl843_stop_action(dev); - } catch (...) {} - try { - // restore original registers - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - } catch (...) {} - throw; - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - gl843_stop_action (dev); - - /* restore original registers */ - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - return status; - } - - /* wait until feed count reaches the required value, but do not - * exceed 30s */ - do - { - status = sanei_genesys_get_status (dev, &val); - } - while (status == SANE_STATUS_GOOD && !(val & FEEDFSH)); - - // looks like the scanner locks up if we scan immediately after feeding - sanei_genesys_sleep_ms(100); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status gl843_move_to_ta (Genesys_Device * dev); - -/* init registers for shading calibration */ -/* shading calibration is done at dpihw */ -static SANE_Status -gl843_init_regs_for_shading(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - int move, resolution, dpihw, factor; - uint16_t strpixel; - - DBGSTART; - - /* initial calibration reg values */ - regs = dev->reg; - - dev->calib_channels = 3; - if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) - dev->calib_lines = dev->model->shading_ta_lines; - else - dev->calib_lines = dev->model->shading_lines; - dpihw = sanei_genesys_compute_dpihw_calibration(dev, sensor, dev->settings.xres); - factor=sensor.optical_res/dpihw; - resolution=dpihw; - - const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, - dev->settings.scan_method); - - if (dev->settings.scan_method == ScanMethod::TRANSPARENCY && - dev->model->model_id == MODEL_CANON_CANOSCAN_8600F && - dev->settings.xres == 4800) - { - float offset = SANE_UNFIX(dev->model->x_offset_ta); - offset /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); - offset = (offset * calib_sensor.optical_res) / MM_PER_INCH; - - unsigned size = SANE_UNFIX(dev->model->x_size_ta); - size /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); - size = (size * calib_sensor.optical_res) / MM_PER_INCH; - - dev->calib_pixels_offset = offset; - dev->calib_pixels = size; - } - else - { - dev->calib_pixels_offset = 0; - dev->calib_pixels = calib_sensor.sensor_pixels / factor; - } - - dev->calib_resolution = resolution; - - int flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) - { - // note: move_to_ta() function has already been called and the sensor is at the - // transparency adapter - move = 0; // already at dev->model->y_offset_calib_ta implicitly - flags |= SCAN_FLAG_USE_XPA; - } - else - move = SANE_UNFIX(dev->model->y_offset_calib); - - move = (move * resolution) / MM_PER_INCH; - - ScanSession session; - session.params.xres = resolution; - session.params.yres = resolution; - session.params.startx = dev->calib_pixels_offset; - session.params.starty = move; - session.params.pixels = dev->calib_pixels; - session.params.lines = dev->calib_lines; - session.params.depth = 16; - session.params.channels = dev->calib_channels; - session.params.scan_method = dev->settings.scan_method; - session.params.scan_mode = dev->settings.scan_mode; - session.params.color_filter = dev->settings.color_filter; - session.params.flags = flags; - gl843_compute_session(dev, session, calib_sensor); - - status = gl843_init_scan_regs(dev, calib_sensor, ®s, session); - - // the pixel number may be updated to conform to scanner constraints - dev->calib_pixels = dev->current_setup.pixels; - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - dev->calib_total_bytes_to_read = dev->read_bytes_left; - - dev->scanhead_position_in_steps += dev->calib_lines + move; - sanei_genesys_get_double(®s,REG_STRPIXEL,&strpixel); - DBG(DBG_info, "%s: STRPIXEL=%d\n", __func__, strpixel); - - status = dev->model->cmd_set->bulk_write_register(dev, regs); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief set up registers for the actual scan - */ -static SANE_Status -gl843_init_regs_for_scan (Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int channels; - int flags; - int depth; - float move; - int move_dpi; - float start; - - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, dev->settings); - - /* channels */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == ScanColorMode::LINEART) - depth = 1; - - move_dpi = dev->motor.base_ydpi; - - flags = 0; - if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) - { - // note: move_to_ta() function has already been called and the sensor is at the - // transparency adapter - move = SANE_UNFIX(dev->model->y_offset_ta) - SANE_UNFIX(dev->model->y_offset_calib_ta); - flags |= SCAN_FLAG_USE_XPA; - } - else - move = SANE_UNFIX(dev->model->y_offset); - - move += dev->settings.tl_y; - move = (move * move_dpi) / MM_PER_INCH; - DBG(DBG_info, "%s: move=%f steps\n", __func__, move); - - /* start */ - if(dev->settings.scan_method==ScanMethod::TRANSPARENCY) - start = SANE_UNFIX (dev->model->x_offset_ta); - else - start = SANE_UNFIX (dev->model->x_offset); - - start /= sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres); - start += dev->settings.tl_x; - start = (start * sensor.optical_res) / MM_PER_INCH; - - /* enable emulated lineart from gray data */ - if(dev->settings.scan_mode == ScanColorMode::LINEART - && dev->settings.dynamic_lineart) - { - flags |= SCAN_FLAG_DYNAMIC_LINEART; - } - - ScanSession session; - session.params.xres = dev->settings.xres; - session.params.yres = dev->settings.yres; - session.params.startx = start; - session.params.starty = move; - session.params.pixels = dev->settings.pixels; - session.params.lines = dev->settings.lines; - session.params.depth = depth; - session.params.channels = channels; - session.params.scan_method = dev->settings.scan_method; - session.params.scan_mode = dev->settings.scan_mode; - session.params.color_filter = dev->settings.color_filter; - session.params.flags = flags; - gl843_compute_session(dev, session, sensor); - - status = gl843_init_scan_regs(dev, sensor, &dev->reg, session); - - if (status != SANE_STATUS_GOOD) - return status; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * This function sends gamma tables to ASIC - */ -static SANE_Status -gl843_send_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor) -{ - int size; - SANE_Status status = SANE_STATUS_GOOD; - int i; - - DBGSTART; - - size = 256; - - /* allocate temporary gamma tables: 16 bits words, 3 channels */ - std::vector gamma(size * 2 * 3); - - std::vector rgamma = get_gamma_table(dev, sensor, GENESYS_RED); - std::vector ggamma = get_gamma_table(dev, sensor, GENESYS_GREEN); - std::vector bgamma = get_gamma_table(dev, sensor, GENESYS_BLUE); - - // copy sensor specific's gamma tables - for (i = 0; i < size; i++) { - gamma[i * 2 + size * 0 + 0] = rgamma[i] & 0xff; - gamma[i * 2 + size * 0 + 1] = (rgamma[i] >> 8) & 0xff; - gamma[i * 2 + size * 2 + 0] = ggamma[i] & 0xff; - gamma[i * 2 + size * 2 + 1] = (ggamma[i] >> 8) & 0xff; - gamma[i * 2 + size * 4 + 0] = bgamma[i] & 0xff; - gamma[i * 2 + size * 4 + 1] = (bgamma[i] >> 8) & 0xff; - } - - /* send address */ - status = gl843_set_buffer_address (dev, 0x0000); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* send data */ - status = sanei_genesys_bulk_write_data(dev, 0x28, gamma.data(), size * 2 * 3); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send gamma table: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_proc, "%s: completed\n", __func__); - return SANE_STATUS_GOOD; -} - -/* this function does the led calibration by scanning one line of the calibration - area below scanner's top on white strip. - --needs working coarse/gain -*/ -static SANE_Status -gl843_led_calibration (Genesys_Device * dev, Genesys_Sensor& sensor, Genesys_Register_Set& regs) -{ - int num_pixels; - int total_size; - int used_res; - int i, j; - SANE_Status status = SANE_STATUS_GOOD; - int val; - int channels, depth; - int avg[3], avga, avge; - int turn; - uint16_t expr, expg, expb; - - SANE_Bool acceptable = SANE_FALSE; - - DBG(DBG_proc, "%s\n", __func__); - - /* offset calibration is always done in color mode */ - channels = 3; - depth = 16; - used_res = sensor.optical_res; - - auto& calib_sensor = sanei_genesys_find_sensor_for_write(dev, used_res, - dev->settings.scan_method); - num_pixels = - (calib_sensor.sensor_pixels * used_res) / calib_sensor.optical_res; - - /* initial calibration reg values */ - regs = dev->reg; - - ScanSession session; - session.params.xres = used_res; - session.params.yres = dev->motor.base_ydpi; - session.params.startx = 0; - session.params.starty = 0; - session.params.pixels = num_pixels; - session.params.lines = 1; - session.params.depth = depth; - session.params.channels = channels; - session.params.scan_method = dev->settings.scan_method; - session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - session.params.color_filter = dev->settings.color_filter; - session.params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - gl843_compute_session(dev, session, calib_sensor); - - status = gl843_init_scan_regs(dev, calib_sensor, ®s, session); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - - total_size = dev->read_bytes_left; - - std::vector line(total_size); - -/* - we try to get equal bright leds here: - - loop: - average per color - adjust exposure times - */ - - expr = calib_sensor.exposure.red; - expg = calib_sensor.exposure.green; - expb = calib_sensor.exposure.blue; - - turn = 0; - - do - { - - calib_sensor.exposure.red = expr; - calib_sensor.exposure.green = expg; - calib_sensor.exposure.blue = expb; - - sanei_genesys_set_exposure(regs, calib_sensor.exposure); - - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - - DBG(DBG_info, "%s: starting first line reading\n", __func__); - RIE (gl843_begin_scan(dev, calib_sensor, ®s, SANE_TRUE)); - RIE (sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); - RIE(gl843_stop_action_no_move(dev, ®s)); - - if (DBG_LEVEL >= DBG_data) - { - char fn[30]; - snprintf(fn, 30, "gl843_led_%02d.pnm", turn); - sanei_genesys_write_pnm_file(fn, line.data(), depth, channels, num_pixels, 1); - } - - acceptable = SANE_TRUE; - - for (j = 0; j < channels; j++) - { - avg[j] = 0; - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * num_pixels + 1] * 256 + - line[i * 2 + j * 2 * num_pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - avg[j] += val; - } - - avg[j] /= num_pixels; - } - - DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); - - acceptable = SANE_TRUE; - - if (avg[0] < avg[1] * 0.95 || avg[1] < avg[0] * 0.95 || - avg[0] < avg[2] * 0.95 || avg[2] < avg[0] * 0.95 || - avg[1] < avg[2] * 0.95 || avg[2] < avg[1] * 0.95) - acceptable = SANE_FALSE; - - if (!acceptable) - { - avga = (avg[0] + avg[1] + avg[2]) / 3; - expr = (expr * avga) / avg[0]; - expg = (expg * avga) / avg[1]; - expb = (expb * avga) / avg[2]; -/* - keep the resulting exposures below this value. - too long exposure drives the ccd into saturation. - we may fix this by relying on the fact that - we get a striped scan without shading, by means of - statistical calculation -*/ - avge = (expr + expg + expb) / 3; - - /* don't overflow max exposure */ - if (avge > 3000) - { - expr = (expr * 2000) / avge; - expg = (expg * 2000) / avge; - expb = (expb * 2000) / avge; - } - if (avge < 50) - { - expr = (expr * 50) / avge; - expg = (expg * 50) / avge; - expb = (expb * 50) / avge; - } - - } - - RIE (gl843_stop_action (dev)); - - turn++; - - } - while (!acceptable && turn < 100); - - DBG(DBG_info, "%s: acceptable exposure: %d,%d,%d\n", __func__, expr, expg, expb); - - sensor.exposure = calib_sensor.exposure; - - gl843_slow_back_home (dev, SANE_TRUE); - - DBG(DBG_proc, "%s: completed\n", __func__); - return status; -} - - - -/** - * average dark pixels of a 8 bits scan of a given channel - */ -static int -dark_average_channel (uint8_t * data, unsigned int pixels, unsigned int lines, - unsigned int channels, unsigned int black, int channel) -{ - unsigned int i, j, k, count; - unsigned int avg[3]; - uint8_t val; - - /* computes average values on black margin */ - for (k = 0; k < channels; k++) - { - avg[k] = 0; - count = 0; - // FIXME: start with the second line because the black pixels often have noise on the first - // line; the cause is probably incorrectly cleaned up previous scan - for (i = 1; i < lines; i++) - { - for (j = 0; j < black; j++) - { - val = data[i * channels * pixels + j*channels + k]; - avg[k] += val; - count++; - } - } - if (count) - avg[k] /= count; - DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); - } - DBG(DBG_info, "%s: average = %d\n", __func__, avg[channel]); - return avg[channel]; -} - -/** @brief calibrate AFE offset - * Iterate doing scans at target dpi until AFE offset if correct. One - * color line is scanned at a time. Scanning head doesn't move. - * @param dev device to calibrate - */ -static SANE_Status -gl843_offset_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - unsigned int channels, bpp; - int pass, total_size, i, resolution, lines; - int topavg[3], bottomavg[3], avg[3]; - int top[3], bottom[3], black_pixels, pixels, factor, dpihw; - - DBGSTART; - - /* offset calibration is always done in color mode */ - channels = 3; - lines = 8; - bpp = 8; - - /* compute divider factor to compute final pixels number */ - dpihw = sanei_genesys_compute_dpihw_calibration(dev, sensor, dev->settings.xres); - factor = sensor.optical_res / dpihw; - resolution = dpihw; - - const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, - dev->settings.scan_method); - - int target_pixels = calib_sensor.sensor_pixels / factor; - int start_pixel = 0; - black_pixels = calib_sensor.black_pixels / factor; - - if (dev->settings.scan_method == ScanMethod::TRANSPARENCY && - dev->model->model_id == MODEL_CANON_CANOSCAN_8600F && - dev->settings.xres == 4800) - { - start_pixel = SANE_UNFIX(dev->model->x_offset_ta); - start_pixel /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); - start_pixel = (start_pixel * calib_sensor.optical_res) / MM_PER_INCH; - - target_pixels = SANE_UNFIX(dev->model->x_size_ta); - target_pixels /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution); - target_pixels = (target_pixels * calib_sensor.optical_res) / MM_PER_INCH; - } - - int flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) - { - flags |= SCAN_FLAG_USE_XPA; - } - - ScanSession session; - session.params.xres = resolution; - session.params.yres = resolution; - session.params.startx = start_pixel; - session.params.starty = 0; - session.params.pixels = target_pixels; - session.params.lines = lines; - session.params.depth = bpp; - session.params.channels = channels; - session.params.scan_method = dev->settings.scan_method; - session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - session.params.color_filter = ColorFilter::RED; - session.params.flags = flags; - gl843_compute_session(dev, session, calib_sensor); - pixels = session.output_pixels; - - DBG(DBG_io, "%s: dpihw =%d\n", __func__, dpihw); - DBG(DBG_io, "%s: factor =%d\n", __func__, factor); - DBG(DBG_io, "%s: resolution =%d\n", __func__, resolution); - DBG(DBG_io, "%s: pixels =%d\n", __func__, pixels); - DBG(DBG_io, "%s: black_pixels=%d\n", __func__, black_pixels); - status = gl843_init_scan_regs(dev, calib_sensor, ®s, session); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - sanei_genesys_set_motor_power(regs, false); - - /* allocate memory for scans */ - total_size = dev->read_bytes_left; - - std::vector first_line(total_size); - std::vector second_line(total_size); - - /* init gain and offset */ - for (i = 0; i < 3; i++) - { - bottom[i] = 10; - dev->frontend.set_offset(i, bottom[i]); - dev->frontend.set_gain(i, 0); - } - RIE(gl843_set_fe(dev, calib_sensor, AFE_SET)); - - /* scan with obttom AFE settings */ - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - DBG(DBG_info, "%s: starting first line reading\n", __func__); - RIE(gl843_begin_scan(dev, calib_sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size)); - RIE(gl843_stop_action_no_move(dev, ®s)); - - if (DBG_LEVEL >= DBG_data) - { - char fn[40]; - snprintf(fn, 40, "gl843_bottom_offset_%03d_%03d_%03d.pnm", - bottom[0], bottom[1], bottom[2]); - sanei_genesys_write_pnm_file(fn, first_line.data(), bpp, channels, pixels, lines); - } - - for (i = 0; i < 3; i++) - { - bottomavg[i] = dark_average_channel(first_line.data(), pixels, lines, channels, black_pixels, i); - DBG(DBG_io2, "%s: bottom avg %d=%d\n", __func__, i, bottomavg[i]); - } - - /* now top value */ - for (i = 0; i < 3; i++) - { - top[i] = 255; - dev->frontend.set_offset(i, top[i]); - } - RIE(gl843_set_fe(dev, calib_sensor, AFE_SET)); - - /* scan with top AFE values */ - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - DBG(DBG_info, "%s: starting second line reading\n", __func__); - RIE(gl843_begin_scan(dev, calib_sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size)); - RIE(gl843_stop_action_no_move(dev, ®s)); - - for (i = 0; i < 3; i++) - { - topavg[i] = dark_average_channel(second_line.data(), pixels, lines, channels, black_pixels, i); - DBG(DBG_io2, "%s: top avg %d=%d\n", __func__, i, topavg[i]); - } - - pass = 0; - - std::vector debug_image; - size_t debug_image_lines = 0; - std::string debug_image_info; - - /* loop until acceptable level */ - while ((pass < 32) - && ((top[0] - bottom[0] > 1) - || (top[1] - bottom[1] > 1) || (top[2] - bottom[2] > 1))) - { - pass++; - - /* settings for new scan */ - for (i = 0; i < 3; i++) - { - if (top[i] - bottom[i] > 1) - { - dev->frontend.set_offset(i, (top[i] + bottom[i]) / 2); - } - } - RIE(gl843_set_fe(dev, calib_sensor, AFE_SET)); - - /* scan with no move */ - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - DBG(DBG_info, "%s: starting second line reading\n", __func__); - RIE(gl843_begin_scan(dev, calib_sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, second_line.data(), total_size)); - RIE(gl843_stop_action_no_move(dev, ®s)); - - if (DBG_LEVEL >= DBG_data) - { - char title[100]; - snprintf(title, 100, "lines: %d pixels_per_line: %d offsets[0..2]: %d %d %d\n", - lines, pixels, - dev->frontend.get_offset(0), - dev->frontend.get_offset(1), - dev->frontend.get_offset(2)); - debug_image_info += title; - std::copy(second_line.begin(), second_line.end(), std::back_inserter(debug_image)); - debug_image_lines += lines; - } - - for (i = 0; i < 3; i++) - { - avg[i] = dark_average_channel(second_line.data(), pixels, lines, channels, black_pixels, i); - DBG(DBG_info, "%s: avg[%d]=%d offset=%d\n", __func__, i, avg[i], - dev->frontend.get_offset(i)); - } - - /* compute new boundaries */ - for (i = 0; i < 3; i++) - { - if (topavg[i] >= avg[i]) - { - topavg[i] = avg[i]; - top[i] = dev->frontend.get_offset(i); - } - else - { - bottomavg[i] = avg[i]; - bottom[i] = dev->frontend.get_offset(i); - } - } - } - - if (DBG_LEVEL >= DBG_data) - { - sanei_genesys_write_file("gl843_offset_all_desc.txt", - (uint8_t*) debug_image_info.data(), debug_image_info.size()); - sanei_genesys_write_pnm_file("gl843_offset_all.pnm", - debug_image.data(), bpp, channels, pixels, debug_image_lines); - } - - DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, - dev->frontend.get_offset(0), - dev->frontend.get_offset(1), - dev->frontend.get_offset(2)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* alternative coarse gain calibration - this on uses the settings from offset_calibration and - uses only one scanline - */ -/* - with offset and coarse calibration we only want to get our input range into - a reasonable shape. the fine calibration of the upper and lower bounds will - be done with shading. - */ -static SANE_Status -gl843_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs, int dpi) -{ - int pixels, factor, dpihw; - int total_size; - int i, j, channels; - SANE_Status status = SANE_STATUS_GOOD; - int max[3]; - float coeff; - int val, lines; - int resolution; - int bpp; - - DBG(DBG_proc, "%s: dpi = %d\n", __func__, dpi); - dpihw=sanei_genesys_compute_dpihw_calibration(dev, sensor, dpi); - factor=sensor.optical_res/dpihw; - - /* coarse gain calibration is always done in color mode */ - channels = 3; - - /* follow CKSEL */ - if (dev->model->ccd_type == CCD_KVSS080) - { - if(dev->settings.xressettings.scan_method == ScanMethod::TRANSPARENCY) - { - flags |= SCAN_FLAG_USE_XPA; - } - - const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, - dev->settings.scan_method); - - ScanSession session; - session.params.xres = resolution; - session.params.yres = resolution; - session.params.startx = 0; - session.params.starty = 0; - session.params.pixels = target_pixels; - session.params.lines = lines; - session.params.depth = bpp; - session.params.channels = channels; - session.params.scan_method = dev->settings.scan_method; - session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - session.params.color_filter = dev->settings.color_filter; - session.params.flags = flags; - gl843_compute_session(dev, session, calib_sensor); - pixels = session.output_pixels; - - try { - status = gl843_init_scan_regs(dev, calib_sensor, ®s, session); - } catch (...) { - try { - sanei_genesys_set_motor_power(regs, false); - } catch (...) {} - throw; - } - - sanei_genesys_set_motor_power(regs, false); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - - total_size = dev->read_bytes_left; - - std::vector line(total_size); - - RIE(gl843_set_fe(dev, calib_sensor, AFE_SET)); - RIE(gl843_begin_scan(dev, calib_sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner (dev, line.data(), total_size)); - RIE(gl843_stop_action_no_move(dev, ®s)); - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl843_gain.pnm", line.data(), bpp, channels, pixels, lines); - - /* average value on each channel */ - for (j = 0; j < channels; j++) - { - max[j] = 0; - // FIXME: start from the second line because the first line often has artifacts. Probably - // caused by unclean cleanup of previous scans - for (i = pixels/4 + pixels; i < (pixels*3/4) + pixels; i++) - { - if(bpp==16) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * pixels + 1] * 256 + - line[i * 2 + j * 2 * pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - } - else - { - if (dev->model->is_cis) - val = line[i + j * pixels]; - else - val = line[i * channels + j]; - } - - max[j] += val; - } - max[j] = max[j] / (pixels/2); - - /* the flow of data through the frontend ADC is as follows (see e.g. VM8192 datasheet) - input - -> apply offset (o = i + 260mV * (DAC[7:0]-127.5)/127.5) -> - -> apply gain (o = i * 208/(283-PGA[7:0]) - -> ADC - - Here we have some input data that was acquired with zero gain (PGA==0). - We want to compute gain such that the output would approach full ADC range (controlled by - gain_white_ref). - - We want to solve the following for {PGA}: - - {input} * 208 / (283 - 0) = {output} - {input} * 208 / (283 - {PGA}) = {target output} - - The solution is the following equation: - - {PGA} = 283 * (1 - {output} / {target output}) - */ - float gain = ((float) max[j] / (calib_sensor.gain_white_ref*coeff)); - int code = 283 * (1 - gain); - if (code > 255) - code = 255; - else if (code < 0) - code = 0; - dev->frontend.set_gain(j, code); - - DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], gain, - code); - } - - if (dev->model->is_cis) { - uint8_t gain0 = dev->frontend.get_gain(0); - if (gain0 > dev->frontend.get_gain(1)) { - gain0 = dev->frontend.get_gain(1); - } - if (gain0 > dev->frontend.get_gain(2)) { - gain0 = dev->frontend.get_gain(2); - } - dev->frontend.set_gain(0, gain0); - dev->frontend.set_gain(1, gain0); - dev->frontend.set_gain(2, gain0); - } - - if (channels == 1) { - dev->frontend.set_gain(0, dev->frontend.get_gain(1)); - dev->frontend.set_gain(2, dev->frontend.get_gain(1)); - } - - RIE (gl843_stop_action (dev)); - - status=gl843_slow_back_home (dev, SANE_TRUE); - - DBGCOMPLETED; - return status; -} - -/* - * wait for lamp warmup by scanning the same line until difference - * between 2 scans is below a threshold - */ -static SANE_Status -gl843_init_regs_for_warmup (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, - int *channels, int *total_size) -{ - int num_pixels; - SANE_Status status = SANE_STATUS_GOOD; - int dpihw; - int resolution; - int factor; - - DBGSTART; - if (dev == NULL || reg == NULL || channels == NULL || total_size == NULL) - return SANE_STATUS_INVAL; - - /* setup scan */ - *channels=3; - resolution=600; - dpihw=sanei_genesys_compute_dpihw_calibration(dev, sensor, resolution); - resolution=dpihw; - - const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, - dev->settings.scan_method); - factor = calib_sensor.optical_res/dpihw; - num_pixels = calib_sensor.sensor_pixels/(factor*2); - *total_size = num_pixels * 3 * 1; - - *reg = dev->reg; - - ScanSession session; - session.params.xres = resolution; - session.params.yres = resolution; - session.params.startx = num_pixels/2; - session.params.starty = 0; - session.params.pixels = num_pixels; - session.params.lines = 1; - session.params.depth = 8; - session.params.channels = *channels; - session.params.scan_method = dev->settings.scan_method; - session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - session.params.color_filter = dev->settings.color_filter; - session.params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - gl843_compute_session(dev, session, calib_sensor); - - status = gl843_init_scan_regs(dev, calib_sensor, reg, session); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - sanei_genesys_set_motor_power(*reg, false); - RIE(dev->model->cmd_set->bulk_write_register(dev, *reg)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * set up GPIO/GPOE for idle state -WRITE GPIO[17-21]= GPIO19 -WRITE GPOE[17-21]= GPOE21 GPOE20 GPOE19 GPOE18 -genesys_write_register(0xa8,0x3e) -GPIO(0xa8)=0x3e - */ -static SANE_Status -gl843_init_gpio (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx; - - DBGSTART; - - RIE (sanei_genesys_write_register (dev, REG6E, dev->gpo.enable[0])); - RIE (sanei_genesys_write_register (dev, REG6F, dev->gpo.enable[1])); - RIE (sanei_genesys_write_register (dev, REG6C, dev->gpo.value[0])); - RIE (sanei_genesys_write_register (dev, REG6D, dev->gpo.value[1])); - - idx=0; - while(dev->model->gpo_type != gpios[idx].gpo_type && gpios[idx].gpo_type!=0) - { - idx++; - } - if (gpios[idx].gpo_type!=0) - { - RIE (sanei_genesys_write_register (dev, REGA6, gpios[idx].ra6)); - RIE (sanei_genesys_write_register (dev, REGA7, gpios[idx].ra7)); - RIE (sanei_genesys_write_register (dev, REGA8, gpios[idx].ra8)); - RIE (sanei_genesys_write_register (dev, REGA9, gpios[idx].ra9)); - } - else - { - status=SANE_STATUS_INVAL; - } - - DBGCOMPLETED; - return status; -} - - -/* * - * initialize ASIC from power on condition - */ -static SANE_Status -gl843_boot (Genesys_Device * dev, SANE_Bool cold) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - - DBGSTART; - - if(cold) - { - RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); - RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); - } - - if(dev->usb_mode == 1) - { - val = 0x14; - } - else - { - val = 0x11; - } - RIE (sanei_genesys_write_0x8c (dev, 0x0f, val)); - - /* test CHKVER */ - RIE (sanei_genesys_read_register (dev, REG40, &val)); - if (val & REG40_CHKVER) - { - RIE (sanei_genesys_read_register (dev, 0x00, &val)); - DBG(DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); - } - - /* Set default values for registers */ - gl843_init_registers (dev); - - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - // turns on vref control for maximum current of the motor driver - RIE(sanei_genesys_write_register (dev, REG6B, 0x72)); - } - else - { - RIE(sanei_genesys_write_register (dev, REG6B, 0x02)); - } - - /* Write initial registers */ - RIE (dev->model->cmd_set->bulk_write_register(dev, dev->reg)); - - // Enable DRAM by setting a rising edge on bit 3 of reg 0x0b - val = dev->reg.find_reg(0x0b).value & REG0B_DRAMSEL; - val = (val | REG0B_ENBDRAM); - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg.find_reg(0x0b).value = val; - - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - RIE (sanei_genesys_write_0x8c (dev, 0x10, 0xc8)); - } - else - { - RIE (sanei_genesys_write_0x8c (dev, 0x10, 0xb4)); - } - - /* CLKSET */ - int clock_freq = REG0B_48MHZ; - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - clock_freq = REG0B_60MHZ; - - val = (dev->reg.find_reg(0x0b).value & ~REG0B_CLKSET) | clock_freq; - - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg.find_reg(0x0b).value = val; - - /* prevent further writings by bulk write register */ - dev->reg.remove_reg(0x0b); - - if (dev->model->model_id != MODEL_CANON_CANOSCAN_8600F) - { - // set up end access - // FIXME: this is overwritten in gl843_init_gpio - sanei_genesys_write_register(dev, REGA7, 0x04); - sanei_genesys_write_register(dev, REGA9, 0x00); - } - - /* set RAM read address */ - RIE (sanei_genesys_write_register (dev, REG29, 0x00)); - RIE (sanei_genesys_write_register (dev, REG2A, 0x00)); - RIE (sanei_genesys_write_register (dev, REG2B, 0x00)); - - /* setup gpio */ - RIE (gl843_init_gpio (dev)); - - gl843_feed (dev, 300); - sanei_genesys_sleep_ms(100); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* * - * initialize backend and ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home - */ -static SANE_Status -gl843_init (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG_INIT (); - DBGSTART; - - status=sanei_genesys_asic_init(dev, 0); - - DBGCOMPLETED; - return status; -} - -static SANE_Status -gl843_update_hardware_sensors (Genesys_Scanner * s) -{ - /* do what is needed to get a new set of events, but try to not lose - any of them. - */ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - - RIE (sanei_genesys_read_register (s->dev, REG6D, &val)); - - switch (s->dev->model->gpo_type) - { - case GPO_KVSS080: - s->buttons[BUTTON_SCAN_SW].write((val & 0x04) == 0); - break; - case GPO_G4050: - s->buttons[BUTTON_SCAN_SW].write((val & 0x01) == 0); - s->buttons[BUTTON_FILE_SW].write((val & 0x02) == 0); - s->buttons[BUTTON_EMAIL_SW].write((val & 0x04) == 0); - s->buttons[BUTTON_COPY_SW].write((val & 0x08) == 0); - break; - case GPO_CS4400F: - case GPO_CS8400F: - default: - break; - } - - return status; -} - -/** @brief move sensor to transparency adaptor - * Move sensor to the calibration of the transparency adapator (XPA). - * @param dev device to use - */ -static SANE_Status -gl843_move_to_ta (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - float resolution; - unsigned int feed; - - DBGSTART; - - resolution=sanei_genesys_get_lowest_ydpi(dev); - feed = 16*(SANE_UNFIX (dev->model->y_offset_calib_ta) * resolution) / MM_PER_INCH; - status = gl843_feed (dev, feed); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to move to XPA calibration area\n", __func__); - return status; - } - - DBGCOMPLETED; - return status; -} - - -/** @brief search for a full width black or white strip. - * This function searches for a black or white stripe across the scanning area. - * When searching backward, the searched area must completely be of the desired - * color since this area will be used for calibration which scans forward. - * @param dev scanner device - * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward - * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip - * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not - */ -static SANE_Status -gl843_search_strip (Genesys_Device * dev, const Genesys_Sensor& sensor, - SANE_Bool forward, SANE_Bool black) -{ - unsigned int pixels, lines, channels; - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set local_reg; - size_t size; - int steps, depth, dpi; - unsigned int pass, count, found, x, y; - GenesysRegister *r; - - DBG(DBG_proc, "%s %s %s\n", __func__, black ? "black" : "white", forward ? "forward" : "reverse"); - - gl843_set_fe(dev, sensor, AFE_SET); - status = gl843_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* set up for a gray scan at lowest dpi */ - dpi = sanei_genesys_get_lowest_dpi(dev); - channels = 1; - - const auto& calib_sensor = sanei_genesys_find_sensor(dev, dpi, dev->settings.scan_method); - - /* 10 MM */ - /* lines = (10 * dpi) / MM_PER_INCH; */ - /* shading calibation is done with dev->motor.base_ydpi */ - lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; - depth = 8; - pixels = (calib_sensor.sensor_pixels * dpi) / calib_sensor.optical_res; - - dev->scanhead_position_in_steps = 0; - - local_reg = dev->reg; - - ScanSession session; - session.params.xres = dpi; - session.params.yres = dpi; - session.params.startx = 0; - session.params.starty = 0; - session.params.pixels = pixels; - session.params.lines = lines; - session.params.depth = depth; - session.params.channels = channels; - session.params.scan_method = dev->settings.scan_method; - session.params.scan_mode = ScanColorMode::GRAY; - session.params.color_filter = ColorFilter::RED; - session.params.flags = SCAN_FLAG_DISABLE_SHADING | SCAN_FLAG_DISABLE_SHADING; - gl843_compute_session(dev, session, calib_sensor); - - status = gl843_init_scan_regs(dev, calib_sensor, &local_reg, session); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup for scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - size = dev->read_bytes_left; - std::vector data(size); - - /* set up for reverse or forward */ - r = sanei_genesys_get_address(&local_reg, REG02); - if (forward) - r->value &= ~REG02_MTRREV; - else - r->value |= REG02_MTRREV; - - - status = dev->model->cmd_set->bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl843_begin_scan(dev, calib_sensor, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl843_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: gl843_stop_action failed\n", __func__); - return status; - } - - pass = 0; - if (DBG_LEVEL >= DBG_data) - { - char fn[40]; - snprintf(fn, 40, "gl843_search_strip_%s_%s%02d.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); - sanei_genesys_write_pnm_file(fn, data.data(), depth, channels, pixels, lines); - } - - /* loop until strip is found or maximum pass number done */ - found = 0; - while (pass < 20 && !found) - { - status = - dev->model->cmd_set->bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - /* now start scan */ - status = gl843_begin_scan(dev, calib_sensor, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl843_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: gl843_stop_action failed\n", __func__); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - char fn[40]; - snprintf(fn, 40, "gl843_search_strip_%s_%s%02d.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); - sanei_genesys_write_pnm_file(fn, data.data(), depth, channels, pixels, lines); - } - - /* search data to find black strip */ - /* when searching forward, we only need one line of the searched color since we - * will scan forward. But when doing backward search, we need all the area of the - * same color */ - if (forward) - { - for (y = 0; y < lines && !found; y++) - { - count = 0; - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < 60) - { - count++; - } - } - - /* at end of line, if count >= 3%, line is not fully of the desired color - * so we must go to next line of the buffer */ - /* count*100/pixels < 3 */ - if ((count * 100) / pixels < 3) - { - found = 1; - DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, - pass, y); - } - else - { - DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, - (100 * count) / pixels); - } - } - } - else /* since calibration scans are done forward, we need the whole area - to be of the required color when searching backward */ - { - count = 0; - for (y = 0; y < lines; y++) - { - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < 60) - { - count++; - } - } - } - - /* at end of area, if count >= 3%, area is not fully of the desired color - * so we must go to next buffer */ - if ((count * 100) / (pixels * lines) < 3) - { - found = 1; - DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); - } - else - { - DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, - (100 * count) / pixels); - } - } - pass++; - } - if (found) - { - status = SANE_STATUS_GOOD; - DBG(DBG_info, "%s: %s strip found\n", __func__, black ? "black" : "white"); - } - else - { - status = SANE_STATUS_UNSUPPORTED; - DBG(DBG_info, "%s: %s strip not found\n", __func__, black ? "black" : "white"); - } - - DBG(DBG_proc, "%s: completed\n", __func__); - return status; -} - -/** - * Send shading calibration data. The buffer is considered to always hold values - * for all the channels. - */ -static SANE_Status -gl843_send_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, - uint8_t * data, int size) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint32_t final_size, length, i; - uint8_t *buffer; - int count,offset; - unsigned int cksel; - GenesysRegister *r; - uint16_t dpiset, strpixel, endpixel, startx, factor; - - DBGSTART; - - offset=0; - length=size; - r = sanei_genesys_get_address(&dev->reg, REG01); - if(r->value & REG01_SHDAREA) - { - /* recompute STRPIXEL used shading calibration so we can - * compute offset within data for SHDAREA case */ - r = sanei_genesys_get_address(&dev->reg, REG18); - cksel= (r->value & REG18_CKSEL)+1; - sanei_genesys_get_double(&dev->reg,REG_DPISET,&strpixel); - sanei_genesys_get_double(&dev->reg,REG_DPISET,&dpiset); - factor=sensor.optical_res/sanei_genesys_compute_dpihw(dev, sensor, dpiset); - - /* start coordinate in optical dpi coordinates */ - startx = (sensor.dummy_pixel / cksel) / factor; - - /* current scan coordinates */ - sanei_genesys_get_double(&dev->reg,REG_STRPIXEL,&strpixel); - sanei_genesys_get_double(&dev->reg,REG_ENDPIXEL,&endpixel); - - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - int optical_res = sensor.optical_res / dev->current_setup.ccd_size_divisor; - int dpiset_real = dpiset / dev->current_setup.ccd_size_divisor; - int half_ccd_factor = optical_res / - sanei_genesys_compute_dpihw_calibration(dev, sensor, dpiset_real); - strpixel /= half_ccd_factor; - endpixel /= half_ccd_factor; - } - - /* 16 bit words, 2 words per color, 3 color channels */ - offset=(strpixel-startx)*2*2*3; - length=(endpixel-strpixel)*2*2*3; - DBG(DBG_info, "%s: STRPIXEL=%d, ENDPIXEL=%d, startx=%d\n", __func__, strpixel, endpixel, - startx); - } - - /* compute and allocate size for final data */ - final_size = ((length+251) / 252) * 256; - DBG(DBG_io, "%s: final shading size=%04x (length=%d)\n", __func__, final_size, length); - std::vector final_data(final_size, 0); - - /* copy regular shading data to the expected layout */ - buffer = final_data.data(); - count = 0; - - /* loop over calibration data */ - for (i = 0; i < length; i++) - { - buffer[count] = data[offset+i]; - count++; - if ((count % (256*2)) == (252*2)) - { - count += 4*2; - } - } - - /* send data */ - status = sanei_genesys_set_buffer_address (dev, 0); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set buffer address: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = dev->model->cmd_set->bulk_write_data (dev, 0x3c, final_data.data(), count); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to send shading table: %s\n", __func__, sane_strstatus(status)); - } - - DBGCOMPLETED; - return status; -} - - -/** the gl843 command set */ -static Genesys_Command_Set gl843_cmd_set = { - "gl843-generic", /* the name of this set */ - - [](Genesys_Device* dev) -> bool { (void) dev; return true; }, - - gl843_init, - gl843_init_regs_for_warmup, - gl843_init_regs_for_coarse_calibration, - gl843_init_regs_for_shading, - gl843_init_regs_for_scan, - - gl843_get_filter_bit, - gl843_get_lineart_bit, - gl843_get_bitset_bit, - gl843_get_gain4_bit, - gl843_get_fast_feed_bit, - gl843_test_buffer_empty_bit, - gl843_test_motor_flag_bit, - - gl843_set_fe, - gl843_set_powersaving, - gl843_save_power, - - gl843_begin_scan, - gl843_end_scan, - - gl843_send_gamma_table, - - gl843_search_start_position, - - gl843_offset_calibration, - gl843_coarse_gain_calibration, - gl843_led_calibration, - - NULL, - gl843_slow_back_home, - NULL, - - sanei_genesys_bulk_write_register, - sanei_genesys_bulk_write_data, - sanei_genesys_bulk_read_data, - - gl843_update_hardware_sensors, - - gl843_load_document, - gl843_detect_document_end, - gl843_eject_document, - gl843_search_strip, - - sanei_genesys_is_compatible_calibration, - gl843_move_to_ta, - gl843_send_shading_data, - gl843_calculate_current_setup, - gl843_boot -}; - -SANE_Status -sanei_gl843_init_cmd_set (Genesys_Device * dev) -{ - dev->model->cmd_set = &gl843_cmd_set; - return SANE_STATUS_GOOD; -} diff --git a/backend/genesys_gl843.h b/backend/genesys_gl843.h deleted file mode 100644 index 7651cc9..0000000 --- a/backend/genesys_gl843.h +++ /dev/null @@ -1,472 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2010-2013 Stéphane Voltz - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#include "genesys.h" - -#define REG01 0x01 -#define REG01_CISSET 0x80 -#define REG01_DOGENB 0x40 -#define REG01_DVDSET 0x20 -#define REG01_STAGGER 0x10 -#define REG01_COMPENB 0x08 -#define REG01_TRUEGRAY 0x04 -#define REG01_SHDAREA 0x02 -#define REG01_SCAN 0x01 - -#define REG02 0x02 -#define REG02_NOTHOME 0x80 -#define REG02_ACDCDIS 0x40 -#define REG02_AGOHOME 0x20 -#define REG02_MTRPWR 0x10 -#define REG02_FASTFED 0x08 -#define REG02_MTRREV 0x04 -#define REG02_HOMENEG 0x02 -#define REG02_LONGCURV 0x01 - -#define REG03 0x03 -#define REG03_LAMPDOG 0x80 -#define REG03_AVEENB 0x40 -#define REG03_XPASEL 0x20 -#define REG03_LAMPPWR 0x10 -#define REG03_LAMPTIM 0x0f - -#define REG04 0x04 -#define REG04_LINEART 0x80 -#define REG04_BITSET 0x40 -#define REG04_AFEMOD 0x30 -#define REG04_FILTER 0x0c -#define REG04_FESET 0x03 - -#define REG04S_AFEMOD 4 - -#define REG05 0x05 -#define REG05_DPIHW 0xc0 -#define REG05_DPIHW_600 0x00 -#define REG05_DPIHW_1200 0x40 -#define REG05_DPIHW_2400 0x80 -#define REG05_DPIHW_4800 0xc0 -#define REG05_MTLLAMP 0x30 -#define REG05_GMMENB 0x08 -#define REG05_MTLBASE 0x03 - -#define REG06 0x06 -#define REG06_SCANMOD 0xe0 -#define REG06S_SCANMOD 5 -#define REG06_PWRBIT 0x10 -#define REG06_GAIN4 0x08 -#define REG06_OPTEST 0x07 - -#define REG07_LAMPSIM 0x80 - -#define REG08_DECFLAG 0x40 -#define REG08_GMMFFR 0x20 -#define REG08_GMMFFG 0x10 -#define REG08_GMMFFB 0x08 -#define REG08_GMMZR 0x04 -#define REG08_GMMZG 0x02 -#define REG08_GMMZB 0x01 - -#define REG09_MCNTSET 0xc0 -#define REG09_EVEN1ST 0x20 -#define REG09_BLINE1ST 0x10 -#define REG09_BACKSCAN 0x08 -#define REG09_ENHANCE 0x04 -#define REG09_SHORTTG 0x02 -#define REG09_NWAIT 0x01 - -#define REG09S_MCNTSET 6 -#define REG09S_CLKSET 4 - -#define REG0B 0x0b -#define REG0B_DRAMSEL 0x07 -#define REG0B_ENBDRAM 0x08 -#define REG0B_ENBDRAM 0x08 -#define REG0B_RFHDIS 0x10 -#define REG0B_CLKSET 0xe0 -#define REG0B_24MHZ 0x00 -#define REG0B_30MHZ 0x20 -#define REG0B_40MHZ 0x40 -#define REG0B_48MHZ 0x60 -#define REG0B_60MHZ 0x80 - -#define REG0D 0x0d -#define REG0D_JAMPCMD 0x80 -#define REG0D_DOCCMD 0x40 -#define REG0D_CCDCMD 0x20 -#define REG0D_FULLSTP 0x10 -#define REG0D_SEND 0x08 -#define REG0D_CLRMCNT 0x04 -#define REG0D_CLRDOCJM 0x02 -#define REG0D_CLRLNCNT 0x01 - -#define REG0F 0x0f - -#define REG_EXPR 0x10 -#define REG_EXPG 0x12 -#define REG_EXPB 0x14 - -#define REG16_CTRLHI 0x80 -#define REG16_TOSHIBA 0x40 -#define REG16_TGINV 0x20 -#define REG16_CK1INV 0x10 -#define REG16_CK2INV 0x08 -#define REG16_CTRLINV 0x04 -#define REG16_CKDIS 0x02 -#define REG16_CTRLDIS 0x01 - -#define REG17_TGMODE 0xc0 -#define REG17_TGMODE_NO_DUMMY 0x00 -#define REG17_TGMODE_REF 0x40 -#define REG17_TGMODE_XPA 0x80 -#define REG17_TGW 0x3f -#define REG17S_TGW 0 - -#define REG18 0x18 -#define REG18_CNSET 0x80 -#define REG18_DCKSEL 0x60 -#define REG18_CKTOGGLE 0x10 -#define REG18_CKDELAY 0x0c -#define REG18_CKSEL 0x03 - -#define REG_EXPDMY 0x19 - -#define REG1A_TGLSW2 0x80 -#define REG1A_TGLSW1 0x40 -#define REG1A_MANUAL3 0x02 -#define REG1A_MANUAL1 0x01 -#define REG1A_CK4INV 0x08 -#define REG1A_CK3INV 0x04 -#define REG1A_LINECLP 0x02 - -#define REG1C 0x1c -#define REG1C_TGTIME 0x07 - -#define REG1D_CK4LOW 0x80 -#define REG1D_CK3LOW 0x40 -#define REG1D_CK1LOW 0x20 -#define REG1D_TGSHLD 0x1f -#define REG1DS_TGSHLD 0 - - -#define REG1E 0x1e -#define REG1E_WDTIME 0xf0 -#define REG1ES_WDTIME 4 -#define REG1E_LINESEL 0x0f -#define REG1ES_LINESEL 0 - -#define REG21 0x21 -#define REG_STEPNO 0x21 -#define REG_FWDSTEP 0x22 -#define REG_BWDSTEP 0x23 -#define REG_FASTNO 0x24 -#define REG_LINCNT 0x25 - -#define REG29 0x29 -#define REG2A 0x2a -#define REG2B 0x2b -#define REG_DPISET 0x2c -#define REG2E 0x2e -#define REG2F 0x2f - -#define REG_STRPIXEL 0x30 -#define REG_ENDPIXEL 0x32 -#define REG_DUMMY 0x34 -#define REG_MAXWD 0x35 -#define REG_LPERIOD 0x38 -#define REG_FEEDL 0x3d - -#define REG40 0x40 -#define REG40_DOCSNR 0x80 -#define REG40_ADFSNR 0x40 -#define REG40_COVERSNR 0x20 -#define REG40_CHKVER 0x10 -#define REG40_DOCJAM 0x08 -#define REG40_HISPDFLG 0x04 -#define REG40_MOTMFLG 0x02 -#define REG40_DATAENB 0x01 - -#define REG41_PWRBIT 0x80 -#define REG41_BUFEMPTY 0x40 -#define REG41_FEEDFSH 0x20 -#define REG41_SCANFSH 0x10 -#define REG41_HOMESNR 0x08 -#define REG41_LAMPSTS 0x04 -#define REG41_FEBUSY 0x02 -#define REG41_MOTORENB 0x01 - -#define REG58_VSMP 0xf8 -#define REG58S_VSMP 3 -#define REG58_VSMPW 0x07 -#define REG58S_VSMPW 0 - -#define REG59_BSMP 0xf8 -#define REG59S_BSMP 3 -#define REG59_BSMPW 0x07 -#define REG59S_BSMPW 0 - -#define REG5A_ADCLKINV 0x80 -#define REG5A_RLCSEL 0x40 -#define REG5A_CDSREF 0x30 -#define REG5AS_CDSREF 4 -#define REG5A_RLC 0x0f -#define REG5AS_RLC 0 - -#define REG5E 0x5e -#define REG5E_DECSEL 0xe0 -#define REG5ES_DECSEL 5 -#define REG5E_STOPTIM 0x1f -#define REG5ES_STOPTIM 0 - -#define REG_FMOVDEC 0x5f - -#define REG60 0x60 -#define REG60_Z1MOD 0x1f -#define REG61 0x61 -#define REG61_Z1MOD 0xff -#define REG62 0x62 -#define REG62_Z1MOD 0xff - -#define REG63 0x63 -#define REG63_Z2MOD 0x1f -#define REG64 0x64 -#define REG64_Z2MOD 0xff -#define REG65 0x65 -#define REG65_Z2MOD 0xff - -#define REG67 0x67 - -#define REG68 0x68 - -#define REG67S_STEPSEL 6 -#define REG67_STEPSEL 0xc0 -#define REG67_FULLSTEP 0x00 -#define REG67_HALFSTEP 0x20 -#define REG67_EIGHTHSTEP 0x60 -#define REG67_16THSTEP 0x80 - -#define REG68S_FSTPSEL 6 -#define REG68_FSTPSEL 0xc0 -#define REG68_FULLSTEP 0x00 -#define REG68_HALFSTEP 0x20 -#define REG68_EIGHTHSTEP 0x60 -#define REG68_16THSTEP 0x80 - -#define REG_FSHDEC 0x69 -#define REG_FMOVNO 0x6a - -#define REG6B 0x6b -#define REG6B_MULTFILM 0x80 -#define REG6B_GPOM13 0x40 -#define REG6B_GPOM12 0x20 -#define REG6B_GPOM11 0x10 -#define REG6B_GPOCK4 0x08 -#define REG6B_GPOCP 0x04 -#define REG6B_GPOLEDB 0x02 -#define REG6B_GPOADF 0x01 - -#define REG6C 0x6c -#define REG6C_GPIO16 0x80 -#define REG6C_GPIO15 0x40 -#define REG6C_GPIO14 0x20 -#define REG6C_GPIO13 0x10 -#define REG6C_GPIO12 0x08 -#define REG6C_GPIO11 0x04 -#define REG6C_GPIO10 0x02 -#define REG6C_GPIO9 0x01 -#define REG6C_GPIOH 0xff -#define REG6C_GPIOL 0xff - -#define REG_Z1MOD 0x60 -#define REG_Z2MOD 0x63 - -#define REG6D 0x6d -#define REG6E 0x6e -#define REG6F 0x6f - -#define REG_CK1MAP 0x74 -#define REG_CK3MAP 0x77 -#define REG_CK4MAP 0x7a - -#define REG7E 0x7e - -#define REG9D 0x9d -#define REG9DS_STEPTIM 2 - -#define REG87_LEDADD 0x04 - -#define REGA6 0xa6 -#define REGA6_GPIO24 0x80 -#define REGA6_GPIO23 0x40 -#define REGA6_GPIO22 0x20 -#define REGA6_GPIO21 0x10 -#define REGA6_GPIO20 0x08 -#define REGA6_GPIO19 0x04 -#define REGA6_GPIO18 0x02 -#define REGA6_GPIO17 0x01 -#define REGA7 0xa7 -#define REGA7_GPOE24 0x80 -#define REGA7_GPOE23 0x40 -#define REGA7_GPOE22 0x20 -#define REGA7_GPOE21 0x10 -#define REGA7_GPOE20 0x08 -#define REGA7_GPOE19 0x04 -#define REGA7_GPOE18 0x02 -#define REGA7_GPOE17 0x01 -#define REGA8 0xa8 -#define REGA8_GPOE27 0x20 -#define REGA8_GPOE26 0x10 -#define REGA8_GPOE25 0x08 -#define REGA8_GPO27 0x04 -#define REGA8_GPO26 0x02 -#define REGA8_GPO25 0x01 -#define REGA9 0xa9 -#define REGA9_GPO33 0x20 -#define REGA9_GPO32 0x10 -#define REGA9_GPO31 0x08 -#define REGA9_GPO30 0x04 -#define REGA9_GPO29 0x02 -#define REGA9_GPO28 0x01 - -#define SCAN_TABLE 0 /* table 1 at 0x4000 */ -#define BACKTRACK_TABLE 1 /* table 2 at 0x4800 */ -#define STOP_TABLE 2 /* table 3 at 0x5000 */ -#define FAST_TABLE 3 /* table 4 at 0x5800 */ -#define HOME_TABLE 4 /* table 5 at 0x6000 */ - -#define SCAN_FLAG_SINGLE_LINE 0x001 -#define SCAN_FLAG_DISABLE_SHADING 0x002 -#define SCAN_FLAG_DISABLE_GAMMA 0x004 -#define SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE 0x008 -#define SCAN_FLAG_IGNORE_LINE_DISTANCE 0x010 -#define SCAN_FLAG_USE_OPTICAL_RES 0x020 -#define SCAN_FLAG_DISABLE_LAMP 0x040 -#define SCAN_FLAG_DYNAMIC_LINEART 0x080 - -#define SETREG(adr,val) { dev->reg.init_reg(adr, val); } - -typedef struct -{ - SANE_Int gpo_type; - uint8_t ra6; - uint8_t ra7; - uint8_t ra8; - uint8_t ra9; -} Gpio_layout; - -static Gpio_layout gpios[]={ - /* G4050 */ - { - GPO_G4050, 0x08, 0x1e, 0x3e, 0x06 - }, - /* KV-SS080 */ - { - GPO_KVSS080, 0x06, 0x0f, 0x00, 0x08 - }, - /* 4400F */ - { - GPO_CS4400F, 0x00, 0xff, 0x07, 0x00 - }, - /* 8400F */ - { - GPO_CS8400F, 0x00, 0x03, 0x00, 0x02 - }, - { - GPO_CS8600F, 0x00, 0xff, 0x00, 0x00, - }, - /* end marker */ - { - 0, 0, 0, 0, 0 - }, -}; - - -static uint32_t kvss080[]={44444, 34188, 32520, 29630, 26666, 24242, 22222, 19048, 16666, 15686, 14814, 14034, 12402, 11110, 8888, 7618, 6666, 5926, 5228, 4678, 4172, 3682, 3336, 3074, 2866, 2702, 2566, 2450, 2352, 2266, 2188, 2118, 2056, 2002, 1950, 1904, 1860, 1820, 1784, 1748, 1716, 1684, 1656, 1628, 1600, 1576, 1552, 1528, 1506, 1486, 1466, 1446, 1428, 1410, 1394, 1376, 1360, 1346, 1330, 1316, 1302, 1288, 1276, 1264, 1250, 1238, 1228, 1216, 1206, 1194, 1184, 1174, 1164, 1154, 1146, 1136, 1128, 1120, 1110, 1102, 1094, 1088, 1080, 1072, 1064, 1058, 1050, 1044, 1038, 1030, 1024, 1018, 1012, 1006, 1000, 994, 988, 984, 978, 972, 968, 962, 958, 952, 948, 942, 938, 934, 928, 924, 920, 916, 912, 908, 904, 900, 896, 892, 888, 884, 882, 878, 874, 870, 868, 864, 860, 858, 854, 850, 848, 844, 842, 838, 836, 832, 830, 826, 824, 822, 820, 816, 814, 812, 808, 806, 804, 802, 800, 796, 794, 792, 790, 788, 786, 784, 782, 778, 776, 774, 772, 770, 768, 766, 764, 762, 760, 758, 756, 754, 752, 750, 750, 748, 746, 744, 742, 740, 738, 736, 734, 734, 732, 730, 728, 726, 724, 724, 722, 720, 718, 716, 716, 714, 712, 710, 710, 708, 706, 704, 704, 702, 700, 698, 698, 696, 694, 694, 692, 690, 690, 688, 686, 686, 684, 682, 682, 680, 678, 678, 676, 674, 674, 672, 672, 670, 668, 668, 666, 666, 664, 662, 662, 660, 660, 658, 656, 656, 654, 654, 652, 652, 650, 650, 648, 646, 646, 644, 644, 642, 642, 640, 640, 638, 638, 636, 636, 636, 634, 634, 632, 632, 630, 630, 628, 628, 626, 626, 624, 624, 624, 622, 622, 620, 620, 618, 618, 618, 616, 616, 614, 614, 612, 612, 612, 610, 610, 608, 608, 608, 606, 606, 606, 604, 604, 602, 602, 602, 600, 600, 600, 598, 598, 596, 596, 596, 594, 594, 594, 592, 592, 592, 590, 590, 590, 588, 588, 588, 586, 586, 586, 584, 584, 584, 582, 582, 582, 590, 590, 590, 588, 588, 588, 586, 586, 586, 584, 584, 584, 582, 582, 582, 580, 580, 580, 578, 578, 578, 576, 576, 576, 576, 574, 574, 574, 572, 572, 572, 570, 570, 570, 568, 568, 568, 568, 566, 566, 566, 564, 564, 564, 562, 562, 562, 562, 560, 560, 560, 558, 558, 558, 558, 556, 556, 556, 554, 554, 554, 552, 552, 552, 552, 550, 550, 550, 548, 548, 548, 548, 546, 546, 546, 546, 544, 544, 544, 542, 542, 542, 542, 540, 540, 540, 538, 538, 538, 538, 536, 536, 536, 536, 534, 534, 534, 534, 532, 532, 532, 530, 530, 530, 530, 528, 528, 528, 528, 526, 526, 526, 526, 524, 524, 524, 524, 522, 522, 522, 522, 520, 520, 520, 520, 518, 518, 518, 516, 516, 516, 516, 514, 514, 514, 514, 514, 512, 512, 512, 512, 510, 510, 510, 510, 508, 508, 508, 508, 506, 506, 506, 506, 504, 504, 504, 504, 502, 502, 502, 502, 500, 500, 500, 500, 0}; -static uint32_t g4050_fast[]={7842,5898,4384,4258,4152,4052,3956,3864,3786,3714,3632,3564,3498,3444,3384,3324,3276,3228,3174,3128,3086,3044,3002,2968,2930,2892,2860,2824,2794,2760,2732,2704,2676,2650,2618,2594,2568,2548,2524,2500,2478,2454,2436,2414,2392,2376,2354,2338,2318,2302,2282,2266,2252,2232,2218,2202,2188,2174,2160,2142,2128,2116,2102,2088,2076,2062,2054,2040,2028,2020,2014,2008,2004,2002,2002,2002,1946,1882,1826,1770,1716,1662,1612,1568,1526,1488,1454,1422,1390,1362,1336,1310,1288,1264,1242,1222,1204,1184,1166,1150,1134,1118,1104,1090,1076,1064,1050,1038,1026,1016,1004,994,984,972,964,954,944,936,928,920,910,902,896,888,880,874,866,860,854,848,840,834,828,822,816,812,806,800,796,790,784,780,776,770,766,760,756,752,748,744,740,736,732,728,724,720,716,712,708,704,702,698,694,690,688,684,682,678,674,672,668,666,662,660,656,654,650,648,646,644,640,638,636,632,630,628,624,622,620,618,616,614,610,608,606,604,602,600,598,596,594,592,590,588,586,584,582,580,578,576,574,572,570,568,566,564,564,562,560,558,556,554,552,552,550,548,546,546,544,542,540,538,538,536,534,532,532,530,528,528,526,524,522,522,520,518,518,516,514,514,512,512,510,508,508,506,504,504,502,502,500,498,498,496,496,494,494,492,490,490,488,488,486,486,484,484,482,480,480,478,478,476,476,474,474,472,472,470,470,468,468,468,466,466,464,464,462,462,460,460,458,458,456,456,456,454,454,452,452,450,450,450,448,448,446,446,444,444,444,442,442,440,440,440,438,438,438,436,436,434,434,434,432,432,432,430,430,428,428,428,426,426,426,424,424,424,422,422,422,420,420,420,418,418,418,416,416,416,414,414,414,412,412,412,410,410,410,408,408,408,406,406,406,404,404,404,404,402,402,402,400,400,400,400,398,398,398,396,396,396,396,394,394,394,392,392,392,392,390,390,390,388,388,388,388,386,386,386,386,384,384,384,384,382,382,382,382,380,380,380,380,378,378,378,378,376,376,376,376,376,374,374,374,374,374,372,372,372,372,372,370,370,370,370,370,368,368,368,368,368,366,366,366,366,366,364,364,364,364,364,364,362,362,362,362,362,360,360,360,360,360,360,358,358,358,358,358,358,356,356,356,356,356,356,354,354,354,354,354,352,352,352,352,352,352,350,350,350,350,350,350,350,348,348,348,348,348,348,346,346,346,346,346,346,344,344,344,344,344,344,344,342,342,342,342,342,342,340,340,340,340,340,340,340,338,338,338,338,338,338,338,336,336,336,336,336,336,336,334,334,334,334,334,334,334,332,332,332,332,332,332,332,332,330,330,330,330,330,330,330,328,328,328,328,328,328,328,328,326,326,326,326,326,326,326,324,324,324,324,324,324,324,324,322,322,322,322,322,322,322,322,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320,320, 0}; -static uint32_t g4050_high[]={28032,28032,28032,28032,28032,28032,28032,28032, 27668,27024,26479,25975,25402,24926,24465,24087,23667,23248,22912,22576,22198,21877,21583,21289,20996,20758,20492,20226,20002,19751,19541,19303,19107,18911,18715,18534,18310,18142,17960,17820,17652,17485,17331,17163,17037,16883,16729,16617,16463,16352,16212,16100,15960,15848,15750,15610,15512,15400,15302,15204,15107,14981,14883,14799,14701,14603,14519,14421,14365,14267,14183,14127,14085,14043,14016,14002,14002,14002,13610,13162,12771,12379,12001,11624,11274,10966,10672,10407,10169,9945,9721,9525,9344,9162,9008,8840,8686,8546,8420,8280,8155,8043,7931,7819,7721,7623,7525,7441,7343,7259,7175,7105,7021,6952,6882,6798,6742,6672,6602,6546,6490,6434,6364,6308,6266,6210,6154,6112,6056,6014,5972,5930,5874,5833,5791,5749,5707,5679,5637,5595,5567,5525,5483,5455,5427,5385,5357,5315,5287,5259,5231,5203,5175,5147,5119,5091,5063,5035,5007,4979,4951,4923,4909,4881,4853,4825,4811,4783,4769,4741,4713,4699,4672,4658,4630,4616,4588,4574,4546,4532,4518,4504,4476,4462,4448,4420,4406,4392,4364,4350,4336,4322,4308,4294,4266,4252,4238,4224,4210,4196,4182,4168,4154,4140,4126,4112,4098,4084,4070,4056,4042,4028,4014,4000,3986,3972,3958,3944,3944,3930,3916,3902,3888,3874,3860,3860,3846,3832,3818,3818,3804,3790,3776,3762,3762,3748,3734,3720,3720,3706,3692,3692,3678,3664,3650,3650,3636,3622,3622,3608,3594,3594,3580,3580,3566,3552,3552,3538,3524,3524,3510,3510,3497,3483,3483,3469,3469,3455,3455,3441,3427,3427,3413,3413,3399,3399,3385,3385,3371,3357,3357,3343,3343,3329,3329,3315,3315,3301,3301,3287,3287,3273,3273,3273,3259,3259,3245,3245,3231,3231,3217,3217,3203,3203,3189,3189,3189,3175,3175,3161,3161,3147,3147,3147,3133,3133,3119,3119,3105,3105,3105,3091,3091,3077,3077,3077,3063,3063,3063,3049,3049,3035,3035,3035,3021,3021,3021,3007,3007,2993,2993,2993,2979,2979,2979,2965,2965,2965,2951,2951,2951,2937,2937,2937,2923,2923,2923,2909,2909,2909,2895,2895,2895,2881,2881,2881,2867,2867,2867,2853,2853,2853,2839,2839,2839,2825,2825,2825,2825,2811,2811,2811,2797,2797,2797,2797,2783,2783,2783,2769,2769,2769,2769,2755,2755,2755,2741,2741,2741,2741,2727,2727,2727,2713,2713,2713,2713,2699,2699,2699,2699,2685,2685,2685,2685,2671,2671,2671,2671,2657,2657,2657,2657,2643,2643,2643,2643,2629,2629,2629,2629,2629,2615,2615,2615,2615,2615,2601,2601,2601,2601,2601,2587,2587,2587,2587,2587,2573,2573,2573,2573,2573,2559,2559,2559,2559,2559,2545,2545,2545,2545,2545,2545,2531,2531,2531,2531,2531,2517,2517,2517,2517,2517,2517,2503,2503,2503,2503,2503,2503,2489,2489,2489,2489,2489,2489,2475,2475,2475,2475,2475,2461,2461,2461,2461,2461,2461,2447,2447,2447,2447,2447,2447,2447,2433,2433,2433,2433,2433,2433,2419,2419,2419,2419,2419,2419,2405,2405,2405,2405,2405,2405,2405,2391,2391,2391,2391,2391,2391,2377,2377,2377,2377,2377,2377,2377,2363,2363,2363,2363,2363,2363,2363,2349,2349,2349,2349,2349,2349,2349,2336,2336,2336,2336,2336,2336,2336,2322,2322,2322,2322,2322,2322,2322,2322,2308,2308,2308,2308,2308,2308,2308,2294,2294,2294,2294,2294,2294,2294,2294,2280,2280,2280,2280,2280,2280,2280,2266,2266,2266,2266,2266,2266,2266,2266,2252,2252,2252,2252,2252,2252,2252,2252,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238,2238, 0}; -static uint32_t g4050_max[]={42752,42752,42752,42752,42752,42752,42752,42752, 41824,31456,23381,22709,22144,21610,21098,20608,20192,19808,19370,19008,18656,18368,18048,17728,17472,17216,16928,16682,16458,16234,16010,15829,15626,15424,15253,15061,14901,14720,14570,14421,14272,14133,13962,13834,13696,13589,13461,13333,13216,13088,12992,12874,12757,12672,12554,12469,12362,12277,12170,12085,12010,11904,11829,11744,11669,11594,11520,11424,11349,11285,11210,11136,11072,10997,10954,10880,10816,10773,10741,10709,10688,10677,10677,10677,10378,10037,9738,9440,9152,8864,8597,8362,8138,7936,7754,7584,7413,7264,7125,6986,6869,6741,6624,6517,6421,6314,6218,6133,6048,5962,5888,5813,5738,5674,5600,5536,5472,5418,5354,5301,5248,5184,5141,5088,5034,4992,4949,4906,4853,4810,4778,4736,4693,4661,4618,4586,4554,4522,4480,4448,4416,4384,4352,4330,4298,4266,4245,4213,4181,4160,4138,4106,4085,4053,4032,4010,3989,3968,3946,3925,3904,3882,3861,3840,3818,3797,3776,3754,3744,3722,3701,3680,3669,3648,3637,3616,3594,3584,3562,3552,3530,3520,3498,3488,3466,3456,3445,3434,3413,3402,3392,3370,3360,3349,3328,3317,3306,3296,3285,3274,3253,3242,3232,3221,3210,3200,3189,3178,3168,3157,3146,3136,3125,3114,3104,3093,3082,3072,3061,3050,3040,3029,3018,3008,3008,2997,2986,2976,2965,2954,2944,2944,2933,2922,2912,2912,2901,2890,2880,2869,2869,2858,2848,2837,2837,2826,2816,2816,2805,2794,2784,2784,2773,2762,2762,2752,2741,2741,2730,2730,2720,2709,2709,2698,2688,2688,2677,2677,2666,2656,2656,2645,2645,2634,2634,2624,2613,2613,2602,2602,2592,2592,2581,2581,2570,2560,2560,2549,2549,2538,2538,2528,2528,2517,2517,2506,2506,2496,2496,2496,2485,2485,2474,2474,2464,2464,2453,2453,2442,2442,2432,2432,2432,2421,2421,2410,2410,2400,2400,2400,2389,2389,2378,2378,2368,2368,2368,2357,2357,2346,2346,2346,2336,2336,2336,2325,2325,2314,2314,2314,2304,2304,2304,2293,2293,2282,2282,2282,2272,2272,2272,2261,2261,2261,2250,2250,2250,2240,2240,2240,2229,2229,2229,2218,2218,2218,2208,2208,2208,2197,2197,2197,2186,2186,2186,2176,2176,2176,2165,2165,2165,2154,2154,2154,2154,2144,2144,2144,2133,2133,2133,2133,2122,2122,2122,2112,2112,2112,2112,2101,2101,2101,2090,2090,2090,2090,2080,2080,2080,2069,2069,2069,2069,2058,2058,2058,2058,2048,2048,2048,2048,2037,2037,2037,2037,2026,2026,2026,2026,2016,2016,2016,2016,2005,2005,2005,2005,2005,1994,1994,1994,1994,1994,1984,1984,1984,1984,1984,1973,1973,1973,1973,1973,1962,1962,1962,1962,1962,1952,1952,1952,1952,1952,1941,1941,1941,1941,1941,1941,1930,1930,1930,1930,1930,1920,1920,1920,1920,1920,1920,1909,1909,1909,1909,1909,1909,1898,1898,1898,1898,1898,1898,1888,1888,1888,1888,1888,1877,1877,1877,1877,1877,1877,1866,1866,1866,1866,1866,1866,1866,1856,1856,1856,1856,1856,1856,1845,1845,1845,1845,1845,1845,1834,1834,1834,1834,1834,1834,1834,1824,1824,1824,1824,1824,1824,1813,1813,1813,1813,1813,1813,1813,1802,1802,1802,1802,1802,1802,1802,1792,1792,1792,1792,1792,1792,1792,1781,1781,1781,1781,1781,1781,1781,1770,1770,1770,1770,1770,1770,1770,1770,1760,1760,1760,1760,1760,1760,1760,1749,1749,1749,1749,1749,1749,1749,1749,1738,1738,1738,1738,1738,1738,1738,1728,1728,1728,1728,1728,1728,1728,1728,1717,1717,1717,1717,1717,1717,1717,1717,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,1706,0}; -static uint32_t g4050_xpa[]={9422,5978,4736,4028,3560,3220,2914,2756,2588,2448,2328,2224,2132,2052,1978,1914,1854,1800,1752,1706,1664,1626,1588,1554,1522,1492,1464,1438,1412,1388,1366,1344,1324,1304,1284,1268,1250,1232,1218,1202,1188,1172,1160,1146,1134,1120,1110,1098,1086,1076,1066,1056,1046,1036,1026,1018,1008,1000,992,984,976,968,960,952,946,938,932,924,918,912,906,898,892,888,882,876,870,864,860,854,848,844,838,834,828,824,820,814,810,806,802,798,794,790,786,782,778,774,770,766,762,758,754,752,748,744,740,738,734,730,728,724,722,718,716,712,710,706,704,700,698,696,692,690,686,684,682,678,676,674,672,668,666,664,662,660,656,654,652,650,648,646,644,642,638,636,634,632,630,628,626,624,622,620,618,616,614,612,612,610,608,606,604,602,600,598,596,594,594,592,590,588,586,584,584,582,580,578,576,576,574,572,570,570,568,566,564,564,562,560,560,558,556,554,554,552,550,550,548,546,546,544,542,542,540,540,538,536,536,534,532,532,530,530,528,526,526,524,524,522,522,520,518,518,516,516,514,514,512,512,510,508,508,506,506,504,504,502,502,500,500,498,498,496,496,494,494,492,492,492,490,490,488,488,486,486,484,484,482,482,480,480,480,478,478,476,476,474,474,474,472,472,470,470,468,468,468,466,466,464,464,464,462,462,462,460,460,458,458,458,456,456,454,454,454,452,452,452,450,450,450,448,448,446,446,446,444,444,444,442,442,442,440,440,440,438,438,438,436,436,436,434,434,434,432,432,432,430,430,430,430,428,428,428,426,426,426,424,424,424,424,422,422,422,420,420,420,418,418,418,418,416,416,416,414,414,414,414,412,412,412,412,410,410,410,408,408,408,408,406,406,406,406,404,404,404,404,402,402,402,402,400,400,400,400,398,398,398,398,396,396,396,396,394,394,394,394,392,392,392,392,392,390,390,390,390,388,388,388,388,386,386,386,386,386,384,384,384,384,384,382,382,382,382,380,380,380,380,380,378,378,378,378,378,376,376,376,376,376,374,374,374,374,374,372,372,372,372,372,370,370,370,370,370,368,368,368,368,368,366,366,366,366,366,364,364,364,364,364,364,362,362,362,362,362,360,360,360,360,360,360,358,358,358,358,358,358,356,356,356,356,356,354,354,354,354,354,354,352,352,352,352,352,352,350,350,350,350,350,350,350,348,348,348,348,348,348,346,346,346,346,346,346,344,344,344,344,344,344,344,342,342,342,342,342,342,340,340,340,340,340,340,340,338,338,338,338,338,338,338,336,336,336,336,336,336,336,334,334,334,334,334,334,334,332,332,332,332,332,332,332,330,330,330,330,330,330,330,330,328,328,328,328,328,328,328,326,326,326,326,326,326,326,326,324,324,324,324,324,324,324,324,322,322,322,322,322,322,322,322,320,320,320,320,320,320,320,320,318,318,318,318,318,318,318,318,318,316,316,316,316,316,316,316,316,314,314,314,314,314,314,314,314,314,312,312,312,312,312,312,312,312,312,310,310,310,310,310,310,310,310,310,308,308,308,308,308,308,308,308,308,306,306,306,306,306,306,306,306,306,306,304,304,304,304,304,304,304,304,304,302,302,302,302,302,302,302,302,302,302,300,300,300,300,300,300,300,300,300,300,298,298,298,298,298,298,298,298,298,298,298,296,296,296,296,296,296,296,296,296,296,294,294,294,294,294,294,294,294,294,294,294,292,292,292,292,292,292,292,292,292,292,292,290,290,290,290,290,290,290,290,290,290,290,288,288,288,288,288,288,288,288,288,288,288,288,286,286,286,286,286,286,286,286,286,286,286,286,284,284,284,284,284,284,284,284,284,284,284,284,282,282,282,282,282,282,282,282,282,282,282,282,280,280,280,280,280,280,280,280,280,280,280,280,280,278,278,278,278,278,278,278,278,278,278,278,278,278,276,276,276,276,276,276,276,276,276,276,276,276,276,274,274,274,274,274,274,274,274,274,274,274,274,274,274,272,272,272,272,272,272,272,272,272,272,272,272,272,272,270,270,270,270,270,270,270,270,270,270,270,270,270,270,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,266,266,266,266,266,266,266,266,266,266,266,266,266,266,266,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,260,260,260,260,260,260,260,260,260,260,260,260,260,260,260,260,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,0}; -static uint32_t cs4400f_fast[]={49152, 49152, 31144, 23652, 19538, 16822, 14908, 13442, 12288, 11356, 10590, 9922, 9362, 8886, 8456, 8064, 7728, 7418, 7148, 6882, 6664, 6446, 6252, 6060, 5890, 5740, 5586, 5450, 5322, 5198, 5080, 4968, 4868, 4766, 4674, 4584, 4500, 4418, 4338, 4262, 4194, 4122, 4058, 3996, 3932, 3874, 3816, 3766, 3712, 3662, 3610, 3566, 3518, 3474, 3430, 3388, 3350, 3310, 3272, 3236, 3200, 3164, 3130, 3096, 3062, 3032, 3000, 2972, 2942, 2914, 2884, 2858, 2832, 2806, 2780, 2756, 2732, 2708, 2686, 2662, 2640, 2618, 2596, 2576, 2554, 2536, 2516, 2496, 2478, 2458, 2440, 2422, 2404, 2388, 2370, 2354, 2338, 2320, 2306, 2290, 2276, 2258, 2244, 2230, 2216, 2202, 2188, 2174, 2162, 2148, 2134, 2122, 2108, 2096, 2084, 2072, 2060, 2048, 2036, 2026, 2014, 2002, 1992, 1982, 1970, 1960, 1950, 1940, 1928, 1920, 1908, 1900, 1890, 1880, 1872, 1862, 1852, 1844, 1834, 1826, 1818, 1808, 1800, 1792, 1784, 1776, 1768, 1760, 1752, 1742, 1736, 1728, 1720, 1712, 1704, 1698, 1690, 1684, 1676, 1670, 1662, 1656, 1648, 1642, 1634, 1628, 1622, 1616, 1608, 1602, 1596, 1590, 1584, 1578, 1572, 1566, 1560, 1554, 1548, 1542, 1536, 1532, 1526, 1520, 1514, 1508, 1504, 1498, 1492, 1488, 1482, 1478, 1472, 1466, 1462, 1456, 1452, 1446, 1442, 1438, 1432, 1428, 1424, 1418, 1414, 1410, 1404, 1400, 1396, 1390, 1386, 1382, 1378, 1374, 1370, 1364, 1360, 1356, 1352, 1348, 1344, 1340, 1336, 1332, 1328, 1324, 1320, 1316, 1312, 1308, 1304, 1302, 1298, 1294, 1290, 1286, 1282, 1278, 1276, 1272, 1268, 1264, 1262, 1258, 1254, 1250, 1248, 1244, 1240, 1238, 1234, 1230, 1228, 1224, 1222, 1218, 1214, 1212, 1208, 1206, 1202, 1200, 1196, 1194, 1190, 1186, 1184, 1182, 1178, 1176, 1172, 1170, 1166, 1164, 1162, 1158, 1156, 1152, 1150, 1148, 1144, 1142, 1138, 1136, 1134, 1130, 1128, 1126, 1122, 1120, 1118, 1116, 1112, 1110, 1108, 1106, 1102, 1100, 1098, 1096, 1092, 1090, 1088, 1086, 1082, 1080, 1078, 1076, 1074, 1072, 1068, 1066, 1064, 1062, 1060, 1058, 1056, 1054, 1052, 1048, 1046, 1044, 1042, 1040, 1038, 1036, 1034, 1032, 1030, 1028, 1026, 1024, 1022, 1020, 1018, 1016, 1014, 1012, 1010, 1008, 1006, 1004, 1002, 1000, 998, 996, 994, 992, 990, 988, 986, 984, 982, 980, 978, 976, 974, 972, 972, 970, 968, 966, 964, 962, 960, 958, 956, 956, 954, 952, 950, 948, 946, 944, 944, 942, 940, 938, 936, 934, 934, 932, 930, 928, 926, 926, 924, 922, 920, 918, 918, 916, 914, 912, 912, 910, 908, 906, 904, 904, 902, 900, 898, 898, 896, 894, 892, 892, 890, 888, 888, 886, 884, 882, 882, 880, 878, 878, 876, 874, 874, 872, 870, 868, 868, 866, 864, 864, 862, 860, 860, 858, 856, 856, 854, 852, 852, 850, 848, 848, 846, 846, 844, 842, 842, 840, 838, 838, 836, 834, 834, 832, 832, 830, 828, 828, 826, 826, 824, 822, 822, 820, 820, 818, 816, 816, 814, 814, 812, 812, 810, 808, 808, 806, 806, 804, 802, 802, 800, 800, 798, 798, 796, 796, 794, 792, 792, 790, 790, 788, 788, 786, 786, 784, 784, 782, 782, 780, 780, 778, 778, 776, 774, 774, 772, 772, 770, 770, 768, 768, 766, 766, 764, 764, 762, 762, 760, 760, 758, 758, 758, 756, 756, 754, 754, 752, 752, 750, 750, 748, 748, 746, 746, 744, 744, 742, 742, 740, 740, 738, 738, 738, 736, 736, 734, 734, 732, 732, 730, 730, 730, 728, 728, 726, 726, 724, 724, 722, 722, 722, 720, 720, 718, 718, 718, 716, 716, 714, 714, 712, 712, 712, 710, 710, 708, 708, 708, 706, 706, 704, 704, 702, 702, 702, 700, 700, 698, 698, 698, 696, 696, 694, 694, 694, 692, 692, 692, 690, 690, 688, 688, 688, 686, 686, 684, 684, 684, 682, 682, 682, 680, 680, 680, 678, 678, 676, 676, 676, 674, 674, 674, 672, 672, 670, 670, 670, 668, 668, 668, 666, 666, 666, 664, 664, 664, 662, 662, 660, 660, 660, 658, 658, 658, 656, 656, 656, 654, 654, 654, 652, 652, 652, 650, 650, 650, 648, 648, 648, 646, 646, 646, 644, 644, 644, 642, 642, 642, 640, 640, 640, 640, 638, 638, 638, 636, 636, 636, 634, 634, 634, 632, 632, 632, 630, 630, 630, 630, 628, 628, 628, 626, 626, 626, 624, 624, 624, 624, 622, 622, 622, 620, 620, 620, 618, 618, 618, 618, 616, 616, 616, 614, 614, 614, 614, 612, 612, 612, 610, 610, 610, 610, 608, 608, 608, 606, 606, 606, 606, 604, 604, 604, 604, 602, 602, 602, 600, 600, 600, 600, 598, 598, 598, 598, 596, 596, 596, 594, 594, 594, 594, 592, 592, 592, 592, 590, 590, 590, 590, 588, 588, 588, 586, 586, 586, 586, 584, 584, 584, 584, 582, 582, 582, 582, 580, 580, 580, 580, 578, 578, 578, 578, 576, 576, 576, 576, 574, 574, 574, 574, 574, 572, 572, 572, 572, 570, 570, 570, 570, 568, 568, 568, 568, 566, 566, 566, 566, 564, 564, 564, 564, 564, 562, 562, 562, 562, 560, 560, 560, 560, 558, 558, 558, 558, 558, 556, 556, 556, 556, 554, 554, 554, 554, 554, 552, 552, 552, 552, 550, 550, 550, 550, 550, 548, 548, 548, 548, 546, 546, 546, 546, 546, 544, 544, 544, 544, 544, 542, 542, 542, 542, 540, 540, 540, 540, 540, 538, 538, 538, 538, 538, 536, 536, 536, 536, 536, 534, 534, 534, 534, 534, 532, 532, 532, 532, 532, 530, 530, 530, 530, 530, 528, 528, 528, 528, 528, 526, 526, 526, 526, 526, 524, 524, 524, 524, 524, 522, 522, 522, 522, 522, 520, 520, 520, 520, 520, 520, 518, 518, 518, 518, 518, 516, 516, 516, 516, 516, 514, 514, 514, 514, 514, 514, 512, 512, 512, 512, 512, 510, 510, 510, 510, 510, 510, 508, 508, 508, 508, 508, 506, 506, 506, 506, 506, 506, 504, 504, 504, 504, 504, 502, 502, 502, 502, 502, 502, 500, 500, 500, 500, 500, 500, 498, 498, 498, 498, 498, 498, 496, 496, 496, 496, 496, 496, 494, 494, 494, 494, 494, 494, 492, 492, 492, 492, 492, 492, 490, 490, 490, 490, 490, 490, 488, 488, 488, 488, 488, 488, 486, 486, 486, 486, 486, 486, 484, 484, 484, 484, 484, 484, 484, 0, 0, 0, 0, 0}; -static uint32_t cs8400f_fast[]={8743, 8205, 7017, 6201, 4938, 4016, 3371, 2966, 2682, 2469, 2296, 2159, 2041, 1942, 1857, 1782, 1716, 1656, 1602, 1554, 1510, 1470, 1432, 1398, 1366, 1336, 1309, 1282, 1258, 1235, 1213, 1193, 1173, 1154, 1137, 1120, 1104, 1089, 1074, 1060, 1047, 1034, 1022, 1010, 998, 987, 976, 966, 956, 946, 937, 928, 919, 911, 902, 894, 887, 879, 872, 864, 858, 851, 844, 838, 832, 825, 819, 814, 808, 802, 797, 792, 786, 781, 776, 771, 766, 762, 757, 753, 748, 744, 740, 736, 731, 728, 724, 720, 716, 712, 709, 705, 701, 698, 695, 691, 688, 685, 682, 679, 675, 672, 669, 666, 664, 661, 658, 655, 652, 650, 647, 644, 642, 639, 637, 634, 632, 629, 627, 625, 622, 620, 618, 616, 613, 611, 609, 607, 605, 603, 601, 599, 597, 595, 593, 591, 589, 587, 585, 583, 581, 580, 578, 576, 574, 573, 571, 569, 567, 566, 564, 563, 561, 559, 558, 556, 555, 553, 552, 550, 549, 547, 546, 544, 543, 542, 540, 539, 537, 536, 535, 533, 532, 531, 529, 528, 527, 526, 524, 523, 522, 521, 519, 518, 517, 516, 515, 514, 512, 511, 510, 509, 508, 507, 506, 505, 504, 502, 501, 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, 488, 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, 477, 476, 475, 474, 473, 472, 472, 471, 470, 469, 468, 467, 467, 466, 465, 464, 464, 463, 462, 461, 460, 460, 459, 458, 457, 457, 456, 455, 454, 454, 453, 452, 452, 451, 450, 449, 449, 448, 448, 447, 446, 446, 445, 444, 444, 443, 442, 442, 441, 440, 440, 439, 438, 438, 437, 437, 436, 435, 435, 434, 434, 433, 432, 432, 431, 431, 430, 429, 429, 428, 428, 427, 427, 426, 425, 425, 424, 424, 423, 423, 422, 422, 421, 421, 420, 420, 419, 419, 418, 417, 417, 416, 416, 416, 415, 414, 414, 414, 413, 412, 412, 412, 411, 411, 410, 410, 409, 409, 408, 408, 407, 407, 406, 406, 406, 405, 405, 404, 404, 403, 403, 402, 402, 402, 401, 401, 400, 400, 399, 399, 398, 398, 398, 397, 397, 396, 396, 396, 395, 395, 394, 394, 394, 393, 393, 392, 392, 392, 391, 391, 391, 390, 390, 389, 389, 389, 388, 388, 387, 387, 387, 386, 386, 385, 385, 385, 384, 384, 384, 383, 383, 383, 382, 382, 382, 381, 381, 381, 380, 380, 380, 379, 379, 379, 378, 378, 378, 377, 377, 377, 376, 376, 376, 375, 375, 375, 374, 374, 374, 373, 373, 373, 372, 372, 372, 371, 371, 371, 370, 370, 370, 370, 369, 369, 369, 368, 368, 368, 368, 367, 367, 367, 367, 366, 366, 366, 365, 365, 365, 365, 364, 364, 364, 363, 363, 363, 363, 362, 362, 362, 362, 361, 361, 361, 360, 360, 360, 360, 359, 359, 359, 358, 358, 358, 358, 357, 357, 357, 356, 356, 356, 356, 355, 355, 355, 355, 354, 354, 354, 354, 354, 353, 353, 353, 353, 352, 352, 352, 352, 352, 351, 351, 351, 351, 350, 350, 350, 350, 350, 349, 349, 349, 349, 348, 348, 348, 348, 348, 347, 347, 347, 347, 346, 346, 346, 346, 346, 345, 345, 345, 345, 344, 344, 344, 344, 344, 343, 343, 343, 343, 342, 342, 342, 342, 342, 341, 341, 341, 341, 340, 340, 340, 340, 340, 339, 339, 339, 339, 338, 338, 338, 338, 338, 337, 337, 337, 337, 337, 337, 336, 336, 336, 336, 336, 336, 335, 335, 335, 335, 335, 335, 334, 334, 334, 334, 334, 334, 333, 333, 333, 333, 333, 333, 332, 332, 332, 332, 332, 332, 331, 331, 331, 331, 331, 331, 330, 330, 330, 330, 330, 330, 329, 329, 329, 329, 329, 329, 328, 328, 328, 328, 328, 328, 327, 327, 327, 327, 327, 327, 326, 326, 326, 326, 326, 326, 325, 325, 325, 325, 325, 325, 324, 324, 324, 324, 324, 324, 323, 323, 323, 323, 323, 323, 322, 322, 322, 322, 322, 322, 321, 321, 321, 321, 321, 321, 320, 320, 320, 320, 320, 320, 319, 319, 319, 319, 319, 319, 318, 318, 318, 318, 318, 318, 317, 317, 317, 317, 317, 317, 316, 316, 316, 316, 316, 316, 315, 315, 315, 315, 315, 315, 314, 314, 314, 314, 314, 314, 313, 313, 313, 313, 313, 313, 312, 312, 312, 312, 312, 312, 311, 311, 311, 311, 311, 311, 310, 310, 310, 310, 310, 310, 309, 309, 309, 309, 309, 309, 308, 308, 308, 308, 308, 308, 307, 307, 307, 307, 307, 307, 306, 306, 306, 306, 306, 306, 305, 305, 305, 305, 305, 305, 304, 304, 304, 304, 304, 304, 303, 303, 303, 303, 303, 303, 302, 302, 302, 302, 302, 302, 302, 301, 301, 301, 301, 301, 301, 301, 301, 301, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 0, 0, 0, 0, 0 }; -static uint32_t motor_speeds_cs8600f[] = { - 54612, 54612, 34604, 26280, 21708, 18688, 16564, 14936, 13652, 12616, - 11768, 11024, 10400, 9872, 9392, 8960, 8584, 8240, 7940, 7648, - 7404, 7160, 6948, 6732, 6544, 6376, 6208, 6056, 5912, 5776, - 5644, 5520, 5408, 5292, 5192, 5092, 5000, 4908, 4820, 4736, - 4660, 4580, 4508, 4440, 4368, 4304, 4240, 4184, 4124, 4068, - 4012, 3960, 3908, 3860, 3808, 3764, 3720, 3676, 3636, 3592, - 3552, 3516, 3476, 3440, 3400, 3368, 3332, 3300, 3268, 3236, - 3204, 3176, 3148, 3116, 3088, 3060, 3036, 3008, 2984, 2956, - 2932, 2908, 2884, 2860, 2836, 2816, 2796, 2772, 2752, 2732, - 2708, 2692, 2672, 2652, 2632, 2616, 2596, 2576, 2560, 2544, - 2528, 2508, 2492, 2476, 2460, 2444, 2432, 2416, 2400, 2384, - 2372, 2356, 2344, 2328, 2316, 2304, 2288, 2276, 2260, 2252, - 2236, 2224, 2212, 2200, 2188, 2176, 2164, 2156, 2144, 2132, - 2120, 2108, 2100, 2088, 2080, 2068, 2056, 2048, 2036, 2028, - 2020, 2008, 2000, 1988, 1980, 1972, 1964, 1952, 1944, 1936, - 1928, 1920, 1912, 1900, 1892, 1884, 1876, 1868, 1860, 1856, - 1848, 1840, 1832, 1824, 1816, 1808, 1800, 1796, 1788, 1780, - 1772, 1764, 1760, 1752, 1744, 1740, 1732, 1724, 1720, 1712, - 1708, 1700, 1692, 1688, 1680, 1676, 1668, 1664, 1656, 1652, - 1644, 1640, 1636, 1628, 1624, 1616, 1612, 1608, 1600, 1596, - 1592, 1584, 1580, 1576, 1568, 1564, 1560, 1556, 1548, 1544, - 1540, 1536, 1528, 1524, 1520, 1516, 1512, 1508, 1500, 0 -}; - -/** - * database of motor profiles - */ - -static Motor_Profile gl843_motors[]={ - /* KV-SS080 */ - {MOTOR_KVSS080, 8000, 1, kvss080}, - /* G4010/G4050/CS4400F */ - {MOTOR_G4050, 8016, 1, g4050_fast}, - {MOTOR_G4050, 11640, 1, cs4400f_fast}, - {MOTOR_G4050, 15624, 1, g4050_xpa}, - {MOTOR_G4050, 42752, 2, g4050_max}, - {MOTOR_G4050, 56064, 1, g4050_high}, - /* CS8400F */ - {MOTOR_CS8400F, 7200, 0, cs8400f_fast}, - { MOTOR_CS8600F, 0x59d8, 2, motor_speeds_cs8600f }, // FIXME: if the exposure is lower then we'll select another motor - { 0, 0, 0, NULL }, -}; diff --git a/backend/genesys_gl846.cc b/backend/genesys_gl846.cc deleted file mode 100644 index c5294b8..0000000 --- a/backend/genesys_gl846.cc +++ /dev/null @@ -1,3393 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2012-2013 Stéphane Voltz - - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -/** @file - * - * This file handles GL846 and GL845 ASICs since they are really close to each other. - */ - -#define DEBUG_DECLARE_ONLY - -#include "genesys_gl846.h" - -#include - -/**************************************************************************** - Mid level functions - ****************************************************************************/ - -static SANE_Bool -gl846_get_fast_feed_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, REG02); - if (r && (r->value & REG02_FASTFED)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl846_get_filter_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_FILTER)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl846_get_lineart_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_LINEART)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl846_get_bitset_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_BITSET)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl846_get_gain4_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, 0x06); - if (r && (r->value & REG06_GAIN4)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl846_test_buffer_empty_bit (SANE_Byte val) -{ - if (val & REG41_BUFEMPTY) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl846_test_motor_flag_bit (SANE_Byte val) -{ - if (val & REG41_MOTORENB) - return SANE_TRUE; - return SANE_FALSE; -} - -/** - * compute the step multiplier used - */ -static int -gl846_get_step_multiplier (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - int value = 1; - - r = sanei_genesys_get_address (regs, 0x9d); - if (r != NULL) - { - value = (r->value & 0x0f)>>1; - value = 1 << value; - } - DBG (DBG_io, "%s: step multiplier is %d\n", __func__, value); - return value; -} - -/** @brief sensor profile - * search for the database of motor profiles and get the best one. Each - * profile is at a specific dpihw. Use LiDE 110 table by default. - * @param sensor_type sensor id - * @param dpi hardware dpi for the scan - * @return a pointer to a Sensor_Profile struct - */ -static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi) -{ - unsigned int i; - int idx; - - i=0; - idx=-1; - while(i=dpi - && sensors[i].dpimodel->ccd_type, xres); - return sensor_profile->exposure; -} - - -/** @brief sensor specific settings -*/ -static void gl846_setup_sensor(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set * regs, int dpi) -{ - GenesysRegister *r; - int dpihw; - uint16_t exp; - - DBGSTART; - dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpi); - - for (uint16_t addr = 0x16; addr < 0x1e; addr++) { - regs->set8(addr, sensor.custom_regs.get_value(addr)); - } - - for (uint16_t addr = 0x52; addr < 0x52 + 9; addr++) { - regs->set8(addr, sensor.custom_regs.get_value(addr)); - } - - /* set EXPDUMMY and CKxMAP */ - dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpi); - Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw); - - sanei_genesys_set_reg_from_set(regs,REG_EXPDMY,(uint8_t)((sensor_profile->expdummy) & 0xff)); - - /* if no calibration has been done, set default values for exposures */ - exp = sensor.exposure.red; - if(exp==0) - { - exp=sensor_profile->expr; - } - sanei_genesys_set_double(regs,REG_EXPR,exp); - - exp = sensor.exposure.green; - if(exp==0) - { - exp=sensor_profile->expg; - } - sanei_genesys_set_double(regs,REG_EXPG,exp); - - exp = sensor.exposure.blue; - if(exp==0) - { - exp=sensor_profile->expb; - } - sanei_genesys_set_double(regs,REG_EXPB,exp); - - sanei_genesys_set_triple(regs,REG_CK1MAP,sensor_profile->ck1map); - sanei_genesys_set_triple(regs,REG_CK3MAP,sensor_profile->ck3map); - sanei_genesys_set_triple(regs,REG_CK4MAP,sensor_profile->ck4map); - - /* order of the sub-segments */ - dev->order=sensor_profile->order; - - r = sanei_genesys_get_address (regs, 0x17); - r->value = sensor_profile->r17; - - DBGCOMPLETED; -} - - -/** @brief set all registers to default values . - * This function is called only once at the beginning and - * fills register startup values for registers reused across scans. - * Those that are rarely modified or not modified are written - * individually. - * @param dev device structure holding register set to initialize - */ -static void -gl846_init_registers (Genesys_Device * dev) -{ - DBGSTART; - - dev->reg.clear(); - - SETREG (0x01,0x60); - SETREG (0x02,0x38); - SETREG (0x03,0x03); - SETREG (0x04,0x22); - SETREG (0x05,0x60); - SETREG (0x06,0x10); - SETREG (0x08,0x60); - SETREG (0x09,0x00); - SETREG (0x0a,0x00); - SETREG (0x0b,0x8b); - SETREG (0x0c,0x00); - SETREG (0x0d,0x00); - SETREG (0x10,0x00); - SETREG (0x11,0x00); - SETREG (0x12,0x00); - SETREG (0x13,0x00); - SETREG (0x14,0x00); - SETREG (0x15,0x00); - SETREG (0x16,0xbb); - SETREG (0x17,0x13); - SETREG (0x18,0x10); - SETREG (0x19,0x2a); - SETREG (0x1a,0x34); - SETREG (0x1b,0x00); - SETREG (0x1c,0x20); - SETREG (0x1d,0x06); - SETREG (0x1e,0xf0); - SETREG (0x1f,0x01); - SETREG (0x20,0x03); - SETREG (0x21,0x10); - SETREG (0x22,0x60); - SETREG (0x23,0x60); - SETREG (0x24,0x60); - SETREG (0x25,0x00); - SETREG (0x26,0x00); - SETREG (0x27,0x00); - SETREG (0x2c,0x00); - SETREG (0x2d,0x00); - SETREG (0x2e,0x80); - SETREG (0x2f,0x80); - SETREG (0x30,0x00); - SETREG (0x31,0x00); - SETREG (0x32,0x00); - SETREG (0x33,0x00); - SETREG (0x34,0x1f); - SETREG (0x35,0x00); - SETREG (0x36,0x40); - SETREG (0x37,0x00); - SETREG (0x38,0x2a); - SETREG (0x39,0xf8); - SETREG (0x3d,0x00); - SETREG (0x3e,0x00); - SETREG (0x3f,0x01); - SETREG (0x52,0x02); - SETREG (0x53,0x04); - SETREG (0x54,0x06); - SETREG (0x55,0x08); - SETREG (0x56,0x0a); - SETREG (0x57,0x00); - SETREG (0x58,0x59); - SETREG (0x59,0x31); - SETREG (0x5a,0x40); - SETREG (0x5e,0x1f); - SETREG (0x5f,0x01); - SETREG (0x60,0x00); - SETREG (0x61,0x00); - SETREG (0x62,0x00); - SETREG (0x63,0x00); - SETREG (0x64,0x00); - SETREG (0x65,0x00); - SETREG (0x67,0x7f); - SETREG (0x68,0x7f); - SETREG (0x69,0x01); - SETREG (0x6a,0x01); - SETREG (0x70,0x01); - SETREG (0x71,0x00); - SETREG (0x72,0x02); - SETREG (0x73,0x01); - SETREG (0x74,0x00); - SETREG (0x75,0x00); - SETREG (0x76,0x00); - SETREG (0x77,0x00); - SETREG (0x78,0x00); - SETREG (0x79,0x3f); - SETREG (0x7a,0x00); - SETREG (0x7b,0x09); - SETREG (0x7c,0x99); - SETREG (0x7d,0x20); - SETREG (0x7f,0x05); - SETREG (0x80,0x4f); - SETREG (0x87,0x02); - SETREG (0x94,0xff); - SETREG (0x9d,0x04); - SETREG (0x9e,0x00); - SETREG (0xa1,0xe0); - SETREG (0xa2,0x1f); - SETREG (0xab,0xc0); - SETREG (0xbb,0x00); - SETREG (0xbc,0x0f); - SETREG (0xdb,0xff); - SETREG (0xfe,0x08); - SETREG (0xff,0x02); - SETREG (0x98,0x20); - SETREG (0x99,0x00); - SETREG (0x9a,0x90); - SETREG (0x9b,0x00); - SETREG (0xf8,0x05); - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - /* fine tune upon device description */ - dev->reg.find_reg(0x05).value &= ~REG05_DPIHW; - switch (sensor.optical_res) - { - case 600: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_600; - break; - case 1200: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_1200; - break; - case 2400: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; - break; - case 4800: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_4800; - break; - } - - /* initalize calibration reg */ - dev->calib_reg = dev->reg; - - DBGCOMPLETED; -} - -/**@brief send slope table for motor movement - * Send slope_table in machine byte order - * @param dev device to send slope table - * @param table_nr index of the slope table in ASIC memory - * Must be in the [0-4] range. - * @param slope_table pointer to 16 bit values array of the slope table - * @param steps number of elements in the slope table - */ -static SANE_Status -gl846_send_slope_table (Genesys_Device * dev, int table_nr, - uint16_t * slope_table, int steps) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - char msg[10000]; - - DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, - table_nr, steps); - - /* sanity check */ - if(table_nr<0 || table_nr>4) - { - DBG (DBG_error, "%s: invalid table number %d!\n", __func__, table_nr); - return SANE_STATUS_INVAL; - } - - std::vector table(steps * 2); - for (i = 0; i < steps; i++) - { - table[i * 2] = slope_table[i] & 0xff; - table[i * 2 + 1] = slope_table[i] >> 8; - } - - if (DBG_LEVEL >= DBG_io) - { - sprintf (msg, "write slope %d (%d)=", table_nr, steps); - for (i = 0; i < steps; i++) - { - sprintf (msg+strlen(msg), "%d", slope_table[i]); - } - DBG (DBG_io, "%s: %s\n", __func__, msg); - } - - /* slope table addresses are fixed */ - status = sanei_genesys_write_ahb(dev, 0x10000000 + 0x4000 * table_nr, steps * 2, table.data()); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: write to AHB failed writing slope table %d (%s)\n", __func__, table_nr, - sane_strstatus(status)); - } - - DBGCOMPLETED; - return status; -} - -/** - * Set register values of Analog Device type frontend - * */ -static SANE_Status -gl846_set_adi_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - uint8_t val8; - - DBGSTART; - - /* wait for FE to be ready */ - status = sanei_genesys_get_status (dev, &val8); - while (val8 & REG41_FEBUSY) - { - sanei_genesys_sleep_ms(10); - status = sanei_genesys_get_status (dev, &val8); - }; - - if (set == AFE_INIT) - { - DBG (DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); - dev->frontend = dev->frontend_initial; - } - - /* write them to analog frontend */ - status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to write reg0: %s\n", __func__, - sane_strstatus (status)); - return status; - } - status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to write reg1: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - for (i = 0; i < 3; i++) - { - status = sanei_genesys_fe_write_data(dev, 0x02 + i, dev->frontend.get_gain(i)); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to write gain %d: %s\n", __func__, i, - sane_strstatus (status)); - return status; - } - } - for (i = 0; i < 3; i++) - { - status = sanei_genesys_fe_write_data(dev, 0x05 + i, dev->frontend.get_offset(i)); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to write offset %d: %s\n", __func__, i, - sane_strstatus (status)); - return status; - } - } - - DBGCOMPLETED; - return status; -} - -static SANE_Status -gl846_homsnr_gpio(Genesys_Device *dev) -{ -uint8_t val; -SANE_Status status=SANE_STATUS_GOOD; - - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - val |= 0x41; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - - return status; -} - -/* Set values of analog frontend */ -static SANE_Status -gl846_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set) -{ - (void) sensor; - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s (%s)\n", __func__, set == AFE_INIT ? "init" : set == AFE_SET ? "set" : - set == AFE_POWER_SAVE ? "powersave" : "huh?"); - - /* route to specific analog frontend setup */ - switch (dev->reg.find_reg(0x04).value & REG04_FESET) - { - case 0x02: /* ADI FE */ - status = gl846_set_adi_fe(dev, set); - break; - default: - DBG(DBG_proc, "%s(): unsupported frontend type %d\n", __func__, - dev->reg.find_reg(0x04).value & REG04_FESET); - status = SANE_STATUS_UNSUPPORTED; - } - - DBGCOMPLETED; - return status; -} - - -/** @brief set up motor related register for scan - */ -static SANE_Status -gl846_init_motor_regs_scan (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, - unsigned int scan_exposure_time, - float scan_yres, - int scan_step_type, - unsigned int scan_lines, - unsigned int scan_dummy, - unsigned int feed_steps, - int scan_power_mode, - unsigned int flags) -{ - SANE_Status status = SANE_STATUS_GOOD; - int use_fast_fed; - unsigned int fast_dpi; - uint16_t scan_table[SLOPE_TABLE_SIZE]; - uint16_t fast_table[SLOPE_TABLE_SIZE]; - int scan_steps, fast_steps, factor; - unsigned int feedl, dist; - GenesysRegister *r; - uint32_t z1, z2; - unsigned int min_restep = 0x20; - uint8_t val; - int fast_step_type; - unsigned int ccdlmt,tgtime; - - DBGSTART; - DBG(DBG_proc, "%s : scan_exposure_time=%d, scan_yres=%g, scan_step_type=%d, scan_lines=%d, " - "scan_dummy=%d, feed_steps=%d, scan_power_mode=%d, flags=%x\n", __func__, scan_exposure_time, - scan_yres, scan_step_type, scan_lines, scan_dummy, feed_steps, scan_power_mode, flags); - - /* get step multiplier */ - factor = gl846_get_step_multiplier (reg); - - use_fast_fed=0; - /* no fast fed since feed works well */ - if(dev->settings.yres==4444 && feed_steps>100 - && ((flags & MOTOR_FLAG_FEED)==0)) - { - use_fast_fed=1; - } - DBG (DBG_io, "%s: use_fast_fed=%d\n", __func__, use_fast_fed); - - sanei_genesys_set_triple(reg, REG_LINCNT, scan_lines); - DBG (DBG_io, "%s: lincnt=%d\n", __func__, scan_lines); - - /* compute register 02 value */ - r = sanei_genesys_get_address (reg, REG02); - r->value = 0x00; - sanei_genesys_set_motor_power(*reg, true); - - if (use_fast_fed) - r->value |= REG02_FASTFED; - else - r->value &= ~REG02_FASTFED; - - if (flags & MOTOR_FLAG_AUTO_GO_HOME) - r->value |= REG02_AGOHOME | REG02_NOTHOME; - - if ((flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) - ||(scan_yres>=sensor.optical_res)) - { - r->value |= REG02_ACDCDIS; - } - - /* scan and backtracking slope table */ - sanei_genesys_slope_table(scan_table, - &scan_steps, - scan_yres, - scan_exposure_time, - dev->motor.base_ydpi, - scan_step_type, - factor, - dev->model->motor_type, - gl846_motors); - RIE(gl846_send_slope_table (dev, SCAN_TABLE, scan_table, scan_steps*factor)); - RIE(gl846_send_slope_table (dev, BACKTRACK_TABLE, scan_table, scan_steps*factor)); - - /* fast table */ - fast_dpi=sanei_genesys_get_lowest_ydpi(dev); - fast_step_type=scan_step_type; - if(scan_step_type>=2) - { - fast_step_type=2; - } - - sanei_genesys_slope_table(fast_table, - &fast_steps, - fast_dpi, - scan_exposure_time, - dev->motor.base_ydpi, - fast_step_type, - factor, - dev->model->motor_type, - gl846_motors); - - /* manual override of high start value */ - fast_table[0]=fast_table[1]; - - RIE(gl846_send_slope_table (dev, STOP_TABLE, fast_table, fast_steps*factor)); - RIE(gl846_send_slope_table (dev, FAST_TABLE, fast_table, fast_steps*factor)); - RIE(gl846_send_slope_table (dev, HOME_TABLE, fast_table, fast_steps*factor)); - - /* correct move distance by acceleration and deceleration amounts */ - feedl=feed_steps; - if (use_fast_fed) - { - feedl<<=fast_step_type; - dist=(scan_steps+2*fast_steps)*factor; - /* TODO read and decode REGAB */ - r = sanei_genesys_get_address (reg, 0x5e); - dist += (r->value & 31); - /* FEDCNT */ - r = sanei_genesys_get_address (reg, REG_FEDCNT); - dist += r->value; - } - else - { - feedl<<=scan_step_type; - dist=scan_steps*factor; - if (flags & MOTOR_FLAG_FEED) - dist *=2; - } - DBG (DBG_io2, "%s: scan steps=%d\n", __func__, scan_steps); - DBG (DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); - - /* check for overflow */ - if(distvalue & REG0C_CCDLMT)+1; - - r = sanei_genesys_get_address (reg, REG1C); - tgtime=1<<(r->value & REG1C_TGTIME); - - /* hi res motor speed GPIO */ - /* - RIE (sanei_genesys_read_register (dev, REG6C, &effective)); - */ - - /* if quarter step, bipolar Vref2 */ - /* XXX STEF XXX GPIO - if (scan_step_type > 1) - { - if (scan_step_type < 3) - { - val = effective & ~REG6C_GPIO13; - } - else - { - val = effective | REG6C_GPIO13; - } - } - else - { - val = effective; - } - RIE (sanei_genesys_write_register (dev, REG6C, val)); - */ - - /* effective scan */ - /* - RIE (sanei_genesys_read_register (dev, REG6C, &effective)); - val = effective | REG6C_GPIO10; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - */ - - if(dev->model->gpo_type==GPO_IMG101) - { - if(scan_yres==sanei_genesys_compute_dpihw(dev, sensor,scan_yres)) - { - val=1; - } - else - { - val=0; - } - RIE (sanei_genesys_write_register (dev, REG7E, val)); - } - - min_restep=scan_steps/2-1; - if (min_restep < 1) - min_restep = 1; - r = sanei_genesys_get_address (reg, REG_FWDSTEP); - r->value = min_restep; - r = sanei_genesys_get_address (reg, REG_BWDSTEP); - r->value = min_restep; - - sanei_genesys_calculate_zmode2(use_fast_fed, - scan_exposure_time*ccdlmt*tgtime, - scan_table, - scan_steps*factor, - feedl, - min_restep*factor, - &z1, - &z2); - - DBG(DBG_info, "%s: z1 = %d\n", __func__, z1); - sanei_genesys_set_triple(reg, REG60, z1 | (scan_step_type << (16+REG60S_STEPSEL))); - - DBG(DBG_info, "%s: z2 = %d\n", __func__, z2); - sanei_genesys_set_triple(reg, REG63, z2 | (scan_step_type << (16+REG63S_FSTPSEL))); - - r = sanei_genesys_get_address (reg, 0x1e); - r->value &= 0xf0; /* 0 dummy lines */ - r->value |= scan_dummy; /* dummy lines */ - - r = sanei_genesys_get_address (reg, REG67); - r->value = 0x7f; - - r = sanei_genesys_get_address (reg, REG68); - r->value = 0x7f; - - r = sanei_genesys_get_address (reg, REG_STEPNO); - r->value = scan_steps; - - r = sanei_genesys_get_address (reg, REG_FASTNO); - r->value = scan_steps; - - r = sanei_genesys_get_address (reg, REG_FSHDEC); - r->value = scan_steps; - - r = sanei_genesys_get_address (reg, REG_FMOVNO); - r->value = fast_steps; - - r = sanei_genesys_get_address (reg, REG_FMOVDEC); - r->value = fast_steps; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** @brief set up registers related to sensor - * Set up the following registers - 0x01 - 0x03 - 0x10-0x015 R/G/B exposures - 0x19 EXPDMY - 0x2e BWHI - 0x2f BWLO - 0x04 - 0x87 - 0x05 - 0x2c,0x2d DPISET - 0x30,0x31 STRPIXEL - 0x32,0x33 ENDPIXEL - 0x35,0x36,0x37 MAXWD [25:2] (>>2) - 0x38,0x39 LPERIOD - 0x34 DUMMY - */ -static SANE_Status -gl846_init_optical_regs_scan (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, - unsigned int exposure_time, - int used_res, - unsigned int start, - unsigned int pixels, - int channels, - int depth, - SANE_Bool half_ccd, ColorFilter color_filter, int flags) -{ - unsigned int words_per_line; - unsigned int startx, endx, used_pixels; - unsigned int dpiset, dpihw,segnb,cksel,factor; - unsigned int bytes; - GenesysRegister *r; - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s : exposure_time=%d, used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " - "half_ccd=%d, flags=%x\n", __func__, exposure_time, used_res, start, pixels, channels, depth, - half_ccd, flags); - - /* resolution is divided according to CKSEL */ - r = sanei_genesys_get_address (reg, REG18); - cksel= (r->value & REG18_CKSEL)+1; - DBG(DBG_io2, "%s: cksel=%d\n", __func__, cksel); - - /* to manage high resolution device while keeping good - * low resolution scanning speed, we make hardware dpi vary */ - dpihw=sanei_genesys_compute_dpihw(dev, sensor, used_res * cksel); - factor=sensor.optical_res/dpihw; - DBG(DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); - - /* sensor parameters */ - Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, dpihw); - gl846_setup_sensor(dev, sensor, reg, dpihw); - dpiset = used_res * cksel; - - /* start and end coordinate in optical dpi coordinates */ - startx = start/cksel+sensor.CCD_start_xoffset; - used_pixels=pixels/cksel; - - /* end of sensor window */ - endx = startx + used_pixels; - - /* sensors are built from 600 dpi segments for LiDE 100/200 - * and 1200 dpi for the 700F */ - if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR) - { - segnb=dpihw/600; - } - else - { - segnb=1; - } - - /* compute pixel coordinate in the given dpihw space, - * taking segments into account */ - startx/=factor*segnb; - endx/=factor*segnb; - dev->len=endx-startx; - dev->dist=0; - dev->skip=0; - - /* in cas of multi-segments sensor, we have to add the witdh - * of the sensor crossed by the scan area */ - if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR && segnb>1) - { - dev->dist = sensor_profile->segcnt; - } - - /* use a segcnt rounded to next even number */ - endx += ((dev->dist+1)&0xfffe)*(segnb-1); - used_pixels=endx-startx; - - status = gl846_set_fe(dev, sensor, AFE_SET); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* enable shading */ - r = sanei_genesys_get_address (reg, REG01); - r->value &= ~REG01_SCAN; - r->value |= REG01_SHDAREA; - if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || - (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) - { - r->value &= ~REG01_DVDSET; - } - else - { - r->value |= REG01_DVDSET; - } - - r = sanei_genesys_get_address (reg, REG03); - r->value &= ~REG03_AVEENB; - - sanei_genesys_set_lamp_power(dev, sensor, *reg, !(flags & OPTICAL_FLAG_DISABLE_LAMP)); - - /* BW threshold */ - r = sanei_genesys_get_address (reg, 0x2e); - r->value = dev->settings.threshold; - r = sanei_genesys_get_address (reg, 0x2f); - r->value = dev->settings.threshold; - - /* monochrome / color scan */ - r = sanei_genesys_get_address (reg, REG04); - switch (depth) - { - case 1: - r->value &= ~REG04_BITSET; - r->value |= REG04_LINEART; - break; - case 8: - r->value &= ~(REG04_LINEART | REG04_BITSET); - break; - case 16: - r->value &= ~REG04_LINEART; - r->value |= REG04_BITSET; - break; - } - - r->value &= ~(REG04_FILTER | REG04_AFEMOD); - if (channels == 1) - { - switch (color_filter) - { - case ColorFilter::RED: - r->value |= 0x24; - break; - case ColorFilter::BLUE: - r->value |= 0x2c; - break; - case ColorFilter::GREEN: - r->value |= 0x28; - break; - default: - break; // should not happen - } - } - else - r->value |= 0x20; /* mono */ - - /* register 05 */ - r = sanei_genesys_get_address (reg, REG05); - - /* set up dpihw */ - r->value &= ~REG05_DPIHW; - switch(dpihw) - { - case 600: - r->value |= REG05_DPIHW_600; - break; - case 1200: - r->value |= REG05_DPIHW_1200; - break; - case 2400: - r->value |= REG05_DPIHW_2400; - break; - case 4800: - r->value |= REG05_DPIHW_4800; - break; - } - - /* enable gamma tables */ - if (flags & OPTICAL_FLAG_DISABLE_GAMMA) - r->value &= ~REG05_GMMENB; - else - r->value |= REG05_GMMENB; - - /* CIS scanners can do true gray by setting LEDADD */ - /* we set up LEDADD only when asked */ - if (dev->model->is_cis == SANE_TRUE) - { - r = sanei_genesys_get_address (reg, 0x87); - r->value &= ~REG87_LEDADD; - if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) - { - r->value |= REG87_LEDADD; - } - /* RGB weighting - r = sanei_genesys_get_address (reg, 0x01); - r->value &= ~REG01_TRUEGRAY; - if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) - { - r->value |= REG01_TRUEGRAY; - }*/ - } - - /* words(16bit) before gamma, conversion to 8 bit or lineart*/ - words_per_line = (used_pixels * dpiset) / dpihw; - bytes=depth/8; - if (depth == 1) - { - words_per_line = (words_per_line+7)/8 ; - dev->len = (dev->len >> 3) + ((dev->len & 7) ? 1 : 0); - dev->dist = (dev->dist >> 3) + ((dev->dist & 7) ? 1 : 0); - } - else - { - words_per_line *= bytes; - dev->dist *= bytes; - dev->len *= bytes; - } - - dev->bpl = words_per_line; - dev->cur=0; - dev->segnb=segnb; - dev->line_interp = 0; - - sanei_genesys_set_double(reg,REG_DPISET,dpiset); - DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); - - sanei_genesys_set_double(reg,REG_STRPIXEL,startx); - sanei_genesys_set_double(reg,REG_ENDPIXEL,endx); - DBG (DBG_io2, "%s: startx=%d\n", __func__, startx); - DBG (DBG_io2, "%s: endx =%d\n", __func__, endx); - - DBG (DBG_io2, "%s: used_pixels=%d\n", __func__, used_pixels); - DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); - DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); - DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long)dev->bpl); - DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); - DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); - DBG (DBG_io2, "%s: dev->segnb =%lu\n", __func__, (unsigned long)dev->segnb); - - words_per_line *= channels; - dev->wpl = words_per_line; - - dev->oe_buffer.clear(); - dev->oe_buffer.alloc(dev->wpl); - - /* MAXWD is expressed in 4 words unit */ - sanei_genesys_set_triple(reg, REG_MAXWD, (words_per_line >> 2)); - DBG (DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); - - sanei_genesys_set_double(reg, REG_LPERIOD, exposure_time); - DBG (DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); - - r = sanei_genesys_get_address (reg, 0x34); - r->value = sensor.dummy_pixel; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* set up registers for an actual scan - * - * this function sets up the scanner to scan in normal or single line mode - */ -static SANE_Status -gl846_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, - SetupParams& params) -{ - params.assert_valid(); - - int used_res; - int start, used_pixels; - int bytes_per_line; - int move; - unsigned int lincnt; - unsigned int oflags; /**> optical flags */ - unsigned int mflags; /**> motor flags */ - int exposure_time; - int stagger; - - int slope_dpi = 0; - int dummy = 0; - int scan_step_type = 1; - int scan_power_mode = 0; - int max_shift; - size_t requested_buffer_size, read_buffer_size; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, params); - - /* we may have 2 domains for ccd: xres below or above half ccd max dpi */ - if (sensor.get_ccd_size_divisor_for_dpi(params.xres) > 1) - { - half_ccd = SANE_TRUE; - } - else - { - half_ccd = SANE_FALSE; - } - - /* optical_res */ - optical_res = sensor.optical_res; - if (half_ccd) - optical_res /= 2; - - /* stagger */ - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * params.yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG(DBG_info, "%s : stagger=%d lines\n", __func__, stagger); - - /* used_res */ - if (params.flags & SCAN_FLAG_USE_OPTICAL_RES) - { - used_res = optical_res; - } - else - { - /* resolution is choosen from a list */ - used_res = params.xres; - } - - /* compute scan parameters values */ - /* pixels are allways given at full optical resolution */ - /* use detected left margin and fixed value */ - /* start */ - /* add x coordinates */ - start = params.startx; - - if (stagger > 0) - start |= 1; - - /* compute correct pixels number */ - /* pixels */ - used_pixels = (params.pixels * optical_res) / params.xres; - - /* round up pixels number if needed */ - if (used_pixels * params.xres < params.pixels * optical_res) - used_pixels++; - - dummy = 3-params.channels; - -/* slope_dpi */ -/* cis color scan is effectively a gray scan with 3 gray lines per color - line and a FILTER of 0 */ - if (dev->model->is_cis) - slope_dpi = params.yres * params.channels; - else - slope_dpi = params.yres; - - slope_dpi = slope_dpi * (1 + dummy); - - exposure_time = gl846_compute_exposure (dev, used_res); - scan_step_type = sanei_genesys_compute_step_type(gl846_motors, dev->model->motor_type, exposure_time); - - DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); - DBG(DBG_info, "%s : scan_step_type=%d\n", __func__, scan_step_type); - -/*** optical parameters ***/ - /* in case of dynamic lineart, we use an internal 8 bit gray scan - * to generate 1 lineart data */ - if (params.flags & SCAN_FLAG_DYNAMIC_LINEART) { - params.depth = 8; - } - - /* we enable true gray for cis scanners only, and just when doing - * scan since color calibration is OK for this mode - */ - oflags = 0; - if(params.flags & SCAN_FLAG_DISABLE_SHADING) - oflags |= OPTICAL_FLAG_DISABLE_SHADING; - if(params.flags & SCAN_FLAG_DISABLE_GAMMA) - oflags |= OPTICAL_FLAG_DISABLE_GAMMA; - if(params.flags & SCAN_FLAG_DISABLE_LAMP) - oflags |= OPTICAL_FLAG_DISABLE_LAMP; - - if (dev->model->is_cis && dev->settings.true_gray) - { - oflags |= OPTICAL_FLAG_ENABLE_LEDADD; - } - - status = gl846_init_optical_regs_scan (dev, sensor, - reg, - exposure_time, - used_res, - start, - used_pixels, - params.channels, - params.depth, - half_ccd, - params.color_filter, - oflags); - - if (status != SANE_STATUS_GOOD) - return status; - -/*** motor parameters ***/ - - /* max_shift */ - max_shift=sanei_genesys_compute_max_shift(dev,params.channels,params.yres,params.flags); - - /* lincnt */ - lincnt = params.lines + max_shift + stagger; - - /* add tl_y to base movement */ - move = params.starty; - DBG(DBG_info, "%s: move=%d steps\n", __func__, move); - - mflags=0; - if(params.flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE) - mflags |= MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE; - if(params.flags & SCAN_FLAG_FEEDING) - mflags |= MOTOR_FLAG_FEED; - - status = gl846_init_motor_regs_scan (dev, sensor, - reg, - exposure_time, - slope_dpi, - scan_step_type, - dev->model->is_cis ? lincnt * - params.channels : lincnt, dummy, move, - scan_power_mode, - mflags); - - if (status != SANE_STATUS_GOOD) - return status; - - - /*** prepares data reordering ***/ - -/* words_per_line */ - bytes_per_line = (used_pixels * used_res) / optical_res; - bytes_per_line = (bytes_per_line * params.channels * params.depth) / 8; - - requested_buffer_size = 8 * bytes_per_line; - - read_buffer_size = - 2 * requested_buffer_size + - ((max_shift + stagger) * used_pixels * params.channels * params.depth) / 8; - - dev->read_buffer.clear(); - dev->read_buffer.alloc(read_buffer_size); - - dev->lines_buffer.clear(); - dev->lines_buffer.alloc(read_buffer_size); - - dev->shrink_buffer.clear(); - dev->shrink_buffer.alloc(requested_buffer_size); - - dev->out_buffer.clear(); - dev->out_buffer.alloc((8 * params.pixels * params.channels * params.depth) / 8); - - dev->read_bytes_left = bytes_per_line * lincnt; - - DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); - dev->read_active = SANE_TRUE; - - dev->current_setup.params = params; - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - dev->current_setup.lines = lincnt; - dev->current_setup.depth = params.depth; - dev->current_setup.channels = params.channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = params.yres; - dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - -/* TODO: should this be done elsewhere? */ - /* scan bytes to send to the frontend */ - /* theory : - target_size = - (params.pixels * params.lines * channels * depth) / 8; - but it suffers from integer overflow so we do the following: - - 1 bit color images store color data byte-wise, eg byte 0 contains - 8 bits of red data, byte 1 contains 8 bits of green, byte 2 contains - 8 bits of blue. - This does not fix the overflow, though. - 644mp*16 = 10gp, leading to an overflow - -- pierre - */ - - dev->total_bytes_read = 0; - if (params.depth == 1) - dev->total_bytes_to_read = - ((params.pixels * params.lines) / 8 + - (((params.pixels * params.lines) % 8) ? 1 : 0)) * - params.channels; - else - dev->total_bytes_to_read = - params.pixels * params.lines * params.channels * (params.depth / 8); - - DBG(DBG_info, "%s: total bytes to send = %lu\n", __func__, (u_long) dev->total_bytes_to_read); -/* END TODO */ - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static void -gl846_calculate_current_setup(Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int channels; - int depth; - int start; - - int used_res; - int used_pixels; - unsigned int lincnt; - int exposure_time; - int stagger; - - int slope_dpi; - int dummy = 0; - int max_shift; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, dev->settings); - - /* channels */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == ScanColorMode::LINEART) - depth = 1; - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - start = (start * sensor.optical_res) / MM_PER_INCH; - - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = start; // not used - params.starty = 0; // not used - params.pixels = dev->settings.pixels; - params.lines = dev->settings.lines; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = dev->settings.scan_mode; - params.color_filter = dev->settings.color_filter; - params.flags = 0; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, params); - -/* half_ccd */ - /* we have 2 domains for ccd: xres below or above half ccd max dpi */ - if (sensor.get_ccd_size_divisor_for_dpi(params.xres) > 1) { - half_ccd = SANE_TRUE; - } else { - half_ccd = SANE_FALSE; - } - - /* optical_res */ - optical_res = sensor.optical_res; - - /* stagger */ - if (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE) - stagger = (4 * params.yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG(DBG_info, "%s: stagger=%d lines\n", __func__, stagger); - - /* resolution is choosen from a fixed list */ - used_res = params.xres; - - /* compute scan parameters values */ - /* pixels are allways given at half or full CCD optical resolution */ - /* use detected left margin and fixed value */ - - /* compute correct pixels number */ - used_pixels = (params.pixels * optical_res) / used_res; - dummy = 3 - params.channels; - - /* cis color scan is effectively a gray scan with 3 gray lines per color - line and a FILTER of 0 */ - if (dev->model->is_cis) { - slope_dpi = params.yres * params.channels; - } else { - slope_dpi = params.yres; - } - - slope_dpi = slope_dpi * (1 + dummy); - - exposure_time = gl846_compute_exposure (dev, used_res); - DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); - - max_shift = sanei_genesys_compute_max_shift(dev, params.channels, params.yres, 0); - - /* lincnt */ - lincnt = params.lines + max_shift + stagger; - - dev->current_setup.params = params; - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - dev->current_setup.lines = lincnt; - dev->current_setup.depth = params.depth; - dev->current_setup.channels = params.channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = params.yres; - dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - DBGCOMPLETED; -} - -/*for fast power saving methods only, like disabling certain amplifiers*/ -static SANE_Status -gl846_save_power (Genesys_Device * dev, SANE_Bool enable) -{ - DBG(DBG_proc, "%s: enable = %d\n", __func__, enable); - if (dev == NULL) - return SANE_STATUS_INVAL; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl846_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) -{ - DBG(DBG_proc, "%s (delay = %d)\n", __func__, delay); - if (dev == NULL) - return SANE_STATUS_INVAL; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl846_start_action (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x01); -} - -static SANE_Status -gl846_stop_action (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val40, val; - unsigned int loop; - - DBGSTART; - - /* post scan gpio : without that HOMSNR is unreliable */ - gl846_homsnr_gpio(dev); - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - status = sanei_genesys_read_register (dev, REG40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* only stop action if needed */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) - { - DBG(DBG_info, "%s: already stopped\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* ends scan */ - val = dev->reg.get8(REG01); - val &= ~REG01_SCAN; - dev->reg.set8(REG01, val); - status = sanei_genesys_write_register (dev, REG01, val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write register 01: %s\n", __func__, sane_strstatus(status)); - return status; - } - sanei_genesys_sleep_ms(100); - - loop = 10; - while (loop > 0) - { - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - status = sanei_genesys_read_register (dev, REG40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* if scanner is in command mode, we are done */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG) - && !(val & REG41_MOTORENB)) - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - sanei_genesys_sleep_ms(100); - loop--; - } - - DBGCOMPLETED; - return SANE_STATUS_IO_ERROR; -} - -/* Send the low-level scan command */ -static SANE_Status -gl846_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, - SANE_Bool start_motor) -{ - (void) sensor; - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - GenesysRegister *r; - - DBGSTART; - - /* XXX STEF XXX SCAN GPIO */ - /* - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - RIE (sanei_genesys_write_register (dev, REG6C, val)); - */ - - val = REG0D_CLRLNCNT; - RIE (sanei_genesys_write_register (dev, REG0D, val)); - val = REG0D_CLRMCNT; - RIE (sanei_genesys_write_register (dev, REG0D, val)); - - RIE (sanei_genesys_read_register (dev, REG01, &val)); - val |= REG01_SCAN; - RIE (sanei_genesys_write_register (dev, REG01, val)); - r = sanei_genesys_get_address (reg, REG01); - r->value = val; - - if (start_motor) - { - RIE (sanei_genesys_write_register (dev, REG0F, 1)); - } - else - { - RIE (sanei_genesys_write_register (dev, REG0F, 0)); - } - - DBGCOMPLETED; - - return status; -} - - -/* Send the stop scan command */ -static SANE_Status -gl846_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s (check_stop = %d)\n", __func__, check_stop); - if (reg == NULL) - return SANE_STATUS_INVAL; - - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = SANE_STATUS_GOOD; - } - else /* flat bed scanners */ - { - status = gl846_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - DBGCOMPLETED; - return status; -} - -/* Moves the slider to the home (top) postion slowly */ -static SANE_Status -gl846_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) -{ - Genesys_Register_Set local_reg; - SANE_Status status = SANE_STATUS_GOOD; - GenesysRegister *r; - float resolution; - uint8_t val; - int loop = 0; - ScanColorMode scan_mode; - - DBG(DBG_proc, "%s (wait_until_home = %d)\n", __func__, wait_until_home); - - /* post scan gpio : without that HOMSNR is unreliable */ - gl846_homsnr_gpio(dev); - - /* first read gives HOME_SENSOR true */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - sanei_genesys_sleep_ms(100); - - /* second is reliable */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - /* is sensor at home? */ - if (val & HOMESNR) - { - DBG(DBG_info, "%s: already at home, completed\n", __func__); - dev->scanhead_position_in_steps = 0; - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - local_reg = dev->reg; - - resolution=sanei_genesys_get_lowest_ydpi(dev); - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - /* TODO add scan_mode to the API */ - scan_mode= dev->settings.scan_mode; - dev->settings.scan_mode = ScanColorMode::LINEART; - - SetupParams params; - params.xres = resolution; - params.yres = resolution; - params.startx = 100; - params.starty = 30000; - params.pixels = 100; - params.lines = 100; - params.depth = 8; - params.channels = 1; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::GRAY; - params.color_filter = ColorFilter::RED; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl846_init_scan_regs(dev, sensor, &local_reg, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - dev->settings.scan_mode=scan_mode; - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* set up for reverse */ - r = sanei_genesys_get_address(&local_reg, REG02); - r->value |= REG02_MTRREV; - - RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); - - try { - status = gl846_start_action(dev); - } catch (...) { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - try { - gl846_stop_action(dev); - } catch (...) {} - try { - // restore original registers - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - } catch (...) {} - throw; - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - gl846_stop_action (dev); - /* send original registers */ - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - return status; - } - - /* post scan gpio : without that HOMSNR is unreliable */ - gl846_homsnr_gpio(dev); - - if (wait_until_home) - { - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - if (val & HOMESNR) /* home sensor */ - { - DBG(DBG_info, "%s: reached home position\n", __func__); - gl846_stop_action (dev); - dev->scanhead_position_in_steps = 0; - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - sanei_genesys_sleep_ms(100); - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl846_stop_action (dev); - DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); - return SANE_STATUS_IO_ERROR; - } - - DBG(DBG_info, "%s: scanhead is still moving\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels - area at 600 dpi from very top of scanner */ -static SANE_Status -gl846_search_start_position (Genesys_Device * dev) -{ - int size; - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set local_reg; - int steps; - - int pixels = 600; - int dpi = 300; - - DBG(DBG_proc, "%s\n", __func__); - - local_reg = dev->reg; - - /* sets for a 200 lines * 600 pixels */ - /* normal scan with no shading */ - - // FIXME: the current approach of doing search only for one resolution does not work on scanners - // whith employ different sensors with potentially different settings. - auto& sensor = sanei_genesys_find_sensor_for_write(dev, dpi); - - SetupParams params; - params.xres = dpi; - params.yres = dpi; - params.startx = 0; - params.starty = 0; /*we should give a small offset here~60 steps */ - params.pixels = 600; - params.lines = dev->model->search_lines; - params.depth = 8; - params.channels = 1; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::GRAY; - params.color_filter = ColorFilter::GREEN; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl846_init_scan_regs(dev, sensor, &local_reg, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* send to scanner */ - status = dev->model->cmd_set->bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - size = pixels * dev->model->search_lines; - - std::vector data(size); - - status = gl846_begin_scan(dev, sensor, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl846_search_position.pnm", data.data(), 8, 1, pixels, - dev->model->search_lines); - - status = gl846_end_scan (dev, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* update regs to copy ASIC internal state */ - dev->reg = local_reg; - -/*TODO: find out where sanei_genesys_search_reference_point - stores information, and use that correctly*/ - status = - sanei_genesys_search_reference_point (dev, sensor, data.data(), 0, dpi, pixels, - dev->model->search_lines); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set search reference point: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - return SANE_STATUS_GOOD; -} - -/* - * sets up register for coarse gain calibration - * todo: check it for scanners using it */ -static SANE_Status -gl846_init_regs_for_coarse_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t channels; - uint8_t cksel; - - DBG(DBG_proc, "%s\n", __func__); - - - cksel = (regs.find_reg(0x18).value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ - - /* set line size */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else { - channels = 1; - } - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = 0; - params.starty = 0; - params.pixels = sensor.optical_res / cksel; - params.lines = 20; - params.depth = 16; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = dev->settings.scan_mode; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl846_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, - sensor.optical_res / cksel, dev->settings.xres); - - status = dev->model->cmd_set->bulk_write_register(dev, regs); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief moves the slider to steps at motor base dpi - * @param dev device to work on - * @param steps number of steps to move in base_dpi line count - * */ -static SANE_Status -gl846_feed (Genesys_Device * dev, unsigned int steps) -{ - Genesys_Register_Set local_reg; - SANE_Status status = SANE_STATUS_GOOD; - GenesysRegister *r; - float resolution; - uint8_t val; - - DBGSTART; - DBG(DBG_io, "%s: steps=%d\n", __func__, steps); - - /* prepare local registers */ - local_reg = dev->reg; - - resolution=sanei_genesys_get_lowest_ydpi(dev); - const auto& sensor = sanei_genesys_find_sensor(dev, resolution); - - SetupParams params; - params.xres = resolution; - params.yres = resolution; - params.startx = 0; - params.starty = steps; - params.pixels = 100; - params.lines = 3; - params.depth = 8; - params.channels = 3; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_FEEDING | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl846_init_scan_regs(dev, sensor, &local_reg, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* set exposure to zero */ - sanei_genesys_set_triple(&local_reg,REG_EXPR,0); - sanei_genesys_set_triple(&local_reg,REG_EXPG,0); - sanei_genesys_set_triple(&local_reg,REG_EXPB,0); - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT)); - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRMCNT)); - - /* set up for no scan */ - r = sanei_genesys_get_address(&local_reg, REG01); - r->value &= ~REG01_SCAN; - - /* send registers */ - RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); - - try { - status = gl846_start_action (dev); - } catch (...) { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - try { - gl846_stop_action(dev); - } catch (...) {} - try { - // restore original registers - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - } catch (...) {} - throw; - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - gl846_stop_action (dev); - - /* restore original registers */ - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - return status; - } - - /* wait until feed count reaches the required value, but do not - * exceed 30s */ - do - { - status = sanei_genesys_get_status (dev, &val); - } - while (status == SANE_STATUS_GOOD && !(val & FEEDFSH)); - - /* then stop scanning */ - RIE(gl846_stop_action (dev)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* init registers for shading calibration */ -static SANE_Status -gl846_init_regs_for_shading(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - float move; - - DBGSTART; - dev->calib_channels = 3; - - /* initial calibration reg values */ - regs = dev->reg; - - dev->calib_resolution = sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); - dev->calib_total_bytes_to_read = 0; - dev->calib_lines = dev->model->shading_lines; - if(dev->calib_resolution==4800) - dev->calib_lines *= 2; - dev->calib_pixels = (sensor.sensor_pixels*dev->calib_resolution)/sensor.optical_res; - DBG(DBG_io, "%s: calib_lines = %d\n", __func__, (unsigned int)dev->calib_lines); - DBG(DBG_io, "%s: calib_pixels = %d\n", __func__, (unsigned int)dev->calib_pixels); - - /* this is aworkaround insufficent distance for slope - * motor acceleration TODO special motor slope for shading */ - move=1; - if(dev->calib_resolution<1200) - { - move=40; - } - - SetupParams params; - params.xres = dev->calib_resolution; - params.yres = dev->calib_resolution; - params.startx = 0; - params.starty = move; - params.pixels = dev->calib_pixels; - params.lines = dev->calib_lines; - params.depth = 16; - params.channels = dev->calib_channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl846_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = dev->model->cmd_set->bulk_write_register(dev, regs); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* we use GENESYS_FLAG_SHADING_REPARK */ - dev->scanhead_position_in_steps = 0; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief set up registers for the actual scan - */ -static SANE_Status -gl846_init_regs_for_scan (Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int channels; - int flags; - int depth; - float move; - int move_dpi; - float start; - - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, dev->settings); - - /* channels */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == ScanColorMode::LINEART) - depth = 1; - - - /* steps to move to reach scanning area: - - first we move to physical start of scanning - either by a fixed steps amount from the black strip - or by a fixed amount from parking position, - minus the steps done during shading calibration - - then we move by the needed offset whitin physical - scanning area - - assumption: steps are expressed at maximum motor resolution - - we need: - SANE_Fixed y_offset; - SANE_Fixed y_size; - SANE_Fixed y_offset_calib; - mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ - - /* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is - relative from origin, else, it is from parking position */ - - move_dpi = dev->motor.base_ydpi; - - move = SANE_UNFIX (dev->model->y_offset); - move += dev->settings.tl_y; - move = (move * move_dpi) / MM_PER_INCH; - move -= dev->scanhead_position_in_steps; - DBG(DBG_info, "%s: move=%f steps\n", __func__, move); - - /* fast move to scan area */ - /* we don't move fast the whole distance since it would involve - * computing acceleration/deceleration distance for scan - * resolution. So leave a remainder for it so scan makes the final - * move tuning */ - if(channels*dev->settings.yres>=600 && move>700) - { - status = gl846_feed (dev, move-500); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to move to scan area\n", __func__); - return status; - } - move=500; - } - - DBG(DBG_info, "%s: move=%f steps\n", __func__, move); - DBG(DBG_info, "%s: move=%f steps\n", __func__, move); - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - start = (start * sensor.optical_res) / MM_PER_INCH; - - flags = 0; - - /* emulated lineart from gray data is required for now */ - if(dev->settings.scan_mode == ScanColorMode::LINEART - && dev->settings.dynamic_lineart) - { - flags |= SCAN_FLAG_DYNAMIC_LINEART; - } - - /* backtracking isn't handled well, so don't enable it */ - flags |= SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE; - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = start; - params.starty = move; - params.pixels = dev->settings.pixels; - params.lines = dev->settings.lines; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = dev->settings.scan_mode; - params.color_filter = dev->settings.color_filter; - params.flags = flags; - - status = gl846_init_scan_regs(dev, sensor, &dev->reg, params); - - if (status != SANE_STATUS_GOOD) - return status; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** - * Send shading calibration data. The buffer is considered to always hold values - * for all the channels. - */ -static SANE_Status -gl846_send_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, - uint8_t * data, int size) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint32_t addr, length, i, x, factor, pixels; - uint32_t dpiset, dpihw, strpixel, endpixel; - uint16_t tempo; - uint32_t lines, channels; - uint8_t val,*ptr,*src; - - DBGSTART; - DBG(DBG_io2, "%s: writing %d bytes of shading data\n", __func__, size); - - /* shading data is plit in 3 (up to 5 with IR) areas - write(0x10014000,0x00000dd8) - URB 23429 bulk_out len 3544 wrote 0x33 0x10 0x.... - write(0x1003e000,0x00000dd8) - write(0x10068000,0x00000dd8) - */ - length = (uint32_t) (size / 3); - sanei_genesys_get_double(&dev->reg,REG_STRPIXEL,&tempo); - strpixel=tempo; - sanei_genesys_get_double(&dev->reg,REG_ENDPIXEL,&tempo); - endpixel=tempo; - - /* compute deletion factor */ - sanei_genesys_get_double(&dev->reg,REG_DPISET,&tempo); - dpiset=tempo; - DBG(DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, DPISET=%d\n", __func__, strpixel, endpixel, - endpixel-strpixel, dpiset); - dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpiset); - factor=dpihw/dpiset; - DBG(DBG_io2, "%s: factor=%d\n", __func__, factor); - - if(DBG_LEVEL>=DBG_data) - { - dev->binary=fopen("binary.pnm","wb"); - sanei_genesys_get_triple(&dev->reg, REG_LINCNT, &lines); - channels=dev->current_setup.channels; - if(dev->binary!=NULL) - { - fprintf(dev->binary,"P5\n%d %d\n%d\n",(endpixel-strpixel)/factor*channels,lines/channels,255); - } - } - - pixels=endpixel-strpixel; - - /* since we're using SHDAREA, substract startx coordinate from shading */ - strpixel-=((sensor.CCD_start_xoffset*600)/sensor.optical_res); - - /* turn pixel value into bytes 2x16 bits words */ - strpixel*=2*2; - pixels*=2*2; - - std::vector buffer(pixels, 0); - - DBG(DBG_io2, "%s: using chunks of %d (0x%04x) bytes\n", __func__, pixels, pixels); - - /* base addr of data has been written in reg D0-D4 in 4K word, so AHB address - * is 8192*reg value */ - - /* write actual color channel data */ - for(i=0;i<3;i++) - { - /* build up actual shading data by copying the part from the full width one - * to the one corresponding to SHDAREA */ - ptr = buffer.data(); - - /* iterate on both sensor segment */ - for(x=0;xmodel->y_offset_calib); - move = (move * (dev->motor.base_ydpi/4)) / MM_PER_INCH; - if(move>20) - { - RIE(gl846_feed (dev, move)); - } - DBG(DBG_io, "%s: move=%f steps\n", __func__, move); - - /* offset calibration is always done in color mode */ - channels = 3; - depth=16; - used_res=sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); - Sensor_Profile* sensor_profile = get_sensor_profile(dev->model->ccd_type, used_res); - num_pixels = (sensor.sensor_pixels*used_res)/sensor.optical_res; - - /* initial calibration reg values */ - regs = dev->reg; - - SetupParams params; - params.xres = used_res; - params.yres = used_res; - params.startx = 0; - params.starty = 0; - params.pixels = num_pixels; - params.lines = 1; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl846_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - total_size = num_pixels * channels * (depth/8) * 1; /* colors * bytes_per_color * scan lines */ - std::vector line(total_size); - - /* initial loop values and boundaries */ - exp[0]=sensor_profile->expr; - exp[1]=sensor_profile->expg; - exp[2]=sensor_profile->expb; - - bottom[0]=29000; - bottom[1]=29000; - bottom[2]=29000; - - top[0]=41000; - top[1]=51000; - top[2]=51000; - - turn = 0; - - /* no move during led calibration */ - sanei_genesys_set_motor_power(regs, false); - do - { - /* set up exposure */ - sanei_genesys_set_double(®s,REG_EXPR,exp[0]); - sanei_genesys_set_double(®s,REG_EXPG,exp[1]); - sanei_genesys_set_double(®s,REG_EXPB,exp[2]); - - /* write registers and scan data */ - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - - DBG(DBG_info, "%s: starting line reading\n", __func__); - RIE(gl846_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); - - /* stop scanning */ - RIE(gl846_stop_action(dev)); - - if (DBG_LEVEL >= DBG_data) - { - char fn[30]; - snprintf(fn, 30, "gl846_led_%02d.pnm", turn); - sanei_genesys_write_pnm_file(fn, line.data(), depth, channels, num_pixels, 1); - } - - /* compute average */ - for (j = 0; j < channels; j++) - { - avg[j] = 0; - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * num_pixels + 1] * 256 + - line[i * 2 + j * 2 * num_pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - avg[j] += val; - } - - avg[j] /= num_pixels; - } - - DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); - - /* check if exposure gives average within the boundaries */ - acceptable = SANE_TRUE; - for(i=0;i<3;i++) - { - if(avg[i]top[i]) - { - exp[i]=(exp[i]*top[i])/avg[i]; - acceptable = SANE_FALSE; - } - } - - turn++; - } - while (!acceptable && turn < 100); - - DBG(DBG_info, "%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0], exp[1], exp[2]); - - /* set these values as final ones for scan */ - sanei_genesys_set_double(&dev->reg,REG_EXPR,exp[0]); - sanei_genesys_set_double(&dev->reg,REG_EXPG,exp[1]); - sanei_genesys_set_double(&dev->reg,REG_EXPB,exp[2]); - - /* store in this struct since it is the one used by cache calibration */ - sensor.exposure.red = exp[0]; - sensor.exposure.green = exp[1]; - sensor.exposure.blue = exp[2]; - - /* go back home */ - if(move>20) - { - status=gl846_slow_back_home (dev, SANE_TRUE); - } - - DBGCOMPLETED; - return status; -} - -/** - * set up GPIO/GPOE for idle state - */ -static SANE_Status -gl846_init_gpio (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx=0; - - DBGSTART; - - /* search GPIO profile */ - while(gpios[idx].sensor_id!=0 && dev->model->gpo_type!=gpios[idx].sensor_id) - { - idx++; - } - if(gpios[idx].sensor_id==0) - { - DBG(DBG_error, "%s: failed to find GPIO profile for sensor_id=%d\n", __func__, - dev->model->ccd_type); - return SANE_STATUS_INVAL; - } - - RIE (sanei_genesys_write_register (dev, REGA7, gpios[idx].ra7)); - RIE (sanei_genesys_write_register (dev, REGA6, gpios[idx].ra6)); - - RIE (sanei_genesys_write_register (dev, REG6B, gpios[idx].r6b)); - RIE (sanei_genesys_write_register (dev, REG6C, gpios[idx].r6c)); - RIE (sanei_genesys_write_register (dev, REG6D, gpios[idx].r6d)); - RIE (sanei_genesys_write_register (dev, REG6E, gpios[idx].r6e)); - RIE (sanei_genesys_write_register (dev, REG6F, gpios[idx].r6f)); - - RIE (sanei_genesys_write_register (dev, REGA8, gpios[idx].ra8)); - RIE (sanei_genesys_write_register (dev, REGA9, gpios[idx].ra9)); - - DBGCOMPLETED; - return status; -} - -/** - * set memory layout by filling values in dedicated registers - */ -static SANE_Status -gl846_init_memory_layout (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx = 0, i; - uint8_t val; - - DBGSTART - - /* point to per model memory layout */ - idx = 0; - while(layouts[idx].model!=NULL && strcmp(dev->model->name,layouts[idx].model)!=0) - { - if(strcmp(dev->model->name,layouts[idx].model)!=0) - idx++; - } - if(layouts[idx].model==NULL) - { - DBG(DBG_error, "%s: failed to find memory layout for model %s!\n", __func__, dev->model->name); - return SANE_STATUS_INVAL; - } - - /* CLKSET and DRAMSEL */ - val = layouts[idx].dramsel; - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg.find_reg(0x0b).value = val; - - /* prevent further writings by bulk write register */ - dev->reg.remove_reg(0x0b); - - /* setup base address for shading and scanned data. */ - for(i=0;i<10;i++) - { - sanei_genesys_write_register (dev, 0xe0+i, layouts[idx].rx[i]); - } - - DBGCOMPLETED; - return status; -} - -/* * - * initialize ASIC from power on condition - */ -static SANE_Status -gl846_boot (Genesys_Device * dev, SANE_Bool cold) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - - DBGSTART; - - /* reset ASIC if cold boot */ - if(cold) - { - RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); - RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); - } - - if(dev->usb_mode == 1) - { - val = 0x14; - } - else - { - val = 0x11; - } - RIE (sanei_genesys_write_0x8c (dev, 0x0f, val)); - - /* test CHKVER */ - RIE (sanei_genesys_read_register (dev, REG40, &val)); - if (val & REG40_CHKVER) - { - RIE (sanei_genesys_read_register (dev, 0x00, &val)); - DBG(DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); - } - - /* Set default values for registers */ - gl846_init_registers (dev); - - /* Write initial registers */ - RIE (dev->model->cmd_set->bulk_write_register(dev, dev->reg)); - - /* Enable DRAM by setting a rising edge on bit 3 of reg 0x0b */ - val = dev->reg.find_reg(0x0b).value & REG0B_DRAMSEL; - val = (val | REG0B_ENBDRAM); - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg.find_reg(0x0b).value = val; - - /* CIS_LINE */ - if (dev->model->is_cis) - { - SETREG (0x08, REG08_CIS_LINE); - RIE (sanei_genesys_write_register (dev, 0x08, dev->reg.find_reg(0x08).value)); - } - - /* set up clocks */ - RIE (sanei_genesys_write_0x8c (dev, 0x10, 0x0e)); - RIE (sanei_genesys_write_0x8c (dev, 0x13, 0x0e)); - - /* setup gpio */ - RIE (gl846_init_gpio (dev)); - - /* setup internal memory layout */ - RIE (gl846_init_memory_layout (dev)); - - SETREG (0xf8, 0x05); - RIE (sanei_genesys_write_register (dev, 0xf8, dev->reg.find_reg(0xf8).value)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * initialize backend and ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home - */ -static SANE_Status gl846_init(Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG_INIT (); - DBGSTART; - - status=sanei_genesys_asic_init(dev, 0); - - DBGCOMPLETED; - return status; -} - -static SANE_Status -gl846_update_hardware_sensors (Genesys_Scanner * s) -{ - /* do what is needed to get a new set of events, but try to not lose - any of them. - */ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - uint8_t scan, file, email, copy; - switch(s->dev->model->gpo_type) - { - default: - scan=0x01; - file=0x02; - email=0x04; - copy=0x08; - } - RIE (sanei_genesys_read_register (s->dev, REG6D, &val)); - - s->buttons[BUTTON_SCAN_SW].write((val & scan) == 0); - s->buttons[BUTTON_FILE_SW].write((val & file) == 0); - s->buttons[BUTTON_EMAIL_SW].write((val & email) == 0); - s->buttons[BUTTON_COPY_SW].write((val & copy) == 0); - - return status; -} - -/** @brief search for a full width black or white strip. - * This function searches for a black or white stripe across the scanning area. - * When searching backward, the searched area must completely be of the desired - * color since this area will be used for calibration which scans forward. - * @param dev scanner device - * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward - * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip - * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not - */ -static SANE_Status -gl846_search_strip(Genesys_Device * dev, const Genesys_Sensor& sensor, - SANE_Bool forward, SANE_Bool black) -{ - unsigned int pixels, lines, channels; - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set local_reg; - size_t size; - int steps, depth, dpi; - unsigned int pass, count, found, x, y; - char title[80]; - GenesysRegister *r; - - DBG(DBG_proc, "%s %s %s\n", __func__, black ? "black" : "white", forward ? "forward" : "reverse"); - - status = gl846_set_fe(dev, sensor, AFE_SET); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: gl846_set_fe() failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl846_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* set up for a gray scan at lowest dpi */ - dpi = 9600; - for (x = 0; x < MAX_RESOLUTIONS; x++) - { - if (dev->model->xdpi_values[x] > 0 && dev->model->xdpi_values[x] < dpi) - dpi = dev->model->xdpi_values[x]; - } - channels = 1; - /* 10 MM */ - /* lines = (10 * dpi) / MM_PER_INCH; */ - /* shading calibation is done with dev->motor.base_ydpi */ - lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; - depth = 8; - pixels = (sensor.sensor_pixels * dpi) / sensor.optical_res; - size = pixels * channels * lines * (depth / 8); - std::vector data(size); - - dev->scanhead_position_in_steps = 0; - - local_reg = dev->reg; - - SetupParams params; - params.xres = dpi; - params.yres = dpi; - params.startx = 0; - params.starty = 0; - params.pixels = pixels; - params.lines = lines; - params.depth = depth; - params.channels = channels; - params.scan_mode = ScanColorMode::GRAY; - params.color_filter = ColorFilter::RED; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA; - - status = gl846_init_scan_regs(dev, sensor, &local_reg, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup for scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* set up for reverse or forward */ - r = sanei_genesys_get_address (&local_reg, REG02); - if (forward) - r->value &= ~REG02_MTRREV; - else - r->value |= REG02_MTRREV; - - - status = dev->model->cmd_set->bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl846_begin_scan(dev, sensor, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl846_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: gl846_stop_action failed\n", __func__); - return status; - } - - pass = 0; - if (DBG_LEVEL >= DBG_data) - { - sprintf(title, "gl846_search_strip_%s_%s%02d.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); - sanei_genesys_write_pnm_file(title, data.data(), depth, channels, pixels, lines); - } - - /* loop until strip is found or maximum pass number done */ - found = 0; - while (pass < 20 && !found) - { - status = dev->model->cmd_set->bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - /* now start scan */ - status = gl846_begin_scan(dev, sensor, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl846_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: gl846_stop_action failed\n", __func__); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - sprintf(title, "gl846_search_strip_%s_%s%02d.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); - sanei_genesys_write_pnm_file(title, data.data(), depth, channels, pixels, lines); - } - - /* search data to find black strip */ - /* when searching forward, we only need one line of the searched color since we - * will scan forward. But when doing backward search, we need all the area of the - * same color */ - if (forward) - { - for (y = 0; y < lines && !found; y++) - { - count = 0; - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < 60) - { - count++; - } - } - - /* at end of line, if count >= 3%, line is not fully of the desired color - * so we must go to next line of the buffer */ - /* count*100/pixels < 3 */ - if ((count * 100) / pixels < 3) - { - found = 1; - DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, - pass, y); - } - else - { - DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, - (100 * count) / pixels); - } - } - } - else /* since calibration scans are done forward, we need the whole area - to be of the required color when searching backward */ - { - count = 0; - for (y = 0; y < lines; y++) - { - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < 60) - { - count++; - } - } - } - - /* at end of area, if count >= 3%, area is not fully of the desired color - * so we must go to next buffer */ - if ((count * 100) / (pixels * lines) < 3) - { - found = 1; - DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); - } - else - { - DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, - (100 * count) / pixels); - } - } - pass++; - } - - if (found) - { - status = SANE_STATUS_GOOD; - DBG(DBG_info, "%s: %s strip found\n", __func__, black ? "black" : "white"); - } - else - { - status = SANE_STATUS_UNSUPPORTED; - DBG(DBG_info, "%s: %s strip not found\n", __func__, black ? "black" : "white"); - } - - DBGCOMPLETED; - return status; -} - -/** - * average dark pixels of a 8 bits scan - */ -static int -dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, - unsigned int channels, unsigned int black) -{ - unsigned int i, j, k, average, count; - unsigned int avg[3]; - uint8_t val; - - /* computes average value on black margin */ - for (k = 0; k < channels; k++) - { - avg[k] = 0; - count = 0; - for (i = 0; i < lines; i++) - { - for (j = 0; j < black; j++) - { - val = data[i * channels * pixels + j + k]; - avg[k] += val; - count++; - } - } - if (count) - avg[k] /= count; - DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); - } - average = 0; - for (i = 0; i < channels; i++) - average += avg[i]; - average /= channels; - DBG(DBG_info, "%s: average = %d\n", __func__, average); - return average; -} - -static SANE_Status -gl846_offset_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t reg04; - unsigned int channels, bpp; - int pass = 0, avg, total_size; - int topavg, bottomavg, resolution, lines; - int top, bottom, black_pixels, pixels; - - DBGSTART; - - /* no gain nor offset for AKM AFE */ - RIE (sanei_genesys_read_register (dev, REG04, ®04)); - if ((reg04 & REG04_FESET) == 0x02) - { - DBGCOMPLETED; - return status; - } - - /* offset calibration is always done in color mode */ - channels = 3; - resolution=sensor.optical_res; - dev->calib_pixels = sensor.sensor_pixels; - lines=1; - bpp=8; - pixels= (sensor.sensor_pixels*resolution) / sensor.optical_res; - black_pixels = (sensor.black_pixels * resolution) / sensor.optical_res; - DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); - - SetupParams params; - params.xres = resolution; - params.yres = resolution; - params.startx = 0; - params.starty = 0; - params.pixels = pixels; - params.lines = lines; - params.depth = bpp; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl846_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - sanei_genesys_set_motor_power(regs, false); - - /* allocate memory for scans */ - total_size = pixels * channels * lines * (bpp/8); /* colors * bytes_per_color * scan lines */ - - std::vector first_line(total_size); - std::vector second_line(total_size); - - /* init gain */ - dev->frontend.set_gain(0, 0); - dev->frontend.set_gain(1, 0); - dev->frontend.set_gain(2, 0); - - /* scan with no move */ - bottom = 10; - dev->frontend.set_offset(0, bottom); - dev->frontend.set_offset(1, bottom); - dev->frontend.set_offset(2, bottom); - - RIE(gl846_set_fe(dev, sensor, AFE_SET)); - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - DBG(DBG_info, "%s: starting first line reading\n", __func__); - RIE(gl846_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner (dev, first_line.data(), total_size)); - if (DBG_LEVEL >= DBG_data) - { - char fn[30]; - snprintf(fn, 30, "gl846_offset%03d.pnm", bottom); - sanei_genesys_write_pnm_file(fn, first_line.data(), bpp, channels, pixels, lines); - } - - bottomavg = dark_average(first_line.data(), pixels, lines, channels, black_pixels); - DBG(DBG_io2, "%s: bottom avg=%d\n", __func__, bottomavg); - - /* now top value */ - top = 255; - dev->frontend.set_offset(0, top); - dev->frontend.set_offset(1, top); - dev->frontend.set_offset(2, top); - RIE(gl846_set_fe(dev, sensor, AFE_SET)); - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - DBG(DBG_info, "%s: starting second line reading\n", __func__); - RIE(gl846_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); - - topavg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); - DBG(DBG_io2, "%s: top avg=%d\n", __func__, topavg); - - /* loop until acceptable level */ - while ((pass < 32) && (top - bottom > 1)) - { - pass++; - - /* settings for new scan */ - dev->frontend.set_offset(0, (top + bottom) / 2); - dev->frontend.set_offset(1, (top + bottom) / 2); - dev->frontend.set_offset(2, (top + bottom) / 2); - - /* scan with no move */ - RIE(gl846_set_fe(dev, sensor, AFE_SET)); - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - DBG(DBG_info, "%s: starting second line reading\n", __func__); - RIE(gl846_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); - - if (DBG_LEVEL >= DBG_data) - { - char fn[30]; - snprintf(fn, 30, "gl846_offset%03d.pnm", dev->frontend.get_offset(1)); - sanei_genesys_write_pnm_file(fn, second_line.data(), bpp, channels, pixels, lines); - } - - avg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); - DBG(DBG_info, "%s: avg=%d offset=%d\n", __func__, avg, dev->frontend.get_offset(1)); - - /* compute new boundaries */ - if (topavg == avg) - { - topavg = avg; - top = dev->frontend.get_offset(1); - } - else - { - bottomavg = avg; - bottom = dev->frontend.get_offset(1); - } - } - DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, - dev->frontend.get_offset(0), - dev->frontend.get_offset(1), - dev->frontend.get_offset(2)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl846_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs, int dpi) -{ - int pixels; - int total_size; - uint8_t reg04; - int i, j, channels; - SANE_Status status = SANE_STATUS_GOOD; - int max[3]; - float gain[3],coeff; - int val, code, lines; - int resolution; - int bpp; - - DBG(DBG_proc, "%s: dpi = %d\n", __func__, dpi); - - /* no gain nor offset for AKM AFE */ - RIE (sanei_genesys_read_register (dev, REG04, ®04)); - if ((reg04 & REG04_FESET) == 0x02) - { - DBGCOMPLETED; - return status; - } - - /* coarse gain calibration is always done in color mode */ - channels = 3; - - /* follow CKSEL */ - if(dev->settings.xressettings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - try { - status = gl846_init_scan_regs(dev, sensor, ®s, params); - } catch (...) { - try { - sanei_genesys_set_motor_power(regs, false); - } catch (...) {} - throw; - } - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - RIE (dev->model->cmd_set->bulk_write_register(dev, regs)); - - total_size = pixels * channels * (16/bpp) * lines; - - std::vector line(total_size); - - RIE(gl846_set_fe(dev, sensor, AFE_SET)); - RIE(gl846_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl846_gain.pnm", line.data(), bpp, channels, pixels, lines); - - /* average value on each channel */ - for (j = 0; j < channels; j++) - { - max[j] = 0; - for (i = pixels/4; i < (pixels*3/4); i++) - { - if (dev->model->is_cis) - val = line[i + j * pixels]; - else - val = line[i * channels + j]; - - max[j] += val; - } - max[j] = max[j] / (pixels/2); - - gain[j] = ((float) sensor.gain_white_ref*coeff) / max[j]; - - /* turn logical gain value into gain code, checking for overflow */ - code = 283 - 208 / gain[j]; - if (code > 255) - code = 255; - else if (code < 0) - code = 0; - dev->frontend.set_gain(j, code); - - DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], gain[j], - dev->frontend.get_gain(j)); - } - - if (dev->model->is_cis) { - uint8_t gain0 = dev->frontend.get_gain(0); - if (gain0 > dev->frontend.get_gain(1)) { - gain0 = dev->frontend.get_gain(1); - } - if (gain0 > dev->frontend.get_gain(2)) { - gain0 = dev->frontend.get_gain(2); - } - dev->frontend.set_gain(0, gain0); - dev->frontend.set_gain(1, gain0); - dev->frontend.set_gain(2, gain0); - } - - RIE (gl846_stop_action (dev)); - - status=gl846_slow_back_home (dev, SANE_TRUE); - - DBGCOMPLETED; - return status; -} - - -/** the gl846 command set */ -static Genesys_Command_Set gl846_cmd_set = { - "gl846-generic", /* the name of this set */ - - nullptr, - - gl846_init, - NULL, - gl846_init_regs_for_coarse_calibration, - gl846_init_regs_for_shading, - gl846_init_regs_for_scan, - - gl846_get_filter_bit, - gl846_get_lineart_bit, - gl846_get_bitset_bit, - gl846_get_gain4_bit, - gl846_get_fast_feed_bit, - gl846_test_buffer_empty_bit, - gl846_test_motor_flag_bit, - - gl846_set_fe, - gl846_set_powersaving, - gl846_save_power, - - gl846_begin_scan, - gl846_end_scan, - - sanei_genesys_send_gamma_table, - - gl846_search_start_position, - - gl846_offset_calibration, - gl846_coarse_gain_calibration, - gl846_led_calibration, - - NULL, - gl846_slow_back_home, - NULL, - - sanei_genesys_bulk_write_register, - NULL, - sanei_genesys_bulk_read_data, - - gl846_update_hardware_sensors, - - NULL, - NULL, - NULL, - gl846_search_strip, - - sanei_genesys_is_compatible_calibration, - NULL, - gl846_send_shading_data, - gl846_calculate_current_setup, - gl846_boot -}; - -SANE_Status -sanei_gl846_init_cmd_set (Genesys_Device * dev) -{ - dev->model->cmd_set = &gl846_cmd_set; - return SANE_STATUS_GOOD; -} diff --git a/backend/genesys_gl846.h b/backend/genesys_gl846.h deleted file mode 100644 index 797c605..0000000 --- a/backend/genesys_gl846.h +++ /dev/null @@ -1,498 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2012-2013 Stéphane Voltz - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#include "genesys.h" - -#define REG01 0x01 -#define REG01_CISSET 0x80 -#define REG01_DOGENB 0x40 -#define REG01_DVDSET 0x20 -#define REG01_STAGGER 0x10 -#define REG01_COMPENB 0x08 -#define REG01_TRUEGRAY 0x04 -#define REG01_SHDAREA 0x02 -#define REG01_SCAN 0x01 - -#define REG02 0x02 -#define REG02_NOTHOME 0x80 -#define REG02_ACDCDIS 0x40 -#define REG02_AGOHOME 0x20 -#define REG02_MTRPWR 0x10 -#define REG02_FASTFED 0x08 -#define REG02_MTRREV 0x04 -#define REG02_HOMENEG 0x02 -#define REG02_LONGCURV 0x01 - -#define REG03 0x03 -#define REG03_LAMPDOG 0x80 -#define REG03_AVEENB 0x40 -#define REG03_XPASEL 0x20 -#define REG03_LAMPPWR 0x10 -#define REG03_LAMPTIM 0x0f - -#define REG04 0x04 -#define REG04_LINEART 0x80 -#define REG04_BITSET 0x40 -#define REG04_AFEMOD 0x30 -#define REG04_FILTER 0x0c -#define REG04_FESET 0x03 - -#define REG04S_AFEMOD 4 - -#define REG05 0x05 -#define REG05_DPIHW 0xc0 -#define REG05_DPIHW_600 0x00 -#define REG05_DPIHW_1200 0x40 -#define REG05_DPIHW_2400 0x80 -#define REG05_DPIHW_4800 0xc0 -#define REG05_MTLLAMP 0x30 -#define REG05_GMMENB 0x08 -#define REG05_MTLBASE 0x03 - -#define REG06_SCANMOD 0xe0 -#define REG06S_SCANMOD 5 -#define REG06_PWRBIT 0x10 -#define REG06_GAIN4 0x08 -#define REG06_OPTEST 0x07 - -#define REG07_LAMPSIM 0x80 - -#define REG08_DRAM2X 0x80 -#define REG08_MPENB 0x20 -#define REG08_CIS_LINE 0x10 -#define REG08_IR1ENB 0x08 -#define REG08_IR2ENB 0x04 -#define REG08_ENB24M 0x01 - -#define REG09_MCNTSET 0xc0 -#define REG09_EVEN1ST 0x20 -#define REG09_BLINE1ST 0x10 -#define REG09_BACKSCAN 0x08 -#define REG09_ENHANCE 0x04 -#define REG09_SHORTTG 0x02 -#define REG09_NWAIT 0x01 - -#define REG09S_MCNTSET 6 -#define REG09S_CLKSET 4 - - -#define REG0A_LPWMEN 0x10 - -#define REG0B 0x0b -#define REG0B_DRAMSEL 0x07 -#define REG0B_ENBDRAM 0x08 -#define REG0B_ENBDRAM 0x08 -#define REG0B_RFHDIS 0x10 -#define REG0B_CLKSET 0xe0 -#define REG0B_24MHZ 0x00 -#define REG0B_30MHZ 0x20 -#define REG0B_40MHZ 0x40 -#define REG0B_48MHZ 0x60 -#define REG0B_60MHZ 0x80 - -#define REG0C 0x0c -#define REG0C_CCDLMT 0x0f - -#define REG0D 0x0d -#define REG0D_SCSYNC 0x40 -#define REG0D_CLRERR 0x20 -#define REG0D_FULLSTP 0x10 -#define REG0D_SEND 0x80 -#define REG0D_CLRMCNT 0x04 -#define REG0D_CLRDOCJM 0x02 -#define REG0D_CLRLNCNT 0x01 - -#define REG0F 0x0f - -#define REG16_CTRLHI 0x80 -#define REG16_TOSHIBA 0x40 -#define REG16_TGINV 0x20 -#define REG16_CK1INV 0x10 -#define REG16_CK2INV 0x08 -#define REG16_CTRLINV 0x04 -#define REG16_CKDIS 0x02 -#define REG16_CTRLDIS 0x01 - -#define REG17_TGMODE 0xc0 -#define REG17_TGMODE_NO_DUMMY 0x00 -#define REG17_TGMODE_REF 0x40 -#define REG17_TGMODE_XPA 0x80 -#define REG17_TGW 0x3f -#define REG17S_TGW 0 - -#define REG18 0x18 -#define REG18_CNSET 0x80 -#define REG18_DCKSEL 0x60 -#define REG18_CKTOGGLE 0x10 -#define REG18_CKDELAY 0x0c -#define REG18_CKSEL 0x03 - -#define REG1A_SW2SET 0x80 -#define REG1A_SW1SET 0x40 -#define REG1A_MANUAL3 0x02 -#define REG1A_MANUAL1 0x01 -#define REG1A_CK4INV 0x08 -#define REG1A_CK3INV 0x04 -#define REG1A_LINECLP 0x02 - -#define REG1C 0x1c -#define REG1C_TGTIME 0x07 - -#define REG1D_CK4LOW 0x80 -#define REG1D_CK3LOW 0x40 -#define REG1D_CK1LOW 0x20 -#define REG1D_TGSHLD 0x1f -#define REG1DS_TGSHLD 0 - - -#define REG1E_WDTIME 0xf0 -#define REG1ES_WDTIME 4 -#define REG1E_LINESEL 0x0f -#define REG1ES_LINESEL 0 - -#define REG_FEDCNT 0x1f - -#define REG24 0x1c -#define REG40 0x40 -#define REG40_DOCSNR 0x80 -#define REG40_ADFSNR 0x40 -#define REG40_COVERSNR 0x20 -#define REG40_CHKVER 0x10 -#define REG40_DOCJAM 0x08 -#define REG40_HISPDFLG 0x04 -#define REG40_MOTMFLG 0x02 -#define REG40_DATAENB 0x01 - -#define REG41_PWRBIT 0x80 -#define REG41_BUFEMPTY 0x40 -#define REG41_FEEDFSH 0x20 -#define REG41_SCANFSH 0x10 -#define REG41_HOMESNR 0x08 -#define REG41_LAMPSTS 0x04 -#define REG41_FEBUSY 0x02 -#define REG41_MOTORENB 0x01 - -#define REG58_VSMP 0xf8 -#define REG58S_VSMP 3 -#define REG58_VSMPW 0x07 -#define REG58S_VSMPW 0 - -#define REG59_BSMP 0xf8 -#define REG59S_BSMP 3 -#define REG59_BSMPW 0x07 -#define REG59S_BSMPW 0 - -#define REG5A_ADCLKINV 0x80 -#define REG5A_RLCSEL 0x40 -#define REG5A_CDSREF 0x30 -#define REG5AS_CDSREF 4 -#define REG5A_RLC 0x0f -#define REG5AS_RLC 0 - -#define REG5E_DECSEL 0xe0 -#define REG5ES_DECSEL 5 -#define REG5E_STOPTIM 0x1f -#define REG5ES_STOPTIM 0 - -#define REG60 0x60 -#define REG60_Z1MOD 0x1f -#define REG61 0x61 -#define REG61_Z1MOD 0xff -#define REG62 0x62 -#define REG62_Z1MOD 0xff - -#define REG63 0x63 -#define REG63_Z2MOD 0x1f -#define REG64 0x64 -#define REG64_Z2MOD 0xff -#define REG65 0x65 -#define REG65_Z2MOD 0xff - -#define REG60S_STEPSEL 5 -#define REG60_STEPSEL 0xe0 -#define REG60_FULLSTEP 0x00 -#define REG60_HALFSTEP 0x20 -#define REG60_EIGHTHSTEP 0x60 -#define REG60_16THSTEP 0x80 - -#define REG63S_FSTPSEL 5 -#define REG63_FSTPSEL 0xe0 -#define REG63_FULLSTEP 0x00 -#define REG63_HALFSTEP 0x20 -#define REG63_EIGHTHSTEP 0x60 -#define REG63_16THSTEP 0x80 - -#define REG67 0x67 -#define REG67_MTRPWM 0x80 - -#define REG68 0x68 -#define REG68_FASTPWM 0x80 - -#define REG6B 0x6b -#define REG6B_MULTFILM 0x80 -#define REG6B_GPOM13 0x40 -#define REG6B_GPOM12 0x20 -#define REG6B_GPOM11 0x10 -#define REG6B_GPO18 0x02 -#define REG6B_GPO17 0x01 - -#define REG6C 0x6c -#define REG6C_GPIO16 0x80 -#define REG6C_GPIO15 0x40 -#define REG6C_GPIO14 0x20 -#define REG6C_GPIO13 0x10 -#define REG6C_GPIO12 0x08 -#define REG6C_GPIO11 0x04 -#define REG6C_GPIO10 0x02 -#define REG6C_GPIO9 0x01 -#define REG6C_GPIOH 0xff -#define REG6C_GPIOL 0xff - -#define REG6D 0x6d -#define REG6E 0x6e -#define REG6F 0x6f -#define REG7E 0x7e - -#define REG87_ACYCNRLC 0x10 -#define REG87_ENOFFSET 0x08 -#define REG87_LEDADD 0x04 -#define REG87_CK4ADC 0x02 -#define REG87_AUTOCONF 0x01 - -#define REG9E 0x9e -#define REG9F 0x9f - -#define REGA6 0xa6 -#define REGA7 0xa7 -#define REGA8 0xa8 -#define REGA9 0xa9 -#define REGAB 0xab - -#define REG_EXPR 0x10 -#define REG_EXPG 0x12 -#define REG_EXPB 0x14 -#define REG_EXPDMY 0x19 -#define REG_STEPNO 0x21 -#define REG_FWDSTEP 0x22 -#define REG_BWDSTEP 0x23 -#define REG_FASTNO 0x24 -#define REG_DPISET 0x2c -#define REG_STRPIXEL 0x30 -#define REG_ENDPIXEL 0x32 -#define REG_LINCNT 0x25 -#define REG_MAXWD 0x35 -#define REG_LPERIOD 0x38 -#define REG_FEEDL 0x3d -#define REG_FMOVDEC 0x5f -#define REG_FSHDEC 0x69 -#define REG_FMOVNO 0x6a -#define REG_CK1MAP 0x74 -#define REG_CK3MAP 0x77 -#define REG_CK4MAP 0x7a - -#define REGF8 0xf8 -#define REGF8_MAXSEL 0xf0 -#define REGF8_SMAXSEL 4 -#define REGF8_MINSEL 0x0f - -#define SETREG(adr,val) { dev->reg.init_reg(adr, val); } - - -/** set up registers for an actual scan - * - * this function sets up the scanner to scan in normal or single line mode - */ -static SANE_Status gl846_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, SetupParams& params); - -/* Send the low-level scan command */ -static SANE_Status gl846_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, SANE_Bool start_motor); - -/* Send the stop scan command */ -static SANE_Status gl846_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, SANE_Bool check_stop); - -static SANE_Status gl846_init (Genesys_Device * dev); - -/** @brief moves the slider to steps at motor base dpi - * @param dev device to work on - * @param steps number of steps to move - * */ -static SANE_Status -gl846_feed (Genesys_Device * dev, unsigned int steps); - -static SANE_Status -gl846_stop_action (Genesys_Device * dev); - -static SANE_Status -gl846_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home); - -static SANE_Status -gl846_boot (Genesys_Device * dev, SANE_Bool cold); - - - -typedef struct -{ - uint8_t sensor_id; - uint8_t r6b; - uint8_t r6c; - uint8_t r6d; - uint8_t r6e; - uint8_t r6f; - uint8_t ra6; - uint8_t ra7; - uint8_t ra8; - uint8_t ra9; -} Gpio_Profile; - -static Gpio_Profile gpios[]={ - { GPO_IMG101, 0x72, 0x1f, 0xa4, 0x13, 0xa7, 0x11, 0xff, 0x19, 0x05}, - { GPO_PLUSTEK3800, 0x30, 0x01, 0x80, 0x2d, 0x80, 0x0c, 0x8f, 0x08, 0x04}, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, -}; - -typedef struct -{ - const char *model; - uint8_t dramsel; - /* shading data address */ - uint8_t rd0; - uint8_t rd1; - uint8_t rd2; - /* scanned data address */ - uint8_t rx[24]; -} Memory_layout; - -static Memory_layout layouts[]={ - /* Image formula 101 */ - { - "canon-image-formula-101", - 0x8b, - 0x0a, 0x1b, 0x00, - { /* RED ODD START / RED ODD END */ - 0x00, 0xb0, 0x05, 0xe7, /* [0x00b0, 0x05e7] 1336*4000w */ - /* RED EVEN START / RED EVEN END */ - 0x05, 0xe8, 0x0b, 0x1f, /* [0x05e8, 0x0b1f] */ - /* GREEN ODD START / GREEN ODD END */ - 0x0b, 0x20, 0x10, 0x57, /* [0x0b20, 0x1057] */ - /* GREEN EVEN START / GREEN EVEN END */ - 0x10, 0x58, 0x15, 0x8f, /* [0x1058, 0x158f] */ - /* BLUE ODD START / BLUE ODD END */ - 0x15, 0x90, 0x1a, 0xc7, /* [0x1590,0x1ac7] */ - /* BLUE EVEN START / BLUE EVEN END */ - 0x1a, 0xc8, 0x1f, 0xff /* [0x1ac8,0x1fff] */ - } - }, - /* OpticBook 3800 */ - { - "plustek-opticbook-3800", - 0x2a, - 0x0a, 0x0a, 0x0a, - { /* RED ODD START / RED ODD END */ - 0x00, 0x68, 0x03, 0x00, - /* RED EVEN START / RED EVEN END */ - 0x03, 0x01, 0x05, 0x99, - /* GREEN ODD START / GREEN ODD END */ - 0x05, 0x9a, 0x08, 0x32, - /* GREEN EVEN START / GREEN EVEN END */ - 0x08, 0x33, 0x0a, 0xcb, - /* BLUE ODD START / BLUE ODD END */ - 0x0a, 0xcc, 0x0d, 0x64, - /* BLUE EVEN START / BLUE EVEN END */ - 0x0d, 0x65, 0x0f, 0xfd - } - }, - /* list terminating entry */ - { NULL, 0, 0, 0, 0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} } -}; - -/** @brief structure for sensor settings - * this structure describes the sensor settings to use for a given - * exposure. - */ -typedef struct { - int sensor_type; /**> sensor id */ - int dpi; /**> maximum dpi for which data are valid */ - int exposure; /**> exposure */ - int ck1map; /**> CK1MAP */ - int ck3map; /**> CK3MAP */ - int ck4map; /**> CK4MAP */ - int segcnt; /**> SEGCNT */ - int expdummy; /**> exposure dummy */ - int expr; /**> initial red exposure */ - int expg; /**> initial green exposure */ - int expb; /**> initial blue exposure */ - size_t *order; /**> order of sub-segments */ - uint8_t r17; /**> TG width */ -} Sensor_Profile; - -/** - * order of the scanned pixel - */ -static size_t order_01[]={0,1}; - -/** - * database of sensor profiles - */ -static Sensor_Profile sensors[]={ - {CCD_IMG101, 1200, 11000, 60, 159, 85, 5136, 255, 0, 0, 0, order_01 , 0x13}, - {CCD_PLUSTEK3800, 1200, 11000, 60, 159, 85, 5136, 255, 0, 0, 0, order_01 , 0x13}, -}; - -/* base motor slopes in full step unit */ -/* target=((exposure * dpi) / base_dpi)>>step_type; */ -static uint32_t img101_high[] = {22000, 22000, 22000, 18450, 15974, 14284, 13054, 12076, 11286, 10660, 10100, 9632, 9224, 8864, 8532, 8250, 7986, 7750, 7530, 7330, 7142, 6972, 6810, 6656, 6518, 6384, 6264, 6150, 6038, 5930, 5834, 5732, 5642, 5560, 5476, 5398, 5324, 5252, 5180, 5112, 5050, 4990, 4926, 4868, 4816, 4760, 4708, 4658, 4608, 4562, 4516, 4472, 4428, 4384, 4344, 4306, 4266, 4230, 4194, 4156, 4122, 4088, 4054, 4022, 3990, 3960, 3930, 3900, 3872, 3842, 3816, 3790, 3762, 3736, 3710, 3686, 3662, 3638, 3614, 3590, 3570, 3548, 3526, 3506, 3484, 3462, 3442, 3424, 3402, 3384, 3366, 3346, 3328, 3310, 3292, 3276, 3258, 3242, 3224, 3208, 3192, 3176, 3162, 3146, 3130, 3114, 3100, 3086, 3072, 3058, 3044, 3030, 3016, 3002, 2990, 2976, 2964, 2950, 2938, 2926, 2914, 2902, 2890, 2878, 2866, 2854, 2844, 2832, 2820, 2810, 2800, 2790, 2778, 2768, 2756, 2748, 2738, 2726, 2716, 2708, 2698, 2688, 2678, 2668, 2660, 2650, 2642, 2632, 2624, 2616, 2606, 2598, 2588, 2580, 2572, 2564, 2556, 2548, 2540, 2530, 2522, 2516, 2508, 2500, 2492, 2486, 2476, 2470, 2462, 2454, 2448, 2440, 2434, 2426, 2420, 2412, 2406, 2400, 2392, 2386, 2378, 2372, 2366, 2360, 2354, 2346, 2340, 2334, 2328, 2322, 2314, 2310, 2304, 2296, 2292, 2286, 2280, 2274, 2268, 2262, 2256, 2252, 2246, 2240, 2234, 2230, 2224, 2218, 2214, 2208, 2202, 2196, 2192, 2188, 2182, 2176, 2172, 2166, 2162, 2156, 2152, 2146, 2142, 2136, 2132, 2128, 2124, 2118, 2114, 2108, 2104, 2100, 2096, 2092, 2086, 2082, 2078, 2072, 2068, 2064, 2060, 2056, 2052, 2048, 2044, 2038, 2034, 2030, 2026, 2022, 2018, 2014, 2010, 2006, 2002, 1998, 1994, 1990, 1988, 1984, 1980, 1976, 1972, 1968, 1964, 1960, 1956, 1952, 1950, 1946, 1942, 1938, 1934, 1932, 1928, 1924, 1920, 1918, 1914, 1910, 1908, 1904, 1900, 1898, 1894, 1890, 1888, 1884, 1880, 1878, 1874, 1870, 1868, 1864, 1862, 1858, 1854, 1852, 1848, 1846, 1842, 1840, 1836, 1834, 1830, 1828, 1824, 1822, 1818, 1816, 1812, 1810, 1806, 1804, 1800, 1798, 1794, 1792, 1790, 1786, 1784, 1780, 1778, 1776, 1772, 1770, 1768, 1764, 1762, 1758, 1756, 1754, 1752, 1748, 1746, 1744, 1740, 1738, 1736, 1734, 1730, 1728, 1726, 1724, 1720, 1718, 1716, 1714, 1710, 1708, 1706, 1704, 1700, 1698, 1696, 1694, 1692, 1688, 1686, 1684, 1682, 1680, 1676, 1674, 1672, 1670, 1668, 1666, 1664, 1662, 1660, 1656, 1654, 1652, 1650, 1648, 1646, 1644, 1642, 1638, 1636, 1634, 1632, 1630, 1628, 1626, 1624, 1622, 1620, 1618, 1616, 1614, 1612, 1610, 1608, 1606, 1604, 1602, 1600, 1598, 1596, 1594, 1592, 1590, 1588, 1586, 1584, 1582, 1580, 1578, 1576, 1574, 1572, 1570, 1568, 1566, 1564, 1562, 1560, 1558, 1556, 1556, 1554, 1552, 1550, 1548, 1546, 1544, 1542, 1540, 1538, 1536, 1536, 1534, 1532, 1530, 1528, 1526, 1524, 1522, 1522, 1520, 1518, 1516, 1514, 1512, 1510, 1510, 1508, 1506, 1504, 1502, 1500, 1500, 1498, 1496, 1494, 1492, 1490, 1490, 1488, 1486, 1484, 1482, 1482, 1480, 1478, 1476, 1474, 1474, 1472, 1470, 1468, 1466, 1466, 1464, 1462, 1460, 1460, 1458, 1456, 1454, 1454, 1452, 1450, 1448, 1448, 1446, 1444, 1442, 1442, 1440, 1438, 1438, 1436, 1434, 1432, 1432, 1430, 1428, 1426, 1426, 1424, 1422, 1422, 1420, 1418, 1418, 1416, 1414, 1412, 1412, 1410, 1408, 1408, 1406, 1404, 1404, 1402, 1400, 1400, 1398, 1396, 1394, 1394, 1392, 1390, 1390, 1388, 1388, 1386, 1384, 1384, 1382, 1380, 1380, 1378, 1376, 1376, 1374, 1374, 1372, 1370, 1370, 1368, 1366, 1366, 1364, 1362, 1362, 1360, 1360, 1358, 1356, 1356, 1354, 1352, 1352, 1350, 1350, 1348, 1348, 1346, 1344, 1344, 1342, 1340, 1340, 1338, 1338, 1336, 1336, 1334, 1332, 1332, 1330, 1330, 1328, 1328, 1326, 1324, 1324, 1322, 1322, 1320, 1318, 1318, 1316, 1316, 1314, 1314, 1312, 1310, 1310, 1308, 1308, 1306, 1306, 1304, 1304, 1302, 1302, 1300, 1300, 1298, 1298, 1296, 1294, 1294, 1292, 1292, 1290, 1290, 1288, 1288, 1286, 1286, 1284, 1284, 1282, 1282, 1280, 1280, 1278, 1278, 1276, 1276, 1274, 1272, 1272, 1270, 1270, 1270, 1268, 1268, 1266, 1264, 1264, 1262, 1262, 1260, 1260, 1260, 1258, 1258, 1256, 1254, 1254, 1254, 1252, 1252, 1250, 1250, 1248, 1248, 1246, 1246, 1244, 1244, 1242, 1242, 1240, 1240, 1238, 1238, 1236, 1236, 1236, 1234, 1234, 1232, 1232, 1230, 1230, 1228, 1228, 1226, 1226, 1226, 1224, 1224, 1222, 1222, 1220, 1220, 1218, 1218, 1218, 1216, 1216, 1214, 1214, 1212, 1212, 1210, 1210, 1210, 1208, 1208, 1206, 1206, 1204, 1204, 1204, 1202, 1202, 1200, 1200, 1198, 1198, 1198, 1196, 1196, 1194, 1194, 1192, 1192, 1192, 1190, 1190, 1188, 1188, 1188, 1186, 1186, 1184, 1184, 1182, 1182, 1182, 1180, 1180, 1180, 1178, 1178, 1176, 1176, 1174, 1174, 1174, 1172, 1172, 1172, 1170, 1170, 1168, 1168, 1168, 1166, 1166, 1164, 1164, 1164, 1162, 1162, 1160, 1160, 1160, 1158, 1158, 1156, 1156, 1156, 1154, 1154, 1154, 1152, 1152, 1152, 1150, 1150, 1148, 1148, 1148, 1146, 1146, 1146, 1144, 1144, 1142, 1142, 1142, 1140, 1140, 1140, 1138, 1138, 1136, 1136, 1136, 1134, 1134, 1134, 1132, 1132, 1132, 1130, 1130, 1130, 1128, 1128, 1126, 1126, 1126, 1124, 1124, 1124, 1122, 1122, 1122, 1120, 1120, 1120, 1118, 1118, 1118, 1116, 1116, 1116, 1114, 1114, 1114, 1112, 1112, 1112, 1110, 1110, 1110, 1108, 1108, 1108, 1106, 1106, 1106, 1104, 1104, 1104, 1102, 1102, 1102, 1100, 1100, 1100, 1098, 1098, 1098, 1096, 1096, 1096, 1094, 1094, 1094, 1092, 1092, 1092, 1090, 1090, 1090, 1088, 1088, 1088, 1086, 1086, 1086, 1086, 1084, 1084, 1084, 1082, 1082, 1082, 1080, 1080, 1080, 1078, 1078, 1078, 1078, 1076, 1076, 1076, 1074, 1074, 1074, 1072, 1072, 1072, 1072, 1070, 1070, 1070, 1068, 1068, 1068, 1066, 1066, 1066, 1064, 1064, 1064, 1064, 1062, 1062, 1062, 1060, 1060, 1060, 1058, 1058, 1058, 1058, 1056, 1056, 1056, 1054, 1054, 1054, 1054, 1052, 1052, 1052, 1050, 1050, 1050, 1050, 1048, 1048, 1048, 1046, 1046, 1046, 1046, 1044, 1044, 1044, 1044, 1042, 1042, 1042, 1040, 1040, 1040, 1040, 1038, 1038, 1038, 1036, 1036, 1036, 1036, 1034, 1034, 1034, 1034, 1032, 1032, 1032, 1030, 1030, 1030, 1030, 1028, 1028, 1028, 1028, 1026, 1026, 1026, 1026, 1024, 1024, 1024, 1022, 1022, 1022, 1022, 1020, 1020, 1020, 1020, 1018, 1018, 1018, 1018, 1016, 1016, 1016, 1016, 1014, 1014, 1014, 1014, 1012, 1012, 1012, 1012, 1010, 1010, 1010, 1010, 1008, 1008, 1008, 1008, 1006, 1006, 1006, 1006, 1004, 1004, 1004, 1004, 1002, 1002, 1002, 1002, 1000, 1000, 1000, 1000, 0 }; - -/** - * database of motor profiles - */ - -static Motor_Profile gl846_motors[]={ - /* Image Formula 101 */ - {MOTOR_IMG101, 11000, HALF_STEP , img101_high}, - {MOTOR_PLUSTEK3800, 11000, HALF_STEP , img101_high}, - - /* end of database entry */ - {0, 0, 0, NULL}, -}; diff --git a/backend/genesys_gl847.cc b/backend/genesys_gl847.cc deleted file mode 100644 index b5748a5..0000000 --- a/backend/genesys_gl847.cc +++ /dev/null @@ -1,3517 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2010-2013 Stéphane Voltz - - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#define DEBUG_DECLARE_ONLY - -#include "genesys_gl847.h" - -#include - -/**************************************************************************** - Mid level functions - ****************************************************************************/ - -static SANE_Bool -gl847_get_fast_feed_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, REG02); - if (r && (r->value & REG02_FASTFED)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl847_get_filter_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_FILTER)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl847_get_lineart_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_LINEART)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl847_get_bitset_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, REG04); - if (r && (r->value & REG04_BITSET)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl847_get_gain4_bit (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - - r = sanei_genesys_get_address (regs, 0x06); - if (r && (r->value & REG06_GAIN4)) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl847_test_buffer_empty_bit (SANE_Byte val) -{ - if (val & REG41_BUFEMPTY) - return SANE_TRUE; - return SANE_FALSE; -} - -static SANE_Bool -gl847_test_motor_flag_bit (SANE_Byte val) -{ - if (val & REG41_MOTORENB) - return SANE_TRUE; - return SANE_FALSE; -} - -/** - * compute the step multiplier used - */ -static int -gl847_get_step_multiplier (Genesys_Register_Set * regs) -{ - GenesysRegister *r = NULL; - int value = 1; - - r = sanei_genesys_get_address (regs, 0x9d); - if (r != NULL) - { - value = (r->value & 0x0f)>>1; - value = 1 << value; - } - DBG (DBG_io, "%s: step multiplier is %d\n", __func__, value); - return value; -} - -/** @brief sensor profile - * search for the database of motor profiles and get the best one. Each - * profile is at a specific dpihw. Use LiDE 110 table by default. - * @param sensor_type sensor id - * @param dpi hardware dpi for the scan - * @return a pointer to a Sensor_Profile struct - */ -static Sensor_Profile *get_sensor_profile(int sensor_type, int dpi) -{ - unsigned int i; - int idx; - - i=0; - idx=-1; - while(i=dpi - && sensors[i].dpimodel->ccd_type, xres); - return sensor_profile->exposure; -} - - -/** @brief sensor specific settings -*/ -static void gl847_setup_sensor(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set * regs, int dpi) -{ - GenesysRegister *r; - int dpihw; - uint16_t exp; - - DBGSTART; - dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpi); - - for (uint16_t addr = 0x16; addr < 0x1e; addr++) { - regs->set8(addr, sensor.custom_regs.get_value(addr)); - } - - for (uint16_t addr = 0x52; addr < 0x52 + 9; addr++) { - regs->set8(addr, sensor.custom_regs.get_value(addr)); - } - - /* set EXPDUMMY and CKxMAP */ - dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpi); - Sensor_Profile* sensor_profile=get_sensor_profile(dev->model->ccd_type, dpihw); - - sanei_genesys_set_reg_from_set(regs,REG_EXPDMY,(uint8_t)((sensor_profile->expdummy) & 0xff)); - - /* if no calibration has been done, set default values for exposures */ - exp = sensor.exposure.red; - if(exp==0) - { - exp=sensor_profile->expr; - } - sanei_genesys_set_double(regs,REG_EXPR,exp); - - exp = sensor.exposure.green; - if(exp==0) - { - exp=sensor_profile->expg; - } - sanei_genesys_set_double(regs,REG_EXPG,exp); - - exp = sensor.exposure.blue; - if(exp==0) - { - exp=sensor_profile->expb; - } - sanei_genesys_set_double(regs,REG_EXPB,exp); - - sanei_genesys_set_triple(regs,REG_CK1MAP,sensor_profile->ck1map); - sanei_genesys_set_triple(regs,REG_CK3MAP,sensor_profile->ck3map); - sanei_genesys_set_triple(regs,REG_CK4MAP,sensor_profile->ck4map); - - /* order of the sub-segments */ - dev->order=sensor_profile->order; - - r = sanei_genesys_get_address (regs, 0x17); - r->value = sensor_profile->r17; - - DBGCOMPLETED; -} - - -/** @brief set all registers to default values . - * This function is called only once at the beginning and - * fills register startup values for registers reused across scans. - * Those that are rarely modified or not modified are written - * individually. - * @param dev device structure holding register set to initialize - */ -static void -gl847_init_registers (Genesys_Device * dev) -{ - int lide700=0; - uint8_t val; - - DBGSTART; - /* 700F class needs some different initial settings */ - if (dev->model->model_id == MODEL_CANON_LIDE_700F) - { - lide700 = 1; - } - - dev->reg.clear(); - - SETREG (0x01, 0x82); - SETREG (0x02, 0x18); - SETREG (0x03, 0x50); - SETREG (0x04, 0x12); - SETREG (0x05, 0x80); - SETREG (0x06, 0x50); /* FASTMODE + POWERBIT */ - SETREG (0x08, 0x10); - SETREG (0x09, 0x01); - SETREG (0x0a, 0x00); - SETREG (0x0b, 0x01); - SETREG (0x0c, 0x02); - - /* LED exposures */ - SETREG (0x10, 0x00); - SETREG (0x11, 0x00); - SETREG (0x12, 0x00); - SETREG (0x13, 0x00); - SETREG (0x14, 0x00); - SETREG (0x15, 0x00); - - SETREG (0x16, 0x10); - SETREG (0x17, 0x08); - SETREG (0x18, 0x00); - - /* EXPDMY */ - SETREG (0x19, 0x50); - - SETREG (0x1a, 0x34); - SETREG (0x1b, 0x00); - SETREG (0x1c, 0x02); - SETREG (0x1d, 0x04); - SETREG (0x1e, 0x10); - SETREG (0x1f, 0x04); - SETREG (0x20, 0x02); - SETREG (0x21, 0x10); - SETREG (0x22, 0x7f); - SETREG (0x23, 0x7f); - SETREG (0x24, 0x10); - SETREG (0x25, 0x00); - SETREG (0x26, 0x00); - SETREG (0x27, 0x00); - SETREG (0x2c, 0x09); - SETREG (0x2d, 0x60); - SETREG (0x2e, 0x80); - SETREG (0x2f, 0x80); - SETREG (0x30, 0x00); - SETREG (0x31, 0x10); - SETREG (0x32, 0x15); - SETREG (0x33, 0x0e); - SETREG (0x34, 0x40); - SETREG (0x35, 0x00); - SETREG (0x36, 0x2a); - SETREG (0x37, 0x30); - SETREG (0x38, 0x2a); - SETREG (0x39, 0xf8); - SETREG (0x3d, 0x00); - SETREG (0x3e, 0x00); - SETREG (0x3f, 0x00); - SETREG (0x52, 0x03); - SETREG (0x53, 0x07); - SETREG (0x54, 0x00); - SETREG (0x55, 0x00); - SETREG (0x56, 0x00); - SETREG (0x57, 0x00); - SETREG (0x58, 0x2a); - SETREG (0x59, 0xe1); - SETREG (0x5a, 0x55); - SETREG (0x5e, 0x41); - SETREG (0x5f, 0x40); - SETREG (0x60, 0x00); - SETREG (0x61, 0x21); - SETREG (0x62, 0x40); - SETREG (0x63, 0x00); - SETREG (0x64, 0x21); - SETREG (0x65, 0x40); - SETREG (0x67, 0x80); - SETREG (0x68, 0x80); - SETREG (0x69, 0x20); - SETREG (0x6a, 0x20); - - /* CK1MAP */ - SETREG (0x74, 0x00); - SETREG (0x75, 0x00); - SETREG (0x76, 0x3c); - - /* CK3MAP */ - SETREG (0x77, 0x00); - SETREG (0x78, 0x00); - SETREG (0x79, 0x9f); - - /* CK4MAP */ - SETREG (0x7a, 0x00); - SETREG (0x7b, 0x00); - SETREG (0x7c, 0x55); - - SETREG (0x7d, 0x00); - - /* NOTE: autoconf is a non working option */ - SETREG (0x87, 0x02); - SETREG (0x9d, 0x06); - SETREG (0xa2, 0x0f); - SETREG (0xbd, 0x18); - SETREG (0xfe, 0x08); - - /* gamma[0] and gamma[256] values */ - SETREG (0xbe, 0x00); - SETREG (0xc5, 0x00); - SETREG (0xc6, 0x00); - SETREG (0xc7, 0x00); - SETREG (0xc8, 0x00); - SETREG (0xc9, 0x00); - SETREG (0xca, 0x00); - - /* LiDE 700 fixups */ - if(lide700) - { - SETREG (0x5f, 0x04); - SETREG (0x7d, 0x80); - - /* we write to these registers only once */ - val=0; - sanei_genesys_write_register (dev, REG7E, val); - sanei_genesys_write_register (dev, REG9E, val); - sanei_genesys_write_register (dev, REG9F, val); - sanei_genesys_write_register (dev, REGAB, val); - } - - /* fine tune upon device description */ - dev->reg.find_reg(0x05).value &= ~REG05_DPIHW; - switch (sanei_genesys_find_sensor_any(dev).optical_res) - { - case 600: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_600; - break; - case 1200: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_1200; - break; - case 2400: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_2400; - break; - case 4800: - dev->reg.find_reg(0x05).value |= REG05_DPIHW_4800; - break; - } - - /* initalize calibration reg */ - dev->calib_reg = dev->reg; - - DBGCOMPLETED; -} - -/**@brief send slope table for motor movement - * Send slope_table in machine byte order - * @param dev device to send slope table - * @param table_nr index of the slope table in ASIC memory - * Must be in the [0-4] range. - * @param slope_table pointer to 16 bit values array of the slope table - * @param steps number of elements in the slope table - */ -static SANE_Status -gl847_send_slope_table (Genesys_Device * dev, int table_nr, - uint16_t * slope_table, int steps) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - char msg[10000]; - - DBG (DBG_proc, "%s (table_nr = %d, steps = %d)\n", __func__, - table_nr, steps); - - /* sanity check */ - if(table_nr<0 || table_nr>4) - { - DBG (DBG_error, "%s: invalid table number %d!\n", __func__, table_nr); - return SANE_STATUS_INVAL; - } - - std::vector table(steps * 2); - for (i = 0; i < steps; i++) - { - table[i * 2] = slope_table[i] & 0xff; - table[i * 2 + 1] = slope_table[i] >> 8; - } - - if (DBG_LEVEL >= DBG_io) - { - sprintf (msg, "write slope %d (%d)=", table_nr, steps); - for (i = 0; i < steps; i++) - { - sprintf (msg+strlen(msg), "%d", slope_table[i]); - } - DBG (DBG_io, "%s: %s\n", __func__, msg); - } - - /* slope table addresses are fixed */ - status = sanei_genesys_write_ahb(dev, 0x10000000 + 0x4000 * table_nr, steps * 2, table.data()); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: write to AHB failed writing slope table %d (%s)\n", __func__, table_nr, - sane_strstatus(status)); - } - - DBGCOMPLETED; - return status; -} - -/** - * Set register values of Analog Device type frontend - * */ -static SANE_Status -gl847_set_ad_fe (Genesys_Device * dev, uint8_t set) -{ - SANE_Status status = SANE_STATUS_GOOD; - int i; - uint8_t val8; - - DBGSTART; - - /* wait for FE to be ready */ - status = sanei_genesys_get_status (dev, &val8); - while (val8 & REG41_FEBUSY) - { - sanei_genesys_sleep_ms(10); - status = sanei_genesys_get_status (dev, &val8); - }; - - if (set == AFE_INIT) - { - DBG(DBG_proc, "%s(): setting DAC %u\n", __func__, dev->model->dac_type); - - dev->frontend = dev->frontend_initial; - } - - /* reset DAC */ - status = sanei_genesys_fe_write_data (dev, 0x00, 0x80); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write reg0: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* write them to analog frontend */ - status = sanei_genesys_fe_write_data(dev, 0x00, dev->frontend.regs.get_value(0x00)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write reg0: %s\n", __func__, sane_strstatus(status)); - return status; - } - status = sanei_genesys_fe_write_data(dev, 0x01, dev->frontend.regs.get_value(0x01)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write reg1: %s\n", __func__, sane_strstatus(status)); - return status; - } - - for (i = 0; i < 3; i++) - { - status = sanei_genesys_fe_write_data(dev, 0x02 + i, dev->frontend.get_gain(i)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write gain %d: %s\n", __func__, i, sane_strstatus(status)); - return status; - } - } - for (i = 0; i < 3; i++) - { - status = sanei_genesys_fe_write_data(dev, 0x05 + i, dev->frontend.get_offset(i)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write offset %d: %s\n", __func__, i, - sane_strstatus(status)); - return status; - } - } - - DBGCOMPLETED; - return status; -} - -static SANE_Status -gl847_homsnr_gpio(Genesys_Device *dev) -{ -uint8_t val; -SANE_Status status=SANE_STATUS_GOOD; - - if (dev->model->gpo_type == GPO_CANONLIDE700) - { - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - val &= ~REG6C_GPIO10; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - } - else - { - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - val |= REG6C_GPIO10; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - } - return status; -} - -/* Set values of analog frontend */ -static SANE_Status -gl847_set_fe(Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set) -{ - (void) sensor; - - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - - DBG(DBG_proc, "%s (%s)\n", __func__, set == AFE_INIT ? "init" : set == AFE_SET ? "set" : set == - AFE_POWER_SAVE ? "powersave" : "huh?"); - - RIE (sanei_genesys_read_register (dev, REG04, &val)); - - /* route to AD devices */ - if ((val & REG04_FESET) == 0x02) - { - return gl847_set_ad_fe (dev, set); - } - - /* for now there is no support yet for wolfson fe */ - DBG(DBG_proc, "%s(): unsupported frontend type %d\n", __func__, - dev->reg.find_reg(0x04).value & REG04_FESET); - - DBGCOMPLETED; - return SANE_STATUS_UNSUPPORTED; -} - - -/** @brief set up motor related register for scan - */ -static SANE_Status -gl847_init_motor_regs_scan (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, - unsigned int scan_exposure_time, - float scan_yres, - int scan_step_type, - unsigned int scan_lines, - unsigned int scan_dummy, - unsigned int feed_steps, - int scan_power_mode, - unsigned int flags) -{ - SANE_Status status = SANE_STATUS_GOOD; - int use_fast_fed; - unsigned int fast_dpi; - uint16_t scan_table[SLOPE_TABLE_SIZE]; - uint16_t fast_table[SLOPE_TABLE_SIZE]; - int scan_steps, fast_steps, factor; - unsigned int feedl, dist; - GenesysRegister *r; - uint32_t z1, z2; - unsigned int min_restep = 0x20; - uint8_t val, effective; - int fast_step_type; - unsigned int ccdlmt,tgtime; - - DBGSTART; - DBG(DBG_proc, "%s : scan_exposure_time=%d, can_yres=%g, scan_step_type=%d, scan_lines=%d, " - "scan_dummy=%d, feed_steps=%d, scan_power_mode=%d, flags=%x\n", __func__, scan_exposure_time, - scan_yres, scan_step_type, scan_lines, scan_dummy, feed_steps, scan_power_mode, flags); - - /* get step multiplier */ - factor = gl847_get_step_multiplier (reg); - - use_fast_fed=0; - /* no fast fed since feed works well */ - if(dev->settings.yres==4444 && feed_steps>100 - && ((flags & MOTOR_FLAG_FEED)==0)) - { - use_fast_fed=1; - } - DBG(DBG_io, "%s: use_fast_fed=%d\n", __func__, use_fast_fed); - - sanei_genesys_set_triple(reg, REG_LINCNT, scan_lines); - DBG(DBG_io, "%s: lincnt=%d\n", __func__, scan_lines); - - /* compute register 02 value */ - r = sanei_genesys_get_address (reg, REG02); - r->value = 0x00; - sanei_genesys_set_motor_power(*reg, true); - - if (use_fast_fed) - r->value |= REG02_FASTFED; - else - r->value &= ~REG02_FASTFED; - - if (flags & MOTOR_FLAG_AUTO_GO_HOME) - r->value |= REG02_AGOHOME | REG02_NOTHOME; - - if ((flags & MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE) - ||(scan_yres>=sensor.optical_res)) - { - r->value |= REG02_ACDCDIS; - } - - /* scan and backtracking slope table */ - sanei_genesys_slope_table(scan_table, - &scan_steps, - scan_yres, - scan_exposure_time, - dev->motor.base_ydpi, - scan_step_type, - factor, - dev->model->motor_type, - gl847_motors); - RIE(gl847_send_slope_table (dev, SCAN_TABLE, scan_table, scan_steps*factor)); - RIE(gl847_send_slope_table (dev, BACKTRACK_TABLE, scan_table, scan_steps*factor)); - - /* fast table */ - fast_dpi=sanei_genesys_get_lowest_ydpi(dev); - fast_step_type=scan_step_type; - if(scan_step_type>=2) - { - fast_step_type=2; - } - - sanei_genesys_slope_table(fast_table, - &fast_steps, - fast_dpi, - scan_exposure_time, - dev->motor.base_ydpi, - fast_step_type, - factor, - dev->model->motor_type, - gl847_motors); - - /* manual override of high start value */ - fast_table[0]=fast_table[1]; - - RIE(gl847_send_slope_table (dev, STOP_TABLE, fast_table, fast_steps*factor)); - RIE(gl847_send_slope_table (dev, FAST_TABLE, fast_table, fast_steps*factor)); - RIE(gl847_send_slope_table (dev, HOME_TABLE, fast_table, fast_steps*factor)); - - /* correct move distance by acceleration and deceleration amounts */ - feedl=feed_steps; - if (use_fast_fed) - { - feedl<<=fast_step_type; - dist=(scan_steps+2*fast_steps)*factor; - /* TODO read and decode REGAB */ - r = sanei_genesys_get_address (reg, 0x5e); - dist += (r->value & 31); - /* FEDCNT */ - r = sanei_genesys_get_address (reg, REG_FEDCNT); - dist += r->value; - } - else - { - feedl<<=scan_step_type; - dist=scan_steps*factor; - if (flags & MOTOR_FLAG_FEED) - dist *=2; - } - DBG(DBG_io2, "%s: scan steps=%d\n", __func__, scan_steps); - DBG(DBG_io2, "%s: acceleration distance=%d\n", __func__, dist); - - /* check for overflow */ - if(distvalue & REG0C_CCDLMT)+1; - - r = sanei_genesys_get_address (reg, REG1C); - tgtime=1<<(r->value & REG1C_TGTIME); - - /* hi res motor speed GPIO */ - RIE (sanei_genesys_read_register (dev, REG6C, &effective)); - - /* if quarter step, bipolar Vref2 */ - if (scan_step_type > 1) - { - if (scan_step_type < 3) - { - val = effective & ~REG6C_GPIO13; - } - else - { - val = effective | REG6C_GPIO13; - } - } - else - { - val = effective; - } - RIE (sanei_genesys_write_register (dev, REG6C, val)); - - /* effective scan */ - RIE (sanei_genesys_read_register (dev, REG6C, &effective)); - val = effective | REG6C_GPIO10; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - - min_restep=scan_steps/2-1; - if (min_restep < 1) - min_restep = 1; - r = sanei_genesys_get_address (reg, REG_FWDSTEP); - r->value = min_restep; - r = sanei_genesys_get_address (reg, REG_BWDSTEP); - r->value = min_restep; - - sanei_genesys_calculate_zmode2(use_fast_fed, - scan_exposure_time*ccdlmt*tgtime, - scan_table, - scan_steps*factor, - feedl, - min_restep*factor, - &z1, - &z2); - - DBG(DBG_info, "%s: z1 = %d\n", __func__, z1); - sanei_genesys_set_triple(reg, REG60, z1 | (scan_step_type << (16+REG60S_STEPSEL))); - - DBG(DBG_info, "%s: z2 = %d\n", __func__, z2); - sanei_genesys_set_triple(reg, REG63, z2 | (scan_step_type << (16+REG63S_FSTPSEL))); - - r = sanei_genesys_get_address (reg, 0x1e); - r->value &= 0xf0; /* 0 dummy lines */ - r->value |= scan_dummy; /* dummy lines */ - - r = sanei_genesys_get_address (reg, REG67); - r->value = REG67_MTRPWM; - - r = sanei_genesys_get_address (reg, REG68); - r->value = REG68_FASTPWM; - - r = sanei_genesys_get_address (reg, REG_STEPNO); - r->value = scan_steps; - - r = sanei_genesys_get_address (reg, REG_FASTNO); - r->value = scan_steps; - - r = sanei_genesys_get_address (reg, REG_FSHDEC); - r->value = scan_steps; - - r = sanei_genesys_get_address (reg, REG_FMOVNO); - r->value = fast_steps; - - r = sanei_genesys_get_address (reg, REG_FMOVDEC); - r->value = fast_steps; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** @brief set up registers related to sensor - * Set up the following registers - 0x01 - 0x03 - 0x10-0x015 R/G/B exposures - 0x19 EXPDMY - 0x2e BWHI - 0x2f BWLO - 0x04 - 0x87 - 0x05 - 0x2c,0x2d DPISET - 0x30,0x31 STRPIXEL - 0x32,0x33 ENDPIXEL - 0x35,0x36,0x37 MAXWD [25:2] (>>2) - 0x38,0x39 LPERIOD - 0x34 DUMMY - */ -static SANE_Status -gl847_init_optical_regs_scan (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, - unsigned int exposure_time, - int used_res, - unsigned int start, - unsigned int pixels, - int channels, - int depth, - SANE_Bool half_ccd, ColorFilter color_filter, int flags) -{ - unsigned int words_per_line; - unsigned int startx, endx, used_pixels; - unsigned int dpiset, dpihw,segnb,cksel,factor; - unsigned int bytes; - GenesysRegister *r; - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s : exposure_time=%d, used_res=%d, start=%d, pixels=%d, channels=%d, depth=%d, " - "half_ccd=%d, flags=%x\n", __func__, exposure_time, used_res, start, pixels, channels, depth, - half_ccd, flags); - - /* resolution is divided according to CKSEL */ - r = sanei_genesys_get_address (reg, REG18); - cksel= (r->value & REG18_CKSEL)+1; - DBG(DBG_io2, "%s: cksel=%d\n", __func__, cksel); - - /* to manage high resolution device while keeping good - * low resolution scanning speed, we make hardware dpi vary */ - dpihw=sanei_genesys_compute_dpihw(dev, sensor, used_res * cksel); - factor=sensor.optical_res/dpihw; - DBG(DBG_io2, "%s: dpihw=%d (factor=%d)\n", __func__, dpihw, factor); - - /* sensor parameters */ - Sensor_Profile* sensor_profile=get_sensor_profile(dev->model->ccd_type, dpihw); - gl847_setup_sensor(dev, sensor, reg, dpihw); - dpiset = used_res * cksel; - - /* start and end coordinate in optical dpi coordinates */ - startx = start/cksel+sensor.CCD_start_xoffset; - used_pixels=pixels/cksel; - - /* end of sensor window */ - endx = startx + used_pixels; - - /* sensors are built from 600 dpi segments for LiDE 100/200 - * and 1200 dpi for the 700F */ - if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR) - { - segnb=dpihw/600; - } - else - { - segnb=1; - } - - /* compute pixel coordinate in the given dpihw space, - * taking segments into account */ - startx/=factor*segnb; - endx/=factor*segnb; - dev->len=endx-startx; - dev->dist=0; - dev->skip=0; - - /* in cas of multi-segments sensor, we have to add the witdh - * of the sensor crossed by the scan area */ - if (dev->model->flags & GENESYS_FLAG_SIS_SENSOR && segnb>1) - { - dev->dist = sensor_profile->segcnt; - } - - /* use a segcnt rounded to next even number */ - endx += ((dev->dist+1)&0xfffe)*(segnb-1); - used_pixels=endx-startx; - - status = gl847_set_fe(dev, sensor, AFE_SET); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set frontend: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* enable shading */ - r = sanei_genesys_get_address (reg, REG01); - r->value &= ~REG01_SCAN; - r->value |= REG01_SHDAREA; - if ((flags & OPTICAL_FLAG_DISABLE_SHADING) || - (dev->model->flags & GENESYS_FLAG_NO_CALIBRATION)) - { - r->value &= ~REG01_DVDSET; - } - else - { - r->value |= REG01_DVDSET; - } - - r = sanei_genesys_get_address (reg, REG03); - r->value &= ~REG03_AVEENB; - - sanei_genesys_set_lamp_power(dev, sensor, *reg, !(flags & OPTICAL_FLAG_DISABLE_LAMP)); - - /* BW threshold */ - r = sanei_genesys_get_address (reg, 0x2e); - r->value = dev->settings.threshold; - r = sanei_genesys_get_address (reg, 0x2f); - r->value = dev->settings.threshold; - - /* monochrome / color scan */ - r = sanei_genesys_get_address (reg, REG04); - switch (depth) - { - case 1: - r->value &= ~REG04_BITSET; - r->value |= REG04_LINEART; - break; - case 8: - r->value &= ~(REG04_LINEART | REG04_BITSET); - break; - case 16: - r->value &= ~REG04_LINEART; - r->value |= REG04_BITSET; - break; - } - - r->value &= ~(REG04_FILTER | REG04_AFEMOD); - if (channels == 1) - { - switch (color_filter) - { - - case ColorFilter::RED: - r->value |= 0x14; - break; - case ColorFilter::BLUE: - r->value |= 0x1c; - break; - case ColorFilter::GREEN: - r->value |= 0x18; - break; - default: - break; // should not happen - } - } - else - r->value |= 0x10; /* mono */ - - /* register 05 */ - r = sanei_genesys_get_address (reg, REG05); - - /* set up dpihw */ - r->value &= ~REG05_DPIHW; - switch(dpihw) - { - case 600: - r->value |= REG05_DPIHW_600; - break; - case 1200: - r->value |= REG05_DPIHW_1200; - break; - case 2400: - r->value |= REG05_DPIHW_2400; - break; - case 4800: - r->value |= REG05_DPIHW_4800; - break; - } - - /* enable gamma tables */ - if (flags & OPTICAL_FLAG_DISABLE_GAMMA) - r->value &= ~REG05_GMMENB; - else - r->value |= REG05_GMMENB; - - /* CIS scanners can do true gray by setting LEDADD */ - /* we set up LEDADD only when asked */ - if (dev->model->is_cis == SANE_TRUE) - { - r = sanei_genesys_get_address (reg, 0x87); - r->value &= ~REG87_LEDADD; - if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) - { - r->value |= REG87_LEDADD; - } - /* RGB weighting - r = sanei_genesys_get_address (reg, 0x01); - r->value &= ~REG01_TRUEGRAY; - if (channels == 1 && (flags & OPTICAL_FLAG_ENABLE_LEDADD)) - { - r->value |= REG01_TRUEGRAY; - }*/ - } - - /* words(16bit) before gamma, conversion to 8 bit or lineart*/ - words_per_line = (used_pixels * dpiset) / dpihw; - bytes=depth/8; - if (depth == 1) - { - words_per_line = (words_per_line+7)/8 ; - dev->len = (dev->len >> 3) + ((dev->len & 7) ? 1 : 0); - dev->dist = (dev->dist >> 3) + ((dev->dist & 7) ? 1 : 0); - } - else - { - words_per_line *= bytes; - dev->dist *= bytes; - dev->len *= bytes; - } - - dev->bpl = words_per_line; - dev->cur=0; - dev->segnb=segnb; - dev->line_interp = 0; - - sanei_genesys_set_double(reg,REG_DPISET,dpiset); - DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset); - - sanei_genesys_set_double(reg,REG_STRPIXEL,startx); - sanei_genesys_set_double(reg,REG_ENDPIXEL,endx); - DBG (DBG_io2, "%s: startx=%d\n", __func__, startx); - DBG (DBG_io2, "%s: endx =%d\n", __func__, endx); - - DBG (DBG_io2, "%s: used_pixels=%d\n", __func__, used_pixels); - DBG (DBG_io2, "%s: pixels =%d\n", __func__, pixels); - DBG (DBG_io2, "%s: depth =%d\n", __func__, depth); - DBG (DBG_io2, "%s: dev->bpl =%lu\n", __func__, (unsigned long)dev->bpl); - DBG (DBG_io2, "%s: dev->len =%lu\n", __func__, (unsigned long)dev->len); - DBG (DBG_io2, "%s: dev->dist =%lu\n", __func__, (unsigned long)dev->dist); - DBG (DBG_io2, "%s: dev->segnb =%lu\n", __func__, (unsigned long)dev->segnb); - - words_per_line *= channels; - dev->wpl = words_per_line; - - dev->oe_buffer.clear(); - dev->oe_buffer.alloc(dev->wpl); - - /* MAXWD is expressed in 4 words unit */ - sanei_genesys_set_triple(reg, REG_MAXWD, (words_per_line >> 2)); - DBG(DBG_io2, "%s: words_per_line used=%d\n", __func__, words_per_line); - - sanei_genesys_set_double(reg, REG_LPERIOD, exposure_time); - DBG(DBG_io2, "%s: exposure_time used=%d\n", __func__, exposure_time); - - r = sanei_genesys_get_address (reg, 0x34); - r->value = sensor.dummy_pixel; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* set up registers for an actual scan - * - * this function sets up the scanner to scan in normal or single line mode - */ -static SANE_Status -gl847_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, - SetupParams& params) - -{ - params.assert_valid(); - - int used_res; - int start, used_pixels; - int bytes_per_line; - int move; - unsigned int lincnt; - unsigned int oflags; /**> optical flags */ - unsigned int mflags; /**> motor flags */ - int exposure_time; - int stagger; - - int slope_dpi = 0; - int dummy = 0; - int scan_step_type = 1; - int scan_power_mode = 0; - int max_shift; - size_t requested_buffer_size, read_buffer_size; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, params); - - /* we may have 2 domains for ccd: xres below or above half ccd max dpi */ - if (sensor.get_ccd_size_divisor_for_dpi(params.xres) > 1) - { - half_ccd = SANE_TRUE; - } - else - { - half_ccd = SANE_FALSE; - } - - /* optical_res */ - optical_res = sensor.optical_res; - if (half_ccd) - optical_res /= 2; - - /* stagger */ - if ((!half_ccd) && (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE)) - stagger = (4 * params.yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG(DBG_info, "%s : stagger=%d lines\n", __func__, stagger); - - /* used_res */ - if (params.flags & SCAN_FLAG_USE_OPTICAL_RES) - { - used_res = optical_res; - } - else - { - /* resolution is choosen from a list */ - used_res = params.xres; - } - - /* compute scan parameters values */ - /* pixels are allways given at full optical resolution */ - /* use detected left margin and fixed value */ - /* start */ - /* add x coordinates */ - start = params.startx; - - if (stagger > 0) - start |= 1; - - /* compute correct pixels number */ - /* pixels */ - used_pixels = (params.pixels * optical_res) / params.xres; - - /* round up pixels number if needed */ - if (used_pixels * params.xres < params.pixels * optical_res) - used_pixels++; - - dummy = 3-params.channels; - -/* slope_dpi */ -/* cis color scan is effectively a gray scan with 3 gray lines per color - line and a FILTER of 0 */ - if (dev->model->is_cis) - slope_dpi = params.yres * params.channels; - else - slope_dpi = params.yres; - - slope_dpi = slope_dpi * (1 + dummy); - - exposure_time = gl847_compute_exposure (dev, used_res); - scan_step_type = sanei_genesys_compute_step_type(gl847_motors, dev->model->motor_type, exposure_time); - - DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); - DBG(DBG_info, "%s : scan_step_type=%d\n", __func__, scan_step_type); - -/*** optical parameters ***/ - /* in case of dynamic lineart, we use an internal 8 bit gray scan - * to generate 1 lineart data */ - if (params.flags & SCAN_FLAG_DYNAMIC_LINEART) { - params.depth = 8; - } - - /* we enable true gray for cis scanners only, and just when doing - * scan since color calibration is OK for this mode - */ - oflags = 0; - if(params.flags & SCAN_FLAG_DISABLE_SHADING) - oflags |= OPTICAL_FLAG_DISABLE_SHADING; - if(params.flags & SCAN_FLAG_DISABLE_GAMMA) - oflags |= OPTICAL_FLAG_DISABLE_GAMMA; - if(params.flags & SCAN_FLAG_DISABLE_LAMP) - oflags |= OPTICAL_FLAG_DISABLE_LAMP; - - if (dev->model->is_cis && dev->settings.true_gray) - { - oflags |= OPTICAL_FLAG_ENABLE_LEDADD; - } - - status = gl847_init_optical_regs_scan (dev, sensor, - reg, - exposure_time, - used_res, - start, - used_pixels, - params.channels, - params.depth, - half_ccd, - params.color_filter, - oflags); - - if (status != SANE_STATUS_GOOD) - return status; - -/*** motor parameters ***/ - - /* max_shift */ - max_shift=sanei_genesys_compute_max_shift(dev,params.channels,params.yres,params.flags); - - /* lincnt */ - lincnt = params.lines + max_shift + stagger; - - /* add tl_y to base movement */ - move = params.starty; - DBG(DBG_info, "%s: move=%d steps\n", __func__, move); - - mflags=0; - if(params.flags & SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE) - mflags |= MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE; - if(params.flags & SCAN_FLAG_FEEDING) - mflags |= MOTOR_FLAG_FEED; - - status = gl847_init_motor_regs_scan (dev, sensor, - reg, - exposure_time, - slope_dpi, - scan_step_type, - dev->model->is_cis ? lincnt * - params.channels : lincnt, dummy, move, - scan_power_mode, - mflags); - - if (status != SANE_STATUS_GOOD) - return status; - - - /*** prepares data reordering ***/ - -/* words_per_line */ - bytes_per_line = (used_pixels * used_res) / optical_res; - bytes_per_line = (bytes_per_line * params.channels * params.depth) / 8; - - requested_buffer_size = 8 * bytes_per_line; - - read_buffer_size = - 2 * requested_buffer_size + - ((max_shift + stagger) * used_pixels * params.channels * params.depth) / 8; - - dev->read_buffer.clear(); - dev->read_buffer.alloc(read_buffer_size); - - dev->lines_buffer.clear(); - dev->lines_buffer.alloc(read_buffer_size); - - dev->shrink_buffer.clear(); - dev->shrink_buffer.alloc(requested_buffer_size); - - dev->out_buffer.clear(); - dev->out_buffer.alloc((8 * params.pixels * params.channels * params.depth) / 8); - - dev->read_bytes_left = bytes_per_line * lincnt; - - DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); - dev->read_active = SANE_TRUE; - - dev->current_setup.params = params; - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - dev->current_setup.lines = lincnt; - dev->current_setup.depth = params.depth; - dev->current_setup.channels = params.channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = params.yres; - dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - -/* TODO: should this be done elsewhere? */ - /* scan bytes to send to the frontend */ - /* theory : - target_size = - (params.pixels * params.lines * channels * depth) / 8; - but it suffers from integer overflow so we do the following: - - 1 bit color images store color data byte-wise, eg byte 0 contains - 8 bits of red data, byte 1 contains 8 bits of green, byte 2 contains - 8 bits of blue. - This does not fix the overflow, though. - 644mp*16 = 10gp, leading to an overflow - -- pierre - */ - - dev->total_bytes_read = 0; - if (params.depth == 1) - dev->total_bytes_to_read = - ((params.pixels * params.lines) / 8 + - (((params.pixels * params.lines) % 8) ? 1 : 0)) * - params.channels; - else - dev->total_bytes_to_read = - params.pixels * params.lines * params.channels * (params.depth / 8); - - DBG(DBG_info, "%s: total bytes to send = %lu\n", __func__, (u_long) dev->total_bytes_to_read); -/* END TODO */ - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static void -gl847_calculate_current_setup(Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int channels; - int depth; - int start; - - int used_res; - int used_pixels; - unsigned int lincnt; - int exposure_time; - int stagger; - - int slope_dpi = 0; - int dummy = 0; - int max_shift; - - SANE_Bool half_ccd; /* false: full CCD res is used, true, half max CCD res is used */ - int optical_res; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, dev->settings); - - /* channels */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == ScanColorMode::LINEART) - depth = 1; - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - start = (start * sensor.optical_res) / MM_PER_INCH; - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = start; // not used - params.starty = 0; // not used - params.pixels = dev->settings.pixels; - params.lines = dev->settings.lines; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = dev->settings.scan_mode; - params.color_filter = dev->settings.color_filter; - params.flags = 0; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, params); - -/* half_ccd */ - /* we have 2 domains for ccd: xres below or above half ccd max dpi */ - if (sensor.get_ccd_size_divisor_for_dpi(params.xres) > 1) { - half_ccd = SANE_TRUE; - } else { - half_ccd = SANE_FALSE; - } - - /* optical_res */ - optical_res = sensor.optical_res; - - /* stagger */ - if (dev->model->flags & GENESYS_FLAG_STAGGERED_LINE) - stagger = (4 * params.yres) / dev->motor.base_ydpi; - else - stagger = 0; - DBG(DBG_info, "%s: stagger=%d lines\n", __func__, stagger); - - /* resolution is choosen from a fixed list */ - used_res = params.xres; - - /* compute scan parameters values */ - /* pixels are allways given at half or full CCD optical resolution */ - /* use detected left margin and fixed value */ - - /* compute correct pixels number */ - used_pixels = (params.pixels * optical_res) / used_res; - dummy = 3 - params.channels; - - /* slope_dpi */ - /* cis color scan is effectively a gray scan with 3 gray lines per color - line and a FILTER of 0 */ - if (dev->model->is_cis) { - slope_dpi = params.yres * params.channels; - } else { - slope_dpi = params.yres; - } - - slope_dpi = slope_dpi * (1 + dummy); - - exposure_time = gl847_compute_exposure (dev, used_res); - DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time); - - /* max_shift */ - max_shift = sanei_genesys_compute_max_shift(dev, params.channels, params.yres, 0); - - /* lincnt */ - lincnt = params.lines + max_shift + stagger; - - dev->current_setup.params = params; - dev->current_setup.pixels = (used_pixels * used_res) / optical_res; - dev->current_setup.lines = lincnt; - dev->current_setup.depth = params.depth; - dev->current_setup.channels = params.channels; - dev->current_setup.exposure_time = exposure_time; - dev->current_setup.xres = used_res; - dev->current_setup.yres = params.yres; - dev->current_setup.ccd_size_divisor = half_ccd ? 2 : 1; - dev->current_setup.stagger = stagger; - dev->current_setup.max_shift = max_shift + stagger; - - DBGCOMPLETED; -} - -/*for fast power saving methods only, like disabling certain amplifiers*/ -static SANE_Status -gl847_save_power (Genesys_Device * dev, SANE_Bool enable) -{ - DBG(DBG_proc, "%s: enable = %d\n", __func__, enable); - if (dev == NULL) - return SANE_STATUS_INVAL; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl847_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ ) -{ - DBG(DBG_proc, "%s (delay = %d)\n", __func__, delay); - if (dev == NULL) - return SANE_STATUS_INVAL; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl847_start_action (Genesys_Device * dev) -{ - return sanei_genesys_write_register (dev, 0x0f, 0x01); -} - -static SANE_Status -gl847_stop_action (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val40, val; - unsigned int loop; - - DBGSTART; - - /* post scan gpio : without that HOMSNR is unreliable */ - gl847_homsnr_gpio(dev); - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - status = sanei_genesys_read_register (dev, REG40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* only stop action if needed */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG)) - { - DBG(DBG_info, "%s: already stopped\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - /* ends scan */ - val = dev->reg.get8(REG01); - val &= ~REG01_SCAN; - sanei_genesys_set_reg_from_set(&dev->reg, REG01, val); - status = sanei_genesys_write_register (dev, REG01, val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to write register 01: %s\n", __func__, sane_strstatus(status)); - return status; - } - sanei_genesys_sleep_ms(100); - - loop = 10; - while (loop > 0) - { - status = sanei_genesys_get_status (dev, &val); - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - status = sanei_genesys_read_register (dev, REG40, &val40); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* if scanner is in command mode, we are done */ - if (!(val40 & REG40_DATAENB) && !(val40 & REG40_MOTMFLG) - && !(val & REG41_MOTORENB)) - { - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - sanei_genesys_sleep_ms(100); - loop--; - } - - DBGCOMPLETED; - return SANE_STATUS_IO_ERROR; -} - -/* Send the low-level scan command */ -static SANE_Status -gl847_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys_Register_Set * reg, - SANE_Bool start_motor) -{ - (void) sensor; - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - GenesysRegister *r; - - DBGSTART; - - /* clear GPIO 10 */ - if (dev->model->gpo_type != GPO_CANONLIDE700) - { - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - val &= ~REG6C_GPIO10; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - } - - val = REG0D_CLRLNCNT; - RIE (sanei_genesys_write_register (dev, REG0D, val)); - val = REG0D_CLRMCNT; - RIE (sanei_genesys_write_register (dev, REG0D, val)); - - RIE (sanei_genesys_read_register (dev, REG01, &val)); - val |= REG01_SCAN; - RIE (sanei_genesys_write_register (dev, REG01, val)); - r = sanei_genesys_get_address (reg, REG01); - r->value = val; - - if (start_motor) - { - RIE (sanei_genesys_write_register (dev, REG0F, 1)); - } - else - { - RIE (sanei_genesys_write_register (dev, REG0F, 0)); - } - - DBGCOMPLETED; - - return status; -} - - -/* Send the stop scan command */ -static SANE_Status -gl847_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, - SANE_Bool check_stop) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_proc, "%s (check_stop = %d)\n", __func__, check_stop); - if (reg == NULL) - return SANE_STATUS_INVAL; - - if (dev->model->is_sheetfed == SANE_TRUE) - { - status = SANE_STATUS_GOOD; - } - else /* flat bed scanners */ - { - status = gl847_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); - return status; - } - } - - DBGCOMPLETED; - return status; -} - -/** rewind scan - * Move back by the same amount of distance than previous scan. - * @param dev device to rewind - * @returns SANE_STATUS_GOOD on success - */ -#if 0 /* disabled to fix #7 */ -static -SANE_Status gl847_rewind(Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t byte; - - DBGSTART; - - /* set motor reverse */ - RIE (sanei_genesys_read_register (dev, 0x02, &byte)); - byte |= 0x04; - RIE (sanei_genesys_write_register(dev, 0x02, byte)); - - /* and start scan, then wait completion */ - RIE (gl847_begin_scan (dev, dev->reg, SANE_TRUE)); - do - { - sanei_genesys_sleep_ms(100); - RIE (sanei_genesys_read_register (dev, REG40, &byte)); - } - while(byte & REG40_MOTMFLG); - RIE (gl847_end_scan (dev, dev->reg, SANE_TRUE)); - - /* restore direction */ - RIE (sanei_genesys_read_register (dev, 0x02, &byte)); - byte &= 0xfb; - RIE (sanei_genesys_write_register(dev, 0x02, byte)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} -#endif - -/** Park head - * Moves the slider to the home (top) position slowly - * @param dev device to park - * @param wait_until_home true to make the function waiting for head - * to be home before returning, if fals returne immediately - * @returns SANE_STATUS_GOO on success */ -static -SANE_Status -gl847_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) -{ - Genesys_Register_Set local_reg; - SANE_Status status = SANE_STATUS_GOOD; - GenesysRegister *r; - float resolution; - uint8_t val; - int loop = 0; - ScanColorMode scan_mode; - - DBG(DBG_proc, "%s (wait_until_home = %d)\n", __func__, wait_until_home); - - /* post scan gpio : without that HOMSNR is unreliable */ - gl847_homsnr_gpio(dev); - - /* first read gives HOME_SENSOR true */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - sanei_genesys_sleep_ms(100); - - /* second is reliable */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, sane_strstatus(status)); - return status; - } - if (DBG_LEVEL >= DBG_io) - { - sanei_genesys_print_status (val); - } - - /* is sensor at home? */ - if (val & HOMESNR) - { - DBG(DBG_info, "%s: already at home, completed\n", __func__); - dev->scanhead_position_in_steps = 0; - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - - local_reg = dev->reg; - - resolution=sanei_genesys_get_lowest_ydpi(dev); - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - /* TODO add scan_mode to the API */ - scan_mode = dev->settings.scan_mode; - dev->settings.scan_mode = ScanColorMode::LINEART; - - SetupParams params; - params.xres = resolution; - params.yres = resolution; - params.startx = 100; - params.starty = 30000; - params.pixels = 100; - params.lines = 100; - params.depth = 8; - params.channels = 1; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::GRAY; - params.color_filter = ColorFilter::RED; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl847_init_scan_regs(dev, sensor, &local_reg, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - dev->settings.scan_mode = scan_mode; - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); - - /* set up for reverse */ - r = sanei_genesys_get_address (&local_reg, REG02); - r->value |= REG02_MTRREV; - - RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); - - try { - status = gl847_start_action (dev); - } catch (...) { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - try { - gl847_stop_action(dev); - } catch (...) {} - try { - // restore original registers - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - } catch (...) {} - throw; - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - gl847_stop_action (dev); - /* send original registers */ - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - return status; - } - - /* post scan gpio : without that HOMSNR is unreliable */ - gl847_homsnr_gpio(dev); - - if (wait_until_home) - { - while (loop < 300) /* do not wait longer then 30 seconds */ - { - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - if (val & HOMESNR) /* home sensor */ - { - DBG(DBG_info, "%s: reached home position\n", __func__); - gl847_stop_action (dev); - dev->scanhead_position_in_steps = 0; - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } - sanei_genesys_sleep_ms(100); - ++loop; - } - - /* when we come here then the scanner needed too much time for this, so we better stop the motor */ - gl847_stop_action (dev); - DBG(DBG_error, "%s: timeout while waiting for scanhead to go home\n", __func__); - return SANE_STATUS_IO_ERROR; - } - - DBG(DBG_info, "%s: scanhead is still moving\n", __func__); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/* Automatically set top-left edge of the scan area by scanning a 200x200 pixels - area at 600 dpi from very top of scanner */ -static SANE_Status -gl847_search_start_position (Genesys_Device * dev) -{ - int size; - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set local_reg; - int steps; - - int pixels = 600; - int dpi = 300; - - DBG(DBG_proc, "%s\n", __func__); - - local_reg = dev->reg; - - /* sets for a 200 lines * 600 pixels */ - /* normal scan with no shading */ - - // FIXME: the current approach of doing search only for one resolution does not work on scanners - // whith employ different sensors with potentially different settings. - auto& sensor = sanei_genesys_find_sensor_for_write(dev, dpi); - - SetupParams params; - params.xres = dpi; - params.yres = dpi; - params.startx = 0; - params.starty = 0; /*we should give a small offset here~60 steps */ - params.pixels = 600; - params.lines = dev->model->search_lines; - params.depth = 8; - params.channels = 1; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::GRAY; - params.color_filter = ColorFilter::GREEN; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl847_init_scan_regs(dev, sensor, &local_reg, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* send to scanner */ - status = dev->model->cmd_set->bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - size = pixels * dev->model->search_lines; - - std::vector data(size); - - status = gl847_begin_scan(dev, sensor, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl847_search_position.pnm", data.data(), 8, 1, pixels, - dev->model->search_lines); - - status = gl847_end_scan(dev, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to end scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* update regs to copy ASIC internal state */ - dev->reg = local_reg; - -/*TODO: find out where sanei_genesys_search_reference_point - stores information, and use that correctly*/ - status = - sanei_genesys_search_reference_point(dev, sensor, data.data(), 0, dpi, pixels, - dev->model->search_lines); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set search reference point: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - return SANE_STATUS_GOOD; -} - -/* - * sets up register for coarse gain calibration - * todo: check it for scanners using it */ -static SANE_Status -gl847_init_regs_for_coarse_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t channels; - uint8_t cksel; - - DBG(DBG_proc, "%s\n", __func__); - - - cksel = (regs.find_reg(0x18).value & REG18_CKSEL) + 1; /* clock speed = 1..4 clocks */ - - /* set line size */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else { - channels = 1; - } - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = 0; - params.starty = 0; - params.pixels = sensor.optical_res / cksel; - params.lines = 20; - params.depth = 16; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = dev->settings.scan_mode; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl847_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_info, "%s: optical sensor res: %d dpi, actual res: %d\n", __func__, - sensor.optical_res / cksel, dev->settings.xres); - - status = - dev->model->cmd_set->bulk_write_register(dev, regs); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief moves the slider to steps at motor base dpi - * @param dev device to work on - * @param steps number of steps to move in base_dpi line count - * */ -static SANE_Status -gl847_feed (Genesys_Device * dev, unsigned int steps) -{ - Genesys_Register_Set local_reg; - SANE_Status status = SANE_STATUS_GOOD; - GenesysRegister *r; - float resolution; - uint8_t val; - - DBGSTART; - DBG(DBG_io, "%s: steps=%d\n", __func__, steps); - - local_reg = dev->reg; - - resolution=sanei_genesys_get_lowest_ydpi(dev); - const auto& sensor = sanei_genesys_find_sensor(dev, resolution); - - SetupParams params; - params.xres = resolution; - params.yres = resolution; - params.startx = 0; - params.starty = steps; - params.pixels = 100; - params.lines = 3; - params.depth = 8; - params.channels = 3; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_FEEDING | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl847_init_scan_regs(dev, sensor, &local_reg, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to set up registers: %s\n", __func__, sane_strstatus(status)); - DBGCOMPLETED; - return status; - } - - /* set exposure to zero */ - sanei_genesys_set_triple(&local_reg,REG_EXPR,0); - sanei_genesys_set_triple(&local_reg,REG_EXPG,0); - sanei_genesys_set_triple(&local_reg,REG_EXPB,0); - - /* clear scan and feed count */ - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT)); - RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRMCNT)); - - /* set up for no scan */ - r = sanei_genesys_get_address(&local_reg, REG01); - r->value &= ~REG01_SCAN; - - /* send registers */ - RIE (dev->model->cmd_set->bulk_write_register(dev, local_reg)); - - try { - status = gl847_start_action (dev); - } catch (...) { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - try { - gl847_stop_action(dev); - } catch (...) {} - try { - // restore original registers - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - } catch (...) {} - throw; - } - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to start motor: %s\n", __func__, sane_strstatus(status)); - gl847_stop_action (dev); - - /* restore original registers */ - dev->model->cmd_set->bulk_write_register(dev, dev->reg); - return status; - } - - /* wait until feed count reaches the required value, but do not - * exceed 30s */ - do - { - status = sanei_genesys_get_status (dev, &val); - } - while (status == SANE_STATUS_GOOD && !(val & FEEDFSH)); - - /* then stop scanning */ - RIE(gl847_stop_action (dev)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/* init registers for shading calibration */ -static SANE_Status -gl847_init_regs_for_shading(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - float move; - - DBGSTART; - dev->calib_channels = 3; - - /* initial calibration reg values */ - regs = dev->reg; - - dev->calib_resolution = sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); - dev->calib_total_bytes_to_read = 0; - dev->calib_lines = dev->model->shading_lines; - if(dev->calib_resolution==4800) - dev->calib_lines *= 2; - dev->calib_pixels = (sensor.sensor_pixels*dev->calib_resolution)/sensor.optical_res; - DBG(DBG_io, "%s: calib_lines = %d\n", __func__, (int)dev->calib_lines); - DBG(DBG_io, "%s: calib_pixels = %d\n", __func__, (int)dev->calib_pixels); - - /* this is aworkaround insufficent distance for slope - * motor acceleration TODO special motor slope for shading */ - move=1; - if(dev->calib_resolution<1200) - { - move=40; - } - - SetupParams params; - params.xres = dev->calib_resolution; - params.yres = dev->calib_resolution; - params.startx = 0; - params.starty = move; - params.pixels = dev->calib_pixels; - params.lines = dev->calib_lines; - params.depth = 16; - params.channels = dev->calib_channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl847_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = dev->model->cmd_set->bulk_write_register(dev, regs); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* we use GENESYS_FLAG_SHADING_REPARK */ - dev->scanhead_position_in_steps = 0; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** @brief set up registers for the actual scan - */ -static SANE_Status -gl847_init_regs_for_scan (Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int channels; - int flags; - int depth; - float move; - int move_dpi; - float start; - - SANE_Status status = SANE_STATUS_GOOD; - - DBG(DBG_info, "%s ", __func__); - debug_dump(DBG_info, dev->settings); - - /* channels */ - if (dev->settings.scan_mode == ScanColorMode::COLOR_SINGLE_PASS) - channels = 3; - else - channels = 1; - - /* depth */ - depth = dev->settings.depth; - if (dev->settings.scan_mode == ScanColorMode::LINEART) - depth = 1; - - - /* steps to move to reach scanning area: - - first we move to physical start of scanning - either by a fixed steps amount from the black strip - or by a fixed amount from parking position, - minus the steps done during shading calibration - - then we move by the needed offset whitin physical - scanning area - - assumption: steps are expressed at maximum motor resolution - - we need: - SANE_Fixed y_offset; - SANE_Fixed y_size; - SANE_Fixed y_offset_calib; - mm_to_steps()=motor dpi / 2.54 / 10=motor dpi / MM_PER_INCH */ - - /* if scanner uses GENESYS_FLAG_SEARCH_START y_offset is - relative from origin, else, it is from parking position */ - - move_dpi = dev->motor.base_ydpi; - - move = SANE_UNFIX (dev->model->y_offset); - move += dev->settings.tl_y; - move = (move * move_dpi) / MM_PER_INCH; - move -= dev->scanhead_position_in_steps; - DBG(DBG_info, "%s: move=%f steps\n", __func__, move); - - /* fast move to scan area */ - /* we don't move fast the whole distance since it would involve - * computing acceleration/deceleration distance for scan - * resolution. So leave a remainder for it so scan makes the final - * move tuning */ - if(channels*dev->settings.yres>=600 && move>700) - { - status = gl847_feed (dev, move-500); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to move to scan area\n", __func__); - return status; - } - move=500; - } - - DBG(DBG_info, "%s: move=%f steps\n", __func__, move); - DBG(DBG_info, "%s: move=%f steps\n", __func__, move); - - /* start */ - start = SANE_UNFIX (dev->model->x_offset); - start += dev->settings.tl_x; - start = (start * sensor.optical_res) / MM_PER_INCH; - - flags = 0; - - /* emulated lineart from gray data is required for now */ - if(dev->settings.scan_mode == ScanColorMode::LINEART - && dev->settings.dynamic_lineart) - { - flags |= SCAN_FLAG_DYNAMIC_LINEART; - } - - /* backtracking isn't handled well, so don't enable it */ - flags |= SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE; - - SetupParams params; - params.xres = dev->settings.xres; - params.yres = dev->settings.yres; - params.startx = start; - params.starty = move; - params.pixels = dev->settings.pixels; - params.lines = dev->settings.lines; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = dev->settings.scan_mode; - params.color_filter = dev->settings.color_filter; - params.flags = flags; - - status = gl847_init_scan_regs(dev, sensor, &dev->reg, params); - - if (status != SANE_STATUS_GOOD) - return status; - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - - -/** - * Send shading calibration data. The buffer is considered to always hold values - * for all the channels. - */ -static SANE_Status -gl847_send_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, - uint8_t * data, int size) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint32_t addr, length, i, x, factor, pixels; - uint32_t dpiset, dpihw, strpixel, endpixel; - uint16_t tempo; - uint32_t lines, channels; - uint8_t val,*ptr,*src; - - DBGSTART; - DBG(DBG_io2, "%s: writing %d bytes of shading data\n", __func__, size); - - /* shading data is plit in 3 (up to 5 with IR) areas - write(0x10014000,0x00000dd8) - URB 23429 bulk_out len 3544 wrote 0x33 0x10 0x.... - write(0x1003e000,0x00000dd8) - write(0x10068000,0x00000dd8) - */ - length = (uint32_t) (size / 3); - sanei_genesys_get_double(&dev->reg,REG_STRPIXEL,&tempo); - strpixel=tempo; - sanei_genesys_get_double(&dev->reg,REG_ENDPIXEL,&tempo); - endpixel=tempo; - - /* compute deletion factor */ - sanei_genesys_get_double(&dev->reg,REG_DPISET,&tempo); - dpiset=tempo; - DBG(DBG_io2, "%s: STRPIXEL=%d, ENDPIXEL=%d, PIXELS=%d, DPISET=%d\n", __func__, strpixel, endpixel, - endpixel-strpixel, dpiset); - dpihw=sanei_genesys_compute_dpihw(dev, sensor, dpiset); - factor=dpihw/dpiset; - DBG(DBG_io2, "%s: factor=%d\n", __func__, factor); - - if(DBG_LEVEL>=DBG_data) - { - dev->binary=fopen("binary.pnm","wb"); - sanei_genesys_get_triple(&dev->reg, REG_LINCNT, &lines); - channels=dev->current_setup.channels; - if(dev->binary!=NULL) - { - fprintf(dev->binary,"P5\n%d %d\n%d\n",(endpixel-strpixel)/factor*channels,lines/channels,255); - } - } - - pixels=endpixel-strpixel; - - /* since we're using SHDAREA, substract startx coordinate from shading */ - strpixel-=((sensor.CCD_start_xoffset*600)/sensor.optical_res); - - /* turn pixel value into bytes 2x16 bits words */ - strpixel*=2*2; - pixels*=2*2; - - std::vector buffer(pixels, 0); - - DBG(DBG_io2, "%s: using chunks of %d (0x%04x) bytes\n", __func__, pixels, pixels); - - /* base addr of data has been written in reg D0-D4 in 4K word, so AHB address - * is 8192*reg value */ - - /* write actual color channel data */ - for(i=0;i<3;i++) - { - /* build up actual shading data by copying the part from the full width one - * to the one corresponding to SHDAREA */ - ptr = buffer.data(); - - /* iterate on both sensor segment */ - for(x=0;xmodel->y_offset_calib); - move = (move * (dev->motor.base_ydpi/4)) / MM_PER_INCH; - if(move>20) - { - RIE(gl847_feed (dev, move)); - } - DBG(DBG_io, "%s: move=%f steps\n", __func__, move); - - /* offset calibration is always done in color mode */ - channels = 3; - depth=16; - used_res=sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); - Sensor_Profile* sensor_profile=get_sensor_profile(dev->model->ccd_type, used_res); - num_pixels = (sensor.sensor_pixels*used_res)/sensor.optical_res; - - /* initial calibration reg values */ - regs = dev->reg; - - SetupParams params; - params.xres = used_res; - params.yres = used_res; - params.startx = 0; - params.starty = 0; - params.pixels = num_pixels; - params.lines = 1; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl847_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - total_size = num_pixels * channels * (depth/8) * 1; /* colors * bytes_per_color * scan lines */ - std::vector line(total_size); - - /* initial loop values and boundaries */ - exp[0]=sensor_profile->expr; - exp[1]=sensor_profile->expg; - exp[2]=sensor_profile->expb; - - bottom[0]=29000; - bottom[1]=29000; - bottom[2]=29000; - - top[0]=41000; - top[1]=51000; - top[2]=51000; - - turn = 0; - - /* no move during led calibration */ - sanei_genesys_set_motor_power(regs, false); - do - { - /* set up exposure */ - sanei_genesys_set_double(®s,REG_EXPR,exp[0]); - sanei_genesys_set_double(®s,REG_EXPG,exp[1]); - sanei_genesys_set_double(®s,REG_EXPB,exp[2]); - - /* write registers and scan data */ - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - - DBG(DBG_info, "%s: starting line reading\n", __func__); - RIE(gl847_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); - - /* stop scanning */ - RIE(gl847_stop_action (dev)); - - if (DBG_LEVEL >= DBG_data) - { - char fn[30]; - snprintf(fn, 30, "gl847_led_%02d.pnm", turn); - sanei_genesys_write_pnm_file(fn, line.data(), depth, channels, num_pixels, 1); - } - - /* compute average */ - for (j = 0; j < channels; j++) - { - avg[j] = 0; - for (i = 0; i < num_pixels; i++) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * num_pixels + 1] * 256 + - line[i * 2 + j * 2 * num_pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - avg[j] += val; - } - - avg[j] /= num_pixels; - } - - DBG(DBG_info, "%s: average: %d,%d,%d\n", __func__, avg[0], avg[1], avg[2]); - - /* check if exposure gives average within the boundaries */ - acceptable = SANE_TRUE; - for(i=0;i<3;i++) - { - if(avg[i]top[i]) - { - exp[i]=(exp[i]*top[i])/avg[i]; - acceptable = SANE_FALSE; - } - } - - turn++; - } - while (!acceptable && turn < 100); - - DBG(DBG_info, "%s: acceptable exposure: %d,%d,%d\n", __func__, exp[0], exp[1], exp[2]); - - /* set these values as final ones for scan */ - sanei_genesys_set_double(&dev->reg,REG_EXPR,exp[0]); - sanei_genesys_set_double(&dev->reg,REG_EXPG,exp[1]); - sanei_genesys_set_double(&dev->reg,REG_EXPB,exp[2]); - - /* store in this struct since it is the one used by cache calibration */ - sensor.exposure.red = exp[0]; - sensor.exposure.green = exp[1]; - sensor.exposure.blue = exp[2]; - - /* go back home */ - if(move>20) - { - status=gl847_slow_back_home (dev, SANE_TRUE); - } - - DBGCOMPLETED; - return status; -} - -/** - * set up GPIO/GPOE for idle state - */ -static SANE_Status -gl847_init_gpio (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx=0; - - DBGSTART; - - /* search GPIO profile */ - while(gpios[idx].sensor_id!=0 && dev->model->gpo_type!=gpios[idx].sensor_id) - { - idx++; - } - if(gpios[idx].sensor_id==0) - { - DBG(DBG_error, "%s: failed to find GPIO profile for sensor_id=%d\n", __func__, - dev->model->ccd_type); - return SANE_STATUS_INVAL; - } - - RIE (sanei_genesys_write_register (dev, REGA7, gpios[idx].ra7)); - RIE (sanei_genesys_write_register (dev, REGA6, gpios[idx].ra6)); - - RIE (sanei_genesys_write_register (dev, REG6E, gpios[idx].r6e)); - RIE (sanei_genesys_write_register (dev, REG6C, 0x00)); - - RIE (sanei_genesys_write_register (dev, REG6B, gpios[idx].r6b)); - RIE (sanei_genesys_write_register (dev, REG6C, gpios[idx].r6c)); - RIE (sanei_genesys_write_register (dev, REG6D, gpios[idx].r6d)); - RIE (sanei_genesys_write_register (dev, REG6E, gpios[idx].r6e)); - RIE (sanei_genesys_write_register (dev, REG6F, gpios[idx].r6f)); - - RIE (sanei_genesys_write_register (dev, REGA8, gpios[idx].ra8)); - RIE (sanei_genesys_write_register (dev, REGA9, gpios[idx].ra9)); - - DBGCOMPLETED; - return status; -} - -/** - * set memory layout by filling values in dedicated registers - */ -static SANE_Status -gl847_init_memory_layout (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - int idx = 0; - uint8_t val; - - DBG(DBG_proc, "%s\n" , __func__); - - /* point to per model memory layout */ - idx = 0; - if (dev->model->model_id == MODEL_CANON_LIDE_100) - { - idx = 0; - } - if (dev->model->model_id == MODEL_CANON_LIDE_200) - { - idx = 1; - } - if (dev->model->model_id == MODEL_CANON_CANOSCAN_5600F) - { - idx = 2; - } - if (dev->model->model_id == MODEL_CANON_LIDE_700F) - { - idx = 3; - } - - /* CLKSET nd DRAMSEL */ - val = layouts[idx].dramsel; - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg.find_reg(0x0b).value = val; - - /* prevent further writings by bulk write register */ - dev->reg.remove_reg(0x0b); - - /* setup base address for shading data. */ - /* values must be multiplied by 8192=0x4000 to give address on AHB */ - /* R-Channel shading bank0 address setting for CIS */ - sanei_genesys_write_register (dev, 0xd0, layouts[idx].rd0); - /* G-Channel shading bank0 address setting for CIS */ - sanei_genesys_write_register (dev, 0xd1, layouts[idx].rd1); - /* B-Channel shading bank0 address setting for CIS */ - sanei_genesys_write_register (dev, 0xd2, layouts[idx].rd2); - - /* setup base address for scanned data. */ - /* values must be multiplied by 1024*2=0x0800 to give address on AHB */ - /* R-Channel ODD image buffer 0x0124->0x92000 */ - /* size for each buffer is 0x16d*1k word */ - sanei_genesys_write_register (dev, 0xe0, layouts[idx].re0); - sanei_genesys_write_register (dev, 0xe1, layouts[idx].re1); - /* R-Channel ODD image buffer end-address 0x0291->0x148800 => size=0xB6800*/ - sanei_genesys_write_register (dev, 0xe2, layouts[idx].re2); - sanei_genesys_write_register (dev, 0xe3, layouts[idx].re3); - - /* R-Channel EVEN image buffer 0x0292 */ - sanei_genesys_write_register (dev, 0xe4, layouts[idx].re4); - sanei_genesys_write_register (dev, 0xe5, layouts[idx].re5); - /* R-Channel EVEN image buffer end-address 0x03ff*/ - sanei_genesys_write_register (dev, 0xe6, layouts[idx].re6); - sanei_genesys_write_register (dev, 0xe7, layouts[idx].re7); - - /* same for green, since CIS, same addresses */ - sanei_genesys_write_register (dev, 0xe8, layouts[idx].re0); - sanei_genesys_write_register (dev, 0xe9, layouts[idx].re1); - sanei_genesys_write_register (dev, 0xea, layouts[idx].re2); - sanei_genesys_write_register (dev, 0xeb, layouts[idx].re3); - sanei_genesys_write_register (dev, 0xec, layouts[idx].re4); - sanei_genesys_write_register (dev, 0xed, layouts[idx].re5); - sanei_genesys_write_register (dev, 0xee, layouts[idx].re6); - sanei_genesys_write_register (dev, 0xef, layouts[idx].re7); - -/* same for blue, since CIS, same addresses */ - sanei_genesys_write_register (dev, 0xf0, layouts[idx].re0); - sanei_genesys_write_register (dev, 0xf1, layouts[idx].re1); - sanei_genesys_write_register (dev, 0xf2, layouts[idx].re2); - sanei_genesys_write_register (dev, 0xf3, layouts[idx].re3); - sanei_genesys_write_register (dev, 0xf4, layouts[idx].re4); - sanei_genesys_write_register (dev, 0xf5, layouts[idx].re5); - sanei_genesys_write_register (dev, 0xf6, layouts[idx].re6); - sanei_genesys_write_register (dev, 0xf7, layouts[idx].re7); - - DBGCOMPLETED; - return status; -} - -/* * - * initialize ASIC from power on condition - */ -static SANE_Status -gl847_boot (Genesys_Device * dev, SANE_Bool cold) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - - DBGSTART; - - /* reset ASIC if cold boot */ - if(cold) - { - RIE (sanei_genesys_write_register (dev, 0x0e, 0x01)); - RIE (sanei_genesys_write_register (dev, 0x0e, 0x00)); - } - - /* test CHKVER */ - RIE (sanei_genesys_read_register (dev, REG40, &val)); - if (val & REG40_CHKVER) - { - RIE (sanei_genesys_read_register (dev, 0x00, &val)); - DBG(DBG_info, "%s: reported version for genesys chip is 0x%02x\n", __func__, val); - } - - /* Set default values for registers */ - gl847_init_registers (dev); - - /* Write initial registers */ - RIE (dev->model->cmd_set->bulk_write_register(dev, dev->reg)); - - /* Enable DRAM by setting a rising edge on bit 3 of reg 0x0b */ - val = dev->reg.find_reg(0x0b).value & REG0B_DRAMSEL; - val = (val | REG0B_ENBDRAM); - RIE (sanei_genesys_write_register (dev, REG0B, val)); - dev->reg.find_reg(0x0b).value = val; - - /* CIS_LINE */ - SETREG (0x08, REG08_CIS_LINE); - RIE (sanei_genesys_write_register (dev, 0x08, dev->reg.find_reg(0x08).value)); - - /* set up end access */ - RIE (sanei_genesys_write_0x8c (dev, 0x10, 0x0b)); - RIE (sanei_genesys_write_0x8c (dev, 0x13, 0x0e)); - - /* setup gpio */ - RIE (gl847_init_gpio (dev)); - - /* setup internal memory layout */ - RIE (gl847_init_memory_layout (dev)); - - SETREG (0xf8, 0x01); - RIE (sanei_genesys_write_register (dev, 0xf8, dev->reg.find_reg(0xf8).value)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** - * initialize backend and ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home - */ -static SANE_Status gl847_init (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - - DBG_INIT (); - DBGSTART; - - status=sanei_genesys_asic_init(dev, 0); - - DBGCOMPLETED; - return status; -} - -static SANE_Status -gl847_update_hardware_sensors (Genesys_Scanner * s) -{ - /* do what is needed to get a new set of events, but try to not lose - any of them. - */ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - uint8_t scan, file, email, copy; - switch(s->dev->model->gpo_type) - { - case GPO_CANONLIDE700: - scan=0x04; - file=0x02; - email=0x01; - copy=0x08; - break; - default: - scan=0x01; - file=0x02; - email=0x04; - copy=0x08; - } - RIE (sanei_genesys_read_register (s->dev, REG6D, &val)); - - s->buttons[BUTTON_SCAN_SW].write((val & scan) == 0); - s->buttons[BUTTON_FILE_SW].write((val & file) == 0); - s->buttons[BUTTON_EMAIL_SW].write((val & email) == 0); - s->buttons[BUTTON_COPY_SW].write((val & copy) == 0); - - return status; -} - -/** @brief search for a full width black or white strip. - * This function searches for a black or white stripe across the scanning area. - * When searching backward, the searched area must completely be of the desired - * color since this area will be used for calibration which scans forward. - * @param dev scanner device - * @param forward SANE_TRUE if searching forward, SANE_FALSE if searching backward - * @param black SANE_TRUE if searching for a black strip, SANE_FALSE for a white strip - * @return SANE_STATUS_GOOD if a matching strip is found, SANE_STATUS_UNSUPPORTED if not - */ -static SANE_Status -gl847_search_strip (Genesys_Device * dev, const Genesys_Sensor& sensor, - SANE_Bool forward, SANE_Bool black) -{ - unsigned int pixels, lines, channels; - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set local_reg; - size_t size; - int steps, depth, dpi; - unsigned int pass, count, found, x, y; - char title[80]; - GenesysRegister *r; - - DBG(DBG_proc, "%s %s %s\n", __func__, black ? "black" : "white", forward ? "forward" : "reverse"); - - gl847_set_fe(dev, sensor, AFE_SET); - status = gl847_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to stop: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* set up for a gray scan at lowest dpi */ - dpi = 9600; - for (x = 0; x < MAX_RESOLUTIONS; x++) - { - if (dev->model->xdpi_values[x] > 0 && dev->model->xdpi_values[x] < dpi) - dpi = dev->model->xdpi_values[x]; - } - channels = 1; - /* 10 MM */ - /* lines = (10 * dpi) / MM_PER_INCH; */ - /* shading calibation is done with dev->motor.base_ydpi */ - lines = (dev->model->shading_lines * dpi) / dev->motor.base_ydpi; - depth = 8; - pixels = (sensor.sensor_pixels * dpi) / sensor.optical_res; - size = pixels * channels * lines * (depth / 8); - std::vector data(size); - dev->scanhead_position_in_steps = 0; - - local_reg = dev->reg; - - SetupParams params; - params.xres = dpi; - params.yres = dpi; - params.startx = 0; - params.starty = 0; - params.pixels = pixels; - params.lines = lines; - params.depth = depth; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::GRAY; - params.color_filter = ColorFilter::RED; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA; - - status = gl847_init_scan_regs(dev, sensor, &local_reg, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup for scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* set up for reverse or forward */ - r = sanei_genesys_get_address(&local_reg, REG02); - if (forward) - r->value &= ~REG02_MTRREV; - else - r->value |= REG02_MTRREV; - - - status = dev->model->cmd_set->bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl847_begin_scan(dev, sensor, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl847_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: gl847_stop_action failed\n", __func__); - return status; - } - - pass = 0; - if (DBG_LEVEL >= DBG_data) - { - sprintf(title, "gl847_search_strip_%s_%s%02d.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); - sanei_genesys_write_pnm_file(title, data.data(), depth, channels, pixels, lines); - } - - /* loop until strip is found or maximum pass number done */ - found = 0; - while (pass < 20 && !found) - { - status = - dev->model->cmd_set->bulk_write_register(dev, local_reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: Failed to bulk write registers: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - /* now start scan */ - status = gl847_begin_scan(dev, sensor, &local_reg, SANE_TRUE); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to begin scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - /* waits for valid data */ - do - sanei_genesys_test_buffer_empty (dev, &steps); - while (steps); - - /* now we're on target, we can read data */ - status = sanei_genesys_read_data_from_scanner(dev, data.data(), size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read data: %s\n", __func__, sane_strstatus(status)); - return status; - } - - status = gl847_stop_action (dev); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: gl847_stop_action failed\n", __func__); - return status; - } - - if (DBG_LEVEL >= DBG_data) - { - sprintf(title, "gl847_search_strip_%s_%s%02d.pnm", - black ? "black" : "white", forward ? "fwd" : "bwd", (int)pass); - sanei_genesys_write_pnm_file(title, data.data(), depth, channels, pixels, lines); - } - - /* search data to find black strip */ - /* when searching forward, we only need one line of the searched color since we - * will scan forward. But when doing backward search, we need all the area of the - * same color */ - if (forward) - { - for (y = 0; y < lines && !found; y++) - { - count = 0; - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < 60) - { - count++; - } - } - - /* at end of line, if count >= 3%, line is not fully of the desired color - * so we must go to next line of the buffer */ - /* count*100/pixels < 3 */ - if ((count * 100) / pixels < 3) - { - found = 1; - DBG(DBG_data, "%s: strip found forward during pass %d at line %d\n", __func__, - pass, y); - } - else - { - DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, - (100 * count) / pixels); - } - } - } - else /* since calibration scans are done forward, we need the whole area - to be of the required color when searching backward */ - { - count = 0; - for (y = 0; y < lines; y++) - { - /* count of white/black pixels depending on the color searched */ - for (x = 0; x < pixels; x++) - { - /* when searching for black, detect white pixels */ - if (black && data[y * pixels + x] > 90) - { - count++; - } - /* when searching for white, detect black pixels */ - if (!black && data[y * pixels + x] < 60) - { - count++; - } - } - } - - /* at end of area, if count >= 3%, area is not fully of the desired color - * so we must go to next buffer */ - if ((count * 100) / (pixels * lines) < 3) - { - found = 1; - DBG(DBG_data, "%s: strip found backward during pass %d \n", __func__, pass); - } - else - { - DBG(DBG_data, "%s: pixels=%d, count=%d (%d%%)\n", __func__, pixels, count, - (100 * count) / pixels); - } - } - pass++; - } - - if (found) - { - status = SANE_STATUS_GOOD; - DBG(DBG_info, "%s: %s strip found\n", __func__, black ? "black" : "white"); - } - else - { - status = SANE_STATUS_UNSUPPORTED; - DBG(DBG_info, "%s: %s strip not found\n", __func__, black ? "black" : "white"); - } - - DBGCOMPLETED; - return status; -} - -/** - * average dark pixels of a 8 bits scan - */ -static int -dark_average (uint8_t * data, unsigned int pixels, unsigned int lines, - unsigned int channels, unsigned int black) -{ - unsigned int i, j, k, average, count; - unsigned int avg[3]; - uint8_t val; - - /* computes average value on black margin */ - for (k = 0; k < channels; k++) - { - avg[k] = 0; - count = 0; - for (i = 0; i < lines; i++) - { - for (j = 0; j < black; j++) - { - val = data[i * channels * pixels + j + k]; - avg[k] += val; - count++; - } - } - if (count) - avg[k] /= count; - DBG(DBG_info, "%s: avg[%d] = %d\n", __func__, k, avg[k]); - } - average = 0; - for (i = 0; i < channels; i++) - average += avg[i]; - average /= channels; - DBG(DBG_info, "%s: average = %d\n", __func__, average); - return average; -} - -static SANE_Status -gl847_offset_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t reg04; - unsigned int channels, bpp; - int pass = 0, avg, total_size; - int topavg, bottomavg, resolution, lines; - int top, bottom, black_pixels, pixels; - - DBGSTART; - - /* no gain nor offset for AKM AFE */ - RIE (sanei_genesys_read_register (dev, REG04, ®04)); - if ((reg04 & REG04_FESET) == 0x02) - { - DBGCOMPLETED; - return status; - } - - /* offset calibration is always done in color mode */ - channels = 3; - resolution=sensor.optical_res; - dev->calib_pixels = sensor.sensor_pixels; - lines=1; - bpp=8; - pixels= (sensor.sensor_pixels*resolution) / sensor.optical_res; - black_pixels = (sensor.black_pixels * resolution) / sensor.optical_res; - DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels); - - SetupParams params; - params.xres = resolution; - params.yres = resolution; - params.startx = 0; - params.starty = 0; - params.pixels = pixels; - params.lines = lines; - params.depth = bpp; - params.channels = channels; - params.scan_method = dev->settings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - status = gl847_init_scan_regs(dev, sensor, ®s, params); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - sanei_genesys_set_motor_power(regs, false); - - /* allocate memory for scans */ - total_size = pixels * channels * lines * (bpp/8); /* colors * bytes_per_color * scan lines */ - - std::vector first_line(total_size); - std::vector second_line(total_size); - - /* init gain */ - dev->frontend.set_gain(0, 0); - dev->frontend.set_gain(1, 0); - dev->frontend.set_gain(2, 0); - - /* scan with no move */ - bottom = 10; - dev->frontend.set_offset(0, bottom); - dev->frontend.set_offset(1, bottom); - dev->frontend.set_offset(2, bottom); - - RIE(gl847_set_fe(dev, sensor, AFE_SET)); - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - DBG(DBG_info, "%s: starting first line reading\n", __func__); - RIE(gl847_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, first_line.data(), total_size)); - if (DBG_LEVEL >= DBG_data) - { - char fn[30]; - snprintf(fn, 30, "gl847_offset%03d.pnm", bottom); - sanei_genesys_write_pnm_file(fn, first_line.data(), bpp, channels, pixels, lines); - } - - bottomavg = dark_average (first_line.data(), pixels, lines, channels, black_pixels); - DBG(DBG_io2, "%s: bottom avg=%d\n", __func__, bottomavg); - - /* now top value */ - top = 255; - dev->frontend.set_offset(0, top); - dev->frontend.set_offset(1, top); - dev->frontend.set_offset(2, top); - RIE(gl847_set_fe(dev, sensor, AFE_SET)); - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - DBG(DBG_info, "%s: starting second line reading\n", __func__); - RIE(gl847_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); - - topavg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); - DBG(DBG_io2, "%s: top avg=%d\n", __func__, topavg); - - /* loop until acceptable level */ - while ((pass < 32) && (top - bottom > 1)) - { - pass++; - - /* settings for new scan */ - dev->frontend.set_offset(0, (top + bottom) / 2); - dev->frontend.set_offset(1, (top + bottom) / 2); - dev->frontend.set_offset(2, (top + bottom) / 2); - - /* scan with no move */ - RIE(gl847_set_fe(dev, sensor, AFE_SET)); - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - DBG(DBG_info, "%s: starting second line reading\n", __func__); - RIE(gl847_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner (dev, second_line.data(), total_size)); - - if (DBG_LEVEL >= DBG_data) - { - char fn[30]; - snprintf(fn, 30, "gl847_offset%03d.pnm", dev->frontend.get_offset(1)); - sanei_genesys_write_pnm_file(fn, second_line.data(), bpp, channels, pixels, lines); - } - - avg = dark_average(second_line.data(), pixels, lines, channels, black_pixels); - DBG(DBG_info, "%s: avg=%d offset=%d\n", __func__, avg, dev->frontend.get_offset(1)); - - /* compute new boundaries */ - if (topavg == avg) - { - topavg = avg; - top = dev->frontend.get_offset(1); - } - else - { - bottomavg = avg; - bottom = dev->frontend.get_offset(1); - } - } - DBG(DBG_info, "%s: offset=(%d,%d,%d)\n", __func__, - dev->frontend.get_offset(0), - dev->frontend.get_offset(1), - dev->frontend.get_offset(2)); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -static SANE_Status -gl847_coarse_gain_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs, int dpi) -{ - int pixels; - int total_size; - uint8_t reg04; - int i, j, channels; - SANE_Status status = SANE_STATUS_GOOD; - int max[3]; - float gain[3],coeff; - int val, code, lines; - int resolution; - int bpp; - - DBG(DBG_proc, "%s: dpi = %d\n", __func__, dpi); - - /* no gain nor offset for AKM AFE */ - RIE (sanei_genesys_read_register (dev, REG04, ®04)); - if ((reg04 & REG04_FESET) == 0x02) - { - DBGCOMPLETED; - return status; - } - - /* coarse gain calibration is always done in color mode */ - channels = 3; - - /* follow CKSEL */ - if(dev->settings.xressettings.scan_method; - params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS; - params.color_filter = dev->settings.color_filter; - params.flags = SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE; - - try { - status = gl847_init_scan_regs(dev, sensor, ®s, params); - } catch (...) { - try { - sanei_genesys_set_motor_power(regs, false); - } catch (...) {} - throw; - } - - sanei_genesys_set_motor_power(regs, false); - - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to setup scan: %s\n", __func__, sane_strstatus(status)); - return status; - } - - RIE(dev->model->cmd_set->bulk_write_register(dev, regs)); - - total_size = pixels * channels * (16/bpp) * lines; - - std::vector line(total_size); - - RIE(gl847_set_fe(dev, sensor, AFE_SET)); - RIE(gl847_begin_scan(dev, sensor, ®s, SANE_TRUE)); - RIE(sanei_genesys_read_data_from_scanner(dev, line.data(), total_size)); - - if (DBG_LEVEL >= DBG_data) - sanei_genesys_write_pnm_file("gl847_gain.pnm", line.data(), bpp, channels, pixels, lines); - - /* average value on each channel */ - for (j = 0; j < channels; j++) - { - max[j] = 0; - for (i = pixels/4; i < (pixels*3/4); i++) - { - if(bpp==16) - { - if (dev->model->is_cis) - val = - line[i * 2 + j * 2 * pixels + 1] * 256 + - line[i * 2 + j * 2 * pixels]; - else - val = - line[i * 2 * channels + 2 * j + 1] * 256 + - line[i * 2 * channels + 2 * j]; - } - else - { - if (dev->model->is_cis) - val = line[i + j * pixels]; - else - val = line[i * channels + j]; - } - - max[j] += val; - } - max[j] = max[j] / (pixels/2); - - gain[j] = ((float) sensor.gain_white_ref*coeff) / max[j]; - - /* turn logical gain value into gain code, checking for overflow */ - code = 283 - 208 / gain[j]; - if (code > 255) - code = 255; - else if (code < 0) - code = 0; - dev->frontend.set_gain(j, code); - - DBG(DBG_proc, "%s: channel %d, max=%d, gain = %f, setting:%d\n", __func__, j, max[j], gain[j], - dev->frontend.get_gain(j)); - } - - if (dev->model->is_cis) { - uint8_t gain0 = dev->frontend.get_gain(0); - if (gain0 > dev->frontend.get_gain(1)) { - gain0 = dev->frontend.get_gain(1); - } - if (gain0 > dev->frontend.get_gain(2)) { - gain0 = dev->frontend.get_gain(2); - } - dev->frontend.set_gain(0, gain0); - dev->frontend.set_gain(1, gain0); - dev->frontend.set_gain(2, gain0); - } - - if (channels == 1) { - dev->frontend.set_gain(0, dev->frontend.get_gain(1)); - dev->frontend.set_gain(2, dev->frontend.get_gain(1)); - } - - RIE (gl847_stop_action (dev)); - - status=gl847_slow_back_home (dev, SANE_TRUE); - - DBGCOMPLETED; - return status; -} - - -/** the gl847 command set */ -static Genesys_Command_Set gl847_cmd_set = { - "gl847-generic", /* the name of this set */ - - nullptr, - - gl847_init, - NULL, /*gl847_init_regs_for_warmup*/ - gl847_init_regs_for_coarse_calibration, - gl847_init_regs_for_shading, - gl847_init_regs_for_scan, - - gl847_get_filter_bit, - gl847_get_lineart_bit, - gl847_get_bitset_bit, - gl847_get_gain4_bit, - gl847_get_fast_feed_bit, - gl847_test_buffer_empty_bit, - gl847_test_motor_flag_bit, - - gl847_set_fe, - gl847_set_powersaving, - gl847_save_power, - - gl847_begin_scan, - gl847_end_scan, - - sanei_genesys_send_gamma_table, - - gl847_search_start_position, - - gl847_offset_calibration, - gl847_coarse_gain_calibration, - gl847_led_calibration, - - NULL, - gl847_slow_back_home, - NULL, /* disable gl847_rewind, see #7 */ - - sanei_genesys_bulk_write_register, - NULL, - sanei_genesys_bulk_read_data, - - gl847_update_hardware_sensors, - - NULL, /* no known gl847 sheetfed scanner */ - NULL, /* no known gl847 sheetfed scanner */ - NULL, /* no known gl847 sheetfed scanner */ - gl847_search_strip, - - sanei_genesys_is_compatible_calibration, - NULL, - gl847_send_shading_data, - gl847_calculate_current_setup, - gl847_boot -}; - -SANE_Status -sanei_gl847_init_cmd_set (Genesys_Device * dev) -{ - dev->model->cmd_set = &gl847_cmd_set; - return SANE_STATUS_GOOD; -} diff --git a/backend/genesys_gl847.h b/backend/genesys_gl847.h deleted file mode 100644 index 7af9c36..0000000 --- a/backend/genesys_gl847.h +++ /dev/null @@ -1,510 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2010-2013 Stéphane Voltz - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#include "genesys.h" - -#define REG01 0x01 -#define REG01_CISSET 0x80 -#define REG01_DOGENB 0x40 -#define REG01_DVDSET 0x20 -#define REG01_STAGGER 0x10 -#define REG01_COMPENB 0x08 -#define REG01_TRUEGRAY 0x04 -#define REG01_SHDAREA 0x02 -#define REG01_SCAN 0x01 - -#define REG02 0x02 -#define REG02_NOTHOME 0x80 -#define REG02_ACDCDIS 0x40 -#define REG02_AGOHOME 0x20 -#define REG02_MTRPWR 0x10 -#define REG02_FASTFED 0x08 -#define REG02_MTRREV 0x04 -#define REG02_HOMENEG 0x02 -#define REG02_LONGCURV 0x01 - -#define REG03 0x03 -#define REG03_LAMPDOG 0x80 -#define REG03_AVEENB 0x40 -#define REG03_XPASEL 0x20 -#define REG03_LAMPPWR 0x10 -#define REG03_LAMPTIM 0x0f - -#define REG04 0x04 -#define REG04_LINEART 0x80 -#define REG04_BITSET 0x40 -#define REG04_AFEMOD 0x30 -#define REG04_FILTER 0x0c -#define REG04_FESET 0x03 - -#define REG04S_AFEMOD 4 - -#define REG05 0x05 -#define REG05_DPIHW 0xc0 -#define REG05_DPIHW_600 0x00 -#define REG05_DPIHW_1200 0x40 -#define REG05_DPIHW_2400 0x80 -#define REG05_DPIHW_4800 0xc0 -#define REG05_MTLLAMP 0x30 -#define REG05_GMMENB 0x08 -#define REG05_MTLBASE 0x03 - -#define REG06_SCANMOD 0xe0 -#define REG06S_SCANMOD 5 -#define REG06_PWRBIT 0x10 -#define REG06_GAIN4 0x08 -#define REG06_OPTEST 0x07 - -#define REG07_LAMPSIM 0x80 - -#define REG08_DRAM2X 0x80 -#define REG08_MPENB 0x20 -#define REG08_CIS_LINE 0x10 -#define REG08_IR1ENB 0x08 -#define REG08_IR2ENB 0x04 -#define REG08_ENB24M 0x01 - -#define REG09_MCNTSET 0xc0 -#define REG09_EVEN1ST 0x20 -#define REG09_BLINE1ST 0x10 -#define REG09_BACKSCAN 0x08 -#define REG09_ENHANCE 0x04 -#define REG09_SHORTTG 0x02 -#define REG09_NWAIT 0x01 - -#define REG09S_MCNTSET 6 -#define REG09S_CLKSET 4 - - -#define REG0A_LPWMEN 0x10 - -#define REG0B 0x0b -#define REG0B_DRAMSEL 0x07 -#define REG0B_ENBDRAM 0x08 -#define REG0B_ENBDRAM 0x08 -#define REG0B_RFHDIS 0x10 -#define REG0B_CLKSET 0xe0 -#define REG0B_24MHZ 0x00 -#define REG0B_30MHZ 0x20 -#define REG0B_40MHZ 0x40 -#define REG0B_48MHZ 0x60 -#define REG0B_60MHZ 0x80 - -#define REG0C 0x0c -#define REG0C_CCDLMT 0x0f - -#define REG0D 0x0d -#define REG0D_FULLSTP 0x10 -#define REG0D_SEND 0x80 -#define REG0D_CLRMCNT 0x04 -#define REG0D_CLRDOCJM 0x02 -#define REG0D_CLRLNCNT 0x01 - -#define REG0F 0x0f - -#define REG16_CTRLHI 0x80 -#define REG16_TOSHIBA 0x40 -#define REG16_TGINV 0x20 -#define REG16_CK1INV 0x10 -#define REG16_CK2INV 0x08 -#define REG16_CTRLINV 0x04 -#define REG16_CKDIS 0x02 -#define REG16_CTRLDIS 0x01 - -#define REG17_TGMODE 0xc0 -#define REG17_TGMODE_NO_DUMMY 0x00 -#define REG17_TGMODE_REF 0x40 -#define REG17_TGMODE_XPA 0x80 -#define REG17_TGW 0x3f -#define REG17S_TGW 0 - -#define REG18 0x18 -#define REG18_CNSET 0x80 -#define REG18_DCKSEL 0x60 -#define REG18_CKTOGGLE 0x10 -#define REG18_CKDELAY 0x0c -#define REG18_CKSEL 0x03 - -#define REG1A_SW2SET 0x80 -#define REG1A_SW1SET 0x40 -#define REG1A_MANUAL3 0x02 -#define REG1A_MANUAL1 0x01 -#define REG1A_CK4INV 0x08 -#define REG1A_CK3INV 0x04 -#define REG1A_LINECLP 0x02 - -#define REG1C 0x1c -#define REG1C_TGTIME 0x07 - -#define REG1D_CK4LOW 0x80 -#define REG1D_CK3LOW 0x40 -#define REG1D_CK1LOW 0x20 -#define REG1D_TGSHLD 0x1f -#define REG1DS_TGSHLD 0 - - -#define REG1E_WDTIME 0xf0 -#define REG1ES_WDTIME 4 -#define REG1E_LINESEL 0x0f -#define REG1ES_LINESEL 0 - -#define REG_FEDCNT 0x1f - -#define REG24 0x1c -#define REG40 0x40 -#define REG40_CHKVER 0x10 -#define REG40_HISPDFLG 0x04 -#define REG40_MOTMFLG 0x02 -#define REG40_DATAENB 0x01 - -#define REG41_PWRBIT 0x80 -#define REG41_BUFEMPTY 0x40 -#define REG41_FEEDFSH 0x20 -#define REG41_SCANFSH 0x10 -#define REG41_HOMESNR 0x08 -#define REG41_LAMPSTS 0x04 -#define REG41_FEBUSY 0x02 -#define REG41_MOTORENB 0x01 - -#define REG58_VSMP 0xf8 -#define REG58S_VSMP 3 -#define REG58_VSMPW 0x07 -#define REG58S_VSMPW 0 - -#define REG59_BSMP 0xf8 -#define REG59S_BSMP 3 -#define REG59_BSMPW 0x07 -#define REG59S_BSMPW 0 - -#define REG5A_ADCLKINV 0x80 -#define REG5A_RLCSEL 0x40 -#define REG5A_CDSREF 0x30 -#define REG5AS_CDSREF 4 -#define REG5A_RLC 0x0f -#define REG5AS_RLC 0 - -#define REG5E_DECSEL 0xe0 -#define REG5ES_DECSEL 5 -#define REG5E_STOPTIM 0x1f -#define REG5ES_STOPTIM 0 - -#define REG60 0x60 -#define REG60_Z1MOD 0x1f -#define REG61 0x61 -#define REG61_Z1MOD 0xff -#define REG62 0x62 -#define REG62_Z1MOD 0xff - -#define REG63 0x63 -#define REG63_Z2MOD 0x1f -#define REG64 0x64 -#define REG64_Z2MOD 0xff -#define REG65 0x65 -#define REG65_Z2MOD 0xff - -#define REG60S_STEPSEL 5 -#define REG60_STEPSEL 0xe0 -#define REG60_FULLSTEP 0x00 -#define REG60_HALFSTEP 0x20 -#define REG60_EIGHTHSTEP 0x60 -#define REG60_16THSTEP 0x80 - -#define REG63S_FSTPSEL 5 -#define REG63_FSTPSEL 0xe0 -#define REG63_FULLSTEP 0x00 -#define REG63_HALFSTEP 0x20 -#define REG63_EIGHTHSTEP 0x60 -#define REG63_16THSTEP 0x80 - -#define REG67 0x67 -#define REG67_MTRPWM 0x80 - -#define REG68 0x68 -#define REG68_FASTPWM 0x80 - -#define REG6B 0x6b -#define REG6B_MULTFILM 0x80 -#define REG6B_GPOM13 0x40 -#define REG6B_GPOM12 0x20 -#define REG6B_GPOM11 0x10 -#define REG6B_GPO18 0x02 -#define REG6B_GPO17 0x01 - -#define REG6C 0x6c -#define REG6C_GPIO16 0x80 -#define REG6C_GPIO15 0x40 -#define REG6C_GPIO14 0x20 -#define REG6C_GPIO13 0x10 -#define REG6C_GPIO12 0x08 -#define REG6C_GPIO11 0x04 -#define REG6C_GPIO10 0x02 -#define REG6C_GPIO9 0x01 -#define REG6C_GPIOH 0xff -#define REG6C_GPIOL 0xff - -#define REG6D 0x6d -#define REG6E 0x6e -#define REG6F 0x6f -#define REG7E 0x7e - -#define REG87_LEDADD 0x04 - -#define REG9E 0x9e -#define REG9F 0x9f - -#define REGA6 0xa6 -#define REGA7 0xa7 -#define REGA8 0xa8 -#define REGA9 0xa9 -#define REGAB 0xab - -#define REG_EXPR 0x10 -#define REG_EXPG 0x12 -#define REG_EXPB 0x14 -#define REG_EXPDMY 0x19 -#define REG_STEPNO 0x21 -#define REG_FWDSTEP 0x22 -#define REG_BWDSTEP 0x23 -#define REG_FASTNO 0x24 -#define REG_DPISET 0x2c -#define REG_STRPIXEL 0x30 -#define REG_ENDPIXEL 0x32 -#define REG_LINCNT 0x25 -#define REG_MAXWD 0x35 -#define REG_LPERIOD 0x38 -#define REG_FEEDL 0x3d -#define REG_FMOVDEC 0x5f -#define REG_FSHDEC 0x69 -#define REG_FMOVNO 0x6a -#define REG_CK1MAP 0x74 -#define REG_CK3MAP 0x77 -#define REG_CK4MAP 0x7a - -#define SETREG(adr,val) { dev->reg.init_reg(adr, val); } - -/** set up registers for an actual scan - * - * this function sets up the scanner to scan in normal or single line mode - */ -static SANE_Status gl847_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, SetupParams& params); - -/* Send the low-level scan command */ -static SANE_Status gl847_begin_scan (Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set * reg, SANE_Bool start_motor); - -/* Send the stop scan command */ -static SANE_Status gl847_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg, SANE_Bool check_stop); - -static SANE_Status gl847_init (Genesys_Device * dev); - -/** @brief moves the slider to steps at motor base dpi - * @param dev device to work on - * @param steps number of steps to move - * */ -static SANE_Status -gl847_feed (Genesys_Device * dev, unsigned int steps); - -typedef struct -{ - uint8_t sensor_id; - uint8_t r6b; - uint8_t r6c; - uint8_t r6d; - uint8_t r6e; - uint8_t r6f; - uint8_t ra6; - uint8_t ra7; - uint8_t ra8; - uint8_t ra9; -} Gpio_Profile; - -static Gpio_Profile gpios[]={ - { GPO_CANONLIDE200, 0x02, 0xf9, 0x20, 0xff, 0x00, 0x04, 0x04, 0x00, 0x00}, - { GPO_CANONLIDE700, 0x06, 0xdb, 0xff, 0xff, 0x80, 0x15, 0x07, 0x20, 0x10}, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, -}; - -typedef struct -{ - uint8_t dramsel; - uint8_t rd0; - uint8_t rd1; - uint8_t rd2; - uint8_t re0; - uint8_t re1; - uint8_t re2; - uint8_t re3; - uint8_t re4; - uint8_t re5; - uint8_t re6; - uint8_t re7; -} Memory_layout; - -static Memory_layout layouts[]={ - /* LIDE 100 */ - { - 0x29, - 0x0a, 0x15, 0x20, - 0x00, 0xac, 0x02, 0x55, 0x02, 0x56, 0x03, 0xff - }, - /* LIDE 200 */ - { - 0x29, - 0x0a, 0x1f, 0x34, - 0x01, 0x24, 0x02, 0x91, 0x02, 0x92, 0x03, 0xff - }, - /* 5600F */ - { - 0x29, - 0x0a, 0x1f, 0x34, - 0x01, 0x24, 0x02, 0x91, 0x02, 0x92, 0x03, 0xff - }, - /* LIDE 700F */ - { - 0x2a, - 0x0a, 0x33, 0x5c, - 0x02, 0x14, 0x09, 0x09, 0x09, 0x0a, 0x0f, 0xff - } -}; - -/** @brief structure for sensor settings - * this structure describes the sensor settings to use for a given - * exposure. - */ -typedef struct { - int sensor_type; /**> sensor id */ - int dpi; /**> maximum dpi for which data are valid */ - int exposure; /**> exposure */ - int ck1map; /**> CK1MAP */ - int ck3map; /**> CK3MAP */ - int ck4map; /**> CK4MAP */ - int segcnt; /**> SEGCNT */ - int expdummy; /**> exposure dummy */ - int expr; /**> initial red exposure */ - int expg; /**> initial green exposure */ - int expb; /**> initial blue exposure */ - size_t *order; /**> order of sub-segments */ - uint8_t r17; /**> TG width */ -} Sensor_Profile; - -static size_t order_01[]={0,1}; -static size_t order_0213[]={0,2,1,3}; -static size_t order_0246[]={0,2,4,6,1,3,5,7}; - -static size_t new_order[]={0,1,2,3}; -static size_t order_0145[]={0,1,4,5,2,3,6,7}; - -/** - * database of sensor profiles - */ -static Sensor_Profile sensors[]={ - {CIS_CANONLIDE100, 200, 2848, 60, 159, 85, 5136, 255, 410, 275, 203, NULL , 0x0a}, - {CIS_CANONLIDE100, 300, 1424, 60, 159, 85, 5136, 255, 410, 275, 203, NULL , 0x0a}, - {CIS_CANONLIDE100, 600, 1432, 60, 159, 85, 5136, 255, 410, 275, 203, NULL , 0x0a}, - {CIS_CANONLIDE100, 1200, 2712, 60, 159, 85, 5136, 255, 746, 478, 353, order_01 , 0x08}, - {CIS_CANONLIDE100, 2400, 5280, 60, 159, 85, 5136, 255, 1417, 909, 643, order_0213, 0x06}, - /* - {CIS_CANONLIDE200, 150, 2848, 240, 636, 340, 5144, 0, 255, 637, 637, 637}, - {CIS_CANONLIDE200, 300, 1424, 240, 636, 340, 5144, 0, 255, 637, 637, 637}, - */ - {CIS_CANONLIDE200, 200, 2848, 60, 159, 85, 5136, 255, 410, 275, 203, NULL , 0x0a}, - {CIS_CANONLIDE200, 300, 1424, 60, 159, 85, 5136, 255, 410, 275, 203, NULL , 0x0a}, - {CIS_CANONLIDE200, 600, 1432, 60, 159, 85, 5136, 255, 410, 275, 203, NULL , 0x0a}, - {CIS_CANONLIDE200, 1200, 2712, 60, 159, 85, 5136, 255, 746, 478, 353, order_01 , 0x08}, - {CIS_CANONLIDE200, 2400, 5280, 60, 159, 85, 5136, 255, 1417, 909, 643, order_0213, 0x06}, - {CIS_CANONLIDE200, 4800, 10416, 60, 159, 85, 5136, 255, 2692, 1728, 1221, order_0246, 0x04}, - - /* LiDE 700F */ - {CIS_CANONLIDE700, 150, 2848, 135, 249, 85, 5187, 255, 465, 310, 239, NULL , 0x0c}, - {CIS_CANONLIDE700, 300, 1424, 135, 249, 85, 5187, 255, 465, 310, 239, NULL , 0x0c}, - {CIS_CANONLIDE700, 600, 1504, 135, 249, 85, 5187, 255, 465, 310, 239, NULL , 0x0c}, - {CIS_CANONLIDE700, 1200, 2696, 135, 249, 85, 5187, 255, 1464, 844, 555, order_01 , 0x0a}, - {CIS_CANONLIDE700, 2400, 10576, 135, 249, 85, 5187, 255, 2798, 1558, 972, new_order , 0x08}, - {CIS_CANONLIDE700, 4800, 10576, 135, 249, 85, 5187, 255, 2798, 1558, 972, order_0145, 0x06}, -}; - -/* base motor sopes in full step unit */ -/* target=((exposure * dpi) / base_dpi)>>step_type; */ -static uint32_t lide200_base[] = { 46876, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2336, 2329, 2322, 2314, 2307, 2300,2292,2285,2278,2271,2263,2256,2249,2241,2234,2227,2219,2212,2205,2198,2190,2183,2176,2168,2161,2154,2146,2139,2132,2125,2117,2110,2103,2095,2088,2081,2073,2066,2059,2052,2044,2037,2030,2022,2015,2008,2001,1993,1986,1979,1971,1964,1957,1949,1942,1935,1928,1920,1913,1906,1898,1891,1884,1876,1869,1862,1855,1847,1840,1833,1825,1818,1811,1803,1796,1789,1782,1774,1767,1760,1752,1745,1738,1731,1723,1716,1709,1701,1694,1687,1679,1672,1665,1658,1650,1643,1636,1628,1621,1614,1606,1599,1592,1585,1577,1570,1563,1555,1548,1541,1533,1526,1519,1512,1504,1497,1490,1482,1475,1468,1461,1453,1446,1439,1431,1424,1417,1409,1402,1395,1388,1380,1373,1366,1358,1351,1344,1336,1329,1322,1315,1307,1300,1293,1285,1278,1271,1263,1256,1249,1242,1234,1227,1220,1212,1205,1198,1191,1183,1176,1169,1161,1154,1147,1139,1132,1125,1118,1110,1103,1096,1088,1081,1074,1066,1059,1052,1045,1037,1030,1023,1015,1008,1001,993,986,979,972,964,957,950,942,935,928,921,913,906,899,891,884,877,869,862,855,848,840,833,826,818,811,804,796,789,782,775,767,760,753,745,738,731,723,716,709,702,694,687,680,672,665,658,651,643,636,629,621,614,607,599,592,585,578,570,563,556,534,534, 0}; -static uint32_t lide200_medium[] = { 46876, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136, 8136,2343, 2336, 2329, 2322, 2314, 2307, 2300,2292,2285,2278,2271,2263,2256,2249,2241,2234,2227,2219,2212,2205,2198,2190,2183,2176,2168,2161,2154,2146,2139,2132,2125,2117,2110,2103,2095,2088,2081,2073,2066,2059,2052,2044,2037,2030,2022,2015,2008,2001,1993,1986,1979,1971,1964,1957,1949,1942,1935,1928,1920,1913,1906,1898,1891,1884,1876,1869,1862,1855,1847,1840,1833,1825,1818,1811,1803,1796,1789,1782,1774,1767,1760,1752,1745,1738,1731,1723,1716,1709,1701,1694,1687,1679,1672,1665,1658,1650,1643,1636,1628,1621,1614,1606,1599,1592,1585,1577,1570,1563,1555,1548,1541,1533,1526,1519,1512,1504,1497,1490,1482,1475,1468,1461,1453,1446,1439,1431,1424,1417,1409,1402,1395,1388,1380,1373,1366,1358,1351,1344,1336,1329,1322,1315,1307,1300,1293,1285,1278,1271,1263,1256,1249,1242,1234,1227,1220,1212,1205,1198,1191,1183,1176,1169,1161,1154,1147,1139,1132,1125,1118,1110,1103,1096,1088,1081,1074,1066,1059,1052,1045,1037,1030,1023,1015,1008,1001,993,986,979,972,964,957,950,942,935,928,921,913,906,899,891,884,877,869,862,855,848,840,833,826,818,811,804,796,789,782,775,767,760,753,745,738,731,723,716,709,702,694,687,680,672,665,658,651,643,636,629,621,614,607,599,592,585,578,570,563,556,534,534, 0}; -static uint32_t lide200_high[] = { 31680, 31680, 31680, 31680, 31680, 31680, 31680, 31680, 31680, 31680, 31680, 31680, 31680, 31680, 31680, 31680, 31680, 2219,2212,2205,2198,2190,2183,2176,2168,2161,2154,2146,2139,2132,2125,2117,2110,2103,2095,2088,2081,2073,2066,2059,2052,2044,2037,2030,2022,2015,2008,2001,1993,1986,1979,1971,1964,1957,1949,1942,1935,1928,1920,1913,1906,1898,1891,1884,1876,1869,1862,1855,1847,1840,1833,1825,1818,1811,1803,1796,1789,1782,1774,1767,1760,1752,1745,1738,1731,1723,1716,1709,1701,1694,1687,1679,1672,1665,1658,1650,1643,1636,1628,1621,1614,1606,1599,1592,1585,1577,1570,1563,1555,1548,1541,1533,1526,1519,1512,1504,1497,1490,1482,1475,1468,1461,1453,1446,1439,1431,1424,1417,1409,1402,1395,1388,1380,1373,1366,1358,1351,1344,1336,1329,1322,1315,1307,1300,1293,1285,1278,1271,1263,1256,1249,1242,1234,1227,1220,1212,1205,1198,1191,1183,1176,1169,1161,1154,1147,1139,1132,1125,1118,1110,1103,1096,1088,1081,1074,1066,1059,1052,1045,1037,1030,1023,1015,1008,1001,993,986,979,972,964,957,950,942,935,928,921,913,906,899,891,884,877,869,862,855,848,840,833,826,818,811,804,796,789,782,775,767,760,753,745,738,731,723,716,709,702,694,687,680,672,665,658,651,643,636,629,621,614,607,599,592,585,578,570,563,556,534,534, 0}; -static uint32_t lide700_medium[] = { 46876,2342,2342,2342,2342,2342,2342,2342,2342,2302,2286,2274,2266,2258,2252,2244,2240,2234,2228,2224,2218,2216,2210,2208,2202,2200,2194,2192,2190,2186,2182,2180,2176,2174,2172,2170,2166,2162,2160,2156,2154,2152,2150,2150,2146,2144,2142,2140,2136,2134,2132,2130,2130,2128,2124,2122,2120,2120,2118,2116,2112,2112,2110,2108,2106,2106,2104,2102,2102,2098,2096,2094,2094,2092,2090,2090,2086,2084,2084,2082,2082,2080,2078,2078,2076,2074,2074,2070,2070,2068,2066,2066,2064,2064,2062,2062,2060,2058,2058,2054,2054,2052,2052,2050,2050,2048,2048,2046,2046,2044,2042,2042,2040,2040,2038,2038,2034,2034,2032,2032,2030,2030,2028,2028,2026,2026,2022,2022}; -static uint32_t lide700_high[] = { 46876,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864,15864}; -/* 5190 trop - * 5186 pas assez - */ -/* -static uint32_t lide200_max[] = { 124992, 124992, 124992, 124992, 124992, 124992, 124992, 124992, 124992, 124992, 124992, 124992, 124992, 124992, 124992, 124992, 124992, 2219,2212,2205,2198,2190,2183,2176,2168,2161,2154,2146,2139,2132,2125,2117,2110,2103,2095,2088,2081,2073,2066,2059,2052,2044,2037,2030,2022,2015,2008,2001,1993,1986,1979,1971,1964,1957,1949,1942,1935,1928,1920,1913,1906,1898,1891,1884,1876,1869,1862,1855,1847,1840,1833,1825,1818,1811,1803,1796,1789,1782,1774,1767,1760,1752,1745,1738,1731,1723,1716,1709,1701,1694,1687,1679,1672,1665,1658,1650,1643,1636,1628,1621,1614,1606,1599,1592,1585,1577,1570,1563,1555,1548,1541,1533,1526,1519,1512,1504,1497,1490,1482,1475,1468,1461,1453,1446,1439,1431,1424,1417,1409,1402,1395,1388,1380,1373,1366,1358,1351,1344,1336,1329,1322,1315,1307,1300,1293,1285,1278,1271,1263,1256,1249,1242,1234,1227,1220,1212,1205,1198,1191,1183,1176,1169,1161,1154,1147,1139,1132,1125,1118,1110,1103,1096,1088,1081,1074,1066,1059,1052,1045,1037,1030,1023,1015,1008,1001,993,986,979,972,964,957,950,942,935,928,921,913,906,899,891,884,877,869,862,855,848,840,833,826,818,811,804,796,789,782,775,767,760,753,745,738,731,723,716,709,702,694,687,680,672,665,658,651,643,636,629,621,614,607,599,592,585,578,570,563,556,534,534, 0}; -*/ - -/** - * database of motor profiles - */ - -static Motor_Profile gl847_motors[]={ - /* LiDE 100 */ - {MOTOR_CANONLIDE100, 2848, HALF_STEP , lide200_base}, - {MOTOR_CANONLIDE100, 1424, HALF_STEP , lide200_base}, - {MOTOR_CANONLIDE100, 1432, HALF_STEP , lide200_base}, - {MOTOR_CANONLIDE100, 2712, QUARTER_STEP, lide200_medium}, - {MOTOR_CANONLIDE100, 5280, EIGHTH_STEP , lide200_high}, - - /* LiDE 200 */ - {MOTOR_CANONLIDE200, 2848, HALF_STEP , lide200_base}, - {MOTOR_CANONLIDE200, 1424, HALF_STEP , lide200_base}, - {MOTOR_CANONLIDE200, 1432, HALF_STEP , lide200_base}, - {MOTOR_CANONLIDE200, 2712, QUARTER_STEP, lide200_medium}, - {MOTOR_CANONLIDE200, 5280, EIGHTH_STEP , lide200_high}, - {MOTOR_CANONLIDE200, 10416, EIGHTH_STEP , lide200_high}, - - /* LiDE 700F */ - {MOTOR_CANONLIDE700, 2848, HALF_STEP , lide200_base}, - {MOTOR_CANONLIDE700, 1424, HALF_STEP , lide200_base}, - {MOTOR_CANONLIDE700, 1504, HALF_STEP , lide200_base}, - {MOTOR_CANONLIDE700, 2696, HALF_STEP , lide700_medium}, /* 2696 , 2838 */ - {MOTOR_CANONLIDE700, 10576, EIGHTH_STEP, lide700_high}, - - /* end of database entry */ - {0, 0, 0, NULL}, -}; diff --git a/backend/genesys_low.cc b/backend/genesys_low.cc deleted file mode 100644 index 097375f..0000000 --- a/backend/genesys_low.cc +++ /dev/null @@ -1,2059 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2010-2013 Stéphane Voltz - - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#define DEBUG_DECLARE_ONLY - -#include "genesys_low.h" -#include "assert.h" - -#include - - -Genesys_Device::~Genesys_Device() -{ - clear(); - - if (file_name != nullptr) - free(file_name); -} - -void Genesys_Device::clear() -{ - read_buffer.clear(); - lines_buffer.clear(); - shrink_buffer.clear(); - out_buffer.clear(); - binarize_buffer.clear(); - local_buffer.clear(); - - calib_file.clear(); - - calibration_cache.clear(); - - white_average_data.clear(); - dark_average_data.clear(); -} - -/* ------------------------------------------------------------------------ */ -/* functions calling ASIC specific functions */ -/* ------------------------------------------------------------------------ */ - -/** - * setup the hardware dependent functions - */ -SANE_Status -sanei_genesys_init_cmd_set (Genesys_Device * dev) -{ - DBG_INIT (); - switch (dev->model->asic_type) - { - case GENESYS_GL646: - return sanei_gl646_init_cmd_set (dev); - case GENESYS_GL841: - return sanei_gl841_init_cmd_set (dev); - case GENESYS_GL843: - return sanei_gl843_init_cmd_set (dev); - case GENESYS_GL845: /* since only a few reg bits differs - we handle both together */ - case GENESYS_GL846: - return sanei_gl846_init_cmd_set (dev); - case GENESYS_GL847: - return sanei_gl847_init_cmd_set (dev); - case GENESYS_GL124: - return sanei_gl124_init_cmd_set (dev); - default: - return SANE_STATUS_INVAL; - } -} - -/* ------------------------------------------------------------------------ */ -/* General IO and debugging functions */ -/* ------------------------------------------------------------------------ */ - -SANE_Status sanei_genesys_write_file(const char *filename, uint8_t * data, size_t length) -{ - FILE *out; - - out = fopen (filename, "w"); - if (!out) { - DBG(DBG_error, "%s: could nor open %s for writing: %s\n", __func__, filename, - strerror(errno)); - return SANE_STATUS_INVAL; - } - fwrite(data, 1, length, out); - fclose(out); - - DBG(DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; -} - -/* Write data to a pnm file (e.g. calibration). For debugging only */ -/* data is RGB or grey, with little endian byte order */ -SANE_Status -sanei_genesys_write_pnm_file (const char *filename, uint8_t * data, int depth, - int channels, int pixels_per_line, int lines) -{ - FILE *out; - int count; - - DBG(DBG_info, "%s: depth=%d, channels=%d, ppl=%d, lines=%d\n", __func__,depth, channels, - pixels_per_line, lines); - - out = fopen (filename, "w"); - if (!out) - { - DBG(DBG_error, "%s: could nor open %s for writing: %s\n", __func__, filename, - strerror(errno)); - return SANE_STATUS_INVAL; - } - if(depth==1) - { - fprintf (out, "P4\n%d\n%d\n", pixels_per_line, lines); - } - else - { - fprintf (out, "P%c\n%d\n%d\n%d\n", channels == 1 ? '5' : '6', - pixels_per_line, lines, (int) pow (2, depth) - 1); - } - if (channels == 3) - { - for (count = 0; count < (pixels_per_line * lines * 3); count++) - { - if (depth == 16) - fputc (*(data + 1), out); - fputc (*(data++), out); - if (depth == 16) - data++; - } - } - else - { - if (depth==1) - { - pixels_per_line/=8; - } - for (count = 0; count < (pixels_per_line * lines); count++) - { - switch (depth) - { - case 8: - fputc (*(data + count), out); - break; - case 16: - fputc (*(data + 1), out); - fputc (*(data), out); - data += 2; - break; - default: - fputc(data[count], out); - break; - } - } - } - fclose (out); - - DBG(DBG_proc, "%s: finished\n", __func__); - return SANE_STATUS_GOOD; -} - -/* ------------------------------------------------------------------------ */ -/* Read and write RAM, registers and AFE */ -/* ------------------------------------------------------------------------ */ - -extern unsigned sanei_genesys_get_bulk_max_size(Genesys_Device * dev) -{ - /* Genesys supports 0xFE00 maximum size in general, wheraus GL646 supports - 0xFFC0. We use 0xF000 because that's the packet limit in the Linux usbmon - USB capture stack. By default it limits packet size to b_size / 5 where - b_size is the size of the ring buffer. By default it's 300*1024, so the - packet is limited 61440 without any visibility to acquiring software. - */ - if (dev->model->asic_type == GENESYS_GL124 || - dev->model->asic_type == GENESYS_GL846 || - dev->model->asic_type == GENESYS_GL847) { - return 0xeff0; - } - return 0xf000; -} - -void sanei_genesys_bulk_read_data_send_header(Genesys_Device* dev, size_t len) -{ - DBG_HELPER(dbg); - - uint8_t outdata[8]; - if (dev->model->asic_type == GENESYS_GL124 || - dev->model->asic_type == GENESYS_GL846 || - dev->model->asic_type == GENESYS_GL847) - { - // hard coded 0x10000000 address - outdata[0] = 0; - outdata[1] = 0; - outdata[2] = 0; - outdata[3] = 0x10; - } else if (dev->model->asic_type == GENESYS_GL841 || - dev->model->asic_type == GENESYS_GL843) { - outdata[0] = BULK_IN; - outdata[1] = BULK_RAM; - outdata[2] = VALUE_BUFFER & 0xff; - outdata[3] = (VALUE_BUFFER >> 8) & 0xff; - } else { - outdata[0] = BULK_IN; - outdata[1] = BULK_RAM; - outdata[2] = 0x00; - outdata[3] = 0x00; - } - - /* data size to transfer */ - outdata[4] = (len & 0xff); - outdata[5] = ((len >> 8) & 0xff); - outdata[6] = ((len >> 16) & 0xff); - outdata[7] = ((len >> 24) & 0xff); - - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, 0x00, - sizeof(outdata), outdata); -} - -SANE_Status sanei_genesys_bulk_read_data(Genesys_Device * dev, uint8_t addr, uint8_t* data, - size_t len) -{ - DBG_HELPER(dbg); - - // currently supported: GL646, GL841, GL843, GL846, GL847, GL124 - size_t size, target; - uint8_t *buffer; - - unsigned is_addr_used = 1; - unsigned has_header_before_each_chunk = 0; - if (dev->model->asic_type == GENESYS_GL124 || - dev->model->asic_type == GENESYS_GL846 || - dev->model->asic_type == GENESYS_GL847) - { - is_addr_used = 0; - has_header_before_each_chunk = 1; - } - - if (is_addr_used) { - DBG(DBG_io, "%s: requesting %lu bytes from 0x%02x addr\n", __func__, (u_long) len, addr); - } else { - DBG(DBG_io, "%s: requesting %lu bytes\n", __func__, (u_long) len); - } - - if (len == 0) - return SANE_STATUS_GOOD; - - if (is_addr_used) { - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, 0x00, - 1, &addr); - } - - target = len; - buffer = data; - - size_t max_in_size = sanei_genesys_get_bulk_max_size(dev); - - if (!has_header_before_each_chunk) { - sanei_genesys_bulk_read_data_send_header(dev, len); - } - - // loop until computed data size is read - while (target) { - if (target > max_in_size) { - size = max_in_size; - } else { - size = target; - } - - if (has_header_before_each_chunk) { - sanei_genesys_bulk_read_data_send_header(dev, size); - } - - DBG(DBG_io2, "%s: trying to read %lu bytes of data\n", __func__, (u_long) size); - - dev->usb_dev.bulk_read(data, &size); - - DBG(DBG_io2, "%s: read %lu bytes, %lu remaining\n", __func__, - (u_long) size, (u_long) (target - size)); - - target -= size; - data += size; - } - - if (DBG_LEVEL >= DBG_data && dev->binary!=NULL) { - fwrite(buffer, len, 1, dev->binary); - } - - return SANE_STATUS_GOOD; -} - -SANE_Status sanei_genesys_bulk_write_data(Genesys_Device * dev, uint8_t addr, uint8_t* data, - size_t len) -{ - DBG_HELPER(dbg); - - // supported: GL646, GL841, GL843 - size_t size; - uint8_t outdata[8]; - - DBG(DBG_io, "%s writing %lu bytes\n", __func__, (u_long) len); - - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, INDEX, - 1, &addr); - - - size_t max_out_size = sanei_genesys_get_bulk_max_size(dev); - - while (len) { - if (len > max_out_size) - size = max_out_size; - else - size = len; - - if (dev->model->asic_type == GENESYS_GL841) { - outdata[0] = BULK_OUT; - outdata[1] = BULK_RAM; - outdata[2] = VALUE_BUFFER & 0xff; - outdata[3] = (VALUE_BUFFER >> 8) & 0xff; - } else { - outdata[0] = BULK_OUT; - outdata[1] = BULK_RAM; - outdata[2] = 0x00; - outdata[3] = 0x00; - } - - outdata[4] = (size & 0xff); - outdata[5] = ((size >> 8) & 0xff); - outdata[6] = ((size >> 16) & 0xff); - outdata[7] = ((size >> 24) & 0xff); - - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, 0x00, - sizeof(outdata), outdata); - - dev->usb_dev.bulk_write(data, &size); - - DBG(DBG_io2, "%s: wrote %lu bytes, %lu remaining\n", __func__, (u_long) size, - (u_long) (len - size)); - - len -= size; - data += size; - } - - return SANE_STATUS_GOOD; -} - -/** @brief write to one high (addr >= 0x100) register - * write to a register which address is higher than 0xff. - * @param dev opened device to write to - * @param reg LSB of register address - * @param val value to write - */ -SANE_Status -sanei_genesys_write_hregister (Genesys_Device * dev, uint16_t reg, uint8_t val) -{ - DBG_HELPER(dbg); - - uint8_t buffer[2]; - - buffer[0]=reg & 0xff; - buffer[1]=val; - - - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, 0x100 | VALUE_SET_REGISTER, INDEX, - 2, buffer); - - DBG(DBG_io, "%s (0x%02x, 0x%02x) completed\n", __func__, reg, val); - - return SANE_STATUS_GOOD; -} - -/** @brief read from one high (addr >= 0x100) register - * Read to a register which address is higher than 0xff. Second byte is check to detect - * physical link errors. - * @param dev opened device to read from - * @param reg LSB of register address - * @param val value to write - */ -SANE_Status -sanei_genesys_read_hregister (Genesys_Device * dev, uint16_t reg, uint8_t * val) -{ - DBG_HELPER(dbg); - - SANE_Byte value[2]; - - dev->usb_dev.control_msg(REQUEST_TYPE_IN, REQUEST_BUFFER, 0x100 | VALUE_GET_REGISTER, - 0x22+((reg & 0xff)<<8), 2, value); - - *val=value[0]; - DBG(DBG_io2, "%s(0x%02x)=0x%02x\n", __func__, reg, *val); - - /* check usb link status */ - if((value[1] & 0xff) != 0x55) - { - DBG(DBG_error,"%s: invalid read, scanner unplugged ?\n", __func__); - return SANE_STATUS_IO_ERROR; - } - return SANE_STATUS_GOOD; -} - -/** - * Write to one GL847 ASIC register -URB 10 control 0x40 0x04 0x83 0x00 len 2 wrote 0xa6 0x04 - */ -static SANE_Status -sanei_genesys_write_gl847_register (Genesys_Device * dev, uint8_t reg, uint8_t val) -{ - DBG_HELPER(dbg); - - uint8_t buffer[2]; - - buffer[0]=reg; - buffer[1]=val; - - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_SET_REGISTER, INDEX, - 2, buffer); - - DBG(DBG_io, "%s (0x%02x, 0x%02x) completed\n", __func__, reg, val); - - return SANE_STATUS_GOOD; -} - -/** - * Write to one ASIC register - */ -SANE_Status -sanei_genesys_write_register (Genesys_Device * dev, uint16_t reg, uint8_t val) -{ - DBG_HELPER(dbg); - - SANE_Byte reg8; - - /* 16 bit register address space */ - if(reg>255) - { - return sanei_genesys_write_hregister(dev, reg, val); - } - - /* route to gl847 function if needed */ - if(dev->model->asic_type==GENESYS_GL847 - || dev->model->asic_type==GENESYS_GL845 - || dev->model->asic_type==GENESYS_GL846 - || dev->model->asic_type==GENESYS_GL124) - { - return sanei_genesys_write_gl847_register(dev, reg, val); - } - - reg8=reg & 0xff; - - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, INDEX, - 1, ®8); - - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_WRITE_REGISTER, INDEX, - 1, &val); - - DBG(DBG_io, "%s (0x%02x, 0x%02x) completed\n", __func__, reg, val); - - return SANE_STATUS_GOOD; -} - -/** - * @brief write command to 0x8c endpoint - * Write a value to 0x8c end point (end access), for USB firmware related operations - * Known values are 0x0f, 0x11 for USB 2.0 data transfer and 0x0f,0x14 for USB1.1 - * @param dev device to write to - * @param index index of the command - * @param val value to write - */ -SANE_Status -sanei_genesys_write_0x8c(Genesys_Device * dev, uint8_t index, uint8_t val) -{ - DBG_HELPER_ARGS(dbg, "0x%02x,0x%02x", index, val); - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_BUF_ENDACCESS, index, - 1, &val); - return SANE_STATUS_GOOD; -} - -/* read reg 0x41: - * URB 164 control 0xc0 0x04 0x8e 0x4122 len 2 read 0xfc 0x55 - */ -static SANE_Status -sanei_genesys_read_gl847_register (Genesys_Device * dev, uint16_t reg, uint8_t * val) -{ - DBG_HELPER(dbg); - SANE_Status status = SANE_STATUS_GOOD; - SANE_Byte value[2]; - - dev->usb_dev.control_msg(REQUEST_TYPE_IN, REQUEST_BUFFER, VALUE_GET_REGISTER, 0x22+(reg<<8), - 2, value); - - *val=value[0]; - DBG(DBG_io2, "%s(0x%02x)=0x%02x\n", __func__, reg, *val); - - /* check usb link status */ - if((value[1] & 0xff) != 0x55) - { - DBG(DBG_error,"%s: invalid read, scanner unplugged ?\n", __func__); - status=SANE_STATUS_IO_ERROR; - } - return status; -} - -/* Read from one register */ -SANE_Status -sanei_genesys_read_register (Genesys_Device * dev, uint16_t reg, uint8_t * val) -{ - DBG_HELPER(dbg); - - SANE_Byte reg8; - - /* 16 bit register address space */ - if(reg>255) - { - return sanei_genesys_read_hregister(dev, reg, val); - } - - /* route to gl847 function if needed */ - if(dev->model->asic_type==GENESYS_GL847 - || dev->model->asic_type==GENESYS_GL845 - || dev->model->asic_type==GENESYS_GL846 - || dev->model->asic_type==GENESYS_GL124) - return sanei_genesys_read_gl847_register(dev, reg, val); - - /* 8 bit register address space */ - reg8=(SANE_Byte)(reg& 0Xff); - - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, INDEX, - 1, ®8); - - *val = 0; - - dev->usb_dev.control_msg(REQUEST_TYPE_IN, REQUEST_REGISTER, VALUE_READ_REGISTER, INDEX, - 1, val); - - DBG(DBG_io, "%s (0x%02x, 0x%02x) completed\n", __func__, reg, *val); - - return SANE_STATUS_GOOD; -} - -/* Set address for writing data */ -SANE_Status -sanei_genesys_set_buffer_address (Genesys_Device * dev, uint32_t addr) -{ - SANE_Status status = SANE_STATUS_GOOD; - - if(dev->model->asic_type==GENESYS_GL847 - || dev->model->asic_type==GENESYS_GL845 - || dev->model->asic_type==GENESYS_GL846 - || dev->model->asic_type==GENESYS_GL124) - { - DBG(DBG_warn, "%s: shouldn't be used for GL846+ ASICs\n", __func__); - return SANE_STATUS_GOOD; - } - - DBG(DBG_io, "%s: setting address to 0x%05x\n", __func__, addr & 0xfffffff0); - - addr = addr >> 4; - - status = sanei_genesys_write_register (dev, 0x2b, (addr & 0xff)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed while writing low byte: %s\n", __func__, sane_strstatus(status)); - return status; - } - - addr = addr >> 8; - status = sanei_genesys_write_register (dev, 0x2a, (addr & 0xff)); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed while writing high byte: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_io, "%s: completed\n", __func__); - - return status; -} - -/**@brief read data from analog frontend (AFE) - * @param dev device owning the AFE - * @param addr register address to read - * @param data placeholder for the result - * @return SANE_STATUS_GOOD is OK, else the error code - */ -SANE_Status -sanei_genesys_fe_read_data (Genesys_Device * dev, uint8_t addr, - uint16_t *data) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t value; - Genesys_Register_Set reg; - - - DBG(DBG_proc, "%s: start\n", __func__); - - reg.init_reg(0x50, addr); - - /* set up read address */ - status = dev->model->cmd_set->bulk_write_register(dev, reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed while bulk writing registers: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - /* read data */ - RIE (sanei_genesys_read_register (dev, 0x46, &value)); - *data=256*value; - RIE (sanei_genesys_read_register (dev, 0x47, &value)); - *data+=value; - - DBG(DBG_io, "%s (0x%02x, 0x%04x)\n", __func__, addr, *data); - DBG(DBG_proc, "%s: completed\n", __func__); - - return status; -} - -/*@brief write data to analog frontend - * writes data to analog frontend to set it up accordingly - * to the sensor settings (exposure, timings, color, bit depth, ...) - * @param dev devie owning the AFE to write to - * @param addr AFE rister address - * @param data value to write to AFE register - **/ -SANE_Status -sanei_genesys_fe_write_data (Genesys_Device * dev, uint8_t addr, - uint16_t data) -{ - SANE_Status status = SANE_STATUS_GOOD; - Genesys_Register_Set reg(Genesys_Register_Set::SEQUENTIAL); - - DBG(DBG_io, "%s (0x%02x, 0x%04x)\n", __func__, addr, data); - - reg.init_reg(0x51, addr); - if (dev->model->asic_type == GENESYS_GL124) { - reg.init_reg(0x5d, (data / 256) & 0xff); - reg.init_reg(0x5e, data & 0xff); - } else { - reg.init_reg(0x3a, (data / 256) & 0xff); - reg.init_reg(0x3b, data & 0xff); - } - - status = dev->model->cmd_set->bulk_write_register(dev, reg); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed while bulk writing registers: %s\n", __func__, - sane_strstatus(status)); - return status; - } - - DBG(DBG_io, "%s: completed\n", __func__); - - return status; -} - -/* ------------------------------------------------------------------------ */ -/* Medium level functions */ -/* ------------------------------------------------------------------------ */ - -/** read the status register - */ -SANE_Status -sanei_genesys_get_status (Genesys_Device * dev, uint8_t * status) -{ - if(dev->model->asic_type==GENESYS_GL124) - return sanei_genesys_read_hregister(dev, 0x101, status); - return sanei_genesys_read_register (dev, 0x41, status); -} - -/** - * decodes and prints content of status register - * @param val value read from status register - */ -void sanei_genesys_print_status (uint8_t val) -{ - char msg[80]; - - sprintf (msg, "%s%s%s%s%s%s%s%s", - val & PWRBIT ? "PWRBIT " : "", - val & BUFEMPTY ? "BUFEMPTY " : "", - val & FEEDFSH ? "FEEDFSH " : "", - val & SCANFSH ? "SCANFSH " : "", - val & HOMESNR ? "HOMESNR " : "", - val & LAMPSTS ? "LAMPSTS " : "", - val & FEBUSY ? "FEBUSY " : "", - val & MOTORENB ? "MOTORENB" : ""); - DBG(DBG_info, "status=%s\n", msg); -} - -#if 0 -/* returns pixels per line from register set */ -/*candidate for moving into chip specific files?*/ -static int -genesys_pixels_per_line (Genesys_Register_Set * reg) -{ - int pixels_per_line; - - pixels_per_line = - sanei_genesys_read_reg_from_set (reg, - 0x32) * 256 + - sanei_genesys_read_reg_from_set (reg, 0x33); - pixels_per_line -= - (sanei_genesys_read_reg_from_set (reg, 0x30) * 256 + - sanei_genesys_read_reg_from_set (reg, 0x31)); - - return pixels_per_line; -} - -/* returns dpiset from register set */ -/*candidate for moving into chip specific files?*/ -static int -genesys_dpiset (Genesys_Register_Set * reg) -{ - int dpiset; - - dpiset = - sanei_genesys_read_reg_from_set (reg, - 0x2c) * 256 + - sanei_genesys_read_reg_from_set (reg, 0x2d); - - return dpiset; -} -#endif - -/** read the number of valid words in scanner's RAM - * ie registers 42-43-44 - */ -/*candidate for moving into chip specific files?*/ -SANE_Status -sanei_genesys_read_valid_words (Genesys_Device * dev, unsigned int *words) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t value; - - DBGSTART; - switch (dev->model->asic_type) - { - case GENESYS_GL124: - RIE (sanei_genesys_read_hregister (dev, 0x102, &value)); - *words = (value & 0x03); - RIE (sanei_genesys_read_hregister (dev, 0x103, &value)); - *words = *words * 256 + value; - RIE (sanei_genesys_read_hregister (dev, 0x104, &value)); - *words = *words * 256 + value; - RIE (sanei_genesys_read_hregister (dev, 0x105, &value)); - *words = *words * 256 + value; - break; - - case GENESYS_GL845: - case GENESYS_GL846: - RIE (sanei_genesys_read_register (dev, 0x42, &value)); - *words = (value & 0x02); - RIE (sanei_genesys_read_register (dev, 0x43, &value)); - *words = *words * 256 + value; - RIE (sanei_genesys_read_register (dev, 0x44, &value)); - *words = *words * 256 + value; - RIE (sanei_genesys_read_register (dev, 0x45, &value)); - *words = *words * 256 + value; - break; - - case GENESYS_GL847: - RIE (sanei_genesys_read_register (dev, 0x42, &value)); - *words = (value & 0x03); - RIE (sanei_genesys_read_register (dev, 0x43, &value)); - *words = *words * 256 + value; - RIE (sanei_genesys_read_register (dev, 0x44, &value)); - *words = *words * 256 + value; - RIE (sanei_genesys_read_register (dev, 0x45, &value)); - *words = *words * 256 + value; - break; - - default: - RIE (sanei_genesys_read_register (dev, 0x44, &value)); - *words = value; - RIE (sanei_genesys_read_register (dev, 0x43, &value)); - *words += (value * 256); - RIE (sanei_genesys_read_register (dev, 0x42, &value)); - if (dev->model->asic_type == GENESYS_GL646) - *words += ((value & 0x03) * 256 * 256); - else - *words += ((value & 0x0f) * 256 * 256); - } - - DBG(DBG_proc, "%s: %d words\n", __func__, *words); - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} - -/** read the number of lines scanned - * ie registers 4b-4c-4d - */ -SANE_Status -sanei_genesys_read_scancnt (Genesys_Device * dev, unsigned int *words) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t value; - - DBG(DBG_proc, "%s: start\n", __func__); - - if (dev->model->asic_type == GENESYS_GL124) - { - RIE (sanei_genesys_read_hregister (dev, 0x10b, &value)); - *words = (value & 0x0f) << 16; - RIE (sanei_genesys_read_hregister (dev, 0x10c, &value)); - *words += (value << 8); - RIE (sanei_genesys_read_hregister (dev, 0x10d, &value)); - *words += value; - } - else - { - RIE (sanei_genesys_read_register (dev, 0x4d, &value)); - *words = value; - RIE (sanei_genesys_read_register (dev, 0x4c, &value)); - *words += (value * 256); - RIE (sanei_genesys_read_register (dev, 0x4b, &value)); - if (dev->model->asic_type == GENESYS_GL646) - *words += ((value & 0x03) * 256 * 256); - else - *words += ((value & 0x0f) * 256 * 256); - } - - DBG(DBG_proc, "%s: %d lines\n", __func__, *words); - return SANE_STATUS_GOOD; -} - -/** @brief Check if the scanner's internal data buffer is empty - * @param *dev device to test for data - * @param *empty return value - * @return empty will be set to SANE_TRUE if there is no scanned data. - **/ -SANE_Status -sanei_genesys_test_buffer_empty (Genesys_Device * dev, SANE_Bool * empty) -{ - uint8_t val = 0; - SANE_Status status = SANE_STATUS_GOOD; - - sanei_genesys_sleep_ms(1); - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: failed to read buffer status: %s\n", __func__, sane_strstatus(status)); - return status; - } - - if (dev->model->cmd_set->test_buffer_empty_bit (val)) - { - /* fix timing issue on USB3 (or just may be too fast) hardware - * spotted by John S. Weber - */ - sanei_genesys_sleep_ms(1); - DBG(DBG_io2, "%s: buffer is empty\n", __func__); - *empty = SANE_TRUE; - return SANE_STATUS_GOOD; - } - - *empty = SANE_FALSE; - - DBG(DBG_io, "%s: buffer is filled\n", __func__); - return SANE_STATUS_GOOD; -} - - -/* Read data (e.g scanned image) from scan buffer */ -SANE_Status -sanei_genesys_read_data_from_scanner (Genesys_Device * dev, uint8_t * data, - size_t size) -{ - SANE_Status status = SANE_STATUS_GOOD; - int time_count = 0; - unsigned int words = 0; - - DBG(DBG_proc, "%s (size = %lu bytes)\n", __func__, (u_long) size); - - if (size & 1) - DBG(DBG_info, "WARNING %s: odd number of bytes\n", __func__); - - /* wait until buffer not empty for up to 5 seconds */ - do - { - status = sanei_genesys_read_valid_words (dev, &words); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: checking for empty buffer failed: %s\n", __func__, - sane_strstatus(status)); - return status; - } - if (words == 0) - { - sanei_genesys_sleep_ms(10); - time_count++; - } - } - while ((time_count < 2500*2) && (words == 0)); - - if (words == 0) /* timeout, buffer does not get filled */ - { - DBG(DBG_error, "%s: timeout, buffer does not get filled\n", __func__); - return SANE_STATUS_IO_ERROR; - } - - status = dev->model->cmd_set->bulk_read_data (dev, 0x45, data, size); - if (status != SANE_STATUS_GOOD) - { - DBG(DBG_error, "%s: reading bulk data failed: %s\n", __func__, sane_strstatus(status)); - return status; - } - - DBG(DBG_proc, "%s: completed\n", __func__); - return SANE_STATUS_GOOD; -} -SANE_Status -sanei_genesys_read_feed_steps (Genesys_Device * dev, unsigned int *steps) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t value; - - DBG(DBG_proc, "%s\n", __func__); - - if (dev->model->asic_type == GENESYS_GL124) - { - RIE (sanei_genesys_read_hregister (dev, 0x108, &value)); - *steps = (value & 0x1f) << 16; - RIE (sanei_genesys_read_hregister (dev, 0x109, &value)); - *steps += (value << 8); - RIE (sanei_genesys_read_hregister (dev, 0x10a, &value)); - *steps += value; - } - else - { - RIE (sanei_genesys_read_register (dev, 0x4a, &value)); - *steps = value; - RIE (sanei_genesys_read_register (dev, 0x49, &value)); - *steps += (value * 256); - RIE (sanei_genesys_read_register (dev, 0x48, &value)); - if (dev->model->asic_type == GENESYS_GL646) - *steps += ((value & 0x03) * 256 * 256); - else if (dev->model->asic_type == GENESYS_GL841) - *steps += ((value & 0x0f) * 256 * 256); - else - *steps += ((value & 0x1f) * 256 * 256); - } - - DBG(DBG_proc, "%s: %d steps\n", __func__, *steps); - return SANE_STATUS_GOOD; -} - -void sanei_genesys_set_lamp_power(Genesys_Device* dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs, bool set) -{ - static const uint8_t REG03_LAMPPWR = 0x10; - - if (set) { - regs.find_reg(0x03).value |= REG03_LAMPPWR; - - if (dev->model->asic_type == GENESYS_GL841) { - sanei_genesys_set_exposure(regs, sanei_genesys_fixup_exposure(sensor.exposure)); - regs.set8(0x19, 0x50); - } - - if (dev->model->asic_type == GENESYS_GL843) { - sanei_genesys_set_exposure(regs, sensor.exposure); - } - } else { - regs.find_reg(0x03).value &= ~REG03_LAMPPWR; - - if (dev->model->asic_type == GENESYS_GL841) { - sanei_genesys_set_exposure(regs, {0x0101, 0x0101, 0x0101}); - regs.set8(0x19, 0xff); - } - - if (dev->model->asic_type == GENESYS_GL843) { - if (dev->model->model_id != MODEL_CANON_CANOSCAN_8600F) { - // BUG: datasheet says we shouldn't set exposure to zero - sanei_genesys_set_exposure(regs, {0, 0, 0}); - } - } - } - regs.state.is_lamp_on = set; -} - -void sanei_genesys_set_motor_power(Genesys_Register_Set& regs, bool set) -{ - static const uint8_t REG02_MTRPWR = 0x10; - - if (set) { - regs.find_reg(0x02).value |= REG02_MTRPWR; - } else { - regs.find_reg(0x02).value &= ~REG02_MTRPWR; - } -} - -/** - * Write to many registers at once - * Note: sequential call to write register, no effective - * bulk write implemented. - * @param dev device to write to - * @param reg pointer to an array of registers - * @param elems size of the array - */ -SANE_Status sanei_genesys_bulk_write_register(Genesys_Device * dev, Genesys_Register_Set& reg) -{ - DBG_HELPER(dbg); - - SANE_Status status = SANE_STATUS_GOOD; - - if (dev->model->asic_type == GENESYS_GL646 || - dev->model->asic_type == GENESYS_GL841) - { - uint8_t outdata[8]; - std::vector buffer; - buffer.reserve(reg.size() * 2); - - /* copy registers and values in data buffer */ - for (const auto& r : reg) { - buffer.push_back(r.address); - buffer.push_back(r.value); - } - - DBG(DBG_io, "%s (elems= %lu, size = %lu)\n", __func__, (u_long) reg.size(), - (u_long) buffer.size()); - - if (dev->model->asic_type == GENESYS_GL646) { - outdata[0] = BULK_OUT; - outdata[1] = BULK_REGISTER; - outdata[2] = 0x00; - outdata[3] = 0x00; - outdata[4] = (buffer.size() & 0xff); - outdata[5] = ((buffer.size() >> 8) & 0xff); - outdata[6] = ((buffer.size() >> 16) & 0xff); - outdata[7] = ((buffer.size() >> 24) & 0xff); - - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, INDEX, - sizeof(outdata), outdata); - - size_t write_size = buffer.size(); - - dev->usb_dev.bulk_write(buffer.data(), &write_size); - } else { - for (size_t i = 0; i < reg.size();) { - size_t c = reg.size() - i; - if (c > 32) /*32 is max on GL841. checked that.*/ - c = 32; - - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_SET_REGISTER, - INDEX, c * 2, buffer.data() + i * 2); - - i += c; - } - } - } else { - for (const auto& r : reg) { - status = sanei_genesys_write_register (dev, r.address, r.value); - if (status != SANE_STATUS_GOOD) - return status; - } - } - - DBG (DBG_io, "%s: wrote %lu registers\n", __func__, (u_long) reg.size()); - return status; -} - - - -/** - * writes a block of data to AHB - * @param dn USB device index - * @param usb_mode usb mode : 1 usb 1.1, 2 usb 2.0 - * @param addr AHB address to write to - * @param size size of the chunk of data - * @param data pointer to the data to write - */ -SANE_Status -sanei_genesys_write_ahb(Genesys_Device* dev, uint32_t addr, uint32_t size, uint8_t * data) -{ - DBG_HELPER(dbg); - - uint8_t outdata[8]; - size_t written,blksize; - SANE_Status status = SANE_STATUS_GOOD; - int i; - char msg[100]="AHB="; - - outdata[0] = addr & 0xff; - outdata[1] = ((addr >> 8) & 0xff); - outdata[2] = ((addr >> 16) & 0xff); - outdata[3] = ((addr >> 24) & 0xff); - outdata[4] = (size & 0xff); - outdata[5] = ((size >> 8) & 0xff); - outdata[6] = ((size >> 16) & 0xff); - outdata[7] = ((size >> 24) & 0xff); - - if (DBG_LEVEL >= DBG_io) - { - for (i = 0; i < 8; i++) - { - sprintf (msg+strlen(msg), " 0x%02x", outdata[i]); - } - DBG (DBG_io, "%s: write(0x%08x,0x%08x)\n", __func__, addr,size); - DBG (DBG_io, "%s: %s\n", __func__, msg); - } - - // write addr and size for AHB - dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, 0x01, 8, outdata); - - size_t max_out_size = sanei_genesys_get_bulk_max_size(dev); - - /* write actual data */ - written = 0; - do - { - if (size - written > max_out_size) - { - blksize = max_out_size; - } - else - { - blksize = size - written; - } - dev->usb_dev.bulk_write(data + written, &blksize); - - written += blksize; - } - while (written < size); - - return status; -} - - -std::vector get_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor, - int color) -{ - if (!dev->gamma_override_tables[color].empty()) { - return dev->gamma_override_tables[color]; - } else { - std::vector ret; - sanei_genesys_create_default_gamma_table(dev, ret, sensor.gamma[color]); - return ret; - } -} - -/** @brief generates gamma buffer to transfer - * Generates gamma table buffer to send to ASIC. Applies - * contrast and brightness if set. - * @param dev device to set up - * @param bits number of bits used by gamma - * @param max value for gamma - * @param size of the gamma table - * @param gamma allocated gamma buffer to fill - * @returns SANE_STATUS_GOOD or SANE_STATUS_NO_MEM - */ -SANE_Status sanei_genesys_generate_gamma_buffer(Genesys_Device * dev, - const Genesys_Sensor& sensor, - int bits, - int max, - int size, - uint8_t *gamma) -{ - std::vector rgamma = get_gamma_table(dev, sensor, GENESYS_RED); - std::vector ggamma = get_gamma_table(dev, sensor, GENESYS_GREEN); - std::vector bgamma = get_gamma_table(dev, sensor, GENESYS_BLUE); - - if(dev->settings.contrast!=0 || dev->settings.brightness!=0) - { - std::vector lut(65536); - sanei_genesys_load_lut((unsigned char *)lut.data(), - bits, - bits, - 0, - max, - dev->settings.contrast, - dev->settings.brightness); - for (int i = 0; i < size; i++) - { - uint16_t value=rgamma[i]; - value=lut[value]; - gamma[i * 2 + size * 0 + 0] = value & 0xff; - gamma[i * 2 + size * 0 + 1] = (value >> 8) & 0xff; - - value=ggamma[i]; - value=lut[value]; - gamma[i * 2 + size * 2 + 0] = value & 0xff; - gamma[i * 2 + size * 2 + 1] = (value >> 8) & 0xff; - - value=bgamma[i]; - value=lut[value]; - gamma[i * 2 + size * 4 + 0] = value & 0xff; - gamma[i * 2 + size * 4 + 1] = (value >> 8) & 0xff; - } - } - else - { - for (int i = 0; i < size; i++) - { - uint16_t value=rgamma[i]; - gamma[i * 2 + size * 0 + 0] = value & 0xff; - gamma[i * 2 + size * 0 + 1] = (value >> 8) & 0xff; - - value=ggamma[i]; - gamma[i * 2 + size * 2 + 0] = value & 0xff; - gamma[i * 2 + size * 2 + 1] = (value >> 8) & 0xff; - - value=bgamma[i]; - gamma[i * 2 + size * 4 + 0] = value & 0xff; - gamma[i * 2 + size * 4 + 1] = (value >> 8) & 0xff; - } - } - - return SANE_STATUS_GOOD; -} - - -/** @brief send gamma table to scanner - * This function sends generic gamma table (ie ones built with - * provided gamma) or the user defined one if provided by - * fontend. Used by gl846+ ASICs - * @param dev device to write to - */ -SANE_Status -sanei_genesys_send_gamma_table(Genesys_Device * dev, const Genesys_Sensor& sensor) -{ - int size; - int i; - uint8_t val; - SANE_Status status = SANE_STATUS_GOOD; - - DBGSTART; - - size = 256 + 1; - - /* allocate temporary gamma tables: 16 bits words, 3 channels */ - std::vector gamma(size * 2 * 3, 255); - - RIE(sanei_genesys_generate_gamma_buffer(dev, sensor, 16, 65535, size, gamma.data())); - - /* loop sending gamma tables NOTE: 0x01000000 not 0x10000000 */ - for (i = 0; i < 3; i++) - { - /* clear corresponding GMM_N bit */ - RIE(sanei_genesys_read_register(dev, 0xbd, &val)); - val &= ~(0x01 << i); - RIE(sanei_genesys_write_register(dev, 0xbd, val)); - - /* clear corresponding GMM_F bit */ - RIE(sanei_genesys_read_register(dev, 0xbe, &val)); - val &= ~(0x01 << i); - RIE(sanei_genesys_write_register(dev, 0xbe, val)); - - // FIXME: currently the last word of each gamma table is not initialied, so to work around - // unstable data, just set it to 0 which is the most likely value of uninitialized memory - // (proper value is probably 0xff) - gamma[size * 2 * i + size * 2 - 2] = 0; - gamma[size * 2 * i + size * 2 - 1] = 0; - - /* set GMM_Z */ - RIE(sanei_genesys_write_register (dev, 0xc5+2*i, gamma[size*2*i+1])); - RIE(sanei_genesys_write_register (dev, 0xc6+2*i, gamma[size*2*i])); - - status = sanei_genesys_write_ahb(dev, 0x01000000 + 0x200 * i, (size-1) * 2, gamma.data() + i * size * 2+2); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: write to AHB failed writing table %d (%s)\n", __func__, - i, sane_strstatus (status)); - break; - } - } - - DBGCOMPLETED; - return status; -} - -/** @brief initialize device - * Initialize backend and ASIC : registers, motor tables, and gamma tables - * then ensure scanner's head is at home. Designed for gl846+ ASICs. - * Detects cold boot (ie first boot since device plugged) in this case - * an extensice setup up is done at hardware level. - * - * @param dev device to initialize - * @param max_regs umber of maximum used registers - * @return SANE_STATUS_GOOD in case of success - */ -SANE_Status -sanei_genesys_asic_init(Genesys_Device* dev, int /*max_regs*/) -{ - DBG_HELPER(dbg); - - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - SANE_Bool cold = SANE_TRUE; - - DBGSTART; - - // URB 16 control 0xc0 0x0c 0x8e 0x0b len 1 read 0x00 */ - dev->usb_dev.control_msg(REQUEST_TYPE_IN, REQUEST_REGISTER, VALUE_GET_REGISTER, 0x00, 1, &val); - - DBG (DBG_io2, "%s: value=0x%02x\n", __func__, val); - DBG (DBG_info, "%s: device is %s\n", __func__, (val & 0x08) ? "USB 1.0" : "USB2.0"); - if (val & 0x08) - { - dev->usb_mode = 1; - } - else - { - dev->usb_mode = 2; - } - - /* check if the device has already been initialized and powered up - * we read register 6 and check PWRBIT, if reset scanner has been - * freshly powered up. This bit will be set to later so that following - * reads can detect power down/up cycle*/ - RIE (sanei_genesys_read_register (dev, 0x06, &val)); - /* test for POWER bit */ - if (val & 0x10) - { - cold = SANE_FALSE; - } - DBG (DBG_info, "%s: device is %s\n", __func__, cold ? "cold" : "warm"); - - /* don't do anything if backend is initialized and hardware hasn't been - * replug */ - if (dev->already_initialized && !cold) - { - DBG (DBG_info, "%s: already initialized, nothing to do\n", __func__); - return SANE_STATUS_GOOD; - } - - /* set up hardware and registers */ - RIE (dev->model->cmd_set->asic_boot (dev, cold)); - - /* now hardware part is OK, set up device struct */ - dev->white_average_data.clear(); - dev->dark_average_data.clear(); - - dev->settings.color_filter = ColorFilter::RED; - - /* duplicate initial values into calibration registers */ - dev->calib_reg = dev->reg; - - const auto& sensor = sanei_genesys_find_sensor_any(dev); - - /* Set analog frontend */ - RIE (dev->model->cmd_set->set_fe(dev, sensor, AFE_INIT)); - - dev->already_initialized = SANE_TRUE; - - /* Move to home if needed */ - RIE (dev->model->cmd_set->slow_back_home (dev, SANE_TRUE)); - dev->scanhead_position_in_steps = 0; - - /* Set powersaving (default = 15 minutes) */ - RIE (dev->model->cmd_set->set_powersaving (dev, 15)); - - return status; -} - -/** - * Wait for the scanning head to park - */ -SANE_Status -sanei_genesys_wait_for_home (Genesys_Device * dev) -{ - SANE_Status status = SANE_STATUS_GOOD; - uint8_t val; - int loop; - int max=300; - - DBGSTART; - - /* clear the parking status whatever the outcome of the function */ - dev->parking=SANE_FALSE; - - /* read initial status, if head isn't at home and motor is on - * we are parking, so we wait. - * gl847/gl124 need 2 reads for reliable results */ - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - return status; - } - sanei_genesys_sleep_ms(10); - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - return status; - } - - /* if at home, return */ - if(val & HOMESNR) - { - DBG (DBG_info, - "%s: already at home\n", __func__); - return status; - } - - /* loop for 30 s max, polling home sensor */ - loop = 0; - do - { - sanei_genesys_sleep_ms(100); - status = sanei_genesys_get_status (dev, &val); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "%s: failed to read home sensor: %s\n", __func__, - sane_strstatus (status)); - return status; - } - if (DBG_LEVEL >= DBG_io2) - { - sanei_genesys_print_status (val); - } - ++loop; - } - while (loop < max && !(val & HOMESNR) && status == SANE_STATUS_GOOD); - - /* if after the timeout, head is still not parked, error out */ - if(loop >= max && !(val & HOMESNR) && status == SANE_STATUS_GOOD) - { - DBG (DBG_error, "%s: failed to reach park position %ds\n", __func__, max/10); - return SANE_STATUS_IO_ERROR; - } - - DBGCOMPLETED; - return status; -} - -/**@brief compute hardware sensor dpi to use - * compute the sensor hardware dpi based on target resolution. - * A lower dpihw enable faster scans. - * @param dev device used for the scan - * @param xres x resolution of the scan - * @return the hardware dpi to use - */ -int sanei_genesys_compute_dpihw(Genesys_Device *dev, const Genesys_Sensor& sensor, int xres) -{ - /* some scanners use always hardware dpi for sensor */ - if (dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE) - { - return sensor.optical_res; - } - - /* can't be below 600 dpi */ - if (xres <= 600) - { - return 600; - } - if (xres <= sensor.optical_res / 4) - { - return sensor.optical_res / 4; - } - if (xres <= sensor.optical_res / 2) - { - return sensor.optical_res / 2; - } - return sensor.optical_res; -} - -// sanei_genesys_compute_dpihw returns the dpihw that is written to register. -// However the number of pixels depends on half_ccd mode -int sanei_genesys_compute_dpihw_calibration(Genesys_Device *dev, const Genesys_Sensor& sensor, - int xres) -{ - if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) - { - // real resolution is half of the "official" resolution - half_ccd mode - int hwres = sensor.optical_res / sensor.get_ccd_size_divisor_for_dpi(xres); - - if (xres <= hwres / 4) - { - return hwres / 4; - } - if (xres <= hwres / 2) - { - return hwres / 2; - } - return hwres; - } - - return sanei_genesys_compute_dpihw(dev, sensor, xres); -} - -/** @brief motor profile - * search for the database of motor profiles and get the best one. Each - * profile is at full step and at a reference exposure. Use first entry - * by default. - * @param motors motor profile database - * @param motor_type motor id - * @param exposure exposure time - * @return a pointer to a Motor_Profile struct - */ -Motor_Profile *sanei_genesys_get_motor_profile(Motor_Profile *motors, int motor_type, int exposure) -{ - unsigned int i; - int idx; - - i=0; - idx=-1; - while(motors[i].exposure!=0) - { - /* exact match */ - if(motors[i].motor_type==motor_type && motors[i].exposure==exposure) - { - return &(motors[i]); - } - - /* closest match */ - if(motors[i].motor_type==motor_type) - { - /* if profile exposure is higher than the required one, - * the entry is a candidate for the closest match */ - if(motors[i].exposure>=exposure) - { - if(idx<0) - { - /* no match found yet */ - idx=i; - } - else - { - /* test for better match */ - if(motors[i].exposurestep_type; -} - -/** @brief generate slope table - * Generate the slope table to use for the scan using a reference slope - * table. - * @param slope pointer to the slope table to fill - * @param steps pointer to return used step number - * @param dpi desired motor resolution - * @param exposure exposure used - * @param base_dpi base resolution of the motor - * @param step_type step type used for scan - * @param factor shrink factor for the slope - * @param motor_type motor id - * @param motors motor profile database - */ -int sanei_genesys_slope_table(uint16_t *slope, - int *steps, - int dpi, - int exposure, - int base_dpi, - int step_type, - int factor, - int motor_type, - Motor_Profile *motors) -{ -int sum, i; -uint16_t target,current; -Motor_Profile *profile; - - /* required speed */ - target=((exposure * dpi) / base_dpi)>>step_type; - DBG (DBG_io2, "%s: exposure=%d, dpi=%d, target=%d\n", __func__, exposure, dpi, target); - - /* fill result with target speed */ - for(i=0;itable[0]; - - /* loop on profile copying and apply step type */ - while(profile->table[i]!=0 && current>=target) - { - slope[i]=current; - sum+=slope[i]; - i++; - current=profile->table[i]>>step_type; - } - - /* ensure last step is required speed in case profile doesn't contain it */ - if(current!=0 && currenttable[i]==0 && DBG_LEVEL >= DBG_warn && current>target) - { - DBG (DBG_warn,"%s: short slope table, failed to reach %d. target too low ?\n",__func__,target); - } - if(i<3 && DBG_LEVEL >= DBG_warn) - { - DBG (DBG_warn,"%s: short slope table, failed to reach %d. target too high ?\n",__func__,target); - } - - /* align on factor */ - while(i%factor!=0) - { - slope[i+1]=slope[i]; - sum+=slope[i]; - i++; - } - - /* ensure minimal slope size */ - while(i<2*factor) - { - slope[i+1]=slope[i]; - sum+=slope[i]; - i++; - } - - // return used steps and taken time - *steps=i/factor; - return sum; -} - -/** @brief returns the lowest possible ydpi for the device - * Parses device entry to find lowest motor dpi. - * @param dev device description - * @return lowest motor resolution - */ -int sanei_genesys_get_lowest_ydpi(Genesys_Device *dev) -{ - int min=20000; - int i=0; - - while(dev->model->ydpi_values[i]!=0) - { - if(dev->model->ydpi_values[i]model->ydpi_values[i]; - } - i++; - } - return min; -} - -/** @brief returns the lowest possible dpi for the device - * Parses device entry to find lowest motor or sensor dpi. - * @param dev device description - * @return lowest motor resolution - */ -int sanei_genesys_get_lowest_dpi(Genesys_Device *dev) -{ - int min=20000; - int i=0; - - while(dev->model->ydpi_values[i]!=0) - { - if(dev->model->ydpi_values[i]model->ydpi_values[i]; - } - i++; - } - i=0; - while(dev->model->xdpi_values[i]!=0) - { - if(dev->model->xdpi_values[i]model->xdpi_values[i]; - } - i++; - } - return min; -} - -/** @brief check is a cache entry may be used - * Compares current settings with the cache entry and return - * SANE_TRUE if they are compatible. - * A calibration cache is compatible if color mode and x dpi match the user - * requested scan. In the case of CIS scanners, dpi isn't a criteria. - * flatbed cache entries are considred too old and then expires if they - * are older than the expiration time option, forcing calibration at least once - * then given time. */ -bool sanei_genesys_is_compatible_calibration(Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Calibration_Cache * cache, int for_overwrite) -{ -#ifdef HAVE_SYS_TIME_H - struct timeval time; -#endif - int compatible = 1, resolution; - - DBGSTART; - - if(dev->model->cmd_set->calculate_current_setup==NULL) - { - DBG (DBG_proc, "%s: no calculate_setup, non compatible cache\n", __func__); - return false; - } - - dev->model->cmd_set->calculate_current_setup(dev, sensor); - - DBG (DBG_proc, "%s: checking\n", __func__); - - /* a calibration cache is compatible if color mode and x dpi match the user - * requested scan. In the case of CIS scanners, dpi isn't a criteria */ - if (dev->model->is_cis == SANE_FALSE) - { - resolution = dev->settings.xres; - if(resolution>sensor.optical_res) - { - resolution=sensor.optical_res; - } - compatible = (resolution == ((int) cache->used_setup.xres)); - } - else - { - resolution=sanei_genesys_compute_dpihw(dev, sensor, dev->settings.xres); - compatible = (resolution == ((int) sanei_genesys_compute_dpihw(dev, sensor,cache->used_setup.xres))); - } - DBG (DBG_io, "%s: after resolution check current compatible=%d\n", __func__, compatible); - if (dev->current_setup.ccd_size_divisor != cache->used_setup.ccd_size_divisor) - { - DBG (DBG_io, "%s: half_ccd=%d, used=%d\n", __func__, - dev->current_setup.ccd_size_divisor, cache->used_setup.ccd_size_divisor); - compatible = 0; - } - if (dev->current_setup.params.scan_method != cache->used_setup.params.scan_method) - { - DBG (DBG_io, "%s: current method=%d, used=%d\n", __func__, - static_cast(dev->current_setup.params.scan_method), - static_cast(cache->used_setup.params.scan_method)); - compatible = 0; - } - if (!compatible) - { - DBG (DBG_proc, "%s: completed, non compatible cache\n", __func__); - return false; - } - - /* a cache entry expires after afetr expiration time for non sheetfed scanners */ - /* this is not taken into account when overwriting cache entries */ -#ifdef HAVE_SYS_TIME_H - if(for_overwrite == SANE_FALSE && dev->settings.expiration_time >=0) - { - gettimeofday (&time, NULL); - if ((time.tv_sec - cache->last_calibration > dev->settings.expiration_time*60) - && (dev->model->is_sheetfed == SANE_FALSE) - && (dev->settings.scan_method == ScanMethod::FLATBED)) - { - DBG (DBG_proc, "%s: expired entry, non compatible cache\n", __func__); - return false; - } - } -#endif - - DBGCOMPLETED; - return true; -} - - -/** @brief compute maximum line distance shift - * compute maximum line distance shift for the motor and sensor - * combination. Line distance shift is the distance between different - * color component of CCD sensors. Since these components aren't at - * the same physical place, they scan diffrent lines. Software must - * take this into account to accurately mix color data. - * @param dev device session to compute max_shift for - * @param channels number of color channels for the scan - * @param yres motor resolution used for the scan - * @param flags scan flags - * @return 0 or line distance shift - */ -int sanei_genesys_compute_max_shift(Genesys_Device *dev, - int channels, - int yres, - int flags) -{ - int max_shift; - - max_shift=0; - if (channels > 1 && !(flags & SCAN_FLAG_IGNORE_LINE_DISTANCE)) - { - max_shift = dev->ld_shift_r; - if (dev->ld_shift_b > max_shift) - max_shift = dev->ld_shift_b; - if (dev->ld_shift_g > max_shift) - max_shift = dev->ld_shift_g; - max_shift = (max_shift * yres) / dev->motor.base_ydpi; - } - return max_shift; -} - -/** @brief build lookup table for digital enhancements - * Function to build a lookup table (LUT), often - used by scanners to implement brightness/contrast/gamma - or by backends to speed binarization/thresholding - - offset and slope inputs are -127 to +127 - - slope rotates line around central input/output val, - 0 makes horizontal line - - pos zero neg - . x . . x - . x . . x - out . x .xxxxxxxxxxx . x - . x . . x - ....x....... ............ .......x.... - in in in - - offset moves line vertically, and clamps to output range - 0 keeps the line crossing the center of the table - - high low - . xxxxxxxx . - . x . - out x . x - . . x - ............ xxxxxxxx.... - in in - - out_min/max provide bounds on output values, - useful when building thresholding lut. - 0 and 255 are good defaults otherwise. - * @param lut pointer where to store the generated lut - * @param in_bits number of bits for in values - * @param out_bits number of bits of out values - * @param out_min minimal out value - * @param out_max maximal out value - * @param slope slope of the generated data - * @param offset offset of the generated data - */ -SANE_Status -sanei_genesys_load_lut (unsigned char * lut, - int in_bits, - int out_bits, - int out_min, - int out_max, - int slope, - int offset) -{ - SANE_Status ret = SANE_STATUS_GOOD; - int i, j; - double shift, rise; - int max_in_val = (1 << in_bits) - 1; - int max_out_val = (1 << out_bits) - 1; - uint8_t *lut_p8 = lut; - uint16_t *lut_p16 = (uint16_t *) lut; - - DBGSTART; - - /* slope is converted to rise per unit run: - * first [-127,127] to [-.999,.999] - * then to [-PI/4,PI/4] then [0,PI/2] - * then take the tangent (T.O.A) - * then multiply by the normal linear slope - * because the table may not be square, i.e. 1024x256*/ - rise = tan ((double) slope / 128 * M_PI_4 + M_PI_4) * max_out_val / max_in_val; - - /* line must stay vertically centered, so figure - * out vertical offset at central input value */ - shift = (double) max_out_val / 2 - (rise * max_in_val / 2); - - /* convert the user offset setting to scale of output - * first [-127,127] to [-1,1] - * then to [-max_out_val/2,max_out_val/2]*/ - shift += (double) offset / 127 * max_out_val / 2; - - for (i = 0; i <= max_in_val; i++) - { - j = rise * i + shift; - - /* cap data to required range */ - if (j < out_min) - { - j = out_min; - } - else if (j > out_max) - { - j = out_max; - } - - /* copy result according to bit depth */ - if (out_bits <= 8) - { - *lut_p8 = j; - lut_p8++; - } - else - { - *lut_p16 = j; - lut_p16++; - } - } - - DBGCOMPLETED; - return ret; -} - -void sanei_genesys_usleep(unsigned int useconds) -{ - usleep(useconds); -} - -void sanei_genesys_sleep_ms(unsigned int milliseconds) -{ - sanei_genesys_usleep(milliseconds * 1000); -} - -static std::unique_ptr>> s_functions_run_at_backend_exit; - -void add_function_to_run_at_backend_exit(std::function function) -{ - if (!s_functions_run_at_backend_exit) - s_functions_run_at_backend_exit.reset(new std::vector>()); - s_functions_run_at_backend_exit->push_back(std::move(function)); -} - -void run_functions_at_backend_exit() -{ - for (auto it = s_functions_run_at_backend_exit->rbegin(); - it != s_functions_run_at_backend_exit->rend(); ++it) - { - (*it)(); - } - s_functions_run_at_backend_exit.release(); -} - -void debug_dump(unsigned level, const Genesys_Settings& settings) -{ - DBG(level, "settings:\n" - "Resolution X/Y : %u / %u dpi\n" - "Lines : %u\n" - "Pixels per line : %u\n" - "Depth : %u\n" - "Start position X/Y : %.3f/%.3f\n" - "Scan mode : %d\n\n", - settings.xres, settings.yres, - settings.lines, settings.pixels, settings.depth, - settings.tl_x, settings.tl_y, - static_cast(settings.scan_mode)); -} - -void debug_dump(unsigned level, const SetupParams& params) -{ - DBG(level, "settings:\n" - "Resolution X/Y : %u / %u dpi\n" - "Lines : %u\n" - "Pixels per line : %u\n" - "Depth : %u\n" - "Channels : %u\n" - "Start position X/Y : %g / %g\n" - "Scan mode : %d\n" - "Color filter : %d\n" - "Flags : %x\n", - params.xres, params.yres, - params.lines, params.pixels, - params.depth, params.channels, - params.startx, params.starty, - static_cast(params.scan_mode), - static_cast(params.color_filter), - params.flags); -} - -void debug_dump(unsigned level, const Genesys_Current_Setup& setup) -{ - DBG(level, "current_setup:\n" - "Pixels: %d\n" - "Lines: %d\n" - "Depth: %d\n" - "Channels: %d\n" - "exposure_time: %d\n" - "Resolution X/Y: %g %g\n" - "ccd_size_divisor: %d\n" - "stagger: %d\n" - "max_shift: %d\n", - setup.pixels, - setup.lines, - setup.depth, - setup.channels, - setup.exposure_time, - setup.xres, setup.yres, - setup.ccd_size_divisor, - setup.stagger, - setup.max_shift); -} diff --git a/backend/genesys_low.h b/backend/genesys_low.h deleted file mode 100644 index e750808..0000000 --- a/backend/genesys_low.h +++ /dev/null @@ -1,2042 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2003 Oliver Rauch - Copyright (C) 2003, 2004 Henning Meier-Geinitz - Copyright (C) 2004, 2005 Gerhard Jaeger - Copyright (C) 2004-2013 Stéphane Voltz - Copyright (C) 2005-2009 Pierre Willenbrock - Copyright (C) 2006 Laurent Charpentier - Parts of the structs have been taken from the gt68xx backend by - Sergey Vlasov et al. - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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 GENESYS_LOW_H -#define GENESYS_LOW_H - - -#include "../include/sane/config.h" - -#include -#include -#include -#include -#include -#include -#include -#ifdef HAVE_SYS_TIME_H -#include -#endif -#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_MKDIR -#include -#include -#endif - -#include "../include/sane/sane.h" -#include "../include/sane/sanei.h" -#include "../include/sane/saneopts.h" - -#include "../include/sane/sanei_backend.h" -#include "../include/sane/sanei_usb.h" - -#include "../include/_stdint.h" - -#include "genesys_error.h" -#include "genesys_sanei.h" -#include "genesys_serialize.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define FREE_IFNOT_NULL(x) if(x!=NULL) { free(x); x=NULL;} - -#define GENESYS_RED 0 -#define GENESYS_GREEN 1 -#define GENESYS_BLUE 2 - -/* Flags */ -#define GENESYS_FLAG_UNTESTED (1 << 0) /**< Print a warning for these scanners */ -#define GENESYS_FLAG_14BIT_GAMMA (1 << 1) /**< use 14bit Gamma table instead of 12 */ -#define GENESYS_FLAG_LAZY_INIT (1 << 2) /**< skip extensive ASIC test at init */ -#define GENESYS_FLAG_XPA (1 << 3) -#define GENESYS_FLAG_SKIP_WARMUP (1 << 4) /**< skip genesys_warmup() */ -/** @brief offset calibration flag - * signals that the scanner does offset calibration. In this case off_calibration() and - * coarse_gain_calibration() functions must be implemented - */ -#define GENESYS_FLAG_OFFSET_CALIBRATION (1 << 5) -#define GENESYS_FLAG_SEARCH_START (1 << 6) /**< do start search before scanning */ -#define GENESYS_FLAG_REPARK (1 << 7) /**< repark head (and check for lock) by - moving without scanning */ -#define GENESYS_FLAG_DARK_CALIBRATION (1 << 8) /**< do dark calibration */ -#define GENESYS_FLAG_STAGGERED_LINE (1 << 9) /**< pixel columns are shifted vertically for hi-res modes */ - -#define GENESYS_FLAG_MUST_WAIT (1 << 10) /**< tells wether the scanner must wait for the head when parking */ - - -#define GENESYS_FLAG_HAS_UTA (1 << 11) /**< scanner has a transparency adapter */ - -#define GENESYS_FLAG_DARK_WHITE_CALIBRATION (1 << 12) /**< yet another calibration method. does white and dark shading in one run, depending on a black and a white strip*/ -#define GENESYS_FLAG_CUSTOM_GAMMA (1 << 13) /**< allow custom gamma tables */ -#define GENESYS_FLAG_NO_CALIBRATION (1 << 14) /**< allow scanners to use skip the calibration, needed for sheetfed scanners */ -#define GENESYS_FLAG_SIS_SENSOR (1 << 16) /**< handling of multi-segments sensors in software */ -#define GENESYS_FLAG_SHADING_NO_MOVE (1 << 17) /**< scanner doesn't move sensor during shading calibration */ -#define GENESYS_FLAG_SHADING_REPARK (1 << 18) /**< repark head between shading scans */ -#define GENESYS_FLAG_FULL_HWDPI_MODE (1 << 19) /**< scanner always use maximum hw dpi to setup the sensor */ -// scanner has infrared transparency scanning capability -#define GENESYS_FLAG_HAS_UTA_INFRARED (1 << 20) - -#define GENESYS_HAS_NO_BUTTONS 0 /**< scanner has no supported button */ -#define GENESYS_HAS_SCAN_SW (1 << 0) /**< scanner has SCAN button */ -#define GENESYS_HAS_FILE_SW (1 << 1) /**< scanner has FILE button */ -#define GENESYS_HAS_COPY_SW (1 << 2) /**< scanner has COPY button */ -#define GENESYS_HAS_EMAIL_SW (1 << 3) /**< scanner has EMAIL button */ -#define GENESYS_HAS_PAGE_LOADED_SW (1 << 4) /**< scanner has paper in detection */ -#define GENESYS_HAS_OCR_SW (1 << 5) /**< scanner has OCR button */ -#define GENESYS_HAS_POWER_SW (1 << 6) /**< scanner has power button */ -#define GENESYS_HAS_CALIBRATE (1 << 7) /**< scanner has 'calibrate' software button to start calibration */ -#define GENESYS_HAS_EXTRA_SW (1 << 8) /**< scanner has extra function button */ - -/* USB control message values */ -#define REQUEST_TYPE_IN (USB_TYPE_VENDOR | USB_DIR_IN) -#define REQUEST_TYPE_OUT (USB_TYPE_VENDOR | USB_DIR_OUT) -#define REQUEST_REGISTER 0x0c -#define REQUEST_BUFFER 0x04 -#define VALUE_BUFFER 0x82 -#define VALUE_SET_REGISTER 0x83 -#define VALUE_READ_REGISTER 0x84 -#define VALUE_WRITE_REGISTER 0x85 -#define VALUE_INIT 0x87 -#define GPIO_OUTPUT_ENABLE 0x89 -#define GPIO_READ 0x8a -#define GPIO_WRITE 0x8b -#define VALUE_BUF_ENDACCESS 0x8c -#define VALUE_GET_REGISTER 0x8e -#define INDEX 0x00 - -/* todo: used? -#define VALUE_READ_STATUS 0x86 -*/ - -/* Read/write bulk data/registers */ -#define BULK_OUT 0x01 -#define BULK_IN 0x00 -#define BULK_RAM 0x00 -#define BULK_REGISTER 0x11 - -#define BULKOUT_MAXSIZE 0xF000 - -/* AFE values */ -#define AFE_INIT 1 -#define AFE_SET 2 -#define AFE_POWER_SAVE 4 - -#define LOWORD(x) ((uint16_t)((x) & 0xffff)) -#define HIWORD(x) ((uint16_t)((x) >> 16)) -#define LOBYTE(x) ((uint8_t)((x) & 0xFF)) -#define HIBYTE(x) ((uint8_t)((x) >> 8)) - -/* Global constants */ -/* TODO: emove this leftover of early backend days */ -#define MOTOR_SPEED_MAX 350 -#define DARK_VALUE 0 - -#define PWRBIT 0x80 -#define BUFEMPTY 0x40 -#define FEEDFSH 0x20 -#define SCANFSH 0x10 -#define HOMESNR 0x08 -#define LAMPSTS 0x04 -#define FEBUSY 0x02 -#define MOTORENB 0x01 - -#define GENESYS_MAX_REGS 256 - -enum class ScanMethod : unsigned { - // normal scan method - FLATBED = 0, - // scan using transparency adaptor - TRANSPARENCY = 1, - // scan using transparency adaptor via infrared channel - TRANSPARENCY_INFRARED = 2 -}; - -inline void serialize(std::istream& str, ScanMethod& x) -{ - unsigned value; - serialize(str, value); - x = static_cast(value); -} - -inline void serialize(std::ostream& str, ScanMethod& x) -{ - unsigned value = static_cast(x); - serialize(str, value); -} - -enum class ScanColorMode : unsigned { - LINEART = 0, - HALFTONE, - GRAY, - COLOR_SINGLE_PASS -}; - -inline void serialize(std::istream& str, ScanColorMode& x) -{ - unsigned value; - serialize(str, value); - x = static_cast(value); -} - -inline void serialize(std::ostream& str, ScanColorMode& x) -{ - unsigned value = static_cast(x); - serialize(str, value); -} - -enum class ColorFilter : unsigned { - RED = 0, - GREEN, - BLUE, - NONE -}; - -inline void serialize(std::istream& str, ColorFilter& x) -{ - unsigned value; - serialize(str, value); - x = static_cast(value); -} - -inline void serialize(std::ostream& str, ColorFilter& x) -{ - unsigned value = static_cast(x); - serialize(str, value); -} - -struct GenesysRegister { - uint16_t address = 0; - uint8_t value = 0; -}; - -inline bool operator<(const GenesysRegister& lhs, const GenesysRegister& rhs) -{ - return lhs.address < rhs.address; -} - -struct GenesysRegisterSetState { - bool is_lamp_on = false; - bool is_xpa_on = false; -}; - -class Genesys_Register_Set { -public: - using container = std::vector; - using iterator = typename container::iterator; - using const_iterator = typename container::const_iterator; - - // FIXME: this shouldn't live here, but in a separate struct that contains Genesys_Register_Set - GenesysRegisterSetState state; - - enum Options { - SEQUENTIAL = 1 - }; - - Genesys_Register_Set() - { - registers_.reserve(GENESYS_MAX_REGS); - } - - // by default the register set is sorted by address. In certain cases it's importand to send - // the registers in certain order: use the SEQUENTIAL option for that - Genesys_Register_Set(Options opts) : Genesys_Register_Set() - { - if ((opts & SEQUENTIAL) == SEQUENTIAL) { - sorted_ = false; - } - } - - void init_reg(uint16_t address, uint8_t default_value) - { - if (find_reg_index(address) >= 0) { - set8(address, default_value); - return; - } - GenesysRegister reg; - reg.address = address; - reg.value = default_value; - registers_.push_back(reg); - if (sorted_) - std::sort(registers_.begin(), registers_.end()); - } - - void remove_reg(uint16_t address) - { - int i = find_reg_index(address); - if (i < 0) { - throw std::runtime_error("the register does not exist"); - } - registers_.erase(registers_.begin() + i); - } - - GenesysRegister& find_reg(uint16_t address) - { - int i = find_reg_index(address); - if (i < 0) { - throw std::runtime_error("the register does not exist"); - } - return registers_[i]; - } - - const GenesysRegister& find_reg(uint16_t address) const - { - int i = find_reg_index(address); - if (i < 0) { - throw std::runtime_error("the register does not exist"); - } - return registers_[i]; - } - - GenesysRegister* find_reg_address(uint16_t address) - { - return &find_reg(address); - } - - const GenesysRegister* find_reg_address(uint16_t address) const - { - return &find_reg(address); - } - - void set8(uint16_t address, uint8_t value) - { - find_reg(address).value = value; - } - - void set8_mask(uint16_t address, uint8_t value, uint8_t mask) - { - auto& reg = find_reg(address); - reg.value = (reg.value & ~mask) | value; - } - - void set16(uint16_t address, uint16_t value) - { - find_reg(address).value = (value >> 8) & 0xff; - find_reg(address + 1).value = value & 0xff; - } - - void set24(uint16_t address, uint32_t value) - { - find_reg(address).value = (value >> 16) & 0xff; - find_reg(address + 1).value = (value >> 8) & 0xff; - find_reg(address + 2).value = value & 0xff; - } - - uint8_t get8(uint16_t address) const - { - return find_reg(address).value; - } - - uint16_t get16(uint16_t address) const - { - return (find_reg(address).value << 8) | find_reg(address + 1).value; - } - - uint32_t get24(uint16_t address) const - { - return (find_reg(address).value << 16) | - (find_reg(address + 1).value << 8) | - find_reg(address + 2).value; - } - - void clear() { registers_.clear(); } - size_t size() const { return registers_.size(); } - - iterator begin() { return registers_.begin(); } - const_iterator begin() const { return registers_.begin(); } - - iterator end() { return registers_.end(); } - const_iterator end() const { return registers_.end(); } - -private: - int find_reg_index(uint16_t address) const - { - if (!sorted_) { - for (size_t i = 0; i < registers_.size(); i++) { - if (registers_[i].address == address) { - return i; - } - } - return -1; - } - - GenesysRegister search; - search.address = address; - auto it = std::lower_bound(registers_.begin(), registers_.end(), search); - if (it == registers_.end()) - return -1; - if (it->address != address) - return -1; - return std::distance(registers_.begin(), it); - } - - // registers are stored in a sorted vector - bool sorted_ = true; - std::vector registers_; -}; - -template -struct AssignableArray : public std::array { - AssignableArray() = default; - AssignableArray(const AssignableArray&) = default; - AssignableArray& operator=(const AssignableArray&) = default; - - AssignableArray& operator=(std::initializer_list init) - { - if (init.size() != std::array::size()) - throw std::runtime_error("An array of incorrect size assigned"); - std::copy(init.begin(), init.end(), std::array::begin()); - return *this; - } -}; - -struct GenesysRegisterSetting { - GenesysRegisterSetting() = default; - - GenesysRegisterSetting(uint16_t p_address, uint8_t p_value) : - address(p_address), value(p_value) - {} - - GenesysRegisterSetting(uint16_t p_address, uint8_t p_value, uint8_t p_mask) : - address(p_address), value(p_value), mask(p_mask) - {} - - uint16_t address = 0; - uint8_t value = 0; - uint8_t mask = 0xff; - - bool operator==(const GenesysRegisterSetting& other) const - { - return address == other.address && value == other.value && mask == other.mask; - } -}; - -template -void serialize(Stream& str, GenesysRegisterSetting& reg) -{ - serialize(str, reg.address); - serialize(str, reg.value); - serialize(str, reg.mask); -} - -class GenesysRegisterSettingSet { -public: - using container = std::vector; - using iterator = typename container::iterator; - using const_iterator = typename container::const_iterator; - - GenesysRegisterSettingSet() = default; - GenesysRegisterSettingSet(std::initializer_list ilist) : regs_(ilist) {} - - iterator begin() { return regs_.begin(); } - const_iterator begin() const { return regs_.begin(); } - iterator end() { return regs_.end(); } - const_iterator end() const { return regs_.end(); } - - GenesysRegisterSetting& operator[](size_t i) { return regs_[i]; } - const GenesysRegisterSetting& operator[](size_t i) const { return regs_[i]; } - - size_t size() const { return regs_.size(); } - bool empty() const { return regs_.empty(); } - void clear() { regs_.clear(); } - - void push_back(GenesysRegisterSetting reg) { regs_.push_back(reg); } - - void merge(const GenesysRegisterSettingSet& other) - { - for (const auto& reg : other) { - set_value(reg.address, reg.value); - } - } - - uint8_t get_value(uint16_t address) const - { - for (const auto& reg : regs_) { - if (reg.address == address) - return reg.value; - } - throw std::runtime_error("Unknown register"); - } - - void set_value(uint16_t address, uint8_t value) - { - for (auto& reg : regs_) { - if (reg.address == address) { - reg.value = value; - return; - } - } - push_back(GenesysRegisterSetting(address, value)); - } - - friend void serialize(std::istream& str, GenesysRegisterSettingSet& reg); - friend void serialize(std::ostream& str, GenesysRegisterSettingSet& reg); - - bool operator==(const GenesysRegisterSettingSet& other) const - { - return regs_ == other.regs_; - } - -private: - std::vector regs_; -}; - -inline void serialize(std::istream& str, GenesysRegisterSettingSet& reg) -{ - reg.clear(); - const size_t max_register_address = - 1 << (sizeof(GenesysRegisterSetting::address) * CHAR_BIT); - serialize(str, reg.regs_, max_register_address); -} - -inline void serialize(std::ostream& str, GenesysRegisterSettingSet& reg) -{ - serialize(str, reg.regs_); -} - -struct GenesysFrontendLayout -{ - std::array offset_addr = {}; - std::array gain_addr = {}; - - bool operator==(const GenesysFrontendLayout& other) const - { - return offset_addr == other.offset_addr && gain_addr == other.gain_addr; - } -}; - -/** @brief Data structure to set up analog frontend. - The analog frontend converts analog value from image sensor to digital value. It has its own - control registers which are set up with this structure. The values are written using - sanei_genesys_fe_write_data. - */ -struct Genesys_Frontend -{ - Genesys_Frontend() = default; - - // id of the frontend description - uint8_t fe_id = 0; - - // all registers of the frontend - GenesysRegisterSettingSet regs; - - // extra control registers - std::array reg2 = {}; - - GenesysFrontendLayout layout; - - void set_offset(unsigned which, uint8_t value) - { - regs.set_value(layout.offset_addr[which], value); - } - - void set_gain(unsigned which, uint8_t value) - { - regs.set_value(layout.gain_addr[which], value); - } - - uint8_t get_offset(unsigned which) const - { - return regs.get_value(layout.offset_addr[which]); - } - - uint8_t get_gain(unsigned which) const - { - return regs.get_value(layout.gain_addr[which]); - } - - bool operator==(const Genesys_Frontend& other) const - { - return fe_id == other.fe_id && - regs == other.regs && - reg2 == other.reg2 && - layout == other.layout; - } -}; - -template -void serialize(Stream& str, Genesys_Frontend& x) -{ - serialize(str, x.fe_id); - serialize_newline(str); - serialize(str, x.regs); - serialize_newline(str); - serialize(str, x.reg2); - serialize_newline(str); - serialize(str, x.layout.offset_addr); - serialize(str, x.layout.gain_addr); -} - -struct SensorExposure { - uint16_t red, green, blue; -}; - -struct Genesys_Sensor { - - Genesys_Sensor() = default; - ~Genesys_Sensor() = default; - - // id of the sensor description - uint8_t sensor_id = 0; - int optical_res = 0; - - // the minimum and maximum resolution this sensor is usable at. -1 means that the resolution - // can be any. - int min_resolution = -1; - int max_resolution = -1; - - // the scan method used with the sensor - ScanMethod method = ScanMethod::FLATBED; - - // CCD may present itself as half or quarter-size CCD on certain resolutions - int ccd_size_divisor = 1; - - int black_pixels = 0; - // value of the dummy register - int dummy_pixel = 0; - // last pixel of CCD margin at optical resolution - int CCD_start_xoffset = 0; - // total pixels used by the sensor - int sensor_pixels = 0; - // TA CCD target code (reference gain) - int fau_gain_white_ref = 0; - // CCD target code (reference gain) - int gain_white_ref = 0; - - // red, green and blue initial exposure values - SensorExposure exposure; - - int exposure_lperiod = -1; - - GenesysRegisterSettingSet custom_regs; - GenesysRegisterSettingSet custom_fe_regs; - - // red, green and blue gamma coefficient for default gamma tables - AssignableArray gamma; - - int get_ccd_size_divisor_for_dpi(int xres) const - { - if (ccd_size_divisor >= 4 && xres * 4 <= optical_res) { - return 4; - } - if (ccd_size_divisor >= 2 && xres * 2 <= optical_res) { - return 2; - } - return 1; - } - - bool operator==(const Genesys_Sensor& other) const - { - return sensor_id == other.sensor_id && - optical_res == other.optical_res && - min_resolution == other.min_resolution && - max_resolution == other.max_resolution && - method == other.method && - ccd_size_divisor == other.ccd_size_divisor && - black_pixels == other.black_pixels && - dummy_pixel == other.dummy_pixel && - CCD_start_xoffset == other.CCD_start_xoffset && - sensor_pixels == other.sensor_pixels && - fau_gain_white_ref == other.fau_gain_white_ref && - gain_white_ref == other.gain_white_ref && - exposure.blue == other.exposure.blue && - exposure.green == other.exposure.green && - exposure.red == other.exposure.red && - exposure_lperiod == other.exposure_lperiod && - custom_regs == other.custom_regs && - custom_fe_regs == other.custom_fe_regs && - gamma == other.gamma; - } -}; - -template -void serialize(Stream& str, Genesys_Sensor& x) -{ - serialize(str, x.sensor_id); - serialize(str, x.optical_res); - serialize(str, x.min_resolution); - serialize(str, x.max_resolution); - serialize(str, x.method); - serialize(str, x.ccd_size_divisor); - serialize(str, x.black_pixels); - serialize(str, x.dummy_pixel); - serialize(str, x.CCD_start_xoffset); - serialize(str, x.sensor_pixels); - serialize(str, x.fau_gain_white_ref); - serialize(str, x.gain_white_ref); - serialize_newline(str); - serialize(str, x.exposure.blue); - serialize(str, x.exposure.green); - serialize(str, x.exposure.red); - serialize(str, x.exposure_lperiod); - serialize_newline(str); - serialize(str, x.custom_regs); - serialize_newline(str); - serialize(str, x.custom_fe_regs); - serialize_newline(str); - serialize(str, x.gamma); -} - -struct Genesys_Gpo -{ - Genesys_Gpo() = default; - - Genesys_Gpo(uint8_t id, const std::array& v, const std::array& e) - { - gpo_id = id; - value[0] = v[0]; - value[1] = v[1]; - enable[0] = e[0]; - enable[1] = e[1]; - } - - // Genesys_Gpo - uint8_t gpo_id = 0; - - // registers 0x6c and 0x6d on GL841, GL842, GL843, GL846, GL848 and possibly others - uint8_t value[2] = { 0, 0 }; - - // registers 0x6e and 0x6f on GL841, GL842, GL843, GL846, GL848 and possibly others - uint8_t enable[2] = { 0, 0 }; -}; - -struct Genesys_Motor_Slope -{ - Genesys_Motor_Slope() = default; - Genesys_Motor_Slope(int p_maximum_start_speed, int p_maximum_speed, int p_minimum_steps, - float p_g) : - maximum_start_speed(p_maximum_start_speed), - maximum_speed(p_maximum_speed), - minimum_steps(p_minimum_steps), - g(p_g) - {} - - // maximum speed allowed when accelerating from standstill. Unit: pixeltime/step - int maximum_start_speed = 0; - // maximum speed allowed. Unit: pixeltime/step - int maximum_speed = 0; - // number of steps used for default curve - int minimum_steps = 0; - - /* power for non-linear acceleration curves. - vs*(1-i^g)+ve*(i^g) where - vs = start speed, ve = end speed, - i = 0.0 for first entry and i = 1.0 for last entry in default table - */ - float g = 0; -}; - - -struct Genesys_Motor -{ - Genesys_Motor() = default; - Genesys_Motor(uint8_t p_motor_id, int p_base_ydpi, int p_optical_ydpi, int p_max_step_type, - int p_power_mode_count, - const std::vector>& p_slopes) : - motor_id(p_motor_id), - base_ydpi(p_base_ydpi), - optical_ydpi(p_optical_ydpi), - max_step_type(p_max_step_type), - power_mode_count(p_power_mode_count), - slopes(p_slopes) - {} - - // id of the motor description - uint8_t motor_id = 0; - // motor base steps. Unit: 1/inch - int base_ydpi = 0; - // maximum resolution in y-direction. Unit: 1/inch - int optical_ydpi = 0; - // maximum step type. 0-2 - int max_step_type = 0; - // number of power modes - int power_mode_count = 0; - // slopes to derive individual slopes from - std::vector> slopes; -}; - -typedef enum Genesys_Color_Order -{ - COLOR_ORDER_RGB, - COLOR_ORDER_BGR -} -Genesys_Color_Order; - - -#define MAX_RESOLUTIONS 13 -#define MAX_DPI 4 - -#define GENESYS_GL646 646 -#define GENESYS_GL841 841 -#define GENESYS_GL843 843 -#define GENESYS_GL845 845 -#define GENESYS_GL846 846 -#define GENESYS_GL847 847 -#define GENESYS_GL848 848 -#define GENESYS_GL123 123 -#define GENESYS_GL124 124 - -enum Genesys_Model_Type -{ - MODEL_UMAX_ASTRA_4500 = 0, - MODEL_CANON_LIDE_50, - MODEL_PANASONIC_KV_SS080, - MODEL_HP_SCANJET_4850C, - MODEL_HP_SCANJET_G4010, - MODEL_HP_SCANJET_G4050, - MODEL_CANON_CANOSCAN_4400F, - MODEL_CANON_CANOSCAN_8400F, - MODEL_CANON_CANOSCAN_8600F, - MODEL_CANON_LIDE_100, - MODEL_CANON_LIDE_110, - MODEL_CANON_LIDE_120, - MODEL_CANON_LIDE_210, - MODEL_CANON_LIDE_220, - MODEL_CANON_CANOSCAN_5600F, - MODEL_CANON_LIDE_700F, - MODEL_CANON_LIDE_200, - MODEL_CANON_LIDE_60, - MODEL_CANON_LIDE_80, - MODEL_HP_SCANJET_2300C, - MODEL_HP_SCANJET_2400C, - MODEL_VISIONEER_STROBE_XP200, - MODEL_HP_SCANJET_3670C, - MODEL_PLUSTEK_OPTICPRO_ST12, - MODEL_PLUSTEK_OPTICPRO_ST24, - MODEL_MEDION_MD5345, - MODEL_VISIONEER_STROBE_XP300, - MODEL_SYSCAN_DOCKETPORT_665, - MODEL_VISIONEER_ROADWARRIOR, - MODEL_SYSCAN_DOCKETPORT_465, - MODEL_VISIONEER_STROBE_XP100_REVISION3, - MODEL_PENTAX_DSMOBILE_600, - MODEL_SYSCAN_DOCKETPORT_467, - MODEL_SYSCAN_DOCKETPORT_685, - MODEL_SYSCAN_DOCKETPORT_485, - MODEL_DCT_DOCKETPORT_487, - MODEL_VISIONEER_7100, - MODEL_XEROX_2400, - MODEL_XEROX_TRAVELSCANNER_100, - MODEL_PLUSTEK_OPTICPRO_3600, - MODEL_HP_SCANJET_N6310, - MODEL_PLUSTEK_OPTICBOOK_3800, - MODEL_CANON_IMAGE_FORMULA_101 -}; - -enum Genesys_Dac_Type -{ - DAC_WOLFSON_UMAX = 0, - DAC_WOLFSON_ST12, - DAC_WOLFSON_ST24, - DAC_WOLFSON_5345, - DAC_WOLFSON_HP2400, - DAC_WOLFSON_HP2300, - DAC_CANONLIDE35, - DAC_AD_XP200, - DAC_WOLFSON_XP300, - DAC_WOLFSON_HP3670, - DAC_WOLFSON_DSM600, - DAC_CANONLIDE200, - DAC_KVSS080, - DAC_G4050, - DAC_CANONLIDE110, - DAC_PLUSTEK_3600, - DAC_CANONLIDE700, - DAC_CS8400F, - DAC_CS8600F, - DAC_IMG101, - DAC_PLUSTEK3800, - DAC_CANONLIDE80, - DAC_CANONLIDE120 -}; - -enum Genesys_Sensor_Type -{ - CCD_UMAX = 0, - CCD_ST12, // SONY ILX548: 5340 Pixel ??? - CCD_ST24, // SONY ILX569: 10680 Pixel ??? - CCD_5345, - CCD_HP2400, - CCD_HP2300, - CCD_CANONLIDE35, - CIS_XP200, // CIS sensor for Strobe XP200, - CCD_HP3670, - CCD_DP665, - CCD_ROADWARRIOR, - CCD_DSMOBILE600, - CCD_XP300, - CCD_DP685, - CIS_CANONLIDE200, - CIS_CANONLIDE100, - CCD_KVSS080, - CCD_G4050, - CIS_CANONLIDE110, - CCD_PLUSTEK_3600, - CCD_HP_N6310, - CIS_CANONLIDE700, - CCD_CS4400F, - CCD_CS8400F, - CCD_CS8600F, - CCD_IMG101, - CCD_PLUSTEK3800, - CIS_CANONLIDE210, - CIS_CANONLIDE80, - CIS_CANONLIDE220, - CIS_CANONLIDE120, -}; - -enum Genesys_Gpo_Type -{ - GPO_UMAX, - GPO_ST12, - GPO_ST24, - GPO_5345, - GPO_HP2400, - GPO_HP2300, - GPO_CANONLIDE35, - GPO_XP200, - GPO_XP300, - GPO_HP3670, - GPO_DP665, - GPO_DP685, - GPO_CANONLIDE200, - GPO_KVSS080, - GPO_G4050, - GPO_CANONLIDE110, - GPO_PLUSTEK_3600, - GPO_CANONLIDE210, - GPO_HP_N6310, - GPO_CANONLIDE700, - GPO_CS4400F, - GPO_CS8400F, - GPO_CS8600F, - GPO_IMG101, - GPO_PLUSTEK3800, - GPO_CANONLIDE80, - GPO_CANONLIDE120 -}; - -enum Genesys_Motor_Type -{ - MOTOR_UMAX = 0, - MOTOR_5345, - MOTOR_ST24, - MOTOR_HP2400, - MOTOR_HP2300, - MOTOR_CANONLIDE35, - MOTOR_XP200, - MOTOR_XP300, - MOTOR_HP3670, - MOTOR_DP665, - MOTOR_ROADWARRIOR, - MOTOR_DSMOBILE_600, - MOTOR_CANONLIDE200, - MOTOR_CANONLIDE100, - MOTOR_KVSS080, - MOTOR_G4050, - MOTOR_CANONLIDE110, - MOTOR_PLUSTEK_3600, - MOTOR_CANONLIDE700, - MOTOR_CS8400F, - MOTOR_CS8600F, - MOTOR_IMG101, - MOTOR_PLUSTEK3800, - MOTOR_CANONLIDE210, - MOTOR_CANONLIDE80, - MOTOR_CANONLIDE120 -}; - -/* Forward typedefs */ -typedef struct Genesys_Device Genesys_Device; -struct Genesys_Scanner; -typedef struct Genesys_Calibration_Cache Genesys_Calibration_Cache; - -/** - * Scanner command set description. - * - * This description contains parts which are common to all scanners with the - * same command set, but may have different optical resolution and other - * parameters. - */ -typedef struct Genesys_Command_Set -{ - /** @name Identification */ - /*@{ */ - - /** Name of this command set */ - SANE_String_Const name; - - /*@} */ - - bool (*needs_home_before_init_regs_for_scan) (Genesys_Device* dev); - - /** For ASIC initialization */ - SANE_Status (*init) (Genesys_Device * dev); - - SANE_Status (*init_regs_for_warmup) (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * regs, - int *channels, int *total_size); - SANE_Status (*init_regs_for_coarse_calibration) (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set& regs); - SANE_Status (*init_regs_for_shading) (Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs); - SANE_Status (*init_regs_for_scan) (Genesys_Device * dev, const Genesys_Sensor& sensor); - - SANE_Bool (*get_filter_bit) (Genesys_Register_Set * reg); - SANE_Bool (*get_lineart_bit) (Genesys_Register_Set * reg); - SANE_Bool (*get_bitset_bit) (Genesys_Register_Set * reg); - SANE_Bool (*get_gain4_bit) (Genesys_Register_Set * reg); - SANE_Bool (*get_fast_feed_bit) (Genesys_Register_Set * reg); - - SANE_Bool (*test_buffer_empty_bit) (SANE_Byte val); - SANE_Bool (*test_motor_flag_bit) (SANE_Byte val); - - SANE_Status (*set_fe) (Genesys_Device * dev, const Genesys_Sensor& sensor, uint8_t set); - SANE_Status (*set_powersaving) (Genesys_Device * dev, int delay); - SANE_Status (*save_power) (Genesys_Device * dev, SANE_Bool enable); - - SANE_Status (*begin_scan) (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set * regs, - SANE_Bool start_motor); - SANE_Status (*end_scan) (Genesys_Device * dev, - Genesys_Register_Set * regs, - SANE_Bool check_stop); - - /** - * Send gamma tables to ASIC - */ - SANE_Status (*send_gamma_table) (Genesys_Device * dev, const Genesys_Sensor& sensor); - - SANE_Status (*search_start_position) (Genesys_Device * dev); - SANE_Status (*offset_calibration) (Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs); - SANE_Status (*coarse_gain_calibration) (Genesys_Device * dev, - const Genesys_Sensor& sensor, - Genesys_Register_Set& regs, int dpi); - SANE_Status (*led_calibration) (Genesys_Device * dev, Genesys_Sensor& sensor, - Genesys_Register_Set& regs); - - void (*wait_for_motor_stop) (Genesys_Device* dev); - SANE_Status (*slow_back_home) (Genesys_Device * dev, SANE_Bool wait_until_home); - SANE_Status (*rewind) (Genesys_Device * dev); - - SANE_Status (*bulk_write_register) (Genesys_Device * dev, - Genesys_Register_Set& regs); - - SANE_Status (*bulk_write_data) (Genesys_Device * dev, uint8_t addr, - uint8_t * data, size_t len); - - SANE_Status (*bulk_read_data) (Genesys_Device * dev, uint8_t addr, - uint8_t * data, size_t len); - - // Updates hardware sensor information in Genesys_Scanner.val[]. - SANE_Status (*update_hardware_sensors) (struct Genesys_Scanner * s); - - /* functions for sheetfed scanners */ - /** - * load document into scanner - */ - SANE_Status (*load_document) (Genesys_Device * dev); - /** - * detects is the scanned document has left scanner. In this - * case it updates the amount of data to read and set up - * flags in the dev struct - */ - SANE_Status (*detect_document_end) (Genesys_Device * dev); - /** - * eject document from scanner - */ - SANE_Status (*eject_document) (Genesys_Device * dev); - /** - * search for an black or white area in forward or reverse - * direction */ - SANE_Status (*search_strip) (Genesys_Device * dev, const Genesys_Sensor& sensor, - SANE_Bool forward, SANE_Bool black); - - bool (*is_compatible_calibration) (Genesys_Device* dev, const Genesys_Sensor& sensor, - Genesys_Calibration_Cache* cache, SANE_Bool for_overwrite); - - /* functions for transparency adapter */ - /** - * move scanning head to transparency adapter - */ - SANE_Status (*move_to_ta) (Genesys_Device * dev); - - /** - * write shading data calibration to ASIC - */ - SANE_Status (*send_shading_data) (Genesys_Device * dev, const Genesys_Sensor& sensor, - uint8_t * data, int size); - - // calculate current scan setup - void (*calculate_current_setup) (Genesys_Device * dev, const Genesys_Sensor& sensor); - - /** - * cold boot init function - */ - SANE_Status (*asic_boot) (Genesys_Device * dev, SANE_Bool cold); - -} Genesys_Command_Set; - -/** @brief structure to describe a scanner model - * This structure describes a model. It is composed of information on the - * sensor, the motor, scanner geometry and flags to drive operation. - */ -typedef struct Genesys_Model -{ - SANE_String_Const name; - SANE_String_Const vendor; - SANE_String_Const model; - SANE_Int model_id; - - SANE_Int asic_type; /* ASIC type gl646 or gl841 */ - Genesys_Command_Set *cmd_set; /* pointers to low level functions */ - - SANE_Int xdpi_values[MAX_RESOLUTIONS]; /* possible x resolutions */ - SANE_Int ydpi_values[MAX_RESOLUTIONS]; /* possible y resolutions */ - SANE_Int bpp_gray_values[MAX_DPI]; /* possible depths in gray mode */ - SANE_Int bpp_color_values[MAX_DPI]; /* possible depths in color mode */ - - SANE_Fixed x_offset; /* Start of scan area in mm */ - SANE_Fixed y_offset; /* Start of scan area in mm (Amount of - feeding needed to get to the medium) */ - SANE_Fixed x_size; /* Size of scan area in mm */ - SANE_Fixed y_size; /* Size of scan area in mm */ - - SANE_Fixed y_offset_calib; /* Start of white strip in mm */ - SANE_Fixed x_offset_mark; /* Start of black mark in mm */ - - SANE_Fixed x_offset_ta; /* Start of scan area in TA mode in mm */ - SANE_Fixed y_offset_ta; /* Start of scan area in TA mode in mm */ - SANE_Fixed x_size_ta; /* Size of scan area in TA mode in mm */ - SANE_Fixed y_size_ta; /* Size of scan area in TA mode in mm */ - - SANE_Fixed y_offset_calib_ta; /* Start of white strip in TA mode in mm */ - - SANE_Fixed post_scan; /* Size of scan area after paper sensor stops - sensing document in mm */ - SANE_Fixed eject_feed; /* Amount of feeding needed to eject document - after finishing scanning in mm */ - - /* Line-distance correction (in pixel at optical_ydpi) for CCD scanners */ - SANE_Int ld_shift_r; /* red */ - SANE_Int ld_shift_g; /* green */ - SANE_Int ld_shift_b; /* blue */ - - Genesys_Color_Order line_mode_color_order; /* Order of the CCD/CIS colors */ - - SANE_Bool is_cis; /* Is this a CIS or CCD scanner? */ - SANE_Bool is_sheetfed; /* Is this sheetfed scanner? */ - - SANE_Int ccd_type; /* which SENSOR type do we have ? */ - SANE_Int dac_type; /* which DAC do we have ? */ - SANE_Int gpo_type; /* General purpose output type */ - SANE_Int motor_type; /* stepper motor type */ - SANE_Word flags; /* Which hacks are needed for this scanner? */ - SANE_Word buttons; /* Button flags, described existing buttons for the model */ - /*@} */ - SANE_Int shading_lines; /* how many lines are used for shading calibration */ - SANE_Int shading_ta_lines; // how many lines are used for shading calibration in TA mode - SANE_Int search_lines; /* how many lines are used to search start position */ -} Genesys_Model; - -struct Genesys_Settings -{ - ScanMethod scan_method = ScanMethod::FLATBED; - ScanColorMode scan_mode = ScanColorMode::LINEART; - - // horizontal dpi - int xres = 0; - // vertical dpi - int yres = 0; - - //x start on scan table in mm - double tl_x = 0; - // y start on scan table in mm - double tl_y = 0; - - // number of lines at scan resolution - unsigned int lines = 0; - // number of pixels at scan resolution - unsigned int pixels = 0; - - // bit depth of the scan - unsigned int depth = 0; - - ColorFilter color_filter = ColorFilter::NONE; - - // true if scan is true gray, false if monochrome scan - int true_gray = 0; - - // lineart threshold - int threshold = 0; - - // lineart threshold curve for dynamic rasterization - int threshold_curve = 0; - - // Disable interpolation for xres::max(); - - // resolution in x direction - unsigned xres = NOT_SET; - // resolution in y direction - unsigned yres = NOT_SET; - // start pixel in X direction, from dummy_pixel + 1 - float startx = -1; - // start pixel in Y direction, counted according to base_ydpi - float starty = -1; - // the number of pixels in X direction - unsigned pixels = NOT_SET; - // the number of pixels in Y direction - unsigned lines = NOT_SET; - // the depth of the scan in bits. Allowed are 1, 8, 16 - unsigned depth = NOT_SET; - // the number of channels - unsigned channels = NOT_SET; - - ScanMethod scan_method = static_cast(NOT_SET); - - ScanColorMode scan_mode = static_cast(NOT_SET); - - ColorFilter color_filter = static_cast(NOT_SET); - - unsigned flags = NOT_SET; - - void assert_valid() const - { - if (xres == NOT_SET || yres == NOT_SET || startx < 0 || starty < 0 || - pixels == NOT_SET || lines == NOT_SET ||depth == NOT_SET || channels == NOT_SET || - scan_method == static_cast(NOT_SET) || - scan_mode == static_cast(NOT_SET) || - color_filter == static_cast(NOT_SET) || - flags == NOT_SET) - { - throw std::runtime_error("SetupParams are not valid"); - } - } - - bool operator==(const SetupParams& other) const - { - return xres == other.xres && - yres == other.yres && - startx == other.startx && - starty == other.starty && - pixels == other.pixels && - lines == other.lines && - depth == other.depth && - channels == other.channels && - scan_method == other.scan_method && - scan_mode == other.scan_mode && - color_filter == other.color_filter && - flags == other.flags; - } -}; - -template -void serialize(Stream& str, SetupParams& x) -{ - serialize(str, x.xres); - serialize(str, x.yres); - serialize(str, x.startx); - serialize(str, x.starty); - serialize(str, x.pixels); - serialize(str, x.lines); - serialize(str, x.depth); - serialize(str, x.channels); - serialize(str, x.scan_method); - serialize(str, x.scan_mode); - serialize(str, x.color_filter); - serialize(str, x.flags); -} - -struct Genesys_Current_Setup -{ - // params used for this setup - SetupParams params; - - // pixel count expected from scanner - int pixels = 0; - // line count expected from scanner - int lines = 0; - // depth expected from scanner - int depth = 0; - // channel count expected from scanner - int channels = 0; - - // used exposure time - int exposure_time = 0; - // used xres - float xres = 0; - // used yres - float yres = 0; - // half ccd mode - unsigned ccd_size_divisor = 1; - SANE_Int stagger = 0; - // max shift of any ccd component, including staggered pixels - SANE_Int max_shift = 0; - - bool operator==(const Genesys_Current_Setup& other) const - { - return params == other.params && - pixels == other.pixels && - lines == other.lines && - depth == other.depth && - channels == other.channels && - exposure_time == other.exposure_time && - xres == other.xres && - yres == other.yres && - ccd_size_divisor == other.ccd_size_divisor && - stagger == other.stagger && - max_shift == other.max_shift; - } -}; - -template -void serialize(Stream& str, Genesys_Current_Setup& x) -{ - serialize(str, x.params); - serialize_newline(str); - serialize(str, x.pixels); - serialize(str, x.lines); - serialize(str, x.depth); - serialize(str, x.channels); - serialize(str, x.exposure_time); - serialize(str, x.xres); - serialize(str, x.yres); - serialize(str, x.ccd_size_divisor); - serialize(str, x.stagger); - serialize(str, x.max_shift); -} - -struct Genesys_Buffer -{ - Genesys_Buffer() = default; - - size_t size() const { return buffer_.size(); } - size_t avail() const { return avail_; } - size_t pos() const { return pos_; } - - // TODO: refactor code that uses this function to no longer use it - void set_pos(size_t pos) { pos_ = pos; } - - void alloc(size_t size); - void clear(); - - void reset(); - - uint8_t* get_write_pos(size_t size); - uint8_t* get_read_pos(); // TODO: mark as const - - void produce(size_t size); - void consume(size_t size); - -private: - std::vector buffer_; - // current position in read buffer - size_t pos_ = 0; - // data bytes currently in buffer - size_t avail_ = 0; -}; - -struct Genesys_Calibration_Cache -{ - Genesys_Calibration_Cache() = default; - ~Genesys_Calibration_Cache() = default; - - // used to check if entry is compatible - Genesys_Current_Setup used_setup; - time_t last_calibration = 0; - - Genesys_Frontend frontend; - Genesys_Sensor sensor; - - size_t calib_pixels = 0; - size_t calib_channels = 0; - size_t average_size = 0; - std::vector white_average_data; - std::vector dark_average_data; - - bool operator==(const Genesys_Calibration_Cache& other) const - { - return used_setup == other.used_setup && - last_calibration == other.last_calibration && - frontend == other.frontend && - sensor == other.sensor && - calib_pixels == other.calib_pixels && - calib_channels == other.calib_channels && - average_size == other.average_size && - white_average_data == other.white_average_data && - dark_average_data == other.dark_average_data; - } -}; - -template -void serialize(Stream& str, Genesys_Calibration_Cache& x) -{ - serialize(str, x.used_setup); - serialize_newline(str); - serialize(str, x.last_calibration); - serialize_newline(str); - serialize(str, x.frontend); - serialize_newline(str); - serialize(str, x.sensor); - serialize_newline(str); - serialize(str, x.calib_pixels); - serialize(str, x.calib_channels); - serialize(str, x.average_size); - serialize_newline(str); - serialize(str, x.white_average_data); - serialize_newline(str); - serialize(str, x.dark_average_data); -} - -/** - * Describes the current device status for the backend - * session. This should be more accurately called - * Genesys_Session . - */ -struct Genesys_Device -{ - Genesys_Device() = default; - ~Genesys_Device(); - - using Calibration = std::vector; - - // frees commonly used data - void clear(); - - UsbDevice usb_dev; - SANE_Word vendorId = 0; /**< USB vendor identifier */ - SANE_Word productId = 0; /**< USB product identifier */ - - // USB mode: - // 0: not set - // 1: USB 1.1 - // 2: USB 2.0 - SANE_Int usb_mode = 0; - - SANE_String file_name = nullptr; - std::string calib_file; - - // if enabled, no calibration data will be loaded or saved to files - SANE_Int force_calibration = 0; - Genesys_Model *model = nullptr; - - Genesys_Register_Set reg; - Genesys_Register_Set calib_reg; - Genesys_Settings settings; - Genesys_Frontend frontend, frontend_initial; - Genesys_Gpo gpo; - Genesys_Motor motor; - uint8_t control[6] = {}; - time_t init_date = 0; - - size_t average_size = 0; - // number of pixels used during shading calibration - size_t calib_pixels = 0; - // number of lines used during shading calibration - size_t calib_lines = 0; - size_t calib_channels = 0; - size_t calib_resolution = 0; - // bytes to read from USB when calibrating. If 0, this is not set - size_t calib_total_bytes_to_read = 0; - // certain scanners support much higher resolution when scanning transparency, but we can't - // read whole width of the scanner as a single line at that resolution. Thus for stuff like - // calibration we want to read only the possible calibration area. - size_t calib_pixels_offset = 0; - - // gamma overrides. If a respective array is not empty then it means that the gamma for that - // color is overridden. - std::vector gamma_override_tables[3]; - - std::vector white_average_data; - std::vector dark_average_data; - uint16_t dark[3] = {}; - - SANE_Bool already_initialized = 0; - SANE_Int scanhead_position_in_steps = 0; - SANE_Int lamp_off_time = 0; - - SANE_Bool read_active = 0; - // signal wether the park command has been issued - SANE_Bool parking = 0; - - // for sheetfed scanner's, is TRUE when there is a document in the scanner - SANE_Bool document = 0; - - SANE_Bool needs_home_ta = 0; - - Genesys_Buffer read_buffer; - Genesys_Buffer lines_buffer; - Genesys_Buffer shrink_buffer; - Genesys_Buffer out_buffer; - - // buffer for digital lineart from gray data - Genesys_Buffer binarize_buffer = {}; - // local buffer for gray data during dynamix lineart - Genesys_Buffer local_buffer = {}; - - // bytes to read from scanner - size_t read_bytes_left = 0; - - // total bytes read sent to frontend - size_t total_bytes_read = 0; - // total bytes read to be sent to frontend - size_t total_bytes_to_read = 0; - // asic's word per line - size_t wpl = 0; - - // contains the real used values - Genesys_Current_Setup current_setup; - - // look up table used in dynamic rasterization - unsigned char lineart_lut[256] = {}; - - Calibration calibration_cache; - - // used red line-distance shift - SANE_Int ld_shift_r = 0; - // used green line-distance shift - SANE_Int ld_shift_g = 0; - // used blue line-distance shift - SANE_Int ld_shift_b = 0; - // number of segments composing the sensor - int segnb = 0; - // number of lines used in line interpolation - int line_interp = 0; - // number of scan lines used during scan - int line_count = 0; - // bytes per full scan widthline - size_t bpl = 0; - // bytes distance between an odd and an even pixel - size_t dist = 0; - // number of even pixels - size_t len = 0; - // current pixel position within sub window - size_t cur = 0; - // number of bytes to skip at start of line - size_t skip = 0; - - // array describing the order of the sub-segments of the sensor - size_t* order = nullptr; - - // buffer to handle even/odd data - Genesys_Buffer oe_buffer = {}; - - // when true the scanned picture is first buffered to allow software image enhancements - SANE_Bool buffer_image = 0; - - // image buffer where the scanned picture is stored - std::vector img_buffer; - - // binary logger file - FILE *binary = nullptr; -}; - -typedef struct Genesys_USB_Device_Entry -{ - SANE_Word vendor; /**< USB vendor identifier */ - SANE_Word product; /**< USB product identifier */ - Genesys_Model *model; /**< Scanner model information */ -} Genesys_USB_Device_Entry; - -/** - * structure for motor database - */ -typedef struct { - int motor_type; /**< motor id */ - int exposure; /**< exposure for the slope table */ - int step_type; /**< default step type for given exposure */ - uint32_t *table; // 0-terminated slope table at full step (i.e. step_type == 0) -} Motor_Profile; - -#define FULL_STEP 0 -#define HALF_STEP 1 -#define QUARTER_STEP 2 -#define EIGHTH_STEP 3 - -#define SLOPE_TABLE_SIZE 1024 - -#define SCAN_TABLE 0 /* table 1 at 0x4000 for gl124 */ -#define BACKTRACK_TABLE 1 /* table 2 at 0x4800 for gl124 */ -#define STOP_TABLE 2 /* table 3 at 0x5000 for gl124 */ -#define FAST_TABLE 3 /* table 4 at 0x5800 for gl124 */ -#define HOME_TABLE 4 /* table 5 at 0x6000 for gl124 */ - -#define SCAN_FLAG_SINGLE_LINE 0x001 -#define SCAN_FLAG_DISABLE_SHADING 0x002 -#define SCAN_FLAG_DISABLE_GAMMA 0x004 -#define SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE 0x008 -#define SCAN_FLAG_IGNORE_LINE_DISTANCE 0x010 -#define SCAN_FLAG_USE_OPTICAL_RES 0x020 -#define SCAN_FLAG_DISABLE_LAMP 0x040 -#define SCAN_FLAG_DYNAMIC_LINEART 0x080 -#define SCAN_FLAG_CALIBRATION 0x100 -#define SCAN_FLAG_FEEDING 0x200 -#define SCAN_FLAG_USE_XPA 0x400 -#define SCAN_FLAG_ENABLE_LEDADD 0x800 -#define MOTOR_FLAG_AUTO_GO_HOME 0x01 -#define MOTOR_FLAG_DISABLE_BUFFER_FULL_MOVE 0x02 -#define MOTOR_FLAG_FEED 0x04 -#define MOTOR_FLAG_USE_XPA 0x08 - -/** @name "Optical flags" */ -/*@{ optical flags available when setting up sensor for scan */ - -#define OPTICAL_FLAG_DISABLE_GAMMA 0x01 /**< disable gamma correction */ -#define OPTICAL_FLAG_DISABLE_SHADING 0x02 /**< disable shading correction */ -#define OPTICAL_FLAG_DISABLE_LAMP 0x04 /**< turn off lamp */ -#define OPTICAL_FLAG_ENABLE_LEDADD 0x08 /**< enable true CIS gray by enabling LED addition */ -#define OPTICAL_FLAG_DISABLE_DOUBLE 0x10 /**< disable automatic x-direction double data expansion */ -#define OPTICAL_FLAG_STAGGER 0x20 /**< disable stagger correction */ -#define OPTICAL_FLAG_USE_XPA 0x40 /**< use XPA lamp rather than regular one */ - -/*@} */ - -/*--------------------------------------------------------------------------*/ -/* common functions needed by low level specific functions */ -/*--------------------------------------------------------------------------*/ - -inline GenesysRegister* sanei_genesys_get_address(Genesys_Register_Set* regs, uint16_t addr) -{ - auto* ret = regs->find_reg_address(addr); - if (ret == nullptr) { - DBG(DBG_error, "%s: failed to find address for register 0x%02x, crash expected !\n", - __func__, addr); - } - return ret; -} - -inline uint8_t sanei_genesys_read_reg_from_set(Genesys_Register_Set* regs, uint16_t address) -{ - return regs->get8(address); -} - -inline void sanei_genesys_set_reg_from_set(Genesys_Register_Set* regs, uint16_t address, - uint8_t value) -{ - regs->set8(address, value); -} - -extern SANE_Status sanei_genesys_init_cmd_set (Genesys_Device * dev); - -extern SANE_Status -sanei_genesys_read_register (Genesys_Device * dev, uint16_t reg, uint8_t * val); - -extern SANE_Status -sanei_genesys_write_register (Genesys_Device * dev, uint16_t reg, uint8_t val); - -extern SANE_Status -sanei_genesys_read_hregister (Genesys_Device * dev, uint16_t reg, uint8_t * val); - -extern SANE_Status -sanei_genesys_write_hregister (Genesys_Device * dev, uint16_t reg, uint8_t val); - -extern SANE_Status -sanei_genesys_bulk_write_register(Genesys_Device * dev, - Genesys_Register_Set& regs); - -extern SANE_Status sanei_genesys_write_0x8c (Genesys_Device * dev, uint8_t index, uint8_t val); - -extern unsigned sanei_genesys_get_bulk_max_size(Genesys_Device * dev); - -extern SANE_Status sanei_genesys_bulk_read_data(Genesys_Device * dev, uint8_t addr, uint8_t* data, - size_t len); - -extern SANE_Status sanei_genesys_bulk_write_data(Genesys_Device * dev, uint8_t addr, uint8_t* data, - size_t len); - -extern SANE_Status sanei_genesys_get_status (Genesys_Device * dev, uint8_t * status); - -extern void sanei_genesys_print_status (uint8_t val); - -extern SANE_Status -sanei_genesys_write_ahb(Genesys_Device* dev, uint32_t addr, uint32_t size, uint8_t * data); - -extern void sanei_genesys_init_structs (Genesys_Device * dev); - -const Genesys_Sensor& sanei_genesys_find_sensor_any(Genesys_Device* dev); -Genesys_Sensor& sanei_genesys_find_sensor_any_for_write(Genesys_Device* dev); -const Genesys_Sensor& sanei_genesys_find_sensor(Genesys_Device* dev, int dpi, - ScanMethod scan_method = ScanMethod::FLATBED); -Genesys_Sensor& sanei_genesys_find_sensor_for_write(Genesys_Device* dev, int dpi, - ScanMethod scan_method = ScanMethod::FLATBED); - -extern SANE_Status -sanei_genesys_init_shading_data (Genesys_Device * dev, const Genesys_Sensor& sensor, - int pixels_per_line); - -extern SANE_Status sanei_genesys_read_valid_words (Genesys_Device * dev, - unsigned int *steps); - -extern SANE_Status sanei_genesys_read_scancnt (Genesys_Device * dev, - unsigned int *steps); - -extern SANE_Status sanei_genesys_read_feed_steps (Genesys_Device * dev, - unsigned int *steps); - -void sanei_genesys_set_lamp_power(Genesys_Device* dev, const Genesys_Sensor& sensor, - Genesys_Register_Set& regs, bool set); - -void sanei_genesys_set_motor_power(Genesys_Register_Set& regs, bool set); - -extern void -sanei_genesys_calculate_zmode2 (SANE_Bool two_table, - uint32_t exposure_time, - uint16_t * slope_table, - int reg21, - int move, int reg22, uint32_t * z1, - uint32_t * z2); - -extern void -sanei_genesys_calculate_zmode (uint32_t exposure_time, - uint32_t steps_sum, - uint16_t last_speed, uint32_t feedl, - uint8_t fastfed, uint8_t scanfed, - uint8_t fwdstep, uint8_t tgtime, - uint32_t * z1, uint32_t * z2); - -extern SANE_Status -sanei_genesys_set_buffer_address (Genesys_Device * dev, uint32_t addr); - -/** @brief Reads data from frontend register. - * Reads data from the given frontend register. May be used to query - * analog frontend status by reading the right register. - */ -extern SANE_Status -sanei_genesys_fe_read_data (Genesys_Device * dev, uint8_t addr, - uint16_t *data); -/** @brief Write data to frontend register. - * Writes data to analog frontend register at the given address. - * The use and address of registers change from model to model. - */ -extern SANE_Status -sanei_genesys_fe_write_data (Genesys_Device * dev, uint8_t addr, - uint16_t data); - -extern SANE_Int -sanei_genesys_exposure_time2 (Genesys_Device * dev, - float ydpi, int step_type, int endpixel, - int led_exposure, int power_mode); - -extern SANE_Int -sanei_genesys_exposure_time (Genesys_Device * dev, Genesys_Register_Set * reg, - int xdpi); -extern SANE_Int -sanei_genesys_generate_slope_table (uint16_t * slope_table, unsigned int max_steps, - unsigned int use_steps, uint16_t stop_at, - uint16_t vstart, uint16_t vend, - unsigned int steps, double g, - unsigned int *used_steps, unsigned int *vfinal); - -extern SANE_Int -sanei_genesys_create_slope_table (Genesys_Device * dev, - uint16_t * slope_table, int steps, - int step_type, int exposure_time, - SANE_Bool same_speed, double yres, - int power_mode); - -SANE_Int -sanei_genesys_create_slope_table3 (Genesys_Device * dev, - uint16_t * slope_table, int max_step, - unsigned int use_steps, - int step_type, int exposure_time, - double yres, - unsigned int *used_steps, - unsigned int *final_exposure, - int power_mode); - -void sanei_genesys_create_default_gamma_table(Genesys_Device* dev, - std::vector& gamma_table, float gamma); - -std::vector get_gamma_table(Genesys_Device* dev, const Genesys_Sensor& sensor, - int color); - -SANE_Status sanei_genesys_send_gamma_table(Genesys_Device * dev, const Genesys_Sensor& sensor); - -extern SANE_Status sanei_genesys_start_motor (Genesys_Device * dev); - -extern SANE_Status sanei_genesys_stop_motor (Genesys_Device * dev); - -extern SANE_Status -sanei_genesys_search_reference_point(Genesys_Device * dev, Genesys_Sensor& sensor, - uint8_t * data, - int start_pixel, int dpi, int width, - int height); - -extern SANE_Status sanei_genesys_write_file(const char *filename, uint8_t* data, size_t length); - -extern SANE_Status -sanei_genesys_write_pnm_file (const char *filename, uint8_t * data, int depth, - int channels, int pixels_per_line, int lines); - -extern SANE_Status -sanei_genesys_test_buffer_empty (Genesys_Device * dev, SANE_Bool * empty); - -extern SANE_Status -sanei_genesys_read_data_from_scanner (Genesys_Device * dev, uint8_t * data, - size_t size); - -inline void sanei_genesys_set_double(Genesys_Register_Set* regs, uint16_t addr, uint16_t value) -{ - regs->set16(addr, value); -} - -inline void sanei_genesys_set_triple(Genesys_Register_Set* regs, uint16_t addr, uint32_t value) -{ - regs->set24(addr, value); -} - -inline void sanei_genesys_get_double(Genesys_Register_Set* regs, uint16_t addr, uint16_t* value) -{ - *value = regs->get16(addr); -} - -inline void sanei_genesys_get_triple(Genesys_Register_Set* regs, uint16_t addr, uint32_t* value) -{ - *value = regs->get24(addr); -} - -inline void sanei_genesys_set_exposure(Genesys_Register_Set& regs, const SensorExposure& exposure) -{ - regs.set8(0x10, (exposure.red >> 8) & 0xff); - regs.set8(0x11, exposure.red & 0xff); - regs.set8(0x12, (exposure.green >> 8) & 0xff); - regs.set8(0x13, exposure.green & 0xff); - regs.set8(0x14, (exposure.blue >> 8) & 0xff); - regs.set8(0x15, exposure.blue & 0xff); -} - -inline uint16_t sanei_genesys_fixup_exposure_value(uint16_t value) -{ - if ((value & 0xff00) == 0) { - value |= 0x100; - } - if ((value & 0x00ff) == 0) { - value |= 0x1; - } - return value; -} - -inline SensorExposure sanei_genesys_fixup_exposure(SensorExposure exposure) -{ - exposure.red = sanei_genesys_fixup_exposure_value(exposure.red); - exposure.green = sanei_genesys_fixup_exposure_value(exposure.green); - exposure.blue = sanei_genesys_fixup_exposure_value(exposure.blue); - return exposure; -} - -extern SANE_Status -sanei_genesys_wait_for_home(Genesys_Device *dev); - -extern SANE_Status -sanei_genesys_asic_init(Genesys_Device *dev, SANE_Bool cold); - -int sanei_genesys_compute_dpihw(Genesys_Device *dev, const Genesys_Sensor& sensor, int xres); - -int sanei_genesys_compute_dpihw_calibration(Genesys_Device *dev, const Genesys_Sensor& sensor, - int xres); - -extern -Motor_Profile *sanei_genesys_get_motor_profile(Motor_Profile *motors, int motor_type, int exposure); - -extern -int sanei_genesys_compute_step_type(Motor_Profile *motors, int motor_type, int exposure); - -extern -int sanei_genesys_slope_table(uint16_t *slope, int *steps, int dpi, int exposure, int base_dpi, int step_type, int factor, int motor_type, Motor_Profile *motors); - -/** @brief find lowest motor resolution for the device. - * Parses the resolution list for motor and - * returns the lowest value. - * @param dev for which to find the lowest motor resolution - * @return the lowest available motor resolution for the device - */ -extern -int sanei_genesys_get_lowest_ydpi(Genesys_Device *dev); - -/** @brief find lowest resolution for the device. - * Parses the resolution list for motor and sensor and - * returns the lowest value. - * @param dev for which to find the lowest resolution - * @return the lowest available resolution for the device - */ -extern -int sanei_genesys_get_lowest_dpi(Genesys_Device *dev); - -extern bool -sanei_genesys_is_compatible_calibration (Genesys_Device * dev, const Genesys_Sensor& sensor, - Genesys_Calibration_Cache * cache, - int for_overwrite); - -/** @brief compute maximum line distance shift - * compute maximum line distance shift for the motor and sensor - * combination. Line distance shift is the distance between different - * color component of CCD sensors. Since these components aren't at - * the same physical place, they scan diffrent lines. Software must - * take this into account to accurately mix color data. - * @param dev device session to compute max_shift for - * @param channels number of color channels for the scan - * @param yres motor resolution used for the scan - * @param flags scan flags - * @return 0 or line distance shift - */ -extern -int sanei_genesys_compute_max_shift(Genesys_Device *dev, - int channels, - int yres, - int flags); - -extern SANE_Status -sanei_genesys_load_lut (unsigned char * lut, - int in_bits, - int out_bits, - int out_min, - int out_max, - int slope, - int offset); - -extern SANE_Status -sanei_genesys_generate_gamma_buffer(Genesys_Device * dev, - const Genesys_Sensor& sensor, - int bits, - int max, - int size, - uint8_t *gamma); - -/*---------------------------------------------------------------------------*/ -/* ASIC specific functions declarations */ -/*---------------------------------------------------------------------------*/ -extern SANE_Status sanei_gl646_init_cmd_set (Genesys_Device * dev); -extern SANE_Status sanei_gl841_init_cmd_set (Genesys_Device * dev); -extern SANE_Status sanei_gl843_init_cmd_set (Genesys_Device * dev); -extern SANE_Status sanei_gl846_init_cmd_set (Genesys_Device * dev); -extern SANE_Status sanei_gl847_init_cmd_set (Genesys_Device * dev); -extern SANE_Status sanei_gl124_init_cmd_set (Genesys_Device * dev); - -// same as usleep, except that it does nothing if testing mode is enabled -extern void sanei_genesys_usleep(unsigned int useconds); - -// same as sanei_genesys_usleep just that the duration is in milliseconds -extern void sanei_genesys_sleep_ms(unsigned int milliseconds); - -void add_function_to_run_at_backend_exit(std::function function); - -// calls functions added via add_function_to_run_at_backend_exit() in reverse order of being -// added. -void run_functions_at_backend_exit(); - -template -class StaticInit { -public: - StaticInit() = default; - StaticInit(const StaticInit&) = delete; - StaticInit& operator=(const StaticInit&) = delete; - - template - void init(Args&& ... args) - { - ptr_ = std::unique_ptr(new T(std::forward(args)...)); - add_function_to_run_at_backend_exit([this](){ deinit(); }); - } - - void deinit() - { - ptr_.release(); - } - - const T* operator->() const { return ptr_.get(); } - T* operator->() { return ptr_.get(); } - const T& operator*() const { return *ptr_.get(); } - T& operator*() { return *ptr_.get(); } - -private: - std::unique_ptr ptr_; -}; - -extern StaticInit> s_sensors; -void genesys_init_sensor_tables(); -void genesys_init_frontend_tables(); - -void debug_dump(unsigned level, const Genesys_Settings& settings); -void debug_dump(unsigned level, const SetupParams& params); -void debug_dump(unsigned level, const Genesys_Current_Setup& setup); - -#endif /* not GENESYS_LOW_H */ diff --git a/backend/genesys_sanei.cc b/backend/genesys_sanei.cc deleted file mode 100644 index 5b5b40a..0000000 --- a/backend/genesys_sanei.cc +++ /dev/null @@ -1,140 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2019 Povilas Kanapickas - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. -*/ - -#define DEBUG_DECLARE_ONLY - -#include "genesys_sanei.h" - -UsbDevice::~UsbDevice() -{ - if (is_open()) { - DBG(DBG_error, "UsbDevice not closed; closing automatically"); - close(); - } -} - -void UsbDevice::open(const char* dev_name) -{ - DBG_HELPER(dbg); - - if (is_open()) { - throw SaneException("device already open"); - } - int device_num = 0; - - dbg.status("open device"); - TIE(sanei_usb_open(dev_name, &device_num)); - - name_ = dev_name; - device_num_ = device_num; - is_open_ = true; -} - -void UsbDevice::clear_halt() -{ - DBG_HELPER(dbg); - assert_is_open(); - TIE(sanei_usb_clear_halt(device_num_)); -} - -void UsbDevice::reset() -{ - DBG_HELPER(dbg); - assert_is_open(); - TIE(sanei_usb_reset(device_num_)); -} - -void UsbDevice::close() -{ - DBG_HELPER(dbg); - assert_is_open(); - - // we can't do much if closing fails, so we close the device on our side regardless of the - // function succeeds - int device_num = device_num_; - - set_not_open(); - sanei_usb_close(device_num); -} - -void UsbDevice::get_vendor_product(int& vendor, int& product) -{ - DBG_HELPER(dbg); - assert_is_open(); - TIE(sanei_usb_get_vendor_product(device_num_, &vendor, &product)); -} - -void UsbDevice::control_msg(int rtype, int reg, int value, int index, int length, uint8_t* data) -{ - DBG_HELPER(dbg); - assert_is_open(); - TIE(sanei_usb_control_msg(device_num_, rtype, reg, value, index, length, data)); -} - -void UsbDevice::bulk_read(uint8_t* buffer, size_t* size) -{ - DBG_HELPER(dbg); - assert_is_open(); - TIE(sanei_usb_read_bulk(device_num_, buffer, size)); -} - -void UsbDevice::bulk_write(const uint8_t* buffer, size_t* size) -{ - DBG_HELPER(dbg); - assert_is_open(); - TIE(sanei_usb_write_bulk(device_num_, buffer, size)); -} - -void UsbDevice::assert_is_open() const -{ - if (!is_open()) { - throw SaneException("device not open"); - } -} - -void UsbDevice::set_not_open() -{ - device_num_ = 0; - is_open_ = false; - name_ = ""; -} diff --git a/backend/genesys_sanei.h b/backend/genesys_sanei.h deleted file mode 100644 index 0e41600..0000000 --- a/backend/genesys_sanei.h +++ /dev/null @@ -1,97 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2019 Povilas Kanapickas - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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 BACKEND_GENESYS_SANEI_H -#define BACKEND_GENESYS_SANEI_H - -#include "genesys_error.h" -#include "../include/sane/sanei_usb.h" - -#include -#include - -class UsbDevice { -public: - UsbDevice() = default; - UsbDevice(const UsbDevice& other) = delete; - UsbDevice& operator=(const UsbDevice&) = delete; - - UsbDevice(UsbDevice&& other) : - name_(other.name_), - is_open_(other.is_open_), - device_num_(other.device_num_) - { - other.set_not_open(); - } - - ~UsbDevice(); - - bool is_open() const { return is_open_; } - - int device_number() const { return device_num_; } - - const std::string& name() const { return name_; } - - void open(const char* dev_name); - - void clear_halt(); - void reset(); - void close(); - - void get_vendor_product(int& vendor, int& product); - - void control_msg(int rtype, int reg, int value, int index, int length, uint8_t* data); - void bulk_read(uint8_t* buffer, size_t* size); - void bulk_write(const uint8_t* buffer, size_t* size); - -private: - - void assert_is_open() const; - void set_not_open(); - - std::string name_; - bool is_open_ = false; - int device_num_ = 0; -}; - -#endif // BACKEND_GENESYS_SANEI_H diff --git a/backend/genesys_serialize.cc b/backend/genesys_serialize.cc deleted file mode 100644 index e69de29..0000000 diff --git a/backend/genesys_serialize.h b/backend/genesys_serialize.h deleted file mode 100644 index 481e872..0000000 --- a/backend/genesys_serialize.h +++ /dev/null @@ -1,144 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2019 Povilas Kanapickas - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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 BACKEND_GENESYS_SERIALIZE_H -#define BACKEND_GENESYS_SERIALIZE_H - -#include "genesys_error.h" -#include -#include -#include -#include -#include - -// it would be best to use something like boost.serialization - -inline void serialize_newline(std::ostream& str) { str << '\n'; } -inline void serialize_newline(std::istream& str) { (void) str; } - -inline void serialize(std::ostream& str, char x) { str << static_cast(x) << " "; } -inline void serialize(std::istream& str, char& x) { int v; str >> v; x = v; } -inline void serialize(std::ostream& str, unsigned char x) { str << static_cast(x) << " "; } -inline void serialize(std::istream& str, unsigned char& x) { unsigned v; str >> v; x = v; } -inline void serialize(std::ostream& str, signed char x) { str << static_cast(x) << " "; } -inline void serialize(std::istream& str, signed char& x) { int v; str >> v; x = v; } -inline void serialize(std::ostream& str, short x) { str << x << " "; } -inline void serialize(std::istream& str, short& x) { str >> x; } -inline void serialize(std::ostream& str, unsigned short x) { str << x << " "; } -inline void serialize(std::istream& str, unsigned short& x) { str >> x; } -inline void serialize(std::ostream& str, int x) { str << x << " "; } -inline void serialize(std::istream& str, int& x) { str >> x; } -inline void serialize(std::ostream& str, unsigned int x) { str << x << " "; } -inline void serialize(std::istream& str, unsigned int& x) { str >> x; } -inline void serialize(std::ostream& str, long x) { str << x << " "; } -inline void serialize(std::istream& str, long& x) { str >> x; } -inline void serialize(std::ostream& str, unsigned long x) { str << x << " "; } -inline void serialize(std::istream& str, unsigned long& x) { str >> x; } -inline void serialize(std::ostream& str, long long x) { str << x << " "; } -inline void serialize(std::istream& str, long long& x) { str >> x; } -inline void serialize(std::ostream& str, unsigned long long x) { str << x << " "; } -inline void serialize(std::istream& str, unsigned long long& x) { str >> x; } -inline void serialize(std::ostream& str, float x) { str << x << " "; } -inline void serialize(std::istream& str, float& x) { str >> x; } -inline void serialize(std::ostream& str, double x) { str << x << " "; } -inline void serialize(std::istream& str, double& x) { str >> x; } -inline void serialize(std::ostream& str, const std::string& x) { str << x << " "; } -inline void serialize(std::istream& str, std::string& x) { str >> x; } - -template -void serialize(std::ostream& str, std::vector& x) -{ - serialize(str, x.size()); - serialize_newline(str); - - for (auto& item : x) { - serialize(str, item); - serialize_newline(str); - } -} - -template -void serialize(std::istream& str, std::vector& x, - size_t max_size = std::numeric_limits::max()) -{ - size_t new_size; - serialize(str, new_size); - - if (new_size > max_size) { - throw SaneException("Too large std::vector to deserialize"); - } - x.reserve(new_size); - for (size_t i = 0; i < new_size; ++i) { - T item; - serialize(str, item); - x.push_back(item); - } -} - -template -void serialize(std::ostream& str, std::array& x) -{ - serialize(str, x.size()); - serialize_newline(str); - - for (auto& item : x) { - serialize(str, item); - serialize_newline(str); - } -} - -template -void serialize(std::istream& str, std::array& x) -{ - size_t new_size; - serialize(str, new_size); - - if (new_size > Size) { - throw SaneException("Incorrect std::array size to deserialize"); - } - for (auto& item : x) { - serialize(str, item); - } -} - -#endif diff --git a/backend/gt68xx.c b/backend/gt68xx.c index fb3bfb4..00190fe 100644 --- a/backend/gt68xx.c +++ b/backend/gt68xx.c @@ -752,7 +752,7 @@ init_options (GT68xx_Scanner * s) /* calibration needed */ s->opt[OPT_NEED_CALIBRATION_SW].name = "need-calibration"; - s->opt[OPT_NEED_CALIBRATION_SW].title = SANE_I18N ("Need calibration"); + s->opt[OPT_NEED_CALIBRATION_SW].title = SANE_I18N ("Needs calibration"); s->opt[OPT_NEED_CALIBRATION_SW].desc = SANE_I18N ("The scanner needs calibration for the current settings"); s->opt[OPT_NEED_CALIBRATION_SW].type = SANE_TYPE_BOOL; s->opt[OPT_NEED_CALIBRATION_SW].unit = SANE_UNIT_NONE; @@ -947,25 +947,30 @@ download_firmware_file (GT68xx_Device * dev) if (strncmp (dev->model->firmware_name, PATH_SEP, 1) != 0) { /* probably filename only */ - snprintf (filename, PATH_MAX, "%s%s%s%s%s%s%s", + snprintf (filename, sizeof(filename), "%s%s%s%s%s%s%s", STRINGIFY (PATH_SANE_DATA_DIR), PATH_SEP, "sane", PATH_SEP, "gt68xx", PATH_SEP, dev->model->firmware_name); - snprintf (dirname, PATH_MAX, "%s%s%s%s%s", + snprintf (dirname, sizeof(dirname), "%s%s%s%s%s", STRINGIFY (PATH_SANE_DATA_DIR), PATH_SEP, "sane", PATH_SEP, "gt68xx"); - strncpy (basename, dev->model->firmware_name, PATH_MAX); + strncpy (basename, dev->model->firmware_name, sizeof(basename) - 1); + basename[sizeof(basename) - 1] = '\0'; } else { /* absolute path */ char *pos; - strncpy (filename, dev->model->firmware_name, PATH_MAX); - strncpy (dirname, dev->model->firmware_name, PATH_MAX); + strncpy (filename, dev->model->firmware_name, sizeof(filename) - 1); + filename[sizeof(filename) - 1] = '\0'; + strncpy (dirname, dev->model->firmware_name, sizeof(dirname) - 1); + dirname[sizeof(dirname) - 1] = '\0'; + pos = strrchr (dirname, PATH_SEP[0]); if (pos) pos[0] = '\0'; - strncpy (basename, pos + 1, PATH_MAX); + strncpy (basename, pos + 1, sizeof(basename) - 1); + basename[sizeof(basename) - 1] = '\0'; } /* first, try to open with exact case */ @@ -994,11 +999,16 @@ download_firmware_file (GT68xx_Device * dev) { direntry = readdir (dir); if (direntry - && (strncasecmp (direntry->d_name, basename, PATH_MAX) == - 0)) + && (strncasecmp (direntry->d_name, basename, PATH_MAX) == 0)) { - snprintf (filename, PATH_MAX, "%s%s%s", - dirname, PATH_SEP, direntry->d_name); + int len = snprintf (filename, sizeof(filename), "%s%s%s", + dirname, PATH_SEP, direntry->d_name); + if ((len < 0) || (len >= (int) sizeof(filename))) + { + DBG (5, "download_firmware: filepath `%s%s%s' too long\n", + dirname, PATH_SEP, direntry->d_name); + status = SANE_STATUS_INVAL; + } break; } } diff --git a/backend/hp-option.h b/backend/hp-option.h index d1795e1..a6da585 100644 --- a/backend/hp-option.h +++ b/backend/hp-option.h @@ -118,7 +118,7 @@ # define SANE_NAME_MATRIX_TYPE "matrix-type" # define SANE_TITLE_MATRIX_TYPE SANE_I18N("Color Matrix") /* FIXME: better description */ -# define SANE_DESC_MATRIX_TYPE SANE_I18N("Set the scanners color matrix.") +# define SANE_DESC_MATRIX_TYPE SANE_I18N("Set the scanner's color matrix.") #endif #ifndef SANE_NAME_MATRIX_RGB diff --git a/backend/hp-scl.c b/backend/hp-scl.c index a7376e6..fae7f97 100644 --- a/backend/hp-scl.c +++ b/backend/hp-scl.c @@ -523,8 +523,8 @@ sanei_hp_nonscsi_new (HpScsi * newp, const char * devname, HpConnect connect) } /* For SCSI-devices we would have the inquire command here */ - strncpy ((char *)new->inq_data, "\003zzzzzzzHP ------ R000", - sizeof (new->inq_data)); + memcpy (new->inq_data, "\003zzzzzzzHP ------ R000", + sizeof (new->inq_data)); new->bufp = new->buf + HP_SCSI_CMD_LEN; new->devname = sanei_hp_alloc ( strlen ( devname ) + 1 ); diff --git a/backend/hp3900_config.c b/backend/hp3900_config.c index 830243b..dba5302 100644 --- a/backend/hp3900_config.c +++ b/backend/hp3900_config.c @@ -1049,7 +1049,7 @@ static SANE_Byte *cfg_motor_resource_get(SANE_Byte *size) if (rst != NULL) { - bzero(rst, sizeof(SANE_Byte) * 32); + memset(rst, 0, sizeof(SANE_Byte) * 32); switch(RTS_Debug->dev_model) { diff --git a/backend/hp3900_debug.c b/backend/hp3900_debug.c index b8cd8f1..7b21c8d 100644 --- a/backend/hp3900_debug.c +++ b/backend/hp3900_debug.c @@ -761,7 +761,7 @@ dbg_buffer (SANE_Int level, char *title, SANE_Byte * buffer, SANE_Int size, snprintf (sline, 80, " BF: "); else snprintf (sline, 80, " "); - bzero (&text, sizeof (text)); + memset (&text, 0, sizeof (text)); } data = _B0 (buffer[cont]); text[col] = (data > 31) ? data : '·'; @@ -776,7 +776,7 @@ dbg_buffer (SANE_Int level, char *title, SANE_Byte * buffer, SANE_Int size, start + offset - 8); sline = strcat (sline, sdata); DBG (level, "%s", sline); - bzero (sline, 81); + memset (sline, 0, 81); } } if (col > 0) @@ -791,7 +791,7 @@ dbg_buffer (SANE_Int level, char *title, SANE_Byte * buffer, SANE_Int size, start + offset - 8); sline = strcat (sline, sdata); DBG (level, "%s", sline); - bzero (sline, 81); + memset (sline, 0, 81); } free (sdata); } diff --git a/backend/hp3900_rts8822.c b/backend/hp3900_rts8822.c index bbd1e38..d76763d 100644 --- a/backend/hp3900_rts8822.c +++ b/backend/hp3900_rts8822.c @@ -63,7 +63,7 @@ #include #include -#include /* bzero() */ +#include /* memset() */ #include /* clock() */ #include /* truncf() */ #include /* tolower() */ @@ -630,12 +630,12 @@ RTS_Alloc () { SANE_Int rst = OK; - bzero (dev, sizeof (struct st_device)); + memset (dev, 0, sizeof (struct st_device)); /* initial registers */ dev->init_regs = malloc (sizeof (SANE_Byte) * RT_BUFFER_LEN); if (dev->init_regs != NULL) - bzero (dev->init_regs, sizeof (SANE_Byte) * RT_BUFFER_LEN); + memset (dev->init_regs, 0, sizeof (SANE_Byte) * RT_BUFFER_LEN); else rst = ERROR; @@ -643,7 +643,7 @@ RTS_Alloc () { dev->scanning = malloc (sizeof (struct st_scanning)); if (dev->scanning != NULL) - bzero (dev->scanning, sizeof (struct st_scanning)); + memset (dev->scanning, 0, sizeof (struct st_scanning)); else rst = ERROR; } @@ -652,7 +652,7 @@ RTS_Alloc () { dev->Reading = malloc (sizeof (struct st_readimage)); if (dev->Reading != NULL) - bzero (dev->Reading, sizeof (struct st_readimage)); + memset (dev->Reading, 0, sizeof (struct st_readimage)); else rst = ERROR; } @@ -661,7 +661,7 @@ RTS_Alloc () { dev->Resize = malloc (sizeof (struct st_resize)); if (dev->Resize != NULL) - bzero (dev->Resize, sizeof (struct st_resize)); + memset (dev->Resize, 0, sizeof (struct st_resize)); else rst = ERROR; } @@ -670,7 +670,7 @@ RTS_Alloc () { dev->status = malloc (sizeof (struct st_status)); if (dev->status != NULL) - bzero (dev->status, sizeof (struct st_status)); + memset (dev->status, 0, sizeof (struct st_status)); else rst = ERROR; } @@ -1255,7 +1255,7 @@ Load_Chipset (struct st_device *dev) { SANE_Int model; - bzero (dev->chipset, sizeof (struct st_chip)); + memset (dev->chipset, 0, sizeof (struct st_chip)); /* get chipset model of selected scanner */ model = cfg_chipset_model_get (RTS_Debug->dev_model); @@ -1611,7 +1611,7 @@ RTS_Scanner_SetParams (struct st_device *dev, struct params *param) compression = FALSE; /* resetting low level config */ - bzero (&hwdcfg, sizeof (struct st_hwdconfig)); + memset (&hwdcfg, 0, sizeof (struct st_hwdconfig)); /* setting low level config */ hwdcfg.scantype = scan.scantype; @@ -1650,7 +1650,7 @@ SetScanParams (struct st_device *dev, SANE_Byte * Regs, dbg_ScanParams (scancfg); dbg_hwdcfg (hwdcfg); - bzero (&mycoords, sizeof (struct st_coords)); + memset (&mycoords, 0, sizeof (struct st_coords)); /* Copy scancfg to scan2 */ memcpy (&scan2, scancfg, sizeof (struct st_scanparams)); @@ -3675,7 +3675,7 @@ Init_Registers (struct st_device *dev) DBG (DBG_FNC, "+ Init_Registers:\n"); /* Lee dev->init_regs */ - bzero (dev->init_regs, RT_BUFFER_LEN); + memset (dev->init_regs, 0, RT_BUFFER_LEN); RTS_ReadRegs (dev->usb_handle, dev->init_regs); Read_FE3E (dev, &v1619); @@ -4116,7 +4116,7 @@ Lamp_Status_Get (struct st_device *dev, SANE_Byte * flb_lamp, case RTS8822BL_03A: *flb_lamp = ((data2 & 0x40) != 0) ? 1 : 0; *tma_lamp = (((data2 & 0x20) != 0) - && ((data1 & 0x10) == 1)) ? 1 : 0; + && ((data1 & 0x10) != 0)) ? 1 : 0; break; default: if ((_B1 (data1) & 0x10) == 0) @@ -4825,8 +4825,8 @@ Refs_Analyze_Pattern (struct st_scanparams *scancfg, if ((scancfg->coord.width - dist) > 1) { /* clear buffers */ - bzero (color_sum, sizeof (double) * buffersize); - bzero (color_dif, sizeof (double) * buffersize); + memset (color_sum, 0, sizeof (double) * buffersize); + memset (color_dif, 0, sizeof (double) * buffersize); for (xpos = 0; xpos < scancfg->coord.width; xpos++) { @@ -4875,8 +4875,8 @@ Refs_Analyze_Pattern (struct st_scanparams *scancfg, if ((scancfg->coord.height - dist) > 1) { /* clear buffers */ - bzero (color_sum, sizeof (double) * buffersize); - bzero (color_dif, sizeof (double) * buffersize); + memset (color_sum, 0, sizeof (double) * buffersize); + memset (color_dif, 0, sizeof (double) * buffersize); for (ypos = 0; ypos < scancfg->coord.height; ypos++) { @@ -4924,8 +4924,8 @@ Refs_Analyze_Pattern (struct st_scanparams *scancfg, if ((scancfg->coord.width - dist) > 1) { /* clear buffers */ - bzero (color_sum, sizeof (double) * buffersize); - bzero (color_dif, sizeof (double) * buffersize); + memset (color_sum, 0, sizeof (double) * buffersize); + memset (color_dif, 0, sizeof (double) * buffersize); for (xpos = 0; xpos < scancfg->coord.width; xpos++) { @@ -6188,7 +6188,7 @@ Reading_DestroyBuffers (struct st_device *dev) dev->scanning->imagebuffer = NULL; } - bzero (dev->Reading, sizeof (struct st_readimage)); + memset (dev->Reading, 0, sizeof (struct st_readimage)); return OK; } @@ -6462,7 +6462,7 @@ RTS_ScanCounter_Inc (struct st_device *dev) break; default: /* value is 4 bytes size starting from address 0x21 in lsb format */ - bzero (&somebuffer, sizeof (somebuffer)); + memset (&somebuffer, 0, sizeof (somebuffer)); somebuffer[4] = 0x0c; RTS_EEPROM_ReadInteger (dev->usb_handle, 0x21, &idata); @@ -7786,7 +7786,7 @@ Scan_Read_BufferA (struct st_device *dev, SANE_Int buffer_size, SANE_Int arg2, opStatus = Reading_Wait (dev, rd->Channels_per_dot, rd->Channel_size, iAmount, - &rd->Bytes_Available, 10, sc); + &rd->Bytes_Available, 60, sc); /* If something fails, perhaps we can read some bytes... */ if (opStatus != OK) @@ -8072,7 +8072,7 @@ Scan_Start (struct st_device *dev) dbg_ScanParams (&scancfg); /* reserva buffer 6 dwords en fa84-fa9f */ - bzero (&hwdcfg, sizeof (struct st_hwdconfig)); + memset (&hwdcfg, 0, sizeof (struct st_hwdconfig)); /* wait till lamp is at home (should use timeout windows driver doesn't use it) @@ -10009,7 +10009,7 @@ Shading_apply (struct st_device *dev, SANE_Byte * Regs, } /*3d4c */ - bzero (&calbuffers, sizeof (struct st_cal2)); + memset (&calbuffers, 0, sizeof (struct st_cal2)); /* If black shading correction is enabled ... */ if ((Regs[0x1cf] & 8) != 0) @@ -10340,7 +10340,7 @@ RTS_GetImage (struct st_device *dev, SANE_Byte * Regs, (struct st_hwdconfig *) malloc (sizeof (struct st_hwdconfig)); if (hwdcfg != NULL) { - bzero (hwdcfg, sizeof (struct st_hwdconfig)); + memset (hwdcfg, 0, sizeof (struct st_hwdconfig)); if (((options & 2) != 0) || ((_B1 (options) & 1) != 0)) { @@ -10404,7 +10404,7 @@ RTS_GetImage (struct st_device *dev, SANE_Byte * Regs, sizeof (SANE_Byte)); if (myRegs != NULL) { - bzero (myRegs, + memset (myRegs, 0, RT_BUFFER_LEN * sizeof (SANE_Byte)); RTS_Setup (dev, myRegs, &scan, hwdcfg, gain_offset); @@ -10547,7 +10547,7 @@ Refs_Detect (struct st_device *dev, SANE_Byte * Regs, SANE_Int resolution_x, *x = *y = 0; /* default */ /* set configuration to scan a little area at the top-left corner */ - bzero (&scancfg, sizeof (struct st_scanparams)); + memset (&scancfg, 0, sizeof (struct st_scanparams)); scancfg.depth = 8; scancfg.colormode = CM_GRAY; scancfg.channel = CL_RED; @@ -10588,7 +10588,7 @@ Refs_Detect (struct st_device *dev, SANE_Byte * Regs, SANE_Int resolution_x, pwmlamplevel = 0; Lamp_PWM_use (dev, 1); - bzero (&gain_offset, sizeof (struct st_gain_offset)); + memset (&gain_offset, 0, sizeof (struct st_gain_offset)); for (C = CL_RED; C <= CL_BLUE; C++) { gain_offset.pag[C] = 3; @@ -11290,7 +11290,7 @@ Head_Relocate (struct st_device *dev, SANE_Int speed, SANE_Int direction, struct st_motormove mymotor; struct st_motorpos mtrpos; - bzero (&mymotor, sizeof (struct st_motormove)); + memset (&mymotor, 0, sizeof (struct st_motormove)); memcpy (Regs, dev->init_regs, RT_BUFFER_LEN * sizeof (SANE_Byte)); if (speed < dev->motormove_count) @@ -11338,7 +11338,7 @@ Calib_CreateFixedBuffers () (USHORT *) malloc (0x7f8 * sizeof (USHORT)); if (fixed_black_shading[channel] != NULL) - bzero (fixed_black_shading[channel], 0x7f8 * sizeof (USHORT)); + memset (fixed_black_shading[channel], 0, 0x7f8 * sizeof (USHORT)); else ret = ERROR; @@ -11348,7 +11348,7 @@ Calib_CreateFixedBuffers () (USHORT *) malloc (0x7f8 * sizeof (USHORT)); if (fixed_white_shading[channel] != NULL) - bzero (fixed_white_shading[channel], 0x7f8 * sizeof (USHORT)); + memset (fixed_white_shading[channel], 0, 0x7f8 * sizeof (USHORT)); else ret = ERROR; @@ -12779,7 +12779,7 @@ Calib_WhiteShading_3 (struct st_device *dev, /*a743 */ if (lf130 > 0) - bzero (buffer1, lf130 * sizeof (double)); + memset (buffer1, 0, lf130 * sizeof (double)); /*a761 */ if (lf12c > 0) @@ -12959,7 +12959,7 @@ Calib_WhiteShading_3 (struct st_device *dev, /*a743 */ if (lf130 > 0) - bzero (buffer1, lf130 * sizeof (double)); + memset (buffer1, 0, lf130 * sizeof (double)); /*a761 */ if (lf12c > 0) @@ -13325,14 +13325,14 @@ Calib_BlackShading (struct st_device *dev, if (scancfg.depth > 8) { /*8bb2 */ - bzero (&dbvalue, 6 * sizeof (double)); + memset (&dbvalue, 0, 6 * sizeof (double)); position = 0; if (bytes_per_line > 0) { do { - bzero (&buff3, 0x8000 * sizeof (SANE_Int)); + memset (&buff3, 0, 0x8000 * sizeof (SANE_Int)); sumatorio = 0; ptr = buffer + position; current_line = 0; @@ -13435,14 +13435,14 @@ Calib_BlackShading (struct st_device *dev, else { /*8eb6 */ - bzero (&dbvalue, 6 * sizeof (double)); + memset (&dbvalue, 0, 6 * sizeof (double)); position = 0; if (bytes_per_line > 0) { do { - bzero (&buff2, 256 * sizeof (SANE_Byte)); + memset (&buff2, 0, 256 * sizeof (SANE_Byte)); sumatorio = 0; /* ptr points to the next position of the first line */ ptr = buffer + position; @@ -13634,7 +13634,7 @@ Calibration (struct st_device *dev, SANE_Byte * Regs, Calib_LoadConfig (dev, &calibcfg, scan.scantype, scancfg->resolution_x, scancfg->depth); - bzero (&calibdata->gain_offset, sizeof (struct st_gain_offset)); /*[42b3654] */ + memset (&calibdata->gain_offset, 0, sizeof (struct st_gain_offset)); /*[42b3654] */ for (a = CL_RED; a <= CL_BLUE; a++) { myCalib->WRef[a] = calibcfg.WRef[a]; @@ -14110,7 +14110,7 @@ Init_Vars (void) hp_gamma = malloc (sizeof (struct st_gammatables)); if (hp_gamma != NULL) - bzero (hp_gamma, sizeof (struct st_gammatables)); + memset (hp_gamma, 0, sizeof (struct st_gammatables)); else rst = ERROR; @@ -14118,7 +14118,7 @@ Init_Vars (void) { RTS_Debug = malloc (sizeof (struct st_debug_opts)); if (RTS_Debug != NULL) - bzero (RTS_Debug, sizeof (struct st_debug_opts)); + memset (RTS_Debug, 0, sizeof (struct st_debug_opts)); else rst = ERROR; } @@ -14127,7 +14127,7 @@ Init_Vars (void) { default_gain_offset = malloc (sizeof (struct st_gain_offset)); if (default_gain_offset != NULL) - bzero (default_gain_offset, sizeof (struct st_gain_offset)); + memset (default_gain_offset, 0, sizeof (struct st_gain_offset)); else rst = ERROR; } @@ -14136,7 +14136,7 @@ Init_Vars (void) { calibdata = malloc (sizeof (struct st_calibration_data)); if (calibdata != NULL) - bzero (calibdata, sizeof (struct st_calibration_data)); + memset (calibdata, 0, sizeof (struct st_calibration_data)); else rst = ERROR; } @@ -14145,7 +14145,7 @@ Init_Vars (void) { wshading = malloc (sizeof (struct st_shading)); if (wshading != NULL) - bzero (wshading, sizeof (struct st_shading)); + memset (wshading, 0, sizeof (struct st_shading)); else rst = ERROR; } @@ -14467,7 +14467,7 @@ WShading_Calibrate (struct st_device *dev, SANE_Byte * Regs, DBG (DBG_FNC, "> WShading_Calibrate(*myCalib)\n"); - bzero (&myCalibTable, sizeof (struct st_gain_offset)); + memset (&myCalibTable, 0, sizeof (struct st_gain_offset)); for (C = CL_RED; C <= CL_BLUE; C++) { myCalibTable.pag[C] = 3; @@ -14687,7 +14687,7 @@ motor_pos (struct st_device *dev, SANE_Byte * Regs, DBG (DBG_FNC, "> Calib_test(*myCalib)\n"); - bzero (&myCalibTable, sizeof (struct st_gain_offset)); + memset (&myCalibTable, 0, sizeof (struct st_gain_offset)); calibcfg = (struct st_calibration_config *) @@ -14821,7 +14821,7 @@ Calib_BlackShading_jkd (struct st_device *dev, SANE_Byte * Regs, DBG (DBG_FNC, "> Calib_BlackShading_jkd(*myCalib)\n"); - bzero (&myCalibTable, sizeof (struct st_gain_offset)); + memset (&myCalibTable, 0, sizeof (struct st_gain_offset)); for (C = CL_RED; C <= CL_BLUE; C++) { myCalibTable.pag[C] = 3; @@ -14955,7 +14955,7 @@ Calib_test (struct st_device *dev, SANE_Byte * Regs, DBG (DBG_FNC, "> Calib_test(*myCalib)\n"); - bzero (&myCalibTable, sizeof (struct st_gain_offset)); + memset (&myCalibTable, 0, sizeof (struct st_gain_offset)); calibcfg = (struct st_calibration_config *) diff --git a/backend/hp3900_sane.c b/backend/hp3900_sane.c index 410e35e..f8ed139 100644 --- a/backend/hp3900_sane.c +++ b/backend/hp3900_sane.c @@ -1405,7 +1405,7 @@ options_init (TScanner * scanner) pDesc->title = SANE_I18N ("Scanner model"); pDesc->desc = SANE_I18N - ("Allows one to test device behaviour with other supported models"); + ("Allows one to test device behavior with other supported models"); pDesc->type = SANE_TYPE_STRING; pDesc->size = max_string_size (scanner->list_models); pDesc->constraint_type = SANE_CONSTRAINT_STRING_LIST; @@ -1419,7 +1419,7 @@ options_init (TScanner * scanner) case opt_negative: pDesc->name = "opt_negative"; pDesc->title = SANE_I18N ("Negative"); - pDesc->desc = SANE_I18N ("Image colours will be inverted"); + pDesc->desc = SANE_I18N ("Image colors will be inverted"); pDesc->type = SANE_TYPE_BOOL; pDesc->unit = SANE_UNIT_NONE; pDesc->size = sizeof (SANE_Word); @@ -1991,6 +1991,7 @@ option_get (TScanner * scanner, SANE_Int optid, void *result) /* scanner buttons */ case opt_button_0: get_button_status (scanner); + // fall through case opt_button_1: case opt_button_2: case opt_button_3: diff --git a/backend/hp3900_usb.c b/backend/hp3900_usb.c index 440c963..99623b4 100644 --- a/backend/hp3900_usb.c +++ b/backend/hp3900_usb.c @@ -459,7 +459,7 @@ show_buffer (SANE_Int level, SANE_Byte * buffer, SANE_Int size) sdata = (char *) malloc (256); if (sdata != NULL) { - bzero (sline, 256); + memset (sline, 0, 256); for (cont = 0; cont < size; cont++) { if (col == 0) @@ -480,7 +480,7 @@ show_buffer (SANE_Int level, SANE_Byte * buffer, SANE_Int size) snprintf (sdata, 255, " : %i\n", offset - 8); sline = strcat (sline, sdata); DBG (level, "%s", sline); - bzero (sline, 256); + memset (sline, 0, 256); } } if (col > 0) @@ -494,7 +494,7 @@ show_buffer (SANE_Int level, SANE_Byte * buffer, SANE_Int size) snprintf (sdata, 255, " : %i\n", offset - 8); sline = strcat (sline, sdata); DBG (level, "%s", sline); - bzero (sline, 256); + memset (sline, 0, 256); } free (sdata); } diff --git a/backend/hpsj5s.c b/backend/hpsj5s.c index 786a8d6..77fcc46 100644 --- a/backend/hpsj5s.c +++ b/backend/hpsj5s.c @@ -961,8 +961,7 @@ GetCalibration () { /*WARNING!!! Deadlock possible! */ bTest = CallFunctionWithRetVal (0xB5); } - while ((((bTest & 0x80) == 1) && ((bTest & 0x3F) <= 2)) || - (((bTest & 0x80) == 0) && ((bTest & 0x3F) >= 5))); + while ((bTest & 0x80) ? (bTest & 0x3F) <= 2 : (bTest & 0x3F) >= 5); CallFunctionWithParameter (0xCD, 0); /*Skip this line for ECP: */ @@ -1150,8 +1149,7 @@ CalibrateScanElements () usleep (1); } while ((timeout < 1000) && - ((((bTest & 0x80) == 1) && ((bTest & 0x3F) <= 2)) || - (((bTest & 0x80) == 0) && ((bTest & 0x3F) >= 5)))); + ((bTest & 0x80) ? (bTest & 0x3F) <= 2 : (bTest & 0x3F) >= 5)); /*Let's read it... */ if(timeout < 1000) @@ -1218,8 +1216,7 @@ CalibrateScanElements () usleep (1); } while ((timeout < 1000) && - ((((bTest & 0x80) == 1) && ((bTest & 0x3F) <= 2)) || - (((bTest & 0x80) == 0) && ((bTest & 0x3F) >= 5)))); + ((bTest & 0x80) ? (bTest & 0x3F) <= 2 : (bTest & 0x3F) >= 5)); /*Let's read it... */ if(timeout < 1000) diff --git a/backend/ibm.c b/backend/ibm.c index e527a04..1f26226 100644 --- a/backend/ibm.c +++ b/backend/ibm.c @@ -248,12 +248,14 @@ attach (const char *devnam, Ibm_Device ** devp) dev->sane.name = strdup (devnam); dev->sane.vendor = "IBM"; - str = malloc (sizeof(ibuf.product) + sizeof(ibuf.revision) + 1); + + size_t prod_rev_size = sizeof(ibuf.product) + sizeof(ibuf.revision) + 1; + str = malloc (prod_rev_size); if (str) { - str[0] = '\0'; - strncat (str, (char *)ibuf.product, sizeof(ibuf.product)); - strncat (str, (char *)ibuf.revision, sizeof(ibuf.revision)); + snprintf (str, prod_rev_size, "%.*s%.*s", + (int) sizeof(ibuf.product), (const char *) ibuf.product, + (int) sizeof(ibuf.revision), (const char *) ibuf.revision); } dev->sane.model = str; dev->sane.type = "flatbed scanner"; diff --git a/backend/kodakaio.c b/backend/kodakaio.c index c8cc9a7..d5c2857 100644 --- a/backend/kodakaio.c +++ b/backend/kodakaio.c @@ -3276,12 +3276,11 @@ setvalue(SANE_Handle handle, SANE_Int option, void *value, SANE_Int *info) case OPT_BR_X: case OPT_BR_Y: - sval->w = *((SANE_Word *) value); - if (SANE_UNFIX(sval->w) == 0) { + if (SANE_UNFIX(*((SANE_Word *) value)) == 0) { DBG(17, "invalid br-x or br-y\n"); return SANE_STATUS_INVAL; } - /* passthru */ + // fall through case OPT_TL_X: case OPT_TL_Y: sval->w = *((SANE_Word *) value); diff --git a/backend/kvs1025_opt.c b/backend/kvs1025_opt.c index 71fbf89..628f056 100644 --- a/backend/kvs1025_opt.c +++ b/backend/kvs1025_opt.c @@ -226,7 +226,7 @@ static const int go_image_emphasis_val[] = { static SANE_String_Const go_gamma_list[] = { SANE_I18N ("normal"), SANE_I18N ("crt"), - SANE_I18N ("linier"), + SANE_I18N ("linear"), NULL }; static const int go_gamma_val[] = { diff --git a/backend/kvs20xx_opt.c b/backend/kvs20xx_opt.c index fc527f3..e4b841b 100644 --- a/backend/kvs20xx_opt.c +++ b/backend/kvs20xx_opt.c @@ -230,7 +230,7 @@ kvs20xx_init_options (struct scanner *s) o->title = SANE_I18N ("Length control mode"); o->desc = SANE_I18N - ("Length Control Mode is a mode that the scanner reads up to the shorter length of actual" + ("Length Control Mode causes the scanner to read the shorter of either the length of the actual" " paper or logical document length."); o->type = SANE_TYPE_BOOL; o->unit = SANE_UNIT_NONE; diff --git a/backend/kvs40xx.c b/backend/kvs40xx.c index 6c19e55..6416d64 100644 --- a/backend/kvs40xx.c +++ b/backend/kvs40xx.c @@ -524,9 +524,10 @@ static SANE_Status read_image_simplex(SANE_Handle handle) return st; } -static SANE_Status read_data(struct scanner *s) +static void * read_data (void *arg) { - SANE_Status st; + struct scanner *s = (struct scanner *) arg; + SANE_Status st; int duplex = s->val[DUPLEX].w; s->read = 0; s->side = SIDE_FRONT; @@ -549,7 +550,7 @@ static SANE_Status read_data(struct scanner *s) return SANE_STATUS_GOOD; err: s->scanning = 0; - return st; + return (void *) st; } /* Start scanning */ @@ -640,7 +641,7 @@ sane_start (SANE_Handle handle) goto err; } - if (pthread_create (&s->thread, NULL, (void *(*)(void *)) read_data, s)) + if (pthread_create (&s->thread, NULL, read_data, s)) { st = SANE_STATUS_IO_ERROR; goto err; diff --git a/backend/kvs40xx_opt.c b/backend/kvs40xx_opt.c index 2bf9a5c..c812f2c 100644 --- a/backend/kvs40xx_opt.c +++ b/backend/kvs40xx_opt.c @@ -228,8 +228,8 @@ static SANE_String_Const lamp_list[] = { }; static SANE_String_Const dfeed_sence_list[] = { SANE_I18N ("Normal"), - SANE_I18N ("High sensivity"), - SANE_I18N ("Low sensivity"), + SANE_I18N ("High sensitivity"), + SANE_I18N ("Low sensitivity"), NULL }; @@ -393,8 +393,8 @@ kvs40xx_init_options (struct scanner *s) o->title = SANE_I18N ("Length control mode"); o->desc = SANE_I18N - ("Length Control Mode is a mode that the scanner reads up to the shorter length of actual" - " paper or logical document length."); + ("Length Control Mode causes the scanner to read the shorter of either the length of the actual" + " paper or logical document length"); o->type = SANE_TYPE_BOOL; o->unit = SANE_UNIT_NONE; s->val[LENGTHCTL].w = SANE_FALSE; @@ -715,7 +715,7 @@ kvs40xx_init_options (struct scanner *s) o->title = SANE_I18N ("JPEG compression"); o->desc = SANE_I18N - ("JPEG compression (yours application must be able to uncompress)"); + ("JPEG compression (your application must be able to uncompress)"); o->type = SANE_TYPE_BOOL; o->unit = SANE_UNIT_NONE; @@ -805,8 +805,8 @@ kvs40xx_init_options (struct scanner *s) o = &s->opt[STOP_SKEW]; o->name = "stop-skew"; - o->title = SANE_I18N ("Stop scanner when a paper have been skewed"); - o->desc = SANE_I18N ("Scanner will be stop when a paper have been skewed"); + o->title = SANE_I18N ("Stop scanner if a sheet is skewed"); + o->desc = SANE_I18N ("Scanner will stop if a sheet is skewed"); o->type = SANE_TYPE_BOOL; o->unit = SANE_UNIT_NONE; s->val[STOP_SKEW].w = SANE_FALSE; @@ -814,7 +814,7 @@ kvs40xx_init_options (struct scanner *s) o = &s->opt[CROP]; o->name = "crop"; o->title = SANE_I18N ("Crop actual image area"); - o->desc = SANE_I18N ("Scanner automatically detect image area and crop it"); + o->desc = SANE_I18N ("Scanner will automatically detect image area and crop to it"); o->type = SANE_TYPE_BOOL; o->unit = SANE_UNIT_NONE; s->val[CROP].w = SANE_FALSE; @@ -824,7 +824,7 @@ kvs40xx_init_options (struct scanner *s) o = &s->opt[MIRROR]; o->name = "mirror"; o->title = SANE_I18N ("Mirror image"); - o->desc = SANE_I18N ("It is right and left reversing"); + o->desc = SANE_I18N ("Left/right mirror image"); o->type = SANE_TYPE_BOOL; o->unit = SANE_UNIT_NONE; s->val[MIRROR].w = SANE_FALSE; diff --git a/backend/magicolor.c b/backend/magicolor.c index 3b27a85..af9fb1a 100644 --- a/backend/magicolor.c +++ b/backend/magicolor.c @@ -2789,12 +2789,11 @@ setvalue(SANE_Handle handle, SANE_Int option, void *value, SANE_Int *info) case OPT_BR_X: case OPT_BR_Y: - sval->w = *((SANE_Word *) value); - if (SANE_UNFIX(sval->w) == 0) { + if (SANE_UNFIX(*((SANE_Word *) value)) == 0) { DBG(17, "invalid br-x or br-y\n"); return SANE_STATUS_INVAL; } - /* passthru */ + // fall through case OPT_TL_X: case OPT_TL_Y: sval->w = *((SANE_Word *) value); diff --git a/backend/microtek.c b/backend/microtek.c index 05f8003..c3b87ec 100644 --- a/backend/microtek.c +++ b/backend/microtek.c @@ -3444,6 +3444,7 @@ sane_control_option (SANE_Handle handle, case OPT_RESOLUTION: if (info) *info |= SANE_INFO_RELOAD_PARAMS; + // fall through case OPT_SPEED: case OPT_PREVIEW: case OPT_BACKTRACK: diff --git a/backend/mustek_pp.c b/backend/mustek_pp.c index 912c3bd..bb97f86 100644 --- a/backend/mustek_pp.c +++ b/backend/mustek_pp.c @@ -160,8 +160,6 @@ free_cfg_options(int *numoptions, Mustek_pp_config_option** options) /* do_eof: * closes the pipeline * - * ChangeLog: - * * Description: * closes the pipe (read-only end) */ @@ -180,8 +178,6 @@ do_eof (Mustek_pp_Handle *hndl) /* do_stop: * ends the reader_process and stops the scanner * - * ChangeLog: - * * Description: * kills the reader process with a SIGTERM and cancels the scanner */ @@ -218,8 +214,6 @@ do_stop(Mustek_pp_Handle *hndl) /* sigterm_handler: * cancel scanner when receiving a SIGTERM * - * ChangeLog: - * * Description: * just exit... reader_process takes care that nothing bad will happen * @@ -247,8 +241,6 @@ sigterm_handler (int signal __UNUSED__) /* reader_process: * receives data from the scanner and stuff it into the pipeline * - * ChangeLog: - * * Description: * The signal handle for SIGTERM is initialized. * @@ -318,8 +310,6 @@ reader_process (Mustek_pp_Handle * hndl, int pipe) /* sane_attach: * adds a new entry to the Mustek_pp_Device *devlist list * - * ChangeLog: - * * Description: * After memory for a new device entry is allocated, the * parameters for the device are determined by a call to @@ -382,8 +372,6 @@ sane_attach (SANE_String_Const port, SANE_String_Const name, SANE_Int driver, SA /* init_options: * Sets up the option descriptors for a device * - * ChangeLog: - * * Description: */ static void @@ -626,8 +614,6 @@ init_options(Mustek_pp_Handle *hndl) * Attempts to attach a device to the list after parsing of a section * of the configuration file. * - * ChangeLog: - * * Description: * After parsing a scanner section of the config file, this function * is called to look for a driver with a matching name. When found, @@ -691,8 +677,6 @@ attach_device(SANE_String *driver, SANE_String *name, /* sane_init: * Reads configuration file and registers hardware driver * - * ChangeLog: - * * Description: * in *version_code the SANE version this backend was compiled with and the * version of the backend is returned. The value of authorize is stored in @@ -1001,8 +985,6 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) /* sane_exit: * Unloads all drivers and frees allocated memory * - * ChangeLog: - * * Description: * All open devices are closed first. Then all registered devices * are removed. @@ -1051,8 +1033,6 @@ sane_exit (void) /* sane_get_devices: * Returns a list of registered devices * - * ChangeLog: - * * Description: * A possible present old device_list is removed first. A new * devarray is allocated and filled with pointers to the @@ -1093,8 +1073,6 @@ sane_get_devices (const SANE_Device *** device_list, /* sane_open: * opens a device and prepares it for operation * - * ChangeLog: - * * Description: * The device identified by ``devicename'' is looked * up in the list, or if devicename is zero, the @@ -1201,8 +1179,6 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle) /* sane_close: * closes a given device and frees all resources * - * ChangeLog: - * * Description: * The handle is searched in the list of active handles. * If it's found, the handle is removed. @@ -1261,8 +1237,6 @@ sane_close (SANE_Handle handle) /* sane_get_option_descriptor: * does what it says * - * ChangeLog: - * * Description: * */ @@ -1285,8 +1259,6 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option) /* sane_control_option: * Reads or writes an option * - * ChangeLog: - * * Desription: * If a pointer to info is given, the value is initialized to zero * while scanning options cannot be read or written. next a basic @@ -1523,8 +1495,6 @@ sane_control_option (SANE_Handle handle, SANE_Int option, /* sane_get_parameters: * returns the set of parameters, that is used for the next scan * - * ChangeLog: - * * Description: * * First of all it is impossible to change the parameter set @@ -1716,8 +1686,6 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters * params) /* sane_start: * starts the scan. data aquisition will start immedially * - * ChangeLog: - * * Description: * */ @@ -1775,8 +1743,6 @@ sane_start (SANE_Handle handle) /* sane_read: * receives data from pipeline and passes it to the caller * - * ChangeLog: - * * Description: * ditto */ @@ -1877,8 +1843,6 @@ sane_read (SANE_Handle handle, SANE_Byte * buf, SANE_Int max_len, /* sane_cancel: * stops a scan and ends the reader process * - * ChangeLog: - * * Description: * */ @@ -1900,8 +1864,6 @@ sane_cancel (SANE_Handle handle) /* sane_set_io_mode: * toggles between blocking and non-blocking reading * - * ChangeLog: - * * Description: * */ @@ -1930,8 +1892,6 @@ sane_set_io_mode (SANE_Handle handle, SANE_Bool non_blocking) /* sane_get_select_fd: * returns the pipeline fd for direct reading * - * ChangeLog: - * * Description: * to allow the frontend to receive the data directly it * can read from the pipeline itself diff --git a/backend/mustek_usb2_transparent.c b/backend/mustek_usb2_transparent.c index 33adcc0..74f7b52 100644 --- a/backend/mustek_usb2_transparent.c +++ b/backend/mustek_usb2_transparent.c @@ -1382,7 +1382,7 @@ Transparent_LineCalibration16Bits (unsigned short wTAShadingMinus) memset (lpBuf, 0, 50); stream = fopen ("/root/darkshading(Tra).pnm", "wb+\n"); - sprintf (lpBuf, "P6\n%d %d\n65535\n", wCalWidth * wCalHeight); + sprintf (lpBuf, "P6\n%d %d\n65535\n", wCalWidth, wCalHeight); fwrite (lpBuf, sizeof (SANE_Byte), strlen (lpBuf), stream); fwrite (lpDarkData, sizeof (SANE_Byte), wCalWidth * wCalHeight * 3 * 2, stream); fclose (stream); diff --git a/backend/nec.c b/backend/nec.c index f12e997..d123be0 100644 --- a/backend/nec.c +++ b/backend/nec.c @@ -349,6 +349,9 @@ sense_handler(int fd, u_char *sense_buffer, void *ss) DBG(5, "Scanner not ready: undocumented reason\n"); return SANE_STATUS_IO_ERROR; } + default: + DBG(5, "Scanner not ready: unknown sense code\n"); + return SANE_STATUS_IO_ERROR; } case 0x03: /* medium error */ DBG(5, "medium error: undocumented reason\n"); @@ -2306,6 +2309,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_BR_Y: if (info && s->val[option].w != *(SANE_Word *) val) *info |= SANE_INFO_RELOAD_PARAMS; + // fall through case OPT_NUM_OPTS: case OPT_THRESHOLD: /* xxx theoretically, we could use OPT_THRESHOLD in diff --git a/backend/niash.c b/backend/niash.c index bbc90d3..b62bdba 100644 --- a/backend/niash.c +++ b/backend/niash.c @@ -768,6 +768,7 @@ _InitOptions (TScanner * s) SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_INACTIVE | SANE_CAP_EMULATED; pVal->w = 50; + break; default: DBG (DBG_ERR, "Uninitialised option %d\n", i); diff --git a/backend/pieusb_buffer.h b/backend/pieusb_buffer.h index 3724a40..282595a 100644 --- a/backend/pieusb_buffer.h +++ b/backend/pieusb_buffer.h @@ -48,6 +48,10 @@ #include "pieusb.h" #include "../include/sane/sanei_ir.h" +#ifndef L_tmpnam +#define L_tmpnam 20 +#endif + struct Pieusb_Read_Buffer { SANE_Uint* data; /* image data - always store as 16 bit values; mmap'ed */ diff --git a/backend/pieusb_specific.c b/backend/pieusb_specific.c index ce107cf..1b5f0f4 100644 --- a/backend/pieusb_specific.c +++ b/backend/pieusb_specific.c @@ -322,7 +322,7 @@ pieusb_initialize_device_definition (Pieusb_Device_Definition* dev, Pieusb_Scann buf = malloc(9); if (buf == NULL) return SANE_STATUS_NO_MEM; - strncpy(buf, inq->vendor, 8); + memcpy(buf, inq->vendor, 8); pp = buf + 8; *pp-- = '\0'; while (*pp == ' ') *pp-- = '\0'; @@ -332,7 +332,7 @@ pieusb_initialize_device_definition (Pieusb_Device_Definition* dev, Pieusb_Scann buf = malloc(17); if (buf == NULL) return SANE_STATUS_NO_MEM; - strncpy(buf, inq->product, 16); + memcpy(buf, inq->product, 16); pp = buf + 16; *pp-- = '\0'; while (*pp == ' ') *pp-- = '\0'; @@ -346,7 +346,7 @@ pieusb_initialize_device_definition (Pieusb_Device_Definition* dev, Pieusb_Scann buf = malloc(5); if (buf == NULL) return SANE_STATUS_NO_MEM; - strncpy(buf, inq->productRevision, 4); + memcpy(buf, inq->productRevision, 4); pp = buf + 4; *pp-- = '\0'; while (*pp == ' ') *pp-- = '\0'; diff --git a/backend/pixma.c b/backend/pixma.c deleted file mode 100644 index d33a74e..0000000 --- a/backend/pixma.c +++ /dev/null @@ -1,2168 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2011-2019 Rolf Bensch - Copyright (C) 2007-2008 Nicolas Martin, - Copyright (C) 2006-2007 Wittawat Yamwong - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. - */ -#include "../include/sane/config.h" - -#include -#include -#include -#ifdef USE_PTHREAD -# include -#endif -#include /* sigaction(POSIX) */ -#include /* POSIX: write read close pipe */ -#ifdef HAVE_FCNTL_H -# include -#endif - -#include "pixma_rename.h" -#include "pixma.h" - -# define DEBUG_NOT_STATIC -# include "../include/sane/sane.h" -# include "../include/sane/sanei.h" -# include "../include/sane/saneopts.h" -# include "../include/sane/sanei_thread.h" -# include "../include/sane/sanei_backend.h" -# include "../include/sane/sanei_config.h" -# include "../include/sane/sanei_jpeg.h" - -#ifdef NDEBUG -# define PDBG(x) -#else -# define PDBG(x) IF_DBG(x) -#endif /* NDEBUG */ - -#ifdef __GNUC__ -# define UNUSED(v) (void) v -#else -# define UNUSED(v) -#endif - -#define DECL_CTX pixma_sane_t *ss = check_handle(h) -#define OPT_IN_CTX ss->opt -#define SOD(opt) OPT_IN_CTX[opt].sod -#define OVAL(opt) OPT_IN_CTX[opt].val -#define AUTO_GAMMA 2.2 - -/* pixma_sane_options.h generated by - * scripts/pixma_gen_options.py h < pixma.c > pixma_sane_options.h - */ -#include "pixma_sane_options.h" - -#define BUTTON_GROUP_SIZE ( opt_scan_resolution - opt_button_1 + 1 ) -#define BUTTON_GROUP_INDEX(x) ( x - opt_button_1 ) - -typedef struct pixma_sane_t -{ - struct pixma_sane_t *next; - pixma_t *s; - pixma_scan_param_t sp; - SANE_Bool cancel; - - /* valid states: idle, !idle && scanning, !idle && !scanning */ - SANE_Bool idle; - SANE_Bool scanning; - SANE_Status last_read_status; /* valid if !idle && !scanning */ - - option_descriptor_t opt[opt_last]; - char button_option_is_cached[BUTTON_GROUP_SIZE]; - SANE_Range xrange, yrange; - SANE_Word dpi_list[9]; /* up to 9600 dpi */ - SANE_String_Const mode_list[6]; - pixma_scan_mode_t mode_map[6]; - uint8_t gamma_table[4096]; - SANE_String_Const source_list[4]; - pixma_paper_source_t source_map[4]; - - unsigned byte_pos_in_line, output_line_size; - uint64_t image_bytes_read; - unsigned page_count; /* valid for ADF */ - - SANE_Pid reader_taskid; - int wpipe, rpipe; - SANE_Bool reader_stop; - - /* Valid for JPEG source */ - djpeg_dest_ptr jdst; - struct jpeg_decompress_struct jpeg_cinfo; - struct jpeg_error_mgr jpeg_err; - SANE_Bool jpeg_header_seen; -} pixma_sane_t; - -typedef struct -{ - struct jpeg_source_mgr jpeg; - - pixma_sane_t *s; - JOCTET *buffer; - - SANE_Byte *linebuffer; - SANE_Int linebuffer_size; - SANE_Int linebuffer_index; -} pixma_jpeg_src_mgr; - - -static const char vendor_str[] = "CANON"; -static const char type_str[] = "multi-function peripheral"; - -static pixma_sane_t *first_scanner = NULL; -static const SANE_Device **dev_list = NULL; -static const char* conf_devices[MAX_CONF_DEVICES]; - -static void mark_all_button_options_cached ( struct pixma_sane_t * ss ) -{ - int i; - for (i = 0; i < (opt__group_5 - opt_button_1); i++ ) - ss -> button_option_is_cached[i] = 1; -} - -static SANE_Status config_attach_pixma(SANEI_Config * config, const char *devname) -{ - int i; - UNUSED(config); - for (i=0; i < (MAX_CONF_DEVICES -1); i++) - { - if(conf_devices[i] == NULL) - { - conf_devices[i] = strdup(devname); - return SANE_STATUS_GOOD; - } - } - return SANE_STATUS_INVAL; -} - -static SANE_Status -map_error (int error) -{ - if (error >= 0) - return SANE_STATUS_GOOD; - - switch (error) - { - case PIXMA_ENOMEM: - return SANE_STATUS_NO_MEM; - case PIXMA_ECANCELED: - return SANE_STATUS_CANCELLED; - case PIXMA_EBUSY: - return SANE_STATUS_DEVICE_BUSY; - case PIXMA_EINVAL: - return SANE_STATUS_INVAL; - case PIXMA_EACCES: - return SANE_STATUS_ACCESS_DENIED; - case PIXMA_EPAPER_JAMMED: - return SANE_STATUS_JAMMED; - case PIXMA_ENO_PAPER: - return SANE_STATUS_NO_DOCS; - case PIXMA_ECOVER_OPEN: - return SANE_STATUS_COVER_OPEN; - case PIXMA_ENOTSUP: - return SANE_STATUS_UNSUPPORTED; - case PIXMA_EPROTO: - case PIXMA_ENODEV: - case PIXMA_EIO: - case PIXMA_ETIMEDOUT: - return SANE_STATUS_IO_ERROR; - } - PDBG (pixma_dbg (1, "BUG: unmapped error %d\n", error)); - return SANE_STATUS_IO_ERROR; -} - -static int -getenv_atoi (const char *name, int def) -{ - const char *str = getenv (name); - return (str) ? atoi (str) : def; -} - -#define CONST_CAST(t,x) (t)(x) - -static void -free_block (const void * ptr) -{ - free (CONST_CAST (void *, ptr)); -} - -static void -cleanup_device_list (void) -{ - if (dev_list) - { - int i; - for (i = 0; dev_list[i]; i++) - { - free_block ((const void *) dev_list[i]->name); - free_block ((const void *) dev_list[i]->model); - free_block ((const void *) dev_list[i]); - } - } - free (dev_list); - dev_list = NULL; -} - -static void -find_scanners (void) -{ - unsigned i, nscanners; - - cleanup_device_list (); - nscanners = pixma_find_scanners (conf_devices); - PDBG (pixma_dbg (3, "pixma_find_scanners() found %u devices\n", nscanners)); - dev_list = - (const SANE_Device **) calloc (nscanners + 1, sizeof (*dev_list)); - if (!dev_list) - return; - for (i = 0; i != nscanners; i++) - { - SANE_Device *sdev = (SANE_Device *) calloc (1, sizeof (*sdev)); - char *name, *model; - if (!sdev) - goto nomem; - name = strdup (pixma_get_device_id (i)); - model = strdup (pixma_get_device_model (i)); - if (!name || !model) - { - free (name); - free (model); - free (sdev); - goto nomem; - } - sdev->name = name; - sdev->model = model; - sdev->vendor = vendor_str; - sdev->type = type_str; - dev_list[i] = sdev; - } - /* dev_list is already NULL terminated by calloc(). */ - return; - -nomem: - PDBG (pixma_dbg (1, "WARNING:not enough memory for device list\n")); - return; -} - -static pixma_sane_t * -check_handle (SANE_Handle h) -{ - pixma_sane_t *p; - - for (p = first_scanner; p && (SANE_Handle) p != h; p = p->next) - { - } - return p; -} - -static void -update_button_state (pixma_sane_t * ss, SANE_Int * info) -{ - SANE_Int b1 = OVAL (opt_button_1).w; - SANE_Int b2 = OVAL (opt_button_2).w; - uint32_t ev = pixma_wait_event (ss->s, 300); - switch (ev & ~PIXMA_EV_ACTION_MASK) - { - case PIXMA_EV_BUTTON1: - b1 = 1; - break; - case PIXMA_EV_BUTTON2: - b2 = 1; - break; - } - - if (b1 != OVAL (opt_button_1).w || b2 != OVAL (opt_button_2).w) - { - *info |= SANE_INFO_RELOAD_OPTIONS; - OVAL (opt_button_1).w = b1; - OVAL (opt_button_2).w = b2; - OVAL (opt_original).w = GET_EV_ORIGINAL(ev); - OVAL (opt_target).w = GET_EV_TARGET(ev); - OVAL (opt_scan_resolution).w = GET_EV_DPI(ev); - } - mark_all_button_options_cached(ss); -} - -static SANE_Bool -enable_option (pixma_sane_t * ss, SANE_Int o, SANE_Bool enable) -{ - SANE_Word save = SOD (o).cap; - if (enable) - SOD (o).cap &= ~SANE_CAP_INACTIVE; - else - SOD (o).cap |= SANE_CAP_INACTIVE; - return (save != SOD (o).cap); -} - -static void -clamp_value (pixma_sane_t * ss, SANE_Int n, void *v, SANE_Int * info) -{ - SANE_Option_Descriptor *sod = &SOD (n); - SANE_Word *va = (SANE_Word *) v; - const SANE_Range *range = sod->constraint.range; - int i, nmemb; - - nmemb = sod->size / sizeof (SANE_Word); - for (i = 0; i < nmemb; i++) - { - SANE_Word value = va[i]; - if (value < range->min) - { - value = range->min; - } - else if (value > range->max) - { - value = range->max; - } - if (range->quant != 0) - { - value = (value - range->min + range->quant / 2) / - range->quant * range->quant; - } - if (value != va[i]) - { - va[i] = value; - *info |= SANE_INFO_INEXACT; - } - } -} - -/* create dynamic mode_list - * ss: scanner device - * tpu = 0: flatbed or ADF mode - * 1 bit lineart, 8 bit grayscale and 24 bit color scans - * tpu = 1: TPU mode - * 16 bit grayscale and 48 bit color scans */ -static void -create_mode_list (pixma_sane_t * ss) -{ - SANE_Bool tpu; - const pixma_config_t *cfg; - int i; - - cfg = pixma_get_config (ss->s); - tpu = (ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_TPU); - - /* setup available mode */ - i = 0; - ss->mode_list[i] = SANE_VALUE_SCAN_MODE_COLOR; - ss->mode_map[i] = PIXMA_SCAN_MODE_COLOR; - i++; - if (cfg->cap & PIXMA_CAP_GRAY) - { - ss->mode_list[i] = SANE_VALUE_SCAN_MODE_GRAY; - ss->mode_map[i] = PIXMA_SCAN_MODE_GRAY; - i++; - } - if (tpu && (cfg->cap & PIXMA_CAP_NEGATIVE)) - { - ss->mode_list[i] = SANE_I18N ("Negative color"); - ss->mode_map[i] = PIXMA_SCAN_MODE_NEGATIVE_COLOR; - i++; - if (cfg->cap & PIXMA_CAP_GRAY) - { - ss->mode_list[i] = SANE_I18N ("Negative gray"); - ss->mode_map[i] = PIXMA_SCAN_MODE_NEGATIVE_GRAY; - i++; - } - } - if (tpu && (cfg->cap & PIXMA_CAP_TPUIR) == PIXMA_CAP_TPUIR) - { - ss->mode_list[i] = SANE_I18N ("Infrared"); - ss->mode_map[i] = PIXMA_SCAN_MODE_TPUIR; - i++; - } - if (!tpu && (cfg->cap & PIXMA_CAP_48BIT)) - { - ss->mode_list[i] = SANE_I18N ("48 bits color"); - ss->mode_map[i] = PIXMA_SCAN_MODE_COLOR_48; - i++; - if (cfg->cap & PIXMA_CAP_GRAY) - { - ss->mode_list[i] = SANE_I18N ("16 bits gray"); - ss->mode_map[i] = PIXMA_SCAN_MODE_GRAY_16; - i++; - } - } - if (!tpu && (cfg->cap & PIXMA_CAP_LINEART)) - { - ss->mode_list[i] = SANE_VALUE_SCAN_MODE_LINEART; - ss->mode_map[i] = PIXMA_SCAN_MODE_LINEART; - i++; - } - /* terminate mode_list and mode_map */ - ss->mode_list[i] = 0; - ss->mode_map[i] = 0; -} - -/* create dynamic dpi_list - * ss: scanner device */ -static void -create_dpi_list (pixma_sane_t * ss) -{ - const pixma_config_t *cfg; - int i, j; - int min; - unsigned min_dpi; - unsigned max_dpi; - - cfg = pixma_get_config (ss->s); - - /* get min/max dpi */ - max_dpi = cfg->xdpi; - min_dpi = 75; - if (ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_TPU - && ss->mode_map[OVAL (opt_mode).w] == PIXMA_SCAN_MODE_TPUIR) - { /* IR mode */ - /*PDBG (pixma_dbg (4, "*create_dpi_list***** TPUIR mode\n"));*/ - min_dpi = (cfg->tpuir_min_dpi) ? cfg->tpuir_min_dpi : 75; - max_dpi = (cfg->tpuir_max_dpi) ? cfg->tpuir_max_dpi : cfg->xdpi; - } - else if (ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_TPU - || ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_ADF - || ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_ADFDUP) - { /* ADF / TPU mode */ - /*PDBG (pixma_dbg (4, "*create_dpi_list***** ADF/TPU mode\n"));*/ - min_dpi = (cfg->adftpu_min_dpi) ? cfg->adftpu_min_dpi : 75; - max_dpi = (cfg->adftpu_max_dpi) ? cfg->adftpu_max_dpi : cfg->xdpi; - } - else if (ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_FLATBED - && (ss->mode_map[OVAL (opt_mode).w] == PIXMA_SCAN_MODE_COLOR_48 - || ss->mode_map[OVAL (opt_mode).w] == PIXMA_SCAN_MODE_GRAY_16)) - { /* 48 bits flatbed */ - /*PDBG (pixma_dbg (4, "*create_dpi_list***** 48 bits flatbed mode\n"));*/ - min_dpi = 150; - } - - /* set j for min. dpi - * 75 dpi: j = 0 - * 150 dpi: j = 1 \ - * 300 dpi: j = 2 |--> from cfg->adftpu_min_dpi or cfg->tpuir_min_dpi - * 600 dpi: j = 3 / - * */ - j = -1; - min = min_dpi / 75; - do - { - j++; - min >>= 1; - } - while (min > 0); - - /* create dpi_list - * use j for min. dpi */ - i = 0; - do - { - i++; j++; - ss->dpi_list[i] = 75 * (1 << (j - 1)); /* 75 x 2^(j-1) */ - } - while ((unsigned) ss->dpi_list[i] < max_dpi); - ss->dpi_list[0] = i; - /*PDBG (pixma_dbg (4, "*create_dpi_list***** min_dpi = %d, max_dpi = %d\n", min_dpi, max_dpi));*/ -} - -static void -select_value_from_list (pixma_sane_t * ss, SANE_Int n, void *v, - SANE_Int * info) -{ - SANE_Option_Descriptor *sod = &SOD (n); - SANE_Word *va = (SANE_Word *) v; - const SANE_Word *list = sod->constraint.word_list; - int i, j, nmemb; - - nmemb = sod->size / sizeof (SANE_Word); - for (i = 0; i < nmemb; i++) - { - SANE_Word value = va[i]; - SANE_Word mindelta = abs (value - list[1]); - SANE_Word nearest = list[1]; - for (j = 2; j <= list[0]; j++) - { - SANE_Word delta = abs (value - list[j]); - if (delta < mindelta) - { - mindelta = delta; - nearest = list[j]; - } - if (mindelta == 0) - break; - } - if (va[i] != nearest) - { - va[i] = nearest; - *info |= SANE_INFO_INEXACT; - } - } -} - -static SANE_Status -control_scalar_option (pixma_sane_t * ss, SANE_Int n, SANE_Action a, void *v, - SANE_Int * info) -{ - option_descriptor_t *opt = &(OPT_IN_CTX[n]); - SANE_Word val; - - switch (a) - { - case SANE_ACTION_GET_VALUE: - switch (opt->sod.type) - { - case SANE_TYPE_BOOL: - case SANE_TYPE_INT: - case SANE_TYPE_FIXED: - *(SANE_Word *) v = opt->val.w; - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - return SANE_STATUS_GOOD; - - case SANE_ACTION_SET_VALUE: - switch (opt->sod.type) - { - case SANE_TYPE_BOOL: - val = *(SANE_Word *) v; - if (val != SANE_TRUE && val != SANE_FALSE) - return SANE_STATUS_INVAL; - opt->val.w = val; - break; - case SANE_TYPE_INT: - case SANE_TYPE_FIXED: - if (opt->sod.constraint_type == SANE_CONSTRAINT_RANGE) - clamp_value (ss, n, v, info); - else if (opt->sod.constraint_type == SANE_CONSTRAINT_WORD_LIST) - select_value_from_list (ss, n, v, info); - opt->val.w = *(SANE_Word *) v; - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - *info |= opt->info; - return SANE_STATUS_GOOD; - - case SANE_ACTION_SET_AUTO: - switch (opt->sod.type) - { - case SANE_TYPE_BOOL: - case SANE_TYPE_INT: - case SANE_TYPE_FIXED: - opt->val.w = opt->def.w; - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - *info |= opt->info; - return SANE_STATUS_GOOD; - } - return SANE_STATUS_UNSUPPORTED; -} - -static SANE_Status -control_string_option (pixma_sane_t * ss, SANE_Int n, SANE_Action a, void *v, - SANE_Int * info) -{ - option_descriptor_t *opt = &(OPT_IN_CTX[n]); - const SANE_String_Const *slist = opt->sod.constraint.string_list; - SANE_String str = (SANE_String) v; - - if (opt->sod.constraint_type == SANE_CONSTRAINT_NONE) - { - switch (a) - { - case SANE_ACTION_GET_VALUE: - strcpy (str, opt->val.s); - break; - case SANE_ACTION_SET_AUTO: - str = opt->def.s; - /* fall through */ - case SANE_ACTION_SET_VALUE: - strncpy (opt->val.s, str, opt->sod.size - 1); - *info |= opt->info; - break; - } - return SANE_STATUS_GOOD; - } - else - { - int i; - - switch (a) - { - case SANE_ACTION_GET_VALUE: - strcpy (str, slist[opt->val.w]); - break; - case SANE_ACTION_SET_AUTO: - str = opt->def.ptr; - /* fall through */ - case SANE_ACTION_SET_VALUE: - i = 0; - while (slist[i] && strcasecmp (str, slist[i]) != 0) - i++; - if (!slist[i]) - return SANE_STATUS_INVAL; - if (strcmp (slist[i], str) != 0) - { - strcpy (str, slist[i]); - *info |= SANE_INFO_INEXACT; - } - opt->val.w = i; - *info |= opt->info; - break; - } - return SANE_STATUS_GOOD; - } -} - -static SANE_Status -control_option (pixma_sane_t * ss, SANE_Int n, - SANE_Action a, void *v, SANE_Int * info) -{ - int result, i; - const pixma_config_t *cfg; - SANE_Int dummy; - - /* info may be null, better to set a dummy here then test everywhere */ - if (info == NULL) - info = &dummy; - - cfg = pixma_get_config (ss->s); - - /* PDBG (pixma_dbg (4, "*control_option***** n = %u, a = %u\n", n, a)); */ - - /* first deal with options that require special treatment */ - result = SANE_STATUS_UNSUPPORTED; - switch (n) - { - case opt_gamma_table: - switch (a) - { - case SANE_ACTION_SET_VALUE: - clamp_value (ss, n, v, info); - for (i = 0; i != 4096; i++) - ss->gamma_table[i] = *((SANE_Int *) v + i); - break; - case SANE_ACTION_GET_VALUE: - for (i = 0; i != 4096; i++) - *((SANE_Int *) v + i) = ss->gamma_table[i]; - break; - case SANE_ACTION_SET_AUTO: - pixma_fill_gamma_table (AUTO_GAMMA, ss->gamma_table, - sizeof (ss->gamma_table)); - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - return SANE_STATUS_GOOD; - - case opt_button_update: - if (a == SANE_ACTION_SET_VALUE) - { - update_button_state (ss, info); - return SANE_STATUS_GOOD; - } - else - { - return SANE_STATUS_INVAL; - } - break; - case opt_button_1: - case opt_button_2: - case opt_original: - case opt_target: - case opt_scan_resolution: - /* poll scanner if option is not cached */ - if (! ss->button_option_is_cached[ BUTTON_GROUP_INDEX(n) ] ) - update_button_state (ss, info); - /* mark this option as read */ - ss->button_option_is_cached[ BUTTON_GROUP_INDEX(n) ] = 0; - } - - /* now deal with getting and setting of options */ - switch (SOD (n).type) - { - case SANE_TYPE_BOOL: - case SANE_TYPE_INT: - case SANE_TYPE_FIXED: - result = control_scalar_option (ss, n, a, v, info); - break; - case SANE_TYPE_STRING: - result = control_string_option (ss, n, a, v, info); - break; - case SANE_TYPE_BUTTON: - case SANE_TYPE_GROUP: - PDBG (pixma_dbg (1, "BUG:control_option():Unhandled option\n")); - result = SANE_STATUS_INVAL; - break; - } - if (result != SANE_STATUS_GOOD) - return result; - - /* deal with dependencies between options */ - switch (n) - { - case opt_custom_gamma: - if (a == SANE_ACTION_SET_VALUE || a == SANE_ACTION_SET_AUTO) - { - if (enable_option (ss, opt_gamma_table, OVAL (opt_custom_gamma).b)) - *info |= SANE_INFO_RELOAD_OPTIONS; - } - break; - case opt_gamma: - if (a == SANE_ACTION_SET_VALUE || a == SANE_ACTION_SET_AUTO) - { - /* PDBG (pixma_dbg (4, "*control_option***** gamma = %f *\n", - SANE_UNFIX (OVAL (opt_gamma).w))); */ - pixma_fill_gamma_table (SANE_UNFIX (OVAL (opt_gamma).w), - ss->gamma_table, sizeof (ss->gamma_table)); - } - break; - case opt_mode: - if (cfg->cap & (PIXMA_CAP_48BIT|PIXMA_CAP_LINEART|PIXMA_CAP_TPUIR) - && (a == SANE_ACTION_SET_VALUE || a == SANE_ACTION_SET_AUTO)) - { /* new mode selected: Color, Gray, ... */ - /* PDBG (pixma_dbg (4, "*control_option***** mode = %u *\n", - ss->mode_map[OVAL (opt_mode).w])); */ - /* recreate dynamic lists */ - create_dpi_list (ss); - if (ss->mode_map[OVAL (opt_mode).w] == PIXMA_SCAN_MODE_LINEART) - { /* lineart */ - enable_option (ss, opt_threshold, SANE_TRUE); - enable_option (ss, opt_threshold_curve, SANE_TRUE); - } - else - { /* all other modes */ - enable_option (ss, opt_threshold, SANE_FALSE); - enable_option (ss, opt_threshold_curve, SANE_FALSE); - } - *info |= SANE_INFO_RELOAD_OPTIONS; - } - break; - case opt_source: - if ((cfg->cap & (PIXMA_CAP_ADF|PIXMA_CAP_ADFDUP|PIXMA_CAP_TPU)) - && (a == SANE_ACTION_SET_VALUE || a == SANE_ACTION_SET_AUTO)) - { /* new source selected: flatbed, ADF, TPU, ... */ - /* to avoid fatal errors, - * select first entry of dynamic mode_list - * identifiers are unknown here */ - OVAL (opt_mode).w = ss->mode_map[0]; - /* recreate dynamic lists */ - create_mode_list (ss); - create_dpi_list (ss); - /* to avoid fatal errors, - * select first entry of dynamic dpi_list - * identifiers are unknown here */ - OVAL (opt_resolution).w = ss->dpi_list[1]; - if (ss->mode_map[OVAL (opt_mode).w] == PIXMA_SCAN_MODE_LINEART) - { /* lineart */ - enable_option (ss, opt_threshold, SANE_TRUE); - enable_option (ss, opt_threshold_curve, SANE_TRUE); - } - else - { /* all other modes */ - enable_option (ss, opt_threshold, SANE_FALSE); - enable_option (ss, opt_threshold_curve, SANE_FALSE); - } - if (cfg->cap & (PIXMA_CAP_ADF_WAIT)) - { /* adf-wait */ - enable_option (ss, opt_adf_wait, SANE_TRUE); - } - else - { /* disable adf-wait */ - enable_option (ss, opt_adf_wait, SANE_FALSE); - } - *info |= SANE_INFO_RELOAD_OPTIONS; - } - break; - } - - return result; -} - -#ifndef NDEBUG -static void -print_scan_param (int level, const pixma_scan_param_t * sp) -{ - pixma_dbg (level, "Scan parameters\n"); - pixma_dbg (level, " line_size=%"PRIu64" image_size=%"PRIu64" channels=%u depth=%u\n", - sp->line_size, sp->image_size, sp->channels, sp->depth); - pixma_dbg (level, " dpi=%ux%u offset=(%u,%u) dimension=%ux%u\n", - sp->xdpi, sp->ydpi, sp->x, sp->y, sp->w, sp->h); - pixma_dbg (level, " gamma_table=%p source=%d\n", sp->gamma_table, - sp->source); - pixma_dbg (level, " adf-wait=%d\n", sp->adf_wait); -} -#endif - -static int -calc_scan_param (pixma_sane_t * ss, pixma_scan_param_t * sp) -{ - int x1, y1, x2, y2; - int error; - - memset (sp, 0, sizeof (*sp)); - - sp->channels = (OVAL (opt_mode).w == 0) ? 3 : 1; - sp->depth = (OVAL (opt_mode).w == 2) ? 1 : 8; - sp->xdpi = sp->ydpi = OVAL (opt_resolution).w; - -#define PIXEL(x,dpi) (int)((SANE_UNFIX(x) / 25.4 * (dpi)) + 0.5) - x1 = PIXEL (OVAL (opt_tl_x).w, sp->xdpi); - x2 = PIXEL (OVAL (opt_br_x).w, sp->xdpi); - if (x2 < x1) - { - int temp = x1; - x1 = x2; - x2 = temp; - } - y1 = PIXEL (OVAL (opt_tl_y).w, sp->ydpi); - y2 = PIXEL (OVAL (opt_br_y).w, sp->ydpi); - if (y2 < y1) - { - int temp = y1; - y1 = y2; - y2 = temp; - } -#undef PIXEL - sp->x = x1; - sp->y = y1; - sp->w = x2 - x1; - sp->h = y2 - y1; - if (sp->w == 0) - sp->w = 1; - if (sp->h == 0) - sp->h = 1; - sp->tpu_offset_added = 0; - - sp->gamma_table = (OVAL (opt_custom_gamma).b) ? ss->gamma_table : NULL; - sp->source = ss->source_map[OVAL (opt_source).w]; - sp->mode = ss->mode_map[OVAL (opt_mode).w]; - sp->adf_pageid = ss->page_count; - sp->threshold = 2.55 * OVAL (opt_threshold).w; - sp->threshold_curve = OVAL (opt_threshold_curve).w; - sp->adf_wait = OVAL (opt_adf_wait).w; - - error = pixma_check_scan_param (ss->s, sp); - if (error < 0) - { - PDBG (pixma_dbg (1, "BUG:calc_scan_param() failed %d\n", error)); - PDBG (print_scan_param (1, sp)); - } - return error; -} - -static void -init_option_descriptors (pixma_sane_t * ss) -{ - const pixma_config_t *cfg; - int i; - - cfg = pixma_get_config (ss->s); - - /* setup range for the scan area. */ - ss->xrange.min = SANE_FIX (0); - ss->xrange.max = SANE_FIX (cfg->width / 75.0 * 25.4); - ss->xrange.quant = SANE_FIX (0); - - ss->yrange.min = SANE_FIX (0); - ss->yrange.max = SANE_FIX (cfg->height / 75.0 * 25.4); - ss->yrange.quant = SANE_FIX (0); - - /* mode_list and source_list were already NULL-terminated, - * because the whole pixma_sane_t was cleared during allocation. */ - - /* setup available mode. */ - create_mode_list (ss); - - /* setup dpi up to the value supported by the scanner. */ - create_dpi_list (ss); - - /* setup paper source */ - i = 0; - ss->source_list[i] = SANE_I18N ("Flatbed"); - ss->source_map[i] = PIXMA_SOURCE_FLATBED; - i++; - if (cfg->cap & PIXMA_CAP_ADF) - { - ss->source_list[i] = SANE_I18N ("Automatic Document Feeder"); - ss->source_map[i] = PIXMA_SOURCE_ADF; - i++; - } - if ((cfg->cap & PIXMA_CAP_ADFDUP) == PIXMA_CAP_ADFDUP) - { - ss->source_list[i] = SANE_I18N ("ADF Duplex"); - ss->source_map[i] = PIXMA_SOURCE_ADFDUP; - i++; - } - if (cfg->cap & PIXMA_CAP_TPU) - { - ss->source_list[i] = SANE_I18N ("Transparency Unit"); - ss->source_map[i] = PIXMA_SOURCE_TPU; - i++; - } - - build_option_descriptors (ss); - - /* Enable options that are available only in some scanners. */ - if (cfg->cap & PIXMA_CAP_GAMMA_TABLE) - { - enable_option (ss, opt_gamma, SANE_TRUE); - enable_option (ss, opt_custom_gamma, SANE_TRUE); - sane_control_option (ss, opt_custom_gamma, SANE_ACTION_SET_AUTO, - NULL, NULL); - pixma_fill_gamma_table (AUTO_GAMMA, ss->gamma_table, 4096); - } - enable_option (ss, opt_button_controlled, - ((cfg->cap & PIXMA_CAP_EVENTS) != 0)); -} - -/* Writing to reader_ss outside reader_process() is a BUG! */ -static pixma_sane_t *reader_ss = NULL; - -static void -reader_signal_handler (int sig) -{ - if (reader_ss) - { - reader_ss->reader_stop = SANE_TRUE; - /* reader process is ended by SIGTERM, so no cancel in this case */ - if (sig != SIGTERM) - pixma_cancel (reader_ss->s); - } -} - -static int -write_all (pixma_sane_t * ss, void *buf_, size_t size) -{ - uint8_t *buf = (uint8_t *) buf_; - int count; - - while (size != 0 && !ss->reader_stop) - { - count = write (ss->wpipe, buf, size); - if (count == -1 && errno != EINTR) - break; - if (count == -1 && errno == EINTR) - continue; - buf += count; - size -= count; - } - return buf - (uint8_t *) buf_; -} - -/* NOTE: reader_loop() runs either in a separate thread or process. */ -static SANE_Status -reader_loop (pixma_sane_t * ss) -{ - void *buf; - unsigned bufsize; - int count = 0; - - PDBG (pixma_dbg (3, "Reader task started\n")); - /*bufsize = ss->sp.line_size + 1;*/ /* XXX: "odd" bufsize for testing pixma_read_image() */ - bufsize = ss->sp.line_size; /* bufsize EVEN needed by Xsane for 48 bits depth */ - buf = malloc (bufsize); - if (!buf) - { - count = PIXMA_ENOMEM; - goto done; - } - - count = pixma_activate_connection (ss->s); - if (count < 0) - goto done; - - pixma_enable_background (ss->s, 1); - if (OVAL (opt_button_controlled).b && ss->page_count == 0) - { - int start = 0; -#ifndef NDEBUG - pixma_dbg (1, "==== Button-controlled scan mode is enabled.\n"); - pixma_dbg (1, "==== To proceed, press 'SCAN' or 'COLOR' button. " - "To cancel, press 'GRAY' or 'END' button.\n"); -#endif - while (pixma_wait_event (ss->s, 10) != 0) - { - } - while (!start) - { - uint32_t events; - if (ss->reader_stop) - { - count = PIXMA_ECANCELED; - goto done; - } - events = pixma_wait_event (ss->s, 1000); - switch (events & ~PIXMA_EV_ACTION_MASK) - { - case PIXMA_EV_BUTTON1: - start = 1; - break; - case PIXMA_EV_BUTTON2: - count = PIXMA_ECANCELED; - goto done; - } - } - } - count = pixma_scan (ss->s, &ss->sp); - if (count >= 0) - { - while ((count = pixma_read_image (ss->s, buf, bufsize)) > 0) - { - if (write_all (ss, buf, count) != count) - pixma_cancel (ss->s); - } - } - -done: - pixma_enable_background (ss->s, 0); - pixma_deactivate_connection (ss->s); - free (buf); - close (ss->wpipe); - ss->wpipe = -1; - if (count >= 0) - { - PDBG (pixma_dbg (3, "Reader task terminated\n")); - } - else - { - PDBG (pixma_dbg - (2, "Reader task terminated: %s\n", pixma_strerror (count))); - } - return map_error (count); -} - -static int -reader_process (void *arg) -{ - pixma_sane_t *ss = (pixma_sane_t *) arg; - struct SIGACTION sa; - - reader_ss = ss; - memset (&sa, 0, sizeof (sa)); - sigemptyset (&sa.sa_mask); - sa.sa_handler = reader_signal_handler; - /* FIXME: which signal else? */ - sigaction (SIGHUP, &sa, NULL); - sigaction (SIGINT, &sa, NULL); - sigaction (SIGPIPE, &sa, NULL); - sigaction (SIGTERM, &sa, NULL); - close (ss->rpipe); - ss->rpipe = -1; - return reader_loop (ss); -} - -static int -reader_thread (void *arg) -{ - pixma_sane_t *ss = (pixma_sane_t *) arg; -#ifdef USE_PTHREAD - /* Block SIGPIPE. We will handle this in reader_loop() by checking - ss->reader_stop and the return value from write(). */ - sigset_t sigs; - sigemptyset (&sigs); - sigaddset (&sigs, SIGPIPE); - pthread_sigmask (SIG_BLOCK, &sigs, NULL); -#endif /* USE_PTHREAD */ - return reader_loop (ss); -} - -static SANE_Pid -terminate_reader_task (pixma_sane_t * ss, int *exit_code) -{ - SANE_Pid result, pid; - int status = 0; - - pid = ss->reader_taskid; - if (!sanei_thread_is_valid (pid)) - return pid; - if (sanei_thread_is_forked ()) - { - sanei_thread_kill (pid); - } - else - { - ss->reader_stop = SANE_TRUE; -/* pixma_cancel (ss->s); What is this for ? Makes end-of-scan buggy => removing */ - } - result = sanei_thread_waitpid (pid, &status); - sanei_thread_invalidate (ss->reader_taskid); - - if (ss->sp.source != PIXMA_SOURCE_ADF && ss->sp.source != PIXMA_SOURCE_ADFDUP) - ss->idle = SANE_TRUE; - - if (result == pid) - { - if (exit_code) - *exit_code = status; - return pid; - } - else - { - PDBG (pixma_dbg (1, "WARNING:waitpid() failed %s\n", strerror (errno))); - sanei_thread_invalidate (pid); - return pid; - } -} - -static int -start_reader_task (pixma_sane_t * ss) -{ - int fds[2]; - SANE_Pid pid; - int is_forked; - - if (ss->rpipe != -1 || ss->wpipe != -1) - { - PDBG (pixma_dbg - (1, "BUG:rpipe = %d, wpipe = %d\n", ss->rpipe, ss->wpipe)); - close (ss->rpipe); - close (ss->wpipe); - ss->rpipe = -1; - ss->wpipe = -1; - } - if (sanei_thread_is_valid (ss->reader_taskid)) - { - PDBG (pixma_dbg - (1, "BUG:reader_taskid(%ld) != -1\n", (long) ss->reader_taskid)); - terminate_reader_task (ss, NULL); - } - if (pipe (fds) == -1) - { - PDBG (pixma_dbg (1, "ERROR:start_reader_task():pipe() failed %s\n", - strerror (errno))); - return PIXMA_ENOMEM; - } - ss->rpipe = fds[0]; - ss->wpipe = fds[1]; - ss->reader_stop = SANE_FALSE; - - is_forked = sanei_thread_is_forked (); - if (is_forked) - { - pid = sanei_thread_begin (reader_process, ss); - if (sanei_thread_is_valid (pid)) - { - close (ss->wpipe); - ss->wpipe = -1; - } - } - else - { - pid = sanei_thread_begin (reader_thread, ss); - } - if (!sanei_thread_is_valid (pid)) - { - close (ss->wpipe); - close (ss->rpipe); - ss->wpipe = -1; - ss->rpipe = -1; - PDBG (pixma_dbg (1, "ERROR:unable to start reader task\n")); - return PIXMA_ENOMEM; - } - PDBG (pixma_dbg (3, "Reader task id=%ld (%s)\n", (long) pid, - (is_forked) ? "forked" : "threaded")); - ss->reader_taskid = pid; - return 0; -} - -/* libJPEG API callbacks */ -static void -jpeg_init_source(j_decompress_ptr __sane_unused__ cinfo) -{ - /* No-op */ -} - -static void -jpeg_term_source(j_decompress_ptr __sane_unused__ cinfo) -{ - /* No-op */ -} - -static boolean -jpeg_fill_input_buffer(j_decompress_ptr cinfo) -{ - pixma_jpeg_src_mgr *mgr = (pixma_jpeg_src_mgr *)cinfo->src; - int size; - int retry; - - for (retry = 0; retry < 30; retry ++ ) - { - size = read (mgr->s->rpipe, mgr->buffer, 1024); - if (size == 0) - { - return FALSE; - } - else if (size < 0) - { - sleep (1); - } - else - { - mgr->jpeg.next_input_byte = mgr->buffer; - mgr->jpeg.bytes_in_buffer = size; - return TRUE; - } - } - - return FALSE; -} - -static void -jpeg_skip_input_data(j_decompress_ptr cinfo, long num_bytes) -{ - pixma_jpeg_src_mgr *mgr = (pixma_jpeg_src_mgr *)cinfo->src; - - if (num_bytes > 0) - { - /* Read and throw away extra */ - while (num_bytes > (long)mgr->jpeg.bytes_in_buffer) - { - num_bytes -= (long)mgr->jpeg.bytes_in_buffer; - jpeg_fill_input_buffer(cinfo); - } - - /* Update jpeg info structure with leftover */ - mgr->jpeg.next_input_byte += (size_t) num_bytes; - mgr->jpeg.bytes_in_buffer -= (size_t) num_bytes; - } -} - -/* Pixma JPEG reader helpers */ -static SANE_Status -pixma_jpeg_start(pixma_sane_t *s) -{ - pixma_jpeg_src_mgr *mgr; - - s->jpeg_cinfo.err = jpeg_std_error(&s->jpeg_err); - - jpeg_create_decompress(&s->jpeg_cinfo); - - s->jpeg_cinfo.src = (struct jpeg_source_mgr *)(*s->jpeg_cinfo.mem->alloc_small)((j_common_ptr)&s->jpeg_cinfo, - JPOOL_PERMANENT, sizeof(pixma_jpeg_src_mgr)); - - memset(s->jpeg_cinfo.src, 0, sizeof(pixma_jpeg_src_mgr)); - - mgr = (pixma_jpeg_src_mgr *)s->jpeg_cinfo.src; - mgr->s = s; - - mgr->buffer = (JOCTET *)(*s->jpeg_cinfo.mem->alloc_small)((j_common_ptr)&s->jpeg_cinfo, - JPOOL_PERMANENT, - 1024 * sizeof(JOCTET)); - - mgr->jpeg.init_source = jpeg_init_source; - mgr->jpeg.fill_input_buffer = jpeg_fill_input_buffer; - mgr->jpeg.skip_input_data = jpeg_skip_input_data; - mgr->jpeg.resync_to_restart = jpeg_resync_to_restart; - mgr->jpeg.term_source = jpeg_term_source; - mgr->jpeg.bytes_in_buffer = 0; - mgr->jpeg.next_input_byte = NULL; - - s->jpeg_header_seen = 0; - - return SANE_STATUS_GOOD; -} - -static SANE_Status -pixma_jpeg_read_header(pixma_sane_t *s) -{ - pixma_jpeg_src_mgr *src = (pixma_jpeg_src_mgr *)s->jpeg_cinfo.src; - - if (jpeg_read_header(&s->jpeg_cinfo, TRUE)) - { - s->jdst = sanei_jpeg_jinit_write_ppm(&s->jpeg_cinfo); - - if (jpeg_start_decompress(&s->jpeg_cinfo)) - { - int size; - - DBG(3, "%s: w: %d, h: %d, components: %d\n", - __func__, - s->jpeg_cinfo.output_width, s->jpeg_cinfo.output_height, - s->jpeg_cinfo.output_components); - - size = s->jpeg_cinfo.output_width * s->jpeg_cinfo.output_components * 1; - - src->linebuffer = (*s->jpeg_cinfo.mem->alloc_large)((j_common_ptr)&s->jpeg_cinfo, - JPOOL_PERMANENT, size); - - src->linebuffer_size = 0; - src->linebuffer_index = 0; - - s->jpeg_header_seen = 1; - - return SANE_STATUS_GOOD; - } - else - { - DBG(0, "%s: decompression failed\n", __func__); - return SANE_STATUS_IO_ERROR; - } - } - else - { - DBG(0, "%s: cannot read JPEG header\n", __func__); - return SANE_STATUS_IO_ERROR; - } -} - -static void -pixma_jpeg_finish(pixma_sane_t *ss) -{ - jpeg_destroy_decompress(&ss->jpeg_cinfo); -} - -static void -pixma_jpeg_read(pixma_sane_t *ss, SANE_Byte *data, - SANE_Int max_length, SANE_Int *length) -{ - struct jpeg_decompress_struct cinfo = ss->jpeg_cinfo; - pixma_jpeg_src_mgr *src = (pixma_jpeg_src_mgr *)ss->jpeg_cinfo.src; - - int l; - - *length = 0; - - /* copy from line buffer if available */ - if (src->linebuffer_size && src->linebuffer_index < src->linebuffer_size) - { - *length = src->linebuffer_size - src->linebuffer_index; - - if (*length > max_length) - *length = max_length; - - memcpy(data, src->linebuffer + src->linebuffer_index, *length); - src->linebuffer_index += *length; - - return; - } - - if (cinfo.output_scanline >= cinfo.output_height) - { - *length = 0; - return; - } - - /* scanlines of decompressed data will be in ss->jdst->buffer - * only one line at time is supported - */ - - l = jpeg_read_scanlines(&cinfo, ss->jdst->buffer, 1); - if (l == 0) - return; - - /* from ss->jdst->buffer to linebuffer - * linebuffer holds width * bytesperpixel - */ - - (*ss->jdst->put_pixel_rows)(&cinfo, ss->jdst, 1, (char *)src->linebuffer); - - *length = ss->sp.w * ss->sp.channels; - /* Convert RGB into grayscale */ - if (ss->sp.channels == 1) - { - unsigned int i; - unsigned char *d = (unsigned char *)src->linebuffer; - unsigned char *s = (unsigned char *)src->linebuffer; - for (i = 0; i < ss->sp.w; i++) - { - /* Using BT.709 luma formula, fixed-point */ - int sum = ( s[0]*2126 + s[1]*7152 + s[2]*722 ); - *d = sum / 10000; - d ++; - s += 3; - } - } - - /* Maybe pack into lineary binary image */ - if (ss->sp.depth == 1) - { - *length /= 8; - unsigned int i; - unsigned char *d = (unsigned char *)src->linebuffer; - unsigned char *s = (unsigned char *)src->linebuffer; - unsigned char b = 0; - for (i = 1; i < ss->sp.w + 1; i++) - { - if (*(s++) > 127) - b = (b << 1) | 0; - else - b = (b << 1) | 1; - } - if ((i % 8) == 0) - *(d++) = b; - } - - src->linebuffer_size = *length; - src->linebuffer_index = 0; - - if (*length > max_length) - *length = max_length; - - memcpy(data, src->linebuffer + src->linebuffer_index, *length); - src->linebuffer_index += *length; -} - - - -static SANE_Status -read_image (pixma_sane_t * ss, void *buf, unsigned size, int *readlen) -{ - int count, status; - - if (readlen) - *readlen = 0; - if (ss->image_bytes_read >= ss->sp.image_size) - return SANE_STATUS_EOF; - - do - { - if (ss->cancel) - /* ss->rpipe has already been closed by sane_cancel(). */ - return SANE_STATUS_CANCELLED; - if (ss->sp.mode_jpeg && !ss->jpeg_header_seen) - { - status = pixma_jpeg_read_header(ss); - if (status != SANE_STATUS_GOOD) - { - close (ss->rpipe); - pixma_jpeg_finish(ss); - ss->rpipe = -1; - if (sanei_thread_is_valid (terminate_reader_task (ss, &status)) - && status != SANE_STATUS_GOOD) - { - return status; - } - else - { - /* either terminate_reader_task failed or - rpipe was closed but we expect more data */ - return SANE_STATUS_IO_ERROR; - } - } - } - - if (ss->sp.mode_jpeg) - { - count = -1; - pixma_jpeg_read(ss, buf, size, &count); - } - else - count = read (ss->rpipe, buf, size); - } - while (count == -1 && errno == EINTR); - - if (count == -1) - { - if (errno == EAGAIN) - return SANE_STATUS_GOOD; - if (!ss->cancel) - { - PDBG (pixma_dbg (1, "WARNING:read_image():read() failed %s\n", - strerror (errno))); - } - close (ss->rpipe); - ss->rpipe = -1; - terminate_reader_task (ss, NULL); - if (ss->sp.mode_jpeg) - pixma_jpeg_finish(ss); - return SANE_STATUS_IO_ERROR; - } - - /* here count >= 0 */ - ss->image_bytes_read += count; - if (ss->image_bytes_read > ss->sp.image_size) - { - PDBG (pixma_dbg (1, "BUG:ss->image_bytes_read > ss->sp.image_size\n")); - } - if (ss->image_bytes_read >= ss->sp.image_size) - { - close (ss->rpipe); - ss->rpipe = -1; - terminate_reader_task (ss, NULL); - if (ss->sp.mode_jpeg) - pixma_jpeg_finish(ss); - } - else if (count == 0) - { - PDBG (pixma_dbg (3, "read_image():reader task closed the pipe:%" - PRIu64" bytes received, %"PRIu64" bytes expected\n", - ss->image_bytes_read, ss->sp.image_size)); - close (ss->rpipe); - if (ss->sp.mode_jpeg) - pixma_jpeg_finish(ss); - ss->rpipe = -1; - if (sanei_thread_is_valid (terminate_reader_task (ss, &status)) - && status != SANE_STATUS_GOOD) - { - return status; - } - else - { - /* either terminate_reader_task failed or - rpipe was closed but we expect more data */ - return SANE_STATUS_IO_ERROR; - } - } - if (readlen) - *readlen = count; - return SANE_STATUS_GOOD; -} - - -/******************************************************************* - ** SANE API - *******************************************************************/ -SANE_Status -sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) -{ - int status, myversion, i; - SANEI_Config config; - - UNUSED (authorize); - - if (!version_code) - return SANE_STATUS_INVAL; - myversion = 100 * PIXMA_VERSION_MAJOR + PIXMA_VERSION_MINOR; - *version_code = SANE_VERSION_CODE (SANE_CURRENT_MAJOR, V_MINOR, myversion); - DBG_INIT (); - sanei_thread_init (); - pixma_set_debug_level (DBG_LEVEL); - - PDBG(pixma_dbg(2, "pixma is compiled %s pthread support.\n", - (sanei_thread_is_forked () ? "without" : "with"))); - - for (i = 0; i < MAX_CONF_DEVICES; i++) - conf_devices[i] = NULL; - - config.count = 0; - config.descriptors = NULL; - config.values = NULL; - - if (sanei_configure_attach(PIXMA_CONFIG_FILE, &config, config_attach_pixma) != - SANE_STATUS_GOOD) - PDBG(pixma_dbg(2, "Could not read pixma configuration file: %s\n", - PIXMA_CONFIG_FILE)); - - status = pixma_init (); - if (status < 0) - { - PDBG (pixma_dbg (2, "pixma_init() failed %s\n", pixma_strerror (status))); - } - return map_error (status); -} - -void -sane_exit (void) -{ - while (first_scanner) - sane_close (first_scanner); - cleanup_device_list (); - pixma_cleanup (); -} - -SANE_Status -sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) -{ - UNUSED (local_only); - - if (!device_list) - return SANE_STATUS_INVAL; - find_scanners (); - *device_list = dev_list; - return (dev_list) ? SANE_STATUS_GOOD : SANE_STATUS_NO_MEM; -} - -SANE_Status -sane_open (SANE_String_Const name, SANE_Handle * h) -{ - unsigned i, j, nscanners; - int error = 0; - pixma_sane_t *ss = NULL; - const pixma_config_t *cfg; - - if (!name || !h) - return SANE_STATUS_INVAL; - - *h = NULL; - nscanners = pixma_find_scanners (conf_devices); - if (nscanners == 0) - return SANE_STATUS_INVAL; - if (name[0] == '\0') - name = pixma_get_device_id (0); - - /* Have we already opened the scanner? */ - for (ss = first_scanner; ss; ss = ss->next) - { - if (strcmp (pixma_get_string (ss->s, PIXMA_STRING_ID), name) == 0) - { - /* We have already opened it! */ - return SANE_STATUS_DEVICE_BUSY; - } - } - - i = 0; - while (strcmp (pixma_get_device_id (i), name) != 0) - { - if (++i >= nscanners) - return SANE_STATUS_INVAL; - } - cfg = pixma_get_device_config (i); - if ((cfg->cap & PIXMA_CAP_EXPERIMENT) != 0) - { -#ifndef NDEBUG - pixma_dbg (1, "WARNING:" - "Experimental backend CAN DAMAGE your hardware!\n"); - if (getenv_atoi ("PIXMA_EXPERIMENT", 0) == 0) - { - pixma_dbg (1, "Experimental SANE backend for %s is disabled " - "by default.\n", pixma_get_device_model (i)); - pixma_dbg (1, "To enable it, set the environment variable " - "PIXMA_EXPERIMENT to non-zero.\n"); - return SANE_STATUS_UNSUPPORTED; - } -#else - return SANE_STATUS_UNSUPPORTED; -#endif - } - - ss = (pixma_sane_t *) calloc (1, sizeof (*ss)); - if (!ss) - return SANE_STATUS_NO_MEM; - ss->next = first_scanner; - first_scanner = ss; - sanei_thread_initialize (ss->reader_taskid); - ss->wpipe = -1; - ss->rpipe = -1; - ss->idle = SANE_TRUE; - ss->scanning = SANE_FALSE; - ss->sp.frontend_cancel = SANE_FALSE; - for (j=0; j < BUTTON_GROUP_SIZE; j++) - ss->button_option_is_cached[j] = 0; - error = pixma_open (i, &ss->s); - if (error < 0) - { - sane_close (ss); - return map_error (error); - } - pixma_enable_background (ss->s, 0); - init_option_descriptors (ss); - *h = ss; - return SANE_STATUS_GOOD; -} - -void -sane_close (SANE_Handle h) -{ - pixma_sane_t **p, *ss; - - for (p = &first_scanner; *p && *p != (pixma_sane_t *) h; p = &((*p)->next)) - { - } - if (!(*p)) - return; - ss = *p; - sane_cancel (ss); - pixma_close (ss->s); - *p = ss->next; - free (ss); -} - -const SANE_Option_Descriptor * -sane_get_option_descriptor (SANE_Handle h, SANE_Int n) -{ - DECL_CTX; - - if (ss && 0 <= n && n < opt_last) - return &SOD (n); - return NULL; -} - -SANE_Status -sane_control_option (SANE_Handle h, SANE_Int n, - SANE_Action a, void *v, SANE_Int * i) -{ - DECL_CTX; - SANE_Int info = 0; - int error; - option_descriptor_t *opt; - - if (i) - *i = 0; - if (!ss) - return SANE_STATUS_INVAL; - if (n < 0 || n >= opt_last) - return SANE_STATUS_UNSUPPORTED; - if (!ss->idle && a != SANE_ACTION_GET_VALUE) - { - PDBG (pixma_dbg (3, "Warning: !idle && !SANE_ACTION_GET_VALUE\n")); - if (ss->sp.source != PIXMA_SOURCE_ADF && ss->sp.source != PIXMA_SOURCE_ADFDUP) - return SANE_STATUS_INVAL; - } - - opt = &(OPT_IN_CTX[n]); - if (!SANE_OPTION_IS_ACTIVE (opt->sod.cap)) - return SANE_STATUS_INVAL; - switch (a) - { - case SANE_ACTION_SET_VALUE: - if ((opt->sod.type != SANE_TYPE_BUTTON && !v) || - !SANE_OPTION_IS_SETTABLE (opt->sod.cap)) - return SANE_STATUS_INVAL; /* or _UNSUPPORTED? */ - break; - case SANE_ACTION_SET_AUTO: - if (!(opt->sod.cap & SANE_CAP_AUTOMATIC) || - !SANE_OPTION_IS_SETTABLE (opt->sod.cap)) - return SANE_STATUS_INVAL; /* or _UNSUPPORTED? */ - break; - case SANE_ACTION_GET_VALUE: - if (!v || !(opt->sod.cap & SANE_CAP_SOFT_DETECT)) - return SANE_STATUS_INVAL; /* or _UNSUPPORTED? */ - break; - default: - return SANE_STATUS_UNSUPPORTED; - } - - error = control_option (ss, n, a, v, &info); - if (error == SANE_STATUS_GOOD && i) - *i = info; - return error; -} - -SANE_Status -sane_get_parameters (SANE_Handle h, SANE_Parameters * p) -{ - DECL_CTX; - pixma_scan_param_t temp, *sp; - - if (!ss || !p) - return SANE_STATUS_INVAL; - - if (!ss->idle) - { - sp = &ss->sp; /* sp is calculated in sane_start() */ - } - else - { - calc_scan_param (ss, &temp); - sp = &temp; - } - p->format = (sp->channels == 3) ? SANE_FRAME_RGB : SANE_FRAME_GRAY; - p->last_frame = SANE_TRUE; - p->lines = sp->h; - p->depth = sp->depth; - p->pixels_per_line = sp->w; - /* p->bytes_per_line = sp->line_size; NOTE: It should work this way, but it doesn't. No SANE frontend can cope with this. */ - p->bytes_per_line = (sp->w * sp->channels * sp->depth) / 8; - return SANE_STATUS_GOOD; -} - -SANE_Status -sane_start (SANE_Handle h) -{ - DECL_CTX; - int error = 0; - - if (!ss) - return SANE_STATUS_INVAL; - if (!ss->idle && ss->scanning) - { - PDBG (pixma_dbg (3, "Warning in Sane_start: !idle && scanning. idle=%d, ss->scanning=%d\n", - ss->idle, ss->scanning)); - if (ss->sp.source != PIXMA_SOURCE_ADF && ss->sp.source != PIXMA_SOURCE_ADFDUP) - return SANE_STATUS_INVAL; - } - - ss->cancel = SANE_FALSE; - if (ss->idle || - ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_FLATBED || - ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_TPU) - ss->page_count = 0; /* start from idle state or scan from flatbed or TPU */ - else - ss->page_count++; - if (calc_scan_param (ss, &ss->sp) < 0) - return SANE_STATUS_INVAL; - - /* Prepare the JPEG decompressor, if needed */ - if (ss->sp.mode_jpeg) - { - SANE_Status status; - status = pixma_jpeg_start(ss); - if (status != SANE_STATUS_GOOD) - { - PDBG (pixma_dbg(1, "%s: pixma_jpeg_start: %s\n", __func__, sane_strstatus(status)) ); - return status; - } - } - - ss->image_bytes_read = 0; - /* TODO: Check paper here in sane_start(). A function like - pixma_get_status() is needed. */ - error = start_reader_task (ss); - if (error >= 0) - { - ss->output_line_size = (ss->sp.w * ss->sp.channels * ss->sp.depth) / 8; - ss->byte_pos_in_line = 0; - ss->last_read_status = SANE_STATUS_GOOD; - ss->scanning = SANE_TRUE; - ss->idle = SANE_FALSE; - if (ss->sp.mode_jpeg && !ss->jpeg_header_seen) - { - SANE_Status status; - status = pixma_jpeg_read_header(ss); - if (status != SANE_STATUS_GOOD) - { - close (ss->rpipe); - pixma_jpeg_finish(ss); - ss->rpipe = -1; - if (sanei_thread_is_valid (terminate_reader_task (ss, &error)) - && error != SANE_STATUS_GOOD) - { - return error; - } - } - } - } - return map_error (error); -} - -SANE_Status -sane_read (SANE_Handle h, SANE_Byte * buf, SANE_Int maxlen, SANE_Int * len) -{ - DECL_CTX; - int sum, n; - /* Due to 32 pixels alignment, sizeof(temp) is to be greater than: - * max(nchannels) * max (sp.line_size - output_line_size) - * so currently: 3 * 32 = 96 for better end line cropping efficiency */ - SANE_Byte temp[100]; - SANE_Status status; - - if (len) - *len = 0; - if (!ss || !buf || !len) - return SANE_STATUS_INVAL; - if (ss->cancel) - return SANE_STATUS_CANCELLED; - if ((ss->idle) - && (ss->sp.source == PIXMA_SOURCE_ADF || ss->sp.source == PIXMA_SOURCE_ADFDUP)) - return SANE_STATUS_INVAL; - if (!ss->scanning) - return ss->last_read_status; - - status = SANE_STATUS_GOOD; - /* CCD scanners use software lineart - * the scanner must scan 24 bit color or 8 bit grayscale for one bit lineart */ - if ((ss->sp.line_size - ((ss->sp.software_lineart == 1) ? (ss->output_line_size * 8) : ss->output_line_size)) == 0) - { - status = read_image (ss, buf, maxlen, &sum); - } - else - { - /* FIXME: Because there is no frontend that can cope with padding at - the end of line, we've to remove it here in the backend! */ - PDBG (pixma_dbg (1, "*sane_read***** Warning: padding may cause incomplete scan results\n")); - sum = 0; - while (sum < maxlen) - { - if (ss->byte_pos_in_line < ss->output_line_size) - { - n = ss->output_line_size - ss->byte_pos_in_line; - if ((maxlen - sum) < n) - n = maxlen - sum; - status = read_image (ss, buf, n, &n); - if (n == 0) - break; - sum += n; - buf += n; - ss->byte_pos_in_line += n; - } - else - { - /* skip padding */ - n = ss->sp.line_size - ss->byte_pos_in_line; - if (n > (int) sizeof (temp)) - { - PDBG (pixma_dbg (3, "Inefficient skip buffer. Should be %d\n", n)); - n = sizeof (temp); - } - status = read_image (ss, temp, n, &n); - if (n == 0) - break; - ss->byte_pos_in_line += n; - if (ss->byte_pos_in_line == ss->sp.line_size) - ss->byte_pos_in_line = 0; - } - } - } - if (ss->cancel) - status = SANE_STATUS_CANCELLED; - else if ((status == SANE_STATUS_GOOD || status == SANE_STATUS_EOF) && - sum > 0) - { - *len = sum; - status = SANE_STATUS_GOOD; - } - ss->scanning = (status == SANE_STATUS_GOOD); - ss->last_read_status = status; - return status; -} - -void -sane_cancel (SANE_Handle h) -{ - DECL_CTX; - - if (!ss) - return; - ss->cancel = SANE_TRUE; - ss->sp.frontend_cancel = SANE_TRUE; - if (ss->idle) - return; - close (ss->rpipe); - if (ss->sp.mode_jpeg) - pixma_jpeg_finish(ss); - ss->rpipe = -1; - terminate_reader_task (ss, NULL); - ss->idle = SANE_TRUE; -} - -SANE_Status -sane_set_io_mode (SANE_Handle h, SANE_Bool m) -{ - DECL_CTX; - - if (!ss || ss->idle || ss->rpipe == -1) - return SANE_STATUS_INVAL; -#ifdef HAVE_FCNTL_H - PDBG (pixma_dbg (2, "Setting %sblocking mode\n", (m) ? "non-" : "")); - if (fcntl (ss->rpipe, F_SETFL, (m) ? O_NONBLOCK : 0) == -1) - { - PDBG (pixma_dbg - (1, "WARNING:fcntl(F_SETFL) failed %s\n", strerror (errno))); - return SANE_STATUS_UNSUPPORTED; - } - return SANE_STATUS_GOOD; -#else - return (m) ? SANE_STATUS_UNSUPPORTED : SANE_STATUS_GOOD; -#endif -} - -SANE_Status -sane_get_select_fd (SANE_Handle h, SANE_Int * fd) -{ - DECL_CTX; - - *fd = -1; - if (!ss || !fd || ss->idle || ss->rpipe == -1) - return SANE_STATUS_INVAL; - *fd = ss->rpipe; - return SANE_STATUS_GOOD; -} - -/* -BEGIN SANE_Option_Descriptor - -rem ------------------------------------------- -type group - title Scan mode - -type int resolution - unit dpi - constraint @word_list = ss->dpi_list - default 75 - title @SANE_TITLE_SCAN_RESOLUTION - desc @SANE_DESC_SCAN_RESOLUTION - cap soft_select soft_detect automatic - info reload_params - -type string mode[30] - constraint @string_list = ss->mode_list - default @s = SANE_VALUE_SCAN_MODE_COLOR - title @SANE_TITLE_SCAN_MODE - desc @SANE_DESC_SCAN_MODE - cap soft_select soft_detect automatic - info reload_params - -type string source[30] - constraint @string_list = ss->source_list - title @SANE_TITLE_SCAN_SOURCE - desc Selects the scan source (such as a document-feeder). Set source before mode and resolution. Resets mode and resolution to auto values. - default Flatbed - cap soft_select soft_detect - -type bool button-controlled - title Button-controlled scan - desc When enabled, scan process will not start immediately. To proceed, press \"SCAN\" button (for MP150) or \"COLOR\" button (for other models). To cancel, press \"GRAY\" button. - default SANE_FALSE - cap soft_select soft_detect inactive - -rem ------------------------------------------- -type group - title Gamma - -type bool custom-gamma - default SANE_TRUE - title @SANE_TITLE_CUSTOM_GAMMA - desc @SANE_DESC_CUSTOM_GAMMA - cap soft_select soft_detect automatic inactive - -type int gamma-table[4096] - constraint (0,255,0) - title @SANE_TITLE_GAMMA_VECTOR - desc @SANE_DESC_GAMMA_VECTOR - cap soft_select soft_detect automatic inactive - -type fixed gamma - default AUTO_GAMMA - constraint (0.3,5,0) - title Gamma function exponent - desc Changes intensity of midtones - cap soft_select soft_detect automatic inactive - -rem ------------------------------------------- -type group - title Geometry - -type fixed tl-x - unit mm - default 0 - constraint @range = &ss->xrange - title @SANE_TITLE_SCAN_TL_X - desc @SANE_DESC_SCAN_TL_X - cap soft_select soft_detect automatic - info reload_params - -type fixed tl-y - unit mm - default 0 - constraint @range = &ss->yrange - title @SANE_TITLE_SCAN_TL_Y - desc @SANE_DESC_SCAN_TL_Y - cap soft_select soft_detect automatic - info reload_params - -type fixed br-x - unit mm - default _MAX - constraint @range = &ss->xrange - title @SANE_TITLE_SCAN_BR_X - desc @SANE_DESC_SCAN_BR_X - cap soft_select soft_detect automatic - info reload_params - -type fixed br-y - unit mm - default _MAX - constraint @range = &ss->yrange - title @SANE_TITLE_SCAN_BR_Y - desc @SANE_DESC_SCAN_BR_Y - cap soft_select soft_detect automatic - info reload_params - -rem ------------------------------------------- -type group - title Buttons - -type button button-update - title Update button state - cap soft_select soft_detect advanced - -type int button-1 - default 0 - title Button 1 - cap soft_detect advanced - -type int button-2 - default 0 - title Button 2 - cap soft_detect advanced - -type int original - default 0 - title Type of original to scan - cap soft_detect advanced - -type int target - default 0 - title Target operation type - cap soft_detect advanced - -type int scan-resolution - default 0 - title Scan resolution - cap soft_detect advanced - -rem ------------------------------------------- -type group - title Extras - -type int threshold - unit PERCENT - default 50 - constraint (0,100,1) - title @SANE_TITLE_THRESHOLD - desc @SANE_DESC_THRESHOLD - cap soft_select soft_detect automatic inactive - -type int threshold-curve - constraint (0,127,1) - title Threshold curve - desc Dynamic threshold curve, from light to dark, normally 50-65 - cap soft_select soft_detect automatic inactive - -type int adf-wait - default 0 - constraint (0,3600,1) - title ADF Waiting Time - desc When set, the scanner searches the waiting time in seconds for a new document inserted into the automatic document feeder. - cap soft_select soft_detect automatic inactive - -rem ------------------------------------------- -END SANE_Option_Descriptor -*/ - -/* pixma_sane_options.c generated by - * scripts/pixma_gen_options.py < pixma.c > pixma_sane_options.c - * - * pixma_sane_options.h generated by - * scripts/pixma_gen_options.py h < pixma.c > pixma_sane_options.h - */ -#include "pixma_sane_options.c" diff --git a/backend/pixma.conf.in b/backend/pixma.conf.in index 3f5c61a..d6184b4 100644 --- a/backend/pixma.conf.in +++ b/backend/pixma.conf.in @@ -1,5 +1,10 @@ # pixma.conf configuration for the sane pixma backend # +# disable network scanner detection. +# This must be the first not commented line +# Uncomment the following line: +# networking=no +# # bjnp-timeout=5000 # Specify the timeout (in ms) to be used for all the folllowing # scanners. @@ -16,10 +21,12 @@ # port number can normally be left out, port 8612 is used as default # The timeout parameter sets a timeout value for the scanner on # the same line -# Example: +# Examples using bjnp: # bjnp://myscanner.my.domain:8612 // uses the default 1000ms timeout # bjnp-timeout=5000 # bjnp://printer-1.pheasant.org // will use the 5000 ms timeout # bjnp://scanner.bad-network.org/timeout=1500 // timeout set to 1500 ms # bjnp-timeout=3000 // will be used for auto-detected scanners # +# Example using for a scanner using mfnp including the optional timeout: +# mfnp://scanner.bad-network.org/timeout=1500 diff --git a/backend/pixma.h b/backend/pixma.h deleted file mode 100644 index 370203a..0000000 --- a/backend/pixma.h +++ /dev/null @@ -1,502 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2011-2019 Rolf Bensch - Copyright (C) 2007-2008 Nicolas Martin, - Copyright (C) 2006-2007 Wittawat Yamwong - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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 PIXMA_H -#define PIXMA_H - -/*! - * \mainpage Scanner driver for Canon PIXMA MP series - * \section example Sample code for application - * \code - * pixma_set_debug_level(level); - * pixma_init(); - * nscanners = pixma_find_scanners(); - * devnr = choose_scanner(nscanners); - * scanner = pixma_open(devnr); - * setup_param(param); - * pixma_check_scan_param(scanner, param); - * do { - * if (I_need_events && - * (ev = pixma_wait_event(scanner, timeout)) > 0) { - * handle_event(ev); - * } - * pixma_scan(scanner, param); - * while ((count = pixma_read_image(scanner, buf, len)) > 0) { - * write(buf, count); - * if (error_occured_in_write) { - * pixma_cancel(scanner); - * } - * } - * } while (!enough); - * pixma_close(scanner); - * pixma_cleanup(); - * \endcode - * - * Note: pixma_cancel() can be called asynchronously to - * interrupt pixma_read_image(). It does not cancel the operation - * immediately. pixma_read_image() must be called until it - * returns zero or an error (probably \c PIXMA_ECANCELED). - * - * \section reference Reference - * - \subpage API - * - \subpage IO - * - \subpage subdriver - * - \subpage debug - */ - -/*! - * \defgroup API The driver API - * \brief The driver API. - * - * The return value of functions that returns \c int has the following - * meaning if not otherwise specified: - * - >= 0 if succeeded - * - < 0 if failed - */ - -#ifdef HAVE_STDINT_H -# include /* available in ISO C99 */ -#else -# include -typedef uint8_t uint8_t; -typedef uint16_t uint16_t; -typedef uint32_t uint32_t; -#endif /* HAVE_STDINT_H */ - -#ifdef HAVE_INTTYPES_H -# include /* available in ISO C99 */ -#endif /* HAVE_INTTYPES_H */ - -/** \addtogroup API - * @{ */ -/** Don't forget to update the backend version in the SANE Backend specification - * file: doc/descriptions/pixma.desc !!! - */ -/** \name Version of the driver */ -/**@{*/ -#define PIXMA_VERSION_MAJOR 0 -#define PIXMA_VERSION_MINOR 23 -#define PIXMA_VERSION_BUILD 0 -/**@}*/ - -/** \name Error codes */ -/**@{*/ -#define PIXMA_EIO -1 -#define PIXMA_ENODEV -2 -#define PIXMA_EACCES -3 -#define PIXMA_ENOMEM -4 -#define PIXMA_EINVAL -5 -#define PIXMA_EBUSY -6 -#define PIXMA_ECANCELED -7 -#define PIXMA_ENOTSUP -8 -#define PIXMA_ETIMEDOUT -9 -#define PIXMA_EPROTO -10 -#define PIXMA_EPAPER_JAMMED -11 -#define PIXMA_ECOVER_OPEN -12 -#define PIXMA_ENO_PAPER -13 -#define PIXMA_EOF -14 -/**@}*/ - -/** \name Capabilities for using with pixma_config_t::cap */ -/**@{*/ -#define PIXMA_CAP_EASY_RGB (1 << 0) -#define PIXMA_CAP_GRAY (1 << 1) -#define PIXMA_CAP_ADF (1 << 2) -#define PIXMA_CAP_48BIT (1 << 3) -#define PIXMA_CAP_GAMMA_TABLE (1 << 4) -#define PIXMA_CAP_EVENTS (1 << 5) -#define PIXMA_CAP_TPU (1 << 6) -#define PIXMA_CAP_ADFDUP ((1 << 7) | PIXMA_CAP_ADF) -#define PIXMA_CAP_CIS (0) -#define PIXMA_CAP_CCD (1 << 8) -#define PIXMA_CAP_LINEART (1 << 9) -#define PIXMA_CAP_NEGATIVE (1 << 10) -#define PIXMA_CAP_TPUIR ((1 << 11) | PIXMA_CAP_TPU) -#define PIXMA_CAP_ADF_WAIT (1 << 12) -#define PIXMA_CAP_ADF_JPEG (1 << 13) -#define PIXMA_CAP_EXPERIMENT (1 << 31) -/**@}*/ - -/** \name Button events and related information returned by pixma_wait_event() */ -/**@{*/ -#define PIXMA_EV_NONE 0 -#define PIXMA_EV_ACTION_MASK (0xffffff) -#define PIXMA_EV_BUTTON1 (1 << 24) -#define PIXMA_EV_BUTTON2 (2 << 24) -#define PIXMA_EV_TARGET_MASK (0xff) -#define PIXMA_EV_ORIGINAL_MASK (0xff00) -#define PIXMA_EV_DPI_MASK (0xff0000) - -#define GET_EV_TARGET(x) (x & PIXMA_EV_TARGET_MASK) -#define GET_EV_ORIGINAL(x) ( (x & PIXMA_EV_ORIGINAL_MASK) >> 8 ) -#define GET_EV_DPI(x) ( (x & PIXMA_EV_DPI_MASK) >> 16 ) - -/**@}*/ -/** @} end of API group */ - -#define PIXMA_CONFIG_FILE "pixma.conf" -#define MAX_CONF_DEVICES 15 - -struct pixma_t; -struct pixma_scan_ops_t; -struct pixma_scan_param_t; -struct pixma_config_t; -struct pixma_cmdbuf_t; -struct pixma_imagebuf_t; -struct pixma_device_status_t; - -typedef struct pixma_t pixma_t; -typedef struct pixma_scan_ops_t pixma_scan_ops_t; -typedef struct pixma_scan_param_t pixma_scan_param_t; -typedef struct pixma_config_t pixma_config_t; -typedef struct pixma_cmdbuf_t pixma_cmdbuf_t; -typedef struct pixma_imagebuf_t pixma_imagebuf_t; -typedef struct pixma_device_status_t pixma_device_status_t; - - -/** \addtogroup API - * @{ */ -/** String index constants */ -typedef enum pixma_string_index_t -{ - PIXMA_STRING_MODEL, - PIXMA_STRING_ID, - PIXMA_STRING_LAST -} pixma_string_index_t; - -/** Paper sources */ -typedef enum pixma_paper_source_t -{ - PIXMA_SOURCE_FLATBED, - PIXMA_SOURCE_ADF, - PIXMA_SOURCE_TPU, - PIXMA_SOURCE_ADFDUP /* duplex */ -} pixma_paper_source_t; - -/** Scan modes */ -typedef enum pixma_scan_mode_t -{ - /* standard scan modes */ - PIXMA_SCAN_MODE_COLOR, - PIXMA_SCAN_MODE_GRAY, - /* TPU scan modes for negatives */ - PIXMA_SCAN_MODE_NEGATIVE_COLOR, - PIXMA_SCAN_MODE_NEGATIVE_GRAY, - /* extended scan modes for 48 bit flatbed scanners */ - PIXMA_SCAN_MODE_COLOR_48, - PIXMA_SCAN_MODE_GRAY_16, - /* 1 bit lineart scan mode */ - PIXMA_SCAN_MODE_LINEART, - /* TPUIR scan mode */ - PIXMA_SCAN_MODE_TPUIR -} pixma_scan_mode_t; - -typedef enum pixma_hardware_status_t -{ - PIXMA_HARDWARE_OK, - PIXMA_HARDWARE_ERROR -} pixma_hardware_status_t; - -typedef enum pixma_lamp_status_t -{ - PIXMA_LAMP_OK, - PIXMA_LAMP_WARMING_UP, - PIXMA_LAMP_OFF, - PIXMA_LAMP_ERROR -} pixma_lamp_status_t; - -typedef enum pixma_adf_status_t -{ - PIXMA_ADF_OK, - PIXMA_ADF_NO_PAPER, - PIXMA_ADF_JAMMED, - PIXMA_ADF_COVER_OPEN, - PIXMA_ADF_ERROR -} pixma_adf_status_t; - -typedef enum pixma_calibration_status_t -{ - PIXMA_CALIBRATION_OK, - PIXMA_CALIBRATION_IN_PROGRESS, - PIXMA_CALIBRATION_OFF, - PIXMA_CALIBRATION_ERROR -} pixma_calibration_status_t; - -/** Device status. */ -struct pixma_device_status_t -{ - pixma_hardware_status_t hardware; - pixma_lamp_status_t lamp; - pixma_adf_status_t adf; - pixma_calibration_status_t cal; -}; - -/** Scan parameters. */ -struct pixma_scan_param_t -{ - /** Size in bytes of one image line (row). - * line_size >= depth / 8 * channels * w
    - * This field will be set by pixma_check_scan_param(). */ - uint64_t line_size; - - /** Size in bytes of the whole image. - * image_size = line_size * h
    - * This field will be set by pixma_check_scan_param(). */ - uint64_t image_size; - - /** Channels per pixel. 1 = grayscale and lineart, 3 = color */ - unsigned channels; - - /** Bits per channels. - * 1 = 1 bit B/W lineart (flatbed) - * 8 = 8 bit grayscale, - * 24 bit color (both flatbed) - * 16 = 16 bit grayscale (TPU, flatbed not implemeted), - * 48 bit color (TPU, flatbed not implemented) */ - unsigned depth; - - /*@{ */ - /** Resolution. Valid values are 75,150,300,600,1200... */ - unsigned xdpi, ydpi; - /*@} */ - - /*! \name Scan area in pixels - * (0,0) = top left; positive x extends to the right; positive y to the - * bottom; in pixels. - * xs is the offset in x direction of the selected scan range relative - * to the range read from the scanner and wx the width in x direction - * of the scan line read from scanner. */ - /*@{ */ - unsigned x, y, w, h, xs, wx; - /*@} */ - - /** Flag indicating whether the offset correction for TPU scans - * was already performed (to avoid repeated corrections). - * Currently only used in pixma_mp810.c sub-driver */ - unsigned tpu_offset_added; - - /* Flag indicating if data from scanner will be in JPEG format */ - unsigned mode_jpeg; - - /** Flag indicating whether a software-lineart scan is in progress - * 0 = other scan - * 1 = software-lineart scan */ - unsigned software_lineart; - - /** Threshold for software-lineart scans */ - unsigned threshold; - - /** lineart threshold curve for dynamic rasterization */ - unsigned threshold_curve; - - /* look up table used in dynamic rasterization */ - unsigned char lineart_lut[256]; - - /** Gamma table. 4096 entries, 12 bit => 8 bit. If \c NULL, default gamma - * specified by subdriver will be used. */ - const uint8_t *gamma_table; - - /** \see #pixma_paper_source_t */ - pixma_paper_source_t source; - - /** \see #pixma_scan_mode_t */ - pixma_scan_mode_t mode; - - /** The current page # in the same ADF scan session, 0 in non ADF */ - unsigned adf_pageid; - - /** adf-wait */ - unsigned adf_wait; - unsigned frontend_cancel; -}; - -/** PIXMA model information */ -struct pixma_config_t -{ - /* If you change this structure, don't forget to update the device list in - * subdrivers. */ - const char *name; /**< Model name. */ - const char *model; /**< Short model */ - uint16_t vid; /**< USB Vendor ID */ - uint16_t pid; /**< USB Product ID */ - unsigned iface; /**< USB Interface number */ - const pixma_scan_ops_t *ops; /**< Subdriver ops */ - unsigned xdpi; /**< Maximum horizontal resolution[DPI] */ - unsigned ydpi; /**< Maximum vertical resolution[DPI] */ - unsigned adftpu_min_dpi; /**< Maximum horizontal resolution[DPI] for adf/tpu - * only needed if ADF/TPU has another min. dpi value than 75 dpi */ - unsigned adftpu_max_dpi; /**< Maximum vertical resolution[DPI] for adf/tpu - * only needed if ADF/TPU has another max. dpi value than xdpi */ - unsigned tpuir_min_dpi; /**< Minimum resolution[DPI] for tpu-ir - * only needed if TPU-IR has another min. dpi value than 75 dpi */ - unsigned tpuir_max_dpi; /**< Maximum resolution[DPI] for tpu-ir - * only needed if TPU-IR has another max. dpi value than xdpi */ - unsigned width; /**< Maximum width of scannable area in pixels at 75DPI */ - unsigned height; /**< Maximum height of scannable area in pixels at 75DPI */ - unsigned cap; /**< Capability bitfield \see PIXMA_CAP_* */ -}; - - -/* Defined in pixma_common.c */ - -/** Initialize the driver. It must be called before any other functions - * except pixma_set_debug_level(). */ -int pixma_init (void); - -/** Free resources allocated by the driver. */ -void pixma_cleanup (void); - -/** Set the debug level. - * \param[in] level the debug level - * - 0 No debug output at all - * - 1 Only errors and warning - * - 2 General information - * - 3 Debugging messages - * - 10 USB traffic dump */ -void pixma_set_debug_level (int level); - -/** Find scanners. The device number used in pixma_open(), - * pixma_get_device_model(), pixma_get_device_id() and - * pixma_get_device_config() must be less than the value returned by the last - * call of this function. - * - * \return The number of scanners found currently. The return value is - * guaranteed to be valid until the next call to pixma_find_scanners(). */ -int pixma_find_scanners (const char **conf_devices); - -/** Return the model name of the device \a devnr. */ -const char *pixma_get_device_model (unsigned devnr); - -/** Return the unique ID of the device \a devnr. */ -const char *pixma_get_device_id (unsigned devnr); - -/** Return the device configuration of the device \a devnr. */ -const struct pixma_config_t *pixma_get_device_config (unsigned devnr); - -/** Open a connection to the scanner \a devnr. - * \param[in] devnr The scanner number - * \param[out] handle The device handle - * \see pixma_find_scanners() */ -int pixma_open (unsigned devnr, pixma_t ** handle); - -/** Close the connection to the scanner. The scanning process is aborted - * if necessary before the function returns. */ -void pixma_close (pixma_t * s); - -/** Initiate an image acquisition process. You must keep \a sp valid until the - * image acquisition process has finished. */ -int pixma_scan (pixma_t *, pixma_scan_param_t * sp); - -/** Read a block of image data. It blocks until there is at least one byte - * available or an error occurs. - * - * \param[out] buf Pointer to the buffer - * \param[in] len Size of the buffer - * - * \retval count Number of bytes written to the buffer or error. Possible - * return value: - * - count = 0 for end of image - * - count = \a len - * - 0 < count < \a len if and only if it is the last block. - * - count < 0 for error */ -int pixma_read_image (pixma_t *, void *buf, unsigned len); - -#if 0 -/** Read a block of image data and write to \a fd. - * \param[in] fd output file descriptor - * \see pixma_read_image() */ -int pixma_read_image_write (pixma_t *, int fd); -#endif - -/** Cancel the scanning process. No effect if no scanning process is in - * progress. It can be called asynchronously e.g. within a signal - * handle. pixma_cancel() doesn't abort the operation immediately. It - * guarantees that the current call or, at the latest, the next call to - * pixma_read_image() will return zero or an error (probably PIXMA_ECANCELED). */ -void pixma_cancel (pixma_t *); - -/** Check the scan parameters. This function can change your parameters to - * match the device capability, e.g. adjust width and height to the available - * area. - * \return PIXMA_EINVAL for invalid parameters. */ -int pixma_check_scan_param (pixma_t *, pixma_scan_param_t *); - -/** Wait until a scanner button is pressed or it times out. It should not be - * called during image acquisition is in progress. - * \param[in] timeout in milliseconds, less than 0 means forever - * \return - * - \c PIXMA_EV_NONE if it timed out. - * - non-zero value indicates which button was pressed. - * \see PIXMA_EV_* - */ -uint32_t pixma_wait_event (pixma_t *, int timeout); - -/** Activate connection to scanner */ -int pixma_activate_connection (pixma_t *); - -/** De-activate connection to scanner */ - -int pixma_deactivate_connection (pixma_t *); - - -/** Enable or disable background tasks. Currently, the only one task - * is submitting interrupt URB in background. - * \param[in] enabled if not zero, enable background task. - * \see pixma_set_interrupt_mode() */ -int pixma_enable_background (pixma_t *, int enabled); - -/** Read the current device status. - * \param[out] status the current device status - * \return 0 if succeeded. Otherwise, failed. - */ -int pixma_get_device_status (pixma_t *, pixma_device_status_t * status); - -const char *pixma_get_string (pixma_t *, pixma_string_index_t); -const pixma_config_t *pixma_get_config (pixma_t *); -void pixma_fill_gamma_table (double gamma, uint8_t * table, unsigned n); -const char *pixma_strerror (int error); - -/** @} end of API group */ - -#endif diff --git a/backend/pixma/pixma.c b/backend/pixma/pixma.c new file mode 100644 index 0000000..f763496 --- /dev/null +++ b/backend/pixma/pixma.c @@ -0,0 +1,2166 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2011-2019 Rolf Bensch + Copyright (C) 2007-2008 Nicolas Martin, + Copyright (C) 2006-2007 Wittawat Yamwong + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. + */ +#include "../include/sane/config.h" + +#include +#include +#include +#ifdef USE_PTHREAD +# include +#endif +#include /* sigaction(POSIX) */ +#include /* POSIX: write read close pipe */ +#ifdef HAVE_FCNTL_H +# include +#endif + +#include "pixma_rename.h" +#include "pixma.h" + +# define DEBUG_NOT_STATIC +# include "../include/sane/sane.h" +# include "../include/sane/sanei.h" +# include "../include/sane/saneopts.h" +# include "../include/sane/sanei_thread.h" +# include "../include/sane/sanei_backend.h" +# include "../include/sane/sanei_config.h" +# include "../include/sane/sanei_jpeg.h" + +#ifdef NDEBUG +# define PDBG(x) +#else +# define PDBG(x) IF_DBG(x) +#endif /* NDEBUG */ + +#ifdef __GNUC__ +# define UNUSED(v) (void) v +#else +# define UNUSED(v) +#endif + +#define DECL_CTX pixma_sane_t *ss = check_handle(h) +#define OPT_IN_CTX ss->opt +#define SOD(opt) OPT_IN_CTX[opt].sod +#define OVAL(opt) OPT_IN_CTX[opt].val +#define AUTO_GAMMA 2.2 + +/* pixma_sane_options.h generated by + * scripts/pixma_gen_options.py h < pixma.c > pixma_sane_options.h + */ +#include "pixma_sane_options.h" + +#define BUTTON_GROUP_SIZE ( opt_scan_resolution - opt_button_1 + 1 ) +#define BUTTON_GROUP_INDEX(x) ( x - opt_button_1 ) + +typedef struct pixma_sane_t +{ + struct pixma_sane_t *next; + pixma_t *s; + pixma_scan_param_t sp; + SANE_Bool cancel; + + /* valid states: idle, !idle && scanning, !idle && !scanning */ + SANE_Bool idle; + SANE_Bool scanning; + SANE_Status last_read_status; /* valid if !idle && !scanning */ + + option_descriptor_t opt[opt_last]; + char button_option_is_cached[BUTTON_GROUP_SIZE]; + SANE_Range xrange, yrange; + SANE_Word dpi_list[9]; /* up to 9600 dpi */ + SANE_String_Const mode_list[6]; + pixma_scan_mode_t mode_map[6]; + uint8_t gamma_table[4096]; + SANE_String_Const source_list[4]; + pixma_paper_source_t source_map[4]; + + unsigned byte_pos_in_line, output_line_size; + uint64_t image_bytes_read; + unsigned page_count; /* valid for ADF */ + + SANE_Pid reader_taskid; + int wpipe, rpipe; + SANE_Bool reader_stop; + + /* Valid for JPEG source */ + djpeg_dest_ptr jdst; + struct jpeg_decompress_struct jpeg_cinfo; + struct jpeg_error_mgr jpeg_err; + SANE_Bool jpeg_header_seen; +} pixma_sane_t; + +typedef struct +{ + struct jpeg_source_mgr jpeg; + + pixma_sane_t *s; + JOCTET *buffer; + + SANE_Byte *linebuffer; + SANE_Int linebuffer_size; + SANE_Int linebuffer_index; +} pixma_jpeg_src_mgr; + + +static const char vendor_str[] = "CANON"; +static const char type_str[] = "multi-function peripheral"; + +static pixma_sane_t *first_scanner = NULL; +static const SANE_Device **dev_list = NULL; +static const char* conf_devices[MAX_CONF_DEVICES]; + +static void mark_all_button_options_cached ( struct pixma_sane_t * ss ) +{ + int i; + for (i = 0; i < (opt__group_5 - opt_button_1); i++ ) + ss -> button_option_is_cached[i] = 1; +} + +static SANE_Status config_attach_pixma(SANEI_Config * config, const char *devname) +{ + int i; + UNUSED(config); + for (i=0; i < (MAX_CONF_DEVICES -1); i++) + { + if(conf_devices[i] == NULL) + { + conf_devices[i] = strdup(devname); + return SANE_STATUS_GOOD; + } + } + return SANE_STATUS_INVAL; +} + +static SANE_Status +map_error (int error) +{ + if (error >= 0) + return SANE_STATUS_GOOD; + + switch (error) + { + case PIXMA_ENOMEM: + return SANE_STATUS_NO_MEM; + case PIXMA_ECANCELED: + return SANE_STATUS_CANCELLED; + case PIXMA_EBUSY: + return SANE_STATUS_DEVICE_BUSY; + case PIXMA_EINVAL: + return SANE_STATUS_INVAL; + case PIXMA_EACCES: + return SANE_STATUS_ACCESS_DENIED; + case PIXMA_EPAPER_JAMMED: + return SANE_STATUS_JAMMED; + case PIXMA_ENO_PAPER: + return SANE_STATUS_NO_DOCS; + case PIXMA_ECOVER_OPEN: + return SANE_STATUS_COVER_OPEN; + case PIXMA_ENOTSUP: + return SANE_STATUS_UNSUPPORTED; + case PIXMA_EPROTO: + case PIXMA_ENODEV: + case PIXMA_EIO: + case PIXMA_ETIMEDOUT: + return SANE_STATUS_IO_ERROR; + } + PDBG (pixma_dbg (1, "BUG: unmapped error %d\n", error)); + return SANE_STATUS_IO_ERROR; +} + +static int +getenv_atoi (const char *name, int def) +{ + const char *str = getenv (name); + return (str) ? atoi (str) : def; +} + +#define CONST_CAST(t,x) (t)(x) + +static void +free_block (const void * ptr) +{ + free (CONST_CAST (void *, ptr)); +} + +static void +cleanup_device_list (void) +{ + if (dev_list) + { + int i; + for (i = 0; dev_list[i]; i++) + { + free_block ((const void *) dev_list[i]->name); + free_block ((const void *) dev_list[i]->model); + free_block ((const void *) dev_list[i]); + } + } + free (dev_list); + dev_list = NULL; +} + +static void +find_scanners (SANE_Bool local_only) +{ + unsigned i, nscanners; + + cleanup_device_list (); + nscanners = pixma_find_scanners (conf_devices, local_only); + PDBG (pixma_dbg (3, "pixma_find_scanners() found %u devices\n", nscanners)); + dev_list = + (const SANE_Device **) calloc (nscanners + 1, sizeof (*dev_list)); + if (!dev_list) + return; + for (i = 0; i != nscanners; i++) + { + SANE_Device *sdev = (SANE_Device *) calloc (1, sizeof (*sdev)); + char *name, *model; + if (!sdev) + goto nomem; + name = strdup (pixma_get_device_id (i)); + model = strdup (pixma_get_device_model (i)); + if (!name || !model) + { + free (name); + free (model); + free (sdev); + goto nomem; + } + sdev->name = name; + sdev->model = model; + sdev->vendor = vendor_str; + sdev->type = type_str; + dev_list[i] = sdev; + } + /* dev_list is already NULL terminated by calloc(). */ + return; + +nomem: + PDBG (pixma_dbg (1, "WARNING:not enough memory for device list\n")); + return; +} + +static pixma_sane_t * +check_handle (SANE_Handle h) +{ + pixma_sane_t *p; + + for (p = first_scanner; p && (SANE_Handle) p != h; p = p->next) + { + } + return p; +} + +static void +update_button_state (pixma_sane_t * ss, SANE_Int * info) +{ + SANE_Int b1 = OVAL (opt_button_1).w; + SANE_Int b2 = OVAL (opt_button_2).w; + uint32_t ev = pixma_wait_event (ss->s, 300); + switch (ev & ~PIXMA_EV_ACTION_MASK) + { + case PIXMA_EV_BUTTON1: + b1 = 1; + break; + case PIXMA_EV_BUTTON2: + b2 = 1; + break; + } + + if (b1 != OVAL (opt_button_1).w || b2 != OVAL (opt_button_2).w) + { + *info |= SANE_INFO_RELOAD_OPTIONS; + OVAL (opt_button_1).w = b1; + OVAL (opt_button_2).w = b2; + OVAL (opt_original).w = GET_EV_ORIGINAL(ev); + OVAL (opt_target).w = GET_EV_TARGET(ev); + OVAL (opt_scan_resolution).w = GET_EV_DPI(ev); + } + mark_all_button_options_cached(ss); +} + +static SANE_Bool +enable_option (pixma_sane_t * ss, SANE_Int o, SANE_Bool enable) +{ + SANE_Word save = SOD (o).cap; + if (enable) + SOD (o).cap &= ~SANE_CAP_INACTIVE; + else + SOD (o).cap |= SANE_CAP_INACTIVE; + return (save != SOD (o).cap); +} + +static void +clamp_value (pixma_sane_t * ss, SANE_Int n, void *v, SANE_Int * info) +{ + SANE_Option_Descriptor *sod = &SOD (n); + SANE_Word *va = (SANE_Word *) v; + const SANE_Range *range = sod->constraint.range; + int i, nmemb; + + nmemb = sod->size / sizeof (SANE_Word); + for (i = 0; i < nmemb; i++) + { + SANE_Word value = va[i]; + if (value < range->min) + { + value = range->min; + } + else if (value > range->max) + { + value = range->max; + } + if (range->quant != 0) + { + value = (value - range->min + range->quant / 2) / + range->quant * range->quant; + } + if (value != va[i]) + { + va[i] = value; + *info |= SANE_INFO_INEXACT; + } + } +} + +/* create dynamic mode_list + * ss: scanner device + * tpu = 0: flatbed or ADF mode + * 1 bit lineart, 8 bit grayscale and 24 bit color scans + * tpu = 1: TPU mode + * 16 bit grayscale and 48 bit color scans */ +static void +create_mode_list (pixma_sane_t * ss) +{ + SANE_Bool tpu; + const pixma_config_t *cfg; + int i; + + cfg = pixma_get_config (ss->s); + tpu = (ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_TPU); + + /* setup available mode */ + i = 0; + ss->mode_list[i] = SANE_VALUE_SCAN_MODE_COLOR; + ss->mode_map[i] = PIXMA_SCAN_MODE_COLOR; + i++; + if (cfg->cap & PIXMA_CAP_GRAY) + { + ss->mode_list[i] = SANE_VALUE_SCAN_MODE_GRAY; + ss->mode_map[i] = PIXMA_SCAN_MODE_GRAY; + i++; + } + if (tpu && (cfg->cap & PIXMA_CAP_NEGATIVE)) + { + ss->mode_list[i] = SANE_I18N ("Negative color"); + ss->mode_map[i] = PIXMA_SCAN_MODE_NEGATIVE_COLOR; + i++; + if (cfg->cap & PIXMA_CAP_GRAY) + { + ss->mode_list[i] = SANE_I18N ("Negative gray"); + ss->mode_map[i] = PIXMA_SCAN_MODE_NEGATIVE_GRAY; + i++; + } + } + if (tpu && (cfg->cap & PIXMA_CAP_TPUIR) == PIXMA_CAP_TPUIR) + { + ss->mode_list[i] = SANE_I18N ("Infrared"); + ss->mode_map[i] = PIXMA_SCAN_MODE_TPUIR; + i++; + } + if (!tpu && (cfg->cap & PIXMA_CAP_48BIT)) + { + ss->mode_list[i] = SANE_I18N ("48 bits color"); + ss->mode_map[i] = PIXMA_SCAN_MODE_COLOR_48; + i++; + if (cfg->cap & PIXMA_CAP_GRAY) + { + ss->mode_list[i] = SANE_I18N ("16 bits gray"); + ss->mode_map[i] = PIXMA_SCAN_MODE_GRAY_16; + i++; + } + } + if (!tpu && (cfg->cap & PIXMA_CAP_LINEART)) + { + ss->mode_list[i] = SANE_VALUE_SCAN_MODE_LINEART; + ss->mode_map[i] = PIXMA_SCAN_MODE_LINEART; + i++; + } + /* terminate mode_list and mode_map */ + ss->mode_list[i] = 0; + ss->mode_map[i] = 0; +} + +/* create dynamic dpi_list + * ss: scanner device */ +static void +create_dpi_list (pixma_sane_t * ss) +{ + const pixma_config_t *cfg; + int i, j; + int min; + unsigned min_dpi; + unsigned max_dpi; + + cfg = pixma_get_config (ss->s); + + /* get min/max dpi */ + max_dpi = cfg->xdpi; + min_dpi = 75; + if (ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_TPU + && ss->mode_map[OVAL (opt_mode).w] == PIXMA_SCAN_MODE_TPUIR) + { /* IR mode */ + /*PDBG (pixma_dbg (4, "*create_dpi_list***** TPUIR mode\n"));*/ + min_dpi = (cfg->tpuir_min_dpi) ? cfg->tpuir_min_dpi : 75; + max_dpi = (cfg->tpuir_max_dpi) ? cfg->tpuir_max_dpi : cfg->xdpi; + } + else if (ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_TPU + || ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_ADF + || ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_ADFDUP) + { /* ADF / TPU mode */ + /*PDBG (pixma_dbg (4, "*create_dpi_list***** ADF/TPU mode\n"));*/ + min_dpi = (cfg->adftpu_min_dpi) ? cfg->adftpu_min_dpi : 75; + max_dpi = (cfg->adftpu_max_dpi) ? cfg->adftpu_max_dpi : cfg->xdpi; + } + else if (ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_FLATBED + && (ss->mode_map[OVAL (opt_mode).w] == PIXMA_SCAN_MODE_COLOR_48 + || ss->mode_map[OVAL (opt_mode).w] == PIXMA_SCAN_MODE_GRAY_16)) + { /* 48 bits flatbed */ + /*PDBG (pixma_dbg (4, "*create_dpi_list***** 48 bits flatbed mode\n"));*/ + min_dpi = 150; + } + + /* set j for min. dpi + * 75 dpi: j = 0 + * 150 dpi: j = 1 \ + * 300 dpi: j = 2 |--> from cfg->adftpu_min_dpi or cfg->tpuir_min_dpi + * 600 dpi: j = 3 / + * */ + j = -1; + min = min_dpi / 75; + do + { + j++; + min >>= 1; + } + while (min > 0); + + /* create dpi_list + * use j for min. dpi */ + i = 0; + do + { + i++; j++; + ss->dpi_list[i] = 75 * (1 << (j - 1)); /* 75 x 2^(j-1) */ + } + while ((unsigned) ss->dpi_list[i] < max_dpi); + ss->dpi_list[0] = i; + /*PDBG (pixma_dbg (4, "*create_dpi_list***** min_dpi = %d, max_dpi = %d\n", min_dpi, max_dpi));*/ +} + +static void +select_value_from_list (pixma_sane_t * ss, SANE_Int n, void *v, + SANE_Int * info) +{ + SANE_Option_Descriptor *sod = &SOD (n); + SANE_Word *va = (SANE_Word *) v; + const SANE_Word *list = sod->constraint.word_list; + int i, j, nmemb; + + nmemb = sod->size / sizeof (SANE_Word); + for (i = 0; i < nmemb; i++) + { + SANE_Word value = va[i]; + SANE_Word mindelta = abs (value - list[1]); + SANE_Word nearest = list[1]; + for (j = 2; j <= list[0]; j++) + { + SANE_Word delta = abs (value - list[j]); + if (delta < mindelta) + { + mindelta = delta; + nearest = list[j]; + } + if (mindelta == 0) + break; + } + if (va[i] != nearest) + { + va[i] = nearest; + *info |= SANE_INFO_INEXACT; + } + } +} + +static SANE_Status +control_scalar_option (pixma_sane_t * ss, SANE_Int n, SANE_Action a, void *v, + SANE_Int * info) +{ + option_descriptor_t *opt = &(OPT_IN_CTX[n]); + SANE_Word val; + + switch (a) + { + case SANE_ACTION_GET_VALUE: + switch (opt->sod.type) + { + case SANE_TYPE_BOOL: + case SANE_TYPE_INT: + case SANE_TYPE_FIXED: + *(SANE_Word *) v = opt->val.w; + break; + default: + return SANE_STATUS_UNSUPPORTED; + } + return SANE_STATUS_GOOD; + + case SANE_ACTION_SET_VALUE: + switch (opt->sod.type) + { + case SANE_TYPE_BOOL: + val = *(SANE_Word *) v; + if (val != SANE_TRUE && val != SANE_FALSE) + return SANE_STATUS_INVAL; + opt->val.w = val; + break; + case SANE_TYPE_INT: + case SANE_TYPE_FIXED: + if (opt->sod.constraint_type == SANE_CONSTRAINT_RANGE) + clamp_value (ss, n, v, info); + else if (opt->sod.constraint_type == SANE_CONSTRAINT_WORD_LIST) + select_value_from_list (ss, n, v, info); + opt->val.w = *(SANE_Word *) v; + break; + default: + return SANE_STATUS_UNSUPPORTED; + } + *info |= opt->info; + return SANE_STATUS_GOOD; + + case SANE_ACTION_SET_AUTO: + switch (opt->sod.type) + { + case SANE_TYPE_BOOL: + case SANE_TYPE_INT: + case SANE_TYPE_FIXED: + opt->val.w = opt->def.w; + break; + default: + return SANE_STATUS_UNSUPPORTED; + } + *info |= opt->info; + return SANE_STATUS_GOOD; + } + return SANE_STATUS_UNSUPPORTED; +} + +static SANE_Status +control_string_option (pixma_sane_t * ss, SANE_Int n, SANE_Action a, void *v, + SANE_Int * info) +{ + option_descriptor_t *opt = &(OPT_IN_CTX[n]); + const SANE_String_Const *slist = opt->sod.constraint.string_list; + SANE_String str = (SANE_String) v; + + if (opt->sod.constraint_type == SANE_CONSTRAINT_NONE) + { + switch (a) + { + case SANE_ACTION_GET_VALUE: + strcpy (str, opt->val.s); + break; + case SANE_ACTION_SET_AUTO: + str = opt->def.s; + /* fall through */ + case SANE_ACTION_SET_VALUE: + strncpy (opt->val.s, str, opt->sod.size - 1); + *info |= opt->info; + break; + } + return SANE_STATUS_GOOD; + } + else + { + int i; + + switch (a) + { + case SANE_ACTION_GET_VALUE: + strcpy (str, slist[opt->val.w]); + break; + case SANE_ACTION_SET_AUTO: + str = opt->def.ptr; + /* fall through */ + case SANE_ACTION_SET_VALUE: + i = 0; + while (slist[i] && strcasecmp (str, slist[i]) != 0) + i++; + if (!slist[i]) + return SANE_STATUS_INVAL; + if (strcmp (slist[i], str) != 0) + { + strcpy (str, slist[i]); + *info |= SANE_INFO_INEXACT; + } + opt->val.w = i; + *info |= opt->info; + break; + } + return SANE_STATUS_GOOD; + } +} + +static SANE_Status +control_option (pixma_sane_t * ss, SANE_Int n, + SANE_Action a, void *v, SANE_Int * info) +{ + int result, i; + const pixma_config_t *cfg; + SANE_Int dummy; + + /* info may be null, better to set a dummy here then test everywhere */ + if (info == NULL) + info = &dummy; + + cfg = pixma_get_config (ss->s); + + /* PDBG (pixma_dbg (4, "*control_option***** n = %u, a = %u\n", n, a)); */ + + /* first deal with options that require special treatment */ + result = SANE_STATUS_UNSUPPORTED; + switch (n) + { + case opt_gamma_table: + switch (a) + { + case SANE_ACTION_SET_VALUE: + clamp_value (ss, n, v, info); + for (i = 0; i != 4096; i++) + ss->gamma_table[i] = *((SANE_Int *) v + i); + break; + case SANE_ACTION_GET_VALUE: + for (i = 0; i != 4096; i++) + *((SANE_Int *) v + i) = ss->gamma_table[i]; + break; + case SANE_ACTION_SET_AUTO: + pixma_fill_gamma_table (AUTO_GAMMA, ss->gamma_table, + sizeof (ss->gamma_table)); + break; + default: + return SANE_STATUS_UNSUPPORTED; + } + return SANE_STATUS_GOOD; + + case opt_button_update: + if (a == SANE_ACTION_SET_VALUE) + { + update_button_state (ss, info); + return SANE_STATUS_GOOD; + } + else + { + return SANE_STATUS_INVAL; + } + break; + case opt_button_1: + case opt_button_2: + case opt_original: + case opt_target: + case opt_scan_resolution: + /* poll scanner if option is not cached */ + if (! ss->button_option_is_cached[ BUTTON_GROUP_INDEX(n) ] ) + update_button_state (ss, info); + /* mark this option as read */ + ss->button_option_is_cached[ BUTTON_GROUP_INDEX(n) ] = 0; + } + + /* now deal with getting and setting of options */ + switch (SOD (n).type) + { + case SANE_TYPE_BOOL: + case SANE_TYPE_INT: + case SANE_TYPE_FIXED: + result = control_scalar_option (ss, n, a, v, info); + break; + case SANE_TYPE_STRING: + result = control_string_option (ss, n, a, v, info); + break; + case SANE_TYPE_BUTTON: + case SANE_TYPE_GROUP: + PDBG (pixma_dbg (1, "BUG:control_option():Unhandled option\n")); + result = SANE_STATUS_INVAL; + break; + } + if (result != SANE_STATUS_GOOD) + return result; + + /* deal with dependencies between options */ + switch (n) + { + case opt_custom_gamma: + if (a == SANE_ACTION_SET_VALUE || a == SANE_ACTION_SET_AUTO) + { + if (enable_option (ss, opt_gamma_table, OVAL (opt_custom_gamma).b)) + *info |= SANE_INFO_RELOAD_OPTIONS; + } + break; + case opt_gamma: + if (a == SANE_ACTION_SET_VALUE || a == SANE_ACTION_SET_AUTO) + { + /* PDBG (pixma_dbg (4, "*control_option***** gamma = %f *\n", + SANE_UNFIX (OVAL (opt_gamma).w))); */ + pixma_fill_gamma_table (SANE_UNFIX (OVAL (opt_gamma).w), + ss->gamma_table, sizeof (ss->gamma_table)); + } + break; + case opt_mode: + if (cfg->cap & (PIXMA_CAP_48BIT|PIXMA_CAP_LINEART|PIXMA_CAP_TPUIR) + && (a == SANE_ACTION_SET_VALUE || a == SANE_ACTION_SET_AUTO)) + { /* new mode selected: Color, Gray, ... */ + /* PDBG (pixma_dbg (4, "*control_option***** mode = %u *\n", + ss->mode_map[OVAL (opt_mode).w])); */ + /* recreate dynamic lists */ + create_dpi_list (ss); + if (ss->mode_map[OVAL (opt_mode).w] == PIXMA_SCAN_MODE_LINEART) + { /* lineart */ + enable_option (ss, opt_threshold, SANE_TRUE); + enable_option (ss, opt_threshold_curve, SANE_TRUE); + } + else + { /* all other modes */ + enable_option (ss, opt_threshold, SANE_FALSE); + enable_option (ss, opt_threshold_curve, SANE_FALSE); + } + *info |= SANE_INFO_RELOAD_OPTIONS; + } + break; + case opt_source: + if ((cfg->cap & (PIXMA_CAP_ADF|PIXMA_CAP_ADFDUP|PIXMA_CAP_TPU)) + && (a == SANE_ACTION_SET_VALUE || a == SANE_ACTION_SET_AUTO)) + { /* new source selected: flatbed, ADF, TPU, ... */ + /* to avoid fatal errors, + * select first entry of dynamic mode_list + * identifiers are unknown here */ + OVAL (opt_mode).w = ss->mode_map[0]; + /* recreate dynamic lists */ + create_mode_list (ss); + create_dpi_list (ss); + /* to avoid fatal errors, + * select first entry of dynamic dpi_list + * identifiers are unknown here */ + OVAL (opt_resolution).w = ss->dpi_list[1]; + if (ss->mode_map[OVAL (opt_mode).w] == PIXMA_SCAN_MODE_LINEART) + { /* lineart */ + enable_option (ss, opt_threshold, SANE_TRUE); + enable_option (ss, opt_threshold_curve, SANE_TRUE); + } + else + { /* all other modes */ + enable_option (ss, opt_threshold, SANE_FALSE); + enable_option (ss, opt_threshold_curve, SANE_FALSE); + } + if (cfg->cap & (PIXMA_CAP_ADF_WAIT)) + { /* adf-wait */ + enable_option (ss, opt_adf_wait, SANE_TRUE); + } + else + { /* disable adf-wait */ + enable_option (ss, opt_adf_wait, SANE_FALSE); + } + *info |= SANE_INFO_RELOAD_OPTIONS; + } + break; + } + + return result; +} + +#ifndef NDEBUG +static void +print_scan_param (int level, const pixma_scan_param_t * sp) +{ + pixma_dbg (level, "Scan parameters\n"); + pixma_dbg (level, " line_size=%"PRIu64" image_size=%"PRIu64" channels=%u depth=%u\n", + sp->line_size, sp->image_size, sp->channels, sp->depth); + pixma_dbg (level, " dpi=%ux%u offset=(%u,%u) dimension=%ux%u\n", + sp->xdpi, sp->ydpi, sp->x, sp->y, sp->w, sp->h); + pixma_dbg (level, " gamma_table=%p source=%d\n", sp->gamma_table, + sp->source); + pixma_dbg (level, " adf-wait=%d\n", sp->adf_wait); +} +#endif + +static int +calc_scan_param (pixma_sane_t * ss, pixma_scan_param_t * sp) +{ + int x1, y1, x2, y2; + int error; + + memset (sp, 0, sizeof (*sp)); + + sp->channels = (OVAL (opt_mode).w == 0) ? 3 : 1; + sp->depth = (OVAL (opt_mode).w == 2) ? 1 : 8; + sp->xdpi = sp->ydpi = OVAL (opt_resolution).w; + +#define PIXEL(x,dpi) (int)((SANE_UNFIX(x) / 25.4 * (dpi)) + 0.5) + x1 = PIXEL (OVAL (opt_tl_x).w, sp->xdpi); + x2 = PIXEL (OVAL (opt_br_x).w, sp->xdpi); + if (x2 < x1) + { + int temp = x1; + x1 = x2; + x2 = temp; + } + y1 = PIXEL (OVAL (opt_tl_y).w, sp->ydpi); + y2 = PIXEL (OVAL (opt_br_y).w, sp->ydpi); + if (y2 < y1) + { + int temp = y1; + y1 = y2; + y2 = temp; + } +#undef PIXEL + sp->x = x1; + sp->y = y1; + sp->w = x2 - x1; + sp->h = y2 - y1; + if (sp->w == 0) + sp->w = 1; + if (sp->h == 0) + sp->h = 1; + sp->tpu_offset_added = 0; + + sp->gamma_table = (OVAL (opt_custom_gamma).b) ? ss->gamma_table : NULL; + sp->source = ss->source_map[OVAL (opt_source).w]; + sp->mode = ss->mode_map[OVAL (opt_mode).w]; + sp->adf_pageid = ss->page_count; + sp->threshold = 2.55 * OVAL (opt_threshold).w; + sp->threshold_curve = OVAL (opt_threshold_curve).w; + sp->adf_wait = OVAL (opt_adf_wait).w; + + error = pixma_check_scan_param (ss->s, sp); + if (error < 0) + { + PDBG (pixma_dbg (1, "BUG:calc_scan_param() failed %d\n", error)); + PDBG (print_scan_param (1, sp)); + } + return error; +} + +static void +init_option_descriptors (pixma_sane_t * ss) +{ + const pixma_config_t *cfg; + int i; + + cfg = pixma_get_config (ss->s); + + /* setup range for the scan area. */ + ss->xrange.min = SANE_FIX (0); + ss->xrange.max = SANE_FIX (cfg->width / 75.0 * 25.4); + ss->xrange.quant = SANE_FIX (0); + + ss->yrange.min = SANE_FIX (0); + ss->yrange.max = SANE_FIX (cfg->height / 75.0 * 25.4); + ss->yrange.quant = SANE_FIX (0); + + /* mode_list and source_list were already NULL-terminated, + * because the whole pixma_sane_t was cleared during allocation. */ + + /* setup available mode. */ + create_mode_list (ss); + + /* setup dpi up to the value supported by the scanner. */ + create_dpi_list (ss); + + /* setup paper source */ + i = 0; + ss->source_list[i] = SANE_I18N ("Flatbed"); + ss->source_map[i] = PIXMA_SOURCE_FLATBED; + i++; + if (cfg->cap & PIXMA_CAP_ADF) + { + ss->source_list[i] = SANE_I18N ("Automatic Document Feeder"); + ss->source_map[i] = PIXMA_SOURCE_ADF; + i++; + } + if ((cfg->cap & PIXMA_CAP_ADFDUP) == PIXMA_CAP_ADFDUP) + { + ss->source_list[i] = SANE_I18N ("ADF Duplex"); + ss->source_map[i] = PIXMA_SOURCE_ADFDUP; + i++; + } + if (cfg->cap & PIXMA_CAP_TPU) + { + ss->source_list[i] = SANE_I18N ("Transparency Unit"); + ss->source_map[i] = PIXMA_SOURCE_TPU; + i++; + } + + build_option_descriptors (ss); + + /* Enable options that are available only in some scanners. */ + if (cfg->cap & PIXMA_CAP_GAMMA_TABLE) + { + enable_option (ss, opt_gamma, SANE_TRUE); + enable_option (ss, opt_custom_gamma, SANE_TRUE); + sane_control_option (ss, opt_custom_gamma, SANE_ACTION_SET_AUTO, + NULL, NULL); + pixma_fill_gamma_table (AUTO_GAMMA, ss->gamma_table, 4096); + } + enable_option (ss, opt_button_controlled, + ((cfg->cap & PIXMA_CAP_EVENTS) != 0)); +} + +/* Writing to reader_ss outside reader_process() is a BUG! */ +static pixma_sane_t *reader_ss = NULL; + +static void +reader_signal_handler (int sig) +{ + if (reader_ss) + { + reader_ss->reader_stop = SANE_TRUE; + /* reader process is ended by SIGTERM, so no cancel in this case */ + if (sig != SIGTERM) + pixma_cancel (reader_ss->s); + } +} + +static int +write_all (pixma_sane_t * ss, void *buf_, size_t size) +{ + uint8_t *buf = (uint8_t *) buf_; + int count; + + while (size != 0 && !ss->reader_stop) + { + count = write (ss->wpipe, buf, size); + if (count == -1 && errno != EINTR) + break; + if (count == -1 && errno == EINTR) + continue; + buf += count; + size -= count; + } + return buf - (uint8_t *) buf_; +} + +/* NOTE: reader_loop() runs either in a separate thread or process. */ +static SANE_Status +reader_loop (pixma_sane_t * ss) +{ + void *buf; + unsigned bufsize; + int count = 0; + + PDBG (pixma_dbg (3, "Reader task started\n")); + /*bufsize = ss->sp.line_size + 1;*/ /* XXX: "odd" bufsize for testing pixma_read_image() */ + bufsize = ss->sp.line_size; /* bufsize EVEN needed by Xsane for 48 bits depth */ + buf = malloc (bufsize); + if (!buf) + { + count = PIXMA_ENOMEM; + goto done; + } + + count = pixma_activate_connection (ss->s); + if (count < 0) + goto done; + + pixma_enable_background (ss->s, 1); + if (OVAL (opt_button_controlled).b && ss->page_count == 0) + { + int start = 0; +#ifndef NDEBUG + pixma_dbg (1, "==== Button-controlled scan mode is enabled.\n"); + pixma_dbg (1, "==== To proceed, press 'SCAN' or 'COLOR' button. " + "To cancel, press 'GRAY' or 'END' button.\n"); +#endif + while (pixma_wait_event (ss->s, 10) != 0) + { + } + while (!start) + { + uint32_t events; + if (ss->reader_stop) + { + count = PIXMA_ECANCELED; + goto done; + } + events = pixma_wait_event (ss->s, 1000); + switch (events & ~PIXMA_EV_ACTION_MASK) + { + case PIXMA_EV_BUTTON1: + start = 1; + break; + case PIXMA_EV_BUTTON2: + count = PIXMA_ECANCELED; + goto done; + } + } + } + count = pixma_scan (ss->s, &ss->sp); + if (count >= 0) + { + while ((count = pixma_read_image (ss->s, buf, bufsize)) > 0) + { + if (write_all (ss, buf, count) != count) + pixma_cancel (ss->s); + } + } + +done: + pixma_enable_background (ss->s, 0); + pixma_deactivate_connection (ss->s); + free (buf); + close (ss->wpipe); + ss->wpipe = -1; + if (count >= 0) + { + PDBG (pixma_dbg (3, "Reader task terminated\n")); + } + else + { + PDBG (pixma_dbg + (2, "Reader task terminated: %s\n", pixma_strerror (count))); + } + return map_error (count); +} + +static int +reader_process (void *arg) +{ + pixma_sane_t *ss = (pixma_sane_t *) arg; + struct SIGACTION sa; + + reader_ss = ss; + memset (&sa, 0, sizeof (sa)); + sigemptyset (&sa.sa_mask); + sa.sa_handler = reader_signal_handler; + /* FIXME: which signal else? */ + sigaction (SIGHUP, &sa, NULL); + sigaction (SIGINT, &sa, NULL); + sigaction (SIGPIPE, &sa, NULL); + sigaction (SIGTERM, &sa, NULL); + close (ss->rpipe); + ss->rpipe = -1; + return reader_loop (ss); +} + +static int +reader_thread (void *arg) +{ + pixma_sane_t *ss = (pixma_sane_t *) arg; +#ifdef USE_PTHREAD + /* Block SIGPIPE. We will handle this in reader_loop() by checking + ss->reader_stop and the return value from write(). */ + sigset_t sigs; + sigemptyset (&sigs); + sigaddset (&sigs, SIGPIPE); + pthread_sigmask (SIG_BLOCK, &sigs, NULL); +#endif /* USE_PTHREAD */ + return reader_loop (ss); +} + +static SANE_Pid +terminate_reader_task (pixma_sane_t * ss, int *exit_code) +{ + SANE_Pid result, pid; + int status = 0; + + pid = ss->reader_taskid; + if (!sanei_thread_is_valid (pid)) + return pid; + if (sanei_thread_is_forked ()) + { + sanei_thread_kill (pid); + } + else + { + ss->reader_stop = SANE_TRUE; +/* pixma_cancel (ss->s); What is this for ? Makes end-of-scan buggy => removing */ + } + result = sanei_thread_waitpid (pid, &status); + sanei_thread_invalidate (ss->reader_taskid); + + if (ss->sp.source != PIXMA_SOURCE_ADF && ss->sp.source != PIXMA_SOURCE_ADFDUP) + ss->idle = SANE_TRUE; + + if (result == pid) + { + if (exit_code) + *exit_code = status; + return pid; + } + else + { + PDBG (pixma_dbg (1, "WARNING:waitpid() failed %s\n", strerror (errno))); + sanei_thread_invalidate (pid); + return pid; + } +} + +static int +start_reader_task (pixma_sane_t * ss) +{ + int fds[2]; + SANE_Pid pid; + int is_forked; + + if (ss->rpipe != -1 || ss->wpipe != -1) + { + PDBG (pixma_dbg + (1, "BUG:rpipe = %d, wpipe = %d\n", ss->rpipe, ss->wpipe)); + close (ss->rpipe); + close (ss->wpipe); + ss->rpipe = -1; + ss->wpipe = -1; + } + if (sanei_thread_is_valid (ss->reader_taskid)) + { + PDBG (pixma_dbg + (1, "BUG:reader_taskid(%ld) != -1\n", (long) ss->reader_taskid)); + terminate_reader_task (ss, NULL); + } + if (pipe (fds) == -1) + { + PDBG (pixma_dbg (1, "ERROR:start_reader_task():pipe() failed %s\n", + strerror (errno))); + return PIXMA_ENOMEM; + } + ss->rpipe = fds[0]; + ss->wpipe = fds[1]; + ss->reader_stop = SANE_FALSE; + + is_forked = sanei_thread_is_forked (); + if (is_forked) + { + pid = sanei_thread_begin (reader_process, ss); + if (sanei_thread_is_valid (pid)) + { + close (ss->wpipe); + ss->wpipe = -1; + } + } + else + { + pid = sanei_thread_begin (reader_thread, ss); + } + if (!sanei_thread_is_valid (pid)) + { + close (ss->wpipe); + close (ss->rpipe); + ss->wpipe = -1; + ss->rpipe = -1; + PDBG (pixma_dbg (1, "ERROR:unable to start reader task\n")); + return PIXMA_ENOMEM; + } + PDBG (pixma_dbg (3, "Reader task id=%ld (%s)\n", (long) pid, + (is_forked) ? "forked" : "threaded")); + ss->reader_taskid = pid; + return 0; +} + +/* libJPEG API callbacks */ +static void +jpeg_init_source(j_decompress_ptr __sane_unused__ cinfo) +{ + /* No-op */ +} + +static void +jpeg_term_source(j_decompress_ptr __sane_unused__ cinfo) +{ + /* No-op */ +} + +static boolean +jpeg_fill_input_buffer(j_decompress_ptr cinfo) +{ + pixma_jpeg_src_mgr *mgr = (pixma_jpeg_src_mgr *)cinfo->src; + int size; + int retry; + + for (retry = 0; retry < 30; retry ++ ) + { + size = read (mgr->s->rpipe, mgr->buffer, 1024); + if (size == 0) + { + return FALSE; + } + else if (size < 0) + { + sleep (1); + } + else + { + mgr->jpeg.next_input_byte = mgr->buffer; + mgr->jpeg.bytes_in_buffer = size; + return TRUE; + } + } + + return FALSE; +} + +static void +jpeg_skip_input_data(j_decompress_ptr cinfo, long num_bytes) +{ + pixma_jpeg_src_mgr *mgr = (pixma_jpeg_src_mgr *)cinfo->src; + + if (num_bytes > 0) + { + /* Read and throw away extra */ + while (num_bytes > (long)mgr->jpeg.bytes_in_buffer) + { + num_bytes -= (long)mgr->jpeg.bytes_in_buffer; + jpeg_fill_input_buffer(cinfo); + } + + /* Update jpeg info structure with leftover */ + mgr->jpeg.next_input_byte += (size_t) num_bytes; + mgr->jpeg.bytes_in_buffer -= (size_t) num_bytes; + } +} + +/* Pixma JPEG reader helpers */ +static SANE_Status +pixma_jpeg_start(pixma_sane_t *s) +{ + pixma_jpeg_src_mgr *mgr; + + s->jpeg_cinfo.err = jpeg_std_error(&s->jpeg_err); + + jpeg_create_decompress(&s->jpeg_cinfo); + + s->jpeg_cinfo.src = (struct jpeg_source_mgr *)(*s->jpeg_cinfo.mem->alloc_small)((j_common_ptr)&s->jpeg_cinfo, + JPOOL_PERMANENT, sizeof(pixma_jpeg_src_mgr)); + + memset(s->jpeg_cinfo.src, 0, sizeof(pixma_jpeg_src_mgr)); + + mgr = (pixma_jpeg_src_mgr *)s->jpeg_cinfo.src; + mgr->s = s; + + mgr->buffer = (JOCTET *)(*s->jpeg_cinfo.mem->alloc_small)((j_common_ptr)&s->jpeg_cinfo, + JPOOL_PERMANENT, + 1024 * sizeof(JOCTET)); + + mgr->jpeg.init_source = jpeg_init_source; + mgr->jpeg.fill_input_buffer = jpeg_fill_input_buffer; + mgr->jpeg.skip_input_data = jpeg_skip_input_data; + mgr->jpeg.resync_to_restart = jpeg_resync_to_restart; + mgr->jpeg.term_source = jpeg_term_source; + mgr->jpeg.bytes_in_buffer = 0; + mgr->jpeg.next_input_byte = NULL; + + s->jpeg_header_seen = 0; + + return SANE_STATUS_GOOD; +} + +static SANE_Status +pixma_jpeg_read_header(pixma_sane_t *s) +{ + pixma_jpeg_src_mgr *src = (pixma_jpeg_src_mgr *)s->jpeg_cinfo.src; + + if (jpeg_read_header(&s->jpeg_cinfo, TRUE)) + { + s->jdst = sanei_jpeg_jinit_write_ppm(&s->jpeg_cinfo); + + if (jpeg_start_decompress(&s->jpeg_cinfo)) + { + int size; + + DBG(3, "%s: w: %d, h: %d, components: %d\n", + __func__, + s->jpeg_cinfo.output_width, s->jpeg_cinfo.output_height, + s->jpeg_cinfo.output_components); + + size = s->jpeg_cinfo.output_width * s->jpeg_cinfo.output_components * 1; + + src->linebuffer = (*s->jpeg_cinfo.mem->alloc_large)((j_common_ptr)&s->jpeg_cinfo, + JPOOL_PERMANENT, size); + + src->linebuffer_size = 0; + src->linebuffer_index = 0; + + s->jpeg_header_seen = 1; + + return SANE_STATUS_GOOD; + } + else + { + DBG(0, "%s: decompression failed\n", __func__); + return SANE_STATUS_IO_ERROR; + } + } + else + { + DBG(0, "%s: cannot read JPEG header\n", __func__); + return SANE_STATUS_IO_ERROR; + } +} + +static void +pixma_jpeg_finish(pixma_sane_t *ss) +{ + jpeg_destroy_decompress(&ss->jpeg_cinfo); +} + +static void +pixma_jpeg_read(pixma_sane_t *ss, SANE_Byte *data, + SANE_Int max_length, SANE_Int *length) +{ + struct jpeg_decompress_struct cinfo = ss->jpeg_cinfo; + pixma_jpeg_src_mgr *src = (pixma_jpeg_src_mgr *)ss->jpeg_cinfo.src; + + int l; + + *length = 0; + + /* copy from line buffer if available */ + if (src->linebuffer_size && src->linebuffer_index < src->linebuffer_size) + { + *length = src->linebuffer_size - src->linebuffer_index; + + if (*length > max_length) + *length = max_length; + + memcpy(data, src->linebuffer + src->linebuffer_index, *length); + src->linebuffer_index += *length; + + return; + } + + if (cinfo.output_scanline >= cinfo.output_height) + { + *length = 0; + return; + } + + /* scanlines of decompressed data will be in ss->jdst->buffer + * only one line at time is supported + */ + + l = jpeg_read_scanlines(&cinfo, ss->jdst->buffer, 1); + if (l == 0) + return; + + /* from ss->jdst->buffer to linebuffer + * linebuffer holds width * bytesperpixel + */ + + (*ss->jdst->put_pixel_rows)(&cinfo, ss->jdst, 1, (char *)src->linebuffer); + + *length = ss->sp.w * ss->sp.channels; + /* Convert RGB into grayscale */ + if (ss->sp.channels == 1) + { + unsigned int i; + unsigned char *d = (unsigned char *)src->linebuffer; + unsigned char *s = (unsigned char *)src->linebuffer; + for (i = 0; i < ss->sp.w; i++) + { + /* Using BT.709 luma formula, fixed-point */ + int sum = ( s[0]*2126 + s[1]*7152 + s[2]*722 ); + *d = sum / 10000; + d ++; + s += 3; + } + } + + /* Maybe pack into lineary binary image */ + if (ss->sp.depth == 1) + { + *length /= 8; + unsigned int i; + unsigned char *d = (unsigned char *)src->linebuffer; + unsigned char *s = (unsigned char *)src->linebuffer; + unsigned char b = 0; + for (i = 1; i < ss->sp.w + 1; i++) + { + if (*(s++) > 127) + b = (b << 1) | 0; + else + b = (b << 1) | 1; + } + if ((i % 8) == 0) + *(d++) = b; + } + + src->linebuffer_size = *length; + src->linebuffer_index = 0; + + if (*length > max_length) + *length = max_length; + + memcpy(data, src->linebuffer + src->linebuffer_index, *length); + src->linebuffer_index += *length; +} + + + +static SANE_Status +read_image (pixma_sane_t * ss, void *buf, unsigned size, int *readlen) +{ + int count, status; + + if (readlen) + *readlen = 0; + if (ss->image_bytes_read >= ss->sp.image_size) + return SANE_STATUS_EOF; + + do + { + if (ss->cancel) + /* ss->rpipe has already been closed by sane_cancel(). */ + return SANE_STATUS_CANCELLED; + if (ss->sp.mode_jpeg && !ss->jpeg_header_seen) + { + status = pixma_jpeg_read_header(ss); + if (status != SANE_STATUS_GOOD) + { + close (ss->rpipe); + pixma_jpeg_finish(ss); + ss->rpipe = -1; + if (sanei_thread_is_valid (terminate_reader_task (ss, &status)) + && status != SANE_STATUS_GOOD) + { + return status; + } + else + { + /* either terminate_reader_task failed or + rpipe was closed but we expect more data */ + return SANE_STATUS_IO_ERROR; + } + } + } + + if (ss->sp.mode_jpeg) + { + count = -1; + pixma_jpeg_read(ss, buf, size, &count); + } + else + count = read (ss->rpipe, buf, size); + } + while (count == -1 && errno == EINTR); + + if (count == -1) + { + if (errno == EAGAIN) + return SANE_STATUS_GOOD; + if (!ss->cancel) + { + PDBG (pixma_dbg (1, "WARNING:read_image():read() failed %s\n", + strerror (errno))); + } + close (ss->rpipe); + ss->rpipe = -1; + terminate_reader_task (ss, NULL); + if (ss->sp.mode_jpeg) + pixma_jpeg_finish(ss); + return SANE_STATUS_IO_ERROR; + } + + /* here count >= 0 */ + ss->image_bytes_read += count; + if (ss->image_bytes_read > ss->sp.image_size) + { + PDBG (pixma_dbg (1, "BUG:ss->image_bytes_read > ss->sp.image_size\n")); + } + if (ss->image_bytes_read >= ss->sp.image_size) + { + close (ss->rpipe); + ss->rpipe = -1; + terminate_reader_task (ss, NULL); + if (ss->sp.mode_jpeg) + pixma_jpeg_finish(ss); + } + else if (count == 0) + { + PDBG (pixma_dbg (3, "read_image():reader task closed the pipe:%" + PRIu64" bytes received, %"PRIu64" bytes expected\n", + ss->image_bytes_read, ss->sp.image_size)); + close (ss->rpipe); + if (ss->sp.mode_jpeg) + pixma_jpeg_finish(ss); + ss->rpipe = -1; + if (sanei_thread_is_valid (terminate_reader_task (ss, &status)) + && status != SANE_STATUS_GOOD) + { + return status; + } + else + { + /* either terminate_reader_task failed or + rpipe was closed but we expect more data */ + return SANE_STATUS_IO_ERROR; + } + } + if (readlen) + *readlen = count; + return SANE_STATUS_GOOD; +} + + +/******************************************************************* + ** SANE API + *******************************************************************/ +SANE_Status +sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize) +{ + int status, myversion, i; + SANEI_Config config; + + UNUSED (authorize); + + if (!version_code) + return SANE_STATUS_INVAL; + myversion = 100 * PIXMA_VERSION_MAJOR + PIXMA_VERSION_MINOR; + *version_code = SANE_VERSION_CODE (SANE_CURRENT_MAJOR, V_MINOR, myversion); + DBG_INIT (); + sanei_thread_init (); + pixma_set_debug_level (DBG_LEVEL); + + PDBG(pixma_dbg(2, "pixma is compiled %s pthread support.\n", + (sanei_thread_is_forked () ? "without" : "with"))); + + for (i = 0; i < MAX_CONF_DEVICES; i++) + conf_devices[i] = NULL; + + config.count = 0; + config.descriptors = NULL; + config.values = NULL; + + if (sanei_configure_attach(PIXMA_CONFIG_FILE, &config, config_attach_pixma) != + SANE_STATUS_GOOD) + PDBG(pixma_dbg(2, "Could not read pixma configuration file: %s\n", + PIXMA_CONFIG_FILE)); + + status = pixma_init (); + if (status < 0) + { + PDBG (pixma_dbg (2, "pixma_init() failed %s\n", pixma_strerror (status))); + } + return map_error (status); +} + +void +sane_exit (void) +{ + while (first_scanner) + sane_close (first_scanner); + cleanup_device_list (); + pixma_cleanup (); +} + +SANE_Status +sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only) +{ + if (!device_list) + return SANE_STATUS_INVAL; + find_scanners (local_only); + *device_list = dev_list; + return (dev_list) ? SANE_STATUS_GOOD : SANE_STATUS_NO_MEM; +} + +SANE_Status +sane_open (SANE_String_Const name, SANE_Handle * h) +{ + unsigned i, j, nscanners; + int error = 0; + pixma_sane_t *ss = NULL; + const pixma_config_t *cfg; + + if (!name || !h) + return SANE_STATUS_INVAL; + + *h = NULL; + nscanners = pixma_find_scanners (conf_devices, SANE_FALSE); + if (nscanners == 0) + return SANE_STATUS_INVAL; + if (name[0] == '\0') + name = pixma_get_device_id (0); + + /* Have we already opened the scanner? */ + for (ss = first_scanner; ss; ss = ss->next) + { + if (strcmp (pixma_get_string (ss->s, PIXMA_STRING_ID), name) == 0) + { + /* We have already opened it! */ + return SANE_STATUS_DEVICE_BUSY; + } + } + + i = 0; + while (strcmp (pixma_get_device_id (i), name) != 0) + { + if (++i >= nscanners) + return SANE_STATUS_INVAL; + } + cfg = pixma_get_device_config (i); + if ((cfg->cap & PIXMA_CAP_EXPERIMENT) != 0) + { +#ifndef NDEBUG + pixma_dbg (1, "WARNING:" + "Experimental backend CAN DAMAGE your hardware!\n"); + if (getenv_atoi ("PIXMA_EXPERIMENT", 0) == 0) + { + pixma_dbg (1, "Experimental SANE backend for %s is disabled " + "by default.\n", pixma_get_device_model (i)); + pixma_dbg (1, "To enable it, set the environment variable " + "PIXMA_EXPERIMENT to non-zero.\n"); + return SANE_STATUS_UNSUPPORTED; + } +#else + return SANE_STATUS_UNSUPPORTED; +#endif + } + + ss = (pixma_sane_t *) calloc (1, sizeof (*ss)); + if (!ss) + return SANE_STATUS_NO_MEM; + ss->next = first_scanner; + first_scanner = ss; + sanei_thread_initialize (ss->reader_taskid); + ss->wpipe = -1; + ss->rpipe = -1; + ss->idle = SANE_TRUE; + ss->scanning = SANE_FALSE; + ss->sp.frontend_cancel = SANE_FALSE; + for (j=0; j < BUTTON_GROUP_SIZE; j++) + ss->button_option_is_cached[j] = 0; + error = pixma_open (i, &ss->s); + if (error < 0) + { + sane_close (ss); + return map_error (error); + } + pixma_enable_background (ss->s, 0); + init_option_descriptors (ss); + *h = ss; + return SANE_STATUS_GOOD; +} + +void +sane_close (SANE_Handle h) +{ + pixma_sane_t **p, *ss; + + for (p = &first_scanner; *p && *p != (pixma_sane_t *) h; p = &((*p)->next)) + { + } + if (!(*p)) + return; + ss = *p; + sane_cancel (ss); + pixma_close (ss->s); + *p = ss->next; + free (ss); +} + +const SANE_Option_Descriptor * +sane_get_option_descriptor (SANE_Handle h, SANE_Int n) +{ + DECL_CTX; + + if (ss && 0 <= n && n < opt_last) + return &SOD (n); + return NULL; +} + +SANE_Status +sane_control_option (SANE_Handle h, SANE_Int n, + SANE_Action a, void *v, SANE_Int * i) +{ + DECL_CTX; + SANE_Int info = 0; + int error; + option_descriptor_t *opt; + + if (i) + *i = 0; + if (!ss) + return SANE_STATUS_INVAL; + if (n < 0 || n >= opt_last) + return SANE_STATUS_UNSUPPORTED; + if (!ss->idle && a != SANE_ACTION_GET_VALUE) + { + PDBG (pixma_dbg (3, "Warning: !idle && !SANE_ACTION_GET_VALUE\n")); + if (ss->sp.source != PIXMA_SOURCE_ADF && ss->sp.source != PIXMA_SOURCE_ADFDUP) + return SANE_STATUS_INVAL; + } + + opt = &(OPT_IN_CTX[n]); + if (!SANE_OPTION_IS_ACTIVE (opt->sod.cap)) + return SANE_STATUS_INVAL; + switch (a) + { + case SANE_ACTION_SET_VALUE: + if ((opt->sod.type != SANE_TYPE_BUTTON && !v) || + !SANE_OPTION_IS_SETTABLE (opt->sod.cap)) + return SANE_STATUS_INVAL; /* or _UNSUPPORTED? */ + break; + case SANE_ACTION_SET_AUTO: + if (!(opt->sod.cap & SANE_CAP_AUTOMATIC) || + !SANE_OPTION_IS_SETTABLE (opt->sod.cap)) + return SANE_STATUS_INVAL; /* or _UNSUPPORTED? */ + break; + case SANE_ACTION_GET_VALUE: + if (!v || !(opt->sod.cap & SANE_CAP_SOFT_DETECT)) + return SANE_STATUS_INVAL; /* or _UNSUPPORTED? */ + break; + default: + return SANE_STATUS_UNSUPPORTED; + } + + error = control_option (ss, n, a, v, &info); + if (error == SANE_STATUS_GOOD && i) + *i = info; + return error; +} + +SANE_Status +sane_get_parameters (SANE_Handle h, SANE_Parameters * p) +{ + DECL_CTX; + pixma_scan_param_t temp, *sp; + + if (!ss || !p) + return SANE_STATUS_INVAL; + + if (!ss->idle) + { + sp = &ss->sp; /* sp is calculated in sane_start() */ + } + else + { + calc_scan_param (ss, &temp); + sp = &temp; + } + p->format = (sp->channels == 3) ? SANE_FRAME_RGB : SANE_FRAME_GRAY; + p->last_frame = SANE_TRUE; + p->lines = sp->h; + p->depth = sp->depth; + p->pixels_per_line = sp->w; + /* p->bytes_per_line = sp->line_size; NOTE: It should work this way, but it doesn't. No SANE frontend can cope with this. */ + p->bytes_per_line = (sp->w * sp->channels * sp->depth) / 8; + return SANE_STATUS_GOOD; +} + +SANE_Status +sane_start (SANE_Handle h) +{ + DECL_CTX; + int error = 0; + + if (!ss) + return SANE_STATUS_INVAL; + if (!ss->idle && ss->scanning) + { + PDBG (pixma_dbg (3, "Warning in Sane_start: !idle && scanning. idle=%d, ss->scanning=%d\n", + ss->idle, ss->scanning)); + if (ss->sp.source != PIXMA_SOURCE_ADF && ss->sp.source != PIXMA_SOURCE_ADFDUP) + return SANE_STATUS_INVAL; + } + + ss->cancel = SANE_FALSE; + if (ss->idle || + ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_FLATBED || + ss->source_map[OVAL (opt_source).w] == PIXMA_SOURCE_TPU) + ss->page_count = 0; /* start from idle state or scan from flatbed or TPU */ + else + ss->page_count++; + if (calc_scan_param (ss, &ss->sp) < 0) + return SANE_STATUS_INVAL; + + /* Prepare the JPEG decompressor, if needed */ + if (ss->sp.mode_jpeg) + { + SANE_Status status; + status = pixma_jpeg_start(ss); + if (status != SANE_STATUS_GOOD) + { + PDBG (pixma_dbg(1, "%s: pixma_jpeg_start: %s\n", __func__, sane_strstatus(status)) ); + return status; + } + } + + ss->image_bytes_read = 0; + /* TODO: Check paper here in sane_start(). A function like + pixma_get_status() is needed. */ + error = start_reader_task (ss); + if (error >= 0) + { + ss->output_line_size = (ss->sp.w * ss->sp.channels * ss->sp.depth) / 8; + ss->byte_pos_in_line = 0; + ss->last_read_status = SANE_STATUS_GOOD; + ss->scanning = SANE_TRUE; + ss->idle = SANE_FALSE; + if (ss->sp.mode_jpeg && !ss->jpeg_header_seen) + { + SANE_Status status; + status = pixma_jpeg_read_header(ss); + if (status != SANE_STATUS_GOOD) + { + close (ss->rpipe); + pixma_jpeg_finish(ss); + ss->rpipe = -1; + if (sanei_thread_is_valid (terminate_reader_task (ss, &error)) + && error != SANE_STATUS_GOOD) + { + return error; + } + } + } + } + return map_error (error); +} + +SANE_Status +sane_read (SANE_Handle h, SANE_Byte * buf, SANE_Int maxlen, SANE_Int * len) +{ + DECL_CTX; + int sum, n; + /* Due to 32 pixels alignment, sizeof(temp) is to be greater than: + * max(nchannels) * max (sp.line_size - output_line_size) + * so currently: 3 * 32 = 96 for better end line cropping efficiency */ + SANE_Byte temp[100]; + SANE_Status status; + + if (len) + *len = 0; + if (!ss || !buf || !len) + return SANE_STATUS_INVAL; + if (ss->cancel) + return SANE_STATUS_CANCELLED; + if ((ss->idle) + && (ss->sp.source == PIXMA_SOURCE_ADF || ss->sp.source == PIXMA_SOURCE_ADFDUP)) + return SANE_STATUS_INVAL; + if (!ss->scanning) + return ss->last_read_status; + + status = SANE_STATUS_GOOD; + /* CCD scanners use software lineart + * the scanner must scan 24 bit color or 8 bit grayscale for one bit lineart */ + if ((ss->sp.line_size - ((ss->sp.software_lineart == 1) ? (ss->output_line_size * 8) : ss->output_line_size)) == 0) + { + status = read_image (ss, buf, maxlen, &sum); + } + else + { + /* FIXME: Because there is no frontend that can cope with padding at + the end of line, we've to remove it here in the backend! */ + PDBG (pixma_dbg (1, "*sane_read***** Warning: padding may cause incomplete scan results\n")); + sum = 0; + while (sum < maxlen) + { + if (ss->byte_pos_in_line < ss->output_line_size) + { + n = ss->output_line_size - ss->byte_pos_in_line; + if ((maxlen - sum) < n) + n = maxlen - sum; + status = read_image (ss, buf, n, &n); + if (n == 0) + break; + sum += n; + buf += n; + ss->byte_pos_in_line += n; + } + else + { + /* skip padding */ + n = ss->sp.line_size - ss->byte_pos_in_line; + if (n > (int) sizeof (temp)) + { + PDBG (pixma_dbg (3, "Inefficient skip buffer. Should be %d\n", n)); + n = sizeof (temp); + } + status = read_image (ss, temp, n, &n); + if (n == 0) + break; + ss->byte_pos_in_line += n; + if (ss->byte_pos_in_line == ss->sp.line_size) + ss->byte_pos_in_line = 0; + } + } + } + if (ss->cancel) + status = SANE_STATUS_CANCELLED; + else if ((status == SANE_STATUS_GOOD || status == SANE_STATUS_EOF) && + sum > 0) + { + *len = sum; + status = SANE_STATUS_GOOD; + } + ss->scanning = (status == SANE_STATUS_GOOD); + ss->last_read_status = status; + return status; +} + +void +sane_cancel (SANE_Handle h) +{ + DECL_CTX; + + if (!ss) + return; + ss->cancel = SANE_TRUE; + ss->sp.frontend_cancel = SANE_TRUE; + if (ss->idle) + return; + close (ss->rpipe); + if (ss->sp.mode_jpeg) + pixma_jpeg_finish(ss); + ss->rpipe = -1; + terminate_reader_task (ss, NULL); + ss->idle = SANE_TRUE; +} + +SANE_Status +sane_set_io_mode (SANE_Handle h, SANE_Bool m) +{ + DECL_CTX; + + if (!ss || ss->idle || ss->rpipe == -1) + return SANE_STATUS_INVAL; +#ifdef HAVE_FCNTL_H + PDBG (pixma_dbg (2, "Setting %sblocking mode\n", (m) ? "non-" : "")); + if (fcntl (ss->rpipe, F_SETFL, (m) ? O_NONBLOCK : 0) == -1) + { + PDBG (pixma_dbg + (1, "WARNING:fcntl(F_SETFL) failed %s\n", strerror (errno))); + return SANE_STATUS_UNSUPPORTED; + } + return SANE_STATUS_GOOD; +#else + return (m) ? SANE_STATUS_UNSUPPORTED : SANE_STATUS_GOOD; +#endif +} + +SANE_Status +sane_get_select_fd (SANE_Handle h, SANE_Int * fd) +{ + DECL_CTX; + + *fd = -1; + if (!ss || !fd || ss->idle || ss->rpipe == -1) + return SANE_STATUS_INVAL; + *fd = ss->rpipe; + return SANE_STATUS_GOOD; +} + +/* +BEGIN SANE_Option_Descriptor + +rem ------------------------------------------- +type group + title Scan mode + +type int resolution + unit dpi + constraint @word_list = ss->dpi_list + default 75 + title @SANE_TITLE_SCAN_RESOLUTION + desc @SANE_DESC_SCAN_RESOLUTION + cap soft_select soft_detect automatic + info reload_params + +type string mode[30] + constraint @string_list = ss->mode_list + default @s = SANE_VALUE_SCAN_MODE_COLOR + title @SANE_TITLE_SCAN_MODE + desc @SANE_DESC_SCAN_MODE + cap soft_select soft_detect automatic + info reload_params + +type string source[30] + constraint @string_list = ss->source_list + title @SANE_TITLE_SCAN_SOURCE + desc Selects the scan source (such as a document-feeder). Set source before mode and resolution. Resets mode and resolution to auto values. + default Flatbed + cap soft_select soft_detect + +type bool button-controlled + title Button-controlled scan + desc When enabled, scan process will not start immediately. To proceed, press \"SCAN\" button (for MP150) or \"COLOR\" button (for other models). To cancel, press \"GRAY\" button. + default SANE_FALSE + cap soft_select soft_detect inactive + +rem ------------------------------------------- +type group + title Gamma + +type bool custom-gamma + default SANE_TRUE + title @SANE_TITLE_CUSTOM_GAMMA + desc @SANE_DESC_CUSTOM_GAMMA + cap soft_select soft_detect automatic inactive + +type int gamma-table[4096] + constraint (0,255,0) + title @SANE_TITLE_GAMMA_VECTOR + desc @SANE_DESC_GAMMA_VECTOR + cap soft_select soft_detect automatic inactive + +type fixed gamma + default AUTO_GAMMA + constraint (0.3,5,0) + title Gamma function exponent + desc Changes intensity of midtones + cap soft_select soft_detect automatic inactive + +rem ------------------------------------------- +type group + title Geometry + +type fixed tl-x + unit mm + default 0 + constraint @range = &ss->xrange + title @SANE_TITLE_SCAN_TL_X + desc @SANE_DESC_SCAN_TL_X + cap soft_select soft_detect automatic + info reload_params + +type fixed tl-y + unit mm + default 0 + constraint @range = &ss->yrange + title @SANE_TITLE_SCAN_TL_Y + desc @SANE_DESC_SCAN_TL_Y + cap soft_select soft_detect automatic + info reload_params + +type fixed br-x + unit mm + default _MAX + constraint @range = &ss->xrange + title @SANE_TITLE_SCAN_BR_X + desc @SANE_DESC_SCAN_BR_X + cap soft_select soft_detect automatic + info reload_params + +type fixed br-y + unit mm + default _MAX + constraint @range = &ss->yrange + title @SANE_TITLE_SCAN_BR_Y + desc @SANE_DESC_SCAN_BR_Y + cap soft_select soft_detect automatic + info reload_params + +rem ------------------------------------------- +type group + title Buttons + +type button button-update + title Update button state + cap soft_select soft_detect advanced + +type int button-1 + default 0 + title Button 1 + cap soft_detect advanced + +type int button-2 + default 0 + title Button 2 + cap soft_detect advanced + +type int original + default 0 + title Type of original to scan + cap soft_detect advanced + +type int target + default 0 + title Target operation type + cap soft_detect advanced + +type int scan-resolution + default 0 + title Scan resolution + cap soft_detect advanced + +rem ------------------------------------------- +type group + title Extras + +type int threshold + unit PERCENT + default 50 + constraint (0,100,1) + title @SANE_TITLE_THRESHOLD + desc @SANE_DESC_THRESHOLD + cap soft_select soft_detect automatic inactive + +type int threshold-curve + constraint (0,127,1) + title Threshold curve + desc Dynamic threshold curve, from light to dark, normally 50-65 + cap soft_select soft_detect automatic inactive + +type int adf-wait + default 0 + constraint (0,3600,1) + title ADF Waiting Time + desc When set, the scanner searches the waiting time in seconds for a new document inserted into the automatic document feeder. + cap soft_select soft_detect automatic inactive + +rem ------------------------------------------- +END SANE_Option_Descriptor +*/ + +/* pixma_sane_options.c generated by + * scripts/pixma_gen_options.py < pixma.c > pixma_sane_options.c + * + * pixma_sane_options.h generated by + * scripts/pixma_gen_options.py h < pixma.c > pixma_sane_options.h + */ +#include "pixma_sane_options.c" diff --git a/backend/pixma/pixma.h b/backend/pixma/pixma.h new file mode 100644 index 0000000..c2df3cc --- /dev/null +++ b/backend/pixma/pixma.h @@ -0,0 +1,506 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2011-2019 Rolf Bensch + Copyright (C) 2007-2008 Nicolas Martin, + Copyright (C) 2006-2007 Wittawat Yamwong + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 PIXMA_H +#define PIXMA_H + +#include "../include/sane/sane.h" + + +/*! + * \mainpage Scanner driver for Canon PIXMA MP series + * \section example Sample code for application + * \code + * pixma_set_debug_level(level); + * pixma_init(); + * nscanners = pixma_find_scanners(); + * devnr = choose_scanner(nscanners); + * scanner = pixma_open(devnr); + * setup_param(param); + * pixma_check_scan_param(scanner, param); + * do { + * if (I_need_events && + * (ev = pixma_wait_event(scanner, timeout)) > 0) { + * handle_event(ev); + * } + * pixma_scan(scanner, param); + * while ((count = pixma_read_image(scanner, buf, len)) > 0) { + * write(buf, count); + * if (error_occured_in_write) { + * pixma_cancel(scanner); + * } + * } + * } while (!enough); + * pixma_close(scanner); + * pixma_cleanup(); + * \endcode + * + * Note: pixma_cancel() can be called asynchronously to + * interrupt pixma_read_image(). It does not cancel the operation + * immediately. pixma_read_image() must be called until it + * returns zero or an error (probably \c PIXMA_ECANCELED). + * + * \section reference Reference + * - \subpage API + * - \subpage IO + * - \subpage subdriver + * - \subpage debug + */ + +/*! + * \defgroup API The driver API + * \brief The driver API. + * + * The return value of functions that returns \c int has the following + * meaning if not otherwise specified: + * - >= 0 if succeeded + * - < 0 if failed + */ + +#ifdef HAVE_STDINT_H +# include /* available in ISO C99 */ +#else +# include +typedef uint8_t uint8_t; +typedef uint16_t uint16_t; +typedef uint32_t uint32_t; +#endif /* HAVE_STDINT_H */ + +#ifdef HAVE_INTTYPES_H +# include /* available in ISO C99 */ +#endif /* HAVE_INTTYPES_H */ + +/** \addtogroup API + * @{ */ +/** Don't forget to update the backend version in the SANE Backend specification + * file: doc/descriptions/pixma.desc !!! + */ +/** \name Version of the driver */ +/**@{*/ +#define PIXMA_VERSION_MAJOR 0 +#define PIXMA_VERSION_MINOR 27 +#define PIXMA_VERSION_BUILD 0 +/**@}*/ + +/** \name Error codes */ +/**@{*/ +#define PIXMA_EIO -1 +#define PIXMA_ENODEV -2 +#define PIXMA_EACCES -3 +#define PIXMA_ENOMEM -4 +#define PIXMA_EINVAL -5 +#define PIXMA_EBUSY -6 +#define PIXMA_ECANCELED -7 +#define PIXMA_ENOTSUP -8 +#define PIXMA_ETIMEDOUT -9 +#define PIXMA_EPROTO -10 +#define PIXMA_EPAPER_JAMMED -11 +#define PIXMA_ECOVER_OPEN -12 +#define PIXMA_ENO_PAPER -13 +#define PIXMA_EOF -14 +/**@}*/ + +/** \name Capabilities for using with pixma_config_t::cap */ +/**@{*/ +#define PIXMA_CAP_EASY_RGB (1 << 0) +#define PIXMA_CAP_GRAY (1 << 1) +#define PIXMA_CAP_ADF (1 << 2) +#define PIXMA_CAP_48BIT (1 << 3) +#define PIXMA_CAP_GAMMA_TABLE (1 << 4) +#define PIXMA_CAP_EVENTS (1 << 5) +#define PIXMA_CAP_TPU (1 << 6) +#define PIXMA_CAP_ADFDUP ((1 << 7) | PIXMA_CAP_ADF) +#define PIXMA_CAP_CIS (0) +#define PIXMA_CAP_CCD (1 << 8) +#define PIXMA_CAP_LINEART (1 << 9) +#define PIXMA_CAP_NEGATIVE (1 << 10) +#define PIXMA_CAP_TPUIR ((1 << 11) | PIXMA_CAP_TPU) +#define PIXMA_CAP_ADF_WAIT (1 << 12) +#define PIXMA_CAP_ADF_JPEG (1 << 13) +#define PIXMA_CAP_EXPERIMENT (1 << 31) +/**@}*/ + +/** \name Button events and related information returned by pixma_wait_event() */ +/**@{*/ +#define PIXMA_EV_NONE 0 +#define PIXMA_EV_ACTION_MASK (0xffffff) +#define PIXMA_EV_BUTTON1 (1 << 24) +#define PIXMA_EV_BUTTON2 (2 << 24) +#define PIXMA_EV_TARGET_MASK (0xff) +#define PIXMA_EV_ORIGINAL_MASK (0xff00) +#define PIXMA_EV_DPI_MASK (0xff0000) + +#define GET_EV_TARGET(x) (x & PIXMA_EV_TARGET_MASK) +#define GET_EV_ORIGINAL(x) ( (x & PIXMA_EV_ORIGINAL_MASK) >> 8 ) +#define GET_EV_DPI(x) ( (x & PIXMA_EV_DPI_MASK) >> 16 ) + +/**@}*/ +/** @} end of API group */ + +#define PIXMA_CONFIG_FILE "pixma.conf" +#define MAX_CONF_DEVICES 15 + +struct pixma_t; +struct pixma_scan_ops_t; +struct pixma_scan_param_t; +struct pixma_config_t; +struct pixma_cmdbuf_t; +struct pixma_imagebuf_t; +struct pixma_device_status_t; + +typedef struct pixma_t pixma_t; +typedef struct pixma_scan_ops_t pixma_scan_ops_t; +typedef struct pixma_scan_param_t pixma_scan_param_t; +typedef struct pixma_config_t pixma_config_t; +typedef struct pixma_cmdbuf_t pixma_cmdbuf_t; +typedef struct pixma_imagebuf_t pixma_imagebuf_t; +typedef struct pixma_device_status_t pixma_device_status_t; + + +/** \addtogroup API + * @{ */ +/** String index constants */ +typedef enum pixma_string_index_t +{ + PIXMA_STRING_MODEL, + PIXMA_STRING_ID, + PIXMA_STRING_LAST +} pixma_string_index_t; + +/** Paper sources */ +typedef enum pixma_paper_source_t +{ + PIXMA_SOURCE_FLATBED, + PIXMA_SOURCE_ADF, + PIXMA_SOURCE_TPU, + PIXMA_SOURCE_ADFDUP /* duplex */ +} pixma_paper_source_t; + +/** Scan modes */ +typedef enum pixma_scan_mode_t +{ + /* standard scan modes */ + PIXMA_SCAN_MODE_COLOR, + PIXMA_SCAN_MODE_GRAY, + /* TPU scan modes for negatives */ + PIXMA_SCAN_MODE_NEGATIVE_COLOR, + PIXMA_SCAN_MODE_NEGATIVE_GRAY, + /* extended scan modes for 48 bit flatbed scanners */ + PIXMA_SCAN_MODE_COLOR_48, + PIXMA_SCAN_MODE_GRAY_16, + /* 1 bit lineart scan mode */ + PIXMA_SCAN_MODE_LINEART, + /* TPUIR scan mode */ + PIXMA_SCAN_MODE_TPUIR +} pixma_scan_mode_t; + +typedef enum pixma_hardware_status_t +{ + PIXMA_HARDWARE_OK, + PIXMA_HARDWARE_ERROR +} pixma_hardware_status_t; + +typedef enum pixma_lamp_status_t +{ + PIXMA_LAMP_OK, + PIXMA_LAMP_WARMING_UP, + PIXMA_LAMP_OFF, + PIXMA_LAMP_ERROR +} pixma_lamp_status_t; + +typedef enum pixma_adf_status_t +{ + PIXMA_ADF_OK, + PIXMA_ADF_NO_PAPER, + PIXMA_ADF_JAMMED, + PIXMA_ADF_COVER_OPEN, + PIXMA_ADF_ERROR +} pixma_adf_status_t; + +typedef enum pixma_calibration_status_t +{ + PIXMA_CALIBRATION_OK, + PIXMA_CALIBRATION_IN_PROGRESS, + PIXMA_CALIBRATION_OFF, + PIXMA_CALIBRATION_ERROR +} pixma_calibration_status_t; + +/** Device status. */ +struct pixma_device_status_t +{ + pixma_hardware_status_t hardware; + pixma_lamp_status_t lamp; + pixma_adf_status_t adf; + pixma_calibration_status_t cal; +}; + +/** Scan parameters. */ +struct pixma_scan_param_t +{ + /** Size in bytes of one image line (row). + * line_size >= depth / 8 * channels * w
    + * This field will be set by pixma_check_scan_param(). */ + uint64_t line_size; + + /** Size in bytes of the whole image. + * image_size = line_size * h
    + * This field will be set by pixma_check_scan_param(). */ + uint64_t image_size; + + /** Channels per pixel. 1 = grayscale and lineart, 3 = color */ + unsigned channels; + + /** Bits per channels. + * 1 = 1 bit B/W lineart (flatbed) + * 8 = 8 bit grayscale, + * 24 bit color (both flatbed) + * 16 = 16 bit grayscale (TPU, flatbed not implemeted), + * 48 bit color (TPU, flatbed not implemented) */ + unsigned depth; + + /*@{ */ + /** Resolution. Valid values are 75,150,300,600,1200... */ + unsigned xdpi, ydpi; + /*@} */ + + /*! \name Scan area in pixels + * (0,0) = top left; positive x extends to the right; positive y to the + * bottom; in pixels. + * xs is the offset in x direction of the selected scan range relative + * to the range read from the scanner and wx the width in x direction + * of the scan line read from scanner. */ + /*@{ */ + unsigned x, y, w, h, xs, wx; + /*@} */ + + /** Flag indicating whether the offset correction for TPU scans + * was already performed (to avoid repeated corrections). + * Currently only used in pixma_mp800.c sub-driver */ + unsigned tpu_offset_added; + + /* Flag indicating if data from scanner will be in JPEG format */ + unsigned mode_jpeg; + + /** Flag indicating whether a software-lineart scan is in progress + * 0 = other scan + * 1 = software-lineart scan */ + unsigned software_lineart; + + /** Threshold for software-lineart scans */ + unsigned threshold; + + /** lineart threshold curve for dynamic rasterization */ + unsigned threshold_curve; + + /* look up table used in dynamic rasterization */ + unsigned char lineart_lut[256]; + + /** Gamma table. 4096 entries, 12 bit => 8 bit. If \c NULL, default gamma + * specified by subdriver will be used. */ + const uint8_t *gamma_table; + + /** \see #pixma_paper_source_t */ + pixma_paper_source_t source; + + /** \see #pixma_scan_mode_t */ + pixma_scan_mode_t mode; + + /** The current page # in the same ADF scan session, 0 in non ADF */ + unsigned adf_pageid; + + /** adf-wait */ + unsigned adf_wait; + unsigned frontend_cancel; +}; + +/** PIXMA model information */ +struct pixma_config_t +{ + /* If you change this structure, don't forget to update the device list in + * subdrivers. */ + const char *name; /**< Model name. */ + const char *model; /**< Short model */ + uint16_t vid; /**< USB Vendor ID */ + uint16_t pid; /**< USB Product ID */ + unsigned iface; /**< USB Interface number */ + const pixma_scan_ops_t *ops; /**< Subdriver ops */ + unsigned min_xdpi; /**< Minimum horizontal resolution[DPI] */ + unsigned xdpi; /**< Maximum horizontal resolution[DPI] */ + unsigned ydpi; /**< Maximum vertical resolution[DPI] */ + unsigned adftpu_min_dpi; /**< Maximum horizontal resolution[DPI] for adf/tpu + * only needed if ADF/TPU has another min. dpi value than 75 dpi */ + unsigned adftpu_max_dpi; /**< Maximum vertical resolution[DPI] for adf/tpu + * only needed if ADF/TPU has another max. dpi value than xdpi */ + unsigned tpuir_min_dpi; /**< Minimum resolution[DPI] for tpu-ir + * only needed if TPU-IR has another min. dpi value than 75 dpi */ + unsigned tpuir_max_dpi; /**< Maximum resolution[DPI] for tpu-ir + * only needed if TPU-IR has another max. dpi value than xdpi */ + unsigned width; /**< Maximum width of scannable area in pixels at 75DPI */ + unsigned height; /**< Maximum height of scannable area in pixels at 75DPI */ + unsigned cap; /**< Capability bitfield \see PIXMA_CAP_* */ +}; + + +/* Defined in pixma_common.c */ + +/** Initialize the driver. It must be called before any other functions + * except pixma_set_debug_level(). */ +int pixma_init (void); + +/** Free resources allocated by the driver. */ +void pixma_cleanup (void); + +/** Set the debug level. + * \param[in] level the debug level + * - 0 No debug output at all + * - 1 Only errors and warning + * - 2 General information + * - 3 Debugging messages + * - 10 USB traffic dump */ +void pixma_set_debug_level (int level); + +/** Find scanners. The device number used in pixma_open(), + * pixma_get_device_model(), pixma_get_device_id() and + * pixma_get_device_config() must be less than the value returned by the last + * call of this function. + * + * \return The number of scanners found currently. The return value is + * guaranteed to be valid until the next call to pixma_find_scanners(). */ +int pixma_find_scanners (const char **conf_devices, SANE_Bool local_only); + +/** Return the model name of the device \a devnr. */ +const char *pixma_get_device_model (unsigned devnr); + +/** Return the unique ID of the device \a devnr. */ +const char *pixma_get_device_id (unsigned devnr); + +/** Return the device configuration of the device \a devnr. */ +const struct pixma_config_t *pixma_get_device_config (unsigned devnr); + +/** Open a connection to the scanner \a devnr. + * \param[in] devnr The scanner number + * \param[out] handle The device handle + * \see pixma_find_scanners() */ +int pixma_open (unsigned devnr, pixma_t ** handle); + +/** Close the connection to the scanner. The scanning process is aborted + * if necessary before the function returns. */ +void pixma_close (pixma_t * s); + +/** Initiate an image acquisition process. You must keep \a sp valid until the + * image acquisition process has finished. */ +int pixma_scan (pixma_t *, pixma_scan_param_t * sp); + +/** Read a block of image data. It blocks until there is at least one byte + * available or an error occurs. + * + * \param[out] buf Pointer to the buffer + * \param[in] len Size of the buffer + * + * \retval count Number of bytes written to the buffer or error. Possible + * return value: + * - count = 0 for end of image + * - count = \a len + * - 0 < count < \a len if and only if it is the last block. + * - count < 0 for error */ +int pixma_read_image (pixma_t *, void *buf, unsigned len); + +#if 0 +/** Read a block of image data and write to \a fd. + * \param[in] fd output file descriptor + * \see pixma_read_image() */ +int pixma_read_image_write (pixma_t *, int fd); +#endif + +/** Cancel the scanning process. No effect if no scanning process is in + * progress. It can be called asynchronously e.g. within a signal + * handle. pixma_cancel() doesn't abort the operation immediately. It + * guarantees that the current call or, at the latest, the next call to + * pixma_read_image() will return zero or an error (probably PIXMA_ECANCELED). */ +void pixma_cancel (pixma_t *); + +/** Check the scan parameters. This function can change your parameters to + * match the device capability, e.g. adjust width and height to the available + * area. + * \return PIXMA_EINVAL for invalid parameters. */ +int pixma_check_scan_param (pixma_t *, pixma_scan_param_t *); + +/** Wait until a scanner button is pressed or it times out. It should not be + * called during image acquisition is in progress. + * \param[in] timeout in milliseconds, less than 0 means forever + * \return + * - \c PIXMA_EV_NONE if it timed out. + * - non-zero value indicates which button was pressed. + * \see PIXMA_EV_* + */ +uint32_t pixma_wait_event (pixma_t *, int timeout); + +/** Activate connection to scanner */ +int pixma_activate_connection (pixma_t *); + +/** De-activate connection to scanner */ + +int pixma_deactivate_connection (pixma_t *); + + +/** Enable or disable background tasks. Currently, the only one task + * is submitting interrupt URB in background. + * \param[in] enabled if not zero, enable background task. + * \see pixma_set_interrupt_mode() */ +int pixma_enable_background (pixma_t *, int enabled); + +/** Read the current device status. + * \param[out] status the current device status + * \return 0 if succeeded. Otherwise, failed. + */ +int pixma_get_device_status (pixma_t *, pixma_device_status_t * status); + +const char *pixma_get_string (pixma_t *, pixma_string_index_t); +const pixma_config_t *pixma_get_config (pixma_t *); +void pixma_fill_gamma_table (double gamma, uint8_t * table, unsigned n); +const char *pixma_strerror (int error); + +/** @} end of API group */ + +#endif diff --git a/backend/pixma/pixma_bjnp.c b/backend/pixma/pixma_bjnp.c new file mode 100644 index 0000000..34ba918 --- /dev/null +++ b/backend/pixma/pixma_bjnp.c @@ -0,0 +1,2645 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2008 2012 by Louis Lagendijk + + This file is part of the SANE package. + + SANE 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. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + 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. +*/ + +#undef BACKEND_NAME +#define BACKEND_NAME bjnp + +#include "../include/sane/config.h" +#include "../include/sane/sane.h" + +/* + * Standard types etc + */ +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef HAVE_STRING_H +#include +#endif +#include +#include +#ifdef HAVE_STDINT_H +#include +#endif +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_SYS_TIME_H +#include +#endif +#ifdef HAVE_LIMITS_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif + +/* + * networking stuff + */ +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETINET_IN_H +#include +#endif +#include +#include +#include +#include +#ifdef HAVE_IFADDRS_H +#include +#endif +#ifdef HAVE_SYS_SELECT_H +#include +#endif +#ifdef HAVE_PWD_H +#include +#endif +#include +#ifdef HAVE_FCNTL_H +#include +#endif + +#include "pixma_bjnp_private.h" +#include "pixma_bjnp.h" +/* #include "pixma_rename.h" */ +#include "pixma.h" +#include "pixma_common.h" + +#ifndef SSIZE_MAX +# define SSIZE_MAX LONG_MAX +#endif + +/* static data */ +static bjnp_device_t device[BJNP_NO_DEVICES]; +static int bjnp_no_devices = 0; + +/* + * Private functions + */ + +static const struct pixma_config_t *lookup_scanner(const char *makemodel, + const struct pixma_config_t *const pixma_devices[]) +{ + int i; + const struct pixma_config_t *cfg; + char *match; + + for (i = 0; pixma_devices[i]; i++) + { + /* loop through the device classes (mp150, mp730 etc) */ + for (cfg = pixma_devices[i]; cfg->name; cfg++) + { + /* loop through devices in class */ + PDBG( bjnp_dbg( LOG_DEBUG3, "lookup_scanner: Checking for %s in %s\n", makemodel, cfg->model)); + if ((match = strcasestr (makemodel, cfg->model)) != NULL) + { + /* possible match found, make sure it is not a partial match */ + /* MP600 and MP600R are different models! */ + /* some models contain ranges, so check for a '-' too */ + + if ((match[strlen(cfg->model)] == ' ') || + (match[strlen(cfg->model)] == '\0') || + (match[strlen(cfg->model)] == '-')) + { + PDBG( bjnp_dbg (LOG_DEBUG, "lookup_scanner: Scanner model found: Name %s(%s) matches %s\n", cfg->model, cfg->name, makemodel)); + return cfg; + } + } + } + } + PDBG( bjnp_dbg (LOG_DEBUG, "lookup_scanner: Scanner model %s not found, giving up!\n", makemodel)); + return NULL; +} + +static void +u8tohex (char *string, const uint8_t *value, int len ) +{ + int i; + int x; + const char hdigit[16] = + { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', + 'e', 'f' + }; + for (i = 0; i < len; i++) + { + x = value[i]; + string[ 2 * i ] = hdigit[(x >> 4) & 0xf]; + string[ 2 * i + 1] = hdigit[x & 0xf]; + } + string[2 * len ] = '\0'; +} + +static void +u32tohex (uint32_t x, char *str) +{ + uint8_t uint8[4]; + uint8[0] = (uint8_t)(x >> 24); + uint8[1] = (uint8_t)(x >> 16); + uint8[2] = (uint8_t)(x >> 8); + uint8[3] = (uint8_t)x ; + u8tohex(str, uint8, 4); +} + +static void +bjnp_hexdump (int level, const void *d_, unsigned len) +{ + const uint8_t *d = (const uint8_t *) (d_); + unsigned ofs, c, plen; + char line[100]; /* actually only 1+8+1+8*3+1+8*3+1 = 61 bytes needed */ + + if (level > DBG_LEVEL) + return; + if (level == DBG_LEVEL) + /* if debuglevel == exact match and buffer contains more than 3 lines, print 2 lines + .... */ + plen = (len > 64) ? 32: len; + else + plen = len; + ofs = 0; + while (ofs < plen) + { + char *p; + line[0] = ' '; + u32tohex (ofs, line + 1); + line[9] = ':'; + p = line + 10; + for (c = 0; c != 16 && (ofs + c) < plen; c++) + { + u8tohex (p, d + ofs + c, 1); + p[2] = ' '; + p += 3; + if (c == 7) + { + p[0] = ' '; + p++; + } + } + p[0] = '\0'; + bjnp_dbg (level, "%s\n", line); + ofs += c; + } + if (len > plen) + bjnp_dbg(level, "......\n"); +} + +static int sa_is_equal( const bjnp_sockaddr_t * sa1, const bjnp_sockaddr_t * sa2) +{ + if ((sa1 == NULL) || (sa2 == NULL) ) + return 0; + + if (sa1->addr.sa_family == sa2-> addr.sa_family) + { + if( sa1 -> addr.sa_family == AF_INET) + { + if ( (sa1->ipv4.sin_port == sa2->ipv4.sin_port) && + (sa1->ipv4.sin_addr.s_addr == sa2->ipv4.sin_addr.s_addr)) + { + return 1; + } + } +#ifdef ENABLE_IPV6 + else if (sa1 -> addr.sa_family == AF_INET6 ) + { + if ( (sa1-> ipv6.sin6_port == sa2->ipv6.sin6_port) && + (memcmp(&(sa1->ipv6.sin6_addr), &(sa2->ipv6.sin6_addr), sizeof(struct in6_addr)) == 0)) + { + return 1; + } + } +#endif + } + return 0; +} + +static int +sa_size( const bjnp_sockaddr_t *sa) +{ + switch (sa -> addr.sa_family) + { + case AF_INET: + return (sizeof(struct sockaddr_in) ); +#ifdef ENABLE_IPV6 + case AF_INET6: + return (sizeof(struct sockaddr_in6) ); +#endif + default: + /* should not occur */ + return sizeof( bjnp_sockaddr_t ); + } +} + +static int +get_protocol_family( const bjnp_sockaddr_t *sa) +{ + switch (sa -> addr.sa_family) + { + case AF_INET: + return PF_INET; + break; +#ifdef ENABLE_IPV6 + case AF_INET6: + return PF_INET6; + break; +#endif + default: + /* should not occur */ + return -1; + } +} + +static void +get_address_info ( const bjnp_sockaddr_t *addr, char * addr_string, int *port) +{ + char tmp_addr[BJNP_HOST_MAX]; + if ( addr->addr.sa_family == AF_INET) + { + inet_ntop( AF_INET, &(addr -> ipv4.sin_addr.s_addr), addr_string, BJNP_HOST_MAX); + *port = ntohs (addr->ipv4.sin_port); + } +#ifdef ENABLE_IPV6 + else if (addr->addr.sa_family == AF_INET6) + { + inet_ntop( AF_INET6, addr -> ipv6.sin6_addr.s6_addr, tmp_addr, sizeof(tmp_addr) ); + + if (IN6_IS_ADDR_LINKLOCAL( &(addr -> ipv6.sin6_addr) ) ) + sprintf(addr_string, "[%s%%%d]", tmp_addr, addr -> ipv6.sin6_scope_id); + + *port = ntohs (addr->ipv6.sin6_port); + } +#endif + else + { + /* unknown address family, should not occur */ + strcpy(addr_string, "Unknown address family"); + *port = 0; + } +} + +static int +parse_IEEE1284_to_model (char *scanner_id, char *model) +{ +/* + * parses the IEEE1284 ID of the scanner to retrieve make and model + * of the scanner + * Returns: 0 = not found + * 1 = found, model is set + */ + + char s[BJNP_IEEE1284_MAX]; + char *tok; + char * model_str; + + strncpy (s, scanner_id, BJNP_IEEE1284_MAX); + s[BJNP_IEEE1284_MAX - 1] = '\0'; + model[0] = '\0'; + + tok = strtok (s, ";"); + while (tok != NULL) + { + /* MDL contains make and model */ + + if (strncmp (tok, "MDL:", strlen("MDL:")) == 0) + { + model_str = tok + strlen("MDL:"); + strncpy (model, model_str, BJNP_MODEL_MAX); + model[BJNP_MODEL_MAX -1] = '\0'; + return 1; + } + tok = strtok (NULL, ";"); + } + return 0; +} + +static int +charTo2byte (char *d, const char *s, int len) +{ + /* + * copy ASCII string to UTF-16 unicode string + * len is length of destination buffer + * Returns: number of characters copied + */ + + int done = 0; + int copied = 0; + int i; + + len = len / 2; + for (i = 0; i < len; i++) + { + d[2 * i] = '\0'; + if (s[i] == '\0') + { + done = 1; + } + if (done == 0) + { + d[2 * i + 1] = s[i]; + copied++; + } + else + d[2 * i + 1] = '\0'; + } + return copied; +} + +static bjnp_protocol_defs_t *get_protocol_by_method( char *method) +{ + int i = 0; + while ( bjnp_protocol_defs[i].method_string != NULL) + { + if (strcmp(method, bjnp_protocol_defs[i].method_string) == 0) + { + return &bjnp_protocol_defs[i]; + } + i++; + } + return NULL; +} + +static bjnp_protocol_defs_t *get_protocol_by_proto_string( char *proto_string) +{ + int i = 0; + while ( bjnp_protocol_defs[i].proto_string != NULL) + { + if (strncmp(proto_string, bjnp_protocol_defs[i].proto_string, 4) == 0) + { + return &bjnp_protocol_defs[i]; + } + i++; + } + return NULL; +} + +static char * +getusername (void) +{ + static char noname[] = "sane_pixma"; + struct passwd *pwdent; + +#ifdef HAVE_PWD_H + if (((pwdent = getpwuid (geteuid ())) != NULL) && (pwdent->pw_name != NULL)) + return pwdent->pw_name; +#endif + return noname; +} + + +static char * +determine_scanner_serial (const char *hostname, const char * mac_address, char *serial) +{ + char *dot; + char copy[BJNP_HOST_MAX]; + + /* determine a "serial number" for the scanner */ + /* if available we use the hostname or ipv4 address of the printer */ + /* if we only have a literal ipv6 address, we use the mac-address */ + + strcpy(copy, hostname); + if (strlen (copy) >= SERIAL_MAX) + { + /* make the string fit into the serial */ + /* if this is a FQDN, not an ip-address, remove domain part of the name */ + if ((dot = strchr (copy, '.')) != NULL) + { + *dot = '\0'; + } + } + /* check if name is still to long. If so use the mac-address */ + if (strlen(copy) >= SERIAL_MAX) + { + strcpy(copy, mac_address); + } + strcpy( serial, copy ); + return serial; +} + +static int +bjnp_open_tcp (int devno) +{ + int sock; + int val; + bjnp_sockaddr_t *addr = device[devno].addr; + char host[BJNP_HOST_MAX]; + int port; + int connect_timeout = BJNP_TIMEOUT_TCP_CONNECT; + + get_address_info( addr, host, &port); + PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_open_tcp: Setting up a TCP socket, dest: %s port %d\n", + host, port ) ); + + if ((sock = socket (get_protocol_family( addr ) , SOCK_STREAM, 0)) < 0) + { + PDBG (bjnp_dbg (LOG_CRIT, "bjnp_open_tcp: ERROR - Can not create socket: %s\n", + strerror (errno))); + return -1; + } + + val = 1; + setsockopt (sock, SOL_SOCKET, SO_REUSEADDR, &val, sizeof (val)); + +#if 0 + val = 1; + setsockopt (sock, SOL_SOCKET, SO_REUSEPORT, &val, sizeof (val)); + + val = 1; +#endif + + /* + * Using TCP_NODELAY improves responsiveness, especially on systems + * with a slow loopback interface... + */ + + val = 1; + setsockopt (sock, IPPROTO_TCP, TCP_NODELAY, &val, sizeof (val)); + +/* + * Close this socket when starting another process... + */ + + fcntl (sock, F_SETFD, FD_CLOEXEC); + + while (connect_timeout > 0) + { + if (connect + (sock, &(addr->addr), sa_size(device[devno].addr)) == 0) + { + device[devno].tcp_socket = sock; + return 0; + } + PDBG (bjnp_dbg( LOG_INFO, "bjnp_open_tcp: INFO - Can not yet connect over TCP to scanner: %s, retrying\n", + strerror(errno))); + usleep(BJNP_TCP_CONNECT_INTERVAL * BJNP_USLEEP_MS); + connect_timeout = connect_timeout - BJNP_TCP_CONNECT_INTERVAL; + } + PDBG (bjnp_dbg + (LOG_CRIT, "bjnp_open_tcp: ERROR - Can not connect to scanner, giving up!")); + return -1; +} + +static int +split_uri (const char *devname, char *method, char *host, char *port, + char *args) +{ + char copy[1024]; + char *start; + char next; + int i; + + strncpy (copy, devname, 1024); + copy[1023] = '\0'; + start = copy; + +/* + * retrieve method + */ + i = 0; + while ((start[i] != '\0') && (start[i] != ':')) + { + i++; + } + + if (((strncmp (start + i, "://", 3) != 0)) || (i > BJNP_METHOD_MAX -1 )) + { + PDBG (bjnp_dbg (LOG_NOTICE, "split_uri: ERROR - Can not find method in %s (offset %d)\n", + devname, i)); + return -1; + } + + start[i] = '\0'; + strcpy (method, start); + start = start + i + 3; + +/* + * retrieve host + */ + + if (start[0] == '[') + { + /* literal IPv6 address */ + + char *end_of_address = strchr(start, ']'); + + if ( ( end_of_address == NULL) || + ( (end_of_address[1] != ':') && (end_of_address[1] != '/' ) && (end_of_address[1] != '\0' )) || + ( (end_of_address - start) >= BJNP_HOST_MAX ) ) + { + PDBG (bjnp_dbg (LOG_NOTICE, "split_uri: ERROR - Can not find hostname or address in %s\n", devname)); + return -1; + } + next = end_of_address[1]; + *end_of_address = '\0'; + strcpy(host, start + 1); + start = end_of_address + 2; + } + else + { + i = 0; + while ((start[i] != '\0') && (start[i] != '/') && (start[i] != ':')) + { + i++; + } + next = start[i]; + start[i] = '\0'; + if ((i == 0) || (i >= BJNP_HOST_MAX ) ) + { + PDBG (bjnp_dbg (LOG_NOTICE, "split_uri: ERROR - Can not find hostname or address in %s\n", devname)); + return -1; + } + strcpy (host, start); + start = start + i +1; + } + + +/* + * retrieve port number + */ + + if (next != ':') + strcpy(port, ""); + else + { + char *end_of_port = strchr(start, '/'); + if (end_of_port == NULL) + { + next = '\0'; + } + else + { + next = *end_of_port; + *end_of_port = '\0'; + } + if ((strlen(start) == 0) || (strlen(start) >= BJNP_PORT_MAX ) ) + { + PDBG (bjnp_dbg (LOG_NOTICE, "split_uri: ERROR - Can not find port in %s (have \"%s\")\n", devname, start)); + return -1; + } + strcpy(port, start); + start = end_of_port + 1; + } + +/* + * Retrieve arguments + */ + + if (next == '/') + { + i = strlen(start); + if ( i >= BJNP_ARGS_MAX) + { + PDBG (bjnp_dbg (LOG_NOTICE, "split_uri: ERROR - Argument string too long in %s\n", devname)); + } + strcpy (args, start); + } + else + strcpy (args, ""); + return 0; +} + + + +static void +set_cmd_from_string (char* protocol_string, struct BJNP_command *cmd, char cmd_code, int payload_len) +{ + /* + * Set command buffer with command code, session_id and length of payload + * Returns: sequence number of command + */ + + memcpy (cmd->BJNP_id, protocol_string, sizeof (cmd->BJNP_id)); + cmd->dev_type = BJNP_CMD_SCAN; + cmd->cmd_code = cmd_code; + cmd->unknown1 = htons (0); + + /* device not yet opened, use 0 for serial and session) */ + cmd->seq_no = htons (0); + cmd->session_id = htons (0); + cmd->payload_len = htonl (payload_len); +} + +static void +set_cmd_for_dev (int devno, struct BJNP_command *cmd, char cmd_code, int payload_len) +{ + /* + * Set command buffer with command code, session_id and length of payload + * Returns: sequence number of command + */ + + memcpy(cmd->BJNP_id, device[devno].protocol_string, sizeof (cmd->BJNP_id)); + cmd->dev_type = BJNP_CMD_SCAN; + cmd->cmd_code = cmd_code; + cmd->unknown1 = htons (0); + cmd->seq_no = htons (++(device[devno].serial)); + cmd->session_id = (cmd_code == CMD_UDP_POLL ) ? 0 : htons (device[devno].session_id); + device[devno].last_cmd = cmd_code; + cmd->payload_len = htonl (payload_len); +} + +static int +bjnp_setup_udp_socket ( const int dev_no ) +{ + /* + * Setup a udp socket for the given device + * Returns the socket or -1 in case of error + */ + + int sockfd; + char addr_string[256]; + int port; + bjnp_sockaddr_t * addr = device[dev_no].addr; + + get_address_info( addr, addr_string, &port); + + PDBG (bjnp_dbg (LOG_DEBUG, "setup_udp_socket: Setting up a UDP socket, dest: %s port %d\n", + addr_string, port ) ); + + if ((sockfd = socket (get_protocol_family( addr ), SOCK_DGRAM, IPPROTO_UDP)) == -1) + { + PDBG (bjnp_dbg + (LOG_CRIT, "setup_udp_socket: ERROR - can not open socket - %s\n", + strerror (errno))); + return -1; + } + + if (connect + (sockfd, &(device[dev_no].addr->addr), sa_size(device[dev_no].addr) )!= 0) + { + PDBG (bjnp_dbg + (LOG_CRIT, "setup_udp_socket: ERROR - connect failed- %s\n", + strerror (errno))); + close(sockfd); + return -1; + } + return sockfd; +} + +static int +udp_command (const int dev_no, char *command, int cmd_len, char *response, + int resp_len) +{ + /* + * send udp command to given device and recieve the response` + * returns: the legth of the response or -1 + */ + int sockfd; + struct timeval timeout; + int result; + int try, attempt; + int numbytes; + fd_set fdset; + struct BJNP_command *resp = (struct BJNP_command *) response; + struct BJNP_command *cmd = (struct BJNP_command *) command; + + if ( (sockfd = bjnp_setup_udp_socket(dev_no) ) == -1 ) + { + PDBG (bjnp_dbg( LOG_CRIT, "udp_command: ERROR - Can not setup socket\n") ); + return -1; + } + + for (try = 0; try < BJNP_UDP_RETRY_MAX; try++) + { + if ((numbytes = send (sockfd, command, cmd_len, 0)) != cmd_len) + { + PDBG (bjnp_dbg + (LOG_NOTICE, "udp_command: ERROR - Sent %d bytes, expected %d\n", + numbytes, cmd_len)); + continue; + } + + attempt = 0; + + /* wait for data to be received, ignore signals being received */ + /* skip late udp responses (they have an incorrect sequence number */ + do + { + FD_ZERO (&fdset); + FD_SET (sockfd, &fdset); + + timeout.tv_sec = device[dev_no].bjnp_ip_timeout /1000; + timeout.tv_usec = device[dev_no].bjnp_ip_timeout %1000; + } + while (((result = + select (sockfd + 1, &fdset, NULL, NULL, &timeout)) <= 0) + && (errno == EINTR) && (attempt++ < BJNP_MAX_SELECT_ATTEMPTS) + && resp-> seq_no != cmd->seq_no); + + if (result <= 0) + { + PDBG (bjnp_dbg + (LOG_NOTICE, "udp_command: ERROR - select failed: %s\n", + result == 0 ? "timed out" : strerror (errno))); + continue; + } + + if ((numbytes = recv (sockfd, response, resp_len, 0)) == -1) + { + PDBG (bjnp_dbg + (LOG_NOTICE, "udp_command: ERROR - recv failed: %s", + strerror (errno))); + continue; + } + close(sockfd); + return numbytes; + } + + /* no response even after retry */ + + close(sockfd); + PDBG (bjnp_dbg + (LOG_CRIT, "udp_command: ERROR - no data received (timeout = %d)\n", device[dev_no].bjnp_ip_timeout ) ); + return -1; +} + +static int +get_scanner_id (const int dev_no, char *model) +{ + /* + * get scanner identity + * Sets model (make and model) + * Return 0 on success, -1 in case of errors + */ + + struct BJNP_command cmd; + struct IDENTITY *id; + char scanner_id[BJNP_IEEE1284_MAX]; + int resp_len; + char resp_buf[BJNP_RESP_MAX]; + int id_len; + + /* set defaults */ + + strcpy (model, "Unidentified scanner"); + + set_cmd_for_dev (dev_no, &cmd, CMD_UDP_GET_ID, 0); + + PDBG (bjnp_dbg (LOG_DEBUG2, "get_scanner_id: Get scanner identity\n")); + PDBG (bjnp_hexdump (LOG_DEBUG2, (char *) &cmd, + sizeof (struct BJNP_command))); + + if ( ( resp_len = udp_command (dev_no, (char *) &cmd, sizeof (struct BJNP_command), + resp_buf, BJNP_RESP_MAX) ) < (int)sizeof(struct BJNP_command) ) + { + PDBG (bjnp_dbg (LOG_DEBUG, "get_scanner_id: ERROR - Failed to retrieve scanner identity:\n")); + return -1; + } + PDBG (bjnp_dbg (LOG_DEBUG2, "get_scanner_id: scanner identity:\n")); + PDBG (bjnp_hexdump (LOG_DEBUG2, resp_buf, resp_len)); + + id = (struct IDENTITY *) resp_buf; + + if (device[dev_no].protocol == PROTOCOL_BJNP) + { + id_len = MIN(ntohl( id-> cmd.payload_len ) - sizeof(id-> payload.bjnp.id_len), BJNP_IEEE1284_MAX); + strncpy(scanner_id, id->payload.bjnp.id, id_len); + scanner_id[id_len] = '\0'; + } + else + { + id_len = MIN(ntohl( id-> cmd.payload_len ), BJNP_IEEE1284_MAX); + strncpy(scanner_id, id->payload.mfnp.id, id_len); + scanner_id[id_len] = '\0'; + } + PDBG (bjnp_dbg (LOG_INFO, "get_scanner_id: Scanner identity string = %s - length = %d\n", scanner_id, id_len)); + + /* get make&model from IEEE1284 id */ + + if (model != NULL) + { + parse_IEEE1284_to_model (scanner_id, model); + PDBG (bjnp_dbg (LOG_INFO, "get_scanner_id: Scanner model = %s\n", model)); + } + return 0; +} + +static int +get_scanner_name(const bjnp_sockaddr_t *scanner_sa, char *host) +{ + /* + * Parse identify command responses to ip-address + * and hostname. Return qulity of the address + */ + + struct addrinfo *results; + struct addrinfo *result; + char ip_address[BJNP_HOST_MAX]; + int port; + int error; + int match = 0; + int level; + char service[64]; + +#ifdef ENABLE_IPV6 + if ( ( scanner_sa -> addr.sa_family == AF_INET6 ) && + ( IN6_IS_ADDR_LINKLOCAL( &(scanner_sa -> ipv6.sin6_addr ) ) ) ) + level = BJNP_ADDRESS_IS_LINK_LOCAL; + else +#endif + level = BJNP_ADDRESS_IS_GLOBAL; + + get_address_info( scanner_sa, ip_address, &port ); + + /* do reverse name lookup, if hostname can not be found return ip-address */ + + if( (error = getnameinfo( &(scanner_sa -> addr) , sa_size( scanner_sa), + host, BJNP_HOST_MAX , NULL, 0, NI_NAMEREQD) ) != 0 ) + { + PDBG (bjnp_dbg(LOG_INFO, "get_scanner_name: Name for %s not found : %s\n", + ip_address, gai_strerror(error) ) ); + strcpy(host, ip_address); + return level; + } + else + { + sprintf(service, "%d", port); + /* some buggy routers return rubbish if reverse lookup fails, so + * we do a forward lookup on the received name to see if the result matches */ + + if (getaddrinfo(host , service, NULL, &results) == 0) + { + result = results; + + while (result != NULL) + { + if(sa_is_equal( scanner_sa, (bjnp_sockaddr_t *)result-> ai_addr)) + { + /* found match, good */ + PDBG (bjnp_dbg (LOG_INFO, + "get_scanner_name: Forward lookup for %s succeeded, using as hostname\n", host)); + match = 1; + level = BJNP_ADDRESS_HAS_FQDN; + break; + } + result = result-> ai_next; + } + freeaddrinfo(results); + + if (match != 1) + { + PDBG (bjnp_dbg (LOG_INFO, + "get_scanner_name: Forward lookup for %s succeeded, IP-address does not match, using IP-address %s instead\n", + host, ip_address)); + strcpy (host, ip_address); + } + } + else + { + /* forward lookup failed, use ip-address */ + PDBG ( bjnp_dbg (LOG_INFO, "get_scanner_name: Forward lookup of %s failed, using IP-address", ip_address)); + strcpy (host, ip_address); + } + } + return level; +} + +static int +get_port_from_sa(const bjnp_sockaddr_t scanner_sa) +{ +#ifdef ENABLE_IPV6 + if ( scanner_sa.addr.sa_family == AF_INET6 ) + { + return ntohs(scanner_sa.ipv6.sin6_port); + } + else +#endif + if ( scanner_sa.addr.sa_family == AF_INET ) + { + return ntohs(scanner_sa.ipv4.sin_port); + } + return -1; +} + +static int create_broadcast_socket( const bjnp_sockaddr_t * local_addr ) +{ + int sockfd = -1; + int broadcast = 1; + int ipv6_v6only = 1; + + + if ((sockfd = socket (local_addr-> addr.sa_family, SOCK_DGRAM, 0)) == -1) + { + PDBG (bjnp_dbg + (LOG_CRIT, "create_broadcast_socket: ERROR - can not open socket - %s", + strerror (errno))); + return -1; + } + + /* Set broadcast flag on socket */ + + if (setsockopt + (sockfd, SOL_SOCKET, SO_BROADCAST, (const char *) &broadcast, + sizeof (broadcast)) != 0) + { + PDBG (bjnp_dbg + (LOG_CRIT, + "create_broadcast_socket: ERROR - setting socket option SO_BROADCAST failed - %s", + strerror (errno))); + close (sockfd); + return -1; + }; + + /* For an IPv6 socket, bind to v6 only so a V6 socket can co-exist with a v4 socket */ + if ( (local_addr -> addr.sa_family == AF_INET6) && ( setsockopt + (sockfd, IPPROTO_IPV6, IPV6_V6ONLY, (const char *) &ipv6_v6only, + sizeof (ipv6_v6only)) != 0) ) + { + PDBG (bjnp_dbg + (LOG_CRIT, + "create_broadcast_socket: ERROR - setting socket option IPV6_V6ONLY failed - %s", + strerror (errno))); + close (sockfd); + return -1; + }; + + if (bind + (sockfd, &(local_addr->addr), + (socklen_t) sa_size( local_addr)) != 0) + { + PDBG (bjnp_dbg + (LOG_CRIT, + "create_broadcast_socket: ERROR - bind socket to local address failed - %s\n", + strerror (errno))); + close (sockfd); + return -1; + } + return sockfd; +} + +static int +prepare_socket(const char *if_name, const bjnp_sockaddr_t *local_sa, + const bjnp_sockaddr_t *broadcast_sa, bjnp_sockaddr_t * dest_sa) +{ + /* + * Prepare a socket for broadcast or multicast + * Input: + * if_name: the name of the interface + * local_sa: local address to use + * broadcast_sa: broadcast address to use, if NULL we use all hosts + * dest_sa: (write) where to return destination address of broadcast + * retuns: open socket or -1 + */ + + int socket = -1; + bjnp_sockaddr_t local_sa_copy; + + if ( local_sa == NULL ) + { + PDBG (bjnp_dbg (LOG_DEBUG, + "prepare_socket: %s is not a valid IPv4 interface, skipping...\n", + if_name)); + return -1; + } + + memset( &local_sa_copy, 0, sizeof(local_sa_copy) ); + memcpy( &local_sa_copy, local_sa, sa_size(local_sa) ); + + switch( local_sa_copy.addr.sa_family ) + { + case AF_INET: + { + local_sa_copy.ipv4.sin_port = htons(BJNP_PORT_SCAN); + + if (local_sa_copy.ipv4.sin_addr.s_addr == htonl (INADDR_LOOPBACK) ) + { + /* not a valid interface */ + + PDBG (bjnp_dbg (LOG_DEBUG, + "prepare_socket: %s is not a valid IPv4 interface, skipping...\n", + if_name)); + return -1; + } + + + /* send broadcasts to the broadcast address of the interface */ + + memcpy(dest_sa, broadcast_sa, sa_size(dest_sa) ); + + /* we fill port when we send the broadcast */ + dest_sa -> ipv4.sin_port = htons(0); + + if ( (socket = create_broadcast_socket( &local_sa_copy) ) != -1) + { + PDBG (bjnp_dbg (LOG_INFO, "prepare_socket: %s is IPv4 capable, sending broadcast, socket = %d\n", + if_name, socket)); + } + else + { + PDBG (bjnp_dbg (LOG_INFO, "prepare_socket: ERROR - %s is IPv4 capable, but failed to create a socket.\n", + if_name)); + return -1; + } + } + break; +#ifdef ENABLE_IPV6 + case AF_INET6: + { + local_sa_copy.ipv6.sin6_port = htons(BJNP_PORT_SCAN); + + if (IN6_IS_ADDR_LOOPBACK( &(local_sa_copy.ipv6.sin6_addr) ) ) + { + /* not a valid interface */ + + PDBG (bjnp_dbg (LOG_DEBUG, + "prepare_socket: %s is not a valid IPv6 interface, skipping...\n", + if_name)); + return -1; + } + else + { + dest_sa -> ipv6.sin6_family = AF_INET6; + + /* We fill port when we send the broadcast */ + dest_sa -> ipv6.sin6_port = htons(0); + + inet_pton(AF_INET6, "ff02::1", dest_sa -> ipv6.sin6_addr.s6_addr); + if ( (socket = create_broadcast_socket( &local_sa_copy ) ) != -1) + { + PDBG (bjnp_dbg (LOG_INFO, "prepare_socket: %s is IPv6 capable, sending broadcast, socket = %d\n", + if_name, socket)); + } + else + { + PDBG (bjnp_dbg (LOG_INFO, "prepare_socket: ERROR - %s is IPv6 capable, but failed to create a socket.\n", + if_name)); + return -1; + } + } + } + break; +#endif + + default: + socket = -1; + } + return socket; +} + +static int +bjnp_send_broadcast (int sockfd, const bjnp_sockaddr_t * broadcast_addr, int port, + struct BJNP_command cmd, int size) +{ + int num_bytes; + bjnp_sockaddr_t dest_addr; + + /* set address to send packet to broadcast address of interface, */ + /* with port set to the destination port */ + + memcpy(&dest_addr, broadcast_addr, sizeof(dest_addr)); + if( dest_addr.addr.sa_family == AF_INET) + { + dest_addr.ipv4.sin_port = htons(port); + } +#ifdef ENABLE_IPV6 + if( dest_addr.addr.sa_family == AF_INET6) + { + dest_addr.ipv6.sin6_port = htons(port); + } +#endif + + if ((num_bytes = sendto (sockfd, &cmd, size, 0, + &(dest_addr.addr), + sa_size( broadcast_addr)) ) != size) + { + PDBG (bjnp_dbg (LOG_INFO, + "bjnp_send_broadcast: Socket: %d: ERROR - sent only %x = %d bytes of packet, error = %s\n", + sockfd, num_bytes, num_bytes, strerror (errno))); + /* not allowed, skip this interface */ + + return -1; + } + return sockfd; +} + +static void +bjnp_finish_job (int devno) +{ +/* + * Signal end of scanjob to scanner + */ + + char resp_buf[BJNP_RESP_MAX]; + int resp_len; + struct BJNP_command cmd; + + set_cmd_for_dev (devno, &cmd, CMD_UDP_CLOSE, 0); + + PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_finish_job: Finish scanjob\n")); + PDBG (bjnp_hexdump + (LOG_DEBUG2, (char *) &cmd, sizeof (struct BJNP_command))); + resp_len = + udp_command (devno, (char *) &cmd, sizeof (struct BJNP_command), resp_buf, + BJNP_RESP_MAX); + + if (resp_len != sizeof (struct BJNP_command)) + { + PDBG (bjnp_dbg + (LOG_INFO, + "bjnp_finish_job: ERROR - Received %d characters on close scanjob command, expected %d\n", + resp_len, (int) sizeof (struct BJNP_command))); + return; + } + PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_finish_job: Finish scanjob response\n")); + PDBG (bjnp_hexdump (LOG_DEBUG2, resp_buf, resp_len)); + +} + +#ifdef PIXMA_BJNP_USE_STATUS +static int +bjnp_poll_scanner (int devno, char type,char *hostname, char *user, SANE_Byte *status, int size) +{ +/* + * send details of user to the scanner + */ + + char cmd_buf[BJNP_CMD_MAX]; + char resp_buf[BJNP_RESP_MAX]; + int resp_len; + int len = 0; /* payload length */ + int buf_len; /* length of the whole command buffer */ + struct POLL_DETAILS *poll; + struct POLL_RESPONSE *response; + char user_host[256]; + time_t t; + int user_host_len; + + poll = (struct POLL_DETAILS *) cmd_buf; + memset( poll, 0, sizeof( struct POLL_DETAILS)); + memset( &resp_buf, 0, sizeof( resp_buf) ); + + + /* create payload */ + poll->type = htons(type); + + user_host_len = sizeof( poll -> extensions.type2.user_host); + snprintf(user_host, (user_host_len /2) ,"%s %s", user, hostname); + user_host[ user_host_len /2 + 1] = '\0'; + + switch( type) { + case 0: + len = 80; + break; + case 1: + charTo2byte(poll->extensions.type1.user_host, user_host, user_host_len); + len = 80; + break; + case 2: + poll->extensions.type2.dialog = htonl(device[devno].dialog); + charTo2byte(poll->extensions.type2.user_host, user_host, user_host_len); + poll->extensions.type2.unknown_1 = htonl(0x14); + poll->extensions.type2.unknown_2 = htonl(0x10); + t = time (NULL); + strftime (poll->extensions.type2.ascii_date, + sizeof (poll->extensions.type2.ascii_date), + "%Y%m%d%H%M%S", localtime (&t)); + len = 116; + break; + case 5: + poll->extensions.type5.dialog = htonl(device[devno].dialog); + charTo2byte(poll->extensions.type5.user_host, user_host, user_host_len); + poll->extensions.type5.unknown_1 = htonl(0x14); + poll->extensions.type5.key = htonl(device[devno].status_key); + len = 100; + break; + default: + PDBG (bjnp_dbg (LOG_INFO, "bjnp_poll_scanner: unknown packet type: %d\n", type)); + return -1; + }; + /* we can only now set the header as we now know the length of the payload */ + set_cmd_for_dev (devno, (struct BJNP_command *) cmd_buf, CMD_UDP_POLL, + len); + + buf_len = len + sizeof(struct BJNP_command); + PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_poll_scanner: Poll details (type %d)\n", type)); + PDBG (bjnp_hexdump (LOG_DEBUG2, cmd_buf, + buf_len)); + + resp_len = udp_command (devno, cmd_buf, buf_len, resp_buf, BJNP_RESP_MAX); + + if (resp_len > 0) + { + PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_poll_scanner: Poll details response:\n")); + PDBG (bjnp_hexdump (LOG_DEBUG2, resp_buf, resp_len)); + response = (struct POLL_RESPONSE *) resp_buf; + + device[devno].dialog = ntohl( response -> dialog ); + + if ( response -> result[3] == 1 ) + { + return BJNP_RESTART_POLL; + } + if ( (response -> result[2] & 0x80) != 0) + { + memcpy( status, response->status, size); + PDBG( bjnp_dbg(LOG_INFO, "bjnp_poll_scanner: received button status!\n")); + PDBG (bjnp_hexdump( LOG_DEBUG2, status, size )); + device[devno].status_key = ntohl( response -> key ); + return size; + } + } + return 0; +} +#endif + +static void +bjnp_send_job_details (int devno, char *hostname, char *user, char *title) +{ +/* + * send details of scanjob to scanner + */ + + char cmd_buf[BJNP_CMD_MAX]; + char resp_buf[BJNP_RESP_MAX]; + int resp_len; + struct JOB_DETAILS *job; + struct BJNP_command *resp; + + /* send job details command */ + + set_cmd_for_dev (devno, (struct BJNP_command *) cmd_buf, CMD_UDP_JOB_DETAILS, + sizeof (*job) - sizeof (struct BJNP_command)); + + /* create payload */ + + job = (struct JOB_DETAILS *) (cmd_buf); + charTo2byte (job->unknown, "", sizeof (job->unknown)); + charTo2byte (job->hostname, hostname, sizeof (job->hostname)); + charTo2byte (job->username, user, sizeof (job->username)); + charTo2byte (job->jobtitle, title, sizeof (job->jobtitle)); + + PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_send_job_details: Job details\n")); + PDBG (bjnp_hexdump (LOG_DEBUG2, cmd_buf, + (sizeof (struct BJNP_command) + sizeof (*job)))); + + resp_len = udp_command (devno, cmd_buf, + sizeof (struct JOB_DETAILS), resp_buf, + BJNP_RESP_MAX); + + if (resp_len > 0) + { + PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_send_job_details: Job details response:\n")); + PDBG (bjnp_hexdump (LOG_DEBUG2, resp_buf, resp_len)); + resp = (struct BJNP_command *) resp_buf; + device[devno].session_id = ntohs (resp->session_id); + } +} + +static int +bjnp_get_scanner_mac_address ( int devno, char *mac_address ) +{ +/* + * send discover to scanner + */ + + char cmd_buf[BJNP_CMD_MAX]; + char resp_buf[BJNP_RESP_MAX]; + int resp_len; + struct DISCOVER_RESPONSE *resp = (struct DISCOVER_RESPONSE * )&resp_buf;; + + /* send job details command */ + + set_cmd_for_dev (devno, (struct BJNP_command *) cmd_buf, CMD_UDP_DISCOVER, 0); + resp_len = udp_command (devno, cmd_buf, + sizeof (struct BJNP_command), resp_buf, + BJNP_RESP_MAX); + + if (resp_len > 0) + { + PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_get_scanner_mac_address: Discover response:\n")); + PDBG (bjnp_hexdump (LOG_DEBUG2, resp_buf, resp_len)); + u8tohex( mac_address, resp -> mac_addr, sizeof( resp -> mac_addr ) ); + return 0; + } + return -1; +} + +static int +bjnp_write (int devno, const SANE_Byte * buf, size_t count) +{ +/* + * This function writes TCP data to the scanner. + * Returns: number of bytes written to the scanner + */ + int sent_bytes; + int terrno; + struct SCAN_BUF bjnp_buf; + + if (device[devno].scanner_data_left) + { + PDBG (bjnp_dbg + (LOG_CRIT, "bjnp_write: ERROR - scanner data left = 0x%lx = %ld\n", + (unsigned long) device[devno].scanner_data_left, + (unsigned long) device[devno].scanner_data_left)); + } + /* set BJNP command header */ + + set_cmd_for_dev (devno, (struct BJNP_command *) &bjnp_buf, CMD_TCP_SEND, count); + memcpy (bjnp_buf.scan_data, buf, count); + PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_write: sending 0x%lx = %ld bytes\n", + (unsigned long) count, (unsigned long) count); + PDBG (bjnp_hexdump (LOG_DEBUG2, (char *) &bjnp_buf, + sizeof (struct BJNP_command) + count))); + + if ((sent_bytes = + send (device[devno].tcp_socket, &bjnp_buf, + sizeof (struct BJNP_command) + count, 0)) < + (ssize_t) (sizeof (struct BJNP_command) + count)) + { + /* return result from write */ + terrno = errno; + PDBG (bjnp_dbg (LOG_CRIT, "bjnp_write: ERROR - Could not send data!\n")); + errno = terrno; + return sent_bytes; + } + /* correct nr of bytes sent for length of command */ + + else if (sent_bytes != (int) (sizeof (struct BJNP_command) + count)) + { + errno = EIO; + return -1; + } + return count; +} + +static int +bjnp_send_read_request (int devno) +{ +/* + * This function reads responses from the scanner. + * Returns: 0 on success, else -1 + * + */ + int sent_bytes; + int terrno; + struct BJNP_command bjnp_buf; + + if (device[devno].scanner_data_left) + PDBG (bjnp_dbg + (LOG_CRIT, + "bjnp_send_read_request: ERROR - scanner data left = 0x%lx = %ld\n", + (unsigned long) device[devno].scanner_data_left, + (unsigned long) device[devno].scanner_data_left)); + + /* set BJNP command header */ + + set_cmd_for_dev (devno, (struct BJNP_command *) &bjnp_buf, CMD_TCP_REQ, 0); + + PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_send_read_req sending command\n")); + PDBG (bjnp_hexdump (LOG_DEBUG2, (char *) &bjnp_buf, + sizeof (struct BJNP_command))); + + if ((sent_bytes = + send (device[devno].tcp_socket, &bjnp_buf, sizeof (struct BJNP_command), + 0)) < 0) + { + /* return result from write */ + terrno = errno; + PDBG (bjnp_dbg + (LOG_CRIT, "bjnp_send_read_request: ERROR - Could not send data!\n")); + errno = terrno; + return -1; + } + return 0; +} + +static SANE_Status +bjnp_recv_header (int devno, size_t *payload_size ) +{ +/* + * This function receives the response header to bjnp commands. + * devno device number + * size: return value for data size returned by scanner + * Returns: + * SANE_STATUS_IO_ERROR when any IO error occurs + * SANE_STATUS_GOOD in case no errors were encountered + */ + struct BJNP_command resp_buf; + fd_set input; + struct timeval timeout; + int recv_bytes; + int terrno; + int result; + int fd; + int attempt; + + PDBG (bjnp_dbg + (LOG_DEBUG, "bjnp_recv_header: receiving response header\n") ); + fd = device[devno].tcp_socket; + + *payload_size = 0; + attempt = 0; + do + { + /* wait for data to be received, ignore signals being received */ + FD_ZERO (&input); + FD_SET (fd, &input); + + timeout.tv_sec = device[devno].bjnp_ip_timeout /1000; + timeout.tv_usec = device[devno].bjnp_ip_timeout %1000; + } + while ( ( (result = select (fd + 1, &input, NULL, NULL, &timeout)) <= 0) && + (errno == EINTR) && (attempt++ < BJNP_MAX_SELECT_ATTEMPTS)); + + if (result < 0) + { + terrno = errno; + PDBG (bjnp_dbg (LOG_CRIT, + "bjnp_recv_header: ERROR - could not read response header (select): %s!\n", + strerror (terrno))); + errno = terrno; + return SANE_STATUS_IO_ERROR; + } + else if (result == 0) + { + terrno = errno; + PDBG (bjnp_dbg (LOG_CRIT, + "bjnp_recv_header: ERROR - could not read response header (select timed out after %d ms)!\n", + device[devno].bjnp_ip_timeout ) ); + errno = terrno; + return SANE_STATUS_IO_ERROR; + } + + /* get response header */ + + if ((recv_bytes = + recv (fd, (char *) &resp_buf, + sizeof (struct BJNP_command), + 0)) != sizeof (struct BJNP_command)) + { + terrno = errno; + if (recv_bytes == 0) + { + PDBG (bjnp_dbg (LOG_CRIT, + "bjnp_recv_header: ERROR - (recv) Scanner closed the TCP-connection!\n")); + } else { + PDBG (bjnp_dbg (LOG_CRIT, + "bjnp_recv_header: ERROR - (recv) could not read response header, received %d bytes!\n", + recv_bytes)); + PDBG (bjnp_dbg + (LOG_CRIT, "bjnp_recv_header: ERROR - (recv) error: %s!\n", + strerror (terrno))); + } + errno = terrno; + return SANE_STATUS_IO_ERROR; + } + + if (resp_buf.cmd_code != device[devno].last_cmd) + { + PDBG (bjnp_dbg + (LOG_CRIT, + "bjnp_recv_header: ERROR - Received response has cmd code %d, expected %d\n", + resp_buf.cmd_code, device[devno].last_cmd)); + return SANE_STATUS_IO_ERROR; + } + + if (ntohs (resp_buf.seq_no) != (uint16_t) device[devno].serial) + { + PDBG (bjnp_dbg + (LOG_CRIT, + "bjnp_recv_header: ERROR - Received response has serial %d, expected %d\n", + (int) ntohs (resp_buf.seq_no), (int) device[devno].serial)); + return SANE_STATUS_IO_ERROR; + } + + /* got response header back, retrieve length of payload */ + + + *payload_size = ntohl (resp_buf.payload_len); + PDBG (bjnp_dbg + (LOG_DEBUG, "bjnp_recv_header: TCP response header(payload data = %ld bytes):\n", + *payload_size) ); + PDBG (bjnp_hexdump + (LOG_DEBUG2, (char *) &resp_buf, sizeof (struct BJNP_command))); + return SANE_STATUS_GOOD; +} + +static int +bjnp_init_device_structure(int dn, bjnp_sockaddr_t *sa, bjnp_protocol_defs_t *protocol_defs, int ip_timeout) +{ + /* initialize device structure */ + + char name[BJNP_HOST_MAX]; + + device[dn].open = 0; +#ifdef PIXMA_BJNP_USE_STATUS + device[dn].polling_status = BJNP_POLL_STOPPED; + device[dn].dialog = 0; + device[dn].status_key = 0; +#endif + device[dn].protocol = protocol_defs->protocol_version; + device[dn].protocol_string = protocol_defs->proto_string; + device[dn].tcp_socket = -1; + + device[dn].addr = (bjnp_sockaddr_t *) malloc(sizeof ( bjnp_sockaddr_t) ); + memset( device[dn].addr, 0, sizeof( bjnp_sockaddr_t ) ); + memcpy(device[dn].addr, sa, sa_size((bjnp_sockaddr_t *)sa) ); + device[dn].address_level = get_scanner_name(sa, name); + device[dn].session_id = 0; + device[dn].serial = -1; + device[dn].bjnp_ip_timeout = ip_timeout; + device[dn].bjnp_scanner_timeout = 1000; + device[dn].scanner_data_left = 0; + device[dn].last_cmd = 0; + device[dn].blocksize = BJNP_BLOCKSIZE_START; + device[dn].last_block = 0; + /* fill mac_address */ + + if (bjnp_get_scanner_mac_address(dn, device[dn].mac_address) != 0 ) + { + PDBG (bjnp_dbg + (LOG_CRIT, "bjnp_init_device_structure: Cannot read mac address, skipping this scanner\n" ) ); + device[dn].open = 0; + return -1; + } + device[dn].open = 1; + return 0; +} + +static void +bjnp_free_device_structure( int dn) +{ + if (device[dn].addr != NULL) + { + free (device[dn].addr ); + device[dn].addr = NULL; + } + device[dn].open = 0; +} + +static SANE_Status +bjnp_recv_data (int devno, SANE_Byte * buffer, size_t start_pos, size_t * len) +{ +/* + * This function receives the payload data. + * NOTE: len may not exceed SSIZE_MAX (as that is max for recv) + * len will be restricted to SSIZE_MAX to be sure + * Returns: number of bytes of payload received from device + */ + + fd_set input; + struct timeval timeout; + ssize_t recv_bytes; + int terrno; + int result; + int fd; + int attempt; + + PDBG (bjnp_dbg + (LOG_DEBUG, "bjnp_recv_data: read response payload (0x%lx bytes max), buffer: 0x%lx, start_pos: 0x%lx\n", + (long) *len, (long) buffer, (long) start_pos)); + + + if (*len == 0) + { + /* nothing to do */ + PDBG (bjnp_dbg + (LOG_DEBUG, "bjnp_recv_data: Nothing to do (%ld bytes requested)\n", + (long) *len)); + return SANE_STATUS_GOOD; + } + else if ( *len > SSIZE_MAX ) + { + PDBG (bjnp_dbg + (LOG_DEBUG, "bjnp_recv_data: WARNING - requested block size (%ld) exceeds maximum, setting to maximum %ld\n", + (long)*len, SSIZE_MAX)); + *len = SSIZE_MAX; + } + + fd = device[devno].tcp_socket; + attempt = 0; + do + { + /* wait for data to be received, retry on a signal being received */ + FD_ZERO (&input); + FD_SET (fd, &input); + timeout.tv_sec = device[devno].bjnp_ip_timeout /1000; + timeout.tv_usec = device[devno].bjnp_ip_timeout %1000; + } + while (((result = select (fd + 1, &input, NULL, NULL, &timeout)) <= 0) && + (errno == EINTR) && (attempt++ < BJNP_MAX_SELECT_ATTEMPTS)); + + if (result < 0) + { + terrno = errno; + PDBG (bjnp_dbg (LOG_CRIT, + "bjnp_recv_data: ERROR - could not read response payload (select failed): %s!\n", + strerror (errno))); + errno = terrno; + *len = 0; + return SANE_STATUS_IO_ERROR; + } + else if (result == 0) + { + terrno = errno; + PDBG (bjnp_dbg (LOG_CRIT, + "bjnp_recv_data: ERROR - could not read response payload (select timed out after %d ms)!\n", + device[devno].bjnp_ip_timeout) ); + errno = terrno; + *len = 0; + return SANE_STATUS_IO_ERROR; + } + + if ((recv_bytes = recv (fd, buffer + start_pos, *len, 0)) < 0) + { + terrno = errno; + PDBG (bjnp_dbg (LOG_CRIT, + "bjnp_recv_data: ERROR - could not read response payload (%ld + %ld = %ld) (recv): %s!\n", + (long) buffer, (long) start_pos, (long) buffer + start_pos, strerror (errno))); + errno = terrno; + *len = 0; + return SANE_STATUS_IO_ERROR; + } + PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_recv_data: Received TCP response payload (%ld bytes):\n", + (unsigned long) recv_bytes)); + PDBG (bjnp_hexdump (LOG_DEBUG2, buffer, recv_bytes)); + + *len = recv_bytes; + return SANE_STATUS_GOOD; +} + +static BJNP_Status +bjnp_allocate_device (SANE_String_Const devname, + SANE_Int * dn, char *resulting_host) +{ + char method[BJNP_METHOD_MAX]; + char host[BJNP_HOST_MAX]; + char port[BJNP_PORT_MAX] = ""; + char args[BJNP_ARGS_MAX]; + bjnp_protocol_defs_t *protocol_defs; + struct addrinfo *res, *cur; + struct addrinfo hints; + int result; + int i; + int ip_timeout = BJNP_TIMEOUT_DEFAULT; + + PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_allocate_device(%s) %d\n", devname, bjnp_no_devices)); + + if (split_uri (devname, method, host, port, args) != 0) + { + return BJNP_STATUS_INVAL; + } + + if (strlen (args) > 0) + { + /* get device specific ip timeout if any */ + + if (strncmp(args, "timeout=", strlen("timeout=")) == 0) + { + ip_timeout = atoi(args + strlen("timeout=")); + } else { + PDBG (bjnp_dbg + (LOG_CRIT, + "bjnp_allocate_device: ERROR - Unrecognized argument: %s\n", + devname)); + + return BJNP_STATUS_INVAL; + } + } + if ( (protocol_defs = get_protocol_by_method(method)) == NULL) + { + PDBG (bjnp_dbg + (LOG_CRIT, "bjnp_allocate_device: ERROR - URI %s contains invalid method: %s\n", + devname, method)); + return BJNP_STATUS_INVAL; + } + + if (strlen(port) == 0) + { + sprintf( port, "%d", protocol_defs->default_port ); + } + + hints.ai_flags = 0; +#ifdef ENABLE_IPV6 + hints.ai_family = AF_UNSPEC; +#else + hints.ai_family = AF_INET; +#endif + hints.ai_socktype = SOCK_DGRAM; + hints.ai_protocol = 0; + hints.ai_addrlen = 0; + hints.ai_addr = NULL; + hints.ai_canonname = NULL; + hints.ai_next = NULL; + + result = getaddrinfo (host, port, &hints, &res ); + if (result != 0 ) + { + PDBG (bjnp_dbg (LOG_CRIT, "bjnp_allocate_device: ERROR - Cannot resolve host: %s port %s\n", host, port)); + return SANE_STATUS_INVAL; + } + + /* Check if a device number is already allocated to any of the scanner's addresses */ + + cur = res; + while( cur != NULL) + { + /* create a new device structure for this address */ + + if (bjnp_no_devices == BJNP_NO_DEVICES) + { + PDBG (bjnp_dbg + (LOG_CRIT, + "bjnp_allocate_device: WARNING - Too many devices, ran out of device structures, cannot add %s\n", + devname)); + freeaddrinfo(res); + return BJNP_STATUS_INVAL; + } + if (bjnp_init_device_structure( bjnp_no_devices, (bjnp_sockaddr_t *)cur -> ai_addr, + protocol_defs, ip_timeout) != 0) + { + /* giving up on this address, try next one if any */ + cur = cur->ai_next; + continue; + } + for (i = 0; i < bjnp_no_devices; i++) + { + + /* Check if found the scanner before, if so we use the best address + * but still make sure the scanner is listed only once. + * We check for matching addresses as wel as matching mac_addresses as + * an IPv6 host can have multiple adresses */ + + if ( strcmp( device[i].mac_address, device[bjnp_no_devices].mac_address ) == 0 ) + { + if ( device[i].address_level < device[bjnp_no_devices].address_level ) + { + /* use the new address instead as it is better */ + free (device[i].addr); + device[i].addr = device[bjnp_no_devices].addr; + device[bjnp_no_devices].addr = NULL; + device[i].address_level = device[bjnp_no_devices].address_level; + } + + /* Leave timeout values unchanged, as they were probably specified by the user */ + + freeaddrinfo(res); + *dn = i; + bjnp_free_device_structure( bjnp_no_devices); + return BJNP_STATUS_ALREADY_ALLOCATED; + } + } + cur = cur->ai_next; + } + freeaddrinfo(res); + + if (device[bjnp_no_devices].open == 0) + { + PDBG (bjnp_dbg(LOG_NOTICE, "bjnp_allocate_device: Cannot access scanner, skipping!")); + return BJNP_STATUS_INVAL; + } + + PDBG (bjnp_dbg (LOG_INFO, "bjnp_allocate_device: Scanner not yet in our list, added it: %s:%s\n", host, port)); + + /* Commit new device structure */ + + *dn = bjnp_no_devices; + bjnp_no_devices++; + + /* return hostname if required */ + + if (resulting_host != NULL) + { + strcpy (resulting_host, host); + } + + return BJNP_STATUS_GOOD; +} + +static void add_scanner(SANE_Int *dev_no, + const char *uri, + SANE_Status (*attach_bjnp) + (SANE_String_Const devname, + SANE_String_Const serial, + const struct pixma_config_t *cfg), + const struct pixma_config_t *const pixma_devices[]) + +{ + char scanner_host[BJNP_HOST_MAX]; + char serial[BJNP_SERIAL_MAX]; + char makemodel[BJNP_MODEL_MAX]; + const struct pixma_config_t *cfg = NULL; + + /* Allocate device structure for scanner */ + switch (bjnp_allocate_device (uri, dev_no, scanner_host)) + { + case BJNP_STATUS_GOOD: + if (get_scanner_id (*dev_no, makemodel) != 0) + { + PDBG (bjnp_dbg (LOG_CRIT, "add_scanner: ERROR - Cannot read scanner make & model: %s\n", + uri)); + } + else + { + /* + * fetch scanner configuration + */ + if ((cfg = lookup_scanner(makemodel, pixma_devices)) == (struct pixma_config_t *)NULL) + { + PDBG (bjnp_dbg (LOG_CRIT, "add_scanner: Scanner %s is not supported, model is unknown! Please report upstream\n", makemodel)); + break; + } + + /* + * inform caller of found scanner + */ + + determine_scanner_serial (scanner_host, device[*dev_no].mac_address, serial); + + switch (attach_bjnp (uri, serial, cfg)) + { + case SANE_STATUS_GOOD: + PDBG (bjnp_dbg (LOG_NOTICE, "add_scanner: New scanner added: %s, serial %s, mac address: %s.\n", + uri, serial, device[*dev_no].mac_address)); + break; + default: + PDBG (bjnp_dbg (LOG_CRIT, "add_scanner: unexpected error (out of memory?), adding %s\n", makemodel)); + } + } + + break; + case BJNP_STATUS_ALREADY_ALLOCATED: + PDBG (bjnp_dbg (LOG_NOTICE, "add_scanner: Scanner at %s was added before, good!\n", + uri)); + break; + + case BJNP_STATUS_INVAL: + PDBG (bjnp_dbg (LOG_NOTICE, "add_scanner: Scanner at %s can not be added\n", + uri)); + break; + } +} + +int add_timeout_to_uri(char *uri, int timeout, int max_len) +{ + char method[BJNP_METHOD_MAX]; + char host[BJNP_HOST_MAX]; + char port_str[BJNP_PORT_MAX]; + char args[BJNP_HOST_MAX]; + int port; + bjnp_protocol_defs_t *proto_struct; + + if (split_uri(uri, method, host, port_str, args ) != 0) + { + return -1; + } + + port = atoi(port_str); + + if (port == 0) + { + proto_struct = get_protocol_by_method(method); + if (proto_struct == NULL) + { + PDBG (bjnp_dbg (LOG_NOTICE, "uri: %s: Method %s cannot be recognized\n", uri, method)); + } + else + { + port = proto_struct-> default_port; + } + } + + /* add timeout value only if missing in URI */ + + if (strstr(args, "timeout=") == NULL) + { + sprintf(args, "timeout=%d", timeout); + } + + snprintf(uri, max_len -1, "%s://%s:%d/%s", method,host, port, args); + uri[max_len - 1] = '\0'; + return 0; +} + +/** Public functions **/ + +/** Initialize sanei_bjnp. + * + * Call this before any other sanei_bjnp function. + */ +extern void +sanei_bjnp_init (void) +{ + DBG_INIT(); + bjnp_no_devices = 0; +} + +/** + * Find devices that implement the bjnp protocol + * + * The function attach is called for every device which has been found. + * + * @param attach attach function + * + * @return SANE_STATUS_GOOD - on success (even if no scanner was found) + */ +extern SANE_Status +sanei_bjnp_find_devices (const char **conf_devices, + SANE_Status (*attach_bjnp) + (SANE_String_Const devname, + SANE_String_Const serial, + const struct pixma_config_t *cfg), + const struct pixma_config_t *const pixma_devices[]) +{ + int numbytes = 0; + struct BJNP_command cmd; + unsigned char resp_buf[2048]; + struct DISCOVER_RESPONSE *disc_resp = ( struct DISCOVER_RESPONSE *) & resp_buf; + int socket_fd[BJNP_SOCK_MAX]; + int no_sockets; + int i; + int j; + int attempt; + int last_socketfd = 0; + fd_set fdset; + fd_set active_fdset; + struct timeval timeout; + char scanner_host[HOST_NAME_MAX]; + char uri[HOST_NAME_MAX + 32]; + int dev_no; + int port; + int auto_detect = 1; + int timeout_default = BJNP_TIMEOUT_DEFAULT; + bjnp_sockaddr_t broadcast_addr[BJNP_SOCK_MAX]; + bjnp_sockaddr_t scanner_sa; + socklen_t socklen; + bjnp_protocol_defs_t *protocol_defs; + + memset( broadcast_addr, 0, sizeof( broadcast_addr) ); + memset( &scanner_sa, 0 ,sizeof( scanner_sa ) ); + PDBG (bjnp_dbg (LOG_INFO, "sanei_bjnp_find_devices, pixma backend version: %d.%d.%d\n", + PIXMA_VERSION_MAJOR, PIXMA_VERSION_MINOR, PIXMA_VERSION_BUILD)); + bjnp_no_devices = 0; + + for (i=0; i < BJNP_SOCK_MAX; i++) + { + socket_fd[i] = -1; + } + + /* parse config file */ + + if (conf_devices[0] != NULL) + { + if (strcmp(conf_devices[0], "networking=no") == 0) + { + /* networking=no may only occur on the first non-commented line */ + + PDBG (bjnp_dbg( LOG_DEBUG, "sanei_bjnp_find_devices: Networked scanner detection is disabled in configuration file.\n" ) ); + return SANE_STATUS_GOOD; + } + /* parse configuration file */ + + for (i = 0; conf_devices[i] != NULL; i++) + { + if (strncmp(conf_devices[i], "bjnp-timeout=", strlen("bjnp-timeout="))== 0) + { + timeout_default = atoi(conf_devices[i] + strlen("bjnp-timeout=") ); + PDBG ( bjnp_dbg (LOG_DEBUG, "Set new default timeout value: %d ms.", timeout_default)); + continue; + } + else if (strncmp(conf_devices[i], "auto_detection=no", strlen("auto_detection=no"))== 0) + { + auto_detect = 0; + PDBG ( bjnp_dbg (LOG_DEBUG, "sanei_bjnp_find_devices: auto detection of scanners disabled")); + continue; + } + else + { + PDBG (bjnp_dbg (LOG_DEBUG, "sanei_bjnp_find_devices: Adding scanner from pixma.conf: %s\n", conf_devices[i])); + memcpy(uri, conf_devices[i], sizeof(uri)); + add_timeout_to_uri(uri, timeout_default, sizeof(uri)); + add_scanner(&dev_no, uri, attach_bjnp, pixma_devices); + } + } + PDBG (bjnp_dbg (LOG_DEBUG, "sanei_bjnp_find_devices: Added all specified scanners.\n")); + } + else + { + PDBG (bjnp_dbg( LOG_DEBUG, "sanei_bjnp_find_devices: Configuration file is empty, No devices specified.\n" ) ); + } + + if (auto_detect == 0) + { + return SANE_STATUS_GOOD; + } + /* + * Send UDP DISCOVER to discover scanners and return the list of scanners found + */ + + PDBG (bjnp_dbg( LOG_DEBUG, "sanei_bjnp_find_devices: Start auto-detection.\n" ) ); + FD_ZERO (&fdset); + + no_sockets = 0; +#ifdef HAVE_IFADDRS_H + { + struct ifaddrs *interfaces = NULL; + struct ifaddrs *interface; + getifaddrs (&interfaces); + + /* create a socket for each suitable interface */ + + interface = interfaces; + while ((no_sockets < BJNP_SOCK_MAX) && (interface != NULL)) + { + if ( ! (interface -> ifa_flags & IFF_POINTOPOINT) && + ( (socket_fd[no_sockets] = + prepare_socket( interface -> ifa_name, + (bjnp_sockaddr_t *) interface -> ifa_addr, + (bjnp_sockaddr_t *) interface -> ifa_broadaddr, + &broadcast_addr[no_sockets] ) ) != -1 ) ) + { + /* track highest used socket for later use in select */ + if (socket_fd[no_sockets] > last_socketfd) + { + last_socketfd = socket_fd[no_sockets]; + } + FD_SET (socket_fd[no_sockets], &fdset); + no_sockets++; + } + interface = interface->ifa_next; + } + freeifaddrs (interfaces); + } +#else + /* we have no easy way to find interfaces with their broadcast addresses. */ + /* use global broadcast and all-hosts instead */ + { + bjnp_sockaddr_t local; + bjnp_sockaddr_t bc_addr; + + memset( &local, 0, sizeof( local) ); + local.ipv4.sin_family = AF_INET; + local.ipv4.sin_addr.s_addr = htonl (INADDR_ANY); + + bc_addr.ipv4.sin_family = AF_INET; + bc_addr.ipv4.sin_port = htons(0); + bc_addr.ipv4.sin_addr.s_addr = htonl (INADDR_BROADCAST); + + socket_fd[no_sockets] = prepare_socket( "any_interface", + &local, + &bc_addr, + &broadcast_addr[no_sockets] ); + if (socket_fd[no_sockets] >= 0) + { + FD_SET (socket_fd[no_sockets], &fdset); + if (socket_fd[no_sockets] > last_socketfd) + { + last_socketfd = socket_fd[no_sockets]; + } + no_sockets++; + } +#ifdef ENABLE_IPV6 + local.ipv6.sin6_family = AF_INET6; + local.ipv6.sin6_addr = in6addr_any; + + socket_fd[no_sockets] = prepare_socket( "any_interface", + &local, + NULL, + &broadcast_addr[no_sockets] ); + if (socket_fd[no_sockets] >= 0) + { + FD_SET (socket_fd[no_sockets], &fdset); + if (socket_fd[no_sockets] > last_socketfd) + { + last_socketfd = socket_fd[no_sockets]; + } + no_sockets++; + } +#endif + } +#endif + + /* send BJNP_MAX_BROADCAST_ATTEMPTS broadcasts on each prepared socket */ + for (attempt = 0; attempt < BJNP_MAX_BROADCAST_ATTEMPTS; attempt++) + { + for ( i=0; i < no_sockets; i++) + { + j = 0; + while(bjnp_protocol_defs[j].protocol_version != PROTOCOL_NONE) + { + set_cmd_from_string (bjnp_protocol_defs[j].proto_string, &cmd, CMD_UDP_DISCOVER, 0); + bjnp_send_broadcast ( socket_fd[i], &broadcast_addr[i], + bjnp_protocol_defs[j].default_port, cmd, sizeof (cmd)); + j++; + } + } + /* wait for some time between broadcast packets */ + usleep (BJNP_BROADCAST_INTERVAL * BJNP_USLEEP_MS); + } + + /* wait for a UDP response */ + + timeout.tv_sec = 0; + timeout.tv_usec = BJNP_BC_RESPONSE_TIMEOUT * BJNP_USLEEP_MS; + + + active_fdset = fdset; + + while (select (last_socketfd + 1, &active_fdset, NULL, NULL, &timeout) > 0) + { + PDBG (bjnp_dbg (LOG_DEBUG, "sanei_bjnp_find_devices: Select returned, time left %d.%d....\n", + (int) timeout.tv_sec, (int) timeout.tv_usec)); + for (i = 0; i < no_sockets; i++) + { + if (FD_ISSET (socket_fd[i], &active_fdset)) + { + socklen = sizeof(scanner_sa); + if ((numbytes = + recvfrom (socket_fd[i], resp_buf, sizeof (resp_buf), 0, + &(scanner_sa.addr), &socklen ) ) == -1) + { + PDBG (bjnp_dbg + (LOG_INFO, "sanei_find_devices: no data received")); + break; + } + else + { + PDBG (bjnp_dbg (LOG_DEBUG2, "sanei_find_devices: Discover response:\n")); + PDBG (bjnp_hexdump (LOG_DEBUG2, &resp_buf, numbytes)); + + /* check if something sensible is returned */ + protocol_defs = get_protocol_by_proto_string(disc_resp-> response.BJNP_id); + if ( (numbytes < (int)sizeof (struct BJNP_command)) || + (protocol_defs == NULL)) + { + /* not a valid response, assume not a scanner */ + + char bjnp_id[5]; + strncpy(bjnp_id, disc_resp-> response.BJNP_id, 4); + bjnp_id[4] = '\0'; + PDBG (bjnp_dbg (LOG_INFO, + "sanei_find_devices: Invalid discover response! Length = %d, Id = %s\n", + numbytes, bjnp_id ) ); + break; + } + if ( !(disc_resp -> response.dev_type & 0x80) ) + { + /* not a response, a command from somebody else or */ + /* a discover command that we generated */ + break; + } + }; + + port = get_port_from_sa(scanner_sa); + /* scanner found, get IP-address or hostname */ + get_scanner_name( &scanner_sa, scanner_host); + + /* construct URI */ + sprintf (uri, "%s://%s:%d/timeout=%d", protocol_defs->method_string, scanner_host, + port, timeout_default); + + add_scanner( &dev_no, uri, attach_bjnp, pixma_devices); + + } + } + active_fdset = fdset; + timeout.tv_sec = 0; + timeout.tv_usec = BJNP_BC_RESPONSE_TIMEOUT * BJNP_USLEEP_MS; + } + PDBG (bjnp_dbg (LOG_DEBUG, "sanei_find_devices: scanner discovery finished...\n")); + + for (i = 0; i < no_sockets; i++) + close (socket_fd[i]); + + return SANE_STATUS_GOOD; +} + +/** Open a BJNP device. + * + * The device is opened by its name devname and the device number is + * returned in dn on success. + * + * Device names consist of an URI + * Where: + * type = bjnp + * hostname = resolvable name or IP-address + * port = 8612 for a scanner + * An example could look like this: bjnp://host.domain:8612 + * + * @param devname name of the device to open + * @param dn device number + * + * @return + * - SANE_STATUS_GOOD - on success + * - SANE_STATUS_ACCESS_DENIED - if the file couldn't be accessed due to + * permissions + * - SANE_STATUS_INVAL - on every other error + */ + +extern SANE_Status +sanei_bjnp_open (SANE_String_Const devname, SANE_Int * dn) +{ + int result; + + PDBG (bjnp_dbg (LOG_INFO, "sanei_bjnp_open(%s, %d):\n", devname, *dn)); + + result = bjnp_allocate_device (devname, dn, NULL); + if ( (result != BJNP_STATUS_GOOD) && (result != BJNP_STATUS_ALREADY_ALLOCATED ) ) { + return SANE_STATUS_INVAL; + } + return SANE_STATUS_GOOD; +} + +/** Close a BJNP device. + * + * @param dn device number + */ + +void +sanei_bjnp_close (SANE_Int dn) +{ + PDBG (bjnp_dbg (LOG_INFO, "sanei_bjnp_close(%d):\n", dn)); + + device[dn].open = 0; + sanei_bjnp_deactivate(dn); +} + +/** Activate BJNP device connection + * + * @param dn device number + */ + +SANE_Status +sanei_bjnp_activate (SANE_Int dn) +{ + char hostname[256]; + char pid_str[64]; + + PDBG (bjnp_dbg (LOG_INFO, "sanei_bjnp_activate (%d)\n", dn)); + gethostname (hostname, 256); + hostname[255] = '\0'; + sprintf (pid_str, "Process ID = %d", getpid ()); + + bjnp_send_job_details (dn, hostname, getusername (), pid_str); + + if (bjnp_open_tcp (dn) != 0) + { + return SANE_STATUS_INVAL; + } + + return SANE_STATUS_GOOD; +} + +/** Deactivate BJNP device connection + * + * @paran dn device number + */ + +SANE_Status +sanei_bjnp_deactivate (SANE_Int dn) +{ + PDBG (bjnp_dbg (LOG_INFO, "sanei_bjnp_deactivate (%d)\n", dn)); + if ( device[dn].tcp_socket != -1) + { + bjnp_finish_job (dn); + close (device[dn].tcp_socket); + device[dn].tcp_socket = -1; + } + return SANE_STATUS_GOOD; +} + +/** Set the timeout for interrupt reads. + * we do not use it for bulk reads! + * @param timeout the new timeout in ms + */ +extern void +sanei_bjnp_set_timeout (SANE_Int devno, SANE_Int timeout) +{ + PDBG (bjnp_dbg (LOG_INFO, "bjnp_set_timeout to %d\n", + timeout)); + + device[devno].bjnp_scanner_timeout = timeout; +} + +/** Initiate a bulk transfer read. + * + * Read up to size bytes from the device to buffer. After the read, size + * contains the number of bytes actually read. + * + * @param dn device number + * @param buffer buffer to store read data in + * @param size size of the data + * + * @return + * - SANE_STATUS_GOOD - on succes + * - SANE_STATUS_EOF - if zero bytes have been read + * - SANE_STATUS_IO_ERROR - if an error occured during the read + * - SANE_STATUS_INVAL - on every other error + * + */ + +extern SANE_Status +sanei_bjnp_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) +{ + SANE_Status result; + SANE_Status error; + size_t recvd; + size_t read_size; + size_t read_size_max; + size_t requested; + + PDBG (bjnp_dbg + (LOG_INFO, "bjnp_read_bulk(dn=%d, bufferptr=%lx, 0x%lx = %ld)\n", dn, + (long) buffer, (unsigned long) *size, (unsigned long) *size)); + + recvd = 0; + requested = *size; + + PDBG (bjnp_dbg + (LOG_DEBUG, "bjnp_read_bulk: 0x%lx = %ld bytes available at start\n", + (unsigned long) device[dn].scanner_data_left, + (unsigned long) device[dn].scanner_data_left ) ); + + while ( (recvd < requested) && !( device[dn].last_block && (device[dn].scanner_data_left == 0)) ) + { + PDBG (bjnp_dbg + (LOG_DEBUG, + "bjnp_read_bulk: Already received 0x%lx = %ld bytes, backend requested 0x%lx = %ld bytes\n", + (unsigned long) recvd, (unsigned long) recvd, + (unsigned long) requested, (unsigned long)requested )); + + /* Check first if there is data in flight from the scanner */ + + if (device[dn].scanner_data_left == 0) + { + /* There is no data in flight from the scanner, send new read request */ + + PDBG (bjnp_dbg (LOG_DEBUG, + "bjnp_read_bulk: No (more) scanner data available, requesting more( blocksize = %ld = %lx\n", + (long int) device[dn].blocksize, (long int) device[dn].blocksize )); + + if ((error = bjnp_send_read_request (dn)) != SANE_STATUS_GOOD) + { + *size = recvd; + return SANE_STATUS_IO_ERROR; + } + if ( ( error = bjnp_recv_header (dn, &(device[dn].scanner_data_left) ) ) != SANE_STATUS_GOOD) + { + *size = recvd; + return SANE_STATUS_IO_ERROR; + } + /* correct blocksize if applicable */ + + device[dn].blocksize = MAX (device[dn].blocksize, device[dn].scanner_data_left); + + if ( device[dn].scanner_data_left < device[dn].blocksize) + { + /* the scanner will not react at all to a read request, when no more data is available */ + /* we now determine end of data by comparing the payload size to the maximun blocksize */ + /* this block is shorter than blocksize, so after this block we are done */ + + device[dn].last_block = 1; + } + } + + PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_read_bulk: In flight: 0x%lx = %ld bytes available\n", + (unsigned long) device[dn].scanner_data_left, + (unsigned long) device[dn].scanner_data_left)); + + /* read as many bytes as needed and available */ + + read_size_max = MIN( device[dn].scanner_data_left, (requested - recvd) ); + read_size = read_size_max; + + PDBG (bjnp_dbg + (LOG_DEBUG, + "bjnp_read_bulk: Try to read 0x%lx = %ld (of max 0x%lx = %ld) bytes\n", + (unsigned long) read_size_max, + (unsigned long) read_size_max, + (unsigned long) device[dn].scanner_data_left, + (unsigned long) device[dn].scanner_data_left) ); + + result = bjnp_recv_data (dn, buffer , recvd, &read_size); + if (result != SANE_STATUS_GOOD) + { + *size = recvd; + return SANE_STATUS_IO_ERROR; + } + PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_read_bulk: Expected at most %ld bytes, received this time: %ld\n", + read_size_max, read_size) ); + + device[dn].scanner_data_left = device[dn].scanner_data_left - read_size; + recvd = recvd + read_size; + } + + PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_read_bulk: %s: Returning %ld bytes, backend expexts %ld\n", + (recvd == *size)? "OK": "NOTICE",recvd, *size ) ); + *size = recvd; + if ( *size == 0 ) + return SANE_STATUS_EOF; + return SANE_STATUS_GOOD; +} + +/** Initiate a bulk transfer write. + * + * Write up to size bytes from buffer to the device. After the write size + * contains the number of bytes actually written. + * + * @param dn device number + * @param buffer buffer to write to device + * @param size size of the data + * + * @return + * - SANE_STATUS_GOOD - on succes + * - SANE_STATUS_IO_ERROR - if an error occured during the write + * - SANE_STATUS_INVAL - on every other error + */ + +extern SANE_Status +sanei_bjnp_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) +{ + ssize_t sent; + size_t recvd; + uint32_t buf; + size_t payload_size; + + /* Write received data to scanner */ + + sent = bjnp_write (dn, buffer, *size); + if (sent < 0) + return SANE_STATUS_IO_ERROR; + if (sent != (int) *size) + { + PDBG (bjnp_dbg + (LOG_CRIT, "sanei_bjnp_write_bulk: ERROR - Sent only %ld bytes to scanner, expected %ld!!\n", + (unsigned long) sent, (unsigned long) *size)); + return SANE_STATUS_IO_ERROR; + } + + if (bjnp_recv_header (dn, &payload_size) != SANE_STATUS_GOOD) + { + PDBG (bjnp_dbg (LOG_CRIT, "sanei_bjnp_write_bulk: ERROR - Could not read response to command!\n")); + return SANE_STATUS_IO_ERROR; + } + + if (payload_size != 4) + { + PDBG (bjnp_dbg (LOG_CRIT, + "sanei_bjnp_write_bulk: ERROR - Scanner length of write confirmation = 0x%lx bytes = %ld, expected %d!!\n", + (unsigned long) payload_size, + (unsigned long) payload_size, 4)); + return SANE_STATUS_IO_ERROR; + } + recvd = payload_size; + if ((bjnp_recv_data (dn, (unsigned char *) &buf, 0, &recvd) != + SANE_STATUS_GOOD) || (recvd != payload_size)) + { + PDBG (bjnp_dbg (LOG_CRIT, + "sanei_bjnp_write_bulk: ERROR - Could not read length of data confirmed by device\n")); + return SANE_STATUS_IO_ERROR; + } + recvd = ntohl (buf); + if (recvd != *size) + { + PDBG (bjnp_dbg + (LOG_CRIT, "sanei_bjnp_write_bulk: ERROR - Scanner confirmed %ld bytes, expected %ld!!\n", + (unsigned long) recvd, (unsigned long) *size)); + return SANE_STATUS_IO_ERROR; + } + /* we can expect data from the scanner */ + + device[dn].last_block = 0; + + return SANE_STATUS_GOOD; +} + +/** Initiate a interrupt transfer read. + * + * Read up to size bytes from the interrupt endpoint from the device to + * buffer. After the read, size contains the number of bytes actually read. + * + * @param dn device number + * @param buffer buffer to store read data in + * @param size size of the data + * + * @return + * - SANE_STATUS_GOOD - on succes + * - SANE_STATUS_EOF - if zero bytes have been read + * - SANE_STATUS_IO_ERROR - if an error occured during the read + * - SANE_STATUS_INVAL - on every other error + * + */ + +extern SANE_Status +sanei_bjnp_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) +{ +#ifndef PIXMA_BJNP_USE_STATUS + PDBG (bjnp_dbg + (LOG_INFO, "bjnp_read_int(%d, bufferptr, 0x%lx = %ld):\n", dn, + (unsigned long) *size, (unsigned long) *size)); + + memset (buffer, 0, *size); + sleep (1); + return SANE_STATUS_IO_ERROR; +#else + + char hostname[256]; + int resp_len; + int timeout; + int interval; + + PDBG (bjnp_dbg + (LOG_INFO, "bjnp_read_int(%d, bufferptr, 0x%lx = %ld):\n", dn, + (unsigned long) *size, (unsigned long) *size)); + + memset (buffer, 0, *size); + + gethostname (hostname, 32); + hostname[32] = '\0'; + + + switch (device[dn].polling_status) + { + case BJNP_POLL_STOPPED: + + /* establish dialog */ + + if ( (bjnp_poll_scanner (dn, 0, hostname, getusername (), buffer, *size ) != 0) || + (bjnp_poll_scanner (dn, 1, hostname, getusername (), buffer, *size ) != 0) ) + { + PDBG (bjnp_dbg (LOG_NOTICE, "bjnp_read_int: WARNING - Failed to setup read_intr dialog with device!\n")); + device[dn].dialog = 0; + device[dn].status_key = 0; + return SANE_STATUS_IO_ERROR; + } + device[dn].polling_status = BJNP_POLL_STARTED; + + /* fall through */ + case BJNP_POLL_STARTED: + /* we use only seonds (rounded up) accuracy between poll attempts */ + timeout = device[dn].bjnp_scanner_timeout /1000 + 1; + if (device[dn].bjnp_scanner_timeout %1000 > 0) + { + timeout++; + + } + interval = 1; + do + { + if ( (resp_len = bjnp_poll_scanner (dn, 2, hostname, getusername (), buffer, *size ) ) < 0 ) + { + PDBG (bjnp_dbg (LOG_NOTICE, "bjnp_read_int: Poll failed, Restarting polling dialog!\n")); + device[dn].polling_status = BJNP_POLL_STOPPED; + *size = 0; + return SANE_STATUS_EOF; + } + *size = (size_t) resp_len; + if ( resp_len > 0 ) + { + device[dn].polling_status = BJNP_POLL_STATUS_RECEIVED; + return SANE_STATUS_GOOD; + } + timeout = timeout - interval; + if (timeout <= 0) + return SANE_STATUS_EOF; + sleep(interval); + } while ( timeout > 0 ) ; + break; + case BJNP_POLL_STATUS_RECEIVED: + if ( (resp_len = bjnp_poll_scanner (dn, 5, hostname, getusername (), buffer, *size ) ) < 0 ) + { + PDBG (bjnp_dbg (LOG_NOTICE, "bjnp_read_int: Restarting polling dialog!\n")); + device[dn].polling_status = BJNP_POLL_STOPPED; + *size = 0; + break; + } + } + return SANE_STATUS_EOF; +#endif +} diff --git a/backend/pixma/pixma_bjnp.h b/backend/pixma/pixma_bjnp.h new file mode 100644 index 0000000..79e084e --- /dev/null +++ b/backend/pixma/pixma_bjnp.h @@ -0,0 +1,201 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2008 by Louis Lagendijk + based on sane_usb.h: + Copyright (C) 2003, 2005 Rene Rebe (sanei_read_int,sanei_set_timeout) + Copyright (C) 2001, 2002 Henning Meier-Geinitz + + This file is part of the SANE package. + + SANE 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. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + 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. +*/ +/** @file sanei_bjnp.h + * This file provides a generic BJNP interface. + */ + +#ifndef sanei_bjnp_h +#define sanei_bjnp_h + +#include "../include/sane/config.h" +#include "../include/sane/sane.h" +#include "pixma.h" + +#ifdef HAVE_STDLIB_H +#include /* for size_t */ +#endif + +/** Initialize sanei_bjnp. + * + * Call this before any other sanei_bjnp function. + */ +extern void sanei_bjnp_init (void); + +/** Find scanners responding to a BJNP broadcast. + * + * The function sanei_bjnp_attach is called for every device which has + * been found. + * Serial is the address of the scanner in human readable form of max + * SERIAL_MAX characters + * @param conf_devices list of pre-configures device URI's to attach + * @param attach attach function + * @param pixma_devices device informatio needed by attach function + * + * @return SANE_STATUS_GOOD - on success (even if no scanner was found) + */ + +#define SERIAL_MAX 16 + +extern SANE_Status +sanei_bjnp_find_devices (const char **conf_devices, + SANE_Status (*attach_bjnp) + (SANE_String_Const devname, + SANE_String_Const serial, + const struct pixma_config_t *cfg), + const struct pixma_config_t *const pixma_devices[]); + +/** Open a BJNP device. + * + * The device is opened by its name devname and the device number is + * returned in dn on success. + * + * Device names consist of an URI + * Where: + * method = bjnp + * hostname = resolvable name or IP-address + * port = 8612 for a bjnp scanner, 8610 for a mfnp device + * An example could look like this: bjnp://host.domain:8612 + * + * @param devname name of the device to open + * @param dn device number + * + * @return + * - SANE_STATUS_GOOD - on success + * - SANE_STATUS_ACCESS_DENIED - if the file couldn't be accessed due to + * permissions + * - SANE_STATUS_INVAL - on every other error + */ +extern SANE_Status sanei_bjnp_open (SANE_String_Const devname, SANE_Int * dn); + +/** Close a BJNP device. + * + * @param dn device number + */ + +extern void sanei_bjnp_close (SANE_Int dn); + +/** Activate a BJNP device connection + * + * @param dn device number + */ + +extern SANE_Status sanei_bjnp_activate (SANE_Int dn); + +/** De-activate a BJNP device connection + * + * @param dn device number + */ + +extern SANE_Status sanei_bjnp_deactivate (SANE_Int dn); + +/** Set the libbjnp timeout for bulk and interrupt reads. + * + * @param devno device number + * @param timeout the new timeout in ms + */ +extern void sanei_bjnp_set_timeout (SANE_Int devno, SANE_Int timeout); + +/** Check if sanei_bjnp_set_timeout() is available. + */ +#define HAVE_SANEI_BJNP_SET_TIMEOUT + +/** Initiate a bulk transfer read. + * + * Read up to size bytes from the device to buffer. After the read, size + * contains the number of bytes actually read. + * + * @param dn device number + * @param buffer buffer to store read data in + * @param size size of the data + * + * @return + * - SANE_STATUS_GOOD - on succes + * - SANE_STATUS_EOF - if zero bytes have been read + * - SANE_STATUS_IO_ERROR - if an error occured during the read + * - SANE_STATUS_INVAL - on every other error + * + */ +extern SANE_Status +sanei_bjnp_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size); + +/** Initiate a bulk transfer write. + * + * Write up to size bytes from buffer to the device. After the write size + * contains the number of bytes actually written. + * + * @param dn device number + * @param buffer buffer to write to device + * @param size size of the data + * + * @return + * - SANE_STATUS_GOOD - on succes + * - SANE_STATUS_IO_ERROR - if an error occured during the write + * - SANE_STATUS_INVAL - on every other error + */ +extern SANE_Status +sanei_bjnp_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size); + +/** Initiate a interrupt transfer read. + * + * Read up to size bytes from the interrupt endpoint from the device to + * buffer. After the read, size contains the number of bytes actually read. + * + * @param dn device number + * @param buffer buffer to store read data in + * @param size size of the data + * + * @return + * - SANE_STATUS_GOOD - on succes + * - SANE_STATUS_EOF - if zero bytes have been read + * - SANE_STATUS_IO_ERROR - if an error occured during the read + * - SANE_STATUS_INVAL - on every other error + * + */ + +extern SANE_Status +sanei_bjnp_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size); + +/*------------------------------------------------------*/ +#endif /* sanei_bjnp_h */ diff --git a/backend/pixma/pixma_bjnp_private.h b/backend/pixma/pixma_bjnp_private.h new file mode 100644 index 0000000..edfb330 --- /dev/null +++ b/backend/pixma/pixma_bjnp_private.h @@ -0,0 +1,384 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2008 by Louis Lagendijk + + This file is part of the SANE package. + + Data structures and definitions for + bjnp backend for the Common UNIX Printing System (CUPS). + + These coded instructions, statements, and computer programs are the + property of Louis Lagendijk and are protected by Federal copyright + law. Distribution and use rights are outlined in the file "LICENSE.txt" + "LICENSE" which should have been included with this file. If this + file is missing or damaged, see the license at "http://www.cups.org/". + + This file is subject to the Apple OS-Developed Software exception. + + SANE 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. + + SANE 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 sane; see the file COPYING. If not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + 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. +*/ + +/* + * BJNP definitions + */ + +/* selection of options */ +/* This works now, disable when it gives you problems */ +#define PIXMA_BJNP_USE_STATUS 1 + +/* sizes */ + +#define BJNP_PRINTBUF_MAX 1400 /* size of printbuffer */ +#define BJNP_CMD_MAX 2048 /* size of BJNP response buffer */ +#define BJNP_RESP_MAX 2048 /* size of BJNP response buffer */ +#define BJNP_SOCK_MAX 256 /* maximum number of open sockets */ +#define BJNP_MODEL_MAX 64 /* max allowed size for make&model */ +#define BJNP_STATUS_MAX 256 /* max size for status string */ +#define BJNP_IEEE1284_MAX 1024 /* max. allowed size of IEEE1284 id */ +#define BJNP_METHOD_MAX 16 /* max length of method */ +#define BJNP_HOST_MAX 128 /* max length of hostname or address */ +#define BJNP_PORT_MAX 64 /* max length of port string */ +#define BJNP_ARGS_MAX 128 /* max length of argument string */ +#define BJNP_SERIAL_MAX 16 /* maximum length of serial number */ +#define BJNP_NO_DEVICES 16 /* max number of open devices */ +#define BJNP_SCAN_BUF_MAX 65536 /* size of scanner data intermediate buffer */ +#define BJNP_BLOCKSIZE_START 512 /* startsize for last block detection */ + +/* timers */ +#define BJNP_BROADCAST_INTERVAL 10 /* ms between broadcasts */ +#define BJNP_BC_RESPONSE_TIMEOUT 500 /* waiting time for broadc. responses */ +#define BJNP_TIMEOUT_DEFAULT 10000 /* minimum tiemout value for network operations */ +#define BJNP_TIMEOUT_TCP_CONNECT 2000 /* timeout for tcp connect attempts in ms */ +#define BJNP_USLEEP_MS 1000 /* sleep for 1 msec */ +#define BJNP_TCP_CONNECT_INTERVAL 100 /* TCP retry interval in ms */ + +/* retries */ +#define BJNP_MAX_SELECT_ATTEMPTS 3 /* max nr of retries on select (EINTR) */ +#define BJNP_MAX_BROADCAST_ATTEMPTS 2 /* number of broadcast packets to be sent */ +#define BJNP_UDP_RETRY_MAX 3 /* max nt of retries on a udp command */ + +#define bjnp_dbg DBG +#include "../include/sane/sanei_debug.h" + +/* loglevel definitions */ + +#define LOG_CRIT 0 +#define LOG_NOTICE 1 +#define LOG_INFO 2 +#define LOG_DEBUG 3 +#define LOG_DEBUG2 4 +#define LOG_DEBUG3 5 + +#define BJNP_RESTART_POLL -1 + +/*************************************/ +/* BJNP protocol related definitions */ +/*************************************/ + +/* port numbers */ +typedef enum bjnp_port_e +{ + MFNP_PORT_SCAN = 8610, + BJNP_PORT_PRINT = 8611, + BJNP_PORT_SCAN = 8612, + BJNP_PORT_3 = 8613, + BJNP_PORT_4 = 8614 +} bjnp_port_t; + +typedef enum +{ + PROTOCOL_BJNP = 0, + PROTOCOL_MFNP = 1, + PROTOCOL_NONE =2 +} bjnp_protocol_t; + +typedef struct +{ + bjnp_protocol_t protocol_version; + int default_port; + char * proto_string; + char * method_string; +} bjnp_protocol_defs_t; + +bjnp_protocol_defs_t bjnp_protocol_defs[] = +{ + {PROTOCOL_BJNP, BJNP_PORT_SCAN,"BJNP", "bjnp"}, + {PROTOCOL_MFNP, MFNP_PORT_SCAN,"MFNP", "mfnp"}, + {PROTOCOL_NONE, -1, NULL, NULL} +}; + +/* commands */ +typedef enum bjnp_cmd_e +{ + CMD_UDP_DISCOVER = 0x01, /* discover if service type is listening at this port */ + CMD_UDP_START_SCAN = 0x02, /* start scan pressed, sent from scanner to 224.0.0.1 */ + CMD_UDP_JOB_DETAILS = 0x10, /* send print/ scanner job owner details */ + CMD_UDP_CLOSE = 0x11, /* request connection closure */ + CMD_UDP_GET_STATUS = 0x20, /* get printer status */ + CMD_TCP_REQ = 0x20, /* read data from device */ + CMD_TCP_SEND = 0x21, /* send data to device */ + CMD_UDP_GET_ID = 0x30, /* get printer identity */ + CMD_UDP_POLL = 0x32 /* poll scanner for button status */ +} bjnp_cmd_t; + +/* command type */ + +typedef enum uint8_t +{ + BJNP_CMD_PRINT = 0x1, /* printer command */ + BJNP_CMD_SCAN = 0x2, /* scanner command */ + BJNP_RES_PRINT = 0x81, /* printer response */ + BJNP_RES_SCAN = 0x82 /* scanner response */ +} bjnp_cmd_type_t; + +/***************************/ +/* BJNP protocol structure */ +/***************************/ + +/* The common protocol header */ + +struct __attribute__ ((__packed__)) BJNP_command +{ + char BJNP_id[4]; /* string: BJNP */ + uint8_t dev_type; /* 1 = printer, 2 = scanner */ + /* responses have MSB set */ + uint8_t cmd_code; /* command code/response code */ + int16_t unknown1; /* unknown, always 0? */ + int16_t seq_no; /* sequence number */ + uint16_t session_id; /* session id for printing */ + uint32_t payload_len; /* length of command buffer */ +}; + +/* Layout of the init response buffer */ + +struct __attribute__ ((__packed__)) DISCOVER_RESPONSE +{ + struct BJNP_command response; /* reponse header */ + char unknown1[4]; /* 00 01 08 00 */ + char mac_len; /* length of mac address */ + char addr_len; /* length of address field */ + unsigned char mac_addr[6]; /* printers mac address */ + union { + struct __attribute__ ((__packed__)) { + unsigned char ipv4_addr[4]; + } ipv4; + struct __attribute__ ((__packed__)) { + unsigned char ipv6_addr_1[16]; + unsigned char ipv6_addr_2[16]; + } ipv6; + } addresses; +}; + +/* layout of payload for the JOB_DETAILS command */ + +struct __attribute__ ((__packed__)) JOB_DETAILS +{ + struct BJNP_command cmd; /* command header */ + char unknown[8]; /* don't know what these are for */ + char hostname[64]; /* hostname of sender */ + char username[64]; /* username */ + char jobtitle[256]; /* job title */ +}; + +/* layout of the poll command, not everything is complete */ + +struct __attribute__ ((__packed__)) POLL_DETAILS +{ + struct BJNP_command cmd; /* command header */ + uint16_t type; /* 0, 1, 2 or 5 */ + /* 05 = reset status */ + union { + struct __attribute__ ((__packed__)) { + char empty0[78]; /* type 0 has only 0 */ + } type0; /* length = 80 */ + + struct __attribute__ ((__packed__)) { + char empty1[6]; /* 0 */ + char user_host[64]; /* unicode user hostname */ + uint64_t emtpy2; /* 0 */ + } type1; /* length = 80 */ + + struct __attribute__ ((__packed__)) { + uint16_t empty_1; /* 00 00 */ + uint32_t dialog; /* constant dialog id, from previous response */ + char user_host[64]; /* unicode user hostname */ + uint32_t unknown_1; /* 00 00 00 14 */ + uint32_t empty_2[5]; /* only 0 */ + uint32_t unknown_2; /* 00 00 00 10 */ + char ascii_date[16]; /* YYYYMMDDHHMMSS only for type 2 */ + } type2; /* length = 116 */ + + struct __attribute__ ((__packed__)) { + uint16_t empty_1; /* 00 00 */ + uint32_t dialog; /* constant dialog id, from previous response */ + char user_host[64]; /* unicode user hostname */ + uint32_t unknown_1; /* 00 00 00 14 */ + uint32_t key; /* copied from key field in status msg */ + uint32_t unknown_3[5]; /* only 0 */ + } type5; /* length = 100 */ + + } extensions; +}; + +/* the poll response layout */ + +struct __attribute__ ((__packed__)) POLL_RESPONSE +{ + struct BJNP_command cmd; /* command header */ + + unsigned char result[4]; /* unknown stuff, result[2] = 80 -> status is available*/ + /* result[8] is dialog, size? */ + uint32_t dialog; /* to be returned in next request */ + uint32_t unknown_2; /* returns the 00 00 00 14 from unknown_2 in request */ + uint32_t key; /* to be returned in type 5 status reset */ + unsigned char status[20]; /* interrupt status */ +}; + +/* Layout of ID and status responses */ + +struct __attribute__ ((__packed__)) IDENTITY +{ + struct BJNP_command cmd; + union __attribute__ ((__packed__)) + { + struct __attribute__ ((__packed__)) payload_s + { + uint16_t id_len; /* length of identity */ + char id[BJNP_IEEE1284_MAX]; /* identity */ + } bjnp; + struct __attribute__ ((__packed__)) mfnp + { + char id[BJNP_IEEE1284_MAX]; + } mfnp; + } payload; +}; + + +/* response to TCP print command */ + +struct __attribute__ ((__packed__)) SCAN_BUF +{ + struct BJNP_command cmd; + char scan_data[65536]; +}; + +/**************************/ +/* Local enum definitions */ +/**************************/ + +typedef enum bjnp_paper_status_e +{ + BJNP_PAPER_UNKNOWN = -1, + BJNP_PAPER_OK = 0, + BJNP_PAPER_OUT = 1 +} bjnp_paper_status_t; + +typedef enum +{ + BJNP_STATUS_GOOD, + BJNP_STATUS_INVAL, + BJNP_STATUS_ALREADY_ALLOCATED +} BJNP_Status; + +/* button polling */ + +typedef enum +{ + BJNP_POLL_STOPPED = 0, + BJNP_POLL_STARTED = 1, + BJNP_POLL_STATUS_RECEIVED = 2 +} BJNP_polling_status_e; + +typedef union +{ + struct sockaddr_storage storage; + struct sockaddr addr; + struct sockaddr_in ipv4; + struct sockaddr_in6 ipv6; +} bjnp_sockaddr_t; + +typedef enum +{ + BJNP_ADDRESS_IS_LINK_LOCAL = 0, + BJNP_ADDRESS_IS_GLOBAL = 1, + BJNP_ADDRESS_HAS_FQDN = 2 +} bjnp_address_type_t; + + +/* + * Device information for opened devices + */ + +typedef struct device_s +{ + int open; /* connection to scanner is opened */ + + /* protocol version */ + int protocol; + char *protocol_string; + + /* sockets */ + + int tcp_socket; /* open tcp socket for communcation to scannner */ + int16_t serial; /* sequence number of command */ + + /* communication state */ + + int session_id; /* session id used in bjnp protocol for TCP packets */ + int last_cmd; /* last command sent */ + + /* TCP bulk read state information */ + + size_t blocksize; /* size of (TCP) blocks returned by the scanner */ + size_t scanner_data_left; /* TCP data left from last read request */ + char last_block; /* last TCP read command was shorter than blocksize */ + + /* device information */ + char mac_address[BJNP_HOST_MAX]; + /* mac-address, used as device serial no */ + bjnp_sockaddr_t * addr; /* ip-address of the scanner */ + int address_level; /* link local, public or has a FQDN */ + int bjnp_scanner_timeout; /* timeout (msec) for next poll command */ + int bjnp_ip_timeout; /* device specific min timeout for the IP-protocol */ + +#ifdef PIXMA_BJNP_USE_STATUS + /* polling state information */ + + char polling_status; /* status polling ongoing */ + uint32_t dialog; /* poll dialog */ + uint32_t status_key; /* key of last received status message */ +#endif +} bjnp_device_t; diff --git a/backend/pixma/pixma_common.c b/backend/pixma/pixma_common.c new file mode 100644 index 0000000..7b7ecec --- /dev/null +++ b/backend/pixma/pixma_common.c @@ -0,0 +1,1187 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2011-2019 Rolf Bensch + Copyright (C) 2007-2008 Nicolas Martin, + Copyright (C) 2006-2007 Wittawat Yamwong + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. + */ +#include "../include/sane/config.h" + +#include +#include +#include +#include +#include /* pow(C90) */ + +#include /* gettimeofday(4.3BSD) */ +#include /* usleep */ + +#include "pixma_rename.h" +#include "pixma_common.h" +#include "pixma_io.h" + +#include "../include/sane/sanei_usb.h" +#include "../include/sane/sane.h" + +#ifdef __GNUC__ +# define UNUSED(v) (void) v +#else +# define UNUSED(v) +#endif + +extern const pixma_config_t pixma_mp150_devices[]; +extern const pixma_config_t pixma_mp750_devices[]; +extern const pixma_config_t pixma_mp730_devices[]; +extern const pixma_config_t pixma_mp800_devices[]; +extern const pixma_config_t pixma_iclass_devices[]; + +static const pixma_config_t *const pixma_devices[] = { + pixma_mp150_devices, + pixma_mp750_devices, + pixma_mp730_devices, + pixma_mp800_devices, + pixma_iclass_devices, + NULL +}; + +static pixma_t *first_pixma = NULL; +static time_t tstart_sec = 0; +static uint32_t tstart_usec = 0; +static int debug_level = 1; + + +#ifndef NDEBUG + +static void +u8tohex (uint8_t x, char *str) +{ + static const char hdigit[16] = + { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', + 'e', 'f' + }; + str[0] = hdigit[(x >> 4) & 0xf]; + str[1] = hdigit[x & 0xf]; + str[2] = '\0'; +} + +static void +u32tohex (uint32_t x, char *str) +{ + u8tohex (x >> 24, str); + u8tohex (x >> 16, str + 2); + u8tohex (x >> 8, str + 4); + u8tohex (x, str + 6); +} + +void +pixma_hexdump (int level, const void *d_, unsigned len) +{ + const uint8_t *d = (const uint8_t *) (d_); + unsigned ofs, c, plen; + char line[100]; /* actually only 1+8+1+8*3+1+8*3+1 = 61 bytes needed */ + + if (level > debug_level) + return; + if (level == debug_level) + /* if debuglevel == exact match and buffer contains more than 3 lines, print 2 lines + .... */ + plen = (len > 64) ? 32: len; + else + plen = len; + ofs = 0; + while (ofs < plen) + { + char *p; + line[0] = ' '; + u32tohex (ofs, line + 1); + line[9] = ':'; + p = line + 10; + for (c = 0; c != 16 && (ofs + c) < plen; c++) + { + u8tohex (d[ofs + c], p); + p[2] = ' '; + p += 3; + if (c == 7) + { + p[0] = ' '; + p++; + } + } + p[0] = '\0'; + pixma_dbg (level, "%s\n", line); + ofs += c; + } + if (len > plen) + pixma_dbg(level, "......\n"); +} + +static void +time2str (char *buf, unsigned size) +{ + time_t sec; + uint32_t usec; + + pixma_get_time (&sec, &usec); + sec -= tstart_sec; + if (usec >= tstart_usec) + { + usec -= tstart_usec; + } + else + { + usec = 1000000 + usec - tstart_usec; + sec--; + } + snprintf (buf, size, "%lu.%03u", (unsigned long) sec, + (unsigned) (usec / 1000)); +} + +void +pixma_dump (int level, const char *type, const void *data, int len, + int size, int max) +{ + int actual_len, print_len; + char buf[20]; + + if (level > debug_level) + return; + if (debug_level >= 20) + max = -1; /* dump every bytes */ + + time2str (buf, sizeof (buf)); + pixma_dbg (level, "%s T=%s len=%d\n", type, buf, len); + + actual_len = (size >= 0) ? size : len; + print_len = (max >= 0 && max < actual_len) ? max : actual_len; + if (print_len >= 0) + { + pixma_hexdump (level, data, print_len); + if (print_len < actual_len) + pixma_dbg (level, " ...\n"); + } + if (len < 0) + pixma_dbg (level, " ERROR: %s\n", pixma_strerror (len)); + pixma_dbg (level, "\n"); +} + + +#endif /* NDEBUG */ + +/* NOTE: non-reentrant */ +const char * +pixma_strerror (int error) +{ + static char buf[50]; + + /* TODO: more human friendly messages */ + switch (error) + { + case PIXMA_EIO: + return "EIO"; + case PIXMA_ENODEV: + return "ENODEV"; + case PIXMA_EACCES: + return "EACCES"; + case PIXMA_ENOMEM: + return "ENOMEM"; + case PIXMA_EINVAL: + return "EINVAL"; + case PIXMA_EBUSY: + return "EBUSY"; + case PIXMA_ECANCELED: + return "ECANCELED"; + case PIXMA_ENOTSUP: + return "ENOTSUP"; + case PIXMA_ETIMEDOUT: + return "ETIMEDOUT"; + case PIXMA_EPROTO: + return "EPROTO"; + case PIXMA_EPAPER_JAMMED: + return "EPAPER_JAMMED"; + case PIXMA_ECOVER_OPEN: + return "ECOVER_OPEN"; + case PIXMA_ENO_PAPER: + return "ENO_PAPER"; + case PIXMA_EOF: + return "EEOF"; + } + snprintf (buf, sizeof (buf), "EUNKNOWN:%d", error); + return buf; +} + +void +pixma_set_debug_level (int level) +{ + debug_level = level; +} + +void +pixma_set_be16 (uint16_t x, uint8_t * buf) +{ + buf[0] = x >> 8; + buf[1] = x; +} + +void +pixma_set_be32 (uint32_t x, uint8_t * buf) +{ + buf[0] = x >> 24; + buf[1] = x >> 16; + buf[2] = x >> 8; + buf[3] = x; +} + +uint16_t +pixma_get_be16 (const uint8_t * buf) +{ + return ((uint16_t) buf[0] << 8) | buf[1]; +} + +uint32_t +pixma_get_be32 (const uint8_t * buf) +{ + return ((uint32_t) buf[0] << 24) + ((uint32_t) buf[1] << 16) + + ((uint32_t) buf[2] << 8) + buf[3]; +} + +uint8_t +pixma_sum_bytes (const void *data, unsigned len) +{ + const uint8_t *d = (const uint8_t *) data; + unsigned i, sum = 0; + for (i = 0; i != len; i++) + sum += d[i]; + return sum; +} + +void +pixma_sleep (unsigned long usec) +{ + usleep (usec); +} + +void +pixma_get_time (time_t * sec, uint32_t * usec) +{ + struct timeval tv; + gettimeofday (&tv, NULL); + if (sec) + *sec = tv.tv_sec; + if (usec) + *usec = tv.tv_usec; +} + +/* convert 24/48 bit RGB to 8/16 bit ir + * + * Formular: g = R + * drop G + B + * + * sptr: source color scale buffer + * gptr: destination gray scale buffer + * c == 3: 24 bit RGB -> 8 bit ir + * c == 6: 48 bit RGB -> 16 bit ir + */ +uint8_t * +pixma_r_to_ir (uint8_t * gptr, uint8_t * sptr, unsigned w, unsigned c) +{ + unsigned i; + + /* PDBG (pixma_dbg (4, "*pixma_rgb_to_ir*****\n")); */ + + for (i = 0; i < w; i++) + { + *gptr++ = *sptr++; + if (c == 6) *gptr++ = *sptr++; /* 48 bit RGB: high byte */ + sptr += (c == 6) ? 4 : 2; /* drop G + B */ + } + return gptr; +} + +/* convert 24/48 bit RGB to 8/16 bit grayscale + * + * Formular: g = (R + G + B) / 3 + * + * sptr: source color scale buffer + * gptr: destination gray scale buffer + * c == 3: 24 bit RGB -> 8 bit gray + * c == 6: 48 bit RGB -> 16 bit gray + */ +uint8_t * +pixma_rgb_to_gray (uint8_t * gptr, uint8_t * sptr, unsigned w, unsigned c) +{ + unsigned i, j, g; + + /* PDBG (pixma_dbg (4, "*pixma_rgb_to_gray*****\n")); */ + + for (i = 0; i < w; i++) + { + for (j = 0, g = 0; j < 3; j++) + { + g += *sptr++; + if (c == 6) g += (*sptr++ << 8); /* 48 bit RGB: high byte */ + } + + g /= 3; /* 8 or 16 bit gray */ + *gptr++ = g; + if (c == 6) *gptr++ = (g >> 8); /* 16 bit gray: high byte */ + } + return gptr; +} + +/** + * This code was taken from the genesys backend + * uses threshold and threshold_curve to control software binarization + * @param sp device set up for the scan + * @param dst pointer where to store result + * @param src pointer to raw data + * @param width width of the processed line + * @param c 1 for 1-channel single-byte data, + * 3 for 3-channel single-byte data, + * 6 for double-byte data + * */ +uint8_t * +pixma_binarize_line(pixma_scan_param_t * sp, uint8_t * dst, uint8_t * src, unsigned width, unsigned c) +{ + unsigned j, x, windowX, sum = 0; + unsigned threshold; + unsigned offset, addCol; + int dropCol, offsetX; + unsigned char mask; + uint8_t min, max; + + /* PDBG (pixma_dbg (4, "*pixma_binarize_line***** src = %u, dst = %u, width = %u, c = %u, threshold = %u, threshold_curve = %u *****\n", + src, dst, width, c, sp->threshold, sp->threshold_curve)); */ + + /* 16 bit grayscale not supported */ + if (c == 6) + { + PDBG (pixma_dbg (1, "*pixma_binarize_line***** Error: 16 bit grayscale not supported\n")); + return dst; + } + + /* first, color convert to grayscale */ + if (c != 1) + pixma_rgb_to_gray(dst, src, width, c); + + /* second, normalize line */ + min = 255; + max = 0; + for (x = 0; x < width; x++) + { + if (src[x] > max) + { + max = src[x]; + } + if (src[x] < min) + { + min = src[x]; + } + } + + /* safeguard against dark or white areas */ + if(min>80) + min=0; + if(max<80) + max=255; + for (x = 0; x < width; x++) + { + src[x] = ((src[x] - min) * 255) / (max - min); + } + + /* third, create sliding window, prefill the sliding sum */ + /* ~1mm works best, but the window needs to have odd # of pixels */ + windowX = (6 * sp->xdpi) / 150; + if (!(windowX % 2)) + windowX++; + + /* to avoid conflicts with *dst start with offset */ + offsetX = 1 + (windowX / 2) / 8; + for (j = offsetX; j <= windowX; j++) + sum += src[j]; + /* PDBG (pixma_dbg (4, " *pixma_binarize_line***** windowX = %u, startX = %u, sum = %u\n", + windowX, startX, sum)); */ + + /* fourth, walk the input buffer, output bits */ + for (j = 0; j < width; j++) + { + /* output image location */ + offset = j % 8; + mask = 0x80 >> offset; + threshold = sp->threshold; + + /* move sum/update threshold only if there is a curve */ + if (sp->threshold_curve) + { + addCol = j + windowX / 2; + dropCol = addCol - windowX; + + if (dropCol >= offsetX && addCol < width) + { + sum += src[addCol]; + sum -= (sum < src[dropCol] ? sum : src[dropCol]); /* no negative sum */ + } + threshold = sp->lineart_lut[sum / windowX]; + /* PDBG (pixma_dbg (4, " *pixma_binarize_line***** addCol = %u, dropCol = %d, sum = %u, windowX = %u, lut-element = %d, threshold = %u\n", + addCol, dropCol, sum, windowX, sum/windowX, threshold)); */ + } + + /* lookup threshold */ + if (src[j] > threshold) + *dst &= ~mask; /* white */ + else + *dst |= mask; /* black */ + + if (offset == 7) + dst++; + } + + /* PDBG (pixma_dbg (4, " *pixma_binarize_line***** ready: src = %u, dst = %u *****\n", src, dst)); */ + + return dst; +} + +/** + This code was taken from the genesys backend + Function to build a lookup table (LUT), often + used by scanners to implement brightness/contrast/gamma + or by backends to speed binarization/thresholding + + offset and slope inputs are -127 to +127 + + slope rotates line around central input/output val, + 0 makes horizontal line + + pos zero neg + . x . . x + . x . . x + out . x .xxxxxxxxxxx . x + . x . . x + ....x....... ............ .......x.... + in in in + + offset moves line vertically, and clamps to output range + 0 keeps the line crossing the center of the table + + high low + . xxxxxxxx . + . x . + out x . x + . . x + ............ xxxxxxxx.... + in in + + out_min/max provide bounds on output values, + useful when building thresholding lut. + 0 and 255 are good defaults otherwise. + * */ +static SANE_Status +load_lut (unsigned char * lut, + int in_bits, int out_bits, + int out_min, int out_max, + int slope, int offset) +{ + int i, j; + double shift, rise; + int max_in_val = (1 << in_bits) - 1; + int max_out_val = (1 << out_bits) - 1; + unsigned char * lut_p = lut; + + /* PDBG (pixma_dbg (4, "*load_lut***** start %d %d *****\n", slope, offset)); */ + + /* slope is converted to rise per unit run: + * first [-127,127] to [-1,1] + * then multiply by PI/2 to convert to radians + * then take the tangent (T.O.A) + * then multiply by the normal linear slope + * because the table may not be square, i.e. 1024x256*/ + rise = tan((double)slope/127 * M_PI/2) * max_out_val / max_in_val; + + /* line must stay vertically centered, so figure + * out vertical offset at central input value */ + shift = (double)max_out_val/2 - (rise*max_in_val/2); + + /* convert the user offset setting to scale of output + * first [-127,127] to [-1,1] + * then to [-max_out_val/2,max_out_val/2]*/ + shift += (double)offset / 127 * max_out_val / 2; + + for(i=0;i<=max_in_val;i++){ + j = rise*i + shift; + + if(jout_max){ + j=out_max; + } + + *lut_p=j; + lut_p++; + } + + /* PDBG (pixma_dbg (4, "*load_lut***** finish *****\n")); */ + /* PDBG (pixma_hexdump (4, lut, max_in_val+1)); */ + + return SANE_STATUS_GOOD; +} + +int +pixma_map_status_errno (unsigned status) +{ + switch (status) + { + case PIXMA_STATUS_OK: + return 0; + case PIXMA_STATUS_FAILED: + return PIXMA_ECANCELED; + case PIXMA_STATUS_BUSY: + return PIXMA_EBUSY; + default: + return PIXMA_EPROTO; + } +} + +int +pixma_check_result (pixma_cmdbuf_t * cb) +{ + const uint8_t *r = cb->buf; + unsigned header_len = cb->res_header_len; + unsigned expected_reslen = cb->expected_reslen; + int error; + unsigned len; + + if (cb->reslen < 0) + return cb->reslen; + + len = (unsigned) cb->reslen; + if (len >= header_len) + { + error = pixma_map_status_errno (pixma_get_be16 (r)); + if (expected_reslen != 0) + { + if (len == expected_reslen) + { + if (pixma_sum_bytes (r + header_len, len - header_len) != 0) + error = PIXMA_EPROTO; + } + else + { + /* This case will happen when a command cannot be completely + executed, e.g. because you press the cancel button. The + device will return only a header with PIXMA_STATUS_FAILED. */ + if (len != header_len) + error = PIXMA_EPROTO; + } + } + } + else + error = PIXMA_EPROTO; + +#ifndef NDEBUG + if (error == PIXMA_EPROTO) + { + pixma_dbg (1, "WARNING: result len=%d expected %d\n", + len, cb->expected_reslen); + pixma_hexdump (1, r, MIN (len, 64)); + } +#endif + return error; +} + +int +pixma_cmd_transaction (pixma_t * s, const void *cmd, unsigned cmdlen, + void *data, unsigned expected_len) +{ + int error, tmo; + + error = pixma_write (s->io, cmd, cmdlen); + if (error != (int) cmdlen) + { + if (error >= 0) + { + /* Write timeout is too low? */ + PDBG (pixma_dbg + (1, "ERROR: incomplete write, %u out of %u written\n", + (unsigned) error, cmdlen)); + error = PIXMA_ETIMEDOUT; + } + return error; + } + + /* When you send the start_session command while the scanner optic is + going back to the home position after the last scan session has been + cancelled, you won't get the response before it arrives home. This takes + about 5 seconds. If the last session was succeeded, the scanner will + immediatly answer with PIXMA_STATUS_BUSY. + + Is 8 seconds timeout enough? This affects ALL commands that use + pixma_cmd_transaction(). Default value set in pixma_open(). */ + tmo = s->rec_tmo; + do + { + error = pixma_read (s->io, data, expected_len); + if (error == PIXMA_ETIMEDOUT) + { + PDBG (pixma_dbg (2, "No response yet. Timed out in %d sec.\n", tmo)); + +#ifndef HAVE_SANEI_USB_SET_TIMEOUT + /* 1s timeout + Only needed, if sanei_usb_set_timeout() isn't available. + pixma_read() has an internal timeout of 1 sec. */ + pixma_sleep (1000000); +#endif + } + } + while (error == PIXMA_ETIMEDOUT && --tmo != 0); + if (error < 0) + { + PDBG (pixma_dbg (1, "WARNING: Error in response phase. cmd:%02x%02x\n", + ((const uint8_t *) cmd)[0], + ((const uint8_t *) cmd)[1])); + PDBG (pixma_dbg (1," If the scanner hangs, reset it and/or unplug the " + "USB cable.\n")); + } + return error; /* length of the result packet or error */ +} + +uint8_t * +pixma_newcmd (pixma_cmdbuf_t * cb, unsigned cmd, + unsigned dataout, unsigned datain) +{ + unsigned cmdlen = cb->cmd_header_len + dataout; + unsigned reslen = cb->res_header_len + datain; + + if (cmdlen > cb->size || reslen > cb->size) + return NULL; + memset (cb->buf, 0, cmdlen); + cb->cmdlen = cmdlen; + cb->expected_reslen = reslen; + pixma_set_be16 (cmd, cb->buf); + pixma_set_be16 (dataout + datain, cb->buf + cb->cmd_len_field_ofs); + if (dataout != 0) + return cb->buf + cb->cmd_header_len; + else + return cb->buf + cb->res_header_len; +} + +int +pixma_exec (pixma_t * s, pixma_cmdbuf_t * cb) +{ + if (cb->cmdlen > cb->cmd_header_len) + pixma_fill_checksum (cb->buf + cb->cmd_header_len, + cb->buf + cb->cmdlen - 1); + cb->reslen = + pixma_cmd_transaction (s, cb->buf, cb->cmdlen, cb->buf, + cb->expected_reslen); + return pixma_check_result (cb); +} + +int +pixma_exec_short_cmd (pixma_t * s, pixma_cmdbuf_t * cb, unsigned cmd) +{ + pixma_newcmd (cb, cmd, 0, 0); + return pixma_exec (s, cb); +} + +int +pixma_check_dpi (unsigned dpi, unsigned max) +{ + /* valid dpi = 75 * 2^n */ + unsigned temp = dpi / 75; + if (dpi > max || dpi < 75 || 75 * temp != dpi || (temp & (temp - 1)) != 0) + return PIXMA_EINVAL; + return 0; +} + + +int +pixma_init (void) +{ + PDBG (pixma_dbg (2, "pixma version %d.%d.%d\n", PIXMA_VERSION_MAJOR, + PIXMA_VERSION_MINOR, PIXMA_VERSION_BUILD)); + PASSERT (first_pixma == NULL); + if (tstart_sec == 0) + pixma_get_time (&tstart_sec, &tstart_usec); + return pixma_io_init (); +} + +void +pixma_cleanup (void) +{ + while (first_pixma) + pixma_close (first_pixma); + pixma_io_cleanup (); +} + +int +pixma_open (unsigned devnr, pixma_t ** handle) +{ + int error; + pixma_t *s; + const pixma_config_t *cfg; + + *handle = NULL; + cfg = pixma_get_device_config (devnr); + if (!cfg) + return PIXMA_EINVAL; /* invalid devnr */ + PDBG (pixma_dbg (2, "pixma_open(): %s\n", cfg->name)); + + s = (pixma_t *) calloc (1, sizeof (s[0])); + if (!s) + return PIXMA_ENOMEM; + s->next = first_pixma; + first_pixma = s; + + s->cfg = cfg; + s->rec_tmo = 8; /* set receive timeout to 8 seconds */ + error = pixma_connect (devnr, &s->io); + if (error < 0) + { + PDBG (pixma_dbg + (2, "pixma_connect() failed %s\n", pixma_strerror (error))); + goto rollback; + } + strncpy (s->id, pixma_get_device_id (devnr), sizeof (s->id) - 1); + s->ops = s->cfg->ops; + s->scanning = 0; + error = s->ops->open (s); + if (error < 0) + goto rollback; + error = pixma_deactivate (s->io); + if (error < 0) + goto rollback; + *handle = s; + return 0; + +rollback: + PDBG (pixma_dbg (2, "pixma_open() failed %s\n", pixma_strerror (error))); + pixma_close (s); + return error; +} + +void +pixma_close (pixma_t * s) +{ + pixma_t **p; + + if (!s) + return; + for (p = &first_pixma; *p && *p != s; p = &((*p)->next)) + { + } + PASSERT (*p); + if (!(*p)) + return; + PDBG (pixma_dbg (2, "pixma_close(): %s\n", s->cfg->name)); + if (s->io) + { + if (s->scanning) + { + PDBG (pixma_dbg (3, "pixma_close(): scanning in progress, call" + " finish_scan()\n")); + s->ops->finish_scan (s); + } + s->ops->close (s); + pixma_disconnect (s->io); + } + *p = s->next; + free (s); +} + +int +pixma_scan (pixma_t * s, pixma_scan_param_t * sp) +{ + int error; + + error = pixma_check_scan_param (s, sp); + if (error < 0) + return error; + + if (sp->mode == PIXMA_SCAN_MODE_LINEART) + { + load_lut(sp->lineart_lut, 8, 8, 50, 205, + sp->threshold_curve, sp->threshold-127); + } + +#ifndef NDEBUG + pixma_dbg (3, "\n"); + pixma_dbg (3, "pixma_scan(): start\n"); + pixma_dbg (3, " line_size=%"PRIu64" image_size=%"PRIu64" channels=%u depth=%u\n", + sp->line_size, sp->image_size, sp->channels, sp->depth); + pixma_dbg (3, " dpi=%ux%u offset=(%u,%u) dimension=%ux%u\n", + sp->xdpi, sp->ydpi, sp->x, sp->y, sp->w, sp->h); + pixma_dbg (3, " gamma_table=%p source=%d\n", sp->gamma_table, sp->source); + pixma_dbg (3, " threshold=%d threshold_curve=%d\n", sp->threshold, sp->threshold_curve); + pixma_dbg (3, " adf-wait=%d\n", sp->adf_wait); + pixma_dbg (3, " ADF page count: %d\n", sp->adf_pageid); +#endif + + s->param = sp; + s->cancel = 0; + s->cur_image_size = 0; + s->imagebuf.wptr = NULL; + s->imagebuf.wend = NULL; + s->imagebuf.rptr = NULL; + s->imagebuf.rend = NULL; + s->underrun = 0; + error = s->ops->scan (s); + if (error >= 0) + { + s->scanning = 1; + } + else + { + PDBG (pixma_dbg + (3, "pixma_scan() failed %s\n", pixma_strerror (error))); + } + + return error; +} + +static uint8_t * +fill_pixels (pixma_t * s, uint8_t * ptr, uint8_t * end, uint8_t value) +{ + if (s->cur_image_size < s->param->image_size) + { + long n = s->param->image_size - s->cur_image_size; + if (n > (end - ptr)) + n = end - ptr; + memset (ptr, value, n); + s->cur_image_size += n; + ptr += n; + } + return ptr; +} + +int +pixma_read_image (pixma_t * s, void *buf, unsigned len) +{ + int result; + pixma_imagebuf_t ib; + + if (!s->scanning) + return 0; + if (s->cancel) + { + result = PIXMA_ECANCELED; + goto cancel; + } + + ib = s->imagebuf; /* get rptr and rend */ + ib.wptr = (uint8_t *) buf; + ib.wend = ib.wptr + len; + + if (s->underrun) + { + if (s->cur_image_size < s->param->image_size) + { + ib.wptr = fill_pixels (s, ib.wptr, ib.wend, 0xff); + } + else + { + PDBG (pixma_dbg + (3, "pixma_read_image(): completed (underrun detected)\n")); + s->scanning = 0; + } + return ib.wptr - (uint8_t *) buf; + } + + while (ib.wptr != ib.wend) + { + if (ib.rptr == ib.rend) + { + ib.rptr = ib.rend = NULL; + result = s->ops->fill_buffer (s, &ib); + if (result < 0) + goto cancel; + if (result == 0) + { /* end of image? */ + s->ops->finish_scan (s); + if ((s->cur_image_size != s->param->image_size) && !s->param->mode_jpeg) + { + pixma_dbg (1, "WARNING:image size mismatches\n"); + pixma_dbg (1, + " %"PRIu64" expected (%d lines) but %"PRIu64" received (%"PRIu64" lines)\n", + s->param->image_size, s->param->h, + s->cur_image_size, + s->cur_image_size / s->param->line_size); + if ((s->cur_image_size % s->param->line_size) != 0) + { + pixma_dbg (1, + "BUG:received data not multiple of line_size\n"); + } + } + if ((s->cur_image_size < s->param->image_size) && !s->param->mode_jpeg) + { + s->underrun = 1; + ib.wptr = fill_pixels (s, ib.wptr, ib.wend, 0xff); + } + else + { + PDBG (pixma_dbg (3, "pixma_read_image():completed\n")); + s->scanning = 0; + } + break; + } + s->cur_image_size += result; + + PASSERT (s->cur_image_size <= s->param->image_size); + } + if (ib.rptr) + { + unsigned count = MIN (ib.rend - ib.rptr, ib.wend - ib.wptr); + memcpy (ib.wptr, ib.rptr, count); + ib.rptr += count; + ib.wptr += count; + } + } + s->imagebuf = ib; /* store rptr and rend */ + return ib.wptr - (uint8_t *) buf; + +cancel: + s->ops->finish_scan (s); + s->scanning = 0; + if (result == PIXMA_ECANCELED) + { + PDBG (pixma_dbg (3, "pixma_read_image(): cancelled by %sware\n", + (s->cancel) ? "soft" : "hard")); + } + else + { + PDBG (pixma_dbg (3, "pixma_read_image() failed %s\n", + pixma_strerror (result))); + } + return result; +} + +void +pixma_cancel (pixma_t * s) +{ + s->cancel = 1; +} + +int +pixma_enable_background (pixma_t * s, int enabled) +{ + return pixma_set_interrupt_mode (s->io, enabled); +} + +int +pixma_activate_connection(pixma_t * s) +{ + return pixma_activate (s->io); +} + +int +pixma_deactivate_connection(pixma_t * s) +{ + return pixma_deactivate (s->io); +} + +uint32_t +pixma_wait_event (pixma_t * s, int timeout /*ms */ ) +{ + unsigned events; + + if (s->events == PIXMA_EV_NONE && s->ops->wait_event) + s->ops->wait_event (s, timeout); + events = s->events; + s->events = PIXMA_EV_NONE; + return events; +} + +#define CLAMP2(x,w,min,max,dpi) do { \ + unsigned m = (max) * (dpi) / 75; \ + x = MIN(x, m - min); \ + w = MIN(w, m - x); \ + if (w < min) w = min; \ +} while(0) + +int +pixma_check_scan_param (pixma_t * s, pixma_scan_param_t * sp) +{ + unsigned cfg_xdpi; + + if (!(sp->channels == 3 || + (sp->channels == 1 && (s->cfg->cap & PIXMA_CAP_GRAY) != 0))) + return PIXMA_EINVAL; + + /* flatbed: use s->cfg->xdpi + * TPU/ADF: use s->cfg->adftpu_max_dpi, if configured with dpi value */ + cfg_xdpi = ((sp->source == PIXMA_SOURCE_FLATBED + || s->cfg->adftpu_max_dpi == 0) ? s->cfg->xdpi + : s->cfg->adftpu_max_dpi); + + if (pixma_check_dpi (sp->xdpi, cfg_xdpi) < 0 || + pixma_check_dpi (sp->ydpi, s->cfg->ydpi) < 0) + return PIXMA_EINVAL; + + /* xdpi must be equal to ydpi except that + xdpi = max_xdpi and ydpi = max_ydpi. */ + if (!(sp->xdpi == sp->ydpi || + (sp->xdpi == cfg_xdpi && sp->ydpi == s->cfg->ydpi))) + return PIXMA_EINVAL; + + if (s->ops->check_param (s, sp) < 0) + return PIXMA_EINVAL; + + /* FIXME: I assume the same minimum width and height for every model. + * new scanners need minimum 16 px height + * minimum image size: 16 px x 16 px */ + CLAMP2 (sp->x, sp->w, 16, s->cfg->width, sp->xdpi); + CLAMP2 (sp->y, sp->h, 16, s->cfg->height, sp->ydpi); + + switch (sp->source) + { + case PIXMA_SOURCE_FLATBED: + break; + + case PIXMA_SOURCE_TPU: + if ((s->cfg->cap & PIXMA_CAP_TPU) != PIXMA_CAP_TPU) + { + sp->source = PIXMA_SOURCE_FLATBED; + PDBG (pixma_dbg + (1, "WARNING: TPU unsupported, fallback to flatbed.\n")); + } + break; + + case PIXMA_SOURCE_ADF: + if ((s->cfg->cap & PIXMA_CAP_ADF) != PIXMA_CAP_ADF) + { + sp->source = PIXMA_SOURCE_FLATBED; + PDBG (pixma_dbg + (1, "WARNING: ADF unsupported, fallback to flatbed.\n")); + } + break; + + case PIXMA_SOURCE_ADFDUP: + if ((s->cfg->cap & PIXMA_CAP_ADFDUP) != PIXMA_CAP_ADFDUP) + { + if (s->cfg->cap & PIXMA_CAP_ADF) + { + sp->source = PIXMA_SOURCE_ADF; + } + else + { + sp->source = PIXMA_SOURCE_FLATBED; + } + PDBG (pixma_dbg + (1, "WARNING: ADF duplex unsupported, fallback to %d.\n", + sp->source)); + } + break; + } + + if (sp->depth == 0) + sp->depth = 8; + if ((sp->depth % 8) != 0 && sp->depth != 1) + return PIXMA_EINVAL; + + sp->line_size = 0; + + if (s->ops->check_param (s, sp) < 0) + return PIXMA_EINVAL; + + if (sp->line_size == 0) + sp->line_size = sp->depth / 8 * sp->channels * sp->w; + sp->image_size = sp->line_size * sp->h; + + /* image_size for software lineart is counted in bits */ + if (sp->software_lineart == 1) + sp->image_size /= 8; + return 0; +} + +const char * +pixma_get_string (pixma_t * s, pixma_string_index_t i) +{ + switch (i) + { + case PIXMA_STRING_MODEL: + return s->cfg->name; + case PIXMA_STRING_ID: + return s->id; + case PIXMA_STRING_LAST: + return NULL; + } + return NULL; +} + +const pixma_config_t * +pixma_get_config (pixma_t * s) +{ + return s->cfg; +} + +void +pixma_fill_gamma_table (double gamma, uint8_t * table, unsigned n) +{ + int i; + double r_gamma = 1.0 / gamma; + double out_scale = 255.0; + double in_scale = 1.0 / (n - 1); + + for (i = 0; (unsigned) i != n; i++) + { + table[i] = (int) (out_scale * pow (i * in_scale, r_gamma) + 0.5); + } +} + +int +pixma_find_scanners (const char **conf_devices, SANE_Bool local_only) +{ + return pixma_collect_devices (conf_devices, pixma_devices, local_only); +} + +const char * +pixma_get_device_model (unsigned devnr) +{ + const pixma_config_t *cfg = pixma_get_device_config (devnr); + return (cfg) ? cfg->name : NULL; +} + + +int +pixma_get_device_status (pixma_t * s, pixma_device_status_t * status) +{ + if (!status) + return PIXMA_EINVAL; + memset (status, 0, sizeof (*status)); + return s->ops->get_status (s, status); +} diff --git a/backend/pixma/pixma_common.h b/backend/pixma/pixma_common.h new file mode 100644 index 0000000..c0ed4ba --- /dev/null +++ b/backend/pixma/pixma_common.h @@ -0,0 +1,232 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2011-2019 Rolf Bensch + Copyright (C) 2006-2007 Wittawat Yamwong + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 PIXMA_COMMON_H +#define PIXMA_COMMON_H + + +#include /* time_t */ +#include "pixma.h" + + +/*! \defgroup subdriver Subdriver Interface + * \brief Subdriver interface. */ + +/*! \defgroup debug Debug utilities + * \brief Debug utilities. */ + +#ifdef NDEBUG +# define PDBG(x) do {} while(0) +# define PASSERT(x) do {} while(0) +#else +# define PDBG(x) x +# define PASSERT(x) do { \ + if (!(x)) \ + pixma_dbg(1, "ASSERT failed:%s:%d: " \ + #x "\n", __FILE__, __LINE__); \ + } while(0) +#endif + + +#define PIXMA_STATUS_OK 0x0606 +#define PIXMA_STATUS_FAILED 0x1515 +#define PIXMA_STATUS_BUSY 0x1414 + +#define PIXMA_MAX_ID_LEN 30 + +/* These may have been defined elsewhere */ +#ifndef MIN +#define MIN(x,y) (((x) < (y)) ? (x):(y)) +#endif +#ifndef MAX +#define MAX(x,y) (((x) < (y)) ? (y):(x)) +#endif +#define ALIGN_SUP(x,n) (((x) + (n) - 1) / (n) * (n)) +#define ALIGN_INF(x,n) (((x) / (n)) * (n)) + +struct pixma_io_t; + +struct pixma_limits_t +{ + unsigned xdpi, ydpi; + unsigned width, height; +}; + +struct pixma_cmdbuf_t +{ + unsigned cmd_header_len, res_header_len, cmd_len_field_ofs; + unsigned expected_reslen, cmdlen; + int reslen; + unsigned size; + uint8_t *buf; +}; + +struct pixma_imagebuf_t +{ + uint8_t *wptr, *wend; + const uint8_t *rptr, *rend; +}; + +struct pixma_t +{ + pixma_t *next; + struct pixma_io_t *io; + const pixma_scan_ops_t *ops; + pixma_scan_param_t *param; + const pixma_config_t *cfg; + char id[PIXMA_MAX_ID_LEN + 1]; + int cancel; /* NOTE: It can be set in a signal handler. */ + uint32_t events; + void *subdriver; /* can be used by model driver. */ + int rec_tmo; /* receive timeout [s] */ + + /* private */ + uint64_t cur_image_size; + pixma_imagebuf_t imagebuf; + unsigned scanning:1; + unsigned underrun:1; +}; + +/** \addtogroup subdriver + * @{ */ +/** Scan operations for subdriver. */ +struct pixma_scan_ops_t +{ + /** Allocate a data structure for the subdriver. It is called after the + * core driver connected to the scanner. The subdriver should reset the + * scanner to a known state in this function. */ + int (*open) (pixma_t *); + + /** Free resources allocated by the subdriver. Don't forget to send abort + * command to the scanner if it is scanning. */ + void (*close) (pixma_t *); + + /** Setup the scanner for scan parameters defined in \a s->param. */ + int (*scan) (pixma_t * s); + + /** Fill a buffer with image data. The subdriver has two choices: + * -# Fill the buffer pointed by ib->wptr directly and leave + * ib->rptr and ib->rend untouched. The length of the buffer is + * ib->wend - ib->wptr. It must update ib->wptr accordingly. + * -# Update ib->rptr and ib->rend to point to the beginning and + * the end of the internal buffer resp. The length of the buffer + * is ib->rend - ib->rptr. This function is called again if + * and only if pixma_read_image() has copied the whole buffer. + * + * The subdriver must wait until there is at least one byte to read or + * return 0 for the end of image. */ + int (*fill_buffer) (pixma_t *, pixma_imagebuf_t * ib); + + /** Cancel the scan operation if necessary and free resources allocated in + * scan(). */ + void (*finish_scan) (pixma_t *); + + /** [Optional] Wait for a user's event, e.g. button event. \a timeout is + * in milliseconds. If an event occured before it's timed out, flags in + * \a s->events should be set accordingly. + * \see PIXMA_EV_* */ + void (*wait_event) (pixma_t * s, int timeout); + + /** Check the scan parameters. The parameters can be adjusted if they are + * out of range, e.g. width > max_width. */ + int (*check_param) (pixma_t *, pixma_scan_param_t *); + + /** Read the device status. \see pixma_get_device_status() */ + int (*get_status) (pixma_t *, pixma_device_status_t *); +}; + + +/** \name Funtions for read and write big-endian integer values */ +/**@{*/ +void pixma_set_be16 (uint16_t x, uint8_t * buf); +void pixma_set_be32 (uint32_t x, uint8_t * buf); +uint16_t pixma_get_be16 (const uint8_t * buf); +uint32_t pixma_get_be32 (const uint8_t * buf); +/**@}*/ + +/** \name Utility functions */ +/**@{*/ +uint8_t pixma_sum_bytes (const void *data, unsigned len); +int pixma_check_dpi (unsigned dpi, unsigned max); +void pixma_sleep (unsigned long usec); +void pixma_get_time (time_t * sec, uint32_t * usec); +uint8_t * pixma_r_to_ir (uint8_t * gptr, uint8_t * sptr, unsigned w, unsigned c); +uint8_t * pixma_rgb_to_gray (uint8_t * gptr, uint8_t * sptr, unsigned w, unsigned c); +uint8_t * pixma_binarize_line(pixma_scan_param_t *, uint8_t * dst, uint8_t * src, unsigned width, unsigned c); +/**@}*/ + +/** \name Command related functions */ +/**@{*/ +int pixma_cmd_transaction (pixma_t *, const void *cmd, unsigned cmdlen, + void *data, unsigned expected_len); +int pixma_check_result (pixma_cmdbuf_t *); +uint8_t *pixma_newcmd (pixma_cmdbuf_t *, unsigned cmd, + unsigned dataout, unsigned datain); +int pixma_exec (pixma_t *, pixma_cmdbuf_t *); +int pixma_exec_short_cmd (pixma_t *, pixma_cmdbuf_t *, unsigned cmd); +int pixma_map_status_errno (unsigned status); +/**@}*/ + +#define pixma_fill_checksum(start, end) do { \ + *(end) = -pixma_sum_bytes(start, (end)-(start)); \ +} while(0) + +/** @} end of group subdriver */ + +/** \addtogroup debug + * @{ */ +void pixma_set_debug_level (int level); +#ifndef NDEBUG +void pixma_hexdump (int level, const void *d_, unsigned len); + +/* len: length of data or error code. + size: if >= 0, force to print 'size' bytes. + max: maximum number of bytes to print(-1 means no limit). */ +void pixma_dump (int level, const char *type, const void *data, int len, + int size, int max); +# define DEBUG_DECLARE_ONLY +# include "../include/sane/sanei_debug.h" +#endif /* NDEBUG */ +/** @} end of group debug */ + +#endif diff --git a/backend/pixma/pixma_imageclass.c b/backend/pixma/pixma_imageclass.c new file mode 100644 index 0000000..ce0c37d --- /dev/null +++ b/backend/pixma/pixma_imageclass.c @@ -0,0 +1,985 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2011-2019 Rolf Bensch + Copyright (C) 2007-2009 Nicolas Martin, + Copyright (C) 2008 Dennis Lou, dlou 99 at yahoo dot 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. + */ + +/* + * imageCLASS backend based on pixma_mp730.c + */ + +#include "../include/sane/config.h" + +#include +#include +#include + +#include "pixma_rename.h" +#include "pixma_common.h" +#include "pixma_io.h" + + +#ifdef __GNUC__ +# define UNUSED(v) (void) v +#else +# define UNUSED(v) +#endif + +#define IMAGE_BLOCK_SIZE (0x80000) +#define MAX_CHUNK_SIZE (0x1000) +#define MIN_CHUNK_SIZE (0x0200) +#define CMDBUF_SIZE 512 + +#define MF4100_PID 0x26a3 +#define MF4600_PID 0x26b0 +#define MF4010_PID 0x26b4 +#define MF4200_PID 0x26b5 +#define MF4360_PID 0x26ec +#define D480_PID 0x26ed +#define MF4320_PID 0x26ee +#define D420_PID 0x26ef +#define MF3200_PID 0x2684 +#define MF6500_PID 0x2686 +/* generation 2 scanners (>=0x2707) */ +#define MF8300_PID 0x2708 +#define MF4500_PID 0x2736 +#define MF4410_PID 0x2737 +#define D550_PID 0x2738 +#define MF3010_PID 0x2759 +#define MF4570_PID 0x275a +#define MF4800_PID 0x2773 +#define MF4700_PID 0x2774 +#define MF8200_PID 0x2779 +/* the following are all untested */ +#define MF5630_PID 0x264e +#define MF5650_PID 0x264f +#define MF8100_PID 0x2659 +#define MF5880_PID 0x26f9 +#define MF6680_PID 0x26fa +#define MF8030_PID 0x2707 +#define IR1133_PID 0x2742 +#define MF5900_PID 0x2743 +#define D530_PID 0x2775 +#define MF8500_PID 0x277a +#define MF6100_PID 0x278e +#define MF820_PID 0x27a6 +#define MF220_PID 0x27a8 +#define MF210_PID 0x27a9 +#define MF620_PID 0x27b4 +#define MF410_PID 0x27c0 +#define MF510_PID 0x27c2 +#define MF230_PID 0x27d1 +#define MF240_PID 0x27d2 +#define MF630_PID 0x27e1 +#define MF634_PID 0x27e2 +#define MF730_PID 0x27e4 +#define MF731_PID 0x27e5 +#define D570_PID 0x27e8 +#define MF110_PID 0x27ed +#define MF520_PID 0x27f0 +#define MF420_PID 0x27f1 +#define MF260_PID 0x27f4 +#define MF740_PID 0x27fb +#define MF743_PID 0x27fc +#define MF640_PID 0x27fe +#define MF645_PID 0x27fd + + +enum iclass_state_t +{ + state_idle, + state_warmup, /* MF4200 always warm/calibrated; others? */ + state_scanning, + state_finished +}; + +enum iclass_cmd_t +{ + cmd_start_session = 0xdb20, + cmd_select_source = 0xdd20, + cmd_scan_param = 0xde20, + cmd_status = 0xf320, + cmd_abort_session = 0xef20, + cmd_read_image = 0xd420, + cmd_read_image2 = 0xd460, /* New multifunctionals, such as MF4410 */ + cmd_error_info = 0xff20, + + cmd_activate = 0xcf60 +}; + +typedef struct iclass_t +{ + enum iclass_state_t state; + pixma_cmdbuf_t cb; + unsigned raw_width; + uint8_t current_status[12]; + + uint8_t *buf, *blkptr, *lineptr; + unsigned buf_len, blk_len; + + unsigned last_block; + + uint8_t generation; /* New multifunctionals are (generation == 2) */ + + uint8_t adf_state; /* handle adf scanning */ +} iclass_t; + + +static int is_scanning_from_adf (pixma_t * s) +{ + return (s->param->source == PIXMA_SOURCE_ADF + || s->param->source == PIXMA_SOURCE_ADFDUP); +} + +static int is_scanning_from_adfdup (pixma_t * s) +{ + return (s->param->source == PIXMA_SOURCE_ADFDUP); +} + +static void iclass_finish_scan (pixma_t * s); + +/* checksumming is sometimes different than pixmas */ +static int +iclass_exec (pixma_t * s, pixma_cmdbuf_t * cb, char invcksum) +{ + if (cb->cmdlen > cb->cmd_header_len) + pixma_fill_checksum (cb->buf + cb->cmd_header_len, + cb->buf + cb->cmdlen - 2); + cb->buf[cb->cmdlen - 1] = invcksum ? -cb->buf[cb->cmdlen - 2] : 0; + cb->reslen = + pixma_cmd_transaction (s, cb->buf, cb->cmdlen, cb->buf, + cb->expected_reslen); + return pixma_check_result (cb); +} + +static int +has_paper (pixma_t * s) +{ + iclass_t *mf = (iclass_t *) s->subdriver; + return ((mf->current_status[1] & 0x0f) == 0 /* allow 0x10 as ADF paper OK */ + || mf->current_status[1] == 81); /* allow 0x51 as ADF paper OK */ +} + +static int +abort_session (pixma_t * s) +{ + iclass_t *mf = (iclass_t *) s->subdriver; + return pixma_exec_short_cmd (s, &mf->cb, cmd_abort_session); +} + +static int +query_status (pixma_t * s) +{ + iclass_t *mf = (iclass_t *) s->subdriver; + uint8_t *data; + int error; + + data = pixma_newcmd (&mf->cb, cmd_status, 0, 12); + error = pixma_exec (s, &mf->cb); + if (error >= 0) + { + memcpy (mf->current_status, data, 12); + /*DBG (3, "Current status: paper=0x%02x cal=%u lamp=%u\n", + data[1], data[8], data[7]);*/ + PDBG (pixma_dbg (3, "Current status: paper=0x%02x cal=%u lamp=%u\n", + data[1], data[8], data[7])); + } + return error; +} + +static int +activate (pixma_t * s, uint8_t x) +{ + iclass_t *mf = (iclass_t *) s->subdriver; + uint8_t *data = pixma_newcmd (&mf->cb, cmd_activate, 10, 0); + data[0] = 1; + data[3] = x; + switch (s->cfg->pid) + { + case MF4200_PID: + case MF4600_PID: + case MF6500_PID: + case D480_PID: + case D420_PID: + case MF4360_PID: + case MF4100_PID: + case MF8300_PID: + return iclass_exec (s, &mf->cb, 1); + break; + default: + return pixma_exec (s, &mf->cb); + } +} + +static int +start_session (pixma_t * s) +{ + iclass_t *mf = (iclass_t *) s->subdriver; + return pixma_exec_short_cmd (s, &mf->cb, cmd_start_session); +} + +static int +select_source (pixma_t * s) +{ + iclass_t *mf = (iclass_t *) s->subdriver; + uint8_t *data = pixma_newcmd (&mf->cb, cmd_select_source, 10, 0); + data[0] = (is_scanning_from_adf(s)) ? 2 : 1; + /* special settings for MF6100 */ + data[5] = is_scanning_from_adfdup(s) ? 3 : ((s->cfg->pid == MF6100_PID && s->param->source == PIXMA_SOURCE_ADF) ? 1 : 0); + switch (s->cfg->pid) + { + case MF4200_PID: + case MF4600_PID: + case MF6500_PID: + case D480_PID: + case D420_PID: + case MF4360_PID: + case MF4100_PID: + case MF8300_PID: + return iclass_exec (s, &mf->cb, 0); + break; + default: + return pixma_exec (s, &mf->cb); + } +} + +static int +send_scan_param (pixma_t * s) +{ + iclass_t *mf = (iclass_t *) s->subdriver; + uint8_t *data; + + data = pixma_newcmd (&mf->cb, cmd_scan_param, 0x2e, 0); + pixma_set_be16 (s->param->xdpi | 0x1000, data + 0x04); + pixma_set_be16 (s->param->ydpi | 0x1000, data + 0x06); + pixma_set_be32 (s->param->x, data + 0x08); + pixma_set_be32 (s->param->y, data + 0x0c); + pixma_set_be32 (mf->raw_width, data + 0x10); + pixma_set_be32 (s->param->h, data + 0x14); + data[0x18] = (s->param->channels == 1) ? 0x04 : 0x08; + data[0x19] = s->param->channels * ((s->param->depth == 1) ? 8 : s->param->depth); /* bits per pixel */ + data[0x1f] = 0x7f; + data[0x20] = 0xff; + data[0x23] = 0x81; + switch (s->cfg->pid) + { + case MF4200_PID: + case MF4600_PID: + case MF6500_PID: + case D480_PID: + case D420_PID: + case MF4360_PID: + case MF4100_PID: + case MF8300_PID: + return iclass_exec (s, &mf->cb, 0); + break; + default: + return pixma_exec (s, &mf->cb); + } +} + +static int +request_image_block (pixma_t * s, unsigned flag, uint8_t * info, + unsigned * size, uint8_t * data, unsigned * datalen) +{ + iclass_t *mf = (iclass_t *) s->subdriver; + int error; + unsigned expected_len; + const int hlen = 2 + 6; + + memset (mf->cb.buf, 0, 11); + /* generation 2 scanners use cmd_read_image2. + * MF6100, ... are exceptions */ + pixma_set_be16 (((mf->generation >= 2 + && s->cfg->pid != MF6100_PID) ? cmd_read_image2 : cmd_read_image), mf->cb.buf); + mf->cb.buf[8] = flag; + mf->cb.buf[10] = 0x06; + expected_len = (mf->generation >= 2 || + s->cfg->pid == MF4600_PID || + s->cfg->pid == MF6500_PID || + s->cfg->pid == MF8030_PID) ? 512 : hlen; + mf->cb.reslen = pixma_cmd_transaction (s, mf->cb.buf, 11, mf->cb.buf, expected_len); + if (mf->cb.reslen >= hlen) + { + *info = mf->cb.buf[2]; + *size = pixma_get_be16 (mf->cb.buf + 6); /* 16bit size */ + error = 0; + + if (mf->generation >= 2 || + s->cfg->pid == MF4600_PID || + s->cfg->pid == MF6500_PID || + s->cfg->pid == MF8030_PID) + { /* 32bit size */ + *datalen = mf->cb.reslen - hlen; + *size = (*datalen + hlen == 512) ? pixma_get_be32 (mf->cb.buf + 4) - *datalen : *size; + memcpy (data, mf->cb.buf + hlen, *datalen); + } + PDBG (pixma_dbg (11, "*request_image_block***** size = %u *****\n", *size)); + } + else + { + error = PIXMA_EPROTO; + } + return error; +} + +static int +read_image_block (pixma_t * s, uint8_t * data, unsigned size) +{ + iclass_t *mf = (iclass_t *) s->subdriver; + int error; + unsigned maxchunksize, chunksize, count = 0; + + maxchunksize = MAX_CHUNK_SIZE * ((mf->generation >= 2 || + s->cfg->pid == MF4600_PID || + s->cfg->pid == MF6500_PID || + s->cfg->pid == MF8030_PID) ? 4 : 1); + while (size) + { + if (size >= maxchunksize) + chunksize = maxchunksize; + else if (size < MIN_CHUNK_SIZE) + chunksize = size; + else + chunksize = size - (size % MIN_CHUNK_SIZE); + error = pixma_read (s->io, data, chunksize); + if (error < 0) + return count; + count += error; + data += error; + size -= error; + } + return count; +} + +static int +read_error_info (pixma_t * s, void *buf, unsigned size) +{ + unsigned len = 16; + iclass_t *mf = (iclass_t *) s->subdriver; + uint8_t *data; + int error; + + data = pixma_newcmd (&mf->cb, cmd_error_info, 0, len); + switch (s->cfg->pid) + { + case MF4200_PID: + case MF4600_PID: + case MF6500_PID: + case D480_PID: + case D420_PID: + case MF4360_PID: + case MF4100_PID: + case MF8300_PID: + error = iclass_exec (s, &mf->cb, 0); + break; + default: + error = pixma_exec (s, &mf->cb); + } + if (error < 0) + return error; + if (buf && len < size) + { + size = len; + /* NOTE: I've absolutely no idea what the returned data mean. */ + memcpy (buf, data, size); + error = len; + } + return error; +} + +static int +handle_interrupt (pixma_t * s, int timeout) +{ + uint8_t buf[16]; + int len; + + len = pixma_wait_interrupt (s->io, buf, sizeof (buf), timeout); + if (len == PIXMA_ETIMEDOUT) + return 0; + if (len < 0) + return len; + if (len != 16) + { + PDBG (pixma_dbg + (1, "WARNING:unexpected interrupt packet length %d\n", len)); + return PIXMA_EPROTO; + } + if (buf[12] & 0x40) + query_status (s); + if (buf[15] & 1) + s->events = PIXMA_EV_BUTTON1; + return 1; +} + +static int +step1 (pixma_t * s) +{ + int error; + int rec_tmo; + iclass_t *mf = (iclass_t *) s->subdriver; + + /* don't wait full timeout for 1st command */ + rec_tmo = s->rec_tmo; /* save globel timeout */ + s->rec_tmo = 2; /* set timeout to 2 seconds */ + error = query_status (s); + s->rec_tmo = rec_tmo; /* restore global timeout */ + if (error < 0) + { + PDBG (pixma_dbg (1, "WARNING: Resend first USB command after timeout!\n")); + error = query_status (s); + } + if (error < 0) + return error; + + /* wait for inserted paper */ + if (s->param->adf_wait != 0 && is_scanning_from_adf(s)) + { + int tmo = s->param->adf_wait; + + while (!has_paper (s) && --tmo >= 0 && !s->param->frontend_cancel) + { + if ((error = query_status (s)) < 0) + return error; + pixma_sleep (1000000); + PDBG (pixma_dbg(2, "No paper in ADF. Timed out in %d sec.\n", tmo)); + } + /* canceled from frontend */ + if (s->param->frontend_cancel) + { + return PIXMA_ECANCELED; + } + } + /* no paper inserted + * => abort session */ + if (is_scanning_from_adf(s) && !has_paper (s)) + { + return PIXMA_ENO_PAPER; + } + /* activate only seen for generation 1 scanners */ + if (mf->generation == 1) + { + if (error >= 0) + error = activate (s, 0); + if (error >= 0) + error = activate (s, 4); + } + return error; +} + +/* line in=rrr... ggg... bbb... line out=rgbrgbrgb... */ +static void +pack_rgb (const uint8_t * src, unsigned nlines, unsigned w, uint8_t * dst) +{ + unsigned w2, stride; + + w2 = 2 * w; + stride = 3 * w; + for (; nlines != 0; nlines--) + { + unsigned x; + for (x = 0; x != w; x++) + { + *dst++ = src[x + 0]; + *dst++ = src[x + w]; + *dst++ = src[x + w2]; + } + src += stride; + } +} + +static int +iclass_open (pixma_t * s) +{ + iclass_t *mf; + uint8_t *buf; + + mf = (iclass_t *) calloc (1, sizeof (*mf)); + if (!mf) + return PIXMA_ENOMEM; + + buf = (uint8_t *) malloc (CMDBUF_SIZE); + if (!buf) + { + free (mf); + return PIXMA_ENOMEM; + } + + s->subdriver = mf; + mf->state = state_idle; + + mf->cb.buf = buf; + mf->cb.size = CMDBUF_SIZE; + mf->cb.res_header_len = 2; + mf->cb.cmd_header_len = 10; + mf->cb.cmd_len_field_ofs = 7; + + /* adf scanning */ + mf->adf_state = state_idle; + + /* set generation = 2 for new multifunctionals */ + mf->generation = (s->cfg->pid >= MF8030_PID) ? 2 : 1; + PDBG (pixma_dbg (3, "*iclass_open***** This is a generation %d scanner. *****\n", mf->generation)); + + PDBG (pixma_dbg (3, "Trying to clear the interrupt buffer...\n")); + if (handle_interrupt (s, 200) == 0) + { + PDBG (pixma_dbg (3, " no packets in buffer\n")); + } + return 0; +} + +static void +iclass_close (pixma_t * s) +{ + iclass_t *mf = (iclass_t *) s->subdriver; + + iclass_finish_scan (s); + free (mf->cb.buf); + free (mf->buf); + free (mf); + s->subdriver = NULL; +} + +static int +iclass_check_param (pixma_t * s, pixma_scan_param_t * sp) +{ + UNUSED (s); + + /* PDBG (pixma_dbg (4, "*iclass_check_param***** Initially: channels=%u, depth=%u, x=%u, y=%u, w=%u, line_size=%" PRIu64 " , h=%u*****\n", + sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->line_size, sp->h)); */ + + sp->depth = 8; + sp->software_lineart = 0; + if (sp->mode == PIXMA_SCAN_MODE_LINEART) + { + sp->software_lineart = 1; + sp->channels = 1; + sp->depth = 1; + } + + if (sp->software_lineart == 1) + { + unsigned w_max; + + /* for software lineart line_size and w must be a multiple of 8 */ + sp->line_size = ALIGN_SUP (sp->w, 8) * sp->channels; + sp->w = ALIGN_SUP (sp->w, 8); + + /* do not exceed the scanner capability */ + w_max = s->cfg->width * s->cfg->xdpi / 75; + w_max -= w_max % 32; + if (sp->w > w_max) + sp->w = w_max; + } + else + sp->line_size = ALIGN_SUP (sp->w, 32) * sp->channels; + + /* Some exceptions here for particular devices */ + /* Those devices can scan up to Legal 14" with ADF, but A4 11.7" in flatbed */ + /* PIXMA_CAP_ADF also works for PIXMA_CAP_ADFDUP */ + if ((s->cfg->cap & PIXMA_CAP_ADF) && sp->source == PIXMA_SOURCE_FLATBED) + sp->h = MIN (sp->h, 877 * sp->xdpi / 75); + + /* PDBG (pixma_dbg (4, "*iclass_check_param***** Finally: channels=%u, depth=%u, x=%u, y=%u, w=%u, line_size=%" PRIu64 " , h=%u*****\n", + sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->line_size, sp->h)); */ + + return 0; +} + +static int +iclass_scan (pixma_t * s) +{ + int error, n; + iclass_t *mf = (iclass_t *) s->subdriver; + uint8_t *buf, ignore; + unsigned buf_len, ignore2; + + if (mf->state != state_idle) + return PIXMA_EBUSY; + + /* clear interrupt packets buffer */ + while (handle_interrupt (s, 0) > 0) + { + } + + mf->raw_width = ALIGN_SUP (s->param->w, 32); + PDBG (pixma_dbg (3, "raw_width = %u\n", mf->raw_width)); + + n = IMAGE_BLOCK_SIZE / s->param->line_size + 1; + buf_len = (n + 1) * s->param->line_size + IMAGE_BLOCK_SIZE; + if (buf_len > mf->buf_len) + { + buf = (uint8_t *) realloc (mf->buf, buf_len); + if (!buf) + return PIXMA_ENOMEM; + mf->buf = buf; + mf->buf_len = buf_len; + } + mf->lineptr = mf->buf; + mf->blkptr = mf->buf + n * s->param->line_size; + mf->blk_len = 0; + + error = step1 (s); + if (error >= 0 + && (s->param->adf_pageid == 0 || mf->generation == 1 || mf->adf_state == state_idle)) + { /* single sheet or first sheet from ADF */ + PDBG (pixma_dbg (3, "*iclass_scan***** start scanning *****\n")); + error = start_session (s); + if (error >= 0) + mf->state = state_scanning; + if (error >= 0) + error = select_source (s); + } + else if (error >= 0) + { /* next sheet from ADF */ + PDBG (pixma_dbg (3, "*iclass_scan***** scan next sheet from ADF *****\n")); + mf->state = state_scanning; + } + if (error >= 0) + error = send_scan_param (s); + if (error >= 0) + error = request_image_block (s, 0, &ignore, &ignore2, &ignore, &ignore2); + if (error < 0) + { + iclass_finish_scan (s); + return error; + } + mf->last_block = 0; + + /* ADF scanning active */ + if (is_scanning_from_adf (s)) + mf->adf_state = state_scanning; + return 0; +} + + +static int +iclass_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) +{ + int error, n; + iclass_t *mf = (iclass_t *) s->subdriver; + unsigned block_size, lines_size, lineart_lines_size, first_block_size; + uint8_t info; + +/* + * 1. send a block request cmd (d4 20 00... 04 00 06) + * 2. examine the response for block size and/or end-of-scan flag + * 3. read the block one chunk at a time + * 4. repeat until have enough to process >=1 lines + */ + do + { + do + { + if (s->cancel) + return PIXMA_ECANCELED; + if (mf->last_block) + { + /* end of image */ + mf->state = state_finished; + return 0; + } + + first_block_size = 0; + error = request_image_block (s, 4, &info, &block_size, + mf->blkptr + mf->blk_len, &first_block_size); + /* add current block to remainder of previous */ + mf->blk_len += first_block_size; + if (error < 0) + { + /* NOTE: seen in traffic logs but don't know the meaning. */ + read_error_info (s, NULL, 0); + if (error == PIXMA_ECANCELED) + return error; + } + + /* info: 0x28 = end; 0x38 = end + ADF empty */ + mf->last_block = info & 0x38; + if ((info & ~0x38) != 0) + { + PDBG (pixma_dbg (1, "WARNING: Unexpected result header\n")); + PDBG (pixma_hexdump (1, &info, 1)); + } + + if (block_size == 0) + { + /* no image data at this moment. */ + /*pixma_sleep(100000); *//* FIXME: too short, too long? */ + handle_interrupt (s, 100); + } + } + while (block_size == 0 && first_block_size == 0); + + error = read_image_block (s, mf->blkptr + mf->blk_len, block_size); + block_size = error; + if (error < 0) + return error; + + /* add current block to remainder of previous */ + mf->blk_len += block_size; + /* n = number of full lines (rows) we have in the buffer. */ + n = mf->blk_len / ((s->param->mode == PIXMA_SCAN_MODE_LINEART) ? mf->raw_width : s->param->line_size); + if (n != 0) + { + /* PDBG (pixma_dbg (4, "*iclass_fill_buffer***** Processing with n=%d, w=%i, line_size=%" PRIu64 ", raw_width=%u ***** \n", + n, s->param->w, s->param->line_size, mf->raw_width)); */ + /* PDBG (pixma_dbg (4, "*iclass_fill_buffer***** scan_mode=%d, lineptr=%" PRIu64 ", blkptr=%" PRIu64 " \n", + s->param->mode, (uint64_t)mf->lineptr, (uint64_t)mf->blkptr)); */ + + /* gray to lineart convert + * mf->lineptr : image line + * mf->blkptr : scanned image block as grayscale + * s->param->w : image width + * s->param->line_size : scanned image width */ + if (s->param->mode == PIXMA_SCAN_MODE_LINEART) + { + int i; + uint8_t *sptr, *dptr; + + /* PDBG (pixma_dbg (4, "*iclass_fill_buffer***** Processing lineart *****\n")); */ + + /* process ALL lines */ + sptr = mf->blkptr; + dptr = mf->lineptr; + for (i = 0; i < n; i++, sptr += mf->raw_width) + dptr = pixma_binarize_line (s->param, dptr, sptr, s->param->line_size, 1); + } + else if (s->param->channels != 1 && + mf->generation == 1 && + s->cfg->pid != MF4600_PID && + s->cfg->pid != MF6500_PID && + s->cfg->pid != MF8030_PID) + { + /* color and not MF46xx or MF65xx */ + pack_rgb (mf->blkptr, n, mf->raw_width, mf->lineptr); + } + else + { + /* grayscale */ + memcpy (mf->lineptr, mf->blkptr, n * s->param->line_size); + } + /* cull remainder and shift left */ + lineart_lines_size = n * s->param->line_size / 8; + lines_size = n * ((s->param->mode == PIXMA_SCAN_MODE_LINEART) ? mf->raw_width : s->param->line_size); + mf->blk_len -= lines_size; + memcpy (mf->blkptr, mf->blkptr + lines_size, mf->blk_len); + } + } + while (n == 0); + + /* output full lines, keep partial lines for next block + * ib->rptr : start of image buffer + * ib->rend : end of image buffer */ + ib->rptr = mf->lineptr; + ib->rend = mf->lineptr + (s->param->mode == PIXMA_SCAN_MODE_LINEART ? lineart_lines_size : lines_size); + /* PDBG (pixma_dbg (4, "*iclass_fill_buffer***** rptr=%" PRIu64 ", rend=%" PRIu64 ", diff=%ld \n", + (uint64_t)ib->rptr, (uint64_t)ib->rend, ib->rend - ib->rptr)); */ + return ib->rend - ib->rptr; +} + +static void +iclass_finish_scan (pixma_t * s) +{ + int error; + iclass_t *mf = (iclass_t *) s->subdriver; + + switch (mf->state) + { + /* fall through */ + case state_warmup: + case state_scanning: + error = abort_session (s); + if (error < 0) + PDBG (pixma_dbg + (1, "WARNING:abort_session() failed %s\n", + pixma_strerror (error))); + /* fall through */ + case state_finished: + query_status (s); + query_status (s); + if (mf->generation == 1) + { /* activate only seen for generation 1 scanners */ + activate (s, 0); + query_status (s); + } + /* generation = 1: + * 0x28 = last block (no multi page scan) + * generation >= 2: + * 0x38 = last block and ADF empty (generation >= 2) + * 0x28 = last block and Paper in ADF (multi page scan) + * some generation 2 scanners don't use 0x38 for ADF empty => check status */ + if (mf->last_block==0x38 /* generation 2 scanner ADF empty */ + || (mf->generation == 1 && mf->last_block == 0x28) /* generation 1 scanner last block */ + || (mf->generation >= 2 && !has_paper(s))) /* check status: no paper in ADF */ + { + /* ADFDUP scan: wait for 8sec to throw last page out of ADF feeder */ + if (is_scanning_from_adfdup(s)) + { + PDBG (pixma_dbg (4, "*iclass_finish_scan***** sleep for 8s *****\n")); + pixma_sleep(8000000); /* sleep for 8s */ + query_status (s); + } + PDBG (pixma_dbg (3, "*iclass_finish_scan***** abort session *****\n")); + abort_session (s); + mf->adf_state = state_idle; + mf->last_block = 0; + } + else + PDBG (pixma_dbg (3, "*iclass_finish_scan***** wait for next page from ADF *****\n")); + + mf->state = state_idle; + /* fall through */ + case state_idle: + break; + } +} + +static void +iclass_wait_event (pixma_t * s, int timeout) +{ + /* FIXME: timeout is not correct. See usbGetCompleteUrbNoIntr() for + * instance. */ + while (s->events == 0 && handle_interrupt (s, timeout) > 0) + { + } +} + +static int +iclass_get_status (pixma_t * s, pixma_device_status_t * status) +{ + int error; + + error = query_status (s); + if (error < 0) + return error; + status->hardware = PIXMA_HARDWARE_OK; + status->adf = (has_paper (s)) ? PIXMA_ADF_OK : PIXMA_ADF_NO_PAPER; + return 0; +} + + +static const pixma_scan_ops_t pixma_iclass_ops = { + iclass_open, + iclass_close, + iclass_scan, + iclass_fill_buffer, + iclass_finish_scan, + iclass_wait_event, + iclass_check_param, + iclass_get_status +}; + +#define DEV(name, model, pid, dpi, adftpu_max_dpi, w, h, cap) { \ + name, /* name */ \ + model, /* model */ \ + 0x04a9, pid, /* vid pid */ \ + 1, /* iface */ \ + &pixma_iclass_ops, /* ops */ \ + 0, /* min_xdpi not used in this subdriver */ \ + dpi, dpi, /* xdpi, ydpi */ \ + 0, /* adftpu_min_dpi not used in this subdriver */ \ + adftpu_max_dpi, /* adftpu_max_dpi */ \ + 0, 0, /* tpuir_min_dpi & tpuir_max_dpi not used in this subdriver */ \ + w, h, /* width, height */ \ + PIXMA_CAP_LINEART| /* all scanners have software lineart */ \ + PIXMA_CAP_ADF_WAIT| /* adf wait for all ADF and ADFDUP scanners */ \ + PIXMA_CAP_GRAY|PIXMA_CAP_EVENTS|cap \ +} +const pixma_config_t pixma_iclass_devices[] = { + DEV ("Canon imageCLASS MF4270", "MF4270", MF4200_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), + DEV ("Canon imageCLASS MF4150", "MF4100", MF4100_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), + DEV ("Canon imageCLASS MF4690", "MF4690", MF4600_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), + DEV ("Canon imageCLASS D420", "D420", D420_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP), + DEV ("Canon imageCLASS D480", "D480", D480_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP), + DEV ("Canon imageCLASS MF4360", "MF4360", MF4360_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP), + DEV ("Canon imageCLASS MF4320", "MF4320", MF4320_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), + DEV ("Canon imageCLASS MF4010", "MF4010", MF4010_PID, 600, 0, 640, 877, 0), + DEV ("Canon imageCLASS MF3240", "MF3240", MF3200_PID, 600, 0, 640, 877, 0), + DEV ("Canon imageClass MF6500", "MF6500", MF6500_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), + DEV ("Canon imageCLASS MF4410", "MF4410", MF4410_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), + DEV ("Canon imageCLASS D550", "D550", D550_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), + DEV ("Canon i-SENSYS MF4500 Series", "MF4500", MF4500_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), + DEV ("Canon i-SENSYS MF3010", "MF3010", MF3010_PID, 600, 0, 640, 877, 0), + DEV ("Canon i-SENSYS MF4700 Series", "MF4700", MF4700_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), + DEV ("Canon i-SENSYS MF4800 Series", "MF4800", MF4800_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), + DEV ("Canon imageCLASS MF4570dw", "MF4570dw", MF4570_PID, 600, 0, 640, 877, 0), + DEV ("Canon i-SENSYS MF8200C Series", "MF8200C", MF8200_PID, 600, 300, 640, 1050, PIXMA_CAP_ADF), + DEV ("Canon i-SENSYS MF8300 Series", "MF8300", MF8300_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), + DEV ("Canon imageCLASS D530", "D530", D530_PID, 600, 0, 640, 877, 0), + /* FIXME: the following capabilities all need updating/verifying */ + DEV ("Canon imageCLASS MF5630", "MF5630", MF5630_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), + DEV ("Canon laserBase MF5650", "MF5650", MF5650_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), + DEV ("Canon imageCLASS MF8170c", "MF8170c", MF8100_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), + DEV ("Canon imageClass MF8030", "MF8030", MF8030_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), + DEV ("Canon i-SENSYS MF5880dn", "MF5880", MF5880_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF6680dn", "MF6680", MF6680_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP), + DEV ("Canon imageRUNNER 1133", "iR1133", IR1133_PID, 600, 0, 637, 877, PIXMA_CAP_ADFDUP), /* max. w = 216mm */ + DEV ("Canon i-SENSYS MF5900 Series", "MF5900", MF5900_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF8500C Series", "MF8500C", MF8500_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF6100 Series", "MF6100", MF6100_PID, 600, 300, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon imageClass MF810/820", "MF810/820", MF820_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF220 Series", "MF220", MF220_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), /* max. w = 216mm */ + DEV ("Canon i-SENSYS MF210 Series", "MF210", MF210_PID, 600, 0, 637, 1050, PIXMA_CAP_ADF), /* max. w = 216mm */ + DEV ("Canon i-SENSYS MF620 Series", "MF620", MF620_PID, 600, 0, 637, 1050, PIXMA_CAP_ADF), + DEV ("Canon i-SENSYS MF410 Series", "MF410", MF410_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), /* max. w = 216mm */ + DEV ("Canon i-SENSYS MF510 Series", "MF510", MF510_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF230 Series", "MF230", MF230_PID, 600, 0, 637, 1050, PIXMA_CAP_ADF), /* max. w = 216mm */ + DEV ("Canon i-SENSYS MF240 Series", "MF240", MF240_PID, 600, 300, 634, 1050, PIXMA_CAP_ADF), /* max. w = 215mm, */ + /* TODO: fix black stripes for 216mm @ 600dpi */ + DEV ("Canon i-SENSYS MF630 Series", "MF630", MF630_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF730 Series", "MF730", MF730_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF731C", "MF731", MF731_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF633C/MF635C", "MF633C/635C", MF630_PID, 600, 0, 637, 877, PIXMA_CAP_ADFDUP), /* max. w = 216mm */ + DEV ("Canon imageCLASS MF634C", "MF632C/634C", MF634_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon imageCLASS MF733C", "MF731C/733C", MF731_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), /* however, we need this for ethernet/wifi */ + DEV ("Canon imageCLASS D570", "D570", D570_PID, 600, 0, 640, 877, 0), + DEV ("Canon i-SENSYS MF110 Series", "MF110", MF110_PID, 600, 0, 640, 1050, 0), + DEV ("Canon i-SENSYS MF520 Series", "MF520", MF520_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF420 Series", "MF420", MF420_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF260 Series", "MF260", MF260_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF740 Series", "MF740", MF740_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF741C/743C", "MF741C/743C", MF743_PID, 600, 300, 640, 1050, PIXMA_CAP_ADFDUP), /* ADFDUP restricted to 300dpi */ + DEV ("Canon i-SENSYS MF640 Series", "MF642C/643C/644C", MF640_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), + DEV ("Canon i-SENSYS MF645C", "MF645C", MF645_PID, 600, 0, 637, 877, PIXMA_CAP_ADFDUP), /* max. w = 216mm */ + DEV (NULL, NULL, 0, 0, 0, 0, 0, 0) +}; diff --git a/backend/pixma/pixma_io.h b/backend/pixma/pixma_io.h new file mode 100644 index 0000000..715bab5 --- /dev/null +++ b/backend/pixma/pixma_io.h @@ -0,0 +1,186 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2006-2007 Wittawat Yamwong + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 PIXMA_IO_H +#define PIXMA_IO_H + +/* TODO: move to pixma_common.h, to reduce the number of files */ + +/*! + * \defgroup IO IO interface + * \brief The IO interface. + * + * Return value of functions that return \c int if not otherwise specified: + * - >= if succeeded + * - < 0 if failed (e.g. \c PIXMA_ETIMEDOUT) + * . + * @{ + */ + +/** Timeout for pixma_read() in milliseconds */ +#define PIXMA_BULKIN_TIMEOUT 1000 +/** Timeout for pixma_write() in milliseconds */ +#define PIXMA_BULKOUT_TIMEOUT 1000 + + +struct pixma_io_t; +struct pixma_config_t; + +/** IO handle */ +typedef struct pixma_io_t pixma_io_t; + + +/** Initialize IO module. It must be called before any other functions in this + * module. + * \return 0 on success or + * - \c PIXMA_ENOMEM + * - \c PIXMA_EACCES + * - \c PIXMA_EIO */ +int pixma_io_init (void); + +/** Shutdown all connections and free resources allocated in this module. */ +void pixma_io_cleanup (void); + +/** Find devices currently connected to the computer. + * \c devnr passed to functions + * - pixma_get_device_config() + * - pixma_get_device_id() + * - pixma_connect() + * . + * should be less than the number of devices returned by this function. + * \param[in] pixma_devices A \c NULL terminated array of pointers to + * array of pixma_config_t which is terminated by setting + * pixma_config_t::name to \c NULL. + * \return Number of devices found */ +unsigned pixma_collect_devices (const char ** conf_devices, + const struct pixma_config_t *const + pixma_devices[], SANE_Bool local_only); + +/** Get device configuration. */ +const struct pixma_config_t *pixma_get_device_config (unsigned devnr); + +/** Get a unique ID of the device \a devnr. */ +const char *pixma_get_device_id (unsigned devnr); + +/** Connect to the device and claim the scanner interface. + * \param[in] devnr + * \param[out] handle + * \return 0 on success or + * - \c PIXMA_ENODEV the device is gone from the system. + * - \c PIXMA_EINVAL \a devnr is invalid. + * - \c PIXMA_EBUSY + * - \c PIXMA_EACCES + * - \c PIXMA_ENOMEM + * - \c PIXMA_EIO */ +int pixma_connect (unsigned devnr, pixma_io_t ** handle); + +/** Release the scanner interface and disconnect from the device. */ +void pixma_disconnect (pixma_io_t *); + +/** Activate connection to scanner */ +int pixma_activate (pixma_io_t *); + +/** De-activate connection to scanner */ +int pixma_deactivate (pixma_io_t *); + +/** Reset the USB interface. \warning Use with care! */ +int pixma_reset_device (pixma_io_t *); + +/** Write data to the device. This function may not be interrupted by signals. + * It will return iff + * - \a len bytes have been successfully written or + * - an error (inclusive timeout) occured. + * . + * \note Calling pixma_write(io, buf, n1) and pixma(io, buf+n1, n2) may + * not be the same as pixma_write(io, buf, n1+n2) if n1 is not + * multiple of the maximum packet size of the endpoint. + * \param[in] cmd Data + * \param[in] len Length of data + * \return Number of bytes successfully written (always = \a len) or + * - \c PIXMA_ETIMEDOUT + * - \c PIXMA_EIO + * - \c PIXMA_ENOMEM + * \see #PIXMA_BULKOUT_TIMEOUT */ +int pixma_write (pixma_io_t *, const void *cmd, unsigned len); + +/** Read data from the device. This function may not be interrupted by signals. + * It will return iff + * - \a size bytes have been successfully read, + * - a short packet has been read or + * - an error (inclusive timeout) occured. + * . + * \param[out] buf + * \param[in] size of the buffer + * \return Number of bytes successfully read. A return value of zero means that + * a zero length USB packet was received. Or + * - \c PIXMA_ETIMEDOUT + * - \c PIXMA_EIO + * - \c PIXMA_ENOMEM + * \see #PIXMA_BULKIN_TIMEOUT */ +int pixma_read (pixma_io_t *, void *buf, unsigned size); + +/** Wait for an interrupt. This function can be interrupted by signals. + * \a size should be less than or equal to the maximum packet size. + * \param[out] buf + * \param[in] size of the buffer + * \param[in] timeout in milliseconds; if < 0, wait forever. + * \return Number of bytes successfully read or + * - \c PIXMA_ETIMEDOUT + * - \c PIXMA_EIO + * - \c PIXMA_ENOMEM + * - \c PIXMA_ECANCELED if it was interrupted by a signal. */ +int pixma_wait_interrupt (pixma_io_t *, void *buf, unsigned size, + int timeout); + +/** Enable or disable background interrupt monitoring. + * Background mode is enabled by default. + * \param[in] background if not zero, a URB is submitted in background + * for interrupt endpoint. + * \return 0 on success or + * - \c PIXMA_ENOTSUP + * - \c PIXMA_EIO + * - \c PIXMA_ENOMEM */ +int pixma_set_interrupt_mode (pixma_io_t *, int background); + +/** @} end of IO group */ + +#endif diff --git a/backend/pixma/pixma_io_sanei.c b/backend/pixma/pixma_io_sanei.c new file mode 100644 index 0000000..c30b404 --- /dev/null +++ b/backend/pixma/pixma_io_sanei.c @@ -0,0 +1,556 @@ +/* SANE - Scanner Access Now Easy. + * For limitations, see function sanei_usb_get_vendor_product(). + + Copyright (C) 2011-2019 Rolf Bensch + Copyright (C) 2006-2007 Wittawat Yamwong + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. + */ +#include "../include/sane/config.h" + +#include +#include +#include +#include /* INT_MAX */ + +#include "pixma_rename.h" +#include "pixma_common.h" +#include "pixma_io.h" +#include "pixma_bjnp.h" + +#include "../include/sane/sanei_usb.h" +#include "../include/sane/sane.h" + + +#ifdef __GNUC__ +# define UNUSED(v) (void) v +#else +# define UNUSED(v) +#endif + +/* MAC OS X does not support timeouts in darwin/libusb interrupt reads + * This is a very basic turnaround for MAC OS X + * Button scan will not work with this wrapper */ +#ifdef __APPLE__ +# define sanei_usb_read_int sanei_usb_read_bulk +#endif + + +struct pixma_io_t +{ + pixma_io_t *next; + int interface; + SANE_Int dev; +}; + +typedef struct scanner_info_t +{ + struct scanner_info_t *next; + char *devname; + int interface; + const pixma_config_t *cfg; + char serial[PIXMA_MAX_ID_LEN + 1]; /* "xxxxyyyy_zzzzzzz..." + x = vid, y = pid, z = serial */ +} scanner_info_t; + +#define INT_USB 0 +#define INT_BJNP 1 + +static scanner_info_t *first_scanner = NULL; +static pixma_io_t *first_io = NULL; +static unsigned nscanners; + + +static scanner_info_t * +get_scanner_info (unsigned devnr) +{ + scanner_info_t *si; + for (si = first_scanner; si && devnr != 0; --devnr, si = si->next) + { + } + return si; +} + +static SANE_Status +attach (SANE_String_Const devname) +{ + scanner_info_t *si; + + si = (scanner_info_t *) calloc (1, sizeof (*si)); + if (!si) + return SANE_STATUS_NO_MEM; + si->devname = strdup (devname); + if (!si->devname) + return SANE_STATUS_NO_MEM; + si -> interface = INT_USB; + si->next = first_scanner; + first_scanner = si; + nscanners++; + return SANE_STATUS_GOOD; +} + + +static SANE_Status +attach_bjnp (SANE_String_Const devname, + SANE_String_Const serial, + const struct pixma_config_t *cfg) +{ + scanner_info_t *si; + + si = (scanner_info_t *) calloc (1, sizeof (*si)); + if (!si) + return SANE_STATUS_NO_MEM; + si->devname = strdup (devname); + if (!si->devname) + return SANE_STATUS_NO_MEM; + + si->cfg = cfg; + sprintf(si->serial, "%s_%s", cfg->model, serial); + si -> interface = INT_BJNP; + si->next = first_scanner; + first_scanner = si; + nscanners++; + return SANE_STATUS_GOOD; +} + +static void +clear_scanner_list (void) +{ + scanner_info_t *si = first_scanner; + while (si) + { + scanner_info_t *temp = si; + free (si->devname); + si = si->next; + free (temp); + } + nscanners = 0; + first_scanner = NULL; +} + +static SANE_Status +get_descriptor (SANE_Int dn, SANE_Int type, SANE_Int descidx, + SANE_Int index, SANE_Int length, SANE_Byte * data) +{ + return sanei_usb_control_msg (dn, 0x80, USB_REQ_GET_DESCRIPTOR, + ((type & 0xff) << 8) | (descidx & 0xff), + index, length, data); +} + +static SANE_Status +get_string_descriptor (SANE_Int dn, SANE_Int index, SANE_Int lang, + SANE_Int length, SANE_Byte * data) +{ + return get_descriptor (dn, USB_DT_STRING, index, lang, length, data); +} + +static void +u16tohex (uint16_t x, char *str) +{ + static const char hdigit[16] = + { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', + 'E', 'F' + }; + str[0] = hdigit[(x >> 12) & 0xf]; + str[1] = hdigit[(x >> 8) & 0xf]; + str[2] = hdigit[(x >> 4) & 0xf]; + str[3] = hdigit[x & 0xf]; + str[4] = '\0'; +} + +static void +read_serial_number (scanner_info_t * si) +{ + uint8_t unicode[2 * (PIXMA_MAX_ID_LEN - 9) + 2]; + uint8_t ddesc[18]; + int iSerialNumber; + SANE_Int usb; + char *serial = si->serial; + + u16tohex (si->cfg->vid, serial); + u16tohex (si->cfg->pid, serial + 4); + + if (SANE_STATUS_GOOD != sanei_usb_open (si->devname, &usb)) + return; + if (get_descriptor (usb, USB_DT_DEVICE, 0, 0, 18, ddesc) + != SANE_STATUS_GOOD) + goto done; + iSerialNumber = ddesc[16]; + if (iSerialNumber != 0) + { + int i, len; + SANE_Status status; + + /*int iSerialNumber = ddesc[16];*/ + /* Read the first language code. Assumed that there is at least one. */ + if (get_string_descriptor (usb, 0, 0, 4, unicode) != SANE_STATUS_GOOD) + goto done; + /* Read the serial number string. */ + status = get_string_descriptor (usb, iSerialNumber, + unicode[3] * 256 + unicode[2], + sizeof (unicode), unicode); + if (status != SANE_STATUS_GOOD) + goto done; + /* Assumed charset: Latin1 */ + len = unicode[0]; + if (len > (int) sizeof (unicode)) + { + len = sizeof (unicode); + PDBG (pixma_dbg (1, "WARNING:Truncated serial number\n")); + } + serial[8] = '_'; + for (i = 2; i < len; i += 2) + { + serial[9 + i / 2 - 1] = unicode[i]; + } + serial[9 + i / 2 - 1] = '\0'; + } + else + { + PDBG (pixma_dbg (1, "WARNING:No serial number\n")); + } +done: + sanei_usb_close (usb); +} + +static int +map_error (SANE_Status ss) +{ + switch (ss) + { + case SANE_STATUS_GOOD: + return 0; + case SANE_STATUS_UNSUPPORTED: + return PIXMA_ENODEV; + case SANE_STATUS_DEVICE_BUSY: + return PIXMA_EBUSY; + case SANE_STATUS_INVAL: + return PIXMA_EINVAL; + case SANE_STATUS_IO_ERROR: + return PIXMA_EIO; + case SANE_STATUS_NO_MEM: + return PIXMA_ENOMEM; + case SANE_STATUS_ACCESS_DENIED: + return PIXMA_EACCES; + case SANE_STATUS_CANCELLED: + return PIXMA_ECANCELED; + case SANE_STATUS_JAMMED: + return PIXMA_EPAPER_JAMMED; + case SANE_STATUS_COVER_OPEN: + return PIXMA_ECOVER_OPEN; + case SANE_STATUS_NO_DOCS: + return PIXMA_ENO_PAPER; + case SANE_STATUS_EOF: + return PIXMA_EOF; +#ifdef SANE_STATUS_HW_LOCKED + case SANE_STATUS_HW_LOCKED: /* unused by pixma */ +#endif +#ifdef SANE_STATUS_WARMING_UP + case SANE_STATUS_WARMING_UP: /* unused by pixma */ +#endif + break; + } + PDBG (pixma_dbg (1, "BUG:Unmapped SANE Status code %d\n", ss)); + return PIXMA_EIO; /* should not happen */ +} + + +int +pixma_io_init (void) +{ + sanei_usb_init (); + sanei_bjnp_init(); + nscanners = 0; + return 0; +} + +void +pixma_io_cleanup (void) +{ + while (first_io) + pixma_disconnect (first_io); + clear_scanner_list (); +} + +unsigned +pixma_collect_devices (const char **conf_devices, + const struct pixma_config_t *const pixma_devices[], SANE_Bool local_only) +{ + unsigned i, j; + struct scanner_info_t *si; + const struct pixma_config_t *cfg; + + clear_scanner_list (); + j = 0; + for (i = 0; pixma_devices[i]; i++) + { + for (cfg = pixma_devices[i]; cfg->name; cfg++) + { + sanei_usb_find_devices (cfg->vid, cfg->pid, attach); + si = first_scanner; + while (j < nscanners) + { + PDBG (pixma_dbg (3, "pixma_collect_devices() found %s at %s\n", + cfg->name, si->devname)); + si->cfg = cfg; + read_serial_number (si); + si = si->next; + j++; + } + } + } + if (! local_only) + sanei_bjnp_find_devices(conf_devices, attach_bjnp, pixma_devices); + + si = first_scanner; + while (j < nscanners) + { + PDBG (pixma_dbg (3, "pixma_collect_devices() found %s at %s\n", + si->cfg->name, si->devname)); + si = si->next; + j++; + + } + return nscanners; +} + +const pixma_config_t * +pixma_get_device_config (unsigned devnr) +{ + const scanner_info_t *si = get_scanner_info (devnr); + return (si) ? si->cfg : NULL; +} + +const char * +pixma_get_device_id (unsigned devnr) +{ + const scanner_info_t *si = get_scanner_info (devnr); + return (si) ? si->serial : NULL; +} + +int +pixma_connect (unsigned devnr, pixma_io_t ** handle) +{ + pixma_io_t *io; + SANE_Int dev; + const scanner_info_t *si; + int error; + + *handle = NULL; + si = get_scanner_info (devnr); + if (!si) + return PIXMA_EINVAL; + if (si-> interface == INT_BJNP) + error = map_error (sanei_bjnp_open (si->devname, &dev)); + else + error = map_error (sanei_usb_open (si->devname, &dev)); + + if (error < 0) + return error; + io = (pixma_io_t *) calloc (1, sizeof (*io)); + if (!io) + { + if (si -> interface == INT_BJNP) + sanei_bjnp_close (dev); + else + sanei_usb_close (dev); + return PIXMA_ENOMEM; + } + io->next = first_io; + first_io = io; + io->dev = dev; + io->interface = si->interface; + *handle = io; + return 0; +} + + +void +pixma_disconnect (pixma_io_t * io) +{ + pixma_io_t **p; + + if (!io) + return; + for (p = &first_io; *p && *p != io; p = &((*p)->next)) + { + } + PASSERT (*p); + if (!(*p)) + return; + if (io-> interface == INT_BJNP) + sanei_bjnp_close (io->dev); + else + sanei_usb_close (io->dev); + *p = io->next; + free (io); +} + +int pixma_activate (pixma_io_t * io) +{ + int error; + if (io->interface == INT_BJNP) + { + error = map_error(sanei_bjnp_activate (io->dev)); + } + else + /* noop for USB interface */ + error = 0; + return error; +} + +int pixma_deactivate (pixma_io_t * io) +{ + int error; + if (io->interface == INT_BJNP) + { + error = map_error(sanei_bjnp_deactivate (io->dev)); + } + else + /* noop for USB interface */ + error = 0; + return error; + +} + +int +pixma_reset_device (pixma_io_t * io) +{ + UNUSED (io); + return PIXMA_ENOTSUP; +} + +int +pixma_write (pixma_io_t * io, const void *cmd, unsigned len) +{ + size_t count = len; + int error; + + if (io->interface == INT_BJNP) + { + sanei_bjnp_set_timeout (io->dev, PIXMA_BULKOUT_TIMEOUT); + error = map_error (sanei_bjnp_write_bulk (io->dev, cmd, &count)); + } + else + { +#ifdef HAVE_SANEI_USB_SET_TIMEOUT + sanei_usb_set_timeout (PIXMA_BULKOUT_TIMEOUT); +#endif + error = map_error (sanei_usb_write_bulk (io->dev, cmd, &count)); + } + if (error == PIXMA_EIO) + error = PIXMA_ETIMEDOUT; /* FIXME: SANE doesn't have ETIMEDOUT!! */ + if (count != len) + { + PDBG (pixma_dbg (1, "WARNING:pixma_write(): count(%u) != len(%u)\n", + (unsigned) count, len)); + error = PIXMA_EIO; + } + if (error >= 0) + error = count; + PDBG (pixma_dump (10, "OUT ", cmd, error, len, 128)); + return error; +} + +int +pixma_read (pixma_io_t * io, void *buf, unsigned size) +{ + size_t count = size; + int error; + + if (io-> interface == INT_BJNP) + { + sanei_bjnp_set_timeout (io->dev, PIXMA_BULKIN_TIMEOUT); + error = map_error (sanei_bjnp_read_bulk (io->dev, buf, &count)); + } + else + { +#ifdef HAVE_SANEI_USB_SET_TIMEOUT + sanei_usb_set_timeout (PIXMA_BULKIN_TIMEOUT); +#endif + error = map_error (sanei_usb_read_bulk (io->dev, buf, &count)); + } + + if (error == PIXMA_EIO) + error = PIXMA_ETIMEDOUT; /* FIXME: SANE doesn't have ETIMEDOUT!! */ + if (error >= 0) + error = count; + PDBG (pixma_dump (10, "IN ", buf, error, -1, 128)); + return error; +} + +int +pixma_wait_interrupt (pixma_io_t * io, void *buf, unsigned size, int timeout) +{ + size_t count = size; + int error; + + /* FIXME: What is the meaning of "timeout" in sanei_usb? */ + if (timeout < 0) + timeout = INT_MAX; + else if (timeout < 100) + timeout = 100; + if (io-> interface == INT_BJNP) + { + sanei_bjnp_set_timeout (io->dev, timeout); + error = map_error (sanei_bjnp_read_int (io->dev, buf, &count)); + } + else + { +#ifdef HAVE_SANEI_USB_SET_TIMEOUT + sanei_usb_set_timeout (timeout); +#endif + error = map_error (sanei_usb_read_int (io->dev, buf, &count)); + } + if (error == PIXMA_EIO || + (io->interface == INT_BJNP && error == PIXMA_EOF)) /* EOF is a bjnp timeout error! */ + error = PIXMA_ETIMEDOUT; /* FIXME: SANE doesn't have ETIMEDOUT!! */ + if (error == 0) + error = count; + if (error != PIXMA_ETIMEDOUT) + PDBG (pixma_dump (10, "INTR", buf, error, -1, -1)); + return error; +} + +int +pixma_set_interrupt_mode (pixma_io_t * s, int background) +{ + UNUSED (s); + return (background) ? PIXMA_ENOTSUP : 0; +} diff --git a/backend/pixma/pixma_mp150.c b/backend/pixma/pixma_mp150.c new file mode 100644 index 0000000..3973702 --- /dev/null +++ b/backend/pixma/pixma_mp150.c @@ -0,0 +1,1817 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2011-2019 Rolf Bensch + Copyright (C) 2007-2009 Nicolas Martin, + Copyright (C) 2006-2007 Wittawat Yamwong + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. + */ +/* test cases + 1. short USB packet (must be no -ETIMEDOUT) + 2. cancel using button on the printer (look for abort command) + 3. start scan while busy (status 0x1414) + 4. cancel using ctrl-c (must send abort command) + */ + +#include "../include/sane/config.h" + +#include +#include +#include +#include /* localtime(C90) */ + +#include "pixma_rename.h" +#include "pixma_common.h" +#include "pixma_io.h" + +/* Some macro code to enhance readability */ +#define RET_IF_ERR(x) do { \ + if ((error = (x)) < 0) \ + return error; \ + } while(0) + +#define WAIT_INTERRUPT(x) do { \ + error = handle_interrupt (s, x); \ + if (s->cancel) \ + return PIXMA_ECANCELED; \ + if (error != PIXMA_ECANCELED && error < 0) \ + return error; \ + } while(0) + +#ifdef __GNUC__ +# define UNUSED(v) (void) v +#else +# define UNUSED(v) +#endif + +/* Size of the command buffer should be multiple of wMaxPacketLength and + greater than 4096+24. + 4096 = size of gamma table. 24 = header + checksum */ +#define IMAGE_BLOCK_SIZE (512*1024) +#define CMDBUF_SIZE (4096 + 24) +#define DEFAULT_GAMMA 2.0 /***** Gamma different from 1.0 is potentially impacting color profile generation *****/ +#define UNKNOWN_PID 0xffff + + +#define CANON_VID 0x04a9 + +/* Generation 1 */ +#define MP150_PID 0x1709 +#define MP170_PID 0x170a +#define MP450_PID 0x170b +#define MP500_PID 0x170c +#define MP530_PID 0x1712 + +/* Generation 2 */ +#define MP160_PID 0x1714 +#define MP180_PID 0x1715 +#define MP460_PID 0x1716 +#define MP510_PID 0x1717 +#define MP600_PID 0x1718 +#define MP600R_PID 0x1719 + +#define MP140_PID 0x172b + +/* Generation 3 */ +/* PIXMA 2007 vintage */ +#define MX7600_PID 0x171c +#define MP210_PID 0x1721 +#define MP220_PID 0x1722 +#define MP470_PID 0x1723 +#define MP520_PID 0x1724 +#define MP610_PID 0x1725 +#define MX300_PID 0x1727 +#define MX310_PID 0x1728 +#define MX700_PID 0x1729 +#define MX850_PID 0x172c + +/* PIXMA 2008 vintage */ +#define MP630_PID 0x172e +#define MP620_PID 0x172f +#define MP540_PID 0x1730 +#define MP480_PID 0x1731 +#define MP240_PID 0x1732 +#define MP260_PID 0x1733 +#define MP190_PID 0x1734 + +/* PIXMA 2009 vintage */ +#define MX860_PID 0x1735 +#define MX320_PID 0x1736 /* untested */ +#define MX330_PID 0x1737 + +/* Generation 4 */ +#define MP250_PID 0x173a +#define MP270_PID 0x173b +#define MP490_PID 0x173c +#define MP550_PID 0x173d +#define MP560_PID 0x173e +#define MP640_PID 0x173f + +/* PIXMA 2010 vintage */ +#define MX340_PID 0x1741 +#define MX350_PID 0x1742 +#define MX870_PID 0x1743 + +/* 2010 new devices (untested) */ +#define MP280_PID 0x1746 +#define MP495_PID 0x1747 +#define MG5100_PID 0x1748 +#define MG5200_PID 0x1749 +#define MG6100_PID 0x174a + +/* PIXMA 2011 vintage */ +#define MX360_PID 0x174d +#define MX410_PID 0x174e +#define MX420_PID 0x174f +#define MX880_PID 0x1750 + +/* Generation 5 */ +/* 2011 new devices (untested) */ +#define MG2100_PID 0x1751 +#define MG3100_PID 0x1752 +#define MG4100_PID 0x1753 +#define MG5300_PID 0x1754 +#define MG6200_PID 0x1755 +#define MP493_PID 0x1757 +#define E500_PID 0x1758 + +/* 2012 new devices (untested) */ +#define MX370_PID 0x1759 +#define MX430_PID 0x175B +#define MX510_PID 0x175C +#define MX710_PID 0x175D +#define MX890_PID 0x175E +#define E600_PID 0x175A +#define MG4200_PID 0x1763 + +/* 2013 new devices */ +#define MP230_PID 0x175F +#define MG6300_PID 0x1765 + +/* 2013 new devices (untested) */ +#define MG2200_PID 0x1760 +#define E510_PID 0x1761 +#define MG3200_PID 0x1762 +#define MG5400_PID 0x1764 +#define MX390_PID 0x1766 +#define E610_PID 0x1767 +#define MX450_PID 0x1768 +#define MX520_PID 0x1769 +#define MX720_PID 0x176a +#define MX920_PID 0x176b +#define MG2400_PID 0x176c +#define MG2500_PID 0x176d +#define MG3500_PID 0x176e +#define MG6500_PID 0x176f +#define MG6400_PID 0x1770 +#define MG5500_PID 0x1771 +#define MG7100_PID 0x1772 + +/* 2014 new devices (untested) */ +#define MX470_PID 0x1774 +#define MX530_PID 0x1775 +#define MB5000_PID 0x1776 +#define MB5300_PID 0x1777 +#define MB2000_PID 0x1778 +#define MB2300_PID 0x1779 +#define E400_PID 0x177a +#define E560_PID 0x177b +#define MG7500_PID 0x177c +#define MG6600_PID 0x177e +#define MG5600_PID 0x177f +#define MG2900_PID 0x1780 +#define E460_PID 0x1788 + +/* 2015 new devices (untested) */ +#define MX490_PID 0x1787 +#define E480_PID 0x1789 +#define MG3600_PID 0x178a +#define MG7700_PID 0x178b +#define MG6900_PID 0x178c +#define MG6800_PID 0x178d +#define MG5700_PID 0x178e + +/* 2016 new devices (untested) */ +#define MB2700_PID 0x1792 +#define MB2100_PID 0x1793 +#define G3000_PID 0x1794 +#define G2000_PID 0x1795 +#define TS9000_PID 0x179f +#define TS8000_PID 0x1800 +#define TS6000_PID 0x1801 +#define TS5000_PID 0x1802 +#define MG3000_PID 0x180b +#define E470_PID 0x180c +#define E410_PID 0x181e + +/* 2017 new devices (untested) */ +#define G4000_PID 0x181d +#define TS6100_PID 0x1822 +#define TS5100_PID 0x1825 +#define TS3100_PID 0x1827 +#define E3100_PID 0x1828 + +/* 2018 new devices (untested) */ +#define MB5400_PID 0x178f +#define MB5100_PID 0x1790 +#define TS9100_PID 0x1820 +#define TR8500_PID 0x1823 +#define TR7500_PID 0x1824 +#define TS9500_PID 0x185c +#define LIDE400_PID 0x1912 /* tested */ +#define LIDE300_PID 0x1913 /* tested */ + +/* 2019 new devices (untested) */ +#define TS8100_PID 0x1821 +#define G2010_PID 0x183a +#define G3010_PID 0x183b +#define G4010_PID 0x183d +#define TS9180_PID 0x183e +#define TS8180_PID 0x183f +#define TS6180_PID 0x1840 +#define TR8580_PID 0x1841 +#define TS8130_PID 0x1842 +#define TS6130_PID 0x1843 +#define TR8530_PID 0x1844 +#define TR7530_PID 0x1845 +#define XK50_PID 0x1846 +#define XK70_PID 0x1847 +#define TR4500_PID 0x1854 +#define E4200_PID 0x1855 +#define TS6200_PID 0x1856 +#define TS6280_PID 0x1857 +#define TS6230_PID 0x1858 +#define TS8200_PID 0x1859 +#define TS8280_PID 0x185a +#define TS8230_PID 0x185b +#define TS9580_PID 0x185d +#define TR9530_PID 0x185e +#define G6000_PID 0x1865 +#define G6080_PID 0x1866 +#define XK80_PID 0x1873 +#define TS5300_PID 0x188b +#define TS5380_PID 0x188c +#define TS6300_PID 0x188d +#define TS6380_PID 0x188e +#define TS7330_PID 0x188f +#define TS8300_PID 0x1890 +#define TS8380_PID 0x1891 +#define TS8330_PID 0x1892 +#define XK60_PID 0x1893 +#define TS6330_PID 0x1894 +#define TS3300_PID 0x18a2 +#define E3300_PID 0x18a3 + +/* Generation 4 XML messages that encapsulates the Pixma protocol messages */ +#define XML_START_1 \ +"\ +\ +StartJob\ +00000001\ +1" + +#define XML_START_2 \ +"\ +\ +VendorCmd\ +00000001\ +ModeShift1\ +" + +#define XML_END \ +"\ +\ +EndJob\ +00000001\ +" + +#define XML_OK "OK" + +enum mp150_state_t +{ + state_idle, + state_warmup, + state_scanning, + state_transfering, + state_finished +}; + +enum mp150_cmd_t +{ + cmd_start_session = 0xdb20, + cmd_select_source = 0xdd20, + cmd_gamma = 0xee20, + cmd_scan_param = 0xde20, + cmd_status = 0xf320, + cmd_abort_session = 0xef20, + cmd_time = 0xeb80, + cmd_read_image = 0xd420, + cmd_error_info = 0xff20, + + cmd_scan_param_3 = 0xd820, + cmd_scan_start_3 = 0xd920, + cmd_status_3 = 0xda20, +}; + +typedef struct mp150_t +{ + enum mp150_state_t state; + pixma_cmdbuf_t cb; + uint8_t *imgbuf; + uint8_t current_status[16]; + unsigned last_block; + uint8_t generation; + /* for Generation 3 shift */ + uint8_t *linebuf; + uint8_t *data_left_ofs; + unsigned data_left_len; + uint8_t adf_state; /* handle adf scanning */ + unsigned scale; /* Scale factor for lower resolutions, the + * scanner doesn't support. We scale down the + * image after scanning minimum possible + * resolution. + */ + +} mp150_t; + +/* + STAT: 0x0606 = ok, + 0x1515 = failed (PIXMA_ECANCELED), + 0x1414 = busy (PIXMA_EBUSY) + + Transaction scheme + 1. command_header/data | result_header + 2. command_header | result_header/data + 3. command_header | result_header/image_data + + - data has checksum in the last byte. + - image_data has no checksum. + - data and image_data begins in the same USB packet as + command_header or result_header. + + command format #1: + u16be cmd + u8[6] 0 + u8[4] 0 + u32be PLEN parameter length + u8[PLEN-1] parameter + u8 parameter check sum + result: + u16be STAT + u8 0 + u8 0 or 0x21 if STAT == 0x1414 + u8[4] 0 + + command format #2: + u16be cmd + u8[6] 0 + u8[4] 0 + u32be RLEN result length + result: + u16be STAT + u8[6] 0 + u8[RLEN-1] result + u8 result check sum + + command format #3: (only used by read_image_block) + u16be 0xd420 + u8[6] 0 + u8[4] 0 + u32be max. block size + 8 + result: + u16be STAT + u8[6] 0 + u8 block info bitfield: 0x8 = end of scan, 0x10 = no more paper, 0x20 = no more data + u8[3] 0 + u32be ILEN image data size + u8[ILEN] image data + */ + +static void mp150_finish_scan (pixma_t * s); + +static int +is_scanning_from_adf (pixma_t * s) +{ + return (s->param->source == PIXMA_SOURCE_ADF + || s->param->source == PIXMA_SOURCE_ADFDUP); +} + +static int +is_scanning_from_adfdup (pixma_t * s) +{ + return (s->param->source == PIXMA_SOURCE_ADFDUP); +} + +static int +is_scanning_jpeg (pixma_t *s) +{ + return s->param->mode_jpeg; +} + +static int +send_xml_dialog (pixma_t * s, const char * xml_message) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + int datalen; + + datalen = pixma_cmd_transaction (s, xml_message, strlen (xml_message), + mp->cb.buf, 1024); + if (datalen < 0) + return datalen; + + mp->cb.buf[datalen] = 0; + + PDBG (pixma_dbg (10, "XML message sent to scanner:\n%s\n", xml_message)); + PDBG (pixma_dbg (10, "XML response back from scanner:\n%s\n", mp->cb.buf)); + + return (strcasestr ((const char *) mp->cb.buf, XML_OK) != NULL); +} + +static int +start_session (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + + pixma_newcmd (&mp->cb, cmd_start_session, 0, 0); + mp->cb.buf[3] = 0x00; + return pixma_exec (s, &mp->cb); +} + +static int +start_scan_3 (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + + pixma_newcmd (&mp->cb, cmd_scan_start_3, 0, 0); + mp->cb.buf[3] = 0x00; + return pixma_exec (s, &mp->cb); +} + +static int +is_calibrated (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + if (mp->generation >= 3) + { + return ((mp->current_status[0] & 0x01) == 1 || (mp->current_status[0] & 0x02) == 2); + } + if (mp->generation == 1) + { + return (mp->current_status[8] == 1); + } + else + { + return (mp->current_status[9] == 1); + } +} + +static int +has_paper (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + + if (is_scanning_from_adfdup (s)) + return (mp->current_status[1] == 0 || mp->current_status[2] == 0); + else + return (mp->current_status[1] == 0); +} + +static void +drain_bulk_in (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + while (pixma_read (s->io, mp->imgbuf, IMAGE_BLOCK_SIZE) >= 0); +} + +static int +abort_session (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + mp->adf_state = state_idle; /* reset adf scanning */ + return pixma_exec_short_cmd (s, &mp->cb, cmd_abort_session); +} + +static int +select_source (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + uint8_t *data; + + data = pixma_newcmd (&mp->cb, cmd_select_source, 12, 0); + data[5] = ((mp->generation == 2) ? 1 : 0); + switch (s->param->source) + { + case PIXMA_SOURCE_FLATBED: + data[0] = 1; + data[1] = 1; + break; + + case PIXMA_SOURCE_ADF: + data[0] = 2; + data[5] = 1; + data[6] = 1; + break; + + case PIXMA_SOURCE_ADFDUP: + data[0] = 2; + data[5] = 3; + data[6] = 3; + break; + + default: + return PIXMA_EPROTO; + } + return pixma_exec (s, &mp->cb); +} + +static int +send_gamma_table (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + const uint8_t *lut = s->param->gamma_table; + uint8_t *data; + + if (mp->generation == 1) + { + data = pixma_newcmd (&mp->cb, cmd_gamma, 4096 + 8, 0); + data[0] = (s->param->channels == 3) ? 0x10 : 0x01; + pixma_set_be16 (0x1004, data + 2); + if (lut) + memcpy (data + 4, lut, 4096); + else + pixma_fill_gamma_table (DEFAULT_GAMMA, data + 4, 4096); + } + else + { + /* FIXME: Gamma table for 2nd generation: 1024 * uint16_le */ + data = pixma_newcmd (&mp->cb, cmd_gamma, 2048 + 8, 0); + data[0] = 0x10; + pixma_set_be16 (0x0804, data + 2); + if (lut) + { + int i; + for (i = 0; i < 1024; i++) + { + int j = (i << 2) + (i >> 8); + data[4 + 2 * i + 0] = lut[j]; + data[4 + 2 * i + 1] = lut[j]; + } + } + else + { + int i; + pixma_fill_gamma_table (DEFAULT_GAMMA, data + 4, 2048); + for (i = 0; i < 1024; i++) + { + int j = (i << 1) + (i >> 9); + data[4 + 2 * i + 0] = data[4 + j]; + data[4 + 2 * i + 1] = data[4 + j]; + } + } + } + return pixma_exec (s, &mp->cb); +} + +static unsigned +calc_raw_width (const mp150_t * mp, const pixma_scan_param_t * param) +{ + unsigned raw_width; + /* NOTE: Actually, we can send arbitary width to MP150. Lines returned + are always padded to multiple of 4 or 12 pixels. Is this valid for + other models, too? */ + if (mp->generation >= 2) + { + raw_width = ALIGN_SUP ((param->w * mp->scale) + param->xs, 32); + /* PDBG (pixma_dbg (4, "*calc_raw_width***** width %i extended by %i and rounded to %i *****\n", param->w, param->xs, raw_width)); */ + } + else if (param->channels == 1) + { + raw_width = ALIGN_SUP (param->w + param->xs, 12); + } + else + { + raw_width = ALIGN_SUP (param->w + param->xs, 4); + } + return raw_width; +} + +static unsigned +get_cis_line_size (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + + /*PDBG (pixma_dbg (4, "%s: line_size=%ld, w=%d, wx=%d, scale=%d\n", + __func__, s->param->line_size, s->param->w, s->param->wx, mp->scale));*/ + + return (s->param->wx ? s->param->line_size / s->param->w * s->param->wx + : s->param->line_size) * mp->scale; +} + +static int +send_scan_param (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + uint8_t *data; + unsigned xdpi = s->param->xdpi * mp->scale; + unsigned ydpi = s->param->xdpi * mp->scale; + unsigned x = s->param->x * mp->scale; + unsigned xs = s->param->xs; + unsigned y = s->param->y * mp->scale; + unsigned wx = calc_raw_width (mp, s->param); + unsigned h = MIN (s->param->h, s->cfg->height * s->param->ydpi / 75) * mp->scale; + + if (mp->generation <= 2) + { + PDBG (pixma_dbg (4, "*send_scan_param gen. 1-2 ***** Setting: xdpi=%hi ydpi=%hi x=%i y=%i wx=%i ***** \n", + xdpi, ydpi, x-xs, y, wx)); + data = pixma_newcmd (&mp->cb, cmd_scan_param, 0x30, 0); + pixma_set_be16 (xdpi | 0x8000, data + 0x04); + pixma_set_be16 (ydpi | 0x8000, data + 0x06); + pixma_set_be32 (x, data + 0x08); + if (mp->generation == 2) + pixma_set_be32 (x - s->param->xs, data + 0x08); + pixma_set_be32 (y, data + 0x0c); + pixma_set_be32 (wx, data + 0x10); + pixma_set_be32 (h, data + 0x14); + data[0x18] = (s->param->channels != 1) ? 0x08 : 0x04; + data[0x19] = ((s->param->software_lineart) ? 8 : s->param->depth) + * s->param->channels; /* bits per pixel */ + data[0x1a] = 0; + data[0x20] = 0xff; + data[0x23] = 0x81; + data[0x26] = 0x02; + data[0x27] = 0x01; + } + else + { + PDBG (pixma_dbg (4, "*send_scan_param gen. 3+ ***** Setting: xdpi=%hi ydpi=%hi x=%i xs=%i y=%i wx=%i h=%i ***** \n", + xdpi, ydpi, x, xs, y, wx, h)); + data = pixma_newcmd (&mp->cb, cmd_scan_param_3, 0x38, 0); + data[0x00] = (is_scanning_from_adf (s)) ? 0x02 : 0x01; + data[0x01] = 0x01; + data[0x02] = 0x01; + if (is_scanning_from_adfdup (s)) + { + data[0x02] = 0x03; + data[0x03] = 0x03; + } + if (is_scanning_jpeg (s)) + { + data[0x03] = 0x01; + } + else + { + data[0x05] = 0x01; /* This one also seen at 0. Don't know yet what's used for */ + } + pixma_set_be16 (xdpi | 0x8000, data + 0x08); + pixma_set_be16 (ydpi | 0x8000, data + 0x0a); + pixma_set_be32 (x - xs, data + 0x0c); + pixma_set_be32 (y, data + 0x10); + pixma_set_be32 (wx, data + 0x14); + pixma_set_be32 (h, data + 0x18); + data[0x1c] = (s->param->channels != 1) ? 0x08 : 0x04; + + data[0x1d] = ((s->param->software_lineart) ? 8 : s->param->depth) + * s->param->channels; /* bits per pixel */ + + data[0x1f] = 0x01; /* This one also seen at 0. Don't know yet what's used for */ + data[0x20] = 0xff; + if (is_scanning_jpeg (s)) + { + data[0x21] = 0x83; + } + else + { + data[0x21] = 0x81; + } + data[0x23] = 0x02; + data[0x24] = 0x01; + + switch (s->cfg->pid) + { + case MG5300_PID: + /* unknown values (perhaps counter) for MG5300 series---values must be 0x30-0x39: decimal 0-9 */ + data[0x26] = 0x32; /* using example values from a real scan here */ + data[0x27] = 0x31; + data[0x28] = 0x34; + data[0x29] = 0x35; + break; + + default: + break; + } + + data[0x30] = 0x01; + } + return pixma_exec (s, &mp->cb); +} + +static int +query_status_3 (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + uint8_t *data; + int error, status_len; + + status_len = 8; + data = pixma_newcmd (&mp->cb, cmd_status_3, 0, status_len); + RET_IF_ERR (pixma_exec (s, &mp->cb)); + memcpy (mp->current_status, data, status_len); + return error; +} + +static int +query_status (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + uint8_t *data; + int error, status_len; + + status_len = (mp->generation == 1) ? 12 : 16; + data = pixma_newcmd (&mp->cb, cmd_status, 0, status_len); + RET_IF_ERR (pixma_exec (s, &mp->cb)); + memcpy (mp->current_status, data, status_len); + PDBG (pixma_dbg (3, "Current status: paper=%u cal=%u lamp=%u busy=%u\n", + data[1], data[8], data[7], data[9])); + return error; +} + +#if 0 +static int +send_time (pixma_t * s) +{ + /* Why does a scanner need a time? */ + time_t now; + struct tm *t; + uint8_t *data; + mp150_t *mp = (mp150_t *) s->subdriver; + + data = pixma_newcmd (&mp->cb, cmd_time, 20, 0); + pixma_get_time (&now, NULL); + t = localtime (&now); + strftime ((char *) data, 16, "%y/%m/%d %H:%M", t); + PDBG (pixma_dbg (3, "Sending time: '%s'\n", (char *) data)); + return pixma_exec (s, &mp->cb); +} +#endif + +/* TODO: Simplify this function. Read the whole data packet in one shot. */ +static int +read_image_block (pixma_t * s, uint8_t * header, uint8_t * data) +{ + uint8_t cmd[16]; + mp150_t *mp = (mp150_t *) s->subdriver; + const int hlen = 8 + 8; + int error, datalen; + + memset (cmd, 0, sizeof (cmd)); + pixma_set_be16 (cmd_read_image, cmd); + if ((mp->last_block & 0x20) == 0) + pixma_set_be32 ((IMAGE_BLOCK_SIZE / 65536) * 65536 + 8, cmd + 0xc); + else + pixma_set_be32 (32 + 8, cmd + 0xc); + + mp->state = state_transfering; + mp->cb.reslen = + pixma_cmd_transaction (s, cmd, sizeof (cmd), mp->cb.buf, 512); + datalen = mp->cb.reslen; + if (datalen < 0) + return datalen; + + memcpy (header, mp->cb.buf, hlen); + + if (datalen >= hlen) + { + datalen -= hlen; + memcpy (data, mp->cb.buf + hlen, datalen); + data += datalen; + if (mp->cb.reslen == 512) + { + error = pixma_read (s->io, data, IMAGE_BLOCK_SIZE - 512 + hlen); + RET_IF_ERR (error); + datalen += error; + } + } + + mp->state = state_scanning; + mp->cb.expected_reslen = 0; + RET_IF_ERR (pixma_check_result (&mp->cb)); + if (mp->cb.reslen < hlen) + return PIXMA_EPROTO; + return datalen; +} + +static int +read_error_info (pixma_t * s, void *buf, unsigned size) +{ + unsigned len = 16; + mp150_t *mp = (mp150_t *) s->subdriver; + uint8_t *data; + int error; + + data = pixma_newcmd (&mp->cb, cmd_error_info, 0, len); + RET_IF_ERR (pixma_exec (s, &mp->cb)); + if (buf && len < size) + { + size = len; + /* NOTE: I've absolutely no idea what the returned data mean. */ + memcpy (buf, data, size); + error = len; + } + return error; +} + +/* +handle_interrupt() waits until it receives an interrupt packet or times out. +It calls send_time() and query_status() if necessary. Therefore, make sure +that handle_interrupt() is only called from a safe context for send_time() +and query_status(). + + Returns: + 0 timed out + 1 an interrupt packet received + PIXMA_ECANCELED interrupted by signal + <0 error +*/ +static int +handle_interrupt (pixma_t * s, int timeout) +{ + uint8_t buf[64]; + int len; + + len = pixma_wait_interrupt (s->io, buf, sizeof (buf), timeout); + if (len == PIXMA_ETIMEDOUT) + return 0; + if (len < 0) + return len; + if (len%16) /* len must be a multiple of 16 bytes */ + { + PDBG (pixma_dbg + (1, "WARNING:unexpected interrupt packet length %d\n", len)); + return PIXMA_EPROTO; + } + + /* s->event = 0x0brroott + * b: button + * oo: original + * tt: target + * rr: scan resolution + * poll event with 'scanimage -A' */ + if (s->cfg->pid == MG5300_PID + || s->cfg->pid == MG5400_PID + || s->cfg->pid == MG6200_PID + || s->cfg->pid == MG6300_PID + || s->cfg->pid == MX520_PID + || s->cfg->pid == MX720_PID + || s->cfg->pid == MX920_PID + || s->cfg->pid == MB2300_PID + || s->cfg->pid == MB5000_PID + || s->cfg->pid == MB5400_PID) + /* button no. in buf[7] + * size in buf[10] 01=A4; 02=Letter; 08=10x15; 09=13x18; 0b=auto + * format in buf[11] 01=JPEG; 02=TIFF; 03=PDF; 04=Kompakt-PDF + * dpi in buf[12] 01=75; 02=150; 03=300; 04=600 + * target = format; original = size; scan-resolution = dpi */ + { + if (buf[7] & 1) + s->events = PIXMA_EV_BUTTON1 | buf[11] | buf[10]<<8 | buf[12]<<16; /* color scan */ + if (buf[7] & 2) + s->events = PIXMA_EV_BUTTON2 | buf[11] | buf[10]<<8 | buf[12]<<16; /* b/w scan */ + } + else if (s->cfg->pid == LIDE300_PID + || s->cfg->pid == LIDE400_PID) + /* unknown value in buf[4] + * target in buf[0x13] + * always set button-1 */ + { + if (buf[0x13]) + s->events = PIXMA_EV_BUTTON1 | buf[0x13]; + } + else + /* button no. in buf[0] + * original in buf[0] + * target in buf[1] */ + { + /* More than one event can be reported at the same time. */ + if (buf[3] & 1) + /* FIXME: This function makes trouble with a lot of scanners + send_time (s); + */ + PDBG (pixma_dbg (1, "WARNING:send_time() disabled!\n")); + if (buf[9] & 2) + query_status (s); + if (buf[0] & 2) + s->events = PIXMA_EV_BUTTON2 | buf[1] | ((buf[0] & 0xf0) << 4); /* b/w scan */ + if (buf[0] & 1) + s->events = PIXMA_EV_BUTTON1 | buf[1] | ((buf[0] & 0xf0) << 4); /* color scan */ + } + return 1; +} + +static int +wait_until_ready (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + int error, tmo = 120; /* some scanners need a long timeout */ + + RET_IF_ERR ((mp->generation >= 3) ? query_status_3 (s) + : query_status (s)); + while (!is_calibrated (s)) + { + WAIT_INTERRUPT (1000); + if (mp->generation >= 3) + RET_IF_ERR (query_status_3 (s)); + else if (s->cfg->pid == MP600_PID || + s->cfg->pid == MP600R_PID) + RET_IF_ERR (query_status (s)); + if (--tmo == 0) + { + PDBG (pixma_dbg (1, "WARNING:Timed out in wait_until_ready()\n")); + PDBG (query_status (s)); + return PIXMA_ETIMEDOUT; + } + } + return 0; +} + +static void +reorder_pixels (uint8_t * linebuf, uint8_t * sptr, unsigned c, unsigned n, + unsigned m, unsigned w, unsigned line_size) +{ + unsigned i; + + for (i = 0; i < w; i++) + { + memcpy (linebuf + c * (n * (i % m) + i / m), sptr + c * i, c); + } + memcpy (sptr, linebuf, line_size); +} + +/* the scanned image must be shrinked by factor "scale" + * the image can be formatted as rgb (c=3) or gray (c=1) + * we need to crop the left side (xs) + * we ignore more pixels inside scanned line (wx), behind needed line (w) + * + * example (scale=2): + * line | pixel[0] | pixel[1] | ... | pixel[w-1] + * --------- + * 0 | rgbrgb | rgbrgb | ... | rgbrgb + * wx*c | rgbrgb | rgbrgb | ... | rgbrgb + */ +uint8_t * +shrink_image (uint8_t * dptr, uint8_t * sptr, unsigned xs, unsigned w, + unsigned wx, unsigned scale, unsigned c) +{ + unsigned i, ic; + uint16_t pixel; + uint8_t *dst = dptr; /* don't change dptr */ + uint8_t *src = sptr; /* don't change sptr */ + + /*PDBG (pixma_dbg (4, "%s: w=%d, wx=%d, c=%d, scale=%d\n", + __func__, w, wx, c, scale)); + PDBG (pixma_dbg (4, "\tdptr=%ld, sptr=%ld\n", + dptr, sptr));*/ + + /* crop left side */ + src += c * xs; + + /* process line */ + for (i = 0; i < w; i++) + { + /* process rgb or gray pixel */ + for (ic = 0; ic < c; ic++) + { +#if 0 + dst[ic] = src[ic]; +#else + pixel = 0; + + /* sum shrink pixels */ + for (unsigned m = 0; m < scale; m++) /* get pixels from shrinked lines */ + { + for (unsigned n = 0; n < scale; n++) /* get pixels from same line */ + { + pixel += src[ic + c * n + wx * c * m]; + } + } + dst[ic] = pixel / (scale * scale); +#endif + } + + /* jump over shrinked data */ + src += c * scale; + /* next pixel */ + dst += c; + } + + return dst; +} + +/* This function deals with Generation >= 3 high dpi images. + * Each complete line in mp->imgbuf is processed for reordering pixels above + * 600 dpi for Generation >= 3. */ +static unsigned +post_process_image_data (pixma_t * s, pixma_imagebuf_t * ib) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + unsigned c, lines, line_size, n, m, cw, cx; + uint8_t *sptr, *dptr, *gptr, *cptr; + + if (s->param->mode_jpeg) + { + /* No post-processing, send raw JPEG data to main */ + ib->rptr = mp->imgbuf; + ib->rend = mp->data_left_ofs; + return 0; /* # of non processed bytes */ + } + + /* process image sizes */ + c = s->param->channels + * ((s->param->software_lineart) ? 8 : s->param->depth) / 8; /* color channels count */ + cw = c * s->param->w; /* image width */ + cx = c * s->param->xs; /* x-offset */ + + /* special image format parameters + * n: no. of sub-images + * m: sub-image width + */ + if (mp->generation >= 3) + n = s->param->xdpi / 600; + else + n = s->param->xdpi / 2400; + if (s->cfg->pid == MP600_PID || s->cfg->pid == MP600R_PID) + n = s->param->xdpi / 1200; + m = (n > 0) ? s->param->wx / n : 1; + + /* Initialize pointers */ + sptr = dptr = gptr = cptr = mp->imgbuf; + + /* walk through complete received lines */ + line_size = get_cis_line_size (s); + lines = (mp->data_left_ofs - mp->imgbuf) / line_size; + if (lines > 0) + { + unsigned i; + + /*PDBG (pixma_dbg (4, "*post_process_image_data***** Processing with c=%u, n=%u, m=%u, wx=%i, line_size=%u, cx=%u, cw=%u ***** \n", + c, n, m, s->param->wx, line_size, cx, cw));*/ + /*PDBG (pixma_dbg (4, "*post_process_image_data***** lines = %i ***** \n", lines));*/ + + for (i = 0; i < lines; i++, sptr += line_size) + { + /*PDBG (pixma_dbg (4, "*post_process_image_data***** Processing with c=%u, n=%u, m=%u, w=%i, line_size=%u ***** \n", + c, n, m, s->param->wx, line_size));*/ + /*PDBG (pixma_dbg (4, "*post_process_image_data***** Pointers: sptr=%lx, dptr=%lx, linebuf=%lx ***** \n", + sptr, dptr, mp->linebuf));*/ + + /* special image format for *most* devices at high dpi. + * MP220, MX360 and generation 5 scanners are exceptions */ + if (n > 1 + && s->cfg->pid != MP220_PID + && s->cfg->pid != MP490_PID + && s->cfg->pid != MX360_PID + && (mp->generation < 5 + /* generation 5 scanners *with* special image format */ + || s->cfg->pid == MG2200_PID + || s->cfg->pid == MG3200_PID + || s->cfg->pid == MG4200_PID + || s->cfg->pid == MG5600_PID + || s->cfg->pid == MG5700_PID + || s->cfg->pid == MG6200_PID + || s->cfg->pid == MP230_PID + || s->cfg->pid == MX470_PID + || s->cfg->pid == MX510_PID + || s->cfg->pid == MX520_PID)) + reorder_pixels (mp->linebuf, sptr, c, n, m, s->param->wx, line_size); + + + /* scale image */ + if (mp->scale > 1) + { + /* Crop line inside shrink_image() */ + shrink_image(cptr, sptr, s->param->xs, s->param->w, s->param->wx, mp->scale, c); + } + else + { + /* Crop line to selected borders */ + memmove(cptr, sptr + cx, cw); + } + + /* Color / Gray to Lineart convert */ + if (s->param->software_lineart) + cptr = gptr = pixma_binarize_line (s->param, gptr, cptr, s->param->w, c); + else + cptr += cw; + } + } + ib->rptr = mp->imgbuf; + ib->rend = cptr; + return mp->data_left_ofs - sptr; /* # of non processed bytes */ +} + +static int +mp150_open (pixma_t * s) +{ + mp150_t *mp; + uint8_t *buf; + + mp = (mp150_t *) calloc (1, sizeof (*mp)); + if (!mp) + return PIXMA_ENOMEM; + + buf = (uint8_t *) malloc (CMDBUF_SIZE + IMAGE_BLOCK_SIZE); + if (!buf) + { + free (mp); + return PIXMA_ENOMEM; + } + + s->subdriver = mp; + mp->state = state_idle; + + mp->cb.buf = buf; + mp->cb.size = CMDBUF_SIZE; + mp->cb.res_header_len = 8; + mp->cb.cmd_header_len = 16; + mp->cb.cmd_len_field_ofs = 14; + + mp->imgbuf = buf + CMDBUF_SIZE; + + /* General rules for setting Pixma protocol generation # */ + mp->generation = (s->cfg->pid >= MP160_PID) ? 2 : 1; + + if (s->cfg->pid >= MX7600_PID) + mp->generation = 3; + + if (s->cfg->pid >= MP250_PID) + mp->generation = 4; + + if (s->cfg->pid >= MG2100_PID) /* this scanners generation doesn't need */ + mp->generation = 5; /* special image conversion @ high dpi */ + + /* And exceptions to be added here */ + if (s->cfg->pid == MP140_PID) + mp->generation = 2; + + PDBG (pixma_dbg (3, "*mp150_open***** This is a generation %d scanner. *****\n", mp->generation)); + + /* adf scanning */ + mp->adf_state = state_idle; + + if (mp->generation < 4) + { + query_status (s); + handle_interrupt (s, 200); + } + return 0; +} + +static void +mp150_close (pixma_t * s) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + + mp150_finish_scan (s); + free (mp->cb.buf); + free (mp); + s->subdriver = NULL; +} + +static int +mp150_check_param (pixma_t * s, pixma_scan_param_t * sp) +{ + mp150_t *mp = (mp150_t *) s->subdriver; + + /* PDBG (pixma_dbg (4, "*mp150_check_param***** Initially: channels=%u, depth=%u, x=%u, y=%u, w=%u, h=%u, xs=%u, wx=%u *****\n", + sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->h, sp->xs, sp->wx)); */ + + /* MP150 only supports 8 bit per channel in color and grayscale mode */ + if (sp->depth != 1) + { + sp->software_lineart = 0; + sp->depth = 8; + } + else + { + /* software lineart */ + sp->software_lineart = 1; + sp->depth = 1; + sp->channels = 1; + } + + /* for software lineart w must be a multiple of 8 */ + if (sp->software_lineart == 1 && sp->w % 8) + { + unsigned w_max; + + sp->w += 8 - (sp->w % 8); + + /* do not exceed the scanner capability */ + w_max = s->cfg->width * s->cfg->xdpi / 75; + w_max -= w_max % 8; + if (sp->w > w_max) + sp->w = w_max; + } + + if (mp->generation >= 2) + { + /* mod 32 and expansion of the X scan limits */ + /*PDBG (pixma_dbg (4, "*mp150_check_param***** ----- Initially: x=%i, y=%i, w=%i, h=%i *****\n", sp->x, sp->y, sp->w, sp->h));*/ + sp->xs = (sp->x * mp->scale) % 32; + } + else + sp->xs = 0; + /*PDBG (pixma_dbg (4, "*mp150_check_param***** Selected origin, origin shift: %i, %i *****\n", sp->x, sp->xs));*/ + sp->wx = calc_raw_width (mp, sp); + sp->line_size = sp->w * sp->channels * (((sp->software_lineart) ? 8 : sp->depth) / 8); /* bytes per line per color after cropping */ + /*PDBG (pixma_dbg (4, "*mp150_check_param***** Final scan width and line-size: %i, %li *****\n", sp->wx, sp->line_size));*/ + + /* Some exceptions here for particular devices */ + /* Those devices can scan up to legal 14" with ADF, but A4 11.7" in flatbed */ + /* PIXMA_CAP_ADF also works for PIXMA_CAP_ADFDUP */ + if ((s->cfg->cap & PIXMA_CAP_ADF) && sp->source == PIXMA_SOURCE_FLATBED) + sp->h = MIN (sp->h, 877 * sp->xdpi / 75); + + if (sp->source == PIXMA_SOURCE_ADF || sp->source == PIXMA_SOURCE_ADFDUP) + { + uint8_t k = 1; + + /* ADF/ADF duplex mode: max scan res is 600 dpi, at least for generation 4+ */ + if (mp->generation >= 4) + k = sp->xdpi / MIN (sp->xdpi, 600); + sp->x /= k; + sp->xs /= k; + sp->y /= k; + sp->w /= k; + sp->wx /= k; + sp->h /= k; + sp->xdpi /= k; + sp->ydpi = sp->xdpi; + } + + sp->mode_jpeg = (s->cfg->cap & PIXMA_CAP_ADF_JPEG) && + (sp->source == PIXMA_SOURCE_ADF || + sp->source == PIXMA_SOURCE_ADFDUP); + + mp->scale = 1; + if (s->cfg->min_xdpi && sp->xdpi < s->cfg->min_xdpi) + { + mp->scale = s->cfg->min_xdpi / sp->xdpi; + } + /*PDBG (pixma_dbg (4, "*mp150_check_param***** xdpi=%u, min_xdpi=%u, scale=%u *****\n", + sp->xdpi, s->cfg->min_xdpi, mp->scale));*/ + + /*PDBG (pixma_dbg (4, "*mp150_check_param***** Finally: channels=%u, depth=%u, x=%u, y=%u, w=%u, h=%u, xs=%u, wx=%u *****\n", + sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->h, sp->xs, sp->wx));*/ + return 0; +} + +static int +mp150_scan (pixma_t * s) +{ + int error = 0, tmo; + mp150_t *mp = (mp150_t *) s->subdriver; + + if (mp->state != state_idle) + return PIXMA_EBUSY; + + /* no paper inserted after first adf page => abort session */ + if (s->param->adf_pageid && is_scanning_from_adf(s) && mp->adf_state == state_idle) + { + return PIXMA_ENO_PAPER; + } + + /* Generation 4+: send XML dialog */ + /* adf: first page or idle */ + if (mp->generation >= 4 && mp->adf_state == state_idle) + { + if (!send_xml_dialog (s, XML_START_1)) + return PIXMA_EPROTO; + if (!send_xml_dialog (s, XML_START_2)) + return PIXMA_EPROTO; + } + + /* clear interrupt packets buffer */ + while (handle_interrupt (s, 0) > 0) + { + } + + /* FIXME: Duplex ADF: check paper status only before odd pages (1,3,5,...). */ + if (is_scanning_from_adf (s)) + { + if ((error = query_status (s)) < 0) + return error; + + /* wait for inserted paper + * timeout: 10 sec */ + tmo = 10; + while (!has_paper (s) && --tmo >= 0) + { + if ((error = query_status (s)) < 0) + return error; + WAIT_INTERRUPT (1000); + PDBG (pixma_dbg + (2, "No paper in ADF. Timed out in %d sec.\n", tmo)); + } + + /* no paper inserted + * => abort session */ + if (!has_paper (s)) + { + PDBG (pixma_dbg (4, "*mp150_scan***** no paper in ADF *****\n")); + error = abort_session (s); + if (error < 0) + return error; + + /* Generation 4+: send XML dialog */ + /* adf: first page or idle */ + if (mp->generation >= 4 && mp->adf_state == state_idle) + { + if (!send_xml_dialog (s, XML_END)) + return PIXMA_EPROTO; + } + + return PIXMA_ENO_PAPER; + } + } + + tmo = 10; + /* adf: first page or idle */ + if (mp->generation <= 2 || mp->adf_state == state_idle) + { /* single sheet or first sheet from ADF */ + PDBG (pixma_dbg (4, "*mp150_scan***** start scanning *****\n")); + error = start_session (s); + while (error == PIXMA_EBUSY && --tmo >= 0) + { + if (s->cancel) + { + error = PIXMA_ECANCELED; + break; + } + PDBG (pixma_dbg + (2, "Scanner is busy. Timed out in %d sec.\n", tmo + 1)); + pixma_sleep (1000000); + error = start_session (s); + } + if (error == PIXMA_EBUSY || error == PIXMA_ETIMEDOUT) + { + /* The scanner maybe hangs. We try to empty output buffer of the + * scanner and issue the cancel command. */ + PDBG (pixma_dbg (2, "Scanner hangs? Sending abort_session command.\n")); + drain_bulk_in (s); + abort_session (s); + pixma_sleep (500000); + error = start_session (s); + } + if ((error >= 0) || (mp->generation >= 3)) + mp->state = state_warmup; + if ((error >= 0) && (mp->generation <= 2)) + error = select_source (s); + if ((error >= 0) && !is_scanning_jpeg (s)) + { + int i; + + for (i = (mp->generation >= 3) ? 3 : 1 ; i > 0 && error >= 0; i--) + error = send_gamma_table (s); + } + } + else /* ADF pageid != 0 and gen3 or above */ + { /* next sheet from ADF */ + PDBG (pixma_dbg (4, "*mp150_scan***** scan next sheet from ADF *****\n")); + pixma_sleep (1000000); + } + if ((error >= 0) || (mp->generation >= 3)) + mp->state = state_warmup; + if (error >= 0) + error = send_scan_param (s); + if ((error >= 0) && (mp->generation >= 3)) + error = start_scan_3 (s); + if (error < 0) + { + mp->last_block = 0x38; /* Force abort session if ADF scan */ + mp150_finish_scan (s); + return error; + } + + /* ADF scanning active */ + if (is_scanning_from_adf (s)) + mp->adf_state = state_scanning; + return 0; +} + +static int +mp150_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) +{ + int error; + mp150_t *mp = (mp150_t *) s->subdriver; + unsigned block_size, bytes_received, proc_buf_size, line_size; + uint8_t header[16]; + + if (mp->state == state_warmup) + { + RET_IF_ERR (wait_until_ready (s)); + pixma_sleep (1000000); /* No need to sleep, actually, but Window's driver + * sleep 1.5 sec. */ + mp->state = state_scanning; + mp->last_block = 0; + + line_size = get_cis_line_size (s); + proc_buf_size = 2 * line_size; + mp->cb.buf = realloc (mp->cb.buf, + CMDBUF_SIZE + IMAGE_BLOCK_SIZE + proc_buf_size); + if (!mp->cb.buf) + return PIXMA_ENOMEM; + mp->linebuf = mp->cb.buf + CMDBUF_SIZE; + mp->imgbuf = mp->data_left_ofs = mp->linebuf + line_size; + mp->data_left_len = 0; + } + + do + { + if (s->cancel) + { + PDBG (pixma_dbg (4, "*mp150_fill_buffer***** s->cancel *****\n")); + return PIXMA_ECANCELED; + } + if ((mp->last_block & 0x28) == 0x28) + { /* end of image */ + PDBG (pixma_dbg (4, "*mp150_fill_buffer***** end of image *****\n")); + mp->state = state_finished; + return 0; + } + /*PDBG (pixma_dbg (4, "*mp150_fill_buffer***** moving %u bytes into buffer *****\n", mp->data_left_len));*/ + memmove (mp->imgbuf, mp->data_left_ofs, mp->data_left_len); + error = read_image_block (s, header, mp->imgbuf + mp->data_left_len); + if (error < 0) + { + PDBG (pixma_dbg (4, "*mp150_fill_buffer***** scanner error (%d): end scan *****\n", error)); + mp->last_block = 0x38; /* end scan in mp150_finish_scan() */ + if (error == PIXMA_ECANCELED) + { + /* NOTE: I see this in traffic logs but I don't know its meaning. */ + read_error_info (s, NULL, 0); + } + return error; + } + + bytes_received = error; + /*PDBG (pixma_dbg (4, "*mp150_fill_buffer***** %u bytes received by read_image_block *****\n", bytes_received));*/ + block_size = pixma_get_be32 (header + 12); + mp->last_block = header[8] & 0x38; + if ((header[8] & ~0x38) != 0) + { + PDBG (pixma_dbg (1, "WARNING: Unexpected result header\n")); + PDBG (pixma_hexdump (1, header, 16)); + } + PASSERT (bytes_received == block_size); + + if (block_size == 0) + { /* no image data at this moment. */ + pixma_sleep (10000); + } + /* Post-process the image data */ + mp->data_left_ofs = mp->imgbuf + mp->data_left_len + bytes_received; + mp->data_left_len = post_process_image_data (s, ib); + mp->data_left_ofs -= mp->data_left_len; + } + while (ib->rend == ib->rptr); + + return ib->rend - ib->rptr; +} + +static void +mp150_finish_scan (pixma_t * s) +{ + int error; + mp150_t *mp = (mp150_t *) s->subdriver; + + switch (mp->state) + { + case state_transfering: + drain_bulk_in (s); + /* fall through */ + case state_scanning: + case state_warmup: + case state_finished: + /* FIXME: to process several pages ADF scan, must not send + * abort_session and start_session between pages (last_block=0x28) */ + if (mp->generation <= 2 || !is_scanning_from_adf (s) || mp->last_block == 0x38) + { + PDBG (pixma_dbg (4, "*mp150_finish_scan***** abort session *****\n")); + error = abort_session (s); /* FIXME: it probably doesn't work in duplex mode! */ + if (error < 0) + PDBG (pixma_dbg (1, "WARNING:abort_session() failed %d\n", error)); + + /* Generation 4+: send XML end of scan dialog */ + if (mp->generation >= 4) + { + if (!send_xml_dialog (s, XML_END)) + PDBG (pixma_dbg (1, "WARNING:XML_END dialog failed \n")); + } + } + else + PDBG (pixma_dbg (4, "*mp150_finish_scan***** wait for next page from ADF *****\n")); + + mp->state = state_idle; + /* fall through */ + case state_idle: + break; + } +} + +static void +mp150_wait_event (pixma_t * s, int timeout) +{ + /* FIXME: timeout is not correct. See usbGetCompleteUrbNoIntr() for + * instance. */ + while (s->events == 0 && handle_interrupt (s, timeout) > 0) + { + } +} + +static int +mp150_get_status (pixma_t * s, pixma_device_status_t * status) +{ + int error; + + RET_IF_ERR (query_status (s)); + status->hardware = PIXMA_HARDWARE_OK; + status->adf = (has_paper (s)) ? PIXMA_ADF_OK : PIXMA_ADF_NO_PAPER; + status->cal = + (is_calibrated (s)) ? PIXMA_CALIBRATION_OK : PIXMA_CALIBRATION_OFF; + return 0; +} + +static const pixma_scan_ops_t pixma_mp150_ops = { + mp150_open, + mp150_close, + mp150_scan, + mp150_fill_buffer, + mp150_finish_scan, + mp150_wait_event, + mp150_check_param, + mp150_get_status +}; + +#define DEVICE(name, model, pid, min_dpi, dpi, adftpu_min_dpi, adftpu_max_dpi, w, h, cap) { \ + name, /* name */ \ + model, /* model */ \ + CANON_VID, pid, /* vid pid */ \ + 0, /* iface */ \ + &pixma_mp150_ops, /* ops */ \ + min_dpi, /* min_xdpi */ \ + dpi, 2*(dpi), /* xdpi, ydpi */ \ + adftpu_min_dpi, adftpu_max_dpi, /* adftpu_min_dpi, adftpu_max_dpi */ \ + 0, 0, /* tpuir_min_dpi & tpuir_max_dpi not used in this subdriver */ \ + w, h, /* width, height */ \ + PIXMA_CAP_EASY_RGB| \ + PIXMA_CAP_GRAY| /* CIS with native grayscale */ \ + PIXMA_CAP_LINEART| /* all scanners with software lineart */ \ + PIXMA_CAP_GAMMA_TABLE|PIXMA_CAP_EVENTS|cap \ +} + +#define END_OF_DEVICE_LIST DEVICE(NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0) + +const pixma_config_t pixma_mp150_devices[] = { + /* Generation 1: CIS */ + DEVICE ("Canon PIXMA MP150", "MP150", MP150_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP170", "MP170", MP170_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP450", "MP450", MP450_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP500", "MP500", MP500_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP530", "MP530", MP530_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + + /* Generation 2: CIS */ + DEVICE ("Canon PIXMA MP140", "MP140", MP140_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP160", "MP160", MP160_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP180", "MP180", MP180_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP460", "MP460", MP460_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP510", "MP510", MP510_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP600", "MP600", MP600_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP600R", "MP600R", MP600R_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Generation 3: CIS */ + DEVICE ("Canon PIXMA MP210", "MP210", MP210_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP220", "MP220", MP220_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP470", "MP470", MP470_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP520", "MP520", MP520_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP610", "MP610", MP610_PID, 0, 4800, 0, 0, 638, 877, PIXMA_CAP_CIS), + + DEVICE ("Canon PIXMA MX300", "MX300", MX300_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MX310", "MX310", MX310_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX700", "MX700", MX700_PID, 0, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX850", "MX850", MX850_PID, 0, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), + DEVICE ("Canon PIXMA MX7600", "MX7600", MX7600_PID, 0, 4800, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), + + DEVICE ("Canon PIXMA MP630", "MP630", MP630_PID, 0, 4800, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP620", "MP620", MP620_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP540", "MP540", MP540_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP480", "MP480", MP480_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP240", "MP240", MP240_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP260", "MP260", MP260_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP190", "MP190", MP190_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* PIXMA 2009 vintage */ + DEVICE ("Canon PIXMA MX320", "MX320", MX320_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX330", "MX330", MX330_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX860", "MX860", MX860_PID, 0, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), +/* width and height adjusted to flatbed size 21.8 x 30.2 cm^2 respective + * Not sure if anything's going wrong here, leaving as is + DEVICE ("Canon PIXMA MX860", "MX860", MX860_PID, 0, 2400, 0, 0, 638, 880, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP),*/ + + /* PIXMA 2010 vintage */ + DEVICE ("Canon PIXMA MX340", "MX340", MX340_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX350", "MX350", MX350_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX870", "MX870", MX870_PID, 0, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), + + /* PIXMA 2011 vintage */ + DEVICE ("Canon PIXMA MX360", "MX360", MX360_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX410", "MX410", MX410_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX420", "MX420", MX420_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX880 Series", "MX880", MX880_PID, 0, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), + + /* Generation 4: CIS */ + DEVICE ("Canon PIXMA MP640", "MP640", MP640_PID, 0, 4800, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP560", "MP560", MP560_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP550", "MP550", MP550_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP490", "MP490", MP490_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP250", "MP250", MP250_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP270", "MP270", MP270_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2010) Generation 4 CIS */ + DEVICE ("Canon PIXMA MP280", "MP280", MP280_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), /* TODO: 1200dpi doesn't work yet */ + DEVICE ("Canon PIXMA MP495", "MP495", MP495_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG5100", "MG5100", MG5100_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG5200", "MG5200", MG5200_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG6100", "MG6100", MG6100_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2011) Generation 5 CIS */ + DEVICE ("Canon PIXMA MG2100", "MG2100", MG2100_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG3100", "MG3100", MG3100_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG4100", "MG4100", MG4100_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG5300", "MG5300", MG5300_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG6200", "MG6200", MG6200_PID, 0, 4800, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MP493", "MP493", MP493_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA E500", "E500", E500_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2012) Generation 5 CIS */ + DEVICE ("Canon PIXMA MX370 Series", "MX370", MX370_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX430 Series", "MX430", MX430_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX510 Series", "MX510", MX510_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX710 Series", "MX710", MX710_PID, 0, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), + DEVICE ("Canon PIXMA MX890 Series", "MX890", MX890_PID, 0, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), + DEVICE ("Canon PIXMA E600 Series", "E600", E600_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MG4200", "MG4200", MG4200_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2013) Generation 5 CIS */ + DEVICE ("Canon PIXMA E510", "E510", E510_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA E610", "E610", E610_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MP230", "MP230", MP230_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG2200 Series", "MG2200", MG2200_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG3200 Series", "MG3200", MG3200_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG5400 Series", "MG5400", MG5400_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG6300 Series", "MG6300", MG6300_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MX390 Series", "MX390", MX390_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX450 Series", "MX450", MX450_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX520 Series", "MX520", MX520_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX720 Series", "MX720", MX720_PID, 0, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), + DEVICE ("Canon PIXMA MX920 Series", "MX920", MX920_PID, 0, 2400, 0, 600, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), + DEVICE ("Canon PIXMA MG2400 Series", "MG2400", MG2400_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG2500 Series", "MG2500", MG2500_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG3500 Series", "MG3500", MG3500_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG5500 Series", "MG5500", MG5500_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG6400 Series", "MG6400", MG6400_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG6500 Series", "MG6500", MG6500_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG7100 Series", "MG7100", MG7100_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2014) Generation 5 CIS */ + DEVICE ("Canon PIXMA MX470 Series", "MX470", MX470_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MX530 Series", "MX530", MX530_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon MAXIFY MB5000 Series", "MB5000", MB5000_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF | PIXMA_CAP_ADF_JPEG), + DEVICE ("Canon MAXIFY MB5300 Series", "MB5300", MB5300_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), + DEVICE ("Canon MAXIFY MB2000 Series", "MB2000", MB2000_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP | PIXMA_CAP_ADF_JPEG), + DEVICE ("Canon MAXIFY MB2100 Series", "MB2100", MB2100_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF | PIXMA_CAP_ADF_JPEG), + DEVICE ("Canon MAXIFY MB2300 Series", "MB2300", MB2300_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF | PIXMA_CAP_ADF_JPEG), + DEVICE ("Canon MAXIFY MB2700 Series", "MB2700", MB2700_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF | PIXMA_CAP_ADF_JPEG), + DEVICE ("Canon PIXMA E400", "E400", E400_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA E560", "E560", E560_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG7500 Series", "MG7500", MG7500_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG6600 Series", "MG6600", MG6600_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG5600 Series", "MG5600", MG5600_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG2900 Series", "MG2900", MG2900_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA E460 Series", "E460", E460_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2015) Generation 5 CIS */ + DEVICE ("Canon PIXMA MX490 Series", "MX490", MX490_PID, 0, 600, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA E480 Series", "E480", E480_PID, 0, 600, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MG3600 Series", "MG3600", MG3600_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG7700 Series", "MG7700", MG7700_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG6900 Series", "MG6900", MG6900_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG6800 Series", "MG6800", MG6800_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG5700 Series", "MG5700", MG5700_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2016) Generation 5 CIS */ + DEVICE ("Canon PIXMA G3000", "G3000", G3000_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA G2000", "G2000", G2000_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS9000 Series", "TS9000", TS9000_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS8000 Series", "TS8000", TS8000_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6000 Series", "TS6000", TS6000_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS5000 Series", "TS5000", TS5000_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA MG3000 Series", "MG3000", MG3000_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA E470 Series", "E470", E470_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA E410 Series", "E410", E410_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2017) Generation 5 CIS */ + DEVICE ("Canon PIXMA G4000", "G4000", G4000_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6100 Series", "TS6100", TS6100_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS5100 Series", "TS5100", TS5100_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS3100 Series", "TS3100", TS3100_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA E3100 Series", "E3100", E3100_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2018) Generation 5 CIS */ + DEVICE ("Canon MAXIFY MB5400 Series", "MB5400", MB5400_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP | PIXMA_CAP_ADF_JPEG), + DEVICE ("Canon MAXIFY MB5100 Series", "MB5100", MB5100_PID, 0, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), + DEVICE ("Canon PIXMA TS9100 Series", "TS9100", TS9100_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TR8500 Series", "TR8500", TR8500_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TR7500 Series", "TR7500", TR7500_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TS9500 Series", "TS9500", TS9500_PID, 0, 1200, 0, 600, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("CanoScan LiDE 400", "LIDE400", LIDE400_PID, 300, 4800, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("CanoScan LiDE 300", "LIDE300", LIDE300_PID, 300, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + + /* Latest devices (2019) Generation 5 CIS */ + DEVICE ("Canon PIXMA TS8100 Series", "TS8100", TS8100_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA G2010 Series", "G2010", G2010_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA G3010 Series", "G3010", G3010_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA G4010 Series", "G4010", G4010_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TS9180 Series", "TS9180", TS9180_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS8180 Series", "TS8180", TS8180_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6180 Series", "TS6180", TS6180_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TR8580 Series", "TR8580", TR8580_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TS8130 Series", "TS8130", TS8130_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6130 Series", "TS6130", TS6130_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TR8530 Series", "TR8530", TR8530_PID, 0, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TR7530 Series", "TR7530", TR7530_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXUS XK50 Series", "XK50", XK50_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXUS XK70 Series", "XK70", XK70_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TR4500 Series", "TR4500", TR4500_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA E4200 Series", "E4200", E4200_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TS6200 Series", "TS6200", TS6200_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6280 Series", "TS6280", TS6280_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6230 Series", "TS6230", TS6230_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS8200 Series", "TS8200", TS8200_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS8280 Series", "TS8280", TS8280_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS8230 Series", "TS8230", TS8230_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS9580 Series", "TS9580", TS9580_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA TR9530 Series", "TR9530", TR9530_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA G6000 Series", "G6000", G6000_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA G6080 Series", "G6080", G6080_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXUS XK80 Series", "XK80", XK80_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS5300 Series", "TS5300", TS5300_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS5380 Series", "TS5380", TS5380_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6300 Series", "TS6300", TS6300_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6380 Series", "TS6380", TS6380_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS7330 Series", "TS7330", TS7330_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS8380 Series", "TS8380", TS8380_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS8330 Series", "TS8330", TS8330_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA XK60 Series", "XK60", XK60_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS6330 Series", "TS6330", TS6330_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA TS3300 Series", "TS3300", TS3300_PID, 0, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), + DEVICE ("Canon PIXMA E3300 Series", "E3300", E3300_PID, 0, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), + + END_OF_DEVICE_LIST +}; diff --git a/backend/pixma/pixma_mp730.c b/backend/pixma/pixma_mp730.c new file mode 100644 index 0000000..93d518b --- /dev/null +++ b/backend/pixma/pixma_mp730.c @@ -0,0 +1,846 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2011-2019 Rolf Bensch + Copyright (C) 2007-2008 Nicolas Martin, + Copyright (C) 2006-2007 Wittawat Yamwong + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. + */ +#include "../include/sane/config.h" + +#include +#include +#include +#include /* localtime(C90) */ + +#include "pixma_rename.h" +#include "pixma_common.h" +#include "pixma_io.h" + + +#ifdef __GNUC__ +# define UNUSED(v) (void) v +#else +# define UNUSED(v) +#endif + +#define IMAGE_BLOCK_SIZE (0xc000) +#define CMDBUF_SIZE 512 + +#define MP10_PID 0x261f + +#define MP730_PID 0x262f +#define MP700_PID 0x2630 + +#define MP5_PID 0x2635 /* untested */ + +#define MP360_PID 0x263c +#define MP370_PID 0x263d +#define MP390_PID 0x263e +#define MP375R_PID 0x263f /* untested */ + +#define MP740_PID 0x264c /* Untested */ +#define MP710_PID 0x264d + +#define MF5730_PID 0x265d /* Untested */ +#define MF5750_PID 0x265e /* Untested */ +#define MF5770_PID 0x265f +#define MF3110_PID 0x2660 + +#define IR1020_PID 0x26e6 + +enum mp730_state_t +{ + state_idle, + state_warmup, + state_scanning, + state_transfering, + state_finished +}; + +enum mp730_cmd_t +{ + cmd_start_session = 0xdb20, + cmd_select_source = 0xdd20, + cmd_gamma = 0xee20, + cmd_scan_param = 0xde20, + cmd_status = 0xf320, + cmd_abort_session = 0xef20, + cmd_time = 0xeb80, + cmd_read_image = 0xd420, + cmd_error_info = 0xff20, + + cmd_activate = 0xcf60, + cmd_calibrate = 0xe920 +}; + +typedef struct mp730_t +{ + enum mp730_state_t state; + pixma_cmdbuf_t cb; + unsigned raw_width; + uint8_t current_status[12]; + + uint8_t *buf, *imgbuf, *lbuf; + unsigned imgbuf_len; + + unsigned last_block:1; +} mp730_t; + + +static void mp730_finish_scan (pixma_t * s); + +static int +has_paper (pixma_t * s) +{ + mp730_t *mp = (mp730_t *) s->subdriver; + return (mp->current_status[1] == 0); +} + +static void +drain_bulk_in (pixma_t * s) +{ + mp730_t *mp = (mp730_t *) s->subdriver; + while (pixma_read (s->io, mp->imgbuf, IMAGE_BLOCK_SIZE) >= 0); +} + +static int +abort_session (pixma_t * s) +{ + mp730_t *mp = (mp730_t *) s->subdriver; + return pixma_exec_short_cmd (s, &mp->cb, cmd_abort_session); +} + +static int +query_status (pixma_t * s) +{ + mp730_t *mp = (mp730_t *) s->subdriver; + uint8_t *data; + int error; + + data = pixma_newcmd (&mp->cb, cmd_status, 0, 12); + error = pixma_exec (s, &mp->cb); + if (error >= 0) + { + memcpy (mp->current_status, data, 12); + PDBG (pixma_dbg (3, "Current status: paper=%u cal=%u lamp=%u\n", + data[1], data[8], data[7])); + } + return error; +} + +static int +activate (pixma_t * s, uint8_t x) +{ + mp730_t *mp = (mp730_t *) s->subdriver; + uint8_t *data = pixma_newcmd (&mp->cb, cmd_activate, 10, 0); + data[0] = 1; + data[3] = x; + return pixma_exec (s, &mp->cb); +} + +static int +start_session (pixma_t * s) +{ + mp730_t *mp = (mp730_t *) s->subdriver; + return pixma_exec_short_cmd (s, &mp->cb, cmd_start_session); +} + +static int +select_source (pixma_t * s) +{ + mp730_t *mp = (mp730_t *) s->subdriver; + uint8_t *data = pixma_newcmd (&mp->cb, cmd_select_source, 10, 0); + switch (s->param->source) + { + case PIXMA_SOURCE_ADF: + data[0] = 2; + break; + + case PIXMA_SOURCE_ADFDUP: + data[0] = 2; + data[5] = 3; + break; + + default: + data[0] = 1; + break; + } + return pixma_exec (s, &mp->cb); +} + +static int +send_scan_param (pixma_t * s) +{ + mp730_t *mp = (mp730_t *) s->subdriver; + uint8_t *data; + + data = pixma_newcmd (&mp->cb, cmd_scan_param, 0x2e, 0); + pixma_set_be16 (s->param->xdpi | 0x1000, data + 0x04); + pixma_set_be16 (s->param->ydpi | 0x1000, data + 0x06); + pixma_set_be32 (s->param->x, data + 0x08); + pixma_set_be32 (s->param->y, data + 0x0c); + pixma_set_be32 (mp->raw_width, data + 0x10); + pixma_set_be32 (s->param->h, data + 0x14); + + if (s->param->channels == 1) + { + if (s->param->depth == 1) + data[0x18] = 0x01; + else + data[0x18] = 0x04; + } + else + data[0x18] = 0x08; + + data[0x19] = s->param->channels * s->param->depth; /* bits per pixel, for lineart should be 0x01 */ + data[0x1e] = (s->param->depth == 1) ? 0x80 : 0x00; /* modify for lineart: 0x80 NEW */ + data[0x1f] = (s->param->depth == 1) ? 0x80 : 0x7f; /* modify for lineart: 0x80 */ + data[0x20] = (s->param->depth == 1) ? 0x01 : 0xff; /* modify for lineart: 0x01 */ + data[0x23] = 0x81; + + return pixma_exec (s, &mp->cb); +} + +static int +calibrate (pixma_t * s) +{ + mp730_t *mp = (mp730_t *) s->subdriver; + return pixma_exec_short_cmd (s, &mp->cb, cmd_calibrate); +} + +static int +read_image_block (pixma_t * s, uint8_t * header, uint8_t * data) +{ + static const uint8_t cmd[10] = /* 0xd420 cmd */ + { 0xd4, 0x20, 0, 0, 0, 0, 0, IMAGE_BLOCK_SIZE / 256, 4, 0 }; + mp730_t *mp = (mp730_t *) s->subdriver; + const int hlen = 2 + 4; + int error, datalen; + + mp->state = state_transfering; + mp->cb.reslen = + pixma_cmd_transaction (s, cmd, sizeof (cmd), mp->cb.buf, 512); + datalen = mp->cb.reslen; + if (datalen < 0) + return datalen; + + memcpy (header, mp->cb.buf, hlen); + if (datalen >= hlen) + { + datalen -= hlen; + memcpy (data, mp->cb.buf + hlen, datalen); + data += datalen; + if (mp->cb.reslen == 512) + { + error = pixma_read (s->io, data, IMAGE_BLOCK_SIZE - 512 + hlen); + if (error < 0) + return error; + datalen += error; + } + } + + mp->state = state_scanning; + mp->cb.expected_reslen = 0; + error = pixma_check_result (&mp->cb); + if (error < 0) + return error; + if (mp->cb.reslen < hlen) + return PIXMA_EPROTO; + return datalen; +} + +static int +send_time (pixma_t * s) +{ + /* Why does a scanner need a time? */ + time_t now; + struct tm *t; + uint8_t *data; + mp730_t *mp = (mp730_t *) s->subdriver; + + data = pixma_newcmd (&mp->cb, cmd_time, 20, 0); + pixma_get_time (&now, NULL); + t = localtime (&now); + strftime ((char *) data, 16, "%y/%m/%d %H:%M", t); + PDBG (pixma_dbg (3, "Sending time: '%s'\n", (char *) data)); + return pixma_exec (s, &mp->cb); +} + +static int +handle_interrupt (pixma_t * s, int timeout) +{ + uint8_t buf[16]; + int len; + + len = pixma_wait_interrupt (s->io, buf, sizeof (buf), timeout); + if (len == PIXMA_ETIMEDOUT) + return 0; + if (len < 0) + return len; + switch (s->cfg->pid) + { + case MP360_PID: + case MP370_PID: + case MP375R_PID: + case MP390_PID: + case MF5730_PID: + case MF5750_PID: + case MF5770_PID: + case MF3110_PID: + case IR1020_PID: + if (len != 16) + { + PDBG (pixma_dbg + (1, "WARNING:unexpected interrupt packet length %d\n", len)); + return PIXMA_EPROTO; + } + if (buf[12] & 0x40) + query_status (s); + if (buf[10] & 0x40) + send_time (s); + /* FIXME: following is unverified! */ + if (buf[15] & 1) + s->events = PIXMA_EV_BUTTON2; /* b/w scan */ + if (buf[15] & 2) + s->events = PIXMA_EV_BUTTON1; /* color scan */ + break; + + case MP5_PID: + case MP10_PID: + case MP700_PID: + case MP730_PID: + case MP710_PID: + case MP740_PID: + if (len != 8) + { + PDBG (pixma_dbg + (1, "WARNING:unexpected interrupt packet length %d\n", len)); + return PIXMA_EPROTO; + } + if (buf[7] & 0x10) + s->events = PIXMA_EV_BUTTON1; + if (buf[5] & 8) + send_time (s); + break; + + default: + PDBG (pixma_dbg (1, "WARNING:unknown interrupt, please report!\n")); + PDBG (pixma_hexdump (1, buf, len)); + } + return 1; +} + +static int +has_ccd_sensor (pixma_t * s) +{ + return (s->cfg->pid == MP360_PID || + s->cfg->pid == MP370_PID || + s->cfg->pid == MP375R_PID || + s->cfg->pid == MP390_PID || + s->cfg->pid == MF5730_PID || + s->cfg->pid == MF5750_PID || + s->cfg->pid == MF5770_PID); +} + +static int +read_error_info (pixma_t * s, void *buf, unsigned size) +{ + unsigned len = 16; + mp730_t *mp = (mp730_t *) s->subdriver; + uint8_t *data; + int error; + + data = pixma_newcmd (&mp->cb, cmd_error_info, 0, len); + error = pixma_exec (s, &mp->cb); + if (error < 0) + return error; + if (buf && len < size) + { + size = len; + /* NOTE: I've absolutely no idea what the returned data mean. */ + memcpy (buf, data, size); + error = len; + } + return error; +} + +static int +step1 (pixma_t * s) +{ + int error; + + error = query_status (s); + if (error < 0) + return error; + if ((s->param->source == PIXMA_SOURCE_ADF + || s->param->source == PIXMA_SOURCE_ADFDUP) + && !has_paper (s)) + return PIXMA_ENO_PAPER; + if (has_ccd_sensor (s)) + { + switch (s->cfg->pid) + { + case MF5730_PID: + case MF5750_PID: + case MF5770_PID: + /* MF57x0: Wait 10 sec before starting for 1st page only */ + if (s->param->adf_pageid == 0) + { + int tmo = 10; /* like Windows driver, 10 sec CCD calibration ? */ + while (--tmo >= 0) + { + error = handle_interrupt (s, 1000); \ + if (s->cancel) \ + return PIXMA_ECANCELED; \ + if (error != PIXMA_ECANCELED && error < 0) \ + return error; + PDBG (pixma_dbg (2, "CCD Calibration ends in %d sec.\n", tmo)); + } + } + break; + + default: + break; + } + + activate (s, 0); + error = calibrate (s); + + switch (s->cfg->pid) + { + case MF5730_PID: + case MF5750_PID: + case MF5770_PID: + /* MF57x0: calibration returns PIXMA_STATUS_FAILED */ + if (error == PIXMA_ECANCELED) + error = read_error_info (s, NULL, 0); + break; + + default: + break; + } + + // ignore result from calibrate() + // don't interrupt @ PIXMA_STATUS_BUSY + error = 0; + } + if (error >= 0) + error = activate (s, 0); + if (error >= 0) + error = activate (s, 4); + return error; +} + +static void +pack_rgb (const uint8_t * src, unsigned nlines, unsigned w, uint8_t * dst) +{ + unsigned w2, stride; + + w2 = 2 * w; + stride = 3 * w; + for (; nlines != 0; nlines--) + { + unsigned x; + for (x = 0; x != w; x++) + { + *dst++ = src[x + 0]; + *dst++ = src[x + w]; + *dst++ = src[x + w2]; + } + src += stride; + } +} + +static int +mp730_open (pixma_t * s) +{ + mp730_t *mp; + uint8_t *buf; + + mp = (mp730_t *) calloc (1, sizeof (*mp)); + if (!mp) + return PIXMA_ENOMEM; + + buf = (uint8_t *) malloc (CMDBUF_SIZE); + if (!buf) + { + free (mp); + return PIXMA_ENOMEM; + } + + s->subdriver = mp; + mp->state = state_idle; + + mp->cb.buf = buf; + mp->cb.size = CMDBUF_SIZE; + mp->cb.res_header_len = 2; + mp->cb.cmd_header_len = 10; + mp->cb.cmd_len_field_ofs = 7; + + PDBG (pixma_dbg (3, "Trying to clear the interrupt buffer...\n")); + if (handle_interrupt (s, 200) == 0) + { + PDBG (pixma_dbg (3, " no packets in buffer\n")); + } + return 0; +} + +static void +mp730_close (pixma_t * s) +{ + mp730_t *mp = (mp730_t *) s->subdriver; + + mp730_finish_scan (s); + free (mp->cb.buf); + free (mp->buf); + free (mp); + s->subdriver = NULL; +} + +static unsigned +calc_raw_width (pixma_t * s, const pixma_scan_param_t * sp) +{ + unsigned raw_width; + /* FIXME: Does MP730 need the alignment? */ + /* TODO test: MP710/740 */ + if (sp->channels == 1) + { + if (sp->depth == 8) /* grayscale */ + { + if (s->cfg->pid == MP5_PID || + s->cfg->pid == MP10_PID || + s->cfg->pid == MP700_PID || + s->cfg->pid == MP730_PID || + s->cfg->pid == MP360_PID || + s->cfg->pid == MP370_PID || + s->cfg->pid == MP375R_PID || + s->cfg->pid == MP390_PID || + s->cfg->pid == IR1020_PID) + raw_width = ALIGN_SUP (sp->w, 4); + else + raw_width = ALIGN_SUP (sp->w, 12); + } + else /* depth = 1 : LINEART */ + raw_width = ALIGN_SUP (sp->w, 16); + } + else + raw_width = ALIGN_SUP (sp->w, 4); + return raw_width; +} + +static int +mp730_check_param (pixma_t * s, pixma_scan_param_t * sp) +{ + uint8_t k = 1; + + /* check if channels is 3, or if depth is 1 then channels also 1 else set depth to 8 */ + if ((sp->channels==3) || !(sp->channels==1 && sp->depth==1)) + { + sp->depth=8; + } + /* for MP5, MP10, MP360/370, MP700/730 in grayscale & lineart modes, max scan res is 600 dpi */ + if (s->cfg->pid == MP5_PID || + s->cfg->pid == MP10_PID || + s->cfg->pid == MP700_PID || + s->cfg->pid == MP730_PID || + s->cfg->pid == MP360_PID || + s->cfg->pid == MP370_PID || + s->cfg->pid == MP375R_PID || + s->cfg->pid == MP390_PID) + { + if (sp->channels == 1) + k = sp->xdpi / MIN (sp->xdpi, 600); + } + + sp->x /= k; + sp->y /= k; + sp->h /= k; + sp->xdpi /= k; + sp->ydpi = sp->xdpi; + + sp->w = calc_raw_width (s, sp); + sp->w /= k; + sp->line_size = (calc_raw_width (s, sp) * sp->channels * sp->depth) / 8; + + return 0; +} + +static int +mp730_scan (pixma_t * s) +{ + int error, n; + mp730_t *mp = (mp730_t *) s->subdriver; + uint8_t *buf; + + if (mp->state != state_idle) + return PIXMA_EBUSY; + + /* clear interrupt packets buffer */ + while (handle_interrupt (s, 0) > 0) + { + } + + mp->raw_width = calc_raw_width (s, s->param); + PDBG (pixma_dbg (3, "raw_width = %u\n", mp->raw_width)); + + n = IMAGE_BLOCK_SIZE / s->param->line_size + 1; + buf = (uint8_t *) malloc ((n + 1) * s->param->line_size + IMAGE_BLOCK_SIZE); + if (!buf) + return PIXMA_ENOMEM; + mp->buf = buf; + mp->lbuf = buf; + mp->imgbuf = buf + n * s->param->line_size; + mp->imgbuf_len = 0; + + error = step1 (s); + if (error >= 0) + error = start_session (s); + if (error >= 0) + mp->state = state_scanning; + if (error >= 0) + error = select_source (s); + if (error >= 0) + error = send_scan_param (s); + if (error < 0) + { + mp730_finish_scan (s); + return error; + } + mp->last_block = 0; + return 0; +} + +static int +mp730_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) +{ + int error, n; + mp730_t *mp = (mp730_t *) s->subdriver; + unsigned block_size, bytes_received; + uint8_t header[16]; + + do + { + do + { + if (s->cancel) + return PIXMA_ECANCELED; + if (mp->last_block) /* end of image */ + return 0; + + error = read_image_block (s, header, mp->imgbuf + mp->imgbuf_len); + if (error < 0) + return error; + + bytes_received = error; + block_size = pixma_get_be16 (header + 4); + mp->last_block = ((header[2] & 0x28) == 0x28); + if (mp->last_block) + { /* end of image */ + mp->state = state_finished; + } + if ((header[2] & ~0x38) != 0) + { + PDBG (pixma_dbg (1, "WARNING: Unexpected result header\n")); + PDBG (pixma_hexdump (1, header, 16)); + } + PASSERT (bytes_received == block_size); + + if (block_size == 0) + { + /* no image data at this moment. */ + /*pixma_sleep(100000); *//* FIXME: too short, too long? */ + handle_interrupt (s, 100); + } + } + while (block_size == 0); + + /* TODO: simplify! */ + mp->imgbuf_len += bytes_received; + n = mp->imgbuf_len / s->param->line_size; + /* n = number of full lines (rows) we have in the buffer. */ + if (n != 0) + { + if (s->param->channels != 1 && + s->cfg->pid != MF5730_PID && + s->cfg->pid != MF5750_PID && + s->cfg->pid != MF5770_PID && + s->cfg->pid != MF3110_PID && + s->cfg->pid != IR1020_PID) + { + /* color, and not an MF57x0 nor MF3110 */ + pack_rgb (mp->imgbuf, n, mp->raw_width, mp->lbuf); + } + else + /* grayscale/lineart or MF57x0 or MF3110 */ + memcpy (mp->lbuf, mp->imgbuf, n * s->param->line_size); + + block_size = n * s->param->line_size; + mp->imgbuf_len -= block_size; + memcpy (mp->imgbuf, mp->imgbuf + block_size, mp->imgbuf_len); + } + } + while (n == 0); + + ib->rptr = mp->lbuf; + ib->rend = mp->lbuf + block_size; + return ib->rend - ib->rptr; +} + +static void +mp730_finish_scan (pixma_t * s) +{ + int error, aborted = 0; + mp730_t *mp = (mp730_t *) s->subdriver; + + switch (mp->state) + { + case state_transfering: + drain_bulk_in (s); + /* fall through */ + case state_scanning: + case state_warmup: + aborted = 1; + error = abort_session (s); + if (error < 0) + PDBG (pixma_dbg + (1, "WARNING:abort_session() failed %s\n", + pixma_strerror (error))); + /* fall through */ + case state_finished: + query_status (s); + query_status (s); + activate (s, 0); + + // MF57x0 devices don't require abort_session() after the last page + if (!aborted && + (s->param->source == PIXMA_SOURCE_ADF || + s->param->source == PIXMA_SOURCE_ADFDUP) && + has_paper (s) && + (s->cfg->pid == MF5730_PID || + s->cfg->pid == MF5750_PID || + s->cfg->pid == MF5770_PID || + s->cfg->pid == IR1020_PID)) + { + error = abort_session (s); + if (error < 0) + PDBG (pixma_dbg + (1, "WARNING:abort_session() failed %s\n", + pixma_strerror (error))); + } + + mp->buf = mp->lbuf = mp->imgbuf = NULL; + mp->state = state_idle; + /* fall through */ + case state_idle: + break; + } +} + +static void +mp730_wait_event (pixma_t * s, int timeout) +{ + /* FIXME: timeout is not correct. See usbGetCompleteUrbNoIntr() for + * instance. */ + while (s->events == 0 && handle_interrupt (s, timeout) > 0) + { + } +} + +static int +mp730_get_status (pixma_t * s, pixma_device_status_t * status) +{ + int error; + + error = query_status (s); + if (error < 0) + return error; + status->hardware = PIXMA_HARDWARE_OK; + status->adf = (has_paper (s)) ? PIXMA_ADF_OK : PIXMA_ADF_NO_PAPER; + return 0; +} + + +static const pixma_scan_ops_t pixma_mp730_ops = { + mp730_open, + mp730_close, + mp730_scan, + mp730_fill_buffer, + mp730_finish_scan, + mp730_wait_event, + mp730_check_param, + mp730_get_status +}; + +/* TODO: implement adftpu_min_dpi & adftpu_max_dpi for grayscale & lineart */ +#define DEVICE(name, model, pid, dpi, w, h, cap) { \ + name, /* name */ \ + model, /* model */ \ + 0x04a9, pid, /* vid pid */ \ + 1, /* iface */ \ + &pixma_mp730_ops, /* ops */ \ + 0, /* min_xdpi not used in this subdriver */ \ + dpi, dpi, /* xdpi, ydpi */ \ + 0, 0, /* adftpu_min_dpi & adftpu_max_dpi not used in this subdriver */ \ + 0, 0, /* tpuir_min_dpi & tpuir_max_dpi not used in this subdriver */ \ + w, h, /* width, height */ \ + PIXMA_CAP_GRAY|PIXMA_CAP_EVENTS|cap \ +} +const pixma_config_t pixma_mp730_devices[] = { +/* TODO: check area limits */ + DEVICE ("PIXUS MP5/SmartBase MPC190/imageCLASS MPC190","MP5", MP5_PID, 600, 636, 868, PIXMA_CAP_LINEART),/* color scan can do 600x1200 */ + DEVICE ("PIXUS MP10/SmartBase MPC200/imageCLASS MPC200","MP10", MP10_PID, 600, 636, 868, PIXMA_CAP_LINEART),/* color scan can do 600x1200 */ + DEVICE ("PIXMA MP360", "MP360", MP360_PID, 1200, 636, 868, PIXMA_CAP_LINEART), + DEVICE ("PIXMA MP370", "MP370", MP370_PID, 1200, 636, 868, PIXMA_CAP_LINEART), + DEVICE ("PIXMA MP375R", "MP375R", MP375R_PID, 1200, 636, 868, PIXMA_CAP_LINEART), + DEVICE ("PIXMA MP390", "MP390", MP390_PID, 1200, 636, 868, PIXMA_CAP_LINEART), + DEVICE ("PIXMA MP700", "MP700", MP700_PID, 1200, 638, 877 /*1035 */ , PIXMA_CAP_LINEART), + DEVICE ("PIXMA MP710", "MP710", MP710_PID, 1200, 637, 868, PIXMA_CAP_LINEART), + DEVICE ("PIXMA MP730", "MP730", MP730_PID, 1200, 637, 868, PIXMA_CAP_ADF | PIXMA_CAP_LINEART), + DEVICE ("PIXMA MP740", "MP740", MP740_PID, 1200, 637, 868, PIXMA_CAP_ADF | PIXMA_CAP_LINEART), + + DEVICE ("Canon imageCLASS MF5730", "MF5730", MF5730_PID, 1200, 636, 868, PIXMA_CAP_ADF), + DEVICE ("Canon imageCLASS MF5750", "MF5750", MF5750_PID, 1200, 636, 868, PIXMA_CAP_ADF), + DEVICE ("Canon imageCLASS MF5770", "MF5770", MF5770_PID, 1200, 636, 868, PIXMA_CAP_ADF), + DEVICE ("Canon imageCLASS MF3110", "MF3110", MF3110_PID, 600, 636, 868, 0), + + DEVICE ("Canon iR 1020/1024/1025", "iR1020", IR1020_PID, 600, 636, 868, PIXMA_CAP_ADFDUP), + + DEVICE (NULL, NULL, 0, 0, 0, 0, 0) +}; diff --git a/backend/pixma/pixma_mp750.c b/backend/pixma/pixma_mp750.c new file mode 100644 index 0000000..7f00023 --- /dev/null +++ b/backend/pixma/pixma_mp750.c @@ -0,0 +1,972 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2011-2019 Rolf Bensch + Copyright (C) 2006-2007 Wittawat Yamwong + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. + */ + +/**************************************************************************** + * Credits should go to Martin Schewe (http://pixma.schewe.com) who analysed + * the protocol of MP750. + ****************************************************************************/ + +#include "../include/sane/config.h" + +#include +#include + +#include "pixma_rename.h" +#include "pixma_common.h" +#include "pixma_io.h" + +/* TODO: remove lines marked with SIM. They are inserted so that I can test + the subdriver with the simulator. WY */ + +#ifdef __GNUC__ +# define UNUSED(v) (void) v +#else +# define UNUSED(v) +#endif + +#define IMAGE_BLOCK_SIZE 0xc000 +#define CMDBUF_SIZE 512 +#define HAS_PAPER(s) (s[1] == 0) +#define IS_WARMING_UP(s) (s[7] != 3) +#define IS_CALIBRATED(s) (s[8] == 0xf) + +#define MP750_PID 0x1706 +#define MP760_PID 0x1708 +#define MP780_PID 0x1707 + + +enum mp750_state_t +{ + state_idle, + state_warmup, + state_scanning, + state_transfering, + state_finished +}; + +enum mp750_cmd_t +{ + cmd_start_session = 0xdb20, + cmd_select_source = 0xdd20, + cmd_scan_param = 0xde20, + cmd_status = 0xf320, + cmd_abort_session = 0xef20, + cmd_time = 0xeb80, + cmd_read_image = 0xd420, + + cmd_activate = 0xcf60, + cmd_calibrate = 0xe920, + cmd_error_info = 0xff20 +}; + +typedef struct mp750_t +{ + enum mp750_state_t state; + pixma_cmdbuf_t cb; + unsigned raw_width, raw_height; + uint8_t current_status[12]; + + uint8_t *buf, *rawimg, *img; + /* make new buffer for rgb_to_gray to act on */ + uint8_t *imgcol; + unsigned line_size; /* need in 2 functions */ + + unsigned rawimg_left, imgbuf_len, last_block_size, imgbuf_ofs; + int shifted_bytes; + int stripe_shift; /* for 2400dpi */ + unsigned last_block; + + unsigned monochrome:1; + unsigned needs_abort:1; +} mp750_t; + + + +static void mp750_finish_scan (pixma_t * s); +static void check_status (pixma_t * s); + +static int +has_paper (pixma_t * s) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + return HAS_PAPER (mp->current_status); +} + +static int +is_warming_up (pixma_t * s) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + return IS_WARMING_UP (mp->current_status); +} + +static int +is_calibrated (pixma_t * s) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + return IS_CALIBRATED (mp->current_status); +} + +static void +drain_bulk_in (pixma_t * s) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + while (pixma_read (s->io, mp->buf, IMAGE_BLOCK_SIZE) >= 0); +} + +static int +abort_session (pixma_t * s) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + return pixma_exec_short_cmd (s, &mp->cb, cmd_abort_session); +} + +static int +query_status (pixma_t * s) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + uint8_t *data; + int error; + + data = pixma_newcmd (&mp->cb, cmd_status, 0, 12); + error = pixma_exec (s, &mp->cb); + if (error >= 0) + { + memcpy (mp->current_status, data, 12); + PDBG (pixma_dbg (3, "Current status: paper=%u cal=%u lamp=%u\n", + data[1], data[8], data[7])); + } + return error; +} + +static int +activate (pixma_t * s, uint8_t x) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + uint8_t *data = pixma_newcmd (&mp->cb, cmd_activate, 10, 0); + data[0] = 1; + data[3] = x; + return pixma_exec (s, &mp->cb); +} + +static int +activate_cs (pixma_t * s, uint8_t x) +{ + /*SIM*/ check_status (s); + return activate (s, x); +} + +static int +start_session (pixma_t * s) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + return pixma_exec_short_cmd (s, &mp->cb, cmd_start_session); +} + +static int +select_source (pixma_t * s) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + uint8_t *data = pixma_newcmd (&mp->cb, cmd_select_source, 10, 0); + data[0] = (s->param->source == PIXMA_SOURCE_ADF) ? 2 : 1; + data[1] = 1; + return pixma_exec (s, &mp->cb); +} + +static int +has_ccd_sensor (pixma_t * s) +{ + return ((s->cfg->cap & PIXMA_CAP_CCD) != 0); +} + +static int +is_ccd_grayscale (pixma_t * s) +{ + return (has_ccd_sensor (s) && (s->param->channels == 1)); +} + +/* CCD sensors don't have a Grayscale mode, but use color mode instead */ +static unsigned +get_cis_ccd_line_size (pixma_t * s) +{ + return (s->param->wx ? s->param->line_size / s->param->w * s->param->wx + : s->param->line_size) * ((is_ccd_grayscale (s)) ? 3 : 1); +} + +static int +send_scan_param (pixma_t * s) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + uint8_t *data; + + data = pixma_newcmd (&mp->cb, cmd_scan_param, 0x2e, 0); + pixma_set_be16 (s->param->xdpi | 0x8000, data + 0x04); + pixma_set_be16 (s->param->ydpi | 0x8000, data + 0x06); + pixma_set_be32 (s->param->x, data + 0x08); + pixma_set_be32 (s->param->y, data + 0x0c); + pixma_set_be32 (mp->raw_width, data + 0x10); + pixma_set_be32 (mp->raw_height, data + 0x14); + data[0x18] = 8; /* 8 = color, 4 = grayscale(?) */ + /* GH: No, there is no grayscale for CCD devices, Windows shows same */ + data[0x19] = s->param->depth * ((is_ccd_grayscale (s)) ? 3 : s->param->channels); /* bits per pixel */ + data[0x20] = 0xff; + data[0x23] = 0x81; + data[0x26] = 0x02; + data[0x27] = 0x01; + data[0x29] = mp->monochrome ? 0 : 1; + + return pixma_exec (s, &mp->cb); +} + +static int +calibrate (pixma_t * s) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + return pixma_exec_short_cmd (s, &mp->cb, cmd_calibrate); +} + +static int +calibrate_cs (pixma_t * s) +{ + /*SIM*/ check_status (s); + return calibrate (s); +} + +static int +request_image_block_ex (pixma_t * s, unsigned *size, uint8_t * info, + unsigned flag) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + int error; + + memset (mp->cb.buf, 0, 10); + pixma_set_be16 (cmd_read_image, mp->cb.buf); + mp->cb.buf[7] = *size >> 8; + mp->cb.buf[8] = 4 | flag; + mp->cb.reslen = pixma_cmd_transaction (s, mp->cb.buf, 10, mp->cb.buf, 6); + mp->cb.expected_reslen = 0; + error = pixma_check_result (&mp->cb); + if (error >= 0) + { + if (mp->cb.reslen == 6) + { + *info = mp->cb.buf[2]; + *size = pixma_get_be16 (mp->cb.buf + 4); + } + else + { + error = PIXMA_EPROTO; + } + } + return error; +} + +static int +request_image_block (pixma_t * s, unsigned *size, uint8_t * info) +{ + return request_image_block_ex (s, size, info, 0); +} + +static int +request_image_block2 (pixma_t * s, uint8_t * info) +{ + unsigned temp = 0; + return request_image_block_ex (s, &temp, info, 0x20); +} + +static int +read_image_block (pixma_t * s, uint8_t * data) +{ + int count, temp; + + count = pixma_read (s->io, data, IMAGE_BLOCK_SIZE); + if (count < 0) + return count; + if (count == IMAGE_BLOCK_SIZE) + { + int error = pixma_read (s->io, &temp, 0); + if (error < 0) + { + PDBG (pixma_dbg + (1, "WARNING: reading zero-length packet failed %d\n", error)); + } + } + return count; +} + +static int +read_error_info (pixma_t * s, void *buf, unsigned size) +{ + unsigned len = 16; + mp750_t *mp = (mp750_t *) s->subdriver; + uint8_t *data; + int error; + + data = pixma_newcmd (&mp->cb, cmd_error_info, 0, len); + error = pixma_exec (s, &mp->cb); + if (error >= 0 && buf) + { + if (len < size) + size = len; + /* NOTE: I've absolutely no idea what the returned data mean. */ + memcpy (buf, data, size); + error = len; + } + return error; +} + +static int +send_time (pixma_t * s) +{ + /* TODO: implement send_time() */ + UNUSED (s); + PDBG (pixma_dbg (3, "send_time() is not yet implemented.\n")); + return 0; +} + +static int +handle_interrupt (pixma_t * s, int timeout) +{ + int error; + uint8_t intr[16]; + + error = pixma_wait_interrupt (s->io, intr, sizeof (intr), timeout); + if (error == PIXMA_ETIMEDOUT) + return 0; + if (error < 0) + return error; + if (error != 16) + { + PDBG (pixma_dbg (1, "WARNING: unexpected interrupt packet length %d\n", + error)); + return PIXMA_EPROTO; + } + + if (intr[10] & 0x40) + send_time (s); + if (intr[12] & 0x40) + query_status (s); + if (intr[15] & 1) + s->events = PIXMA_EV_BUTTON2; /* b/w scan */ + if (intr[15] & 2) + s->events = PIXMA_EV_BUTTON1; /* color scan */ + return 1; +} + +static void +check_status (pixma_t * s) +{ + while (handle_interrupt (s, 0) > 0); +} + +static int +step1 (pixma_t * s) +{ + int error, tmo; + + error = activate (s, 0); + if (error < 0) + return error; + error = query_status (s); + if (error < 0) + return error; + if (s->param->source == PIXMA_SOURCE_ADF && !has_paper (s)) + return PIXMA_ENO_PAPER; + error = activate_cs (s, 0); + /*SIM*/ if (error < 0) + return error; + error = activate_cs (s, 0x20); + if (error < 0) + return error; + + tmo = 60; + error = calibrate_cs (s); + while (error == PIXMA_EBUSY && --tmo >= 0) + { + if (s->cancel) + return PIXMA_ECANCELED; + PDBG (pixma_dbg + (2, "Scanner is busy. Timed out in %d sec.\n", tmo + 1)); + pixma_sleep (1000000); + error = calibrate_cs (s); + } + return error; +} + +static void +shift_rgb (const uint8_t * src, unsigned pixels, + int sr, int sg, int sb, int stripe_shift, + int line_size, uint8_t * dst) +{ + unsigned st; + + for (; pixels != 0; pixels--) + { + st = (pixels % 2 == 0) ? -2 * stripe_shift * line_size : 0; + *(dst++ + sr + st) = *src++; + *(dst++ + sg + st) = *src++; + *(dst++ + sb + st) = *src++; + } +} + +static uint8_t * +rgb_to_gray (uint8_t * gptr, const uint8_t * cptr, unsigned pixels, unsigned c) +{ + unsigned i, j, g; + + /* gptr: destination gray scale buffer */ + /* cptr: source color scale buffer */ + /* c: 3 for 3-channel single-byte data, 6 for double-byte data */ + + for (i=0; i < pixels; i++) + { + for (j = 0, g = 0; j < 3; j++) + { + g += *cptr++; + if (c == 6) g += (*cptr++ << 8); + } + g /= 3; + *gptr++ = g; + if (c == 6) *gptr++ = (g >> 8); + } + return gptr; +} + +static int +calc_component_shifting (pixma_t * s) +{ + switch (s->cfg->pid) + { + case MP760_PID: + switch (s->param->ydpi) + { + case 300: + return 3; + case 600: + return 6; + default: + return s->param->ydpi / 75; + } + /* never reached */ + break; + + case MP750_PID: + case MP780_PID: + default: + return 2 * s->param->ydpi / 75; + } +} + +static void +workaround_first_command (pixma_t * s) +{ + /* FIXME: Send a dummy command because the device doesn't response to the + first command that is sent directly after the USB interface has been + set up. Why? USB isn't set up properly? */ + uint8_t cmd[10]; + int error; + + if (s->cfg->pid == MP750_PID) + return; /* MP750 doesn't have this problem(?) */ + + PDBG (pixma_dbg + (1, + "Work-around for the problem: device doesn't response to the first command.\n")); + memset (cmd, 0, sizeof (cmd)); + pixma_set_be16 (cmd_calibrate, cmd); + error = pixma_write (s->io, cmd, 10); + if (error != 10) + { + if (error < 0) + { + PDBG (pixma_dbg + (1, " Sending a dummy command failed: %s\n", + pixma_strerror (error))); + } + else + { + PDBG (pixma_dbg + (1, " Sending a dummy command failed: count = %d\n", error)); + } + return; + } + error = pixma_read (s->io, cmd, sizeof (cmd)); + if (error >= 0) + { + PDBG (pixma_dbg + (1, " Got %d bytes response from a dummy command.\n", error)); + } + else + { + PDBG (pixma_dbg + (1, " Reading response of a dummy command failed: %s\n", + pixma_strerror (error))); + } +} + +static int +mp750_open (pixma_t * s) +{ + mp750_t *mp; + uint8_t *buf; + + mp = (mp750_t *) calloc (1, sizeof (*mp)); + if (!mp) + return PIXMA_ENOMEM; + + buf = (uint8_t *) malloc (CMDBUF_SIZE); + if (!buf) + { + free (mp); + return PIXMA_ENOMEM; + } + + s->subdriver = mp; + mp->state = state_idle; + + /* ofs: 0 1 2 3 4 5 6 7 8 9 + cmd: cmd1 cmd2 00 00 00 00 00 00 00 00 + data length-^^^^^ => cmd_len_field_ofs + |--------- cmd_header_len --------| + + res: res1 res2 + |---------| res_header_len + */ + mp->cb.buf = buf; + mp->cb.size = CMDBUF_SIZE; + mp->cb.res_header_len = 2; + mp->cb.cmd_header_len = 10; + mp->cb.cmd_len_field_ofs = 7; + + handle_interrupt (s, 200); + workaround_first_command (s); + return 0; +} + +static void +mp750_close (pixma_t * s) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + + mp750_finish_scan (s); + free (mp->cb.buf); + free (mp); + s->subdriver = NULL; +} + +static int +mp750_check_param (pixma_t * s, pixma_scan_param_t * sp) +{ + unsigned raw_width; + + UNUSED (s); + + sp->depth = 8; /* FIXME: Does MP750 supports other depth? */ + + /* GH: my implementation */ + /* if ((sp->channels == 3) || (is_ccd_grayscale (s))) + raw_width = ALIGN_SUP (sp->w, 4); + else + raw_width = ALIGN_SUP (sp->w, 12);*/ + + /* the above code gives segmentation fault?!? why... it seems to work in the mp750_scan function */ + raw_width = ALIGN_SUP (sp->w, 4); + + /*sp->line_size = raw_width * sp->channels;*/ + sp->line_size = raw_width * sp->channels * (sp->depth / 8); /* no cropping? */ + return 0; +} + +static int +mp750_scan (pixma_t * s) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + int error; + uint8_t *buf; + unsigned size, dpi, spare; + + dpi = s->param->ydpi; + /* add a stripe shift for 2400dpi */ + mp->stripe_shift = (dpi == 2400) ? 4 : 0; + + if (mp->state != state_idle) + return PIXMA_EBUSY; + + /* clear interrupt packets buffer */ + while (handle_interrupt (s, 0) > 0) + { + } + + /* if (s->param->channels == 1) + mp->raw_width = ALIGN_SUP (s->param->w, 12); + else + mp->raw_width = ALIGN_SUP (s->param->w, 4);*/ + + /* change to use CCD grayscale mode --- why does this give segmentation error at runtime in mp750_check_param? */ + if ((s->param->channels == 3) || (is_ccd_grayscale (s))) + mp->raw_width = ALIGN_SUP (s->param->w, 4); + else + mp->raw_width = ALIGN_SUP (s->param->w, 12); + /* not sure about MP750, but there is no need for aligning at 12 for the MP760/770, MP780/790 since always use CCD color mode */ + + /* modify for stripe shift */ + spare = 2 * calc_component_shifting (s) + 2 * mp->stripe_shift; /* FIXME: or maybe (2*... + 1)? */ + mp->raw_height = s->param->h + spare; + PDBG (pixma_dbg (3, "raw_width=%u raw_height=%u dpi=%u\n", + mp->raw_width, mp->raw_height, dpi)); + + /* PDBG (pixma_dbg (4, "line_size=%"PRIu64"\n",s->param->line_size)); */ + + mp->line_size = get_cis_ccd_line_size (s); /* scanner hardware line_size multiplied by 3 for CCD grayscale */ + + size = 8 + 2 * IMAGE_BLOCK_SIZE + spare * mp->line_size; + buf = (uint8_t *) malloc (size); + if (!buf) + return PIXMA_ENOMEM; + mp->buf = buf; + mp->rawimg = buf; + mp->imgbuf_ofs = spare * mp->line_size; + mp->imgcol = mp->rawimg + IMAGE_BLOCK_SIZE + 8; /* added to make rgb->gray */ + mp->img = mp->rawimg + IMAGE_BLOCK_SIZE + 8; + mp->imgbuf_len = IMAGE_BLOCK_SIZE + mp->imgbuf_ofs; + mp->rawimg_left = 0; + mp->last_block_size = 0; + mp->shifted_bytes = -(int) mp->imgbuf_ofs; + + error = step1 (s); + if (error >= 0) + error = start_session (s); + if (error >= 0) + mp->state = state_warmup; + if (error >= 0) + error = select_source (s); + if (error >= 0) + error = send_scan_param (s); + if (error < 0) + { + mp750_finish_scan (s); + return error; + } + return 0; +} + + +static int +mp750_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) +{ + mp750_t *mp = (mp750_t *) s->subdriver; + int error; + uint8_t info; + unsigned block_size, bytes_received, n; + int shift[3], base_shift; + int c; + + c = ((is_ccd_grayscale (s)) ? 3 : s->param->channels) * s->param->depth / 8; /* single-byte or double-byte data */ + + if (mp->state == state_warmup) + { + int tmo = 60; + + query_status (s); + check_status (s); + /*SIM*/ while (!is_calibrated (s) && --tmo >= 0) + { + if (s->cancel) + return PIXMA_ECANCELED; + if (handle_interrupt (s, 1000) > 0) + { + block_size = 0; + error = request_image_block (s, &block_size, &info); + /*SIM*/ if (error < 0) + return error; + } + } + if (tmo < 0) + { + PDBG (pixma_dbg (1, "WARNING: Timed out waiting for calibration\n")); + return PIXMA_ETIMEDOUT; + } + pixma_sleep (100000); + query_status (s); + if (is_warming_up (s) || !is_calibrated (s)) + { + PDBG (pixma_dbg (1, "WARNING: Wrong status: wup=%d cal=%d\n", + is_warming_up (s), is_calibrated (s))); + return PIXMA_EPROTO; + } + block_size = 0; + request_image_block (s, &block_size, &info); + /*SIM*/ mp->state = state_scanning; + mp->last_block = 0; + } + + /* TODO: Move to other place, values are constant. */ + base_shift = calc_component_shifting (s) * mp->line_size; + if (s->param->source == PIXMA_SOURCE_ADF) + { + shift[0] = 0; + shift[1] = -base_shift; + shift[2] = -2 * base_shift; + } + else + { + shift[0] = -2 * base_shift; + shift[1] = -base_shift; + shift[2] = 0; + } + + do + { + if (mp->last_block_size > 0) + { + block_size = mp->imgbuf_len - mp->last_block_size; + memcpy (mp->img, mp->img + mp->last_block_size, block_size); + } + + do + { + if (s->cancel) + return PIXMA_ECANCELED; + if (mp->last_block) + { + /* end of image */ + info = mp->last_block; + if (info != 0x38) + { + query_status (s); + /*SIM*/ while ((info & 0x28) != 0x28) + { + pixma_sleep (10000); + error = request_image_block2 (s, &info); + if (s->cancel) + return PIXMA_ECANCELED; /* FIXME: Is it safe to cancel here? */ + if (error < 0) + return error; + } + } + mp->needs_abort = (info != 0x38); + mp->last_block = info; + mp->state = state_finished; + return 0; + } + + check_status (s); + /*SIM*/ while (handle_interrupt (s, 1) > 0); + /*SIM*/ block_size = IMAGE_BLOCK_SIZE; + error = request_image_block (s, &block_size, &info); + if (error < 0) + { + if (error == PIXMA_ECANCELED) + read_error_info (s, NULL, 0); + return error; + } + mp->last_block = info; + if ((info & ~0x38) != 0) + { + PDBG (pixma_dbg (1, "WARNING: Unknown info byte %x\n", info)); + } + if (block_size == 0) + { + /* no image data at this moment. */ + pixma_sleep (10000); + } + } + while (block_size == 0); + + error = read_image_block (s, mp->rawimg + mp->rawimg_left); + if (error < 0) + { + mp->state = state_transfering; + return error; + } + bytes_received = error; + PASSERT (bytes_received == block_size); + + /* TODO: simplify! */ + mp->rawimg_left += bytes_received; + n = mp->rawimg_left / 3; + /* n = number of pixels in the buffer? */ + + /* Color to Grayscale converion for CCD sensor */ + if (is_ccd_grayscale (s)) { + shift_rgb (mp->rawimg, n, shift[0], shift[1], shift[2], mp->stripe_shift, mp->line_size, + mp->imgcol + mp->imgbuf_ofs); + /* dst: img, src: imgcol */ + rgb_to_gray (mp->img, mp->imgcol, n, c); /* cropping occurs later? */ + PDBG (pixma_dbg (4, "*fill_buffer: did grayscale conversion \n")); + } + /* Color image processing */ + else { + shift_rgb (mp->rawimg, n, shift[0], shift[1], shift[2], mp->stripe_shift, mp->line_size, + mp->img + mp->imgbuf_ofs); + PDBG (pixma_dbg (4, "*fill_buffer: no grayscale conversion---keep color \n")); + } + + /* entering remaining unprocessed bytes after last complete pixel into mp->rawimg buffer -- no influence on mp->img */ + n *= 3; + mp->shifted_bytes += n; + mp->rawimg_left -= n; /* rawimg_left = 0, 1 or 2 bytes left in the buffer. */ + mp->last_block_size = n; + memcpy (mp->rawimg, mp->rawimg + n, mp->rawimg_left); + + } + while (mp->shifted_bytes <= 0); + + if ((unsigned) mp->shifted_bytes < mp->last_block_size) + { + if (is_ccd_grayscale (s)) + ib->rptr = mp->img + mp->last_block_size/3 - mp->shifted_bytes/3; /* testing---works OK */ + else + ib->rptr = mp->img + mp->last_block_size - mp->shifted_bytes; + } + else + ib->rptr = mp->img; + if (is_ccd_grayscale (s)) + ib->rend = mp->img + mp->last_block_size/3; /* testing---works OK */ + else + ib->rend = mp->img + mp->last_block_size; + return ib->rend - ib->rptr; +} + +static void +mp750_finish_scan (pixma_t * s) +{ + int error; + mp750_t *mp = (mp750_t *) s->subdriver; + + switch (mp->state) + { + case state_transfering: + drain_bulk_in (s); + /* fall through */ + case state_scanning: + case state_warmup: + error = abort_session (s); + if (error == PIXMA_ECANCELED) + read_error_info (s, NULL, 0); + /* fall through */ + case state_finished: + if (s->param->source == PIXMA_SOURCE_FLATBED) + { + /*SIM*/ query_status (s); + if (abort_session (s) == PIXMA_ECANCELED) + { + read_error_info (s, NULL, 0); + query_status (s); + } + } + query_status (s); + /*SIM*/ activate (s, 0); + if (mp->needs_abort) + { + mp->needs_abort = 0; + abort_session (s); + } + free (mp->buf); + mp->buf = mp->rawimg = NULL; + mp->state = state_idle; + /* fall through */ + case state_idle: + break; + } +} + +static void +mp750_wait_event (pixma_t * s, int timeout) +{ + /* FIXME: timeout is not correct. See usbGetCompleteUrbNoIntr() for + * instance. */ + while (s->events == 0 && handle_interrupt (s, timeout) > 0) + { + } +} + +static int +mp750_get_status (pixma_t * s, pixma_device_status_t * status) +{ + int error; + + error = query_status (s); + if (error < 0) + return error; + status->hardware = PIXMA_HARDWARE_OK; + status->adf = (has_paper (s)) ? PIXMA_ADF_OK : PIXMA_ADF_NO_PAPER; + status->cal = + (is_calibrated (s)) ? PIXMA_CALIBRATION_OK : PIXMA_CALIBRATION_OFF; + status->lamp = (is_warming_up (s)) ? PIXMA_LAMP_WARMING_UP : PIXMA_LAMP_OK; + return 0; +} + + +static const pixma_scan_ops_t pixma_mp750_ops = { + mp750_open, + mp750_close, + mp750_scan, + mp750_fill_buffer, + mp750_finish_scan, + mp750_wait_event, + mp750_check_param, + mp750_get_status +}; + +#define DEVICE(name, model, pid, dpi, cap) { \ + name, /* name */ \ + model, /* model */ \ + 0x04a9, pid, /* vid pid */ \ + 0, /* iface */ \ + &pixma_mp750_ops, /* ops */ \ + 0, /* min_xdpi not used in this subdriver */ \ + dpi, 2*(dpi), /* xdpi, ydpi */ \ + 0, 0, /* adftpu_min_dpi & adftpu_max_dpi not used in this subdriver */ \ + 0, 0, /* tpuir_min_dpi & tpuir_max_dpi not used in this subdriver */ \ + 637, 877, /* width, height */ \ + PIXMA_CAP_CCD| /* all scanners with CCD */ \ + PIXMA_CAP_GRAY|PIXMA_CAP_EVENTS|cap \ +} + +const pixma_config_t pixma_mp750_devices[] = { + DEVICE ("Canon PIXMA MP750", "MP750", MP750_PID, 2400, PIXMA_CAP_ADF), + DEVICE ("Canon PIXMA MP760/770", "MP760/770", MP760_PID, 2400, PIXMA_CAP_TPU), + DEVICE ("Canon PIXMA MP780/790", "MP780/790", MP780_PID, 2400, PIXMA_CAP_ADF), + DEVICE (NULL, NULL, 0, 0, 0) +}; diff --git a/backend/pixma/pixma_mp800.c b/backend/pixma/pixma_mp800.c new file mode 100644 index 0000000..feef611 --- /dev/null +++ b/backend/pixma/pixma_mp800.c @@ -0,0 +1,2434 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2011-2019 Rolf Bensch + Copyright (C) 2007-2009 Nicolas Martin, + Copyright (C) 2006-2007 Wittawat Yamwong + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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. + */ +/* test cases + 1. short USB packet (must be no -ETIMEDOUT) + 2. cancel using button on the printer (look for abort command) + 3. start scan while busy (status 0x1414) + 4. cancel using ctrl-c (must send abort command) + */ + +#define TPU_48 /* uncomment to activate TPU scan at 48 bits */ +/*#define DEBUG_TPU_48*//* uncomment to debug 48 bits TPU on a non TPU device */ +/*#define DEBUG_TPU_24*//* uncomment to debug 24 bits TPU on a non TPU device */ + +/*#define TPUIR_USE_RGB*/ /* uncomment to use RGB channels and convert them to gray; otherwise use R channel only */ + +#include "../include/sane/config.h" + +#include +#include +#include +#include /* localtime(C90) */ + +#include "pixma_rename.h" +#include "pixma_common.h" +#include "pixma_io.h" + +/* Some macro code to enhance readability */ +#define RET_IF_ERR(x) do { \ + if ((error = (x)) < 0) \ + return error; \ + } while(0) + +#define WAIT_INTERRUPT(x) do { \ + error = handle_interrupt (s, x); \ + if (s->cancel) \ + return PIXMA_ECANCELED; \ + if (error != PIXMA_ECANCELED && error < 0) \ + return error; \ + } while(0) + +#ifdef __GNUC__ +# define UNUSED(v) (void) v +#else +# define UNUSED(v) +#endif + +/* Size of the command buffer should be multiple of wMaxPacketLength and + greater than 4096+24. + 4096 = size of gamma table. 24 = header + checksum */ +#define IMAGE_BLOCK_SIZE (512*1024) +#define CMDBUF_SIZE (4096 + 24) +#define DEFAULT_GAMMA 2.0 /***** Gamma different from 1.0 is potentially impacting color profile generation *****/ +#define UNKNOWN_PID 0xffff + +#define CANON_VID 0x04a9 + +/* Generation 1 */ +#define MP800_PID 0x170d +#define MP800R_PID 0x170e +#define MP830_PID 0x1713 + +/* Generation 2 */ +#define MP810_PID 0x171a +#define MP960_PID 0x171b + +/* Generation 3 */ +/* PIXMA 2007 vintage */ +#define MP970_PID 0x1726 + +/* Flatbed scanner CCD (2007) */ +#define CS8800F_PID 0x1901 + +/* PIXMA 2008 vintage */ +#define MP980_PID 0x172d + +/* Generation 4 */ +#define MP990_PID 0x1740 + +/* Flatbed scanner CCD (2010) */ +#define CS9000F_PID 0x1908 + +/* 2010 new device (untested) */ +#define MG8100_PID 0x174b /* CCD */ + +/* 2011 new device (untested) */ +#define MG8200_PID 0x1756 /* CCD */ + +/* 2013 new device */ +#define CS9000F_MII_PID 0x190d + +/* Generation 4 XML messages that encapsulates the Pixma protocol messages */ +#define XML_START_1 \ +"\ +\ +StartJob\ +00000001\ +1" + +#define XML_START_2 \ +"\ +\ +VendorCmd\ +00000001\ +ModeShift1\ +" + +#define XML_END \ +"\ +\ +EndJob\ +00000001\ +" + +#define XML_OK "OK" + +enum mp810_state_t +{ + state_idle, + state_warmup, + state_scanning, + state_transfering, + state_finished +}; + +enum mp810_cmd_t +{ + cmd_start_session = 0xdb20, + cmd_select_source = 0xdd20, + cmd_gamma = 0xee20, + cmd_scan_param = 0xde20, + cmd_status = 0xf320, + cmd_abort_session = 0xef20, + cmd_time = 0xeb80, + cmd_read_image = 0xd420, + cmd_error_info = 0xff20, + + cmd_start_calibrate_ccd_3 = 0xd520, + cmd_end_calibrate_ccd_3 = 0xd720, + cmd_scan_param_3 = 0xd820, + cmd_scan_start_3 = 0xd920, + cmd_status_3 = 0xda20, + cmd_get_tpu_info_3 = 0xf520, + cmd_set_tpu_info_3 = 0xea20, + + cmd_e920 = 0xe920 /* seen in MP800 */ +}; + +typedef struct mp810_t +{ + enum mp810_state_t state; + pixma_cmdbuf_t cb; + uint8_t *imgbuf; + uint8_t current_status[16]; + unsigned last_block; + uint8_t generation; + /* for Generation 3 and CCD shift */ + uint8_t *linebuf; + uint8_t *data_left_ofs; + unsigned data_left_len; + int shift[3]; + unsigned color_shift; + unsigned stripe_shift; + unsigned stripe_shift2; /* added for MP810, MP960 at 4800dpi & 9000F at 9600dpi */ + unsigned jumplines; /* added for MP810, MP960 at 4800dpi & 9000F at 9600dpi */ + uint8_t tpu_datalen; + uint8_t tpu_data[0x40]; +} mp810_t; + +/* + STAT: 0x0606 = ok, + 0x1515 = failed (PIXMA_ECANCELED), + 0x1414 = busy (PIXMA_EBUSY) + + Transaction scheme + 1. command_header/data | result_header + 2. command_header | result_header/data + 3. command_header | result_header/image_data + + - data has checksum in the last byte. + - image_data has no checksum. + - data and image_data begins in the same USB packet as + command_header or result_header. + + command format #1: + u16be cmd + u8[6] 0 + u8[4] 0 + u32be PLEN parameter length + u8[PLEN-1] parameter + u8 parameter check sum + result: + u16be STAT + u8 0 + u8 0 or 0x21 if STAT == 0x1414 + u8[4] 0 + + command format #2: + u16be cmd + u8[6] 0 + u8[4] 0 + u32be RLEN result length + result: + u16be STAT + u8[6] 0 + u8[RLEN-1] result + u8 result check sum + + command format #3: (only used by read_image_block) + u16be 0xd420 + u8[6] 0 + u8[4] 0 + u32be max. block size + 8 + result: + u16be STAT + u8[6] 0 + u8 block info bitfield: 0x8 = end of scan, 0x10 = no more paper, 0x20 = no more data + u8[3] 0 + u32be ILEN image data size + u8[ILEN] image data + */ + +static void mp810_finish_scan (pixma_t * s); + +static int is_scanning_from_adf (pixma_t * s) +{ + return (s->param->source == PIXMA_SOURCE_ADF + || s->param->source == PIXMA_SOURCE_ADFDUP); +} + +static int is_scanning_from_adfdup (pixma_t * s) +{ + return (s->param->source == PIXMA_SOURCE_ADFDUP); +} + +static int is_scanning_from_tpu (pixma_t * s) +{ + return (s->param->source == PIXMA_SOURCE_TPU); +} + +static int send_xml_dialog (pixma_t * s, const char * xml_message) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + int datalen; + + datalen = pixma_cmd_transaction (s, xml_message, strlen (xml_message), + mp->cb.buf, 1024); + if (datalen < 0) + return datalen; + + mp->cb.buf[datalen] = 0; + + PDBG(pixma_dbg (10, "XML message sent to scanner:\n%s\n", xml_message)); + PDBG(pixma_dbg (10, "XML response back from scanner:\n%s\n", mp->cb.buf)); + + return (strcasestr ((const char *) mp->cb.buf, XML_OK) != NULL); +} + +static void new_cmd_tpu_msg (pixma_t *s, pixma_cmdbuf_t * cb, uint16_t cmd) +{ + pixma_newcmd (cb, cmd, 0, 0); + cb->buf[3] = (is_scanning_from_tpu (s)) ? 0x01 : 0x00; +} + +static int start_session (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + + new_cmd_tpu_msg (s, &mp->cb, cmd_start_session); + return pixma_exec (s, &mp->cb); +} + +static int start_scan_3 (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + + new_cmd_tpu_msg (s, &mp->cb, cmd_scan_start_3); + return pixma_exec (s, &mp->cb); +} + +static int send_cmd_start_calibrate_ccd_3 (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + + pixma_newcmd (&mp->cb, cmd_start_calibrate_ccd_3, 0, 0); + mp->cb.buf[3] = 0x01; + return pixma_exec (s, &mp->cb); +} + +static int is_calibrated (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + if (mp->generation >= 3) + { + return ((mp->current_status[0] & 0x01) == 1); + } + if (mp->generation == 1) + { + return (mp->current_status[8] == 1); + } + else + { + return (mp->current_status[9] == 1); + } +} + +static int has_paper (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + + if (is_scanning_from_adfdup (s)) + return (mp->current_status[1] == 0 || mp->current_status[2] == 0); + else + return (mp->current_status[1] == 0); +} + +static void drain_bulk_in (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + while (pixma_read (s->io, mp->imgbuf, IMAGE_BLOCK_SIZE) >= 0) + ; +} + +static int abort_session (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + return pixma_exec_short_cmd (s, &mp->cb, cmd_abort_session); +} + +static int send_cmd_e920 (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + return pixma_exec_short_cmd (s, &mp->cb, cmd_e920); +} + +static int select_source (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + uint8_t *data; + + data = pixma_newcmd (&mp->cb, cmd_select_source, 12, 0); + data[5] = ((mp->generation == 2) ? 1 : 0); + switch (s->param->source) + { + case PIXMA_SOURCE_FLATBED: + data[0] = 1; + data[1] = 1; + break; + + case PIXMA_SOURCE_ADF: + data[0] = 2; + data[5] = 1; + data[6] = 1; + break; + + case PIXMA_SOURCE_ADFDUP: + data[0] = 2; + data[5] = 3; + data[6] = 3; + break; + + case PIXMA_SOURCE_TPU: + data[0] = 4; + data[1] = 2; + break; + } + return pixma_exec (s, &mp->cb); +} + +static int send_get_tpu_info_3 (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + uint8_t *data; + int error; + + data = pixma_newcmd (&mp->cb, cmd_get_tpu_info_3, 0, 0x34); + RET_IF_ERR(pixma_exec (s, &mp->cb)); + memcpy (mp->tpu_data, data, 0x34); + return error; +} + +static int send_set_tpu_info (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + uint8_t *data; + + if (mp->tpu_datalen == 0) + return 0; + data = pixma_newcmd (&mp->cb, cmd_set_tpu_info_3, 0x34, 0); + memcpy (data, mp->tpu_data, 0x34); + return pixma_exec (s, &mp->cb); +} + +static int send_gamma_table (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + const uint8_t *lut = s->param->gamma_table; + uint8_t *data; + + if (mp->generation == 1) + { + data = pixma_newcmd (&mp->cb, cmd_gamma, 4096 + 8, 0); + data[0] = (s->param->channels == 3) ? 0x10 : 0x01; + pixma_set_be16 (0x1004, data + 2); + if (lut) + memcpy (data + 4, lut, 4096); + else + pixma_fill_gamma_table (DEFAULT_GAMMA, data + 4, 4096); + } + else + { + /* FIXME: Gamma table for 2nd generation: 1024 * uint16_le */ + data = pixma_newcmd (&mp->cb, cmd_gamma, 2048 + 8, 0); + data[0] = 0x10; + pixma_set_be16 (0x0804, data + 2); + if (lut) + { + int i; + for (i = 0; i < 1024; i++) + { + int j = (i << 2) + (i >> 8); + data[4 + 2 * i + 0] = lut[j]; + data[4 + 2 * i + 1] = lut[j]; + } + } + else + { + int i; + pixma_fill_gamma_table (DEFAULT_GAMMA, data + 4, 2048); + for (i = 0; i < 1024; i++) + { + int j = (i << 1) + (i >> 9); + data[4 + 2 * i + 0] = data[4 + j]; + data[4 + 2 * i + 1] = data[4 + j]; + } + } + } + return pixma_exec (s, &mp->cb); +} + +static unsigned calc_raw_width (const mp810_t * mp, + const pixma_scan_param_t * param) +{ + unsigned raw_width; + /* NOTE: Actually, we can send arbitary width to MP810. Lines returned + are always padded to multiple of 4 or 12 pixels. Is this valid for + other models, too? */ + if (mp->generation >= 2) + { + raw_width = ALIGN_SUP (param->w + param->xs, 32); + /* PDBG (pixma_dbg (4, "*calc_raw_width***** width %u extended by %u and rounded to %u *****\n", param->w, param->xs, raw_width)); */ + } + else if (param->channels == 1) + { + raw_width = ALIGN_SUP (param->w + param->xs, 12); + } + else + { + raw_width = ALIGN_SUP (param->w + param->xs, 4); + } + return raw_width; +} + +static int has_ccd_sensor (pixma_t * s) +{ + return ((s->cfg->cap & PIXMA_CAP_CCD) != 0); +} + +#if 0 +static int is_color (pixma_t * s) +{ + return (s->param->mode == PIXMA_SCAN_MODE_COLOR); +} + +static int is_color_48 (pixma_t * s) +{ + return (s->param->mode == PIXMA_SCAN_MODE_COLOR_48); +} + +static int is_color_negative (pixma_t * s) +{ + return (s->param->mode == PIXMA_SCAN_MODE_NEGATIVE_COLOR); +} + +static int is_color_all (pixma_t * s) +{ + return (is_color (s) || is_color_48 (s) || is_color_negative (s)); +} +#endif + +static int is_gray (pixma_t * s) +{ + return (s->param->mode == PIXMA_SCAN_MODE_GRAY); +} + +static int is_gray_16 (pixma_t * s) +{ + return (s->param->mode == PIXMA_SCAN_MODE_GRAY_16); +} + +static int is_gray_negative (pixma_t * s) +{ + return (s->param->mode == PIXMA_SCAN_MODE_NEGATIVE_GRAY); +} + +static int is_gray_all (pixma_t * s) +{ + return (is_gray (s) || is_gray_16 (s) || is_gray_negative (s)); +} + +static int is_lineart (pixma_t * s) +{ + return (s->param->mode == PIXMA_SCAN_MODE_LINEART); +} + +static int is_tpuir (pixma_t * s) +{ + return (s->param->mode == PIXMA_SCAN_MODE_TPUIR); +} + +/* CCD sensors don't have neither a Grayscale mode nor a Lineart mode, + * but use color mode instead */ +static unsigned get_cis_ccd_line_size (pixma_t * s) +{ + return (( + s->param->wx ? s->param->line_size / s->param->w * s->param->wx + : s->param->line_size) + * ((is_tpuir (s) || is_gray_all (s) || is_lineart (s)) ? 3 : 1)); +} + +static unsigned calc_shifting (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + + /* If stripes shift needed (CCD devices), how many pixels shift */ + mp->stripe_shift = 0; + mp->stripe_shift2 = 0; + mp->jumplines = 0; + + switch (s->cfg->pid) + { + case MP800_PID: + case MP800R_PID: + case MP830_PID: + if (s->param->xdpi == 2400) + { + if (is_scanning_from_tpu(s)) + mp->stripe_shift = 6; + else + mp->stripe_shift = 3; + } + if (s->param->ydpi > 75) + { + mp->color_shift = s->param->ydpi / ((s->param->ydpi < 1200) ? 150 : 75); + + if (is_scanning_from_tpu (s)) + mp->color_shift = s->param->ydpi / 75; + + /* If you're trying to decipher this color-shifting code, + the following line is where the magic is revealed. */ + mp->shift[1] = mp->color_shift * get_cis_ccd_line_size (s); + if (is_scanning_from_adf (s)) + { /* ADF */ + mp->shift[0] = 0; + mp->shift[2] = 2 * mp->shift[1]; + } + else + { /* Flatbed or TPU */ + mp->shift[0] = 2 * mp->shift[1]; + mp->shift[2] = 0; + } + } + break; + + case MP970_PID: /* MP970 at 4800 dpi */ + case CS8800F_PID: /* CanoScan 8800F at 4800 dpi */ + if (s->param->xdpi == 4800) + { + if (is_scanning_from_tpu (s)) + mp->stripe_shift = 6; + else + mp->stripe_shift = 3; + } + break; + + case CS9000F_PID: /* CanoScan 9000F at 4800 dpi */ + case CS9000F_MII_PID: + if (s->param->xdpi == 4800) + { + if (is_scanning_from_tpu (s)) + mp->stripe_shift = 6; /* should work for CS9000F same as manual */ + else + mp->stripe_shift = 3; + } + if (s->param->xdpi == 9600) + { + if (is_scanning_from_tpu (s)) + { + /* need to double up for TPU */ + mp->stripe_shift = 6; /* for 1st set of 4 images */ + /* unfortunately there are 2 stripe shifts */ + mp->stripe_shift2 = 6; /* for 2nd set of 4 images */ + mp->jumplines = 32; /* try 33 or 34 */ + } + /* there is no 9600dpi support in flatbed mode */ + } + break; + + case MP960_PID: + if (s->param->xdpi == 2400) + { + if (is_scanning_from_tpu (s)) + mp->stripe_shift = 6; + else + mp->stripe_shift = 3; + } + if (s->param->xdpi == 4800) + { + if (is_scanning_from_tpu (s)) + { + mp->stripe_shift = 6; + mp->stripe_shift2 = 6; + } + else + { + mp->stripe_shift = 3; + mp->stripe_shift2 = 3; + } + mp->jumplines = 33; /* better than 32 or 34 : applies to flatbed & TPU */ + } + break; + + case MP810_PID: + if (s->param->xdpi == 2400) + { + if (is_scanning_from_tpu (s)) + mp->stripe_shift = 6; + else + mp->stripe_shift = 3; + } + if (s->param->xdpi == 4800) + { + if (is_scanning_from_tpu (s)) + { + mp->stripe_shift = 6; + mp->stripe_shift2 = 6; + } + else + { + mp->stripe_shift = 3; + mp->stripe_shift2 = 3; + } + mp->jumplines = 33; /* better than 32 or 34 : applies to flatbed & TPU */ + } + break; + + case MP990_PID: + if (s->param->xdpi == 4800) + { + if (is_scanning_from_tpu (s)) + { + mp->stripe_shift = 6; + mp->stripe_shift2 = 6; + } + else + { + mp->stripe_shift = 3; + mp->stripe_shift2 = 3; + } + mp->jumplines = 34; /* better than 32 or 34 : applies to flatbed & TPU */ + } + break; + + default: /* Default, and all CIS devices */ + break; + } + /* If color plane shift (CCD devices), how many pixels shift */ + mp->color_shift = mp->shift[0] = mp->shift[1] = mp->shift[2] = 0; + if (s->param->ydpi > 75) + { + switch (s->cfg->pid) + { + case MP970_PID: + case CS8800F_PID: /* CanoScan 8800F */ + mp->color_shift = s->param->ydpi / 50; + mp->shift[1] = mp->color_shift * get_cis_ccd_line_size (s); + mp->shift[0] = 0; + mp->shift[2] = 2 * mp->shift[1]; + break; + + case CS9000F_PID: /* CanoScan 9000F */ + case CS9000F_MII_PID: + mp->color_shift = s->param->ydpi / 30; + mp->shift[1] = mp->color_shift * get_cis_ccd_line_size (s); + mp->shift[0] = 0; + mp->shift[2] = 2 * mp->shift[1]; + break; + + case MP980_PID: + case MP990_PID: + case MG8200_PID: + if (s->param->ydpi > 150) + { + mp->color_shift = s->param->ydpi / 75; + mp->shift[1] = mp->color_shift * get_cis_ccd_line_size (s); + mp->shift[0] = 0; + mp->shift[2] = 2 * mp->shift[1]; + } + break; + + case MP810_PID: + case MP960_PID: + mp->color_shift = s->param->ydpi / 50; + if (is_scanning_from_tpu (s)) + mp->color_shift = s->param->ydpi / 50; + mp->shift[1] = mp->color_shift * get_cis_ccd_line_size (s); + mp->shift[0] = 2 * mp->shift[1]; + mp->shift[2] = 0; + break; + + default: + break; + } + } + /* special settings for 16 bit flatbed mode @ 75 dpi + * minimum of 150 dpi is used yet */ + /* else if (!is_scanning_from_tpu (s)) + { + switch (s->cfg->pid) + { + case CS9000F_PID: + case CS9000F_MII_PID: + if (is_color_48 (s) || is_gray_16 (s)) + { + mp->color_shift = 5; + mp->shift[1] = 0; + mp->shift[0] = 0; + mp->shift[2] = 0; + } + break; + } + } */ + /* PDBG (pixma_dbg (4, "*calc_shifing***** color_shift = %u, stripe_shift = %u, jumplines = %u *****\n", + mp->color_shift, mp->stripe_shift, mp->jumplines)); */ + return (2 * mp->color_shift + mp->stripe_shift + mp->jumplines); /* note impact of stripe shift2 later if needed! */ +} + +static int send_scan_param (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + uint8_t *data; + unsigned raw_width = calc_raw_width (mp, s->param); + unsigned h, h1, h2, shifting; + + /* TPU scan does not support lineart */ + if (is_scanning_from_tpu (s) && is_lineart (s)) + { + return PIXMA_ENOTSUP; + } + + shifting = calc_shifting (s); + h1 = s->param->h + shifting; /* add lines for color shifting */ + /* PDBG (pixma_dbg (4, "* send_scan_param: height calc (choose lesser) 1 %u \n", h1 )); */ + if (mp->generation >= 4) /* use most global condition */ + { + /* tested for MP960, 9000F */ + /* add lines for color shifting */ + /* otherwise you cannot scan all lines defined for flatbed mode */ + /* this shouldn't affect TPU mode */ + h2 = s->cfg->height * s->param->ydpi / 75 + shifting; + /* PDBG (pixma_dbg (4, "* send_scan_param: height calc (choose lesser) 2 %u = %u max. lines for scanner + %u lines for color shifting \n", h2, s->cfg->height * s->param->ydpi / 75, shifting )); */ + } + else + { + /* TODO: Check for other scanners. */ + h2 = s->cfg->height * s->param->ydpi / 75; /* this might be causing problems for generation 1 devices */ + /* PDBG (pixma_dbg (4, "* send_scan_param: height calc (choose lesser) 2 %u \n", h2 )); */ + } + h = MIN (h1, h2); + + if (mp->generation <= 2) + { + data = pixma_newcmd (&mp->cb, cmd_scan_param, 0x30, 0); + pixma_set_be16 (s->param->xdpi | 0x8000, data + 0x04); + pixma_set_be16 (s->param->ydpi | 0x8000, data + 0x06); + pixma_set_be32 (s->param->x, data + 0x08); + if (mp->generation == 2) + pixma_set_be32 (s->param->x - s->param->xs, data + 0x08); + pixma_set_be32 (s->param->y, data + 0x0c); + pixma_set_be32 (raw_width, data + 0x10); + pixma_set_be32 (h, data + 0x14); + data[0x18] = + ((s->param->channels != 1) || is_gray_all (s) || is_lineart (s)) ? + 0x08 : 0x04; + data[0x19] = ((s->param->software_lineart) ? 8 : s->param->depth) + * ((is_gray_all (s) || is_lineart (s)) ? 3 : s->param->channels); /* bits per pixel */ + data[0x1a] = (is_scanning_from_tpu (s) ? 1 : 0); + data[0x20] = 0xff; + data[0x23] = 0x81; + data[0x26] = 0x02; + data[0x27] = 0x01; + } + else + { + /* scan parameters: + * ================ + * + * byte | # of | mode | value / description + * | bytes | | + * -----+-------+---------+--------------------------- + * 0x00 | 1 | default | 0x01 + * | | adf | 0x02 + * | | tpu | 0x04 + * | | tpuir | cs9000f: 0x03 + * -----+-------+---------+--------------------------- + * 0x01 | 1 | default | 0x00 + * | | tpu | 0x02 + * -----+-------+---------+--------------------------- + * 0x02 | 1 | default | 0x01 + * | | adfdup | 0x03 + * -----+-------+---------+--------------------------- + * 0x03 | 1 | default | 0x00 + * | | adfdup | 0x03 + * -----+-------+---------+--------------------------- + * 0x04 | 1 | all | 0x00 + * -----+-------+---------+--------------------------- + * 0x05 | 1 | all | 0x01: This one also seen at 0. Don't know yet what's used for. + * -----+-------+---------+--------------------------- + * ... | 1 | all | 0x00 + * -----+-------+---------+--------------------------- + * 0x08 | 2 | all | xdpi | 0x8000 + * -----+-------+---------+--------------------------- + * 0x0a | 2 | all | ydpi | 0x8000: Must be the same as xdpi. + * -----+-------+---------+--------------------------- + * 0x0c | 4 | all | x position of start pixel + * -----+-------+---------+--------------------------- + * 0x10 | 4 | all | y position of start pixel + * -----+-------+---------+--------------------------- + * 0x14 | 4 | all | # of pixels in 1 line + * -----+-------+---------+--------------------------- + * 0x18 | 4 | all | # of scan lines + * -----+-------+---------+--------------------------- + * 0x1c | 1 | all | 0x08 + * | | | 0x04 = relict from cis scanners? + * -----+-------+---------+--------------------------- + * 0x1d | 1 | all | # of bits per pixel + * -----+-------+---------+--------------------------- + * 0x1e | 1 | default | 0x00: paper + * | | tpu | 0x01: positives + * | | tpu | 0x02: negatives + * | | tpuir | 0x01: positives + * -----+-------+---------+--------------------------- + * 0x1f | 1 | all | 0x01 + * | | | cs9000f: 0x00: Not sure if that is because of positives. + * -----+-------+---------+--------------------------- + * 0x20 | 1 | all | 0xff + * -----+-------+---------+--------------------------- + * 0x21 | 1 | all | 0x81 + * -----+-------+---------+--------------------------- + * 0x22 | 1 | all | 0x00 + * -----+-------+---------+--------------------------- + * 0x23 | 1 | all | 0x02 + * -----+-------+---------+--------------------------- + * 0x24 | 1 | all | 0x01 + * -----+-------+---------+--------------------------- + * 0x25 | 1 | default | 0x00; cs8800f: 0x01 + * | | tpu | 0x00; cs9000f, mg8200, mp990: 0x01 + * | | tpuir | cs9000f: 0x00 + * -----+-------+---------+--------------------------- + * ... | 1 | all | 0x00 + * -----+-------+---------+--------------------------- + * 0x30 | 1 | all | 0x01 + * + */ + + data = pixma_newcmd (&mp->cb, cmd_scan_param_3, 0x38, 0); + data[0x00] = is_scanning_from_adf (s) ? 0x02 : 0x01; + data[0x01] = 0x01; + if (is_scanning_from_tpu (s)) + { + data[0x00] = is_tpuir (s) ? 0x03 : 0x04; + data[0x01] = 0x02; + data[0x1e] = 0x02; /* NB: CanoScan 8800F: 0x02->negatives, 0x01->positives, paper->0x00 */ + } + data[0x02] = 0x01; + if (is_scanning_from_adfdup (s)) + { + data[0x02] = 0x03; + data[0x03] = 0x03; + } + if (s->cfg->pid != MG8200_PID) + data[0x05] = 0x01; /* This one also seen at 0. Don't know yet what's used for */ + /* the scanner controls the scan */ + /* no software control needed */ + pixma_set_be16 (s->param->xdpi | 0x8000, data + 0x08); + pixma_set_be16 (s->param->ydpi | 0x8000, data + 0x0a); + /*PDBG (pixma_dbg (4, "*send_scan_param***** Setting: xdpi=%hi ydpi=%hi x=%u y=%u w=%u h=%u ***** \n", + s->param->xdpi,s->param->ydpi,(s->param->x)-(s->param->xs),s->param->y,raw_width,h));*/ + pixma_set_be32 (s->param->x - s->param->xs, data + 0x0c); + pixma_set_be32 (s->param->y, data + 0x10); + pixma_set_be32 (raw_width, data + 0x14); + pixma_set_be32 (h, data + 0x18); + data[0x1c] = ((s->param->channels != 1) || is_tpuir (s) || is_gray_all (s) || is_lineart (s)) ? 0x08 : 0x04; + +#ifdef DEBUG_TPU_48 + data[0x1d] = 24; +#else + data[0x1d] = (is_scanning_from_tpu (s)) ? 48 + : (((s->param->software_lineart) ? 8 : s->param->depth) + * ((is_tpuir (s) || is_gray_all (s) || is_lineart (s)) ? 3 : s->param->channels)); /* bits per pixel */ +#endif + + data[0x1f] = 0x01; /* for 9000F this appears to be 0x00, not sure if that is because of positives */ + + if (s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID || s->cfg->pid == MG8200_PID) + { + data[0x1f] = 0x00; + } + + data[0x20] = 0xff; + data[0x21] = 0x81; + data[0x23] = 0x02; + data[0x24] = 0x01; + + /* MG8200 & MP990 addition */ + if (s->cfg->pid == MG8200_PID || s->cfg->pid == MP990_PID) + { + if (is_scanning_from_tpu (s)) + { + data[0x25] = 0x01; + } + } + + /* CS8800F & CS9000F addition */ + if (s->cfg->pid == CS8800F_PID || s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) + { + if (is_scanning_from_tpu (s)) + { /* TPU */ + /* 0x02->negatives, 0x01->positives, paper->0x00 + * no paper in TPU mode */ + if (s->param->mode == PIXMA_SCAN_MODE_NEGATIVE_COLOR + || s->param->mode == PIXMA_SCAN_MODE_NEGATIVE_GRAY) + { + PDBG( + pixma_dbg (4, "*send_scan_param***** TPU scan negatives *****\n")); + data[0x1e] = 0x02; + } + else + { + PDBG( + pixma_dbg (4, "*send_scan_param***** TPU scan positives *****\n")); + data[0x1e] = 0x01; + } + /* CS8800F: 0x00 for TPU color management */ + if (s->cfg->pid == CS8800F_PID) + data[0x25] = 0x00; + /* CS9000F: 0x01 for TPU */ + if (s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) + data[0x25] = 0x01; + if (s->param->mode == PIXMA_SCAN_MODE_TPUIR) + data[0x25] = 0x00; + } + else + { /* flatbed and ADF */ + /* paper->0x00 */ + data[0x1e] = 0x00; + /* CS8800F: 0x01 normally */ + if (s->cfg->pid == CS8800F_PID) + data[0x25] = 0x01; + /* CS9000F: 0x00 normally */ + if (s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) + data[0x25] = 0x00; + } + } + + data[0x30] = 0x01; + } + return pixma_exec (s, &mp->cb); +} + +static int query_status_3 (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + uint8_t *data; + int error, status_len; + + status_len = 8; + data = pixma_newcmd (&mp->cb, cmd_status_3, 0, status_len); + RET_IF_ERR(pixma_exec (s, &mp->cb)); + memcpy (mp->current_status, data, status_len); + return error; +} + +static int query_status (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + uint8_t *data; + int error, status_len; + + status_len = (mp->generation == 1) ? 12 : 16; + data = pixma_newcmd (&mp->cb, cmd_status, 0, status_len); + RET_IF_ERR(pixma_exec (s, &mp->cb)); + memcpy (mp->current_status, data, status_len); + PDBG( + pixma_dbg (3, "Current status: paper=%u cal=%u lamp=%u busy=%u\n", data[1], data[8], data[7], data[9])); + return error; +} + +#if 0 +static int send_time (pixma_t * s) +{ + /* Why does a scanner need a time? */ + time_t now; + struct tm *t; + uint8_t *data; + mp810_t *mp = (mp810_t *) s->subdriver; + + data = pixma_newcmd (&mp->cb, cmd_time, 20, 0); + pixma_get_time (&now, NULL); + t = localtime (&now); + strftime ((char *) data, 16, "%y/%m/%d %H:%M", t); + PDBG(pixma_dbg (3, "Sending time: '%s'\n", (char *) data)); + return pixma_exec (s, &mp->cb); +} +#endif + +/* TODO: Simplify this function. Read the whole data packet in one shot. */ +static int read_image_block (pixma_t * s, uint8_t * header, uint8_t * data) +{ + uint8_t cmd[16]; + mp810_t *mp = (mp810_t *) s->subdriver; + const int hlen = 8 + 8; + int error, datalen; + + memset (cmd, 0, sizeof(cmd)); + /* PDBG (pixma_dbg (4, "* read_image_block: last_block\n", mp->last_block)); */ + pixma_set_be16 (cmd_read_image, cmd); + if ((mp->last_block & 0x20) == 0) + pixma_set_be32 ((IMAGE_BLOCK_SIZE / 65536) * 65536 + 8, cmd + 0xc); + else + pixma_set_be32 (32 + 8, cmd + 0xc); + + mp->state = state_transfering; + mp->cb.reslen = pixma_cmd_transaction (s, cmd, sizeof(cmd), mp->cb.buf, 512); /* read 1st 512 bytes of image block */ + datalen = mp->cb.reslen; + if (datalen < 0) + return datalen; + + memcpy (header, mp->cb.buf, hlen); + /* PDBG (pixma_dbg (4, "* read_image_block: datalen %i\n", datalen)); */ + /* PDBG (pixma_dbg (4, "* read_image_block: hlen %i\n", hlen)); */ + if (datalen >= hlen) + { + datalen -= hlen; + memcpy (data, mp->cb.buf + hlen, datalen); + data += datalen; + if (mp->cb.reslen == 512) + { /* read the rest of the image block */ + error = pixma_read (s->io, data, IMAGE_BLOCK_SIZE - 512 + hlen); + RET_IF_ERR(error); + datalen += error; + } + } + + mp->state = state_scanning; + mp->cb.expected_reslen = 0; + RET_IF_ERR(pixma_check_result (&mp->cb)); + if (mp->cb.reslen < hlen) + return PIXMA_EPROTO; + return datalen; +} + +static int read_error_info (pixma_t * s, void *buf, unsigned size) +{ + unsigned len = 16; + mp810_t *mp = (mp810_t *) s->subdriver; + uint8_t *data; + int error; + + data = pixma_newcmd (&mp->cb, cmd_error_info, 0, len); + RET_IF_ERR(pixma_exec (s, &mp->cb)); + if (buf && len < size) + { + size = len; + /* NOTE: I've absolutely no idea what the returned data mean. */ + memcpy (buf, data, size); + error = len; + } + return error; +} + +/* + handle_interrupt() waits until it receives an interrupt packet or times out. + It calls send_time() and query_status() if necessary. Therefore, make sure + that handle_interrupt() is only called from a safe context for send_time() + and query_status(). + + Returns: + 0 timed out + 1 an interrupt packet received + PIXMA_ECANCELED interrupted by signal + <0 error + */ +static int handle_interrupt (pixma_t * s, int timeout) +{ + uint8_t buf[64]; /* check max. packet size with 'lsusb -v' for "EP 9 IN" */ + int len; + + len = pixma_wait_interrupt (s->io, buf, sizeof(buf), timeout); + if (len == PIXMA_ETIMEDOUT) + return 0; + if (len < 0) + return len; + if (len%16) /* len must be a multiple of 16 bytes */ + { + PDBG(pixma_dbg (1, "WARNING:unexpected interrupt packet length %d\n", len)); + return PIXMA_EPROTO; + } + + /* s->event = 0x0brroott + * b: button + * oo: original + * tt: target + * rr: scan resolution + * poll event with 'scanimage -A' */ + if (s->cfg->pid == MG8200_PID) + /* button no. in buf[7] + * size in buf[10] 01=A4; 02=Letter; 08=10x15; 09=13x18; 0b=auto + * format in buf[11] 01=JPEG; 02=TIFF; 03=PDF; 04=Kompakt-PDF + * dpi in buf[12] 01=75; 02=150; 03=300; 04=600 + * target = format; original = size; scan-resolution = dpi */ + { + if (buf[7] & 1) + s->events = PIXMA_EV_BUTTON1 | buf[11] | buf[10]<<8 | buf[12]<<16; /* color scan */ + if (buf[7] & 2) + s->events = PIXMA_EV_BUTTON2 | buf[11] | buf[10]<<8 | buf[12]<<16; /* b/w scan */ + } + else if (s->cfg->pid == CS8800F_PID + || s->cfg->pid == CS9000F_PID + || s->cfg->pid == CS9000F_MII_PID) + /* button no. in buf[1] + * target = button no. + * "Finish PDF" is Button-2, all others are Button-1 */ + { + if ((s->cfg->pid == CS8800F_PID && buf[1] == 0x70) + || (s->cfg->pid != CS8800F_PID && buf[1] == 0x50)) + s->events = PIXMA_EV_BUTTON2 | buf[1] >> 4; /* button 2 = cancel / end scan */ + else + s->events = PIXMA_EV_BUTTON1 | buf[1] >> 4; /* button 1 = start scan */ + } + else + /* button no. in buf[0] + * original in buf[0] + * target in buf[1] */ + { + /* More than one event can be reported at the same time. */ + if (buf[3] & 1) + /* FIXME: This function makes trouble with a lot of scanners + send_time (s); + */ + PDBG (pixma_dbg (1, "WARNING:send_time() disabled!\n")); + if (buf[9] & 2) + query_status (s); + + if (buf[0] & 2) + s->events = PIXMA_EV_BUTTON2 | buf[1] | ((buf[0] & 0xf0) << 4); /* b/w scan */ + if (buf[0] & 1) + s->events = PIXMA_EV_BUTTON1 | buf[1] | ((buf[0] & 0xf0) << 4); /* color scan */ + } + return 1; +} + +static int init_ccd_lamp_3 (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + uint8_t *data; + int error, status_len, tmo; + + status_len = 8; + RET_IF_ERR(query_status (s)); + RET_IF_ERR(query_status (s)); + RET_IF_ERR(send_cmd_start_calibrate_ccd_3 (s)); + RET_IF_ERR(query_status (s)); + tmo = 20; /* like Windows driver, CCD lamp adjustment */ + while (--tmo >= 0) + { + data = pixma_newcmd (&mp->cb, cmd_end_calibrate_ccd_3, 0, status_len); + RET_IF_ERR(pixma_exec (s, &mp->cb)); + memcpy (mp->current_status, data, status_len); + PDBG(pixma_dbg (3, "Lamp status: %u , timeout in: %u\n", data[0], tmo)); + if (mp->current_status[0] == 3 || !is_scanning_from_tpu (s)) + break; + WAIT_INTERRUPT(1000); + } + return error; +} + +static int wait_until_ready (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + int error, tmo = 60; + + RET_IF_ERR((mp->generation >= 3) ? query_status_3 (s) : query_status (s)); + while (!is_calibrated (s)) + { + WAIT_INTERRUPT(1000); + if (mp->generation >= 3) + RET_IF_ERR(query_status_3 (s)); + else if (s->cfg->pid == MP800R_PID) + RET_IF_ERR (query_status (s)); + if (--tmo == 0) + { + PDBG(pixma_dbg (1, "WARNING: Timed out in wait_until_ready()\n")); + PDBG(query_status (s)); + return PIXMA_ETIMEDOUT; + } + } + return 0; +} + +/* the RGB images are shifted by # of lines */ +/* the R image is shifted by colshift[0] */ +/* the G image is shifted by colshift[1] */ +/* the B image is shifted by colshift[2] */ +/* usually one of the RGB images must not be shifted */ +/* which one depends on the scanner */ +/* some scanners have an additional stripe shift */ +/* e.g. colshift[0]=0, colshift[1]=1, colshift[2]=2 */ +/* R image is OK: RGBRGBRGB... */ +/* ^^ ^^ ^^ */ +/* || || || */ +/* shift G image: RG|RG|RG|... */ +/* | | | */ +/* shift B image: RGBRGBRGB... */ +/* this doesn't affect the G and B images */ +/* G image will become the R image in the next run */ +/* B image will become the G image in the next run */ +/* the next line will become the B image in the next run */ +static uint8_t * +shift_colors (uint8_t * dptr, uint8_t * sptr, unsigned w, unsigned dpi, + unsigned pid, unsigned c, int * colshft, unsigned strshft) +{ + unsigned i, sr, sg, sb, st; + UNUSED(dpi); + UNUSED(pid); + sr = colshft[0]; + sg = colshft[1]; + sb = colshft[2]; + + /* PDBG (pixma_dbg (4, "*shift_colors***** c=%u, w=%i, sr=%u, sg=%u, sb=%u, strshft=%u ***** \n", + c, w, sr, sg, sb, strshft)); */ + + for (i = 0; i < w; i++) + { + /* stripes shift for MP970 at 4800 dpi, MP810 at 2400 dpi */ + st = (i % 2 == 0) ? strshft : 0; + + *sptr++ = *(dptr++ + sr + st); + if (c == 6) + *sptr++ = *(dptr++ + sr + st); + *sptr++ = *(dptr++ + sg + st); + if (c == 6) + *sptr++ = *(dptr++ + sg + st); + *sptr++ = *(dptr++ + sb + st); + if (c == 6) + *sptr++ = *(dptr++ + sb + st); + } + + return dptr; +} + +static uint8_t * +shift_colorsCS9000 (uint8_t * dptr, uint8_t * sptr, unsigned w, unsigned dpi, + unsigned pid, unsigned c, int * colshft, unsigned strshft, + unsigned strshft2, unsigned jump) + +{ + unsigned i, sr, sg, sb, st, st2; + UNUSED(dpi); + UNUSED(pid); + sr = colshft[0]; + sg = colshft[1]; + sb = colshft[2]; + + for (i = 0; i < w; i++) + { + if (i < (w / 2)) + { + /* stripes shift for 1st 4 images for Canoscan 9000F at 9600dpi */ + st = (i % 2 == 0) ? strshft : 0; + *sptr++ = *(dptr++ + sr + st); + if (c == 6) + *sptr++ = *(dptr++ + sr + st); + *sptr++ = *(dptr++ + sg + st); + if (c == 6) + *sptr++ = *(dptr++ + sg + st); + *sptr++ = *(dptr++ + sb + st); + if (c == 6) + *sptr++ = *(dptr++ + sb + st); + } + if (i >= (w / 2)) + { + /* stripes shift for 2nd 4 images for Canoscan 9000F at 9600dpi */ + st2 = (i % 2 == 0) ? strshft2 : 0; + *sptr++ = *(dptr++ + sr + jump + st2); + if (c == 6) + *sptr++ = *(dptr++ + sr + jump + st2); + *sptr++ = *(dptr++ + sg + jump + st2); + if (c == 6) + *sptr++ = *(dptr++ + sg + jump + st2); + *sptr++ = *(dptr++ + sb + jump + st2); + if (c == 6) + *sptr++ = *(dptr++ + sb + jump + st2); + } + } + return dptr; +} + +static uint8_t * +shift_colorsCS9000_4800 (uint8_t * dptr, uint8_t * sptr, unsigned w, + unsigned dpi, unsigned pid, unsigned c, int * colshft, + unsigned strshft, unsigned strshft2, unsigned jump) + +{ + unsigned i, sr, sg, sb, st2; + UNUSED(dpi); + UNUSED(pid); + UNUSED(strshft); + sr = colshft[0]; + sg = colshft[1]; + sb = colshft[2]; + + for (i = 0; i < w; i++) + { + /* stripes shift for 2nd 4 images + * for Canoscan 9000F with 16 bit flatbed scans at 4800dpi */ + st2 = (i % 2 == 0) ? strshft2 : 0; + *sptr++ = *(dptr++ + sr + jump + st2); + if (c == 6) + *sptr++ = *(dptr++ + sr + jump + st2); + *sptr++ = *(dptr++ + sg + jump + st2); + if (c == 6) + *sptr++ = *(dptr++ + sg + jump + st2); + *sptr++ = *(dptr++ + sb + jump + st2); + if (c == 6) + *sptr++ = *(dptr++ + sb + jump + st2); + } + return dptr; +} + +/* under some conditions some scanners have sub images in one line */ +/* e.g. doubled image, line size = 8 */ +/* line before reordering: px1 px3 px5 px7 px2 px4 px6 px8 */ +/* line after reordering: px1 px2 px3 px4 px5 px6 px7 px8 */ +static void reorder_pixels (uint8_t * linebuf, uint8_t * sptr, unsigned c, + unsigned n, unsigned m, unsigned w, + unsigned line_size) +{ + unsigned i; + + for (i = 0; i < w; i++) + { /* process complete line */ + memcpy (linebuf + c * (n * (i % m) + i / m), sptr + c * i, c); + } + memcpy (sptr, linebuf, line_size); +} + +/* special reorder matrix for mp960 */ +static void mp960_reorder_pixels (uint8_t * linebuf, uint8_t * sptr, unsigned c, + unsigned n, unsigned m, unsigned w, + unsigned line_size) +{ + unsigned i, i2; + + /* try and copy 2 px at once */ + for (i = 0; i < w; i++) + { /* process complete line */ + i2 = i % 2; + if (i < w / 2) + { + if (i2 == 0) + memcpy (linebuf + c * (n * ((i) % m) + ((i) / m)), sptr + c * i, c); + else + memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m)), sptr + c * i, c); + } + else + { + if (i2 == 0) + memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 1), sptr + c * i, c); + else + memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 1), sptr + c * i, c); + } + } + + memcpy (sptr, linebuf, line_size); +} + +/* special reorder matrix for mp970 */ +static void mp970_reorder_pixels (uint8_t * linebuf, uint8_t * sptr, unsigned c, + unsigned w, unsigned line_size) +{ + unsigned i, i8; + + for (i = 0; i < w; i++) + { /* process complete line */ + i8 = i % 8; + memcpy (linebuf + c * (i + i8 - ((i8 > 3) ? 7 : 0)), sptr + c * i, c); + } + memcpy (sptr, linebuf, line_size); +} + +/* special reorder matrix for CS9000F */ +static void cs9000f_initial_reorder_pixels (uint8_t * linebuf, uint8_t * sptr, + unsigned c, unsigned n, unsigned m, + unsigned w, unsigned line_size) +{ + unsigned i, i2; + + /* try and copy 2 px at once */ + for (i = 0; i < w; i++) + { /* process complete line */ + i2 = i % 2; + if (i < w / 8) + { + if (i2 == 0) + memcpy (linebuf + c * (n * ((i) % m) + ((i) / m)), sptr + c * i, c); + else + memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m)), sptr + c * i, c); + } + else if (i >= w / 8 && i < w / 4) + { + if (i2 == 0) + memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 1), sptr + c * i, c); + else + memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 1), sptr + c * i, c); + } + else if (i >= w / 4 && i < 3 * w / 8) + { + if (i2 == 0) + memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 2), sptr + c * i, c); + else + memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 2), sptr + c * i, c); + } + else if (i >= 3 * w / 8 && i < w / 2) + { + if (i2 == 0) + memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 3), sptr + c * i, c); + else + memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 3), sptr + c * i, c); + } + else if (i >= w / 2 && i < 5 * w / 8) + { + if (i2 == 0) + memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 4), sptr + c * i, c); + else + memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 4), sptr + c * i, c); + } + else if (i >= 5 * w / 8 && i < 3 * w / 4) + { + if (i2 == 0) + memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 5), sptr + c * i, c); + else + memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 5), sptr + c * i, c); + } + else if (i >= 3 * w / 4 && i < 7 * w / 8) + { + if (i2 == 0) + memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 6), sptr + c * i, c); + else + memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 6), sptr + c * i, c); + } + else + { + if (i2 == 0) + memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 7), sptr + c * i, c); + else + memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 7), sptr + c * i, c); + } + } + + memcpy (sptr, linebuf, line_size); +} + +/* CS9000F 9600dpi reorder: actually 4800dpi since each pixel is doubled */ +/* need to rearrange each sequence of 16 pairs of pixels as follows: */ +/* start px : 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 */ +/* before : p1a p1b p1c p1d p2a p2b p2c p2d p3a p3b p3c p3d p4a p4b p4c p4d */ +/* after : p1a p3a p1b p3b p1c p3c p1d p3d p2a p4a p2b p4b p2c p4c p2d p4d */ +/* start px : 0 16 2 18 4 20 6 22 8 24 10 26 12 28 14 30 */ +/* change : * * * * * * * * * * * * * * */ +/* no change: * * */ +/* so the 1st and the 3rd set are interleaved, followed by the 2nd and 4th sets interleaved */ +static void cs9000f_second_reorder_pixels (uint8_t * linebuf, uint8_t * sptr, + unsigned c, unsigned w, + unsigned line_size) +{ + unsigned i, i8; + static const int shifts[8] = + { 2, 4, 6, 8, -8, -6, -4, -2 }; + + for (i = 0; i < w; i += 2) + { /* process complete line */ + i8 = (i >> 1) & 0x7; + /* Copy 2 pixels at once */ + memcpy (linebuf + c * (i + shifts[i8]), sptr + c * i, c * 2); + } + + memcpy (sptr, linebuf, line_size); +} + +#ifndef TPU_48 +static unsigned +pack_48_24_bpc (uint8_t * sptr, unsigned n) +{ + unsigned i; + uint8_t *cptr, lsb; + static uint8_t offset = 0; + + cptr = sptr; + if (n % 2 != 0) + PDBG (pixma_dbg (3, "WARNING: misaligned image.\n")); + for (i = 0; i < n; i += 2) + { + /* offset = 1 + (offset % 3); */ + lsb = *sptr++; + *cptr++ = ((*sptr++) << offset) | lsb >> (8 - offset); + } + return (n / 2); +} +#endif + +/* This function deals both with PIXMA CCD sensors producing shifted color + * planes images, Grayscale CCD scan and Generation >= 3 high dpi images. + * Each complete line in mp->imgbuf is processed for shifting CCD sensor + * color planes, reordering pixels above 600 dpi for Generation >= 3, and + * converting to Grayscale for CCD sensors. */ +static unsigned post_process_image_data (pixma_t * s, pixma_imagebuf_t * ib) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + unsigned c, lines, line_size, n, m, cw, cx, reducelines; + uint8_t *sptr, *dptr, *gptr, *cptr; + unsigned /*color_shift, stripe_shift, stripe_shift2,*/ jumplines /*, height*/; + int test; + + /* For testers: */ + /* set this to 1 in order to get unprocessed images next to one another at 9600dpi */ + /* other resolutions should not be affected */ + /* set this to 2 if you want to see the same with jumplines=0 */ + test = 0; + jumplines = 0; + + c = ((is_tpuir (s) || is_gray_all (s) || is_lineart (s)) ? 3 : s->param->channels) + * ((s->param->software_lineart) ? 8 : s->param->depth) / 8; + cw = c * s->param->w; + cx = c * s->param->xs; + + /* PDBG (pixma_dbg (4, "*post_process_image_data***** c = %u, cw = %u, cx = %u *****\n", c, cw, cx)); */ + + if (mp->generation >= 3) + n = s->param->xdpi / 600; + else + /* FIXME: maybe need different values for CIS and CCD sensors */ + n = s->param->xdpi / 2400; + + /* Some exceptions to global rules here */ + if (s->cfg->pid == MP970_PID || s->cfg->pid == MP990_PID || s->cfg->pid == MG8200_PID + || s->cfg->pid == CS8800F_PID || s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) + n = MIN (n, 4); + + /* exception for 9600dpi on Canoscan 9000F */ + if ((s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) && (s->param->xdpi == 9600)) + { + n = 8; + if (test > 0) + n = 1; /* test if 8 images are next to one another */ + } + + /* test if 2 images are next to one another */ + if ((s->cfg->pid == MP960_PID) && (s->param->xdpi == 4800) && (test > 0)) + { + n = 1; + } + + m = (n > 0) ? s->param->wx / n : 1; + + sptr = dptr = gptr = cptr = mp->imgbuf; + line_size = get_cis_ccd_line_size (s); + /* PDBG (pixma_dbg (4, "*post_process_image_data***** ----- Set n=%u, m=%u, line_size=%u ----- ***** \n", n, m, line_size)); */ + /* PDBG (pixma_dbg (4, "*post_process_image_data***** ----- spr=dpr=%u, linebuf=%u ----- ***** \n", sptr, mp->linebuf)); */ + + lines = (mp->data_left_ofs - mp->imgbuf) / line_size; + /* PDBG (pixma_dbg (4, "*post_process_image_data***** lines = %i > 2 * mp->color_shift + mp->stripe_shift = %i ***** \n", + lines, 2 * mp->color_shift + mp->stripe_shift)); */ + /* PDBG (pixma_dbg (4, "*post_process_image_data***** mp->color_shift = %u, mp->stripe_shift = %u, , mp->stripe_shift2 = %u ***** \n", + mp->color_shift, mp->stripe_shift, mp->stripe_shift2)); */ + + /*color_shift = mp->color_shift;*/ + /*stripe_shift = mp->stripe_shift;*/ + /*stripe_shift2 = mp->stripe_shift2;*/ + jumplines = mp->jumplines; + + /* height not needed here! */ + /* removed to avoid confusion */ + /* height = MIN (s->param->h + calc_shifting (s), + s->cfg->height * s->param->ydpi / 75); */ + + /* have to test if rounding down is OK or not -- currently 0.5 lines is rounded down */ + /* note stripe shifts doubled already in definitions */ + if ((s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) && (s->param->xdpi == 9600) && (test > 0)) + { + /* using test==2 you can check in GIMP the required offset, and + use the below line (uncommented) and replace XXX with that + number, and then compile again with test set to 1. */ + + jumplines = 32; + if (test == 2) + jumplines = 0; + } + + /* mp960 test */ + if ((s->cfg->pid == MP960_PID) && (s->param->xdpi == 4800) && (test > 0)) + { + jumplines = 32; + if (test == 2) + jumplines = 0; + } + + reducelines = ((2 * mp->color_shift + mp->stripe_shift) + jumplines); + /* PDBG (pixma_dbg (4, "*post_process_image_data: lines %u, reducelines %u \n", lines, reducelines)); */ + if (lines > reducelines) + { /* (line - reducelines) of image lines can be converted */ + unsigned i; + + lines -= reducelines; + + for (i = 0; i < lines; i++, sptr += line_size) + { /* convert only full image lines */ + /* Color plane and stripes shift needed by e.g. CCD */ + /* PDBG (pixma_dbg (4, "*post_process_image_data***** Processing with c=%u, n=%u, m=%u, w=%i, line_size=%u ***** \n", + c, n, m, s->param->wx, line_size)); */ + if (c >= 3) + { + if (((s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) && (s->param->xdpi == 9600)) + || ((s->cfg->pid == MP960_PID) && (s->param->xdpi == 4800)) + || ((s->cfg->pid == MP810_PID) && (s->param->xdpi == 4800))) + { + dptr = shift_colorsCS9000 (dptr, sptr, s->param->wx, s->param->xdpi, + s->cfg->pid, c, mp->shift, + mp->stripe_shift, mp->stripe_shift2, + jumplines * line_size); + } + + else if ((s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) /* 9000F: 16 bit flatbed scan at 4800dpi */ + && ((s->param->mode == PIXMA_SCAN_MODE_COLOR_48) + || (s->param->mode == PIXMA_SCAN_MODE_GRAY_16)) + && (s->param->xdpi == 4800) + && (s->param->source == PIXMA_SOURCE_FLATBED)) + dptr = shift_colorsCS9000_4800 (dptr, sptr, s->param->wx, + s->param->xdpi, s->cfg->pid, c, + mp->shift, mp->stripe_shift, + mp->stripe_shift2, + jumplines * line_size); + + else + /* all except 9000F at 9600dpi */ + dptr = shift_colors (dptr, sptr, s->param->wx, s->param->xdpi, + s->cfg->pid, c, mp->shift, mp->stripe_shift); + } + + /*PDBG (pixma_dbg (4, "*post_process_image_data***** test = %i *****\n", test)); */ + + /*--comment out all between this line and the one below for 9000F tests at 9600dpi or MP960 at 4800dpi ------*/ + /* if ( 0 ) */ + if ((((s->cfg->pid != CS9000F_PID && s->cfg->pid != CS9000F_MII_PID) || (s->param->xdpi < 9600)) + && ((s->cfg->pid != MP960_PID) || (s->param->xdpi < 4800)) + && ((s->cfg->pid != MP810_PID) || (s->param->xdpi < 4800))) + || (test == 0)) + { + /* PDBG (pixma_dbg (4, "*post_process_image_data***** MUST GET HERE WHEN TEST == 0 *****\n")); */ + + if (!((s->cfg->pid == MP810_PID) && (s->param->xdpi == 4800)) + && !((s->cfg->pid == MP960_PID) && (s->param->xdpi == 4800)) + && !((s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) && (s->param->xdpi == 9600))) + { /* for both flatbed & TPU */ + /* PDBG (pixma_dbg (4, "*post_process_image_data***** reordering pixels normal n = %i *****\n", n)); */ + reorder_pixels (mp->linebuf, sptr, c, n, m, s->param->wx, line_size); + } + + if ((s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) && (s->param->xdpi == 9600)) + { + /* PDBG (pixma_dbg (4, "*post_process_image_data***** cs900f_initial_reorder_pixels n = %i *****\n", n)); */ + /* this combines pixels from 8 images 2px at a time from left to right: 1122334455667788... */ + cs9000f_initial_reorder_pixels (mp->linebuf, sptr, c, n, m, + s->param->wx, line_size); + /* final interleaving */ + cs9000f_second_reorder_pixels (mp->linebuf, sptr, c, s->param->wx, + line_size); + } + + /* comment: special image format for MP960 in flatbed mode + at 4800dpi. It is actually 2400dpi, with each pixel + doubled. The TPU mode has proper pixel ordering */ + if ((((s->cfg->pid == MP960_PID) || (s->cfg->pid == MP810_PID)) && (s->param->xdpi == 4800)) + && (n > 0)) + { + /* for both flatbed & TPU */ + /* PDBG (pixma_dbg (4, "*post_process_image_data***** flatbed mp960_reordering pixels n = %i *****\n", n)); */ + mp960_reorder_pixels (mp->linebuf, sptr, c, n, m, s->param->wx, + line_size); + } + + /* comment: MP970, CS8800F, CS9000F specific reordering for 4800 dpi */ + if ((s->cfg->pid == MP970_PID || s->cfg->pid == CS8800F_PID + || s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID + || s->cfg->pid == MP990_PID) && (s->param->xdpi == 4800)) + { + /*PDBG (pixma_dbg (4, "*post_process_image_data***** mp970_reordering pixels n = %i *****\n", n)); */ + mp970_reorder_pixels (mp->linebuf, sptr, c, s->param->wx, line_size); + } + + } + /*-------------------------------------------------------*/ + + /* PDBG (pixma_dbg (4, "*post_process_image_data: sptr=%u, dptr=%u \n", sptr, dptr)); */ + + /* Crop line to selected borders */ + memmove (cptr, sptr + cx, cw); + /* PDBG (pixma_dbg (4, "*post_process_image_data***** crop line: cx=%u, cw=%u ***** \n", cx, cw)); */ + + /* Color to Lineart convert for CCD sensor */ + if (is_lineart (s)) + cptr = gptr = pixma_binarize_line (s->param, gptr, cptr, s->param->w, c); +#ifndef TPUIR_USE_RGB + /* save IR only for CCD sensor */ + else if (is_tpuir (s)) + cptr = gptr = pixma_r_to_ir (gptr, cptr, s->param->w, c); + /* Color to Grayscale convert for CCD sensor */ + else if (is_gray_all (s)) +#else + /* IR *and* Color to Grayscale convert for CCD sensor */ + else if (is_tpuir (s) || is_gray_all (s)) +#endif + cptr = gptr = pixma_rgb_to_gray (gptr, cptr, s->param->w, c); + else + cptr += cw; + } + /* PDBG (pixma_dbg (4, "*post_process_image_data: sptr=%u, dptr=%u \n", sptr, dptr)); */ + } + ib->rptr = mp->imgbuf; + ib->rend = cptr; + return mp->data_left_ofs - sptr; /* # of non processed bytes */ + /* contains shift color data for new lines */ + /* and already received data for the next line */ +} + +static int mp810_open (pixma_t * s) +{ + mp810_t *mp; + uint8_t *buf; + + mp = (mp810_t *) calloc (1, sizeof(*mp)); + if (!mp) + return PIXMA_ENOMEM; + + buf = (uint8_t *) malloc (CMDBUF_SIZE + IMAGE_BLOCK_SIZE); + if (!buf) + { + free (mp); + return PIXMA_ENOMEM; + } + + s->subdriver = mp; + mp->state = state_idle; + + mp->cb.buf = buf; + mp->cb.size = CMDBUF_SIZE; + mp->cb.res_header_len = 8; + mp->cb.cmd_header_len = 16; + mp->cb.cmd_len_field_ofs = 14; + + mp->imgbuf = buf + CMDBUF_SIZE; + + /* General rules for setting Pixma protocol generation # */ + mp->generation = (s->cfg->pid >= MP810_PID) ? 2 : 1; + + if (s->cfg->pid >= MP970_PID) + mp->generation = 3; + + if (s->cfg->pid >= MP990_PID) + mp->generation = 4; + + /* And exceptions to be added here */ + if (s->cfg->pid == CS8800F_PID) + mp->generation = 3; + + if (s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) + mp->generation = 4; + + /* TPU info data setup */ + mp->tpu_datalen = 0; + + if (mp->generation < 4) + { + /* Canoscan 8800F ignores commands if not initialized */ + if (s->cfg->pid == CS8800F_PID) + abort_session (s); + else + { + query_status (s); + handle_interrupt (s, 200); + if (mp->generation == 3 && has_ccd_sensor (s)) + send_cmd_start_calibrate_ccd_3 (s); + } + } + return 0; +} + +static void mp810_close (pixma_t * s) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + + mp810_finish_scan (s); + free (mp->cb.buf); + free (mp); + s->subdriver = NULL; +} + +static int mp810_check_param (pixma_t * s, pixma_scan_param_t * sp) +{ + mp810_t *mp = (mp810_t *) s->subdriver; + unsigned w_max; + + /* PDBG (pixma_dbg (4, "*mp810_check_param***** Initially: channels=%u, depth=%u, x=%u, y=%u, w=%u, h=%u, xs=%u, wx=%u *****\n", + sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->h, sp->xs, sp->wx)); */ + + sp->channels = 3; + sp->software_lineart = 0; + switch (sp->mode) + { + /* standard scan modes + * 8 bit per channel in color and grayscale mode + * 16 bit per channel with TPU */ + case PIXMA_SCAN_MODE_GRAY: + case PIXMA_SCAN_MODE_NEGATIVE_GRAY: + case PIXMA_SCAN_MODE_TPUIR: + sp->channels = 1; + /* fall through */ + case PIXMA_SCAN_MODE_COLOR: + case PIXMA_SCAN_MODE_NEGATIVE_COLOR: + sp->depth = 8; +#ifdef TPU_48 +#ifndef DEBUG_TPU_48 + if (sp->source == PIXMA_SOURCE_TPU) +#endif + sp->depth = 16; /* TPU in 16 bits mode */ +#endif + break; + /* extended scan modes for 48 bit flatbed scanners + * 16 bit per channel in color and grayscale mode */ + case PIXMA_SCAN_MODE_GRAY_16: + sp->channels = 1; + sp->depth = 16; + break; + case PIXMA_SCAN_MODE_COLOR_48: + sp->channels = 3; + sp->depth = 16; + break; + /* software lineart + * 1 bit per channel */ + case PIXMA_SCAN_MODE_LINEART: + sp->software_lineart = 1; + sp->channels = 1; + sp->depth = 1; + break; + } + + /* for software lineart w must be a multiple of 8 + * I don't know why is_lineart(s) doesn't work here */ + if (sp->software_lineart == 1 && sp->w % 8) + { + sp->w += 8 - (sp->w % 8); + + /* do not exceed the scanner capability */ + w_max = s->cfg->width * s->cfg->xdpi / 75; + w_max -= w_max % 8; + if (sp->w > w_max) + sp->w = w_max; + } + + if (sp->source == PIXMA_SOURCE_TPU && !sp->tpu_offset_added) + { + unsigned fixed_offset_y; /* TPU offsets for CanoScan 8800F, or other CCD at 300dpi. */ + unsigned max_y; /* max TPU height for CS9000F at 75 dpi */ + + /* CanoScan 8800F and others adding an offset depending on resolution */ + /* CS9000F and others maximum TPU height */ + switch (s->cfg->pid) + { + case CS8800F_PID: + fixed_offset_y = 140; + max_y = MIN (740, s->cfg->height); + break; + case CS9000F_PID: + case CS9000F_MII_PID: + fixed_offset_y = 146; + max_y = MIN (740, s->cfg->height); + break; + default: + fixed_offset_y = 0; + max_y = s->cfg->height; + break; + } + + /* cropping y and h to scanable area */ + max_y *= (sp->ydpi) / 75; + sp->y = MIN(sp->y, max_y); + sp->h = MIN(sp->h, max_y - sp->y); + /* PDBG (pixma_dbg (4, "*mp810_check_param***** Cropping: y=%u, h=%u *****\n", + sp->y, sp->h)); */ + if (!sp->h) + return SANE_STATUS_INVAL; /* no lines */ + + /* Convert the offsets from 300dpi to actual resolution */ + fixed_offset_y = fixed_offset_y * (sp->xdpi) / 300; + + /* In TPU mode, the CS9000F appears to always subtract 146 from the + vertical starting position, but clamps its at 0. Therefore vertical + offsets 0 through 146 (@300 dpi) get all mapped onto the same + physical starting position: line 0. Then, starting from 147, the + offsets get mapped onto successive physical lines: + y line + 0 -> 0 + 1 -> 0 + 2 -> 0 + ... + 146 -> 0 + 147 -> 1 + 148 -> 2 + ... + Since a preview scan is typically made starting from y = 0, but + partial image scans usually start at y >> 147, this results in a + discontinuity in the y to line mapping, resulting in wrong offsets. + To prevent this, we must always add (at least) 146 to the y + offset before it is sent to the scanner. The scanner will then + map y = 0 (146) to the first line, y = 1 (147) to the second line, + and so on. Any distance that is then measured on the preview scan, + can be translated without any discontinuity. + + However, there is one complication: during a preview scan, which + normally covers the whole scan area of the scanner, we should _not_ + add the offset because it will result in a reduced number of lines + being returned (the scan height is clamped in + pixma_check_scan_param()). Since the frontend has no way of telling + that the scan area has been reduced, it would derive an incorrect + effective scan resolution, and any position calculations based on + this would therefore be inaccurate. + + To prevent this, we don't add the offset in case y = 0, which is + typically the case during a preview scan (the scanner effectively + adds the offset for us, see above). In that way we keep the + linearity and we don't affect the scan area during previews. + */ + + if (sp->y > 0) + sp->y += fixed_offset_y; + + /* Prevent repeated corrections as check_param may be called multiple times */ + sp->tpu_offset_added = 1; + } + + if (mp->generation >= 2) + { + /* mod 32 and expansion of the X scan limits */ + /* PDBG (pixma_dbg (4, "*mp810_check_param***** (gen>=2) xs=mod32 ----- Initially: x=%u, y=%u, w=%u, h=%u *****\n", sp->x, sp->y, sp->w, sp->h)); */ + sp->xs = (sp->x) % 32; + } + else + { + sp->xs = 0; + /* PDBG (pixma_dbg (4, "*mp810_check_param***** (else) xs=0 Selected origin, origin shift: %u, %u *****\n", sp->x, sp->xs)); */ + } + sp->wx = calc_raw_width (mp, sp); + sp->line_size = sp->w * sp->channels * (((sp->software_lineart) ? 8 : sp->depth) / 8); /* bytes per line per color after cropping */ + /* PDBG (pixma_dbg (4, "*mp810_check_param***** (else) Final scan width and line-size: %u, %"PRIu64" *****\n", sp->wx, sp->line_size)); */ + + /* highest res is 600, 2400, 4800 or 9600 dpi */ + { + uint8_t k; + + if ((sp->source == PIXMA_SOURCE_ADF || sp->source == PIXMA_SOURCE_ADFDUP) + && mp->generation >= 4) + /* ADF/ADF duplex mode: max scan res is 600 dpi, at least for generation 4 */ + k = sp->xdpi / MIN (sp->xdpi, 600); + else if (sp->source == PIXMA_SOURCE_TPU && sp->mode == PIXMA_SCAN_MODE_TPUIR) + /* TPUIR mode: max scan res is 2400 dpi */ + k = sp->xdpi / MIN (sp->xdpi, 2400); + else if (sp->source == PIXMA_SOURCE_TPU && (s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID)) + /* CS9000F in TPU mode */ + k = sp->xdpi / MIN (sp->xdpi, 9600); + else + /* default */ + k = sp->xdpi / MIN (sp->xdpi, 4800); + + sp->x /= k; + sp->xs /= k; + sp->y /= k; + sp->w /= k; + sp->wx /= k; + sp->h /= k; + sp->xdpi /= k; + sp->ydpi = sp->xdpi; + } + + /* lowest res is 75, 150, 300 or 600 dpi */ + { + uint8_t k; + + if (sp->source == PIXMA_SOURCE_TPU && sp->mode == PIXMA_SCAN_MODE_TPUIR) + /* TPUIR mode */ + k = MAX (sp->xdpi, 600) / sp->xdpi; + else if (sp->source == PIXMA_SOURCE_TPU + && ((mp->generation >= 3) || (s->cfg->pid == MP810_PID) || (s->cfg->pid == MP960_PID))) + /* TPU mode for generation 3+ scanners + * MP810, MP960 appear to have a 200dpi mode for low-res scans, not 150 dpi */ + k = MAX (sp->xdpi, 300) / sp->xdpi; + else if (sp->source == PIXMA_SOURCE_TPU + || sp->mode == PIXMA_SCAN_MODE_COLOR_48 || sp->mode == PIXMA_SCAN_MODE_GRAY_16) + /* TPU mode and 16 bit flatbed scans + * TODO: either the frontend (xsane) cannot handle 48 bit flatbed scans @ 75 dpi (prescan) + * or there is a bug in this subdriver */ + k = MAX (sp->xdpi, 150) / sp->xdpi; + else + /* default */ + k = MAX (sp->xdpi, 75) / sp->xdpi; + + sp->x *= k; + sp->xs *= k; + sp->y *= k; + sp->w *= k; + sp->wx *= k; + sp->h *= k; + sp->xdpi *= k; + sp->ydpi = sp->xdpi; + } + + /* PDBG (pixma_dbg (4, "*mp810_check_param***** Finally: channels=%u, depth=%u, x=%u, y=%u, w=%u, h=%u, xs=%u, wx=%u *****\n", + sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->h, sp->xs, sp->wx)); */ + + return 0; +} + +static int mp810_scan (pixma_t * s) +{ + int error = 0, tmo; + mp810_t *mp = (mp810_t *) s->subdriver; + + if (mp->state != state_idle) + return PIXMA_EBUSY; + + /* Generation 4: send XML dialog */ + if (mp->generation == 4 && s->param->adf_pageid == 0) + { + if (!send_xml_dialog (s, XML_START_1)) + return PIXMA_EPROTO; + if (!send_xml_dialog (s, XML_START_2)) + return PIXMA_EPROTO; + } + + /* clear interrupt packets buffer */ + while (handle_interrupt (s, 0) > 0) + { + } + + /* FIXME: Duplex ADF: check paper status only before odd pages (1,3,5,...). */ + if (is_scanning_from_adf (s)) + { + if ((error = query_status (s)) < 0) + return error; + tmo = 10; + while (!has_paper (s) && --tmo >= 0) + { + WAIT_INTERRUPT(1000); + PDBG(pixma_dbg (2, "No paper in ADF. Timed out in %d sec.\n", tmo)); + } + if (!has_paper (s)) + return PIXMA_ENO_PAPER; + } + + if (has_ccd_sensor (s) && (mp->generation <= 2)) + { + error = send_cmd_e920 (s); + switch (error) + { + case PIXMA_ECANCELED: + case PIXMA_EBUSY: + PDBG(pixma_dbg (2, "cmd e920 or d520 returned %s\n", pixma_strerror (error))); + /* fall through */ + case 0: + query_status (s); + break; + default: + PDBG(pixma_dbg (1, "WARNING: cmd e920 or d520 failed %s\n", pixma_strerror (error))); + return error; + } + tmo = 3; /* like Windows driver, CCD calibration ? */ + while (--tmo >= 0) + { + WAIT_INTERRUPT(1000); + PDBG(pixma_dbg (2, "CCD Calibration ends in %d sec.\n", tmo)); + } + /* pixma_sleep(2000000); */ + } + + tmo = 10; + if (s->param->adf_pageid == 0 || mp->generation <= 2) + { + error = start_session (s); + while (error == PIXMA_EBUSY && --tmo >= 0) + { + if (s->cancel) + { + error = PIXMA_ECANCELED; + break; + } + PDBG(pixma_dbg (2, "Scanner is busy. Timed out in %d sec.\n", tmo + 1)); + pixma_sleep (1000000); + error = start_session (s); + } + if (error == PIXMA_EBUSY || error == PIXMA_ETIMEDOUT) + { + /* The scanner maybe hangs. We try to empty output buffer of the + * scanner and issue the cancel command. */ + PDBG(pixma_dbg (2, "Scanner hangs? Sending abort_session command.\n")); + drain_bulk_in (s); + abort_session (s); + pixma_sleep (500000); + error = start_session (s); + } + if ((error >= 0) || (mp->generation >= 3)) + mp->state = state_warmup; + if ((error >= 0) && (mp->generation <= 2)) + error = select_source (s); + if ((error >= 0) && (mp->generation >= 3) && has_ccd_sensor (s)) + error = init_ccd_lamp_3 (s); + if ((error >= 0) && !is_scanning_from_tpu (s)) + { + int i; + /* FIXME: 48 bit flatbed scans don't need gamma tables + * the code below doesn't run */ + /*if (is_color_48 (s) || is_gray_16 (s)) + error = 0; + else*/ + for (i = (mp->generation >= 3) ? 3 : 1; i > 0 && error >= 0; i--) + error = send_gamma_table (s); + } + else if (error >= 0) /* in TPU mode, for gen 1, 2, and 3 */ + error = send_set_tpu_info (s); + } + else + /* ADF pageid != 0 and gen3 or above */ + pixma_sleep (1000000); + + if ((error >= 0) || (mp->generation >= 3)) + mp->state = state_warmup; + if (error >= 0) + error = send_scan_param (s); + if ((error >= 0) && (mp->generation >= 3)) + error = start_scan_3 (s); + if (error < 0) + { + mp->last_block = 0x38; /* Force abort session if ADF scan */ + mp810_finish_scan (s); + return error; + } + return 0; +} + +static int mp810_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) +{ + int error; + mp810_t *mp = (mp810_t *) s->subdriver; + unsigned block_size, bytes_received, proc_buf_size, line_size; + uint8_t header[16]; + + if (mp->state == state_warmup) + { /* prepare read image data */ + /* PDBG (pixma_dbg (4, "**mp810_fill_buffer***** warmup *****\n")); */ + + RET_IF_ERR(wait_until_ready (s)); + pixma_sleep (1000000); /* No need to sleep, actually, but Window's driver + * sleep 1.5 sec. */ + mp->state = state_scanning; + mp->last_block = 0; + + line_size = get_cis_ccd_line_size (s); + proc_buf_size = (2 * calc_shifting (s) + 2) * line_size; + mp->cb.buf = realloc (mp->cb.buf, CMDBUF_SIZE + IMAGE_BLOCK_SIZE + proc_buf_size); + if (!mp->cb.buf) + return PIXMA_ENOMEM; + mp->linebuf = mp->cb.buf + CMDBUF_SIZE; + mp->imgbuf = mp->data_left_ofs = mp->linebuf + line_size; + mp->data_left_len = 0; + } + + do + { /* read complete image data from the scanner */ + if (s->cancel) + return PIXMA_ECANCELED; + if ((mp->last_block & 0x28) == 0x28) + { /* end of image */ + mp->state = state_finished; + /* PDBG (pixma_dbg (4, "**mp810_fill_buffer***** end of image *****\n")); */ + return 0; + } + /* PDBG (pixma_dbg (4, "*mp810_fill_buffer***** moving %u bytes into buffer *****\n", mp->data_left_len)); */ + memmove (mp->imgbuf, mp->data_left_ofs, mp->data_left_len); + error = read_image_block (s, header, mp->imgbuf + mp->data_left_len); + if (error < 0) + { + if (error == PIXMA_ECANCELED) + { + /* NOTE: I see this in traffic logs but I don't know its meaning. */ + read_error_info (s, NULL, 0); + } + return error; + } + + bytes_received = error; + /*PDBG (pixma_dbg (4, "*mp810_fill_buffer***** %u bytes received by read_image_block *****\n", bytes_received));*/ + block_size = pixma_get_be32 (header + 12); + mp->last_block = header[8] & 0x38; + if ((header[8] & ~0x38) != 0) + { + PDBG(pixma_dbg (1, "WARNING: Unexpected result header\n")); + PDBG(pixma_hexdump (1, header, 16)); + } + PASSERT(bytes_received == block_size); + + if (block_size == 0) + { /* no image data at this moment. */ + pixma_sleep (10000); + } + /* For TPU at 48 bits/pixel to output at 24 bits/pixel */ +#ifndef DEBUG_TPU_48 +#ifndef TPU_48 + PDBG (pixma_dbg (1, "WARNING: 9000F using 24 instead of 48 bit processing \n")); +#ifndef DEBUG_TPU_24 + if (is_scanning_from_tpu (s)) +#endif + bytes_received = pack_48_24_bpc (mp->imgbuf + mp->data_left_len, bytes_received); +#endif +#endif + /* Post-process the image data */ + mp->data_left_ofs = mp->imgbuf + mp->data_left_len + bytes_received; + mp->data_left_len = post_process_image_data (s, ib); + mp->data_left_ofs -= mp->data_left_len; + /* PDBG (pixma_dbg (4, "* mp810_fill_buffer: data_left_len %u \n", mp->data_left_len)); */ + /* PDBG (pixma_dbg (4, "* mp810_fill_buffer: data_left_ofs %u \n", mp->data_left_ofs)); */ + } + while (ib->rend == ib->rptr); + + return ib->rend - ib->rptr; +} + +static void mp810_finish_scan (pixma_t * s) +{ + int error; + mp810_t *mp = (mp810_t *) s->subdriver; + + switch (mp->state) + { + case state_transfering: + drain_bulk_in (s); + /* fall through */ + case state_scanning: + case state_warmup: + case state_finished: + /* Send the get TPU info message */ + if (is_scanning_from_tpu (s) && mp->tpu_datalen == 0) + send_get_tpu_info_3 (s); + /* FIXME: to process several pages ADF scan, must not send + * abort_session and start_session between pages (last_block=0x28) */ + if (mp->generation <= 2 || !is_scanning_from_adf (s) + || mp->last_block == 0x38) + { + error = abort_session (s); /* FIXME: it probably doesn't work in duplex mode! */ + if (error < 0) + PDBG(pixma_dbg (1, "WARNING:abort_session() failed %d\n", error)); + + /* Generation 4: send XML end of scan dialog */ + if (mp->generation == 4) + { + if (!send_xml_dialog (s, XML_END)) + PDBG(pixma_dbg (1, "WARNING:XML_END dialog failed \n")); + } + } + mp->state = state_idle; + /* fall through */ + case state_idle: + break; + } +} + +static void mp810_wait_event (pixma_t * s, int timeout) +{ + /* FIXME: timeout is not correct. See usbGetCompleteUrbNoIntr() for + * instance. */ + while (s->events == 0 && handle_interrupt (s, timeout) > 0) + { + } +} + +static int mp810_get_status (pixma_t * s, pixma_device_status_t * status) +{ + int error; + + RET_IF_ERR(query_status (s)); + status->hardware = PIXMA_HARDWARE_OK; + status->adf = (has_paper (s)) ? PIXMA_ADF_OK : PIXMA_ADF_NO_PAPER; + status->cal = + (is_calibrated (s)) ? PIXMA_CALIBRATION_OK : PIXMA_CALIBRATION_OFF; + return 0; +} + +static const pixma_scan_ops_t pixma_mp800_ops = +{ + mp810_open, + mp810_close, + mp810_scan, + mp810_fill_buffer, + mp810_finish_scan, + mp810_wait_event, + mp810_check_param, + mp810_get_status +}; + +#define DEVICE(name, model, pid, dpi, adftpu_min_dpi, adftpu_max_dpi, tpuir_min_dpi, tpuir_max_dpi, w, h, cap) { \ + name, /* name */ \ + model, /* model */ \ + CANON_VID, pid, /* vid pid */ \ + 0, /* iface */ \ + &pixma_mp800_ops, /* ops */ \ + 0, /* min_xdpi not used in this subdriver */ \ + dpi, 2*(dpi), /* xdpi, ydpi */ \ + adftpu_min_dpi, adftpu_max_dpi, /* adftpu_min_dpi, adftpu_max_dpi */ \ + tpuir_min_dpi, tpuir_max_dpi, /* tpuir_min_dpi, tpuir_max_dpi */ \ + w, h, /* width, height */ \ + PIXMA_CAP_CCD| /* all scanners with CCD*/ \ + PIXMA_CAP_EASY_RGB| \ + PIXMA_CAP_GRAY| /* all scanners with software grayscale */ \ + PIXMA_CAP_LINEART| /* all scanners with software lineart */ \ + PIXMA_CAP_GAMMA_TABLE|PIXMA_CAP_EVENTS|cap \ +} + +#define END_OF_DEVICE_LIST DEVICE(NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0) + +const pixma_config_t pixma_mp800_devices[] = +{ + /* Generation 1: CCD */ + DEVICE ("Canon PIXMA MP800", "MP800", MP800_PID, 2400, 150, 0, 0, 0, 638, 877, PIXMA_CAP_TPU), + DEVICE ("Canon PIXMA MP800R", "MP800R", MP800R_PID, 2400, 150, 0, 0, 0, 638, 877, PIXMA_CAP_TPU), + DEVICE ("Canon PIXMA MP830", "MP830", MP830_PID, 2400, 150, 0, 0, 0, 638, 877, PIXMA_CAP_ADFDUP), + + /* Generation 2: CCD */ + DEVICE ("Canon PIXMA MP810", "MP810", MP810_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_TPU), + DEVICE ("Canon PIXMA MP960", "MP960", MP960_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_TPU), + + /* Generation 3 CCD not managed as Generation 2 */ + DEVICE ("Canon Pixma MP970", "MP970", MP970_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_TPU), + + /* Flatbed scanner CCD (2007) */ + DEVICE ("Canoscan 8800F", "8800F", CS8800F_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_TPU /*| PIXMA_CAP_NEGATIVE*/ | PIXMA_CAP_48BIT), + + /* PIXMA 2008 vintage CCD */ + DEVICE ("Canon MP980 series", "MP980", MP980_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_TPU), + + /* Generation 4 CCD */ + DEVICE ("Canon MP990 series", "MP990", MP990_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_TPU), + + /* Flatbed scanner (2010) */ + DEVICE ("Canoscan 9000F", "9000F", CS9000F_PID, 4800, 300, 9600, 600, 2400, 638, 877, PIXMA_CAP_TPUIR /*| PIXMA_CAP_NEGATIVE*/ | PIXMA_CAP_48BIT), + + /* Latest devices (2010) Generation 4 CCD untested */ + DEVICE ("Canon PIXMA MG8100", "MG8100", MG8100_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_TPU), + + /* Latest devices (2011) Generation 4 CCD untested */ + DEVICE ("Canon PIXMA MG8200", "MG8200", MG8200_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_TPU), + + /* Flatbed scanner (2013) */ + DEVICE ("Canoscan 9000F Mark II", "9000FMarkII", CS9000F_MII_PID, 4800, 300, 9600, 600, 2400, 638, 877, PIXMA_CAP_TPUIR | PIXMA_CAP_48BIT), + + END_OF_DEVICE_LIST +}; diff --git a/backend/pixma/pixma_rename.h b/backend/pixma/pixma_rename.h new file mode 100644 index 0000000..ad3d960 --- /dev/null +++ b/backend/pixma/pixma_rename.h @@ -0,0 +1,105 @@ +/* SANE - Scanner Access Now Easy. + + Copyright (C) 2006-2007 Wittawat Yamwong + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + 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 PIXMA_RENAME_H +#define PIXMA_RENAME_H + + +#undef BACKEND_NAME +#define BACKEND_NAME pixma + +#define pixma_cancel sanei_pixma_cancel +#define pixma_check_dpi sanei_pixma_check_dpi +#define pixma_check_result sanei_pixma_check_result +#define pixma_check_scan_param sanei_pixma_check_scan_param +#define pixma_cleanup sanei_pixma_cleanup +#define pixma_close sanei_pixma_close +#define pixma_cmd_transaction sanei_pixma_cmd_transaction +#define pixma_collect_devices sanei_pixma_collect_devices +#define pixma_connect sanei_pixma_connect +#define pixma_dbg DBG +#define pixma_disconnect sanei_pixma_disconnect +#define pixma_dump sanei_pixma_dump +#define pixma_enable_background sanei_pixma_enable_background +#define pixma_exec sanei_pixma_exec +#define pixma_exec_short_cmd sanei_pixma_exec_short_cmd +#define pixma_fill_gamma_table sanei_pixma_fill_gamma_table +#define pixma_find_scanners sanei_pixma_find_scanners +#define pixma_get_be16 sanei_pixma_get_be16 +#define pixma_get_be32 sanei_pixma_get_be32 +#define pixma_get_config sanei_pixma_get_config +#define pixma_get_device_config sanei_pixma_get_device_config +#define pixma_get_device_id sanei_pixma_get_device_id +#define pixma_get_device_model sanei_pixma_get_device_model +#define pixma_get_device_status sanei_pixma_get_device_status +#define pixma_get_string sanei_pixma_get_string +#define pixma_get_time sanei_pixma_get_time +#define pixma_hexdump sanei_pixma_hexdump +#define pixma_init sanei_pixma_init +#define pixma_io_cleanup sanei_pixma_io_cleanup +#define pixma_io_init sanei_pixma_io_init +#define pixma_map_status_errno sanei_pixma_map_status_errno +#define pixma_mp150_devices sanei_pixma_mp150_devices +#define pixma_mp730_devices sanei_pixma_mp730_devices +#define pixma_mp750_devices sanei_pixma_mp750_devices +#define pixma_mp800_devices sanei_pixma_mp800_devices +#define pixma_iclass_devices sanei_pixma_iclass_devices +#define pixma_newcmd sanei_pixma_newcmd +#define pixma_open sanei_pixma_open +#define pixma_print_supported_devices sanei_pixma_print_supported_devices +#define pixma_read_image sanei_pixma_read_image +#define pixma_read sanei_pixma_read +#define pixma_reset_device sanei_pixma_reset_device +#define pixma_scan sanei_pixma_scan +#define pixma_set_be16 sanei_pixma_set_be16 +#define pixma_set_be32 sanei_pixma_set_be32 +#define pixma_set_debug_level sanei_pixma_set_debug_level +#define pixma_set_interrupt_mode sanei_pixma_set_interrupt_mode +#define pixma_sleep sanei_pixma_sleep +#define pixma_strerror sanei_pixma_strerror +#define pixma_sum_bytes sanei_pixma_sum_bytes +#define pixma_wait_event sanei_pixma_wait_event +#define pixma_wait_interrupt sanei_pixma_wait_interrupt +#define pixma_write sanei_pixma_write + + +#endif diff --git a/backend/pixma/pixma_sane_options.c b/backend/pixma/pixma_sane_options.c new file mode 100644 index 0000000..2b8f609 --- /dev/null +++ b/backend/pixma/pixma_sane_options.c @@ -0,0 +1,362 @@ +/* Automatically generated from pixma_sane.c */ +static const SANE_Range constraint_gamma_table = + { 0,255,0 }; +static const SANE_Range constraint_gamma = + { SANE_FIX(0.3),SANE_FIX(5),SANE_FIX(0) }; +static const SANE_Range constraint_threshold = + { 0,100,1 }; +static const SANE_Range constraint_threshold_curve = + { 0,127,1 }; +static const SANE_Range constraint_adf_wait = + { 0,3600,1 }; + + +static +int find_string_in_list(SANE_String_Const str, const SANE_String_Const *list) +{ + int i; + for (i = 0; list[i] && strcmp(str, list[i]) != 0; i++) {} + return i; +} + +static +int build_option_descriptors(struct pixma_sane_t *ss) +{ + SANE_Option_Descriptor *sod; + option_descriptor_t *opt; + + memset(OPT_IN_CTX, 0, sizeof(OPT_IN_CTX)); + + opt = &(OPT_IN_CTX[opt_opt_num_opts]); + sod = &opt->sod; + sod->type = SANE_TYPE_INT; + sod->title = SANE_TITLE_NUM_OPTIONS; + sod->desc = SANE_DESC_NUM_OPTIONS; + sod->name = ""; + sod->unit = SANE_UNIT_NONE; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_DETECT; + sod->constraint_type = SANE_CONSTRAINT_NONE; + OPT_IN_CTX[opt_opt_num_opts].info = 0; + opt->def.w = opt_last; + opt->val.w = opt_last; + + opt = &(OPT_IN_CTX[opt__group_1]); + sod = &opt->sod; + sod->type = SANE_TYPE_GROUP; + sod->title = SANE_I18N("Scan mode"); + sod->desc = sod->title; + + opt = &(OPT_IN_CTX[opt_resolution]); + sod = &opt->sod; + sod->type = SANE_TYPE_INT; + sod->title = SANE_TITLE_SCAN_RESOLUTION; + sod->desc = SANE_DESC_SCAN_RESOLUTION; + sod->name = "resolution"; + sod->unit = SANE_UNIT_DPI; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC; + sod->constraint_type = SANE_CONSTRAINT_WORD_LIST; + sod->constraint.word_list = ss->dpi_list; + OPT_IN_CTX[opt_resolution].info = SANE_INFO_RELOAD_PARAMS; + opt->def.w = 75; + opt->val.w = 75; + + opt = &(OPT_IN_CTX[opt_mode]); + sod = &opt->sod; + sod->type = SANE_TYPE_STRING; + sod->title = SANE_TITLE_SCAN_MODE; + sod->desc = SANE_DESC_SCAN_MODE; + sod->name = "mode"; + sod->unit = SANE_UNIT_NONE; + sod->size = 31; + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC; + sod->constraint_type = SANE_CONSTRAINT_STRING_LIST; + sod->constraint.string_list = ss->mode_list; + OPT_IN_CTX[opt_mode].info = SANE_INFO_RELOAD_PARAMS; + opt->def.s = SANE_VALUE_SCAN_MODE_COLOR; + opt->val.w = find_string_in_list(opt->def.s, sod->constraint.string_list); + + opt = &(OPT_IN_CTX[opt_source]); + sod = &opt->sod; + sod->type = SANE_TYPE_STRING; + sod->title = SANE_TITLE_SCAN_SOURCE; + sod->desc = SANE_I18N("Selects the scan source (such as a document-feeder). Set source before mode and resolution. Resets mode and resolution to auto values."); + sod->name = "source"; + sod->unit = SANE_UNIT_NONE; + sod->size = 31; + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT; + sod->constraint_type = SANE_CONSTRAINT_STRING_LIST; + sod->constraint.string_list = ss->source_list; + OPT_IN_CTX[opt_source].info = 0; + opt->def.s = SANE_I18N("Flatbed"); + opt->val.w = find_string_in_list(opt->def.s, sod->constraint.string_list); + + opt = &(OPT_IN_CTX[opt_button_controlled]); + sod = &opt->sod; + sod->type = SANE_TYPE_BOOL; + sod->title = SANE_I18N("Button-controlled scan"); + sod->desc = SANE_I18N("When enabled, scan process will not start immediately. To proceed, press \"SCAN\" button (for MP150) or \"COLOR\" button (for other models). To cancel, press \"GRAY\" button."); + sod->name = "button-controlled"; + sod->unit = SANE_UNIT_NONE; + sod->size = sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_INACTIVE; + sod->constraint_type = SANE_CONSTRAINT_NONE; + OPT_IN_CTX[opt_button_controlled].info = 0; + opt->def.w = SANE_FALSE; + opt->val.w = SANE_FALSE; + + opt = &(OPT_IN_CTX[opt__group_2]); + sod = &opt->sod; + sod->type = SANE_TYPE_GROUP; + sod->title = SANE_I18N("Gamma"); + sod->desc = sod->title; + + opt = &(OPT_IN_CTX[opt_custom_gamma]); + sod = &opt->sod; + sod->type = SANE_TYPE_BOOL; + sod->title = SANE_TITLE_CUSTOM_GAMMA; + sod->desc = SANE_DESC_CUSTOM_GAMMA; + sod->name = "custom-gamma"; + sod->unit = SANE_UNIT_NONE; + sod->size = sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE; + sod->constraint_type = SANE_CONSTRAINT_NONE; + OPT_IN_CTX[opt_custom_gamma].info = 0; + opt->def.w = SANE_TRUE; + opt->val.w = SANE_TRUE; + + opt = &(OPT_IN_CTX[opt_gamma_table]); + sod = &opt->sod; + sod->type = SANE_TYPE_INT; + sod->title = SANE_TITLE_GAMMA_VECTOR; + sod->desc = SANE_DESC_GAMMA_VECTOR; + sod->name = "gamma-table"; + sod->unit = SANE_UNIT_NONE; + sod->size = 4096 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE; + sod->constraint_type = SANE_CONSTRAINT_RANGE; + sod->constraint.range = &constraint_gamma_table; + OPT_IN_CTX[opt_gamma_table].info = 0; + + opt = &(OPT_IN_CTX[opt_gamma]); + sod = &opt->sod; + sod->type = SANE_TYPE_FIXED; + sod->title = SANE_I18N("Gamma function exponent"); + sod->desc = SANE_I18N("Changes intensity of midtones"); + sod->name = "gamma"; + sod->unit = SANE_UNIT_NONE; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE; + sod->constraint_type = SANE_CONSTRAINT_RANGE; + sod->constraint.range = &constraint_gamma; + OPT_IN_CTX[opt_gamma].info = 0; + opt->def.w = SANE_FIX(AUTO_GAMMA); + opt->val.w = SANE_FIX(AUTO_GAMMA); + + opt = &(OPT_IN_CTX[opt__group_3]); + sod = &opt->sod; + sod->type = SANE_TYPE_GROUP; + sod->title = SANE_I18N("Geometry"); + sod->desc = sod->title; + + opt = &(OPT_IN_CTX[opt_tl_x]); + sod = &opt->sod; + sod->type = SANE_TYPE_FIXED; + sod->title = SANE_TITLE_SCAN_TL_X; + sod->desc = SANE_DESC_SCAN_TL_X; + sod->name = "tl-x"; + sod->unit = SANE_UNIT_MM; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC; + sod->constraint_type = SANE_CONSTRAINT_RANGE; + sod->constraint.range = &ss->xrange; + OPT_IN_CTX[opt_tl_x].info = SANE_INFO_RELOAD_PARAMS; + opt->def.w = SANE_FIX(0); + opt->val.w = SANE_FIX(0); + + opt = &(OPT_IN_CTX[opt_tl_y]); + sod = &opt->sod; + sod->type = SANE_TYPE_FIXED; + sod->title = SANE_TITLE_SCAN_TL_Y; + sod->desc = SANE_DESC_SCAN_TL_Y; + sod->name = "tl-y"; + sod->unit = SANE_UNIT_MM; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC; + sod->constraint_type = SANE_CONSTRAINT_RANGE; + sod->constraint.range = &ss->yrange; + OPT_IN_CTX[opt_tl_y].info = SANE_INFO_RELOAD_PARAMS; + opt->def.w = SANE_FIX(0); + opt->val.w = SANE_FIX(0); + + opt = &(OPT_IN_CTX[opt_br_x]); + sod = &opt->sod; + sod->type = SANE_TYPE_FIXED; + sod->title = SANE_TITLE_SCAN_BR_X; + sod->desc = SANE_DESC_SCAN_BR_X; + sod->name = "br-x"; + sod->unit = SANE_UNIT_MM; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC; + sod->constraint_type = SANE_CONSTRAINT_RANGE; + sod->constraint.range = &ss->xrange; + OPT_IN_CTX[opt_br_x].info = SANE_INFO_RELOAD_PARAMS; + opt->def.w = sod->constraint.range->max; + opt->val.w = sod->constraint.range->max; + + opt = &(OPT_IN_CTX[opt_br_y]); + sod = &opt->sod; + sod->type = SANE_TYPE_FIXED; + sod->title = SANE_TITLE_SCAN_BR_Y; + sod->desc = SANE_DESC_SCAN_BR_Y; + sod->name = "br-y"; + sod->unit = SANE_UNIT_MM; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC; + sod->constraint_type = SANE_CONSTRAINT_RANGE; + sod->constraint.range = &ss->yrange; + OPT_IN_CTX[opt_br_y].info = SANE_INFO_RELOAD_PARAMS; + opt->def.w = sod->constraint.range->max; + opt->val.w = sod->constraint.range->max; + + opt = &(OPT_IN_CTX[opt__group_4]); + sod = &opt->sod; + sod->type = SANE_TYPE_GROUP; + sod->title = SANE_I18N("Buttons"); + sod->desc = sod->title; + + opt = &(OPT_IN_CTX[opt_button_update]); + sod = &opt->sod; + sod->type = SANE_TYPE_BUTTON; + sod->title = SANE_I18N("Update button state"); + sod->desc = sod->title; + sod->name = "button-update"; + sod->unit = SANE_UNIT_NONE; + sod->size = 0; + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED; + sod->constraint_type = SANE_CONSTRAINT_NONE; + OPT_IN_CTX[opt_button_update].info = 0; + + opt = &(OPT_IN_CTX[opt_button_1]); + sod = &opt->sod; + sod->type = SANE_TYPE_INT; + sod->title = SANE_I18N("Button 1"); + sod->desc = sod->title; + sod->name = "button-1"; + sod->unit = SANE_UNIT_NONE; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED; + sod->constraint_type = SANE_CONSTRAINT_NONE; + OPT_IN_CTX[opt_button_1].info = 0; + opt->def.w = 0; + opt->val.w = 0; + + opt = &(OPT_IN_CTX[opt_button_2]); + sod = &opt->sod; + sod->type = SANE_TYPE_INT; + sod->title = SANE_I18N("Button 2"); + sod->desc = sod->title; + sod->name = "button-2"; + sod->unit = SANE_UNIT_NONE; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED; + sod->constraint_type = SANE_CONSTRAINT_NONE; + OPT_IN_CTX[opt_button_2].info = 0; + opt->def.w = 0; + opt->val.w = 0; + + opt = &(OPT_IN_CTX[opt_original]); + sod = &opt->sod; + sod->type = SANE_TYPE_INT; + sod->title = SANE_I18N("Type of original to scan"); + sod->desc = sod->title; + sod->name = "original"; + sod->unit = SANE_UNIT_NONE; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED; + sod->constraint_type = SANE_CONSTRAINT_NONE; + OPT_IN_CTX[opt_original].info = 0; + opt->def.w = 0; + opt->val.w = 0; + + opt = &(OPT_IN_CTX[opt_target]); + sod = &opt->sod; + sod->type = SANE_TYPE_INT; + sod->title = SANE_I18N("Target operation type"); + sod->desc = sod->title; + sod->name = "target"; + sod->unit = SANE_UNIT_NONE; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED; + sod->constraint_type = SANE_CONSTRAINT_NONE; + OPT_IN_CTX[opt_target].info = 0; + opt->def.w = 0; + opt->val.w = 0; + + opt = &(OPT_IN_CTX[opt_scan_resolution]); + sod = &opt->sod; + sod->type = SANE_TYPE_INT; + sod->title = SANE_I18N("Scan resolution"); + sod->desc = sod->title; + sod->name = "scan-resolution"; + sod->unit = SANE_UNIT_NONE; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED; + sod->constraint_type = SANE_CONSTRAINT_NONE; + OPT_IN_CTX[opt_scan_resolution].info = 0; + opt->def.w = 0; + opt->val.w = 0; + + opt = &(OPT_IN_CTX[opt__group_5]); + sod = &opt->sod; + sod->type = SANE_TYPE_GROUP; + sod->title = SANE_I18N("Extras"); + sod->desc = sod->title; + + opt = &(OPT_IN_CTX[opt_threshold]); + sod = &opt->sod; + sod->type = SANE_TYPE_INT; + sod->title = SANE_TITLE_THRESHOLD; + sod->desc = SANE_DESC_THRESHOLD; + sod->name = "threshold"; + sod->unit = SANE_UNIT_PERCENT; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE; + sod->constraint_type = SANE_CONSTRAINT_RANGE; + sod->constraint.range = &constraint_threshold; + OPT_IN_CTX[opt_threshold].info = 0; + opt->def.w = 50; + opt->val.w = 50; + + opt = &(OPT_IN_CTX[opt_threshold_curve]); + sod = &opt->sod; + sod->type = SANE_TYPE_INT; + sod->title = SANE_I18N("Threshold curve"); + sod->desc = SANE_I18N("Dynamic threshold curve, from light to dark, normally 50-65"); + sod->name = "threshold-curve"; + sod->unit = SANE_UNIT_NONE; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE; + sod->constraint_type = SANE_CONSTRAINT_RANGE; + sod->constraint.range = &constraint_threshold_curve; + OPT_IN_CTX[opt_threshold_curve].info = 0; + + opt = &(OPT_IN_CTX[opt_adf_wait]); + sod = &opt->sod; + sod->type = SANE_TYPE_INT; + sod->title = SANE_I18N("ADF Waiting Time"); + sod->desc = SANE_I18N("When set, the scanner waits upto the specified time in seconds for a new document inserted into the automatic document feeder."); + sod->name = "adf-wait"; + sod->unit = SANE_UNIT_NONE; + sod->size = 1 * sizeof(SANE_Word); + sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE; + sod->constraint_type = SANE_CONSTRAINT_RANGE; + sod->constraint.range = &constraint_adf_wait; + OPT_IN_CTX[opt_adf_wait].info = 0; + opt->def.w = 0; + opt->val.w = 0; + + return 0; + +} diff --git a/backend/pixma/pixma_sane_options.h b/backend/pixma/pixma_sane_options.h new file mode 100644 index 0000000..1472f1f --- /dev/null +++ b/backend/pixma/pixma_sane_options.h @@ -0,0 +1,51 @@ +/* Automatically generated from pixma_sane.c */ + +typedef union { + SANE_Word w; + SANE_Int i; + SANE_Bool b; + SANE_Fixed f; + SANE_String s; + void *ptr; +} option_value_t; + +typedef enum { + opt_opt_num_opts, + opt__group_1, + opt_resolution, + opt_mode, + opt_source, + opt_button_controlled, + opt__group_2, + opt_custom_gamma, + opt_gamma_table, + opt_gamma, + opt__group_3, + opt_tl_x, + opt_tl_y, + opt_br_x, + opt_br_y, + opt__group_4, + opt_button_update, + opt_button_1, + opt_button_2, + opt_original, + opt_target, + opt_scan_resolution, + opt__group_5, + opt_threshold, + opt_threshold_curve, + opt_adf_wait, + opt_last +} option_t; + + +typedef struct { + SANE_Option_Descriptor sod; + option_value_t val,def; + SANE_Word info; +} option_descriptor_t; + + +struct pixma_sane_t; +static int build_option_descriptors(struct pixma_sane_t *ss); diff --git a/backend/pixma/scripts/pixma_gen_options.py b/backend/pixma/scripts/pixma_gen_options.py new file mode 100755 index 0000000..c4c75e0 --- /dev/null +++ b/backend/pixma/scripts/pixma_gen_options.py @@ -0,0 +1,389 @@ +#!/usr/bin/env python + +import sys,os,re + +class Error(Exception): + pass + + +class ParseError(Error): + def __init__(self, errline): + Error.__init__(self, errline) + + +class Struct: + pass + + +def createCNameMap(): + t = '' + for i in range(256): + if ((ord('A') <= i) and (i <= ord('Z'))) or \ + ((ord('a') <= i) and (i <= ord('z'))) or \ + ((ord('0') <= i) and (i <= ord('9'))): + t += chr(i) + else: + t += '_' + return t + + +def seekBegin(f): + while True: + line = f.readline() + if not line: + return False + if line.startswith('BEGIN SANE_Option_Descriptor'): + return True + + +def parseVerbatim(o, line): + words = line.split(None, 1) + if (len(words) < 2) or (words[1][0] != '@'): + return False + o[words[0]] = words[1] + return True + + +def parseLine_type(o, line): + words = line.split(None, 2) + otype = words[1] + o['type'] = 'SANE_TYPE_' + otype.upper() + if otype == 'group': + g.ngroups += 1 + oname = '_group_%d' % g.ngroups + o['size'] = 0 + else: + temp = words[2] + idx = temp.find('[') + if idx == -1: + oname = temp + o['size'] = 1 + else: + oname = temp[0:idx] + o['size'] = int(temp[idx+1:-1]) + o['name'] = oname + + +def parseLine_title(o, line): + o['title'] = line.split(None, 1)[1] + + +def parseLine_desc(o, line): + o['desc'] = line.split(None, 1)[1] + + +def parseLine_unit(o, line): + o['unit'] = 'SANE_UNIT_' + line.split(None, 1)[1].upper() + + +def parseLine_default(o, line): + o['default'] = line.split(None, 1)[1] + + +def parseLine_cap(o, line): + words = line.split() + o['cap'] = ['SANE_CAP_' + s.upper() for s in words[1:]] + + +def parseLine_constraint(o, line): + c = line.split(None,1)[1] + if c[0] == '{': + o['constraint'] = c[1:-1].split('|') + elif c[0] == '(': + o['constraint'] = tuple(c[1:-1].split(',')) + else: + sys.stderr.write('Ignored: %s\n' % line) + + +def parseLine_info(o, line): + words = line.split() + o['info'] = ['SANE_INFO_' + s.upper() for s in words[1:]] + +def parseLine_rem(o, line): + pass + +def normalize(o): + if 'cname' not in o: + cname = o['name'].translate(cnameMap) + o['cname'] = cname + else: + cname = o['cname'] + o['cname_opt'] = 'opt_' + cname + o['cname_con'] = 'constraint_' + cname + if 'title' not in o: + o['title'] = 'NO TITLE' + if 'desc' not in o: + o['desc'] = '@sod->title' % o + if 'unit' not in o: + o['unit'] = 'SANE_UNIT_NONE' + if 'constraint_type' not in o: + if 'constraint' not in o: + ct = 'SANE_CONSTRAINT_NONE' + elif isinstance(o['constraint'], list): + if o['type'] == 'SANE_TYPE_STRING': + ct = 'SANE_CONSTRAINT_STRING_LIST' + else: + ct = 'SANE_CONSTRAINT_WORD_LIST' + elif isinstance(o['constraint'], tuple): + ct = 'SANE_CONSTRAINT_RANGE' + elif isinstance(o['constraint'], str): + oc = o['constraint'] + if oc.startswith('@range'): + ct = 'SANE_CONSTRAINT_RANGE' + elif oc.startswith('@word_list'): + ct = 'SANE_CONSTRAINT_WORD_LIST' + elif oc.startswith('@string_list'): + ct = 'SANE_CONSTRAINT_STRING_LIST' + o['constraint_type'] = ct + return o + + +def parseFile(f): + if not seekBegin(f): + return None + options = [ { + 'name' : '', + 'cname' : 'opt_num_opts', + 'title' : '@SANE_TITLE_NUM_OPTIONS', + 'desc' : '@SANE_DESC_NUM_OPTIONS', + 'type' : 'SANE_TYPE_INT', + 'unit' : 'SANE_UNIT_NONE', + 'size' : 1, + 'cap' : ['SANE_CAP_SOFT_DETECT'], + 'constraint_type' : 'SANE_CONSTRAINT_NONE', + 'default' : '@w = ' + opt_prefix + 'last' + } ] + o = {} + while True: + line = f.readline() + if not line: + break + line = line.strip() + if not line: + continue + token = line.split(None, 1)[0].lower() + if token == 'end': + break + if token == 'type': + if 'name' in o: + options.append(o) + o = {} + funcName = 'parseLine_' + token + if funcName in globals(): + if not parseVerbatim(o, line): + func = globals()[funcName] + func(o, line) + else: + sys.stderr.write('Skip: %s\n' % line) + if 'name' in o: + options.append(o) + return [normalize(o) for o in options] + + +def genHeader(options): + print """ +typedef union { + SANE_Word w; + SANE_Int i; + SANE_Bool b; + SANE_Fixed f; + SANE_String s; + void *ptr; +} option_value_t; +""" + print 'typedef enum {' + for o in options: + print ' %(cname_opt)s,' % o + print ' ' + opt_prefix + 'last' + print '} option_t;' + print """ + +typedef struct { + SANE_Option_Descriptor sod; + option_value_t val,def; + SANE_Word info; +} option_descriptor_t; + + +struct pixma_sane_t; +static int build_option_descriptors(struct pixma_sane_t *ss); +""" + + +def genMinMaxRange(n, t, r): + if t == 'SANE_TYPE_FIXED': + r = ['SANE_FIX(%s)' % x for x in r] + print 'static const SANE_Range ' + n + ' = ' + print ' { ' + r[0] + ',' + r[1] + ',' + r[2] + ' };' + + +def genList(n, t, l): + if t == 'SANE_TYPE_INT': + etype = 'SANE_Word' + l = [str(len(l))] + l + elif t == 'SANE_TYPE_FIXED': + etype = 'SANE_Word' + l = [str(len(l))] + ['SANE_FIX(%s)' % x for x in l] + elif t == 'SANE_TYPE_STRING': + etype = 'SANE_String_Const' + l = ['SANE_I18N("%s")' % x for x in l] + ['NULL'] + print 'static const %s %s[%d] = {' % (etype, n, len(l)) + for x in l[0:-1]: + print '\t' + x + ',' + print '\t' + l[-1] + ' };' + + +def genConstraints(options): + for o in options: + if 'constraint' not in o: continue + c = o['constraint'] + oname = o['cname_con'] + otype = o['type'] + if isinstance(c, tuple): + genMinMaxRange(oname, otype, c) + elif isinstance(c, list): + genList(oname, otype, c) + print + +def buildCodeVerbatim(o): + for f in ('name', 'title', 'desc', 'type', 'unit', 'size', 'cap', + 'constraint_type', 'constraint', 'default'): + if (f not in o): continue + temp = o[f] + if (not isinstance(temp,str)) or \ + (len(temp) < 1) or (temp[0] != '@'): + continue + o['code_' + f] = temp[1:] + +def ccode(o): + buildCodeVerbatim(o) + if 'code_name' not in o: + o['code_name'] = '"' + o['name'] + '"' + for f in ('title', 'desc'): + cf = 'code_' + f + if cf in o: continue + o[cf] = 'SANE_I18N("' + o[f] + '")' + + for f in ('type', 'unit', 'constraint_type'): + cf = 'code_' + f + if cf in o: continue + o[cf] = o[f] + + if 'code_size' not in o: + otype = o['type'] + osize = o['size'] + if otype == 'SANE_TYPE_STRING': + code = str(osize + 1) + elif otype == 'SANE_TYPE_INT' or otype == 'SANE_TYPE_FIXED': + code = str(osize) + ' * sizeof(SANE_Word)' + elif otype == 'SANE_TYPE_BUTTON': + code = '0' + else: + code = 'sizeof(SANE_Word)' + o['code_size'] = code + + if ('code_cap' not in o) and ('cap' in o): + o['code_cap'] = reduce(lambda a,b: a+'|'+b, o['cap']) + else: + o['code_cap'] = '0' + + if ('code_info' not in o) and ('info' in o): + o['code_info'] = reduce(lambda a,b: a+'|'+b, o['info']) + else: + o['code_info'] = '0' + + if ('code_default' not in o) and ('default' in o): + odefault = o['default'] + otype = o['type'] + if odefault == '_MIN': + rhs = 'w = sod->constraint.range->min' + elif odefault == '_MAX': + rhs = 'w = sod->constraint.range->max' + elif otype in ('SANE_TYPE_INT', 'SANE_TYPE_BOOL'): + rhs = 'w = %(default)s' + elif otype == 'SANE_TYPE_FIXED': + rhs = 'w = SANE_FIX(%(default)s)' + elif otype == 'SANE_TYPE_STRING': + rhs = 's = SANE_I18N("%(default)s")' + o['code_default'] = rhs % o + if 'code_default' in o: + code = ' opt->def.%(code_default)s;\n' + if o['constraint_type'] != 'SANE_CONSTRAINT_STRING_LIST': + code += ' opt->val.%(code_default)s;\n' + else: + code += ' opt->val.w = find_string_in_list' \ + '(opt->def.s, sod->constraint.string_list);\n' + o['full_code_default'] = code % o + else: + o['full_code_default'] = '' + + if ('code_constraint' not in o) and ('constraint' in o): + ct = o['constraint_type'] + idx = len('SANE_CONSTRAINT_') + ctype = ct[idx:].lower() + if ctype == 'range': + rhs = '&%(cname_con)s' % o + else: + rhs = '%(cname_con)s' % o + o['code_constraint'] = ctype + ' = ' + rhs + if 'code_constraint' in o: + code = ' sod->constraint.%(code_constraint)s;\n' + o['full_code_constraint'] = code % o + else: + o['full_code_constraint'] = '' + + return o + +def genBuildOptions(options): + print """ +static +int find_string_in_list(SANE_String_Const str, const SANE_String_Const *list) +{ + int i; + for (i = 0; list[i] && strcmp(str, list[i]) != 0; i++) {} + return i; +} + +static +int build_option_descriptors(struct pixma_sane_t *ss) +{ + SANE_Option_Descriptor *sod; + option_descriptor_t *opt; + + memset(OPT_IN_CTX, 0, sizeof(OPT_IN_CTX));""" + + for o in options: + o = ccode(o) + otype = o['type'] + code = '\n opt = &(OPT_IN_CTX[%(cname_opt)s]);\n' \ + ' sod = &opt->sod;\n' \ + ' sod->type = %(code_type)s;\n' \ + ' sod->title = %(code_title)s;\n' \ + ' sod->desc = %(code_desc)s;\n' + if otype != 'SANE_TYPE_GROUP': + code += ' sod->name = %(code_name)s;\n' \ + ' sod->unit = %(code_unit)s;\n' \ + ' sod->size = %(code_size)s;\n' \ + ' sod->cap = %(code_cap)s;\n' \ + ' sod->constraint_type = %(code_constraint_type)s;\n' \ + '%(full_code_constraint)s' \ + ' OPT_IN_CTX[%(cname_opt)s].info = %(code_info)s;\n' \ + '%(full_code_default)s' + sys.stdout.write(code % o) + print + print ' return 0;\n' + print '}' + print + +g = Struct() +g.ngroups = 0 +opt_prefix = 'opt_' +con_prefix = 'constraint_' +cnameMap = createCNameMap() +options = parseFile(sys.stdin) +print "/* Automatically generated from pixma_sane.c */" +if (len(sys.argv) == 2) and (sys.argv[1] == 'h'): + genHeader(options) +else: + genConstraints(options) + genBuildOptions(options) diff --git a/backend/pixma_bjnp.c b/backend/pixma_bjnp.c deleted file mode 100644 index 5a9932e..0000000 --- a/backend/pixma_bjnp.c +++ /dev/null @@ -1,2558 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2008 2012 by Louis Lagendijk - - This file is part of the SANE package. - - SANE 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. - - SANE 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 sane; see the file COPYING. If not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - 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. -*/ -#undef BACKEND_NAME -#define BACKEND_NAME bjnp - -#include "../include/sane/config.h" -#include "../include/sane/sane.h" - -/* - * Standard types etc - */ -#ifdef HAVE_STDLIB_H -#include -#endif -#ifdef HAVE_STRING_H -#include -#endif -#include -#include -#ifdef HAVE_STDINT_H -#include -#endif -#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_SYS_TIME_H -#include -#endif -#ifdef HAVE_LIMITS_H -#include -#endif - -/* - * networking stuff - */ -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETINET_IN_H -#include -#endif -#include -#include -#include -#include -#ifdef HAVE_IFADDRS_H -#include -#endif -#ifdef HAVE_SYS_SELECT_H -#include -#endif -#ifdef HAVE_PWD_H -#include -#endif -#include -#ifdef HAVE_FCNTL_H -#include -#endif - -#include "pixma_bjnp_private.h" -#include "pixma_bjnp.h" -/* #include "pixma_rename.h" */ -#include "pixma.h" -#include "pixma_common.h" - -#ifndef SSIZE_MAX -# define SSIZE_MAX LONG_MAX -#endif - -/* static data */ -static bjnp_device_t device[BJNP_NO_DEVICES]; -static int bjnp_no_devices = 0; - -/* - * Private functions - */ - -static void -u8tohex (char *string, const uint8_t *value, int len ) -{ - int i; - int x; - const char hdigit[16] = - { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', - 'e', 'f' - }; - for (i = 0; i < len; i++) - { - x = value[i]; - string[ 2 * i ] = hdigit[(x >> 4) & 0xf]; - string[ 2 * i + 1] = hdigit[x & 0xf]; - } - string[2 * len ] = '\0'; -} - -static void -u32tohex (uint32_t x, char *str) -{ - uint8_t uint8[4]; - uint8[0] = (uint8_t)(x >> 24); - uint8[1] = (uint8_t)(x >> 16); - uint8[2] = (uint8_t)(x >> 8); - uint8[3] = (uint8_t)x ; - u8tohex(str, uint8, 4); -} - -static void -bjnp_hexdump (int level, const void *d_, unsigned len) -{ - const uint8_t *d = (const uint8_t *) (d_); - unsigned ofs, c, plen; - char line[100]; /* actually only 1+8+1+8*3+1+8*3+1 = 61 bytes needed */ - - if (level > DBG_LEVEL) - return; - if (level == DBG_LEVEL) - /* if debuglevel == exact match and buffer contains more than 3 lines, print 2 lines + .... */ - plen = (len > 64) ? 32: len; - else - plen = len; - ofs = 0; - while (ofs < plen) - { - char *p; - line[0] = ' '; - u32tohex (ofs, line + 1); - line[9] = ':'; - p = line + 10; - for (c = 0; c != 16 && (ofs + c) < plen; c++) - { - u8tohex (p, d + ofs + c, 1); - p[2] = ' '; - p += 3; - if (c == 7) - { - p[0] = ' '; - p++; - } - } - p[0] = '\0'; - bjnp_dbg (level, "%s\n", line); - ofs += c; - } - if (len > plen) - bjnp_dbg(level, "......\n"); -} - -static int sa_is_equal( const bjnp_sockaddr_t * sa1, const bjnp_sockaddr_t * sa2) -{ - if ((sa1 == NULL) || (sa2 == NULL) ) - return 0; - - if (sa1->addr.sa_family == sa2-> addr.sa_family) - { - if( sa1 -> addr.sa_family == AF_INET) - { - if ( (sa1->ipv4.sin_port == sa2->ipv4.sin_port) && - (sa1->ipv4.sin_addr.s_addr == sa2->ipv4.sin_addr.s_addr)) - { - return 1; - } - } -#ifdef ENABLE_IPV6 - else if (sa1 -> addr.sa_family == AF_INET6 ) - { - if ( (sa1-> ipv6.sin6_port == sa2->ipv6.sin6_port) && - (memcmp(&(sa1->ipv6.sin6_addr), &(sa2->ipv6.sin6_addr), sizeof(struct in6_addr)) == 0)) - { - return 1; - } - } -#endif - } - return 0; -} - -static int -sa_size( const bjnp_sockaddr_t *sa) -{ - switch (sa -> addr.sa_family) - { - case AF_INET: - return (sizeof(struct sockaddr_in) ); -#ifdef ENABLE_IPV6 - case AF_INET6: - return (sizeof(struct sockaddr_in6) ); -#endif - default: - /* should not occur */ - return sizeof( bjnp_sockaddr_t ); - } -} - -static int -get_protocol_family( const bjnp_sockaddr_t *sa) -{ - switch (sa -> addr.sa_family) - { - case AF_INET: - return PF_INET; - break; -#ifdef ENABLE_IPV6 - case AF_INET6: - return PF_INET6; - break; -#endif - default: - /* should not occur */ - return -1; - } -} - -static void -get_address_info ( const bjnp_sockaddr_t *addr, char * addr_string, int *port) -{ - char tmp_addr[BJNP_HOST_MAX]; - if ( addr->addr.sa_family == AF_INET) - { - inet_ntop( AF_INET, &(addr -> ipv4.sin_addr.s_addr), addr_string, BJNP_HOST_MAX); - *port = ntohs (addr->ipv4.sin_port); - } -#ifdef ENABLE_IPV6 - else if (addr->addr.sa_family == AF_INET6) - { - inet_ntop( AF_INET6, addr -> ipv6.sin6_addr.s6_addr, tmp_addr, sizeof(tmp_addr) ); - - if (IN6_IS_ADDR_LINKLOCAL( &(addr -> ipv6.sin6_addr) ) ) - sprintf(addr_string, "[%s%%%d]", tmp_addr, addr -> ipv6.sin6_scope_id); - - *port = ntohs (addr->ipv6.sin6_port); - } -#endif - else - { - /* unknown address family, should not occur */ - strcpy(addr_string, "Unknown address family"); - *port = 0; - } -} - -static int -parse_IEEE1284_to_model (char *scanner_id, char *model) -{ -/* - * parses the IEEE1284 ID of the scanner to retrieve make and model - * of the scanner - * Returns: 0 = not found - * 1 = found, model is set - */ - - char s[BJNP_IEEE1284_MAX]; - char *tok; - - strncpy (s, scanner_id, BJNP_IEEE1284_MAX); - s[BJNP_IEEE1284_MAX - 1] = '\0'; - model[0] = '\0'; - - tok = strtok (s, ";"); - while (tok != NULL) - { - /* MDL contains make and model */ - - if (strncmp (tok, "MDL:", 4) == 0) - { - strncpy (model, tok + 4, BJNP_IEEE1284_MAX); - model[BJNP_IEEE1284_MAX -1] = '\0'; - return 1; - } - tok = strtok (NULL, ";"); - } - return 0; -} - -static int -charTo2byte (char *d, const char *s, int len) -{ - /* - * copy ASCII string to UTF-16 unicode string - * len is length of destination buffer - * Returns: number of characters copied - */ - - int done = 0; - int copied = 0; - int i; - - len = len / 2; - for (i = 0; i < len; i++) - { - d[2 * i] = '\0'; - if (s[i] == '\0') - { - done = 1; - } - if (done == 0) - { - d[2 * i + 1] = s[i]; - copied++; - } - else - d[2 * i + 1] = '\0'; - } - return copied; -} - -static bjnp_protocol_defs_t *get_protocol_by_method( char *method) -{ - int i = 0; - while ( bjnp_protocol_defs[i].method_string != NULL) - { - if (strcmp(method, bjnp_protocol_defs[i].method_string) == 0) - { - return &bjnp_protocol_defs[i]; - } - i++; - } - return NULL; -} - -static bjnp_protocol_defs_t *get_protocol_by_proto_string( char *proto_string) -{ - int i = 0; - while ( bjnp_protocol_defs[i].proto_string != NULL) - { - if (strncmp(proto_string, bjnp_protocol_defs[i].proto_string, 4) == 0) - { - return &bjnp_protocol_defs[i]; - } - i++; - } - return NULL; -} - -static char * -getusername (void) -{ - static char noname[] = "sane_pixma"; - struct passwd *pwdent; - -#ifdef HAVE_PWD_H - if (((pwdent = getpwuid (geteuid ())) != NULL) && (pwdent->pw_name != NULL)) - return pwdent->pw_name; -#endif - return noname; -} - - -static char * -determine_scanner_serial (const char *hostname, const char * mac_address, char *serial) -{ - char *dot; - char copy[BJNP_HOST_MAX]; - - /* determine a "serial number" for the scanner */ - /* if available we use the hostname or ipv4 address of the printer */ - /* if we only have a literal ipv6 address, we use the mac-address */ - - strcpy(copy, hostname); - if (strlen (copy) >= SERIAL_MAX) - { - /* make the string fit into the serial */ - /* if this is a FQDN, not an ip-address, remove domain part of the name */ - if ((dot = strchr (copy, '.')) != NULL) - { - *dot = '\0'; - } - } - /* check if name is still to long. If so use the mac-address */ - if (strlen(copy) >= SERIAL_MAX) - { - strcpy(copy, mac_address); - } - strcpy( serial, copy ); - return serial; -} - -static int -bjnp_open_tcp (int devno) -{ - int sock; - int val; - bjnp_sockaddr_t *addr = device[devno].addr; - char host[BJNP_HOST_MAX]; - int port; - - get_address_info( addr, host, &port); - PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_open_tcp: Setting up a TCP socket, dest: %s port %d\n", - host, port ) ); - - if ((sock = socket (get_protocol_family( addr ) , SOCK_STREAM, 0)) < 0) - { - PDBG (bjnp_dbg (LOG_CRIT, "bjnp_open_tcp: ERROR - Can not create socket: %s\n", - strerror (errno))); - return -1; - } - - val = 1; - setsockopt (sock, SOL_SOCKET, SO_REUSEADDR, &val, sizeof (val)); - -#if 0 - val = 1; - setsockopt (sock, SOL_SOCKET, SO_REUSEPORT, &val, sizeof (val)); - - val = 1; -#endif - - /* - * Using TCP_NODELAY improves responsiveness, especially on systems - * with a slow loopback interface... - */ - - val = 1; - setsockopt (sock, IPPROTO_TCP, TCP_NODELAY, &val, sizeof (val)); - -/* - * Close this socket when starting another process... - */ - - fcntl (sock, F_SETFD, FD_CLOEXEC); - - if (connect - (sock, &(addr->addr), sa_size(device[devno].addr) )!= 0) - { - PDBG (bjnp_dbg - (LOG_CRIT, "bjnp_open_tcp: ERROR - Can not connect to scanner: %s\n", - strerror (errno))); - return -1; - } - device[devno].tcp_socket = sock; - return 0; -} - -static int -split_uri (const char *devname, char *method, char *host, char *port, - char *args) -{ - char copy[1024]; - char *start; - char next; - int i; - - strncpy (copy, devname, 1024); - copy[1023] = '\0'; - start = copy; - -/* - * retrieve method - */ - i = 0; - while ((start[i] != '\0') && (start[i] != ':')) - { - i++; - } - - if (((strncmp (start + i, "://", 3) != 0)) || (i > BJNP_METHOD_MAX -1 )) - { - PDBG (bjnp_dbg (LOG_NOTICE, "split_uri: ERROR - Can not find method in %s (offset %d)\n", - devname, i)); - return -1; - } - - start[i] = '\0'; - strcpy (method, start); - start = start + i + 3; - -/* - * retrieve host - */ - - if (start[0] == '[') - { - /* literal IPv6 address */ - - char *end_of_address = strchr(start, ']'); - - if ( ( end_of_address == NULL) || - ( (end_of_address[1] != ':') && (end_of_address[1] != '/' ) && (end_of_address[1] != '\0' )) || - ( (end_of_address - start) >= BJNP_HOST_MAX ) ) - { - PDBG (bjnp_dbg (LOG_NOTICE, "split_uri: ERROR - Can not find hostname or address in %s\n", devname)); - return -1; - } - next = end_of_address[1]; - *end_of_address = '\0'; - strcpy(host, start + 1); - start = end_of_address + 2; - } - else - { - i = 0; - while ((start[i] != '\0') && (start[i] != '/') && (start[i] != ':')) - { - i++; - } - next = start[i]; - start[i] = '\0'; - if ((i == 0) || (i >= BJNP_HOST_MAX ) ) - { - PDBG (bjnp_dbg (LOG_NOTICE, "split_uri: ERROR - Can not find hostname or address in %s\n", devname)); - return -1; - } - strcpy (host, start); - start = start + i +1; - } - - -/* - * retrieve port number - */ - - if (next != ':') - strcpy(port, ""); - else - { - char *end_of_port = strchr(start, '/'); - if (end_of_port == NULL) - { - next = '\0'; - } - else - { - next = *end_of_port; - *end_of_port = '\0'; - } - if ((strlen(start) == 0) || (strlen(start) >= BJNP_PORT_MAX ) ) - { - PDBG (bjnp_dbg (LOG_NOTICE, "split_uri: ERROR - Can not find port in %s (have \"%s\")\n", devname, start)); - return -1; - } - strcpy(port, start); - start = end_of_port + 1; - } - -/* - * Retrieve arguments - */ - - if (next == '/') - { - i = strlen(start); - if ( i >= BJNP_ARGS_MAX) - { - PDBG (bjnp_dbg (LOG_NOTICE, "split_uri: ERROR - Argument string too long in %s\n", devname)); - } - strcpy (args, start); - } - else - strcpy (args, ""); - return 0; -} - - - -static void -set_cmd_from_string (char* protocol_string, struct BJNP_command *cmd, char cmd_code, int payload_len) -{ - /* - * Set command buffer with command code, session_id and length of payload - * Returns: sequence number of command - */ - - strncpy (cmd->BJNP_id, protocol_string, sizeof (cmd->BJNP_id)); - cmd->dev_type = BJNP_CMD_SCAN; - cmd->cmd_code = cmd_code; - cmd->unknown1 = htons (0); - - /* device not yet opened, use 0 for serial and session) */ - cmd->seq_no = htons (0); - cmd->session_id = htons (0); - cmd->payload_len = htonl (payload_len); -} - -static void -set_cmd_for_dev (int devno, struct BJNP_command *cmd, char cmd_code, int payload_len) -{ - /* - * Set command buffer with command code, session_id and length of payload - * Returns: sequence number of command - */ - - strncpy (cmd->BJNP_id, device[devno].protocol_string, sizeof (cmd->BJNP_id)); - cmd->dev_type = BJNP_CMD_SCAN; - cmd->cmd_code = cmd_code; - cmd->unknown1 = htons (0); - cmd->seq_no = htons (++(device[devno].serial)); - cmd->session_id = (cmd_code == CMD_UDP_POLL ) ? 0 : htons (device[devno].session_id); - device[devno].last_cmd = cmd_code; - cmd->payload_len = htonl (payload_len); -} - -static int -bjnp_setup_udp_socket ( const int dev_no ) -{ - /* - * Setup a udp socket for the given device - * Returns the socket or -1 in case of error - */ - - int sockfd; - char addr_string[256]; - int port; - bjnp_sockaddr_t * addr = device[dev_no].addr; - - get_address_info( addr, addr_string, &port); - - PDBG (bjnp_dbg (LOG_DEBUG, "setup_udp_socket: Setting up a UDP socket, dest: %s port %d\n", - addr_string, port ) ); - - if ((sockfd = socket (get_protocol_family( addr ), SOCK_DGRAM, IPPROTO_UDP)) == -1) - { - PDBG (bjnp_dbg - (LOG_CRIT, "setup_udp_socket: ERROR - can not open socket - %s\n", - strerror (errno))); - return -1; - } - - if (connect - (sockfd, &(device[dev_no].addr->addr), sa_size(device[dev_no].addr) )!= 0) - { - PDBG (bjnp_dbg - (LOG_CRIT, "setup_udp_socket: ERROR - connect failed- %s\n", - strerror (errno))); - close(sockfd); - return -1; - } - return sockfd; -} - -static int -udp_command (const int dev_no, char *command, int cmd_len, char *response, - int resp_len) -{ - /* - * send udp command to given device and recieve the response` - * returns: the legth of the response or -1 - */ - int sockfd; - struct timeval timeout; - int result; - int try, attempt; - int numbytes; - fd_set fdset; - struct BJNP_command *resp = (struct BJNP_command *) response; - struct BJNP_command *cmd = (struct BJNP_command *) command; - - if ( (sockfd = bjnp_setup_udp_socket(dev_no) ) == -1 ) - { - PDBG (bjnp_dbg( LOG_CRIT, "udp_command: ERROR - Can not setup socket\n") ); - return -1; - } - - for (try = 0; try < BJNP_UDP_RETRY_MAX; try++) - { - if ((numbytes = send (sockfd, command, cmd_len, 0)) != cmd_len) - { - PDBG (bjnp_dbg - (LOG_NOTICE, "udp_command: ERROR - Sent %d bytes, expected %d\n", - numbytes, cmd_len)); - continue; - } - - attempt = 0; - - /* wait for data to be received, ignore signals being received */ - /* skip late udp responses (they have an incorrect sequence number */ - do - { - FD_ZERO (&fdset); - FD_SET (sockfd, &fdset); - - timeout.tv_sec = device[dev_no].bjnp_timeout /1000; - timeout.tv_usec = device[dev_no].bjnp_timeout %1000; - } - while (((result = - select (sockfd + 1, &fdset, NULL, NULL, &timeout)) <= 0) - && (errno == EINTR) && (attempt++ < BJNP_MAX_SELECT_ATTEMPTS) - && resp-> seq_no != cmd->seq_no); - - if (result <= 0) - { - PDBG (bjnp_dbg - (LOG_NOTICE, "udp_command: ERROR - select failed: %s\n", - result == 0 ? "timed out" : strerror (errno))); - continue; - } - - if ((numbytes = recv (sockfd, response, resp_len, 0)) == -1) - { - PDBG (bjnp_dbg - (LOG_NOTICE, "udp_command: ERROR - recv failed: %s", - strerror (errno))); - continue; - } - close(sockfd); - return numbytes; - } - - /* no response even after retry */ - - close(sockfd); - PDBG (bjnp_dbg - (LOG_CRIT, "udp_command: ERROR - no data received (timeout = %d)\n", device[dev_no].bjnp_timeout ) ); - return -1; -} - -static int -get_scanner_id (const int dev_no, char *model) -{ - /* - * get scanner identity - * Sets model (make and model) - * Return 0 on success, -1 in case of errors - */ - - struct BJNP_command cmd; - struct IDENTITY *id; - char scanner_id[BJNP_IEEE1284_MAX]; - int resp_len; - char resp_buf[BJNP_RESP_MAX]; - int id_len; - - /* set defaults */ - - strcpy (model, "Unidentified scanner"); - - set_cmd_for_dev (dev_no, &cmd, CMD_UDP_GET_ID, 0); - - PDBG (bjnp_dbg (LOG_DEBUG2, "get_scanner_id: Get scanner identity\n")); - PDBG (bjnp_hexdump (LOG_DEBUG2, (char *) &cmd, - sizeof (struct BJNP_command))); - - if ( ( resp_len = udp_command (dev_no, (char *) &cmd, sizeof (struct BJNP_command), - resp_buf, BJNP_RESP_MAX) ) < (int)sizeof(struct BJNP_command) ) - { - PDBG (bjnp_dbg (LOG_DEBUG, "get_scanner_id: ERROR - Failed to retrieve scanner identity:\n")); - return -1; - } - PDBG (bjnp_dbg (LOG_DEBUG2, "get_scanner_id: scanner identity:\n")); - PDBG (bjnp_hexdump (LOG_DEBUG2, resp_buf, resp_len)); - - id = (struct IDENTITY *) resp_buf; - - if (device[dev_no].protocol == PROTOCOL_BJNP) - { - id_len = MIN(ntohl( id-> cmd.payload_len ) - sizeof(id-> payload.bjnp.id_len), BJNP_IEEE1284_MAX); - strncpy(scanner_id, id->payload.bjnp.id, id_len); - scanner_id[id_len] = '\0'; - } - else - { - id_len = MIN(ntohl( id-> cmd.payload_len ), BJNP_IEEE1284_MAX); - strncpy(scanner_id, id->payload.mfnp.id, id_len); - scanner_id[id_len] = '\0'; - } - PDBG (bjnp_dbg (LOG_INFO, "get_scanner_id: Scanner identity string = %s - length = %d\n", scanner_id, id_len)); - - /* get make&model from IEEE1284 id */ - - if (model != NULL) - { - parse_IEEE1284_to_model (scanner_id, model); - PDBG (bjnp_dbg (LOG_INFO, "get_scanner_id: Scanner model = %s\n", model)); - } - return 0; -} - -static int -get_scanner_name(const bjnp_sockaddr_t *scanner_sa, char *host) -{ - /* - * Parse identify command responses to ip-address - * and hostname. Return qulity of the address - */ - - struct addrinfo *results; - struct addrinfo *result; - char ip_address[BJNP_HOST_MAX]; - int port; - int error; - int match = 0; - int level; - char service[64]; - -#ifdef ENABLE_IPV6 - if ( ( scanner_sa -> addr.sa_family == AF_INET6 ) && - ( IN6_IS_ADDR_LINKLOCAL( &(scanner_sa -> ipv6.sin6_addr ) ) ) ) - level = BJNP_ADDRESS_IS_LINK_LOCAL; - else -#endif - level = BJNP_ADDRESS_IS_GLOBAL; - - get_address_info( scanner_sa, ip_address, &port ); - - /* do reverse name lookup, if hostname can not be found return ip-address */ - - if( (error = getnameinfo( &(scanner_sa -> addr) , sa_size( scanner_sa), - host, BJNP_HOST_MAX , NULL, 0, NI_NAMEREQD) ) != 0 ) - { - PDBG (bjnp_dbg(LOG_INFO, "get_scanner_name: Name for %s not found : %s\n", - ip_address, gai_strerror(error) ) ); - strcpy(host, ip_address); - return level; - } - else - { - sprintf(service, "%d", port); - /* some buggy routers return rubbish if reverse lookup fails, so - * we do a forward lookup on the received name to see if the result matches */ - - if (getaddrinfo(host , service, NULL, &results) == 0) - { - result = results; - - while (result != NULL) - { - if(sa_is_equal( scanner_sa, (bjnp_sockaddr_t *)result-> ai_addr)) - { - /* found match, good */ - PDBG (bjnp_dbg (LOG_INFO, - "get_scanner_name: Forward lookup for %s succeeded, using as hostname\n", host)); - match = 1; - level = BJNP_ADDRESS_HAS_FQDN; - break; - } - result = result-> ai_next; - } - freeaddrinfo(results); - - if (match != 1) - { - PDBG (bjnp_dbg (LOG_INFO, - "get_scanner_name: Forward lookup for %s succeeded, IP-address does not match, using IP-address %s instead\n", - host, ip_address)); - strcpy (host, ip_address); - } - } - else - { - /* forward lookup failed, use ip-address */ - PDBG ( bjnp_dbg (LOG_INFO, "get_scanner_name: Forward lookup of %s failed, using IP-address", ip_address)); - strcpy (host, ip_address); - } - } - return level; -} - -static int -get_port_from_sa(const bjnp_sockaddr_t scanner_sa) -{ -#ifdef ENABLE_IPV6 - if ( scanner_sa.addr.sa_family == AF_INET6 ) - { - return ntohs(scanner_sa.ipv6.sin6_port); - } - else -#endif - if ( scanner_sa.addr.sa_family == AF_INET ) - { - return ntohs(scanner_sa.ipv4.sin_port); - } - return -1; -} - -static int create_broadcast_socket( const bjnp_sockaddr_t * local_addr ) -{ - int sockfd = -1; - int broadcast = 1; - int ipv6_v6only = 1; - - - if ((sockfd = socket (local_addr-> addr.sa_family, SOCK_DGRAM, 0)) == -1) - { - PDBG (bjnp_dbg - (LOG_CRIT, "create_broadcast_socket: ERROR - can not open socket - %s", - strerror (errno))); - return -1; - } - - /* Set broadcast flag on socket */ - - if (setsockopt - (sockfd, SOL_SOCKET, SO_BROADCAST, (const char *) &broadcast, - sizeof (broadcast)) != 0) - { - PDBG (bjnp_dbg - (LOG_CRIT, - "create_broadcast_socket: ERROR - setting socket option SO_BROADCAST failed - %s", - strerror (errno))); - close (sockfd); - return -1; - }; - - /* For an IPv6 socket, bind to v6 only so a V6 socket can co-exist with a v4 socket */ - if ( (local_addr -> addr.sa_family == AF_INET6) && ( setsockopt - (sockfd, IPPROTO_IPV6, IPV6_V6ONLY, (const char *) &ipv6_v6only, - sizeof (ipv6_v6only)) != 0) ) - { - PDBG (bjnp_dbg - (LOG_CRIT, - "create_broadcast_socket: ERROR - setting socket option IPV6_V6ONLY failed - %s", - strerror (errno))); - close (sockfd); - return -1; - }; - - if (bind - (sockfd, &(local_addr->addr), - (socklen_t) sa_size( local_addr)) != 0) - { - PDBG (bjnp_dbg - (LOG_CRIT, - "create_broadcast_socket: ERROR - bind socket to local address failed - %s\n", - strerror (errno))); - close (sockfd); - return -1; - } - return sockfd; -} - -static int -prepare_socket(const char *if_name, const bjnp_sockaddr_t *local_sa, - const bjnp_sockaddr_t *broadcast_sa, bjnp_sockaddr_t * dest_sa) -{ - /* - * Prepare a socket for broadcast or multicast - * Input: - * if_name: the name of the interface - * local_sa: local address to use - * broadcast_sa: broadcast address to use, if NULL we use all hosts - * dest_sa: (write) where to return destination address of broadcast - * retuns: open socket or -1 - */ - - int socket = -1; - bjnp_sockaddr_t local_sa_copy; - - if ( local_sa == NULL ) - { - PDBG (bjnp_dbg (LOG_DEBUG, - "prepare_socket: %s is not a valid IPv4 interface, skipping...\n", - if_name)); - return -1; - } - - memset( &local_sa_copy, 0, sizeof(local_sa_copy) ); - memcpy( &local_sa_copy, local_sa, sa_size(local_sa) ); - - switch( local_sa_copy.addr.sa_family ) - { - case AF_INET: - { - local_sa_copy.ipv4.sin_port = htons(BJNP_PORT_SCAN); - - if (local_sa_copy.ipv4.sin_addr.s_addr == htonl (INADDR_LOOPBACK) ) - { - /* not a valid interface */ - - PDBG (bjnp_dbg (LOG_DEBUG, - "prepare_socket: %s is not a valid IPv4 interface, skipping...\n", - if_name)); - return -1; - } - - - /* send broadcasts to the broadcast address of the interface */ - - memcpy(dest_sa, broadcast_sa, sa_size(dest_sa) ); - - /* we fill port when we send the broadcast */ - dest_sa -> ipv4.sin_port = htons(0); - - if ( (socket = create_broadcast_socket( &local_sa_copy) ) != -1) - { - PDBG (bjnp_dbg (LOG_INFO, "prepare_socket: %s is IPv4 capable, sending broadcast, socket = %d\n", - if_name, socket)); - } - else - { - PDBG (bjnp_dbg (LOG_INFO, "prepare_socket: ERROR - %s is IPv4 capable, but failed to create a socket.\n", - if_name)); - return -1; - } - } - break; -#ifdef ENABLE_IPV6 - case AF_INET6: - { - local_sa_copy.ipv6.sin6_port = htons(BJNP_PORT_SCAN); - - if (IN6_IS_ADDR_LOOPBACK( &(local_sa_copy.ipv6.sin6_addr) ) ) - { - /* not a valid interface */ - - PDBG (bjnp_dbg (LOG_DEBUG, - "prepare_socket: %s is not a valid IPv6 interface, skipping...\n", - if_name)); - return -1; - } - else - { - dest_sa -> ipv6.sin6_family = AF_INET6; - - /* We fill port when we send the broadcast */ - dest_sa -> ipv6.sin6_port = htons(0); - - inet_pton(AF_INET6, "ff02::1", dest_sa -> ipv6.sin6_addr.s6_addr); - if ( (socket = create_broadcast_socket( &local_sa_copy ) ) != -1) - { - PDBG (bjnp_dbg (LOG_INFO, "prepare_socket: %s is IPv6 capable, sending broadcast, socket = %d\n", - if_name, socket)); - } - else - { - PDBG (bjnp_dbg (LOG_INFO, "prepare_socket: ERROR - %s is IPv6 capable, but failed to create a socket.\n", - if_name)); - return -1; - } - } - } - break; -#endif - - default: - socket = -1; - } - return socket; -} - -static int -bjnp_send_broadcast (int sockfd, const bjnp_sockaddr_t * broadcast_addr, int port, - struct BJNP_command cmd, int size) -{ - int num_bytes; - bjnp_sockaddr_t dest_addr; - - /* set address to send packet to broadcast address of interface, */ - /* with port set to the destination port */ - - memcpy(&dest_addr, broadcast_addr, sizeof(dest_addr)); - if( dest_addr.addr.sa_family == AF_INET) - { - dest_addr.ipv4.sin_port = htons(port); - } -#ifdef ENABLE_IPV6 - if( dest_addr.addr.sa_family == AF_INET6) - { - dest_addr.ipv6.sin6_port = htons(port); - } -#endif - - if ((num_bytes = sendto (sockfd, &cmd, size, 0, - &(dest_addr.addr), - sa_size( broadcast_addr)) ) != size) - { - PDBG (bjnp_dbg (LOG_INFO, - "bjnp_send_broadcast: Socket: %d: ERROR - sent only %x = %d bytes of packet, error = %s\n", - sockfd, num_bytes, num_bytes, strerror (errno))); - /* not allowed, skip this interface */ - - return -1; - } - return sockfd; -} - -static void -bjnp_finish_job (int devno) -{ -/* - * Signal end of scanjob to scanner - */ - - char resp_buf[BJNP_RESP_MAX]; - int resp_len; - struct BJNP_command cmd; - - set_cmd_for_dev (devno, &cmd, CMD_UDP_CLOSE, 0); - - PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_finish_job: Finish scanjob\n")); - PDBG (bjnp_hexdump - (LOG_DEBUG2, (char *) &cmd, sizeof (struct BJNP_command))); - resp_len = - udp_command (devno, (char *) &cmd, sizeof (struct BJNP_command), resp_buf, - BJNP_RESP_MAX); - - if (resp_len != sizeof (struct BJNP_command)) - { - PDBG (bjnp_dbg - (LOG_INFO, - "bjnp_finish_job: ERROR - Received %d characters on close scanjob command, expected %d\n", - resp_len, (int) sizeof (struct BJNP_command))); - return; - } - PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_finish_job: Finish scanjob response\n")); - PDBG (bjnp_hexdump (LOG_DEBUG2, resp_buf, resp_len)); - -} - -#ifdef PIXMA_BJNP_USE_STATUS -static int -bjnp_poll_scanner (int devno, char type,char *hostname, char *user, SANE_Byte *status, int size) -{ -/* - * send details of user to the scanner - */ - - char cmd_buf[BJNP_CMD_MAX]; - char resp_buf[BJNP_RESP_MAX]; - int resp_len; - int len = 0; /* payload length */ - int buf_len; /* length of the whole command buffer */ - struct POLL_DETAILS *poll; - struct POLL_RESPONSE *response; - char user_host[256]; - time_t t; - int user_host_len; - - poll = (struct POLL_DETAILS *) cmd_buf; - memset( poll, 0, sizeof( struct POLL_DETAILS)); - memset( &resp_buf, 0, sizeof( resp_buf) ); - - - /* create payload */ - poll->type = htons(type); - - user_host_len = sizeof( poll -> extensions.type2.user_host); - snprintf(user_host, (user_host_len /2) ,"%s %s", user, hostname); - user_host[ user_host_len /2 + 1] = '\0'; - - switch( type) { - case 0: - len = 80; - break; - case 1: - charTo2byte(poll->extensions.type1.user_host, user_host, user_host_len); - len = 80; - break; - case 2: - poll->extensions.type2.dialog = htonl(device[devno].dialog); - charTo2byte(poll->extensions.type2.user_host, user_host, user_host_len); - poll->extensions.type2.unknown_1 = htonl(0x14); - poll->extensions.type2.unknown_2 = htonl(0x10); - t = time (NULL); - strftime (poll->extensions.type2.ascii_date, - sizeof (poll->extensions.type2.ascii_date), - "%Y%m%d%H%M%S", localtime (&t)); - len = 116; - break; - case 5: - poll->extensions.type5.dialog = htonl(device[devno].dialog); - charTo2byte(poll->extensions.type5.user_host, user_host, user_host_len); - poll->extensions.type5.unknown_1 = htonl(0x14); - poll->extensions.type5.key = htonl(device[devno].status_key); - len = 100; - break; - default: - PDBG (bjnp_dbg (LOG_INFO, "bjnp_poll_scanner: unknown packet type: %d\n", type)); - return -1; - }; - /* we can only now set the header as we now know the length of the payload */ - set_cmd_for_dev (devno, (struct BJNP_command *) cmd_buf, CMD_UDP_POLL, - len); - - buf_len = len + sizeof(struct BJNP_command); - PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_poll_scanner: Poll details (type %d)\n", type)); - PDBG (bjnp_hexdump (LOG_DEBUG2, cmd_buf, - buf_len)); - - resp_len = udp_command (devno, cmd_buf, buf_len, resp_buf, BJNP_RESP_MAX); - - if (resp_len > 0) - { - PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_poll_scanner: Poll details response:\n")); - PDBG (bjnp_hexdump (LOG_DEBUG2, resp_buf, resp_len)); - response = (struct POLL_RESPONSE *) resp_buf; - - device[devno].dialog = ntohl( response -> dialog ); - - if ( response -> result[3] == 1 ) - { - return BJNP_RESTART_POLL; - } - if ( (response -> result[2] & 0x80) != 0) - { - memcpy( status, response->status, size); - PDBG( bjnp_dbg(LOG_INFO, "bjnp_poll_scanner: received button status!\n")); - PDBG (bjnp_hexdump( LOG_DEBUG2, status, size )); - device[devno].status_key = ntohl( response -> key ); - return size; - } - } - return 0; -} -#endif - -static void -bjnp_send_job_details (int devno, char *hostname, char *user, char *title) -{ -/* - * send details of scanjob to scanner - */ - - char cmd_buf[BJNP_CMD_MAX]; - char resp_buf[BJNP_RESP_MAX]; - int resp_len; - struct JOB_DETAILS *job; - struct BJNP_command *resp; - - /* send job details command */ - - set_cmd_for_dev (devno, (struct BJNP_command *) cmd_buf, CMD_UDP_JOB_DETAILS, - sizeof (*job) - sizeof (struct BJNP_command)); - - /* create payload */ - - job = (struct JOB_DETAILS *) (cmd_buf); - charTo2byte (job->unknown, "", sizeof (job->unknown)); - charTo2byte (job->hostname, hostname, sizeof (job->hostname)); - charTo2byte (job->username, user, sizeof (job->username)); - charTo2byte (job->jobtitle, title, sizeof (job->jobtitle)); - - PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_send_job_details: Job details\n")); - PDBG (bjnp_hexdump (LOG_DEBUG2, cmd_buf, - (sizeof (struct BJNP_command) + sizeof (*job)))); - - resp_len = udp_command (devno, cmd_buf, - sizeof (struct JOB_DETAILS), resp_buf, - BJNP_RESP_MAX); - - if (resp_len > 0) - { - PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_send_job_details: Job details response:\n")); - PDBG (bjnp_hexdump (LOG_DEBUG2, resp_buf, resp_len)); - resp = (struct BJNP_command *) resp_buf; - device[devno].session_id = ntohs (resp->session_id); - } -} - -static int -bjnp_get_scanner_mac_address ( int devno, char *mac_address ) -{ -/* - * send discover to scanner - */ - - char cmd_buf[BJNP_CMD_MAX]; - char resp_buf[BJNP_RESP_MAX]; - int resp_len; - struct DISCOVER_RESPONSE *resp = (struct DISCOVER_RESPONSE * )&resp_buf;; - - /* send job details command */ - - set_cmd_for_dev (devno, (struct BJNP_command *) cmd_buf, CMD_UDP_DISCOVER, 0); - resp_len = udp_command (devno, cmd_buf, - sizeof (struct BJNP_command), resp_buf, - BJNP_RESP_MAX); - - if (resp_len > 0) - { - PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_get_scanner_mac_address: Discover response:\n")); - PDBG (bjnp_hexdump (LOG_DEBUG2, resp_buf, resp_len)); - u8tohex( mac_address, resp -> mac_addr, sizeof( resp -> mac_addr ) ); - return 0; - } - return -1; -} - -static int -bjnp_write (int devno, const SANE_Byte * buf, size_t count) -{ -/* - * This function writes TCP data to the scanner. - * Returns: number of bytes written to the scanner - */ - int sent_bytes; - int terrno; - struct SCAN_BUF bjnp_buf; - - if (device[devno].scanner_data_left) - { - PDBG (bjnp_dbg - (LOG_CRIT, "bjnp_write: ERROR - scanner data left = 0x%lx = %ld\n", - (unsigned long) device[devno].scanner_data_left, - (unsigned long) device[devno].scanner_data_left)); - } - /* set BJNP command header */ - - set_cmd_for_dev (devno, (struct BJNP_command *) &bjnp_buf, CMD_TCP_SEND, count); - memcpy (bjnp_buf.scan_data, buf, count); - PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_write: sending 0x%lx = %ld bytes\n", - (unsigned long) count, (unsigned long) count); - PDBG (bjnp_hexdump (LOG_DEBUG2, (char *) &bjnp_buf, - sizeof (struct BJNP_command) + count))); - - if ((sent_bytes = - send (device[devno].tcp_socket, &bjnp_buf, - sizeof (struct BJNP_command) + count, 0)) < - (ssize_t) (sizeof (struct BJNP_command) + count)) - { - /* return result from write */ - terrno = errno; - PDBG (bjnp_dbg (LOG_CRIT, "bjnp_write: ERROR - Could not send data!\n")); - errno = terrno; - return sent_bytes; - } - /* correct nr of bytes sent for length of command */ - - else if (sent_bytes != (int) (sizeof (struct BJNP_command) + count)) - { - errno = EIO; - return -1; - } - return count; -} - -static int -bjnp_send_read_request (int devno) -{ -/* - * This function reads responses from the scanner. - * Returns: 0 on success, else -1 - * - */ - int sent_bytes; - int terrno; - struct BJNP_command bjnp_buf; - - if (device[devno].scanner_data_left) - PDBG (bjnp_dbg - (LOG_CRIT, - "bjnp_send_read_request: ERROR - scanner data left = 0x%lx = %ld\n", - (unsigned long) device[devno].scanner_data_left, - (unsigned long) device[devno].scanner_data_left)); - - /* set BJNP command header */ - - set_cmd_for_dev (devno, (struct BJNP_command *) &bjnp_buf, CMD_TCP_REQ, 0); - - PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_send_read_req sending command\n")); - PDBG (bjnp_hexdump (LOG_DEBUG2, (char *) &bjnp_buf, - sizeof (struct BJNP_command))); - - if ((sent_bytes = - send (device[devno].tcp_socket, &bjnp_buf, sizeof (struct BJNP_command), - 0)) < 0) - { - /* return result from write */ - terrno = errno; - PDBG (bjnp_dbg - (LOG_CRIT, "bjnp_send_read_request: ERROR - Could not send data!\n")); - errno = terrno; - return -1; - } - return 0; -} - -static SANE_Status -bjnp_recv_header (int devno, size_t *payload_size ) -{ -/* - * This function receives the response header to bjnp commands. - * devno device number - * size: return value for data size returned by scanner - * Returns: - * SANE_STATUS_IO_ERROR when any IO error occurs - * SANE_STATUS_GOOD in case no errors were encountered - */ - struct BJNP_command resp_buf; - fd_set input; - struct timeval timeout; - int recv_bytes; - int terrno; - int result; - int fd; - int attempt; - - PDBG (bjnp_dbg - (LOG_DEBUG, "bjnp_recv_header: receiving response header\n") ); - fd = device[devno].tcp_socket; - - *payload_size = 0; - attempt = 0; - do - { - /* wait for data to be received, ignore signals being received */ - FD_ZERO (&input); - FD_SET (fd, &input); - - timeout.tv_sec = device[devno].bjnp_timeout /1000; - timeout.tv_usec = device[devno].bjnp_timeout %1000; - } - while ( ( (result = select (fd + 1, &input, NULL, NULL, &timeout)) <= 0) && - (errno == EINTR) && (attempt++ < BJNP_MAX_SELECT_ATTEMPTS)); - - if (result < 0) - { - terrno = errno; - PDBG (bjnp_dbg (LOG_CRIT, - "bjnp_recv_header: ERROR - could not read response header (select): %s!\n", - strerror (terrno))); - errno = terrno; - return SANE_STATUS_IO_ERROR; - } - else if (result == 0) - { - terrno = errno; - PDBG (bjnp_dbg (LOG_CRIT, - "bjnp_recv_header: ERROR - could not read response header (select timed out after %d ms)!\n", - device[devno].bjnp_timeout ) ); - errno = terrno; - return SANE_STATUS_IO_ERROR; - } - - /* get response header */ - - if ((recv_bytes = - recv (fd, (char *) &resp_buf, - sizeof (struct BJNP_command), - 0)) != sizeof (struct BJNP_command)) - { - terrno = errno; - if (recv_bytes == 0) - { - PDBG (bjnp_dbg (LOG_CRIT, - "bjnp_recv_header: ERROR - (recv) Scanner closed the TCP-connection!\n")); - } else { - PDBG (bjnp_dbg (LOG_CRIT, - "bjnp_recv_header: ERROR - (recv) could not read response header, received %d bytes!\n", - recv_bytes)); - PDBG (bjnp_dbg - (LOG_CRIT, "bjnp_recv_header: ERROR - (recv) error: %s!\n", - strerror (terrno))); - } - errno = terrno; - return SANE_STATUS_IO_ERROR; - } - - if (resp_buf.cmd_code != device[devno].last_cmd) - { - PDBG (bjnp_dbg - (LOG_CRIT, - "bjnp_recv_header: ERROR - Received response has cmd code %d, expected %d\n", - resp_buf.cmd_code, device[devno].last_cmd)); - return SANE_STATUS_IO_ERROR; - } - - if (ntohs (resp_buf.seq_no) != (uint16_t) device[devno].serial) - { - PDBG (bjnp_dbg - (LOG_CRIT, - "bjnp_recv_header: ERROR - Received response has serial %d, expected %d\n", - (int) ntohs (resp_buf.seq_no), (int) device[devno].serial)); - return SANE_STATUS_IO_ERROR; - } - - /* got response header back, retrieve length of payload */ - - - *payload_size = ntohl (resp_buf.payload_len); - PDBG (bjnp_dbg - (LOG_DEBUG, "bjnp_recv_header: TCP response header(payload data = %ld bytes):\n", - *payload_size) ); - PDBG (bjnp_hexdump - (LOG_DEBUG2, (char *) &resp_buf, sizeof (struct BJNP_command))); - return SANE_STATUS_GOOD; -} - -static int -bjnp_init_device_structure(int dn, bjnp_sockaddr_t *sa, bjnp_protocol_defs_t *protocol_defs, int min_timeout) -{ - /* initialize device structure */ - - char name[BJNP_HOST_MAX]; - - device[dn].open = 0; -#ifdef PIXMA_BJNP_USE_STATUS - device[dn].polling_status = BJNP_POLL_STOPPED; - device[dn].dialog = 0; - device[dn].status_key = 0; -#endif - device[dn].protocol = protocol_defs->protocol_version; - device[dn].protocol_string = protocol_defs->proto_string; - device[dn].tcp_socket = -1; - - device[dn].addr = (bjnp_sockaddr_t *) malloc(sizeof ( bjnp_sockaddr_t) ); - memset( device[dn].addr, 0, sizeof( bjnp_sockaddr_t ) ); - memcpy(device[dn].addr, sa, sa_size((bjnp_sockaddr_t *)sa) ); - device[dn].address_level = get_scanner_name(sa, name); - device[dn].session_id = 0; - device[dn].serial = -1; - device[dn].bjnp_timeout = min_timeout; - device[dn].bjnp_min_timeout = min_timeout; - device[dn].scanner_data_left = 0; - device[dn].last_cmd = 0; - device[dn].blocksize = BJNP_BLOCKSIZE_START; - device[dn].last_block = 0; - /* fill mac_address */ - - if (bjnp_get_scanner_mac_address(dn, device[dn].mac_address) != 0 ) - { - PDBG (bjnp_dbg - (LOG_CRIT, "bjnp_init_device_structure: Cannot read mac address, skipping this scanner\n" ) ); - return -1; - } - return 0; -} - -static void -bjnp_free_device_structure( int dn) -{ - if (device[dn].addr != NULL) - { - free (device[dn].addr ); - device[dn].addr = NULL; - } - device[dn].open = 0; -} - -static SANE_Status -bjnp_recv_data (int devno, SANE_Byte * buffer, size_t start_pos, size_t * len) -{ -/* - * This function receives the payload data. - * NOTE: len may not exceed SSIZE_MAX (as that is max for recv) - * len will be restricted to SSIZE_MAX to be sure - * Returns: number of bytes of payload received from device - */ - - fd_set input; - struct timeval timeout; - ssize_t recv_bytes; - int terrno; - int result; - int fd; - int attempt; - - PDBG (bjnp_dbg - (LOG_DEBUG, "bjnp_recv_data: read response payload (0x%lx bytes max), buffer: 0x%lx, start_pos: 0x%lx\n", - (long) *len, (long) buffer, (long) start_pos)); - - - if (*len == 0) - { - /* nothing to do */ - PDBG (bjnp_dbg - (LOG_DEBUG, "bjnp_recv_data: Nothing to do (%ld bytes requested)\n", - (long) *len)); - return SANE_STATUS_GOOD; - } - else if ( *len > SSIZE_MAX ) - { - PDBG (bjnp_dbg - (LOG_DEBUG, "bjnp_recv_data: WARNING - requested block size (%ld) exceeds maximum, setting to maximum %ld\n", - (long)*len, SSIZE_MAX)); - *len = SSIZE_MAX; - } - - fd = device[devno].tcp_socket; - attempt = 0; - do - { - /* wait for data to be received, retry on a signal being received */ - FD_ZERO (&input); - FD_SET (fd, &input); - timeout.tv_sec = device[devno].bjnp_timeout /1000; - timeout.tv_usec = device[devno].bjnp_timeout %1000; - } - while (((result = select (fd + 1, &input, NULL, NULL, &timeout)) <= 0) && - (errno == EINTR) && (attempt++ < BJNP_MAX_SELECT_ATTEMPTS)); - - if (result < 0) - { - terrno = errno; - PDBG (bjnp_dbg (LOG_CRIT, - "bjnp_recv_data: ERROR - could not read response payload (select failed): %s!\n", - strerror (errno))); - errno = terrno; - *len = 0; - return SANE_STATUS_IO_ERROR; - } - else if (result == 0) - { - terrno = errno; - PDBG (bjnp_dbg (LOG_CRIT, - "bjnp_recv_data: ERROR - could not read response payload (select timed out after %d ms)!\n", - device[devno].bjnp_timeout) ); - errno = terrno; - *len = 0; - return SANE_STATUS_IO_ERROR; - } - - if ((recv_bytes = recv (fd, buffer + start_pos, *len, 0)) < 0) - { - terrno = errno; - PDBG (bjnp_dbg (LOG_CRIT, - "bjnp_recv_data: ERROR - could not read response payload (%ld + %ld = %ld) (recv): %s!\n", - (long) buffer, (long) start_pos, (long) buffer + start_pos, strerror (errno))); - errno = terrno; - *len = 0; - return SANE_STATUS_IO_ERROR; - } - PDBG (bjnp_dbg (LOG_DEBUG2, "bjnp_recv_data: Received TCP response payload (%ld bytes):\n", - (unsigned long) recv_bytes)); - PDBG (bjnp_hexdump (LOG_DEBUG2, buffer, recv_bytes)); - - *len = recv_bytes; - return SANE_STATUS_GOOD; -} - -static BJNP_Status -bjnp_allocate_device (SANE_String_Const devname, - SANE_Int * dn, char *resulting_host) -{ - char method[BJNP_METHOD_MAX]; - char host[BJNP_HOST_MAX]; - char port[BJNP_PORT_MAX] = ""; - char args[BJNP_ARGS_MAX]; - bjnp_protocol_defs_t *protocol_defs; - struct addrinfo *res, *cur; - struct addrinfo hints; - int result; - int i; - int min_timeout = BJNP_TIMEOUT_DEFAULT; - - PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_allocate_device(%s) %d\n", devname, bjnp_no_devices)); - - if (split_uri (devname, method, host, port, args) != 0) - { - return BJNP_STATUS_INVAL; - } - - if (strlen (args) > 0) - { - /* get device specific timeout if any */ - - if (strncmp(args, "timeout=", strlen("timeout=")) == 0) - { - min_timeout = atoi(args + strlen("timeout=")); - if (min_timeout < BJNP_TIMEOUT_DEFAULT) - min_timeout = BJNP_TIMEOUT_DEFAULT; - } else { - PDBG (bjnp_dbg - (LOG_CRIT, - "bjnp_allocate_device: ERROR - Unrecognized argument: %s\n", - devname)); - - return BJNP_STATUS_INVAL; - } - } - if ( (protocol_defs = get_protocol_by_method(method)) == NULL) - { - PDBG (bjnp_dbg - (LOG_CRIT, "bjnp_allocate_device: ERROR - URI %s contains invalid method: %s\n", - devname, method)); - return BJNP_STATUS_INVAL; - } - - if (strlen(port) == 0) - { - sprintf( port, "%d", protocol_defs->default_port ); - } - - hints.ai_flags = 0; -#ifdef ENABLE_IPV6 - hints.ai_family = AF_UNSPEC; -#else - hints.ai_family = AF_INET; -#endif - hints.ai_socktype = SOCK_DGRAM; - hints.ai_protocol = 0; - hints.ai_addrlen = 0; - hints.ai_addr = NULL; - hints.ai_canonname = NULL; - hints.ai_next = NULL; - - result = getaddrinfo (host, port, &hints, &res ); - if (result != 0 ) - { - PDBG (bjnp_dbg (LOG_CRIT, "bjnp_allocate_device: ERROR - Cannot resolve host: %s port %s\n", host, port)); - return SANE_STATUS_INVAL; - } - - /* Check if a device number is already allocated to any of the scanner's addresses */ - - cur = res; - while( cur != NULL) - { - /* create a new device structure for this address */ - - if (bjnp_no_devices == BJNP_NO_DEVICES) - { - PDBG (bjnp_dbg - (LOG_CRIT, - "bjnp_allocate_device: WARNING - Too many devices, ran out of device structures, cannot add %s\n", - devname)); - freeaddrinfo(res); - return BJNP_STATUS_INVAL; - } - if (bjnp_init_device_structure( bjnp_no_devices, (bjnp_sockaddr_t *)cur -> ai_addr, - protocol_defs, min_timeout) != 0) - { - /* giving up on this address, try next one if any */ - break; - } - for (i = 0; i < bjnp_no_devices; i++) - { - - /* Check if found the scanner before, if so we use the best address - * but still make sure the scanner is listed only once. - * We check for matching addresses as wel as matching mac_addresses as - * an IPv6 host can have multiple adresses */ - - if ( strcmp( device[i].mac_address, device[bjnp_no_devices].mac_address ) == 0 ) - { - if ( device[i].address_level < device[bjnp_no_devices].address_level ) - { - /* use the new address instead as it is better */ - free (device[i].addr); - device[i].addr = device[bjnp_no_devices].addr; - device[bjnp_no_devices].addr = NULL; - device[i].address_level = device[bjnp_no_devices].address_level; - } - - /* check if new timeout value was defined (e.g. from sanei_bjnp_device_open) - * if so, use new timout value */ - - if (device[i].bjnp_min_timeout < device[bjnp_no_devices].bjnp_min_timeout) - { - /* use the longer timeout as requested */ - device[i].bjnp_timeout = device[bjnp_no_devices].bjnp_min_timeout; - device[i].bjnp_min_timeout = device[bjnp_no_devices].bjnp_min_timeout; - } - freeaddrinfo(res); - *dn = i; - bjnp_free_device_structure( bjnp_no_devices); - return BJNP_STATUS_ALREADY_ALLOCATED; - } - } - cur = cur->ai_next; - } - freeaddrinfo(res); - - PDBG (bjnp_dbg (LOG_INFO, "bjnp_allocate_device: Scanner not yet in our list, added it: %s:%s\n", host, port)); - - /* Commit new device structure */ - - *dn = bjnp_no_devices; - bjnp_no_devices++; - - /* return hostname if required */ - - if (resulting_host != NULL) - { - strcpy (resulting_host, host); - } - - return BJNP_STATUS_GOOD; -} - -static void add_scanner(SANE_Int *dev_no, - const char *uri, - SANE_Status (*attach_bjnp) - (SANE_String_Const devname, - SANE_String_Const makemodel, - SANE_String_Const serial, - const struct pixma_config_t * - const pixma_devices[]), - const struct pixma_config_t *const pixma_devices[]) - -{ - char scanner_host[BJNP_HOST_MAX]; - char serial[BJNP_SERIAL_MAX]; - char makemodel[BJNP_IEEE1284_MAX]; - - /* Allocate device structure for scanner */ - switch (bjnp_allocate_device (uri, dev_no, scanner_host)) - { - case BJNP_STATUS_GOOD: - if (get_scanner_id (*dev_no, makemodel) != 0) - { - PDBG (bjnp_dbg (LOG_CRIT, "add_scanner: ERROR - Cannot read scanner make & model: %s\n", - uri)); - } - else - { - /* - * inform caller of found scanner - */ - - determine_scanner_serial (scanner_host, device[*dev_no].mac_address, serial); - - attach_bjnp (uri, makemodel, - serial, pixma_devices); - PDBG (bjnp_dbg (LOG_NOTICE, "add_scanner: New scanner added: %s, serial %s, mac address: %s.\n", - uri, serial, device[*dev_no].mac_address)); - } - break; - case BJNP_STATUS_ALREADY_ALLOCATED: - PDBG (bjnp_dbg (LOG_NOTICE, "add_scanner: Scanner at %s was added before, good!\n", - uri)); - break; - - case BJNP_STATUS_INVAL: - PDBG (bjnp_dbg (LOG_NOTICE, "add_scanner: Scanner at %s can not be added\n", - uri)); - break; - } -} - -int add_default_timeout(char *uri, int timeout, int max_len) -{ - char method[BJNP_METHOD_MAX]; - char host[BJNP_HOST_MAX]; - char port_str[BJNP_PORT_MAX]; - char args[BJNP_HOST_MAX]; - int port; - - if (split_uri(uri, method, host, port_str, args ) != 0) - { - return -1; - } - - port = atoi(port_str); - if (port == 0) - { - port = 8612; - } - - if (strstr(args, "timeout=") == NULL) - { - sprintf(args, "timeout=%d", timeout); - } - - snprintf(uri, max_len -1, "%s://%s:%d/%s", method,host, port, args); - return 0; -} - - -/* - * Public functions - */ - -/** Initialize sanei_bjnp. - * - * Call this before any other sanei_bjnp function. - */ -extern void -sanei_bjnp_init (void) -{ - DBG_INIT(); - bjnp_no_devices = 0; -} - -/** - * Find devices that implement the bjnp protocol - * - * The function attach is called for every device which has been found. - * - * @param attach attach function - * - * @return SANE_STATUS_GOOD - on success (even if no scanner was found) - */ -extern SANE_Status -sanei_bjnp_find_devices (const char **conf_devices, - SANE_Status (*attach_bjnp) - (SANE_String_Const devname, - SANE_String_Const makemodel, - SANE_String_Const serial, - const struct pixma_config_t * - const pixma_devices[]), - const struct pixma_config_t *const pixma_devices[]) -{ - int numbytes = 0; - struct BJNP_command cmd; - unsigned char resp_buf[2048]; - struct DISCOVER_RESPONSE *disc_resp = ( struct DISCOVER_RESPONSE *) & resp_buf; - int socket_fd[BJNP_SOCK_MAX]; - int no_sockets; - int i; - int j; - int attempt; - int last_socketfd = 0; - fd_set fdset; - fd_set active_fdset; - struct timeval timeout; - char scanner_host[256]; - char uri[256]; - int dev_no; - int port; - int timeout_default = BJNP_TIMEOUT_DEFAULT; - bjnp_sockaddr_t broadcast_addr[BJNP_SOCK_MAX]; - bjnp_sockaddr_t scanner_sa; - socklen_t socklen; - bjnp_protocol_defs_t *protocol_defs; - - memset( broadcast_addr, 0, sizeof( broadcast_addr) ); - memset( &scanner_sa, 0 ,sizeof( scanner_sa ) ); - PDBG (bjnp_dbg (LOG_INFO, "sanei_bjnp_find_devices, pixma backend version: %d.%d.%d\n", - PIXMA_VERSION_MAJOR, PIXMA_VERSION_MINOR, PIXMA_VERSION_BUILD)); - bjnp_no_devices = 0; - - for (i=0; i < BJNP_SOCK_MAX; i++) - { - socket_fd[i] = -1; - } - - /* Add devices from config file */ - - if (conf_devices[0] == NULL) - PDBG (bjnp_dbg( LOG_DEBUG, "sanei_bjnp_find_devices: No devices specified in configuration file.\n" ) ); - - for (i = 0; conf_devices[i] != NULL; i++) - { - if (strncmp(conf_devices[i], "bjnp-timeout=", strlen("bjnp-timeout="))== 0) - { - timeout_default = atoi(conf_devices[i] + strlen("bjnp-timeout=") ); - if (timeout_default < BJNP_TIMEOUT_DEFAULT) - { - timeout_default = BJNP_TIMEOUT_DEFAULT; - } - PDBG ( bjnp_dbg - (LOG_DEBUG, "Set new default timeout value: %d ms.", timeout_default)); - continue; - } - PDBG (bjnp_dbg - (LOG_DEBUG, "sanei_bjnp_find_devices: Adding scanner from pixma.conf: %s\n", conf_devices[i])); - strncpy(uri, conf_devices[i], sizeof(uri)); - add_default_timeout(uri, timeout_default, sizeof(uri)); - add_scanner(&dev_no, uri, attach_bjnp, pixma_devices); - } - PDBG (bjnp_dbg - (LOG_DEBUG, - "sanei_bjnp_find_devices: Added all configured scanners, now do auto detection...\n")); - - /* - * Send UDP DISCOVER to discover scanners and return the list of scanners found - */ - - FD_ZERO (&fdset); - - no_sockets = 0; -#ifdef HAVE_IFADDRS_H - { - struct ifaddrs *interfaces = NULL; - struct ifaddrs *interface; - getifaddrs (&interfaces); - - /* create a socket for each suitable interface */ - - interface = interfaces; - while ((no_sockets < BJNP_SOCK_MAX) && (interface != NULL)) - { - if ( ! (interface -> ifa_flags & IFF_POINTOPOINT) && - ( (socket_fd[no_sockets] = - prepare_socket( interface -> ifa_name, - (bjnp_sockaddr_t *) interface -> ifa_addr, - (bjnp_sockaddr_t *) interface -> ifa_broadaddr, - &broadcast_addr[no_sockets] ) ) != -1 ) ) - { - /* track highest used socket for later use in select */ - if (socket_fd[no_sockets] > last_socketfd) - { - last_socketfd = socket_fd[no_sockets]; - } - FD_SET (socket_fd[no_sockets], &fdset); - no_sockets++; - } - interface = interface->ifa_next; - } - freeifaddrs (interfaces); - } -#else - /* we have no easy way to find interfaces with their broadcast addresses. */ - /* use global broadcast and all-hosts instead */ - { - bjnp_sockaddr_t local; - bjnp_sockaddr_t bc_addr; - - memset( &local, 0, sizeof( local) ); - local.ipv4.sin_family = AF_INET; - local.ipv4.sin_addr.s_addr = htonl (INADDR_ANY); - - bc_addr.ipv4.sin_family = AF_INET; - bc_addr.ipv4.sin_port = htons(0); - bc_addr.ipv4.sin_addr.s_addr = htonl (INADDR_BROADCAST); - - socket_fd[no_sockets] = prepare_socket( "any_interface", - &local, - &bc_addr, - &broadcast_addr[no_sockets] ); - if (socket_fd[no_sockets] >= 0) - { - FD_SET (socket_fd[no_sockets], &fdset); - if (socket_fd[no_sockets] > last_socketfd) - { - last_socketfd = socket_fd[no_sockets]; - } - no_sockets++; - } -#ifdef ENABLE_IPV6 - local.ipv6.sin6_family = AF_INET6; - local.ipv6.sin6_addr = in6addr_any; - - socket_fd[no_sockets] = prepare_socket( "any_interface", - &local, - NULL, - &broadcast_addr[no_sockets] ); - if (socket_fd[no_sockets] >= 0) - { - FD_SET (socket_fd[no_sockets], &fdset); - if (socket_fd[no_sockets] > last_socketfd) - { - last_socketfd = socket_fd[no_sockets]; - } - no_sockets++; - } -#endif - } -#endif - - /* send BJNP_MAX_BROADCAST_ATTEMPTS broadcasts on each prepared socket */ - for (attempt = 0; attempt < BJNP_MAX_BROADCAST_ATTEMPTS; attempt++) - { - for ( i=0; i < no_sockets; i++) - { - j = 0; - while(bjnp_protocol_defs[j].protocol_version != PROTOCOL_NONE) - { - set_cmd_from_string (bjnp_protocol_defs[j].proto_string, &cmd, CMD_UDP_DISCOVER, 0); - bjnp_send_broadcast ( socket_fd[i], &broadcast_addr[i], - bjnp_protocol_defs[j].default_port, cmd, sizeof (cmd)); - j++; - } - } - /* wait for some time between broadcast packets */ - usleep (BJNP_BROADCAST_INTERVAL * BJNP_USLEEP_MS); - } - - /* wait for a UDP response */ - - timeout.tv_sec = 0; - timeout.tv_usec = BJNP_BC_RESPONSE_TIMEOUT * BJNP_USLEEP_MS; - - - active_fdset = fdset; - - while (select (last_socketfd + 1, &active_fdset, NULL, NULL, &timeout) > 0) - { - PDBG (bjnp_dbg (LOG_DEBUG, "sanei_bjnp_find_devices: Select returned, time left %d.%d....\n", - (int) timeout.tv_sec, (int) timeout.tv_usec)); - for (i = 0; i < no_sockets; i++) - { - if (FD_ISSET (socket_fd[i], &active_fdset)) - { - socklen = sizeof(scanner_sa); - if ((numbytes = - recvfrom (socket_fd[i], resp_buf, sizeof (resp_buf), 0, - &(scanner_sa.addr), &socklen ) ) == -1) - { - PDBG (bjnp_dbg - (LOG_INFO, "sanei_find_devices: no data received")); - break; - } - else - { - PDBG (bjnp_dbg (LOG_DEBUG2, "sanei_find_devices: Discover response:\n")); - PDBG (bjnp_hexdump (LOG_DEBUG2, &resp_buf, numbytes)); - - /* check if something sensible is returned */ - protocol_defs = get_protocol_by_proto_string(disc_resp-> response.BJNP_id); - if ( (numbytes < (int)sizeof (struct BJNP_command)) || - (protocol_defs == NULL)) - { - /* not a valid response, assume not a scanner */ - - char bjnp_id[5]; - strncpy(bjnp_id, disc_resp-> response.BJNP_id, 4); - bjnp_id[4] = '\0'; - PDBG (bjnp_dbg (LOG_INFO, - "sanei_find_devices: Invalid discover response! Length = %d, Id = %s\n", - numbytes, bjnp_id ) ); - break; - } - if ( !(disc_resp -> response.dev_type & 0x80) ) - { - /* not a response, a command from somebody else or */ - /* a discover command that we generated */ - break; - } - }; - - port = get_port_from_sa(scanner_sa); - /* scanner found, get IP-address or hostname */ - get_scanner_name( &scanner_sa, scanner_host); - - /* construct URI */ - sprintf (uri, "%s://%s:%d/timeout=%d", protocol_defs->method_string, scanner_host, - port, timeout_default); - - add_scanner( &dev_no, uri, attach_bjnp, pixma_devices); - - } - } - active_fdset = fdset; - timeout.tv_sec = 0; - timeout.tv_usec = BJNP_BC_RESPONSE_TIMEOUT * BJNP_USLEEP_MS; - } - PDBG (bjnp_dbg (LOG_DEBUG, "sanei_find_devices: scanner discovery finished...\n")); - - for (i = 0; i < no_sockets; i++) - close (socket_fd[i]); - - return SANE_STATUS_GOOD; -} - -/** Open a BJNP device. - * - * The device is opened by its name devname and the device number is - * returned in dn on success. - * - * Device names consist of an URI - * Where: - * type = bjnp - * hostname = resolvable name or IP-address - * port = 8612 for a scanner - * An example could look like this: bjnp://host.domain:8612 - * - * @param devname name of the device to open - * @param dn device number - * - * @return - * - SANE_STATUS_GOOD - on success - * - SANE_STATUS_ACCESS_DENIED - if the file couldn't be accessed due to - * permissions - * - SANE_STATUS_INVAL - on every other error - */ - -extern SANE_Status -sanei_bjnp_open (SANE_String_Const devname, SANE_Int * dn) -{ - int result; - - PDBG (bjnp_dbg (LOG_INFO, "sanei_bjnp_open(%s, %d):\n", devname, *dn)); - - result = bjnp_allocate_device (devname, dn, NULL); - if ( (result != BJNP_STATUS_GOOD) && (result != BJNP_STATUS_ALREADY_ALLOCATED ) ) { - return SANE_STATUS_INVAL; - } - return SANE_STATUS_GOOD; -} - -/** Close a BJNP device. - * - * @param dn device number - */ - -void -sanei_bjnp_close (SANE_Int dn) -{ - PDBG (bjnp_dbg (LOG_INFO, "sanei_bjnp_close(%d):\n", dn)); - - device[dn].open = 0; - sanei_bjnp_deactivate(dn); -} - -/** Activate BJNP device connection - * - * @param dn device number - */ - -SANE_Status -sanei_bjnp_activate (SANE_Int dn) -{ - char hostname[256]; - char pid_str[64]; - - PDBG (bjnp_dbg (LOG_INFO, "sanei_bjnp_activate (%d)\n", dn)); - gethostname (hostname, 256); - hostname[255] = '\0'; - sprintf (pid_str, "Process ID = %d", getpid ()); - - bjnp_send_job_details (dn, hostname, getusername (), pid_str); - - if (bjnp_open_tcp (dn) != 0) - { - return SANE_STATUS_INVAL; - } - - return SANE_STATUS_GOOD; -} - -/** Deactivate BJNP device connection - * - * @paran dn device number - */ - -SANE_Status -sanei_bjnp_deactivate (SANE_Int dn) -{ - PDBG (bjnp_dbg (LOG_INFO, "sanei_bjnp_deactivate (%d)\n", dn)); - if ( device[dn].tcp_socket != -1) - { - bjnp_finish_job (dn); - close (device[dn].tcp_socket); - device[dn].tcp_socket = -1; - } - return SANE_STATUS_GOOD; -} - -/** Set the timeout for interrupt reads. - * we do not use it for bulk reads! - * @param timeout the new timeout in ms - */ -extern void -sanei_bjnp_set_timeout (SANE_Int devno, SANE_Int timeout) -{ - if (timeout < device[devno].bjnp_min_timeout) - { - PDBG (bjnp_dbg (LOG_INFO, "bjnp_set_timeout to %d, but using minimum value %d\n", - timeout, device[devno].bjnp_min_timeout)); - timeout = device[devno].bjnp_min_timeout; - } else { - PDBG (bjnp_dbg (LOG_INFO, "bjnp_set_timeout to %d\n", - timeout)); - } - - device[devno].bjnp_timeout = timeout; -} - -/** Initiate a bulk transfer read. - * - * Read up to size bytes from the device to buffer. After the read, size - * contains the number of bytes actually read. - * - * @param dn device number - * @param buffer buffer to store read data in - * @param size size of the data - * - * @return - * - SANE_STATUS_GOOD - on succes - * - SANE_STATUS_EOF - if zero bytes have been read - * - SANE_STATUS_IO_ERROR - if an error occured during the read - * - SANE_STATUS_INVAL - on every other error - * - */ - -extern SANE_Status -sanei_bjnp_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) -{ - SANE_Status result; - SANE_Status error; - size_t recvd; - size_t read_size; - size_t read_size_max; - size_t requested; - - PDBG (bjnp_dbg - (LOG_INFO, "bjnp_read_bulk(dn=%d, bufferptr=%lx, 0x%lx = %ld)\n", dn, - (long) buffer, (unsigned long) *size, (unsigned long) *size)); - - recvd = 0; - requested = *size; - - PDBG (bjnp_dbg - (LOG_DEBUG, "bjnp_read_bulk: 0x%lx = %ld bytes available at start\n", - (unsigned long) device[dn].scanner_data_left, - (unsigned long) device[dn].scanner_data_left ) ); - - while ( (recvd < requested) && !( device[dn].last_block && (device[dn].scanner_data_left == 0)) ) - { - PDBG (bjnp_dbg - (LOG_DEBUG, - "bjnp_read_bulk: Already received 0x%lx = %ld bytes, backend requested 0x%lx = %ld bytes\n", - (unsigned long) recvd, (unsigned long) recvd, - (unsigned long) requested, (unsigned long)requested )); - - /* Check first if there is data in flight from the scanner */ - - if (device[dn].scanner_data_left == 0) - { - /* There is no data in flight from the scanner, send new read request */ - - PDBG (bjnp_dbg (LOG_DEBUG, - "bjnp_read_bulk: No (more) scanner data available, requesting more( blocksize = %ld = %lx\n", - (long int) device[dn].blocksize, (long int) device[dn].blocksize )); - - if ((error = bjnp_send_read_request (dn)) != SANE_STATUS_GOOD) - { - *size = recvd; - return SANE_STATUS_IO_ERROR; - } - if ( ( error = bjnp_recv_header (dn, &(device[dn].scanner_data_left) ) ) != SANE_STATUS_GOOD) - { - *size = recvd; - return SANE_STATUS_IO_ERROR; - } - /* correct blocksize if applicable */ - - device[dn].blocksize = MAX (device[dn].blocksize, device[dn].scanner_data_left); - - if ( device[dn].scanner_data_left < device[dn].blocksize) - { - /* the scanner will not react at all to a read request, when no more data is available */ - /* we now determine end of data by comparing the payload size to the maximun blocksize */ - /* this block is shorter than blocksize, so after this block we are done */ - - device[dn].last_block = 1; - } - } - - PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_read_bulk: In flight: 0x%lx = %ld bytes available\n", - (unsigned long) device[dn].scanner_data_left, - (unsigned long) device[dn].scanner_data_left)); - - /* read as many bytes as needed and available */ - - read_size_max = MIN( device[dn].scanner_data_left, (requested - recvd) ); - read_size = read_size_max; - - PDBG (bjnp_dbg - (LOG_DEBUG, - "bjnp_read_bulk: Try to read 0x%lx = %ld (of max 0x%lx = %ld) bytes\n", - (unsigned long) read_size_max, - (unsigned long) read_size_max, - (unsigned long) device[dn].scanner_data_left, - (unsigned long) device[dn].scanner_data_left) ); - - result = bjnp_recv_data (dn, buffer , recvd, &read_size); - if (result != SANE_STATUS_GOOD) - { - *size = recvd; - return SANE_STATUS_IO_ERROR; - } - PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_read_bulk: Expected at most %ld bytes, received this time: %ld\n", - read_size_max, read_size) ); - - device[dn].scanner_data_left = device[dn].scanner_data_left - read_size; - recvd = recvd + read_size; - } - - PDBG (bjnp_dbg (LOG_DEBUG, "bjnp_read_bulk: %s: Returning %ld bytes, backend expexts %ld\n", - (recvd == *size)? "OK": "NOTICE",recvd, *size ) ); - *size = recvd; - if ( *size == 0 ) - return SANE_STATUS_EOF; - return SANE_STATUS_GOOD; -} - -/** Initiate a bulk transfer write. - * - * Write up to size bytes from buffer to the device. After the write size - * contains the number of bytes actually written. - * - * @param dn device number - * @param buffer buffer to write to device - * @param size size of the data - * - * @return - * - SANE_STATUS_GOOD - on succes - * - SANE_STATUS_IO_ERROR - if an error occured during the write - * - SANE_STATUS_INVAL - on every other error - */ - -extern SANE_Status -sanei_bjnp_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) -{ - ssize_t sent; - size_t recvd; - uint32_t buf; - size_t payload_size; - - /* Write received data to scanner */ - - sent = bjnp_write (dn, buffer, *size); - if (sent < 0) - return SANE_STATUS_IO_ERROR; - if (sent != (int) *size) - { - PDBG (bjnp_dbg - (LOG_CRIT, "sanei_bjnp_write_bulk: ERROR - Sent only %ld bytes to scanner, expected %ld!!\n", - (unsigned long) sent, (unsigned long) *size)); - return SANE_STATUS_IO_ERROR; - } - - if (bjnp_recv_header (dn, &payload_size) != SANE_STATUS_GOOD) - { - PDBG (bjnp_dbg (LOG_CRIT, "sanei_bjnp_write_bulk: ERROR - Could not read response to command!\n")); - return SANE_STATUS_IO_ERROR; - } - - if (payload_size != 4) - { - PDBG (bjnp_dbg (LOG_CRIT, - "sanei_bjnp_write_bulk: ERROR - Scanner length of write confirmation = 0x%lx bytes = %ld, expected %d!!\n", - (unsigned long) payload_size, - (unsigned long) payload_size, 4)); - return SANE_STATUS_IO_ERROR; - } - recvd = payload_size; - if ((bjnp_recv_data (dn, (unsigned char *) &buf, 0, &recvd) != - SANE_STATUS_GOOD) || (recvd != payload_size)) - { - PDBG (bjnp_dbg (LOG_CRIT, - "sanei_bjnp_write_bulk: ERROR - Could not read length of data confirmed by device\n")); - return SANE_STATUS_IO_ERROR; - } - recvd = ntohl (buf); - if (recvd != *size) - { - PDBG (bjnp_dbg - (LOG_CRIT, "sanei_bjnp_write_bulk: ERROR - Scanner confirmed %ld bytes, expected %ld!!\n", - (unsigned long) recvd, (unsigned long) *size)); - return SANE_STATUS_IO_ERROR; - } - /* we can expect data from the scanner */ - - device[dn].last_block = 0; - - return SANE_STATUS_GOOD; -} - -/** Initiate a interrupt transfer read. - * - * Read up to size bytes from the interrupt endpoint from the device to - * buffer. After the read, size contains the number of bytes actually read. - * - * @param dn device number - * @param buffer buffer to store read data in - * @param size size of the data - * - * @return - * - SANE_STATUS_GOOD - on succes - * - SANE_STATUS_EOF - if zero bytes have been read - * - SANE_STATUS_IO_ERROR - if an error occured during the read - * - SANE_STATUS_INVAL - on every other error - * - */ - -extern SANE_Status -sanei_bjnp_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) -{ -#ifndef PIXMA_BJNP_USE_STATUS - PDBG (bjnp_dbg - (LOG_INFO, "bjnp_read_int(%d, bufferptr, 0x%lx = %ld):\n", dn, - (unsigned long) *size, (unsigned long) *size)); - - memset (buffer, 0, *size); - sleep (1); - return SANE_STATUS_IO_ERROR; -#else - - char hostname[256]; - int resp_len; - int timeout; - int seconds; - - PDBG (bjnp_dbg - (LOG_INFO, "bjnp_read_int(%d, bufferptr, 0x%lx = %ld):\n", dn, - (unsigned long) *size, (unsigned long) *size)); - - memset (buffer, 0, *size); - - gethostname (hostname, 32); - hostname[32] = '\0'; - - - switch (device[dn].polling_status) - { - case BJNP_POLL_STOPPED: - - /* establish dialog */ - - if ( (bjnp_poll_scanner (dn, 0, hostname, getusername (), buffer, *size ) != 0) || - (bjnp_poll_scanner (dn, 1, hostname, getusername (), buffer, *size ) != 0) ) - { - PDBG (bjnp_dbg (LOG_NOTICE, "bjnp_read_int: WARNING - Failed to setup read_intr dialog with device!\n")); - device[dn].dialog = 0; - device[dn].status_key = 0; - return SANE_STATUS_IO_ERROR; - } - device[dn].polling_status = BJNP_POLL_STARTED; - - /* fall through to BJNP_POLL_STARTED */ - - case BJNP_POLL_STARTED: - /* we use only seonds accuracy between poll attempts */ - timeout = device[dn].bjnp_timeout /1000; - - do - { - if ( (resp_len = bjnp_poll_scanner (dn, 2, hostname, getusername (), buffer, *size ) ) < 0 ) - { - PDBG (bjnp_dbg (LOG_NOTICE, "bjnp_read_int: Restarting polling dialog!\n")); - device[dn].polling_status = BJNP_POLL_STOPPED; - *size = 0; - return SANE_STATUS_EOF; - } - *size = (size_t) resp_len; - if ( resp_len > 0 ) - { - device[dn].polling_status = BJNP_POLL_STATUS_RECEIVED; - return SANE_STATUS_GOOD; - } - seconds = timeout > 2 ? 2 : timeout; - sleep(seconds); - timeout = timeout - seconds; - } while ( timeout > 0 ) ; - break; - case BJNP_POLL_STATUS_RECEIVED: - if ( (resp_len = bjnp_poll_scanner (dn, 5, hostname, getusername (), buffer, *size ) ) < 0 ) - { - PDBG (bjnp_dbg (LOG_NOTICE, "bjnp_read_int: Restarting polling dialog!\n")); - device[dn].polling_status = BJNP_POLL_STOPPED; - *size = 0; - break; - } - } - return SANE_STATUS_EOF; -#endif -} diff --git a/backend/pixma_bjnp.h b/backend/pixma_bjnp.h deleted file mode 100644 index a27082c..0000000 --- a/backend/pixma_bjnp.h +++ /dev/null @@ -1,203 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2008 by Louis Lagendijk - based on sane_usb.h: - Copyright (C) 2003, 2005 Rene Rebe (sanei_read_int,sanei_set_timeout) - Copyright (C) 2001, 2002 Henning Meier-Geinitz - - This file is part of the SANE package. - - SANE 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. - - SANE 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 sane; see the file COPYING. If not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - 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. -*/ -/** @file sanei_bjnp.h - * This file provides a generic BJNP interface. - */ - -#ifndef sanei_bjnp_h -#define sanei_bjnp_h - -#include "../include/sane/config.h" -#include "../include/sane/sane.h" -#include "pixma.h" - -#ifdef HAVE_STDLIB_H -#include /* for size_t */ -#endif - -/** Initialize sanei_bjnp. - * - * Call this before any other sanei_bjnp function. - */ -extern void sanei_bjnp_init (void); - -/** Find scanners responding to a BJNP broadcast. - * - * The function sanei_bjnp_attach is called for every device which has - * been found. - * Serial is the address of the scanner in human readable form of max - * SERIAL_MAX characters - * @param conf_devices list of pre-configures device URI's to attach - * @param attach attach function - * @param pixma_devices device informatio needed by attach function - * - * @return SANE_STATUS_GOOD - on success (even if no scanner was found) - */ - -#define SERIAL_MAX 16 - -extern SANE_Status -sanei_bjnp_find_devices (const char **conf_devices, - SANE_Status (*attach_bjnp) - (SANE_String_Const devname, - SANE_String_Const makemodel, - SANE_String_Const serial, - const struct pixma_config_t * - const pixma_devices[]), - const struct pixma_config_t *const pixma_devices[]); - -/** Open a BJNP device. - * - * The device is opened by its name devname and the device number is - * returned in dn on success. - * - * Device names consist of an URI - * Where: - * method = bjnp - * hostname = resolvable name or IP-address - * port = 8612 for a bjnp scanner, 8610 for a mfnp device - * An example could look like this: bjnp://host.domain:8612 - * - * @param devname name of the device to open - * @param dn device number - * - * @return - * - SANE_STATUS_GOOD - on success - * - SANE_STATUS_ACCESS_DENIED - if the file couldn't be accessed due to - * permissions - * - SANE_STATUS_INVAL - on every other error - */ -extern SANE_Status sanei_bjnp_open (SANE_String_Const devname, SANE_Int * dn); - -/** Close a BJNP device. - * - * @param dn device number - */ - -extern void sanei_bjnp_close (SANE_Int dn); - -/** Activate a BJNP device connection - * - * @param dn device number - */ - -extern SANE_Status sanei_bjnp_activate (SANE_Int dn); - -/** De-activate a BJNP device connection - * - * @param dn device number - */ - -extern SANE_Status sanei_bjnp_deactivate (SANE_Int dn); - -/** Set the libbjnp timeout for bulk and interrupt reads. - * - * @param devno device number - * @param timeout the new timeout in ms - */ -extern void sanei_bjnp_set_timeout (SANE_Int devno, SANE_Int timeout); - -/** Check if sanei_bjnp_set_timeout() is available. - */ -#define HAVE_SANEI_BJNP_SET_TIMEOUT - -/** Initiate a bulk transfer read. - * - * Read up to size bytes from the device to buffer. After the read, size - * contains the number of bytes actually read. - * - * @param dn device number - * @param buffer buffer to store read data in - * @param size size of the data - * - * @return - * - SANE_STATUS_GOOD - on succes - * - SANE_STATUS_EOF - if zero bytes have been read - * - SANE_STATUS_IO_ERROR - if an error occured during the read - * - SANE_STATUS_INVAL - on every other error - * - */ -extern SANE_Status -sanei_bjnp_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size); - -/** Initiate a bulk transfer write. - * - * Write up to size bytes from buffer to the device. After the write size - * contains the number of bytes actually written. - * - * @param dn device number - * @param buffer buffer to write to device - * @param size size of the data - * - * @return - * - SANE_STATUS_GOOD - on succes - * - SANE_STATUS_IO_ERROR - if an error occured during the write - * - SANE_STATUS_INVAL - on every other error - */ -extern SANE_Status -sanei_bjnp_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size); - -/** Initiate a interrupt transfer read. - * - * Read up to size bytes from the interrupt endpoint from the device to - * buffer. After the read, size contains the number of bytes actually read. - * - * @param dn device number - * @param buffer buffer to store read data in - * @param size size of the data - * - * @return - * - SANE_STATUS_GOOD - on succes - * - SANE_STATUS_EOF - if zero bytes have been read - * - SANE_STATUS_IO_ERROR - if an error occured during the read - * - SANE_STATUS_INVAL - on every other error - * - */ - -extern SANE_Status -sanei_bjnp_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size); - -/*------------------------------------------------------*/ -#endif /* sanei_bjnp_h */ diff --git a/backend/pixma_bjnp_private.h b/backend/pixma_bjnp_private.h deleted file mode 100644 index 84f5c3f..0000000 --- a/backend/pixma_bjnp_private.h +++ /dev/null @@ -1,382 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2008 by Louis Lagendijk - - This file is part of the SANE package. - - Data structures and definitions for - bjnp backend for the Common UNIX Printing System (CUPS). - - These coded instructions, statements, and computer programs are the - property of Louis Lagendijk and are protected by Federal copyright - law. Distribution and use rights are outlined in the file "LICENSE.txt" - "LICENSE" which should have been included with this file. If this - file is missing or damaged, see the license at "http://www.cups.org/". - - This file is subject to the Apple OS-Developed Software exception. - - SANE 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. - - SANE 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 sane; see the file COPYING. If not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - 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. -*/ - -/* - * BJNP definitions - */ - -/* selection of options */ -/* This works now, disable when it gives you problems */ -#define PIXMA_BJNP_USE_STATUS 1 - -/* sizes */ - -#define BJNP_PRINTBUF_MAX 1400 /* size of printbuffer */ -#define BJNP_CMD_MAX 2048 /* size of BJNP response buffer */ -#define BJNP_RESP_MAX 2048 /* size of BJNP response buffer */ -#define BJNP_SOCK_MAX 256 /* maximum number of open sockets */ -#define BJNP_MODEL_MAX 64 /* max allowed size for make&model */ -#define BJNP_STATUS_MAX 256 /* max size for status string */ -#define BJNP_IEEE1284_MAX 1024 /* max. allowed size of IEEE1284 id */ -#define BJNP_METHOD_MAX 16 /* max length of method */ -#define BJNP_HOST_MAX 128 /* max length of hostname or address */ -#define BJNP_PORT_MAX 64 /* max length of port string */ -#define BJNP_ARGS_MAX 128 /* max length of argument string */ -#define BJNP_SERIAL_MAX 16 /* maximum length of serial number */ -#define BJNP_NO_DEVICES 16 /* max number of open devices */ -#define BJNP_SCAN_BUF_MAX 65536 /* size of scanner data intermediate buffer */ -#define BJNP_BLOCKSIZE_START 512 /* startsize for last block detection */ - -/* timers */ -#define BJNP_BROADCAST_INTERVAL 10 /* ms between broadcasts */ -#define BJNP_BC_RESPONSE_TIMEOUT 500 /* waiting time for broadc. responses */ -#define BJNP_TIMEOUT_DEFAULT 10000 /* minimum tiemout value for network operations */ -#define BJNP_USLEEP_MS 1000 /* sleep for 1 msec */ - -/* retries */ -#define BJNP_MAX_SELECT_ATTEMPTS 3 /* max nr of retries on select (EINTR) */ -#define BJNP_MAX_BROADCAST_ATTEMPTS 2 /* number of broadcast packets to be sent */ -#define BJNP_UDP_RETRY_MAX 3 /* max nt of retries on a udp command */ - -#define bjnp_dbg DBG -#include "../include/sane/sanei_debug.h" - -/* loglevel definitions */ - -#define LOG_CRIT 0 -#define LOG_NOTICE 1 -#define LOG_INFO 2 -#define LOG_DEBUG 3 -#define LOG_DEBUG2 4 -#define LOG_DEBUG3 5 - -#define BJNP_RESTART_POLL -1 - -/*************************************/ -/* BJNP protocol related definitions */ -/*************************************/ - -/* port numbers */ -typedef enum bjnp_port_e -{ - MFNP_PORT_SCAN = 8610, - BJNP_PORT_PRINT = 8611, - BJNP_PORT_SCAN = 8612, - BJNP_PORT_3 = 8613, - BJNP_PORT_4 = 8614 -} bjnp_port_t; - -typedef enum -{ - PROTOCOL_BJNP = 0, - PROTOCOL_MFNP = 1, - PROTOCOL_NONE =2 -} bjnp_protocol_t; - -typedef struct -{ - bjnp_protocol_t protocol_version; - int default_port; - char * proto_string; - char * method_string; -} bjnp_protocol_defs_t; - -bjnp_protocol_defs_t bjnp_protocol_defs[] = -{ - {PROTOCOL_BJNP, BJNP_PORT_SCAN,"BJNP", "bjnp"}, - {PROTOCOL_MFNP, MFNP_PORT_SCAN,"MFNP", "mfnp"}, - {PROTOCOL_NONE, -1, NULL, NULL} -}; - -/* commands */ -typedef enum bjnp_cmd_e -{ - CMD_UDP_DISCOVER = 0x01, /* discover if service type is listening at this port */ - CMD_UDP_START_SCAN = 0x02, /* start scan pressed, sent from scanner to 224.0.0.1 */ - CMD_UDP_JOB_DETAILS = 0x10, /* send print/ scanner job owner details */ - CMD_UDP_CLOSE = 0x11, /* request connection closure */ - CMD_UDP_GET_STATUS = 0x20, /* get printer status */ - CMD_TCP_REQ = 0x20, /* read data from device */ - CMD_TCP_SEND = 0x21, /* send data to device */ - CMD_UDP_GET_ID = 0x30, /* get printer identity */ - CMD_UDP_POLL = 0x32 /* poll scanner for button status */ -} bjnp_cmd_t; - -/* command type */ - -typedef enum uint8_t -{ - BJNP_CMD_PRINT = 0x1, /* printer command */ - BJNP_CMD_SCAN = 0x2, /* scanner command */ - BJNP_RES_PRINT = 0x81, /* printer response */ - BJNP_RES_SCAN = 0x82 /* scanner response */ -} bjnp_cmd_type_t; - -/***************************/ -/* BJNP protocol structure */ -/***************************/ - -/* The common protocol header */ - -struct __attribute__ ((__packed__)) BJNP_command -{ - char BJNP_id[4]; /* string: BJNP */ - uint8_t dev_type; /* 1 = printer, 2 = scanner */ - /* responses have MSB set */ - uint8_t cmd_code; /* command code/response code */ - int16_t unknown1; /* unknown, always 0? */ - int16_t seq_no; /* sequence number */ - uint16_t session_id; /* session id for printing */ - uint32_t payload_len; /* length of command buffer */ -}; - -/* Layout of the init response buffer */ - -struct __attribute__ ((__packed__)) DISCOVER_RESPONSE -{ - struct BJNP_command response; /* reponse header */ - char unknown1[4]; /* 00 01 08 00 */ - char mac_len; /* length of mac address */ - char addr_len; /* length of address field */ - unsigned char mac_addr[6]; /* printers mac address */ - union { - struct __attribute__ ((__packed__)) { - unsigned char ipv4_addr[4]; - } ipv4; - struct __attribute__ ((__packed__)) { - unsigned char ipv6_addr_1[16]; - unsigned char ipv6_addr_2[16]; - } ipv6; - } addresses; -}; - -/* layout of payload for the JOB_DETAILS command */ - -struct __attribute__ ((__packed__)) JOB_DETAILS -{ - struct BJNP_command cmd; /* command header */ - char unknown[8]; /* don't know what these are for */ - char hostname[64]; /* hostname of sender */ - char username[64]; /* username */ - char jobtitle[256]; /* job title */ -}; - -/* layout of the poll command, not everything is complete */ - -struct __attribute__ ((__packed__)) POLL_DETAILS -{ - struct BJNP_command cmd; /* command header */ - uint16_t type; /* 0, 1, 2 or 5 */ - /* 05 = reset status */ - union { - struct __attribute__ ((__packed__)) { - char empty0[78]; /* type 0 has only 0 */ - } type0; /* length = 80 */ - - struct __attribute__ ((__packed__)) { - char empty1[6]; /* 0 */ - char user_host[64]; /* unicode user hostname */ - uint64_t emtpy2; /* 0 */ - } type1; /* length = 80 */ - - struct __attribute__ ((__packed__)) { - uint16_t empty_1; /* 00 00 */ - uint32_t dialog; /* constant dialog id, from previous response */ - char user_host[64]; /* unicode user hostname */ - uint32_t unknown_1; /* 00 00 00 14 */ - uint32_t empty_2[5]; /* only 0 */ - uint32_t unknown_2; /* 00 00 00 10 */ - char ascii_date[16]; /* YYYYMMDDHHMMSS only for type 2 */ - } type2; /* length = 116 */ - - struct __attribute__ ((__packed__)) { - uint16_t empty_1; /* 00 00 */ - uint32_t dialog; /* constant dialog id, from previous response */ - char user_host[64]; /* unicode user hostname */ - uint32_t unknown_1; /* 00 00 00 14 */ - uint32_t key; /* copied from key field in status msg */ - uint32_t unknown_3[5]; /* only 0 */ - } type5; /* length = 100 */ - - } extensions; -}; - -/* the poll response layout */ - -struct __attribute__ ((__packed__)) POLL_RESPONSE -{ - struct BJNP_command cmd; /* command header */ - - unsigned char result[4]; /* unknown stuff, result[2] = 80 -> status is available*/ - /* result[8] is dialog, size? */ - uint32_t dialog; /* to be returned in next request */ - uint32_t unknown_2; /* returns the 00 00 00 14 from unknown_2 in request */ - uint32_t key; /* to be returned in type 5 status reset */ - unsigned char status[20]; /* interrupt status */ -}; - -/* Layout of ID and status responses */ - -struct __attribute__ ((__packed__)) IDENTITY -{ - struct BJNP_command cmd; - union __attribute__ ((__packed__)) - { - struct __attribute__ ((__packed__)) payload_s - { - uint16_t id_len; /* length of identity */ - char id[BJNP_IEEE1284_MAX]; /* identity */ - } bjnp; - struct __attribute__ ((__packed__)) mfnp - { - char id[BJNP_IEEE1284_MAX]; - } mfnp; - } payload; -}; - - -/* response to TCP print command */ - -struct __attribute__ ((__packed__)) SCAN_BUF -{ - struct BJNP_command cmd; - char scan_data[65536]; -}; - -/**************************/ -/* Local enum definitions */ -/**************************/ - -typedef enum bjnp_paper_status_e -{ - BJNP_PAPER_UNKNOWN = -1, - BJNP_PAPER_OK = 0, - BJNP_PAPER_OUT = 1 -} bjnp_paper_status_t; - -typedef enum -{ - BJNP_STATUS_GOOD, - BJNP_STATUS_INVAL, - BJNP_STATUS_ALREADY_ALLOCATED -} BJNP_Status; - -/* button polling */ - -typedef enum -{ - BJNP_POLL_STOPPED = 0, - BJNP_POLL_STARTED = 1, - BJNP_POLL_STATUS_RECEIVED = 2 -} BJNP_polling_status_e; - -typedef union -{ - struct sockaddr_storage storage; - struct sockaddr addr; - struct sockaddr_in ipv4; - struct sockaddr_in6 ipv6; -} bjnp_sockaddr_t; - -typedef enum -{ - BJNP_ADDRESS_IS_LINK_LOCAL = 0, - BJNP_ADDRESS_IS_GLOBAL = 1, - BJNP_ADDRESS_HAS_FQDN = 2 -} bjnp_address_type_t; - - -/* - * Device information for opened devices - */ - -typedef struct device_s -{ - int open; /* connection to scanner is opened */ - - /* protocol version */ - int protocol; - char *protocol_string; - - /* sockets */ - - int tcp_socket; /* open tcp socket for communcation to scannner */ - int16_t serial; /* sequence number of command */ - - /* communication state */ - - int session_id; /* session id used in bjnp protocol for TCP packets */ - int last_cmd; /* last command sent */ - - /* TCP bulk read state information */ - - size_t blocksize; /* size of (TCP) blocks returned by the scanner */ - size_t scanner_data_left; /* TCP data left from last read request */ - char last_block; /* last TCP read command was shorter than blocksize */ - - /* device information */ - char mac_address[BJNP_HOST_MAX]; - /* mac-address, used as device serial no */ - bjnp_sockaddr_t * addr; /* ip-address of the scanner */ - int address_level; /* link local, public or has a FQDN */ - int bjnp_timeout; /* timeout (msec) for next poll command */ - int bjnp_min_timeout; /* device specific min timeout */ - -#ifdef PIXMA_BJNP_USE_STATUS - /* polling state information */ - - char polling_status; /* status polling ongoing */ - uint32_t dialog; /* poll dialog */ - uint32_t status_key; /* key of last received status message */ -#endif -} bjnp_device_t; diff --git a/backend/pixma_common.c b/backend/pixma_common.c deleted file mode 100644 index 82c4fde..0000000 --- a/backend/pixma_common.c +++ /dev/null @@ -1,1187 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2011-2019 Rolf Bensch - Copyright (C) 2007-2008 Nicolas Martin, - Copyright (C) 2006-2007 Wittawat Yamwong - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. - */ -#include "../include/sane/config.h" - -#include -#include -#include -#include -#include /* pow(C90) */ - -#include /* gettimeofday(4.3BSD) */ -#include /* usleep */ - -#include "pixma_rename.h" -#include "pixma_common.h" -#include "pixma_io.h" - -#include "../include/sane/sanei_usb.h" - - -#ifdef __GNUC__ -# define UNUSED(v) (void) v -#else -# define UNUSED(v) -#endif - -extern const pixma_config_t pixma_mp150_devices[]; -extern const pixma_config_t pixma_mp750_devices[]; -extern const pixma_config_t pixma_mp730_devices[]; -extern const pixma_config_t pixma_mp810_devices[]; -extern const pixma_config_t pixma_iclass_devices[]; - -static const pixma_config_t *const pixma_devices[] = { - pixma_mp150_devices, - pixma_mp750_devices, - pixma_mp730_devices, - pixma_mp810_devices, - pixma_iclass_devices, - NULL -}; - -static pixma_t *first_pixma = NULL; -static time_t tstart_sec = 0; -static uint32_t tstart_usec = 0; -static int debug_level = 1; - - -#ifndef NDEBUG - -static void -u8tohex (uint8_t x, char *str) -{ - static const char hdigit[16] = - { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', - 'e', 'f' - }; - str[0] = hdigit[(x >> 4) & 0xf]; - str[1] = hdigit[x & 0xf]; - str[2] = '\0'; -} - -static void -u32tohex (uint32_t x, char *str) -{ - u8tohex (x >> 24, str); - u8tohex (x >> 16, str + 2); - u8tohex (x >> 8, str + 4); - u8tohex (x, str + 6); -} - -void -pixma_hexdump (int level, const void *d_, unsigned len) -{ - const uint8_t *d = (const uint8_t *) (d_); - unsigned ofs, c, plen; - char line[100]; /* actually only 1+8+1+8*3+1+8*3+1 = 61 bytes needed */ - - if (level > debug_level) - return; - if (level == debug_level) - /* if debuglevel == exact match and buffer contains more than 3 lines, print 2 lines + .... */ - plen = (len > 64) ? 32: len; - else - plen = len; - ofs = 0; - while (ofs < plen) - { - char *p; - line[0] = ' '; - u32tohex (ofs, line + 1); - line[9] = ':'; - p = line + 10; - for (c = 0; c != 16 && (ofs + c) < plen; c++) - { - u8tohex (d[ofs + c], p); - p[2] = ' '; - p += 3; - if (c == 7) - { - p[0] = ' '; - p++; - } - } - p[0] = '\0'; - pixma_dbg (level, "%s\n", line); - ofs += c; - } - if (len > plen) - pixma_dbg(level, "......\n"); -} - -static void -time2str (char *buf, unsigned size) -{ - time_t sec; - uint32_t usec; - - pixma_get_time (&sec, &usec); - sec -= tstart_sec; - if (usec >= tstart_usec) - { - usec -= tstart_usec; - } - else - { - usec = 1000000 + usec - tstart_usec; - sec--; - } - snprintf (buf, size, "%lu.%03u", (unsigned long) sec, - (unsigned) (usec / 1000)); -} - -void -pixma_dump (int level, const char *type, const void *data, int len, - int size, int max) -{ - int actual_len, print_len; - char buf[20]; - - if (level > debug_level) - return; - if (debug_level >= 20) - max = -1; /* dump every bytes */ - - time2str (buf, sizeof (buf)); - pixma_dbg (level, "%s T=%s len=%d\n", type, buf, len); - - actual_len = (size >= 0) ? size : len; - print_len = (max >= 0 && max < actual_len) ? max : actual_len; - if (print_len >= 0) - { - pixma_hexdump (level, data, print_len); - if (print_len < actual_len) - pixma_dbg (level, " ...\n"); - } - if (len < 0) - pixma_dbg (level, " ERROR: %s\n", pixma_strerror (len)); - pixma_dbg (level, "\n"); -} - - -#endif /* NDEBUG */ - -/* NOTE: non-reentrant */ -const char * -pixma_strerror (int error) -{ - static char buf[50]; - - /* TODO: more human friendly messages */ - switch (error) - { - case PIXMA_EIO: - return "EIO"; - case PIXMA_ENODEV: - return "ENODEV"; - case PIXMA_EACCES: - return "EACCES"; - case PIXMA_ENOMEM: - return "ENOMEM"; - case PIXMA_EINVAL: - return "EINVAL"; - case PIXMA_EBUSY: - return "EBUSY"; - case PIXMA_ECANCELED: - return "ECANCELED"; - case PIXMA_ENOTSUP: - return "ENOTSUP"; - case PIXMA_ETIMEDOUT: - return "ETIMEDOUT"; - case PIXMA_EPROTO: - return "EPROTO"; - case PIXMA_EPAPER_JAMMED: - return "EPAPER_JAMMED"; - case PIXMA_ECOVER_OPEN: - return "ECOVER_OPEN"; - case PIXMA_ENO_PAPER: - return "ENO_PAPER"; - case PIXMA_EOF: - return "EEOF"; - } - snprintf (buf, sizeof (buf), "EUNKNOWN:%d", error); - return buf; -} - -void -pixma_set_debug_level (int level) -{ - debug_level = level; -} - -void -pixma_set_be16 (uint16_t x, uint8_t * buf) -{ - buf[0] = x >> 8; - buf[1] = x; -} - -void -pixma_set_be32 (uint32_t x, uint8_t * buf) -{ - buf[0] = x >> 24; - buf[1] = x >> 16; - buf[2] = x >> 8; - buf[3] = x; -} - -uint16_t -pixma_get_be16 (const uint8_t * buf) -{ - return ((uint16_t) buf[0] << 8) | buf[1]; -} - -uint32_t -pixma_get_be32 (const uint8_t * buf) -{ - return ((uint32_t) buf[0] << 24) + ((uint32_t) buf[1] << 16) + - ((uint32_t) buf[2] << 8) + buf[3]; -} - -uint8_t -pixma_sum_bytes (const void *data, unsigned len) -{ - const uint8_t *d = (const uint8_t *) data; - unsigned i, sum = 0; - for (i = 0; i != len; i++) - sum += d[i]; - return sum; -} - -void -pixma_sleep (unsigned long usec) -{ - usleep (usec); -} - -void -pixma_get_time (time_t * sec, uint32_t * usec) -{ - struct timeval tv; - gettimeofday (&tv, NULL); - if (sec) - *sec = tv.tv_sec; - if (usec) - *usec = tv.tv_usec; -} - -/* convert 24/48 bit RGB to 8/16 bit ir - * - * Formular: g = R - * drop G + B - * - * sptr: source color scale buffer - * gptr: destination gray scale buffer - * c == 3: 24 bit RGB -> 8 bit ir - * c == 6: 48 bit RGB -> 16 bit ir - */ -uint8_t * -pixma_r_to_ir (uint8_t * gptr, uint8_t * sptr, unsigned w, unsigned c) -{ - unsigned i; - - /* PDBG (pixma_dbg (4, "*pixma_rgb_to_ir*****\n")); */ - - for (i = 0; i < w; i++) - { - *gptr++ = *sptr++; - if (c == 6) *gptr++ = *sptr++; /* 48 bit RGB: high byte */ - sptr += (c == 6) ? 4 : 2; /* drop G + B */ - } - return gptr; -} - -/* convert 24/48 bit RGB to 8/16 bit grayscale - * - * Formular: g = (R + G + B) / 3 - * - * sptr: source color scale buffer - * gptr: destination gray scale buffer - * c == 3: 24 bit RGB -> 8 bit gray - * c == 6: 48 bit RGB -> 16 bit gray - */ -uint8_t * -pixma_rgb_to_gray (uint8_t * gptr, uint8_t * sptr, unsigned w, unsigned c) -{ - unsigned i, j, g; - - /* PDBG (pixma_dbg (4, "*pixma_rgb_to_gray*****\n")); */ - - for (i = 0; i < w; i++) - { - for (j = 0, g = 0; j < 3; j++) - { - g += *sptr++; - if (c == 6) g += (*sptr++ << 8); /* 48 bit RGB: high byte */ - } - - g /= 3; /* 8 or 16 bit gray */ - *gptr++ = g; - if (c == 6) *gptr++ = (g >> 8); /* 16 bit gray: high byte */ - } - return gptr; -} - -/** - * This code was taken from the genesys backend - * uses threshold and threshold_curve to control software binarization - * @param sp device set up for the scan - * @param dst pointer where to store result - * @param src pointer to raw data - * @param width width of the processed line - * @param c 1 for 1-channel single-byte data, - * 3 for 3-channel single-byte data, - * 6 for double-byte data - * */ -uint8_t * -pixma_binarize_line(pixma_scan_param_t * sp, uint8_t * dst, uint8_t * src, unsigned width, unsigned c) -{ - unsigned j, x, windowX, sum = 0; - unsigned threshold; - unsigned offset, addCol; - int dropCol, offsetX; - unsigned char mask; - uint8_t min, max; - - /* PDBG (pixma_dbg (4, "*pixma_binarize_line***** src = %u, dst = %u, width = %u, c = %u, threshold = %u, threshold_curve = %u *****\n", - src, dst, width, c, sp->threshold, sp->threshold_curve)); */ - - /* 16 bit grayscale not supported */ - if (c == 6) - { - PDBG (pixma_dbg (1, "*pixma_binarize_line***** Error: 16 bit grayscale not supported\n")); - return dst; - } - - /* first, color convert to grayscale */ - if (c != 1) - pixma_rgb_to_gray(dst, src, width, c); - - /* second, normalize line */ - min = 255; - max = 0; - for (x = 0; x < width; x++) - { - if (src[x] > max) - { - max = src[x]; - } - if (src[x] < min) - { - min = src[x]; - } - } - - /* safeguard against dark or white areas */ - if(min>80) - min=0; - if(max<80) - max=255; - for (x = 0; x < width; x++) - { - src[x] = ((src[x] - min) * 255) / (max - min); - } - - /* third, create sliding window, prefill the sliding sum */ - /* ~1mm works best, but the window needs to have odd # of pixels */ - windowX = (6 * sp->xdpi) / 150; - if (!(windowX % 2)) - windowX++; - - /* to avoid conflicts with *dst start with offset */ - offsetX = 1 + (windowX / 2) / 8; - for (j = offsetX; j <= windowX; j++) - sum += src[j]; - /* PDBG (pixma_dbg (4, " *pixma_binarize_line***** windowX = %u, startX = %u, sum = %u\n", - windowX, startX, sum)); */ - - /* fourth, walk the input buffer, output bits */ - for (j = 0; j < width; j++) - { - /* output image location */ - offset = j % 8; - mask = 0x80 >> offset; - threshold = sp->threshold; - - /* move sum/update threshold only if there is a curve */ - if (sp->threshold_curve) - { - addCol = j + windowX / 2; - dropCol = addCol - windowX; - - if (dropCol >= offsetX && addCol < width) - { - sum += src[addCol]; - sum -= (sum < src[dropCol] ? sum : src[dropCol]); /* no negative sum */ - } - threshold = sp->lineart_lut[sum / windowX]; - /* PDBG (pixma_dbg (4, " *pixma_binarize_line***** addCol = %u, dropCol = %d, sum = %u, windowX = %u, lut-element = %d, threshold = %u\n", - addCol, dropCol, sum, windowX, sum/windowX, threshold)); */ - } - - /* lookup threshold */ - if (src[j] > threshold) - *dst &= ~mask; /* white */ - else - *dst |= mask; /* black */ - - if (offset == 7) - dst++; - } - - /* PDBG (pixma_dbg (4, " *pixma_binarize_line***** ready: src = %u, dst = %u *****\n", src, dst)); */ - - return dst; -} - -/** - This code was taken from the genesys backend - Function to build a lookup table (LUT), often - used by scanners to implement brightness/contrast/gamma - or by backends to speed binarization/thresholding - - offset and slope inputs are -127 to +127 - - slope rotates line around central input/output val, - 0 makes horizontal line - - pos zero neg - . x . . x - . x . . x - out . x .xxxxxxxxxxx . x - . x . . x - ....x....... ............ .......x.... - in in in - - offset moves line vertically, and clamps to output range - 0 keeps the line crossing the center of the table - - high low - . xxxxxxxx . - . x . - out x . x - . . x - ............ xxxxxxxx.... - in in - - out_min/max provide bounds on output values, - useful when building thresholding lut. - 0 and 255 are good defaults otherwise. - * */ -static SANE_Status -load_lut (unsigned char * lut, - int in_bits, int out_bits, - int out_min, int out_max, - int slope, int offset) -{ - int i, j; - double shift, rise; - int max_in_val = (1 << in_bits) - 1; - int max_out_val = (1 << out_bits) - 1; - unsigned char * lut_p = lut; - - /* PDBG (pixma_dbg (4, "*load_lut***** start %d %d *****\n", slope, offset)); */ - - /* slope is converted to rise per unit run: - * first [-127,127] to [-1,1] - * then multiply by PI/2 to convert to radians - * then take the tangent (T.O.A) - * then multiply by the normal linear slope - * because the table may not be square, i.e. 1024x256*/ - rise = tan((double)slope/127 * M_PI/2) * max_out_val / max_in_val; - - /* line must stay vertically centered, so figure - * out vertical offset at central input value */ - shift = (double)max_out_val/2 - (rise*max_in_val/2); - - /* convert the user offset setting to scale of output - * first [-127,127] to [-1,1] - * then to [-max_out_val/2,max_out_val/2]*/ - shift += (double)offset / 127 * max_out_val / 2; - - for(i=0;i<=max_in_val;i++){ - j = rise*i + shift; - - if(jout_max){ - j=out_max; - } - - *lut_p=j; - lut_p++; - } - - /* PDBG (pixma_dbg (4, "*load_lut***** finish *****\n")); */ - /* PDBG (pixma_hexdump (4, lut, max_in_val+1)); */ - - return SANE_STATUS_GOOD; -} - -int -pixma_map_status_errno (unsigned status) -{ - switch (status) - { - case PIXMA_STATUS_OK: - return 0; - case PIXMA_STATUS_FAILED: - return PIXMA_ECANCELED; - case PIXMA_STATUS_BUSY: - return PIXMA_EBUSY; - default: - return PIXMA_EPROTO; - } -} - -int -pixma_check_result (pixma_cmdbuf_t * cb) -{ - const uint8_t *r = cb->buf; - unsigned header_len = cb->res_header_len; - unsigned expected_reslen = cb->expected_reslen; - int error; - unsigned len; - - if (cb->reslen < 0) - return cb->reslen; - - len = (unsigned) cb->reslen; - if (len >= header_len) - { - error = pixma_map_status_errno (pixma_get_be16 (r)); - if (expected_reslen != 0) - { - if (len == expected_reslen) - { - if (pixma_sum_bytes (r + header_len, len - header_len) != 0) - error = PIXMA_EPROTO; - } - else - { - /* This case will happen when a command cannot be completely - executed, e.g. because you press the cancel button. The - device will return only a header with PIXMA_STATUS_FAILED. */ - if (len != header_len) - error = PIXMA_EPROTO; - } - } - } - else - error = PIXMA_EPROTO; - -#ifndef NDEBUG - if (error == PIXMA_EPROTO) - { - pixma_dbg (1, "WARNING: result len=%d expected %d\n", - len, cb->expected_reslen); - pixma_hexdump (1, r, MIN (len, 64)); - } -#endif - return error; -} - -int -pixma_cmd_transaction (pixma_t * s, const void *cmd, unsigned cmdlen, - void *data, unsigned expected_len) -{ - int error, tmo; - - error = pixma_write (s->io, cmd, cmdlen); - if (error != (int) cmdlen) - { - if (error >= 0) - { - /* Write timeout is too low? */ - PDBG (pixma_dbg - (1, "ERROR: incomplete write, %u out of %u written\n", - (unsigned) error, cmdlen)); - error = PIXMA_ETIMEDOUT; - } - return error; - } - - /* When you send the start_session command while the scanner optic is - going back to the home position after the last scan session has been - cancelled, you won't get the response before it arrives home. This takes - about 5 seconds. If the last session was succeeded, the scanner will - immediatly answer with PIXMA_STATUS_BUSY. - - Is 8 seconds timeout enough? This affects ALL commands that use - pixma_cmd_transaction(). Default value set in pixma_open(). */ - tmo = s->rec_tmo; - do - { - error = pixma_read (s->io, data, expected_len); - if (error == PIXMA_ETIMEDOUT) - { - PDBG (pixma_dbg (2, "No response yet. Timed out in %d sec.\n", tmo)); - -#ifndef HAVE_SANEI_USB_SET_TIMEOUT - /* 1s timeout - Only needed, if sanei_usb_set_timeout() isn't available. - pixma_read() has an internal timeout of 1 sec. */ - pixma_sleep (1000000); -#endif - } - } - while (error == PIXMA_ETIMEDOUT && --tmo != 0); - if (error < 0) - { - PDBG (pixma_dbg (1, "WARNING: Error in response phase. cmd:%02x%02x\n", - ((const uint8_t *) cmd)[0], - ((const uint8_t *) cmd)[1])); - PDBG (pixma_dbg (1," If the scanner hangs, reset it and/or unplug the " - "USB cable.\n")); - } - return error; /* length of the result packet or error */ -} - -uint8_t * -pixma_newcmd (pixma_cmdbuf_t * cb, unsigned cmd, - unsigned dataout, unsigned datain) -{ - unsigned cmdlen = cb->cmd_header_len + dataout; - unsigned reslen = cb->res_header_len + datain; - - if (cmdlen > cb->size || reslen > cb->size) - return NULL; - memset (cb->buf, 0, cmdlen); - cb->cmdlen = cmdlen; - cb->expected_reslen = reslen; - pixma_set_be16 (cmd, cb->buf); - pixma_set_be16 (dataout + datain, cb->buf + cb->cmd_len_field_ofs); - if (dataout != 0) - return cb->buf + cb->cmd_header_len; - else - return cb->buf + cb->res_header_len; -} - -int -pixma_exec (pixma_t * s, pixma_cmdbuf_t * cb) -{ - if (cb->cmdlen > cb->cmd_header_len) - pixma_fill_checksum (cb->buf + cb->cmd_header_len, - cb->buf + cb->cmdlen - 1); - cb->reslen = - pixma_cmd_transaction (s, cb->buf, cb->cmdlen, cb->buf, - cb->expected_reslen); - return pixma_check_result (cb); -} - -int -pixma_exec_short_cmd (pixma_t * s, pixma_cmdbuf_t * cb, unsigned cmd) -{ - pixma_newcmd (cb, cmd, 0, 0); - return pixma_exec (s, cb); -} - -int -pixma_check_dpi (unsigned dpi, unsigned max) -{ - /* valid dpi = 75 * 2^n */ - unsigned temp = dpi / 75; - if (dpi > max || dpi < 75 || 75 * temp != dpi || (temp & (temp - 1)) != 0) - return PIXMA_EINVAL; - return 0; -} - - -int -pixma_init (void) -{ - PDBG (pixma_dbg (2, "pixma version %d.%d.%d\n", PIXMA_VERSION_MAJOR, - PIXMA_VERSION_MINOR, PIXMA_VERSION_BUILD)); - PASSERT (first_pixma == NULL); - if (tstart_sec == 0) - pixma_get_time (&tstart_sec, &tstart_usec); - return pixma_io_init (); -} - -void -pixma_cleanup (void) -{ - while (first_pixma) - pixma_close (first_pixma); - pixma_io_cleanup (); -} - -int -pixma_open (unsigned devnr, pixma_t ** handle) -{ - int error; - pixma_t *s; - const pixma_config_t *cfg; - - *handle = NULL; - cfg = pixma_get_device_config (devnr); - if (!cfg) - return PIXMA_EINVAL; /* invalid devnr */ - PDBG (pixma_dbg (2, "pixma_open(): %s\n", cfg->name)); - - s = (pixma_t *) calloc (1, sizeof (s[0])); - if (!s) - return PIXMA_ENOMEM; - s->next = first_pixma; - first_pixma = s; - - s->cfg = cfg; - s->rec_tmo = 8; /* set receive timeout to 8 seconds */ - error = pixma_connect (devnr, &s->io); - if (error < 0) - { - PDBG (pixma_dbg - (2, "pixma_connect() failed %s\n", pixma_strerror (error))); - goto rollback; - } - strncpy (s->id, pixma_get_device_id (devnr), sizeof (s->id) - 1); - s->ops = s->cfg->ops; - s->scanning = 0; - error = s->ops->open (s); - if (error < 0) - goto rollback; - error = pixma_deactivate (s->io); - if (error < 0) - goto rollback; - *handle = s; - return 0; - -rollback: - PDBG (pixma_dbg (2, "pixma_open() failed %s\n", pixma_strerror (error))); - pixma_close (s); - return error; -} - -void -pixma_close (pixma_t * s) -{ - pixma_t **p; - - if (!s) - return; - for (p = &first_pixma; *p && *p != s; p = &((*p)->next)) - { - } - PASSERT (*p); - if (!(*p)) - return; - PDBG (pixma_dbg (2, "pixma_close(): %s\n", s->cfg->name)); - if (s->io) - { - if (s->scanning) - { - PDBG (pixma_dbg (3, "pixma_close(): scanning in progress, call" - " finish_scan()\n")); - s->ops->finish_scan (s); - } - s->ops->close (s); - pixma_disconnect (s->io); - } - *p = s->next; - free (s); -} - -int -pixma_scan (pixma_t * s, pixma_scan_param_t * sp) -{ - int error; - - error = pixma_check_scan_param (s, sp); - if (error < 0) - return error; - - if (sp->mode == PIXMA_SCAN_MODE_LINEART) - { - load_lut(sp->lineart_lut, 8, 8, 50, 205, - sp->threshold_curve, sp->threshold-127); - } - -#ifndef NDEBUG - pixma_dbg (3, "\n"); - pixma_dbg (3, "pixma_scan(): start\n"); - pixma_dbg (3, " line_size=%"PRIu64" image_size=%"PRIu64" channels=%u depth=%u\n", - sp->line_size, sp->image_size, sp->channels, sp->depth); - pixma_dbg (3, " dpi=%ux%u offset=(%u,%u) dimension=%ux%u\n", - sp->xdpi, sp->ydpi, sp->x, sp->y, sp->w, sp->h); - pixma_dbg (3, " gamma_table=%p source=%d\n", sp->gamma_table, sp->source); - pixma_dbg (3, " threshold=%d threshold_curve=%d\n", sp->threshold, sp->threshold_curve); - pixma_dbg (3, " adf-wait=%d\n", sp->adf_wait); - pixma_dbg (3, " ADF page count: %d\n", sp->adf_pageid); -#endif - - s->param = sp; - s->cancel = 0; - s->cur_image_size = 0; - s->imagebuf.wptr = NULL; - s->imagebuf.wend = NULL; - s->imagebuf.rptr = NULL; - s->imagebuf.rend = NULL; - s->underrun = 0; - error = s->ops->scan (s); - if (error >= 0) - { - s->scanning = 1; - } - else - { - PDBG (pixma_dbg - (3, "pixma_scan() failed %s\n", pixma_strerror (error))); - } - - return error; -} - -static uint8_t * -fill_pixels (pixma_t * s, uint8_t * ptr, uint8_t * end, uint8_t value) -{ - if (s->cur_image_size < s->param->image_size) - { - long n = s->param->image_size - s->cur_image_size; - if (n > (end - ptr)) - n = end - ptr; - memset (ptr, value, n); - s->cur_image_size += n; - ptr += n; - } - return ptr; -} - -int -pixma_read_image (pixma_t * s, void *buf, unsigned len) -{ - int result; - pixma_imagebuf_t ib; - - if (!s->scanning) - return 0; - if (s->cancel) - { - result = PIXMA_ECANCELED; - goto cancel; - } - - ib = s->imagebuf; /* get rptr and rend */ - ib.wptr = (uint8_t *) buf; - ib.wend = ib.wptr + len; - - if (s->underrun) - { - if (s->cur_image_size < s->param->image_size) - { - ib.wptr = fill_pixels (s, ib.wptr, ib.wend, 0xff); - } - else - { - PDBG (pixma_dbg - (3, "pixma_read_image(): completed (underrun detected)\n")); - s->scanning = 0; - } - return ib.wptr - (uint8_t *) buf; - } - - while (ib.wptr != ib.wend) - { - if (ib.rptr == ib.rend) - { - ib.rptr = ib.rend = NULL; - result = s->ops->fill_buffer (s, &ib); - if (result < 0) - goto cancel; - if (result == 0) - { /* end of image? */ - s->ops->finish_scan (s); - if ((s->cur_image_size != s->param->image_size) && !s->param->mode_jpeg) - { - pixma_dbg (1, "WARNING:image size mismatches\n"); - pixma_dbg (1, - " %"PRIu64" expected (%d lines) but %"PRIu64" received (%"PRIu64" lines)\n", - s->param->image_size, s->param->h, - s->cur_image_size, - s->cur_image_size / s->param->line_size); - if ((s->cur_image_size % s->param->line_size) != 0) - { - pixma_dbg (1, - "BUG:received data not multiple of line_size\n"); - } - } - if ((s->cur_image_size < s->param->image_size) && !s->param->mode_jpeg) - { - s->underrun = 1; - ib.wptr = fill_pixels (s, ib.wptr, ib.wend, 0xff); - } - else - { - PDBG (pixma_dbg (3, "pixma_read_image():completed\n")); - s->scanning = 0; - } - break; - } - s->cur_image_size += result; - - PASSERT (s->cur_image_size <= s->param->image_size); - } - if (ib.rptr) - { - unsigned count = MIN (ib.rend - ib.rptr, ib.wend - ib.wptr); - memcpy (ib.wptr, ib.rptr, count); - ib.rptr += count; - ib.wptr += count; - } - } - s->imagebuf = ib; /* store rptr and rend */ - return ib.wptr - (uint8_t *) buf; - -cancel: - s->ops->finish_scan (s); - s->scanning = 0; - if (result == PIXMA_ECANCELED) - { - PDBG (pixma_dbg (3, "pixma_read_image(): cancelled by %sware\n", - (s->cancel) ? "soft" : "hard")); - } - else - { - PDBG (pixma_dbg (3, "pixma_read_image() failed %s\n", - pixma_strerror (result))); - } - return result; -} - -void -pixma_cancel (pixma_t * s) -{ - s->cancel = 1; -} - -int -pixma_enable_background (pixma_t * s, int enabled) -{ - return pixma_set_interrupt_mode (s->io, enabled); -} - -int -pixma_activate_connection(pixma_t * s) -{ - return pixma_activate (s->io); -} - -int -pixma_deactivate_connection(pixma_t * s) -{ - return pixma_deactivate (s->io); -} - -uint32_t -pixma_wait_event (pixma_t * s, int timeout /*ms */ ) -{ - unsigned events; - - if (s->events == PIXMA_EV_NONE && s->ops->wait_event) - s->ops->wait_event (s, timeout); - events = s->events; - s->events = PIXMA_EV_NONE; - return events; -} - -#define CLAMP2(x,w,min,max,dpi) do { \ - unsigned m = (max) * (dpi) / 75; \ - x = MIN(x, m - min); \ - w = MIN(w, m - x); \ - if (w < min) w = min; \ -} while(0) - -int -pixma_check_scan_param (pixma_t * s, pixma_scan_param_t * sp) -{ - unsigned cfg_xdpi; - - if (!(sp->channels == 3 || - (sp->channels == 1 && (s->cfg->cap & PIXMA_CAP_GRAY) != 0))) - return PIXMA_EINVAL; - - /* flatbed: use s->cfg->xdpi - * TPU/ADF: use s->cfg->adftpu_max_dpi, if configured with dpi value */ - cfg_xdpi = ((sp->source == PIXMA_SOURCE_FLATBED - || s->cfg->adftpu_max_dpi == 0) ? s->cfg->xdpi - : s->cfg->adftpu_max_dpi); - - if (pixma_check_dpi (sp->xdpi, cfg_xdpi) < 0 || - pixma_check_dpi (sp->ydpi, s->cfg->ydpi) < 0) - return PIXMA_EINVAL; - - /* xdpi must be equal to ydpi except that - xdpi = max_xdpi and ydpi = max_ydpi. */ - if (!(sp->xdpi == sp->ydpi || - (sp->xdpi == cfg_xdpi && sp->ydpi == s->cfg->ydpi))) - return PIXMA_EINVAL; - - if (s->ops->check_param (s, sp) < 0) - return PIXMA_EINVAL; - - /* FIXME: I assume the same minimum width and height for every model. - * new scanners need minimum 16 px height - * minimum image size: 16 px x 16 px */ - CLAMP2 (sp->x, sp->w, 16, s->cfg->width, sp->xdpi); - CLAMP2 (sp->y, sp->h, 16, s->cfg->height, sp->ydpi); - - switch (sp->source) - { - case PIXMA_SOURCE_FLATBED: - break; - - case PIXMA_SOURCE_TPU: - if ((s->cfg->cap & PIXMA_CAP_TPU) != PIXMA_CAP_TPU) - { - sp->source = PIXMA_SOURCE_FLATBED; - PDBG (pixma_dbg - (1, "WARNING: TPU unsupported, fallback to flatbed.\n")); - } - break; - - case PIXMA_SOURCE_ADF: - if ((s->cfg->cap & PIXMA_CAP_ADF) != PIXMA_CAP_ADF) - { - sp->source = PIXMA_SOURCE_FLATBED; - PDBG (pixma_dbg - (1, "WARNING: ADF unsupported, fallback to flatbed.\n")); - } - break; - - case PIXMA_SOURCE_ADFDUP: - if ((s->cfg->cap & PIXMA_CAP_ADFDUP) != PIXMA_CAP_ADFDUP) - { - if (s->cfg->cap & PIXMA_CAP_ADF) - { - sp->source = PIXMA_SOURCE_ADF; - } - else - { - sp->source = PIXMA_SOURCE_FLATBED; - } - PDBG (pixma_dbg - (1, "WARNING: ADF duplex unsupported, fallback to %d.\n", - sp->source)); - } - break; - } - - if (sp->depth == 0) - sp->depth = 8; - if ((sp->depth % 8) != 0 && sp->depth != 1) - return PIXMA_EINVAL; - - sp->line_size = 0; - - if (s->ops->check_param (s, sp) < 0) - return PIXMA_EINVAL; - - if (sp->line_size == 0) - sp->line_size = sp->depth / 8 * sp->channels * sp->w; - sp->image_size = sp->line_size * sp->h; - - /* image_size for software lineart is counted in bits */ - if (sp->software_lineart == 1) - sp->image_size /= 8; - return 0; -} - -const char * -pixma_get_string (pixma_t * s, pixma_string_index_t i) -{ - switch (i) - { - case PIXMA_STRING_MODEL: - return s->cfg->name; - case PIXMA_STRING_ID: - return s->id; - case PIXMA_STRING_LAST: - return NULL; - } - return NULL; -} - -const pixma_config_t * -pixma_get_config (pixma_t * s) -{ - return s->cfg; -} - -void -pixma_fill_gamma_table (double gamma, uint8_t * table, unsigned n) -{ - int i; - double r_gamma = 1.0 / gamma; - double out_scale = 255.0; - double in_scale = 1.0 / (n - 1); - - for (i = 0; (unsigned) i != n; i++) - { - table[i] = (int) (out_scale * pow (i * in_scale, r_gamma) + 0.5); - } -} - -int -pixma_find_scanners (const char **conf_devices) -{ - return pixma_collect_devices (conf_devices, pixma_devices); -} - -const char * -pixma_get_device_model (unsigned devnr) -{ - const pixma_config_t *cfg = pixma_get_device_config (devnr); - return (cfg) ? cfg->name : NULL; -} - - -int -pixma_get_device_status (pixma_t * s, pixma_device_status_t * status) -{ - if (!status) - return PIXMA_EINVAL; - memset (status, 0, sizeof (*status)); - return s->ops->get_status (s, status); -} diff --git a/backend/pixma_common.h b/backend/pixma_common.h deleted file mode 100644 index c0ed4ba..0000000 --- a/backend/pixma_common.h +++ /dev/null @@ -1,232 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2011-2019 Rolf Bensch - Copyright (C) 2006-2007 Wittawat Yamwong - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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 PIXMA_COMMON_H -#define PIXMA_COMMON_H - - -#include /* time_t */ -#include "pixma.h" - - -/*! \defgroup subdriver Subdriver Interface - * \brief Subdriver interface. */ - -/*! \defgroup debug Debug utilities - * \brief Debug utilities. */ - -#ifdef NDEBUG -# define PDBG(x) do {} while(0) -# define PASSERT(x) do {} while(0) -#else -# define PDBG(x) x -# define PASSERT(x) do { \ - if (!(x)) \ - pixma_dbg(1, "ASSERT failed:%s:%d: " \ - #x "\n", __FILE__, __LINE__); \ - } while(0) -#endif - - -#define PIXMA_STATUS_OK 0x0606 -#define PIXMA_STATUS_FAILED 0x1515 -#define PIXMA_STATUS_BUSY 0x1414 - -#define PIXMA_MAX_ID_LEN 30 - -/* These may have been defined elsewhere */ -#ifndef MIN -#define MIN(x,y) (((x) < (y)) ? (x):(y)) -#endif -#ifndef MAX -#define MAX(x,y) (((x) < (y)) ? (y):(x)) -#endif -#define ALIGN_SUP(x,n) (((x) + (n) - 1) / (n) * (n)) -#define ALIGN_INF(x,n) (((x) / (n)) * (n)) - -struct pixma_io_t; - -struct pixma_limits_t -{ - unsigned xdpi, ydpi; - unsigned width, height; -}; - -struct pixma_cmdbuf_t -{ - unsigned cmd_header_len, res_header_len, cmd_len_field_ofs; - unsigned expected_reslen, cmdlen; - int reslen; - unsigned size; - uint8_t *buf; -}; - -struct pixma_imagebuf_t -{ - uint8_t *wptr, *wend; - const uint8_t *rptr, *rend; -}; - -struct pixma_t -{ - pixma_t *next; - struct pixma_io_t *io; - const pixma_scan_ops_t *ops; - pixma_scan_param_t *param; - const pixma_config_t *cfg; - char id[PIXMA_MAX_ID_LEN + 1]; - int cancel; /* NOTE: It can be set in a signal handler. */ - uint32_t events; - void *subdriver; /* can be used by model driver. */ - int rec_tmo; /* receive timeout [s] */ - - /* private */ - uint64_t cur_image_size; - pixma_imagebuf_t imagebuf; - unsigned scanning:1; - unsigned underrun:1; -}; - -/** \addtogroup subdriver - * @{ */ -/** Scan operations for subdriver. */ -struct pixma_scan_ops_t -{ - /** Allocate a data structure for the subdriver. It is called after the - * core driver connected to the scanner. The subdriver should reset the - * scanner to a known state in this function. */ - int (*open) (pixma_t *); - - /** Free resources allocated by the subdriver. Don't forget to send abort - * command to the scanner if it is scanning. */ - void (*close) (pixma_t *); - - /** Setup the scanner for scan parameters defined in \a s->param. */ - int (*scan) (pixma_t * s); - - /** Fill a buffer with image data. The subdriver has two choices: - * -# Fill the buffer pointed by ib->wptr directly and leave - * ib->rptr and ib->rend untouched. The length of the buffer is - * ib->wend - ib->wptr. It must update ib->wptr accordingly. - * -# Update ib->rptr and ib->rend to point to the beginning and - * the end of the internal buffer resp. The length of the buffer - * is ib->rend - ib->rptr. This function is called again if - * and only if pixma_read_image() has copied the whole buffer. - * - * The subdriver must wait until there is at least one byte to read or - * return 0 for the end of image. */ - int (*fill_buffer) (pixma_t *, pixma_imagebuf_t * ib); - - /** Cancel the scan operation if necessary and free resources allocated in - * scan(). */ - void (*finish_scan) (pixma_t *); - - /** [Optional] Wait for a user's event, e.g. button event. \a timeout is - * in milliseconds. If an event occured before it's timed out, flags in - * \a s->events should be set accordingly. - * \see PIXMA_EV_* */ - void (*wait_event) (pixma_t * s, int timeout); - - /** Check the scan parameters. The parameters can be adjusted if they are - * out of range, e.g. width > max_width. */ - int (*check_param) (pixma_t *, pixma_scan_param_t *); - - /** Read the device status. \see pixma_get_device_status() */ - int (*get_status) (pixma_t *, pixma_device_status_t *); -}; - - -/** \name Funtions for read and write big-endian integer values */ -/**@{*/ -void pixma_set_be16 (uint16_t x, uint8_t * buf); -void pixma_set_be32 (uint32_t x, uint8_t * buf); -uint16_t pixma_get_be16 (const uint8_t * buf); -uint32_t pixma_get_be32 (const uint8_t * buf); -/**@}*/ - -/** \name Utility functions */ -/**@{*/ -uint8_t pixma_sum_bytes (const void *data, unsigned len); -int pixma_check_dpi (unsigned dpi, unsigned max); -void pixma_sleep (unsigned long usec); -void pixma_get_time (time_t * sec, uint32_t * usec); -uint8_t * pixma_r_to_ir (uint8_t * gptr, uint8_t * sptr, unsigned w, unsigned c); -uint8_t * pixma_rgb_to_gray (uint8_t * gptr, uint8_t * sptr, unsigned w, unsigned c); -uint8_t * pixma_binarize_line(pixma_scan_param_t *, uint8_t * dst, uint8_t * src, unsigned width, unsigned c); -/**@}*/ - -/** \name Command related functions */ -/**@{*/ -int pixma_cmd_transaction (pixma_t *, const void *cmd, unsigned cmdlen, - void *data, unsigned expected_len); -int pixma_check_result (pixma_cmdbuf_t *); -uint8_t *pixma_newcmd (pixma_cmdbuf_t *, unsigned cmd, - unsigned dataout, unsigned datain); -int pixma_exec (pixma_t *, pixma_cmdbuf_t *); -int pixma_exec_short_cmd (pixma_t *, pixma_cmdbuf_t *, unsigned cmd); -int pixma_map_status_errno (unsigned status); -/**@}*/ - -#define pixma_fill_checksum(start, end) do { \ - *(end) = -pixma_sum_bytes(start, (end)-(start)); \ -} while(0) - -/** @} end of group subdriver */ - -/** \addtogroup debug - * @{ */ -void pixma_set_debug_level (int level); -#ifndef NDEBUG -void pixma_hexdump (int level, const void *d_, unsigned len); - -/* len: length of data or error code. - size: if >= 0, force to print 'size' bytes. - max: maximum number of bytes to print(-1 means no limit). */ -void pixma_dump (int level, const char *type, const void *data, int len, - int size, int max); -# define DEBUG_DECLARE_ONLY -# include "../include/sane/sanei_debug.h" -#endif /* NDEBUG */ -/** @} end of group debug */ - -#endif diff --git a/backend/pixma_imageclass.c b/backend/pixma_imageclass.c deleted file mode 100644 index 9301bc6..0000000 --- a/backend/pixma_imageclass.c +++ /dev/null @@ -1,979 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2011-2019 Rolf Bensch - Copyright (C) 2007-2009 Nicolas Martin, - Copyright (C) 2008 Dennis Lou, dlou 99 at yahoo dot 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. - */ - -/* - * imageCLASS backend based on pixma_mp730.c - */ - -#include "../include/sane/config.h" - -#include -#include -#include - -#include "pixma_rename.h" -#include "pixma_common.h" -#include "pixma_io.h" - - -#ifdef __GNUC__ -# define UNUSED(v) (void) v -#else -# define UNUSED(v) -#endif - -#define IMAGE_BLOCK_SIZE (0x80000) -#define MAX_CHUNK_SIZE (0x1000) -#define MIN_CHUNK_SIZE (0x0200) -#define CMDBUF_SIZE 512 - -#define MF4100_PID 0x26a3 -#define MF4600_PID 0x26b0 -#define MF4010_PID 0x26b4 -#define MF4200_PID 0x26b5 -#define MF4360_PID 0x26ec -#define D480_PID 0x26ed -#define MF4320_PID 0x26ee -#define D420_PID 0x26ef -#define MF3200_PID 0x2684 -#define MF6500_PID 0x2686 -/* generation 2 scanners (>=0x2707) */ -#define MF8300_PID 0x2708 -#define MF4500_PID 0x2736 -#define MF4410_PID 0x2737 -#define D550_PID 0x2738 -#define MF3010_PID 0x2759 -#define MF4570_PID 0x275a -#define MF4800_PID 0x2773 -#define MF4700_PID 0x2774 -#define MF8200_PID 0x2779 -/* the following are all untested */ -#define MF5630_PID 0x264e -#define MF5650_PID 0x264f -#define MF8100_PID 0x2659 -#define MF5880_PID 0x26f9 -#define MF6680_PID 0x26fa -#define MF8030_PID 0x2707 -#define IR1133_PID 0x2742 -#define MF5900_PID 0x2743 -#define D530_PID 0x2775 -#define MF8500_PID 0x277a -#define MF6100_PID 0x278e -#define MF820_PID 0x27a6 -#define MF220_PID 0x27a8 -#define MF210_PID 0x27a9 -#define MF620_PID 0x27b4 -#define MF410_PID 0x27c0 -#define MF510_PID 0x27c2 -#define MF230_PID 0x27d1 -#define MF240_PID 0x27d2 -#define MF630_PID 0x27e1 -#define MF634_PID 0x27e2 -#define MF730_PID 0x27e4 -#define MF731_PID 0x27e5 -#define D570_PID 0x27e8 -#define MF110_PID 0x27ed -#define MF520_PID 0x27f0 -#define MF420_PID 0x27f1 -#define MF260_PID 0x27f4 -#define MF740_PID 0x27fb -#define MF640_PID 0x27fe - - -enum iclass_state_t -{ - state_idle, - state_warmup, /* MF4200 always warm/calibrated; others? */ - state_scanning, - state_finished -}; - -enum iclass_cmd_t -{ - cmd_start_session = 0xdb20, - cmd_select_source = 0xdd20, - cmd_scan_param = 0xde20, - cmd_status = 0xf320, - cmd_abort_session = 0xef20, - cmd_read_image = 0xd420, - cmd_read_image2 = 0xd460, /* New multifunctionals, such as MF4410 */ - cmd_error_info = 0xff20, - - cmd_activate = 0xcf60 -}; - -typedef struct iclass_t -{ - enum iclass_state_t state; - pixma_cmdbuf_t cb; - unsigned raw_width; - uint8_t current_status[12]; - - uint8_t *buf, *blkptr, *lineptr; - unsigned buf_len, blk_len; - - unsigned last_block; - - uint8_t generation; /* New multifunctionals are (generation == 2) */ - - uint8_t adf_state; /* handle adf scanning */ -} iclass_t; - - -static int is_scanning_from_adf (pixma_t * s) -{ - return (s->param->source == PIXMA_SOURCE_ADF - || s->param->source == PIXMA_SOURCE_ADFDUP); -} - -static int is_scanning_from_adfdup (pixma_t * s) -{ - return (s->param->source == PIXMA_SOURCE_ADFDUP); -} - -static void iclass_finish_scan (pixma_t * s); - -/* checksumming is sometimes different than pixmas */ -static int -iclass_exec (pixma_t * s, pixma_cmdbuf_t * cb, char invcksum) -{ - if (cb->cmdlen > cb->cmd_header_len) - pixma_fill_checksum (cb->buf + cb->cmd_header_len, - cb->buf + cb->cmdlen - 2); - cb->buf[cb->cmdlen - 1] = invcksum ? -cb->buf[cb->cmdlen - 2] : 0; - cb->reslen = - pixma_cmd_transaction (s, cb->buf, cb->cmdlen, cb->buf, - cb->expected_reslen); - return pixma_check_result (cb); -} - -static int -has_paper (pixma_t * s) -{ - iclass_t *mf = (iclass_t *) s->subdriver; - return ((mf->current_status[1] & 0x0f) == 0 /* allow 0x10 as ADF paper OK */ - || mf->current_status[1] == 81); /* allow 0x51 as ADF paper OK */ -} - -static int -abort_session (pixma_t * s) -{ - iclass_t *mf = (iclass_t *) s->subdriver; - return pixma_exec_short_cmd (s, &mf->cb, cmd_abort_session); -} - -static int -query_status (pixma_t * s) -{ - iclass_t *mf = (iclass_t *) s->subdriver; - uint8_t *data; - int error; - - data = pixma_newcmd (&mf->cb, cmd_status, 0, 12); - error = pixma_exec (s, &mf->cb); - if (error >= 0) - { - memcpy (mf->current_status, data, 12); - /*DBG (3, "Current status: paper=0x%02x cal=%u lamp=%u\n", - data[1], data[8], data[7]);*/ - PDBG (pixma_dbg (3, "Current status: paper=0x%02x cal=%u lamp=%u\n", - data[1], data[8], data[7])); - } - return error; -} - -static int -activate (pixma_t * s, uint8_t x) -{ - iclass_t *mf = (iclass_t *) s->subdriver; - uint8_t *data = pixma_newcmd (&mf->cb, cmd_activate, 10, 0); - data[0] = 1; - data[3] = x; - switch (s->cfg->pid) - { - case MF4200_PID: - case MF4600_PID: - case MF6500_PID: - case D480_PID: - case D420_PID: - case MF4360_PID: - case MF4100_PID: - case MF8300_PID: - return iclass_exec (s, &mf->cb, 1); - break; - default: - return pixma_exec (s, &mf->cb); - } -} - -static int -start_session (pixma_t * s) -{ - iclass_t *mf = (iclass_t *) s->subdriver; - return pixma_exec_short_cmd (s, &mf->cb, cmd_start_session); -} - -static int -select_source (pixma_t * s) -{ - iclass_t *mf = (iclass_t *) s->subdriver; - uint8_t *data = pixma_newcmd (&mf->cb, cmd_select_source, 10, 0); - data[0] = (is_scanning_from_adf(s)) ? 2 : 1; - /* special settings for MF6100 */ - data[5] = is_scanning_from_adfdup(s) ? 3 : ((s->cfg->pid == MF6100_PID && s->param->source == PIXMA_SOURCE_ADF) ? 1 : 0); - switch (s->cfg->pid) - { - case MF4200_PID: - case MF4600_PID: - case MF6500_PID: - case D480_PID: - case D420_PID: - case MF4360_PID: - case MF4100_PID: - case MF8300_PID: - return iclass_exec (s, &mf->cb, 0); - break; - default: - return pixma_exec (s, &mf->cb); - } -} - -static int -send_scan_param (pixma_t * s) -{ - iclass_t *mf = (iclass_t *) s->subdriver; - uint8_t *data; - - data = pixma_newcmd (&mf->cb, cmd_scan_param, 0x2e, 0); - pixma_set_be16 (s->param->xdpi | 0x1000, data + 0x04); - pixma_set_be16 (s->param->ydpi | 0x1000, data + 0x06); - pixma_set_be32 (s->param->x, data + 0x08); - pixma_set_be32 (s->param->y, data + 0x0c); - pixma_set_be32 (mf->raw_width, data + 0x10); - pixma_set_be32 (s->param->h, data + 0x14); - data[0x18] = (s->param->channels == 1) ? 0x04 : 0x08; - data[0x19] = s->param->channels * ((s->param->depth == 1) ? 8 : s->param->depth); /* bits per pixel */ - data[0x1f] = 0x7f; - data[0x20] = 0xff; - data[0x23] = 0x81; - switch (s->cfg->pid) - { - case MF4200_PID: - case MF4600_PID: - case MF6500_PID: - case D480_PID: - case D420_PID: - case MF4360_PID: - case MF4100_PID: - case MF8300_PID: - return iclass_exec (s, &mf->cb, 0); - break; - default: - return pixma_exec (s, &mf->cb); - } -} - -static int -request_image_block (pixma_t * s, unsigned flag, uint8_t * info, - unsigned * size, uint8_t * data, unsigned * datalen) -{ - iclass_t *mf = (iclass_t *) s->subdriver; - int error; - unsigned expected_len; - const int hlen = 2 + 6; - - memset (mf->cb.buf, 0, 11); - /* generation 2 scanners use cmd_read_image2. - * MF6100, ... are exceptions */ - pixma_set_be16 (((mf->generation >= 2 - && s->cfg->pid != MF6100_PID) ? cmd_read_image2 : cmd_read_image), mf->cb.buf); - mf->cb.buf[8] = flag; - mf->cb.buf[10] = 0x06; - expected_len = (mf->generation >= 2 || - s->cfg->pid == MF4600_PID || - s->cfg->pid == MF6500_PID || - s->cfg->pid == MF8030_PID) ? 512 : hlen; - mf->cb.reslen = pixma_cmd_transaction (s, mf->cb.buf, 11, mf->cb.buf, expected_len); - if (mf->cb.reslen >= hlen) - { - *info = mf->cb.buf[2]; - *size = pixma_get_be16 (mf->cb.buf + 6); /* 16bit size */ - error = 0; - - if (mf->generation >= 2 || - s->cfg->pid == MF4600_PID || - s->cfg->pid == MF6500_PID || - s->cfg->pid == MF8030_PID) - { /* 32bit size */ - *datalen = mf->cb.reslen - hlen; - *size = (*datalen + hlen == 512) ? pixma_get_be32 (mf->cb.buf + 4) - *datalen : *size; - memcpy (data, mf->cb.buf + hlen, *datalen); - } - PDBG (pixma_dbg (11, "*request_image_block***** size = %u *****\n", *size)); - } - else - { - error = PIXMA_EPROTO; - } - return error; -} - -static int -read_image_block (pixma_t * s, uint8_t * data, unsigned size) -{ - iclass_t *mf = (iclass_t *) s->subdriver; - int error; - unsigned maxchunksize, chunksize, count = 0; - - maxchunksize = MAX_CHUNK_SIZE * ((mf->generation >= 2 || - s->cfg->pid == MF4600_PID || - s->cfg->pid == MF6500_PID || - s->cfg->pid == MF8030_PID) ? 4 : 1); - while (size) - { - if (size >= maxchunksize) - chunksize = maxchunksize; - else if (size < MIN_CHUNK_SIZE) - chunksize = size; - else - chunksize = size - (size % MIN_CHUNK_SIZE); - error = pixma_read (s->io, data, chunksize); - if (error < 0) - return count; - count += error; - data += error; - size -= error; - } - return count; -} - -static int -read_error_info (pixma_t * s, void *buf, unsigned size) -{ - unsigned len = 16; - iclass_t *mf = (iclass_t *) s->subdriver; - uint8_t *data; - int error; - - data = pixma_newcmd (&mf->cb, cmd_error_info, 0, len); - switch (s->cfg->pid) - { - case MF4200_PID: - case MF4600_PID: - case MF6500_PID: - case D480_PID: - case D420_PID: - case MF4360_PID: - case MF4100_PID: - case MF8300_PID: - error = iclass_exec (s, &mf->cb, 0); - break; - default: - error = pixma_exec (s, &mf->cb); - } - if (error < 0) - return error; - if (buf && len < size) - { - size = len; - /* NOTE: I've absolutely no idea what the returned data mean. */ - memcpy (buf, data, size); - error = len; - } - return error; -} - -static int -handle_interrupt (pixma_t * s, int timeout) -{ - uint8_t buf[16]; - int len; - - len = pixma_wait_interrupt (s->io, buf, sizeof (buf), timeout); - if (len == PIXMA_ETIMEDOUT) - return 0; - if (len < 0) - return len; - if (len != 16) - { - PDBG (pixma_dbg - (1, "WARNING:unexpected interrupt packet length %d\n", len)); - return PIXMA_EPROTO; - } - if (buf[12] & 0x40) - query_status (s); - if (buf[15] & 1) - s->events = PIXMA_EV_BUTTON1; - return 1; -} - -static int -step1 (pixma_t * s) -{ - int error; - int rec_tmo; - iclass_t *mf = (iclass_t *) s->subdriver; - - /* don't wait full timeout for 1st command */ - rec_tmo = s->rec_tmo; /* save globel timeout */ - s->rec_tmo = 2; /* set timeout to 2 seconds */ - error = query_status (s); - s->rec_tmo = rec_tmo; /* restore global timeout */ - if (error < 0) - { - PDBG (pixma_dbg (1, "WARNING: Resend first USB command after timeout!\n")); - error = query_status (s); - } - if (error < 0) - return error; - - /* wait for inserted paper */ - if (s->param->adf_wait != 0 && is_scanning_from_adf(s)) - { - int tmo = s->param->adf_wait; - - while (!has_paper (s) && --tmo >= 0 && !s->param->frontend_cancel) - { - if ((error = query_status (s)) < 0) - return error; - pixma_sleep (1000000); - PDBG (pixma_dbg(2, "No paper in ADF. Timed out in %d sec.\n", tmo)); - } - /* canceled from frontend */ - if (s->param->frontend_cancel) - { - return PIXMA_ECANCELED; - } - } - /* no paper inserted - * => abort session */ - if (is_scanning_from_adf(s) && !has_paper (s)) - { - return PIXMA_ENO_PAPER; - } - /* activate only seen for generation 1 scanners */ - if (mf->generation == 1) - { - if (error >= 0) - error = activate (s, 0); - if (error >= 0) - error = activate (s, 4); - } - return error; -} - -/* line in=rrr... ggg... bbb... line out=rgbrgbrgb... */ -static void -pack_rgb (const uint8_t * src, unsigned nlines, unsigned w, uint8_t * dst) -{ - unsigned w2, stride; - - w2 = 2 * w; - stride = 3 * w; - for (; nlines != 0; nlines--) - { - unsigned x; - for (x = 0; x != w; x++) - { - *dst++ = src[x + 0]; - *dst++ = src[x + w]; - *dst++ = src[x + w2]; - } - src += stride; - } -} - -static int -iclass_open (pixma_t * s) -{ - iclass_t *mf; - uint8_t *buf; - - mf = (iclass_t *) calloc (1, sizeof (*mf)); - if (!mf) - return PIXMA_ENOMEM; - - buf = (uint8_t *) malloc (CMDBUF_SIZE); - if (!buf) - { - free (mf); - return PIXMA_ENOMEM; - } - - s->subdriver = mf; - mf->state = state_idle; - - mf->cb.buf = buf; - mf->cb.size = CMDBUF_SIZE; - mf->cb.res_header_len = 2; - mf->cb.cmd_header_len = 10; - mf->cb.cmd_len_field_ofs = 7; - - /* adf scanning */ - mf->adf_state = state_idle; - - /* set generation = 2 for new multifunctionals */ - mf->generation = (s->cfg->pid >= MF8030_PID) ? 2 : 1; - PDBG (pixma_dbg (3, "*iclass_open***** This is a generation %d scanner. *****\n", mf->generation)); - - PDBG (pixma_dbg (3, "Trying to clear the interrupt buffer...\n")); - if (handle_interrupt (s, 200) == 0) - { - PDBG (pixma_dbg (3, " no packets in buffer\n")); - } - return 0; -} - -static void -iclass_close (pixma_t * s) -{ - iclass_t *mf = (iclass_t *) s->subdriver; - - iclass_finish_scan (s); - free (mf->cb.buf); - free (mf->buf); - free (mf); - s->subdriver = NULL; -} - -static int -iclass_check_param (pixma_t * s, pixma_scan_param_t * sp) -{ - UNUSED (s); - - /* PDBG (pixma_dbg (4, "*iclass_check_param***** Initially: channels=%u, depth=%u, x=%u, y=%u, w=%u, line_size=%" PRIu64 " , h=%u*****\n", - sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->line_size, sp->h)); */ - - sp->depth = 8; - sp->software_lineart = 0; - if (sp->mode == PIXMA_SCAN_MODE_LINEART) - { - sp->software_lineart = 1; - sp->channels = 1; - sp->depth = 1; - } - - if (sp->software_lineart == 1) - { - unsigned w_max; - - /* for software lineart line_size and w must be a multiple of 8 */ - sp->line_size = ALIGN_SUP (sp->w, 8) * sp->channels; - sp->w = ALIGN_SUP (sp->w, 8); - - /* do not exceed the scanner capability */ - w_max = s->cfg->width * s->cfg->xdpi / 75; - w_max -= w_max % 32; - if (sp->w > w_max) - sp->w = w_max; - } - else - sp->line_size = ALIGN_SUP (sp->w, 32) * sp->channels; - - /* Some exceptions here for particular devices */ - /* Those devices can scan up to Legal 14" with ADF, but A4 11.7" in flatbed */ - /* PIXMA_CAP_ADF also works for PIXMA_CAP_ADFDUP */ - if ((s->cfg->cap & PIXMA_CAP_ADF) && sp->source == PIXMA_SOURCE_FLATBED) - sp->h = MIN (sp->h, 877 * sp->xdpi / 75); - - /* PDBG (pixma_dbg (4, "*iclass_check_param***** Finally: channels=%u, depth=%u, x=%u, y=%u, w=%u, line_size=%" PRIu64 " , h=%u*****\n", - sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->line_size, sp->h)); */ - - return 0; -} - -static int -iclass_scan (pixma_t * s) -{ - int error, n; - iclass_t *mf = (iclass_t *) s->subdriver; - uint8_t *buf, ignore; - unsigned buf_len, ignore2; - - if (mf->state != state_idle) - return PIXMA_EBUSY; - - /* clear interrupt packets buffer */ - while (handle_interrupt (s, 0) > 0) - { - } - - mf->raw_width = ALIGN_SUP (s->param->w, 32); - PDBG (pixma_dbg (3, "raw_width = %u\n", mf->raw_width)); - - n = IMAGE_BLOCK_SIZE / s->param->line_size + 1; - buf_len = (n + 1) * s->param->line_size + IMAGE_BLOCK_SIZE; - if (buf_len > mf->buf_len) - { - buf = (uint8_t *) realloc (mf->buf, buf_len); - if (!buf) - return PIXMA_ENOMEM; - mf->buf = buf; - mf->buf_len = buf_len; - } - mf->lineptr = mf->buf; - mf->blkptr = mf->buf + n * s->param->line_size; - mf->blk_len = 0; - - error = step1 (s); - if (error >= 0 - && (s->param->adf_pageid == 0 || mf->generation == 1 || mf->adf_state == state_idle)) - { /* single sheet or first sheet from ADF */ - PDBG (pixma_dbg (3, "*iclass_scan***** start scanning *****\n")); - error = start_session (s); - if (error >= 0) - mf->state = state_scanning; - if (error >= 0) - error = select_source (s); - } - else if (error >= 0) - { /* next sheet from ADF */ - PDBG (pixma_dbg (3, "*iclass_scan***** scan next sheet from ADF *****\n")); - mf->state = state_scanning; - } - if (error >= 0) - error = send_scan_param (s); - if (error >= 0) - error = request_image_block (s, 0, &ignore, &ignore2, &ignore, &ignore2); - if (error < 0) - { - iclass_finish_scan (s); - return error; - } - mf->last_block = 0; - - /* ADF scanning active */ - if (is_scanning_from_adf (s)) - mf->adf_state = state_scanning; - return 0; -} - - -static int -iclass_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) -{ - int error, n; - iclass_t *mf = (iclass_t *) s->subdriver; - unsigned block_size, lines_size, lineart_lines_size, first_block_size; - uint8_t info; - -/* - * 1. send a block request cmd (d4 20 00... 04 00 06) - * 2. examine the response for block size and/or end-of-scan flag - * 3. read the block one chunk at a time - * 4. repeat until have enough to process >=1 lines - */ - do - { - do - { - if (s->cancel) - return PIXMA_ECANCELED; - if (mf->last_block) - { - /* end of image */ - mf->state = state_finished; - return 0; - } - - first_block_size = 0; - error = request_image_block (s, 4, &info, &block_size, - mf->blkptr + mf->blk_len, &first_block_size); - /* add current block to remainder of previous */ - mf->blk_len += first_block_size; - if (error < 0) - { - /* NOTE: seen in traffic logs but don't know the meaning. */ - read_error_info (s, NULL, 0); - if (error == PIXMA_ECANCELED) - return error; - } - - /* info: 0x28 = end; 0x38 = end + ADF empty */ - mf->last_block = info & 0x38; - if ((info & ~0x38) != 0) - { - PDBG (pixma_dbg (1, "WARNING: Unexpected result header\n")); - PDBG (pixma_hexdump (1, &info, 1)); - } - - if (block_size == 0) - { - /* no image data at this moment. */ - /*pixma_sleep(100000); *//* FIXME: too short, too long? */ - handle_interrupt (s, 100); - } - } - while (block_size == 0 && first_block_size == 0); - - error = read_image_block (s, mf->blkptr + mf->blk_len, block_size); - block_size = error; - if (error < 0) - return error; - - /* add current block to remainder of previous */ - mf->blk_len += block_size; - /* n = number of full lines (rows) we have in the buffer. */ - n = mf->blk_len / ((s->param->mode == PIXMA_SCAN_MODE_LINEART) ? mf->raw_width : s->param->line_size); - if (n != 0) - { - /* PDBG (pixma_dbg (4, "*iclass_fill_buffer***** Processing with n=%d, w=%i, line_size=%" PRIu64 ", raw_width=%u ***** \n", - n, s->param->w, s->param->line_size, mf->raw_width)); */ - /* PDBG (pixma_dbg (4, "*iclass_fill_buffer***** scan_mode=%d, lineptr=%" PRIu64 ", blkptr=%" PRIu64 " \n", - s->param->mode, (uint64_t)mf->lineptr, (uint64_t)mf->blkptr)); */ - - /* gray to lineart convert - * mf->lineptr : image line - * mf->blkptr : scanned image block as grayscale - * s->param->w : image width - * s->param->line_size : scanned image width */ - if (s->param->mode == PIXMA_SCAN_MODE_LINEART) - { - int i; - uint8_t *sptr, *dptr; - - /* PDBG (pixma_dbg (4, "*iclass_fill_buffer***** Processing lineart *****\n")); */ - - /* process ALL lines */ - sptr = mf->blkptr; - dptr = mf->lineptr; - for (i = 0; i < n; i++, sptr += mf->raw_width) - dptr = pixma_binarize_line (s->param, dptr, sptr, s->param->line_size, 1); - } - else if (s->param->channels != 1 && - mf->generation == 1 && - s->cfg->pid != MF4600_PID && - s->cfg->pid != MF6500_PID && - s->cfg->pid != MF8030_PID) - { - /* color and not MF46xx or MF65xx */ - pack_rgb (mf->blkptr, n, mf->raw_width, mf->lineptr); - } - else - { - /* grayscale */ - memcpy (mf->lineptr, mf->blkptr, n * s->param->line_size); - } - /* cull remainder and shift left */ - lineart_lines_size = n * s->param->line_size / 8; - lines_size = n * ((s->param->mode == PIXMA_SCAN_MODE_LINEART) ? mf->raw_width : s->param->line_size); - mf->blk_len -= lines_size; - memcpy (mf->blkptr, mf->blkptr + lines_size, mf->blk_len); - } - } - while (n == 0); - - /* output full lines, keep partial lines for next block - * ib->rptr : start of image buffer - * ib->rend : end of image buffer */ - ib->rptr = mf->lineptr; - ib->rend = mf->lineptr + (s->param->mode == PIXMA_SCAN_MODE_LINEART ? lineart_lines_size : lines_size); - /* PDBG (pixma_dbg (4, "*iclass_fill_buffer***** rptr=%" PRIu64 ", rend=%" PRIu64 ", diff=%ld \n", - (uint64_t)ib->rptr, (uint64_t)ib->rend, ib->rend - ib->rptr)); */ - return ib->rend - ib->rptr; -} - -static void -iclass_finish_scan (pixma_t * s) -{ - int error; - iclass_t *mf = (iclass_t *) s->subdriver; - - switch (mf->state) - { - /* fall through */ - case state_warmup: - case state_scanning: - error = abort_session (s); - if (error < 0) - PDBG (pixma_dbg - (1, "WARNING:abort_session() failed %s\n", - pixma_strerror (error))); - /* fall through */ - case state_finished: - query_status (s); - query_status (s); - if (mf->generation == 1) - { /* activate only seen for generation 1 scanners */ - activate (s, 0); - query_status (s); - } - /* generation = 1: - * 0x28 = last block (no multi page scan) - * generation >= 2: - * 0x38 = last block and ADF empty (generation >= 2) - * 0x28 = last block and Paper in ADF (multi page scan) - * some generation 2 scanners don't use 0x38 for ADF empty => check status */ - if (mf->last_block==0x38 /* generation 2 scanner ADF empty */ - || (mf->generation == 1 && mf->last_block == 0x28) /* generation 1 scanner last block */ - || (mf->generation >= 2 && !has_paper(s))) /* check status: no paper in ADF */ - { - /* ADFDUP scan: wait for 8sec to throw last page out of ADF feeder */ - if (is_scanning_from_adfdup(s)) - { - PDBG (pixma_dbg (4, "*iclass_finish_scan***** sleep for 8s *****\n")); - pixma_sleep(8000000); /* sleep for 8s */ - query_status (s); - } - PDBG (pixma_dbg (3, "*iclass_finish_scan***** abort session *****\n")); - abort_session (s); - mf->adf_state = state_idle; - mf->last_block = 0; - } - else - PDBG (pixma_dbg (3, "*iclass_finish_scan***** wait for next page from ADF *****\n")); - - mf->state = state_idle; - /* fall through */ - case state_idle: - break; - } -} - -static void -iclass_wait_event (pixma_t * s, int timeout) -{ - /* FIXME: timeout is not correct. See usbGetCompleteUrbNoIntr() for - * instance. */ - while (s->events == 0 && handle_interrupt (s, timeout) > 0) - { - } -} - -static int -iclass_get_status (pixma_t * s, pixma_device_status_t * status) -{ - int error; - - error = query_status (s); - if (error < 0) - return error; - status->hardware = PIXMA_HARDWARE_OK; - status->adf = (has_paper (s)) ? PIXMA_ADF_OK : PIXMA_ADF_NO_PAPER; - return 0; -} - - -static const pixma_scan_ops_t pixma_iclass_ops = { - iclass_open, - iclass_close, - iclass_scan, - iclass_fill_buffer, - iclass_finish_scan, - iclass_wait_event, - iclass_check_param, - iclass_get_status -}; - -#define DEV(name, model, pid, dpi, adftpu_max_dpi, w, h, cap) { \ - name, /* name */ \ - model, /* model */ \ - 0x04a9, pid, /* vid pid */ \ - 1, /* iface */ \ - &pixma_iclass_ops, /* ops */ \ - dpi, dpi, /* xdpi, ydpi */ \ - 0, /* adftpu_min_dpi not used in this subdriver */ \ - adftpu_max_dpi, /* adftpu_max_dpi */ \ - 0, 0, /* tpuir_min_dpi & tpuir_max_dpi not used in this subdriver */ \ - w, h, /* width, height */ \ - PIXMA_CAP_LINEART| /* all scanners have software lineart */ \ - PIXMA_CAP_ADF_WAIT| /* adf wait for all ADF and ADFDUP scanners */ \ - PIXMA_CAP_GRAY|PIXMA_CAP_EVENTS|cap \ -} -const pixma_config_t pixma_iclass_devices[] = { - DEV ("Canon imageCLASS MF4270", "MF4270", MF4200_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), - DEV ("Canon imageCLASS MF4150", "MF4100", MF4100_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), - DEV ("Canon imageCLASS MF4690", "MF4690", MF4600_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), - DEV ("Canon imageCLASS D420", "D420", D420_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP), - DEV ("Canon imageCLASS D480", "D480", D480_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP), - DEV ("Canon imageCLASS MF4360", "MF4360", MF4360_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP), - DEV ("Canon imageCLASS MF4320", "MF4320", MF4320_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), - DEV ("Canon imageCLASS MF4010", "MF4010", MF4010_PID, 600, 0, 640, 877, 0), - DEV ("Canon imageCLASS MF3240", "MF3240", MF3200_PID, 600, 0, 640, 877, 0), - DEV ("Canon imageClass MF6500", "MF6500", MF6500_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), - DEV ("Canon imageCLASS MF4410", "MF4410", MF4410_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), - DEV ("Canon imageCLASS D550", "D550", D550_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), - DEV ("Canon i-SENSYS MF4500 Series", "MF4500", MF4500_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), - DEV ("Canon i-SENSYS MF3010", "MF3010", MF3010_PID, 600, 0, 640, 877, 0), - DEV ("Canon i-SENSYS MF4700 Series", "MF4700", MF4700_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), - DEV ("Canon i-SENSYS MF4800 Series", "MF4800", MF4800_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), - DEV ("Canon imageCLASS MF4570dw", "MF4570dw", MF4570_PID, 600, 0, 640, 877, 0), - DEV ("Canon i-SENSYS MF8200C Series", "MF8200C", MF8200_PID, 600, 300, 640, 1050, PIXMA_CAP_ADF), - DEV ("Canon i-SENSYS MF8300 Series", "MF8300", MF8300_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF), - DEV ("Canon imageCLASS D530", "D530", D530_PID, 600, 0, 640, 877, 0), - /* FIXME: the following capabilities all need updating/verifying */ - DEV ("Canon imageCLASS MF5630", "MF5630", MF5630_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), - DEV ("Canon laserBase MF5650", "MF5650", MF5650_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), - DEV ("Canon imageCLASS MF8170c", "MF8170c", MF8100_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), - DEV ("Canon imageClass MF8030", "MF8030", MF8030_PID, 600, 0, 640, 877, PIXMA_CAP_ADF), - DEV ("Canon i-SENSYS MF5880dn", "MF5880", MF5880_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP), - DEV ("Canon i-SENSYS MF6680dn", "MF6680", MF6680_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP), - DEV ("Canon imageRUNNER 1133", "iR1133", IR1133_PID, 600, 0, 637, 877, PIXMA_CAP_ADFDUP), /* max. w = 216mm */ - DEV ("Canon i-SENSYS MF5900 Series", "MF5900", MF5900_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon i-SENSYS MF8500C Series", "MF8500C", MF8500_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon i-SENSYS MF6100 Series", "MF6100", MF6100_PID, 600, 300, 640, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon imageClass MF810/820", "MF810/820", MF820_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon i-SENSYS MF220 Series", "MF220", MF220_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), /* max. w = 216mm */ - DEV ("Canon i-SENSYS MF210 Series", "MF210", MF210_PID, 600, 0, 637, 1050, PIXMA_CAP_ADF), /* max. w = 216mm */ - DEV ("Canon i-SENSYS MF620 Series", "MF620", MF620_PID, 600, 0, 637, 1050, PIXMA_CAP_ADF), - DEV ("Canon i-SENSYS MF410 Series", "MF410", MF410_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), /* max. w = 216mm */ - DEV ("Canon i-SENSYS MF510 Series", "MF510", MF510_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon i-SENSYS MF230 Series", "MF230", MF230_PID, 600, 0, 637, 1050, PIXMA_CAP_ADF), /* max. w = 216mm */ - DEV ("Canon i-SENSYS MF240 Series", "MF240", MF240_PID, 600, 300, 634, 1050, PIXMA_CAP_ADF), /* max. w = 215mm, */ - /* TODO: fix black stripes for 216mm @ 600dpi */ - DEV ("Canon i-SENSYS MF630 Series", "MF630", MF630_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon i-SENSYS MF730 Series", "MF730", MF730_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon i-SENSYS MF731C", "MF731", MF731_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon imageCLASS MF634C", "MF632C/634C", MF634_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon imageCLASS MF733C", "MF731C/733C", MF731_PID, 600, 0, 637, 1050, PIXMA_CAP_ADFDUP), /* however, we need this for ethernet/wifi */ - DEV ("Canon imageCLASS D570", "D570", D570_PID, 600, 0, 640, 877, 0), - DEV ("Canon i-SENSYS MF110 Series", "MF110", MF110_PID, 600, 0, 640, 1050, 0), - DEV ("Canon i-SENSYS MF520 Series", "MF520", MF520_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon i-SENSYS MF420 Series", "MF420", MF420_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon i-SENSYS MF260 Series", "MF260", MF260_PID, 600, 0, 640, 1050, 0), - DEV ("Canon i-SENSYS MF740 Series", "MF740", MF740_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), - DEV ("Canon i-SENSYS MF640 Series", "MF640", MF640_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP), - DEV (NULL, NULL, 0, 0, 0, 0, 0, 0) -}; diff --git a/backend/pixma_io.h b/backend/pixma_io.h deleted file mode 100644 index 29bb38d..0000000 --- a/backend/pixma_io.h +++ /dev/null @@ -1,186 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2006-2007 Wittawat Yamwong - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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 PIXMA_IO_H -#define PIXMA_IO_H - -/* TODO: move to pixma_common.h, to reduce the number of files */ - -/*! - * \defgroup IO IO interface - * \brief The IO interface. - * - * Return value of functions that return \c int if not otherwise specified: - * - >= if succeeded - * - < 0 if failed (e.g. \c PIXMA_ETIMEDOUT) - * . - * @{ - */ - -/** Timeout for pixma_read() in milliseconds */ -#define PIXMA_BULKIN_TIMEOUT 1000 -/** Timeout for pixma_write() in milliseconds */ -#define PIXMA_BULKOUT_TIMEOUT 1000 - - -struct pixma_io_t; -struct pixma_config_t; - -/** IO handle */ -typedef struct pixma_io_t pixma_io_t; - - -/** Initialize IO module. It must be called before any other functions in this - * module. - * \return 0 on success or - * - \c PIXMA_ENOMEM - * - \c PIXMA_EACCES - * - \c PIXMA_EIO */ -int pixma_io_init (void); - -/** Shutdown all connections and free resources allocated in this module. */ -void pixma_io_cleanup (void); - -/** Find devices currently connected to the computer. - * \c devnr passed to functions - * - pixma_get_device_config() - * - pixma_get_device_id() - * - pixma_connect() - * . - * should be less than the number of devices returned by this function. - * \param[in] pixma_devices A \c NULL terminated array of pointers to - * array of pixma_config_t which is terminated by setting - * pixma_config_t::name to \c NULL. - * \return Number of devices found */ -unsigned pixma_collect_devices (const char ** conf_devices, - const struct pixma_config_t *const - pixma_devices[]); - -/** Get device configuration. */ -const struct pixma_config_t *pixma_get_device_config (unsigned devnr); - -/** Get a unique ID of the device \a devnr. */ -const char *pixma_get_device_id (unsigned devnr); - -/** Connect to the device and claim the scanner interface. - * \param[in] devnr - * \param[out] handle - * \return 0 on success or - * - \c PIXMA_ENODEV the device is gone from the system. - * - \c PIXMA_EINVAL \a devnr is invalid. - * - \c PIXMA_EBUSY - * - \c PIXMA_EACCES - * - \c PIXMA_ENOMEM - * - \c PIXMA_EIO */ -int pixma_connect (unsigned devnr, pixma_io_t ** handle); - -/** Release the scanner interface and disconnect from the device. */ -void pixma_disconnect (pixma_io_t *); - -/** Activate connection to scanner */ -int pixma_activate (pixma_io_t *); - -/** De-activate connection to scanner */ -int pixma_deactivate (pixma_io_t *); - -/** Reset the USB interface. \warning Use with care! */ -int pixma_reset_device (pixma_io_t *); - -/** Write data to the device. This function may not be interrupted by signals. - * It will return iff - * - \a len bytes have been successfully written or - * - an error (inclusive timeout) occured. - * . - * \note Calling pixma_write(io, buf, n1) and pixma(io, buf+n1, n2) may - * not be the same as pixma_write(io, buf, n1+n2) if n1 is not - * multiple of the maximum packet size of the endpoint. - * \param[in] cmd Data - * \param[in] len Length of data - * \return Number of bytes successfully written (always = \a len) or - * - \c PIXMA_ETIMEDOUT - * - \c PIXMA_EIO - * - \c PIXMA_ENOMEM - * \see #PIXMA_BULKOUT_TIMEOUT */ -int pixma_write (pixma_io_t *, const void *cmd, unsigned len); - -/** Read data from the device. This function may not be interrupted by signals. - * It will return iff - * - \a size bytes have been successfully read, - * - a short packet has been read or - * - an error (inclusive timeout) occured. - * . - * \param[out] buf - * \param[in] size of the buffer - * \return Number of bytes successfully read. A return value of zero means that - * a zero length USB packet was received. Or - * - \c PIXMA_ETIMEDOUT - * - \c PIXMA_EIO - * - \c PIXMA_ENOMEM - * \see #PIXMA_BULKIN_TIMEOUT */ -int pixma_read (pixma_io_t *, void *buf, unsigned size); - -/** Wait for an interrupt. This function can be interrupted by signals. - * \a size should be less than or equal to the maximum packet size. - * \param[out] buf - * \param[in] size of the buffer - * \param[in] timeout in milliseconds; if < 0, wait forever. - * \return Number of bytes successfully read or - * - \c PIXMA_ETIMEDOUT - * - \c PIXMA_EIO - * - \c PIXMA_ENOMEM - * - \c PIXMA_ECANCELED if it was interrupted by a signal. */ -int pixma_wait_interrupt (pixma_io_t *, void *buf, unsigned size, - int timeout); - -/** Enable or disable background interrupt monitoring. - * Background mode is enabled by default. - * \param[in] background if not zero, a URB is submitted in background - * for interrupt endpoint. - * \return 0 on success or - * - \c PIXMA_ENOTSUP - * - \c PIXMA_EIO - * - \c PIXMA_ENOMEM */ -int pixma_set_interrupt_mode (pixma_io_t *, int background); - -/** @} end of IO group */ - -#endif diff --git a/backend/pixma_io_sanei.c b/backend/pixma_io_sanei.c deleted file mode 100644 index 4710cf4..0000000 --- a/backend/pixma_io_sanei.c +++ /dev/null @@ -1,593 +0,0 @@ -/* SANE - Scanner Access Now Easy. - * For limitations, see function sanei_usb_get_vendor_product(). - - Copyright (C) 2011-2019 Rolf Bensch - Copyright (C) 2006-2007 Wittawat Yamwong - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. - */ -#include "../include/sane/config.h" - -#include -#include -#include -#include /* INT_MAX */ - -#include "pixma_rename.h" -#include "pixma_common.h" -#include "pixma_io.h" -#include "pixma_bjnp.h" - -#include "../include/sane/sanei_usb.h" - - -#ifdef __GNUC__ -# define UNUSED(v) (void) v -#else -# define UNUSED(v) -#endif - -/* MAC OS X does not support timeouts in darwin/libusb interrupt reads - * This is a very basic turnaround for MAC OS X - * Button scan will not work with this wrapper */ -#ifdef __APPLE__ -# define sanei_usb_read_int sanei_usb_read_bulk -#endif - - -struct pixma_io_t -{ - pixma_io_t *next; - int interface; - SANE_Int dev; -}; - -typedef struct scanner_info_t -{ - struct scanner_info_t *next; - char *devname; - int interface; - const pixma_config_t *cfg; - char serial[PIXMA_MAX_ID_LEN + 1]; /* "xxxxyyyy_zzzzzzz..." - x = vid, y = pid, z = serial */ -} scanner_info_t; - -#define INT_USB 0 -#define INT_BJNP 1 - -static scanner_info_t *first_scanner = NULL; -static pixma_io_t *first_io = NULL; -static unsigned nscanners; - - -static scanner_info_t * -get_scanner_info (unsigned devnr) -{ - scanner_info_t *si; - for (si = first_scanner; si && devnr != 0; --devnr, si = si->next) - { - } - return si; -} - -static const struct pixma_config_t *lookup_scanner(const char *makemodel, - const struct pixma_config_t *const pixma_devices[]) -{ - int i; - const struct pixma_config_t *cfg; - char *match; - - for (i = 0; pixma_devices[i]; i++) - { - /* loop through the device classes (mp150, mp730 etc) */ - for (cfg = pixma_devices[i]; cfg->name; cfg++) - { - /* loop through devices in class */ - if ((match = strcasestr (makemodel, cfg->model)) != NULL) - { - /* possible match found, make sure it is not a partial match */ - /* MP600 and MP600R are different models! */ - /* some models contain ranges, so check for a '-' too */ - - if ((match[strlen(cfg->model)] == ' ') || - (match[strlen(cfg->model)] == '\0') || - (match[strlen(cfg->model)] == '-')) - { - pixma_dbg (3, "Scanner model found: Name %s(%s) matches %s\n", cfg->model, cfg->name, makemodel); - return cfg; - } - } - pixma_dbg (20, "Scanner model %s(%s) not found, giving up! %s\n", cfg->model, cfg->name, makemodel); - } - } - return NULL; -} - -static SANE_Status -attach (SANE_String_Const devname) -{ - scanner_info_t *si; - - si = (scanner_info_t *) calloc (1, sizeof (*si)); - if (!si) - return SANE_STATUS_NO_MEM; - si->devname = strdup (devname); - if (!si->devname) - return SANE_STATUS_NO_MEM; - si -> interface = INT_USB; - si->next = first_scanner; - first_scanner = si; - nscanners++; - return SANE_STATUS_GOOD; -} - - -static SANE_Status -attach_bjnp (SANE_String_Const devname, SANE_String_Const makemodel, - SANE_String_Const serial, - const struct pixma_config_t *const pixma_devices[]) -{ - scanner_info_t *si; - const pixma_config_t *cfg; - SANE_Status error; - - si = (scanner_info_t *) calloc (1, sizeof (*si)); - if (!si) - return SANE_STATUS_NO_MEM; - si->devname = strdup (devname); - if (!si->devname) - return SANE_STATUS_NO_MEM; - if ((cfg = lookup_scanner(makemodel, pixma_devices)) == (struct pixma_config_t *)NULL) - error = SANE_STATUS_INVAL; - else - { - si->cfg = cfg; - sprintf(si->serial, "%s_%s", cfg->model, serial); - si -> interface = INT_BJNP; - si->next = first_scanner; - first_scanner = si; - nscanners++; - error = SANE_STATUS_GOOD; - } - return error; -} - -static void -clear_scanner_list (void) -{ - scanner_info_t *si = first_scanner; - while (si) - { - scanner_info_t *temp = si; - free (si->devname); - si = si->next; - free (temp); - } - nscanners = 0; - first_scanner = NULL; -} - -static SANE_Status -get_descriptor (SANE_Int dn, SANE_Int type, SANE_Int descidx, - SANE_Int index, SANE_Int length, SANE_Byte * data) -{ - return sanei_usb_control_msg (dn, 0x80, USB_REQ_GET_DESCRIPTOR, - ((type & 0xff) << 8) | (descidx & 0xff), - index, length, data); -} - -static SANE_Status -get_string_descriptor (SANE_Int dn, SANE_Int index, SANE_Int lang, - SANE_Int length, SANE_Byte * data) -{ - return get_descriptor (dn, USB_DT_STRING, index, lang, length, data); -} - -static void -u16tohex (uint16_t x, char *str) -{ - static const char hdigit[16] = - { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', - 'E', 'F' - }; - str[0] = hdigit[(x >> 12) & 0xf]; - str[1] = hdigit[(x >> 8) & 0xf]; - str[2] = hdigit[(x >> 4) & 0xf]; - str[3] = hdigit[x & 0xf]; - str[4] = '\0'; -} - -static void -read_serial_number (scanner_info_t * si) -{ - uint8_t unicode[2 * (PIXMA_MAX_ID_LEN - 9) + 2]; - uint8_t ddesc[18]; - int iSerialNumber; - SANE_Int usb; - char *serial = si->serial; - - u16tohex (si->cfg->vid, serial); - u16tohex (si->cfg->pid, serial + 4); - - if (SANE_STATUS_GOOD != sanei_usb_open (si->devname, &usb)) - return; - if (get_descriptor (usb, USB_DT_DEVICE, 0, 0, 18, ddesc) - != SANE_STATUS_GOOD) - goto done; - iSerialNumber = ddesc[16]; - if (iSerialNumber != 0) - { - int i, len; - SANE_Status status; - - /*int iSerialNumber = ddesc[16];*/ - /* Read the first language code. Assumed that there is at least one. */ - if (get_string_descriptor (usb, 0, 0, 4, unicode) != SANE_STATUS_GOOD) - goto done; - /* Read the serial number string. */ - status = get_string_descriptor (usb, iSerialNumber, - unicode[3] * 256 + unicode[2], - sizeof (unicode), unicode); - if (status != SANE_STATUS_GOOD) - goto done; - /* Assumed charset: Latin1 */ - len = unicode[0]; - if (len > (int) sizeof (unicode)) - { - len = sizeof (unicode); - PDBG (pixma_dbg (1, "WARNING:Truncated serial number\n")); - } - serial[8] = '_'; - for (i = 2; i < len; i += 2) - { - serial[9 + i / 2 - 1] = unicode[i]; - } - serial[9 + i / 2 - 1] = '\0'; - } - else - { - PDBG (pixma_dbg (1, "WARNING:No serial number\n")); - } -done: - sanei_usb_close (usb); -} - -static int -map_error (SANE_Status ss) -{ - switch (ss) - { - case SANE_STATUS_GOOD: - return 0; - case SANE_STATUS_UNSUPPORTED: - return PIXMA_ENODEV; - case SANE_STATUS_DEVICE_BUSY: - return PIXMA_EBUSY; - case SANE_STATUS_INVAL: - return PIXMA_EINVAL; - case SANE_STATUS_IO_ERROR: - return PIXMA_EIO; - case SANE_STATUS_NO_MEM: - return PIXMA_ENOMEM; - case SANE_STATUS_ACCESS_DENIED: - return PIXMA_EACCES; - case SANE_STATUS_CANCELLED: - return PIXMA_ECANCELED; - case SANE_STATUS_JAMMED: - return PIXMA_EPAPER_JAMMED; - case SANE_STATUS_COVER_OPEN: - return PIXMA_ECOVER_OPEN; - case SANE_STATUS_NO_DOCS: - return PIXMA_ENO_PAPER; - case SANE_STATUS_EOF: - return PIXMA_EOF; -#ifdef SANE_STATUS_HW_LOCKED - case SANE_STATUS_HW_LOCKED: /* unused by pixma */ -#endif -#ifdef SANE_STATUS_WARMING_UP - case SANE_STATUS_WARMING_UP: /* unused by pixma */ -#endif - break; - } - PDBG (pixma_dbg (1, "BUG:Unmapped SANE Status code %d\n", ss)); - return PIXMA_EIO; /* should not happen */ -} - - -int -pixma_io_init (void) -{ - sanei_usb_init (); - sanei_bjnp_init(); - nscanners = 0; - return 0; -} - -void -pixma_io_cleanup (void) -{ - while (first_io) - pixma_disconnect (first_io); - clear_scanner_list (); -} - -unsigned -pixma_collect_devices (const char **conf_devices, - const struct pixma_config_t *const pixma_devices[]) -{ - unsigned i, j; - struct scanner_info_t *si; - const struct pixma_config_t *cfg; - - clear_scanner_list (); - j = 0; - for (i = 0; pixma_devices[i]; i++) - { - for (cfg = pixma_devices[i]; cfg->name; cfg++) - { - sanei_usb_find_devices (cfg->vid, cfg->pid, attach); - si = first_scanner; - while (j < nscanners) - { - PDBG (pixma_dbg (3, "pixma_collect_devices() found %s at %s\n", - cfg->name, si->devname)); - si->cfg = cfg; - read_serial_number (si); - si = si->next; - j++; - } - } - } - sanei_bjnp_find_devices(conf_devices, attach_bjnp, pixma_devices); - si = first_scanner; - while (j < nscanners) - { - PDBG (pixma_dbg (3, "pixma_collect_devices() found %s at %s\n", - si->cfg->name, si->devname)); - si = si->next; - j++; - - } - return nscanners; -} - -const pixma_config_t * -pixma_get_device_config (unsigned devnr) -{ - const scanner_info_t *si = get_scanner_info (devnr); - return (si) ? si->cfg : NULL; -} - -const char * -pixma_get_device_id (unsigned devnr) -{ - const scanner_info_t *si = get_scanner_info (devnr); - return (si) ? si->serial : NULL; -} - -int -pixma_connect (unsigned devnr, pixma_io_t ** handle) -{ - pixma_io_t *io; - SANE_Int dev; - const scanner_info_t *si; - int error; - - *handle = NULL; - si = get_scanner_info (devnr); - if (!si) - return PIXMA_EINVAL; - if (si-> interface == INT_BJNP) - error = map_error (sanei_bjnp_open (si->devname, &dev)); - else - error = map_error (sanei_usb_open (si->devname, &dev)); - - if (error < 0) - return error; - io = (pixma_io_t *) calloc (1, sizeof (*io)); - if (!io) - { - if (si -> interface == INT_BJNP) - sanei_bjnp_close (dev); - else - sanei_usb_close (dev); - return PIXMA_ENOMEM; - } - io->next = first_io; - first_io = io; - io->dev = dev; - io->interface = si->interface; - *handle = io; - return 0; -} - - -void -pixma_disconnect (pixma_io_t * io) -{ - pixma_io_t **p; - - if (!io) - return; - for (p = &first_io; *p && *p != io; p = &((*p)->next)) - { - } - PASSERT (*p); - if (!(*p)) - return; - if (io-> interface == INT_BJNP) - sanei_bjnp_close (io->dev); - else - sanei_usb_close (io->dev); - *p = io->next; - free (io); -} - -int pixma_activate (pixma_io_t * io) -{ - int error; - if (io->interface == INT_BJNP) - { - error = map_error(sanei_bjnp_activate (io->dev)); - } - else - /* noop for USB interface */ - error = 0; - return error; -} - -int pixma_deactivate (pixma_io_t * io) -{ - int error; - if (io->interface == INT_BJNP) - { - error = map_error(sanei_bjnp_deactivate (io->dev)); - } - else - /* noop for USB interface */ - error = 0; - return error; - -} - -int -pixma_reset_device (pixma_io_t * io) -{ - UNUSED (io); - return PIXMA_ENOTSUP; -} - -int -pixma_write (pixma_io_t * io, const void *cmd, unsigned len) -{ - size_t count = len; - int error; - - if (io->interface == INT_BJNP) - { - sanei_bjnp_set_timeout (io->dev, PIXMA_BULKOUT_TIMEOUT); - error = map_error (sanei_bjnp_write_bulk (io->dev, cmd, &count)); - } - else - { -#ifdef HAVE_SANEI_USB_SET_TIMEOUT - sanei_usb_set_timeout (PIXMA_BULKOUT_TIMEOUT); -#endif - error = map_error (sanei_usb_write_bulk (io->dev, cmd, &count)); - } - if (error == PIXMA_EIO) - error = PIXMA_ETIMEDOUT; /* FIXME: SANE doesn't have ETIMEDOUT!! */ - if (count != len) - { - PDBG (pixma_dbg (1, "WARNING:pixma_write(): count(%u) != len(%u)\n", - (unsigned) count, len)); - error = PIXMA_EIO; - } - if (error >= 0) - error = count; - PDBG (pixma_dump (10, "OUT ", cmd, error, len, 128)); - return error; -} - -int -pixma_read (pixma_io_t * io, void *buf, unsigned size) -{ - size_t count = size; - int error; - - if (io-> interface == INT_BJNP) - { - sanei_bjnp_set_timeout (io->dev, PIXMA_BULKIN_TIMEOUT); - error = map_error (sanei_bjnp_read_bulk (io->dev, buf, &count)); - } - else - { -#ifdef HAVE_SANEI_USB_SET_TIMEOUT - sanei_usb_set_timeout (PIXMA_BULKIN_TIMEOUT); -#endif - error = map_error (sanei_usb_read_bulk (io->dev, buf, &count)); - } - - if (error == PIXMA_EIO) - error = PIXMA_ETIMEDOUT; /* FIXME: SANE doesn't have ETIMEDOUT!! */ - if (error >= 0) - error = count; - PDBG (pixma_dump (10, "IN ", buf, error, -1, 128)); - return error; -} - -int -pixma_wait_interrupt (pixma_io_t * io, void *buf, unsigned size, int timeout) -{ - size_t count = size; - int error; - - /* FIXME: What is the meaning of "timeout" in sanei_usb? */ - if (timeout < 0) - timeout = INT_MAX; - else if (timeout < 100) - timeout = 100; - if (io-> interface == INT_BJNP) - { - sanei_bjnp_set_timeout (io->dev, timeout); - error = map_error (sanei_bjnp_read_int (io->dev, buf, &count)); - } - else - { -#ifdef HAVE_SANEI_USB_SET_TIMEOUT - sanei_usb_set_timeout (timeout); -#endif - error = map_error (sanei_usb_read_int (io->dev, buf, &count)); - } - if (error == PIXMA_EIO || - (io->interface == INT_BJNP && error == PIXMA_EOF)) /* EOF is a bjnp timeout error! */ - error = PIXMA_ETIMEDOUT; /* FIXME: SANE doesn't have ETIMEDOUT!! */ - if (error == 0) - error = count; - if (error != PIXMA_ETIMEDOUT) - PDBG (pixma_dump (10, "INTR", buf, error, -1, -1)); - return error; -} - -int -pixma_set_interrupt_mode (pixma_io_t * s, int background) -{ - UNUSED (s); - return (background) ? PIXMA_ENOTSUP : 0; -} diff --git a/backend/pixma_mp150.c b/backend/pixma_mp150.c deleted file mode 100644 index 5f0a4ac..0000000 --- a/backend/pixma_mp150.c +++ /dev/null @@ -1,2013 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2011-2019 Rolf Bensch - Copyright (C) 2007-2009 Nicolas Martin, - Copyright (C) 2006-2007 Wittawat Yamwong - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. - */ -/* test cases - 1. short USB packet (must be no -ETIMEDOUT) - 2. cancel using button on the printer (look for abort command) - 3. start scan while busy (status 0x1414) - 4. cancel using ctrl-c (must send abort command) - */ - -#define TPU_48 /* uncomment to activate TPU scan at 48 bits */ -/*#define DEBUG_TPU_48*/ /* uncomment to debug 48 bits TPU on a non TPU device */ -/*#define DEBUG_TPU_24*/ /* uncomment to debug 24 bits TPU on a non TPU device */ - -#include "../include/sane/config.h" - -#include -#include -#include -#include /* localtime(C90) */ - -#include "pixma_rename.h" -#include "pixma_common.h" -#include "pixma_io.h" - -/* Some macro code to enhance readability */ -#define RET_IF_ERR(x) do { \ - if ((error = (x)) < 0) \ - return error; \ - } while(0) - -#define WAIT_INTERRUPT(x) do { \ - error = handle_interrupt (s, x); \ - if (s->cancel) \ - return PIXMA_ECANCELED; \ - if (error != PIXMA_ECANCELED && error < 0) \ - return error; \ - } while(0) - -#ifdef __GNUC__ -# define UNUSED(v) (void) v -#else -# define UNUSED(v) -#endif - -/* Size of the command buffer should be multiple of wMaxPacketLength and - greater than 4096+24. - 4096 = size of gamma table. 24 = header + checksum */ -#define IMAGE_BLOCK_SIZE (512*1024) -#define CMDBUF_SIZE (4096 + 24) -#define DEFAULT_GAMMA 2.0 /***** Gamma different from 1.0 is potentially impacting color profile generation *****/ -#define UNKNOWN_PID 0xffff - - -#define CANON_VID 0x04a9 - -/* Generation 1 */ -#define MP150_PID 0x1709 -#define MP170_PID 0x170a -#define MP450_PID 0x170b -#define MP500_PID 0x170c -#define MP530_PID 0x1712 -#define MP800_PID 0x170d -#define MP800R_PID 0x170e -#define MP830_PID 0x1713 - -/* Generation 2 */ -#define MP160_PID 0x1714 -#define MP180_PID 0x1715 -#define MP460_PID 0x1716 -#define MP510_PID 0x1717 -#define MP600_PID 0x1718 -#define MP600R_PID 0x1719 - -#define MP140_PID 0x172b - -/* Generation 3 */ -/* PIXMA 2007 vintage */ -#define MX7600_PID 0x171c -#define MP210_PID 0x1721 -#define MP220_PID 0x1722 -#define MP470_PID 0x1723 -#define MP520_PID 0x1724 -#define MP610_PID 0x1725 -#define MX300_PID 0x1727 -#define MX310_PID 0x1728 -#define MX700_PID 0x1729 -#define MX850_PID 0x172c - -/* PIXMA 2008 vintage */ -#define MP630_PID 0x172e -#define MP620_PID 0x172f -#define MP540_PID 0x1730 -#define MP480_PID 0x1731 -#define MP240_PID 0x1732 -#define MP260_PID 0x1733 -#define MP190_PID 0x1734 - -/* PIXMA 2009 vintage */ -#define MX860_PID 0x1735 -#define MX320_PID 0x1736 /* untested */ -#define MX330_PID 0x1737 - -/* Generation 4 */ -#define MP250_PID 0x173a -#define MP270_PID 0x173b -#define MP490_PID 0x173c -#define MP550_PID 0x173d -#define MP560_PID 0x173e -#define MP640_PID 0x173f - -/* PIXMA 2010 vintage */ -#define MX340_PID 0x1741 -#define MX350_PID 0x1742 -#define MX870_PID 0x1743 - -/* 2010 new devices (untested) */ -#define MP280_PID 0x1746 -#define MP495_PID 0x1747 -#define MG5100_PID 0x1748 -#define MG5200_PID 0x1749 -#define MG6100_PID 0x174a - -/* PIXMA 2011 vintage */ -#define MX360_PID 0x174d -#define MX410_PID 0x174e -#define MX420_PID 0x174f -#define MX880_PID 0x1750 - -/* Generation 5 */ -/* 2011 new devices (untested) */ -#define MG2100_PID 0x1751 -#define MG3100_PID 0x1752 -#define MG4100_PID 0x1753 -#define MG5300_PID 0x1754 -#define MG6200_PID 0x1755 -#define MP493_PID 0x1757 -#define E500_PID 0x1758 - -/* 2012 new devices (untested) */ -#define MX370_PID 0x1759 -#define MX430_PID 0x175B -#define MX510_PID 0x175C -#define MX710_PID 0x175D -#define MX890_PID 0x175E -#define E600_PID 0x175A -#define MG4200_PID 0x1763 - -/* 2013 new devices */ -#define MP230_PID 0x175F -#define MG6300_PID 0x1765 - -/* 2013 new devices (untested) */ -#define MG2200_PID 0x1760 -#define E510_PID 0x1761 -#define MG3200_PID 0x1762 -#define MG5400_PID 0x1764 -#define MX390_PID 0x1766 -#define E610_PID 0x1767 -#define MX450_PID 0x1768 -#define MX520_PID 0x1769 -#define MX720_PID 0x176a -#define MX920_PID 0x176b -#define MG2400_PID 0x176c -#define MG2500_PID 0x176d -#define MG3500_PID 0x176e -#define MG6500_PID 0x176f -#define MG6400_PID 0x1770 -#define MG5500_PID 0x1771 -#define MG7100_PID 0x1772 - -/* 2014 new devices (untested) */ -#define MX470_PID 0x1774 -#define MX530_PID 0x1775 -#define MB5000_PID 0x1776 -#define MB5300_PID 0x1777 -#define MB2000_PID 0x1778 -#define MB2300_PID 0x1779 -#define E400_PID 0x177a -#define E560_PID 0x177b -#define MG7500_PID 0x177c -#define MG6600_PID 0x177e -#define MG5600_PID 0x177f -#define MG2900_PID 0x1780 -#define E460_PID 0x1788 - -/* 2015 new devices (untested) */ -#define MX490_PID 0x1787 -#define E480_PID 0x1789 -#define MG3600_PID 0x178a -#define MG7700_PID 0x178b -#define MG6900_PID 0x178c -#define MG6800_PID 0x178d -#define MG5700_PID 0x178e - -/* 2016 new devices (untested) */ -#define MB2700_PID 0x1792 -#define MB2100_PID 0x1793 -#define G3000_PID 0x1794 -#define G2000_PID 0x1795 -#define TS9000_PID 0x179f -#define TS8000_PID 0x1800 -#define TS6000_PID 0x1801 -#define TS5000_PID 0x1802 -#define MG3000_PID 0x180b -#define E470_PID 0x180c -#define E410_PID 0x181e - -/* 2017 new devices (untested) */ -#define G4000_PID 0x181d -#define TS6100_PID 0x1822 -#define TS5100_PID 0x1825 -#define TS3100_PID 0x1827 -#define E3100_PID 0x1828 - -/* 2018 new devices (untested) */ -#define MB5400_PID 0x178f -#define MB5100_PID 0x1790 -#define TS9100_PID 0x1820 -#define TR8500_PID 0x1823 -#define TR7500_PID 0x1824 -#define TS9500_PID 0x185c -#define LIDE400_PID 0x1912 /* tested */ -#define LIDE300_PID 0x1913 /* tested */ - -/* 2019 new devices (untested) */ -#define TS8100_PID 0x1821 -#define G3010_PID 0x183b -#define G4010_PID 0x183d -#define TS9180_PID 0x183e -#define TS8180_PID 0x183f -#define TS6180_PID 0x1840 -#define TR8580_PID 0x1841 -#define TS8130_PID 0x1842 -#define TS6130_PID 0x1843 -#define TR8530_PID 0x1844 -#define TR7530_PID 0x1845 -#define XK50_PID 0x1846 -#define XK70_PID 0x1847 -#define TR4500_PID 0x1854 -#define E4200_PID 0x1855 -#define TS6200_PID 0x1856 -#define TS6280_PID 0x1857 -#define TS6230_PID 0x1858 -#define TS8200_PID 0x1859 -#define TS8280_PID 0x185a -#define TS8230_PID 0x185b -#define TS9580_PID 0x185d -#define TR9530_PID 0x185e -#define XK80_PID 0x1873 - -/* Generation 4 XML messages that encapsulates the Pixma protocol messages */ -#define XML_START_1 \ -"\ -\ -StartJob\ -00000001\ -1" - -#define XML_START_2 \ -"\ -\ -VendorCmd\ -00000001\ -ModeShift1\ -" - -#define XML_END \ -"\ -\ -EndJob\ -00000001\ -" - -#define XML_OK "OK" - -enum mp150_state_t -{ - state_idle, - state_warmup, - state_scanning, - state_transfering, - state_finished -}; - -enum mp150_cmd_t -{ - cmd_start_session = 0xdb20, - cmd_select_source = 0xdd20, - cmd_gamma = 0xee20, - cmd_scan_param = 0xde20, - cmd_status = 0xf320, - cmd_abort_session = 0xef20, - cmd_time = 0xeb80, - cmd_read_image = 0xd420, - cmd_error_info = 0xff20, - - cmd_start_calibrate_ccd_3 = 0xd520, - cmd_end_calibrate_ccd_3 = 0xd720, - cmd_scan_param_3 = 0xd820, - cmd_scan_start_3 = 0xd920, - cmd_status_3 = 0xda20, - cmd_get_tpu_info_3 = 0xf520, - cmd_set_tpu_info_3 = 0xea20, - - cmd_e920 = 0xe920 /* seen in MP800 */ -}; - -typedef struct mp150_t -{ - enum mp150_state_t state; - pixma_cmdbuf_t cb; - uint8_t *imgbuf; - uint8_t current_status[16]; - unsigned last_block; - uint8_t generation; - /* for Generation 3 and CCD shift */ - uint8_t *linebuf; - uint8_t *data_left_ofs; - unsigned data_left_len; - int shift[3]; - unsigned color_shift; - unsigned stripe_shift; - uint8_t tpu_datalen; - uint8_t tpu_data[0x40]; - uint8_t adf_state; /* handle adf scanning */ -} mp150_t; - -/* - STAT: 0x0606 = ok, - 0x1515 = failed (PIXMA_ECANCELED), - 0x1414 = busy (PIXMA_EBUSY) - - Transaction scheme - 1. command_header/data | result_header - 2. command_header | result_header/data - 3. command_header | result_header/image_data - - - data has checksum in the last byte. - - image_data has no checksum. - - data and image_data begins in the same USB packet as - command_header or result_header. - - command format #1: - u16be cmd - u8[6] 0 - u8[4] 0 - u32be PLEN parameter length - u8[PLEN-1] parameter - u8 parameter check sum - result: - u16be STAT - u8 0 - u8 0 or 0x21 if STAT == 0x1414 - u8[4] 0 - - command format #2: - u16be cmd - u8[6] 0 - u8[4] 0 - u32be RLEN result length - result: - u16be STAT - u8[6] 0 - u8[RLEN-1] result - u8 result check sum - - command format #3: (only used by read_image_block) - u16be 0xd420 - u8[6] 0 - u8[4] 0 - u32be max. block size + 8 - result: - u16be STAT - u8[6] 0 - u8 block info bitfield: 0x8 = end of scan, 0x10 = no more paper, 0x20 = no more data - u8[3] 0 - u32be ILEN image data size - u8[ILEN] image data - */ - -static void mp150_finish_scan (pixma_t * s); - -static int -is_scanning_from_adf (pixma_t * s) -{ - return (s->param->source == PIXMA_SOURCE_ADF - || s->param->source == PIXMA_SOURCE_ADFDUP); -} - -static int -is_scanning_from_adfdup (pixma_t * s) -{ - return (s->param->source == PIXMA_SOURCE_ADFDUP); -} - -static int -is_scanning_jpeg (pixma_t *s) -{ - return s->param->mode_jpeg; -} - -static int -is_scanning_from_tpu (pixma_t * s) -{ - return (s->param->source == PIXMA_SOURCE_TPU); -} - -static int -send_xml_dialog (pixma_t * s, const char * xml_message) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - int datalen; - - datalen = pixma_cmd_transaction (s, xml_message, strlen (xml_message), - mp->cb.buf, 1024); - if (datalen < 0) - return datalen; - - mp->cb.buf[datalen] = 0; - - PDBG (pixma_dbg (10, "XML message sent to scanner:\n%s\n", xml_message)); - PDBG (pixma_dbg (10, "XML response back from scanner:\n%s\n", mp->cb.buf)); - - return (strcasestr ((const char *) mp->cb.buf, XML_OK) != NULL); -} - -static void -new_cmd_tpu_msg (pixma_t *s, pixma_cmdbuf_t * cb, uint16_t cmd) -{ - pixma_newcmd (cb, cmd, 0, 0); - cb->buf[3] = (is_scanning_from_tpu (s)) ? 0x01 : 0x00; -} - -static int -start_session (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - - new_cmd_tpu_msg (s, &mp->cb, cmd_start_session); - return pixma_exec (s, &mp->cb); -} - -static int -start_scan_3 (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - - new_cmd_tpu_msg (s, &mp->cb, cmd_scan_start_3); - return pixma_exec (s, &mp->cb); -} - -static int -send_cmd_start_calibrate_ccd_3 (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - - pixma_newcmd (&mp->cb, cmd_start_calibrate_ccd_3, 0, 0); - mp->cb.buf[3] = 0x01; - return pixma_exec (s, &mp->cb); -} - -static int -is_calibrated (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - if (mp->generation >= 3) - { - return ((mp->current_status[0] & 0x01) == 1 || (mp->current_status[0] & 0x02) == 2); - } - if (mp->generation == 1) - { - return (mp->current_status[8] == 1); - } - else - { - return (mp->current_status[9] == 1); - } -} - -static int -has_paper (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - - if (is_scanning_from_adfdup (s)) - return (mp->current_status[1] == 0 || mp->current_status[2] == 0); - else - return (mp->current_status[1] == 0); -} - -static void -drain_bulk_in (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - while (pixma_read (s->io, mp->imgbuf, IMAGE_BLOCK_SIZE) >= 0); -} - -static int -abort_session (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - mp->adf_state = state_idle; /* reset adf scanning */ - return pixma_exec_short_cmd (s, &mp->cb, cmd_abort_session); -} - -static int -send_cmd_e920 (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - return pixma_exec_short_cmd (s, &mp->cb, cmd_e920); -} - -static int -select_source (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - uint8_t *data; - - data = pixma_newcmd (&mp->cb, cmd_select_source, 12, 0); - data[5] = ((mp->generation == 2) ? 1 : 0); - switch (s->param->source) - { - case PIXMA_SOURCE_FLATBED: - data[0] = 1; - data[1] = 1; - break; - - case PIXMA_SOURCE_ADF: - data[0] = 2; - data[5] = 1; - data[6] = 1; - break; - - case PIXMA_SOURCE_ADFDUP: - data[0] = 2; - data[5] = 3; - data[6] = 3; - break; - - case PIXMA_SOURCE_TPU: - data[0] = 4; - data[1] = 2; - break; - } - return pixma_exec (s, &mp->cb); -} - -static int -send_get_tpu_info_3 (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - uint8_t *data; - int error; - - data = pixma_newcmd (&mp->cb, cmd_get_tpu_info_3, 0, 0x34); - RET_IF_ERR (pixma_exec (s, &mp->cb)); - memcpy (mp->tpu_data, data, 0x34); - return error; -} - -static int -send_set_tpu_info (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - uint8_t *data; - - if (mp->tpu_datalen == 0) - return 0; - data = pixma_newcmd (&mp->cb, cmd_set_tpu_info_3, 0x34, 0); - memcpy (data, mp->tpu_data, 0x34); - return pixma_exec (s, &mp->cb); -} - -static int -send_gamma_table (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - const uint8_t *lut = s->param->gamma_table; - uint8_t *data; - - if (mp->generation == 1) - { - data = pixma_newcmd (&mp->cb, cmd_gamma, 4096 + 8, 0); - data[0] = (s->param->channels == 3) ? 0x10 : 0x01; - pixma_set_be16 (0x1004, data + 2); - if (lut) - memcpy (data + 4, lut, 4096); - else - pixma_fill_gamma_table (DEFAULT_GAMMA, data + 4, 4096); - } - else - { - /* FIXME: Gamma table for 2nd generation: 1024 * uint16_le */ - data = pixma_newcmd (&mp->cb, cmd_gamma, 2048 + 8, 0); - data[0] = 0x10; - pixma_set_be16 (0x0804, data + 2); - if (lut) - { - int i; - for (i = 0; i < 1024; i++) - { - int j = (i << 2) + (i >> 8); - data[4 + 2 * i + 0] = lut[j]; - data[4 + 2 * i + 1] = lut[j]; - } - } - else - { - int i; - pixma_fill_gamma_table (DEFAULT_GAMMA, data + 4, 2048); - for (i = 0; i < 1024; i++) - { - int j = (i << 1) + (i >> 9); - data[4 + 2 * i + 0] = data[4 + j]; - data[4 + 2 * i + 1] = data[4 + j]; - } - } - } - return pixma_exec (s, &mp->cb); -} - -static unsigned -calc_raw_width (const mp150_t * mp, const pixma_scan_param_t * param) -{ - unsigned raw_width; - /* NOTE: Actually, we can send arbitary width to MP150. Lines returned - are always padded to multiple of 4 or 12 pixels. Is this valid for - other models, too? */ - if (mp->generation >= 2) - { - raw_width = ALIGN_SUP (param->w + param->xs, 32); - /* PDBG (pixma_dbg (4, "*calc_raw_width***** width %i extended by %i and rounded to %i *****\n", param->w, param->xs, raw_width)); */ - } - else if (param->channels == 1) - { - raw_width = ALIGN_SUP (param->w + param->xs, 12); - } - else - { - raw_width = ALIGN_SUP (param->w + param->xs, 4); - } - return raw_width; -} - -static int -has_ccd_sensor (pixma_t * s) -{ - return ((s->cfg->cap & PIXMA_CAP_CCD) != 0); -} - -static int -is_ccd_grayscale (pixma_t * s) -{ - return (has_ccd_sensor (s) && (s->param->channels == 1) && !s->param->software_lineart); -} - -static int -is_ccd_lineart (pixma_t * s) -{ - return (has_ccd_sensor (s) && s->param->software_lineart); -} - -/* CCD sensors don't have neither a Grayscale mode nor a Lineart mode, - * but use color mode instead */ -static unsigned -get_cis_ccd_line_size (pixma_t * s) -{ - return ((s->param->wx ? s->param->line_size / s->param->w * s->param->wx - : s->param->line_size) * ((is_ccd_grayscale (s) || is_ccd_lineart (s)) ? 3 : 1)); -} - -static unsigned -calc_shifting (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - - /* If stripes shift needed (CCD devices), how many pixels shift */ - mp->stripe_shift = 0; - /* If color plane shift (CCD devices), how many pixels shift */ - mp->color_shift = mp->shift[0] = mp->shift[1] = mp->shift[2] = 0; - - switch (s->cfg->pid) - { - case MP800_PID: - case MP800R_PID: - case MP830_PID: - if (s->param->xdpi == 2400) - { - if (is_scanning_from_tpu(s)) - mp->stripe_shift = 6; - else - mp->stripe_shift = 3; - } - if (s->param->ydpi > 75) - { - mp->color_shift = s->param->ydpi / ((s->param->ydpi < 1200) ? 150 : 75); - - if (is_scanning_from_tpu (s)) - mp->color_shift = s->param->ydpi / 75; - - /* If you're trying to decipher this color-shifting code, - the following line is where the magic is revealed. */ - mp->shift[1] = mp->color_shift * get_cis_ccd_line_size (s); - if (is_scanning_from_adf (s)) - { /* ADF */ - mp->shift[0] = 0; - mp->shift[2] = 2 * mp->shift[1]; - } - else - { /* Flatbed or TPU */ - mp->shift[0] = 2 * mp->shift[1]; - mp->shift[2] = 0; - } - } - break; - - default: /* Default, and all CIS devices */ - break; - } - return (2 * mp->color_shift + mp->stripe_shift); -} - -static int -send_scan_param (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - uint8_t *data; - unsigned raw_width = calc_raw_width (mp, s->param); - unsigned h = MIN (s->param->h + calc_shifting (s), - s->cfg->height * s->param->ydpi / 75); - - /* TPU scan does not support lineart */ - if (is_scanning_from_tpu (s) && is_ccd_lineart (s)) - { - return PIXMA_ENOTSUP; - } - - if (mp->generation <= 2) - { - /*PDBG (pixma_dbg (4, "*send_scan_param gen. 1-2 ***** Setting: xdpi=%hi ydpi=%hi x=%i y=%i w=%i ***** \n", - s->param->xdpi,s->param->ydpi,(s->param->x)-(s->param->xs),s->param->y,raw_width));*/ - data = pixma_newcmd (&mp->cb, cmd_scan_param, 0x30, 0); - pixma_set_be16 (s->param->xdpi | 0x8000, data + 0x04); - pixma_set_be16 (s->param->ydpi | 0x8000, data + 0x06); - pixma_set_be32 (s->param->x, data + 0x08); - if (mp->generation == 2) - pixma_set_be32 (s->param->x - s->param->xs, data + 0x08); - pixma_set_be32 (s->param->y, data + 0x0c); - pixma_set_be32 (raw_width, data + 0x10); - pixma_set_be32 (h, data + 0x14); - data[0x18] = ((s->param->channels != 1) || is_ccd_grayscale (s) || is_ccd_lineart (s)) ? 0x08 : 0x04; - data[0x19] = ((s->param->software_lineart) ? 8 : s->param->depth) - * ((is_ccd_grayscale (s) || is_ccd_lineart (s)) ? 3 : s->param->channels); /* bits per pixel */ - data[0x1a] = (is_scanning_from_tpu (s) ? 1 : 0); - data[0x20] = 0xff; - data[0x23] = 0x81; - data[0x26] = 0x02; - data[0x27] = 0x01; - } - else - { - data = pixma_newcmd (&mp->cb, cmd_scan_param_3, 0x38, 0); - data[0x00] = (is_scanning_from_adf (s)) ? 0x02 : 0x01; - data[0x01] = 0x01; - if (is_scanning_from_tpu (s)) - { - data[0x00] = 0x04; - data[0x01] = 0x02; - data[0x1e] = 0x02; - } - data[0x02] = 0x01; - if (is_scanning_from_adfdup (s)) - { - data[0x02] = 0x03; - data[0x03] = 0x03; - } - if (is_scanning_jpeg (s)) - { - data[0x03] = 0x01; - } - else - { - data[0x05] = 0x01; /* This one also seen at 0. Don't know yet what's used for */ - } - pixma_set_be16 (s->param->xdpi | 0x8000, data + 0x08); - pixma_set_be16 (s->param->ydpi | 0x8000, data + 0x0a); - /*PDBG (pixma_dbg (4, "*send_scan_param gen. 3+ ***** Setting: xdpi=%hi ydpi=%hi x=%i y=%i w=%i ***** \n", - s->param->xdpi,s->param->ydpi,(s->param->x)-(s->param->xs),s->param->y,raw_width));*/ - pixma_set_be32 (s->param->x - s->param->xs, data + 0x0c); - pixma_set_be32 (s->param->y, data + 0x10); - pixma_set_be32 (raw_width, data + 0x14); - pixma_set_be32 (h, data + 0x18); - data[0x1c] = ((s->param->channels != 1) || is_ccd_grayscale (s) || is_ccd_lineart (s)) ? 0x08 : 0x04; - -#ifdef DEBUG_TPU_48 - data[0x1d] = 24; -#else - data[0x1d] = (is_scanning_from_tpu (s)) ? 48 - : (((s->param->software_lineart) ? 8 : s->param->depth) - * ((is_ccd_grayscale (s) || is_ccd_lineart (s)) ? 3 : s->param->channels)); /* bits per pixel */ -#endif - - data[0x1f] = 0x01; /* This one also seen at 0. Don't know yet what's used for */ - data[0x20] = 0xff; - if (is_scanning_jpeg (s)) - { - data[0x21] = 0x83; - } - else - { - data[0x21] = 0x81; - } - data[0x23] = 0x02; - data[0x24] = 0x01; - - switch (s->cfg->pid) - { - case MG5300_PID: - /* unknown values (perhaps counter) for MG5300 series---values must be 0x30-0x39: decimal 0-9 */ - data[0x26] = 0x32; /* using example values from a real scan here */ - data[0x27] = 0x31; - data[0x28] = 0x34; - data[0x29] = 0x35; - break; - - default: - break; - } - - data[0x30] = 0x01; - } - return pixma_exec (s, &mp->cb); -} - -static int -query_status_3 (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - uint8_t *data; - int error, status_len; - - status_len = 8; - data = pixma_newcmd (&mp->cb, cmd_status_3, 0, status_len); - RET_IF_ERR (pixma_exec (s, &mp->cb)); - memcpy (mp->current_status, data, status_len); - return error; -} - -static int -query_status (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - uint8_t *data; - int error, status_len; - - status_len = (mp->generation == 1) ? 12 : 16; - data = pixma_newcmd (&mp->cb, cmd_status, 0, status_len); - RET_IF_ERR (pixma_exec (s, &mp->cb)); - memcpy (mp->current_status, data, status_len); - PDBG (pixma_dbg (3, "Current status: paper=%u cal=%u lamp=%u busy=%u\n", - data[1], data[8], data[7], data[9])); - return error; -} - -#if 0 -static int -send_time (pixma_t * s) -{ - /* Why does a scanner need a time? */ - time_t now; - struct tm *t; - uint8_t *data; - mp150_t *mp = (mp150_t *) s->subdriver; - - data = pixma_newcmd (&mp->cb, cmd_time, 20, 0); - pixma_get_time (&now, NULL); - t = localtime (&now); - snprintf ((char *) data, 16, - "%02d/%02d/%02d %02d:%02d", - t->tm_year % 100, t->tm_mon + 1, t->tm_mday, - t->tm_hour, t->tm_min); - PDBG (pixma_dbg (3, "Sending time: '%s'\n", (char *) data)); - return pixma_exec (s, &mp->cb); -} -#endif - -/* TODO: Simplify this function. Read the whole data packet in one shot. */ -static int -read_image_block (pixma_t * s, uint8_t * header, uint8_t * data) -{ - uint8_t cmd[16]; - mp150_t *mp = (mp150_t *) s->subdriver; - const int hlen = 8 + 8; - int error, datalen; - - memset (cmd, 0, sizeof (cmd)); - pixma_set_be16 (cmd_read_image, cmd); - if ((mp->last_block & 0x20) == 0) - pixma_set_be32 ((IMAGE_BLOCK_SIZE / 65536) * 65536 + 8, cmd + 0xc); - else - pixma_set_be32 (32 + 8, cmd + 0xc); - - mp->state = state_transfering; - mp->cb.reslen = - pixma_cmd_transaction (s, cmd, sizeof (cmd), mp->cb.buf, 512); - datalen = mp->cb.reslen; - if (datalen < 0) - return datalen; - - memcpy (header, mp->cb.buf, hlen); - - if (datalen >= hlen) - { - datalen -= hlen; - memcpy (data, mp->cb.buf + hlen, datalen); - data += datalen; - if (mp->cb.reslen == 512) - { - error = pixma_read (s->io, data, IMAGE_BLOCK_SIZE - 512 + hlen); - RET_IF_ERR (error); - datalen += error; - } - } - - mp->state = state_scanning; - mp->cb.expected_reslen = 0; - RET_IF_ERR (pixma_check_result (&mp->cb)); - if (mp->cb.reslen < hlen) - return PIXMA_EPROTO; - return datalen; -} - -static int -read_error_info (pixma_t * s, void *buf, unsigned size) -{ - unsigned len = 16; - mp150_t *mp = (mp150_t *) s->subdriver; - uint8_t *data; - int error; - - data = pixma_newcmd (&mp->cb, cmd_error_info, 0, len); - RET_IF_ERR (pixma_exec (s, &mp->cb)); - if (buf && len < size) - { - size = len; - /* NOTE: I've absolutely no idea what the returned data mean. */ - memcpy (buf, data, size); - error = len; - } - return error; -} - -/* -handle_interrupt() waits until it receives an interrupt packet or times out. -It calls send_time() and query_status() if necessary. Therefore, make sure -that handle_interrupt() is only called from a safe context for send_time() -and query_status(). - - Returns: - 0 timed out - 1 an interrupt packet received - PIXMA_ECANCELED interrupted by signal - <0 error -*/ -static int -handle_interrupt (pixma_t * s, int timeout) -{ - uint8_t buf[64]; - int len; - - len = pixma_wait_interrupt (s->io, buf, sizeof (buf), timeout); - if (len == PIXMA_ETIMEDOUT) - return 0; - if (len < 0) - return len; - if (len%16) /* len must be a multiple of 16 bytes */ - { - PDBG (pixma_dbg - (1, "WARNING:unexpected interrupt packet length %d\n", len)); - return PIXMA_EPROTO; - } - - /* s->event = 0x0brroott - * b: button - * oo: original - * tt: target - * rr: scan resolution - * poll event with 'scanimage -A' */ - if (s->cfg->pid == MG5300_PID - || s->cfg->pid == MG5400_PID - || s->cfg->pid == MG6200_PID - || s->cfg->pid == MG6300_PID - || s->cfg->pid == MX520_PID - || s->cfg->pid == MX720_PID - || s->cfg->pid == MX920_PID - || s->cfg->pid == MB2300_PID - || s->cfg->pid == MB5000_PID) - /* button no. in buf[7] - * size in buf[10] 01=A4; 02=Letter; 08=10x15; 09=13x18; 0b=auto - * format in buf[11] 01=JPEG; 02=TIFF; 03=PDF; 04=Kompakt-PDF - * dpi in buf[12] 01=75; 02=150; 03=300; 04=600 - * target = format; original = size; scan-resolution = dpi */ - { - if (buf[7] & 1) - s->events = PIXMA_EV_BUTTON1 | buf[11] | buf[10]<<8 | buf[12]<<16; /* color scan */ - if (buf[7] & 2) - s->events = PIXMA_EV_BUTTON2 | buf[11] | buf[10]<<8 | buf[12]<<16; /* b/w scan */ - } - else if (s->cfg->pid == LIDE300_PID - || s->cfg->pid == LIDE400_PID) - /* unknown value in buf[4] - * target in buf[0x13] - * always set button-1 */ - { - if (buf[0x13]) - s->events = PIXMA_EV_BUTTON1 | buf[0x13]; - } - else - /* button no. in buf[0] - * original in buf[0] - * target in buf[1] */ - { - /* More than one event can be reported at the same time. */ - if (buf[3] & 1) - /* FIXME: This function makes trouble with a lot of scanners - send_time (s); - */ - PDBG (pixma_dbg (1, "WARNING:send_time() disabled!\n")); - if (buf[9] & 2) - query_status (s); - if (buf[0] & 2) - s->events = PIXMA_EV_BUTTON2 | buf[1] | ((buf[0] & 0xf0) << 4); /* b/w scan */ - if (buf[0] & 1) - s->events = PIXMA_EV_BUTTON1 | buf[1] | ((buf[0] & 0xf0) << 4); /* color scan */ - } - return 1; -} - -static int -init_ccd_lamp_3 (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - uint8_t *data; - int error, status_len, tmo; - - status_len = 8; - RET_IF_ERR (query_status (s)); - RET_IF_ERR (query_status (s)); - RET_IF_ERR (send_cmd_start_calibrate_ccd_3 (s)); - RET_IF_ERR (query_status (s)); - tmo = 20; /* like Windows driver, CCD lamp adjustment */ - while (--tmo >= 0) - { - data = pixma_newcmd (&mp->cb, cmd_end_calibrate_ccd_3, 0, status_len); - RET_IF_ERR (pixma_exec (s, &mp->cb)); - memcpy (mp->current_status, data, status_len); - PDBG (pixma_dbg (3, "Lamp status: %u , timeout in: %u\n", data[0], tmo)); - if (mp->current_status[0] == 3 || !is_scanning_from_tpu (s)) - break; - WAIT_INTERRUPT (1000); - } - return error; -} - -static int -wait_until_ready (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - int error, tmo = 120; /* some scanners need a long timeout */ - - RET_IF_ERR ((mp->generation >= 3) ? query_status_3 (s) - : query_status (s)); - while (!is_calibrated (s)) - { - WAIT_INTERRUPT (1000); - if (mp->generation >= 3) - RET_IF_ERR (query_status_3 (s)); - else if (s->cfg->pid == MP600_PID || - s->cfg->pid == MP600R_PID || - s->cfg->pid == MP800R_PID) - RET_IF_ERR (query_status (s)); - if (--tmo == 0) - { - PDBG (pixma_dbg (1, "WARNING:Timed out in wait_until_ready()\n")); - PDBG (query_status (s)); - return PIXMA_ETIMEDOUT; - } - } - return 0; -} - -static uint8_t * -shift_colors (uint8_t * dptr, uint8_t * sptr, - unsigned w, unsigned dpi, unsigned pid, unsigned c, - int * colshft, unsigned strshft) -{ - unsigned i, sr, sg, sb, st; - UNUSED(dpi); - UNUSED(pid); - sr = colshft[0]; sg = colshft[1]; sb = colshft[2]; - for (i = 0; i < w; i++) - { - /* stripes shift for MP800, MP800R at 2400 dpi */ - st = (i % 2 == 0) ? strshft : 0; - - *sptr++ = *(dptr++ + sr + st); - if (c == 6) *sptr++ = *(dptr++ + sr + st); - *sptr++ = *(dptr++ + sg + st); - if (c == 6) *sptr++ = *(dptr++ + sg + st); - *sptr++ = *(dptr++ + sb + st); - if (c == 6) *sptr++ = *(dptr++ + sb + st); - } - return dptr; -} - -static void -reorder_pixels (uint8_t * linebuf, uint8_t * sptr, unsigned c, unsigned n, - unsigned m, unsigned w, unsigned line_size) -{ - unsigned i; - - for (i = 0; i < w; i++) - { - memcpy (linebuf + c * (n * (i % m) + i / m), sptr + c * i, c); - } - memcpy (sptr, linebuf, line_size); -} - -#ifndef TPU_48 -static unsigned -pack_48_24_bpc (uint8_t * sptr, unsigned n) -{ - unsigned i; - uint8_t *cptr, lsb; - static uint8_t offset = 0; - - cptr = sptr; - if (n % 2 != 0) - PDBG (pixma_dbg (3, "WARNING: misaligned image.\n")); - for (i = 0; i < n; i += 2) - { - /* offset = 1 + (offset % 3); */ - lsb = *sptr++; - *cptr++ = ((*sptr++) << offset) | lsb >> (8 - offset); - } - return (n / 2); -} -#endif - -/* This function deals both with PIXMA CCD sensors producing shifted color - * planes images, Grayscale CCD scan and Generation >= 3 high dpi images. - * Each complete line in mp->imgbuf is processed for shifting CCD sensor - * color planes, reordering pixels above 600 dpi for Generation >= 3, and - * converting to Grayscale for CCD sensors. */ -static unsigned -post_process_image_data (pixma_t * s, pixma_imagebuf_t * ib) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - unsigned c, lines, line_size, n, m, cw, cx; - uint8_t *sptr, *dptr, *gptr, *cptr; - - if (s->param->mode_jpeg) - { - /* No post-processing, send raw JPEG data to main */ - ib->rptr = mp->imgbuf; - ib->rend = mp->data_left_ofs; - return 0; /* # of non processed bytes */ - } - - - c = ((is_ccd_grayscale (s) || is_ccd_lineart (s)) ? 3 : s->param->channels) - * ((s->param->software_lineart) ? 8 : s->param->depth) / 8; - cw = c * s->param->w; - cx = c * s->param->xs; - - if (mp->generation >= 3) - n = s->param->xdpi / 600; - else /* FIXME: maybe need different values for CIS and CCD sensors */ - n = s->param->xdpi / 2400; - - if (s->cfg->pid == MP600_PID || s->cfg->pid == MP600R_PID) - n = s->param->xdpi / 1200; - - m = (n > 0) ? s->param->wx / n : 1; - sptr = dptr = gptr = cptr = mp->imgbuf; - line_size = get_cis_ccd_line_size (s); - /*PDBG (pixma_dbg (4, "*post_process_image_data***** ----- Set n=%u, m=%u, line_size=%u ----- ***** \n", n, m, line_size));*/ - - lines = (mp->data_left_ofs - mp->imgbuf) / line_size; - /*PDBG (pixma_dbg (4, "*post_process_image_data***** lines = %i > 2 * mp->color_shift + mp->stripe_shift = %i ***** \n", - lines, 2 * mp->color_shift + mp->stripe_shift));*/ - if (lines > 2 * mp->color_shift + mp->stripe_shift) - { - unsigned i; - - lines -= 2 * mp->color_shift + mp->stripe_shift; - for (i = 0; i < lines; i++, sptr += line_size) - { - /* Color plane and stripes shift needed by e.g. CCD */ - /*PDBG (pixma_dbg (4, "*post_process_image_data***** Processing with c=%u, n=%u, m=%u, w=%i, line_size=%u ***** \n", - c, n, m, s->param->wx, line_size));*/ - if (s->cfg->pid != MG5300_PID && s->cfg->pid != MG6300_PID && c >= 3) - dptr = shift_colors (dptr, sptr, - s->param->wx, s->param->xdpi, s->cfg->pid, c, - mp->shift, mp->stripe_shift); - - /* special image format for *most* devices at high dpi. - * MP220, MX360 and generation 5 scanners are exceptions */ - if (n > 0 - && s->cfg->pid != MP220_PID - && s->cfg->pid != MP490_PID - && s->cfg->pid != MX360_PID - && (mp->generation < 5 - /* generation 5 scanners *with* special image format */ - || s->cfg->pid == MG2200_PID - || s->cfg->pid == MG3200_PID - || s->cfg->pid == MG4200_PID - || s->cfg->pid == MG5600_PID - || s->cfg->pid == MG5700_PID - || s->cfg->pid == MG6200_PID - || s->cfg->pid == MP230_PID - || s->cfg->pid == MX470_PID - || s->cfg->pid == MX510_PID - || s->cfg->pid == MX520_PID)) - reorder_pixels (mp->linebuf, sptr, c, n, m, s->param->wx, line_size); - - /* Crop line to selected borders */ - memmove(cptr, sptr + cx, cw); - - /* Color / Gray to Lineart convert */ - if (s->param->software_lineart) - cptr = gptr = pixma_binarize_line (s->param, gptr, cptr, s->param->w, c); - /* Color to Grayscale convert for CCD sensor */ - else if (is_ccd_grayscale (s)) - cptr = gptr = pixma_rgb_to_gray (gptr, cptr, s->param->w, c); - else - cptr += cw; - } - } - ib->rptr = mp->imgbuf; - ib->rend = cptr; - return mp->data_left_ofs - sptr; /* # of non processed bytes */ -} - -static int -mp150_open (pixma_t * s) -{ - mp150_t *mp; - uint8_t *buf; - - mp = (mp150_t *) calloc (1, sizeof (*mp)); - if (!mp) - return PIXMA_ENOMEM; - - buf = (uint8_t *) malloc (CMDBUF_SIZE + IMAGE_BLOCK_SIZE); - if (!buf) - { - free (mp); - return PIXMA_ENOMEM; - } - - s->subdriver = mp; - mp->state = state_idle; - - mp->cb.buf = buf; - mp->cb.size = CMDBUF_SIZE; - mp->cb.res_header_len = 8; - mp->cb.cmd_header_len = 16; - mp->cb.cmd_len_field_ofs = 14; - - mp->imgbuf = buf + CMDBUF_SIZE; - - /* General rules for setting Pixma protocol generation # */ - mp->generation = (s->cfg->pid >= MP160_PID) ? 2 : 1; - - if (s->cfg->pid >= MX7600_PID) - mp->generation = 3; - - if (s->cfg->pid >= MP250_PID) - mp->generation = 4; - - if (s->cfg->pid >= MG2100_PID) /* this scanners generation doesn't need */ - mp->generation = 5; /* special image conversion @ high dpi */ - - /* And exceptions to be added here */ - if (s->cfg->pid == MP140_PID) - mp->generation = 2; - - PDBG (pixma_dbg (3, "*mp150_open***** This is a generation %d scanner. *****\n", mp->generation)); - - /* TPU info data setup */ - mp->tpu_datalen = 0; - - /* adf scanning */ - mp->adf_state = state_idle; - - if (mp->generation < 4) - { - query_status (s); - handle_interrupt (s, 200); - if (mp->generation == 3 && has_ccd_sensor (s)) - send_cmd_start_calibrate_ccd_3 (s); - } - return 0; -} - -static void -mp150_close (pixma_t * s) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - - mp150_finish_scan (s); - free (mp->cb.buf); - free (mp); - s->subdriver = NULL; -} - -static int -mp150_check_param (pixma_t * s, pixma_scan_param_t * sp) -{ - mp150_t *mp = (mp150_t *) s->subdriver; - - /* PDBG (pixma_dbg (4, "*mp150_check_param***** Initially: channels=%u, depth=%u, x=%u, y=%u, w=%u, h=%u, xs=%u, wx=%u *****\n", - sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->h, sp->xs, sp->wx)); */ - - /* MP150 only supports 8 bit per channel in color and grayscale mode */ - if (sp->depth != 1) - { - sp->software_lineart = 0; - sp->depth = 8; -#ifdef TPU_48 -#ifndef DEBUG_TPU_48 - if (sp->source == PIXMA_SOURCE_TPU) -#endif - sp->depth = 16; /* TPU in 16 bits mode */ -#endif - } - else - { - /* software lineart */ - sp->software_lineart = 1; - sp->depth = 1; - sp->channels = 1; - } - - /* for software lineart w must be a multiple of 8 */ - if (sp->software_lineart == 1 && sp->w % 8) - { - unsigned w_max; - - sp->w += 8 - (sp->w % 8); - - /* do not exceed the scanner capability */ - w_max = s->cfg->width * s->cfg->xdpi / 75; - w_max -= w_max % 8; - if (sp->w > w_max) - sp->w = w_max; - } - - if (mp->generation >= 2) - { - /* mod 32 and expansion of the X scan limits */ - /*PDBG (pixma_dbg (4, "*mp150_check_param***** ----- Initially: x=%i, y=%i, w=%i, h=%i *****\n", sp->x, sp->y, sp->w, sp->h));*/ - sp->xs = (sp->x) % 32; - } - else - sp->xs = 0; - /*PDBG (pixma_dbg (4, "*mp150_check_param***** Selected origin, origin shift: %i, %i *****\n", sp->x, sp->xs));*/ - sp->wx = calc_raw_width (mp, sp); - sp->line_size = sp->w * sp->channels * (((sp->software_lineart) ? 8 : sp->depth) / 8); /* bytes per line per color after cropping */ - /*PDBG (pixma_dbg (4, "*mp150_check_param***** Final scan width and line-size: %i, %i *****\n", sp->wx, sp->line_size));*/ - - /* Some exceptions here for particular devices */ - /* Those devices can scan up to legal 14" with ADF, but A4 11.7" in flatbed */ - /* PIXMA_CAP_ADF also works for PIXMA_CAP_ADFDUP */ - if ((s->cfg->cap & PIXMA_CAP_ADF) && sp->source == PIXMA_SOURCE_FLATBED) - sp->h = MIN (sp->h, 877 * sp->xdpi / 75); - - if (sp->source == PIXMA_SOURCE_TPU - || s->cfg->pid == LIDE300_PID - || s->cfg->pid == LIDE400_PID) - { - uint8_t k; - - /* TPU mode: lowest res is 150 or 300 dpi */ - if (mp->generation >= 3) - k = MAX (sp->xdpi, 300) / sp->xdpi; - else - k = MAX (sp->xdpi, 150) / sp->xdpi; - sp->x *= k; - sp->xs *= k; - sp->y *= k; - sp->w *= k; - sp->wx *= k; - sp->h *= k; - sp->xdpi *= k; - sp->ydpi = sp->xdpi; - } - - if (sp->source == PIXMA_SOURCE_ADF || sp->source == PIXMA_SOURCE_ADFDUP) - { - uint8_t k = 1; - - /* ADF/ADF duplex mode: max scan res is 600 dpi, at least for generation 4+ */ - if (mp->generation >= 4) - k = sp->xdpi / MIN (sp->xdpi, 600); - sp->x /= k; - sp->xs /= k; - sp->y /= k; - sp->w /= k; - sp->wx /= k; - sp->h /= k; - sp->xdpi /= k; - sp->ydpi = sp->xdpi; - } - - sp->mode_jpeg = (s->cfg->cap & PIXMA_CAP_ADF_JPEG) && - (sp->source == PIXMA_SOURCE_ADF || - sp->source == PIXMA_SOURCE_ADFDUP); - - /*PDBG (pixma_dbg (4, "*mp150_check_param***** Finally: channels=%u, depth=%u, x=%u, y=%u, w=%u, h=%u, xs=%u, wx=%u *****\n", - sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->h, sp->xs, sp->wx));*/ - return 0; -} - -static int -mp150_scan (pixma_t * s) -{ - int error = 0, tmo; - mp150_t *mp = (mp150_t *) s->subdriver; - - if (mp->state != state_idle) - return PIXMA_EBUSY; - - /* no paper inserted after first adf page => abort session */ - if (s->param->adf_pageid && is_scanning_from_adf(s) && mp->adf_state == state_idle) - { - return PIXMA_ENO_PAPER; - } - - /* Generation 4+: send XML dialog */ - /* adf: first page or idle */ - if (mp->generation >= 4 && mp->adf_state == state_idle) - { - if (!send_xml_dialog (s, XML_START_1)) - return PIXMA_EPROTO; - if (!send_xml_dialog (s, XML_START_2)) - return PIXMA_EPROTO; - } - - /* clear interrupt packets buffer */ - while (handle_interrupt (s, 0) > 0) - { - } - - /* FIXME: Duplex ADF: check paper status only before odd pages (1,3,5,...). */ - if (is_scanning_from_adf (s)) - { - if ((error = query_status (s)) < 0) - return error; - - /* wait for inserted paper - * timeout: 10 sec */ - tmo = 10; - while (!has_paper (s) && --tmo >= 0) - { - if ((error = query_status (s)) < 0) - return error; - WAIT_INTERRUPT (1000); - PDBG (pixma_dbg - (2, "No paper in ADF. Timed out in %d sec.\n", tmo)); - } - - /* no paper inserted - * => abort session */ - if (!has_paper (s)) - { - PDBG (pixma_dbg (4, "*mp150_scan***** no paper in ADF *****\n")); - error = abort_session (s); - if (error < 0) - return error; - - /* Generation 4+: send XML dialog */ - /* adf: first page or idle */ - if (mp->generation >= 4 && mp->adf_state == state_idle) - { - if (!send_xml_dialog (s, XML_END)) - return PIXMA_EPROTO; - } - - return PIXMA_ENO_PAPER; - } - } - - if (has_ccd_sensor (s) && (mp->generation <= 2)) - { - error = send_cmd_e920 (s); - switch (error) - { - case PIXMA_ECANCELED: - case PIXMA_EBUSY: - PDBG (pixma_dbg (2, "cmd e920 or d520 returned %s\n", - pixma_strerror (error))); - /* fall through */ - case 0: - query_status (s); - break; - default: - PDBG (pixma_dbg (1, "WARNING:cmd e920 or d520 failed %s\n", - pixma_strerror (error))); - return error; - } - tmo = 3; /* like Windows driver, CCD calibration ? */ - while (--tmo >= 0) - { - WAIT_INTERRUPT (1000); - PDBG (pixma_dbg (2, "CCD Calibration ends in %d sec.\n", tmo)); - } - /* pixma_sleep(2000000); */ - } - - tmo = 10; - /* adf: first page or idle */ - if (mp->generation <= 2 || mp->adf_state == state_idle) - { /* single sheet or first sheet from ADF */ - PDBG (pixma_dbg (4, "*mp150_scan***** start scanning *****\n")); - error = start_session (s); - while (error == PIXMA_EBUSY && --tmo >= 0) - { - if (s->cancel) - { - error = PIXMA_ECANCELED; - break; - } - PDBG (pixma_dbg - (2, "Scanner is busy. Timed out in %d sec.\n", tmo + 1)); - pixma_sleep (1000000); - error = start_session (s); - } - if (error == PIXMA_EBUSY || error == PIXMA_ETIMEDOUT) - { - /* The scanner maybe hangs. We try to empty output buffer of the - * scanner and issue the cancel command. */ - PDBG (pixma_dbg (2, "Scanner hangs? Sending abort_session command.\n")); - drain_bulk_in (s); - abort_session (s); - pixma_sleep (500000); - error = start_session (s); - } - if ((error >= 0) || (mp->generation >= 3)) - mp->state = state_warmup; - if ((error >= 0) && (mp->generation <= 2)) - error = select_source (s); - if ((error >= 0) && (mp->generation >= 3) && has_ccd_sensor (s)) - error = init_ccd_lamp_3 (s); - if ((error >= 0) && !is_scanning_from_tpu (s) && !is_scanning_jpeg (s)) - { - int i; - - for (i = (mp->generation >= 3) ? 3 : 1 ; i > 0 && error >= 0; i--) - error = send_gamma_table (s); - } - else if (error >= 0) /* in TPU mode, for gen 1, 2, and 3 */ - error = send_set_tpu_info (s); - } - else /* ADF pageid != 0 and gen3 or above */ - { /* next sheet from ADF */ - PDBG (pixma_dbg (4, "*mp150_scan***** scan next sheet from ADF *****\n")); - pixma_sleep (1000000); - } - if ((error >= 0) || (mp->generation >= 3)) - mp->state = state_warmup; - if (error >= 0) - error = send_scan_param (s); - if ((error >= 0) && (mp->generation >= 3)) - error = start_scan_3 (s); - if (error < 0) - { - mp->last_block = 0x38; /* Force abort session if ADF scan */ - mp150_finish_scan (s); - return error; - } - - /* ADF scanning active */ - if (is_scanning_from_adf (s)) - mp->adf_state = state_scanning; - return 0; -} - -static int -mp150_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) -{ - int error; - mp150_t *mp = (mp150_t *) s->subdriver; - unsigned block_size, bytes_received, proc_buf_size, line_size; - uint8_t header[16]; - - if (mp->state == state_warmup) - { - RET_IF_ERR (wait_until_ready (s)); - pixma_sleep (1000000); /* No need to sleep, actually, but Window's driver - * sleep 1.5 sec. */ - mp->state = state_scanning; - mp->last_block = 0; - - line_size = get_cis_ccd_line_size (s); - proc_buf_size = (2 * calc_shifting (s) + 2) * line_size; - mp->cb.buf = realloc (mp->cb.buf, - CMDBUF_SIZE + IMAGE_BLOCK_SIZE + proc_buf_size); - if (!mp->cb.buf) - return PIXMA_ENOMEM; - mp->linebuf = mp->cb.buf + CMDBUF_SIZE; - mp->imgbuf = mp->data_left_ofs = mp->linebuf + line_size; - mp->data_left_len = 0; - } - - do - { - if (s->cancel) - { - PDBG (pixma_dbg (4, "*mp150_fill_buffer***** s->cancel *****\n")); - return PIXMA_ECANCELED; - } - if ((mp->last_block & 0x28) == 0x28) - { /* end of image */ - PDBG (pixma_dbg (4, "*mp150_fill_buffer***** end of image *****\n")); - mp->state = state_finished; - return 0; - } - /*PDBG (pixma_dbg (4, "*mp150_fill_buffer***** moving %u bytes into buffer *****\n", mp->data_left_len));*/ - memmove (mp->imgbuf, mp->data_left_ofs, mp->data_left_len); - error = read_image_block (s, header, mp->imgbuf + mp->data_left_len); - if (error < 0) - { - PDBG (pixma_dbg (4, "*mp150_fill_buffer***** scanner error (%d): end scan *****\n", error)); - mp->last_block = 0x38; /* end scan in mp150_finish_scan() */ - if (error == PIXMA_ECANCELED) - { - /* NOTE: I see this in traffic logs but I don't know its meaning. */ - read_error_info (s, NULL, 0); - } - return error; - } - - bytes_received = error; - /*PDBG (pixma_dbg (4, "*mp150_fill_buffer***** %u bytes received by read_image_block *****\n", bytes_received));*/ - block_size = pixma_get_be32 (header + 12); - mp->last_block = header[8] & 0x38; - if ((header[8] & ~0x38) != 0) - { - PDBG (pixma_dbg (1, "WARNING: Unexpected result header\n")); - PDBG (pixma_hexdump (1, header, 16)); - } - PASSERT (bytes_received == block_size); - - if (block_size == 0) - { /* no image data at this moment. */ - pixma_sleep (10000); - } - /* For TPU at 48 bits/pixel to output at 24 bits/pixel */ -#ifndef DEBUG_TPU_48 -#ifndef TPU_48 -#ifndef DEBUG_TPU_24 - if (is_scanning_from_tpu (s)) -#endif - bytes_received = pack_48_24_bpc (mp->imgbuf + mp->data_left_len, bytes_received); -#endif -#endif - /* Post-process the image data */ - mp->data_left_ofs = mp->imgbuf + mp->data_left_len + bytes_received; - mp->data_left_len = post_process_image_data (s, ib); - mp->data_left_ofs -= mp->data_left_len; - } - while (ib->rend == ib->rptr); - - return ib->rend - ib->rptr; -} - -static void -mp150_finish_scan (pixma_t * s) -{ - int error; - mp150_t *mp = (mp150_t *) s->subdriver; - - switch (mp->state) - { - case state_transfering: - drain_bulk_in (s); - /* fall through */ - case state_scanning: - case state_warmup: - case state_finished: - /* Send the get TPU info message */ - if (is_scanning_from_tpu (s) && mp->tpu_datalen == 0) - send_get_tpu_info_3 (s); - /* FIXME: to process several pages ADF scan, must not send - * abort_session and start_session between pages (last_block=0x28) */ - if (mp->generation <= 2 || !is_scanning_from_adf (s) || mp->last_block == 0x38) - { - PDBG (pixma_dbg (4, "*mp150_finish_scan***** abort session *****\n")); - error = abort_session (s); /* FIXME: it probably doesn't work in duplex mode! */ - if (error < 0) - PDBG (pixma_dbg (1, "WARNING:abort_session() failed %d\n", error)); - - /* Generation 4+: send XML end of scan dialog */ - if (mp->generation >= 4) - { - if (!send_xml_dialog (s, XML_END)) - PDBG (pixma_dbg (1, "WARNING:XML_END dialog failed \n")); - } - } - else - PDBG (pixma_dbg (4, "*mp150_finish_scan***** wait for next page from ADF *****\n")); - - mp->state = state_idle; - /* fall through */ - case state_idle: - break; - } -} - -static void -mp150_wait_event (pixma_t * s, int timeout) -{ - /* FIXME: timeout is not correct. See usbGetCompleteUrbNoIntr() for - * instance. */ - while (s->events == 0 && handle_interrupt (s, timeout) > 0) - { - } -} - -static int -mp150_get_status (pixma_t * s, pixma_device_status_t * status) -{ - int error; - - RET_IF_ERR (query_status (s)); - status->hardware = PIXMA_HARDWARE_OK; - status->adf = (has_paper (s)) ? PIXMA_ADF_OK : PIXMA_ADF_NO_PAPER; - status->cal = - (is_calibrated (s)) ? PIXMA_CALIBRATION_OK : PIXMA_CALIBRATION_OFF; - return 0; -} - -static const pixma_scan_ops_t pixma_mp150_ops = { - mp150_open, - mp150_close, - mp150_scan, - mp150_fill_buffer, - mp150_finish_scan, - mp150_wait_event, - mp150_check_param, - mp150_get_status -}; - -#define DEVICE(name, model, pid, dpi, adftpu_min_dpi, adftpu_max_dpi, w, h, cap) { \ - name, /* name */ \ - model, /* model */ \ - CANON_VID, pid, /* vid pid */ \ - 0, /* iface */ \ - &pixma_mp150_ops, /* ops */ \ - dpi, 2*(dpi), /* xdpi, ydpi */ \ - adftpu_min_dpi, adftpu_max_dpi, /* adftpu_min_dpi, adftpu_max_dpi */ \ - 0, 0, /* tpuir_min_dpi & tpuir_max_dpi not used in this subdriver */ \ - w, h, /* width, height */ \ - PIXMA_CAP_EASY_RGB| \ - PIXMA_CAP_GRAY| /* CIS with native grayscale and CCD with software grayscale */ \ - PIXMA_CAP_LINEART| /* all scanners with software lineart */ \ - PIXMA_CAP_GAMMA_TABLE|PIXMA_CAP_EVENTS|cap \ -} - -#define END_OF_DEVICE_LIST DEVICE(NULL, NULL, 0, 0, 0, 0, 0, 0, 0) - -const pixma_config_t pixma_mp150_devices[] = { - /* Generation 1: CIS */ - DEVICE ("Canon PIXMA MP150", "MP150", MP150_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP170", "MP170", MP170_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP450", "MP450", MP450_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP500", "MP500", MP500_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP530", "MP530", MP530_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - - /* Generation 1: CCD */ - DEVICE ("Canon PIXMA MP800", "MP800", MP800_PID, 2400, 150, 0, 638, 877, PIXMA_CAP_CCD | PIXMA_CAP_TPU), - DEVICE ("Canon PIXMA MP800R", "MP800R", MP800R_PID, 2400, 150, 0, 638, 877, PIXMA_CAP_CCD | PIXMA_CAP_TPU), - DEVICE ("Canon PIXMA MP830", "MP830", MP830_PID, 2400, 150, 0, 638, 877, PIXMA_CAP_CCD | PIXMA_CAP_ADFDUP), - - /* Generation 2: CIS */ - DEVICE ("Canon PIXMA MP140", "MP140", MP140_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP160", "MP160", MP160_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP180", "MP180", MP180_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP460", "MP460", MP460_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP510", "MP510", MP510_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP600", "MP600", MP600_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP600R", "MP600R", MP600R_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - - /* Generation 3: CIS */ - DEVICE ("Canon PIXMA MP210", "MP210", MP210_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP220", "MP220", MP220_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP470", "MP470", MP470_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP520", "MP520", MP520_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP610", "MP610", MP610_PID, 4800, 0, 0, 638, 877, PIXMA_CAP_CIS), - - DEVICE ("Canon PIXMA MX300", "MX300", MX300_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MX310", "MX310", MX310_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX700", "MX700", MX700_PID, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX850", "MX850", MX850_PID, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - DEVICE ("Canon PIXMA MX7600", "MX7600", MX7600_PID, 4800, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - - DEVICE ("Canon PIXMA MP630", "MP630", MP630_PID, 4800, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP620", "MP620", MP620_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP540", "MP540", MP540_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP480", "MP480", MP480_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP240", "MP240", MP240_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP260", "MP260", MP260_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP190", "MP190", MP190_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - - /* PIXMA 2009 vintage */ - DEVICE ("Canon PIXMA MX320", "MX320", MX320_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX330", "MX330", MX330_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX860", "MX860", MX860_PID, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), -/* width and height adjusted to flatbed size 21.8 x 30.2 cm^2 respective - * Not sure if anything's going wrong here, leaving as is - DEVICE ("Canon PIXMA MX860", "MX860", MX860_PID, 2400, 0, 0, 638, 880, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP),*/ - - /* PIXMA 2010 vintage */ - DEVICE ("Canon PIXMA MX340", "MX340", MX340_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX350", "MX350", MX350_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX870", "MX870", MX870_PID, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - - /* PIXMA 2011 vintage */ - DEVICE ("Canon PIXMA MX360", "MX360", MX360_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX410", "MX410", MX410_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX420", "MX420", MX420_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX880 Series", "MX880", MX880_PID, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - - /* Generation 4: CIS */ - DEVICE ("Canon PIXMA MP640", "MP640", MP640_PID, 4800, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP560", "MP560", MP560_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP550", "MP550", MP550_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP490", "MP490", MP490_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP250", "MP250", MP250_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP270", "MP270", MP270_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - - /* Latest devices (2010) Generation 4 CIS/CCD */ - DEVICE ("Canon PIXMA MP280", "MP280", MP280_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), /* TODO: 1200dpi doesn't work yet */ - DEVICE ("Canon PIXMA MP495", "MP495", MP495_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG5100", "MG5100", MG5100_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG5200", "MG5200", MG5200_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG6100", "MG6100", MG6100_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - - /* Latest devices (2011) Generation 5 CIS/CCD */ - DEVICE ("Canon PIXMA MG2100", "MG2100", MG2100_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG3100", "MG3100", MG3100_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG4100", "MG4100", MG4100_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG5300", "MG5300", MG5300_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG6200", "MG6200", MG6200_PID, 4800, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MP493", "MP493", MP493_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA E500", "E500", E500_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - - /* Latest devices (2012) Generation 5 CIS */ - DEVICE ("Canon PIXMA MX370 Series", "MX370", MX370_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX430 Series", "MX430", MX430_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX510 Series", "MX510", MX510_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX710 Series", "MX710", MX710_PID, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - DEVICE ("Canon PIXMA MX890 Series", "MX890", MX890_PID, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - DEVICE ("Canon PIXMA E600 Series", "E600", E600_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MG4200", "MG4200", MG4200_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - - /* Latest devices (2013) Generation 5 CIS */ - DEVICE ("Canon PIXMA E510", "E510", E510_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA E610", "E610", E610_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MP230", "MP230", MP230_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG2200 Series", "MG2200", MG2200_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG3200 Series", "MG3200", MG3200_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG5400 Series", "MG5400", MG5400_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG6300 Series", "MG6300", MG6300_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MX390 Series", "MX390", MX390_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX450 Series", "MX450", MX450_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX520 Series", "MX520", MX520_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX720 Series", "MX720", MX720_PID, 2400, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - DEVICE ("Canon PIXMA MX920 Series", "MX920", MX920_PID, 2400, 0, 600, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - DEVICE ("Canon PIXMA MG2400 Series", "MG2400", MG2400_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG2500 Series", "MG2500", MG2500_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG3500 Series", "MG3500", MG3500_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG5500 Series", "MG5500", MG5500_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG6400 Series", "MG6400", MG6400_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG6500 Series", "MG6500", MG6500_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG7100 Series", "MG7100", MG7100_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - - /* Latest devices (2014) Generation 5 CIS */ - DEVICE ("Canon PIXMA MX470 Series", "MX470", MX470_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MX530 Series", "MX530", MX530_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon MAXIFY MB5000 Series", "MB5000", MB5000_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - DEVICE ("Canon MAXIFY MB5300 Series", "MB5300", MB5300_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - DEVICE ("Canon MAXIFY MB2000 Series", "MB2000", MB2000_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - DEVICE ("Canon MAXIFY MB2100 Series", "MB2100", MB2100_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF | PIXMA_CAP_ADF_JPEG), - DEVICE ("Canon MAXIFY MB2300 Series", "MB2300", MB2300_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon MAXIFY MB2700 Series", "MB2700", MB2700_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF | PIXMA_CAP_ADF_JPEG), - DEVICE ("Canon PIXMA E400", "E400", E400_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA E560", "E560", E560_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG7500 Series", "MG7500", MG7500_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG6600 Series", "MG6600", MG6600_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG5600 Series", "MG5600", MG5600_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG2900 Series", "MG2900", MG2900_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA E460 Series", "E460", E460_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - - /* Latest devices (2015) Generation 5 CIS */ - DEVICE ("Canon PIXMA MX490 Series", "MX490", MX490_PID, 600, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA E480 Series", "E480", E480_PID, 600, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MG3600 Series", "MG3600", MG3600_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG7700 Series", "MG7700", MG7700_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG6900 Series", "MG6900", MG6900_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG6800 Series", "MG6800", MG6800_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG5700 Series", "MG5700", MG5700_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - - /* Latest devices (2016) Generation 5 CIS */ - DEVICE ("Canon PIXMA G3000", "G3000", G3000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA G2000", "G2000", G2000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS9000 Series", "TS9000", TS9000_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS8000 Series", "TS8000", TS8000_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS6000 Series", "TS6000", TS6000_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS5000 Series", "TS5000", TS5000_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA MG3000 Series", "MG3000", MG3000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA E470 Series", "E470", E470_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA E410 Series", "E410", E410_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - - /* Latest devices (2017) Generation 5 CIS */ - DEVICE ("Canon PIXMA G4000", "G4000", G4000_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS6100 Series", "TS6100", TS6100_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS5100 Series", "TS5100", TS5100_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS3100 Series", "TS3100", TS3100_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA E3100 Series", "E3100", E3100_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - - /* Latest devices (2018) Generation 5 CIS */ - DEVICE ("Canon MAXIFY MB5400 Series", "MB5400", MB5400_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - DEVICE ("Canon MAXIFY MB5100 Series", "MB5100", MB5100_PID, 1200, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADFDUP), - DEVICE ("Canon PIXMA TS9100 Series", "TS9100", TS9100_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TR8500 Series", "TR8500", TR8500_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA TR7500 Series", "TR7500", TR7500_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA TS9500 Series", "TS9500", TS9500_PID, 1200, 0, 600, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("CanoScan LiDE 400", "LIDE400", LIDE400_PID, 4800, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("CanoScan LiDE 300", "LIDE300", LIDE300_PID, 4800, 0, 0, 638, 877, PIXMA_CAP_CIS), - - /* Latest devices (2019) Generation 5 CIS */ - DEVICE ("Canon PIXMA TS8100 Series", "TS8100", TS8100_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA G3010 Series", "G3010", G3010_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA G4010 Series", "G4010", G4010_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA TS9180 Series", "TS9180", TS9180_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS8180 Series", "TS8180", TS8180_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS6180 Series", "TS6180", TS6180_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TR8580 Series", "TR8580", TR8580_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA TS8130 Series", "TS8130", TS8130_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS6130 Series", "TS6130", TS6130_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TR8530 Series", "TR8530", TR8530_PID, 2400, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA TR7530 Series", "TR7530", TR7530_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXUS XK50 Series", "XK50", XK50_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXUS XK70 Series", "XK70", XK70_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TR4500 Series", "TR4500", TR4500_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA E4200 Series", "E4200", E4200_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA TS6200 Series", "TS6200", TS6200_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS6280 Series", "TS6280", TS6280_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS6230 Series", "TS6230", TS6230_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS8200 Series", "TS8200", TS8200_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS8280 Series", "TS8280", TS8280_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS8230 Series", "TS8230", TS8230_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - DEVICE ("Canon PIXMA TS9580 Series", "TS9580", TS9580_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA TR9530 Series", "TR9530", TR9530_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS | PIXMA_CAP_ADF), - DEVICE ("Canon PIXUS XK80 Series", "XK80", XK80_PID, 1200, 0, 0, 638, 877, PIXMA_CAP_CIS), - - END_OF_DEVICE_LIST -}; diff --git a/backend/pixma_mp730.c b/backend/pixma_mp730.c deleted file mode 100644 index c801daa..0000000 --- a/backend/pixma_mp730.c +++ /dev/null @@ -1,848 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2011-2019 Rolf Bensch - Copyright (C) 2007-2008 Nicolas Martin, - Copyright (C) 2006-2007 Wittawat Yamwong - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. - */ -#include "../include/sane/config.h" - -#include -#include -#include -#include /* localtime(C90) */ - -#include "pixma_rename.h" -#include "pixma_common.h" -#include "pixma_io.h" - - -#ifdef __GNUC__ -# define UNUSED(v) (void) v -#else -# define UNUSED(v) -#endif - -#define IMAGE_BLOCK_SIZE (0xc000) -#define CMDBUF_SIZE 512 - -#define MP10_PID 0x261f - -#define MP730_PID 0x262f -#define MP700_PID 0x2630 - -#define MP5_PID 0x2635 /* untested */ - -#define MP360_PID 0x263c -#define MP370_PID 0x263d -#define MP390_PID 0x263e -#define MP375R_PID 0x263f /* untested */ - -#define MP740_PID 0x264c /* Untested */ -#define MP710_PID 0x264d - -#define MF5730_PID 0x265d /* Untested */ -#define MF5750_PID 0x265e /* Untested */ -#define MF5770_PID 0x265f -#define MF3110_PID 0x2660 - -#define IR1020_PID 0x26e6 - -enum mp730_state_t -{ - state_idle, - state_warmup, - state_scanning, - state_transfering, - state_finished -}; - -enum mp730_cmd_t -{ - cmd_start_session = 0xdb20, - cmd_select_source = 0xdd20, - cmd_gamma = 0xee20, - cmd_scan_param = 0xde20, - cmd_status = 0xf320, - cmd_abort_session = 0xef20, - cmd_time = 0xeb80, - cmd_read_image = 0xd420, - cmd_error_info = 0xff20, - - cmd_activate = 0xcf60, - cmd_calibrate = 0xe920 -}; - -typedef struct mp730_t -{ - enum mp730_state_t state; - pixma_cmdbuf_t cb; - unsigned raw_width; - uint8_t current_status[12]; - - uint8_t *buf, *imgbuf, *lbuf; - unsigned imgbuf_len; - - unsigned last_block:1; -} mp730_t; - - -static void mp730_finish_scan (pixma_t * s); - -static int -has_paper (pixma_t * s) -{ - mp730_t *mp = (mp730_t *) s->subdriver; - return (mp->current_status[1] == 0); -} - -static void -drain_bulk_in (pixma_t * s) -{ - mp730_t *mp = (mp730_t *) s->subdriver; - while (pixma_read (s->io, mp->imgbuf, IMAGE_BLOCK_SIZE) >= 0); -} - -static int -abort_session (pixma_t * s) -{ - mp730_t *mp = (mp730_t *) s->subdriver; - return pixma_exec_short_cmd (s, &mp->cb, cmd_abort_session); -} - -static int -query_status (pixma_t * s) -{ - mp730_t *mp = (mp730_t *) s->subdriver; - uint8_t *data; - int error; - - data = pixma_newcmd (&mp->cb, cmd_status, 0, 12); - error = pixma_exec (s, &mp->cb); - if (error >= 0) - { - memcpy (mp->current_status, data, 12); - PDBG (pixma_dbg (3, "Current status: paper=%u cal=%u lamp=%u\n", - data[1], data[8], data[7])); - } - return error; -} - -static int -activate (pixma_t * s, uint8_t x) -{ - mp730_t *mp = (mp730_t *) s->subdriver; - uint8_t *data = pixma_newcmd (&mp->cb, cmd_activate, 10, 0); - data[0] = 1; - data[3] = x; - return pixma_exec (s, &mp->cb); -} - -static int -start_session (pixma_t * s) -{ - mp730_t *mp = (mp730_t *) s->subdriver; - return pixma_exec_short_cmd (s, &mp->cb, cmd_start_session); -} - -static int -select_source (pixma_t * s) -{ - mp730_t *mp = (mp730_t *) s->subdriver; - uint8_t *data = pixma_newcmd (&mp->cb, cmd_select_source, 10, 0); - switch (s->param->source) - { - case PIXMA_SOURCE_ADF: - data[0] = 2; - break; - - case PIXMA_SOURCE_ADFDUP: - data[0] = 2; - data[5] = 3; - break; - - default: - data[0] = 1; - break; - } - return pixma_exec (s, &mp->cb); -} - -static int -send_scan_param (pixma_t * s) -{ - mp730_t *mp = (mp730_t *) s->subdriver; - uint8_t *data; - - data = pixma_newcmd (&mp->cb, cmd_scan_param, 0x2e, 0); - pixma_set_be16 (s->param->xdpi | 0x1000, data + 0x04); - pixma_set_be16 (s->param->ydpi | 0x1000, data + 0x06); - pixma_set_be32 (s->param->x, data + 0x08); - pixma_set_be32 (s->param->y, data + 0x0c); - pixma_set_be32 (mp->raw_width, data + 0x10); - pixma_set_be32 (s->param->h, data + 0x14); - - if (s->param->channels == 1) - { - if (s->param->depth == 1) - data[0x18] = 0x01; - else - data[0x18] = 0x04; - } - else - data[0x18] = 0x08; - - data[0x19] = s->param->channels * s->param->depth; /* bits per pixel, for lineart should be 0x01 */ - data[0x1e] = (s->param->depth == 1) ? 0x80 : 0x00; /* modify for lineart: 0x80 NEW */ - data[0x1f] = (s->param->depth == 1) ? 0x80 : 0x7f; /* modify for lineart: 0x80 */ - data[0x20] = (s->param->depth == 1) ? 0x01 : 0xff; /* modify for lineart: 0x01 */ - data[0x23] = 0x81; - - return pixma_exec (s, &mp->cb); -} - -static int -calibrate (pixma_t * s) -{ - mp730_t *mp = (mp730_t *) s->subdriver; - return pixma_exec_short_cmd (s, &mp->cb, cmd_calibrate); -} - -static int -read_image_block (pixma_t * s, uint8_t * header, uint8_t * data) -{ - static const uint8_t cmd[10] = /* 0xd420 cmd */ - { 0xd4, 0x20, 0, 0, 0, 0, 0, IMAGE_BLOCK_SIZE / 256, 4, 0 }; - mp730_t *mp = (mp730_t *) s->subdriver; - const int hlen = 2 + 4; - int error, datalen; - - mp->state = state_transfering; - mp->cb.reslen = - pixma_cmd_transaction (s, cmd, sizeof (cmd), mp->cb.buf, 512); - datalen = mp->cb.reslen; - if (datalen < 0) - return datalen; - - memcpy (header, mp->cb.buf, hlen); - if (datalen >= hlen) - { - datalen -= hlen; - memcpy (data, mp->cb.buf + hlen, datalen); - data += datalen; - if (mp->cb.reslen == 512) - { - error = pixma_read (s->io, data, IMAGE_BLOCK_SIZE - 512 + hlen); - if (error < 0) - return error; - datalen += error; - } - } - - mp->state = state_scanning; - mp->cb.expected_reslen = 0; - error = pixma_check_result (&mp->cb); - if (error < 0) - return error; - if (mp->cb.reslen < hlen) - return PIXMA_EPROTO; - return datalen; -} - -static int -send_time (pixma_t * s) -{ - /* Why does a scanner need a time? */ - time_t now; - struct tm *t; - uint8_t *data; - mp730_t *mp = (mp730_t *) s->subdriver; - - data = pixma_newcmd (&mp->cb, cmd_time, 20, 0); - pixma_get_time (&now, NULL); - t = localtime (&now); - snprintf ((char *) data, 16, - "%02d/%02d/%02d %02d:%02d", - t->tm_year % 100, t->tm_mon + 1, t->tm_mday, - t->tm_hour, t->tm_min); - PDBG (pixma_dbg (3, "Sending time: '%s'\n", (char *) data)); - return pixma_exec (s, &mp->cb); -} - -static int -handle_interrupt (pixma_t * s, int timeout) -{ - uint8_t buf[16]; - int len; - - len = pixma_wait_interrupt (s->io, buf, sizeof (buf), timeout); - if (len == PIXMA_ETIMEDOUT) - return 0; - if (len < 0) - return len; - switch (s->cfg->pid) - { - case MP360_PID: - case MP370_PID: - case MP375R_PID: - case MP390_PID: - case MF5730_PID: - case MF5750_PID: - case MF5770_PID: - case MF3110_PID: - case IR1020_PID: - if (len != 16) - { - PDBG (pixma_dbg - (1, "WARNING:unexpected interrupt packet length %d\n", len)); - return PIXMA_EPROTO; - } - if (buf[12] & 0x40) - query_status (s); - if (buf[10] & 0x40) - send_time (s); - /* FIXME: following is unverified! */ - if (buf[15] & 1) - s->events = PIXMA_EV_BUTTON2; /* b/w scan */ - if (buf[15] & 2) - s->events = PIXMA_EV_BUTTON1; /* color scan */ - break; - - case MP5_PID: - case MP10_PID: - case MP700_PID: - case MP730_PID: - case MP710_PID: - case MP740_PID: - if (len != 8) - { - PDBG (pixma_dbg - (1, "WARNING:unexpected interrupt packet length %d\n", len)); - return PIXMA_EPROTO; - } - if (buf[7] & 0x10) - s->events = PIXMA_EV_BUTTON1; - if (buf[5] & 8) - send_time (s); - break; - - default: - PDBG (pixma_dbg (1, "WARNING:unknown interrupt, please report!\n")); - PDBG (pixma_hexdump (1, buf, len)); - } - return 1; -} - -static int -has_ccd_sensor (pixma_t * s) -{ - return (s->cfg->pid == MP360_PID || - s->cfg->pid == MP370_PID || - s->cfg->pid == MP375R_PID || - s->cfg->pid == MP390_PID || - s->cfg->pid == MF5730_PID || - s->cfg->pid == MF5750_PID || - s->cfg->pid == MF5770_PID); -} - -static int -read_error_info (pixma_t * s, void *buf, unsigned size) -{ - unsigned len = 16; - mp730_t *mp = (mp730_t *) s->subdriver; - uint8_t *data; - int error; - - data = pixma_newcmd (&mp->cb, cmd_error_info, 0, len); - error = pixma_exec (s, &mp->cb); - if (error < 0) - return error; - if (buf && len < size) - { - size = len; - /* NOTE: I've absolutely no idea what the returned data mean. */ - memcpy (buf, data, size); - error = len; - } - return error; -} - -static int -step1 (pixma_t * s) -{ - int error; - - error = query_status (s); - if (error < 0) - return error; - if ((s->param->source == PIXMA_SOURCE_ADF - || s->param->source == PIXMA_SOURCE_ADFDUP) - && !has_paper (s)) - return PIXMA_ENO_PAPER; - if (has_ccd_sensor (s)) - { - switch (s->cfg->pid) - { - case MF5730_PID: - case MF5750_PID: - case MF5770_PID: - /* MF57x0: Wait 10 sec before starting for 1st page only */ - if (s->param->adf_pageid == 0) - { - int tmo = 10; /* like Windows driver, 10 sec CCD calibration ? */ - while (--tmo >= 0) - { - error = handle_interrupt (s, 1000); \ - if (s->cancel) \ - return PIXMA_ECANCELED; \ - if (error != PIXMA_ECANCELED && error < 0) \ - return error; - PDBG (pixma_dbg (2, "CCD Calibration ends in %d sec.\n", tmo)); - } - } - break; - - default: - break; - } - - activate (s, 0); - error = calibrate (s); - - switch (s->cfg->pid) - { - case MF5730_PID: - case MF5750_PID: - case MF5770_PID: - /* MF57x0: calibration returns PIXMA_STATUS_FAILED */ - if (error == PIXMA_ECANCELED) - error = read_error_info (s, NULL, 0); - break; - - default: - break; - } - - // ignore result from calibrate() - // don't interrupt @ PIXMA_STATUS_BUSY - error = 0; - } - if (error >= 0) - error = activate (s, 0); - if (error >= 0) - error = activate (s, 4); - return error; -} - -static void -pack_rgb (const uint8_t * src, unsigned nlines, unsigned w, uint8_t * dst) -{ - unsigned w2, stride; - - w2 = 2 * w; - stride = 3 * w; - for (; nlines != 0; nlines--) - { - unsigned x; - for (x = 0; x != w; x++) - { - *dst++ = src[x + 0]; - *dst++ = src[x + w]; - *dst++ = src[x + w2]; - } - src += stride; - } -} - -static int -mp730_open (pixma_t * s) -{ - mp730_t *mp; - uint8_t *buf; - - mp = (mp730_t *) calloc (1, sizeof (*mp)); - if (!mp) - return PIXMA_ENOMEM; - - buf = (uint8_t *) malloc (CMDBUF_SIZE); - if (!buf) - { - free (mp); - return PIXMA_ENOMEM; - } - - s->subdriver = mp; - mp->state = state_idle; - - mp->cb.buf = buf; - mp->cb.size = CMDBUF_SIZE; - mp->cb.res_header_len = 2; - mp->cb.cmd_header_len = 10; - mp->cb.cmd_len_field_ofs = 7; - - PDBG (pixma_dbg (3, "Trying to clear the interrupt buffer...\n")); - if (handle_interrupt (s, 200) == 0) - { - PDBG (pixma_dbg (3, " no packets in buffer\n")); - } - return 0; -} - -static void -mp730_close (pixma_t * s) -{ - mp730_t *mp = (mp730_t *) s->subdriver; - - mp730_finish_scan (s); - free (mp->cb.buf); - free (mp->buf); - free (mp); - s->subdriver = NULL; -} - -static unsigned -calc_raw_width (pixma_t * s, const pixma_scan_param_t * sp) -{ - unsigned raw_width; - /* FIXME: Does MP730 need the alignment? */ - /* TODO test: MP710/740 */ - if (sp->channels == 1) - { - if (sp->depth == 8) /* grayscale */ - { - if (s->cfg->pid == MP5_PID || - s->cfg->pid == MP10_PID || - s->cfg->pid == MP700_PID || - s->cfg->pid == MP730_PID || - s->cfg->pid == MP360_PID || - s->cfg->pid == MP370_PID || - s->cfg->pid == MP375R_PID || - s->cfg->pid == MP390_PID || - s->cfg->pid == IR1020_PID) - raw_width = ALIGN_SUP (sp->w, 4); - else - raw_width = ALIGN_SUP (sp->w, 12); - } - else /* depth = 1 : LINEART */ - raw_width = ALIGN_SUP (sp->w, 16); - } - else - raw_width = ALIGN_SUP (sp->w, 4); - return raw_width; -} - -static int -mp730_check_param (pixma_t * s, pixma_scan_param_t * sp) -{ - uint8_t k = 1; - - /* check if channels is 3, or if depth is 1 then channels also 1 else set depth to 8 */ - if ((sp->channels==3) || !(sp->channels==1 && sp->depth==1)) - { - sp->depth=8; - } - /* for MP5, MP10, MP360/370, MP700/730 in grayscale & lineart modes, max scan res is 600 dpi */ - if (s->cfg->pid == MP5_PID || - s->cfg->pid == MP10_PID || - s->cfg->pid == MP700_PID || - s->cfg->pid == MP730_PID || - s->cfg->pid == MP360_PID || - s->cfg->pid == MP370_PID || - s->cfg->pid == MP375R_PID || - s->cfg->pid == MP390_PID) - { - if (sp->channels == 1) - k = sp->xdpi / MIN (sp->xdpi, 600); - } - - sp->x /= k; - sp->y /= k; - sp->h /= k; - sp->xdpi /= k; - sp->ydpi = sp->xdpi; - - sp->w = calc_raw_width (s, sp); - sp->w /= k; - sp->line_size = (calc_raw_width (s, sp) * sp->channels * sp->depth) / 8; - - return 0; -} - -static int -mp730_scan (pixma_t * s) -{ - int error, n; - mp730_t *mp = (mp730_t *) s->subdriver; - uint8_t *buf; - - if (mp->state != state_idle) - return PIXMA_EBUSY; - - /* clear interrupt packets buffer */ - while (handle_interrupt (s, 0) > 0) - { - } - - mp->raw_width = calc_raw_width (s, s->param); - PDBG (pixma_dbg (3, "raw_width = %u\n", mp->raw_width)); - - n = IMAGE_BLOCK_SIZE / s->param->line_size + 1; - buf = (uint8_t *) malloc ((n + 1) * s->param->line_size + IMAGE_BLOCK_SIZE); - if (!buf) - return PIXMA_ENOMEM; - mp->buf = buf; - mp->lbuf = buf; - mp->imgbuf = buf + n * s->param->line_size; - mp->imgbuf_len = 0; - - error = step1 (s); - if (error >= 0) - error = start_session (s); - if (error >= 0) - mp->state = state_scanning; - if (error >= 0) - error = select_source (s); - if (error >= 0) - error = send_scan_param (s); - if (error < 0) - { - mp730_finish_scan (s); - return error; - } - mp->last_block = 0; - return 0; -} - -static int -mp730_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) -{ - int error, n; - mp730_t *mp = (mp730_t *) s->subdriver; - unsigned block_size, bytes_received; - uint8_t header[16]; - - do - { - do - { - if (s->cancel) - return PIXMA_ECANCELED; - if (mp->last_block) /* end of image */ - return 0; - - error = read_image_block (s, header, mp->imgbuf + mp->imgbuf_len); - if (error < 0) - return error; - - bytes_received = error; - block_size = pixma_get_be16 (header + 4); - mp->last_block = ((header[2] & 0x28) == 0x28); - if (mp->last_block) - { /* end of image */ - mp->state = state_finished; - } - if ((header[2] & ~0x38) != 0) - { - PDBG (pixma_dbg (1, "WARNING: Unexpected result header\n")); - PDBG (pixma_hexdump (1, header, 16)); - } - PASSERT (bytes_received == block_size); - - if (block_size == 0) - { - /* no image data at this moment. */ - /*pixma_sleep(100000); *//* FIXME: too short, too long? */ - handle_interrupt (s, 100); - } - } - while (block_size == 0); - - /* TODO: simplify! */ - mp->imgbuf_len += bytes_received; - n = mp->imgbuf_len / s->param->line_size; - /* n = number of full lines (rows) we have in the buffer. */ - if (n != 0) - { - if (s->param->channels != 1 && - s->cfg->pid != MF5730_PID && - s->cfg->pid != MF5750_PID && - s->cfg->pid != MF5770_PID && - s->cfg->pid != MF3110_PID && - s->cfg->pid != IR1020_PID) - { - /* color, and not an MF57x0 nor MF3110 */ - pack_rgb (mp->imgbuf, n, mp->raw_width, mp->lbuf); - } - else - /* grayscale/lineart or MF57x0 or MF3110 */ - memcpy (mp->lbuf, mp->imgbuf, n * s->param->line_size); - - block_size = n * s->param->line_size; - mp->imgbuf_len -= block_size; - memcpy (mp->imgbuf, mp->imgbuf + block_size, mp->imgbuf_len); - } - } - while (n == 0); - - ib->rptr = mp->lbuf; - ib->rend = mp->lbuf + block_size; - return ib->rend - ib->rptr; -} - -static void -mp730_finish_scan (pixma_t * s) -{ - int error, aborted = 0; - mp730_t *mp = (mp730_t *) s->subdriver; - - switch (mp->state) - { - case state_transfering: - drain_bulk_in (s); - /* fall through */ - case state_scanning: - case state_warmup: - aborted = 1; - error = abort_session (s); - if (error < 0) - PDBG (pixma_dbg - (1, "WARNING:abort_session() failed %s\n", - pixma_strerror (error))); - /* fall through */ - case state_finished: - query_status (s); - query_status (s); - activate (s, 0); - - // MF57x0 devices don't require abort_session() after the last page - if (!aborted && - (s->param->source == PIXMA_SOURCE_ADF || - s->param->source == PIXMA_SOURCE_ADFDUP) && - has_paper (s) && - (s->cfg->pid == MF5730_PID || - s->cfg->pid == MF5750_PID || - s->cfg->pid == MF5770_PID || - s->cfg->pid == IR1020_PID)) - { - error = abort_session (s); - if (error < 0) - PDBG (pixma_dbg - (1, "WARNING:abort_session() failed %s\n", - pixma_strerror (error))); - } - - mp->buf = mp->lbuf = mp->imgbuf = NULL; - mp->state = state_idle; - /* fall through */ - case state_idle: - break; - } -} - -static void -mp730_wait_event (pixma_t * s, int timeout) -{ - /* FIXME: timeout is not correct. See usbGetCompleteUrbNoIntr() for - * instance. */ - while (s->events == 0 && handle_interrupt (s, timeout) > 0) - { - } -} - -static int -mp730_get_status (pixma_t * s, pixma_device_status_t * status) -{ - int error; - - error = query_status (s); - if (error < 0) - return error; - status->hardware = PIXMA_HARDWARE_OK; - status->adf = (has_paper (s)) ? PIXMA_ADF_OK : PIXMA_ADF_NO_PAPER; - return 0; -} - - -static const pixma_scan_ops_t pixma_mp730_ops = { - mp730_open, - mp730_close, - mp730_scan, - mp730_fill_buffer, - mp730_finish_scan, - mp730_wait_event, - mp730_check_param, - mp730_get_status -}; - -/* TODO: implement adftpu_min_dpi & adftpu_max_dpi for grayscale & lineart */ -#define DEVICE(name, model, pid, dpi, w, h, cap) { \ - name, /* name */ \ - model, /* model */ \ - 0x04a9, pid, /* vid pid */ \ - 1, /* iface */ \ - &pixma_mp730_ops, /* ops */ \ - dpi, dpi, /* xdpi, ydpi */ \ - 0, 0, /* adftpu_min_dpi & adftpu_max_dpi not used in this subdriver */ \ - 0, 0, /* tpuir_min_dpi & tpuir_max_dpi not used in this subdriver */ \ - w, h, /* width, height */ \ - PIXMA_CAP_GRAY|PIXMA_CAP_EVENTS|cap \ -} -const pixma_config_t pixma_mp730_devices[] = { -/* TODO: check area limits */ - DEVICE ("PIXUS MP5/SmartBase MPC190/imageCLASS MPC190","MP5", MP5_PID, 600, 636, 868, PIXMA_CAP_LINEART),/* color scan can do 600x1200 */ - DEVICE ("PIXUS MP10/SmartBase MPC200/imageCLASS MPC200","MP10", MP10_PID, 600, 636, 868, PIXMA_CAP_LINEART),/* color scan can do 600x1200 */ - DEVICE ("PIXMA MP360", "MP360", MP360_PID, 1200, 636, 868, PIXMA_CAP_LINEART), - DEVICE ("PIXMA MP370", "MP370", MP370_PID, 1200, 636, 868, PIXMA_CAP_LINEART), - DEVICE ("PIXMA MP375R", "MP375R", MP375R_PID, 1200, 636, 868, PIXMA_CAP_LINEART), - DEVICE ("PIXMA MP390", "MP390", MP390_PID, 1200, 636, 868, PIXMA_CAP_LINEART), - DEVICE ("PIXMA MP700", "MP700", MP700_PID, 1200, 638, 877 /*1035 */ , PIXMA_CAP_LINEART), - DEVICE ("PIXMA MP710", "MP710", MP710_PID, 1200, 637, 868, PIXMA_CAP_LINEART), - DEVICE ("PIXMA MP730", "MP730", MP730_PID, 1200, 637, 868, PIXMA_CAP_ADF | PIXMA_CAP_LINEART), - DEVICE ("PIXMA MP740", "MP740", MP740_PID, 1200, 637, 868, PIXMA_CAP_ADF | PIXMA_CAP_LINEART), - - DEVICE ("Canon imageCLASS MF5730", "MF5730", MF5730_PID, 1200, 636, 868, PIXMA_CAP_ADF), - DEVICE ("Canon imageCLASS MF5750", "MF5750", MF5750_PID, 1200, 636, 868, PIXMA_CAP_ADF), - DEVICE ("Canon imageCLASS MF5770", "MF5770", MF5770_PID, 1200, 636, 868, PIXMA_CAP_ADF), - DEVICE ("Canon imageCLASS MF3110", "MF3110", MF3110_PID, 600, 636, 868, 0), - - DEVICE ("Canon iR 1020/1024/1025", "iR1020", IR1020_PID, 600, 636, 868, PIXMA_CAP_ADFDUP), - - DEVICE (NULL, NULL, 0, 0, 0, 0, 0) -}; diff --git a/backend/pixma_mp750.c b/backend/pixma_mp750.c deleted file mode 100644 index 5bd6ef0..0000000 --- a/backend/pixma_mp750.c +++ /dev/null @@ -1,970 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2011-2019 Rolf Bensch - Copyright (C) 2006-2007 Wittawat Yamwong - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. - */ - -/**************************************************************************** - * Credits should go to Martin Schewe (http://pixma.schewe.com) who analysed - * the protocol of MP750. - ****************************************************************************/ - -#include "../include/sane/config.h" - -#include -#include - -#include "pixma_rename.h" -#include "pixma_common.h" -#include "pixma_io.h" - -/* TODO: remove lines marked with SIM. They are inserted so that I can test - the subdriver with the simulator. WY */ - -#ifdef __GNUC__ -# define UNUSED(v) (void) v -#else -# define UNUSED(v) -#endif - -#define IMAGE_BLOCK_SIZE 0xc000 -#define CMDBUF_SIZE 512 -#define HAS_PAPER(s) (s[1] == 0) -#define IS_WARMING_UP(s) (s[7] != 3) -#define IS_CALIBRATED(s) (s[8] == 0xf) - -#define MP750_PID 0x1706 -#define MP760_PID 0x1708 -#define MP780_PID 0x1707 - - -enum mp750_state_t -{ - state_idle, - state_warmup, - state_scanning, - state_transfering, - state_finished -}; - -enum mp750_cmd_t -{ - cmd_start_session = 0xdb20, - cmd_select_source = 0xdd20, - cmd_scan_param = 0xde20, - cmd_status = 0xf320, - cmd_abort_session = 0xef20, - cmd_time = 0xeb80, - cmd_read_image = 0xd420, - - cmd_activate = 0xcf60, - cmd_calibrate = 0xe920, - cmd_error_info = 0xff20 -}; - -typedef struct mp750_t -{ - enum mp750_state_t state; - pixma_cmdbuf_t cb; - unsigned raw_width, raw_height; - uint8_t current_status[12]; - - uint8_t *buf, *rawimg, *img; - /* make new buffer for rgb_to_gray to act on */ - uint8_t *imgcol; - unsigned line_size; /* need in 2 functions */ - - unsigned rawimg_left, imgbuf_len, last_block_size, imgbuf_ofs; - int shifted_bytes; - int stripe_shift; /* for 2400dpi */ - unsigned last_block; - - unsigned monochrome:1; - unsigned needs_abort:1; -} mp750_t; - - - -static void mp750_finish_scan (pixma_t * s); -static void check_status (pixma_t * s); - -static int -has_paper (pixma_t * s) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - return HAS_PAPER (mp->current_status); -} - -static int -is_warming_up (pixma_t * s) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - return IS_WARMING_UP (mp->current_status); -} - -static int -is_calibrated (pixma_t * s) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - return IS_CALIBRATED (mp->current_status); -} - -static void -drain_bulk_in (pixma_t * s) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - while (pixma_read (s->io, mp->buf, IMAGE_BLOCK_SIZE) >= 0); -} - -static int -abort_session (pixma_t * s) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - return pixma_exec_short_cmd (s, &mp->cb, cmd_abort_session); -} - -static int -query_status (pixma_t * s) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - uint8_t *data; - int error; - - data = pixma_newcmd (&mp->cb, cmd_status, 0, 12); - error = pixma_exec (s, &mp->cb); - if (error >= 0) - { - memcpy (mp->current_status, data, 12); - PDBG (pixma_dbg (3, "Current status: paper=%u cal=%u lamp=%u\n", - data[1], data[8], data[7])); - } - return error; -} - -static int -activate (pixma_t * s, uint8_t x) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - uint8_t *data = pixma_newcmd (&mp->cb, cmd_activate, 10, 0); - data[0] = 1; - data[3] = x; - return pixma_exec (s, &mp->cb); -} - -static int -activate_cs (pixma_t * s, uint8_t x) -{ - /*SIM*/ check_status (s); - return activate (s, x); -} - -static int -start_session (pixma_t * s) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - return pixma_exec_short_cmd (s, &mp->cb, cmd_start_session); -} - -static int -select_source (pixma_t * s) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - uint8_t *data = pixma_newcmd (&mp->cb, cmd_select_source, 10, 0); - data[0] = (s->param->source == PIXMA_SOURCE_ADF) ? 2 : 1; - data[1] = 1; - return pixma_exec (s, &mp->cb); -} - -static int -has_ccd_sensor (pixma_t * s) -{ - return ((s->cfg->cap & PIXMA_CAP_CCD) != 0); -} - -static int -is_ccd_grayscale (pixma_t * s) -{ - return (has_ccd_sensor (s) && (s->param->channels == 1)); -} - -/* CCD sensors don't have a Grayscale mode, but use color mode instead */ -static unsigned -get_cis_ccd_line_size (pixma_t * s) -{ - return (s->param->wx ? s->param->line_size / s->param->w * s->param->wx - : s->param->line_size) * ((is_ccd_grayscale (s)) ? 3 : 1); -} - -static int -send_scan_param (pixma_t * s) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - uint8_t *data; - - data = pixma_newcmd (&mp->cb, cmd_scan_param, 0x2e, 0); - pixma_set_be16 (s->param->xdpi | 0x8000, data + 0x04); - pixma_set_be16 (s->param->ydpi | 0x8000, data + 0x06); - pixma_set_be32 (s->param->x, data + 0x08); - pixma_set_be32 (s->param->y, data + 0x0c); - pixma_set_be32 (mp->raw_width, data + 0x10); - pixma_set_be32 (mp->raw_height, data + 0x14); - data[0x18] = 8; /* 8 = color, 4 = grayscale(?) */ - /* GH: No, there is no grayscale for CCD devices, Windows shows same */ - data[0x19] = s->param->depth * ((is_ccd_grayscale (s)) ? 3 : s->param->channels); /* bits per pixel */ - data[0x20] = 0xff; - data[0x23] = 0x81; - data[0x26] = 0x02; - data[0x27] = 0x01; - data[0x29] = mp->monochrome ? 0 : 1; - - return pixma_exec (s, &mp->cb); -} - -static int -calibrate (pixma_t * s) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - return pixma_exec_short_cmd (s, &mp->cb, cmd_calibrate); -} - -static int -calibrate_cs (pixma_t * s) -{ - /*SIM*/ check_status (s); - return calibrate (s); -} - -static int -request_image_block_ex (pixma_t * s, unsigned *size, uint8_t * info, - unsigned flag) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - int error; - - memset (mp->cb.buf, 0, 10); - pixma_set_be16 (cmd_read_image, mp->cb.buf); - mp->cb.buf[7] = *size >> 8; - mp->cb.buf[8] = 4 | flag; - mp->cb.reslen = pixma_cmd_transaction (s, mp->cb.buf, 10, mp->cb.buf, 6); - mp->cb.expected_reslen = 0; - error = pixma_check_result (&mp->cb); - if (error >= 0) - { - if (mp->cb.reslen == 6) - { - *info = mp->cb.buf[2]; - *size = pixma_get_be16 (mp->cb.buf + 4); - } - else - { - error = PIXMA_EPROTO; - } - } - return error; -} - -static int -request_image_block (pixma_t * s, unsigned *size, uint8_t * info) -{ - return request_image_block_ex (s, size, info, 0); -} - -static int -request_image_block2 (pixma_t * s, uint8_t * info) -{ - unsigned temp = 0; - return request_image_block_ex (s, &temp, info, 0x20); -} - -static int -read_image_block (pixma_t * s, uint8_t * data) -{ - int count, temp; - - count = pixma_read (s->io, data, IMAGE_BLOCK_SIZE); - if (count < 0) - return count; - if (count == IMAGE_BLOCK_SIZE) - { - int error = pixma_read (s->io, &temp, 0); - if (error < 0) - { - PDBG (pixma_dbg - (1, "WARNING: reading zero-length packet failed %d\n", error)); - } - } - return count; -} - -static int -read_error_info (pixma_t * s, void *buf, unsigned size) -{ - unsigned len = 16; - mp750_t *mp = (mp750_t *) s->subdriver; - uint8_t *data; - int error; - - data = pixma_newcmd (&mp->cb, cmd_error_info, 0, len); - error = pixma_exec (s, &mp->cb); - if (error >= 0 && buf) - { - if (len < size) - size = len; - /* NOTE: I've absolutely no idea what the returned data mean. */ - memcpy (buf, data, size); - error = len; - } - return error; -} - -static int -send_time (pixma_t * s) -{ - /* TODO: implement send_time() */ - UNUSED (s); - PDBG (pixma_dbg (3, "send_time() is not yet implemented.\n")); - return 0; -} - -static int -handle_interrupt (pixma_t * s, int timeout) -{ - int error; - uint8_t intr[16]; - - error = pixma_wait_interrupt (s->io, intr, sizeof (intr), timeout); - if (error == PIXMA_ETIMEDOUT) - return 0; - if (error < 0) - return error; - if (error != 16) - { - PDBG (pixma_dbg (1, "WARNING: unexpected interrupt packet length %d\n", - error)); - return PIXMA_EPROTO; - } - - if (intr[10] & 0x40) - send_time (s); - if (intr[12] & 0x40) - query_status (s); - if (intr[15] & 1) - s->events = PIXMA_EV_BUTTON2; /* b/w scan */ - if (intr[15] & 2) - s->events = PIXMA_EV_BUTTON1; /* color scan */ - return 1; -} - -static void -check_status (pixma_t * s) -{ - while (handle_interrupt (s, 0) > 0); -} - -static int -step1 (pixma_t * s) -{ - int error, tmo; - - error = activate (s, 0); - if (error < 0) - return error; - error = query_status (s); - if (error < 0) - return error; - if (s->param->source == PIXMA_SOURCE_ADF && !has_paper (s)) - return PIXMA_ENO_PAPER; - error = activate_cs (s, 0); - /*SIM*/ if (error < 0) - return error; - error = activate_cs (s, 0x20); - if (error < 0) - return error; - - tmo = 60; - error = calibrate_cs (s); - while (error == PIXMA_EBUSY && --tmo >= 0) - { - if (s->cancel) - return PIXMA_ECANCELED; - PDBG (pixma_dbg - (2, "Scanner is busy. Timed out in %d sec.\n", tmo + 1)); - pixma_sleep (1000000); - error = calibrate_cs (s); - } - return error; -} - -static void -shift_rgb (const uint8_t * src, unsigned pixels, - int sr, int sg, int sb, int stripe_shift, - int line_size, uint8_t * dst) -{ - unsigned st; - - for (; pixels != 0; pixels--) - { - st = (pixels % 2 == 0) ? -2 * stripe_shift * line_size : 0; - *(dst++ + sr + st) = *src++; - *(dst++ + sg + st) = *src++; - *(dst++ + sb + st) = *src++; - } -} - -static uint8_t * -rgb_to_gray (uint8_t * gptr, const uint8_t * cptr, unsigned pixels, unsigned c) -{ - unsigned i, j, g; - - /* gptr: destination gray scale buffer */ - /* cptr: source color scale buffer */ - /* c: 3 for 3-channel single-byte data, 6 for double-byte data */ - - for (i=0; i < pixels; i++) - { - for (j = 0, g = 0; j < 3; j++) - { - g += *cptr++; - if (c == 6) g += (*cptr++ << 8); - } - g /= 3; - *gptr++ = g; - if (c == 6) *gptr++ = (g >> 8); - } - return gptr; -} - -static int -calc_component_shifting (pixma_t * s) -{ - switch (s->cfg->pid) - { - case MP760_PID: - switch (s->param->ydpi) - { - case 300: - return 3; - case 600: - return 6; - default: - return s->param->ydpi / 75; - } - /* never reached */ - break; - - case MP750_PID: - case MP780_PID: - default: - return 2 * s->param->ydpi / 75; - } -} - -static void -workaround_first_command (pixma_t * s) -{ - /* FIXME: Send a dummy command because the device doesn't response to the - first command that is sent directly after the USB interface has been - set up. Why? USB isn't set up properly? */ - uint8_t cmd[10]; - int error; - - if (s->cfg->pid == MP750_PID) - return; /* MP750 doesn't have this problem(?) */ - - PDBG (pixma_dbg - (1, - "Work-around for the problem: device doesn't response to the first command.\n")); - memset (cmd, 0, sizeof (cmd)); - pixma_set_be16 (cmd_calibrate, cmd); - error = pixma_write (s->io, cmd, 10); - if (error != 10) - { - if (error < 0) - { - PDBG (pixma_dbg - (1, " Sending a dummy command failed: %s\n", - pixma_strerror (error))); - } - else - { - PDBG (pixma_dbg - (1, " Sending a dummy command failed: count = %d\n", error)); - } - return; - } - error = pixma_read (s->io, cmd, sizeof (cmd)); - if (error >= 0) - { - PDBG (pixma_dbg - (1, " Got %d bytes response from a dummy command.\n", error)); - } - else - { - PDBG (pixma_dbg - (1, " Reading response of a dummy command failed: %s\n", - pixma_strerror (error))); - } -} - -static int -mp750_open (pixma_t * s) -{ - mp750_t *mp; - uint8_t *buf; - - mp = (mp750_t *) calloc (1, sizeof (*mp)); - if (!mp) - return PIXMA_ENOMEM; - - buf = (uint8_t *) malloc (CMDBUF_SIZE); - if (!buf) - { - free (mp); - return PIXMA_ENOMEM; - } - - s->subdriver = mp; - mp->state = state_idle; - - /* ofs: 0 1 2 3 4 5 6 7 8 9 - cmd: cmd1 cmd2 00 00 00 00 00 00 00 00 - data length-^^^^^ => cmd_len_field_ofs - |--------- cmd_header_len --------| - - res: res1 res2 - |---------| res_header_len - */ - mp->cb.buf = buf; - mp->cb.size = CMDBUF_SIZE; - mp->cb.res_header_len = 2; - mp->cb.cmd_header_len = 10; - mp->cb.cmd_len_field_ofs = 7; - - handle_interrupt (s, 200); - workaround_first_command (s); - return 0; -} - -static void -mp750_close (pixma_t * s) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - - mp750_finish_scan (s); - free (mp->cb.buf); - free (mp); - s->subdriver = NULL; -} - -static int -mp750_check_param (pixma_t * s, pixma_scan_param_t * sp) -{ - unsigned raw_width; - - UNUSED (s); - - sp->depth = 8; /* FIXME: Does MP750 supports other depth? */ - - /* GH: my implementation */ - /* if ((sp->channels == 3) || (is_ccd_grayscale (s))) - raw_width = ALIGN_SUP (sp->w, 4); - else - raw_width = ALIGN_SUP (sp->w, 12);*/ - - /* the above code gives segmentation fault?!? why... it seems to work in the mp750_scan function */ - raw_width = ALIGN_SUP (sp->w, 4); - - /*sp->line_size = raw_width * sp->channels;*/ - sp->line_size = raw_width * sp->channels * (sp->depth / 8); /* no cropping? */ - return 0; -} - -static int -mp750_scan (pixma_t * s) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - int error; - uint8_t *buf; - unsigned size, dpi, spare; - - dpi = s->param->ydpi; - /* add a stripe shift for 2400dpi */ - mp->stripe_shift = (dpi == 2400) ? 4 : 0; - - if (mp->state != state_idle) - return PIXMA_EBUSY; - - /* clear interrupt packets buffer */ - while (handle_interrupt (s, 0) > 0) - { - } - - /* if (s->param->channels == 1) - mp->raw_width = ALIGN_SUP (s->param->w, 12); - else - mp->raw_width = ALIGN_SUP (s->param->w, 4);*/ - - /* change to use CCD grayscale mode --- why does this give segmentation error at runtime in mp750_check_param? */ - if ((s->param->channels == 3) || (is_ccd_grayscale (s))) - mp->raw_width = ALIGN_SUP (s->param->w, 4); - else - mp->raw_width = ALIGN_SUP (s->param->w, 12); - /* not sure about MP750, but there is no need for aligning at 12 for the MP760/770, MP780/790 since always use CCD color mode */ - - /* modify for stripe shift */ - spare = 2 * calc_component_shifting (s) + 2 * mp->stripe_shift; /* FIXME: or maybe (2*... + 1)? */ - mp->raw_height = s->param->h + spare; - PDBG (pixma_dbg (3, "raw_width=%u raw_height=%u dpi=%u\n", - mp->raw_width, mp->raw_height, dpi)); - - /* PDBG (pixma_dbg (4, "line_size=%"PRIu64"\n",s->param->line_size)); */ - - mp->line_size = get_cis_ccd_line_size (s); /* scanner hardware line_size multiplied by 3 for CCD grayscale */ - - size = 8 + 2 * IMAGE_BLOCK_SIZE + spare * mp->line_size; - buf = (uint8_t *) malloc (size); - if (!buf) - return PIXMA_ENOMEM; - mp->buf = buf; - mp->rawimg = buf; - mp->imgbuf_ofs = spare * mp->line_size; - mp->imgcol = mp->rawimg + IMAGE_BLOCK_SIZE + 8; /* added to make rgb->gray */ - mp->img = mp->rawimg + IMAGE_BLOCK_SIZE + 8; - mp->imgbuf_len = IMAGE_BLOCK_SIZE + mp->imgbuf_ofs; - mp->rawimg_left = 0; - mp->last_block_size = 0; - mp->shifted_bytes = -(int) mp->imgbuf_ofs; - - error = step1 (s); - if (error >= 0) - error = start_session (s); - if (error >= 0) - mp->state = state_warmup; - if (error >= 0) - error = select_source (s); - if (error >= 0) - error = send_scan_param (s); - if (error < 0) - { - mp750_finish_scan (s); - return error; - } - return 0; -} - - -static int -mp750_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) -{ - mp750_t *mp = (mp750_t *) s->subdriver; - int error; - uint8_t info; - unsigned block_size, bytes_received, n; - int shift[3], base_shift; - int c; - - c = ((is_ccd_grayscale (s)) ? 3 : s->param->channels) * s->param->depth / 8; /* single-byte or double-byte data */ - - if (mp->state == state_warmup) - { - int tmo = 60; - - query_status (s); - check_status (s); - /*SIM*/ while (!is_calibrated (s) && --tmo >= 0) - { - if (s->cancel) - return PIXMA_ECANCELED; - if (handle_interrupt (s, 1000) > 0) - { - block_size = 0; - error = request_image_block (s, &block_size, &info); - /*SIM*/ if (error < 0) - return error; - } - } - if (tmo < 0) - { - PDBG (pixma_dbg (1, "WARNING: Timed out waiting for calibration\n")); - return PIXMA_ETIMEDOUT; - } - pixma_sleep (100000); - query_status (s); - if (is_warming_up (s) || !is_calibrated (s)) - { - PDBG (pixma_dbg (1, "WARNING: Wrong status: wup=%d cal=%d\n", - is_warming_up (s), is_calibrated (s))); - return PIXMA_EPROTO; - } - block_size = 0; - request_image_block (s, &block_size, &info); - /*SIM*/ mp->state = state_scanning; - mp->last_block = 0; - } - - /* TODO: Move to other place, values are constant. */ - base_shift = calc_component_shifting (s) * mp->line_size; - if (s->param->source == PIXMA_SOURCE_ADF) - { - shift[0] = 0; - shift[1] = -base_shift; - shift[2] = -2 * base_shift; - } - else - { - shift[0] = -2 * base_shift; - shift[1] = -base_shift; - shift[2] = 0; - } - - do - { - if (mp->last_block_size > 0) - { - block_size = mp->imgbuf_len - mp->last_block_size; - memcpy (mp->img, mp->img + mp->last_block_size, block_size); - } - - do - { - if (s->cancel) - return PIXMA_ECANCELED; - if (mp->last_block) - { - /* end of image */ - info = mp->last_block; - if (info != 0x38) - { - query_status (s); - /*SIM*/ while ((info & 0x28) != 0x28) - { - pixma_sleep (10000); - error = request_image_block2 (s, &info); - if (s->cancel) - return PIXMA_ECANCELED; /* FIXME: Is it safe to cancel here? */ - if (error < 0) - return error; - } - } - mp->needs_abort = (info != 0x38); - mp->last_block = info; - mp->state = state_finished; - return 0; - } - - check_status (s); - /*SIM*/ while (handle_interrupt (s, 1) > 0); - /*SIM*/ block_size = IMAGE_BLOCK_SIZE; - error = request_image_block (s, &block_size, &info); - if (error < 0) - { - if (error == PIXMA_ECANCELED) - read_error_info (s, NULL, 0); - return error; - } - mp->last_block = info; - if ((info & ~0x38) != 0) - { - PDBG (pixma_dbg (1, "WARNING: Unknown info byte %x\n", info)); - } - if (block_size == 0) - { - /* no image data at this moment. */ - pixma_sleep (10000); - } - } - while (block_size == 0); - - error = read_image_block (s, mp->rawimg + mp->rawimg_left); - if (error < 0) - { - mp->state = state_transfering; - return error; - } - bytes_received = error; - PASSERT (bytes_received == block_size); - - /* TODO: simplify! */ - mp->rawimg_left += bytes_received; - n = mp->rawimg_left / 3; - /* n = number of pixels in the buffer? */ - - /* Color to Grayscale converion for CCD sensor */ - if (is_ccd_grayscale (s)) { - shift_rgb (mp->rawimg, n, shift[0], shift[1], shift[2], mp->stripe_shift, mp->line_size, - mp->imgcol + mp->imgbuf_ofs); - /* dst: img, src: imgcol */ - rgb_to_gray (mp->img, mp->imgcol, n, c); /* cropping occurs later? */ - PDBG (pixma_dbg (4, "*fill_buffer: did grayscale conversion \n")); - } - /* Color image processing */ - else { - shift_rgb (mp->rawimg, n, shift[0], shift[1], shift[2], mp->stripe_shift, mp->line_size, - mp->img + mp->imgbuf_ofs); - PDBG (pixma_dbg (4, "*fill_buffer: no grayscale conversion---keep color \n")); - } - - /* entering remaining unprocessed bytes after last complete pixel into mp->rawimg buffer -- no influence on mp->img */ - n *= 3; - mp->shifted_bytes += n; - mp->rawimg_left -= n; /* rawimg_left = 0, 1 or 2 bytes left in the buffer. */ - mp->last_block_size = n; - memcpy (mp->rawimg, mp->rawimg + n, mp->rawimg_left); - - } - while (mp->shifted_bytes <= 0); - - if ((unsigned) mp->shifted_bytes < mp->last_block_size) - { - if (is_ccd_grayscale (s)) - ib->rptr = mp->img + mp->last_block_size/3 - mp->shifted_bytes/3; /* testing---works OK */ - else - ib->rptr = mp->img + mp->last_block_size - mp->shifted_bytes; - } - else - ib->rptr = mp->img; - if (is_ccd_grayscale (s)) - ib->rend = mp->img + mp->last_block_size/3; /* testing---works OK */ - else - ib->rend = mp->img + mp->last_block_size; - return ib->rend - ib->rptr; -} - -static void -mp750_finish_scan (pixma_t * s) -{ - int error; - mp750_t *mp = (mp750_t *) s->subdriver; - - switch (mp->state) - { - case state_transfering: - drain_bulk_in (s); - /* fall through */ - case state_scanning: - case state_warmup: - error = abort_session (s); - if (error == PIXMA_ECANCELED) - read_error_info (s, NULL, 0); - /* fall through */ - case state_finished: - if (s->param->source == PIXMA_SOURCE_FLATBED) - { - /*SIM*/ query_status (s); - if (abort_session (s) == PIXMA_ECANCELED) - { - read_error_info (s, NULL, 0); - query_status (s); - } - } - query_status (s); - /*SIM*/ activate (s, 0); - if (mp->needs_abort) - { - mp->needs_abort = 0; - abort_session (s); - } - free (mp->buf); - mp->buf = mp->rawimg = NULL; - mp->state = state_idle; - /* fall through */ - case state_idle: - break; - } -} - -static void -mp750_wait_event (pixma_t * s, int timeout) -{ - /* FIXME: timeout is not correct. See usbGetCompleteUrbNoIntr() for - * instance. */ - while (s->events == 0 && handle_interrupt (s, timeout) > 0) - { - } -} - -static int -mp750_get_status (pixma_t * s, pixma_device_status_t * status) -{ - int error; - - error = query_status (s); - if (error < 0) - return error; - status->hardware = PIXMA_HARDWARE_OK; - status->adf = (has_paper (s)) ? PIXMA_ADF_OK : PIXMA_ADF_NO_PAPER; - status->cal = - (is_calibrated (s)) ? PIXMA_CALIBRATION_OK : PIXMA_CALIBRATION_OFF; - status->lamp = (is_warming_up (s)) ? PIXMA_LAMP_WARMING_UP : PIXMA_LAMP_OK; - return 0; -} - - -static const pixma_scan_ops_t pixma_mp750_ops = { - mp750_open, - mp750_close, - mp750_scan, - mp750_fill_buffer, - mp750_finish_scan, - mp750_wait_event, - mp750_check_param, - mp750_get_status -}; - -#define DEVICE(name, model, pid, dpi, cap) { \ - name, /* name */ \ - model, /* model */ \ - 0x04a9, pid, /* vid pid */ \ - 0, /* iface */ \ - &pixma_mp750_ops, /* ops */ \ - dpi, 2*(dpi), /* xdpi, ydpi */ \ - 0, 0, /* adftpu_min_dpi & adftpu_max_dpi not used in this subdriver */ \ - 0, 0, /* tpuir_min_dpi & tpuir_max_dpi not used in this subdriver */ \ - 637, 877, /* width, height */ \ - PIXMA_CAP_GRAY|PIXMA_CAP_EVENTS|cap \ -} - -const pixma_config_t pixma_mp750_devices[] = { - DEVICE ("Canon PIXMA MP750", "MP750", MP750_PID, 2400, PIXMA_CAP_CCD | PIXMA_CAP_ADF), - DEVICE ("Canon PIXMA MP760/770", "MP760/770", MP760_PID, 2400, PIXMA_CAP_CCD | PIXMA_CAP_TPU), - DEVICE ("Canon PIXMA MP780/790", "MP780/790", MP780_PID, 2400, PIXMA_CAP_CCD | PIXMA_CAP_ADF), - DEVICE (NULL, NULL, 0, 0, 0) -}; diff --git a/backend/pixma_mp810.c b/backend/pixma_mp810.c deleted file mode 100644 index 5d81e3f..0000000 --- a/backend/pixma_mp810.c +++ /dev/null @@ -1,2388 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2011-2019 Rolf Bensch - Copyright (C) 2007-2009 Nicolas Martin, - Copyright (C) 2006-2007 Wittawat Yamwong - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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. - */ -/* test cases - 1. short USB packet (must be no -ETIMEDOUT) - 2. cancel using button on the printer (look for abort command) - 3. start scan while busy (status 0x1414) - 4. cancel using ctrl-c (must send abort command) - */ - -#define TPU_48 /* uncomment to activate TPU scan at 48 bits */ -/*#define DEBUG_TPU_48*//* uncomment to debug 48 bits TPU on a non TPU device */ -/*#define DEBUG_TPU_24*//* uncomment to debug 24 bits TPU on a non TPU device */ - -/*#define TPUIR_USE_RGB*/ /* uncomment to use RGB channels and convert them to gray; otherwise use R channel only */ - -#include "../include/sane/config.h" - -#include -#include -#include -#include /* localtime(C90) */ - -#include "pixma_rename.h" -#include "pixma_common.h" -#include "pixma_io.h" - -/* Some macro code to enhance readability */ -#define RET_IF_ERR(x) do { \ - if ((error = (x)) < 0) \ - return error; \ - } while(0) - -#define WAIT_INTERRUPT(x) do { \ - error = handle_interrupt (s, x); \ - if (s->cancel) \ - return PIXMA_ECANCELED; \ - if (error != PIXMA_ECANCELED && error < 0) \ - return error; \ - } while(0) - -#ifdef __GNUC__ -# define UNUSED(v) (void) v -#else -# define UNUSED(v) -#endif - -/* Size of the command buffer should be multiple of wMaxPacketLength and - greater than 4096+24. - 4096 = size of gamma table. 24 = header + checksum */ -#define IMAGE_BLOCK_SIZE (512*1024) -#define CMDBUF_SIZE (4096 + 24) -#define DEFAULT_GAMMA 2.0 /***** Gamma different from 1.0 is potentially impacting color profile generation *****/ -#define UNKNOWN_PID 0xffff - -#define CANON_VID 0x04a9 - -/* Generation 2 */ -#define MP810_PID 0x171a -#define MP960_PID 0x171b - -/* Generation 3 */ -/* PIXMA 2007 vintage */ -#define MP970_PID 0x1726 - -/* Flatbed scanner CCD (2007) */ -#define CS8800F_PID 0x1901 - -/* PIXMA 2008 vintage */ -#define MP980_PID 0x172d - -/* Generation 4 */ -#define MP990_PID 0x1740 - -/* Flatbed scanner CCD (2010) */ -#define CS9000F_PID 0x1908 - -/* 2010 new device (untested) */ -#define MG8100_PID 0x174b /* CCD */ - -/* 2011 new device (untested) */ -#define MG8200_PID 0x1756 /* CCD */ - -/* 2013 new device */ -#define CS9000F_MII_PID 0x190d - -/* Generation 4 XML messages that encapsulates the Pixma protocol messages */ -#define XML_START_1 \ -"\ -\ -StartJob\ -00000001\ -1" - -#define XML_START_2 \ -"\ -\ -VendorCmd\ -00000001\ -ModeShift1\ -" - -#define XML_END \ -"\ -\ -EndJob\ -00000001\ -" - -#define XML_OK "OK" - -enum mp810_state_t -{ - state_idle, - state_warmup, - state_scanning, - state_transfering, - state_finished -}; - -enum mp810_cmd_t -{ - cmd_start_session = 0xdb20, - cmd_select_source = 0xdd20, - cmd_gamma = 0xee20, - cmd_scan_param = 0xde20, - cmd_status = 0xf320, - cmd_abort_session = 0xef20, - cmd_time = 0xeb80, - cmd_read_image = 0xd420, - cmd_error_info = 0xff20, - - cmd_start_calibrate_ccd_3 = 0xd520, - cmd_end_calibrate_ccd_3 = 0xd720, - cmd_scan_param_3 = 0xd820, - cmd_scan_start_3 = 0xd920, - cmd_status_3 = 0xda20, - cmd_get_tpu_info_3 = 0xf520, - cmd_set_tpu_info_3 = 0xea20, - - cmd_e920 = 0xe920 /* seen in MP800 */ -}; - -typedef struct mp810_t -{ - enum mp810_state_t state; - pixma_cmdbuf_t cb; - uint8_t *imgbuf; - uint8_t current_status[16]; - unsigned last_block; - uint8_t generation; - /* for Generation 3 and CCD shift */ - uint8_t *linebuf; - uint8_t *data_left_ofs; - unsigned data_left_len; - int shift[3]; - unsigned color_shift; - unsigned stripe_shift; - unsigned stripe_shift2; /* added for MP810, MP960 at 4800dpi & 9000F at 9600dpi */ - unsigned jumplines; /* added for MP810, MP960 at 4800dpi & 9000F at 9600dpi */ - uint8_t tpu_datalen; - uint8_t tpu_data[0x40]; -} mp810_t; - -/* - STAT: 0x0606 = ok, - 0x1515 = failed (PIXMA_ECANCELED), - 0x1414 = busy (PIXMA_EBUSY) - - Transaction scheme - 1. command_header/data | result_header - 2. command_header | result_header/data - 3. command_header | result_header/image_data - - - data has checksum in the last byte. - - image_data has no checksum. - - data and image_data begins in the same USB packet as - command_header or result_header. - - command format #1: - u16be cmd - u8[6] 0 - u8[4] 0 - u32be PLEN parameter length - u8[PLEN-1] parameter - u8 parameter check sum - result: - u16be STAT - u8 0 - u8 0 or 0x21 if STAT == 0x1414 - u8[4] 0 - - command format #2: - u16be cmd - u8[6] 0 - u8[4] 0 - u32be RLEN result length - result: - u16be STAT - u8[6] 0 - u8[RLEN-1] result - u8 result check sum - - command format #3: (only used by read_image_block) - u16be 0xd420 - u8[6] 0 - u8[4] 0 - u32be max. block size + 8 - result: - u16be STAT - u8[6] 0 - u8 block info bitfield: 0x8 = end of scan, 0x10 = no more paper, 0x20 = no more data - u8[3] 0 - u32be ILEN image data size - u8[ILEN] image data - */ - -static void mp810_finish_scan (pixma_t * s); - -static int is_scanning_from_adf (pixma_t * s) -{ - return (s->param->source == PIXMA_SOURCE_ADF - || s->param->source == PIXMA_SOURCE_ADFDUP); -} - -static int is_scanning_from_adfdup (pixma_t * s) -{ - return (s->param->source == PIXMA_SOURCE_ADFDUP); -} - -static int is_scanning_from_tpu (pixma_t * s) -{ - return (s->param->source == PIXMA_SOURCE_TPU); -} - -static int send_xml_dialog (pixma_t * s, const char * xml_message) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - int datalen; - - datalen = pixma_cmd_transaction (s, xml_message, strlen (xml_message), - mp->cb.buf, 1024); - if (datalen < 0) - return datalen; - - mp->cb.buf[datalen] = 0; - - PDBG(pixma_dbg (10, "XML message sent to scanner:\n%s\n", xml_message)); - PDBG(pixma_dbg (10, "XML response back from scanner:\n%s\n", mp->cb.buf)); - - return (strcasestr ((const char *) mp->cb.buf, XML_OK) != NULL); -} - -static void new_cmd_tpu_msg (pixma_t *s, pixma_cmdbuf_t * cb, uint16_t cmd) -{ - pixma_newcmd (cb, cmd, 0, 0); - cb->buf[3] = (is_scanning_from_tpu (s)) ? 0x01 : 0x00; -} - -static int start_session (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - - new_cmd_tpu_msg (s, &mp->cb, cmd_start_session); - return pixma_exec (s, &mp->cb); -} - -static int start_scan_3 (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - - new_cmd_tpu_msg (s, &mp->cb, cmd_scan_start_3); - return pixma_exec (s, &mp->cb); -} - -static int send_cmd_start_calibrate_ccd_3 (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - - pixma_newcmd (&mp->cb, cmd_start_calibrate_ccd_3, 0, 0); - mp->cb.buf[3] = 0x01; - return pixma_exec (s, &mp->cb); -} - -static int is_calibrated (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - if (mp->generation >= 3) - { - return ((mp->current_status[0] & 0x01) == 1); - } - if (mp->generation == 1) - { - return (mp->current_status[8] == 1); - } - else - { - return (mp->current_status[9] == 1); - } -} - -static int has_paper (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - - if (is_scanning_from_adfdup (s)) - return (mp->current_status[1] == 0 || mp->current_status[2] == 0); - else - return (mp->current_status[1] == 0); -} - -static void drain_bulk_in (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - while (pixma_read (s->io, mp->imgbuf, IMAGE_BLOCK_SIZE) >= 0) - ; -} - -static int abort_session (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - return pixma_exec_short_cmd (s, &mp->cb, cmd_abort_session); -} - -static int send_cmd_e920 (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - return pixma_exec_short_cmd (s, &mp->cb, cmd_e920); -} - -static int select_source (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - uint8_t *data; - - data = pixma_newcmd (&mp->cb, cmd_select_source, 12, 0); - data[5] = ((mp->generation == 2) ? 1 : 0); - switch (s->param->source) - { - case PIXMA_SOURCE_FLATBED: - data[0] = 1; - data[1] = 1; - break; - - case PIXMA_SOURCE_ADF: - data[0] = 2; - data[5] = 1; - data[6] = 1; - break; - - case PIXMA_SOURCE_ADFDUP: - data[0] = 2; - data[5] = 3; - data[6] = 3; - break; - - case PIXMA_SOURCE_TPU: - data[0] = 4; - data[1] = 2; - break; - } - return pixma_exec (s, &mp->cb); -} - -static int send_get_tpu_info_3 (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - uint8_t *data; - int error; - - data = pixma_newcmd (&mp->cb, cmd_get_tpu_info_3, 0, 0x34); - RET_IF_ERR(pixma_exec (s, &mp->cb)); - memcpy (mp->tpu_data, data, 0x34); - return error; -} - -static int send_set_tpu_info (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - uint8_t *data; - - if (mp->tpu_datalen == 0) - return 0; - data = pixma_newcmd (&mp->cb, cmd_set_tpu_info_3, 0x34, 0); - memcpy (data, mp->tpu_data, 0x34); - return pixma_exec (s, &mp->cb); -} - -static int send_gamma_table (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - const uint8_t *lut = s->param->gamma_table; - uint8_t *data; - - if (mp->generation == 1) - { - data = pixma_newcmd (&mp->cb, cmd_gamma, 4096 + 8, 0); - data[0] = (s->param->channels == 3) ? 0x10 : 0x01; - pixma_set_be16 (0x1004, data + 2); - if (lut) - memcpy (data + 4, lut, 4096); - else - pixma_fill_gamma_table (DEFAULT_GAMMA, data + 4, 4096); - } - else - { - /* FIXME: Gamma table for 2nd generation: 1024 * uint16_le */ - data = pixma_newcmd (&mp->cb, cmd_gamma, 2048 + 8, 0); - data[0] = 0x10; - pixma_set_be16 (0x0804, data + 2); - if (lut) - { - int i; - for (i = 0; i < 1024; i++) - { - int j = (i << 2) + (i >> 8); - data[4 + 2 * i + 0] = lut[j]; - data[4 + 2 * i + 1] = lut[j]; - } - } - else - { - int i; - pixma_fill_gamma_table (DEFAULT_GAMMA, data + 4, 2048); - for (i = 0; i < 1024; i++) - { - int j = (i << 1) + (i >> 9); - data[4 + 2 * i + 0] = data[4 + j]; - data[4 + 2 * i + 1] = data[4 + j]; - } - } - } - return pixma_exec (s, &mp->cb); -} - -static unsigned calc_raw_width (const mp810_t * mp, - const pixma_scan_param_t * param) -{ - unsigned raw_width; - /* NOTE: Actually, we can send arbitary width to MP810. Lines returned - are always padded to multiple of 4 or 12 pixels. Is this valid for - other models, too? */ - if (mp->generation >= 2) - { - raw_width = ALIGN_SUP (param->w + param->xs, 32); - /* PDBG (pixma_dbg (4, "*calc_raw_width***** width %u extended by %u and rounded to %u *****\n", param->w, param->xs, raw_width)); */ - } - else if (param->channels == 1) - { - raw_width = ALIGN_SUP (param->w + param->xs, 12); - } - else - { - raw_width = ALIGN_SUP (param->w + param->xs, 4); - } - return raw_width; -} - -static int has_ccd_sensor (pixma_t * s) -{ - return ((s->cfg->cap & PIXMA_CAP_CCD) != 0); -} - -#if 0 -static int is_color (pixma_t * s) -{ - return (s->param->mode == PIXMA_SCAN_MODE_COLOR); -} - -static int is_color_48 (pixma_t * s) -{ - return (s->param->mode == PIXMA_SCAN_MODE_COLOR_48); -} - -static int is_color_negative (pixma_t * s) -{ - return (s->param->mode == PIXMA_SCAN_MODE_NEGATIVE_COLOR); -} - -static int is_color_all (pixma_t * s) -{ - return (is_color (s) || is_color_48 (s) || is_color_negative (s)); -} -#endif - -static int is_gray (pixma_t * s) -{ - return (s->param->mode == PIXMA_SCAN_MODE_GRAY); -} - -static int is_gray_16 (pixma_t * s) -{ - return (s->param->mode == PIXMA_SCAN_MODE_GRAY_16); -} - -static int is_gray_negative (pixma_t * s) -{ - return (s->param->mode == PIXMA_SCAN_MODE_NEGATIVE_GRAY); -} - -static int is_gray_all (pixma_t * s) -{ - return (is_gray (s) || is_gray_16 (s) || is_gray_negative (s)); -} - -static int is_lineart (pixma_t * s) -{ - return (s->param->mode == PIXMA_SCAN_MODE_LINEART); -} - -static int is_tpuir (pixma_t * s) -{ - return (s->param->mode == PIXMA_SCAN_MODE_TPUIR); -} - -/* CCD sensors don't have neither a Grayscale mode nor a Lineart mode, - * but use color mode instead */ -static unsigned get_cis_ccd_line_size (pixma_t * s) -{ - return (( - s->param->wx ? s->param->line_size / s->param->w * s->param->wx - : s->param->line_size) - * ((is_tpuir (s) || is_gray_all (s) || is_lineart (s)) ? 3 : 1)); -} - -static unsigned calc_shifting (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - - /* If stripes shift needed (CCD devices), how many pixels shift */ - mp->stripe_shift = 0; - mp->stripe_shift2 = 0; - mp->jumplines = 0; - - switch (s->cfg->pid) - { - case MP970_PID: /* MP970 at 4800 dpi */ - case CS8800F_PID: /* CanoScan 8800F at 4800 dpi */ - if (s->param->xdpi == 4800) - { - if (is_scanning_from_tpu (s)) - mp->stripe_shift = 6; - else - mp->stripe_shift = 3; - } - break; - - case CS9000F_PID: /* CanoScan 9000F at 4800 dpi */ - case CS9000F_MII_PID: - if (s->param->xdpi == 4800) - { - if (is_scanning_from_tpu (s)) - mp->stripe_shift = 6; /* should work for CS9000F same as manual */ - else - mp->stripe_shift = 3; - } - if (s->param->xdpi == 9600) - { - if (is_scanning_from_tpu (s)) - { - /* need to double up for TPU */ - mp->stripe_shift = 6; /* for 1st set of 4 images */ - /* unfortunately there are 2 stripe shifts */ - mp->stripe_shift2 = 6; /* for 2nd set of 4 images */ - mp->jumplines = 32; /* try 33 or 34 */ - } - /* there is no 9600dpi support in flatbed mode */ - } - break; - - case MP960_PID: - if (s->param->xdpi == 2400) - { - if (is_scanning_from_tpu (s)) - mp->stripe_shift = 6; - else - mp->stripe_shift = 3; - } - if (s->param->xdpi == 4800) - { - if (is_scanning_from_tpu (s)) - { - mp->stripe_shift = 6; - mp->stripe_shift2 = 6; - } - else - { - mp->stripe_shift = 3; - mp->stripe_shift2 = 3; - } - mp->jumplines = 33; /* better than 32 or 34 : applies to flatbed & TPU */ - } - break; - - case MP810_PID: - if (s->param->xdpi == 2400) - { - if (is_scanning_from_tpu (s)) - mp->stripe_shift = 6; - else - mp->stripe_shift = 3; - } - if (s->param->xdpi == 4800) - { - if (is_scanning_from_tpu (s)) - { - mp->stripe_shift = 6; - mp->stripe_shift2 = 6; - } - else - { - mp->stripe_shift = 3; - mp->stripe_shift2 = 3; - } - mp->jumplines = 33; /* better than 32 or 34 : applies to flatbed & TPU */ - } - break; - - case MP990_PID: - if (s->param->xdpi == 4800) - { - if (is_scanning_from_tpu (s)) - { - mp->stripe_shift = 6; - mp->stripe_shift2 = 6; - } - else - { - mp->stripe_shift = 3; - mp->stripe_shift2 = 3; - } - mp->jumplines = 34; /* better than 32 or 34 : applies to flatbed & TPU */ - } - break; - - default: /* Default, and all CIS devices */ - break; - } - /* If color plane shift (CCD devices), how many pixels shift */ - mp->color_shift = mp->shift[0] = mp->shift[1] = mp->shift[2] = 0; - if (s->param->ydpi > 75) - { - switch (s->cfg->pid) - { - case MP970_PID: - case CS8800F_PID: /* CanoScan 8800F */ - mp->color_shift = s->param->ydpi / 50; - mp->shift[1] = mp->color_shift * get_cis_ccd_line_size (s); - mp->shift[0] = 0; - mp->shift[2] = 2 * mp->shift[1]; - break; - - case CS9000F_PID: /* CanoScan 9000F */ - case CS9000F_MII_PID: - mp->color_shift = s->param->ydpi / 30; - mp->shift[1] = mp->color_shift * get_cis_ccd_line_size (s); - mp->shift[0] = 0; - mp->shift[2] = 2 * mp->shift[1]; - break; - - case MP980_PID: - case MP990_PID: - case MG8200_PID: - if (s->param->ydpi > 150) - { - mp->color_shift = s->param->ydpi / 75; - mp->shift[1] = mp->color_shift * get_cis_ccd_line_size (s); - mp->shift[0] = 0; - mp->shift[2] = 2 * mp->shift[1]; - } - break; - - case MP810_PID: - case MP960_PID: - mp->color_shift = s->param->ydpi / 50; - if (is_scanning_from_tpu (s)) - mp->color_shift = s->param->ydpi / 50; - mp->shift[1] = mp->color_shift * get_cis_ccd_line_size (s); - mp->shift[0] = 2 * mp->shift[1]; - mp->shift[2] = 0; - break; - - default: - break; - } - } - /* special settings for 16 bit flatbed mode @ 75 dpi - * minimum of 150 dpi is used yet */ - /* else if (!is_scanning_from_tpu (s)) - { - switch (s->cfg->pid) - { - case CS9000F_PID: - case CS9000F_MII_PID: - if (is_color_48 (s) || is_gray_16 (s)) - { - mp->color_shift = 5; - mp->shift[1] = 0; - mp->shift[0] = 0; - mp->shift[2] = 0; - } - break; - } - } */ - /* PDBG (pixma_dbg (4, "*calc_shifing***** color_shift = %u, stripe_shift = %u, jumplines = %u *****\n", - mp->color_shift, mp->stripe_shift, mp->jumplines)); */ - return (2 * mp->color_shift + mp->stripe_shift + mp->jumplines); /* note impact of stripe shift2 later if needed! */ -} - -static int send_scan_param (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - uint8_t *data; - unsigned raw_width = calc_raw_width (mp, s->param); - unsigned h, h1, h2, shifting; - - /* TPU scan does not support lineart */ - if (is_scanning_from_tpu (s) && is_lineart (s)) - { - return PIXMA_ENOTSUP; - } - - shifting = calc_shifting (s); - h1 = s->param->h + shifting; /* add lines for color shifting */ - /* PDBG (pixma_dbg (4, "* send_scan_param: height calc (choose lesser) 1 %u \n", h1 )); */ - if (mp->generation >= 4) /* use most global condition */ - { - /* tested for MP960, 9000F */ - /* add lines for color shifting */ - /* otherwise you cannot scan all lines defined for flatbed mode */ - /* this shouldn't affect TPU mode */ - h2 = s->cfg->height * s->param->ydpi / 75 + shifting; - /* PDBG (pixma_dbg (4, "* send_scan_param: height calc (choose lesser) 2 %u = %u max. lines for scanner + %u lines for color shifting \n", h2, s->cfg->height * s->param->ydpi / 75, shifting )); */ - } - else - { - /* TODO: Check for other scanners. */ - h2 = s->cfg->height * s->param->ydpi / 75; /* this might be causing problems for generation 1 devices */ - /* PDBG (pixma_dbg (4, "* send_scan_param: height calc (choose lesser) 2 %u \n", h2 )); */ - } - h = MIN (h1, h2); - - if (mp->generation <= 2) - { - data = pixma_newcmd (&mp->cb, cmd_scan_param, 0x30, 0); - pixma_set_be16 (s->param->xdpi | 0x8000, data + 0x04); - pixma_set_be16 (s->param->ydpi | 0x8000, data + 0x06); - pixma_set_be32 (s->param->x, data + 0x08); - if (mp->generation == 2) - pixma_set_be32 (s->param->x - s->param->xs, data + 0x08); - pixma_set_be32 (s->param->y, data + 0x0c); - pixma_set_be32 (raw_width, data + 0x10); - pixma_set_be32 (h, data + 0x14); - data[0x18] = - ((s->param->channels != 1) || is_gray_all (s) || is_lineart (s)) ? - 0x08 : 0x04; - data[0x19] = ((s->param->software_lineart) ? 8 : s->param->depth) - * ((is_gray_all (s) || is_lineart (s)) ? 3 : s->param->channels); /* bits per pixel */ - data[0x1a] = (is_scanning_from_tpu (s) ? 1 : 0); - data[0x20] = 0xff; - data[0x23] = 0x81; - data[0x26] = 0x02; - data[0x27] = 0x01; - } - else - { - /* scan parameters: - * ================ - * - * byte | # of | mode | value / description - * | bytes | | - * -----+-------+---------+--------------------------- - * 0x00 | 1 | default | 0x01 - * | | adf | 0x02 - * | | tpu | 0x04 - * | | tpuir | cs9000f: 0x03 - * -----+-------+---------+--------------------------- - * 0x01 | 1 | default | 0x00 - * | | tpu | 0x02 - * -----+-------+---------+--------------------------- - * 0x02 | 1 | default | 0x01 - * | | adfdup | 0x03 - * -----+-------+---------+--------------------------- - * 0x03 | 1 | default | 0x00 - * | | adfdup | 0x03 - * -----+-------+---------+--------------------------- - * 0x04 | 1 | all | 0x00 - * -----+-------+---------+--------------------------- - * 0x05 | 1 | all | 0x01: This one also seen at 0. Don't know yet what's used for. - * -----+-------+---------+--------------------------- - * ... | 1 | all | 0x00 - * -----+-------+---------+--------------------------- - * 0x08 | 2 | all | xdpi | 0x8000 - * -----+-------+---------+--------------------------- - * 0x0a | 2 | all | ydpi | 0x8000: Must be the same as xdpi. - * -----+-------+---------+--------------------------- - * 0x0c | 4 | all | x position of start pixel - * -----+-------+---------+--------------------------- - * 0x10 | 4 | all | y position of start pixel - * -----+-------+---------+--------------------------- - * 0x14 | 4 | all | # of pixels in 1 line - * -----+-------+---------+--------------------------- - * 0x18 | 4 | all | # of scan lines - * -----+-------+---------+--------------------------- - * 0x1c | 1 | all | 0x08 - * | | | 0x04 = relict from cis scanners? - * -----+-------+---------+--------------------------- - * 0x1d | 1 | all | # of bits per pixel - * -----+-------+---------+--------------------------- - * 0x1e | 1 | default | 0x00: paper - * | | tpu | 0x01: positives - * | | tpu | 0x02: negatives - * | | tpuir | 0x01: positives - * -----+-------+---------+--------------------------- - * 0x1f | 1 | all | 0x01 - * | | | cs9000f: 0x00: Not sure if that is because of positives. - * -----+-------+---------+--------------------------- - * 0x20 | 1 | all | 0xff - * -----+-------+---------+--------------------------- - * 0x21 | 1 | all | 0x81 - * -----+-------+---------+--------------------------- - * 0x22 | 1 | all | 0x00 - * -----+-------+---------+--------------------------- - * 0x23 | 1 | all | 0x02 - * -----+-------+---------+--------------------------- - * 0x24 | 1 | all | 0x01 - * -----+-------+---------+--------------------------- - * 0x25 | 1 | default | 0x00; cs8800f: 0x01 - * | | tpu | 0x00; cs9000f, mg8200, mp990: 0x01 - * | | tpuir | cs9000f: 0x00 - * -----+-------+---------+--------------------------- - * ... | 1 | all | 0x00 - * -----+-------+---------+--------------------------- - * 0x30 | 1 | all | 0x01 - * - */ - - data = pixma_newcmd (&mp->cb, cmd_scan_param_3, 0x38, 0); - data[0x00] = is_scanning_from_adf (s) ? 0x02 : 0x01; - data[0x01] = 0x01; - if (is_scanning_from_tpu (s)) - { - data[0x00] = is_tpuir (s) ? 0x03 : 0x04; - data[0x01] = 0x02; - data[0x1e] = 0x02; /* NB: CanoScan 8800F: 0x02->negatives, 0x01->positives, paper->0x00 */ - } - data[0x02] = 0x01; - if (is_scanning_from_adfdup (s)) - { - data[0x02] = 0x03; - data[0x03] = 0x03; - } - if (s->cfg->pid != MG8200_PID) - data[0x05] = 0x01; /* This one also seen at 0. Don't know yet what's used for */ - /* the scanner controls the scan */ - /* no software control needed */ - pixma_set_be16 (s->param->xdpi | 0x8000, data + 0x08); - pixma_set_be16 (s->param->ydpi | 0x8000, data + 0x0a); - /*PDBG (pixma_dbg (4, "*send_scan_param***** Setting: xdpi=%hi ydpi=%hi x=%u y=%u w=%u h=%u ***** \n", - s->param->xdpi,s->param->ydpi,(s->param->x)-(s->param->xs),s->param->y,raw_width,h));*/ - pixma_set_be32 (s->param->x - s->param->xs, data + 0x0c); - pixma_set_be32 (s->param->y, data + 0x10); - pixma_set_be32 (raw_width, data + 0x14); - pixma_set_be32 (h, data + 0x18); - data[0x1c] = ((s->param->channels != 1) || is_tpuir (s) || is_gray_all (s) || is_lineart (s)) ? 0x08 : 0x04; - -#ifdef DEBUG_TPU_48 - data[0x1d] = 24; -#else - data[0x1d] = (is_scanning_from_tpu (s)) ? 48 - : (((s->param->software_lineart) ? 8 : s->param->depth) - * ((is_tpuir (s) || is_gray_all (s) || is_lineart (s)) ? 3 : s->param->channels)); /* bits per pixel */ -#endif - - data[0x1f] = 0x01; /* for 9000F this appears to be 0x00, not sure if that is because of positives */ - - if (s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID || s->cfg->pid == MG8200_PID) - { - data[0x1f] = 0x00; - } - - data[0x20] = 0xff; - data[0x21] = 0x81; - data[0x23] = 0x02; - data[0x24] = 0x01; - - /* MG8200 & MP990 addition */ - if (s->cfg->pid == MG8200_PID || s->cfg->pid == MP990_PID) - { - if (is_scanning_from_tpu (s)) - { - data[0x25] = 0x01; - } - } - - /* CS8800F & CS9000F addition */ - if (s->cfg->pid == CS8800F_PID || s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) - { - if (is_scanning_from_tpu (s)) - { /* TPU */ - /* 0x02->negatives, 0x01->positives, paper->0x00 - * no paper in TPU mode */ - if (s->param->mode == PIXMA_SCAN_MODE_NEGATIVE_COLOR - || s->param->mode == PIXMA_SCAN_MODE_NEGATIVE_GRAY) - { - PDBG( - pixma_dbg (4, "*send_scan_param***** TPU scan negatives *****\n")); - data[0x1e] = 0x02; - } - else - { - PDBG( - pixma_dbg (4, "*send_scan_param***** TPU scan positives *****\n")); - data[0x1e] = 0x01; - } - /* CS8800F: 0x00 for TPU color management */ - if (s->cfg->pid == CS8800F_PID) - data[0x25] = 0x00; - /* CS9000F: 0x01 for TPU */ - if (s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) - data[0x25] = 0x01; - if (s->param->mode == PIXMA_SCAN_MODE_TPUIR) - data[0x25] = 0x00; - } - else - { /* flatbed and ADF */ - /* paper->0x00 */ - data[0x1e] = 0x00; - /* CS8800F: 0x01 normally */ - if (s->cfg->pid == CS8800F_PID) - data[0x25] = 0x01; - /* CS9000F: 0x00 normally */ - if (s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) - data[0x25] = 0x00; - } - } - - data[0x30] = 0x01; - } - return pixma_exec (s, &mp->cb); -} - -static int query_status_3 (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - uint8_t *data; - int error, status_len; - - status_len = 8; - data = pixma_newcmd (&mp->cb, cmd_status_3, 0, status_len); - RET_IF_ERR(pixma_exec (s, &mp->cb)); - memcpy (mp->current_status, data, status_len); - return error; -} - -static int query_status (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - uint8_t *data; - int error, status_len; - - status_len = (mp->generation == 1) ? 12 : 16; - data = pixma_newcmd (&mp->cb, cmd_status, 0, status_len); - RET_IF_ERR(pixma_exec (s, &mp->cb)); - memcpy (mp->current_status, data, status_len); - PDBG( - pixma_dbg (3, "Current status: paper=%u cal=%u lamp=%u busy=%u\n", data[1], data[8], data[7], data[9])); - return error; -} - -#if 0 -static int send_time (pixma_t * s) -{ - /* Why does a scanner need a time? */ - time_t now; - struct tm *t; - uint8_t *data; - mp810_t *mp = (mp810_t *) s->subdriver; - - data = pixma_newcmd (&mp->cb, cmd_time, 20, 0); - pixma_get_time (&now, NULL); - t = localtime (&now); - snprintf ((char *) data, 16, "%02d/%02d/%02d %02d:%02d", t->tm_year % 100, - t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min); - PDBG(pixma_dbg (3, "Sending time: '%s'\n", (char *) data)); - return pixma_exec (s, &mp->cb); -} -#endif - -/* TODO: Simplify this function. Read the whole data packet in one shot. */ -static int read_image_block (pixma_t * s, uint8_t * header, uint8_t * data) -{ - uint8_t cmd[16]; - mp810_t *mp = (mp810_t *) s->subdriver; - const int hlen = 8 + 8; - int error, datalen; - - memset (cmd, 0, sizeof(cmd)); - /* PDBG (pixma_dbg (4, "* read_image_block: last_block\n", mp->last_block)); */ - pixma_set_be16 (cmd_read_image, cmd); - if ((mp->last_block & 0x20) == 0) - pixma_set_be32 ((IMAGE_BLOCK_SIZE / 65536) * 65536 + 8, cmd + 0xc); - else - pixma_set_be32 (32 + 8, cmd + 0xc); - - mp->state = state_transfering; - mp->cb.reslen = pixma_cmd_transaction (s, cmd, sizeof(cmd), mp->cb.buf, 512); /* read 1st 512 bytes of image block */ - datalen = mp->cb.reslen; - if (datalen < 0) - return datalen; - - memcpy (header, mp->cb.buf, hlen); - /* PDBG (pixma_dbg (4, "* read_image_block: datalen %i\n", datalen)); */ - /* PDBG (pixma_dbg (4, "* read_image_block: hlen %i\n", hlen)); */ - if (datalen >= hlen) - { - datalen -= hlen; - memcpy (data, mp->cb.buf + hlen, datalen); - data += datalen; - if (mp->cb.reslen == 512) - { /* read the rest of the image block */ - error = pixma_read (s->io, data, IMAGE_BLOCK_SIZE - 512 + hlen); - RET_IF_ERR(error); - datalen += error; - } - } - - mp->state = state_scanning; - mp->cb.expected_reslen = 0; - RET_IF_ERR(pixma_check_result (&mp->cb)); - if (mp->cb.reslen < hlen) - return PIXMA_EPROTO; - return datalen; -} - -static int read_error_info (pixma_t * s, void *buf, unsigned size) -{ - unsigned len = 16; - mp810_t *mp = (mp810_t *) s->subdriver; - uint8_t *data; - int error; - - data = pixma_newcmd (&mp->cb, cmd_error_info, 0, len); - RET_IF_ERR(pixma_exec (s, &mp->cb)); - if (buf && len < size) - { - size = len; - /* NOTE: I've absolutely no idea what the returned data mean. */ - memcpy (buf, data, size); - error = len; - } - return error; -} - -/* - handle_interrupt() waits until it receives an interrupt packet or times out. - It calls send_time() and query_status() if necessary. Therefore, make sure - that handle_interrupt() is only called from a safe context for send_time() - and query_status(). - - Returns: - 0 timed out - 1 an interrupt packet received - PIXMA_ECANCELED interrupted by signal - <0 error - */ -static int handle_interrupt (pixma_t * s, int timeout) -{ - uint8_t buf[64]; /* check max. packet size with 'lsusb -v' for "EP 9 IN" */ - int len; - - len = pixma_wait_interrupt (s->io, buf, sizeof(buf), timeout); - if (len == PIXMA_ETIMEDOUT) - return 0; - if (len < 0) - return len; - if (len%16) /* len must be a multiple of 16 bytes */ - { - PDBG(pixma_dbg (1, "WARNING:unexpected interrupt packet length %d\n", len)); - return PIXMA_EPROTO; - } - - /* s->event = 0x0brroott - * b: button - * oo: original - * tt: target - * rr: scan resolution - * poll event with 'scanimage -A' */ - if (s->cfg->pid == MG8200_PID) - /* button no. in buf[7] - * size in buf[10] 01=A4; 02=Letter; 08=10x15; 09=13x18; 0b=auto - * format in buf[11] 01=JPEG; 02=TIFF; 03=PDF; 04=Kompakt-PDF - * dpi in buf[12] 01=75; 02=150; 03=300; 04=600 - * target = format; original = size; scan-resolution = dpi */ - { - if (buf[7] & 1) - s->events = PIXMA_EV_BUTTON1 | buf[11] | buf[10]<<8 | buf[12]<<16; /* color scan */ - if (buf[7] & 2) - s->events = PIXMA_EV_BUTTON2 | buf[11] | buf[10]<<8 | buf[12]<<16; /* b/w scan */ - } - else if (s->cfg->pid == CS8800F_PID - || s->cfg->pid == CS9000F_PID - || s->cfg->pid == CS9000F_MII_PID) - /* button no. in buf[1] - * target = button no. - * "Finish PDF" is Button-2, all others are Button-1 */ - { - if ((s->cfg->pid == CS8800F_PID && buf[1] == 0x70) - || (s->cfg->pid != CS8800F_PID && buf[1] == 0x50)) - s->events = PIXMA_EV_BUTTON2 | buf[1] >> 4; /* button 2 = cancel / end scan */ - else - s->events = PIXMA_EV_BUTTON1 | buf[1] >> 4; /* button 1 = start scan */ - } - else - /* button no. in buf[0] - * original in buf[0] - * target in buf[1] */ - { - /* More than one event can be reported at the same time. */ - if (buf[3] & 1) - /* FIXME: This function makes trouble with a lot of scanners - send_time (s); - */ - PDBG (pixma_dbg (1, "WARNING:send_time() disabled!\n")); - if (buf[9] & 2) - query_status (s); - - if (buf[0] & 2) - s->events = PIXMA_EV_BUTTON2 | buf[1] | ((buf[0] & 0xf0) << 4); /* b/w scan */ - if (buf[0] & 1) - s->events = PIXMA_EV_BUTTON1 | buf[1] | ((buf[0] & 0xf0) << 4); /* color scan */ - } - return 1; -} - -static int init_ccd_lamp_3 (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - uint8_t *data; - int error, status_len, tmo; - - status_len = 8; - RET_IF_ERR(query_status (s)); - RET_IF_ERR(query_status (s)); - RET_IF_ERR(send_cmd_start_calibrate_ccd_3 (s)); - RET_IF_ERR(query_status (s)); - tmo = 20; /* like Windows driver, CCD lamp adjustment */ - while (--tmo >= 0) - { - data = pixma_newcmd (&mp->cb, cmd_end_calibrate_ccd_3, 0, status_len); - RET_IF_ERR(pixma_exec (s, &mp->cb)); - memcpy (mp->current_status, data, status_len); - PDBG(pixma_dbg (3, "Lamp status: %u , timeout in: %u\n", data[0], tmo)); - if (mp->current_status[0] == 3 || !is_scanning_from_tpu (s)) - break; - WAIT_INTERRUPT(1000); - } - return error; -} - -static int wait_until_ready (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - int error, tmo = 60; - - RET_IF_ERR((mp->generation >= 3) ? query_status_3 (s) : query_status (s)); - while (!is_calibrated (s)) - { - WAIT_INTERRUPT(1000); - if (mp->generation >= 3) - RET_IF_ERR(query_status_3 (s)); - if (--tmo == 0) - { - PDBG(pixma_dbg (1, "WARNING: Timed out in wait_until_ready()\n")); - PDBG(query_status (s)); - return PIXMA_ETIMEDOUT; - } - } - return 0; -} - -/* the RGB images are shifted by # of lines */ -/* the R image is shifted by colshift[0] */ -/* the G image is shifted by colshift[1] */ -/* the B image is shifted by colshift[2] */ -/* usually one of the RGB images must not be shifted */ -/* which one depends on the scanner */ -/* some scanners have an additional stripe shift */ -/* e.g. colshift[0]=0, colshift[1]=1, colshift[2]=2 */ -/* R image is OK: RGBRGBRGB... */ -/* ^^ ^^ ^^ */ -/* || || || */ -/* shift G image: RG|RG|RG|... */ -/* | | | */ -/* shift B image: RGBRGBRGB... */ -/* this doesn't affect the G and B images */ -/* G image will become the R image in the next run */ -/* B image will become the G image in the next run */ -/* the next line will become the B image in the next run */ -static uint8_t * -shift_colors (uint8_t * dptr, uint8_t * sptr, unsigned w, unsigned dpi, - unsigned pid, unsigned c, int * colshft, unsigned strshft) -{ - unsigned i, sr, sg, sb, st; - UNUSED(dpi); - UNUSED(pid); - sr = colshft[0]; - sg = colshft[1]; - sb = colshft[2]; - - /* PDBG (pixma_dbg (4, "*shift_colors***** c=%u, w=%i, sr=%u, sg=%u, sb=%u, strshft=%u ***** \n", - c, w, sr, sg, sb, strshft)); */ - - for (i = 0; i < w; i++) - { - /* stripes shift for MP970 at 4800 dpi, MP810 at 2400 dpi */ - st = (i % 2 == 0) ? strshft : 0; - - *sptr++ = *(dptr++ + sr + st); - if (c == 6) - *sptr++ = *(dptr++ + sr + st); - *sptr++ = *(dptr++ + sg + st); - if (c == 6) - *sptr++ = *(dptr++ + sg + st); - *sptr++ = *(dptr++ + sb + st); - if (c == 6) - *sptr++ = *(dptr++ + sb + st); - } - - return dptr; -} - -static uint8_t * -shift_colorsCS9000 (uint8_t * dptr, uint8_t * sptr, unsigned w, unsigned dpi, - unsigned pid, unsigned c, int * colshft, unsigned strshft, - unsigned strshft2, unsigned jump) - -{ - unsigned i, sr, sg, sb, st, st2; - UNUSED(dpi); - UNUSED(pid); - sr = colshft[0]; - sg = colshft[1]; - sb = colshft[2]; - - for (i = 0; i < w; i++) - { - if (i < (w / 2)) - { - /* stripes shift for 1st 4 images for Canoscan 9000F at 9600dpi */ - st = (i % 2 == 0) ? strshft : 0; - *sptr++ = *(dptr++ + sr + st); - if (c == 6) - *sptr++ = *(dptr++ + sr + st); - *sptr++ = *(dptr++ + sg + st); - if (c == 6) - *sptr++ = *(dptr++ + sg + st); - *sptr++ = *(dptr++ + sb + st); - if (c == 6) - *sptr++ = *(dptr++ + sb + st); - } - if (i >= (w / 2)) - { - /* stripes shift for 2nd 4 images for Canoscan 9000F at 9600dpi */ - st2 = (i % 2 == 0) ? strshft2 : 0; - *sptr++ = *(dptr++ + sr + jump + st2); - if (c == 6) - *sptr++ = *(dptr++ + sr + jump + st2); - *sptr++ = *(dptr++ + sg + jump + st2); - if (c == 6) - *sptr++ = *(dptr++ + sg + jump + st2); - *sptr++ = *(dptr++ + sb + jump + st2); - if (c == 6) - *sptr++ = *(dptr++ + sb + jump + st2); - } - } - return dptr; -} - -static uint8_t * -shift_colorsCS9000_4800 (uint8_t * dptr, uint8_t * sptr, unsigned w, - unsigned dpi, unsigned pid, unsigned c, int * colshft, - unsigned strshft, unsigned strshft2, unsigned jump) - -{ - unsigned i, sr, sg, sb, st2; - UNUSED(dpi); - UNUSED(pid); - UNUSED(strshft); - sr = colshft[0]; - sg = colshft[1]; - sb = colshft[2]; - - for (i = 0; i < w; i++) - { - /* stripes shift for 2nd 4 images - * for Canoscan 9000F with 16 bit flatbed scans at 4800dpi */ - st2 = (i % 2 == 0) ? strshft2 : 0; - *sptr++ = *(dptr++ + sr + jump + st2); - if (c == 6) - *sptr++ = *(dptr++ + sr + jump + st2); - *sptr++ = *(dptr++ + sg + jump + st2); - if (c == 6) - *sptr++ = *(dptr++ + sg + jump + st2); - *sptr++ = *(dptr++ + sb + jump + st2); - if (c == 6) - *sptr++ = *(dptr++ + sb + jump + st2); - } - return dptr; -} - -/* under some conditions some scanners have sub images in one line */ -/* e.g. doubled image, line size = 8 */ -/* line before reordering: px1 px3 px5 px7 px2 px4 px6 px8 */ -/* line after reordering: px1 px2 px3 px4 px5 px6 px7 px8 */ -static void reorder_pixels (uint8_t * linebuf, uint8_t * sptr, unsigned c, - unsigned n, unsigned m, unsigned w, - unsigned line_size) -{ - unsigned i; - - for (i = 0; i < w; i++) - { /* process complete line */ - memcpy (linebuf + c * (n * (i % m) + i / m), sptr + c * i, c); - } - memcpy (sptr, linebuf, line_size); -} - -/* special reorder matrix for mp960 */ -static void mp960_reorder_pixels (uint8_t * linebuf, uint8_t * sptr, unsigned c, - unsigned n, unsigned m, unsigned w, - unsigned line_size) -{ - unsigned i, i2; - - /* try and copy 2 px at once */ - for (i = 0; i < w; i++) - { /* process complete line */ - i2 = i % 2; - if (i < w / 2) - { - if (i2 == 0) - memcpy (linebuf + c * (n * ((i) % m) + ((i) / m)), sptr + c * i, c); - else - memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m)), sptr + c * i, c); - } - else - { - if (i2 == 0) - memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 1), sptr + c * i, c); - else - memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 1), sptr + c * i, c); - } - } - - memcpy (sptr, linebuf, line_size); -} - -/* special reorder matrix for mp970 */ -static void mp970_reorder_pixels (uint8_t * linebuf, uint8_t * sptr, unsigned c, - unsigned w, unsigned line_size) -{ - unsigned i, i8; - - for (i = 0; i < w; i++) - { /* process complete line */ - i8 = i % 8; - memcpy (linebuf + c * (i + i8 - ((i8 > 3) ? 7 : 0)), sptr + c * i, c); - } - memcpy (sptr, linebuf, line_size); -} - -/* special reorder matrix for CS9000F */ -static void cs9000f_initial_reorder_pixels (uint8_t * linebuf, uint8_t * sptr, - unsigned c, unsigned n, unsigned m, - unsigned w, unsigned line_size) -{ - unsigned i, i2; - - /* try and copy 2 px at once */ - for (i = 0; i < w; i++) - { /* process complete line */ - i2 = i % 2; - if (i < w / 8) - { - if (i2 == 0) - memcpy (linebuf + c * (n * ((i) % m) + ((i) / m)), sptr + c * i, c); - else - memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m)), sptr + c * i, c); - } - else if (i >= w / 8 && i < w / 4) - { - if (i2 == 0) - memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 1), sptr + c * i, c); - else - memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 1), sptr + c * i, c); - } - else if (i >= w / 4 && i < 3 * w / 8) - { - if (i2 == 0) - memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 2), sptr + c * i, c); - else - memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 2), sptr + c * i, c); - } - else if (i >= 3 * w / 8 && i < w / 2) - { - if (i2 == 0) - memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 3), sptr + c * i, c); - else - memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 3), sptr + c * i, c); - } - else if (i >= w / 2 && i < 5 * w / 8) - { - if (i2 == 0) - memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 4), sptr + c * i, c); - else - memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 4), sptr + c * i, c); - } - else if (i >= 5 * w / 8 && i < 3 * w / 4) - { - if (i2 == 0) - memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 5), sptr + c * i, c); - else - memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 5), sptr + c * i, c); - } - else if (i >= 3 * w / 4 && i < 7 * w / 8) - { - if (i2 == 0) - memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 6), sptr + c * i, c); - else - memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 6), sptr + c * i, c); - } - else - { - if (i2 == 0) - memcpy (linebuf + c * (n * ((i) % m) + ((i) / m) + 7), sptr + c * i, c); - else - memcpy (linebuf + c * (n * ((i - 1) % m) + 1 + ((i) / m) + 7), sptr + c * i, c); - } - } - - memcpy (sptr, linebuf, line_size); -} - -/* CS9000F 9600dpi reorder: actually 4800dpi since each pixel is doubled */ -/* need to rearrange each sequence of 16 pairs of pixels as follows: */ -/* start px : 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 */ -/* before : p1a p1b p1c p1d p2a p2b p2c p2d p3a p3b p3c p3d p4a p4b p4c p4d */ -/* after : p1a p3a p1b p3b p1c p3c p1d p3d p2a p4a p2b p4b p2c p4c p2d p4d */ -/* start px : 0 16 2 18 4 20 6 22 8 24 10 26 12 28 14 30 */ -/* change : * * * * * * * * * * * * * * */ -/* no change: * * */ -/* so the 1st and the 3rd set are interleaved, followed by the 2nd and 4th sets interleaved */ -static void cs9000f_second_reorder_pixels (uint8_t * linebuf, uint8_t * sptr, - unsigned c, unsigned w, - unsigned line_size) -{ - unsigned i, i8; - static const int shifts[8] = - { 2, 4, 6, 8, -8, -6, -4, -2 }; - - for (i = 0; i < w; i += 2) - { /* process complete line */ - i8 = (i >> 1) & 0x7; - /* Copy 2 pixels at once */ - memcpy (linebuf + c * (i + shifts[i8]), sptr + c * i, c * 2); - } - - memcpy (sptr, linebuf, line_size); -} - -#ifndef TPU_48 -static unsigned -pack_48_24_bpc (uint8_t * sptr, unsigned n) -{ - unsigned i; - uint8_t *cptr, lsb; - static uint8_t offset = 0; - - cptr = sptr; - if (n % 2 != 0) - PDBG (pixma_dbg (3, "WARNING: misaligned image.\n")); - for (i = 0; i < n; i += 2) - { - /* offset = 1 + (offset % 3); */ - lsb = *sptr++; - *cptr++ = ((*sptr++) << offset) | lsb >> (8 - offset); - } - return (n / 2); -} -#endif - -/* This function deals both with PIXMA CCD sensors producing shifted color - * planes images, Grayscale CCD scan and Generation >= 3 high dpi images. - * Each complete line in mp->imgbuf is processed for shifting CCD sensor - * color planes, reordering pixels above 600 dpi for Generation >= 3, and - * converting to Grayscale for CCD sensors. */ -static unsigned post_process_image_data (pixma_t * s, pixma_imagebuf_t * ib) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - unsigned c, lines, line_size, n, m, cw, cx, reducelines; - uint8_t *sptr, *dptr, *gptr, *cptr; - unsigned /*color_shift, stripe_shift, stripe_shift2,*/ jumplines /*, height*/; - int test; - - /* For testers: */ - /* set this to 1 in order to get unprocessed images next to one another at 9600dpi */ - /* other resolutions should not be affected */ - /* set this to 2 if you want to see the same with jumplines=0 */ - test = 0; - jumplines = 0; - - c = ((is_tpuir (s) || is_gray_all (s) || is_lineart (s)) ? 3 : s->param->channels) - * ((s->param->software_lineart) ? 8 : s->param->depth) / 8; - cw = c * s->param->w; - cx = c * s->param->xs; - - /* PDBG (pixma_dbg (4, "*post_process_image_data***** c = %u, cw = %u, cx = %u *****\n", c, cw, cx)); */ - - if (mp->generation >= 3) - n = s->param->xdpi / 600; - else - /* FIXME: maybe need different values for CIS and CCD sensors */ - n = s->param->xdpi / 2400; - - /* Some exceptions to global rules here */ - if (s->cfg->pid == MP970_PID || s->cfg->pid == MP990_PID || s->cfg->pid == MG8200_PID - || s->cfg->pid == CS8800F_PID || s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) - n = MIN (n, 4); - - /* exception for 9600dpi on Canoscan 9000F */ - if ((s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) && (s->param->xdpi == 9600)) - { - n = 8; - if (test > 0) - n = 1; /* test if 8 images are next to one another */ - } - - /* test if 2 images are next to one another */ - if ((s->cfg->pid == MP960_PID) && (s->param->xdpi == 4800) && (test > 0)) - { - n = 1; - } - - m = (n > 0) ? s->param->wx / n : 1; - - sptr = dptr = gptr = cptr = mp->imgbuf; - line_size = get_cis_ccd_line_size (s); - /* PDBG (pixma_dbg (4, "*post_process_image_data***** ----- Set n=%u, m=%u, line_size=%u ----- ***** \n", n, m, line_size)); */ - /* PDBG (pixma_dbg (4, "*post_process_image_data***** ----- spr=dpr=%u, linebuf=%u ----- ***** \n", sptr, mp->linebuf)); */ - - lines = (mp->data_left_ofs - mp->imgbuf) / line_size; - /* PDBG (pixma_dbg (4, "*post_process_image_data***** lines = %i > 2 * mp->color_shift + mp->stripe_shift = %i ***** \n", - lines, 2 * mp->color_shift + mp->stripe_shift)); */ - /* PDBG (pixma_dbg (4, "*post_process_image_data***** mp->color_shift = %u, mp->stripe_shift = %u, , mp->stripe_shift2 = %u ***** \n", - mp->color_shift, mp->stripe_shift, mp->stripe_shift2)); */ - - /*color_shift = mp->color_shift;*/ - /*stripe_shift = mp->stripe_shift;*/ - /*stripe_shift2 = mp->stripe_shift2;*/ - jumplines = mp->jumplines; - - /* height not needed here! */ - /* removed to avoid confusion */ - /* height = MIN (s->param->h + calc_shifting (s), - s->cfg->height * s->param->ydpi / 75); */ - - /* have to test if rounding down is OK or not -- currently 0.5 lines is rounded down */ - /* note stripe shifts doubled already in definitions */ - if ((s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) && (s->param->xdpi == 9600) && (test > 0)) - { - /* using test==2 you can check in GIMP the required offset, and - use the below line (uncommented) and replace XXX with that - number, and then compile again with test set to 1. */ - - jumplines = 32; - if (test == 2) - jumplines = 0; - } - - /* mp960 test */ - if ((s->cfg->pid == MP960_PID) && (s->param->xdpi == 4800) && (test > 0)) - { - jumplines = 32; - if (test == 2) - jumplines = 0; - } - - reducelines = ((2 * mp->color_shift + mp->stripe_shift) + jumplines); - /* PDBG (pixma_dbg (4, "*post_process_image_data: lines %u, reducelines %u \n", lines, reducelines)); */ - if (lines > reducelines) - { /* (line - reducelines) of image lines can be converted */ - unsigned i; - - lines -= reducelines; - - for (i = 0; i < lines; i++, sptr += line_size) - { /* convert only full image lines */ - /* Color plane and stripes shift needed by e.g. CCD */ - /* PDBG (pixma_dbg (4, "*post_process_image_data***** Processing with c=%u, n=%u, m=%u, w=%i, line_size=%u ***** \n", - c, n, m, s->param->wx, line_size)); */ - if (c >= 3) - { - if (((s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) && (s->param->xdpi == 9600)) - || ((s->cfg->pid == MP960_PID) && (s->param->xdpi == 4800)) - || ((s->cfg->pid == MP810_PID) && (s->param->xdpi == 4800))) - { - dptr = shift_colorsCS9000 (dptr, sptr, s->param->wx, s->param->xdpi, - s->cfg->pid, c, mp->shift, - mp->stripe_shift, mp->stripe_shift2, - jumplines * line_size); - } - - else if ((s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) /* 9000F: 16 bit flatbed scan at 4800dpi */ - && ((s->param->mode == PIXMA_SCAN_MODE_COLOR_48) - || (s->param->mode == PIXMA_SCAN_MODE_GRAY_16)) - && (s->param->xdpi == 4800) - && (s->param->source == PIXMA_SOURCE_FLATBED)) - dptr = shift_colorsCS9000_4800 (dptr, sptr, s->param->wx, - s->param->xdpi, s->cfg->pid, c, - mp->shift, mp->stripe_shift, - mp->stripe_shift2, - jumplines * line_size); - - else - /* all except 9000F at 9600dpi */ - dptr = shift_colors (dptr, sptr, s->param->wx, s->param->xdpi, - s->cfg->pid, c, mp->shift, mp->stripe_shift); - } - - /*PDBG (pixma_dbg (4, "*post_process_image_data***** test = %i *****\n", test)); */ - - /*--comment out all between this line and the one below for 9000F tests at 9600dpi or MP960 at 4800dpi ------*/ - /* if ( 0 ) */ - if ((((s->cfg->pid != CS9000F_PID && s->cfg->pid != CS9000F_MII_PID) || (s->param->xdpi < 9600)) - && ((s->cfg->pid != MP960_PID) || (s->param->xdpi < 4800)) - && ((s->cfg->pid != MP810_PID) || (s->param->xdpi < 4800))) - || (test == 0)) - { - /* PDBG (pixma_dbg (4, "*post_process_image_data***** MUST GET HERE WHEN TEST == 0 *****\n")); */ - - if (!((s->cfg->pid == MP810_PID) && (s->param->xdpi == 4800)) - && !((s->cfg->pid == MP960_PID) && (s->param->xdpi == 4800)) - && !((s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) && (s->param->xdpi == 9600))) - { /* for both flatbed & TPU */ - /* PDBG (pixma_dbg (4, "*post_process_image_data***** reordering pixels normal n = %i *****\n", n)); */ - reorder_pixels (mp->linebuf, sptr, c, n, m, s->param->wx, line_size); - } - - if ((s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) && (s->param->xdpi == 9600)) - { - /* PDBG (pixma_dbg (4, "*post_process_image_data***** cs900f_initial_reorder_pixels n = %i *****\n", n)); */ - /* this combines pixels from 8 images 2px at a time from left to right: 1122334455667788... */ - cs9000f_initial_reorder_pixels (mp->linebuf, sptr, c, n, m, - s->param->wx, line_size); - /* final interleaving */ - cs9000f_second_reorder_pixels (mp->linebuf, sptr, c, s->param->wx, - line_size); - } - - /* comment: special image format for MP960 in flatbed mode - at 4800dpi. It is actually 2400dpi, with each pixel - doubled. The TPU mode has proper pixel ordering */ - if ((((s->cfg->pid == MP960_PID) || (s->cfg->pid == MP810_PID)) && (s->param->xdpi == 4800)) - && (n > 0)) - { - /* for both flatbed & TPU */ - /* PDBG (pixma_dbg (4, "*post_process_image_data***** flatbed mp960_reordering pixels n = %i *****\n", n)); */ - mp960_reorder_pixels (mp->linebuf, sptr, c, n, m, s->param->wx, - line_size); - } - - /* comment: MP970, CS8800F, CS9000F specific reordering for 4800 dpi */ - if ((s->cfg->pid == MP970_PID || s->cfg->pid == CS8800F_PID - || s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID - || s->cfg->pid == MP990_PID) && (s->param->xdpi == 4800)) - { - /*PDBG (pixma_dbg (4, "*post_process_image_data***** mp970_reordering pixels n = %i *****\n", n)); */ - mp970_reorder_pixels (mp->linebuf, sptr, c, s->param->wx, line_size); - } - - } - /*-------------------------------------------------------*/ - - /* PDBG (pixma_dbg (4, "*post_process_image_data: sptr=%u, dptr=%u \n", sptr, dptr)); */ - - /* Crop line to selected borders */ - memmove (cptr, sptr + cx, cw); - /* PDBG (pixma_dbg (4, "*post_process_image_data***** crop line: cx=%u, cw=%u ***** \n", cx, cw)); */ - - /* Color to Lineart convert for CCD sensor */ - if (is_lineart (s)) - cptr = gptr = pixma_binarize_line (s->param, gptr, cptr, s->param->w, c); -#ifndef TPUIR_USE_RGB - /* save IR only for CCD sensor */ - else if (is_tpuir (s)) - cptr = gptr = pixma_r_to_ir (gptr, cptr, s->param->w, c); - /* Color to Grayscale convert for CCD sensor */ - else if (is_gray_all (s)) -#else - /* IR *and* Color to Grayscale convert for CCD sensor */ - else if (is_tpuir (s) || is_gray_all (s)) -#endif - cptr = gptr = pixma_rgb_to_gray (gptr, cptr, s->param->w, c); - else - cptr += cw; - } - /* PDBG (pixma_dbg (4, "*post_process_image_data: sptr=%u, dptr=%u \n", sptr, dptr)); */ - } - ib->rptr = mp->imgbuf; - ib->rend = cptr; - return mp->data_left_ofs - sptr; /* # of non processed bytes */ - /* contains shift color data for new lines */ - /* and already received data for the next line */ -} - -static int mp810_open (pixma_t * s) -{ - mp810_t *mp; - uint8_t *buf; - - mp = (mp810_t *) calloc (1, sizeof(*mp)); - if (!mp) - return PIXMA_ENOMEM; - - buf = (uint8_t *) malloc (CMDBUF_SIZE + IMAGE_BLOCK_SIZE); - if (!buf) - { - free (mp); - return PIXMA_ENOMEM; - } - - s->subdriver = mp; - mp->state = state_idle; - - mp->cb.buf = buf; - mp->cb.size = CMDBUF_SIZE; - mp->cb.res_header_len = 8; - mp->cb.cmd_header_len = 16; - mp->cb.cmd_len_field_ofs = 14; - - mp->imgbuf = buf + CMDBUF_SIZE; - - /* General rules for setting Pixma protocol generation # */ - mp->generation = (s->cfg->pid >= MP810_PID) ? 2 : 1; /* no generation 1 devices anyway, but keep similar to pixma_mp150.c file */ - - if (s->cfg->pid >= MP970_PID) - mp->generation = 3; - - if (s->cfg->pid >= MP990_PID) - mp->generation = 4; - - /* And exceptions to be added here */ - if (s->cfg->pid == CS8800F_PID) - mp->generation = 3; - - if (s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID) - mp->generation = 4; - - /* TPU info data setup */ - mp->tpu_datalen = 0; - - if (mp->generation < 4) - { - /* Canoscan 8800F ignores commands if not initialized */ - if (s->cfg->pid == CS8800F_PID) - abort_session (s); - else - { - query_status (s); - handle_interrupt (s, 200); - if (mp->generation == 3 && has_ccd_sensor (s)) - send_cmd_start_calibrate_ccd_3 (s); - } - } - return 0; -} - -static void mp810_close (pixma_t * s) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - - mp810_finish_scan (s); - free (mp->cb.buf); - free (mp); - s->subdriver = NULL; -} - -static int mp810_check_param (pixma_t * s, pixma_scan_param_t * sp) -{ - mp810_t *mp = (mp810_t *) s->subdriver; - unsigned w_max; - - /* PDBG (pixma_dbg (4, "*mp810_check_param***** Initially: channels=%u, depth=%u, x=%u, y=%u, w=%u, h=%u, xs=%u, wx=%u *****\n", - sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->h, sp->xs, sp->wx)); */ - - sp->channels = 3; - sp->software_lineart = 0; - switch (sp->mode) - { - /* standard scan modes - * 8 bit per channel in color and grayscale mode - * 16 bit per channel with TPU */ - case PIXMA_SCAN_MODE_GRAY: - case PIXMA_SCAN_MODE_NEGATIVE_GRAY: - case PIXMA_SCAN_MODE_TPUIR: - sp->channels = 1; - /* fall through */ - case PIXMA_SCAN_MODE_COLOR: - case PIXMA_SCAN_MODE_NEGATIVE_COLOR: - sp->depth = 8; -#ifdef TPU_48 -#ifndef DEBUG_TPU_48 - if (sp->source == PIXMA_SOURCE_TPU) -#endif - sp->depth = 16; /* TPU in 16 bits mode */ -#endif - break; - /* extended scan modes for 48 bit flatbed scanners - * 16 bit per channel in color and grayscale mode */ - case PIXMA_SCAN_MODE_GRAY_16: - sp->channels = 1; - sp->depth = 16; - break; - case PIXMA_SCAN_MODE_COLOR_48: - sp->channels = 3; - sp->depth = 16; - break; - /* software lineart - * 1 bit per channel */ - case PIXMA_SCAN_MODE_LINEART: - sp->software_lineart = 1; - sp->channels = 1; - sp->depth = 1; - break; - } - - /* for software lineart w must be a multiple of 8 - * I don't know why is_lineart(s) doesn't work here */ - if (sp->software_lineart == 1 && sp->w % 8) - { - sp->w += 8 - (sp->w % 8); - - /* do not exceed the scanner capability */ - w_max = s->cfg->width * s->cfg->xdpi / 75; - w_max -= w_max % 8; - if (sp->w > w_max) - sp->w = w_max; - } - - if (sp->source == PIXMA_SOURCE_TPU && !sp->tpu_offset_added) - { - unsigned fixed_offset_y; /* TPU offsets for CanoScan 8800F, or other CCD at 300dpi. */ - unsigned max_y; /* max TPU height for CS9000F at 75 dpi */ - - /* CanoScan 8800F and others adding an offset depending on resolution */ - /* CS9000F and others maximum TPU height */ - switch (s->cfg->pid) - { - case CS8800F_PID: - fixed_offset_y = 140; - max_y = MIN (740, s->cfg->height); - break; - case CS9000F_PID: - case CS9000F_MII_PID: - fixed_offset_y = 146; - max_y = MIN (740, s->cfg->height); - break; - default: - fixed_offset_y = 0; - max_y = s->cfg->height; - break; - } - - /* cropping y and h to scanable area */ - max_y *= (sp->ydpi) / 75; - sp->y = MIN(sp->y, max_y); - sp->h = MIN(sp->h, max_y - sp->y); - /* PDBG (pixma_dbg (4, "*mp810_check_param***** Cropping: y=%u, h=%u *****\n", - sp->y, sp->h)); */ - if (!sp->h) - return SANE_STATUS_INVAL; /* no lines */ - - /* Convert the offsets from 300dpi to actual resolution */ - fixed_offset_y = fixed_offset_y * (sp->xdpi) / 300; - - /* In TPU mode, the CS9000F appears to always subtract 146 from the - vertical starting position, but clamps its at 0. Therefore vertical - offsets 0 through 146 (@300 dpi) get all mapped onto the same - physical starting position: line 0. Then, starting from 147, the - offsets get mapped onto successive physical lines: - y line - 0 -> 0 - 1 -> 0 - 2 -> 0 - ... - 146 -> 0 - 147 -> 1 - 148 -> 2 - ... - Since a preview scan is typically made starting from y = 0, but - partial image scans usually start at y >> 147, this results in a - discontinuity in the y to line mapping, resulting in wrong offsets. - To prevent this, we must always add (at least) 146 to the y - offset before it is sent to the scanner. The scanner will then - map y = 0 (146) to the first line, y = 1 (147) to the second line, - and so on. Any distance that is then measured on the preview scan, - can be translated without any discontinuity. - - However, there is one complication: during a preview scan, which - normally covers the whole scan area of the scanner, we should _not_ - add the offset because it will result in a reduced number of lines - being returned (the scan height is clamped in - pixma_check_scan_param()). Since the frontend has no way of telling - that the scan area has been reduced, it would derive an incorrect - effective scan resolution, and any position calculations based on - this would therefore be inaccurate. - - To prevent this, we don't add the offset in case y = 0, which is - typically the case during a preview scan (the scanner effectively - adds the offset for us, see above). In that way we keep the - linearity and we don't affect the scan area during previews. - */ - - if (sp->y > 0) - sp->y += fixed_offset_y; - - /* Prevent repeated corrections as check_param may be called multiple times */ - sp->tpu_offset_added = 1; - } - - if (mp->generation >= 2) - { - /* mod 32 and expansion of the X scan limits */ - /* PDBG (pixma_dbg (4, "*mp810_check_param***** (gen>=2) xs=mod32 ----- Initially: x=%u, y=%u, w=%u, h=%u *****\n", sp->x, sp->y, sp->w, sp->h)); */ - sp->xs = (sp->x) % 32; - } - else - { - sp->xs = 0; - /* PDBG (pixma_dbg (4, "*mp810_check_param***** (else) xs=0 Selected origin, origin shift: %u, %u *****\n", sp->x, sp->xs)); */ - } - sp->wx = calc_raw_width (mp, sp); - sp->line_size = sp->w * sp->channels * (((sp->software_lineart) ? 8 : sp->depth) / 8); /* bytes per line per color after cropping */ - /* PDBG (pixma_dbg (4, "*mp810_check_param***** (else) Final scan width and line-size: %u, %"PRIu64" *****\n", sp->wx, sp->line_size)); */ - - /* highest res is 600, 2400, 4800 or 9600 dpi */ - { - uint8_t k; - - if ((sp->source == PIXMA_SOURCE_ADF || sp->source == PIXMA_SOURCE_ADFDUP) - && mp->generation >= 4) - /* ADF/ADF duplex mode: max scan res is 600 dpi, at least for generation 4 */ - k = sp->xdpi / MIN (sp->xdpi, 600); - else if (sp->source == PIXMA_SOURCE_TPU && sp->mode == PIXMA_SCAN_MODE_TPUIR) - /* TPUIR mode: max scan res is 2400 dpi */ - k = sp->xdpi / MIN (sp->xdpi, 2400); - else if (sp->source == PIXMA_SOURCE_TPU && (s->cfg->pid == CS9000F_PID || s->cfg->pid == CS9000F_MII_PID)) - /* CS9000F in TPU mode */ - k = sp->xdpi / MIN (sp->xdpi, 9600); - else - /* default */ - k = sp->xdpi / MIN (sp->xdpi, 4800); - - sp->x /= k; - sp->xs /= k; - sp->y /= k; - sp->w /= k; - sp->wx /= k; - sp->h /= k; - sp->xdpi /= k; - sp->ydpi = sp->xdpi; - } - - /* lowest res is 75, 150, 300 or 600 dpi */ - { - uint8_t k; - - if (sp->source == PIXMA_SOURCE_TPU && sp->mode == PIXMA_SCAN_MODE_TPUIR) - /* TPUIR mode */ - k = MAX (sp->xdpi, 600) / sp->xdpi; - else if (sp->source == PIXMA_SOURCE_TPU - && ((mp->generation >= 3) || (s->cfg->pid == MP810_PID) || (s->cfg->pid == MP960_PID))) - /* TPU mode for generation 3+ scanners - * MP810, MP960 appear to have a 200dpi mode for low-res scans, not 150 dpi */ - k = MAX (sp->xdpi, 300) / sp->xdpi; - else if (sp->source == PIXMA_SOURCE_TPU - || sp->mode == PIXMA_SCAN_MODE_COLOR_48 || sp->mode == PIXMA_SCAN_MODE_GRAY_16) - /* TPU mode and 16 bit flatbed scans - * TODO: either the frontend (xsane) cannot handle 48 bit flatbed scans @ 75 dpi (prescan) - * or there is a bug in this subdriver */ - k = MAX (sp->xdpi, 150) / sp->xdpi; - else - /* default */ - k = MAX (sp->xdpi, 75) / sp->xdpi; - - sp->x *= k; - sp->xs *= k; - sp->y *= k; - sp->w *= k; - sp->wx *= k; - sp->h *= k; - sp->xdpi *= k; - sp->ydpi = sp->xdpi; - } - - /* PDBG (pixma_dbg (4, "*mp810_check_param***** Finally: channels=%u, depth=%u, x=%u, y=%u, w=%u, h=%u, xs=%u, wx=%u *****\n", - sp->channels, sp->depth, sp->x, sp->y, sp->w, sp->h, sp->xs, sp->wx)); */ - - return 0; -} - -static int mp810_scan (pixma_t * s) -{ - int error = 0, tmo; - mp810_t *mp = (mp810_t *) s->subdriver; - - if (mp->state != state_idle) - return PIXMA_EBUSY; - - /* Generation 4: send XML dialog */ - if (mp->generation == 4 && s->param->adf_pageid == 0) - { - if (!send_xml_dialog (s, XML_START_1)) - return PIXMA_EPROTO; - if (!send_xml_dialog (s, XML_START_2)) - return PIXMA_EPROTO; - } - - /* clear interrupt packets buffer */ - while (handle_interrupt (s, 0) > 0) - { - } - - /* FIXME: Duplex ADF: check paper status only before odd pages (1,3,5,...). */ - if (is_scanning_from_adf (s)) - { - if ((error = query_status (s)) < 0) - return error; - tmo = 10; - while (!has_paper (s) && --tmo >= 0) - { - WAIT_INTERRUPT(1000); - PDBG(pixma_dbg (2, "No paper in ADF. Timed out in %d sec.\n", tmo)); - } - if (!has_paper (s)) - return PIXMA_ENO_PAPER; - } - - if (has_ccd_sensor (s) && (mp->generation <= 2)) - { - error = send_cmd_e920 (s); - switch (error) - { - case PIXMA_ECANCELED: - case PIXMA_EBUSY: - PDBG(pixma_dbg (2, "cmd e920 or d520 returned %s\n", pixma_strerror (error))); - /* fall through */ - case 0: - query_status (s); - break; - default: - PDBG(pixma_dbg (1, "WARNING: cmd e920 or d520 failed %s\n", pixma_strerror (error))); - return error; - } - tmo = 3; /* like Windows driver, CCD calibration ? */ - while (--tmo >= 0) - { - WAIT_INTERRUPT(1000); - PDBG(pixma_dbg (2, "CCD Calibration ends in %d sec.\n", tmo)); - } - /* pixma_sleep(2000000); */ - } - - tmo = 10; - if (s->param->adf_pageid == 0 || mp->generation <= 2) - { - error = start_session (s); - while (error == PIXMA_EBUSY && --tmo >= 0) - { - if (s->cancel) - { - error = PIXMA_ECANCELED; - break; - } - PDBG(pixma_dbg (2, "Scanner is busy. Timed out in %d sec.\n", tmo + 1)); - pixma_sleep (1000000); - error = start_session (s); - } - if (error == PIXMA_EBUSY || error == PIXMA_ETIMEDOUT) - { - /* The scanner maybe hangs. We try to empty output buffer of the - * scanner and issue the cancel command. */ - PDBG(pixma_dbg (2, "Scanner hangs? Sending abort_session command.\n")); - drain_bulk_in (s); - abort_session (s); - pixma_sleep (500000); - error = start_session (s); - } - if ((error >= 0) || (mp->generation >= 3)) - mp->state = state_warmup; - if ((error >= 0) && (mp->generation <= 2)) - error = select_source (s); - if ((error >= 0) && (mp->generation >= 3) && has_ccd_sensor (s)) - error = init_ccd_lamp_3 (s); - if ((error >= 0) && !is_scanning_from_tpu (s)) - { - int i; - /* FIXME: 48 bit flatbed scans don't need gamma tables - * the code below doesn't run */ - /*if (is_color_48 (s) || is_gray_16 (s)) - error = 0; - else*/ - for (i = (mp->generation >= 3) ? 3 : 1; i > 0 && error >= 0; i--) - error = send_gamma_table (s); - } - else if (error >= 0) /* in TPU mode, for gen 1, 2, and 3 */ - error = send_set_tpu_info (s); - } - else - /* ADF pageid != 0 and gen3 or above */ - pixma_sleep (1000000); - - if ((error >= 0) || (mp->generation >= 3)) - mp->state = state_warmup; - if (error >= 0) - error = send_scan_param (s); - if ((error >= 0) && (mp->generation >= 3)) - error = start_scan_3 (s); - if (error < 0) - { - mp->last_block = 0x38; /* Force abort session if ADF scan */ - mp810_finish_scan (s); - return error; - } - return 0; -} - -static int mp810_fill_buffer (pixma_t * s, pixma_imagebuf_t * ib) -{ - int error; - mp810_t *mp = (mp810_t *) s->subdriver; - unsigned block_size, bytes_received, proc_buf_size, line_size; - uint8_t header[16]; - - if (mp->state == state_warmup) - { /* prepare read image data */ - /* PDBG (pixma_dbg (4, "**mp810_fill_buffer***** warmup *****\n")); */ - - RET_IF_ERR(wait_until_ready (s)); - pixma_sleep (1000000); /* No need to sleep, actually, but Window's driver - * sleep 1.5 sec. */ - mp->state = state_scanning; - mp->last_block = 0; - - line_size = get_cis_ccd_line_size (s); - proc_buf_size = (2 * calc_shifting (s) + 2) * line_size; - mp->cb.buf = realloc (mp->cb.buf, CMDBUF_SIZE + IMAGE_BLOCK_SIZE + proc_buf_size); - if (!mp->cb.buf) - return PIXMA_ENOMEM; - mp->linebuf = mp->cb.buf + CMDBUF_SIZE; - mp->imgbuf = mp->data_left_ofs = mp->linebuf + line_size; - mp->data_left_len = 0; - } - - do - { /* read complete image data from the scanner */ - if (s->cancel) - return PIXMA_ECANCELED; - if ((mp->last_block & 0x28) == 0x28) - { /* end of image */ - mp->state = state_finished; - /* PDBG (pixma_dbg (4, "**mp810_fill_buffer***** end of image *****\n")); */ - return 0; - } - /* PDBG (pixma_dbg (4, "*mp810_fill_buffer***** moving %u bytes into buffer *****\n", mp->data_left_len)); */ - memmove (mp->imgbuf, mp->data_left_ofs, mp->data_left_len); - error = read_image_block (s, header, mp->imgbuf + mp->data_left_len); - if (error < 0) - { - if (error == PIXMA_ECANCELED) - { - /* NOTE: I see this in traffic logs but I don't know its meaning. */ - read_error_info (s, NULL, 0); - } - return error; - } - - bytes_received = error; - /*PDBG (pixma_dbg (4, "*mp810_fill_buffer***** %u bytes received by read_image_block *****\n", bytes_received));*/ - block_size = pixma_get_be32 (header + 12); - mp->last_block = header[8] & 0x38; - if ((header[8] & ~0x38) != 0) - { - PDBG(pixma_dbg (1, "WARNING: Unexpected result header\n")); - PDBG(pixma_hexdump (1, header, 16)); - } - PASSERT(bytes_received == block_size); - - if (block_size == 0) - { /* no image data at this moment. */ - pixma_sleep (10000); - } - /* For TPU at 48 bits/pixel to output at 24 bits/pixel */ -#ifndef DEBUG_TPU_48 -#ifndef TPU_48 - PDBG (pixma_dbg (1, "WARNING: 9000F using 24 instead of 48 bit processing \n")); -#ifndef DEBUG_TPU_24 - if (is_scanning_from_tpu (s)) -#endif - bytes_received = pack_48_24_bpc (mp->imgbuf + mp->data_left_len, bytes_received); -#endif -#endif - /* Post-process the image data */ - mp->data_left_ofs = mp->imgbuf + mp->data_left_len + bytes_received; - mp->data_left_len = post_process_image_data (s, ib); - mp->data_left_ofs -= mp->data_left_len; - /* PDBG (pixma_dbg (4, "* mp810_fill_buffer: data_left_len %u \n", mp->data_left_len)); */ - /* PDBG (pixma_dbg (4, "* mp810_fill_buffer: data_left_ofs %u \n", mp->data_left_ofs)); */ - } - while (ib->rend == ib->rptr); - - return ib->rend - ib->rptr; -} - -static void mp810_finish_scan (pixma_t * s) -{ - int error; - mp810_t *mp = (mp810_t *) s->subdriver; - - switch (mp->state) - { - case state_transfering: - drain_bulk_in (s); - /* fall through */ - case state_scanning: - case state_warmup: - case state_finished: - /* Send the get TPU info message */ - if (is_scanning_from_tpu (s) && mp->tpu_datalen == 0) - send_get_tpu_info_3 (s); - /* FIXME: to process several pages ADF scan, must not send - * abort_session and start_session between pages (last_block=0x28) */ - if (mp->generation <= 2 || !is_scanning_from_adf (s) - || mp->last_block == 0x38) - { - error = abort_session (s); /* FIXME: it probably doesn't work in duplex mode! */ - if (error < 0) - PDBG(pixma_dbg (1, "WARNING:abort_session() failed %d\n", error)); - - /* Generation 4: send XML end of scan dialog */ - if (mp->generation == 4) - { - if (!send_xml_dialog (s, XML_END)) - PDBG(pixma_dbg (1, "WARNING:XML_END dialog failed \n")); - } - } - mp->state = state_idle; - /* fall through */ - case state_idle: - break; - } -} - -static void mp810_wait_event (pixma_t * s, int timeout) -{ - /* FIXME: timeout is not correct. See usbGetCompleteUrbNoIntr() for - * instance. */ - while (s->events == 0 && handle_interrupt (s, timeout) > 0) - { - } -} - -static int mp810_get_status (pixma_t * s, pixma_device_status_t * status) -{ - int error; - - RET_IF_ERR(query_status (s)); - status->hardware = PIXMA_HARDWARE_OK; - status->adf = (has_paper (s)) ? PIXMA_ADF_OK : PIXMA_ADF_NO_PAPER; - status->cal = - (is_calibrated (s)) ? PIXMA_CALIBRATION_OK : PIXMA_CALIBRATION_OFF; - return 0; -} - -static const pixma_scan_ops_t pixma_mp810_ops = -{ - mp810_open, - mp810_close, - mp810_scan, - mp810_fill_buffer, - mp810_finish_scan, - mp810_wait_event, - mp810_check_param, - mp810_get_status -}; - -#define DEVICE(name, model, pid, dpi, adftpu_min_dpi, adftpu_max_dpi, tpuir_min_dpi, tpuir_max_dpi, w, h, cap) { \ - name, /* name */ \ - model, /* model */ \ - CANON_VID, pid, /* vid pid */ \ - 0, /* iface */ \ - &pixma_mp810_ops, /* ops */ \ - dpi, 2*(dpi), /* xdpi, ydpi */ \ - adftpu_min_dpi, adftpu_max_dpi, /* adftpu_min_dpi, adftpu_max_dpi */ \ - tpuir_min_dpi, tpuir_max_dpi, /* tpuir_min_dpi, tpuir_max_dpi */ \ - w, h, /* width, height */ \ - PIXMA_CAP_EASY_RGB| \ - PIXMA_CAP_GRAY| /* all scanners with software grayscale */ \ - PIXMA_CAP_LINEART| /* all scanners with software lineart */ \ - PIXMA_CAP_GAMMA_TABLE|PIXMA_CAP_EVENTS|cap \ -} - -#define END_OF_DEVICE_LIST DEVICE(NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0) - -const pixma_config_t pixma_mp810_devices[] = -{ - /* Generation 2: CCD */ - DEVICE ("Canon PIXMA MP810", "MP810", MP810_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_CCD | PIXMA_CAP_TPU), - DEVICE ("Canon PIXMA MP960", "MP960", MP960_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_CCD | PIXMA_CAP_TPU), - - /* Generation 3 CCD not managed as Generation 2 */ - DEVICE ("Canon Pixma MP970", "MP970", MP970_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_CCD | PIXMA_CAP_TPU), - - /* Flatbed scanner CCD (2007) */ - DEVICE ("Canoscan 8800F", "8800F", CS8800F_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_CCD | PIXMA_CAP_TPU /*| PIXMA_CAP_NEGATIVE*/ | PIXMA_CAP_48BIT), - - /* PIXMA 2008 vintage CCD */ - DEVICE ("Canon MP980 series", "MP980", MP980_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_CCD | PIXMA_CAP_TPU), - - /* Generation 4 CCD */ - DEVICE ("Canon MP990 series", "MP990", MP990_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_CCD | PIXMA_CAP_TPU), - - /* Flatbed scanner (2010) */ - DEVICE ("Canoscan 9000F", "9000F", CS9000F_PID, 4800, 300, 9600, 600, 2400, 638, 877, PIXMA_CAP_CCD | PIXMA_CAP_TPUIR /*| PIXMA_CAP_NEGATIVE*/ | PIXMA_CAP_48BIT), - - /* Latest devices (2010) Generation 4 CCD untested */ - DEVICE ("Canon PIXMA MG8100", "MG8100", MG8100_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_CCD | PIXMA_CAP_TPU), - - /* Latest devices (2011) Generation 4 CCD untested */ - DEVICE ("Canon PIXMA MG8200", "MG8200", MG8200_PID, 4800, 300, 0, 0, 0, 638, 877, PIXMA_CAP_CCD | PIXMA_CAP_TPU), - - /* Flatbed scanner (2013) */ - DEVICE ("Canoscan 9000F Mark II", "9000FMarkII", CS9000F_MII_PID, 4800, 300, 9600, 600, 2400, 638, 877, PIXMA_CAP_CCD | PIXMA_CAP_TPUIR | PIXMA_CAP_48BIT), - - END_OF_DEVICE_LIST -}; diff --git a/backend/pixma_rename.h b/backend/pixma_rename.h deleted file mode 100644 index ce68ed3..0000000 --- a/backend/pixma_rename.h +++ /dev/null @@ -1,105 +0,0 @@ -/* SANE - Scanner Access Now Easy. - - Copyright (C) 2006-2007 Wittawat Yamwong - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - - 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 PIXMA_RENAME_H -#define PIXMA_RENAME_H - - -#undef BACKEND_NAME -#define BACKEND_NAME pixma - -#define pixma_cancel sanei_pixma_cancel -#define pixma_check_dpi sanei_pixma_check_dpi -#define pixma_check_result sanei_pixma_check_result -#define pixma_check_scan_param sanei_pixma_check_scan_param -#define pixma_cleanup sanei_pixma_cleanup -#define pixma_close sanei_pixma_close -#define pixma_cmd_transaction sanei_pixma_cmd_transaction -#define pixma_collect_devices sanei_pixma_collect_devices -#define pixma_connect sanei_pixma_connect -#define pixma_dbg DBG -#define pixma_disconnect sanei_pixma_disconnect -#define pixma_dump sanei_pixma_dump -#define pixma_enable_background sanei_pixma_enable_background -#define pixma_exec sanei_pixma_exec -#define pixma_exec_short_cmd sanei_pixma_exec_short_cmd -#define pixma_fill_gamma_table sanei_pixma_fill_gamma_table -#define pixma_find_scanners sanei_pixma_find_scanners -#define pixma_get_be16 sanei_pixma_get_be16 -#define pixma_get_be32 sanei_pixma_get_be32 -#define pixma_get_config sanei_pixma_get_config -#define pixma_get_device_config sanei_pixma_get_device_config -#define pixma_get_device_id sanei_pixma_get_device_id -#define pixma_get_device_model sanei_pixma_get_device_model -#define pixma_get_device_status sanei_pixma_get_device_status -#define pixma_get_string sanei_pixma_get_string -#define pixma_get_time sanei_pixma_get_time -#define pixma_hexdump sanei_pixma_hexdump -#define pixma_init sanei_pixma_init -#define pixma_io_cleanup sanei_pixma_io_cleanup -#define pixma_io_init sanei_pixma_io_init -#define pixma_map_status_errno sanei_pixma_map_status_errno -#define pixma_mp150_devices sanei_pixma_mp150_devices -#define pixma_mp730_devices sanei_pixma_mp730_devices -#define pixma_mp750_devices sanei_pixma_mp750_devices -#define pixma_mp810_devices sanei_pixma_mp810_devices -#define pixma_iclass_devices sanei_pixma_iclass_devices -#define pixma_newcmd sanei_pixma_newcmd -#define pixma_open sanei_pixma_open -#define pixma_print_supported_devices sanei_pixma_print_supported_devices -#define pixma_read_image sanei_pixma_read_image -#define pixma_read sanei_pixma_read -#define pixma_reset_device sanei_pixma_reset_device -#define pixma_scan sanei_pixma_scan -#define pixma_set_be16 sanei_pixma_set_be16 -#define pixma_set_be32 sanei_pixma_set_be32 -#define pixma_set_debug_level sanei_pixma_set_debug_level -#define pixma_set_interrupt_mode sanei_pixma_set_interrupt_mode -#define pixma_sleep sanei_pixma_sleep -#define pixma_strerror sanei_pixma_strerror -#define pixma_sum_bytes sanei_pixma_sum_bytes -#define pixma_wait_event sanei_pixma_wait_event -#define pixma_wait_interrupt sanei_pixma_wait_interrupt -#define pixma_write sanei_pixma_write - - -#endif diff --git a/backend/pixma_sane_options.c b/backend/pixma_sane_options.c deleted file mode 100644 index 6e6abfc..0000000 --- a/backend/pixma_sane_options.c +++ /dev/null @@ -1,362 +0,0 @@ -/* Automatically generated from pixma_sane.c */ -static const SANE_Range constraint_gamma_table = - { 0,255,0 }; -static const SANE_Range constraint_gamma = - { SANE_FIX(0.3),SANE_FIX(5),SANE_FIX(0) }; -static const SANE_Range constraint_threshold = - { 0,100,1 }; -static const SANE_Range constraint_threshold_curve = - { 0,127,1 }; -static const SANE_Range constraint_adf_wait = - { 0,3600,1 }; - - -static -int find_string_in_list(SANE_String_Const str, const SANE_String_Const *list) -{ - int i; - for (i = 0; list[i] && strcmp(str, list[i]) != 0; i++) {} - return i; -} - -static -int build_option_descriptors(struct pixma_sane_t *ss) -{ - SANE_Option_Descriptor *sod; - option_descriptor_t *opt; - - memset(OPT_IN_CTX, 0, sizeof(OPT_IN_CTX)); - - opt = &(OPT_IN_CTX[opt_opt_num_opts]); - sod = &opt->sod; - sod->type = SANE_TYPE_INT; - sod->title = SANE_TITLE_NUM_OPTIONS; - sod->desc = SANE_DESC_NUM_OPTIONS; - sod->name = ""; - sod->unit = SANE_UNIT_NONE; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_DETECT; - sod->constraint_type = SANE_CONSTRAINT_NONE; - OPT_IN_CTX[opt_opt_num_opts].info = 0; - opt->def.w = opt_last; - opt->val.w = opt_last; - - opt = &(OPT_IN_CTX[opt__group_1]); - sod = &opt->sod; - sod->type = SANE_TYPE_GROUP; - sod->title = SANE_I18N("Scan mode"); - sod->desc = sod->title; - - opt = &(OPT_IN_CTX[opt_resolution]); - sod = &opt->sod; - sod->type = SANE_TYPE_INT; - sod->title = SANE_TITLE_SCAN_RESOLUTION; - sod->desc = SANE_DESC_SCAN_RESOLUTION; - sod->name = "resolution"; - sod->unit = SANE_UNIT_DPI; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC; - sod->constraint_type = SANE_CONSTRAINT_WORD_LIST; - sod->constraint.word_list = ss->dpi_list; - OPT_IN_CTX[opt_resolution].info = SANE_INFO_RELOAD_PARAMS; - opt->def.w = 75; - opt->val.w = 75; - - opt = &(OPT_IN_CTX[opt_mode]); - sod = &opt->sod; - sod->type = SANE_TYPE_STRING; - sod->title = SANE_TITLE_SCAN_MODE; - sod->desc = SANE_DESC_SCAN_MODE; - sod->name = "mode"; - sod->unit = SANE_UNIT_NONE; - sod->size = 31; - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC; - sod->constraint_type = SANE_CONSTRAINT_STRING_LIST; - sod->constraint.string_list = ss->mode_list; - OPT_IN_CTX[opt_mode].info = SANE_INFO_RELOAD_PARAMS; - opt->def.s = SANE_VALUE_SCAN_MODE_COLOR; - opt->val.w = find_string_in_list(opt->def.s, sod->constraint.string_list); - - opt = &(OPT_IN_CTX[opt_source]); - sod = &opt->sod; - sod->type = SANE_TYPE_STRING; - sod->title = SANE_TITLE_SCAN_SOURCE; - sod->desc = SANE_I18N("Selects the scan source (such as a document-feeder). Set source before mode and resolution. Resets mode and resolution to auto values."); - sod->name = "source"; - sod->unit = SANE_UNIT_NONE; - sod->size = 31; - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT; - sod->constraint_type = SANE_CONSTRAINT_STRING_LIST; - sod->constraint.string_list = ss->source_list; - OPT_IN_CTX[opt_source].info = 0; - opt->def.s = SANE_I18N("Flatbed"); - opt->val.w = find_string_in_list(opt->def.s, sod->constraint.string_list); - - opt = &(OPT_IN_CTX[opt_button_controlled]); - sod = &opt->sod; - sod->type = SANE_TYPE_BOOL; - sod->title = SANE_I18N("Button-controlled scan"); - sod->desc = SANE_I18N("When enabled, scan process will not start immediately. To proceed, press \"SCAN\" button (for MP150) or \"COLOR\" button (for other models). To cancel, press \"GRAY\" button."); - sod->name = "button-controlled"; - sod->unit = SANE_UNIT_NONE; - sod->size = sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_INACTIVE; - sod->constraint_type = SANE_CONSTRAINT_NONE; - OPT_IN_CTX[opt_button_controlled].info = 0; - opt->def.w = SANE_FALSE; - opt->val.w = SANE_FALSE; - - opt = &(OPT_IN_CTX[opt__group_2]); - sod = &opt->sod; - sod->type = SANE_TYPE_GROUP; - sod->title = SANE_I18N("Gamma"); - sod->desc = sod->title; - - opt = &(OPT_IN_CTX[opt_custom_gamma]); - sod = &opt->sod; - sod->type = SANE_TYPE_BOOL; - sod->title = SANE_TITLE_CUSTOM_GAMMA; - sod->desc = SANE_DESC_CUSTOM_GAMMA; - sod->name = "custom-gamma"; - sod->unit = SANE_UNIT_NONE; - sod->size = sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE; - sod->constraint_type = SANE_CONSTRAINT_NONE; - OPT_IN_CTX[opt_custom_gamma].info = 0; - opt->def.w = SANE_TRUE; - opt->val.w = SANE_TRUE; - - opt = &(OPT_IN_CTX[opt_gamma_table]); - sod = &opt->sod; - sod->type = SANE_TYPE_INT; - sod->title = SANE_TITLE_GAMMA_VECTOR; - sod->desc = SANE_DESC_GAMMA_VECTOR; - sod->name = "gamma-table"; - sod->unit = SANE_UNIT_NONE; - sod->size = 4096 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE; - sod->constraint_type = SANE_CONSTRAINT_RANGE; - sod->constraint.range = &constraint_gamma_table; - OPT_IN_CTX[opt_gamma_table].info = 0; - - opt = &(OPT_IN_CTX[opt_gamma]); - sod = &opt->sod; - sod->type = SANE_TYPE_FIXED; - sod->title = SANE_I18N("Gamma function exponent"); - sod->desc = SANE_I18N("Changes intensity of midtones"); - sod->name = "gamma"; - sod->unit = SANE_UNIT_NONE; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE; - sod->constraint_type = SANE_CONSTRAINT_RANGE; - sod->constraint.range = &constraint_gamma; - OPT_IN_CTX[opt_gamma].info = 0; - opt->def.w = SANE_FIX(AUTO_GAMMA); - opt->val.w = SANE_FIX(AUTO_GAMMA); - - opt = &(OPT_IN_CTX[opt__group_3]); - sod = &opt->sod; - sod->type = SANE_TYPE_GROUP; - sod->title = SANE_I18N("Geometry"); - sod->desc = sod->title; - - opt = &(OPT_IN_CTX[opt_tl_x]); - sod = &opt->sod; - sod->type = SANE_TYPE_FIXED; - sod->title = SANE_TITLE_SCAN_TL_X; - sod->desc = SANE_DESC_SCAN_TL_X; - sod->name = "tl-x"; - sod->unit = SANE_UNIT_MM; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC; - sod->constraint_type = SANE_CONSTRAINT_RANGE; - sod->constraint.range = &ss->xrange; - OPT_IN_CTX[opt_tl_x].info = SANE_INFO_RELOAD_PARAMS; - opt->def.w = SANE_FIX(0); - opt->val.w = SANE_FIX(0); - - opt = &(OPT_IN_CTX[opt_tl_y]); - sod = &opt->sod; - sod->type = SANE_TYPE_FIXED; - sod->title = SANE_TITLE_SCAN_TL_Y; - sod->desc = SANE_DESC_SCAN_TL_Y; - sod->name = "tl-y"; - sod->unit = SANE_UNIT_MM; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC; - sod->constraint_type = SANE_CONSTRAINT_RANGE; - sod->constraint.range = &ss->yrange; - OPT_IN_CTX[opt_tl_y].info = SANE_INFO_RELOAD_PARAMS; - opt->def.w = SANE_FIX(0); - opt->val.w = SANE_FIX(0); - - opt = &(OPT_IN_CTX[opt_br_x]); - sod = &opt->sod; - sod->type = SANE_TYPE_FIXED; - sod->title = SANE_TITLE_SCAN_BR_X; - sod->desc = SANE_DESC_SCAN_BR_X; - sod->name = "br-x"; - sod->unit = SANE_UNIT_MM; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC; - sod->constraint_type = SANE_CONSTRAINT_RANGE; - sod->constraint.range = &ss->xrange; - OPT_IN_CTX[opt_br_x].info = SANE_INFO_RELOAD_PARAMS; - opt->def.w = sod->constraint.range->max; - opt->val.w = sod->constraint.range->max; - - opt = &(OPT_IN_CTX[opt_br_y]); - sod = &opt->sod; - sod->type = SANE_TYPE_FIXED; - sod->title = SANE_TITLE_SCAN_BR_Y; - sod->desc = SANE_DESC_SCAN_BR_Y; - sod->name = "br-y"; - sod->unit = SANE_UNIT_MM; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC; - sod->constraint_type = SANE_CONSTRAINT_RANGE; - sod->constraint.range = &ss->yrange; - OPT_IN_CTX[opt_br_y].info = SANE_INFO_RELOAD_PARAMS; - opt->def.w = sod->constraint.range->max; - opt->val.w = sod->constraint.range->max; - - opt = &(OPT_IN_CTX[opt__group_4]); - sod = &opt->sod; - sod->type = SANE_TYPE_GROUP; - sod->title = SANE_I18N("Buttons"); - sod->desc = sod->title; - - opt = &(OPT_IN_CTX[opt_button_update]); - sod = &opt->sod; - sod->type = SANE_TYPE_BUTTON; - sod->title = SANE_I18N("Update button state"); - sod->desc = sod->title; - sod->name = "button-update"; - sod->unit = SANE_UNIT_NONE; - sod->size = 0; - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED; - sod->constraint_type = SANE_CONSTRAINT_NONE; - OPT_IN_CTX[opt_button_update].info = 0; - - opt = &(OPT_IN_CTX[opt_button_1]); - sod = &opt->sod; - sod->type = SANE_TYPE_INT; - sod->title = SANE_I18N("Button 1"); - sod->desc = sod->title; - sod->name = "button-1"; - sod->unit = SANE_UNIT_NONE; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED; - sod->constraint_type = SANE_CONSTRAINT_NONE; - OPT_IN_CTX[opt_button_1].info = 0; - opt->def.w = 0; - opt->val.w = 0; - - opt = &(OPT_IN_CTX[opt_button_2]); - sod = &opt->sod; - sod->type = SANE_TYPE_INT; - sod->title = SANE_I18N("Button 2"); - sod->desc = sod->title; - sod->name = "button-2"; - sod->unit = SANE_UNIT_NONE; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED; - sod->constraint_type = SANE_CONSTRAINT_NONE; - OPT_IN_CTX[opt_button_2].info = 0; - opt->def.w = 0; - opt->val.w = 0; - - opt = &(OPT_IN_CTX[opt_original]); - sod = &opt->sod; - sod->type = SANE_TYPE_INT; - sod->title = SANE_I18N("Type of original to scan"); - sod->desc = sod->title; - sod->name = "original"; - sod->unit = SANE_UNIT_NONE; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED; - sod->constraint_type = SANE_CONSTRAINT_NONE; - OPT_IN_CTX[opt_original].info = 0; - opt->def.w = 0; - opt->val.w = 0; - - opt = &(OPT_IN_CTX[opt_target]); - sod = &opt->sod; - sod->type = SANE_TYPE_INT; - sod->title = SANE_I18N("Target operation type"); - sod->desc = sod->title; - sod->name = "target"; - sod->unit = SANE_UNIT_NONE; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED; - sod->constraint_type = SANE_CONSTRAINT_NONE; - OPT_IN_CTX[opt_target].info = 0; - opt->def.w = 0; - opt->val.w = 0; - - opt = &(OPT_IN_CTX[opt_scan_resolution]); - sod = &opt->sod; - sod->type = SANE_TYPE_INT; - sod->title = SANE_I18N("Scan resolution"); - sod->desc = sod->title; - sod->name = "scan-resolution"; - sod->unit = SANE_UNIT_NONE; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED; - sod->constraint_type = SANE_CONSTRAINT_NONE; - OPT_IN_CTX[opt_scan_resolution].info = 0; - opt->def.w = 0; - opt->val.w = 0; - - opt = &(OPT_IN_CTX[opt__group_5]); - sod = &opt->sod; - sod->type = SANE_TYPE_GROUP; - sod->title = SANE_I18N("Extras"); - sod->desc = sod->title; - - opt = &(OPT_IN_CTX[opt_threshold]); - sod = &opt->sod; - sod->type = SANE_TYPE_INT; - sod->title = SANE_TITLE_THRESHOLD; - sod->desc = SANE_DESC_THRESHOLD; - sod->name = "threshold"; - sod->unit = SANE_UNIT_PERCENT; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE; - sod->constraint_type = SANE_CONSTRAINT_RANGE; - sod->constraint.range = &constraint_threshold; - OPT_IN_CTX[opt_threshold].info = 0; - opt->def.w = 50; - opt->val.w = 50; - - opt = &(OPT_IN_CTX[opt_threshold_curve]); - sod = &opt->sod; - sod->type = SANE_TYPE_INT; - sod->title = SANE_I18N("Threshold curve"); - sod->desc = SANE_I18N("Dynamic threshold curve, from light to dark, normally 50-65"); - sod->name = "threshold-curve"; - sod->unit = SANE_UNIT_NONE; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE; - sod->constraint_type = SANE_CONSTRAINT_RANGE; - sod->constraint.range = &constraint_threshold_curve; - OPT_IN_CTX[opt_threshold_curve].info = 0; - - opt = &(OPT_IN_CTX[opt_adf_wait]); - sod = &opt->sod; - sod->type = SANE_TYPE_INT; - sod->title = SANE_I18N("ADF Waiting Time"); - sod->desc = SANE_I18N("When set, the scanner searches the waiting time in seconds for a new document inserted into the automatic document feeder."); - sod->name = "adf-wait"; - sod->unit = SANE_UNIT_NONE; - sod->size = 1 * sizeof(SANE_Word); - sod->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_AUTOMATIC|SANE_CAP_INACTIVE; - sod->constraint_type = SANE_CONSTRAINT_RANGE; - sod->constraint.range = &constraint_adf_wait; - OPT_IN_CTX[opt_adf_wait].info = 0; - opt->def.w = 0; - opt->val.w = 0; - - return 0; - -} diff --git a/backend/pixma_sane_options.h b/backend/pixma_sane_options.h deleted file mode 100644 index 1472f1f..0000000 --- a/backend/pixma_sane_options.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Automatically generated from pixma_sane.c */ - -typedef union { - SANE_Word w; - SANE_Int i; - SANE_Bool b; - SANE_Fixed f; - SANE_String s; - void *ptr; -} option_value_t; - -typedef enum { - opt_opt_num_opts, - opt__group_1, - opt_resolution, - opt_mode, - opt_source, - opt_button_controlled, - opt__group_2, - opt_custom_gamma, - opt_gamma_table, - opt_gamma, - opt__group_3, - opt_tl_x, - opt_tl_y, - opt_br_x, - opt_br_y, - opt__group_4, - opt_button_update, - opt_button_1, - opt_button_2, - opt_original, - opt_target, - opt_scan_resolution, - opt__group_5, - opt_threshold, - opt_threshold_curve, - opt_adf_wait, - opt_last -} option_t; - - -typedef struct { - SANE_Option_Descriptor sod; - option_value_t val,def; - SANE_Word info; -} option_descriptor_t; - - -struct pixma_sane_t; -static int build_option_descriptors(struct pixma_sane_t *ss); diff --git a/backend/plustek-pp_motor.c b/backend/plustek-pp_motor.c index 7f4b1ac..c48710e 100644 --- a/backend/plustek-pp_motor.c +++ b/backend/plustek-pp_motor.c @@ -1912,6 +1912,7 @@ static void motorP96SetupRunTable( pScanData ps ) case 3: if (*(p.pb + 2)) bColor = 1; + // fall through case 2: if (*(p.pb + 1)) bColor++; diff --git a/backend/plustek-usb.c b/backend/plustek-usb.c index 5c6fbeb..107bf9e 100644 --- a/backend/plustek-usb.c +++ b/backend/plustek-usb.c @@ -193,6 +193,7 @@ usb_initDev( Plustek_Device *dev, int idx, int handle, int vendor ) int i; ScanParam sParam; u_short tmp = 0; + int ret = 0; DBG( _DBG_INFO, "usb_initDev(%d,0x%04x,%i)\n", idx, vendor, dev->initialized ); @@ -305,11 +306,16 @@ usb_initDev( Plustek_Device *dev, int idx, int handle, int vendor ) } ptr = getenv ("HOME"); - if( NULL == ptr ) { - sprintf( tmp_str2, "/tmp/%s", tmp_str1 ); - } else { - sprintf( tmp_str2, "%s/.sane/%s", ptr, tmp_str1 ); + ret = ( NULL == ptr )? + snprintf( tmp_str2, sizeof(tmp_str2), "/tmp/%s", tmp_str1 ): + snprintf( tmp_str2, sizeof(tmp_str2), "%s/.sane/%s", ptr, tmp_str1 ); + + if ((ret < 0) || (ret > (int)sizeof(tmp_str2))) { + DBG( _DBG_WARNING, + "Failed to generate calibration file path. Default substituted.\n" ); + snprintf(tmp_str2, sizeof(tmp_str2), "/tmp/plustek-default"); } + dev->calFile = strdup( tmp_str2 ); DBG( _DBG_INFO, "Calibration file-names set to:\n" ); DBG( _DBG_INFO, ">%s-coarse.cal<\n", dev->calFile ); diff --git a/backend/plustek-usbcal.c b/backend/plustek-usbcal.c index 3b9d93a..84a4105 100644 --- a/backend/plustek-usbcal.c +++ b/backend/plustek-usbcal.c @@ -306,7 +306,7 @@ cano_AdjustLightsource( Plustek_Device *dev ) min_rgb.Blue = hw->blue_lamp_on; if((dev->adj.rlampoff != -1) && - (dev->adj.glampoff != -1) && (dev->adj.rlampoff != -1)) { + (dev->adj.glampoff != -1) && (dev->adj.blampoff != -1)) { DBG( _DBG_INFO, "- function skipped, using frontend values!\n" ); return SANE_TRUE; } diff --git a/backend/plustek.c b/backend/plustek.c index e1d9e09..eaddbd3 100644 --- a/backend/plustek.c +++ b/backend/plustek.c @@ -1085,14 +1085,14 @@ init_options( Plustek_Scanner *s ) /* scanner buttons */ for( i = OPT_BUTTON_0; i <= OPT_BUTTON_LAST; i++ ) { - char name [12]; - char title [128]; + char buf [128]; - sprintf (name, "button %d", i - OPT_BUTTON_0); - sprintf (title, "Scanner button %d", i - OPT_BUTTON_0); + snprintf (buf, sizeof(buf), "button %d", i - OPT_BUTTON_0); + s->opt[i].name = strdup(buf); + + snprintf (buf, sizeof(buf), "Scanner button %d", i - OPT_BUTTON_0); + s->opt[i].title = strdup(buf); - s->opt[i].name = strdup(name); - s->opt[i].title = strdup(title); s->opt[i].desc = SANE_I18N("This option reflects the status " "of the scanner buttons."); s->opt[i].type = SANE_TYPE_BOOL; @@ -1916,6 +1916,7 @@ sane_control_option( SANE_Handle handle, SANE_Int option, case OPT_BUTTON_0: if(!s->calibrating) usb_UpdateButtonStatus(s); + // fall through case OPT_BUTTON_1: case OPT_BUTTON_2: case OPT_BUTTON_3: diff --git a/backend/plustek_pp.c b/backend/plustek_pp.c index 551cf27..fdcc6b6 100644 --- a/backend/plustek_pp.c +++ b/backend/plustek_pp.c @@ -1625,7 +1625,7 @@ SANE_Status sane_control_option( SANE_Handle handle, SANE_Int option, *info |= SANE_INFO_RELOAD_OPTIONS | SANE_INFO_RELOAD_PARAMS; } - /* fall through to OPT_HALFTONE */ + // fall through case OPT_HALFTONE: s->val[option].w = optval - s->opt[option].constraint.string_list; break; diff --git a/backend/ricoh.c b/backend/ricoh.c index 58b3a53..fbe5c58 100644 --- a/backend/ricoh.c +++ b/backend/ricoh.c @@ -222,12 +222,14 @@ attach (const char *devnam, Ricoh_Device ** devp) dev->sane.name = strdup (devnam); dev->sane.vendor = "RICOH"; - str = malloc (sizeof(ibuf.product) + sizeof(ibuf.revision) + 1); + + size_t prod_rev_size = sizeof(ibuf.product) + sizeof(ibuf.revision) + 1; + str = malloc (prod_rev_size); if (str) { - str[0] = '\0'; - strncat (str, (char *)ibuf.product, sizeof(ibuf.product)); - strncat (str, (char *)ibuf.revision, sizeof(ibuf.revision)); + snprintf (str, prod_rev_size, "%.*s%.*s", + (int) sizeof(ibuf.product), (const char *) ibuf.product, + (int) sizeof(ibuf.revision), (const char *) ibuf.revision); } dev->sane.model = str; dev->sane.type = "flatbed scanner"; diff --git a/backend/ricoh2.c b/backend/ricoh2.c index 8aa938e..f719268 100644 --- a/backend/ricoh2.c +++ b/backend/ricoh2.c @@ -1,6 +1,6 @@ /* sane - Scanner Access Now Easy. - Copyright (C) 2018 Stanislav Yuzvinsky + Copyright (C) 2018, 2019 Stanislav Yuzvinsky Based on the work done by viruxx This file is part of the SANE package. @@ -113,9 +113,10 @@ typedef struct Ricoh2_device_info { Ricoh2_device_info; static Ricoh2_device_info supported_devices[] = { - { 0x042c, "Aficio SP100SU" }, - { 0x0438, "Aficio SG3100SNw" }, - { 0x0448, "Aficio SP111SU" } + { 0x042c, "Aficio SP-100SU" }, + { 0x0438, "Aficio SG-3100SNw" }, + { 0x0439, "Aficio SG-3110SFNw" }, + { 0x0448, "Aficio SP-111SU/SP-112SU" } }; static SANE_String_Const mode_list[] = { diff --git a/backend/ricoh2_buffer.c b/backend/ricoh2_buffer.c index b8d7d90..e79a7f3 100644 --- a/backend/ricoh2_buffer.c +++ b/backend/ricoh2_buffer.c @@ -46,7 +46,12 @@ #include #include + +#if defined(__APPLE__) && defined(__MACH__) +#include +#else #include +#endif #include "../include/sane/sanei_debug.h" diff --git a/backend/s9036.c b/backend/s9036.c index aa18df7..4124b7b 100644 --- a/backend/s9036.c +++ b/backend/s9036.c @@ -1022,6 +1022,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_BR_Y: if (info) *info |= SANE_INFO_RELOAD_PARAMS; + // fall through case OPT_BRIGHT_ADJUST: case OPT_CONTR_ADJUST: s->val[option] = *(SANE_Word *) val; diff --git a/backend/sane_strstatus.c b/backend/sane_strstatus.c index 1fc2220..c76d305 100644 --- a/backend/sane_strstatus.c +++ b/backend/sane_strstatus.c @@ -62,7 +62,7 @@ sane_strstatus (SANE_Status status) return SANE_I18N("Operation not supported"); case SANE_STATUS_CANCELLED: - return SANE_I18N("Operation was cancelled"); + return SANE_I18N("Operation was canceled"); case SANE_STATUS_DEVICE_BUSY: return SANE_I18N("Device busy"); diff --git a/backend/scripts/pixma_gen_options.py b/backend/scripts/pixma_gen_options.py deleted file mode 100755 index c4c75e0..0000000 --- a/backend/scripts/pixma_gen_options.py +++ /dev/null @@ -1,389 +0,0 @@ -#!/usr/bin/env python - -import sys,os,re - -class Error(Exception): - pass - - -class ParseError(Error): - def __init__(self, errline): - Error.__init__(self, errline) - - -class Struct: - pass - - -def createCNameMap(): - t = '' - for i in range(256): - if ((ord('A') <= i) and (i <= ord('Z'))) or \ - ((ord('a') <= i) and (i <= ord('z'))) or \ - ((ord('0') <= i) and (i <= ord('9'))): - t += chr(i) - else: - t += '_' - return t - - -def seekBegin(f): - while True: - line = f.readline() - if not line: - return False - if line.startswith('BEGIN SANE_Option_Descriptor'): - return True - - -def parseVerbatim(o, line): - words = line.split(None, 1) - if (len(words) < 2) or (words[1][0] != '@'): - return False - o[words[0]] = words[1] - return True - - -def parseLine_type(o, line): - words = line.split(None, 2) - otype = words[1] - o['type'] = 'SANE_TYPE_' + otype.upper() - if otype == 'group': - g.ngroups += 1 - oname = '_group_%d' % g.ngroups - o['size'] = 0 - else: - temp = words[2] - idx = temp.find('[') - if idx == -1: - oname = temp - o['size'] = 1 - else: - oname = temp[0:idx] - o['size'] = int(temp[idx+1:-1]) - o['name'] = oname - - -def parseLine_title(o, line): - o['title'] = line.split(None, 1)[1] - - -def parseLine_desc(o, line): - o['desc'] = line.split(None, 1)[1] - - -def parseLine_unit(o, line): - o['unit'] = 'SANE_UNIT_' + line.split(None, 1)[1].upper() - - -def parseLine_default(o, line): - o['default'] = line.split(None, 1)[1] - - -def parseLine_cap(o, line): - words = line.split() - o['cap'] = ['SANE_CAP_' + s.upper() for s in words[1:]] - - -def parseLine_constraint(o, line): - c = line.split(None,1)[1] - if c[0] == '{': - o['constraint'] = c[1:-1].split('|') - elif c[0] == '(': - o['constraint'] = tuple(c[1:-1].split(',')) - else: - sys.stderr.write('Ignored: %s\n' % line) - - -def parseLine_info(o, line): - words = line.split() - o['info'] = ['SANE_INFO_' + s.upper() for s in words[1:]] - -def parseLine_rem(o, line): - pass - -def normalize(o): - if 'cname' not in o: - cname = o['name'].translate(cnameMap) - o['cname'] = cname - else: - cname = o['cname'] - o['cname_opt'] = 'opt_' + cname - o['cname_con'] = 'constraint_' + cname - if 'title' not in o: - o['title'] = 'NO TITLE' - if 'desc' not in o: - o['desc'] = '@sod->title' % o - if 'unit' not in o: - o['unit'] = 'SANE_UNIT_NONE' - if 'constraint_type' not in o: - if 'constraint' not in o: - ct = 'SANE_CONSTRAINT_NONE' - elif isinstance(o['constraint'], list): - if o['type'] == 'SANE_TYPE_STRING': - ct = 'SANE_CONSTRAINT_STRING_LIST' - else: - ct = 'SANE_CONSTRAINT_WORD_LIST' - elif isinstance(o['constraint'], tuple): - ct = 'SANE_CONSTRAINT_RANGE' - elif isinstance(o['constraint'], str): - oc = o['constraint'] - if oc.startswith('@range'): - ct = 'SANE_CONSTRAINT_RANGE' - elif oc.startswith('@word_list'): - ct = 'SANE_CONSTRAINT_WORD_LIST' - elif oc.startswith('@string_list'): - ct = 'SANE_CONSTRAINT_STRING_LIST' - o['constraint_type'] = ct - return o - - -def parseFile(f): - if not seekBegin(f): - return None - options = [ { - 'name' : '', - 'cname' : 'opt_num_opts', - 'title' : '@SANE_TITLE_NUM_OPTIONS', - 'desc' : '@SANE_DESC_NUM_OPTIONS', - 'type' : 'SANE_TYPE_INT', - 'unit' : 'SANE_UNIT_NONE', - 'size' : 1, - 'cap' : ['SANE_CAP_SOFT_DETECT'], - 'constraint_type' : 'SANE_CONSTRAINT_NONE', - 'default' : '@w = ' + opt_prefix + 'last' - } ] - o = {} - while True: - line = f.readline() - if not line: - break - line = line.strip() - if not line: - continue - token = line.split(None, 1)[0].lower() - if token == 'end': - break - if token == 'type': - if 'name' in o: - options.append(o) - o = {} - funcName = 'parseLine_' + token - if funcName in globals(): - if not parseVerbatim(o, line): - func = globals()[funcName] - func(o, line) - else: - sys.stderr.write('Skip: %s\n' % line) - if 'name' in o: - options.append(o) - return [normalize(o) for o in options] - - -def genHeader(options): - print """ -typedef union { - SANE_Word w; - SANE_Int i; - SANE_Bool b; - SANE_Fixed f; - SANE_String s; - void *ptr; -} option_value_t; -""" - print 'typedef enum {' - for o in options: - print ' %(cname_opt)s,' % o - print ' ' + opt_prefix + 'last' - print '} option_t;' - print """ - -typedef struct { - SANE_Option_Descriptor sod; - option_value_t val,def; - SANE_Word info; -} option_descriptor_t; - - -struct pixma_sane_t; -static int build_option_descriptors(struct pixma_sane_t *ss); -""" - - -def genMinMaxRange(n, t, r): - if t == 'SANE_TYPE_FIXED': - r = ['SANE_FIX(%s)' % x for x in r] - print 'static const SANE_Range ' + n + ' = ' - print ' { ' + r[0] + ',' + r[1] + ',' + r[2] + ' };' - - -def genList(n, t, l): - if t == 'SANE_TYPE_INT': - etype = 'SANE_Word' - l = [str(len(l))] + l - elif t == 'SANE_TYPE_FIXED': - etype = 'SANE_Word' - l = [str(len(l))] + ['SANE_FIX(%s)' % x for x in l] - elif t == 'SANE_TYPE_STRING': - etype = 'SANE_String_Const' - l = ['SANE_I18N("%s")' % x for x in l] + ['NULL'] - print 'static const %s %s[%d] = {' % (etype, n, len(l)) - for x in l[0:-1]: - print '\t' + x + ',' - print '\t' + l[-1] + ' };' - - -def genConstraints(options): - for o in options: - if 'constraint' not in o: continue - c = o['constraint'] - oname = o['cname_con'] - otype = o['type'] - if isinstance(c, tuple): - genMinMaxRange(oname, otype, c) - elif isinstance(c, list): - genList(oname, otype, c) - print - -def buildCodeVerbatim(o): - for f in ('name', 'title', 'desc', 'type', 'unit', 'size', 'cap', - 'constraint_type', 'constraint', 'default'): - if (f not in o): continue - temp = o[f] - if (not isinstance(temp,str)) or \ - (len(temp) < 1) or (temp[0] != '@'): - continue - o['code_' + f] = temp[1:] - -def ccode(o): - buildCodeVerbatim(o) - if 'code_name' not in o: - o['code_name'] = '"' + o['name'] + '"' - for f in ('title', 'desc'): - cf = 'code_' + f - if cf in o: continue - o[cf] = 'SANE_I18N("' + o[f] + '")' - - for f in ('type', 'unit', 'constraint_type'): - cf = 'code_' + f - if cf in o: continue - o[cf] = o[f] - - if 'code_size' not in o: - otype = o['type'] - osize = o['size'] - if otype == 'SANE_TYPE_STRING': - code = str(osize + 1) - elif otype == 'SANE_TYPE_INT' or otype == 'SANE_TYPE_FIXED': - code = str(osize) + ' * sizeof(SANE_Word)' - elif otype == 'SANE_TYPE_BUTTON': - code = '0' - else: - code = 'sizeof(SANE_Word)' - o['code_size'] = code - - if ('code_cap' not in o) and ('cap' in o): - o['code_cap'] = reduce(lambda a,b: a+'|'+b, o['cap']) - else: - o['code_cap'] = '0' - - if ('code_info' not in o) and ('info' in o): - o['code_info'] = reduce(lambda a,b: a+'|'+b, o['info']) - else: - o['code_info'] = '0' - - if ('code_default' not in o) and ('default' in o): - odefault = o['default'] - otype = o['type'] - if odefault == '_MIN': - rhs = 'w = sod->constraint.range->min' - elif odefault == '_MAX': - rhs = 'w = sod->constraint.range->max' - elif otype in ('SANE_TYPE_INT', 'SANE_TYPE_BOOL'): - rhs = 'w = %(default)s' - elif otype == 'SANE_TYPE_FIXED': - rhs = 'w = SANE_FIX(%(default)s)' - elif otype == 'SANE_TYPE_STRING': - rhs = 's = SANE_I18N("%(default)s")' - o['code_default'] = rhs % o - if 'code_default' in o: - code = ' opt->def.%(code_default)s;\n' - if o['constraint_type'] != 'SANE_CONSTRAINT_STRING_LIST': - code += ' opt->val.%(code_default)s;\n' - else: - code += ' opt->val.w = find_string_in_list' \ - '(opt->def.s, sod->constraint.string_list);\n' - o['full_code_default'] = code % o - else: - o['full_code_default'] = '' - - if ('code_constraint' not in o) and ('constraint' in o): - ct = o['constraint_type'] - idx = len('SANE_CONSTRAINT_') - ctype = ct[idx:].lower() - if ctype == 'range': - rhs = '&%(cname_con)s' % o - else: - rhs = '%(cname_con)s' % o - o['code_constraint'] = ctype + ' = ' + rhs - if 'code_constraint' in o: - code = ' sod->constraint.%(code_constraint)s;\n' - o['full_code_constraint'] = code % o - else: - o['full_code_constraint'] = '' - - return o - -def genBuildOptions(options): - print """ -static -int find_string_in_list(SANE_String_Const str, const SANE_String_Const *list) -{ - int i; - for (i = 0; list[i] && strcmp(str, list[i]) != 0; i++) {} - return i; -} - -static -int build_option_descriptors(struct pixma_sane_t *ss) -{ - SANE_Option_Descriptor *sod; - option_descriptor_t *opt; - - memset(OPT_IN_CTX, 0, sizeof(OPT_IN_CTX));""" - - for o in options: - o = ccode(o) - otype = o['type'] - code = '\n opt = &(OPT_IN_CTX[%(cname_opt)s]);\n' \ - ' sod = &opt->sod;\n' \ - ' sod->type = %(code_type)s;\n' \ - ' sod->title = %(code_title)s;\n' \ - ' sod->desc = %(code_desc)s;\n' - if otype != 'SANE_TYPE_GROUP': - code += ' sod->name = %(code_name)s;\n' \ - ' sod->unit = %(code_unit)s;\n' \ - ' sod->size = %(code_size)s;\n' \ - ' sod->cap = %(code_cap)s;\n' \ - ' sod->constraint_type = %(code_constraint_type)s;\n' \ - '%(full_code_constraint)s' \ - ' OPT_IN_CTX[%(cname_opt)s].info = %(code_info)s;\n' \ - '%(full_code_default)s' - sys.stdout.write(code % o) - print - print ' return 0;\n' - print '}' - print - -g = Struct() -g.ngroups = 0 -opt_prefix = 'opt_' -con_prefix = 'constraint_' -cnameMap = createCNameMap() -options = parseFile(sys.stdin) -print "/* Automatically generated from pixma_sane.c */" -if (len(sys.argv) == 2) and (sys.argv[1] == 'h'): - genHeader(options) -else: - genConstraints(options) - genBuildOptions(options) diff --git a/backend/sharp.c b/backend/sharp.c index b2807d7..701b179 100644 --- a/backend/sharp.c +++ b/backend/sharp.c @@ -2825,6 +2825,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, case OPT_BR_Y: if (info && s->val[option].w != *(SANE_Word *) val) *info |= SANE_INFO_RELOAD_PARAMS; + // fall through case OPT_NUM_OPTS: case OPT_THRESHOLD: /* xxx theoretically, we could use OPT_THRESHOLD in diff --git a/backend/sm3600.c b/backend/sm3600.c index 6e411c3..8f8adfc 100644 --- a/backend/sm3600.c +++ b/backend/sm3600.c @@ -609,14 +609,14 @@ sane_control_option (SANE_Handle handle, SANE_Int iOpt, { case optResolution: case optTLX: case optTLY: case optBRX: case optBRY: - if (pnInfo) (*pnInfo) |= SANE_INFO_RELOAD_PARAMS; - /* fall through side effect free */ + if (pnInfo) (*pnInfo) |= SANE_INFO_RELOAD_PARAMS; + // fall through + case optPreview: + case optGrayPreview: #ifdef SM3600_SUPPORT_EXPOSURE case optBrightness: case optContrast: #endif - case optPreview: - case optGrayPreview: this->aoptVal[iOpt].w = *(SANE_Word*)pVal; break; case optMode: diff --git a/backend/snapscan-options.c b/backend/snapscan-options.c index 3ef85ae..999b312 100644 --- a/backend/snapscan-options.c +++ b/backend/snapscan-options.c @@ -927,7 +927,7 @@ static void init_options (SnapScan_Scanner * ps) po[OPT_ADVANCED_GROUP].constraint_type = SANE_CONSTRAINT_NONE; po[OPT_RGB_LPR].name = "rgb-lpr"; - po[OPT_RGB_LPR].title = SANE_I18N("Colour lines per read"); + po[OPT_RGB_LPR].title = SANE_I18N("Color lines per read"); po[OPT_RGB_LPR].desc = lpr_desc; po[OPT_RGB_LPR].type = SANE_TYPE_INT; po[OPT_RGB_LPR].unit = SANE_UNIT_NONE; @@ -939,7 +939,7 @@ static void init_options (SnapScan_Scanner * ps) ps->rgb_lpr = def_rgb_lpr; po[OPT_GS_LPR].name = "gs-lpr"; - po[OPT_GS_LPR].title = SANE_I18N("Greyscale lines per read"); + po[OPT_GS_LPR].title = SANE_I18N("Grayscale lines per read"); po[OPT_GS_LPR].desc = lpr_desc; po[OPT_GS_LPR].type = SANE_TYPE_INT; po[OPT_GS_LPR].unit = SANE_UNIT_NONE; diff --git a/backend/stv680.c b/backend/stv680.c index 8d2fda3..473def0 100644 --- a/backend/stv680.c +++ b/backend/stv680.c @@ -1189,8 +1189,8 @@ stv680_fill_image (Stv680_Vidcam * dev) } #define MSG_MAXLEN 45 -#define CHAR_HEIGHT 11 -#define CHAR_WIDTH 6 +#define TEXT_CHAR_HEIGHT 11 +#define TEXT_CHAR_WIDTH 6 #define CHAR_START 4 static SANE_Status @@ -1216,14 +1216,14 @@ stv680_add_text (SANE_Byte * image, int width, int height, char *txt) len = strftime (line, MSG_MAXLEN, fmttxt, tm); - for (y = 0; y < CHAR_HEIGHT; y++) + for (y = 0; y < TEXT_CHAR_HEIGHT; y++) { - ptr = image + 3 * width * (height - CHAR_HEIGHT - 2 + y) + 12; + ptr = image + 3 * width * (height - TEXT_CHAR_HEIGHT - 2 + y) + 12; for (x = 0; x < len; x++) { - f = fontdata[line[x] * CHAR_HEIGHT + y]; - for (i = CHAR_WIDTH - 1; i >= 0; i--) + f = fontdata[line[x] * TEXT_CHAR_HEIGHT + y]; + for (i = TEXT_CHAR_WIDTH - 1; i >= 0; i--) { if (f & (CHAR_START << i)) { diff --git a/backend/umax_pp.c b/backend/umax_pp.c index b1121ef..16adbe3 100644 --- a/backend/umax_pp.c +++ b/backend/umax_pp.c @@ -103,10 +103,6 @@ * 129 if you want to know which parameters are unused */ -/* history: - * see Changelog - */ - #define UMAX_PP_BUILD 2301 #define UMAX_PP_STATE "release" @@ -206,34 +202,28 @@ umax_pp_attach (SANEI_Config * config, const char *devname) SANE_Status status = SANE_STATUS_GOOD; int ret, prt = 0, mdl; char model[32]; - char name[64]; - char *val; - - memset (name, 0, 64); + const char *name = NULL; + const char *val; - if ((strlen (devname) < 3)) + if (!devname || (strlen (devname) < 3)) return SANE_STATUS_INVAL; sanei_umax_pp_setastra (atoi((SANE_Char *) config->values[CFG_ASTRA])); /* if the name begins with a slash, it's a device, else it's an addr */ - if (devname != NULL) + if ((devname[0] == '/')) { - if ((devname[0] == '/')) - { - strncpy (name, devname, 64); - } + name = devname; + } + else + { + if ((devname[0] == '0') + && ((devname[1] == 'x') || (devname[1] == 'X'))) + prt = strtol (devname + 2, NULL, 16); else - { - if ((devname[0] == '0') - && ((devname[1] == 'x') || (devname[1] == 'X'))) - prt = strtol (devname + 2, NULL, 16); - else - prt = atoi (devname); - } + prt = atoi (devname); } - for (i = 0; i < num_devices; i++) { if (devname[0] == '/') @@ -295,7 +285,7 @@ umax_pp_attach (SANEI_Config * config, const char *devname) devname); return SANE_STATUS_IO_ERROR; } - sprintf (model, "Astra %dP", mdl); + snprintf (model, sizeof(model), "Astra %dP", mdl); dev = malloc (sizeof (Umax_PP_Descriptor) * (num_devices + 1)); @@ -319,12 +309,12 @@ umax_pp_attach (SANEI_Config * config, const char *devname) num_devices++; /* if there are user provided values, use them */ - val=(SANE_Char *) config->values[CFG_NAME]; + val=(const SANE_Char *) config->values[CFG_NAME]; if(strlen(val)==0) dev->sane.name = strdup (devname); else dev->sane.name = strdup (val); - val=(SANE_Char *) config->values[CFG_VENDOR]; + val=(const SANE_Char *) config->values[CFG_VENDOR]; if(strlen(val)==0) dev->sane.vendor = strdup ("UMAX"); else @@ -351,11 +341,11 @@ umax_pp_attach (SANEI_Config * config, const char *devname) dev->max_h_size = 2550; dev->max_v_size = 3500; } - val=(SANE_Char *) config->values[CFG_MODEL]; + val=(const SANE_Char *) config->values[CFG_MODEL]; if(strlen(val)==0) - dev->sane.model = strdup (model); + dev->sane.model = strdup (model); else - dev->sane.model = strdup (val); + dev->sane.model = strdup (val); DBG (3, "umax_pp_attach: device %s attached\n", devname); @@ -1462,6 +1452,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, if (info) *info |= SANE_INFO_RELOAD_PARAMS; + // fall through case OPT_GRAY_GAIN: case OPT_GREEN_GAIN: case OPT_RED_GAIN: diff --git a/backend/umax_pp_low.c b/backend/umax_pp_low.c index c5d9a93..ddcf3da 100644 --- a/backend/umax_pp_low.c +++ b/backend/umax_pp_low.c @@ -924,7 +924,7 @@ sanei_parport_find_device (void) int -sanei_umax_pp_initPort (int port, char *name) +sanei_umax_pp_initPort (int port, const char *name) { #ifndef IO_SUPPORT_MISSING # ifdef HAVE_LINUX_PPDEV_H @@ -1027,26 +1027,20 @@ sanei_umax_pp_initPort (int port, char *name) } else { - sprintf (strmodes, "\n"); - if (modes & PARPORT_MODE_PCSPP) - sprintf (strmodes, "%s\t\tPARPORT_MODE_PCSPP\n", - strmodes); - if (modes & PARPORT_MODE_TRISTATE) - sprintf (strmodes, "%s\t\tPARPORT_MODE_TRISTATE\n", - strmodes); - if (modes & PARPORT_MODE_EPP) - sprintf (strmodes, "%s\t\tPARPORT_MODE_EPP\n", strmodes); + snprintf(strmodes, sizeof(strmodes), + "\n%s%s%s%s%s%s", + (modes & PARPORT_MODE_PCSPP)? "\t\tPARPORT_MODE_PCSPP\n": "", + (modes & PARPORT_MODE_TRISTATE)? "\t\tPARPORT_MODE_TRISTATE\n": "", + (modes & PARPORT_MODE_EPP)? "\t\tPARPORT_MODE_EPP\n": "", + (modes & PARPORT_MODE_ECP)? "\t\tPARPORT_MODE_ECP\n": "", + (modes & PARPORT_MODE_COMPAT)? "\t\tPARPORT_MODE_COMPAT\n": "", + (modes & PARPORT_MODE_DMA)? "\t\tPARPORT_MODE_DMA\n": ""); + if (modes & PARPORT_MODE_ECP) { - sprintf (strmodes, "%s\t\tPARPORT_MODE_ECP\n", - strmodes); gECP = 1; } - if (modes & PARPORT_MODE_COMPAT) - sprintf (strmodes, "%s\t\tPARPORT_MODE_COMPAT\n", - strmodes); - if (modes & PARPORT_MODE_DMA) - sprintf (strmodes, "%s\t\tPARPORT_MODE_DMA\n", strmodes); + DBG (32, "parport modes: %X\n", modes); DBG (32, "parport modes: %s\n", strmodes); if (!(modes & PARPORT_MODE_EPP) @@ -10239,7 +10233,7 @@ moveToOrigin (void) end[0] = 0x19; end[1] = 0xD5; end[4] = 0x1B; - + // fall through case 1220: case 2000: w = 300; @@ -11226,6 +11220,7 @@ sanei_umax_pp_startScan (int x, int y, int width, int height, int dpi, } else y += 80; + // fall through default: y += 8; break; diff --git a/backend/umax_pp_low.h b/backend/umax_pp_low.h index 5e986c0..253ef6a 100644 --- a/backend/umax_pp_low.h +++ b/backend/umax_pp_low.h @@ -46,7 +46,7 @@ /*****************************************************************************/ /* set port to 'idle state' and get iopl */ /*****************************************************************************/ -extern int sanei_umax_pp_initPort (int port, char *name); +extern int sanei_umax_pp_initPort (int port, const char *name); extern int sanei_umax_pp_initScanner (int recover); extern int sanei_umax_pp_initTransport (int recover); extern int sanei_umax_pp_endSession (void); diff --git a/backend/umax_pp_mid.c b/backend/umax_pp_mid.c index 5f9fd5e..4b16745 100644 --- a/backend/umax_pp_mid.c +++ b/backend/umax_pp_mid.c @@ -199,7 +199,7 @@ sanei_umax_pp_model (int port, int *model) } int -sanei_umax_pp_attach (int port, char *name) +sanei_umax_pp_attach (int port, const char *name) { int recover = 0; diff --git a/backend/umax_pp_mid.h b/backend/umax_pp_mid.h index 5903a45..97d1366 100644 --- a/backend/umax_pp_mid.h +++ b/backend/umax_pp_mid.h @@ -74,7 +74,7 @@ */ -extern int sanei_umax_pp_attach (int port, char *name); +extern int sanei_umax_pp_attach (int port, const char *name); /* recognizes 1220P from 2000P diff --git a/backend/xerox_mfp.c b/backend/xerox_mfp.c index b7fcbee..f5fd70e 100644 --- a/backend/xerox_mfp.c +++ b/backend/xerox_mfp.c @@ -95,6 +95,9 @@ static char *str_cmd(int cmd) #define MAX_DUMP 70 const char *encTmpFileName = "/tmp/stmp_enc.tmp"; +/* + * Decode jpeg from `infilename` into dev->decData of dev->decDataSize size. + */ static int decompress(struct device __sane_unused__ *dev, const char __sane_unused__ *infilename) { @@ -131,6 +134,7 @@ static int decompress(struct device __sane_unused__ *dev, height = cinfo.output_height; pixel_size = cinfo.output_components; bmp_size = width * height * pixel_size; + assert(bmp_size <= POST_DATASIZE); dev->decDataSize = bmp_size; row_stride = width * pixel_size; @@ -152,32 +156,30 @@ static int decompress(struct device __sane_unused__ *dev, #endif } +/* copy from decoded jpeg image (dev->decData) into user's buffer (pDest) */ +/* returns 0 if there is no data to copy */ static int copy_decompress_data(struct device *dev, unsigned char *pDest, int maxlen, int *destLen) { int data_size = 0; - size_t result = 0, retVal = 0; - - if (0 == dev->decDataSize) { - *destLen = 0; - return retVal; - } + if (destLen) + *destLen = 0; + if (!dev->decDataSize) + return 0; data_size = dev->decDataSize - dev->currentDecDataIndex; - if (data_size > maxlen) { + if (data_size > maxlen) data_size = maxlen; + if (data_size && pDest) { + memcpy(pDest, dev->decData + dev->currentDecDataIndex, data_size); + if (destLen) + *destLen = data_size; + dev->currentDecDataIndex += data_size; } - memcpy(pDest, dev->decData+dev->currentDecDataIndex, data_size); - result = data_size; - *destLen = result; - dev->currentDecDataIndex += result; - retVal = result; - if (dev->decDataSize == dev->currentDecDataIndex) { dev->currentDecDataIndex = 0; dev->decDataSize = 0; } - - return retVal; + return 1; } static int decompress_tempfile(struct device *dev) @@ -209,6 +211,8 @@ static int isSupportedDevice(struct device __sane_unused__ *dev) if (dev->compressionTypes & (1 << 6)) { /* blacklist malfunctioning device(s) */ if (!strncmp(dev->sane.model, "SCX-4500W", 9) || + !strncmp(dev->sane.model, "C460", 4) || + !!strstr(dev->sane.model, "CLX-3170") || !strncmp(dev->sane.model, "M288x", 5)) return 0; return 1; @@ -1293,9 +1297,10 @@ sane_read(SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) dev->decDataSize > 0) { int diff = dev->total_img_size - dev->total_out_size; int bufLen = (diff < maxlen) ? diff : maxlen; - if (0 < diff && - 0 < copy_decompress_data(dev, buf, bufLen, lenp)) { - dev->total_out_size += *lenp; + if (diff && + copy_decompress_data(dev, buf, bufLen, lenp)) { + if (lenp) + dev->total_out_size += *lenp; return SANE_STATUS_GOOD; } } @@ -1459,6 +1464,7 @@ sane_start(SANE_Handle h) if (!dev->data && !(dev->data = malloc(DATASIZE))) return ret_cancel(dev, SANE_STATUS_NO_MEM); + /* this is for jpeg mode only */ if (!dev->decData && !(dev->decData = malloc(POST_DATASIZE))) return ret_cancel(dev, SANE_STATUS_NO_MEM); diff --git a/backend/xerox_mfp.h b/backend/xerox_mfp.h index 3d93f06..d85fe14 100644 --- a/backend/xerox_mfp.h +++ b/backend/xerox_mfp.h @@ -74,8 +74,8 @@ struct device { #define DATATAIL(dev) ((dev->dataoff + dev->datalen) & DATAMASK) #define DATAROOM(dev) dataroom(dev) -#define POST_DATASIZE 0xFFFFFF - SANE_Byte *decData; +#define POST_DATASIZE 0xFFFFFF /* 16777215 bytes */ + SANE_Byte *decData; /* static buffer of POST_DATASIZE bytes */ int decDataSize; int currentDecDataIndex; /* data from CMD_INQUIRY: */ diff --git a/configure.ac b/configure.ac index 376f290..bed7e1a 100644 --- a/configure.ac +++ b/configure.ac @@ -140,6 +140,7 @@ if test "$enable_avahi" = "yes"; then PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.24 ], [AC_DEFINE(WITH_AVAHI, 1, [define if Avahi support is enabled for saned and the net backend])], enable_avahi=no) fi +AM_CONDITIONAL([have_libavahi], [test x != "x$AVAHI_LIBS"]) dnl check sane to make sure we don't have two installations AC_CHECK_LIB(sane, sane_init, LIBSANE_EXISTS="yes") @@ -430,6 +431,48 @@ AS_IF([test xyes = "x$with_usb" && test xyes != "x$have_usb"], ]) AM_CONDITIONAL([have_usblib], [test x != "x$USB_LIBS"]) +dnl ****************************************************************** +dnl Check for libcurl availability +dnl ****************************************************************** +AC_ARG_WITH(libcurl, + AS_HELP_STRING([--with-libcurl], + [enable functionality that needs libcurl @<:@default=check@:>@]), + [], + [with_libcurl=check]) +AC_DEFINE(HAVE_LIBCURL, + [0], [Define to 1 if libcurl is available]) +AS_IF([test xno != "x$with_libcurl"], + [PKG_CHECK_MODULES(libcurl, [libcurl], + [AC_DEFINE([HAVE_LIBCURL], [1]) + with_libcurl=yes + ], + [AS_IF([test xcheck != "x$with_libcurl"], + [AC_MSG_ERROR([libcurl requested but not found])]) + with_libcurl=no + ]) + ]) +AM_CONDITIONAL([have_libcurl], [test x != "x$libcurl_LIBS"]) + +dnl ****************************************************************** +dnl Check for USB record/replay support +dnl ****************************************************************** +AC_ARG_WITH(usb_record_replay, + AS_HELP_STRING([--with-usb-record-replay], + [enable USB record and replay to XML files @<:@default=yes@:>@])) + +if test "x$with_usb_record_replay" != "xno"; then + PKG_CHECK_MODULES([XML], [libxml-2.0], have_libxml=yes, have_libxml=no) + if test "x$have_libxml" = xyes; then + AC_DEFINE(HAVE_LIBXML2, 1, [Define to 1 if libxml2 is available]) + AC_DEFINE(WITH_USB_RECORD_REPLAY, 1, [define if USB record replay is enabled]) + else + if test "x$with_usb_record_replay" = xyes; then + AC_MSG_ERROR([USB record and replay support was requested but libxml-2.0 was not found]) + fi + fi +fi +AM_CONDITIONAL([have_libxml2], [test x != "x$XML_LIBS"]) + dnl ************ dnl SCSI Support dnl ************ @@ -593,8 +636,8 @@ AC_ARG_ENABLE(local-backends, ALL_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e \ avision bh canon canon630u canon_dr canon_pp cardscan \ coolscan coolscan2 coolscan3 dc25 dc210 dc240 \ - dell1600n_net dmc epjitsu epson epson2 epsonds fujitsu genesys \ - gphoto2 gt68xx hp hp3500 hp3900 hp4200 hp5400 \ + 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 \ matsushita microtek microtek2 mustek mustek_pp \ @@ -823,6 +866,7 @@ else fi echo "IPv6 support: `eval eval echo ${ipv6}`" echo "Avahi support: `eval eval echo ${enable_avahi}`" +echo "cURL support: `eval eval echo ${with_libcurl}`" echo "SNMP support: `eval eval echo ${with_snmp}`" echo "-> The following backends will be built:" for backend in ${BACKENDS} ; do diff --git a/doc/Makefile.am b/doc/Makefile.am index 1651ed9..56d3517 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -19,12 +19,12 @@ EXTRA_DIST = scanimage.man sane-config.man sane-find-scanner.man \ BACKEND_5MANS = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 \ sane-dll.5 sane-dc25.5 sane-dmc.5 sane-epson.5 sane-epson2.5 sane-epsonds.5 \ - sane-hp.5 sane-gphoto2.5 sane-leo.5 sane-lexmark.5 \ + sane-escl.5 sane-hp.5 sane-gphoto2.5 sane-leo.5 sane-lexmark.5 \ sane-matsushita.5 sane-microtek.5 sane-microtek2.5 sane-mustek.5 \ sane-nec.5 sane-net.5 sane-pie.5 sane-pieusb.5 sane-pint.5 sane-pnm.5 \ sane-umax.5 sane-qcam.5 sane-scsi.5 sane-artec.5 sane-kodak.5 sane-kodakaio.5 \ sane-fujitsu.5 sane-sharp.5 sane-s9036.5 sane-tamarack.5 \ - sane-ricoh.5 sane-ricoh.5 sane-avision.5 sane-plustek.5 sane-st400.5 \ + sane-ricoh.5 sane-ricoh2.5 sane-avision.5 sane-plustek.5 sane-st400.5 \ sane-mustek_pp.5 sane-dc210.5 sane-v4l.5 sane-snapscan.5 \ sane-canon.5 sane-coolscan.5 sane-bh.5 sane-dc240.5 \ sane-umax_pp.5 sane-umax1220u.5 sane-sm3600.5 sane-usb.5 \ @@ -41,8 +41,8 @@ BACKEND_5MANS = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 \ EXTRA_DIST += sane-abaton.man sane-agfafocus.man sane-apple.man sane-as6e.man \ sane-dll.man sane-dc25.man sane-dmc.man sane-epson.man \ - sane-epson2.man sane-epsonds.man sane-hp.man sane-gphoto2.man sane-leo.man \ - sane-lexmark.man sane-matsushita.man sane-microtek.man \ + sane-epson2.man sane-epsonds.man sane-escl.man sane-hp.man sane-gphoto2.man \ + sane-leo.man sane-lexmark.man sane-matsushita.man sane-microtek.man \ sane-microtek2.man sane-mustek.man sane-nec.man sane-net.man \ sane-pie.man sane-pieusb.man sane-pint.man sane-pnm.man sane-umax.man \ sane-qcam.man sane-scsi.man sane-artec.man sane-fujitsu.man \ @@ -157,7 +157,7 @@ DESC_FILES = descriptions/abaton.desc descriptions/agfafocus.desc \ descriptions/dc210.desc descriptions/dc240.desc descriptions/dc25.desc \ descriptions/dell1600n_net.desc descriptions/dll.desc descriptions/dmc.desc \ descriptions/epjitsu.desc descriptions/epson2.desc descriptions/epson.desc \ - descriptions/epsonds.desc \ + descriptions/epsonds.desc descriptions/escl.desc \ descriptions/fujitsu.desc descriptions/genesys.desc \ descriptions/gphoto2.desc descriptions/gt68xx.desc descriptions/hp3500.desc \ descriptions/hp3900.desc descriptions/hp4200.desc descriptions/hp5400.desc \ @@ -203,6 +203,7 @@ DESC_EXT_FILES = descriptions-external/brother2.desc \ descriptions-external/primascan.desc \ descriptions-external/primax.desc \ descriptions-external/samsung.desc \ + descriptions-external/scangearmp2.desc \ descriptions-external/scanwit.desc \ descriptions-external/utsushi.desc \ descriptions-external/v4l2.desc \ diff --git a/doc/backend-writing.txt b/doc/backend-writing.txt index 576e8e4..736fcec 100644 --- a/doc/backend-writing.txt +++ b/doc/backend-writing.txt @@ -1,4 +1,4 @@ -2006-01-01 +2019-08-26 Here are a few rules and tips that should help writing a SANE-conforming backend and including it into the SANE package: @@ -79,16 +79,10 @@ sane-backends/ configure.ac depcomp install-sh ltmain.sh Makefile.am Makefile.in missing mkinstalldirs: Part of the build system as explained above. * ChangeLog: - The ChangeLog contains all the changes made since the last stable release. - If anything is changed in git, write a decent commit message documenting - your work. This commit message will be included as is in the ChangeLog - file for the next stable release. Users of development code should refer - to the `git log` output or the on-line log. - For more details on the format, see the SANE git page on the website. - * ChangeLog-1.0.0, ChangeLog-1.0.1 (...): - These files contain the ChangeLogs of older releases. Once a new release has - been made, the current ChangeLog renamed to ChangeLog-1.something.something - and a new empty ChangeLog is created. + The ChangeLog contains all the changes made since sane-backends-1.0.28 + or a stub explaining how to create an up-to-date list of changes. + ChangeLogs for all releases up to and including 1.0.28 can be found in + the ChangeLogs/ directory. Please note that we skipped 1.0.26. * AUTHORS COPYING INSTALL LICENSE: General documentation + license. * NEWS: diff --git a/doc/descriptions-external/brother-mfc4600.desc b/doc/descriptions-external/brother-mfc4600.desc index 18bd3cb..1f03591 100644 --- a/doc/descriptions-external/brother-mfc4600.desc +++ b/doc/descriptions-external/brother-mfc4600.desc @@ -12,8 +12,6 @@ :backend "brother-mfc4600" ; name of backend ;:version "0.42" ; version of backend (or "unmaintained") -;:new :yes ; Is the backend new to this SANE release? - ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://sourceforge.net/projects/brother-mfc" ;:comment "" diff --git a/doc/descriptions-external/brother.desc b/doc/descriptions-external/brother.desc index 39c54da..e935a53 100644 --- a/doc/descriptions-external/brother.desc +++ b/doc/descriptions-external/brother.desc @@ -12,8 +12,6 @@ :backend "brother" ; name of backend ;:version "1.0.0" ; version of backend (or "unmaintained") -;:new :yes ; Is the backend new to this SANE release? - ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://solutions.brother.com/linux/sol/printer/linux/sane_drivers.html" ; backend's web page :comment "External backend made by brother. As this software contains non-free parts, it can't be included into SANE. If you can't find your model here, please have a look at the brother website which contains the latest list." diff --git a/doc/descriptions-external/brother2.desc b/doc/descriptions-external/brother2.desc index afdb1a6..6be12ec 100644 --- a/doc/descriptions-external/brother2.desc +++ b/doc/descriptions-external/brother2.desc @@ -12,8 +12,6 @@ :backend "brother2" ; name of backend ;:version "1.0.0" ; version of backend (or "unmaintained") -;:new :yes ; Is the backend new to this SANE release? - ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://solutions.brother.com/linux/sol/printer/linux/sane_drivers.html" ; backend's web page :comment "External backend made by brother. As this software contains non-free parts, it can't be included into SANE. If you can't find your model here, please have a look at the brother website which contains the latest list." diff --git a/doc/descriptions-external/cs3200f.desc b/doc/descriptions-external/cs3200f.desc index 15c8c33..4d22d95 100644 --- a/doc/descriptions-external/cs3200f.desc +++ b/doc/descriptions-external/cs3200f.desc @@ -12,8 +12,6 @@ :backend "cs3200f" ; name of backend ;:version "0" ; version of backend (or "unmaintained") -;:new :yes ; Is the backend new to this SANE release? - ; :yes or :no ;:manpage "sane-cs3200f" ; name of manpage (if it exists) ;:url "http://www.luser.com/temp/" ; backend's web page :comment "Backend is in experimental CVS" diff --git a/doc/descriptions-external/hp3770.desc b/doc/descriptions-external/hp3770.desc index c6e8b9f..03ce486 100644 --- a/doc/descriptions-external/hp3770.desc +++ b/doc/descriptions-external/hp3770.desc @@ -12,8 +12,6 @@ :backend "hp3770" ; name of backend ;:version "0.0" ; version of backend (or "unmaintained") -;:new :yes ; Is the backend new to this SANE release? - ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://www.cyberbaladeur.fr/telechargement.html" ; backend's web page :comment "This backend can't be added to the SANE distribution because it consists of binary-only code." diff --git a/doc/descriptions-external/hp8200.desc b/doc/descriptions-external/hp8200.desc index 0a259be..7593d67 100644 --- a/doc/descriptions-external/hp8200.desc +++ b/doc/descriptions-external/hp8200.desc @@ -12,8 +12,6 @@ :backend "hp8200" ; name of backend ;:version "0.0" ; version of backend (or "unmaintained") -;:new :yes ; Is the backend new to this SANE release? - ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://www.cyberbaladeur.fr/telechargement.html" ; backend's web page :comment "This backend can't be added to the SANE distribution because it consists of binary-only code." diff --git a/doc/descriptions-external/hpaio.desc b/doc/descriptions-external/hpaio.desc index dab5a8c..611d877 100644 --- a/doc/descriptions-external/hpaio.desc +++ b/doc/descriptions-external/hpaio.desc @@ -10,2231 +10,4007 @@ :devicetype :scanner ; start of a list of devices.... :mfg "Hewlett-Packard" ; name a manufacturer :url "http://www.hp.com/united-states/consumer/gateway/printing_multifunction.html" -:model "HP Officejet v30 All-in-one Printer" +:model "HP 915 Inkjet All-in-one Printer" :status :good -:model "HP Officejet v40xi All-in-one Printer" +:model "HP cm8050 Color Multifunction Printer With Edgeline Technology" :status :good -:model "HP Officejet v40s All-in-one Printer" +:model "HP cm8060 Color Multifunction Printer With Edgeline Technology" :status :good -:model "HP Officejet r40 All-in-one Printer" +:model "HP Color LaserJet 2800 All-in-one Printer" :status :good -:model "HP Officejet v40 All-in-one Printer" +:model "HP Color LaserJet 2820 All-in-one Printer" :status :good -:model "HP Officejet r40xi All-in-one Printer" +:model "HP Color LaserJet 2830 All-in-one Printer" :status :good -:model "HP Officejet t45xi All-in-one Printer" +:model "HP Color LaserJet 2840 All-in-one Printer" :status :good -:model "HP Officejet r45 All-in-one Printer" +:model "HP Color LaserJet 4730 Multifunction Printer" :status :good -:model "HP Officejet v45 All-in-one Printer" +:model "HP Color LaserJet 4730x Multifunction Printer" :status :good -:model "HP Officejet t45 All-in-one Printer" +:model "HP Color LaserJet 4730xm Multifunction Printer" :status :good -:model "HP Officejet g55 All-in-one Printer" +:model "HP Color LaserJet 4730xs Multifunction Printer" :status :good -:model "HP Officejet g55xi All-in-one Printer" +:model "HP Color LaserJet cm1015 Multifunction Printer" :status :good -:model "HP Officejet k60 All-in-one Printer" +:model "HP Color LaserJet cm1017 Multifunction Printer" :status :good -:model "HP Officejet r60 All-in-one Printer" +:model "HP Color LaserJet cm1312 Multifunction Printer" :status :good -:model "HP Officejet k60xi All-in-one Printer" +:model "HP Color LaserJet cm1312nfi Multifunction Printer" :status :good -:model "HP Officejet t65xi All-in-one Printer" +:model "HP Color LaserJet cm2320 Multifunction Printer" :status :good -:model "HP Officejet t65 All-in-one Printer" +:model "HP Color LaserJet cm2320fxi Multifunction Printer" :status :good -:model "HP Officejet r65 All-in-one Printer" +:model "HP Color LaserJet cm2320n Multifunction Printer" :status :good -:model "HP Officejet k80 All-in-one Printer" +:model "HP Color LaserJet cm2320nf Multifunction Printer" :status :good -:model "HP Officejet k80xi All-in-one Printer" +:model "HP Color LaserJet cm4730 Multifunction Printer" :status :good -:model "HP Officejet r80xi All-in-one Printer" +:model "HP Color LaserJet cm4730f Multifunction Printer" :status :good -:model "HP Officejet r80 All-in-one Printer" +:model "HP Color LaserJet cm4730fm Multifunction Printer" :status :good -:model "HP Officejet g85 All-in-one Printer" +:model "HP Color LaserJet cm4730fsk Multifunction Printer" :status :good -:model "HP Officejet g85xi All-in-one Printer" +:model "HP Color LaserJet Enterprise Flow MFP m776z" :status :good -:model "HP Officejet g95 All-in-one Printer" +:model "HP Color LaserJet Enterprise Flow MFP m776zs" :status :good -:model "HP Photosmart All-in-one Printer - b109d" +:model "HP Color LaserJet Enterprise MFP m776dn" :status :good -:model "HP Photosmart All-in-one Printer - b109e" +:model "HP Color LaserJet Managed Flow MFP e67560z" :status :good -:model "HP Photosmart All-in-one Printer - b109c" +:model "HP Color LaserJet Managed Flow MFP e67660z" :status :good -:model "HP Photosmart All-in-one Printer - b109a" +:model "HP Color LaserJet Managed Flow MFP e77822z" :status :good -:model "HP Photosmart Wireless All-in-one Printer - b109q" +:model "HP Color LaserJet Managed Flow MFP e77825z" :status :good -:model "HP Photosmart Wireless All-in-one Printer - b109n" +:model "HP Color LaserJet Managed Flow MFP e77830z" :status :good -:model "HP Photosmart Wireless All-in-one Printer - b109q=r" +:model "HP Color LaserJet Managed Flow MFP e87640z" :status :good -:model "HP Officejet d125xi All-in-one Printer" +:model "HP Color LaserJet Managed Flow MFP e87650z" :status :good -:model "HP Officejet d135 All-in-one Printer" +:model "HP Color LaserJet Managed Flow MFP e87660z" :status :good -:model "HP Officejet d135xi All-in-one Printer" +:model "HP Color LaserJet Managed MFP e67650dh" :status :good -:model "HP Officejet d145xi All-in-one Printer" +:model "HP Color LaserJet Managed MFP e77422a" :status :good -:model "HP Officejet d145 All-in-one Printer" +:model "HP Color LaserJet Managed MFP e77422dn" :status :good -:model "HP Officejet d155xi All-in-one Printer" +:model "HP Color LaserJet Managed MFP e77422dv" :status :good -:model "HP Deskjet Ink Advantage k209a All-in-one Printer" +:model "HP Color LaserJet Managed MFP e77428dn" :status :good -:model "HP Photosmart Plus All-in-one Printer - b209a" +:model "HP Color LaserJet Managed MFP e77822dn" :status :good -:model "HP Photosmart Plus All-in-one Printer - b209b" +:model "HP Color LaserJet Managed MFP e77825dn" :status :good -:model "HP Photosmart Plus All-in-one Printer - b209c" +:model "HP Color LaserJet Managed MFP e77830dn" :status :good -:model "HP Printer Scanner Copier 300" +:model "HP Color LaserJet Managed MFP e87640 Dn" :status :good -:model "HP Photosmart Premium All-in-one Printer Series - c309h" +:model "HP Color LaserJet Managed MFP e87640 Du" :status :good -:model "HP Photosmart Premium All-in-one Printer Series - c309g" +:model "HP Color LaserJet Managed MFP e87650dn" :status :good -:model "HP Photosmart Premium Fax All-in-one Printer - c309a" +:model "HP Color LaserJet Managed MFP e87650du" :status :good -:model "HP Photosmart Premium Fax All-in-one Printer Series -c309c" +:model "HP Color LaserJet Managed MFP e87660dn" :status :good -:model "HP Photosmart Premium Fax All-in-one Printer Series -c309a" +:model "HP Color LaserJet Managed MFP e87660du" :status :good -:model "HP Deskjet f310 All-in-one Printer" +:model "HP Color LaserJet MFP m277c6" :status :good -:model "HP Deskjet f325 All-in-one Printer" +:model "HP Color LaserJet MFP m277dw" :status :good -:model "HP Deskjet f335 All-in-one Printer" +:model "HP Color LaserJet MFP m277n" :status :good -:model "HP Deskjet f340 All-in-one Printer" +:model "HP Color LaserJet MFP m377 Fnw" :status :good -:model "HP Deskjet f350 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m178cn" :status :good -:model "HP Deskjet f370 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m178n" :status :good -:model "HP Deskjet f375 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m179cfw" :status :good -:model "HP Deskjet f378 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m179fw" :status :good -:model "HP Deskjet f379 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m180cn" :status :good -:model "HP Deskjet f380 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m180n" :status :good -:model "HP Deskjet f385 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m180nw" :status :good -:model "HP Deskjet f388 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m181cfw" :status :good -:model "HP Deskjet f390 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m181fnw" :status :good -:model "HP Deskjet f394 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m181fw" :status :good -:model "HP PSC 500xi All-in-one Printer" +:model "HP Color LaserJet Pro MFP m274n" :status :good -:model "HP PSC 500 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m278cw" :status :good -:model "HP Officejet 500 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m278dn" :status :good -:model "HP Officejet 520 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m278nw" :status :good -:model "HP Officejet 570 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m279fdw" :status :good -:model "HP Officejet 580 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m280c2" :status :good -:model "HP Officejet 590 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m280cnw" :status :good -:model "HP Officejet 600 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m280nw" :status :good -:model "HP Officejet 610 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m281cdw" :status :good -:model "HP Officejet 630 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m281dne" :status :good -:model "HP Officejet 635 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m281fdn" :status :good -:model "HP Officejet 700 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m281fdw" :status :good -:model "HP Officejet 710 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m476dn" :status :good -:model "HP PSC 720 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m476dw" :status :good -:model "HP Officejet 720 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m476nw" :status :good -:model "HP Officejet 725 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m477 Fdn" :status :good -:model "HP Deskjet f735 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m477 Fdw" :status :good -:model "HP PSC 750 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m477 Fnw" :status :good -:model "HP PSC 750xi All-in-one Printer" +:model "HP Color LaserJet Pro MFP m478fcdn" :status :good -:model "HP PSC 760 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m478fcdw" :status :good -:model "HP PSC 780 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m479dw" :status :good -:model "HP PSC 780xi All-in-one Printer" +:model "HP Color LaserJet Pro MFP m479fcdn" :status :good -:model "HP PSC 900 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m479fcdw" :status :good -:model "HP 915 Inkjet All-in-one Printer" +:model "HP Color LaserJet Pro MFP m479fdn" :status :good -:model "HP PSC 920 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m479fdw" :status :good -:model "HP PSC 950 All-in-one Printer" +:model "HP Color LaserJet Pro MFP m479fnw" :status :good -:model "HP PSC 950vr All-in-one Printer" +:model "HP Color LaserJet Pro Mpf m176n" :status :good -:model "HP PSC 950xi All-in-one Printer" +:model "HP Color LaserJet Pro Mpf m177fw" :status :good -:model "HP LaserJet m1005 Multifunction Printer" +:model "HP Designjet 4500mfp" :status :good -:model "HP Color LaserJet cm1015 Multifunction Printer" +:model "HP Designjet 4520mfp" :status :good -:model "HP Color LaserJet cm1017 Multifunction Printer" +:model "HP Designjet t790ps 24in" :status :good -:model "HP LaserJet 1100a Xi All-in-one Printer" +:model "HP Deskjet 1050 j410 All-in-one Printer" :status :good -:model "HP LaserJet 1100xi Printer" +:model "HP Deskjet 1051 All-in-one Printer" :status :good -:model "HP LaserJet 1100a All-in-one Printer" +:model "HP Deskjet 1055 All-in-one Printer -j410e" :status :good -:model "HP LaserJet 1100 Printer" +:model "HP Deskjet 1056 All-in-one Printer -j410a" :status :good -:model "HP LaserJet 1100a Se All-in-one Printer" +:model "HP Deskjet 1510 All-in-one Printer" :status :good -:model "HP LaserJet 1100se Printer" +:model "HP Deskjet 1511 All-in-one Printer" :status :good -:model "HP PSC 1110v All-in-one Printer" +:model "HP Deskjet 1512 All-in-one Printer" :status :good -:model "HP PSC 1110 All-in-one Printer" +:model "HP Deskjet 1513 All-in-one Printer" :status :good -:model "HP PSC 1118 All-in-one Printer" +:model "HP Deskjet 1514 All-in-one Printer" :status :good -:model "HP LaserJet m1120 Multifunction Printer" +:model "HP Deskjet 2050 j510 All-in-one Printer" :status :good -:model "HP LaserJet m1120n Multifunction Printer" +:model "HP Deskjet 2130 All-in-one Printer Series" :status :good -:model "HP Officejet Pro 1150c All-in-one Printer" +:model "HP Deskjet 2131 All-in-one Printer" :status :good -:model "HP Officejet Pro 1150cse All-in-one Printer" +:model "HP Deskjet 2132 All-in-one Printer" :status :good -:model "HP Officejet Pro 1170cse All-in-one Printer" +:model "HP Deskjet 2134 All-in-one Printer" :status :good -:model "HP Officejet Pro 1170c All-in-one Printer" +:model "HP Deskjet 2200 All-in-one" :status :good -:model "HP Officejet Pro 1170cxi All-in-one Printer" +:model "HP Deskjet 2510 All-in-one Printer" :status :good -:model "HP Officejet Pro 1175cxi All-in-one Printer" +:model "HP Deskjet 2511 All-in-one Printer" :status :good -:model "HP Officejet Pro 1175cse All-in-one Printer" +:model "HP Deskjet 2512 All-in-one Printer" :status :good -:model "HP Officejet Pro 1175c All-in-one Printer" +:model "HP Deskjet 2514 All-in-one Printer" :status :good -:model "HP PSC 1200 All-in-one Printer" +:model "HP Deskjet 2540 All-in-one Printer" :status :good -:model "HP PSC 1205 All-in-one Printer" +:model "HP Deskjet 2541 All-in-one Printer" :status :good -:model "HP PSC 1209 All-in-one Printer" +:model "HP Deskjet 2542 All-in-one Printer" :status :good -:model "HP PSC 1210xi All-in-one Printer" +:model "HP Deskjet 2543 All-in-one Printer" :status :good -:model "HP PSC 1210v All-in-one Printer" +:model "HP Deskjet 2544 All-in-one Printer" :status :good -:model "HP PSC 1210 All-in-one Printer" +:model "HP Deskjet 2545 All-in-one Printer" :status :good -:model "HP PSC 1213 All-in-one Printer" +:model "HP Deskjet 2546b All-in-one Printer" :status :good -:model "HP PSC 1215 All-in-one Printer" +:model "HP Deskjet 2546p All-in-one Printer" :status :good -:model "HP PSC 1216 All-in-one Printer" +:model "HP Deskjet 2546r All-in-one Printer" :status :good -:model "HP PSC 1217 All-in-one Printer" +:model "HP Deskjet 2549 All-in-one Printer" :status :good -:model "HP PSC 1218 All-in-one Printer" +:model "HP Deskjet 2620 All-in-one" :status :good -:model "HP PSC 1219 All-in-one Printer" +:model "HP Deskjet 2621 All-in-one" :status :good -:model "HP LaserJet 1220 All-in-one Printer" +:model "HP Deskjet 2622 All-in-one" :status :good -:model "HP LaserJet 1220se All-in-one Printer" +:model "HP Deskjet 2623 All-in-one" :status :good -:model "HP PSC 1300 All-in-one Printer" +:model "HP Deskjet 3050 j610 Series" :status :good -:model "HP PSC 1310 All-in-one Printer" +:model "HP Deskjet 3050a j611 Series" :status :good -:model "HP PSC 1311 All-in-one Printer" +:model "HP Deskjet 3051a E-all-in-one Printer j611h" :status :good -:model "HP Color LaserJet cm1312 Multifunction Printer" +:model "HP Deskjet 3052a E-all-in-one Printer j611e" :status :good -:model "HP Color LaserJet cm1312nfi Multifunction Printer" +:model "HP Deskjet 3052a E-all-in-one Printer j611f" :status :good -:model "HP PSC 1312 All-in-one Printer" +:model "HP Deskjet 3052a E-all-in-one Printer j611g" :status :good -:model "HP PSC 1315v All-in-one Printer" +:model "HP Deskjet 3054a E-all-in-one Printer j611c" :status :good -:model "HP PSC 1315s All-in-one Printer" +:model "HP Deskjet 3054a E-all-in-one Printer j611d" :status :good -:model "HP PSC 1315xi All-in-one Printer" +:model "HP Deskjet 3054a E-all-in-one Printer j611j" :status :good -:model "HP PSC 1315 All-in-one Printer" +:model "HP Deskjet 3055a E-all-in-one Printer j611n" :status :good -:model "HP PSC 1317 All-in-one Printer" +:model "HP Deskjet 3056a E-all-in-one Printer" :status :good -:model "HP PSC 1318 All-in-one Printer" +:model "HP Deskjet 3057a E-all-in-one Printer j611n" :status :good -:model "HP LaserJet m1319f Multifunction Printer" +:model "HP Deskjet 3059a E-all-in-one Printer j611n" :status :good -:model "HP PSC 1340 All-in-one Printer" +:model "HP Deskjet 3070 b611 Series" :status :good -:model "HP PSC 1345 All-in-one Printer" +:model "HP Deskjet 3510 E-all-in-one" :status :good -:model "HP PSC 1350xi All-in-one Printer" +:model "HP Deskjet 3511 E-all-in-one" :status :good -:model "HP PSC 1350v All-in-one Printer" +:model "HP Deskjet 3512 E-all-in-one" :status :good -:model "HP PSC 1350 All-in-one Printer" +:model "HP Deskjet 3520 E-all-in-one Series" :status :good -:model "HP PSC 1355 All-in-one Printer" +:model "HP Deskjet 3521 E-all-in-one Printer" :status :good -:model "HP PSC 1401 All-in-one Printer" +:model "HP Deskjet 3522 E-all-in-one Printer" :status :good -:model "HP PSC 1402 All-in-one Printer" +:model "HP Deskjet 3524 E-all-in-one Printer" :status :good -:model "HP PSC 1403 All-in-one Printer" +:model "HP Deskjet 3526 E-all-in-one Printer" :status :good -:model "HP PSC 1406 All-in-one Printer" +:model "HP Deskjet 3630 All-in-one Printer" :status :good -:model "HP PSC 1408 All-in-one Printer" +:model "HP Deskjet 3632 All-in-one Printer" :status :good -:model "HP PSC 1410 All-in-one Printer" +:model "HP Deskjet 3633 All-in-one Printer" :status :good -:model "HP PSC 1410v All-in-one Printer" +:model "HP Deskjet 3634 All-in-one Printer" :status :good -:model "HP PSC 1410xi All-in-one Printer" +:model "HP Deskjet 3700 All-in-one" :status :good -:model "HP PSC 1415 All-in-one Printer" +:model "HP Deskjet 3722 All-in-one" :status :good -:model "HP PSC 1417 All-in-one Printer" +:model "HP Deskjet f2110 All-in-one Printer" :status :good -:model "HP PSC 1503 All-in-one Printer" +:model "HP Deskjet f2120 All-in-one Printer" :status :good -:model "HP PSC 1504 All-in-one Printer" +:model "HP Deskjet f2128 All-in-one Printer" :status :good -:model "HP PSC 1507 All-in-one Printer" +:model "HP Deskjet f2140 All-in-one Printer" :status :good -:model "HP PSC 1508 All-in-one Printer" +:model "HP Deskjet f2179 All-in-one Printer" :status :good -:model "HP PSC 1510s All-in-one Printer" +:model "HP Deskjet f2180 All-in-one Printer" :status :good -:model "HP PSC 1510xi All-in-one Printer" +:model "HP Deskjet f2185 All-in-one Printer" :status :good -:model "HP PSC 1510 All-in-one Printer" +:model "HP Deskjet f2187 All-in-one Printer" :status :good -:model "HP PSC 1510v All-in-one Printer" +:model "HP Deskjet f2188 All-in-one Printer" :status :good -:model "HP PSC 1513s All-in-one Printer" +:model "HP Deskjet f2210 All-in-one Printer" :status :good -:model "HP PSC 1513 All-in-one Printer" +:model "HP Deskjet f2212 All-in-one Printer" :status :good -:model "HP PSC 1514 All-in-one Printer" +:model "HP Deskjet f2214 All-in-one Printer" :status :good -:model "HP LaserJet m1522n Multifunction Printer" +:model "HP Deskjet f2224 All-in-one Printer" :status :good -:model "HP LaserJet m1522nf Multifunction Printer" +:model "HP Deskjet f2235 All-in-one Printer" :status :good -:model "HP LaserJet m1522 Multifunction Printer" +:model "HP Deskjet f2238 All-in-one Printer" :status :good -:model "HP PSC 1600 All-in-one Printer" +:model "HP Deskjet f2240 All-in-one Printer" :status :good -:model "HP PSC 1603 All-in-one Printer" +:model "HP Deskjet f2250 All-in-one Printer" :status :good -:model "HP PSC 1605 All-in-one Printer" +:model "HP Deskjet f2275 All-in-one Printer" :status :good -:model "HP PSC 1608 All-in-one Printer" +:model "HP Deskjet f2276 All-in-one Printer" :status :good -:model "HP PSC 1610 All-in-one Printer" +:model "HP Deskjet f2280 All-in-one Printer" :status :good -:model "HP PSC 1610xi All-in-one Printer" +:model "HP Deskjet f2288 All-in-one Printer" :status :good -:model "HP PSC 1610v All-in-one Printer" +:model "HP Deskjet f2290 All-in-one Printer" :status :good -:model "HP PSC 1613 All-in-one Printer" +:model "HP Deskjet f2410 All-in-one Printer" :status :good -:model "HP PSC 1615 All-in-one Printer" +:model "HP Deskjet f2418 All-in-one Printer" :status :good -:model "HP PSC 2105 All-in-one Printer" +:model "HP Deskjet f2420 All-in-one Printer" :status :good -:model "HP PSC 2108 All-in-one Printer" +:model "HP Deskjet f2423 All-in-one Printer" :status :good -:model "HP Deskjet f2110 All-in-one Printer" +:model "HP Deskjet f2430 All-in-one Printer" :status :good -:model "HP PSC 2110 All-in-one Printer" +:model "HP Deskjet f2440 All-in-one Printer" :status :good -:model "HP PSC 2110v All-in-one Printer" +:model "HP Deskjet f2476 All-in-one Printer" :status :good -:model "HP PSC 2110xi All-in-one Printer" +:model "HP Deskjet f2480 All-in-one Printer" :status :good -:model "HP PSC 2115 All-in-one Printer" +:model "HP Deskjet f2483 All-in-one Printer" :status :good -:model "HP Deskjet f2120 All-in-one Printer" +:model "HP Deskjet f2488 All-in-one Printer" :status :good -:model "HP Deskjet f2128 All-in-one Printer" +:model "HP Deskjet f2492 All-in-one Printer" :status :good -:model "HP Deskjet f2140 All-in-one Printer" +:model "HP Deskjet f2493 All-in-one Printer" :status :good -:model "HP PSC 2150 All-in-one Printer" +:model "HP Deskjet f310 All-in-one Printer" :status :good -:model "HP PSC 2170 All-in-one Printer" +:model "HP Deskjet f325 All-in-one Printer" :status :good -:model "HP PSC 2171 All-in-one Printer" +:model "HP Deskjet f335 All-in-one Printer" :status :good -:model "HP PSC 2175 All-in-one Printer" +:model "HP Deskjet f340 All-in-one Printer" :status :good -:model "HP PSC 2175v All-in-one Printer" +:model "HP Deskjet f350 All-in-one Printer" :status :good -:model "HP PSC 2175xi All-in-one Printer" +:model "HP Deskjet f370 All-in-one Printer" :status :good -:model "HP Deskjet f2179 All-in-one Printer" +:model "HP Deskjet f375 All-in-one Printer" :status :good -:model "HP PSC 2179 All-in-one Printer" +:model "HP Deskjet f378 All-in-one Printer" :status :good -:model "HP Deskjet f2180 All-in-one Printer" +:model "HP Deskjet f379 All-in-one Printer" :status :good -:model "HP Deskjet f2185 All-in-one Printer" +:model "HP Deskjet f380 All-in-one Printer" :status :good -:model "HP Deskjet f2187 All-in-one Printer" +:model "HP Deskjet f385 All-in-one Printer" :status :good -:model "HP Deskjet f2188 All-in-one Printer" +:model "HP Deskjet f388 All-in-one Printer" :status :good -:model "HP PSC 2200 All-in-one Printer" +:model "HP Deskjet f390 All-in-one Printer" :status :good -:model "HP PSC 2210 All-in-one Printer" +:model "HP Deskjet f394 All-in-one Printer" :status :good -:model "HP PSC 2210v All-in-one Printer" +:model "HP Deskjet f4135 All-in-one Printer" :status :good -:model "HP PSC 2210xi All-in-one Printer" +:model "HP Deskjet f4140 All-in-one Printer" :status :good -:model "HP Deskjet f2210 All-in-one Printer" +:model "HP Deskjet f4150 All-in-one Printer" :status :good -:model "HP Deskjet f2212 All-in-one Printer" +:model "HP Deskjet f4172 All-in-one Printer" :status :good -:model "HP Deskjet f2214 All-in-one Printer" +:model "HP Deskjet f4175 All-in-one Printer" :status :good -:model "HP Deskjet f2224 All-in-one Printer" +:model "HP Deskjet f4180 All-in-one Printer" :status :good -:model "HP Deskjet f2235 All-in-one Printer" +:model "HP Deskjet f4185 All-in-one Printer" :status :good -:model "HP Deskjet f2238 All-in-one Printer" +:model "HP Deskjet f4188 All-in-one Printer" :status :good -:model "HP Deskjet f2240 All-in-one Printer" +:model "HP Deskjet f4190 All-in-one Printer" :status :good -:model "HP Deskjet f2250 All-in-one Printer" +:model "HP Deskjet f4194 All-in-one Printer" :status :good -:model "HP Deskjet f2275 All-in-one Printer" +:model "HP Deskjet f4210 All-in-one Printer" :status :good -:model "HP Deskjet f2276 All-in-one Printer" +:model "HP Deskjet f4213 All-in-one Printer" :status :good -:model "HP Deskjet f2280 All-in-one Printer" +:model "HP Deskjet f4224 All-in-one Printer" :status :good -:model "HP Deskjet f2288 All-in-one Printer" +:model "HP Deskjet f4230 All-in-one Printer" :status :good -:model "HP Deskjet f2290 All-in-one Printer" +:model "HP Deskjet f4235 All-in-one Printer" :status :good -:model "HP PSC 2300 Series All-in-one Printer" +:model "HP Deskjet f4238 All-in-one Printer" :status :good -:model "HP PSC 2310 All-in-one Printer" +:model "HP Deskjet f4240 All-in-one Printer" :status :good -:model "HP Color LaserJet cm2320n Multifunction Printer" +:model "HP Deskjet f4250 All-in-one Printer" :status :good -:model "HP Color LaserJet cm2320nf Multifunction Printer" +:model "HP Deskjet f4272 All-in-one Printer" :status :good -:model "HP Color LaserJet cm2320fxi Multifunction Printer" +:model "HP Deskjet f4273 All-in-one Printer" :status :good -:model "HP Color LaserJet cm2320 Multifuntion Printer" +:model "HP Deskjet f4274 All-in-one Printer" :status :good -:model "HP PSC 2350 All-in-one Printer" +:model "HP Deskjet f4275 All-in-one Printer" :status :good -:model "HP PSC 2352 All-in-one Printer" +:model "HP Deskjet f4280 All-in-one Printer" :status :good -:model "HP PSC 2353p All-in-one Printer" +:model "HP Deskjet f4283 All-in-one Printer" :status :good -:model "HP PSC 2353 All-in-one Printer" +:model "HP Deskjet f4288 All-in-one Printer" :status :good -:model "HP PSC 2355 All-in-one Printer" +:model "HP Deskjet f4292 All-in-one Printer" :status :good -:model "HP PSC 2355p All-in-one Printer" +:model "HP Deskjet f4293 All-in-one Printer" :status :good -:model "HP PSC 2355xi All-in-one Printer" +:model "HP Deskjet f4294 All-in-one Printer" :status :good -:model "HP PSC 2355v All-in-one Printer" +:model "HP Deskjet f4435 All-in-one Printer" :status :good -:model "HP PSC 2357 All-in-one Printer" +:model "HP Deskjet f4440 All-in-one Printer" :status :good -:model "HP PSC 2358 All-in-one Printer" +:model "HP Deskjet f4450 All-in-one Printer" :status :good -:model "HP PSC 2405 Photosmart All-in-one Printer" +:model "HP Deskjet f4470 All-in-one Printer" :status :good -:model "HP PSC 2410v Photosmart All-in-one Printer" +:model "HP Deskjet f4472 All-in-one Printer" :status :good -:model "HP PSC 2410xi Photosmart All-in-one Printer" +:model "HP Deskjet f4473 All-in-one Printer" :status :good -:model "HP Deskjet f2410 All-in-one Printer" +:model "HP Deskjet f4480 All-in-one Printer" :status :good -:model "HP PSC 2410 Photosmart All-in-one Printer" +:model "HP Deskjet f4483 All-in-one Printer" :status :good -:model "HP Deskjet f2418 All-in-one Printer" +:model "HP Deskjet f4488 All-in-one Printer" :status :good -:model "HP Deskjet f2420 All-in-one Printer" +:model "HP Deskjet f4492 All-in-one Printer" :status :good -:model "HP PSC 2420 Photosmart All-in-one Printer" +:model "HP Deskjet f4500 All-in-one Printer Series" :status :good -:model "HP Deskjet f2423 All-in-one Printer" +:model "HP Deskjet f735 All-in-one Printer" :status :good -:model "HP Deskjet f2430 All-in-one Printer" +:model "HP Deskjet Gt 5810 All-in-one Printer" :status :good -:model "HP Deskjet f2440 All-in-one Printer" +:model "HP Deskjet Gt 5820 All-in-one Printer" :status :good -:model "HP PSC 2450 Photosmart All-in-one Printer" +:model "HP Deskjet Ink Adv 2060 k110" :status :good -:model "HP Deskjet f2476 All-in-one Printer" +:model "HP Deskjet Ink Advantage 1510 All-in-one Printer Series" :status :good -:model "HP Deskjet f2480 All-in-one Printer" +:model "HP Deskjet Ink Advantage 1515 All-in-one Printer" :status :good -:model "HP Deskjet f2483 All-in-one Printer" +:model "HP Deskjet Ink Advantage 1516 All-in-one Printer" :status :good -:model "HP Deskjet f2488 All-in-one Printer" +:model "HP Deskjet Ink Advantage 1518 All-in-one Printer" :status :good -:model "HP Deskjet f2492 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2130 All-in One Printer" :status :good -:model "HP Deskjet f2493 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2135 All-in One Printer" :status :good -:model "HP PSC 2500 Photosmart All-in-one Printer" +:model "HP Deskjet Ink Advantage 2136 All-in One Printer" :status :good -:model "HP PSC 2510 Photosmart All-in-one Printer" +:model "HP Deskjet Ink Advantage 2138 All-in One Printer" :status :good -:model "HP PSC 2510xi Photosmart All-in-one Printer" +:model "HP Deskjet Ink Advantage 2200 All-in-one" :status :good -:model "HP PSC 2550 Photosmart All-in-one Printer" +:model "HP Deskjet Ink Advantage 2510 All-in-one" :status :good -:model "HP Photosmart 2570 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2515 All-in-one Printer" :status :good -:model "HP Photosmart 2571 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2516 All-in-one Printer" :status :good -:model "HP Photosmart 2573 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2520hc All-in-one" :status :good -:model "HP Photosmart 2574 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2540 All-in-one Printer Series" :status :good -:model "HP Photosmart 2575a All-in-one Printer" +:model "HP Deskjet Ink Advantage 2545 All-in-one Printer" :status :good -:model "HP Photosmart 2575v All-in-one Printer" +:model "HP Deskjet Ink Advantage 2546 All-in-one Printer" :status :good -:model "HP Photosmart 2575xi All-in-one Printer" +:model "HP Deskjet Ink Advantage 2548 All-in-one Printer" :status :good -:model "HP Photosmart 2575 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2635 All-in-one" :status :good -:model "HP Photosmart 2578 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2636 All-in-one" :status :good -:model "HP Photosmart 2605 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2645 All-in-one Printer" :status :good -:model "HP Photosmart 2608 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2646 All-in-one Printer" :status :good -:model "HP Photosmart 2610 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2675 All-in-one" :status :good -:model "HP Photosmart 2610v All-in-one Printer" +:model "HP Deskjet Ink Advantage 2676 All-in-one" :status :good -:model "HP Photosmart 2610xi All-in-one Printer" +:model "HP Deskjet Ink Advantage 2677 All-in-one" :status :good -:model "HP Photosmart 2613 All-in-one Printer" +:model "HP Deskjet Ink Advantage 2678 All-in-one" :status :good -:model "HP Photosmart 2615 All-in-one Printer" +:model "HP Deskjet Ink Advantage 3515 E-all-in-one" :status :good -:model "HP Photosmart 2710 All-in-one Printer" +:model "HP Deskjet Ink Advantage 3516 E-all-in-one" :status :good -:model "HP Photosmart 2710xi All-in-one Printer" +:model "HP Deskjet Ink Advantage 3525 E-all-in-one" :status :good -:model "HP Photosmart 2713 All-in-one Printer" +:model "HP Deskjet Ink Advantage 3540 E-all-in-one Printer Series" :status :good -:model "HP LaserJet m2727nf Multifunction Printer" +:model "HP Deskjet Ink Advantage 3545 E-all-in-one Printer" :status :good -:model "HP LaserJet m2727 Multifunction Printer" +:model "HP Deskjet Ink Advantage 3546 E-all-in-one Printer" :status :good -:model "HP LaserJet m2727nfs Multifunction Printer" +:model "HP Deskjet Ink Advantage 3630 All-in-one Printer" :status :good -:model "HP Color LaserJet 2800 All-in-one Printer" +:model "HP Deskjet Ink Advantage 3635 All-in-one Printer" :status :good -:model "HP Color LaserJet 2820 All-in-one Printer" +:model "HP Deskjet Ink Advantage 3636 All-in-one Printer" :status :good -:model "HP Color LaserJet 2830 All-in-one Printer" +:model "HP Deskjet Ink Advantage 3638 All-in-one Printer" :status :good -:model "HP Color LaserJet 2840 All-in-one Printer" +:model "HP Deskjet Ink Advantage 3735 All-in-one" :status :good -:model "HP LaserJet 3015 All-in-one Printer" +:model "HP Deskjet Ink Advantage 3789 All-in-one" :status :good -:model "HP LaserJet 3020 All-in-one Printer" +:model "HP Deskjet Ink Advantage 3790 All-in-one" :status :good -:model "HP LaserJet 3030 All-in-one Printer" +:model "HP Deskjet Ink Advantage 3830 All-in-one Printer" :status :good -:model "HP LaserJet m3035 Multifunction Printer" +:model "HP Deskjet Ink Advantage 3835 All-in-one Printer" :status :good -:model "HP LaserJet m3035xs Multifunction Printer" +:model "HP Deskjet Ink Advantage 3836 All-in-one Printer" :status :good -:model "HP LaserJet 3050z All-in-one Printer" +:model "HP Deskjet Ink Advantage 4515 E-all-in-one Printer" :status :good -:model "HP LaserJet 3050 All-in-one Printer" +:model "HP Deskjet Ink Advantage 4518 E-all-in-one Printer" :status :good -:model "HP LaserJet 3052 All-in-one Printer" +:model "HP Deskjet Ink Advantage 4530 All-in-one" :status :good -:model "HP LaserJet 3055 All-in-one Printer" +:model "HP Deskjet Ink Advantage 4535 All-in-one" :status :good -:model "HP LaserJet 3100xi All-in-one Printer" +:model "HP Deskjet Ink Advantage 4536 All-in-one" :status :good -:model "HP LaserJet 3100se All-in-one Printer" +:model "HP Deskjet Ink Advantage 4610 All-in-one Printer Series" :status :good -:model "HP LaserJet 3100 All-in-one Printer" +:model "HP Deskjet Ink Advantage 4615 All-in-one Printer" :status :good -:model "HP Photosmart 3108 All-in-one Printer" +:model "HP Deskjet Ink Advantage 4620 E-all-in-one Printer" :status :good -:model "HP Photosmart 3110v All-in-one Printer" +:model "HP Deskjet Ink Advantage 4625 E-all-in-one Printer" :status :good -:model "HP Photosmart 3110 All-in-one Printer" +:model "HP Deskjet Ink Advantage 4640 E-all-in-one Printer Series" :status :good -:model "HP Photosmart c3110 All-in-one Printer" +:model "HP Deskjet Ink Advantage 4645 E-all-in-one Printer" :status :good -:model "HP Photosmart c3125 All-in-one Printer" +:model "HP Deskjet Ink Advantage 4646 E-all-in-one Printer" :status :good -:model "HP Photosmart c3135 All-in-one Printer" +:model "HP Deskjet Ink Advantage 4648 E-all-in-one Printer" :status :good -:model "HP Photosmart c3140 All-in-one Printer" +:model "HP Deskjet Ink Advantage 4670 All-in-one" :status :good -:model "HP LaserJet 3150se All-in-one Printer" +:model "HP Deskjet Ink Advantage 4675 All-in-one" :status :good -:model "HP Photosmart c3150 All-in-one Printer" +:model "HP Deskjet Ink Advantage 4676 All-in-one" :status :good -:model "HP LaserJet 3150 All-in-one Printer" +:model "HP Deskjet Ink Advantage 5075 All-in-one" :status :good -:model "HP LaserJet 3150xi All-in-one Printer" +:model "HP Deskjet Ink Advantage 5275 All-in-one" :status :good -:model "HP Photosmart c3170 All-in-one Printer" +:model "HP Deskjet Ink Advantage 5525 E-all-in-one" :status :good -:model "HP Photosmart c3173 All-in-one Printer" +:model "HP Deskjet Ink Advantage 5570 All-in-one" :status :good -:model "HP Photosmart c3175 All-in-one Printer" +:model "HP Deskjet Ink Advantage 5575 All-in-one" :status :good -:model "HP Photosmart c3180 All-in-one Printer" +:model "HP Deskjet Ink Advantage 5640 All-in-one Printer Series" :status :good -:model "HP Photosmart c3183 All-in-one Printer" +:model "HP Deskjet Ink Advantage 5645 All-in-one Printer" :status :good -:model "HP Photosmart c3188 All-in-one Printer" +:model "HP Deskjet Ink Advantage 6525 E-all-in-one" :status :good -:model "HP Photosmart c3190 All-in-one Printer" +:model "HP Deskjet Ink Advantage k209a All-in-one Printer" :status :good -:model "HP Photosmart c3193 All-in-one Printer" +:model "HP Deskjet Ink Advantage Ultra 2529 All-in-one Printer" :status :good -:model "HP Photosmart c3194 All-in-one Printer" +:model "HP Deskjet Ink Advantage Ultra 4720 All-in-one Printer Series" :status :good -:model "HP LaserJet 3200 All-in-one Printer" +:model "HP Deskjet Ink Advantage Ultra 4729 All-in-one Printer" :status :good -:model "HP LaserJet 3200m All-in-one Printer" +:model "HP Deskjet Ink Advantage Ultra 5738 All-in-one Printer" :status :good -:model "HP Photosmart 3207 All-in-one Printer" +:model "HP Deskjet Ink Advantage Ultra 5739 All-in-one Printer" :status :good -:model "HP Photosmart 3210a All-in-one Printer" +:model "HP Digital Sender Flow 8500 fn2 Document Capture Workstation" :status :good -:model "HP Photosmart 3210v All-in-one Printer" +:model "HP Envy 100 d410 Series" :status :good -:model "HP Photosmart 3210xi All-in-one Printer" +:model "HP Envy 110 E-all-in-one" :status :good -:model "HP Photosmart 3210 All-in-one Printer" +:model "HP Envy 111 E-all-in-one" :status :good -:model "HP Photosmart 3213 All-in-one Printer" +:model "HP Envy 114 E-all-in-one" :status :good -:model "HP Photosmart 3214 All-in-one Printer" +:model "HP Envy 120 E-all-in-one" :status :good -:model "HP LaserJet 3300 Multifunction Printer" +:model "HP Envy 121 E-all-in-one" :status :good -:model "HP Photosmart 3308 All-in-one Printer" +:model "HP Envy 4500 E-all-in-one" :status :good -:model "HP Photosmart 3310 All-in-one Printer" +:model "HP Envy 4501 E-all-in-one" :status :good -:model "HP Photosmart 3310xi All-in-one Printer" +:model "HP Envy 4502 E-all-in-one" :status :good -:model "HP LaserJet 3310 Digital Printer Copier" +:model "HP Envy 4503 E-all-in-one" :status :good -:model "HP Photosmart 3313 All-in-one Printer" +:model "HP Envy 4504 E-all-in-one" :status :good -:model "HP Photosmart 3314 All-in-one Printer" +:model "HP Envy 4505 E-all-in-one" :status :good -:model "HP LaserJet 3320n Multifunction Printer" +:model "HP Envy 4507 E-all-in-one" :status :good -:model "HP LaserJet 3320 Multifunction Printer" +:model "HP Envy 4508 E-all-in-one" :status :good -:model "HP LaserJet 3330 Multifunction Printer" +:model "HP Envy 4510 All-in-one" :status :good -:model "HP LaserJet 3380 All-in-one Printer" +:model "HP Envy 4512 All-in-one" :status :good -:model "HP LaserJet 3390 All-in-one Printer" +:model "HP Envy 4516 All-in-one" :status :good -:model "HP LaserJet 3392 All-in-one Printer" +:model "HP Envy 4520 All-in-one Printer" :status :good -:model "HP Officejet j3608 All-in-one Printer" +:model "HP Envy 4520 All-in-one Printer Series" :status :good -:model "HP Officejet j3625 All-in-one Printer" +:model "HP Envy 4522 All-in-one Printer" :status :good -:model "HP Officejet j3635 All-in-one Printer" +:model "HP Envy 4523 All-in-one Printer" :status :good -:model "HP Officejet j3640 All-in-one Printer" +:model "HP Envy 4524 All-in-one Printer" :status :good -:model "HP Officejet j3650 All-in-one Printer" +:model "HP Envy 5000 All-in-one" :status :good -:model "HP Officejet j3680 All-in-one Printer" +:model "HP Envy 5020 All-in-one" :status :good -:model "HP Officejet 4100 Series All-in-one Printer" +:model "HP Envy 5030 All-in-one" :status :good -:model "HP LaserJet 4100 Multifunction Printer" +:model "HP Envy 5032 All-in-one" :status :good -:model "HP LaserJet 4101 Multifunction Printer" +:model "HP Envy 5530 E-all-in-one Printer" :status :good -:model "HP Officejet 4105 All-in-one Printer" +:model "HP Envy 5531 E-all-in-one Printer" :status :good -:model "HP Officejet 4110xi All-in-one Printer" +:model "HP Envy 5532 E-all-in-one Printer" :status :good -:model "HP Photosmart c4110 All-in-one Printer" +:model "HP Envy 5534 E-all-in-one Printer" :status :good -:model "HP Officejet 4110v All-in-one Printer" +:model "HP Envy 5535 E-all-in-one Printer" :status :good -:model "HP Officejet 4110 All-in-one Printer" +:model "HP Envy 5536 E-all-in-one Printer" :status :good -:model "HP Officejet 4115 All-in-one Printer" +:model "HP Envy 5539 E-all-in-one Printer" :status :good -:model "HP Deskjet f4135 All-in-one Printer" +:model "HP Envy 5540 All-in-one Printer" :status :good -:model "HP Photosmart c4140 All-in-one Printer" +:model "HP Envy 5540 All-in-one Printer Series" :status :good -:model "HP Deskjet f4140 All-in-one Printer" +:model "HP Envy 5542 E-all-in-one Printer" :status :good -:model "HP Deskjet f4150 All-in-one Printer" +:model "HP Envy 5543 All-in-one Printer" :status :good -:model "HP Photosmart c4150 All-in-one Printer" +:model "HP Envy 5544 All-in-one Printer" :status :good -:model "HP Photosmart c4170 All-in-one Printer" +:model "HP Envy 5545 E-all-in-one Printer" :status :good -:model "HP Deskjet f4172 All-in-one Printer" +:model "HP Envy 5546 All-in-one Printer" :status :good -:model "HP Photosmart c4173 All-in-one Printer" +:model "HP Envy 5640 E-all-in-one" :status :good -:model "HP Deskjet f4175 All-in-one Printer" +:model "HP Envy 5642 E-all-in-one" :status :good -:model "HP Photosmart c4175 All-in-one Printer" +:model "HP Envy 5643 E-all-in-one" :status :good -:model "HP Deskjet f4180 All-in-one Printer" +:model "HP Envy 5644 E-all-in-one" :status :good -:model "HP Photosmart c4180 All-in-one Printer" +:model "HP Envy 5660 E-all-in-one" :status :good -:model "HP Photosmart c4183 All-in-one Printer" +:model "HP Envy 5665 E-all-in-one" :status :good -:model "HP Deskjet f4185 All-in-one Printer" +:model "HP Envy 7640 E-all-in-one" :status :good -:model "HP Photosmart c4188 All-in-one Printer" +:model "HP Envy 7645 E-all-in-one" :status :good -:model "HP Deskjet f4188 All-in-one Printer" +:model "HP Envy 8000 E-all-in-one" :status :good -:model "HP Deskjet f4190 All-in-one Printer" +:model "HP Envy Photo 6200 All-in-one" :status :good -:model "HP Photosmart c4190 All-in-one Printer" +:model "HP Envy Photo 6220 All-in-one" :status :good -:model "HP Photosmart c4193 All-in-one Printer" +:model "HP Envy Photo 6230 All-in-one" :status :good -:model "HP Deskjet f4194 All-in-one Printer" +:model "HP Envy Photo 6232 All-in-one" :status :good -:model "HP Photosmart c4194 All-in-one Printer" +:model "HP Envy Photo 6234 All-in-one" :status :good -:model "HP Officejet 4200 All-in-one Printer" +:model "HP Envy Photo 7100 All-in-one" :status :good -:model "HP Photosmart c4205 All-in-one Printer" +:model "HP Envy Photo 7120 All-in-one" :status :good -:model "HP Photosmart c4210 All-in-one Printer" +:model "HP Envy Photo 7130 All-in-one" :status :good -:model "HP Deskjet f4210 All-in-one Printer" +:model "HP Envy Photo 7134 All-in-one" :status :good -:model "HP Officejet 4211 All-in-one Printer" +:model "HP Envy Photo 7155 All-in-one" :status :good -:model "HP Officejet 4212 All-in-one Printer" +:model "HP Envy Photo 7164 All-in-one" :status :good -:model "HP Deskjet f4213 All-in-one Printer" +:model "HP Envy Photo 7800 All-in-one" :status :good -:model "HP Officejet 4215 All-in-one Printer" +:model "HP Envy Photo 7820 All-in-one" :status :good -:model "HP Officejet 4215v All-in-one Printer" +:model "HP Envy Photo 7830 All-in-one" :status :good -:model "HP Officejet 4215xi All-in-one Printer" +:model "HP Envy Photo 7855 All-in-one" :status :good -:model "HP Officejet 4219 All-in-one Printer" +:model "HP Hotspot LaserJet Pro m1218nfs MFP" :status :good -:model "HP Deskjet f4224 All-in-one Printer" +:model "HP Ink Tank 310" :status :good -:model "HP Deskjet f4230 All-in-one Printer" +:model "HP Ink Tank Wireless 410" :status :good -:model "HP Deskjet f4235 All-in-one Printer" +:model "HP Laser Ns MFP 1005" :status :good -:model "HP Photosmart c4235 All-in-one Printer" +:model "HP Laser Ns MFP 1005w" :status :good -:model "HP Deskjet f4238 All-in-one Printer" +:model "HP LaserJet 100 Color MFP m175" :status :good -:model "HP Deskjet f4240 All-in-one Printer" +:model "HP LaserJet 100 Color MFP m175a" :status :good -:model "HP Photosmart c4240 All-in-one Printer" +:model "HP LaserJet 100 Color MFP m175b" :status :good -:model "HP Photosmart c4250 All-in-one Printer" +:model "HP LaserJet 100 Color MFP m175c" :status :good -:model "HP Deskjet f4250 All-in-one Printer" +:model "HP LaserJet 100 Color MFP m175e" :status :good -:model "HP Officejet 4251 All-in-one Printer" +:model "HP LaserJet 100 Color MFP m175nw" :status :good -:model "HP Officejet 4252 All-in-one Printer" +:model "HP LaserJet 100 Color MFP m175p" :status :good -:model "HP Officejet 4255 All-in-one Printer" +:model "HP LaserJet 100 Color MFP m175q" :status :good -:model "HP Officejet 4256 All-in-one Printer" +:model "HP LaserJet 100 Color MFP m175r" :status :good -:model "HP Officejet 4259 All-in-one Printer" +:model "HP LaserJet 1100 Printer" :status :good -:model "HP Photosmart c4270 All-in-one Printer" +:model "HP LaserJet 1100a All-in-one Printer" :status :good -:model "HP Deskjet f4272 All-in-one Printer" +:model "HP LaserJet 1100a Se All-in-one Printer" :status :good -:model "HP Photosmart c4272 All-in-one Printer" +:model "HP LaserJet 1100a Xi All-in-one Printer" :status :good -:model "HP Deskjet f4273 All-in-one Printer" +:model "HP LaserJet 1100se Printer" :status :good -:model "HP Photosmart c4273 All-in-one Printer" +:model "HP LaserJet 1220 All-in-one Printer" :status :good -:model "HP Deskjet f4274 All-in-one Printer" +:model "HP LaserJet 1220se All-in-one Printer" :status :good -:model "HP Photosmart c4275 All-in-one Printer" +:model "HP LaserJet 200 Color MFP m275nw" :status :good -:model "HP Deskjet f4275 All-in-one Printer" +:model "HP LaserJet 200 Color MFP m275s" :status :good -:model "HP Deskjet f4280 All-in-one" +:model "HP LaserJet 200 Color MFP m275t" :status :good -:model "HP Photosmart c4280 All-in-one Printer" +:model "HP LaserJet 200 Color MFP m275u" :status :good -:model "HP Deskjet f4280 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276b" :status :good -:model "HP Photosmart c4283 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276e" :status :good -:model "HP Deskjet f4283 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276g" :status :good -:model "HP Photosmart c4285 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276j" :status :good -:model "HP Photosmart c4288 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276k" :status :good -:model "HP Deskjet f4288 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276p" :status :good -:model "HP Deskjet f4292 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276q" :status :good -:model "HP Deskjet f4293 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276r" :status :good -:model "HP Photosmart c4293 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276u" :status :good -:model "HP Deskjet f4294 All-in-one Printer" +:model "HP LaserJet 200 Colormfp m276v" :status :good -:model "HP Photosmart c4294 All-in-one Printer" +:model "HP LaserJet 300 Color MFP m375nw" :status :good -:model "HP Officejet 4308 All-in-one Printer" +:model "HP LaserJet 3015 All-in-one Printer" :status :good -:model "HP Officejet 4311 All-in-one Printer" +:model "HP LaserJet 3020 All-in-one Printer" :status :good -:model "HP Officejet 4312 All-in-one Printer" +:model "HP LaserJet 3030 All-in-one Printer" :status :good -:model "HP Officejet 4314 All-in-one Printer" +:model "HP LaserJet 3050 All-in-one Printer" :status :good -:model "HP Officejet 4315 All-in-one Printer" +:model "HP LaserJet 3050z All-in-one Printer" :status :good -:model "HP Officejet 4315xi All-in-one Printer" +:model "HP LaserJet 3052 All-in-one Printer" :status :good -:model "HP Officejet 4315v All-in-one Printer" +:model "HP LaserJet 3055 All-in-one Printer" :status :good -:model "HP Officejet 4317 All-in-one Printer" +:model "HP LaserJet 3100 All-in-one Printer" :status :good -:model "HP Officejet 4319 All-in-one Printer" +:model "HP LaserJet 3100se All-in-one Printer" :status :good -:model "HP Officejet 4338 All-in-one Printer" +:model "HP LaserJet 3100xi All-in-one Printer" :status :good -:model "HP Photosmart c4340 All-in-one Printer" +:model "HP LaserJet 3150 All-in-one Printer" :status :good -:model "HP Photosmart c4342 All-in-one Printer" +:model "HP LaserJet 3150se All-in-one Printer" :status :good -:model "HP Photosmart c4343 All-in-one Printer" +:model "HP LaserJet 3150xi All-in-one Printer" :status :good -:model "HP Photosmart c4344 All-in-one Printer" +:model "HP LaserJet 3200 All-in-one Printer" :status :good -:model "HP LaserJet m4345 Multifunction Printer" +:model "HP LaserJet 3200se All-in-one Printer" :status :good -:model "HP LaserJet 4345xm Multifunction Printer" +:model "HP LaserJet 3300 Multifunction Printer" :status :good -:model "HP LaserJet 4345 Multifunction Printer" +:model "HP LaserJet 3310 Digital Printer Copier" :status :good -:model "HP LaserJet m4345x Multifunction Printer" +:model "HP LaserJet 3320 Multifunction Printer" :status :good -:model "HP LaserJet m4345xs Multifunction Printer" +:model "HP LaserJet 3320n Multifunction Printer" :status :good -:model "HP LaserJet 4345xs Multifunction Printer" +:model "HP LaserJet 3330 Multifunction Printer" :status :good -:model "HP LaserJet 4345x Multifunction Printer" +:model "HP LaserJet 3380 All-in-one Printer" :status :good -:model "HP Photosmart c4345 All-in-one Printer" +:model "HP LaserJet 3390 All-in-one Printer" :status :good -:model "HP LaserJet m4345xm Multifunction Printer" +:model "HP LaserJet 3392 All-in-one Printer" :status :good -:model "HP Photosmart c4348 All-in-one Printer" +:model "HP LaserJet 400 Color MFP m475dn" :status :good -:model "HP LaserJet m4349 MFP" +:model "HP LaserJet 400 Color MFP m475dw" :status :good -:model "HP Officejet 4352 All-in-one Printer" +:model "HP LaserJet 400 MFP m425dn" :status :good -:model "HP Officejet 4353 All-in-one Printer" +:model "HP LaserJet 400 MFP m425dw" :status :good -:model "HP Officejet 4355 All-in-one Printer" +:model "HP LaserJet 4100 Multifunction Printer" :status :good -:model "HP Officejet 4357 All-in-one Printer" +:model "HP LaserJet 4101 Multifunction Printer" :status :good -:model "HP Officejet 4359 All-in-one Printer" +:model "HP LaserJet 4345 Multifunction Printer" :status :good -:model "HP Photosmart c4380 All-in-one Printer" +:model "HP LaserJet 4345x Multifunction Printer" :status :good -:model "HP Photosmart c4383 All-in-one Printer" +:model "HP LaserJet 4345xm Multifunction Printer" :status :good -:model "HP Photosmart c4384 All-in-one Printer" +:model "HP LaserJet 4345xs Multifunction Printer" :status :good -:model "HP Photosmart c4385 All-in-one Printer" +:model "HP LaserJet 8100 Multifunction Printer" :status :good -:model "HP Photosmart c4388 All-in-one Printer" +:model "HP LaserJet 8150 Multifunction Printer" :status :good -:model "HP Photosmart c4410 All-in-one Printer" +:model "HP LaserJet 9000 Multifunction Printer" :status :good -:model "HP Photosmart c4424 All-in-one Printer" +:model "HP LaserJet 9000l Multifunction Printer" :status :good -:model "HP Deskjet f4435 All-in-one Printer" +:model "HP LaserJet 9040 Multifunction Printer" :status :good -:model "HP Photosmart c4435 All-in-one Printer" +:model "HP LaserJet 9050 Multifunction Printer" :status :good -:model "HP Photosmart c4440 All-in-one Printer" +:model "HP LaserJet 9055 Multifunction Printer" :status :good -:model "HP Deskjet f4440 All-in-one Printer" +:model "HP LaserJet 9065 Multifunction Printer" :status :good -:model "HP Photosmart c4450 All-in-one Printer" +:model "HP LaserJet Enterprise Flow MFP m528c" :status :good -:model "HP Deskjet f4450 All-in-one Printer" +:model "HP LaserJet Enterprise Flow MFP m528z" :status :good -:model "HP Deskjet f4470 All-in-one Printer" +:model "HP LaserJet Enterprise Flow MFP m630h" :status :good -:model "HP Photosmart c4470 All-in-one Printer" +:model "HP LaserJet Enterprise Flow MFP m630z" :status :good -:model "HP Photosmart c4472 All-in-one Printer" +:model "HP LaserJet Enterprise MFP m528dn" :status :good -:model "HP Deskjet f4472 All-in-one Printer" +:model "HP LaserJet Enterprise MFP m528f" :status :good -:model "HP Photosmart c4473 All-in-one Printer" +:model "HP LaserJet Enterprise MFP m630dn" :status :good -:model "HP Deskjet f4473 All-in-one Printer" +:model "HP LaserJet Enterprise MFP m630f" :status :good -:model "HP Deskjet f4480 All-in-one Printer" +:model "HP LaserJet Enterprise MFP m630h" :status :good -:model "HP Photosmart c4480 All-in-one Printer" +:model "HP LaserJet m1005 Multifunction Printer" :status :good -:model "HP Photosmart c4483 All-in-one Printer" +:model "HP LaserJet m1120 Multifunction Printer" :status :good -:model "HP Deskjet f4483 All-in-one Printer" +:model "HP LaserJet m1120n Multifunction Printer" :status :good -:model "HP Photosmart c4485 All-in-one Printer" +:model "HP LaserJet m1210 MFP Series" :status :good -:model "HP Photosmart c4486 All-in-one Printer" +:model "HP LaserJet m1319f Multifunction Printer" :status :good -:model "HP Photosmart c4488 All-in-one Printer" +:model "HP LaserJet m1522 Multifunction Printer" :status :good -:model "HP Deskjet f4488 All-in-one Printer" +:model "HP LaserJet m1522n Multifunction Printer" :status :good -:model "HP Photosmart c4490 All-in-one Printer" +:model "HP LaserJet m1522nf Multifunction Printer" :status :good -:model "HP Deskjet f4492 All-in-one Printer" +:model "HP LaserJet m1536dnf MFP" :status :good -:model "HP Photosmart c4493 All-in-one Printer" +:model "HP LaserJet m1537dnf MFP" :status :good -:model "HP Photosmart c4494 All-in-one Printer" +:model "HP LaserJet m1538dnf MFP" :status :good -:model "HP Deskjet f4500 All-in-one Printer Series" +:model "HP LaserJet m1539dnf MFP" :status :good -:model "HP Designjet 4520mfp" +:model "HP LaserJet m2727 Multifunction Printer" :status :good -:model "HP Officejet j4524 All-in-one Printer" +:model "HP LaserJet m2727nf Multifunction Printer" :status :good -:model "HP Officejet j4525 All-in-one Printer" +:model "HP LaserJet m2727nfs Multifunction Printer" :status :good -:model "HP Officejet j4535 All-in-one Printer" +:model "HP LaserJet m3035 Multifunction Printer" :status :good -:model "HP Photosmart c4540 All-in-one Printer" +:model "HP LaserJet m3035xs Multifunction Printer" :status :good -:model "HP Officejet j4540 All-in-one Printer" +:model "HP LaserJet m4345 Multifunction Printer" :status :good -:model "HP Photosmart c4550 All-in-one Printer" +:model "HP LaserJet m4345x Multifunction Printer" :status :good -:model "HP Officejet j4550 All-in-one Printer" +:model "HP LaserJet m4345xm Multifunction Printer" :status :good -:model "HP Officejet j4560 All-in-one Printer" +:model "HP LaserJet m4345xs Multifunction Printer" :status :good -:model "HP Photosmart c4570 All-in-one Printer" +:model "HP LaserJet m4349 MFP" :status :good -:model "HP Photosmart c4572 All-in-one Printer" +:model "HP LaserJet m4555 MFP" :status :good -:model "HP Photosmart c4573 All-in-one Printer" +:model "HP LaserJet m5035 Multifunction Printer" :status :good -:model "HP Photosmart c4575 All-in-one Printer" +:model "HP LaserJet m5035x Multifunction Printer" :status :good -:model "HP Officejet j4580c All-in-one Printer" +:model "HP LaserJet m5035xs Multifunction Printer" :status :good -:model "HP Photosmart c4580 All-in-one Printer" +:model "HP LaserJet m5039 Multifunction Printer" :status :good -:model "HP Officejet j4580 All-in-one Printer" +:model "HP LaserJet Managed Flow MFP e52645c" :status :good -:model "HP Photosmart c4583 All-in-one Printer" +:model "HP LaserJet Managed Flow MFP e62665h" :status :good -:model "HP Photosmart c4585 All-in-one Printer" +:model "HP LaserJet Managed Flow MFP e62665z" :status :good -:model "HP Officejet j4585 All-in-one Printer" +:model "HP LaserJet Managed Flow MFP e62675z" :status :good -:model "HP Photosmart c4588 All-in-one Printer" +:model "HP LaserJet Managed Flow MFP e72525z" :status :good -:model "HP Photosmart c4593 All-in-one Printer" +:model "HP LaserJet Managed Flow MFP e72530z" :status :good -:model "HP Photosmart c4599 All-in-one Printer" +:model "HP LaserJet Managed Flow MFP e72535z" :status :good -:model "HP Photosmart c4610 All-in-one Printer" +:model "HP LaserJet Managed Flow MFP e82540z" :status :good -:model "HP Photosmart c4635 All-in-one Printer" +:model "HP LaserJet Managed Flow MFP e82550z" :status :good -:model "HP Photosmart c4640 All-in-one Printer" +:model "HP LaserJet Managed Flow MFP e82560z" :status :good -:model "HP Photosmart c4650 All-in-one Printer" +:model "HP LaserJet Managed MFP e52645dn" :status :good -:model "HP Officejet j4660 All-in-one Printer" +:model "HP LaserJet Managed MFP e62655dn" :status :good -:model "HP Photosmart c4670 All-in-one Printer" +:model "HP LaserJet Managed MFP e62665hs" :status :good -:model "HP Photosmart c4673 All-in-one Printer" +:model "HP LaserJet Managed MFP e72525dn" :status :good -:model "HP Officejet j4680 All-in-one Printer" +:model "HP LaserJet Managed MFP e72530dn" :status :good -:model "HP Photosmart c4680 All-in-one Printer" +:model "HP LaserJet Managed MFP e72535dn" :status :good -:model "HP Officejet j4680c All-in-one Printer" +:model "HP LaserJet Managed MFP e82540dn" :status :good -:model "HP Photosmart c4683 All-in-one Printer" +:model "HP LaserJet Managed MFP e82540du" :status :good -:model "HP Photosmart c4688 All-in-one Printer" +:model "HP LaserJet Managed MFP e82550dn" :status :good -:model "HP Color LaserJet 4730x Multifunction Printer" +:model "HP LaserJet Managed MFP e82550du" :status :good -:model "HP Color LaserJet 4730xs Multifunction Printer" +:model "HP LaserJet Managed MFP e82560dn" :status :good -:model "HP Color LaserJet cm4730 Multifunction Printer" +:model "HP LaserJet Managed MFP e82560du" :status :good -:model "HP Color LaserJet 4730 Multifunction Printer" +:model "HP LaserJet MFP e72425a" :status :good -:model "HP Color LaserJet cm4730fsk Multifunction Printer" +:model "HP LaserJet MFP e72425dn" :status :good -:model "HP Color LaserJet cm4730fm Multifunction Printer" +:model "HP LaserJet MFP e72425dv" :status :good -:model "HP Color LaserJet cm4730f Multifunction Printer" +:model "HP LaserJet MFP e72430dn" :status :good -:model "HP Color LaserJet 4730xm Multifunction Printer" +:model "HP LaserJet Pro 200 Color MFP m276n" :status :good -:model "HP Photosmart c4740 All-in-one Printer" +:model "HP LaserJet Pro 200 Color MFP m276nw" :status :good -:model "HP Photosmart c4750 All-in-one Printer" +:model "HP LaserJet Pro 500 Color MFP m570dn" :status :good -:model "HP Photosmart c4780 All-in-one Printer" +:model "HP LaserJet Pro 500 Color MFP m570dw" :status :good -:model "HP Photosmart c4783 All-in-one Printer" +:model "HP LaserJet Pro m521dn Multifunction Printer" :status :good -:model "HP Photosmart c4785 All-in-one Printer" +:model "HP LaserJet Pro m521dw Multifunction Printer" :status :good -:model "HP Photosmart c4788 All-in-one Printer" +:model "HP LaserJet Pro MFP m125a" :status :good -:model "HP Photosmart c4793 All-in-one Printer" +:model "HP LaserJet Pro MFP m125nr" :status :good -:model "HP Photosmart c4795 All-in-one Printer" +:model "HP LaserJet Pro MFP m125nw" :status :good -:model "HP Photosmart c4798 All-in-one Printer" +:model "HP LaserJet Pro MFP m125r" :status :good -:model "HP Photosmart c4799 All-in-one Printer" +:model "HP LaserJet Pro MFP m125rnw" :status :good -:model "HP LaserJet m5035 Multifunction Printer" +:model "HP LaserJet Pro MFP m125s" :status :good -:model "HP LaserJet m5035xs Multifunction Printer" +:model "HP LaserJet Pro MFP m126a" :status :good -:model "HP LaserJet m5035x Multifunction Printer" +:model "HP LaserJet Pro MFP m126nw" :status :good -:model "HP Officejet 5100 All-in-one Printer" +:model "HP LaserJet Pro MFP m127fn" :status :good -:model "HP Officejet 5105 All-in-one Printer" +:model "HP LaserJet Pro MFP m127fp" :status :good -:model "HP Officejet 5110 All-in-one Printer" +:model "HP LaserJet Pro MFP m127fs" :status :good -:model "HP Officejet 5110v All-in-one Printer" +:model "HP LaserJet Pro MFP m127fw" :status :good -:model "HP Officejet 5110xi All-in-one Printer" +:model "HP LaserJet Pro MFP m128fn" :status :good -:model "HP Photosmart c5140 All-in-one Printer" +:model "HP LaserJet Pro MFP m128fp" :status :good -:model "HP Photosmart c5150 All-in-one Printer" +:model "HP LaserJet Pro MFP m128fw" :status :good -:model "HP Photosmart c5170 All-in-one Printer" +:model "HP LaserJet Pro MFP m130a" :status :good -:model "HP Photosmart c5173 All-in-one Printer" +:model "HP LaserJet Pro MFP m130fn" :status :good -:model "HP Photosmart c5175 All-in-one Printer" +:model "HP LaserJet Pro MFP m130fw" :status :good -:model "HP Photosmart c5180 All-in-one Printer" +:model "HP LaserJet Pro MFP m130nw" :status :good -:model "HP Photosmart c5183 All-in-one Printer" +:model "HP LaserJet Pro MFP m132a" :status :good -:model "HP Photosmart c5185 All-in-one Printer" +:model "HP LaserJet Pro MFP m132fn" :status :good -:model "HP Photosmart c5188 All-in-one Printer" +:model "HP LaserJet Pro MFP m132fp" :status :good -:model "HP Photosmart c5194 All-in-one Printer" +:model "HP LaserJet Pro MFP m132fw" :status :good -:model "HP Photosmart c5240 All-in-one Printer" +:model "HP LaserJet Pro MFP m132nw" :status :good -:model "HP Photosmart c5250 All-in-one Printer" +:model "HP LaserJet Pro MFP m132snw" :status :good -:model "HP Photosmart c5270 All-in-one Printer" +:model "HP LaserJet Pro MFP m134a" :status :good -:model "HP Photosmart c5273 All-in-one Printer" +:model "HP LaserJet Pro MFP m134fn" :status :good -:model "HP Photosmart c5275 All-in-one Printer" +:model "HP LaserJet Pro MFP m148dw" :status :good -:model "HP Photosmart c5280 All-in-one Printer" +:model "HP LaserJet Pro MFP m148fdw" :status :good -:model "HP Photosmart c5283 All-in-one Printer" +:model "HP LaserJet Pro MFP m149dw" :status :good -:model "HP Photosmart c5288 All-in-one Printer" +:model "HP LaserJet Pro MFP m149fdw" :status :good -:model "HP Photosmart c5290 All-in-one Printer" +:model "HP LaserJet Pro MFP m225dn" :status :good -:model "HP Photosmart c5293 All-in-one Printer" +:model "HP LaserJet Pro MFP m225dw" :status :good -:model "HP Photosmart c5370 All-in-one Printer" +:model "HP LaserJet Pro MFP m225rdn" :status :good -:model "HP Photosmart c5373 All-in-one Printer" +:model "HP LaserJet Pro MFP m226dn" :status :good -:model "HP Photosmart c5380 All-in-one Printer" +:model "HP LaserJet Pro MFP m226dw" :status :good -:model "HP Photosmart c5383 All-in-one Printer" +:model "HP LaserJet Pro MFP m227d" :status :good -:model "HP Photosmart c5388 All-in-one Printer" +:model "HP LaserJet Pro MFP m227fdn" :status :good -:model "HP Photosmart c5390 All-in-one Printer" +:model "HP LaserJet Pro MFP m227fdw" :status :good -:model "HP Photosmart c5393 All-in-one Printer" +:model "HP LaserJet Pro MFP m227sdn" :status :good -:model "HP Officejet 5505 All-in-one Printer" +:model "HP LaserJet Pro MFP m25a" :status :good -:model "HP Officejet j5505 All-in-one Printer" +:model "HP LaserJet Pro MFP m25nw" :status :good -:model "HP Officejet 5508 All-in-one Printer" +:model "HP LaserJet Pro MFP m26a" :status :good -:model "HP Officejet j5508 All-in-one Printer" +:model "HP LaserJet Pro MFP m26nw" :status :good -:model "HP Officejet j5510v All-in-one Printer" +:model "HP LaserJet Pro MFP m27c" :status :good -:model "HP Officejet 5510v All-in-one Printer" +:model "HP LaserJet Pro MFP m27cnw" :status :good -:model "HP Officejet 5510xi All-in-one Printer" +:model "HP LaserJet Pro MFP m28a" :status :good -:model "HP Officejet 5510 All-in-one Printer" +:model "HP LaserJet Pro MFP m29a" :status :good -:model "HP Officejet j5510xi All-in-one Printer" +:model "HP LaserJet Pro MFP m30a" :status :good -:model "HP Officejet j5510 All-in-one Printer" +:model "HP LaserJet Pro MFP m30c" :status :good -:model "HP Officejet j5515 All-in-one Printer" +:model "HP LaserJet Pro MFP m31a" :status :good -:model "HP Officejet 5515 All-in-one Printer" +:model "HP LaserJet Pro MFP m31c" :status :good -:model "HP Officejet j5520 All-in-one Printer" +:model "HP LaserJet Pro MFP m329dn" :status :good -:model "HP Photosmart c5540 All-in-one Printer" +:model "HP LaserJet Pro MFP m329dw" :status :good -:model "HP Photosmart c5550 All-in-one Printer" +:model "HP LaserJet Pro MFP m426dw" :status :good -:model "HP Photosmart c5570 All-in-one Printer" +:model "HP LaserJet Pro MFP m426fdn" :status :good -:model "HP Photosmart c5580 All-in-one Printer" +:model "HP LaserJet Pro MFP m426fdw" :status :good -:model "HP Officejet 5600 Series All-in-one Printer" +:model "HP LaserJet Pro MFP m427dn" :status :good -:model "HP Officejet 5605 All-in-one Printer" +:model "HP LaserJet Pro MFP m427dw" :status :good -:model "HP Officejet 5607 All-in-one Printer" +:model "HP LaserJet Pro MFP m427fdw" :status :good -:model "HP Officejet 5608 All-in-one Printer" +:model "HP LaserJet Pro MFP m428c1" :status :good -:model "HP Officejet 5609 All-in-one Printer" +:model "HP LaserJet Pro MFP m428c2" :status :good -:model "HP Officejet 5610v All-in-one Printer" +:model "HP LaserJet Pro MFP m428c3" :status :good -:model "HP Officejet 5610xi All-in-one Printer" +:model "HP LaserJet Pro MFP m428c4" :status :good -:model "HP Officejet 5610 All-in-one Printer" +:model "HP LaserJet Pro MFP m428dw" :status :good -:model "HP Officejet 5615 All-in-one Printer" +:model "HP LaserJet Pro MFP m428fdn" :status :good -:model "HP Officejet 5679 All-in-one Printer" +:model "HP LaserJet Pro MFP m428fdw" :status :good -:model "HP Officejet 5680 All-in-one Printer" +:model "HP LaserJet Pro MFP m428m" :status :good -:model "HP Officejet j5725 All-in-one Printer" +:model "HP LaserJet Pro MFP m429dw" :status :good -:model "HP Officejet j5730 All-in-one Printer" +:model "HP LaserJet Pro MFP m429fdn" :status :good -:model "HP Officejet j5735 All-in-one Printer" +:model "HP LaserJet Pro MFP m429fdw" :status :good -:model "HP Officejet j5738 All-in-one Printer" +:model "HP LaserJet Pro MFP m435nw" :status :good -:model "HP Officejet j5740 All-in-one Printer" +:model "HP LaserJet Professional cm1411fn" :status :good -:model "HP Officejet j5750 All-in-one Printer" +:model "HP LaserJet Professional cm1412fn" :status :good -:model "HP Officejet j5780 All-in-one Printer" +:model "HP LaserJet Professional cm1413fn" :status :good -:model "HP Officejet j5783 All-in-one Printer" +:model "HP LaserJet Professional cm1415fn" :status :good -:model "HP Officejet j5785 All-in-one Printer" +:model "HP LaserJet Professional cm1415fnw" :status :good -:model "HP Officejet j5788 All-in-one Printer" +:model "HP LaserJet Professional cm1416fnw" :status :good -:model "HP Officejet j5790 All-in-one Printer" +:model "HP LaserJet Professional cm1417fnw" :status :good -:model "HP Officejet 6105 All-in-one Printer" +:model "HP LaserJet Professional cm1418fnw" :status :good -:model "HP Officejet 6110v All-in-one Printer" +:model "HP LaserJet Professional m1132 Multifunction Printer" +:status :good + +:model "HP LaserJet Professional m1132s Multifunction Printer" +:status :good + +:model "HP LaserJet Professional m1136 Multifunction Printer" +:status :good + +:model "HP LaserJet Professional m1137 Multifunction Printer" +:status :good + +:model "HP LaserJet Professional m1138 Multifunction Printer" +:status :good + +:model "HP LaserJet Professional m1139 Multifunction Printer" +:status :good + +:model "HP LaserJet Professional m1212nf Multifunction Printer" +:status :good + +:model "HP LaserJet Professional m1213nf Multifunction Printer" +:status :good + +:model "HP LaserJet Professional m1214nfh Multifunction Printer" +:status :good + +:model "HP LaserJet Professional m1216nfh MFP" +:status :good + +:model "HP LaserJet Professional m1217nfw Multifunction Printer" +:status :good + +:model "HP LaserJet Professional m1219nf MFP" +:status :good + +:model "HP LaserJet Professional m1219nfg MFP" +:status :good + +:model "HP LaserJet Professional m1219nfs MFP" +:status :good + +:model "HP LaserJet Ultra MFP m230sdn" +:status :good + +:model "HP Neverstop Laser MFP 1200a" +:status :good + +:model "HP Neverstop Laser MFP 1200w" +:status :good + +:model "HP Officejet 150 Mobile All-in-one" +:status :good + +:model "HP Officejet 250 Mobile All-in-one" +:status :good + +:model "HP Officejet 250c Mobile All-in-one" +:status :good + +:model "HP Officejet 252 Mobile All-in-one" +:status :good + +:model "HP Officejet 252c Mobile All-in-one" +:status :good + +:model "HP Officejet 258 Mobile All-in-one" +:status :good + +:model "HP Officejet 2620 All-in-one" +:status :good + +:model "HP Officejet 2621 All-in-one" +:status :good + +:model "HP Officejet 2622 All-in-one" +:status :good + +:model "HP Officejet 3830 All-in-one Printer" +:status :good + +:model "HP Officejet 3832 All-in-one Printer" +:status :good + +:model "HP Officejet 3834 All-in-one Printer" +:status :good + +:model "HP Officejet 4100 Series All-in-one Printer" +:status :good + +:model "HP Officejet 4105 All-in-one Printer" +:status :good + +:model "HP Officejet 4110 All-in-one Printer" +:status :good + +:model "HP Officejet 4110v All-in-one Printer" +:status :good + +:model "HP Officejet 4110xi All-in-one Printer" +:status :good + +:model "HP Officejet 4115 All-in-one Printer" +:status :good + +:model "HP Officejet 4200 All-in-one Printer" +:status :good + +:model "HP Officejet 4211 All-in-one Printer" +:status :good + +:model "HP Officejet 4212 All-in-one Printer" +:status :good + +:model "HP Officejet 4215 All-in-one Printer" +:status :good + +:model "HP Officejet 4215v All-in-one Printer" +:status :good + +:model "HP Officejet 4215xi All-in-one Printer" +:status :good + +:model "HP Officejet 4219 All-in-one Printer" +:status :good + +:model "HP Officejet 4251 All-in-one Printer" +:status :good + +:model "HP Officejet 4252 All-in-one Printer" +:status :good + +:model "HP Officejet 4255 All-in-one Printer" +:status :good + +:model "HP Officejet 4256 All-in-one Printer" +:status :good + +:model "HP Officejet 4259 All-in-one Printer" +:status :good + +:model "HP Officejet 4308 All-in-one Printer" +:status :good + +:model "HP Officejet 4311 All-in-one Printer" +:status :good + +:model "HP Officejet 4312 All-in-one Printer" +:status :good + +:model "HP Officejet 4314 All-in-one Printer" +:status :good + +:model "HP Officejet 4315 All-in-one Printer" +:status :good + +:model "HP Officejet 4315v All-in-one Printer" +:status :good + +:model "HP Officejet 4315xi All-in-one Printer" +:status :good + +:model "HP Officejet 4317 All-in-one Printer" +:status :good + +:model "HP Officejet 4319 All-in-one Printer" +:status :good + +:model "HP Officejet 4338 All-in-one Printer" +:status :good + +:model "HP Officejet 4352 All-in-one Printer" +:status :good + +:model "HP Officejet 4353 All-in-one Printer" +:status :good + +:model "HP Officejet 4355 All-in-one Printer" +:status :good + +:model "HP Officejet 4357 All-in-one Printer" +:status :good + +:model "HP Officejet 4359 All-in-one Printer" +:status :good + +:model "HP Officejet 4400 k410 All-in-one Printer" +:status :good + +:model "HP Officejet 4500 All-in-one Desktop Printer - g510b" +:status :good + +:model "HP Officejet 4500 All-in-one Printer - g510g" +:status :good + +:model "HP Officejet 4500 All-in-one Printer - g510h" +:status :good + +:model "HP Officejet 4500 All-in-one Printer - k710" +:status :good + +:model "HP Officejet 4500 Desktop All-in-one Printer - g510a" +:status :good + +:model "HP Officejet 4500 g510n-z All-in-one Printer" +:status :good + +:model "HP Officejet 4610 All-in-one Printer Series" +:status :good + +:model "HP Officejet 4620 E-all-in-one Printer" +:status :good + +:model "HP Officejet 4622 E-all-in-one Printer" +:status :good + +:model "HP Officejet 4630 E-all-in-one Printer" +:status :good + +:model "HP Officejet 4631 E-all-in-one Printer" +:status :good + +:model "HP Officejet 4632 E-all-in-one Printer" +:status :good + +:model "HP Officejet 4634 E-all-in-one Printer" +:status :good + +:model "HP Officejet 4635 E-all-in-one Printer" +:status :good + +:model "HP Officejet 4636 E-all-in-one Printer" +:status :good + +:model "HP Officejet 4650 All-in-one Printer" +:status :good + +:model "HP Officejet 4650 All-in-one Printer Series" +:status :good + +:model "HP Officejet 4652 All-in-one Printer" +:status :good + +:model "HP Officejet 4654 All-in-one Printer" +:status :good + +:model "HP Officejet 4655 All-in-one Printer" +:status :good + +:model "HP Officejet 5100 All-in-one Printer" +:status :good + +:model "HP Officejet 5105 All-in-one Printer" +:status :good + +:model "HP Officejet 5110 All-in-one Printer" +:status :good + +:model "HP Officejet 5110v All-in-one Printer" +:status :good + +:model "HP Officejet 5110xi All-in-one Printer" +:status :good + +:model "HP Officejet 520 All-in-one Printer" +:status :good + +:model "HP Officejet 5200 All-in-one" +:status :good + +:model "HP Officejet 5220 All-in-one" +:status :good + +:model "HP Officejet 5230 All-in-one" +:status :good + +:model "HP Officejet 5232 All-in-one" +:status :good + +:model "HP Officejet 5505 All-in-one Printer" +:status :good + +:model "HP Officejet 5508 All-in-one Printer" +:status :good + +:model "HP Officejet 5510 All-in-one Printer" +:status :good + +:model "HP Officejet 5510v All-in-one Printer" +:status :good + +:model "HP Officejet 5510xi All-in-one Printer" +:status :good + +:model "HP Officejet 5515 All-in-one Printer" +:status :good + +:model "HP Officejet 5600 Series All-in-one Printer" +:status :good + +:model "HP Officejet 5605 All-in-one Printer" +:status :good + +:model "HP Officejet 5607 All-in-one Printer" +:status :good + +:model "HP Officejet 5608 All-in-one Printer" +:status :good + +:model "HP Officejet 5609 All-in-one Printer" +:status :good + +:model "HP Officejet 5610 All-in-one Printer" +:status :good + +:model "HP Officejet 5610v All-in-one Printer" +:status :good + +:model "HP Officejet 5610xi All-in-one Printer" +:status :good + +:model "HP Officejet 5615 All-in-one Printer" +:status :good + +:model "HP Officejet 5679 All-in-one Printer" +:status :good + +:model "HP Officejet 5680 All-in-one Printer" +:status :good + +:model "HP Officejet 570 All-in-one Printer" +:status :good + +:model "HP Officejet 5740 E-all-in-one" +:status :good + +:model "HP Officejet 5742 E-all-in-one" +:status :good + +:model "HP Officejet 5744 E-all-in-one" +:status :good + +:model "HP Officejet 5745 E-all-in-one" +:status :good + +:model "HP Officejet 580 All-in-one Printer" +:status :good + +:model "HP Officejet 590 All-in-one Printer" +:status :good + +:model "HP Officejet 600 All-in-one Printer" +:status :good + +:model "HP Officejet 610 All-in-one Printer" +:status :good + +:model "HP Officejet 6105 All-in-one Printer" :status :good :model "HP Officejet 6110 All-in-one Printer" :status :good -:model "HP Officejet 6110xi All-in-one Printer" +:model "HP Officejet 6110v All-in-one Printer" +:status :good + +:model "HP Officejet 6110xi All-in-one Printer" +:status :good + +:model "HP Officejet 6150 All-in-one Printer" +:status :good + +:model "HP Officejet 6200 All-in-one Printer" +:status :good + +:model "HP Officejet 6203 All-in-one Printer" +:status :good + +:model "HP Officejet 6205 All-in-one Printer" +:status :good + +:model "HP Officejet 6208 All-in-one Printer" +:status :good + +:model "HP Officejet 6210 All-in-one Printer" +:status :good + +:model "HP Officejet 6210v All-in-one Printer" +:status :good + +:model "HP Officejet 6210xi All-in-one Printer" +:status :good + +:model "HP Officejet 6213 All-in-one Printer" +:status :good + +:model "HP Officejet 6215 All-in-one Printer" +:status :good + +:model "HP Officejet 630 All-in-one Printer" +:status :good + +:model "HP Officejet 6301 All-in-one Printer" +:status :good + +:model "HP Officejet 6304 All-in-one Printer" +:status :good + +:model "HP Officejet 6305 All-in-one Printer" +:status :good + +:model "HP Officejet 6307 All-in-one Printer" +:status :good + +:model "HP Officejet 6308 All-in-one Printer" +:status :good + +:model "HP Officejet 6310 All-in-one Printer" +:status :good + +:model "HP Officejet 6310v All-in-one Printer" +:status :good + +:model "HP Officejet 6310xi All-in-one Printer" +:status :good + +:model "HP Officejet 6313 All-in-one Printer" +:status :good + +:model "HP Officejet 6315 All-in-one Printer" +:status :good + +:model "HP Officejet 6318 All-in-one Printer" +:status :good + +:model "HP Officejet 635 All-in-one Printer" +:status :good + +:model "HP Officejet 6500 All-in-one Printer - e709a" +:status :good + +:model "HP Officejet 6500 All-in-one Printer - e709c" +:status :good + +:model "HP Officejet 6500 e710" +:status :good + +:model "HP Officejet 6500 e710n-z" +:status :good + +:model "HP Officejet 6500 Wireless All-in-one Printer - e709n" +:status :good + +:model "HP Officejet 6500 Wireless All-in-one Printer - e709q" +:status :good + +:model "HP Officejet 6600 E-all-in-one Printer - h711a" +:status :good + +:model "HP Officejet 6700 Premium E-all-in-one printer-h711n" +:status :good + +:model "HP Officejet 6800 E-all-in-one" +:status :good + +:model "HP Officejet 6810 E-all-in-one Printer Series" +:status :good + +:model "HP Officejet 6812 E-all-in-one Printer" +:status :good + +:model "HP Officejet 6815 E-all-in-one Printer" +:status :good + +:model "HP Officejet 6820 E-all-in-one Printer" +:status :good + +:model "HP Officejet 6950 All-in-one" +:status :good + +:model "HP Officejet 6960 All-in-one" +:status :good + +:model "HP Officejet 700 All-in-one Printer" +:status :good + +:model "HP Officejet 710 All-in-one Printer" +:status :good + +:model "HP Officejet 7100 All-in-one Printer" +:status :good + +:model "HP Officejet 7110 All-in-one Printer" +:status :good + +:model "HP Officejet 7110xi All-in-one Printer" +:status :good + +:model "HP Officejet 7115 All-in-one Printer" +:status :good + +:model "HP Officejet 7130 All-in-one Printer" +:status :good + +:model "HP Officejet 7130xi All-in-one Printer" +:status :good + +:model "HP Officejet 7135xi All-in-one Printer" +:status :good + +:model "HP Officejet 7140xi All-in-one Printer" +:status :good + +:model "HP Officejet 720 All-in-one Printer" +:status :good + +:model "HP Officejet 7205 All-in-one Printer" +:status :good + +:model "HP Officejet 7208 All-in-one Printer" +:status :good + +:model "HP Officejet 7210 All-in-one Printer" +:status :good + +:model "HP Officejet 7210v All-in-one Printer" +:status :good + +:model "HP Officejet 7210xi All-in-one Printer" +:status :good + +:model "HP Officejet 7213 All-in-one Printer" +:status :good + +:model "HP Officejet 7215 All-in-one Printer" +:status :good + +:model "HP Officejet 725 All-in-one Printer" +:status :good + +:model "HP Officejet 7310 All-in-one Printer" +:status :good + +:model "HP Officejet 7310xi All-in-one Printer" +:status :good + +:model "HP Officejet 7313 All-in-one Printer" +:status :good + +:model "HP Officejet 7408 All-in-one Printer" +:status :good + +:model "HP Officejet 7410 All-in-one Printer" +:status :good + +:model "HP Officejet 7410xi All-in-one Printer" +:status :good + +:model "HP Officejet 7413 All-in-one Printer" +:status :good + +:model "HP Officejet 7500 e910" +:status :good + +:model "HP Officejet 7510 Wide Format E-all-in-one Printer" +:status :good + +:model "HP Officejet 7610 Wide Format E-all-in-one Printer" +:status :good + +:model "HP Officejet 7612 Wide Format E-all-in-one Printer" +:status :good + +:model "HP Officejet 8010 All-in-one Printer Series" +:status :good + +:model "HP Officejet 8020 All-in-one Printer Series" +:status :good + +:model "HP Officejet 8040 E-all-in-one" +:status :good + +:model "HP Officejet 8702 All-in-one" +:status :good + +:model "HP Officejet 9110 All-in-one Printer" +:status :good + +:model "HP Officejet 9120 All-in-one Printer" +:status :good + +:model "HP Officejet 9130 All-in-one Printer" +:status :good + +:model "HP Officejet All-in-one 9010" +:status :good + +:model "HP Officejet d125xi All-in-one Printer" +:status :good + +:model "HP Officejet d135 All-in-one Printer" +:status :good + +:model "HP Officejet d135xi All-in-one Printer" +:status :good + +:model "HP Officejet d145 All-in-one Printer" +:status :good + +:model "HP Officejet d145xi All-in-one Printer" +:status :good + +:model "HP Officejet d155xi All-in-one Printer" +:status :good + +:model "HP Officejet g55 All-in-one Printer" +:status :good + +:model "HP Officejet g55xi All-in-one Printer" +:status :good + +:model "HP Officejet g85 All-in-one Printer" +:status :good + +:model "HP Officejet g85xi All-in-one Printer" +:status :good + +:model "HP Officejet g95 All-in-one Printer" +:status :good + +:model "HP Officejet j3508 All-in-one Printer" +:status :good + +:model "HP Officejet j3608 All-in-one Printer" +:status :good + +:model "HP Officejet j3625 All-in-one Printer" +:status :good + +:model "HP Officejet j3635 All-in-one Printer" +:status :good + +:model "HP Officejet j3640 All-in-one Printer" +:status :good + +:model "HP Officejet j3650 All-in-one Printer" +:status :good + +:model "HP Officejet j3680 All-in-one Printer" +:status :good + +:model "HP Officejet j4524 All-in-one Printer" +:status :good + +:model "HP Officejet j4525 All-in-one Printer" +:status :good + +:model "HP Officejet j4535 All-in-one Printer" +:status :good + +:model "HP Officejet j4540 All-in-one Printer" +:status :good + +:model "HP Officejet j4550 All-in-one Printer" +:status :good + +:model "HP Officejet j4560 All-in-one Printer" +:status :good + +:model "HP Officejet j4580 All-in-one Printer" +:status :good + +:model "HP Officejet j4580c All-in-one Printer" +:status :good + +:model "HP Officejet j4585 All-in-one Printer" +:status :good + +:model "HP Officejet j4660 All-in-one Printer" +:status :good + +:model "HP Officejet j4680 All-in-one Printer" +:status :good + +:model "HP Officejet j4680c All-in-one Printer" +:status :good + +:model "HP Officejet j5505 All-in-one Printer" +:status :good + +:model "HP Officejet j5508 All-in-one Printer" +:status :good + +:model "HP Officejet j5510 All-in-one Printer" +:status :good + +:model "HP Officejet j5510v All-in-one Printer" +:status :good + +:model "HP Officejet j5510xi All-in-one Printer" +:status :good + +:model "HP Officejet j5515 All-in-one Printer" +:status :good + +:model "HP Officejet j5520 All-in-one Printer" +:status :good + +:model "HP Officejet j5725 All-in-one Printer" +:status :good + +:model "HP Officejet j5730 All-in-one Printer" +:status :good + +:model "HP Officejet j5735 All-in-one Printer" +:status :good + +:model "HP Officejet j5738 All-in-one Printer" +:status :good + +:model "HP Officejet j5740 All-in-one Printer" +:status :good + +:model "HP Officejet j5750 All-in-one Printer" +:status :good + +:model "HP Officejet j5780 All-in-one Printer" +:status :good + +:model "HP Officejet j5783 All-in-one Printer" +:status :good + +:model "HP Officejet j5785 All-in-one Printer" +:status :good + +:model "HP Officejet j5788 All-in-one Printer" +:status :good + +:model "HP Officejet j5790 All-in-one Printer" +:status :good + +:model "HP Officejet j6405 All-in-one Printer" +:status :good + +:model "HP Officejet j6410 All-in-one Printer" +:status :good + +:model "HP Officejet j6413 All-in-one Printer" +:status :good + +:model "HP Officejet j6415 All-in-one Printer" +:status :good + +:model "HP Officejet j6424 All-in-one Printer" +:status :good + +:model "HP Officejet j6450 All-in-one Printer" +:status :good + +:model "HP Officejet j6480 All-in-one Printer" +:status :good + +:model "HP Officejet j6488 All-in-one Printer" +:status :good + +:model "HP Officejet k60 All-in-one Printer" +:status :good + +:model "HP Officejet k60xi All-in-one Printer" +:status :good + +:model "HP Officejet k80 All-in-one Printer" +:status :good + +:model "HP Officejet k80xi All-in-one Printer" +:status :good + +:model "HP Officejet Pro 1150c All-in-one Printer" +:status :good + +:model "HP Officejet Pro 1150cse All-in-one Printer" +:status :good + +:model "HP Officejet Pro 1170c All-in-one Printer" +:status :good + +:model "HP Officejet Pro 1170cse All-in-one Printer" +:status :good + +:model "HP Officejet Pro 1170cxi All-in-one Printer" +:status :good + +:model "HP Officejet Pro 1175c All-in-one Printer" +:status :good + +:model "HP Officejet Pro 1175cse All-in-one Printer" +:status :good + +:model "HP Officejet Pro 1175cxi All-in-one Printer" +:status :good + +:model "HP Officejet Pro 276dw Multifunction Printer" +:status :good + +:model "HP Officejet Pro 3610 Black And White E-all-in-one" +:status :good + +:model "HP Officejet Pro 3620 Black And White E-all-in-one" +:status :good + +:model "HP Officejet Pro 6830 E-all-in-one" +:status :good + +:model "HP Officejet Pro 6835 E-all-in-one" +:status :good + +:model "HP Officejet Pro 6960 All-in-one" +:status :good + +:model "HP Officejet Pro 6968 All-in-one" +:status :good + +:model "HP Officejet Pro 6970 All-in-one" +:status :good + +:model "HP Officejet Pro 6975 All-in-one" +:status :good + +:model "HP Officejet Pro 6978 All-in-one" +:status :good + +:model "HP Officejet Pro 7720 Wide Format All-in-one" +:status :good + +:model "HP Officejet Pro 7730 Wide Format All-in-one" +:status :good + +:model "HP Officejet Pro 7740 Wide Format All-in-one" +:status :good + +:model "HP Officejet Pro 8020 All-in-one Printer Series" +:status :good + +:model "HP Officejet Pro 8030 All-in-one Printer Series" +:status :good + +:model "HP Officejet Pro 8500 All-in-one Printer - a909a" +:status :good + +:model "HP Officejet Pro 8500 Premier All-in-one Printer - a909n" +:status :good + +:model "HP Officejet Pro 8500 Wireless All-in-one Printer - a909g" +:status :good + +:model "HP Officejet Pro 8500a E-aio Printer - a910a" +:status :good + +:model "HP Officejet Pro 8500a Plus E-aio Printer - a910g" +:status :good + +:model "HP Officejet Pro 8500a Premium E-aio Printer - a910n" +:status :good + +:model "HP Officejet Pro 8600 E-aio n911a" +:status :good + +:model "HP Officejet Pro 8600 Plus E-aio n911g" +:status :good + +:model "HP Officejet Pro 8600 Premium E-aio n911n" +:status :good + +:model "HP Officejet Pro 8610 E-all-in-one Printer" +:status :good + +:model "HP Officejet Pro 8615 E-all-in-one Printer" +:status :good + +:model "HP Officejet Pro 8616 E-all-in-one Printer" +:status :good + +:model "HP Officejet Pro 8620 E-all-in-one Printer" +:status :good + +:model "HP Officejet Pro 8625 E-all-in-one Printer" +:status :good + +:model "HP Officejet Pro 8630 E-all-in-one Printer" +:status :good + +:model "HP Officejet Pro 8640 E-all-in-one Printer" +:status :good + +:model "HP Officejet Pro 8660 E-all-in-one Printer" +:status :good + +:model "HP Officejet Pro 8710 All-in-one Printer" +:status :good + +:model "HP Officejet Pro 8715 All-in-one Printer" +:status :good + +:model "HP Officejet Pro 8720 All-in-one Printer" +:status :good + +:model "HP Officejet Pro 8725 All-in-one Printer" +:status :good + +:model "HP Officejet Pro 8730" +:status :good + +:model "HP Officejet Pro 8732 All-in-one Printer" +:status :good + +:model "HP Officejet Pro 8740 All-in-one Printer" +:status :good + +:model "HP Officejet Pro All-in-one 9010" +:status :good + +:model "HP Officejet Pro All-in-one 9020" +:status :good + +:model "HP Officejet Pro l7300 Series All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7380 All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7480 All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7500 Series All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7550 All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7555 All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7580 All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7590 All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7600 Series All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7650 All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7680 All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7681 All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7700 Series All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7710 All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7750 All-in-one Printer" +:status :good + +:model "HP Officejet Pro l7780 All-in-one Printer" +:status :good + +:model "HP Officejet Pro x476 Multifunction Printer Series" +:status :good + +:model "HP Officejet Pro x476dn Multifunction Printer" +:status :good + +:model "HP Officejet Pro x476dw Multifunction Printer" +:status :good + +:model "HP Officejet Pro x576 Multifunction Printer Series" +:status :good + +:model "HP Officejet Pro x576dw Multifunction Printer" +:status :good + +:model "HP Officejet r40 All-in-one Printer" +:status :good + +:model "HP Officejet r40xi All-in-one Printer" +:status :good + +:model "HP Officejet r45 All-in-one Printer" +:status :good + +:model "HP Officejet r60 All-in-one Printer" +:status :good + +:model "HP Officejet r65 All-in-one Printer" +:status :good + +:model "HP Officejet r80 All-in-one Printer" +:status :good + +:model "HP Officejet r80xi All-in-one Printer" +:status :good + +:model "HP Officejet t45 All-in-one Printer" +:status :good + +:model "HP Officejet t45xi All-in-one Printer" +:status :good + +:model "HP Officejet t65 All-in-one Printer" +:status :good + +:model "HP Officejet t65xi All-in-one Printer" +:status :good + +:model "HP Officejet v30 All-in-one Printer" +:status :good + +:model "HP Officejet v40 All-in-one Printer" +:status :good + +:model "HP Officejet v40s All-in-one Printer" +:status :good + +:model "HP Officejet v40xi All-in-one Printer" +:status :good + +:model "HP Officejet v45 All-in-one Printer" +:status :good + +:model "HP Pagewide Managed MFP p57750dw" +:status :good + +:model "HP Pagewide Managed MFP p77740zs" +:status :good + +:model "HP Pagewide Managed MFP p77750z" +:status :good + +:model "HP Pagewide Managed MFP p77750zs" +:status :good + +:model "HP Pagewide MFP 377dw" +:status :good + +:model "HP Pagewide Pro 477dn Multifunction Printer" +:status :good + +:model "HP Pagewide Pro 477dw Multifunction Printer" +:status :good + +:model "HP Pagewide Pro 577dw Multifunction Printer" +:status :good + +:model "HP Pagewide Pro 577z Multifunction Printer" +:status :good + +:model "HP Pagewide Pro MFP 772dw" +:status :good + +:model "HP Photosmart 2570 All-in-one Printer" +:status :good + +:model "HP Photosmart 2571 All-in-one Printer" +:status :good + +:model "HP Photosmart 2573 All-in-one Printer" +:status :good + +:model "HP Photosmart 2574 All-in-one Printer" +:status :good + +:model "HP Photosmart 2575 All-in-one Printer" +:status :good + +:model "HP Photosmart 2575a All-in-one Printer" +:status :good + +:model "HP Photosmart 2575v All-in-one Printer" +:status :good + +:model "HP Photosmart 2575xi All-in-one Printer" +:status :good + +:model "HP Photosmart 2578 All-in-one Printer" +:status :good + +:model "HP Photosmart 2605 All-in-one Printer" +:status :good + +:model "HP Photosmart 2608 All-in-one Printer" +:status :good + +:model "HP Photosmart 2610 All-in-one Printer" +:status :good + +:model "HP Photosmart 2610v All-in-one Printer" +:status :good + +:model "HP Photosmart 2610xi All-in-one Printer" +:status :good + +:model "HP Photosmart 2613 All-in-one Printer" +:status :good + +:model "HP Photosmart 2615 All-in-one Printer" +:status :good + +:model "HP Photosmart 2710 All-in-one Printer" +:status :good + +:model "HP Photosmart 2710xi All-in-one Printer" +:status :good + +:model "HP Photosmart 2713 All-in-one Printer" +:status :good + +:model "HP Photosmart 3108 All-in-one Printer" +:status :good + +:model "HP Photosmart 3110 All-in-one Printer" +:status :good + +:model "HP Photosmart 3110v All-in-one Printer" +:status :good + +:model "HP Photosmart 3207 All-in-one Printer" +:status :good + +:model "HP Photosmart 3210 All-in-one Printer" +:status :good + +:model "HP Photosmart 3210a All-in-one Printer" +:status :good + +:model "HP Photosmart 3210v All-in-one Printer" +:status :good + +:model "HP Photosmart 3210xi All-in-one Printer" +:status :good + +:model "HP Photosmart 3213 All-in-one Printer" +:status :good + +:model "HP Photosmart 3214 All-in-one Printer" +:status :good + +:model "HP Photosmart 3308 All-in-one Printer" +:status :good + +:model "HP Photosmart 3310 All-in-one Printer" +:status :good + +:model "HP Photosmart 3310xi All-in-one Printer" +:status :good + +:model "HP Photosmart 3313 All-in-one Printer" +:status :good + +:model "HP Photosmart 3314 All-in-one Printer" +:status :good + +:model "HP Photosmart 5510 E-all-in-one" +:status :good + +:model "HP Photosmart 5510d E-all-in-one" +:status :good + +:model "HP Photosmart 5520 E-all-in-one" +:status :good + +:model "HP Photosmart 5521 E-all-in-one Printer" +:status :good + +:model "HP Photosmart 5522 E-all-in-one Printer" +:status :good + +:model "HP Photosmart 5524 E-all-in-one Printer" +:status :good + +:model "HP Photosmart 5525 E-all-in-one Printer" +:status :good + +:model "HP Photosmart 6510 E-all-in-one" +:status :good + +:model "HP Photosmart 6525 E All-in-one" +:status :good + +:model "HP Photosmart 7510 E-all-in-one" +:status :good + +:model "HP Photosmart 7520 E-all-in-one" +:status :good + +:model "HP Photosmart 7525 E-all-in-one" +:status :good + +:model "HP Photosmart All-in-one Printer - b010" +:status :good + +:model "HP Photosmart b109a Series" +:status :good + +:model "HP Photosmart c3110 All-in-one Printer" +:status :good + +:model "HP Photosmart c3125 All-in-one Printer" +:status :good + +:model "HP Photosmart c3135 All-in-one Printer" +:status :good + +:model "HP Photosmart c3140 All-in-one Printer" +:status :good + +:model "HP Photosmart c3150 All-in-one Printer" +:status :good + +:model "HP Photosmart c3170 All-in-one Printer" +:status :good + +:model "HP Photosmart c3173 All-in-one Printer" +:status :good + +:model "HP Photosmart c3175 All-in-one Printer" +:status :good + +:model "HP Photosmart c3180 All-in-one Printer" +:status :good + +:model "HP Photosmart c3183 All-in-one Printer" +:status :good + +:model "HP Photosmart c3188 All-in-one Printer" +:status :good + +:model "HP Photosmart c3190 All-in-one Printer" +:status :good + +:model "HP Photosmart c3193 All-in-one Printer" +:status :good + +:model "HP Photosmart c3194 All-in-one Printer" +:status :good + +:model "HP Photosmart c4110 All-in-one Printer" +:status :good + +:model "HP Photosmart c4140 All-in-one Printer" +:status :good + +:model "HP Photosmart c4150 All-in-one Printer" +:status :good + +:model "HP Photosmart c4170 All-in-one Printer" +:status :good + +:model "HP Photosmart c4173 All-in-one Printer" +:status :good + +:model "HP Photosmart c4175 All-in-one Printer" +:status :good + +:model "HP Photosmart c4180 All-in-one Printer" +:status :good + +:model "HP Photosmart c4183 All-in-one Printer" +:status :good + +:model "HP Photosmart c4188 All-in-one Printer" +:status :good + +:model "HP Photosmart c4190 All-in-one Printer" +:status :good + +:model "HP Photosmart c4193 All-in-one Printer" +:status :good + +:model "HP Photosmart c4194 All-in-one Printer" +:status :good + +:model "HP Photosmart c4205 All-in-one Printer" +:status :good + +:model "HP Photosmart c4210 All-in-one Printer" +:status :good + +:model "HP Photosmart c4235 All-in-one Printer" +:status :good + +:model "HP Photosmart c4240 All-in-one Printer" +:status :good + +:model "HP Photosmart c4250 All-in-one Printer" +:status :good + +:model "HP Photosmart c4270 All-in-one Printer" +:status :good + +:model "HP Photosmart c4272 All-in-one Printer" +:status :good + +:model "HP Photosmart c4273 All-in-one Printer" +:status :good + +:model "HP Photosmart c4275 All-in-one Printer" +:status :good + +:model "HP Photosmart c4280 All-in-one Printer" +:status :good + +:model "HP Photosmart c4283 All-in-one Printer" +:status :good + +:model "HP Photosmart c4285 All-in-one Printer" +:status :good + +:model "HP Photosmart c4288 All-in-one Printer" +:status :good + +:model "HP Photosmart c4293 All-in-one Printer" +:status :good + +:model "HP Photosmart c4294 All-in-one Printer" +:status :good + +:model "HP Photosmart c4340 All-in-one Printer" +:status :good + +:model "HP Photosmart c4342 All-in-one Printer" +:status :good + +:model "HP Photosmart c4343 All-in-one Printer" +:status :good + +:model "HP Photosmart c4344 All-in-one Printer" +:status :good + +:model "HP Photosmart c4345 All-in-one Printer" +:status :good + +:model "HP Photosmart c4348 All-in-one Printer" +:status :good + +:model "HP Photosmart c4380 All-in-one Printer" +:status :good + +:model "HP Photosmart c4383 All-in-one Printer" +:status :good + +:model "HP Photosmart c4384 All-in-one Printer" +:status :good + +:model "HP Photosmart c4385 All-in-one Printer" +:status :good + +:model "HP Photosmart c4388 All-in-one Printer" +:status :good + +:model "HP Photosmart c4410 All-in-one Printer" +:status :good + +:model "HP Photosmart c4424 All-in-one Printer" +:status :good + +:model "HP Photosmart c4435 All-in-one Printer" +:status :good + +:model "HP Photosmart c4440 All-in-one Printer" +:status :good + +:model "HP Photosmart c4450 All-in-one Printer" +:status :good + +:model "HP Photosmart c4470 All-in-one Printer" +:status :good + +:model "HP Photosmart c4472 All-in-one Printer" +:status :good + +:model "HP Photosmart c4473 All-in-one Printer" +:status :good + +:model "HP Photosmart c4480 All-in-one Printer" +:status :good + +:model "HP Photosmart c4483 All-in-one Printer" +:status :good + +:model "HP Photosmart c4485 All-in-one Printer" +:status :good + +:model "HP Photosmart c4486 All-in-one Printer" +:status :good + +:model "HP Photosmart c4488 All-in-one Printer" +:status :good + +:model "HP Photosmart c4490 All-in-one Printer" +:status :good + +:model "HP Photosmart c4493 All-in-one Printer" +:status :good + +:model "HP Photosmart c4494 All-in-one Printer" +:status :good + +:model "HP Photosmart c4540 All-in-one Printer" +:status :good + +:model "HP Photosmart c4550 All-in-one Printer" +:status :good + +:model "HP Photosmart c4570 All-in-one Printer" +:status :good + +:model "HP Photosmart c4572 All-in-one Printer" +:status :good + +:model "HP Photosmart c4573 All-in-one Printer" +:status :good + +:model "HP Photosmart c4575 All-in-one Printer" +:status :good + +:model "HP Photosmart c4580 All-in-one Printer" +:status :good + +:model "HP Photosmart c4583 All-in-one Printer" +:status :good + +:model "HP Photosmart c4585 All-in-one Printer" +:status :good + +:model "HP Photosmart c4588 All-in-one Printer" +:status :good + +:model "HP Photosmart c4593 All-in-one Printer" +:status :good + +:model "HP Photosmart c4599 All-in-one Printer" +:status :good + +:model "HP Photosmart c4610 All-in-one Printer" +:status :good + +:model "HP Photosmart c4635 All-in-one Printer" +:status :good + +:model "HP Photosmart c4640 All-in-one Printer" +:status :good + +:model "HP Photosmart c4650 All-in-one Printer" +:status :good + +:model "HP Photosmart c4670 All-in-one Printer" +:status :good + +:model "HP Photosmart c4673 All-in-one Printer" +:status :good + +:model "HP Photosmart c4680 All-in-one Printer" +:status :good + +:model "HP Photosmart c4683 All-in-one Printer" +:status :good + +:model "HP Photosmart c4688 All-in-one Printer" +:status :good + +:model "HP Photosmart c4740 All-in-one Printer" +:status :good + +:model "HP Photosmart c4750 All-in-one Printer" +:status :good + +:model "HP Photosmart c4780 All-in-one Printer" +:status :good + +:model "HP Photosmart c4783 All-in-one Printer" +:status :good + +:model "HP Photosmart c4785 All-in-one Printer" +:status :good + +:model "HP Photosmart c4788 All-in-one Printer" +:status :good + +:model "HP Photosmart c4793 All-in-one Printer" +:status :good + +:model "HP Photosmart c4795 All-in-one Printer" +:status :good + +:model "HP Photosmart c4798 All-in-one Printer" +:status :good + +:model "HP Photosmart c4799 All-in-one Printer" +:status :good + +:model "HP Photosmart c5140 All-in-one Printer" +:status :good + +:model "HP Photosmart c5150 All-in-one Printer" +:status :good + +:model "HP Photosmart c5170 All-in-one Printer" +:status :good + +:model "HP Photosmart c5173 All-in-one Printer" +:status :good + +:model "HP Photosmart c5175 All-in-one Printer" +:status :good + +:model "HP Photosmart c5180 All-in-one Printer" +:status :good + +:model "HP Photosmart c5183 All-in-one Printer" +:status :good + +:model "HP Photosmart c5185 All-in-one Printer" +:status :good + +:model "HP Photosmart c5188 All-in-one Printer" +:status :good + +:model "HP Photosmart c5194 All-in-one Printer" +:status :good + +:model "HP Photosmart c5240 All-in-one Printer" +:status :good + +:model "HP Photosmart c5250 All-in-one Printer" +:status :good + +:model "HP Photosmart c5270 All-in-one Printer" +:status :good + +:model "HP Photosmart c5273 All-in-one Printer" +:status :good + +:model "HP Photosmart c5275 All-in-one Printer" +:status :good + +:model "HP Photosmart c5280 All-in-one Printer" +:status :good + +:model "HP Photosmart c5283 All-in-one Printer" +:status :good + +:model "HP Photosmart c5288 All-in-one Printer" +:status :good + +:model "HP Photosmart c5290 All-in-one Printer" +:status :good + +:model "HP Photosmart c5293 All-in-one Printer" +:status :good + +:model "HP Photosmart c5370 All-in-one Printer" +:status :good + +:model "HP Photosmart c5373 All-in-one Printer" +:status :good + +:model "HP Photosmart c5380 All-in-one Printer" +:status :good + +:model "HP Photosmart c5383 All-in-one Printer" +:status :good + +:model "HP Photosmart c5388 All-in-one Printer" +:status :good + +:model "HP Photosmart c5390 All-in-one Printer" +:status :good + +:model "HP Photosmart c5393 All-in-one Printer" +:status :good + +:model "HP Photosmart c5540 All-in-one Printer" +:status :good + +:model "HP Photosmart c5550 All-in-one Printer" +:status :good + +:model "HP Photosmart c5570 All-in-one Printer" +:status :good + +:model "HP Photosmart c5580 All-in-one Printer" +:status :good + +:model "HP Photosmart c6150 All-in-one Printer" +:status :good + +:model "HP Photosmart c6154 All-in-one Printer" +:status :good + +:model "HP Photosmart c6170 All-in-one Printer" +:status :good + +:model "HP Photosmart c6175 All-in-one Printer" +:status :good + +:model "HP Photosmart c6180 All-in-one Printer" +:status :good + +:model "HP Photosmart c6183 All-in-one Printer" +:status :good + +:model "HP Photosmart c6185 All-in-one Printer" +:status :good + +:model "HP Photosmart c6188 All-in-one Printer" +:status :good + +:model "HP Photosmart c6190 All-in-one Printer" +:status :good + +:model "HP Photosmart c6240 All-in-one Printer" +:status :good + +:model "HP Photosmart c6245 All-in-one Printer" +:status :good + +:model "HP Photosmart c6250 All-in-one Printer" +:status :good + +:model "HP Photosmart c6260 All-in-one Printer" +:status :good + +:model "HP Photosmart c6263 All-in-one Printer" +:status :good + +:model "HP Photosmart c6268 All-in-one Printer" +:status :good + +:model "HP Photosmart c6270 All-in-one Printer" +:status :good + +:model "HP Photosmart c6275 All-in-one Printer" +:status :good + +:model "HP Photosmart c6280 All-in-one Printer" +:status :good + +:model "HP Photosmart c6283 All-in-one Printer" +:status :good + +:model "HP Photosmart c6285 All-in-one Printer" +:status :good + +:model "HP Photosmart c6286 All-in-one Printer" +:status :good + +:model "HP Photosmart c6288 All-in-one Printer" +:status :good + +:model "HP Photosmart c6324 All-in-one Printer" +:status :good + +:model "HP Photosmart c6340 All-in-one Printer" +:status :good + +:model "HP Photosmart c6350 All-in-one Printer" +:status :good + +:model "HP Photosmart c6375 All-in-one Printer" +:status :good + +:model "HP Photosmart c6380 All-in-one Printer" +:status :good + +:model "HP Photosmart c6383 All-in-one Printer" +:status :good + +:model "HP Photosmart c6388 All-in-one Printer" +:status :good + +:model "HP Photosmart c7150 All-in-one Printer" +:status :good + +:model "HP Photosmart c7154 All-in-one Printer" +:status :good + +:model "HP Photosmart c7170 All-in-one Printer" +:status :good + +:model "HP Photosmart c7180 All-in-one Printer" +:status :good + +:model "HP Photosmart c7183 All-in-one Printer" +:status :good + +:model "HP Photosmart c7185 All-in-one Printer" +:status :good + +:model "HP Photosmart c7188 All-in-one Printer" +:status :good + +:model "HP Photosmart c7190 All-in-one Printer" +:status :good + +:model "HP Photosmart c7250 All-in-one Printer" +:status :good + +:model "HP Photosmart c7275 All-in-one Printer" +:status :good + +:model "HP Photosmart c7280 All-in-one Printer" +:status :good + +:model "HP Photosmart c7283 All-in-one Printer" +:status :good + +:model "HP Photosmart c7288 All-in-one Printer" +:status :good + +:model "HP Photosmart c8150 All-in-one Printer" +:status :good + +:model "HP Photosmart c8180 All-in-one Printer" +:status :good + +:model "HP Photosmart c8183 All-in-one Printer" +:status :good + +:model "HP Photosmart c8188 All-in-one Printer" +:status :good + +:model "HP Photosmart d110 Series Printer" +:status :good + +:model "HP Photosmart Estn c510 Series" +:status :good + +:model "HP Photosmart Ink Adv k510" +:status :good + +:model "HP Photosmart Plus All-in-one Printer - b209a" +:status :good + +:model "HP Photosmart Plus All-in-one Printer - b209b" +:status :good + +:model "HP Photosmart Plus All-in-one Printer - b209c" +:status :good + +:model "HP Photosmart Plus b210 Series" +:status :good + +:model "HP Photosmart Prem c310 Series" +:status :good + +:model "HP Photosmart Prem c410 Series" +:status :good + +:model "HP Photosmart Premium All-in-one Printer Series - c309g" +:status :good + +:model "HP Photosmart Premium All-in-one Printer Series - c309h" +:status :good + +:model "HP Photosmart Premium Fax All-in-one Printer - c309a" +:status :good + +:model "HP Photosmart Premium Fax All-in-one Printer Series -c309a" :status :good -:model "HP Officejet 6150 All-in-one Printer" +:model "HP Photosmart Premium Fax All-in-one Printer Series -c309c" :status :good -:model "HP Photosmart c6150 All-in-one Printer" +:model "HP Photosmart Wireless All-in-one Printer - b109n" :status :good -:model "HP Photosmart c6154 All-in-one Printer" +:model "HP Photosmart Wireless All-in-one Printer - b109q" :status :good -:model "HP Photosmart c6170 All-in-one Printer" +:model "HP Photosmart Wireless All-in-one Printer - b109qr" :status :good -:model "HP Photosmart c6175 All-in-one Printer" +:model "HP Photosmart Wireless All-in-one Printer - b110" :status :good -:model "HP Photosmart c6180 All-in-one Printer" +:model "HP Photsmart 6520 E All-in-one" :status :good -:model "HP Photosmart c6183 All-in-one Printer" +:model "HP Printer Scanner Copier 300" :status :good -:model "HP Photosmart c6185 All-in-one Printer" +:model "HP PSC 1000 Series" :status :good -:model "HP Photosmart c6188 All-in-one Printer" +:model "HP PSC 1110 All-in-one Printer" :status :good -:model "HP Photosmart c6190 All-in-one Printer" +:model "HP PSC 1110v All-in-one Printer" :status :good -:model "HP Officejet 6200 All-in-one Printer" +:model "HP PSC 1118 All-in-one Printer" :status :good -:model "HP Officejet 6203 All-in-one Printer" +:model "HP PSC 1200 All-in-one Printer" :status :good -:model "HP Officejet 6205 All-in-one Printer" +:model "HP PSC 1205 All-in-one Printer" :status :good -:model "HP Officejet 6208 All-in-one Printer" +:model "HP PSC 1209 All-in-one Printer" :status :good -:model "HP Officejet 6210xi All-in-one Printer" +:model "HP PSC 1210 All-in-one Printer" :status :good -:model "HP Officejet 6210v All-in-one Printer" +:model "HP PSC 1210v All-in-one Printer" :status :good -:model "HP Officejet 6210 All-in-one Printer" +:model "HP PSC 1210xi All-in-one Printer" :status :good -:model "HP Officejet 6213 All-in-one Printer" +:model "HP PSC 1213 All-in-one Printer" :status :good -:model "HP Officejet 6215 All-in-one Printer" +:model "HP PSC 1215 All-in-one Printer" :status :good -:model "HP Photosmart c6240 All-in-one Printer" +:model "HP PSC 1216 All-in-one Printer" :status :good -:model "HP Photosmart c6245 All-in-one Printer" +:model "HP PSC 1217 All-in-one Printer" :status :good -:model "HP Photosmart c6250 All-in-one Printer" +:model "HP PSC 1218 All-in-one Printer" :status :good -:model "HP Photosmart c6260 All-in-one Printer" +:model "HP PSC 1219 All-in-one Printer" :status :good -:model "HP Photosmart c6263 All-in-one Printer" +:model "HP PSC 1300 All-in-one Printer" :status :good -:model "HP Photosmart c6268 All-in-one Printer" +:model "HP PSC 1310 All-in-one Printer" :status :good -:model "HP Photosmart c6270 All-in-one Printer" +:model "HP PSC 1311 All-in-one Printer" :status :good -:model "HP Photosmart c6275 All-in-one Printer" +:model "HP PSC 1312 All-in-one Printer" :status :good -:model "HP Photosmart c6280 All-in-one Printer" +:model "HP PSC 1315 All-in-one Printer" :status :good -:model "HP Photosmart c6283 All-in-one Printer" +:model "HP PSC 1315s All-in-one Printer" :status :good -:model "HP Photosmart c6285 All-in-one Printer" +:model "HP PSC 1315v All-in-one Printer" :status :good -:model "HP Photosmart c6286 All-in-one Printer" +:model "HP PSC 1315xi All-in-one Printer" :status :good -:model "HP Photosmart c6288 All-in-one Printer" +:model "HP PSC 1317 All-in-one Printer" :status :good -:model "HP Officejet 6301 All-in-one Printer" +:model "HP PSC 1318 All-in-one Printer" :status :good -:model "HP Officejet 6304 All-in-one Printer" +:model "HP PSC 1340 All-in-one Printer" :status :good -:model "HP Officejet 6305 All-in-one Printer" +:model "HP PSC 1350 All-in-one Printer" :status :good -:model "HP Officejet 6307 All-in-one Printer" +:model "HP PSC 1350v All-in-one Printer" :status :good -:model "HP Officejet 6308 All-in-one Printer" +:model "HP PSC 1350xi All-in-one Printer" :status :good -:model "HP Officejet 6310 All-in-one Printer" +:model "HP PSC 1355 All-in-one Printer" :status :good -:model "HP Officejet 6310xi All-in-one Printer" +:model "HP PSC 1358 Series" :status :good -:model "HP Officejet 6310v All-in-one Printer" +:model "HP PSC 1401 All-in-one Printer" :status :good -:model "HP Officejet 6313 All-in-one Printer" +:model "HP PSC 1402 All-in-one Printer" :status :good -:model "HP Officejet 6315 All-in-one Printer" +:model "HP PSC 1403 All-in-one Printer" :status :good -:model "HP Officejet 6318 All-in-one Printer" +:model "HP PSC 1406 All-in-one Printer" :status :good -:model "HP Photosmart c6324 All-in-one Printer" +:model "HP PSC 1408 All-in-one Printer" :status :good -:model "HP Photosmart c6340 All-in-one Printer" +:model "HP PSC 1410 All-in-one Printer" :status :good -:model "HP Photosmart c6350 All-in-one Printer" +:model "HP PSC 1410v All-in-one Printer" :status :good -:model "HP Photosmart c6375 All-in-one Printer" +:model "HP PSC 1410xi All-in-one Printer" :status :good -:model "HP Photosmart c6380 All-in-one Printer" +:model "HP PSC 1415 All-in-one Printer" :status :good -:model "HP Photosmart c6383 All-in-one Printer" +:model "HP PSC 1417 All-in-one Printer" :status :good -:model "HP Photosmart c6388 All-in-one Printer" +:model "HP PSC 1508 All-in-one Printer" :status :good -:model "HP Officejet j6405 All-in-one Printer" +:model "HP PSC 1510 All-in-one Printer" :status :good -:model "HP Officejet j6410 All-in-one Printer" +:model "HP PSC 1510 Series" :status :good -:model "HP Officejet j6413 All-in-one Printer" +:model "HP PSC 1510s All-in-one Printer" :status :good -:model "HP Officejet j6415 All-in-one Printer" +:model "HP PSC 1510v All-in-one Printer" :status :good -:model "HP Officejet j6424 All-in-one Printer" +:model "HP PSC 1510xi All-in-one Printer" :status :good -:model "HP Officejet j6450 All-in-one Printer" +:model "HP PSC 1513 All-in-one Printer" :status :good -:model "HP Officejet j6480 All-in-one Printer" +:model "HP PSC 1513s All-in-one Printer" :status :good -:model "HP Officejet j6488 All-in-one Printer" +:model "HP PSC 1514 All-in-one Printer" :status :good -:model "HP Officejet 6500 Wireless All-in-one Printer - e709q" +:model "HP PSC 1600 All-in-one Printer" :status :good -:model "HP Officejet 6500 Wireless All-in-one Printer - e709n" +:model "HP PSC 1603 All-in-one Printer" :status :good -:model "HP Officejet 6500 All-in-one Printer - e709c" +:model "HP PSC 1605 All-in-one Printer" :status :good -:model "HP Officejet 6500 All-in-one Printer - e709a" +:model "HP PSC 1608 All-in-one Printer" :status :good -:model "HP Officejet 7100 All-in-one Printer" +:model "HP PSC 1610 All-in-one Printer" :status :good -:model "HP Officejet 7110xi All-in-one Printer" +:model "HP PSC 1610v All-in-one Printer" :status :good -:model "HP Officejet 7110 All-in-one Printer" +:model "HP PSC 1610xi All-in-one Printer" :status :good -:model "HP Officejet 7115 All-in-one Printer" +:model "HP PSC 1613 All-in-one Printer" :status :good -:model "HP Officejet 7130 All-in-one Printer" +:model "HP PSC 1615 All-in-one Printer" :status :good -:model "HP Officejet 7130xi All-in-one Printer" +:model "HP PSC 2105 All-in-one Printer" :status :good -:model "HP Officejet 7135xi All-in-one Printer" +:model "HP PSC 2108 All-in-one Printer" :status :good -:model "HP Officejet 7140xi All-in-one Printer" +:model "HP PSC 2110 All-in-one Printer" :status :good -:model "HP Photosmart c7150 All-in-one Printer" +:model "HP PSC 2110v All-in-one Printer" :status :good -:model "HP Photosmart c7154 All-in-one Printer" +:model "HP PSC 2110xi All-in-one Printer" :status :good -:model "HP Photosmart c7170 All-in-one Printer" +:model "HP PSC 2115 All-in-one Printer" :status :good -:model "HP Photosmart c7180 All-in-one Printer" +:model "HP PSC 2150 All-in-one Printer" :status :good -:model "HP Photosmart c7183 All-in-one Printer" +:model "HP PSC 2170 All-in-one Printer" :status :good -:model "HP Photosmart c7185 All-in-one Printer" +:model "HP PSC 2171 All-in-one Printer" :status :good -:model "HP Photosmart c7188 All-in-one Printer" +:model "HP PSC 2175 All-in-one Printer" :status :good -:model "HP Photosmart c7190 All-in-one Printer" +:model "HP PSC 2175v All-in-one Printer" :status :good -:model "HP Officejet 7205 All-in-one Printer" +:model "HP PSC 2175xi All-in-one Printer" :status :good -:model "HP Officejet 7208 All-in-one Printer" +:model "HP PSC 2179 All-in-one Printer" :status :good -:model "HP Officejet 7210 All-in-one Printer" +:model "HP PSC 2200 All-in-one Printer" :status :good -:model "HP Officejet 7210v All-in-one Printer" +:model "HP PSC 2210 All-in-one Printer" :status :good -:model "HP Officejet 7210xi All-in-one Printer" +:model "HP PSC 2210v All-in-one Printer" :status :good -:model "HP Officejet 7213 All-in-one Printer" +:model "HP PSC 2210xi All-in-one Printer" :status :good -:model "HP Officejet 7215 All-in-one Printer" +:model "HP PSC 2300 Series All-in-one Printer" :status :good -:model "HP Photosmart c7250 All-in-one Printer" +:model "HP PSC 2310 All-in-one Printer" :status :good -:model "HP Photosmart c7275 All-in-one Printer" +:model "HP PSC 2350 All-in-one Printer" :status :good -:model "HP Photosmart c7280 All-in-one Printer" +:model "HP PSC 2352 All-in-one Printer" :status :good -:model "HP Photosmart c7283 All-in-one Printer" +:model "HP PSC 2353 All-in-one Printer" :status :good -:model "HP Photosmart c7288 All-in-one Printer" +:model "HP PSC 2353p All-in-one Printer" :status :good -:model "HP Officejet Pro l7300 Series All-in-one Printer" +:model "HP PSC 2355 All-in-one Printer" :status :good -:model "HP Officejet 7310xi All-in-one Printer" +:model "HP PSC 2355p All-in-one Printer" :status :good -:model "HP Officejet 7310 All-in-one Printer" +:model "HP PSC 2355v All-in-one Printer" :status :good -:model "HP Officejet 7313 All-in-one Printer" +:model "HP PSC 2355xi All-in-one Printer" :status :good -:model "HP Officejet Pro l7380 All-in-one Printer" +:model "HP PSC 2357 All-in-one Printer" :status :good -:model "HP Officejet 7408 All-in-one Printer" +:model "HP PSC 2358 All-in-one Printer" :status :good -:model "HP Officejet 7410xi All-in-one Printer" +:model "HP PSC 2405 Photosmart All-in-one Printer" :status :good -:model "HP Officejet 7410 All-in-one Printer" +:model "HP PSC 2410 Photosmart All-in-one Printer" :status :good -:model "HP Officejet 7413 All-in-one Printer" +:model "HP PSC 2410v Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro l7480 All-in-one Printer" +:model "HP PSC 2410xi Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro l7500 Series All-in-one Printer" +:model "HP PSC 2420 Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro l7550 All-in-one Printer" +:model "HP PSC 2450 Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro l7555 All-in-one Printer" +:model "HP PSC 2500 Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro l7580 All-in-one Printer" +:model "HP PSC 2510 Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro l7590 All-in-one Printer" +:model "HP PSC 2510xi Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro l7600 Series All-in-one Printer" +:model "HP PSC 2550 Photosmart All-in-one Printer" :status :good -:model "HP Officejet Pro l7650 All-in-one Printer" +:model "HP PSC 500 All-in-one Printer" :status :good -:model "HP Officejet Pro l7680 All-in-one Printer" +:model "HP PSC 500xi All-in-one Printer" :status :good -:model "HP Officejet Pro l7681 All-in-one Printer" +:model "HP PSC 720 All-in-one Printer" :status :good -:model "HP Officejet Pro l7700 Series All-in-one Printer" +:model "HP PSC 750 All-in-one Printer" :status :good -:model "HP Officejet Pro l7710 All-in-one Printer" +:model "HP PSC 750xi All-in-one Printer" :status :good -:model "HP Officejet Pro l7750 All-in-one Printer" +:model "HP PSC 760 All-in-one Printer" :status :good -:model "HP Officejet Pro l7780 All-in-one Printer" +:model "HP PSC 780 All-in-one Printer" :status :good -:model "HP cm8050 Color Multifunction Printer With Edgeline Technology" +:model "HP PSC 780xi All-in-one Printer" :status :good -:model "HP cm8060 Color Multifunction Printer With Edgeline Technology" +:model "HP PSC 900 All-in-one Printer" :status :good -:model "HP LaserJet 8100 Multifunction Printer" +:model "HP PSC 920 All-in-one Printer" :status :good -:model "HP LaserJet 8150 Multifunction Printer" +:model "HP PSC 950 All-in-one Printer" :status :good -:model "HP Photosmart c8150 All-in-one Printer" +:model "HP PSC 950vr All-in-one Printer" :status :good -:model "HP Photosmart c8180 All-in-one Printer" +:model "HP PSC 950xi All-in-one Printer" :status :good -:model "HP Photosmart c8183 All-in-one Printer" +:model "HP Scanjet Enterprise 7500" :status :good -:model "HP Photosmart c8188 All-in-one Printer" +:model "HP Scanjet Enterprise Flow 5000 s4" :status :good -:model "HP Officejet Pro 8500 Premier All-in-one Printer - a909n" +:model "HP Scanjet Enterprise Flow 7000 s3" :status :good -:model "HP Officejet Pro 8500 Wireless All-in-one Printer - a909g" +:model "HP Scanjet Enterprise Flow n9120 fn2 Document Scanner" :status :good -:model "HP Officejet Pro 8500 All-in-one Printer - a909a" +:model "HP Scanjet Pro 3000 s3" :status :good -:model "HP LaserJet 9000 Multifunction Printer" +:model "HP Scanjet Pro 3500 f1 Flatbed Scanner" :status :good -:model "HP LaserJet 9000l Multifunction Printer" +:model "HP Scanjet Pro 4500 fn1" :status :good -:model "HP LaserJet 9040 Multifunction Printer" +:model "HP Smart Tank 350" :status :good -:model "HP LaserJet 9050 Multifunction Printer" +:model "HP Smart Tank 500 Series" :status :good -:model "HP LaserJet 9055 Multifunction Printer" +:model "HP Smart Tank 510" :status :good -:model "HP LaserJet 9065 Multifunction Printer" +:model "HP Smart Tank 530 Series" :status :good -:model "HP Officejet 9110 All-in-one Printer" +:model "HP Smart Tank 610" :status :good -:model "HP Officejet 9120 All-in-one Printer" +:model "HP Smart Tank Plus 550" :status :good -:model "HP Officejet 9130 All-in-one Printer" +:model "HP Smart Tank Plus 570 Series" +:status :good + +:model "HP Smart Tank Plus 650" +:status :good + +:model "HP Smart Tank Wireless 450" +:status :good + +:model "HP Tango" :status :good -:model "HP Color LaserJet 9500 Multifunction Printer" +:model "HP Tango X" :status :good diff --git a/doc/descriptions-external/lhii.desc b/doc/descriptions-external/lhii.desc index 1877e0c..19c642d 100644 --- a/doc/descriptions-external/lhii.desc +++ b/doc/descriptions-external/lhii.desc @@ -12,8 +12,6 @@ :backend "lhii" ; name of backend ;:version "0.42" ; version of backend (or "unmaintained") -;:new :yes ; Is the backend new to this SANE release? - ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://www.sane-project.org/backends/lhii/lhii-v0.2.tgz" ; backend's web page :comment "This backend is for old handscanners with proprietary adapter cards. You also need a kernel driver. You may find such drivers at that page: http://www.willamowius.de/scanner.html ." diff --git a/doc/descriptions-external/panamfs.desc b/doc/descriptions-external/panamfs.desc index 5a34cea..066207d 100644 --- a/doc/descriptions-external/panamfs.desc +++ b/doc/descriptions-external/panamfs.desc @@ -12,8 +12,6 @@ :backend "panamfs" ; name of backend ;:version "1.0.0" ; version of backend (or "unmaintained") -;:new :yes ; Is the backend new to this SANE release? - ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://panasonic.net/pcc/support/fax/common/table/linuxdriver.html" ; backend's web page :comment "External backend made by panasonic." diff --git a/doc/descriptions-external/primascan.desc b/doc/descriptions-external/primascan.desc index 6815bcd..8533da3 100644 --- a/doc/descriptions-external/primascan.desc +++ b/doc/descriptions-external/primascan.desc @@ -12,8 +12,6 @@ :backend "primascan" ; name of backend ;:version "0.42" ; version of backend (or "unmaintained") -;:new :yes ; Is the backend new to this SANE release? - ; :yes or :no ;:manpage "sane-template" ; name of manpage (if it exists) :url "http://www.geocities.com/trsh0101/index.html" ; backend's web page :comment "SANE backend and stand-alone program" diff --git a/doc/descriptions-external/scangearmp2.desc b/doc/descriptions-external/scangearmp2.desc new file mode 100644 index 0000000..d3ea973 --- /dev/null +++ b/doc/descriptions-external/scangearmp2.desc @@ -0,0 +1,425 @@ +; +; 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 "canon_pixma" ; name of backend +;:version "(external)" ; version of backend +:url "https://github.com/Ordissimo/scangearmp2/blob/master/README.md" ; backend's web page +:comment "External binary-only backend for Linux i386 and x86_64?. See the website for the latest release." + + + +:devicetype :scanner ; start of a list of devices.... + ; other types: :stillcam, :vidcam, + ; :meta, :api + +:mfg "Canon" ; name a manufacturer +:url "https://www.canon.com/" +:comment "Multi Function Peripheral. External backend made by Canon. Please check the Canon website and/or contact us if you have a Canon device not mentioned here." + +; +; Canon MFP2 conf file +; + +; ---- V390 -------------------------- +:model "G6000 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1865" +:status :good + +:model "G6080 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1866" +:status :good + +:model "TS5300 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x188b" +:status :good + +:model "TS5380 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x188c" +:status :good + +:model "TS6300 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x188d" +:status :good + +:model "TS6380 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x188e" +:status :good + +:model "TS7330 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x188f" +:status :good + +:model "TS8300 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1890" +:status :good + +:model "TS8380 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1891" +:status :good + +:model "TS8330 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1892" +:status :good + +:model "XK60 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1893" +:status :good + +:model "TS6330 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1894" +:status :good + +:model "TS3300 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x18a2" +:status :good + +:model "E3300 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x18a3" +:status :good + +; ---- V370 -------------------------- +:model "TS8200 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1859" +:status :good + +:model "XK80 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1873" +:status :good + +:model "TS8230 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x185b" +:status :good + +:model "TS8280 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x185a" +:status :good + +:model "TS6200 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1856" +:status :good + +:model "TS6230 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1858" +:status :good + +:model "TS6280 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1857" +:status :good + +:model "TS9500 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x185c" +:status :good + +:model "TR9530 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x185e" +:status :good + +:model "TS9580 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x185d" +:status :good + +:model "TR4500 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1854" +:status :good + +:model "E4200 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1855" +:status :good + +:model "LiDE 400" +:interface "USB" +:usbid "0x04a9" "0x1912" +:status :good + +:model "LiDE 300" +:interface "USB" +:usbid "0x04a9" "0x1913" +:status :good + + +; ---- V360 -------------------------- +:model "G3010 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x183b" +:status :good + +:model "G4010 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x183d" +:status :good + + +; ---- V350 -------------------------- +:model "TS9100 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1820" +:status :good + +:model "TS8100 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1821" +:status :good + +:model "TS6100 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1822" +:status :good + +:model "TR8500 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1823" +:status :good + +:model "TR7500 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1824" +:status :good + +:model "TS5100 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1825" +:status :good + +:model "TS3100 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1827" +:status :good + +:model "E3100 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1828" +:status :good + +:model "TS9180 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x183e" +:status :good + +:model "TS8180 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x183f" +:status :good + +:model "TS6180 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1840" +:status :good + +:model "TR8580 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1841" +:status :good + +:model "TS8130 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1842" +:status :good + +:model "TS6130 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1843" +:status :good + +:model "TR8530 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1844" +:status :good + +:model "TR7530 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1845" +:status :good + +:model "XK50 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1846" +:status :good + +:model "XK70 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1847" +:status :good + + +; ---- V340 -------------------------- +:model "TS9000 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x179f" +:status :good + +:model "TS8000 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1800" +:status :good + +:model "TS6000 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1801" +:status :good + +:model "TS5000 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1802" +:status :good + +:model "MG3000 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x180b" +:status :good + +:model "E470 series" +:interface "USB" +:usbid "0x04a9" "0x180c" +:status :good + +:model "G4000 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x181d" +:status :good + +; Network attached versions of the above +:model "MB2100 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1793" +:status :good + +:model "MB2700 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1792" +:status :good + +:model "MB5100 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1790" +:status :good + +:model "MB5400 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x178f" +:status :good + +; ---- V330 -------------------------- +:model "G3000 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1794" +:status :good + + +; ---- V320 -------------------------- +:model "MG7700 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x178b" +:status :good + +:model "MG6900 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x178c" +:status :good + +:model "MG6800 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x178d" +:status :good + +:model "MG5700 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x178e" +:status :good + +:model "MG3600 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x178a" +:status :good + + +; ---- V310 -------------------------- +:model "MX490 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1787" +:status :good + +:model "E480 series" +:interface "USB" +:usbid "0x04a9" "0x1789" +:status :good + + +; ---- V300 -------------------------- +:model "MG7500 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x177c" +:status :good + +:model "MG6600 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x177e" +:status :good + +:model "MG5600 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x177f" +:status :good + +:model "MG2900 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1780" +:status :good + +:model "MB2000 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1778" +:status :good + +:model "MB2300 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1779" +:status :good + +:model "MB5000 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1776" +:status :good + +:model "MB5300 series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1777" +:status :good + +:model "E460 series" +:interface "USB" +:usbid "0x04a9" "0x1788" +:status :good diff --git a/doc/descriptions-external/template.desc. b/doc/descriptions-external/template.desc. index a6b6bab..ce5d077 100644 --- a/doc/descriptions-external/template.desc. +++ b/doc/descriptions-external/template.desc. @@ -12,8 +12,6 @@ :backend "template" ; name of backend :version "0.42" ; version of backend (or "unmaintained") -:new :yes ; Is the backend new to this SANE release? - ; :yes or :no :manpage "sane-template" ; name of manpage (if it exists) :url "http://www.luser.com/temp/" ; backend's web page :url "http://www.luser.com/b/" ; another backend webpage diff --git a/doc/descriptions-external/utsushi.desc b/doc/descriptions-external/utsushi.desc index 08ad17f..105b0c7 100644 --- a/doc/descriptions-external/utsushi.desc +++ b/doc/descriptions-external/utsushi.desc @@ -69,7 +69,7 @@ :interface "USB" :status :good -:model "DS-535" +:model "DS-535H" :interface "USB" :usbid "0x04b8" "0x017a" :status :good @@ -192,6 +192,11 @@ :usbid "0x04b8" "0x1106" :status :good +:model "ET-3750" +:interface "USB" +:usbid "0x04b8" "0x1130" +:status :good + :model "ET-4500" :interface "USB" :usbid "0x04b8" "0x1107" @@ -934,6 +939,18 @@ :status :good :comment "L61x0" +:model "PID 1167" +:interface "USB" +:usbid "0x04b8" "0x1167" +:status :good +:comment "ET-16xxx" + +:model "PID 1168" +:interface "USB" +:usbid "0x04b8" "0x1168" +:status :good +:comment "ET-16xxx" + :model "PID 1169" :interface "USB" :usbid "0x04b8" "0x1169" @@ -951,8 +968,56 @@ :usbid "0x04b8" "0x116b" :status :good +:model "PID 116C" +:interface "USB" +:usbid "0x04b8" "0x116c" +:status :good +:comment "WFC8xxR" + +:model "PID 116D" +:interface "USB" +:usbid "0x04b8" "0x116d" +:status :good +:comment "WFC8xxR" + :model "PID 116E" :interface "USB" :usbid "0x04b8" "0x116e" :status :good :comment "EWM7xxTR" + +:model "PID 116F" +:interface "USB" +:usbid "0x04b8" "0x116f" +:status :good +:comment "ET-16xxx" + +:model "PID 1170" +:interface "USB" +:usbid "0x04b8" "0x1170" +:status :good +:comment "ET-16xxx" + +:model "PID 1174" +:interface "USB" +:usbid "0x04b8" "0x1174" +:status :good +:comment "ET-58xx" + +:model "PID 1175" +:interface "USB" +:usbid "0x04b8" "0x1175" +:status :good +:comment "ET-58xx" + +:model "PID 1176" +:interface "USB" +:usbid "0x04b8" "0x1176" +:status :good +:comment "ET-58xx" + +:model "PID 1177" +:interface "USB" +:usbid "0x04b8" "0x1177" +:status :good +:comment "ET-16xxx" diff --git a/doc/descriptions/escl.desc b/doc/descriptions/escl.desc new file mode 100644 index 0000000..f654f75 --- /dev/null +++ b/doc/descriptions/escl.desc @@ -0,0 +1,7 @@ +:backend "escl" +:new :yes +:manpage "sane-escl" +:url "https://support.apple.com/en-us/HT201311" +:comment "The eSCL backend for sane supports AirScan/eSCL devices that announce themselves on mDNS as _uscan._utcp or _uscans._utcp" + +:devicetype :scanner diff --git a/doc/descriptions/fujitsu.desc b/doc/descriptions/fujitsu.desc index 99e5d7a..b858415 100644 --- a/doc/descriptions/fujitsu.desc +++ b/doc/descriptions/fujitsu.desc @@ -651,3 +651,9 @@ :interface "USB" :status :untested :usbid "0x04c5" "0x1522" + +:model "ScanSnap iX1500" +:interface "USB WiFi" +:status :good +:usbid "0x04c5" "0x159f" +:comment "small, current, WiFi not supported." diff --git a/doc/descriptions/genesys.desc b/doc/descriptions/genesys.desc index 77c1fd8..888f252 100644 --- a/doc/descriptions/genesys.desc +++ b/doc/descriptions/genesys.desc @@ -17,6 +17,21 @@ :status :basic :comment "Has a Primax USB ID" +:model "OpticFilm 7200i" +:interface "USB" +:usbid "0x07b3" "0x0c04" +:status :basic + +:model "OpticFilm 7300" +:interface "USB" +:usbid "0x07b3" "0x0c12" +:status :basic + +:model "OpticFilm 7500i" +:interface "USB" +:usbid "0x07b3" "0x0c13" +:status :basic + ; ----------------------------------------------------------------------------- :mfg "Medion/Lifetec/Tevion/Cytron" @@ -64,7 +79,7 @@ :status :basic :comment "clone of the HP 2400C" -:model "ScanJet 3670C" +:model "ScanJet 3670" :interface "USB" :usbid "0x03f0" "0x1405" :status :complete @@ -74,7 +89,7 @@ :interface "USB" :usbid "0x03f0" "0x1405" :status :complete -:comment "1200x1200 dpi max, same as HP 3670C" +:comment "1200x1200 dpi max, same as HP 3670" :model "ScanJet 4850C" :interface "USB" @@ -169,11 +184,11 @@ :status :complete :comment "GL124+ based, resolution from 75 to 4800 dpi" -:model "CanoScan 4400f" +:model "CanoScan 4400F" :interface "USB" :usbid "0x04a9" "0x2228" -:status :unsupported -:comment "GL843 based, to be added to the genesys backend" +:status :basic +:comment "GL843 based" :model "CanoScan 5600F" :interface "USB" @@ -181,6 +196,13 @@ :status :unsupported :comment "GL847 based, to be added to the genesys backend" +:model "CanoScan 8400F" +:url "unsupported/canon-8400f.html" +:interface "USB" +:usbid "0x04a9" "0x221e" +:status :basic +:comment "GL841 based, to be added to genesys backend" + :model "CanoScan 8600F" :url "unsupported/canon-8600.html" :interface "USB" diff --git a/doc/descriptions/pixma.desc b/doc/descriptions/pixma.desc index be2ec1d..4366891 100644 --- a/doc/descriptions/pixma.desc +++ b/doc/descriptions/pixma.desc @@ -11,7 +11,7 @@ ; See doc/descriptions.txt for details. :backend "pixma" ; name of backend -:version "0.23.0" ; version of backend (or "unmaintained") +:version "0.27.0" ; version of backend (or "unmaintained") :manpage "sane-pixma" ; name of manpage (if it exists) ;:comment "Devices marked as experimantal are disabled by default. See the manual page for how to enable them." @@ -88,6 +88,12 @@ :status :untested :comment "Testers needed!" +:model "PIXMA E3300 Series" +:interface "USB" +:usbid "0x04a9" "0x18a3" +:status :untested +:comment "Testers needed!" + :model "PIXMA E4200 Series" :interface "USB WiFi" :usbid "0x04a9" "0x1855" @@ -100,6 +106,12 @@ :status :complete :comment "All resolutions supported (up to 600DPI)." +:model "PIXMA G2010 Series" +:interface "USB" +:usbid "0x04a9" "0x183a" +:status :complete +:comment "All resolutions supported (up to 600DPI)." + :model "PIXMA G2100" :interface "USB" :usbid "0x04a9" "0x1795" @@ -130,6 +142,18 @@ :status :untested :comment "Testers needed!" +:model "PIXMA G6000" +:interface "USB WiFi" +:usbid "0x04a9" "0x1865" +:status :untested +:comment "Testers needed!" + +:model "PIXMA G6080" +:interface "USB WiFi" +:usbid "0x04a9" "0x1866" +:status :untested +:comment "Testers needed!" + :model "PIXMA MG2100 Series" :interface "USB" :usbid "0x04a9" "0x1751" @@ -163,8 +187,8 @@ :model "PIXMA MG3000 Series" :interface "USB WiFi" :usbid "0x04a9" "0x180b" -:status :untested -:comment "Testers needed!" +:status :good +:comment "All resolutions supported (up to 600DPI). WiFi not working." :model "PIXMA MG3100 Series" :interface "USB WiFi" @@ -875,6 +899,12 @@ :status :good :comment "All resolutions supported (up to 600DPI). WiFi not working." +:model "PIXMA TS3300 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x18a2" +:status :untested +:comment "Testers needed!" + :model "PIXMA TS5000 Series" :interface "USB WiFi" :usbid "0x04a9" "0x1802" @@ -887,6 +917,18 @@ :status :untested :comment "Testers needed!" +:model "PIXMA TS5300 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x188b" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS5380 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x188c" +:status :untested +:comment "Testers needed!" + :model "PIXMA TS6000 Series" :interface "USB WiFi" :usbid "0x04a9" "0x1801" @@ -914,8 +956,8 @@ :model "PIXMA TS6200 Series" :interface "USB WiFi" :usbid "0x04a9" "0x1856" -:status :untested -:comment "Testers needed!" +:status :good +:comment "All resolutions supported (up to 1200DPI). WiFi not working." :model "PIXMA TS6230 Series" :interface "USB WiFi" @@ -929,6 +971,30 @@ :status :untested :comment "Testers needed!" +:model "PIXMA TS6300 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x188b" +:status :good +:comment "Testers needed!" + +:model "PIXMA TS6330 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1894" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS6380 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x188e" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS7330 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x188f" +:status :untested +:comment "Testers needed!" + :model "PIXMA TS8000 Series" :interface "USB WiFi" :usbid "0x04a9" "0x1800" @@ -971,6 +1037,24 @@ :status :untested :comment "Testers needed!" +:model "PIXMA TS8300 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1890" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS8330 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1892" +:status :untested +:comment "Testers needed!" + +:model "PIXMA TS8380 Series" +:interface "USB WiFi" +:usbid "0x04a9" "0x1891" +:status :untested +:comment "Testers needed!" + :model "PIXMA TS9000 Series" :interface "USB WiFi" :usbid "0x04a9" "0x179f" @@ -1019,6 +1103,12 @@ :status :untested :comment "Testers needed!" +:model "CanoScan XK 60" +:interface "USB" +:usbid "0x04a9" "0x1893" +:status :untested +:comment "Testers needed!" + :model "PIXUS XK70 Series" :interface "USB WiFi" :usbid "0x04a9" "0x1847" @@ -1058,8 +1148,8 @@ :model "imageCLASS D570" :interface "USB" :usbid "0x04a9" "0x27e8" -:status :untested -:comment "Testers needed!" +:status :complete +:comment "All resolutions supported (up to 600DPI)" :model "i-SENSYS MF110 Series" :interface "USB Ethernet WiFi" @@ -1130,14 +1220,26 @@ :model "i-SENSYS MF630 Series" :interface "USB Ethernet WiFi" :usbid "0x04a9" "0x27e1" -:status :untested -:comment "Testers needed!" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI)." + +:model "imageCLASS MF634C" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27e2" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI)." :model "i-SENSYS MF640 Series" :interface "USB Ethernet WiFi" :usbid "0x04a9" "0x27fe" -:status :untested -:comment "Testers needed!" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI)." + +:model "i-SENSYS MF645C" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27fd" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI)." :model "i-SENSYS MF730 Series" :interface "USB Ethernet WiFi" @@ -1145,14 +1247,6 @@ :status :good :comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI). Ethernet and WiFi not tested yet" - -:model "imageCLASS MF634C" -:interface "USB Ethernet WiFi" -:usbid "0x04a9" "0x27e2" -:status :complete -:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI)." - - :model "imageCLASS MF733Cdw" :interface "USB Ethernet WiFi" :usbid "0x04a9" "0x27e5" @@ -1171,6 +1265,12 @@ :status :untested :comment "Testers needed!" +:model "i-SENSYS MF741/743" +:interface "USB Ethernet WiFi" +:usbid "0x04a9" "0x27fc" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 600DPI)." + :model "i-SENSYS MF810/820" :interface "USB Ethernet" :usbid "0x04a9" "0x27a6" @@ -1462,8 +1562,8 @@ :model "MAXIFY MB5000 Series" :interface "USB" :usbid "0x04a9" "0x1776" -:status :good -:comment "Flatbed works, All resolutions supported (up to 1200DPI), ADF does not work" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 1200DPI)." :model "MAXIFY MB5100 Series" :interface "USB Ethernet WiFi" @@ -1480,8 +1580,8 @@ :model "MAXIFY MB5400 Series" :interface "USB Ethernet WiFi" :usbid "0x04a9" "0x178f" -:status :untested -:comment "Testers needed!" +:status :complete +:comment "Flatbed and ADF scan. All resolutions supported (up to 1200DPI)." :model "CanoScan 8800F" :interface "USB" @@ -1505,10 +1605,10 @@ :interface "USB" :usbid "0x04a9" "0x1913" :status :complete -:comment "Support up to 4800DPI (Note: does not have less than 300DPI support)" +:comment "All resolutions supported (up to 2400DPI)" :model "CanoScan LiDE 400" :interface "USB" :usbid "0x04a9" "0x1912" :status :complete -:comment "Support up to 4800DPI (Note: does not have less than 300DPI support)" +:comment "All resolutions supported (up to 4800DPI)" diff --git a/doc/descriptions/ricoh2.desc b/doc/descriptions/ricoh2.desc index 55ee372..12a9b4c 100644 --- a/doc/descriptions/ricoh2.desc +++ b/doc/descriptions/ricoh2.desc @@ -12,8 +12,6 @@ :backend "ricoh2" ; name of backend :version "1.0" ; version of backend (or "unmaintained") -:new :yes ; Is the backend new to this SANE release? - ; :yes or :no :manpage "sane-ricoh2" ; name of manpage (if it exists) :url "http://www.ricoh.com/" ; backend's web page @@ -24,6 +22,11 @@ :mfg "Ricoh" ; name a manufacturer :url "http://www.ricoh.com/" ; manufacturer's URL +:model "SG-3100SFNw" +:status :basic +:interface "USB" +:usbid "0x05ca" "0x0439" + :model "SG-3100SNw" :status :basic :interface "USB" @@ -34,7 +37,7 @@ :interface "USB" :usbid "0x05ca" "0x042c" -:model "SP-111SU" +:model "SP-111SU/SP-112SU" :status :basic :interface "USB" :usbid "0x05ca" "0x0448" diff --git a/doc/descriptions/unsupported.desc b/doc/descriptions/unsupported.desc index 496ebea..e062682 100644 --- a/doc/descriptions/unsupported.desc +++ b/doc/descriptions/unsupported.desc @@ -305,13 +305,6 @@ :status :unsupported :comment "Probably unsupported. See link." -:model "CanoScan 4400F" -:url "unsupported/canon-4400.html" -:interface "USB" -:usbid "0x04a9" "0x2228" -:status :unsupported -:comment "GL843 based, to be added to genesys backend" - :model "CanoScan 5000F" :url "unsupported/canon-5000f.html" :interface "USB" @@ -333,13 +326,6 @@ :status :unsupported :comment "Not supported. See link for more information. With transparency adapter." -:model "CanoScan 8400F" -:url "unsupported/canon-8400f.html" -:interface "USB" -:usbid "0x04a9" "0x221e" -:status :unsupported -:comment "GL841 based, to be added to genesys backend" - :model "CanoScan 9900F" :url "unsupported/canon-9900f.html" :interface "USB" @@ -1766,12 +1752,6 @@ :status :unsupported :comment "GL842 based, maybe to be added to genesys backend" -:model "OpticFilm 7200i" -:interface "USB" -:usbid "0x07b3" "0x0c04" -:status :unsupported -:comment "GL843 based, maybe to be added to genesys backend" - :model "OpticPro A3U" :interface "USB" :status :unsupported diff --git a/doc/releases.txt b/doc/releases.txt index abd007e..0cb7518 100644 --- a/doc/releases.txt +++ b/doc/releases.txt @@ -1,4 +1,4 @@ -2019-07-30 +2019-08-24 This text summarizes some points to pay attention to when a new release of sane-backends is planned. @@ -32,34 +32,31 @@ Before the release: Making the release: * temporarily set a PRIVATE_TOKEN variable in the GitLab CI/CD - variables You have to create one in your own Settings > Access - Tokens. Set it to expire in a few hours to avoid abuse. + variables. You have to create one in your own Settings > Access + Tokens. Set it to expire the next day to avoid abuse. Better yet, + remove it from the CI/CD variables when the job is finished. * git tag -a -s 1.0.28 -m Release * git push --tags origin master * trigger the manual 'release' stage of the build via the web UI when this becomes possible. This requires a valid PRIVATE_TOKEN. -Announcing the release: +Updating the website and announcing the release: -* [TBD] checkout the sane/website.git module and: -* [TBD] copy sane-backends.html to sane-backends-"old-version".html -* [TBD] update sane-supported-devices.html with link to above "old" file -* [TBD] rebuild sane-backends.html and sane-mfgs.html (make -C doc html-pages) +* checkout the sane/website.git module and: +* copy sane-backends.html to sane-backends-"old-version".html +* update sane-supported-devices.html with link to above "old" file +* rebuild sane-backends.html and sane-mfgs.html (make -C doc html-pages) * [TBD] use man2html from http://hydra.nac.uci.edu/indiv/ehood/man2html.html to rebuild html man pages (make -C doc html-man) (no other version works) -* [TBD] add md5 sum to sane-md5sums.txt -* [TBD] check and update platforms page (sane-support.html) -* add announcement to index.html +* update announcement to index.html * git commit -a && git push -* check that website was updated automatically -* [TBD] rebuild descriptions.db (make -C doc descriptions.db) -* announce release on sane-devel and sane-announce mailing lists +* check that website's pipeline succeeded +* announce release on sane-announce mailing list (and Cc: sane-devel). + Ping the sane-announce list's moderator (m. allan noah) to get your + post approved ASAP. After the release: -* [TBD] copy ChangeLog to ChangeLogs/ChangeLog-$version -* [TBD] start a new ChangeLog via git checkout ChangeLog -* [TBD] bump version number in tools/create-changelog.sh * remove the ':new' tag from all doc/descriptions*/*.desc files * git add new and changed files and commit * git push diff --git a/doc/sane-escl.man b/doc/sane-escl.man new file mode 100644 index 0000000..21a4d6c --- /dev/null +++ b/doc/sane-escl.man @@ -0,0 +1,41 @@ +.TH sane\-escl 5 "14 Dec 2019" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" +.IX sane\-escl +.SH NAME +sane\-escl \- SANE backend for eSCL scanners +.SH DESCRIPTION +The +.B sane\-escl +library implements a SANE (Scanner Access Now Easy) backend that +provides access to eSCL protocol scanners. + +.PP +The "escl" backend for SANE supports AirScan/eSCL devices that announce +themselves on mDNS as _uscan._utcp or _uscans._utcp. +If the device is available, the "escl" backend recovers these capacities. +The user configures and starts scanning. +A list of devices that use the eSCL protocol can be found at +.IR https://support.apple.com/en-us/HT201311 . +While these devices are expected to work, your mileage may vary. + +.SH FILES +.TP +.I @CONFIGDIR@/escl.conf +The backend configuration file. +.TP +.I @LIBDIR@/libsane\-escl.a +The static library implementing this backend. +.TP +.I @LIBDIR@/libsane\-escl.so +The shared library implementing this backend (present on systems that +support dynamic loading). +.SH ENVIRONMENT +.TP +.B SANE_DEBUG_ESCL +If the library was compiled with debug support enabled, this +environment variable controls the debug level for this backend. E.g., +a value of 128 requests all debug output to be printed. Smaller +levels reduce verbosity. +.SH "SEE ALSO" +sane(7), scanimage(1), xscanimage(1), xsane(1) +.SH AUTHORS +Touboul Nathane, Thierry HUCHARD diff --git a/doc/sane-pixma.man b/doc/sane-pixma.man index 1ceb6d6..ea85ec5 100644 --- a/doc/sane-pixma.man +++ b/doc/sane-pixma.man @@ -1,4 +1,4 @@ -.TH "sane\-pixma" "5" "29 Jul 2019" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" +.TH "sane\-pixma" "5" "28 Dec 2019" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" .IX sane\-pixma .SH NAME sane\-pixma \- SANE backend for Canon Multi-Function Printers and CanoScan Scanners @@ -17,15 +17,15 @@ Currently, the following models work with this backend: .RS PIXMA E510 .br -PIXMA G2000, G2100 +PIXMA G2000, G2010, G2100 .br -PIXMA MG2100, MG2200, MG2400, MG2500, MG2900, MG3100, MG3200 +PIXMA MG2100, MG2200, MG2400, MG2500, MG2900, MG3000, MG3100 .br -PIXMA MG3500, MG3600, MG4200, MG5100, MG5200, MG5300, MG5400 +PIXMA MG3200, MG3500, MG3600, MG4200, MG5100, MG5200, MG5300 .br -PIXMA MG5500, MG5600, MG5700, MG6100, MG6200, MG6300, MG6400 +PIXMA MG5400, MG5500, MG5600, MG5700, MG6100, MG6200, MG6300 .br -PIXMA MG7100, MG7500, MG7700, MG8200 +PIXMA MG6400, MG7100, MG7500, MG7700, MG8200 .br PIXMA MP140, MP150, MP160, MP170, MP180, MP190 .br @@ -51,7 +51,7 @@ PIXMA MX410, MX420, MX470, MX510, MX520, MX530, MX700, MX720 .br PIXMA MX850, MX860, MX870, MX882, MX885, MX890, MX920, MX7600 .br -PIXMA TS3100, TS5000, TS6100, TS8000, TS8200 +PIXMA TS3100, TS5000, TS6100, TS6200, TS8000, TS8200 .br PIXUS MP10 .br @@ -65,13 +65,15 @@ imageCLASS MF4270, MF4350d, MF4370dn, MF4380dn .br imageCLASS MF4410, MF4430, MF4570dw, MF4660, MF4690 .br -imageCLASS MF5730, MF5770, MF6550, MPC200, D420, D480, D530 +imageCLASS MF5730, MF5770, MF6550, MPC200 .br -i-SENSYS MF210, MF230, MF240, MF620, MF730, MF731/733, MF3010 +imageCLASS D420, D480, D530, D570 .br -i-SENSYS MF4320d, MF4330d, MF4500, MF4700, MF4800, MF6100 +i-SENSYS MF210, MF230, MF240, MF620, MF630, MF640, MF645C, MF730 .br -i-SENSYS MF8030, MF8200C, MF8300 +i-SENSYS MF731/733, MF741/743, MF3010, MF4320d, MF4330d, MF4500 +.br +i-SENSYS MF4700, MF4800, MF6100, MF8030, MF8200C, MF8300 .br imageRUNNER 1020/1024/1025, 1133 .br @@ -79,7 +81,7 @@ CanoScan 8800F, 9000F, 9000F Mark II .br CanoScan LiDE 300, 400 .br -MAXIFY MB2000, MB2100, MB2300, MB2700, MB5000 +MAXIFY MB2000, MB2100, MB2300, MB2700, MB5000, MB5400 .RE .PP The following models are not well tested and/or the scanner sometimes hangs @@ -97,46 +99,49 @@ Feedback in the sane\-devel mailing list welcome. .RS PIXMA E400, E410, E460, E470, E480, E500, E560, E600, E610 .br -PIXMA E3100, E4200 +PIXMA E3100, E3300, E4200 .br -PIXMA MG3000, MG4100, MG6500, MG6600, MG6800, MG6900, MG8100 +PIXMA MG4100, MG6500, MG6600, MG6800, MG6900, MG8100 .br PIXMA MP375R, MP493, MP495, MP740 .br PIXMA MX320, MX390, MX430, MX450, MX490, MX710 .br -PIXMA G3000, G3010, G4000, G4010 +PIXMA G3000, G3010, G4000, G4010, G6000, G6080 .br PIXMA TR4500, TR7500, TR7530, TR8500, TR8530, TR8580, TR9530 .br -PIXMA TS5100, TS6000, TS6130, TS6180, TS6200, TS6230, TS6280 +PIXMA TS5100, TS6000, TS6130, TS6180, TS6230, TS6280, TS6300 +.br +PIXMA TS6330, TS6380, TS7330, TS8100, TS8130, TS8180, TS8230 .br -PIXMA TS8100, TS8130, TS8180, TS8230, TS8280, TS9000, TS9100 +PIXMA TS8280,, TS8300, TS8330, TS8380, TS9000, TS9100, TS9180 .br -PIXMA TS9180, TS9500, TS9580 +PIXMA TS9500, TS9580 .br -PIXUS MP5, XK50, XK70, XK80 +PIXUS MP5, XK50, XK60, XK70, XK80 .br imageCLASS MF810/820, MF5630, MF5650, MF5750, MF8170c .br -imageCLASS MPC190, D550, D570 +imageCLASS MPC190, D550 .br -i-SENSYS MF110, MF220, MF260, MF410, MF420, MF510, MF520, MF630 +i-SENSYS MF110, MF220, MF260, MF410, MF420, MF510, MF520, MF740 .br -i-SENSYS MF640, MF740, MF5880dn, MF5900, MF6680dn, MF8500C +i-SENSYS MF5880dn, MF5900, MF6680dn, MF8500C .br -MAXIFY MB5100, MB5300, MB5400 +MAXIFY MB5100, MB5300 +.RE +.PP +The following models may use partly the same Pixma protocol as other devices +listed above, but may still need some work. They are declared in the backend +as experimental and need the environment variable PIXMA_EXPERIMENT=1 to get +recognized and activated. Snoop logs are required to further investigate, +please contact the sane\-devel mailing list. +.PP +.RS +\-\- none \-\- .RE .PP -\#The following models may use partly the same Pixma protocol as other devices -\#listed above, but may still need some work. They are declared in the backend -\#as experimental. Snoop logs are required to further investigate, please contact -\#the sane\-devel mailing list. -\#.PP -\#.RS -\#PIXMA MP--- -\#.RE -\#.PP The backend supports: .PP .RS @@ -245,12 +250,15 @@ support dynamic loading). .I @CONFIGDIR@/pixma.conf The backend configuration file (see also description of .B SANE_CONFIG_DIR -below). The file contains an optional list of networked scanners. Normally +below). +.RS +.PP +The file contains an optional list of networked scanners using the BJNP or MFNP protools +(See below for datails on networking support for scanners). Normally only scanners that cannot be auto-detected because they are on a different -subnet shall be listed here. If your OS does not allow enumeration of +subnet shall be listed here. If you do not use Linux and your OS does not allow enumeration of interfaces (i.e. it does not support the getifaddrs() function) you also may need to add your scanner here as well. -.RS .PP .I Scanners shall be listed in the configuration file as follows: .PP @@ -287,11 +295,32 @@ If not explicitly set, the default 1000ms setting will apply. .PP Setting timeouts should only be required in exceptional cases. .PP +.RE +.PP +If so desired networking can be disbled as follows: +.RS +.IP - +If the first non-commented line contains +.B networking=no +all networking will be disabled. +This will cause all further statements in the configuration file to be ignored. +.IP - +A line that contains +.B auto_detection=no +will cause auto-detection to be skipped. Explicitely defined network scanners will still be probed. .SH USB SUPPORT USB scanners will be auto-detected and require no configuration. .SH NETWORKING SUPPORT The pixma backend supports network scanners using the so called Canon BJNP -protocol and MFNP protocol. Both IPv4 and IPv6 are supported, but IPv6 is as +and MFNP protocols. +.PP +Canon seems to be dropping support for these protocols in recent scanners. +To verify if your scanner supports one of these protocols, check the content of +the _scanner._tcp service entry in mDNS/DNS-SD (using for example avahi-discover). +If that does not list port 8610 +or 8612 your scanner probably does not support the mfmp or bjnp protols. +.PP +Both IPv4 and IPv6 are supported, but IPv6 is as yet untested with MFNP. Please report your results on the mailing list. .PP Configuration is normally not required. diff --git a/doc/sane-ricoh2.man b/doc/sane-ricoh2.man index 86db7c6..ff74974 100644 --- a/doc/sane-ricoh2.man +++ b/doc/sane-ricoh2.man @@ -1,4 +1,4 @@ -.TH sane\-ricoh2 5 "28 Sep 2018" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" +.TH sane\-ricoh2 5 "04 Sep 2019" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" .IX sane\-ricoh2 .SH NAME sane\-ricoh2 \- SANE backend for Ricoh flatbed scanners @@ -9,11 +9,13 @@ library implements a SANE (Scanner Access Now Easy) backend that provides access to the following Ricoh flatbed scanners: .PP .RS +SG-3110SFNw +.br SG-3100SNw .br SP-100SU .br -SP-111SU +SP-111SU (SP-112SU) .RE .PP .SH FILES diff --git a/doc/sane.man b/doc/sane.man index a9fd50a..070a993 100644 --- a/doc/sane.man +++ b/doc/sane.man @@ -1,4 +1,4 @@ -.TH sane 7 "14 Jul 2008" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" +.TH sane 7 "03 Jan 2020" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy" .IX sane .SH NAME @@ -238,8 +238,6 @@ for details. This is a SANE backend for Nikon Coolscan film-scanners. See .BR sane\-coolscan2 (5) -or -.I http://coolscan2.sourceforge.net for details. .TP .B epjitsu @@ -421,10 +419,10 @@ SCSI flatbed scanners. See for details. .TP .B pixma -The pixma backend supports Canon PIXMA MP series (multi-function devices). See +The pixma backend supports Canon PIXMA MP series (multi-function devices), +Canon imageCLASS series (laser devices), Canon MAXIFY series and some Canon +CanoScan series. See .BR sane\-pixma (5) -or -.I http://home.arcor.de/wittawat/pixma/ for details. .TP .B plustek diff --git a/frontend/saned.c b/frontend/saned.c index ac5e700..6c3c40d 100644 --- a/frontend/saned.c +++ b/frontend/saned.c @@ -2674,6 +2674,9 @@ saned_avahi_callback (AvahiClient *c, AvahiClientState state, void *userdata) case AVAHI_CLIENT_S_COLLISION: DBG (DBG_INFO, "saned_avahi_callback: AVAHI_CLIENT_S_COLLISION\n"); + if (avahi_group) + avahi_entry_group_reset (avahi_group); + break; case AVAHI_CLIENT_S_REGISTERING: DBG (DBG_INFO, "saned_avahi_callback: AVAHI_CLIENT_S_REGISTERING\n"); diff --git a/frontend/scanimage.c b/frontend/scanimage.c index 6906f90..ae65ebf 100644 --- a/frontend/scanimage.c +++ b/frontend/scanimage.c @@ -32,6 +32,7 @@ #include #include "lgetopt.h" +#include #include #include #include @@ -204,51 +205,30 @@ auth_callback (SANE_String_Const resource, if ((strlen (tmp) > 0) && (tmp[strlen (tmp) - 1] == '\r')) tmp[strlen (tmp) - 1] = 0; - if (strchr (tmp, ':') != NULL) + char *colon1 = strchr (tmp, ':'); + if (colon1 != NULL) { + char *tmp_username = tmp; + *colon1 = '\0'; - if (strchr (strchr (tmp, ':') + 1, ':') != NULL) + char *colon2 = strchr (colon1 + 1, ':'); + if (colon2 != NULL) { + char *tmp_password = colon1 + 1; + *colon2 = '\0'; - if ((strncmp - (strchr (strchr (tmp, ':') + 1, ':') + 1, - resource, len) == 0) - && - ((int) strlen - (strchr (strchr (tmp, ':') + 1, ':') + 1) == - len)) + if ((strncmp (colon2 + 1, resource, len) == 0) + && ((int) strlen (colon2 + 1) == len)) { - - if ((strchr (tmp, ':') - tmp) < - SANE_MAX_USERNAME_LEN) - { - - if ((strchr (strchr (tmp, ':') + 1, ':') - - (strchr (tmp, ':') + 1)) < - SANE_MAX_PASSWORD_LEN) - { - - strncpy (username, tmp, - strchr (tmp, ':') - tmp); - - username[strchr (tmp, ':') - tmp] = 0; - - strncpy (password, - strchr (tmp, ':') + 1, - strchr (strchr (tmp, ':') + 1, - ':') - - (strchr (tmp, ':') + 1)); - password[strchr - (strchr (tmp, ':') + 1, - ':') - (strchr (tmp, - ':') + 1)] = - 0; - - query_user = 0; - break; - } - } - + if ((strlen (tmp_username) < SANE_MAX_USERNAME_LEN) && + (strlen (tmp_password) < SANE_MAX_PASSWORD_LEN)) + { + strncpy (username, tmp_username, SANE_MAX_USERNAME_LEN); + strncpy (password, tmp_password, SANE_MAX_PASSWORD_LEN); + + query_user = 0; + break; + } } } } @@ -1317,7 +1297,8 @@ advance (Image * image) static SANE_Status scan_it (FILE *ofp) { - int i, len, first_frame = 1, offset = 0, must_buffer = 0, hundred_percent; + int i, len, first_frame = 1, offset = 0, must_buffer = 0; + uint64_t hundred_percent = 0; SANE_Byte min = 0xff, max = 0; SANE_Parameters parm; SANE_Status status; @@ -1325,7 +1306,7 @@ scan_it (FILE *ofp) static const char *format_name[] = { "gray", "RGB", "red", "green", "blue" }; - SANE_Word total_bytes = 0, expected_bytes; + uint64_t total_bytes = 0, expected_bytes; SANE_Int hang_over = -1; #ifdef HAVE_LIBPNG int pngrow = 0; @@ -1486,7 +1467,7 @@ scan_it (FILE *ofp) offset = parm.format - SANE_FRAME_RED; image.x = image.y = 0; } - hundred_percent = parm.bytes_per_line * parm.lines + hundred_percent = ((uint64_t)parm.bytes_per_line) * parm.lines * ((parm.format == SANE_FRAME_RGB || parm.format == SANE_FRAME_GRAY) ? 1:3); while (1) @@ -1498,7 +1479,12 @@ scan_it (FILE *ofp) if (progr > 100.) progr = 100.; if (progress) - fprintf (stderr, "Progress: %3.1f%%\r", progr); + { + if (parm.lines >= 0) + fprintf(stderr, "Progress: %3.1f%%\r", progr); + else + fprintf(stderr, "Progress: (unknown)\r"); + } if (status != SANE_STATUS_GOOD) { @@ -1760,7 +1746,7 @@ cleanup: free (image.data); - expected_bytes = parm.bytes_per_line * parm.lines * + expected_bytes = ((uint64_t)parm.bytes_per_line) * parm.lines * ((parm.format == SANE_FRAME_RGB || parm.format == SANE_FRAME_GRAY) ? 1 : 3); if (parm.lines < 0) @@ -1769,10 +1755,10 @@ cleanup: { fprintf (stderr, "%s: WARNING: read more data than announced by backend " - "(%u/%u)\n", prog_name, total_bytes, expected_bytes); + "(%" PRIu64 "/%" PRIu64 ")\n", prog_name, total_bytes, expected_bytes); } else if (verbose) - fprintf (stderr, "%s: read %u bytes in total\n", prog_name, total_bytes); + fprintf (stderr, "%s: read %" PRIu64 " bytes in total\n", prog_name, total_bytes); return status; } @@ -2260,15 +2246,15 @@ main (int argc, char **argv) if (defdevname) printf ("default device is `%s'\n", defdevname); scanimage_exit (0); + break; } - case 'V': printf ("scanimage (%s) %s; backend version %d.%d.%d\n", PACKAGE, VERSION, SANE_VERSION_MAJOR (version_code), SANE_VERSION_MINOR (version_code), SANE_VERSION_BUILD (version_code)); scanimage_exit (0); - + break; default: break; /* ignore device specific options for now */ } diff --git a/frontend/tstbackend.c b/frontend/tstbackend.c index 37ba660..985684d 100644 --- a/frontend/tstbackend.c +++ b/frontend/tstbackend.c @@ -46,10 +46,10 @@ static struct option basic_options[] = { {"device-name", required_argument, NULL, 'd'}, {"level", required_argument, NULL, 'l'}, - {"scan", NULL, NULL, 's'}, + {"scan", no_argument, NULL, 's'}, {"recursion", required_argument, NULL, 'r'}, {"get-devices", required_argument, NULL, 'g'}, - {"help", 0, NULL, 'h'} + {"help", no_argument, NULL, 'h'} }; static void diff --git a/include/sane/sanei_usb.h b/include/sane/sanei_usb.h index ce389ca..1c1699d 100644 --- a/include/sane/sanei_usb.h +++ b/include/sane/sanei_usb.h @@ -180,6 +180,57 @@ struct sanei_usb_dev_descriptor SANE_Byte max_packet_size; }; +/** Initialize sanei_usb for replay testing. + + Initializes sanei_usb for testing by mocking whole USB stack. This function + must be called before sanei_usb_init(). + + The sanei_usb subsystem also implements a "development mode". It modifies + the XML data file with the actual commands of the test run and attemps to + proceed testing until a mismatching input command is found for which + input data is required. + + A node in the data XML file will cause sanei_usb not + to continue to the subsequent command in the XML file and instead it will + prepend all output commands before that node before an output command is + encountered. + + @param path Path to the XML data file. + @param development_mode Enables development mode. + */ +extern SANE_Status sanei_usb_testing_enable_replay(SANE_String_Const path, + int development_mode); + +/** Initialize sanei_usb for recording. + * + * Initializes sanei_usb for recording communication with the scanner. This + * function must be called before sanei_usb_init(). + * + * @param path Path to the XML data file. + * @param be_name The name of the backend to enable recording for. + */ +extern SANE_Status sanei_usb_testing_enable_record(SANE_String_Const path, + SANE_String_Const be_name); + +/** Returns backend name for testing. + * + * Returns backend name for the file registered in sanei_usb_testing_enable. + * The caller is responsible for freeing it. + */ +extern SANE_String sanei_usb_testing_get_backend(); + +/** Returns SANE_TRUE if replay testing mode is enabled, i.e. whether we are working with fake + * scan data. + */ +extern SANE_Bool sanei_usb_is_replay_mode_enabled(); + +/** Records a debug message in the captured USB data if testing mode is enabled. If testing mode + * is not enabled, this function does nothing. + * + * @param msg Message to record + */ +extern void sanei_usb_testing_record_message(SANE_String_Const message); + /** Initialize sanei_usb. * * Call this before any other sanei_usb function. diff --git a/include/sane/sanei_wire.h b/include/sane/sanei_wire.h index 95be5cf..679814e 100644 --- a/include/sane/sanei_wire.h +++ b/include/sane/sanei_wire.h @@ -96,7 +96,7 @@ Wire; extern void sanei_w_init (Wire *w, void (*codec_init)(Wire *)); extern void sanei_w_exit (Wire *w); extern void sanei_w_space (Wire *w, size_t howmuch); -extern void sanei_w_void (Wire *w); +extern void sanei_w_void (Wire *w, void *); extern void sanei_w_byte (Wire *w, SANE_Byte *v); extern void sanei_w_char (Wire *w, SANE_Char *v); extern void sanei_w_word (Wire *w, SANE_Word *v); diff --git a/include/sane/saneopts.h b/include/sane/saneopts.h index 37ba177..4a4b8cc 100644 --- a/include/sane/saneopts.h +++ b/include/sane/saneopts.h @@ -243,7 +243,7 @@ /* Descriptive/help strings for above options: */ #define SANE_DESC_NUM_OPTIONS \ SANE_I18N("Read-only option that specifies how many options a specific " \ -"devices supports.") +"device supports.") #define SANE_DESC_STANDARD SANE_I18N("Source, mode and resolution options") #define SANE_DESC_GEOMETRY SANE_I18N("Scan area and media size options") @@ -412,7 +412,7 @@ SANE_I18N("Analog gamma-correction for blue") #define SANE_DESC_ANALOG_GAMMA_BIND \ SANE_I18N("In RGB-mode use same values for each color") #define SANE_DESC_WARMUP \ -SANE_I18N("Warmup lamp before scanning") +SANE_I18N("Warm up lamp before scanning") #define SANE_DESC_CAL_EXPOS_TIME \ SANE_I18N("Define exposure-time for calibration") #define SANE_DESC_CAL_EXPOS_TIME_R \ diff --git a/japi/Makefile.am b/japi/Makefile.am index d48a8a6..e32c906 100644 --- a/japi/Makefile.am +++ b/japi/Makefile.am @@ -31,12 +31,12 @@ EXTRA_DIST = README.JAVA lib_LTLIBRARIES = libsanej.la -BUILT_SOURCES = Sane.h -CLEANFILES = Sane.h -nodist_libsanej_la_SOURCES = Sane.h libsanej_la_SOURCES = Sane.c libsanej_la_LIBADD = $(LIBSANE) -# Make sure that java classes get created before create Sane.h -Sane.h: classdist_noinst.stamp +# Explicit dependencies +nodist_libsanej_la_SOURCES: Sane.h +Sane.h: classnoinst.stamp $(JAVAH) Sane + +CLEANFILES = Sane.h diff --git a/ltmain.sh.patch b/ltmain.sh.patch index de0a798..1187e81 100644 --- a/ltmain.sh.patch +++ b/ltmain.sh.patch @@ -5,10 +5,10 @@ Author: Henning Meirer-Geinitz diff --git a/ltmain.sh b/ltmain.sh --- a/ltmain.sh +++ b/ltmain.sh -@@ -9615,6 +9615,23 @@ EOF +@@ -9708,6 +9708,23 @@ dlname=$soname fi - + + # If -module or -export-dynamic was specified, set the dlname + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. @@ -29,7 +29,7 @@ diff --git a/ltmain.sh b/ltmain.sh lib=$output_objdir/$realname linknames= for link -@@ -10073,12 +10090,6 @@ EOF +@@ -10166,12 +10183,6 @@ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done @@ -41,4 +41,4 @@ diff --git a/ltmain.sh b/ltmain.sh - fi fi ;; - + diff --git a/po/POTFILES.in b/po/POTFILES.in index 08bf126..d91341b 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,110 +1,86 @@ -# List of source files containing translatable strings -# paths relative to the top source directory +# po/POTFILES.in -- files containing translatable strings +# File names relative to the top source directory + +# Standardized, translatable option titles and descriptions + include/sane/saneopts.h + +# Translatable SANE status strings + backend/sane_strstatus.c -backend/artec_eplus48u.c +# Remainder of this file created with +# +# git grep -l SANE_I18N -- backend/*.[ch]* backend/*/*.[ch]* \ +# | sed '/backend\/sane_strstatus.c/d' +backend/artec_eplus48u.c backend/avision.h - -backend/canon630u.c -backend/canon.c backend/canon-sane.c - +backend/canon.c +backend/canon630u.c backend/canon_dr.c -backend/canon_dr.h - -backend/cardscan.c -backend/cardscan.h - backend/epjitsu.c -backend/epjitsu.h - backend/epson.c backend/epson.h +backend/epson2-ops.c backend/epson2.c backend/epson2.h - +backend/epsonds-ops.c +backend/epsonds.c +backend/epsonds.h backend/fujitsu.c -backend/fujitsu.h - -backend/genesys.cc - +backend/genesys/genesys.cpp +backend/genesys/genesys.h backend/gt68xx.c backend/gt68xx_low.h - +backend/hp-option.c +backend/hp-option.h backend/hp3500.c backend/hp3900_sane.c backend/hp5400_sane.c backend/hp5590.c -backend/hp-option.c -backend/hp-option.h - backend/kodak.c -backend/kodak.h - +backend/kodakaio.c backend/kvs1025.h backend/kvs1025_opt.c backend/kvs20xx.c - backend/kvs20xx_opt.c - backend/kvs40xx.c backend/kvs40xx_opt.c - backend/leo.c -backend/leo.h - backend/lexmark.c - backend/ma1509.c - backend/magicolor.c - backend/matsushita.c backend/matsushita.h - -backend/microtek2.c backend/microtek2.h - backend/mustek.c backend/mustek_usb.c backend/mustek_usb2.c - +backend/mustek_usb2.h backend/niash.c - -backend/pixma.c -backend/pixma_sane_options.c - +backend/p5.c +backend/p5.h +backend/p5_device.c +backend/pixma/pixma.c +backend/pixma/pixma_sane_options.c backend/plustek.c backend/plustek_pp.c - backend/pnm.c - backend/rts8891.c - +backend/rts8891.h backend/sceptre.c -backend/sceptre.h - backend/sm3840.c - -backend/snapscan.c backend/snapscan-options.c - +backend/snapscan.c backend/stv680.c backend/stv680.h - backend/teco1.c -backend/teco1.h backend/teco2.c -backend/teco2.h backend/teco3.c -backend/teco3.h - backend/test.c - backend/u12.c - -backend/umax1220u.c backend/umax.c +backend/umax1220u.c backend/umax_pp.c diff --git a/po/bg.po b/po/bg.po index c00e492..ef20d0c 100644 --- a/po/bg.po +++ b/po/bg.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.11\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2007-12-17 22:59+0100\n" "Last-Translator: Pavel Constantinov \n" "Language-Team: <>\n" @@ -25,31 +25,31 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Геометрия" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Повишение" @@ -83,7 +83,7 @@ msgid "Bit depth" msgstr "Дълбочина на бита" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Режим на сканиране" @@ -124,7 +124,7 @@ msgid "Bottom-right y" msgstr "Долен десен y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Резолюция на сканиране" @@ -279,7 +279,7 @@ msgstr "Име на файла" msgid "Halftone pattern size" msgstr "Размер на полутоновия десен" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Полутонов десен" @@ -289,10 +289,10 @@ msgstr "Полутонов десен" msgid "Bind X and Y resolution" msgstr "Вържи резолюцията по X и Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Негатив" @@ -413,9 +413,9 @@ msgid "Lamp off at exit" msgstr "Изкл. лампа при изход" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Опция само за четене, която указва колко опции поддържа дадено " @@ -744,8 +744,8 @@ msgid "Analog gamma-correction for blue" msgstr "Аналогова гама-корекция за синьо" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Загрей лампата преди сканиране" #: include/sane/saneopts.h:417 @@ -895,7 +895,7 @@ msgstr "Няма поддръжка на полутонове" #: backend/sane_strstatus.c:65 #, no-c-format -msgid "Operation was cancelled" +msgid "Operation was canceled" msgstr "" #: backend/sane_strstatus.c:68 @@ -988,10 +988,10 @@ msgid "Only perform shading-correction" msgstr "Извърши само корекция на отсенките" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Ако това е позволено, само корекция на отсенките се извършва през " @@ -1022,80 +1022,40 @@ msgstr "Дуплексно" #: backend/avision.h:783 #, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Калибрирай скенера" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Задължителна калибрация преди сканиране" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Сканиране в сива скала" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Направи сканиране в сива скала, не цветно" - -#: backend/canon630u.c:306 -#, no-c-format -msgid "Analog Gain" -msgstr "Аналогово увеличение" - -#: backend/canon630u.c:307 -#, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Повиши или намали аналоговото увеличение на CCD матрицата" - -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 -#, no-c-format -msgid "Gamma Correction" -msgstr "Корекция на гамата" - -#: backend/canon630u.c:348 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Избира кривата на коригираната гама" +msgid "Correction according to transparency ratio" +msgstr "" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Raw" +msgid "Correction according to film type" msgstr "" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 #: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format msgid "Fine color" msgstr "" -#: backend/canon.c:169 +#: backend/canon-sane.c:776 backend/canon.c:176 #, fuzzy, no-c-format -msgid "No transparency correction" -msgstr "Цветова корекция." - -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "" +msgid "Negatives" +msgstr "Негатив" -#: backend/canon.c:171 backend/canon-sane.c:674 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format -msgid "Correction according to transparency ratio" +msgid "Raw" msgstr "" -#: backend/canon.c:176 backend/canon-sane.c:776 +#: backend/canon.c:169 #, fuzzy, no-c-format -msgid "Negatives" -msgstr "Негатив" +msgid "No transparency correction" +msgstr "Цветова корекция." #: backend/canon.c:176 #, fuzzy, no-c-format @@ -1230,9 +1190,9 @@ msgid "invalid bit IDENTIFY message" msgstr "" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" -msgstr "" +#, fuzzy, no-c-format +msgid "option not correct" +msgstr "Няма поддръжка на полутонове" #: backend/canon.c:474 #, no-c-format @@ -1519,133 +1479,184 @@ msgstr "Тип екран (film)" msgid "Select the film type" msgstr "Избира полутона" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Калибрирай скенера" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Задължителна калибрация преди сканиране" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Сканиране в сива скала" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Направи сканиране в сива скала, не цветно" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Аналогово увеличение" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Повиши или намали аналоговото увеличение на CCD матрицата" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Корекция на гамата" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Избира кривата на коригираната гама" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbed" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, fuzzy, no-c-format msgid "ADF Duplex" msgstr "Дуплексно" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Front" msgstr "Печат" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Дуплексно" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Червено" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Зелено" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Синьо" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Повишение" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Повишение" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Повишение" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Нищо" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Симплексно" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Дуплексно" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Прозрачност" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Автоматично подаване на документи" @@ -1757,7 +1768,7 @@ msgstr "Мастиленоструйни принтери" msgid "CRT monitors" msgstr "CRT монитори" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1821,8 +1832,9 @@ msgstr "A4" msgid "Max" msgstr "Макс." -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -1995,17 +2007,17 @@ msgstr "Определя фактора на увеличение за скен msgid "Quick format" msgstr "Бързо форматиране" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Оборудване по избор" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Извади" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Извади листа от ADF" @@ -2020,12 +2032,14 @@ msgstr "Авто изваждане" msgid "Eject document after scanning" msgstr "Извади документа след сканиране" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" @@ -2076,14 +2090,14 @@ msgstr "" "След изпращане на команда за сканиране, изчакай, докато бутонът на " "скенера не е натиснат, преди да започнеш самото сканиране." -#: backend/epson2.c:102 backend/pixma.c:409 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format -msgid "Infrared" +msgid "TPU8x10" msgstr "" -#: backend/epson2.c:117 +#: backend/epson2.c:102 backend/pixma/pixma.c:409 #, no-c-format -msgid "TPU8x10" +msgid "Infrared" msgstr "" #: backend/epson2.c:136 @@ -2106,492 +2120,512 @@ msgstr "" msgid "User defined CCT profile" msgstr "По потребителска дефиниция" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Извади листа от ADF" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Без корекция" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Корекция на аналоговата гама" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Вкл." -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Изкл." -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Dither" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Разсейка на грешките" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, fuzzy, no-c-format msgid "White" msgstr "Степен на бялото" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Black" msgstr "Степен на черното" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, fuzzy, no-c-format msgid "Continue" msgstr "Кондиционално" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Хоризонтално" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Хоризонтално" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Хоризонтално" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "8x8 вертикална черта" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "8x8 вертикална черта" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, fuzzy, no-c-format msgid "Front" msgstr "Печат" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Полутон" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Груба калибрация" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Подчертаване на образа" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Наситеност" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "Позволява автоматично определяне на прага за lineart сканиране." -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Огледален образ" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Прави хоризонтален огледален образ." -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Степен на бялото - синьо" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Наглася степента на червено" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Цветно Lineart" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Изглаждане" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Стойност на гамата" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Праг" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Праг" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Редуциране на шума" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Без корекция" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Без корекция" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Режим на захранване" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Обнови опциите" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Без корекция" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Dropout" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Режим на захранване" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2599,65 +2633,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "Изкл. лампа" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Офсет - синьо" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Офсет - зелено" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Офсет - зелено" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Офсет - синьо" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Наглася офсета на синия канал" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2666,507 +2700,514 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Дуплексно" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Обнови опциите" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Редуциране на шума" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, fuzzy, no-c-format msgid "A3 paper" msgstr "От хартия" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, fuzzy, no-c-format msgid "B4 paper" msgstr "От хартия" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, fuzzy, no-c-format msgid "A4 paper" msgstr "От хартия" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, fuzzy, no-c-format msgid "B5 paper" msgstr "От хартия" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Ръчен предв. фокус" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Ръчен предв. фокус" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Резолюция на сканиране" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Степен на бялото" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "Интензитет - червено" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Дуплексно" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, fuzzy, no-c-format msgid "Extras" msgstr "Екстра бързо" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Забрани връщане на главата" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Цветно Lineart" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Калибрация" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Дефинирай режима на калибрация" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Режим калибрация" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, fuzzy, no-c-format msgid "Lamp off time" msgstr "Изкл. лампа" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Груба калибрация" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, fuzzy, no-c-format msgid "File button" msgstr "Изчакай натискане на бутона" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, fuzzy, no-c-format msgid "Power button" msgstr "Изчакай натискане на бутона" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "Изчакай натискане на бутона" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, fuzzy, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Груба калибрация" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Задължителна калибрация преди сканиране" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Калибриране" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Започване на калибрацията." -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Груба калибрация" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Режим калибрация" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Груба калибрация" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Офсет - зелено" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Адаптиране на прозрачността" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Адаптиране на прозрачността" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3267,622 +3308,622 @@ msgstr "Стойност на гамата" msgid "Sets the gamma value of all channels." msgstr "Наглася стойността на гамата за всички канали." -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, fuzzy, no-c-format -msgid "Geometry Group" -msgstr "Геометрия" +msgid "Advanced Options" +msgstr "Обнови опциите" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 -#, fuzzy, no-c-format -msgid "Scan Mode Group" -msgstr "Режим на сканиране" +#: backend/hp-option.c:3044 +#, no-c-format +msgid "Coarse" +msgstr "8х8 грубо" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "Солидно бяло" +msgid "Fine" +msgstr "Име на файла" -#: backend/hp3900_sane.c:1405 -#, fuzzy, no-c-format -msgid "Scanner model" -msgstr "Режим на сканиране" +#: backend/hp-option.c:3046 +#, no-c-format +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" +msgid "Custom" +msgstr "8х8 по избор" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Image colours will be inverted" -msgstr "" +msgid "Auto" +msgstr "Авто" -#: backend/hp3900_sane.c:1436 -#, fuzzy, no-c-format -msgid "Disable gamma correction" -msgstr "Корекция на аналоговата гама" +#: backend/hp-option.c:3091 +#, no-c-format +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1437 -#, fuzzy, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Корекция на гамата" +#: backend/hp-option.c:3092 +#, no-c-format +msgid "XPA RGB" +msgstr "XPA RGB" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3093 #, fuzzy, no-c-format -msgid "Disable white shading correction" -msgstr "Извърши само корекция на отсенките" +msgid "Pass-through" +msgstr "Pass-through" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3094 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "" +msgid "NTSC Gray" +msgstr "NTSC сиво" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Skip warmup process" -msgstr "" +msgid "XPA Gray" +msgstr "XPA сиво" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "" +msgid "Slow" +msgstr "По-бавно" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "Force real depth" -msgstr "" +msgid "Normal" +msgstr "Нормално" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3149 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" - -#: backend/hp3900_sane.c:1499 -#, fuzzy, no-c-format -msgid "Emulate Grayscale" -msgstr "В сива скала" +msgid "Fast" +msgstr "По-бързо" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3150 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" +msgid "Extra Fast" +msgstr "Екстра бързо" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3163 #, no-c-format -msgid "Save debugging images" -msgstr "" +msgid "2-pixel" +msgstr "2-пикселно" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3164 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" - -#: backend/hp3900_sane.c:1533 -#, fuzzy, no-c-format -msgid "Reset chipset" -msgstr "скенер с sheetfeed" +msgid "4-pixel" +msgstr "4-пикселно" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3165 #, no-c-format -msgid "Resets chipset data" -msgstr "" +msgid "8-pixel" +msgstr "8-пикселно" -#: backend/hp3900_sane.c:1547 -#, fuzzy, no-c-format -msgid "Information" -msgstr "Игнорирай калибрацията" +#: backend/hp-option.c:3176 +#, no-c-format +msgid "Print" +msgstr "Печат" -#: backend/hp3900_sane.c:1560 -#, fuzzy, no-c-format -msgid "Chipset name" -msgstr "Име на файла" +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 +#, no-c-format +msgid "Slide" +msgstr "Солидно бяло" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "" +msgid "Film-strip" +msgstr "Тип филм" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Unknown" -msgstr "" +msgid "ADF" +msgstr "ADF" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Chipset ID" -msgstr "" +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1572 -#, fuzzy, no-c-format -msgid "Shows the chipset ID" -msgstr "скенер с sheetfeed" +#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#, no-c-format +msgid "Conditional" +msgstr "Кондиционално" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.c:3417 #, fuzzy, no-c-format -msgid "Scan counter" -msgstr "Източник на сканиране" +msgid "Experiment" +msgstr "Време за експонация" -#: backend/hp3900_sane.c:1584 -#, fuzzy, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Избира номера на кадъра за сканиране" +#: backend/hp-option.h:60 +#, no-c-format +msgid "Sharpening" +msgstr "Изостряне" -#: backend/hp3900_sane.c:1594 -#, fuzzy, no-c-format -msgid "Update information" -msgstr "Обнови опциите" +#: backend/hp-option.h:61 +#, no-c-format +msgid "Set sharpening value." +msgstr "Нагласи стойността за изостряне." -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:66 #, no-c-format -msgid "Updates information about device" -msgstr "" +msgid "Auto Threshold" +msgstr "Автоматичен праг" -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:68 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "Позволява автоматично определяне на прага за lineart сканиране." -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:74 #, no-c-format -msgid "Image" -msgstr "Изображение" +msgid "Select smoothing filter." +msgstr "Избира полутона" -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:79 #, no-c-format -msgid "Miscellaneous" -msgstr "" +msgid "Unload media after scan" +msgstr "Отзареждане на медията след сканиране." -#: backend/hp5400_sane.c:358 -#, fuzzy, no-c-format -msgid "offset X" -msgstr "Офсет" +#: backend/hp-option.h:80 +#, no-c-format +msgid "Unloads the media after a scan." +msgstr "Отзарежда медията след сканиране." -#: backend/hp5400_sane.c:359 -#, fuzzy, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Горна лява x позиция на площта за сканиране." +#: backend/hp-option.h:85 +#, no-c-format +msgid "Change document" +msgstr "Смени документа" -#: backend/hp5400_sane.c:368 -#, fuzzy, no-c-format -msgid "offset Y" -msgstr "Офсет" +#: backend/hp-option.h:86 +#, no-c-format +msgid "Change Document." +msgstr "Смени документа." -#: backend/hp5400_sane.c:369 -#, fuzzy, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Горна лява x позиция на площта за сканиране." +#: backend/hp-option.h:91 +#, no-c-format +msgid "Unload" +msgstr "Отзареди" -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:92 #, no-c-format -msgid "Lamp status" -msgstr "" +msgid "Unload Document." +msgstr "Отзареди документа." -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:98 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Включва/изключва лампата." +msgid "Start calibration process." +msgstr "Започване на калибрацията." -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:103 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "" +msgid "Media" +msgstr "Медия" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:104 #, no-c-format -msgid "ADF" -msgstr "ADF" +msgid "Set type of media." +msgstr "Нагласи типа медия." -#: backend/hp5590.c:95 -#, fuzzy, no-c-format -msgid "TMA Slides" -msgstr "Солидно бяло" +#: backend/hp-option.h:109 +#, no-c-format +msgid "Exposure time" +msgstr "Време за експонация" -#: backend/hp5590.c:96 -#, fuzzy, no-c-format -msgid "TMA Negatives" -msgstr "Негатив" +#: backend/hp-option.h:111 +#, no-c-format +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"По-дългото време на експонация позволява на скенера да събере повече " +"светлина. Предложената употреба е 175% за разпечатки, 150% за нормални " +"слайдове и \"Негатив\" за негативен филм. За тъмни (подекспонирани) " +"изображения можете да завишите тази стойност." -#: backend/hp5590.c:108 -#, fuzzy, no-c-format -msgid "Color (48 bits)" -msgstr "Цвят 48" +#: backend/hp-option.h:119 backend/hp-option.h:126 +#, no-c-format +msgid "Color Matrix" +msgstr "Цветна матрица" -#: backend/hp5590.c:112 +#: backend/hp-option.h:121 #, fuzzy, no-c-format -msgid "Extend lamp timeout" -msgstr "Изкл. лампа" +msgid "Set the scanner's color matrix." +msgstr "Наглася цветната матрица на скенера." -#: backend/hp5590.c:113 +#: backend/hp-option.h:127 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "" +msgid "Custom color matrix." +msgstr "Цветна матрица по избор." -#: backend/hp5590.c:115 +#: backend/hp-option.h:132 #, no-c-format -msgid "Wait for button" -msgstr "Изчакай натискане на бутона" +msgid "Mono Color Matrix" +msgstr "Едноцветна матрица" -#: backend/hp5590.c:116 -#, fuzzy, no-c-format -msgid "Waits for button before scanning" -msgstr "Загрей лампата преди сканиране" +#: backend/hp-option.h:133 +#, no-c-format +msgid "Custom color matrix for grayscale scans." +msgstr "Цветна матрица по избор за сканиране в сива скала." -#: backend/hp5590.c:118 +#: backend/hp-option.h:138 #, no-c-format -msgid "Last button pressed" -msgstr "" +msgid "Mirror horizontal" +msgstr "Огледало хоризонтално" -#: backend/hp5590.c:119 +#: backend/hp-option.h:139 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "" +msgid "Mirror image horizontally." +msgstr "Прави хоризонтален огледален образ." -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Източник на сканиране" +#: backend/hp-option.h:144 +#, no-c-format +msgid "Mirror vertical" +msgstr "Огледало вертикално" -#: backend/hp5590.c:122 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "" +msgid "Mirror image vertically." +msgstr "Прави вертикален огледален образ" -#: backend/hp5590.c:124 -#, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Цветно Lineart" +#: backend/hp-option.h:150 +#, no-c-format +msgid "Update options" +msgstr "Обнови опциите" -#: backend/hp5590.c:125 +#: backend/hp-option.h:151 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "" +msgid "Update options." +msgstr "Обнови опциите." -#: backend/hp5590.c:127 +#: backend/hp-option.h:156 #, no-c-format -msgid "Document available in ADF" -msgstr "" +msgid "8 bit output" +msgstr "8-битово извеждане." -#: backend/hp5590.c:128 +#: backend/hp-option.h:158 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" +"Вътрешно използвай по-голяма дълбочина от осем бита, но извеждай само " +"осем бита." -#: backend/hp5590.c:130 +#: backend/hp-option.h:164 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "" +msgid "Front button wait" +msgstr "Изчакай бутона" -#: backend/hp5590.c:131 +#: backend/hp-option.h:165 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" -msgstr "" +msgid "Wait to scan for front-panel button push." +msgstr "Изчакай за натискане на бутона преди сканиране." -#: backend/hp5590.c:133 +#: backend/hp-option.h:172 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" +msgid "Shut off lamp" +msgstr "Изключи лампата" -#: backend/hp5590.c:134 +#: backend/hp-option.h:173 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" +msgid "Shut off scanner lamp." +msgstr "Изключва лампата на скенера" -#: backend/hp5590.c:137 +#: backend/hp3500.c:1020 +#, fuzzy, no-c-format +msgid "Geometry Group" +msgstr "Геометрия" + +#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#, fuzzy, no-c-format +msgid "Scan Mode Group" +msgstr "Режим на сканиране" + +#: backend/hp3900_sane.c:1405 +#, fuzzy, no-c-format +msgid "Scanner model" +msgstr "Режим на сканиране" + +#: backend/hp3900_sane.c:1408 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" +msgid "Allows one to test device behavior with other supported models" msgstr "" -#: backend/hp5590.c:138 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" +msgid "Image colors will be inverted" msgstr "" -#: backend/hp-option.c:2987 +#: backend/hp3900_sane.c:1436 #, fuzzy, no-c-format -msgid "Advanced Options" -msgstr "Обнови опциите" +msgid "Disable gamma correction" +msgstr "Корекция на аналоговата гама" -#: backend/hp-option.c:3044 -#, no-c-format -msgid "Coarse" -msgstr "8х8 грубо" +#: backend/hp3900_sane.c:1437 +#, fuzzy, no-c-format +msgid "Gamma correction will be disabled" +msgstr "Корекция на гамата" -#: backend/hp-option.c:3045 -#, no-c-format -msgid "Fine" -msgstr "Име на файла" +#: backend/hp3900_sane.c:1451 +#, fuzzy, no-c-format +msgid "Disable white shading correction" +msgstr "Извърши само корекция на отсенките" -#: backend/hp-option.c:3046 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Bayer" -msgstr "Bayer" +msgid "White shading correction will be disabled" +msgstr "" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Custom" -msgstr "8х8 по избор" +msgid "Skip warmup process" +msgstr "" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "Auto" -msgstr "Авто" +msgid "Warmup process will be disabled" +msgstr "" -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" +msgid "Force real depth" +msgstr "" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1499 #, fuzzy, no-c-format -msgid "Pass-through" -msgstr "Pass-through" - -#: backend/hp-option.c:3094 -#, no-c-format -msgid "NTSC Gray" -msgstr "NTSC сиво" +msgid "Emulate Grayscale" +msgstr "В сива скала" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "XPA Gray" -msgstr "XPA сиво" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Slow" -msgstr "По-бавно" +msgid "Save debugging images" +msgstr "" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "Normal" -msgstr "Нормално" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" -#: backend/hp-option.c:3149 -#, no-c-format -msgid "Fast" -msgstr "По-бързо" +#: backend/hp3900_sane.c:1533 +#, fuzzy, no-c-format +msgid "Reset chipset" +msgstr "скенер с sheetfeed" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Extra Fast" -msgstr "Екстра бързо" +msgid "Resets chipset data" +msgstr "" -#: backend/hp-option.c:3163 -#, no-c-format -msgid "2-pixel" -msgstr "2-пикселно" +#: backend/hp3900_sane.c:1547 +#, fuzzy, no-c-format +msgid "Information" +msgstr "Игнорирай калибрацията" -#: backend/hp-option.c:3164 -#, no-c-format -msgid "4-pixel" -msgstr "4-пикселно" +#: backend/hp3900_sane.c:1560 +#, fuzzy, no-c-format +msgid "Chipset name" +msgstr "Име на файла" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "8-pixel" -msgstr "8-пикселно" +msgid "Shows chipset name used in device." +msgstr "" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Print" -msgstr "Печат" +msgid "Unknown" +msgstr "" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Film-strip" -msgstr "Тип филм" +msgid "Chipset ID" +msgstr "" -#: backend/hp-option.c:3257 -#, no-c-format -msgid "XPA" -msgstr "XPA" +#: backend/hp3900_sane.c:1572 +#, fuzzy, no-c-format +msgid "Shows the chipset ID" +msgstr "скенер с sheetfeed" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 -#, no-c-format -msgid "Conditional" -msgstr "Кондиционално" +#: backend/hp3900_sane.c:1582 +#, fuzzy, no-c-format +msgid "Scan counter" +msgstr "Източник на сканиране" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1584 #, fuzzy, no-c-format -msgid "Experiment" -msgstr "Време за експонация" +msgid "Shows the number of scans made by scanner" +msgstr "Избира номера на кадъра за сканиране" + +#: backend/hp3900_sane.c:1594 +#, fuzzy, no-c-format +msgid "Update information" +msgstr "Обнови опциите" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Sharpening" -msgstr "Изостряне" +msgid "Updates information about device" +msgstr "" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Set sharpening value." -msgstr "Нагласи стойността за изостряне." +msgid "This option reflects a front panel scanner button" +msgstr "" -#: backend/hp-option.h:66 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Auto Threshold" -msgstr "Автоматичен праг" +msgid "Image" +msgstr "Изображение" -#: backend/hp-option.h:68 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "Позволява автоматично определяне на прага за lineart сканиране." +msgid "Miscellaneous" +msgstr "" -#: backend/hp-option.h:74 -#, no-c-format -msgid "Select smoothing filter." -msgstr "Избира полутона" +#: backend/hp5400_sane.c:358 +#, fuzzy, no-c-format +msgid "offset X" +msgstr "Офсет" -#: backend/hp-option.h:79 -#, no-c-format -msgid "Unload media after scan" -msgstr "Отзареждане на медията след сканиране." +#: backend/hp5400_sane.c:359 +#, fuzzy, no-c-format +msgid "Hardware internal X position of the scanning area." +msgstr "Горна лява x позиция на площта за сканиране." -#: backend/hp-option.h:80 -#, no-c-format -msgid "Unloads the media after a scan." -msgstr "Отзарежда медията след сканиране." +#: backend/hp5400_sane.c:368 +#, fuzzy, no-c-format +msgid "offset Y" +msgstr "Офсет" -#: backend/hp-option.h:85 -#, no-c-format -msgid "Change document" -msgstr "Смени документа" +#: backend/hp5400_sane.c:369 +#, fuzzy, no-c-format +msgid "Hardware internal Y position of the scanning area." +msgstr "Горна лява x позиция на площта за сканиране." -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Change Document." -msgstr "Смени документа." +msgid "Lamp status" +msgstr "" -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Unload" -msgstr "Отзареди" +msgid "Switches the lamp on or off." +msgstr "Включва/изключва лампата." -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Unload Document." -msgstr "Отзареди документа." +msgid "Calibrates for black and white level." +msgstr "" -#: backend/hp-option.h:98 -#, no-c-format -msgid "Start calibration process." -msgstr "Започване на калибрацията." +#: backend/hp5590.c:95 +#, fuzzy, no-c-format +msgid "TMA Slides" +msgstr "Солидно бяло" -#: backend/hp-option.h:103 -#, no-c-format -msgid "Media" -msgstr "Медия" +#: backend/hp5590.c:96 +#, fuzzy, no-c-format +msgid "TMA Negatives" +msgstr "Негатив" -#: backend/hp-option.h:104 -#, no-c-format -msgid "Set type of media." -msgstr "Нагласи типа медия." +#: backend/hp5590.c:108 +#, fuzzy, no-c-format +msgid "Color (48 bits)" +msgstr "Цвят 48" -#: backend/hp-option.h:109 -#, no-c-format -msgid "Exposure time" -msgstr "Време за експонация" +#: backend/hp5590.c:112 +#, fuzzy, no-c-format +msgid "Extend lamp timeout" +msgstr "Изкл. лампа" -#: backend/hp-option.h:111 +#: backend/hp5590.c:113 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -"По-дългото време на експонация позволява на скенера да събере повече " -"светлина. Предложената употреба е 175% за разпечатки, 150% за нормални " -"слайдове и \"Негатив\" за негативен филм. За тъмни (подекспонирани) " -"изображения можете да завишите тази стойност." - -#: backend/hp-option.h:119 backend/hp-option.h:126 -#, no-c-format -msgid "Color Matrix" -msgstr "Цветна матрица" -#: backend/hp-option.h:121 +#: backend/hp5590.c:115 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "Наглася цветната матрица на скенера." +msgid "Wait for button" +msgstr "Изчакай натискане на бутона" -#: backend/hp-option.h:127 -#, no-c-format -msgid "Custom color matrix." -msgstr "Цветна матрица по избор." +#: backend/hp5590.c:116 +#, fuzzy, no-c-format +msgid "Waits for button before scanning" +msgstr "Загрей лампата преди сканиране" -#: backend/hp-option.h:132 +#: backend/hp5590.c:118 #, no-c-format -msgid "Mono Color Matrix" -msgstr "Едноцветна матрица" +msgid "Last button pressed" +msgstr "" -#: backend/hp-option.h:133 +#: backend/hp5590.c:119 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Цветна матрица по избор за сканиране в сива скала." +msgid "Get ID of last button pressed (read only)" +msgstr "" -#: backend/hp-option.h:138 -#, no-c-format -msgid "Mirror horizontal" -msgstr "Огледало хоризонтално" +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Източник на сканиране" -#: backend/hp-option.h:139 +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Прави хоризонтален огледален образ." +msgid "Get value of LCD counter (read only)" +msgstr "" -#: backend/hp-option.h:144 -#, no-c-format -msgid "Mirror vertical" -msgstr "Огледало вертикално" +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Цветно Lineart" -#: backend/hp-option.h:145 +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Прави вертикален огледален образ" +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Обнови опциите" +msgid "Document available in ADF" +msgstr "" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Обнови опциите." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "8-битово извеждане." +msgid "Hide end-of-page pixel" +msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -"Вътрешно използвай по-голяма дълбочина от осем бита, но извеждай само " -"осем бита." -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Изчакай бутона" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Изчакай за натискане на бутона преди сканиране." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Изключи лампата" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Изключва лампата на скенера" +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -3982,7 +4023,7 @@ msgid "single" msgstr "" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" @@ -4150,9 +4191,9 @@ msgid "crt" msgstr "" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Lineart" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4281,7 +4322,7 @@ msgstr "Наглася подчертаването на образа" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Гама" @@ -4348,11 +4389,11 @@ msgstr "" msgid "Request driver to remove border from pages digitally" msgstr "" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4384,12 +4425,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "Принтиране с висока гъстота" #: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "Принтиране с ниска гъстота" #: backend/kvs40xx_opt.c:243 @@ -4412,6 +4453,13 @@ msgstr "Нормално" msgid "Enhanced mode" msgstr "Повишение" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4471,7 +4519,7 @@ msgstr "" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4506,12 +4554,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4521,13 +4569,13 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Огледален образ" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4564,52 +4612,52 @@ msgstr "8x8 Bayer" msgid "8x8 Vertical Line" msgstr "8x8 вертикална черта" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Увеличение" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Настройки по увеличение на цветните канали" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Увеличение - сиво" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Наглася увеличение на сивия канал" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Увеличение - червено" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Наглася увеличение на червения канал" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Увеличение - зелено" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Наглася увеличение на зеления канал" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Увеличение - синьо" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Наглася увеличение на синия канал" @@ -4695,7 +4743,7 @@ msgstr "Една страница" msgid "All pages" msgstr "Всички страници" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, fuzzy, no-c-format msgid "sheetfed scanner" msgstr "скенер с sheetfeed" @@ -5198,39 +5246,44 @@ msgstr "" "Загрявай, докато яркостта на лампата е постоянна, вместо да настояваш за " "40 секундно загряване." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Груба калибрация" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Негативен филм" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Негатив" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5238,40 +5291,40 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5360,7 +5413,7 @@ msgstr "Аналогова гама - червено" msgid "Red gain value of the AFE" msgstr "" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Офсет - червено" @@ -5635,7 +5688,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "" -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Вкл. лампа" @@ -5645,12 +5698,12 @@ msgstr "Вкл. лампа" msgid "Turn on scanner lamp" msgstr "Включи лампата на скенера" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Изкл. лампа" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Изключва лампата на скенера" @@ -5795,13 +5848,13 @@ msgid "Focus point" msgstr "Позиция на фокуса" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" +#, fuzzy, no-c-format +msgid "Color lines per read" msgstr "Цветни линии на четене" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" msgstr "Линии на четене по сива скала" #: backend/stv680.c:974 @@ -6455,52 +6508,52 @@ msgstr "Режим калибрация" msgid "Define calibration mode" msgstr "Дефинирай режима на калибрация" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Включва/изключва лампата" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "UTA вкл." -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Включва/изключва UTA" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Офсет" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Настройки по офсета на цветните канали" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Офсет - сиво" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Наглася офсета на сивия канал" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Наглася офсета на червения канал" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Наглася офсета на зеления канал" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Наглася офсета на синия канал" diff --git a/po/ca.po b/po/ca.po index 52fe10d..498ce49 100644 --- a/po/ca.po +++ b/po/ca.po @@ -1,13 +1,13 @@ -# Copyright (C) 2018 The SANE developers +# Copyright (C) 2018-2020 The SANE developers # This file is distributed under the same license as the sane-backends package. # -# Antoni Bella Pérez , 2018. +# Antoni Bella Pérez , 2018, 2020. msgid "" msgstr "" -"Project-Id-Version: sane-backends 1.0.27git\n" +"Project-Id-Version: sane-backends 1.0.29\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" -"PO-Revision-Date: 2018-09-10 00:37+0100\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" +"PO-Revision-Date: 2020-01-17 11:40+0100\n" "Last-Translator: Antoni Bella Pérez \n" "Language-Team: Catalan \n" "Language: ca\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Lokalize 2.0\n" +"X-Generator: Lokalize 20.03.70\n" #: include/sane/saneopts.h:154 #, no-c-format @@ -28,31 +28,31 @@ msgid "Standard" msgstr "Estàndard" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Geometria" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Millora" @@ -86,7 +86,7 @@ msgid "Bit depth" msgstr "Bits de profunditat" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Mode d'escaneig" @@ -127,7 +127,7 @@ msgid "Bottom-right y" msgstr "A baix-dreta Y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Resolució de l'escàner" @@ -282,7 +282,7 @@ msgstr "Nom de fitxer" msgid "Halftone pattern size" msgstr "Mida del patró per al semi to" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Patró per al semi to" @@ -292,10 +292,10 @@ msgstr "Patró per al semi to" msgid "Bind X and Y resolution" msgstr "Enllaça les resolucions X i Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negatiu" @@ -418,7 +418,7 @@ msgstr "Apaga la làmpada en sortir" #: include/sane/saneopts.h:245 #, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Opció de només lectura que especifica quantes opcions admet un " @@ -769,7 +769,7 @@ msgstr "Correcció de la gamma analògica per al blau" #: include/sane/saneopts.h:415 #, no-c-format -msgid "Warmup lamp before scanning" +msgid "Warm up lamp before scanning" msgstr "Escalfament de la làmpada abans d'escanejar" #: include/sane/saneopts.h:417 @@ -919,8 +919,8 @@ msgstr "Operació no admesa" #: backend/sane_strstatus.c:65 #, no-c-format -msgid "Operation was cancelled" -msgstr "L'operació ha estat cancel·lada" +msgid "Operation was canceled" +msgstr "S'ha cancel·lat l'operació" #: backend/sane_strstatus.c:68 #, no-c-format @@ -1016,7 +1016,7 @@ msgstr "Realitza només la correcció de les ombres" #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Si està habilitada, només es realitzarà la correcció de les ombres " @@ -1047,84 +1047,43 @@ msgstr "Escaneja a dues cares" #: backend/avision.h:783 #, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" "L'escanejat de les dues cares proporciona un escanejat de l'anvers i el " "revers del document" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Calibratge de l'escàner" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Força el calibratge de l'escàner abans de l'escaneig" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Escaneja en escala de grisos" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Fes un escaneig en escala de grisos en lloc d'en color" - -#: backend/canon630u.c:306 -#, no-c-format -msgid "Analog Gain" -msgstr "Guany analògic" +msgid "Correction according to transparency ratio" +msgstr "Correcció d'acord amb la relació de transparència" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Augmenta o disminueix el guany analògic per a la matriu del CCD" +msgid "Correction according to film type" +msgstr "Correcció d'acord amb el tipus de pel·lícula" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "Correcció de la gamma" +msgid "Fine color" +msgstr "Color fi" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "" -"Selecciona la corba de transferència per a la correcció de la gamma" +msgid "Negatives" +msgstr "Negatius" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "En brut" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Color fi" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Sense correcció de la transparència" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Correcció d'acord amb el tipus de pel·lícula" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Correcció d'acord amb la relació de transparència" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Negatius" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1261,8 +1220,8 @@ msgstr "Missatge «IDENTIFY» del bit no vàlid" #: backend/canon.c:460 #, no-c-format -msgid "option not connect" -msgstr "L'opció no connectar" +msgid "option not correct" +msgstr "Opció no correcta" #: backend/canon.c:474 #, no-c-format @@ -1560,135 +1519,187 @@ msgstr "Selecciona el tipus de pel·lícula" msgid "Select the film type" msgstr "Selecciona el tipus de pel·lícula" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Calibratge de l'escàner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Força el calibratge de l'escàner abans de l'escaneig" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Escaneja en escala de grisos" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Fes un escaneig en escala de grisos en lloc d'en color" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Guany analògic" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Augmenta o disminueix el guany analògic per a la matriu del CCD" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Correcció de la gamma" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "" +"Selecciona la corba de transferència per a la correcció de la gamma" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "De superfície plana" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "ADF per a l'anvers" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "ADF per al revers" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "ADF per a les dues cares" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Front" msgstr "Targeta per a l'anvers" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "Targeta per al revers" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, no-c-format msgid "Card Duplex" msgstr "Targeta per a les dues cares" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Vermell" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Verd" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blau" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Red" msgstr "Vermell realçat" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, no-c-format msgid "Enhance Green" msgstr "Verd realçat" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, no-c-format msgid "Enhance Blue" msgstr "Blau realçat" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Cap" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "El percentatge per a saltar el blanc del programari" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" "Sol·licita al controlador que descarti les pàgines amb un percentatge " "baix de píxels foscos" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Una cara" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Dues cares" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Unitat per a la transparència" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Alimentador automàtic de documents" @@ -1800,7 +1811,7 @@ msgstr "Impressores d'injecció de tinta" msgid "CRT monitors" msgstr "Monitors CRT" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1864,8 +1875,9 @@ msgstr "A4" msgid "Max" msgstr "Màx" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -2039,17 +2051,17 @@ msgstr "Defineix el factor de zoom que usarà l'escàner" msgid "Quick format" msgstr "Format ràpid" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Equipament opcional" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Expulsa" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Expulsa el full de l'ADF" @@ -2064,12 +2076,14 @@ msgstr "Expulsa automàticament" msgid "Eject document after scanning" msgstr "Expulsa el document després de l'escaneig" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Mode ADF" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Seleccionar el mode de l'ADF (una cara/dues cares)" @@ -2121,17 +2135,17 @@ msgstr "" "Després d'enviar l'ordre d'escaneig, s'ha d'esperar fins que es premi el " "botó de l'escàner per iniciar realment el procés d'escaneig." -#: backend/epson2.c:102 backend/pixma.c:409 -#, no-c-format -msgid "Infrared" -msgstr "Infraroigs" - # Nota: https://github.com/Scan-o-Matic/scanomatic/wiki/Installing-scanners -#: backend/epson2.c:117 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "TPU8x10" +#: backend/epson2.c:102 backend/pixma/pixma.c:409 +#, no-c-format +msgid "Infrared" +msgstr "Infraroigs" + #: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" @@ -2153,243 +2167,263 @@ msgstr "Incorpora el perfil CCT" msgid "User defined CCT profile" msgstr "Perfil CCT definit per l'usuari" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "Carrega" + +#: backend/epsonds.c:751 +#, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Carrega un full a l'ADF" + +#: backend/epsonds.c:771 +#, no-c-format +msgid "ADF Skew Correction" +msgstr "Correcció de la inclinació a l'ADF" + +#: backend/epsonds.c:773 +#, no-c-format +msgid "Enables ADF skew correction" +msgstr "Habilita la correcció de la inclinació a l'ADF" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Actiu" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Inactiu" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Tramat" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, no-c-format msgid "Diffusion" msgstr "Difusió" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, no-c-format msgid "White" msgstr "Blanc" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, no-c-format msgid "Black" msgstr "Negre" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "Continua" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "Atura" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "10 mm" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "15 mm" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "20 mm" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horitzontal" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, no-c-format msgid "Horizontal bold" msgstr "Horitzontal en negre" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, no-c-format msgid "Horizontal narrow" msgstr "Horitzontal estreta" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, no-c-format msgid "Vertical bold" msgstr "Vertical en negre" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "De dalt a baix" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "De baix a dalt" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, no-c-format msgid "Front" msgstr "Anvers" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "Revers" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "Exponent de la funció gamma" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "Canvia la intensitat dels semi tons" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "RIF" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "Format d'imatge inversa" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, no-c-format msgid "Halftone type" msgstr "Tipus de semi to" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "Controla el tipus de filtre del semi to" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "Controla el patró del filtre del semi to" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "Contorn" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, no-c-format msgid "Perform outline extraction" msgstr "Realitza l'extracció del contorn" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, no-c-format msgid "Emphasis" msgstr "Èmfasi" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "Negatiu per a suavitzar o positiu per aguditzar la imatge" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, no-c-format msgid "Separation" msgstr "Separació" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "Habilita la separació automàtica de les imatges i el text" -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, no-c-format msgid "Mirroring" msgstr "Emmiralla" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, no-c-format msgid "Reflect output image horizontally" msgstr "Reflecteix horitzontalment la imatge de sortida" -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, no-c-format msgid "White level follower" msgstr "Seguidor del nivell de blanc" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, no-c-format msgid "Control white level follower" msgstr "Controla el seguidor del nivell de blanc" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, no-c-format msgid "BP filter" msgstr "Filtre per al bolígraf" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "Millora la qualitat del text del bolígraf amb alta resolució" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Suavitzat" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "Habilita el suavitzat per a millorar l'OCR" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, no-c-format msgid "Gamma curve" msgstr "Corba amb interval" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" "La corba amb interval, des de la llum a la foscor, però la part superior " "de les dues podria no funcionar" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Corba del llindar" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" @@ -2397,116 +2431,116 @@ msgstr "" "La corba del llindar, des de la llum a la foscor, però la part superior " "de les dues podria no ser lineal" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, no-c-format msgid "Threshold white" msgstr "Llindar al blanc" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" "Estableix els píxels iguals al llindar al blanc en comptes de negre" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, no-c-format msgid "Noise removal" msgstr "Eliminació del soroll" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "Matriu 5x5" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "Elimina el soroll quadrat de 5 píxels" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "Matriu 4x4" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "Elimina el soroll quadrat de 4 píxels" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "Matriu 3x3" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "Elimina el soroll quadrat de 3 píxels" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "Matriu 2x2" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "Elimina el soroll quadrat de 2 píxels" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "Variància" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" "Estableix la velocitat de la variància SDTC (sensibilitat), 0 és igual " "que 127" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, no-c-format msgid "Auto width detection" msgstr "Detecció automàtica de l'amplada" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" "L'escàner detectarà els costats del paper. Pot reduir la velocitat de " "l'escaneig." -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, no-c-format msgid "Auto length detection" msgstr "Detecció automàtica de la llargada" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" "L'escàner detectarà la vora inferior del paper. Pot confondre alguns " "frontals." -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "Compressió" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" "Habilita les dades comprimides. Pot fer fallar el vostre programa de " "frontal" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "Argument per a la compressió" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " @@ -2515,110 +2549,110 @@ msgstr "" "Nivell de la compressió JPEG. 1 és un fitxer petit, 7 és un fitxer gran. " "0 (predeterminat) és igual que 4" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "Acció per a la doble alimentació" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "Acció per a després de l'error de doble alimentació" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "Inclinació per la doble alimentació" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "Habilita l'error de doble alimentació que causa inclinació" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "Gruix del paper per la doble alimentació" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "Habilita l'error de doble alimentació causat pel gruix del paper" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "Longitud del paper causant doble alimentació" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" "Habilita l'error de doble alimentació causat per la longitud del paper" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "Diferència en la longitud per a causar doble alimentació" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" "Diferència en la longitud de la pàgina per activar l'error de doble " "alimentació" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, no-c-format msgid "DF recovery mode" msgstr "El mode recuperació causa doble alimentació" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" "Sol·licita a l'escàner que l'alimentador recuperi el paper en embussar-se" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "Protecció del paper" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "Pregunta a l'escàner per a predir les embussades a l'ADF" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, no-c-format msgid "Advanced paper protection" msgstr "Protecció avançada del paper" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" "Pregunta a l'escàner per a predir les embussades a l'ADF usant sensors " "millorats" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, no-c-format msgid "Staple detection" msgstr "Detecció de les grapes" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" "Pregunta a l'escàner per a detectar les embussades a l'ADF causades per " "les grapes" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "Color de fons" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" @@ -2626,12 +2660,12 @@ msgstr "" "Estableix un color de fons per a l'escaneig. Pot entrar en conflicte amb " "l'opció de sobreexploració" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, no-c-format msgid "Dropout color" msgstr "Descarta el color" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " @@ -2640,34 +2674,34 @@ msgstr "" "Els escàners d'una sola passada només usen un color durant l'escaneig " "amb gris o binari, útil per a paper amb colors o tinta" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, no-c-format msgid "Buffer mode" msgstr "Mode de memòria intermèdia" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" "Sol·licita a l'escàner que llegeixi les pàgines ràpidament des de l'ADF " "a la memòria interna" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "Preselecciona" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "Sol·licita a l'escàner que agafi la pàgina següent des de l'ADF" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "Sobreexploració" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2679,12 +2713,12 @@ msgstr "" "de la mida del paper, per a permetre recollir els costats restants. Pot " "entrar en conflicte amb l'opció Color de fons" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "Temporitzador de suspensió" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" @@ -2692,12 +2726,12 @@ msgstr "" "Temps en minuts fins que la font d'alimentació interna canviarà al mode " "de suspensió" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, no-c-format msgid "Off timer" msgstr "Temporitzador per apagar" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " @@ -2707,42 +2741,42 @@ msgstr "" "S'arrodonirà fins als 15 minuts més propers. Zero significa que no " "s'apagarà mai." -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, no-c-format msgid "Duplex offset" msgstr "Desplaçament de la doble cara" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "Ajusta el desplaçament per a l'anvers/revers" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Desplaçament del verd" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, no-c-format msgid "Adjust green/red offset" msgstr "Ajusta el desplaçament del verd/vermell" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Desplaçament del blau" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, no-c-format msgid "Adjust blue/red offset" msgstr "Ajusta el desplaçament del blau/vermell" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "Memòria baixa" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2756,12 +2790,12 @@ msgstr "" "es pot usar per a determinar la imatge correcta. Aquesta opció només " "s'hauria d'usar amb el programari de frontal personalitzat." -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, no-c-format msgid "Duplex side" msgstr "Cara per a les dues cares" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " @@ -2770,58 +2804,58 @@ msgstr "" "Indica a quina cara (0=anvers, 1=revers) en un escaneig de dues cares " "retornarà la següent crida al «sane_read()»." -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "Desinclina i escapça per maquinari" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" "Sol·licita a l'escàner que giri i escapci les pàgines de forma digital." -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "Desinclina per programari" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" "Sol·licita al controlador que giri les pàgines inclinades de forma " "digital." -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "Diàmetre per eliminar els pics per programari" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" "Diàmetre màxim dels punts solitaris per eliminar-los de l'escaneig." -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "Escapça per programari" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" "Sol·licita al controlador que elimini la vora de les pàgines de forma " "digital." -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "Atura en cancel·lar" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." @@ -2829,108 +2863,108 @@ msgstr "" "Sol·licita al controlador que aturi l'alimentador de paper en lloc " "d'expulsar-lo durant una cancel·lació." -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, no-c-format msgid "Endorser Options" msgstr "Opcions per a l'aprovador" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "Controls per a la unitat aprovadora" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "Aprovador" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "Habilita la unitat aprovadora" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "Bits de l'aprovació" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "Determina el valor màxim del comptador de l'aprovació." -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "Valor de l'aprovació" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "Valor inicial del comptador de l'aprovació." -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "Pas de l'aprovació" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" "Canvia el valor del comptador de l'aprovació en aquest tant per a cada " "pàgina." -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "Aprovació Y" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" "Desplaçament de la impressió de l'aprovador des de la part superior del " "paper." -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "Tipus de lletra per a l'aprovador" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "El tipus de lletra amb el que imprimirà l'aprovador." -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, no-c-format msgid "Endorser direction" msgstr "Direcció de l'aprovador" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "Direcció amb la qual imprimirà l'aprovador." -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "Costat de l'aprovador" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" "El costat de la impressió de l'aprovador, requereix maquinari per " "canviar-lo" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "Cadena de l'aprovador" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " @@ -2939,220 +2973,206 @@ msgstr "" "Format d'impressió alfanumèric de l'aprovador. %05ud o %08ud al final " "serà substituït pel valor del comptador." -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "Vora superior" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "El paper s'ha retirat parcialment dins de l'ADF" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, no-c-format msgid "A3 paper" msgstr "Paper A3" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "S'ha detectat un paper A3" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, no-c-format msgid "B4 paper" msgstr "Paper B4" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "S'ha detectat un paper B4" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, no-c-format msgid "A4 paper" msgstr "Paper A4" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "S'ha detectat un paper A4" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, no-c-format msgid "B5 paper" msgstr "Paper B5" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "S'ha detectat un paper B5" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "OMR o DF" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" "S'ha detectat una OMR (reconeixement de marca òptica) o alimentació de " "doble cara" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "Estalvi d'energia" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "Escàner en el mode estalvi d'energia" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, no-c-format msgid "Manual feed" msgstr "Alimentació manual" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, no-c-format msgid "Manual feed selected" msgstr "S'ha seleccionat una alimentació manual" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "Funció" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "Funció caràcter a la pantalla" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "Tinta baixa" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "La impressora s'està executant amb la tinta baixa" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "Alimentació de doble cara" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "S'ha detectat una alimentació de doble cara" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "Codi d'error" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, no-c-format msgid "Hardware error code" msgstr "Codi d'error del maquinari" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "Angle d'inclinació" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "Requereix un fons negre per escanejar" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "Tinta restant" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, no-c-format msgid "Imprinter ink level" msgstr "Nivell de tinta de la impressora" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, no-c-format msgid "Density" msgstr "Densitat" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "Marcador de la densitat" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, no-c-format msgid "Duplex switch" msgstr "Commuta a doble cara" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" "Sol·licita al dorsal que elimini la vora de les pàgines de forma digital" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" "Sol·licita al controlador que descarti les pàgines amb un nombre baix de " "píxels foscos" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "Treu el gir per programari" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" "Sol·licita al controlador que detecti i corregeixi el gir de 90 graus de " "la imatge" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extres" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" "La corba dinàmica del llindar, des de la llum a la foscor, normalment de " "50 a 65" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "Inhabilita l'art lineal dinàmic" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" -"Inhabilita l'ús d'un algorisme adaptatiu per programari que genera art " -"lineal en comptes de per maquinari." - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "Inhabilita la interpolació" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3162,33 +3182,33 @@ msgstr "" "més petita que la vertical, això inhabilitarà la interpolació " "horitzontal." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, no-c-format msgid "Color filter" msgstr "Filtre de color" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Quan s'usa gris o art lineal, aquesta opció seleccionarà el color a usar." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, no-c-format msgid "Calibration file" msgstr "Fitxer de calibratge" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, no-c-format msgid "Specify the calibration file to use" msgstr "Especifica el fitxer de calibratge a usar" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, no-c-format msgid "Calibration cache expiration time" msgstr "Temps de caducitat per a la memòria cau del calibratge" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " @@ -3198,12 +3218,12 @@ msgstr "" "memòria cau. Un valor de 0 indicarà que no s'usarà la memòria cau. Un " "valor negatiu indicarà que la memòria cau no caducarà mai." -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Temps per apagar la làmpada" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3212,89 +3232,111 @@ msgstr "" "La llum s'apagarà després del temps determinat (en minuts). Un valor de " "0 indicarà que no s'apagarà la làmpada." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, no-c-format msgid "Lamp off during scan" msgstr "Apaga la làmpada durant l'escaneig" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "La llum s'apagarà durant l'escaneig." -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "Botó de fitxer" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "Botó OCR" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "Botó d'encesa" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, no-c-format msgid "Extra button" msgstr "Botó extra" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Necessita calibratge" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "L'escàner necessita calibratge per als ajustaments actuals" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Botons" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibratge" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, no-c-format msgid "Start calibration using special sheet" msgstr "Comença el calibratge emprant un full especial" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, no-c-format msgid "Clear calibration" msgstr "Neteja el calibratge" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, no-c-format msgid "Clear calibration cache" msgstr "Neteja la memòria cau del calibratge" -#: backend/genesys.cc:5769 -#, fuzzy, no-c-format +#: backend/genesys/genesys.cpp:4476 +#, no-c-format msgid "Force calibration" -msgstr "Calibratge tosc" +msgstr "Força el calibratge" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" +"Força el calibratge ignorant-ho tot i qualsevol memòria cau del " +"calibratge" + +#: backend/genesys/genesys.cpp:4487 +#, no-c-format +msgid "Ignore internal offsets" +msgstr "Ignora els desplaçaments interns" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" +"Adquireix la imatge, incloses les àrees de calibratge intern de l'escàner" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptador de transparència" +#: backend/genesys/genesys.h:80 +#, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Adaptador infraroig de transparència" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3404,647 +3446,649 @@ msgstr "Valor de la gamma" msgid "Sets the gamma value of all channels." msgstr "Estableix el valor de la gamma de tots els canals." -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "Grup de geometria" +msgid "Advanced Options" +msgstr "Opcions avançades" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "Grup de mode d'escaneig" +msgid "Coarse" +msgstr "Tosc" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "Diapositiva" +msgid "Fine" +msgstr "Fina" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Scanner model" -msgstr "Model de l'escàner" +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" -"Permet comprovar el comportament del dispositiu amb els altres models " -"admesos" +msgid "Custom" +msgstr "A mida" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Image colours will be inverted" -msgstr "Els colors de la imatge seran invertits" +msgid "Auto" +msgstr "Auto" -#: backend/hp3900_sane.c:1436 +# Nota: https://ca.wikipedia.org/wiki/NTSC +#: backend/hp-option.c:3091 #, no-c-format -msgid "Disable gamma correction" -msgstr "Inhabilita la correcció de la gamma" +msgid "NTSC RGB" +msgstr "RGB del NTSC" -#: backend/hp3900_sane.c:1437 +# Nota: https://support.hp.com/gb-en/document/c01275842 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Gamma correction will be disabled" -msgstr "La correcció de la gamma serà inhabilitada" +msgid "XPA RGB" +msgstr "RGB amb el XPA" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3093 #, no-c-format -msgid "Disable white shading correction" -msgstr "Inhabilita la correcció de l'ombra blanca" +msgid "Pass-through" +msgstr "Passa a través" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3094 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "La correcció de l'ombra blanca serà inhabilitada" +msgid "NTSC Gray" +msgstr "Gris del NTSC" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Skip warmup process" -msgstr "Omet el procés d'escalfament" +msgid "XPA Gray" +msgstr "Gris amb el XPA" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "El procés d'escalfament serà inhabilitat" +msgid "Slow" +msgstr "Lent" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "Force real depth" -msgstr "Força la profunditat real" +msgid "Normal" +msgstr "Normal" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3149 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"Si s'ha habilitat la gamma, els escanejos es realitzaran sempre en 16 " -"bits de profunditat per a millorar la qualitat de la imatge i després " -"convertir-la a la profunditat seleccionada. Aquesta opció evitarà " -"l'emulació de la profunditat." +msgid "Fast" +msgstr "Ràpid" -#: backend/hp3900_sane.c:1499 +#: backend/hp-option.c:3150 #, no-c-format -msgid "Emulate Grayscale" -msgstr "Emula l'escala de grisos" +msgid "Extra Fast" +msgstr "Extraràpid" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3163 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"Si s'habilita, la imatge s'escanejarà en el mode de color i després es " -"convertirà per programari a una escala de grisos. Això pot millorar la " -"qualitat de la imatge en algunes circumstàncies." +msgid "2-pixel" +msgstr "2 píxels" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3164 #, no-c-format -msgid "Save debugging images" -msgstr "Desa imatges per a la depuració" +msgid "4-pixel" +msgstr "4 píxels" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3165 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"Si s'habilita, es desaran algunes imatges relacionades amb el " -"processament de l'escàner per analitzar-les." +msgid "8-pixel" +msgstr "8 píxels" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Reset chipset" -msgstr "Reinicia el joc de xips" +msgid "Print" +msgstr "Imprimeix" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Resets chipset data" -msgstr "Reinicia les dades del joc de xips" +msgid "Slide" +msgstr "Diapositiva" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Information" -msgstr "Informació" +msgid "Film-strip" +msgstr "Tira de pel·lícules" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Chipset name" -msgstr "Nom del joc de xips" +msgid "ADF" +msgstr "ADF" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "Mostra el nom del joc de xips usat al dispositiu." +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Unknown" -msgstr "Desconegut" +msgid "Conditional" +msgstr "Condicional" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Chipset ID" -msgstr "ID del joc de xips" +msgid "Experiment" +msgstr "Experimental" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.h:60 #, no-c-format -msgid "Shows the chipset ID" -msgstr "Mostra l'ID del joc de xips" +msgid "Sharpening" +msgstr "Aguditzant" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.h:61 #, no-c-format -msgid "Scan counter" -msgstr "Comptador d'escaneigs" +msgid "Set sharpening value." +msgstr "Estableix el valor de l'agudització." -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:66 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Mostra el nombre d'escaneigs realitzats per l'escàner" +msgid "Auto Threshold" +msgstr "Llindar automàtic" -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.h:68 #, no-c-format -msgid "Update information" -msgstr "Actualitza la informació" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "" +"Habilita la determinació automàtica del llindar pels escaneigs amb art " +"lineal." -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:74 #, no-c-format -msgid "Updates information about device" -msgstr "Actualitza la informació quant al dispositiu" +msgid "Select smoothing filter." +msgstr "Selecciona el filtre de suavitzat." -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:79 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Aquesta opció reflecteix un botó d'escàner al panell frontal" +msgid "Unload media after scan" +msgstr "Descarrega el suport després de l'escaneig" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:80 #, no-c-format -msgid "Image" -msgstr "Imatge" +msgid "Unloads the media after a scan." +msgstr "Descarrega el suport després d'un escaneig." -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:85 #, no-c-format -msgid "Miscellaneous" -msgstr "Miscel·lània" +msgid "Change document" +msgstr "Canvia el document" -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:86 #, no-c-format -msgid "offset X" -msgstr "Desplaçament X" +msgid "Change Document." +msgstr "Canvia el document." -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:91 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Posició X interna al maquinari de l'àrea d'escaneig." +msgid "Unload" +msgstr "Descarrega" -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:92 #, no-c-format -msgid "offset Y" -msgstr "Desplaçament Y" +msgid "Unload Document." +msgstr "Descarrega el document." -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:98 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Posició Y interna al maquinari de l'àrea d'escaneig." +msgid "Start calibration process." +msgstr "Inicia el procés de calibratge." -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:103 #, no-c-format -msgid "Lamp status" -msgstr "Estat de la làmpada" +msgid "Media" +msgstr "Suport" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:104 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Apaga o encén la llum." +msgid "Set type of media." +msgstr "Estableix el tipus de suport." -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:109 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Calibra per al nivell de blanc i negre." +msgid "Exposure time" +msgstr "Temps d'exposició" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:111 #, no-c-format -msgid "ADF" -msgstr "ADF" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"Un temps d'exposició més llarg permet que l'escàner recopili més llum. " +"L'ús aconsellat és el 175% per a impressions, el 150% per a diapositives " +"normals i «Negatiu» per a pel·lícules en negatiu. Per a imatges fosques " +"(sota exposades), podeu augmentar aquest valor." -# Nota: https://en.wikipedia.org/wiki/Tissue_microarray -#: backend/hp5590.c:95 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "TMA Slides" -msgstr "Costats de la TMA" +msgid "Color Matrix" +msgstr "Matriu de color" -#: backend/hp5590.c:96 +#: backend/hp-option.h:121 #, no-c-format -msgid "TMA Negatives" -msgstr "TMA negatius" +msgid "Set the scanner's color matrix." +msgstr "Estableix la matriu de color de l'escàner." -#: backend/hp5590.c:108 +#: backend/hp-option.h:127 #, no-c-format -msgid "Color (48 bits)" -msgstr "Color (48 bits)" +msgid "Custom color matrix." +msgstr "Matriu de color a mida." -#: backend/hp5590.c:112 +#: backend/hp-option.h:132 #, no-c-format -msgid "Extend lamp timeout" -msgstr "Amplia el temps d'espera de la làmpada" +msgid "Mono Color Matrix" +msgstr "Matriu de color monocrom" -#: backend/hp5590.c:113 +#: backend/hp-option.h:133 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "Amplia el temps d'espera de la làmpada (de 15 minuts a 1 hora)" +msgid "Custom color matrix for grayscale scans." +msgstr "Matriu de color a mida pels escaneigs en escala de grisos." -#: backend/hp5590.c:115 +#: backend/hp-option.h:138 #, no-c-format -msgid "Wait for button" -msgstr "Espera pel botó" +msgid "Mirror horizontal" +msgstr "Emmiralla horitzontalment" -#: backend/hp5590.c:116 +#: backend/hp-option.h:139 #, no-c-format -msgid "Waits for button before scanning" -msgstr "Espera pel botó abans d'escanejar" +msgid "Mirror image horizontally." +msgstr "Emmiralla horitzontalment la imatge." -#: backend/hp5590.c:118 +#: backend/hp-option.h:144 #, no-c-format -msgid "Last button pressed" -msgstr "Darrer botó premut" +msgid "Mirror vertical" +msgstr "Emmiralla verticalment" -#: backend/hp5590.c:119 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "Obtén l'ID de l'últim botó premut (només lectura)" - -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Comptador d'escaneigs" +msgid "Mirror image vertically." +msgstr "Emmiralla verticalment la imatge." -#: backend/hp5590.c:122 -#, fuzzy, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "Obtén l'ID de l'últim botó premut (només lectura)" +#: backend/hp-option.h:150 +#, no-c-format +msgid "Update options" +msgstr "Opcions per a l'actualització" -#: backend/hp5590.c:124 -#, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Color per a l'art lineal" +#: backend/hp-option.h:151 +#, no-c-format +msgid "Update options." +msgstr "Opcions per a l'actualització." -#: backend/hp5590.c:125 -#, fuzzy, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "Obtén l'ID de l'últim botó premut (només lectura)" +#: backend/hp-option.h:156 +#, no-c-format +msgid "8 bit output" +msgstr "Sortida de 8 bits" -#: backend/hp5590.c:127 +#: backend/hp-option.h:158 #, no-c-format -msgid "Document available in ADF" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" +"Usa internament una profunditat de bits més gran que vuit, però a la " +"sortida usa només vuit bits." -#: backend/hp5590.c:128 +#: backend/hp-option.h:164 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +msgid "Front button wait" +msgstr "Espera al botó del frontal" -#: backend/hp5590.c:130 +#: backend/hp-option.h:165 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "Oculta el píxel del final de pàgina" +msgid "Wait to scan for front-panel button push." +msgstr "Espera per escanejar que es premi el botó del panell frontal." -#: backend/hp5590.c:131 +#: backend/hp-option.h:172 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" -msgstr "" -"Oculta els píxels indicadors del final de pàgina i se sobreescriuen amb " -"els píxels veïns" +msgid "Shut off lamp" +msgstr "Apaga la làmpada" -#: backend/hp5590.c:133 +#: backend/hp-option.h:173 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" -"Mode d'ompliment del final de les línies després d'obtenir les dades " -"d'escaneig (ADF)" +msgid "Shut off scanner lamp." +msgstr "Apaga la llum de l'escàner." -#: backend/hp5590.c:134 +#: backend/hp3500.c:1020 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" -"raw = dades d'escaneig sense processar, last = repeteix l'última línia " -"escanejada, raster = ràster en b/n, white = color blanc, black = color " -"negre, color = valor del color RGB o gris" +msgid "Geometry Group" +msgstr "Grup de geometria" -#: backend/hp5590.c:137 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "Valor del color RGB o gris per al mode ompliment del «color»" +msgid "Scan Mode Group" +msgstr "Grup de mode d'escaneig" -#: backend/hp5590.c:138 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" +msgid "Scanner model" +msgstr "Model de l'escàner" + +#: backend/hp3900_sane.c:1408 +#, no-c-format +msgid "Allows one to test device behavior with other supported models" msgstr "" -"Valor del «color» per al mode d'ompliment al final de les línies. Color " -"RGB com a valor r*65536+256*g+b o gris (predeterminat=violeta o gris)" +"Permet comprovar el comportament del dispositiu amb els altres models " +"admesos" -#: backend/hp-option.c:2987 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "Advanced Options" -msgstr "Opcions avançades" +msgid "Image colors will be inverted" +msgstr "Els colors de la imatge seran invertits" -#: backend/hp-option.c:3044 +#: backend/hp3900_sane.c:1436 #, no-c-format -msgid "Coarse" -msgstr "Tosc" +msgid "Disable gamma correction" +msgstr "Inhabilita la correcció de la gamma" -#: backend/hp-option.c:3045 +#: backend/hp3900_sane.c:1437 #, no-c-format -msgid "Fine" -msgstr "Fina" +msgid "Gamma correction will be disabled" +msgstr "La correcció de la gamma serà inhabilitada" -#: backend/hp-option.c:3046 +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "Bayer" -msgstr "Bayer" +msgid "Disable white shading correction" +msgstr "Inhabilita la correcció de l'ombra blanca" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Custom" -msgstr "A mida" +msgid "White shading correction will be disabled" +msgstr "La correcció de l'ombra blanca serà inhabilitada" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Auto" -msgstr "Auto" +msgid "Skip warmup process" +msgstr "Omet el procés d'escalfament" -# Nota: https://ca.wikipedia.org/wiki/NTSC -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "NTSC RGB" -msgstr "RGB del NTSC" +msgid "Warmup process will be disabled" +msgstr "El procés d'escalfament serà inhabilitat" -# Nota: https://support.hp.com/gb-en/document/c01275842 -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "XPA RGB" -msgstr "RGB amb el XPA" +msgid "Force real depth" +msgstr "Força la profunditat real" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Pass-through" -msgstr "Passa a través" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"Si s'ha habilitat la gamma, els escanejos es realitzaran sempre en 16 " +"bits de profunditat per a millorar la qualitat de la imatge i després " +"convertir-la a la profunditat seleccionada. Aquesta opció evitarà " +"l'emulació de la profunditat." -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1499 #, no-c-format -msgid "NTSC Gray" -msgstr "Gris del NTSC" +msgid "Emulate Grayscale" +msgstr "Emula l'escala de grisos" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "XPA Gray" -msgstr "Gris amb el XPA" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"Si s'habilita, la imatge s'escanejarà en el mode de color i després es " +"convertirà per programari a una escala de grisos. Això pot millorar la " +"qualitat de la imatge en algunes circumstàncies." -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Slow" -msgstr "Lent" +msgid "Save debugging images" +msgstr "Desa imatges per a la depuració" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "Normal" -msgstr "Normal" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"Si s'habilita, es desaran algunes imatges relacionades amb el " +"processament de l'escàner per analitzar-les." -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "Fast" -msgstr "Ràpid" +msgid "Reset chipset" +msgstr "Reinicia el joc de xips" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Extra Fast" -msgstr "Extraràpid" +msgid "Resets chipset data" +msgstr "Reinicia les dades del joc de xips" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "2-pixel" -msgstr "2 píxels" +msgid "Information" +msgstr "Informació" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "4-pixel" -msgstr "4 píxels" +msgid "Chipset name" +msgstr "Nom del joc de xips" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "8-pixel" -msgstr "8 píxels" +msgid "Shows chipset name used in device." +msgstr "Mostra el nom del joc de xips usat al dispositiu." -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Print" -msgstr "Imprimeix" +msgid "Unknown" +msgstr "Desconegut" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Film-strip" -msgstr "Tira de pel·lícules" +msgid "Chipset ID" +msgstr "ID del joc de xips" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "XPA" -msgstr "XPA" +msgid "Shows the chipset ID" +msgstr "Mostra l'ID del joc de xips" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1582 #, no-c-format -msgid "Conditional" -msgstr "Condicional" +msgid "Scan counter" +msgstr "Comptador d'escaneigs" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Experiment" -msgstr "Experimental" +msgid "Shows the number of scans made by scanner" +msgstr "Mostra el nombre d'escaneigs realitzats per l'escàner" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Sharpening" -msgstr "Aguditzant" +msgid "Update information" +msgstr "Actualitza la informació" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Set sharpening value." -msgstr "Estableix el valor de l'agudització." +msgid "Updates information about device" +msgstr "Actualitza la informació quant al dispositiu" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Auto Threshold" -msgstr "Llindar automàtic" +msgid "This option reflects a front panel scanner button" +msgstr "Aquesta opció reflecteix un botó d'escàner al panell frontal" -#: backend/hp-option.h:68 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "" -"Habilita la determinació automàtica del llindar pels escaneigs amb art " -"lineal." +msgid "Image" +msgstr "Imatge" -#: backend/hp-option.h:74 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Select smoothing filter." -msgstr "Selecciona el filtre de suavitzat." +msgid "Miscellaneous" +msgstr "Miscel·lània" -#: backend/hp-option.h:79 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Unload media after scan" -msgstr "Descarrega el suport després de l'escaneig" +msgid "offset X" +msgstr "Desplaçament X" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Descarrega el suport després d'un escaneig." +msgid "Hardware internal X position of the scanning area." +msgstr "Posició X interna al maquinari de l'àrea d'escaneig." -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Change document" -msgstr "Canvia el document" +msgid "offset Y" +msgstr "Desplaçament Y" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Change Document." -msgstr "Canvia el document." +msgid "Hardware internal Y position of the scanning area." +msgstr "Posició Y interna al maquinari de l'àrea d'escaneig." -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Unload" -msgstr "Descarrega" +msgid "Lamp status" +msgstr "Estat de la làmpada" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Unload Document." -msgstr "Descarrega el document." +msgid "Switches the lamp on or off." +msgstr "Apaga o encén la llum." -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Start calibration process." -msgstr "Inicia el procés de calibratge." +msgid "Calibrates for black and white level." +msgstr "Calibra per al nivell de blanc i negre." -#: backend/hp-option.h:103 +# Nota: https://en.wikipedia.org/wiki/Tissue_microarray +#: backend/hp5590.c:95 #, no-c-format -msgid "Media" -msgstr "Suport" +msgid "TMA Slides" +msgstr "Costats de la TMA" -#: backend/hp-option.h:104 +#: backend/hp5590.c:96 #, no-c-format -msgid "Set type of media." -msgstr "Estableix el tipus de suport." +msgid "TMA Negatives" +msgstr "TMA negatius" -#: backend/hp-option.h:109 +#: backend/hp5590.c:108 #, no-c-format -msgid "Exposure time" -msgstr "Temps d'exposició" +msgid "Color (48 bits)" +msgstr "Color (48 bits)" -#: backend/hp-option.h:111 +#: backend/hp5590.c:112 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"Un temps d'exposició més llarg permet que l'escàner recopili més llum. " -"L'ús aconsellat és el 175% per a impressions, el 150% per a diapositives " -"normals i «Negatiu» per a pel·lícules en negatiu. Per a imatges fosques " -"(sota exposades), podeu augmentar aquest valor." +msgid "Extend lamp timeout" +msgstr "Amplia el temps d'espera de la làmpada" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:113 #, no-c-format -msgid "Color Matrix" -msgstr "Matriu de color" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Amplia el temps d'espera de la làmpada (de 15 minuts a 1 hora)" -#: backend/hp-option.h:121 +#: backend/hp5590.c:115 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "Estableix la matriu de color dels escàners." +msgid "Wait for button" +msgstr "Espera pel botó" -#: backend/hp-option.h:127 +#: backend/hp5590.c:116 #, no-c-format -msgid "Custom color matrix." -msgstr "Matriu de color a mida." +msgid "Waits for button before scanning" +msgstr "Espera pel botó abans d'escanejar" -#: backend/hp-option.h:132 +#: backend/hp5590.c:118 #, no-c-format -msgid "Mono Color Matrix" -msgstr "Matriu de color monocrom" +msgid "Last button pressed" +msgstr "Darrer botó premut" -#: backend/hp-option.h:133 +#: backend/hp5590.c:119 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Matriu de color a mida pels escaneigs en escala de grisos." +msgid "Get ID of last button pressed (read only)" +msgstr "Obtén l'ID de l'últim botó premut (només lectura)" -#: backend/hp-option.h:138 +#: backend/hp5590.c:121 #, no-c-format -msgid "Mirror horizontal" -msgstr "Emmiralla horitzontalment" +msgid "LCD counter" +msgstr "Comptador LCD" -#: backend/hp-option.h:139 +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Emmiralla horitzontalment la imatge." +msgid "Get value of LCD counter (read only)" +msgstr "Obtén el valor del comptador LCD (només lectura)" -#: backend/hp-option.h:144 +#: backend/hp5590.c:124 #, no-c-format -msgid "Mirror vertical" -msgstr "Emmiralla verticalment" +msgid "Color LED indicator" +msgstr "Indicador LED del color" -#: backend/hp-option.h:145 +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Emmiralla verticalment la imatge." +msgid "Get value of LED indicator (read only)" +msgstr "Obtén el valor del comptador LED (només lectura)" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Opcions per a l'actualització" +msgid "Document available in ADF" +msgstr "Document disponible a l'ADF" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Opcions per a l'actualització." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" +"Obtén l'estat de l'indicador de document disponible a l'ADF (només " +"lectura)" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "Sortida de 8 bits" +msgid "Hide end-of-page pixel" +msgstr "Oculta el píxel del final de pàgina" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -"Usa internament una profunditat de bits més gran que vuit, però a la " -"sortida usa només vuit bits." +"Oculta els píxels indicadors del final de pàgina i se sobreescriuen amb " +"els píxels veïns" -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Espera al botó del frontal" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" +"Mode d'ompliment del final de les línies després d'obtenir les dades " +"d'escaneig (ADF)" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Espera per escanejar que es premi el botó del panell frontal." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" +"raw = dades d'escaneig sense processar, last = repeteix l'última línia " +"escanejada, raster = ràster en b/n, white = color blanc, black = color " +"negre, color = valor del color RGB o gris" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Apaga la làmpada" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "Valor del color RGB o gris per al mode ompliment del «color»" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Apaga la llum de l'escàner." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" +"Valor del «color» per al mode d'ompliment al final de les línies. Color " +"RGB com a valor r*65536+256*g+b o gris (predeterminat=violeta o gris)" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4144,7 +4188,7 @@ msgid "single" msgstr "individual" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" @@ -4313,7 +4357,7 @@ msgstr "CRT" #: backend/kvs1025_opt.c:229 #, no-c-format -msgid "linier" +msgid "linear" msgstr "Lineal" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 @@ -4446,7 +4490,7 @@ msgstr "Estableix l'èmfasi de la imatge" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" @@ -4519,14 +4563,14 @@ msgstr "" "Sol·licita al controlador que elimini la vora de les pàgines de forma " "digital" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" -"El mode control de la longitud és un mode on l'escàner llegirà fins a la " -"longitud més curta del paper real o la longitud lògica del document." +"El mode control de la longitud fa que l'escàner llegeixi la longitud més " +"curta real del paper o la longitud lògica del document." #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 #: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 @@ -4557,13 +4601,13 @@ msgstr "B4" #: backend/kvs40xx_opt.c:231 #, no-c-format -msgid "High sensivity" -msgstr "Alta sensibilitat" +msgid "High sensitivity" +msgstr "Sensibilitat alta" #: backend/kvs40xx_opt.c:232 #, no-c-format -msgid "Low sensivity" -msgstr "Baixa sensibilitat" +msgid "Low sensitivity" +msgstr "Sensibilitat baixa" #: backend/kvs40xx_opt.c:243 #, no-c-format @@ -4585,6 +4629,15 @@ msgstr "Mode normal" msgid "Enhanced mode" msgstr "Mode millorat" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" +"El mode control de la longitud fa que l'escàner llegeixi la longitud més " +"curta real del paper o la longitud lògica del document" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4647,9 +4700,9 @@ msgstr "Compressió del JPEG" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" -"Compressió del JPEG (l'aplicació vostra l'haurà de poder descomprimir)" +"Compressió del JPEG (la vostra aplicació haurà de poder descomprimir)" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format @@ -4683,12 +4736,12 @@ msgstr "Ajustament de la inclinació" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "Atura l'escàner quan un paper estigui inclinat" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "S'aturarà l'escàner quan un paper estigui inclinat" #: backend/kvs40xx_opt.c:816 @@ -4698,14 +4751,14 @@ msgstr "Escapça una àrea de la imatge real" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" "L'escàner detectarà automàticament l'àrea de la imatge i l'escapçarà" #: backend/kvs40xx_opt.c:827 #, no-c-format -msgid "It is right and left reversing" -msgstr "Torna a la dreta i a l'esquerra" +msgid "Left/right mirror image" +msgstr "Emmiralla la imatge d'esquerra/dreta" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4742,52 +4795,52 @@ msgstr "Bayer 8x8" msgid "8x8 Vertical Line" msgstr "Línia vertical 8x8" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Guany" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Ajustaments del guany per als canals de color" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Guany del gris" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Estableix el guany del canal gris" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Guany del vermell" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Estableix el guany del canal vermell" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Guany del verd" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Estableix el guany del canal verd" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Guany del blau" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Estableix el guany del canal blau" @@ -4873,7 +4926,7 @@ msgstr "Una pàgina" msgid "All pages" msgstr "Totes les pàgines" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "escàner alimentat per fulls" @@ -5396,27 +5449,32 @@ msgstr "" "Escalfa fins que la brillantor de la làmpada sigui constant en comptes " "d'insistir en el temps d'escalfament de 40 segons." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, no-c-format +msgid "Need calibration" +msgstr "Necessita calibratge" + +#: backend/pixma/pixma.c:397 #, no-c-format msgid "Negative color" msgstr "Color en negatiu" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, no-c-format msgid "Negative gray" msgstr "Gris en negatiu" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "Color de 48 bits" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "Gris de 16 bits" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " @@ -5426,12 +5484,12 @@ msgstr "" "Estableix la font abans del mode i la resolució. Restaura el mode i la " "resolució als valors automàtics." -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Escaneig controlat pels botons" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5442,43 +5500,43 @@ msgstr "" "Per a continuar, premeu el botó «Escaneja» (per a MP150) o el botó " "«Color» (per a altres models). Per a cancel·lar, premeu el botó «Gris»." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Actualitza l'estat del botó" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Botó 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Botó 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "Tipus de l'original a escanejar" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "Tipus de l'operació de destinació" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "Temps d'espera per a l'ADF" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" -"Quan s'estableix, l'escàner cerca el temps d'espera en segons perquè " +"Quan s'estableix, l'escàner espera el temps especificat en segons perquè " "s'insereixi un document nou a l'alimentador automàtic de documents." #: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 @@ -5566,7 +5624,7 @@ msgstr "Frontal analògic" msgid "Red gain value of the AFE" msgstr "Valor de guany del vermell de l'AFE" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Desplaçament del vermell" @@ -5843,7 +5901,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "Aquesta opció reflecteix l'estat d'un botó de l'escàner." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Encén la làmpada" @@ -5853,12 +5911,12 @@ msgstr "Encén la làmpada" msgid "Turn on scanner lamp" msgstr "Encén la llum de l'escàner" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Apaga la làmpada" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Apaga la llum de l'escàner" @@ -6006,12 +6064,12 @@ msgstr "Punt d'enfocament" #: backend/snapscan-options.c:930 #, no-c-format -msgid "Colour lines per read" +msgid "Color lines per read" msgstr "Línies de color per a la lectura" #: backend/snapscan-options.c:942 #, no-c-format -msgid "Greyscale lines per read" +msgid "Grayscale lines per read" msgstr "Línies en escala de grisos per a la lectura" #: backend/stv680.c:974 @@ -6682,52 +6740,68 @@ msgstr "Mode del calibratge" msgid "Define calibration mode" msgstr "Defineix el mode del calibratge" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Estableix la làmpada a encesa/apagada" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "Activa l'UTA" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Estableix l'UTA a actiu/inactiu" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Desplaçament" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Ajustaments del desplaçament per als canals de color" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Desplaçament del gris" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Estableix el desplaçament del canal gris" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Estableix el desplaçament del canal vermell" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Estableix el desplaçament del canal verd" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Estableix el desplaçament del canal blau" + +#~ msgid "Disable dynamic lineart" +#~ msgstr "Inhabilita l'art lineal dinàmic" + +#~ msgid "" +#~ "Disable use of a software adaptive algorithm to generate lineart " +#~ "relying instead on hardware lineart." +#~ msgstr "" +#~ "Inhabilita l'ús d'un algorisme adaptatiu per programari que genera " +#~ "art lineal en comptes de per maquinari." + +#~ msgid "linier" +#~ msgstr "Lineal" + +#~ msgid "It is right and left reversing" +#~ msgstr "Torna a la dreta i a l'esquerra" diff --git a/po/ca@valencia.po b/po/ca@valencia.po index 1ec2034..8111f09 100644 --- a/po/ca@valencia.po +++ b/po/ca@valencia.po @@ -1,13 +1,13 @@ -# Copyright (C) 2018 The SANE developers +# Copyright (C) 2018-2020 The SANE developers # This file is distributed under the same license as the sane-backends package. # -# Antoni Bella Pérez , 2018. +# Antoni Bella Pérez , 2018, 2020. msgid "" msgstr "" -"Project-Id-Version: sane-backends 1.0.27git\n" +"Project-Id-Version: sane-backends 1.0.29\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" -"PO-Revision-Date: 2018-09-10 00:37+0100\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" +"PO-Revision-Date: 2020-01-17 11:40+0100\n" "Last-Translator: Antoni Bella Pérez \n" "Language-Team: Catalan \n" "Language: ca@valencia\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Lokalize 2.0\n" +"X-Generator: Lokalize 20.03.70\n" #: include/sane/saneopts.h:154 #, no-c-format @@ -28,31 +28,31 @@ msgid "Standard" msgstr "Estàndard" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Geometria" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Millora" @@ -86,7 +86,7 @@ msgid "Bit depth" msgstr "Bits de profunditat" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Mode d'escaneig" @@ -127,7 +127,7 @@ msgid "Bottom-right y" msgstr "A baix-dreta Y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Resolució de l'escàner" @@ -282,7 +282,7 @@ msgstr "Nom de fitxer" msgid "Halftone pattern size" msgstr "Mida del patró per al semi to" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Patró per al semi to" @@ -292,10 +292,10 @@ msgstr "Patró per al semi to" msgid "Bind X and Y resolution" msgstr "Enllaça les resolucions X i Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negatiu" @@ -418,7 +418,7 @@ msgstr "Apaga la làmpada en eixir" #: include/sane/saneopts.h:245 #, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Opció de només lectura que especifica quantes opcions admet un " @@ -769,7 +769,7 @@ msgstr "Correcció de la gamma analògica per al blau" #: include/sane/saneopts.h:415 #, no-c-format -msgid "Warmup lamp before scanning" +msgid "Warm up lamp before scanning" msgstr "Escalfament de la làmpada abans d'escanejar" #: include/sane/saneopts.h:417 @@ -919,8 +919,8 @@ msgstr "Operació no admesa" #: backend/sane_strstatus.c:65 #, no-c-format -msgid "Operation was cancelled" -msgstr "L'operació ha estat cancel·lada" +msgid "Operation was canceled" +msgstr "S'ha cancel·lat l'operació" #: backend/sane_strstatus.c:68 #, no-c-format @@ -1016,7 +1016,7 @@ msgstr "Realitza només la correcció de les ombres" #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Si està habilitada, només es realitzarà la correcció de les ombres " @@ -1047,84 +1047,43 @@ msgstr "Escaneja a dues cares" #: backend/avision.h:783 #, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" "L'escanejat de les dues cares proporciona un escanejat de l'anvers i el " "revers del document" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Calibratge de l'escàner" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Força el calibratge de l'escàner abans de l'escaneig" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Escaneja en escala de grisos" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Fes un escaneig en escala de grisos en lloc d'en color" - -#: backend/canon630u.c:306 -#, no-c-format -msgid "Analog Gain" -msgstr "Guany analògic" +msgid "Correction according to transparency ratio" +msgstr "Correcció d'acord amb la relació de transparència" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Augmenta o disminueix el guany analògic per a la matriu del CCD" +msgid "Correction according to film type" +msgstr "Correcció d'acord amb el tipus de pel·lícula" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "Correcció de la gamma" +msgid "Fine color" +msgstr "Color fi" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "" -"Selecciona la corba de transferència per a la correcció de la gamma" +msgid "Negatives" +msgstr "Negatius" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "En brut" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Color fi" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Sense correcció de la transparència" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Correcció d'acord amb el tipus de pel·lícula" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Correcció d'acord amb la relació de transparència" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Negatius" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1261,8 +1220,8 @@ msgstr "Missatge «IDENTIFY» del bit no vàlid" #: backend/canon.c:460 #, no-c-format -msgid "option not connect" -msgstr "L'opció no connectar" +msgid "option not correct" +msgstr "Opció no correcta" #: backend/canon.c:474 #, no-c-format @@ -1560,135 +1519,187 @@ msgstr "Selecciona el tipus de pel·lícula" msgid "Select the film type" msgstr "Selecciona el tipus de pel·lícula" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Calibratge de l'escàner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Força el calibratge de l'escàner abans de l'escaneig" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Escaneja en escala de grisos" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Fes un escaneig en escala de grisos en lloc d'en color" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Guany analògic" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Augmenta o disminueix el guany analògic per a la matriu del CCD" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Correcció de la gamma" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "" +"Selecciona la corba de transferència per a la correcció de la gamma" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "De superfície plana" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "ADF per a l'anvers" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "ADF per al revers" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "ADF per a les dues cares" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Front" msgstr "Targeta per a l'anvers" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "Targeta per al revers" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, no-c-format msgid "Card Duplex" msgstr "Targeta per a les dues cares" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Roig" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Verd" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blau" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Red" msgstr "Roig realçat" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, no-c-format msgid "Enhance Green" msgstr "Verd realçat" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, no-c-format msgid "Enhance Blue" msgstr "Blau realçat" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Cap" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "El percentatge per a saltar el blanc del programari" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" "Sol·licita al controlador que descarti les pàgines amb un percentatge " "baix de píxels foscos" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Una cara" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Dues cares" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Unitat per a la transparència" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Alimentador automàtic de documents" @@ -1800,7 +1811,7 @@ msgstr "Impressores d'injecció de tinta" msgid "CRT monitors" msgstr "Monitors CRT" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1864,8 +1875,9 @@ msgstr "A4" msgid "Max" msgstr "Màx" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -2039,17 +2051,17 @@ msgstr "Defineix el factor de zoom que usarà l'escàner" msgid "Quick format" msgstr "Format ràpid" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Equipament opcional" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Expulsa" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Expulsa el full de l'ADF" @@ -2064,12 +2076,14 @@ msgstr "Expulsa automàticament" msgid "Eject document after scanning" msgstr "Expulsa el document després de l'escaneig" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Mode ADF" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Seleccionar el mode de l'ADF (una cara/dues cares)" @@ -2121,17 +2135,17 @@ msgstr "" "Després d'enviar l'ordre d'escaneig, s'ha d'esperar fins que es prema el " "botó de l'escàner per iniciar realment el procés d'escaneig." -#: backend/epson2.c:102 backend/pixma.c:409 -#, no-c-format -msgid "Infrared" -msgstr "Infraroigs" - # Nota: https://github.com/Scan-o-Matic/scanomatic/wiki/Installing-scanners -#: backend/epson2.c:117 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "TPU8x10" +#: backend/epson2.c:102 backend/pixma/pixma.c:409 +#, no-c-format +msgid "Infrared" +msgstr "Infraroigs" + #: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" @@ -2153,243 +2167,263 @@ msgstr "Incorpora el perfil CCT" msgid "User defined CCT profile" msgstr "Perfil CCT definit per l'usuari" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "Carrega" + +#: backend/epsonds.c:751 +#, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Carrega un full a l'ADF" + +#: backend/epsonds.c:771 +#, no-c-format +msgid "ADF Skew Correction" +msgstr "Correcció de la inclinació a l'ADF" + +#: backend/epsonds.c:773 +#, no-c-format +msgid "Enables ADF skew correction" +msgstr "Habilita la correcció de la inclinació a l'ADF" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Actiu" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Inactiu" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Tramat" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, no-c-format msgid "Diffusion" msgstr "Difusió" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, no-c-format msgid "White" msgstr "Blanc" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, no-c-format msgid "Black" msgstr "Negre" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "Continua" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "Atura" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "10 mm" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "15 mm" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "20 mm" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horitzontal" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, no-c-format msgid "Horizontal bold" msgstr "Horitzontal en negre" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, no-c-format msgid "Horizontal narrow" msgstr "Horitzontal estreta" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, no-c-format msgid "Vertical bold" msgstr "Vertical en negre" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "De dalt a baix" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "De baix a dalt" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, no-c-format msgid "Front" msgstr "Anvers" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "Revers" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "Exponent de la funció gamma" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "Canvia la intensitat dels semi tons" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "RIF" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "Format d'imatge inversa" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, no-c-format msgid "Halftone type" msgstr "Tipus de semi to" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "Controla el tipus de filtre del semi to" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "Controla el patró del filtre del semi to" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "Contorn" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, no-c-format msgid "Perform outline extraction" msgstr "Realitza l'extracció del contorn" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, no-c-format msgid "Emphasis" msgstr "Èmfasi" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "Negatiu per a suavitzar o positiu per aguditzar la imatge" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, no-c-format msgid "Separation" msgstr "Separació" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "Habilita la separació automàtica de les imatges i el text" -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, no-c-format msgid "Mirroring" msgstr "Emmiralla" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, no-c-format msgid "Reflect output image horizontally" msgstr "Reflecteix horitzontalment la imatge d'eixida" -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, no-c-format msgid "White level follower" msgstr "Seguidor del nivell de blanc" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, no-c-format msgid "Control white level follower" msgstr "Controla el seguidor del nivell de blanc" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, no-c-format msgid "BP filter" msgstr "Filtre per al bolígraf" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "Millora la qualitat del text del bolígraf amb alta resolució" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Suavitzat" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "Habilita el suavitzat per a millorar l'OCR" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, no-c-format msgid "Gamma curve" msgstr "Corba amb interval" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" "La corba amb interval, des de la llum a la foscor, però la part superior " "de les dues podria no funcionar" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Corba del llindar" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" @@ -2397,116 +2431,116 @@ msgstr "" "La corba del llindar, des de la llum a la foscor, però la part superior " "de les dues podria no ser lineal" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, no-c-format msgid "Threshold white" msgstr "Llindar al blanc" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" "Estableix els píxels iguals al llindar al blanc en comptes de negre" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, no-c-format msgid "Noise removal" msgstr "Eliminació del soroll" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "Matriu 5x5" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "Elimina el soroll quadrat de 5 píxels" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "Matriu 4x4" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "Elimina el soroll quadrat de 4 píxels" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "Matriu 3x3" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "Elimina el soroll quadrat de 3 píxels" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "Matriu 2x2" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "Elimina el soroll quadrat de 2 píxels" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "Variància" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" "Estableix la velocitat de la variància SDTC (sensibilitat), 0 és igual " "que 127" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, no-c-format msgid "Auto width detection" msgstr "Detecció automàtica de l'amplària" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" "L'escàner detectarà els costats del paper. Pot reduir la velocitat de " "l'escaneig." -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, no-c-format msgid "Auto length detection" msgstr "Detecció automàtica de la llargada" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" "L'escàner detectarà la vora inferior del paper. Pot confondre alguns " "frontals." -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "Compressió" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" "Habilita les dades comprimides. Pot fer fallar el vostre programa de " "frontal" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "Argument per a la compressió" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " @@ -2515,110 +2549,110 @@ msgstr "" "Nivell de la compressió JPEG. 1 és un fitxer petit, 7 és un fitxer gran. " "0 (predeterminat) és igual que 4" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "Acció per a la doble alimentació" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "Acció per a després de l'error de doble alimentació" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "Inclinació per la doble alimentació" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "Habilita l'error de doble alimentació que causa inclinació" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "Gruix del paper per la doble alimentació" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "Habilita l'error de doble alimentació causat pel gruix del paper" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "Longitud del paper causant doble alimentació" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" "Habilita l'error de doble alimentació causat per la longitud del paper" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "Diferència en la longitud per a causar doble alimentació" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" "Diferència en la longitud de la pàgina per activar l'error de doble " "alimentació" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, no-c-format msgid "DF recovery mode" msgstr "El mode recuperació causa doble alimentació" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" "Sol·licita a l'escàner que l'alimentador recuperi el paper en embussar-se" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "Protecció del paper" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "Pregunta a l'escàner per a predir les embussades a l'ADF" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, no-c-format msgid "Advanced paper protection" msgstr "Protecció avançada del paper" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" "Pregunta a l'escàner per a predir les embussades a l'ADF usant sensors " "millorats" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, no-c-format msgid "Staple detection" msgstr "Detecció de les grapes" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" "Pregunta a l'escàner per a detectar les embussades a l'ADF causades per " "les grapes" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "Color de fons" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" @@ -2626,12 +2660,12 @@ msgstr "" "Estableix un color de fons per a l'escaneig. Pot entrar en conflicte amb " "l'opció de sobreexploració" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, no-c-format msgid "Dropout color" msgstr "Descarta el color" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " @@ -2640,34 +2674,34 @@ msgstr "" "Els escàners d'una sola passada només usen un color durant l'escaneig " "amb gris o binari, útil per a paper amb colors o tinta" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, no-c-format msgid "Buffer mode" msgstr "Mode de memòria intermèdia" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" "Sol·licita a l'escàner que llija les pàgines ràpidament des de l'ADF a " "la memòria interna" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "Preselecciona" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "Sol·licita a l'escàner que agafi la pàgina següent des de l'ADF" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "Sobreexploració" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2679,12 +2713,12 @@ msgstr "" "de la mida del paper, per a permetre recollir els costats restants. Pot " "entrar en conflicte amb l'opció Color de fons" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "Temporitzador de suspensió" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" @@ -2692,12 +2726,12 @@ msgstr "" "Temps en minuts fins que la font d'alimentació interna canviarà al mode " "de suspensió" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, no-c-format msgid "Off timer" msgstr "Temporitzador per apagar" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " @@ -2707,42 +2741,42 @@ msgstr "" "S'arrodonirà fins als 15 minuts més propers. Zero significa que no " "s'apagarà mai." -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, no-c-format msgid "Duplex offset" msgstr "Desplaçament de la doble cara" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "Ajusta el desplaçament per a l'anvers/revers" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Desplaçament del verd" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, no-c-format msgid "Adjust green/red offset" msgstr "Ajusta el desplaçament del verd/roig" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Desplaçament del blau" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, no-c-format msgid "Adjust blue/red offset" msgstr "Ajusta el desplaçament del blau/roig" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "Memòria baixa" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2756,12 +2790,12 @@ msgstr "" "es pot usar per a determinar la imatge correcta. Aquesta opció només " "s'hauria d'usar amb el programari de frontal personalitzat." -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, no-c-format msgid "Duplex side" msgstr "Cara per a les dues cares" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " @@ -2770,58 +2804,58 @@ msgstr "" "Indica a quina cara (0=anvers, 1=revers) en un escaneig de dues cares " "retornarà la següent crida al «sane_read()»." -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "Desinclina i escapça per maquinari" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" "Sol·licita a l'escàner que giri i escapci les pàgines de forma digital." -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "Desinclina per programari" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" "Sol·licita al controlador que giri les pàgines inclinades de forma " "digital." -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "Diàmetre per eliminar els pics per programari" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" "Diàmetre màxim dels punts solitaris per eliminar-los de l'escaneig." -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "Escapça per programari" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" "Sol·licita al controlador que elimini la vora de les pàgines de forma " "digital." -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "Atura en cancel·lar" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." @@ -2829,108 +2863,108 @@ msgstr "" "Sol·licita al controlador que pare l'alimentador de paper en lloc " "d'expulsar-lo durant una cancel·lació." -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, no-c-format msgid "Endorser Options" msgstr "Opcions per a l'aprovador" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "Controls per a la unitat aprovadora" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "Aprovador" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "Habilita la unitat aprovadora" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "Bits de l'aprovació" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "Determina el valor màxim del comptador de l'aprovació." -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "Valor de l'aprovació" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "Valor inicial del comptador de l'aprovació." -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "Pas de l'aprovació" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" "Canvia el valor del comptador de l'aprovació en aquest tant per a cada " "pàgina." -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "Aprovació Y" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" "Desplaçament de la impressió de l'aprovador des de la part superior del " "paper." -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "Tipus de lletra per a l'aprovador" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "El tipus de lletra amb el que imprimirà l'aprovador." -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, no-c-format msgid "Endorser direction" msgstr "Direcció de l'aprovador" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "Direcció amb la qual imprimirà l'aprovador." -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "Costat de l'aprovador" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" "El costat de la impressió de l'aprovador, requereix maquinari per " "canviar-lo" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "Cadena de l'aprovador" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " @@ -2939,220 +2973,206 @@ msgstr "" "Format d'impressió alfanumèric de l'aprovador. %05ud o %08ud al final " "serà substituït pel valor del comptador." -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "Vora superior" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "El paper s'ha retirat parcialment dins de l'ADF" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, no-c-format msgid "A3 paper" msgstr "Paper A3" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "S'ha detectat un paper A3" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, no-c-format msgid "B4 paper" msgstr "Paper B4" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "S'ha detectat un paper B4" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, no-c-format msgid "A4 paper" msgstr "Paper A4" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "S'ha detectat un paper A4" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, no-c-format msgid "B5 paper" msgstr "Paper B5" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "S'ha detectat un paper B5" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "OMR o DF" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" "S'ha detectat una OMR (reconeixement de marca òptica) o alimentació de " "doble cara" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "Estalvi d'energia" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "Escàner en el mode estalvi d'energia" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, no-c-format msgid "Manual feed" msgstr "Alimentació manual" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, no-c-format msgid "Manual feed selected" msgstr "S'ha seleccionat una alimentació manual" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "Funció" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "Funció caràcter a la pantalla" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "Tinta baixa" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "La impressora s'està executant amb la tinta baixa" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "Alimentació de doble cara" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "S'ha detectat una alimentació de doble cara" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "Codi d'error" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, no-c-format msgid "Hardware error code" msgstr "Codi d'error del maquinari" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "Angle d'inclinació" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "Requereix un fons negre per escanejar" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "Tinta restant" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, no-c-format msgid "Imprinter ink level" msgstr "Nivell de tinta de la impressora" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, no-c-format msgid "Density" msgstr "Densitat" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "Marcador de la densitat" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, no-c-format msgid "Duplex switch" msgstr "Commuta a doble cara" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" "Sol·licita al dorsal que elimini la vora de les pàgines de forma digital" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" "Sol·licita al controlador que descarti les pàgines amb un nombre baix de " "píxels foscos" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "Treu el gir per programari" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" "Sol·licita al controlador que detecti i corregisca el gir de 90 graus de " "la imatge" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extres" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" "La corba dinàmica del llindar, des de la llum a la foscor, normalment de " "50 a 65" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "Inhabilita l'art lineal dinàmic" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" -"Inhabilita l'ús d'un algorisme adaptatiu per programari que genera art " -"lineal en comptes de per maquinari." - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "Inhabilita la interpolació" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3162,33 +3182,33 @@ msgstr "" "més petita que la vertical, això inhabilitarà la interpolació " "horitzontal." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, no-c-format msgid "Color filter" msgstr "Filtre de color" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Quan s'usa gris o art lineal, aquesta opció seleccionarà el color a usar." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, no-c-format msgid "Calibration file" msgstr "Fitxer de calibratge" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, no-c-format msgid "Specify the calibration file to use" msgstr "Especifica el fitxer de calibratge a usar" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, no-c-format msgid "Calibration cache expiration time" msgstr "Temps de caducitat per a la memòria cau del calibratge" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " @@ -3198,12 +3218,12 @@ msgstr "" "memòria cau. Un valor de 0 indicarà que no s'usarà la memòria cau. Un " "valor negatiu indicarà que la memòria cau no caducarà mai." -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Temps per apagar la làmpada" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3212,89 +3232,111 @@ msgstr "" "La llum s'apagarà després del temps determinat (en minuts). Un valor de " "0 indicarà que no s'apagarà la làmpada." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, no-c-format msgid "Lamp off during scan" msgstr "Apaga la làmpada durant l'escaneig" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "La llum s'apagarà durant l'escaneig." -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "Botó de fitxer" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "Botó OCR" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "Botó d'encesa" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, no-c-format msgid "Extra button" msgstr "Botó extra" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Necessita calibratge" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "L'escàner necessita calibratge per als ajustaments actuals" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Botons" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibratge" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, no-c-format msgid "Start calibration using special sheet" msgstr "Comença el calibratge emprant un full especial" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, no-c-format msgid "Clear calibration" msgstr "Neteja el calibratge" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, no-c-format msgid "Clear calibration cache" msgstr "Neteja la memòria cau del calibratge" -#: backend/genesys.cc:5769 -#, fuzzy, no-c-format +#: backend/genesys/genesys.cpp:4476 +#, no-c-format msgid "Force calibration" -msgstr "Calibratge tosc" +msgstr "Força el calibratge" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" +"Força el calibratge ignorant-ho tot i qualsevol memòria cau del " +"calibratge" + +#: backend/genesys/genesys.cpp:4487 +#, no-c-format +msgid "Ignore internal offsets" +msgstr "Ignora els desplaçaments interns" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" +"Adquireix la imatge, incloses les àrees de calibratge intern de l'escàner" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptador de transparència" +#: backend/genesys/genesys.h:80 +#, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Adaptador infraroig de transparència" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3404,647 +3446,649 @@ msgstr "Valor de la gamma" msgid "Sets the gamma value of all channels." msgstr "Estableix el valor de la gamma de tots els canals." -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "Grup de geometria" +msgid "Advanced Options" +msgstr "Opcions avançades" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "Grup de mode d'escaneig" +msgid "Coarse" +msgstr "Tosc" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "Diapositiva" +msgid "Fine" +msgstr "Fina" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Scanner model" -msgstr "Model de l'escàner" +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" -"Permet comprovar el comportament del dispositiu amb els altres models " -"admesos" +msgid "Custom" +msgstr "A mida" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Image colours will be inverted" -msgstr "Els colors de la imatge seran invertits" +msgid "Auto" +msgstr "Auto" -#: backend/hp3900_sane.c:1436 +# Nota: https://ca.wikipedia.org/wiki/NTSC +#: backend/hp-option.c:3091 #, no-c-format -msgid "Disable gamma correction" -msgstr "Inhabilita la correcció de la gamma" +msgid "NTSC RGB" +msgstr "RGB del NTSC" -#: backend/hp3900_sane.c:1437 +# Nota: https://support.hp.com/gb-en/document/c01275842 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Gamma correction will be disabled" -msgstr "La correcció de la gamma serà inhabilitada" +msgid "XPA RGB" +msgstr "RGB amb el XPA" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3093 #, no-c-format -msgid "Disable white shading correction" -msgstr "Inhabilita la correcció de l'ombra blanca" +msgid "Pass-through" +msgstr "Passa a través" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3094 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "La correcció de l'ombra blanca serà inhabilitada" +msgid "NTSC Gray" +msgstr "Gris del NTSC" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Skip warmup process" -msgstr "Omet el procés d'escalfament" +msgid "XPA Gray" +msgstr "Gris amb el XPA" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "El procés d'escalfament serà inhabilitat" +msgid "Slow" +msgstr "Lent" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "Force real depth" -msgstr "Força la profunditat real" +msgid "Normal" +msgstr "Normal" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3149 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"Si s'ha habilitat la gamma, els escanejos es realitzaran sempre en 16 " -"bits de profunditat per a millorar la qualitat de la imatge i després " -"convertir-la a la profunditat seleccionada. Aquesta opció evitarà " -"l'emulació de la profunditat." +msgid "Fast" +msgstr "Ràpid" -#: backend/hp3900_sane.c:1499 +#: backend/hp-option.c:3150 #, no-c-format -msgid "Emulate Grayscale" -msgstr "Emula l'escala de grisos" +msgid "Extra Fast" +msgstr "Extraràpid" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3163 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"Si s'habilita, la imatge s'escanejarà en el mode de color i després es " -"convertirà per programari a una escala de grisos. Això pot millorar la " -"qualitat de la imatge en algunes circumstàncies." +msgid "2-pixel" +msgstr "2 píxels" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3164 #, no-c-format -msgid "Save debugging images" -msgstr "Guarda imatges per a la depuració" +msgid "4-pixel" +msgstr "4 píxels" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3165 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"Si s'habilita, es guardaran algunes imatges relacionades amb el " -"processament de l'escàner per analitzar-les." +msgid "8-pixel" +msgstr "8 píxels" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Reset chipset" -msgstr "Reinicia el joc de xips" +msgid "Print" +msgstr "Imprimeix" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Resets chipset data" -msgstr "Reinicia les dades del joc de xips" +msgid "Slide" +msgstr "Diapositiva" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Information" -msgstr "Informació" +msgid "Film-strip" +msgstr "Tira de pel·lícules" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Chipset name" -msgstr "Nom del joc de xips" +msgid "ADF" +msgstr "ADF" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "Mostra el nom del joc de xips usat al dispositiu." +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Unknown" -msgstr "Desconegut" +msgid "Conditional" +msgstr "Condicional" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Chipset ID" -msgstr "ID del joc de xips" +msgid "Experiment" +msgstr "Experimental" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.h:60 #, no-c-format -msgid "Shows the chipset ID" -msgstr "Mostra l'ID del joc de xips" +msgid "Sharpening" +msgstr "Aguditzant" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.h:61 #, no-c-format -msgid "Scan counter" -msgstr "Comptador d'escaneigs" +msgid "Set sharpening value." +msgstr "Estableix el valor de l'agudització." -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:66 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Mostra el nombre d'escaneigs realitzats per l'escàner" +msgid "Auto Threshold" +msgstr "Llindar automàtic" -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.h:68 #, no-c-format -msgid "Update information" -msgstr "Actualitza la informació" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "" +"Habilita la determinació automàtica del llindar pels escaneigs amb art " +"lineal." -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:74 #, no-c-format -msgid "Updates information about device" -msgstr "Actualitza la informació quant al dispositiu" +msgid "Select smoothing filter." +msgstr "Selecciona el filtre de suavitzat." -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:79 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Aquesta opció reflecteix un botó d'escàner al panell frontal" +msgid "Unload media after scan" +msgstr "Descarrega el suport després de l'escaneig" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:80 #, no-c-format -msgid "Image" -msgstr "Imatge" +msgid "Unloads the media after a scan." +msgstr "Descarrega el suport després d'un escaneig." -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:85 #, no-c-format -msgid "Miscellaneous" -msgstr "Miscel·lània" +msgid "Change document" +msgstr "Canvia el document" -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:86 #, no-c-format -msgid "offset X" -msgstr "Desplaçament X" +msgid "Change Document." +msgstr "Canvia el document." -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:91 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Posició X interna al maquinari de l'àrea d'escaneig." +msgid "Unload" +msgstr "Descarrega" -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:92 #, no-c-format -msgid "offset Y" -msgstr "Desplaçament Y" +msgid "Unload Document." +msgstr "Descarrega el document." -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:98 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Posició Y interna al maquinari de l'àrea d'escaneig." +msgid "Start calibration process." +msgstr "Inicia el procés de calibratge." -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:103 #, no-c-format -msgid "Lamp status" -msgstr "Estat de la làmpada" +msgid "Media" +msgstr "Suport" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:104 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Apaga o encén la llum." +msgid "Set type of media." +msgstr "Estableix el tipus de suport." -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:109 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Calibra per al nivell de blanc i negre." +msgid "Exposure time" +msgstr "Temps d'exposició" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:111 #, no-c-format -msgid "ADF" -msgstr "ADF" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"Un temps d'exposició més llarg permet que l'escàner recopili més llum. " +"L'ús aconsellat és el 175% per a impressions, el 150% per a diapositives " +"normals i «Negatiu» per a pel·lícules en negatiu. Per a imatges fosques " +"(sota exposades), podeu augmentar aquest valor." -# Nota: https://en.wikipedia.org/wiki/Tissue_microarray -#: backend/hp5590.c:95 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "TMA Slides" -msgstr "Costats de la TMA" +msgid "Color Matrix" +msgstr "Matriu de color" -#: backend/hp5590.c:96 +#: backend/hp-option.h:121 #, no-c-format -msgid "TMA Negatives" -msgstr "TMA negatius" +msgid "Set the scanner's color matrix." +msgstr "Estableix la matriu de color de l'escàner." -#: backend/hp5590.c:108 +#: backend/hp-option.h:127 #, no-c-format -msgid "Color (48 bits)" -msgstr "Color (48 bits)" +msgid "Custom color matrix." +msgstr "Matriu de color a mida." -#: backend/hp5590.c:112 +#: backend/hp-option.h:132 #, no-c-format -msgid "Extend lamp timeout" -msgstr "Amplia el temps d'espera de la làmpada" +msgid "Mono Color Matrix" +msgstr "Matriu de color monocrom" -#: backend/hp5590.c:113 +#: backend/hp-option.h:133 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "Amplia el temps d'espera de la làmpada (de 15 minuts a 1 hora)" +msgid "Custom color matrix for grayscale scans." +msgstr "Matriu de color a mida pels escaneigs en escala de grisos." -#: backend/hp5590.c:115 +#: backend/hp-option.h:138 #, no-c-format -msgid "Wait for button" -msgstr "Espera pel botó" +msgid "Mirror horizontal" +msgstr "Emmiralla horitzontalment" -#: backend/hp5590.c:116 +#: backend/hp-option.h:139 #, no-c-format -msgid "Waits for button before scanning" -msgstr "Espera pel botó abans d'escanejar" +msgid "Mirror image horizontally." +msgstr "Emmiralla horitzontalment la imatge." -#: backend/hp5590.c:118 +#: backend/hp-option.h:144 #, no-c-format -msgid "Last button pressed" -msgstr "Darrer botó premut" +msgid "Mirror vertical" +msgstr "Emmiralla verticalment" -#: backend/hp5590.c:119 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "Obtén l'ID de l'últim botó premut (només lectura)" - -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Comptador d'escaneigs" +msgid "Mirror image vertically." +msgstr "Emmiralla verticalment la imatge." -#: backend/hp5590.c:122 -#, fuzzy, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "Obtén l'ID de l'últim botó premut (només lectura)" +#: backend/hp-option.h:150 +#, no-c-format +msgid "Update options" +msgstr "Opcions per a l'actualització" -#: backend/hp5590.c:124 -#, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Color per a l'art lineal" +#: backend/hp-option.h:151 +#, no-c-format +msgid "Update options." +msgstr "Opcions per a l'actualització." -#: backend/hp5590.c:125 -#, fuzzy, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "Obtén l'ID de l'últim botó premut (només lectura)" +#: backend/hp-option.h:156 +#, no-c-format +msgid "8 bit output" +msgstr "Eixida de 8 bits" -#: backend/hp5590.c:127 +#: backend/hp-option.h:158 #, no-c-format -msgid "Document available in ADF" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" +"Usa internament una profunditat de bits més gran que vuit, però a " +"l'eixida usa només vuit bits." -#: backend/hp5590.c:128 +#: backend/hp-option.h:164 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +msgid "Front button wait" +msgstr "Espera al botó del frontal" -#: backend/hp5590.c:130 +#: backend/hp-option.h:165 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "Oculta el píxel del final de pàgina" +msgid "Wait to scan for front-panel button push." +msgstr "Espera per escanejar que es prema el botó del panell frontal." -#: backend/hp5590.c:131 +#: backend/hp-option.h:172 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" -msgstr "" -"Oculta els píxels indicadors del final de pàgina i se sobreescriuen amb " -"els píxels veïns" +msgid "Shut off lamp" +msgstr "Apaga la làmpada" -#: backend/hp5590.c:133 +#: backend/hp-option.h:173 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" -"Mode d'ompliment del final de les línies després d'obtindre les dades " -"d'escaneig (ADF)" +msgid "Shut off scanner lamp." +msgstr "Apaga la llum de l'escàner." -#: backend/hp5590.c:134 +#: backend/hp3500.c:1020 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" -"raw = dades d'escaneig sense processar, last = repeteix l'última línia " -"escanejada, raster = ràster en b/n, white = color blanc, black = color " -"negre, color = valor del color RGB o gris" +msgid "Geometry Group" +msgstr "Grup de geometria" -#: backend/hp5590.c:137 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "Valor del color RGB o gris per al mode ompliment del «color»" +msgid "Scan Mode Group" +msgstr "Grup de mode d'escaneig" -#: backend/hp5590.c:138 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" +msgid "Scanner model" +msgstr "Model de l'escàner" + +#: backend/hp3900_sane.c:1408 +#, no-c-format +msgid "Allows one to test device behavior with other supported models" msgstr "" -"Valor del «color» per al mode d'ompliment al final de les línies. Color " -"RGB com a valor r*65536+256*g+b o gris (predeterminat=violeta o gris)" +"Permet comprovar el comportament del dispositiu amb els altres models " +"admesos" -#: backend/hp-option.c:2987 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "Advanced Options" -msgstr "Opcions avançades" +msgid "Image colors will be inverted" +msgstr "Els colors de la imatge seran invertits" -#: backend/hp-option.c:3044 +#: backend/hp3900_sane.c:1436 #, no-c-format -msgid "Coarse" -msgstr "Tosc" +msgid "Disable gamma correction" +msgstr "Inhabilita la correcció de la gamma" -#: backend/hp-option.c:3045 +#: backend/hp3900_sane.c:1437 #, no-c-format -msgid "Fine" -msgstr "Fina" +msgid "Gamma correction will be disabled" +msgstr "La correcció de la gamma serà inhabilitada" -#: backend/hp-option.c:3046 +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "Bayer" -msgstr "Bayer" +msgid "Disable white shading correction" +msgstr "Inhabilita la correcció de l'ombra blanca" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Custom" -msgstr "A mida" +msgid "White shading correction will be disabled" +msgstr "La correcció de l'ombra blanca serà inhabilitada" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Auto" -msgstr "Auto" +msgid "Skip warmup process" +msgstr "Omet el procés d'escalfament" -# Nota: https://ca.wikipedia.org/wiki/NTSC -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "NTSC RGB" -msgstr "RGB del NTSC" +msgid "Warmup process will be disabled" +msgstr "El procés d'escalfament serà inhabilitat" -# Nota: https://support.hp.com/gb-en/document/c01275842 -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "XPA RGB" -msgstr "RGB amb el XPA" +msgid "Force real depth" +msgstr "Força la profunditat real" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Pass-through" -msgstr "Passa a través" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"Si s'ha habilitat la gamma, els escanejos es realitzaran sempre en 16 " +"bits de profunditat per a millorar la qualitat de la imatge i després " +"convertir-la a la profunditat seleccionada. Aquesta opció evitarà " +"l'emulació de la profunditat." -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1499 #, no-c-format -msgid "NTSC Gray" -msgstr "Gris del NTSC" +msgid "Emulate Grayscale" +msgstr "Emula l'escala de grisos" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "XPA Gray" -msgstr "Gris amb el XPA" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"Si s'habilita, la imatge s'escanejarà en el mode de color i després es " +"convertirà per programari a una escala de grisos. Això pot millorar la " +"qualitat de la imatge en algunes circumstàncies." -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Slow" -msgstr "Lent" +msgid "Save debugging images" +msgstr "Guarda imatges per a la depuració" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "Normal" -msgstr "Normal" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"Si s'habilita, es guardaran algunes imatges relacionades amb el " +"processament de l'escàner per analitzar-les." -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "Fast" -msgstr "Ràpid" +msgid "Reset chipset" +msgstr "Reinicia el joc de xips" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Extra Fast" -msgstr "Extraràpid" +msgid "Resets chipset data" +msgstr "Reinicia les dades del joc de xips" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "2-pixel" -msgstr "2 píxels" +msgid "Information" +msgstr "Informació" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "4-pixel" -msgstr "4 píxels" +msgid "Chipset name" +msgstr "Nom del joc de xips" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "8-pixel" -msgstr "8 píxels" +msgid "Shows chipset name used in device." +msgstr "Mostra el nom del joc de xips usat al dispositiu." -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Print" -msgstr "Imprimeix" +msgid "Unknown" +msgstr "Desconegut" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Film-strip" -msgstr "Tira de pel·lícules" +msgid "Chipset ID" +msgstr "ID del joc de xips" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "XPA" -msgstr "XPA" +msgid "Shows the chipset ID" +msgstr "Mostra l'ID del joc de xips" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1582 #, no-c-format -msgid "Conditional" -msgstr "Condicional" +msgid "Scan counter" +msgstr "Comptador d'escaneigs" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Experiment" -msgstr "Experimental" +msgid "Shows the number of scans made by scanner" +msgstr "Mostra el nombre d'escaneigs realitzats per l'escàner" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Sharpening" -msgstr "Aguditzant" +msgid "Update information" +msgstr "Actualitza la informació" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Set sharpening value." -msgstr "Estableix el valor de l'agudització." +msgid "Updates information about device" +msgstr "Actualitza la informació quant al dispositiu" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Auto Threshold" -msgstr "Llindar automàtic" +msgid "This option reflects a front panel scanner button" +msgstr "Aquesta opció reflecteix un botó d'escàner al panell frontal" -#: backend/hp-option.h:68 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "" -"Habilita la determinació automàtica del llindar pels escaneigs amb art " -"lineal." +msgid "Image" +msgstr "Imatge" -#: backend/hp-option.h:74 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Select smoothing filter." -msgstr "Selecciona el filtre de suavitzat." +msgid "Miscellaneous" +msgstr "Miscel·lània" -#: backend/hp-option.h:79 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Unload media after scan" -msgstr "Descarrega el suport després de l'escaneig" +msgid "offset X" +msgstr "Desplaçament X" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Descarrega el suport després d'un escaneig." +msgid "Hardware internal X position of the scanning area." +msgstr "Posició X interna al maquinari de l'àrea d'escaneig." -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Change document" -msgstr "Canvia el document" +msgid "offset Y" +msgstr "Desplaçament Y" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Change Document." -msgstr "Canvia el document." +msgid "Hardware internal Y position of the scanning area." +msgstr "Posició Y interna al maquinari de l'àrea d'escaneig." -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Unload" -msgstr "Descarrega" +msgid "Lamp status" +msgstr "Estat de la làmpada" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Unload Document." -msgstr "Descarrega el document." +msgid "Switches the lamp on or off." +msgstr "Apaga o encén la llum." -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Start calibration process." -msgstr "Inicia el procés de calibratge." +msgid "Calibrates for black and white level." +msgstr "Calibra per al nivell de blanc i negre." -#: backend/hp-option.h:103 +# Nota: https://en.wikipedia.org/wiki/Tissue_microarray +#: backend/hp5590.c:95 #, no-c-format -msgid "Media" -msgstr "Suport" +msgid "TMA Slides" +msgstr "Costats de la TMA" -#: backend/hp-option.h:104 +#: backend/hp5590.c:96 #, no-c-format -msgid "Set type of media." -msgstr "Estableix el tipus de suport." +msgid "TMA Negatives" +msgstr "TMA negatius" -#: backend/hp-option.h:109 +#: backend/hp5590.c:108 #, no-c-format -msgid "Exposure time" -msgstr "Temps d'exposició" +msgid "Color (48 bits)" +msgstr "Color (48 bits)" -#: backend/hp-option.h:111 +#: backend/hp5590.c:112 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"Un temps d'exposició més llarg permet que l'escàner recopili més llum. " -"L'ús aconsellat és el 175% per a impressions, el 150% per a diapositives " -"normals i «Negatiu» per a pel·lícules en negatiu. Per a imatges fosques " -"(sota exposades), podeu augmentar aquest valor." +msgid "Extend lamp timeout" +msgstr "Amplia el temps d'espera de la làmpada" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:113 #, no-c-format -msgid "Color Matrix" -msgstr "Matriu de color" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Amplia el temps d'espera de la làmpada (de 15 minuts a 1 hora)" -#: backend/hp-option.h:121 +#: backend/hp5590.c:115 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "Estableix la matriu de color dels escàners." +msgid "Wait for button" +msgstr "Espera pel botó" -#: backend/hp-option.h:127 +#: backend/hp5590.c:116 #, no-c-format -msgid "Custom color matrix." -msgstr "Matriu de color a mida." +msgid "Waits for button before scanning" +msgstr "Espera pel botó abans d'escanejar" -#: backend/hp-option.h:132 +#: backend/hp5590.c:118 #, no-c-format -msgid "Mono Color Matrix" -msgstr "Matriu de color monocrom" +msgid "Last button pressed" +msgstr "Darrer botó premut" -#: backend/hp-option.h:133 +#: backend/hp5590.c:119 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Matriu de color a mida pels escaneigs en escala de grisos." +msgid "Get ID of last button pressed (read only)" +msgstr "Obtén l'ID de l'últim botó premut (només lectura)" -#: backend/hp-option.h:138 +#: backend/hp5590.c:121 #, no-c-format -msgid "Mirror horizontal" -msgstr "Emmiralla horitzontalment" +msgid "LCD counter" +msgstr "Comptador LCD" -#: backend/hp-option.h:139 +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Emmiralla horitzontalment la imatge." +msgid "Get value of LCD counter (read only)" +msgstr "Obtén el valor del comptador LCD (només lectura)" -#: backend/hp-option.h:144 +#: backend/hp5590.c:124 #, no-c-format -msgid "Mirror vertical" -msgstr "Emmiralla verticalment" +msgid "Color LED indicator" +msgstr "Indicador LED del color" -#: backend/hp-option.h:145 +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Emmiralla verticalment la imatge." +msgid "Get value of LED indicator (read only)" +msgstr "Obtén el valor del comptador LED (només lectura)" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Opcions per a l'actualització" +msgid "Document available in ADF" +msgstr "Document disponible a l'ADF" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Opcions per a l'actualització." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" +"Obtén l'estat de l'indicador de document disponible a l'ADF (només " +"lectura)" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "Eixida de 8 bits" +msgid "Hide end-of-page pixel" +msgstr "Oculta el píxel del final de pàgina" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -"Usa internament una profunditat de bits més gran que vuit, però a " -"l'eixida usa només vuit bits." +"Oculta els píxels indicadors del final de pàgina i se sobreescriuen amb " +"els píxels veïns" -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Espera al botó del frontal" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" +"Mode d'ompliment del final de les línies després d'obtindre les dades " +"d'escaneig (ADF)" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Espera per escanejar que es prema el botó del panell frontal." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" +"raw = dades d'escaneig sense processar, last = repeteix l'última línia " +"escanejada, raster = ràster en b/n, white = color blanc, black = color " +"negre, color = valor del color RGB o gris" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Apaga la làmpada" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "Valor del color RGB o gris per al mode ompliment del «color»" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Apaga la llum de l'escàner." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" +"Valor del «color» per al mode d'ompliment al final de les línies. Color " +"RGB com a valor r*65536+256*g+b o gris (predeterminat=violeta o gris)" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4144,7 +4188,7 @@ msgid "single" msgstr "individual" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" @@ -4313,7 +4357,7 @@ msgstr "CRT" #: backend/kvs1025_opt.c:229 #, no-c-format -msgid "linier" +msgid "linear" msgstr "Lineal" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 @@ -4446,7 +4490,7 @@ msgstr "Estableix l'èmfasi de la imatge" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" @@ -4519,14 +4563,14 @@ msgstr "" "Sol·licita al controlador que elimini la vora de les pàgines de forma " "digital" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" -"El mode control de la longitud és un mode on l'escàner llegirà fins a la " -"longitud més curta del paper real o la longitud lògica del document." +"El mode control de la longitud fa que l'escàner llija la longitud més " +"curta real del paper o la longitud lògica del document." #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 #: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 @@ -4557,13 +4601,13 @@ msgstr "B4" #: backend/kvs40xx_opt.c:231 #, no-c-format -msgid "High sensivity" -msgstr "Alta sensibilitat" +msgid "High sensitivity" +msgstr "Sensibilitat alta" #: backend/kvs40xx_opt.c:232 #, no-c-format -msgid "Low sensivity" -msgstr "Baixa sensibilitat" +msgid "Low sensitivity" +msgstr "Sensibilitat baixa" #: backend/kvs40xx_opt.c:243 #, no-c-format @@ -4585,6 +4629,15 @@ msgstr "Mode normal" msgid "Enhanced mode" msgstr "Mode millorat" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" +"El mode control de la longitud fa que l'escàner llija la longitud més " +"curta real del paper o la longitud lògica del document" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4647,9 +4700,9 @@ msgstr "Compressió del JPEG" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" -"Compressió del JPEG (l'aplicació vostra l'haurà de poder descomprimir)" +"Compressió del JPEG (la vostra aplicació haurà de poder descomprimir)" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format @@ -4683,12 +4736,12 @@ msgstr "Ajustament de la inclinació" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "Atura l'escàner quan un paper estiga inclinat" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "S'aturarà l'escàner quan un paper estiga inclinat" #: backend/kvs40xx_opt.c:816 @@ -4698,14 +4751,14 @@ msgstr "Escapça una àrea de la imatge real" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" "L'escàner detectarà automàticament l'àrea de la imatge i l'escapçarà" #: backend/kvs40xx_opt.c:827 #, no-c-format -msgid "It is right and left reversing" -msgstr "Torna a la dreta i a l'esquerra" +msgid "Left/right mirror image" +msgstr "Emmiralla la imatge d'esquerra/dreta" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4742,52 +4795,52 @@ msgstr "Bayer 8x8" msgid "8x8 Vertical Line" msgstr "Línia vertical 8x8" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Guany" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Ajustaments del guany per als canals de color" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Guany del gris" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Estableix el guany del canal gris" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Guany del roig" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Estableix el guany del canal roig" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Guany del verd" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Estableix el guany del canal verd" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Guany del blau" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Estableix el guany del canal blau" @@ -4873,7 +4926,7 @@ msgstr "Una pàgina" msgid "All pages" msgstr "Totes les pàgines" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "escàner alimentat per fulls" @@ -5395,27 +5448,32 @@ msgstr "" "Escalfa fins que la brillantor de la làmpada siga constant en comptes " "d'insistir en el temps d'escalfament de 40 segons." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, no-c-format +msgid "Need calibration" +msgstr "Necessita calibratge" + +#: backend/pixma/pixma.c:397 #, no-c-format msgid "Negative color" msgstr "Color en negatiu" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, no-c-format msgid "Negative gray" msgstr "Gris en negatiu" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "Color de 48 bits" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "Gris de 16 bits" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " @@ -5425,12 +5483,12 @@ msgstr "" "Estableix la font abans del mode i la resolució. Restaura el mode i la " "resolució als valors automàtics." -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Escaneig controlat pels botons" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5441,43 +5499,43 @@ msgstr "" "Per a continuar, premeu el botó «Escaneja» (per a MP150) o el botó " "«Color» (per a altres models). Per a cancel·lar, premeu el botó «Gris»." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Actualitza l'estat del botó" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Botó 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Botó 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "Tipus de l'original a escanejar" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "Tipus de l'operació de destinació" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "Temps d'espera per a l'ADF" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" -"Quan s'estableix, l'escàner cerca el temps d'espera en segons perquè " +"Quan s'estableix, l'escàner espera el temps especificat en segons perquè " "s'inserisca un document nou a l'alimentador automàtic de documents." #: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 @@ -5565,7 +5623,7 @@ msgstr "Frontal analògic" msgid "Red gain value of the AFE" msgstr "Valor de guany del roig de l'AFE" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Desplaçament del roig" @@ -5842,7 +5900,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "Aquesta opció reflecteix l'estat d'un botó de l'escàner." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Encén la làmpada" @@ -5852,12 +5910,12 @@ msgstr "Encén la làmpada" msgid "Turn on scanner lamp" msgstr "Encén la llum de l'escàner" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Apaga la làmpada" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Apaga la llum de l'escàner" @@ -6005,12 +6063,12 @@ msgstr "Punt d'enfocament" #: backend/snapscan-options.c:930 #, no-c-format -msgid "Colour lines per read" +msgid "Color lines per read" msgstr "Línies de color per a la lectura" #: backend/snapscan-options.c:942 #, no-c-format -msgid "Greyscale lines per read" +msgid "Grayscale lines per read" msgstr "Línies en escala de grisos per a la lectura" #: backend/stv680.c:974 @@ -6681,52 +6739,68 @@ msgstr "Mode del calibratge" msgid "Define calibration mode" msgstr "Defineix el mode del calibratge" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Estableix la làmpada a encesa/apagada" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "Activa l'UTA" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Estableix l'UTA a actiu/inactiu" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Desplaçament" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Ajustaments del desplaçament per als canals de color" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Desplaçament del gris" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Estableix el desplaçament del canal gris" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Estableix el desplaçament del canal roig" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Estableix el desplaçament del canal verd" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Estableix el desplaçament del canal blau" + +#~ msgid "Disable dynamic lineart" +#~ msgstr "Inhabilita l'art lineal dinàmic" + +#~ msgid "" +#~ "Disable use of a software adaptive algorithm to generate lineart " +#~ "relying instead on hardware lineart." +#~ msgstr "" +#~ "Inhabilita l'ús d'un algorisme adaptatiu per programari que genera " +#~ "art lineal en comptes de per maquinari." + +#~ msgid "linier" +#~ msgstr "Lineal" + +#~ msgid "It is right and left reversing" +#~ msgstr "Torna a la dreta i a l'esquerra" diff --git a/po/cs.po b/po/cs.po index f358d06..e076689 100644 --- a/po/cs.po +++ b/po/cs.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends.cs\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2007-12-17 22:59+0100\n" "Last-Translator: Josef \n" "Language-Team: \n" @@ -26,31 +26,31 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Geometrie" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Vylepšení" @@ -84,7 +84,7 @@ msgid "Bit depth" msgstr "Bitová hloubka" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Režim skenu" @@ -125,7 +125,7 @@ msgid "Bottom-right y" msgstr "Pravý dolní roh y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Rozlišení" @@ -280,7 +280,7 @@ msgstr "Jméno souboru" msgid "Halftone pattern size" msgstr "Rozměr vzorku polotónu" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Vzorek polotónu" @@ -290,10 +290,10 @@ msgstr "Vzorek polotónu" msgid "Bind X and Y resolution" msgstr "Svázat rozlišení X a Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" @@ -414,9 +414,9 @@ msgid "Lamp off at exit" msgstr "Vypnout lampu při ukončení" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Hodnota pouze pro čtení, která udává, kolik voleb dané zařízení " @@ -745,8 +745,8 @@ msgid "Analog gamma-correction for blue" msgstr "Analogová korekce gama pro modrou" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Zahřát lampu před skenováním" #: include/sane/saneopts.h:417 @@ -896,7 +896,7 @@ msgstr "Polotón není podporován" #: backend/sane_strstatus.c:65 #, no-c-format -msgid "Operation was cancelled" +msgid "Operation was canceled" msgstr "" #: backend/sane_strstatus.c:68 @@ -989,10 +989,10 @@ msgid "Only perform shading-correction" msgstr "Provést pouze korekci stínů" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Pokud je tato volba zapnuta, při kalibraci se provede pouze korekce " @@ -1022,80 +1022,40 @@ msgstr "Oboustraně" #: backend/avision.h:783 #, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Kalibrovat skener" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Vynutit kalibraci skeneru před skenováním" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Stupně šedé" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Skenovat ve stupních šedé místo v barvě" - -#: backend/canon630u.c:306 -#, no-c-format -msgid "Analog Gain" -msgstr "Analogový zisk" - -#: backend/canon630u.c:307 -#, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Zvýšit nebo snížit analogový zisk CCD pole" - -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 -#, no-c-format -msgid "Gamma Correction" -msgstr "Korekce gama" - -#: backend/canon630u.c:348 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Nastaví gama korekci přenosové křivky" +msgid "Correction according to transparency ratio" +msgstr "" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Raw" +msgid "Correction according to film type" msgstr "" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 #: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format msgid "Fine color" msgstr "" -#: backend/canon.c:169 +#: backend/canon-sane.c:776 backend/canon.c:176 #, fuzzy, no-c-format -msgid "No transparency correction" -msgstr "Barevná korekce" - -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "" +msgid "Negatives" +msgstr "Negativ" -#: backend/canon.c:171 backend/canon-sane.c:674 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format -msgid "Correction according to transparency ratio" +msgid "Raw" msgstr "" -#: backend/canon.c:176 backend/canon-sane.c:776 +#: backend/canon.c:169 #, fuzzy, no-c-format -msgid "Negatives" -msgstr "Negativ" +msgid "No transparency correction" +msgstr "Barevná korekce" #: backend/canon.c:176 #, fuzzy, no-c-format @@ -1230,9 +1190,9 @@ msgid "invalid bit IDENTIFY message" msgstr "" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" -msgstr "" +#, fuzzy, no-c-format +msgid "option not correct" +msgstr "Polotón není podporován" #: backend/canon.c:474 #, no-c-format @@ -1519,133 +1479,184 @@ msgstr "Typ filmu" msgid "Select the film type" msgstr "Zvolit polotóny" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Kalibrovat skener" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Vynutit kalibraci skeneru před skenováním" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Stupně šedé" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Skenovat ve stupních šedé místo v barvě" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Analogový zisk" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Zvýšit nebo snížit analogový zisk CCD pole" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Korekce gama" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Nastaví gama korekci přenosové křivky" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Stolní" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, fuzzy, no-c-format msgid "ADF Duplex" msgstr "Oboustraně" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Front" msgstr "" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Oboustraně" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Červená" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Zelená" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Modrá" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Vylepšení" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Vylepšení" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Vylepšení" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Žádné" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Jednostraně" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Oboustraně" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Prosvětlovací jednotka" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatický podavač dokumentů" @@ -1757,7 +1768,7 @@ msgstr "Inkoustové tiskárny" msgid "CRT monitors" msgstr "CRT monitory" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1821,8 +1832,9 @@ msgstr "A4" msgid "Max" msgstr "Max" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -1994,17 +2006,17 @@ msgstr "Nastaví faktor přiblížení, který skener použije" msgid "Quick format" msgstr "Rychlý formát" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Volitelné příslušenství" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Vysunout" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Vysunout papír z automatického podavače" @@ -2019,12 +2031,14 @@ msgstr "Automaticky vysunout" msgid "Eject document after scanning" msgstr "Vysunout dokument po naskenování" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" @@ -2073,14 +2087,14 @@ msgstr "" "Po odeslání příkazu ke skenování se s vlastním skenem čeká až na stisk " "tlačítka na skeneru." -#: backend/epson2.c:102 backend/pixma.c:409 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format -msgid "Infrared" +msgid "TPU8x10" msgstr "" -#: backend/epson2.c:117 +#: backend/epson2.c:102 backend/pixma/pixma.c:409 #, no-c-format -msgid "TPU8x10" +msgid "Infrared" msgstr "" #: backend/epson2.c:136 @@ -2103,492 +2117,512 @@ msgstr "" msgid "User defined CCT profile" msgstr "Uživatelské nastavení" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Vysunout papír z automatického podavače" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Bez korekce" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Analogová korekce gama" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Rozptyl" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Chybový rozptyl" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, fuzzy, no-c-format msgid "White" msgstr "Úroveň bílé" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Black" msgstr "Úroveň černé" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontální" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Horizontální" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Horizontální" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertikální" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Vertikální" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, no-c-format msgid "Front" msgstr "" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Polotóny" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Hrubá kalibrace" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Zvýraznění obrázku" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Sytost" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "" -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Zrcadlit obrázek" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Zrcadlit obrázek" -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Úroveň bílé modré" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Ovládá úroveň červené" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Barevná perokresba" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, fuzzy, no-c-format msgid "Smoothing" msgstr "Jemný" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Hodnota gama" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Prahová hodnota" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Prahová hodnota" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Redukce šumu" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Bez korekce" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Bez korekce" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Režim podavače" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Zvláštní volby" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Bez korekce" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Výpadek" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Režim podavače" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2596,65 +2630,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "Vypnout lampu" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Odstup modré" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Odstup zelené" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Odstup zelené" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Odstup modré" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Nastavuje odstup modrého kanálu" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2663,507 +2697,514 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Oboustraně" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Zvláštní volby" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Redukce šumu" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Z papíru" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Z papíru" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Z papíru" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Z papíru" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Manuální předběžné zaostření" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Manuální předběžné zaostření" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Rozlišení" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Úroveň bílé" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "Intenzita červené" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Oboustraně" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, fuzzy, no-c-format msgid "Extras" msgstr "Velmi rychlý" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Vyřadit zpětný chod" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Barevná perokresba" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrace" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definovat režim kalibrace" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Režim kalibrace" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, fuzzy, no-c-format msgid "Lamp off time" msgstr "Vypnout lampu" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Hrubá kalibrace" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, fuzzy, no-c-format msgid "File button" msgstr "Čekat na tlačítko" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, fuzzy, no-c-format msgid "Power button" msgstr "Čekat na tlačítko" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "Čekat na tlačítko" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, fuzzy, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Hrubá kalibrace" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Vynutit kalibraci skeneru před skenováním" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, fuzzy, no-c-format msgid "Buttons" msgstr "Stav tlačítek" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrovat" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Hrubá kalibrace" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Hrubá kalibrace" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Režim kalibrace" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Hrubá kalibrace" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Odstup zelené" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Prosvětlovací adaptér" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Prosvětlovací adaptér" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3264,616 +3305,616 @@ msgstr "Hodnota gama" msgid "Sets the gamma value of all channels." msgstr "Nastavuje hodnotu gama pro všechny kanály." -#: backend/hp3500.c:1020 -#, fuzzy, no-c-format -msgid "Geometry Group" -msgstr "Geometrie" - -#: backend/hp3500.c:1073 backend/hp3500.c:1074 -#, fuzzy, no-c-format -msgid "Scan Mode Group" -msgstr "Režim skenování" - -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 -#, fuzzy, no-c-format -msgid "Slide" -msgstr "Zcela bílá" - -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:2987 #, fuzzy, no-c-format -msgid "Scanner model" -msgstr "Režim skenu" +msgid "Advanced Options" +msgstr "Zvláštní volby" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" +msgid "Coarse" +msgstr "Hrubý" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Image colours will be inverted" -msgstr "" - -#: backend/hp3900_sane.c:1436 -#, fuzzy, no-c-format -msgid "Disable gamma correction" -msgstr "Analogová korekce gama" - -#: backend/hp3900_sane.c:1437 -#, fuzzy, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Korekce gama" +msgid "Fine" +msgstr "Jemný" -#: backend/hp3900_sane.c:1451 -#, fuzzy, no-c-format -msgid "Disable white shading correction" -msgstr "Provést pouze korekci stínů" +#: backend/hp-option.c:3046 +#, no-c-format +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "" +msgid "Custom" +msgstr "Volitelný" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Skip warmup process" -msgstr "" +msgid "Auto" +msgstr "Automaticky" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Warmup process will be disabled" +msgid "NTSC RGB" msgstr "" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Force real depth" +msgid "XPA RGB" msgstr "" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3093 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." +msgid "Pass-through" msgstr "" -#: backend/hp3900_sane.c:1499 -#, fuzzy, no-c-format -msgid "Emulate Grayscale" -msgstr "Stupně šedé" - -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3094 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" +msgid "NTSC Gray" +msgstr "NTSC šedá" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Save debugging images" -msgstr "" +msgid "XPA Gray" +msgstr "XPA šedá" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3147 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" +msgid "Slow" +msgstr "Pomalý" -#: backend/hp3900_sane.c:1533 -#, fuzzy, no-c-format -msgid "Reset chipset" -msgstr "skener s podavačem" +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#, no-c-format +msgid "Normal" +msgstr "Normální" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3149 #, no-c-format -msgid "Resets chipset data" -msgstr "" +msgid "Fast" +msgstr "Rychlý" -#: backend/hp3900_sane.c:1547 -#, fuzzy, no-c-format -msgid "Information" -msgstr "Ignorovat kalibraci" +#: backend/hp-option.c:3150 +#, no-c-format +msgid "Extra Fast" +msgstr "Velmi rychlý" -#: backend/hp3900_sane.c:1560 -#, fuzzy, no-c-format -msgid "Chipset name" -msgstr "Jméno souboru" +#: backend/hp-option.c:3163 +#, no-c-format +msgid "2-pixel" +msgstr "" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3164 #, no-c-format -msgid "Shows chipset name used in device." +msgid "4-pixel" msgstr "" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3165 #, no-c-format -msgid "Unknown" +msgid "8-pixel" msgstr "" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Chipset ID" +msgid "Print" msgstr "" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, fuzzy, no-c-format -msgid "Shows the chipset ID" -msgstr "skener s podavačem" +msgid "Slide" +msgstr "Zcela bílá" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.c:3178 #, fuzzy, no-c-format -msgid "Scan counter" -msgstr "Zdroj" +msgid "Film-strip" +msgstr "Typ filmu" -#: backend/hp3900_sane.c:1584 -#, fuzzy, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Zvolí číslo políčka, které bude naskenováno" +#: backend/hp-option.c:3256 backend/hp5590.c:93 +#, no-c-format +msgid "ADF" +msgstr "" -#: backend/hp3900_sane.c:1594 -#, fuzzy, no-c-format -msgid "Update information" -msgstr "Zvláštní volby" +#: backend/hp-option.c:3257 +#, no-c-format +msgid "XPA" +msgstr "" -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Updates information about device" +msgid "Conditional" msgstr "" -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.c:3417 +#, fuzzy, no-c-format +msgid "Experiment" +msgstr "Expoziční čas" + +#: backend/hp-option.h:60 +#, fuzzy, no-c-format +msgid "Sharpening" +msgstr "Zaostření" + +#: backend/hp-option.h:61 #, no-c-format -msgid "This option reflects a front panel scanner button" +msgid "Set sharpening value." msgstr "" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:66 #, no-c-format -msgid "Image" -msgstr "Obrázek" +msgid "Auto Threshold" +msgstr "Automatické nastavení prahových hodnot" -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:68 #, no-c-format -msgid "Miscellaneous" -msgstr "Různé" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "" -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:74 #, fuzzy, no-c-format -msgid "offset X" -msgstr "Odstup" +msgid "Select smoothing filter." +msgstr "Zvolit polotóny" -#: backend/hp5400_sane.c:359 -#, fuzzy, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Levý horní roh x skenované plochy." +#: backend/hp-option.h:79 +#, no-c-format +msgid "Unload media after scan" +msgstr "" -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:80 #, fuzzy, no-c-format -msgid "offset Y" -msgstr "Odstup" +msgid "Unloads the media after a scan." +msgstr "Načíst obrázek v úrovních šedé." -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:85 #, fuzzy, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Levý horní roh x skenované plochy." - -#: backend/hp5400_sane.c:381 backend/niash.c:716 -#, no-c-format -msgid "Lamp status" -msgstr "Stav lampy" +msgid "Change document" +msgstr "Vylepšení" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:86 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Zapíná a vypíná lampu." +msgid "Change Document." +msgstr "" -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:91 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Kalibruje úrovně černé a bílé." +msgid "Unload" +msgstr "" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:92 #, no-c-format -msgid "ADF" +msgid "Unload Document." msgstr "" -#: backend/hp5590.c:95 -#, fuzzy, no-c-format -msgid "TMA Slides" -msgstr "Zcela bílá" - -#: backend/hp5590.c:96 -#, fuzzy, no-c-format -msgid "TMA Negatives" -msgstr "Negativ" - -#: backend/hp5590.c:108 +#: backend/hp-option.h:98 #, fuzzy, no-c-format -msgid "Color (48 bits)" -msgstr "Barva 48" +msgid "Start calibration process." +msgstr "Hrubá kalibrace" -#: backend/hp5590.c:112 +#: backend/hp-option.h:103 #, fuzzy, no-c-format -msgid "Extend lamp timeout" -msgstr "Vypnout lampu" +msgid "Media" +msgstr "Střední" -#: backend/hp5590.c:113 +#: backend/hp-option.h:104 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgid "Set type of media." msgstr "" -#: backend/hp5590.c:115 +#: backend/hp-option.h:109 #, no-c-format -msgid "Wait for button" -msgstr "Čekat na tlačítko" +msgid "Exposure time" +msgstr "Expoziční čas" -#: backend/hp5590.c:116 +#: backend/hp-option.h:111 +#, no-c-format +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" + +#: backend/hp-option.h:119 backend/hp-option.h:126 #, fuzzy, no-c-format -msgid "Waits for button before scanning" -msgstr "Zahřát lampu před skenováním" +msgid "Color Matrix" +msgstr "Barevný vzorek" -#: backend/hp5590.c:118 +#: backend/hp-option.h:121 #, fuzzy, no-c-format -msgid "Last button pressed" -msgstr "Stav tlačítek" +msgid "Set the scanner's color matrix." +msgstr "Nastavuje kontrast červeného kanálu" -#: backend/hp5590.c:119 +#: backend/hp-option.h:127 #, no-c-format -msgid "Get ID of last button pressed (read only)" +msgid "Custom color matrix." msgstr "" -#: backend/hp5590.c:121 +#: backend/hp-option.h:132 #, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Zdroj" +msgid "Mono Color Matrix" +msgstr "Barevný vzorek" -#: backend/hp5590.c:122 +#: backend/hp-option.h:133 #, no-c-format -msgid "Get value of LCD counter (read only)" +msgid "Custom color matrix for grayscale scans." msgstr "" -#: backend/hp5590.c:124 +#: backend/hp-option.h:138 #, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Barevná perokresba" +msgid "Mirror horizontal" +msgstr "Zrcadlit obrázek" -#: backend/hp5590.c:125 -#, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "" +#: backend/hp-option.h:139 +#, fuzzy, no-c-format +msgid "Mirror image horizontally." +msgstr "Zrcadlit obrázek" -#: backend/hp5590.c:127 -#, no-c-format -msgid "Document available in ADF" -msgstr "" +#: backend/hp-option.h:144 +#, fuzzy, no-c-format +msgid "Mirror vertical" +msgstr "Zrcadlit obrázek" -#: backend/hp5590.c:128 -#, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +#: backend/hp-option.h:145 +#, fuzzy, no-c-format +msgid "Mirror image vertically." +msgstr "Zrcadlit obrázek" -#: backend/hp5590.c:130 -#, no-c-format -msgid "Hide end-of-page pixel" -msgstr "" +#: backend/hp-option.h:150 +#, fuzzy, no-c-format +msgid "Update options" +msgstr "Zvláštní volby" -#: backend/hp5590.c:131 -#, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" -msgstr "" +#: backend/hp-option.h:151 +#, fuzzy, no-c-format +msgid "Update options." +msgstr "Testovací volby s pevnou des. čárkou" -#: backend/hp5590.c:133 +#: backend/hp-option.h:156 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" +msgid "8 bit output" msgstr "" -#: backend/hp5590.c:134 +#: backend/hp-option.h:158 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" -#: backend/hp5590.c:137 +#: backend/hp-option.h:164 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" +msgid "Front button wait" msgstr "" -#: backend/hp5590.c:138 +#: backend/hp-option.h:165 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" +msgid "Wait to scan for front-panel button push." msgstr "" -#: backend/hp-option.c:2987 -#, fuzzy, no-c-format -msgid "Advanced Options" -msgstr "Zvláštní volby" - -#: backend/hp-option.c:3044 +#: backend/hp-option.h:172 #, no-c-format -msgid "Coarse" -msgstr "Hrubý" +msgid "Shut off lamp" +msgstr "Vypnout lampu" -#: backend/hp-option.c:3045 +#: backend/hp-option.h:173 #, no-c-format -msgid "Fine" -msgstr "Jemný" +msgid "Shut off scanner lamp." +msgstr "Vypnout lampu skeneru." -#: backend/hp-option.c:3046 -#, no-c-format -msgid "Bayer" -msgstr "Bayer" +#: backend/hp3500.c:1020 +#, fuzzy, no-c-format +msgid "Geometry Group" +msgstr "Geometrie" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 -#, no-c-format -msgid "Custom" -msgstr "Volitelný" +#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#, fuzzy, no-c-format +msgid "Scan Mode Group" +msgstr "Režim skenování" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 -#, no-c-format -msgid "Auto" -msgstr "Automaticky" +#: backend/hp3900_sane.c:1405 +#, fuzzy, no-c-format +msgid "Scanner model" +msgstr "Režim skenu" -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1408 #, no-c-format -msgid "NTSC RGB" +msgid "Allows one to test device behavior with other supported models" msgstr "" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "XPA RGB" +msgid "Image colors will be inverted" msgstr "" -#: backend/hp-option.c:3093 -#, no-c-format -msgid "Pass-through" -msgstr "" +#: backend/hp3900_sane.c:1436 +#, fuzzy, no-c-format +msgid "Disable gamma correction" +msgstr "Analogová korekce gama" -#: backend/hp-option.c:3094 -#, no-c-format -msgid "NTSC Gray" -msgstr "NTSC šedá" +#: backend/hp3900_sane.c:1437 +#, fuzzy, no-c-format +msgid "Gamma correction will be disabled" +msgstr "Korekce gama" -#: backend/hp-option.c:3095 -#, no-c-format -msgid "XPA Gray" -msgstr "XPA šedá" +#: backend/hp3900_sane.c:1451 +#, fuzzy, no-c-format +msgid "Disable white shading correction" +msgstr "Provést pouze korekci stínů" -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Slow" -msgstr "Pomalý" +msgid "White shading correction will be disabled" +msgstr "" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Normal" -msgstr "Normální" +msgid "Skip warmup process" +msgstr "" -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "Fast" -msgstr "Rychlý" +msgid "Warmup process will be disabled" +msgstr "" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "Extra Fast" -msgstr "Velmi rychlý" +msgid "Force real depth" +msgstr "" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "2-pixel" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." msgstr "" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1499 +#, fuzzy, no-c-format +msgid "Emulate Grayscale" +msgstr "Stupně šedé" + +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "4-pixel" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." msgstr "" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "8-pixel" +msgid "Save debugging images" msgstr "" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "Print" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." msgstr "" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1533 #, fuzzy, no-c-format -msgid "Film-strip" -msgstr "Typ filmu" - -#: backend/hp-option.c:3257 -#, no-c-format -msgid "XPA" -msgstr "" +msgid "Reset chipset" +msgstr "skener s podavačem" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Conditional" +msgid "Resets chipset data" msgstr "" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1547 #, fuzzy, no-c-format -msgid "Experiment" -msgstr "Expoziční čas" +msgid "Information" +msgstr "Ignorovat kalibraci" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1560 #, fuzzy, no-c-format -msgid "Sharpening" -msgstr "Zaostření" +msgid "Chipset name" +msgstr "Jméno souboru" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "Set sharpening value." +msgid "Shows chipset name used in device." msgstr "" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Auto Threshold" -msgstr "Automatické nastavení prahových hodnot" +msgid "Unknown" +msgstr "" -#: backend/hp-option.h:68 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." +msgid "Chipset ID" msgstr "" -#: backend/hp-option.h:74 +#: backend/hp3900_sane.c:1572 #, fuzzy, no-c-format -msgid "Select smoothing filter." -msgstr "Zvolit polotóny" +msgid "Shows the chipset ID" +msgstr "skener s podavačem" -#: backend/hp-option.h:79 -#, no-c-format -msgid "Unload media after scan" -msgstr "" +#: backend/hp3900_sane.c:1582 +#, fuzzy, no-c-format +msgid "Scan counter" +msgstr "Zdroj" -#: backend/hp-option.h:80 +#: backend/hp3900_sane.c:1584 #, fuzzy, no-c-format -msgid "Unloads the media after a scan." -msgstr "Načíst obrázek v úrovních šedé." +msgid "Shows the number of scans made by scanner" +msgstr "Zvolí číslo políčka, které bude naskenováno" -#: backend/hp-option.h:85 +#: backend/hp3900_sane.c:1594 #, fuzzy, no-c-format -msgid "Change document" -msgstr "Vylepšení" +msgid "Update information" +msgstr "Zvláštní volby" -#: backend/hp-option.h:86 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Change Document." +msgid "Updates information about device" msgstr "" -#: backend/hp-option.h:91 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Unload" +msgid "This option reflects a front panel scanner button" msgstr "" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Unload Document." -msgstr "" +msgid "Image" +msgstr "Obrázek" -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:352 backend/niash.c:709 +#, no-c-format +msgid "Miscellaneous" +msgstr "Různé" + +#: backend/hp5400_sane.c:358 #, fuzzy, no-c-format -msgid "Start calibration process." -msgstr "Hrubá kalibrace" +msgid "offset X" +msgstr "Odstup" -#: backend/hp-option.h:103 +#: backend/hp5400_sane.c:359 #, fuzzy, no-c-format -msgid "Media" -msgstr "Střední" +msgid "Hardware internal X position of the scanning area." +msgstr "Levý horní roh x skenované plochy." -#: backend/hp-option.h:104 +#: backend/hp5400_sane.c:368 +#, fuzzy, no-c-format +msgid "offset Y" +msgstr "Odstup" + +#: backend/hp5400_sane.c:369 +#, fuzzy, no-c-format +msgid "Hardware internal Y position of the scanning area." +msgstr "Levý horní roh x skenované plochy." + +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Set type of media." -msgstr "" +msgid "Lamp status" +msgstr "Stav lampy" -#: backend/hp-option.h:109 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Exposure time" -msgstr "Expoziční čas" +msgid "Switches the lamp on or off." +msgstr "Zapíná a vypíná lampu." -#: backend/hp-option.h:111 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" +msgid "Calibrates for black and white level." +msgstr "Kalibruje úrovně černé a bílé." -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:95 #, fuzzy, no-c-format -msgid "Color Matrix" -msgstr "Barevný vzorek" +msgid "TMA Slides" +msgstr "Zcela bílá" -#: backend/hp-option.h:121 +#: backend/hp5590.c:96 #, fuzzy, no-c-format -msgid "Set the scanners color matrix." -msgstr "Nastavuje kontrast červeného kanálu" +msgid "TMA Negatives" +msgstr "Negativ" -#: backend/hp-option.h:127 -#, no-c-format -msgid "Custom color matrix." -msgstr "" +#: backend/hp5590.c:108 +#, fuzzy, no-c-format +msgid "Color (48 bits)" +msgstr "Barva 48" -#: backend/hp-option.h:132 +#: backend/hp5590.c:112 #, fuzzy, no-c-format -msgid "Mono Color Matrix" -msgstr "Barevný vzorek" +msgid "Extend lamp timeout" +msgstr "Vypnout lampu" -#: backend/hp-option.h:133 +#: backend/hp5590.c:113 #, no-c-format -msgid "Custom color matrix for grayscale scans." +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: backend/hp-option.h:138 -#, fuzzy, no-c-format -msgid "Mirror horizontal" -msgstr "Zrcadlit obrázek" +#: backend/hp5590.c:115 +#, no-c-format +msgid "Wait for button" +msgstr "Čekat na tlačítko" -#: backend/hp-option.h:139 +#: backend/hp5590.c:116 #, fuzzy, no-c-format -msgid "Mirror image horizontally." -msgstr "Zrcadlit obrázek" +msgid "Waits for button before scanning" +msgstr "Zahřát lampu před skenováním" -#: backend/hp-option.h:144 +#: backend/hp5590.c:118 #, fuzzy, no-c-format -msgid "Mirror vertical" -msgstr "Zrcadlit obrázek" +msgid "Last button pressed" +msgstr "Stav tlačítek" -#: backend/hp-option.h:145 -#, fuzzy, no-c-format -msgid "Mirror image vertically." -msgstr "Zrcadlit obrázek" +#: backend/hp5590.c:119 +#, no-c-format +msgid "Get ID of last button pressed (read only)" +msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:121 #, fuzzy, no-c-format -msgid "Update options" -msgstr "Zvláštní volby" +msgid "LCD counter" +msgstr "Zdroj" -#: backend/hp-option.h:151 +#: backend/hp5590.c:122 +#, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "" + +#: backend/hp5590.c:124 #, fuzzy, no-c-format -msgid "Update options." -msgstr "Testovací volby s pevnou des. čárkou" +msgid "Color LED indicator" +msgstr "Barevná perokresba" -#: backend/hp-option.h:156 +#: backend/hp5590.c:125 #, no-c-format -msgid "8 bit output" +msgid "Get value of LED indicator (read only)" msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:127 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "Document available in ADF" msgstr "" -#: backend/hp-option.h:164 +#: backend/hp5590.c:128 #, no-c-format -msgid "Front button wait" +msgid "Get state of document-available indicator in ADF (read only)" msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:130 #, no-c-format -msgid "Wait to scan for front-panel button push." +msgid "Hide end-of-page pixel" msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:131 #, no-c-format -msgid "Shut off lamp" -msgstr "Vypnout lampu" +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:133 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Vypnout lampu skeneru." +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" + +#: backend/hp5590.c:134 +#, no-c-format +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -3973,7 +4014,7 @@ msgid "single" msgstr "" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" @@ -4141,9 +4182,9 @@ msgid "crt" msgstr "" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Perokresba" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4272,7 +4313,7 @@ msgstr "Nastaví zvýraznění obrázku" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gama" @@ -4339,11 +4380,11 @@ msgstr "" msgid "Request driver to remove border from pages digitally" msgstr "" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4375,12 +4416,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "Tisk ve vysoké kvalitě" #: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "Tisk v nízké kvalitě" #: backend/kvs40xx_opt.c:243 @@ -4403,6 +4444,13 @@ msgstr "Normální" msgid "Enhanced mode" msgstr "Vylepšení" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4462,7 +4510,7 @@ msgstr "" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4497,12 +4545,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4512,13 +4560,13 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Zrcadlit obrázek" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4555,52 +4603,52 @@ msgstr "8x8 Bayer" msgid "8x8 Vertical Line" msgstr "8x8 vertikála" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Zisk" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Nastavení zisku barevných kanálů" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Zisk šedé" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Nastavuje zisk šedého kanálu" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Zisk červené" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Nastavuje zisk červeného kanálu" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Zisk zelené" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Nastavuje zisk zeleného kanálu" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Zisk modré" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Nastavuje zisk modrého kanálu" @@ -4686,7 +4734,7 @@ msgstr "Jedna strana" msgid "All pages" msgstr "Všechny strany" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "skener s podavačem" @@ -5186,39 +5234,44 @@ msgstr "" "Zahřát lampu dokud její jas není konstantní namísto standardního 40ti " "sekundového zahřívání." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Hrubá kalibrace" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negativní film" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativ" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5226,40 +5279,40 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, fuzzy, no-c-format msgid "Update button state" msgstr "Stav tlačítek" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, fuzzy, no-c-format msgid "Button 1" msgstr "Stav tlačítek" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, fuzzy, no-c-format msgid "Button 2" msgstr "Stav tlačítek" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5348,7 +5401,7 @@ msgstr "Analogová korekce gama pro červenou" msgid "Red gain value of the AFE" msgstr "" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Odstup červené" @@ -5623,7 +5676,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "" -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Zapnout lampu" @@ -5633,12 +5686,12 @@ msgstr "Zapnout lampu" msgid "Turn on scanner lamp" msgstr "Zapnout lampu skeneru" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Vypnout lampu" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Vypnout lampu skeneru" @@ -5782,13 +5835,13 @@ msgid "Focus point" msgstr "Pozice zaostření" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" +#, fuzzy, no-c-format +msgid "Color lines per read" msgstr "Počet barevných čar na jedno čtení" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" msgstr "Počet čar ve stupních šedi na jedno čtení" #: backend/stv680.c:974 @@ -6432,52 +6485,52 @@ msgstr "Režim kalibrace" msgid "Define calibration mode" msgstr "Definovat režim kalibrace" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Zapíná/vypíná lampu" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "UTA zapnuto" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Zapíná/vypíná UTA" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Odstup" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Nastavení odstupu barevných kanálů" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Odstup šedé" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Nastavuje odstup šedého kanálu" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Nastavuje odstup červeného kanálu" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Nastavuje odstup zeleného kanálu" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Nastavuje odstup modrého kanálu" diff --git a/po/da.po b/po/da.po index 2fbc54b..cf47519 100644 --- a/po/da.po +++ b/po/da.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.17\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2007-12-17 22:59+0100\n" "Last-Translator: Mogens Jaeger \n" "Language-Team: Danish \n" @@ -31,31 +31,31 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Skanområde" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Forbedring" @@ -89,7 +89,7 @@ msgid "Bit depth" msgstr "Bit dybde" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Skannertilstand" @@ -130,7 +130,7 @@ msgid "Bottom-right y" msgstr "Nederst-højre y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Skanningsopløsning" @@ -285,7 +285,7 @@ msgstr "Filnavn" msgid "Halftone pattern size" msgstr "Halvtonemønster størrelse" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Halvtonemønster" @@ -295,10 +295,10 @@ msgstr "Halvtonemønster" msgid "Bind X and Y resolution" msgstr "Sammenbind X- og Y-opløsning" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" @@ -419,9 +419,9 @@ msgid "Lamp off at exit" msgstr "Lampe slukkes ved afslutning" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Skrivebeskyttet indstilling der specificerer hvor mange indstillinger en " @@ -748,8 +748,8 @@ msgid "Analog gamma-correction for blue" msgstr "Analog gammakorrektion for blå" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Varm lampen op før skanning" #: include/sane/saneopts.h:417 @@ -899,7 +899,7 @@ msgstr "Halvtone er ikke understøttet" #: backend/sane_strstatus.c:65 #, no-c-format -msgid "Operation was cancelled" +msgid "Operation was canceled" msgstr "" #: backend/sane_strstatus.c:68 @@ -992,10 +992,10 @@ msgid "Only perform shading-correction" msgstr "Udfør kun skyggekorrektion" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Hvis aktiveret, bliver der kun gennemført skyggekorrektion under " @@ -1024,82 +1024,42 @@ msgid "Duplex scan" msgstr "Duplex skan" #: backend/avision.h:783 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "Duplex skan, skanner begge sider af dokumentet" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Kalibrér skanner" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Gennemtving kalibrering før skanning" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Gråskalaskanning" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Udfør en gråskalaskanning fremfor en farveskanning" - -#: backend/canon630u.c:306 -#, no-c-format -msgid "Analog Gain" -msgstr "Analog forstærkning" - -#: backend/canon630u.c:307 -#, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Forøg eller formindsk CCD sensorens analoge forstærkning" - -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 -#, no-c-format -msgid "Gamma Correction" -msgstr "Gammakorrektion" - -#: backend/canon630u.c:348 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Vælger gammakorrigeret overføringskurve" +msgid "Correction according to transparency ratio" +msgstr "" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Raw" +msgid "Correction according to film type" msgstr "" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 #: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format msgid "Fine color" msgstr "" -#: backend/canon.c:169 +#: backend/canon-sane.c:776 backend/canon.c:176 #, fuzzy, no-c-format -msgid "No transparency correction" -msgstr "Farvekorrektion" - -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "" +msgid "Negatives" +msgstr "Negativ" -#: backend/canon.c:171 backend/canon-sane.c:674 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format -msgid "Correction according to transparency ratio" +msgid "Raw" msgstr "" -#: backend/canon.c:176 backend/canon-sane.c:776 +#: backend/canon.c:169 #, fuzzy, no-c-format -msgid "Negatives" -msgstr "Negativ" +msgid "No transparency correction" +msgstr "Farvekorrektion" #: backend/canon.c:176 #, fuzzy, no-c-format @@ -1234,9 +1194,9 @@ msgid "invalid bit IDENTIFY message" msgstr "" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" -msgstr "" +#, fuzzy, no-c-format +msgid "option not correct" +msgstr "Halvtone er ikke understøttet" #: backend/canon.c:474 #, no-c-format @@ -1523,133 +1483,184 @@ msgstr "Filmtype" msgid "Select the film type" msgstr "Vælger halvtone." -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Kalibrér skanner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Gennemtving kalibrering før skanning" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Gråskalaskanning" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Udfør en gråskalaskanning fremfor en farveskanning" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Analog forstærkning" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Forøg eller formindsk CCD sensorens analoge forstærkning" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Gammakorrektion" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Vælger gammakorrigeret overføringskurve" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbed" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, fuzzy, no-c-format msgid "ADF Duplex" msgstr "Dobbeltsidet" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Front" msgstr "Print" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Dobbeltsidet" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rød" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Grøn" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blå" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Forbedring" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Forbedring" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Forbedring" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Ingen" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Enkeltsidet" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Dobbeltsidet" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Filmenhed" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatisk dokumentføder" @@ -1761,7 +1772,7 @@ msgstr "Blæk printere" msgid "CRT monitors" msgstr "CRT skærme" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1825,8 +1836,9 @@ msgstr "A4" msgid "Max" msgstr "Maks" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -1998,17 +2010,17 @@ msgstr "Angiver zoomfaktoren som skanneren skal bruge" msgid "Quick format" msgstr "Hurtig format" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Tilvalgsudstyr" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Skub ud" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Skub arket i den automatiske arkføder ud" @@ -2023,12 +2035,14 @@ msgstr "Automatisk skub ud" msgid "Eject document after scanning" msgstr "Skub dokumentet ud efter skanning" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "ADF-tilstand" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Vælger ADF tilstand (enkeltsidet/dobbeltsidet)" @@ -2078,14 +2092,14 @@ msgstr "" "Når skankommando er sendt, starter skanningen først når der er trykket " "på knappen på skanneren." -#: backend/epson2.c:102 backend/pixma.c:409 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format -msgid "Infrared" +msgid "TPU8x10" msgstr "" -#: backend/epson2.c:117 +#: backend/epson2.c:102 backend/pixma/pixma.c:409 #, no-c-format -msgid "TPU8x10" +msgid "Infrared" msgstr "" #: backend/epson2.c:136 @@ -2108,494 +2122,514 @@ msgstr "" msgid "User defined CCT profile" msgstr "Brugerdefineret" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Skub arket i den automatiske arkføder ud" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Ingen korrektion" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Analog gammakorrektion" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Tændt" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Slukket" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Dither" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Fejlspredning" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, fuzzy, no-c-format msgid "White" msgstr "Hvid niveau" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Black" msgstr "Sort niveau" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, fuzzy, no-c-format msgid "Continue" msgstr "Betinget" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Vandret" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Vandret" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Vandret" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Lodret" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Lodret" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, fuzzy, no-c-format msgid "Front" msgstr "Print" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Halvtone" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Grovkalibrering" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Billedbetoning" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Mætning" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Aktiver automatisk fastsættelse af tærskelværdi for " "stregtegningsskanninger." -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Spejl billedet" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Spejlvend billedet vandret." -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Hvid niveau for blå" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Fastsætter rødt niveau" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Farve stregtegning" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Udglatning" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Gamma værdi" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Tærskelværdi" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Tærskelværdi" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Støjreduktion" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Ingen korrektion" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Ingen korrektion" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Arkføder tilstand" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Avancerede indstillinger" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Ingen korrektion" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Udfald" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Arkføder tilstand" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2603,65 +2637,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "Sluk-lampe tid" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Blå forskydning" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Grøn forskydning" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Grøn forskydning" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Blå forskydning" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Indstillinger for blå-kanals forskydning" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2670,418 +2704,406 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Duplex skan" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Avancerede indstillinger" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Støjreduktion" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Manuel pre-fokus" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Manuel pre-fokus" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Skanningsopløsning" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Hvid niveau" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "Rød intensitet" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Duplex skan" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Ekstra" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Deaktiver bagudrettet sporing" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Farve stregtegning" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrering" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definer kalibreringstilstand" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibreringsdatacache" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Sluk-lampe tid" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3090,89 +3112,108 @@ msgstr "" "Lampen bliver slukket efter den angivne tid (i minutter). Værdien 0 " "bevirker, at lampen ikke bliver slukket." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Grovkalibrering" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, fuzzy, no-c-format msgid "File button" msgstr "Vent på knap" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, fuzzy, no-c-format msgid "Power button" msgstr "Vent på knap" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "Vent på knap" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, fuzzy, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Grovkalibrering" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Gennemtving kalibrering før skanning" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Knapper" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrering" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Begynd kalibreringsprocessen." -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Grovkalibrering" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Kalibreringsdatacache" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Grovkalibrering" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Grøn forskydning" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Filmadapter" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Filmadapter" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3279,621 +3320,621 @@ msgstr "Gamma værdi" msgid "Sets the gamma value of all channels." msgstr "Fastsætter gamma værdien for alle kanaler." -#: backend/hp3500.c:1020 -#, fuzzy, no-c-format -msgid "Geometry Group" -msgstr "Skanområde" - -#: backend/hp3500.c:1073 backend/hp3500.c:1074 -#, fuzzy, no-c-format -msgid "Scan Mode Group" -msgstr "Skanner tilstand" +#: backend/hp-option.c:2987 +#, no-c-format +msgid "Advanced Options" +msgstr "Avancerede indstillinger" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Slide" -msgstr "Diapositiv" +msgid "Coarse" +msgstr "Grov" -#: backend/hp3900_sane.c:1405 -#, fuzzy, no-c-format -msgid "Scanner model" -msgstr "Skannertilstand" +#: backend/hp-option.c:3045 +#, no-c-format +msgid "Fine" +msgstr "Fin" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Image colours will be inverted" -msgstr "" +msgid "Custom" +msgstr "Tilpasset" -#: backend/hp3900_sane.c:1436 -#, fuzzy, no-c-format -msgid "Disable gamma correction" -msgstr "Analog gammakorrektion" +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 +#, no-c-format +msgid "Auto" +msgstr "Automatisk" -#: backend/hp3900_sane.c:1437 -#, fuzzy, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Gammakorrektion" +#: backend/hp-option.c:3091 +#, no-c-format +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1451 -#, fuzzy, no-c-format -msgid "Disable white shading correction" -msgstr "Udfør kun skyggekorrektion" +#: backend/hp-option.c:3092 +#, no-c-format +msgid "XPA RGB" +msgstr "XPA RGB" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3093 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "" +msgid "Pass-through" +msgstr "Uforandret" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3094 #, no-c-format -msgid "Skip warmup process" -msgstr "" +msgid "NTSC Gray" +msgstr "NTSC grå" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "" +msgid "XPA Gray" +msgstr "XPA Grå" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Force real depth" -msgstr "" +msgid "Slow" +msgstr "Langsom" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" +msgid "Normal" +msgstr "Normal" -#: backend/hp3900_sane.c:1499 -#, fuzzy, no-c-format -msgid "Emulate Grayscale" -msgstr "Gråskala" +#: backend/hp-option.c:3149 +#, no-c-format +msgid "Fast" +msgstr "Hurtig" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3150 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" +msgid "Extra Fast" +msgstr "Meget hurtig" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3163 #, no-c-format -msgid "Save debugging images" -msgstr "" +msgid "2-pixel" +msgstr "2-pixel" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3164 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" +msgid "4-pixel" +msgstr "4-pixel" -#: backend/hp3900_sane.c:1533 -#, fuzzy, no-c-format -msgid "Reset chipset" -msgstr "arkføder skanner" +#: backend/hp-option.c:3165 +#, no-c-format +msgid "8-pixel" +msgstr "8-pixel" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Resets chipset data" -msgstr "" +msgid "Print" +msgstr "Print" -#: backend/hp3900_sane.c:1547 -#, fuzzy, no-c-format -msgid "Information" -msgstr "Ignorer kalibrering" +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 +#, no-c-format +msgid "Slide" +msgstr "Diapositiv" -#: backend/hp3900_sane.c:1560 -#, fuzzy, no-c-format -msgid "Chipset name" -msgstr "Filnavn" +#: backend/hp-option.c:3178 +#, no-c-format +msgid "Film-strip" +msgstr "Film-stribe" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "" +msgid "ADF" +msgstr "ADF" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Unknown" -msgstr "" +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Chipset ID" -msgstr "" +msgid "Conditional" +msgstr "Betinget" -#: backend/hp3900_sane.c:1572 -#, fuzzy, no-c-format -msgid "Shows the chipset ID" -msgstr "arkføder skanner" +#: backend/hp-option.c:3417 +#, no-c-format +msgid "Experiment" +msgstr "Eksperiment" -#: backend/hp3900_sane.c:1582 -#, fuzzy, no-c-format -msgid "Scan counter" -msgstr "Skanningskilde" +#: backend/hp-option.h:60 +#, no-c-format +msgid "Sharpening" +msgstr "Gør skarpere" -#: backend/hp3900_sane.c:1584 -#, fuzzy, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Vælger nummeret på det billede der skal skannes" +#: backend/hp-option.h:61 +#, no-c-format +msgid "Set sharpening value." +msgstr "Angiv niveau for skærpning" -#: backend/hp3900_sane.c:1594 -#, fuzzy, no-c-format -msgid "Update information" -msgstr "Opdatér indstillinger" +#: backend/hp-option.h:66 +#, no-c-format +msgid "Auto Threshold" +msgstr "Automatisk tærskelværdi" -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:68 #, no-c-format -msgid "Updates information about device" +msgid "Enable automatic determination of threshold for line-art scans." msgstr "" +"Aktiver automatisk fastsættelse af tærskelværdi for " +"stregtegningsskanninger." -#: backend/hp3900_sane.c:1635 -#, fuzzy, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Denne indstilling reflekterer skannerknappernes status." - -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:74 #, no-c-format -msgid "Image" -msgstr "Billede" +msgid "Select smoothing filter." +msgstr "Vælg udglatningsfilter." -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:79 #, no-c-format -msgid "Miscellaneous" -msgstr "Diverse" - -#: backend/hp5400_sane.c:358 -#, fuzzy, no-c-format -msgid "offset X" -msgstr "Forskydning" - -#: backend/hp5400_sane.c:359 -#, fuzzy, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Øverste-venstre x position af skanområde." - -#: backend/hp5400_sane.c:368 -#, fuzzy, no-c-format -msgid "offset Y" -msgstr "Forskydning" - -#: backend/hp5400_sane.c:369 -#, fuzzy, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Øverste-venstre x position af skanområde." +msgid "Unload media after scan" +msgstr "Skub mediet ud efter skanning" -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:80 #, no-c-format -msgid "Lamp status" -msgstr "Lampe status" +msgid "Unloads the media after a scan." +msgstr "Skubber mediet ud efter gennemført skanning." -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:85 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Tænder/slukker for lampen" +msgid "Change document" +msgstr "Skift dokument" -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:86 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Kalibrerer for sort og hvidt niveau." +msgid "Change Document." +msgstr "Skift dokument." -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:91 #, no-c-format -msgid "ADF" -msgstr "ADF" - -#: backend/hp5590.c:95 -#, fuzzy, no-c-format -msgid "TMA Slides" -msgstr "Diapositiv" - -#: backend/hp5590.c:96 -#, fuzzy, no-c-format -msgid "TMA Negatives" -msgstr "Negativ" - -#: backend/hp5590.c:108 -#, fuzzy, no-c-format -msgid "Color (48 bits)" -msgstr "Farve 48" - -#: backend/hp5590.c:112 -#, fuzzy, no-c-format -msgid "Extend lamp timeout" -msgstr "Sluk-lampe tid" +msgid "Unload" +msgstr "Skub ud" -#: backend/hp5590.c:113 +#: backend/hp-option.h:92 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "" +msgid "Unload Document." +msgstr "Skubber dokumentet ud." -#: backend/hp5590.c:115 +#: backend/hp-option.h:98 #, no-c-format -msgid "Wait for button" -msgstr "Vent på knap" - -#: backend/hp5590.c:116 -#, fuzzy, no-c-format -msgid "Waits for button before scanning" -msgstr "Varm lampen op før skanning" - -#: backend/hp5590.c:118 -#, fuzzy, no-c-format -msgid "Last button pressed" -msgstr "Knap tilstand" +msgid "Start calibration process." +msgstr "Begynd kalibreringsprocessen." -#: backend/hp5590.c:119 +#: backend/hp-option.h:103 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "" - -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Skanningskilde" +msgid "Media" +msgstr "Medie" -#: backend/hp5590.c:122 +#: backend/hp-option.h:104 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "" - -#: backend/hp5590.c:124 -#, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Farve stregtegning" +msgid "Set type of media." +msgstr "Vælg medietype." -#: backend/hp5590.c:125 +#: backend/hp-option.h:109 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "" +msgid "Exposure time" +msgstr "Eksponeringstid" -#: backend/hp5590.c:127 +#: backend/hp-option.h:111 #, no-c-format -msgid "Document available in ADF" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." msgstr "" +"En længere eksponeringstid lader skanneren indsamle mere lys. Anbefalet " +"brug er 175% for papirbilleder, 150% for diapositiver og \"Negativ\" for " +"negativer. Ved mørke (undereksponerede) billeder, kan denne værdi øges." -#: backend/hp5590.c:128 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +msgid "Color Matrix" +msgstr "Farve matrix" -#: backend/hp5590.c:130 -#, no-c-format -msgid "Hide end-of-page pixel" -msgstr "" +#: backend/hp-option.h:121 +#, fuzzy, no-c-format +msgid "Set the scanner's color matrix." +msgstr "Fastlægger skannerens farve matrix." -#: backend/hp5590.c:131 +#: backend/hp-option.h:127 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" -msgstr "" +msgid "Custom color matrix." +msgstr "Tilpasset farve matrix." -#: backend/hp5590.c:133 +#: backend/hp-option.h:132 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" +msgid "Mono Color Matrix" +msgstr "En farve matrix" -#: backend/hp5590.c:134 +#: backend/hp-option.h:133 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" +msgid "Custom color matrix for grayscale scans." +msgstr "Tilpasset farve matrix for gråtoneskanning." -#: backend/hp5590.c:137 +#: backend/hp-option.h:138 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "" +msgid "Mirror horizontal" +msgstr "Spejlvend vandret" -#: backend/hp5590.c:138 +#: backend/hp-option.h:139 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" -msgstr "" +msgid "Mirror image horizontally." +msgstr "Spejlvend billedet vandret." -#: backend/hp-option.c:2987 +#: backend/hp-option.h:144 #, no-c-format -msgid "Advanced Options" -msgstr "Avancerede indstillinger" +msgid "Mirror vertical" +msgstr "Spejlvend lodret" -#: backend/hp-option.c:3044 +#: backend/hp-option.h:145 #, no-c-format -msgid "Coarse" -msgstr "Grov" +msgid "Mirror image vertically." +msgstr "Spejlvend billedet lodret." -#: backend/hp-option.c:3045 +#: backend/hp-option.h:150 #, no-c-format -msgid "Fine" -msgstr "Fin" +msgid "Update options" +msgstr "Opdatér indstillinger" -#: backend/hp-option.c:3046 +#: backend/hp-option.h:151 #, no-c-format -msgid "Bayer" -msgstr "Bayer" +msgid "Update options." +msgstr "Opdatér indstillinger." -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp-option.h:156 #, no-c-format -msgid "Custom" -msgstr "Tilpasset" +msgid "8 bit output" +msgstr "8 bit uddata" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp-option.h:158 #, no-c-format -msgid "Auto" -msgstr "Automatisk" +msgid "Use bit depth greater eight internally, but output only eight bits." +msgstr "Brug bit dybde større end 8 internt, men uddata kun 8 bit." -#: backend/hp-option.c:3091 +#: backend/hp-option.h:164 #, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" +msgid "Front button wait" +msgstr "Vent på frontknap" -#: backend/hp-option.c:3092 +#: backend/hp-option.h:165 #, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" +msgid "Wait to scan for front-panel button push." +msgstr "Vent med at begynde skanning, til frontknappen trykkes." -#: backend/hp-option.c:3093 +#: backend/hp-option.h:172 #, no-c-format -msgid "Pass-through" -msgstr "Uforandret" +msgid "Shut off lamp" +msgstr "Sluk lampen" -#: backend/hp-option.c:3094 +#: backend/hp-option.h:173 #, no-c-format -msgid "NTSC Gray" -msgstr "NTSC grå" +msgid "Shut off scanner lamp." +msgstr "Slukker for skannerens lampe." -#: backend/hp-option.c:3095 -#, no-c-format -msgid "XPA Gray" -msgstr "XPA Grå" +#: backend/hp3500.c:1020 +#, fuzzy, no-c-format +msgid "Geometry Group" +msgstr "Skanområde" -#: backend/hp-option.c:3147 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#, fuzzy, no-c-format +msgid "Scan Mode Group" +msgstr "Skanner tilstand" + +#: backend/hp3900_sane.c:1405 +#, fuzzy, no-c-format +msgid "Scanner model" +msgstr "Skannertilstand" + +#: backend/hp3900_sane.c:1408 #, no-c-format -msgid "Slow" -msgstr "Langsom" +msgid "Allows one to test device behavior with other supported models" +msgstr "" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "Normal" -msgstr "Normal" +msgid "Image colors will be inverted" +msgstr "" -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1436 +#, fuzzy, no-c-format +msgid "Disable gamma correction" +msgstr "Analog gammakorrektion" + +#: backend/hp3900_sane.c:1437 +#, fuzzy, no-c-format +msgid "Gamma correction will be disabled" +msgstr "Gammakorrektion" + +#: backend/hp3900_sane.c:1451 +#, fuzzy, no-c-format +msgid "Disable white shading correction" +msgstr "Udfør kun skyggekorrektion" + +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Fast" -msgstr "Hurtig" +msgid "White shading correction will be disabled" +msgstr "" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Extra Fast" -msgstr "Meget hurtig" +msgid "Skip warmup process" +msgstr "" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "2-pixel" -msgstr "2-pixel" +msgid "Warmup process will be disabled" +msgstr "" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "4-pixel" -msgstr "4-pixel" +msgid "Force real depth" +msgstr "" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "8-pixel" -msgstr "8-pixel" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1499 +#, fuzzy, no-c-format +msgid "Emulate Grayscale" +msgstr "Gråskala" + +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "Print" -msgstr "Print" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Film-strip" -msgstr "Film-stribe" +msgid "Save debugging images" +msgstr "" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "XPA" -msgstr "XPA" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1533 +#, fuzzy, no-c-format +msgid "Reset chipset" +msgstr "arkføder skanner" + +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Conditional" -msgstr "Betinget" +msgid "Resets chipset data" +msgstr "" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1547 +#, fuzzy, no-c-format +msgid "Information" +msgstr "Ignorer kalibrering" + +#: backend/hp3900_sane.c:1560 +#, fuzzy, no-c-format +msgid "Chipset name" +msgstr "Filnavn" + +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "Experiment" -msgstr "Eksperiment" +msgid "Shows chipset name used in device." +msgstr "" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Sharpening" -msgstr "Gør skarpere" +msgid "Unknown" +msgstr "" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Set sharpening value." -msgstr "Angiv niveau for skærpning" +msgid "Chipset ID" +msgstr "" + +#: backend/hp3900_sane.c:1572 +#, fuzzy, no-c-format +msgid "Shows the chipset ID" +msgstr "arkføder skanner" + +#: backend/hp3900_sane.c:1582 +#, fuzzy, no-c-format +msgid "Scan counter" +msgstr "Skanningskilde" + +#: backend/hp3900_sane.c:1584 +#, fuzzy, no-c-format +msgid "Shows the number of scans made by scanner" +msgstr "Vælger nummeret på det billede der skal skannes" -#: backend/hp-option.h:66 -#, no-c-format -msgid "Auto Threshold" -msgstr "Automatisk tærskelværdi" +#: backend/hp3900_sane.c:1594 +#, fuzzy, no-c-format +msgid "Update information" +msgstr "Opdatér indstillinger" -#: backend/hp-option.h:68 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." +msgid "Updates information about device" msgstr "" -"Aktiver automatisk fastsættelse af tærskelværdi for " -"stregtegningsskanninger." -#: backend/hp-option.h:74 -#, no-c-format -msgid "Select smoothing filter." -msgstr "Vælg udglatningsfilter." +#: backend/hp3900_sane.c:1635 +#, fuzzy, no-c-format +msgid "This option reflects a front panel scanner button" +msgstr "Denne indstilling reflekterer skannerknappernes status." -#: backend/hp-option.h:79 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Unload media after scan" -msgstr "Skub mediet ud efter skanning" +msgid "Image" +msgstr "Billede" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Skubber mediet ud efter gennemført skanning." +msgid "Miscellaneous" +msgstr "Diverse" -#: backend/hp-option.h:85 -#, no-c-format -msgid "Change document" -msgstr "Skift dokument" +#: backend/hp5400_sane.c:358 +#, fuzzy, no-c-format +msgid "offset X" +msgstr "Forskydning" -#: backend/hp-option.h:86 -#, no-c-format -msgid "Change Document." -msgstr "Skift dokument." +#: backend/hp5400_sane.c:359 +#, fuzzy, no-c-format +msgid "Hardware internal X position of the scanning area." +msgstr "Øverste-venstre x position af skanområde." -#: backend/hp-option.h:91 -#, no-c-format -msgid "Unload" -msgstr "Skub ud" +#: backend/hp5400_sane.c:368 +#, fuzzy, no-c-format +msgid "offset Y" +msgstr "Forskydning" -#: backend/hp-option.h:92 -#, no-c-format -msgid "Unload Document." -msgstr "Skubber dokumentet ud." +#: backend/hp5400_sane.c:369 +#, fuzzy, no-c-format +msgid "Hardware internal Y position of the scanning area." +msgstr "Øverste-venstre x position af skanområde." -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Start calibration process." -msgstr "Begynd kalibreringsprocessen." +msgid "Lamp status" +msgstr "Lampe status" -#: backend/hp-option.h:103 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Media" -msgstr "Medie" +msgid "Switches the lamp on or off." +msgstr "Tænder/slukker for lampen" -#: backend/hp-option.h:104 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Set type of media." -msgstr "Vælg medietype." +msgid "Calibrates for black and white level." +msgstr "Kalibrerer for sort og hvidt niveau." -#: backend/hp-option.h:109 -#, no-c-format -msgid "Exposure time" -msgstr "Eksponeringstid" +#: backend/hp5590.c:95 +#, fuzzy, no-c-format +msgid "TMA Slides" +msgstr "Diapositiv" -#: backend/hp-option.h:111 -#, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"En længere eksponeringstid lader skanneren indsamle mere lys. Anbefalet " -"brug er 175% for papirbilleder, 150% for diapositiver og \"Negativ\" for " -"negativer. Ved mørke (undereksponerede) billeder, kan denne værdi øges." +#: backend/hp5590.c:96 +#, fuzzy, no-c-format +msgid "TMA Negatives" +msgstr "Negativ" -#: backend/hp-option.h:119 backend/hp-option.h:126 -#, no-c-format -msgid "Color Matrix" -msgstr "Farve matrix" +#: backend/hp5590.c:108 +#, fuzzy, no-c-format +msgid "Color (48 bits)" +msgstr "Farve 48" -#: backend/hp-option.h:121 -#, no-c-format -msgid "Set the scanners color matrix." -msgstr "Fastlægger skannerens farve matrix." +#: backend/hp5590.c:112 +#, fuzzy, no-c-format +msgid "Extend lamp timeout" +msgstr "Sluk-lampe tid" -#: backend/hp-option.h:127 +#: backend/hp5590.c:113 #, no-c-format -msgid "Custom color matrix." -msgstr "Tilpasset farve matrix." +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "" -#: backend/hp-option.h:132 +#: backend/hp5590.c:115 #, no-c-format -msgid "Mono Color Matrix" -msgstr "En farve matrix" +msgid "Wait for button" +msgstr "Vent på knap" -#: backend/hp-option.h:133 -#, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Tilpasset farve matrix for gråtoneskanning." +#: backend/hp5590.c:116 +#, fuzzy, no-c-format +msgid "Waits for button before scanning" +msgstr "Varm lampen op før skanning" -#: backend/hp-option.h:138 -#, no-c-format -msgid "Mirror horizontal" -msgstr "Spejlvend vandret" +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Knap tilstand" -#: backend/hp-option.h:139 +#: backend/hp5590.c:119 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Spejlvend billedet vandret." +msgid "Get ID of last button pressed (read only)" +msgstr "" -#: backend/hp-option.h:144 +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Skanningskilde" + +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror vertical" -msgstr "Spejlvend lodret" +msgid "Get value of LCD counter (read only)" +msgstr "" -#: backend/hp-option.h:145 +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Farve stregtegning" + +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Spejlvend billedet lodret." +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Opdatér indstillinger" +msgid "Document available in ADF" +msgstr "" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Opdatér indstillinger." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "8 bit uddata" +msgid "Hide end-of-page pixel" +msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." -msgstr "Brug bit dybde større end 8 internt, men uddata kun 8 bit." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Vent på frontknap" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Vent med at begynde skanning, til frontknappen trykkes." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Sluk lampen" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Slukker for skannerens lampe." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -3993,7 +4034,7 @@ msgid "single" msgstr "" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" @@ -4161,9 +4202,9 @@ msgid "crt" msgstr "" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Stregtegning" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4292,7 +4333,7 @@ msgstr "Fastsætter billedbetoning" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" @@ -4359,11 +4400,11 @@ msgstr "" msgid "Request driver to remove border from pages digitally" msgstr "" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4395,12 +4436,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "Udskrift med høj opløsning" #: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "Udskrift med lav opløsning" #: backend/kvs40xx_opt.c:243 @@ -4423,6 +4464,13 @@ msgstr "Normal" msgid "Enhanced mode" msgstr "Forbedring" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4482,7 +4530,7 @@ msgstr "" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4517,12 +4565,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4532,13 +4580,13 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Spejl billedet" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4575,52 +4623,52 @@ msgstr "8x8 Bayer" msgid "8x8 Vertical Line" msgstr "8x8 lodret linie" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Forstærk" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Farvekanalforstærkningsindstillinger" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Grå-forstærkning" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Fastsætter grå-kanals forstærkning" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Rød forstærkning" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Fastsætter rød-kanals forstærkning" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Grøn forstærkning" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Fastsætter grøn-kanals forstærkning" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Blå forstærkning" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Fastsætter blå-kanals forstærkning" @@ -4706,7 +4754,7 @@ msgstr "En side" msgid "All pages" msgstr "Alle sider" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "arkføder skanner" @@ -5208,39 +5256,44 @@ msgstr "" "Varm op indtil lampens lyshed er konstant, i stedet for at insistere på " "40 sekunders opvarmningstid." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Grovkalibrering" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negativ film" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativ" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5248,40 +5301,40 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, fuzzy, no-c-format msgid "Update button state" msgstr "Knap tilstand" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Knap 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Knap 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5370,7 +5423,7 @@ msgstr "Analog forende" msgid "Red gain value of the AFE" msgstr "Rød forstærkningsværdi for den analoge forende" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Rød forskydning" @@ -5645,7 +5698,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "Denne indstilling reflekterer skannerknappernes status." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Lampe tændt" @@ -5655,12 +5708,12 @@ msgstr "Lampe tændt" msgid "Turn on scanner lamp" msgstr "Tænd for skannerlampen" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Sluk lampe" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Sluk for skannerens lampe" @@ -5803,13 +5856,13 @@ msgid "Focus point" msgstr "Fokuseringspunkt" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" +#, fuzzy, no-c-format +msgid "Color lines per read" msgstr "Farvelinier pr. læsning" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" msgstr "Gråskalalinier pr. læsning" #: backend/stv680.c:974 @@ -6460,52 +6513,52 @@ msgstr "Kalibreringstilstand" msgid "Define calibration mode" msgstr "Definer kalibreringstilstand" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Tænder/slukker for lampen" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "UTA tændt" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Tænder/slukker for UTA'en" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Forskydning" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Indstillinger for farvekanalernes forskydning" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Grå-forskydning" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Indstillinger for grå-kanals forskydning" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Indstillinger for rød-kanals forskydning" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Indstillinger for grøn-kanals forskydning" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Indstillinger for blå-kanals forskydning" diff --git a/po/de.po b/po/de.po index f66ef39..a2cae3b 100644 --- a/po/de.po +++ b/po/de.po @@ -12,11 +12,11 @@ # Rolf Bensch , 2012-2019. msgid "" msgstr "" -"Project-Id-Version: sane-backends\n" +"Project-Id-Version: sane-backends 1.0.29\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-26 22:23+0200\n" -"PO-Revision-Date: 2019-07-28 23:01+0200\n" -"Last-Translator: Rolf Bensch \n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" +"PO-Revision-Date: 2020-01-26 16:29+0900\n" +"Last-Translator: Ulf Zibis \n" "Language-Team: \n" "Language: de\n" "MIME-Version: 1.0\n" @@ -36,37 +36,39 @@ msgid "Standard" msgstr "Standard" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 -#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 backend/umax.c:5176 -#: backend/umax_pp.c:580 +#: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Scanbereich" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 #: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 -#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:629 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Farbverbesserung" #: include/sane/saneopts.h:159 backend/epson.c:3197 backend/epson2.c:1215 -#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 backend/rts8891.c:2831 -#: backend/snapscan-options.c:923 backend/umax.c:5565 +#: backend/kvs20xx_opt.c:366 backend/kvs40xx_opt.c:597 +#: backend/rts8891.c:2831 backend/snapscan-options.c:923 +#: backend/umax.c:5565 #, no-c-format msgid "Advanced" msgstr "Erweitert" @@ -92,7 +94,7 @@ msgid "Bit depth" msgstr "Bittiefe" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Scanmodus" @@ -133,7 +135,7 @@ msgid "Bottom-right y" msgstr "Rechts Unten y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Scanauflösung" @@ -288,7 +290,7 @@ msgstr "Dateiname" msgid "Halftone pattern size" msgstr "Größe der Halbton-Matrix" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Halbton-Matrix" @@ -298,10 +300,10 @@ msgstr "Halbton-Matrix" msgid "Bind X and Y resolution" msgstr "Verbinde X- und Y-Auflösung" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" @@ -424,7 +426,8 @@ msgstr "Lampe beim Beenden ausschalten" #: include/sane/saneopts.h:245 #, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices supports." +"Read-only option that specifies how many options a specific device " +"supports." msgstr "" "Nur-Lese-Option, die angibt, wieviele Optionen ein bestimmtes Gerät " "unterstützt." @@ -466,15 +469,16 @@ msgid "" "scanner this cuts down the number of passes to one and on a one-pass " "scanner, it reduces the memory requirements and scan-time of the preview." msgstr "" -"Legt fest, dass alle Vorschauscans im Graustufenmodus durchgeführt werden. " -"Bei einem Three-Pass-Scanner wird dadurch nur ein Pass benötigt, bei einem " -"Single-Pass-Scanner wird der Speicherverbrauch und die Scanzeit verringert." +"Legt fest, dass alle Vorschauscans im Graustufenmodus durchgeführt " +"werden. Bei einem Three-Pass-Scanner wird dadurch nur ein Pass benötigt, " +"bei einem Single-Pass-Scanner wird der Speicherverbrauch und die " +"Scanzeit verringert." #: include/sane/saneopts.h:264 #, no-c-format msgid "" -"Number of bits per sample, typical values are 1 for \"line-art\" and 8 for " -"multibit scans." +"Number of bits per sample, typical values are 1 for \"line-art\" and 8 " +"for multibit scans." msgstr "" "Anzahl der Bits pro Farbwert, typische Werte sind 1 für Strichzeichnung- " "sowie 8 für Graustufen- und Farb-Scans." @@ -537,8 +541,8 @@ msgstr "Bestimmt die vertikale Auflösung des Bildes." #: include/sane/saneopts.h:301 #, no-c-format msgid "" -"Specifies the width of the media. Required for automatic centering of sheet-" -"fed scans." +"Specifies the width of the media. Required for automatic centering of " +"sheet-fed scans." msgstr "" "Legt die Breite des Mediums fest. Erforderlich für die automatische " "Zentrierung bei Einzelblatt-Scans." @@ -550,7 +554,8 @@ msgstr "Legt die Höhe der Medien fest." #: include/sane/saneopts.h:308 #, no-c-format -msgid "Determines whether a builtin or a custom gamma-table should be used." +msgid "" +"Determines whether a builtin or a custom gamma-table should be used." msgstr "" "Bestimmt ob die scannerinterne oder eine benutzerdefinierte Gammatabelle " "verwendet wird." @@ -558,12 +563,12 @@ msgstr "" #: include/sane/saneopts.h:312 #, no-c-format msgid "" -"Gamma-correction table. In color mode this option equally affects the red, " -"green, and blue channels simultaneously (i.e., it is an intensity gamma " -"table)." +"Gamma-correction table. In color mode this option equally affects the " +"red, green, and blue channels simultaneously (i.e., it is an intensity " +"gamma table)." msgstr "" -"Gamma-Korrekturtabelle. Im Farbmodus wirkt sich diese Option auf die rote, " -"grüne und blaue Farbkomponente aus. Es ist also eine Helligkeits-" +"Gamma-Korrekturtabelle. Im Farbmodus wirkt sich diese Option auf die " +"rote, grüne und blaue Farbkomponente aus. Es ist also eine Helligkeits-" "Gammatabelle." #: include/sane/saneopts.h:317 @@ -594,11 +599,11 @@ msgstr "Stellt den Kontrast des Bildes ein." #: include/sane/saneopts.h:332 #, no-c-format msgid "" -"Selects the \"graininess\" of the acquired image. Smaller values result in " -"sharper images." +"Selects the \"graininess\" of the acquired image. Smaller values result " +"in sharper images." msgstr "" -"Legt die \"Körnigkeit\" des gescannten Bildes fest. Kleinere Werte ergeben " -"schärfere Bilder." +"Legt die \"Körnigkeit\" des gescannten Bildes fest. Kleinere Werte " +"ergeben schärfere Bilder." #: include/sane/saneopts.h:336 #, no-c-format @@ -608,7 +613,8 @@ msgstr "Legt fest, ob das Bild im Halbtonmodus (Dithering) gescannt wird." #: include/sane/saneopts.h:339 include/sane/saneopts.h:354 #, no-c-format msgid "Selects what radiance level should be considered \"black\"." -msgstr "Bestimmt, welcher Helligkeitswert als Schwarz angesehen werden soll." +msgstr "" +"Bestimmt, welcher Helligkeitswert als Schwarz angesehen werden soll." #: include/sane/saneopts.h:342 include/sane/saneopts.h:363 #, no-c-format @@ -640,8 +646,8 @@ msgstr "" #, no-c-format msgid "Selects what red radiance level should be considered \"black\"." msgstr "" -"Bestimmt, welcher Helligkeitswert der roten Komponente als Schwarz angesehen " -"werden soll." +"Bestimmt, welcher Helligkeitswert der roten Komponente als Schwarz " +"angesehen werden soll." #: include/sane/saneopts.h:358 #, no-c-format @@ -661,22 +667,24 @@ msgstr "" #, no-c-format msgid "Selects what red radiance level should be considered \"full red\"." msgstr "" -"Bestimmt, welcher Helligkeitswert der roten Komponente als Weiß angesehen " -"werden soll." +"Bestimmt, welcher Helligkeitswert der roten Komponente als Weiß " +"angesehen werden soll." #: include/sane/saneopts.h:367 #, no-c-format -msgid "Selects what green radiance level should be considered \"full green\"." +msgid "" +"Selects what green radiance level should be considered \"full green\"." msgstr "" -"Bestimmt, welcher Helligkeitswert der grünen Komponente als Weiß angesehen " -"werden soll." +"Bestimmt, welcher Helligkeitswert der grünen Komponente als Weiß " +"angesehen werden soll." #: include/sane/saneopts.h:370 #, no-c-format -msgid "Selects what blue radiance level should be considered \"full blue\"." +msgid "" +"Selects what blue radiance level should be considered \"full blue\"." msgstr "" -"Bestimmt, welcher Helligkeitswert der blauen Komponente als Weiß angesehen " -"werden soll." +"Bestimmt, welcher Helligkeitswert der blauen Komponente als Weiß " +"angesehen werden soll." #: include/sane/saneopts.h:374 #, no-c-format @@ -686,8 +694,8 @@ msgstr "Legt den Farbwert (Blauwert) des gescannten Bildes fest." #: include/sane/saneopts.h:377 #, no-c-format msgid "" -"The saturation level controls the amount of \"blooming\" that occurs when " -"acquiring an image with a camera. Larger values cause more blooming." +"The saturation level controls the amount of \"blooming\" that occurs " +"when acquiring an image with a camera. Larger values cause more blooming." msgstr "" "Der Sättigungsgrad steuert die Belichtung einesmit einer Kamera " "aufgenommenen Bildes. Höhere Werte sorgen für eine stärkere Belichtung." @@ -702,7 +710,8 @@ msgstr "Der Dateiname des zu ladenden Bildes." msgid "" "Sets the size of the halftoning (dithering) pattern used when scanning " "halftoned images." -msgstr "Legt die Größe der für den Scanvorgang verwendeten Halbtonmatrix fest." +msgstr "" +"Legt die Größe der für den Scanvorgang verwendeten Halbtonmatrix fest." #: include/sane/saneopts.h:389 #, no-c-format @@ -762,8 +771,8 @@ msgstr "Analoge Gammakorrektur für Blau" #: include/sane/saneopts.h:415 #, no-c-format -msgid "Warmup lamp before scanning" -msgstr "Wärme die Lampe vor dem Scannen auf" +msgid "Warm up lamp before scanning" +msgstr "Lampe vor dem Scannen aufwärmen" #: include/sane/saneopts.h:417 #, no-c-format @@ -915,7 +924,7 @@ msgstr "Operation nicht unterstützt" #: backend/sane_strstatus.c:65 #, no-c-format -msgid "Operation was cancelled" +msgid "Operation was canceled" msgstr "Operation wurde abgebrochen" #: backend/sane_strstatus.c:68 @@ -996,8 +1005,8 @@ msgstr "Vor dem nächsten Scan kalibrieren" #: backend/artec_eplus48u.c:2943 #, no-c-format msgid "" -"If enabled, the device will be calibrated before the next scan. Otherwise, " -"calibration is performed only before the first start." +"If enabled, the device will be calibrated before the next scan. " +"Otherwise, calibration is performed only before the first start." msgstr "" "Wenn diese Option eingeschaltet ist, wird vor dem nächsten Scan eine " "Kalibrierung durchgeführt. Ansonsten findet die Kalibrierung nur vor dem " @@ -1011,13 +1020,14 @@ msgstr "Nur Shading-Korrektur durchführen" #: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" -"If enabled, only the shading correction is performed during calibration. The " -"default values for gain, offset and exposure time, either build-in or from " -"the configuration file, are used." +"If enabled, only the shading correction is performed during calibration. " +"The default values for gain, offset and exposure time, either built-in " +"or from the configuration file, are used." msgstr "" -"Ist diese Option eingeschaltet, dann wird während der Kalibrierung nur die " -"Shading-Korrektur durchgeführt. Andere Kalibrierungswerte werden aus der " -"Konfigurationsdatei oder aus den Voreinstellungen des Backends übernommen." +"Ist diese Option eingeschaltet, dann wird während der Kalibrierung nur " +"die Shading-Korrektur durchgeführt. Andere Kalibrierungswerte werden aus " +"der Konfigurationsdatei oder aus den Voreinstellungen des Backends " +"übernommen." #: backend/artec_eplus48u.c:2967 #, no-c-format @@ -1041,82 +1051,44 @@ msgstr "Duplexscan" #: backend/avision.h:783 #, no-c-format -msgid "Duplex scan provide a scan of the front and back side of the document" +msgid "" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" -"Duplex Scan ermöglicht das Scannen der Vorder- und Rückseite eines Dokuments" - -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Scanner kalibrieren" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Erzwinge Scannerkalibrierung vor dem Scannen" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Graustufen-Scan" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Führe einen Graustufen-Scan statt eines Farb-Scans durch" +"Duplex Scan ermöglicht das Scannen der Vorder- und Rückseite eines " +"Dokuments" -#: backend/canon630u.c:306 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Analog Gain" -msgstr "Analoge Verstärkung" +msgid "Correction according to transparency ratio" +msgstr "Korrektur entsprechend des Seitenverhältnisses" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Vergrößere oder verkleinere die analoge Verstärkung des CCD-Sensors" +msgid "Correction according to film type" +msgstr "Korrektur entsprechend des Filmtyps" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "Gammakorrektur" +msgid "Fine color" +msgstr "Farbe" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Wählt die korrigierte Gammakurve aus" +msgid "Negatives" +msgstr "Negative" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "Rohdaten" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Farbe" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Keine Transparenzkorrektur" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Korrektur entsprechend des Filmtyps" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Korrektur entsprechend des Seitenverhältnisses" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Negative" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1251,8 +1223,8 @@ msgstr "Ungültige IDENTIFY Nachricht" #: backend/canon.c:460 #, no-c-format -msgid "option not connect" -msgstr "Option nicht verbunden" +msgid "option not correct" +msgstr "Option nicht korrekt" #: backend/canon.c:474 #, no-c-format @@ -1380,7 +1352,8 @@ msgstr "Manuelle Einstellung des Fokus" #: backend/canon.c:1341 #, no-c-format msgid "Set the optical system's focus position by hand (default: 128)." -msgstr "Setzt die Fokusposition des optischen System von Hand (Standard: 128)." +msgstr "" +"Setzt die Fokusposition des optischen System von Hand (Standard: 128)." #: backend/canon.c:1351 #, no-c-format @@ -1465,7 +1438,8 @@ msgstr "Film vor Beenden auswerfen" #: backend/canon.c:1676 #, no-c-format -msgid "Automatically eject the film from the device before exiting the program" +msgid "" +"Automatically eject the film from the device before exiting the program" msgstr "" "Den Film automatisch aus dem Gerät auswerfen bevor das Programm schließt" @@ -1492,7 +1466,8 @@ msgstr "Nur Flachbett" #: backend/canon.c:1703 #, no-c-format msgid "Disable auto document feeder and use flatbed only" -msgstr "Automatischen Dokumenteneinzug abschalten und nur Flachbett benutzen" +msgstr "" +"Automatischen Dokumenteneinzug abschalten und nur Flachbett benutzen" #: backend/canon.c:1713 backend/canon.c:1723 #, no-c-format @@ -1539,133 +1514,185 @@ msgstr "Filmtyp auswählen" msgid "Select the film type" msgstr "Wählt den Filmtyp aus" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Scanner kalibrieren" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Erzwinge Scannerkalibrierung vor dem Scannen" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Graustufen-Scan" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Führe einen Graustufen-Scan statt eines Farb-Scans durch" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Analoge Verstärkung" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "" +"Vergrößere oder verkleinere die analoge Verstärkung des CCD-Sensors" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Gammakorrektur" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Wählt die korrigierte Gammakurve aus" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flachbett" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Automatischer Dokumenteneinzug vorne" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Automatischer Dokumenteneinzug hinten" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Dokumenteneinzug mit Duplex" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Front" msgstr "Karte Vorderseite" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "Karte Rückseite" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, no-c-format msgid "Card Duplex" msgstr "Karte Duplex" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rot" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Grün" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blau" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Red" msgstr "Rot verstärken" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, no-c-format msgid "Enhance Green" msgstr "Grün verstärken" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, no-c-format msgid "Enhance Blue" msgstr "Blau verstärken" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Kein" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "Schwellwert für Leerseitenerkennung" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "Seiten mit geringer Pixeldichte überspringen" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Einseitig" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 #: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Duplex" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Durchlichtaufsatz" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatischer Dokumenteneinzug" @@ -1777,7 +1804,7 @@ msgstr "Tintenstrahldrucker" msgid "CRT monitors" msgstr "Monitore" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1841,14 +1868,16 @@ msgstr "A4" msgid "Max" msgstr "Maximal" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 #: backend/plustek.c:721 backend/plustek_pp.c:658 backend/sceptre.c:673 -#: backend/snapscan-options.c:354 backend/stv680.c:1030 backend/teco2.c:1882 -#: backend/test.c:306 backend/u12.c:473 backend/umax.c:5054 +#: backend/snapscan-options.c:354 backend/stv680.c:1030 +#: backend/teco2.c:1882 backend/test.c:306 backend/u12.c:473 +#: backend/umax.c:5054 #, no-c-format msgid "Scan Mode" msgstr "Scanmodus" @@ -2013,17 +2042,17 @@ msgstr "Definiert den Vergrösserungsfaktor, der vom Scanner benutzt wird" msgid "Quick format" msgstr "Schnellformat" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Optionales Zubehör" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Auswerfen" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Wirft das Blatt aus dem automatischen Dokumenteneinzug aus" @@ -2038,12 +2067,14 @@ msgstr "Automatischer Auswurf" msgid "Eject document after scanning" msgstr "Dokument nach dem Scannen auswerfen" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Dokumenteneinzug Modus" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Wählt den ADF-Modus aus (einseitig/doppelseitig)" @@ -2061,11 +2092,12 @@ msgstr "Wähle den Schacht zum Scannen aus" #: backend/epson.h:69 backend/epson2.h:68 #, no-c-format msgid "" -"Selects the gamma correction value from a list of pre-defined devices or the " -"user defined table, which can be downloaded to the scanner" +"Selects the gamma correction value from a list of pre-defined devices or " +"the user defined table, which can be downloaded to the scanner" msgstr "" -"Wählt die Gammakorrektur aus einer Liste von vordefinierten Geräten aus oder " -"eine benutzerdefinierte Tabelle, die in den Scanner geladen werden kann" +"Wählt die Gammakorrektur aus einer Liste von vordefinierten Geräten aus " +"oder eine benutzerdefinierte Tabelle, die in den Scanner geladen werden " +"kann" #: backend/epson.h:72 backend/epson2.h:71 #, no-c-format @@ -2074,7 +2106,8 @@ msgstr "Fokus Position" #: backend/epson.h:73 backend/epson2.h:72 #, no-c-format -msgid "Sets the focus position to either the glass or 2.5mm above the glass" +msgid "" +"Sets the focus position to either the glass or 2.5mm above the glass" msgstr "Setzt den Fokus entweder auf das Glas oder 2.5mm darüber" #: backend/epson.h:75 backend/epson2.h:74 @@ -2091,16 +2124,16 @@ msgstr "" "Beginne mit dem Scannen erst, wenn nach dem Senden des Scankommandos die " "Taste am Scanner gedrückt wird." -#: backend/epson2.c:102 backend/pixma.c:409 -#, no-c-format -msgid "Infrared" -msgstr "Infrarot" - -#: backend/epson2.c:117 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "Durchlichtaufsatz 8x10" +#: backend/epson2.c:102 backend/pixma/pixma.c:409 +#, no-c-format +msgid "Infrared" +msgstr "Infrarot" + #: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" @@ -2121,592 +2154,619 @@ msgstr "Eingebautes CCT-Profil" msgid "User defined CCT profile" msgstr "Benutzerdefiniertes CCT-Profil" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "Lade" + +#: backend/epsonds.c:751 +#, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Lade ein Blatt im automatischen Dokumenteneinzug" + +#: backend/epsonds.c:771 +#, no-c-format +msgid "ADF Skew Correction" +msgstr "ADF-Schräglaufkorrektur" + +#: backend/epsonds.c:773 +#, no-c-format +msgid "Enables ADF skew correction" +msgstr "aktiviert ADF-Schräglaufkorrektur" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "An" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Aus" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Halbton" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, no-c-format msgid "Diffusion" msgstr "Diffusion" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, no-c-format msgid "White" msgstr "Weiß" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, no-c-format msgid "Black" msgstr "Schwarz" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "Fortfahren" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "Stopp" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "10mm" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "15mm" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "20mm" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, no-c-format msgid "Horizontal bold" msgstr "Horizontal breit" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, no-c-format msgid "Horizontal narrow" msgstr "Horizontal schmal" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertikal" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, no-c-format msgid "Vertical bold" msgstr "Vertikal breit" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "Oben nach unten" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "Unten nach oben" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, no-c-format msgid "Front" msgstr "Vorne" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "Hinten" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "Gamma-Exponent" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "Verändert die Intensität der mittleren Farbtöne" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "RIF" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "Reverse Image Format" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, no-c-format msgid "Halftone type" msgstr "Halbton Typ" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "Halbton Typ einstellen" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "Halbton Muster einstellen" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "Kontur" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, no-c-format msgid "Perform outline extraction" msgstr "Kontur ermitteln" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, no-c-format msgid "Emphasis" msgstr "Gewichtung" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "Negative Werte zum Weichzeichnen oder positive Werte zum Schärfen" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, no-c-format msgid "Separation" msgstr "Trennung" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "Aktiviere die automatische Trennung von Bild und Text" -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, no-c-format msgid "Mirroring" msgstr "Bild spiegeln" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, no-c-format msgid "Reflect output image horizontally" msgstr "Bild horizontal spiegeln" -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, no-c-format msgid "White level follower" msgstr "Weißwertfolger" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, no-c-format msgid "Control white level follower" msgstr "Einstellungen für Weißwertfolger" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, no-c-format msgid "BP filter" msgstr "Kugelschreiber Filter" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "Verbessert die Qualität von mit Kugelschreiber geschriebenen Text" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Glättung" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "Aktiviere Glättung zur Verbesserung von OCR" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, no-c-format msgid "Gamma curve" msgstr "Gammakurve" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" "Gammakurve, von hell zu dunkel, die oberen beiden funktionieren nicht " "unbedingt" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Schwellwertkurve" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format -msgid "Threshold curve, from light to dark, but upper two may not be linear" +msgid "" +"Threshold curve, from light to dark, but upper two may not be linear" msgstr "" "Dynamische Schwellwertkurve, von hell zu dunkel, die oberen beiden sind " "nicht unbedingt linear" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, no-c-format msgid "Threshold white" msgstr "Schwellwert Weiß" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" -msgstr "Pixel unterhalb vom Schwellwert in Weiß anstelle von Schwarz umwandeln" +msgstr "" +"Pixel unterhalb vom Schwellwert in Weiß anstelle von Schwarz umwandeln" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, no-c-format msgid "Noise removal" msgstr "Rauschunterdrückung" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "Matrix 5x5" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "5x5 Pixel Rauschunterdrückung" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "Matrix 4x4" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "4x4 Pixel Rauschunterdrückung" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "Matrix 3x3" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "3x3 Pixel Rauschunterdrückung" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "Matrix 2x2" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "2x2 Pixel Rauschunterdrückung" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "Streuung" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "Setze SDTC Varianz (Empfindlichkeit), 0 = 127" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, no-c-format msgid "Auto width detection" msgstr "Vorlagenbreite automatisch erkennen" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" "Der Scanner erkennt automatisch die Seitengrößen. Verlangsamt die " "Scanngeschwindigkeit." -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, no-c-format msgid "Auto length detection" msgstr "Vorlagenlänge automatisch erkennen" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -"Der Scanner erkennt die Seitenausrichtung. Kann einige Programme verwirren." +"Der Scanner erkennt die Seitenausrichtung. Kann einige Programme " +"verwirren." -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "Komprimierung" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" "Aktiviere Datenkomprimierung. Kann das verwendete Scanprogramm abstürzen " "lassen." -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "Komprimierungsparameter" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" -"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) is " -"same as 4" +"Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " +"is same as 4" msgstr "" -"JPEG-Komprimierung: 1 = kleinste Datei, 7 = größte Datei, 0 (Voreinstellung) " -"= 4" +"JPEG-Komprimierung: 1 = kleinste Datei, 7 = größte Datei, 0 " +"(Voreinstellung) = 4" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "Duplex Aktion" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "Aktion bei Duplex Fehler" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "Duplex Schrägeinlauf" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "Aktiviere Duplexfehler bei Schrägeinlauf" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "Duplex Papierdicke" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "Aktiviere Duplexfehler bei zu großer Papierdicke" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "Duplex Seitenlänge" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "Aktiviere Duplexfehler bei falscher Seitenlänge" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "Duplex unterschiedliche Seitenlänge" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "Aktiviere Duplexfehler bei unterschiedlicher Seitenlänge" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, no-c-format msgid "DF recovery mode" msgstr "Duplex Fehlerbehebung" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "Rücklauf bei Papierstau" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "Dokumentenschutz" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "Papierstau in der Duplexeinheit prognostizieren" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, no-c-format msgid "Advanced paper protection" msgstr "Erweiterter Dokumentenschutz" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" "Papierstau in der Duplexeinheit mit verbesserten Sensoren prognostizieren" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, no-c-format msgid "Staple detection" msgstr "Heftklammer - Erkennung" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" -msgstr "von Heftklammern verursachter Papierstau im Dokumenteneinzug erkennen" +msgstr "" +"von Heftklammern verursachter Papierstau im Dokumenteneinzug erkennen" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "Hintergrundfarbe" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format -msgid "Set color of background for scans. May conflict with overscan option" +msgid "" +"Set color of background for scans. May conflict with overscan option" msgstr "Hintergrundfarbe für Scans. Steht im Konflikt mit Overscan" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, no-c-format msgid "Dropout color" msgstr "Dropout-Farbe" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" -"One-pass scanners use only one color during gray or binary scanning, useful " -"for colored paper or ink" +"One-pass scanners use only one color during gray or binary scanning, " +"useful for colored paper or ink" msgstr "" -"One-Pass-Scanner scannen nur eine Farbe bei Graustufen und Strichzeichnungs-" -"Scans, hilfreich bei farbigem Papier oder Tinte" +"One-Pass-Scanner scannen nur eine Farbe bei Graustufen und " +"Strichzeichnungs-Scans, hilfreich bei farbigem Papier oder Tinte" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, no-c-format msgid "Buffer mode" msgstr "Scannerspeicher" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "Aktiviere schnelle Duplex Scans in den Scannerspeicher" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "Prepick" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "Nächste Seite vom Dokumenteneinzug einziehen" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "Overscan" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" -"Collect a few mm of background on top side of scan, before paper enters ADF, " -"and increase maximum scan area beyond paper size, to allow collection on " -"remaining sides. May conflict with bgcolor option" +"Collect a few mm of background on top side of scan, before paper enters " +"ADF, and increase maximum scan area beyond paper size, to allow " +"collection on remaining sides. May conflict with bgcolor option" msgstr "" -"Fügt einen Rand vor und nach dem Einzug eines Dokuments hinzu, damit kleine " -"Vorlagen auf einer Seite gesammelt werden können. Steht im Konflikt mit " -"Hintergrundfarbe." +"Fügt einen Rand vor und nach dem Einzug eines Dokuments hinzu, damit " +"kleine Vorlagen auf einer Seite gesammelt werden können. Steht im " +"Konflikt mit Hintergrundfarbe." -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "Sleep Timer" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format -msgid "Time in minutes until the internal power supply switches to sleep mode" +msgid "" +"Time in minutes until the internal power supply switches to sleep mode" msgstr "Zeit in Minuten nachdem der Scanner in den Ruhezustand wechselt" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, no-c-format msgid "Off timer" msgstr "Ausschalt Timer" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" -"Time in minutes until the internal power supply switches the scanner off. " -"Will be rounded to nearest 15 minutes. Zero means never power off." +"Time in minutes until the internal power supply switches the scanner " +"off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -"Zeit in Minuten, nachdem sich der Scanner selbständig ausschaltet. Wird auf " -"die nächsten 15 Minuten gerundet. 0 = deaktiviert." +"Zeit in Minuten, nachdem sich der Scanner selbständig ausschaltet. Wird " +"auf die nächsten 15 Minuten gerundet. 0 = deaktiviert." -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, no-c-format msgid "Duplex offset" msgstr "Duplex Offset" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "Vorder-/Rückseiten Offset" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Offset grüner Kanal" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, no-c-format msgid "Adjust green/red offset" msgstr "Rot/Grün Offset" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Offset blauer Kanal" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, no-c-format msgid "Adjust blue/red offset" msgstr "Blau/Rot Offset" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "Nicht genügend Speicher" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" -"Limit driver memory usage for use in embedded systems. Causes some duplex " -"transfers to alternate sides on each call to sane_read. Value of option " -"'side' can be used to determine correct image. This option should only be " -"used with custom front-end software." +"Limit driver memory usage for use in embedded systems. Causes some " +"duplex transfers to alternate sides on each call to sane_read. Value of " +"option 'side' can be used to determine correct image. This option should " +"only be used with custom front-end software." msgstr "" "Speicherbedarf für Treiber in Embedded Systems begrenzen. Kann bei jedem " -"Aufruf von sane_read die Seitenreihenfolge bei Duplexscans vertauschen. Mit " -"der Option 'Duplex Seite' kann die korrekte Seitenreihenfolge gewährleistet " -"werden. Diese Option funktioniert nur mit selbst erstellter Scansoftware." +"Aufruf von sane_read die Seitenreihenfolge bei Duplexscans vertauschen. " +"Mit der Option 'Duplex Seite' kann die korrekte Seitenreihenfolge " +"gewährleistet werden. Diese Option funktioniert nur mit selbst " +"erstellter Scansoftware." -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, no-c-format msgid "Duplex side" msgstr "Duplex Seite" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " @@ -2715,154 +2775,155 @@ msgstr "" "Wählt die Seite vom nächsten Duplexscan aus aus (0 = Vorderseite, 1 = " "Rückseite), welche von sane_read zurückgegeben wird." -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "Hardware Entzerrung und Zuschnitt" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "Scanner rotiert und beschneidet den Scan digital." -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "Software Entzerrung" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "Treiber rotiert verzerrte Scans." -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "Software Fehlerkorrektur" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "Max. Durchmesser einzelner zu entfernender Fehlstellen im Scan." -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "Software Zuschnitt" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "Treiber entfernt Ränder von Scans." -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "Einzugshalt bei Abbruch" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format -msgid "Request driver to halt the paper feed instead of eject during a cancel." +msgid "" +"Request driver to halt the paper feed instead of eject during a cancel." msgstr "" "Bei einem Abbruch verbleibt die Seite im Dukumenteneinzug und wird nicht " "ausgeworfen." -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, no-c-format msgid "Endorser Options" msgstr "Stempel Optionen" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "Einstellungen für Stempel" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "Stempel" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "Aktiviere Stempel" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "Stempelgröße" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "Max. Wert für Stempelzähler." -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "Stempelwert" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "Anfangswert für Stempelzähler," -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "Schrittweite für Stempelzähler" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "Schrittweite für Stempelzähler." -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "Stempel Y" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "Stempelabstand zum oberen Seitenrand." -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "Stempel Schriftart" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "Stempel Schriftart." -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, no-c-format msgid "Endorser direction" msgstr "Stempel Ausrichtung" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "Stempel Druckrichtung" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "Stempelseite" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "Druckseite für Stempel; muss vom Scanner unterstützt werden" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "Stempel Zeichenkette" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " @@ -2871,354 +2932,360 @@ msgstr "" "Stempel als alphanumerische Zeichenkette. %05ud oder %08ud am Ende wird " "durch den Stempelzähler ersetzt." -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "Obere Kante" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "Papier wurde teilweise in den Dokumenteneinzug eingezogen" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, no-c-format msgid "A3 paper" msgstr "A3 Vorlage" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "A3 Vorlage erkannt" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, no-c-format msgid "B4 paper" msgstr "B4 Vorlage" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "B4 Vorlage erkannt" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, no-c-format msgid "A4 paper" msgstr "A4 Vorlage" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "A4 Vorlage erkannt" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, no-c-format msgid "B5 paper" msgstr "B5 Vorlage" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "B5 Vorlage erkannt" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "OMR oder DF" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "OMR oder Double Feed erkannt" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "Energiesparmodus" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "Der Scanner befindet im Energiesparmodus" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, no-c-format msgid "Manual feed" msgstr "Manueller Einzug" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, no-c-format msgid "Manual feed selected" msgstr "Manueller Einzug ausgewählt" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "Funktion" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "Funktionszeichen auf dem Bildschirm" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "wenig Tinte" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "Wenig Imprinter Tinte" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "Double Feed" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "Double Feed erkannt" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "Fehlercode" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, no-c-format msgid "Hardware error code" msgstr "Hardwarefehler" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "Schräglaufwinkel" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "Schwarzer Hintergrund erforderlich" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "verbleibende Tinte" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, no-c-format msgid "Imprinter ink level" msgstr "Imprinter Tintenstand" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, no-c-format msgid "Density" msgstr "Dichte" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "Dichte Einstellung" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, no-c-format msgid "Duplex switch" msgstr "Duplexscan" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "Treiber entfernt digital Ränder vom Scan" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "Treiber verwirft Scans mit geringer Schwarzfärbung" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "Software Dokumentendrehung" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "Treiber erkennt und dreht um 90° verdrehte Vorlagen" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" -msgstr "Dynamische Schwellwertkurve, von hell zu dunkel, nomalerweise 50-65" - -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "Deaktiviere dynamische Strichzeichnung" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." msgstr "" -"Deaktiviere Software angepassten Algorithmus zur Erstellung von " -"Strichzeichnungen anstelle von Hardware-Strichzeichnungen." +"Dynamische Schwellwertkurve, von hell zu dunkel, nomalerweise 50-65" -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "Interpolation abschalten" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" -"When using high resolutions where the horizontal resolution is smaller than " -"the vertical resolution this disables horizontal interpolation." +"When using high resolutions where the horizontal resolution is smaller " +"than the vertical resolution this disables horizontal interpolation." msgstr "" "Deaktiviere horizontale Interpolation bei hoher Auflösung, bei denen die " "horizontale Auflösung kleiner ist als die vertikale." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, no-c-format msgid "Color filter" msgstr "Farbfilter" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -"Diese Option wählt die verwendete Farbe für Strichzeichnungs- und Graustufen-" -"Scans." +"Diese Option wählt die verwendete Farbe für Strichzeichnungs- und " +"Graustufen-Scans." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, no-c-format msgid "Calibration file" msgstr "Kalibrierungsdatei" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, no-c-format msgid "Specify the calibration file to use" msgstr "Kalibrierungsdatei auswählen" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, no-c-format msgid "Calibration cache expiration time" msgstr "Gültigkeitszeitraum für Kalibrierungszwischenspeicher" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" -"Time (in minutes) before a cached calibration expires. A value of 0 means " -"cache is not used. A negative value means cache never expires." +"Time (in minutes) before a cached calibration expires. A value of 0 " +"means cache is not used. A negative value means cache never expires." msgstr "" "Gültigkeitszeitraum für Kalibrierungszwischenspeicher in Minuten. 0 = " -"Zwischenspeicher deaktiviert. Ein negativer Wert lässt die Gültigkeit nie " -"ablaufen." +"Zwischenspeicher deaktiviert. Ein negativer Wert lässt die Gültigkeit " +"nie ablaufen." -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Lampenausschaltzeit" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" -"The lamp will be turned off after the given time (in minutes). A value of 0 " -"means, that the lamp won't be turned off." +"The lamp will be turned off after the given time (in minutes). A value " +"of 0 means, that the lamp won't be turned off." msgstr "" "Die Lampe wird nach der angegebenen Zeit (in Minuten) ausgeschaltet. Ein " "Wert von 0 bedeutet, dass die Lampe nich ausgeschaltet wird." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, no-c-format msgid "Lamp off during scan" msgstr "während Scan Lampe ausschalten" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Die Lampe wird beim Scannen abgeschaltet. " -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "Datei Taste" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "OCR Taste" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "Einschalt Taste" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, no-c-format msgid "Extra button" msgstr "Zusatztaste" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, no-c-format -msgid "Need calibration" -msgstr "Benötigt Kalibirierung" +msgid "Needs calibration" +msgstr "Benötigt Kalibrierung" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "" "Der Scanner benötigt eine Kalibrierung für die momentanen Einstellungen" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Tasten" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrierung" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, no-c-format msgid "Start calibration using special sheet" msgstr "Starte den Kalibrierungsprozess mit einem Spezialblatt" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, no-c-format msgid "Clear calibration" msgstr "Kalibrierung zurücksetzen" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, no-c-format msgid "Clear calibration cache" msgstr "Kalibrierungszwischenspeicher löschen" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, no-c-format msgid "Force calibration" msgstr "Kalibrierung erzwingen" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "Kalibrierung trotz Daten im Zwischenspeicher erzwingen" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, no-c-format +msgid "Ignore internal offsets" +msgstr "Interne Offsets ignorieren" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "Bild mit Kalibrierungsbereichen scannen" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Durchlichteinheit" +#: backend/genesys/genesys.h:80 +#, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Infrarot-Durchlichteinheit" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3231,7 +3298,8 @@ msgstr "" "Legt fest, welche SCanfarbe im Garustufen-Modus verwendet wird " "(Standardwert: Grün)." -#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 backend/mustek_usb2.c:410 +#: backend/gt68xx.c:553 backend/hp3900_sane.c:1392 +#: backend/mustek_usb2.c:410 #, no-c-format msgid "Debugging Options" msgstr "Optionen zur Fehlersuche" @@ -3244,11 +3312,11 @@ msgstr "Automatisches Aufwärmen" #: backend/gt68xx.c:566 #, no-c-format msgid "" -"Warm-up until the lamp's brightness is constant instead of insisting on 60 " -"seconds warm-up time." +"Warm-up until the lamp's brightness is constant instead of insisting on " +"60 seconds warm-up time." msgstr "" -"Warte solange, bis die Helligkeit der Lampe konstant ist anstatt einfach 60 " -"Sekunden zu warten." +"Warte solange, bis die Helligkeit der Lampe konstant ist anstatt einfach " +"60 Sekunden zu warten." #: backend/gt68xx.c:578 #, no-c-format @@ -3262,8 +3330,8 @@ msgid "" "Don't select the full height. For testing only." msgstr "" "Scanne den gesamten möglichen Scanbereich inklusive des " -"Kalibrierungsstreifens. Vorsicht, keine zu große Länge auswählen. Nur für " -"Testzwecke." +"Kalibrierungsstreifens. Vorsicht, keine zu große Länge auswählen. Nur " +"für Testzwecke." #: backend/gt68xx.c:591 #, no-c-format @@ -3274,8 +3342,8 @@ msgstr "Grobkalibrierung" #, no-c-format msgid "" "Setup gain and offset for scanning automatically. If this option is " -"disabled, options for setting the analog frontend parameters manually are " -"provided. This option is enabled by default. For testing only." +"disabled, options for setting the analog frontend parameters manually " +"are provided. This option is enabled by default. For testing only." msgstr "" "Stelle Verstärkung und Versatz automatisch ein. Wenn dies Option " "ausgeschaltet ist, können die Parameter des AFE (\"Analog Frontend\") " @@ -3290,14 +3358,14 @@ msgstr "Grobkalibrierung nur für ersten Scan" #: backend/gt68xx.c:614 #, no-c-format msgid "" -"Coarse calibration is only done for the first scan. Works with most scanners " -"and can save scanning time. If the image brightness is different with each " -"scan, disable this option. For testing only." +"Coarse calibration is only done for the first scan. Works with most " +"scanners and can save scanning time. If the image brightness is " +"different with each scan, disable this option. For testing only." msgstr "" "Die Grobkalibrierung wird nur für den ersten Scan durchgeführt. Das " -"funktioniert mit den meisten Scannern und kann einiges an Scanzeit sparen. " -"Wenn die Helligkeit der Bilder von Scan zu Scan schwankt, sollte diese " -"Option ausgeschaltet werden. Nur für Testzwecke." +"funktioniert mit den meisten Scannern und kann einiges an Scanzeit " +"sparen. Wenn die Helligkeit der Bilder von Scan zu Scan schwankt, sollte " +"diese Option ausgeschaltet werden. Nur für Testzwecke." #: backend/gt68xx.c:647 #, no-c-format @@ -3307,14 +3375,15 @@ msgstr "Backtrack-Zeilen" #: backend/gt68xx.c:649 #, no-c-format msgid "" -"Number of lines the scan slider moves back when backtracking occurs. That " -"happens when the scanner scans faster than the computer can receive the " -"data. Low values cause faster scans but increase the risk of omitting lines." +"Number of lines the scan slider moves back when backtracking occurs. " +"That happens when the scanner scans faster than the computer can receive " +"the data. Low values cause faster scans but increase the risk of " +"omitting lines." msgstr "" "Anzahl der Zeilen, die der Scanschlitten zurückfährt, wenn Backtracking " -"auftritt. Das passiert, wenn der Scanner schneller scant, als der Computer " -"die Daten aufnehmen kann. Niedrigere Werte sorgen für schnellere Scans, " -"erhöhen jedoch das Risiko, Zeilen zu überspringen." +"auftritt. Das passiert, wenn der Scanner schneller scant, als der " +"Computer die Daten aufnehmen kann. Niedrigere Werte sorgen für " +"schnellere Scans, erhöhen jedoch das Risiko, Zeilen zu überspringen." #: backend/gt68xx.c:674 backend/mustek_usb2.c:452 #, no-c-format @@ -3326,633 +3395,638 @@ msgstr "Gammawert" msgid "Sets the gamma value of all channels." msgstr "Legt den Gammawert für alle Kanäle fest." -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "Geometrie" +msgid "Advanced Options" +msgstr "Erweiterte Optionen" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "Scanmodus" +msgid "Coarse" +msgstr "Grob" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "Dia" +msgid "Fine" +msgstr "Fein" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Scanner model" -msgstr "Scannermodell" +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "Erlaubt Geräteverhalten mit anderen unterstützten Modellen zu testen" +msgid "Custom" +msgstr "Benutzerdefiniert" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Image colours will be inverted" -msgstr "Bildfarben werden invertiert" +msgid "Auto" +msgstr "Automatisch" -#: backend/hp3900_sane.c:1436 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Disable gamma correction" -msgstr "Gammakorrektur abschalten" +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1437 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Die Gammakorrektur wird abgeschaltet" +msgid "XPA RGB" +msgstr "XPA RGB" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3093 #, no-c-format -msgid "Disable white shading correction" -msgstr "Weißabgleichskorrektur abschalten" +msgid "Pass-through" +msgstr "Unverändert" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3094 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "Weißabgleichkorrektur wird abgeschaltet" +msgid "NTSC Gray" +msgstr "NTSC Grau" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Skip warmup process" -msgstr "Aufwärmprozess überspringen" +msgid "XPA Gray" +msgstr "XPA Grau" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "Der Aufwärmprozess wird überspungen" +msgid "Slow" +msgstr "Langsam" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "Force real depth" -msgstr "Erzwinge echte Tiefe" +msgid "Normal" +msgstr "Normal" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3149 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve image " -"quality and then converted to the selected depth. This option avoids depth " -"emulation." -msgstr "" -"Falls Gamma verwendet wird, werden Scans mit einer Farbtiefe von 16 Bit " -"ausgeführt und danach in die gewählte Farbtiefe umgewandelt, um die " -"Bildqualität zu verbessern. Diese Option verhindert Farbtiefen-Emulation." +msgid "Fast" +msgstr "Schnell" -#: backend/hp3900_sane.c:1499 +#: backend/hp-option.c:3150 #, no-c-format -msgid "Emulate Grayscale" -msgstr "Graustufen emulieren" +msgid "Extra Fast" +msgstr "Besonders schnell" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3163 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some circumstances." -msgstr "" -"Falls verwendet, wird das Bild im Farbmodus gescannt und dann per Software " -"in Graustufen umgewandelt. Unter manchen Umständen verbessert dies die " -"Bildqualität." +msgid "2-pixel" +msgstr "2 Pixel" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3164 #, no-c-format -msgid "Save debugging images" -msgstr "Debugging Bilder abspeichern" +msgid "4-pixel" +msgstr "4 Pixel" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3165 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to analyze " -"them." -msgstr "" -"Wenn aktiviert werden einige Bilder im Scanprozess gespeichert um sie zu " -"analysieren." +msgid "8-pixel" +msgstr "8 Pixel" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Reset chipset" -msgstr "Chipsatz zurücksetzen" +msgid "Print" +msgstr "Foto" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Resets chipset data" -msgstr "Setzt die Daten des Chipsatzes zurück" +msgid "Slide" +msgstr "Dia" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Information" -msgstr "Information" +msgid "Film-strip" +msgstr "Film-Streifen" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Chipset name" -msgstr "Name des Chipsatzes" +msgid "ADF" +msgstr "Automatischer Dokumenteneinzug" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "Zeigt den im Gerät verwendeten Chipsatz an." +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Unknown" -msgstr "Unbekannt" +msgid "Conditional" +msgstr "Bedingt" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Chipset ID" -msgstr "Chipsatz-ID" +msgid "Experiment" +msgstr "Experiment" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.h:60 #, no-c-format -msgid "Shows the chipset ID" -msgstr "Zeigt die ID des Chipsatzes an" +msgid "Sharpening" +msgstr "Schärfen" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.h:61 #, no-c-format -msgid "Scan counter" -msgstr "Scanzähler" +msgid "Set sharpening value." +msgstr "Legt den Wert für die Schärfe fest." -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:66 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Zeigt die Anzahl der Scans an" +msgid "Auto Threshold" +msgstr "Automatischer Schwellwert" -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.h:68 #, no-c-format -msgid "Update information" -msgstr "Information aktualisieren" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "" +"Schaltet die automatische Bestimmung des Schwellwerts für den Schwarz-" +"Weiß-Modus ein." -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:74 #, no-c-format -msgid "Updates information about device" -msgstr "Aktualisiert alle Informationnen über das Gerät" +msgid "Select smoothing filter." +msgstr "Wählt den Glättungs-Filter aus." -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:79 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Diese Option spiegelt die vorderen Scannertasten wieder" +msgid "Unload media after scan" +msgstr "Medium nach dem Scannen auswerfen" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:80 #, no-c-format -msgid "Image" -msgstr "Bild" +msgid "Unloads the media after a scan." +msgstr "Wirft das Medium nach dem Scan aus." -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:85 #, no-c-format -msgid "Miscellaneous" -msgstr "Verschiedenes" +msgid "Change document" +msgstr "Dokument wechseln" -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:86 #, no-c-format -msgid "offset X" -msgstr "X-Abstand" +msgid "Change Document." +msgstr "Dokument wechseln." -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:91 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Hardwareinterne X-Position des Scanbereichs." +msgid "Unload" +msgstr "Auswerfen" -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:92 #, no-c-format -msgid "offset Y" -msgstr "Y-Abstand" +msgid "Unload Document." +msgstr "Dokument auswerfen." -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:98 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Hardwareinterne Y-Position des Scanbereichs." +msgid "Start calibration process." +msgstr "Startet den Kalibrierungsprozess." -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:103 #, no-c-format -msgid "Lamp status" -msgstr "Lampenstatus" +msgid "Media" +msgstr "Medium" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:104 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Schaltet die Lampe an oder aus." +msgid "Set type of media." +msgstr "Legt den Typ des Mediums fest." -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:109 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Kalibriert Schwarz- und Weisswert." +msgid "Exposure time" +msgstr "Belichtungszeit" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:111 #, no-c-format -msgid "ADF" -msgstr "Automatischer Dokumenteneinzug" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"Bei einer längeren Belichtungszeit kann der Scanner mehr Licht " +"auffangen. Empfohlene Werte: 175% für Fotos, 150% für normale Dias und " +"\"Negativ\" für Negativ-Filme. Für dunkle (unterentwickelte) Bilder kann " +"dieser Wert vergrößert werden." -#: backend/hp5590.c:95 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "TMA Slides" -msgstr "TMA-Dias" +msgid "Color Matrix" +msgstr "Farbmatrix" -#: backend/hp5590.c:96 +#: backend/hp-option.h:121 #, no-c-format -msgid "TMA Negatives" -msgstr "TMA-Negative" +msgid "Set the scanner's color matrix." +msgstr "Legt die Farbmatrix für den Scanner fest." -#: backend/hp5590.c:108 +#: backend/hp-option.h:127 #, no-c-format -msgid "Color (48 bits)" -msgstr "Farbe (48 Bit)" +msgid "Custom color matrix." +msgstr "Benutzerdefinierte Farbmatrix." -#: backend/hp5590.c:112 +#: backend/hp-option.h:132 #, no-c-format -msgid "Extend lamp timeout" -msgstr "Lampenausschaltzeit verlängern" +msgid "Mono Color Matrix" +msgstr "Graue Farbmatrix" -#: backend/hp5590.c:113 +#: backend/hp-option.h:133 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "Verlängert die Lampenausschaltzeit (von 15 Minuten bis 1 Stunde)" +msgid "Custom color matrix for grayscale scans." +msgstr "Benutzerdefinierte Farbmatrix für Graustufenscans." -#: backend/hp5590.c:115 +#: backend/hp-option.h:138 #, no-c-format -msgid "Wait for button" -msgstr "Warte auf Tastendruck" +msgid "Mirror horizontal" +msgstr "Horizontal spiegeln" -#: backend/hp5590.c:116 +#: backend/hp-option.h:139 #, no-c-format -msgid "Waits for button before scanning" -msgstr "Scannen beginnt erst mit Tastendruck" +msgid "Mirror image horizontally." +msgstr "Bild horizontal spiegeln." -#: backend/hp5590.c:118 +#: backend/hp-option.h:144 #, no-c-format -msgid "Last button pressed" -msgstr "Letzter Tastendruck" +msgid "Mirror vertical" +msgstr "Vertikal spiegeln" -#: backend/hp5590.c:119 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "Lese zuletzt betätigte Taste (read only)" +msgid "Mirror image vertically." +msgstr "Bild vertikal spiegeln." -#: backend/hp5590.c:121 +#: backend/hp-option.h:150 #, no-c-format -msgid "LCD counter" -msgstr "Scanzähler" +msgid "Update options" +msgstr "Optionen aktualisieren" -#: backend/hp5590.c:122 +#: backend/hp-option.h:151 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "Lese Scanzähler (read only)" +msgid "Update options." +msgstr "Optionen aktualisieren." -#: backend/hp5590.c:124 +#: backend/hp-option.h:156 #, no-c-format -msgid "Color LED indicator" -msgstr "Farbindikator" +msgid "8 bit output" +msgstr "8-Bit-Ausgabe" -#: backend/hp5590.c:125 +#: backend/hp-option.h:158 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "Lese Wert vom Farbindikator (read only)" +msgid "Use bit depth greater eight internally, but output only eight bits." +msgstr "" +"Benutze intern eine Frabtiefe von mehr als 8 Bit, extern aber nur 8 Bit." -#: backend/hp5590.c:127 +#: backend/hp-option.h:164 #, no-c-format -msgid "Document available in ADF" -msgstr "Seite im Dokumenteneinzug verfügbar" +msgid "Front button wait" +msgstr "Warten auf vordere Taste" -#: backend/hp5590.c:128 +#: backend/hp-option.h:165 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "Lese Status der Seitenerkennung im Dokumenteneinzug (read only)" +msgid "Wait to scan for front-panel button push." +msgstr "Warte mit dem Scan auf das Drücken der vorderen Taste." -#: backend/hp5590.c:130 +#: backend/hp-option.h:172 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "Ignoriere Seiten Ende Pixel" +msgid "Shut off lamp" +msgstr "Lampe ausschalten" -#: backend/hp5590.c:131 +#: backend/hp-option.h:173 #, no-c-format -msgid "Hide end-of-page indicator pixels and overwrite with neighbor pixels" -msgstr "" -"Ignoriere Seiten Ende Pixel und überschreibe diese mit der umgebenden " -"Hintergrundfarbe" +msgid "Shut off scanner lamp." +msgstr "Schalte Scannerlampe aus." -#: backend/hp5590.c:133 +#: backend/hp3500.c:1020 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "Füllmodus für unteren Rand bei kurzen Vorlagen im Dokumenteneinzug" +msgid "Geometry Group" +msgstr "Geometrie" -#: backend/hp5590.c:134 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" -"raw = Scandaten, letzte = wiederhole letzte Scanzeile, Raster = s/w Raster, " -"Weiß, Schwarz, Farbe = RGB oder Grau Wert" +msgid "Scan Mode Group" +msgstr "Scanmodus" -#: backend/hp5590.c:137 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "RGB oder Grau Farbwert für Füllmodus 'Farbe'" +msgid "Scanner model" +msgstr "Scannermodell" -#: backend/hp5590.c:138 +#: backend/hp3900_sane.c:1408 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" +msgid "Allows one to test device behavior with other supported models" msgstr "" -"Farbwerte für Füllmodus 'Farbe'. RGB = r*65536+256*g+b oder Grauwert " -"(Vorgabe = Violet oder Grau)" +"Erlaubt Geräteverhalten mit anderen unterstützten Modellen zu testen" -#: backend/hp-option.c:2987 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "Advanced Options" -msgstr "Erweiterte Optionen" +msgid "Image colors will be inverted" +msgstr "Bildfarben werden invertiert" -#: backend/hp-option.c:3044 +#: backend/hp3900_sane.c:1436 #, no-c-format -msgid "Coarse" -msgstr "Grob" +msgid "Disable gamma correction" +msgstr "Gammakorrektur abschalten" -#: backend/hp-option.c:3045 +#: backend/hp3900_sane.c:1437 #, no-c-format -msgid "Fine" -msgstr "Fein" +msgid "Gamma correction will be disabled" +msgstr "Die Gammakorrektur wird abgeschaltet" -#: backend/hp-option.c:3046 +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "Bayer" -msgstr "Bayer" +msgid "Disable white shading correction" +msgstr "Weißabgleichskorrektur abschalten" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Custom" -msgstr "Benutzerdefiniert" +msgid "White shading correction will be disabled" +msgstr "Weißabgleichkorrektur wird abgeschaltet" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Auto" -msgstr "Automatisch" +msgid "Skip warmup process" +msgstr "Aufwärmprozess überspringen" -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" +msgid "Warmup process will be disabled" +msgstr "Der Aufwärmprozess wird überspungen" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" +msgid "Force real depth" +msgstr "Erzwinge echte Tiefe" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Pass-through" -msgstr "Unverändert" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"Falls Gamma verwendet wird, werden Scans mit einer Farbtiefe von 16 Bit " +"ausgeführt und danach in die gewählte Farbtiefe umgewandelt, um die " +"Bildqualität zu verbessern. Diese Option verhindert Farbtiefen-Emulation." -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1499 #, no-c-format -msgid "NTSC Gray" -msgstr "NTSC Grau" +msgid "Emulate Grayscale" +msgstr "Graustufen emulieren" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "XPA Gray" -msgstr "XPA Grau" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"Falls verwendet, wird das Bild im Farbmodus gescannt und dann per " +"Software in Graustufen umgewandelt. Unter manchen Umständen verbessert " +"dies die Bildqualität." -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Slow" -msgstr "Langsam" +msgid "Save debugging images" +msgstr "Debugging Bilder abspeichern" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 backend/kvs40xx_opt.c:230 -#: backend/matsushita.c:244 backend/mustek.c:149 backend/plustek.c:234 -#: backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "Normal" -msgstr "Normal" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"Wenn aktiviert werden einige Bilder im Scanprozess gespeichert um sie zu " +"analysieren." -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "Fast" -msgstr "Schnell" +msgid "Reset chipset" +msgstr "Chipsatz zurücksetzen" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Extra Fast" -msgstr "Besonders schnell" +msgid "Resets chipset data" +msgstr "Setzt die Daten des Chipsatzes zurück" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "2-pixel" -msgstr "2 Pixel" +msgid "Information" +msgstr "Information" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "4-pixel" -msgstr "4 Pixel" +msgid "Chipset name" +msgstr "Name des Chipsatzes" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "8-pixel" -msgstr "8 Pixel" +msgid "Shows chipset name used in device." +msgstr "Zeigt den im Gerät verwendeten Chipsatz an." -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Print" -msgstr "Foto" +msgid "Unknown" +msgstr "Unbekannt" -#: backend/hp-option.c:3178 -#, no-c-format -msgid "Film-strip" -msgstr "Film-Streifen" +#: backend/hp3900_sane.c:1571 +#, no-c-format +msgid "Chipset ID" +msgstr "Chipsatz-ID" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "XPA" -msgstr "XPA" +msgid "Shows the chipset ID" +msgstr "Zeigt die ID des Chipsatzes an" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1582 #, no-c-format -msgid "Conditional" -msgstr "Bedingt" +msgid "Scan counter" +msgstr "Scanzähler" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Experiment" -msgstr "Experiment" +msgid "Shows the number of scans made by scanner" +msgstr "Zeigt die Anzahl der Scans an" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Sharpening" -msgstr "Schärfen" +msgid "Update information" +msgstr "Information aktualisieren" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Set sharpening value." -msgstr "Legt den Wert für die Schärfe fest." +msgid "Updates information about device" +msgstr "Aktualisiert alle Informationnen über das Gerät" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Auto Threshold" -msgstr "Automatischer Schwellwert" +msgid "This option reflects a front panel scanner button" +msgstr "Diese Option spiegelt die vorderen Scannertasten wieder" -#: backend/hp-option.h:68 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "" -"Schaltet die automatische Bestimmung des Schwellwerts für den Schwarz-Weiß-" -"Modus ein." +msgid "Image" +msgstr "Bild" -#: backend/hp-option.h:74 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Select smoothing filter." -msgstr "Wählt den Glättungs-Filter aus." +msgid "Miscellaneous" +msgstr "Verschiedenes" -#: backend/hp-option.h:79 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Unload media after scan" -msgstr "Medium nach dem Scannen auswerfen" +msgid "offset X" +msgstr "X-Abstand" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Wirft das Medium nach dem Scan aus." +msgid "Hardware internal X position of the scanning area." +msgstr "Hardwareinterne X-Position des Scanbereichs." -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Change document" -msgstr "Dokument wechseln" +msgid "offset Y" +msgstr "Y-Abstand" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Change Document." -msgstr "Dokument wechseln." +msgid "Hardware internal Y position of the scanning area." +msgstr "Hardwareinterne Y-Position des Scanbereichs." -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Unload" -msgstr "Auswerfen" +msgid "Lamp status" +msgstr "Lampenstatus" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Unload Document." -msgstr "Dokument auswerfen." +msgid "Switches the lamp on or off." +msgstr "Schaltet die Lampe an oder aus." -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Start calibration process." -msgstr "Startet den Kalibrierungsprozess." +msgid "Calibrates for black and white level." +msgstr "Kalibriert Schwarz- und Weisswert." -#: backend/hp-option.h:103 +#: backend/hp5590.c:95 #, no-c-format -msgid "Media" -msgstr "Medium" +msgid "TMA Slides" +msgstr "TMA-Dias" -#: backend/hp-option.h:104 +#: backend/hp5590.c:96 #, no-c-format -msgid "Set type of media." -msgstr "Legt den Typ des Mediums fest." +msgid "TMA Negatives" +msgstr "TMA-Negative" -#: backend/hp-option.h:109 +#: backend/hp5590.c:108 #, no-c-format -msgid "Exposure time" -msgstr "Belichtungszeit" +msgid "Color (48 bits)" +msgstr "Farbe (48 Bit)" -#: backend/hp-option.h:111 +#: backend/hp5590.c:112 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested use is " -"175% for prints, 150% for normal slides and \"Negative\" for negative film. " -"For dark (underexposed) images you can increase this value." -msgstr "" -"Bei einer längeren Belichtungszeit kann der Scanner mehr Licht auffangen. " -"Empfohlene Werte: 175% für Fotos, 150% für normale Dias und \"Negativ\" für " -"Negativ-Filme. Für dunkle (unterentwickelte) Bilder kann dieser Wert " -"vergrößert werden." +msgid "Extend lamp timeout" +msgstr "Lampenausschaltzeit verlängern" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:113 #, no-c-format -msgid "Color Matrix" -msgstr "Farbmatrix" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Verlängert die Lampenausschaltzeit (von 15 Minuten bis 1 Stunde)" -#: backend/hp-option.h:121 +#: backend/hp5590.c:115 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "Legt die Farbmatrix für den Scanner fest." +msgid "Wait for button" +msgstr "Warte auf Tastendruck" -#: backend/hp-option.h:127 +#: backend/hp5590.c:116 #, no-c-format -msgid "Custom color matrix." -msgstr "Benutzerdefinierte Farbmatrix." +msgid "Waits for button before scanning" +msgstr "Scannen beginnt erst mit Tastendruck" -#: backend/hp-option.h:132 +#: backend/hp5590.c:118 #, no-c-format -msgid "Mono Color Matrix" -msgstr "Graue Farbmatrix" +msgid "Last button pressed" +msgstr "Letzter Tastendruck" -#: backend/hp-option.h:133 +#: backend/hp5590.c:119 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Benutzerdefinierte Farbmatrix für Graustufenscans." +msgid "Get ID of last button pressed (read only)" +msgstr "Lese zuletzt betätigte Taste (read only)" -#: backend/hp-option.h:138 +#: backend/hp5590.c:121 #, no-c-format -msgid "Mirror horizontal" -msgstr "Horizontal spiegeln" +msgid "LCD counter" +msgstr "Scanzähler" -#: backend/hp-option.h:139 +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Bild horizontal spiegeln." +msgid "Get value of LCD counter (read only)" +msgstr "Lese Scanzähler (read only)" -#: backend/hp-option.h:144 +#: backend/hp5590.c:124 #, no-c-format -msgid "Mirror vertical" -msgstr "Vertikal spiegeln" +msgid "Color LED indicator" +msgstr "Farbindikator" -#: backend/hp-option.h:145 +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Bild vertikal spiegeln." +msgid "Get value of LED indicator (read only)" +msgstr "Lese Wert vom Farbindikator (read only)" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Optionen aktualisieren" +msgid "Document available in ADF" +msgstr "Seite im Dokumenteneinzug verfügbar" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Optionen aktualisieren." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "Lese Status der Seitenerkennung im Dokumenteneinzug (read only)" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "8-Bit-Ausgabe" +msgid "Hide end-of-page pixel" +msgstr "Ignoriere Seiten Ende Pixel" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -"Benutze intern eine Frabtiefe von mehr als 8 Bit, extern aber nur 8 Bit." +"Ignoriere Seiten Ende Pixel und überschreibe diese mit der umgebenden " +"Hintergrundfarbe" -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Warten auf vordere Taste" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "Füllmodus für unteren Rand bei kurzen Vorlagen im Dokumenteneinzug" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Warte mit dem Scan auf das Drücken der vorderen Taste." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" +"raw = Scandaten, letzte = wiederhole letzte Scanzeile, Raster = s/w " +"Raster, Weiß, Schwarz, Farbe = RGB oder Grau Wert" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Lampe ausschalten" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "RGB oder Grau Farbwert für Füllmodus 'Farbe'" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Schalte Scannerlampe aus." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" +"Farbwerte für Füllmodus 'Farbe'. RGB = r*65536+256*g+b oder Grauwert " +"(Vorgabe = Violet oder Grau)" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4039,81 +4113,87 @@ msgstr "Farbe" msgid "adf" msgstr "Automatischer Dokumenteneinzug" -#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 backend/kvs40xx_opt.c:109 +#: backend/kvs1025_opt.c:62 backend/kvs40xx_opt.c:50 +#: backend/kvs40xx_opt.c:109 #, no-c-format msgid "fb" msgstr "Flachbett" -#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 backend/kvs40xx_opt.c:101 +#: backend/kvs1025_opt.c:72 backend/kvs20xx_opt.c:55 +#: backend/kvs40xx_opt.c:101 #, no-c-format msgid "single" msgstr "einzeln" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" msgstr "endlos" -#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 backend/kvs40xx_opt.c:115 +#: backend/kvs1025_opt.c:83 backend/kvs20xx_opt.c:62 +#: backend/kvs40xx_opt.c:115 #, no-c-format msgid "off" msgstr "aus" -#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 backend/kvs40xx_opt.c:116 +#: backend/kvs1025_opt.c:84 backend/kvs20xx_opt.c:63 +#: backend/kvs40xx_opt.c:116 #, no-c-format msgid "wait_doc" msgstr "Warte auf Dokument" -#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 backend/kvs40xx_opt.c:118 +#: backend/kvs1025_opt.c:85 backend/kvs20xx_opt.c:64 +#: backend/kvs40xx_opt.c:118 #, no-c-format msgid "wait_key" msgstr "Warte auf Tastendruck" -#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 backend/kvs40xx_opt.c:124 -#: backend/kvs40xx_opt.c:141 +#: backend/kvs1025_opt.c:96 backend/kvs20xx_opt.c:70 +#: backend/kvs40xx_opt.c:124 backend/kvs40xx_opt.c:141 #, no-c-format msgid "user_def" msgstr "Benutzerdefiniert" -#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 backend/kvs40xx_opt.c:125 -#: backend/kvs40xx_opt.c:142 +#: backend/kvs1025_opt.c:97 backend/kvs20xx_opt.c:71 +#: backend/kvs40xx_opt.c:125 backend/kvs40xx_opt.c:142 #, no-c-format msgid "business_card" msgstr "Visitenkarte" -#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 backend/kvs40xx_opt.c:143 +#: backend/kvs1025_opt.c:98 backend/kvs40xx_opt.c:126 +#: backend/kvs40xx_opt.c:143 #, no-c-format msgid "Check" msgstr "Prüfe" -#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 backend/kvs40xx_opt.c:129 -#: backend/kvs40xx_opt.c:146 +#: backend/kvs1025_opt.c:101 backend/kvs20xx_opt.c:75 +#: backend/kvs40xx_opt.c:129 backend/kvs40xx_opt.c:146 #, no-c-format msgid "A5" msgstr "A5" -#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 backend/kvs40xx_opt.c:130 -#: backend/kvs40xx_opt.c:147 +#: backend/kvs1025_opt.c:102 backend/kvs20xx_opt.c:76 +#: backend/kvs40xx_opt.c:130 backend/kvs40xx_opt.c:147 #, no-c-format msgid "A6" msgstr "A6" -#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 backend/kvs40xx_opt.c:134 -#: backend/kvs40xx_opt.c:151 +#: backend/kvs1025_opt.c:106 backend/kvs20xx_opt.c:80 +#: backend/kvs40xx_opt.c:134 backend/kvs40xx_opt.c:151 #, no-c-format msgid "B5" msgstr "B5" -#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 backend/kvs40xx_opt.c:135 -#: backend/kvs40xx_opt.c:152 +#: backend/kvs1025_opt.c:107 backend/kvs20xx_opt.c:81 +#: backend/kvs40xx_opt.c:135 backend/kvs40xx_opt.c:152 #, no-c-format msgid "B6" msgstr "B6" -#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 backend/kvs40xx_opt.c:136 -#: backend/kvs40xx_opt.c:153 +#: backend/kvs1025_opt.c:108 backend/kvs20xx_opt.c:82 +#: backend/kvs40xx_opt.c:136 backend/kvs40xx_opt.c:153 #, no-c-format msgid "Legal" msgstr "Legal" @@ -4166,7 +4246,8 @@ msgstr "Dunkel" msgid "From scanner" msgstr "Vom Scanner" -#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 backend/matsushita.c:177 +#: backend/kvs1025_opt.c:179 backend/kvs40xx_opt.c:272 +#: backend/matsushita.c:177 #, no-c-format msgid "From paper" msgstr "Vom Papier" @@ -4214,8 +4295,8 @@ msgstr "Monitor" #: backend/kvs1025_opt.c:229 #, no-c-format -msgid "linier" -msgstr "Lineal" +msgid "linear" +msgstr "linear" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4312,11 +4393,11 @@ msgstr "Automatischer Schwellwert" #: backend/kvs1025_opt.c:737 backend/matsushita.c:1227 #, no-c-format msgid "" -"Automatically sets brightness, contrast, white level, gamma, noise reduction " -"and image emphasis" +"Automatically sets brightness, contrast, white level, gamma, noise " +"reduction and image emphasis" msgstr "" -"Legt automatisch Helligkeit, Kontrast, Weißwert, Gamma, Rauschunterdrückung " -"und Bildgewichtung fest" +"Legt automatisch Helligkeit, Kontrast, Weißwert, Gamma, " +"Rauschunterdrückung und Bildgewichtung fest" #: backend/kvs1025_opt.c:782 backend/kvs40xx_opt.c:764 #: backend/matsushita.c:1275 @@ -4344,7 +4425,7 @@ msgstr "Wählt die Bildgewichtung" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" @@ -4411,17 +4492,18 @@ msgstr "Automatischer Zuschnitt per Software" msgid "Request driver to remove border from pages digitally" msgstr "Treiber entfernt Seitenränder" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" -"Bei der Längenkontrolle verwendet der Scanner die kürzere Länge, entweder " -"von der Vorlage oder der vorgegebenen Seitenlänge." +"Bei der Längenkontrolle verwendet der Scanner die kürzere Länge, " +"entweder von der Vorlage oder der vorgegebenen Seitenlänge." #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 -#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 backend/microtek2.h:640 +#: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 +#: backend/microtek2.h:640 #, no-c-format msgid "Gamma correction" msgstr "Gammakorrektur" @@ -4448,12 +4530,12 @@ msgstr "B4" #: backend/kvs40xx_opt.c:231 #, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "Hohe Auflösung" #: backend/kvs40xx_opt.c:232 #, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "Geringe Auflösung" #: backend/kvs40xx_opt.c:243 @@ -4476,11 +4558,20 @@ msgstr "Normal" msgid "Enhanced mode" msgstr "Erweiterter Mode" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" +"Bei der Längenkontrolle verwendet der Scanner die kürzere Länge, " +"entweder von der Vorlage oder der vorgegebenen Seitenlänge." + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" -"Long Paper Mode is a mode that the scanner reads the image after it divides " -"long paper by the length which is set in Document Size option." +"Long Paper Mode is a mode that the scanner reads the image after it " +"divides long paper by the length which is set in Document Size option." msgstr "" "Im Endlospapier Mode wird die Vorlage auf mehrere voreingestellte " "Dokumentengrößen aufgeteilt." @@ -4537,7 +4628,7 @@ msgstr "JPEG Komprimierung" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "JPEG Komprimierung (Ihr Programm muss dekomprimieren können)" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4572,12 +4663,12 @@ msgstr "Schräglauferkennunng" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "Scanner bei schräg eingezogener Seite anhalten" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "Scanner hält bei schräg eingelaufener Seite an" #: backend/kvs40xx_opt.c:816 @@ -4587,13 +4678,13 @@ msgstr "Beschneide Bild" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "Scanner erkennt und verwendet Vorlagengröße" #: backend/kvs40xx_opt.c:827 #, no-c-format -msgid "It is right and left reversing" -msgstr "Das ist rechter und linker Rücklauf" +msgid "Left/right mirror image" +msgstr "Bild spiegeln" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4630,52 +4721,52 @@ msgstr "8x8 Bayer" msgid "8x8 Vertical Line" msgstr "8x8 Vertikale Linie" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Verstärkung" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Farbkanal Verstärkungseinstellungen" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Verstärkung grauer Kanal" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Legt die Verstärkung des grauen Kanals fest" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Verstärkung roter Kanal" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Legt die Verstärkung des roten Kanals fest" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Verstärkung grüner Kanal" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Legt die Verstärkung des grünen Kanals fest" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Verstärkung blauer Kanal" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Legt die Verstärkung des blauen Kanals fest" @@ -4735,7 +4826,8 @@ msgstr "Glatt" msgid "Low" msgstr "Niedrig" -#: backend/matsushita.c:215 backend/matsushita.c:230 backend/matsushita.c:1296 +#: backend/matsushita.c:215 backend/matsushita.c:230 +#: backend/matsushita.c:1296 #, no-c-format msgid "Medium" msgstr "Mittel" @@ -4760,7 +4852,7 @@ msgstr "Eine Seite" msgid "All pages" msgstr "Alle Seiten" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "Einzugsscanner" @@ -4819,8 +4911,10 @@ msgstr "Software - Kalibrierung" #: backend/microtek2.h:617 #, no-c-format -msgid "If checked the color calibration before a scan is done by the backend" -msgstr "Wenn aktiviert, wird die Farbkalibrierung durch den Treiber ausgeführt" +msgid "" +"If checked the color calibration before a scan is done by the backend" +msgstr "" +"Wenn aktiviert, wird die Farbkalibrierung durch den Treiber ausgeführt" #: backend/microtek2.h:621 #, no-c-format @@ -4831,8 +4925,9 @@ msgstr "Benutzung des LIGHTLID 35" #, no-c-format msgid "This option turns off the lamp of the flatbed during a scan" msgstr "" -"Bei der Benutzung des LIGHTLID 35 Durchlichtadapters wird während des Scans " -"die Flachbett - Lampe ausgeschaltet um besseren Kontrast zu erreichen" +"Bei der Benutzung des LIGHTLID 35 Durchlichtadapters wird während des " +"Scans die Flachbett - Lampe ausgeschaltet um besseren Kontrast zu " +"erreichen" #: backend/microtek2.h:626 backend/snapscan-options.c:421 #, no-c-format @@ -4862,8 +4957,8 @@ msgstr "Automatische schwarz/weiß - Schwelle" #: backend/microtek2.h:635 #, no-c-format msgid "" -"If checked the backend automatically tries to determine an optimal value for " -"the threshold." +"If checked the backend automatically tries to determine an optimal value " +"for the threshold." msgstr "" "Wenn aktiviert, versucht der Treiber einen optimalen Wert für den " "Schwellwert zu bestimmen." @@ -5139,12 +5234,12 @@ msgstr "Scanne im schnellen Graumodus (geringere Bildqualität)." #: backend/mustek.c:4345 #, no-c-format msgid "" -"Request that all previews are done in the fastest (low-quality) mode. This " -"may be a non-color mode or a low resolution mode." +"Request that all previews are done in the fastest (low-quality) mode. " +"This may be a non-color mode or a low resolution mode." msgstr "" "Legt fest, dass alle Vorschau-Scans im schnellsten Modus (mit geringer " -"Qualität) durchgeführt werden. Das kann ein Schwarzweißmodus oder ein Modus " -"mit niedriger Auflösung sein." +"Qualität) durchgeführt werden. Das kann ein Schwarzweißmodus oder ein " +"Modus mit niedriger Auflösung sein." #: backend/mustek.c:4353 #, no-c-format @@ -5175,7 +5270,8 @@ msgstr "Helligkeit des Rotwerts" #: backend/mustek.c:4444 #, no-c-format msgid "Controls the brightness of the red channel of the acquired image." -msgstr "Stellt die Helligkeit der roten Komponente des gescannten Bildes ein." +msgstr "" +"Stellt die Helligkeit der roten Komponente des gescannten Bildes ein." #: backend/mustek.c:4456 #, no-c-format @@ -5185,7 +5281,8 @@ msgstr "Helligkeit des Grünwerts" #: backend/mustek.c:4457 #, no-c-format msgid "Controls the brightness of the green channel of the acquired image." -msgstr "Stellt die Helligkeit der grünen Komponente des gescannten Bildes ein." +msgstr "" +"Stellt die Helligkeit der grünen Komponente des gescannten Bildes ein." #: backend/mustek.c:4469 #, no-c-format @@ -5195,7 +5292,8 @@ msgstr "Helligkeit des Blauwerts" #: backend/mustek.c:4470 #, no-c-format msgid "Controls the brightness of the blue channel of the acquired image." -msgstr "Stellt die Helligkeit der blauen Komponente des gescannten Bildes ein." +msgstr "" +"Stellt die Helligkeit der blauen Komponente des gescannten Bildes ein." #: backend/mustek.c:4495 #, no-c-format @@ -5205,7 +5303,8 @@ msgstr "Kontrast der grünen Komponente" #: backend/mustek.c:4496 #, no-c-format msgid "Controls the contrast of the red channel of the acquired image." -msgstr "Stellt den Kontrast der roten Komponente des gescannten Bildes ein." +msgstr "" +"Stellt den Kontrast der roten Komponente des gescannten Bildes ein." #: backend/mustek.c:4508 #, no-c-format @@ -5215,7 +5314,8 @@ msgstr "Kontrast der grünen Komponente" #: backend/mustek.c:4509 #, no-c-format msgid "Controls the contrast of the green channel of the acquired image." -msgstr "Stellt den Kontrast der grünen Komponente des gescannten Bildes ein." +msgstr "" +"Stellt den Kontrast der grünen Komponente des gescannten Bildes ein." #: backend/mustek.c:4521 #, no-c-format @@ -5225,7 +5325,8 @@ msgstr "Kontrast der blauen Komponente" #: backend/mustek.c:4522 #, no-c-format msgid "Controls the contrast of the blue channel of the acquired image." -msgstr "Stellt den Kontrast der blauen Komponente des gescannten Bildes ein." +msgstr "" +"Stellt den Kontrast der blauen Komponente des gescannten Bildes ein." #: backend/mustek_usb2.c:105 #, no-c-format @@ -5260,48 +5361,53 @@ msgstr "Positiv" #: backend/mustek_usb2.c:421 #, no-c-format msgid "" -"Warm-up until the lamp's brightness is constant instead of insisting on 40 " -"seconds warm-up time." +"Warm-up until the lamp's brightness is constant instead of insisting on " +"40 seconds warm-up time." msgstr "" -"Warte solange, bis die Helligkeit der Lampe konstant ist anstatt einfach 40 " -"Sekunden zu warten." +"Warte solange, bis die Helligkeit der Lampe konstant ist anstatt einfach " +"40 Sekunden zu warten." + +#: backend/p5.c:1926 +#, no-c-format +msgid "Need calibration" +msgstr "Benötigt Kalibrierung" -#: backend/pixma.c:397 +#: backend/pixma/pixma.c:397 #, no-c-format msgid "Negative color" msgstr "Negativfilm Farbe" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, no-c-format msgid "Negative gray" msgstr "Negativfilm Graustufen" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "48 Bit Farbe" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "16 Bit Graustufen" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" -"Selects the scan source (such as a document-feeder). Set source before mode " -"and resolution. Resets mode and resolution to auto values." +"Selects the scan source (such as a document-feeder). Set source before " +"mode and resolution. Resets mode and resolution to auto values." msgstr "" -"Legt die Scanquelle fest (wie z.B. Dokumenteneinzug). Die Scanquelle muss " -"vor Scanmodus und Scanauflösung ausgewählt werden. Setzt die Einstellungen " -"für Scanmodus und Scanauflösung zurück." +"Legt die Scanquelle fest (wie z.B. Dokumenteneinzug). Die Scanquelle " +"muss vor Scanmodus und Scanauflösung ausgewählt werden. Setzt die " +"Einstellungen für Scanmodus und Scanauflösung zurück." -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Scannen auf Tastendruck" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5312,44 +5418,44 @@ msgstr "" "drücken Sie die Taste \"SCAN\" beim MP1500 oder \"COLOR\" bei anderen " "Modellen. Zum Abbrechen drücken Sie die Taste \"GRAY\"." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Tastenstatus aktualisieren" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Taste 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Taste 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "Vorlagentyp" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "Scanziel" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "Wartezeit Dokumenteneinzug" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" -"Der Scanner sucht während der Wartezeit (in Sekunden) nach einem Dokument, " -"welches in den Scanschacht eingelegt wird." +"Der Scanner sucht während der Wartezeit (in Sekunden) nach einem " +"Dokument, welches in den Scanschacht eingelegt wird." #: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format @@ -5436,7 +5542,7 @@ msgstr "Analog Frontend" msgid "Red gain value of the AFE" msgstr "Verstärkung roter Kanal des AD-Wandlers" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Offset roter Kanal" @@ -5549,11 +5655,11 @@ msgstr "Three-Pass Simulation" #: backend/pnm.c:255 #, no-c-format msgid "" -"Simulate a three-pass scanner by returning 3 separate frames. For kicks, it " -"returns green, then blue, then red." +"Simulate a three-pass scanner by returning 3 separate frames. For " +"kicks, it returns green, then blue, then red." msgstr "" -"Simuliere einen Three-Pass Scanner, indem hintereinander je ein Frame für " -"jede Grundfarbe übertragen wird. Die Reihenfolge ist grün-blau-rot." +"Simuliere einen Three-Pass Scanner, indem hintereinander je ein Frame " +"für jede Grundfarbe übertragen wird. Die Reihenfolge ist grün-blau-rot." #: backend/pnm.c:267 #, no-c-format @@ -5563,18 +5669,19 @@ msgstr "Handscanner Simulation" #: backend/pnm.c:268 #, no-c-format msgid "" -"Simulate a hand-scanner. Hand-scanners often do not know the image height a " -"priori. Instead, they return a height of -1. Setting this option allows " -"one to test whether a frontend can handle this correctly." +"Simulate a hand-scanner. Hand-scanners often do not know the image " +"height a priori. Instead, they return a height of -1. Setting this " +"option allows one to test whether a frontend can handle this correctly." msgstr "" -"Simuliere einen Handscanner. Bei Handscannern steht meistens die Bildhöhe " -"nicht von vornherein fest. Stattdessen geben sie eine Höhe von -1 zurück. " -"Mit dieser Option kann man prüfen, ob das Frontend damit richtig umgehen " -"kann." +"Simuliere einen Handscanner. Bei Handscannern steht meistens die " +"Bildhöhe nicht von vornherein fest. Stattdessen geben sie eine Höhe von " +"-1 zurück. Mit dieser Option kann man prüfen, ob das Frontend damit " +"richtig umgehen kann." #: backend/pnm.c:283 #, no-c-format -msgid "Set default values for enhancement controls (brightness & contrast)." +msgid "" +"Set default values for enhancement controls (brightness & contrast)." msgstr "" "Stellt die Farbverbesserungseinstellungen (Helligkeit und Kontrast) auf " "Defaultwerte." @@ -5620,8 +5727,8 @@ msgid "" "Force the backend to return the status code SANE_STATUS_EOF after " "sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " -"SANE_STATUS_EOF zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " +"Statuscode SANE_STATUS_EOF zurückzuliefern." #: backend/pnm.c:416 #, no-c-format @@ -5634,8 +5741,8 @@ msgid "" "Force the backend to return the status code SANE_STATUS_JAMMED after " "sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " -"SANE_STATUS_JAMMED zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " +"Statuscode SANE_STATUS_JAMMED zurückzuliefern." #: backend/pnm.c:430 #, no-c-format @@ -5648,8 +5755,8 @@ msgid "" "Force the backend to return the status code SANE_STATUS_NO_DOCS after " "sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " -"SANE_STATUS_NO_DOCS zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " +"Statuscode SANE_STATUS_NO_DOCS zurückzuliefern." #: backend/pnm.c:443 #, no-c-format @@ -5662,8 +5769,8 @@ msgid "" "Force the backend to return the status code SANE_STATUS_COVER_OPEN after " "sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " -"SANE_STATUS_COVER_OPEN zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " +"Statuscode SANE_STATUS_COVER_OPEN zurückzuliefern." #: backend/pnm.c:456 #, no-c-format @@ -5676,8 +5783,8 @@ msgid "" "Force the backend to return the status code SANE_STATUS_IO_ERROR after " "sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " -"SANE_STATUS_IO_ERROR zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " +"Statuscode SANE_STATUS_IO_ERROR zurückzuliefern." #: backend/pnm.c:469 #, no-c-format @@ -5690,8 +5797,8 @@ msgid "" "Force the backend to return the status code SANE_STATUS_NO_MEM after " "sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " -"SANE_STATUS_NO_MEM zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " +"Statuscode SANE_STATUS_NO_MEM zurückzuliefern." #: backend/pnm.c:483 #, no-c-format @@ -5701,18 +5808,18 @@ msgstr "Liefere SANE_STATUS_ACCESS_DENIED zurück" #: backend/pnm.c:484 #, no-c-format msgid "" -"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED after " -"sane_read() has been called." +"Force the backend to return the status code SANE_STATUS_ACCESS_DENIED " +"after sane_read() has been called." msgstr "" -"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den Statuscode " -"SANE_STATUS_ACCESS_DENIED zurückzuliefern." +"Zwinge das Backend dazu, nach einem Aufruf von sane_read() den " +"Statuscode SANE_STATUS_ACCESS_DENIED zurückzuliefern." #: backend/rts8891.c:2809 #, no-c-format msgid "This option reflects the status of a scanner button." msgstr "Diese Option zeigt den Zustand einer Scannertaste an." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Lampe an" @@ -5722,12 +5829,12 @@ msgstr "Lampe an" msgid "Turn on scanner lamp" msgstr "Schalte Scannerlampe ein" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Lampe aus" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Schalte Scannerlampe aus" @@ -5786,18 +5893,18 @@ msgstr "DispersedDot16x16" #, no-c-format msgid "" "Number of scan lines to request in a SCSI read. Changing this parameter " -"allows you to tune the speed at which data is read from the scanner during " -"scans. If this is set too low, the scanner will have to stop periodically in " -"the middle of a scan; if it's set too high, X-based frontends may stop " -"responding to X events and your system could bog down." +"allows you to tune the speed at which data is read from the scanner " +"during scans. If this is set too low, the scanner will have to stop " +"periodically in the middle of a scan; if it's set too high, X-based " +"frontends may stop responding to X events and your system could bog down." msgstr "" "Anzahl der Zeilen, die pro SCSI Lesevorgang angefordert werden. Eine " -"Änderung dieses Parameters erlaubt die Feineinstellung der Geschwindigkeit, " -"mit der Daten vom Scanner gelesen werden. Wenn die Geschwindigkeit zu " -"niedrig ist, muss der Scanner in regelmäßigen Abständen mitten im " -"Scanvorgang anhalten. Falls sie zu groß ist, reagiert die Scan-Anwendung " -"möglicherweise nicht mehr auf Eingaben und das System kann unbenutzbar " -"werden." +"Änderung dieses Parameters erlaubt die Feineinstellung der " +"Geschwindigkeit, mit der Daten vom Scanner gelesen werden. Wenn die " +"Geschwindigkeit zu niedrig ist, muss der Scanner in regelmäßigen " +"Abständen mitten im Scanvorgang anhalten. Falls sie zu groß ist, " +"reagiert die Scan-Anwendung möglicherweise nicht mehr auf Eingaben und " +"das System kann unbenutzbar werden." #: backend/snapscan-options.c:111 #, no-c-format @@ -5836,9 +5943,11 @@ msgstr "Vordefinierte Einstellungen" #: backend/snapscan-options.c:603 #, no-c-format msgid "" -"Provides standard scanning areas for photographs, printed pages and the like." +"Provides standard scanning areas for photographs, printed pages and the " +"like." msgstr "" -"Stellt Standardgrößen für Fotographien, bedruckte Seiten etc. zur Verfügung." +"Stellt Standardgrößen für Fotographien, bedruckte Seiten etc. zur " +"Verfügung." #: backend/snapscan-options.c:884 #, no-c-format @@ -5872,12 +5981,12 @@ msgstr "Fokus Position" #: backend/snapscan-options.c:930 #, no-c-format -msgid "Colour lines per read" +msgid "Color lines per read" msgstr "Farbzeilen pro Lesevorgang" #: backend/snapscan-options.c:942 #, no-c-format -msgid "Greyscale lines per read" +msgid "Grayscale lines per read" msgstr "Graustufenzeilen pro Lesevorgang" #: backend/stv680.c:974 @@ -5936,8 +6045,8 @@ msgid "" "This is the very long third entry. Maybe the frontend has an idea how to " "display it" msgstr "" -"Dies ist der sehr lange dritte Eintrag; vielleicht weiß das Frontend, wie " -"man ihn darstellen kann" +"Dies ist der sehr lange dritte Eintrag; vielleicht weiß das Frontend, " +"wie man ihn darstellen kann" #: backend/test.c:348 #, no-c-format @@ -5948,14 +6057,14 @@ msgstr "Handscanner-Simulation" #, no-c-format msgid "" "Simulate a hand-scanner. Hand-scanners do not know the image height a " -"priori. Instead, they return a height of -1. Setting this option allows " -"one to test whether a frontend can handle this correctly. This option also " -"enables a fixed width of 11 cm." +"priori. Instead, they return a height of -1. Setting this option " +"allows one to test whether a frontend can handle this correctly. This " +"option also enables a fixed width of 11 cm." msgstr "" -"Simuliere einen Handscanner. Bei Handscannern steht meistens die Bildhöhe " -"nicht von vornherein fest. Stattdessen geben sie eine Höhe von -1 zurück. " -"Mit dieser Option kann man prüfen, ob das Frontend damit richtig umgehen " -"kann." +"Simuliere einen Handscanner. Bei Handscannern steht meistens die " +"Bildhöhe nicht von vornherein fest. Stattdessen geben sie eine Höhe von " +"-1 zurück. Mit dieser Option kann man prüfen, ob das Frontend damit " +"richtig umgehen kann." #: backend/test.c:366 #, no-c-format @@ -5965,7 +6074,8 @@ msgstr "Three-Pass Simulation" #: backend/test.c:367 #, no-c-format msgid "" -"Simulate a three-pass scanner. In color mode, three frames are transmitted." +"Simulate a three-pass scanner. In color mode, three frames are " +"transmitted." msgstr "" "Simuliere einen Three-Pass-Scanner. Im Farbmodus werden drei Frames " "übertragen." @@ -5983,11 +6093,11 @@ msgstr "Legt die Reihenfolge der Frames im Three-Pass-Modus fest." #: backend/test.c:416 #, no-c-format msgid "" -"If Automatic Document Feeder is selected, the feeder will be 'empty' after " -"10 scans." +"If Automatic Document Feeder is selected, the feeder will be 'empty' " +"after 10 scans." msgstr "" -"Falls der automatische Dokumenteneinzug ausgewählt ist, meldet der Einzug " -"\"leer\" nach 10 Scans." +"Falls der automatische Dokumenteneinzug ausgewählt ist, meldet der " +"Einzug \"leer\" nach 10 Scans." #: backend/test.c:431 #, no-c-format @@ -6006,7 +6116,8 @@ msgid "" "Solid black: fills the whole scan with black.\n" "Solid white: fills the whole scan with white.\n" "Color pattern: draws various color test patterns depending on the mode.\n" -"Grid: draws a black/white grid with a width and height of 10 mm per square." +"Grid: draws a black/white grid with a width and height of 10 mm per " +"square." msgstr "" "Wählt die Art des Testbildes aus. Verfügbare Testbilder:\n" "Komplett schwarz: füllt das ganze Bild schwarz.\n" @@ -6024,9 +6135,9 @@ msgstr "Endianness umkehren" #: backend/test.c:468 #, no-c-format msgid "" -"Exchange upper and lower byte of image data in 16 bit modes. This option can " -"be used to test the 16 bit modes of frontends, e.g. if the frontend uses the " -"correct endianness." +"Exchange upper and lower byte of image data in 16 bit modes. This option " +"can be used to test the 16 bit modes of frontends, e.g. if the frontend " +"uses the correct endianness." msgstr "" "Tausche das untere und das obere Byte der Bilddaten im 16-Bit-Modus aus. " "Diese Option kann dazu benutzt werden, den 16-Bit-Modus der Frontends zu " @@ -6042,8 +6153,8 @@ msgstr "Lesebegrenzung" #, no-c-format msgid "Limit the amount of data transferred with each call to sane_read()." msgstr "" -"Begrenzt die Menge an Daten, die mit jedem Aufruf von sane_read() übertragen " -"wird." +"Begrenzt die Menge an Daten, die mit jedem Aufruf von sane_read() " +"übertragen wird." #: backend/test.c:498 #, no-c-format @@ -6052,7 +6163,8 @@ msgstr "Größe der Lesebegrenzung" #: backend/test.c:499 #, no-c-format -msgid "The (maximum) amount of data transferred with each call to sane_read()." +msgid "" +"The (maximum) amount of data transferred with each call to sane_read()." msgstr "" "Die (maximale) Menge and Daten, die bei jedem Aufruf von sane_read() " "übertragen wird." @@ -6077,8 +6189,8 @@ msgstr "Dauer der Leseverzögerung" msgid "" "How long to wait after transferring each buffer of data through the pipe." msgstr "" -"Legt fest, wie lange nach der Übertragung eines Datenpuffers durch die Pipe " -"gewartet wird." +"Legt fest, wie lange nach der Übertragung eines Datenpuffers durch die " +"Pipe gewartet wird." #: backend/test.c:543 #, no-c-format @@ -6088,9 +6200,9 @@ msgstr "Rückgabewert von sane_read" #: backend/test.c:545 #, no-c-format msgid "" -"Select the return-value of sane_read(). \"Default\" is the normal handling " -"for scanning. All other status codes are for testing how the frontend " -"handles them." +"Select the return-value of sane_read(). \"Default\" is the normal " +"handling for scanning. All other status codes are for testing how the " +"frontend handles them." msgstr "" "Legt den Rückgabewert von sane_read() fest. \"Default\" ist die normale " "Einstellung für's Scannen. Alle anderen Rückgabewerte dienen dazu, das " @@ -6129,8 +6241,8 @@ msgstr "Nichtblockierendes IO" #, no-c-format msgid "Use non-blocking IO for sane_read() if supported by the frontend." msgstr "" -"Verwende nichtblockierndes IO für sane_read(), wenn das durch das Frontend " -"unterstützt wird." +"Verwende nichtblockierndes IO für sane_read(), wenn das durch das " +"Frontend unterstützt wird." #: backend/test.c:605 #, no-c-format @@ -6140,10 +6252,11 @@ msgstr "Biete Select-Dateideskriptor an" #: backend/test.c:606 #, no-c-format msgid "" -"Offer a select filedescriptor for detecting if sane_read() will return data." +"Offer a select filedescriptor for detecting if sane_read() will return " +"data." msgstr "" -"Biete einen Select-Dateideskriptor an, damit das Frontend erkennen kann, ob " -"sane_read() Daten zurückliefern würde." +"Biete einen Select-Dateideskriptor an, damit das Frontend erkennen kann, " +"ob sane_read() Daten zurückliefern würde." #: backend/test.c:619 #, no-c-format @@ -6153,8 +6266,8 @@ msgstr "Test-Optionen einschalten" #: backend/test.c:620 #, no-c-format msgid "" -"Enable various test options. This is for testing the ability of frontends to " -"view and modify all the different SANE option types." +"Enable various test options. This is for testing the ability of " +"frontends to view and modify all the different SANE option types." msgstr "" "Schalte verschiedene Testoptionen ein. Mit diesen Optionen kann man die " "Fähigkeit des Frontends feststellen, die verschiedenen Typen von SANE-" @@ -6183,12 +6296,12 @@ msgstr "(1/6) Bool soft select soft detect" #: backend/test.c:727 #, no-c-format msgid "" -"(1/6) Bool test option that has soft select and soft detect (and advanced) " -"capabilities. That's just a normal bool option." +"(1/6) Bool test option that has soft select and soft detect (and " +"advanced) capabilities. That's just a normal bool option." msgstr "" -"(1/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"soft select\" " -"und \"soft detect\" (und \"advanced\") hat. Also eine ganz normale Bool-" -"Option." +"(1/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"soft select" +"\" und \"soft detect\" (und \"advanced\") hat. Also eine ganz normale " +"Bool-Option." #: backend/test.c:743 #, no-c-format @@ -6198,14 +6311,14 @@ msgstr "(2/6) Bool hard select soft detect" #: backend/test.c:745 #, no-c-format msgid "" -"(2/6) Bool test option that has hard select and soft detect (and advanced) " -"capabilities. That means the option can't be set by the frontend but by the " -"user (e.g. by pressing a button at the device)." +"(2/6) Bool test option that has hard select and soft detect (and " +"advanced) capabilities. That means the option can't be set by the " +"frontend but by the user (e.g. by pressing a button at the device)." msgstr "" -"(2/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"hard select\" " -"und \"soft detect\" (und \"advanced\") hat. Das bedeutet, dass die Option " -"nicht vom Frontend geändert werden kann, sondern vom Benutzer (z. B. indem " -"er eine Taste am Gerät drückt)." +"(2/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"hard select" +"\" und \"soft detect\" (und \"advanced\") hat. Das bedeutet, dass die " +"Option nicht vom Frontend geändert werden kann, sondern vom Benutzer (z. " +"B. indem er eine Taste am Gerät drückt)." #: backend/test.c:762 #, no-c-format @@ -6216,12 +6329,13 @@ msgstr "(3/6) Bool hard select" #, no-c-format msgid "" "(3/6) Bool test option that has hard select (and advanced) capabilities. " -"That means the option can't be set by the frontend but by the user (e.g. by " -"pressing a button at the device) and can't be read by the frontend." +"That means the option can't be set by the frontend but by the user (e.g. " +"by pressing a button at the device) and can't be read by the frontend." msgstr "" "(3/6) Dies is eine Bool-Testoption, welche die Fähigkieten \"hard select" -"\" (und \"advanced\") hat. Das bedeutet, dass die Option nicht vom Frontend " -"geändert werden kann, sondern vom Benutzer (z. B. indem er eine Taste am " +"\" (und \"advanced\") hat. Das bedeutet, dass die Option " +"nicht vom Frontend geändert " +"werden kann, sondern vom Benutzer (z. B. indem er eine Taste am " "Gerät drückt). Außerdem kann sie nicht vom Frontend gelesen werden." #: backend/test.c:781 @@ -6246,11 +6360,11 @@ msgstr "(5/6) Bool soft select soft detect emulated" #: backend/test.c:799 #, no-c-format msgid "" -"(5/6) Bool test option that has soft select, soft detect, and emulated (and " -"advanced) capabilities." +"(5/6) Bool test option that has soft select, soft detect, and emulated " +"(and advanced) capabilities." msgstr "" -"(5/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"soft select\", " -"\"soft detect\", und \"emulated\" (und \"advanced\") hat." +"(5/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"soft select" +"\", \"soft detect\", und \"emulated\" (und \"advanced\") hat." #: backend/test.c:815 #, no-c-format @@ -6260,12 +6374,13 @@ msgstr "(6/6) Bool soft select soft detect auto" #: backend/test.c:816 #, no-c-format msgid "" -"(6/6) Bool test option that has soft select, soft detect, and automatic (and " -"advanced) capabilities. This option can be automatically set by the backend." +"(6/6) Bool test option that has soft select, soft detect, and automatic " +"(and advanced) capabilities. This option can be automatically set by the " +"backend." msgstr "" -"(6/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"soft select\", " -"\"soft detect\", und \"automatic\" (und \"advanced\") hat. Diese Option kann " -"vom Backend automatisch gesetzt werden." +"(6/6) Dies ist eine Bool-Testoption, welche die Fähigkeiten \"soft select" +"\", \"soft detect\", und \"automatic\" (und \"advanced\") hat. Diese " +"Option kann vom Backend automatisch gesetzt werden." #: backend/test.c:833 #, no-c-format @@ -6290,8 +6405,8 @@ msgstr "(2/6) Int constraint range" #: backend/test.c:863 #, no-c-format msgid "" -"(2/6) Int test option with unit pixel and constraint range set. Minimum is " -"4, maximum 192, and quant is 2." +"(2/6) Int test option with unit pixel and constraint range set. Minimum " +"is 4, maximum 192, and quant is 2." msgstr "" "(2/6) Int-Testoption mit der Einheit \"Pixel\" und einer " "Bereichsbeschränkung. Das Minimum ist 4, das Maximum 192, und die " @@ -6317,9 +6432,11 @@ msgstr "(4/6) Int array" #: backend/test.c:896 #, no-c-format msgid "" -"(4/6) Int test option with unit mm and using an array without constraints." +"(4/6) Int test option with unit mm and using an array without " +"constraints." msgstr "" -"(4/6) Int-Testoption mit der Einheit \"mm\" und einem Feld ohne Beschränkung." +"(4/6) Int-Testoption mit der Einheit \"mm\" und einem Feld ohne " +"Beschränkung." #: backend/test.c:911 #, no-c-format @@ -6344,11 +6461,11 @@ msgstr "(6/6) Int array constraint word list" #: backend/test.c:930 #, no-c-format msgid "" -"(6/6) Int test option with unit percent and using an array with a word list " -"constraint." +"(6/6) Int test option with unit percent and using an array with a word " +"list constraint." msgstr "" -"(6/6) Int-Testoption mit der Einheit \"Prozent\" und einem Feld mit einer " -"Wort-Beschränkung." +"(6/6) Int-Testoption mit der Einheit \"Prozent\" und einem Feld mit " +"einer Wort-Beschränkung." #: backend/test.c:946 #, no-c-format @@ -6377,8 +6494,8 @@ msgid "" "Minimum is -42.17, maximum 32767.9999, and quant is 2.0." msgstr "" "(2/3) Fixed-Testoption mit der Einheit \"Mikrosekunde\" und einer " -"Bereichsbeschränkung. Das Minimum ist -42.17, das Maximum 32767.9999, und " -"die Schrittweite ist 2.0." +"Bereichsbeschränkung. Das Minimum ist -42.17, das Maximum 32767.9999, " +"und die Schrittweite ist 2.0." #: backend/test.c:992 #, no-c-format @@ -6389,7 +6506,8 @@ msgstr "(3/3) Fixed constraint word list" #, no-c-format msgid "(3/3) Fixed test option with no unit and constraint word list set." msgstr "" -"(3/3) Fixed-Testoption ohne Einheit und mit einer Wortlisten-Beschränkung." +"(3/3) Fixed-Testoption ohne Einheit und mit einer Wortlisten-" +"Beschränkung." #: backend/test.c:1008 #, no-c-format @@ -6530,56 +6648,72 @@ msgstr "Kalibrierungs Modus" msgid "Define calibration mode" msgstr "Kalibriermodus definieren" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Schaltet die Lampe an/aus" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "UTA ein" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Schaltet den UTA ein/aus" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Offset" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Einstellungen des Offsets der Farbkanäle" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Offset grüner Kanal" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Legt den Offset des grauen Kanals fest" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Legt den Offset des roten Kanals fest" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Legt den Offset des grünen Kanals fest" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Legt den Offset des blauen Kanals fest" +#~ msgid "Disable dynamic lineart" +#~ msgstr "Deaktiviere dynamische Strichzeichnung" + +#~ msgid "" +#~ "Disable use of a software adaptive algorithm to generate lineart " +#~ "relying instead on hardware lineart." +#~ msgstr "" +#~ "Deaktiviere Software angepassten Algorithmus zur Erstellung von " +#~ "Strichzeichnungen anstelle von Hardware-Strichzeichnungen." + +#~ msgid "linier" +#~ msgstr "Lineal" + +#~ msgid "It is right and left reversing" +#~ msgstr "Das ist rechter und linker Rücklauf" + #, fuzzy #~ msgid "IPC mode" #~ msgstr "Vorschaumodus" diff --git a/po/en_GB.po b/po/en_GB.po index 28695ac..bffc8b3 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -4,10 +4,10 @@ # Andrew Coles , 2009. msgid "" msgstr "" -"Project-Id-Version: \n" +"Project-Id-Version: sane-backends 1.0.29\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" -"PO-Revision-Date: 2019-07-26 09:45-0700\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" +"PO-Revision-Date: 2020-01-26 16:27+0900\n" "Last-Translator: Ralph Little \n" "Language-Team: British English \n" "Language: en_GB\n" @@ -28,31 +28,31 @@ msgid "Standard" msgstr "Standard" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Geometry" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Enhancement" @@ -86,7 +86,7 @@ msgid "Bit depth" msgstr "Bit depth" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Scan mode" @@ -127,7 +127,7 @@ msgid "Bottom-right y" msgstr "Bottom-right y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Scan resolution" @@ -282,7 +282,7 @@ msgstr "Filename" msgid "Halftone pattern size" msgstr "Halftone pattern size" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Halftone pattern" @@ -292,10 +292,10 @@ msgstr "Halftone pattern" msgid "Bind X and Y resolution" msgstr "Bind X and Y resolution" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negative" @@ -345,7 +345,6 @@ msgstr "Analogue gamma blue" msgid "Bind analog gamma" msgstr "Bind analogue gamma" -# Warm->Warm up? #: include/sane/saneopts.h:216 #, no-c-format msgid "Warmup lamp" @@ -419,10 +418,10 @@ msgstr "Lamp off at exit" #: include/sane/saneopts.h:245 #, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." #: include/sane/saneopts.h:248 @@ -747,7 +746,7 @@ msgstr "Analogue gamma-correction for blue" #: include/sane/saneopts.h:415 #, no-c-format -msgid "Warmup lamp before scanning" +msgid "Warm up lamp before scanning" msgstr "Warm up lamp before scanning" #: include/sane/saneopts.h:417 @@ -897,7 +896,7 @@ msgstr "Operation not supported" #: backend/sane_strstatus.c:65 #, no-c-format -msgid "Operation was cancelled" +msgid "Operation was canceled" msgstr "Operation was cancelled" #: backend/sane_strstatus.c:68 @@ -989,12 +988,11 @@ msgstr "" msgid "Only perform shading-correction" msgstr "Only perform shading-correction" -# "build" should really be "built" in original text #: backend/artec_eplus48u.c:2956 #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "If enabled, only the shading correction is performed during calibration. " @@ -1021,86 +1019,45 @@ msgstr "Selects the number of the frame to scan" msgid "Duplex scan" msgstr "Duplex scan" -# Original should be "Duplex scan provides..." #: backend/avision.h:783 #, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" "Duplex scan provides a scan of the front and back side of the document" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Calibrate Scanner" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Force scanner calibration before scan" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Greyscale scan" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Do a greyscale rather than colour scan" - -#: backend/canon630u.c:306 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Analog Gain" -msgstr "Analogue Gain" +msgid "Correction according to transparency ratio" +msgstr "Correction according to transparency ratio" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Increase or decrease the analogue gain of the CCD array" +msgid "Correction according to film type" +msgstr "Correction according to film type" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "Gamma Correction" +msgid "Fine color" +msgstr "Fine colour" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Selects the gamma corrected transfer curve" +msgid "Negatives" +msgstr "Negatives" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "Raw" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Fine colour" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "No transparency correction" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Correction according to film type" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Correction according to transparency ratio" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Negatives" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1233,11 +1190,10 @@ msgstr "medium not present" msgid "invalid bit IDENTIFY message" msgstr "invalid bit IDENTIFY message" -# Check this text. Does it make sense? #: backend/canon.c:460 #, no-c-format -msgid "option not connect" -msgstr "option not connect" +msgid "option not correct" +msgstr "option not correct" #: backend/canon.c:474 #, no-c-format @@ -1525,133 +1481,184 @@ msgstr "Select film type" msgid "Select the film type" msgstr "Select the film type" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Calibrate Scanner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Force scanner calibration before scan" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Greyscale scan" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Do a greyscale rather than colour scan" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Analogue Gain" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Increase or decrease the analogue gain of the CCD array" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Gamma Correction" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Selects the gamma corrected transfer curve" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbed" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "ADF Front" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "ADF Back" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "ADF Duplex" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Front" msgstr "Card Front" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "Card Back" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, no-c-format msgid "Card Duplex" msgstr "Card Duplex" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Red" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Green" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blue" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Red" msgstr "Enhance Red" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, no-c-format msgid "Enhance Green" msgstr "Enhance Green" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, no-c-format msgid "Enhance Blue" msgstr "Enhance Blue" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "None" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "Software blank skip percentage" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "Request driver to discard pages with low percentage of dark pixels" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Simplex" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Duplex" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Transparency Unit" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatic Document Feeder" @@ -1763,7 +1770,7 @@ msgstr "Ink-jet printers" msgid "CRT monitors" msgstr "CRT monitors" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1827,8 +1834,9 @@ msgstr "A4" msgid "Max" msgstr "Max" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -2000,17 +2008,17 @@ msgstr "Defines the zoom factor the scanner will use" msgid "Quick format" msgstr "Quick format" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Optional equipment" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Eject" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Eject the sheet in the ADF" @@ -2025,12 +2033,14 @@ msgstr "Auto eject" msgid "Eject document after scanning" msgstr "Eject document after scanning" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "ADF Mode" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Selects the ADF mode (simplex/duplex)" @@ -2080,16 +2090,16 @@ msgstr "" "After sending the scan command, wait until the button on the scanner is " "pressed to actually start the scan process." -#: backend/epson2.c:102 backend/pixma.c:409 -#, no-c-format -msgid "Infrared" -msgstr "Infrared" - -#: backend/epson2.c:117 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "TPU8x10" +#: backend/epson2.c:102 backend/pixma/pixma.c:409 +#, no-c-format +msgid "Infrared" +msgstr "Infrared" + #: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" @@ -2110,348 +2120,368 @@ msgstr "Built in CCT profile" msgid "User defined CCT profile" msgstr "User defined CCT profile" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "Load" + +#: backend/epsonds.c:751 +#, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Load a sheet in the ADF" + +#: backend/epsonds.c:771 +#, no-c-format +msgid "ADF Skew Correction" +msgstr "ADF Skew Correction" + +#: backend/epsonds.c:773 +#, no-c-format +msgid "Enables ADF skew correction" +msgstr "Enables ADF skew correction" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "On" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Off" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Dither" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, no-c-format msgid "Diffusion" msgstr "Diffusion" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, no-c-format msgid "White" msgstr "White" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, no-c-format msgid "Black" msgstr "Black" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "Continue" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "Stop" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "10mm" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "15mm" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "20mm" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, no-c-format msgid "Horizontal bold" msgstr "Horizontal bold" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, no-c-format msgid "Horizontal narrow" msgstr "Horizontal narrow" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, no-c-format msgid "Vertical bold" msgstr "Vertical bold" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "Top to bottom" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "Bottom to top" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, no-c-format msgid "Front" msgstr "Front" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "Back" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "Gamma function exponent" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "Changes intensity of midtones" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "RIF" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "Reverse image format" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, no-c-format msgid "Halftone type" msgstr "Halftone type" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "Control type of halftone filter" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "Control pattern of halftone filter" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "Outline" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, no-c-format msgid "Perform outline extraction" msgstr "Perform outline extraction" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, no-c-format msgid "Emphasis" msgstr "Emphasis" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "Negative to smooth or positive to sharpen image" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, no-c-format msgid "Separation" msgstr "Separation" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "Enable automatic separation of image and text" -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, no-c-format msgid "Mirroring" msgstr "Mirroring" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, no-c-format msgid "Reflect output image horizontally" msgstr "Reflect output image horizontally" -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, no-c-format msgid "White level follower" msgstr "White level follower" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, no-c-format msgid "Control white level follower" msgstr "Control white level follower" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, no-c-format msgid "BP filter" msgstr "BP filter" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "Improves quality of high resolution ball-point pen text" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Smoothing" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "Enable smoothing for improved OCR" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, no-c-format msgid "Gamma curve" msgstr "Gamma curve" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "Gamma curve, from light to dark, but upper two may not work" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Threshold curve" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" "Threshold curve, from light to dark, but upper two may not be linear" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, no-c-format msgid "Threshold white" msgstr "Threshold white" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "Set pixels equal to threshold to white instead of black" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, no-c-format msgid "Noise removal" msgstr "Noise removal" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "Matrix 5x5" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "Remove 5 pixel square noise" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "Matrix 4x4" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "Remove 4 pixel square noise" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "Matrix 3x3" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "Remove 3 pixel square noise" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "Matrix 2x2" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "Remove 2 pixel square noise" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "Variance" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "Set SDTC variance rate (sensitivity), 0 equals 127" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, no-c-format msgid "Auto width detection" msgstr "Auto width detection" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "Scanner detects paper sides. May reduce scanning speed." -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, no-c-format msgid "Auto length detection" msgstr "Auto length detection" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "Scanner detects paper lower edge. May confuse some frontends." -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "Compression" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "Enable compressed data. May crash your front-end program" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "Compression argument" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " @@ -2460,114 +2490,114 @@ msgstr "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "DF action" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "Action following double feed error" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "DF skew" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "Enable double feed error due to skew" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "DF thickness" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "Enable double feed error due to paper thickness" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "DF length" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "Enable double feed error due to paper length" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "DF length difference" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "Difference in page length to trigger double feed error" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, no-c-format msgid "DF recovery mode" msgstr "DF recovery mode" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "Request scanner to reverse feed on paper jam" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "Paper protection" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "Request scanner to predict jams in the ADF" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, no-c-format msgid "Advanced paper protection" msgstr "Advanced paper protection" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "Request scanner to predict jams in the ADF using improved sensors" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, no-c-format msgid "Staple detection" msgstr "Staple detection" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "Request scanner to detect jams in the ADF caused by staples" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "Background colour" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" "Set colour of background for scans. May conflict with overscan option" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, no-c-format msgid "Dropout color" msgstr "Dropout colour" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " @@ -2576,33 +2606,33 @@ msgstr "" "One-pass scanners use only one colour during grey or binary scanning, " "useful for coloured paper or ink" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, no-c-format msgid "Buffer mode" msgstr "Buffer mode" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" "Request scanner to read pages quickly from ADF into internal memory" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "Prepick" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "Request scanner to grab next page from ADF" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "Overscan" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2613,24 +2643,24 @@ msgstr "" "ADF, and increase maximum scan area beyond paper size, to allow " "collection on remaining sides. May conflict with bgcolor option" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "Sleep timer" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" "Time in minutes until the internal power supply switches to sleep mode" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, no-c-format msgid "Off timer" msgstr "Off timer" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " @@ -2639,42 +2669,42 @@ msgstr "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, no-c-format msgid "Duplex offset" msgstr "Duplex offset" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "Adjust front/back offset" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Green offset" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, no-c-format msgid "Adjust green/red offset" msgstr "Adjust green/red offset" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Blue offset" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, no-c-format msgid "Adjust blue/red offset" msgstr "Adjust blue/red offset" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "Low Memory" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2687,12 +2717,12 @@ msgstr "" "option 'side' can be used to determine correct image. This option should " "only be used with custom front-end software." -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, no-c-format msgid "Duplex side" msgstr "Duplex side" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " @@ -2701,154 +2731,154 @@ msgstr "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "Hardware deskew and crop" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "Request scanner to rotate and crop pages digitally." -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "Software deskew" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "Request driver to rotate skewed pages digitally." -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "Software despeckle diameter" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "Maximum diameter of lone dots to remove from scan." -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "Software crop" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "Request driver to remove border from pages digitally." -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "Halt on Cancel" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" "Request driver to halt the paper feed instead of eject during a cancel." -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, no-c-format msgid "Endorser Options" msgstr "Endorser Options" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "Controls for endorser unit" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "Endorser" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "Enable endorser unit" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "Endorser bits" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "Determines maximum endorser counter value." -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "Endorser value" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "Initial endorser counter value." -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "Endorser step" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "Change endorser counter value by this much for each page." -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "Endorser Y" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "Endorser print offset from top of paper." -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "Endorser font" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "Endorser printing font." -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, no-c-format msgid "Endorser direction" msgstr "Endorser direction" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "Endorser printing direction." -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "Endorser side" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "Endorser printing side, requires hardware support to change" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "Endorser string" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " @@ -2857,212 +2887,197 @@ msgstr "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "Top edge" -# Shouldn't we standardise on ADF? i.e. not adf -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "Paper is pulled partly into ADF" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, no-c-format msgid "A3 paper" msgstr "A3 paper" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "A3 paper detected" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, no-c-format msgid "B4 paper" msgstr "B4 paper" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "B4 paper detected" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, no-c-format msgid "A4 paper" msgstr "A4 paper" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "A4 paper detected" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, no-c-format msgid "B5 paper" msgstr "B5 paper" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "B5 paper detected" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "OMR or DF" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "OMR or double feed detected" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "Power saving" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "Scanner in power saving mode" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, no-c-format msgid "Manual feed" msgstr "Manual feed" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, no-c-format msgid "Manual feed selected" msgstr "Manual feed selected" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "Function" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "Function character on screen" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "Ink low" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "Imprinter ink running low" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "Double feed" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "Double feed detected" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "Error code" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, no-c-format msgid "Hardware error code" msgstr "Hardware error code" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "Skew angle" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "Requires black background for scanning" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "Ink remaining" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, no-c-format msgid "Imprinter ink level" msgstr "Imprinter ink level" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, no-c-format msgid "Density" msgstr "Density" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "Density dial" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, no-c-format msgid "Duplex switch" msgstr "Duplex switch" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "Request backend to remove border from pages digitally" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "Request driver to discard pages with low numbers of dark pixels" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "Software derotate" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "Request driver to detect and correct 90 degree image rotation" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "Dynamic threshold curve, from light to dark, normally 50-65" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "Disable dynamic lineart" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "Disable interpolation" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3071,32 +3086,32 @@ msgstr "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, no-c-format msgid "Color filter" msgstr "Colour filter" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "When using grey or lineart this option selects the used colour." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, no-c-format msgid "Calibration file" msgstr "Calibration file" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, no-c-format msgid "Specify the calibration file to use" msgstr "Specify the calibration file to use" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, no-c-format msgid "Calibration cache expiration time" msgstr "Calibration cache expiration time" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " @@ -3105,12 +3120,12 @@ msgstr "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Lamp off time" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3119,90 +3134,110 @@ msgstr "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, no-c-format msgid "Lamp off during scan" msgstr "Lamp off during scan" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "The lamp will be turned off during scan. " -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "File button" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "OCR button" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "Power button" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, no-c-format msgid "Extra button" msgstr "Extra button" -# Need->Needs? -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, no-c-format -msgid "Need calibration" -msgstr "Need calibration" +msgid "Needs calibration" +msgstr "Needs calibration" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "The scanner needs calibration for the current settings" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Buttons" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibrate" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, no-c-format msgid "Start calibration using special sheet" msgstr "Start calibration using special sheet" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, no-c-format msgid "Clear calibration" msgstr "Clear calibration" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, no-c-format msgid "Clear calibration cache" msgstr "Clear calibration cache" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, no-c-format msgid "Force calibration" msgstr "Force calibration" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "Force calibration ignoring all and any calibration caches" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, no-c-format +msgid "Ignore internal offsets" +msgstr "Ignore internal offsets" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" +"Acquires the image including the internal calibration areas of the " +"scanner" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Transparency Adapter" +#: backend/genesys/genesys.h:80 +#, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Transparency Adapter Infrared" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3307,638 +3342,635 @@ msgstr "Gamma value" msgid "Sets the gamma value of all channels." msgstr "Sets the gamma value of all channels." -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "Geometry Group" +msgid "Advanced Options" +msgstr "Advanced Options" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "Scan Mode Group" +msgid "Coarse" +msgstr "Coarse" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "Slide" +msgid "Fine" +msgstr "Fine" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Scanner model" -msgstr "Scanner model" +msgid "Bayer" +msgstr "Bayer" -# US spelling of behaviour is incorrect -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "Allows one to test device behaviour with other supported models" +msgid "Custom" +msgstr "Custom" -# US spelling of colour is incorrect -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Image colours will be inverted" -msgstr "Image colours will be inverted" +msgid "Auto" +msgstr "Auto" -#: backend/hp3900_sane.c:1436 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Disable gamma correction" -msgstr "Disable gamma correction" +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1437 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Gamma correction will be disabled" +msgid "XPA RGB" +msgstr "XPA RGB" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3093 #, no-c-format -msgid "Disable white shading correction" -msgstr "Disable white shading correction" +msgid "Pass-through" +msgstr "Pass-through" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3094 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "White shading correction will be disabled" +msgid "NTSC Gray" +msgstr "NTSC Grey" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Skip warmup process" -msgstr "Skip warmup process" +msgid "XPA Gray" +msgstr "XPA Grey" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "Warmup process will be disabled" +msgid "Slow" +msgstr "Slow" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "Force real depth" -msgstr "Force real depth" +msgid "Normal" +msgstr "Normal" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3149 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." +msgid "Fast" +msgstr "Fast" -#: backend/hp3900_sane.c:1499 +#: backend/hp-option.c:3150 #, no-c-format -msgid "Emulate Grayscale" -msgstr "Emulate Greyscale" +msgid "Extra Fast" +msgstr "Extra Fast" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3163 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"If enabled, image will be scanned in colour mode and then converted to " -"greyscale by software. This may improve image quality in some " -"circumstances." +msgid "2-pixel" +msgstr "2-pixel" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3164 #, no-c-format -msgid "Save debugging images" -msgstr "Save debugging images" +msgid "4-pixel" +msgstr "4-pixel" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3165 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"If enabled, some images involved in scanner processing are saved to " -"analyse them." +msgid "8-pixel" +msgstr "8-pixel" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Reset chipset" -msgstr "Reset chipset" +msgid "Print" +msgstr "Print" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Resets chipset data" -msgstr "Resets chipset data" +msgid "Slide" +msgstr "Slide" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Information" -msgstr "Information" +msgid "Film-strip" +msgstr "Film-strip" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Chipset name" -msgstr "Chipset name" +msgid "ADF" +msgstr "ADF" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "Shows chipset name used in device." +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Unknown" -msgstr "Unknown" +msgid "Conditional" +msgstr "Conditional" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Chipset ID" -msgstr "Chipset ID" +msgid "Experiment" +msgstr "Experiment" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.h:60 #, no-c-format -msgid "Shows the chipset ID" -msgstr "Shows the chipset ID" +msgid "Sharpening" +msgstr "Sharpening" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.h:61 #, no-c-format -msgid "Scan counter" -msgstr "Scan counter" +msgid "Set sharpening value." +msgstr "Set sharpening value." -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:66 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Shows the number of scans made by scanner" +msgid "Auto Threshold" +msgstr "Auto Threshold" -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.h:68 #, no-c-format -msgid "Update information" -msgstr "Update information" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "Enable automatic determination of threshold for line-art scans." -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:74 #, no-c-format -msgid "Updates information about device" -msgstr "Updates information about device" +msgid "Select smoothing filter." +msgstr "Select smoothing filter." -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:79 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "This option reflects a front panel scanner button" +msgid "Unload media after scan" +msgstr "Unload media after scan" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:80 #, no-c-format -msgid "Image" -msgstr "Image" +msgid "Unloads the media after a scan." +msgstr "Unloads the media after a scan." -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:85 #, no-c-format -msgid "Miscellaneous" -msgstr "Miscellaneous" +msgid "Change document" +msgstr "Change document" -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:86 #, no-c-format -msgid "offset X" -msgstr "offset X" +msgid "Change Document." +msgstr "Change Document." -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:91 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Hardware internal X position of the scanning area." +msgid "Unload" +msgstr "Unload" -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:92 #, no-c-format -msgid "offset Y" -msgstr "offset Y" +msgid "Unload Document." +msgstr "Unload Document." -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:98 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Hardware internal Y position of the scanning area." +msgid "Start calibration process." +msgstr "Start calibration process." -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:103 #, no-c-format -msgid "Lamp status" -msgstr "Lamp status" +msgid "Media" +msgstr "Media" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:104 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Switches the lamp on or off." +msgid "Set type of media." +msgstr "Set type of media." -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:109 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Calibrates for black and white level." +msgid "Exposure time" +msgstr "Exposure time" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:111 #, no-c-format -msgid "ADF" -msgstr "ADF" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." -#: backend/hp5590.c:95 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "TMA Slides" -msgstr "TMA Slides" +msgid "Color Matrix" +msgstr "Colour Matrix" -#: backend/hp5590.c:96 +#: backend/hp-option.h:121 #, no-c-format -msgid "TMA Negatives" -msgstr "TMA Negatives" +msgid "Set the scanner's color matrix." +msgstr "Set the scanner's colour matrix." -#: backend/hp5590.c:108 +#: backend/hp-option.h:127 #, no-c-format -msgid "Color (48 bits)" -msgstr "Colour (48 bits)" +msgid "Custom color matrix." +msgstr "Custom colour matrix." -#: backend/hp5590.c:112 +#: backend/hp-option.h:132 #, no-c-format -msgid "Extend lamp timeout" -msgstr "Extend lamp timeout" +msgid "Mono Color Matrix" +msgstr "Mono Colour Matrix" -#: backend/hp5590.c:113 +#: backend/hp-option.h:133 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "Extends lamp timeout (from 15 minutes to 1 hour)" +msgid "Custom color matrix for grayscale scans." +msgstr "Custom colour matrix for greyscale scans." -#: backend/hp5590.c:115 +#: backend/hp-option.h:138 #, no-c-format -msgid "Wait for button" -msgstr "Wait for button" +msgid "Mirror horizontal" +msgstr "Mirror horizontal" -#: backend/hp5590.c:116 +#: backend/hp-option.h:139 #, no-c-format -msgid "Waits for button before scanning" -msgstr "Waits for button before scanning" +msgid "Mirror image horizontally." +msgstr "Mirror image horizontally." -#: backend/hp5590.c:118 +#: backend/hp-option.h:144 #, no-c-format -msgid "Last button pressed" -msgstr "Last button pressed" +msgid "Mirror vertical" +msgstr "Mirror vertical" -#: backend/hp5590.c:119 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "Get ID of last button pressed (read only)" +msgid "Mirror image vertically." +msgstr "Mirror image vertically." -#: backend/hp5590.c:121 +#: backend/hp-option.h:150 #, no-c-format -msgid "LCD counter" -msgstr "LCD counter" +msgid "Update options" +msgstr "Update options" -#: backend/hp5590.c:122 +#: backend/hp-option.h:151 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "Get value of LCD counter (read only)" +msgid "Update options." +msgstr "Update options." -#: backend/hp5590.c:124 +#: backend/hp-option.h:156 #, no-c-format -msgid "Color LED indicator" -msgstr "Colour LED indicator" +msgid "8 bit output" +msgstr "8 bit output" -#: backend/hp5590.c:125 +#: backend/hp-option.h:158 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "Get value of LED indicator (read only)" +msgid "Use bit depth greater eight internally, but output only eight bits." +msgstr "" +"Use bit depth greater eight internally, but output only eight bits." -#: backend/hp5590.c:127 +#: backend/hp-option.h:164 #, no-c-format -msgid "Document available in ADF" -msgstr "Document available in ADF" +msgid "Front button wait" +msgstr "Front button wait" -#: backend/hp5590.c:128 +#: backend/hp-option.h:165 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "Get state of document-available indicator in ADF (read only)" +msgid "Wait to scan for front-panel button push." +msgstr "Wait to scan for front-panel button push." -#: backend/hp5590.c:130 +#: backend/hp-option.h:172 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "Hide end-of-page pixel" +msgid "Shut off lamp" +msgstr "Shut off lamp" -#: backend/hp5590.c:131 +#: backend/hp-option.h:173 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" -msgstr "" -"Hide end-of-page indicator pixels and overwrite with neighbour pixels" +msgid "Shut off scanner lamp." +msgstr "Shut off scanner lamp." -#: backend/hp5590.c:133 +#: backend/hp3500.c:1020 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "Filling mode of trailing lines after scan data (ADF)" +msgid "Geometry Group" +msgstr "Geometry Group" -#: backend/hp5590.c:134 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white colour, black = black colon, colour = RGB or grey colour " -"value" +msgid "Scan Mode Group" +msgstr "Scan Mode Group" -#: backend/hp5590.c:137 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "RGB or grey colour value for filling mode 'colour'" +msgid "Scanner model" +msgstr "Scanner model" -#: backend/hp5590.c:138 +#: backend/hp3900_sane.c:1408 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" -msgstr "" -"Colour value for trailing lines filling mode 'colour'. RGB colour as " -"r*65536+256*g+b or grey value (default=violet or grey)" +msgid "Allows one to test device behavior with other supported models" +msgstr "Allows one to test device behaviour with other supported models" -#: backend/hp-option.c:2987 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "Advanced Options" -msgstr "Advanced Options" +msgid "Image colors will be inverted" +msgstr "Image colours will be inverted" -#: backend/hp-option.c:3044 +#: backend/hp3900_sane.c:1436 #, no-c-format -msgid "Coarse" -msgstr "Coarse" +msgid "Disable gamma correction" +msgstr "Disable gamma correction" -#: backend/hp-option.c:3045 +#: backend/hp3900_sane.c:1437 #, no-c-format -msgid "Fine" -msgstr "Fine" +msgid "Gamma correction will be disabled" +msgstr "Gamma correction will be disabled" -#: backend/hp-option.c:3046 +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "Bayer" -msgstr "Bayer" +msgid "Disable white shading correction" +msgstr "Disable white shading correction" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Custom" -msgstr "Custom" +msgid "White shading correction will be disabled" +msgstr "White shading correction will be disabled" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Auto" -msgstr "Auto" +msgid "Skip warmup process" +msgstr "Skip warmup process" -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" +msgid "Warmup process will be disabled" +msgstr "Warmup process will be disabled" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" +msgid "Force real depth" +msgstr "Force real depth" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Pass-through" -msgstr "Pass-through" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1499 #, no-c-format -msgid "NTSC Gray" -msgstr "NTSC Grey" +msgid "Emulate Grayscale" +msgstr "Emulate Greyscale" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "XPA Gray" -msgstr "XPA Grey" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"If enabled, image will be scanned in colour mode and then converted to " +"greyscale by software. This may improve image quality in some " +"circumstances." -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Slow" -msgstr "Slow" +msgid "Save debugging images" +msgstr "Save debugging images" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "Normal" -msgstr "Normal" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"If enabled, some images involved in scanner processing are saved to " +"analyse them." -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "Fast" -msgstr "Fast" +msgid "Reset chipset" +msgstr "Reset chipset" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Extra Fast" -msgstr "Extra Fast" +msgid "Resets chipset data" +msgstr "Resets chipset data" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "2-pixel" -msgstr "2-pixel" +msgid "Information" +msgstr "Information" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "4-pixel" -msgstr "4-pixel" +msgid "Chipset name" +msgstr "Chipset name" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "8-pixel" -msgstr "8-pixel" +msgid "Shows chipset name used in device." +msgstr "Shows chipset name used in device." -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Print" -msgstr "Print" +msgid "Unknown" +msgstr "Unknown" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Film-strip" -msgstr "Film-strip" +msgid "Chipset ID" +msgstr "Chipset ID" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "XPA" -msgstr "XPA" +msgid "Shows the chipset ID" +msgstr "Shows the chipset ID" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1582 #, no-c-format -msgid "Conditional" -msgstr "Conditional" +msgid "Scan counter" +msgstr "Scan counter" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Experiment" -msgstr "Experiment" +msgid "Shows the number of scans made by scanner" +msgstr "Shows the number of scans made by scanner" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Sharpening" -msgstr "Sharpening" +msgid "Update information" +msgstr "Update information" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Set sharpening value." -msgstr "Set sharpening value." +msgid "Updates information about device" +msgstr "Updates information about device" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Auto Threshold" -msgstr "Auto Threshold" +msgid "This option reflects a front panel scanner button" +msgstr "This option reflects a front panel scanner button" -#: backend/hp-option.h:68 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "Enable automatic determination of threshold for line-art scans." +msgid "Image" +msgstr "Image" -#: backend/hp-option.h:74 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Select smoothing filter." -msgstr "Select smoothing filter." +msgid "Miscellaneous" +msgstr "Miscellaneous" -#: backend/hp-option.h:79 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Unload media after scan" -msgstr "Unload media after scan" +msgid "offset X" +msgstr "offset X" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Unloads the media after a scan." +msgid "Hardware internal X position of the scanning area." +msgstr "Hardware internal X position of the scanning area." -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Change document" -msgstr "Change document" +msgid "offset Y" +msgstr "offset Y" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Change Document." -msgstr "Change Document." +msgid "Hardware internal Y position of the scanning area." +msgstr "Hardware internal Y position of the scanning area." -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Unload" -msgstr "Unload" +msgid "Lamp status" +msgstr "Lamp status" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Unload Document." -msgstr "Unload Document." +msgid "Switches the lamp on or off." +msgstr "Switches the lamp on or off." -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Start calibration process." -msgstr "Start calibration process." +msgid "Calibrates for black and white level." +msgstr "Calibrates for black and white level." -#: backend/hp-option.h:103 +#: backend/hp5590.c:95 #, no-c-format -msgid "Media" -msgstr "Media" +msgid "TMA Slides" +msgstr "TMA Slides" -#: backend/hp-option.h:104 +#: backend/hp5590.c:96 #, no-c-format -msgid "Set type of media." -msgstr "Set type of media." +msgid "TMA Negatives" +msgstr "TMA Negatives" -#: backend/hp-option.h:109 +#: backend/hp5590.c:108 #, no-c-format -msgid "Exposure time" -msgstr "Exposure time" +msgid "Color (48 bits)" +msgstr "Colour (48 bits)" -#: backend/hp-option.h:111 +#: backend/hp5590.c:112 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." +msgid "Extend lamp timeout" +msgstr "Extend lamp timeout" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:113 #, no-c-format -msgid "Color Matrix" -msgstr "Colour Matrix" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Extends lamp timeout (from 15 minutes to 1 hour)" -# Requires apostrophe -#: backend/hp-option.h:121 +#: backend/hp5590.c:115 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "Set the scanner's colour matrix." +msgid "Wait for button" +msgstr "Wait for button" -#: backend/hp-option.h:127 +#: backend/hp5590.c:116 #, no-c-format -msgid "Custom color matrix." -msgstr "Custom colour matrix." +msgid "Waits for button before scanning" +msgstr "Waits for button before scanning" -#: backend/hp-option.h:132 +#: backend/hp5590.c:118 #, no-c-format -msgid "Mono Color Matrix" -msgstr "Mono Colour Matrix" +msgid "Last button pressed" +msgstr "Last button pressed" -#: backend/hp-option.h:133 +#: backend/hp5590.c:119 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Custom colour matrix for greyscale scans." +msgid "Get ID of last button pressed (read only)" +msgstr "Get ID of last button pressed (read only)" -#: backend/hp-option.h:138 +#: backend/hp5590.c:121 #, no-c-format -msgid "Mirror horizontal" -msgstr "Mirror horizontal" +msgid "LCD counter" +msgstr "LCD counter" -#: backend/hp-option.h:139 +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Mirror image horizontally." +msgid "Get value of LCD counter (read only)" +msgstr "Get value of LCD counter (read only)" -#: backend/hp-option.h:144 +#: backend/hp5590.c:124 #, no-c-format -msgid "Mirror vertical" -msgstr "Mirror vertical" +msgid "Color LED indicator" +msgstr "Colour LED indicator" -#: backend/hp-option.h:145 +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Mirror image vertically." +msgid "Get value of LED indicator (read only)" +msgstr "Get value of LED indicator (read only)" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Update options" +msgid "Document available in ADF" +msgstr "Document available in ADF" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Update options." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "Get state of document-available indicator in ADF (read only)" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "8 bit output" +msgid "Hide end-of-page pixel" +msgstr "Hide end-of-page pixel" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -"Use bit depth greater eight internally, but output only eight bits." +"Hide end-of-page indicator pixels and overwrite with neighbour pixels" -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Front button wait" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "Filling mode of trailing lines after scan data (ADF)" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Wait to scan for front-panel button push." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white colour, black = black colon, colour = RGB or grey colour " +"value" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Shut off lamp" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "RGB or grey colour value for filling mode 'colour'" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Shut off scanner lamp." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" +"Colour value for trailing lines filling mode 'colour'. RGB colour as " +"r*65536+256*g+b or grey value (default=violet or grey)" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4038,7 +4070,7 @@ msgid "single" msgstr "single" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" @@ -4205,10 +4237,9 @@ msgstr "high" msgid "crt" msgstr "crt" -# Linear? #: backend/kvs1025_opt.c:229 #, no-c-format -msgid "linier" +msgid "linear" msgstr "linear" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 @@ -4338,7 +4369,7 @@ msgstr "Sets the image emphasis" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" @@ -4405,14 +4436,14 @@ msgstr "Software automatic cropping" msgid "Request driver to remove border from pages digitally" msgstr "Request driver to remove border from pages digitally" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 #: backend/kvs40xx_opt.c:668 backend/kvs40xx_opt.c:669 @@ -4441,16 +4472,14 @@ msgstr "Double letter 11x17 in" msgid "B4" msgstr "B4" -# sensivity->sensitivity #: backend/kvs40xx_opt.c:231 #, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "High sensitivity" -# sensivity->sensitivity #: backend/kvs40xx_opt.c:232 #, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "Low sensitivity" #: backend/kvs40xx_opt.c:243 @@ -4473,6 +4502,15 @@ msgstr "Normal mode" msgid "Enhanced mode" msgstr "Enhanced mode" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" + # The grammar is a bit suspect here. #: backend/kvs40xx_opt.c:405 #, no-c-format @@ -4533,10 +4571,9 @@ msgstr "Inverse image in B/W mode" msgid "JPEG compression" msgstr "JPEG compression" -# yours->your #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "JPEG compression (your application must be able to uncompress)" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4569,34 +4606,30 @@ msgstr "Set chroma of blue" msgid "Skew adjustment" msgstr "Skew adjustment" -# Grammar? #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "Stop scanner if a sheet is skewed" -# stop->stopped #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" -msgstr "Scanner will be stopped if sheet is skewed" +msgid "Scanner will stop if a sheet is skewed" +msgstr "Scanner will stop if a sheet is skewed" #: backend/kvs40xx_opt.c:816 #, no-c-format msgid "Crop actual image area" msgstr "Crop actual image area" -# detect->detects; crop->crops #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" -msgstr "Scanner automatically detects image area and crops it" +msgid "Scanner will automatically detect image area and crop to it" +msgstr "Scanner will automatically detect image area and crop to it" -# Grammar? #: backend/kvs40xx_opt.c:827 #, no-c-format -msgid "It is right and left reversing" -msgstr "It is right and left reversing" +msgid "Left/right mirror image" +msgstr "Left/right mirror image" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4633,52 +4666,52 @@ msgstr "8x8 Bayer" msgid "8x8 Vertical Line" msgstr "8x8 Vertical Line" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Gain" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Colour channels gain settings" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Grey gain" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Sets grey channel gain" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Red gain" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Sets red channel gain" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Green gain" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Sets green channel gain" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Blue gain" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Sets blue channel gain" @@ -4764,7 +4797,7 @@ msgstr "One page" msgid "All pages" msgstr "All pages" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "sheetfed scanner" @@ -5266,27 +5299,33 @@ msgstr "" "Warm-up until the lamp's brightness is constant instead of insisting on " "40 seconds warm-up time." -#: backend/pixma.c:397 +# Original would be better as "Needs calibration". "Need calibration" is a command rather than a statement of fact which is what is required here, as in "You must need calibration, or else" +#: backend/p5.c:1926 +#, no-c-format +msgid "Need calibration" +msgstr "Needs calibration" + +#: backend/pixma/pixma.c:397 #, no-c-format msgid "Negative color" msgstr "Negative colour" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, no-c-format msgid "Negative gray" msgstr "Negative grey" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "48 bits colour" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "16 bits grey" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " @@ -5295,12 +5334,12 @@ msgstr "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Button-controlled scan" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5311,45 +5350,44 @@ msgstr "" "\"SCAN\" button (for MP150) or \"COLOUR\" button (for other models). To " "cancel, press \"GREY\" button." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Update button state" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Button 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Button 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "Type of original to scan" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "Target operation type" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "ADF Waiting Time" -# Grammar could be improved. -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" -"When set, the scanner waits the specified time in seconds for a new " -"document to be inserted into the automatic document feeder." +"When set, the scanner waits upto the specified time in seconds for a new " +"document inserted into the automatic document feeder." #: backend/plustek.c:235 backend/plustek_pp.c:204 backend/u12.c:156 #, no-c-format @@ -5436,7 +5474,7 @@ msgstr "Analogue frontend" msgid "Red gain value of the AFE" msgstr "Red gain value of the AFE" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Red offset" @@ -5711,7 +5749,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "This option reflects the status of a scanner button." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Lamp on" @@ -5721,12 +5759,12 @@ msgstr "Lamp on" msgid "Turn on scanner lamp" msgstr "Turn on scanner lamp" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Lamp off" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Turn off scanner lamp" @@ -5869,16 +5907,14 @@ msgstr "Focus-point" msgid "Focus point" msgstr "Focus point" -# Original should specify "color" not colour. #: backend/snapscan-options.c:930 #, no-c-format -msgid "Colour lines per read" +msgid "Color lines per read" msgstr "Colour lines per read" -# Original should specify gray #: backend/snapscan-options.c:942 #, no-c-format -msgid "Greyscale lines per read" +msgid "Grayscale lines per read" msgstr "Greyscale lines per read" #: backend/stv680.c:974 @@ -6522,56 +6558,72 @@ msgstr "Calibration mode" msgid "Define calibration mode" msgstr "Define calibration mode" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Sets lamp on/off" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "UTA on" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Sets UTA on/off" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Offset" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Colour channels offset settings" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Grey offset" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Sets grey channel offset" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Sets red channel offset" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Sets green channel offset" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Sets blue channel offset" +#~ msgid "Disable dynamic lineart" +#~ msgstr "Disable dynamic lineart" + +#~ msgid "" +#~ "Disable use of a software adaptive algorithm to generate lineart " +#~ "relying instead on hardware lineart." +#~ msgstr "" +#~ "Disable use of a software adaptive algorithm to generate lineart " +#~ "relying instead on hardware lineart." + +#~ msgid "linier" +#~ msgstr "linear" + +#~ msgid "It is right and left reversing" +#~ msgstr "It is right and left reversing" + #, fuzzy #~ msgid "IPC mode" #~ msgstr "Preview mode" diff --git a/po/eo.po b/po/eo.po index b1d42e2..ba57508 100644 --- a/po/eo.po +++ b/po/eo.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends.eo\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2007-12-08 13:28+0100\n" "Last-Translator: A.C.Codazzi\n" "Language-Team: \n" @@ -31,31 +31,31 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Geometrio" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Plibonigo" @@ -89,7 +89,7 @@ msgid "Bit depth" msgstr "Profundeco en bitoj" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Moduso de skanado" @@ -130,7 +130,7 @@ msgid "Bottom-right y" msgstr "Sube-dekstre Y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Difino de skanado" @@ -285,7 +285,7 @@ msgstr "Dosiernomo" msgid "Halftone pattern size" msgstr "Grado de modelo por meznuancoj" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Modelo por meznuanco" @@ -295,10 +295,10 @@ msgstr "Modelo por meznuanco" msgid "Bind X and Y resolution" msgstr "Bindu distindon de X kaj Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" @@ -419,9 +419,9 @@ msgid "Lamp off at exit" msgstr "Elŝaltu lampon kaj eliru" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Ĝi estas nurlega opcio kiu priskribas kiom da opcioj subtenas specifa " @@ -761,8 +761,8 @@ msgid "Analog gamma-correction for blue" msgstr "Analoga korektado de gama por bluo" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Varmigu lampon antaŭ la skanado" #: include/sane/saneopts.h:417 @@ -912,7 +912,7 @@ msgstr "Mez-nuancoj Nesubtenitaj" #: backend/sane_strstatus.c:65 #, no-c-format -msgid "Operation was cancelled" +msgid "Operation was canceled" msgstr "" #: backend/sane_strstatus.c:68 @@ -1005,10 +1005,10 @@ msgid "Only perform shading-correction" msgstr "Plenumu nur korektadon de ombroj" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Se ĝi estas ebligita, oni plemunas nur la korektadon de ombroj dum " @@ -1036,83 +1036,43 @@ msgid "Duplex scan" msgstr "Fronta-dorsa skanado" #: backend/avision.h:783 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "Ĝi plenumas frontan-dorsan skanadon de la dokumento" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Kalibrigu Skanilon" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Ĝi devigas kalibrigon de skanilon antaŭ la skanado" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Grizgama skanado" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Ĝi plenumas grizgaman anstataŭ kolora skanadon" - -#: backend/canon630u.c:306 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Analog Gain" -msgstr "Analoga Gajno" +msgid "Correction according to transparency ratio" +msgstr "Korektado rilata al la rejŝo de diafaneco" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Ĝi pliigas aŭ malpliigas la analogan gajnon de la CCD-sentilo" +msgid "Correction according to film type" +msgstr "Korektado rilata al la filmospeco" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "Korektado de Gama" +msgid "Fine color" +msgstr "Fajna koloro" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Ĝi elektas la kurbon de korektado de gama" +msgid "Negatives" +msgstr "Negativoj" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "Kruda" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Fajna koloro" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Neniu korektado de diafaneco" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Korektado rilata al la filmospeco" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Korektado rilata al la rejŝo de diafaneco" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Negativoj" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1246,8 +1206,8 @@ msgid "invalid bit IDENTIFY message" msgstr "mesaĝo kun nevalida IDENTIFY-bito" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" +#, fuzzy, no-c-format +msgid "option not correct" msgstr "opcio de ne-konektado" #: backend/canon.c:474 @@ -1537,133 +1497,184 @@ msgstr "Elektu specon de filmo" msgid "Select the film type" msgstr "Ĝi elektas specon de filmo" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Kalibrigu Skanilon" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Ĝi devigas kalibrigon de skanilon antaŭ la skanado" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Grizgama skanado" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Ĝi plenumas grizgaman anstataŭ kolora skanadon" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Analoga Gajno" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Ĝi pliigas aŭ malpliigas la analogan gajnon de la CCD-sentilo" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Korektado de Gama" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Ĝi elektas la kurbon de korektado de gama" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Fiksa ebeno" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, fuzzy, no-c-format msgid "ADF Front" msgstr "Kovrilo de ADF estas malfermita" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF estas blokita" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Fronta-dorsa ADF" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Front" msgstr "Presu" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Fronta-dorsa" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Ruĝo" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Verdo" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Bluo" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Plibonigo" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Plibonigo" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Plibonigo" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Nenio" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Unuopa" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Fronta-dorsa" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Reguligilo de Diafaneco" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Aŭtomata Provizilo de Dokumentoj" @@ -1775,7 +1786,7 @@ msgstr "Inkoŝprucaj printiloj" msgid "CRT monitors" msgstr "CRT ekranoj" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1839,8 +1850,9 @@ msgstr "A4" msgid "Max" msgstr "Maks" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -2013,17 +2025,17 @@ msgstr "Ĝi agordas la faktoron de zomo kiun la skanilo uzos" msgid "Quick format" msgstr "Formato rapido" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Akcesora ekipaĵo" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Elpelo" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Ĝi elpelas la folion el aŭtomata provizilo" @@ -2038,12 +2050,14 @@ msgstr "Mem-elpelo" msgid "Eject document after scanning" msgstr "Ĝi elpelas la dokumento post la skanado" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Moduso por ADF" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Ĝi elektas la ADF-moduso (unuopa/fronta-dorsa)" @@ -2093,14 +2107,14 @@ msgstr "" "Post la sendo de la skan-komando, ĝi atendas la premon de la butono de " "la skanilo por startigi la skanadon." -#: backend/epson2.c:102 backend/pixma.c:409 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format -msgid "Infrared" +msgid "TPU8x10" msgstr "" -#: backend/epson2.c:117 +#: backend/epson2.c:102 backend/pixma/pixma.c:409 #, no-c-format -msgid "TPU8x10" +msgid "Infrared" msgstr "" #: backend/epson2.c:136 @@ -2123,492 +2137,512 @@ msgstr "" msgid "User defined CCT profile" msgstr "Agordita de la uzanto" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Ĝi elpelas la folion el aŭtomata provizilo" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Neniu korektado" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Korektado de analoga gama" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Kondukta" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Elkluda" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Punktismo" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Difuzo de Eraro" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, fuzzy, no-c-format msgid "White" msgstr "Nivelo de blanko" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Black" msgstr "Nivelo de nigro" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, fuzzy, no-c-format msgid "Continue" msgstr "Kondiĉa" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontala" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Horizontala" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Horizontala" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertikala" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Vertikala" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, fuzzy, no-c-format msgid "Front" msgstr "Presu" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Meznuancoj" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Plenumu kalibrigon" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Emfazo de bildo" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Saturado" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "Ĝi elbligas aŭtomatan elekton de sojlo por duuma skanado." -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Spegula bildo" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Ĝi reflektas bildon horizontale." -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Nivelo de blanko laŭ bluo" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Mastrumu nivelon de ruĝo" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Filtrilo de Koloro" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Glatigo" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Valoro de Gama" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Sojlo" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Sojlo" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Redukto de bruo" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Neniu korektado" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Neniu korektado" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Kovrilo de ADF estas malfermita" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Avanaj Opcioj" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Neniu korektado" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Eskludado" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Moduso de provizilo" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2616,65 +2650,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "Ripozo de lampo" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Deŝovo laŭ bluo" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Deŝovo laŭ verdo" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Deŝovo laŭ verdo" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Deŝovo laŭ bluo" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Ĝi agordas la deŝovon de la blua kanalo" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2683,374 +2717,362 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Fronta-dorsa skanado" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Avanaj Opcioj" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Redukto de bruo" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, fuzzy, no-c-format msgid "A3 paper" msgstr "El papero" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, fuzzy, no-c-format msgid "B4 paper" msgstr "El papero" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, fuzzy, no-c-format msgid "A4 paper" msgstr "El papero" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, fuzzy, no-c-format msgid "B5 paper" msgstr "El papero" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "Kovrilo de ADF estas malfermita" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Mana prepara fokusigo" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Mana prepara fokusigo" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Eraro de kontrolo de la aparataro" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Nivelo de blanko" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "Regilo de denseco" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, fuzzy, no-c-format msgid "Density dial" msgstr "Regilo de denseco" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Fronta-dorsa skanado" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Ekstraĵoj" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "Malebligu interpoladon" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3059,45 +3081,45 @@ msgstr "" "Kiam oni uzas altajn distingojn kun la horizontala malpli alta ol la " "verticala, la horizontala interpolado estas malebligata." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtrilo de Koloro" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Kiam oni uzas grizan aŭ duuman kolorojn, tiu elektas uzatan koloron." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrigo" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Difinu moduson de kalibrigo" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kaŝmemoro por kalibrigo" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Ripozo de lampo" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3106,90 +3128,109 @@ msgstr "" "La lampo estos elŝaltata post la fiksita tempo (en minutoj). La valoro " "signifas ke la lampo neniam ripozos." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Elŝaltita lampo dum kalibrigo de nigro" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" "Nombro da minutoj pasantaj inter la skanado kaj la elŝalto de la lampo" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, fuzzy, no-c-format msgid "File button" msgstr "Atendu butonon" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, fuzzy, no-c-format msgid "Power button" msgstr "Atendu butonon" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "Atendu butonon" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, fuzzy, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Grajneca kalibrigo" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Ĝi devigas kalibrigon de skanilon antaŭ la skanado" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Butonoj" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrigu" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Startigu kalibrigadon." -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Grajneca kalibrigo" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Kaŝmemoro por kalibrigo" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Grajneca kalibrigo" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Deŝovo laŭ verdo" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "reguligilo de Diafaneco" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "reguligilo de Diafaneco" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3296,622 +3337,622 @@ msgstr "Valoro de Gama" msgid "Sets the gamma value of all channels." msgstr "Ĝi agordas valoron de gama por ĉiuj kanaloj." -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "Geometria Grupo" +msgid "Advanced Options" +msgstr "Avanaj Opcioj" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "Grupo de Moduso de Skanado" +msgid "Coarse" +msgstr "Grajna" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "Lumbildo" +msgid "Fine" +msgstr "Fajna" -#: backend/hp3900_sane.c:1405 -#, fuzzy, no-c-format -msgid "Scanner model" -msgstr "Moduso de skanado" +# Bayer è il nome della persona che ha inventato questa matrice per il +# dithering. +#: backend/hp-option.c:3046 +#, no-c-format +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" +msgid "Custom" +msgstr "Personigita" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Image colours will be inverted" -msgstr "" +msgid "Auto" +msgstr "Aŭtomata" -#: backend/hp3900_sane.c:1436 -#, fuzzy, no-c-format -msgid "Disable gamma correction" -msgstr "Korektado de analoga gama" +#: backend/hp-option.c:3091 +#, no-c-format +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1437 -#, fuzzy, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Korektado de gama" +#: backend/hp-option.c:3092 +#, no-c-format +msgid "XPA RGB" +msgstr "XPA RGB" -#: backend/hp3900_sane.c:1451 -#, fuzzy, no-c-format -msgid "Disable white shading correction" -msgstr "Plenumu nur korektadon de ombroj" +#: backend/hp-option.c:3093 +#, no-c-format +msgid "Pass-through" +msgstr "Trapasanta" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3094 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "" +msgid "NTSC Gray" +msgstr "NTSC-Grizo" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Skip warmup process" -msgstr "" +msgid "XPA Gray" +msgstr "XPA-Grizo" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "" +msgid "Slow" +msgstr "Malrapida" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "Force real depth" -msgstr "" +msgid "Normal" +msgstr "Normala" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3149 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" +msgid "Fast" +msgstr "Rapida" -#: backend/hp3900_sane.c:1499 -#, fuzzy, no-c-format -msgid "Emulate Grayscale" -msgstr "Grizgamo" - -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3150 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" +msgid "Extra Fast" +msgstr "Tre Rapida" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3163 #, no-c-format -msgid "Save debugging images" -msgstr "" +msgid "2-pixel" +msgstr "2-bilderoj" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3164 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" - -#: backend/hp3900_sane.c:1533 -#, fuzzy, no-c-format -msgid "Reset chipset" -msgstr "Re-agordu skanilon" +msgid "4-pixel" +msgstr "4-bilderoj" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3165 #, no-c-format -msgid "Resets chipset data" -msgstr "" - -#: backend/hp3900_sane.c:1547 -#, fuzzy, no-c-format -msgid "Information" -msgstr "Ignoru kalibrigon" - -#: backend/hp3900_sane.c:1560 -#, fuzzy, no-c-format -msgid "Chipset name" -msgstr "Dosiernomo" +msgid "8-pixel" +msgstr "8-bilderoj" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "" - -#: backend/hp3900_sane.c:1565 -#, fuzzy, no-c-format -msgid "Unknown" -msgstr "nekonata" +msgid "Print" +msgstr "Presu" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Chipset ID" -msgstr "" - -#: backend/hp3900_sane.c:1572 -#, fuzzy, no-c-format -msgid "Shows the chipset ID" -msgstr "Re-agordu skanilon" - -#: backend/hp3900_sane.c:1582 -#, fuzzy, no-c-format -msgid "Scan counter" -msgstr "Fonto de skanilo" - -#: backend/hp3900_sane.c:1584 -#, fuzzy, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Elektu nombron da skanendaj filmeroj" - -#: backend/hp3900_sane.c:1594 -#, fuzzy, no-c-format -msgid "Update information" -msgstr "Opcioj de ĝisdatigo" +msgid "Slide" +msgstr "Lumbildo" -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Updates information about device" -msgstr "" +msgid "Film-strip" +msgstr "Filmo" -#: backend/hp3900_sane.c:1635 -#, fuzzy, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Tiuj ĉi opcioj agas sur la stato de la butonoj de la skanilo." +#: backend/hp-option.c:3256 backend/hp5590.c:93 +#, no-c-format +msgid "ADF" +msgstr "ADF" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Image" -msgstr "Bildo" +msgid "XPA" +msgstr "XPA" -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Miscellaneous" -msgstr "Diversaĵoj" +msgid "Conditional" +msgstr "Kondiĉa" -#: backend/hp5400_sane.c:358 +#: backend/hp-option.c:3417 #, no-c-format -msgid "offset X" -msgstr "deŝovo X" +msgid "Experiment" +msgstr "Eksperimento" -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:60 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Hardvara interna pozicio de X en la skanada areo." +msgid "Sharpening" +msgstr "Neteco" -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:61 #, no-c-format -msgid "offset Y" -msgstr "deŝovo Y" +msgid "Set sharpening value." +msgstr "Ĝi agordas la valoron de neteco." -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:66 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Hardvara interna pozicio de Y en la skanada areo." +msgid "Auto Threshold" +msgstr "Aŭtomata Sojlo" -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:68 #, no-c-format -msgid "Lamp status" -msgstr "Stato de la lampo" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "Ĝi elbligas aŭtomatan elekton de sojlo por duuma skanado." -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:74 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Ŝaltu aŭ elŝaltu la lampon." +msgid "Select smoothing filter." +msgstr "Elektu filtrilon por glatigi." -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:79 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Kalibrigu la nivelojn de nigro kaj blanko." +msgid "Unload media after scan" +msgstr "Elpelu bazon post skanado" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:80 #, no-c-format -msgid "ADF" -msgstr "ADF" +msgid "Unloads the media after a scan." +msgstr "Ĝi elpelas la bazon post skanado." -#: backend/hp5590.c:95 +#: backend/hp-option.h:85 #, no-c-format -msgid "TMA Slides" -msgstr "TMA-Lumbildoj" +msgid "Change document" +msgstr "Ŝangu dokumenton" -#: backend/hp5590.c:96 +#: backend/hp-option.h:86 #, no-c-format -msgid "TMA Negatives" -msgstr "TMA-Negativoj" +msgid "Change Document." +msgstr "Ĝi ŝangas dokumenton." -#: backend/hp5590.c:108 +#: backend/hp-option.h:91 #, no-c-format -msgid "Color (48 bits)" -msgstr "Koloro (48 bitoj)" +msgid "Unload" +msgstr "Elpelu" -#: backend/hp5590.c:112 +#: backend/hp-option.h:92 #, no-c-format -msgid "Extend lamp timeout" -msgstr "Prokastu elŝalton de lampo" +msgid "Unload Document." +msgstr "Elpelu Dokumenton." -#: backend/hp5590.c:113 +#: backend/hp-option.h:98 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "Ĝi prokastas elŝalton de lampo (de 15 minutoj ĝis 1 horo)" +msgid "Start calibration process." +msgstr "Startigu kalibrigadon." -#: backend/hp5590.c:115 +#: backend/hp-option.h:103 #, no-c-format -msgid "Wait for button" -msgstr "Atendu butonon" +msgid "Media" +msgstr "Bazo" -#: backend/hp5590.c:116 +#: backend/hp-option.h:104 #, no-c-format -msgid "Waits for button before scanning" -msgstr "Ĝi atendas butonpremon antaŭ skanado" +msgid "Set type of media." +msgstr "Agordu specon de bazo." -#: backend/hp5590.c:118 -#, fuzzy, no-c-format -msgid "Last button pressed" -msgstr "Ĝisdatigu staton de butono" +#: backend/hp-option.h:109 +#, no-c-format +msgid "Exposure time" +msgstr "Ekspontempo" -#: backend/hp5590.c:119 +#: backend/hp-option.h:111 #, no-c-format -msgid "Get ID of last button pressed (read only)" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." msgstr "" +"Pli longa ekspontempo ebligas la skanilon preni pli multe da lumo. " +"Oportunajvaloroj estas 175% por presaĵoj, 150% por normalaj lumbildoj " +"kaj \"Negativo\" por filmoj. Por malhelaj bildoj (subeksponitaj) pliigu " +"tiun ĉi valoro." -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Fonto de skanilo" - -#: backend/hp5590.c:122 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "" +msgid "Color Matrix" +msgstr "Matrico de Koloro" -#: backend/hp5590.c:124 +#: backend/hp-option.h:121 #, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Duuma Koloro" +msgid "Set the scanner's color matrix." +msgstr "Ĝi agordas matricon de koloro." -#: backend/hp5590.c:125 +#: backend/hp-option.h:127 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "" +msgid "Custom color matrix." +msgstr "Personigita matrico de koloro." -#: backend/hp5590.c:127 +#: backend/hp-option.h:132 #, no-c-format -msgid "Document available in ADF" -msgstr "" +msgid "Mono Color Matrix" +msgstr "Matrico de Monokromata Koloro" -#: backend/hp5590.c:128 +#: backend/hp-option.h:133 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +msgid "Custom color matrix for grayscale scans." +msgstr "Personigita matrico de koloro por grizgamaj skanadoj." -#: backend/hp5590.c:130 +#: backend/hp-option.h:138 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "" +msgid "Mirror horizontal" +msgstr "Spegulu horizontale" -#: backend/hp5590.c:131 +#: backend/hp-option.h:139 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" -msgstr "" +msgid "Mirror image horizontally." +msgstr "Ĝi reflektas bildon horizontale." -#: backend/hp5590.c:133 +#: backend/hp-option.h:144 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" +msgid "Mirror vertical" +msgstr "Spegulu vertikale" -#: backend/hp5590.c:134 +#: backend/hp-option.h:145 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" +msgid "Mirror image vertically." +msgstr "Ĝi reflektas bildon vertikale." -#: backend/hp5590.c:137 +#: backend/hp-option.h:150 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "" +msgid "Update options" +msgstr "Opcioj de ĝisdatigo" -#: backend/hp5590.c:138 +#: backend/hp-option.h:151 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" -msgstr "" +msgid "Update options." +msgstr "Opcioj de ĝisdatigo." -#: backend/hp-option.c:2987 +#: backend/hp-option.h:156 #, no-c-format -msgid "Advanced Options" -msgstr "Avanaj Opcioj" +msgid "8 bit output" +msgstr "8-bita eligo" -#: backend/hp-option.c:3044 +#: backend/hp-option.h:158 #, no-c-format -msgid "Coarse" -msgstr "Grajna" +msgid "Use bit depth greater eight internally, but output only eight bits." +msgstr "Uzu ene pli ol 8 bitoj de profundeco, sed eligu nur 8-bitojn." -#: backend/hp-option.c:3045 +#: backend/hp-option.h:164 #, no-c-format -msgid "Fine" -msgstr "Fajna" +msgid "Front button wait" +msgstr "Atendante frontan butonon" -# Bayer è il nome della persona che ha inventato questa matrice per il -# dithering. -#: backend/hp-option.c:3046 +#: backend/hp-option.h:165 #, no-c-format -msgid "Bayer" -msgstr "Bayer" +msgid "Wait to scan for front-panel button push." +msgstr "Ĝi atendas premon de la fronta butono de lo skanilo por skani." -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp-option.h:172 #, no-c-format -msgid "Custom" -msgstr "Personigita" +msgid "Shut off lamp" +msgstr "Elŝaltu lampon" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp-option.h:173 #, no-c-format -msgid "Auto" -msgstr "Aŭtomata" +msgid "Shut off scanner lamp." +msgstr "Ĝi elŝaltas la lampon de la skanilo." -#: backend/hp-option.c:3091 +#: backend/hp3500.c:1020 #, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" +msgid "Geometry Group" +msgstr "Geometria Grupo" -#: backend/hp-option.c:3092 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" +msgid "Scan Mode Group" +msgstr "Grupo de Moduso de Skanado" -#: backend/hp-option.c:3093 -#, no-c-format -msgid "Pass-through" -msgstr "Trapasanta" +#: backend/hp3900_sane.c:1405 +#, fuzzy, no-c-format +msgid "Scanner model" +msgstr "Moduso de skanado" -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1408 #, no-c-format -msgid "NTSC Gray" -msgstr "NTSC-Grizo" +msgid "Allows one to test device behavior with other supported models" +msgstr "" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "XPA Gray" -msgstr "XPA-Grizo" +msgid "Image colors will be inverted" +msgstr "" -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1436 +#, fuzzy, no-c-format +msgid "Disable gamma correction" +msgstr "Korektado de analoga gama" + +#: backend/hp3900_sane.c:1437 +#, fuzzy, no-c-format +msgid "Gamma correction will be disabled" +msgstr "Korektado de gama" + +#: backend/hp3900_sane.c:1451 +#, fuzzy, no-c-format +msgid "Disable white shading correction" +msgstr "Plenumu nur korektadon de ombroj" + +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Slow" -msgstr "Malrapida" +msgid "White shading correction will be disabled" +msgstr "" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Normal" -msgstr "Normala" +msgid "Skip warmup process" +msgstr "" -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "Fast" -msgstr "Rapida" +msgid "Warmup process will be disabled" +msgstr "" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "Extra Fast" -msgstr "Tre Rapida" +msgid "Force real depth" +msgstr "" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "2-pixel" -msgstr "2-bilderoj" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1499 +#, fuzzy, no-c-format +msgid "Emulate Grayscale" +msgstr "Grizgamo" + +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "4-pixel" -msgstr "4-bilderoj" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "8-pixel" -msgstr "8-bilderoj" +msgid "Save debugging images" +msgstr "" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "Print" -msgstr "Presu" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1533 +#, fuzzy, no-c-format +msgid "Reset chipset" +msgstr "Re-agordu skanilon" + +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Film-strip" -msgstr "Filmo" +msgid "Resets chipset data" +msgstr "" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1547 +#, fuzzy, no-c-format +msgid "Information" +msgstr "Ignoru kalibrigon" + +#: backend/hp3900_sane.c:1560 +#, fuzzy, no-c-format +msgid "Chipset name" +msgstr "Dosiernomo" + +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "XPA" -msgstr "XPA" +msgid "Shows chipset name used in device." +msgstr "" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1565 +#, fuzzy, no-c-format +msgid "Unknown" +msgstr "nekonata" + +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Conditional" -msgstr "Kondiĉa" +msgid "Chipset ID" +msgstr "" + +#: backend/hp3900_sane.c:1572 +#, fuzzy, no-c-format +msgid "Shows the chipset ID" +msgstr "Re-agordu skanilon" + +#: backend/hp3900_sane.c:1582 +#, fuzzy, no-c-format +msgid "Scan counter" +msgstr "Fonto de skanilo" -#: backend/hp-option.c:3417 -#, no-c-format -msgid "Experiment" -msgstr "Eksperimento" +#: backend/hp3900_sane.c:1584 +#, fuzzy, no-c-format +msgid "Shows the number of scans made by scanner" +msgstr "Elektu nombron da skanendaj filmeroj" -#: backend/hp-option.h:60 -#, no-c-format -msgid "Sharpening" -msgstr "Neteco" +#: backend/hp3900_sane.c:1594 +#, fuzzy, no-c-format +msgid "Update information" +msgstr "Opcioj de ĝisdatigo" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Set sharpening value." -msgstr "Ĝi agordas la valoron de neteco." +msgid "Updates information about device" +msgstr "" -#: backend/hp-option.h:66 -#, no-c-format -msgid "Auto Threshold" -msgstr "Aŭtomata Sojlo" +#: backend/hp3900_sane.c:1635 +#, fuzzy, no-c-format +msgid "This option reflects a front panel scanner button" +msgstr "Tiuj ĉi opcioj agas sur la stato de la butonoj de la skanilo." -#: backend/hp-option.h:68 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "Ĝi elbligas aŭtomatan elekton de sojlo por duuma skanado." +msgid "Image" +msgstr "Bildo" -#: backend/hp-option.h:74 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Select smoothing filter." -msgstr "Elektu filtrilon por glatigi." +msgid "Miscellaneous" +msgstr "Diversaĵoj" -#: backend/hp-option.h:79 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Unload media after scan" -msgstr "Elpelu bazon post skanado" +msgid "offset X" +msgstr "deŝovo X" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Ĝi elpelas la bazon post skanado." +msgid "Hardware internal X position of the scanning area." +msgstr "Hardvara interna pozicio de X en la skanada areo." -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Change document" -msgstr "Ŝangu dokumenton" +msgid "offset Y" +msgstr "deŝovo Y" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Change Document." -msgstr "Ĝi ŝangas dokumenton." +msgid "Hardware internal Y position of the scanning area." +msgstr "Hardvara interna pozicio de Y en la skanada areo." -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Unload" -msgstr "Elpelu" +msgid "Lamp status" +msgstr "Stato de la lampo" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Unload Document." -msgstr "Elpelu Dokumenton." +msgid "Switches the lamp on or off." +msgstr "Ŝaltu aŭ elŝaltu la lampon." -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Start calibration process." -msgstr "Startigu kalibrigadon." +msgid "Calibrates for black and white level." +msgstr "Kalibrigu la nivelojn de nigro kaj blanko." -#: backend/hp-option.h:103 +#: backend/hp5590.c:95 #, no-c-format -msgid "Media" -msgstr "Bazo" +msgid "TMA Slides" +msgstr "TMA-Lumbildoj" -#: backend/hp-option.h:104 +#: backend/hp5590.c:96 #, no-c-format -msgid "Set type of media." -msgstr "Agordu specon de bazo." +msgid "TMA Negatives" +msgstr "TMA-Negativoj" -#: backend/hp-option.h:109 +#: backend/hp5590.c:108 #, no-c-format -msgid "Exposure time" -msgstr "Ekspontempo" +msgid "Color (48 bits)" +msgstr "Koloro (48 bitoj)" -#: backend/hp-option.h:111 +#: backend/hp5590.c:112 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"Pli longa ekspontempo ebligas la skanilon preni pli multe da lumo. " -"Oportunajvaloroj estas 175% por presaĵoj, 150% por normalaj lumbildoj " -"kaj \"Negativo\" por filmoj. Por malhelaj bildoj (subeksponitaj) pliigu " -"tiun ĉi valoro." +msgid "Extend lamp timeout" +msgstr "Prokastu elŝalton de lampo" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:113 #, no-c-format -msgid "Color Matrix" -msgstr "Matrico de Koloro" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Ĝi prokastas elŝalton de lampo (de 15 minutoj ĝis 1 horo)" -#: backend/hp-option.h:121 +#: backend/hp5590.c:115 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "Ĝi agordas matricon de koloro." +msgid "Wait for button" +msgstr "Atendu butonon" -#: backend/hp-option.h:127 +#: backend/hp5590.c:116 #, no-c-format -msgid "Custom color matrix." -msgstr "Personigita matrico de koloro." +msgid "Waits for button before scanning" +msgstr "Ĝi atendas butonpremon antaŭ skanado" -#: backend/hp-option.h:132 -#, no-c-format -msgid "Mono Color Matrix" -msgstr "Matrico de Monokromata Koloro" +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Ĝisdatigu staton de butono" -#: backend/hp-option.h:133 +#: backend/hp5590.c:119 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Personigita matrico de koloro por grizgamaj skanadoj." +msgid "Get ID of last button pressed (read only)" +msgstr "" -#: backend/hp-option.h:138 -#, no-c-format -msgid "Mirror horizontal" -msgstr "Spegulu horizontale" +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Fonto de skanilo" -#: backend/hp-option.h:139 +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Ĝi reflektas bildon horizontale." +msgid "Get value of LCD counter (read only)" +msgstr "" -#: backend/hp-option.h:144 -#, no-c-format -msgid "Mirror vertical" -msgstr "Spegulu vertikale" +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Duuma Koloro" -#: backend/hp-option.h:145 +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Ĝi reflektas bildon vertikale." +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Opcioj de ĝisdatigo" +msgid "Document available in ADF" +msgstr "" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Opcioj de ĝisdatigo." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "8-bita eligo" +msgid "Hide end-of-page pixel" +msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." -msgstr "Uzu ene pli ol 8 bitoj de profundeco, sed eligu nur 8-bitojn." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Atendante frontan butonon" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Ĝi atendas premon de la fronta butono de lo skanilo por skani." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Elŝaltu lampon" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Ĝi elŝaltas la lampon de la skanilo." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4011,7 +4052,7 @@ msgid "single" msgstr "" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" @@ -4183,9 +4224,9 @@ msgid "crt" msgstr "" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Duuma" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4314,7 +4355,7 @@ msgstr "Ĝiu ebligas emfazon de bildo" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gama" @@ -4381,11 +4422,11 @@ msgstr "" msgid "Request driver to remove border from pages digitally" msgstr "" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4417,12 +4458,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "Altdensa printado" #: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "Malaltdensa printado" #: backend/kvs40xx_opt.c:243 @@ -4445,6 +4486,13 @@ msgstr "Normala" msgid "Enhanced mode" msgstr "Plibonigo" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4504,7 +4552,7 @@ msgstr "" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4539,12 +4587,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4554,13 +4602,13 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Spegula bildo" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4597,52 +4645,52 @@ msgstr "8x8 Bayer" msgid "8x8 Vertical Line" msgstr "8x8 vertikal-linia" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Gajno" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Agordaĵoj pri la gajno de la kanaloj de koloro" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Gajno laŭ grizo" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Ĝi agordas la gajnon de la griza kanalo" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Gajno laŭ ruĝo" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Ĝi agordas la gajnon de la ruĝa kanalo" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Gajno laŭ verdo" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Ĝi agordas la gajnon de la verda kanalo" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Gajno laŭ bluo" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Ĝi agordas la gajnon de la blua kanalo" @@ -4728,7 +4776,7 @@ msgstr "Unu paĝo" msgid "All pages" msgstr "Ĉiuj paĝoj" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "skaner kun aŭtomata provizilo" @@ -5235,39 +5283,44 @@ msgstr "" "Ĝi varmigas la lampon tiel ke ĝia heleco estas sensanĝa anstataŭ ĉiufoja " "varmigo je 40 sekundoj." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Grajneca kalibrigo" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negativa filmo" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Fajna koloro" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Skanado mastrumita de butono" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5278,40 +5331,40 @@ msgstr "" "butonon \"SCAN\" (por ML150) aŭ \"COLOR\" (por aliaj modeloj). Por " "refuzi, premu la butonon \"GRAY\"." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Ĝisdatigu staton de butono" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Butono 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Butono 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5400,7 +5453,7 @@ msgstr "Analoga fasado" msgid "Red gain value of the AFE" msgstr "Valoro de gajno laŭ ruĝo de la analoga fasado" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Deŝovo laŭ ruĝo" @@ -5675,7 +5728,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "Tiuj ĉi opcioj agas sur la stato de la butonoj de la skanilo." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Ŝaltu lampon" @@ -5685,12 +5738,12 @@ msgstr "Ŝaltu lampon" msgid "Turn on scanner lamp" msgstr "Ĝi ŝaltas la lampon de la skanilo" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Elŝaltu lampon" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Ĝi elŝaltas la lampon de la skanilo" @@ -5835,13 +5888,13 @@ msgid "Focus point" msgstr "Lokiĝo de Fokusigo" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" +#, fuzzy, no-c-format +msgid "Color lines per read" msgstr "Koloraj linioj por ĉiu legado" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" msgstr "Ĝrizgamaj linioj por ĉiu legado" #: backend/stv680.c:974 @@ -6497,52 +6550,52 @@ msgstr "Moduso de kalibrigo" msgid "Define calibration mode" msgstr "Difinu moduson de kalibrigo" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Ĝi ŝaltas/elŝaltas la lampon" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "Ŝaltu UTA" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Ĝi ŝaltas/elŝaltas la reguligilon de diafaneco" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Deŝovo" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Agordoj de deŝovo laŭ kanaloj de koloro" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Deŝovo laŭ grizo" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Ĝi agordas la deŝovon de la griza kanalo" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Ĝi agordas la deŝovon de la ruĝa kanalo" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Ĝi agordas la deŝovon de la verda kanalo" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Ĝi agordas la deŝovon de la blua kanalo" diff --git a/po/es.po b/po/es.po index c458c18..d099955 100644 --- a/po/es.po +++ b/po/es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2009-06-25 10:22+0100\n" "Last-Translator: Miguel Anxo Bouzada \n" "Language-Team: GALPon MiniNo \n" @@ -30,31 +30,31 @@ msgid "Standard" msgstr "Estándar" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Geometría" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Mejora" @@ -88,7 +88,7 @@ msgid "Bit depth" msgstr "Bit de profundidad" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Modo de escaneo" @@ -129,7 +129,7 @@ msgid "Bottom-right y" msgstr "Abajo-derecha Y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Resolución de escaneo" @@ -284,7 +284,7 @@ msgstr "Nombre de archivo" msgid "Halftone pattern size" msgstr "Tamaño del patrón de medios tonos" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Patrón de medios tonos" @@ -294,10 +294,10 @@ msgstr "Patrón de medios tonos" msgid "Bind X and Y resolution" msgstr "Enlazar resoluciones X e Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" @@ -418,9 +418,9 @@ msgid "Lamp off at exit" msgstr "Apagar la lámpara al salir" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Opción de sólo lectura que establece cuantas opciones soporta un " @@ -763,8 +763,8 @@ msgid "Analog gamma-correction for blue" msgstr "Corrección gamma analógica para azul" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Calentar la lámpara antes de escanear" #: include/sane/saneopts.h:417 @@ -913,8 +913,8 @@ msgid "Operation not supported" msgstr "Operación no soportada" #: backend/sane_strstatus.c:65 -#, no-c-format -msgid "Operation was cancelled" +#, fuzzy, no-c-format +msgid "Operation was canceled" msgstr "La operación va a ser cancelada" #: backend/sane_strstatus.c:68 @@ -1008,10 +1008,10 @@ msgid "Only perform shading-correction" msgstr "Realizar sólo correcciones de sombras" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Si está activado, sólo se realizarán correcciones de sombras durante la " @@ -1040,85 +1040,45 @@ msgid "Duplex scan" msgstr "Escaneo a dos caras" #: backend/avision.h:783 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" "El escaneo a dos caras proporciona un escaneo del anverso y el reverso " "del documento" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Calibrar el escáner" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Fuerza la calibración del escáner antes de realizar el escaneo" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Escaneo en escala de grises" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Escanea en escala de grises, no en color" - -#: backend/canon630u.c:306 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Analog Gain" -msgstr "Ganancia analógica" +msgid "Correction according to transparency ratio" +msgstr "Corrección conforme con la tasa de transparencia" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Aumenta o disminuye la ganancia analógica de la gama CCD" +msgid "Correction according to film type" +msgstr "Correción de acuerdo con el tipo de película" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "Corrección gamma" +msgid "Fine color" +msgstr "Color fino" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Selecciona la curva de transferencia de la corrección gamma" +msgid "Negatives" +msgstr "Negativos" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "En bruto" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Color fino" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Sin corrección de transparencia" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Correción de acuerdo con el tipo de película" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Corrección conforme con la tasa de transparencia" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Negativos" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1253,8 +1213,8 @@ msgid "invalid bit IDENTIFY message" msgstr "mensaje de bit de IDENTIFICACIÓN incorrecto" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" +#, fuzzy, no-c-format +msgid "option not correct" msgstr "la opción no conecta" #: backend/canon.c:474 @@ -1551,133 +1511,184 @@ msgstr "Seleccionar tipo de película" msgid "Select the film type" msgstr "Seleccionar el tipo de película" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Calibrar el escáner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Fuerza la calibración del escáner antes de realizar el escaneo" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Escaneo en escala de grises" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Escanea en escala de grises, no en color" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Ganancia analógica" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Aumenta o disminuye la ganancia analógica de la gama CCD" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Corrección gamma" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Selecciona la curva de transferencia de la corrección gamma" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Plana" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, fuzzy, no-c-format msgid "ADF Front" msgstr "la tapa del alimentador está abierta" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "atasco en el alimentador" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Alimentador a dos caras" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Front" msgstr "Imprimir" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Dos caras" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rojo" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Verde" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Azul" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Mejora" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Mejora" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Mejora" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Ninguno" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Una cara" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Dos caras" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Unidad de transparencias" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Alimentador automático de documentos (ADF)" @@ -1789,7 +1800,7 @@ msgstr "Impresoras de inyección de tinta" msgid "CRT monitors" msgstr "Monitores CRT" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1853,8 +1864,9 @@ msgstr "A4" msgid "Max" msgstr "Máx" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -2028,17 +2040,17 @@ msgstr "Define el factor de zoom que usará el escáner" msgid "Quick format" msgstr "Formato rápido" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Equipamiento opcional" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Expulsar" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Expulsar la hoja del alimentador" @@ -2053,12 +2065,14 @@ msgstr "Expulsión automática" msgid "Eject document after scanning" msgstr "Expulsar el documento después del escaneo" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Modo alimentador" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Seleccionar el modo del alimentador (una cara/dos caras)" @@ -2110,14 +2124,14 @@ msgstr "" "Después de enviar la orden de escanear, esperar hasta que se presione el " "botón del escáner para empezar realmente el proceso de escaneo." -#: backend/epson2.c:102 backend/pixma.c:409 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format -msgid "Infrared" +msgid "TPU8x10" msgstr "" -#: backend/epson2.c:117 +#: backend/epson2.c:102 backend/pixma/pixma.c:409 #, no-c-format -msgid "TPU8x10" +msgid "Infrared" msgstr "" #: backend/epson2.c:136 @@ -2140,494 +2154,514 @@ msgstr "" msgid "User defined CCT profile" msgstr "Definida por el usuario" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Expulsar la hoja del alimentador" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Sin corrección" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Desactivar corrección gamma" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Activo" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Apagado" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Difuminado" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Difusión de error" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, fuzzy, no-c-format msgid "White" msgstr "Nivel de blanco" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Black" msgstr "Nivel de negro" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, fuzzy, no-c-format msgid "Continue" msgstr "Condicional" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Horizontal" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Horizontal" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Vertical" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, fuzzy, no-c-format msgid "Front" msgstr "Imprimir" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Medios tonos" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Calibración de precisión" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Resalte de imagen" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Saturación" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Activar la determinación automática de umbral para escaneos como línea " "de arte." -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Invertir imagen" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Invertir la imagen horizontalmente." -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Nivel de blanco para azul" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Controla el nivel de rojo" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Filtro de color" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Suavizado" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Valor gamma" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Umbral" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Umbral" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Reducción de ruido" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Sin corrección" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Sin corrección" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "la tapa del alimentador está abierta" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Opciones avanzadas" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Sin corrección" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Exclusión" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Modo de alimentación" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2635,65 +2669,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "Tiempo de espera de la lámpara" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Desviación azul" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Desviación verde" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Desviación verde" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Desviación azul" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Ajusta el desplazamiento del canal de azul" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, fuzzy, no-c-format msgid "Low Memory" msgstr "No queda memoria" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2702,374 +2736,362 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Escaneo a dos caras" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Opciones avanzadas" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Reducción de ruido" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Del papel" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Del papel" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Del papel" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Del papel" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "La tapa del escáner está abierta" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Foco previo manual" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Foco previo manual" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "error de verificación de hardware" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Nivel de blanco" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "Control de densidad" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, fuzzy, no-c-format msgid "Density dial" msgstr "Control de densidad" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Escaneo a dos caras" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "Desactivar interpolación" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3078,45 +3100,45 @@ msgstr "" "Cuando se usan altas resoluciones en las que la resolución horizontal es " "más pequeña que la vertical, esto desactiva la interpolación horizontal." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtro de color" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Cuando se usa gris o línea de arte esta opción selecciona el color usado." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibración" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Define el modo de calibración" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Caché de datos de calibración" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Tiempo de espera de la lámpara" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3125,89 +3147,108 @@ msgstr "" "La lámpara será apagada después del tiempo dado (en minutos). Un valor " "de 0 significa que la lámpara no será apagada" -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Apagar la lámpara durante la calibración de oscuridad" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Minutos que tardará la lámpara en apagarse tras el escaneo" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "Botón de archivo" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "Botón de OCR" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "Botón de energía" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "Botón de correo-e" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, fuzzy, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Limpiar la calibración" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Fuerza la calibración del escáner antes de realizar el escaneo" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Botones" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibrar" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, no-c-format msgid "Start calibration using special sheet" msgstr "Iniciar calibración usando una hoja especial" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, no-c-format msgid "Clear calibration" msgstr "Limpiar la calibración" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, no-c-format msgid "Clear calibration cache" msgstr "Limpiar la caché de datos de calibración" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Calibración tosca" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Desviación verde" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptador de transparencias" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Adaptador de transparencias" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3315,635 +3356,635 @@ msgstr "Valor gamma" msgid "Sets the gamma value of all channels." msgstr "Ajusta el valor gamma para todos los canales." -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "Grupo de geometría" +msgid "Advanced Options" +msgstr "Opciones avanzadas" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "Grupo de modo de escaneo" +msgid "Coarse" +msgstr "Gruesa" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "Diapositiva" +msgid "Fine" +msgstr "Fina" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Scanner model" -msgstr "Modelo de escáner" - -#: backend/hp3900_sane.c:1408 -#, fuzzy, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" -"Permite comprobar el comportamiento del dispositivo con otros modelos " -"soportados" +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Image colours will be inverted" -msgstr "Las imágenes de color se invertirán" +msgid "Custom" +msgstr "Personalizado" -#: backend/hp3900_sane.c:1436 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Disable gamma correction" -msgstr "Desactivar corrección gamma" +msgid "Auto" +msgstr "Auto" -#: backend/hp3900_sane.c:1437 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Gamma correction will be disabled" -msgstr "La corrección gamma se desactivará" +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Disable white shading correction" -msgstr "Desactivar la corrección de sombra blanca" +msgid "XPA RGB" +msgstr "Adaptador de transparencias RGB" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3093 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "La corrección de sombra blanca se desactivará" +msgid "Pass-through" +msgstr "A través" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3094 #, no-c-format -msgid "Skip warmup process" -msgstr "Omitir proceso de calentamiento" +msgid "NTSC Gray" +msgstr "NTSC Gris" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "El proceso de calentamiento se desactivará" +msgid "XPA Gray" +msgstr "Adaptador de transparencias gris" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Force real depth" -msgstr "Forzar profundidad real" +msgid "Slow" +msgstr "Lento" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"Si gamma está activada, siempre se analiza en profundidad de 16 bits " -"para mejorar la calidad de la imagen y después convertirla a la " -"profundidad seleccionada. Esta opción evita la emulación de profundidad." +msgid "Normal" +msgstr "Normal" -#: backend/hp3900_sane.c:1499 +#: backend/hp-option.c:3149 #, no-c-format -msgid "Emulate Grayscale" -msgstr "Emular escala de grises" +msgid "Fast" +msgstr "Rápido" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3150 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"Si está activada, la imagen será escaneada en modo de color y después " -"convertida a escala de grises por software. Esto puede mejorar la " -"calidad de la imagen en algunas circunstancias." +msgid "Extra Fast" +msgstr "Muy rápido" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3163 #, no-c-format -msgid "Save debugging images" -msgstr "Guardar imágenes de depuración" +msgid "2-pixel" +msgstr "2-píxeles" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3164 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"Si se activa, algunas imágenes implicadas en el proceso de escaneo se " -"guardarán para analizarlas." +msgid "4-pixel" +msgstr "4-píxeles" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3165 #, no-c-format -msgid "Reset chipset" -msgstr "Reiniciar el chipset" +msgid "8-pixel" +msgstr "8-píxeles" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Resets chipset data" -msgstr "Reiniciar los datos del chipset" +msgid "Print" +msgstr "Imprimir" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Information" -msgstr "Información" +msgid "Slide" +msgstr "Diapositiva" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Chipset name" -msgstr "Nombre del chipset" +msgid "Film-strip" +msgstr "Tira de película" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "Muestra el nombre del chipset usado en el dispositivo." +msgid "ADF" +msgstr "Alimentador automático de documentos (ADF)" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Unknown" -msgstr "Desconocido" +msgid "XPA" +msgstr "Adaptador de transparencias (XPA)" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Chipset ID" -msgstr "ID del chipset" +msgid "Conditional" +msgstr "Condicional" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Shows the chipset ID" -msgstr "Mostrar la ID del chipset" +msgid "Experiment" +msgstr "Experimento" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.h:60 #, no-c-format -msgid "Scan counter" -msgstr "Contador de escaneos" +msgid "Sharpening" +msgstr "Nitidez" -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:61 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Mostrar el número de escaneos hechas por el escáner" +msgid "Set sharpening value." +msgstr "Ajustar el valor de nitidez." -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.h:66 #, no-c-format -msgid "Update information" -msgstr "Actualizar información" +msgid "Auto Threshold" +msgstr "Umbral automático" -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:68 #, no-c-format -msgid "Updates information about device" -msgstr "Actualiza la información acerca del dispositivo" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "" +"Activar la determinación automática de umbral para escaneos como línea " +"de arte." -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:74 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Esta opción refleja un botón del panel frontal del escáner" +msgid "Select smoothing filter." +msgstr "Seleccionar filtro de suavizado." -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:79 #, no-c-format -msgid "Image" -msgstr "Imagen" +msgid "Unload media after scan" +msgstr "Descargar soporte después de escanear" -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:80 #, no-c-format -msgid "Miscellaneous" -msgstr "Varios" +msgid "Unloads the media after a scan." +msgstr "Descargar los soportes después de escanear." -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:85 #, no-c-format -msgid "offset X" -msgstr "posición X" +msgid "Change document" +msgstr "Cambiar documento" -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:86 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Posición X interna en el hardware de la zona de escaneo." +msgid "Change Document." +msgstr "Cambiar documento." -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:91 #, no-c-format -msgid "offset Y" -msgstr "posición Y" +msgid "Unload" +msgstr "Descargar" -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:92 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Posición Y interna en el hardware de la zona de escaneo." +msgid "Unload Document." +msgstr "Descargar documento" -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:98 #, no-c-format -msgid "Lamp status" -msgstr "Estado de la lámpara" +msgid "Start calibration process." +msgstr "Iniciar proceso de calibración" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:103 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Enciende o apaga la lámpara" +msgid "Media" +msgstr "Soporte" -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:104 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Calibrar el nivel de blanco y negro." +msgid "Set type of media." +msgstr "Ajustar tipo de soporte." -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:109 #, no-c-format -msgid "ADF" -msgstr "Alimentador automático de documentos (ADF)" +msgid "Exposure time" +msgstr "Tiempo de exposición" -#: backend/hp5590.c:95 +#: backend/hp-option.h:111 #, no-c-format -msgid "TMA Slides" -msgstr "Adaptador (TMA) para diapositivas" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"Una exposición prolongada permite al escáner recoger más luz. Se sugiere " +"usar 175% para impresiones, 150% para diapositivas normales y «Negativo» " +"para película en negativo. Para imágenes oscuras (subexpuestas) puede " +"incrementar este valor." -#: backend/hp5590.c:96 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "TMA Negatives" -msgstr "Adaptador (TMA) para negativos" +msgid "Color Matrix" +msgstr "Matriz de color" -#: backend/hp5590.c:108 -#, no-c-format -msgid "Color (48 bits)" -msgstr "Color (48 bits)" +#: backend/hp-option.h:121 +#, fuzzy, no-c-format +msgid "Set the scanner's color matrix." +msgstr "Ajustar la matriz de color del escáner." -#: backend/hp5590.c:112 +#: backend/hp-option.h:127 #, no-c-format -msgid "Extend lamp timeout" -msgstr "Retardar el tiempo de apagado de la lámpara" +msgid "Custom color matrix." +msgstr "Matriz de color personalizada." -#: backend/hp5590.c:113 +#: backend/hp-option.h:132 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "" -"Retarda los tiempos de apagado de la lámpara (de 15 minutos a 1 hora)" +msgid "Mono Color Matrix" +msgstr "Matriz monocromo" -#: backend/hp5590.c:115 +#: backend/hp-option.h:133 #, no-c-format -msgid "Wait for button" -msgstr "Esperando por el botón" +msgid "Custom color matrix for grayscale scans." +msgstr "Matriz de color personalizada para escáneres en escala de grises." -#: backend/hp5590.c:116 +#: backend/hp-option.h:138 #, no-c-format -msgid "Waits for button before scanning" -msgstr "Esperando por el botón antes de escanear" - -#: backend/hp5590.c:118 -#, fuzzy, no-c-format -msgid "Last button pressed" -msgstr "Actualizar estado del botón" +msgid "Mirror horizontal" +msgstr "Inversión horizontal" -#: backend/hp5590.c:119 +#: backend/hp-option.h:139 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "" - -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Contador de escaneos" +msgid "Mirror image horizontally." +msgstr "Invertir la imagen horizontalmente." -#: backend/hp5590.c:122 +#: backend/hp-option.h:144 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "" - -#: backend/hp5590.c:124 -#, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Linea de arte a color" +msgid "Mirror vertical" +msgstr "Inversión vertical" -#: backend/hp5590.c:125 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "" +msgid "Mirror image vertically." +msgstr "Invertir la imagen verticalmente." -#: backend/hp5590.c:127 +#: backend/hp-option.h:150 #, no-c-format -msgid "Document available in ADF" -msgstr "" +msgid "Update options" +msgstr "Actualizar opciones" -#: backend/hp5590.c:128 +#: backend/hp-option.h:151 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +msgid "Update options." +msgstr "Actualizar opciones." -#: backend/hp5590.c:130 +#: backend/hp-option.h:156 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "" +msgid "8 bit output" +msgstr "Salida de 8 bits" -#: backend/hp5590.c:131 +#: backend/hp-option.h:158 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" +"Usar bit de profundidad mayor de ocho internamente, pero en la salida " +"usar sólo ocho bits." -#: backend/hp5590.c:133 +#: backend/hp-option.h:164 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" +msgid "Front button wait" +msgstr "Esperar botón frontal" -#: backend/hp5590.c:134 +#: backend/hp-option.h:165 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" +msgid "Wait to scan for front-panel button push." +msgstr "Esperar a que se presione en el botón frontal para escanear." -#: backend/hp5590.c:137 +#: backend/hp-option.h:172 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "" +msgid "Shut off lamp" +msgstr "Apagar lámpara" -#: backend/hp5590.c:138 +#: backend/hp-option.h:173 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" -msgstr "" +msgid "Shut off scanner lamp." +msgstr "Apagar la lámpara del escáner." -#: backend/hp-option.c:2987 +#: backend/hp3500.c:1020 #, no-c-format -msgid "Advanced Options" -msgstr "Opciones avanzadas" +msgid "Geometry Group" +msgstr "Grupo de geometría" -#: backend/hp-option.c:3044 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "Coarse" -msgstr "Gruesa" +msgid "Scan Mode Group" +msgstr "Grupo de modo de escaneo" -#: backend/hp-option.c:3045 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "Fine" -msgstr "Fina" +msgid "Scanner model" +msgstr "Modelo de escáner" -#: backend/hp-option.c:3046 -#, no-c-format -msgid "Bayer" -msgstr "Bayer" +#: backend/hp3900_sane.c:1408 +#, fuzzy, no-c-format +msgid "Allows one to test device behavior with other supported models" +msgstr "" +"Permite comprobar el comportamiento del dispositivo con otros modelos " +"soportados" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1422 +#, fuzzy, no-c-format +msgid "Image colors will be inverted" +msgstr "Las imágenes de color se invertirán" + +#: backend/hp3900_sane.c:1436 #, no-c-format -msgid "Custom" -msgstr "Personalizado" +msgid "Disable gamma correction" +msgstr "Desactivar corrección gamma" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1437 #, no-c-format -msgid "Auto" -msgstr "Auto" +msgid "Gamma correction will be disabled" +msgstr "La corrección gamma se desactivará" -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" +msgid "Disable white shading correction" +msgstr "Desactivar la corrección de sombra blanca" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "XPA RGB" -msgstr "Adaptador de transparencias RGB" +msgid "White shading correction will be disabled" +msgstr "La corrección de sombra blanca se desactivará" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Pass-through" -msgstr "A través" +msgid "Skip warmup process" +msgstr "Omitir proceso de calentamiento" -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "NTSC Gray" -msgstr "NTSC Gris" +msgid "Warmup process will be disabled" +msgstr "El proceso de calentamiento se desactivará" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "XPA Gray" -msgstr "Adaptador de transparencias gris" +msgid "Force real depth" +msgstr "Forzar profundidad real" -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Slow" -msgstr "Lento" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"Si gamma está activada, siempre se analiza en profundidad de 16 bits " +"para mejorar la calidad de la imagen y después convertirla a la " +"profundidad seleccionada. Esta opción evita la emulación de profundidad." -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1499 #, no-c-format -msgid "Normal" -msgstr "Normal" +msgid "Emulate Grayscale" +msgstr "Emular escala de grises" -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "Fast" -msgstr "Rápido" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"Si está activada, la imagen será escaneada en modo de color y después " +"convertida a escala de grises por software. Esto puede mejorar la " +"calidad de la imagen en algunas circunstancias." -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Extra Fast" -msgstr "Muy rápido" +msgid "Save debugging images" +msgstr "Guardar imágenes de depuración" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "2-pixel" -msgstr "2-píxeles" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"Si se activa, algunas imágenes implicadas en el proceso de escaneo se " +"guardarán para analizarlas." -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "4-pixel" -msgstr "4-píxeles" +msgid "Reset chipset" +msgstr "Reiniciar el chipset" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "8-pixel" -msgstr "8-píxeles" +msgid "Resets chipset data" +msgstr "Reiniciar los datos del chipset" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "Print" -msgstr "Imprimir" +msgid "Information" +msgstr "Información" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "Film-strip" -msgstr "Tira de película" +msgid "Chipset name" +msgstr "Nombre del chipset" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "XPA" -msgstr "Adaptador de transparencias (XPA)" +msgid "Shows chipset name used in device." +msgstr "Muestra el nombre del chipset usado en el dispositivo." -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Conditional" -msgstr "Condicional" +msgid "Unknown" +msgstr "Desconocido" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Experiment" -msgstr "Experimento" +msgid "Chipset ID" +msgstr "ID del chipset" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "Sharpening" -msgstr "Nitidez" +msgid "Shows the chipset ID" +msgstr "Mostrar la ID del chipset" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1582 #, no-c-format -msgid "Set sharpening value." -msgstr "Ajustar el valor de nitidez." +msgid "Scan counter" +msgstr "Contador de escaneos" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Auto Threshold" -msgstr "Umbral automático" +msgid "Shows the number of scans made by scanner" +msgstr "Mostrar el número de escaneos hechas por el escáner" -#: backend/hp-option.h:68 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "" -"Activar la determinación automática de umbral para escaneos como línea " -"de arte." +msgid "Update information" +msgstr "Actualizar información" -#: backend/hp-option.h:74 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Select smoothing filter." -msgstr "Seleccionar filtro de suavizado." +msgid "Updates information about device" +msgstr "Actualiza la información acerca del dispositivo" -#: backend/hp-option.h:79 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Unload media after scan" -msgstr "Descargar soporte después de escanear" +msgid "This option reflects a front panel scanner button" +msgstr "Esta opción refleja un botón del panel frontal del escáner" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Descargar los soportes después de escanear." +msgid "Image" +msgstr "Imagen" -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Change document" -msgstr "Cambiar documento" +msgid "Miscellaneous" +msgstr "Varios" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Change Document." -msgstr "Cambiar documento." +msgid "offset X" +msgstr "posición X" -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unload" -msgstr "Descargar" +msgid "Hardware internal X position of the scanning area." +msgstr "Posición X interna en el hardware de la zona de escaneo." -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Unload Document." -msgstr "Descargar documento" +msgid "offset Y" +msgstr "posición Y" -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Start calibration process." -msgstr "Iniciar proceso de calibración" +msgid "Hardware internal Y position of the scanning area." +msgstr "Posición Y interna en el hardware de la zona de escaneo." -#: backend/hp-option.h:103 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Media" -msgstr "Soporte" +msgid "Lamp status" +msgstr "Estado de la lámpara" -#: backend/hp-option.h:104 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Set type of media." -msgstr "Ajustar tipo de soporte." +msgid "Switches the lamp on or off." +msgstr "Enciende o apaga la lámpara" -#: backend/hp-option.h:109 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Exposure time" -msgstr "Tiempo de exposición" +msgid "Calibrates for black and white level." +msgstr "Calibrar el nivel de blanco y negro." -#: backend/hp-option.h:111 +#: backend/hp5590.c:95 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"Una exposición prolongada permite al escáner recoger más luz. Se sugiere " -"usar 175% para impresiones, 150% para diapositivas normales y «Negativo» " -"para película en negativo. Para imágenes oscuras (subexpuestas) puede " -"incrementar este valor." +msgid "TMA Slides" +msgstr "Adaptador (TMA) para diapositivas" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:96 #, no-c-format -msgid "Color Matrix" -msgstr "Matriz de color" +msgid "TMA Negatives" +msgstr "Adaptador (TMA) para negativos" -#: backend/hp-option.h:121 +#: backend/hp5590.c:108 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "Ajustar la matriz de color del escáner." +msgid "Color (48 bits)" +msgstr "Color (48 bits)" -#: backend/hp-option.h:127 +#: backend/hp5590.c:112 #, no-c-format -msgid "Custom color matrix." -msgstr "Matriz de color personalizada." +msgid "Extend lamp timeout" +msgstr "Retardar el tiempo de apagado de la lámpara" -#: backend/hp-option.h:132 +#: backend/hp5590.c:113 #, no-c-format -msgid "Mono Color Matrix" -msgstr "Matriz monocromo" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "" +"Retarda los tiempos de apagado de la lámpara (de 15 minutos a 1 hora)" -#: backend/hp-option.h:133 +#: backend/hp5590.c:115 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Matriz de color personalizada para escáneres en escala de grises." +msgid "Wait for button" +msgstr "Esperando por el botón" -#: backend/hp-option.h:138 +#: backend/hp5590.c:116 #, no-c-format -msgid "Mirror horizontal" -msgstr "Inversión horizontal" +msgid "Waits for button before scanning" +msgstr "Esperando por el botón antes de escanear" -#: backend/hp-option.h:139 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Actualizar estado del botón" + +#: backend/hp5590.c:119 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Invertir la imagen horizontalmente." +msgid "Get ID of last button pressed (read only)" +msgstr "" -#: backend/hp-option.h:144 +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Contador de escaneos" + +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror vertical" -msgstr "Inversión vertical" +msgid "Get value of LCD counter (read only)" +msgstr "" -#: backend/hp-option.h:145 +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Linea de arte a color" + +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Invertir la imagen verticalmente." +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Actualizar opciones" +msgid "Document available in ADF" +msgstr "" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Actualizar opciones." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "Salida de 8 bits" +msgid "Hide end-of-page pixel" +msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -"Usar bit de profundidad mayor de ocho internamente, pero en la salida " -"usar sólo ocho bits." -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Esperar botón frontal" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Esperar a que se presione en el botón frontal para escanear." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Apagar lámpara" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Apagar la lámpara del escáner." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4043,7 +4084,7 @@ msgid "single" msgstr "" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" @@ -4211,9 +4252,9 @@ msgid "crt" msgstr "" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Línea de arte" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4342,7 +4383,7 @@ msgstr "Ajusta el resalte de la imagen" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" @@ -4409,11 +4450,11 @@ msgstr "" msgid "Request driver to remove border from pages digitally" msgstr "" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4445,12 +4486,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "Impresión de alta densidad" #: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "Impresión de baja densidad" #: backend/kvs40xx_opt.c:243 @@ -4473,6 +4514,13 @@ msgstr "Normal" msgid "Enhanced mode" msgstr "Mejora" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4532,7 +4580,7 @@ msgstr "" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4567,12 +4615,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4582,13 +4630,13 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Invertir imagen" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4625,52 +4673,52 @@ msgstr "8x8 Bayer" msgid "8x8 Vertical Line" msgstr "8x8 Línea vertical" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Ganancia" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Ajustes de ganancia de los canales de color" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Ganancia de gris" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Ajusta la ganancia del canal de gris" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Ganancia de rojo" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Ajusta la ganancia del canal de rojo" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Ganancia de Verde" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Ajusta la ganancia del canal de verde" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Ganancia de Azul" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Ajusta la ganancia del canal de azul" @@ -4756,7 +4804,7 @@ msgstr "Una página" msgid "All pages" msgstr "Todas las páginas" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "escáner con cargador automático" @@ -5267,39 +5315,44 @@ msgstr "" "Calentar hasta que el brillo de la lámpara sea constante en vez de " "esperar por los 40 segundos de calentamiento." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Limpiar la calibración" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Película en negativo" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Color fino" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Botón de control de escaneo" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5310,40 +5363,40 @@ msgstr "" "proceder, haga clic en el botón \"SCAN\" (para MP150) o \"COLOR\" (para " "otros modelos). Para cancelar, haga clic en el botón \"GRAY\"." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Actualizar estado del botón" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Botón 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Botón 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5432,7 +5485,7 @@ msgstr "Interfaz analógica (AFE)" msgid "Red gain value of the AFE" msgstr "Valor de ganancia de rojo en el AFE" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Desviación rojo" @@ -5709,7 +5762,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "Esta opción refleja el estado de los botones del escáner" -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Encender lámpara" @@ -5719,12 +5772,12 @@ msgstr "Encender lámpara" msgid "Turn on scanner lamp" msgstr "Enciende la lámpara del escáner" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Apagar lámpara" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Apaga la lámpara del escáner" @@ -5870,13 +5923,13 @@ msgid "Focus point" msgstr "Posición del foco" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" +#, fuzzy, no-c-format +msgid "Color lines per read" msgstr "Color, líneas por lectura" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" msgstr "Escala de grises, líneas de por lectura" #: backend/stv680.c:974 @@ -6536,52 +6589,52 @@ msgstr "Modo de calibración" msgid "Define calibration mode" msgstr "Define el modo de calibración" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Enciende/apaga la lámpara" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "UTA Activado" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Ajusta el encendido/apagado UTA" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Desplazamiento" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Ajustes del desplazamiento de los canales de color" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Desplazamiento de gris" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Ajusta el desplazamiento del canal de gris" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Ajusta el desplazamiento del canal de rojo" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Ajusta el desplazamiento del canal de verde" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Ajusta el desplazamiento del canal de azul" diff --git a/po/fi.po b/po/fi.po index c314712..27117bf 100644 --- a/po/fi.po +++ b/po/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.11\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2007-12-17 23:00+0100\n" "Last-Translator: Harri Järvi \n" "Language-Team: Debian l10n Finnish \n" @@ -66,31 +66,31 @@ msgid "Standard" msgstr "Général" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Aire de numérisation" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Réglages fins" @@ -124,7 +124,7 @@ msgid "Bit depth" msgstr "Profondeur" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Mode de numérisation" @@ -165,7 +165,7 @@ msgid "Bottom-right y" msgstr "Y bas-droit" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Echantillonnage" @@ -320,7 +320,7 @@ msgstr "Nom de fichier" msgid "Halftone pattern size" msgstr "Taille du motif demi-teinte" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Motif demi-teinte" @@ -330,10 +330,10 @@ msgstr "Motif demi-teinte" msgid "Bind X and Y resolution" msgstr "Lier les échantillonnage X et Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Négatif" @@ -454,9 +454,9 @@ msgid "Lamp off at exit" msgstr "Eteindre la lampe à la sortie" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Option, lecture seule, qui indique le nombre d'options supportées par un " @@ -809,8 +809,8 @@ msgid "Analog gamma-correction for blue" msgstr "Correction gamma analogique pour le bleu" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Préchauffer la lampe avant la numérisation" #: include/sane/saneopts.h:417 @@ -959,8 +959,8 @@ msgid "Operation not supported" msgstr "Opération non-supportée" #: backend/sane_strstatus.c:65 -#, no-c-format -msgid "Operation was cancelled" +#, fuzzy, no-c-format +msgid "Operation was canceled" msgstr "Opération annulée" #: backend/sane_strstatus.c:68 @@ -1055,10 +1055,10 @@ msgid "Only perform shading-correction" msgstr "Effectuer uniquement la correction des ombres" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Si activé, seule la correction des ombres est effectuée pendant la " @@ -1087,85 +1087,45 @@ msgid "Duplex scan" msgstr "Numérisation recto-verso" #: backend/avision.h:783 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" "La numérisation recto-verso permet de numériser les deux cotés d'un " "document" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Calibrer le scanner" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Forcer la calibration du scanner avant la numérisation" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Niveaux de gris" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Effectue une numérisation en niveaux de gris plutôt qu'en couleurs" - -#: backend/canon630u.c:306 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Analog Gain" -msgstr "Gain analogique" +msgid "Correction according to transparency ratio" +msgstr "Correction en fonction du rapport de transparence" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Augmenter/diminuer le gain analogique du capteur CCD" +msgid "Correction according to film type" +msgstr "Correction en fonction du support" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "Correction gamma" +msgid "Fine color" +msgstr "Couleurs précises" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Sélectionne la courbe de correction gamma" +msgid "Negatives" +msgstr "Négatifs" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "Brut" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Couleurs précises" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Pas de correction de transparence" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Correction en fonction du support" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Correction en fonction du rapport de transparence" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Négatifs" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1299,8 +1259,8 @@ msgid "invalid bit IDENTIFY message" msgstr "message d'identification (IDENTIFY) invalide" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" +#, fuzzy, no-c-format +msgid "option not correct" msgstr "option non connectée" #: backend/canon.c:474 @@ -1591,133 +1551,184 @@ msgstr "Type de film" msgid "Select the film type" msgstr "Sélectionne le type de film" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Calibrer le scanner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Forcer la calibration du scanner avant la numérisation" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Niveaux de gris" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Effectue une numérisation en niveaux de gris plutôt qu'en couleurs" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Gain analogique" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Augmenter/diminuer le gain analogique du capteur CCD" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Correction gamma" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Sélectionne la courbe de correction gamma" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "A plat" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Chargeur automatique de documents, recto" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Chargeur automatique de documents, verso" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Chargeur automatique de documents, recto-verso" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Front" msgstr "Avant" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, fuzzy, no-c-format msgid "Card Back" msgstr "Arrière" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Recto-verso" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rouge" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Vert" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Bleu" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Red" msgstr "Augmente le rouge" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, no-c-format msgid "Enhance Green" msgstr "Augmente le vert" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, no-c-format msgid "Enhance Blue" msgstr "Augmente le bleu" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Aucun(e)" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Recto" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Recto-verso" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Adaptateur pour transparents" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Chargeur automatique de document" @@ -1829,7 +1840,7 @@ msgstr "Imprimantes à jet d'encre" msgid "CRT monitors" msgstr "Moniteurs à tube cathodique" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1893,8 +1904,9 @@ msgstr "A4" msgid "Max" msgstr "Max" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -2071,17 +2083,17 @@ msgstr "Définit le facteur de zoom utilisé par le scanner" msgid "Quick format" msgstr "Format rapide" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Equipement optionnel" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Ejecter" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Ejecter la feuille du chargeur automatique" @@ -2096,12 +2108,14 @@ msgstr "Ejection automatique" msgid "Eject document after scanning" msgstr "Ejecte le document après la numérisation" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Mode du chargeur automatique de documents" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" @@ -2153,16 +2167,16 @@ msgstr "" "Aprés avoir envoyé la commande de numérisation, attendre l'appui du " "bouton avant de commencer la numérisation." -#: backend/epson2.c:102 backend/pixma.c:409 -#, no-c-format -msgid "Infrared" -msgstr "Infra-rouge" - -#: backend/epson2.c:117 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" +#: backend/epson2.c:102 backend/pixma/pixma.c:409 +#, no-c-format +msgid "Infrared" +msgstr "Infra-rouge" + #: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" @@ -2183,495 +2197,515 @@ msgstr "Profil de température de couleurs interne" msgid "User defined CCT profile" msgstr "Profil de température de couleurs utilsateur" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Ejecter la feuille du chargeur automatique" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Pas de correction" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Désactiver la correction gamma" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Activé" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Aucun" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "Seuil dynamique (DTC)" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "Seuil dynamique simplifié (SDTC)" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Tramage" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, no-c-format msgid "Diffusion" msgstr "Diffusion d'erreur" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, no-c-format msgid "White" msgstr "Blanc" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, no-c-format msgid "Black" msgstr "Noir" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "Continuer" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "Arréter" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "10mm" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "15mm" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "20mm" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, no-c-format msgid "Horizontal bold" msgstr "Horizontal large" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, no-c-format msgid "Horizontal narrow" msgstr "Horizontal étroit" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, no-c-format msgid "Vertical bold" msgstr "Vertical large" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "De haut en bas" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "De bas en haut" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, no-c-format msgid "Front" msgstr "Avant" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "Arrière" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Demi-teinte" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Effectue la calibration" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Accentuation de l'image" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Saturation" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Active la détection automatique du seuil pour la numérisation en mode " "trait." -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Image miroir" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Renverse l'image horizontalement." -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Niveau blanc des bleus" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Contrôle le niveau de rouge" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Filtre de couleur" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Lissage" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Valeur de gamma" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Courbe du seuil" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, fuzzy, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" "Courbe dynamique de seuil, de clair à foncé, normallement entre 50-65" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Seuil" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Réduction du bruit" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Pas de correction" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Pas de correction" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Couvercle du chargeur automatique ouvert" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Options avancées" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Pas de correction" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Exclusion" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Mode de chargement" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2679,65 +2713,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "Temps avant extinction de la lampe" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Décalage des bleus" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Décalage des verts" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Décalage des verts" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Décalage des bleus" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Fixe le décalage pour le bleu" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, fuzzy, no-c-format msgid "Low Memory" msgstr "A court de mémoire" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2746,377 +2780,363 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Numérisation recto-verso" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Options avancées" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Réduction du bruit" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Avec du papier" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Avec du papier" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Avec du papier" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Avec du papier" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "Couvercle du scanner ouvert" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Mise au point manuelle" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Mise au point manuelle" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "erreur de test du matériel" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Niveau blanc" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "Contrôle de densité" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, fuzzy, no-c-format msgid "Density dial" msgstr "Contrôle de densité" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Numérisation recto-verso" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" "Courbe dynamique de seuil, de clair à foncé, normallement entre 50-65" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "Désactiver le mode Trait dynamique" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" -"Utilise le mode Trait du matériel, au lieu d'utiliser un algorithme " -"logiciel adaptatif." - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "Désactiver l'interpolation" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3126,45 +3146,45 @@ msgstr "" "plus faible que la résolution verticale, ne pas faire d'interpolation " "horizontale." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtre de couleur" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "En niveaux de gris ou en mode trait, sélectionne la couleur à utiliser." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibration" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Définit le mode de calibration" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Cache des données de calibration" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Temps avant extinction de la lampe" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3173,89 +3193,108 @@ msgstr "" "La lampe sera éteinte après ce laps de temps (en minutes). Entrer 0 pour " "ne pas éteindre la lampe automatiquement." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Eteindre la lampe durant la calibration des noirs" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Délai en minutes avant d'éteindre la lampe après une numérisation." -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "Bouton 'fichier'" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "Bouton 'reconnaissance de caractères (OCR)'" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "Bouton 'marche'" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "Bouton 'courrier électronique'" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 -#, no-c-format -msgid "Need calibration" +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 +#, fuzzy, no-c-format +msgid "Needs calibration" msgstr "Calibration requise" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Le scanner a besoin d'être calibré avec les paramètres actuels" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Boutons" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibration" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, no-c-format msgid "Start calibration using special sheet" msgstr "Démarrer la calibration avec la feuille spéciale" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, no-c-format msgid "Clear calibration" msgstr "Effacer la calibration" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, no-c-format msgid "Clear calibration cache" msgstr "Efface le cache des données de calibration" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Calibration grossière" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Décalage des verts" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptateur pour transparents" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Adaptateur pour transparents" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3365,636 +3404,636 @@ msgstr "Valeur de gamma" msgid "Sets the gamma value of all channels." msgstr "Sélectionne la valeur de gamma pour tous les canaux." -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "Géométrie" +msgid "Advanced Options" +msgstr "Options avancées" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "Mode de numérisation" +msgid "Coarse" +msgstr "Grossier" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "Diapositive" +msgid "Fine" +msgstr "Précis" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Scanner model" -msgstr "Modèle de scanner" - -#: backend/hp3900_sane.c:1408 -#, fuzzy, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" -"Permet de tester le comportement du périphérique en l'utilisant comme un " -"autre modèle compatible" +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Image colours will be inverted" -msgstr "Les couleurs de l'image seront inversées" +msgid "Custom" +msgstr "Personnalisé" -#: backend/hp3900_sane.c:1436 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Disable gamma correction" -msgstr "Désactiver la correction gamma" +msgid "Auto" +msgstr "Automatique" -#: backend/hp3900_sane.c:1437 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Gamma correction will be disabled" -msgstr "La correction gamma sera désactivée" +msgid "NTSC RGB" +msgstr "RVB NTSC" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Disable white shading correction" -msgstr "Désactiver la correction des ombres blanches" +msgid "XPA RGB" +msgstr "RVB (pour transparents)" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3093 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "La correction des ombres blanches sera désactivée" +msgid "Pass-through" +msgstr "Direct" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3094 #, no-c-format -msgid "Skip warmup process" -msgstr "Omettre le préchauffage" +msgid "NTSC Gray" +msgstr "Gris NTSC" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "Le préchauffage sera désactivé" +msgid "XPA Gray" +msgstr "Gris (pour transparents)" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Force real depth" -msgstr "Forcer l'utilisation de la profondeur réelle" +msgid "Slow" +msgstr "Lent" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"Si la correction gamma est activée, la numérisation sera toujours " -"effectuée en 16 bits par couleur pour améliorer la qualité de l'image, " -"puis convertie dans la profondeur demandée. Cette option évite de " -"simuler la profondeur." +msgid "Normal" +msgstr "Normal" -#: backend/hp3900_sane.c:1499 +#: backend/hp-option.c:3149 #, no-c-format -msgid "Emulate Grayscale" -msgstr "Simuler en niveaux de gris" +msgid "Fast" +msgstr "Rapide" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3150 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"Si activé, l'image sera numérisée en couleurs, puis convertie em niveaux " -"de gris par logiciel. Cela peut permettre d'améliorer la qualité de " -"l'image dans certaines circonstances." +msgid "Extra Fast" +msgstr "Très rapide" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3163 #, no-c-format -msgid "Save debugging images" -msgstr "Sauver les images de déboggage" +msgid "2-pixel" +msgstr "2 pixels" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3164 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"Si activé, les images intermédiaires utilisées pendant la numérisation " -"seront sauvegardées pour analyse." +msgid "4-pixel" +msgstr "4 pixels" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3165 #, no-c-format -msgid "Reset chipset" -msgstr "Réinitialiser la puce" +msgid "8-pixel" +msgstr "8 pixels" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Resets chipset data" -msgstr "Réinitialise les données de la puce" +msgid "Print" +msgstr "Imprimer" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Information" -msgstr "Informations" +msgid "Slide" +msgstr "Diapositive" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Chipset name" -msgstr "Nom de la puce" +msgid "Film-strip" +msgstr "Film-strip" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "Affiche le nom de la puce utilisée dans le périphérique" +msgid "ADF" +msgstr "Chargeur automatique de documents" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Unknown" -msgstr "Inconnu(e)" +msgid "XPA" +msgstr "Adaptateur pour transparents" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Chipset ID" -msgstr "Identifiant de la puce" +msgid "Conditional" +msgstr "Conditionnel" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Shows the chipset ID" -msgstr "Affiche l'identifiant de la puce" +msgid "Experiment" +msgstr "Essais" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.h:60 #, no-c-format -msgid "Scan counter" -msgstr "Compteur de numérisations" +msgid "Sharpening" +msgstr "Netteté" -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:61 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Affiche le nombre de numérisations effectuées par le scanner" +msgid "Set sharpening value." +msgstr "Choisir la netteté" -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.h:66 #, no-c-format -msgid "Update information" -msgstr "Rafraîchir les informations" +msgid "Auto Threshold" +msgstr "Seuil automatique" -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:68 #, no-c-format -msgid "Updates information about device" -msgstr "Rafraîchit les informations du périphérique" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "" +"Active la détection automatique du seuil pour la numérisation en mode " +"trait." -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:74 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Cette option reflète l'état d'un bouton de la façade du scanner" +msgid "Select smoothing filter." +msgstr "Sélectionne le filtre de lissage." -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:79 #, no-c-format -msgid "Image" -msgstr "Image" +msgid "Unload media after scan" +msgstr "Ejecter le document après la numérisation" -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:80 #, no-c-format -msgid "Miscellaneous" -msgstr "Divers" +msgid "Unloads the media after a scan." +msgstr "Ejecte le document après la numérisation." -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:85 #, no-c-format -msgid "offset X" -msgstr "décalage en X" +msgid "Change document" +msgstr "Changer de document" -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:86 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Position X en haut à gauche de l'aire de numérisation" +msgid "Change Document." +msgstr "Change de document." -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:91 #, no-c-format -msgid "offset Y" -msgstr "décalage en Y" +msgid "Unload" +msgstr "Ejecter" -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:92 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Position Y en haut à gauche de l'aire de numérisation" +msgid "Unload Document." +msgstr "Ejecter le document." -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:98 #, no-c-format -msgid "Lamp status" -msgstr "Etat de la lampe" +msgid "Start calibration process." +msgstr "Démarrer la calibration." -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:103 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Allume/éteint la lampe." +msgid "Media" +msgstr "Document" -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:104 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Calibration des niveaux noir et blanc." +msgid "Set type of media." +msgstr "Sélectionne le type de document." -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:109 #, no-c-format -msgid "ADF" -msgstr "Chargeur automatique de documents" +msgid "Exposure time" +msgstr "Temps d'exposition" -#: backend/hp5590.c:95 +#: backend/hp-option.h:111 #, no-c-format -msgid "TMA Slides" -msgstr "Adaptateur pour transparents - diapositives" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"Un temps d'exposition plus long permet au scanner de recevoir plus de " +"lumière. Les valeurs suggérées sont : 175% pour des impressions, 150% " +"pour des diapositives normales, et \"Négatif\" pour des négatifs. Pour " +"les images sombres (sous-exposées), vous pouvez augmenter cette valeur." -#: backend/hp5590.c:96 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "TMA Negatives" -msgstr "Adaptateur pour transparents - négatifs" +msgid "Color Matrix" +msgstr "Matrice de couleurs" -#: backend/hp5590.c:108 -#, no-c-format -msgid "Color (48 bits)" -msgstr "Couleur (48 bits)" +#: backend/hp-option.h:121 +#, fuzzy, no-c-format +msgid "Set the scanner's color matrix." +msgstr "Sélectionne la matrice de couleurs du scanner." -#: backend/hp5590.c:112 +#: backend/hp-option.h:127 #, no-c-format -msgid "Extend lamp timeout" -msgstr "Délai allongé avant extinction de la lampe" +msgid "Custom color matrix." +msgstr "Matrice personnalisée." -#: backend/hp5590.c:113 +#: backend/hp-option.h:132 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "" -"Allonge le délai avant l'extinction de la lampe (de 15 minutes à une " -"heure)." +msgid "Mono Color Matrix" +msgstr "Matrice monochrome" -#: backend/hp5590.c:115 +#: backend/hp-option.h:133 #, no-c-format -msgid "Wait for button" -msgstr "Attendre le bouton" +msgid "Custom color matrix for grayscale scans." +msgstr "Matrice personnalisée pour numérisation en niveaux de gris." -#: backend/hp5590.c:116 +#: backend/hp-option.h:138 #, no-c-format -msgid "Waits for button before scanning" -msgstr "Attend l'appui sur le bouton avant la numérisation" - -#: backend/hp5590.c:118 -#, fuzzy, no-c-format -msgid "Last button pressed" -msgstr "Rafraîchir l'état du bouton" +msgid "Mirror horizontal" +msgstr "Miroir horizontal" -#: backend/hp5590.c:119 +#: backend/hp-option.h:139 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "" - -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Compteur de numérisations" +msgid "Mirror image horizontally." +msgstr "Renverse l'image horizontalement." -#: backend/hp5590.c:122 +#: backend/hp-option.h:144 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "" - -#: backend/hp5590.c:124 -#, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Trait couleur" +msgid "Mirror vertical" +msgstr "Miroir vertical" -#: backend/hp5590.c:125 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "" +msgid "Mirror image vertically." +msgstr "Renverse l'image verticalement." -#: backend/hp5590.c:127 +#: backend/hp-option.h:150 #, no-c-format -msgid "Document available in ADF" -msgstr "" +msgid "Update options" +msgstr "Mettre les options à jour" -#: backend/hp5590.c:128 +#: backend/hp-option.h:151 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +msgid "Update options." +msgstr "Mets à jour les options." -#: backend/hp5590.c:130 +#: backend/hp-option.h:156 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "" +msgid "8 bit output" +msgstr "Sortie en 8 bits" -#: backend/hp5590.c:131 +#: backend/hp-option.h:158 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" +"Utilise plus de 8 bits de profondeur en interne, mais sort en 8 bits." -#: backend/hp5590.c:133 +#: backend/hp-option.h:164 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" +msgid "Front button wait" +msgstr "Attente de bouton avant" -#: backend/hp5590.c:134 +#: backend/hp-option.h:165 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" +msgid "Wait to scan for front-panel button push." +msgstr "Attendre l'appui sur le bouton du scanner avant de numériser." -#: backend/hp5590.c:137 +#: backend/hp-option.h:172 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "" +msgid "Shut off lamp" +msgstr "Eteindre la lampe" -#: backend/hp5590.c:138 +#: backend/hp-option.h:173 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" -msgstr "" +msgid "Shut off scanner lamp." +msgstr "Eteint la lampe du scanner." -#: backend/hp-option.c:2987 +#: backend/hp3500.c:1020 #, no-c-format -msgid "Advanced Options" -msgstr "Options avancées" +msgid "Geometry Group" +msgstr "Géométrie" -#: backend/hp-option.c:3044 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "Coarse" -msgstr "Grossier" +msgid "Scan Mode Group" +msgstr "Mode de numérisation" -#: backend/hp-option.c:3045 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "Fine" -msgstr "Précis" +msgid "Scanner model" +msgstr "Modèle de scanner" -#: backend/hp-option.c:3046 -#, no-c-format -msgid "Bayer" -msgstr "Bayer" +#: backend/hp3900_sane.c:1408 +#, fuzzy, no-c-format +msgid "Allows one to test device behavior with other supported models" +msgstr "" +"Permet de tester le comportement du périphérique en l'utilisant comme un " +"autre modèle compatible" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1422 +#, fuzzy, no-c-format +msgid "Image colors will be inverted" +msgstr "Les couleurs de l'image seront inversées" + +#: backend/hp3900_sane.c:1436 #, no-c-format -msgid "Custom" -msgstr "Personnalisé" +msgid "Disable gamma correction" +msgstr "Désactiver la correction gamma" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1437 #, no-c-format -msgid "Auto" -msgstr "Automatique" +msgid "Gamma correction will be disabled" +msgstr "La correction gamma sera désactivée" -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "NTSC RGB" -msgstr "RVB NTSC" +msgid "Disable white shading correction" +msgstr "Désactiver la correction des ombres blanches" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "XPA RGB" -msgstr "RVB (pour transparents)" +msgid "White shading correction will be disabled" +msgstr "La correction des ombres blanches sera désactivée" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Pass-through" -msgstr "Direct" +msgid "Skip warmup process" +msgstr "Omettre le préchauffage" -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "NTSC Gray" -msgstr "Gris NTSC" +msgid "Warmup process will be disabled" +msgstr "Le préchauffage sera désactivé" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "XPA Gray" -msgstr "Gris (pour transparents)" +msgid "Force real depth" +msgstr "Forcer l'utilisation de la profondeur réelle" -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Slow" -msgstr "Lent" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"Si la correction gamma est activée, la numérisation sera toujours " +"effectuée en 16 bits par couleur pour améliorer la qualité de l'image, " +"puis convertie dans la profondeur demandée. Cette option évite de " +"simuler la profondeur." -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1499 #, no-c-format -msgid "Normal" -msgstr "Normal" +msgid "Emulate Grayscale" +msgstr "Simuler en niveaux de gris" -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "Fast" -msgstr "Rapide" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"Si activé, l'image sera numérisée en couleurs, puis convertie em niveaux " +"de gris par logiciel. Cela peut permettre d'améliorer la qualité de " +"l'image dans certaines circonstances." -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Extra Fast" -msgstr "Très rapide" +msgid "Save debugging images" +msgstr "Sauver les images de déboggage" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "2-pixel" -msgstr "2 pixels" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"Si activé, les images intermédiaires utilisées pendant la numérisation " +"seront sauvegardées pour analyse." -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "4-pixel" -msgstr "4 pixels" +msgid "Reset chipset" +msgstr "Réinitialiser la puce" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "8-pixel" -msgstr "8 pixels" +msgid "Resets chipset data" +msgstr "Réinitialise les données de la puce" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "Print" -msgstr "Imprimer" +msgid "Information" +msgstr "Informations" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "Film-strip" -msgstr "Film-strip" +msgid "Chipset name" +msgstr "Nom de la puce" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "XPA" -msgstr "Adaptateur pour transparents" +msgid "Shows chipset name used in device." +msgstr "Affiche le nom de la puce utilisée dans le périphérique" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Conditional" -msgstr "Conditionnel" +msgid "Unknown" +msgstr "Inconnu(e)" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Experiment" -msgstr "Essais" +msgid "Chipset ID" +msgstr "Identifiant de la puce" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "Sharpening" -msgstr "Netteté" +msgid "Shows the chipset ID" +msgstr "Affiche l'identifiant de la puce" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1582 #, no-c-format -msgid "Set sharpening value." -msgstr "Choisir la netteté" +msgid "Scan counter" +msgstr "Compteur de numérisations" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Auto Threshold" -msgstr "Seuil automatique" +msgid "Shows the number of scans made by scanner" +msgstr "Affiche le nombre de numérisations effectuées par le scanner" -#: backend/hp-option.h:68 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "" -"Active la détection automatique du seuil pour la numérisation en mode " -"trait." +msgid "Update information" +msgstr "Rafraîchir les informations" -#: backend/hp-option.h:74 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Select smoothing filter." -msgstr "Sélectionne le filtre de lissage." +msgid "Updates information about device" +msgstr "Rafraîchit les informations du périphérique" -#: backend/hp-option.h:79 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Unload media after scan" -msgstr "Ejecter le document après la numérisation" +msgid "This option reflects a front panel scanner button" +msgstr "Cette option reflète l'état d'un bouton de la façade du scanner" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Ejecte le document après la numérisation." +msgid "Image" +msgstr "Image" -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Change document" -msgstr "Changer de document" +msgid "Miscellaneous" +msgstr "Divers" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Change Document." -msgstr "Change de document." +msgid "offset X" +msgstr "décalage en X" -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unload" -msgstr "Ejecter" +msgid "Hardware internal X position of the scanning area." +msgstr "Position X en haut à gauche de l'aire de numérisation" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Unload Document." -msgstr "Ejecter le document." +msgid "offset Y" +msgstr "décalage en Y" -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Start calibration process." -msgstr "Démarrer la calibration." +msgid "Hardware internal Y position of the scanning area." +msgstr "Position Y en haut à gauche de l'aire de numérisation" -#: backend/hp-option.h:103 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Media" -msgstr "Document" +msgid "Lamp status" +msgstr "Etat de la lampe" -#: backend/hp-option.h:104 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Set type of media." -msgstr "Sélectionne le type de document." +msgid "Switches the lamp on or off." +msgstr "Allume/éteint la lampe." -#: backend/hp-option.h:109 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Exposure time" -msgstr "Temps d'exposition" +msgid "Calibrates for black and white level." +msgstr "Calibration des niveaux noir et blanc." -#: backend/hp-option.h:111 +#: backend/hp5590.c:95 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"Un temps d'exposition plus long permet au scanner de recevoir plus de " -"lumière. Les valeurs suggérées sont : 175% pour des impressions, 150% " -"pour des diapositives normales, et \"Négatif\" pour des négatifs. Pour " -"les images sombres (sous-exposées), vous pouvez augmenter cette valeur." +msgid "TMA Slides" +msgstr "Adaptateur pour transparents - diapositives" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:96 #, no-c-format -msgid "Color Matrix" -msgstr "Matrice de couleurs" +msgid "TMA Negatives" +msgstr "Adaptateur pour transparents - négatifs" -#: backend/hp-option.h:121 +#: backend/hp5590.c:108 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "Sélectionne la matrice de couleurs du scanner." +msgid "Color (48 bits)" +msgstr "Couleur (48 bits)" -#: backend/hp-option.h:127 +#: backend/hp5590.c:112 #, no-c-format -msgid "Custom color matrix." -msgstr "Matrice personnalisée." +msgid "Extend lamp timeout" +msgstr "Délai allongé avant extinction de la lampe" -#: backend/hp-option.h:132 +#: backend/hp5590.c:113 #, no-c-format -msgid "Mono Color Matrix" -msgstr "Matrice monochrome" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "" +"Allonge le délai avant l'extinction de la lampe (de 15 minutes à une " +"heure)." -#: backend/hp-option.h:133 +#: backend/hp5590.c:115 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Matrice personnalisée pour numérisation en niveaux de gris." +msgid "Wait for button" +msgstr "Attendre le bouton" -#: backend/hp-option.h:138 +#: backend/hp5590.c:116 #, no-c-format -msgid "Mirror horizontal" -msgstr "Miroir horizontal" +msgid "Waits for button before scanning" +msgstr "Attend l'appui sur le bouton avant la numérisation" -#: backend/hp-option.h:139 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Rafraîchir l'état du bouton" + +#: backend/hp5590.c:119 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Renverse l'image horizontalement." +msgid "Get ID of last button pressed (read only)" +msgstr "" -#: backend/hp-option.h:144 +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Compteur de numérisations" + +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror vertical" -msgstr "Miroir vertical" +msgid "Get value of LCD counter (read only)" +msgstr "" -#: backend/hp-option.h:145 +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Trait couleur" + +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Renverse l'image verticalement." +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Mettre les options à jour" +msgid "Document available in ADF" +msgstr "" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Mets à jour les options." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "Sortie en 8 bits" +msgid "Hide end-of-page pixel" +msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -"Utilise plus de 8 bits de profondeur en interne, mais sort en 8 bits." -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Attente de bouton avant" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Attendre l'appui sur le bouton du scanner avant de numériser." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Eteindre la lampe" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Eteint la lampe du scanner." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4094,7 +4133,7 @@ msgid "single" msgstr "" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" @@ -4262,9 +4301,9 @@ msgid "crt" msgstr "" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Trait" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4393,7 +4432,7 @@ msgstr "Sélectionne l'accentuation de l'image" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" @@ -4460,11 +4499,11 @@ msgstr "" msgid "Request driver to remove border from pages digitally" msgstr "" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4496,12 +4535,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "Impression haute définition" #: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "Impression basse définition" #: backend/kvs40xx_opt.c:243 @@ -4524,6 +4563,13 @@ msgstr "Normal" msgid "Enhanced mode" msgstr "Réglages fins" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4583,7 +4629,7 @@ msgstr "" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4618,12 +4664,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4633,13 +4679,13 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Image miroir" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4676,52 +4722,52 @@ msgstr "Bayer 8x8" msgid "8x8 Vertical Line" msgstr "Ligne verticale 8x8" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Gain" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Réglages de gain des couleurs" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Gain des gris" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Fixe le gain pour le gris" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Gain des rouges" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Fixe le gain pour le rouge" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Gain des verts" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Fixe le gain pour le vert" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Gain des bleus" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Fixe le gain pour le bleu" @@ -4807,7 +4853,7 @@ msgstr "Une page" msgid "All pages" msgstr "Toutes les pages" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "scanner avec chargeur automatique" @@ -5315,39 +5361,44 @@ msgstr "" "Préchauffer jusqu'à ce que l'intensité de la lampe soit constante, au " "lieu d'attendre 40 secondes." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Calibration requise" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Film négatif" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Négatif" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Couleurs précises" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Numérisation contrôlée par le bouton du scanner" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5358,40 +5409,40 @@ msgstr "" "\" (MP150), ou du bouton \"COLOR\" (autres modèles). Appuyez sur le " "bouton \"GRAY\" pour annuler la numérisation." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Rafraîchir l'état du bouton" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Bouton 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Bouton 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5480,7 +5531,7 @@ msgstr "Frontal analogique (AFE)" msgid "Red gain value of the AFE" msgstr "Gain des rouges du frontal analogique (AFE)" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Décalage des rouges" @@ -5757,7 +5808,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "Cette option affiche l'état d'un bouton du scanner." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Lampe allumée" @@ -5767,12 +5818,12 @@ msgstr "Lampe allumée" msgid "Turn on scanner lamp" msgstr "Allume la lampe du scanner" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Lampe éteinte" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Eteint la lampe du scanner" @@ -5917,13 +5968,13 @@ msgid "Focus point" msgstr "Mise-au-point" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" +#, fuzzy, no-c-format +msgid "Color lines per read" msgstr "Nombre de lignes en couleurs par cycle de lecture" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" msgstr "Nombre de lignes en niveaux de gris par cycle de lecture" #: backend/stv680.c:974 @@ -6578,56 +6629,66 @@ msgstr "Mode de calibration" msgid "Define calibration mode" msgstr "Définit le mode de calibration" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Allume/éteint la lampe." -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "Activer l'UTA" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Activer/déactiver l'adaptateur universel de transparents (UTA)" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Décalage" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Réglages de décalage des couleurs" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Décalage des gris" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Fixe le décalage pour le gris" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Fixe le décalage pour le rouge" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Fixe le décalage pour le vert" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Fixe le décalage pour le bleu" +#~ msgid "Disable dynamic lineart" +#~ msgstr "Désactiver le mode Trait dynamique" + +#~ msgid "" +#~ "Disable use of a software adaptive algorithm to generate lineart " +#~ "relying instead on hardware lineart." +#~ msgstr "" +#~ "Utilise le mode Trait du matériel, au lieu d'utiliser un algorithme " +#~ "logiciel adaptatif." + #, fuzzy #~ msgid "IPC mode" #~ msgstr "Aperçu" diff --git a/po/gl.po b/po/gl.po index 9197284..d389495 100644 --- a/po/gl.po +++ b/po/gl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2009-06-25 10:22+0100\n" "Last-Translator: Miguel Anxo Bouzada \n" "Language-Team: Galician \n" @@ -31,31 +31,31 @@ msgid "Standard" msgstr "Estándar" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Xeometría" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Optimización" @@ -89,7 +89,7 @@ msgid "Bit depth" msgstr "Bit de profundidade" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Modo de escaneo" @@ -130,7 +130,7 @@ msgid "Bottom-right y" msgstr "Abaixo-dereita Y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Resolución de escaneo" @@ -285,7 +285,7 @@ msgstr "Nome do ficheiro" msgid "Halftone pattern size" msgstr "Tamaño do patrón de medios tons" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Patrón de medios tons" @@ -295,10 +295,10 @@ msgstr "Patrón de medios tons" msgid "Bind X and Y resolution" msgstr "Ligar resolucións X e Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" @@ -419,9 +419,9 @@ msgid "Lamp off at exit" msgstr "Apagar a lámpada ao saír" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Opción de só lectura que define cantas opcións soporta un dispositivo " @@ -770,8 +770,8 @@ msgid "Analog gamma-correction for blue" msgstr "Corrección gamma analóxica para azul" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Quecer a lámpada antes de escanear" #: include/sane/saneopts.h:417 @@ -920,8 +920,8 @@ msgid "Operation not supported" msgstr "Operación non compatible" #: backend/sane_strstatus.c:65 -#, no-c-format -msgid "Operation was cancelled" +#, fuzzy, no-c-format +msgid "Operation was canceled" msgstr "A operación vai ser cancelada" #: backend/sane_strstatus.c:68 @@ -1014,10 +1014,10 @@ msgid "Only perform shading-correction" msgstr "Facer só correccións de sombras" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Se está activado, só se farán correccións de sombras durante a " @@ -1046,84 +1046,44 @@ msgid "Duplex scan" msgstr "Escaneo dúplex" #: backend/avision.h:783 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" "O escaneo dúplex fornece un escaneo do anverso e o reverso do documento" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Calibrar o escáner" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Forza a calibrar o escáner antes de facer o escaneo" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Escaneo en escala de grises" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Escanea en escala de grises, non en cores" - -#: backend/canon630u.c:306 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Analog Gain" -msgstr "Ganancia analóxica" +msgid "Correction according to transparency ratio" +msgstr "Corrección conforme coa taxa de transparencia" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Aumenta o diminúe a ganancia analóxica da gama CCD" +msgid "Correction according to film type" +msgstr "Corrección conforme co tipo de filme" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "Corrección gamma" +msgid "Fine color" +msgstr "Cor fina" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Selecciona a curva de transferencia da corrección gamma" +msgid "Negatives" +msgstr "Negativos" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "En bruto" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Cor fina" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Sen corrección de transparencia" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Corrección conforme co tipo de filme" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Corrección conforme coa taxa de transparencia" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Negativos" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1258,8 +1218,8 @@ msgid "invalid bit IDENTIFY message" msgstr "mensaxe de bit de IDENTIFICACIÓN incorrecta" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" +#, fuzzy, no-c-format +msgid "option not correct" msgstr "a opción non conecta" #: backend/canon.c:474 @@ -1554,133 +1514,184 @@ msgstr "Escoller tipo de filme" msgid "Select the film type" msgstr "Escoller o tipo de filme" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Calibrar o escáner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Forza a calibrar o escáner antes de facer o escaneo" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Escaneo en escala de grises" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Escanea en escala de grises, non en cores" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Ganancia analóxica" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Aumenta o diminúe a ganancia analóxica da gama CCD" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Corrección gamma" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Selecciona a curva de transferencia da corrección gamma" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Plano" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, fuzzy, no-c-format msgid "ADF Front" msgstr "A tapa do alimentador está aberta" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "Atoamento no alimentador" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Alimentador dúplex" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Front" msgstr "Imprimir" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Duas caras" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Vermello" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Verde" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Azul" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Optimización" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Optimización" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Optimización" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Ningún" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Unha cara" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Duas caras" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Unidade de transparencias" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Alimentador automático de documentos (ADF)" @@ -1792,7 +1803,7 @@ msgstr "Impresoras de inxección de tinta" msgid "CRT monitors" msgstr "Monitores CRT" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1856,8 +1867,9 @@ msgstr "A4" msgid "Max" msgstr "Máx" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -2031,17 +2043,17 @@ msgstr "Define o factor de zoom que vai usar o escáner" msgid "Quick format" msgstr "Formato rápido" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Equipamento opcional" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Expulsar" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Expulsar a folla do alimentador" @@ -2056,12 +2068,14 @@ msgstr "Expulsión automática" msgid "Eject document after scanning" msgstr "Expulsar o documento despois do escaneo" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Modo alimentador" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Escoller o modo do alimentador (unha cara/duas caras)" @@ -2113,14 +2127,14 @@ msgstr "" "Despois de enviar a orde de escaneo, agardar até que se prema no botón " "do escáner para comezar verdadeiramente o proceso de escaneo." -#: backend/epson2.c:102 backend/pixma.c:409 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format -msgid "Infrared" +msgid "TPU8x10" msgstr "" -#: backend/epson2.c:117 +#: backend/epson2.c:102 backend/pixma/pixma.c:409 #, no-c-format -msgid "TPU8x10" +msgid "Infrared" msgstr "" #: backend/epson2.c:136 @@ -2143,494 +2157,514 @@ msgstr "" msgid "User defined CCT profile" msgstr "Definida polo usuario" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Expulsar a folla do alimentador" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Sen corrección" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Desactivar a corrección gamma" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Activado" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Desactivado" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Esfumado" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Difusión de erro" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, fuzzy, no-c-format msgid "White" msgstr "Nivel do branco" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Black" msgstr "Nivel do negro" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, fuzzy, no-c-format msgid "Continue" msgstr "Condicional" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontal" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Horizontal" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Horizontal" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Vertical" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Vertical" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, fuzzy, no-c-format msgid "Front" msgstr "Imprimir" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Medios tons" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Calibración de precisión" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Destaque da imaxe" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Saturación" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Activar a determinación automática do limiar para escaneos como liña de " "arte." -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Reflectir a imaxe horizontalmente" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Reflectir a imaxe en horizontal" -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Nivel do branco para azul" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Controla o nivel de vermello" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Filtro de cor" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Suavizado" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Valor gamma" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Limiar" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Limiar" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Redución de ruído" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Sen corrección" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Sen corrección" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "A tapa do alimentador está aberta" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Opcions avanzadas" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Sen corrección" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Exclusión" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Modo de alimentación" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2638,65 +2672,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "Tempo para apagado da lámpada" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Desviación azul" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Desviación verde" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Desviación verde" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Desviación azul" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Axusta o desprazamento da canle azul" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, fuzzy, no-c-format msgid "Low Memory" msgstr "Non queda memoria" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2705,374 +2739,362 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Escaneo dúplex" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Opcions avanzadas" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Redución de ruído" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, fuzzy, no-c-format msgid "A3 paper" msgstr "De papel" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, fuzzy, no-c-format msgid "B4 paper" msgstr "De papel" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, fuzzy, no-c-format msgid "A4 paper" msgstr "De papel" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, fuzzy, no-c-format msgid "B5 paper" msgstr "De papel" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "A tapa do escáner está aberta" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Foco previo manual" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Foco previo manual" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "erro de verificación de hardware" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Nivel do branco" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "Control de densidade" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, fuzzy, no-c-format msgid "Density dial" msgstr "Control de densidade" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Escaneo dúplex" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extras" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "Desactivar interpolación" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3081,45 +3103,45 @@ msgstr "" "Cando se usan altas resolucións nas que a resolución horizontal é máis " "pequena que a vertical, isto desactiva a interpolación horizontal." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtro de cor" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Cando se usa gris ou liña de arte esta opción selecciona a cor a usar." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibración" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definir o modo de calibración" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Caché de datos de calibración" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Tempo para apagado da lámpada" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3128,89 +3150,108 @@ msgstr "" "A lámpada vai ser apagada despois do tempo indicado (en minutos). Un " "valor de 0 significa que a lámpada no vai ser apagada." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Apagar a lámpada durante a calibración de escuridade" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Minutos que tardará a lámpada en apagarse despois do escaneo" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "Botón de ficheiro" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "Botón de OCR" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "Botón de enerxía" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "Botón de correo-e" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, fuzzy, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Limpar a calibración" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Forza a calibrar o escáner antes de facer o escaneo" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Botóns" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibrar" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, no-c-format msgid "Start calibration using special sheet" msgstr "Iniciar a calibración usando unha folla especial" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, no-c-format msgid "Clear calibration" msgstr "Limpar a calibración" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, no-c-format msgid "Clear calibration cache" msgstr "Limpar a caché de datos de calibración" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Calibración grosa" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Desviación verde" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptador de transparencias" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Adaptador de transparencias" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3321,635 +3362,635 @@ msgstr "Valor gamma" msgid "Sets the gamma value of all channels." msgstr "Axusta o valor gamma para todas as canles." -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "Grupo de xeometría" +msgid "Advanced Options" +msgstr "Opcions avanzadas" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "Grupo de modo de escaneo" +msgid "Coarse" +msgstr "Groso" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "Diapositiva" +msgid "Fine" +msgstr "Fina" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Scanner model" -msgstr "Modelo de escáner" - -#: backend/hp3900_sane.c:1408 -#, fuzzy, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" -"Permite comprobar o comportamento do dispositivo con outros modelos " -"compatíbeisPermite comprobar o comportamento do dispositivo con outros " -"modelos compatíbeis" +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Image colours will be inverted" -msgstr "As imaxes a cor hanse inverter" +msgid "Custom" +msgstr "Personalizado" -#: backend/hp3900_sane.c:1436 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Disable gamma correction" -msgstr "Desactivar a corrección gamma" +msgid "Auto" +msgstr "Automático" -#: backend/hp3900_sane.c:1437 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Gamma correction will be disabled" -msgstr "A corrección gamma hase desactivar" +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Disable white shading correction" -msgstr "Desactivar a corrección de sombra branca" +msgid "XPA RGB" +msgstr "Adaptador de transparencias RGB" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3093 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "A corrección de sombra branca hase desactivar" +msgid "Pass-through" +msgstr "A través" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3094 #, no-c-format -msgid "Skip warmup process" -msgstr "Omitir proceso de quecemento" +msgid "NTSC Gray" +msgstr "NTSC Gris" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "O proceso de quecemento hase desactivar" +msgid "XPA Gray" +msgstr "Adaptador de transparencias gris" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Force real depth" -msgstr "Forzar a profundidade real" +msgid "Slow" +msgstr "Lento" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"Se gamma está activada, sempre se analisa en profundidade de 16 bits " -"para mellorar a calidade da imaxe e despois convertila á profundidade " -"seleccionada. Esta opción evita a emulación da profundidade." +msgid "Normal" +msgstr "Normal" -#: backend/hp3900_sane.c:1499 +#: backend/hp-option.c:3149 #, no-c-format -msgid "Emulate Grayscale" -msgstr "Emular escala de grises" +msgid "Fast" +msgstr "Rápido" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3150 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"Se está activada, a imaxe vai ser escaneada en modo de cor e despois " -"convertida a escala de grises por software. Isto pode mellorar a " -"calidade da imaxe nalgunhas circunstancias." +msgid "Extra Fast" +msgstr "Moi rápido" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3163 #, no-c-format -msgid "Save debugging images" -msgstr "Gardar as imaxes de depuración" +msgid "2-pixel" +msgstr "2-píxeles" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3164 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"Se se activa, algunhas imaxes implicadas no proceso de escaneo " -"gardaranse para analizalas." +msgid "4-pixel" +msgstr "4-píxeles" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3165 #, no-c-format -msgid "Reset chipset" -msgstr "Reiniciar o chipset" +msgid "8-pixel" +msgstr "8-píxeles" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Resets chipset data" -msgstr "Reiniciar os datos do chipset" +msgid "Print" +msgstr "Imprimir" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Information" -msgstr "Información" +msgid "Slide" +msgstr "Diapositiva" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Chipset name" -msgstr "Nome do chipset" +msgid "Film-strip" +msgstr "Tira de filme" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "Amosa o nome do chipset usado no dispositivo." +msgid "ADF" +msgstr "Alimentador automático de documentos (ADF)" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Unknown" -msgstr "Descoñecido" +msgid "XPA" +msgstr "Adaptador de transparencias (XPA)" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Chipset ID" -msgstr "ID do chipset" +msgid "Conditional" +msgstr "Condicional" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Shows the chipset ID" -msgstr "Amosa o ID do chipset" +msgid "Experiment" +msgstr "Experimento" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.h:60 #, no-c-format -msgid "Scan counter" -msgstr "Contador de escaneos" +msgid "Sharpening" +msgstr "Nitidez" -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:61 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Amosa o número de escaneos feitas polo escáner" +msgid "Set sharpening value." +msgstr "Axustar o valor de nitidez." -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.h:66 #, no-c-format -msgid "Update information" -msgstr "Actualizar a información" +msgid "Auto Threshold" +msgstr "Limiar automático" -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:68 #, no-c-format -msgid "Updates information about device" -msgstr "Actualiza a información acerca do dispositivo" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "" +"Activar a determinación automática do limiar para escaneos como liña de " +"arte." -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:74 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Esta opción reflicte un botón do panel frontal do escáner" +msgid "Select smoothing filter." +msgstr "Escoller filtro de suavizado." -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:79 #, no-c-format -msgid "Image" -msgstr "Imaxe" +msgid "Unload media after scan" +msgstr "Descargar os soportes despois de escanear." -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:80 #, no-c-format -msgid "Miscellaneous" -msgstr "Miscelánea" +msgid "Unloads the media after a scan." +msgstr "Descargar as unidades despois de escanear." -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:85 #, no-c-format -msgid "offset X" -msgstr "posición X" +msgid "Change document" +msgstr "Cambiar o documento" -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:86 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Posición X interna no hardware da zona de escaneo." +msgid "Change Document." +msgstr "Cambiar o documento." -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:91 #, no-c-format -msgid "offset Y" -msgstr "posición Y" +msgid "Unload" +msgstr "Descargar" -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:92 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Posición Y interna no hardware da zona de escaneo." +msgid "Unload Document." +msgstr "Descargar o documento" -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:98 #, no-c-format -msgid "Lamp status" -msgstr "Estado da lámpada" +msgid "Start calibration process." +msgstr "Iniciar proceso de calibración" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:103 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Acende ou apaga a lámpada" +msgid "Media" +msgstr "Soporte" -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:104 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Calibrar o nivel de branco e negro." +msgid "Set type of media." +msgstr "Axustar tipo de soporte." -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:109 #, no-c-format -msgid "ADF" -msgstr "Alimentador automático de documentos (ADF)" +msgid "Exposure time" +msgstr "Tempo de exposición" -#: backend/hp5590.c:95 +#: backend/hp-option.h:111 #, no-c-format -msgid "TMA Slides" -msgstr "Adaptador (TMA) para diapositivas" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"Unha exposición prolongada permítelle ao escáner recoller máis luz. " +"Suxírese usar 175% para impresións, 150% para diapositivas normais e " +"«Negativo» para filme en negativo. Para imaxes escuras (subexpostas) " +"pode incrementar este valor." -#: backend/hp5590.c:96 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "TMA Negatives" -msgstr "Adaptador (TMA) para negativos" +msgid "Color Matrix" +msgstr "Matriz de cor" -#: backend/hp5590.c:108 -#, no-c-format -msgid "Color (48 bits)" -msgstr "Cor (48 bits)" +#: backend/hp-option.h:121 +#, fuzzy, no-c-format +msgid "Set the scanner's color matrix." +msgstr "Axustar a matriz de cor do escáner." -#: backend/hp5590.c:112 +#: backend/hp-option.h:127 #, no-c-format -msgid "Extend lamp timeout" -msgstr "Retardar o tempo de apagado da lámpada" +msgid "Custom color matrix." +msgstr "Matriz de cor personalizada." -#: backend/hp5590.c:113 +#: backend/hp-option.h:132 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "Retarda os tempos de apagado da lámpada (de 15 minutos a 1 hora)" +msgid "Mono Color Matrix" +msgstr "Matriz monocroma" -#: backend/hp5590.c:115 +#: backend/hp-option.h:133 #, no-c-format -msgid "Wait for button" -msgstr "Agardando polo botón" +msgid "Custom color matrix for grayscale scans." +msgstr "Matriz de cor personalizada para escáneres en escala de grises." -#: backend/hp5590.c:116 +#: backend/hp-option.h:138 #, no-c-format -msgid "Waits for button before scanning" -msgstr "Agardando polo botón antes de escanear" - -#: backend/hp5590.c:118 -#, fuzzy, no-c-format -msgid "Last button pressed" -msgstr "Actualizar estado do botón" +msgid "Mirror horizontal" +msgstr "Espello horizontal" -#: backend/hp5590.c:119 +#: backend/hp-option.h:139 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "" - -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Contador de escaneos" +msgid "Mirror image horizontally." +msgstr "Reflectir a imaxe en horizontal" -#: backend/hp5590.c:122 +#: backend/hp-option.h:144 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "" - -#: backend/hp5590.c:124 -#, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Liña de arte coloreada" +msgid "Mirror vertical" +msgstr "Espello vertical" -#: backend/hp5590.c:125 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "" +msgid "Mirror image vertically." +msgstr "Reflectir a imaxe en verticalv" -#: backend/hp5590.c:127 +#: backend/hp-option.h:150 #, no-c-format -msgid "Document available in ADF" -msgstr "" +msgid "Update options" +msgstr "Actualizar as opcións" -#: backend/hp5590.c:128 +#: backend/hp-option.h:151 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +msgid "Update options." +msgstr "Actualizar as opcións." -#: backend/hp5590.c:130 +#: backend/hp-option.h:156 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "" +msgid "8 bit output" +msgstr "Saída de 8 bits" -#: backend/hp5590.c:131 +#: backend/hp-option.h:158 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" +"Usar profundidade de bits maior de oito internamente, mais na saída usar " +"só oito bits." -#: backend/hp5590.c:133 +#: backend/hp-option.h:164 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" +msgid "Front button wait" +msgstr "Agardar botón frontal" -#: backend/hp5590.c:134 +#: backend/hp-option.h:165 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" +msgid "Wait to scan for front-panel button push." +msgstr "Agardar a que se prema no botón frontal para escanear." -#: backend/hp5590.c:137 +#: backend/hp-option.h:172 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "" +msgid "Shut off lamp" +msgstr "Apagar lámpada" -#: backend/hp5590.c:138 +#: backend/hp-option.h:173 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" -msgstr "" +msgid "Shut off scanner lamp." +msgstr "Apagar a lámpada do escáner." -#: backend/hp-option.c:2987 +#: backend/hp3500.c:1020 #, no-c-format -msgid "Advanced Options" -msgstr "Opcions avanzadas" +msgid "Geometry Group" +msgstr "Grupo de xeometría" -#: backend/hp-option.c:3044 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "Coarse" -msgstr "Groso" +msgid "Scan Mode Group" +msgstr "Grupo de modo de escaneo" -#: backend/hp-option.c:3045 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "Fine" -msgstr "Fina" +msgid "Scanner model" +msgstr "Modelo de escáner" -#: backend/hp-option.c:3046 -#, no-c-format -msgid "Bayer" -msgstr "Bayer" +#: backend/hp3900_sane.c:1408 +#, fuzzy, no-c-format +msgid "Allows one to test device behavior with other supported models" +msgstr "" +"Permite comprobar o comportamento do dispositivo con outros modelos " +"compatíbeisPermite comprobar o comportamento do dispositivo con outros " +"modelos compatíbeis" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1422 +#, fuzzy, no-c-format +msgid "Image colors will be inverted" +msgstr "As imaxes a cor hanse inverter" + +#: backend/hp3900_sane.c:1436 #, no-c-format -msgid "Custom" -msgstr "Personalizado" +msgid "Disable gamma correction" +msgstr "Desactivar a corrección gamma" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1437 #, no-c-format -msgid "Auto" -msgstr "Automático" +msgid "Gamma correction will be disabled" +msgstr "A corrección gamma hase desactivar" -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" +msgid "Disable white shading correction" +msgstr "Desactivar a corrección de sombra branca" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "XPA RGB" -msgstr "Adaptador de transparencias RGB" +msgid "White shading correction will be disabled" +msgstr "A corrección de sombra branca hase desactivar" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Pass-through" -msgstr "A través" +msgid "Skip warmup process" +msgstr "Omitir proceso de quecemento" -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "NTSC Gray" -msgstr "NTSC Gris" +msgid "Warmup process will be disabled" +msgstr "O proceso de quecemento hase desactivar" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "XPA Gray" -msgstr "Adaptador de transparencias gris" +msgid "Force real depth" +msgstr "Forzar a profundidade real" -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Slow" -msgstr "Lento" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"Se gamma está activada, sempre se analisa en profundidade de 16 bits " +"para mellorar a calidade da imaxe e despois convertila á profundidade " +"seleccionada. Esta opción evita a emulación da profundidade." -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1499 #, no-c-format -msgid "Normal" -msgstr "Normal" +msgid "Emulate Grayscale" +msgstr "Emular escala de grises" -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "Fast" -msgstr "Rápido" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"Se está activada, a imaxe vai ser escaneada en modo de cor e despois " +"convertida a escala de grises por software. Isto pode mellorar a " +"calidade da imaxe nalgunhas circunstancias." -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Extra Fast" -msgstr "Moi rápido" +msgid "Save debugging images" +msgstr "Gardar as imaxes de depuración" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "2-pixel" -msgstr "2-píxeles" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"Se se activa, algunhas imaxes implicadas no proceso de escaneo " +"gardaranse para analizalas." -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "4-pixel" -msgstr "4-píxeles" +msgid "Reset chipset" +msgstr "Reiniciar o chipset" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "8-pixel" -msgstr "8-píxeles" +msgid "Resets chipset data" +msgstr "Reiniciar os datos do chipset" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "Print" -msgstr "Imprimir" +msgid "Information" +msgstr "Información" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "Film-strip" -msgstr "Tira de filme" +msgid "Chipset name" +msgstr "Nome do chipset" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "XPA" -msgstr "Adaptador de transparencias (XPA)" +msgid "Shows chipset name used in device." +msgstr "Amosa o nome do chipset usado no dispositivo." -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Conditional" -msgstr "Condicional" +msgid "Unknown" +msgstr "Descoñecido" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Experiment" -msgstr "Experimento" +msgid "Chipset ID" +msgstr "ID do chipset" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "Sharpening" -msgstr "Nitidez" +msgid "Shows the chipset ID" +msgstr "Amosa o ID do chipset" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1582 #, no-c-format -msgid "Set sharpening value." -msgstr "Axustar o valor de nitidez." +msgid "Scan counter" +msgstr "Contador de escaneos" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Auto Threshold" -msgstr "Limiar automático" +msgid "Shows the number of scans made by scanner" +msgstr "Amosa o número de escaneos feitas polo escáner" -#: backend/hp-option.h:68 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "" -"Activar a determinación automática do limiar para escaneos como liña de " -"arte." +msgid "Update information" +msgstr "Actualizar a información" -#: backend/hp-option.h:74 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Select smoothing filter." -msgstr "Escoller filtro de suavizado." +msgid "Updates information about device" +msgstr "Actualiza a información acerca do dispositivo" -#: backend/hp-option.h:79 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Unload media after scan" -msgstr "Descargar os soportes despois de escanear." +msgid "This option reflects a front panel scanner button" +msgstr "Esta opción reflicte un botón do panel frontal do escáner" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Descargar as unidades despois de escanear." +msgid "Image" +msgstr "Imaxe" -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Change document" -msgstr "Cambiar o documento" +msgid "Miscellaneous" +msgstr "Miscelánea" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Change Document." -msgstr "Cambiar o documento." +msgid "offset X" +msgstr "posición X" -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unload" -msgstr "Descargar" +msgid "Hardware internal X position of the scanning area." +msgstr "Posición X interna no hardware da zona de escaneo." -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Unload Document." -msgstr "Descargar o documento" +msgid "offset Y" +msgstr "posición Y" -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Start calibration process." -msgstr "Iniciar proceso de calibración" +msgid "Hardware internal Y position of the scanning area." +msgstr "Posición Y interna no hardware da zona de escaneo." -#: backend/hp-option.h:103 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Media" -msgstr "Soporte" +msgid "Lamp status" +msgstr "Estado da lámpada" -#: backend/hp-option.h:104 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Set type of media." -msgstr "Axustar tipo de soporte." +msgid "Switches the lamp on or off." +msgstr "Acende ou apaga a lámpada" -#: backend/hp-option.h:109 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Exposure time" -msgstr "Tempo de exposición" +msgid "Calibrates for black and white level." +msgstr "Calibrar o nivel de branco e negro." -#: backend/hp-option.h:111 +#: backend/hp5590.c:95 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"Unha exposición prolongada permítelle ao escáner recoller máis luz. " -"Suxírese usar 175% para impresións, 150% para diapositivas normais e " -"«Negativo» para filme en negativo. Para imaxes escuras (subexpostas) " -"pode incrementar este valor." +msgid "TMA Slides" +msgstr "Adaptador (TMA) para diapositivas" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:96 #, no-c-format -msgid "Color Matrix" -msgstr "Matriz de cor" +msgid "TMA Negatives" +msgstr "Adaptador (TMA) para negativos" -#: backend/hp-option.h:121 +#: backend/hp5590.c:108 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "Axustar a matriz de cor do escáner." +msgid "Color (48 bits)" +msgstr "Cor (48 bits)" -#: backend/hp-option.h:127 +#: backend/hp5590.c:112 #, no-c-format -msgid "Custom color matrix." -msgstr "Matriz de cor personalizada." +msgid "Extend lamp timeout" +msgstr "Retardar o tempo de apagado da lámpada" -#: backend/hp-option.h:132 +#: backend/hp5590.c:113 #, no-c-format -msgid "Mono Color Matrix" -msgstr "Matriz monocroma" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Retarda os tempos de apagado da lámpada (de 15 minutos a 1 hora)" -#: backend/hp-option.h:133 +#: backend/hp5590.c:115 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Matriz de cor personalizada para escáneres en escala de grises." +msgid "Wait for button" +msgstr "Agardando polo botón" -#: backend/hp-option.h:138 +#: backend/hp5590.c:116 #, no-c-format -msgid "Mirror horizontal" -msgstr "Espello horizontal" +msgid "Waits for button before scanning" +msgstr "Agardando polo botón antes de escanear" -#: backend/hp-option.h:139 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Actualizar estado do botón" + +#: backend/hp5590.c:119 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Reflectir a imaxe en horizontal" +msgid "Get ID of last button pressed (read only)" +msgstr "" -#: backend/hp-option.h:144 +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Contador de escaneos" + +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror vertical" -msgstr "Espello vertical" +msgid "Get value of LCD counter (read only)" +msgstr "" -#: backend/hp-option.h:145 +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Liña de arte coloreada" + +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Reflectir a imaxe en verticalv" +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Actualizar as opcións" +msgid "Document available in ADF" +msgstr "" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Actualizar as opcións." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "Saída de 8 bits" +msgid "Hide end-of-page pixel" +msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -"Usar profundidade de bits maior de oito internamente, mais na saída usar " -"só oito bits." -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Agardar botón frontal" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Agardar a que se prema no botón frontal para escanear." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Apagar lámpada" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Apagar a lámpada do escáner." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4049,7 +4090,7 @@ msgid "single" msgstr "" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" @@ -4217,9 +4258,9 @@ msgid "crt" msgstr "" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Liña de arte" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4348,7 +4389,7 @@ msgstr "Axusta o destaque da imaxe" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" @@ -4415,11 +4456,11 @@ msgstr "" msgid "Request driver to remove border from pages digitally" msgstr "" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4451,12 +4492,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "Impresión de alta densidade" #: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "Impresión de baixa densidade" #: backend/kvs40xx_opt.c:243 @@ -4479,6 +4520,13 @@ msgstr "Normal" msgid "Enhanced mode" msgstr "Optimización" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4538,7 +4586,7 @@ msgstr "" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4573,12 +4621,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4588,13 +4636,13 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Reflectir a imaxe horizontalmente" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4631,52 +4679,52 @@ msgstr "8x8 Bayer" msgid "8x8 Vertical Line" msgstr "8x8 Liña vertical" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Ganancia" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Axustes de ganancia das canles de cor" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Ganancia de gris" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Axusta a ganancia da canle de gris" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Ganancia vermella" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Axustar a ganancia da canle vermella" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Ganancia verde" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Axusta a ganancia da canle verde" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Ganancia azul" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Axusta a ganancia da canle azul" @@ -4762,7 +4810,7 @@ msgstr "Unha páxina" msgid "All pages" msgstr "Todas as páxinas" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "escáner con cargador automático" @@ -5269,39 +5317,44 @@ msgstr "" "Quecer até que o brillo da lámpada sexa constante no canto de agardar " "polos 40 segundos de quecemento." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Limpar a calibración" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Filme en negativo" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Cor fina" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Botón de control de escaneo" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5312,40 +5365,40 @@ msgstr "" "proceder, faga clic no botón «SCAN» (para MP150) ou «COLOR» (para outros " "modelos). Para cancelar, prema no botón «GRAY»." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Actualizar estado do botón" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Botón 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Botón 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5434,7 +5487,7 @@ msgstr "Interface analóxica (AFE)" msgid "Red gain value of the AFE" msgstr "Valor de ganancia vermella no AFE" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Desviación vermella" @@ -5711,7 +5764,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "Esta opción reflicte o estado dos botóns do escáner" -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Acender lámpada" @@ -5721,12 +5774,12 @@ msgstr "Acender lámpada" msgid "Turn on scanner lamp" msgstr "Acende a lámpada do escáner" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Apagar lámpada" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Apaga a lámpada do escáner" @@ -5871,13 +5924,13 @@ msgid "Focus point" msgstr "Posición do foco" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" +#, fuzzy, no-c-format +msgid "Color lines per read" msgstr "Cor, liñas por lectura" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" msgstr "Escala de grises, liñas por lectura" #: backend/stv680.c:974 @@ -6531,52 +6584,52 @@ msgstr "Modo de calibración" msgid "Define calibration mode" msgstr "Definir o modo de calibración" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Acende/apaga a lámpada" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "UTA Activado" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Axusta o acendido/apagado UTA" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Desprazamento" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Axustes do desprazamento das canles de cor" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Desprazamento de gris" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Axusta o desprazamento da canle gris" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Axusta o desprazamento da canle vermello" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Axusta o desprazamento da canle verde" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Axusta o desprazamento da canle azul" diff --git a/po/he.po b/po/he.po index 1671ffe..45b18ec 100644 --- a/po/he.po +++ b/po/he.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.27git\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2018-09-16 22:30+0300\n" "Last-Translator: Elishai Shkury \n" "Language-Team: Hebrew\n" @@ -28,31 +28,31 @@ msgid "Standard" msgstr "סטנדרט" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "גיאומטריה" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "הגדלה" @@ -86,7 +86,7 @@ msgid "Bit depth" msgstr "עומק ביט" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "מצב סריקה" @@ -127,7 +127,7 @@ msgid "Bottom-right y" msgstr "Bottom-right y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "רזולוציית סריקה" @@ -282,7 +282,7 @@ msgstr "שם קובץ" msgid "Halftone pattern size" msgstr "גודל תבנית הדפסת רשת" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "תבנית הדפסת רשת" @@ -292,10 +292,10 @@ msgstr "תבנית הדפסת רשת" msgid "Bind X and Y resolution" msgstr "קשור רזולוציה X ו-Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "תשליל" @@ -416,9 +416,9 @@ msgid "Lamp off at exit" msgstr "מנורה כבויה ביציאה" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "אפשרות קריאה-בלבד המפרטת כמה אפשרויות נתמכות בהתקן מסוים." @@ -737,8 +737,8 @@ msgid "Analog gamma-correction for blue" msgstr "תיקון גמה אנלוגית עבור כחול" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "חמם מנורה לפני סריקה" #: include/sane/saneopts.h:417 @@ -887,8 +887,8 @@ msgid "Operation not supported" msgstr "הפעלה לא נתמכת" #: backend/sane_strstatus.c:65 -#, no-c-format -msgid "Operation was cancelled" +#, fuzzy, no-c-format +msgid "Operation was canceled" msgstr "הפעלה בוטלה" #: backend/sane_strstatus.c:68 @@ -981,10 +981,10 @@ msgid "Only perform shading-correction" msgstr "בצע רק תיקון הצללה" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "אם מופעלת, רק תיקון הצללה מבוצע במהלך כיול. ערכי ברירת מחדל עבור הגבר, " @@ -1011,83 +1011,43 @@ msgid "Duplex scan" msgstr "סריקה דו צדדית" #: backend/avision.h:783 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "סריקה דו צדדית מאפשרת סריקה של העמוד הקדמי והאחורי של המסמך" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "כייל סורק" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "אלץ כיול סורק לפני סריקה" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "סריקה בגווני אפור" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "בצע סריקה בגווני אפור במקום סריקה בצבע" - -#: backend/canon630u.c:306 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Analog Gain" -msgstr "הגבר אנלוגי" +msgid "Correction according to transparency ratio" +msgstr "תיקון לפי יחס שקיפות" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "הרם או הנמך את ההגבר האנלוגי של מערך ה-CCD" +msgid "Correction according to film type" +msgstr "תיקון לפי סוג סרט" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "תיקון גמה" +msgid "Fine color" +msgstr "צבע בהיר" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "בוחר את עקום ההעברה מתוקן הגמה" +msgid "Negatives" +msgstr "תשלילים" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "גולמי" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "צבע בהיר" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "ללא תיקון שקיפות" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "תיקון לפי סוג סרט" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "תיקון לפי יחס שקיפות" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "תשלילים" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1221,8 +1181,8 @@ msgid "invalid bit IDENTIFY message" msgstr "הודעת זיהוי ביט לא חוקי" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" +#, fuzzy, no-c-format +msgid "option not correct" msgstr "אפשרות לא מחובר" #: backend/canon.c:474 @@ -1510,133 +1470,184 @@ msgstr "בחר סוג סרט" msgid "Select the film type" msgstr "בחר את סוג הסרט" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "כייל סורק" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "אלץ כיול סורק לפני סריקה" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "סריקה בגווני אפור" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "בצע סריקה בגווני אפור במקום סריקה בצבע" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "הגבר אנלוגי" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "הרם או הנמך את ההגבר האנלוגי של מערך ה-CCD" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "תיקון גמה" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "בוחר את עקום ההעברה מתוקן הגמה" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "סורק שטוח" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "חזית מזין מסמכים אוטומטי" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "אחורי מזין מסמכים אוטומטי" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "דו צדדי מזין מסמכים אוטומטי" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Front" msgstr "חזית לוח" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "אחורי לוח" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, no-c-format msgid "Card Duplex" msgstr "דו צדדי לוח" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "אדום" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "ירוק" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "כחול" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Red" msgstr "שפר אדום" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, no-c-format msgid "Enhance Green" msgstr "שפר ירוק" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, no-c-format msgid "Enhance Blue" msgstr "שפר כחול" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "אף אחד" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "אחוז דילוג מקום ריק של תוכנה" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "בקש מהדרייבר לזנוח עמודים עם אחוז נמוך של פיקסלים כהים" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "חד צדדי" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "דו צדדי" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "יחידת שקיפות" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "מזין מסמכים אוטומטי" @@ -1748,7 +1759,7 @@ msgstr "מדפסות הזרקת דיו" msgid "CRT monitors" msgstr "מסכי CRT" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1812,8 +1823,9 @@ msgstr "A4" msgid "Max" msgstr "מירבי" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -1985,17 +1997,17 @@ msgstr "מגדיר את מקדם הזום בשימוש הסורק" msgid "Quick format" msgstr "פורמט מהיר" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "ציוד אופציונלי" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "הוצא" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "הוצא את הדף במזין המסמכים האוטומטי" @@ -2010,12 +2022,14 @@ msgstr "הוצאה אוטומטית" msgid "Eject document after scanning" msgstr "הוצא מסמך לאחר סריקה" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "מצב מזין מסמכים אוטומטי" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "בוחר את מצב מזין המסמכים האוטומטי (חד צדדי/דו צדדי)" @@ -2064,16 +2078,16 @@ msgstr "" "לאחר שליחת פקודת הסריקה, חכה עד שהכפתור על הסורק יילחץ כדי להתחיל בפועל " "את תהליך הסריקה." -#: backend/epson2.c:102 backend/pixma.c:409 -#, no-c-format -msgid "Infrared" -msgstr "אינפרה אדום" - -#: backend/epson2.c:117 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "TPU8x10" +#: backend/epson2.c:102 backend/pixma/pixma.c:409 +#, no-c-format +msgid "Infrared" +msgstr "אינפרה אדום" + #: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" @@ -2094,347 +2108,367 @@ msgstr "פרופיל CCT מובנה" msgid "User defined CCT profile" msgstr "פרופיל CCT מוגדר משתמש" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "הוצא את הדף במזין המסמכים האוטומטי" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "ללא תיקון" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "כבה תיקון גמה" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "דולק" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "כבוי" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Dither" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, no-c-format msgid "Diffusion" msgstr "דיפוזיה" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, no-c-format msgid "White" msgstr "לבן" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, no-c-format msgid "Black" msgstr "שחור" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "המשך" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "עצור" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "10 מילימטר" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "15 מילימטר" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "20 מילימטר" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "אופקי" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, no-c-format msgid "Horizontal bold" msgstr "אופקי מודגש" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, no-c-format msgid "Horizontal narrow" msgstr "אופקי צר" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "אנכי" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, no-c-format msgid "Vertical bold" msgstr "אנכי מודגש" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "מלמעלה למטה" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "מלמטה למעלה" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, no-c-format msgid "Front" msgstr "חזית" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "אחור" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "פונקציית גמה אקספוננט" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "משנה את העוצמה של גווני הביניים" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "RIF" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "הפוך את עיצוב התמונה" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, no-c-format msgid "Halftone type" msgstr "סוג הדפסת רשת" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "סוג בקרה של מסנן הדפסת רשת" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "תבנית בקרה של מסנן הדפסת רשת" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "תרשים" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, no-c-format msgid "Perform outline extraction" msgstr "בצע חילוץ תרשים" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, no-c-format msgid "Emphasis" msgstr "הדגשה" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "שלילי כדי להחליק או חיובי כדי לחדד את התמונה" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, no-c-format msgid "Separation" msgstr "הפרדה" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "הפעל הפרדה אוטומטית של תמונה וטקסט" -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, no-c-format msgid "Mirroring" msgstr "ביצוע תמונת ראי" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, no-c-format msgid "Reflect output image horizontally" msgstr "בצע שיקוף אופקי של תמונת הפלט" -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, no-c-format msgid "White level follower" msgstr "עוקב רמת לבן" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, no-c-format msgid "Control white level follower" msgstr "שלוט על עוקב רמת לבן" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, no-c-format msgid "BP filter" msgstr "מסנן כדורי" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "משפר איכות טקסט של עט כדורי ברזולוציה גבוהה" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "החלקה" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "הפעל החלקה ל-OCR משופר" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, no-c-format msgid "Gamma curve" msgstr "עקום גמה" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "עקום גמה, מבהיר לכהה, אך יתכן ושניים עליונים לא יעבדו" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "עקום סף" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "עקום סף, מבהיר לכהה, אך יתכן ושניים עליונים לא יהיו לינאריים" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, no-c-format msgid "Threshold white" msgstr "לבן סף" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "קבע פיקסלים שווים לסף ללבן במקום לשחור" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, no-c-format msgid "Noise removal" msgstr "הסרת רעשים" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "מטריצה 5x5" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "הסר רעשים ריבוע 5 פיקסל" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "מטריצה 4x4" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "הסר רעשים ריבוע 4 פיקסל" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "מטריצה 3x3" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "הסר רעשים ריבוע 3 פיקסל" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "מטריצה 2x2" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "הסר רעשים ריבוע 2 פיקסל" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "שונות" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "קבע קצב שונות SDTC (רגישות), 0 שווה ל-127" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, no-c-format msgid "Auto width detection" msgstr "גילוי רוחב אוטומטי" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "סורק מגלה צידי נייר. עלול להאט מהירות סריקה." -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, no-c-format msgid "Auto length detection" msgstr "גילוי אורך אוטומטי" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "סורק מגלה קצה נמוך של נייר. עלול להטעות כמה ממשקים." -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "דחיסה" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "הפעל מידע דחוס. עלול לגרום לנפילה של יישום הממשק" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "ארגומנט דחיסה" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " @@ -2442,113 +2476,113 @@ msgid "" msgstr "" "רמת דחיסה JPEG. קובץ קטן זה 1, קובץ גדול זה 7. 0 (ברירת מחדל) זה כמו 4" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "פעולת DF" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "פעולה בעקבות תקלת הזנה כפולה" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "עיוות DF" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "הפעל תקלת הזנה כפולה כתוצאה מעיוות" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "עובי DF" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "הפעל תקלת הזנה כפולה כתוצאה מעובי נייר" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "אורך DF" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "הפעל תקלת הזנה כפולה כתוצאה מאורך נייר" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "הבדל אורך DF" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "הבדל באורך עמוד יגרור תקלת הזנה כפולה" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, no-c-format msgid "DF recovery mode" msgstr "מצב שחזור DF" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "בקש מהסורק להפוך הזנה בעת היתקעות נייר" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "הגנת נייר" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "בקש מהסורק לנבא תקלות במזין המסמכים האוטומטי" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, no-c-format msgid "Advanced paper protection" msgstr "הגנת נייר מתקדמת" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "בקש מהסורק לנבא תקלות במזין המסמכים האוטומטי בעזרת חיישנים משופרים" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, no-c-format msgid "Staple detection" msgstr "גילוי סיכת הידוק" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "בקש מהסורק לגלות תקלות במזין המסמכים האוטומטי כתוצאה מסיכות הידוק" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "צבע רקע" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "קבע צבע רקע לסריקות. עלול להתנגש עם אפשרות סריקת יתר" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, no-c-format msgid "Dropout color" msgstr "צבע נושר" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " @@ -2557,33 +2591,33 @@ msgstr "" "סורקים עם מעבר אחד משתמשים בצבע אחד בלבד במהלך סריקה אפורה או בינרית, " "שימושי עבור נייר או דיו צבעוניים" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, no-c-format msgid "Buffer mode" msgstr "מצב חוצץ" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" "בקש מהסורק לקרוא עמודים במהירות ממזין המסמכים האוטומטי לתוך זיכרון פנימי" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "איסוף מקדים" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "בקש מהסורק לתפוס את העמוד הבא ממזין המסמכים האוטומטי" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "סריקת יתר" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2594,23 +2628,23 @@ msgstr "" "המסמכים האוטומטי, והגדל שטח סריקה מירבי מעבר לגודל הנייר, על מנת לאפשר " "צבירה בצדדים הנותרים. עלול להתנגש עם אפשרות צבע רקע" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "טיימר שינה" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "זמן בדקות עד שספק הכוח הפנימי עובר למצב שינה" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, no-c-format msgid "Off timer" msgstr "טיימר כיבוי" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " @@ -2619,42 +2653,42 @@ msgstr "" "זמן בדקות עד שספק הכוח הפנימי מכבה את הסורק. יעוגל ל-15 הדקות הקרובות " "ביותר. אפס אומר אף פעם לא לכבות." -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, no-c-format msgid "Duplex offset" msgstr "אופסט דו צדדי" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "כוון אופסט חזיתי/אחורי" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "אופסט ירוק" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, no-c-format msgid "Adjust green/red offset" msgstr "כוון אופסט ירוק/אדום" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "אופסט כחול" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, no-c-format msgid "Adjust blue/red offset" msgstr "כוון אופסט כחול/אדום" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "זיכרון נמוך" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2667,12 +2701,12 @@ msgstr "" "לשימוש על מנת לקבוע את התמונה הנכונה. אפשרות זו אמורה להיות בשימוש רק עם " "תוכנות ממשק מותאמות אישית." -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, no-c-format msgid "Duplex side" msgstr "צד דו צדדי" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " @@ -2681,153 +2715,153 @@ msgstr "" "אומר איזה צד (0=חזית, 1=אחור) של סריקה דו צדדית הקריאה הבאה ל-sane_read " "תחזיר." -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "הטיה וקיצוץ של חומרה" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "בקש מסורק לסובב ולקצץ עמודים באופן דיגיטלי." -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "קיצוץ של חומרה" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "בקש מהדרייבר לסובב עמודים מוטים באופן דיגיטלי." -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "קוטר פגמים של תוכנה" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "קוטר מירבי של נקודות בודדות להסרה מהסריקה." -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "קיצוץ של תוכנה" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "בקש מהדרייבר להסיר את הגבול מהעמודים באופן דיגיטלי." -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "הפסק כאשר ביטול" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "בקש מהדרייבר להפסיק את הזנת הנייר במקום להוציא במהלך ביטול." -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, no-c-format msgid "Endorser Options" msgstr "אפשרויות תומך" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "שולט על יחידת התמיכה" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "תומך" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "הפעל יחידת תמיכה" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "ביטים של תומך" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "קובע את ערך הספירה המירבי של התומך." -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "ערך תומך" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "ערך ספירה התחלתי של התומך." -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "צעד תומך" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "שנה את ערך הספירה של התומך בכמות זו לכל עמוד." -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "תומך Y" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "אופסט הדפסה של התומך מהחלק העליון של הנייר." -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "גופן תומך" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "גופן הדפסה תומך." -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, no-c-format msgid "Endorser direction" msgstr "כיוון תומך" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "כיוון הדפסה תומך." -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "צד תומך" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "צד הדפסה תומך, דורש תמיכת חומרה לשינוי" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "מחרוזת תומך" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " @@ -2835,211 +2869,197 @@ msgid "" msgstr "" "פורמט הדפסה אלפא נומרי תומך. ערך מונה מחליף את %05ud או %08ud בסוף." -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "קצה עליון" -#: backend/fujitsu.c:4380 -#, no-c-format -msgid "Paper is pulled partly into adf" +#: backend/fujitsu.c:4384 +#, fuzzy, no-c-format +msgid "Paper is pulled partly into ADF" msgstr "נייר משוך בחלקו לתוך מזין מסמכים אוטומטי" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, no-c-format msgid "A3 paper" msgstr "נייר A3" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "התגלה נייר A3" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, no-c-format msgid "B4 paper" msgstr "נייר B4" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "התגלה נייר B4" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, no-c-format msgid "A4 paper" msgstr "נייר A4" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "התגלה נייר A4" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, no-c-format msgid "B5 paper" msgstr "נייר B5" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "התגלה נייר B5" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "OMR or DF" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "התגלה OMR או הזנה כפולה" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "חיסכון בחשמל" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "סורק במצב חיסכון בחשמל" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, no-c-format msgid "Manual feed" msgstr "הזנה ידנית" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, no-c-format msgid "Manual feed selected" msgstr "נבחרה הזנה ידנית" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "פונקציה" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "תו פונקציה על מסך" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "דיו נמוך" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "דיו רושם עומד להיגמר" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "הזנה כפולה" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "התגלתה הזנה כפולה" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "קוד תקלה" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, no-c-format msgid "Hardware error code" msgstr "קוד תקלה חומרה" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "זווית הטיה" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "דורש רקע שחור עבור סריקה" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "דיו נותר" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, no-c-format msgid "Imprinter ink level" msgstr "רמת דיו רושם" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, no-c-format msgid "Density" msgstr "צפיפות" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "לוח צפיפות" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, no-c-format msgid "Duplex switch" msgstr "החלפה דו צדדית" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "בקש מה-backend להסיר גבול מהעמודים באופן דיגיטלי" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "בקש מהדרייבר לזנוח עמודים עם מספר נמוך של פיקסלים כהים" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "סיבוב תוכנה" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "בקש מהדרייבר לגלות ולתקן סיבוב תמונה של 90 מעלות" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "תוספות" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "עקום סף דינמי, מבהיר לכהה, בדרך כלל 50-65" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "כבה סגנון קווי דינמי" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" -"כבה שימוש של אלגוריתם מסתגל תוכנתי ליצור סגנון קווי ובמקום זאת הסתמך על " -"סגנון קווי חומרתי." - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "כבה אינטרפולציה" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3048,32 +3068,32 @@ msgstr "" "כאשר רזולוציות גבוהות בשימוש היכן שהרזולוציה האופקית קטנה מהרזולוציה " "האנכית זה מכבה אינטרפולציה אופקית." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, no-c-format msgid "Color filter" msgstr "מסנן צבע" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "כאשר משתמשים באפור או בסגנון קווי אפשרות זו בוחרת את הצבע בשימוש." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, no-c-format msgid "Calibration file" msgstr "קובץ כיול" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, no-c-format msgid "Specify the calibration file to use" msgstr "פרט את קובץ הכיול לשימוש" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, no-c-format msgid "Calibration cache expiration time" msgstr "זמן תפוגה מטמון כיול" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " @@ -3082,12 +3102,12 @@ msgstr "" "זמן (בדקות) לפני שכיול מוטמן פג. ערך של 0 אומר שמטמון אינו בשימוש. ערך " "שלילי אומר שמטמון לעולם לא פג." -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "זמן כיבוי מנורה" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3095,89 +3115,108 @@ msgid "" msgstr "" "המנורה תיכבה לאחר הזמן הנתון (בדקות). ערך של 0 אומר, שהמנורה לא תיכבה." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, no-c-format msgid "Lamp off during scan" msgstr "מנורה כבויה במהלך סריקה" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "המנורה תיכבה במהלך סריקה. " -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "כפתור קובץ" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "כפתור OCR" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "כפתור הדלקה" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, no-c-format msgid "Extra button" msgstr "כפתור אקסטרה" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 -#, no-c-format -msgid "Need calibration" +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 +#, fuzzy, no-c-format +msgid "Needs calibration" msgstr "דרוש כיול" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "הסורק דורש כיול עבור ההגדרות הנוכחיות" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "כפתורים" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "כייל" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, no-c-format msgid "Start calibration using special sheet" msgstr "התחל כיול בעזרת דף מיוחד" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, no-c-format msgid "Clear calibration" msgstr "נקה כיול" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, no-c-format msgid "Clear calibration cache" msgstr "נקה מטמון כיול" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "כיול גס" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "אופסט ירוק" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "מתאם שקיפות" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "מתאם שקיפות" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3280,629 +3319,629 @@ msgstr "ערך גמה" msgid "Sets the gamma value of all channels." msgstr "קובע את ערך גמה של כל הערוצים." -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "קבוצת גיאומטריה" +msgid "Advanced Options" +msgstr "אפשרויות מתקדמות" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "קבוצת מצב סריקה" +msgid "Coarse" +msgstr "גס" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "שקף" +msgid "Fine" +msgstr "עדין" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Scanner model" -msgstr "דגם סורק" +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "מאפשר לבדוק התנהגות ההתקן עם דגמים נתמכים אחרים" +msgid "Custom" +msgstr "מותאם אישית" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Image colours will be inverted" -msgstr "הצבעים של התמונה יתהפכו" +msgid "Auto" +msgstr "אוטומטי" -#: backend/hp3900_sane.c:1436 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Disable gamma correction" -msgstr "כבה תיקון גמה" +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1437 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Gamma correction will be disabled" -msgstr "תיקון גמה יהיה כבוי" +msgid "XPA RGB" +msgstr "XPA RGB" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3093 #, no-c-format -msgid "Disable white shading correction" -msgstr "כבה תיקון הצללה לבנה" +msgid "Pass-through" +msgstr "חודר" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3094 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "תיקון הצללה לבנה יהיה כבוי" +msgid "NTSC Gray" +msgstr "אפור NTSC" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Skip warmup process" -msgstr "דלג על תהליך חימום" +msgid "XPA Gray" +msgstr "אפור XPA" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "תהליך חימום יהיה כבוי" +msgid "Slow" +msgstr "לאט" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "Force real depth" -msgstr "אלץ עומק אמיתי" +msgid "Normal" +msgstr "רגיל" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3149 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"אם גמה פועלת, סריקות תמיד מבוצעות בעומק 16 ביטים כדי לשפר את איכות " -"התמונה ואז מומרות לעומק הנבחר. אפשרות זו מונעת דימוי עומק." +msgid "Fast" +msgstr "מהר" -#: backend/hp3900_sane.c:1499 +#: backend/hp-option.c:3150 #, no-c-format -msgid "Emulate Grayscale" -msgstr "דמה גווני אפור" +msgid "Extra Fast" +msgstr "מהר מאוד" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3163 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"אם פועלת, התמונה תיסרק במצב צבע ואז תהפוך המרה לגווני אפור בעזרת התוכנה. " -"זה יכול לשפר את איכות התמונה בנסיבות מסוימות." +msgid "2-pixel" +msgstr "2-פיקסל" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3164 #, no-c-format -msgid "Save debugging images" -msgstr "שמור תמונות ניפוי באגים" +msgid "4-pixel" +msgstr "4-פיקסל" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3165 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"אם פועלת, חלק מהתמונות שקשורות בעיבוד הסורק נשמרות לצורך אבחון שלהן." +msgid "8-pixel" +msgstr "8-פיקסל" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Reset chipset" -msgstr "אתחל צ'יפסט" +msgid "Print" +msgstr "הדפסה" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Resets chipset data" -msgstr "מאתחל מידע צ'יפסט" +msgid "Slide" +msgstr "שקף" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Information" -msgstr "מידע" +msgid "Film-strip" +msgstr "רצועת-סרט" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Chipset name" -msgstr "שם צ'יפסט" +msgid "ADF" +msgstr "מזין מסמכים אוטומטי" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "מראה שם צ'יפסט בשימוש ההתקן." +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Unknown" -msgstr "לא ידוע" +msgid "Conditional" +msgstr "על תנאי" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Chipset ID" -msgstr "Chipset ID" +msgid "Experiment" +msgstr "ניסוי" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.h:60 #, no-c-format -msgid "Shows the chipset ID" -msgstr "מראה את ה-ID של הצ'יפסט" +msgid "Sharpening" +msgstr "חידוד" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.h:61 #, no-c-format -msgid "Scan counter" -msgstr "מונה סריקה" +msgid "Set sharpening value." +msgstr "קבע ערך חידוד." -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:66 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "מציג את מספר הסריקות שבוצעו בעזרת הסורק" +msgid "Auto Threshold" +msgstr "סף אוטומטי" -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.h:68 #, no-c-format -msgid "Update information" -msgstr "עדכן מידע" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "הפעל קביעה אוטומטית של סף עבור סריקות סגנון קווי." -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:74 #, no-c-format -msgid "Updates information about device" -msgstr "מעדכן מידע אודות התקן" +msgid "Select smoothing filter." +msgstr "בחר מסנן החלקה." -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:79 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "אפשרות זו משקפת כפתור סורק בלוח החזיתי" +msgid "Unload media after scan" +msgstr "הוצא מדיה לאחר סריקה" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:80 #, no-c-format -msgid "Image" -msgstr "תמונה" +msgid "Unloads the media after a scan." +msgstr "מוציא את המדיה לאחר סריקה." -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:85 #, no-c-format -msgid "Miscellaneous" -msgstr "שונות" +msgid "Change document" +msgstr "שנה מסמך" -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:86 #, no-c-format -msgid "offset X" -msgstr "אופסט X" +msgid "Change Document." +msgstr "שנה מסמך." -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:91 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "מיקום X פנימי חומרה של שטח הסריקה." +msgid "Unload" +msgstr "הוצא" -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:92 #, no-c-format -msgid "offset Y" -msgstr "אופסט Y" +msgid "Unload Document." +msgstr "הוצא מסמך." -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:98 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "מיקום Y פנימי חומרה של שטח הסריקה." +msgid "Start calibration process." +msgstr "התחל תהליך כיול." -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:103 #, no-c-format -msgid "Lamp status" -msgstr "סטטוס מנורה" +msgid "Media" +msgstr "מדיה" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:104 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "מדליק או מכבה את המנורה." +msgid "Set type of media." +msgstr "קבע סוג מדיה." -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:109 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "מכייל עבור רמת שחור ולבן." +msgid "Exposure time" +msgstr "זמן חשיפה" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:111 #, no-c-format -msgid "ADF" -msgstr "מזין מסמכים אוטומטי" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"זמן חשיפה ארוך יותר מאפשר לסורק לאסוף עוד אור. שימוש מומלץ הוא 175% " +"להדפסות, 150% לשקפים רגילים ו\"תשלילים\" עבור סרט תשלילים. עבור תמונות " +"כהות (תת חשיפה) אתה יכול להגדיל את הערך הזה." -#: backend/hp5590.c:95 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "TMA Slides" -msgstr "שקפים TMA" +msgid "Color Matrix" +msgstr "מטריצת צבע" -#: backend/hp5590.c:96 -#, no-c-format -msgid "TMA Negatives" -msgstr "תשלילים TMA" +#: backend/hp-option.h:121 +#, fuzzy, no-c-format +msgid "Set the scanner's color matrix." +msgstr "קבע את מטריצת הצבע של הסורק." -#: backend/hp5590.c:108 +#: backend/hp-option.h:127 #, no-c-format -msgid "Color (48 bits)" -msgstr "צבע (48 ביטים)" +msgid "Custom color matrix." +msgstr "מטריצת צבע מותאמת אישית." -#: backend/hp5590.c:112 +#: backend/hp-option.h:132 #, no-c-format -msgid "Extend lamp timeout" -msgstr "הארך זמן תפוגה מנורה" +msgid "Mono Color Matrix" +msgstr "מטריצת צבע מונו" -#: backend/hp5590.c:113 +#: backend/hp-option.h:133 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "מאריך זמן תפוגה מנורה (מ-15 דקות ל-1 שעה)" +msgid "Custom color matrix for grayscale scans." +msgstr "מטריצת צבע מותאמת אישית עבור סריקות בגווני אפור." -#: backend/hp5590.c:115 +#: backend/hp-option.h:138 #, no-c-format -msgid "Wait for button" -msgstr "חכה לכפתור" +msgid "Mirror horizontal" +msgstr "בצע תמונת ראי אופקית" -#: backend/hp5590.c:116 +#: backend/hp-option.h:139 #, no-c-format -msgid "Waits for button before scanning" -msgstr "מחכה לכפתור לפני סריקה" +msgid "Mirror image horizontally." +msgstr "תמונת ראי אופקית." -#: backend/hp5590.c:118 +#: backend/hp-option.h:144 #, no-c-format -msgid "Last button pressed" -msgstr "כפתור אחרון שנלחץ" +msgid "Mirror vertical" +msgstr "בצע תמונת ראי אנכית" -#: backend/hp5590.c:119 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "קבל את ה-ID של הכפתור האחרון שנלחץ (קריאה בלבד)" - -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "מונה סריקה" - -#: backend/hp5590.c:122 -#, fuzzy, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "קבל את ה-ID של הכפתור האחרון שנלחץ (קריאה בלבד)" - -#: backend/hp5590.c:124 -#, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "צבע סגנון קווי" - -#: backend/hp5590.c:125 -#, fuzzy, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "קבל את ה-ID של הכפתור האחרון שנלחץ (קריאה בלבד)" +msgid "Mirror image vertically." +msgstr "תמונת ראי אנכית." -#: backend/hp5590.c:127 +#: backend/hp-option.h:150 #, no-c-format -msgid "Document available in ADF" -msgstr "" +msgid "Update options" +msgstr "עדכן אפשרויות" -#: backend/hp5590.c:128 +#: backend/hp-option.h:151 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +msgid "Update options." +msgstr "עדכן אפשרויות." -#: backend/hp5590.c:130 +#: backend/hp-option.h:156 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "הסתר את הפיקסל של סוף העמוד" +msgid "8 bit output" +msgstr "פלט 8 ביט" -#: backend/hp5590.c:131 +#: backend/hp-option.h:158 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" -msgstr "מסתיר את הפיקסלים המורים על סוף העמוד ומחליף עם הפיקסלים השכנים" +msgid "Use bit depth greater eight internally, but output only eight bits." +msgstr "השתמש בעומק ביט גדול משמונה פנימית, אבל בצע פלט רק של שמונה ביטים." -#: backend/hp5590.c:133 +#: backend/hp-option.h:164 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "מצב מילוי של קווים משתרכים לאחר מידע סריקה (מזין מסמכים אוטומטי)" +msgid "Front button wait" +msgstr "המתנה כפתור חזיתי" -#: backend/hp5590.c:134 +#: backend/hp-option.h:165 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" -"גולמי = מידע סריקה גולמי ,אחרונה = חזור על שורת סריקה אחרונה, מפת סיביות " -"= מפת סיביות שחור לבן, לבן = צבע לבן, שחור = צבע שחור, צבע = ערך צבע RGB " -"או אפור" +msgid "Wait to scan for front-panel button push." +msgstr "המתן לסריקה עד ללחיצה על כפתור בלוח החזיתי." -#: backend/hp5590.c:137 +#: backend/hp-option.h:172 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "ערך צבע RGB או אפור למצב מילוי \"צבע\"" +msgid "Shut off lamp" +msgstr "כיבוי מנורה" -#: backend/hp5590.c:138 +#: backend/hp-option.h:173 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" -msgstr "" -"ערך צבע עבור מצב מילוי קווים משתרכים \"צבע\". צבע RGB לפי r*65536+256*g" -"+b או ערך אפור (ברירת מחדל=סגול או אפור)" +msgid "Shut off scanner lamp." +msgstr "כיבוי מנורת סורק." -#: backend/hp-option.c:2987 +#: backend/hp3500.c:1020 #, no-c-format -msgid "Advanced Options" -msgstr "אפשרויות מתקדמות" +msgid "Geometry Group" +msgstr "קבוצת גיאומטריה" -#: backend/hp-option.c:3044 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "Coarse" -msgstr "גס" +msgid "Scan Mode Group" +msgstr "קבוצת מצב סריקה" -#: backend/hp-option.c:3045 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "Fine" -msgstr "עדין" +msgid "Scanner model" +msgstr "דגם סורק" -#: backend/hp-option.c:3046 -#, no-c-format -msgid "Bayer" -msgstr "Bayer" +#: backend/hp3900_sane.c:1408 +#, fuzzy, no-c-format +msgid "Allows one to test device behavior with other supported models" +msgstr "מאפשר לבדוק התנהגות ההתקן עם דגמים נתמכים אחרים" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 -#, no-c-format -msgid "Custom" -msgstr "מותאם אישית" +#: backend/hp3900_sane.c:1422 +#, fuzzy, no-c-format +msgid "Image colors will be inverted" +msgstr "הצבעים של התמונה יתהפכו" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1436 #, no-c-format -msgid "Auto" -msgstr "אוטומטי" +msgid "Disable gamma correction" +msgstr "כבה תיקון גמה" -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1437 #, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" +msgid "Gamma correction will be disabled" +msgstr "תיקון גמה יהיה כבוי" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" +msgid "Disable white shading correction" +msgstr "כבה תיקון הצללה לבנה" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Pass-through" -msgstr "חודר" +msgid "White shading correction will be disabled" +msgstr "תיקון הצללה לבנה יהיה כבוי" -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "NTSC Gray" -msgstr "אפור NTSC" +msgid "Skip warmup process" +msgstr "דלג על תהליך חימום" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "XPA Gray" -msgstr "אפור XPA" +msgid "Warmup process will be disabled" +msgstr "תהליך חימום יהיה כבוי" -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "Slow" -msgstr "לאט" +msgid "Force real depth" +msgstr "אלץ עומק אמיתי" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Normal" -msgstr "רגיל" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"אם גמה פועלת, סריקות תמיד מבוצעות בעומק 16 ביטים כדי לשפר את איכות " +"התמונה ואז מומרות לעומק הנבחר. אפשרות זו מונעת דימוי עומק." -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1499 #, no-c-format -msgid "Fast" -msgstr "מהר" +msgid "Emulate Grayscale" +msgstr "דמה גווני אפור" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "Extra Fast" -msgstr "מהר מאוד" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"אם פועלת, התמונה תיסרק במצב צבע ואז תהפוך המרה לגווני אפור בעזרת התוכנה. " +"זה יכול לשפר את איכות התמונה בנסיבות מסוימות." -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "2-pixel" -msgstr "2-פיקסל" +msgid "Save debugging images" +msgstr "שמור תמונות ניפוי באגים" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "4-pixel" -msgstr "4-פיקסל" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"אם פועלת, חלק מהתמונות שקשורות בעיבוד הסורק נשמרות לצורך אבחון שלהן." -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "8-pixel" -msgstr "8-פיקסל" +msgid "Reset chipset" +msgstr "אתחל צ'יפסט" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Print" -msgstr "הדפסה" +msgid "Resets chipset data" +msgstr "מאתחל מידע צ'יפסט" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "Film-strip" -msgstr "רצועת-סרט" +msgid "Information" +msgstr "מידע" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "XPA" -msgstr "XPA" +msgid "Chipset name" +msgstr "שם צ'יפסט" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "Conditional" -msgstr "על תנאי" +msgid "Shows chipset name used in device." +msgstr "מראה שם צ'יפסט בשימוש ההתקן." -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Experiment" -msgstr "ניסוי" +msgid "Unknown" +msgstr "לא ידוע" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Sharpening" -msgstr "חידוד" +msgid "Chipset ID" +msgstr "Chipset ID" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "Set sharpening value." -msgstr "קבע ערך חידוד." +msgid "Shows the chipset ID" +msgstr "מראה את ה-ID של הצ'יפסט" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1582 #, no-c-format -msgid "Auto Threshold" -msgstr "סף אוטומטי" +msgid "Scan counter" +msgstr "מונה סריקה" -#: backend/hp-option.h:68 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "הפעל קביעה אוטומטית של סף עבור סריקות סגנון קווי." +msgid "Shows the number of scans made by scanner" +msgstr "מציג את מספר הסריקות שבוצעו בעזרת הסורק" -#: backend/hp-option.h:74 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Select smoothing filter." -msgstr "בחר מסנן החלקה." +msgid "Update information" +msgstr "עדכן מידע" -#: backend/hp-option.h:79 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Unload media after scan" -msgstr "הוצא מדיה לאחר סריקה" +msgid "Updates information about device" +msgstr "מעדכן מידע אודות התקן" -#: backend/hp-option.h:80 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "מוציא את המדיה לאחר סריקה." +msgid "This option reflects a front panel scanner button" +msgstr "אפשרות זו משקפת כפתור סורק בלוח החזיתי" -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Change document" -msgstr "שנה מסמך" +msgid "Image" +msgstr "תמונה" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Change Document." -msgstr "שנה מסמך." +msgid "Miscellaneous" +msgstr "שונות" -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Unload" -msgstr "הוצא" +msgid "offset X" +msgstr "אופסט X" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unload Document." -msgstr "הוצא מסמך." +msgid "Hardware internal X position of the scanning area." +msgstr "מיקום X פנימי חומרה של שטח הסריקה." -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Start calibration process." -msgstr "התחל תהליך כיול." +msgid "offset Y" +msgstr "אופסט Y" -#: backend/hp-option.h:103 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Media" -msgstr "מדיה" +msgid "Hardware internal Y position of the scanning area." +msgstr "מיקום Y פנימי חומרה של שטח הסריקה." -#: backend/hp-option.h:104 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Set type of media." -msgstr "קבע סוג מדיה." +msgid "Lamp status" +msgstr "סטטוס מנורה" -#: backend/hp-option.h:109 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Exposure time" -msgstr "זמן חשיפה" +msgid "Switches the lamp on or off." +msgstr "מדליק או מכבה את המנורה." -#: backend/hp-option.h:111 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"זמן חשיפה ארוך יותר מאפשר לסורק לאסוף עוד אור. שימוש מומלץ הוא 175% " -"להדפסות, 150% לשקפים רגילים ו\"תשלילים\" עבור סרט תשלילים. עבור תמונות " -"כהות (תת חשיפה) אתה יכול להגדיל את הערך הזה." +msgid "Calibrates for black and white level." +msgstr "מכייל עבור רמת שחור ולבן." -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:95 #, no-c-format -msgid "Color Matrix" -msgstr "מטריצת צבע" +msgid "TMA Slides" +msgstr "שקפים TMA" -#: backend/hp-option.h:121 +#: backend/hp5590.c:96 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "קבע את מטריצת הצבע של הסורק." +msgid "TMA Negatives" +msgstr "תשלילים TMA" -#: backend/hp-option.h:127 +#: backend/hp5590.c:108 #, no-c-format -msgid "Custom color matrix." -msgstr "מטריצת צבע מותאמת אישית." +msgid "Color (48 bits)" +msgstr "צבע (48 ביטים)" -#: backend/hp-option.h:132 +#: backend/hp5590.c:112 #, no-c-format -msgid "Mono Color Matrix" -msgstr "מטריצת צבע מונו" +msgid "Extend lamp timeout" +msgstr "הארך זמן תפוגה מנורה" -#: backend/hp-option.h:133 +#: backend/hp5590.c:113 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "מטריצת צבע מותאמת אישית עבור סריקות בגווני אפור." +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "מאריך זמן תפוגה מנורה (מ-15 דקות ל-1 שעה)" -#: backend/hp-option.h:138 +#: backend/hp5590.c:115 #, no-c-format -msgid "Mirror horizontal" -msgstr "בצע תמונת ראי אופקית" +msgid "Wait for button" +msgstr "חכה לכפתור" -#: backend/hp-option.h:139 +#: backend/hp5590.c:116 #, no-c-format -msgid "Mirror image horizontally." -msgstr "תמונת ראי אופקית." +msgid "Waits for button before scanning" +msgstr "מחכה לכפתור לפני סריקה" -#: backend/hp-option.h:144 +#: backend/hp5590.c:118 #, no-c-format -msgid "Mirror vertical" -msgstr "בצע תמונת ראי אנכית" +msgid "Last button pressed" +msgstr "כפתור אחרון שנלחץ" -#: backend/hp-option.h:145 +#: backend/hp5590.c:119 #, no-c-format -msgid "Mirror image vertically." -msgstr "תמונת ראי אנכית." +msgid "Get ID of last button pressed (read only)" +msgstr "קבל את ה-ID של הכפתור האחרון שנלחץ (קריאה בלבד)" -#: backend/hp-option.h:150 +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "מונה סריקה" + +#: backend/hp5590.c:122 +#, fuzzy, no-c-format +msgid "Get value of LCD counter (read only)" +msgstr "קבל את ה-ID של הכפתור האחרון שנלחץ (קריאה בלבד)" + +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "צבע סגנון קווי" + +#: backend/hp5590.c:125 +#, fuzzy, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "קבל את ה-ID של הכפתור האחרון שנלחץ (קריאה בלבד)" + +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "עדכן אפשרויות" +msgid "Document available in ADF" +msgstr "" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "עדכן אפשרויות." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "פלט 8 ביט" +msgid "Hide end-of-page pixel" +msgstr "הסתר את הפיקסל של סוף העמוד" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." -msgstr "השתמש בעומק ביט גדול משמונה פנימית, אבל בצע פלט רק של שמונה ביטים." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "מסתיר את הפיקסלים המורים על סוף העמוד ומחליף עם הפיקסלים השכנים" -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "המתנה כפתור חזיתי" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "מצב מילוי של קווים משתרכים לאחר מידע סריקה (מזין מסמכים אוטומטי)" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "המתן לסריקה עד ללחיצה על כפתור בלוח החזיתי." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" +"גולמי = מידע סריקה גולמי ,אחרונה = חזור על שורת סריקה אחרונה, מפת סיביות " +"= מפת סיביות שחור לבן, לבן = צבע לבן, שחור = צבע שחור, צבע = ערך צבע RGB " +"או אפור" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "כיבוי מנורה" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "ערך צבע RGB או אפור למצב מילוי \"צבע\"" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "כיבוי מנורת סורק." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" +"ערך צבע עבור מצב מילוי קווים משתרכים \"צבע\". צבע RGB לפי r*65536+256*g" +"+b או ערך אפור (ברירת מחדל=סגול או אפור)" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4002,7 +4041,7 @@ msgid "single" msgstr "בודד" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" @@ -4170,9 +4209,9 @@ msgid "crt" msgstr "crt" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "linier" +#, fuzzy, no-c-format +msgid "linear" +msgstr "סגנון קווי" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4300,7 +4339,7 @@ msgstr "קובע הדגשת תמונה" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "גמה" @@ -4367,11 +4406,11 @@ msgstr "קיצוץ אוטומטי תוכנה" msgid "Request driver to remove border from pages digitally" msgstr "בקש מהדרייבר להסיר גבול מהעמודים באופן דיגיטלי" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 -#, no-c-format +#: backend/kvs20xx_opt.c:233 +#, fuzzy, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" "מצב בקרת אורך הוא מצב בו הסורק קורא עד לאורך הקצר יותר של הנייר בפועל או " "אורך המסמך הלוגי." @@ -4404,13 +4443,13 @@ msgid "B4" msgstr "B4" #: backend/kvs40xx_opt.c:231 -#, no-c-format -msgid "High sensivity" +#, fuzzy, no-c-format +msgid "High sensitivity" msgstr "רגישות גבוהה" #: backend/kvs40xx_opt.c:232 -#, no-c-format -msgid "Low sensivity" +#, fuzzy, no-c-format +msgid "Low sensitivity" msgstr "רגישות נמוכה" #: backend/kvs40xx_opt.c:243 @@ -4433,6 +4472,15 @@ msgstr "מצב רגיל" msgid "Enhanced mode" msgstr "מצב מועשר" +#: backend/kvs40xx_opt.c:396 +#, fuzzy, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" +"מצב בקרת אורך הוא מצב בו הסורק קורא עד לאורך הקצר יותר של הנייר בפועל או " +"אורך המסמך הלוגי." + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4493,8 +4541,8 @@ msgid "JPEG compression" msgstr "דחיסת JPEG" #: backend/kvs40xx_opt.c:718 -#, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +#, fuzzy, no-c-format +msgid "JPEG compression (your application must be able to uncompress)" msgstr "דחיסת JPEG (היישום שלך צריך לדעת לחלץ)" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4528,13 +4576,13 @@ msgid "Skew adjustment" msgstr "כיוון הטיה" #: backend/kvs40xx_opt.c:808 -#, no-c-format -msgid "Stop scanner when a paper have been skewed" +#, fuzzy, no-c-format +msgid "Stop scanner if a sheet is skewed" msgstr "עצור סורק כאשר נייר עבר הטיה" #: backend/kvs40xx_opt.c:809 -#, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +#, fuzzy, no-c-format +msgid "Scanner will stop if a sheet is skewed" msgstr "סורק יעצור כאשר נייר עבר הטיה" #: backend/kvs40xx_opt.c:816 @@ -4543,14 +4591,14 @@ msgid "Crop actual image area" msgstr "קצץ את שטח התמונה בפועל" #: backend/kvs40xx_opt.c:817 -#, no-c-format -msgid "Scanner automatically detect image area and crop it" +#, fuzzy, no-c-format +msgid "Scanner will automatically detect image area and crop to it" msgstr "סורק מגלה שטח תמונה אוטומטית וקוצץ אותו" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "זה היפוך ימין ושמאל" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "בצע תמונת ראי" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4587,52 +4635,52 @@ msgstr "8x8 Bayer" msgid "8x8 Vertical Line" msgstr "קו אנכי 8x8" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "הגבר" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "הגדרות הגבר ערוצי צבע" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "הגבר אפור" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "קובע את הגבר ערוץ אפור" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "הגבר אדום" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "קובע את הגבר ערוץ אדום" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "הגבר ירוק" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "קובע את הגבר ערוץ ירוק" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "הגבר כחול" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "קובע את הגבר ערוץ כחול" @@ -4718,7 +4766,7 @@ msgstr "עמוד אחד" msgid "All pages" msgstr "כל הדפים" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "סורק מוזן דפים" @@ -5215,27 +5263,32 @@ msgstr "" "בצע חימום עד שהבהירות של המנורה קבועה במקום להיצמד לזמן חימום של 40 " "שניות." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "דרוש כיול" + +#: backend/pixma/pixma.c:397 #, no-c-format msgid "Negative color" msgstr "צבע תשליל" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, no-c-format msgid "Negative gray" msgstr "אפור תשליל" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "צבע 48 ביטים" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "צבע 16 ביטים" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " @@ -5244,12 +5297,12 @@ msgstr "" "בוחר את מקור הסריקה (כמו מזין מסמכים). קבע מקור לפני מצב ורזולוציה. " "מאתחל מצב ורזולוציה לערכים אוטומטים." -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "סריקה מבוקרת כפתור" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5259,40 +5312,40 @@ msgstr "" "כאשר מופעלת, תהליך הסריקה לא יתחיל מיד. להמשך, לחץ על כפתור \"סריקה\" או " "\"צבע\" (תלוי בדגם הסורק). לביטול, לחץ על כפתור \"אפור\"." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "עדכן מצב כפתור" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "כפתור 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "כפתור 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "סוג מקור לסריקה" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "סוג פעולת מטרה" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "זמן המתנה מזין מסמכים אוטומטי" -#: backend/pixma_sane_options.c:349 -#, no-c-format +#: backend/pixma/pixma_sane_options.c:349 +#, fuzzy, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" "כאשר נקבע, הסורק מחפש את זמן ההמתנה בשניות למסמך חדש המוכנס למזין " @@ -5383,7 +5436,7 @@ msgstr "ממשק אנלוגי" msgid "Red gain value of the AFE" msgstr "ערך הגבר אדום של ה-AFE" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "אופסט אדום" @@ -5657,7 +5710,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "אפשרות זו משקפת את הסטטוס של כפתור בסורק." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "מנורה דולקת" @@ -5667,12 +5720,12 @@ msgstr "מנורה דולקת" msgid "Turn on scanner lamp" msgstr "הדלק מנורת סורק" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "מנורה כבויה" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "כבה מנורת סורק" @@ -5813,13 +5866,13 @@ msgid "Focus point" msgstr "נקודת פוקוס" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" +#, fuzzy, no-c-format +msgid "Color lines per read" msgstr "קווי צבע פר קריאה" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" msgstr "קווים בגווני אפור פר קריאה" #: backend/stv680.c:974 @@ -6444,52 +6497,68 @@ msgstr "מצב כיול" msgid "Define calibration mode" msgstr "הגדר מצב כיול" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "מדליק/מכבה מנורה" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "הדלקת UTA" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "קובע UTA דולק/מכובה" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "אופסט" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "הגדרות אופסט ערוצי צבעים" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "אופסט אפור" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "קובע אופסט ערוץ אפור" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "קובע אופסט ערוץ אדום" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "קובע אופסט ערוץ ירוק" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "קובע אופסט ערוץ כחול" + +#~ msgid "Disable dynamic lineart" +#~ msgstr "כבה סגנון קווי דינמי" + +#~ msgid "" +#~ "Disable use of a software adaptive algorithm to generate lineart " +#~ "relying instead on hardware lineart." +#~ msgstr "" +#~ "כבה שימוש של אלגוריתם מסתגל תוכנתי ליצור סגנון קווי ובמקום זאת הסתמך " +#~ "על סגנון קווי חומרתי." + +#~ msgid "linier" +#~ msgstr "linier" + +#~ msgid "It is right and left reversing" +#~ msgstr "זה היפוך ימין ושמאל" diff --git a/po/hu.po b/po/hu.po index 2faffef..b254545 100644 --- a/po/hu.po +++ b/po/hu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2011-04-06 19:50+0200\n" "Last-Translator: Németh Tamás \n" "Language-Team: Hungarian \n" @@ -27,31 +27,31 @@ msgid "Standard" msgstr "Általános" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Geometria" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Haladó" @@ -85,7 +85,7 @@ msgid "Bit depth" msgstr "Színmélység" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Szkennelési üzemmód" @@ -126,7 +126,7 @@ msgid "Bottom-right y" msgstr "Jobb-alsó y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Szkennelés felbontása" @@ -281,7 +281,7 @@ msgstr "Fájlnév" msgid "Halftone pattern size" msgstr "" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "" @@ -291,10 +291,10 @@ msgstr "" msgid "Bind X and Y resolution" msgstr "" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negatív" @@ -417,7 +417,7 @@ msgstr "" #: include/sane/saneopts.h:245 #, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" @@ -723,7 +723,7 @@ msgstr "" #: include/sane/saneopts.h:415 #, no-c-format -msgid "Warmup lamp before scanning" +msgid "Warm up lamp before scanning" msgstr "" #: include/sane/saneopts.h:417 @@ -872,8 +872,8 @@ msgid "Operation not supported" msgstr "A művelet nem támogatott" #: backend/sane_strstatus.c:65 -#, no-c-format -msgid "Operation was cancelled" +#, fuzzy, no-c-format +msgid "Operation was canceled" msgstr "A művelet megszakítva" #: backend/sane_strstatus.c:68 @@ -967,7 +967,7 @@ msgstr "" #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" @@ -994,81 +994,41 @@ msgstr "Teljes szkennelés" #: backend/avision.h:783 #, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Szkenner kalibrálása" - -#: backend/canon630u.c:160 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Force scanner calibration before scan" +msgid "Correction according to transparency ratio" msgstr "" -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Szürkeskálás szkennelés" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Do a grayscale rather than color scan" +msgid "Correction according to film type" msgstr "" -#: backend/canon630u.c:306 -#, no-c-format -msgid "Analog Gain" -msgstr "Analóg erősítés" - -#: backend/canon630u.c:307 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" +msgid "Fine color" msgstr "" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 -#, no-c-format -msgid "Gamma Correction" -msgstr "Gamma korrekció" - -#: backend/canon630u.c:348 -#, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "" +#: backend/canon-sane.c:776 backend/canon.c:176 +#, fuzzy, no-c-format +msgid "Negatives" +msgstr "Negatív" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "Nyers" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "" - #: backend/canon.c:169 #, fuzzy, no-c-format msgid "No transparency correction" msgstr "Erősítés korrekció" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, fuzzy, no-c-format -msgid "Negatives" -msgstr "Negatív" - #: backend/canon.c:176 #, fuzzy, no-c-format msgid "Slides" @@ -1202,9 +1162,9 @@ msgid "invalid bit IDENTIFY message" msgstr "" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" -msgstr "" +#, fuzzy, no-c-format +msgid "option not correct" +msgstr "A művelet nem támogatott" #: backend/canon.c:474 #, no-c-format @@ -1491,133 +1451,184 @@ msgstr "Filmtípus" msgid "Select the film type" msgstr "" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Szkenner kalibrálása" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Szürkeskálás szkennelés" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Analóg erősítés" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Gamma korrekció" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Síkágyas" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Front" msgstr "Nyomtatás" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, no-c-format msgid "Card Duplex" msgstr "" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Vörös" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Zöld" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Kék" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Haladó" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Haladó" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Haladó" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Nincs" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatikus dokumentum adagoló" @@ -1729,7 +1740,7 @@ msgstr "Tintasugaras nyomtató" msgid "CRT monitors" msgstr "CRT monitor" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1793,8 +1804,9 @@ msgstr "A4" msgid "Max" msgstr "Max" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -1966,17 +1978,17 @@ msgstr "" msgid "Quick format" msgstr "" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "" @@ -1991,12 +2003,14 @@ msgstr "" msgid "Eject document after scanning" msgstr "" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" @@ -2041,14 +2055,14 @@ msgid "" "pressed to actually start the scan process." msgstr "" -#: backend/epson2.c:102 backend/pixma.c:409 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format -msgid "Infrared" +msgid "TPU8x10" msgstr "" -#: backend/epson2.c:117 +#: backend/epson2.c:102 backend/pixma/pixma.c:409 #, no-c-format -msgid "TPU8x10" +msgid "Infrared" msgstr "" #: backend/epson2.c:136 @@ -2071,492 +2085,512 @@ msgstr "" msgid "User defined CCT profile" msgstr "" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, no-c-format +msgid "Load a sheet in the ADF" +msgstr "" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Nincs korrekció" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Gamma korrekció" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Be" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Ki" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, no-c-format msgid "Diffusion" msgstr "" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, fuzzy, no-c-format msgid "White" msgstr "Fehérszint" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Black" msgstr "Feketeszint" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "Folytatás" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "Megállít" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "10mm" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "15mm" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "20mm" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Vízszintes" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Vízszintes" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Vízszintes" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Függőleges" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Függőleges" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, fuzzy, no-c-format msgid "Front" msgstr "Nyomtatás" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, no-c-format msgid "Halftone type" msgstr "" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Finom beállítás" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, no-c-format msgid "Emphasis" msgstr "" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Telítettség" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "" -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Kép tükrözése" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "A kép vízszintes tükrözése." -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Fehérszint" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "A kék csatorna kontrasztja" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Színmátrix" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Gamma érték" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Küszöb" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Zajszűrés" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Nincs korrekció" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Nincs korrekció" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Előnézeti mód" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Haladó" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Nincs korrekció" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, no-c-format msgid "Dropout color" msgstr "" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, no-c-format msgid "Buffer mode" msgstr "" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2564,65 +2598,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, no-c-format msgid "Off timer" msgstr "" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Teljes szkennelés" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "A zöld csatorna kontrasztja" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "A kék csatorna kontrasztja" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, fuzzy, no-c-format msgid "Low Memory" msgstr "Nincs elég memória" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2631,507 +2665,514 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Teljes szkennelés" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Haladó" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Zajszűrés" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, no-c-format msgid "A3 paper" msgstr "" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, no-c-format msgid "B4 paper" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, no-c-format msgid "A4 paper" msgstr "" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, no-c-format msgid "B5 paper" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, no-c-format msgid "Manual feed" msgstr "" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, no-c-format msgid "Manual feed selected" msgstr "" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Eszköz felbontása" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Fehérszint" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "Vörös intenzitás" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Teljes szkennelés" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, fuzzy, no-c-format msgid "Extras" msgstr "Extra gyors" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Tesztbeállítások engedélyezése" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Színmátrix" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibráció" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Precíz beállítás" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibráció" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Finom beállítás" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "Fájl gomb" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "OCR gomb" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "Email gomb" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, fuzzy, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Finom beállítás" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Gombok" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrálás" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Kalibrálási folyamat indítása." -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Finom beállítás" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Finom beállítás" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Finom beállítás" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, no-c-format +msgid "Ignore internal offsets" +msgstr "" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Átlátszó" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3222,615 +3263,615 @@ msgstr "Gamma érték" msgid "Sets the gamma value of all channels." msgstr "" -#: backend/hp3500.c:1020 -#, fuzzy, no-c-format -msgid "Geometry Group" -msgstr "Geometria" - -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:2987 #, fuzzy, no-c-format -msgid "Scan Mode Group" -msgstr " Szkennelési üzemmód " +msgid "Advanced Options" +msgstr "Haladó" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Slide" +msgid "Coarse" msgstr "" -#: backend/hp3900_sane.c:1405 -#, fuzzy, no-c-format -msgid "Scanner model" -msgstr "Szkennelési üzemmód" - -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" +msgid "Fine" msgstr "" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Image colours will be inverted" +msgid "Bayer" msgstr "" -#: backend/hp3900_sane.c:1436 -#, fuzzy, no-c-format -msgid "Disable gamma correction" -msgstr "Gamma korrekció" - -#: backend/hp3900_sane.c:1437 -#, fuzzy, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Gamma korrekció" - -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Disable white shading correction" -msgstr "" +msgid "Custom" +msgstr "Egyedi" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "" +msgid "Auto" +msgstr "Automatikus" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Skip warmup process" -msgstr "" +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "" +msgid "XPA RGB" +msgstr "XPA RGB" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3093 #, no-c-format -msgid "Force real depth" +msgid "Pass-through" msgstr "" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3094 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." +msgid "NTSC Gray" msgstr "" -#: backend/hp3900_sane.c:1499 -#, fuzzy, no-c-format -msgid "Emulate Grayscale" -msgstr "Szürkeárnyalatos" - -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3095 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." +msgid "XPA Gray" msgstr "" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Save debugging images" -msgstr "" +msgid "Slow" +msgstr "Lassú" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" +msgid "Normal" +msgstr "Normál" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3149 #, no-c-format -msgid "Reset chipset" -msgstr "" +msgid "Fast" +msgstr "Gyors" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3150 #, no-c-format -msgid "Resets chipset data" -msgstr "" +msgid "Extra Fast" +msgstr "Extra gyors" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3163 #, no-c-format -msgid "Information" -msgstr "Információ" +msgid "2-pixel" +msgstr "2-pixel" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3164 #, no-c-format -msgid "Chipset name" -msgstr "Chipset név" +msgid "4-pixel" +msgstr "4-pixel" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3165 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "" +msgid "8-pixel" +msgstr "8-pixel" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Unknown" -msgstr "Ismeretlen" +msgid "Print" +msgstr "Nyomtatás" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Chipset ID" +msgid "Slide" msgstr "" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Shows the chipset ID" +msgid "Film-strip" msgstr "" -#: backend/hp3900_sane.c:1582 -#, fuzzy, no-c-format -msgid "Scan counter" -msgstr " Szkennelési üzemmód " +#: backend/hp-option.c:3256 backend/hp5590.c:93 +#, no-c-format +msgid "ADF" +msgstr "ADF" -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "" +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Update information" +msgid "Conditional" msgstr "" -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Updates information about device" +msgid "Experiment" msgstr "" -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:60 #, no-c-format -msgid "This option reflects a front panel scanner button" +msgid "Sharpening" msgstr "" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:61 #, no-c-format -msgid "Image" -msgstr "Kép" +msgid "Set sharpening value." +msgstr "" -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:66 #, no-c-format -msgid "Miscellaneous" -msgstr "Egyéb" +msgid "Auto Threshold" +msgstr "" -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:68 #, no-c-format -msgid "offset X" +msgid "Enable automatic determination of threshold for line-art scans." msgstr "" -#: backend/hp5400_sane.c:359 -#, fuzzy, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "A beolvasási terület bal-felső x pozíciója" - -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:74 #, no-c-format -msgid "offset Y" +msgid "Select smoothing filter." msgstr "" -#: backend/hp5400_sane.c:369 -#, fuzzy, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "A beolvasási terület bal-felső x pozíciója" - -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:79 #, no-c-format -msgid "Lamp status" +msgid "Unload media after scan" msgstr "" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:80 #, no-c-format -msgid "Switches the lamp on or off." +msgid "Unloads the media after a scan." msgstr "" -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:85 #, no-c-format -msgid "Calibrates for black and white level." +msgid "Change document" msgstr "" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:86 #, no-c-format -msgid "ADF" -msgstr "ADF" +msgid "Change Document." +msgstr "" -#: backend/hp5590.c:95 +#: backend/hp-option.h:91 #, no-c-format -msgid "TMA Slides" +msgid "Unload" msgstr "" -#: backend/hp5590.c:96 -#, fuzzy, no-c-format -msgid "TMA Negatives" -msgstr "Negatív" +#: backend/hp-option.h:92 +#, no-c-format +msgid "Unload Document." +msgstr "" -#: backend/hp5590.c:108 -#, fuzzy, no-c-format -msgid "Color (48 bits)" -msgstr "Színes 42/48" +#: backend/hp-option.h:98 +#, no-c-format +msgid "Start calibration process." +msgstr "Kalibrálási folyamat indítása." -#: backend/hp5590.c:112 +#: backend/hp-option.h:103 #, no-c-format -msgid "Extend lamp timeout" +msgid "Media" msgstr "" -#: backend/hp5590.c:113 +#: backend/hp-option.h:104 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgid "Set type of media." msgstr "" -#: backend/hp5590.c:115 +#: backend/hp-option.h:109 #, no-c-format -msgid "Wait for button" +msgid "Exposure time" msgstr "" -#: backend/hp5590.c:116 +#: backend/hp-option.h:111 #, no-c-format -msgid "Waits for button before scanning" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." msgstr "" -#: backend/hp5590.c:118 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "Last button pressed" -msgstr "" +msgid "Color Matrix" +msgstr "Színmátrix" -#: backend/hp5590.c:119 +#: backend/hp-option.h:121 #, no-c-format -msgid "Get ID of last button pressed (read only)" +msgid "Set the scanner's color matrix." msgstr "" -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr " Szkennelési üzemmód " +#: backend/hp-option.h:127 +#, no-c-format +msgid "Custom color matrix." +msgstr "Egyéni színmátrix." -#: backend/hp5590.c:122 +#: backend/hp-option.h:132 #, no-c-format -msgid "Get value of LCD counter (read only)" +msgid "Mono Color Matrix" msgstr "" -#: backend/hp5590.c:124 +#: backend/hp-option.h:133 #, no-c-format -msgid "Color LED indicator" +msgid "Custom color matrix for grayscale scans." msgstr "" -#: backend/hp5590.c:125 +#: backend/hp-option.h:138 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "" +msgid "Mirror horizontal" +msgstr "Vízszintes tükrözés" -#: backend/hp5590.c:127 +#: backend/hp-option.h:139 #, no-c-format -msgid "Document available in ADF" -msgstr "" +msgid "Mirror image horizontally." +msgstr "A kép vízszintes tükrözése." -#: backend/hp5590.c:128 +#: backend/hp-option.h:144 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +msgid "Mirror vertical" +msgstr "Függőleges tükrözés" -#: backend/hp5590.c:130 +#: backend/hp-option.h:145 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "" +msgid "Mirror image vertically." +msgstr "A kép függőleges tükrözése." -#: backend/hp5590.c:131 +#: backend/hp-option.h:150 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgid "Update options" msgstr "" -#: backend/hp5590.c:133 +#: backend/hp-option.h:151 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" +msgid "Update options." msgstr "" -#: backend/hp5590.c:134 +#: backend/hp-option.h:156 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" +msgid "8 bit output" msgstr "" -#: backend/hp5590.c:137 +#: backend/hp-option.h:158 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" -#: backend/hp5590.c:138 +#: backend/hp-option.h:164 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" +msgid "Front button wait" msgstr "" -#: backend/hp-option.c:2987 -#, fuzzy, no-c-format -msgid "Advanced Options" -msgstr "Haladó" - -#: backend/hp-option.c:3044 +#: backend/hp-option.h:165 #, no-c-format -msgid "Coarse" +msgid "Wait to scan for front-panel button push." msgstr "" -#: backend/hp-option.c:3045 +#: backend/hp-option.h:172 #, no-c-format -msgid "Fine" +msgid "Shut off lamp" msgstr "" -#: backend/hp-option.c:3046 +#: backend/hp-option.h:173 #, no-c-format -msgid "Bayer" +msgid "Shut off scanner lamp." msgstr "" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 -#, no-c-format -msgid "Custom" -msgstr "Egyedi" +#: backend/hp3500.c:1020 +#, fuzzy, no-c-format +msgid "Geometry Group" +msgstr "Geometria" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 -#, no-c-format -msgid "Auto" -msgstr "Automatikus" +#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#, fuzzy, no-c-format +msgid "Scan Mode Group" +msgstr " Szkennelési üzemmód " -#: backend/hp-option.c:3091 -#, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" +#: backend/hp3900_sane.c:1405 +#, fuzzy, no-c-format +msgid "Scanner model" +msgstr "Szkennelési üzemmód" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1408 #, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" +msgid "Allows one to test device behavior with other supported models" +msgstr "" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "Pass-through" +msgid "Image colors will be inverted" msgstr "" -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1436 +#, fuzzy, no-c-format +msgid "Disable gamma correction" +msgstr "Gamma korrekció" + +#: backend/hp3900_sane.c:1437 +#, fuzzy, no-c-format +msgid "Gamma correction will be disabled" +msgstr "Gamma korrekció" + +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "NTSC Gray" +msgid "Disable white shading correction" msgstr "" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "XPA Gray" +msgid "White shading correction will be disabled" msgstr "" -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Slow" -msgstr "Lassú" +msgid "Skip warmup process" +msgstr "" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "Normal" -msgstr "Normál" +msgid "Warmup process will be disabled" +msgstr "" -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "Fast" -msgstr "Gyors" +msgid "Force real depth" +msgstr "" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Extra Fast" -msgstr "Extra gyors" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1499 +#, fuzzy, no-c-format +msgid "Emulate Grayscale" +msgstr "Szürkeárnyalatos" + +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "2-pixel" -msgstr "2-pixel" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "4-pixel" -msgstr "4-pixel" +msgid "Save debugging images" +msgstr "" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "8-pixel" -msgstr "8-pixel" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "Print" -msgstr "Nyomtatás" +msgid "Reset chipset" +msgstr "" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Film-strip" +msgid "Resets chipset data" msgstr "" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "XPA" -msgstr "XPA" +msgid "Information" +msgstr "Információ" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "Conditional" -msgstr "" +msgid "Chipset name" +msgstr "Chipset név" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "Experiment" +msgid "Shows chipset name used in device." msgstr "" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Sharpening" -msgstr "" +msgid "Unknown" +msgstr "Ismeretlen" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Set sharpening value." +msgid "Chipset ID" msgstr "" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "Auto Threshold" +msgid "Shows the chipset ID" msgstr "" -#: backend/hp-option.h:68 +#: backend/hp3900_sane.c:1582 +#, fuzzy, no-c-format +msgid "Scan counter" +msgstr " Szkennelési üzemmód " + +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." +msgid "Shows the number of scans made by scanner" msgstr "" -#: backend/hp-option.h:74 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Select smoothing filter." +msgid "Update information" msgstr "" -#: backend/hp-option.h:79 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Unload media after scan" +msgid "Updates information about device" msgstr "" -#: backend/hp-option.h:80 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Unloads the media after a scan." +msgid "This option reflects a front panel scanner button" msgstr "" -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Change document" -msgstr "" +msgid "Image" +msgstr "Kép" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Change Document." -msgstr "" +msgid "Miscellaneous" +msgstr "Egyéb" -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Unload" +msgid "offset X" msgstr "" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:359 +#, fuzzy, no-c-format +msgid "Hardware internal X position of the scanning area." +msgstr "A beolvasási terület bal-felső x pozíciója" + +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Unload Document." +msgid "offset Y" msgstr "" -#: backend/hp-option.h:98 -#, no-c-format -msgid "Start calibration process." -msgstr "Kalibrálási folyamat indítása." +#: backend/hp5400_sane.c:369 +#, fuzzy, no-c-format +msgid "Hardware internal Y position of the scanning area." +msgstr "A beolvasási terület bal-felső x pozíciója" -#: backend/hp-option.h:103 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Media" +msgid "Lamp status" msgstr "" -#: backend/hp-option.h:104 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Set type of media." +msgid "Switches the lamp on or off." msgstr "" -#: backend/hp-option.h:109 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Exposure time" +msgid "Calibrates for black and white level." msgstr "" -#: backend/hp-option.h:111 +#: backend/hp5590.c:95 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." +msgid "TMA Slides" msgstr "" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:96 +#, fuzzy, no-c-format +msgid "TMA Negatives" +msgstr "Negatív" + +#: backend/hp5590.c:108 +#, fuzzy, no-c-format +msgid "Color (48 bits)" +msgstr "Színes 42/48" + +#: backend/hp5590.c:112 #, no-c-format -msgid "Color Matrix" -msgstr "Színmátrix" +msgid "Extend lamp timeout" +msgstr "" -#: backend/hp-option.h:121 +#: backend/hp5590.c:113 #, no-c-format -msgid "Set the scanners color matrix." +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: backend/hp-option.h:127 +#: backend/hp5590.c:115 #, no-c-format -msgid "Custom color matrix." -msgstr "Egyéni színmátrix." +msgid "Wait for button" +msgstr "" -#: backend/hp-option.h:132 +#: backend/hp5590.c:116 #, no-c-format -msgid "Mono Color Matrix" +msgid "Waits for button before scanning" msgstr "" -#: backend/hp-option.h:133 +#: backend/hp5590.c:118 #, no-c-format -msgid "Custom color matrix for grayscale scans." +msgid "Last button pressed" msgstr "" -#: backend/hp-option.h:138 +#: backend/hp5590.c:119 #, no-c-format -msgid "Mirror horizontal" -msgstr "Vízszintes tükrözés" +msgid "Get ID of last button pressed (read only)" +msgstr "" -#: backend/hp-option.h:139 +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr " Szkennelési üzemmód " + +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror image horizontally." -msgstr "A kép vízszintes tükrözése." +msgid "Get value of LCD counter (read only)" +msgstr "" -#: backend/hp-option.h:144 +#: backend/hp5590.c:124 #, no-c-format -msgid "Mirror vertical" -msgstr "Függőleges tükrözés" +msgid "Color LED indicator" +msgstr "" -#: backend/hp-option.h:145 +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "A kép függőleges tükrözése." +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" +msgid "Document available in ADF" msgstr "" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." +msgid "Get state of document-available indicator in ADF (read only)" msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" +msgid "Hide end-of-page pixel" msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" +msgid "Filling mode of trailing lines after scan data (ADF)" msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" +msgid "RGB or gray color value for filling mode 'color'" msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 @@ -3931,7 +3972,7 @@ msgid "single" msgstr "" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" @@ -4099,9 +4140,9 @@ msgid "crt" msgstr "" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Vonalas" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4228,7 +4269,7 @@ msgstr "" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" @@ -4295,11 +4336,11 @@ msgstr "" msgid "Request driver to remove border from pages digitally" msgstr "" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4331,12 +4372,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "" #: backend/kvs40xx_opt.c:232 #, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "" #: backend/kvs40xx_opt.c:243 @@ -4359,6 +4400,13 @@ msgstr "Normál" msgid "Enhanced mode" msgstr "Haladó" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4418,7 +4466,7 @@ msgstr "" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4453,12 +4501,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4468,13 +4516,13 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Kép tükrözése" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4511,52 +4559,52 @@ msgstr "" msgid "8x8 Vertical Line" msgstr "" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, fuzzy, no-c-format msgid "Gray gain" msgstr "Szürke" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, fuzzy, no-c-format msgid "Red gain" msgstr "Vörös balansz" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, fuzzy, no-c-format msgid "Sets red channel gain" msgstr "A vörös csatorna kontrasztja" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, fuzzy, no-c-format msgid "Green gain" msgstr "Zöld balansz" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, fuzzy, no-c-format msgid "Sets green channel gain" msgstr "A zöld csatorna kontrasztja" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, fuzzy, no-c-format msgid "Blue gain" msgstr "Kék balansz" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, fuzzy, no-c-format msgid "Sets blue channel gain" msgstr "A kék csatorna kontrasztja" @@ -4642,7 +4690,7 @@ msgstr "Egy oldal" msgid "All pages" msgstr "Minden oldal" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "" @@ -5135,39 +5183,44 @@ msgid "" "40 seconds warm-up time." msgstr "" -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Finom beállítás" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negatív film" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negatív" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5175,40 +5228,40 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5297,7 +5350,7 @@ msgstr "Analóg erősítés" msgid "Red gain value of the AFE" msgstr "" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "" @@ -5552,7 +5605,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "" -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "" @@ -5562,12 +5615,12 @@ msgstr "" msgid "Turn on scanner lamp" msgstr "" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "" @@ -5703,13 +5756,13 @@ msgstr "Fókusz az üvegen" #: backend/snapscan-options.c:930 #, no-c-format -msgid "Colour lines per read" +msgid "Color lines per read" msgstr "" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" -msgstr "" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" +msgstr "Szürkeskálás szkennelés" #: backend/stv680.c:974 #, no-c-format @@ -6293,52 +6346,52 @@ msgstr "" msgid "Define calibration mode" msgstr "" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, fuzzy, no-c-format msgid "Offset" msgstr "Ki" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, fuzzy, no-c-format msgid "Gray offset" msgstr "Szürke kontraszt" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, fuzzy, no-c-format msgid "Sets red channel offset" msgstr "A vörös csatorna kontrasztja" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, fuzzy, no-c-format msgid "Sets green channel offset" msgstr "A zöld csatorna kontrasztja" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, fuzzy, no-c-format msgid "Sets blue channel offset" msgstr "A kék csatorna kontrasztja" diff --git a/po/it.po b/po/it.po index 375271d..6107e47 100644 --- a/po/it.po +++ b/po/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.18\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2007-08-28 23:11+0200\n" "Last-Translator: Giuseppe Sacco \n" "Language-Team: italian translation project \n" @@ -26,31 +26,31 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Geometria" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Miglioramento" @@ -84,7 +84,7 @@ msgid "Bit depth" msgstr "Profondità in bit" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Modalità di scansione" @@ -125,7 +125,7 @@ msgid "Bottom-right y" msgstr "Y in basso a destra" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Risoluzione della scansione" @@ -280,7 +280,7 @@ msgstr "Nome file" msgid "Halftone pattern size" msgstr "Dimensione del modello mezzi-toni" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Modello mezzi-toni" @@ -290,10 +290,10 @@ msgstr "Modello mezzi-toni" msgid "Bind X and Y resolution" msgstr "Lega la risoluzione X e Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" @@ -414,9 +414,9 @@ msgid "Lamp off at exit" msgstr "Lampada spenta in uscita" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Opzione che visualizza quante opzioni sono supportate da uno specifico " @@ -768,8 +768,8 @@ msgid "Analog gamma-correction for blue" msgstr "Correzione gamma del blu analogica" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Preriscaldamento della lampada prima della scansione" #: include/sane/saneopts.h:417 @@ -919,7 +919,7 @@ msgstr "Mezzi-toni non supportati" #: backend/sane_strstatus.c:65 #, no-c-format -msgid "Operation was cancelled" +msgid "Operation was canceled" msgstr "" #: backend/sane_strstatus.c:68 @@ -1013,10 +1013,10 @@ msgid "Only perform shading-correction" msgstr "Esegue solamente la correzione delle ombre" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Se abilitata verrà eseguita solo la correzione delle ombre, qualora sia " @@ -1045,83 +1045,43 @@ msgid "Duplex scan" msgstr "Scansione Duplex" #: backend/avision.h:783 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "La scansione duplex è quella di entrambi i lati del documento" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Calibrare lo scanner" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Forza la calibrazione dello scanner prima della scansione" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Scansione in scala di grigi" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Effettuare una scansione in scala di grigi invece che a colori" - -#: backend/canon630u.c:306 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Analog Gain" -msgstr "Guadagno analogico" +msgid "Correction according to transparency ratio" +msgstr "Correzione in base al rapporto di trasparenza" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Aumenta o diminuisce il guadagno analogico del sensore CCD" +msgid "Correction according to film type" +msgstr "Correzione in base al tipo di pellicola" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "Correzione gamma" +msgid "Fine color" +msgstr "Colore ad alta qualità" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Selezionare la curva di correzione gamma" +msgid "Negatives" +msgstr "Negativi" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "Grezzo" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Colore ad alta qualità" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Nessuna correzione della trasparenza" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Correzione in base al tipo di pellicola" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Correzione in base al rapporto di trasparenza" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Negativi" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1257,8 +1217,8 @@ msgid "invalid bit IDENTIFY message" msgstr "messaggio con bit IDENTIFY non valido" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" +#, fuzzy, no-c-format +msgid "option not correct" msgstr "opzione non connesso" #: backend/canon.c:474 @@ -1550,133 +1510,184 @@ msgstr "Seleziona tipo pellicola" msgid "Select the film type" msgstr "Seleziona il tipo di pellicola" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Calibrare lo scanner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Forza la calibrazione dello scanner prima della scansione" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Scansione in scala di grigi" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Effettuare una scansione in scala di grigi invece che a colori" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Guadagno analogico" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Aumenta o diminuisce il guadagno analogico del sensore CCD" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Correzione gamma" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Selezionare la curva di correzione gamma" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Piano fisso" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, fuzzy, no-c-format msgid "ADF Front" msgstr "Coperchio ADF aperto" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "ADF inceppato" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "ADF Duplex" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Front" msgstr "Stampa" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Fronte e retro" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rosso" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Verde" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blu" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Miglioramento" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Miglioramento" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Miglioramento" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Nessuno" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Solo fronte" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Fronte e retro" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Adattatore per trasparenze" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Caricatore automatico fogli" @@ -1788,7 +1799,7 @@ msgstr "Stampanti a getto d'inchiostro" msgid "CRT monitors" msgstr "Monitor CRT" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1852,8 +1863,9 @@ msgstr "A4" msgid "Max" msgstr "Massimo" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -2027,17 +2039,17 @@ msgstr "Definisce il fattore di zoom usato dallo scanner" msgid "Quick format" msgstr "Formato rapido" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Dispositivi opzionali" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Espulsione" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Espelle il foglio dall'alimentatore automatico" @@ -2052,12 +2064,14 @@ msgstr "Espulsione automatica" msgid "Eject document after scanning" msgstr "Espelle il documento dopo la sua scansione" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Modalità ADF" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Seleziona la modalità ADF (solo fronte/fronte-retro)" @@ -2109,14 +2123,14 @@ msgstr "" "premuto il tasto dello scanner per fare partire il processo di " "acquisizione." -#: backend/epson2.c:102 backend/pixma.c:409 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format -msgid "Infrared" +msgid "TPU8x10" msgstr "" -#: backend/epson2.c:117 +#: backend/epson2.c:102 backend/pixma/pixma.c:409 #, no-c-format -msgid "TPU8x10" +msgid "Infrared" msgstr "" #: backend/epson2.c:136 @@ -2139,493 +2153,513 @@ msgstr "" msgid "User defined CCT profile" msgstr "Definito dall'utente" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Espelle il foglio dall'alimentatore automatico" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Nessuna correzione" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Correzione gamma analogica" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Attivo" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Disattivo" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Sfumatura" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Diffusione d'errore" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, fuzzy, no-c-format msgid "White" msgstr "Livello bianco" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Black" msgstr "Livello nero" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, fuzzy, no-c-format msgid "Continue" msgstr "Condizionale" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Orizzontale" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Orizzontale" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Orizzontale" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Verticale" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Verticale" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, fuzzy, no-c-format msgid "Front" msgstr "Stampa" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Mezzi toni" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Effettua calibrazione" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Accentuazione dell'immagine" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Saturazione" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Abilita la valutazione automatica della soglia per la scansione binaria." -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Immagine riflessa" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Riflette l'immagine orizzontalmente." -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Livello di bianco sul blu" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Controlla il livello del rosso" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Filtro colore" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Ammorbidimento" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Valore gamma" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Soglia" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Soglia" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Riduzione del rumore" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Nessuna correzione" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Nessuna correzione" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Coperchio ADF aperto" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Opzioni avanzate" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Nessuna correzione" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Esclusione" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Modalità di caricamento" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2633,65 +2667,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "Durata spegnimento lampada" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Scarto sul blu" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Scarto sul verde" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Scarto sul verde" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Scarto sul blu" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Imposta lo scarto sul blu" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2700,374 +2734,362 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Scansione Duplex" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Opzioni avanzate" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Riduzione del rumore" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Da carta" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Da carta" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Da carta" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Da carta" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "Coperchio ADF aperto" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Messa a fuoco preliminare manuale" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Messa a fuoco preliminare manuale" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "errore nei controlli hardware" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Livello bianco" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "Controllo della densità" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, fuzzy, no-c-format msgid "Density dial" msgstr "Controllo della densità" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Scansione Duplex" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extra" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "Disattiva interpolazione" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3076,46 +3098,46 @@ msgstr "" "Quando si usano alte risoluzione con quella orizzontale minore della " "verticale, l'interpolazione orizzontale viene disabilitata." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtro colore" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Quando si usano i grigi o il binario questa opzione seleziona il colore " "usato." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibrazione" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definire la modalità di calibrazione" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Cache per la calibrazione" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Durata spegnimento lampada" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3124,90 +3146,109 @@ msgstr "" "La lampada verrà spenta allo scadere del tempo impostato (in minuti). Il " "valore 0 indica che la lampada non deve mai essere spenta." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Calibrazione granulosa" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" "Numero di minuti prima che la lampada venga spenta dopo la scansione" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, fuzzy, no-c-format msgid "File button" msgstr "Attendi il tasto" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, fuzzy, no-c-format msgid "Power button" msgstr "Attendi il tasto" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "Attendi il tasto" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, fuzzy, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Calibrazione granulosa" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Forza la calibrazione dello scanner prima della scansione" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Pulsanti" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Calibrazione" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Inizia la calibrazione." -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Calibrazione granulosa" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Cache per la calibrazione" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Calibrazione granulosa" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Scarto sul verde" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adattatore per trasparenza" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Adattatore per trasparenza" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3317,625 +3358,625 @@ msgstr "Valore gamma" msgid "Sets the gamma value of all channels." msgstr "Imposta il valore gamma per tutti i canali." -#: backend/hp3500.c:1020 -#, fuzzy, no-c-format -msgid "Geometry Group" -msgstr "Geometria" - -#: backend/hp3500.c:1073 backend/hp3500.c:1074 -#, fuzzy, no-c-format -msgid "Scan Mode Group" -msgstr "Modalità di scansione" +#: backend/hp-option.c:2987 +#, no-c-format +msgid "Advanced Options" +msgstr "Opzioni avanzate" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Slide" -msgstr "Diapositiva" +msgid "Coarse" +msgstr "Granuloso" -#: backend/hp3900_sane.c:1405 -#, fuzzy, no-c-format -msgid "Scanner model" -msgstr "Modalità di scansione" +#: backend/hp-option.c:3045 +#, no-c-format +msgid "Fine" +msgstr "A grana fine" -#: backend/hp3900_sane.c:1408 +# Bayer è il nome della persona che ha inventato questa matrice per il +# dithering. +#: backend/hp-option.c:3046 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Image colours will be inverted" -msgstr "" +msgid "Custom" +msgstr "Personalizzato" -#: backend/hp3900_sane.c:1436 -#, fuzzy, no-c-format -msgid "Disable gamma correction" -msgstr "Correzione gamma analogica" +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 +#, no-c-format +msgid "Auto" +msgstr "Automatico" -#: backend/hp3900_sane.c:1437 -#, fuzzy, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Correzione gamma" +#: backend/hp-option.c:3091 +#, no-c-format +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1451 -#, fuzzy, no-c-format -msgid "Disable white shading correction" -msgstr "Esegue solamente la correzione delle ombre" +#: backend/hp-option.c:3092 +#, no-c-format +msgid "XPA RGB" +msgstr "XPA RGB" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3093 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "" +msgid "Pass-through" +msgstr "Passante" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3094 #, no-c-format -msgid "Skip warmup process" -msgstr "" +msgid "NTSC Gray" +msgstr "Grigio NTSC" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "" +msgid "XPA Gray" +msgstr "XPA Grigio" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Force real depth" -msgstr "" +msgid "Slow" +msgstr "Lento" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" +msgid "Normal" +msgstr "Normale" -#: backend/hp3900_sane.c:1499 -#, fuzzy, no-c-format -msgid "Emulate Grayscale" -msgstr "Scala di grigi" +#: backend/hp-option.c:3149 +#, no-c-format +msgid "Fast" +msgstr "Veloce" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3150 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" +msgid "Extra Fast" +msgstr "Extra veloce" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3163 #, no-c-format -msgid "Save debugging images" -msgstr "" +msgid "2-pixel" +msgstr "2-pixel" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3164 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" +msgid "4-pixel" +msgstr "4-pixel" -#: backend/hp3900_sane.c:1533 -#, fuzzy, no-c-format -msgid "Reset chipset" -msgstr "Reimposta scanner" +#: backend/hp-option.c:3165 +#, no-c-format +msgid "8-pixel" +msgstr "8-pixel" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Resets chipset data" -msgstr "" +msgid "Print" +msgstr "Stampa" -#: backend/hp3900_sane.c:1547 -#, fuzzy, no-c-format -msgid "Information" -msgstr "Ignora la calibrazione" +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 +#, no-c-format +msgid "Slide" +msgstr "Diapositiva" -#: backend/hp3900_sane.c:1560 -#, fuzzy, no-c-format -msgid "Chipset name" -msgstr "Nome file" +#: backend/hp-option.c:3178 +#, no-c-format +msgid "Film-strip" +msgstr "Pellicola" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "" +msgid "ADF" +msgstr "ADF" -#: backend/hp3900_sane.c:1565 -#, fuzzy, no-c-format -msgid "Unknown" -msgstr "sconosciuto" +#: backend/hp-option.c:3257 +#, no-c-format +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Chipset ID" -msgstr "" +msgid "Conditional" +msgstr "Condizionale" -#: backend/hp3900_sane.c:1572 -#, fuzzy, no-c-format -msgid "Shows the chipset ID" -msgstr "Reimposta scanner" +#: backend/hp-option.c:3417 +#, no-c-format +msgid "Experiment" +msgstr "Esperimento" -#: backend/hp3900_sane.c:1582 -#, fuzzy, no-c-format -msgid "Scan counter" -msgstr "Sorgente scanner" +#: backend/hp-option.h:60 +#, no-c-format +msgid "Sharpening" +msgstr "Nitidezza" -#: backend/hp3900_sane.c:1584 -#, fuzzy, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Selezionare il numero di fotogrammi da acquisire" +#: backend/hp-option.h:61 +#, no-c-format +msgid "Set sharpening value." +msgstr "Imposta il valore di nitidezza." -#: backend/hp3900_sane.c:1594 -#, fuzzy, no-c-format -msgid "Update information" -msgstr "Opzioni di aggiornamento" +#: backend/hp-option.h:66 +#, no-c-format +msgid "Auto Threshold" +msgstr "Soglia automatica" -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:68 #, no-c-format -msgid "Updates information about device" +msgid "Enable automatic determination of threshold for line-art scans." msgstr "" +"Abilita la valutazione automatica della soglia per la scansione binaria." -#: backend/hp3900_sane.c:1635 -#, fuzzy, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Queste opzioni riflettono lo stato dei pulsanti dello scanner." +#: backend/hp-option.h:74 +#, no-c-format +msgid "Select smoothing filter." +msgstr "Seleziona il filtro per l'ammorbidimento (smoothing)." -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:79 #, no-c-format -msgid "Image" -msgstr "Immagine" +msgid "Unload media after scan" +msgstr "Espelle il supporto dopo la scansione" -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:80 #, no-c-format -msgid "Miscellaneous" -msgstr "Varie" +msgid "Unloads the media after a scan." +msgstr "Estrae il supporto originale dopo aver effettuato la scansione." -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:85 #, no-c-format -msgid "offset X" -msgstr "Scarto X" +msgid "Change document" +msgstr "Cambia il documento" -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:86 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Posizione interna X dell'area di scansione." +msgid "Change Document." +msgstr "Cambia il documento." -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:91 #, no-c-format -msgid "offset Y" -msgstr "Scarto Y" +msgid "Unload" +msgstr "Espulsione" -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:92 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Posizione interna Y dell'area di scansione." +msgid "Unload Document." +msgstr "Espelle il documento." -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:98 #, no-c-format -msgid "Lamp status" -msgstr "Stato della lampada" +msgid "Start calibration process." +msgstr "Inizia la calibrazione." -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:103 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Accendi o spegni la lampada" +msgid "Media" +msgstr "Supporto" -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:104 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Calibrare i livelli del bianco e nero" +msgid "Set type of media." +msgstr "Imposta il tipo di supporto." -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:109 #, no-c-format -msgid "ADF" -msgstr "ADF" +msgid "Exposure time" +msgstr "Tempo di esposizione" -#: backend/hp5590.c:95 -#, fuzzy, no-c-format -msgid "TMA Slides" -msgstr "Diapositive" +#: backend/hp-option.h:111 +#, no-c-format +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"Un maggiore tempo di esposizione permette allo scanner di raccogliere " +"più luce. I valori suggeriti sono 175% per le stampe, 150% per le " +"normali diapositive e \"Negativo\" per le pellicole. Per immagini scure " +"(sottoesposte) si può aumentare questo valore." -#: backend/hp5590.c:96 -#, fuzzy, no-c-format -msgid "TMA Negatives" -msgstr "Negativi" +#: backend/hp-option.h:119 backend/hp-option.h:126 +#, no-c-format +msgid "Color Matrix" +msgstr "Matrice del colore" -#: backend/hp5590.c:108 +#: backend/hp-option.h:121 #, fuzzy, no-c-format -msgid "Color (48 bits)" -msgstr "Colore a 48 bit" +msgid "Set the scanner's color matrix." +msgstr "Imposta la matrice del colore." -#: backend/hp5590.c:112 -#, fuzzy, no-c-format -msgid "Extend lamp timeout" -msgstr "Timeout della lampada" +#: backend/hp-option.h:127 +#, no-c-format +msgid "Custom color matrix." +msgstr "Matrice personalizzata del colore." + +#: backend/hp-option.h:132 +#, no-c-format +msgid "Mono Color Matrix" +msgstr "Matrice del colore mono" + +#: backend/hp-option.h:133 +#, no-c-format +msgid "Custom color matrix for grayscale scans." +msgstr "Matrice personalizzata del colore per scansioni a scale di grigi." + +#: backend/hp-option.h:138 +#, no-c-format +msgid "Mirror horizontal" +msgstr "Specchio orizzontale" + +#: backend/hp-option.h:139 +#, no-c-format +msgid "Mirror image horizontally." +msgstr "Riflette l'immagine orizzontalmente." + +#: backend/hp-option.h:144 +#, no-c-format +msgid "Mirror vertical" +msgstr "Specchio verticale" + +#: backend/hp-option.h:145 +#, no-c-format +msgid "Mirror image vertically." +msgstr "Riflette l'immagine verticalmente." + +#: backend/hp-option.h:150 +#, no-c-format +msgid "Update options" +msgstr "Opzioni di aggiornamento" + +#: backend/hp-option.h:151 +#, no-c-format +msgid "Update options." +msgstr "Opzioni di aggiornamento." + +#: backend/hp-option.h:156 +#, no-c-format +msgid "8 bit output" +msgstr "uscita a 8 bit" + +#: backend/hp-option.h:158 +#, no-c-format +msgid "Use bit depth greater eight internally, but output only eight bits." +msgstr "Usa internamente più di 8 bit, ma produce solo 8 bit." -#: backend/hp5590.c:113 +#: backend/hp-option.h:164 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgid "Front button wait" +msgstr "Attesa del bottone frontale" + +#: backend/hp-option.h:165 +#, no-c-format +msgid "Wait to scan for front-panel button push." msgstr "" +"Viene attesa la pressione del bottone frontale prima di effettuare la " +"scansione." -#: backend/hp5590.c:115 +#: backend/hp-option.h:172 +#, no-c-format +msgid "Shut off lamp" +msgstr "Spegnimento della lampada" + +#: backend/hp-option.h:173 +#, no-c-format +msgid "Shut off scanner lamp." +msgstr "Spegne la lampada dello scanner." + +#: backend/hp3500.c:1020 #, fuzzy, no-c-format -msgid "Wait for button" -msgstr "Attendi il tasto" +msgid "Geometry Group" +msgstr "Geometria" -#: backend/hp5590.c:116 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, fuzzy, no-c-format -msgid "Waits for button before scanning" -msgstr "Preriscaldamento della lampada prima della scansione" +msgid "Scan Mode Group" +msgstr "Modalità di scansione" -#: backend/hp5590.c:118 +#: backend/hp3900_sane.c:1405 #, fuzzy, no-c-format -msgid "Last button pressed" -msgstr "Aggiorna lo stato del pulsante" +msgid "Scanner model" +msgstr "Modalità di scansione" -#: backend/hp5590.c:119 +#: backend/hp3900_sane.c:1408 #, no-c-format -msgid "Get ID of last button pressed (read only)" +msgid "Allows one to test device behavior with other supported models" msgstr "" -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Sorgente scanner" - -#: backend/hp5590.c:122 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "Get value of LCD counter (read only)" +msgid "Image colors will be inverted" msgstr "" -#: backend/hp5590.c:124 +#: backend/hp3900_sane.c:1436 #, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Colore binario" +msgid "Disable gamma correction" +msgstr "Correzione gamma analogica" -#: backend/hp5590.c:125 +#: backend/hp3900_sane.c:1437 +#, fuzzy, no-c-format +msgid "Gamma correction will be disabled" +msgstr "Correzione gamma" + +#: backend/hp3900_sane.c:1451 +#, fuzzy, no-c-format +msgid "Disable white shading correction" +msgstr "Esegue solamente la correzione delle ombre" + +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Get value of LED indicator (read only)" +msgid "White shading correction will be disabled" msgstr "" -#: backend/hp5590.c:127 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Document available in ADF" +msgid "Skip warmup process" msgstr "" -#: backend/hp5590.c:128 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" +msgid "Warmup process will be disabled" msgstr "" -#: backend/hp5590.c:130 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "Hide end-of-page pixel" +msgid "Force real depth" msgstr "" -#: backend/hp5590.c:131 +#: backend/hp3900_sane.c:1485 #, no-c-format msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." msgstr "" -#: backend/hp5590.c:133 -#, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" +#: backend/hp3900_sane.c:1499 +#, fuzzy, no-c-format +msgid "Emulate Grayscale" +msgstr "Scala di grigi" -#: backend/hp5590.c:134 +#: backend/hp3900_sane.c:1502 #, no-c-format msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." msgstr "" -#: backend/hp5590.c:137 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" +msgid "Save debugging images" msgstr "" -#: backend/hp5590.c:138 +#: backend/hp3900_sane.c:1519 #, no-c-format msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." msgstr "" -#: backend/hp-option.c:2987 -#, no-c-format -msgid "Advanced Options" -msgstr "Opzioni avanzate" - -#: backend/hp-option.c:3044 -#, no-c-format -msgid "Coarse" -msgstr "Granuloso" - -#: backend/hp-option.c:3045 -#, no-c-format -msgid "Fine" -msgstr "A grana fine" - -# Bayer è il nome della persona che ha inventato questa matrice per il -# dithering. -#: backend/hp-option.c:3046 -#, no-c-format -msgid "Bayer" -msgstr "Bayer" - -#: backend/hp-option.c:3049 backend/hp-option.c:3100 -#, no-c-format -msgid "Custom" -msgstr "Personalizzato" - -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 -#, no-c-format -msgid "Auto" -msgstr "Automatico" - -#: backend/hp-option.c:3091 -#, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" - -#: backend/hp-option.c:3092 -#, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" - -#: backend/hp-option.c:3093 -#, no-c-format -msgid "Pass-through" -msgstr "Passante" - -#: backend/hp-option.c:3094 -#, no-c-format -msgid "NTSC Gray" -msgstr "Grigio NTSC" - -#: backend/hp-option.c:3095 -#, no-c-format -msgid "XPA Gray" -msgstr "XPA Grigio" - -#: backend/hp-option.c:3147 -#, no-c-format -msgid "Slow" -msgstr "Lento" - -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 -#, no-c-format -msgid "Normal" -msgstr "Normale" +#: backend/hp3900_sane.c:1533 +#, fuzzy, no-c-format +msgid "Reset chipset" +msgstr "Reimposta scanner" -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Fast" -msgstr "Veloce" +msgid "Resets chipset data" +msgstr "" -#: backend/hp-option.c:3150 -#, no-c-format -msgid "Extra Fast" -msgstr "Extra veloce" +#: backend/hp3900_sane.c:1547 +#, fuzzy, no-c-format +msgid "Information" +msgstr "Ignora la calibrazione" -#: backend/hp-option.c:3163 -#, no-c-format -msgid "2-pixel" -msgstr "2-pixel" +#: backend/hp3900_sane.c:1560 +#, fuzzy, no-c-format +msgid "Chipset name" +msgstr "Nome file" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "4-pixel" -msgstr "4-pixel" +msgid "Shows chipset name used in device." +msgstr "" -#: backend/hp-option.c:3165 -#, no-c-format -msgid "8-pixel" -msgstr "8-pixel" +#: backend/hp3900_sane.c:1565 +#, fuzzy, no-c-format +msgid "Unknown" +msgstr "sconosciuto" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Print" -msgstr "Stampa" +msgid "Chipset ID" +msgstr "" -#: backend/hp-option.c:3178 -#, no-c-format -msgid "Film-strip" -msgstr "Pellicola" +#: backend/hp3900_sane.c:1572 +#, fuzzy, no-c-format +msgid "Shows the chipset ID" +msgstr "Reimposta scanner" -#: backend/hp-option.c:3257 -#, no-c-format -msgid "XPA" -msgstr "XPA" +#: backend/hp3900_sane.c:1582 +#, fuzzy, no-c-format +msgid "Scan counter" +msgstr "Sorgente scanner" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 -#, no-c-format -msgid "Conditional" -msgstr "Condizionale" +#: backend/hp3900_sane.c:1584 +#, fuzzy, no-c-format +msgid "Shows the number of scans made by scanner" +msgstr "Selezionare il numero di fotogrammi da acquisire" -#: backend/hp-option.c:3417 -#, no-c-format -msgid "Experiment" -msgstr "Esperimento" +#: backend/hp3900_sane.c:1594 +#, fuzzy, no-c-format +msgid "Update information" +msgstr "Opzioni di aggiornamento" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Sharpening" -msgstr "Nitidezza" +msgid "Updates information about device" +msgstr "" -#: backend/hp-option.h:61 -#, no-c-format -msgid "Set sharpening value." -msgstr "Imposta il valore di nitidezza." +#: backend/hp3900_sane.c:1635 +#, fuzzy, no-c-format +msgid "This option reflects a front panel scanner button" +msgstr "Queste opzioni riflettono lo stato dei pulsanti dello scanner." -#: backend/hp-option.h:66 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Auto Threshold" -msgstr "Soglia automatica" +msgid "Image" +msgstr "Immagine" -#: backend/hp-option.h:68 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "" -"Abilita la valutazione automatica della soglia per la scansione binaria." +msgid "Miscellaneous" +msgstr "Varie" -#: backend/hp-option.h:74 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Select smoothing filter." -msgstr "Seleziona il filtro per l'ammorbidimento (smoothing)." +msgid "offset X" +msgstr "Scarto X" -#: backend/hp-option.h:79 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unload media after scan" -msgstr "Espelle il supporto dopo la scansione" +msgid "Hardware internal X position of the scanning area." +msgstr "Posizione interna X dell'area di scansione." -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Estrae il supporto originale dopo aver effettuato la scansione." +msgid "offset Y" +msgstr "Scarto Y" -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Change document" -msgstr "Cambia il documento" +msgid "Hardware internal Y position of the scanning area." +msgstr "Posizione interna Y dell'area di scansione." -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Change Document." -msgstr "Cambia il documento." +msgid "Lamp status" +msgstr "Stato della lampada" -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Unload" -msgstr "Espulsione" +msgid "Switches the lamp on or off." +msgstr "Accendi o spegni la lampada" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Unload Document." -msgstr "Espelle il documento." +msgid "Calibrates for black and white level." +msgstr "Calibrare i livelli del bianco e nero" -#: backend/hp-option.h:98 -#, no-c-format -msgid "Start calibration process." -msgstr "Inizia la calibrazione." +#: backend/hp5590.c:95 +#, fuzzy, no-c-format +msgid "TMA Slides" +msgstr "Diapositive" -#: backend/hp-option.h:103 -#, no-c-format -msgid "Media" -msgstr "Supporto" +#: backend/hp5590.c:96 +#, fuzzy, no-c-format +msgid "TMA Negatives" +msgstr "Negativi" -#: backend/hp-option.h:104 -#, no-c-format -msgid "Set type of media." -msgstr "Imposta il tipo di supporto." +#: backend/hp5590.c:108 +#, fuzzy, no-c-format +msgid "Color (48 bits)" +msgstr "Colore a 48 bit" -#: backend/hp-option.h:109 -#, no-c-format -msgid "Exposure time" -msgstr "Tempo di esposizione" +#: backend/hp5590.c:112 +#, fuzzy, no-c-format +msgid "Extend lamp timeout" +msgstr "Timeout della lampada" -#: backend/hp-option.h:111 +#: backend/hp5590.c:113 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -"Un maggiore tempo di esposizione permette allo scanner di raccogliere " -"più luce. I valori suggeriti sono 175% per le stampe, 150% per le " -"normali diapositive e \"Negativo\" per le pellicole. Per immagini scure " -"(sottoesposte) si può aumentare questo valore." - -#: backend/hp-option.h:119 backend/hp-option.h:126 -#, no-c-format -msgid "Color Matrix" -msgstr "Matrice del colore" -#: backend/hp-option.h:121 -#, no-c-format -msgid "Set the scanners color matrix." -msgstr "Imposta la matrice del colore." +#: backend/hp5590.c:115 +#, fuzzy, no-c-format +msgid "Wait for button" +msgstr "Attendi il tasto" -#: backend/hp-option.h:127 -#, no-c-format -msgid "Custom color matrix." -msgstr "Matrice personalizzata del colore." +#: backend/hp5590.c:116 +#, fuzzy, no-c-format +msgid "Waits for button before scanning" +msgstr "Preriscaldamento della lampada prima della scansione" -#: backend/hp-option.h:132 -#, no-c-format -msgid "Mono Color Matrix" -msgstr "Matrice del colore mono" +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Aggiorna lo stato del pulsante" -#: backend/hp-option.h:133 +#: backend/hp5590.c:119 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Matrice personalizzata del colore per scansioni a scale di grigi." +msgid "Get ID of last button pressed (read only)" +msgstr "" -#: backend/hp-option.h:138 -#, no-c-format -msgid "Mirror horizontal" -msgstr "Specchio orizzontale" +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Sorgente scanner" -#: backend/hp-option.h:139 +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Riflette l'immagine orizzontalmente." +msgid "Get value of LCD counter (read only)" +msgstr "" -#: backend/hp-option.h:144 -#, no-c-format -msgid "Mirror vertical" -msgstr "Specchio verticale" +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Colore binario" -#: backend/hp-option.h:145 +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Riflette l'immagine verticalmente." +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Opzioni di aggiornamento" +msgid "Document available in ADF" +msgstr "" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Opzioni di aggiornamento." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "uscita a 8 bit" +msgid "Hide end-of-page pixel" +msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." -msgstr "Usa internamente più di 8 bit, ma produce solo 8 bit." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "" -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Attesa del bottone frontale" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" msgstr "" -"Viene attesa la pressione del bottone frontale prima di effettuare la " -"scansione." -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Spegnimento della lampada" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Spegne la lampada dello scanner." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4035,7 +4076,7 @@ msgid "single" msgstr "" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" @@ -4207,9 +4248,9 @@ msgid "crt" msgstr "" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Binario" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4339,7 +4380,7 @@ msgstr "Imposta l'accentuazione dell'immagine" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" @@ -4406,11 +4447,11 @@ msgstr "" msgid "Request driver to remove border from pages digitally" msgstr "" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4442,12 +4483,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "Stampa ad alta definizione" #: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "Stampa a bassa definizione" #: backend/kvs40xx_opt.c:243 @@ -4470,6 +4511,13 @@ msgstr "Normale" msgid "Enhanced mode" msgstr "Miglioramento" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4529,7 +4577,7 @@ msgstr "" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4564,12 +4612,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4579,13 +4627,13 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Immagine riflessa" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4622,52 +4670,52 @@ msgstr "8x8 Bayer" msgid "8x8 Vertical Line" msgstr "8x8 linea verticale" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Guadagno" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Regolazione del guadagno sui canali di colore" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Guadagno sul grigio" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Imposta il guadagno sul canale grigio" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Guadagno sul rosso" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Imposta il guadagno sul canale rosso" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Guadagno sul verde" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Imposta il guadagno sul canale verde" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Guadagno sul blu" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Imposta il guadagno sul canale blu" @@ -4753,7 +4801,7 @@ msgstr "Pagina singola" msgid "All pages" msgstr "Tutte le pagine" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "Scanner con alimentatore automatico dei fogli" @@ -5262,39 +5310,44 @@ msgstr "" "Preriscalda fino a che la luminisità della lampada sia costante invece " "di attendere 40 secondi." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Calibrazione granulosa" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Pellicola negativa" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Colore ad alta qualità" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Scansione controllata da pulsante" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5305,40 +5358,40 @@ msgstr "" "procedere premere il pulsante \"SCAN\" (per ML150) oppure \"COLOR\" (per " "altri modelli). Per annullare premere il pulsante \"GRAY\"." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Aggiorna lo stato del pulsante" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Pulsante 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Pulsante 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5427,7 +5480,7 @@ msgstr "Frontend analogico" msgid "Red gain value of the AFE" msgstr "Valore del guadagno sul rosso per AFE (Analog FrontEnd)" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Scarto sul rosso" @@ -5706,7 +5759,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "Queste opzioni riflettono lo stato dei pulsanti dello scanner." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Lampada accesa" @@ -5716,12 +5769,12 @@ msgstr "Lampada accesa" msgid "Turn on scanner lamp" msgstr "Accendere la lampada" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Lampada spenta" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Spegnere la lampada" @@ -5866,13 +5919,13 @@ msgid "Focus point" msgstr "Posizione della messa a fuoco" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" +#, fuzzy, no-c-format +msgid "Color lines per read" msgstr "Numero di linee colore per ciclo di lettura" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" msgstr "Numero di linee in scala di grigi per ciclo di lettura" #: backend/stv680.c:974 @@ -6529,52 +6582,52 @@ msgstr "Modalità di calibrazione" msgid "Define calibration mode" msgstr "Definire la modalità di calibrazione" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Commuta lo stato della lampada" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "Adattatore per trasparenze acceso" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Accendere/spegnere l'adattatore per trasparenze" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Scarto" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Impostazione dello scarto sui canali del colore" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Scarto sul grigio" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Imposta lo scarto sul grigio" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Imposta lo scarto sul rosso" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Imposta lo scarto sul verde" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Imposta lo scarto sul blu" diff --git a/po/ja.po b/po/ja.po index ebf72ed..1a8a3f1 100644 --- a/po/ja.po +++ b/po/ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.20\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2009-10-31 10:30+0900\n" "Last-Translator: Hiroshi Miura \n" "Language-Team: Japanese \n" @@ -30,31 +30,31 @@ msgid "Standard" msgstr "標準" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "配置" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "増強" @@ -88,7 +88,7 @@ msgid "Bit depth" msgstr "ビット深度" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "走査モード" @@ -129,7 +129,7 @@ msgid "Bottom-right y" msgstr "右下のy" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "走査解像度" @@ -284,7 +284,7 @@ msgstr "ファイル名" msgid "Halftone pattern size" msgstr "ハーフトーンパターンの大きさ" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "ハーフトーンのパターン" @@ -294,10 +294,10 @@ msgstr "ハーフトーンのパターン" msgid "Bind X and Y resolution" msgstr "XとY解像度を拘束" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "ネガ" @@ -418,9 +418,9 @@ msgid "Lamp off at exit" msgstr "終了時にランプを停止する" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "特定のデバイスがサポートするオプションがどれだけあるかを指定する読み取り" @@ -727,8 +727,8 @@ msgid "Analog gamma-correction for blue" msgstr "青のアナログガンマ補正" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "走査前のランプの暖機" #: include/sane/saneopts.h:417 @@ -877,8 +877,8 @@ msgid "Operation not supported" msgstr "操作はサポートされていません。" #: backend/sane_strstatus.c:65 -#, no-c-format -msgid "Operation was cancelled" +#, fuzzy, no-c-format +msgid "Operation was canceled" msgstr "操作はキャンセルされました。" #: backend/sane_strstatus.c:68 @@ -971,10 +971,10 @@ msgid "Only perform shading-correction" msgstr "シェーディング補正だけを行う" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "有効の場合、較正においてはシェーディング補正だけが実行されます。利得、オ" @@ -1002,83 +1002,43 @@ msgid "Duplex scan" msgstr "両面スキャン" #: backend/avision.h:783 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "両面スキャンでは、文書の表面と裏面の走査が行われます。" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "スキャナーの校正" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "走査前にスキャナの校正を強制する" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "グレースケール走査" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "カラーの代わりに、グレースケールで走査します。" - -#: backend/canon630u.c:306 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Analog Gain" -msgstr "アナログ利得" +msgid "Correction according to transparency ratio" +msgstr "透過率に従って、補正されます。" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "CCD配列のアナログ利得を増加または減少" +msgid "Correction according to film type" +msgstr "フィルムの種類に従った補正" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "ガンマ校正" +msgid "Fine color" +msgstr "高精彩" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "ガンマ補正された変換カーブを選択" +msgid "Negatives" +msgstr "ネガ画像" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "無加工" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "高精彩" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "透明度補正は行わない" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "フィルムの種類に従った補正" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "透過率に従って、補正されます。" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "ネガ画像" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1212,8 +1172,8 @@ msgid "invalid bit IDENTIFY message" msgstr "IDENTIFYメッセージに不正なビット" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" +#, fuzzy, no-c-format +msgid "option not correct" msgstr "オプションが正しくありません" #: backend/canon.c:474 @@ -1502,133 +1462,184 @@ msgstr "フィルムの種類を選択" msgid "Select the film type" msgstr "フィルムの種類を選ぶ" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "スキャナーの校正" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "走査前にスキャナの校正を強制する" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "グレースケール走査" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "カラーの代わりに、グレースケールで走査します。" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "アナログ利得" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "CCD配列のアナログ利得を増加または減少" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "ガンマ校正" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "ガンマ補正された変換カーブを選択" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "フラットベッド" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "ADF表面" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "ADF裏面" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "ADF両面" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Front" msgstr "ADF表面" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, fuzzy, no-c-format msgid "Card Back" msgstr "ADF裏面" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "両面" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "赤" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "緑" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "青" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "増強" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "増強" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "増強" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr " なし" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "片面" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "両面" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "透過ユニット" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "自動原稿送り装置" @@ -1740,7 +1751,7 @@ msgstr "インクジェットプリンタ" msgid "CRT monitors" msgstr "CRTモニター" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1804,8 +1815,9 @@ msgstr "A4" msgid "Max" msgstr "最大" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -1977,17 +1989,17 @@ msgstr "スキャナーが使うべきズーム値を定義" msgid "Quick format" msgstr "簡易フォーマット" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "光学装置" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "排出" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "ADFの書類を排出する" @@ -2002,12 +2014,14 @@ msgstr "自動排出" msgid "Eject document after scanning" msgstr "走査後、書類を排出" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "ADFモード" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "ADFモードの選択(片面、両面)" @@ -2054,14 +2068,14 @@ msgstr "" "スキャンコマンドを送信後、実際に走査処理が始まる、スキャナーのボタンが押" "されるのをまつ。" -#: backend/epson2.c:102 backend/pixma.c:409 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format -msgid "Infrared" +msgid "TPU8x10" msgstr "" -#: backend/epson2.c:117 +#: backend/epson2.c:102 backend/pixma/pixma.c:409 #, no-c-format -msgid "TPU8x10" +msgid "Infrared" msgstr "" #: backend/epson2.c:136 @@ -2084,492 +2098,512 @@ msgstr "" msgid "User defined CCT profile" msgstr "ユーザ定義" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "ADFの書類を排出する" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "補正をしない" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "ガンマ補正を無効" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "オン" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "オフ" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "ディザー" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "Diffusion" msgstr "エラー拡散" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, fuzzy, no-c-format msgid "White" msgstr "ホワイトレベル" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Black" msgstr "黒レベル" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, fuzzy, no-c-format msgid "Continue" msgstr "条件付き" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "水平の" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "水平の" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "水平の" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "垂直の" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "垂直の" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, fuzzy, no-c-format msgid "Front" msgstr "ADF表面" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, fuzzy, no-c-format msgid "Back" msgstr "ADF裏面" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, fuzzy, no-c-format msgid "Halftone type" msgstr "網版" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "較正の実行" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, fuzzy, no-c-format msgid "Emphasis" msgstr "画像強調" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "彩度" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "線画の走査で閾値の自動判定を有効にする" -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "鏡像画像" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "水平に鏡像をとる。" -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "ホワイトレベルの青値" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "赤レベルの制御" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "カラーフィルタ" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "スムージング" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "ガンマ値" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "閾値" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "閾値" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "ノイズ除去" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "補正をしない" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "補正をしない" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "ADFのカバーが開いています" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "上級オプション" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "補正をしない" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "取り出し口" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "フィーダーモード" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2577,65 +2611,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "ランプをオフにする時間" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "赤オフセット" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "緑オフセット" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "緑オフセット" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, no-c-format msgid "Adjust blue/red offset" msgstr "" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, fuzzy, no-c-format msgid "Low Memory" msgstr "メモリ不足" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2644,374 +2678,362 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "両面スキャン" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "上級オプション" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "ノイズ除去" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, fuzzy, no-c-format msgid "A3 paper" msgstr "紙から" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, fuzzy, no-c-format msgid "B4 paper" msgstr "紙から" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, fuzzy, no-c-format msgid "A4 paper" msgstr "紙から" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, fuzzy, no-c-format msgid "B5 paper" msgstr "紙から" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "スキャナーのカバーが開いています" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "手動焦点位置" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "手動焦点位置" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "ハードウエアチェックエラー" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "ホワイトレベル" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "濃度制御" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, fuzzy, no-c-format msgid "Density dial" msgstr "濃度制御" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "両面スキャン" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "追加" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3020,44 +3042,44 @@ msgstr "" "水平解像度が垂直解像度より低いような高解像度を使うときは、水平" "interpolationを無効にします。" -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "カラーフィルタ" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "校正" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "較正を「すぐに」実行します" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "較正データのキャッシュ" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "ランプをオフにする時間" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3066,89 +3088,108 @@ msgstr "" "ランプは指定された時間(分)が経過したらオフにされます。値が0のときは、" "この機能は働きません。" -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "ダーク補正時にランプをオフにする" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "走査した後、ランプがオフになるまでの時間(分)" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "ファイルボタン" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "OCRボタン" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "電源ボタン" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "電子メールボタン" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, fuzzy, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "較正のクリア" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "走査前にスキャナの校正を強制する" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "ボタン" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "較正" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, no-c-format msgid "Start calibration using special sheet" msgstr "特殊シートを用いた補正を開始" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, no-c-format msgid "Clear calibration" msgstr "較正のクリア" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, no-c-format msgid "Clear calibration cache" msgstr "校正キャッシュを消去する" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "粗校正" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "緑オフセット" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "透過アダプター" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "透過アダプター" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3246,623 +3287,623 @@ msgstr "ガンマ値" msgid "Sets the gamma value of all channels." msgstr "すべてのチャネルのガンマ値を設定" -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "配置グループ" +msgid "Advanced Options" +msgstr "上級オプション" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "スキャンモードグループ" +msgid "Coarse" +msgstr "粗" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "スライド" +msgid "Fine" +msgstr "密" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Scanner model" -msgstr "スキャナーモデル" +msgid "Bayer" +msgstr "バイエル" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" +msgid "Custom" +msgstr "カスタム" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Image colours will be inverted" -msgstr "イメージカラーが反転されます" +msgid "Auto" +msgstr "自動" -#: backend/hp3900_sane.c:1436 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Disable gamma correction" -msgstr "ガンマ補正を無効" +msgid "NTSC RGB" +msgstr "NTSC方式RGB" -#: backend/hp3900_sane.c:1437 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Gamma correction will be disabled" -msgstr "ガンマ補正は無効にされます" +msgid "XPA RGB" +msgstr "XPA方式RGB" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3093 #, no-c-format -msgid "Disable white shading correction" -msgstr "ホワイト・シェーディング較正を無効" +msgid "Pass-through" +msgstr "パススルー" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3094 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "白シャドー補正は無効にされます。" +msgid "NTSC Gray" +msgstr "NTSCのグレー" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Skip warmup process" -msgstr "暖機プロセスをスキップ" +msgid "XPA Gray" +msgstr "XPAのグレー" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "暖機プロセスが無効になります" +msgid "Slow" +msgstr "遅い" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "Force real depth" -msgstr "真の深度を強制します。" +msgid "Normal" +msgstr "普通" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3149 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"ガンマが有効であれば、画像品質を高めるため、走査はつねに16ビット深度で" -"行われます。それから、選択された色深度に変換されます。このオプションは、" -"深度エミュレーションを回避します。" +msgid "Fast" +msgstr "速い" -#: backend/hp3900_sane.c:1499 +#: backend/hp-option.c:3150 #, no-c-format -msgid "Emulate Grayscale" -msgstr "グレースケールのエミュレート" +msgid "Extra Fast" +msgstr "超高速" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3163 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"有効になると、画像はカラーモードで走査され、グレースケールにソフトウエア" -"によって変換されます。これは、一部の環境では、画像品質を高めることがあり" -"ます。" +msgid "2-pixel" +msgstr "2ピクセル" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3164 #, no-c-format -msgid "Save debugging images" -msgstr "デバッグイメージの保存" +msgid "4-pixel" +msgstr "4ピクセル" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3165 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"有効になると、スキャナが処理する画像の一部が、分析のために保存されます。" +msgid "8-pixel" +msgstr "8ピクセル" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Reset chipset" -msgstr "チップセットのリセット" +msgid "Print" +msgstr "印刷" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Resets chipset data" -msgstr "チップセットデータをリセット" +msgid "Slide" +msgstr "スライド" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Information" -msgstr "情報" +msgid "Film-strip" +msgstr "フィルムの一片" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Chipset name" -msgstr "チップセット名" +msgid "ADF" +msgstr "ADF" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "装置に使われているチップセット名を表示する。" +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Unknown" -msgstr "不明" +msgid "Conditional" +msgstr "条件付き" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Chipset ID" -msgstr "チップセットID" +msgid "Experiment" +msgstr "実験的" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.h:60 #, no-c-format -msgid "Shows the chipset ID" -msgstr "チップセットIDを表示" +msgid "Sharpening" +msgstr "鮮鋭化" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.h:61 #, no-c-format -msgid "Scan counter" -msgstr "走査カウンター" +msgid "Set sharpening value." +msgstr "鮮鋭化値を設定" -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:66 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "スキャナーが行った走査回数を表示します。" +msgid "Auto Threshold" +msgstr "自動閾値" -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.h:68 #, no-c-format -msgid "Update information" -msgstr "情報更新" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "線画の走査で閾値の自動判定を有効にする" -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:74 #, no-c-format -msgid "Updates information about device" -msgstr "装置の情報を更新" +msgid "Select smoothing filter." +msgstr "スムージングフィルタを選択" -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:79 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "" +msgid "Unload media after scan" +msgstr "走査後、メディアを取り出す" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:80 #, no-c-format -msgid "Image" -msgstr "画像" +msgid "Unloads the media after a scan." +msgstr "走査後にメディアを取り出す。" -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:85 #, no-c-format -msgid "Miscellaneous" -msgstr "各種" +msgid "Change document" +msgstr "書類を換える。" -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:86 #, no-c-format -msgid "offset X" -msgstr "オフセットX" +msgid "Change Document." +msgstr "書類を取り換える。" -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:91 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "走査領域のハードウエアの内部X位置" +msgid "Unload" +msgstr "取り出し" -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:92 #, no-c-format -msgid "offset Y" -msgstr "オフセットY" +msgid "Unload Document." +msgstr "書類の取り出し" -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:98 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "走査領域のハードウエア内部Y位置" +msgid "Start calibration process." +msgstr "校正プロセスを開始。" -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:103 #, no-c-format -msgid "Lamp status" -msgstr "ランプの状態" +msgid "Media" +msgstr "メディア" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:104 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "ランプのオフ/オンを切り替え" +msgid "Set type of media." +msgstr "メディアの種類を設定" -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:109 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "白黒レベルを較正" +msgid "Exposure time" +msgstr "露出時間" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:111 #, no-c-format -msgid "ADF" -msgstr "ADF" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" -#: backend/hp5590.c:95 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "TMA Slides" -msgstr "TMAスライド" +msgid "Color Matrix" +msgstr "カラーマトリックス" -#: backend/hp5590.c:96 -#, no-c-format -msgid "TMA Negatives" -msgstr "TMAネガ" +#: backend/hp-option.h:121 +#, fuzzy, no-c-format +msgid "Set the scanner's color matrix." +msgstr "スキャナーのカラーマトリックスを設定する。" -#: backend/hp5590.c:108 +#: backend/hp-option.h:127 #, no-c-format -msgid "Color (48 bits)" -msgstr "カラー(48ビット)" +msgid "Custom color matrix." +msgstr "カスタムカラーマトリックス" -#: backend/hp5590.c:112 +#: backend/hp-option.h:132 #, no-c-format -msgid "Extend lamp timeout" -msgstr "ランプタイムアウトの拡大" +msgid "Mono Color Matrix" +msgstr "モノクロ・カラーマトリックス" -#: backend/hp5590.c:113 +#: backend/hp-option.h:133 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "" +msgid "Custom color matrix for grayscale scans." +msgstr "グレースケール走査のカスタム・カラーマトリックス" -#: backend/hp5590.c:115 +#: backend/hp-option.h:138 #, no-c-format -msgid "Wait for button" -msgstr "ボタン待ち" +msgid "Mirror horizontal" +msgstr "水平の鏡像" -#: backend/hp5590.c:116 +#: backend/hp-option.h:139 #, no-c-format -msgid "Waits for button before scanning" -msgstr "" - -#: backend/hp5590.c:118 -#, fuzzy, no-c-format -msgid "Last button pressed" -msgstr "ボタン状態の更新" +msgid "Mirror image horizontally." +msgstr "水平に鏡像をとる。" -#: backend/hp5590.c:119 +#: backend/hp-option.h:144 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "" - -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "走査カウンター" +msgid "Mirror vertical" +msgstr "垂直鏡像" -#: backend/hp5590.c:122 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "" +msgid "Mirror image vertically." +msgstr "垂直に鏡像をとる。" -#: backend/hp5590.c:124 +#: backend/hp-option.h:150 #, no-c-format -msgid "Color LED indicator" -msgstr "" +msgid "Update options" +msgstr "オプションの更新" -#: backend/hp5590.c:125 +#: backend/hp-option.h:151 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "" +msgid "Update options." +msgstr "オプションを更新する。" -#: backend/hp5590.c:127 +#: backend/hp-option.h:156 #, no-c-format -msgid "Document available in ADF" -msgstr "" +msgid "8 bit output" +msgstr "8ビット出力" -#: backend/hp5590.c:128 +#: backend/hp-option.h:158 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" -#: backend/hp5590.c:130 +#: backend/hp-option.h:164 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "" +msgid "Front button wait" +msgstr "前面ボタンを待つ" -#: backend/hp5590.c:131 +#: backend/hp-option.h:165 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgid "Wait to scan for front-panel button push." msgstr "" -#: backend/hp5590.c:133 +#: backend/hp-option.h:172 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" +msgid "Shut off lamp" +msgstr "ランプの停止" -#: backend/hp5590.c:134 +#: backend/hp-option.h:173 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" +msgid "Shut off scanner lamp." +msgstr "スキャナーのランプを停止する。" -#: backend/hp5590.c:137 +#: backend/hp3500.c:1020 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "" +msgid "Geometry Group" +msgstr "配置グループ" -#: backend/hp5590.c:138 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" -msgstr "" +msgid "Scan Mode Group" +msgstr "スキャンモードグループ" -#: backend/hp-option.c:2987 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "Advanced Options" -msgstr "上級オプション" +msgid "Scanner model" +msgstr "スキャナーモデル" -#: backend/hp-option.c:3044 +#: backend/hp3900_sane.c:1408 #, no-c-format -msgid "Coarse" -msgstr "粗" +msgid "Allows one to test device behavior with other supported models" +msgstr "" -#: backend/hp-option.c:3045 -#, no-c-format -msgid "Fine" -msgstr "密" +#: backend/hp3900_sane.c:1422 +#, fuzzy, no-c-format +msgid "Image colors will be inverted" +msgstr "イメージカラーが反転されます" -#: backend/hp-option.c:3046 +#: backend/hp3900_sane.c:1436 #, no-c-format -msgid "Bayer" -msgstr "バイエル" +msgid "Disable gamma correction" +msgstr "ガンマ補正を無効" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1437 #, no-c-format -msgid "Custom" -msgstr "カスタム" +msgid "Gamma correction will be disabled" +msgstr "ガンマ補正は無効にされます" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "Auto" -msgstr "自動" +msgid "Disable white shading correction" +msgstr "ホワイト・シェーディング較正を無効" -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "NTSC RGB" -msgstr "NTSC方式RGB" +msgid "White shading correction will be disabled" +msgstr "白シャドー補正は無効にされます。" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "XPA RGB" -msgstr "XPA方式RGB" +msgid "Skip warmup process" +msgstr "暖機プロセスをスキップ" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "Pass-through" -msgstr "パススルー" +msgid "Warmup process will be disabled" +msgstr "暖機プロセスが無効になります" -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "NTSC Gray" -msgstr "NTSCのグレー" +msgid "Force real depth" +msgstr "真の深度を強制します。" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "XPA Gray" -msgstr "XPAのグレー" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"ガンマが有効であれば、画像品質を高めるため、走査はつねに16ビット深度で" +"行われます。それから、選択された色深度に変換されます。このオプションは、" +"深度エミュレーションを回避します。" -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1499 #, no-c-format -msgid "Slow" -msgstr "遅い" +msgid "Emulate Grayscale" +msgstr "グレースケールのエミュレート" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "Normal" -msgstr "普通" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"有効になると、画像はカラーモードで走査され、グレースケールにソフトウエア" +"によって変換されます。これは、一部の環境では、画像品質を高めることがあり" +"ます。" -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Fast" -msgstr "速い" +msgid "Save debugging images" +msgstr "デバッグイメージの保存" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "Extra Fast" -msgstr "超高速" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"有効になると、スキャナが処理する画像の一部が、分析のために保存されます。" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "2-pixel" -msgstr "2ピクセル" +msgid "Reset chipset" +msgstr "チップセットのリセット" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "4-pixel" -msgstr "4ピクセル" +msgid "Resets chipset data" +msgstr "チップセットデータをリセット" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "8-pixel" -msgstr "8ピクセル" +msgid "Information" +msgstr "情報" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "Print" -msgstr "印刷" +msgid "Chipset name" +msgstr "チップセット名" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "Film-strip" -msgstr "フィルムの一片" +msgid "Shows chipset name used in device." +msgstr "装置に使われているチップセット名を表示する。" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "XPA" -msgstr "XPA" +msgid "Unknown" +msgstr "不明" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Conditional" -msgstr "条件付き" +msgid "Chipset ID" +msgstr "チップセットID" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "Experiment" -msgstr "実験的" +msgid "Shows the chipset ID" +msgstr "チップセットIDを表示" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1582 #, no-c-format -msgid "Sharpening" -msgstr "鮮鋭化" +msgid "Scan counter" +msgstr "走査カウンター" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Set sharpening value." -msgstr "鮮鋭化値を設定" +msgid "Shows the number of scans made by scanner" +msgstr "スキャナーが行った走査回数を表示します。" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Auto Threshold" -msgstr "自動閾値" +msgid "Update information" +msgstr "情報更新" -#: backend/hp-option.h:68 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "線画の走査で閾値の自動判定を有効にする" +msgid "Updates information about device" +msgstr "装置の情報を更新" -#: backend/hp-option.h:74 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Select smoothing filter." -msgstr "スムージングフィルタを選択" +msgid "This option reflects a front panel scanner button" +msgstr "" -#: backend/hp-option.h:79 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Unload media after scan" -msgstr "走査後、メディアを取り出す" +msgid "Image" +msgstr "画像" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "走査後にメディアを取り出す。" +msgid "Miscellaneous" +msgstr "各種" -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Change document" -msgstr "書類を換える。" +msgid "offset X" +msgstr "オフセットX" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Change Document." -msgstr "書類を取り換える。" +msgid "Hardware internal X position of the scanning area." +msgstr "走査領域のハードウエアの内部X位置" -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Unload" -msgstr "取り出し" +msgid "offset Y" +msgstr "オフセットY" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Unload Document." -msgstr "書類の取り出し" +msgid "Hardware internal Y position of the scanning area." +msgstr "走査領域のハードウエア内部Y位置" -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Start calibration process." -msgstr "校正プロセスを開始。" +msgid "Lamp status" +msgstr "ランプの状態" -#: backend/hp-option.h:103 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Media" -msgstr "メディア" +msgid "Switches the lamp on or off." +msgstr "ランプのオフ/オンを切り替え" -#: backend/hp-option.h:104 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Set type of media." -msgstr "メディアの種類を設定" +msgid "Calibrates for black and white level." +msgstr "白黒レベルを較正" -#: backend/hp-option.h:109 +#: backend/hp5590.c:95 #, no-c-format -msgid "Exposure time" -msgstr "露出時間" +msgid "TMA Slides" +msgstr "TMAスライド" -#: backend/hp-option.h:111 +#: backend/hp5590.c:96 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" +msgid "TMA Negatives" +msgstr "TMAネガ" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:108 #, no-c-format -msgid "Color Matrix" -msgstr "カラーマトリックス" +msgid "Color (48 bits)" +msgstr "カラー(48ビット)" -#: backend/hp-option.h:121 +#: backend/hp5590.c:112 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "スキャナーのカラーマトリックスを設定する。" +msgid "Extend lamp timeout" +msgstr "ランプタイムアウトの拡大" -#: backend/hp-option.h:127 +#: backend/hp5590.c:113 #, no-c-format -msgid "Custom color matrix." -msgstr "カスタムカラーマトリックス" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "" -#: backend/hp-option.h:132 +#: backend/hp5590.c:115 #, no-c-format -msgid "Mono Color Matrix" -msgstr "モノクロ・カラーマトリックス" +msgid "Wait for button" +msgstr "ボタン待ち" -#: backend/hp-option.h:133 +#: backend/hp5590.c:116 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "グレースケール走査のカスタム・カラーマトリックス" +msgid "Waits for button before scanning" +msgstr "" -#: backend/hp-option.h:138 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "ボタン状態の更新" + +#: backend/hp5590.c:119 #, no-c-format -msgid "Mirror horizontal" -msgstr "水平の鏡像" +msgid "Get ID of last button pressed (read only)" +msgstr "" -#: backend/hp-option.h:139 +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "走査カウンター" + +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror image horizontally." -msgstr "水平に鏡像をとる。" +msgid "Get value of LCD counter (read only)" +msgstr "" -#: backend/hp-option.h:144 +#: backend/hp5590.c:124 #, no-c-format -msgid "Mirror vertical" -msgstr "垂直鏡像" +msgid "Color LED indicator" +msgstr "" -#: backend/hp-option.h:145 +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "垂直に鏡像をとる。" +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "オプションの更新" +msgid "Document available in ADF" +msgstr "" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "オプションを更新する。" +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "8ビット出力" +msgid "Hide end-of-page pixel" +msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "前面ボタンを待つ" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "ランプの停止" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "スキャナーのランプを停止する。" +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -3962,7 +4003,7 @@ msgid "single" msgstr "" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" @@ -4130,9 +4171,9 @@ msgid "crt" msgstr "" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "" +#, fuzzy, no-c-format +msgid "linear" +msgstr "線画" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4261,7 +4302,7 @@ msgstr "イメージ強調を設定" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "ガンマ" @@ -4328,11 +4369,11 @@ msgstr "" msgid "Request driver to remove border from pages digitally" msgstr "" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4364,12 +4405,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "高密度印刷" #: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "低密度印刷" #: backend/kvs40xx_opt.c:243 @@ -4392,6 +4433,13 @@ msgstr "普通" msgid "Enhanced mode" msgstr "増強" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4451,7 +4499,7 @@ msgstr "" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4486,12 +4534,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4501,13 +4549,13 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "鏡像画像" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4544,52 +4592,52 @@ msgstr "8x8 バイエル" msgid "8x8 Vertical Line" msgstr "8x8縦の線" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "利得" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "カラーチャネルの利得設定" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "グレー利得" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "グレーチャネル利得を設定" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "赤利得" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "赤チャネル利得を設定" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "緑利得" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "緑チャネル利得を設定" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "青利得" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "青チャネル利得を設定" @@ -4675,7 +4723,7 @@ msgstr "1ページ" msgid "All pages" msgstr "全ページ" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "シートフィーダスキャナー" @@ -5169,39 +5217,44 @@ msgid "" "40 seconds warm-up time." msgstr "" -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "較正のクリア" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "ネガフィルム" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "ネガ" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "高精彩" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "ボタン制御走査" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5209,40 +5262,40 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "ボタン状態の更新" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "ボタン1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "ボタン2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5331,7 +5384,7 @@ msgstr "アナログフロントエンド" msgid "Red gain value of the AFE" msgstr "AFEの赤の利得値" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "赤オフセット" @@ -5598,7 +5651,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "このオプションは、スキャナーボタンの状態を反映します。" -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "ランプをオン" @@ -5608,12 +5661,12 @@ msgstr "ランプをオン" msgid "Turn on scanner lamp" msgstr "スキャナーのランプをオンにする。" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "ランプオフ" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "スキャナーのランプをオフにする。" @@ -5751,13 +5804,13 @@ msgstr "焦点位置" #: backend/snapscan-options.c:930 #, no-c-format -msgid "Colour lines per read" +msgid "Color lines per read" msgstr "" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" -msgstr "" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" +msgstr "グレースケール走査" #: backend/stv680.c:974 #, no-c-format @@ -6352,52 +6405,52 @@ msgstr "" msgid "Define calibration mode" msgstr "" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "" diff --git a/po/nb.po b/po/nb.po index 183c1f0..c6b55ba 100644 --- a/po/nb.po +++ b/po/nb.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.12\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2007-12-17 23:01+0100\n" "Last-Translator: Sigurd Stordal \n" "Language-Team: \n" @@ -25,31 +25,31 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Geometri" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Forbedring" @@ -83,7 +83,7 @@ msgid "Bit depth" msgstr "Bit dybde" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "" @@ -124,7 +124,7 @@ msgid "Bottom-right y" msgstr "Bunn-høyre y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Skanoppløsning" @@ -279,7 +279,7 @@ msgstr "Filnavn" msgid "Halftone pattern size" msgstr "" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "" @@ -289,10 +289,10 @@ msgstr "" msgid "Bind X and Y resolution" msgstr "" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" @@ -415,7 +415,7 @@ msgstr "Lampen slås av ved avslutning" #: include/sane/saneopts.h:245 #, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" @@ -720,8 +720,8 @@ msgid "Analog gamma-correction for blue" msgstr "" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Varm opp lampen før skanning" #: include/sane/saneopts.h:417 @@ -871,7 +871,7 @@ msgstr "" #: backend/sane_strstatus.c:65 #, no-c-format -msgid "Operation was cancelled" +msgid "Operation was canceled" msgstr "" #: backend/sane_strstatus.c:68 @@ -965,7 +965,7 @@ msgstr "Bare utfør skygge-korrigering" #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" @@ -992,80 +992,40 @@ msgstr "Full skan" #: backend/avision.h:783 #, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" -msgstr "" - -#: backend/canon630u.c:159 -#, fuzzy, no-c-format -msgid "Calibrate Scanner" -msgstr "Kalibrering" - -#: backend/canon630u.c:160 -#, fuzzy, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Grov kalibrering kun for første skan" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Gråskala scan" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Gjør et gråskala heller enn farge scan" - -#: backend/canon630u.c:306 -#, no-c-format -msgid "Analog Gain" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" +msgid "Correction according to transparency ratio" msgstr "" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 -#, no-c-format -msgid "Gamma Correction" -msgstr "Gamma korreksjon" - -#: backend/canon630u.c:348 -#, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Velger den gamma korrigerte overførsels kurven" - -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Raw" +msgid "Correction according to film type" msgstr "" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 #: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format msgid "Fine color" msgstr "" -#: backend/canon.c:169 +#: backend/canon-sane.c:776 backend/canon.c:176 #, fuzzy, no-c-format -msgid "No transparency correction" -msgstr "Farge korreksjon" - -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "" +msgid "Negatives" +msgstr "Negativ" -#: backend/canon.c:171 backend/canon-sane.c:674 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format -msgid "Correction according to transparency ratio" +msgid "Raw" msgstr "" -#: backend/canon.c:176 backend/canon-sane.c:776 +#: backend/canon.c:169 #, fuzzy, no-c-format -msgid "Negatives" -msgstr "Negativ" +msgid "No transparency correction" +msgstr "Farge korreksjon" #: backend/canon.c:176 #, fuzzy, no-c-format @@ -1201,7 +1161,7 @@ msgstr "" #: backend/canon.c:460 #, no-c-format -msgid "option not connect" +msgid "option not correct" msgstr "" #: backend/canon.c:474 @@ -1489,133 +1449,184 @@ msgstr "Filmtype" msgid "Select the film type" msgstr "" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, fuzzy, no-c-format +msgid "Calibrate Scanner" +msgstr "Kalibrering" + +#: backend/canon630u.c:160 +#, fuzzy, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Grov kalibrering kun for første skan" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Gråskala scan" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Gjør et gråskala heller enn farge scan" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Gamma korreksjon" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Velger den gamma korrigerte overførsels kurven" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Front" msgstr "" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, no-c-format msgid "Card Duplex" msgstr "" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rød" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Grønn" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blå" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Forbedring" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Forbedring" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Forbedring" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Ingen" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "" @@ -1727,7 +1738,7 @@ msgstr "Blekkskrivere" msgid "CRT monitors" msgstr "" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1791,8 +1802,9 @@ msgstr "" msgid "Max" msgstr "Maks" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -1964,17 +1976,17 @@ msgstr "" msgid "Quick format" msgstr "" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Tilleggsutstyr" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Utløs" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Utløs arket i ADF" @@ -1989,12 +2001,14 @@ msgstr "Automatisk utløsning" msgid "Eject document after scanning" msgstr "Løs ut dokoment etter skanning" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" @@ -2041,14 +2055,14 @@ msgstr "" "Etter at kommandoen for skan er sendt, vent til skannerens knapp " "ertrykket før skanings prossesen startes." -#: backend/epson2.c:102 backend/pixma.c:409 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format -msgid "Infrared" +msgid "TPU8x10" msgstr "" -#: backend/epson2.c:117 +#: backend/epson2.c:102 backend/pixma/pixma.c:409 #, no-c-format -msgid "TPU8x10" +msgid "Infrared" msgstr "" #: backend/epson2.c:136 @@ -2071,492 +2085,512 @@ msgstr "" msgid "User defined CCT profile" msgstr "Brukerdefinert" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Utløs arket i ADF" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Ingen korrigering" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Gamma korreksjon" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, no-c-format msgid "Diffusion" msgstr "" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, fuzzy, no-c-format msgid "White" msgstr "Hvitnivå" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Black" msgstr "Svartnivå" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, no-c-format msgid "Horizontal bold" msgstr "" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, no-c-format msgid "Horizontal narrow" msgstr "" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, no-c-format msgid "Vertical bold" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, no-c-format msgid "Front" msgstr "" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, no-c-format msgid "Halftone type" msgstr "" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Grov kalibrering" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, no-c-format msgid "Emphasis" msgstr "" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Kalibrering" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "" -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Speilbilde" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Speilbilde" -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Hvitnivå for blå" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Kontrollerer rød-nivå" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Fargestrektegning" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Gammaverdi" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, no-c-format msgid "Threshold white" msgstr "" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Støyreduksjon" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Ingen korrigering" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Ingen korrigering" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, no-c-format msgid "DF recovery mode" msgstr "" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Spesielle valg" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Ingen korrigering" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Lampe på" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, no-c-format msgid "Buffer mode" msgstr "" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2564,65 +2598,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "Lampe av" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Lampe av" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, fuzzy, no-c-format msgid "Green offset" msgstr "Lampe av" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Lampe av" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, fuzzy, no-c-format msgid "Blue offset" msgstr "Lampe av" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Kontrast blåkanal" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2631,507 +2665,514 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Full skan" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Spesielle valg" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Støyreduksjon" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Fra papir" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Manuell førfokus" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Manuell førfokus" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Skanoppløsning" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Hvitnivå" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "lav densitets utskrift" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Full skan" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Fargestrektegning" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrering" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Kvalitets kalibrering" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibrering" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, fuzzy, no-c-format msgid "Lamp off time" msgstr "Lampe av" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Grov kalibrering" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, fuzzy, no-c-format msgid "File button" msgstr "Vent på knappen" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, fuzzy, no-c-format msgid "Power button" msgstr "Vent på knappen" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "Vent på knappen" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, fuzzy, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Grov kalibrering" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Grov kalibrering kun for første skan" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, fuzzy, no-c-format msgid "Buttons" msgstr "Knappstatus" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, fuzzy, no-c-format msgid "Calibrate" msgstr "Kalibrering" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Grov kalibrering" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Grov kalibrering" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Kalibrering" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Grov kalibrering" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Lampe av" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "" +#: backend/genesys/genesys.h:80 +#, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3222,616 +3263,616 @@ msgstr "Gammaverdi" msgid "Sets the gamma value of all channels." msgstr "" -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, fuzzy, no-c-format -msgid "Geometry Group" -msgstr "Geometri" +msgid "Advanced Options" +msgstr "Spesielle valg" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "" +msgid "Coarse" +msgstr "Grov" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" +msgid "Fine" +msgstr "Fin" + +#: backend/hp-option.c:3046 +#, no-c-format +msgid "Bayer" msgstr "" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Scanner model" +msgid "Custom" +msgstr "Valgfri" + +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 +#, no-c-format +msgid "Auto" +msgstr "Automatisk" + +#: backend/hp-option.c:3091 +#, no-c-format +msgid "NTSC RGB" msgstr "" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" +msgid "XPA RGB" msgstr "" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3093 #, no-c-format -msgid "Image colours will be inverted" +msgid "Pass-through" msgstr "" -#: backend/hp3900_sane.c:1436 -#, fuzzy, no-c-format -msgid "Disable gamma correction" -msgstr "Gamma korreksjon" +#: backend/hp-option.c:3094 +#, no-c-format +msgid "NTSC Gray" +msgstr "NTSC-grå" -#: backend/hp3900_sane.c:1437 -#, fuzzy, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Gamma korreksjon" +#: backend/hp-option.c:3095 +#, no-c-format +msgid "XPA Gray" +msgstr "XPA-grå" -#: backend/hp3900_sane.c:1451 -#, fuzzy, no-c-format -msgid "Disable white shading correction" -msgstr "Bare utfør skygge-korrigering" +#: backend/hp-option.c:3147 +#, no-c-format +msgid "Slow" +msgstr "Treig" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "White shading correction will be disabled" +msgid "Normal" msgstr "" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3149 #, no-c-format -msgid "Skip warmup process" -msgstr "" +msgid "Fast" +msgstr "Rask" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3150 #, no-c-format -msgid "Warmup process will be disabled" +msgid "Extra Fast" msgstr "" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3163 #, no-c-format -msgid "Force real depth" +msgid "2-pixel" msgstr "" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3164 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." +msgid "4-pixel" msgstr "" -#: backend/hp3900_sane.c:1499 -#, fuzzy, no-c-format -msgid "Emulate Grayscale" -msgstr "Gråskala" - -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3165 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." +msgid "8-pixel" msgstr "" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Save debugging images" +msgid "Print" msgstr "" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." +msgid "Slide" msgstr "" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3178 #, fuzzy, no-c-format -msgid "Reset chipset" -msgstr "Raskt skan" +msgid "Film-strip" +msgstr "Filmtype" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Resets chipset data" +msgid "ADF" msgstr "" -#: backend/hp3900_sane.c:1547 -#, fuzzy, no-c-format -msgid "Information" -msgstr "Se bort fra kalibrering" - -#: backend/hp3900_sane.c:1560 -#, fuzzy, no-c-format -msgid "Chipset name" -msgstr "Filnavn" - -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Shows chipset name used in device." +msgid "XPA" msgstr "" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Unknown" +msgid "Conditional" msgstr "" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Chipset ID" +msgid "Experiment" msgstr "" -#: backend/hp3900_sane.c:1572 -#, fuzzy, no-c-format -msgid "Shows the chipset ID" -msgstr "Raskt skan" - -#: backend/hp3900_sane.c:1582 -#, fuzzy, no-c-format -msgid "Scan counter" -msgstr "Skankilde" - -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:60 #, fuzzy, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Velger rammenummer å skanne" +msgid "Sharpening" +msgstr "Skarphet" -#: backend/hp3900_sane.c:1594 -#, fuzzy, no-c-format -msgid "Update information" -msgstr "Spesielle valg" +#: backend/hp-option.h:61 +#, no-c-format +msgid "Set sharpening value." +msgstr "" -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:66 #, no-c-format -msgid "Updates information about device" +msgid "Auto Threshold" msgstr "" -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:68 #, no-c-format -msgid "This option reflects a front panel scanner button" +msgid "Enable automatic determination of threshold for line-art scans." msgstr "" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:74 #, no-c-format -msgid "Image" +msgid "Select smoothing filter." msgstr "" -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:79 #, no-c-format -msgid "Miscellaneous" +msgid "Unload media after scan" msgstr "" -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:80 #, fuzzy, no-c-format -msgid "offset X" -msgstr "Lampe av" +msgid "Unloads the media after a scan." +msgstr "Last bildet som gråskala" -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:85 #, fuzzy, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "venstre topp x posisjon av skan-areal" +msgid "Change document" +msgstr "Forbedring" -#: backend/hp5400_sane.c:368 -#, fuzzy, no-c-format -msgid "offset Y" -msgstr "Lampe av" +#: backend/hp-option.h:86 +#, no-c-format +msgid "Change Document." +msgstr "" -#: backend/hp5400_sane.c:369 -#, fuzzy, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "venstre topp x posisjon av skan-areal" +#: backend/hp-option.h:91 +#, no-c-format +msgid "Unload" +msgstr "" -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:92 #, no-c-format -msgid "Lamp status" +msgid "Unload Document." msgstr "" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:98 +#, fuzzy, no-c-format +msgid "Start calibration process." +msgstr "Grov kalibrering" + +#: backend/hp-option.h:103 +#, fuzzy, no-c-format +msgid "Media" +msgstr "Middels" + +#: backend/hp-option.h:104 #, no-c-format -msgid "Switches the lamp on or off." +msgid "Set type of media." msgstr "" -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:109 #, no-c-format -msgid "Calibrates for black and white level." +msgid "Exposure time" msgstr "" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:111 #, no-c-format -msgid "ADF" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." msgstr "" -#: backend/hp5590.c:95 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, fuzzy, no-c-format -msgid "TMA Slides" -msgstr "Treigest" +msgid "Color Matrix" +msgstr "Fargemønster" -#: backend/hp5590.c:96 +#: backend/hp-option.h:121 #, fuzzy, no-c-format -msgid "TMA Negatives" -msgstr "Negativ" +msgid "Set the scanner's color matrix." +msgstr "Kontrast rødkanal" -#: backend/hp5590.c:108 -#, fuzzy, no-c-format -msgid "Color (48 bits)" -msgstr "Farge 48" +#: backend/hp-option.h:127 +#, no-c-format +msgid "Custom color matrix." +msgstr "" -#: backend/hp5590.c:112 +#: backend/hp-option.h:132 #, fuzzy, no-c-format -msgid "Extend lamp timeout" -msgstr "Lampe av" +msgid "Mono Color Matrix" +msgstr "Fargemønster" -#: backend/hp5590.c:113 +#: backend/hp-option.h:133 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgid "Custom color matrix for grayscale scans." msgstr "" -#: backend/hp5590.c:115 -#, no-c-format -msgid "Wait for button" -msgstr "Vent på knappen" - -#: backend/hp5590.c:116 +#: backend/hp-option.h:138 #, fuzzy, no-c-format -msgid "Waits for button before scanning" -msgstr "Varm opp lampen før skanning" +msgid "Mirror horizontal" +msgstr "Speilbilde" -#: backend/hp5590.c:118 +#: backend/hp-option.h:139 #, fuzzy, no-c-format -msgid "Last button pressed" -msgstr "Knappstatus" +msgid "Mirror image horizontally." +msgstr "Speilbilde" -#: backend/hp5590.c:119 -#, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "" +#: backend/hp-option.h:144 +#, fuzzy, no-c-format +msgid "Mirror vertical" +msgstr "Speilbilde" -#: backend/hp5590.c:121 +#: backend/hp-option.h:145 #, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Skankilde" +msgid "Mirror image vertically." +msgstr "Speilbilde" -#: backend/hp5590.c:122 -#, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "" +#: backend/hp-option.h:150 +#, fuzzy, no-c-format +msgid "Update options" +msgstr "Spesielle valg" -#: backend/hp5590.c:124 +#: backend/hp-option.h:151 #, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Fargestrektegning" +msgid "Update options." +msgstr "Spesielle valg" -#: backend/hp5590.c:125 +#: backend/hp-option.h:156 #, no-c-format -msgid "Get value of LED indicator (read only)" +msgid "8 bit output" msgstr "" -#: backend/hp5590.c:127 +#: backend/hp-option.h:158 #, no-c-format -msgid "Document available in ADF" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" -#: backend/hp5590.c:128 +#: backend/hp-option.h:164 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" +msgid "Front button wait" msgstr "" -#: backend/hp5590.c:130 +#: backend/hp-option.h:165 #, no-c-format -msgid "Hide end-of-page pixel" +msgid "Wait to scan for front-panel button push." msgstr "" -#: backend/hp5590.c:131 +#: backend/hp-option.h:172 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgid "Shut off lamp" msgstr "" -#: backend/hp5590.c:133 +#: backend/hp-option.h:173 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" +msgid "Shut off scanner lamp." +msgstr "Slå av skanner lampen." + +#: backend/hp3500.c:1020 +#, fuzzy, no-c-format +msgid "Geometry Group" +msgstr "Geometri" + +#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#, no-c-format +msgid "Scan Mode Group" msgstr "" -#: backend/hp5590.c:134 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" +msgid "Scanner model" msgstr "" -#: backend/hp5590.c:137 +#: backend/hp3900_sane.c:1408 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" +msgid "Allows one to test device behavior with other supported models" msgstr "" -#: backend/hp5590.c:138 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" +msgid "Image colors will be inverted" msgstr "" -#: backend/hp-option.c:2987 +#: backend/hp3900_sane.c:1436 #, fuzzy, no-c-format -msgid "Advanced Options" -msgstr "Spesielle valg" +msgid "Disable gamma correction" +msgstr "Gamma korreksjon" -#: backend/hp-option.c:3044 -#, no-c-format -msgid "Coarse" -msgstr "Grov" +#: backend/hp3900_sane.c:1437 +#, fuzzy, no-c-format +msgid "Gamma correction will be disabled" +msgstr "Gamma korreksjon" -#: backend/hp-option.c:3045 -#, no-c-format -msgid "Fine" -msgstr "Fin" +#: backend/hp3900_sane.c:1451 +#, fuzzy, no-c-format +msgid "Disable white shading correction" +msgstr "Bare utfør skygge-korrigering" -#: backend/hp-option.c:3046 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Bayer" +msgid "White shading correction will be disabled" msgstr "" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 -#, no-c-format -msgid "Custom" -msgstr "Valgfri" - -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 -#, no-c-format -msgid "Auto" -msgstr "Automatisk" - -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "NTSC RGB" +msgid "Skip warmup process" msgstr "" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "XPA RGB" +msgid "Warmup process will be disabled" msgstr "" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "Pass-through" +msgid "Force real depth" msgstr "" -#: backend/hp-option.c:3094 -#, no-c-format -msgid "NTSC Gray" -msgstr "NTSC-grå" - -#: backend/hp-option.c:3095 -#, no-c-format -msgid "XPA Gray" -msgstr "XPA-grå" - -#: backend/hp-option.c:3147 -#, no-c-format -msgid "Slow" -msgstr "Treig" - -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Normal" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." msgstr "" -#: backend/hp-option.c:3149 -#, no-c-format -msgid "Fast" -msgstr "Rask" +#: backend/hp3900_sane.c:1499 +#, fuzzy, no-c-format +msgid "Emulate Grayscale" +msgstr "Gråskala" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "Extra Fast" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." msgstr "" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "2-pixel" +msgid "Save debugging images" msgstr "" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "4-pixel" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." msgstr "" -#: backend/hp-option.c:3165 -#, no-c-format -msgid "8-pixel" -msgstr "" +#: backend/hp3900_sane.c:1533 +#, fuzzy, no-c-format +msgid "Reset chipset" +msgstr "Raskt skan" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Print" +msgid "Resets chipset data" msgstr "" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1547 +#, fuzzy, no-c-format +msgid "Information" +msgstr "Se bort fra kalibrering" + +#: backend/hp3900_sane.c:1560 #, fuzzy, no-c-format -msgid "Film-strip" -msgstr "Filmtype" +msgid "Chipset name" +msgstr "Filnavn" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "XPA" +msgid "Shows chipset name used in device." msgstr "" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Conditional" +msgid "Unknown" msgstr "" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Experiment" +msgid "Chipset ID" msgstr "" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1572 #, fuzzy, no-c-format -msgid "Sharpening" -msgstr "Skarphet" +msgid "Shows the chipset ID" +msgstr "Raskt skan" -#: backend/hp-option.h:61 -#, no-c-format -msgid "Set sharpening value." -msgstr "" +#: backend/hp3900_sane.c:1582 +#, fuzzy, no-c-format +msgid "Scan counter" +msgstr "Skankilde" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1584 +#, fuzzy, no-c-format +msgid "Shows the number of scans made by scanner" +msgstr "Velger rammenummer å skanne" + +#: backend/hp3900_sane.c:1594 +#, fuzzy, no-c-format +msgid "Update information" +msgstr "Spesielle valg" + +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Auto Threshold" +msgid "Updates information about device" msgstr "" -#: backend/hp-option.h:68 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." +msgid "This option reflects a front panel scanner button" msgstr "" -#: backend/hp-option.h:74 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Select smoothing filter." +msgid "Image" msgstr "" -#: backend/hp-option.h:79 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Unload media after scan" +msgid "Miscellaneous" msgstr "" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:358 #, fuzzy, no-c-format -msgid "Unloads the media after a scan." -msgstr "Last bildet som gråskala" +msgid "offset X" +msgstr "Lampe av" -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:359 #, fuzzy, no-c-format -msgid "Change document" -msgstr "Forbedring" +msgid "Hardware internal X position of the scanning area." +msgstr "venstre topp x posisjon av skan-areal" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:368 +#, fuzzy, no-c-format +msgid "offset Y" +msgstr "Lampe av" + +#: backend/hp5400_sane.c:369 +#, fuzzy, no-c-format +msgid "Hardware internal Y position of the scanning area." +msgstr "venstre topp x posisjon av skan-areal" + +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Change Document." +msgid "Lamp status" msgstr "" -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Unload" +msgid "Switches the lamp on or off." msgstr "" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Unload Document." +msgid "Calibrates for black and white level." msgstr "" -#: backend/hp-option.h:98 +#: backend/hp5590.c:95 #, fuzzy, no-c-format -msgid "Start calibration process." -msgstr "Grov kalibrering" +msgid "TMA Slides" +msgstr "Treigest" -#: backend/hp-option.h:103 +#: backend/hp5590.c:96 #, fuzzy, no-c-format -msgid "Media" -msgstr "Middels" +msgid "TMA Negatives" +msgstr "Negativ" -#: backend/hp-option.h:104 -#, no-c-format -msgid "Set type of media." -msgstr "" +#: backend/hp5590.c:108 +#, fuzzy, no-c-format +msgid "Color (48 bits)" +msgstr "Farge 48" -#: backend/hp-option.h:109 +#: backend/hp5590.c:112 +#, fuzzy, no-c-format +msgid "Extend lamp timeout" +msgstr "Lampe av" + +#: backend/hp5590.c:113 #, no-c-format -msgid "Exposure time" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: backend/hp-option.h:111 +#: backend/hp5590.c:115 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" +msgid "Wait for button" +msgstr "Vent på knappen" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:116 #, fuzzy, no-c-format -msgid "Color Matrix" -msgstr "Fargemønster" +msgid "Waits for button before scanning" +msgstr "Varm opp lampen før skanning" -#: backend/hp-option.h:121 +#: backend/hp5590.c:118 #, fuzzy, no-c-format -msgid "Set the scanners color matrix." -msgstr "Kontrast rødkanal" +msgid "Last button pressed" +msgstr "Knappstatus" -#: backend/hp-option.h:127 +#: backend/hp5590.c:119 #, no-c-format -msgid "Custom color matrix." +msgid "Get ID of last button pressed (read only)" msgstr "" -#: backend/hp-option.h:132 +#: backend/hp5590.c:121 #, fuzzy, no-c-format -msgid "Mono Color Matrix" -msgstr "Fargemønster" +msgid "LCD counter" +msgstr "Skankilde" -#: backend/hp-option.h:133 +#: backend/hp5590.c:122 #, no-c-format -msgid "Custom color matrix for grayscale scans." +msgid "Get value of LCD counter (read only)" msgstr "" -#: backend/hp-option.h:138 -#, fuzzy, no-c-format -msgid "Mirror horizontal" -msgstr "Speilbilde" - -#: backend/hp-option.h:139 -#, fuzzy, no-c-format -msgid "Mirror image horizontally." -msgstr "Speilbilde" - -#: backend/hp-option.h:144 +#: backend/hp5590.c:124 #, fuzzy, no-c-format -msgid "Mirror vertical" -msgstr "Speilbilde" +msgid "Color LED indicator" +msgstr "Fargestrektegning" -#: backend/hp-option.h:145 -#, fuzzy, no-c-format -msgid "Mirror image vertically." -msgstr "Speilbilde" +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:150 -#, fuzzy, no-c-format -msgid "Update options" -msgstr "Spesielle valg" +#: backend/hp5590.c:127 +#, no-c-format +msgid "Document available in ADF" +msgstr "" -#: backend/hp-option.h:151 -#, fuzzy, no-c-format -msgid "Update options." -msgstr "Spesielle valg" +#: backend/hp5590.c:128 +#, no-c-format +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" +msgid "Hide end-of-page pixel" msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" +msgid "Filling mode of trailing lines after scan data (ADF)" msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" +msgid "RGB or gray color value for filling mode 'color'" msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Slå av skanner lampen." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -3931,7 +3972,7 @@ msgid "single" msgstr "" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" @@ -4099,9 +4140,9 @@ msgid "crt" msgstr "" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Strektegning" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4228,7 +4269,7 @@ msgstr "" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "" @@ -4295,11 +4336,11 @@ msgstr "" msgid "Request driver to remove border from pages digitally" msgstr "" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4331,12 +4372,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "Høy densitets utskrift" #: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "lav densitets utskrift" #: backend/kvs40xx_opt.c:243 @@ -4359,6 +4400,13 @@ msgstr "Skanhastighet" msgid "Enhanced mode" msgstr "Forbedring" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4418,7 +4466,7 @@ msgstr "" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4453,12 +4501,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4468,13 +4516,13 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Speilbilde" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4511,52 +4559,52 @@ msgstr "" msgid "8x8 Vertical Line" msgstr "" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, fuzzy, no-c-format msgid "Gray gain" msgstr "Grønn" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, fuzzy, no-c-format msgid "Sets gray channel gain" msgstr "Kontrast grønnkanal" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, fuzzy, no-c-format msgid "Red gain" msgstr "Rødbalanse" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, fuzzy, no-c-format msgid "Sets red channel gain" msgstr "Kontrast rødkanal" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, fuzzy, no-c-format msgid "Green gain" msgstr "Grønn" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, fuzzy, no-c-format msgid "Sets green channel gain" msgstr "Kontrast grønnkanal" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, fuzzy, no-c-format msgid "Blue gain" msgstr "Blå" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, fuzzy, no-c-format msgid "Sets blue channel gain" msgstr "Kontrast blåkanal" @@ -4642,7 +4690,7 @@ msgstr "En side" msgid "All pages" msgstr "Alle sider" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "" @@ -5138,39 +5186,44 @@ msgid "" "40 seconds warm-up time." msgstr "" -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Grov kalibrering" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negativ Film" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativ" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5178,40 +5231,40 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, fuzzy, no-c-format msgid "Update button state" msgstr "Knappstatus" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, fuzzy, no-c-format msgid "Button 1" msgstr "Knappstatus" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, fuzzy, no-c-format msgid "Button 2" msgstr "Knappstatus" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5300,7 +5353,7 @@ msgstr "" msgid "Red gain value of the AFE" msgstr "" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, fuzzy, no-c-format msgid "Red offset" msgstr "Lampe av" @@ -5555,7 +5608,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "" -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Lampe på" @@ -5565,12 +5618,12 @@ msgstr "Lampe på" msgid "Turn on scanner lamp" msgstr "Slå på skanner lampen" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Lampe av" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Slå av skanner lampen" @@ -5705,14 +5758,14 @@ msgid "Focus point" msgstr "Fokuseringposisjon" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" -msgstr "" +#, fuzzy, no-c-format +msgid "Color lines per read" +msgstr "Fargestrektegning" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" -msgstr "" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" +msgstr "Gråskala scan" #: backend/stv680.c:974 #, no-c-format @@ -6296,52 +6349,52 @@ msgstr "" msgid "Define calibration mode" msgstr "" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, fuzzy, no-c-format msgid "Gray offset" msgstr "Lampe av" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, fuzzy, no-c-format msgid "Sets gray channel offset" msgstr "Kontrast grønnkanal" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, fuzzy, no-c-format msgid "Sets red channel offset" msgstr "Kontrast rødkanal" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, fuzzy, no-c-format msgid "Sets green channel offset" msgstr "Kontrast grønnkanal" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, fuzzy, no-c-format msgid "Sets blue channel offset" msgstr "Kontrast blåkanal" diff --git a/po/nl.po b/po/nl.po index c4b0811..cc2cc53 100644 --- a/po/nl.po +++ b/po/nl.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends.nl\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2019-07-26 13:38+0900\n" "Last-Translator: Olaf Meeuwissen \n" "Language-Team:\n" @@ -30,31 +30,31 @@ msgid "Standard" msgstr "Standaard" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Geometrie" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Kleurverbetering" @@ -88,7 +88,7 @@ msgid "Bit depth" msgstr "Bitdiepte" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Scanmodus" @@ -129,7 +129,7 @@ msgid "Bottom-right y" msgstr "Rechtsonder y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Scanresolutie" @@ -284,7 +284,7 @@ msgstr "Bestandsnaam" msgid "Halftone pattern size" msgstr "Grootte van het halftoonpatroon" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Halftoonpatroon" @@ -294,10 +294,10 @@ msgstr "Halftoonpatroon" msgid "Bind X and Y resolution" msgstr "Combineer X- en Y-resolutie" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negatief" @@ -418,9 +418,9 @@ msgid "Lamp off at exit" msgstr "Lamp aan het einde uitschakelen" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Alleen-lezen optie, die aangeeft hoeveel opties een apparaat ondersteunt." @@ -762,8 +762,8 @@ msgid "Analog gamma-correction for blue" msgstr "Analoge gammacorrectie voor blauw" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Warm de lamp op alvorens te scannen" #: include/sane/saneopts.h:417 @@ -914,8 +914,8 @@ msgid "Operation not supported" msgstr "Handeling niet ondersteund" #: backend/sane_strstatus.c:65 -#, no-c-format -msgid "Operation was cancelled" +#, fuzzy, no-c-format +msgid "Operation was canceled" msgstr "Handeling was geannuleerd" #: backend/sane_strstatus.c:68 @@ -1009,10 +1009,10 @@ msgid "Only perform shading-correction" msgstr "Voer alleen een schaduwcorrectie uit" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Indien ingeschakeld, wordt tijdens het kalibreren alleen de schaduw-" @@ -1041,83 +1041,43 @@ msgid "Duplex scan" msgstr "Dubbelzijdige scan" #: backend/avision.h:783 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "Dubbelzijdige scan scant beide zijden van een document" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Kalibreer scanner" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Dwing te kalibreren voor het scannen" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Grijstrapscan" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Voer een grijstrap-, in plaats van een kleurenscan uit" - -#: backend/canon630u.c:306 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Analog Gain" -msgstr "Analoog bereik" +msgid "Correction according to transparency ratio" +msgstr "Correctie op basis van de transparantieverhouding" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Vergroot of verklein het analoge bereik van de CCD-sensor" +msgid "Correction according to film type" +msgstr "Correctie op basis van filmtype" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "Gammacorrectie" +msgid "Fine color" +msgstr "Fraaie kleuren" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Kiest de gamma gecorrigeerde overdrachtscurve" +msgid "Negatives" +msgstr "Negatieven" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "Ongecomprimeerd" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Fraaie kleuren" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Ongecorrigeerde transparantie" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Correctie op basis van filmtype" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Correctie op basis van de transparantieverhouding" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Negatieven" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1252,8 +1212,8 @@ msgid "invalid bit IDENTIFY message" msgstr "ongeldig onderdeel in IDENTIFY boodschap" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" +#, fuzzy, no-c-format +msgid "option not correct" msgstr "optie onjuist" #: backend/canon.c:474 @@ -1543,133 +1503,184 @@ msgstr "Selecteert filmtype" msgid "Select the film type" msgstr "Selecteert het filmtype" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Kalibreer scanner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Dwing te kalibreren voor het scannen" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Grijstrapscan" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Voer een grijstrap-, in plaats van een kleurenscan uit" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Analoog bereik" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Vergroot of verklein het analoge bereik van de CCD-sensor" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Gammacorrectie" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Kiest de gamma gecorrigeerde overdrachtscurve" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbed" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Automatische documentinvoer voorzijde" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Automatische documentinvoer achterzijde" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Automatische documentinvoer dubbelzijdig" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Front" msgstr "Kaart voorzijde" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "Kaart achterzijde" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, no-c-format msgid "Card Duplex" msgstr "Kaart dubbelzijdig" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Rood" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Groen" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blauw" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Red" msgstr "Verbeter rood" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, no-c-format msgid "Enhance Green" msgstr "Verbeter groen" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, no-c-format msgid "Enhance Blue" msgstr "Verbeter blauw" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Geen" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "Softwarematig over te slaan percentage lege pagina's" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "Verzoek het stuurprogramma pagina's met weinig dekking te negeren" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "enkelzijdig" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Dubbelzijdig" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Filmeenheid" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatische documentinvoer" @@ -1781,7 +1792,7 @@ msgstr "Inkjetprinters" msgid "CRT monitors" msgstr "CRT-monitoren" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1845,8 +1856,9 @@ msgstr "A4" msgid "Max" msgstr "Maximaal" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -2018,17 +2030,17 @@ msgstr "Definieert de vergrotingsfactor die de scanner zal gebruiken" msgid "Quick format" msgstr "Snelle opmaak" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Optioneel hulpstuk" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Uitwerpen" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Werp het document in de automatische documentinvoer uit" @@ -2043,12 +2055,14 @@ msgstr "Automatische uitworp" msgid "Eject document after scanning" msgstr "Werp het document uit na het scannen" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Automatische documentinvoer Modus" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" @@ -2100,16 +2114,16 @@ msgstr "" "Begin pas met scannen als eerst het scancommando naar de scanner is " "gestuurd en daarna de knop van de scanner is ingedrukt." -#: backend/epson2.c:102 backend/pixma.c:409 -#, no-c-format -msgid "Infrared" -msgstr "Infrarood" - -#: backend/epson2.c:117 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "TPU8x10" +#: backend/epson2.c:102 backend/pixma/pixma.c:409 +#, no-c-format +msgid "Infrared" +msgstr "Infrarood" + #: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" @@ -2130,243 +2144,263 @@ msgstr "Ingebouwd CCT profiel" msgid "User defined CCT profile" msgstr "Door gebruiker gedefinieerd CCT profiel" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Werp het document in de automatische documentinvoer uit" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Geen correctie" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Schakel gammacorrectie uit" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Aan" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Uit" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Dither" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, no-c-format msgid "Diffusion" msgstr "Verspreiding" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, no-c-format msgid "White" msgstr "Wit" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, no-c-format msgid "Black" msgstr "Zwart" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "Voortzetten" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "Stoppen" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "10mm" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "15mm" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "20mm" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Horizontaal" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, no-c-format msgid "Horizontal bold" msgstr "Horizontaal vet" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, no-c-format msgid "Horizontal narrow" msgstr "Horizontaal smal" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Verticaal" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, no-c-format msgid "Vertical bold" msgstr "Verticaal vet" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "Van boven naar beneden" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "Van beneden naar boven" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, no-c-format msgid "Front" msgstr "Voorzijde" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "Achterzijde" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "Gammafunctie exponent" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "Verandert de intensiteit van de middentonen" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "GBF" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "Gespiegeld beeld formaat" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, no-c-format msgid "Halftone type" msgstr "Halftoon type" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "Regeltype van het halftoon filter" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "Regelpatroon van het halftoon filter" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "Contour" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, no-c-format msgid "Perform outline extraction" msgstr "Extract contouren" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, no-c-format msgid "Emphasis" msgstr "Nadruk" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "Negatief naar geleidelijk of positief naar scherp beeld" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, no-c-format msgid "Separation" msgstr "Scheiding" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "Schakel automatische scheiding tussen beeld en tekst in" -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, no-c-format msgid "Mirroring" msgstr "Spiegelen" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, no-c-format msgid "Reflect output image horizontally" msgstr "Spiegel het resulterende beeld horizontaal" -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, no-c-format msgid "White level follower" msgstr "Witwaarde volger" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, no-c-format msgid "Control white level follower" msgstr "Regel de witwaarde volger" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, no-c-format msgid "BP filter" msgstr "BP filter" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "Verbeterd de kwaliteit van hoog resolutie bal-punt pen tekst" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Verzachten" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "Schakelt verzachting in om OCR te verbeteren" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, no-c-format msgid "Gamma curve" msgstr "Gammakromme" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" "Gammakromme, van licht naar donker, maar bovenste twee werken misschien " "niet" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Drempel curve" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" @@ -2374,111 +2408,111 @@ msgstr "" "Drempel curve, van licht naar donker, maar bovenste twee zijn misschien " "niet liniair" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, no-c-format msgid "Threshold white" msgstr "Drempel wit" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "Stelt schermpunten in overeenkomstig de drempel voor wit ipv zwart" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, no-c-format msgid "Noise removal" msgstr "Ruisverwijdering" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "Matrix 5x5" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "Verwijder ruis met een 5 pixel vierkant" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "Matrix 4x4" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "Verwijder ruis met een 4 pixel vierkant" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "Matrix 3x3" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "Verwijder ruis met een 3 pixel vierkant" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "Matrix 2x2" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "Verwijder 2 beeldpunten in een vierkant ruis" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "Variantie" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "Stelt SDTC variantie rato in (gevoeligheid), 0 is gelijk aan 127" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, no-c-format msgid "Auto width detection" msgstr "Automatische breedte herkenning" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "Scanner herkent paper zijden. Kan de scansnelheid verminderen." -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, no-c-format msgid "Auto length detection" msgstr "Automatische lengte herkenning" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" "Scanner herkent onderzijde van het papier. Kan sommige frontends in de " "war brengen." -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "Compressie" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" "Schakelt gecomprimeerde gegevens in. Kan je front-end programma laten " "crashen." -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "Compressie argument" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " @@ -2487,106 +2521,106 @@ msgstr "" "Niveau van JPEG compressie. 1 is klein bestand, 7 is groot bestand. 0 " "(standaard) is hetzelfde als 4" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "DF actie" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "Actie die volgt op dubbele doorvoer fout" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "DF scheefheid" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "Schakel dubbele doorvoer fout in als gevolg van scheefheid" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "DF dikte" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "Stelt dubbele doorvoer fout in als gevolg van papierdikte" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "DF lengte" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "Stelt dubbele doorvoer fout in als gevolg van papierlengte" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "DF lengte verschil" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "Verschil in papier lengte om dubbele doorvoer fout te veroorzaken" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, no-c-format msgid "DF recovery mode" msgstr "DF herstel modus" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "Vraag de scanner de doorvoer om te keren bij papier opstopping" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "Papier protectie" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "Vraag de scanner opstoppingen in de ADF te voorspellen " -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, no-c-format msgid "Advanced paper protection" msgstr "Geavanceerde papier protectie" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" "Vraag de scanner opstoppingen in de ADF te voorspellen met behulp van " "verbeterde sensoren" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, no-c-format msgid "Staple detection" msgstr "Nietjes detectie" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" "Vraag de scanner opstoppingen in de ADF te detecteren die worden " "veroorzaakt door nietjes" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "Achtergrond kleur" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" @@ -2594,12 +2628,12 @@ msgstr "" "Stel de achtergrond kleur van scans in. Kan conflicteren met de " "'overscan' optie" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, no-c-format msgid "Dropout color" msgstr "Uitvalkleur" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " @@ -2608,34 +2642,34 @@ msgstr "" "One-pass scanners gebruiken slechts een kleur bij grijstrap of binair " "scannen, bruikbaar voor gekleurd papier of inkt." -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, no-c-format msgid "Buffer mode" msgstr "Buffermodus" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" "Vraag de scanner pagina's vanuit de ADF zo snel mogelijk in te lezen in " "het interne geheugen" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "Voorkeuze" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "Vraag de scanner de volgende pagina uit de ADF op te halen" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "Overscan" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2647,24 +2681,24 @@ msgstr "" "oppervlak t.o.v. het papierformaat, om de inzameling van de overige " "kanten toe te staan. Kan conflicteren met 'bgcolor' optie" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "Tijdschakelaar - slaapstand" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" "Tijd in minuten voordat de interne voeding overschakelt naar slaap modus" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, no-c-format msgid "Off timer" msgstr "Tijdschakelaar - uitstand" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " @@ -2673,42 +2707,42 @@ msgstr "" "Tijd in minuten voordat de interne voeding de scanner uitschakelt. In " "stappen van 15 minuten. Nul betekent nooit uitschakelen" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, no-c-format msgid "Duplex offset" msgstr "Dubbelzijdige compensatie" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "Pas voor-/achtercompensatie aan" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Groen compensatie" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, no-c-format msgid "Adjust green/red offset" msgstr "Pas groen-/roodcompensatie aan" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Blauw compensatie" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, no-c-format msgid "Adjust blue/red offset" msgstr "Pas blauw-/roodcompensatie aan" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "Te weinig geheugen beschikbaar" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2722,12 +2756,12 @@ msgstr "" "gebruikt om het juiste beeld vast te stellen. Deze optie dient " "uitsluitend te worden gebruikt door aangepaste front-end software." -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, no-c-format msgid "Duplex side" msgstr "Duplex zijde" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " @@ -2736,56 +2770,56 @@ msgstr "" "Vertelt welke zijde (0=voorkant, 1=achterkant) van een duplex scan bij " "de volgende aanroep van sane_read wordt geretourneerd." -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "Hardware rechtzetten en afknippen" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "Vraag de scanner pagina's digitaal te roteren en af te knippen." -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "Softwarematige scheefheid correctie" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" "Vraag het stuurprogramma scheef getrokken pagina's digitaal te roteren." -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "Softwarematige ontspikkel omvang" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" "Maximale diameter van verspreid liggende spikkels, die van het gescande " "beeld moeten worden verwijderd." -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "Softwarematig uitsnijden" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" "Vraag het stuurprogramma randen van pagina's digitaal te verwijderen." -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "Stoppen bij annuleren" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." @@ -2793,105 +2827,105 @@ msgstr "" "Vraag het stuurprogramma de papierdoorvoer te stoppen i.p.v. uit te " "werpen tijdens een annulering" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, no-c-format msgid "Endorser Options" msgstr "Endorser-opties" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "Stuurt de Endorser eenheid aan" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "Endorser" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "Schakel Endorser eenheid in" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "Endorser delen" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "Bepaald maximale Endorser teller waarde" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "Endorser waarde" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "Initiële Endorser teller waarde" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "Endorser stap" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" "Wijzig Endorser teller waarde met deze hoeveelheid voor elke pagina" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "Endorser Y" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "Endorser afdruk compensatie vanaf de bovenkant van het papier" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "Endorser lettertype" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "Endorser afdruk lettertype" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, no-c-format msgid "Endorser direction" msgstr "Endorser richting" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "Endorser afdruk richting" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "Endorser zijde" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" "Endorser afdrukzijde, vereist hardware ondersteuning om te worden " "gewijzigd" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "Endorser tekst" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " @@ -2900,214 +2934,200 @@ msgstr "" "Endorser alfanumerieke afdrukformaat. %05ud of %08ud zal aan het eind " "worden vervangen door de teller waarde." -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "Bovenrand" -#: backend/fujitsu.c:4380 -#, no-c-format -msgid "Paper is pulled partly into adf" +#: backend/fujitsu.c:4384 +#, fuzzy, no-c-format +msgid "Paper is pulled partly into ADF" msgstr "Papier is gedeeltelijk in de ADF getrokken" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, no-c-format msgid "A3 paper" msgstr "A3 papier" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "A3 papier gedetecteerd" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, no-c-format msgid "B4 paper" msgstr "B4 papier" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "B4 papier gedetecteerd" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, no-c-format msgid "A4 paper" msgstr "A4 papier" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "A4 papier gedetecteerd" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, no-c-format msgid "B5 paper" msgstr "B5 papier" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "B5 papier gedetecteerd" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "OMR of DF" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "OMR of dubbele doorvoer gedetecteerd" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "Energiebesparende" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "Scanner in energiebesparende modus" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, no-c-format msgid "Manual feed" msgstr "Handmatige doorvoer" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, no-c-format msgid "Manual feed selected" msgstr "Handmatige doorvoer geselecteerd" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "Functie" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "Functie karakter op het scherm" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "Inkt bijna op" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "Imprinter inkt is bijna op" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "Dubbele doorvoer" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "Dubbele doorvoer gedetecteerd" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "Foutcode" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, no-c-format msgid "Hardware error code" msgstr "Hardware foutcode" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "Scheefheidshoek" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "Vereist zwarte achtergrond voor het scannen" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "Resterende hoeveelheid inkt" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, no-c-format msgid "Imprinter ink level" msgstr "Imprinter inkt niveau" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, no-c-format msgid "Density" msgstr "Dichtheid" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "Dichtheid schaal" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, no-c-format msgid "Duplex switch" msgstr "Duplex schakelaar" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "Vraag backend randen van pagina's digitaal te verwijderen" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" "Vraag het stuurprogramma pagina's met weinig dekking te verwijderen" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "Softwarematige rotatie tegen de klok in" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" "Vraag stuurprogramma een 90 graden gedraaid beeld te herkennen en " "corrigeren" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Extra's" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "Dynamische drempel curve, van licht naar donker, normaal 50-65" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "Dynamische lijntekening uitschakelen" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" -"Schakel, om een lijntekening te genereren het gebruik van een software " -"aanpassend algoritme uit en vertrouw in plaats daarvan op de hardware." - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "Schakel interpolatie uit" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3117,34 +3137,34 @@ msgstr "" "resolutie kleiner is dan de verticale resolutie, wordt de horizontale " "interpolatie uitgeschakeld." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, no-c-format msgid "Color filter" msgstr "Kleurenfilter" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "Wanneer grijs of lijntekening wordt gebruikt, selecteert deze optie de " "huidige actieve kleur." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, no-c-format msgid "Calibration file" msgstr "Kalibratiebestand" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, no-c-format msgid "Specify the calibration file to use" msgstr "Specificeer het te gebruiken kalibratiebestand" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, no-c-format msgid "Calibration cache expiration time" msgstr "Vervaltijd van de kalibratie cache" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " @@ -3154,12 +3174,12 @@ msgstr "" "van 0 betekent dat geen cache wordt gebruikt. Een negatieve waarde " "betekent dat de cache nooit verloopt." -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Lamp-uit tijd" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3168,89 +3188,108 @@ msgstr "" "De lamp wordt uitgeschakeld na de opgegeven tijd (in minuten). Een " "waarde van 0 betekent, dat de lamp niet wordt uitgeschakeld." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, no-c-format msgid "Lamp off during scan" msgstr "Lamp uit tijdens het scannen" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "De lamp wordt uitgeschakeld tijdens het scannen" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "Bestand-knop" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "OCR-knop" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "Aan/Uit-knop" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, no-c-format msgid "Extra button" msgstr "Extra-knop" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 -#, no-c-format -msgid "Need calibration" +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 +#, fuzzy, no-c-format +msgid "Needs calibration" msgstr "Kalibratie nodig" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "De scanner moet worden gekalibreerd voor de huidige instellingen" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Knoppen" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibreren" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, no-c-format msgid "Start calibration using special sheet" msgstr "Begin kalibreerproces met een speciale transparant" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, no-c-format msgid "Clear calibration" msgstr "Reset kalibratie" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, no-c-format msgid "Clear calibration cache" msgstr "Reset kalibratiecache" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, no-c-format msgid "Force calibration" msgstr "Dwing kalibratie" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "Dwing kalibratie en negeer alle kalibratie caches" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Groen compensatie" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Transparantenhulpstuk" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Transparantenhulpstuk" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3359,633 +3398,633 @@ msgstr "Gammawaarde" msgid "Sets the gamma value of all channels." msgstr "Stelt de gammawaarde voor alle kanalen in." -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "Geometrie groep" +msgid "Advanced Options" +msgstr "Geavanceerde opties" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "Scanmodus groep" +msgid "Coarse" +msgstr "Grof" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "Dia" +msgid "Fine" +msgstr "Fijn" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Scanner model" -msgstr "Scanner model" +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" -"Biedt men de mogelijkheid de werking van het apparaat te testen met " -"andere ondersteunde modellen." +msgid "Custom" +msgstr "Door de gebruiker gedefinieerd" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Image colours will be inverted" -msgstr "Kleuren van het beeld worden geïnverteerd" +msgid "Auto" +msgstr "Automatisch" -#: backend/hp3900_sane.c:1436 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Disable gamma correction" -msgstr "Schakel gammacorrectie uit" +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1437 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Gammacorrectie wordt uitgeschakeld" +msgid "XPA RGB" +msgstr "XPA RGB" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3093 #, no-c-format -msgid "Disable white shading correction" -msgstr "Schakel witte schaduw correctie uit" +msgid "Pass-through" +msgstr "Doorgang" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3094 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "Witte schaduw correctie wordt uitgeschakeld" +msgid "NTSC Gray" +msgstr "NTSC Grijs" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Skip warmup process" -msgstr "Sla opwarmprocedure over" +msgid "XPA Gray" +msgstr "XPA Grijs" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "Opwarmprocedure wordt uitgeschakeld" +msgid "Slow" +msgstr "Langzaam" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "Force real depth" -msgstr "Forceer ware diepte" +msgid "Normal" +msgstr "Normaal" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3149 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"Als gammacorrectie is ingeschakeld, worden scans altijd met 16 bit " -"diepte gemaakt om de beeldkwaliteit te verbeteren en daarna " -"geconverteerd naar de gekozen diepte. Deze optie schakelt diepte " -"emulatie uit." +msgid "Fast" +msgstr "Snel" -#: backend/hp3900_sane.c:1499 +#: backend/hp-option.c:3150 #, no-c-format -msgid "Emulate Grayscale" -msgstr "Emuleer grijstrap" +msgid "Extra Fast" +msgstr "Extra snel" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3163 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"Indien ingeschakeld, wordt het beeld in kleurmodus gescand en daarna " -"door de software geconverteerd naar grijswaardes. Dit kan de " -"beeldkwaliteit in sommige gevallen verbeteren." +msgid "2-pixel" +msgstr "2-beeldpunt" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3164 #, no-c-format -msgid "Save debugging images" -msgstr "Bewaar foutzoekbeelden" +msgid "4-pixel" +msgstr "4-beeldpunt" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3165 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"Indien ingeschakeld, worden enkele beelden die deel uitmaken van het " -"scanproces bewaard, zodat ze kunnen worden geanalyseerd." +msgid "8-pixel" +msgstr "8-beeldpunt" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Reset chipset" -msgstr "Reset chipset" +msgid "Print" +msgstr "Afdruk" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Resets chipset data" -msgstr "Reset chipset gegevens" +msgid "Slide" +msgstr "Dia" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Information" -msgstr "Informatie" +msgid "Film-strip" +msgstr "Filmstrook" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Chipset name" -msgstr "Naam van de chipset" +msgid "ADF" +msgstr "Automatische documentinvoer" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "Toont de naam van de chipset gebruikt in het apparaat." +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Unknown" -msgstr "Onbekend" +msgid "Conditional" +msgstr "Voorwaardelijk" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Chipset ID" -msgstr "Chipset ID" +msgid "Experiment" +msgstr "Experiment" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.h:60 #, no-c-format -msgid "Shows the chipset ID" -msgstr "Toont de chipset ID" +msgid "Sharpening" +msgstr "Scherper maken" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.h:61 #, no-c-format -msgid "Scan counter" -msgstr "Scannerteller" +msgid "Set sharpening value." +msgstr "Stel scherpte waarde in." -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:66 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Toont het aantal scans dat de scanner heeft gemaakt" +msgid "Auto Threshold" +msgstr "Automatische drempelwaarde" -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.h:68 #, no-c-format -msgid "Update information" -msgstr "Werk de informatie bij" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "" +"Maak automatische bepaling mogelijk van de drempelwaarde voor " +"lijntekening scans." -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:74 #, no-c-format -msgid "Updates information about device" -msgstr "Werkt de informatie over het apparaat bij" +msgid "Select smoothing filter." +msgstr "Kies halftoon filter." -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:79 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Deze optie geeft de scannerknoppen op het apparaat weer" +msgid "Unload media after scan" +msgstr "Verwijder origineel na de scan" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:80 #, no-c-format -msgid "Image" -msgstr "Beeld" +msgid "Unloads the media after a scan." +msgstr "Verwijdert het origineel na de scan." -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:85 #, no-c-format -msgid "Miscellaneous" -msgstr "Overig" +msgid "Change document" +msgstr "Wijzig origineel" -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:86 #, no-c-format -msgid "offset X" -msgstr "compensatie X" +msgid "Change Document." +msgstr "Wijzig Origineel." -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:91 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "X positie in de scanner van het scanoppervlak." +msgid "Unload" +msgstr "Verwijder" -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:92 #, no-c-format -msgid "offset Y" -msgstr "compensatie Y" +msgid "Unload Document." +msgstr "Verwijder Origineel." -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:98 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Y positie in de scanner van het scanoppervlak." +msgid "Start calibration process." +msgstr "Begin het kalibreer proces" -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:103 #, no-c-format -msgid "Lamp status" -msgstr "Lamp status" +msgid "Media" +msgstr "Origineel" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:104 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Schakelt de lamp aan of uit." +msgid "Set type of media." +msgstr "Stel origineel type in." -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:109 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Kalibreert voor de zwart-/witwaarde" +msgid "Exposure time" +msgstr "Belichtingstijd" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:111 #, no-c-format -msgid "ADF" -msgstr "Automatische documentinvoer" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"Een langere belichtingstijd laat de scanner meer licht verzamelen. " +"Advies is om 175% voor papieren originelen, 150% voor dia's en \"Negatief" +"\" voor negatieven te gebruiken. Voor donkere (onderbelichte) beelden " +"kun je deze waarde verhogen." -#: backend/hp5590.c:95 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "TMA Slides" -msgstr "TMA dia's" +msgid "Color Matrix" +msgstr "Kleurmatrix" -#: backend/hp5590.c:96 -#, no-c-format -msgid "TMA Negatives" -msgstr "TMA Negatieven" +#: backend/hp-option.h:121 +#, fuzzy, no-c-format +msgid "Set the scanner's color matrix." +msgstr "Stel de kleurmatrix in van de scanner" -#: backend/hp5590.c:108 +#: backend/hp-option.h:127 #, no-c-format -msgid "Color (48 bits)" -msgstr "Kleur (48 bits)" +msgid "Custom color matrix." +msgstr "Door de gebruiker gedefinieerde kleurmatrix" -#: backend/hp5590.c:112 +#: backend/hp-option.h:132 #, no-c-format -msgid "Extend lamp timeout" -msgstr "Verleng lamp timeout" +msgid "Mono Color Matrix" +msgstr "Mono Kleurmatrix" -#: backend/hp5590.c:113 +#: backend/hp-option.h:133 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "Verlengt de lamp timeout (van 15 minuten tot 1 uur)" +msgid "Custom color matrix for grayscale scans." +msgstr "Door de gebruiker gedefinieerd kleurmatrix voor grijstint scans" -#: backend/hp5590.c:115 +#: backend/hp-option.h:138 #, no-c-format -msgid "Wait for button" -msgstr "Wacht op een druk op de knop" +msgid "Mirror horizontal" +msgstr "Horizontaal spiegelen" -#: backend/hp5590.c:116 +#: backend/hp-option.h:139 #, no-c-format -msgid "Waits for button before scanning" -msgstr "Wacht op een druk op de knop alvorens te scannen" +msgid "Mirror image horizontally." +msgstr "Beeld horizontaal spiegelen" -#: backend/hp5590.c:118 +#: backend/hp-option.h:144 #, no-c-format -msgid "Last button pressed" -msgstr "Laatst gedrukte knop" +msgid "Mirror vertical" +msgstr "Verticaal spiegelen" -#: backend/hp5590.c:119 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "Lees ID van de laatst gedrukte knop" +msgid "Mirror image vertically." +msgstr "Beeld verticaal spiegelen" -#: backend/hp5590.c:121 +#: backend/hp-option.h:150 #, no-c-format -msgid "LCD counter" -msgstr "LCD teller" +msgid "Update options" +msgstr "Opties bijwerken" -#: backend/hp5590.c:122 +#: backend/hp-option.h:151 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "Lees waarde van de LCD teller" +msgid "Update options." +msgstr "Opties bijwerken." -#: backend/hp5590.c:124 +#: backend/hp-option.h:156 #, no-c-format -msgid "Color LED indicator" -msgstr "Kleur LED indicator" +msgid "8 bit output" +msgstr "8-bit resultaat" -#: backend/hp5590.c:125 +#: backend/hp-option.h:158 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "Lees waarde van de LED indicator" +msgid "Use bit depth greater eight internally, but output only eight bits." +msgstr "Gebruik intern meer dan acht bits, maar geef slechts acht bits." -#: backend/hp5590.c:127 +#: backend/hp-option.h:164 #, no-c-format -msgid "Document available in ADF" -msgstr "Document beschikbaar in de ADF" +msgid "Front button wait" +msgstr "Voorpaneel knop wacht" -#: backend/hp5590.c:128 +#: backend/hp-option.h:165 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "Lees status van de indicator voor beschikbare documenten in de ADF" +msgid "Wait to scan for front-panel button push." +msgstr "Wacht met scannen totdat knop op voorpaneel is ingedrukt." -#: backend/hp5590.c:130 +#: backend/hp-option.h:172 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "Verberg einde-van-pagina pixel" +msgid "Shut off lamp" +msgstr "Schakel de lamp uit" -#: backend/hp5590.c:131 +#: backend/hp-option.h:173 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" -msgstr "Verberg einde-van-pagina pixels door vervanging met buurpixels" +msgid "Shut off scanner lamp." +msgstr "Schakel de scannerlamp uit." -#: backend/hp5590.c:133 +#: backend/hp3500.c:1020 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" +msgid "Geometry Group" +msgstr "Geometrie groep" -#: backend/hp5590.c:134 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" +msgid "Scan Mode Group" +msgstr "Scanmodus groep" -#: backend/hp5590.c:137 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "" +msgid "Scanner model" +msgstr "Scanner model" -#: backend/hp5590.c:138 -#, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" +#: backend/hp3900_sane.c:1408 +#, fuzzy, no-c-format +msgid "Allows one to test device behavior with other supported models" msgstr "" +"Biedt men de mogelijkheid de werking van het apparaat te testen met " +"andere ondersteunde modellen." -#: backend/hp-option.c:2987 -#, no-c-format -msgid "Advanced Options" -msgstr "Geavanceerde opties" +#: backend/hp3900_sane.c:1422 +#, fuzzy, no-c-format +msgid "Image colors will be inverted" +msgstr "Kleuren van het beeld worden geïnverteerd" -#: backend/hp-option.c:3044 +#: backend/hp3900_sane.c:1436 #, no-c-format -msgid "Coarse" -msgstr "Grof" +msgid "Disable gamma correction" +msgstr "Schakel gammacorrectie uit" -#: backend/hp-option.c:3045 +#: backend/hp3900_sane.c:1437 #, no-c-format -msgid "Fine" -msgstr "Fijn" +msgid "Gamma correction will be disabled" +msgstr "Gammacorrectie wordt uitgeschakeld" -#: backend/hp-option.c:3046 +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "Bayer" -msgstr "Bayer" +msgid "Disable white shading correction" +msgstr "Schakel witte schaduw correctie uit" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Custom" -msgstr "Door de gebruiker gedefinieerd" +msgid "White shading correction will be disabled" +msgstr "Witte schaduw correctie wordt uitgeschakeld" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Auto" -msgstr "Automatisch" +msgid "Skip warmup process" +msgstr "Sla opwarmprocedure over" -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" +msgid "Warmup process will be disabled" +msgstr "Opwarmprocedure wordt uitgeschakeld" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" +msgid "Force real depth" +msgstr "Forceer ware diepte" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Pass-through" -msgstr "Doorgang" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"Als gammacorrectie is ingeschakeld, worden scans altijd met 16 bit " +"diepte gemaakt om de beeldkwaliteit te verbeteren en daarna " +"geconverteerd naar de gekozen diepte. Deze optie schakelt diepte " +"emulatie uit." -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1499 #, no-c-format -msgid "NTSC Gray" -msgstr "NTSC Grijs" +msgid "Emulate Grayscale" +msgstr "Emuleer grijstrap" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "XPA Gray" -msgstr "XPA Grijs" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"Indien ingeschakeld, wordt het beeld in kleurmodus gescand en daarna " +"door de software geconverteerd naar grijswaardes. Dit kan de " +"beeldkwaliteit in sommige gevallen verbeteren." -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Slow" -msgstr "Langzaam" +msgid "Save debugging images" +msgstr "Bewaar foutzoekbeelden" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "Normal" -msgstr "Normaal" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"Indien ingeschakeld, worden enkele beelden die deel uitmaken van het " +"scanproces bewaard, zodat ze kunnen worden geanalyseerd." -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "Fast" -msgstr "Snel" +msgid "Reset chipset" +msgstr "Reset chipset" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Extra Fast" -msgstr "Extra snel" +msgid "Resets chipset data" +msgstr "Reset chipset gegevens" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "2-pixel" -msgstr "2-beeldpunt" +msgid "Information" +msgstr "Informatie" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "4-pixel" -msgstr "4-beeldpunt" +msgid "Chipset name" +msgstr "Naam van de chipset" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "8-pixel" -msgstr "8-beeldpunt" +msgid "Shows chipset name used in device." +msgstr "Toont de naam van de chipset gebruikt in het apparaat." -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Print" -msgstr "Afdruk" +msgid "Unknown" +msgstr "Onbekend" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Film-strip" -msgstr "Filmstrook" +msgid "Chipset ID" +msgstr "Chipset ID" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "XPA" -msgstr "XPA" +msgid "Shows the chipset ID" +msgstr "Toont de chipset ID" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1582 #, no-c-format -msgid "Conditional" -msgstr "Voorwaardelijk" +msgid "Scan counter" +msgstr "Scannerteller" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Experiment" -msgstr "Experiment" +msgid "Shows the number of scans made by scanner" +msgstr "Toont het aantal scans dat de scanner heeft gemaakt" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Sharpening" -msgstr "Scherper maken" +msgid "Update information" +msgstr "Werk de informatie bij" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Set sharpening value." -msgstr "Stel scherpte waarde in." +msgid "Updates information about device" +msgstr "Werkt de informatie over het apparaat bij" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Auto Threshold" -msgstr "Automatische drempelwaarde" +msgid "This option reflects a front panel scanner button" +msgstr "Deze optie geeft de scannerknoppen op het apparaat weer" -#: backend/hp-option.h:68 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "" -"Maak automatische bepaling mogelijk van de drempelwaarde voor " -"lijntekening scans." +msgid "Image" +msgstr "Beeld" -#: backend/hp-option.h:74 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Select smoothing filter." -msgstr "Kies halftoon filter." +msgid "Miscellaneous" +msgstr "Overig" -#: backend/hp-option.h:79 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Unload media after scan" -msgstr "Verwijder origineel na de scan" +msgid "offset X" +msgstr "compensatie X" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Verwijdert het origineel na de scan." +msgid "Hardware internal X position of the scanning area." +msgstr "X positie in de scanner van het scanoppervlak." -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Change document" -msgstr "Wijzig origineel" +msgid "offset Y" +msgstr "compensatie Y" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Change Document." -msgstr "Wijzig Origineel." +msgid "Hardware internal Y position of the scanning area." +msgstr "Y positie in de scanner van het scanoppervlak." -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Unload" -msgstr "Verwijder" +msgid "Lamp status" +msgstr "Lamp status" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Unload Document." -msgstr "Verwijder Origineel." +msgid "Switches the lamp on or off." +msgstr "Schakelt de lamp aan of uit." -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Start calibration process." -msgstr "Begin het kalibreer proces" +msgid "Calibrates for black and white level." +msgstr "Kalibreert voor de zwart-/witwaarde" -#: backend/hp-option.h:103 +#: backend/hp5590.c:95 #, no-c-format -msgid "Media" -msgstr "Origineel" +msgid "TMA Slides" +msgstr "TMA dia's" -#: backend/hp-option.h:104 +#: backend/hp5590.c:96 #, no-c-format -msgid "Set type of media." -msgstr "Stel origineel type in." +msgid "TMA Negatives" +msgstr "TMA Negatieven" -#: backend/hp-option.h:109 +#: backend/hp5590.c:108 #, no-c-format -msgid "Exposure time" -msgstr "Belichtingstijd" +msgid "Color (48 bits)" +msgstr "Kleur (48 bits)" -#: backend/hp-option.h:111 +#: backend/hp5590.c:112 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"Een langere belichtingstijd laat de scanner meer licht verzamelen. " -"Advies is om 175% voor papieren originelen, 150% voor dia's en \"Negatief" -"\" voor negatieven te gebruiken. Voor donkere (onderbelichte) beelden " -"kun je deze waarde verhogen." +msgid "Extend lamp timeout" +msgstr "Verleng lamp timeout" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:113 #, no-c-format -msgid "Color Matrix" -msgstr "Kleurmatrix" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Verlengt de lamp timeout (van 15 minuten tot 1 uur)" -#: backend/hp-option.h:121 +#: backend/hp5590.c:115 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "Stel de kleurmatrix in van de scanner" +msgid "Wait for button" +msgstr "Wacht op een druk op de knop" -#: backend/hp-option.h:127 +#: backend/hp5590.c:116 #, no-c-format -msgid "Custom color matrix." -msgstr "Door de gebruiker gedefinieerde kleurmatrix" +msgid "Waits for button before scanning" +msgstr "Wacht op een druk op de knop alvorens te scannen" -#: backend/hp-option.h:132 +#: backend/hp5590.c:118 #, no-c-format -msgid "Mono Color Matrix" -msgstr "Mono Kleurmatrix" +msgid "Last button pressed" +msgstr "Laatst gedrukte knop" -#: backend/hp-option.h:133 +#: backend/hp5590.c:119 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Door de gebruiker gedefinieerd kleurmatrix voor grijstint scans" +msgid "Get ID of last button pressed (read only)" +msgstr "Lees ID van de laatst gedrukte knop" -#: backend/hp-option.h:138 +#: backend/hp5590.c:121 #, no-c-format -msgid "Mirror horizontal" -msgstr "Horizontaal spiegelen" +msgid "LCD counter" +msgstr "LCD teller" -#: backend/hp-option.h:139 +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Beeld horizontaal spiegelen" +msgid "Get value of LCD counter (read only)" +msgstr "Lees waarde van de LCD teller" -#: backend/hp-option.h:144 +#: backend/hp5590.c:124 #, no-c-format -msgid "Mirror vertical" -msgstr "Verticaal spiegelen" +msgid "Color LED indicator" +msgstr "Kleur LED indicator" -#: backend/hp-option.h:145 +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Beeld verticaal spiegelen" +msgid "Get value of LED indicator (read only)" +msgstr "Lees waarde van de LED indicator" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Opties bijwerken" +msgid "Document available in ADF" +msgstr "Document beschikbaar in de ADF" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Opties bijwerken." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "Lees status van de indicator voor beschikbare documenten in de ADF" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "8-bit resultaat" +msgid "Hide end-of-page pixel" +msgstr "Verberg einde-van-pagina pixel" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." -msgstr "Gebruik intern meer dan acht bits, maar geef slechts acht bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgstr "Verberg einde-van-pagina pixels door vervanging met buurpixels" -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Voorpaneel knop wacht" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Wacht met scannen totdat knop op voorpaneel is ingedrukt." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Schakel de lamp uit" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Schakel de scannerlamp uit." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4086,7 +4125,7 @@ msgid "single" msgstr "enkel" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" @@ -4254,9 +4293,9 @@ msgid "crt" msgstr "crt" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "lineair" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Lijntekening" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4385,7 +4424,7 @@ msgstr "Stelt beeldverbetering in" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" @@ -4457,11 +4496,11 @@ msgid "Request driver to remove border from pages digitally" msgstr "" "Vraag het stuurprogramma randen van pagina's digitaal te verwijderen " -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 -#, no-c-format +#: backend/kvs20xx_opt.c:233 +#, fuzzy, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" "Formaat Controle Modus is een modus waarbij de scanner leest tot aan de " "kortste lengte van het gebruikte papier of de feitelijke lengte van het " @@ -4495,13 +4534,13 @@ msgid "B4" msgstr "B4" #: backend/kvs40xx_opt.c:231 -#, no-c-format -msgid "High sensivity" +#, fuzzy, no-c-format +msgid "High sensitivity" msgstr "Hoge gevoeligheid" #: backend/kvs40xx_opt.c:232 -#, no-c-format -msgid "Low sensivity" +#, fuzzy, no-c-format +msgid "Low sensitivity" msgstr "Lage gevoeligheid" #: backend/kvs40xx_opt.c:243 @@ -4524,6 +4563,16 @@ msgstr "Normale modus" msgid "Enhanced mode" msgstr "Verbetermodus" +#: backend/kvs40xx_opt.c:396 +#, fuzzy, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" +"Formaat Controle Modus is een modus waarbij de scanner leest tot aan de " +"kortste lengte van het gebruikte papier of de feitelijke lengte van het " +"document." + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4585,8 +4634,8 @@ msgid "JPEG compression" msgstr "JPEG compressie" #: backend/kvs40xx_opt.c:718 -#, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +#, fuzzy, no-c-format +msgid "JPEG compression (your application must be able to uncompress)" msgstr "JPEG compressie (je programma moet in staat zijn te decomprimeren)" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4620,13 +4669,13 @@ msgid "Skew adjustment" msgstr "Scheefheid correctie" #: backend/kvs40xx_opt.c:808 -#, no-c-format -msgid "Stop scanner when a paper have been skewed" +#, fuzzy, no-c-format +msgid "Stop scanner if a sheet is skewed" msgstr "Stop de scanner als het papier is scheefgetrokken" #: backend/kvs40xx_opt.c:809 -#, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +#, fuzzy, no-c-format +msgid "Scanner will stop if a sheet is skewed" msgstr "De scanner wordt gestopt als het papier is scheefgetrokken" #: backend/kvs40xx_opt.c:816 @@ -4635,15 +4684,15 @@ msgid "Crop actual image area" msgstr "Snij het effectieve beeldoppervlak uit" #: backend/kvs40xx_opt.c:817 -#, no-c-format -msgid "Scanner automatically detect image area and crop it" +#, fuzzy, no-c-format +msgid "Scanner will automatically detect image area and crop to it" msgstr "" "De scanner herkent automatisch het beeldoppervlak en snijdt die uit" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "Het is rechts en links omkering" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Spiegel het beeld" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4680,52 +4729,52 @@ msgstr "8x8 Bayer" msgid "8x8 Vertical Line" msgstr "8x8 Verticale Lijn" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Bereik" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Bereikinstellingen van de kleurkanalen" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Grijsbereik" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Stelt het bereik in van het grijze kanaal" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Roodbereik" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Stelt het bereik in van het rode kanaal" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Groenbereik" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Stelt het bereik in van het groene kanaal" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Blauwbereik" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Stelt het bereik in van het blauwe kanaal" @@ -4811,7 +4860,7 @@ msgstr "Eén pagina" msgid "All pages" msgstr "Alle pagina's" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "Doorvoerscanner" @@ -5326,27 +5375,32 @@ msgstr "" "Warm op totdat de helderheid van de lamp constant is in plaats van de " "'verplichte' 40 seconde opwarmtijd aan te houden." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Kalibratie nodig" + +#: backend/pixma/pixma.c:397 #, no-c-format msgid "Negative color" msgstr "Kleurennegatief" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, no-c-format msgid "Negative gray" msgstr "Grijsnegatief" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "48 bits kleur" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "16 bits grijs" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " @@ -5356,12 +5410,12 @@ msgstr "" "de modus en resolutie. Zet modus en resolutie terug naar automatische " "waarden." -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Knop-gestuurde scan" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5372,40 +5426,40 @@ msgstr "" "gaan, druk op de \"SCAN\" knop (voor MP150) of \"COLOR\" knop (voor " "andere modellen). Om te annuleren, druk op de \"GRAY\" knop." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Werk de status van de knop bij" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Knop 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Knop 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "Soort te scannen origineel" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "Soort bewerking van het resultaat" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "ADF wachttijd" -#: backend/pixma_sane_options.c:349 -#, no-c-format +#: backend/pixma/pixma_sane_options.c:349 +#, fuzzy, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" "Wanneer ingesteld, zoekt de scanner gedurende de wachttijd in seconden " @@ -5497,7 +5551,7 @@ msgstr "Analoge \"frontend\"" msgid "Red gain value of the AFE" msgstr "Roodbereik waarde van de AFE" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Rood compensatie" @@ -5775,7 +5829,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "Deze optie geeft de status weer van een scannerknop." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Lamp aan" @@ -5785,12 +5839,12 @@ msgstr "Lamp aan" msgid "Turn on scanner lamp" msgstr "Schakel scannerlamp aan" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Lamp uit" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Schakel de scannerlamp uit" @@ -5934,13 +5988,13 @@ msgid "Focus point" msgstr "Scherpstel positie" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" +#, fuzzy, no-c-format +msgid "Color lines per read" msgstr "Kleurlijnen per leesopdracht" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" msgstr "Grijstraplijnen per leesopdracht" #: backend/stv680.c:974 @@ -6598,52 +6652,69 @@ msgstr "Kalibreermodus" msgid "Define calibration mode" msgstr "Bepaal kalibreermodus" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Schakelt de lamp aan/uit" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "UTA aan" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Schakelt UTA aan/uit" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Compensatie" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Compensatieinstellingen van de kleurkanalen" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Grijscompensatie" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Stelt de compensatie in van het grijze kanaal" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Stelt de compensatie in van het rode kanaal" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Stelt de compensatie in van het groene kanaal" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Stelt de compensatie in van het blauwe kanaal" + +#~ msgid "Disable dynamic lineart" +#~ msgstr "Dynamische lijntekening uitschakelen" + +#~ msgid "" +#~ "Disable use of a software adaptive algorithm to generate lineart " +#~ "relying instead on hardware lineart." +#~ msgstr "" +#~ "Schakel, om een lijntekening te genereren het gebruik van een " +#~ "software aanpassend algoritme uit en vertrouw in plaats daarvan op de " +#~ "hardware." + +#~ msgid "linier" +#~ msgstr "lineair" + +#~ msgid "It is right and left reversing" +#~ msgstr "Het is rechts en links omkering" diff --git a/po/pl.po b/po/pl.po index 3bd5e8b..0862660 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.21\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2010-11-06 19:33+0100\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" @@ -26,31 +26,31 @@ msgid "Standard" msgstr "Standardowe" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Krawędzie obszaru skanowania" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Ulepszanie" @@ -84,7 +84,7 @@ msgid "Bit depth" msgstr "Głębokość bitowa" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Tryb skanowania" @@ -125,7 +125,7 @@ msgid "Bottom-right y" msgstr "Dolna" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Rozdzielczość skanowania" @@ -280,7 +280,7 @@ msgstr "Nazwa pliku" msgid "Halftone pattern size" msgstr "Rozmiar wzoru półcienia" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Wzór półcienia" @@ -290,10 +290,10 @@ msgstr "Wzór półcienia" msgid "Bind X and Y resolution" msgstr "Zrównaj rozdzielczość w osi X i Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negatyw" @@ -414,9 +414,9 @@ msgid "Lamp off at exit" msgstr "Wyłącz lampę przy wyjściu" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "Opcja tylko do odczytu, mówiąca ile opcji wspiera dane urządzenie." @@ -759,8 +759,8 @@ msgid "Analog gamma-correction for blue" msgstr "Analogowa korekcja gamma dla niebieskiego" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Rozgrzej lampę przed skanowaniem" #: include/sane/saneopts.h:417 @@ -909,8 +909,8 @@ msgid "Operation not supported" msgstr "Operacja nieobsługiwana" #: backend/sane_strstatus.c:65 -#, no-c-format -msgid "Operation was cancelled" +#, fuzzy, no-c-format +msgid "Operation was canceled" msgstr "Operacja anulowana" #: backend/sane_strstatus.c:68 @@ -1004,10 +1004,10 @@ msgid "Only perform shading-correction" msgstr "Przeprowadź tylko korektę cieniowania" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Jeżeli włączone, tylko korekcja cieniowania jest przeprowadzana w czasie " @@ -1035,85 +1035,45 @@ msgid "Duplex scan" msgstr "Skanowanie dwustronne" #: backend/avision.h:783 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" "Skanowanie dwustronne pozwala na skanowanie przedniej i tylnej strony " "dokumentu" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Kalibruj Skaner" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Wymuś kalibrację przed skanowaniem" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Skanowanie w odcieniach szarości" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Skanuj raczej w odcieniach szarości niż w kolorze" - -#: backend/canon630u.c:306 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Analog Gain" -msgstr "Wzmocnienie analogowe" +msgid "Correction according to transparency ratio" +msgstr "Korekcja zgodna ze współczynnikiem przezroczystości" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Zwiększ lub zmniejsz wzmocnienie analogowe matrycy CCD" +msgid "Correction according to film type" +msgstr "Korekcja zgodna z rodzajem filmu" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "Korekcja Gamma" +msgid "Fine color" +msgstr "Dobry kolor" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Wybiera poprawioną krzywą przejścia" +msgid "Negatives" +msgstr "Negatywy" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "Surowy" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Dobry kolor" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Brak korekcji dla klisz" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Korekcja zgodna z rodzajem filmu" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Korekcja zgodna ze współczynnikiem przezroczystości" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Negatywy" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1247,8 +1207,8 @@ msgid "invalid bit IDENTIFY message" msgstr "błędny komunikat bitowy IDENTIFY" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" +#, fuzzy, no-c-format +msgid "option not correct" msgstr "opcja nie podłączona" #: backend/canon.c:474 @@ -1538,133 +1498,184 @@ msgstr "Rodzaj filmu" msgid "Select the film type" msgstr "Wybór rodzaju filmu" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Kalibruj Skaner" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Wymuś kalibrację przed skanowaniem" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Skanowanie w odcieniach szarości" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Skanuj raczej w odcieniach szarości niż w kolorze" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Wzmocnienie analogowe" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Zwiększ lub zmniejsz wzmocnienie analogowe matrycy CCD" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Korekcja Gamma" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Wybiera poprawioną krzywą przejścia" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Płyta" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "ADF przód" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "ADF tył" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "ADF dwustronny" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Front" msgstr "Przód" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, fuzzy, no-c-format msgid "Card Back" msgstr "Tył" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Dwustronny" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Czerwony" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Zielony" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Niebieski" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Red" msgstr "Rozszerzenie czerwieni" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, no-c-format msgid "Enhance Green" msgstr "Rozszerzenie zieleni" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, no-c-format msgid "Enhance Blue" msgstr "Rozszerzenie błękitu" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Brak" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Jednostronny" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Dwustronny" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Moduł do skanowania przezroczy" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatyczny podajnik dokumentów" @@ -1776,7 +1787,7 @@ msgstr "Drukarki atramentowe" msgid "CRT monitors" msgstr "Monitory CRT" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1840,8 +1851,9 @@ msgstr "A4" msgid "Max" msgstr "Maksimum" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -2014,17 +2026,17 @@ msgstr "Definiuje współczynnik powiększenia dla skanera" msgid "Quick format" msgstr "Szybkie formatowanie" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Wyposażenie opcjonalne" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Wysuń" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Wysuń arkusz z ADF" @@ -2039,12 +2051,14 @@ msgstr "Wysuwanie automatyczne" msgid "Eject document after scanning" msgstr "Wysuń dokument po zeskanowaniu" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Tryb ADF" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Wybiera tryb ADF (jedno/dwustronny)" @@ -2093,16 +2107,16 @@ msgstr "" "Po wysłaniu komendy skanowania, czekaj aż przycisk na skanerze jest " "naciśnięty, aby naprawdę rozpocząć skanowanie" -#: backend/epson2.c:102 backend/pixma.c:409 -#, no-c-format -msgid "Infrared" -msgstr "Podczerwień" - -#: backend/epson2.c:117 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "" +#: backend/epson2.c:102 backend/pixma/pixma.c:409 +#, no-c-format +msgid "Infrared" +msgstr "Podczerwień" + #: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" @@ -2123,492 +2137,512 @@ msgstr "Wbudowany profil CCT" msgid "User defined CCT profile" msgstr "Profil CCT zdefiniowany przez użytkownika" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Wysuń arkusz z ADF" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Brak korekcji" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Wyłącz korekcję gamma" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Włączony" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Wyłącz" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Ditheruj" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, no-c-format msgid "Diffusion" msgstr "Dyfuzja" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, no-c-format msgid "White" msgstr "Biel" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, no-c-format msgid "Black" msgstr "Czerń" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "Kontynuacja" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "Stop" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "10mm" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "15mm" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "20mm" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Poziomy" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, no-c-format msgid "Horizontal bold" msgstr "Poziomy pogrubiony" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, no-c-format msgid "Horizontal narrow" msgstr "Poziomy cienki" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Pionowy" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, no-c-format msgid "Vertical bold" msgstr "Pionowy pogrubiony" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "Od góry do dołu" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "Od dołu do góry" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, no-c-format msgid "Front" msgstr "Przód" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "Tył" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Półtony" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Wykonuje kalibrację" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Emfaza obrazka" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Nasycenie" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "Włącz automatyczne rozpoznawanie progu dla skanów w trybie kreski." -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Odbicie lustrzane obrazka" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Poziome, lustrzane odbicie obrazka." -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Poziom bieli dla niebieskiego" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Nadzoruje poziom czerwieni" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Filtr kolorów" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Wygładzanie" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Wartość gamma" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Krzywa progowa" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, fuzzy, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "Dynamiczna krzywa progowa, od ciemnego do jasnego, zwykle 50-65" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Próg" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Redukcja szumów" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Brak korekcji" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Brak korekcji" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "pokrywa ADF otwarta" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Opcje zaawansowane" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Brak korekcji" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Dropout" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "tryb podajnika" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2616,65 +2650,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "Czas wyłączania lampy" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Offset błękitu" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Offset zieleni" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Offset zieleni" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Offset błękitu" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Ustawienie offsetu kanału błękitu" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, fuzzy, no-c-format msgid "Low Memory" msgstr "Brak pamięci" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2683,376 +2717,362 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Skanowanie dwustronne" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Opcje zaawansowane" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Redukcja szumów" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Od papieru" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Od papieru" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Od papieru" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Od papieru" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "Pokrywa skanera jest otwarta" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Ręczne wstępne ustawianie ostrości" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Ręczne wstępne ustawianie ostrości" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "błąd kontroli sprzętu" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Poziom bieli" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "Kontrola gęstości" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, fuzzy, no-c-format msgid "Density dial" msgstr "Kontrola gęstości" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Skanowanie dwustronne" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Dodatki" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "Dynamiczna krzywa progowa, od ciemnego do jasnego, zwykle 50-65" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "Wyłączenie dynamicznego trybu kreski" - -#: backend/genesys.cc:5517 -#, fuzzy, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" -"Wyłączenie użycia algorytmu adaptacyjnego do generowania linii zamiast " -"polegania na trybie sprzętowym" - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "Wyłącz interpolację" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3062,44 +3082,44 @@ msgstr "" "mniejsza niż rozdzielczość pionowa, ta opcja wyłącza interpolację " "poziomą." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Filtr kolorów" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "W trybie szarości lub kreski ta opcja wybiera używany kolor." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibracja" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Zdefiniuj tryb kalibracji" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Pamięć podręczna danych kalibracji" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Czas wyłączania lampy" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3108,89 +3128,108 @@ msgstr "" "Lampa zostanie wyłączona po podanym czasie (w minutach). Wartość 0 " "oznacza, że lampa nie będzie wyłączana." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Wyłącz lampę podczas kalibracji ciemności" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, fuzzy, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Liczba minut do wyłączenia lampy po skanowaniu" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "Przycisk pliku" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "Przycisk OCR" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "Przycisk zasilania" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "Przycisk E-maila" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 -#, no-c-format -msgid "Need calibration" +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 +#, fuzzy, no-c-format +msgid "Needs calibration" msgstr "Wymaga kalibracji" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Skaner wymaga kalibracji dla obecnych ustawień" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Przyciski" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibracja" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, no-c-format msgid "Start calibration using special sheet" msgstr "Rozpocznij kalibrację przy użyciu specjalnej kartki" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, no-c-format msgid "Clear calibration" msgstr "Wyczyść kalibrację" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, no-c-format msgid "Clear calibration cache" msgstr "Wyczyść pamięć podręczną kalibracji" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Kalibracja ziarnistości" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Offset zieleni" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Moduł do skanowania negatywów" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Moduł do skanowania negatywów" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3299,632 +3338,632 @@ msgstr "Wartość gamma" msgid "Sets the gamma value of all channels." msgstr "Ustawia wartość gamma dla wszystkich kanałów" -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "Grupa geometrii" +msgid "Advanced Options" +msgstr "Opcje zaawansowane" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "Grupa trybu skanowania" +msgid "Coarse" +msgstr "Ziarnistość" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "Slajd" +msgid "Fine" +msgstr "Dokładny" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Scanner model" -msgstr "Model skanera" - -#: backend/hp3900_sane.c:1408 -#, fuzzy, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" -"Umożliwia sprawdzenie zachowania urządzenia z innymi obsługiwanymi " -"modelami" +msgid "Bayer" +msgstr "Bayera" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Image colours will be inverted" -msgstr "Kolory obrazu będą odwrócone" +msgid "Custom" +msgstr "Użytkownika" -#: backend/hp3900_sane.c:1436 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Disable gamma correction" -msgstr "Wyłącz korekcję gamma" +msgid "Auto" +msgstr "Automatyczny" -#: backend/hp3900_sane.c:1437 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Korekcja gamma będzie wyłączona" +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Disable white shading correction" -msgstr "Wyłącz korekcję cieniowania bieli" +msgid "XPA RGB" +msgstr "XPA RGB" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3093 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "Korekcja cieniowania bieli będzie wyłączona" +msgid "Pass-through" +msgstr "Środkowoprzepustowy" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3094 #, no-c-format -msgid "Skip warmup process" -msgstr "Pomiń proces rozgrzewania" +msgid "NTSC Gray" +msgstr "Skala szarości NTSC" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "Proces rozgrzewania będzie pominięty" +msgid "XPA Gray" +msgstr "Skala szarości XPA" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Force real depth" -msgstr "Wymuś prawdziwą głębię" +msgid "Slow" +msgstr "Powolny" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"Jeśli korekcja gamma jest wyłączona, wszystkie skanowania będą wykonane " -"z 16-bitową głębią w celu poprawy jakości obrazu, a następnie " -"konwertowane do wybranej głębi. Ta opcja zapobiega emulacji głębi." +msgid "Normal" +msgstr "Zwykły" -#: backend/hp3900_sane.c:1499 +#: backend/hp-option.c:3149 #, no-c-format -msgid "Emulate Grayscale" -msgstr "Emulacja skali szarości" +msgid "Fast" +msgstr "Szybki" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3150 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"Jeśli jest włączona, obraz będzie skanowany w trybie kolorowym, a " -"następnie konwertowany programowo do skali szarości. Może to poprawić " -"jakość obrazu w pewnych przypadkach." +msgid "Extra Fast" +msgstr "Bardzo szybki" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3163 #, no-c-format -msgid "Save debugging images" -msgstr "Zapisuj obrazy diagnostyczne" +msgid "2-pixel" +msgstr "2-pikselowy" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3164 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"Jeśli jest włączona, obrazy uczestniczące w dostrajaniu skanera są " -"zapisywane w celu analizy." +msgid "4-pixel" +msgstr "4-pikselowy" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3165 #, no-c-format -msgid "Reset chipset" -msgstr "Reset układów" +msgid "8-pixel" +msgstr "8-pikselowy" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Resets chipset data" -msgstr "Zresetowanie danych układów" +msgid "Print" +msgstr "Drukuj" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Information" -msgstr "Informacje" +msgid "Slide" +msgstr "Slajd" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Chipset name" -msgstr "Nazwa układów" +msgid "Film-strip" +msgstr "Pasek filmu" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "Pokazuje nazwy układów (chipsetu) użytych w urządzeniu." +msgid "ADF" +msgstr "ADF" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Unknown" -msgstr "Nieznany" +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Chipset ID" -msgstr "ID chipsetu" +msgid "Conditional" +msgstr "Warunkowy" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Shows the chipset ID" -msgstr "Pokazuje ID chipsetu" +msgid "Experiment" +msgstr "Eksperyment" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.h:60 #, no-c-format -msgid "Scan counter" -msgstr "Licznik skanowań" +msgid "Sharpening" +msgstr "Wyostrzanie" -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:61 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Pokazuje liczbę wykonanych skanowań" +msgid "Set sharpening value." +msgstr "Ustaw wartość wyostrzania." -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.h:66 #, no-c-format -msgid "Update information" -msgstr "Aktualizuj informacje" +msgid "Auto Threshold" +msgstr "Automatyczne progowanie" -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:68 #, no-c-format -msgid "Updates information about device" -msgstr "Uaktualnia informacje o urządzeniu" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "Włącz automatyczne rozpoznawanie progu dla skanów w trybie kreski." -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:74 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Opcja ta odzwierciedla stan przycisku przedniego panelu skanera" +msgid "Select smoothing filter." +msgstr "Wybierz filtr wygładzający." -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:79 #, no-c-format -msgid "Image" -msgstr "Obraz" +msgid "Unload media after scan" +msgstr "Wysuń nośnik po skanowaniu" -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:80 #, no-c-format -msgid "Miscellaneous" -msgstr "Różne" +msgid "Unloads the media after a scan." +msgstr "Wysuwa nośnik po skanowaniu." -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:85 #, no-c-format -msgid "offset X" -msgstr "przesunięcie X" +msgid "Change document" +msgstr "Zmień dokument" -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:86 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Wewnętrzne sprzętowe położenie poziome (X) obszaru skanowania." +msgid "Change Document." +msgstr "Zmień Dokument." -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:91 #, no-c-format -msgid "offset Y" -msgstr "przesunięcie Y" +msgid "Unload" +msgstr "Wysuń" -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:92 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Wewnętrzne sprzętowe położenie pionowe (Y) obszaru skanowania." +msgid "Unload Document." +msgstr "Wysuń Dokument." -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:98 #, no-c-format -msgid "Lamp status" -msgstr "Status lampy" +msgid "Start calibration process." +msgstr "Rozpocznij proces kalibracji." -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:103 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Włącza lub wyłącza lampę." +msgid "Media" +msgstr "Nośnik" -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:104 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Kalibruje poziom dla czerni i bieli." +msgid "Set type of media." +msgstr "Ustaw rodzaj nośnika." -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:109 #, no-c-format -msgid "ADF" -msgstr "ADF" +msgid "Exposure time" +msgstr "Czas ekspozycji" -#: backend/hp5590.c:95 +#: backend/hp-option.h:111 #, no-c-format -msgid "TMA Slides" -msgstr "TMA - slajdy" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"Dłuższy czas ekspozycji pozwala głowicy odebrać więcej światła. " +"Sugerowane jest 175% dla wydruków, 150% dla zwykłych slajdów i \"Negatyw" +"\" dla filmu negatywowego. Dla ciemnych (nie doświetlonych) obrazków " +"możesz zwiększyć tę wartość." -#: backend/hp5590.c:96 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "TMA Negatives" -msgstr "TMA - negatywy" +msgid "Color Matrix" +msgstr "Matryca kolorów" -#: backend/hp5590.c:108 -#, no-c-format -msgid "Color (48 bits)" -msgstr "Kolor (48 bitów)" +#: backend/hp-option.h:121 +#, fuzzy, no-c-format +msgid "Set the scanner's color matrix." +msgstr "Ustaw matrycę kolorów skanera." -#: backend/hp5590.c:112 +#: backend/hp-option.h:127 #, no-c-format -msgid "Extend lamp timeout" -msgstr "Powiększ czas wyłączenia lampy" +msgid "Custom color matrix." +msgstr "Matryca kolorów użytkownika" -#: backend/hp5590.c:113 +#: backend/hp-option.h:132 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "Powiększa czas wyłączenia lampy (z 15 minut do 1 godziny)" +msgid "Mono Color Matrix" +msgstr "Monochromatyczna matryca kolorów" -#: backend/hp5590.c:115 +#: backend/hp-option.h:133 #, no-c-format -msgid "Wait for button" -msgstr "Czekaj na przycisk" +msgid "Custom color matrix for grayscale scans." +msgstr "Matryca kolorów użytkownika dla skanów w skali szarości." -#: backend/hp5590.c:116 +#: backend/hp-option.h:138 #, no-c-format -msgid "Waits for button before scanning" -msgstr "Oczekiwanie na naciśnięcie przycisku przed skanowaniem" - -#: backend/hp5590.c:118 -#, fuzzy, no-c-format -msgid "Last button pressed" -msgstr "Uaktualnij stan przycisku" +msgid "Mirror horizontal" +msgstr "Odbicie poziome" -#: backend/hp5590.c:119 +#: backend/hp-option.h:139 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "" - -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Licznik skanowań" +msgid "Mirror image horizontally." +msgstr "Poziome, lustrzane odbicie obrazka." -#: backend/hp5590.c:122 +#: backend/hp-option.h:144 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "" - -#: backend/hp5590.c:124 -#, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Kolorowy tryb kreski" +msgid "Mirror vertical" +msgstr "Odbij pionowo." -#: backend/hp5590.c:125 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "" +msgid "Mirror image vertically." +msgstr "Pionowe, lustrzane odbicie obrazka." -#: backend/hp5590.c:127 +#: backend/hp-option.h:150 #, no-c-format -msgid "Document available in ADF" -msgstr "" +msgid "Update options" +msgstr "Aktualizuj opcje" -#: backend/hp5590.c:128 +#: backend/hp-option.h:151 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +msgid "Update options." +msgstr "Aktualizuj opcje." -#: backend/hp5590.c:130 +#: backend/hp-option.h:156 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "" +msgid "8 bit output" +msgstr "8-bitowe wyjście" -#: backend/hp5590.c:131 +#: backend/hp-option.h:158 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" +"Użyj wewnętrznie głębi większej niż osiem bitów, lecz na wyjściu daj " +"równe osiem." -#: backend/hp5590.c:133 +#: backend/hp-option.h:164 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" +msgid "Front button wait" +msgstr "Oczekiwanie na przycisk panelu" -#: backend/hp5590.c:134 +#: backend/hp-option.h:165 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" +msgid "Wait to scan for front-panel button push." +msgstr "Czekaj ze skanowaniem na naciśnięcie przycisku na przednim panelu." -#: backend/hp5590.c:137 +#: backend/hp-option.h:172 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "" +msgid "Shut off lamp" +msgstr "Wyłącz lampę" -#: backend/hp5590.c:138 +#: backend/hp-option.h:173 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" -msgstr "" +msgid "Shut off scanner lamp." +msgstr "Wyłącz lampę skanera." -#: backend/hp-option.c:2987 +#: backend/hp3500.c:1020 #, no-c-format -msgid "Advanced Options" -msgstr "Opcje zaawansowane" +msgid "Geometry Group" +msgstr "Grupa geometrii" -#: backend/hp-option.c:3044 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "Coarse" -msgstr "Ziarnistość" +msgid "Scan Mode Group" +msgstr "Grupa trybu skanowania" -#: backend/hp-option.c:3045 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "Fine" -msgstr "Dokładny" +msgid "Scanner model" +msgstr "Model skanera" -#: backend/hp-option.c:3046 -#, no-c-format -msgid "Bayer" -msgstr "Bayera" +#: backend/hp3900_sane.c:1408 +#, fuzzy, no-c-format +msgid "Allows one to test device behavior with other supported models" +msgstr "" +"Umożliwia sprawdzenie zachowania urządzenia z innymi obsługiwanymi " +"modelami" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1422 +#, fuzzy, no-c-format +msgid "Image colors will be inverted" +msgstr "Kolory obrazu będą odwrócone" + +#: backend/hp3900_sane.c:1436 #, no-c-format -msgid "Custom" -msgstr "Użytkownika" +msgid "Disable gamma correction" +msgstr "Wyłącz korekcję gamma" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1437 #, no-c-format -msgid "Auto" -msgstr "Automatyczny" +msgid "Gamma correction will be disabled" +msgstr "Korekcja gamma będzie wyłączona" -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" +msgid "Disable white shading correction" +msgstr "Wyłącz korekcję cieniowania bieli" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" +msgid "White shading correction will be disabled" +msgstr "Korekcja cieniowania bieli będzie wyłączona" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Pass-through" -msgstr "Środkowoprzepustowy" +msgid "Skip warmup process" +msgstr "Pomiń proces rozgrzewania" -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "NTSC Gray" -msgstr "Skala szarości NTSC" +msgid "Warmup process will be disabled" +msgstr "Proces rozgrzewania będzie pominięty" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "XPA Gray" -msgstr "Skala szarości XPA" +msgid "Force real depth" +msgstr "Wymuś prawdziwą głębię" -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Slow" -msgstr "Powolny" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"Jeśli korekcja gamma jest wyłączona, wszystkie skanowania będą wykonane " +"z 16-bitową głębią w celu poprawy jakości obrazu, a następnie " +"konwertowane do wybranej głębi. Ta opcja zapobiega emulacji głębi." -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1499 #, no-c-format -msgid "Normal" -msgstr "Zwykły" +msgid "Emulate Grayscale" +msgstr "Emulacja skali szarości" -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "Fast" -msgstr "Szybki" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"Jeśli jest włączona, obraz będzie skanowany w trybie kolorowym, a " +"następnie konwertowany programowo do skali szarości. Może to poprawić " +"jakość obrazu w pewnych przypadkach." -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Extra Fast" -msgstr "Bardzo szybki" +msgid "Save debugging images" +msgstr "Zapisuj obrazy diagnostyczne" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "2-pixel" -msgstr "2-pikselowy" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"Jeśli jest włączona, obrazy uczestniczące w dostrajaniu skanera są " +"zapisywane w celu analizy." -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "4-pixel" -msgstr "4-pikselowy" +msgid "Reset chipset" +msgstr "Reset układów" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "8-pixel" -msgstr "8-pikselowy" +msgid "Resets chipset data" +msgstr "Zresetowanie danych układów" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "Print" -msgstr "Drukuj" +msgid "Information" +msgstr "Informacje" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "Film-strip" -msgstr "Pasek filmu" +msgid "Chipset name" +msgstr "Nazwa układów" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "XPA" -msgstr "XPA" +msgid "Shows chipset name used in device." +msgstr "Pokazuje nazwy układów (chipsetu) użytych w urządzeniu." -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Conditional" -msgstr "Warunkowy" +msgid "Unknown" +msgstr "Nieznany" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Experiment" -msgstr "Eksperyment" +msgid "Chipset ID" +msgstr "ID chipsetu" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "Sharpening" -msgstr "Wyostrzanie" +msgid "Shows the chipset ID" +msgstr "Pokazuje ID chipsetu" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1582 #, no-c-format -msgid "Set sharpening value." -msgstr "Ustaw wartość wyostrzania." +msgid "Scan counter" +msgstr "Licznik skanowań" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Auto Threshold" -msgstr "Automatyczne progowanie" +msgid "Shows the number of scans made by scanner" +msgstr "Pokazuje liczbę wykonanych skanowań" -#: backend/hp-option.h:68 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "Włącz automatyczne rozpoznawanie progu dla skanów w trybie kreski." +msgid "Update information" +msgstr "Aktualizuj informacje" -#: backend/hp-option.h:74 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Select smoothing filter." -msgstr "Wybierz filtr wygładzający." +msgid "Updates information about device" +msgstr "Uaktualnia informacje o urządzeniu" -#: backend/hp-option.h:79 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Unload media after scan" -msgstr "Wysuń nośnik po skanowaniu" +msgid "This option reflects a front panel scanner button" +msgstr "Opcja ta odzwierciedla stan przycisku przedniego panelu skanera" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Wysuwa nośnik po skanowaniu." +msgid "Image" +msgstr "Obraz" -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Change document" -msgstr "Zmień dokument" +msgid "Miscellaneous" +msgstr "Różne" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Change Document." -msgstr "Zmień Dokument." +msgid "offset X" +msgstr "przesunięcie X" -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unload" -msgstr "Wysuń" +msgid "Hardware internal X position of the scanning area." +msgstr "Wewnętrzne sprzętowe położenie poziome (X) obszaru skanowania." -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Unload Document." -msgstr "Wysuń Dokument." +msgid "offset Y" +msgstr "przesunięcie Y" -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Start calibration process." -msgstr "Rozpocznij proces kalibracji." +msgid "Hardware internal Y position of the scanning area." +msgstr "Wewnętrzne sprzętowe położenie pionowe (Y) obszaru skanowania." -#: backend/hp-option.h:103 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Media" -msgstr "Nośnik" +msgid "Lamp status" +msgstr "Status lampy" -#: backend/hp-option.h:104 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Set type of media." -msgstr "Ustaw rodzaj nośnika." +msgid "Switches the lamp on or off." +msgstr "Włącza lub wyłącza lampę." -#: backend/hp-option.h:109 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Exposure time" -msgstr "Czas ekspozycji" +msgid "Calibrates for black and white level." +msgstr "Kalibruje poziom dla czerni i bieli." -#: backend/hp-option.h:111 +#: backend/hp5590.c:95 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"Dłuższy czas ekspozycji pozwala głowicy odebrać więcej światła. " -"Sugerowane jest 175% dla wydruków, 150% dla zwykłych slajdów i \"Negatyw" -"\" dla filmu negatywowego. Dla ciemnych (nie doświetlonych) obrazków " -"możesz zwiększyć tę wartość." +msgid "TMA Slides" +msgstr "TMA - slajdy" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:96 #, no-c-format -msgid "Color Matrix" -msgstr "Matryca kolorów" +msgid "TMA Negatives" +msgstr "TMA - negatywy" -#: backend/hp-option.h:121 +#: backend/hp5590.c:108 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "Ustaw matrycę kolorów skanera." +msgid "Color (48 bits)" +msgstr "Kolor (48 bitów)" -#: backend/hp-option.h:127 +#: backend/hp5590.c:112 #, no-c-format -msgid "Custom color matrix." -msgstr "Matryca kolorów użytkownika" +msgid "Extend lamp timeout" +msgstr "Powiększ czas wyłączenia lampy" -#: backend/hp-option.h:132 +#: backend/hp5590.c:113 #, no-c-format -msgid "Mono Color Matrix" -msgstr "Monochromatyczna matryca kolorów" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Powiększa czas wyłączenia lampy (z 15 minut do 1 godziny)" -#: backend/hp-option.h:133 +#: backend/hp5590.c:115 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Matryca kolorów użytkownika dla skanów w skali szarości." +msgid "Wait for button" +msgstr "Czekaj na przycisk" -#: backend/hp-option.h:138 +#: backend/hp5590.c:116 #, no-c-format -msgid "Mirror horizontal" -msgstr "Odbicie poziome" +msgid "Waits for button before scanning" +msgstr "Oczekiwanie na naciśnięcie przycisku przed skanowaniem" -#: backend/hp-option.h:139 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Uaktualnij stan przycisku" + +#: backend/hp5590.c:119 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Poziome, lustrzane odbicie obrazka." +msgid "Get ID of last button pressed (read only)" +msgstr "" -#: backend/hp-option.h:144 +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Licznik skanowań" + +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror vertical" -msgstr "Odbij pionowo." +msgid "Get value of LCD counter (read only)" +msgstr "" -#: backend/hp-option.h:145 +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Kolorowy tryb kreski" + +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Pionowe, lustrzane odbicie obrazka." +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Aktualizuj opcje" +msgid "Document available in ADF" +msgstr "" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Aktualizuj opcje." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "8-bitowe wyjście" +msgid "Hide end-of-page pixel" +msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -"Użyj wewnętrznie głębi większej niż osiem bitów, lecz na wyjściu daj " -"równe osiem." -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Oczekiwanie na przycisk panelu" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Czekaj ze skanowaniem na naciśnięcie przycisku na przednim panelu." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Wyłącz lampę" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Wyłącz lampę skanera." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4024,7 +4063,7 @@ msgid "single" msgstr "" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" @@ -4192,9 +4231,9 @@ msgid "crt" msgstr "" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Tryb kreski" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4323,7 +4362,7 @@ msgstr "Ustawia emfazę obrazka" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" @@ -4390,11 +4429,11 @@ msgstr "" msgid "Request driver to remove border from pages digitally" msgstr "" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4426,12 +4465,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "Druk wysokiej gęstości" #: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "Druk niskiej gęstości" #: backend/kvs40xx_opt.c:243 @@ -4454,6 +4493,13 @@ msgstr "Zwykły" msgid "Enhanced mode" msgstr "Ulepszanie" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4513,7 +4559,7 @@ msgstr "" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4548,12 +4594,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4563,13 +4609,13 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Odbicie lustrzane obrazka" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4606,52 +4652,52 @@ msgstr "Pogrubianie Bayera 8x8" msgid "8x8 Vertical Line" msgstr "Linie pionowe 8x8" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Wzmocnienie" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Ustawienia wzmocnienia kanałów kolorów" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Wzmocnienie szarości" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Ustawia wzmocnienie kanału szarości" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Wzmocnienie czerwieni" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Ustawia wzmocnienie kanału czerwieni" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Wzmocnienie zieleni" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Ustawia wzmocnienie kanału zieleni" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Wzmocnienie błękitu" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Ustawia wzmocnienie kanału błękitu" @@ -4737,7 +4783,7 @@ msgstr "Jedna strona" msgid "All pages" msgstr "Wszystkie strony" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "skaner arkuszy" @@ -5250,39 +5296,44 @@ msgstr "" "Rozgrzewaj dopóki jasność lampy będzie stała, zamiast przyjmować stały " "czas 40 sekund." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Wymaga kalibracji" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Negatyw" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negatyw" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, fuzzy, no-c-format msgid "48 bits color" msgstr "Dobry kolor" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Skanowanie sterowane przyciskiem" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5294,40 +5345,40 @@ msgstr "" "\"COLOR\" (dla innych modeli). Aby anulować, należy nacisnąć przycisk " "\"GRAY\"." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Uaktualnij stan przycisku" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Przycisk 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Przycisk 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5416,7 +5467,7 @@ msgstr "Frontend analogowy" msgid "Red gain value of the AFE" msgstr "Wartość AFE wzmocnienia czerwieni" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Offset czerwieni" @@ -5692,7 +5743,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "Opcja ta odzwierciedla stan przycisku skanera." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Włącz lampę" @@ -5702,12 +5753,12 @@ msgstr "Włącz lampę" msgid "Turn on scanner lamp" msgstr "Włącza lampę skanera" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Wyłącz lampę" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Wyłącza lampę skanera" @@ -5851,13 +5902,13 @@ msgid "Focus point" msgstr "Pozycja skupienia (ostrości)" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" +#, fuzzy, no-c-format +msgid "Color lines per read" msgstr "Liczba kolorów na odczyt" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" msgstr "Liczba linii w skali szarości na odczyt" #: backend/stv680.c:974 @@ -6512,56 +6563,67 @@ msgstr "Tryb kalibracji" msgid "Define calibration mode" msgstr "Zdefiniuj tryb kalibracji" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Ustawia lapę jako włączoną lub wyłączoną" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "Włącz UTA" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Ustawia UTA jako włączone lub wyłączone" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Offset" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Ustawienia offsetu kanałów koloru" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Przesunięcie (offset) skali szarości" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Ustawienie offsetu kanału szarości" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Ustawienie offsetu kanału czerwieni" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Ustawienie offsetu kanału zieleni" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Ustawienie offsetu kanału błękitu" +#~ msgid "Disable dynamic lineart" +#~ msgstr "Wyłączenie dynamicznego trybu kreski" + +#, fuzzy +#~ msgid "" +#~ "Disable use of a software adaptive algorithm to generate lineart " +#~ "relying instead on hardware lineart." +#~ msgstr "" +#~ "Wyłączenie użycia algorytmu adaptacyjnego do generowania linii " +#~ "zamiast polegania na trybie sprzętowym" + #, fuzzy #~ msgid "IPC mode" #~ msgstr "Tryb podglądu" diff --git a/po/pt.po b/po/pt.po index f521b2a..525756e 100644 --- a/po/pt.po +++ b/po/pt.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.10\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2007-05-08 13:31+0200\n" "Last-Translator: Pedro Morais \n" "Language-Team: pt \n" @@ -25,31 +25,31 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Geometria" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Melhorias" @@ -83,7 +83,7 @@ msgid "Bit depth" msgstr "" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Modo de digitalização" @@ -124,7 +124,7 @@ msgid "Bottom-right y" msgstr "Inferior-direita y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Resolução digitalização" @@ -279,7 +279,7 @@ msgstr "Nome do ficheiro" msgid "Halftone pattern size" msgstr "Tamanho padrão ponto - simulação cinza" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Simulação cinza padrão" @@ -289,10 +289,10 @@ msgstr "Simulação cinza padrão" msgid "Bind X and Y resolution" msgstr "Vincular resoluções X e Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativo" @@ -415,7 +415,7 @@ msgstr "Desligar lâmpada na saída" #: include/sane/saneopts.h:245 #, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" @@ -723,8 +723,8 @@ msgid "Analog gamma-correction for blue" msgstr "Correção analógica gama para Azul" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Aquecer lâmpada antes de digitalizar" #: include/sane/saneopts.h:417 @@ -874,7 +874,7 @@ msgstr "" #: backend/sane_strstatus.c:65 #, no-c-format -msgid "Operation was cancelled" +msgid "Operation was canceled" msgstr "" #: backend/sane_strstatus.c:68 @@ -968,7 +968,7 @@ msgstr "" #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" @@ -995,81 +995,41 @@ msgstr "Digitalização completa" #: backend/avision.h:783 #, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" -#: backend/canon630u.c:159 -#, fuzzy, no-c-format -msgid "Calibrate Scanner" -msgstr "Calibração" - -#: backend/canon630u.c:160 -#, fuzzy, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Calibração rudimentar apenas na primeira digitalização" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Grayscale scan" +msgid "Correction according to transparency ratio" msgstr "" -#: backend/canon630u.c:260 backend/umax1220u.c:209 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Do a grayscale rather than color scan" +msgid "Correction according to film type" msgstr "" -#: backend/canon630u.c:306 -#, no-c-format -msgid "Analog Gain" -msgstr "Ganho analógico" - -#: backend/canon630u.c:307 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" +msgid "Fine color" msgstr "" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 -#, no-c-format -msgid "Gamma Correction" -msgstr "Correcção do gamma" - -#: backend/canon630u.c:348 -#, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "" +#: backend/canon-sane.c:776 backend/canon.c:176 +#, fuzzy, no-c-format +msgid "Negatives" +msgstr "Negativo" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "" - #: backend/canon.c:169 #, fuzzy, no-c-format msgid "No transparency correction" msgstr "Correcção do gamma" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, fuzzy, no-c-format -msgid "Negatives" -msgstr "Negativo" - #: backend/canon.c:176 #, fuzzy, no-c-format msgid "Slides" @@ -1204,7 +1164,7 @@ msgstr "" #: backend/canon.c:460 #, no-c-format -msgid "option not connect" +msgid "option not correct" msgstr "" #: backend/canon.c:474 @@ -1492,135 +1452,186 @@ msgstr "" msgid "Select the film type" msgstr "" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, fuzzy, no-c-format +msgid "Calibrate Scanner" +msgstr "Calibração" + +#: backend/canon630u.c:160 +#, fuzzy, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Calibração rudimentar apenas na primeira digitalização" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Ganho analógico" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Correcção do gamma" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flachbett" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Front" msgstr "" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, no-c-format msgid "Card Duplex" msgstr "" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Vermelho" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Verde" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Azul" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Melhorias" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Melhorias" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Melhorias" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "Desconsiderar porcentagem branco" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, fuzzy, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" "Solicita ao driver para eliminar páginas com baixo número de pixels " "escuros" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Unidade de Transparências" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "" @@ -1732,7 +1743,7 @@ msgstr "Impressoras de jacto de tinta" msgid "CRT monitors" msgstr "Monitores CRT" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1796,8 +1807,9 @@ msgstr "A4" msgid "Max" msgstr "Máximo" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -1969,17 +1981,17 @@ msgstr "" msgid "Quick format" msgstr "" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "" @@ -1994,12 +2006,14 @@ msgstr "" msgid "Eject document after scanning" msgstr "" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" @@ -2044,14 +2058,14 @@ msgid "" "pressed to actually start the scan process." msgstr "" -#: backend/epson2.c:102 backend/pixma.c:409 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format -msgid "Infrared" +msgid "TPU8x10" msgstr "" -#: backend/epson2.c:117 +#: backend/epson2.c:102 backend/pixma/pixma.c:409 #, no-c-format -msgid "TPU8x10" +msgid "Infrared" msgstr "" #: backend/epson2.c:136 @@ -2074,492 +2088,512 @@ msgstr "" msgid "User defined CCT profile" msgstr "Definido pelo utilizador" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, no-c-format +msgid "Load a sheet in the ADF" +msgstr "" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Sem Correcção" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Correcção do gamma" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, no-c-format msgid "Diffusion" msgstr "" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, fuzzy, no-c-format msgid "White" msgstr "Nível de branco" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Black" msgstr "Nível de preto" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, no-c-format msgid "Horizontal bold" msgstr "" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, no-c-format msgid "Horizontal narrow" msgstr "" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, no-c-format msgid "Vertical bold" msgstr "" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, no-c-format msgid "Front" msgstr "" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, fuzzy, no-c-format msgid "Reverse image format" msgstr "Inverte imagem" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Simulação cinza padrão" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Calibração rudimentar" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, no-c-format msgid "Emphasis" msgstr "" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Saturação" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "" -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, no-c-format msgid "Mirroring" msgstr "" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, no-c-format msgid "Reflect output image horizontally" msgstr "" -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Nível de branco para azul" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Contraste do canal azul" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Linhas em cor" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Valor de 'gamma'" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Limiar de aquecimento" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Valor do pixel-Threshold" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, no-c-format msgid "Noise removal" msgstr "" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Sem Correcção" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Sem Correcção" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, fuzzy, no-c-format msgid "Compression" msgstr "Compressão JPEG" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, fuzzy, no-c-format msgid "Enable double feed error due to skew" msgstr "Liga / Desliga Modo de detecção de alimentação" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, fuzzy, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "Liga / Desliga Modo de detecção de alimentação" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, fuzzy, no-c-format msgid "Enable double feed error due to paper length" msgstr "Liga / Desliga Modo de detecção de alimentação" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, no-c-format msgid "DF recovery mode" msgstr "" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, fuzzy, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Imprimir opções" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Sem Correcção" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Cor da lâmpada" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, no-c-format msgid "Buffer mode" msgstr "" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2567,65 +2601,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "Lâmpada acesa" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Deslocamento do azul" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Deslocamento do verde" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Deslocamento do verde" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Deslocamento do azul" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Deslocamento do canal azul" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2634,510 +2668,517 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Digitalização completa" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, fuzzy, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "Solicita ao driver para rotacionar digitalmente páginas inclinadas" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "Alinhamento - Deskew" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, fuzzy, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "Solicita ao driver para rotacionar digitalmente páginas inclinadas" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "Diâmetro despeckle" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, fuzzy, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" "Diâmetro máximo de pontos isolados a serem removidos da digitalização" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, fuzzy, no-c-format msgid "Software crop" msgstr "Crop automático" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, fuzzy, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Imprimir opções" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Calibração rudimentar" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, no-c-format msgid "A3 paper" msgstr "" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, no-c-format msgid "B4 paper" msgstr "" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, no-c-format msgid "A4 paper" msgstr "" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, no-c-format msgid "B5 paper" msgstr "" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, fuzzy, no-c-format msgid "OMR or double feed detected" msgstr "Detecção de dupla alimentação" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Modo de Alimentação manual" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Modo de Alimentação manual" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, fuzzy, no-c-format msgid "Double feed" msgstr "Detecção de dupla alimentação" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, fuzzy, no-c-format msgid "Double feed detected" msgstr "Detecção de dupla alimentação" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, no-c-format msgid "Hardware error code" msgstr "" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Nível de branco" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "Intensidade do vermelho" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Digitalização completa" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, fuzzy, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" "Solicita ao driver para eliminar páginas com baixo número de pixels " "escuros" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, fuzzy, no-c-format msgid "Software derotate" msgstr "Alinhamento - Deskew" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, fuzzy, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Linhas em cor" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Calibração" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definine o modo de calibração" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Modo de calibração" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, fuzzy, no-c-format msgid "Lamp off time" msgstr "Lâmpada acesa" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " "of 0 means, that the lamp won't be turned off." msgstr "" -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Calibração rudimentar" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "Origem da digitalização" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, fuzzy, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Calibração rudimentar" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Calibração rudimentar apenas na primeira digitalização" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, fuzzy, no-c-format msgid "Buttons" msgstr "Estado do botão" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, fuzzy, no-c-format msgid "Calibrate" msgstr "Calibração" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Calibração rudimentar" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Calibração rudimentar" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Modo de calibração" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Calibração rudimentar" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Deslocamento do verde" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Adaptador de Transparências" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Adaptador de Transparências" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3239,615 +3280,615 @@ msgstr "Valor de 'gamma'" msgid "Sets the gamma value of all channels." msgstr "Define o valor de 'gamma' em todos os canais." -#: backend/hp3500.c:1020 -#, fuzzy, no-c-format -msgid "Geometry Group" -msgstr "Geometria" - -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:2987 #, fuzzy, no-c-format -msgid "Scan Mode Group" -msgstr "Modo de Digitalização" +msgid "Advanced Options" +msgstr "Imprimir opções" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Slide" +msgid "Coarse" msgstr "" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3045 #, fuzzy, no-c-format -msgid "Scanner model" -msgstr "Modo de digitalização" +msgid "Fine" +msgstr "Nome do ficheiro" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" +msgid "Bayer" msgstr "" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Image colours will be inverted" +msgid "Custom" msgstr "" -#: backend/hp3900_sane.c:1436 -#, fuzzy, no-c-format -msgid "Disable gamma correction" -msgstr "Correcção do gamma" - -#: backend/hp3900_sane.c:1437 -#, fuzzy, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Correcção do gamma" +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 +#, no-c-format +msgid "Auto" +msgstr "Automático" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Disable white shading correction" +msgid "NTSC RGB" msgstr "" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3092 #, no-c-format -msgid "White shading correction will be disabled" +msgid "XPA RGB" msgstr "" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3093 #, no-c-format -msgid "Skip warmup process" +msgid "Pass-through" msgstr "" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3094 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "" +msgid "NTSC Gray" +msgstr "NTSC cinzento" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Force real depth" -msgstr "" +msgid "XPA Gray" +msgstr "XPA cinzento" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3147 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" +msgid "Slow" +msgstr "Lento" -#: backend/hp3900_sane.c:1499 -#, fuzzy, no-c-format -msgid "Emulate Grayscale" -msgstr "Cinzento" +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#, no-c-format +msgid "Normal" +msgstr "Normal" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3149 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" +msgid "Fast" +msgstr "Rápido" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3150 #, no-c-format -msgid "Save debugging images" +msgid "Extra Fast" msgstr "" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3163 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." +msgid "2-pixel" msgstr "" -#: backend/hp3900_sane.c:1533 -#, fuzzy, no-c-format -msgid "Reset chipset" -msgstr "Digitalização rápida" - -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3164 #, no-c-format -msgid "Resets chipset data" +msgid "4-pixel" msgstr "" -#: backend/hp3900_sane.c:1547 -#, fuzzy, no-c-format -msgid "Information" -msgstr "Ignorar a calibração" - -#: backend/hp3900_sane.c:1560 -#, fuzzy, no-c-format -msgid "Chipset name" -msgstr "Nome do ficheiro" - -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3165 #, no-c-format -msgid "Shows chipset name used in device." +msgid "8-pixel" msgstr "" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Unknown" +msgid "Print" msgstr "" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Chipset ID" +msgid "Slide" msgstr "" -#: backend/hp3900_sane.c:1572 -#, fuzzy, no-c-format -msgid "Shows the chipset ID" -msgstr "Digitalização rápida" - -#: backend/hp3900_sane.c:1582 -#, fuzzy, no-c-format -msgid "Scan counter" -msgstr "Origem da digitalização" - -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Shows the number of scans made by scanner" +msgid "Film-strip" msgstr "" -#: backend/hp3900_sane.c:1594 -#, fuzzy, no-c-format -msgid "Update information" -msgstr "Imprimir opções" - -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Updates information about device" +msgid "ADF" msgstr "" -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.c:3257 #, no-c-format -msgid "This option reflects a front panel scanner button" +msgid "XPA" msgstr "" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Image" +msgid "Conditional" msgstr "" -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Miscellaneous" +msgid "Experiment" msgstr "" -#: backend/hp5400_sane.c:358 -#, fuzzy, no-c-format -msgid "offset X" -msgstr "Deslocamento" - -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:60 #, no-c-format -msgid "Hardware internal X position of the scanning area." +msgid "Sharpening" msgstr "" -#: backend/hp5400_sane.c:368 -#, fuzzy, no-c-format -msgid "offset Y" -msgstr "Deslocamento" - -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:61 #, no-c-format -msgid "Hardware internal Y position of the scanning area." +msgid "Set sharpening value." msgstr "" -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:66 #, no-c-format -msgid "Lamp status" -msgstr "" +msgid "Auto Threshold" +msgstr "Limiar de aquecimento" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:68 #, no-c-format -msgid "Switches the lamp on or off." +msgid "Enable automatic determination of threshold for line-art scans." msgstr "" -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:74 #, no-c-format -msgid "Calibrates for black and white level." +msgid "Select smoothing filter." msgstr "" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:79 #, no-c-format -msgid "ADF" +msgid "Unload media after scan" msgstr "" -#: backend/hp5590.c:95 -#, fuzzy, no-c-format -msgid "TMA Slides" -msgstr "Mais lento" - -#: backend/hp5590.c:96 -#, fuzzy, no-c-format -msgid "TMA Negatives" -msgstr "Negativo" - -#: backend/hp5590.c:108 -#, fuzzy, no-c-format -msgid "Color (48 bits)" -msgstr "Cor 48" +#: backend/hp-option.h:80 +#, no-c-format +msgid "Unloads the media after a scan." +msgstr "" -#: backend/hp5590.c:112 +#: backend/hp-option.h:85 #, fuzzy, no-c-format -msgid "Extend lamp timeout" -msgstr "Lâmpada acesa" +msgid "Change document" +msgstr "Melhorias" -#: backend/hp5590.c:113 +#: backend/hp-option.h:86 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgid "Change Document." msgstr "" -#: backend/hp5590.c:115 +#: backend/hp-option.h:91 #, no-c-format -msgid "Wait for button" +msgid "Unload" msgstr "" -#: backend/hp5590.c:116 +#: backend/hp-option.h:92 #, no-c-format -msgid "Waits for button before scanning" +msgid "Unload Document." msgstr "" -#: backend/hp5590.c:118 +#: backend/hp-option.h:98 #, fuzzy, no-c-format -msgid "Last button pressed" -msgstr "Estado do botão" +msgid "Start calibration process." +msgstr "Calibração rudimentar" -#: backend/hp5590.c:119 +#: backend/hp-option.h:103 #, no-c-format -msgid "Get ID of last button pressed (read only)" +msgid "Media" msgstr "" -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Origem da digitalização" - -#: backend/hp5590.c:122 +#: backend/hp-option.h:104 #, no-c-format -msgid "Get value of LCD counter (read only)" +msgid "Set type of media." msgstr "" -#: backend/hp5590.c:124 -#, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Linhas em cor" - -#: backend/hp5590.c:125 +#: backend/hp-option.h:109 #, no-c-format -msgid "Get value of LED indicator (read only)" +msgid "Exposure time" msgstr "" -#: backend/hp5590.c:127 +#: backend/hp-option.h:111 #, no-c-format -msgid "Document available in ADF" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." msgstr "" -#: backend/hp5590.c:128 -#, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +#: backend/hp-option.h:119 backend/hp-option.h:126 +#, fuzzy, no-c-format +msgid "Color Matrix" +msgstr "Linhas em cor" -#: backend/hp5590.c:130 +#: backend/hp-option.h:121 +#, fuzzy, no-c-format +msgid "Set the scanner's color matrix." +msgstr "Contraste do canal vermelho." + +#: backend/hp-option.h:127 #, no-c-format -msgid "Hide end-of-page pixel" +msgid "Custom color matrix." msgstr "" -#: backend/hp5590.c:131 +#: backend/hp-option.h:132 +#, fuzzy, no-c-format +msgid "Mono Color Matrix" +msgstr "Linhas em cor" + +#: backend/hp-option.h:133 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgid "Custom color matrix for grayscale scans." msgstr "" -#: backend/hp5590.c:133 +#: backend/hp-option.h:138 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" +msgid "Mirror horizontal" msgstr "" -#: backend/hp5590.c:134 +#: backend/hp-option.h:139 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" +msgid "Mirror image horizontally." msgstr "" -#: backend/hp5590.c:137 +#: backend/hp-option.h:144 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" +msgid "Mirror vertical" msgstr "" -#: backend/hp5590.c:138 +#: backend/hp-option.h:145 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" +msgid "Mirror image vertically." msgstr "" -#: backend/hp-option.c:2987 +#: backend/hp-option.h:150 #, fuzzy, no-c-format -msgid "Advanced Options" +msgid "Update options" msgstr "Imprimir opções" -#: backend/hp-option.c:3044 -#, no-c-format -msgid "Coarse" -msgstr "" - -#: backend/hp-option.c:3045 +#: backend/hp-option.h:151 #, fuzzy, no-c-format -msgid "Fine" -msgstr "Nome do ficheiro" +msgid "Update options." +msgstr "Imprimir opções" -#: backend/hp-option.c:3046 +#: backend/hp-option.h:156 #, no-c-format -msgid "Bayer" +msgid "8 bit output" msgstr "" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp-option.h:158 #, no-c-format -msgid "Custom" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp-option.h:164 #, no-c-format -msgid "Auto" -msgstr "Automático" +msgid "Front button wait" +msgstr "" -#: backend/hp-option.c:3091 +#: backend/hp-option.h:165 #, no-c-format -msgid "NTSC RGB" +msgid "Wait to scan for front-panel button push." msgstr "" -#: backend/hp-option.c:3092 +#: backend/hp-option.h:172 #, no-c-format -msgid "XPA RGB" +msgid "Shut off lamp" msgstr "" -#: backend/hp-option.c:3093 +#: backend/hp-option.h:173 #, no-c-format -msgid "Pass-through" +msgid "Shut off scanner lamp." msgstr "" -#: backend/hp-option.c:3094 -#, no-c-format -msgid "NTSC Gray" -msgstr "NTSC cinzento" +#: backend/hp3500.c:1020 +#, fuzzy, no-c-format +msgid "Geometry Group" +msgstr "Geometria" -#: backend/hp-option.c:3095 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#, fuzzy, no-c-format +msgid "Scan Mode Group" +msgstr "Modo de Digitalização" + +#: backend/hp3900_sane.c:1405 +#, fuzzy, no-c-format +msgid "Scanner model" +msgstr "Modo de digitalização" + +#: backend/hp3900_sane.c:1408 #, no-c-format -msgid "XPA Gray" -msgstr "XPA cinzento" +msgid "Allows one to test device behavior with other supported models" +msgstr "" -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "Slow" -msgstr "Lento" +msgid "Image colors will be inverted" +msgstr "" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1436 +#, fuzzy, no-c-format +msgid "Disable gamma correction" +msgstr "Correcção do gamma" + +#: backend/hp3900_sane.c:1437 +#, fuzzy, no-c-format +msgid "Gamma correction will be disabled" +msgstr "Correcção do gamma" + +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "Normal" -msgstr "Normal" +msgid "Disable white shading correction" +msgstr "" -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Fast" -msgstr "Rápido" +msgid "White shading correction will be disabled" +msgstr "" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Extra Fast" +msgid "Skip warmup process" msgstr "" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "2-pixel" +msgid "Warmup process will be disabled" msgstr "" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "4-pixel" +msgid "Force real depth" msgstr "" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "8-pixel" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." msgstr "" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1499 +#, fuzzy, no-c-format +msgid "Emulate Grayscale" +msgstr "Cinzento" + +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "Print" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." msgstr "" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Film-strip" +msgid "Save debugging images" msgstr "" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "XPA" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." msgstr "" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1533 +#, fuzzy, no-c-format +msgid "Reset chipset" +msgstr "Digitalização rápida" + +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Conditional" +msgid "Resets chipset data" msgstr "" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1547 +#, fuzzy, no-c-format +msgid "Information" +msgstr "Ignorar a calibração" + +#: backend/hp3900_sane.c:1560 +#, fuzzy, no-c-format +msgid "Chipset name" +msgstr "Nome do ficheiro" + +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "Experiment" +msgid "Shows chipset name used in device." msgstr "" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Sharpening" +msgid "Unknown" msgstr "" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Set sharpening value." +msgid "Chipset ID" msgstr "" -#: backend/hp-option.h:66 -#, no-c-format -msgid "Auto Threshold" -msgstr "Limiar de aquecimento" +#: backend/hp3900_sane.c:1572 +#, fuzzy, no-c-format +msgid "Shows the chipset ID" +msgstr "Digitalização rápida" -#: backend/hp-option.h:68 -#, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "" +#: backend/hp3900_sane.c:1582 +#, fuzzy, no-c-format +msgid "Scan counter" +msgstr "Origem da digitalização" -#: backend/hp-option.h:74 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Select smoothing filter." +msgid "Shows the number of scans made by scanner" msgstr "" -#: backend/hp-option.h:79 +#: backend/hp3900_sane.c:1594 +#, fuzzy, no-c-format +msgid "Update information" +msgstr "Imprimir opções" + +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Unload media after scan" +msgid "Updates information about device" msgstr "" -#: backend/hp-option.h:80 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Unloads the media after a scan." +msgid "This option reflects a front panel scanner button" msgstr "" -#: backend/hp-option.h:85 -#, fuzzy, no-c-format -msgid "Change document" -msgstr "Melhorias" - -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Change Document." +msgid "Image" msgstr "" -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Unload" +msgid "Miscellaneous" msgstr "" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:358 +#, fuzzy, no-c-format +msgid "offset X" +msgstr "Deslocamento" + +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unload Document." +msgid "Hardware internal X position of the scanning area." msgstr "" -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:368 #, fuzzy, no-c-format -msgid "Start calibration process." -msgstr "Calibração rudimentar" +msgid "offset Y" +msgstr "Deslocamento" -#: backend/hp-option.h:103 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Media" +msgid "Hardware internal Y position of the scanning area." msgstr "" -#: backend/hp-option.h:104 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Set type of media." +msgid "Lamp status" msgstr "" -#: backend/hp-option.h:109 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Exposure time" +msgid "Switches the lamp on or off." msgstr "" -#: backend/hp-option.h:111 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." +msgid "Calibrates for black and white level." msgstr "" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:95 #, fuzzy, no-c-format -msgid "Color Matrix" -msgstr "Linhas em cor" +msgid "TMA Slides" +msgstr "Mais lento" -#: backend/hp-option.h:121 +#: backend/hp5590.c:96 #, fuzzy, no-c-format -msgid "Set the scanners color matrix." -msgstr "Contraste do canal vermelho." +msgid "TMA Negatives" +msgstr "Negativo" -#: backend/hp-option.h:127 -#, no-c-format -msgid "Custom color matrix." -msgstr "" +#: backend/hp5590.c:108 +#, fuzzy, no-c-format +msgid "Color (48 bits)" +msgstr "Cor 48" -#: backend/hp-option.h:132 +#: backend/hp5590.c:112 #, fuzzy, no-c-format -msgid "Mono Color Matrix" -msgstr "Linhas em cor" +msgid "Extend lamp timeout" +msgstr "Lâmpada acesa" -#: backend/hp-option.h:133 +#: backend/hp5590.c:113 #, no-c-format -msgid "Custom color matrix for grayscale scans." +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" msgstr "" -#: backend/hp-option.h:138 +#: backend/hp5590.c:115 #, no-c-format -msgid "Mirror horizontal" +msgid "Wait for button" msgstr "" -#: backend/hp-option.h:139 +#: backend/hp5590.c:116 #, no-c-format -msgid "Mirror image horizontally." +msgid "Waits for button before scanning" msgstr "" -#: backend/hp-option.h:144 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Estado do botão" + +#: backend/hp5590.c:119 #, no-c-format -msgid "Mirror vertical" +msgid "Get ID of last button pressed (read only)" msgstr "" -#: backend/hp-option.h:145 +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Origem da digitalização" + +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror image vertically." +msgid "Get value of LCD counter (read only)" msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:124 #, fuzzy, no-c-format -msgid "Update options" -msgstr "Imprimir opções" +msgid "Color LED indicator" +msgstr "Linhas em cor" -#: backend/hp-option.h:151 -#, fuzzy, no-c-format -msgid "Update options." -msgstr "Imprimir opções" +#: backend/hp5590.c:125 +#, no-c-format +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:127 #, no-c-format -msgid "8 bit output" +msgid "Document available in ADF" msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:128 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "Get state of document-available indicator in ADF (read only)" msgstr "" -#: backend/hp-option.h:164 +#: backend/hp5590.c:130 #, no-c-format -msgid "Front button wait" +msgid "Hide end-of-page pixel" msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:131 #, no-c-format -msgid "Wait to scan for front-panel button push." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:133 #, no-c-format -msgid "Shut off lamp" +msgid "Filling mode of trailing lines after scan data (ADF)" msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:134 #, no-c-format -msgid "Shut off scanner lamp." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" + +#: backend/hp5590.c:137 +#, no-c-format +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" + +#: backend/hp5590.c:138 +#, no-c-format +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 @@ -3948,7 +3989,7 @@ msgid "single" msgstr "simples" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" @@ -4117,7 +4158,7 @@ msgstr "" #: backend/kvs1025_opt.c:229 #, fuzzy, no-c-format -msgid "linier" +msgid "linear" msgstr "Linhas" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 @@ -4246,7 +4287,7 @@ msgstr "" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "" @@ -4314,11 +4355,11 @@ msgstr "Crop automático" msgid "Request driver to remove border from pages digitally" msgstr "Solicita ao driver para remover digitalmente bordas das páginas" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4350,12 +4391,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "" #: backend/kvs40xx_opt.c:232 #, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "" #: backend/kvs40xx_opt.c:243 @@ -4378,6 +4419,13 @@ msgstr "Normal" msgid "Enhanced mode" msgstr "Melhorias" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4437,7 +4485,7 @@ msgstr "Compressão JPEG" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4472,12 +4520,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4487,12 +4535,12 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 #, no-c-format -msgid "It is right and left reversing" +msgid "Left/right mirror image" msgstr "" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 @@ -4530,52 +4578,52 @@ msgstr "" msgid "8x8 Vertical Line" msgstr "" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Ganho" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Ganho do cinzento" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Ganho do canal cinzento" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Ganho do vermelho" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Ganho do canal vermelho" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Ganho do verde" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Ganho do canal verde" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Ganho do azul" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Ganho do canal azul" @@ -4661,7 +4709,7 @@ msgstr "Uma página" msgid "All pages" msgstr "Todas as páginas" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "" @@ -5156,39 +5204,44 @@ msgstr "" "Aquecer até o brilho da lâmpada ser constante em ver de insistir em 40 " "segundos de tempo de aquecimento." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Calibração rudimentar" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Filme Negativo" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Negativo" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5196,40 +5249,40 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, fuzzy, no-c-format msgid "Update button state" msgstr "Estado do botão" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, fuzzy, no-c-format msgid "Button 1" msgstr "Estado do botão" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, fuzzy, no-c-format msgid "Button 2" msgstr "Estado do botão" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5318,7 +5371,7 @@ msgstr "Ganho analógico" msgid "Red gain value of the AFE" msgstr "" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Deslocamento do vermelho" @@ -5573,7 +5626,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "" -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Lâmpada acesa" @@ -5583,12 +5636,12 @@ msgstr "Lâmpada acesa" msgid "Turn on scanner lamp" msgstr "" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "" @@ -5723,13 +5776,13 @@ msgid "Focus point" msgstr "" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" -msgstr "" +#, fuzzy, no-c-format +msgid "Color lines per read" +msgstr "Linhas em cor" #: backend/snapscan-options.c:942 #, no-c-format -msgid "Greyscale lines per read" +msgid "Grayscale lines per read" msgstr "" #: backend/stv680.c:974 @@ -6314,56 +6367,60 @@ msgstr "Modo de calibração" msgid "Define calibration mode" msgstr "Definine o modo de calibração" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Deslocamento" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Deslocamento do cinzento" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Deslocamento do canal cinzento" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Deslocamento do canal vermelho" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Deslocamento do canal verde" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Deslocamento do canal azul" +#, fuzzy +#~ msgid "linier" +#~ msgstr "Linhas" + #, fuzzy #~ msgid "Request backend to rotate skewed pages digitally" #~ msgstr "" diff --git a/po/ru.po b/po/ru.po index da65670..14308d1 100644 --- a/po/ru.po +++ b/po/ru.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2007-12-17 23:05+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -31,31 +31,31 @@ msgid "Standard" msgstr "" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Расположение" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Повышение" @@ -89,7 +89,7 @@ msgid "Bit depth" msgstr "Бит на цвет" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Режим сканирования" @@ -130,7 +130,7 @@ msgid "Bottom-right y" msgstr "Правая нижняя координата Y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Разрешение сканирования" @@ -285,7 +285,7 @@ msgstr "Название файла" msgid "Halftone pattern size" msgstr "Размер чёрно-белого шаблона" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Чёрно-белый шаблон" @@ -295,10 +295,10 @@ msgstr "Чёрно-белый шаблон" msgid "Bind X and Y resolution" msgstr "Согласовывать разрешение по X и по Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Негатив" @@ -419,9 +419,9 @@ msgid "Lamp off at exit" msgstr "Выключить лампу при выходе" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Параметр только для чтения, указывающий как много параметров указанное " @@ -775,8 +775,8 @@ msgid "Analog gamma-correction for blue" msgstr "Аналоговая коррекция гаммы для синего" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Прогревать лампу перед сканированием" #: include/sane/saneopts.h:417 @@ -926,7 +926,7 @@ msgstr "Полутоновое сканирование не поддержив #: backend/sane_strstatus.c:65 #, no-c-format -msgid "Operation was cancelled" +msgid "Operation was canceled" msgstr "" #: backend/sane_strstatus.c:68 @@ -1020,10 +1020,10 @@ msgid "Only perform shading-correction" msgstr "Выполнять только коррекцию оттенка" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Если отмечено, во время калибровки выполняется только коррекция " @@ -1051,84 +1051,44 @@ msgid "Duplex scan" msgstr "Двухстороннее сканирование" #: backend/avision.h:783 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" "Двухстороннее сканирование позволяет получить изображение лицевой и " "обратной стороны документа" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Калибровать сканер" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Выполнять калибровку сканера перед сканированием" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Чёрно-белое сканирование" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Выполнять чёрно-белое сканирование вместо цветного" - -#: backend/canon630u.c:306 -#, no-c-format -msgid "Analog Gain" -msgstr "Аналоговое усиление" - -#: backend/canon630u.c:307 -#, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Увеличить или уменьшить аналоговое усиление матрицы CCD" - -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 -#, no-c-format -msgid "Gamma Correction" -msgstr "Коррекция гаммы" - -#: backend/canon630u.c:348 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Выберите кривую гамма-коррекции" +msgid "Correction according to transparency ratio" +msgstr "" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Raw" +msgid "Correction according to film type" msgstr "" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 #: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format msgid "Fine color" msgstr "" -#: backend/canon.c:169 +#: backend/canon-sane.c:776 backend/canon.c:176 #, fuzzy, no-c-format -msgid "No transparency correction" -msgstr "Коррекция цветов" - -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "" +msgid "Negatives" +msgstr "Негатив" -#: backend/canon.c:171 backend/canon-sane.c:674 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format -msgid "Correction according to transparency ratio" +msgid "Raw" msgstr "" -#: backend/canon.c:176 backend/canon-sane.c:776 +#: backend/canon.c:169 #, fuzzy, no-c-format -msgid "Negatives" -msgstr "Негатив" +msgid "No transparency correction" +msgstr "Коррекция цветов" #: backend/canon.c:176 #, fuzzy, no-c-format @@ -1263,9 +1223,9 @@ msgid "invalid bit IDENTIFY message" msgstr "" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" -msgstr "" +#, fuzzy, no-c-format +msgid "option not correct" +msgstr "Полутоновое сканирование не поддерживается" #: backend/canon.c:474 #, no-c-format @@ -1552,133 +1512,184 @@ msgstr "Тип плёнки" msgid "Select the film type" msgstr "Выбирает полутона." -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Калибровать сканер" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Выполнять калибровку сканера перед сканированием" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Чёрно-белое сканирование" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Выполнять чёрно-белое сканирование вместо цветного" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Аналоговое усиление" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Увеличить или уменьшить аналоговое усиление матрицы CCD" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Коррекция гаммы" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Выберите кривую гамма-коррекции" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Планшетный" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, fuzzy, no-c-format msgid "ADF Back" msgstr "АПД" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, fuzzy, no-c-format msgid "ADF Duplex" msgstr "Двухсторонний" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Front" msgstr "Распечатка" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Двухсторонний" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Красный" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Зелёный" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Синий" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, fuzzy, no-c-format msgid "Enhance Red" msgstr "Повышение" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, fuzzy, no-c-format msgid "Enhance Green" msgstr "Повышение" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, fuzzy, no-c-format msgid "Enhance Blue" msgstr "Повышение" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Ничего" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Односторонний" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Двухсторонний" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Модуль для слайдов" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Автоматический податчик документов" @@ -1790,7 +1801,7 @@ msgstr "Струйные принтеры" msgid "CRT monitors" msgstr "Мониторы с ЭЛТ" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1854,8 +1865,9 @@ msgstr "A4" msgid "Max" msgstr "Макс" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -2031,17 +2043,17 @@ msgstr "" msgid "Quick format" msgstr "Быстрый формат" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Дополнительное оборудование" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Извлечь" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Вставить бумагу в устройство подачи документов" @@ -2056,12 +2068,14 @@ msgstr "Автоизвлечение" msgid "Eject document after scanning" msgstr "Извлечь документ после сканирования" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Режим автоподачи" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Выбирает режим автоподачи (односторонний/двухсторонний)" @@ -2112,14 +2126,14 @@ msgstr "" "После подачи команды \"сканировать\", будет ожидать пока не будет нажата " "кнопка на сканере, чтобы действительно начать процесс сканирования." -#: backend/epson2.c:102 backend/pixma.c:409 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format -msgid "Infrared" +msgid "TPU8x10" msgstr "" -#: backend/epson2.c:117 +#: backend/epson2.c:102 backend/pixma/pixma.c:409 #, no-c-format -msgid "TPU8x10" +msgid "Infrared" msgstr "" #: backend/epson2.c:136 @@ -2142,494 +2156,514 @@ msgstr "" msgid "User defined CCT profile" msgstr "Определяемое пользователем" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Вставить бумагу в устройство подачи документов" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Без коррекции" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Аналоговая коррекция гаммы" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Вкл" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Выкл" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Размытие" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, fuzzy, no-c-format msgid "Diffusion" msgstr "Диффузия ошибок" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, fuzzy, no-c-format msgid "White" msgstr "Уровень белого" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, fuzzy, no-c-format msgid "Black" msgstr "Уровень чёрного" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, fuzzy, no-c-format msgid "Continue" msgstr "Условно" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Горизонтально" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, fuzzy, no-c-format msgid "Horizontal bold" msgstr "Горизонтально" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, fuzzy, no-c-format msgid "Horizontal narrow" msgstr "Горизонтально" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Вертикальное" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, fuzzy, no-c-format msgid "Vertical bold" msgstr "Вертикальное" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, fuzzy, no-c-format msgid "Front" msgstr "Распечатка" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Полутоновый (растр)" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Грубая калибровка" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Выразительность изображения" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Насыщенность" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Включает автоматическое определение порога при сканировании штриховых " "изображений." -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Зеркальное изображение" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Отображает изображение по горизонтали." -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Уровень белого для синего" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Управляет уровнем красного" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Цветное штриховое" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Сглаживание" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Значение гаммы" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, fuzzy, no-c-format msgid "Threshold curve" msgstr "Порог" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Порог" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Уменьшение шумов" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Без коррекции" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Без коррекции" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" msgstr "" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "Режим подачи" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Дополнительные параметры" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Без коррекции" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Включить лампу" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Режим подачи" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2637,65 +2671,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "Время выключения лампы" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Смещение синего" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Смещение зелёного" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Смещение зелёного" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Смещение синего" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Устанавливает смещение канала синего" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2704,418 +2738,406 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Двухстороннее сканирование" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Дополнительные параметры" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Уменьшение шумов" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, fuzzy, no-c-format msgid "A3 paper" msgstr "От бумаги" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, fuzzy, no-c-format msgid "B4 paper" msgstr "От бумаги" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, fuzzy, no-c-format msgid "A4 paper" msgstr "От бумаги" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, fuzzy, no-c-format msgid "B5 paper" msgstr "От бумаги" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Ручная предварительная фокусировка" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Ручная предварительная фокусировка" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "Разрешение сканирования" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Уровень белого" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "Интенсивность красного" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Двухстороннее сканирование" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Дополнительно" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, fuzzy, no-c-format msgid "Disable interpolation" msgstr "Выключить отслеживание" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " "than the vertical resolution this disables horizontal interpolation." msgstr "" -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Цветное штриховое" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Калибровка" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Задать режим калибровки" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Кэширование калибровочных данных" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Время выключения лампы" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3124,89 +3146,108 @@ msgstr "" "Лампа будет выключена через указанное время (в минутах). Значение 0 " "означает, что лампа выключаться не будет." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, fuzzy, no-c-format msgid "Lamp off during scan" msgstr "Грубая калибровка" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "" -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, fuzzy, no-c-format msgid "File button" msgstr "Ожидать нажатия кнопки" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, fuzzy, no-c-format msgid "Power button" msgstr "Ожидать нажатия кнопки" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "Ожидать нажатия кнопки" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, fuzzy, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Грубая калибровка" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, fuzzy, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Выполнять калибровку сканера перед сканированием" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Кнопки" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Калибровка" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, fuzzy, no-c-format msgid "Start calibration using special sheet" msgstr "Начать процесс калибровки." -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, fuzzy, no-c-format msgid "Clear calibration" msgstr "Грубая калибровка" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, fuzzy, no-c-format msgid "Clear calibration cache" msgstr "Кэширование калибровочных данных" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Грубая калибровка" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Смещение зелёного" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Слайд-модуль" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Слайд-модуль" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3316,623 +3357,623 @@ msgstr "Значение гаммы" msgid "Sets the gamma value of all channels." msgstr "Устанавливает значение гаммы всех каналов." -#: backend/hp3500.c:1020 -#, fuzzy, no-c-format -msgid "Geometry Group" -msgstr "Расположение" - -#: backend/hp3500.c:1073 backend/hp3500.c:1074 -#, fuzzy, no-c-format -msgid "Scan Mode Group" -msgstr "Режим сканирования" - -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Slide" -msgstr "Слайд" +msgid "Advanced Options" +msgstr "Дополнительные параметры" -#: backend/hp3900_sane.c:1405 -#, fuzzy, no-c-format -msgid "Scanner model" -msgstr "Режим сканирования" +#: backend/hp-option.c:3044 +#, no-c-format +msgid "Coarse" +msgstr "Грубое" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" +msgid "Fine" +msgstr "Точное" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Image colours will be inverted" +msgid "Bayer" msgstr "" -#: backend/hp3900_sane.c:1436 -#, fuzzy, no-c-format -msgid "Disable gamma correction" -msgstr "Аналоговая коррекция гаммы" - -#: backend/hp3900_sane.c:1437 -#, fuzzy, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Коррекция гаммы" +#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#, no-c-format +msgid "Custom" +msgstr "Пользовательское" -#: backend/hp3900_sane.c:1451 -#, fuzzy, no-c-format -msgid "Disable white shading correction" -msgstr "Выполнять только коррекцию оттенка" +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 +#, no-c-format +msgid "Auto" +msgstr "Автоматически" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3091 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "" +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Skip warmup process" -msgstr "" +msgid "XPA RGB" +msgstr "XPA RGB" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3093 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "" +msgid "Pass-through" +msgstr "Пропускать сквозь" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3094 #, no-c-format -msgid "Force real depth" -msgstr "" +msgid "NTSC Gray" +msgstr "Чёрно-белое NTSC" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3095 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" +msgid "XPA Gray" +msgstr "Чёрно-белое XPA" -#: backend/hp3900_sane.c:1499 -#, fuzzy, no-c-format -msgid "Emulate Grayscale" -msgstr "Чёрно-белый" +#: backend/hp-option.c:3147 +#, no-c-format +msgid "Slow" +msgstr "Медленно" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" +msgid "Normal" +msgstr "Нормально" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3149 #, no-c-format -msgid "Save debugging images" -msgstr "" +msgid "Fast" +msgstr "Быстро" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3150 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" - -#: backend/hp3900_sane.c:1533 -#, fuzzy, no-c-format -msgid "Reset chipset" -msgstr "листовой сканер" +msgid "Extra Fast" +msgstr "Очень быстро" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3163 #, no-c-format -msgid "Resets chipset data" -msgstr "" - -#: backend/hp3900_sane.c:1547 -#, fuzzy, no-c-format -msgid "Information" -msgstr "Игнорировать калибровку" +msgid "2-pixel" +msgstr "Двухточечное" -#: backend/hp3900_sane.c:1560 -#, fuzzy, no-c-format -msgid "Chipset name" -msgstr "Название файла" +#: backend/hp-option.c:3164 +#, no-c-format +msgid "4-pixel" +msgstr "Четырёхточечное" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3165 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "" +msgid "8-pixel" +msgstr "Восьмиточечное" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Unknown" -msgstr "" +msgid "Print" +msgstr "Распечатка" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Chipset ID" -msgstr "" +msgid "Slide" +msgstr "Слайд" -#: backend/hp3900_sane.c:1572 -#, fuzzy, no-c-format -msgid "Shows the chipset ID" -msgstr "листовой сканер" +#: backend/hp-option.c:3178 +#, no-c-format +msgid "Film-strip" +msgstr "Плёнка" -#: backend/hp3900_sane.c:1582 -#, fuzzy, no-c-format -msgid "Scan counter" -msgstr "Источник сканирования" +#: backend/hp-option.c:3256 backend/hp5590.c:93 +#, no-c-format +msgid "ADF" +msgstr "АПД" -#: backend/hp3900_sane.c:1584 -#, fuzzy, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Выберите количество кадров для сканирования" +#: backend/hp-option.c:3257 +#, no-c-format +msgid "XPA" +msgstr "" -#: backend/hp3900_sane.c:1594 -#, fuzzy, no-c-format -msgid "Update information" -msgstr "Обновить параметры" +#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#, no-c-format +msgid "Conditional" +msgstr "Условно" -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Updates information about device" -msgstr "" +msgid "Experiment" +msgstr "Эксперимент" -#: backend/hp3900_sane.c:1635 -#, fuzzy, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Этот параметр отражает состояние кнопок сканера." +#: backend/hp-option.h:60 +#, no-c-format +msgid "Sharpening" +msgstr "Заострения" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:61 #, no-c-format -msgid "Image" -msgstr "Изображение" +msgid "Set sharpening value." +msgstr "Устанавливает величину заострения." -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:66 #, no-c-format -msgid "Miscellaneous" -msgstr "Различное" +msgid "Auto Threshold" +msgstr "Автоматический порог" -#: backend/hp5400_sane.c:358 -#, fuzzy, no-c-format -msgid "offset X" -msgstr "Смещение" +#: backend/hp-option.h:68 +#, no-c-format +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "" +"Включает автоматическое определение порога при сканировании штриховых " +"изображений." -#: backend/hp5400_sane.c:359 -#, fuzzy, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Координата X левого верхнего угла области сканирования." +#: backend/hp-option.h:74 +#, no-c-format +msgid "Select smoothing filter." +msgstr "Выберите фильтр для сглаживания." -#: backend/hp5400_sane.c:368 -#, fuzzy, no-c-format -msgid "offset Y" -msgstr "Смещение" +#: backend/hp-option.h:79 +#, no-c-format +msgid "Unload media after scan" +msgstr "Выгружать носитель после сканирования" -#: backend/hp5400_sane.c:369 -#, fuzzy, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Координата X левого верхнего угла области сканирования." +#: backend/hp-option.h:80 +#, no-c-format +msgid "Unloads the media after a scan." +msgstr "Выгружает носитель после сканирования." -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:85 #, no-c-format -msgid "Lamp status" -msgstr "Состояние лампы" +msgid "Change document" +msgstr "Сменить документ" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:86 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Включить/выключить лампу." +msgid "Change Document." +msgstr "Изменить документ." -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:91 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Калибрует для чёрного и белого уровня." +msgid "Unload" +msgstr "Выгрузить" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:92 #, no-c-format -msgid "ADF" -msgstr "АПД" +msgid "Unload Document." +msgstr "Выгрузить документ." -#: backend/hp5590.c:95 -#, fuzzy, no-c-format -msgid "TMA Slides" -msgstr "Слайд" +#: backend/hp-option.h:98 +#, no-c-format +msgid "Start calibration process." +msgstr "Начать процесс калибровки." -#: backend/hp5590.c:96 -#, fuzzy, no-c-format -msgid "TMA Negatives" -msgstr "Негатив" +#: backend/hp-option.h:103 +#, no-c-format +msgid "Media" +msgstr "Носитель" -#: backend/hp5590.c:108 -#, fuzzy, no-c-format -msgid "Color (48 bits)" -msgstr "Цветной 48" +#: backend/hp-option.h:104 +#, no-c-format +msgid "Set type of media." +msgstr "Установить тип носителя." -#: backend/hp5590.c:112 -#, fuzzy, no-c-format -msgid "Extend lamp timeout" -msgstr "Время выключения лампы" +#: backend/hp-option.h:109 +#, no-c-format +msgid "Exposure time" +msgstr "Время выдержки" -#: backend/hp5590.c:113 +#: backend/hp-option.h:111 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." msgstr "" +"Длительное время выдержки позволяет сканеру собрать больше света. " +"Рекомендуется использовать 175% для распечаток, 150% для нормальных " +"слайдов и \"Негатив\" для негативов. Для тёмных (недоэкспонированных) " +"изображений вы можете увеличить это значение." -#: backend/hp5590.c:115 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "Wait for button" -msgstr "Ожидать нажатия кнопки" - -#: backend/hp5590.c:116 -#, fuzzy, no-c-format -msgid "Waits for button before scanning" -msgstr "Прогревать лампу перед сканированием" +msgid "Color Matrix" +msgstr "Цветовая матрица" -#: backend/hp5590.c:118 +#: backend/hp-option.h:121 #, fuzzy, no-c-format -msgid "Last button pressed" -msgstr "Состояние кнопки" +msgid "Set the scanner's color matrix." +msgstr "Устанавливает цветовую матрицу сканера." -#: backend/hp5590.c:119 +#: backend/hp-option.h:127 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "" - -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Источник сканирования" +msgid "Custom color matrix." +msgstr "Пользовательская цветовая матрица" -#: backend/hp5590.c:122 +#: backend/hp-option.h:132 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "" +msgid "Mono Color Matrix" +msgstr "Однотонная цветовая матрица" -#: backend/hp5590.c:124 -#, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Цветное штриховое" +#: backend/hp-option.h:133 +#, no-c-format +msgid "Custom color matrix for grayscale scans." +msgstr "Пользовательская цветовая матрица для чёрно-белых изображений." -#: backend/hp5590.c:125 +#: backend/hp-option.h:138 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "" +msgid "Mirror horizontal" +msgstr "Отобразить горизонтально" -#: backend/hp5590.c:127 +#: backend/hp-option.h:139 #, no-c-format -msgid "Document available in ADF" -msgstr "" +msgid "Mirror image horizontally." +msgstr "Отображает изображение по горизонтали." -#: backend/hp5590.c:128 +#: backend/hp-option.h:144 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +msgid "Mirror vertical" +msgstr "Отобразить вертикально" -#: backend/hp5590.c:130 +#: backend/hp-option.h:145 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "" +msgid "Mirror image vertically." +msgstr "Отображает изображение по вертикали." -#: backend/hp5590.c:131 +#: backend/hp-option.h:150 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" -msgstr "" +msgid "Update options" +msgstr "Обновить параметры" -#: backend/hp5590.c:133 +#: backend/hp-option.h:151 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" +msgid "Update options." +msgstr "Обновляет параметры." -#: backend/hp5590.c:134 +#: backend/hp-option.h:156 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" +msgid "8 bit output" +msgstr "Восьмибитный вывод" -#: backend/hp5590.c:137 +#: backend/hp-option.h:158 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" +"Внутри использовать разрядность более 8 бит, но выводить только 8 бит." -#: backend/hp5590.c:138 +#: backend/hp-option.h:164 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" -msgstr "" +msgid "Front button wait" +msgstr "Ожидать кнопки на лицевой панели" -#: backend/hp-option.c:2987 +#: backend/hp-option.h:165 #, no-c-format -msgid "Advanced Options" -msgstr "Дополнительные параметры" +msgid "Wait to scan for front-panel button push." +msgstr "Ждать нажатия кнопки на передней панели для начала сканирования." -#: backend/hp-option.c:3044 +#: backend/hp-option.h:172 #, no-c-format -msgid "Coarse" -msgstr "Грубое" +msgid "Shut off lamp" +msgstr "Выключить лампу" -#: backend/hp-option.c:3045 +#: backend/hp-option.h:173 #, no-c-format -msgid "Fine" -msgstr "Точное" +msgid "Shut off scanner lamp." +msgstr "Выключает лампу сканера." -#: backend/hp-option.c:3046 +#: backend/hp3500.c:1020 +#, fuzzy, no-c-format +msgid "Geometry Group" +msgstr "Расположение" + +#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#, fuzzy, no-c-format +msgid "Scan Mode Group" +msgstr "Режим сканирования" + +#: backend/hp3900_sane.c:1405 +#, fuzzy, no-c-format +msgid "Scanner model" +msgstr "Режим сканирования" + +#: backend/hp3900_sane.c:1408 #, no-c-format -msgid "Bayer" +msgid "Allows one to test device behavior with other supported models" msgstr "" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "Custom" -msgstr "Пользовательское" +msgid "Image colors will be inverted" +msgstr "" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 -#, no-c-format -msgid "Auto" -msgstr "Автоматически" +#: backend/hp3900_sane.c:1436 +#, fuzzy, no-c-format +msgid "Disable gamma correction" +msgstr "Аналоговая коррекция гаммы" -#: backend/hp-option.c:3091 -#, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" +#: backend/hp3900_sane.c:1437 +#, fuzzy, no-c-format +msgid "Gamma correction will be disabled" +msgstr "Коррекция гаммы" -#: backend/hp-option.c:3092 -#, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" +#: backend/hp3900_sane.c:1451 +#, fuzzy, no-c-format +msgid "Disable white shading correction" +msgstr "Выполнять только коррекцию оттенка" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Pass-through" -msgstr "Пропускать сквозь" +msgid "White shading correction will be disabled" +msgstr "" -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "NTSC Gray" -msgstr "Чёрно-белое NTSC" +msgid "Skip warmup process" +msgstr "" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "XPA Gray" -msgstr "Чёрно-белое XPA" +msgid "Warmup process will be disabled" +msgstr "" -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "Slow" -msgstr "Медленно" +msgid "Force real depth" +msgstr "" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Normal" -msgstr "Нормально" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" -#: backend/hp-option.c:3149 -#, no-c-format -msgid "Fast" -msgstr "Быстро" +#: backend/hp3900_sane.c:1499 +#, fuzzy, no-c-format +msgid "Emulate Grayscale" +msgstr "Чёрно-белый" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "Extra Fast" -msgstr "Очень быстро" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "2-pixel" -msgstr "Двухточечное" +msgid "Save debugging images" +msgstr "" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "4-pixel" -msgstr "Четырёхточечное" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" -#: backend/hp-option.c:3165 -#, no-c-format -msgid "8-pixel" -msgstr "Восьмиточечное" +#: backend/hp3900_sane.c:1533 +#, fuzzy, no-c-format +msgid "Reset chipset" +msgstr "листовой сканер" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Print" -msgstr "Распечатка" +msgid "Resets chipset data" +msgstr "" -#: backend/hp-option.c:3178 -#, no-c-format -msgid "Film-strip" -msgstr "Плёнка" +#: backend/hp3900_sane.c:1547 +#, fuzzy, no-c-format +msgid "Information" +msgstr "Игнорировать калибровку" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1560 +#, fuzzy, no-c-format +msgid "Chipset name" +msgstr "Название файла" + +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "XPA" +msgid "Shows chipset name used in device." msgstr "" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Conditional" -msgstr "Условно" +msgid "Unknown" +msgstr "" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Experiment" -msgstr "Эксперимент" +msgid "Chipset ID" +msgstr "" -#: backend/hp-option.h:60 -#, no-c-format -msgid "Sharpening" -msgstr "Заострения" +#: backend/hp3900_sane.c:1572 +#, fuzzy, no-c-format +msgid "Shows the chipset ID" +msgstr "листовой сканер" -#: backend/hp-option.h:61 -#, no-c-format -msgid "Set sharpening value." -msgstr "Устанавливает величину заострения." +#: backend/hp3900_sane.c:1582 +#, fuzzy, no-c-format +msgid "Scan counter" +msgstr "Источник сканирования" + +#: backend/hp3900_sane.c:1584 +#, fuzzy, no-c-format +msgid "Shows the number of scans made by scanner" +msgstr "Выберите количество кадров для сканирования" -#: backend/hp-option.h:66 -#, no-c-format -msgid "Auto Threshold" -msgstr "Автоматический порог" +#: backend/hp3900_sane.c:1594 +#, fuzzy, no-c-format +msgid "Update information" +msgstr "Обновить параметры" -#: backend/hp-option.h:68 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." +msgid "Updates information about device" msgstr "" -"Включает автоматическое определение порога при сканировании штриховых " -"изображений." -#: backend/hp-option.h:74 -#, no-c-format -msgid "Select smoothing filter." -msgstr "Выберите фильтр для сглаживания." +#: backend/hp3900_sane.c:1635 +#, fuzzy, no-c-format +msgid "This option reflects a front panel scanner button" +msgstr "Этот параметр отражает состояние кнопок сканера." -#: backend/hp-option.h:79 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Unload media after scan" -msgstr "Выгружать носитель после сканирования" +msgid "Image" +msgstr "Изображение" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Выгружает носитель после сканирования." +msgid "Miscellaneous" +msgstr "Различное" -#: backend/hp-option.h:85 -#, no-c-format -msgid "Change document" -msgstr "Сменить документ" +#: backend/hp5400_sane.c:358 +#, fuzzy, no-c-format +msgid "offset X" +msgstr "Смещение" -#: backend/hp-option.h:86 -#, no-c-format -msgid "Change Document." -msgstr "Изменить документ." +#: backend/hp5400_sane.c:359 +#, fuzzy, no-c-format +msgid "Hardware internal X position of the scanning area." +msgstr "Координата X левого верхнего угла области сканирования." -#: backend/hp-option.h:91 -#, no-c-format -msgid "Unload" -msgstr "Выгрузить" +#: backend/hp5400_sane.c:368 +#, fuzzy, no-c-format +msgid "offset Y" +msgstr "Смещение" -#: backend/hp-option.h:92 -#, no-c-format -msgid "Unload Document." -msgstr "Выгрузить документ." +#: backend/hp5400_sane.c:369 +#, fuzzy, no-c-format +msgid "Hardware internal Y position of the scanning area." +msgstr "Координата X левого верхнего угла области сканирования." -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Start calibration process." -msgstr "Начать процесс калибровки." +msgid "Lamp status" +msgstr "Состояние лампы" -#: backend/hp-option.h:103 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Media" -msgstr "Носитель" +msgid "Switches the lamp on or off." +msgstr "Включить/выключить лампу." -#: backend/hp-option.h:104 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Set type of media." -msgstr "Установить тип носителя." +msgid "Calibrates for black and white level." +msgstr "Калибрует для чёрного и белого уровня." -#: backend/hp-option.h:109 -#, no-c-format -msgid "Exposure time" -msgstr "Время выдержки" +#: backend/hp5590.c:95 +#, fuzzy, no-c-format +msgid "TMA Slides" +msgstr "Слайд" -#: backend/hp-option.h:111 -#, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"Длительное время выдержки позволяет сканеру собрать больше света. " -"Рекомендуется использовать 175% для распечаток, 150% для нормальных " -"слайдов и \"Негатив\" для негативов. Для тёмных (недоэкспонированных) " -"изображений вы можете увеличить это значение." +#: backend/hp5590.c:96 +#, fuzzy, no-c-format +msgid "TMA Negatives" +msgstr "Негатив" -#: backend/hp-option.h:119 backend/hp-option.h:126 -#, no-c-format -msgid "Color Matrix" -msgstr "Цветовая матрица" +#: backend/hp5590.c:108 +#, fuzzy, no-c-format +msgid "Color (48 bits)" +msgstr "Цветной 48" -#: backend/hp-option.h:121 -#, no-c-format -msgid "Set the scanners color matrix." -msgstr "Устанавливает цветовую матрицу сканера." +#: backend/hp5590.c:112 +#, fuzzy, no-c-format +msgid "Extend lamp timeout" +msgstr "Время выключения лампы" -#: backend/hp-option.h:127 +#: backend/hp5590.c:113 #, no-c-format -msgid "Custom color matrix." -msgstr "Пользовательская цветовая матрица" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "" -#: backend/hp-option.h:132 +#: backend/hp5590.c:115 #, no-c-format -msgid "Mono Color Matrix" -msgstr "Однотонная цветовая матрица" +msgid "Wait for button" +msgstr "Ожидать нажатия кнопки" -#: backend/hp-option.h:133 -#, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Пользовательская цветовая матрица для чёрно-белых изображений." +#: backend/hp5590.c:116 +#, fuzzy, no-c-format +msgid "Waits for button before scanning" +msgstr "Прогревать лампу перед сканированием" -#: backend/hp-option.h:138 -#, no-c-format -msgid "Mirror horizontal" -msgstr "Отобразить горизонтально" +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Состояние кнопки" -#: backend/hp-option.h:139 +#: backend/hp5590.c:119 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Отображает изображение по горизонтали." +msgid "Get ID of last button pressed (read only)" +msgstr "" -#: backend/hp-option.h:144 +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Источник сканирования" + +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror vertical" -msgstr "Отобразить вертикально" +msgid "Get value of LCD counter (read only)" +msgstr "" -#: backend/hp-option.h:145 +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Цветное штриховое" + +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Отображает изображение по вертикали." +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Обновить параметры" +msgid "Document available in ADF" +msgstr "" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Обновляет параметры." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "Восьмибитный вывод" +msgid "Hide end-of-page pixel" +msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -"Внутри использовать разрядность более 8 бит, но выводить только 8 бит." -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Ожидать кнопки на лицевой панели" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." -msgstr "Ждать нажатия кнопки на передней панели для начала сканирования." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" +msgstr "" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Выключить лампу" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Выключает лампу сканера." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4032,7 +4073,7 @@ msgid "single" msgstr "" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, fuzzy, no-c-format msgid "continuous" @@ -4200,9 +4241,9 @@ msgid "crt" msgstr "" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Штриховой" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4331,7 +4372,7 @@ msgstr "Устанавливает выразительность изображ #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Гамма" @@ -4398,11 +4439,11 @@ msgstr "" msgid "Request driver to remove border from pages digitally" msgstr "" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" #: backend/kvs20xx_opt.c:424 backend/kvs20xx_opt.c:425 @@ -4434,12 +4475,12 @@ msgstr "" #: backend/kvs40xx_opt.c:231 #, fuzzy, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "Печать высокой плотности" #: backend/kvs40xx_opt.c:232 #, fuzzy, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "Печать высокой плотности" #: backend/kvs40xx_opt.c:243 @@ -4462,6 +4503,13 @@ msgstr "Нормально" msgid "Enhanced mode" msgstr "Повышение" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4521,7 +4569,7 @@ msgstr "" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +msgid "JPEG compression (your application must be able to uncompress)" msgstr "" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4556,12 +4604,12 @@ msgstr "" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "" #: backend/kvs40xx_opt.c:816 @@ -4571,13 +4619,13 @@ msgstr "" #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Зеркальное изображение" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4614,52 +4662,52 @@ msgstr "" msgid "8x8 Vertical Line" msgstr "8x8 вертикальная линия" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Усиление" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Настройки усиления цветовых каналов" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Усиление серого" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Устанавливает усиление серого канала" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Усиление красного" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Устанавливает усиление красного канала" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Усиление зелёного" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Устанавливает усиление зелёного канала" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Усиление синего" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Устанавливает усиление синего канала" @@ -4745,7 +4793,7 @@ msgstr "Одна страница" msgid "All pages" msgstr "Все страницы" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "листовой сканер" @@ -5265,39 +5313,44 @@ msgstr "" "Разогревать пока яркость лампы не станет постоянной, вместо простого 40-" "тисекундного ожидания разогрева." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Грубая калибровка" + +#: backend/pixma/pixma.c:397 #, fuzzy, no-c-format msgid "Negative color" msgstr "Негатив" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, fuzzy, no-c-format msgid "Negative gray" msgstr "Негатив" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " "mode and resolution. Resets mode and resolution to auto values." msgstr "" -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5305,40 +5358,40 @@ msgid "" "cancel, press \"GRAY\" button." msgstr "" -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, fuzzy, no-c-format msgid "Update button state" msgstr "Состояние кнопки" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, fuzzy, no-c-format msgid "Button 1" msgstr "Кнопки" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, fuzzy, no-c-format msgid "Button 2" msgstr "Кнопки" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5427,7 +5480,7 @@ msgstr "" msgid "Red gain value of the AFE" msgstr "" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Смещение красного" @@ -5690,7 +5743,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "Этот параметр отражает состояние кнопок сканера." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Включить лампу" @@ -5700,12 +5753,12 @@ msgstr "Включить лампу" msgid "Turn on scanner lamp" msgstr "Включить лампу сканера" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Выключить лампу" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Выключить лампу сканера" @@ -5852,13 +5905,13 @@ msgid "Focus point" msgstr "Расположение фокуса" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" +#, fuzzy, no-c-format +msgid "Color lines per read" msgstr "Цветных строк за запрос на чтение" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" msgstr "Чёрно-белых строк за запрос на чтение" #: backend/stv680.c:974 @@ -6466,52 +6519,52 @@ msgstr "Режим калибровки" msgid "Define calibration mode" msgstr "Задать режим калибровки" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Включить/выключить лампу" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "включить UTA" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Включить/выключить UTA" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Смещение" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Настройки смещения цветовых каналов" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Смещение серого" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Устанавливает смещение канала серого" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Устанавливает смещение канала красного" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Устанавливает смещение канала зелёного" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Устанавливает смещение канала синего" diff --git a/po/sv.po b/po/sv.po index 9ba7d45..5b6eec1 100644 --- a/po/sv.po +++ b/po/sv.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: sane-backends 1.0.18\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" "PO-Revision-Date: 2012-10-22 11:17+0200\n" "Last-Translator: Mattias Ellert \n" "Language-Team: Swedish \n" @@ -31,31 +31,31 @@ msgid "Standard" msgstr "Standard" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Geometri" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Förbättring" @@ -89,7 +89,7 @@ msgid "Bit depth" msgstr "Bitdjup" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Bildläsarläge" @@ -130,7 +130,7 @@ msgid "Bottom-right y" msgstr "Nedre" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Upplösning" @@ -285,7 +285,7 @@ msgstr "Filnamn" msgid "Halftone pattern size" msgstr "Rastermönstersstorlek" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Rastermönster" @@ -295,10 +295,10 @@ msgstr "Rastermönster" msgid "Bind X and Y resolution" msgstr "Koppla X- och Y-upplösning" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Negativ" @@ -419,9 +419,9 @@ msgid "Lamp off at exit" msgstr "Lampa av vid avslut" #: include/sane/saneopts.h:245 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Skrivskyddat värde som anger hur många parametrar en specifik enhet " @@ -749,8 +749,8 @@ msgid "Analog gamma-correction for blue" msgstr "Analog gammakorrigering för blått" #: include/sane/saneopts.h:415 -#, no-c-format -msgid "Warmup lamp before scanning" +#, fuzzy, no-c-format +msgid "Warm up lamp before scanning" msgstr "Värm upp lampan innan inläsning" #: include/sane/saneopts.h:417 @@ -899,8 +899,8 @@ msgid "Operation not supported" msgstr "Kommandot ej understött" #: backend/sane_strstatus.c:65 -#, no-c-format -msgid "Operation was cancelled" +#, fuzzy, no-c-format +msgid "Operation was canceled" msgstr "Kommandot avbröts" #: backend/sane_strstatus.c:68 @@ -993,10 +993,10 @@ msgid "Only perform shading-correction" msgstr "Utför endast skuggkorrigering" #: backend/artec_eplus48u.c:2956 -#, no-c-format +#, fuzzy, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Om denna inställning är vald utförs endast skuggkorrigering vid " @@ -1024,83 +1024,43 @@ msgid "Duplex scan" msgstr "Dubbelsidig inläsning" #: backend/avision.h:783 -#, no-c-format +#, fuzzy, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "Dubbelsidig inläsning läser in dokumentets framsida och baksida" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Kalibrera bildläsaren" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Utför bildläsarkalibrering före inläsning" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Gråskaleinläsning" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Gör en gråskaleinläsning i stället för en färginläsning" - -#: backend/canon630u.c:306 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Analog Gain" -msgstr "Analog förstärkning" +msgid "Correction according to transparency ratio" +msgstr "Korrigering beroende på genomlysningskvot" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Öka eller minska CCD-sensorns analoga förstärkning" +msgid "Correction according to film type" +msgstr "Korrigering beroende på filmtyp" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "Gammakorrigering" +msgid "Fine color" +msgstr "Fin färg" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Väljer gammakorrigerad överföringskurva" +msgid "Negatives" +msgstr "Negativ" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "Rå" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Fin färg" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Ingen genomlysningskorrigering" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Korrigering beroende på filmtyp" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Korrigering beroende på genomlysningskvot" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Negativ" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1234,8 +1194,8 @@ msgid "invalid bit IDENTIFY message" msgstr "ogiltigt bit-IDENTIFY-meddelande" #: backend/canon.c:460 -#, no-c-format -msgid "option not connect" +#, fuzzy, no-c-format +msgid "option not correct" msgstr "inställning inte anslut" #: backend/canon.c:474 @@ -1525,133 +1485,184 @@ msgstr "Välj filmtyp" msgid "Select the film type" msgstr "Välj filmtyp" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Kalibrera bildläsaren" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Utför bildläsarkalibrering före inläsning" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Gråskaleinläsning" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Gör en gråskaleinläsning i stället för en färginläsning" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Analog förstärkning" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Öka eller minska CCD-sensorns analoga förstärkning" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Gammakorrigering" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Väljer gammakorrigerad överföringskurva" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Flatbädd" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Automatisk dokumentmatare framsida" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Automatisk dokumentmatare baksida" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Automatisk dokumentmatare dubbelsidigt" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, fuzzy, no-c-format msgid "Card Front" msgstr "Framsida" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, fuzzy, no-c-format msgid "Card Back" msgstr "Baksida" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, fuzzy, no-c-format msgid "Card Duplex" msgstr "Dubbelsidigt" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Röd" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Grön" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Blå" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Red" msgstr "Framhäv rött" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, no-c-format msgid "Enhance Green" msgstr "Framhäv grönt" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, no-c-format msgid "Enhance Blue" msgstr "Framhäv blått" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Inget" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "Procentsats för hoppa över blanka sidor" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, fuzzy, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "Begär att drivrutinen hoppar över sidor med få mörka pixlar" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Enkelsidigt" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Dubbelsidigt" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Genomlysningsenhet" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Automatisk dokumentmatare" @@ -1763,7 +1774,7 @@ msgstr "Bläckstråleskrivare" msgid "CRT monitors" msgstr "Bildskärmar (CRT)" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1827,8 +1838,9 @@ msgstr "A4" msgid "Max" msgstr "Max" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -2000,17 +2012,17 @@ msgstr "Anger zoom-faktorn som bildläsaren kommer att använda" msgid "Quick format" msgstr "Snabbformatera" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Tillvalsutrustning" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Mata ut" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Mata ut bladet i dokumentmataren" @@ -2025,12 +2037,14 @@ msgstr "Mata ut automatiskt" msgid "Eject document after scanning" msgstr "Mata ut dokument efter inläsning" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Dokumentmatarläge" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "" @@ -2083,16 +2097,16 @@ msgstr "" "Efter att ha skickat inläsningskommandot, vänta tills knappen på läsaren " "trycks in för att starta inläsningen." -#: backend/epson2.c:102 backend/pixma.c:409 -#, no-c-format -msgid "Infrared" -msgstr "Infraröd" - -#: backend/epson2.c:117 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "TPU 8x10" +#: backend/epson2.c:102 backend/pixma/pixma.c:409 +#, no-c-format +msgid "Infrared" +msgstr "Infraröd" + #: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" @@ -2113,494 +2127,514 @@ msgstr "Inbyggd CCT-profil" msgid "User defined CCT profile" msgstr "Användardefinierad CCT-profil" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "" + +#: backend/epsonds.c:751 +#, fuzzy, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Mata ut bladet i dokumentmataren" + +#: backend/epsonds.c:771 +#, fuzzy, no-c-format +msgid "ADF Skew Correction" +msgstr "Ingen korrigering" + +#: backend/epsonds.c:773 +#, fuzzy, no-c-format +msgid "Enables ADF skew correction" +msgstr "Stäng av gammakorrigering" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "På" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Av" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Gitter" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, no-c-format msgid "Diffusion" msgstr "Diffusion" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, no-c-format msgid "White" msgstr "Vit" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, no-c-format msgid "Black" msgstr "Svart" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "Fortsätt" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "Avsluta" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "10 mm" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "15 mm" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "20 mm" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "Vågrätt" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, no-c-format msgid "Horizontal bold" msgstr "Vågrätt fetstil" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, no-c-format msgid "Horizontal narrow" msgstr "Vågrätt smal" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "Lodrätt" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, no-c-format msgid "Vertical bold" msgstr "Lodrätt fetstil" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "Uppifrån och ner" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "Nerifrån och upp" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, no-c-format msgid "Front" msgstr "Framsida" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "Baksida" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "Gammafunktionsexponent" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "Ändrar intensitet hos mellantoner" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, fuzzy, no-c-format msgid "Reverse image format" msgstr "Inverterad bild" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, fuzzy, no-c-format msgid "Halftone type" msgstr "Raster" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, fuzzy, no-c-format msgid "Perform outline extraction" msgstr "Utför kalibrering" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, fuzzy, no-c-format msgid "Emphasis" msgstr "Bildton" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, fuzzy, no-c-format msgid "Separation" msgstr "Mättnad" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, fuzzy, no-c-format msgid "Enable automatic separation of image and text" msgstr "" "Möjliggör automatisk bestämning av tröskelvärde för " "streckteckningsinläsningar." -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, fuzzy, no-c-format msgid "Mirroring" msgstr "Spegla bild" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, fuzzy, no-c-format msgid "Reflect output image horizontally" msgstr "Spegla bilden vågrätt." -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, fuzzy, no-c-format msgid "White level follower" msgstr "Vitnivå för blått" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, fuzzy, no-c-format msgid "Control white level follower" msgstr "Bestämmer rödnivån" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, fuzzy, no-c-format msgid "BP filter" msgstr "Färgfilter" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Utjämning" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, fuzzy, no-c-format msgid "Gamma curve" msgstr "Gammavärde" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Tröskelkurva" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, fuzzy, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" msgstr "Dynamisk tröskelkurva, från ljust till mörkt, vanligen 50-65" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, fuzzy, no-c-format msgid "Threshold white" msgstr "Tröskelvärde" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, fuzzy, no-c-format msgid "Noise removal" msgstr "Brusreducering" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, fuzzy, no-c-format msgid "Auto width detection" msgstr "Ingen detektering" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "" -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, fuzzy, no-c-format msgid "Auto length detection" msgstr "Ingen detektering" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, fuzzy, no-c-format msgid "Compression" msgstr "jpeg-komprimmering" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " "is same as 4" msgstr "" -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, fuzzy, no-c-format msgid "Action following double feed error" msgstr "Ignorera högra dubbelmatningssensorn" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, fuzzy, no-c-format msgid "Enable double feed error due to skew" msgstr "Aktivera/avaktivera dubbelmatningsdetekteing" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, fuzzy, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "Aktivera/avaktivera dubbelmatningsdetekteing" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, fuzzy, no-c-format msgid "Enable double feed error due to paper length" msgstr "Aktivera/avaktivera dubbelmatningsdetekteing" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, fuzzy, no-c-format msgid "DF recovery mode" msgstr "automatiska dokumentmatarens lock är öppet" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, fuzzy, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "Begär att drivrutinen tar bort ramar från sidor auomatiskt" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, fuzzy, no-c-format msgid "Advanced paper protection" msgstr "Avancerade inställningar" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, fuzzy, no-c-format msgid "Staple detection" msgstr "Ingen detektering" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" msgstr "" -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, fuzzy, no-c-format msgid "Dropout color" msgstr "Blindfärg" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " "useful for colored paper or ink" msgstr "" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, fuzzy, no-c-format msgid "Buffer mode" msgstr "Dokumentmatarläge" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format msgid "Request scanner to read pages quickly from ADF into internal memory" msgstr "" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" msgstr "" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2608,65 +2642,65 @@ msgid "" "collection on remaining sides. May conflict with bgcolor option" msgstr "" -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" msgstr "" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, fuzzy, no-c-format msgid "Off timer" msgstr "Lampavstängningstid" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " "off. Will be rounded to nearest 15 minutes. Zero means never power off." msgstr "" -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, fuzzy, no-c-format msgid "Duplex offset" msgstr "Blå offset" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Grön offset" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, fuzzy, no-c-format msgid "Adjust green/red offset" msgstr "Grön offset" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Blå offset" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, fuzzy, no-c-format msgid "Adjust blue/red offset" msgstr "Ställer in den blå kanalens offset" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, fuzzy, no-c-format msgid "Low Memory" msgstr "Slut på minne" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2675,379 +2709,364 @@ msgid "" "only be used with custom front-end software." msgstr "" -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, fuzzy, no-c-format msgid "Duplex side" msgstr "Dubbelsidig inläsning" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " "sane_read will return." msgstr "" -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, fuzzy, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "Begär att drivrutinen linjerar upp sneda sidor digitalt" -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "Mjukvaruupplinjering" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, fuzzy, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "Begär att drivrutinen linjerar upp sneda sidor digitalt" -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "Mjukvarufläckborttagningsdiameter" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, fuzzy, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" "Maximal diameter för ensamma prickar som tas bort från den inlästa bilden" -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "Mjukvarubeskärning" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, fuzzy, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "Begär att drivrutinen tar bort ramar från sidor auomatiskt" -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." msgstr "" -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, fuzzy, no-c-format msgid "Endorser Options" msgstr "Avancerade inställningar" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "" -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "" -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "" -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "" -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, fuzzy, no-c-format msgid "Endorser direction" msgstr "Brusreducering" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "" -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " "replaced by counter value." msgstr "" -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, fuzzy, no-c-format msgid "A3 paper" msgstr "Från papper" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, fuzzy, no-c-format msgid "B4 paper" msgstr "Från papper" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, fuzzy, no-c-format msgid "A4 paper" msgstr "Från papper" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, fuzzy, no-c-format msgid "B5 paper" msgstr "Från papper" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, fuzzy, no-c-format msgid "OMR or double feed detected" msgstr "Dubbelmatningsdetektering" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, fuzzy, no-c-format msgid "Scanner in power saving mode" msgstr "Bildläsarens lock är öppet" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, fuzzy, no-c-format msgid "Manual feed" msgstr "Manuell matning" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, fuzzy, no-c-format msgid "Manual feed selected" msgstr "Manuell matning" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, fuzzy, no-c-format msgid "Double feed" msgstr "Dubbelmatningsdetektering" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, fuzzy, no-c-format msgid "Double feed detected" msgstr "Dubbelmatningsdetektering" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, fuzzy, no-c-format msgid "Hardware error code" msgstr "hårdvarukontrollfel" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, fuzzy, no-c-format msgid "Imprinter ink level" msgstr "Vitnivå" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, fuzzy, no-c-format msgid "Density" msgstr "Densitetsinställning" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, fuzzy, no-c-format msgid "Density dial" msgstr "Densitetsinställning" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, fuzzy, no-c-format msgid "Duplex switch" msgstr "Dubbelsidig inläsning" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "Begär att drivrutinen tar bort ram från sidor automatiskt" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "Begär att drivrutinen hoppar över sidor med få mörka pixlar" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "Mjukvaruavrotera" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" "Begär att drivrutinen detekterar och korrigerar 90 graders bildrotation" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Övrigt" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "Dynamisk tröskelkurva, från ljust till mörkt, vanligen 50-65" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "Avaktivera dynamisk streckteckning" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" -"Stäng av användandet av en adaptiv algoritm i mjukvaran för att generera " -"streckteckningsinläsningar för att i stället använda hårdvarans " -"streckteckningsinläsningsläge." - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "Stäng av interpolering" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3057,46 +3076,46 @@ msgstr "" "mindre än den vertikala upplösningen stänger detta av den horisontella " "interpoleringen." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, fuzzy, no-c-format msgid "Color filter" msgstr "Färgfilter" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "När gråskala eller streckteckning används väljer denna inställning den " "använda färgen." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, fuzzy, no-c-format msgid "Calibration file" msgstr "Kalibrering" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, fuzzy, no-c-format msgid "Specify the calibration file to use" msgstr "Definiera kalibreringsläge" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, fuzzy, no-c-format msgid "Calibration cache expiration time" msgstr "Kalibreringsdatacache" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " "means cache is not used. A negative value means cache never expires." msgstr "" -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Lampavstängningstid" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3105,89 +3124,108 @@ msgstr "" "Lampan kommer att stängas av efter den angivna tiden (i minuter). Värdet " "0 betyder att lampan inte kommer att stängas av." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, no-c-format msgid "Lamp off during scan" msgstr "Stäng av lampan under inläsning" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Lampan kommer att stängas av under inläsningen." -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "Filknapp" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "Optisk teckenigenkännings-knapp" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "Påslagningsknapp" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, fuzzy, no-c-format msgid "Extra button" msgstr "E-postknapp" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 -#, no-c-format -msgid "Need calibration" +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 +#, fuzzy, no-c-format +msgid "Needs calibration" msgstr "Behöver kalibrering" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Bildläsaren behöver kalibrering för nuvarande inställningar" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Knappar" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Kalibrera" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, no-c-format msgid "Start calibration using special sheet" msgstr "Påbörja kalibrering med specialark" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, no-c-format msgid "Clear calibration" msgstr "Rensa kalibrering" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, no-c-format msgid "Clear calibration cache" msgstr "Rensa kalibreringsdatacache" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, fuzzy, no-c-format msgid "Force calibration" msgstr "Grovkalibrering" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, fuzzy, no-c-format +msgid "Ignore internal offsets" +msgstr "Grön offset" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Genomlysningsadapter" +#: backend/genesys/genesys.h:80 +#, fuzzy, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Genomlysningsadapter" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3293,632 +3331,632 @@ msgstr "Gammavärde" msgid "Sets the gamma value of all channels." msgstr "Ställer in gammavärdet för alla kanaler." -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "Geometrigrupp" +msgid "Advanced Options" +msgstr "Avancerade inställningar" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "Bildläsarlägesgrupp" +msgid "Coarse" +msgstr "Grovt" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "Diapositiv" +msgid "Fine" +msgstr "Fint" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Scanner model" -msgstr "Bildläsarmodel" - -#: backend/hp3900_sane.c:1408 -#, fuzzy, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "Tillåter att testa enhetsbeteende med andra understötta modeller" +msgid "Bayer" +msgstr "Bayer" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Image colours will be inverted" -msgstr "Bildens färger kommer att inverteras" +msgid "Custom" +msgstr "Användardefinierat" -#: backend/hp3900_sane.c:1436 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Disable gamma correction" -msgstr "Stäng av gammakorrigering" +msgid "Auto" +msgstr "Automatiskt" -#: backend/hp3900_sane.c:1437 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Gammakorrigering kommer att stängas av" +msgid "NTSC RGB" +msgstr "NTSC-RGB" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Disable white shading correction" -msgstr "Stäng av vit skuggkorrigering" +msgid "XPA RGB" +msgstr "XPA-RGB" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3093 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "Vit skuggkorrigering kommer att stängas av" +msgid "Pass-through" +msgstr "Oförändrat" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3094 #, no-c-format -msgid "Skip warmup process" -msgstr "Hoppa över uppvärmningsprocessen" +msgid "NTSC Gray" +msgstr "NTSC-grå" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "Uppvärmningsprocessen kommer att stängas av" +msgid "XPA Gray" +msgstr "XPA-grå" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Force real depth" -msgstr "Använd verkligt bitdjup" +msgid "Slow" +msgstr "Långsam" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"Om gamma är aktiverat görs inläsningar alltid med 16 bitars djup för att " -"förbättra bildkvaliteten för att sedan konvertera till det valda " -"bitdjupet. Denna inställning undviker bitdjupsemulering." +msgid "Normal" +msgstr "Normal" -#: backend/hp3900_sane.c:1499 +#: backend/hp-option.c:3149 #, no-c-format -msgid "Emulate Grayscale" -msgstr "Emulera gråskala" +msgid "Fast" +msgstr "Snabb" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3150 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"Om aktiverad, kommer bilden att läsas in i färg för att sedan " -"konverteras till gråskala av mjukvara. Detta kan förbättra " -"bildkvaliteten under vissa omständigheter." +msgid "Extra Fast" +msgstr "Extra snabb" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3163 #, no-c-format -msgid "Save debugging images" -msgstr "Spara debuggningsbilder" +msgid "2-pixel" +msgstr "2 pixlar" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3164 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"Om aktiverad kommer ett antal bilder inblandade i " -"inläsningsprocesseringen att sparas för analys." +msgid "4-pixel" +msgstr "4 pixlar" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3165 #, no-c-format -msgid "Reset chipset" -msgstr "Återställ chipset" +msgid "8-pixel" +msgstr "8 pixlar" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Resets chipset data" -msgstr "Återställer chipsetdata" +msgid "Print" +msgstr "Fotografi" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Information" -msgstr "Information" +msgid "Slide" +msgstr "Diapositiv" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Chipset name" -msgstr "Chipsetsnamn" +msgid "Film-strip" +msgstr "Filmremsa" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "Visar chipsetnamn använt i enheten." +msgid "ADF" +msgstr "Automatisk dokumentmatare" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Unknown" -msgstr "Okänd" +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Chipset ID" -msgstr "Chipset-ID" +msgid "Conditional" +msgstr "Villkorlig" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Shows the chipset ID" -msgstr "Visar chipset-ID" +msgid "Experiment" +msgstr "Experiment" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.h:60 #, no-c-format -msgid "Scan counter" -msgstr "Inläsningsräknare" +msgid "Sharpening" +msgstr "Skärpa" -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:61 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Visar antalet inläsningar som gjorts med bildläsaren" +msgid "Set sharpening value." +msgstr "Ställer in skärpevärdet." -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.h:66 #, no-c-format -msgid "Update information" -msgstr "Uppdatera informationen" +msgid "Auto Threshold" +msgstr "Automatiskt tröskelvärde" -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:68 #, no-c-format -msgid "Updates information about device" -msgstr "Uppdaterar informationen om enheten" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "" +"Möjliggör automatisk bestämning av tröskelvärde för " +"streckteckningsinläsningar." -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:74 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Denna inställing avspeglar en knapp på bildläsarens panel" +msgid "Select smoothing filter." +msgstr "Välj utjämningsfilter." -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:79 #, no-c-format -msgid "Image" -msgstr "Bild" +msgid "Unload media after scan" +msgstr "Mata ut media efter inläsning" -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:80 #, no-c-format -msgid "Miscellaneous" -msgstr "Diverse" +msgid "Unloads the media after a scan." +msgstr "Matar ut media efter en inläsning." -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:85 #, no-c-format -msgid "offset X" -msgstr "offset X" +msgid "Change document" +msgstr "Byt dokument" -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:86 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Inläsningsytans hårdvaruinterna X-position." +msgid "Change Document." +msgstr "Byt dokument." -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:91 #, no-c-format -msgid "offset Y" -msgstr "offset Y" +msgid "Unload" +msgstr "Mata ut" -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:92 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Inläsningsytans hårdvaruinterna Y-position." +msgid "Unload Document." +msgstr "Mata ut dokument." -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:98 #, no-c-format -msgid "Lamp status" -msgstr "Lampstatus" +msgid "Start calibration process." +msgstr "Påbörja kalibreringsprocessen." -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:103 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Sätter på eller av lampan." +msgid "Media" +msgstr "Media" -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:104 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Kalibrerar för svart- och vitnivå." +msgid "Set type of media." +msgstr "Välj mediatyp." -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:109 #, no-c-format -msgid "ADF" -msgstr "Automatisk dokumentmatare" +msgid "Exposure time" +msgstr "Exponeringstid" -#: backend/hp5590.c:95 +#: backend/hp-option.h:111 #, no-c-format -msgid "TMA Slides" -msgstr "TMA-positiv" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"En längre exponeringstid låter bildläsaren samla in mer ljus. Föreslagen " +"användning är 175% för fotografier, 150% för diapositiv och \"Negativ\" " +"för negativ film. För mörka (underexponerade) bilder kan du öka detta " +"värde." -#: backend/hp5590.c:96 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "TMA Negatives" -msgstr "TMA-negativ" +msgid "Color Matrix" +msgstr "Färgmatris" -#: backend/hp5590.c:108 -#, no-c-format -msgid "Color (48 bits)" -msgstr "Färg (48 bitar)" +#: backend/hp-option.h:121 +#, fuzzy, no-c-format +msgid "Set the scanner's color matrix." +msgstr "Ställer in bildläsarens färgmatris." -#: backend/hp5590.c:112 +#: backend/hp-option.h:127 #, no-c-format -msgid "Extend lamp timeout" -msgstr "Utöka lampavstängningstid" +msgid "Custom color matrix." +msgstr "Användardefinierad färgmatris." -#: backend/hp5590.c:113 +#: backend/hp-option.h:132 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "Utökar lampavstängningstiden (från 15 minuter till 1 timme)" +msgid "Mono Color Matrix" +msgstr "Enfärgsmatris" -#: backend/hp5590.c:115 +#: backend/hp-option.h:133 #, no-c-format -msgid "Wait for button" -msgstr "Vänta på knapp" +msgid "Custom color matrix for grayscale scans." +msgstr "Användardefinierad färgmatris för gråskaleinläsningar." -#: backend/hp5590.c:116 +#: backend/hp-option.h:138 #, no-c-format -msgid "Waits for button before scanning" -msgstr "Vänta på knapp innan inläsning" - -#: backend/hp5590.c:118 -#, fuzzy, no-c-format -msgid "Last button pressed" -msgstr "Uppdatera knappläge" +msgid "Mirror horizontal" +msgstr "Spegla vågrätt" -#: backend/hp5590.c:119 +#: backend/hp-option.h:139 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "" - -#: backend/hp5590.c:121 -#, fuzzy, no-c-format -msgid "LCD counter" -msgstr "Inläsningsräknare" +msgid "Mirror image horizontally." +msgstr "Spegla bilden vågrätt." -#: backend/hp5590.c:122 +#: backend/hp-option.h:144 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "" - -#: backend/hp5590.c:124 -#, fuzzy, no-c-format -msgid "Color LED indicator" -msgstr "Färgstreckteckning" +msgid "Mirror vertical" +msgstr "Spegla lodrätt" -#: backend/hp5590.c:125 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "" +msgid "Mirror image vertically." +msgstr "Spegla bilden lodrätt." -#: backend/hp5590.c:127 +#: backend/hp-option.h:150 #, no-c-format -msgid "Document available in ADF" -msgstr "" +msgid "Update options" +msgstr "Uppdatera inställningsvärden" -#: backend/hp5590.c:128 +#: backend/hp-option.h:151 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" -msgstr "" +msgid "Update options." +msgstr "Uppdatera inställningsvärden." -#: backend/hp5590.c:130 +#: backend/hp-option.h:156 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "" +msgid "8 bit output" +msgstr "8 bitars utdata" -#: backend/hp5590.c:131 +#: backend/hp-option.h:158 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" +msgid "Use bit depth greater eight internally, but output only eight bits." msgstr "" +"Använd ett bitdjup större än 8 internt, men ge endast 8 bitars utdata." -#: backend/hp5590.c:133 +#: backend/hp-option.h:164 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "" +msgid "Front button wait" +msgstr "Invänta knapptryck" -#: backend/hp5590.c:134 +#: backend/hp-option.h:165 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" +msgid "Wait to scan for front-panel button push." msgstr "" +"Vänta med inläsningen tills dess att knappen på frontpanelen trycks in." -#: backend/hp5590.c:137 +#: backend/hp-option.h:172 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "" +msgid "Shut off lamp" +msgstr "Slå av lampan" -#: backend/hp5590.c:138 +#: backend/hp-option.h:173 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" -msgstr "" +msgid "Shut off scanner lamp." +msgstr "Slå av bildläsarlampan." -#: backend/hp-option.c:2987 +#: backend/hp3500.c:1020 #, no-c-format -msgid "Advanced Options" -msgstr "Avancerade inställningar" +msgid "Geometry Group" +msgstr "Geometrigrupp" -#: backend/hp-option.c:3044 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "Coarse" -msgstr "Grovt" +msgid "Scan Mode Group" +msgstr "Bildläsarlägesgrupp" -#: backend/hp-option.c:3045 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "Fine" -msgstr "Fint" +msgid "Scanner model" +msgstr "Bildläsarmodel" -#: backend/hp-option.c:3046 -#, no-c-format -msgid "Bayer" -msgstr "Bayer" +#: backend/hp3900_sane.c:1408 +#, fuzzy, no-c-format +msgid "Allows one to test device behavior with other supported models" +msgstr "Tillåter att testa enhetsbeteende med andra understötta modeller" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1422 +#, fuzzy, no-c-format +msgid "Image colors will be inverted" +msgstr "Bildens färger kommer att inverteras" + +#: backend/hp3900_sane.c:1436 #, no-c-format -msgid "Custom" -msgstr "Användardefinierat" +msgid "Disable gamma correction" +msgstr "Stäng av gammakorrigering" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1437 #, no-c-format -msgid "Auto" -msgstr "Automatiskt" +msgid "Gamma correction will be disabled" +msgstr "Gammakorrigering kommer att stängas av" -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "NTSC RGB" -msgstr "NTSC-RGB" +msgid "Disable white shading correction" +msgstr "Stäng av vit skuggkorrigering" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "XPA RGB" -msgstr "XPA-RGB" +msgid "White shading correction will be disabled" +msgstr "Vit skuggkorrigering kommer att stängas av" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Pass-through" -msgstr "Oförändrat" +msgid "Skip warmup process" +msgstr "Hoppa över uppvärmningsprocessen" -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "NTSC Gray" -msgstr "NTSC-grå" +msgid "Warmup process will be disabled" +msgstr "Uppvärmningsprocessen kommer att stängas av" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "XPA Gray" -msgstr "XPA-grå" +msgid "Force real depth" +msgstr "Använd verkligt bitdjup" -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Slow" -msgstr "Långsam" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"Om gamma är aktiverat görs inläsningar alltid med 16 bitars djup för att " +"förbättra bildkvaliteten för att sedan konvertera till det valda " +"bitdjupet. Denna inställning undviker bitdjupsemulering." -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1499 #, no-c-format -msgid "Normal" -msgstr "Normal" +msgid "Emulate Grayscale" +msgstr "Emulera gråskala" -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "Fast" -msgstr "Snabb" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"Om aktiverad, kommer bilden att läsas in i färg för att sedan " +"konverteras till gråskala av mjukvara. Detta kan förbättra " +"bildkvaliteten under vissa omständigheter." -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Extra Fast" -msgstr "Extra snabb" +msgid "Save debugging images" +msgstr "Spara debuggningsbilder" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "2-pixel" -msgstr "2 pixlar" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"Om aktiverad kommer ett antal bilder inblandade i " +"inläsningsprocesseringen att sparas för analys." -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "4-pixel" -msgstr "4 pixlar" +msgid "Reset chipset" +msgstr "Återställ chipset" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "8-pixel" -msgstr "8 pixlar" +msgid "Resets chipset data" +msgstr "Återställer chipsetdata" -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "Print" -msgstr "Fotografi" +msgid "Information" +msgstr "Information" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "Film-strip" -msgstr "Filmremsa" +msgid "Chipset name" +msgstr "Chipsetsnamn" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "XPA" -msgstr "XPA" +msgid "Shows chipset name used in device." +msgstr "Visar chipsetnamn använt i enheten." -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Conditional" -msgstr "Villkorlig" +msgid "Unknown" +msgstr "Okänd" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Experiment" -msgstr "Experiment" +msgid "Chipset ID" +msgstr "Chipset-ID" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "Sharpening" -msgstr "Skärpa" +msgid "Shows the chipset ID" +msgstr "Visar chipset-ID" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1582 #, no-c-format -msgid "Set sharpening value." -msgstr "Ställer in skärpevärdet." +msgid "Scan counter" +msgstr "Inläsningsräknare" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Auto Threshold" -msgstr "Automatiskt tröskelvärde" +msgid "Shows the number of scans made by scanner" +msgstr "Visar antalet inläsningar som gjorts med bildläsaren" -#: backend/hp-option.h:68 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "" -"Möjliggör automatisk bestämning av tröskelvärde för " -"streckteckningsinläsningar." +msgid "Update information" +msgstr "Uppdatera informationen" -#: backend/hp-option.h:74 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Select smoothing filter." -msgstr "Välj utjämningsfilter." +msgid "Updates information about device" +msgstr "Uppdaterar informationen om enheten" -#: backend/hp-option.h:79 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Unload media after scan" -msgstr "Mata ut media efter inläsning" +msgid "This option reflects a front panel scanner button" +msgstr "Denna inställing avspeglar en knapp på bildläsarens panel" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Matar ut media efter en inläsning." +msgid "Image" +msgstr "Bild" -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Change document" -msgstr "Byt dokument" +msgid "Miscellaneous" +msgstr "Diverse" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Change Document." -msgstr "Byt dokument." +msgid "offset X" +msgstr "offset X" -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unload" -msgstr "Mata ut" +msgid "Hardware internal X position of the scanning area." +msgstr "Inläsningsytans hårdvaruinterna X-position." -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Unload Document." -msgstr "Mata ut dokument." +msgid "offset Y" +msgstr "offset Y" -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Start calibration process." -msgstr "Påbörja kalibreringsprocessen." +msgid "Hardware internal Y position of the scanning area." +msgstr "Inläsningsytans hårdvaruinterna Y-position." -#: backend/hp-option.h:103 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Media" -msgstr "Media" +msgid "Lamp status" +msgstr "Lampstatus" -#: backend/hp-option.h:104 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Set type of media." -msgstr "Välj mediatyp." +msgid "Switches the lamp on or off." +msgstr "Sätter på eller av lampan." -#: backend/hp-option.h:109 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Exposure time" -msgstr "Exponeringstid" +msgid "Calibrates for black and white level." +msgstr "Kalibrerar för svart- och vitnivå." -#: backend/hp-option.h:111 +#: backend/hp5590.c:95 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"En längre exponeringstid låter bildläsaren samla in mer ljus. Föreslagen " -"användning är 175% för fotografier, 150% för diapositiv och \"Negativ\" " -"för negativ film. För mörka (underexponerade) bilder kan du öka detta " -"värde." +msgid "TMA Slides" +msgstr "TMA-positiv" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:96 #, no-c-format -msgid "Color Matrix" -msgstr "Färgmatris" +msgid "TMA Negatives" +msgstr "TMA-negativ" -#: backend/hp-option.h:121 +#: backend/hp5590.c:108 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "Ställer in bildläsarens färgmatris." +msgid "Color (48 bits)" +msgstr "Färg (48 bitar)" -#: backend/hp-option.h:127 +#: backend/hp5590.c:112 #, no-c-format -msgid "Custom color matrix." -msgstr "Användardefinierad färgmatris." +msgid "Extend lamp timeout" +msgstr "Utöka lampavstängningstid" -#: backend/hp-option.h:132 +#: backend/hp5590.c:113 #, no-c-format -msgid "Mono Color Matrix" -msgstr "Enfärgsmatris" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Utökar lampavstängningstiden (från 15 minuter till 1 timme)" -#: backend/hp-option.h:133 +#: backend/hp5590.c:115 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Användardefinierad färgmatris för gråskaleinläsningar." +msgid "Wait for button" +msgstr "Vänta på knapp" -#: backend/hp-option.h:138 +#: backend/hp5590.c:116 #, no-c-format -msgid "Mirror horizontal" -msgstr "Spegla vågrätt" +msgid "Waits for button before scanning" +msgstr "Vänta på knapp innan inläsning" -#: backend/hp-option.h:139 +#: backend/hp5590.c:118 +#, fuzzy, no-c-format +msgid "Last button pressed" +msgstr "Uppdatera knappläge" + +#: backend/hp5590.c:119 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Spegla bilden vågrätt." +msgid "Get ID of last button pressed (read only)" +msgstr "" -#: backend/hp-option.h:144 +#: backend/hp5590.c:121 +#, fuzzy, no-c-format +msgid "LCD counter" +msgstr "Inläsningsräknare" + +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror vertical" -msgstr "Spegla lodrätt" +msgid "Get value of LCD counter (read only)" +msgstr "" -#: backend/hp-option.h:145 +#: backend/hp5590.c:124 +#, fuzzy, no-c-format +msgid "Color LED indicator" +msgstr "Färgstreckteckning" + +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Spegla bilden lodrätt." +msgid "Get value of LED indicator (read only)" +msgstr "" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Uppdatera inställningsvärden" +msgid "Document available in ADF" +msgstr "" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Uppdatera inställningsvärden." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "8 bitars utdata" +msgid "Hide end-of-page pixel" +msgstr "" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -"Använd ett bitdjup större än 8 internt, men ge endast 8 bitars utdata." -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Invänta knapptryck" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" msgstr "" -"Vänta med inläsningen tills dess att knappen på frontpanelen trycks in." -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Slå av lampan" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Slå av bildläsarlampan." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4018,7 +4056,7 @@ msgid "single" msgstr "ensidigt" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" @@ -4186,9 +4224,9 @@ msgid "crt" msgstr "bildskärm" #: backend/kvs1025_opt.c:229 -#, no-c-format -msgid "linier" -msgstr "linjär" +#, fuzzy, no-c-format +msgid "linear" +msgstr "Streckteckning" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4317,7 +4355,7 @@ msgstr "Ställer in bildton" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Gamma" @@ -4385,11 +4423,11 @@ msgstr "Automatisk beskärning i mjukvara" msgid "Request driver to remove border from pages digitally" msgstr "Begär att drivrutinen tar bort ramar från sidor auomatiskt" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 -#, no-c-format +#: backend/kvs20xx_opt.c:233 +#, fuzzy, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" "I längdkontrolläge läser bildläsaren upp till den kortare av verklig " "papperslängd och logisk dokumentlängd." @@ -4422,13 +4460,13 @@ msgid "B4" msgstr "B4" #: backend/kvs40xx_opt.c:231 -#, no-c-format -msgid "High sensivity" +#, fuzzy, no-c-format +msgid "High sensitivity" msgstr "Hög känsighet" #: backend/kvs40xx_opt.c:232 -#, no-c-format -msgid "Low sensivity" +#, fuzzy, no-c-format +msgid "Low sensitivity" msgstr "Låg känsighet" #: backend/kvs40xx_opt.c:243 @@ -4451,6 +4489,15 @@ msgstr "Normalläge" msgid "Enhanced mode" msgstr "Förbättringsläge" +#: backend/kvs40xx_opt.c:396 +#, fuzzy, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" +"I längdkontrolläge läser bildläsaren upp till den kortare av verklig " +"papperslängd och logisk dokumentlängd." + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4512,8 +4559,8 @@ msgid "JPEG compression" msgstr "JPEG-komprimmering" #: backend/kvs40xx_opt.c:718 -#, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" +#, fuzzy, no-c-format +msgid "JPEG compression (your application must be able to uncompress)" msgstr "JPEG-komprimmering (din applikation måste kunna dekomprimmera)" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 @@ -4547,13 +4594,13 @@ msgid "Skew adjustment" msgstr "Justering för sned inmatning" #: backend/kvs40xx_opt.c:808 -#, no-c-format -msgid "Stop scanner when a paper have been skewed" +#, fuzzy, no-c-format +msgid "Stop scanner if a sheet is skewed" msgstr "Stoppa bildläsaren när ett papper har inmatats snett" #: backend/kvs40xx_opt.c:809 -#, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +#, fuzzy, no-c-format +msgid "Scanner will stop if a sheet is skewed" msgstr "Stoppa bildläsaren när ett papper har inmatats snett" #: backend/kvs40xx_opt.c:816 @@ -4562,14 +4609,14 @@ msgid "Crop actual image area" msgstr "Beskär verklig bildarea" #: backend/kvs40xx_opt.c:817 -#, no-c-format -msgid "Scanner automatically detect image area and crop it" +#, fuzzy, no-c-format +msgid "Scanner will automatically detect image area and crop to it" msgstr "Bildläsaren detecterar automatiskt verklig bildarea och beskär den" #: backend/kvs40xx_opt.c:827 -#, no-c-format -msgid "It is right and left reversing" -msgstr "Den kastar om höger och vänster" +#, fuzzy, no-c-format +msgid "Left/right mirror image" +msgstr "Spegla bild" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4606,52 +4653,52 @@ msgstr "8x8 Bayer" msgid "8x8 Vertical Line" msgstr "8x8 lodrät linje" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Förstärking" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Inställningar för färgkanalernas förstärkning" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Grå förstärkning" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Ställer in den grå kanalens förstärkning" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Röd förstärkning" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Ställer in den röda kanalens förstärkning" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Grön förstärkning" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Ställer in den gröna kanalens förstärkning" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Blå förstärkning" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Ställer in den blå kanalens förstärkning" @@ -4737,7 +4784,7 @@ msgstr "En sida" msgid "All pages" msgstr "Alla sidor" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "arkmatad bildläsare" @@ -5244,27 +5291,32 @@ msgstr "" "Värm upp tills lampans ljusstyrka är konstant i stället för att " "insistera på 40 sekunders uppvärmningstid." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, fuzzy, no-c-format +msgid "Need calibration" +msgstr "Behöver kalibrering" + +#: backend/pixma/pixma.c:397 #, no-c-format msgid "Negative color" msgstr "Negativ färg" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, no-c-format msgid "Negative gray" msgstr "Negativ gråskala" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "48 bitars färg" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "16 bitars gråskala" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " @@ -5273,12 +5325,12 @@ msgstr "" "Väljer inläsningskälla (som t.ex. dokumentmatare). Välj källa före läge " "och upplösning. Återställer läge och upplösning till förvalsvärden." -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Knappkontrollerad inläsning" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5289,40 +5341,40 @@ msgstr "" "omedelbart. För att forsätta, tryck SCAN-knappen (för MP150) eller COLOR-" "knappen (för andra modeller). För att avbryta, tryck GRAY-knappen." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Uppdatera knappläge" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Knapp 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Knapp 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" @@ -5411,7 +5463,7 @@ msgstr "Analogt framplan" msgid "Red gain value of the AFE" msgstr "Det analoga framplanets rödförstärkningsvärde" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Röd offset" @@ -5687,7 +5739,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "Denna inställing avspeglar status på en av bildläsarens knappar." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Lampa på" @@ -5697,12 +5749,12 @@ msgstr "Lampa på" msgid "Turn on scanner lamp" msgstr "Slå på bildläsarlampan" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Lampa av" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Slå av bildläsarlampan" @@ -5846,13 +5898,13 @@ msgid "Focus point" msgstr "Fokuseringspunkt" #: backend/snapscan-options.c:930 -#, no-c-format -msgid "Colour lines per read" +#, fuzzy, no-c-format +msgid "Color lines per read" msgstr "Färglinjer per inläsning" #: backend/snapscan-options.c:942 -#, no-c-format -msgid "Greyscale lines per read" +#, fuzzy, no-c-format +msgid "Grayscale lines per read" msgstr "Gråskalelinjer per inläsning" #: backend/stv680.c:974 @@ -6494,56 +6546,73 @@ msgstr "Kalibreringsläge" msgid "Define calibration mode" msgstr "Definiera kalibreringsläge" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Sätt på/av lampan" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "UTA på" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Sätter på/av UTA" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Offset" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Inställningar för färgkanalernas offset" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Grå offset" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Ställer in den grå kanalens offset" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Ställer in den röda kanalens offset" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Ställer in den gröna kanalens offset" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Ställer in den blå kanalens offset" +#~ msgid "Disable dynamic lineart" +#~ msgstr "Avaktivera dynamisk streckteckning" + +#~ msgid "" +#~ "Disable use of a software adaptive algorithm to generate lineart " +#~ "relying instead on hardware lineart." +#~ msgstr "" +#~ "Stäng av användandet av en adaptiv algoritm i mjukvaran för att " +#~ "generera streckteckningsinläsningar för att i stället använda " +#~ "hårdvarans streckteckningsinläsningsläge." + +#~ msgid "linier" +#~ msgstr "linjär" + +#~ msgid "It is right and left reversing" +#~ msgstr "Den kastar om höger och vänster" + #, fuzzy #~ msgid "IPC mode" #~ msgstr "Förhandsgranskningsläge" diff --git a/po/uk.po b/po/uk.po index a083ddd..34ae972 100644 --- a/po/uk.po +++ b/po/uk.po @@ -1,22 +1,22 @@ # Copyright (C) 2009 # This file is distributed under the same license as the sane-backends package. # -# Yuri Chornoivan , 2009, 2010, 2011, 2012, 2013, 2015, 2017, 2018, 2019. +# Yuri Chornoivan , 2009, 2010, 2011, 2012, 2013, 2015, 2017, 2018, 2019, 2020. msgid "" msgstr "" -"Project-Id-Version: sane-backends\n" +"Project-Id-Version: sane-backends 1.0.29\n" "Report-Msgid-Bugs-To: sane-devel@alioth-lists.debian.net\n" -"POT-Creation-Date: 2019-07-23 12:14+0000\n" -"PO-Revision-Date: 2019-06-26 18:14+0300\n" +"POT-Creation-Date: 2020-01-12 07:09+0000\n" +"PO-Revision-Date: 2020-01-26 16:30+0900\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 19.07.70\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 20.03.70\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 &&" +" n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: include/sane/saneopts.h:154 #, no-c-format @@ -29,31 +29,31 @@ msgid "Standard" msgstr "Типово" #: include/sane/saneopts.h:157 backend/artec_eplus48u.c:2884 -#: backend/epson.c:3298 backend/epson2.c:1290 backend/genesys.cc:5294 -#: backend/gt68xx.c:696 backend/hp3500.c:1019 backend/hp-option.c:3300 -#: backend/kvs1025_opt.c:639 backend/kvs20xx_opt.c:285 -#: backend/kvs40xx_opt.c:506 backend/leo.c:823 backend/lexmark.c:199 -#: backend/ma1509.c:551 backend/matsushita.c:1135 backend/microtek2.h:599 -#: backend/mustek.c:4373 backend/mustek_usb.c:301 backend/mustek_usb2.c:465 -#: backend/pixma_sane_options.c:160 backend/plustek.c:808 -#: backend/plustek_pp.c:747 backend/sceptre.c:702 +#: backend/epson.c:3298 backend/epson2.c:1290 backend/epsonds.c:677 +#: backend/genesys/genesys.cpp:4034 backend/gt68xx.c:696 +#: backend/hp-option.c:3300 backend/hp3500.c:1019 backend/kvs1025_opt.c:639 +#: backend/kvs20xx_opt.c:285 backend/kvs40xx_opt.c:506 backend/leo.c:823 +#: backend/lexmark.c:199 backend/ma1509.c:551 backend/matsushita.c:1135 +#: backend/microtek2.h:599 backend/mustek.c:4373 backend/mustek_usb.c:301 +#: backend/mustek_usb2.c:465 backend/pixma/pixma_sane_options.c:160 +#: backend/plustek.c:808 backend/plustek_pp.c:747 backend/sceptre.c:702 #: backend/snapscan-options.c:550 backend/teco1.c:1095 backend/teco2.c:1910 #: backend/teco3.c:920 backend/test.c:647 backend/u12.c:546 -#: backend/umax.c:5176 backend/umax_pp.c:580 +#: backend/umax.c:5176 backend/umax_pp.c:570 #, no-c-format msgid "Geometry" msgstr "Позиція і розміри" #: include/sane/saneopts.h:158 backend/artec_eplus48u.c:2805 -#: backend/canon.c:1493 backend/genesys.cc:5354 backend/gt68xx.c:665 -#: backend/hp-option.c:2956 backend/kvs1025_opt.c:703 backend/leo.c:871 -#: backend/ma1509.c:599 backend/matsushita.c:1189 backend/microtek2.h:600 -#: backend/mustek.c:4421 backend/mustek_usb.c:349 backend/mustek_usb2.c:431 -#: backend/niash.c:754 backend/plustek.c:854 backend/plustek_pp.c:793 -#: backend/sceptre.c:750 backend/snapscan-options.c:617 -#: backend/stv680.c:1067 backend/teco1.c:1143 backend/teco2.c:1958 -#: backend/teco3.c:968 backend/u12.c:592 backend/umax.c:5226 -#: backend/umax_pp.c:629 +#: backend/canon.c:1493 backend/genesys/genesys.cpp:4077 +#: backend/gt68xx.c:665 backend/hp-option.c:2956 backend/kvs1025_opt.c:703 +#: backend/leo.c:871 backend/ma1509.c:599 backend/matsushita.c:1189 +#: backend/microtek2.h:600 backend/mustek.c:4421 backend/mustek_usb.c:349 +#: backend/mustek_usb2.c:431 backend/niash.c:754 backend/plustek.c:854 +#: backend/plustek_pp.c:793 backend/sceptre.c:750 +#: backend/snapscan-options.c:617 backend/stv680.c:1067 +#: backend/teco1.c:1143 backend/teco2.c:1958 backend/teco3.c:968 +#: backend/u12.c:592 backend/umax.c:5226 backend/umax_pp.c:619 #, no-c-format msgid "Enhancement" msgstr "Покращення" @@ -87,7 +87,7 @@ msgid "Bit depth" msgstr "Кількість бітів на колір" #: include/sane/saneopts.h:165 backend/canon.c:1140 backend/leo.c:781 -#: backend/pixma_sane_options.c:47 +#: backend/pixma/pixma_sane_options.c:47 #, no-c-format msgid "Scan mode" msgstr "Режим сканування" @@ -128,7 +128,7 @@ msgid "Bottom-right y" msgstr "Нижня права координата за Y" #: include/sane/saneopts.h:173 backend/canon.c:1216 -#: backend/pixma_sane_options.c:300 +#: backend/pixma/pixma_sane_options.c:300 #, no-c-format msgid "Scan resolution" msgstr "Роздільна здатність сканування" @@ -283,7 +283,7 @@ msgstr "Назва файла" msgid "Halftone pattern size" msgstr "Розмір шаблону напівтонів" -#: include/sane/saneopts.h:204 backend/fujitsu.c:3233 +#: include/sane/saneopts.h:204 backend/fujitsu.c:3237 #, no-c-format msgid "Halftone pattern" msgstr "Шаблон напівтонів" @@ -293,10 +293,10 @@ msgstr "Шаблон напівтонів" msgid "Bind X and Y resolution" msgstr "Пов’язати роздільні здатності за X і Y" -#: include/sane/saneopts.h:206 backend/hp3900_sane.c:428 -#: backend/hp3900_sane.c:1021 backend/hp3900_sane.c:1421 -#: backend/hp-option.c:3238 backend/mustek_usb2.c:121 backend/plustek.c:236 -#: backend/plustek_pp.c:205 backend/u12.c:157 +#: include/sane/saneopts.h:206 backend/hp-option.c:3238 +#: backend/hp3900_sane.c:428 backend/hp3900_sane.c:1021 +#: backend/hp3900_sane.c:1421 backend/mustek_usb2.c:121 +#: backend/plustek.c:236 backend/plustek_pp.c:205 backend/u12.c:157 #, no-c-format msgid "Negative" msgstr "Негатив" @@ -419,11 +419,11 @@ msgstr "Вимикати лампу при виході" #: include/sane/saneopts.h:245 #, no-c-format msgid "" -"Read-only option that specifies how many options a specific devices " +"Read-only option that specifies how many options a specific device " "supports." msgstr "" "Параметр лише для читання, який визначає кількість параметрів, які " -"підтримують певні пристрої." +"підтримує певний пристрій." #: include/sane/saneopts.h:248 #, no-c-format @@ -532,7 +532,8 @@ msgstr "" #: include/sane/saneopts.h:298 #, no-c-format msgid "Sets the vertical resolution of the scanned image." -msgstr "Визначає вертикальну роздільну здатність засканованого зображення." +msgstr "" +"Визначає вертикальну роздільну здатність засканованого зображення." #: include/sane/saneopts.h:301 #, no-c-format @@ -726,7 +727,8 @@ msgstr "Використовувати лінзу, яка подвоює опт #: include/sane/saneopts.h:401 include/sane/saneopts.h:413 #, no-c-format msgid "In RGB-mode use same values for each color" -msgstr "У режимі RGB використовувати однакові значення для кожного кольору" +msgstr "" +"У режимі RGB використовувати однакові значення для кожного кольору" #: include/sane/saneopts.h:403 #, no-c-format @@ -755,7 +757,7 @@ msgstr "Аналогове виправлення гами для синього #: include/sane/saneopts.h:415 #, no-c-format -msgid "Warmup lamp before scanning" +msgid "Warm up lamp before scanning" msgstr "Розігрівати лампу перед скануванням" #: include/sane/saneopts.h:417 @@ -905,7 +907,7 @@ msgstr "Дія не підтримується" #: backend/sane_strstatus.c:65 #, no-c-format -msgid "Operation was cancelled" +msgid "Operation was canceled" msgstr "Дію було скасовано" #: backend/sane_strstatus.c:68 @@ -1002,7 +1004,7 @@ msgstr "Виконати лише коригування градації" #, no-c-format msgid "" "If enabled, only the shading correction is performed during calibration. " -"The default values for gain, offset and exposure time, either build-in " +"The default values for gain, offset and exposure time, either built-in " "or from the configuration file, are used." msgstr "" "Якщо позначено цей пункт, під час калібрування буде виконано лише " @@ -1033,83 +1035,43 @@ msgstr "Двобічне сканування" #: backend/avision.h:783 #, no-c-format msgid "" -"Duplex scan provide a scan of the front and back side of the document" +"Duplex scan provides a scan of the front and back side of the document" msgstr "" "За використання двобічного сканування ви отримаєте одразу зображення " "лицьового та зворотного боків документа" -#: backend/canon630u.c:159 -#, no-c-format -msgid "Calibrate Scanner" -msgstr "Калібрувати сканер" - -#: backend/canon630u.c:160 -#, no-c-format -msgid "Force scanner calibration before scan" -msgstr "Виконувати примусове калібрування перед скануванням" - -#: backend/canon630u.c:259 backend/umax1220u.c:208 -#, no-c-format -msgid "Grayscale scan" -msgstr "Сканувати у відтінках сірого" - -#: backend/canon630u.c:260 backend/umax1220u.c:209 -#, no-c-format -msgid "Do a grayscale rather than color scan" -msgstr "Виконувати чорно-біле сканування замість кольорового" - -#: backend/canon630u.c:306 +#: backend/canon-sane.c:674 backend/canon.c:171 #, no-c-format -msgid "Analog Gain" -msgstr "Аналогове підсилення" +msgid "Correction according to transparency ratio" +msgstr "Виправлення відповідно до співвідношення прозорості" -#: backend/canon630u.c:307 +#: backend/canon-sane.c:680 backend/canon.c:170 #, no-c-format -msgid "Increase or decrease the analog gain of the CCD array" -msgstr "Збільшити або зменшити аналогове підсилення матриці ПЗЗ" +msgid "Correction according to film type" +msgstr "Виправлення відповідно до типу плівки" -#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#: backend/canon-sane.c:732 backend/canon-sane.c:940 +#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 +#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 backend/canon.c:157 #, no-c-format -msgid "Gamma Correction" -msgstr "Виправлення гами" +msgid "Fine color" +msgstr "Чистий колір" -#: backend/canon630u.c:348 +#: backend/canon-sane.c:776 backend/canon.c:176 #, no-c-format -msgid "Selects the gamma corrected transfer curve" -msgstr "Визначити криву виправлення гами" +msgid "Negatives" +msgstr "Негативи" -#: backend/canon.c:149 backend/canon-sane.c:1318 +#: backend/canon-sane.c:1318 backend/canon.c:149 #, no-c-format msgid "Raw" msgstr "Без обробки" -#: backend/canon.c:157 backend/canon-sane.c:732 backend/canon-sane.c:940 -#: backend/canon-sane.c:1076 backend/canon-sane.c:1314 -#: backend/canon-sane.c:1494 backend/canon-sane.c:1643 -#, no-c-format -msgid "Fine color" -msgstr "Чистий колір" - #: backend/canon.c:169 #, no-c-format msgid "No transparency correction" msgstr "Без виправлення прозорості" -#: backend/canon.c:170 backend/canon-sane.c:680 -#, no-c-format -msgid "Correction according to film type" -msgstr "Виправлення відповідно до типу плівки" - -#: backend/canon.c:171 backend/canon-sane.c:674 -#, no-c-format -msgid "Correction according to transparency ratio" -msgstr "Виправлення відповідно до співвідношення прозорості" - -#: backend/canon.c:176 backend/canon-sane.c:776 -#, no-c-format -msgid "Negatives" -msgstr "Негативи" - #: backend/canon.c:176 #, no-c-format msgid "Slides" @@ -1244,8 +1206,8 @@ msgstr "Повідомлення про некоректний біт IDENTIFY" #: backend/canon.c:460 #, no-c-format -msgid "option not connect" -msgstr "Додаткову функціональність не з’єднано" +msgid "option not correct" +msgstr "параметр не є коректним" #: backend/canon.c:474 #, no-c-format @@ -1539,135 +1501,186 @@ msgstr "Оберіть тип плівки" msgid "Select the film type" msgstr "Визначає тип плівки" -#: backend/canon_dr.c:411 backend/epjitsu.c:233 backend/epson.c:501 -#: backend/epson2.c:115 backend/fujitsu.c:675 backend/gt68xx.c:148 +#: backend/canon630u.c:159 +#, no-c-format +msgid "Calibrate Scanner" +msgstr "Калібрувати сканер" + +#: backend/canon630u.c:160 +#, no-c-format +msgid "Force scanner calibration before scan" +msgstr "Виконувати примусове калібрування перед скануванням" + +#: backend/canon630u.c:259 backend/umax1220u.c:208 +#, no-c-format +msgid "Grayscale scan" +msgstr "Сканувати у відтінках сірого" + +#: backend/canon630u.c:260 backend/umax1220u.c:209 +#, no-c-format +msgid "Do a grayscale rather than color scan" +msgstr "Виконувати чорно-біле сканування замість кольорового" + +#: backend/canon630u.c:306 +#, no-c-format +msgid "Analog Gain" +msgstr "Аналогове підсилення" + +#: backend/canon630u.c:307 +#, no-c-format +msgid "Increase or decrease the analog gain of the CCD array" +msgstr "Збільшити або зменшити аналогове підсилення матриці ПЗЗ" + +#: backend/canon630u.c:347 backend/epson.h:68 backend/epson2.h:67 +#, no-c-format +msgid "Gamma Correction" +msgstr "Виправлення гами" + +#: backend/canon630u.c:348 +#, no-c-format +msgid "Selects the gamma corrected transfer curve" +msgstr "Визначити криву виправлення гами" + +#: backend/canon_dr.c:413 backend/epjitsu.c:233 backend/epson.c:501 +#: backend/epson2-ops.c:101 backend/epson2.c:115 backend/epsonds-ops.c:32 +#: backend/epsonds.c:95 backend/epsonds.h:62 backend/fujitsu.c:677 +#: backend/genesys/genesys.h:78 backend/gt68xx.c:148 #: backend/hp3900_sane.c:418 backend/hp3900_sane.c:427 -#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/ma1509.c:108 -#: backend/magicolor.c:181 backend/mustek.c:156 backend/mustek.c:160 -#: backend/mustek.c:164 backend/pixma.c:920 backend/pixma_sane_options.c:92 -#: backend/snapscan-options.c:86 backend/test.c:192 backend/umax.c:181 +#: backend/hp3900_sane.c:1017 backend/hp5590.c:92 backend/kodakaio.c:617 +#: backend/ma1509.c:108 backend/magicolor.c:181 backend/mustek.c:156 +#: backend/mustek.c:160 backend/mustek.c:164 backend/pixma/pixma.c:920 +#: backend/pixma/pixma_sane_options.c:92 backend/snapscan-options.c:86 +#: backend/test.c:192 backend/umax.c:181 #, no-c-format msgid "Flatbed" msgstr "Планшет" -#: backend/canon_dr.c:412 backend/epjitsu.c:234 backend/fujitsu.c:676 +#: backend/canon_dr.c:414 backend/epjitsu.c:234 backend/fujitsu.c:678 #: backend/kodak.c:140 #, no-c-format msgid "ADF Front" msgstr "Перед протяжного механізму" -#: backend/canon_dr.c:413 backend/epjitsu.c:235 backend/fujitsu.c:677 +#: backend/canon_dr.c:415 backend/epjitsu.c:235 backend/fujitsu.c:679 #: backend/kodak.c:141 #, no-c-format msgid "ADF Back" msgstr "Зворот протяжного механізму" -#: backend/canon_dr.c:414 backend/epjitsu.c:236 backend/fujitsu.c:678 -#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma.c:931 +#: backend/canon_dr.c:416 backend/epjitsu.c:236 backend/fujitsu.c:680 +#: backend/hp5590.c:94 backend/kodak.c:142 backend/pixma/pixma.c:931 #, no-c-format msgid "ADF Duplex" msgstr "Двобічна АПД" -#: backend/canon_dr.c:415 +#: backend/canon_dr.c:417 #, no-c-format msgid "Card Front" msgstr "Картка (профіль)" -#: backend/canon_dr.c:416 +#: backend/canon_dr.c:418 #, no-c-format msgid "Card Back" msgstr "Картка (зворот)" -#: backend/canon_dr.c:417 +#: backend/canon_dr.c:419 #, no-c-format msgid "Card Duplex" msgstr "Картка (обидва боки)" -#: backend/canon_dr.c:424 backend/epson.c:599 backend/epson.c:3096 -#: backend/epson2.c:201 backend/fujitsu.c:695 backend/genesys.cc:89 -#: backend/genesys.cc:96 backend/gt68xx_low.h:136 backend/hp-option.c:3096 +#: backend/canon_dr.c:426 backend/epson.c:599 backend/epson.c:3096 +#: backend/epson2.c:201 backend/fujitsu.c:697 +#: backend/genesys/genesys.cpp:120 backend/genesys/genesys.cpp:127 +#: backend/gt68xx_low.h:136 backend/hp-option.c:3096 #, no-c-format msgid "Red" msgstr "Червоний" -#: backend/canon_dr.c:425 backend/epson.c:600 backend/epson.c:3092 -#: backend/epson2.c:202 backend/fujitsu.c:696 backend/genesys.cc:90 -#: backend/genesys.cc:97 backend/gt68xx_low.h:137 backend/hp-option.c:3097 +#: backend/canon_dr.c:427 backend/epson.c:600 backend/epson.c:3092 +#: backend/epson2.c:202 backend/fujitsu.c:698 +#: backend/genesys/genesys.cpp:121 backend/genesys/genesys.cpp:128 +#: backend/gt68xx_low.h:137 backend/hp-option.c:3097 #, no-c-format msgid "Green" msgstr "Зелений" -#: backend/canon_dr.c:426 backend/epson.c:601 backend/epson.c:3100 -#: backend/epson2.c:203 backend/fujitsu.c:697 backend/genesys.cc:91 -#: backend/genesys.cc:98 backend/gt68xx_low.h:138 backend/hp-option.c:3098 +#: backend/canon_dr.c:428 backend/epson.c:601 backend/epson.c:3100 +#: backend/epson2.c:203 backend/fujitsu.c:699 +#: backend/genesys/genesys.cpp:122 backend/genesys/genesys.cpp:129 +#: backend/gt68xx_low.h:138 backend/hp-option.c:3098 #, no-c-format msgid "Blue" msgstr "Синій" -#: backend/canon_dr.c:427 +#: backend/canon_dr.c:429 #, no-c-format msgid "Enhance Red" msgstr "Покращити червоний" -#: backend/canon_dr.c:428 +#: backend/canon_dr.c:430 #, no-c-format msgid "Enhance Green" msgstr "Покращити зелений" -#: backend/canon_dr.c:429 +#: backend/canon_dr.c:431 #, no-c-format msgid "Enhance Blue" msgstr "Покращити синій" -#: backend/canon_dr.c:431 backend/epson.c:556 backend/epson.c:564 +#: backend/canon_dr.c:433 backend/epson.c:556 backend/epson.c:564 #: backend/epson.c:576 backend/epson.c:598 backend/epson2.c:165 #: backend/epson2.c:173 backend/epson2.c:185 backend/epson2.c:200 -#: backend/epson2.c:214 backend/fujitsu.c:701 backend/genesys.cc:99 -#: backend/leo.c:109 backend/matsushita.c:138 backend/matsushita.c:159 +#: backend/epson2.c:214 backend/fujitsu.c:703 +#: backend/genesys/genesys.cpp:130 backend/leo.c:109 +#: backend/matsushita.c:138 backend/matsushita.c:159 #: backend/matsushita.c:191 backend/matsushita.c:213 #: backend/snapscan-options.c:91 #, no-c-format msgid "None" msgstr "Немає" -#: backend/canon_dr.c:432 backend/fujitsu.c:702 +#: backend/canon_dr.c:434 backend/fujitsu.c:704 #, no-c-format msgid "JPEG" msgstr "JPEG" -#: backend/canon_dr.c:2477 backend/fujitsu.c:4113 backend/genesys.cc:5445 -#: backend/kvs1025_opt.c:910 +#: backend/canon_dr.c:2479 backend/fujitsu.c:4117 +#: backend/genesys/genesys.cpp:4168 backend/kvs1025_opt.c:910 #, no-c-format msgid "Software blank skip percentage" msgstr "Порогове значення порожніх сторінок для програмного відкидання" -#: backend/canon_dr.c:2478 backend/fujitsu.c:4114 +#: backend/canon_dr.c:2480 backend/fujitsu.c:4118 #, no-c-format msgid "Request driver to discard pages with low percentage of dark pixels" msgstr "" "Вимагати від драйвера відкидання сторінок з надто низькою питомою " "кількістю темних пікселів" -#: backend/epson.c:491 backend/epson2.c:108 backend/magicolor.c:174 +#: backend/epson.c:491 backend/epson2.c:108 backend/epsonds.c:88 +#: backend/kodakaio.c:611 backend/magicolor.c:174 #, no-c-format msgid "Simplex" msgstr "Однобічна" -#: backend/epson.c:492 backend/epson2.c:109 backend/kvs1025.h:50 -#: backend/kvs20xx_opt.c:204 backend/kvs40xx_opt.c:353 -#: backend/magicolor.c:175 backend/matsushita.h:218 +#: backend/epson.c:492 backend/epson2.c:109 backend/epsonds.c:89 +#: backend/kodakaio.c:612 backend/kvs1025.h:50 backend/kvs20xx_opt.c:204 +#: backend/kvs40xx_opt.c:353 backend/magicolor.c:175 +#: backend/matsushita.h:218 #, no-c-format msgid "Duplex" msgstr "Двобічна" -#: backend/epson.c:502 backend/epson2.c:116 backend/pixma.c:937 +#: backend/epson.c:502 backend/epson2-ops.c:102 backend/epson2.c:116 +#: backend/epsonds-ops.c:33 backend/epsonds.h:63 backend/pixma/pixma.c:937 #, no-c-format msgid "Transparency Unit" msgstr "Модуль для слайдів" -#: backend/epson.c:503 backend/epson2.c:118 backend/magicolor.c:182 -#: backend/mustek.c:160 backend/pixma.c:925 backend/test.c:192 -#: backend/umax.c:183 +#: backend/epson.c:503 backend/epson2-ops.c:104 backend/epson2.c:118 +#: backend/epsonds-ops.c:34 backend/epsonds.c:96 backend/epsonds.h:64 +#: backend/kodakaio.c:618 backend/magicolor.c:182 backend/mustek.c:160 +#: backend/pixma/pixma.c:925 backend/test.c:192 backend/umax.c:183 #, no-c-format msgid "Automatic Document Feeder" msgstr "Автоматична подача документів" @@ -1779,7 +1792,7 @@ msgstr "Струминні принтери" msgid "CRT monitors" msgstr "Монітори з ЕПТ" -#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:685 +#: backend/epson.c:656 backend/epson2.c:254 backend/fujitsu.c:687 #: backend/hp-option.c:3229 backend/test.c:143 #, no-c-format msgid "Default" @@ -1843,8 +1856,9 @@ msgstr "A4" msgid "Max" msgstr "Макс" -#: backend/epson.c:2813 backend/epson2.c:976 backend/genesys.cc:5207 -#: backend/gt68xx.c:451 backend/hp-option.c:2917 backend/kvs1025_opt.c:521 +#: backend/epson.c:2813 backend/epson2.c:976 backend/epsonds.c:629 +#: backend/genesys/genesys.cpp:3965 backend/gt68xx.c:451 +#: backend/hp-option.c:2917 backend/kvs1025_opt.c:521 #: backend/kvs20xx_opt.c:171 backend/kvs40xx_opt.c:320 backend/ma1509.c:501 #: backend/matsushita.c:1084 backend/microtek2.h:598 backend/mustek.c:4215 #: backend/mustek_usb.c:256 backend/mustek_usb2.c:344 backend/niash.c:734 @@ -2018,17 +2032,17 @@ msgstr "Визначає масштаб, який буде використан msgid "Quick format" msgstr "Швидке форматування" -#: backend/epson.c:3360 backend/epson2.c:1340 +#: backend/epson.c:3360 backend/epson2.c:1340 backend/epsonds.c:726 #, no-c-format msgid "Optional equipment" msgstr "Додаткове устаткування" -#: backend/epson.c:3431 backend/epson2.c:1393 +#: backend/epson.c:3431 backend/epson2.c:1393 backend/epsonds.c:742 #, no-c-format msgid "Eject" msgstr "Виштовхнути" -#: backend/epson.c:3432 backend/epson2.c:1394 +#: backend/epson.c:3432 backend/epson2.c:1394 backend/epsonds.c:743 #, no-c-format msgid "Eject the sheet in the ADF" msgstr "Виштовхнути аркуш з протяжного пристрою" @@ -2043,12 +2057,14 @@ msgstr "Автовиштовхування" msgid "Eject document after scanning" msgstr "Виштовхнути документ після сканування" -#: backend/epson.c:3457 backend/epson2.c:1416 backend/magicolor.c:2420 +#: backend/epson.c:3457 backend/epson2.c:1416 backend/epsonds.c:758 +#: backend/kodakaio.c:2855 backend/magicolor.c:2420 #, no-c-format msgid "ADF Mode" msgstr "Режим протяжного пристрою" -#: backend/epson.c:3459 backend/epson2.c:1418 backend/magicolor.c:2422 +#: backend/epson.c:3459 backend/epson2.c:1418 backend/epsonds.c:760 +#: backend/kodakaio.c:2857 backend/magicolor.c:2422 #, no-c-format msgid "Selects the ADF mode (simplex/duplex)" msgstr "Визначає режим протяжного пристрою (однобічний/двобічний)" @@ -2100,16 +2116,16 @@ msgstr "" "Після надсилання команди сканування не розпочинати сканування до " "натискання кнопки на сканері." -#: backend/epson2.c:102 backend/pixma.c:409 -#, no-c-format -msgid "Infrared" -msgstr "Інфрачервоне" - -#: backend/epson2.c:117 +#: backend/epson2-ops.c:103 backend/epson2.c:117 #, no-c-format msgid "TPU8x10" msgstr "TPU8x10" +#: backend/epson2.c:102 backend/pixma/pixma.c:409 +#, no-c-format +msgid "Infrared" +msgstr "Інфрачервоне" + #: backend/epson2.c:136 #, no-c-format msgid "Positive Slide" @@ -2130,243 +2146,263 @@ msgstr "Вбудований профіль CCT" msgid "User defined CCT profile" msgstr "Визначений користувачем профіль CCT" -#: backend/fujitsu.c:686 backend/hp-option.c:3330 backend/hp-option.c:3343 +#: backend/epsonds.c:750 +#, no-c-format +msgid "Load" +msgstr "Завантажити" + +#: backend/epsonds.c:751 +#, no-c-format +msgid "Load a sheet in the ADF" +msgstr "Завантажити аркуш до протяжного пристрою" + +#: backend/epsonds.c:771 +#, no-c-format +msgid "ADF Skew Correction" +msgstr "Виправлення нахилу у протяжному пристрої" + +#: backend/epsonds.c:773 +#, no-c-format +msgid "Enables ADF skew correction" +msgstr "Вмикає виправлення нахилу у протяжному пристрої" + +#: backend/fujitsu.c:688 backend/hp-option.c:3330 backend/hp-option.c:3343 #, no-c-format msgid "On" msgstr "Увімкнути" -#: backend/fujitsu.c:687 backend/hp-option.c:3162 backend/hp-option.c:3329 +#: backend/fujitsu.c:689 backend/hp-option.c:3162 backend/hp-option.c:3329 #: backend/hp-option.c:3342 #, no-c-format msgid "Off" msgstr "Вимкнути" -#: backend/fujitsu.c:689 +#: backend/fujitsu.c:691 #, no-c-format msgid "DTC" msgstr "DTC" -#: backend/fujitsu.c:690 +#: backend/fujitsu.c:692 #, no-c-format msgid "SDTC" msgstr "SDTC" -#: backend/fujitsu.c:692 backend/teco1.c:1152 backend/teco1.c:1153 +#: backend/fujitsu.c:694 backend/teco1.c:1152 backend/teco1.c:1153 #: backend/teco2.c:1967 backend/teco2.c:1968 backend/teco3.c:977 #: backend/teco3.c:978 #, no-c-format msgid "Dither" msgstr "Дизеринг" -#: backend/fujitsu.c:693 +#: backend/fujitsu.c:695 #, no-c-format msgid "Diffusion" msgstr "Дифузія" -#: backend/fujitsu.c:698 +#: backend/fujitsu.c:700 #, no-c-format msgid "White" msgstr "Білий" -#: backend/fujitsu.c:699 +#: backend/fujitsu.c:701 #, no-c-format msgid "Black" msgstr "Чорний" -#: backend/fujitsu.c:704 +#: backend/fujitsu.c:706 #, no-c-format msgid "Continue" msgstr "Продовжити" -#: backend/fujitsu.c:705 +#: backend/fujitsu.c:707 #, no-c-format msgid "Stop" msgstr "Зупинити" -#: backend/fujitsu.c:707 +#: backend/fujitsu.c:709 #, no-c-format msgid "10mm" msgstr "10мм" -#: backend/fujitsu.c:708 +#: backend/fujitsu.c:710 #, no-c-format msgid "15mm" msgstr "15мм" -#: backend/fujitsu.c:709 +#: backend/fujitsu.c:711 #, no-c-format msgid "20mm" msgstr "20мм" -#: backend/fujitsu.c:711 backend/hp-option.c:3048 +#: backend/fujitsu.c:713 backend/hp-option.c:3048 #, no-c-format msgid "Horizontal" msgstr "По горизонталі" -#: backend/fujitsu.c:712 +#: backend/fujitsu.c:714 #, no-c-format msgid "Horizontal bold" msgstr "Жирний по горизонталі" -#: backend/fujitsu.c:713 +#: backend/fujitsu.c:715 #, no-c-format msgid "Horizontal narrow" msgstr "Вузький по горизонталі" -#: backend/fujitsu.c:714 backend/hp-option.c:3047 +#: backend/fujitsu.c:716 backend/hp-option.c:3047 #, no-c-format msgid "Vertical" msgstr "По вертикалі" -#: backend/fujitsu.c:715 +#: backend/fujitsu.c:717 #, no-c-format msgid "Vertical bold" msgstr "Жирний по вертикалі" -#: backend/fujitsu.c:717 +#: backend/fujitsu.c:719 #, no-c-format msgid "Top to bottom" msgstr "Згори вниз" -#: backend/fujitsu.c:718 +#: backend/fujitsu.c:720 #, no-c-format msgid "Bottom to top" msgstr "Знизу догори" -#: backend/fujitsu.c:720 +#: backend/fujitsu.c:722 #, no-c-format msgid "Front" msgstr "Перед" -#: backend/fujitsu.c:721 +#: backend/fujitsu.c:723 #, no-c-format msgid "Back" msgstr "Зворот" -#: backend/fujitsu.c:3144 backend/pixma_sane_options.c:145 +#: backend/fujitsu.c:3148 backend/pixma/pixma_sane_options.c:145 #, no-c-format msgid "Gamma function exponent" msgstr "Показник функції гами" -#: backend/fujitsu.c:3145 backend/pixma_sane_options.c:146 +#: backend/fujitsu.c:3149 backend/pixma/pixma_sane_options.c:146 #, no-c-format msgid "Changes intensity of midtones" msgstr "Змінює інтенсивність напівтонів" -#: backend/fujitsu.c:3194 +#: backend/fujitsu.c:3198 #, no-c-format msgid "RIF" msgstr "RIF" -#: backend/fujitsu.c:3195 +#: backend/fujitsu.c:3199 #, no-c-format msgid "Reverse image format" msgstr "Інверсивний формат зображення" -#: backend/fujitsu.c:3212 +#: backend/fujitsu.c:3216 #, no-c-format msgid "Halftone type" msgstr "Тип півтонів" -#: backend/fujitsu.c:3213 +#: backend/fujitsu.c:3217 #, no-c-format msgid "Control type of halftone filter" msgstr "Керування типом фільтра півтонів" -#: backend/fujitsu.c:3234 +#: backend/fujitsu.c:3238 #, no-c-format msgid "Control pattern of halftone filter" msgstr "Керування взірцем фільтра півтонів" -#: backend/fujitsu.c:3256 +#: backend/fujitsu.c:3260 #, no-c-format msgid "Outline" msgstr "Контур" -#: backend/fujitsu.c:3257 +#: backend/fujitsu.c:3261 #, no-c-format msgid "Perform outline extraction" msgstr "Виконати видобування контуру" -#: backend/fujitsu.c:3268 +#: backend/fujitsu.c:3272 #, no-c-format msgid "Emphasis" msgstr "Виокремлення" -#: backend/fujitsu.c:3269 +#: backend/fujitsu.c:3273 #, no-c-format msgid "Negative to smooth or positive to sharpen image" msgstr "" "Негатив для згладжування або позитив для збільшення різкості зображення" -#: backend/fujitsu.c:3287 +#: backend/fujitsu.c:3291 #, no-c-format msgid "Separation" msgstr "Розділення" -#: backend/fujitsu.c:3288 +#: backend/fujitsu.c:3292 #, no-c-format msgid "Enable automatic separation of image and text" msgstr "Увімкнути автоматичне відокремлення зображень і тексту" -#: backend/fujitsu.c:3299 +#: backend/fujitsu.c:3303 #, no-c-format msgid "Mirroring" msgstr "Віддзеркалення" -#: backend/fujitsu.c:3300 +#: backend/fujitsu.c:3304 #, no-c-format msgid "Reflect output image horizontally" msgstr "Віддзеркалити отримане зображення по горизонталі" -#: backend/fujitsu.c:3317 +#: backend/fujitsu.c:3321 #, no-c-format msgid "White level follower" msgstr "Відповідник рівня білого" -#: backend/fujitsu.c:3318 +#: backend/fujitsu.c:3322 #, no-c-format msgid "Control white level follower" msgstr "Керує відповідником рівня білого" -#: backend/fujitsu.c:3336 +#: backend/fujitsu.c:3340 #, no-c-format msgid "BP filter" msgstr "Фільтр СП" -#: backend/fujitsu.c:3337 +#: backend/fujitsu.c:3341 #, no-c-format msgid "Improves quality of high resolution ball-point pen text" msgstr "Поліпшує якість тексту, написаного кульковою ручкою" -#: backend/fujitsu.c:3353 backend/hp-option.h:73 +#: backend/fujitsu.c:3357 backend/hp-option.h:73 #, no-c-format msgid "Smoothing" msgstr "Згладжування" -#: backend/fujitsu.c:3354 +#: backend/fujitsu.c:3358 #, no-c-format msgid "Enable smoothing for improved OCR" msgstr "Увімкнути згладжування для поліпшення ОРТ" -#: backend/fujitsu.c:3370 +#: backend/fujitsu.c:3374 #, no-c-format msgid "Gamma curve" msgstr "Крива гами" -#: backend/fujitsu.c:3371 +#: backend/fujitsu.c:3375 #, no-c-format msgid "Gamma curve, from light to dark, but upper two may not work" msgstr "" "Крива гами, від світлого до темного, але верхні дві можуть не працювати" -#: backend/fujitsu.c:3393 backend/genesys.cc:5505 -#: backend/pixma_sane_options.c:335 +#: backend/fujitsu.c:3397 backend/genesys/genesys.cpp:4229 +#: backend/pixma/pixma_sane_options.c:335 #, no-c-format msgid "Threshold curve" msgstr "Порогова крива" -#: backend/fujitsu.c:3394 +#: backend/fujitsu.c:3398 #, no-c-format msgid "" "Threshold curve, from light to dark, but upper two may not be linear" @@ -2374,111 +2410,111 @@ msgstr "" "Порогова крива, від світлого до темного, але верхні дві не можуть бути " "лінійними" -#: backend/fujitsu.c:3416 +#: backend/fujitsu.c:3420 #, no-c-format msgid "Threshold white" msgstr "Білий поріг" -#: backend/fujitsu.c:3417 +#: backend/fujitsu.c:3421 #, no-c-format msgid "Set pixels equal to threshold to white instead of black" msgstr "Встановити для порогових пікселів білий колір, а не чорний" -#: backend/fujitsu.c:3433 backend/fujitsu.c:3434 +#: backend/fujitsu.c:3437 backend/fujitsu.c:3438 #, no-c-format msgid "Noise removal" msgstr "Вилучення шуму" -#: backend/fujitsu.c:3450 +#: backend/fujitsu.c:3454 #, no-c-format msgid "Matrix 5x5" msgstr "Матриця 5x5" -#: backend/fujitsu.c:3451 +#: backend/fujitsu.c:3455 #, no-c-format msgid "Remove 5 pixel square noise" msgstr "Вилучати піксельний шум розміром до 5 пікселів" -#: backend/fujitsu.c:3467 +#: backend/fujitsu.c:3471 #, no-c-format msgid "Matrix 4x4" msgstr "Матриця 4x4" -#: backend/fujitsu.c:3468 +#: backend/fujitsu.c:3472 #, no-c-format msgid "Remove 4 pixel square noise" msgstr "Вилучати піксельний шум розміром до 4 пікселів" -#: backend/fujitsu.c:3484 +#: backend/fujitsu.c:3488 #, no-c-format msgid "Matrix 3x3" msgstr "Матриця 3x3" -#: backend/fujitsu.c:3485 +#: backend/fujitsu.c:3489 #, no-c-format msgid "Remove 3 pixel square noise" msgstr "Вилучати піксельний шум розміром до 3 пікселів" -#: backend/fujitsu.c:3501 +#: backend/fujitsu.c:3505 #, no-c-format msgid "Matrix 2x2" msgstr "Матриця 2x2" -#: backend/fujitsu.c:3502 +#: backend/fujitsu.c:3506 #, no-c-format msgid "Remove 2 pixel square noise" msgstr "Вилучати піксельний шум розміром до 2 пікселів" -#: backend/fujitsu.c:3521 +#: backend/fujitsu.c:3525 #, no-c-format msgid "Variance" msgstr "Дисперсія" -#: backend/fujitsu.c:3522 +#: backend/fujitsu.c:3526 #, no-c-format msgid "Set SDTC variance rate (sensitivity), 0 equals 127" msgstr "Встановити величину дисперсії SDTC (чутливість), 0 відповідає 127" -#: backend/fujitsu.c:3555 +#: backend/fujitsu.c:3559 #, no-c-format msgid "Auto width detection" msgstr "Автовиявлення ширини" -#: backend/fujitsu.c:3556 +#: backend/fujitsu.c:3560 #, no-c-format msgid "Scanner detects paper sides. May reduce scanning speed." msgstr "Сканер визначає краї паперу. Може уповільнити сканування." -#: backend/fujitsu.c:3573 +#: backend/fujitsu.c:3577 #, no-c-format msgid "Auto length detection" msgstr "Автовиявлення довжини" -#: backend/fujitsu.c:3574 +#: backend/fujitsu.c:3578 #, no-c-format msgid "Scanner detects paper lower edge. May confuse some frontends." msgstr "" "Сканер виявляє нижній край паперу. Може призвести до помилкової роботи " "деяких програмних оболонок." -#: backend/fujitsu.c:3600 +#: backend/fujitsu.c:3604 #, no-c-format msgid "Compression" msgstr "Стиснення" -#: backend/fujitsu.c:3601 +#: backend/fujitsu.c:3605 #, no-c-format msgid "Enable compressed data. May crash your front-end program" msgstr "" "Увімкнути стискання даних. Може призвести до аварійного завершення " "роботи програмних оболонок." -#: backend/fujitsu.c:3621 +#: backend/fujitsu.c:3625 #, no-c-format msgid "Compression argument" msgstr "Аргумент стискання" -#: backend/fujitsu.c:3622 +#: backend/fujitsu.c:3626 #, no-c-format msgid "" "Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) " @@ -2487,107 +2523,108 @@ msgstr "" "Рівень стискання JPEG. 1 — малий файл, 7 — великий файл. 0 (типовий) — " "те саме, що і 4." -#: backend/fujitsu.c:3652 +#: backend/fujitsu.c:3656 #, no-c-format msgid "DF action" msgstr "Дія ПП" -#: backend/fujitsu.c:3653 +#: backend/fujitsu.c:3657 #, no-c-format msgid "Action following double feed error" -msgstr "Дія, яку буде виконано у відповідь на помилку подвійного подавання" +msgstr "" +"Дія, яку буде виконано у відповідь на помилку подвійного подавання" -#: backend/fujitsu.c:3669 +#: backend/fujitsu.c:3673 #, no-c-format msgid "DF skew" msgstr "ПП для перекошування" -#: backend/fujitsu.c:3670 +#: backend/fujitsu.c:3674 #, no-c-format msgid "Enable double feed error due to skew" msgstr "Увімкнути помилку подвійного подавання через перекошування" -#: backend/fujitsu.c:3688 +#: backend/fujitsu.c:3692 #, no-c-format msgid "DF thickness" msgstr "ПП для товщини" -#: backend/fujitsu.c:3689 +#: backend/fujitsu.c:3693 #, no-c-format msgid "Enable double feed error due to paper thickness" msgstr "Увімкнути помилку подвійного подавання через товщину паперу" -#: backend/fujitsu.c:3707 +#: backend/fujitsu.c:3711 #, no-c-format msgid "DF length" msgstr "ПП для довжини" -#: backend/fujitsu.c:3708 +#: backend/fujitsu.c:3712 #, no-c-format msgid "Enable double feed error due to paper length" msgstr "Увімкнути помилку подвійного подавання через довжину паперу" -#: backend/fujitsu.c:3731 +#: backend/fujitsu.c:3735 #, no-c-format msgid "DF length difference" msgstr "Різниця довжини для ПП" -#: backend/fujitsu.c:3732 +#: backend/fujitsu.c:3736 #, no-c-format msgid "Difference in page length to trigger double feed error" msgstr "" "Різниця у довжинах аркушів паперу, яка призводитиме до помилки " "подвійного подавання" -#: backend/fujitsu.c:3755 +#: backend/fujitsu.c:3759 #, no-c-format msgid "DF recovery mode" msgstr "Режим відновлення для ПП" -#: backend/fujitsu.c:3756 +#: backend/fujitsu.c:3760 #, no-c-format msgid "Request scanner to reverse feed on paper jam" msgstr "Вимагати від сканера зворотного подавання, якщо папір зам’ято" -#: backend/fujitsu.c:3775 +#: backend/fujitsu.c:3779 #, no-c-format msgid "Paper protection" msgstr "Захист паперу" -#: backend/fujitsu.c:3776 +#: backend/fujitsu.c:3780 #, no-c-format msgid "Request scanner to predict jams in the ADF" msgstr "Вимагати від сканера передбачати зам’яття у протяжному пристрої" -#: backend/fujitsu.c:3795 +#: backend/fujitsu.c:3799 #, no-c-format msgid "Advanced paper protection" msgstr "Додатковий захист паперу" -#: backend/fujitsu.c:3796 +#: backend/fujitsu.c:3800 #, no-c-format msgid "Request scanner to predict jams in the ADF using improved sensors" msgstr "" "Вимагати від сканера передбачати зам’яття у протяжному пристрої за " "допомогою поліпшених датчиків" -#: backend/fujitsu.c:3815 +#: backend/fujitsu.c:3819 #, no-c-format msgid "Staple detection" msgstr "Виявлення скоб" -#: backend/fujitsu.c:3816 +#: backend/fujitsu.c:3820 #, no-c-format msgid "Request scanner to detect jams in the ADF caused by staples" msgstr "" "Вимагати від сканера виявляти зам’яття у протяжному пристрої через скоби" -#: backend/fujitsu.c:3835 +#: backend/fujitsu.c:3839 #, no-c-format msgid "Background color" msgstr "Колір тла" -#: backend/fujitsu.c:3836 +#: backend/fujitsu.c:3840 #, no-c-format msgid "" "Set color of background for scans. May conflict with overscan option" @@ -2595,12 +2632,12 @@ msgstr "" "Встановити колір для тла сканованих зображень. Може конфліктувати із " "параметром полів." -#: backend/fujitsu.c:3856 +#: backend/fujitsu.c:3860 #, no-c-format msgid "Dropout color" msgstr "Колір для викидання" -#: backend/fujitsu.c:3857 +#: backend/fujitsu.c:3861 #, no-c-format msgid "" "One-pass scanners use only one color during gray or binary scanning, " @@ -2610,34 +2647,36 @@ msgstr "" "відтінках сірого або чорно-білого сканування, корисно для кольорового " "паперу або чорнильних записів" -#: backend/fujitsu.c:3880 +#: backend/fujitsu.c:3884 #, no-c-format msgid "Buffer mode" msgstr "Режим буферизації" -#: backend/fujitsu.c:3881 +#: backend/fujitsu.c:3885 #, no-c-format -msgid "Request scanner to read pages quickly from ADF into internal memory" +msgid "" +"Request scanner to read pages quickly from ADF into internal memory" msgstr "" "Наказати сканеру швидко читати сторінки з протяжного пристрою до " "внутрішньої пам’яті" -#: backend/fujitsu.c:3900 +#: backend/fujitsu.c:3904 #, no-c-format msgid "Prepick" msgstr "Попереднє захоплення" -#: backend/fujitsu.c:3901 +#: backend/fujitsu.c:3905 #, no-c-format msgid "Request scanner to grab next page from ADF" -msgstr "Наказати сканеру захопити наступну сторінку із протяжного пристрою" +msgstr "" +"Наказати сканеру захопити наступну сторінку із протяжного пристрою" -#: backend/fujitsu.c:3920 +#: backend/fujitsu.c:3924 #, no-c-format msgid "Overscan" msgstr "Поля" -#: backend/fujitsu.c:3921 +#: backend/fujitsu.c:3925 #, no-c-format msgid "" "Collect a few mm of background on top side of scan, before paper enters " @@ -2650,12 +2689,12 @@ msgstr "" "також дозволити збирання решти даних з бічних полів. Може конфліктувати " "з параметром кольору тла." -#: backend/fujitsu.c:3939 +#: backend/fujitsu.c:3943 #, no-c-format msgid "Sleep timer" msgstr "Таймер присипляння" -#: backend/fujitsu.c:3940 +#: backend/fujitsu.c:3944 #, no-c-format msgid "" "Time in minutes until the internal power supply switches to sleep mode" @@ -2663,12 +2702,12 @@ msgstr "" "Час у хвилинах, по завершенню якого внутрішнє живлення буде переведено у " "режим сну" -#: backend/fujitsu.c:3958 +#: backend/fujitsu.c:3962 #, no-c-format msgid "Off timer" msgstr "Таймер вимикання" -#: backend/fujitsu.c:3959 +#: backend/fujitsu.c:3963 #, no-c-format msgid "" "Time in minutes until the internal power supply switches the scanner " @@ -2678,42 +2717,42 @@ msgstr "" "Буде округлено до найближчого кратного до 15 хвилин. Нульове значення " "означає, що живлення не вимикатиметься." -#: backend/fujitsu.c:3977 +#: backend/fujitsu.c:3981 #, no-c-format msgid "Duplex offset" msgstr "Зміщення двобічного" -#: backend/fujitsu.c:3978 +#: backend/fujitsu.c:3982 #, no-c-format msgid "Adjust front/back offset" msgstr "Коригування зміщення між переднім і зворотним боком" -#: backend/fujitsu.c:3995 backend/plustek.c:1025 backend/umax_pp.c:804 +#: backend/fujitsu.c:3999 backend/plustek.c:1025 backend/umax_pp.c:794 #, no-c-format msgid "Green offset" msgstr "Зміщення зеленого" -#: backend/fujitsu.c:3996 +#: backend/fujitsu.c:4000 #, no-c-format msgid "Adjust green/red offset" msgstr "Коригування зміщення між зеленим і червоним каналами" -#: backend/fujitsu.c:4013 backend/plustek.c:1041 backend/umax_pp.c:816 +#: backend/fujitsu.c:4017 backend/plustek.c:1041 backend/umax_pp.c:806 #, no-c-format msgid "Blue offset" msgstr "Зміщення синього" -#: backend/fujitsu.c:4014 +#: backend/fujitsu.c:4018 #, no-c-format msgid "Adjust blue/red offset" msgstr "Коригування зміщення між синім і червоним каналами" -#: backend/fujitsu.c:4027 +#: backend/fujitsu.c:4031 #, no-c-format msgid "Low Memory" msgstr "Обмеження пам’яті" -#: backend/fujitsu.c:4028 +#: backend/fujitsu.c:4032 #, no-c-format msgid "" "Limit driver memory usage for use in embedded systems. Causes some " @@ -2727,12 +2766,12 @@ msgstr "" "«side». Цим параметром слід користуватися лише для нетипового " "зовнішнього інтерфейсу програмного забезпечення." -#: backend/fujitsu.c:4043 +#: backend/fujitsu.c:4047 #, no-c-format msgid "Duplex side" msgstr "Бік для двобічного" -#: backend/fujitsu.c:4044 +#: backend/fujitsu.c:4048 #, no-c-format msgid "" "Tells which side (0=front, 1=back) of a duplex scan the next call to " @@ -2741,58 +2780,58 @@ msgstr "" "Визначає, який бік (0=передній, 1=зворотний) двобічного сканованого " "зображення буде повернуто під час наступного виклику sane_read." -#: backend/fujitsu.c:4055 +#: backend/fujitsu.c:4059 #, no-c-format msgid "Hardware deskew and crop" msgstr "Апаратне виправлення нахилу і обрізання" -#: backend/fujitsu.c:4056 +#: backend/fujitsu.c:4060 #, no-c-format msgid "Request scanner to rotate and crop pages digitally." msgstr "" "Вимагати від сканера обертання та обрізання сторінок у цифровому режимі." -#: backend/fujitsu.c:4067 backend/kvs1025_opt.c:871 +#: backend/fujitsu.c:4071 backend/kvs1025_opt.c:871 #, no-c-format msgid "Software deskew" msgstr "Програмне усування обертання" -#: backend/fujitsu.c:4068 +#: backend/fujitsu.c:4072 #, no-c-format msgid "Request driver to rotate skewed pages digitally." msgstr "" "Вимагати від драйвера усування обертання сторінок у автоматичному режимі." -#: backend/fujitsu.c:4080 backend/kvs1025_opt.c:880 +#: backend/fujitsu.c:4084 backend/kvs1025_opt.c:880 #, no-c-format msgid "Software despeckle diameter" msgstr "Діаметр плям для програмного усування" -#: backend/fujitsu.c:4081 +#: backend/fujitsu.c:4085 #, no-c-format msgid "Maximum diameter of lone dots to remove from scan." msgstr "" "Мінімальний діаметр окремих плям, які слід усунути зі сканованого " "зображення." -#: backend/fujitsu.c:4100 backend/genesys.cc:5436 +#: backend/fujitsu.c:4104 backend/genesys/genesys.cpp:4159 #, no-c-format msgid "Software crop" msgstr "Програмне обрізання" -#: backend/fujitsu.c:4101 +#: backend/fujitsu.c:4105 #, no-c-format msgid "Request driver to remove border from pages digitally." msgstr "" "Вимагати від драйвера вилучення границі зі сторінок у автоматичному " "режимі." -#: backend/fujitsu.c:4130 +#: backend/fujitsu.c:4134 #, no-c-format msgid "Halt on Cancel" msgstr "Перервати при скасуванні" -#: backend/fujitsu.c:4131 +#: backend/fujitsu.c:4135 #, no-c-format msgid "" "Request driver to halt the paper feed instead of eject during a cancel." @@ -2800,106 +2839,106 @@ msgstr "" "Наказати драйверу перервати подавання паперу, замість його " "виштовхування, якщо сканування скасовано." -#: backend/fujitsu.c:4142 +#: backend/fujitsu.c:4146 #, no-c-format msgid "Endorser Options" msgstr "Параметри наддруку" -#: backend/fujitsu.c:4143 +#: backend/fujitsu.c:4147 #, no-c-format msgid "Controls for endorser unit" msgstr "Керування модулем наддруку" -#: backend/fujitsu.c:4154 +#: backend/fujitsu.c:4158 #, no-c-format msgid "Endorser" msgstr "Наддрук" -#: backend/fujitsu.c:4155 +#: backend/fujitsu.c:4159 #, no-c-format msgid "Enable endorser unit" msgstr "Увімкнути модуль наддруку" -#: backend/fujitsu.c:4170 +#: backend/fujitsu.c:4174 #, no-c-format msgid "Endorser bits" msgstr "Біти наддруку" -#: backend/fujitsu.c:4171 +#: backend/fujitsu.c:4175 #, no-c-format msgid "Determines maximum endorser counter value." msgstr "Визначає максимальне значення лічильника наддруку." -#: backend/fujitsu.c:4196 +#: backend/fujitsu.c:4200 #, no-c-format msgid "Endorser value" msgstr "Значення наддруку" -#: backend/fujitsu.c:4197 +#: backend/fujitsu.c:4201 #, no-c-format msgid "Initial endorser counter value." msgstr "Початкове значення лічильника наддруку." -#: backend/fujitsu.c:4220 +#: backend/fujitsu.c:4224 #, no-c-format msgid "Endorser step" msgstr "Крок наддруку" -#: backend/fujitsu.c:4221 +#: backend/fujitsu.c:4225 #, no-c-format msgid "Change endorser counter value by this much for each page." msgstr "" "Змінювати значення лічильника наддруку на вказане число для кожної " "наступної сторінки." -#: backend/fujitsu.c:4244 +#: backend/fujitsu.c:4248 #, no-c-format msgid "Endorser Y" msgstr "Y наддруку" -#: backend/fujitsu.c:4245 +#: backend/fujitsu.c:4249 #, no-c-format msgid "Endorser print offset from top of paper." msgstr "Зсув мітки наддруку від верхнього краю паперу." -#: backend/fujitsu.c:4270 +#: backend/fujitsu.c:4274 #, no-c-format msgid "Endorser font" msgstr "Шрифт наддруку" -#: backend/fujitsu.c:4271 +#: backend/fujitsu.c:4275 #, no-c-format msgid "Endorser printing font." msgstr "Шрифт наддруку." -#: backend/fujitsu.c:4300 +#: backend/fujitsu.c:4304 #, no-c-format msgid "Endorser direction" msgstr "Напрямок наддруку" -#: backend/fujitsu.c:4301 +#: backend/fujitsu.c:4305 #, no-c-format msgid "Endorser printing direction." msgstr "Напрямок друку." -#: backend/fujitsu.c:4325 +#: backend/fujitsu.c:4329 #, no-c-format msgid "Endorser side" msgstr "Бік наддруку" -#: backend/fujitsu.c:4326 +#: backend/fujitsu.c:4330 #, no-c-format msgid "Endorser printing side, requires hardware support to change" msgstr "" "Бік, з якого буде друкуватися мітка. Потребує апаратної підтримки для " "зміни." -#: backend/fujitsu.c:4351 +#: backend/fujitsu.c:4355 #, no-c-format msgid "Endorser string" msgstr "Рядок наддруку" -#: backend/fujitsu.c:4352 +#: backend/fujitsu.c:4356 #, no-c-format msgid "" "Endorser alphanumeric print format. %05ud or %08ud at the end will be " @@ -2908,219 +2947,205 @@ msgstr "" "Буквенно-цифровий формат наддруку. %05ud або %08ud наприкінці буде " "замінено на значення лічильника." -#: backend/fujitsu.c:4379 +#: backend/fujitsu.c:4383 #, no-c-format msgid "Top edge" msgstr "Верхній край" -#: backend/fujitsu.c:4380 +#: backend/fujitsu.c:4384 #, no-c-format -msgid "Paper is pulled partly into adf" +msgid "Paper is pulled partly into ADF" msgstr "Папір частково втягнуто до протяжного пристрою" -#: backend/fujitsu.c:4391 +#: backend/fujitsu.c:4395 #, no-c-format msgid "A3 paper" msgstr "Папір A3" -#: backend/fujitsu.c:4392 +#: backend/fujitsu.c:4396 #, no-c-format msgid "A3 paper detected" msgstr "Виявлено папір A3" -#: backend/fujitsu.c:4403 +#: backend/fujitsu.c:4407 #, no-c-format msgid "B4 paper" msgstr "Папір B4" -#: backend/fujitsu.c:4404 +#: backend/fujitsu.c:4408 #, no-c-format msgid "B4 paper detected" msgstr "Виявлено папір B4" -#: backend/fujitsu.c:4415 +#: backend/fujitsu.c:4419 #, no-c-format msgid "A4 paper" msgstr "Папір A4" -#: backend/fujitsu.c:4416 +#: backend/fujitsu.c:4420 #, no-c-format msgid "A4 paper detected" msgstr "Виявлено папір A4" -#: backend/fujitsu.c:4427 +#: backend/fujitsu.c:4431 #, no-c-format msgid "B5 paper" msgstr "Папір B5" -#: backend/fujitsu.c:4428 +#: backend/fujitsu.c:4432 #, no-c-format msgid "B5 paper detected" msgstr "Виявлено папір B5" -#: backend/fujitsu.c:4451 +#: backend/fujitsu.c:4455 #, no-c-format msgid "OMR or DF" msgstr "OMR або ПП" -#: backend/fujitsu.c:4452 +#: backend/fujitsu.c:4456 #, no-c-format msgid "OMR or double feed detected" msgstr "Виявлено OMR або подвійне подавання" -#: backend/fujitsu.c:4475 +#: backend/fujitsu.c:4479 #, no-c-format msgid "Power saving" msgstr "Заощадження енергії" -#: backend/fujitsu.c:4476 +#: backend/fujitsu.c:4480 #, no-c-format msgid "Scanner in power saving mode" msgstr "Сканер перебуває у режимі заощадження енергії" -#: backend/fujitsu.c:4499 +#: backend/fujitsu.c:4503 #, no-c-format msgid "Manual feed" msgstr "Подавання вручну" -#: backend/fujitsu.c:4500 +#: backend/fujitsu.c:4504 #, no-c-format msgid "Manual feed selected" msgstr "Вибрано режим подавання вручну" -#: backend/fujitsu.c:4523 +#: backend/fujitsu.c:4527 #, no-c-format msgid "Function" msgstr "Функція" -#: backend/fujitsu.c:4524 +#: backend/fujitsu.c:4528 #, no-c-format msgid "Function character on screen" msgstr "Функціональний символ на екрані" -#: backend/fujitsu.c:4535 +#: backend/fujitsu.c:4539 #, no-c-format msgid "Ink low" msgstr "Закінчуються чорнила" -#: backend/fujitsu.c:4536 +#: backend/fujitsu.c:4540 #, no-c-format msgid "Imprinter ink running low" msgstr "Лишилося мало чорнила для наддруку" -#: backend/fujitsu.c:4547 +#: backend/fujitsu.c:4551 #, no-c-format msgid "Double feed" msgstr "Подвійне подавання" -#: backend/fujitsu.c:4548 +#: backend/fujitsu.c:4552 #, no-c-format msgid "Double feed detected" msgstr "Виявлено подвійне подавання" -#: backend/fujitsu.c:4559 +#: backend/fujitsu.c:4563 #, no-c-format msgid "Error code" msgstr "Код помилки" -#: backend/fujitsu.c:4560 +#: backend/fujitsu.c:4564 #, no-c-format msgid "Hardware error code" msgstr "Код апаратної помилки" -#: backend/fujitsu.c:4571 +#: backend/fujitsu.c:4575 #, no-c-format msgid "Skew angle" msgstr "Кут перекошування" -#: backend/fujitsu.c:4572 +#: backend/fujitsu.c:4576 #, no-c-format msgid "Requires black background for scanning" msgstr "Потребує чорного тла для сканування" -#: backend/fujitsu.c:4583 +#: backend/fujitsu.c:4587 #, no-c-format msgid "Ink remaining" msgstr "Лишилося чорнила" -#: backend/fujitsu.c:4584 +#: backend/fujitsu.c:4588 #, no-c-format msgid "Imprinter ink level" msgstr "Рівень чорнила для наддруку" -#: backend/fujitsu.c:4595 +#: backend/fujitsu.c:4599 #, no-c-format msgid "Density" msgstr "Щільність" -#: backend/fujitsu.c:4596 +#: backend/fujitsu.c:4600 #, no-c-format msgid "Density dial" msgstr "Набирач щільності" -#: backend/fujitsu.c:4607 backend/fujitsu.c:4608 +#: backend/fujitsu.c:4611 backend/fujitsu.c:4612 #, no-c-format msgid "Duplex switch" msgstr "Перемикач двобічного" -#: backend/genesys.cc:5437 +#: backend/genesys/genesys.cpp:4160 #, no-c-format msgid "Request backend to remove border from pages digitally" msgstr "" "Вимагати від програмного модуля вилучення границі зі сторінок у " "автоматичному режимі" -#: backend/genesys.cc:5446 backend/kvs1025_opt.c:912 +#: backend/genesys/genesys.cpp:4169 backend/kvs1025_opt.c:912 #, no-c-format msgid "Request driver to discard pages with low numbers of dark pixels" msgstr "" "Вимагати від драйвера відкидання сторінок з надто низькою кількістю " "темних пікселів" -#: backend/genesys.cc:5456 backend/kvs1025_opt.c:892 +#: backend/genesys/genesys.cpp:4179 backend/kvs1025_opt.c:892 #, no-c-format msgid "Software derotate" msgstr "Програмне усування обертання" -#: backend/genesys.cc:5457 backend/kvs1025_opt.c:894 +#: backend/genesys/genesys.cpp:4180 backend/kvs1025_opt.c:894 #, no-c-format msgid "Request driver to detect and correct 90 degree image rotation" msgstr "" "Вимагати від драйвера виявлення і виправлення обертання зображення на 90 " "градусів" -#: backend/genesys.cc:5486 backend/pixma_sane_options.c:314 +#: backend/genesys/genesys.cpp:4210 backend/pixma/pixma_sane_options.c:314 #, no-c-format msgid "Extras" msgstr "Додаткові" -#: backend/genesys.cc:5506 backend/pixma_sane_options.c:336 +#: backend/genesys/genesys.cpp:4230 backend/pixma/pixma_sane_options.c:336 #, no-c-format msgid "Dynamic threshold curve, from light to dark, normally 50-65" msgstr "" "Крива динамічного порогового значення, від світлого до темного, типово " "50-65" -#: backend/genesys.cc:5515 -#, no-c-format -msgid "Disable dynamic lineart" -msgstr "Вимкнути динамічне штрихування" - -#: backend/genesys.cc:5517 -#, no-c-format -msgid "" -"Disable use of a software adaptive algorithm to generate lineart relying " -"instead on hardware lineart." -msgstr "" -"Вимкнути використання адаптивного програмного алгоритму для створення " -"штрихування замість апаратного алгоритму штрихування." - -#: backend/genesys.cc:5533 +#: backend/genesys/genesys.cpp:4240 #, no-c-format msgid "Disable interpolation" msgstr "Вимкнути інтерполяцію" -#: backend/genesys.cc:5536 +#: backend/genesys/genesys.cpp:4243 #, no-c-format msgid "" "When using high resolutions where the horizontal resolution is smaller " @@ -3130,34 +3155,34 @@ msgstr "" "роздільна здатність менша за вертикальну, вимикає горизонтальну " "інтерполяцію." -#: backend/genesys.cc:5545 +#: backend/genesys/genesys.cpp:4252 #, no-c-format msgid "Color filter" msgstr "Фільтр кольору" -#: backend/genesys.cc:5548 +#: backend/genesys/genesys.cpp:4255 #, no-c-format msgid "When using gray or lineart this option selects the used color." msgstr "" "За використання друку у півтонах або штрихового друку за допомогою цього " "пункту можна обрати колір друку." -#: backend/genesys.cc:5574 +#: backend/genesys/genesys.cpp:4279 #, no-c-format msgid "Calibration file" msgstr "Файл калібрування" -#: backend/genesys.cc:5575 +#: backend/genesys/genesys.cpp:4280 #, no-c-format msgid "Specify the calibration file to use" msgstr "Вкажіть файл даних калібрування, які буде використано" -#: backend/genesys.cc:5592 +#: backend/genesys/genesys.cpp:4297 #, no-c-format msgid "Calibration cache expiration time" msgstr "Строк дії кешу калібрування" -#: backend/genesys.cc:5593 +#: backend/genesys/genesys.cpp:4298 #, no-c-format msgid "" "Time (in minutes) before a cached calibration expires. A value of 0 " @@ -3168,12 +3193,12 @@ msgstr "" "Від’ємні значення означають, що обмежень на строк дії кешу не " "накладатиметься." -#: backend/genesys.cc:5603 +#: backend/genesys/genesys.cpp:4308 #, no-c-format msgid "Lamp off time" msgstr "Час вимикання лампи" -#: backend/genesys.cc:5606 +#: backend/genesys/genesys.cpp:4311 #, no-c-format msgid "" "The lamp will be turned off after the given time (in minutes). A value " @@ -3182,90 +3207,111 @@ msgstr "" "Лампу буде вимкнено, коли спливе вказаний час (у хвилинах). Значення " "рівне 0 означатиме, що лампа не вимикатиметься." -#: backend/genesys.cc:5616 +#: backend/genesys/genesys.cpp:4321 #, no-c-format msgid "Lamp off during scan" msgstr "Вимикання лампи під час сканування" -#: backend/genesys.cc:5617 +#: backend/genesys/genesys.cpp:4322 #, no-c-format msgid "The lamp will be turned off during scan. " msgstr "Лампу буде вимкнено під час сканування. " -#: backend/genesys.cc:5643 backend/genesys.cc:5644 +#: backend/genesys/genesys.cpp:4349 backend/genesys/genesys.cpp:4350 #, no-c-format msgid "File button" msgstr "Кнопка «File»" -#: backend/genesys.cc:5688 backend/genesys.cc:5689 +#: backend/genesys/genesys.cpp:4394 backend/genesys/genesys.cpp:4395 #, no-c-format msgid "OCR button" msgstr "Кнопка «OCR»" -#: backend/genesys.cc:5700 backend/genesys.cc:5701 +#: backend/genesys/genesys.cpp:4406 backend/genesys/genesys.cpp:4407 #, no-c-format msgid "Power button" msgstr "Кнопка «Power»" -#: backend/genesys.cc:5712 backend/genesys.cc:5713 +#: backend/genesys/genesys.cpp:4418 backend/genesys/genesys.cpp:4419 #, no-c-format msgid "Extra button" msgstr "Додаткова кнопка" -#: backend/genesys.cc:5724 backend/gt68xx.c:755 +#: backend/genesys/genesys.cpp:4430 backend/gt68xx.c:755 #, no-c-format -msgid "Need calibration" +msgid "Needs calibration" msgstr "Потребує калібрування" -#: backend/genesys.cc:5725 backend/gt68xx.c:756 +#: backend/genesys/genesys.cpp:4431 backend/gt68xx.c:756 backend/p5.c:1928 #, no-c-format msgid "The scanner needs calibration for the current settings" msgstr "Для застосування поточних параметрів потрібне калібрування" -#: backend/genesys.cc:5735 backend/gt68xx.c:780 backend/gt68xx.c:781 -#: backend/pixma_sane_options.c:226 backend/plustek.c:1080 +#: backend/genesys/genesys.cpp:4442 backend/gt68xx.c:780 +#: backend/gt68xx.c:781 backend/p5.c:1937 backend/p5.c:1938 +#: backend/pixma/pixma_sane_options.c:226 backend/plustek.c:1080 #, no-c-format msgid "Buttons" msgstr "Кнопки" -#: backend/genesys.cc:5744 backend/gt68xx.c:787 backend/hp5400_sane.c:392 -#: backend/hp-option.h:97 backend/niash.c:726 backend/plustek.c:941 +#: backend/genesys/genesys.cpp:4451 backend/gt68xx.c:787 +#: backend/hp-option.h:97 backend/hp5400_sane.c:392 backend/niash.c:726 +#: backend/p5.c:1945 backend/plustek.c:941 #, no-c-format msgid "Calibrate" msgstr "Відкалібрувати" -#: backend/genesys.cc:5746 backend/gt68xx.c:789 +#: backend/genesys/genesys.cpp:4453 backend/gt68xx.c:789 backend/p5.c:1947 #, no-c-format msgid "Start calibration using special sheet" msgstr "Почати калібрування за допомогою спеціального аркуша" -#: backend/genesys.cc:5758 backend/gt68xx.c:802 +#: backend/genesys/genesys.cpp:4465 backend/gt68xx.c:802 backend/p5.c:1958 #, no-c-format msgid "Clear calibration" msgstr "Спорожнити дані калібрування" -#: backend/genesys.cc:5759 backend/gt68xx.c:803 +#: backend/genesys/genesys.cpp:4466 backend/gt68xx.c:803 backend/p5.c:1960 #, no-c-format msgid "Clear calibration cache" msgstr "Спорожнити кеш калібрування" -#: backend/genesys.cc:5769 +#: backend/genesys/genesys.cpp:4476 #, no-c-format msgid "Force calibration" msgstr "Примусове калібрування" -#: backend/genesys.cc:5770 +#: backend/genesys/genesys.cpp:4477 #, no-c-format msgid "Force calibration ignoring all and any calibration caches" msgstr "" "Примусове калібрування з ігноруванням усіх кешованих даних калібрування" -#: backend/gt68xx.c:149 backend/ma1509.c:108 backend/mustek.c:164 -#: backend/snapscan-options.c:87 backend/umax.c:182 +#: backend/genesys/genesys.cpp:4487 +#, no-c-format +msgid "Ignore internal offsets" +msgstr "Ігнорувати внутрішні відступи" + +#: backend/genesys/genesys.cpp:4489 +#, no-c-format +msgid "" +"Acquires the image including the internal calibration areas of the " +"scanner" +msgstr "" +"Надсилає запит щодо сканування зображення включно із внутрішніми " +"областями калібрування сканера" + +#: backend/genesys/genesys.h:79 backend/gt68xx.c:149 backend/ma1509.c:108 +#: backend/mustek.c:164 backend/snapscan-options.c:87 backend/umax.c:182 #, no-c-format msgid "Transparency Adapter" msgstr "Адаптер плівок" +#: backend/genesys/genesys.h:80 +#, no-c-format +msgid "Transparency Adapter Infrared" +msgstr "Адаптер плівок для інфрачервоного сканування" + #: backend/gt68xx.c:470 #, no-c-format msgid "Gray mode color" @@ -3374,646 +3420,647 @@ msgstr "Значення коефіцієнта контрастності" msgid "Sets the gamma value of all channels." msgstr "Визначає значення коефіцієнта контрастності для всіх каналів." -#: backend/hp3500.c:1020 +#: backend/hp-option.c:2987 #, no-c-format -msgid "Geometry Group" -msgstr "Група розташування" +msgid "Advanced Options" +msgstr "Додаткові параметри" -#: backend/hp3500.c:1073 backend/hp3500.c:1074 +#: backend/hp-option.c:3044 #, no-c-format -msgid "Scan Mode Group" -msgstr "Група режимів сканування" +msgid "Coarse" +msgstr "Грубе" -#: backend/hp3900_sane.c:427 backend/hp3900_sane.c:1019 -#: backend/hp-option.c:3177 +#: backend/hp-option.c:3045 #, no-c-format -msgid "Slide" -msgstr "Слайд" +msgid "Fine" +msgstr "Високої якості" -#: backend/hp3900_sane.c:1405 +#: backend/hp-option.c:3046 #, no-c-format -msgid "Scanner model" -msgstr "Модель сканера" +msgid "Bayer" +msgstr "Секція" -#: backend/hp3900_sane.c:1408 +#: backend/hp-option.c:3049 backend/hp-option.c:3100 #, no-c-format -msgid "Allows one to test device behaviour with other supported models" -msgstr "" -"Надає змогу перевірити поведінку пристрою з використанням інших " -"підтримуваних моделей" +msgid "Custom" +msgstr "Нетипова" -#: backend/hp3900_sane.c:1422 +#: backend/hp-option.c:3090 backend/hp-option.c:3146 +#: backend/hp-option.c:3161 #, no-c-format -msgid "Image colours will be inverted" -msgstr "Кольори зображення буде інвертовано" +msgid "Auto" +msgstr "Авто" -#: backend/hp3900_sane.c:1436 +#: backend/hp-option.c:3091 #, no-c-format -msgid "Disable gamma correction" -msgstr "Вимкнути виправлення гами" +msgid "NTSC RGB" +msgstr "NTSC RGB" -#: backend/hp3900_sane.c:1437 +#: backend/hp-option.c:3092 #, no-c-format -msgid "Gamma correction will be disabled" -msgstr "Виправлення гами буде вимкнено" +msgid "XPA RGB" +msgstr "XPA RGB" -#: backend/hp3900_sane.c:1451 +#: backend/hp-option.c:3093 #, no-c-format -msgid "Disable white shading correction" -msgstr "Вимкнути виправлення відтінків білого" +msgid "Pass-through" +msgstr "Пропускати" -#: backend/hp3900_sane.c:1453 +#: backend/hp-option.c:3094 #, no-c-format -msgid "White shading correction will be disabled" -msgstr "Виправлення градації білого буде вимкнено" +msgid "NTSC Gray" +msgstr "Чорно-біле NTSC" -#: backend/hp3900_sane.c:1467 +#: backend/hp-option.c:3095 #, no-c-format -msgid "Skip warmup process" -msgstr "Пропустити процедуру розігріву" +msgid "XPA Gray" +msgstr "Чорно-біле XPA" -#: backend/hp3900_sane.c:1468 +#: backend/hp-option.c:3147 #, no-c-format -msgid "Warmup process will be disabled" -msgstr "Процес розігрівання буде вимкнено" +msgid "Slow" +msgstr "Повільно" -#: backend/hp3900_sane.c:1482 +#: backend/hp-option.c:3148 backend/hp-option.c:3255 +#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 +#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 #, no-c-format -msgid "Force real depth" -msgstr "Вказати справжню глибину" +msgid "Normal" +msgstr "Звичайна" -#: backend/hp3900_sane.c:1485 +#: backend/hp-option.c:3149 #, no-c-format -msgid "" -"If gamma is enabled, scans are always made in 16 bits depth to improve " -"image quality and then converted to the selected depth. This option " -"avoids depth emulation." -msgstr "" -"Якщо буде увімкнено гаму, сканування завжди виконуватиметься з глибиною " -"кольорів у 16 бітів для покращення якості зображення, а вже потім " -"перетворюватиметься до обраної глибини кольорів. За допомогою цього " -"пункту можна уникнути такої емуляції." +msgid "Fast" +msgstr "Швидко" -#: backend/hp3900_sane.c:1499 +#: backend/hp-option.c:3150 #, no-c-format -msgid "Emulate Grayscale" -msgstr "Імітація чорно-білого" +msgid "Extra Fast" +msgstr "Дуже швидко" -#: backend/hp3900_sane.c:1502 +#: backend/hp-option.c:3163 #, no-c-format -msgid "" -"If enabled, image will be scanned in color mode and then converted to " -"grayscale by software. This may improve image quality in some " -"circumstances." -msgstr "" -"Якщо буде позначено цей пункт, зображення буде заскановано у кольоровому " -"режимі, а вже потім програмно перетворено на зображення у тонах сірого. " -"Використання подібного підходу іноді може покращити якість зображення." +msgid "2-pixel" +msgstr "Двоточкове" -#: backend/hp3900_sane.c:1516 +#: backend/hp-option.c:3164 #, no-c-format -msgid "Save debugging images" -msgstr "Зберегти зневаджувальні зображення" +msgid "4-pixel" +msgstr "Чотириточкове" -#: backend/hp3900_sane.c:1519 +#: backend/hp-option.c:3165 #, no-c-format -msgid "" -"If enabled, some images involved in scanner processing are saved to " -"analyze them." -msgstr "" -"Якщо буде позначено цей пункт, деякі з зображень з процесу сканування " -"буде збережено для подальшого аналізу." +msgid "8-pixel" +msgstr "Восьмиточкове" -#: backend/hp3900_sane.c:1533 +#: backend/hp-option.c:3176 #, no-c-format -msgid "Reset chipset" -msgstr "Відновити дані мікроконтролера" +msgid "Print" +msgstr "Друк" -#: backend/hp3900_sane.c:1534 +#: backend/hp-option.c:3177 backend/hp3900_sane.c:427 +#: backend/hp3900_sane.c:1019 #, no-c-format -msgid "Resets chipset data" -msgstr "Відновити початкові дані мікроконтролера" +msgid "Slide" +msgstr "Слайд" -#: backend/hp3900_sane.c:1547 +#: backend/hp-option.c:3178 #, no-c-format -msgid "Information" -msgstr "Інформація" +msgid "Film-strip" +msgstr "Плівка" -#: backend/hp3900_sane.c:1560 +#: backend/hp-option.c:3256 backend/hp5590.c:93 #, no-c-format -msgid "Chipset name" -msgstr "Назва мікроконтролера" +msgid "ADF" +msgstr "АПД" -#: backend/hp3900_sane.c:1561 +#: backend/hp-option.c:3257 #, no-c-format -msgid "Shows chipset name used in device." -msgstr "Показує назву мікросхеми, використаної у пристрої." +msgid "XPA" +msgstr "XPA" -#: backend/hp3900_sane.c:1565 +#: backend/hp-option.c:3331 backend/hp-option.c:3344 #, no-c-format -msgid "Unknown" -msgstr "Невідома" +msgid "Conditional" +msgstr "Умовно" -#: backend/hp3900_sane.c:1571 +#: backend/hp-option.c:3417 #, no-c-format -msgid "Chipset ID" -msgstr "Ідентифікатор мікросхеми" +msgid "Experiment" +msgstr "Експеримент" -#: backend/hp3900_sane.c:1572 +#: backend/hp-option.h:60 #, no-c-format -msgid "Shows the chipset ID" -msgstr "Показує ідентифікатор мікросхеми" +msgid "Sharpening" +msgstr "Збільшенні різкості" -#: backend/hp3900_sane.c:1582 +#: backend/hp-option.h:61 #, no-c-format -msgid "Scan counter" -msgstr "Лічильник сканування" +msgid "Set sharpening value." +msgstr "Визначає величину збільшення різкості." -#: backend/hp3900_sane.c:1584 +#: backend/hp-option.h:66 #, no-c-format -msgid "Shows the number of scans made by scanner" -msgstr "Показує кількість сканувань, виконаних за допомогою сканера" +msgid "Auto Threshold" +msgstr "Автоматичне порогове значення" -#: backend/hp3900_sane.c:1594 +#: backend/hp-option.h:68 #, no-c-format -msgid "Update information" -msgstr "Оновити дані" +msgid "Enable automatic determination of threshold for line-art scans." +msgstr "" +"Увімкнути автоматичне визначення порогового значення для сканування " +"штрихових зображень." -#: backend/hp3900_sane.c:1595 +#: backend/hp-option.h:74 #, no-c-format -msgid "Updates information about device" -msgstr "Оновлює дані щодо пристрою" +msgid "Select smoothing filter." +msgstr "Визначити фільтр згладжування." -#: backend/hp3900_sane.c:1635 +#: backend/hp-option.h:79 #, no-c-format -msgid "This option reflects a front panel scanner button" -msgstr "Цей пункт відповідає кнопці передньої панелі сканера" +msgid "Unload media after scan" +msgstr "Вивантажувати носій після сканування" -#: backend/hp5400_sane.c:313 backend/niash.c:678 +#: backend/hp-option.h:80 #, no-c-format -msgid "Image" -msgstr "Зображення" +msgid "Unloads the media after a scan." +msgstr "Вивантажує носій після сканування." -#: backend/hp5400_sane.c:352 backend/niash.c:709 +#: backend/hp-option.h:85 #, no-c-format -msgid "Miscellaneous" -msgstr "Різне" +msgid "Change document" +msgstr "Змінити документ" -#: backend/hp5400_sane.c:358 +#: backend/hp-option.h:86 #, no-c-format -msgid "offset X" -msgstr "Зсув за X" +msgid "Change Document." +msgstr "Змінити документ." -#: backend/hp5400_sane.c:359 +#: backend/hp-option.h:91 #, no-c-format -msgid "Hardware internal X position of the scanning area." -msgstr "Апаратна внутрішня позиція за X області сканування." +msgid "Unload" +msgstr "Вивантажити" -#: backend/hp5400_sane.c:368 +#: backend/hp-option.h:92 #, no-c-format -msgid "offset Y" -msgstr "Зсув за Y" +msgid "Unload Document." +msgstr "Вивантажити документ." -#: backend/hp5400_sane.c:369 +#: backend/hp-option.h:98 #, no-c-format -msgid "Hardware internal Y position of the scanning area." -msgstr "Апаратна внутрішня позиція за Y області сканування." +msgid "Start calibration process." +msgstr "Почати процедуру калібрування." -#: backend/hp5400_sane.c:381 backend/niash.c:716 +#: backend/hp-option.h:103 #, no-c-format -msgid "Lamp status" -msgstr "Стан лампи" +msgid "Media" +msgstr "Носій" -#: backend/hp5400_sane.c:382 backend/niash.c:717 +#: backend/hp-option.h:104 #, no-c-format -msgid "Switches the lamp on or off." -msgstr "Вмикає або вимикає лампу." +msgid "Set type of media." +msgstr "Визначити тип носія." -#: backend/hp5400_sane.c:393 backend/niash.c:727 +#: backend/hp-option.h:109 #, no-c-format -msgid "Calibrates for black and white level." -msgstr "Калібрує для визначення рівня чорного и білого." +msgid "Exposure time" +msgstr "Час експозиції" -#: backend/hp5590.c:93 backend/hp-option.c:3256 +#: backend/hp-option.h:111 #, no-c-format -msgid "ADF" -msgstr "АПД" +msgid "" +"A longer exposure time lets the scanner collect more light. Suggested " +"use is 175% for prints, 150% for normal slides and \"Negative\" for " +"negative film. For dark (underexposed) images you can increase this " +"value." +msgstr "" +"Триваліша витримка надасть змогу сканеру накопичити більше світла. " +"Рекомендуємо вам скористатися значенням 175% для друкованих документів, " +"150% для звичайних слайдів та «Негатив» для негативів. Для темних " +"(недоекспонованих) зображень ви можете збільшити це значення." -#: backend/hp5590.c:95 +#: backend/hp-option.h:119 backend/hp-option.h:126 #, no-c-format -msgid "TMA Slides" -msgstr "Слайди TMA" +msgid "Color Matrix" +msgstr "Матриця кольорів" -#: backend/hp5590.c:96 +#: backend/hp-option.h:121 #, no-c-format -msgid "TMA Negatives" -msgstr "Негативи TMA" +msgid "Set the scanner's color matrix." +msgstr "Визначити матрицю кольорів сканера." -#: backend/hp5590.c:108 +#: backend/hp-option.h:127 #, no-c-format -msgid "Color (48 bits)" -msgstr "Кольоровий (48-бітовий)" +msgid "Custom color matrix." +msgstr "Нетипова матриця кольорів." -#: backend/hp5590.c:112 +#: backend/hp-option.h:132 #, no-c-format -msgid "Extend lamp timeout" -msgstr "Збільшений час очікування лампи" +msgid "Mono Color Matrix" +msgstr "Чорно-біла матриця кольорів" -#: backend/hp5590.c:113 +#: backend/hp-option.h:133 #, no-c-format -msgid "Extends lamp timeout (from 15 minutes to 1 hour)" -msgstr "Збільшує час очікування лампи (з 15 хвилин до 1 години)" +msgid "Custom color matrix for grayscale scans." +msgstr "Нетипова матриця кольорів для чорно-білих зображень." -#: backend/hp5590.c:115 +#: backend/hp-option.h:138 #, no-c-format -msgid "Wait for button" -msgstr "Очікувати натискання кнопки" +msgid "Mirror horizontal" +msgstr "Віддзеркалити горизонтально" -#: backend/hp5590.c:116 +#: backend/hp-option.h:139 #, no-c-format -msgid "Waits for button before scanning" -msgstr "Очікувати на натискання кнопки, перш ніж почати сканування" +msgid "Mirror image horizontally." +msgstr "Віддзеркалити зображення по горизонталі." -#: backend/hp5590.c:118 +#: backend/hp-option.h:144 #, no-c-format -msgid "Last button pressed" -msgstr "Остання натиснута кнопка" +msgid "Mirror vertical" +msgstr "Віддзеркалити вертикально" -#: backend/hp5590.c:119 +#: backend/hp-option.h:145 #, no-c-format -msgid "Get ID of last button pressed (read only)" -msgstr "Отримати ідентифікатор останньої натиснутої кнопки (лише читання)" +msgid "Mirror image vertically." +msgstr "Віддзеркалити зображення по вертикалі." -#: backend/hp5590.c:121 +#: backend/hp-option.h:150 #, no-c-format -msgid "LCD counter" -msgstr "Лічильник LCD" +msgid "Update options" +msgstr "Оновити параметри" -#: backend/hp5590.c:122 +#: backend/hp-option.h:151 #, no-c-format -msgid "Get value of LCD counter (read only)" -msgstr "Отримати значення лічильника LCD (лише читання)" +msgid "Update options." +msgstr "Оновити параметри." -#: backend/hp5590.c:124 +#: backend/hp-option.h:156 #, no-c-format -msgid "Color LED indicator" -msgstr "Кольоровий індикатор LED" +msgid "8 bit output" +msgstr "8-бітовий вивід" -#: backend/hp5590.c:125 +#: backend/hp-option.h:158 #, no-c-format -msgid "Get value of LED indicator (read only)" -msgstr "Отримати значення індикатора LED (лише читання)" +msgid "" +"Use bit depth greater eight internally, but output only eight bits." +msgstr "" +"Для внутрішньої обробки використовувати глибини кольорів, більші за 8-" +"бітові, але виводити дані лише у 8-бітовому форматі." -#: backend/hp5590.c:127 +#: backend/hp-option.h:164 #, no-c-format -msgid "Document available in ADF" -msgstr "Документ доступний у АПД" +msgid "Front button wait" +msgstr "Очікувати натискання кнопки у передній частині" -#: backend/hp5590.c:128 +#: backend/hp-option.h:165 #, no-c-format -msgid "Get state of document-available indicator in ADF (read only)" +msgid "Wait to scan for front-panel button push." msgstr "" -"Отримати стан індикатора доступності документа у АПД (лише читання)" +"Не починати сканування до натискання кнопки на передній панелі сканера." -#: backend/hp5590.c:130 +#: backend/hp-option.h:172 #, no-c-format -msgid "Hide end-of-page pixel" -msgstr "Приховувати кінцевий піксель сторінки" +msgid "Shut off lamp" +msgstr "Вимкнути лампу" -#: backend/hp5590.c:131 +#: backend/hp-option.h:173 #, no-c-format -msgid "" -"Hide end-of-page indicator pixels and overwrite with neighbor pixels" -msgstr "" -"Приховувати пікселі-індикатори кінця сторінки і перезаписувати їх " -"сусідніми пікселями" +msgid "Shut off scanner lamp." +msgstr "Вимкнути лампу сканера." -#: backend/hp5590.c:133 +#: backend/hp3500.c:1020 #, no-c-format -msgid "Filling mode of trailing lines after scan data (ADF)" -msgstr "Режим заповнення кінцевих ліній після даних сканування (АПД)" +msgid "Geometry Group" +msgstr "Група розташування" -#: backend/hp5590.c:134 +#: backend/hp3500.c:1073 backend/hp3500.c:1074 #, no-c-format -msgid "" -"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " -"white = white color, black = black color, color = RGB or gray color value" -msgstr "" -"raw = дані сканування без обробки, last = повторити останню лінію " -"сканування, raster = чорно-білий растр, white = білий колір, black = " -"чорний колір, color = значення кольору у RGB або тонах сірого" +msgid "Scan Mode Group" +msgstr "Група режимів сканування" -#: backend/hp5590.c:137 +#: backend/hp3900_sane.c:1405 #, no-c-format -msgid "RGB or gray color value for filling mode 'color'" -msgstr "" -"Значення кольору у RGB або тонах сірого для режиму заповнення «color»" +msgid "Scanner model" +msgstr "Модель сканера" -#: backend/hp5590.c:138 +#: backend/hp3900_sane.c:1408 #, no-c-format -msgid "" -"Color value for trailing lines filling mode 'color'. RGB color as " -"r*65536+256*g+b or gray value (default=violet or gray)" +msgid "Allows one to test device behavior with other supported models" msgstr "" -"Значення кольору для кінцевих ліній режиму заповнення «color». Колір RGB " -"як значення у форматі r*65536+256*g+b або значення тону сірого (типове " -"значення — фіолетовий або сірий)" +"Надає змогу перевірити поведінку пристрою з використанням інших " +"підтримуваних моделей" -#: backend/hp-option.c:2987 +#: backend/hp3900_sane.c:1422 #, no-c-format -msgid "Advanced Options" -msgstr "Додаткові параметри" +msgid "Image colors will be inverted" +msgstr "Кольори зображення буде інвертовано" -#: backend/hp-option.c:3044 +#: backend/hp3900_sane.c:1436 #, no-c-format -msgid "Coarse" -msgstr "Грубе" +msgid "Disable gamma correction" +msgstr "Вимкнути виправлення гами" -#: backend/hp-option.c:3045 +#: backend/hp3900_sane.c:1437 #, no-c-format -msgid "Fine" -msgstr "Високої якості" +msgid "Gamma correction will be disabled" +msgstr "Виправлення гами буде вимкнено" -#: backend/hp-option.c:3046 +#: backend/hp3900_sane.c:1451 #, no-c-format -msgid "Bayer" -msgstr "Секція" +msgid "Disable white shading correction" +msgstr "Вимкнути виправлення відтінків білого" -#: backend/hp-option.c:3049 backend/hp-option.c:3100 +#: backend/hp3900_sane.c:1453 #, no-c-format -msgid "Custom" -msgstr "Нетипова" +msgid "White shading correction will be disabled" +msgstr "Виправлення градації білого буде вимкнено" -#: backend/hp-option.c:3090 backend/hp-option.c:3146 -#: backend/hp-option.c:3161 +#: backend/hp3900_sane.c:1467 #, no-c-format -msgid "Auto" -msgstr "Авто" +msgid "Skip warmup process" +msgstr "Пропустити процедуру розігріву" -#: backend/hp-option.c:3091 +#: backend/hp3900_sane.c:1468 #, no-c-format -msgid "NTSC RGB" -msgstr "NTSC RGB" +msgid "Warmup process will be disabled" +msgstr "Процес розігрівання буде вимкнено" -#: backend/hp-option.c:3092 +#: backend/hp3900_sane.c:1482 #, no-c-format -msgid "XPA RGB" -msgstr "XPA RGB" +msgid "Force real depth" +msgstr "Вказати справжню глибину" -#: backend/hp-option.c:3093 +#: backend/hp3900_sane.c:1485 #, no-c-format -msgid "Pass-through" -msgstr "Пропускати" +msgid "" +"If gamma is enabled, scans are always made in 16 bits depth to improve " +"image quality and then converted to the selected depth. This option " +"avoids depth emulation." +msgstr "" +"Якщо буде увімкнено гаму, сканування завжди виконуватиметься з глибиною " +"кольорів у 16 бітів для покращення якості зображення, а вже потім " +"перетворюватиметься до обраної глибини кольорів. За допомогою цього " +"пункту можна уникнути такої емуляції." -#: backend/hp-option.c:3094 +#: backend/hp3900_sane.c:1499 #, no-c-format -msgid "NTSC Gray" -msgstr "Чорно-біле NTSC" +msgid "Emulate Grayscale" +msgstr "Імітація чорно-білого" -#: backend/hp-option.c:3095 +#: backend/hp3900_sane.c:1502 #, no-c-format -msgid "XPA Gray" -msgstr "Чорно-біле XPA" +msgid "" +"If enabled, image will be scanned in color mode and then converted to " +"grayscale by software. This may improve image quality in some " +"circumstances." +msgstr "" +"Якщо буде позначено цей пункт, зображення буде заскановано у кольоровому " +"режимі, а вже потім програмно перетворено на зображення у тонах сірого. " +"Використання подібного підходу іноді може покращити якість зображення." -#: backend/hp-option.c:3147 +#: backend/hp3900_sane.c:1516 #, no-c-format -msgid "Slow" -msgstr "Повільно" +msgid "Save debugging images" +msgstr "Зберегти зневаджувальні зображення" -#: backend/hp-option.c:3148 backend/hp-option.c:3255 -#: backend/kvs40xx_opt.c:230 backend/matsushita.c:244 backend/mustek.c:149 -#: backend/plustek.c:234 backend/plustek_pp.c:203 backend/u12.c:155 +#: backend/hp3900_sane.c:1519 #, no-c-format -msgid "Normal" -msgstr "Звичайна" +msgid "" +"If enabled, some images involved in scanner processing are saved to " +"analyze them." +msgstr "" +"Якщо буде позначено цей пункт, деякі з зображень з процесу сканування " +"буде збережено для подальшого аналізу." -#: backend/hp-option.c:3149 +#: backend/hp3900_sane.c:1533 #, no-c-format -msgid "Fast" -msgstr "Швидко" +msgid "Reset chipset" +msgstr "Відновити дані мікроконтролера" -#: backend/hp-option.c:3150 +#: backend/hp3900_sane.c:1534 #, no-c-format -msgid "Extra Fast" -msgstr "Дуже швидко" +msgid "Resets chipset data" +msgstr "Відновити початкові дані мікроконтролера" -#: backend/hp-option.c:3163 +#: backend/hp3900_sane.c:1547 #, no-c-format -msgid "2-pixel" -msgstr "Двоточкове" +msgid "Information" +msgstr "Інформація" -#: backend/hp-option.c:3164 +#: backend/hp3900_sane.c:1560 #, no-c-format -msgid "4-pixel" -msgstr "Чотириточкове" +msgid "Chipset name" +msgstr "Назва мікроконтролера" -#: backend/hp-option.c:3165 +#: backend/hp3900_sane.c:1561 #, no-c-format -msgid "8-pixel" -msgstr "Восьмиточкове" +msgid "Shows chipset name used in device." +msgstr "Показує назву мікросхеми, використаної у пристрої." -#: backend/hp-option.c:3176 +#: backend/hp3900_sane.c:1565 #, no-c-format -msgid "Print" -msgstr "Друк" +msgid "Unknown" +msgstr "Невідома" -#: backend/hp-option.c:3178 +#: backend/hp3900_sane.c:1571 #, no-c-format -msgid "Film-strip" -msgstr "Плівка" +msgid "Chipset ID" +msgstr "Ідентифікатор мікросхеми" -#: backend/hp-option.c:3257 +#: backend/hp3900_sane.c:1572 #, no-c-format -msgid "XPA" -msgstr "XPA" +msgid "Shows the chipset ID" +msgstr "Показує ідентифікатор мікросхеми" -#: backend/hp-option.c:3331 backend/hp-option.c:3344 +#: backend/hp3900_sane.c:1582 #, no-c-format -msgid "Conditional" -msgstr "Умовно" +msgid "Scan counter" +msgstr "Лічильник сканування" -#: backend/hp-option.c:3417 +#: backend/hp3900_sane.c:1584 #, no-c-format -msgid "Experiment" -msgstr "Експеримент" +msgid "Shows the number of scans made by scanner" +msgstr "Показує кількість сканувань, виконаних за допомогою сканера" -#: backend/hp-option.h:60 +#: backend/hp3900_sane.c:1594 #, no-c-format -msgid "Sharpening" -msgstr "Збільшенні різкості" +msgid "Update information" +msgstr "Оновити дані" -#: backend/hp-option.h:61 +#: backend/hp3900_sane.c:1595 #, no-c-format -msgid "Set sharpening value." -msgstr "Визначає величину збільшення різкості." +msgid "Updates information about device" +msgstr "Оновлює дані щодо пристрою" -#: backend/hp-option.h:66 +#: backend/hp3900_sane.c:1635 #, no-c-format -msgid "Auto Threshold" -msgstr "Автоматичне порогове значення" +msgid "This option reflects a front panel scanner button" +msgstr "Цей пункт відповідає кнопці передньої панелі сканера" -#: backend/hp-option.h:68 +#: backend/hp5400_sane.c:313 backend/niash.c:678 #, no-c-format -msgid "Enable automatic determination of threshold for line-art scans." -msgstr "" -"Увімкнути автоматичне визначення порогового значення для сканування " -"штрихових зображень." +msgid "Image" +msgstr "Зображення" -#: backend/hp-option.h:74 +#: backend/hp5400_sane.c:352 backend/niash.c:709 #, no-c-format -msgid "Select smoothing filter." -msgstr "Визначити фільтр згладжування." +msgid "Miscellaneous" +msgstr "Різне" -#: backend/hp-option.h:79 +#: backend/hp5400_sane.c:358 #, no-c-format -msgid "Unload media after scan" -msgstr "Вивантажувати носій після сканування" +msgid "offset X" +msgstr "Зсув за X" -#: backend/hp-option.h:80 +#: backend/hp5400_sane.c:359 #, no-c-format -msgid "Unloads the media after a scan." -msgstr "Вивантажує носій після сканування." +msgid "Hardware internal X position of the scanning area." +msgstr "Апаратна внутрішня позиція за X області сканування." -#: backend/hp-option.h:85 +#: backend/hp5400_sane.c:368 #, no-c-format -msgid "Change document" -msgstr "Змінити документ" +msgid "offset Y" +msgstr "Зсув за Y" -#: backend/hp-option.h:86 +#: backend/hp5400_sane.c:369 #, no-c-format -msgid "Change Document." -msgstr "Змінити документ." +msgid "Hardware internal Y position of the scanning area." +msgstr "Апаратна внутрішня позиція за Y області сканування." -#: backend/hp-option.h:91 +#: backend/hp5400_sane.c:381 backend/niash.c:716 #, no-c-format -msgid "Unload" -msgstr "Вивантажити" +msgid "Lamp status" +msgstr "Стан лампи" -#: backend/hp-option.h:92 +#: backend/hp5400_sane.c:382 backend/niash.c:717 #, no-c-format -msgid "Unload Document." -msgstr "Вивантажити документ." +msgid "Switches the lamp on or off." +msgstr "Вмикає або вимикає лампу." -#: backend/hp-option.h:98 +#: backend/hp5400_sane.c:393 backend/niash.c:727 #, no-c-format -msgid "Start calibration process." -msgstr "Почати процедуру калібрування." +msgid "Calibrates for black and white level." +msgstr "Калібрує для визначення рівня чорного и білого." -#: backend/hp-option.h:103 +#: backend/hp5590.c:95 #, no-c-format -msgid "Media" -msgstr "Носій" +msgid "TMA Slides" +msgstr "Слайди TMA" -#: backend/hp-option.h:104 +#: backend/hp5590.c:96 #, no-c-format -msgid "Set type of media." -msgstr "Визначити тип носія." +msgid "TMA Negatives" +msgstr "Негативи TMA" -#: backend/hp-option.h:109 +#: backend/hp5590.c:108 #, no-c-format -msgid "Exposure time" -msgstr "Час експозиції" +msgid "Color (48 bits)" +msgstr "Кольоровий (48-бітовий)" -#: backend/hp-option.h:111 +#: backend/hp5590.c:112 #, no-c-format -msgid "" -"A longer exposure time lets the scanner collect more light. Suggested " -"use is 175% for prints, 150% for normal slides and \"Negative\" for " -"negative film. For dark (underexposed) images you can increase this " -"value." -msgstr "" -"Триваліша витримка надасть змогу сканеру накопичити більше світла. " -"Рекомендуємо вам скористатися значенням 175% для друкованих документів, " -"150% для звичайних слайдів та «Негатив» для негативів. Для темних " -"(недоекспонованих) зображень ви можете збільшити це значення." +msgid "Extend lamp timeout" +msgstr "Збільшений час очікування лампи" -#: backend/hp-option.h:119 backend/hp-option.h:126 +#: backend/hp5590.c:113 #, no-c-format -msgid "Color Matrix" -msgstr "Матриця кольорів" +msgid "Extends lamp timeout (from 15 minutes to 1 hour)" +msgstr "Збільшує час очікування лампи (з 15 хвилин до 1 години)" -#: backend/hp-option.h:121 +#: backend/hp5590.c:115 #, no-c-format -msgid "Set the scanners color matrix." -msgstr "Визначити матрицю кольорів сканера." +msgid "Wait for button" +msgstr "Очікувати натискання кнопки" -#: backend/hp-option.h:127 +#: backend/hp5590.c:116 #, no-c-format -msgid "Custom color matrix." -msgstr "Нетипова матриця кольорів." +msgid "Waits for button before scanning" +msgstr "Очікувати на натискання кнопки, перш ніж почати сканування" -#: backend/hp-option.h:132 +#: backend/hp5590.c:118 #, no-c-format -msgid "Mono Color Matrix" -msgstr "Чорно-біла матриця кольорів" +msgid "Last button pressed" +msgstr "Остання натиснута кнопка" -#: backend/hp-option.h:133 +#: backend/hp5590.c:119 #, no-c-format -msgid "Custom color matrix for grayscale scans." -msgstr "Нетипова матриця кольорів для чорно-білих зображень." +msgid "Get ID of last button pressed (read only)" +msgstr "Отримати ідентифікатор останньої натиснутої кнопки (лише читання)" -#: backend/hp-option.h:138 +#: backend/hp5590.c:121 #, no-c-format -msgid "Mirror horizontal" -msgstr "Віддзеркалити горизонтально" +msgid "LCD counter" +msgstr "Лічильник LCD" -#: backend/hp-option.h:139 +#: backend/hp5590.c:122 #, no-c-format -msgid "Mirror image horizontally." -msgstr "Віддзеркалити зображення по горизонталі." +msgid "Get value of LCD counter (read only)" +msgstr "Отримати значення лічильника LCD (лише читання)" -#: backend/hp-option.h:144 +#: backend/hp5590.c:124 #, no-c-format -msgid "Mirror vertical" -msgstr "Віддзеркалити вертикально" +msgid "Color LED indicator" +msgstr "Кольоровий індикатор LED" -#: backend/hp-option.h:145 +#: backend/hp5590.c:125 #, no-c-format -msgid "Mirror image vertically." -msgstr "Віддзеркалити зображення по вертикалі." +msgid "Get value of LED indicator (read only)" +msgstr "Отримати значення індикатора LED (лише читання)" -#: backend/hp-option.h:150 +#: backend/hp5590.c:127 #, no-c-format -msgid "Update options" -msgstr "Оновити параметри" +msgid "Document available in ADF" +msgstr "Документ доступний у АПД" -#: backend/hp-option.h:151 +#: backend/hp5590.c:128 #, no-c-format -msgid "Update options." -msgstr "Оновити параметри." +msgid "Get state of document-available indicator in ADF (read only)" +msgstr "" +"Отримати стан індикатора доступності документа у АПД (лише читання)" -#: backend/hp-option.h:156 +#: backend/hp5590.c:130 #, no-c-format -msgid "8 bit output" -msgstr "8-бітовий вивід" +msgid "Hide end-of-page pixel" +msgstr "Приховувати кінцевий піксель сторінки" -#: backend/hp-option.h:158 +#: backend/hp5590.c:131 #, no-c-format -msgid "Use bit depth greater eight internally, but output only eight bits." +msgid "" +"Hide end-of-page indicator pixels and overwrite with neighbor pixels" msgstr "" -"Для внутрішньої обробки використовувати глибини кольорів, більші за 8-" -"бітові, але виводити дані лише у 8-бітовому форматі." +"Приховувати пікселі-індикатори кінця сторінки і перезаписувати їх " +"сусідніми пікселями" -#: backend/hp-option.h:164 +#: backend/hp5590.c:133 #, no-c-format -msgid "Front button wait" -msgstr "Очікувати натискання кнопки у передній частині" +msgid "Filling mode of trailing lines after scan data (ADF)" +msgstr "Режим заповнення кінцевих ліній після даних сканування (АПД)" -#: backend/hp-option.h:165 +#: backend/hp5590.c:134 #, no-c-format -msgid "Wait to scan for front-panel button push." +msgid "" +"raw = raw scan data, last = repeat last scan line, raster = b/w raster, " +"white = white color, black = black color, color = RGB or gray color value" msgstr "" -"Не починати сканування до натискання кнопки на передній панелі сканера." +"raw = дані сканування без обробки, last = повторити останню лінію " +"сканування, raster = чорно-білий растр, white = білий колір, black = " +"чорний колір, color = значення кольору у RGB або тонах сірого" -#: backend/hp-option.h:172 +#: backend/hp5590.c:137 #, no-c-format -msgid "Shut off lamp" -msgstr "Вимкнути лампу" +msgid "RGB or gray color value for filling mode 'color'" +msgstr "" +"Значення кольору у RGB або тонах сірого для режиму заповнення «color»" -#: backend/hp-option.h:173 +#: backend/hp5590.c:138 #, no-c-format -msgid "Shut off scanner lamp." -msgstr "Вимкнути лампу сканера." +msgid "" +"Color value for trailing lines filling mode 'color'. RGB color as " +"r*65536+256*g+b or gray value (default=violet or gray)" +msgstr "" +"Значення кольору для кінцевих ліній режиму заповнення «color». Колір RGB " +"як значення у форматі r*65536+256*g+b або значення тону сірого (типове " +"значення — фіолетовий або сірий)" #: backend/kvs1025.h:51 backend/kvs20xx_opt.c:295 backend/kvs40xx_opt.c:516 #: backend/matsushita.h:219 @@ -4113,7 +4160,7 @@ msgid "single" msgstr "однобічний" #: backend/kvs1025_opt.c:73 backend/kvs20xx.c:462 backend/kvs20xx_opt.c:56 -#: backend/kvs40xx.c:704 backend/kvs40xx.c:722 backend/kvs40xx_opt.c:102 +#: backend/kvs40xx.c:705 backend/kvs40xx.c:723 backend/kvs40xx_opt.c:102 #: backend/kvs40xx_opt.c:1087 #, no-c-format msgid "continuous" @@ -4282,8 +4329,8 @@ msgstr "ЕПТ" #: backend/kvs1025_opt.c:229 #, no-c-format -msgid "linier" -msgstr "лінійна" +msgid "linear" +msgstr "лінійне" #: backend/kvs1025_opt.c:241 backend/kvs20xx_opt.c:138 #: backend/kvs40xx_opt.c:224 @@ -4412,7 +4459,7 @@ msgstr "Визначає виразність зображення" #: backend/kvs1025_opt.c:807 backend/kvs1025_opt.c:808 #: backend/matsushita.c:1300 backend/matsushita.c:1301 -#: backend/pixma_sane_options.c:112 +#: backend/pixma/pixma_sane_options.c:112 #, no-c-format msgid "Gamma" msgstr "Гама" @@ -4485,11 +4532,11 @@ msgstr "" "Вимагати від драйвера вилучення границі зі сторінок у автоматичному " "режимі" -#: backend/kvs20xx_opt.c:233 backend/kvs40xx_opt.c:396 +#: backend/kvs20xx_opt.c:233 #, no-c-format msgid "" -"Length Control Mode is a mode that the scanner reads up to the shorter " -"length of actual paper or logical document length." +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length." msgstr "" "У режимі керування довжиною сканер читає дані до найкоротшої з таких " "довжин: дійсної довжини аркуша паперу або логічної довжини документа." @@ -4523,12 +4570,12 @@ msgstr "B4" #: backend/kvs40xx_opt.c:231 #, no-c-format -msgid "High sensivity" +msgid "High sensitivity" msgstr "Висока чутливість" #: backend/kvs40xx_opt.c:232 #, no-c-format -msgid "Low sensivity" +msgid "Low sensitivity" msgstr "Низька чутливість" #: backend/kvs40xx_opt.c:243 @@ -4551,6 +4598,15 @@ msgstr "Звичайний режим" msgid "Enhanced mode" msgstr "Розширений режим" +#: backend/kvs40xx_opt.c:396 +#, no-c-format +msgid "" +"Length Control Mode causes the scanner to read the shorter of either the " +"length of the actual paper or logical document length" +msgstr "" +"У режимі керування довжиною сканер читає дані до найкоротшої з таких " +"довжин: дійсної довжини аркуша паперу або логічної довжини документа" + #: backend/kvs40xx_opt.c:405 #, no-c-format msgid "" @@ -4613,8 +4669,9 @@ msgstr "Стискання JPEG" #: backend/kvs40xx_opt.c:718 #, no-c-format -msgid "JPEG compression (yours application must be able to uncompress)" -msgstr "Стискання JPEG (ваша програма повинна мати змогу розпакувати дані)" +msgid "JPEG compression (your application must be able to uncompress)" +msgstr "" +"Стискання JPEG (ваша програма повинна мати змогу розпакувати дані)" #: backend/kvs40xx_opt.c:737 backend/kvs40xx_opt.c:738 #, no-c-format @@ -4648,12 +4705,12 @@ msgstr "Коригування перекошування" #: backend/kvs40xx_opt.c:808 #, no-c-format -msgid "Stop scanner when a paper have been skewed" +msgid "Stop scanner if a sheet is skewed" msgstr "Зупинити сканування, якщо папір було перекошено" #: backend/kvs40xx_opt.c:809 #, no-c-format -msgid "Scanner will be stop when a paper have been skewed" +msgid "Scanner will stop if a sheet is skewed" msgstr "Сканування буде зупинено, якщо папір було вставлено з нахилом" #: backend/kvs40xx_opt.c:816 @@ -4663,13 +4720,13 @@ msgstr "Обрізати до справжньої області зображе #: backend/kvs40xx_opt.c:817 #, no-c-format -msgid "Scanner automatically detect image area and crop it" +msgid "Scanner will automatically detect image area and crop to it" msgstr "Сканер автоматично визначає область зображення і обрізає його" #: backend/kvs40xx_opt.c:827 #, no-c-format -msgid "It is right and left reversing" -msgstr "Перевертання ліворуч і праворуч" +msgid "Left/right mirror image" +msgstr "Віддзеркалити зображення горизонтально" #: backend/kvs40xx_opt.c:834 backend/kvs40xx_opt.c:835 #, no-c-format @@ -4706,52 +4763,52 @@ msgstr "Секція 8x8" msgid "8x8 Vertical Line" msgstr "8x8 Вертикальна лінія" -#: backend/lexmark.c:273 backend/umax_pp.c:715 +#: backend/lexmark.c:273 backend/umax_pp.c:705 #, no-c-format msgid "Gain" msgstr "Підсилення" -#: backend/lexmark.c:274 backend/umax_pp.c:716 +#: backend/lexmark.c:274 backend/umax_pp.c:706 #, no-c-format msgid "Color channels gain settings" msgstr "Параметри підсилення каналів кольорів" -#: backend/lexmark.c:283 backend/umax_pp.c:723 +#: backend/lexmark.c:283 backend/umax_pp.c:713 #, no-c-format msgid "Gray gain" msgstr "Підсилення сірого" -#: backend/lexmark.c:284 backend/umax_pp.c:724 +#: backend/lexmark.c:284 backend/umax_pp.c:714 #, no-c-format msgid "Sets gray channel gain" msgstr "Визначає підсилення сірого каналу" -#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:735 +#: backend/lexmark.c:297 backend/plustek.c:1001 backend/umax_pp.c:725 #, no-c-format msgid "Red gain" msgstr "Підсилення червоного" -#: backend/lexmark.c:298 backend/umax_pp.c:736 +#: backend/lexmark.c:298 backend/umax_pp.c:726 #, no-c-format msgid "Sets red channel gain" msgstr "Визначає підсилення каналу червоного" -#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:747 +#: backend/lexmark.c:311 backend/plustek.c:1017 backend/umax_pp.c:737 #, no-c-format msgid "Green gain" msgstr "Підсилення зеленого" -#: backend/lexmark.c:312 backend/umax_pp.c:748 +#: backend/lexmark.c:312 backend/umax_pp.c:738 #, no-c-format msgid "Sets green channel gain" msgstr "Визначає підсилення каналу зеленого" -#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:759 +#: backend/lexmark.c:325 backend/plustek.c:1033 backend/umax_pp.c:749 #, no-c-format msgid "Blue gain" msgstr "Підсилення синього" -#: backend/lexmark.c:326 backend/umax_pp.c:760 +#: backend/lexmark.c:326 backend/umax_pp.c:750 #, no-c-format msgid "Sets blue channel gain" msgstr "Визначає підсилення каналу синього" @@ -4837,7 +4894,7 @@ msgstr "Одна сторінка" msgid "All pages" msgstr "Всі сторінки" -#: backend/matsushita.c:1034 backend/plustek.c:1333 +#: backend/matsushita.c:1034 backend/p5_device.c:8 backend/plustek.c:1333 #, no-c-format msgid "sheetfed scanner" msgstr "сканер з подачею аркушів" @@ -5001,7 +5058,8 @@ msgstr "Скалярна гама синього" #: backend/microtek2.h:665 #, no-c-format msgid "Selects a value for scalar gamma correction (blue channel)" -msgstr "Визначає значення для скалярного виправлення гами (канал синього)." +msgstr "" +"Визначає значення для скалярного виправлення гами (канал синього)." #: backend/microtek2.h:669 #, no-c-format @@ -5268,7 +5326,8 @@ msgstr "Яскравість зеленого" #: backend/mustek.c:4457 #, no-c-format -msgid "Controls the brightness of the green channel of the acquired image." +msgid "" +"Controls the brightness of the green channel of the acquired image." msgstr "Керує яскравістю каналу зеленого у отриманому зображенні." #: backend/mustek.c:4469 @@ -5350,27 +5409,32 @@ msgstr "" "Розігрівати, до сталої яскравості лампи, не наполягати на 40-ти " "секундному розігріві." -#: backend/pixma.c:397 +#: backend/p5.c:1926 +#, no-c-format +msgid "Need calibration" +msgstr "Потребує калібрування" + +#: backend/pixma/pixma.c:397 #, no-c-format msgid "Negative color" msgstr "Кольоровий негатив" -#: backend/pixma.c:402 +#: backend/pixma/pixma.c:402 #, no-c-format msgid "Negative gray" msgstr "Чорно-білий негатив" -#: backend/pixma.c:415 +#: backend/pixma/pixma.c:415 #, no-c-format msgid "48 bits color" msgstr "48-бітовий колір" -#: backend/pixma.c:420 +#: backend/pixma/pixma.c:420 #, no-c-format msgid "16 bits gray" msgstr "16-бітовий сірий" -#: backend/pixma_sane_options.c:84 +#: backend/pixma/pixma_sane_options.c:84 #, no-c-format msgid "" "Selects the scan source (such as a document-feeder). Set source before " @@ -5380,12 +5444,12 @@ msgstr "" "Встановіть джерело перед режимом і роздільною здатністю. Відновлює " "автоматично визначені значення режиму та роздільної здатності." -#: backend/pixma_sane_options.c:98 +#: backend/pixma/pixma_sane_options.c:98 #, no-c-format msgid "Button-controlled scan" msgstr "Кероване кнопкою сканування" -#: backend/pixma_sane_options.c:99 +#: backend/pixma/pixma_sane_options.c:99 #, no-c-format msgid "" "When enabled, scan process will not start immediately. To proceed, press " @@ -5396,40 +5460,40 @@ msgstr "" "негайно. Для продовження, натисніть кнопку «SCAN» (MP150) або " "«COLOR» (для інших моделей). Для скасування натисніть кнопку «GRAY»." -#: backend/pixma_sane_options.c:232 +#: backend/pixma/pixma_sane_options.c:232 #, no-c-format msgid "Update button state" msgstr "Оновити стан кнопки" -#: backend/pixma_sane_options.c:244 +#: backend/pixma/pixma_sane_options.c:244 #, no-c-format msgid "Button 1" msgstr "Кнопка 1" -#: backend/pixma_sane_options.c:258 +#: backend/pixma/pixma_sane_options.c:258 #, no-c-format msgid "Button 2" msgstr "Кнопка 2" -#: backend/pixma_sane_options.c:272 +#: backend/pixma/pixma_sane_options.c:272 #, no-c-format msgid "Type of original to scan" msgstr "Тип оригіналу для сканування" -#: backend/pixma_sane_options.c:286 +#: backend/pixma/pixma_sane_options.c:286 #, no-c-format msgid "Target operation type" msgstr "Тип дії для отримання результату" -#: backend/pixma_sane_options.c:348 +#: backend/pixma/pixma_sane_options.c:348 #, no-c-format msgid "ADF Waiting Time" msgstr "Час очікування АПД" -#: backend/pixma_sane_options.c:349 +#: backend/pixma/pixma_sane_options.c:349 #, no-c-format msgid "" -"When set, the scanner searches the waiting time in seconds for a new " +"When set, the scanner waits upto the specified time in seconds for a new " "document inserted into the automatic document feeder." msgstr "" "Якщо визначено, сканер шукатиме новий документ, вставлений до пристрою " @@ -5520,7 +5584,7 @@ msgstr "Аналогова оболонка" msgid "Red gain value of the AFE" msgstr "Значення підсилення червоного AFE" -#: backend/plustek.c:1009 backend/umax_pp.c:792 +#: backend/plustek.c:1009 backend/umax_pp.c:782 #, no-c-format msgid "Red offset" msgstr "Зміщення червоного" @@ -5797,7 +5861,7 @@ msgstr "" msgid "This option reflects the status of a scanner button." msgstr "Цей пункт відповідає стану кнопки сканування." -#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:639 +#: backend/rts8891.c:2840 backend/umax.c:5795 backend/umax_pp.c:629 #, no-c-format msgid "Lamp on" msgstr "Увімкнути лампу" @@ -5807,12 +5871,12 @@ msgstr "Увімкнути лампу" msgid "Turn on scanner lamp" msgstr "Увімкнути лампу сканера" -#: backend/rts8891.c:2851 backend/umax1220u.c:248 backend/umax.c:5812 +#: backend/rts8891.c:2851 backend/umax.c:5812 backend/umax1220u.c:248 #, no-c-format msgid "Lamp off" msgstr "Вимкнути лампу" -#: backend/rts8891.c:2852 backend/umax1220u.c:249 backend/umax.c:5813 +#: backend/rts8891.c:2852 backend/umax.c:5813 backend/umax1220u.c:249 #, no-c-format msgid "Turn off scanner lamp" msgstr "Вимкнути лампу сканера" @@ -5959,12 +6023,12 @@ msgstr "Точка фокусування" #: backend/snapscan-options.c:930 #, no-c-format -msgid "Colour lines per read" +msgid "Color lines per read" msgstr "Кольорових ліній на сеанс читання" #: backend/snapscan-options.c:942 #, no-c-format -msgid "Greyscale lines per read" +msgid "Grayscale lines per read" msgstr "Чорно-білих ліній на сеанс читання" #: backend/stv680.c:974 @@ -6128,7 +6192,8 @@ msgstr "Границя читання" #: backend/test.c:485 #, no-c-format -msgid "Limit the amount of data transferred with each call to sane_read()." +msgid "" +"Limit the amount of data transferred with each call to sane_read()." msgstr "" "Обмежити об’єм даних, що передаються під час кожного виклику sane_read()." @@ -6626,52 +6691,52 @@ msgstr "Режим калібрування" msgid "Define calibration mode" msgstr "Визначає режим калібрування" -#: backend/umax_pp.c:640 +#: backend/umax_pp.c:630 #, no-c-format msgid "Sets lamp on/off" msgstr "Визначає стан вмикання/вимикання лампи" -#: backend/umax_pp.c:649 +#: backend/umax_pp.c:639 #, no-c-format msgid "UTA on" msgstr "Увімкнути UTA" -#: backend/umax_pp.c:650 +#: backend/umax_pp.c:640 #, no-c-format msgid "Sets UTA on/off" msgstr "Увімкнути/Вимкнути UTA" -#: backend/umax_pp.c:771 +#: backend/umax_pp.c:761 #, no-c-format msgid "Offset" msgstr "Зсув" -#: backend/umax_pp.c:773 +#: backend/umax_pp.c:763 #, no-c-format msgid "Color channels offset settings" msgstr "Параметри зсуву каналів кольорів" -#: backend/umax_pp.c:780 +#: backend/umax_pp.c:770 #, no-c-format msgid "Gray offset" msgstr "Зсув сірого" -#: backend/umax_pp.c:781 +#: backend/umax_pp.c:771 #, no-c-format msgid "Sets gray channel offset" msgstr "Визначає зсув каналу сірого" -#: backend/umax_pp.c:793 +#: backend/umax_pp.c:783 #, no-c-format msgid "Sets red channel offset" msgstr "Визначає зсув каналу червоного" -#: backend/umax_pp.c:805 +#: backend/umax_pp.c:795 #, no-c-format msgid "Sets green channel offset" msgstr "Визначає зсув каналу зеленого" -#: backend/umax_pp.c:817 +#: backend/umax_pp.c:807 #, no-c-format msgid "Sets blue channel offset" msgstr "Визначає зсув каналу синього" diff --git a/sanei/Makefile.am b/sanei/Makefile.am index a197343..46d3ff4 100644 --- a/sanei/Makefile.am +++ b/sanei/Makefile.am @@ -5,7 +5,7 @@ ## included LICENSE file for license information. AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include \ - -I$(top_srcdir)/include $(USB_CFLAGS) + -I$(top_srcdir)/include $(USB_CFLAGS) $(XML_CFLAGS) noinst_LTLIBRARIES = libsanei.la diff --git a/sanei/sanei_init_debug.c b/sanei/sanei_init_debug.c index 946aee9..3cde74e 100644 --- a/sanei/sanei_init_debug.c +++ b/sanei/sanei_init_debug.c @@ -58,6 +58,8 @@ #include #endif #include +#include +#include #ifdef HAVE_OS2_H # define INCL_DOS @@ -148,7 +150,13 @@ sanei_debug_msg } else { - fprintf (stderr, "[%s] ", be); + struct timeval tv; + struct tm *t; + + gettimeofday (&tv, NULL); + t = localtime (&tv.tv_sec); + + fprintf (stderr, "[%02d:%02d:%02d.%06ld] [%s] ", t->tm_hour, t->tm_min, t->tm_sec, tv.tv_usec, be); vfprintf (stderr, fmt, ap); } diff --git a/sanei/sanei_scsi.c b/sanei/sanei_scsi.c index ca3dbb0..b69f78f 100644 --- a/sanei/sanei_scsi.c +++ b/sanei/sanei_scsi.c @@ -615,7 +615,7 @@ open_aspi (void) DBG (1, "OS/2: unique id is '%s'\n", PSRBlock->u.inq.unique_id); strcpy (tmpAspi, "asXXXXXX"); - mktemp (tmpAspi); + mkstemp (tmpAspi); DBG (2, "open_aspi: open temporary file '%s'\n", tmpAspi); tmp = fopen (tmpAspi, "w"); if (!tmp) @@ -3271,8 +3271,8 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, ccb = cam_getccb (dev); /* Build the CCB */ - bzero (&(&ccb->ccb_h)[1], sizeof (struct ccb_scsiio)); - bcopy (cmd, &ccb->csio.cdb_io.cdb_bytes, cmd_size); + memset (&(&ccb->ccb_h)[1], 0, sizeof (struct ccb_scsiio)); + memcpy (&ccb->csio.cdb_io.cdb_bytes, cmd, cmd_size); /* * Set the data direction flags. @@ -3368,7 +3368,7 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, int retval = 0; /* build ccb for device match */ - bzero (&cdm, sizeof (cdm)); + memset (&cdm, 0, sizeof (cdm)); cdm.ccb_h.func_code = XPT_DEV_MATCH; /* result buffer */ @@ -3454,7 +3454,7 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, } /* build ccb for device match */ - bzero (&cdm, sizeof (cdm)); + memset (&cdm, 0, sizeof (cdm)); cdm.ccb_h.func_code = XPT_DEV_MATCH; /* result buffer */ @@ -4449,7 +4449,7 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, memcpy (databuf, (u_char *) src, src_size); } - bzero (sensebuf, 128); + memset (sensebuf, 0, 128); /* * Do SCSI request... @@ -5358,7 +5358,7 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, memcpy (&cdb.cdb, cmd, cmd_size); if (dst && dst_size) { - bzero (dst, *dst_size); + memset (dst, 0, *dst_size); range.address = (IOVirtualAddress) dst; range.length = *dst_size; transferCount = *dst_size; @@ -5699,7 +5699,7 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, DBG (6, "isRead dst_size:%ld\n", *dst_size); /* Zero the buffer. */ - bzero (dst, *dst_size); + memset (dst, 0, *dst_size); /* Configure the virtual range for the buffer. */ range.address = (long) dst; @@ -5722,8 +5722,8 @@ sanei_scsi_find_devices (const char *findvendor, const char *findmodel, /* zero the senseData and CDB */ - bzero (&senseData, sizeof (senseData)); - bzero (cdb, sizeof (cdb)); + memset (&senseData, 0, sizeof (senseData)); + memset (cdb, 0, sizeof (cdb)); /* copy the command data */ memcpy (cdb, cmd, cmd_size); diff --git a/sanei/sanei_usb.c b/sanei/sanei_usb.c index 6fd6040..db0f452 100644 --- a/sanei/sanei_usb.c +++ b/sanei/sanei_usb.c @@ -49,6 +49,7 @@ #include "../include/sane/config.h" #include +#include #include #include #include @@ -62,6 +63,9 @@ #include #include +#if WITH_USB_RECORD_REPLAY +#include +#endif #ifdef HAVE_RESMGR #include @@ -174,6 +178,34 @@ static int device_number=0; * count number of time sanei_usb has been initialized */ static int initialized=0; +typedef enum +{ + sanei_usb_testing_mode_disabled = 0, + + sanei_usb_testing_mode_record, // records the communication with the slave + // but does not change the USB stack in any + // way + sanei_usb_testing_mode_replay, // replays the communication with the scanner + // recorded earlier +} +sanei_usb_testing_mode; + +// Whether testing mode has been enabled +static sanei_usb_testing_mode testing_mode = sanei_usb_testing_mode_disabled; + +#if WITH_USB_RECORD_REPLAY +static int testing_development_mode = 0; +int testing_known_commands_input_failed = 0; +unsigned testing_last_known_seq = 0; +SANE_String testing_record_backend = NULL; +xmlNode* testing_append_commands_node = NULL; + +// XML file from which we read testing data +SANE_String testing_xml_path = NULL; +xmlDoc* testing_xml_doc = NULL; +xmlNode* testing_xml_next_tx_node = NULL; +#endif // WITH_USB_RECORD_REPLAY + #if defined(HAVE_LIBUSB_LEGACY) || defined(HAVE_LIBUSB) static int libusb_timeout = 30 * 1000; /* 30 seconds */ #endif /* HAVE_LIBUSB_LEGACY */ @@ -455,6 +487,859 @@ sanei_libusb_strerror (int errcode) } #endif /* HAVE_LIBUSB */ +#if WITH_USB_RECORD_REPLAY +SANE_Status sanei_usb_testing_enable_replay(SANE_String_Const path, + int development_mode) +{ + testing_mode = sanei_usb_testing_mode_replay; + testing_development_mode = development_mode; + + // TODO: we'll leak if noone ever inits sane_usb properly + testing_xml_path = strdup(path); + testing_xml_doc = xmlReadFile(testing_xml_path, NULL, 0); + if (!testing_xml_doc) + return SANE_STATUS_ACCESS_DENIED; + + return SANE_STATUS_GOOD; +} + +#define FAIL_TEST(func, ...) \ + do { \ + DBG(1, "%s: FAIL: ", func); \ + DBG(1, __VA_ARGS__); \ + fail_test(); \ + } while (0) + +#define FAIL_TEST_TX(func, node, ...) \ + do { \ + sanei_xml_print_seq_if_any(node, func); \ + DBG(1, "%s: FAIL: ", func); \ + DBG(1, __VA_ARGS__); \ + fail_test(); \ + } while (0) + +void fail_test() +{ +} + +SANE_Status sanei_usb_testing_enable_record(SANE_String_Const path, SANE_String_Const be_name) +{ + testing_mode = sanei_usb_testing_mode_record; + testing_record_backend = strdup(be_name); + testing_xml_path = strdup(path); + + return SANE_STATUS_GOOD; +} + +static xmlNode* sanei_xml_find_first_child_with_name(xmlNode* parent, + const char* name) +{ + xmlNode* curr_child = xmlFirstElementChild(parent); + while (curr_child != NULL) + { + if (xmlStrcmp(curr_child->name, (const xmlChar*)name) == 0) + return curr_child; + curr_child = xmlNextElementSibling(curr_child); + } + return NULL; +} + +static xmlNode* sanei_xml_find_next_child_with_name(xmlNode* child, + const char* name) +{ + xmlNode* curr_child = xmlNextElementSibling(child); + while (curr_child != NULL) + { + if (xmlStrcmp(curr_child->name, (const xmlChar*)name) == 0) + return curr_child; + curr_child = xmlNextElementSibling(curr_child); + } + return NULL; +} + +// a wrapper to get rid of -Wpointer-sign warnings in a single place +static char* sanei_xml_get_prop(xmlNode* node, const char* name) +{ + return (char*)xmlGetProp(node, (const xmlChar*)name); +} + +// returns -1 if attribute is not found +static int sanei_xml_get_prop_uint(xmlNode* node, const char* name) +{ + char* attr = sanei_xml_get_prop(node, name); + if (attr == NULL) + { + return -1; + } + + unsigned attr_uint = strtoul(attr, NULL, 0); + xmlFree(attr); + return attr_uint; +} + +static void sanei_xml_print_seq_if_any(xmlNode* node, const char* parent_fun) +{ + char* attr = sanei_xml_get_prop(node, "seq"); + if (attr == NULL) + return; + + DBG(1, "%s: FAIL: in transaction with seq %s:\n", parent_fun, attr); + xmlFree(attr); +} + +// Checks whether transaction should be ignored. We ignore get_descriptor and +// set_configuration transactions. The latter is ignored because +// set_configuration is called in sanei_usb_open outside test path. +static int sanei_xml_is_transaction_ignored(xmlNode* node) +{ + if (xmlStrcmp(node->name, (const xmlChar*)"control_tx") != 0) + return 0; + + if (sanei_xml_get_prop_uint(node, "endpoint_number") != 0) + return 0; + + int is_direction_in = 0; + int is_direction_out = 0; + + char* attr = sanei_xml_get_prop(node, "direction"); + if (attr == NULL) + return 0; + + if (strcmp(attr, "IN") == 0) + is_direction_in = 1; + if (strcmp(attr, "OUT") == 0) + is_direction_out = 1; + xmlFree(attr); + + unsigned bRequest = sanei_xml_get_prop_uint(node, "bRequest"); + if (bRequest == USB_REQ_GET_DESCRIPTOR && is_direction_in) + { + if (sanei_xml_get_prop_uint(node, "bmRequestType") != 0x80) + return 0; + return 1; + } + if (bRequest == USB_REQ_SET_CONFIGURATION && is_direction_out) + return 1; + + return 0; +} + +static xmlNode* sanei_xml_skip_non_tx_nodes(xmlNode* node) +{ + const char* known_node_names[] = { + "control_tx", "bulk_tx", "interrupt_tx", "debug", "known_commands_end" + }; + + while (node != NULL) + { + int found = 0; + for (unsigned i = 0; i < sizeof(known_node_names) / + sizeof(known_node_names[0]); ++i) + { + if (xmlStrcmp(node->name, (const xmlChar*) known_node_names[i]) == 0) + { + found = 1; + break; + } + } + + if (found && sanei_xml_is_transaction_ignored(node) == 0) + { + break; + } + + node = xmlNextElementSibling(node); + } + return node; +} + +static int sanei_xml_is_known_commands_end(xmlNode* node) +{ + if (!testing_development_mode || node == NULL) + return 0; + return xmlStrcmp(node->name, (const xmlChar*)"known_commands_end") == 0; +} + +// returns next transaction node that is not get_descriptor +static xmlNode* sanei_xml_peek_next_tx_node() +{ + return testing_xml_next_tx_node; +} + +// returns next transaction node that is not get_descriptor +static xmlNode* sanei_xml_get_next_tx_node() +{ + xmlNode* next = testing_xml_next_tx_node; + + if (sanei_xml_is_known_commands_end(next)) + { + testing_append_commands_node = xmlPreviousElementSibling(next); + return next; + } + + testing_xml_next_tx_node = + xmlNextElementSibling(testing_xml_next_tx_node); + + testing_xml_next_tx_node = + sanei_xml_skip_non_tx_nodes(testing_xml_next_tx_node); + + return next; +} + +#define CHAR_TYPE_INVALID -1 +#define CHAR_TYPE_SPACE -2 + +static int8_t sanei_xml_char_types[256] = +{ + /* 0x00-0x0f */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -1, -1, + /* 0x10-0x1f */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + /* 0x20-0x2f */ -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + /* 0x30-0x3f */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, + /* 0x40-0x4f */ -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, + /* 0x50-0x5f */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + /* 0x60-0x6f */ -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, + /* 0x70-0x7f */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + /* 0x80-0x8f */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + /* 0x90-0x9f */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + /* 0xa0-0xaf */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + /* 0xb0-0xbf */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + /* 0xc0-0xcf */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + /* 0xd0-0xdf */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + /* 0xe0-0xef */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + /* 0xf0-0xff */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, +}; + +static char* sanei_xml_get_hex_data_slow_path(xmlNode* node, xmlChar* content, xmlChar* cur_content, + char* ret_data, char* cur_ret_data, size_t* size) +{ + int num_nibbles = 0; + unsigned cur_nibble = 0; + + while (*cur_content != 0) + { + while (sanei_xml_char_types[(uint8_t)*cur_content] == CHAR_TYPE_SPACE) + cur_content++; + + if (*cur_content == 0) + break; + + // don't use stroul because it will parse in big-endian and data is in + // little endian + uint8_t c = *cur_content; + int8_t ci = sanei_xml_char_types[c]; + if (ci == CHAR_TYPE_INVALID) + { + FAIL_TEST_TX(__func__, node, "unexpected character %c\n", c); + cur_content++; + continue; + } + + cur_nibble = (cur_nibble << 4) | ci; + num_nibbles++; + + if (num_nibbles == 2) + { + *cur_ret_data++ = cur_nibble; + cur_nibble = 0; + num_nibbles = 0; + } + cur_content++; + } + *size = cur_ret_data - ret_data; + xmlFree(content); + return ret_data; +} + +// Parses hex data in XML text node in the format of '00 11 ab 3f', etc. to +// binary string. The size is returned as *size. The caller is responsible for +// freeing the returned value +static char* sanei_xml_get_hex_data(xmlNode* node, size_t* size) +{ + xmlChar* content = xmlNodeGetContent(node); + + // let's overallocate to simplify the implementation. We expect the string + // to be deallocated soon anyway + char* ret_data = malloc(strlen((const char*)content) / 2 + 2); + char* cur_ret_data = ret_data; + + xmlChar* cur_content = content; + + // the text to binary conversion takes most of the time spent in tests, so we + // take extra care to optimize it. We split the implementation into fast and + // slow path. The fast path utilizes the knowledge that there will be no spaces + // within bytes. When this assumption does not hold, we switch to the slow path. + while (*cur_content != 0) + { + // most of the time there will be 1 or 2 spaces between bytes. Give the CPU + // chance to predict this by partially unrolling the while loop. + if (sanei_xml_char_types[(uint8_t)*cur_content] == CHAR_TYPE_SPACE) + { + cur_content++; + if (sanei_xml_char_types[(uint8_t)*cur_content] == CHAR_TYPE_SPACE) + { + cur_content++; + while (sanei_xml_char_types[(uint8_t)*cur_content] == CHAR_TYPE_SPACE) + cur_content++; + } + } + + if (*cur_content == 0) + break; + + // don't use stroul because it will parse in big-endian and data is in + // little endian + int8_t ci1 = sanei_xml_char_types[(uint8_t)*cur_content]; + int8_t ci2 = sanei_xml_char_types[(uint8_t)*(cur_content + 1)]; + + if (ci1 < 0 || ci2 < 0) + return sanei_xml_get_hex_data_slow_path(node, content, cur_content, ret_data, cur_ret_data, + size); + + *cur_ret_data++ = ci1 << 4 | ci2; + cur_content += 2; + } + *size = cur_ret_data - ret_data; + xmlFree(content); + return ret_data; +} + +// caller is responsible for freeing the returned pointer +static char* sanei_binary_to_hex_data(const char* data, size_t size, + size_t* out_size) +{ + char* hex_data = malloc(size * 4); + size_t hex_size = 0; + + for (size_t i = 0; i < size; ++i) + { + hex_size += snprintf(hex_data + hex_size, 3, "%02hhx", data[i]); + if (i + 1 != size) + { + if ((i + 1) % 32 == 0) + hex_data[hex_size++] = '\n'; + else + hex_data[hex_size++] = ' '; + } + } + hex_data[hex_size] = 0; + if (out_size) + *out_size = hex_size; + return hex_data; +} + + +static void sanei_xml_set_data(xmlNode* node, const char* data) +{ + // FIXME: remove existing children + xmlAddChild(node, xmlNewText((const xmlChar*)data)); +} + +// Writes binary data to XML node as a child text node in the hex format of +// '00 11 ab 3f'. +static void sanei_xml_set_hex_data(xmlNode* node, const char* data, + size_t size) +{ + char* hex_data = sanei_binary_to_hex_data(data, size, NULL); + sanei_xml_set_data(node, hex_data); + free(hex_data); +} + +static void sanei_xml_set_hex_attr(xmlNode* node, const char* attr_name, + unsigned attr_value) +{ + const int buf_size = 128; + char buf[buf_size]; + if (attr_value > 0xffffff) + snprintf(buf, buf_size, "0x%x", attr_value); + else if (attr_value > 0xffff) + snprintf(buf, buf_size, "0x%06x", attr_value); + else if (attr_value > 0xff) + snprintf(buf, buf_size, "0x%04x", attr_value); + else + snprintf(buf, buf_size, "0x%02x", attr_value); + + xmlNewProp(node, (const xmlChar*)attr_name, (const xmlChar*)buf); +} + +static void sanei_xml_set_uint_attr(xmlNode* node, const char* attr_name, + unsigned attr_value) +{ + const int buf_size = 128; + char buf[buf_size]; + snprintf(buf, buf_size, "%d", attr_value); + xmlNewProp(node, (const xmlChar*)attr_name, (const xmlChar*)buf); +} + +static xmlNode* sanei_xml_append_command(xmlNode* sibling, + int indent, xmlNode* e_command) +{ + if (indent) + { + xmlNode* e_indent = xmlNewText((const xmlChar*)"\n "); + sibling = xmlAddNextSibling(sibling, e_indent); + } + return xmlAddNextSibling(sibling, e_command); +} + +static void sanei_xml_command_common_props(xmlNode* node, int endpoint_number, + const char* direction) +{ + xmlNewProp(node, (const xmlChar*)"time_usec", (const xmlChar*)"0"); + sanei_xml_set_uint_attr(node, "seq", ++testing_last_known_seq); + sanei_xml_set_uint_attr(node, "endpoint_number", endpoint_number); + xmlNewProp(node, (const xmlChar*)"direction", (const xmlChar*)direction); +} + +static void sanei_xml_record_seq(xmlNode* node) +{ + int seq = sanei_xml_get_prop_uint(node, "seq"); + if (seq > 0) + testing_last_known_seq = seq; +} + +static void sanei_xml_break() +{ +} + +static void sanei_xml_break_if_needed(xmlNode* node) +{ + char* attr = sanei_xml_get_prop(node, "debug_break"); + if (attr != NULL) + { + sanei_xml_break(); + xmlFree(attr); + } +} + +// returns 1 on success +static int sanei_usb_check_attr(xmlNode* node, const char* attr_name, + const char* expected, const char* parent_fun) +{ + char* attr = sanei_xml_get_prop(node, attr_name); + if (attr == NULL) + { + FAIL_TEST_TX(parent_fun, node, "no %s attribute\n", attr_name); + return 0; + } + + if (strcmp(attr, expected) != 0) + { + FAIL_TEST_TX(parent_fun, node, "unexpected %s attribute: %s, wanted %s\n", + attr_name, attr, expected); + xmlFree(attr); + return 0; + } + xmlFree(attr); + return 1; +} + +// returns 1 on success +static int sanei_usb_attr_is(xmlNode* node, const char* attr_name, + const char* expected) +{ + char* attr = sanei_xml_get_prop(node, attr_name); + if (attr == NULL) + return 0; + + if (strcmp(attr, expected) != 0) + { + xmlFree(attr); + return 0; + } + xmlFree(attr); + return 1; +} + +// returns 0 on success +static int sanei_usb_check_attr_uint(xmlNode* node, const char* attr_name, + unsigned expected, const char* parent_fun) +{ + char* attr = sanei_xml_get_prop(node, attr_name); + if (attr == NULL) + { + FAIL_TEST_TX(parent_fun, node, "no %s attribute\n", attr_name); + return 0; + } + + unsigned attr_int = strtoul(attr, NULL, 0); + if (attr_int != expected) + { + FAIL_TEST_TX(parent_fun, node, + "unexpected %s attribute: %s, wanted 0x%x\n", + attr_name, attr, expected); + xmlFree(attr); + return 0; + } + xmlFree(attr); + return 1; +} + +static int sanei_usb_attr_is_uint(xmlNode* node, const char* attr_name, + unsigned expected) +{ + char* attr = sanei_xml_get_prop(node, attr_name); + if (attr == NULL) + return 0; + + unsigned attr_int = strtoul(attr, NULL, 0); + if (attr_int != expected) + { + xmlFree(attr); + return 0; + } + xmlFree(attr); + return 1; +} + +// returns 1 on data equality +static int sanei_usb_check_data_equal(xmlNode* node, + const char* data, + size_t data_size, + const char* expected_data, + size_t expected_size, + const char* parent_fun) +{ + if ((data_size == expected_size) && + (memcmp(data, expected_data, data_size) == 0)) + return 1; + + char* data_hex = sanei_binary_to_hex_data(data, data_size, NULL); + char* expected_hex = sanei_binary_to_hex_data(expected_data, expected_size, + NULL); + + if (data_size == expected_size) + FAIL_TEST_TX(parent_fun, node, "data differs (size %lu):\n", data_size); + else + FAIL_TEST_TX(parent_fun, node, + "data differs (got size %lu, expected %lu):\n", + data_size, expected_size); + + FAIL_TEST(parent_fun, "got: %s\n", data_hex); + FAIL_TEST(parent_fun, "expected: %s\n", expected_hex); + free(data_hex); + free(expected_hex); + return 0; +} + +SANE_String sanei_usb_testing_get_backend() +{ + if (testing_xml_doc == NULL) + return NULL; + + xmlNode* el_root = xmlDocGetRootElement(testing_xml_doc); + if (xmlStrcmp(el_root->name, (const xmlChar*)"device_capture") != 0) + { + FAIL_TEST(__func__, "the given file is not USB capture\n"); + return NULL; + } + + char* attr = sanei_xml_get_prop(el_root, "backend"); + if (attr == NULL) + { + FAIL_TEST(__func__, "no backend attr in description node\n"); + return NULL; + } + // duplicate using strdup so that the caller can use free() + char* ret = strdup(attr); + xmlFree(attr); + return ret; +} + +SANE_Bool sanei_usb_is_replay_mode_enabled() +{ + if (testing_mode == sanei_usb_testing_mode_replay) + return SANE_TRUE; + + return SANE_FALSE; +} + +static void sanei_usb_record_debug_msg(xmlNode* node, SANE_String_Const message) +{ + int node_was_null = node == NULL; + if (node_was_null) + node = testing_append_commands_node; + + xmlNode* e_tx = xmlNewNode(NULL, (const xmlChar*)"debug"); + sanei_xml_set_uint_attr(e_tx, "seq", ++testing_last_known_seq); + xmlNewProp(e_tx, (const xmlChar*)"message", (const xmlChar*)message); + + node = sanei_xml_append_command(node, node_was_null, e_tx); + + if (node_was_null) + testing_append_commands_node = node; +} + +static void sanei_usb_record_replace_debug_msg(xmlNode* node, SANE_String_Const message) +{ + if (!testing_development_mode) + return; + + testing_last_known_seq--; + sanei_usb_record_debug_msg(node, message); + xmlUnlinkNode(node); + xmlFreeNode(node); +} + +static void sanei_usb_replay_debug_msg(SANE_String_Const message) +{ + if (testing_known_commands_input_failed) + return; + + xmlNode* node = sanei_xml_get_next_tx_node(); + if (node == NULL) + { + FAIL_TEST(__func__, "no more transactions\n"); + return; + } + + if (sanei_xml_is_known_commands_end(node)) + { + sanei_usb_record_debug_msg(NULL, message); + return; + } + + sanei_xml_record_seq(node); + sanei_xml_break_if_needed(node); + + if (xmlStrcmp(node->name, (const xmlChar*)"debug") != 0) + { + FAIL_TEST_TX(__func__, node, "unexpected transaction type %s\n", + (const char*) node->name); + sanei_usb_record_replace_debug_msg(node, message); + } + + if (!sanei_usb_check_attr(node, "message", message, __func__)) + { + sanei_usb_record_replace_debug_msg(node, message); + } +} + +extern void sanei_usb_testing_record_message(SANE_String_Const message) +{ + if (testing_mode == sanei_usb_testing_mode_record) + { + sanei_usb_record_debug_msg(NULL, message); + } + if (testing_mode == sanei_usb_testing_mode_replay) + { + sanei_usb_replay_debug_msg(message); + } +} + +static void sanei_usb_add_endpoint(device_list_type* device, + SANE_Int transfer_type, + SANE_Int ep_address, + SANE_Int ep_direction); + +static SANE_Status sanei_usb_testing_init() +{ + DBG_INIT(); + + if (testing_mode == sanei_usb_testing_mode_record) + { + testing_xml_doc = xmlNewDoc((const xmlChar*)"1.0"); + return SANE_STATUS_GOOD; + } + + if (device_number != 0) + return SANE_STATUS_INVAL; // already opened + + xmlNode* el_root = xmlDocGetRootElement(testing_xml_doc); + if (xmlStrcmp(el_root->name, (const xmlChar*)"device_capture") != 0) + { + DBG(1, "%s: the given file is not USB capture\n", __func__); + return SANE_STATUS_INVAL; + } + + xmlNode* el_description = + sanei_xml_find_first_child_with_name(el_root, "description"); + if (el_description == NULL) + { + DBG(1, "%s: could not find description node\n", __func__); + return SANE_STATUS_INVAL; + } + + int device_id = sanei_xml_get_prop_uint(el_description, "id_vendor"); + if (device_id < 0) + { + DBG(1, "%s: no id_vendor attr in description node\n", __func__); + return SANE_STATUS_INVAL; + } + + int product_id = sanei_xml_get_prop_uint(el_description, "id_product"); + if (product_id < 0) + { + DBG(1, "%s: no id_product attr in description node\n", __func__); + return SANE_STATUS_INVAL; + } + + xmlNode* el_configurations = + sanei_xml_find_first_child_with_name(el_description, "configurations"); + if (el_configurations == NULL) + { + DBG(1, "%s: could not find configurations node\n", __func__); + return SANE_STATUS_INVAL; + } + + xmlNode* el_configuration = + sanei_xml_find_first_child_with_name(el_configurations, "configuration"); + if (el_configuration == NULL) + { + DBG(1, "%s: no configuration nodes\n", __func__); + return SANE_STATUS_INVAL; + } + + while (el_configuration != NULL) + { + xmlNode* el_interface = + sanei_xml_find_first_child_with_name(el_configuration, "interface"); + + while (el_interface != NULL) + { + device_list_type device; + memset(&device, 0, sizeof(device)); + device.devname = strdup(testing_xml_path); + + // other code shouldn't depend on methon because testing_mode is + // sanei_usb_testing_mode_replay + device.method = sanei_usb_method_libusb; + device.vendor = device_id; + device.product = product_id; + + device.interface_nr = sanei_xml_get_prop_uint(el_interface, "number"); + if (device.interface_nr < 0) + { + DBG(1, "%s: no number attr in interface node\n", __func__); + return SANE_STATUS_INVAL; + } + + xmlNode* el_endpoint = + sanei_xml_find_first_child_with_name(el_interface, "endpoint"); + + while (el_endpoint != NULL) + { + char* transfer_attr = sanei_xml_get_prop(el_endpoint, + "transfer_type"); + int address = sanei_xml_get_prop_uint(el_endpoint, "address"); + char* direction_attr = sanei_xml_get_prop(el_endpoint, + "direction"); + + int direction_is_in = strcmp(direction_attr, "IN") == 0 ? 1 : 0; + int transfer_type = -1; + if (strcmp(transfer_attr, "INTERRUPT") == 0) + transfer_type = USB_ENDPOINT_TYPE_INTERRUPT; + else if (strcmp(transfer_attr, "BULK") == 0) + transfer_type = USB_ENDPOINT_TYPE_BULK; + else if (strcmp(transfer_attr, "ISOCHRONOUS") == 0) + transfer_type = USB_ENDPOINT_TYPE_ISOCHRONOUS; + else if (strcmp(transfer_attr, "CONTROL") == 0) + transfer_type = USB_ENDPOINT_TYPE_CONTROL; + else + { + DBG(3, "%s: unknown endpoint type %s\n", + __func__, transfer_attr); + } + + if (transfer_type >= 0) + { + sanei_usb_add_endpoint(&device, transfer_type, address, + direction_is_in); + } + + xmlFree(transfer_attr); + xmlFree(direction_attr); + + el_endpoint = + sanei_xml_find_next_child_with_name(el_endpoint, "endpoint"); + } + device.alt_setting = 0; + device.missing = 0; + + memcpy(&(devices[device_number]), &device, sizeof(device)); + device_number++; + + el_interface = sanei_xml_find_next_child_with_name(el_interface, + "interface"); + } + el_configuration = + sanei_xml_find_next_child_with_name(el_configurations, + "configuration"); + } + + xmlNode* el_transactions = + sanei_xml_find_first_child_with_name(el_root, "transactions"); + + if (el_transactions == NULL) + { + DBG(1, "%s: could not find transactions node\n", __func__); + return SANE_STATUS_INVAL; + } + + xmlNode* el_transaction = xmlFirstElementChild(el_transactions); + el_transaction = sanei_xml_skip_non_tx_nodes(el_transaction); + + if (el_transaction == NULL) + { + DBG(1, "%s: no transactions within capture\n", __func__); + return SANE_STATUS_INVAL; + } + + testing_xml_next_tx_node = el_transaction; + + return SANE_STATUS_GOOD; +} + +static void sanei_usb_testing_exit() +{ + if (testing_development_mode || testing_mode == sanei_usb_testing_mode_record) + { + if (testing_mode == sanei_usb_testing_mode_record) + { + xmlAddNextSibling(testing_append_commands_node, xmlNewText((const xmlChar*)"\n ")); + free(testing_record_backend); + } + xmlSaveFileEnc(testing_xml_path, testing_xml_doc, "UTF-8"); + } + xmlFreeDoc(testing_xml_doc); + free(testing_xml_path); + xmlCleanupParser(); +} +#else // WITH_USB_RECORD_REPLAY +SANE_Status sanei_usb_testing_enable_replay(SANE_String_Const path, + int development_mode) +{ + (void) path; + (void) development_mode; + + DBG(1, "USB record-replay mode support is missing\n"); + return SANE_STATUS_UNSUPPORTED; +} + +SANE_Status sanei_usb_testing_enable_record(SANE_String_Const path, SANE_String_Const be_name) +{ + (void) path; + (void) be_name; + + DBG(1, "USB record-replay mode support is missing\n"); + return SANE_STATUS_UNSUPPORTED; +} + +SANE_String sanei_usb_testing_get_backend() +{ + return NULL; +} + +SANE_Bool sanei_usb_is_replay_mode_enabled() +{ + return SANE_FALSE; +} + +void sanei_usb_testing_record_message(SANE_String_Const message) +{ + (void) message; +} +#endif // WITH_USB_RECORD_REPLAY + void sanei_usb_init (void) { @@ -473,6 +1358,26 @@ sanei_usb_init (void) if(device_number==0) memset (devices, 0, sizeof (devices)); +#if WITH_USB_RECORD_REPLAY + if (testing_mode != sanei_usb_testing_mode_disabled) + { + if (initialized == 0) + { + if (sanei_usb_testing_init() != SANE_STATUS_GOOD) + { + DBG(1, "%s: failed initializing fake USB stack\n", __func__); + return; + } + } + + if (testing_mode == sanei_usb_testing_mode_replay) + { + initialized++; + return; + } + } +#endif + /* initialize USB with old libusb library */ #ifdef HAVE_LIBUSB_LEGACY DBG (4, "%s: Looking for libusb devices\n", __func__); @@ -499,7 +1404,12 @@ sanei_usb_init (void) } #ifdef DBG_LEVEL if (DBG_LEVEL > 4) +#if LIBUSB_API_VERSION >= 0x01000106 + libusb_set_option (sanei_usb_ctx, LIBUSB_OPTION_LOG_LEVEL, + LIBUSB_LOG_LEVEL_INFO); +#else libusb_set_debug (sanei_usb_ctx, 3); +#endif /* LIBUSB_API_VERSION */ #endif /* DBG_LEVEL */ } #endif /* HAVE_LIBUSB */ @@ -533,6 +1443,13 @@ int i; /* if we reach 0, free allocated resources */ if(initialized==0) { +#if WITH_USB_RECORD_REPLAY + if (testing_mode != sanei_usb_testing_mode_disabled) + { + sanei_usb_testing_exit(); + } +#endif // WITH_USB_RECORD_REPLAY + /* free allocated resources */ DBG (4, "%s: freeing resources\n", __func__); for (i = 0; i < device_number; i++) @@ -1038,6 +1955,11 @@ sanei_usb_scan_devices (void) return; } + if (testing_mode == sanei_usb_testing_mode_replay) + { + // device added in sanei_usb_testing_init() + return; + } /* we mark all already detected devices as missing */ /* each scan method will reset this value to 0 (not missing) * when storing the device */ @@ -1262,7 +2184,7 @@ sanei_usb_set_endpoint (SANE_Int dn, SANE_Int ep_type, SANE_Int ep) } } -#if HAVE_LIBUSB_LEGACY || HAVE_LIBUSB || HAVE_USBCALLS +#if HAVE_LIBUSB_LEGACY || HAVE_LIBUSB || HAVE_USBCALLS || WITH_USB_RECORD_REPLAY static const char* sanei_usb_transfer_type_desc(SANE_Int transfer_type) { switch (transfer_type) @@ -1365,6 +2287,64 @@ sanei_usb_get_endpoint (SANE_Int dn, SANE_Int ep_type) } } +#if WITH_USB_RECORD_REPLAY +static void sanei_usb_record_open(SANE_Int dn) +{ + xmlNode* e_root = xmlNewNode(NULL, (const xmlChar*) "device_capture"); + xmlDocSetRootElement(testing_xml_doc, e_root); + xmlNewProp(e_root, (const xmlChar*)"backend", (const xmlChar*) testing_record_backend); + + xmlNode* e_description = xmlNewChild(e_root, NULL, (const xmlChar*) "description", NULL); + sanei_xml_set_hex_attr(e_description, "id_vendor", devices[dn].vendor); + sanei_xml_set_hex_attr(e_description, "id_product", devices[dn].product); + + xmlNode* e_configurations = xmlNewChild(e_description, NULL, + (const xmlChar*) "configurations", NULL); + xmlNode* e_configuration = xmlNewChild(e_configurations, NULL, + (const xmlChar*) "configuration", NULL); + sanei_xml_set_uint_attr(e_configuration, "number", 1); + + xmlNode* e_interface = xmlNewChild(e_configuration, NULL, (const xmlChar*) "interface", NULL); + sanei_xml_set_uint_attr(e_interface, "number", devices[dn].interface_nr); + + struct endpoint_data_desc { + const char* transfer_type; + const char* direction; + SANE_Int ep_address; + }; + + struct endpoint_data_desc endpoints[8] = + { + { "BULK", "IN", devices[dn].bulk_in_ep }, + { "BULK", "OUT", devices[dn].bulk_out_ep }, + { "ISOCHRONOUS", "IN", devices[dn].iso_in_ep }, + { "ISOCHRONOUS", "OUT", devices[dn].iso_out_ep }, + { "INTERRUPT", "IN", devices[dn].int_in_ep }, + { "INTERRUPT", "OUT", devices[dn].int_out_ep }, + { "CONTROL", "IN", devices[dn].control_in_ep }, + { "CONTROL", "OUT", devices[dn].control_out_ep } + }; + + for (int i = 0; i < 8; ++i) + { + if (endpoints[i].ep_address) + { + xmlNode* e_endpoint = xmlNewChild(e_interface, NULL, (const xmlChar*)"endpoint", NULL); + xmlNewProp(e_endpoint, (const xmlChar*)"transfer_type", + (const xmlChar*) endpoints[i].transfer_type); + sanei_xml_set_uint_attr(e_endpoint, "number", endpoints[i].ep_address & 0x0f); + xmlNewProp(e_endpoint, (const xmlChar*)"direction", + (const xmlChar*) endpoints[i].direction); + sanei_xml_set_hex_attr(e_endpoint, "address", endpoints[i].ep_address); + } + } + xmlNode* e_transactions = xmlNewChild(e_root, NULL, (const xmlChar*)"transactions", NULL); + + // add an empty node so that we have something to append to + testing_append_commands_node = xmlAddChild(e_transactions, xmlNewText((const xmlChar*)""));; +} +#endif // WITH_USB_RECORD_REPLAY + SANE_Status sanei_usb_open (SANE_String_Const devname, SANE_Int * dn) { @@ -1400,7 +2380,13 @@ sanei_usb_open (SANE_String_Const devname, SANE_Int * dn) return SANE_STATUS_INVAL; } - if (devices[devcount].method == sanei_usb_method_libusb) + if (testing_mode == sanei_usb_testing_mode_replay) + { + DBG (1, "sanei_usb_open: opening fake USB device\n"); + // the device configuration has been already filled in + // sanei_usb_testing_init() + } + else if (devices[devcount].method == sanei_usb_method_libusb) { #ifdef HAVE_LIBUSB_LEGACY struct usb_device *dev; @@ -1915,6 +2901,16 @@ sanei_usb_open (SANE_String_Const devname, SANE_Int * dn) return SANE_STATUS_INVAL; } + if (testing_mode == sanei_usb_testing_mode_record) + { +#if WITH_USB_RECORD_REPLAY + sanei_usb_record_open(devcount); +#else + DBG (1, "USB record-replay mode support is missing\n"); + return SANE_STATUS_UNSUPPORTED; +#endif + } + devices[devcount].open = SANE_TRUE; *dn = devcount; DBG (3, "sanei_usb_open: opened usb device `%s' (*dn=%d)\n", @@ -1948,7 +2944,11 @@ sanei_usb_close (SANE_Int dn) dn); return; } - if (devices[dn].method == sanei_usb_method_scanner_driver) + if (testing_mode == sanei_usb_testing_mode_replay) + { + DBG (1, "sanei_usb_close: closing fake USB device\n"); + } + else if (devices[dn].method == sanei_usb_method_scanner_driver) close (devices[dn].fd); else if (devices[dn].method == sanei_usb_method_usbcalls) { @@ -2001,6 +3001,9 @@ sanei_usb_close (SANE_Int dn) void sanei_usb_set_timeout (SANE_Int __sane_unused__ timeout) { + if (testing_mode == sanei_usb_testing_mode_replay) + return; + #if defined(HAVE_LIBUSB_LEGACY) || defined(HAVE_LIBUSB) libusb_timeout = timeout; #else @@ -2028,6 +3031,9 @@ sanei_usb_clear_halt (SANE_Int dn) return SANE_STATUS_INVAL; } + if (testing_mode == sanei_usb_testing_mode_replay) + return SANE_STATUS_GOOD; + #ifdef HAVE_LIBUSB_LEGACY int ret; @@ -2085,6 +3091,9 @@ sanei_usb_clear_halt (SANE_Int dn) SANE_Status sanei_usb_reset (SANE_Int __sane_unused__ dn) { + if (testing_mode == sanei_usb_testing_mode_replay) + return SANE_STATUS_GOOD; + #ifdef HAVE_LIBUSB_LEGACY int ret; @@ -2110,6 +3119,160 @@ sanei_usb_reset (SANE_Int __sane_unused__ dn) return SANE_STATUS_GOOD; } +#if WITH_USB_RECORD_REPLAY +// returns non-negative value on success, -1 on failure +static int sanei_usb_replay_next_read_bulk_packet_size(SANE_Int dn) +{ + xmlNode* node = sanei_xml_peek_next_tx_node(); + if (node == NULL) + return -1; + + if (xmlStrcmp(node->name, (const xmlChar*)"bulk_tx") != 0) + { + return -1; + } + + if (!sanei_usb_attr_is(node, "direction", "IN")) + return -1; + if (!sanei_usb_attr_is_uint(node, "endpoint_number", + devices[dn].bulk_in_ep & 0x0f)) + return -1; + + size_t got_size = 0; + char* got_data = sanei_xml_get_hex_data(node, &got_size); + free(got_data); + return got_size; +} + +static void sanei_usb_record_read_bulk(xmlNode* node, SANE_Int dn, + SANE_Byte* buffer, + size_t size, ssize_t read_size) +{ + int node_was_null = node == NULL; + if (node_was_null) + node = testing_append_commands_node; + + xmlNode* e_tx = xmlNewNode(NULL, (const xmlChar*)"bulk_tx"); + sanei_xml_command_common_props(e_tx, devices[dn].bulk_in_ep & 0x0f, "IN"); + + if (buffer == NULL) + { + const int buf_size = 128; + char buf[buf_size]; + snprintf(buf, buf_size, "(unknown read of allowed size %ld)", size); + xmlNode* e_content = xmlNewText((const xmlChar*)buf); + xmlAddChild(e_tx, e_content); + } + else + { + if (read_size >= 0) + { + sanei_xml_set_hex_data(e_tx, (const char*)buffer, read_size); + } + else + { + xmlNewProp(e_tx, (const xmlChar*)"error", (const xmlChar*)"timeout"); + } + } + + node = sanei_xml_append_command(node, node_was_null, e_tx); + + if (node_was_null) + testing_append_commands_node = node; +} + +static void sanei_usb_record_replace_read_bulk(xmlNode* node, SANE_Int dn, + SANE_Byte* buffer, + size_t size, size_t read_size) +{ + if (!testing_development_mode) + return; + testing_known_commands_input_failed = 1; + testing_last_known_seq--; + sanei_usb_record_read_bulk(node, dn, buffer, size, read_size); + xmlUnlinkNode(node); + xmlFreeNode(node); +} + +static int sanei_usb_replay_read_bulk(SANE_Int dn, SANE_Byte* buffer, + size_t size) +{ + // libusb may potentially combine multiple IN packets into a single transfer. + // We recontruct that by looking into the next packet. If it can be + // included into the current transfer without + size_t wanted_size = size; + size_t total_got_size = 0; + while (wanted_size > 0) + { + if (testing_known_commands_input_failed) + return -1; + + xmlNode* node = sanei_xml_get_next_tx_node(); + if (node == NULL) + { + FAIL_TEST(__func__, "no more transactions\n"); + return -1; + } + + if (sanei_xml_is_known_commands_end(node)) + { + sanei_usb_record_read_bulk(NULL, dn, NULL, 0, size); + testing_known_commands_input_failed = 1; + return -1; + } + + sanei_xml_record_seq(node); + sanei_xml_break_if_needed(node); + + if (xmlStrcmp(node->name, (const xmlChar*)"bulk_tx") != 0) + { + FAIL_TEST_TX(__func__, node, "unexpected transaction type %s\n", + (const char*) node->name); + sanei_usb_record_replace_read_bulk(node, dn, NULL, 0, wanted_size); + return -1; + } + + if (!sanei_usb_check_attr(node, "direction", "IN", __func__)) + { + sanei_usb_record_replace_read_bulk(node, dn, NULL, 0, wanted_size); + return -1; + } + if (!sanei_usb_check_attr_uint(node, "endpoint_number", + devices[dn].bulk_in_ep & 0x0f, + __func__)) + { + sanei_usb_record_replace_read_bulk(node, dn, NULL, 0, wanted_size); + return -1; + } + + size_t got_size = 0; + char* got_data = sanei_xml_get_hex_data(node, &got_size); + + if (got_size > wanted_size) + { + FAIL_TEST_TX(__func__, node, + "got more data than wanted (%lu vs %lu)\n", + got_size, wanted_size); + free(got_data); + sanei_usb_record_replace_read_bulk(node, dn, NULL, 0, wanted_size); + return -1; + } + + memcpy(buffer + total_got_size, got_data, got_size); + free(got_data); + total_got_size += got_size; + wanted_size -= got_size; + + int next_size = sanei_usb_replay_next_read_bulk_packet_size(dn); + if (next_size < 0) + return total_got_size; + if ((size_t) next_size > wanted_size) + return total_got_size; + } + return total_got_size; +} +#endif // WITH_USB_RECORD_REPLAY + SANE_Status sanei_usb_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) { @@ -2129,7 +3292,16 @@ sanei_usb_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) DBG (5, "sanei_usb_read_bulk: trying to read %lu bytes\n", (unsigned long) *size); - if (devices[dn].method == sanei_usb_method_scanner_driver) + if (testing_mode == sanei_usb_testing_mode_replay) + { +#if WITH_USB_RECORD_REPLAY + read_size = sanei_usb_replay_read_bulk(dn, buffer, *size); +#else + DBG(1, "%s: USB record-replay mode support missing\n", __func__); + return SANE_STATUS_UNSUPPORTED; +#endif + } + else if (devices[dn].method == sanei_usb_method_scanner_driver) { read_size = read (devices[dn].fd, buffer, *size); @@ -2236,8 +3408,22 @@ sanei_usb_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) return SANE_STATUS_INVAL; } + if (testing_mode == sanei_usb_testing_mode_record) + { +#if WITH_USB_RECORD_REPLAY + sanei_usb_record_read_bulk(NULL, dn, buffer, *size, read_size); +#else + DBG (1, "USB record-replay mode support is missing\n"); + return SANE_STATUS_UNSUPPORTED; +#endif + } + if (read_size < 0) { + *size = 0; + if (testing_mode != sanei_usb_testing_mode_disabled) + return SANE_STATUS_IO_ERROR; + #ifdef HAVE_LIBUSB_LEGACY if (devices[dn].method == sanei_usb_method_libusb) usb_clear_halt (devices[dn].libusb_handle, devices[dn].bulk_in_ep); @@ -2245,23 +3431,181 @@ sanei_usb_read_bulk (SANE_Int dn, SANE_Byte * buffer, size_t * size) if (devices[dn].method == sanei_usb_method_libusb) libusb_clear_halt (devices[dn].lu_handle, devices[dn].bulk_in_ep); #endif - *size = 0; return SANE_STATUS_IO_ERROR; } if (read_size == 0) { - DBG (3, "sanei_usb_read_bulk: read returned EOF\n"); - *size = 0; - return SANE_STATUS_EOF; + DBG (3, "sanei_usb_read_bulk: read returned EOF\n"); + *size = 0; + return SANE_STATUS_EOF; + } + if (debug_level > 10) + print_buffer (buffer, read_size); + DBG (5, "sanei_usb_read_bulk: wanted %lu bytes, got %ld bytes\n", + (unsigned long) *size, (unsigned long) read_size); + *size = read_size; + + return SANE_STATUS_GOOD; +} + +#if WITH_USB_RECORD_REPLAY +static int sanei_usb_record_write_bulk(xmlNode* node, SANE_Int dn, + const SANE_Byte* buffer, + size_t size, size_t write_size) +{ + int node_was_null = node == NULL; + if (node_was_null) + node = testing_append_commands_node; + + xmlNode* e_tx = xmlNewNode(NULL, (const xmlChar*)"bulk_tx"); + sanei_xml_command_common_props(e_tx, devices[dn].bulk_out_ep & 0x0f, "OUT"); + sanei_xml_set_hex_data(e_tx, (const char*)buffer, size); + // FIXME: output write_size + + node = sanei_xml_append_command(node, node_was_null, e_tx); + + if (node_was_null) + testing_append_commands_node = node; + return write_size; +} + +static void sanei_usb_record_replace_write_bulk(xmlNode* node, SANE_Int dn, + const SANE_Byte* buffer, + size_t size, size_t write_size) +{ + if (!testing_development_mode) + return; + testing_last_known_seq--; + sanei_usb_record_write_bulk(node, dn, buffer, size, write_size); + xmlUnlinkNode(node); + xmlFreeNode(node); +} + +// returns non-negative value on success, -1 on failure +static int sanei_usb_replay_next_write_bulk_packet_size(SANE_Int dn) +{ + xmlNode* node = sanei_xml_peek_next_tx_node(); + if (node == NULL) + return -1; + + if (xmlStrcmp(node->name, (const xmlChar*)"bulk_tx") != 0) + { + return -1; } - if (debug_level > 10) - print_buffer (buffer, read_size); - DBG (5, "sanei_usb_read_bulk: wanted %lu bytes, got %ld bytes\n", - (unsigned long) *size, (unsigned long) read_size); - *size = read_size; - return SANE_STATUS_GOOD; + if (!sanei_usb_attr_is(node, "direction", "OUT")) + return -1; + if (!sanei_usb_attr_is_uint(node, "endpoint_number", + devices[dn].bulk_out_ep & 0x0f)) + return -1; + + size_t got_size = 0; + char* got_data = sanei_xml_get_hex_data(node, &got_size); + free(got_data); + return got_size; +} + +static int sanei_usb_replay_write_bulk(SANE_Int dn, const SANE_Byte* buffer, + size_t size) +{ + size_t wanted_size = size; + size_t total_wrote_size = 0; + while (wanted_size > 0) + { + if (testing_known_commands_input_failed) + return -1; + + xmlNode* node = sanei_xml_get_next_tx_node(); + if (node == NULL) + { + FAIL_TEST(__func__, "no more transactions\n"); + return -1; + } + + if (sanei_xml_is_known_commands_end(node)) + { + sanei_usb_record_write_bulk(NULL, dn, buffer, size, size); + return size; + } + + sanei_xml_record_seq(node); + sanei_xml_break_if_needed(node); + + if (xmlStrcmp(node->name, (const xmlChar*)"bulk_tx") != 0) + { + FAIL_TEST_TX(__func__, node, "unexpected transaction type %s\n", + (const char*) node->name); + sanei_usb_record_replace_write_bulk(node, dn, buffer, size, size); + return -1; + } + + if (!sanei_usb_check_attr(node, "direction", "OUT", __func__)) + { + sanei_usb_record_replace_write_bulk(node, dn, buffer, size, size); + return -1; + } + if (!sanei_usb_check_attr_uint(node, "endpoint_number", + devices[dn].bulk_out_ep & 0x0f, + __func__)) + { + sanei_usb_record_replace_write_bulk(node, dn, buffer, size, size); + return -1; + } + + size_t wrote_size = 0; + char* wrote_data = sanei_xml_get_hex_data(node, &wrote_size); + + if (wrote_size > wanted_size) + { + FAIL_TEST_TX(__func__, node, + "wrote more data than wanted (%lu vs %lu)\n", + wrote_size, wanted_size); + if (!testing_development_mode) + { + free(wrote_data); + return -1; + } + sanei_usb_record_replace_write_bulk(node, dn, buffer, size, size); + wrote_size = size; + } + else if (!sanei_usb_check_data_equal(node, + ((const char*) buffer) + + total_wrote_size, + wrote_size, + wrote_data, wrote_size, + __func__)) + { + if (!testing_development_mode) + { + free(wrote_data); + return -1; + } + sanei_usb_record_replace_write_bulk(node, dn, buffer, size, + size); + wrote_size = size; + } + + free(wrote_data); + if (wrote_size < wanted_size && + sanei_usb_replay_next_write_bulk_packet_size(dn) < 0) + { + FAIL_TEST_TX(__func__, node, + "wrote less data than wanted (%lu vs %lu)\n", + wrote_size, wanted_size); + if (!testing_development_mode) + { + return -1; + } + sanei_usb_record_replace_write_bulk(node, dn, buffer, size, + size); + wrote_size = size; + } + total_wrote_size += wrote_size; + wanted_size -= wrote_size; + } + return total_wrote_size; } +#endif SANE_Status sanei_usb_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) @@ -2284,7 +3628,16 @@ sanei_usb_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) if (debug_level > 10) print_buffer (buffer, *size); - if (devices[dn].method == sanei_usb_method_scanner_driver) + if (testing_mode == sanei_usb_testing_mode_replay) + { +#if WITH_USB_RECORD_REPLAY + write_size = sanei_usb_replay_write_bulk(dn, buffer, *size); +#else + DBG (1, "USB record-replay mode support is missing\n"); + return SANE_STATUS_UNSUPPORTED; +#endif + } + else if (devices[dn].method == sanei_usb_method_scanner_driver) { write_size = write (devices[dn].fd, buffer, *size); @@ -2391,9 +3744,22 @@ sanei_usb_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) return SANE_STATUS_INVAL; } + if (testing_mode == sanei_usb_testing_mode_record) + { +#if WITH_USB_RECORD_REPLAY + sanei_usb_record_write_bulk(NULL, dn, buffer, *size, write_size); +#else + DBG (1, "USB record-replay mode support is missing\n"); + return SANE_STATUS_UNSUPPORTED; +#endif + } + if (write_size < 0) { *size = 0; + if (testing_mode != sanei_usb_testing_mode_disabled) + return SANE_STATUS_IO_ERROR; + #ifdef HAVE_LIBUSB_LEGACY if (devices[dn].method == sanei_usb_method_libusb) usb_clear_halt (devices[dn].libusb_handle, devices[dn].bulk_out_ep); @@ -2409,6 +3775,161 @@ sanei_usb_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) return SANE_STATUS_GOOD; } +#if WITH_USB_RECORD_REPLAY +static void +sanei_usb_record_control_msg(xmlNode* node, + SANE_Int dn, SANE_Int rtype, SANE_Int req, + SANE_Int value, SANE_Int index, SANE_Int len, + const SANE_Byte* data) +{ + (void) dn; + + int node_was_null = node == NULL; + if (node_was_null) + node = testing_append_commands_node; + + xmlNode* e_tx = xmlNewNode(NULL, (const xmlChar*)"control_tx"); + + int direction_is_in = (rtype & 0x80) == 0x80; + sanei_xml_command_common_props(e_tx, rtype & 0x1f, + direction_is_in ? "IN" : "OUT"); + sanei_xml_set_hex_attr(e_tx, "bmRequestType", rtype); + sanei_xml_set_hex_attr(e_tx, "bRequest", req); + sanei_xml_set_hex_attr(e_tx, "wValue", value); + sanei_xml_set_hex_attr(e_tx, "wIndex", index); + sanei_xml_set_hex_attr(e_tx, "wLength", len); + + if (direction_is_in && data == NULL) + { + const int buf_size = 128; + char buf[buf_size]; + snprintf(buf, buf_size, "(unknown read of size %d)", len); + xmlNode* e_content = xmlNewText((const xmlChar*)buf); + xmlAddChild(e_tx, e_content); + } + else + { + sanei_xml_set_hex_data(e_tx, (const char*)data, len); + } + + node = sanei_xml_append_command(node, node_was_null, e_tx); + + if (node_was_null) + testing_append_commands_node = node; +} + + +static SANE_Status +sanei_usb_record_replace_control_msg(xmlNode* node, + SANE_Int dn, SANE_Int rtype, SANE_Int req, + SANE_Int value, SANE_Int index, SANE_Int len, + const SANE_Byte* data) +{ + if (!testing_development_mode) + return SANE_STATUS_IO_ERROR; + + SANE_Status ret = SANE_STATUS_GOOD; + int direction_is_in = (rtype & 0x80) == 0x80; + if (direction_is_in) + { + testing_known_commands_input_failed = 1; + ret = SANE_STATUS_IO_ERROR; + } + + testing_last_known_seq--; + sanei_usb_record_control_msg(node, dn, rtype, req, value, index, len, data); + xmlUnlinkNode(node); + xmlFreeNode(node); + return ret; +} + +static SANE_Status +sanei_usb_replay_control_msg(SANE_Int dn, SANE_Int rtype, SANE_Int req, + SANE_Int value, SANE_Int index, SANE_Int len, + SANE_Byte* data) +{ + (void) dn; + + if (testing_known_commands_input_failed) + return -1; + + xmlNode* node = sanei_xml_get_next_tx_node(); + if (node == NULL) + { + FAIL_TEST(__func__, "no more transactions\n"); + return SANE_STATUS_IO_ERROR; + } + + int direction_is_in = (rtype & 0x80) == 0x80; + SANE_Byte* rdata = direction_is_in ? NULL : data; + + if (sanei_xml_is_known_commands_end(node)) + { + sanei_usb_record_control_msg(NULL, dn, rtype, req, value, index, len, + rdata); + if (direction_is_in) + { + testing_known_commands_input_failed = 1; + return SANE_STATUS_IO_ERROR; + } + return SANE_STATUS_GOOD; + } + + sanei_xml_record_seq(node); + sanei_xml_break_if_needed(node); + + if (xmlStrcmp(node->name, (const xmlChar*)"control_tx") != 0) + { + FAIL_TEST_TX(__func__, node, "unexpected transaction type %s\n", + (const char*) node->name); + return sanei_usb_record_replace_control_msg(node, dn, rtype, req, value, + index, len, rdata); + } + + if (!sanei_usb_check_attr(node, "direction", direction_is_in ? "IN" : "OUT", + __func__) || + !sanei_usb_check_attr_uint(node, "bmRequestType", rtype, __func__) || + !sanei_usb_check_attr_uint(node, "bRequest", req, __func__) || + !sanei_usb_check_attr_uint(node, "wValue", value, __func__) || + !sanei_usb_check_attr_uint(node, "wIndex", index, __func__) || + !sanei_usb_check_attr_uint(node, "wLength", len, __func__)) + { + return sanei_usb_record_replace_control_msg(node, dn, rtype, req, value, + index, len, rdata); + } + + size_t tx_data_size = 0; + char* tx_data = sanei_xml_get_hex_data(node, &tx_data_size); + + if (direction_is_in) + { + if (tx_data_size != (size_t)len) + { + FAIL_TEST_TX(__func__, node, + "got different amount of data than wanted (%lu vs %lu)\n", + tx_data_size, (size_t)len); + free(tx_data); + return sanei_usb_record_replace_control_msg(node, dn, rtype, req, + value, index, len, rdata); + } + memcpy(data, tx_data, tx_data_size); + } + else + { + if (!sanei_usb_check_data_equal(node, + (const char*)data, len, + tx_data, tx_data_size, __func__)) + { + free(tx_data); + return sanei_usb_record_replace_control_msg(node, dn, rtype, req, + value, index, len, rdata); + } + } + free(tx_data); + return SANE_STATUS_GOOD; +} +#endif + SANE_Status sanei_usb_control_msg (SANE_Int dn, SANE_Int rtype, SANE_Int req, SANE_Int value, SANE_Int index, SANE_Int len, @@ -2426,6 +3947,16 @@ sanei_usb_control_msg (SANE_Int dn, SANE_Int rtype, SANE_Int req, if (!(rtype & 0x80) && debug_level > 10) print_buffer (data, len); + if (testing_mode == sanei_usb_testing_mode_replay) + { +#if WITH_USB_RECORD_REPLAY + return sanei_usb_replay_control_msg(dn, rtype, req, value, index, len, + data); +#else + DBG (1, "USB record-replay mode support is missing\n"); + return SANE_STATUS_UNSUPPORTED; +#endif + } if (devices[dn].method == sanei_usb_method_scanner_driver) { #if defined(__linux__) @@ -2537,9 +4068,141 @@ sanei_usb_control_msg (SANE_Int dn, SANE_Int rtype, SANE_Int req, devices[dn].method); return SANE_STATUS_UNSUPPORTED; } + + if (testing_mode == sanei_usb_testing_mode_record) + { +#if WITH_USB_RECORD_REPLAY + // TODO: record in the error code path too + sanei_usb_record_control_msg(NULL, dn, rtype, req, value, index, len, + data); +#else + DBG (1, "USB record-replay mode support is missing\n"); + return SANE_STATUS_UNSUPPORTED; +#endif + } return SANE_STATUS_GOOD; } +#if WITH_USB_RECORD_REPLAY +static void sanei_usb_record_read_int(xmlNode* node, + SANE_Int dn, SANE_Byte* buffer, + size_t size, ssize_t read_size) +{ + (void) size; + + int node_was_null = node == NULL; + if (node_was_null) + node = testing_append_commands_node; + + xmlNode* e_tx = xmlNewNode(NULL, (const xmlChar*)"interrupt_tx"); + + sanei_xml_command_common_props(e_tx, devices[dn].int_in_ep & 0x0f, "IN"); + + if (buffer == NULL) + { + const int buf_size = 128; + char buf[buf_size]; + snprintf(buf, buf_size, "(unknown read of wanted size %ld)", read_size); + xmlNode* e_content = xmlNewText((const xmlChar*)buf); + xmlAddChild(e_tx, e_content); + } + else + { + if (read_size >= 0) + { + sanei_xml_set_hex_data(e_tx, (const char*)buffer, read_size); + } + else + { + xmlNewProp(e_tx, (const xmlChar*)"error", (const xmlChar*)"timeout"); + } + } + + node = sanei_xml_append_command(node, node_was_null, e_tx); + + if (node_was_null) + testing_append_commands_node = node; +} + +static void sanei_usb_record_replace_read_int(xmlNode* node, + SANE_Int dn, SANE_Byte* buffer, + size_t size, size_t read_size) +{ + if (!testing_development_mode) + return; + testing_known_commands_input_failed = 1; + testing_last_known_seq--; + sanei_usb_record_read_int(node, dn, buffer, size, read_size); + xmlUnlinkNode(node); + xmlFreeNode(node); +} + +static int sanei_usb_replay_read_int(SANE_Int dn, SANE_Byte* buffer, + size_t size) +{ + if (testing_known_commands_input_failed) + return -1; + + size_t wanted_size = size; + + xmlNode* node = sanei_xml_get_next_tx_node(); + if (node == NULL) + { + FAIL_TEST(__func__, "no more transactions\n"); + return -1; + } + + if (sanei_xml_is_known_commands_end(node)) + { + sanei_usb_record_read_int(NULL, dn, NULL, 0, size); + testing_known_commands_input_failed = 1; + return -1; + } + + sanei_xml_record_seq(node); + sanei_xml_break_if_needed(node); + + if (xmlStrcmp(node->name, (const xmlChar*)"interrupt_tx") != 0) + { + FAIL_TEST_TX(__func__, node, "unexpected transaction type %s\n", + (const char*) node->name); + sanei_usb_record_replace_read_int(node, dn, NULL, 0, size); + return -1; + } + + if (!sanei_usb_check_attr(node, "direction", "IN", __func__)) + { + sanei_usb_record_replace_read_int(node, dn, NULL, 0, size); + return -1; + } + + if (!sanei_usb_check_attr_uint(node, "endpoint_number", + devices[dn].int_in_ep & 0x0f, + __func__)) + { + sanei_usb_record_replace_read_int(node, dn, NULL, 0, size); + return -1; + } + + size_t tx_data_size = 0; + char* tx_data = sanei_xml_get_hex_data(node, &tx_data_size); + + if (tx_data_size > wanted_size) + { + FAIL_TEST_TX(__func__, node, + "got more data than wanted (%lu vs %lu)\n", + tx_data_size, wanted_size); + sanei_usb_record_replace_read_int(node, dn, NULL, 0, size); + free(tx_data); + return -1; + } + + memcpy((char*) buffer, tx_data, tx_data_size); + free(tx_data); + return tx_data_size; +} +#endif // WITH_USB_RECORD_REPLAY + SANE_Status sanei_usb_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) { @@ -2562,7 +4225,16 @@ sanei_usb_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) DBG (5, "sanei_usb_read_int: trying to read %lu bytes\n", (unsigned long) *size); - if (devices[dn].method == sanei_usb_method_scanner_driver) + if (testing_mode == sanei_usb_testing_mode_replay) + { +#if WITH_USB_RECORD_REPLAY + read_size = sanei_usb_replay_read_int(dn, buffer, *size); +#else + DBG (1, "USB record-replay mode support is missing\n"); + return SANE_STATUS_UNSUPPORTED; +#endif + } + else if (devices[dn].method == sanei_usb_method_scanner_driver) { DBG (1, "sanei_usb_read_int: access method %d not implemented\n", devices[dn].method); @@ -2658,8 +4330,22 @@ sanei_usb_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) return SANE_STATUS_INVAL; } + if (testing_mode == sanei_usb_testing_mode_record) + { +#if WITH_USB_RECORD_REPLAY + sanei_usb_record_read_int(NULL, dn, buffer, *size, read_size); +#else + DBG (1, "USB record-replay mode support is missing\n"); + return SANE_STATUS_UNSUPPORTED; +#endif + } + if (read_size < 0) { + *size = 0; + if (testing_mode != sanei_usb_testing_mode_disabled) + return SANE_STATUS_IO_ERROR; + #ifdef HAVE_LIBUSB_LEGACY if (devices[dn].method == sanei_usb_method_libusb) if (stalled) @@ -2669,7 +4355,6 @@ sanei_usb_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) if (stalled) libusb_clear_halt (devices[dn].lu_handle, devices[dn].int_in_ep); #endif - *size = 0; return SANE_STATUS_IO_ERROR; } if (read_size == 0) @@ -2687,6 +4372,58 @@ sanei_usb_read_int (SANE_Int dn, SANE_Byte * buffer, size_t * size) return SANE_STATUS_GOOD; } +#if WITH_USB_RECORD_REPLAY +static SANE_Status sanei_usb_replay_set_configuration(SANE_Int dn, + SANE_Int configuration) +{ + (void) dn; + + xmlNode* node = sanei_xml_get_next_tx_node(); + if (node == NULL) + { + FAIL_TEST(__func__, "no more transactions\n"); + return SANE_STATUS_IO_ERROR; + } + + sanei_xml_record_seq(node); + sanei_xml_break_if_needed(node); + + if (xmlStrcmp(node->name, (const xmlChar*)"control_tx") != 0) + { + FAIL_TEST_TX(__func__, node, "unexpected transaction type %s\n", + (const char*) node->name); + return SANE_STATUS_IO_ERROR; + } + + if (!sanei_usb_check_attr(node, "direction", "OUT", __func__)) + return SANE_STATUS_IO_ERROR; + + if (!sanei_usb_check_attr_uint(node, "bmRequestType", 0, __func__)) + return SANE_STATUS_IO_ERROR; + + if (!sanei_usb_check_attr_uint(node, "bRequest", 9, __func__)) + return SANE_STATUS_IO_ERROR; + + if (!sanei_usb_check_attr_uint(node, "wValue", configuration, __func__)) + return SANE_STATUS_IO_ERROR; + + if (!sanei_usb_check_attr_uint(node, "wIndex", 0, __func__)) + return SANE_STATUS_IO_ERROR; + + if (!sanei_usb_check_attr_uint(node, "wLength", 0, __func__)) + return SANE_STATUS_IO_ERROR; + + return SANE_STATUS_GOOD; +} + +static void sanei_usb_record_set_configuration(SANE_Int dn, + SANE_Int configuration) +{ + (void) dn; (void) configuration; + // TODO +} +#endif // WITH_USB_RECORD_REPLAY + SANE_Status sanei_usb_set_configuration (SANE_Int dn, SANE_Int configuration) { @@ -2700,7 +4437,26 @@ sanei_usb_set_configuration (SANE_Int dn, SANE_Int configuration) DBG (5, "sanei_usb_set_configuration: configuration = %d\n", configuration); - if (devices[dn].method == sanei_usb_method_scanner_driver) + if (testing_mode == sanei_usb_testing_mode_record) + { +#if WITH_USB_RECORD_REPLAY + sanei_usb_record_set_configuration(dn, configuration); +#else + DBG (1, "USB record-replay mode support is missing\n"); + return SANE_STATUS_UNSUPPORTED; +#endif + } + + if (testing_mode == sanei_usb_testing_mode_replay) + { +#if WITH_USB_RECORD_REPLAY + return sanei_usb_replay_set_configuration(dn, configuration); +#else + DBG (1, "USB record-replay mode support is missing\n"); + return SANE_STATUS_UNSUPPORTED; +#endif + } + else if (devices[dn].method == sanei_usb_method_scanner_driver) { #if defined(__linux__) return SANE_STATUS_GOOD; @@ -2770,7 +4526,11 @@ sanei_usb_claim_interface (SANE_Int dn, SANE_Int interface_number) DBG (5, "sanei_usb_claim_interface: interface_number = %d\n", interface_number); - if (devices[dn].method == sanei_usb_method_scanner_driver) + if (testing_mode == sanei_usb_testing_mode_replay) + { + return SANE_STATUS_GOOD; + } + else if (devices[dn].method == sanei_usb_method_scanner_driver) { #if defined(__linux__) return SANE_STATUS_GOOD; @@ -2837,7 +4597,11 @@ sanei_usb_release_interface (SANE_Int dn, SANE_Int interface_number) } DBG (5, "sanei_usb_release_interface: interface_number = %d\n", interface_number); - if (devices[dn].method == sanei_usb_method_scanner_driver) + if (testing_mode == sanei_usb_testing_mode_replay) + { + return SANE_STATUS_GOOD; + } + else if (devices[dn].method == sanei_usb_method_scanner_driver) { #if defined(__linux__) return SANE_STATUS_GOOD; @@ -2903,7 +4667,11 @@ sanei_usb_set_altinterface (SANE_Int dn, SANE_Int alternate) devices[dn].alt_setting = alternate; - if (devices[dn].method == sanei_usb_method_scanner_driver) + if (testing_mode == sanei_usb_testing_mode_replay) + { + return SANE_STATUS_GOOD; + } + else if (devices[dn].method == sanei_usb_method_scanner_driver) { #if defined(__linux__) return SANE_STATUS_GOOD; @@ -2955,6 +4723,25 @@ sanei_usb_set_altinterface (SANE_Int dn, SANE_Int alternate) } } +static SANE_Status +sanei_usb_replay_get_descriptor(SANE_Int dn, + struct sanei_usb_dev_descriptor *desc) +{ + (void) dn; + (void) desc; + return SANE_STATUS_UNSUPPORTED; + // ZZTODO +} + +static void +sanei_usb_record_get_descriptor(SANE_Int dn, + struct sanei_usb_dev_descriptor *desc) +{ + (void) dn; + (void) desc; + // ZZTODO +} + extern SANE_Status sanei_usb_get_descriptor( SANE_Int dn, struct sanei_usb_dev_descriptor __sane_unused__ @@ -2968,6 +4755,11 @@ sanei_usb_get_descriptor( SANE_Int dn, return SANE_STATUS_INVAL; } + if (testing_mode == sanei_usb_testing_mode_replay) + { + return sanei_usb_replay_get_descriptor(dn, desc); + } + DBG (5, "sanei_usb_get_descriptor\n"); #ifdef HAVE_LIBUSB_LEGACY { @@ -3013,5 +4805,11 @@ sanei_usb_get_descriptor( SANE_Int dn, return SANE_STATUS_UNSUPPORTED; } #endif /* not HAVE_LIBUSB_LEGACY && not HAVE_LIBUSB */ + + if (testing_mode == sanei_usb_testing_mode_record) + { + sanei_usb_record_get_descriptor(dn, desc); + } + return SANE_STATUS_GOOD; } diff --git a/sanei/sanei_wire.c b/sanei/sanei_wire.c index 32cd1a0..85021d1 100644 --- a/sanei/sanei_wire.c +++ b/sanei/sanei_wire.c @@ -150,7 +150,7 @@ sanei_w_space (Wire * w, size_t howmuch) } void -sanei_w_void (Wire * w) +sanei_w_void (Wire * w, void __sane_unused__ * v) { DBG (3, "sanei_w_void: wire %d (void debug output)\n", w->io.fd); } diff --git a/testsuite/backend/genesys/Makefile.am b/testsuite/backend/genesys/Makefile.am index 1332cf8..818a523 100644 --- a/testsuite/backend/genesys/Makefile.am +++ b/testsuite/backend/genesys/Makefile.am @@ -6,18 +6,30 @@ TEST_LDADD = \ ../../../sanei/libsanei.la \ + ../../../sanei/sanei_usb.lo \ + ../../../sanei/sanei_magic.lo \ ../../../lib/liblib.la \ ../../../backend/libgenesys.la \ ../../../backend/sane_strstatus.lo \ - $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) + $(MATH_LIB) $(USB_LIBS) $(XML_LIBS) $(PTHREAD_LIBS) -check_PROGRAMS = genesys_tests -TESTS = $(check_PROGRAMS) +check_PROGRAMS = genesys_unit_tests genesys_session_config_tests +TESTS = genesys_unit_tests AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include $(USB_CFLAGS) \ - -DBACKEND_NAME=genesys + -DBACKEND_NAME=genesys -DTESTSUITE_BACKEND_GENESYS_SRCDIR=$(srcdir) -genesys_tests_SOURCES = tests.cc tests.h minigtest.cc minigtest.h \ - tests_calibration.cc +genesys_unit_tests_SOURCES = tests.cpp tests.h \ + minigtest.cpp minigtest.h tests_printers.h \ + tests_calibration.cpp \ + tests_image.cpp \ + tests_image_pipeline.cpp \ + tests_motor.cpp \ + tests_row_buffer.cpp \ + tests_utilities.cpp -genesys_tests_LDADD = $(TEST_LDADD) +genesys_unit_tests_LDADD = $(TEST_LDADD) + +genesys_session_config_tests_SOURCES = session_config_test.cpp + +genesys_session_config_tests_LDADD = $(TEST_LDADD) diff --git a/testsuite/backend/genesys/minigtest.cc b/testsuite/backend/genesys/minigtest.cc deleted file mode 100644 index 5ca73c2..0000000 --- a/testsuite/backend/genesys/minigtest.cc +++ /dev/null @@ -1,35 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2019 Povilas Kanapickas - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. -*/ - -#include "minigtest.h" - -size_t s_num_successes = 0; -size_t s_num_failures = 0; - -int finish_tests() -{ - std::cerr << "Finished tests. Sucessses: " << s_num_successes - << " failures: " << s_num_failures << "\n"; - if (s_num_failures > 0) - return 1; - return 0; -} diff --git a/testsuite/backend/genesys/minigtest.cpp b/testsuite/backend/genesys/minigtest.cpp new file mode 100644 index 0000000..8afb62a --- /dev/null +++ b/testsuite/backend/genesys/minigtest.cpp @@ -0,0 +1,37 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#include "minigtest.h" + +#define DEBUG_DECLARE_ONLY + +size_t s_num_successes = 0; +size_t s_num_failures = 0; + +int finish_tests() +{ + std::cerr << "Finished tests. Sucessses: " << s_num_successes + << " failures: " << s_num_failures << "\n"; + if (s_num_failures > 0) + return 1; + return 0; +} diff --git a/testsuite/backend/genesys/minigtest.h b/testsuite/backend/genesys/minigtest.h index 752efe1..9a38e77 100644 --- a/testsuite/backend/genesys/minigtest.h +++ b/testsuite/backend/genesys/minigtest.h @@ -38,7 +38,7 @@ inline void print_location(std::ostream& out, const char* function, const char* template void check_equal(const T& t, const U& u, const char* function, const char* path, unsigned line) { - if (t != u) { + if (!(t == u)) { s_num_failures++; std::cerr << "FAILURE at "; print_location(std::cerr, function, path, line); @@ -64,14 +64,48 @@ inline void check_true(bool x, const char* function, const char* path, unsigned std::cerr << "\n"; } +inline void check_raises_success(const char* function, const char* path, unsigned line) +{ + s_num_successes++; + std::cerr << "SUCCESS at "; + print_location(std::cerr, function, path, line); + std::cerr << "\n"; +} + +inline void check_raises_did_not_raise(const char* function, const char* path, unsigned line) +{ + s_num_failures++; + std::cerr << "FAILURE at "; + print_location(std::cerr, function, path, line); + std::cerr << " : did not raise exception\n"; + +} + +inline void check_raises_raised_unexpected(const char* function, const char* path, unsigned line) +{ + s_num_failures++; + std::cerr << "FAILURE at "; + print_location(std::cerr, function, path, line); + std::cerr << " : unexpected exception raised\n"; +} #define ASSERT_EQ(x, y) do { check_equal((x), (y), __func__, __FILE__, __LINE__); } \ while (false) #define ASSERT_TRUE(x) do { check_true(bool(x), __func__, __FILE__, __LINE__); } \ while (false) -#define ASSERT_FALSE(x) do { !check_true(bool(x), __func__, __FILE__, __LINE__); } \ +#define ASSERT_FALSE(x) do { check_true(!bool(x), __func__, __FILE__, __LINE__); } \ while (false) +#define ASSERT_RAISES(x, T) \ + do { try { \ + x; \ + check_raises_did_not_raise(__func__, __FILE__, __LINE__); \ + } catch (const T&) { \ + check_raises_success(__func__, __FILE__, __LINE__); \ + } catch (...) { \ + check_raises_raised_unexpected(__func__, __FILE__, __LINE__); \ + } } while (false) + int finish_tests(); #endif diff --git a/testsuite/backend/genesys/session_config_test.cpp b/testsuite/backend/genesys/session_config_test.cpp new file mode 100644 index 0000000..72043bb --- /dev/null +++ b/testsuite/backend/genesys/session_config_test.cpp @@ -0,0 +1,503 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "../../../backend/genesys/device.h" +#include "../../../backend/genesys/enums.h" +#include "../../../backend/genesys/error.h" +#include "../../../backend/genesys/low.h" +#include "../../../backend/genesys/genesys.h" +#include "../../../backend/genesys/test_settings.h" +#include "../../../backend/genesys/test_scanner_interface.h" +#include "../../../backend/genesys/utilities.h" +#include "../../../include/sane/saneopts.h" +#include "sys/stat.h" +#include +#include +#include +#include +#include +#include + +#define XSTR(s) STR(s) +#define STR(s) #s +#define CURR_SRCDIR XSTR(TESTSUITE_BACKEND_GENESYS_SRCDIR) + +struct TestConfig +{ + std::uint16_t vendor_id = 0; + std::uint16_t product_id = 0; + std::string model_name; + genesys::ScanMethod method = genesys::ScanMethod::FLATBED; + genesys::ScanColorMode color_mode = genesys::ScanColorMode::COLOR_SINGLE_PASS; + unsigned depth = 0; + unsigned resolution = 0; + + std::string name() const + { + std::stringstream out; + out << "capture_" << model_name + << '_' << method + << '_' << color_mode + << "_depth" << depth + << "_dpi" << resolution; + return out.str(); + } + +}; + +class SaneOptions +{ +public: + void fetch(SANE_Handle handle) + { + handle_ = handle; + options_.resize(1); + options_[0] = fetch_option(0); + + if (std::strcmp(options_[0].name, SANE_NAME_NUM_OPTIONS) != 0 || + options_[0].type != SANE_TYPE_INT) + { + throw std::runtime_error("Expected option number option"); + } + int option_count = 0; + TIE(sane_control_option(handle, 0, SANE_ACTION_GET_VALUE, &option_count, nullptr)); + + options_.resize(option_count); + for (int i = 0; i < option_count; ++i) { + options_[i] = fetch_option(i); + } + } + + void close() + { + handle_ = nullptr; + } + + bool get_value_bool(const std::string& name) const + { + auto i = find_option(name, SANE_TYPE_BOOL); + int value = 0; + TIE(sane_control_option(handle_, i, SANE_ACTION_GET_VALUE, &value, nullptr)); + return value; + } + + void set_value_bool(const std::string& name, bool value) + { + auto i = find_option(name, SANE_TYPE_BOOL); + int value_int = value; + TIE(sane_control_option(handle_, i, SANE_ACTION_SET_VALUE, &value_int, nullptr)); + } + + bool get_value_button(const std::string& name) const + { + auto i = find_option(name, SANE_TYPE_BUTTON); + int value = 0; + TIE(sane_control_option(handle_, i, SANE_ACTION_GET_VALUE, &value, nullptr)); + return value; + } + + void set_value_button(const std::string& name, bool value) + { + auto i = find_option(name, SANE_TYPE_BUTTON); + int value_int = value; + TIE(sane_control_option(handle_, i, SANE_ACTION_SET_VALUE, &value_int, nullptr)); + } + + int get_value_int(const std::string& name) const + { + auto i = find_option(name, SANE_TYPE_INT); + int value = 0; + TIE(sane_control_option(handle_, i, SANE_ACTION_GET_VALUE, &value, nullptr)); + return value; + } + + void set_value_int(const std::string& name, int value) + { + auto i = find_option(name, SANE_TYPE_INT); + TIE(sane_control_option(handle_, i, SANE_ACTION_SET_VALUE, &value, nullptr)); + } + + float get_value_float(const std::string& name) const + { + auto i = find_option(name, SANE_TYPE_FIXED); + int value = 0; + TIE(sane_control_option(handle_, i, SANE_ACTION_GET_VALUE, &value, nullptr)); + return static_cast(SANE_UNFIX(value)); + } + + void set_value_float(const std::string& name, float value) + { + auto i = find_option(name, SANE_TYPE_FIXED); + int value_int = SANE_FIX(value); + TIE(sane_control_option(handle_, i, SANE_ACTION_SET_VALUE, &value_int, nullptr)); + } + + std::string get_value_string(const std::string& name) const + { + auto i = find_option(name, SANE_TYPE_STRING); + std::string value; + value.resize(options_[i].size + 1); + TIE(sane_control_option(handle_, i, SANE_ACTION_GET_VALUE, &value.front(), nullptr)); + value.resize(std::strlen(&value.front())); + return value; + } + + void set_value_string(const std::string& name, const std::string& value) + { + auto i = find_option(name, SANE_TYPE_STRING); + TIE(sane_control_option(handle_, i, SANE_ACTION_SET_VALUE, + const_cast(&value.front()), nullptr)); + } + +private: + SANE_Option_Descriptor fetch_option(int index) + { + const auto* option = sane_get_option_descriptor(handle_, index); + if (option == nullptr) { + throw std::runtime_error("Got nullptr option"); + } + return *option; + } + + std::size_t find_option(const std::string& name, SANE_Value_Type type) const + { + for (std::size_t i = 0; i < options_.size(); ++i) { + if (options_[i].name == name) { + if (options_[i].type != type) { + throw std::runtime_error("Option has incorrect type"); + } + return i; + } + } + throw std::runtime_error("Could not find option"); + } + + SANE_Handle handle_; + std::vector options_; +}; + + +void build_checkpoint(const genesys::Genesys_Device& dev, + genesys::TestScannerInterface& iface, + const std::string& checkpoint_name, + std::stringstream& out) +{ + out << "\n\n================\n" + << "Checkpoint: " << checkpoint_name << "\n" + << "================\n\n" + << "dev: " << genesys::format_indent_braced_list(4, dev) << "\n\n" + << "iface.cached_regs: " + << genesys::format_indent_braced_list(4, iface.cached_regs()) << "\n\n" + << "iface.cached_fe_regs: " + << genesys::format_indent_braced_list(4, iface.cached_fe_regs()) << "\n\n" + << "iface.last_progress_message: " << iface.last_progress_message() << "\n\n"; + out << "iface.slope_tables: {\n"; + for (const auto& kv : iface.recorded_slope_tables()) { + out << " " << kv.first << ": {"; + for (unsigned i = 0; i < kv.second.size(); ++i) { + if (i % 10 == 0) { + out << "\n "; + } + out << ' ' << kv.second[i]; + } + out << "\n }\n"; + } + out << "}\n"; + if (iface.recorded_key_values().empty()) { + out << "iface.recorded_key_values: []\n"; + } else { + out << "iface.recorded_key_values: {\n"; + for (const auto& kv : iface.recorded_key_values()) { + out << " " << kv.first << " : " << kv.second << '\n'; + } + out << "}\n"; + } + iface.recorded_key_values().clear(); + out << "\n"; +} + +void run_single_test_scan(const TestConfig& config, std::stringstream& out) +{ + auto build_checkpoint_wrapper = [&](const genesys::Genesys_Device& dev, + genesys::TestScannerInterface& iface, + const std::string& checkpoint_name) + { + build_checkpoint(dev, iface, checkpoint_name, out); + }; + + genesys::enable_testing_mode(config.vendor_id, config.product_id, build_checkpoint_wrapper); + + SANE_Handle handle; + + TIE(sane_init(nullptr, nullptr)); + TIE(sane_open(genesys::get_testing_device_name().c_str(), &handle)); + + SaneOptions options; + options.fetch(handle); + + options.set_value_button("force-calibration", true); + options.set_value_string(SANE_NAME_SCAN_SOURCE, + genesys::scan_method_to_option_string(config.method)); + options.set_value_string(SANE_NAME_SCAN_MODE, + genesys::scan_color_mode_to_option_string(config.color_mode)); + if (config.color_mode != genesys::ScanColorMode::LINEART) { + options.set_value_int(SANE_NAME_BIT_DEPTH, config.depth); + } + options.set_value_int(SANE_NAME_SCAN_RESOLUTION, config.resolution); + options.close(); + + TIE(sane_start(handle)); + + SANE_Parameters params; + TIE(sane_get_parameters(handle, ¶ms)); + + int buffer_size = 1024 * 1024; + std::vector buffer; + buffer.resize(buffer_size); + + std::uint64_t total_data_size = std::uint64_t(params.bytes_per_line) * params.lines; + std::uint64_t total_got_data = 0; + + while (total_got_data < total_data_size) { + int ask_len = std::min(buffer_size, total_data_size - total_got_data); + + int got_data = 0; + auto status = sane_read(handle, buffer.data(), ask_len, &got_data); + total_got_data += got_data; + if (status == SANE_STATUS_EOF) { + break; + } + TIE(status); + } + + sane_cancel(handle); + sane_close(handle); + sane_exit(); + + genesys::disable_testing_mode(); +} + +std::string read_file_to_string(const std::string& path) +{ + std::ifstream in; + in.open(path); + if (!in.is_open()) { + return ""; + } + std::stringstream in_str; + in_str << in.rdbuf(); + return in_str.str(); +} + +void write_string_to_file(const std::string& path, const std::string& contents) +{ + std::ofstream out; + out.open(path); + if (!out.is_open()) { + throw std::runtime_error("Could not open output file: " + path); + } + out << contents; + out.close(); +} + +struct TestResult +{ + bool success = true; + TestConfig config; + std::string failure_message; +}; + +TestResult perform_single_test(const TestConfig& config, const std::string& check_directory, + const std::string& output_directory) +{ + TestResult test_result; + test_result.config = config; + + std::stringstream result_output_stream; + std::string exception_output; + try { + run_single_test_scan(config, result_output_stream); + } catch (const std::exception& exc) { + exception_output = std::string("got exception: ") + typeid(exc).name() + + " with message\n" + exc.what() + "\n"; + test_result.success = false; + test_result.failure_message += exception_output; + } catch (...) { + exception_output = "got unknown exception\n"; + test_result.success = false; + test_result.failure_message += exception_output; + } + auto result_output = result_output_stream.str(); + if (!exception_output.empty()) { + result_output += "\n\n" + exception_output; + } + + auto test_filename = config.name() + ".txt"; + auto expected_session_path = check_directory + "/" + test_filename; + auto current_session_path = output_directory + "/" + test_filename; + + auto expected_output = read_file_to_string(expected_session_path); + + bool has_output = !output_directory.empty(); + + if (has_output) { + mkdir(output_directory.c_str(), 0777); + // note that check_directory and output_directory may be the same, so make sure removal + // happens after the expected output has already been read. + std::remove(current_session_path.c_str()); + } + + if (expected_output.empty()) { + test_result.failure_message += "the expected data file does not exist\n"; + test_result.success = false; + } else if (expected_output != result_output) { + test_result.failure_message += "expected and current output are not equal\n"; + if (has_output) { + test_result.failure_message += "To examine, run:\ndiff -u \"" + current_session_path + + "\" \"" + expected_session_path + "\"\n"; + } + test_result.success = false; + } + + if (has_output) { + write_string_to_file(current_session_path, result_output); + } + return test_result; +} + +std::vector get_all_test_configs() +{ + genesys::genesys_init_usb_device_tables(); + + std::vector configs; + std::unordered_set model_names; + + for (const auto& usb_dev : *genesys::s_usb_devices) { + if (usb_dev.model.flags & GENESYS_FLAG_UNTESTED) { + continue; + } + if (model_names.find(usb_dev.model.name) != model_names.end()) { + continue; + } + model_names.insert(usb_dev.model.name); + + for (auto scan_mode : { genesys::ScanColorMode::LINEART, + genesys::ScanColorMode::GRAY, + genesys::ScanColorMode::COLOR_SINGLE_PASS }) { + + auto depth_values = usb_dev.model.bpp_gray_values; + if (scan_mode == genesys::ScanColorMode::COLOR_SINGLE_PASS) { + depth_values = usb_dev.model.bpp_color_values; + } + for (unsigned depth : depth_values) { + for (auto method_resolutions : usb_dev.model.resolutions) { + for (auto method : method_resolutions.methods) { + for (unsigned resolution : method_resolutions.get_resolutions()) { + TestConfig config; + config.vendor_id = usb_dev.vendor; + config.product_id = usb_dev.product; + config.model_name = usb_dev.model.name; + config.method = method; + config.depth = depth; + config.resolution = resolution; + config.color_mode = scan_mode; + configs.push_back(config); + } + } + } + } + } + } + return configs; +} + +void print_help() +{ + std::cerr << "Usage:\n" + << "session_config_test [--test={test_name}] {check_directory} [{output_directory}]\n" + << "session_config_test --help\n" + << "session_config_test --print_test_names\n"; +} + +int main(int argc, const char* argv[]) +{ + std::string check_directory; + std::string output_directory; + std::string test_name_filter; + bool print_test_names = false; + + for (int argi = 1; argi < argc; ++argi) { + std::string arg = argv[argi]; + if (arg.rfind("--test=", 0) == 0) { + test_name_filter = arg.substr(7); + } else if (arg == "-h" || arg == "--help") { + print_help(); + return 0; + } else if (arg == "--print_test_names") { + print_test_names = true; + } else if (check_directory.empty()) { + check_directory = arg; + } else if (output_directory.empty()) { + output_directory = arg; + } + } + + auto configs = get_all_test_configs(); + + if (print_test_names) { + for (const auto& config : configs) { + std::cout << config.name() << "\n"; + } + return 0; + } + + if (check_directory.empty()) { + print_help(); + return 1; + } + + bool test_success = true; + for (unsigned i = 0; i < configs.size(); ++i) { + const auto& config = configs[i]; + + if (!test_name_filter.empty() && config.name() != test_name_filter) { + continue; + } + + auto result = perform_single_test(config, check_directory, output_directory); + std::cerr << "(" << i << "/" << configs.size() << "): " + << (result.success ? "SUCCESS: " : "FAIL: ") + << result.config.name() << "\n"; + if (!result.success) { + std::cerr << result.failure_message; + } + + test_success &= result.success; + } + + if (!test_success) { + return 1; + } + return 0; +} diff --git a/testsuite/backend/genesys/tests.cc b/testsuite/backend/genesys/tests.cc deleted file mode 100644 index 40b1b3e..0000000 --- a/testsuite/backend/genesys/tests.cc +++ /dev/null @@ -1,30 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2019 Povilas Kanapickas - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. -*/ - -#include "tests.h" -#include "minigtest.h" - -int main() -{ - test_calibration_parsing(); - return finish_tests(); -} diff --git a/testsuite/backend/genesys/tests.cpp b/testsuite/backend/genesys/tests.cpp new file mode 100644 index 0000000..5fe0084 --- /dev/null +++ b/testsuite/backend/genesys/tests.cpp @@ -0,0 +1,37 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "tests.h" +#include "minigtest.h" + +int main() +{ + genesys::test_calibration_parsing(); + genesys::test_image(); + genesys::test_image_pipeline(); + genesys::test_motor(); + genesys::test_row_buffer(); + genesys::test_utilities(); + return finish_tests(); +} diff --git a/testsuite/backend/genesys/tests.h b/testsuite/backend/genesys/tests.h index f4e4d2e..c48c586 100644 --- a/testsuite/backend/genesys/tests.h +++ b/testsuite/backend/genesys/tests.h @@ -23,6 +23,15 @@ #ifndef SANE_TESTSUITE_BACKEND_GENESYS_GENESYS_UNIT_TEST_H #define SANE_TESTSUITE_BACKEND_GENESYS_GENESYS_UNIT_TEST_H +namespace genesys { + void test_calibration_parsing(); +void test_image(); +void test_image_pipeline(); +void test_motor(); +void test_row_buffer(); +void test_utilities(); + +} // namespace genesys #endif diff --git a/testsuite/backend/genesys/tests_calibration.cc b/testsuite/backend/genesys/tests_calibration.cc deleted file mode 100644 index 959037a..0000000 --- a/testsuite/backend/genesys/tests_calibration.cc +++ /dev/null @@ -1,130 +0,0 @@ -/* sane - Scanner Access Now Easy. - - Copyright (C) 2019 Povilas Kanapickas - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. -*/ - -#include "tests.h" -#include "minigtest.h" - -#include "../../../backend/genesys_low.h" - -#include - -#define DEBUG_DECLARE_ONLY - -Genesys_Calibration_Cache create_fake_calibration_entry() -{ - Genesys_Calibration_Cache calib; - calib.used_setup.pixels = 10020; - calib.used_setup.lines = 150; - calib.used_setup.xres = 100.5; - - GenesysFrontendLayout wolfson_layout; - wolfson_layout.offset_addr = { 0x20, 0x21, 0x22 }; - wolfson_layout.gain_addr = { 0x28, 0x29, 0x2a }; - - Genesys_Frontend fe; - fe.fe_id = DAC_WOLFSON_UMAX; - fe.layout = wolfson_layout; - fe.regs = { - { 0x00, 0x00 }, - { 0x01, 0x03 }, - { 0x02, 0x05 }, - { 0x03, 0x11 }, - { ' ', 0x80 }, // check whether space-like integer values are correctly serialized - { ',', 0x80 }, - { '\r', '\n' }, - { '\n', 0x00 }, - { 0x25, 0x00 }, - { 0x26, 0x00 }, - { 0x28, 0x02 }, - { 0x29, 0x02 }, - { 0x2a, 0x02 }, - }; - fe.reg2 = {0x00, 0x00, 0x00}; - calib.frontend = fe; - - Genesys_Sensor sensor; - sensor.sensor_id = CCD_UMAX; - sensor.optical_res = 1200; - sensor.black_pixels = 48; - sensor.dummy_pixel = 64; - sensor.CCD_start_xoffset = 0; - sensor.sensor_pixels = 10800; - sensor.fau_gain_white_ref = 210; - sensor.gain_white_ref = 230; - sensor.exposure = { 0x0000, 0x0000, 0x0000 }; - sensor.custom_regs = { - { 0x08, 0x01 }, - { 0x09, 0x03 }, - { 0x0a, 0x05 }, - { 0x0b, 0x07 }, - { 0x16, 0x33 }, - { 0x17, 0x05 }, - { 0x18, 0x31 }, - { 0x19, 0x2a }, - { 0x1a, 0x00 }, - { 0x1b, 0x00 }, - { 0x1c, 0x00 }, - { 0x1d, 0x02 }, - { 0x52, 0x13 }, - { 0x53, 0x17 }, - { 0x54, 0x03 }, - { 0x55, 0x07 }, - { 0x56, 0x0b }, - { 0x57, 0x0f }, - { 0x58, 0x23 }, - { 0x59, 0x00 }, - { 0x5a, 0xc1 }, - { 0x5b, 0x00 }, - { 0x5c, 0x00 }, - { 0x5d, 0x00 }, - { 0x5e, 0x00 }, - }; - sensor.gamma = {1.0, 1.0, 1.0}; - calib.sensor = sensor; - - calib.calib_pixels = 12345; - calib.calib_channels = 3; - calib.average_size = 7; - calib.white_average_data = { 8, 7, 6, 5, 4, 3, 2 }; - calib.dark_average_data = { 6, 5, 4, 3, 2, 18, 12 }; - return calib; -} - -void test_calibration_roundtrip() -{ - Genesys_Device::Calibration calibration = { create_fake_calibration_entry() }; - Genesys_Device::Calibration deserialized; - - std::stringstream str; - serialize(static_cast(str), calibration); - serialize(static_cast(str), deserialized); - ASSERT_TRUE(calibration == deserialized); - - int x; - str >> x; - ASSERT_TRUE(str.eof()); -} - -void test_calibration_parsing() -{ - test_calibration_roundtrip(); -} diff --git a/testsuite/backend/genesys/tests_calibration.cpp b/testsuite/backend/genesys/tests_calibration.cpp new file mode 100644 index 0000000..559f8a8 --- /dev/null +++ b/testsuite/backend/genesys/tests_calibration.cpp @@ -0,0 +1,135 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "tests.h" +#include "minigtest.h" + +#include "../../../backend/genesys/low.h" + +#include + +namespace genesys { + +Genesys_Calibration_Cache create_fake_calibration_entry() +{ + Genesys_Calibration_Cache calib; + calib.params.channels = 3; + calib.params.depth = 8; + calib.params.lines = 100; + calib.params.pixels = 200; + + GenesysFrontendLayout wolfson_layout; + wolfson_layout.offset_addr = { 0x20, 0x21, 0x22 }; + wolfson_layout.gain_addr = { 0x28, 0x29, 0x2a }; + + Genesys_Frontend fe; + fe.id = AdcId::WOLFSON_UMAX; + fe.layout = wolfson_layout; + fe.regs = { + { 0x00, 0x00 }, + { 0x01, 0x03 }, + { 0x02, 0x05 }, + { 0x03, 0x11 }, + { ' ', 0x80 }, // check whether space-like integer values are correctly serialized + { ',', 0x80 }, + { '\r', '\n' }, + { '\n', 0x00 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x28, 0x02 }, + { 0x29, 0x02 }, + { 0x2a, 0x02 }, + }; + fe.reg2 = {0x00, 0x00, 0x00}; + calib.frontend = fe; + + Genesys_Sensor sensor; + sensor.sensor_id = SensorId::CCD_UMAX; + sensor.optical_res = 1200; + sensor.black_pixels = 48; + sensor.dummy_pixel = 64; + sensor.ccd_start_xoffset = 0; + sensor.sensor_pixels = 10800; + sensor.fau_gain_white_ref = 210; + sensor.gain_white_ref = 230; + sensor.exposure = { 0x0000, 0x0000, 0x0000 }; + sensor.custom_regs = { + { 0x08, 0x01 }, + { 0x09, 0x03 }, + { 0x0a, 0x05 }, + { 0x0b, 0x07 }, + { 0x16, 0x33 }, + { 0x17, 0x05 }, + { 0x18, 0x31 }, + { 0x19, 0x2a }, + { 0x1a, 0x00 }, + { 0x1b, 0x00 }, + { 0x1c, 0x00 }, + { 0x1d, 0x02 }, + { 0x52, 0x13 }, + { 0x53, 0x17 }, + { 0x54, 0x03 }, + { 0x55, 0x07 }, + { 0x56, 0x0b }, + { 0x57, 0x0f }, + { 0x58, 0x23 }, + { 0x59, 0x00 }, + { 0x5a, 0xc1 }, + { 0x5b, 0x00 }, + { 0x5c, 0x00 }, + { 0x5d, 0x00 }, + { 0x5e, 0x00 }, + }; + sensor.gamma = {1.0, 1.0, 1.0}; + calib.sensor = sensor; + + calib.calib_pixels = 12345; + calib.calib_channels = 3; + calib.average_size = 7; + calib.white_average_data = { 8, 7, 6, 5, 4, 3, 2 }; + calib.dark_average_data = { 6, 5, 4, 3, 2, 18, 12 }; + return calib; +} + +void test_calibration_roundtrip() +{ + Genesys_Device::Calibration calibration = { create_fake_calibration_entry() }; + Genesys_Device::Calibration deserialized; + + std::stringstream str; + serialize(static_cast(str), calibration); + serialize(static_cast(str), deserialized); + ASSERT_TRUE(calibration == deserialized); + + int x; + str >> x; + ASSERT_TRUE(str.eof()); +} + +void test_calibration_parsing() +{ + test_calibration_roundtrip(); +} + +} // namespace genesys diff --git a/testsuite/backend/genesys/tests_image.cpp b/testsuite/backend/genesys/tests_image.cpp new file mode 100644 index 0000000..bc8b923 --- /dev/null +++ b/testsuite/backend/genesys/tests_image.cpp @@ -0,0 +1,576 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "tests.h" +#include "minigtest.h" +#include "tests_printers.h" + +#include "../../../backend/genesys/image.h" +#include "../../../backend/genesys/image_pipeline.h" +#include + +namespace genesys { + +void test_get_pixel_from_row() +{ + std::vector data = { + 0x12, 0x34, 0x56, 0x67, 0x89, 0xab, + 0xcd, 0xef, 0x21, 0x43, 0x65, 0x87 + }; + ASSERT_EQ(get_pixel_from_row(data.data(), 0, PixelFormat::I1), + Pixel(0, 0, 0)); + ASSERT_EQ(get_pixel_from_row(data.data(), 3, PixelFormat::I1), + Pixel(0xffff, 0xffff, 0xffff)); + ASSERT_EQ(get_pixel_from_row(data.data(), 0, PixelFormat::RGB111), + Pixel(0, 0, 0)); + ASSERT_EQ(get_pixel_from_row(data.data(), 1, PixelFormat::RGB111), + Pixel(0xffff, 0, 0)); + ASSERT_EQ(get_pixel_from_row(data.data(), 2, PixelFormat::RGB111), + Pixel(0xffff, 0, 0)); + ASSERT_EQ(get_pixel_from_row(data.data(), 3, PixelFormat::RGB111), + Pixel(0, 0xffff, 0xffff)); + ASSERT_EQ(get_pixel_from_row(data.data(), 0, PixelFormat::I8), + Pixel(0x1212, 0x1212, 0x1212)); + ASSERT_EQ(get_pixel_from_row(data.data(), 1, PixelFormat::I8), + Pixel(0x3434, 0x3434, 0x3434)); + ASSERT_EQ(get_pixel_from_row(data.data(), 0, PixelFormat::RGB888), + Pixel(0x1212, 0x3434, 0x5656)); + ASSERT_EQ(get_pixel_from_row(data.data(), 1, PixelFormat::RGB888), + Pixel(0x6767, 0x8989, 0xabab)); + ASSERT_EQ(get_pixel_from_row(data.data(), 0, PixelFormat::BGR888), + Pixel(0x5656, 0x3434, 0x1212)); + ASSERT_EQ(get_pixel_from_row(data.data(), 1, PixelFormat::BGR888), + Pixel(0xabab, 0x8989, 0x6767)); + ASSERT_EQ(get_pixel_from_row(data.data(), 0, PixelFormat::I16), + Pixel(0x3412, 0x3412, 0x3412)); + ASSERT_EQ(get_pixel_from_row(data.data(), 1, PixelFormat::I16), + Pixel(0x6756, 0x6756, 0x6756)); + ASSERT_EQ(get_pixel_from_row(data.data(), 0, PixelFormat::RGB161616), + Pixel(0x3412, 0x6756, 0xab89)); + ASSERT_EQ(get_pixel_from_row(data.data(), 1, PixelFormat::RGB161616), + Pixel(0xefcd, 0x4321, 0x8765)); + ASSERT_EQ(get_pixel_from_row(data.data(), 0, PixelFormat::BGR161616), + Pixel(0xab89, 0x6756, 0x3412)); + ASSERT_EQ(get_pixel_from_row(data.data(), 1, PixelFormat::BGR161616), + Pixel(0x8765, 0x4321, 0xefcd)); +} + +void test_set_pixel_to_row() +{ + using Data = std::vector; + Data data; + data.resize(12, 0); + + auto reset = [&]() { std::fill(data.begin(), data.end(), 0); }; + + Pixel pixel; + + pixel = Pixel(0x8000, 0x8000, 0x8000); + set_pixel_to_row(data.data(), 0, pixel, PixelFormat::I1); + ASSERT_EQ(data, Data({0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x8000, 0x8000, 0x8000); + set_pixel_to_row(data.data(), 2, pixel, PixelFormat::I1); + ASSERT_EQ(data, Data({0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x8000, 0x8000, 0x8000); + set_pixel_to_row(data.data(), 8, pixel, PixelFormat::I1); + ASSERT_EQ(data, Data({0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x8000, 0x0000, 0x8000); + set_pixel_to_row(data.data(), 0, pixel, PixelFormat::RGB111); + ASSERT_EQ(data, Data({0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x8000, 0x0000, 0x8000); + set_pixel_to_row(data.data(), 1, pixel, PixelFormat::RGB111); + ASSERT_EQ(data, Data({0x14, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x8000, 0x0000, 0x8000); + set_pixel_to_row(data.data(), 8, pixel, PixelFormat::RGB111); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x1200, 0x1200, 0x1200); + set_pixel_to_row(data.data(), 0, pixel, PixelFormat::I8); + ASSERT_EQ(data, Data({0x12, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x1200, 0x1200, 0x1200); + set_pixel_to_row(data.data(), 2, pixel, PixelFormat::I8); + ASSERT_EQ(data, Data({0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x1200, 0x3400, 0x5600); + set_pixel_to_row(data.data(), 0, pixel, PixelFormat::RGB888); + ASSERT_EQ(data, Data({0x12, 0x34, 0x56, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x1200, 0x3400, 0x5600); + set_pixel_to_row(data.data(), 1, pixel, PixelFormat::RGB888); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x12, 0x34, 0x56, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x1200, 0x3400, 0x5600); + set_pixel_to_row(data.data(), 0, pixel, PixelFormat::BGR888); + ASSERT_EQ(data, Data({0x56, 0x34, 0x12, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x1200, 0x3400, 0x5600); + set_pixel_to_row(data.data(), 1, pixel, PixelFormat::BGR888); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x56, 0x34, 0x12, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x1234, 0x1234, 0x1234); + set_pixel_to_row(data.data(), 0, pixel, PixelFormat::I16); + ASSERT_EQ(data, Data({0x34, 0x12, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x1234, 0x1234, 0x1234); + set_pixel_to_row(data.data(), 1, pixel, PixelFormat::I16); + ASSERT_EQ(data, Data({0x00, 0x00, 0x34, 0x12, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x1234, 0x5678, 0x9abc); + set_pixel_to_row(data.data(), 0, pixel, PixelFormat::RGB161616); + ASSERT_EQ(data, Data({0x34, 0x12, 0x78, 0x56, 0xbc, 0x9a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x1234, 0x5678, 0x9abc); + set_pixel_to_row(data.data(), 1, pixel, PixelFormat::RGB161616); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x34, 0x12, 0x78, 0x56, 0xbc, 0x9a})); + reset(); + + pixel = Pixel(0x1234, 0x5678, 0x9abc); + set_pixel_to_row(data.data(), 0, pixel, PixelFormat::BGR161616); + ASSERT_EQ(data, Data({0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = Pixel(0x1234, 0x5678, 0x9abc); + set_pixel_to_row(data.data(), 1, pixel, PixelFormat::BGR161616); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12})); + reset(); +} + +void test_get_raw_pixel_from_row() +{ + std::vector data = { + 0x12, 0x34, 0x56, 0x67, 0x89, 0xab, + 0xcd, 0xef, 0x21, 0x43, 0x65, 0x87 + }; + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 0, PixelFormat::I1), + RawPixel(0x0)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 3, PixelFormat::I1), + RawPixel(0x1)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 0, PixelFormat::RGB111), + RawPixel(0)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 1, PixelFormat::RGB111), + RawPixel(0x4)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 2, PixelFormat::RGB111), + RawPixel(0x4)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 3, PixelFormat::RGB111), + RawPixel(0x3)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 0, PixelFormat::I8), + RawPixel(0x12)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 1, PixelFormat::I8), + RawPixel(0x34)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 0, PixelFormat::RGB888), + RawPixel(0x12, 0x34, 0x56)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 1, PixelFormat::RGB888), + RawPixel(0x67, 0x89, 0xab)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 0, PixelFormat::BGR888), + RawPixel(0x12, 0x34, 0x56)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 1, PixelFormat::BGR888), + RawPixel(0x67, 0x89, 0xab)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 0, PixelFormat::I16), + RawPixel(0x12, 0x34)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 1, PixelFormat::I16), + RawPixel(0x56, 0x67)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 0, PixelFormat::RGB161616), + RawPixel(0x12, 0x34, 0x56, 0x67, 0x89, 0xab)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 1, PixelFormat::RGB161616), + RawPixel(0xcd, 0xef, 0x21, 0x43, 0x65, 0x87)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 0, PixelFormat::BGR161616), + RawPixel(0x12, 0x34, 0x56, 0x67, 0x89, 0xab)); + ASSERT_EQ(get_raw_pixel_from_row(data.data(), 1, PixelFormat::BGR161616), + RawPixel(0xcd, 0xef, 0x21, 0x43, 0x65, 0x87)); +} + +void test_set_raw_pixel_to_row() +{ + using Data = std::vector; + Data data; + data.resize(12, 0); + + auto reset = [&]() { std::fill(data.begin(), data.end(), 0); }; + + RawPixel pixel; + + pixel = RawPixel(0x01); + set_raw_pixel_to_row(data.data(), 0, pixel, PixelFormat::I1); + ASSERT_EQ(data, Data({0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x01); + set_raw_pixel_to_row(data.data(), 2, pixel, PixelFormat::I1); + ASSERT_EQ(data, Data({0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x01); + set_raw_pixel_to_row(data.data(), 8, pixel, PixelFormat::I1); + ASSERT_EQ(data, Data({0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x05); + set_raw_pixel_to_row(data.data(), 0, pixel, PixelFormat::RGB111); + ASSERT_EQ(data, Data({0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x05); + set_raw_pixel_to_row(data.data(), 1, pixel, PixelFormat::RGB111); + ASSERT_EQ(data, Data({0x14, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x05); + set_raw_pixel_to_row(data.data(), 8, pixel, PixelFormat::RGB111); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x12); + set_raw_pixel_to_row(data.data(), 0, pixel, PixelFormat::I8); + ASSERT_EQ(data, Data({0x12, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x12); + set_raw_pixel_to_row(data.data(), 2, pixel, PixelFormat::I8); + ASSERT_EQ(data, Data({0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x12, 0x34, 0x56); + set_raw_pixel_to_row(data.data(), 0, pixel, PixelFormat::RGB888); + ASSERT_EQ(data, Data({0x12, 0x34, 0x56, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x12, 0x34, 0x56); + set_raw_pixel_to_row(data.data(), 1, pixel, PixelFormat::RGB888); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x12, 0x34, 0x56, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x12, 0x34, 0x56); + set_raw_pixel_to_row(data.data(), 0, pixel, PixelFormat::BGR888); + ASSERT_EQ(data, Data({0x12, 0x34, 0x56, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x12, 0x34, 0x56); + set_raw_pixel_to_row(data.data(), 1, pixel, PixelFormat::BGR888); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x12, 0x34, 0x56, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x34, 0x12); + set_raw_pixel_to_row(data.data(), 0, pixel, PixelFormat::I16); + ASSERT_EQ(data, Data({0x34, 0x12, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x34, 0x12); + set_raw_pixel_to_row(data.data(), 1, pixel, PixelFormat::I16); + ASSERT_EQ(data, Data({0x00, 0x00, 0x34, 0x12, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x34, 0x12, 0x78, 0x56, 0xbc, 0x9a); + set_raw_pixel_to_row(data.data(), 0, pixel, PixelFormat::RGB161616); + ASSERT_EQ(data, Data({0x34, 0x12, 0x78, 0x56, 0xbc, 0x9a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x34, 0x12, 0x78, 0x56, 0xbc, 0x9a); + set_raw_pixel_to_row(data.data(), 1, pixel, PixelFormat::RGB161616); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x34, 0x12, 0x78, 0x56, 0xbc, 0x9a})); + reset(); + + pixel = RawPixel(0x34, 0x12, 0x78, 0x56, 0xbc, 0x9a); + set_raw_pixel_to_row(data.data(), 0, pixel, PixelFormat::BGR161616); + ASSERT_EQ(data, Data({0x34, 0x12, 0x78, 0x56, 0xbc, 0x9a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + pixel = RawPixel(0x34, 0x12, 0x78, 0x56, 0xbc, 0x9a); + set_raw_pixel_to_row(data.data(), 1, pixel, PixelFormat::BGR161616); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x34, 0x12, 0x78, 0x56, 0xbc, 0x9a})); + reset(); +} + +void test_get_raw_channel_from_row() +{ + std::vector data = { + 0x12, 0x34, 0x56, 0x67, 0x89, 0xab, + 0xcd, 0xef, 0x21, 0x43, 0x65, 0x87 + }; + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 0, PixelFormat::I1), 0); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 3, 0, PixelFormat::I1), 1); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 0, PixelFormat::RGB111), 0); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 1, PixelFormat::RGB111), 0); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 2, PixelFormat::RGB111), 0); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 0, PixelFormat::RGB111), 1); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 1, PixelFormat::RGB111), 0); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 2, PixelFormat::RGB111), 0); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 2, 0, PixelFormat::RGB111), 1); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 2, 1, PixelFormat::RGB111), 0); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 2, 2, PixelFormat::RGB111), 0); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 3, 0, PixelFormat::RGB111), 0); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 3, 1, PixelFormat::RGB111), 1); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 3, 2, PixelFormat::RGB111), 1); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 0, PixelFormat::I8), 0x12); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 0, PixelFormat::I8), 0x34); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 0, PixelFormat::RGB888), 0x12); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 1, PixelFormat::RGB888), 0x34); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 2, PixelFormat::RGB888), 0x56); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 0, PixelFormat::RGB888), 0x67); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 1, PixelFormat::RGB888), 0x89); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 2, PixelFormat::RGB888), 0xab); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 0, PixelFormat::BGR888), 0x12); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 1, PixelFormat::BGR888), 0x34); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 2, PixelFormat::BGR888), 0x56); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 0, PixelFormat::BGR888), 0x67); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 1, PixelFormat::BGR888), 0x89); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 2, PixelFormat::BGR888), 0xab); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 0, PixelFormat::I16), 0x3412); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 0, PixelFormat::I16), 0x6756); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 0, PixelFormat::RGB161616), 0x3412); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 1, PixelFormat::RGB161616), 0x6756); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 2, PixelFormat::RGB161616), 0xab89); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 0, PixelFormat::RGB161616), 0xefcd); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 1, PixelFormat::RGB161616), 0x4321); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 2, PixelFormat::RGB161616), 0x8765); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 0, PixelFormat::BGR161616), 0x3412); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 1, PixelFormat::BGR161616), 0x6756); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 0, 2, PixelFormat::BGR161616), 0xab89); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 0, PixelFormat::BGR161616), 0xefcd); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 1, PixelFormat::BGR161616), 0x4321); + ASSERT_EQ(get_raw_channel_from_row(data.data(), 1, 2, PixelFormat::BGR161616), 0x8765); +} + +void test_set_raw_channel_to_row() +{ + using Data = std::vector; + Data data; + data.resize(12, 0); + + auto reset = [&]() { std::fill(data.begin(), data.end(), 0); }; + + set_raw_channel_to_row(data.data(), 0, 0, 1, PixelFormat::I1); + ASSERT_EQ(data, Data({0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 2, 0, 1, PixelFormat::I1); + ASSERT_EQ(data, Data({0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 8, 0, 1, PixelFormat::I1); + ASSERT_EQ(data, Data({0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 0, 0, 1, PixelFormat::RGB111); + ASSERT_EQ(data, Data({0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 0, 1, 1, PixelFormat::RGB111); + ASSERT_EQ(data, Data({0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 0, 2, 1, PixelFormat::RGB111); + ASSERT_EQ(data, Data({0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 8, 0, 1, PixelFormat::RGB111); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 0, 0, 0x12, PixelFormat::I8); + ASSERT_EQ(data, Data({0x12, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 2, 0, 0x12, PixelFormat::I8); + ASSERT_EQ(data, Data({0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + for (auto format : { PixelFormat::RGB888, PixelFormat::BGR888 }) { + set_raw_channel_to_row(data.data(), 0, 0, 0x12, format); + ASSERT_EQ(data, Data({0x12, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 0, 1, 0x12, format); + ASSERT_EQ(data, Data({0x00, 0x12, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 0, 2, 0x12, format); + ASSERT_EQ(data, Data({0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 1, 0, 0x12, format); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x12, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 1, 1, 0x12, format); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x00, 0x12, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 1, 2, 0x12, format); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x00, 0x00, 0x12, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + } + + set_raw_channel_to_row(data.data(), 0, 0, 0x1234, PixelFormat::I16); + ASSERT_EQ(data, Data({0x34, 0x12, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 1, 0, 0x1234, PixelFormat::I16); + ASSERT_EQ(data, Data({0x00, 0x00, 0x34, 0x12, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + for (auto format : { PixelFormat::RGB161616, PixelFormat::BGR161616 }) { + set_raw_channel_to_row(data.data(), 0, 0, 0x1234, format); + ASSERT_EQ(data, Data({0x34, 0x12, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 0, 1, 0x1234, format); + ASSERT_EQ(data, Data({0x00, 0x00, 0x34, 0x12, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 0, 2, 0x1234, format); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x00, 0x34, 0x12, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 1, 0, 0x1234, format); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x34, 0x12, 0x00, 0x00, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 1, 1, 0x1234, format); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x34, 0x12, 0x00, 0x00})); + reset(); + + set_raw_channel_to_row(data.data(), 1, 2, 0x1234, format); + ASSERT_EQ(data, Data({0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x34, 0x12})); + reset(); + } +} + +void test_convert_pixel_row_format() +{ + // The actual work is done in set_channel_to_row and get_channel_from_row, so we don't need + // to test all format combinations. + using Data = std::vector; + + Data in_data = { + 0x12, 0x34, 0x56, + 0x78, 0x98, 0xab, + 0xcd, 0xef, 0x21, + }; + Data out_data; + out_data.resize(in_data.size() * 2); + + convert_pixel_row_format(in_data.data(), PixelFormat::RGB888, + out_data.data(), PixelFormat::BGR161616, 3); + + Data expected_data = { + 0x56, 0x56, 0x34, 0x34, 0x12, 0x12, + 0xab, 0xab, 0x98, 0x98, 0x78, 0x78, + 0x21, 0x21, 0xef, 0xef, 0xcd, 0xcd, + }; + + ASSERT_EQ(out_data, expected_data); +} + +void test_image() +{ + test_get_pixel_from_row(); + test_set_pixel_to_row(); + test_get_raw_pixel_from_row(); + test_set_raw_pixel_to_row(); + test_get_raw_channel_from_row(); + test_set_raw_channel_to_row(); + test_convert_pixel_row_format(); +} + +} // namespace genesys diff --git a/testsuite/backend/genesys/tests_image_pipeline.cpp b/testsuite/backend/genesys/tests_image_pipeline.cpp new file mode 100644 index 0000000..d4853d2 --- /dev/null +++ b/testsuite/backend/genesys/tests_image_pipeline.cpp @@ -0,0 +1,519 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "tests.h" +#include "minigtest.h" +#include "tests_printers.h" + +#include "../../../backend/genesys/image_pipeline.h" + +#include + +namespace genesys { + +void test_image_buffer_genesys_usb() +{ + std::vector requests; + + auto on_read_usb = [&](std::size_t x, std::uint8_t* data) + { + (void) data; + requests.push_back(x); + }; + + FakeBufferModel model; + model.push_step(453120, 1); + model.push_step(56640, 3540); + ImageBufferGenesysUsb buffer{1086780, model, on_read_usb}; + + std::vector dummy; + dummy.resize(1086780); + + ASSERT_TRUE(buffer.get_data(453120, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + + std::vector expected = { + 453120, 56576, 56576, 56576, 56832, 56576, 56576, 56576, 56832, 56576, 56576, 56576, 11008 + }; + ASSERT_EQ(requests, expected); +} + +void test_image_buffer_genesys_usb_capped_remaining_bytes() +{ + std::vector requests; + + auto on_read_usb = [&](std::size_t x, std::uint8_t* data) + { + (void) data; + requests.push_back(x); + }; + + FakeBufferModel model; + model.push_step(453120, 1); + model.push_step(56640, 3540); + ImageBufferGenesysUsb buffer{1086780, model, on_read_usb}; + + std::vector dummy; + dummy.resize(1086780); + + ASSERT_TRUE(buffer.get_data(453120, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + ASSERT_TRUE(buffer.get_data(56640, dummy.data())); + buffer.set_remaining_size(10000); + ASSERT_FALSE(buffer.get_data(56640, dummy.data())); + + std::vector expected = { + // note that the sizes are rounded-up to 256 bytes + 453120, 56576, 56576, 56576, 56832, 10240 + }; + ASSERT_EQ(requests, expected); +} + +void test_node_buffered_callable_source() +{ + using Data = std::vector; + + Data in_data = { + 0, 1, 2, 3, + 4, 5, 6, 7, + 8, 9, 10, 11 + }; + + std::size_t chunk_size = 3; + std::size_t curr_index = 0; + + auto data_source_cb = [&](std::size_t size, std::uint8_t* out_data) + { + ASSERT_EQ(size, chunk_size); + std::copy(in_data.begin() + curr_index, + in_data.begin() + curr_index + chunk_size, out_data); + curr_index += chunk_size; + return true; + }; + + ImagePipelineStack stack; + stack.push_first_node(4, 3, PixelFormat::I8, + chunk_size, data_source_cb); + + Data out_data; + out_data.resize(4); + + ASSERT_EQ(curr_index, 0u); + + ASSERT_TRUE(stack.get_next_row_data(out_data.data())); + ASSERT_EQ(out_data, Data({0, 1, 2, 3})); + ASSERT_EQ(curr_index, 6u); + + ASSERT_TRUE(stack.get_next_row_data(out_data.data())); + ASSERT_EQ(out_data, Data({4, 5, 6, 7})); + ASSERT_EQ(curr_index, 9u); + + ASSERT_TRUE(stack.get_next_row_data(out_data.data())); + ASSERT_EQ(out_data, Data({8, 9, 10, 11})); + ASSERT_EQ(curr_index, 12u); +} + +void test_node_format_convert() +{ + using Data = std::vector; + + Data in_data = { + 0x12, 0x34, 0x56, + 0x78, 0x98, 0xab, + 0xcd, 0xef, 0x21, + }; + + ImagePipelineStack stack; + stack.push_first_node(3, 1, PixelFormat::RGB888, + std::move(in_data)); + stack.push_node(PixelFormat::BGR161616); + + ASSERT_EQ(stack.get_output_width(), 3u); + ASSERT_EQ(stack.get_output_height(), 1u); + ASSERT_EQ(stack.get_output_row_bytes(), 6u * 3); + ASSERT_EQ(stack.get_output_format(), PixelFormat::BGR161616); + + auto out_data = stack.get_all_data(); + + Data expected_data = { + 0x56, 0x56, 0x34, 0x34, 0x12, 0x12, + 0xab, 0xab, 0x98, 0x98, 0x78, 0x78, + 0x21, 0x21, 0xef, 0xef, 0xcd, 0xcd, + }; + + ASSERT_EQ(out_data, expected_data); +} + +void test_node_desegment_1_line() +{ + using Data = std::vector; + + Data in_data = { + 1, 5, 9, 13, 17, + 3, 7, 11, 15, 19, + 2, 6, 10, 14, 18, + 4, 8, 12, 16, 20, + 21, 25, 29, 33, 37, + 23, 27, 31, 35, 39, + 22, 26, 30, 34, 38, + 24, 28, 32, 36, 40, + }; + + ImagePipelineStack stack; + stack.push_first_node(20, 2, PixelFormat::I8, + std::move(in_data)); + stack.push_node(20, std::vector{ 0, 2, 1, 3 }, 5, 1, 1); + + ASSERT_EQ(stack.get_output_width(), 20u); + ASSERT_EQ(stack.get_output_height(), 2u); + ASSERT_EQ(stack.get_output_row_bytes(), 20u); + ASSERT_EQ(stack.get_output_format(), PixelFormat::I8); + + auto out_data = stack.get_all_data(); + + Data expected_data; + expected_data.resize(40, 0); + std::iota(expected_data.begin(), expected_data.end(), 1); // will fill with 1, 2, 3, ..., 40 + + ASSERT_EQ(out_data, expected_data); +} + +void test_node_deinterleave_lines_i8() +{ + using Data = std::vector; + + Data in_data = { + 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, + 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, + }; + + ImagePipelineStack stack; + stack.push_first_node(10, 2, PixelFormat::I8, + std::move(in_data)); + stack.push_node(2, 1); + + ASSERT_EQ(stack.get_output_width(), 20u); + ASSERT_EQ(stack.get_output_height(), 1u); + ASSERT_EQ(stack.get_output_row_bytes(), 20u); + ASSERT_EQ(stack.get_output_format(), PixelFormat::I8); + + auto out_data = stack.get_all_data(); + + Data expected_data; + expected_data.resize(20, 0); + std::iota(expected_data.begin(), expected_data.end(), 1); // will fill with 1, 2, 3, ..., 20 + + ASSERT_EQ(out_data, expected_data); +} + +void test_node_deinterleave_lines_rgb888() +{ + using Data = std::vector; + + Data in_data = { + 1, 2, 3, 7, 8, 9, 13, 14, 15, 19, 20, 21, + 4, 5, 6, 10, 11, 12, 16, 17, 18, 22, 23, 24, + }; + + ImagePipelineStack stack; + stack.push_first_node(4, 2, PixelFormat::RGB888, + std::move(in_data)); + stack.push_node(2, 1); + + ASSERT_EQ(stack.get_output_width(), 8u); + ASSERT_EQ(stack.get_output_height(), 1u); + ASSERT_EQ(stack.get_output_row_bytes(), 24u); + ASSERT_EQ(stack.get_output_format(), PixelFormat::RGB888); + + auto out_data = stack.get_all_data(); + + Data expected_data; + expected_data.resize(24, 0); + std::iota(expected_data.begin(), expected_data.end(), 1); // will fill with 1, 2, 3, ..., 20 + + ASSERT_EQ(out_data, expected_data); +} + +void test_node_swap_16bit_endian() +{ + using Data = std::vector; + + Data in_data = { + 0x10, 0x20, 0x30, 0x11, 0x21, 0x31, + 0x12, 0x22, 0x32, 0x13, 0x23, 0x33, + 0x14, 0x24, 0x34, 0x15, 0x25, 0x35, + 0x16, 0x26, 0x36, 0x17, 0x27, 0x37, + }; + + ImagePipelineStack stack; + stack.push_first_node(4, 1, PixelFormat::RGB161616, + std::move(in_data)); + stack.push_node(); + + ASSERT_EQ(stack.get_output_width(), 4u); + ASSERT_EQ(stack.get_output_height(), 1u); + ASSERT_EQ(stack.get_output_row_bytes(), 24u); + ASSERT_EQ(stack.get_output_format(), PixelFormat::RGB161616); + + auto out_data = stack.get_all_data(); + + Data expected_data = { + 0x20, 0x10, 0x11, 0x30, 0x31, 0x21, + 0x22, 0x12, 0x13, 0x32, 0x33, 0x23, + 0x24, 0x14, 0x15, 0x34, 0x35, 0x25, + 0x26, 0x16, 0x17, 0x36, 0x37, 0x27, + }; + + ASSERT_EQ(out_data, expected_data); +} + +void test_node_merge_mono_lines() +{ + using Data = std::vector; + + Data in_data = { + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, + }; + + ImagePipelineStack stack; + stack.push_first_node(8, 3, PixelFormat::I8, + std::move(in_data)); + stack.push_node(ColorOrder::RGB); + + ASSERT_EQ(stack.get_output_width(), 8u); + ASSERT_EQ(stack.get_output_height(), 1u); + ASSERT_EQ(stack.get_output_row_bytes(), 24u); + ASSERT_EQ(stack.get_output_format(), PixelFormat::RGB888); + + auto out_data = stack.get_all_data(); + + Data expected_data = { + 0x10, 0x20, 0x30, 0x11, 0x21, 0x31, + 0x12, 0x22, 0x32, 0x13, 0x23, 0x33, + 0x14, 0x24, 0x34, 0x15, 0x25, 0x35, + 0x16, 0x26, 0x36, 0x17, 0x27, 0x37, + }; + + ASSERT_EQ(out_data, expected_data); +} + +void test_node_split_mono_lines() +{ + using Data = std::vector; + + Data in_data = { + 0x10, 0x20, 0x30, 0x11, 0x21, 0x31, + 0x12, 0x22, 0x32, 0x13, 0x23, 0x33, + 0x14, 0x24, 0x34, 0x15, 0x25, 0x35, + 0x16, 0x26, 0x36, 0x17, 0x27, 0x37, + }; + + ImagePipelineStack stack; + stack.push_first_node(8, 1, PixelFormat::RGB888, + std::move(in_data)); + stack.push_node(); + + ASSERT_EQ(stack.get_output_width(), 8u); + ASSERT_EQ(stack.get_output_height(), 3u); + ASSERT_EQ(stack.get_output_row_bytes(), 8u); + ASSERT_EQ(stack.get_output_format(), PixelFormat::I8); + + auto out_data = stack.get_all_data(); + + Data expected_data = { + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, + }; + + ASSERT_EQ(out_data, expected_data); +} + +void test_node_component_shift_lines() +{ + using Data = std::vector; + + Data in_data = { + 0x10, 0x20, 0x30, 0x11, 0x21, 0x31, 0x12, 0x22, 0x32, 0x13, 0x23, 0x33, + 0x14, 0x24, 0x34, 0x15, 0x25, 0x35, 0x16, 0x26, 0x36, 0x17, 0x27, 0x37, + 0x18, 0x28, 0x38, 0x19, 0x29, 0x39, 0x1a, 0x2a, 0x3a, 0x1b, 0x2b, 0x3b, + 0x1c, 0x2c, 0x3c, 0x1d, 0x2d, 0x3d, 0x1e, 0x2e, 0x3e, 0x1f, 0x2f, 0x3f, + }; + + ImagePipelineStack stack; + stack.push_first_node(4, 4, PixelFormat::RGB888, + std::move(in_data)); + stack.push_node(0, 1, 2); + + ASSERT_EQ(stack.get_output_width(), 4u); + ASSERT_EQ(stack.get_output_height(), 2u); + ASSERT_EQ(stack.get_output_row_bytes(), 12u); + ASSERT_EQ(stack.get_output_format(), PixelFormat::RGB888); + + auto out_data = stack.get_all_data(); + + Data expected_data = { + 0x10, 0x24, 0x38, 0x11, 0x25, 0x39, 0x12, 0x26, 0x3a, 0x13, 0x27, 0x3b, + 0x14, 0x28, 0x3c, 0x15, 0x29, 0x3d, 0x16, 0x2a, 0x3e, 0x17, 0x2b, 0x3f, + }; + + ASSERT_EQ(out_data, expected_data); +} + +void test_node_pixel_shift_lines() +{ + using Data = std::vector; + + Data in_data = { + 0x10, 0x20, 0x30, 0x11, 0x21, 0x31, 0x12, 0x22, 0x32, 0x13, 0x23, 0x33, + 0x14, 0x24, 0x34, 0x15, 0x25, 0x35, 0x16, 0x26, 0x36, 0x17, 0x27, 0x37, + 0x18, 0x28, 0x38, 0x19, 0x29, 0x39, 0x1a, 0x2a, 0x3a, 0x1b, 0x2b, 0x3b, + 0x1c, 0x2c, 0x3c, 0x1d, 0x2d, 0x3d, 0x1e, 0x2e, 0x3e, 0x1f, 0x2f, 0x3f, + }; + + ImagePipelineStack stack; + stack.push_first_node(4, 4, PixelFormat::RGB888, + std::move(in_data)); + stack.push_node(std::vector{0, 2}); + + ASSERT_EQ(stack.get_output_width(), 4u); + ASSERT_EQ(stack.get_output_height(), 2u); + ASSERT_EQ(stack.get_output_row_bytes(), 12u); + ASSERT_EQ(stack.get_output_format(), PixelFormat::RGB888); + + auto out_data = stack.get_all_data(); + + Data expected_data = { + 0x10, 0x20, 0x30, 0x19, 0x29, 0x39, 0x12, 0x22, 0x32, 0x1b, 0x2b, 0x3b, + 0x14, 0x24, 0x34, 0x1d, 0x2d, 0x3d, 0x16, 0x26, 0x36, 0x1f, 0x2f, 0x3f, + }; + + ASSERT_EQ(out_data, expected_data); +} + +void test_node_calibrate_8bit() +{ + using Data = std::vector; + + Data in_data = { + 0x20, 0x38, 0x38 + }; + + std::vector bottom = { + 0x1000, 0x2000, 0x3000 + }; + + std::vector top = { + 0x3000, 0x4000, 0x5000 + }; + + ImagePipelineStack stack; + stack.push_first_node(1, 1, PixelFormat::RGB888, + std::move(in_data)); + stack.push_node(bottom, top); + + ASSERT_EQ(stack.get_output_width(), 1u); + ASSERT_EQ(stack.get_output_height(), 1u); + ASSERT_EQ(stack.get_output_row_bytes(), 3u); + ASSERT_EQ(stack.get_output_format(), PixelFormat::RGB888); + + auto out_data = stack.get_all_data(); + + Data expected_data = { + // note that we don't handle rounding properly in the implementation + 0x80, 0xc1, 0x41 + }; + + ASSERT_EQ(out_data, expected_data); +} + +void test_node_calibrate_16bit() +{ + using Data = std::vector; + + Data in_data = { + 0x00, 0x20, 0x00, 0x38, 0x00, 0x38 + }; + + std::vector bottom = { + 0x1000, 0x2000, 0x3000 + }; + + std::vector top = { + 0x3000, 0x4000, 0x5000 + }; + + ImagePipelineStack stack; + stack.push_first_node(1, 1, PixelFormat::RGB161616, + std::move(in_data)); + stack.push_node(bottom, top); + + ASSERT_EQ(stack.get_output_width(), 1u); + ASSERT_EQ(stack.get_output_height(), 1u); + ASSERT_EQ(stack.get_output_row_bytes(), 6u); + ASSERT_EQ(stack.get_output_format(), PixelFormat::RGB161616); + + auto out_data = stack.get_all_data(); + + Data expected_data = { + // note that we don't handle rounding properly in the implementation + 0x00, 0x80, 0xff, 0xbf, 0x00, 0x40 + }; + + ASSERT_EQ(out_data, expected_data); +} + +void test_image_pipeline() +{ + test_image_buffer_genesys_usb(); + test_image_buffer_genesys_usb_capped_remaining_bytes(); + test_node_buffered_callable_source(); + test_node_format_convert(); + test_node_desegment_1_line(); + test_node_deinterleave_lines_i8(); + test_node_deinterleave_lines_rgb888(); + test_node_swap_16bit_endian(); + test_node_merge_mono_lines(); + test_node_split_mono_lines(); + test_node_component_shift_lines(); + test_node_pixel_shift_lines(); + test_node_calibrate_8bit(); + test_node_calibrate_16bit(); +} + +} // namespace genesys diff --git a/testsuite/backend/genesys/tests_motor.cpp b/testsuite/backend/genesys/tests_motor.cpp new file mode 100644 index 0000000..07ca693 --- /dev/null +++ b/testsuite/backend/genesys/tests_motor.cpp @@ -0,0 +1,365 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "tests.h" +#include "minigtest.h" +#include "tests_printers.h" + +#include "../../../backend/genesys/low.h" +#include "../../../backend/genesys/enums.h" + +namespace genesys { + +void test_create_slope_table3() +{ + auto asic_type = AsicType::GL841; + auto max_table_size = get_slope_table_max_size(asic_type); + + Genesys_Motor motor; + motor.id = MotorId::CANON_LIDE_200; + motor.base_ydpi = 1200; + motor.optical_ydpi = 6400; + motor.slopes.push_back(MotorSlope::create_from_steps(10000, 1000, 20)); + motor.slopes.push_back(MotorSlope::create_from_steps(10000, 1000, 20)); + motor.slopes.push_back(MotorSlope::create_from_steps(10000, 1000, 16)); + + auto table = sanei_genesys_create_slope_table3(asic_type, motor, StepType::FULL, 10000, + motor.base_ydpi); + + ASSERT_EQ(table.pixeltime_sum, 10000u); + ASSERT_EQ(table.steps_count, 1u); + + std::vector expected_steps = { + 10000, + }; + expected_steps.resize(max_table_size, 10000); + + ASSERT_EQ(table.table, expected_steps); + + table = sanei_genesys_create_slope_table3(asic_type, motor, StepType::FULL, 2000, + motor.base_ydpi); + + ASSERT_EQ(table.pixeltime_sum, 33830u); + ASSERT_EQ(table.steps_count, 7u); + + expected_steps = { + 10000, 10000, 4099, 3028, 2511, 2192, 2000 + }; + expected_steps.resize(max_table_size, 2000); + + ASSERT_EQ(table.table, expected_steps); + + table = sanei_genesys_create_slope_table3(asic_type, motor, StepType::HALF, 10000, + motor.base_ydpi); + + ASSERT_EQ(table.pixeltime_sum, 5000u); + ASSERT_EQ(table.steps_count, 1u); + + expected_steps = { + 5000, + }; + expected_steps.resize(max_table_size, 5000); + + + ASSERT_EQ(table.table, expected_steps); + + table = sanei_genesys_create_slope_table3(asic_type, motor, StepType::HALF, 2000, + motor.base_ydpi); + + ASSERT_EQ(table.pixeltime_sum, 16914u); + ASSERT_EQ(table.steps_count, 7u); + + expected_steps = { + 5000, 5000, 2049, 1514, 1255, 1096, 1000 + }; + expected_steps.resize(max_table_size, 1000); + + ASSERT_EQ(table.table, expected_steps); + + table = sanei_genesys_create_slope_table3(asic_type, motor, StepType::QUARTER, 10000, + motor.base_ydpi); + + ASSERT_EQ(table.pixeltime_sum, 2500u); + ASSERT_EQ(table.steps_count, 1u); + + expected_steps = { + 2500, + }; + expected_steps.resize(max_table_size, 2500); + + + ASSERT_EQ(table.table, expected_steps); + + table = sanei_genesys_create_slope_table3(asic_type, motor, StepType::QUARTER, 2000, + motor.base_ydpi); + + ASSERT_EQ(table.pixeltime_sum, 7680u); + ASSERT_EQ(table.steps_count, 6u); + + expected_steps = { + 2500, 2500, 932, 683, 565, 500 + }; + expected_steps.resize(max_table_size, 500); + + ASSERT_EQ(table.table, expected_steps); +} + +void test_create_slope_table_small_full_step() +{ + unsigned max_table_size = 1024; + + // created approximately from LIDE 110 slow table: { 62464, 7896, 2632, 0 } + MotorSlope slope; + slope.initial_speed_w = 62464; + slope.max_speed_w = 2632; + slope.acceleration = 1.2e-8; + + auto table = create_slope_table(slope, 5000, StepType::FULL, 4, 8, max_table_size); + + std::vector expected_table = { + 62464, 62464, 6420, 5000 + }; + expected_table.resize(max_table_size, 5000); + ASSERT_EQ(table.table, expected_table); + ASSERT_EQ(table.steps_count, 8u); + ASSERT_EQ(table.pixeltime_sum, 156348u); + + + table = create_slope_table(slope, 3000, StepType::FULL, 4, 8, max_table_size); + + expected_table = { + 62464, 62464, 6420, 4552, 3720, 3223, 3000 + }; + expected_table.resize(max_table_size, 3000); + ASSERT_EQ(table.table, expected_table); + ASSERT_EQ(table.steps_count, 8u); + ASSERT_EQ(table.pixeltime_sum, 148843u); +} + +void test_create_slope_table_small_full_step_target_speed_too_high() +{ + unsigned max_table_size = 1024; + + // created approximately from LIDE 110 slow table: { 62464, 7896, 2632, 0 } + MotorSlope slope; + slope.initial_speed_w = 62464; + slope.max_speed_w = 2632; + slope.acceleration = 1.2e-8; + + auto table = create_slope_table(slope, 2000, StepType::FULL, 4, 8, max_table_size); + + std::vector expected_table = { + 62464, 62464, 6420, 4552, 3720, 3223, 2883, 2632 + }; + expected_table.resize(max_table_size, 2632); + ASSERT_EQ(table.table, expected_table); + ASSERT_EQ(table.steps_count, 8u); + ASSERT_EQ(table.pixeltime_sum, 148358u); +} + +void test_create_slope_table_small_half_step() +{ + unsigned max_table_size = 1024; + + // created approximately from LIDE 110 slow table: { 62464, 7896, 2632, 0 } + MotorSlope slope; + slope.initial_speed_w = 62464; + slope.max_speed_w = 2632; + slope.acceleration = 1.2e-8; + + auto table = create_slope_table(slope, 5000, StepType::HALF, 4, 8, max_table_size); + + std::vector expected_table = { + 31232, 31232, 3210, 2500 + }; + expected_table.resize(max_table_size, 2500); + ASSERT_EQ(table.table, expected_table); + ASSERT_EQ(table.steps_count, 8u); + ASSERT_EQ(table.pixeltime_sum, 78174u); + + + table = create_slope_table(slope, 3000, StepType::HALF, 4, 8, max_table_size); + + expected_table = { + 31232, 31232, 3210, 2276, 1860, 1611, 1500 + }; + expected_table.resize(max_table_size, 1500); + ASSERT_EQ(table.table, expected_table); + ASSERT_EQ(table.steps_count, 8u); + ASSERT_EQ(table.pixeltime_sum, 74421u); +} + +void test_create_slope_table_large_full_step() +{ + unsigned max_table_size = 1024; + + /* created approximately from Canon 8600F table: + 54612, 54612, 34604, 26280, 21708, 18688, 16564, 14936, 13652, 12616, + 11768, 11024, 10400, 9872, 9392, 8960, 8584, 8240, 7940, 7648, + 7404, 7160, 6948, 6732, 6544, 6376, 6208, 6056, 5912, 5776, + 5644, 5520, 5408, 5292, 5192, 5092, 5000, 4908, 4820, 4736, + 4660, 4580, 4508, 4440, 4368, 4304, 4240, 4184, 4124, 4068, + 4012, 3960, 3908, 3860, 3808, 3764, 3720, 3676, 3636, 3592, + 3552, 3516, 3476, 3440, 3400, 3368, 3332, 3300, 3268, 3236, + 3204, 3176, 3148, 3116, 3088, 3060, 3036, 3008, 2984, 2956, + 2932, 2908, 2884, 2860, 2836, 2816, 2796, 2772, 2752, 2732, + 2708, 2692, 2672, 2652, 2632, 2616, 2596, 2576, 2560, 2544, + 2528, 2508, 2492, 2476, 2460, 2444, 2432, 2416, 2400, 2384, + 2372, 2356, 2344, 2328, 2316, 2304, 2288, 2276, 2260, 2252, + 2236, 2224, 2212, 2200, 2188, 2176, 2164, 2156, 2144, 2132, + 2120, 2108, 2100, 2088, 2080, 2068, 2056, 2048, 2036, 2028, + 2020, 2008, 2000, 1988, 1980, 1972, 1964, 1952, 1944, 1936, + 1928, 1920, 1912, 1900, 1892, 1884, 1876, 1868, 1860, 1856, + 1848, 1840, 1832, 1824, 1816, 1808, 1800, 1796, 1788, 1780, + 1772, 1764, 1760, 1752, 1744, 1740, 1732, 1724, 1720, 1712, + 1708, 1700, 1692, 1688, 1680, 1676, 1668, 1664, 1656, 1652, + 1644, 1640, 1636, 1628, 1624, 1616, 1612, 1608, 1600, 1596, + 1592, 1584, 1580, 1576, 1568, 1564, 1560, 1556, 1548, 1544, + 1540, 1536, 1528, 1524, 1520, 1516, 1512, 1508, 1500, + */ + MotorSlope slope; + slope.initial_speed_w = 54612; + slope.max_speed_w = 1500; + slope.acceleration = 1.013948e-9; + + auto table = create_slope_table(slope, 3000, StepType::FULL, 4, 8, max_table_size); + + std::vector expected_table = { + 54612, 54612, 20570, 15090, 12481, 10880, 9770, 8943, 8295, 7771, + 7335, 6964, 6645, 6366, 6120, 5900, 5702, 5523, 5359, 5210, + 5072, 4945, 4826, 4716, 4613, 4517, 4426, 4341, 4260, 4184, + 4111, 4043, 3977, 3915, 3855, 3799, 3744, 3692, 3642, 3594, + 3548, 3503, 3461, 3419, 3379, 3341, 3304, 3268, 3233, 3199, + 3166, 3135, 3104, 3074, 3045, 3017, 3000, + }; + expected_table.resize(max_table_size, 3000); + ASSERT_EQ(table.table, expected_table); + ASSERT_EQ(table.steps_count, 60u); + ASSERT_EQ(table.pixeltime_sum, 412616u); + + + table = create_slope_table(slope, 1500, StepType::FULL, 4, 8, max_table_size); + + expected_table = { + 54612, 54612, 20570, 15090, 12481, 10880, 9770, 8943, 8295, 7771, + 7335, 6964, 6645, 6366, 6120, 5900, 5702, 5523, 5359, 5210, + 5072, 4945, 4826, 4716, 4613, 4517, 4426, 4341, 4260, 4184, + 4111, 4043, 3977, 3915, 3855, 3799, 3744, 3692, 3642, 3594, + 3548, 3503, 3461, 3419, 3379, 3341, 3304, 3268, 3233, 3199, + 3166, 3135, 3104, 3074, 3045, 3017, 2989, 2963, 2937, 2911, + 2886, 2862, 2839, 2816, 2794, 2772, 2750, 2729, 2709, 2689, + 2670, 2651, 2632, 2614, 2596, 2578, 2561, 2544, 2527, 2511, + 2495, 2480, 2464, 2449, 2435, 2420, 2406, 2392, 2378, 2364, + 2351, 2338, 2325, 2313, 2300, 2288, 2276, 2264, 2252, 2241, + 2229, 2218, 2207, 2196, 2186, 2175, 2165, 2155, 2145, 2135, + 2125, 2115, 2106, 2096, 2087, 2078, 2069, 2060, 2051, 2042, + 2034, 2025, 2017, 2009, 2000, 1992, 1984, 1977, 1969, 1961, + 1953, 1946, 1938, 1931, 1924, 1917, 1910, 1903, 1896, 1889, + 1882, 1875, 1869, 1862, 1855, 1849, 1843, 1836, 1830, 1824, + 1818, 1812, 1806, 1800, 1794, 1788, 1782, 1776, 1771, 1765, + 1760, 1754, 1749, 1743, 1738, 1733, 1727, 1722, 1717, 1712, + 1707, 1702, 1697, 1692, 1687, 1682, 1677, 1673, 1668, 1663, + 1659, 1654, 1649, 1645, 1640, 1636, 1631, 1627, 1623, 1618, + 1614, 1610, 1606, 1601, 1597, 1593, 1589, 1585, 1581, 1577, + 1573, 1569, 1565, 1561, 1557, 1554, 1550, 1546, 1542, 1539, + 1535, 1531, 1528, 1524, 1520, 1517, 1513, 1510, 1506, 1503, + 1500, + }; + expected_table.resize(max_table_size, 1500); + ASSERT_EQ(table.table, expected_table); + ASSERT_EQ(table.steps_count, 224u); + ASSERT_EQ(table.pixeltime_sum, 734910u); +} + +void test_create_slope_table_large_half_step() +{ + unsigned max_table_size = 1024; + + // created approximately from Canon 8600F table, see the full step test for the data + + MotorSlope slope; + slope.initial_speed_w = 54612; + slope.max_speed_w = 1500; + slope.acceleration = 1.013948e-9; + + auto table = create_slope_table(slope, 3000, StepType::HALF, 4, 8, max_table_size); + + std::vector expected_table = { + 27306, 27306, 10285, 7545, 6240, 5440, 4885, 4471, 4147, 3885, + 3667, 3482, 3322, 3183, 3060, 2950, 2851, 2761, 2679, 2605, + 2536, 2472, 2413, 2358, 2306, 2258, 2213, 2170, 2130, 2092, + 2055, 2021, 1988, 1957, 1927, 1899, 1872, 1846, 1821, 1797, + 1774, 1751, 1730, 1709, 1689, 1670, 1652, 1634, 1616, 1599, + 1583, 1567, 1552, 1537, 1522, 1508, 1500, + }; + expected_table.resize(max_table_size, 1500); + ASSERT_EQ(table.table, expected_table); + ASSERT_EQ(table.steps_count, 60u); + ASSERT_EQ(table.pixeltime_sum, 206294u); + + + table = create_slope_table(slope, 1500, StepType::HALF, 4, 8, max_table_size); + + expected_table = { + 27306, 27306, 10285, 7545, 6240, 5440, 4885, 4471, 4147, 3885, + 3667, 3482, 3322, 3183, 3060, 2950, 2851, 2761, 2679, 2605, + 2536, 2472, 2413, 2358, 2306, 2258, 2213, 2170, 2130, 2092, + 2055, 2021, 1988, 1957, 1927, 1899, 1872, 1846, 1821, 1797, + 1774, 1751, 1730, 1709, 1689, 1670, 1652, 1634, 1616, 1599, + 1583, 1567, 1552, 1537, 1522, 1508, 1494, 1481, 1468, 1455, + 1443, 1431, 1419, 1408, 1397, 1386, 1375, 1364, 1354, 1344, + 1335, 1325, 1316, 1307, 1298, 1289, 1280, 1272, 1263, 1255, + 1247, 1240, 1232, 1224, 1217, 1210, 1203, 1196, 1189, 1182, + 1175, 1169, 1162, 1156, 1150, 1144, 1138, 1132, 1126, 1120, + 1114, 1109, 1103, 1098, 1093, 1087, 1082, 1077, 1072, 1067, + 1062, 1057, 1053, 1048, 1043, 1039, 1034, 1030, 1025, 1021, + 1017, 1012, 1008, 1004, 1000, 996, 992, 988, 984, 980, + 976, 973, 969, 965, 962, 958, 955, 951, 948, 944, + 941, 937, 934, 931, 927, 924, 921, 918, 915, 912, + 909, 906, 903, 900, 897, 894, 891, 888, 885, 882, + 880, 877, 874, 871, 869, 866, 863, 861, 858, 856, + 853, 851, 848, 846, 843, 841, 838, 836, 834, 831, + 829, 827, 824, 822, 820, 818, 815, 813, 811, 809, + 807, 805, 803, 800, 798, 796, 794, 792, 790, 788, + 786, 784, 782, 780, 778, 777, 775, 773, 771, 769, + 767, 765, 764, 762, 760, 758, 756, 755, 753, 751, + 750, + }; + expected_table.resize(max_table_size, 750); + ASSERT_EQ(table.table, expected_table); + ASSERT_EQ(table.steps_count, 224u); + ASSERT_EQ(table.pixeltime_sum, 367399u); +} + +void test_motor() +{ + test_create_slope_table3(); + test_create_slope_table_small_full_step(); + test_create_slope_table_small_full_step_target_speed_too_high(); + test_create_slope_table_small_half_step(); + test_create_slope_table_large_full_step(); + test_create_slope_table_large_half_step(); +} + +} // namespace genesys diff --git a/testsuite/backend/genesys/tests_printers.h b/testsuite/backend/genesys/tests_printers.h new file mode 100644 index 0000000..90becea --- /dev/null +++ b/testsuite/backend/genesys/tests_printers.h @@ -0,0 +1,62 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#ifndef SANE_TESTSUITE_BACKEND_GENESYS_TESTS_PRINTERS_H +#define SANE_TESTSUITE_BACKEND_GENESYS_TESTS_PRINTERS_H + +#include "../../../backend/genesys/image_pixel.h" +#include "../../../backend/genesys/utilities.h" +#include +#include +#include + +template +std::ostream& operator<<(std::ostream& str, const std::vector& arg) +{ + str << genesys::format_vector_unsigned(4, arg) << '\n'; + return str; +} + +inline std::ostream& operator<<(std::ostream& str, const genesys::PixelFormat& arg) +{ + str << static_cast(arg); + return str; +} + +inline std::ostream& operator<<(std::ostream& str, const genesys::Pixel& arg) +{ + str << "{ " << arg.r << ", " << arg.g << ", " << arg.b << " }"; + return str; +} + +inline std::ostream& operator<<(std::ostream& str, const genesys::RawPixel& arg) +{ + auto flags = str.flags(); + str << std::hex; + for (auto el : arg.data) { + str << static_cast(el) << " "; + } + str.flags(flags); + return str; +} + +#endif diff --git a/testsuite/backend/genesys/tests_row_buffer.cpp b/testsuite/backend/genesys/tests_row_buffer.cpp new file mode 100644 index 0000000..73ca86c --- /dev/null +++ b/testsuite/backend/genesys/tests_row_buffer.cpp @@ -0,0 +1,91 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "tests.h" +#include "minigtest.h" +#include "tests_printers.h" + +#include "../../../backend/genesys/low.h" + +#include + +namespace genesys { + +void test_row_buffer_push_pop_forward(unsigned size) +{ + RowBuffer buf{1}; + + ASSERT_TRUE(buf.empty()); + for (unsigned i = 0; i < size; i++) { + buf.push_back(); + *buf.get_back_row_ptr() = i; + for (unsigned j = 0; j < i + 1; j++) { + ASSERT_EQ(*buf.get_row_ptr(j), j); + } + } + ASSERT_FALSE(buf.empty()); + + for (unsigned i = 0; i < 10; i++) { + ASSERT_EQ(buf.height(), size); + ASSERT_EQ(static_cast(*buf.get_front_row_ptr()), i); + buf.pop_front(); + ASSERT_EQ(buf.height(), size - 1); + buf.push_back(); + *buf.get_back_row_ptr() = i + size; + } +} + +void test_row_buffer_push_pop_backward(unsigned size) +{ + RowBuffer buf{1}; + + ASSERT_TRUE(buf.empty()); + for (unsigned i = 0; i < size; i++) { + buf.push_front(); + *buf.get_front_row_ptr() = i; + for (unsigned j = 0; j < i + 1; j++) { + ASSERT_EQ(*buf.get_row_ptr(j), i - j); + } + } + ASSERT_FALSE(buf.empty()); + + for (unsigned i = 0; i < 10; i++) { + ASSERT_EQ(buf.height(), size); + ASSERT_EQ(static_cast(*buf.get_back_row_ptr()), i); + buf.pop_back(); + ASSERT_EQ(buf.height(), size - 1); + buf.push_front(); + *buf.get_front_row_ptr() = i + size; + } +} + +void test_row_buffer() +{ + for (unsigned size = 1; size < 5; ++size) { + test_row_buffer_push_pop_forward(size); + test_row_buffer_push_pop_backward(size); + } +} + +} // namespace genesys diff --git a/testsuite/backend/genesys/tests_utilities.cpp b/testsuite/backend/genesys/tests_utilities.cpp new file mode 100644 index 0000000..49b9abe --- /dev/null +++ b/testsuite/backend/genesys/tests_utilities.cpp @@ -0,0 +1,110 @@ +/* sane - Scanner Access Now Easy. + + Copyright (C) 2019 Povilas Kanapickas + + 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. +*/ + +#define DEBUG_DECLARE_ONLY + +#include "tests.h" +#include "minigtest.h" +#include "tests_printers.h" + +#include "../../../backend/genesys/utilities.h" + +namespace genesys { + +void test_utilities_compute_array_percentile_approx_empty() +{ + std::vector data; + data.resize(1, 0); + + ASSERT_RAISES(compute_array_percentile_approx(data.data(), data.data(), 0, 0, 0.0f), + SaneException); +} + +void test_utilities_compute_array_percentile_approx_single_line() +{ + std::vector data = { + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 + }; + std::vector expected = data; + std::vector result; + result.resize(data.size(), 0); + + compute_array_percentile_approx(result.data(), data.data(), 1, data.size(), 0.5f); + ASSERT_EQ(result, expected); +} + +void test_utilities_compute_array_percentile_approx_multiple_lines() +{ + std::vector data = { + 5, 17, 4, 14, 3, 9, 9, 5, 10, 1, + 6, 1, 0, 18, 8, 5, 11, 11, 15, 12, + 6, 8, 7, 3, 2, 15, 5, 12, 3, 3, + 6, 12, 17, 6, 7, 7, 1, 6, 3, 18, + 10, 5, 8, 0, 14, 3, 3, 7, 10, 5, + 18, 7, 3, 11, 0, 14, 12, 19, 18, 11, + 5, 16, 2, 9, 8, 2, 7, 6, 11, 18, + 16, 5, 2, 2, 14, 18, 19, 13, 16, 1, + 5, 9, 14, 6, 17, 16, 1, 1, 16, 0, + 19, 18, 4, 12, 0, 7, 15, 3, 2, 6, + }; + std::vector result; + result.resize(10, 0); + + std::vector expected = { + 5, 1, 0, 0, 0, 2, 1, 1, 2, 0, + }; + compute_array_percentile_approx(result.data(), data.data(), 10, 10, 0.0f); + ASSERT_EQ(result, expected); + + expected = { + 5, 5, 2, 3, 2, 5, 3, 5, 3, 1, + }; + compute_array_percentile_approx(result.data(), data.data(), 10, 10, 0.25f); + ASSERT_EQ(result, expected); + + expected = { + 6, 9, 4, 9, 8, 9, 9, 7, 11, 6, + }; + compute_array_percentile_approx(result.data(), data.data(), 10, 10, 0.5f); + ASSERT_EQ(result, expected); + + expected = { + 16, 16, 8, 12, 14, 15, 12, 12, 16, 12, + }; + compute_array_percentile_approx(result.data(), data.data(), 10, 10, 0.75f); + ASSERT_EQ(result, expected); + + expected = { + 19, 18, 17, 18, 17, 18, 19, 19, 18, 18, + }; + compute_array_percentile_approx(result.data(), data.data(), 10, 10, 1.0f); + ASSERT_EQ(result, expected); +} + +void test_utilities() +{ + test_utilities_compute_array_percentile_approx_empty(); + test_utilities_compute_array_percentile_approx_single_line(); + test_utilities_compute_array_percentile_approx_multiple_lines(); +} + +} // namespace genesys diff --git a/testsuite/sanei/Makefile.am b/testsuite/sanei/Makefile.am index 24fc01e..8da530c 100644 --- a/testsuite/sanei/Makefile.am +++ b/testsuite/sanei/Makefile.am @@ -10,12 +10,14 @@ EXTRA_DIST = data/boolean.conf data/empty.conf data/fixed.conf data/int.conf \ data/wrong-fixed.conf data/wrong-range.conf \ data/wrong-string-list.conf -TEST_LDADD = ../../sanei/libsanei.la ../../lib/liblib.la $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) +TEST_LDADD = ../../sanei/libsanei.la ../../lib/liblib.la \ + $(MATH_LIB) $(USB_LIBS) $(XML_LIBS) $(PTHREAD_LIBS) check_PROGRAMS = sanei_usb_test test_wire sanei_check_test sanei_config_test sanei_constrain_test TESTS = $(check_PROGRAMS) -AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include $(USB_CFLAGS) +AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include \ + $(USB_CFLAGS) $(XML_CFLAGS) sanei_constrain_test_SOURCES = sanei_constrain_test.c sanei_constrain_test_LDADD = $(TEST_LDADD) diff --git a/testsuite/tools/data/ascii.ref b/testsuite/tools/data/ascii.ref index 4d66732..20c2bf2 100644 --- a/testsuite/tools/data/ascii.ref +++ b/testsuite/tools/data/ascii.ref @@ -5709,7 +5709,7 @@ backend `genesys' status basic url *none* comment `clone of the HP 2400C' - model `ScanJet 3670C' + model `ScanJet 3670' interface `USB' usb-vendor-id `0x03f0' usb-product-id `0x1405' @@ -5722,7 +5722,7 @@ backend `genesys' usb-product-id `0x1405' status complete url *none* - comment `1200x1200 dpi max, same as HP 3670C' + comment `1200x1200 dpi max, same as HP 3670' model `ScanJet 4850C' interface `USB' usb-vendor-id `0x03f0' diff --git a/testsuite/tools/data/db.ref b/testsuite/tools/data/db.ref index d51729a..3828667 100644 --- a/testsuite/tools/data/db.ref +++ b/testsuite/tools/data/db.ref @@ -66,7 +66,7 @@ 0x03f0 0x1205 root:scanner 0664 # Hewlett-Packard ScanJet 4570C | Hewlett-Packard ScanJet 5500C 0x03f0 0x1305 root:scanner 0664 -# Hewlett-Packard ScanJet 3670C | Hewlett-Packard ScanJet 3690C +# Hewlett-Packard ScanJet 3670 | Hewlett-Packard ScanJet 3690C 0x03f0 0x1405 root:scanner 0664 # Hewlett-Packard ScanJet 5590 0x03f0 0x1705 root:scanner 0664 diff --git a/testsuite/tools/data/hal-new.ref b/testsuite/tools/data/hal-new.ref index c9b7f80..fc48a71 100644 --- a/testsuite/tools/data/hal-new.ref +++ b/testsuite/tools/data/hal-new.ref @@ -175,7 +175,7 @@ scanner proprietary - + scanner proprietary diff --git a/testsuite/tools/data/hal.ref b/testsuite/tools/data/hal.ref index 18490f2..68ef92a 100644 --- a/testsuite/tools/data/hal.ref +++ b/testsuite/tools/data/hal.ref @@ -175,7 +175,7 @@ scanner proprietary - + scanner proprietary diff --git a/testsuite/tools/data/html-backends-split.ref b/testsuite/tools/data/html-backends-split.ref index 3455e20..bd8d154 100644 --- a/testsuite/tools/data/html-backends-split.ref +++ b/testsuite/tools/data/html-backends-split.ref @@ -5991,7 +5991,7 @@ Kyocera clone of the HP 2400C -ScanJet 3670C +ScanJet 3670 USB 0x03f0/0x1405 Complete @@ -6002,7 +6002,7 @@ Kyocera USB 0x03f0/0x1405 Complete -1200x1200 dpi max, same as HP 3670C +1200x1200 dpi max, same as HP 3670 ScanJet 4850C diff --git a/testsuite/tools/data/html-mfgs.ref b/testsuite/tools/data/html-mfgs.ref index f82b30c..1b34bb4 100644 --- a/testsuite/tools/data/html-mfgs.ref +++ b/testsuite/tools/data/html-mfgs.ref @@ -12078,7 +12078,7 @@ hpljm1005
    (0) sane-hp3500 -ScanJet 3670C +ScanJet 3670 USB 0x03f0/0x1405 Complete @@ -12093,7 +12093,7 @@ hpljm1005
    (0) USB 0x03f0/0x1405 Complete -1200x1200 dpi max, same as HP 3670C +1200x1200 dpi max, same as HP 3670 genesys
    (1.0-63) diff --git a/testsuite/tools/data/hwdb.ref b/testsuite/tools/data/hwdb.ref index 7d029e0..9adc73f 100644 --- a/testsuite/tools/data/hwdb.ref +++ b/testsuite/tools/data/hwdb.ref @@ -97,7 +97,7 @@ usb:v03F0p1205* usb:v03F0p1305* libsane_matched=yes -# Hewlett-Packard ScanJet 3670C | Hewlett-Packard ScanJet 3690C +# Hewlett-Packard ScanJet 3670 | Hewlett-Packard ScanJet 3690C usb:v03F0p1405* libsane_matched=yes diff --git a/testsuite/tools/data/testfile.desc b/testsuite/tools/data/testfile.desc index e59aed3..bae4099 100644 --- a/testsuite/tools/data/testfile.desc +++ b/testsuite/tools/data/testfile.desc @@ -4894,7 +4894,7 @@ :status :basic :comment "clone of the HP 2400C" -:model "ScanJet 3670C" +:model "ScanJet 3670" :interface "USB" :usbid "0x03f0" "0x1405" :status :complete @@ -4904,7 +4904,7 @@ :interface "USB" :usbid "0x03f0" "0x1405" :status :complete -:comment "1200x1200 dpi max, same as HP 3670C" +:comment "1200x1200 dpi max, same as HP 3670" :model "ScanJet 4850C" :interface "USB" diff --git a/testsuite/tools/data/udev+acl.ref b/testsuite/tools/data/udev+acl.ref index 4721034..bcedd50 100644 --- a/testsuite/tools/data/udev+acl.ref +++ b/testsuite/tools/data/udev+acl.ref @@ -81,7 +81,7 @@ ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1105", ENV{libsane_matched}="yes" ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1205", ENV{libsane_matched}="yes" # Hewlett-Packard ScanJet 4570C | Hewlett-Packard ScanJet 5500C ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1305", ENV{libsane_matched}="yes" -# Hewlett-Packard ScanJet 3670C | Hewlett-Packard ScanJet 3690C +# Hewlett-Packard ScanJet 3670 | Hewlett-Packard ScanJet 3690C ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1405", ENV{libsane_matched}="yes" # Hewlett-Packard ScanJet 5590 ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1705", ENV{libsane_matched}="yes" diff --git a/testsuite/tools/data/udev.ref b/testsuite/tools/data/udev.ref index 9a221fc..bd448af 100644 --- a/testsuite/tools/data/udev.ref +++ b/testsuite/tools/data/udev.ref @@ -81,7 +81,7 @@ ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1105", MODE="0664", GROUP="scanner", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1205", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes" # Hewlett-Packard ScanJet 4570C | Hewlett-Packard ScanJet 5500C ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1305", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes" -# Hewlett-Packard ScanJet 3670C | Hewlett-Packard ScanJet 3690C +# Hewlett-Packard ScanJet 3670 | Hewlett-Packard ScanJet 3690C ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1405", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes" # Hewlett-Packard ScanJet 5590 ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1705", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes" diff --git a/testsuite/tools/data/usermap.ref b/testsuite/tools/data/usermap.ref index e02d73a..b1d5a9f 100644 --- a/testsuite/tools/data/usermap.ref +++ b/testsuite/tools/data/usermap.ref @@ -64,7 +64,7 @@ libusbscanner 0x0003 0x03f0 0x1105 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0 libusbscanner 0x0003 0x03f0 0x1205 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 # Hewlett-Packard ScanJet 4570C | Hewlett-Packard ScanJet 5500C libusbscanner 0x0003 0x03f0 0x1305 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 -# Hewlett-Packard ScanJet 3670C | Hewlett-Packard ScanJet 3690C +# Hewlett-Packard ScanJet 3670 | Hewlett-Packard ScanJet 3690C libusbscanner 0x0003 0x03f0 0x1405 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 # Hewlett-Packard ScanJet 5590 libusbscanner 0x0003 0x03f0 0x1705 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 diff --git a/testsuite/tools/data/xml.ref b/testsuite/tools/data/xml.ref index 0618093..3c5b861 100644 --- a/testsuite/tools/data/xml.ref +++ b/testsuite/tools/data/xml.ref @@ -6609,7 +6609,7 @@ *none* clone of the HP 2400C - + USB 0x03f0 0x1405 @@ -6623,7 +6623,7 @@ 0x1405 complete *none* - 1200x1200 dpi max, same as HP 3670C + 1200x1200 dpi max, same as HP 3670 USB diff --git a/tools/Makefile.am b/tools/Makefile.am index 684815a..105d178 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -42,15 +42,15 @@ if have_usblib sane_find_scanner_SOURCES += check-usb-chip.c endif sane_find_scanner_LDADD = ../sanei/libsanei.la ../lib/liblib.la \ - $(USB_LIBS) $(IEEE1284_LIBS) $(SCSI_LIBS) \ + $(USB_LIBS) $(IEEE1284_LIBS) $(SCSI_LIBS) $(XML_LIBS) \ ../backend/sane_strstatus.lo gamma4scanimage_SOURCES = gamma4scanimage.c gamma4scanimage_LDADD = $(MATH_LIB) -umax_pp_SOURCES = umax_pp.c -umax_pp_LDADD = ../sanei/libsanei.la ../lib/liblib.la $(MATH_LIB) \ - ../backend/umax_pp_low.lo +umax_pp_SOURCES = umax_pp.c +umax_pp_SOURCES += ../backend/umax_pp_low.c +umax_pp_LDADD = ../sanei/libsanei.la ../lib/liblib.la $(MATH_LIB) sane_desc_SOURCES = sane-desc.c sane_desc_LDADD = ../sanei/libsanei.la ../lib/liblib.la diff --git a/tools/create-changelog.sh b/tools/create-changelog.sh index a0b8d91..bb3c8f2 100755 --- a/tools/create-changelog.sh +++ b/tools/create-changelog.sh @@ -4,7 +4,7 @@ # # License: GPL-3.0+ -git log --date=iso8601 --decorate=short 1.0.27..HEAD \ +git log --date=iso8601 --decorate=short 1.0.28..HEAD \ | sed 's/^[ \t]*$//' \ > ChangeLog @@ -12,5 +12,5 @@ cat << EOF >> ChangeLog ---------------------------------------------------------------------- Older ChangeLog entries can be found in the ChangeLogs/ directory on a -file per release basis. Please note that 1.0.26 was never released. +file per release basis. Please note that version 1.0.26 was skipped. EOF diff --git a/tools/sane-find-scanner.c b/tools/sane-find-scanner.c index a62ceac..ac25c55 100644 --- a/tools/sane-find-scanner.c +++ b/tools/sane-find-scanner.c @@ -1611,7 +1611,7 @@ main (int argc, char **argv) usage (0); exit (0); } - + // fall through default: printf ("unknown option: -%c, try -h for help\n", (*ap)[1]); exit (0); @@ -2009,7 +2009,12 @@ main (int argc, char **argv) } if (verbose > 3) +#if LIBUSB_API_VERSION >= 0x01000106 + libusb_set_option (sfs_usb_ctx, LIBUSB_OPTION_LOG_LEVEL, + LIBUSB_LOG_LEVEL_INFO); +#else libusb_set_debug (sfs_usb_ctx, 3); +#endif devcnt = libusb_get_device_list (sfs_usb_ctx, &devlist); if (devcnt < 0) diff --git a/tools/umax_pp.c b/tools/umax_pp.c index 7b127e3..eabf900 100644 --- a/tools/umax_pp.c +++ b/tools/umax_pp.c @@ -32,7 +32,7 @@ main (int argc, char **argv) char dbgstr[80]; int probe = 0; int port = 0; - char *name = NULL; + const char *name = NULL; int scan = 0; int lamp = -1; int i; diff --git a/tools/update-upstreams.sh b/tools/update-upstreams.sh index 3fde735..3a5e94a 100755 --- a/tools/update-upstreams.sh +++ b/tools/update-upstreams.sh @@ -6,11 +6,11 @@ fetch () { if type curl 2>/dev/null >/dev/null ; then - curl --silent --location --remote-name $1 + curl --location --remote-name $1 return fi if type wget 2>/dev/null >/dev/null ; then - wget --quiet --output-document $(echo $1 | sed 's,.*/,,') $1 + wget --output-document $(echo $1 | sed 's,.*/,,') $1 fi } -- cgit v1.2.3 From dc033b1280a1308dda5fb38de4ebc05ffd6ee48b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 2 Feb 2020 17:18:13 +0100 Subject: Refresh patches --- debian/changelog | 2 +- debian/patches/0100-source_spelling.patch | 2 +- debian/patches/0100-source_spelling.patch~ | 74 ++++++++++ debian/patches/0700-mk_reproducible_results.patch | 2 +- debian/patches/0700-mk_reproducible_results.patch~ | 154 +++++++++++++++++++++ 5 files changed, 231 insertions(+), 3 deletions(-) create mode 100644 debian/patches/0100-source_spelling.patch~ create mode 100644 debian/patches/0700-mk_reproducible_results.patch~ diff --git a/debian/changelog b/debian/changelog index e9a919c..8b27140 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -sane-backends (1.0.28-1~experimental1) experimental; urgency=medium +sane-backends (1.0.29-1~experimental1) experimental; urgency=medium * New upstream release. - New debian/patches/0040-remove_git.patch to remove git access at diff --git a/debian/patches/0100-source_spelling.patch b/debian/patches/0100-source_spelling.patch index cc8e6b6..916e502 100644 --- a/debian/patches/0100-source_spelling.patch +++ b/debian/patches/0100-source_spelling.patch @@ -63,7 +63,7 @@ Index: trunk/doc/sane-pixma.man =================================================================== --- trunk.orig/doc/sane-pixma.man +++ trunk/doc/sane-pixma.man -@@ -308,7 +308,7 @@ common subnet for scanning. +@@ -337,7 +337,7 @@ common subnet for scanning. .PP Scanner detection is slightly more complicated. The pixma backend sends a broadcast on all direct connected subnets it can find (provided your OS diff --git a/debian/patches/0100-source_spelling.patch~ b/debian/patches/0100-source_spelling.patch~ new file mode 100644 index 0000000..cc8e6b6 --- /dev/null +++ b/debian/patches/0100-source_spelling.patch~ @@ -0,0 +1,74 @@ +Description: Correct source typos +Author: Jörg Frings-Fürst +Last-Update: 2019-04-28 +---- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/doc/sane-epjitsu.man +=================================================================== +--- trunk.orig/doc/sane-epjitsu.man ++++ trunk/doc/sane-epjitsu.man +@@ -42,7 +42,7 @@ Scanners can be specified in the configu + .PP + "usb 0x04c5 0x10c7" (or other vendor/product ids) + .RS +-Requests backend to search all usb busses in the system for a device which uses that vendor and product id. The device will then be queried to determine if it is a supported scanner. ++Requests backend to search all usb buses in the system for a device which uses that vendor and product id. The device will then be queried to determine if it is a supported scanner. + .RE + .PP + "usb /dev/usb/scanner0" (or other device file) +Index: trunk/backend/apple.c +=================================================================== +--- trunk.orig/backend/apple.c ++++ trunk/backend/apple.c +@@ -1546,7 +1546,7 @@ init_options (Apple_Scanner * s) + /* Use volt_ref */ + s->opt[OPT_VOLT_REF].name = "volt-ref"; + s->opt[OPT_VOLT_REF].title = "Volt Reference"; +- s->opt[OPT_VOLT_REF].desc ="It's brightness equivalant."; ++ s->opt[OPT_VOLT_REF].desc ="It's brightness equivalent."; + s->opt[OPT_VOLT_REF].type = SANE_TYPE_BOOL; + if (s->hw->ScannerModel!=COLORONESCANNER) + s->opt[OPT_VOLT_REF].cap |= SANE_CAP_INACTIVE; +Index: trunk/tools/umax_pp.c +=================================================================== +--- trunk.orig/tools/umax_pp.c ++++ trunk/tools/umax_pp.c +@@ -374,10 +374,10 @@ main (int argc, char **argv) + if (sanei_umax_pp_initPort (port, name) != 1) + { + if (port) +- fprintf (stderr, "failed to gain direct acces to port 0x%X!\n", ++ fprintf (stderr, "failed to gain direct access to port 0x%X!\n", + port); + else +- fprintf (stderr, "failed to gain acces to device %s!\n", name); ++ fprintf (stderr, "failed to gain access to device %s!\n", name); + return 0; + } + } +Index: trunk/doc/saned.man +=================================================================== +--- trunk.orig/doc/saned.man ++++ trunk/doc/saned.man +@@ -254,7 +254,7 @@ to the systemd journal. The systemd supp + requires compilation with the systemd-devel package + installed on the system. this is the preferred option. + +-Saned can be used wih systemd without the systemd integration ++Saned can be used with systemd without the systemd integration + compiled in, but then logging of debug information is not supported. + + The systemd configuration is different for the 2 options, so +Index: trunk/doc/sane-pixma.man +=================================================================== +--- trunk.orig/doc/sane-pixma.man ++++ trunk/doc/sane-pixma.man +@@ -308,7 +308,7 @@ common subnet for scanning. + .PP + Scanner detection is slightly more complicated. The pixma backend sends + a broadcast on all direct connected subnets it can find (provided your OS +-allows for enumeration of all netowrk interfaces). The broadcast is sent FROM ++allows for enumeration of all network interfaces). The broadcast is sent FROM + port 8612 TO port 8610 or 8612 on the broadcast address of each interface. + The outgoing packets will be allowed by the rule described above. + .PP diff --git a/debian/patches/0700-mk_reproducible_results.patch b/debian/patches/0700-mk_reproducible_results.patch index 044e60f..1b61b49 100644 --- a/debian/patches/0700-mk_reproducible_results.patch +++ b/debian/patches/0700-mk_reproducible_results.patch @@ -105,7 +105,7 @@ Index: trunk/doc/Makefile.am =================================================================== --- trunk.orig/doc/Makefile.am +++ trunk/doc/Makefile.am -@@ -278,11 +278,11 @@ sane.ind: $(API_SPEC_INPUTS) +@@ -279,11 +279,11 @@ sane.ind: $(API_SPEC_INPUTS) sane.dvi: $(API_SPEC_INPUTS) $(API_SPEC_EPS_FIGS) sane.ind @echo Generating $@ from $<... diff --git a/debian/patches/0700-mk_reproducible_results.patch~ b/debian/patches/0700-mk_reproducible_results.patch~ new file mode 100644 index 0000000..044e60f --- /dev/null +++ b/debian/patches/0700-mk_reproducible_results.patch~ @@ -0,0 +1,154 @@ +Description: Make build reproducible. +Author: Jörg Frings-Fürst +Last-Update: 2019-08-11 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/tools/sane-desc.c +=================================================================== +--- trunk.orig/tools/sane-desc.c ++++ trunk/tools/sane-desc.c +@@ -2816,8 +2816,10 @@ html_print_footer (void) + "
    \n" + "Contact\n" "
    \n" "\n"); +- printf ("This page was last updated on %s by sane-desc %s from %s\n", +- asctime (localtime (¤t_time)), SANE_DESC_VERSION, PACKAGE_STRING); ++/* printf ("This page was last updated on %s by sane-desc %s from %s\n", ++ asctime (localtime (¤t_time)), SANE_DESC_VERSION, PACKAGE_STRING); */ ++ printf ("This page was last updated by sane-desc %s from %s\n", ++ SANE_DESC_VERSION, PACKAGE_STRING); + printf ("\n"); + printf (" \n"); + } +@@ -3463,8 +3465,8 @@ print_udev_header (void) + { + time_t current_time = time (0); + printf ("# This file was automatically created based on description files (*.desc)\n" +- "# by sane-desc %s from %s on %s", +- SANE_DESC_VERSION, PACKAGE_STRING, asctime (localtime (¤t_time))); ++ "# by sane-desc %s from %s\n", ++ SANE_DESC_VERSION, PACKAGE_STRING); + + printf + ("#\n" +@@ -3656,8 +3658,8 @@ print_udevhwdb_header (void) + { + time_t current_time = time (0); + printf ("# This file was automatically created based on description files (*.desc)\n" +- "# by sane-desc %s from %s on %s", +- SANE_DESC_VERSION, PACKAGE_STRING, asctime (localtime (¤t_time))); ++ "# by sane-desc %s from %s\n", ++ SANE_DESC_VERSION, PACKAGE_STRING ); + + printf + ("#\n" +Index: trunk/testsuite/tools/data/html-backends-split.ref +=================================================================== +--- trunk.orig/testsuite/tools/data/html-backends-split.ref ++++ trunk/testsuite/tools/data/html-backends-split.ref +@@ -16496,7 +16496,6 @@ Grandtek Scopecam + >Contact + + +-This page was last updated on Wed Jul 31 07:52:48 2013 +- by sane-desc 3.5 from sane-backends 1.0.24git ++This page was last updated by sane-desc 3.5 from sane-backends 1.0.28-debian + + +Index: trunk/testsuite/tools/data/html-mfgs.ref +=================================================================== +--- trunk.orig/testsuite/tools/data/html-mfgs.ref ++++ trunk/testsuite/tools/data/html-mfgs.ref +@@ -23910,7 +23910,6 @@ qcam
    (unmaintained) + >Contact + + +-This page was last updated on Wed Jul 31 07:52:48 2013 +- by sane-desc 3.5 from sane-backends 1.0.24git ++This page was last updated by sane-desc 3.5 from sane-backends 1.0.28-debian + + +Index: trunk/testsuite/tools/data/udev.ref +=================================================================== +--- trunk.orig/testsuite/tools/data/udev.ref ++++ trunk/testsuite/tools/data/udev.ref +@@ -1,5 +1,5 @@ + # This file was automatically created based on description files (*.desc) +-# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:48 2013 ++# by sane-desc 3.5 from sane-backends 1.0.28-debian + # + # udev rules file for supported USB and SCSI devices + # +Index: trunk/testsuite/tools/data/udev+acl.ref +=================================================================== +--- trunk.orig/testsuite/tools/data/udev+acl.ref ++++ trunk/testsuite/tools/data/udev+acl.ref +@@ -1,5 +1,5 @@ + # This file was automatically created based on description files (*.desc) +-# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:49 2013 ++# by sane-desc 3.5 from sane-backends 1.0.28-debian + # + # udev rules file for supported USB and SCSI devices + # +Index: trunk/testsuite/tools/data/udev+hwdb.ref +=================================================================== +--- trunk.orig/testsuite/tools/data/udev+hwdb.ref ++++ trunk/testsuite/tools/data/udev+hwdb.ref +@@ -1,5 +1,5 @@ + # This file was automatically created based on description files (*.desc) +-# by sane-desc 3.5 from sane-backends 1.0.24git on Thu Aug 1 18:50:15 2013 ++# by sane-desc 3.5 from sane-backends 1.0.28-debian + # + # udev rules file for supported USB and SCSI devices + # +Index: trunk/doc/Makefile.am +=================================================================== +--- trunk.orig/doc/Makefile.am ++++ trunk/doc/Makefile.am +@@ -278,11 +278,11 @@ sane.ind: $(API_SPEC_INPUTS) + + sane.dvi: $(API_SPEC_INPUTS) $(API_SPEC_EPS_FIGS) sane.ind + @echo Generating $@ from $<... +- @$(am_TEXINPUTS) $(LATEX) $< /dev/null ++ @$(am_TEXINPUTS) $(LATEX) --output-comment="" $< /dev/null + + sane.ps: sane.dvi + @echo Generating $@ from $<... +- @$(am_TEXINPUTS) $(DVIPS) -q $< -o $@ ++ @$(am_TEXINPUTS) $(DVIPS) -q -N $< -o $@ + + .fig.pdf: + @test -d $(@D) || $(MKDIR_P) $(@D) +Index: trunk/testsuite/tools/data/db.ref +=================================================================== +--- trunk.orig/testsuite/tools/data/db.ref ++++ trunk/testsuite/tools/data/db.ref +@@ -1,5 +1,5 @@ + # This file was automatically created based on description files (*.desc) +-# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:48 2013 ++# by sane-desc 3.5 from sane-backends 1.0.28-debian + # + # The entries below are used to detect a USB device when it's plugged in + # and then run a script to change the ownership and +Index: trunk/testsuite/tools/data/hwdb.ref +=================================================================== +--- trunk.orig/testsuite/tools/data/hwdb.ref ++++ trunk/testsuite/tools/data/hwdb.ref +@@ -1,5 +1,5 @@ + # This file was automatically created based on description files (*.desc) +-# by sane-desc 3.5 from sane-backends 1.0.25git on Tue Dec 3 15:24:46 2013 ++# by sane-desc 3.5 from sane-backends 1.0.28-debian + # + # hwdb file for supported USB devices + # +Index: trunk/testsuite/tools/data/usermap.ref +=================================================================== +--- trunk.orig/testsuite/tools/data/usermap.ref ++++ trunk/testsuite/tools/data/usermap.ref +@@ -1,5 +1,5 @@ + # This file was automatically created based on description files (*.desc) +-# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:48 2013 ++# by sane-desc 3.5 from sane-backends 1.0.28-debian + # + # The entries below are used to detect a USB device and change owner + # and permissions on the "device node" used by libusb. -- cgit v1.2.3 From 12105a9f0b604fdff20b29c94debf16fb0c5ffc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Fri, 14 Feb 2020 10:51:48 +0100 Subject: Refresh symbols file; add missing depends --- debian/control | 2 + debian/libsane1.symbols | 38 +++++ debian/patches/0100-source_spelling.patch~ | 74 ---------- debian/patches/0700-mk_reproducible_results.patch~ | 154 --------------------- 4 files changed, 40 insertions(+), 228 deletions(-) delete mode 100644 debian/patches/0100-source_spelling.patch~ delete mode 100644 debian/patches/0700-mk_reproducible_results.patch~ diff --git a/debian/control b/debian/control index a2c2334..fdebd2c 100644 --- a/debian/control +++ b/debian/control @@ -13,6 +13,7 @@ Build-Depends: libavahi-client-dev, libcam-dev [kfreebsd-any], libcups2-dev, + libcurl-dev, libgphoto2-dev, libieee1284-3-dev [!hurd-i386], libjpeg-dev, @@ -21,6 +22,7 @@ Build-Depends: libsystemd-dev [linux-any], libtiff-dev, libusb-1.0-0-dev, + libxml2-dev, pkg-config, po-debconf, xutils-dev diff --git a/debian/libsane1.symbols b/debian/libsane1.symbols index 19cb8b4..dbfade9 100644 --- a/debian/libsane1.symbols +++ b/debian/libsane1.symbols @@ -1,4 +1,6 @@ libsane.so.1 libsane1 #MINVER# + cmsg@Base 1.0.29 + fail_test@Base 1.0.29 md5_buffer@Base 1.0.27 md5_finish_ctx@Base 1.0.27 md5_init_ctx@Base 1.0.27 @@ -46,4 +48,40 @@ libsane.so.1 libsane1 #MINVER# sanei_debug_msg@Base 1.0.27 sanei_debug_sanei_config@Base 1.0.27 sanei_debug_sanei_debug@Base 1.0.27 + sanei_debug_sanei_usb@Base 1.0.29 sanei_init_debug@Base 1.0.27 + sanei_usb_attach_matching_devices@Base 1.0.29 + sanei_usb_claim_interface@Base 1.0.29 + sanei_usb_clear_halt@Base 1.0.29 + sanei_usb_close@Base 1.0.29 + sanei_usb_control_msg@Base 1.0.29 + sanei_usb_exit@Base 1.0.29 + sanei_usb_find_devices@Base 1.0.29 + sanei_usb_get_descriptor@Base 1.0.29 + sanei_usb_get_endpoint@Base 1.0.29 + sanei_usb_get_vendor_product@Base 1.0.29 + sanei_usb_get_vendor_product_byname@Base 1.0.29 + sanei_usb_init@Base 1.0.29 + sanei_usb_is_replay_mode_enabled@Base 1.0.29 + sanei_usb_open@Base 1.0.29 + sanei_usb_read_bulk@Base 1.0.29 + sanei_usb_read_int@Base 1.0.29 + sanei_usb_release_interface@Base 1.0.29 + sanei_usb_reset@Base 1.0.29 + sanei_usb_scan_devices@Base 1.0.29 + sanei_usb_set_altinterface@Base 1.0.29 + sanei_usb_set_configuration@Base 1.0.29 + sanei_usb_set_endpoint@Base 1.0.29 + sanei_usb_set_timeout@Base 1.0.29 + sanei_usb_testing_enable_record@Base 1.0.29 + sanei_usb_testing_enable_replay@Base 1.0.29 + sanei_usb_testing_get_backend@Base 1.0.29 + sanei_usb_testing_record_message@Base 1.0.29 + sanei_usb_write_bulk@Base 1.0.29 + testing_append_commands_node@Base 1.0.29 + testing_known_commands_input_failed@Base 1.0.29 + testing_last_known_seq@Base 1.0.29 + testing_record_backend@Base 1.0.29 + testing_xml_doc@Base 1.0.29 + testing_xml_next_tx_node@Base 1.0.29 + testing_xml_path@Base 1.0.29 diff --git a/debian/patches/0100-source_spelling.patch~ b/debian/patches/0100-source_spelling.patch~ deleted file mode 100644 index cc8e6b6..0000000 --- a/debian/patches/0100-source_spelling.patch~ +++ /dev/null @@ -1,74 +0,0 @@ -Description: Correct source typos -Author: Jörg Frings-Fürst -Last-Update: 2019-04-28 ----- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/doc/sane-epjitsu.man -=================================================================== ---- trunk.orig/doc/sane-epjitsu.man -+++ trunk/doc/sane-epjitsu.man -@@ -42,7 +42,7 @@ Scanners can be specified in the configu - .PP - "usb 0x04c5 0x10c7" (or other vendor/product ids) - .RS --Requests backend to search all usb busses in the system for a device which uses that vendor and product id. The device will then be queried to determine if it is a supported scanner. -+Requests backend to search all usb buses in the system for a device which uses that vendor and product id. The device will then be queried to determine if it is a supported scanner. - .RE - .PP - "usb /dev/usb/scanner0" (or other device file) -Index: trunk/backend/apple.c -=================================================================== ---- trunk.orig/backend/apple.c -+++ trunk/backend/apple.c -@@ -1546,7 +1546,7 @@ init_options (Apple_Scanner * s) - /* Use volt_ref */ - s->opt[OPT_VOLT_REF].name = "volt-ref"; - s->opt[OPT_VOLT_REF].title = "Volt Reference"; -- s->opt[OPT_VOLT_REF].desc ="It's brightness equivalant."; -+ s->opt[OPT_VOLT_REF].desc ="It's brightness equivalent."; - s->opt[OPT_VOLT_REF].type = SANE_TYPE_BOOL; - if (s->hw->ScannerModel!=COLORONESCANNER) - s->opt[OPT_VOLT_REF].cap |= SANE_CAP_INACTIVE; -Index: trunk/tools/umax_pp.c -=================================================================== ---- trunk.orig/tools/umax_pp.c -+++ trunk/tools/umax_pp.c -@@ -374,10 +374,10 @@ main (int argc, char **argv) - if (sanei_umax_pp_initPort (port, name) != 1) - { - if (port) -- fprintf (stderr, "failed to gain direct acces to port 0x%X!\n", -+ fprintf (stderr, "failed to gain direct access to port 0x%X!\n", - port); - else -- fprintf (stderr, "failed to gain acces to device %s!\n", name); -+ fprintf (stderr, "failed to gain access to device %s!\n", name); - return 0; - } - } -Index: trunk/doc/saned.man -=================================================================== ---- trunk.orig/doc/saned.man -+++ trunk/doc/saned.man -@@ -254,7 +254,7 @@ to the systemd journal. The systemd supp - requires compilation with the systemd-devel package - installed on the system. this is the preferred option. - --Saned can be used wih systemd without the systemd integration -+Saned can be used with systemd without the systemd integration - compiled in, but then logging of debug information is not supported. - - The systemd configuration is different for the 2 options, so -Index: trunk/doc/sane-pixma.man -=================================================================== ---- trunk.orig/doc/sane-pixma.man -+++ trunk/doc/sane-pixma.man -@@ -308,7 +308,7 @@ common subnet for scanning. - .PP - Scanner detection is slightly more complicated. The pixma backend sends - a broadcast on all direct connected subnets it can find (provided your OS --allows for enumeration of all netowrk interfaces). The broadcast is sent FROM -+allows for enumeration of all network interfaces). The broadcast is sent FROM - port 8612 TO port 8610 or 8612 on the broadcast address of each interface. - The outgoing packets will be allowed by the rule described above. - .PP diff --git a/debian/patches/0700-mk_reproducible_results.patch~ b/debian/patches/0700-mk_reproducible_results.patch~ deleted file mode 100644 index 044e60f..0000000 --- a/debian/patches/0700-mk_reproducible_results.patch~ +++ /dev/null @@ -1,154 +0,0 @@ -Description: Make build reproducible. -Author: Jörg Frings-Fürst -Last-Update: 2019-08-11 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/tools/sane-desc.c -=================================================================== ---- trunk.orig/tools/sane-desc.c -+++ trunk/tools/sane-desc.c -@@ -2816,8 +2816,10 @@ html_print_footer (void) - "
    \n" - "Contact\n" "
    \n" "\n"); -- printf ("This page was last updated on %s by sane-desc %s from %s\n", -- asctime (localtime (¤t_time)), SANE_DESC_VERSION, PACKAGE_STRING); -+/* printf ("This page was last updated on %s by sane-desc %s from %s\n", -+ asctime (localtime (¤t_time)), SANE_DESC_VERSION, PACKAGE_STRING); */ -+ printf ("This page was last updated by sane-desc %s from %s\n", -+ SANE_DESC_VERSION, PACKAGE_STRING); - printf ("\n"); - printf (" \n"); - } -@@ -3463,8 +3465,8 @@ print_udev_header (void) - { - time_t current_time = time (0); - printf ("# This file was automatically created based on description files (*.desc)\n" -- "# by sane-desc %s from %s on %s", -- SANE_DESC_VERSION, PACKAGE_STRING, asctime (localtime (¤t_time))); -+ "# by sane-desc %s from %s\n", -+ SANE_DESC_VERSION, PACKAGE_STRING); - - printf - ("#\n" -@@ -3656,8 +3658,8 @@ print_udevhwdb_header (void) - { - time_t current_time = time (0); - printf ("# This file was automatically created based on description files (*.desc)\n" -- "# by sane-desc %s from %s on %s", -- SANE_DESC_VERSION, PACKAGE_STRING, asctime (localtime (¤t_time))); -+ "# by sane-desc %s from %s\n", -+ SANE_DESC_VERSION, PACKAGE_STRING ); - - printf - ("#\n" -Index: trunk/testsuite/tools/data/html-backends-split.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/html-backends-split.ref -+++ trunk/testsuite/tools/data/html-backends-split.ref -@@ -16496,7 +16496,6 @@ Grandtek Scopecam - >Contact - - --This page was last updated on Wed Jul 31 07:52:48 2013 -- by sane-desc 3.5 from sane-backends 1.0.24git -+This page was last updated by sane-desc 3.5 from sane-backends 1.0.28-debian - - -Index: trunk/testsuite/tools/data/html-mfgs.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/html-mfgs.ref -+++ trunk/testsuite/tools/data/html-mfgs.ref -@@ -23910,7 +23910,6 @@ qcam
    (unmaintained) - >Contact - - --This page was last updated on Wed Jul 31 07:52:48 2013 -- by sane-desc 3.5 from sane-backends 1.0.24git -+This page was last updated by sane-desc 3.5 from sane-backends 1.0.28-debian - - -Index: trunk/testsuite/tools/data/udev.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/udev.ref -+++ trunk/testsuite/tools/data/udev.ref -@@ -1,5 +1,5 @@ - # This file was automatically created based on description files (*.desc) --# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:48 2013 -+# by sane-desc 3.5 from sane-backends 1.0.28-debian - # - # udev rules file for supported USB and SCSI devices - # -Index: trunk/testsuite/tools/data/udev+acl.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/udev+acl.ref -+++ trunk/testsuite/tools/data/udev+acl.ref -@@ -1,5 +1,5 @@ - # This file was automatically created based on description files (*.desc) --# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:49 2013 -+# by sane-desc 3.5 from sane-backends 1.0.28-debian - # - # udev rules file for supported USB and SCSI devices - # -Index: trunk/testsuite/tools/data/udev+hwdb.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/udev+hwdb.ref -+++ trunk/testsuite/tools/data/udev+hwdb.ref -@@ -1,5 +1,5 @@ - # This file was automatically created based on description files (*.desc) --# by sane-desc 3.5 from sane-backends 1.0.24git on Thu Aug 1 18:50:15 2013 -+# by sane-desc 3.5 from sane-backends 1.0.28-debian - # - # udev rules file for supported USB and SCSI devices - # -Index: trunk/doc/Makefile.am -=================================================================== ---- trunk.orig/doc/Makefile.am -+++ trunk/doc/Makefile.am -@@ -278,11 +278,11 @@ sane.ind: $(API_SPEC_INPUTS) - - sane.dvi: $(API_SPEC_INPUTS) $(API_SPEC_EPS_FIGS) sane.ind - @echo Generating $@ from $<... -- @$(am_TEXINPUTS) $(LATEX) $< /dev/null -+ @$(am_TEXINPUTS) $(LATEX) --output-comment="" $< /dev/null - - sane.ps: sane.dvi - @echo Generating $@ from $<... -- @$(am_TEXINPUTS) $(DVIPS) -q $< -o $@ -+ @$(am_TEXINPUTS) $(DVIPS) -q -N $< -o $@ - - .fig.pdf: - @test -d $(@D) || $(MKDIR_P) $(@D) -Index: trunk/testsuite/tools/data/db.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/db.ref -+++ trunk/testsuite/tools/data/db.ref -@@ -1,5 +1,5 @@ - # This file was automatically created based on description files (*.desc) --# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:48 2013 -+# by sane-desc 3.5 from sane-backends 1.0.28-debian - # - # The entries below are used to detect a USB device when it's plugged in - # and then run a script to change the ownership and -Index: trunk/testsuite/tools/data/hwdb.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/hwdb.ref -+++ trunk/testsuite/tools/data/hwdb.ref -@@ -1,5 +1,5 @@ - # This file was automatically created based on description files (*.desc) --# by sane-desc 3.5 from sane-backends 1.0.25git on Tue Dec 3 15:24:46 2013 -+# by sane-desc 3.5 from sane-backends 1.0.28-debian - # - # hwdb file for supported USB devices - # -Index: trunk/testsuite/tools/data/usermap.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/usermap.ref -+++ trunk/testsuite/tools/data/usermap.ref -@@ -1,5 +1,5 @@ - # This file was automatically created based on description files (*.desc) --# by sane-desc 3.5 from sane-backends 1.0.24git on Wed Jul 31 07:52:48 2013 -+# by sane-desc 3.5 from sane-backends 1.0.28-debian - # - # The entries below are used to detect a USB device and change owner - # and permissions on the "device node" used by libusb. -- cgit v1.2.3 From 54b482bb6bbd58a850d32ab654aa8df4e6c16480 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Fri, 14 Feb 2020 10:57:13 +0100 Subject: Rename debian/NEWS.Debian to debian/NEWS --- debian/NEWS | 14 ++++++++++++++ debian/NEWS.Debian | 14 -------------- debian/changelog | 3 +++ 3 files changed, 17 insertions(+), 14 deletions(-) create mode 100644 debian/NEWS delete mode 100644 debian/NEWS.Debian diff --git a/debian/NEWS b/debian/NEWS new file mode 100644 index 0000000..12d594c --- /dev/null +++ b/debian/NEWS @@ -0,0 +1,14 @@ +sane-backends (1.0.25-3) unstable; urgency=medium + + With release 1.0.24-14 sane-config must move from the Multi-Arch same + packages libsane-dev to the new Multi-Arch foreign package libsane-bin. + . + Now I get the lintian error "old-style-config-script-multiarch-path". After + the diskussion at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820964 + I think it is the best to remove sane-config from Debian. + . + All other options are still not Multi-Arch conform. + . + Please use pkg-config instead of sane-config from the package pkg-config. + + -- Jörg Frings-Fürst Sat, 10 Dec 2016 13:45:15 +0100 diff --git a/debian/NEWS.Debian b/debian/NEWS.Debian deleted file mode 100644 index 12d594c..0000000 --- a/debian/NEWS.Debian +++ /dev/null @@ -1,14 +0,0 @@ -sane-backends (1.0.25-3) unstable; urgency=medium - - With release 1.0.24-14 sane-config must move from the Multi-Arch same - packages libsane-dev to the new Multi-Arch foreign package libsane-bin. - . - Now I get the lintian error "old-style-config-script-multiarch-path". After - the diskussion at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820964 - I think it is the best to remove sane-config from Debian. - . - All other options are still not Multi-Arch conform. - . - Please use pkg-config instead of sane-config from the package pkg-config. - - -- Jörg Frings-Fürst Sat, 10 Dec 2016 13:45:15 +0100 diff --git a/debian/changelog b/debian/changelog index 8b27140..ed3f0b4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -50,6 +50,9 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium init.d script. * debian/control: Add Pre-Depends ${misc:Pre-Depends} to install invoke-rc.d. * debian/watch: Rewrite for the new Gitlab directory layout. + * Rename debian/NEWS.Debian to debian/NEWS. + * debian/control: + - Add missing depends. -- Jörg Frings-Fürst Tue, 23 Jul 2019 12:32:06 +0200 -- cgit v1.2.3 From 335e65d5b97023cb3fd0b4dc2ed0fe587554e88d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Fri, 14 Feb 2020 15:33:07 +0100 Subject: d/copyright: Refresh for the new upstream release; Add year 2020 for debian/* --- debian/changelog | 2 +- debian/control | 2 +- debian/copyright | 71 ++++++++++++++++++++++++++++---------------------------- 3 files changed, 37 insertions(+), 38 deletions(-) diff --git a/debian/changelog b/debian/changelog index ed3f0b4..0204425 100644 --- a/debian/changelog +++ b/debian/changelog @@ -30,7 +30,7 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium * debian/sane-utils.config: Remove the RUN parameter in compliance with Debian Policy Manual section 9.3.3.1 (Closes: #915197). * debian/copyright: - - Add year 2019 for debian/*. + - Add year 2020 for debian/*. - Add missing Uploaders to debian/*. - Refresh for the new upstream release. * Fix the lintian warning "libsane: package-name-doesnt-match-sonames diff --git a/debian/control b/debian/control index fdebd2c..cb74d97 100644 --- a/debian/control +++ b/debian/control @@ -13,7 +13,7 @@ Build-Depends: libavahi-client-dev, libcam-dev [kfreebsd-any], libcups2-dev, - libcurl-dev, + libcurl4-gnutls-dev, libgphoto2-dev, libieee1284-3-dev [!hurd-i386], libjpeg-dev, diff --git a/debian/copyright b/debian/copyright index 9ce5455..80efaa3 100644 --- a/debian/copyright +++ b/debian/copyright @@ -15,7 +15,7 @@ Copyright: 1997-2002 Kevin Dalley 2013 Mark Buda 2018 Laurent Bigonville 2019 John Paul Adrian Glaubitz - 2014-2019 Jörg Frings-Fürst + 2014-2020 Jörg Frings-Fürst License: GPL-2+ with sane exception Files: backend/abaton.* @@ -119,6 +119,11 @@ Files: backend/dmc.* Copyright: 1998 David F. Skoll License: GPL-2+ with sane exception +Files: backend/escl/* +Copyright: 2019 Touboul Nathane + 2019 Thierry HUCHARD +License: GPL-2+ with sane exception + Files: backend/epjitsu*.* Copyright: 2007-2015 m. allan noah 2009 Richard Goedeken @@ -156,39 +161,37 @@ Copyright: 2000 Randolph Bentson 2003-2016 m. allan noah License: GPL-2+ with sane exception -Files: backend/genesys.h +Files: backend/genesys/genesys.h Copyright: 2003-2004 Henning Meier-Geinitz 2004-2005 Gerhard Jaeger 2004-2013 Stéphane Voltz 2005-2009 Pierre Willenbrock License: GPL-2+ with sane exception -Files: backend/genesys_gl124.* - backend/genesys_gl841.h - backend/genesys_gl843.* - backend/genesys_gl846.* - backend/genesys_gl847.* +Files: backend/genesys/gl124.* + backend/genesys/gl841.h + backend/genesys/gl843.* + backend/genesys/gl846.* + backend/genesys/gl847.* backend/rts88*.* backend/umax_pp*.* Copyright: 2010-2016 Stéphane Voltz License: GPL-2+ with sane exception -Files: backend/genesys_error.cc - backend/genesys_serialize.h - backend/genesys_error.h - backend/genesys_sanei.cc - backend/genesys_sanei.h +Files: backend/genesys/error.cpp + backend/genesys/serialize.h + backend/genesys/error.h Copyright: 2019 Povilas Kanapickas License: GPL-2+ with sane exception -Files: backend/genesys_gl646.h +Files: backend/genesys/gl646.h Copyright: 2003-2004 Henning Meier-Geinitz 2004 Gerhard Jaeger 2004-2013 Stéphane Voltz 2005-2009 Pierre Willenbrock License: GPL-2+ with sane exception -Files: backend/genesys_low.h +Files: backend/genesys/low.h Copyright: 2003 Oliver Rauch 2003-2004 Henning Meier-Geinitz 2004-2005 Gerhard Jaeger @@ -418,30 +421,25 @@ Files: backend/pint.h Copyright: 1997 Gordon Matzigkeit License: GPL-2+ with sane exception -Files: backend/pixma.* - backend/pixma_common.c - backend/pixma_imageclass.c - backend/pixma_mp150.c - backend/pixma_mp730.c - backend/pixma_mp810.c +Files: backend/pixma/pixma*.* Copyright: 2007-2008 Nicolas Martin, 2006-2007 Wittawat Yamwong 2011-2019 Rolf Bensch License: GPL-2+ with sane exception -Files: backend/pixma_bjnp*.* +Files: backend/pixma/pixma_bjnp*.* Copyright: 2008-2012 Louis Lagendijk License: GPL-2+ with sane exception -Files: backend/pixma_common.h - backend/pixma_io_sanei.c - backend/pixma_mp750.c +Files: backend/pixma/pixma_common.h + backend/pixma/pixma_io_sanei.c + backend/pixma/pixma_mp750.c Copyright: 2006-2007 Wittawat Yamwong 2011-2016 Rolf Bensch License: GPL-2+ with sane exception -Files: backend/pixma_io.h - backend/pixma_rename.h +Files: backend/pixma/pixma_io.h + backend/pixma/pixma_rename.h Copyright: 2006-2007 Wittawat Yamwong License: GPL-2+ with sane exception @@ -508,15 +506,15 @@ Copyright: 1996-1997 Andreas Beck 2008 Stéphane Voltz License: GPL-2+ with sane exception +Files: backend/ricoh*.* +Copyright: 1998 F.W. Dillema +License: GPL-2+ with sane exception + Files: backend/ricoh2.c backend/ricoh2_buffer.c Copyright: 2018 Stanislav Yuzvinsky License: GPL-2+ with sane exception -Files: backend/ricoh*.* -Copyright: 1998 F.W. Dillema -License: GPL-2+ with sane exception - Files: backend/s9036*.* Copyright: 1997 Ingo Schneider License: GPL-2+ with sane exception @@ -866,18 +864,19 @@ Copyright: 2001-2005 Henning Meier-Geinitz 2011 Reinhold Kainhofer License: GPL-2+ with sane exception -Files: testsuite/backend/genesys/Makefile.am +Files: testsuite/backend/Makefile.am + testsuite/backend/genesys/Makefile.am Copyright: 2019 Sane Developers License: GPL-2+ with sane exception -Files: testsuite/backend/genesys/minigtest.cc - testsuite/backend/genesys/minigtest.h - testsuite/backend/genesys/tests.cc - testsuite/backend/genesys/tests.h - testsuite/backend/genesys/tests_calibration.cc +Files: testsuite/backend/genesys/* Copyright: 2019 Povilas Kanapickas License: GPL-2+ with sane exception +Files: testsuite/backend/genesys/Makefile.am +Copyright: 2019 Sane Developers +License: GPL-2+ with sane exception + Files: tools/create-release.sh tools/create-changelog.sh tools/update-upstreams.sh -- cgit v1.2.3 From db733b637cf3c8f0e1617a16e6c55f95acc30af7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Fri, 14 Feb 2020 15:37:50 +0100 Subject: d/control: Change Conflicts/Replaces to the new release --- debian/changelog | 1 + debian/control | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 0204425..e98a348 100644 --- a/debian/changelog +++ b/debian/changelog @@ -53,6 +53,7 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium * Rename debian/NEWS.Debian to debian/NEWS. * debian/control: - Add missing depends. + - Change Conflicts/Replaces to the new release. -- Jörg Frings-Fürst Tue, 23 Jul 2019 12:32:06 +0200 diff --git a/debian/control b/debian/control index cb74d97..8849606 100644 --- a/debian/control +++ b/debian/control @@ -84,8 +84,8 @@ Package: libsane1 Section: libs Architecture: any Multi-Arch: same -Conflicts: libsane (<< 1.0.28-1~) -Replaces: libsane (<< 1.0.28-1~) +Conflicts: libsane (<< 1.0.29-1~) +Replaces: libsane (<< 1.0.29-1~) Provides: libsane (= ${binary:Version}) Depends: acl [linux-any], -- cgit v1.2.3 From 07c01c634c97e8787d0f9bbb7f76beb647b9ad1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 15 Feb 2020 09:47:49 +0100 Subject: d/*.manpages: Rewrite to install from new directory; remove useless lintian-overrides --- debian/changelog | 1 + debian/libsane-common.lintian-overrides | 10 ---------- debian/libsane-common.manpages | 2 +- debian/sane-utils.lintian-overrides | 2 +- debian/sane-utils.manpages | 7 ++----- 5 files changed, 5 insertions(+), 17 deletions(-) diff --git a/debian/changelog b/debian/changelog index e98a348..a826a15 100644 --- a/debian/changelog +++ b/debian/changelog @@ -54,6 +54,7 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium * debian/control: - Add missing depends. - Change Conflicts/Replaces to the new release. + * debian/*.manpages: Rewrite to install from new directory. -- Jörg Frings-Fürst Tue, 23 Jul 2019 12:32:06 +0200 diff --git a/debian/libsane-common.lintian-overrides b/debian/libsane-common.lintian-overrides index 0a1a9f4..1386138 100644 --- a/debian/libsane-common.lintian-overrides +++ b/debian/libsane-common.lintian-overrides @@ -4,13 +4,3 @@ libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-gt68xx.5.gz afe safe libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-gt68xx.5.gz afe safe libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-gt68xx.5.gz afe safe - -# -# See bug #934452 -# -libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-canon_dr.5.gz busses buses -libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-canon_dr.5.gz busses buses -libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-cardscan.5.gz busses buses -libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-fujitsu.5.gz busses buses -libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-fujitsu.5.gz busses buses -libsane-common: spelling-error-in-manpage usr/share/man/man5/sane-kodak.5.gz busses buses diff --git a/debian/libsane-common.manpages b/debian/libsane-common.manpages index d8b3598..fa664f3 100644 --- a/debian/libsane-common.manpages +++ b/debian/libsane-common.manpages @@ -1 +1 @@ -doc/*.man +usr/share/man/man5/*.5 diff --git a/debian/sane-utils.lintian-overrides b/debian/sane-utils.lintian-overrides index 94f310e..2be92a2 100644 --- a/debian/sane-utils.lintian-overrides +++ b/debian/sane-utils.lintian-overrides @@ -1,4 +1,4 @@ # # /etc/init.d/saned exists # -sane-utils: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/saned@.service \ No newline at end of file +#sane-utils: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/saned@.service diff --git a/debian/sane-utils.manpages b/debian/sane-utils.manpages index 02e37a7..357020f 100644 --- a/debian/sane-utils.manpages +++ b/debian/sane-utils.manpages @@ -1,5 +1,2 @@ -doc/gamma4scanimage.man -doc/sane-find-scanner.man -doc/scanimage.man -doc/saned.man -doc/sane-umax_pp.man +usr/share/man/man8/*.8 +usr/share/man/man1/*.1 -- cgit v1.2.3 From 77e91a08c8f95edcabbe5a65affeed2293859228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 15 Feb 2020 11:30:40 +0100 Subject: Fix typo at doc/sane-pixma.man; fix man page handling --- .pc/.quilt_patches | 1 + .pc/.quilt_series | 1 + .pc/.version | 1 + debian/patches/0100-source_spelling.patch | 9 ++++ debian/patches/0100-source_spelling.patch~ | 74 ++++++++++++++++++++++++++++++ debian/sane-utils.manpages | 1 + 6 files changed, 87 insertions(+) create mode 100644 .pc/.quilt_patches create mode 100644 .pc/.quilt_series create mode 100644 .pc/.version create mode 100644 debian/patches/0100-source_spelling.patch~ diff --git a/.pc/.quilt_patches b/.pc/.quilt_patches new file mode 100644 index 0000000..6857a8d --- /dev/null +++ b/.pc/.quilt_patches @@ -0,0 +1 @@ +debian/patches diff --git a/.pc/.quilt_series b/.pc/.quilt_series new file mode 100644 index 0000000..c206706 --- /dev/null +++ b/.pc/.quilt_series @@ -0,0 +1 @@ +series diff --git a/.pc/.version b/.pc/.version new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/.pc/.version @@ -0,0 +1 @@ +2 diff --git a/debian/patches/0100-source_spelling.patch b/debian/patches/0100-source_spelling.patch index 916e502..baca168 100644 --- a/debian/patches/0100-source_spelling.patch +++ b/debian/patches/0100-source_spelling.patch @@ -63,6 +63,15 @@ Index: trunk/doc/sane-pixma.man =================================================================== --- trunk.orig/doc/sane-pixma.man +++ trunk/doc/sane-pixma.man +@@ -307,7 +307,7 @@ This will cause all further statements i + .IP - + A line that contains + .B auto_detection=no +-will cause auto-detection to be skipped. Explicitely defined network scanners will still be probed. ++will cause auto-detection to be skipped. Explicitly defined network scanners will still be probed. + .SH USB SUPPORT + USB scanners will be auto-detected and require no configuration. + .SH NETWORKING SUPPORT @@ -337,7 +337,7 @@ common subnet for scanning. .PP Scanner detection is slightly more complicated. The pixma backend sends diff --git a/debian/patches/0100-source_spelling.patch~ b/debian/patches/0100-source_spelling.patch~ new file mode 100644 index 0000000..916e502 --- /dev/null +++ b/debian/patches/0100-source_spelling.patch~ @@ -0,0 +1,74 @@ +Description: Correct source typos +Author: Jörg Frings-Fürst +Last-Update: 2019-04-28 +---- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/doc/sane-epjitsu.man +=================================================================== +--- trunk.orig/doc/sane-epjitsu.man ++++ trunk/doc/sane-epjitsu.man +@@ -42,7 +42,7 @@ Scanners can be specified in the configu + .PP + "usb 0x04c5 0x10c7" (or other vendor/product ids) + .RS +-Requests backend to search all usb busses in the system for a device which uses that vendor and product id. The device will then be queried to determine if it is a supported scanner. ++Requests backend to search all usb buses in the system for a device which uses that vendor and product id. The device will then be queried to determine if it is a supported scanner. + .RE + .PP + "usb /dev/usb/scanner0" (or other device file) +Index: trunk/backend/apple.c +=================================================================== +--- trunk.orig/backend/apple.c ++++ trunk/backend/apple.c +@@ -1546,7 +1546,7 @@ init_options (Apple_Scanner * s) + /* Use volt_ref */ + s->opt[OPT_VOLT_REF].name = "volt-ref"; + s->opt[OPT_VOLT_REF].title = "Volt Reference"; +- s->opt[OPT_VOLT_REF].desc ="It's brightness equivalant."; ++ s->opt[OPT_VOLT_REF].desc ="It's brightness equivalent."; + s->opt[OPT_VOLT_REF].type = SANE_TYPE_BOOL; + if (s->hw->ScannerModel!=COLORONESCANNER) + s->opt[OPT_VOLT_REF].cap |= SANE_CAP_INACTIVE; +Index: trunk/tools/umax_pp.c +=================================================================== +--- trunk.orig/tools/umax_pp.c ++++ trunk/tools/umax_pp.c +@@ -374,10 +374,10 @@ main (int argc, char **argv) + if (sanei_umax_pp_initPort (port, name) != 1) + { + if (port) +- fprintf (stderr, "failed to gain direct acces to port 0x%X!\n", ++ fprintf (stderr, "failed to gain direct access to port 0x%X!\n", + port); + else +- fprintf (stderr, "failed to gain acces to device %s!\n", name); ++ fprintf (stderr, "failed to gain access to device %s!\n", name); + return 0; + } + } +Index: trunk/doc/saned.man +=================================================================== +--- trunk.orig/doc/saned.man ++++ trunk/doc/saned.man +@@ -254,7 +254,7 @@ to the systemd journal. The systemd supp + requires compilation with the systemd-devel package + installed on the system. this is the preferred option. + +-Saned can be used wih systemd without the systemd integration ++Saned can be used with systemd without the systemd integration + compiled in, but then logging of debug information is not supported. + + The systemd configuration is different for the 2 options, so +Index: trunk/doc/sane-pixma.man +=================================================================== +--- trunk.orig/doc/sane-pixma.man ++++ trunk/doc/sane-pixma.man +@@ -337,7 +337,7 @@ common subnet for scanning. + .PP + Scanner detection is slightly more complicated. The pixma backend sends + a broadcast on all direct connected subnets it can find (provided your OS +-allows for enumeration of all netowrk interfaces). The broadcast is sent FROM ++allows for enumeration of all network interfaces). The broadcast is sent FROM + port 8612 TO port 8610 or 8612 on the broadcast address of each interface. + The outgoing packets will be allowed by the rule described above. + .PP diff --git a/debian/sane-utils.manpages b/debian/sane-utils.manpages index 357020f..6a2c010 100644 --- a/debian/sane-utils.manpages +++ b/debian/sane-utils.manpages @@ -1,2 +1,3 @@ usr/share/man/man8/*.8 usr/share/man/man1/*.1 +/usr/share/man/man5/sane-umax_pp.5 -- cgit v1.2.3 From 6148b770249072553d3e6b591a72f6c1626a7194 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 15 Feb 2020 11:32:27 +0100 Subject: Add .ps to .gitignore; remove backup files from git --- .gitignore | 1 + .pc/.quilt_patches | 1 - .pc/.quilt_series | 1 - .pc/.version | 1 - debian/patches/0100-source_spelling.patch~ | 74 ------------------------------ 5 files changed, 1 insertion(+), 77 deletions(-) delete mode 100644 .pc/.quilt_patches delete mode 100644 .pc/.quilt_series delete mode 100644 .pc/.version delete mode 100644 debian/patches/0100-source_spelling.patch~ diff --git a/.gitignore b/.gitignore index aed89bd..ce86210 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ *.po~ .deps/ .libs/ +.pc/ # files generated during the configure step Makefile diff --git a/.pc/.quilt_patches b/.pc/.quilt_patches deleted file mode 100644 index 6857a8d..0000000 --- a/.pc/.quilt_patches +++ /dev/null @@ -1 +0,0 @@ -debian/patches diff --git a/.pc/.quilt_series b/.pc/.quilt_series deleted file mode 100644 index c206706..0000000 --- a/.pc/.quilt_series +++ /dev/null @@ -1 +0,0 @@ -series diff --git a/.pc/.version b/.pc/.version deleted file mode 100644 index 0cfbf08..0000000 --- a/.pc/.version +++ /dev/null @@ -1 +0,0 @@ -2 diff --git a/debian/patches/0100-source_spelling.patch~ b/debian/patches/0100-source_spelling.patch~ deleted file mode 100644 index 916e502..0000000 --- a/debian/patches/0100-source_spelling.patch~ +++ /dev/null @@ -1,74 +0,0 @@ -Description: Correct source typos -Author: Jörg Frings-Fürst -Last-Update: 2019-04-28 ----- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/doc/sane-epjitsu.man -=================================================================== ---- trunk.orig/doc/sane-epjitsu.man -+++ trunk/doc/sane-epjitsu.man -@@ -42,7 +42,7 @@ Scanners can be specified in the configu - .PP - "usb 0x04c5 0x10c7" (or other vendor/product ids) - .RS --Requests backend to search all usb busses in the system for a device which uses that vendor and product id. The device will then be queried to determine if it is a supported scanner. -+Requests backend to search all usb buses in the system for a device which uses that vendor and product id. The device will then be queried to determine if it is a supported scanner. - .RE - .PP - "usb /dev/usb/scanner0" (or other device file) -Index: trunk/backend/apple.c -=================================================================== ---- trunk.orig/backend/apple.c -+++ trunk/backend/apple.c -@@ -1546,7 +1546,7 @@ init_options (Apple_Scanner * s) - /* Use volt_ref */ - s->opt[OPT_VOLT_REF].name = "volt-ref"; - s->opt[OPT_VOLT_REF].title = "Volt Reference"; -- s->opt[OPT_VOLT_REF].desc ="It's brightness equivalant."; -+ s->opt[OPT_VOLT_REF].desc ="It's brightness equivalent."; - s->opt[OPT_VOLT_REF].type = SANE_TYPE_BOOL; - if (s->hw->ScannerModel!=COLORONESCANNER) - s->opt[OPT_VOLT_REF].cap |= SANE_CAP_INACTIVE; -Index: trunk/tools/umax_pp.c -=================================================================== ---- trunk.orig/tools/umax_pp.c -+++ trunk/tools/umax_pp.c -@@ -374,10 +374,10 @@ main (int argc, char **argv) - if (sanei_umax_pp_initPort (port, name) != 1) - { - if (port) -- fprintf (stderr, "failed to gain direct acces to port 0x%X!\n", -+ fprintf (stderr, "failed to gain direct access to port 0x%X!\n", - port); - else -- fprintf (stderr, "failed to gain acces to device %s!\n", name); -+ fprintf (stderr, "failed to gain access to device %s!\n", name); - return 0; - } - } -Index: trunk/doc/saned.man -=================================================================== ---- trunk.orig/doc/saned.man -+++ trunk/doc/saned.man -@@ -254,7 +254,7 @@ to the systemd journal. The systemd supp - requires compilation with the systemd-devel package - installed on the system. this is the preferred option. - --Saned can be used wih systemd without the systemd integration -+Saned can be used with systemd without the systemd integration - compiled in, but then logging of debug information is not supported. - - The systemd configuration is different for the 2 options, so -Index: trunk/doc/sane-pixma.man -=================================================================== ---- trunk.orig/doc/sane-pixma.man -+++ trunk/doc/sane-pixma.man -@@ -337,7 +337,7 @@ common subnet for scanning. - .PP - Scanner detection is slightly more complicated. The pixma backend sends - a broadcast on all direct connected subnets it can find (provided your OS --allows for enumeration of all netowrk interfaces). The broadcast is sent FROM -+allows for enumeration of all network interfaces). The broadcast is sent FROM - port 8612 TO port 8610 or 8612 on the broadcast address of each interface. - The outgoing packets will be allowed by the rule described above. - .PP -- cgit v1.2.3 From 77d18038cab957d4f82e19b16569d6ad1de81c88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 15 Feb 2020 11:37:38 +0100 Subject: Switch to debhelper-compat --- debian/changelog | 3 +++ debian/compat | 1 - debian/control | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) delete mode 100644 debian/compat diff --git a/debian/changelog b/debian/changelog index a826a15..17d3b9e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -55,6 +55,9 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium - Add missing depends. - Change Conflicts/Replaces to the new release. * debian/*.manpages: Rewrite to install from new directory. + * Switch to debhelper-compat: + - debian/control: Replace debhelper with debhelper-compat. + - Remove debian/compat. -- Jörg Frings-Fürst Tue, 23 Jul 2019 12:32:06 +0200 diff --git a/debian/compat b/debian/compat deleted file mode 100644 index 48082f7..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -12 diff --git a/debian/control b/debian/control index 8849606..94ef08f 100644 --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ Build-Depends: autoconf, autoconf-archive, chrpath, - debhelper (>= 12), + debhelper-compat (= 12), gettext, git, libavahi-client-dev, -- cgit v1.2.3 From e774d623f35f73a7d0104244314fbaeb3ba3ceed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 15 Feb 2020 12:26:42 +0100 Subject: Add Rules-Requires-Root --- debian/changelog | 1 + debian/control | 1 + 2 files changed, 2 insertions(+) diff --git a/debian/changelog b/debian/changelog index 17d3b9e..090be05 100644 --- a/debian/changelog +++ b/debian/changelog @@ -54,6 +54,7 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium * debian/control: - Add missing depends. - Change Conflicts/Replaces to the new release. + - Add Rules-Requires-Root. * debian/*.manpages: Rewrite to install from new directory. * Switch to debhelper-compat: - debian/control: Replace debhelper with debhelper-compat. diff --git a/debian/control b/debian/control index 94ef08f..85d57f8 100644 --- a/debian/control +++ b/debian/control @@ -29,6 +29,7 @@ Build-Depends: Homepage: http://www.sane-project.org Vcs-Git: git://jff.email/opt/git/sane-backends.git Vcs-Browser: https://jff.email/cgit/sane-backends.git +Rules-Requires-Root: no Package: sane-utils Architecture: any -- cgit v1.2.3 From 78947113fc8982f9ebdc61df3710ed09b14f58ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 15 Feb 2020 19:18:10 +0100 Subject: Install all docs --- debian/changelog | 3 +++ debian/control | 1 - debian/libsane-common.dirs | 13 +++++++++++++ debian/libsane-common.docs | 10 ++++++++++ debian/libsane-common.install | 13 +++++++++++++ debian/not-installed | 4 ++++ debian/sane-utils.install | 2 +- 7 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 debian/libsane-common.dirs create mode 100644 debian/libsane-common.docs create mode 100644 debian/not-installed diff --git a/debian/changelog b/debian/changelog index 090be05..3e5b6cd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -59,6 +59,9 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium * Switch to debhelper-compat: - debian/control: Replace debhelper with debhelper-compat. - Remove debian/compat. + * Install all docs: + - New debian/libsane-common.dirs, debian/libsane-common.docs, + debian/not-installed. -- Jörg Frings-Fürst Tue, 23 Jul 2019 12:32:06 +0200 diff --git a/debian/control b/debian/control index 85d57f8..aa97e9f 100644 --- a/debian/control +++ b/debian/control @@ -9,7 +9,6 @@ Build-Depends: chrpath, debhelper-compat (= 12), gettext, - git, libavahi-client-dev, libcam-dev [kfreebsd-any], libcups2-dev, diff --git a/debian/libsane-common.dirs b/debian/libsane-common.dirs new file mode 100644 index 0000000..3dc3897 --- /dev/null +++ b/debian/libsane-common.dirs @@ -0,0 +1,13 @@ +usr/share/doc/libsane-common/mustek_usb2 +usr/share/doc/libsane-common/teco +usr/share/doc/libsane-common/u12 +usr/share/doc/libsane-common/niash +usr/share/doc/libsane-common/mustek_usb +usr/share/doc/libsane-common/leo +usr/share/doc/libsane-common/canon +usr/share/doc/libsane-common/plustek +usr/share/doc/libsane-common/mustek +usr/share/doc/libsane-common/gt68xx +usr/share/doc/libsane-common/matsushita +usr/share/doc/libsane-common/sceptre +usr/share/doc/libsane-common/umax diff --git a/debian/libsane-common.docs b/debian/libsane-common.docs new file mode 100644 index 0000000..e72fc8f --- /dev/null +++ b/debian/libsane-common.docs @@ -0,0 +1,10 @@ +usr/share/doc/libsane/*.html +usr/share/doc/libsane/PROBLEMS +usr/share/doc/libsane/NEWS +usr/share/doc/libsane/ChangeLog +usr/share/doc/libsane/COPYING +usr/share/doc/libsane/ChangeLogs/* +usr/share/doc/libsane/README +usr/share/doc/libsane/PROJECTS +usr/share/doc/libsane/LICENSE +usr/share/doc/libsane/AUTHORS diff --git a/debian/libsane-common.install b/debian/libsane-common.install index 9def933..df59302 100644 --- a/debian/libsane-common.install +++ b/debian/libsane-common.install @@ -3,3 +3,16 @@ usr/share/man/man7 usr/share/locale/ usr/share/man/man5/sane-scsi.5 usr/share/man/man5/sane-usb.5 +usr/share/doc/libsane/mustek_usb2/* usr/share/doc/libsane-common/mustek_usb2 +usr/share/doc/libsane/teco/* usr/share/doc/libsane-common/teco +usr/share/doc/libsane/u12/* usr/share/doc/libsane-common/u12 +usr/share/doc/libsane/niash/* usr/share/doc/libsane-common/niash +usr/share/doc/libsane/mustek_usb/* usr/share/doc/libsane-common/mustek_usb +usr/share/doc/libsane/leo/* usr/share/doc/libsane-common/leo +usr/share/doc/libsane/canon/* usr/share/doc/libsane-common/canon +usr/share/doc/libsane/plustek/* usr/share/doc/libsane-common/plustek +usr/share/doc/libsane/mustek/* usr/share/doc/libsane-common/mustek +usr/share/doc/libsane/gt68xx/* usr/share/doc/libsane-common/gt68xx +usr/share/doc/libsane/matsushita/* usr/share/doc/libsane-common/matsushita +usr/share/doc/libsane/sceptre/* usr/share/doc/libsane-common/sceptre +usr/share/doc/libsane/umax/* usr/share/doc/libsane-common/umax diff --git a/debian/not-installed b/debian/not-installed new file mode 100644 index 0000000..be47de8 --- /dev/null +++ b/debian/not-installed @@ -0,0 +1,4 @@ +usr/lib/*/sane/*.la +usr/lib/*/.la +usr/share/doc/libsane-common/README.* +usr/bin/sane-config diff --git a/debian/sane-utils.install b/debian/sane-utils.install index 0162791..c6afd3e 100644 --- a/debian/sane-utils.install +++ b/debian/sane-utils.install @@ -3,4 +3,4 @@ usr/bin/gamma4scanimage usr/bin/sane-find-scanner usr/bin/scanimage usr/sbin/saned -tools/umax_pp usr/bin +usr/bin/umax_pp -- cgit v1.2.3 From bfdf25e7d41b1c4f54578179fefd360393b307fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 15 Feb 2020 21:40:39 +0100 Subject: Fix autopkgtest; fix typos --- debian/changelog | 2 +- debian/files | 1 + debian/not-installed | 4 ++-- debian/tests/control | 4 ++-- debian/tests/start-net | 12 ++++++------ 5 files changed, 12 insertions(+), 11 deletions(-) create mode 100644 debian/files diff --git a/debian/changelog b/debian/changelog index 3e5b6cd..9c37a72 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,7 +17,6 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium - Don't install obsolete hal fdi file (Closes: #913282). * Remove architecture dependent symbols files. * Merge release 1.0.27-3.2 into source tree. - - I disagree the changes from 1.0.27-3.1. - Thanks to John Paul Adrian Glaubitz for the bug fix. * New debian/patches/0725-fix_link_60-libsane_rule.patch: - Fix directory for 20-sane.hwdb (Closes: #916239). @@ -62,6 +61,7 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium * Install all docs: - New debian/libsane-common.dirs, debian/libsane-common.docs, debian/not-installed. + * Fix autopkgtest. -- Jörg Frings-Fürst Tue, 23 Jul 2019 12:32:06 +0200 diff --git a/debian/files b/debian/files new file mode 100644 index 0000000..2fbe88b --- /dev/null +++ b/debian/files @@ -0,0 +1 @@ +sane-backends_1.0.29-1~experimental1_source.buildinfo graphics optional diff --git a/debian/not-installed b/debian/not-installed index be47de8..fa760b5 100644 --- a/debian/not-installed +++ b/debian/not-installed @@ -1,4 +1,4 @@ usr/lib/*/sane/*.la -usr/lib/*/.la -usr/share/doc/libsane-common/README.* +usr/lib/*/*.la +usr/share/doc/libsane/README.* usr/bin/sane-config diff --git a/debian/tests/control b/debian/tests/control index 0d875a9..af31d1d 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -5,5 +5,5 @@ # 1. start-net # Tests: start-net -Depends: sane-utils -Restrictions: needs-root allow-stderr breaks-testbed +Depends: sane-utils, grep, coreutils +Restrictions: needs-root allow-stderr diff --git a/debian/tests/start-net b/debian/tests/start-net index dbc2c28..4ce08f1 100644 --- a/debian/tests/start-net +++ b/debian/tests/start-net @@ -7,23 +7,23 @@ set -ex # Enable localhost -sed -i '/localhost/d' /etc/sane.d/saned.conf +/bin/sed -i '/localhost/d' /etc/sane.d/saned.conf echo localhost >>/etc/sane.d/saned.conf # Enable pnm -sed -i 's/^#\(pnm\)$/\1/' /etc/sane.d/dll.conf +/bin/sed -i 's/^#\(pnm\)$/\1/' /etc/sane.d/dll.conf # Enable net @ localhost -sed -i 's/^# \(localhost\)$/\1/' /etc/sane.d/net.conf +/bin/sed -i 's/^# \(localhost\)$/\1/' /etc/sane.d/net.conf # Enable & start saned.socket -systemctl enable saned.socket -systemctl start saned.socket +#/bin/systemctl enable saned.socket +#/bin/systemctl start saned.socket # # test # -CNT=`scanimage -d net -L | grep net: | wc -l` +CNT=`/usr/bin/scanimage -d net -L | /bin/grep net: | /usr/bin/wc -l` if [ ${CNT} -eq 2 ] ; then exit 0 -- cgit v1.2.3 From 613df5adc1b20a53c2a0e7fc7d61a377876dd563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 15 Feb 2020 21:46:44 +0100 Subject: d/changelog: Change date and time --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 9c37a72..0e312d4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -63,7 +63,7 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium debian/not-installed. * Fix autopkgtest. - -- Jörg Frings-Fürst Tue, 23 Jul 2019 12:32:06 +0200 + -- Jörg Frings-Fürst Sat, 15 Feb 2020 21:42:48 +0100 sane-backends (1.0.27-3.2) unstable; urgency=medium -- cgit v1.2.3 From ab0254d049c7f870a0cf4971a310166271181e87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 15 Feb 2020 22:05:42 +0100 Subject: Declare compliance with Debian Policy 4.5.0 --- debian/changelog | 2 +- debian/control | 2 +- debian/files | 1 - debian/libsane-common.docs | 1 - debian/libsane1.symbols | 1 + debian/not-installed | 2 ++ 6 files changed, 5 insertions(+), 4 deletions(-) delete mode 100644 debian/files diff --git a/debian/changelog b/debian/changelog index 0e312d4..9ef0523 100644 --- a/debian/changelog +++ b/debian/changelog @@ -44,7 +44,7 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium * Migrate to debhelper 12: - Change debian/compat to 12. - Bump minimum debhelper version in debian/control to >= 12. - * Declare compliance with Debian Policy 4.4.0 (No changes needed). + * Declare compliance with Debian Policy 4.5.0 (No changes needed). * New debian/sane-utils.lintian-overrides to override false positive missing init.d script. * debian/control: Add Pre-Depends ${misc:Pre-Depends} to install invoke-rc.d. diff --git a/debian/control b/debian/control index aa97e9f..344f204 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: sane-backends Section: graphics Priority: optional Maintainer: Jörg Frings-Fürst -Standards-Version: 4.4.0 +Standards-Version: 4.5.0 Build-Depends: autoconf, autoconf-archive, diff --git a/debian/files b/debian/files deleted file mode 100644 index 2fbe88b..0000000 --- a/debian/files +++ /dev/null @@ -1 +0,0 @@ -sane-backends_1.0.29-1~experimental1_source.buildinfo graphics optional diff --git a/debian/libsane-common.docs b/debian/libsane-common.docs index e72fc8f..4132599 100644 --- a/debian/libsane-common.docs +++ b/debian/libsane-common.docs @@ -6,5 +6,4 @@ usr/share/doc/libsane/COPYING usr/share/doc/libsane/ChangeLogs/* usr/share/doc/libsane/README usr/share/doc/libsane/PROJECTS -usr/share/doc/libsane/LICENSE usr/share/doc/libsane/AUTHORS diff --git a/debian/libsane1.symbols b/debian/libsane1.symbols index dbfade9..91c0192 100644 --- a/debian/libsane1.symbols +++ b/debian/libsane1.symbols @@ -1,4 +1,5 @@ libsane.so.1 libsane1 #MINVER# +* Build-Depends-Package: libsane-dev cmsg@Base 1.0.29 fail_test@Base 1.0.29 md5_buffer@Base 1.0.27 diff --git a/debian/not-installed b/debian/not-installed index fa760b5..fc54c72 100644 --- a/debian/not-installed +++ b/debian/not-installed @@ -2,3 +2,5 @@ usr/lib/*/sane/*.la usr/lib/*/*.la usr/share/doc/libsane/README.* usr/bin/sane-config +usr/share/doc/libsane/LICENSE +usr/share/doc/libsane/COPYING -- cgit v1.2.3 From 3e527f54331db2896ca1a60247a96830f6ca79e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 15 Feb 2020 22:52:37 +0100 Subject: Remove unused files and patches --- debian/changelog | 1 + debian/libsane-common.docs | 1 - debian/libsane.NEWS | 19 - debian/libsane.README.Debian | 172 - debian/libsane.dirs | 2 - debian/libsane.docs | 1 - debian/libsane.install | 3 - debian/libsane.postinst | 24 - debian/libsane.symbols | 229 - debian/patches/0005-libsane_deps.patch | 43 - debian/patches/0010-unneeded_doc.patch | 76 - debian/patches/0015-frontend_libs.patch | 46 - debian/patches/0020-nousbtest.patch | 40 - .../patches/0025-multiarch_manpages_libdir.patch | 31 - debian/patches/0030-ppc64el.patch | 78 - debian/patches/0105-hp3900.patch | 20 - debian/patches/0110-dll_backend_conf.patch | 33 - debian/patches/0120-typo.patch | 20 - .../patches/0125-multiarch_dll_search_path.patch | 59 - debian/patches/0130-usb-timeout.patch | 30 - debian/patches/0135-saned-remotescanners.patch | 159 - ...genesys-Fix-use-of-uninitialized-variable.patch | 25 - debian/patches/0155-genesys_gl847.patch | 63 - debian/patches/0500-CVE-2017-6318.patch | 52 - debian/patches/0605-man_typo.patch | 101 - debian/patches/0710-sane-desc.c_debian_mods.patch | 15649 ------------------- .../0720-mustek_usb2-Avoid-stack-smashing.patch | 88 - debian/patches/series | 26 +- debian/sane-utils.lintian-overrides | 4 - 29 files changed, 4 insertions(+), 17091 deletions(-) delete mode 100644 debian/libsane.NEWS delete mode 100644 debian/libsane.README.Debian delete mode 100644 debian/libsane.dirs delete mode 100644 debian/libsane.docs delete mode 100644 debian/libsane.install delete mode 100644 debian/libsane.postinst delete mode 100644 debian/libsane.symbols delete mode 100644 debian/patches/0005-libsane_deps.patch delete mode 100644 debian/patches/0010-unneeded_doc.patch delete mode 100644 debian/patches/0015-frontend_libs.patch delete mode 100644 debian/patches/0020-nousbtest.patch delete mode 100644 debian/patches/0025-multiarch_manpages_libdir.patch delete mode 100644 debian/patches/0030-ppc64el.patch delete mode 100644 debian/patches/0105-hp3900.patch delete mode 100644 debian/patches/0110-dll_backend_conf.patch delete mode 100644 debian/patches/0120-typo.patch delete mode 100644 debian/patches/0125-multiarch_dll_search_path.patch delete mode 100644 debian/patches/0130-usb-timeout.patch delete mode 100644 debian/patches/0135-saned-remotescanners.patch delete mode 100644 debian/patches/0150-genesys-Fix-use-of-uninitialized-variable.patch delete mode 100644 debian/patches/0155-genesys_gl847.patch delete mode 100644 debian/patches/0500-CVE-2017-6318.patch delete mode 100644 debian/patches/0605-man_typo.patch delete mode 100644 debian/patches/0710-sane-desc.c_debian_mods.patch delete mode 100644 debian/patches/0720-mustek_usb2-Avoid-stack-smashing.patch delete mode 100644 debian/sane-utils.lintian-overrides diff --git a/debian/changelog b/debian/changelog index 9ef0523..1502c15 100644 --- a/debian/changelog +++ b/debian/changelog @@ -62,6 +62,7 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium - New debian/libsane-common.dirs, debian/libsane-common.docs, debian/not-installed. * Fix autopkgtest. + * Remove unused files and patches. -- Jörg Frings-Fürst Sat, 15 Feb 2020 21:42:48 +0100 diff --git a/debian/libsane-common.docs b/debian/libsane-common.docs index 4132599..1a13c70 100644 --- a/debian/libsane-common.docs +++ b/debian/libsane-common.docs @@ -2,7 +2,6 @@ usr/share/doc/libsane/*.html usr/share/doc/libsane/PROBLEMS usr/share/doc/libsane/NEWS usr/share/doc/libsane/ChangeLog -usr/share/doc/libsane/COPYING usr/share/doc/libsane/ChangeLogs/* usr/share/doc/libsane/README usr/share/doc/libsane/PROJECTS diff --git a/debian/libsane.NEWS b/debian/libsane.NEWS deleted file mode 100644 index e9a90b1..0000000 --- a/debian/libsane.NEWS +++ /dev/null @@ -1,19 +0,0 @@ -sane-backends (1.0.24-10) unstable; urgency=high - - The v4l backend is disabled since this version. - - -- Jörg Frings-Fürst Sun, 18 Jan 2015 11:46:18 +0100 - -sane-backends (1.0.22-1) unstable; urgency=low - - Starting with this version, sane-backends requires the /dev filesystem to - support ACLs in order to manage the permissions on scanner devices. - - This change was made to provide better support for multi-function (MFP) - devices. - - No action is required on standard Debian systems for this to work; however, - if you have an unusual setup or use a custom kernel, make sure ACLs are - available on /dev on your system. - - -- Julien BLACHE Thu, 02 Jun 2011 14:57:53 +0200 diff --git a/debian/libsane.README.Debian b/debian/libsane.README.Debian deleted file mode 100644 index 70277d0..0000000 --- a/debian/libsane.README.Debian +++ /dev/null @@ -1,172 +0,0 @@ -libsane (sane-backends) for Debian : ------------------------------------- - -GENERAL -------- - -The configuration files for Debian releases of SANE are located in /etc/sane.d. - -The dll pseudo-backend is responsible for loading other SANE backends that -provide support for the actual hardware. Which backends are loaded is -determined by the contents of the /etc/sane.d/dll.conf file. The dll -pseudo-backend also checks for dll.conf snippets in /etc/sane.d/dll.d; any -file in this directory that doesn't look like a backup file will be treated -as a configuration snippet. - -This facility is used by packages providing external backends (like -hpoj or hplip) to "register" the backends they provide without -much hassle. - -Each backend has a configuration file which specifies which devices, -access methods, options etc. should be used by this backend. The format -and content of each configuration file is documented in the manpage for -the backend, e.g. sane-plustek (5). - -For USB and some SCSI scanners, the parameters can be auto-detected, and -manual configuration is not required. If the auto-detection fails, read -the next paragraph. Again, see the manpage for your backend for more -information. - -For SCSI devices (mostly scanners), the configuration files use the -/dev/scanner device; /dev/scanner is a symbolic link to the appropriate -SCSI device node. It's up to you to create this symbolic link, once you -will have determined which device node it needs to point to. Use the -sane-find-scanner command in the sane-utils package to determine which -SCSI device your scanner is attached to. The sane-find-scanner utility -also discovers USB scanners. - -It can be a good idea to try running sane-find-scanner as root to ensure -there will be no permissions problems while attempting to detect your -devices. - - -DOCUMENTATION -------------- - -For information on configuring and trouble-shooting the various SANE -components, please refer to the manual pages listed below: - - Regarding: Read: - ----------------- ------------------------------------------ - General sane(7) -- your starting point - - scanimage scanimage(1) - xscanimage xscanimage(1) - saned saned(8) - xcam xcam(1) - - Dynamic loading sane-dll(5) - Backends See sane-(5). Each backend - comes with a manual page in section 5 of - the manual system. - - -SETUP ------ - -In this day and age, SANE integrates with udev and ConsoleKit/systemd-logind -seemlessly; this means users physically logged into the machine (as opposed -to users logged in remotely via SSH) have access to the scanners by default. - -The solution proposed below is a legacy setup that remains valid for sharing -scanners with saned or for systems that don't use ConsoleKit/systemd-logind. -Note that this is only a proposed solution, you are free to come up with and -implement whatever access control mechanism you see fit. - -This package added a scanner group to your system. We recommend you add to -this group the users that should be able to access your scanner(s), and -make sure the appropriate device files (eg. /dev/sg0, ...) are owned by root -and the scanner group, with permissions set to 0660. - -For USB and SCSI scanners, the permissions will be automatically set by udev; -the /lib/udev/rules.d/60-libsane.rules file contains a list of USB and SCSI -scanners supported by SANE. - -The udev rules now use ACLs instead of standard UNIX permissions; the scanner -group is added to the ACLs for the corresponding device(s) with read+write -permissions. - -If your scanner is missing from the list, do NOT modify this file; it is not -a configuration file, which means your changes WILL be overwritten upon -upgrade. Instead, create /etc/udev/rules.d/60-libsane.rules and add the udev -rule for your scanner in this file. /lib/udev/rules.d/60-libsane.rules will -then be ignored by udev and /etc/udev/rules.d/60-libsane.rules will be used -instead. - -Feel free to file a bug report (severity wishlist) against the libsane package -to get your scanner added; please mention which backend you use and how well -the scanner is supported (basic, good, ...). - - Note: please do not file bugs requesting the addition of scanners that - aren't supported by the libsane package. For these devices, bugs should - be filed against the Debian package providing support for the device, if - such a package does exist. - -udev will automatically set up the permissions and ownership on the device -node corresponding to your scanner according to the rules defined in the -libsane.rules file (default is root:scanner, 0664). If you want to execute -a script when your scanner is plugged in, add RUN+="/path/to/script" to the -rule matching your scanner. - - -TROUBLESHOOTING ---------------- - -If your scanner does not work, edit the file /etc/sane.d/dll.conf. -Verify that your scanner is not commented out. You may need to -comment out all other scanners in dll.conf. It shouldn't matter, but -sometimes it does. - -The most common cause for a non-working scanner is inappropriate -permissions on the device. So your first reflex should be to check the -permissions of the device used to access your scanner, e.g. /dev/sg0 -or the device pointed to by /dev/scanner. - -If running "scanimage > t.pnm" gives an error like "scanimage: open of -device niash:libusb:002:005 failed: Device busy", powercycling your -scanner might help. - -If you encounter any problems with getting your device(s) recognized, -try setting the various environment variables that are there to assist -in debugging such problems. The environment variables are documented -in the relevant manual pages. For example, to get the maximum amount -of debug information when testing a Mustek scanner, set environment -variables SANE_DEBUG_DLL, SANE_DEBUG_MUSTEK, and SANE_DEBUG_SANEI_SCSI -to 128 and then invoke scanimage or whatever program you're trying to -debug. For a Mustek SCSI scanner at /dev/scanner, you might want to -invoke scanimage as follows: - - scanimage -d mustek:/dev/scanner -h - -If this works, you could try to acquire an image with: - - scanimage -d mustek:/dev/scanner > t.pnm - -If you are not sure what generic SCSI device your scanner is connected -to, try the command sane-find-scanner (sane-utils package). It is -normally sufficient to invoke the program without any arguments. Invoking -this command should produce output similar to this: - - $ sane-find-scanner - sane-find-scanner: found "MUSTEK MFC-06000CZ 1.01" at device /dev/sge - -sane-find-scanner will help you discover your USB scanner, too. - -For some more help can read TROUBLESHOOTING.debian in the doc directory. - - -REPORTING BUGS --------------- - -When reporting a bug, be it to the SANE developers or to the Debian bug -tracking system, pleases always provide: - - the full version of libsane - - the backend you're using - - the configuration of the backend - - the debug output, obtained by setting the environment variable - SANE_DEBUG_ to a value of 255 (see above, TROUBLESHOOTING) - -Without that, your bug report will take longer to be processed, because we'll -need to ask you for each of these items. Please help us help you. - --- Julien BLACHE , Wed, 16 Feb 2011 19:00:12 +0100 diff --git a/debian/libsane.dirs b/debian/libsane.dirs deleted file mode 100644 index 863867a..0000000 --- a/debian/libsane.dirs +++ /dev/null @@ -1,2 +0,0 @@ -/lib/udev/hwdb.d/ -/etc/udev/rules.d/ diff --git a/debian/libsane.docs b/debian/libsane.docs deleted file mode 100644 index 0ea0ca5..0000000 --- a/debian/libsane.docs +++ /dev/null @@ -1 +0,0 @@ -debian/TROUBLESHOOTING.Debian diff --git a/debian/libsane.install b/debian/libsane.install deleted file mode 100644 index f0d7a75..0000000 --- a/debian/libsane.install +++ /dev/null @@ -1,3 +0,0 @@ -usr/lib/*/*.so.* -usr/lib/*/sane/*.so.* -debian/99-libsane.rules /lib/udev/rules.d/ diff --git a/debian/libsane.postinst b/debian/libsane.postinst deleted file mode 100644 index 971103e..0000000 --- a/debian/libsane.postinst +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -set -e - -case "$1" in - configure) - # Add the scanner system group if it doesn't exist - if ! getent group | grep -q "^scanner:"; then - echo "Adding scanner group..." - addgroup --quiet --system scanner || true - fi - - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - ;; - - *) - echo "$0 called with unknown argument '$1'" >&2 - exit 1 - ;; -esac - - -#DEBHELPER# diff --git a/debian/libsane.symbols b/debian/libsane.symbols deleted file mode 100644 index 558388f..0000000 --- a/debian/libsane.symbols +++ /dev/null @@ -1,229 +0,0 @@ -libsane.so.1 libsane #MINVER# - cmsg@Base 1.0.27 - md5_buffer@Base 1.0.27 - md5_finish_ctx@Base 1.0.27 - md5_init_ctx@Base 1.0.27 - md5_process_block@Base 1.0.27 - md5_process_bytes@Base 1.0.27 - md5_read_ctx@Base 1.0.27 - md5_stream@Base 1.0.27 - posix_dlsym@Base 1.0.27 - sane_cancel@Base 1.0.27 - sane_close@Base 1.0.27 - sane_control_option@Base 1.0.27 - sane_dll_cancel@Base 1.0.27 - sane_dll_close@Base 1.0.27 - sane_dll_control_option@Base 1.0.27 - sane_dll_exit@Base 1.0.27 - sane_dll_get_devices@Base 1.0.27 - sane_dll_get_option_descriptor@Base 1.0.27 - sane_dll_get_parameters@Base 1.0.27 - sane_dll_get_select_fd@Base 1.0.27 - sane_dll_init@Base 1.0.27 - sane_dll_open@Base 1.0.27 - sane_dll_read@Base 1.0.27 - sane_dll_set_io_mode@Base 1.0.27 - sane_dll_start@Base 1.0.27 - sane_exit@Base 1.0.27 - sane_get_devices@Base 1.0.27 - sane_get_option_descriptor@Base 1.0.27 - sane_get_parameters@Base 1.0.27 - sane_get_select_fd@Base 1.0.27 - sane_init@Base 1.0.27 - sane_open@Base 1.0.27 - sane_read@Base 1.0.27 - sane_set_io_mode@Base 1.0.27 - sane_start@Base 1.0.27 - sane_strstatus@Base 1.0.27 - sanei_ab306_close@Base 1.0.27 - sanei_ab306_cmd@Base 1.0.27 - sanei_ab306_exit@Base 1.0.27 - sanei_ab306_get_io_privilege@Base 1.0.27 - sanei_ab306_open@Base 1.0.27 - sanei_ab306_rdata@Base 1.0.27 - sanei_ab306_test_ready@Base 1.0.27 - sanei_access_init@Base 1.0.27 - sanei_access_lock@Base 1.0.27 - sanei_access_unlock@Base 1.0.27 - sanei_check_value@Base 1.0.27 - sanei_codec_bin_init@Base 1.0.27 - sanei_config_attach_matching_devices@Base 1.0.27 - sanei_config_get_paths@Base 1.0.27 - sanei_config_get_string@Base 1.0.27 - sanei_config_open@Base 1.0.27 - sanei_config_read@Base 1.0.27 - sanei_config_skip_whitespace@Base 1.0.27 - sanei_configure_attach@Base 1.0.27 - sanei_constrain_value@Base 1.0.27 - sanei_debug_dll@Base 1.0.27 - sanei_debug_msg@Base 1.0.27 - sanei_debug_sanei_ab306@Base 1.0.27 - sanei_debug_sanei_access@Base 1.0.27 - sanei_debug_sanei_config@Base 1.0.27 - sanei_debug_sanei_debug@Base 1.0.27 - sanei_debug_sanei_lm983x@Base 1.0.27 - sanei_debug_sanei_magic@Base 1.0.27 - sanei_debug_sanei_pa4s2@Base 1.0.27 - sanei_debug_sanei_pio@Base 1.0.27 - sanei_debug_sanei_pp@Base 1.0.27 - sanei_debug_sanei_pv8630@Base 1.0.27 - sanei_debug_sanei_scsi@Base 1.0.27 - sanei_debug_sanei_tcp@Base 1.0.27 - sanei_debug_sanei_thread@Base 1.0.27 - sanei_debug_sanei_udp@Base 1.0.27 - sanei_debug_sanei_usb@Base 1.0.27 - sanei_debug_sanei_wire@Base 1.0.27 - sanei_init_debug@Base 1.0.27 - sanei_lm983x_init@Base 1.0.27 - sanei_lm983x_read@Base 1.0.27 - sanei_lm983x_reset@Base 1.0.27 - sanei_lm983x_write@Base 1.0.27 - sanei_lm983x_write_byte@Base 1.0.27 - sanei_magic_crop@Base 1.0.27 - sanei_magic_despeck@Base 1.0.27 - sanei_magic_findEdges@Base 1.0.27 - sanei_magic_findSkew@Base 1.0.27 - sanei_magic_findTurn@Base 1.0.27 - sanei_magic_getTransX@Base 1.0.27 - sanei_magic_getTransY@Base 1.0.27 - sanei_magic_init@Base 1.0.27 - sanei_magic_isBlank2@Base 1.0.27 - sanei_magic_isBlank@Base 1.0.27 - sanei_magic_rotate@Base 1.0.27 - sanei_magic_turn@Base 1.0.27 - sanei_pa4s2_close@Base 1.0.27 - sanei_pa4s2_devices@Base 1.0.27 - sanei_pa4s2_enable@Base 1.0.27 - sanei_pa4s2_open@Base 1.0.27 - sanei_pa4s2_options@Base 1.0.27 - sanei_pa4s2_readbegin@Base 1.0.27 - sanei_pa4s2_readbyte@Base 1.0.27 - sanei_pa4s2_readend@Base 1.0.27 - sanei_pa4s2_scsi_pp_get_status@Base 1.0.27 - sanei_pa4s2_scsi_pp_open@Base 1.0.27 - sanei_pa4s2_scsi_pp_reg_select@Base 1.0.27 - sanei_pa4s2_writebyte@Base 1.0.27 - sanei_pio_close@Base 1.0.27 - sanei_pio_open@Base 1.0.27 - sanei_pio_read@Base 1.0.27 - sanei_pio_write@Base 1.0.27 - sanei_pp_claim@Base 1.0.27 - sanei_pp_close@Base 1.0.27 - sanei_pp_getmodes@Base 1.0.27 - sanei_pp_inb_ctrl@Base 1.0.27 - sanei_pp_inb_data@Base 1.0.27 - sanei_pp_inb_epp@Base 1.0.27 - sanei_pp_inb_stat@Base 1.0.27 - sanei_pp_init@Base 1.0.27 - sanei_pp_open@Base 1.0.27 - sanei_pp_outb_addr@Base 1.0.27 - sanei_pp_outb_ctrl@Base 1.0.27 - sanei_pp_outb_data@Base 1.0.27 - sanei_pp_outb_epp@Base 1.0.27 - sanei_pp_release@Base 1.0.27 - sanei_pp_set_datadir@Base 1.0.27 - sanei_pp_setmode@Base 1.0.27 - sanei_pp_udelay@Base 1.0.27 - sanei_pp_uses_directio@Base 1.0.27 - sanei_pv8630_bulkread@Base 1.0.27 - sanei_pv8630_bulkwrite@Base 1.0.27 - sanei_pv8630_flush_buffer@Base 1.0.27 - sanei_pv8630_init@Base 1.0.27 - sanei_pv8630_prep_bulkread@Base 1.0.27 - sanei_pv8630_prep_bulkwrite@Base 1.0.27 - sanei_pv8630_read_byte@Base 1.0.27 - sanei_pv8630_wait_byte@Base 1.0.27 - sanei_pv8630_write_byte@Base 1.0.27 - sanei_pv8630_xpect_byte@Base 1.0.27 - sanei_scsi_close@Base 1.0.27 - sanei_scsi_cmd2@Base 1.0.27 - sanei_scsi_cmd@Base 1.0.27 - sanei_scsi_find_devices@Base 1.0.27 - sanei_scsi_max_request_size@Base 1.0.27 - sanei_scsi_open@Base 1.0.27 - sanei_scsi_open_extended@Base 1.0.27 - sanei_scsi_req_enter2@Base 1.0.27 - sanei_scsi_req_enter@Base 1.0.27 - sanei_scsi_req_flush_all@Base 1.0.27 - sanei_scsi_req_flush_all_extended@Base 1.0.27 - sanei_scsi_req_wait@Base 1.0.27 - sanei_tcp_close@Base 1.0.27 - sanei_tcp_open@Base 1.0.27 - sanei_tcp_read@Base 1.0.27 - sanei_tcp_write@Base 1.0.27 - sanei_thread_begin@Base 1.0.27 - sanei_thread_get_status@Base 1.0.27 - sanei_thread_init@Base 1.0.27 - sanei_thread_is_forked@Base 1.0.27 - sanei_thread_is_valid@Base 1.0.27 - sanei_thread_kill@Base 1.0.27 - sanei_thread_sendsig@Base 1.0.27 - sanei_thread_waitpid@Base 1.0.27 - sanei_udp_close@Base 1.0.27 - sanei_udp_open@Base 1.0.27 - sanei_udp_open_broadcast@Base 1.0.27 - sanei_udp_read@Base 1.0.27 - sanei_udp_recvfrom@Base 1.0.27 - sanei_udp_set_nonblock@Base 1.0.27 - sanei_udp_write@Base 1.0.27 - sanei_udp_write_broadcast@Base 1.0.27 - sanei_usb_attach_matching_devices@Base 1.0.27 - sanei_usb_claim_interface@Base 1.0.27 - sanei_usb_clear_halt@Base 1.0.27 - sanei_usb_close@Base 1.0.27 - sanei_usb_control_msg@Base 1.0.27 - sanei_usb_exit@Base 1.0.27 - sanei_usb_find_devices@Base 1.0.27 - sanei_usb_get_descriptor@Base 1.0.27 - sanei_usb_get_endpoint@Base 1.0.27 - sanei_usb_get_vendor_product@Base 1.0.27 - sanei_usb_get_vendor_product_byname@Base 1.0.27 - sanei_usb_init@Base 1.0.27 - sanei_usb_open@Base 1.0.27 - sanei_usb_read_bulk@Base 1.0.27 - sanei_usb_read_int@Base 1.0.27 - sanei_usb_release_interface@Base 1.0.27 - sanei_usb_reset@Base 1.0.27 - sanei_usb_scan_devices@Base 1.0.27 - sanei_usb_set_altinterface@Base 1.0.27 - sanei_usb_set_configuration@Base 1.0.27 - sanei_usb_set_endpoint@Base 1.0.27 - sanei_usb_set_timeout@Base 1.0.27 - sanei_usb_write_bulk@Base 1.0.27 - sanei_w_action@Base 1.0.27 - sanei_w_array@Base 1.0.27 - sanei_w_authorization_req@Base 1.0.27 - sanei_w_bool@Base 1.0.27 - sanei_w_byte@Base 1.0.27 - sanei_w_call@Base 1.0.27 - sanei_w_char@Base 1.0.27 - sanei_w_constraint_type@Base 1.0.27 - sanei_w_control_option_reply@Base 1.0.27 - sanei_w_control_option_req@Base 1.0.27 - sanei_w_device@Base 1.0.27 - sanei_w_device_ptr@Base 1.0.27 - sanei_w_exit@Base 1.0.27 - sanei_w_frame@Base 1.0.27 - sanei_w_free@Base 1.0.27 - sanei_w_get_devices_reply@Base 1.0.27 - sanei_w_get_parameters_reply@Base 1.0.27 - sanei_w_init@Base 1.0.27 - sanei_w_init_reply@Base 1.0.27 - sanei_w_init_req@Base 1.0.27 - sanei_w_open_reply@Base 1.0.27 - sanei_w_option_descriptor@Base 1.0.27 - sanei_w_option_descriptor_array@Base 1.0.27 - sanei_w_option_descriptor_ptr@Base 1.0.27 - sanei_w_parameters@Base 1.0.27 - sanei_w_ptr@Base 1.0.27 - sanei_w_range@Base 1.0.27 - sanei_w_reply@Base 1.0.27 - sanei_w_set_dir@Base 1.0.27 - sanei_w_space@Base 1.0.27 - sanei_w_start_reply@Base 1.0.27 - sanei_w_status@Base 1.0.27 - sanei_w_string@Base 1.0.27 - sanei_w_unit@Base 1.0.27 - sanei_w_value_type@Base 1.0.27 - sanei_w_void@Base 1.0.27 - sanei_w_word@Base 1.0.27 diff --git a/debian/patches/0005-libsane_deps.patch b/debian/patches/0005-libsane_deps.patch deleted file mode 100644 index 9ff0617..0000000 --- a/debian/patches/0005-libsane_deps.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: Markus Koschany -Date: Sun, 30 Jun 2013 18:58:59 +0200 -Subject: libsane_deps - -Reduce libsane.so dependencies to the bare minimum. -Trim dependencies to keep only what's really required by libsane.so -(aka dll backend). -Original patch author: Julien BLACHE ---- - backend/Makefile.in | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -Index: trunk/backend/Makefile.in -=================================================================== ---- trunk.orig/backend/Makefile.in -+++ trunk/backend/Makefile.in -@@ -2726,10 +2726,9 @@ libsane_dll_la_LIBADD = $(COMMON_LIBS) l - nodist_libsane_la_SOURCES = dll-s.c - libsane_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll - libsane_la_LDFLAGS = $(DIST_LIBS_LDFLAGS) --libsane_la_LIBADD = $(COMMON_LIBS) @PRELOADABLE_BACKENDS_ENABLED@ libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo $(DL_LIBS) $(LIBV4L_LIBS) $(MATH_LIB) $(IEEE1284_LIBS) $(TIFF_LIBS) $(JPEG_LIBS) $(GPHOTO2_LIBS) $(SOCKET_LIBS) $(USB_LIBS) $(AVAHI_LIBS) $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -- -+libsane_la_LIBADD = $(COMMON_LIBS) libdll.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_config.lo ../sanei/sanei_constrain_value.lo $(DL_LIBS) - # WARNING: Automake is getting this wrong so have to do it ourselves. --libsane_la_DEPENDENCIES = $(COMMON_LIBS) @PRELOADABLE_BACKENDS_ENABLED@ libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo @SANEI_SANEI_JPEG_LO@ -+libsane_la_DEPENDENCIES = libdll.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_config.lo - all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -Index: trunk/backend/Makefile.am -=================================================================== ---- trunk.orig/backend/Makefile.am -+++ trunk/backend/Makefile.am -@@ -1142,7 +1142,7 @@ EXTRA_DIST += dll.aliases - nodist_libsane_la_SOURCES = dll-s.c - libsane_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll - libsane_la_LDFLAGS = $(DIST_LIBS_LDFLAGS) --libsane_la_LIBADD = $(COMMON_LIBS) @PRELOADABLE_BACKENDS_ENABLED@ libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo $(DL_LIBS) $(LIBV4L_LIBS) $(MATH_LIB) $(IEEE1284_LIBS) $(TIFF_LIBS) $(JPEG_LIBS) $(GPHOTO2_LIBS) $(SOCKET_LIBS) $(USB_LIBS) $(AVAHI_LIBS) $(SCSI_LIBS) $(PTHREAD_LIBS) $(RESMGR_LIBS) -+libsane_la_LIBADD = $(COMMON_LIBS) libdll.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_config.lo ../sanei/sanei_constrain_value.lo $(DL_LIBS) - - # WARNING: Automake is getting this wrong so have to do it ourselves. --libsane_la_DEPENDENCIES = $(COMMON_LIBS) @PRELOADABLE_BACKENDS_ENABLED@ libdll_preload.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pv8630.lo ../sanei/sanei_pp.lo ../sanei/sanei_thread.lo ../sanei/sanei_lm983x.lo ../sanei/sanei_access.lo ../sanei/sanei_net.lo ../sanei/sanei_wire.lo ../sanei/sanei_codec_bin.lo ../sanei/sanei_pa4s2.lo ../sanei/sanei_ab306.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo ../sanei/sanei_magic.lo @SANEI_SANEI_JPEG_LO@ -+libsane_la_DEPENDENCIES = libdll.la sane_strstatus.lo ../sanei/sanei_init_debug.lo ../sanei/sanei_config.lo diff --git a/debian/patches/0010-unneeded_doc.patch b/debian/patches/0010-unneeded_doc.patch deleted file mode 100644 index f24378e..0000000 --- a/debian/patches/0010-unneeded_doc.patch +++ /dev/null @@ -1,76 +0,0 @@ -From: Markus Koschany -Date: Sun, 30 Jun 2013 19:29:40 +0200 -Subject: unneeded_doc - -Avoid generating some docs we don't want. -Do not generate some documentation we do not want; do not include -sane.png in the html documentation, as it is not distributed in the -source tarball. - -Original Author: Julien BLACHE ---- - Makefile.in | 6 +----- - doc/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 6 deletions(-) - -Index: trunk/Makefile.in -=================================================================== ---- trunk.orig/Makefile.in -+++ trunk/Makefile.in -@@ -402,11 +402,7 @@ top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - SUBDIRS = include lib sanei backend frontend tools doc po testsuite - DIST_SUBDIRS = include lib sanei backend frontend tools doc po japi testsuite --dist_doc_DATA = AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS \ -- README README.aix README.beos README.darwin README.djpeg README.freebsd \ -- README.hp-ux README.linux README.netbsd README.openbsd README.os2 \ -- README.solaris README.unixware2 README.unixware7 README.windows \ -- README.zeta -+dist_doc_DATA = README AUTHORS NEWS PROBLEMS PROJECTS - - EXTRA_DIST = ChangeLog-1.0.0 ChangeLog-1.0.1 ChangeLog-1.0.2 \ - ChangeLog-1.0.3 ChangeLog-1.0.4 ChangeLog-1.0.5 ChangeLog-1.0.6 \ -Index: trunk/doc/Makefile.in -=================================================================== ---- trunk.orig/doc/Makefile.in -+++ trunk/doc/Makefile.in -@@ -414,7 +414,7 @@ DLH = TEXINPUTS="$(srcdir):$$TEXINPUTS" - MAN2HTML = nroff -c -man |\ - man2html -compress -topm 6 -botm 6 -nodepage -title $${page} \ - -cgiurl '$$title.$$section.html'|\ -- sed 's,,

    ,' -+ sed 's,,,' - - beman5dir = $(mandir)/man5 - BEDOCS = canon/canon.changes canon/canon.install2700F.txt \ -Index: trunk/Makefile.am -=================================================================== ---- trunk.orig/Makefile.am -+++ trunk/Makefile.am -@@ -7,11 +7,7 @@ - SUBDIRS = include lib sanei backend frontend tools doc po testsuite - DIST_SUBDIRS = include lib sanei backend frontend tools doc po japi testsuite - --dist_doc_DATA = AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS \ -- README README.aix README.beos README.darwin README.djpeg README.freebsd \ -- README.hp-ux README.linux README.netbsd README.openbsd README.os2 \ -- README.solaris README.unixware2 README.unixware7 README.windows \ -- README.zeta -+dist_doc_DATA = README AUTHORS NEWS PROBLEMS PROJECTS - EXTRA_DIST = ChangeLog-1.0.0 ChangeLog-1.0.1 ChangeLog-1.0.2 \ - ChangeLog-1.0.3 ChangeLog-1.0.4 ChangeLog-1.0.5 ChangeLog-1.0.6 \ - ChangeLog-1.0.7 ChangeLog-1.0.8 ChangeLog-1.0.9 ChangeLog-1.0.10 \ -Index: trunk/doc/Makefile.am -=================================================================== ---- trunk.orig/doc/Makefile.am -+++ trunk/doc/Makefile.am -@@ -101,8 +101,7 @@ DLH = TEXINPUTS="$(srcdir):$$TEXINPUTS" - MAN2HTML= nroff -c -man |\ - man2html -compress -topm 6 -botm 6 -nodepage -title $${page} \ - -cgiurl '$$title.$$section.html'|\ -- sed 's,,

    ,' -- -+ sed 's,,,' - %.1 %.5 %.7 %.8: %.man - @echo "Generating manpage $@..."; - @sed -e 's|@DATADIR@|$(datadir)|g' \ diff --git a/debian/patches/0015-frontend_libs.patch b/debian/patches/0015-frontend_libs.patch deleted file mode 100644 index d408b3d..0000000 --- a/debian/patches/0015-frontend_libs.patch +++ /dev/null @@ -1,46 +0,0 @@ -From: Markus Koschany -Date: Sun, 30 Jun 2013 15:20:24 +0200 -Subject: frontend_libs - -Only link frontends against the libraries they need -Reduce the dependencies on frontends by linking in only the required -libraries. ---- - frontend/Makefile.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: trunk/frontend/Makefile.in -=================================================================== ---- trunk.orig/frontend/Makefile.in -+++ trunk/frontend/Makefile.in -@@ -238,7 +238,7 @@ LATEX = @LATEX@ - LD = @LD@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ --LIBS = @LIBS@ -+LIBS = - LIBTOOL = @LIBTOOL@ - LIBUSB_1_0_CFLAGS = @LIBUSB_1_0_CFLAGS@ - LIBUSB_1_0_LIBS = @LIBUSB_1_0_LIBS@ -@@ -365,7 +365,7 @@ scanimage_LDADD = ../backend/libsane.la - - saned_SOURCES = saned.c - saned_LDADD = ../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la \ -- ../lib/libfelib.la @SYSLOG_LIBS@ @SYSTEMD_LIBS@ -+ ../lib/libfelib.la @SYSLOG_LIBS@ @SYSTEMD_LIBS@ @AVAHI_LIBS@ - - test_SOURCES = test.c - test_LDADD = ../lib/liblib.la ../lib/libfelib.la ../backend/libsane.la -Index: trunk/frontend/Makefile.am -=================================================================== ---- trunk.orig/frontend/Makefile.am -+++ trunk/frontend/Makefile.am -@@ -22,7 +22,7 @@ scanimage_LDADD = ../backend/libsane.la - - saned_SOURCES = saned.c - saned_LDADD = ../backend/libsane.la ../sanei/libsanei.la ../lib/liblib.la \ -- ../lib/libfelib.la @SYSLOG_LIBS@ @SYSTEMD_LIBS@ -+ ../lib/libfelib.la @SYSLOG_LIBS@ @SYSTEMD_LIBS@ @AVAHI_LIBS@ - - test_SOURCES = test.c - test_LDADD = ../lib/liblib.la ../lib/libfelib.la ../backend/libsane.la diff --git a/debian/patches/0020-nousbtest.patch b/debian/patches/0020-nousbtest.patch deleted file mode 100644 index 593298f..0000000 --- a/debian/patches/0020-nousbtest.patch +++ /dev/null @@ -1,40 +0,0 @@ -Description: - Don't build the USB tests because they will fail on the autobuilders. -Author: Mark Buda - -Index: trunk/testsuite/sanei/Makefile.am -=================================================================== ---- trunk.orig/testsuite/sanei/Makefile.am -+++ trunk/testsuite/sanei/Makefile.am -@@ -12,7 +12,7 @@ EXTRA_DIST = data/boolean.conf data/empt - - TEST_LDADD = ../../sanei/libsanei.la ../../lib/liblib.la $(MATH_LIB) $(USB_LIBS) $(PTHREAD_LIBS) - --check_PROGRAMS = sanei_usb_test test_wire sanei_check_test sanei_config_test sanei_constrain_test -+check_PROGRAMS = test_wire sanei_check_test sanei_config_test sanei_constrain_test - TESTS = $(check_PROGRAMS) - - AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include $(USB_CFLAGS) -@@ -27,9 +27,6 @@ sanei_config_test_LDADD = $(TEST_LDADD) - sanei_check_test_SOURCES = sanei_check_test.c - sanei_check_test_LDADD = $(TEST_LDADD) - --sanei_usb_test_SOURCES = sanei_usb_test.c --sanei_usb_test_LDADD = $(TEST_LDADD) -- - test_wire_SOURCES = test_wire.c - test_wire_LDADD = $(TEST_LDADD) - -Index: trunk/testsuite/sanei/Makefile.in -=================================================================== ---- trunk.orig/testsuite/sanei/Makefile.in -+++ trunk/testsuite/sanei/Makefile.in -@@ -77,7 +77,7 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --check_PROGRAMS = sanei_usb_test$(EXEEXT) test_wire$(EXEEXT) \ -+check_PROGRAMS = test_wire$(EXEEXT) \ - sanei_check_test$(EXEEXT) sanei_config_test$(EXEEXT) \ - sanei_constrain_test$(EXEEXT) - subdir = testsuite/sanei diff --git a/debian/patches/0025-multiarch_manpages_libdir.patch b/debian/patches/0025-multiarch_manpages_libdir.patch deleted file mode 100644 index 220dab3..0000000 --- a/debian/patches/0025-multiarch_manpages_libdir.patch +++ /dev/null @@ -1,31 +0,0 @@ -Description: Use a generic multiarch path in man pages - Backend location in the man pages is substituted from LIBDIR; use - a generic /usr/lib/arch_triplet/sane path instead. -Author: Julien BLACHE - -Index: trunk/doc/Makefile.in -=================================================================== ---- trunk.orig/doc/Makefile.in -+++ trunk/doc/Makefile.in -@@ -941,7 +941,7 @@ all: bemans $(API_SPECS) html-pages - @sed -e 's|@DATADIR@|$(datadir)|g' \ - -e 's|@CONFIGDIR@|$(configdir)|g' \ - -e 's|@DOCDIR@|$(docdir)|g' \ -- -e 's|@LIBDIR@|$(libdir)/sane|g' \ -+ -e 's|@LIBDIR@|/usr/lib/arch_triplet/sane|g' \ - -e 's|@BINDIR@|$(bindir)|g' \ - -e 's|@SBINDIR@|$(sbindir)|g' \ - -e 's|@PACKAGEVERSION@|$(package_version)|g' $^ >$@ -Index: trunk/doc/Makefile.am -=================================================================== ---- trunk.orig/doc/Makefile.am -+++ trunk/doc/Makefile.am -@@ -98,7 +98,7 @@ MAN2HTML = nroff -c -man |\ - @sed -e 's|@DATADIR@|$(datadir)|g' \ - -e 's|@CONFIGDIR@|$(configdir)|g' \ - -e 's|@DOCDIR@|$(docdir)|g' \ -- -e 's|@LIBDIR@|$(libdir)/sane|g' \ -+ -e 's|@LIBDIR@|/usr/lib/arch_triplet/sane|g' \ - -e 's|@BINDIR@|$(bindir)|g' \ - -e 's|@SBINDIR@|$(sbindir)|g' \ - -e 's|@PACKAGEVERSION@|$(package_version)|g' $^ >$@ diff --git a/debian/patches/0030-ppc64el.patch b/debian/patches/0030-ppc64el.patch deleted file mode 100644 index d04a535..0000000 --- a/debian/patches/0030-ppc64el.patch +++ /dev/null @@ -1,78 +0,0 @@ -Description: remove ppc*-*linux* from configure -Last-Update: 2014-10-13 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/configure -=================================================================== ---- trunk.orig/configure -+++ trunk/configure -@@ -13146,7 +13146,7 @@ ia64-*-hpux*) - rm -rf conftest* - ;; - --x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ - s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext -@@ -13164,7 +13164,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux* - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; -- ppc64-*linux*|powerpc64-*linux*) -+ powerpc64le-*) -+ LD="${LD-ld} -m elf32lppclinux" -+ ;; -+ powerpc64-*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) -@@ -13183,7 +13186,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux* - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; -- ppc*-*linux*|powerpc*-*linux*) -+ powerpcle-*) -+ LD="${LD-ld} -m elf64lppc" -+ ;; -+ powerpc-*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) -Index: trunk/m4/libtool.m4 -=================================================================== ---- trunk.orig/m4/libtool.m4 -+++ trunk/m4/libtool.m4 -@@ -1312,7 +1312,7 @@ ia64-*-hpux*) - rm -rf conftest* - ;; - --x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ - s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext -@@ -1326,7 +1326,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux* - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; -- ppc64-*linux*|powerpc64-*linux*) -+ powerpc64le-*) -+ LD="${LD-ld} -m elf32lppclinux" -+ ;; -+ powerpc64-*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) -@@ -1345,7 +1348,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux* - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; -- ppc*-*linux*|powerpc*-*linux*) -+ powerpcle-*) -+ LD="${LD-ld} -m elf64lppc" -+ ;; -+ powerpc-*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) diff --git a/debian/patches/0105-hp3900.patch b/debian/patches/0105-hp3900.patch deleted file mode 100644 index 637a51e..0000000 --- a/debian/patches/0105-hp3900.patch +++ /dev/null @@ -1,20 +0,0 @@ -Description: Replace the startup gamma with the same from the standalone version -Author: Jörg Frings-Fürst -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629470 -Forwarded: http://lists.alioth.debian.org/pipermail/sane-devel/2014-October/032777.html -Last-Update: 2014-10-26 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/backend/hp3900_sane.c -=================================================================== ---- trunk.orig/backend/hp3900_sane.c -+++ trunk/backend/hp3900_sane.c -@@ -1159,7 +1159,7 @@ options_init (TScanner * scanner) - TOptionValue *pVal; - - /* set gamma */ -- gamma_create (scanner, 2.2); -+ gamma_create (scanner, 1.0); - - /* color convertion */ - scanner->cnv.colormode = -1; diff --git a/debian/patches/0110-dll_backend_conf.patch b/debian/patches/0110-dll_backend_conf.patch deleted file mode 100644 index 193d75b..0000000 --- a/debian/patches/0110-dll_backend_conf.patch +++ /dev/null @@ -1,33 +0,0 @@ -Description: Add a header to dll.conf - Document dll.conf in a header, point to the dll.d directory for external - backends and document the net backend w/ pointers to the manpages. - . - Also remove the pint backend as it's not available on our platforms. -Author: Julien BLACHE - -Index: trunk/backend/dll.conf.in -=================================================================== ---- trunk.orig/backend/dll.conf.in -+++ trunk/backend/dll.conf.in -@@ -1,4 +1,12 @@ --# enable the next line if you want to allow access through the network: -+# /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend loader -+# -+# Backends can also be enabled by configuration snippets under -+# /etc/sane.d/dll.d directory -- packages providing backends should drop -+# a config file similar to dll.conf in this directory, named after the package. -+# -+ -+# The next line enables the network backend; comment it out if you don't need -+# to use a remote SANE scanner over the network - see sane-net(5) and saned(8) - net - abaton - agfafocus -@@ -58,7 +66,6 @@ nec - niash - #p5 - pie --pint - pixma - plustek - #plustek_pp diff --git a/debian/patches/0120-typo.patch b/debian/patches/0120-typo.patch deleted file mode 100644 index 365952b..0000000 --- a/debian/patches/0120-typo.patch +++ /dev/null @@ -1,20 +0,0 @@ -Description: typo in backend/genesys.conf.in -Author: Jörg Frings-Fürst -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743848 -Forwarded: http://lists.alioth.debian.org/pipermail/sane-devel/2014-October/032777.html -Last-Update: 2014-10-26 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/backend/genesys.conf.in -=================================================================== ---- trunk.orig/backend/genesys.conf.in -+++ trunk/backend/genesys.conf.in -@@ -2,7 +2,7 @@ - - # - # scanners that are not yet supported --# uncomment them only for developpment purpose -+# uncomment them only for development purpose - # - - # UMAX Astra 4500 and Avision iVina 1600 diff --git a/debian/patches/0125-multiarch_dll_search_path.patch b/debian/patches/0125-multiarch_dll_search_path.patch deleted file mode 100644 index de28245..0000000 --- a/debian/patches/0125-multiarch_dll_search_path.patch +++ /dev/null @@ -1,59 +0,0 @@ -Description: Keep /usr/lib/sane as a fallback for SANE backends - Make /usr/lib/arch_triplet/sane the default location for SANE backends, - but keep /usr/lib/sane as a fallback for now. -Author: Julien BLACHE - -Index: trunk/backend/dll.c -=================================================================== ---- trunk.orig/backend/dll.c -+++ trunk/backend/dll.c -@@ -450,7 +450,7 @@ load (struct backend *be) - - if (path) - { -- src_len = strlen (path) + strlen (DIR_SEP) + strlen(LIBDIR) + 1; -+ src_len = strlen (path) + strlen (DIR_SEP) + strlen(DEB_DLL_LIBDIR) + 1; - src = malloc (src_len); - if (!src) - { -@@ -460,11 +460,11 @@ load (struct backend *be) - if (orig_src) - free (orig_src); - orig_src = src; -- snprintf (src, src_len, "%s%s%s", path, DIR_SEP, LIBDIR); -+ snprintf (src, src_len, "%s%s%s", path, DIR_SEP, DEB_DLL_LIBDIR); - } - else - { -- src = LIBDIR; -+ src = DEB_DLL_LIBDIR; - src = strdup (src); - if (!src) - { -Index: trunk/backend/Makefile.in -=================================================================== ---- trunk.orig/backend/Makefile.in -+++ trunk/backend/Makefile.in -@@ -1753,7 +1753,8 @@ AMTAR = @AMTAR@ - AM_CFLAGS = @AM_CFLAGS@ - AM_CPPFLAGS = @AM_CPPFLAGS@ -I. -I$(srcdir) -I$(top_builddir)/include \ - -I$(top_srcdir)/include $(USB_CFLAGS) \ -- -DLIBDIR="\"$(libdir)/sane\"" -+ -DLIBDIR="\"$(libdir)/sane\"" \ -+ -DDEB_DLL_LIBDIR="\"$(libdir)/sane:$(prefix)/lib/sane\"" - AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ - AM_LDFLAGS = @AM_LDFLAGS@ $(STRICT_LDFLAGS) - AR = @AR@ -Index: trunk/backend/Makefile.am -=================================================================== ---- trunk.orig/backend/Makefile.am -+++ trunk/backend/Makefile.am -@@ -4,7 +4,7 @@ - ## This file is part of the "Sane" build infra-structure. See - ## included LICENSE file for license information. - --AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include $(USB_CFLAGS) -DLIBDIR="\"$(libdir)/sane\"" -+AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include $(USB_CFLAGS) -DLIBDIR="\"$(libdir)/sane\"" -DDEB_DLL_LIBDIR="\"$(libdir)/sane:$(prefix)/lib/sane\"" - - AM_LDFLAGS += $(STRICT_LDFLAGS) - # The -rpath option is added because we are creating _LTLIBRARIES based diff --git a/debian/patches/0130-usb-timeout.patch b/debian/patches/0130-usb-timeout.patch deleted file mode 100644 index 284d3cf..0000000 --- a/debian/patches/0130-usb-timeout.patch +++ /dev/null @@ -1,30 +0,0 @@ -Description: Add timeout before usb bulk write -Author: Steve Graham -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=810919 -Forwarded: https://alioth.debian.org/tracker/index.php?func=detail&aid=315288&group_id=30186&atid=410366 -Last-Update: 2016-01-25 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/sanei/sanei_usb.c -=================================================================== ---- trunk.orig/sanei/sanei_usb.c -+++ trunk/sanei/sanei_usb.c -@@ -2411,6 +2411,10 @@ SANE_Status - sanei_usb_write_bulk (SANE_Int dn, const SANE_Byte * buffer, size_t * size) - { - ssize_t write_size = 0; -+ struct timespec sleepytime, sleepyremain; -+ -+ sleepytime.tv_nsec = 50000L; /* nanoseconds */ -+ sleepytime.tv_sec = 0; - - if (!size) - { -@@ -2439,6 +2443,7 @@ sanei_usb_write_bulk (SANE_Int dn, const - else if (devices[dn].method == sanei_usb_method_libusb) - #ifdef HAVE_LIBUSB - { -+ nanosleep(&sleepytime, &sleepyremain); /* sg */ - if (devices[dn].bulk_out_ep) - { - write_size = usb_bulk_write (devices[dn].libusb_handle, diff --git a/debian/patches/0135-saned-remotescanners.patch b/debian/patches/0135-saned-remotescanners.patch deleted file mode 100644 index 19c24f4..0000000 --- a/debian/patches/0135-saned-remotescanners.patch +++ /dev/null @@ -1,159 +0,0 @@ -Description: saned option to report network-attached devices to clients -Author: Jens-U. Mozdzen -Author: Dhionel Díaz -Bug: https://alioth.debian.org/tracker/index.php?func=detail&aid=314768&group_id=30186&atid=410366 -Last-Update: 2016-04-13 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ ---- a/doc/saned.man -+++ b/doc/saned.man -@@ -10,6 +10,7 @@ - .I [ n ] - .B | \-s - .I [ n ] -+.B | \-r - .B | \-h - .B ] - .SH DESCRIPTION -@@ -37,6 +38,14 @@ - .B saned - will drop root privileges and run as this user (and group). - .PP -+If the -+.B \-r -+flag is specified, saned will also report remote scanners (those that are accessed -+via saned's "net" backend) when receiving an inquiry to list all devices. As the -+remote scanner may not be available at the time of the request, enabling this -+option may cause a significant delay, experienced by the remote client. -+Default is not to report those scanners. -+.PP - The - .B \-d - and -@@ -94,6 +103,14 @@ - machine, we strongly recommend using the Netfilter - \fInf_conntrack_sane\fP module instead. - .PP -+\fBreexport_remote_scanners\fP = \fI[ true | yes | 1 ]\fP -+Enables reporting remote scanners (those accessed via saned's "net" -+backend) to clients. As the remote scanner may not be available at -+the time of the request, enabling this option may cause a significant -+delay, experienced by the remote client. -+Any value other than "true", "yes" or "1" will keep this option disabled, -+which is the default when this option nor the command line flag "-r" is specified. -+.PP - The access list is a list of host names, IP addresses or IP subnets - (CIDR notation) that are permitted to use local SANE devices. IPv6 - addresses must be enclosed in brackets, and should always be specified ---- a/frontend/saned.c -+++ b/frontend/saned.c -@@ -246,6 +246,7 @@ - static int num_handles; - static int debug; - static int run_mode; -+static SANE_Bool reexport_remote_scanners_disabled = SANE_TRUE; - static Handle *handle; - static union - { -@@ -1834,7 +1835,7 @@ - - reply.status = - sane_get_devices ((const SANE_Device ***) &reply.device_list, -- SANE_TRUE); -+ reexport_remote_scanners_disabled); - sanei_w_reply (w, (WireCodecFunc) sanei_w_get_devices_reply, &reply); - } - break; -@@ -2697,6 +2698,23 @@ - DBG (DBG_INFO, "read_config: data port range: %d - %d\n", data_port_lo, data_port_hi); - } - } -+ else if (strstr(config_line, "reexport_remote_scanners") != NULL) -+ { -+ optval = sanei_config_skip_whitespace (++optval); -+ if ((optval != NULL) && (*optval != '\0')) -+ { -+ if (optval == endval) -+ { -+ DBG (DBG_ERR, "read_config: invalid value for data_portrange\n"); -+ continue; -+ } -+ else if ((strcmp( optval, "yes") == 0) || (strcmp( optval, "true") == 0) ||(strcmp( optval, "1") == 0)) -+ { -+ reexport_remote_scanners_disabled = SANE_FALSE; -+ DBG (DBG_INFO, "main: enabled serving remote scanner devices\n"); -+ } -+ } -+ } - } - fclose (fp); - DBG (DBG_INFO, "read_config: done reading config\n"); -@@ -3274,35 +3292,43 @@ - numchildren = 0; - run_mode = SANED_RUN_INETD; - -- if (argc >= 2) -- { -- if (strncmp (argv[1], "-a", 2) == 0) -- run_mode = SANED_RUN_ALONE; -- else if (strncmp (argv[1], "-d", 2) == 0) -- { -- run_mode = SANED_RUN_DEBUG; -- log_to_syslog = SANE_FALSE; -- } -- else if (strncmp (argv[1], "-s", 2) == 0) -- run_mode = SANED_RUN_DEBUG; -- else -- { -- printf ("Usage: saned [ -a [ username ] | -d [ n ] | -s [ n ] ] | -h\n"); -- if ((strncmp (argv[1], "-h", 2) == 0) || -- (strncmp (argv[1], "--help", 6) == 0)) -- exit (EXIT_SUCCESS); -- else -- exit (EXIT_FAILURE); -- } -- } -+ int optc; - -- if (run_mode == SANED_RUN_DEBUG) -- { -- if (argv[1][2]) -- debug = atoi (argv[1] + 2); -+ opterr = 0; /* wir wollen keine fremden Ausgaben */ -+ -+ do { -+ switch (optc = getopt(argc, argv, "ad:s:r")) { -+ -+ case 'a': /* stand-alone */ -+ run_mode = SANED_RUN_ALONE; -+ break; -+ case 'd': /* debug */ -+ run_mode = SANED_RUN_DEBUG; -+ log_to_syslog = SANE_FALSE; - -+ debug = atoi( optarg); - DBG (DBG_WARN, "main: starting debug mode (level %d)\n", debug); -+ break; -+ case 's': /* debug to syslog */ -+ run_mode = SANED_RUN_DEBUG; -+ -+ debug = atoi( optarg); -+ DBG (DBG_WARN, "main: starting debug mode (level %d)\n", debug); -+ break; -+ case 'r': /* re-export network-attached scanners */ -+ reexport_remote_scanners_disabled = SANE_FALSE; -+ DBG (DBG_INFO, "main: enabled serving remote scanner devices\n"); -+ break; -+ case '?': /* unknown option */ -+ printf ("Usage: saned [ -a [ username ] | -d [ n ] | -s [ n ] ] | -r | -h\n"); -+ if ((strncmp (argv[1], "-h", 2) == 0) || -+ (strncmp (argv[1], "--help", 6) == 0)) -+ exit (EXIT_SUCCESS); -+ else -+ exit (EXIT_FAILURE); -+ break; - } -+ } while (optc != -1); - - if (log_to_syslog) - openlog ("saned", LOG_PID | LOG_CONS, LOG_DAEMON); diff --git a/debian/patches/0150-genesys-Fix-use-of-uninitialized-variable.patch b/debian/patches/0150-genesys-Fix-use-of-uninitialized-variable.patch deleted file mode 100644 index 0311975..0000000 --- a/debian/patches/0150-genesys-Fix-use-of-uninitialized-variable.patch +++ /dev/null @@ -1,25 +0,0 @@ -From dd61ef1cc84299781e382b9258d97102cee192b4 Mon Sep 17 00:00:00 2001 -From: Olaf Meeuwissen -Date: Thu, 3 Aug 2017 18:50:05 +0900 -Subject: [PATCH] genesys: Fix use of uninitialized variable - -See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=869673 ---- - backend/genesys.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/backend/genesys.c b/backend/genesys.c -index 1c1bbf4..0b644c4 100644 ---- a/backend/genesys.c -+++ b/backend/genesys.c -@@ -6237,6 +6237,7 @@ attach (SANE_String_Const devname, Genesys_Device ** devp, SANE_Bool may_wait) - dev->model = genesys_usb_device_list[i].model; - dev->vendorId = genesys_usb_device_list[i].vendor; - dev->productId = genesys_usb_device_list[i].product; -+ dev->usb_mode = 0; /* i.e. unset */ - dev->already_initialized = SANE_FALSE; - - DBG (DBG_info, "attach: found %s flatbed scanner %s at %s\n", --- -2.1.4 - diff --git a/debian/patches/0155-genesys_gl847.patch b/debian/patches/0155-genesys_gl847.patch deleted file mode 100644 index 27d6b2b..0000000 --- a/debian/patches/0155-genesys_gl847.patch +++ /dev/null @@ -1,63 +0,0 @@ -Description: Restore slow_back_home use, disable rewind for gl847 -Origin: upstream, https://gitlab.com/sane-project/backends/commit/4354fc7f6da2ee65cbe940a715f11abecdad3f49 -Bug: https://gitlab.com/sane-project/backends/issues/7 -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=912603 -Forwarded: not-needed -Last-Update: 2019-04-28 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/backend/genesys.c -=================================================================== ---- trunk.orig/backend/genesys.c -+++ trunk/backend/genesys.c -@@ -2070,11 +2070,17 @@ genesys_white_shading_calibration (Genes - dev->model->cmd_set->set_lamp_power (dev, dev->calib_reg, SANE_TRUE); - dev->model->cmd_set->set_motor_power (dev->calib_reg, motor); - -- /* if needed, go back before doin next scan, by using rewind, registers and -- * slopes table are kept intact from previous scan */ -- if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK && dev->model->cmd_set->rewind) -+ /* if needed, go back before doing next scan */ -+ if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) -+ - { -- status = dev->model->cmd_set->rewind (dev); -+ /* rewind keeps registers and slopes table intact from previous -+ scan but is not available on all supported chipsets (or may -+ cause scan artifacts, see #7) */ -+ status = (dev->model->cmd_set->rewind -+ ? dev->model->cmd_set->rewind (dev) -+ : dev->model->cmd_set->slow_back_home (dev, SANE_TRUE)); -+ - } - - status = -Index: trunk/backend/genesys_gl847.c -=================================================================== ---- trunk.orig/backend/genesys_gl847.c -+++ trunk/backend/genesys_gl847.c -@@ -1934,6 +1934,7 @@ gl847_end_scan (Genesys_Device * dev, Ge - * @param dev device to rewind - * @returns SANE_STATUS_GOOD on success - */ -+#if 0 - GENESYS_STATIC - SANE_Status gl847_rewind(Genesys_Device * dev) - { -@@ -1965,6 +1966,7 @@ SANE_Status gl847_rewind(Genesys_Device - DBGCOMPLETED; - return SANE_STATUS_GOOD; - } -+#endif - - /** Park head - * Moves the slider to the home (top) position slowly -@@ -3793,7 +3795,7 @@ static Genesys_Command_Set gl847_cmd_set - gl847_led_calibration, - - gl847_slow_back_home, -- gl847_rewind, -+ NULL, /* disable gl847_rewind, see #7 */ - - sanei_genesys_bulk_write_register, - NULL, diff --git a/debian/patches/0500-CVE-2017-6318.patch b/debian/patches/0500-CVE-2017-6318.patch deleted file mode 100644 index e793888..0000000 --- a/debian/patches/0500-CVE-2017-6318.patch +++ /dev/null @@ -1,52 +0,0 @@ -Description: Address memory corruption and information leakage - cheery-pick from upstream git commit 42896939822b44f44ecd1b6d35afdfa4473ed35d -Author: Jörg Frings-Fürst -Origin: https://anonscm.debian.org/cgit/sane/sane-backends.git/commit/frontend/saned.c?id=42896939822b44f44ecd1b6d35afdfa4473ed35d -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=854804 -Forwarded: not-needed -Last-Update: 2017-04-19 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: 1.0.25-3x/frontend/saned.c -=================================================================== ---- 1.0.25-3x.orig/frontend/saned.c -+++ 1.0.25-3x/frontend/saned.c -@@ -1987,6 +1987,38 @@ process_request (Wire * w) - return 1; - } - -+ /* Addresses CVE-2017-6318 (#315576, Debian BTS #853804) */ -+ /* This is done here (rather than in sanei/sanei_wire.c where -+ * it should be done) to minimize scope of impact and amount -+ * of code change. -+ */ -+ if (w->direction == WIRE_DECODE -+ && req.value_type == SANE_TYPE_STRING -+ && req.action == SANE_ACTION_GET_VALUE) -+ { -+ if (req.value) -+ { -+ /* FIXME: If req.value contains embedded NUL -+ * characters, this is wrong but we do not have -+ * access to the amount of memory allocated in -+ * sanei/sanei_wire.c at this point. -+ */ -+ w->allocated_memory -= (1 + strlen (req.value)); -+ free (req.value); -+ } -+ req.value = malloc (req.value_size); -+ if (!req.value) -+ { -+ w->status = ENOMEM; -+ DBG (DBG_ERR, -+ "process_request: (control_option) " -+ "h=%d (%s)\n", req.handle, strerror (w->status)); -+ return 1; -+ } -+ memset (req.value, 0, req.value_size); -+ w->allocated_memory += req.value_size; -+ } -+ - can_authorize = 1; - - memset (&reply, 0, sizeof (reply)); /* avoid leaking bits */ diff --git a/debian/patches/0605-man_typo.patch b/debian/patches/0605-man_typo.patch deleted file mode 100644 index 991fc69..0000000 --- a/debian/patches/0605-man_typo.patch +++ /dev/null @@ -1,101 +0,0 @@ -Description: format error in man page -Author: Jörg Frings-Fürst -Forwarded: not-needed -Last-Update: 2016-08-21 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/doc/sane-mustek_usb.man -=================================================================== ---- trunk.orig/doc/sane-mustek_usb.man -+++ trunk/doc/sane-mustek_usb.man -@@ -180,6 +180,7 @@ export SANE_DEBUG_MUSTEK_USB=4 - .BR sane\-ma1509 (5) - .br - .IR @DOCDIR@/mustek_usb/mustek_usb.CHANGES , -+.br - .I @DOCDIR@/mustek_usb/mustek_usb.TODO - .br - .I http://www.meier\-geinitz.de/sane/mustek_usb\-backend/ -Index: trunk/doc/sane-genesys.man -=================================================================== ---- trunk.orig/doc/sane-genesys.man -+++ trunk/doc/sane-genesys.man -@@ -52,7 +52,7 @@ in the feeder then start calibration eit - or by clicking on the available 'calibrate' button in the 'advanced options' in a graphical - frontend. The result of the calibration is stored in a file in the home directory of the user doing it. - If you plug the scanner in another machine or use it with another account, calibration --will have to be redone, unles you use the \-\-calibration\-file option. -+will have to be redone, unless you use the \-\-calibration\-file option. - If no home directory is defined, - USERAPPPROFILE will be used, then TMPDIR or TMP. If none of these directories exist, the backend will try - to write in the current working directory. Flatbed scanners also make use of the calibration file as a cache -@@ -71,7 +71,7 @@ A value of -1 means forever, 0 means no - .B \-\-threshold percent - .RS - 0..100% (in steps of 1). Select minimum brightness to get a white point. Pixels --whith brightness below that value will be scanned as black. -+with brightness below that value will be scanned as black. - .RE - - .B \-\-brightness value -Index: trunk/doc/saned.man -=================================================================== ---- trunk.orig/doc/saned.man -+++ trunk/doc/saned.man -@@ -226,7 +226,7 @@ compiled in, but then logging of debug i - The systemd configuration is different for the 2 options, so - both are described below. - .SH Systemd configuration for saned with systemd support compiled in --for the systemd configuration we need to add 2 configuation files in -+for the systemd configuration we need to add 2 configuration files in - .I /etc/systemd/system. - .PP - The first file we need to add here is called -@@ -301,7 +301,7 @@ forwarded to the system log. - This configuration will also work when Saned is compiled WITH systemd integration - support, but it does not allow debugging information to be logged. - .PP --for systemd configuration for saned, we need to add 2 configuation files in -+for systemd configuration for saned, we need to add 2 configuration files in - .I /etc/systemd/system. - .PP - The first file we need to add here is called -Index: trunk/doc/sane-epson.man -=================================================================== ---- trunk.orig/doc/sane-epson.man -+++ trunk/doc/sane-epson.man -@@ -77,7 +77,7 @@ The - option selects the bit depth the scanner is using. This option is only - available for scanners that support more than one bit depth. Older - scanners will always transfer the image in 8bit mode. Newer scanners --allow to select either 8 bits, 12 or 14 bits per color channel. For a -+allow one to select either 8 bits, 12 or 14 bits per color channel. For a - color scan this means an effective color depth of 36 or 42 bits over - all three channels. The valid choices depend on the scanner model. - -Index: trunk/doc/sane-epson2.man -=================================================================== ---- trunk.orig/doc/sane-epson2.man -+++ trunk/doc/sane-epson2.man -@@ -123,7 +123,7 @@ The - option selects the bit depth the scanner is using. This option is only - available for scanners that support more than one bit depth. Older - scanners will always transfer the image in 8bit mode. Newer scanners --allow to select either 8 bits, 12 or 14 bits per color channel. For a -+allow one to select either 8 bits, 12 or 14 bits per color channel. For a - color scan this means an effective color depth of 36 or 42 bits over - all three channels. The valid choices depend on the scanner model. - -Index: trunk/doc/sane-epsonds.man -=================================================================== ---- trunk.orig/doc/sane-epsonds.man -+++ trunk/doc/sane-epsonds.man -@@ -29,7 +29,7 @@ The - option selects the bit depth the scanner is using. This option is only - available for scanners that support more than one bit depth. Older - scanners will always transfer the image in 8bit mode. Newer scanners --allow to select either 8 bits, 12 or 14 bits per color channel. For a -+allow one to select either 8 bits, 12 or 14 bits per color channel. For a - color scan this means an effective color depth of 36 or 42 bits over - all three channels. The valid choices depend on the scanner model. - diff --git a/debian/patches/0710-sane-desc.c_debian_mods.patch b/debian/patches/0710-sane-desc.c_debian_mods.patch deleted file mode 100644 index 5dc9fdd..0000000 --- a/debian/patches/0710-sane-desc.c_debian_mods.patch +++ /dev/null @@ -1,15649 +0,0 @@ -Description: Tweak sane-desc to suit our needs - Do not link to HTML manpages, we do not have them installed. Also, - do not use sane.png, as it's not distributed in the source tarball. - Do not output a timestamp as part of the udev rules file header, as - this breaks multiarch. -Author: Julien BLACHE - -Index: trunk/tools/sane-desc.c -=================================================================== ---- trunk.orig/tools/sane-desc.c -+++ trunk/tools/sane-desc.c -@@ -47,7 +47,7 @@ - - #define SANE_DESC_VERSION "3.5" - --#define MAN_PAGE_LINK "http://www.sane-project.org/man/%s.5.html" -+#define MAN_PAGE_LINK "/usr/share/doc/libsane/html/%s.5.html" - #define COLOR_MINIMAL "\"#B00000\"" - #define COLOR_BASIC "\"#FF9000\"" - #define COLOR_GOOD "\"#90B000\"" -@@ -2523,8 +2523,8 @@ html_backends_split_table (device_type d - printf ("
    \n"); - } - if (be->manpage) -- printf ("Manual page: %s
    \n", be->manpage, be->manpage); -+ printf ("Manual page:" -+ "%s
    \n", be->manpage); - - if (be->comment) - printf ("Comment: %s
    \n", be->comment); -@@ -2758,9 +2758,9 @@ html_mfgs_table (device_type dev_type) - - printf ("\n"); - if (model_record->be->manpage) -- printf ("%s\n", -- model_record->be->manpage, model_record->be->manpage); -+ printf ("" -+ "%s\n", -+ model_record->be->manpage); - else - printf ("?\n"); - -@@ -3463,8 +3463,8 @@ print_udev_header (void) - { - time_t current_time = time (0); - printf ("# This file was automatically created based on description files (*.desc)\n" -- "# by sane-desc %s from %s on %s", -- SANE_DESC_VERSION, PACKAGE_STRING, asctime (localtime (¤t_time))); -+ "# by sane-desc %s from %s\n", -+ SANE_DESC_VERSION, PACKAGE_STRING); - - printf - ("#\n" -Index: trunk/testsuite/tools/data/html-backends-split.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/html-backends-split.ref -+++ trunk/testsuite/tools/data/html-backends-split.ref -@@ -5,7 +5,6 @@ - - -
    --SANE -

    SANE: Backends (Drivers)

    -
    -
    -@@ -165,7 +164,7 @@ isn't mentioned in this list at all.

    - (unmaintained) - -

    --Manual page: sane-abaton
    -+Manual page:sane-abaton
    -

    - - -@@ -197,7 +196,7 @@ Abaton - (unmaintained) - -

    --Manual page: sane-agfafocus
    -+Manual page:sane-agfafocus
    -

    -
    - -@@ -259,7 +258,7 @@ Siemens - (unmaintained) - -

    --Manual page: sane-apple
    -+Manual page:sane-apple
    -

    -
    - -@@ -300,7 +299,7 @@ Siemens -

    - Link(s): - http://www4.infi.net/~cpinkham/sane/sane-artec-doc.html
    --Manual page: sane-artec
    -+Manual page:sane-artec
    -

    -
    - -@@ -378,7 +377,7 @@ Siemens - (unmaintained) - -

    --Manual page: sane-artec_eplus48u
    -+Manual page:sane-artec_eplus48u
    -

    -
    - -@@ -494,7 +493,7 @@ Siemens -

    - Link(s): - http://as6edriver.sourceforge.net/
    --Manual page: sane-as6e
    -+Manual page:sane-as6e
    -

    -
    - -@@ -539,7 +538,7 @@ Siemens -

    - Link(s): - http://skull.piratehaven.org/~mike/sane/avision.html
    --Manual page: sane-avision
    -+Manual page:sane-avision
    -

    -
    - -@@ -1619,7 +1618,7 @@ Kyocera -

    - Link(s): - http://www.martoneconsulting.com/sane-bh.html
    --Manual page: sane-bh
    -+Manual page:sane-bh
    - Comment: Supports Copiscan II scanners with Remote SCSI Controller (RSC) interface
    -

    -
    -@@ -1682,7 +1681,7 @@ Kyocera -

    - Link(s): - http://www.rzg.mpg.de/~mpd/sane/
    --Manual page: sane-canon
    -+Manual page:sane-canon
    -

    -
    - -@@ -1760,7 +1759,7 @@ Kyocera -

    - Link(s): - http://canon-fb630u.sourceforge.net/
    --Manual page: sane-canon630u
    -+Manual page:sane-canon630u
    -

    -
    - -@@ -1794,7 +1793,7 @@ Kyocera -

    - Link(s): - http://www.thebility.com/canon/
    --Manual page: sane-canon_dr
    -+Manual page:sane-canon_dr
    - Comment: Backend updated for SANE release 1.0.23, see sane-canon_dr manpage
    -

    -
    -@@ -2095,7 +2094,7 @@ Kyocera -

    - Link(s): - http://canon-fb330p.sourceforge.net
    --Manual page: sane-canon_pp
    -+Manual page:sane-canon_pp
    -

    -
    - -@@ -2178,7 +2177,7 @@ Kyocera -

    - Link(s): - http://www.thebility.com/cardscan/
    --Manual page: sane-cardscan
    -+Manual page:sane-cardscan
    - Comment: Backend updated for SANE release 1.0.21, see sane-cardscan manpage
    -

    -
    -@@ -2213,7 +2212,7 @@ Kyocera -

    - Link(s): - http://andreas.rick.free.fr/sane/
    --Manual page: sane-coolscan
    -+Manual page:sane-coolscan
    -

    -
    - -@@ -2261,7 +2260,7 @@ Kyocera -

    - Link(s): - http://coolscan2.sourceforge.net/
    --Manual page: sane-coolscan2
    -+Manual page:sane-coolscan2
    -

    -
    - -@@ -2335,7 +2334,7 @@ Kyocera - (1.0.0) - -

    --Manual page: sane-coolscan3
    -+Manual page:sane-coolscan3
    -

    -
    - -@@ -2448,7 +2447,7 @@ Kyocera -

    - Link(s): - http://www.thebility.com/epjitsu/
    --Manual page: sane-epjitsu
    -+Manual page:sane-epjitsu
    - Comment: Backend updated for SANE release 1.0.21, see sane-epjitsu manpage
    -

    -
    -@@ -2504,7 +2503,7 @@ Kyocera -

    - Link(s): - http://www.khk.net/sane
    --Manual page: sane-epson
    -+Manual page:sane-epson
    -

    -
    - -@@ -2984,7 +2983,7 @@ Kyocera - (1.0.124) - -

    --Manual page: sane-epson2
    -+Manual page:sane-epson2
    -

    -
    - -@@ -5398,7 +5397,7 @@ Kyocera -

    - Link(s): - http://www.thebility.com/fujitsu/
    --Manual page: sane-fujitsu
    -+Manual page:sane-fujitsu
    - Comment: Backend updated for SANE release 1.0.23, see sane-fujitsu manpage
    -

    -
    -@@ -5923,7 +5922,7 @@ Kyocera -

    - Link(s): - http://www.meier-geinitz.de/sane/genesys-backend/
    --Manual page: sane-genesys
    -+Manual page:sane-genesys
    - Comment: Only the USB scanners mentioned below are currently supported.
    -

    -
    -@@ -6242,7 +6241,7 @@ Panasonic -

    - Link(s): - http://www.meier-geinitz.de/sane/gt68xx-backend/
    --Manual page: sane-gt68xx
    -+Manual page:sane-gt68xx
    - Comment: Only the USB scanners mentioned below are supported. For other Mustek BearPaws, look at the Plustek and the MA-1509 backend.
    -

    -
    -@@ -6774,7 +6773,7 @@ RevScan -

    - Link(s): - http://www.kirchgessner.net/
    --Manual page: sane-hp
    -+Manual page:sane-hp
    -

    -
    - -@@ -6927,7 +6926,7 @@ RevScan -

    - Link(s): - http://projects.troy.rollo.name/rt-scanners/
    --Manual page: sane-hp3500
    -+Manual page:sane-hp3500
    - Comment: HP3500 series scanners.
    -

    -
    -@@ -6969,7 +6968,7 @@ RevScan -

    - Link(s): - http://sourceforge.net/projects/hp3900-series/
    --Manual page: sane-hp3900
    -+Manual page:sane-hp3900
    - Comment: Still Beta
    -

    -
    -@@ -7057,7 +7056,7 @@ RevScan -

    - Link(s): - http://hp4200-backend.sourceforge.net
    --Manual page: sane-hp4200
    -+Manual page:sane-hp4200
    -

    -
    - -@@ -7098,7 +7097,7 @@ RevScan -

    - Link(s): - http://sourceforge.net/projects/hp5400backend
    --Manual page: sane-hp5400
    -+Manual page:sane-hp5400
    - Comment: HP5400 and HP5470 scanners. Prototype backend available
    -

    -
    -@@ -7138,7 +7137,7 @@ RevScan - (1.0.5) - -

    --Manual page: sane-hp5590
    -+Manual page:sane-hp5590
    -

    -
    - -@@ -7198,7 +7197,7 @@ RevScan - (0) - -

    --Manual page: sane-hpljm1005
    -+Manual page:sane-hpljm1005
    -

    -
    - -@@ -7239,7 +7238,7 @@ RevScan -

    - Link(s): - http://hpsj5s.sourceforge.net/
    --Manual page: sane-hpsj5s
    -+Manual page:sane-hpsj5s
    -

    -
    - -@@ -7266,7 +7265,7 @@ RevScan -

    - Link(s): - http://www.acjlaw.net:8080/~jeremy/Ricoh/
    --Manual page: sane-hs2p
    -+Manual page:sane-hs2p
    - Comment: This backend has been tested with the IS450DE (Duplex/Endorser). All major functions necessary for scanning are supported. This backend should work with all Ricoh scanners in the IS450 family as well as the IS420 series, but the IS420 has not yet been tested. Features provided by the optional Image Processing Unit (IPU) are not yet integrated into the backend, as my scanner lacks the IPU.
    -

    -
    -@@ -7315,7 +7314,7 @@ RevScan -

    - Link(s): - http://www.meier-geinitz.de/sane/ibm-backend/
    --Manual page: sane-ibm
    -+Manual page:sane-ibm
    - Comment: This backend has had only limited testing. It needs more work especially for the Ricoh scanners. Patches are welcome.
    -

    -
    -@@ -7366,7 +7365,7 @@ Ricoh -

    - Link(s): - http://www.thebility.com/kodak/
    --Manual page: sane-kodak
    -+Manual page:sane-kodak
    - Comment: New backend for SANE release 1.0.21, see sane-kodak manpage
    -

    -
    -@@ -7618,7 +7617,7 @@ Ricoh -

    - Link(s): - http://sourceforge.net/projects/cupsdriverkodak/
    --Manual page: sane-kodakaio
    -+Manual page:sane-kodakaio
    - Comment: Backend for Kodak AiO ESP and Hero printers. Also possibly Advent AWL10
    -

    -
    -@@ -7821,7 +7820,7 @@ Ricoh - (unmaintained) - -

    --Manual page: sane-kvs20xx
    -+Manual page:sane-kvs20xx
    - Comment: New backend for SANE release 1.0.22, see sane-kvs20xx manpage
    -

    -
    -@@ -7882,7 +7881,7 @@ Ricoh - (unmaintained) - -

    --Manual page: sane-kvs40xx
    -+Manual page:sane-kvs40xx
    - Comment: New backend for SANE release 1.0.23, see sane-kvs40xx manpage
    -

    -
    -@@ -7922,7 +7921,7 @@ Ricoh - (unmaintained) - -

    --Manual page: sane-kvs1025
    -+Manual page:sane-kvs1025
    - Comment: New backend for SANE release 1.0.21, see sane-kvs1025 manpage
    -

    -
    -@@ -7964,7 +7963,7 @@ Ricoh -

    - Link(s): - http://www.zago.net/sane/#leo
    --Manual page: sane-leo
    -+Manual page:sane-leo
    -

    -
    - -@@ -8009,7 +8008,7 @@ Genius -

    - Link(s): - http://stef.dev.free.fr/sane/lexmark
    --Manual page: sane-lexmark
    -+Manual page:sane-lexmark
    - Comment: This backend supports lexmark x1100 series scanners.
    -

    -
    -@@ -8109,7 +8108,7 @@ Dell -

    - Link(s): - http://www.meier-geinitz.de/sane/ma1509-backend/
    --Manual page: sane-ma1509
    -+Manual page:sane-ma1509
    -

    -
    - -@@ -8145,7 +8144,7 @@ Dell -

    - Link(s): - http://wiki.kainhofer.com/hardware/magicolor_scan
    --Manual page: sane-magicolor
    -+Manual page:sane-magicolor
    -

    -
    - -@@ -8186,7 +8185,7 @@ Dell -

    - Link(s): - http://www.zago.net/sane
    --Manual page: sane-matsushita
    -+Manual page:sane-matsushita
    -

    -
    - -@@ -8283,7 +8282,7 @@ Dell -

    - Link(s): - http://www.mir.com/mtek/
    --Manual page: sane-microtek
    -+Manual page:sane-microtek
    -

    -
    - -@@ -8463,7 +8462,7 @@ Dell -

    - Link(s): - http://karstenfestag.gmxhome.de/linux.html
    --Manual page: sane-microtek2
    -+Manual page:sane-microtek2
    -

    -
    - -@@ -8713,7 +8712,7 @@ Dell -

    - Link(s): - http://www.meier-geinitz.de/sane/mustek-backend/
    --Manual page: sane-mustek
    -+Manual page:sane-mustek
    - Comment: Most Mustek SCSI scanners are supported by this backend. For USB scanners, look at the mustek_usb backend.
    -

    -
    -@@ -8962,7 +8961,7 @@ Dell -

    - Link(s): - http://penguin-breeder.org/sane/mustek_pp/
    --Manual page: sane-mustek_pp
    -+Manual page:sane-mustek_pp
    - Comment: Supports CIS and CCD type parallel port scanners from Mustek.
    -

    -
    -@@ -9160,7 +9159,7 @@ Micromaxx -

    - Link(s): - http://www.meier-geinitz.de/sane/mustek_usb-backend/
    --Manual page: sane-mustek_usb
    -+Manual page:sane-mustek_usb
    - Comment: Only the USB scanners mentioned below are supported. For BearPaws, look at the Plustek, MA-1509, and gt68xx backends.
    -

    -
    -@@ -9218,7 +9217,7 @@ Micromaxx -

    - Link(s): - http://www.meier-geinitz.de/sane/mustek_usb2-backend/
    --Manual page: sane-mustek_usb2
    -+Manual page:sane-mustek_usb2
    - Comment: Only BearPaw 2448TA Pro is supported at the moment
    -

    -
    -@@ -9246,7 +9245,7 @@ Micromaxx -

    - Link(s): - http://www5a.biglobe.ne.jp/~saetaka/
    --Manual page: sane-nec
    -+Manual page:sane-nec
    -

    -
    - -@@ -9273,7 +9272,7 @@ Micromaxx -

    - Link(s): - http://sourceforge.net/projects/hp3300backend
    --Manual page: sane-niash
    -+Manual page:sane-niash
    -

    -
    - -@@ -9339,7 +9338,7 @@ Micromaxx -

    - Link(s): - http://www.sane-project.org/
    --Manual page: sane-p5
    -+Manual page:sane-p5
    - Comment: New backend for SANE release 1.0.21, see sane-p5 manpage
    -

    -
    -@@ -9367,7 +9366,7 @@ Micromaxx -

    - Link(s): - http://www.munton.demon.co.uk/sane
    --Manual page: sane-pie
    -+Manual page:sane-pie
    -

    -
    - -@@ -9510,7 +9509,7 @@ Adlib -

    - Link(s): - http://home.arcor.de/wittawat/pixma/, http://mp610.blogspot.com/
    --Manual page: sane-pixma
    -+Manual page:sane-pixma
    -

    -
    - -@@ -10496,7 +10495,7 @@ Adlib -

    - Link(s): - http://www.gjaeger.de/scanner/plustek/
    --Manual page: sane-plustek
    -+Manual page:sane-plustek
    -

    -
    - -@@ -10818,7 +10817,7 @@ Ambir -

    - Link(s): - http://www.gjaeger.de/scanner/plustek_pp/
    --Manual page: sane-plustek_pp
    -+Manual page:sane-plustek_pp
    -

    -
    - -@@ -11026,7 +11025,7 @@ BrightScan - (unmaintained) - -

    --Manual page: sane-ricoh
    -+Manual page:sane-ricoh
    -

    -
    - -@@ -11060,7 +11059,7 @@ BrightScan -

    - Link(s): - http://stef.dev.free.fr/sane/rts8891/index.html
    --Manual page: sane-rts8891
    -+Manual page:sane-rts8891
    - Comment: This backend supports Realtek RTS8891 ASIC bases scanners.
    -

    -
    -@@ -11109,7 +11108,7 @@ BrightScan - (unmaintained) - -

    --Manual page: sane-s9036
    -+Manual page:sane-s9036
    -

    -
    - -@@ -11136,7 +11135,7 @@ BrightScan -

    - Link(s): - http://www.zago.net/sane/
    --Manual page: sane-sceptre
    -+Manual page:sane-sceptre
    -

    -
    - -@@ -11172,7 +11171,7 @@ BrightScan -

    - Link(s): - http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html
    --Manual page: sane-sharp
    -+Manual page:sane-sharp
    -

    -
    - -@@ -11234,7 +11233,7 @@ BrightScan -

    - Link(s): - http://sm3600.sourceforge.net/
    --Manual page: sane-sm3600
    -+Manual page:sane-sm3600
    -

    -
    - -@@ -11296,7 +11295,7 @@ BrightScan -

    - Link(s): - http://www.ziplabel.com/sm3840/
    --Manual page: sane-sm3840
    -+Manual page:sane-sm3840
    - Comment: This reverse-engineered backend supports the USB ScanMaker 3840 model
    -

    -
    -@@ -11331,7 +11330,7 @@ BrightScan -

    - Link(s): - http://snapscan.sourceforge.net/
    --Manual page: sane-snapscan
    -+Manual page:sane-snapscan
    - Comment: Supported bit depths: 24 bit (color), 48 bit (color, Epson) 8 bit (gray)
    -

    -
    -@@ -11757,7 +11756,7 @@ BrightScan - (unmaintained) - -

    --Manual page: sane-sp15c
    -+Manual page:sane-sp15c
    -

    -
    - -@@ -11791,7 +11790,7 @@ BrightScan -

    - Link(s): - http://www.informatik.uni-oldenburg.de/~ingo/sane/
    --Manual page: sane-st400
    -+Manual page:sane-st400
    -

    -
    - -@@ -11823,7 +11822,7 @@ BrightScan - (unmaintained) - -

    --Manual page: sane-tamarack
    -+Manual page:sane-tamarack
    -

    -
    - -@@ -11864,7 +11863,7 @@ Tamarack -

    - Link(s): - http://www.zago.net/sane/#teco
    --Manual page: sane-teco1
    -+Manual page:sane-teco1
    -

    -
    - -@@ -12021,7 +12020,7 @@ Dextra -

    - Link(s): - http://gkall.hobby.nl/teco2.html
    --Manual page: sane-teco2
    -+Manual page:sane-teco2
    -

    -
    - -@@ -12122,7 +12121,7 @@ Dextra -

    - Link(s): - http://www.zago.net/sane/#teco3
    --Manual page: sane-teco3
    -+Manual page:sane-teco3
    -

    -
    - -@@ -12190,7 +12189,7 @@ Trust -

    - Link(s): - http://www.gjaeger.de/scanner/u12/
    --Manual page: sane-u12
    -+Manual page:sane-u12
    -

    -
    - -@@ -12256,7 +12255,7 @@ RevScan -

    - Link(s): - http://www.rauch-domain.de/sane-umax/index.html
    --Manual page: sane-umax
    -+Manual page:sane-umax
    -

    -
    - -@@ -12749,7 +12748,7 @@ Genius -

    - Link(s): - http://sourceforge.net/projects/umax1220u-sane
    --Manual page: sane-umax1220u
    -+Manual page:sane-umax1220u
    -

    -
    - -@@ -12797,7 +12796,7 @@ Genius -

    - Link(s): - http://umax1220p.sourceforge.net/
    --Manual page: sane-umax_pp
    -+Manual page:sane-umax_pp
    -

    -
    - -@@ -15632,7 +15631,7 @@ Vantas - (1.0-13) - -

    --Manual page: sane-xerox_mfp
    -+Manual page:sane-xerox_mfp
    -

    -
    - -@@ -16131,7 +16130,7 @@ Vantas -

    - Link(s): - mailto:peter@fales-lorenz.net
    --Manual page: sane-dc25
    -+Manual page:sane-dc25
    -

    -
    - -@@ -16165,7 +16164,7 @@ Vantas -

    - Link(s): - mailto:peter@fales-lorenz.net
    --Manual page: sane-dc210
    -+Manual page:sane-dc210
    -

    -
    - -@@ -16192,7 +16191,7 @@ Vantas -

    - Link(s): - mailto:peter@fales-lorenz.net
    --Manual page: sane-dc240
    -+Manual page:sane-dc240
    -

    -
    - -@@ -16217,7 +16216,7 @@ Vantas - (unmaintained) - -

    --Manual page: sane-dmc
    -+Manual page:sane-dmc
    -

    -
    - -@@ -16247,7 +16246,7 @@ Vantas - (unmaintained) - -

    --Manual page: sane-qcam
    -+Manual page:sane-qcam
    -

    -
    - -@@ -16281,7 +16280,7 @@ Connectix -

    - Link(s): - http://gkall.hobby.nl/stv680-aiptek.html
    --Manual page: sane-stv680
    -+Manual page:sane-stv680
    - Comment: This vidcam backend is for the stv0680 chipset, See the website for more info.
    -

    -
    -@@ -16379,7 +16378,7 @@ Grandtek Scopecam -

    - Link(s): - mailto:peter@fales-lorenz.net
    --Manual page: sane-gphoto2
    -+Manual page:sane-gphoto2
    - Description: Multiple cameras supported by the gphoto2 libraries
    - Comment: The long-term plan is to support all the cameras supported by the gphoto2 libraries (currently over 140 models). However, at this stage, only a handful of cameras are definitely known to work with SANE. Other cameras will probably work if the native file format is EXIF or JPEG. Testers welcome!
    -

    -@@ -16387,7 +16386,7 @@ Grandtek Scopecam - (unmaintained) - -

    --Manual page: sane-pint
    -+Manual page:sane-pint
    - Description: Scanners with the machine-independent PINT interface
    - Comment: Haven't been tested for a long time. Handle with care.
    -

    -@@ -16397,7 +16396,7 @@ Grandtek Scopecam -

    - Link(s): - mailto:henning@meier-geinitz.de
    --Manual page: sane-pnm
    -+Manual page:sane-pnm
    - Description: Reads PNM files
    - Comment: Used for debugging frontends. Obsolete, use test backend instead.
    -

    -@@ -16407,7 +16406,7 @@ Grandtek Scopecam -

    - Link(s): - http://www.meier-geinitz.de/sane/test-backend/
    --Manual page: sane-test
    -+Manual page:sane-test
    - Description: Frontend-tester
    - Comment: Backend for testing frontends. Also serves as example for SANE backend options.
    -

    -@@ -16417,7 +16416,7 @@ Grandtek Scopecam -

    - Link(s): - mailto:henning@meier-geinitz.de
    --Manual page: sane-v4l
    -+Manual page:sane-v4l
    - Description: Interface to Video For Linux API
    - Comment: Supports video cameras and other devices accessed by the v4l kernel API, e.g. bttv devices. Quite a lot of known bugs.
    -

    -@@ -16431,7 +16430,7 @@ Grandtek Scopecam -

    - Link(s): - mailto:henning@meier-geinitz.de
    --Manual page: sane-dll
    -+Manual page:sane-dll
    - Description: Dynamic loading of shared-library backends.
    -

    -

    Backend: net -@@ -16440,7 +16439,7 @@ Grandtek Scopecam -

    - Link(s): - http://www.penguin-breeder.org/?page=sane-net
    --Manual page: sane-net
    -+Manual page:sane-net
    - Description: Network access to saned servers
    - Comment: Can be used to access any scanner supported by SANE over the net. Supports IPv4 and IPv6.
    -

    -Index: trunk/testsuite/tools/data/html-mfgs.ref -=================================================================== ---- trunk.orig/testsuite/tools/data/html-mfgs.ref -+++ trunk/testsuite/tools/data/html-mfgs.ref -@@ -5,7 +5,6 @@ - - -
    --SANE -

    SANE: Supported Devices

    -
    -
    -@@ -225,7 +224,7 @@ isn't mentioned in this list at all.

    -

    -- -+ - - - -@@ -235,7 +234,7 @@ abaton
    (unmaintained) - -- -+ - -
    - abaton
    (unmaintained) -
    sane-abatonsane-abaton
    Scan 300/SSCSI - abaton
    (unmaintained) -
    sane-abatonsane-abaton
    -

    Manufacturer: Acer Peripherals

    -@@ -264,7 +263,7 @@ abaton
    (unmaintained) - leo -
    (1.0-10) - --sane-leo -+sane-leo - - -

    Manufacturer: Actown

    -@@ -289,7 +288,7 @@ abaton
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - -

    Manufacturer: Adlib

    -@@ -314,7 +313,7 @@ abaton
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - JetScan636PRO - SCSI -@@ -325,7 +324,7 @@ abaton
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - -

    Manufacturer: Advent

    -@@ -352,7 +351,7 @@ abaton
    (unmaintained) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - -

    Manufacturer: AGFA

    -@@ -379,7 +378,7 @@ abaton
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - Arcus II - SCSI -@@ -390,7 +389,7 @@ abaton
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - DuoScan - SCSI -@@ -401,7 +400,7 @@ abaton
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - DuoScan f40 - USB IEEE-1394 -@@ -444,7 +443,7 @@ abaton
    (unmaintained) - - agfafocus
    (unmaintained) - --sane-agfafocus -+sane-agfafocus - - Focus Color Plus - SCSI -@@ -454,7 +453,7 @@ agfafocus
    (unmaintained) - - agfafocus
    (unmaintained) - --sane-agfafocus -+sane-agfafocus - - Focus GS Scanner - SCSI -@@ -464,7 +463,7 @@ agfafocus
    (unmaintained) - - agfafocus
    (unmaintained) - --sane-agfafocus -+sane-agfafocus - - Focus II - SCSI -@@ -474,7 +473,7 @@ agfafocus
    (unmaintained) - - agfafocus
    (unmaintained) - --sane-agfafocus -+sane-agfafocus - - Focus Lineart Scanner - SCSI -@@ -484,7 +483,7 @@ agfafocus
    (unmaintained) - - agfafocus
    (unmaintained) - --sane-agfafocus -+sane-agfafocus - - SnapScan - SCSI -@@ -495,7 +494,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan 300 - SCSI -@@ -506,7 +505,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan 310 - SCSI -@@ -517,7 +516,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan 310P - Parport -@@ -539,7 +538,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan 1200P - Parport -@@ -572,7 +571,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan 1212U_2 - USB -@@ -583,7 +582,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan 1236s - SCSI -@@ -594,7 +593,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan 1236u - USB -@@ -605,7 +604,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan e10 - USB -@@ -616,7 +615,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan e20 - USB -@@ -627,7 +626,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan e25 - USB -@@ -638,7 +637,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan e26 - USB -@@ -649,7 +648,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan e40 - USB -@@ -660,7 +659,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan e42 - USB -@@ -671,7 +670,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan e50 - USB -@@ -682,7 +681,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan e52 - USB -@@ -693,7 +692,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan e60 - USB -@@ -704,7 +703,7 @@ agfafocus
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - SnapScan EZ - Parport -@@ -726,7 +725,7 @@ agfafocus
    (unmaintained) - niash -
    (0.3) - --sane-niash -+sane-niash - - StudioScan - SCSI -@@ -737,7 +736,7 @@ agfafocus
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - StudioScan II - SCSI -@@ -748,7 +747,7 @@ agfafocus
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - StudioScan IIsi - SCSI -@@ -759,7 +758,7 @@ agfafocus
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - Studiostar - SCSI -@@ -770,7 +769,7 @@ agfafocus
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - -

    Manufacturer: Ambir

    -@@ -795,7 +794,7 @@ agfafocus
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - -

    Manufacturer: Apple

    -@@ -821,7 +820,7 @@ agfafocus
    (unmaintained) - - apple
    (unmaintained) - --sane-apple -+sane-apple - - Color OneScanner - SCSI -@@ -831,7 +830,7 @@ apple
    (unmaintained) - - apple
    (unmaintained) - --sane-apple -+sane-apple - - Color OneScanner 600/27 - SCSI -@@ -842,7 +841,7 @@ apple
    (unmaintained) - canon -
    (1.12) - --sane-canon -+sane-canon - - OneScanner - SCSI -@@ -852,7 +851,7 @@ apple
    (unmaintained) - - apple
    (unmaintained) - --sane-apple -+sane-apple - - -

    Manufacturer: Aries

    -@@ -877,7 +876,7 @@ apple
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - -

    Manufacturer: Artec/Ultima

    -@@ -915,7 +914,7 @@ apple
    (unmaintained) - artec -
    (unmaintained) - --sane-artec -+sane-artec - - A6000C PLUS - SCSI -@@ -926,7 +925,7 @@ apple
    (unmaintained) - artec -
    (unmaintained) - --sane-artec -+sane-artec - - AM12e+ - Parport -@@ -948,7 +947,7 @@ apple
    (unmaintained) - artec -
    (unmaintained) - --sane-artec -+sane-artec - - AS6E - Parport -@@ -959,7 +958,7 @@ apple
    (unmaintained) - as6e -
    (0.5) - --sane-as6e -+sane-as6e - - AT3 - SCSI -@@ -970,7 +969,7 @@ apple
    (unmaintained) - artec -
    (unmaintained) - --sane-artec -+sane-artec - - AT6 - SCSI -@@ -981,7 +980,7 @@ apple
    (unmaintained) - artec -
    (unmaintained) - --sane-artec -+sane-artec - - AT12 - SCSI -@@ -992,7 +991,7 @@ apple
    (unmaintained) - artec -
    (unmaintained) - --sane-artec -+sane-artec - - E+ 48U - USB -@@ -1002,7 +1001,7 @@ apple
    (unmaintained) - - artec_eplus48u
    (unmaintained) - --sane-artec_eplus48u -+sane-artec_eplus48u - - E+ Pro - USB -@@ -1012,7 +1011,7 @@ artec_eplus48u
    (unmaintained) - - artec_eplus48u
    (unmaintained) - --sane-artec_eplus48u -+sane-artec_eplus48u - - Ultima 2000 - USB -@@ -1023,7 +1022,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Ultima 2000 (0x4001) - USB -@@ -1045,7 +1044,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - -

    Manufacturer: Avigramm

    -@@ -1097,7 +1096,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - @V5100 - USB -@@ -1108,7 +1107,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AM3000 Series - USB -@@ -1119,7 +1118,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV100CS - SCSI -@@ -1130,7 +1129,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV100IIICS - SCSI -@@ -1141,7 +1140,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV100S - SCSI -@@ -1152,7 +1151,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV120 - USB -@@ -1163,7 +1162,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV121 - USB -@@ -1174,7 +1173,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV122 - USB -@@ -1185,7 +1184,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV122 C2 - USB -@@ -1196,7 +1195,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV210 - USB -@@ -1207,7 +1206,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV210 - USB -@@ -1218,7 +1217,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV210C2 - USB -@@ -1229,7 +1228,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV210C2-G - USB -@@ -1240,7 +1239,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV210D2+ - USB -@@ -1251,7 +1250,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV220 - USB -@@ -1262,7 +1261,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV220+ - USB -@@ -1273,7 +1272,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV220-G - USB -@@ -1284,7 +1283,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV220C2 - USB -@@ -1295,7 +1294,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV220C2-B - USB -@@ -1306,7 +1305,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV220C2-G - USB -@@ -1317,7 +1316,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV220D2 - USB -@@ -1328,7 +1327,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV240SC - SCSI -@@ -1339,7 +1338,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV260CS - SCSI -@@ -1350,7 +1349,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV360CS - SCSI -@@ -1361,7 +1360,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV363CS - SCSI -@@ -1372,7 +1371,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV420CS - SCSI -@@ -1383,7 +1382,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV600U - USB -@@ -1394,7 +1393,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV600U Plus - USB -@@ -1405,7 +1404,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV610 - USB -@@ -1416,7 +1415,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV610C2 - USB -@@ -1427,7 +1426,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV620CS - SCSI -@@ -1438,7 +1437,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV620CS Plus - SCSI -@@ -1449,7 +1448,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV630CS - SCSI -@@ -1460,7 +1459,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV630CSL - SCSI -@@ -1471,7 +1470,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV660S - SCSI -@@ -1482,7 +1481,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV680S - SCSI -@@ -1493,7 +1492,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV690U - SCSI -@@ -1504,7 +1503,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV800S - SCSI -@@ -1515,7 +1514,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV810C - SCSI -@@ -1526,7 +1525,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV820 - SCSI -@@ -1537,7 +1536,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV820C - SCSI -@@ -1548,7 +1547,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV820C Plus - SCSI -@@ -1559,7 +1558,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV830C - SCSI -@@ -1570,7 +1569,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV830C Plus - SCSI -@@ -1581,7 +1580,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV880 - SCSI -@@ -1592,7 +1591,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV880C - SCSI -@@ -1603,7 +1602,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV3200C - SCSI -@@ -1614,7 +1613,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV3200SU - USB -@@ -1625,7 +1624,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV3730SU - USB -@@ -1636,7 +1635,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV3750SU - USB -@@ -1647,7 +1646,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV3800C - SCSI -@@ -1658,7 +1657,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV3850SU - USB -@@ -1669,7 +1668,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV6120 - SCSI -@@ -1680,7 +1679,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV6240 - SCSI -@@ -1691,7 +1690,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV8000S - SCSI -@@ -1702,7 +1701,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV8050U - USB -@@ -1713,7 +1712,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV8300 - USB -@@ -1724,7 +1723,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AV8350 - USB -@@ -1735,7 +1734,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - AVA3 - SCSI -@@ -1746,7 +1745,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DS310F - Parport -@@ -1768,7 +1767,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - FB2080E - USB -@@ -1779,7 +1778,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - FB6000E - SCSI -@@ -1790,7 +1789,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - FB6080E - USB -@@ -1801,7 +1800,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - IT8300 - USB -@@ -1812,7 +1811,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - iVina 1600 - USB -@@ -1872,7 +1871,7 @@ artec_eplus48u
    (unmaintained) - bh -
    (1.0-4) - --sane-bh -+sane-bh - - COPISCAN II 2137(A) - SCSI -@@ -1883,7 +1882,7 @@ artec_eplus48u
    (unmaintained) - bh -
    (1.0-4) - --sane-bh -+sane-bh - - COPISCAN II 2138A - SCSI -@@ -1894,7 +1893,7 @@ artec_eplus48u
    (unmaintained) - bh -
    (1.0-4) - --sane-bh -+sane-bh - - COPISCAN II 3238 - SCSI -@@ -1905,7 +1904,7 @@ artec_eplus48u
    (unmaintained) - bh -
    (1.0-4) - --sane-bh -+sane-bh - - COPISCAN II 3338(A) - SCSI -@@ -1916,7 +1915,7 @@ artec_eplus48u
    (unmaintained) - bh -
    (1.0-4) - --sane-bh -+sane-bh - - COPISCAN II 6338 - SCSI -@@ -1927,7 +1926,7 @@ artec_eplus48u
    (unmaintained) - bh -
    (1.0-4) - --sane-bh -+sane-bh - - -

    Manufacturer: Bell+Howell

    -@@ -1952,7 +1951,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - -

    Manufacturer: BenQ

    -@@ -1979,7 +1978,7 @@ artec_eplus48u
    (unmaintained) - hp3900 -
    (0.12) - --sane-hp3900 -+sane-hp3900 - - -

    Manufacturer: Benq (Acer)

    -@@ -2007,7 +2006,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 310P - Parport -@@ -2029,7 +2028,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 310U - USB -@@ -2040,7 +2039,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 320P - Parport -@@ -2062,7 +2061,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 340P - Parport -@@ -2084,7 +2083,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 610P - Parport -@@ -2106,7 +2105,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 610PT - Parport -@@ -2128,7 +2127,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 620P - Parport -@@ -2161,7 +2160,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 620U - USB -@@ -2172,7 +2171,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 620UT - USB -@@ -2183,7 +2182,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 640BT - USB -@@ -2194,7 +2193,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 640bu - USB -@@ -2205,7 +2204,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 640P - Parport -@@ -2227,7 +2226,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 1240 - USB -@@ -2238,7 +2237,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 3300 - USB -@@ -2249,7 +2248,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 3300 - USB -@@ -2260,7 +2259,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 4300 - USB -@@ -2271,7 +2270,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 4300 - USB -@@ -2282,7 +2281,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 5000 - USB -@@ -2293,7 +2292,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 5000E - USB -@@ -2304,7 +2303,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 5000U - USB -@@ -2315,7 +2314,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 5150 - USB -@@ -2326,7 +2325,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 5250 - USB -@@ -2337,7 +2336,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 5300 - USB -@@ -2348,7 +2347,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - 5450 - USB -@@ -2403,7 +2402,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - -

    Manufacturer: BlackWidow

    -@@ -2430,7 +2429,7 @@ artec_eplus48u
    (unmaintained) - artec -
    (unmaintained) - --sane-artec -+sane-artec - - -

    Manufacturer: Boeder

    -@@ -2466,7 +2465,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - -

    Manufacturer: BrightScan

    -@@ -2491,7 +2490,7 @@ artec_eplus48u
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - -

    Manufacturer: Brother

    -@@ -2627,7 +2626,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - CanoScan 300 - SCSI -@@ -2638,7 +2637,7 @@ artec_eplus48u
    (unmaintained) - canon -
    (1.12) - --sane-canon -+sane-canon - - CanoScan 600 - SCSI -@@ -2649,7 +2648,7 @@ artec_eplus48u
    (unmaintained) - canon -
    (1.12) - --sane-canon -+sane-canon - - CanoScan 620S - SCSI -@@ -2660,7 +2659,7 @@ artec_eplus48u
    (unmaintained) - canon -
    (1.12) - --sane-canon -+sane-canon - - CanoScan 700F - USB -@@ -2671,7 +2670,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - CanoScan 1200S - SCSI -@@ -2682,7 +2681,7 @@ artec_eplus48u
    (unmaintained) - canon -
    (1.12) - --sane-canon -+sane-canon - - CanoScan 2700F - SCSI -@@ -2693,7 +2692,7 @@ artec_eplus48u
    (unmaintained) - canon -
    (1.12) - --sane-canon -+sane-canon - - CanoScan 2710S - SCSI -@@ -2704,7 +2703,7 @@ artec_eplus48u
    (unmaintained) - canon -
    (1.12) - --sane-canon -+sane-canon - - CanoScan 3000 - USB -@@ -2770,7 +2769,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - CanoScan 5000F - USB -@@ -2803,7 +2802,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - CanoScan 8000F - USB -@@ -2847,7 +2846,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - CanoScan 9000F - USB -@@ -2858,7 +2857,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - CanoScan 9000F Mark II - USB -@@ -2869,7 +2868,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - CanoScan 9900F - USB -@@ -2924,7 +2923,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - CanoScan D1230U - USB -@@ -2968,7 +2967,7 @@ artec_eplus48u
    (unmaintained) - canon_pp -
    (0.33) - --sane-canon_pp -+sane-canon_pp - - CanoScan FB320P - Parport (ECP) -@@ -2979,7 +2978,7 @@ artec_eplus48u
    (unmaintained) - canon_pp -
    (0.33) - --sane-canon_pp -+sane-canon_pp - - CanoScan FB320U - USB -@@ -3001,7 +3000,7 @@ artec_eplus48u
    (unmaintained) - canon_pp -
    (0.33) - --sane-canon_pp -+sane-canon_pp - - CanoScan FB610P - Parport (ECP) -@@ -3012,7 +3011,7 @@ artec_eplus48u
    (unmaintained) - canon_pp -
    (0.33) - --sane-canon_pp -+sane-canon_pp - - CanoScan FB620P - Parport (ECP) -@@ -3023,7 +3022,7 @@ artec_eplus48u
    (unmaintained) - canon_pp -
    (0.33) - --sane-canon_pp -+sane-canon_pp - - CanoScan FB620U - USB -@@ -3045,7 +3044,7 @@ artec_eplus48u
    (unmaintained) - canon_pp -
    (0.33) - --sane-canon_pp -+sane-canon_pp - - CanoScan fb630u - USB -@@ -3056,7 +3055,7 @@ artec_eplus48u
    (unmaintained) - canon630u -
    (0.1) - --sane-canon630u -+sane-canon630u - - CanoScan fb636u - USB -@@ -3067,7 +3066,7 @@ artec_eplus48u
    (unmaintained) - canon630u -
    (0.1) - --sane-canon630u -+sane-canon630u - - CanoScan FB1210U - USB -@@ -3089,7 +3088,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - CanoScan LiDE 40 - USB -@@ -3100,7 +3099,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - CanoScan LiDE 50 - USB -@@ -3111,7 +3110,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - CanoScan LiDE 60 - USB -@@ -3122,7 +3121,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - CanoScan LiDE 70 - USB -@@ -3166,7 +3165,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - CanoScan LiDE 110 - USB -@@ -3177,7 +3176,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - CanoScan LiDE 200 - USB -@@ -3188,7 +3187,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - CanoScan LiDE 210 - USB -@@ -3199,7 +3198,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - CanoScan LiDE 500F - USB -@@ -3243,7 +3242,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - CanoScan N340P - Parport (ECP) -@@ -3254,7 +3253,7 @@ artec_eplus48u
    (unmaintained) - canon_pp -
    (0.33) - --sane-canon_pp -+sane-canon_pp - - CanoScan N640P - Parport (ECP) -@@ -3265,7 +3264,7 @@ artec_eplus48u
    (unmaintained) - canon_pp -
    (0.33) - --sane-canon_pp -+sane-canon_pp - - CanoScan N640P ex - Parport (ECP) -@@ -3276,7 +3275,7 @@ artec_eplus48u
    (unmaintained) - canon_pp -
    (0.33) - --sane-canon_pp -+sane-canon_pp - - CanoScan N650U/N656U - USB -@@ -3287,7 +3286,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - CanoScan N670U/N676U/LiDE20 - USB -@@ -3298,7 +3297,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - CanoScan N1220U - USB -@@ -3309,7 +3308,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - CanoScan N1240U/LiDE30 - USB -@@ -3320,7 +3319,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - CR-25 - USB -@@ -3331,7 +3330,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - CR-55 - USB -@@ -3342,7 +3341,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - CR-135i - USB SCSI -@@ -3353,7 +3352,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - CR-180 - USB SCSI -@@ -3364,7 +3363,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - CR-180II - USB SCSI -@@ -3375,7 +3374,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - CR-190i - USB SCSI -@@ -3386,7 +3385,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-1210C - USB -@@ -3397,7 +3396,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-1210C - USB -@@ -3408,7 +3407,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-2010C - USB -@@ -3419,7 +3418,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-2010M - USB -@@ -3430,7 +3429,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-2020U - USB -@@ -3452,7 +3451,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-2050SP - USB -@@ -3463,7 +3462,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-2080C - USB SCSI -@@ -3474,7 +3473,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-2510C - USB -@@ -3485,7 +3484,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-2510M - USB -@@ -3496,7 +3495,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-2580C - USB SCSI -@@ -3507,7 +3506,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-3010C - USB -@@ -3518,7 +3517,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-3020C - SCSI -@@ -3529,7 +3528,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-3060 - SCSI -@@ -3540,7 +3539,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-3080C - SCSI -@@ -3551,7 +3550,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-3080CII - USB SCSI -@@ -3562,7 +3561,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-4010C - USB -@@ -3573,7 +3572,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-4580U - USB -@@ -3584,7 +3583,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-5010C - USB -@@ -3595,7 +3594,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-5020 - SCSI -@@ -3606,7 +3605,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-5060F - SCSI -@@ -3617,7 +3616,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-5080C - SCSI -@@ -3628,7 +3627,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-6010C - USB SCSI -@@ -3639,7 +3638,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-6030C - USB SCSI -@@ -3650,7 +3649,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-6050C - USB SCSI -@@ -3661,7 +3660,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-6080 - USB SCSI -@@ -3672,7 +3671,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-7080C - USB SCSI -@@ -3683,7 +3682,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-7090C - USB SCSI -@@ -3694,7 +3693,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-7550C - USB SCSI -@@ -3705,7 +3704,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-7580 - USB SCSI -@@ -3716,7 +3715,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-9050C - USB SCSI -@@ -3727,7 +3726,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-9080C - USB SCSI -@@ -3738,7 +3737,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR-X10C - USB SCSI -@@ -3749,7 +3748,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR3020 - SCSI -@@ -3760,7 +3759,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - DR4080U - USB -@@ -3771,7 +3770,7 @@ artec_eplus48u
    (unmaintained) - canon_dr -
    (38) - --sane-canon_dr -+sane-canon_dr - - FS4000 - USB SCSI -@@ -3793,7 +3792,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - I-SENSYS MF4320d - USB -@@ -3804,7 +3803,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - I-SENSYS MF4330d - USB -@@ -3815,7 +3814,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - i-SENSYS MF4550d - USB -@@ -3826,7 +3825,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - i-SENSYS MF5880dn - USB -@@ -3837,7 +3836,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - i-SENSYS MF6680dn - USB -@@ -3848,7 +3847,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS D420 - USB -@@ -3859,7 +3858,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS D480 - USB -@@ -3870,7 +3869,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF3110 - USB -@@ -3881,7 +3880,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF3240 - USB -@@ -3892,7 +3891,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4010 - USB -@@ -3903,7 +3902,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4018 - USB -@@ -3914,7 +3913,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4120 - USB -@@ -3925,7 +3924,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4122 - USB -@@ -3936,7 +3935,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4140 - USB -@@ -3947,7 +3946,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4150 - USB -@@ -3958,7 +3957,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4270 - USB -@@ -3969,7 +3968,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4350d - USB -@@ -3980,7 +3979,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4370dn - USB -@@ -3991,7 +3990,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4380dn - USB -@@ -4002,7 +4001,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4410 - USB -@@ -4013,7 +4012,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4430 - USB -@@ -4024,7 +4023,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4660 - USB -@@ -4035,7 +4034,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF4690 - USB -@@ -4046,7 +4045,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF5630 - USB -@@ -4057,7 +4056,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF5730 - USB -@@ -4068,7 +4067,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF5750 - USB -@@ -4079,7 +4078,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF5770 - USB -@@ -4090,7 +4089,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF6500 series - USB -@@ -4101,7 +4100,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF6550 - USB -@@ -4112,7 +4111,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF8030 - USB -@@ -4123,7 +4122,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageCLASS MF8170c - USB -@@ -4134,7 +4133,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - imageRUNNER 1020/1024/1025 - USB -@@ -4145,7 +4144,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - ImageRunner iR1018 - USB -@@ -4233,7 +4232,7 @@ artec_eplus48u
    (unmaintained) - canon -
    (1.12) - --sane-canon -+sane-canon - - laserBase MF5650 - USB -@@ -4244,7 +4243,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA E500 - USB -@@ -4255,7 +4254,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA E510 - USB -@@ -4266,7 +4265,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA E600 - USB -@@ -4277,7 +4276,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA E610 - USB -@@ -4288,7 +4287,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG2100 Series - USB -@@ -4299,7 +4298,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG2200 Series - USB -@@ -4310,7 +4309,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG3100 Series - USB WLAN -@@ -4321,7 +4320,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG3200 Series - USB -@@ -4332,7 +4331,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG4100 Series - USB -@@ -4343,7 +4342,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG4200 Series - USB -@@ -4354,7 +4353,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG5100 Series - USB -@@ -4365,7 +4364,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG5200 Series - USB -@@ -4376,7 +4375,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG5300 Series - USB -@@ -4387,7 +4386,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG5400 Series - USB -@@ -4398,7 +4397,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG6100 Series - USB -@@ -4409,7 +4408,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG6200 Series - USB -@@ -4420,7 +4419,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG6300 Series - USB Ethernet -@@ -4431,7 +4430,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG8100 Series - USB -@@ -4442,7 +4441,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MG8200 Series - USB Ethernet -@@ -4453,7 +4452,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP110 - USB -@@ -4486,7 +4485,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP150 - USB -@@ -4497,7 +4496,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP160 - USB -@@ -4508,7 +4507,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP170 - USB -@@ -4519,7 +4518,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP180 - USB -@@ -4530,7 +4529,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP190 - USB -@@ -4541,7 +4540,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP210 - USB -@@ -4552,7 +4551,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP220 - USB -@@ -4563,7 +4562,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP230 - USB -@@ -4574,7 +4573,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP240 - USB -@@ -4585,7 +4584,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP250 - USB -@@ -4596,7 +4595,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP260 - USB -@@ -4607,7 +4606,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP270 - USB -@@ -4618,7 +4617,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP280 - USB -@@ -4629,7 +4628,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP360 - USB -@@ -4640,7 +4639,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP370 - USB -@@ -4651,7 +4650,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP375R - USB -@@ -4662,7 +4661,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP390 - USB -@@ -4673,7 +4672,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP450 - USB -@@ -4684,7 +4683,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP460 - USB -@@ -4695,7 +4694,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP470 - USB -@@ -4706,7 +4705,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP480 - USB -@@ -4717,7 +4716,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP490 - USB -@@ -4728,7 +4727,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP493 - USB -@@ -4739,7 +4738,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP495 - USB -@@ -4750,7 +4749,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP500 - USB -@@ -4761,7 +4760,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP510 - USB -@@ -4772,7 +4771,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP520 - USB -@@ -4783,7 +4782,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP530 - USB -@@ -4794,7 +4793,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP540 - USB -@@ -4805,7 +4804,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP550 - USB -@@ -4816,7 +4815,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP560 - USB -@@ -4827,7 +4826,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP600 - USB -@@ -4838,7 +4837,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP600R - USB Ethernet -@@ -4849,7 +4848,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP610 - USB -@@ -4860,7 +4859,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP620 - USB Ethernet -@@ -4871,7 +4870,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP630 - USB -@@ -4882,7 +4881,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP640 - USB Ethernet -@@ -4893,7 +4892,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP700 - USB -@@ -4904,7 +4903,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP710 - USB -@@ -4915,7 +4914,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP730 - USB -@@ -4926,7 +4925,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP740 - USB -@@ -4937,7 +4936,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP750 - USB -@@ -4948,7 +4947,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP760 - USB -@@ -4959,7 +4958,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP770 - USB -@@ -4970,7 +4969,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP780 - USB -@@ -4981,7 +4980,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP790 - USB -@@ -4992,7 +4991,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP800 - USB -@@ -5003,7 +5002,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP800R - USB -@@ -5014,7 +5013,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP810 - USB -@@ -5025,7 +5024,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP830 - USB -@@ -5036,7 +5035,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP960 - USB -@@ -5047,7 +5046,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP970 - USB Ethernet -@@ -5058,7 +5057,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP980 - USB Ethernet -@@ -5069,7 +5068,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MP990 - USB Ethernet -@@ -5080,7 +5079,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX300 - USB -@@ -5091,7 +5090,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX310 - USB -@@ -5102,7 +5101,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX320 - USB -@@ -5113,7 +5112,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX330 - USB -@@ -5124,7 +5123,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX340 - USB -@@ -5135,7 +5134,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX350 - USB Ethernet -@@ -5146,7 +5145,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX360 - USB -@@ -5157,7 +5156,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX370 Series - USB -@@ -5168,7 +5167,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX390 Series - USB -@@ -5179,7 +5178,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX410 - USB Ethernet -@@ -5190,7 +5189,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX420 - USB Ethernet -@@ -5201,7 +5200,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX430 Series - USB Ethernet -@@ -5212,7 +5211,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX450 Series - USB -@@ -5223,7 +5222,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX510 Series - USB Ethernet -@@ -5234,7 +5233,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX520 Series - USB -@@ -5245,7 +5244,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX700 - USB Ethernet -@@ -5256,7 +5255,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX710 Series - USB Ethernet -@@ -5267,7 +5266,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX720 Series - USB -@@ -5278,7 +5277,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX850 - USB Ethernet -@@ -5289,7 +5288,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX860 - USB Ethernet -@@ -5300,7 +5299,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX870 - USB Ethernet -@@ -5311,7 +5310,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX880 Series - USB Ethernet -@@ -5322,7 +5321,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX882 - USB Ethernet -@@ -5333,7 +5332,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX885 - USB Ethernet -@@ -5344,7 +5343,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX890 Series - USB Ethernet -@@ -5355,7 +5354,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX920 Series - USB -@@ -5366,7 +5365,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - PIXMA MX7600 - USB Ethernet -@@ -5377,7 +5376,7 @@ artec_eplus48u
    (unmaintained) - pixma -
    (0.17.3) - --sane-pixma -+sane-pixma - - -

    Manufacturer: Chinon

    -@@ -5429,7 +5428,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - S200 - USB -@@ -5492,7 +5491,7 @@ artec_eplus48u
    (unmaintained) - cardscan -
    (2) - --sane-cardscan -+sane-cardscan - - 800c - USB -@@ -5503,7 +5502,7 @@ artec_eplus48u
    (unmaintained) - cardscan -
    (2) - --sane-cardscan -+sane-cardscan - - Cardscan 500 - USB -@@ -5550,7 +5549,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - -

    Manufacturer: DCT

    -@@ -5578,7 +5577,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - -

    Manufacturer: Dell

    -@@ -5625,7 +5624,7 @@ dell1600n_net - lexmark -
    (1.0-0) - --sane-lexmark -+sane-lexmark - - A940 - USB -@@ -5657,7 +5656,7 @@ dell1600n_net - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - -

    Manufacturer: Devcom

    -@@ -5684,7 +5683,7 @@ xerox_mfp
    (1.0-13) - pie -
    (1.0) - --sane-pie -+sane-pie - - 9636PRO - SCSI -@@ -5695,7 +5694,7 @@ xerox_mfp
    (1.0-13) - pie -
    (1.0) - --sane-pie -+sane-pie - - 9636S - SCSI -@@ -5706,7 +5705,7 @@ xerox_mfp
    (1.0-13) - pie -
    (1.0) - --sane-pie -+sane-pie - - -

    Manufacturer: Dextra

    -@@ -5731,7 +5730,7 @@ xerox_mfp
    (1.0-13) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - DF-1200T+ - SCSI -@@ -5742,7 +5741,7 @@ xerox_mfp
    (1.0-13) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - DF-4830T - SCSI -@@ -5753,7 +5752,7 @@ xerox_mfp
    (1.0-13) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - DF-9624 - SCSI -@@ -5764,7 +5763,7 @@ xerox_mfp
    (1.0-13) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - -

    Manufacturer: Dexxa

    -@@ -5791,7 +5790,7 @@ xerox_mfp
    (1.0-13) - as6e -
    (0.5) - --sane-as6e -+sane-as6e - - -

    Manufacturer: E-Lux

    -@@ -5842,7 +5841,7 @@ xerox_mfp
    (1.0-13) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - -

    Manufacturer: EDT (Electronic Document Technology)

    -@@ -5932,7 +5931,7 @@ xerox_mfp
    (1.0-13) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Actionscanner II - SCSI Parport -@@ -5943,7 +5942,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - AcuLaser CX11 - USB -@@ -5953,7 +5952,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - AcuLaser CX11 - USB -@@ -5964,7 +5963,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - AcuLaser CX11NF - USB Network -@@ -5974,7 +5973,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - AcuLaser CX11NF - USB -@@ -5985,7 +5984,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - AcuLaser CX21 - USB -@@ -5995,7 +5994,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Artisan 700 - USB Network -@@ -6005,7 +6004,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Artisan 710 Series - USB -@@ -6015,7 +6014,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Artisan 800 - USB -@@ -6025,7 +6024,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Artisan 810 Series - USB -@@ -6035,7 +6034,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - CC-500L - USB -@@ -6045,7 +6044,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - CC-550L - USB -@@ -6055,7 +6054,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - CC-570L - USB -@@ -6065,7 +6064,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - CC-600PX - USB -@@ -6075,7 +6074,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - CC-700 - USB -@@ -6085,7 +6084,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - CX-3200 - USB -@@ -6096,7 +6095,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-3600 - USB -@@ -6107,7 +6106,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-3650 - USB -@@ -6118,7 +6117,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-3700 - USB -@@ -6129,7 +6128,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-3800 - USB -@@ -6140,7 +6139,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-4200 - USB -@@ -6151,7 +6150,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-4600 - USB -@@ -6162,7 +6161,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-4800 - USB -@@ -6173,7 +6172,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-5000 - USB -@@ -6184,7 +6183,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-5200 - USB -@@ -6195,7 +6194,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-5400 - USB -@@ -6206,7 +6205,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-5400 - USB -@@ -6217,7 +6216,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-6300 - USB -@@ -6228,7 +6227,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-6400 - USB -@@ -6239,7 +6238,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-6500 - USB -@@ -6250,7 +6249,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - CX-6600 - USB -@@ -6261,7 +6260,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - DX-3800 - USB -@@ -6272,7 +6271,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - DX-3850 - USB -@@ -6283,7 +6282,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - DX-4050 - USB -@@ -6294,7 +6293,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - DX-5000 - USB -@@ -6305,7 +6304,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - DX-5050 - USB -@@ -6316,7 +6315,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - DX-6000 - USB -@@ -6327,7 +6326,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - DX-7400 - USB -@@ -6338,7 +6337,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - EP-702A - USB -@@ -6348,7 +6347,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - EP-801A - USB Network -@@ -6358,7 +6357,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - EP-802A - USB -@@ -6368,7 +6367,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - EP-901A - USB -@@ -6378,7 +6377,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - EP-901F - USB -@@ -6388,7 +6387,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - EP-902A - USB -@@ -6398,7 +6397,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-300C - SCSI parallel -@@ -6408,7 +6407,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-300C - SCSI Parport -@@ -6419,7 +6418,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - ES-300GS - SCSI -@@ -6429,7 +6428,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-300GS - SCSI -@@ -6440,7 +6439,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - ES-600C - parallel -@@ -6450,7 +6449,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-600C - Parport -@@ -6461,7 +6460,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - ES-800C - SCSI -@@ -6471,7 +6470,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-1000C - ? -@@ -6481,7 +6480,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-1200C - parallel -@@ -6491,7 +6490,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-1200C - Parport -@@ -6502,7 +6501,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - ES-2000 - SCSI USB -@@ -6512,7 +6511,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-2200 - SCSI USB -@@ -6522,7 +6521,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-6000 - SCSI -@@ -6532,7 +6531,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-6000H - SCSI -@@ -6542,7 +6541,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-6000HS - SCSI -@@ -6552,7 +6551,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-7000H - SCSI USB -@@ -6562,7 +6561,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-8000 - SCSI -@@ -6572,7 +6571,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-8500 - SCSI USB -@@ -6582,7 +6581,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-8500 - SCSI -@@ -6593,7 +6592,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - ES-9000H - SCSI -@@ -6603,7 +6602,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-10000G - USB -@@ -6613,7 +6612,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-D400 - USB -@@ -6623,7 +6622,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-H300 - USB -@@ -6633,7 +6632,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ES-H7200 - USB Ethernet -@@ -6643,7 +6642,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Expression 636 - SCSI -@@ -6653,7 +6652,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Expression 636 - SCSI -@@ -6664,7 +6663,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Expression 800 - SCSI -@@ -6674,7 +6673,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Expression 800 - SCSI -@@ -6685,7 +6684,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Expression 836XL - SCSI -@@ -6695,7 +6694,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Expression 1600 - SCSI USB -@@ -6705,7 +6704,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Expression 1600 - SCSI USB IEEE-1394 -@@ -6716,7 +6715,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Expression 1640XL - SCSI USB -@@ -6726,7 +6725,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Expression 1680 - SCSI USB -@@ -6736,7 +6735,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Expression 1680 - SCSI USB IEEE-1394 -@@ -6747,7 +6746,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Expression 1680 Pro - SCSI USB -@@ -6757,7 +6756,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Expression 1680XL Pro - SCSI USB -@@ -6767,7 +6766,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Expression 10000XL - USB -@@ -6777,7 +6776,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Expression 10000XL Graphic Arts - USB IEEE1394 -@@ -6787,7 +6786,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Expression 10000XL Photo - USB IEEE1394 -@@ -6797,7 +6796,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - F-3200 - USB IEEE1394 -@@ -6807,7 +6806,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - F-3200 Photo - USB IEEE1394 -@@ -6817,7 +6816,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - FilmScan 200 - SCSI -@@ -6827,7 +6826,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-1500 - USB -@@ -6837,7 +6836,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-2200 - USB -@@ -6858,7 +6857,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-2500 - USB -@@ -6868,7 +6867,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-4000 - ? -@@ -6878,7 +6877,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-5000 - parallel SCSI -@@ -6888,7 +6887,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-5000 - SCSI Parport -@@ -6899,7 +6898,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - GT-5400 - parallel -@@ -6909,7 +6908,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-5500 - SCSI -@@ -6919,7 +6918,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-5500 - SCSI -@@ -6930,7 +6929,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - GT-6000 - SCSI Parport -@@ -6940,7 +6939,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-6000 - SCSI Parport -@@ -6951,7 +6950,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - GT-6500 - parallel -@@ -6961,7 +6960,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-6500 - Parport -@@ -6972,7 +6971,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - GT-6600U - USB -@@ -6982,7 +6981,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-6700U - USB -@@ -6992,7 +6991,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-7000 - SCSI -@@ -7003,7 +7002,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - GT-7000S - SCSI -@@ -7013,7 +7012,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-7000U - USB -@@ -7023,7 +7022,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-7200U - USB -@@ -7033,7 +7032,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-7300U - USB -@@ -7043,7 +7042,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-7400U - USB -@@ -7053,7 +7052,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-7600S - SCSI -@@ -7063,7 +7062,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-7600U - USB -@@ -7073,7 +7072,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-7600UF - USB -@@ -7083,7 +7082,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-7700U - USB -@@ -7093,7 +7092,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-8000 - SCSI -@@ -7103,7 +7102,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-8000 - SCSI -@@ -7114,7 +7113,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - GT-8200U - USB -@@ -7124,7 +7123,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-8200UF - USB -@@ -7134,7 +7133,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-8300UF - USB -@@ -7144,7 +7143,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-8400UF - USB -@@ -7154,7 +7153,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-8500 - ? -@@ -7164,7 +7163,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-8700 - SCSI USB -@@ -7174,7 +7173,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-8700F - SCSI USB -@@ -7184,7 +7183,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-9000 - parallel -@@ -7194,7 +7193,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-9300UF - USB -@@ -7204,7 +7203,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-9400UF - USB -@@ -7214,7 +7213,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-9500 - SCSI -@@ -7224,7 +7223,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-9600 - SCSI -@@ -7234,7 +7233,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-9700F - USB -@@ -7244,7 +7243,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-9800F - USB -@@ -7254,7 +7253,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-10000 - SCSI -@@ -7264,7 +7263,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-10000+ - SCSI -@@ -7274,7 +7273,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-12000 - SCSI -@@ -7284,7 +7283,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-15000 - SCSI USB -@@ -7294,7 +7293,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-20000 - USB Ethernet -@@ -7304,7 +7303,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-30000 - SCSI -@@ -7314,7 +7313,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-D1000 - USB -@@ -7324,7 +7323,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-F500 - USB -@@ -7334,7 +7333,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-F520 - USB -@@ -7344,7 +7343,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-F550 - USB -@@ -7354,7 +7353,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-F570 - USB -@@ -7364,7 +7363,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-F600 - USB -@@ -7374,7 +7373,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-F650 - USB -@@ -7384,7 +7383,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-F670 - USB -@@ -7394,7 +7393,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-F700 - USB -@@ -7404,7 +7403,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-F720 - USB -@@ -7414,7 +7413,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-S50 - USB -@@ -7424,7 +7423,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-S80 - USB -@@ -7434,7 +7433,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-S600 - USB -@@ -7444,7 +7443,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-S620 - USB -@@ -7454,7 +7453,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-X700 - USB -@@ -7464,7 +7463,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-X750 - USB -@@ -7474,7 +7473,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-X770 - USB -@@ -7484,7 +7483,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-X800 - USB -@@ -7494,7 +7493,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-X820 - USB -@@ -7504,7 +7503,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-X900 - USB -@@ -7514,7 +7513,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - GT-X970 - USB -@@ -7524,7 +7523,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-7900CS - ? -@@ -7534,7 +7533,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-9000CCH - ? -@@ -7544,7 +7543,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-9000CCS - ? -@@ -7554,7 +7553,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-9000CFH - ? -@@ -7564,7 +7563,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-9500CCS - ? -@@ -7574,7 +7573,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-9500CFH - ? -@@ -7584,7 +7583,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-9500CH2 - ? -@@ -7594,7 +7593,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-9800CCH - ? -@@ -7604,7 +7603,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-9800CCS - ? -@@ -7614,7 +7613,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-9800CFH - ? -@@ -7624,7 +7623,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-A500 - USB Network -@@ -7634,7 +7633,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-M5000 - USB -@@ -7644,7 +7643,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-M5500 - USB -@@ -7654,7 +7653,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-M5500F - USB -@@ -7664,7 +7663,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-M5600 - USB -@@ -7674,7 +7673,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - LP-M6000 - USB -@@ -7684,7 +7683,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ME 200 - USB -@@ -7694,7 +7693,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ME 300 - USB -@@ -7704,7 +7703,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ME OFFICE 510 - USB -@@ -7714,7 +7713,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ME Office 600F - USB -@@ -7724,7 +7723,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ME OFFICE 650FN Series - USB -@@ -7734,7 +7733,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - ME Office 700FW - USB -@@ -7744,7 +7743,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 600 - SCSI -@@ -7755,7 +7754,7 @@ epson2
    (1.0.124) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Perfection 610 - USB -@@ -7765,7 +7764,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 610 - USB -@@ -7776,7 +7775,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 636 - SCSI -@@ -7787,7 +7786,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 636S - SCSI -@@ -7797,7 +7796,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 636S - SCSI -@@ -7808,7 +7807,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 636U - USB -@@ -7818,7 +7817,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 636U - USB -@@ -7829,7 +7828,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 640 - USB -@@ -7840,7 +7839,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 640U - USB -@@ -7850,7 +7849,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 660 - USB -@@ -7861,7 +7860,7 @@ epson2
    (1.0.124) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - Perfection 1200Photo - USB -@@ -7872,7 +7871,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 1200S - SCSI -@@ -7882,7 +7881,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 1200S - SCSI -@@ -7893,7 +7892,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 1200U - USB -@@ -7903,7 +7902,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 1200U - USB -@@ -7914,7 +7913,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 1200U PHOTO - USB -@@ -7924,7 +7923,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 1240 - SCSI USB -@@ -7935,7 +7934,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 1240U - USB -@@ -7945,7 +7944,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 1250 - USB -@@ -7956,7 +7955,7 @@ epson2
    (1.0.124) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - Perfection 1250 PHOTO - USB -@@ -7966,7 +7965,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 1250Photo - USB -@@ -7977,7 +7976,7 @@ epson2
    (1.0.124) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - Perfection 1260 - USB -@@ -7988,7 +7987,7 @@ epson2
    (1.0.124) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - Perfection 1260 PHOTO - USB -@@ -7998,7 +7997,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 1260Photo - USB -@@ -8009,7 +8008,7 @@ epson2
    (1.0.124) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - Perfection 1270 - USB -@@ -8020,7 +8019,7 @@ epson2
    (1.0.124) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - Perfection 1600 - SCSI -@@ -8030,7 +8029,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 1640 - SCSI USB -@@ -8041,7 +8040,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 1640SU - SCSI USB -@@ -8051,7 +8050,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 1640SU PHOTO - SCSI USB -@@ -8061,7 +8060,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 1650 - USB -@@ -8071,7 +8070,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 1650 - USB -@@ -8082,7 +8081,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 1650 PHOTO - USB -@@ -8092,7 +8091,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 1660 - USB -@@ -8103,7 +8102,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 1660 PHOTO - USB -@@ -8113,7 +8112,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 1670 - USB -@@ -8124,7 +8123,7 @@ epson2
    (1.0.124) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - Perfection 1670 PHOTO - USB -@@ -8134,7 +8133,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 2400 - USB -@@ -8145,7 +8144,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 2400 PHOTO - USB -@@ -8155,7 +8154,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 2450 - USB IEEE-1394 -@@ -8166,7 +8165,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 2450 PHOTO - USB IEEE-1394 -@@ -8176,7 +8175,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 2480 - USB -@@ -8187,7 +8186,7 @@ epson2
    (1.0.124) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - Perfection 2480 PHOTO - USB -@@ -8197,7 +8196,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 2580 - USB -@@ -8208,7 +8207,7 @@ epson2
    (1.0.124) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - Perfection 2580 PHOTO - USB -@@ -8218,7 +8217,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 3170 PHOTO - USB -@@ -8228,7 +8227,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 3200 - USB IEEE-1394 -@@ -8239,7 +8238,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 3200 PHOTO - USB IEEE-1394 -@@ -8249,7 +8248,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 3490 - USB -@@ -8260,7 +8259,7 @@ epson2
    (1.0.124) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - Perfection 3490 PHOTO - USB -@@ -8270,7 +8269,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 3590 - USB -@@ -8281,7 +8280,7 @@ epson2
    (1.0.124) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - Perfection 3590 PHOTO - USB -@@ -8291,7 +8290,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 4180 PHOTO - USB -@@ -8301,7 +8300,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 4490 PHOTO - USB -@@ -8311,7 +8310,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 4870 - USB -@@ -8322,7 +8321,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 4870 PHOTO - USB -@@ -8332,7 +8331,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 4990 - USB -@@ -8343,7 +8342,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Perfection 4990 PHOTO - USB -@@ -8353,7 +8352,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection 4990 Pro - USB IEEE1394 -@@ -8363,7 +8362,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection V10 - USB -@@ -8373,7 +8372,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection V30 - USB -@@ -8383,7 +8382,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection V100 Photo - USB -@@ -8393,7 +8392,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection V200 Photo - USB -@@ -8403,7 +8402,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection V300 Photo - USB -@@ -8413,7 +8412,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection V350 Photo - USB -@@ -8423,7 +8422,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection V500 Photo - USB -@@ -8433,7 +8432,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection V600 Photo - USB -@@ -8443,7 +8442,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection V700 Photo - USB -@@ -8453,7 +8452,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Perfection V750 Photo - USB -@@ -8463,7 +8462,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-A700 - USB -@@ -8473,7 +8472,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-A750 - USB -@@ -8483,7 +8482,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-A820 - USB -@@ -8493,7 +8492,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-A840 - USB -@@ -8503,7 +8502,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-A840S - USB -@@ -8513,7 +8512,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-A850 - USB -@@ -8523,7 +8522,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-A870 - USB -@@ -8533,7 +8532,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-A890 - USB -@@ -8543,7 +8542,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-A900 - USB -@@ -8553,7 +8552,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-A920 - USB -@@ -8563,7 +8562,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-A940 - USB -@@ -8573,7 +8572,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-A950 - USB -@@ -8583,7 +8582,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-A970 - USB -@@ -8593,7 +8592,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-T960 - USB -@@ -8603,7 +8602,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PM-T990 - USB -@@ -8613,7 +8612,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PX-401A - USB -@@ -8623,7 +8622,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PX-402A - USB -@@ -8633,7 +8632,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PX-501A - USB -@@ -8643,7 +8642,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PX-502A - USB -@@ -8653,7 +8652,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PX-601F - USB -@@ -8663,7 +8662,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PX-A550 - USB -@@ -8673,7 +8672,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PX-A620 - USB -@@ -8683,7 +8682,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PX-A640 - USB -@@ -8693,7 +8692,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PX-A650 - USB -@@ -8703,7 +8702,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PX-A720 - USB -@@ -8713,7 +8712,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PX-A740 - USB -@@ -8723,7 +8722,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - PX-FA700 - USB -@@ -8733,7 +8732,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - RX-425 - USB -@@ -8744,7 +8743,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - RX-500 - USB -@@ -8755,7 +8754,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - RX-600 - USB -@@ -8766,7 +8765,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - RX-620 - USB -@@ -8777,7 +8776,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - RX-700 - USB -@@ -8788,7 +8787,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - Stylus CX-1500 - USB -@@ -8799,7 +8798,7 @@ epson2
    (1.0.124) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - Stylus CX-5800 - USB -@@ -8820,7 +8819,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX2800 - USB -@@ -8830,7 +8829,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX2900 - USB -@@ -8840,7 +8839,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX3100 - USB -@@ -8850,7 +8849,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX3200 - USB -@@ -8860,7 +8859,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX3500 - USB -@@ -8870,7 +8869,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX3600 - USB -@@ -8880,7 +8879,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX3650 - USB -@@ -8890,7 +8889,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX3700 - USB -@@ -8900,7 +8899,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX3800 - USB -@@ -8910,7 +8909,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX3810 - USB -@@ -8920,7 +8919,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX3900 - USB -@@ -8930,7 +8929,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX4100 - USB -@@ -8940,7 +8939,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX4200 - USB -@@ -8950,7 +8949,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX4300 - USB -@@ -8960,7 +8959,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX4400 - USB -@@ -8970,7 +8969,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX4500 - USB -@@ -8980,7 +8979,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX4600 - USB -@@ -8990,7 +8989,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX4700 - USB -@@ -9000,7 +8999,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX4800 - USB -@@ -9010,7 +9009,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX4900 - USB -@@ -9020,7 +9019,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX5000 - USB -@@ -9030,7 +9029,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX5100 - USB -@@ -9040,7 +9039,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX5200 - USB -@@ -9050,7 +9049,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX5300 - USB -@@ -9060,7 +9059,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX5400 - USB -@@ -9070,7 +9069,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX5500 - USB -@@ -9080,7 +9079,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX5600 - USB -@@ -9090,7 +9089,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX5700F - USB -@@ -9100,7 +9099,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX5800F - USB -@@ -9110,7 +9109,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX5900 - USB -@@ -9120,7 +9119,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX6000 - USB -@@ -9130,7 +9129,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX6300 - USB -@@ -9140,7 +9139,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX6400 - USB -@@ -9150,7 +9149,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX6500 - USB -@@ -9160,7 +9159,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX6600 - USB -@@ -9170,7 +9169,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX6900F - USB -@@ -9180,7 +9179,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX7000F - USB -@@ -9190,7 +9189,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX7300 - USB -@@ -9200,7 +9199,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX7400 - USB -@@ -9210,7 +9209,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX7700 - USB -@@ -9220,7 +9219,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX7800 - USB -@@ -9230,7 +9229,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX8300 - USB -@@ -9240,7 +9239,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX8400 - USB -@@ -9250,7 +9249,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX9300F - USB -@@ -9260,7 +9259,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus CX9400Fax - USB -@@ -9270,7 +9269,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus DX3800 - USB -@@ -9280,7 +9279,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus DX3850 - USB -@@ -9290,7 +9289,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus DX4000 - USB -@@ -9300,7 +9299,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus DX4200 - USB -@@ -9310,7 +9309,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus DX4400 - USB -@@ -9320,7 +9319,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus DX4450 - USB -@@ -9341,7 +9340,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus DX4850 - USB -@@ -9351,7 +9350,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus DX5000 - USB -@@ -9361,7 +9360,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus DX6000 - USB -@@ -9371,7 +9370,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus DX7000F - USB -@@ -9381,7 +9380,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus DX7400 - USB -@@ -9391,7 +9390,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus DX8400 - USB -@@ -9401,7 +9400,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus DX9400F - USB -@@ -9411,7 +9410,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus NX100 - USB -@@ -9421,7 +9420,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus NX110 Series - USB -@@ -9431,7 +9430,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus NX200 - USB -@@ -9441,7 +9440,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus NX210 Series - USB -@@ -9451,7 +9450,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus NX300 - USB -@@ -9461,7 +9460,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus NX400 - USB -@@ -9471,7 +9470,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus NX410 Series - USB -@@ -9481,7 +9480,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus NX510 Series - USB -@@ -9491,7 +9490,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Office BX300F - USB -@@ -9501,7 +9500,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Office BX310FN Series - USB -@@ -9511,7 +9510,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Office BX600FW - USB -@@ -9521,7 +9520,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Office BX610FW Series - USB -@@ -9531,7 +9530,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Office TX300F - USB -@@ -9541,7 +9540,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Office TX510FN Series - USB -@@ -9551,7 +9550,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Office TX600FW - USB -@@ -9561,7 +9560,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Office TX610FW Series - USB -@@ -9571,7 +9570,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo PX650 Series - USB -@@ -9581,7 +9580,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo PX700W - USB Network -@@ -9591,7 +9590,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo PX710W Series - USB -@@ -9601,7 +9600,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo PX800FW - USB -@@ -9611,7 +9610,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo PX810FW Series - USB -@@ -9621,7 +9620,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX420 - USB -@@ -9631,7 +9630,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX425 - USB -@@ -9641,7 +9640,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX430 - USB -@@ -9651,7 +9650,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX500 - USB -@@ -9661,7 +9660,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX510 - USB -@@ -9671,7 +9670,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX520 - USB -@@ -9681,7 +9680,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX530 - USB -@@ -9691,7 +9690,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX560 - USB -@@ -9701,7 +9700,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX580 - USB -@@ -9711,7 +9710,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX585 - USB -@@ -9721,7 +9720,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX590 - USB -@@ -9731,7 +9730,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX595 - USB -@@ -9741,7 +9740,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX600 - USB -@@ -9751,7 +9750,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX610 - USB -@@ -9761,7 +9760,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX620 - USB -@@ -9771,7 +9770,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX630 - USB -@@ -9781,7 +9780,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX640 - USB -@@ -9791,7 +9790,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX650 - USB -@@ -9801,7 +9800,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX680 - USB -@@ -9811,7 +9810,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX685 - USB -@@ -9821,7 +9820,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX690 - USB -@@ -9831,7 +9830,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo RX700 - USB -@@ -9841,7 +9840,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo TX650 Series - USB -@@ -9851,7 +9850,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo TX700W - USB -@@ -9861,7 +9860,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo TX710W Series - USB -@@ -9871,7 +9870,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Photo TX800FW - USB -@@ -9881,7 +9880,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Scan 2000 - USB -@@ -9891,7 +9890,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus Scan 2500 - USB -@@ -9901,7 +9900,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus SX100 - USB -@@ -9911,7 +9910,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus SX110 Series - USB -@@ -9921,7 +9920,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus SX125 - USB -@@ -9931,7 +9930,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus SX200 - USB -@@ -9941,7 +9940,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus SX205 - USB -@@ -9951,7 +9950,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus SX210 Series - USB -@@ -9961,7 +9960,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus SX400 - USB -@@ -9971,7 +9970,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus SX405 - USB -@@ -9981,7 +9980,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus SX410 Series - USB -@@ -9991,7 +9990,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus SX510W Series - USB -@@ -10001,7 +10000,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus SX600FW - USB -@@ -10011,7 +10010,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus SX610FW Series - USB -@@ -10021,7 +10020,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus TX100 - USB -@@ -10031,7 +10030,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus TX110 Series - USB -@@ -10041,7 +10040,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus TX200 - USB -@@ -10051,7 +10050,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus TX203 - USB -@@ -10061,7 +10060,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus TX209 - USB -@@ -10071,7 +10070,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus TX210 Series - USB -@@ -10081,7 +10080,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus TX400 - USB -@@ -10091,7 +10090,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus TX410 Series - USB -@@ -10101,7 +10100,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - Stylus TX550W Series - USB -@@ -10111,7 +10110,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - StylusScan 2000 - USB -@@ -10133,7 +10132,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - V750 - USB IEEE-1394 -@@ -10144,7 +10143,7 @@ epson2
    (1.0.124) - epson -
    (unmaintained) - --sane-epson -+sane-epson - - WorkForce 310 Series - USB -@@ -10154,7 +10153,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - WorkForce 500 - USB -@@ -10164,7 +10163,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - WorkForce 600 - USB -@@ -10174,7 +10173,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - WorkForce 610 Series - USB -@@ -10184,7 +10183,7 @@ epson2
    (1.0.124) - - epson2
    (1.0.124) - --sane-epson2 -+sane-epson2 - - -

    Manufacturer: Escom

    -@@ -10209,7 +10208,7 @@ epson2
    (1.0.124) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - -

    Manufacturer: Escort

    -@@ -10234,7 +10233,7 @@ epson2
    (1.0.124) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - -

    Manufacturer: Fujitsu

    -@@ -10261,7 +10260,7 @@ epson2
    (1.0.124) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - fi-60F - USB -@@ -10272,7 +10271,7 @@ epson2
    (1.0.124) - epjitsu -
    (20) - --sane-epjitsu -+sane-epjitsu - - fi-4010CU - USB -@@ -10283,7 +10282,7 @@ epson2
    (1.0.124) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - fi-4110EOX/2/3 - USB -@@ -10294,7 +10293,7 @@ epson2
    (1.0.124) - ma1509 -
    (1.0-3) - --sane-ma1509 -+sane-ma1509 - - fi-4120C - SCSI USB -@@ -10305,7 +10304,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-4120C2 - SCSI USB -@@ -10316,7 +10315,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-4220C - SCSI USB -@@ -10327,7 +10326,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-4220C2 - SCSI USB -@@ -10338,7 +10337,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-4340C - SCSI USB -@@ -10349,7 +10348,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-4530C - SCSI USB -@@ -10360,7 +10359,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-4640S - SCSI -@@ -10371,7 +10370,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-4750C - SCSI -@@ -10382,7 +10381,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-4750L - SCSI -@@ -10393,7 +10392,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-4860C - SCSI -@@ -10404,7 +10403,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-4860C2 - SCSI -@@ -10415,7 +10414,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-4990C - SCSI -@@ -10426,7 +10425,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-5000N - Ethernet -@@ -10437,7 +10436,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-5015C - USB -@@ -10448,7 +10447,7 @@ epson2
    (1.0.124) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - fi-5110C - USB -@@ -10459,7 +10458,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-5110EOX/2 - USB -@@ -10470,7 +10469,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-5110EOX3 - USB -@@ -10481,7 +10480,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-5110EOXM - USB -@@ -10492,7 +10491,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-5120C - SCSI USB -@@ -10503,7 +10502,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-5220C - SCSI USB -@@ -10514,7 +10513,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-5530C - SCSI USB -@@ -10525,7 +10524,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-5530C2 - SCSI USB -@@ -10536,7 +10535,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-5650C - SCSI USB -@@ -10547,7 +10546,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-5750C - SCSI USB -@@ -10558,7 +10557,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-5900C - SCSI USB -@@ -10569,7 +10568,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-5950 - SCSI USB -@@ -10580,7 +10579,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6000NS - Ethernet -@@ -10591,7 +10590,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6110 - USB -@@ -10602,7 +10601,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6130 - USB -@@ -10613,7 +10612,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6130Z - USB -@@ -10624,7 +10623,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6140 - SCSI USB -@@ -10635,7 +10634,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6140Z - SCSI USB -@@ -10646,7 +10645,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6230 - USB -@@ -10657,7 +10656,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6230Z - USB -@@ -10668,7 +10667,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6240 - SCSI USB -@@ -10679,7 +10678,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6240Z - SCSI USB -@@ -10690,7 +10689,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6670 - SCSI USB -@@ -10701,7 +10700,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6670A - SCSI USB -@@ -10712,7 +10711,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6750S - USB -@@ -10723,7 +10722,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6770 - SCSI USB -@@ -10734,7 +10733,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6770A - SCSI USB -@@ -10745,7 +10744,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6800 - SCSI USB -@@ -10756,7 +10755,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - fi-6800-CGA - SCSI USB -@@ -10767,7 +10766,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3091DC - SCSI -@@ -10778,7 +10777,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3092DC - SCSI -@@ -10789,7 +10788,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3093DE - RS232C/Video -@@ -10800,7 +10799,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3093DG - SCSI -@@ -10811,7 +10810,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3093E - RS232C/Video -@@ -10822,7 +10821,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3093EX - RS232C/Video -@@ -10833,7 +10832,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3093GX - SCSI -@@ -10844,7 +10843,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3096EX - RS232C/Video -@@ -10855,7 +10854,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3096GX - SCSI -@@ -10866,7 +10865,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3097DE - RS232C/Video -@@ -10877,7 +10876,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3097DG - SCSI -@@ -10888,7 +10887,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3097E+ - RS232C/Video -@@ -10899,7 +10898,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3097G+ - SCSI -@@ -10910,7 +10909,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3099A - RS232C/Video -@@ -10921,7 +10920,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3099EH - RS232C/Video -@@ -10932,7 +10931,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3099EX - RS232C/Video -@@ -10943,7 +10942,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3099G - SCSI -@@ -10954,7 +10953,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3099GH - SCSI -@@ -10965,7 +10964,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M3099GX - SCSI -@@ -10976,7 +10975,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M4097D - SCSI -@@ -10987,7 +10986,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - M4099D - SCSI -@@ -10998,7 +10997,7 @@ epson2
    (1.0.124) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - ScanPartner - SCSI -@@ -11009,7 +11008,7 @@ epson2
    (1.0.124) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanPartner 10 - SCSI -@@ -11020,7 +11019,7 @@ epson2
    (1.0.124) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanPartner 10C - SCSI -@@ -11031,7 +11030,7 @@ epson2
    (1.0.124) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanPartner 15C - SCSI -@@ -11041,7 +11040,7 @@ epson2
    (1.0.124) - - sp15c
    (unmaintained) - --sane-sp15c -+sane-sp15c - - ScanPartner 300C - SCSI -@@ -11052,7 +11051,7 @@ sp15c
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanPartner 600C - SCSI -@@ -11062,7 +11061,7 @@ sp15c
    (unmaintained) - - sp15c
    (unmaintained) - --sane-sp15c -+sane-sp15c - - ScanPartner 620C - SCSI -@@ -11073,7 +11072,7 @@ sp15c
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanPartner Jr - SCSI -@@ -11084,7 +11083,7 @@ sp15c
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanSnap fi-6010N - Ethernet -@@ -11095,7 +11094,7 @@ sp15c
    (unmaintained) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - ScanSnap iX500 - USB WiFi -@@ -11106,7 +11105,7 @@ sp15c
    (unmaintained) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - ScanSnap N1800 - Ethernet -@@ -11117,7 +11116,7 @@ sp15c
    (unmaintained) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - ScanSnap S300 - USB -@@ -11128,7 +11127,7 @@ sp15c
    (unmaintained) - epjitsu -
    (20) - --sane-epjitsu -+sane-epjitsu - - ScanSnap S300M - USB -@@ -11139,7 +11138,7 @@ sp15c
    (unmaintained) - epjitsu -
    (20) - --sane-epjitsu -+sane-epjitsu - - ScanSnap S500 - USB -@@ -11150,7 +11149,7 @@ sp15c
    (unmaintained) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - ScanSnap S500M - USB -@@ -11161,7 +11160,7 @@ sp15c
    (unmaintained) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - ScanSnap S510 - USB -@@ -11172,7 +11171,7 @@ sp15c
    (unmaintained) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - ScanSnap S510M - USB -@@ -11183,7 +11182,7 @@ sp15c
    (unmaintained) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - ScanSnap S1100 - USB -@@ -11194,7 +11193,7 @@ sp15c
    (unmaintained) - epjitsu -
    (20) - --sane-epjitsu -+sane-epjitsu - - ScanSnap S1300 - USB -@@ -11205,7 +11204,7 @@ sp15c
    (unmaintained) - epjitsu -
    (20) - --sane-epjitsu -+sane-epjitsu - - ScanSnap S1500 - USB -@@ -11216,7 +11215,7 @@ sp15c
    (unmaintained) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - ScanSnap S1500M - USB -@@ -11227,7 +11226,7 @@ sp15c
    (unmaintained) - fujitsu -
    (117) - --sane-fujitsu -+sane-fujitsu - - ScanStation - SCSI -@@ -11238,7 +11237,7 @@ sp15c
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - -

    Manufacturer: Gallery

    -@@ -11263,7 +11262,7 @@ sp15c
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - -

    Manufacturer: Genius

    -@@ -11301,7 +11300,7 @@ sp15c
    (unmaintained) - u12 -
    (0.02) - --sane-u12 -+sane-u12 - - Colorpage HR6 V2 - USB -@@ -11312,7 +11311,7 @@ sp15c
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - Colorpage HR6 V2 - USB -@@ -11323,7 +11322,7 @@ sp15c
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - Colorpage HR6A - USB -@@ -11334,7 +11333,7 @@ sp15c
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - Colorpage HR6X - USB -@@ -11345,7 +11344,7 @@ sp15c
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - Colorpage HR6X EPP - Parport (SPP, EPP) -@@ -11356,7 +11355,7 @@ sp15c
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - ColorPage HR6X Slim - USB -@@ -11378,7 +11377,7 @@ sp15c
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - Colorpage HR7LE - USB -@@ -11389,7 +11388,7 @@ sp15c
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - ColorPage HR7X - USB -@@ -11433,7 +11432,7 @@ sp15c
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - ColorPage Slim 1200 - USB -@@ -11444,7 +11443,7 @@ sp15c
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Colorpage Vivid 1200 X - USB -@@ -11455,7 +11454,7 @@ sp15c
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Colorpage Vivid 1200 XE - USB -@@ -11466,7 +11465,7 @@ sp15c
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - ColorPage Vivid III USB - USB -@@ -11477,7 +11476,7 @@ sp15c
    (unmaintained) - u12 -
    (0.02) - --sane-u12 -+sane-u12 - - Colorpage Vivid III V2 - Parport (SPP, EPP) -@@ -11488,7 +11487,7 @@ sp15c
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - Colorpage Vivid Pro II Film - Parport (SPP, EPP) -@@ -11499,7 +11498,7 @@ sp15c
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - Colorpage Vivid3 V2 - USB -@@ -11510,7 +11509,7 @@ sp15c
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Colorpage Vivid3x - USB -@@ -11521,7 +11520,7 @@ sp15c
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Colorpage Vivid3xe - USB -@@ -11532,7 +11531,7 @@ sp15c
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Colorpage Vivid4 - USB -@@ -11543,7 +11542,7 @@ sp15c
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Colorpage Vivid4x - USB -@@ -11554,7 +11553,7 @@ sp15c
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Colorpage Vivid4xe - USB -@@ -11565,7 +11564,7 @@ sp15c
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - ColorPage-EP - Parport -@@ -11576,7 +11575,7 @@ sp15c
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ColorPage-HR5 (Pro) - SCSI -@@ -11587,7 +11586,7 @@ sp15c
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - ColorPage-Life Pro - Parport (EPP/ECP) -@@ -11598,7 +11597,7 @@ sp15c
    (unmaintained) - umax_pp -
    (1) - --sane-umax_pp -+sane-umax_pp - - ColorPage-Slim 1200 USB2 - USB -@@ -11620,7 +11619,7 @@ sp15c
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - FS-1130 Colorpage Scanner - SCSI -@@ -11631,7 +11630,7 @@ sp15c
    (unmaintained) - leo -
    (1.0-10) - --sane-leo -+sane-leo - - -

    Manufacturer: Googlegear

    -@@ -11656,7 +11655,7 @@ sp15c
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - -

    Manufacturer: Guillemot

    -@@ -11719,7 +11718,7 @@ sp15c
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - Maxi Scan A4 Deluxe (SCSI) - SCSI -@@ -11730,7 +11729,7 @@ sp15c
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - Maxi Scan A4 USB 640U - USB -@@ -11741,7 +11740,7 @@ sp15c
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - Scan@home Touch 1248 (USB) - USB -@@ -11752,7 +11751,7 @@ sp15c
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - -

    Manufacturer: Hercules

    -@@ -11803,7 +11802,7 @@ sp15c
    (unmaintained) - - hpljm1005
    (0) - --sane-hpljm1005 -+sane-hpljm1005 - - LaserJet M1120 MFP - USB -@@ -11813,7 +11812,7 @@ hpljm1005
    (0) - - hpljm1005
    (0) - --sane-hpljm1005 -+sane-hpljm1005 - - LaserJet M1120n MFP - USB -@@ -11823,7 +11822,7 @@ hpljm1005
    (0) - - hpljm1005
    (0) - --sane-hpljm1005 -+sane-hpljm1005 - - Photo Scanner 1000 - USB -@@ -11878,7 +11877,7 @@ hpljm1005
    (0) - hp -
    (1.06) - --sane-hp -+sane-hp - - Photosmart S20 (C5101A) - USB -@@ -11911,7 +11910,7 @@ hpljm1005
    (0) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 3p - SCSI -@@ -11922,7 +11921,7 @@ hpljm1005
    (0) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 4c - SCSI -@@ -11933,7 +11932,7 @@ hpljm1005
    (0) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 4p - SCSI -@@ -11944,7 +11943,7 @@ hpljm1005
    (0) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 5p - SCSI -@@ -11955,7 +11954,7 @@ hpljm1005
    (0) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 5s - Parport (EPP) -@@ -11966,7 +11965,7 @@ hpljm1005
    (0) - hpsj5s -
    (0.03) - --sane-hpsj5s -+sane-hpsj5s - - ScanJet 2100C - USB -@@ -11977,7 +11976,7 @@ hpljm1005
    (0) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - ScanJet 2200C - USB -@@ -11988,7 +11987,7 @@ hpljm1005
    (0) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - ScanJet 2300C - USB -@@ -11999,7 +11998,7 @@ hpljm1005
    (0) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - ScanJet 2400C - USB -@@ -12010,7 +12009,7 @@ hpljm1005
    (0) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - Scanjet 3200C - Parport (EPP/ECP) -@@ -12021,7 +12020,7 @@ hpljm1005
    (0) - umax_pp -
    (1) - --sane-umax_pp -+sane-umax_pp - - ScanJet 3300c - USB -@@ -12032,7 +12031,7 @@ hpljm1005
    (0) - niash -
    (0.3) - --sane-niash -+sane-niash - - ScanJet 3400c - USB -@@ -12043,7 +12042,7 @@ hpljm1005
    (0) - niash -
    (0.3) - --sane-niash -+sane-niash - - ScanJet 3500C - USB -@@ -12054,7 +12053,7 @@ hpljm1005
    (0) - hp3500 -
    (1.1) - --sane-hp3500 -+sane-hp3500 - - ScanJet 3530C - USB -@@ -12065,7 +12064,7 @@ hpljm1005
    (0) - hp3500 -
    (1.1) - --sane-hp3500 -+sane-hp3500 - - ScanJet 3570C - USB -@@ -12076,7 +12075,7 @@ hpljm1005
    (0) - hp3500 -
    (1.1) - --sane-hp3500 -+sane-hp3500 - - ScanJet 3670C - USB -@@ -12087,7 +12086,7 @@ hpljm1005
    (0) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - ScanJet 3690C - USB -@@ -12098,7 +12097,7 @@ hpljm1005
    (0) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - ScanJet 3770 - USB -@@ -12120,7 +12119,7 @@ hpljm1005
    (0) - hp3900 -
    (0.12) - --sane-hp3900 -+sane-hp3900 - - ScanJet 3970c - USB -@@ -12131,7 +12130,7 @@ hpljm1005
    (0) - hp3900 -
    (0.12) - --sane-hp3900 -+sane-hp3900 - - ScanJet 4070 Photosmart - USB -@@ -12142,7 +12141,7 @@ hpljm1005
    (0) - hp3900 -
    (0.12) - --sane-hp3900 -+sane-hp3900 - - ScanJet 4100C - USB -@@ -12153,7 +12152,7 @@ hpljm1005
    (0) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 4200C - USB -@@ -12164,7 +12163,7 @@ hpljm1005
    (0) - hp4200 -
    (1.0-2) - --sane-hp4200 -+sane-hp4200 - - ScanJet 4200Cse - USB -@@ -12175,7 +12174,7 @@ hpljm1005
    (0) - hp4200 -
    (1.0-2) - --sane-hp4200 -+sane-hp4200 - - ScanJet 4200Cxi - USB -@@ -12186,7 +12185,7 @@ hpljm1005
    (0) - hp4200 -
    (1.0-2) - --sane-hp4200 -+sane-hp4200 - - ScanJet 4300c - USB -@@ -12197,7 +12196,7 @@ hpljm1005
    (0) - niash -
    (0.3) - --sane-niash -+sane-niash - - ScanJet 4300c/Silitek - USB -@@ -12208,7 +12207,7 @@ hpljm1005
    (0) - niash -
    (0.3) - --sane-niash -+sane-niash - - ScanJet 4370 - USB -@@ -12219,7 +12218,7 @@ hpljm1005
    (0) - hp3900 -
    (0.12) - --sane-hp3900 -+sane-hp3900 - - scanjet 4400c - USB -@@ -12230,7 +12229,7 @@ hpljm1005
    (0) - rts8891 -
    (1.0-0) - --sane-rts8891 -+sane-rts8891 - - scanjet 4470c - USB -@@ -12241,7 +12240,7 @@ hpljm1005
    (0) - rts8891 -
    (1.0-0) - --sane-rts8891 -+sane-rts8891 - - ScanJet 4500C - USB -@@ -12251,7 +12250,7 @@ hpljm1005
    (0) - - hp5590
    (1.0.5) - --sane-hp5590 -+sane-hp5590 - - ScanJet 4570C - USB -@@ -12261,7 +12260,7 @@ hp5590
    (1.0.5) - - hp5590
    (1.0.5) - --sane-hp5590 -+sane-hp5590 - - ScanJet 4600 - USB -@@ -12294,7 +12293,7 @@ hp5590
    (1.0.5) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - ScanJet 4890C - USB -@@ -12316,7 +12315,7 @@ hp5590
    (1.0.5) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 5200C - Parport USB -@@ -12327,7 +12326,7 @@ hp5590
    (1.0.5) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 5300C - USB -@@ -12338,7 +12337,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanJet 5370C - USB -@@ -12349,7 +12348,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanJet 5400c - USB -@@ -12360,7 +12359,7 @@ hp5590
    (1.0.5) - hp5400 -
    (1.0-2) - --sane-hp5400 -+sane-hp5400 - - ScanJet 5470c - USB -@@ -12371,7 +12370,7 @@ hp5590
    (1.0.5) - hp5400 -
    (1.0-2) - --sane-hp5400 -+sane-hp5400 - - ScanJet 5490c - USB -@@ -12382,7 +12381,7 @@ hp5590
    (1.0.5) - hp5400 -
    (1.0-2) - --sane-hp5400 -+sane-hp5400 - - ScanJet 5500C - USB -@@ -12392,7 +12391,7 @@ hp5590
    (1.0.5) - - hp5590
    (1.0.5) - --sane-hp5590 -+sane-hp5590 - - ScanJet 5530C Photosmart - USB -@@ -12413,7 +12412,7 @@ hp5590
    (1.0.5) - - hp5590
    (1.0.5) - --sane-hp5590 -+sane-hp5590 - - ScanJet 5590 - USB -@@ -12423,7 +12422,7 @@ hp5590
    (1.0.5) - - hp5590
    (1.0.5) - --sane-hp5590 -+sane-hp5590 - - ScanJet 6100C - SCSI -@@ -12434,7 +12433,7 @@ hp5590
    (1.0.5) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 6200C - SCSI USB -@@ -12445,7 +12444,7 @@ hp5590
    (1.0.5) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 6250C - SCSI USB -@@ -12456,7 +12455,7 @@ hp5590
    (1.0.5) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 6300C - SCSI USB -@@ -12467,7 +12466,7 @@ hp5590
    (1.0.5) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 6350C - SCSI USB -@@ -12478,7 +12477,7 @@ hp5590
    (1.0.5) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 6390C - SCSI USB -@@ -12489,7 +12488,7 @@ hp5590
    (1.0.5) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet 7400c - USB -@@ -12500,7 +12499,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanJet 7450c - USB -@@ -12511,7 +12510,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanJet 7490c - USB -@@ -12522,7 +12521,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanJet 7650 - USB -@@ -12532,7 +12531,7 @@ hp5590
    (1.0.5) - - hp5590
    (1.0.5) - --sane-hp5590 -+sane-hp5590 - - ScanJet 8200 - USB -@@ -12543,7 +12542,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanJet 8250 - USB -@@ -12554,7 +12553,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanJet 8270 - USB -@@ -12565,7 +12564,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanJet 8290 - USB -@@ -12576,7 +12575,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanJet 8300 - USB -@@ -12587,7 +12586,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanJet 8350 - USB -@@ -12598,7 +12597,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanJet 8390 - USB -@@ -12609,7 +12608,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - ScanJet G2410 - USB -@@ -12620,7 +12619,7 @@ hp5590
    (1.0.5) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - ScanJet G2710 - USB -@@ -12631,7 +12630,7 @@ hp5590
    (1.0.5) - hp3900 -
    (0.12) - --sane-hp3900 -+sane-hp3900 - - ScanJet G3010 - USB -@@ -12642,7 +12641,7 @@ hp5590
    (1.0.5) - hp3900 -
    (0.12) - --sane-hp3900 -+sane-hp3900 - - ScanJet G3110 - USB -@@ -12653,7 +12652,7 @@ hp5590
    (1.0.5) - hp3900 -
    (0.12) - --sane-hp3900 -+sane-hp3900 - - ScanJet G4000 - USB -@@ -12675,7 +12674,7 @@ hp5590
    (1.0.5) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - ScanJet G4050 - USB -@@ -12686,7 +12685,7 @@ hp5590
    (1.0.5) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - ScanJet IIc - SCSI -@@ -12697,7 +12696,7 @@ hp5590
    (1.0.5) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet IIcx - SCSI -@@ -12708,7 +12707,7 @@ hp5590
    (1.0.5) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet IIp - SCSI -@@ -12719,7 +12718,7 @@ hp5590
    (1.0.5) - hp -
    (1.06) - --sane-hp -+sane-hp - - ScanJet N6310 - USB -@@ -12730,7 +12729,7 @@ hp5590
    (1.0.5) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - ScanJet Plus - Propietary -@@ -12741,7 +12740,7 @@ hp5590
    (1.0.5) - hp -
    (1.06) - --sane-hp -+sane-hp - - -

    Manufacturer: IBM

    -@@ -12768,7 +12767,7 @@ hp5590
    (1.0.5) - ibm -
    (1.0-4) - --sane-ibm -+sane-ibm - - ADF Color Scanner - Proprietary -@@ -12880,7 +12879,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - -

    Manufacturer: Kodak

    -@@ -12907,7 +12906,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Color Scanner 4500 - SCSI -@@ -12918,7 +12917,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - ESP 5 - USB -@@ -12929,7 +12928,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 7 - USB -@@ -12940,7 +12939,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 9 - USB -@@ -12951,7 +12950,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 2150 - USB -@@ -12962,7 +12961,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 2170 - USB -@@ -12973,7 +12972,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 3200 - USB -@@ -12984,7 +12983,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 3300 - USB -@@ -12995,7 +12994,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 4100 - USB -@@ -13006,7 +13005,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 5000 - USB -@@ -13017,7 +13016,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 5100 - USB -@@ -13028,7 +13027,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 5200 - USB Ethernet -@@ -13039,7 +13038,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 5300 - USB -@@ -13050,7 +13049,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 5500 - USB -@@ -13061,7 +13060,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 6100 - USB -@@ -13072,7 +13071,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 7200 - USB -@@ -13083,7 +13082,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP 9200 - USB -@@ -13094,7 +13093,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP C110 - USB -@@ -13105,7 +13104,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP C115 - USB -@@ -13116,7 +13115,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP C310 - USB -@@ -13127,7 +13126,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - ESP C315 - USB -@@ -13138,7 +13137,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - Hero 3.1 - USB -@@ -13149,7 +13148,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - Hero 5.1 - USB -@@ -13160,7 +13159,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - Hero 7.1 - USB -@@ -13171,7 +13170,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - Hero 9.1 - USB Ethernet -@@ -13182,7 +13181,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - Hero Office 6.1 - USB -@@ -13193,7 +13192,7 @@ hp5590
    (1.0.5) - kodakaio -
    (2.4.6) - --sane-kodakaio -+sane-kodakaio - - i30 - USB -@@ -13204,7 +13203,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - i40 - USB -@@ -13215,7 +13214,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - i50 - USB -@@ -13226,7 +13225,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - i55 - USB -@@ -13237,7 +13236,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - i60 - USB -@@ -13248,7 +13247,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - i65 - USB -@@ -13259,7 +13258,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - i80 - USB -@@ -13270,7 +13269,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - i150 Scanner - IEEE-1394 -@@ -13281,7 +13280,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i160 Scanner - IEEE-1394 -@@ -13292,7 +13291,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i250 Scanner - IEEE-1394 -@@ -13303,7 +13302,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i260 Scanner - IEEE-1394 -@@ -13314,7 +13313,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i280 Scanner - IEEE-1394 -@@ -13325,7 +13324,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i610 Scanner - IEEE-1394 -@@ -13336,7 +13335,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i620 Scanner - IEEE-1394 -@@ -13347,7 +13346,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i640 Scanner - IEEE-1394 -@@ -13358,7 +13357,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i660 Scanner - IEEE-1394 -@@ -13369,7 +13368,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i730 Scanner - IEEE-1394 -@@ -13380,7 +13379,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i750 Scanner - IEEE-1394 -@@ -13391,7 +13390,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i780 Scanner - IEEE-1394 -@@ -13402,7 +13401,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i810 Scanner - SCSI -@@ -13413,7 +13412,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i820 Scanner - SCSI -@@ -13424,7 +13423,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i830 Scanner - SCSI -@@ -13435,7 +13434,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i840 Scanner - SCSI -@@ -13446,7 +13445,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i1840 Scanner - IEEE-1394 -@@ -13457,7 +13456,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - i1860 Scanner - IEEE-1394 -@@ -13468,7 +13467,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - s1740 - SCSI -@@ -13479,7 +13478,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Scanner 900 - SCSI -@@ -13490,7 +13489,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Scanner 923 - SCSI -@@ -13501,7 +13500,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Scanner 1500 - SCSI -@@ -13512,7 +13511,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Scanner 2500 - SCSI -@@ -13523,7 +13522,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Scanner 3500 - SCSI -@@ -13534,7 +13533,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Scanner 3510 - SCSI -@@ -13545,7 +13544,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Scanner 3520 - SCSI -@@ -13556,7 +13555,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Scanner 5500 - SCSI -@@ -13567,7 +13566,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Scanner 7500 - SCSI -@@ -13578,7 +13577,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Scanner 7520 - SCSI -@@ -13589,7 +13588,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Scanner 9500 - SCSI -@@ -13600,7 +13599,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Scanner 9520 - SCSI -@@ -13611,7 +13610,7 @@ hp5590
    (1.0.5) - kodak -
    (7) - --sane-kodak -+sane-kodak - - Snapshot Photo Scanner 1 - Parport -@@ -13649,7 +13648,7 @@ hp5590
    (1.0.5) - sceptre -
    (1.0-10) - --sane-sceptre -+sane-sceptre - - -

    Manufacturer: KONICA MINOLTA

    -@@ -13676,7 +13675,7 @@ hp5590
    (1.0.5) - magicolor -
    (1.0.0) - --sane-magicolor -+sane-magicolor - - DiMage 1611 - USB Network -@@ -13687,7 +13686,7 @@ hp5590
    (1.0.5) - magicolor -
    (1.0.0) - --sane-magicolor -+sane-magicolor - - DiMAGE Scan Elite 5400 - USB IEEE-1394 -@@ -13753,7 +13752,7 @@ hp5590
    (1.0.5) - magicolor -
    (1.0.0) - --sane-magicolor -+sane-magicolor - - magicolor 2480MF - USB Network -@@ -13789,7 +13788,7 @@ hp5590
    (1.0.5) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - -

    Manufacturer: LEO

    -@@ -13814,7 +13813,7 @@ hp5590
    (1.0.5) - leo -
    (1.0-10) - --sane-leo -+sane-leo - - -

    Manufacturer: Lexmark

    -@@ -13863,7 +13862,7 @@ hp5590
    (1.0.5) - lexmark -
    (1.0-0) - --sane-lexmark -+sane-lexmark - - X70 - USB -@@ -13874,7 +13873,7 @@ hp5590
    (1.0.5) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - X73 - USB -@@ -13885,7 +13884,7 @@ hp5590
    (1.0.5) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - X74 - USB -@@ -13896,7 +13895,7 @@ hp5590
    (1.0.5) - lexmark -
    (1.0-0) - --sane-lexmark -+sane-lexmark - - X75 - USB -@@ -13940,7 +13939,7 @@ hp5590
    (1.0.5) - lexmark -
    (1.0-0) - --sane-lexmark -+sane-lexmark - - X1130 - USB -@@ -13951,7 +13950,7 @@ hp5590
    (1.0.5) - lexmark -
    (1.0-0) - --sane-lexmark -+sane-lexmark - - X1140 - USB -@@ -13962,7 +13961,7 @@ hp5590
    (1.0.5) - lexmark -
    (1.0-0) - --sane-lexmark -+sane-lexmark - - X1150 - USB -@@ -13973,7 +13972,7 @@ hp5590
    (1.0.5) - lexmark -
    (1.0-0) - --sane-lexmark -+sane-lexmark - - X1170 - USB -@@ -13984,7 +13983,7 @@ hp5590
    (1.0.5) - lexmark -
    (1.0-0) - --sane-lexmark -+sane-lexmark - - X1180 - USB -@@ -13995,7 +13994,7 @@ hp5590
    (1.0.5) - lexmark -
    (1.0-0) - --sane-lexmark -+sane-lexmark - - X1185 - USB -@@ -14006,7 +14005,7 @@ hp5590
    (1.0.5) - lexmark -
    (1.0-0) - --sane-lexmark -+sane-lexmark - - X1195 - USB -@@ -14017,7 +14016,7 @@ hp5590
    (1.0.5) - lexmark -
    (1.0-0) - --sane-lexmark -+sane-lexmark - - X2330 - USB -@@ -14143,7 +14142,7 @@ hp5590
    (1.0.5) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Jade - SCSI -@@ -14154,7 +14153,7 @@ hp5590
    (1.0.5) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Jade2 - SCSI -@@ -14165,7 +14164,7 @@ hp5590
    (1.0.5) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Linoscan 1400 - SCSI -@@ -14176,7 +14175,7 @@ hp5590
    (1.0.5) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Opal - SCSI -@@ -14187,7 +14186,7 @@ hp5590
    (1.0.5) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Opal Ultra - SCSI -@@ -14198,7 +14197,7 @@ hp5590
    (1.0.5) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Opal2 - SCSI -@@ -14209,7 +14208,7 @@ hp5590
    (1.0.5) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Saphir - SCSI -@@ -14220,7 +14219,7 @@ hp5590
    (1.0.5) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Saphir HiRes - SCSI -@@ -14231,7 +14230,7 @@ hp5590
    (1.0.5) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Saphir Ultra - SCSI -@@ -14242,7 +14241,7 @@ hp5590
    (1.0.5) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Saphir Ultra II - SCSI -@@ -14253,7 +14252,7 @@ hp5590
    (1.0.5) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Saphir2 - SCSI -@@ -14264,7 +14263,7 @@ hp5590
    (1.0.5) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Saphir3 - SCSI -@@ -14275,7 +14274,7 @@ hp5590
    (1.0.5) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - -

    Manufacturer: Logitech

    -@@ -14339,7 +14338,7 @@ hp5590
    (1.0.5) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - MD 4394 - USB -@@ -14350,7 +14349,7 @@ hp5590
    (1.0.5) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - MD 6190 - USB -@@ -14383,7 +14382,7 @@ hp5590
    (1.0.5) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - MD 9806 - Parport (EPP) -@@ -14394,7 +14393,7 @@ hp5590
    (1.0.5) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - MD 9848 - Parport (EPP) -@@ -14405,7 +14404,7 @@ hp5590
    (1.0.5) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - MD 40420 - USB -@@ -14504,7 +14503,7 @@ hp5590
    (1.0.5) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - MD/LT 985x - Parport (EPP) -@@ -14515,7 +14514,7 @@ hp5590
    (1.0.5) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - MD/LT 9375 - USB -@@ -14526,7 +14525,7 @@ hp5590
    (1.0.5) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - MD/LT 9385 - USB -@@ -14537,7 +14536,7 @@ hp5590
    (1.0.5) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - MD/LT 9890 - Parport (EPP) -@@ -14548,7 +14547,7 @@ hp5590
    (1.0.5) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - MD4394 - USB -@@ -14558,7 +14557,7 @@ hp5590
    (1.0.5) - - artec_eplus48u
    (unmaintained) - --sane-artec_eplus48u -+sane-artec_eplus48u - - MD5345 - USB -@@ -14569,7 +14568,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - MD6228 - USB -@@ -14580,7 +14579,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - MD6471 - USB -@@ -14591,7 +14590,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - MD9693 - USB -@@ -14601,7 +14600,7 @@ artec_eplus48u
    (unmaintained) - - artec_eplus48u
    (unmaintained) - --sane-artec_eplus48u -+sane-artec_eplus48u - - MD9705 - USB -@@ -14611,7 +14610,7 @@ artec_eplus48u
    (unmaintained) - - artec_eplus48u
    (unmaintained) - --sane-artec_eplus48u -+sane-artec_eplus48u - - -

    Manufacturer: Memorex

    -@@ -14670,7 +14669,7 @@ artec_eplus48u
    (unmaintained) - - artec_eplus48u
    (unmaintained) - --sane-artec_eplus48u -+sane-artec_eplus48u - - SCF 9612P - Parport -@@ -14706,7 +14705,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - -

    Manufacturer: Microstar

    -@@ -14732,7 +14731,7 @@ artec_eplus48u
    (unmaintained) - - artec_eplus48u
    (unmaintained) - --sane-artec_eplus48u -+sane-artec_eplus48u - - -

    Manufacturer: Microtek

    -@@ -14804,7 +14803,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - FilmScan 35 - USB -@@ -14826,7 +14825,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - Phantom 636 - SCSI -@@ -14837,7 +14836,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - Phantom 636CX - Parport -@@ -14848,7 +14847,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker 5 - SCSI -@@ -14870,7 +14869,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - Scanmaker 35t+ - SCSI -@@ -14881,7 +14880,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - Scanmaker 45t - SCSI -@@ -14892,7 +14891,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - ScanMaker 330 - SCSI -@@ -14903,7 +14902,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker 336 CX - SCSI -@@ -14925,7 +14924,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - Scanmaker 600Z(S) - SCSI -@@ -14936,7 +14935,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - ScanMaker 630 - SCSI -@@ -14947,7 +14946,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker 636 - SCSI -@@ -14958,7 +14957,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - Scanmaker 1850S - SCSI -@@ -14980,7 +14979,7 @@ artec_eplus48u
    (unmaintained) - sm3600 -
    (0.1) - --sane-sm3600 -+sane-sm3600 - - ScanMaker 3600 - USB -@@ -14991,7 +14990,7 @@ artec_eplus48u
    (unmaintained) - sm3600 -
    (0.1) - --sane-sm3600 -+sane-sm3600 - - ScanMaker 3600 - USB -@@ -15002,7 +15001,7 @@ artec_eplus48u
    (unmaintained) - sm3600 -
    (0.1) - --sane-sm3600 -+sane-sm3600 - - ScanMaker 3630 - USB -@@ -15024,7 +15023,7 @@ artec_eplus48u
    (unmaintained) - sm3600 -
    (0.1) - --sane-sm3600 -+sane-sm3600 - - ScanMaker 3700 - USB -@@ -15035,7 +15034,7 @@ artec_eplus48u
    (unmaintained) - sm3600 -
    (0.1) - --sane-sm3600 -+sane-sm3600 - - ScanMaker 3750 - USB -@@ -15046,7 +15045,7 @@ artec_eplus48u
    (unmaintained) - sm3600 -
    (0.1) - --sane-sm3600 -+sane-sm3600 - - ScanMaker 3800 - USB -@@ -15079,7 +15078,7 @@ artec_eplus48u
    (unmaintained) - sm3840 -
    (1.1) - --sane-sm3840 -+sane-sm3840 - - ScanMaker 3860 - USB -@@ -15134,7 +15133,7 @@ artec_eplus48u
    (unmaintained) - sm3840 -
    (1.1) - --sane-sm3840 -+sane-sm3840 - - ScanMaker 4850 - USB -@@ -15266,7 +15265,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker 6700 - USB IEEE-1394 -@@ -15310,7 +15309,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker 9800XL - USB SCSI -@@ -15332,7 +15331,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - Scanmaker E2 - SCSI -@@ -15343,7 +15342,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - Scanmaker E3 - SCSI -@@ -15354,7 +15353,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - ScanMaker E3plus - SCSI -@@ -15365,7 +15364,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker E3plus - Parport -@@ -15376,7 +15375,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - Scanmaker E6 - SCSI -@@ -15387,7 +15386,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - ScanMaker i320 - USB -@@ -15409,7 +15408,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - Scanmaker IIG - SCSI -@@ -15420,7 +15419,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - Scanmaker IIHR - SCSI -@@ -15431,7 +15430,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - Scanmaker III - SCSI -@@ -15442,7 +15441,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - Scanmaker IISP - SCSI -@@ -15453,7 +15452,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - ScanMaker S400 - USB -@@ -15486,7 +15485,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker V6USL - USB -@@ -15497,7 +15496,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker V6USL - USB -@@ -15508,7 +15507,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker V6USL - SCSI -@@ -15519,7 +15518,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker V300 - Parport -@@ -15530,7 +15529,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker V300 - SCSI -@@ -15541,7 +15540,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker V310 - Parport -@@ -15552,7 +15551,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker V310 - SCSI -@@ -15563,7 +15562,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker V600 - Parport -@@ -15574,7 +15573,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker V600 - SCSI -@@ -15585,7 +15584,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker X6 - SCSI -@@ -15596,7 +15595,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker X6EL - SCSI -@@ -15607,7 +15606,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker X6USB - USB -@@ -15618,7 +15617,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanMaker X12USL - SCSI -@@ -15629,7 +15628,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - ScanPort 3000 - USB -@@ -15651,7 +15650,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - SlimScan C6 - USB -@@ -15662,7 +15661,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - -

    Manufacturer: Minolta

    -@@ -15689,7 +15688,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Dimage Scan Dual II - USB -@@ -15700,7 +15699,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Dimage Scan Dual III - USB -@@ -15711,7 +15710,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Dimage Scan Elite 5400 - USB -@@ -15722,7 +15721,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Elite II - USB -@@ -15733,7 +15732,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Scan Multi Pro - SCSI -@@ -15744,7 +15743,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - -

    Manufacturer: Minolta-QMS

    -@@ -15769,7 +15768,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - SC-215 - USB -@@ -15780,7 +15779,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - -

    Manufacturer: Mitsubishi

    -@@ -15807,7 +15806,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - Diamondview 650U - USB -@@ -15818,7 +15817,7 @@ artec_eplus48u
    (unmaintained) - SnapScan -
    (1.4) - --sane-snapscan -+sane-snapscan - - MCA-ADFC - SCSI -@@ -15829,7 +15828,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - S600C - SCSI -@@ -15840,7 +15839,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - S1200C - SCSI -@@ -15851,7 +15850,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - SS600 - SCSI -@@ -15862,7 +15861,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - -

    Manufacturer: Mustek

    -@@ -15889,7 +15888,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - 600 III EP Plus - Parport (EPP) -@@ -15900,7 +15899,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - 1200 III EP - Parport -@@ -15933,7 +15932,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - BearPaw 1200 - USB -@@ -15944,7 +15943,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - BearPaw 1200 CS - USB -@@ -15955,7 +15954,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 1200 CU - USB -@@ -15966,7 +15965,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 1200 CU Plus - USB -@@ -15977,7 +15976,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 1200 CU Plus - USB -@@ -15988,7 +15987,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 1200 F - USB -@@ -15999,7 +15998,7 @@ artec_eplus48u
    (unmaintained) - ma1509 -
    (1.0-3) - --sane-ma1509 -+sane-ma1509 - - BearPaw 1200 TA - USB -@@ -16010,7 +16009,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 1248 CU - USB -@@ -16021,7 +16020,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 2400 - USB -@@ -16032,7 +16031,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - BearPaw 2400 CS - USB -@@ -16043,7 +16042,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 2400 CS Plus - USB -@@ -16054,7 +16053,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 2400 CU - USB -@@ -16065,7 +16064,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 2400 CU Plus - USB -@@ -16076,7 +16075,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 2400 TA - USB -@@ -16087,7 +16086,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 2400 TA Plus - USB -@@ -16098,7 +16097,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 2400 TA Pro - USB -@@ -16120,7 +16119,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 2448 CU Pro - USB -@@ -16142,7 +16141,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - BearPaw 2448TA Pro - USB -@@ -16153,7 +16152,7 @@ artec_eplus48u
    (unmaintained) - mustek_usb2 -
    (1.0-10) - --sane-mustek_usb2 -+sane-mustek_usb2 - - BearPaw 4800 TA Pro - USB -@@ -16197,7 +16196,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon 600 II ED - Parport -@@ -16208,7 +16207,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon 600 II EP - Parport -@@ -16219,7 +16218,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon 600 II N - Proprietary -@@ -16230,7 +16229,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon 800 II EP - Parport -@@ -16252,7 +16251,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon 1200 A3 Pro - SCSI -@@ -16263,7 +16262,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon 1200 III SP - SCSI -@@ -16274,7 +16273,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon 1200 LS - SCSI -@@ -16285,7 +16284,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon 1200 SP Pro - SCSI -@@ -16296,7 +16295,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon MFC-600S - SCSI -@@ -16307,7 +16306,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon MFC-800S - SCSI -@@ -16318,7 +16317,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon MFS-1200SP - SCSI -@@ -16329,7 +16328,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon MFS-6000CX - SCSI -@@ -16340,7 +16339,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon MFS-6000SP - SCSI -@@ -16351,7 +16350,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon MFS-8000SP - SCSI -@@ -16362,7 +16361,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon MFS-12000CX - SCSI -@@ -16373,7 +16372,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Paragon MFS-12000SP - SCSI -@@ -16384,7 +16383,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Plug-n-Scan 2400 M - USB -@@ -16395,7 +16394,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Plug-n-Scan 2400 MT - USB -@@ -16406,7 +16405,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - ScanExpress 600 CP - Parport (EPP) -@@ -16417,7 +16416,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - ScanExpress 600 CU - USB -@@ -16428,7 +16427,7 @@ artec_eplus48u
    (unmaintained) - mustek_usb -
    (1.0-18) - --sane-mustek_usb -+sane-mustek_usb - - ScanExpress 600 SEP - Parport (EPP) -@@ -16439,7 +16438,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - ScanExpress 600 USB - USB -@@ -16461,7 +16460,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - ScanExpress 1200 CP+ - Parport (EPP) -@@ -16472,7 +16471,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - ScanExpress 1200 CU - USB -@@ -16483,7 +16482,7 @@ artec_eplus48u
    (unmaintained) - mustek_usb -
    (1.0-18) - --sane-mustek_usb -+sane-mustek_usb - - ScanExpress 1200 CU Plus - USB -@@ -16494,7 +16493,7 @@ artec_eplus48u
    (unmaintained) - mustek_usb -
    (1.0-18) - --sane-mustek_usb -+sane-mustek_usb - - ScanExpress 1200 FS - SCSI -@@ -16505,7 +16504,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - ScanExpress 1200 UB - USB -@@ -16516,7 +16515,7 @@ artec_eplus48u
    (unmaintained) - mustek_usb -
    (1.0-18) - --sane-mustek_usb -+sane-mustek_usb - - ScanExpress 1200 UB Plus - USB -@@ -16527,7 +16526,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - ScanExpress 1200 USB - USB -@@ -16560,7 +16559,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - ScanExpress 2400 USB - USB -@@ -16571,7 +16570,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - ScanExpress 6000 P - Parport (EPP) -@@ -16582,7 +16581,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - ScanExpress 6000SP - SCSI -@@ -16593,7 +16592,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - ScanExpress 12000 P - Parport -@@ -16615,7 +16614,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - ScanExpress 12000SP Plus - SCSI -@@ -16626,7 +16625,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - ScanExpress A3 EP - Parport -@@ -16648,7 +16647,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - ScanExpress A3 USB - USB -@@ -16659,7 +16658,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - ScanExpress CardSmart - USB -@@ -16681,7 +16680,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - ScanMagic 600 II SP - SCSI -@@ -16692,7 +16691,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - ScanMagic 1200 UB Plus - USB -@@ -16703,7 +16702,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - ScanMagic 4800 P - Parport (EPP) -@@ -16714,7 +16713,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - ScanMagic 4830S - SCSI -@@ -16725,7 +16724,7 @@ artec_eplus48u
    (unmaintained) - teco2 -
    (1.0-9) - --sane-teco2 -+sane-teco2 - - ScanMagic 9636P - Parport -@@ -16747,7 +16746,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - ScanMagic 9636S Plus - SCSI -@@ -16758,7 +16757,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - TwainScan II SP - SCSI -@@ -16769,7 +16768,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - -

    Manufacturer: NeatReceipts

    -@@ -16794,7 +16793,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Scanalizer Professional 2.5 - USB -@@ -16805,7 +16804,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - -

    Manufacturer: NEC

    -@@ -16832,7 +16831,7 @@ artec_eplus48u
    (unmaintained) - nec -
    (0.12) - --sane-nec -+sane-nec - - Petiscan - USB -@@ -16868,7 +16867,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - -

    Manufacturer: Nikon

    -@@ -16895,7 +16894,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - AX-210 - SCSI -@@ -16906,7 +16905,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Coolscan III - SCSI -@@ -16916,7 +16915,7 @@ artec_eplus48u
    (unmaintained) - - coolscan3
    (1.0.0) - --sane-coolscan3 -+sane-coolscan3 - - Coolscan V ED - USB -@@ -16926,7 +16925,7 @@ coolscan3
    (1.0.0) - - coolscan3
    (1.0.0) - --sane-coolscan3 -+sane-coolscan3 - - Coolscan V ED - USB -@@ -16937,7 +16936,7 @@ coolscan3
    (1.0.0) - coolscan2 -
    (0.1.8) - --sane-coolscan2 -+sane-coolscan2 - - Coolspan IV - USB -@@ -16947,7 +16946,7 @@ coolscan3
    (1.0.0) - - coolscan3
    (1.0.0) - --sane-coolscan3 -+sane-coolscan3 - - LS 30 - SCSI -@@ -16957,7 +16956,7 @@ coolscan3
    (1.0.0) - - coolscan3
    (1.0.0) - --sane-coolscan3 -+sane-coolscan3 - - LS 30 - SCSI -@@ -16968,7 +16967,7 @@ coolscan3
    (1.0.0) - coolscan2 -
    (0.1.8) - --sane-coolscan2 -+sane-coolscan2 - - LS 40 ED - USB -@@ -16978,7 +16977,7 @@ coolscan3
    (1.0.0) - - coolscan3
    (1.0.0) - --sane-coolscan3 -+sane-coolscan3 - - LS 40 ED - USB -@@ -16989,7 +16988,7 @@ coolscan3
    (1.0.0) - coolscan2 -
    (0.1.8) - --sane-coolscan2 -+sane-coolscan2 - - LS 50 ED - USB -@@ -16999,7 +16998,7 @@ coolscan3
    (1.0.0) - - coolscan3
    (1.0.0) - --sane-coolscan3 -+sane-coolscan3 - - LS 50 ED - USB -@@ -17010,7 +17009,7 @@ coolscan3
    (1.0.0) - coolscan2 -
    (0.1.8) - --sane-coolscan2 -+sane-coolscan2 - - LS 2000 - SCSI -@@ -17020,7 +17019,7 @@ coolscan3
    (1.0.0) - - coolscan3
    (1.0.0) - --sane-coolscan3 -+sane-coolscan3 - - LS 2000 - SCSI -@@ -17031,7 +17030,7 @@ coolscan3
    (1.0.0) - coolscan2 -
    (0.1.8) - --sane-coolscan2 -+sane-coolscan2 - - LS 4000 ED - IEEE-1394 -@@ -17041,7 +17040,7 @@ coolscan3
    (1.0.0) - - coolscan3
    (1.0.0) - --sane-coolscan3 -+sane-coolscan3 - - LS 4000 ED - IEEE-1394 -@@ -17052,7 +17051,7 @@ coolscan3
    (1.0.0) - coolscan2 -
    (0.1.8) - --sane-coolscan2 -+sane-coolscan2 - - LS 8000 ED - IEEE-1394 -@@ -17062,7 +17061,7 @@ coolscan3
    (1.0.0) - - coolscan3
    (1.0.0) - --sane-coolscan3 -+sane-coolscan3 - - LS 8000 ED - IEEE-1394 -@@ -17073,7 +17072,7 @@ coolscan3
    (1.0.0) - coolscan2 -
    (0.1.8) - --sane-coolscan2 -+sane-coolscan2 - - LS-20 - SCSI -@@ -17084,7 +17083,7 @@ coolscan3
    (1.0.0) - coolscan -
    (0.4.3) - --sane-coolscan -+sane-coolscan - - LS-30 - SCSI -@@ -17095,7 +17094,7 @@ coolscan3
    (1.0.0) - coolscan -
    (0.4.3) - --sane-coolscan -+sane-coolscan - - LS-1000 - SCSI -@@ -17106,7 +17105,7 @@ coolscan3
    (1.0.0) - coolscan -
    (0.4.3) - --sane-coolscan -+sane-coolscan - - LS-2000 - SCSI -@@ -17117,7 +17116,7 @@ coolscan3
    (1.0.0) - coolscan -
    (0.4.3) - --sane-coolscan -+sane-coolscan - - LS-9000 ED - IEEE-1394 -@@ -17138,7 +17137,7 @@ coolscan3
    (1.0.0) - - coolscan3
    (1.0.0) - --sane-coolscan3 -+sane-coolscan3 - - Super Coolscan LS-5000 ED - USB -@@ -17149,7 +17148,7 @@ coolscan3
    (1.0.0) - coolscan2 -
    (0.1.8) - --sane-coolscan2 -+sane-coolscan2 - - -

    Manufacturer: Nortek

    -@@ -17174,7 +17173,7 @@ coolscan3
    (1.0.0) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - -

    Manufacturer: OKI

    -@@ -17199,7 +17198,7 @@ coolscan3
    (1.0.0) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - -

    Manufacturer: Olivetti

    -@@ -17394,7 +17393,7 @@ coolscan3
    (1.0.0) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Diamond 1200 Plus - USB -@@ -17405,7 +17404,7 @@ coolscan3
    (1.0.0) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Diamond 1200 Plus - USB -@@ -17416,7 +17415,7 @@ coolscan3
    (1.0.0) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Diamond 2450 - USB -@@ -17427,7 +17426,7 @@ coolscan3
    (1.0.0) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - -

    Manufacturer: Panasonic

    -@@ -17453,7 +17452,7 @@ coolscan3
    (1.0.0) - - kvs1025
    (unmaintained) - --sane-kvs1025 -+sane-kvs1025 - - KV-S1025C - USB -@@ -17463,7 +17462,7 @@ kvs1025
    (unmaintained) - - kvs1025
    (unmaintained) - --sane-kvs1025 -+sane-kvs1025 - - KV-S1045C - USB -@@ -17473,7 +17472,7 @@ kvs1025
    (unmaintained) - - kvs1025
    (unmaintained) - --sane-kvs1025 -+sane-kvs1025 - - KV-S2025C - SCSI -@@ -17484,7 +17483,7 @@ kvs1025
    (unmaintained) - matsushita -
    (1.0-7) - --sane-matsushita -+sane-matsushita - - KV-S2026C - USB SCSI -@@ -17494,7 +17493,7 @@ kvs1025
    (unmaintained) - - kvs20xx
    (unmaintained) - --sane-kvs20xx -+sane-kvs20xx - - KV-S2028C - USB -@@ -17504,7 +17503,7 @@ kvs20xx
    (unmaintained) - - kvs20xx
    (unmaintained) - --sane-kvs20xx -+sane-kvs20xx - - KV-S2045C - SCSI -@@ -17515,7 +17514,7 @@ kvs20xx
    (unmaintained) - matsushita -
    (1.0-7) - --sane-matsushita -+sane-matsushita - - KV-S2046C - USB SCSI -@@ -17525,7 +17524,7 @@ kvs20xx
    (unmaintained) - - kvs20xx
    (unmaintained) - --sane-kvs20xx -+sane-kvs20xx - - KV-S2048C - USB -@@ -17535,7 +17534,7 @@ kvs20xx
    (unmaintained) - - kvs20xx
    (unmaintained) - --sane-kvs20xx -+sane-kvs20xx - - KV-S2055L - SCSI -@@ -17568,7 +17567,7 @@ kvs20xx
    (unmaintained) - matsushita -
    (1.0-7) - --sane-matsushita -+sane-matsushita - - KV-S2065W - SCSI -@@ -17633,7 +17632,7 @@ kvs20xx
    (unmaintained) - - kvs40xx
    (unmaintained) - --sane-kvs40xx -+sane-kvs40xx - - KV-S4085C - USB -@@ -17643,7 +17642,7 @@ kvs40xx
    (unmaintained) - - kvs40xx
    (unmaintained) - --sane-kvs40xx -+sane-kvs40xx - - KV-S6040W - SCSI -@@ -17708,7 +17707,7 @@ kvs40xx
    (unmaintained) - - kvs40xx
    (unmaintained) - --sane-kvs40xx -+sane-kvs40xx - - KV-SS25 - SCSI -@@ -17719,7 +17718,7 @@ kvs40xx
    (unmaintained) - matsushita -
    (1.0-7) - --sane-matsushita -+sane-matsushita - - KV-SS25D - SCSI -@@ -17730,7 +17729,7 @@ kvs40xx
    (unmaintained) - matsushita -
    (1.0-7) - --sane-matsushita -+sane-matsushita - - KV-SS50 - SCSI -@@ -17741,7 +17740,7 @@ kvs40xx
    (unmaintained) - matsushita -
    (1.0-7) - --sane-matsushita -+sane-matsushita - - KV-SS50EX - SCSI -@@ -17752,7 +17751,7 @@ kvs40xx
    (unmaintained) - matsushita -
    (1.0-7) - --sane-matsushita -+sane-matsushita - - KV-SS55 - SCSI -@@ -17763,7 +17762,7 @@ kvs40xx
    (unmaintained) - matsushita -
    (1.0-7) - --sane-matsushita -+sane-matsushita - - KV-SS55EX - SCSI -@@ -17774,7 +17773,7 @@ kvs40xx
    (unmaintained) - matsushita -
    (1.0-7) - --sane-matsushita -+sane-matsushita - - KV-SS080 - USB -@@ -17785,7 +17784,7 @@ kvs40xx
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - KV-SS850 - SCSI -@@ -17796,7 +17795,7 @@ kvs40xx
    (unmaintained) - matsushita -
    (1.0-7) - --sane-matsushita -+sane-matsushita - - KV-SS855 - SCSI -@@ -17807,7 +17806,7 @@ kvs40xx
    (unmaintained) - matsushita -
    (1.0-7) - --sane-matsushita -+sane-matsushita - - KV-SS905C - SCSI -@@ -17845,7 +17844,7 @@ kvs40xx
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - DSmobile 600 - USB -@@ -17856,7 +17855,7 @@ kvs40xx
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - DSmobile USB - USB -@@ -17950,7 +17949,7 @@ kvs40xx
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - ScanAce 636S - SCSI -@@ -17961,7 +17960,7 @@ kvs40xx
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - ScanAce 1230S - SCSI -@@ -17972,7 +17971,7 @@ kvs40xx
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - ScanAce 1236S - SCSI -@@ -17983,7 +17982,7 @@ kvs40xx
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - ScanAce II - SCSI -@@ -17994,7 +17993,7 @@ kvs40xx
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - ScanAce II Plus - SCSI -@@ -18005,7 +18004,7 @@ kvs40xx
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - ScanAce III - SCSI -@@ -18016,7 +18015,7 @@ kvs40xx
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - ScanAce III Plus - SCSI -@@ -18027,7 +18026,7 @@ kvs40xx
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - ScanAce Plus - SCSI -@@ -18038,7 +18037,7 @@ kvs40xx
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - ScanAce ScanMedia - SCSI -@@ -18049,7 +18048,7 @@ kvs40xx
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - ScanAce ScanMedia II - SCSI -@@ -18060,7 +18059,7 @@ kvs40xx
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - ScanAce V - SCSI -@@ -18071,7 +18070,7 @@ kvs40xx
    (unmaintained) - pie -
    (1.0) - --sane-pie -+sane-pie - - -

    Manufacturer: PIOTECH

    -@@ -18098,7 +18097,7 @@ kvs40xx
    (unmaintained) - teco3 -
    (1.0-1) - --sane-teco3 -+sane-teco3 - - -

    Manufacturer: PLANon

    -@@ -18174,7 +18173,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - OptiCard 600+ - USB -@@ -18196,7 +18195,7 @@ kvs40xx
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - OpticFilm 7200 - USB -@@ -18229,7 +18228,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro 1212U - USB -@@ -18240,7 +18239,7 @@ kvs40xx
    (unmaintained) - u12 -
    (0.02) - --sane-u12 -+sane-u12 - - OpticPro 1236P - Parport (SPP, EPP) -@@ -18251,7 +18250,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro 1248U - USB -@@ -18262,7 +18261,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - OpticPro 1248U - USB -@@ -18273,7 +18272,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - OpticPro 2400SP - SCSI -@@ -18284,7 +18283,7 @@ kvs40xx
    (unmaintained) - teco3 -
    (1.0-1) - --sane-teco3 -+sane-teco3 - - OpticPro 4800P - Parport (SPP, EPP) -@@ -18295,7 +18294,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro 4830P - Parport (SPP, EPP) -@@ -18306,7 +18305,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro 4831P - Parport (SPP, EPP) -@@ -18317,7 +18316,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro 9600P - Parport (SPP, EPP) -@@ -18328,7 +18327,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro 9630P - Parport (SPP, EPP) -@@ -18339,7 +18338,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro 9630PL - Parport (SPP, EPP) -@@ -18350,7 +18349,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro 9636P - Parport (SPP, EPP) -@@ -18361,7 +18360,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro 9636P+/Turbo - Parport (SPP, EPP) -@@ -18372,7 +18371,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro 9636T - Parport (SPP, EPP) -@@ -18383,7 +18382,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro 12000P/96000P - Parport (SPP, EPP) -@@ -18394,7 +18393,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro 12000T - Parport (SPP, EPP) -@@ -18405,7 +18404,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro 19200S - SCSI -@@ -18416,7 +18415,7 @@ kvs40xx
    (unmaintained) - artec -
    (unmaintained) - --sane-artec -+sane-artec - - OpticPro A3U - USB -@@ -18438,7 +18437,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro P8 - Parport -@@ -18449,7 +18448,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro P12 - Parport (SPP, EPP) -@@ -18460,7 +18459,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro PT12 - Parport (SPP, EPP) -@@ -18471,7 +18470,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - OpticPro S6 - USB -@@ -18504,7 +18503,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - OpticPro S24 - USB -@@ -18526,7 +18525,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - OpticPro S28 - USB -@@ -18559,7 +18558,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - OpticPro ST16 - USB -@@ -18647,7 +18646,7 @@ kvs40xx
    (unmaintained) - u12 -
    (0.02) - --sane-u12 -+sane-u12 - - OpticPro U12 - USB -@@ -18658,7 +18657,7 @@ kvs40xx
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - OpticPro U16B - USB -@@ -18669,7 +18668,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - OpticPro U16B+ - USB -@@ -18680,7 +18679,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - OpticPro U24 - USB -@@ -18691,7 +18690,7 @@ kvs40xx
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - OpticPro U24 - USB -@@ -18702,7 +18701,7 @@ kvs40xx
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - OpticPro UA18 - USB -@@ -18724,7 +18723,7 @@ kvs40xx
    (unmaintained) - u12 -
    (0.02) - --sane-u12 -+sane-u12 - - OpticPro UT12 - USB -@@ -18735,7 +18734,7 @@ kvs40xx
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - OpticPro UT12 - USB -@@ -18746,7 +18745,7 @@ kvs40xx
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - OpticPro UT16 - USB -@@ -18757,7 +18756,7 @@ kvs40xx
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - OpticPro UT16B - USB -@@ -18768,7 +18767,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - OpticPro UT24 - USB -@@ -18779,7 +18778,7 @@ kvs40xx
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - OpticSlim 500 - USB -@@ -18801,7 +18800,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - OpticSlim 2400 - USB -@@ -18812,7 +18811,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - OpticSlim 2400 plus - USB -@@ -18823,7 +18822,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - OpticSlim 2420 - USB -@@ -18856,7 +18855,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - OpticWorks 2000 - Parport -@@ -19015,7 +19014,7 @@ kvs40xx
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - Q-Scan USB201 (A6 portable scanner) - USB -@@ -19026,7 +19025,7 @@ kvs40xx
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - -

    Manufacturer: Primax

    -@@ -19086,7 +19085,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - Colorado Direct 600 - Parport -@@ -19130,7 +19129,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - Compact 4800 Direct-30 - Parport (SPP, EPP) -@@ -19141,7 +19140,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - Compact 4800 SCSI - SCSI -@@ -19152,7 +19151,7 @@ kvs40xx
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Compact 9600 Direct-30 - Parport (SPP, EPP) -@@ -19163,7 +19162,7 @@ kvs40xx
    (unmaintained) - plustek_pp -
    (0.43) - --sane-plustek_pp -+sane-plustek_pp - - G2-300 - USB -@@ -19251,7 +19250,7 @@ kvs40xx
    (unmaintained) - teco2 -
    (1.0-9) - --sane-teco2 -+sane-teco2 - - OneTouch 5300 - Parport -@@ -19284,7 +19283,7 @@ kvs40xx
    (unmaintained) - p5 -
    (1) - --sane-p5 -+sane-p5 - - Primascan Colorado 2600u - USB -@@ -19306,7 +19305,7 @@ kvs40xx
    (unmaintained) - teco2 -
    (1.0-9) - --sane-teco2 -+sane-teco2 - - Profi 19200 - SCSI -@@ -19317,7 +19316,7 @@ kvs40xx
    (unmaintained) - teco2 -
    (1.0-9) - --sane-teco2 -+sane-teco2 - - ReadyScan 636i - USB -@@ -19489,7 +19488,7 @@ kvs40xx
    (unmaintained) - teco2 -
    (1.0-9) - --sane-teco2 -+sane-teco2 - - APOLLO Express 6 - SCSI -@@ -19500,7 +19499,7 @@ kvs40xx
    (unmaintained) - teco2 -
    (1.0-9) - --sane-teco2 -+sane-teco2 - - AVEC 2400 - SCSI -@@ -19511,7 +19510,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - AVEC 2412 - SCSI -@@ -19522,7 +19521,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - AVEC 4800 - SCSI -@@ -19533,7 +19532,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - AVEC 4816 - SCSI -@@ -19544,7 +19543,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - AVEC II E3 - Parport -@@ -19566,7 +19565,7 @@ kvs40xx
    (unmaintained) - teco2 -
    (1.0-9) - --sane-teco2 -+sane-teco2 - - AVEC Super 3 - SCSI -@@ -19577,7 +19576,7 @@ kvs40xx
    (unmaintained) - teco2 -
    (1.0-9) - --sane-teco2 -+sane-teco2 - - Eclipse 1200U - USB -@@ -19610,7 +19609,7 @@ kvs40xx
    (unmaintained) - teco3 -
    (1.0-1) - --sane-teco3 -+sane-teco3 - - RELI 2400 - SCSI -@@ -19621,7 +19620,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - RELI 2412 - SCSI -@@ -19632,7 +19631,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - RELI 4816 - SCSI -@@ -19643,7 +19642,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - RELI 4830 - SCSI -@@ -19654,7 +19653,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - RELI 9600 - SCSI -@@ -19665,7 +19664,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - RELI 9612 - SCSI -@@ -19676,7 +19675,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - RELI 9624 - SCSI -@@ -19687,7 +19686,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - RELI 9630 - SCSI -@@ -19698,7 +19697,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - RELI DS6 - SCSI -@@ -19709,7 +19708,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - RELI DS15 - SCSI -@@ -19720,7 +19719,7 @@ kvs40xx
    (unmaintained) - teco1 -
    (1.0-10) - --sane-teco1 -+sane-teco1 - - SCORPIO Pro - SCSI -@@ -19731,7 +19730,7 @@ kvs40xx
    (unmaintained) - teco2 -
    (1.0-9) - --sane-teco2 -+sane-teco2 - - SCORPIO Pro-S - SCSI -@@ -19742,7 +19741,7 @@ kvs40xx
    (unmaintained) - teco2 -
    (1.0-9) - --sane-teco2 -+sane-teco2 - - SCORPIO Super 3 - SCSI -@@ -19753,7 +19752,7 @@ kvs40xx
    (unmaintained) - teco2 -
    (1.0-9) - --sane-teco2 -+sane-teco2 - - Scorpio Ultra 3 - USB -@@ -19789,7 +19788,7 @@ kvs40xx
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - RevScan Orange R48Ti - USB -@@ -19800,7 +19799,7 @@ kvs40xx
    (unmaintained) - u12 -
    (0.02) - --sane-u12 -+sane-u12 - - -

    Manufacturer: Ricoh

    -@@ -19827,7 +19826,7 @@ kvs40xx
    (unmaintained) - ibm -
    (1.0-4) - --sane-ibm -+sane-ibm - - IS-410 - SCSI -@@ -19838,7 +19837,7 @@ kvs40xx
    (unmaintained) - hs2p -
    (1.00) - --sane-hs2p -+sane-hs2p - - IS-420 - SCSI -@@ -19849,7 +19848,7 @@ kvs40xx
    (unmaintained) - ibm -
    (1.0-4) - --sane-ibm -+sane-ibm - - IS-430 - SCSI -@@ -19860,7 +19859,7 @@ kvs40xx
    (unmaintained) - ibm -
    (1.0-4) - --sane-ibm -+sane-ibm - - IS-430 - SCSI -@@ -19871,7 +19870,7 @@ kvs40xx
    (unmaintained) - hs2p -
    (1.00) - --sane-hs2p -+sane-hs2p - - IS450 - SCSI -@@ -19882,7 +19881,7 @@ kvs40xx
    (unmaintained) - hs2p -
    (1.00) - --sane-hs2p -+sane-hs2p - - Ricoh IS50 - SCSI -@@ -19892,7 +19891,7 @@ kvs40xx
    (unmaintained) - - ricoh
    (unmaintained) - --sane-ricoh -+sane-ricoh - - Ricoh IS60 - SCSI -@@ -19902,7 +19901,7 @@ ricoh
    (unmaintained) - - ricoh
    (unmaintained) - --sane-ricoh -+sane-ricoh - - -

    Manufacturer: Samsung

    -@@ -19928,7 +19927,7 @@ ricoh
    (unmaintained) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-2160 - USB -@@ -19938,7 +19937,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-3160 - USB -@@ -19948,7 +19947,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-3170fn (CLX-3170 Series) - USB -@@ -19958,7 +19957,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-3175FW - USB -@@ -19968,7 +19967,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-3185 - USB -@@ -19978,7 +19977,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-3300 Series - USB -@@ -19988,7 +19987,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-4190 - USB -@@ -19998,7 +19997,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-6200 - USB -@@ -20008,7 +20007,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-6220 - USB -@@ -20018,7 +20017,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-6240 - USB -@@ -20028,7 +20027,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-6250 - USB -@@ -20038,7 +20037,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-6260 - USB -@@ -20048,7 +20047,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-8380 - USB -@@ -20058,7 +20057,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-8385 - USB -@@ -20068,7 +20067,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-8385X - USB -@@ -20078,7 +20077,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - CLX-8540 - USB -@@ -20088,7 +20087,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - M267x 287x Series - USB -@@ -20098,7 +20097,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - M337x 387x 407x Series - USB -@@ -20108,7 +20107,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - MFP-65x - USB -@@ -20118,7 +20117,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - MFP-560 - USB -@@ -20128,7 +20127,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - MFP-750 - USB -@@ -20138,7 +20137,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4x16 - USB -@@ -20148,7 +20147,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4x20 - USB -@@ -20158,7 +20157,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4x21 - USB -@@ -20168,7 +20167,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4x26 - USB -@@ -20178,7 +20177,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-5x30 - USB -@@ -20188,7 +20187,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-6x20 - USB -@@ -20198,7 +20197,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-6x22 - USB -@@ -20208,7 +20207,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-6x45 - USB -@@ -20218,7 +20217,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-6x55 - USB -@@ -20228,7 +20227,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-6x55X - USB -@@ -20238,7 +20237,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-470x - USB -@@ -20248,7 +20247,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-681x - USB -@@ -20258,7 +20257,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-3205W (SCX-3200 Series) - USB Ethernet -@@ -20268,7 +20267,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-3400 - USB -@@ -20278,7 +20277,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-3405W - Ethernet -@@ -20288,7 +20287,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4100 - USB -@@ -20298,7 +20297,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4200 - USB -@@ -20308,7 +20307,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4300 - USB -@@ -20318,7 +20317,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4500 - USB -@@ -20328,7 +20327,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4500W - USB Ethernet -@@ -20338,7 +20337,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4600 - USB -@@ -20348,7 +20347,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4623 - USB -@@ -20358,7 +20357,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4623FW - USB -@@ -20368,7 +20367,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4650 4x21S Series - USB -@@ -20378,7 +20377,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4725FN - USB -@@ -20399,7 +20398,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4824 (SCX-4x24 Series) - USB -@@ -20409,7 +20408,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4825FN (SCX-4x25 Series) - USB -@@ -20419,7 +20418,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4828FN (SCX-4x28 Series) - USB -@@ -20429,7 +20428,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4833FD - USB -@@ -20439,7 +20438,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-4835FD - Ethernet -@@ -20449,7 +20448,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-5635 - USB -@@ -20459,7 +20458,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-5835_5935 - USB -@@ -20469,7 +20468,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-5835_5935X - USB -@@ -20479,7 +20478,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-6545 - USB -@@ -20489,7 +20488,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX-6545X - USB -@@ -20499,7 +20498,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX4725 - USB -@@ -20509,7 +20508,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SCX4725-FN - USB -@@ -20519,7 +20518,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - SF-760 - USB -@@ -20529,7 +20528,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - -

    Manufacturer: Scanport

    -@@ -20556,7 +20555,7 @@ xerox_mfp
    (1.0-13) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - SQ2030 - Parport -@@ -20567,7 +20566,7 @@ xerox_mfp
    (1.0-13) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - SQ4836 - SCSI -@@ -20578,7 +20577,7 @@ xerox_mfp
    (1.0-13) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - -

    Manufacturer: Scanshell

    -@@ -20630,7 +20629,7 @@ xerox_mfp
    (1.0-13) - sceptre -
    (1.0-10) - --sane-sceptre -+sane-sceptre - - -

    Manufacturer: Sharp

    -@@ -20657,7 +20656,7 @@ xerox_mfp
    (1.0-13) - sharp -
    (0.32) - --sane-sharp -+sane-sharp - - JX-320 - SCSI -@@ -20668,7 +20667,7 @@ xerox_mfp
    (1.0-13) - sharp -
    (0.32) - --sane-sharp -+sane-sharp - - JX-325 - SCSI -@@ -20679,7 +20678,7 @@ xerox_mfp
    (1.0-13) - sharp -
    (0.32) - --sane-sharp -+sane-sharp - - JX-330 - SCSI -@@ -20690,7 +20689,7 @@ xerox_mfp
    (1.0-13) - sharp -
    (0.32) - --sane-sharp -+sane-sharp - - JX-350 - SCSI -@@ -20701,7 +20700,7 @@ xerox_mfp
    (1.0-13) - sharp -
    (0.32) - --sane-sharp -+sane-sharp - - JX-610 - SCSI -@@ -20712,7 +20711,7 @@ xerox_mfp
    (1.0-13) - sharp -
    (0.32) - --sane-sharp -+sane-sharp - - -

    Manufacturer: Sicos

    -@@ -20763,7 +20762,7 @@ xerox_mfp
    (1.0-13) - - s9036
    (unmaintained) - --sane-s9036 -+sane-s9036 - - Cherry FingerTIP ID Board - Sensor - USB -@@ -20795,7 +20794,7 @@ s9036
    (unmaintained) - - agfafocus
    (unmaintained) - --sane-agfafocus -+sane-agfafocus - - ST400 - SCSI -@@ -20806,7 +20805,7 @@ agfafocus
    (unmaintained) - st400 -
    (1.6) - --sane-st400 -+sane-st400 - - ST800 - SCSI -@@ -20817,7 +20816,7 @@ agfafocus
    (unmaintained) - st400 -
    (1.6) - --sane-st400 -+sane-st400 - - -

    Manufacturer: SmartDisk

    -@@ -20917,7 +20916,7 @@ agfafocus
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - DocketPort 485 - USB -@@ -20928,7 +20927,7 @@ agfafocus
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - DocketPort 665 - USB -@@ -20939,7 +20938,7 @@ agfafocus
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - DocketPort 685/ Ambir DS685 - USB -@@ -20950,7 +20949,7 @@ agfafocus
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - TravelScan 460/464 - USB -@@ -20961,7 +20960,7 @@ agfafocus
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - TravelScan 662 - USB -@@ -20972,7 +20971,7 @@ agfafocus
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - TravelScan FS-531 - USB -@@ -21029,7 +21028,7 @@ agfafocus
    (unmaintained) - - tamarack
    (unmaintained) - --sane-tamarack -+sane-tamarack - - Artiscan 8000C - SCSI -@@ -21039,7 +21038,7 @@ tamarack
    (unmaintained) - - tamarack
    (unmaintained) - --sane-tamarack -+sane-tamarack - - Artiscan 9600 - Parport -@@ -21071,7 +21070,7 @@ tamarack
    (unmaintained) - - tamarack
    (unmaintained) - --sane-tamarack -+sane-tamarack - - -

    Manufacturer: Targa

    -@@ -21096,7 +21095,7 @@ tamarack
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - Funline TS12 EP - Parport (EPP) -@@ -21107,7 +21106,7 @@ tamarack
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - -

    Manufacturer: TCE

    -@@ -21225,7 +21224,7 @@ tamarack
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - -

    Manufacturer: Trust

    -@@ -21252,7 +21251,7 @@ tamarack
    (unmaintained) - - artec_eplus48u
    (unmaintained) - --sane-artec_eplus48u -+sane-artec_eplus48u - - 240TH Easy Webscan Gold - USB -@@ -21263,7 +21262,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - CombiScan 19200 - Parport USB -@@ -21285,7 +21284,7 @@ artec_eplus48u
    (unmaintained) - mustek_usb -
    (1.0-18) - --sane-mustek_usb -+sane-mustek_usb - - Compact Scan USB 19200 - USB -@@ -21296,7 +21295,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Direct WebScan 19200 - USB -@@ -21307,7 +21306,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Easy Connect 9600+ - Parport (EPP) -@@ -21318,7 +21317,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - Easy Connect 19200+ - Parport (EPP) -@@ -21329,7 +21328,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - Easy Scan 9600 Plus - Parport -@@ -21340,7 +21339,7 @@ artec_eplus48u
    (unmaintained) - as6e -
    (0.5) - --sane-as6e -+sane-as6e - - Easy Webscan 19200 - USB -@@ -21350,7 +21349,7 @@ artec_eplus48u
    (unmaintained) - - artec_eplus48u
    (unmaintained) - --sane-artec_eplus48u -+sane-artec_eplus48u - - EasyScan 19200 - Parport -@@ -21372,7 +21371,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Imagery 1200 - SCSI -@@ -21383,7 +21382,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Imagery 1200 SP - SCSI -@@ -21394,7 +21393,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Imagery 2400 SP - SCSI -@@ -21405,7 +21404,7 @@ artec_eplus48u
    (unmaintained) - teco3 -
    (1.0-1) - --sane-teco3 -+sane-teco3 - - Imagery 4800 SP - SCSI -@@ -21416,7 +21415,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - Imagery 4800 SP+ - SCSI -@@ -21427,7 +21426,7 @@ artec_eplus48u
    (unmaintained) - teco3 -
    (1.0-1) - --sane-teco3 -+sane-teco3 - - Imagery 9600 SP - SCSI -@@ -21438,7 +21437,7 @@ artec_eplus48u
    (unmaintained) - teco3 -
    (1.0-1) - --sane-teco3 -+sane-teco3 - - Office Scan USB 19200 - USB -@@ -21449,7 +21448,7 @@ artec_eplus48u
    (unmaintained) - niash -
    (0.3) - --sane-niash -+sane-niash - - SCSI Connect 19200 - SCSI -@@ -21460,7 +21459,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - SCSI excellence series 19200 - SCSI -@@ -21471,7 +21470,7 @@ artec_eplus48u
    (unmaintained) - mustek -
    (1.0-138) - --sane-mustek -+sane-mustek - - SCSI Scan 19200 -Excellence Series- - SCSI -@@ -21509,7 +21508,7 @@ artec_eplus48u
    (unmaintained) - umax_pp -
    (1) - --sane-umax_pp -+sane-umax_pp - - Astra 600S - SCSI -@@ -21520,7 +21519,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Astra 610P - Parport (SPP/ECP) -@@ -21531,7 +21530,7 @@ artec_eplus48u
    (unmaintained) - umax_pp -
    (1) - --sane-umax_pp -+sane-umax_pp - - Astra 610S - SCSI -@@ -21542,7 +21541,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Astra 1200S - SCSI -@@ -21553,7 +21552,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Astra 1220P - Parport (EPP/ECP) -@@ -21564,7 +21563,7 @@ artec_eplus48u
    (unmaintained) - umax_pp -
    (1) - --sane-umax_pp -+sane-umax_pp - - Astra 1220S - SCSI -@@ -21575,7 +21574,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Astra 1220U - USB -@@ -21586,7 +21585,7 @@ artec_eplus48u
    (unmaintained) - umax1220u -
    (unmaintained) - --sane-umax1220u -+sane-umax1220u - - Astra 1600P - Parport (EPP/ECP) -@@ -21597,7 +21596,7 @@ artec_eplus48u
    (unmaintained) - umax_pp -
    (1) - --sane-umax_pp -+sane-umax_pp - - Astra 1600U - USB -@@ -21608,7 +21607,7 @@ artec_eplus48u
    (unmaintained) - umax1220u -
    (unmaintained) - --sane-umax1220u -+sane-umax1220u - - Astra 2000P - Parport (EPP/ECP) -@@ -21619,7 +21618,7 @@ artec_eplus48u
    (unmaintained) - umax_pp -
    (1) - --sane-umax_pp -+sane-umax_pp - - Astra 2000U - USB -@@ -21630,7 +21629,7 @@ artec_eplus48u
    (unmaintained) - umax1220u -
    (unmaintained) - --sane-umax1220u -+sane-umax1220u - - Astra 2100S - SCSI -@@ -21641,7 +21640,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Astra 2100U - USB -@@ -21652,7 +21651,7 @@ artec_eplus48u
    (unmaintained) - umax1220u -
    (unmaintained) - --sane-umax1220u -+sane-umax1220u - - Astra 2200 (SU) - USB -@@ -21663,7 +21662,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Astra 2200 (SU) - SCSI -@@ -21674,7 +21673,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Astra 2400S - SCSI -@@ -21685,7 +21684,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Astra 2500 - USB -@@ -21762,7 +21761,7 @@ artec_eplus48u
    (unmaintained) - rts8891 -
    (1.0-0) - --sane-rts8891 -+sane-rts8891 - - Astra 4450 - USB -@@ -21773,7 +21772,7 @@ artec_eplus48u
    (unmaintained) - rts8891 -
    (1.0-0) - --sane-rts8891 -+sane-rts8891 - - Astra 4500 - USB -@@ -21817,7 +21816,7 @@ artec_eplus48u
    (unmaintained) - hp3900 -
    (0.12) - --sane-hp3900 -+sane-hp3900 - - Astra 6400 - IEEE-1394 -@@ -21828,7 +21827,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Astra 6450 - IEEE-1394 -@@ -21839,7 +21838,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Astra 6700 - USB -@@ -21861,7 +21860,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Astra MX3 - SCSI -@@ -21872,7 +21871,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - AstraSlim - USB -@@ -21904,7 +21903,7 @@ artec_eplus48u
    (unmaintained) - - artec_eplus48u
    (unmaintained) - --sane-artec_eplus48u -+sane-artec_eplus48u - - AstraSlim 6000 - USB -@@ -21925,7 +21924,7 @@ artec_eplus48u
    (unmaintained) - - artec_eplus48u
    (unmaintained) - --sane-artec_eplus48u -+sane-artec_eplus48u - - Gemini D-16 - SCSI -@@ -21936,7 +21935,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Mirage D-16L - SCSI -@@ -21947,7 +21946,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Mirage II - SCSI -@@ -21958,7 +21957,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Mirage IIse - SCSI -@@ -21969,7 +21968,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Nete3470' - Parport -@@ -21991,7 +21990,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - PowerLook - SCSI -@@ -22002,7 +22001,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Powerlook 180 - USB -@@ -22024,7 +22023,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - PowerLook 270plus - SCSI -@@ -22035,7 +22034,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Powerlook 1000 USB - USB -@@ -22057,7 +22056,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - PowerLook 2000 - SCSI -@@ -22068,7 +22067,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - PowerLook 2100XL - SCSI -@@ -22079,7 +22078,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - PowerLook 3000 - SCSI -@@ -22090,7 +22089,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - PowerLook III - SCSI -@@ -22101,7 +22100,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - PSD - SCSI -@@ -22112,7 +22111,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Supervista S-12 - SCSI -@@ -22123,7 +22122,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - UC 630 - SCSI -@@ -22134,7 +22133,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - UC 840 - SCSI -@@ -22145,7 +22144,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - UC 1200S - SCSI -@@ -22156,7 +22155,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - UC 1200SE - SCSI -@@ -22167,7 +22166,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - UC 1260 - SCSI -@@ -22178,7 +22177,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - UG 80 - SCSI -@@ -22189,7 +22188,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - UG 630 - SCSI -@@ -22200,7 +22199,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - UMAX 3400 - USB -@@ -22211,7 +22210,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - UMAX 3400 - USB -@@ -22222,7 +22221,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - UMAX 3450 - USB -@@ -22233,7 +22232,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - UMAX 5400 - USB -@@ -22244,7 +22243,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - UMAX Astranet ia101 - USB -@@ -22255,7 +22254,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - UMAX S-6E - SCSI -@@ -22266,7 +22265,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - UMAX S-6EG - SCSI -@@ -22277,7 +22276,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - UMAX S-12 - SCSI -@@ -22288,7 +22287,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - UMAX S-12G - SCSI -@@ -22299,7 +22298,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - UMAX VT600 - SCSI -@@ -22310,7 +22309,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Vista S6 - SCSI -@@ -22321,7 +22320,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Vista S6E - SCSI -@@ -22332,7 +22331,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Vista-S8 - SCSI -@@ -22343,7 +22342,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - Vista-T630 - SCSI -@@ -22354,7 +22353,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - -

    Manufacturer: Vantas

    -@@ -22439,7 +22438,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - 9420 - USB -@@ -22461,7 +22460,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - 9450 USB - USB -@@ -22483,7 +22482,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - 9550 - USB -@@ -22494,7 +22493,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - 9650 - USB -@@ -22505,7 +22504,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - 9650-G - USB -@@ -22516,7 +22515,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - 9750 - USB -@@ -22527,7 +22526,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - 9750-G - USB -@@ -22538,7 +22537,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuImage 620S - SCSI -@@ -22670,7 +22669,7 @@ artec_eplus48u
    (unmaintained) - gt68xx -
    (1.0-84) - --sane-gt68xx -+sane-gt68xx - - Onetouch 7700 - USB -@@ -22824,7 +22823,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Patriot 470 - USB -@@ -22835,7 +22834,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Patriot 680 - USB -@@ -22846,7 +22845,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Patriot 780 - USB -@@ -22857,7 +22856,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Roadwarrior - USB -@@ -22868,7 +22867,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - Strobe Pro USB - USB -@@ -22890,7 +22889,7 @@ artec_eplus48u
    (unmaintained) - plustek -
    (0.52) - --sane-plustek -+sane-plustek - - Strobe XP 100,r3 - USB -@@ -22901,7 +22900,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - Strobe XP 200 - USB -@@ -22912,7 +22911,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - Strobe XP 300 - USB -@@ -22923,7 +22922,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - Strobe XP 450 - USB -@@ -22934,7 +22933,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Strobe XP 450-G - USB -@@ -22945,7 +22944,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Strobe XP 470 - USB -@@ -22956,7 +22955,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Strobe XP 470-G - USB -@@ -22967,7 +22966,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Visioneer OneTouch 7100 - USB -@@ -22978,7 +22977,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - WorkCentre 470cx - Parport -@@ -23080,7 +23079,7 @@ artec_eplus48u
    (unmaintained) - mustek_pp -
    (13) - --sane-mustek_pp -+sane-mustek_pp - - -

    Manufacturer: Vobis

    -@@ -23107,7 +23106,7 @@ artec_eplus48u
    (unmaintained) - microtek2 -
    (unmaintained) - --sane-microtek2 -+sane-microtek2 - - Highscreen Realscan - SCSI -@@ -23118,7 +23117,7 @@ artec_eplus48u
    (unmaintained) - microtek -
    (0.13.1) - --sane-microtek -+sane-microtek - - Highscreen Scanboostar Premium - SCSI -@@ -23129,7 +23128,7 @@ artec_eplus48u
    (unmaintained) - umax -
    (1.0-41) - --sane-umax -+sane-umax - - -

    Manufacturer: Vuego

    -@@ -23160,7 +23159,7 @@ artec_eplus48u
    (unmaintained) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - DocuMate150 - USB -@@ -23171,7 +23170,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate152 - USB -@@ -23182,7 +23181,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate162 - USB -@@ -23193,7 +23192,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate232 - USB -@@ -23204,7 +23203,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate250 - USB -@@ -23215,7 +23214,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate250-G - USB -@@ -23226,7 +23225,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate252 - USB -@@ -23237,7 +23236,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate252-G - USB -@@ -23248,7 +23247,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate262 - USB -@@ -23259,7 +23258,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate262-G - USB -@@ -23270,7 +23269,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate262i - USB -@@ -23281,7 +23280,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate272 - USB -@@ -23292,7 +23291,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate272-G - USB -@@ -23303,7 +23302,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate510 - USB -@@ -23314,7 +23313,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate510-G - USB -@@ -23325,7 +23324,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate512 - USB -@@ -23336,7 +23335,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate520 - USB -@@ -23347,7 +23346,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate520-G - USB -@@ -23358,7 +23357,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate632 - USB -@@ -23369,7 +23368,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate752 - USB -@@ -23380,7 +23379,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - DocuMate752 - USB -@@ -23391,7 +23390,7 @@ artec_eplus48u
    (unmaintained) - avision -
    (Build: 296) - --sane-avision -+sane-avision - - Phaser 3200MFP - USB -@@ -23401,7 +23400,7 @@ artec_eplus48u
    (unmaintained) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - Phaser 6110MFP - USB -@@ -23411,7 +23410,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - Travel Scanner 100 - USB -@@ -23422,7 +23421,7 @@ xerox_mfp
    (1.0-13) - genesys -
    (1.0-63) - --sane-genesys -+sane-genesys - - WorkCentre 3119 Series - USB -@@ -23432,7 +23431,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - WorkCentre 3210 - USB -@@ -23442,7 +23441,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - WorkCentre 3220 - USB -@@ -23452,7 +23451,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - WorkCentre 4118 Series - USB -@@ -23462,7 +23461,7 @@ xerox_mfp
    (1.0-13) - - xerox_mfp
    (1.0-13) - --sane-xerox_mfp -+sane-xerox_mfp - - -

    Manufacturer: Yakumo

    -@@ -23488,7 +23487,7 @@ xerox_mfp
    (1.0-13) - - artec_eplus48u
    (unmaintained) - --sane-artec_eplus48u -+sane-artec_eplus48u - - -

    Still Cameras

    -@@ -23519,7 +23518,7 @@ artec_eplus48u
    (unmaintained) - dc25 -
    (1.2) - --sane-dc25 -+sane-dc25 - - DC25 - Serial port -@@ -23530,7 +23529,7 @@ artec_eplus48u
    (unmaintained) - dc25 -
    (1.2) - --sane-dc25 -+sane-dc25 - - DC210 - Serial port -@@ -23541,7 +23540,7 @@ artec_eplus48u
    (unmaintained) - dc210 -
    (0.0) - --sane-dc210 -+sane-dc210 - - DC240 - Serial port -@@ -23552,7 +23551,7 @@ artec_eplus48u
    (unmaintained) - dc240 -
    (0.0) - --sane-dc240 -+sane-dc240 - - -

    Manufacturer: Polaroid

    -@@ -23578,7 +23577,7 @@ artec_eplus48u
    (unmaintained) - - dmc
    (unmaintained) - --sane-dmc -+sane-dmc - - -

    Video Cameras

    -@@ -23614,7 +23613,7 @@ dmc
    (unmaintained) - stv680 -
    (1.0-1) - --sane-stv680 -+sane-stv680 - - -

    Manufacturer: Biolux

    -@@ -23663,7 +23662,7 @@ dmc
    (unmaintained) - - qcam
    (unmaintained) - --sane-qcam -+sane-qcam - - Greyscale QuickCam - Parport -@@ -23673,7 +23672,7 @@ qcam
    (unmaintained) - - qcam
    (unmaintained) - --sane-qcam -+sane-qcam - - -

    Manufacturer: Creative

    -@@ -23700,7 +23699,7 @@ qcam
    (unmaintained) - stv680 -
    (1.0-1) - --sane-stv680 -+sane-stv680 - - -

    Manufacturer: Digital Dream

    -@@ -23727,7 +23726,7 @@ qcam
    (unmaintained) - stv680 -
    (1.0-1) - --sane-stv680 -+sane-stv680 - - -

    Manufacturer: Grandtek Scopecam

    -@@ -23779,7 +23778,7 @@ qcam
    (unmaintained) - stv680 -
    (1.0-1) - --sane-stv680 -+sane-stv680 - - -

    APIs

    -@@ -23795,7 +23794,7 @@ qcam
    (unmaintained) -

    - Link(s): - mailto:peter@fales-lorenz.net
    --Manual page: sane-gphoto2
    -+Manual page:sane-gphoto2
    - Description: Multiple cameras supported by the gphoto2 libraries
    - Comment: The long-term plan is to support all the cameras supported by the gphoto2 libraries (currently over 140 models). However, at this stage, only a handful of cameras are definitely known to work with SANE. Other cameras will probably work if the native file format is EXIF or JPEG. Testers welcome!
    -

    -@@ -23803,7 +23802,7 @@ qcam
    (unmaintained) - (unmaintained) - -

    --Manual page: sane-pint
    -+Manual page:sane-pint
    - Description: Scanners with the machine-independent PINT interface
    - Comment: Haven't been tested for a long time. Handle with care.
    -

    -@@ -23813,7 +23812,7 @@ qcam
    (unmaintained) -

    - Link(s): - mailto:henning@meier-geinitz.de
    --Manual page: sane-pnm
    -+Manual page:sane-pnm
    - Description: Reads PNM files
    - Comment: Used for debugging frontends. Obsolete, use test backend instead.
    -

    -@@ -23823,7 +23822,7 @@ qcam
    (unmaintained) -

    - Link(s): - http://www.meier-geinitz.de/sane/test-backend/
    --Manual page: sane-test
    -+Manual page:sane-test
    - Description: Frontend-tester
    - Comment: Backend for testing frontends. Also serves as example for SANE backend options.
    -

    -@@ -23833,7 +23832,7 @@ qcam
    (unmaintained) -

    - Link(s): - mailto:henning@meier-geinitz.de
    --Manual page: sane-v4l
    -+Manual page:sane-v4l
    - Description: Interface to Video For Linux API
    - Comment: Supports video cameras and other devices accessed by the v4l kernel API, e.g. bttv devices. Quite a lot of known bugs.
    -

    -@@ -23847,7 +23846,7 @@ qcam
    (unmaintained) -

    - Link(s): - mailto:henning@meier-geinitz.de
    --Manual page: sane-dll
    -+Manual page:sane-dll
    - Description: Dynamic loading of shared-library backends.
    -

    -

    Backend: net -@@ -23856,7 +23855,7 @@ qcam
    (unmaintained) -

    - Link(s): - http://www.penguin-breeder.org/?page=sane-net
    --Manual page: sane-net
    -+Manual page:sane-net
    - Description: Network access to saned servers
    - Comment: Can be used to access any scanner supported by SANE over the net. Supports IPv4 and IPv6.
    -

    diff --git a/debian/patches/0720-mustek_usb2-Avoid-stack-smashing.patch b/debian/patches/0720-mustek_usb2-Avoid-stack-smashing.patch deleted file mode 100644 index 747bcde..0000000 --- a/debian/patches/0720-mustek_usb2-Avoid-stack-smashing.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 93340afddfbc4085a5297fe635b65dd7f7f3ef05 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Bernhard=20=C3=9Cbelacker?= -Date: Mon, 17 Dec 2018 00:05:43 +0100 -Subject: [PATCH] mustek_usb2: Avoid stack smashing. Fixes #35 - -Use a properly sized variable in call to sanei_usb_{read,write}_bulk. - -Debian-Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886777 -Debian-Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907972 ---- - backend/mustek_usb2_asic.c | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -diff --git a/backend/mustek_usb2_asic.c b/backend/mustek_usb2_asic.c -index b5f3b0a4..b31c7494 100644 ---- a/backend/mustek_usb2_asic.c -+++ b/backend/mustek_usb2_asic.c -@@ -255,6 +255,7 @@ Mustek_DMARead (PAsic chip, unsigned int size, SANE_Byte * lpdata) - STATUS status = STATUS_GOOD; - unsigned int i, buf[1]; - unsigned int read_size; -+ size_t read_size_usb; - - DBG (DBG_ASIC, "Mustek_DMARead: Enter\n"); - -@@ -268,9 +269,11 @@ Mustek_DMARead (PAsic chip, unsigned int size, SANE_Byte * lpdata) - SetRWSize (chip, 1, buf[0]); - status = WriteIOControl (chip, 0x03, 0, 4, (SANE_Byte *) (buf)); - -+ read_size_usb = buf[0]; - status = - sanei_usb_read_bulk (chip->fd, lpdata + i * read_size, -- (size_t *) buf); -+ &read_size_usb); -+ buf[0] = read_size_usb; - if (status != STATUS_GOOD) - { - DBG (DBG_ERR, "Mustek_DMARead: read error\n"); -@@ -284,9 +287,11 @@ Mustek_DMARead (PAsic chip, unsigned int size, SANE_Byte * lpdata) - SetRWSize (chip, 1, buf[0]); - status = WriteIOControl (chip, 0x03, 0, 4, (SANE_Byte *) (buf)); - -+ read_size_usb = buf[0]; - status = - sanei_usb_read_bulk (chip->fd, lpdata + i * read_size, -- (size_t *) buf); -+ &read_size_usb); -+ buf[0] = read_size_usb; - if (status != STATUS_GOOD) - { - DBG (DBG_ERR, "Mustek_DMARead: read error\n"); -@@ -307,6 +312,7 @@ Mustek_DMAWrite (PAsic chip, unsigned int size, SANE_Byte * lpdata) - unsigned int buf[1]; - unsigned int i; - unsigned int write_size; -+ size_t write_size_usb; - - DBG (DBG_ASIC, "Mustek_DMAWrite: Enter:size=%d\n", size); - -@@ -320,9 +326,11 @@ Mustek_DMAWrite (PAsic chip, unsigned int size, SANE_Byte * lpdata) - SetRWSize (chip, 0, buf[0]); - WriteIOControl (chip, 0x02, 0, 4, (SANE_Byte *) buf); - -+ write_size_usb = buf[0]; - status = - sanei_usb_write_bulk (chip->fd, lpdata + i * write_size, -- (size_t *) buf); -+ &write_size_usb); -+ buf[0] = write_size_usb; - if (status != STATUS_GOOD) - { - DBG (DBG_ERR, "Mustek_DMAWrite: write error\n"); -@@ -337,9 +345,11 @@ Mustek_DMAWrite (PAsic chip, unsigned int size, SANE_Byte * lpdata) - SetRWSize (chip, 0, buf[0]); - WriteIOControl (chip, 0x02, 0, 4, (SANE_Byte *) buf); - -+ write_size_usb = buf[0]; - status = - sanei_usb_write_bulk (chip->fd, lpdata + i * write_size, -- (size_t *) buf); -+ &write_size_usb); -+ buf[0] = write_size_usb; - if (status != STATUS_GOOD) - { - DBG (DBG_ERR, "Mustek_DMAWrite: write error\n"); --- -2.18.1 - diff --git a/debian/patches/series b/debian/patches/series index e99d249..370ae4d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,30 +1,10 @@ -#0005-libsane_deps.patch -#0010-unneeded_doc.patch -#0015-frontend_libs.patch -##0020-nousbtest.patch -##0025-multiarch_manpages_libdir.patch -#0030-ppc64el.patch -0040-remove_git.patch 0035-trim-libraries-in-sane-backends.pc.in.patch +0040-remove_git.patch 0100-source_spelling.patch -#0105-hp3900.patch -#0110-dll_backend_conf.patch -#0115-license_typo.patch -#0120-typo.patch +0140-avahi.patch +0145-avahi.patch 0600-scanimage_manpage.patch -#0605-man_typo.patch 0700-mk_reproducible_results.patch 0705-kfreebsd.patch -##0710-sane-desc.c_debian_mods.patch -##0125-multiarch_dll_search_path.patch -#0135-saned-remotescanners.patch -#0500-CVE-2017-6318.patch -0140-avahi.patch -0145-avahi.patch -##0100-source_spelling.patch -##0150-genesys-Fix-use-of-uninitialized-variable.patch -#0130-usb-timeout.patch 0715-20-sane.hwdb_multi-arch.patch -##0720-mustek_usb2-Avoid-stack-smashing.patch 0725-fix_link_60-libsane_rule.patch -##0155-genesys_gl847.patch diff --git a/debian/sane-utils.lintian-overrides b/debian/sane-utils.lintian-overrides deleted file mode 100644 index 2be92a2..0000000 --- a/debian/sane-utils.lintian-overrides +++ /dev/null @@ -1,4 +0,0 @@ -# -# /etc/init.d/saned exists -# -#sane-utils: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/saned@.service -- cgit v1.2.3 From 28817121693bd13a1bb38cef5a65da7301b90ab7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 15 Feb 2020 22:58:56 +0100 Subject: Add some Bug Closes --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 1502c15..299b1c7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,6 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium - * New upstream release. + * New upstream release (Closes: #951213, #942727, #944998). - New debian/patches/0040-remove_git.patch to remove git access at build time. - Refresh patches: -- cgit v1.2.3 From 6affcdf6a6bac4418a25c1e64909a001bd4b5e25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 15 Feb 2020 23:21:46 +0100 Subject: Reuse debian/patches/0125-multiarch_dll_search_path.patch --- debian/changelog | 3 +- .../patches/0125-multiarch_dll_search_path.patch | 45 ++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 debian/patches/0125-multiarch_dll_search_path.patch diff --git a/debian/changelog b/debian/changelog index 299b1c7..59f4474 100644 --- a/debian/changelog +++ b/debian/changelog @@ -63,8 +63,9 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium debian/not-installed. * Fix autopkgtest. * Remove unused files and patches. + * Reuse debian/patches/0125-multiarch_dll_search_path.patch (Closes: #931297). - -- Jörg Frings-Fürst Sat, 15 Feb 2020 21:42:48 +0100 + -- Jörg Frings-Fürst Sat, 15 Feb 2020 23:20:13 +0100 sane-backends (1.0.27-3.2) unstable; urgency=medium diff --git a/debian/patches/0125-multiarch_dll_search_path.patch b/debian/patches/0125-multiarch_dll_search_path.patch new file mode 100644 index 0000000..a213060 --- /dev/null +++ b/debian/patches/0125-multiarch_dll_search_path.patch @@ -0,0 +1,45 @@ +Description: Keep /usr/lib/sane as a fallback for SANE backends + Make /usr/lib/arch_triplet/sane the default location for SANE backends, + but keep /usr/lib/sane as a fallback for now. +Author: Julien BLACHE + +Index: trunk/backend/dll.c +=================================================================== +--- trunk.orig/backend/dll.c ++++ trunk/backend/dll.c +@@ -466,7 +466,7 @@ load (struct backend *be) + + if (path) + { +- src_len = strlen (path) + strlen (DIR_SEP) + strlen(LIBDIR) + 1; ++ src_len = strlen (path) + strlen (DIR_SEP) + strlen(DEB_DLL_LIBDIR) + 1; + src = malloc (src_len); + if (!src) + { +@@ -476,11 +476,11 @@ load (struct backend *be) + if (orig_src) + free (orig_src); + orig_src = src; +- snprintf (src, src_len, "%s%s%s", path, DIR_SEP, LIBDIR); ++ snprintf (src, src_len, "%s%s%s", path, DIR_SEP, DEB_DLL_LIBDIR); + } + else + { +- src = LIBDIR; ++ src = DEB_DLL_LIBDIR; + src = strdup (src); + if (!src) + { +Index: trunk/backend/Makefile.am +=================================================================== +--- trunk.orig/backend/Makefile.am ++++ trunk/backend/Makefile.am +@@ -4,7 +4,7 @@ + ## This file is part of the "Sane" build infra-structure. See + ## included LICENSE file for license information. + +-AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include $(USB_CFLAGS) -DLIBDIR="\"$(libdir)/sane\"" ++AM_CPPFLAGS += -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include $(USB_CFLAGS) -DLIBDIR="\"$(libdir)/sane\"" -DDEB_DLL_LIBDIR="\"$(libdir)/sane:$(prefix)/lib/sane\"" + + AM_LDFLAGS += $(STRICT_LDFLAGS) + # The -rpath option is added because we are creating _LTLIBRARIES based diff --git a/debian/patches/series b/debian/patches/series index 370ae4d..2f5c253 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,6 +1,7 @@ 0035-trim-libraries-in-sane-backends.pc.in.patch 0040-remove_git.patch 0100-source_spelling.patch +0125-multiarch_dll_search_path.patch 0140-avahi.patch 0145-avahi.patch 0600-scanimage_manpage.patch -- cgit v1.2.3 From b38de5752a441bcdada0a504adbedaea297dae4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 16 Feb 2020 11:19:47 +0100 Subject: d/not-installed: Add sane-backends.pc --- debian/not-installed | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/not-installed b/debian/not-installed index fc54c72..f1fd5bb 100644 --- a/debian/not-installed +++ b/debian/not-installed @@ -2,5 +2,6 @@ usr/lib/*/sane/*.la usr/lib/*/*.la usr/share/doc/libsane/README.* usr/bin/sane-config +usr/lib/*/pkgconfig/sane-backends.pc usr/share/doc/libsane/LICENSE -usr/share/doc/libsane/COPYING +usr/share/doc/libsane/COPYING \ No newline at end of file -- cgit v1.2.3 From 69d51f97ba6cbbe63dbc11f67d096e6526230228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Tue, 17 Mar 2020 18:31:49 +0100 Subject: Remove autopkgtest --- debian/changelog | 2 +- debian/tests/control | 9 --------- debian/tests/start-net | 33 --------------------------------- 3 files changed, 1 insertion(+), 43 deletions(-) delete mode 100644 debian/tests/control delete mode 100644 debian/tests/start-net diff --git a/debian/changelog b/debian/changelog index 59f4474..80b6033 100644 --- a/debian/changelog +++ b/debian/changelog @@ -61,7 +61,7 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium * Install all docs: - New debian/libsane-common.dirs, debian/libsane-common.docs, debian/not-installed. - * Fix autopkgtest. + * Remove autopkgtest. * Remove unused files and patches. * Reuse debian/patches/0125-multiarch_dll_search_path.patch (Closes: #931297). diff --git a/debian/tests/control b/debian/tests/control deleted file mode 100644 index af31d1d..0000000 --- a/debian/tests/control +++ /dev/null @@ -1,9 +0,0 @@ -# -# control file for autopkgtests -# writen from Jörg Frings-Fürst -# -# 1. start-net -# -Tests: start-net -Depends: sane-utils, grep, coreutils -Restrictions: needs-root allow-stderr diff --git a/debian/tests/start-net b/debian/tests/start-net deleted file mode 100644 index 4ce08f1..0000000 --- a/debian/tests/start-net +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh -set -ex - -# Simple test for sane-backends. -# Author: Jörg Frings-Fürst -# dep8 restrictions: breaks-bestbed needs-root allow-stderr - - -# Enable localhost -/bin/sed -i '/localhost/d' /etc/sane.d/saned.conf -echo localhost >>/etc/sane.d/saned.conf - -# Enable pnm -/bin/sed -i 's/^#\(pnm\)$/\1/' /etc/sane.d/dll.conf - -# Enable net @ localhost -/bin/sed -i 's/^# \(localhost\)$/\1/' /etc/sane.d/net.conf - -# Enable & start saned.socket -#/bin/systemctl enable saned.socket -#/bin/systemctl start saned.socket - -# -# test -# -CNT=`/usr/bin/scanimage -d net -L | /bin/grep net: | /usr/bin/wc -l` - -if [ ${CNT} -eq 2 ] ; then - exit 0 -else - exit 100 -fi - -- cgit v1.2.3 From 9c9a3bf60c842435f6bdbabed59c5902e3882ac8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Tue, 17 Mar 2020 20:01:07 +0100 Subject: Override lintian error gzip-file-is-not-multi-arch-same-safe --- debian/changelog | 3 +++ debian/libsane-dev.lintian-overrides | 7 +++++++ debian/libsane1.lintian-overrides | 7 +++++++ 3 files changed, 17 insertions(+) create mode 100644 debian/libsane-dev.lintian-overrides diff --git a/debian/changelog b/debian/changelog index 80b6033..abf52d8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -64,6 +64,9 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium * Remove autopkgtest. * Remove unused files and patches. * Reuse debian/patches/0125-multiarch_dll_search_path.patch (Closes: #931297). + * Override lintian error gzip-file-is-not-multi-arch-same-safe: + - Update debian/libsane1.lintian-overrides. + - New debian/libsane-dev.lintian-overrides. -- Jörg Frings-Fürst Sat, 15 Feb 2020 23:20:13 +0100 diff --git a/debian/libsane-dev.lintian-overrides b/debian/libsane-dev.lintian-overrides new file mode 100644 index 0000000..db3e644 --- /dev/null +++ b/debian/libsane-dev.lintian-overrides @@ -0,0 +1,7 @@ +# +# see Bug #954146 +# +libsane-dev: gzip-file-is-not-multi-arch-same-safe usr/share/doc/libsane-dev/NEWS.Debian.gz +libsane-dev: gzip-file-is-not-multi-arch-same-safe usr/share/doc/libsane-dev/backend-writing.txt.gz +libsane-dev: gzip-file-is-not-multi-arch-same-safe usr/share/doc/libsane-dev/changelog.Debian.gz +libsane-dev: gzip-file-is-not-multi-arch-same-safe usr/share/doc/libsane-dev/changelog.gz diff --git a/debian/libsane1.lintian-overrides b/debian/libsane1.lintian-overrides index 5805464..d054496 100644 --- a/debian/libsane1.lintian-overrides +++ b/debian/libsane1.lintian-overrides @@ -4,3 +4,10 @@ libsane1: spelling-error-in-binary usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1.0.28 afe safe libsane1: spelling-error-in-binary usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1.0.28 afe safe libsane1: spelling-error-in-binary usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1.0.28 afe safe +# +# see Bug #954146 +# +libsane1: gzip-file-is-not-multi-arch-same-safe usr/share/doc/libsane1/NEWS.Debian.gz +libsane1: gzip-file-is-not-multi-arch-same-safe usr/share/doc/libsane1/README.Debian.gz +libsane1: gzip-file-is-not-multi-arch-same-safe usr/share/doc/libsane1/changelog.Debian.gz +libsane1: gzip-file-is-not-multi-arch-same-safe usr/share/doc/libsane1/changelog.gz -- cgit v1.2.3 From fef76e17ed4c607ea73b81279f9ef1d7121be900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Tue, 17 Mar 2020 20:03:01 +0100 Subject: d/changelog: Change date / time --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index abf52d8..2b344b0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -68,7 +68,7 @@ sane-backends (1.0.29-1~experimental1) experimental; urgency=medium - Update debian/libsane1.lintian-overrides. - New debian/libsane-dev.lintian-overrides. - -- Jörg Frings-Fürst Sat, 15 Feb 2020 23:20:13 +0100 + -- Jörg Frings-Fürst Tue, 17 Mar 2020 20:02:16 +0100 sane-backends (1.0.27-3.2) unstable; urgency=medium -- cgit v1.2.3